From c6c1878b13be5dfff792707109584931ba2b1614 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 12 Apr 2020 15:19:32 +0200 Subject: [PATCH 001/958] asterisk is the emphasize sign for restructured text not really needed here --- python/damask/_vtk.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 4505a5ebc..58b43dc1f 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -120,9 +120,9 @@ class VTK: Parameters ---------- fname : str - Filename for reading. Valid extensions are *.vtr, *.vtu, *.vtp, and *.vtk. + Filename for reading. Valid extensions are .vtr, .vtu, .vtp, and .vtk. dataset_type : str, optional - Name of the vtk.vtkDataSet subclass when opening an *.vtk file. Valid types are vtkRectilinearGrid, + Name of the vtk.vtkDataSet subclass when opening an .vtk file. Valid types are vtkRectilinearGrid, vtkUnstructuredGrid, and vtkPolyData. """ From b6b98bd14f56fadaae4796fcfdbd582db1cd0497 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 12 Apr 2020 15:20:09 +0200 Subject: [PATCH 002/958] more meaningful --- python/damask/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/__init__.py b/python/damask/__init__.py index 9a01e8e62..0f343a581 100644 --- a/python/damask/__init__.py +++ b/python/damask/__init__.py @@ -1,4 +1,4 @@ -"""Main aggregator.""" +"""Tools for pre and post processing of DAMASK simulations.""" import os as _os import re as _re From aaeec16c66b4729b3d5ddec147bccbbc29535b6a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 12 Apr 2020 15:34:29 +0200 Subject: [PATCH 003/958] proper indentation for sphinx --- python/damask/_orientation.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 76475e057..aa1ba06ef 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -8,8 +8,8 @@ class Orientation: Crystallographic orientation. A crystallographic orientation contains a rotation and a lattice. - """ + """ __slots__ = ['rotation','lattice'] def __repr__(self): @@ -46,8 +46,10 @@ class Orientation: Disorientation between myself and given other orientation. Rotation axis falls into SST if SST == True. - (Currently requires same symmetry for both orientations. - Look into A. Heinz and P. Neumann 1991 for cases with differing sym.) + + Currently requires same symmetry for both orientations. + Look into A. Heinz and P. Neumann 1991 for cases with differing sym. + """ if self.lattice.symmetry != other.lattice.symmetry: raise NotImplementedError('disorientation between different symmetry classes not supported yet.') From 93c75cada3b872775c78b433452cd9dfd8aefd78 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 12 Apr 2020 15:38:38 +0200 Subject: [PATCH 004/958] numpydoc style --- python/damask/_rotation.py | 39 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index bea7aa5e6..e730ed845 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -11,33 +11,32 @@ def iszero(a): class Rotation: u""" Orientation stored with functionality for conversion to different representations. + The following conventions apply: + + - coordinate frames are right-handed. + - a rotation angle ω is taken to be positive for a counterclockwise rotation + when viewing from the end point of the rotation axis towards the origin. + - rotations will be interpreted in the passive sense. + - Euler angle triplets are implemented using the Bunge convention, + with the angular ranges as [0, 2π],[0, π],[0, 2π]. + - the rotation angle ω is limited to the interval [0, π]. + - the real part of a quaternion is positive, Re(q) > 0 + - P = -1 (as default). + + Examples + -------- + Rotate vector "a" (defined in coordinate system "A") to + coordinates "b" expressed in system "B": + + - b = Q * a + - b = np.dot(Q.asMatrix(),a) References ---------- D. Rowenhorst et al., Modelling and Simulation in Materials Science and Engineering 23:083501, 2015 https://doi.org/10.1088/0965-0393/23/8/083501 - Conventions - ----------- - Convention 1: Coordinate frames are right-handed. - Convention 2: A rotation angle ω is taken to be positive for a counterclockwise rotation - when viewing from the end point of the rotation axis towards the origin. - Convention 3: Rotations will be interpreted in the passive sense. - Convention 4: Euler angle triplets are implemented using the Bunge convention, - with the angular ranges as [0, 2π],[0, π],[0, 2π]. - Convention 5: The rotation angle ω is limited to the interval [0, π]. - Convention 6: the real part of a quaternion is positive, Re(q) > 0 - Convention 7: P = -1 (as default). - - Usage - ----- - Vector "a" (defined in coordinate system "A") is passively rotated - resulting in new coordinates "b" when expressed in system "B". - b = Q * a - b = np.dot(Q.asMatrix(),a) - """ - __slots__ = ['quaternion'] def __init__(self,quaternion = np.array([1.0,0.0,0.0,0.0])): From a0b7c51bec64848e74e622d4183b341a2f170ebc Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 22 Apr 2020 23:32:34 +0200 Subject: [PATCH 005/958] less strict tolerances grid position reported by EBSD has only a few decimal places, so rounding errors occur --- python/damask/grid_filters.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/python/damask/grid_filters.py b/python/damask/grid_filters.py index d8b136a6b..4181cb7ec 100644 --- a/python/damask/grid_filters.py +++ b/python/damask/grid_filters.py @@ -211,12 +211,13 @@ def cell_coord0_gridSizeOrigin(coord0,ordered=True): start = origin + delta*.5 end = origin - delta*.5 + size - if not _np.allclose(coords[0],_np.linspace(start[0],end[0],grid[0])) and \ - _np.allclose(coords[1],_np.linspace(start[1],end[1],grid[1])) and \ - _np.allclose(coords[2],_np.linspace(start[2],end[2],grid[2])): + atol = 1e-4*_np.max(size) + if not _np.allclose(coords[0],_np.linspace(start[0],end[0],grid[0]),atol=atol) and \ + _np.allclose(coords[1],_np.linspace(start[1],end[1],grid[1]),atol=atol) and \ + _np.allclose(coords[2],_np.linspace(start[2],end[2],grid[2]),atol=atol): raise ValueError('Regular grid spacing violated.') - if ordered and not _np.allclose(coord0.reshape(tuple(grid[::-1])+(3,)),cell_coord0(grid,size,origin)): + if ordered and not _np.allclose(coord0.reshape(tuple(grid[::-1])+(3,)),cell_coord0(grid,size,origin),atol=atol): raise ValueError('Input data is not a regular grid.') return (grid,size,origin) @@ -357,12 +358,13 @@ def node_coord0_gridSizeOrigin(coord0,ordered=False): if (grid+1).prod() != len(coord0): raise ValueError('Data count {} does not match grid {}.'.format(len(coord0),grid)) - if not _np.allclose(coords[0],_np.linspace(mincorner[0],maxcorner[0],grid[0]+1)) and \ - _np.allclose(coords[1],_np.linspace(mincorner[1],maxcorner[1],grid[1]+1)) and \ - _np.allclose(coords[2],_np.linspace(mincorner[2],maxcorner[2],grid[2]+1)): + atol = _np.max(size) + if not _np.allclose(coords[0],_np.linspace(mincorner[0],maxcorner[0],grid[0]+1),atol=atol) and \ + _np.allclose(coords[1],_np.linspace(mincorner[1],maxcorner[1],grid[1]+1),atol=atol) and \ + _np.allclose(coords[2],_np.linspace(mincorner[2],maxcorner[2],grid[2]+1),atol=atol): raise ValueError('Regular grid spacing violated.') - if ordered and not _np.allclose(coord0.reshape(tuple((grid+1)[::-1])+(3,)),node_coord0(grid,size,origin)): + if ordered and not _np.allclose(coord0.reshape(tuple((grid+1)[::-1])+(3,)),node_coord0(grid,size,origin),atol=atol): raise ValueError('Input data is not a regular grid.') return (grid,size,origin) From cc3fa156cfd8dd077e9b02c2d54be3e6d4fcbc54 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 23 Apr 2020 16:29:20 +0200 Subject: [PATCH 006/958] support change of directory one object has been created --- python/damask/_result.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index a8181b7a1..b2ec4c8d3 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -80,7 +80,7 @@ class Result: 'con_physics': self.con_physics, 'mat_physics': self.mat_physics } - self.fname = fname + self.fname = os.path.abspath(fname) def __repr__(self): From f02c77b6d05c60276d2db0b44d1aa0ee6b905211 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 24 Apr 2020 20:01:57 +0200 Subject: [PATCH 007/958] more reasonable tolerance still relatively high because ctf files store position with constant number of digits and floating dot. Hence, the precision is very low --- python/damask/grid_filters.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/damask/grid_filters.py b/python/damask/grid_filters.py index 4fb1012c0..62e9147f7 100644 --- a/python/damask/grid_filters.py +++ b/python/damask/grid_filters.py @@ -237,8 +237,8 @@ def cell_coord0_gridSizeOrigin(coord0,ordered=True): start = origin + delta*.5 end = origin - delta*.5 + size - - atol = _np.max(size) + + atol = _np.max(size)*5e-2 if not (_np.allclose(coords[0],_np.linspace(start[0],end[0],grid[0]),atol=atol) and \ _np.allclose(coords[1],_np.linspace(start[1],end[1],grid[1]),atol=atol) and \ _np.allclose(coords[2],_np.linspace(start[2],end[2],grid[2]),atol=atol)): @@ -386,7 +386,7 @@ def node_coord0_gridSizeOrigin(coord0,ordered=True): if (grid+1).prod() != len(coord0): raise ValueError('Data count {} does not match grid {}.'.format(len(coord0),grid)) - atol = _np.max(size) + atol = _np.max(size)*5e-2 if not (_np.allclose(coords[0],_np.linspace(mincorner[0],maxcorner[0],grid[0]+1),atol=atol) and \ _np.allclose(coords[1],_np.linspace(mincorner[1],maxcorner[1],grid[1]+1),atol=atol) and \ _np.allclose(coords[2],_np.linspace(mincorner[2],maxcorner[2],grid[2]+1),atol=atol)): From adf5e5e99c8e9132da21bfc586192e3356cb4dc7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 25 Apr 2020 09:39:34 +0200 Subject: [PATCH 008/958] not supported at the moment --- .../Homogenization_HydrogenFlux_CahnHilliard.config | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 examples/ConfigFiles/Homogenization_HydrogenFlux_CahnHilliard.config diff --git a/examples/ConfigFiles/Homogenization_HydrogenFlux_CahnHilliard.config b/examples/ConfigFiles/Homogenization_HydrogenFlux_CahnHilliard.config deleted file mode 100644 index 62e1d2505..000000000 --- a/examples/ConfigFiles/Homogenization_HydrogenFlux_CahnHilliard.config +++ /dev/null @@ -1,3 +0,0 @@ -hydrogenflux cahnhilliard -initialHydrogenConc 0.0 -(output) hydrogenconc From 7ec1ae977ecd4f5726e59f346cba210639fd181e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 25 Apr 2020 09:56:51 +0200 Subject: [PATCH 009/958] new names spectral => grid FEM => mesh because there are FEM solvers for both discretizations. old names will be available for a certain time --- Makefile | 4 ++++ src/CMakeLists.txt | 10 +++++----- src/grid/DAMASK_grid.f90 | 4 ++-- src/mesh/DAMASK_mesh.f90 | 4 ++-- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 34ce18c52..60cf3b8e0 100644 --- a/Makefile +++ b/Makefile @@ -9,12 +9,16 @@ all: grid mesh processing .PHONY: grid grid: build/grid @(cd build/grid;make -j${DAMASK_NUM_THREADS} all install;) + @rm -f ${DAMASK_ROOT}/bin/DAMASK_spectral > /dev/null || true + @ln -s ${DAMASK_ROOT}/bin/DAMASK_grid ${DAMASK_ROOT}/bin/DAMASK_spectral .PHONY: spectral spectral: grid .PHONY: mesh mesh: build/mesh @(cd build/mesh; make -j${DAMASK_NUM_THREADS} all install;) + @rm -f ${DAMASK_ROOT}/bin/DAMASK_FEM > /dev/null || true + @ln -s ${DAMASK_ROOT}/bin/DAMASK_mesh ${DAMASK_ROOT}/bin/DAMASK_FEM .PHONY: FEM FEM: mesh diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 53c7ffc70..0cb697013 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -17,10 +17,10 @@ if (PROJECT_NAME STREQUAL "damask-grid") file(GLOB grid-sources grid/*.f90) if(NOT CMAKE_BUILD_TYPE STREQUAL "SYNTAXONLY") - add_executable(DAMASK_spectral ${damask-sources} ${grid-sources}) - install (TARGETS DAMASK_spectral RUNTIME DESTINATION bin) + add_executable(DAMASK_grid ${damask-sources} ${grid-sources}) + install (TARGETS DAMASK_grid RUNTIME DESTINATION bin) else() - add_library(DAMASK_spectral OBJECT ${damask-sources} ${grid-sources}) + add_library(DAMASK_grid OBJECT ${damask-sources} ${grid-sources}) exec_program (mktemp OUTPUT_VARIABLE nothing) exec_program (mktemp ARGS -d OUTPUT_VARIABLE black_hole) install (PROGRAMS ${nothing} DESTINATION ${black_hole}) @@ -30,7 +30,7 @@ elseif (PROJECT_NAME STREQUAL "damask-mesh") file(GLOB mesh-sources mesh/*.f90) - add_executable(DAMASK_FEM ${damask-sources} ${mesh-sources}) - install (TARGETS DAMASK_FEM RUNTIME DESTINATION bin) + add_executable(DAMASK_mesh ${damask-sources} ${mesh-sources}) + install (TARGETS DAMASK_mesh RUNTIME DESTINATION bin) endif() diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 84dc7cd51..7b3265740 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -6,7 +6,7 @@ !> @details doing cutbacking, forwarding in case of restart, reporting statistics, writing !> results !-------------------------------------------------------------------------------------------------- -program DAMASK_spectral +program DAMASK_grid #include use PETScsys use prec @@ -495,4 +495,4 @@ program DAMASK_spectral call quit(0) ! no complains ;) -end program DAMASK_spectral +end program DAMASK_grid diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index 3c9613d73..d36b27c17 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -6,7 +6,7 @@ !> @details doing cutbacking, reporting statistics, writing !> results !-------------------------------------------------------------------------------------------------- -program DAMASK_FEM +program DAMASK_mesh #include use PetscDM use prec @@ -367,4 +367,4 @@ program DAMASK_FEM call quit(0) ! no complains ;) -end program DAMASK_FEM +end program DAMASK_mesh From 0effa71276ada143e3f097e12f8719b54bb60b04 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 26 Apr 2020 08:36:16 +0200 Subject: [PATCH 010/958] cleaning large alias lists complicate things --- src/DAMASK_interface.f90 | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index 00177fb75..dceef0f7f 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -206,7 +206,7 @@ subroutine DAMASK_interface_init write(6,'(a,/)')' Valid command line switches:' write(6,'(a)') ' --geom (-g, --geometry)' write(6,'(a)') ' --load (-l, --loadcase)' - write(6,'(a)') ' --workingdir (-w, --wd, --workingdirectory, -d, --directory)' + write(6,'(a)') ' --workingdir (-w, --wd, --workingdirectory)' write(6,'(a)') ' --restart (-r, --rs)' write(6,'(a)') ' --help (-h)' write(6,'(/,a)')' -----------------------------------------------------------------------' @@ -223,12 +223,12 @@ subroutine DAMASK_interface_init write(6,'(a)') ' directory.' write(6,'(a)') ' For further configuration place "numerics.config"' write(6,'(a)')' and "debug.config" in that directory.' - write(6,'(/,a)')' --restart XX' - write(6,'(a)') ' Reads in increment XX and continues with calculating' - write(6,'(a)') ' increment XX+1 based on this.' + write(6,'(/,a)')' --restart N' + write(6,'(a)') ' Reads in increment N and continues with calculating' + write(6,'(a)') ' increment N+1 based on this.' write(6,'(a)') ' Appends to existing results file' - write(6,'(a)') ' "NameOfGeom_NameOfLoadFile".' - write(6,'(a)') ' Works only if the restart information for increment XX' + write(6,'(a)') ' "NameOfGeom_NameOfLoadFile.hdf5".' + write(6,'(a)') ' Works only if the restart information for increment N' write(6,'(a)') ' is available in the working directory.' write(6,'(/,a)')' -----------------------------------------------------------------------' write(6,'(a)') ' Help:' @@ -239,7 +239,7 @@ subroutine DAMASK_interface_init call get_command_argument(i+1,loadCaseArg) case ('-g', '--geom', '--geometry') call get_command_argument(i+1,geometryArg) - case ('-w', '-d', '--wd', '--directory', '--workingdir', '--workingdirectory') + case ('-w', '--wd', '--workingdir', '--workingdirectory') call get_command_argument(i+1,workingDirArg) case ('-r', '--rs', '--restart') call get_command_argument(i+1,arg) From 6864b9525da3eda1b4986ca31098e7a0fa1ab369 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 26 Apr 2020 14:52:27 +0200 Subject: [PATCH 011/958] go back to original dir as soon as possible --- python/damask/util.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/util.py b/python/damask/util.py index d45ea366e..cb1d8757d 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -112,8 +112,8 @@ def execute(cmd, """ initialPath = os.getcwd() - os.chdir(wd) myEnv = os.environ if env is None else env + os.chdir(wd) process = subprocess.Popen(shlex.split(cmd), stdout = subprocess.PIPE, stderr = subprocess.PIPE, @@ -121,9 +121,9 @@ def execute(cmd, env = myEnv) out,error = [i for i in (process.communicate() if streamIn is None else process.communicate(streamIn.read().encode('utf-8')))] + os.chdir(initialPath) out = out.decode('utf-8').replace('\x08','') error = error.decode('utf-8').replace('\x08','') - os.chdir(initialPath) if process.returncode != 0: raise RuntimeError('{} failed with returncode {}'.format(cmd,process.returncode)) return out,error From 9565f15415c7b9913c1f89e334481a21be767718 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 28 Apr 2020 10:30:03 +0200 Subject: [PATCH 012/958] clearer description --- src/HDF5_utilities.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/HDF5_utilities.f90 b/src/HDF5_utilities.f90 index 66705cc3f..a0c3b4e81 100644 --- a/src/HDF5_utilities.f90 +++ b/src/HDF5_utilities.f90 @@ -81,7 +81,7 @@ contains !-------------------------------------------------------------------------------------------------- -!> @brief open libary and do sanity checks +!> @brief initialize HDF5 libary and do sanity checks !-------------------------------------------------------------------------------------------------- subroutine HDF5_utilities_init From d99c05860e940238e15ea1e4d154c87b011912b7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 28 Apr 2020 10:35:43 +0200 Subject: [PATCH 013/958] FEM is now Mesh --- CMakeLists.txt | 2 +- src/CPFEM2.f90 | 6 +++--- src/numerics.f90 | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f6870137f..99807ed72 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,7 +110,7 @@ if (DAMASK_SOLVER STREQUAL "grid") message ("Building Grid Solver\n") elseif (DAMASK_SOLVER STREQUAL "fem" OR DAMASK_SOLVER STREQUAL "mesh") project (damask-mesh Fortran C) - add_definitions (-DFEM) + add_definitions (-DMesh) message ("Building Mesh Solver\n") else () message (FATAL_ERROR "Build target (DAMASK_SOLVER) is not defined") diff --git a/src/CPFEM2.f90 b/src/CPFEM2.f90 index 357bcce9f..dea500900 100644 --- a/src/CPFEM2.f90 +++ b/src/CPFEM2.f90 @@ -21,7 +21,7 @@ module CPFEM2 use homogenization use constitutive use crystallite -#if defined(FEM) +#if defined(Mesh) use FEM_quadrature use discretization_mesh #elif defined(Grid) @@ -42,7 +42,7 @@ subroutine CPFEM_initAll call DAMASK_interface_init ! Spectral and FEM interface to commandline call prec_init call IO_init -#ifdef FEM +#ifdef Mesh call FEM_quadrature_init #endif call numerics_init @@ -53,7 +53,7 @@ subroutine CPFEM_initAll call lattice_init call HDF5_utilities_init call results_init -#if defined(FEM) +#if defined(Mesh) call discretization_mesh_init #elif defined(Grid) call discretization_grid_init diff --git a/src/numerics.f90 b/src/numerics.f90 index 8d242c71d..b0163aee3 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -63,8 +63,8 @@ module numerics #endif !-------------------------------------------------------------------------------------------------- -! FEM parameters: -#ifdef FEM +! Mesh parameters: +#ifdef Mesh integer, protected, public :: & integrationOrder = 2, & !< order of quadrature rule required structOrder = 2 !< order of displacement shape functions @@ -200,8 +200,8 @@ subroutine numerics_init #endif !-------------------------------------------------------------------------------------------------- -! FEM parameters -#ifdef FEM +! Mesh parameters +#ifdef Mesh case ('integrationorder') integrationorder = IO_intValue(line,chunkPos,2) case ('structorder') @@ -267,7 +267,7 @@ subroutine numerics_init !-------------------------------------------------------------------------------------------------- ! spectral parameters -#ifdef FEM +#ifdef Mesh write(6,'(a24,1x,i8)') ' integrationOrder: ',integrationOrder write(6,'(a24,1x,i8)') ' structOrder: ',structOrder write(6,'(a24,1x,L8)') ' B-Bar stabilisation: ',BBarStabilisation From 81b3dc74d559e67a53772daea63961a1945d185d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 28 Apr 2020 19:07:17 +0200 Subject: [PATCH 014/958] default value needed (fcc/bcc) thanks to Richard (TU Delft) and Vitesh for reporting --- src/constitutive_plastic_phenopowerlaw.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index 12a30478a..fa273cbd3 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -160,7 +160,7 @@ module subroutine plastic_phenopowerlaw_init config%getFloats('interaction_twintwin'), & config%getString('lattice_structure')) prm%gamma_twin_char = lattice_characteristicShear_twin(N_tw,config%getString('lattice_structure'),& - config%getFloat('c/a')) + config%getFloat('c/a',defaultVal=0.0_pReal)) xi_twin_0 = config%getFloats('tau0_twin',requiredSize=size(N_tw)) From 5a4a7393b9c5b647434994bc5a64a64da69b355f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 28 Apr 2020 19:17:34 +0200 Subject: [PATCH 015/958] statements belong together --- src/lattice.f90 | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lattice.f90 b/src/lattice.f90 index 120c58a15..b1e286f97 100644 --- a/src/lattice.f90 +++ b/src/lattice.f90 @@ -2304,7 +2304,6 @@ subroutine unitTest system = reshape([1.0_pReal+r(1),0.0_pReal,0.0_pReal, 0.0_pReal,1.0_pReal+r(2),0.0_pReal],[6,1]) CoSy = buildCoordinateSystem([1],[1],system,'fcc',0.0_pReal) - if(any(dNeq(CoSy(1:3,1:3,1),math_I3))) & call IO_error(0) From a24ddbab48db3546a1360a72f29b05f24f012e33 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 29 Apr 2020 11:50:43 +0200 Subject: [PATCH 016/958] python is replaced by python3 on newer systems --- Makefile | 2 +- env/DAMASK.csh | 2 +- env/DAMASK.sh | 2 +- env/DAMASK.zsh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 60cf3b8e0..9a1a41856 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ SHELL = /bin/sh ######################################################################################## # Makefile for the installation of DAMASK ######################################################################################## -DAMASK_ROOT = $(shell python -c "import os,sys; print(os.path.normpath(os.path.realpath(os.path.expanduser('$(pwd)'))))") +DAMASK_ROOT = $(shell python3 -c "import os,sys; print(os.path.normpath(os.path.realpath(os.path.expanduser('$(pwd)'))))") .PHONY: all all: grid mesh processing diff --git a/env/DAMASK.csh b/env/DAMASK.csh index a669a4ea0..98693d6b2 100644 --- a/env/DAMASK.csh +++ b/env/DAMASK.csh @@ -3,7 +3,7 @@ set CALLED=($_) set ENV_ROOT=`dirname $CALLED[2]` -set DAMASK_ROOT=`python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" $ENV_ROOT"/../"` +set DAMASK_ROOT=`python3 -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" $ENV_ROOT"/../"` source $ENV_ROOT/CONFIG diff --git a/env/DAMASK.sh b/env/DAMASK.sh index aed99b3bc..5c3d2ba85 100644 --- a/env/DAMASK.sh +++ b/env/DAMASK.sh @@ -2,7 +2,7 @@ # usage: source DAMASK.sh function canonicalPath { - python -c "import os,sys; print(os.path.normpath(os.path.realpath(os.path.expanduser(sys.argv[1]))))" $1 + python3 -c "import os,sys; print(os.path.normpath(os.path.realpath(os.path.expanduser(sys.argv[1]))))" $1 } function blink { diff --git a/env/DAMASK.zsh b/env/DAMASK.zsh index 8769bac34..831268a7e 100644 --- a/env/DAMASK.zsh +++ b/env/DAMASK.zsh @@ -2,7 +2,7 @@ # usage: source DAMASK.zsh function canonicalPath { - python -c "import os,sys; print(os.path.normpath(os.path.realpath(os.path.expanduser(sys.argv[1]))))" $1 + python3 -c "import os,sys; print(os.path.normpath(os.path.realpath(os.path.expanduser(sys.argv[1]))))" $1 } function blink { From 59c5fbc5fe948269fbddf9aa4d841986c484adca Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 30 Apr 2020 08:05:42 +0200 Subject: [PATCH 017/958] position independent code required for Fedora 32 --- CMakeLists.txt | 2 +- cmake/Compiler-GNU.cmake | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 99807ed72..708d8aa3c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,7 +108,7 @@ if (DAMASK_SOLVER STREQUAL "grid") project (damask-grid Fortran C) add_definitions (-DGrid) message ("Building Grid Solver\n") -elseif (DAMASK_SOLVER STREQUAL "fem" OR DAMASK_SOLVER STREQUAL "mesh") +elseif (DAMASK_SOLVER STREQUAL "mesh") project (damask-mesh Fortran C) add_definitions (-DMesh) message ("Building Mesh Solver\n") diff --git a/cmake/Compiler-GNU.cmake b/cmake/Compiler-GNU.cmake index 2e8e5841c..589850af6 100644 --- a/cmake/Compiler-GNU.cmake +++ b/cmake/Compiler-GNU.cmake @@ -25,6 +25,9 @@ set (LINKER_FLAGS "${LINKER_FLAGS},-undefined,dynamic_lookup" ) set (COMPILE_FLAGS "${COMPILE_FLAGS} -xf95-cpp-input") # preprocessor +set (COMPILE_FLAGS "${COMPILE_FLAGS} -fPIC -fPIE") +# position independent conde + set (COMPILE_FLAGS "${COMPILE_FLAGS} -ffree-line-length-132") # restrict line length to the standard 132 characters (lattice.f90 require more characters) From f0bb50b97d6cd9897cdeb261a14158164f9d0c30 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 2 May 2020 15:16:26 +0200 Subject: [PATCH 018/958] vectorized rotation function --- python/damask/_rotation.py | 42 ++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 716977a79..f442561cf 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -83,7 +83,7 @@ class Rotation: Todo ---- Document details active/passive) - considere rotation of (3,3,3,3)-matrix + consider rotation of (3,3,3,3)-matrix """ if self.quaternion.shape != (4,): @@ -99,9 +99,7 @@ class Rotation: elif isinstance(other, (tuple,np.ndarray)): if isinstance(other,tuple) or other.shape == (3,): # rotate a single (3)-vector or meshgrid A = self.quaternion[0]**2.0 - np.dot(self.quaternion[1:],self.quaternion[1:]) - B = 2.0 * ( self.quaternion[1]*other[0] - + self.quaternion[2]*other[1] - + self.quaternion[3]*other[2]) + B = 2.0 * np.dot(self.quaternion[1:],other) C = 2.0 * _P*self.quaternion[0] return np.array([ @@ -119,6 +117,42 @@ class Rotation: return NotImplemented + def __matmul__(self, other): + """ + Rotation. + + details to be discussed + """ + shape = self.quaternion.shape[:-1] + + if isinstance(other, Rotation): # rotate a rotation + q_m = self.quaternion[...,0].reshape(shape+(1,)) + p_m = self.quaternion[...,1:] + q_o = other.quaternion[...,0].reshape(shape+(1,)) + p_o = other.quaternion[...,1:] + q = (q_m*q_o - np.einsum('...i,...i',p_m,p_o).reshape(shape+(1,))) + p = q_m*p_m + q_o*p_m + _P * np.cross(p_m,p_o) + return self.__class__(np.block([q,p])).standardize() + + elif isinstance(other,np.ndarray): + if shape + (3,) == other.shape: + q_m = self.quaternion[...,0] + p_m = self.quaternion[...,1:] + A = q_m**2.0 - np.einsum('...i,...i',p_m,p_m) + B = 2.0 * np.einsum('...i,...i',p_m,p_m) + C = 2.0 * _P * q_m + return np.block([(A * other[...,i]).reshape(shape+(1,)) + + (B * p_m[...,i]).reshape(shape+(1,)) + + (C * ( p_m[...,(i+1)%3]*other[...,(i+2)%3]\ + - p_m[...,(i+2)%3]*other[...,(i+1)%3])).reshape(shape+(1,)) + for i in [0,1,2]]) + if shape + (3,3) == other.shape: + R = self.asMatrix() + return np.einsum('...im,...jn,...mn',R,R,other) + if shape + (3,3,3,3) == other.shape: + R = self.asMatrix() + return np.einsum('...im,...jn,...ko,...lp,...mnop',R,R,R,R,other) + def inverse(self): """In-place inverse rotation/backward rotation.""" self.quaternion[...,1:] *= -1 From 03f671d12aec8015862c6988d7efdd490146b091 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 5 May 2020 09:35:28 +0200 Subject: [PATCH 019/958] do not report error if linking does not work required for syntax check --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 9a1a41856..f7b783c61 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ all: grid mesh processing grid: build/grid @(cd build/grid;make -j${DAMASK_NUM_THREADS} all install;) @rm -f ${DAMASK_ROOT}/bin/DAMASK_spectral > /dev/null || true - @ln -s ${DAMASK_ROOT}/bin/DAMASK_grid ${DAMASK_ROOT}/bin/DAMASK_spectral + @ln -s ${DAMASK_ROOT}/bin/DAMASK_grid ${DAMASK_ROOT}/bin/DAMASK_spectral || true .PHONY: spectral spectral: grid @@ -18,7 +18,7 @@ spectral: grid mesh: build/mesh @(cd build/mesh; make -j${DAMASK_NUM_THREADS} all install;) @rm -f ${DAMASK_ROOT}/bin/DAMASK_FEM > /dev/null || true - @ln -s ${DAMASK_ROOT}/bin/DAMASK_mesh ${DAMASK_ROOT}/bin/DAMASK_FEM + @ln -s ${DAMASK_ROOT}/bin/DAMASK_mesh ${DAMASK_ROOT}/bin/DAMASK_FEM || true .PHONY: FEM FEM: mesh From 14cdc031e075c8a6f4eb8471814baea5a8cc43f5 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 5 May 2020 09:57:22 +0200 Subject: [PATCH 020/958] write XDMF files the limitation to scalar, 3-vector and 3x3-tensor comes currently from XDMF/vtk/paraview extension to multiple constituents and unstructured meshes might be possible --- python/damask/_result.py | 96 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/python/damask/_result.py b/python/damask/_result.py index 13a41757a..8036f1723 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -2,6 +2,8 @@ import multiprocessing import re import glob import os +import xml.etree.ElementTree as ET +import xml.dom.minidom from functools import partial import h5py @@ -1035,6 +1037,100 @@ class Result: pool.join() + def write_XMDF(self): + """ + Write XDMF file to directly visualize data in DADF5 file. + + This works only for scalar, 3-vector and 3x3-tensor data. + Selection is not taken into account. + """ + if len(self.constituents) != 1 or not self.structured: + raise NotImplementedError + + xdmf=ET.Element('Xdmf') + xdmf.attrib={'Version': '3.0', + 'xmlns:xi': 'http://www.w3.org/2001/XInclude'} + + domain=ET.SubElement(xdmf, 'Domain') + + collection = ET.SubElement(domain, 'Grid') + collection.attrib={'GridType': 'Collection', + 'CollectionType': 'Temporal'} + + time = ET.SubElement(collection, 'Time') + time.attrib={'TimeType': 'List'} + + time_data = ET.SubElement(time, 'DataItem') + time_data.attrib={'Dimensions': '{}'.format(len(self.times))} + time_data.text = ' '.join(map(str,self.times)) + + attributes = [] + data_items = [] + + for inc in self.increments: + + grid=ET.SubElement(collection,'Grid') + grid.attrib = {'GridType': 'Uniform', + 'Name': inc} + + topology=ET.SubElement(grid, 'Topology') + topology.attrib={'TopologyType': '3DCORECTMESH', + 'Dimensions': '{} {} {}'.format(*self.grid+1)} + + geometry=ET.SubElement(grid, 'Geometry') + geometry.attrib={'GeometryType':'Origin_DxDyDz'} + + origin=ET.SubElement(geometry, 'DataItem') + origin.attrib={'Format': 'XML', + 'NumberType': 'Float', + 'Dimensions': '3'} + origin.text="{} {} {}".format(*self.origin) + + delta=ET.SubElement(geometry, 'DataItem') + delta.attrib={'Format': 'XML', + 'NumberType': 'Float', + 'Dimensions': '3'} + delta.text="{} {} {}".format(*(self.size/self.grid)) + + + with h5py.File(self.fname,'r') as f: + attributes.append(ET.SubElement(grid, 'Attribute')) + attributes[-1].attrib={'Name': 'u', + 'Center': 'Node', + 'AttributeType': 'Vector'} + data_items.append(ET.SubElement(attributes[-1], 'DataItem')) + data_items[-1].attrib={'Format': 'HDF', + 'Precision': '8', + 'Dimensions': '{} {} {} 3'.format(*(self.grid+1))} + data_items[-1].text='{}:/{}/geometry/u_n'.format(self.fname,inc) + + for o,p in zip(['constituents','materialpoints'],['con_physics','mat_physics']): + for oo in getattr(self,o): + for pp in getattr(self,p): + g = '/'.join([inc,o[:-1],oo,pp]) + for l in f[g]: + name = '/'.join([g,l]) + shape = f[name].shape[1:] + dtype = f[name].dtype + prec = f[name].dtype.itemsize + + if (shape not in [(1,), (3,), (3,3)]) or dtype != np.float64: continue + + attributes.append(ET.SubElement(grid, 'Attribute')) + attributes[-1].attrib={'Name': '{}'.format(name.split('/',2)[2]), + 'Center': 'Cell', + 'AttributeType': 'Tensor'} + data_items.append(ET.SubElement(attributes[-1], 'DataItem')) + data_items[-1].attrib={'Format': 'HDF', + 'NumberType': 'Float', + 'Precision': '{}'.format(prec), + 'Dimensions': '{} {} {} {}'.format(*self.grid,np.prod(shape))} + data_items[-1].text='{}:{}'.format(self.fname,name) + + with open(os.path.splitext(self.fname)[0]+'.xdmf','w') as f: + f.write(xml.dom.minidom.parseString(ET.tostring(xdmf).decode()).toprettyxml()) + + def to_vtk(self,labels=[],mode='cell'): """ Export to vtk cell/point data. From 43442f0722313bf016f8f2665c51f0c2c7ba5cf7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 5 May 2020 10:03:08 +0200 Subject: [PATCH 021/958] tests use new names (grid/mesh instead of spectral/FEM) --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index c595994cd..c6a91e8ef 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit c595994cd8880acadf50b5dedb79156d04d35b91 +Subproject commit c6a91e8effdb4cf1632bdd115e091a50fee4ecd1 From 31c397255d2ecd0ca74043f5d4ebd7890f244ea6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 5 May 2020 10:18:48 +0200 Subject: [PATCH 022/958] equivalent (for a valid DADF5 file) but faster --- python/damask/_result.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 8036f1723..28277e0ee 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -64,8 +64,8 @@ class Result: self.times = [round(f[i].attrs['time/s'],12) for i in self.increments] self.Nmaterialpoints, self.Nconstituents = np.shape(f['mapping/cellResults/constituent']) - self.materialpoints = [m.decode() for m in np.unique(f['mapping/cellResults/materialpoint']['Name'])] - self.constituents = [c.decode() for c in np.unique(f['mapping/cellResults/constituent'] ['Name'])] + self.materialpoints = [m for m in f['inc0/materialpoint']] + self.constituents = [c for c in f['inc0/constituent']] self.con_physics = [] for c in self.constituents: From eeb0df3a551e7775d5360f1246879b35cfef1ae5 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 5 May 2020 10:42:54 +0200 Subject: [PATCH 023/958] do not store absolute path --- python/damask/_result.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 28277e0ee..d74b1fc4a 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1102,7 +1102,7 @@ class Result: data_items[-1].attrib={'Format': 'HDF', 'Precision': '8', 'Dimensions': '{} {} {} 3'.format(*(self.grid+1))} - data_items[-1].text='{}:/{}/geometry/u_n'.format(self.fname,inc) + data_items[-1].text='{}:/{}/geometry/u_n'.format(os.path.split(self.fname)[1],inc) for o,p in zip(['constituents','materialpoints'],['con_physics','mat_physics']): for oo in getattr(self,o): @@ -1125,7 +1125,7 @@ class Result: 'NumberType': 'Float', 'Precision': '{}'.format(prec), 'Dimensions': '{} {} {} {}'.format(*self.grid,np.prod(shape))} - data_items[-1].text='{}:{}'.format(self.fname,name) + data_items[-1].text='{}:{}'.format(os.path.split(self.fname)[1],name) with open(os.path.splitext(self.fname)[0]+'.xdmf','w') as f: f.write(xml.dom.minidom.parseString(ET.tostring(xdmf).decode()).toprettyxml()) From b891fd4e4e58274a5ecf8c3bc6ffda6a3c5fe820 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 5 May 2020 10:43:06 +0200 Subject: [PATCH 024/958] adjusted test --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index c6a91e8ef..038af521a 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit c6a91e8effdb4cf1632bdd115e091a50fee4ecd1 +Subproject commit 038af521a1ef70ed77b132c426bc1a4880db01ef From ef4a4dad4af42e78f29a95cc18bcdadda6514d96 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 2 May 2020 15:50:46 +0200 Subject: [PATCH 025/958] shape property and numpy-like broadcasting this makes it easy to apply a single rotation to a field --- python/damask/_rotation.py | 39 +++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index f442561cf..cb5b2fbd1 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -53,6 +53,12 @@ class Rotation: """ self.quaternion = quaternion.copy() + + @property + def shape(self): + return self.quaternion.shape[:-1] + + def __copy__(self): """Copy.""" return self.__class__(self.quaternion) @@ -123,35 +129,35 @@ class Rotation: details to be discussed """ - shape = self.quaternion.shape[:-1] - if isinstance(other, Rotation): # rotate a rotation - q_m = self.quaternion[...,0].reshape(shape+(1,)) + q_m = self.quaternion[...,0].reshape(self.shape+(1,)) p_m = self.quaternion[...,1:] - q_o = other.quaternion[...,0].reshape(shape+(1,)) + q_o = other.quaternion[...,0].reshape(self.shape+(1,)) p_o = other.quaternion[...,1:] - q = (q_m*q_o - np.einsum('...i,...i',p_m,p_o).reshape(shape+(1,))) + q = (q_m*q_o - np.einsum('...i,...i',p_m,p_o).reshape(self.shape+(1,))) p = q_m*p_m + q_o*p_m + _P * np.cross(p_m,p_o) return self.__class__(np.block([q,p])).standardize() elif isinstance(other,np.ndarray): - if shape + (3,) == other.shape: + if self.shape + (3,) == other.shape: q_m = self.quaternion[...,0] p_m = self.quaternion[...,1:] A = q_m**2.0 - np.einsum('...i,...i',p_m,p_m) B = 2.0 * np.einsum('...i,...i',p_m,p_m) C = 2.0 * _P * q_m - return np.block([(A * other[...,i]).reshape(shape+(1,)) + - (B * p_m[...,i]).reshape(shape+(1,)) + + return np.block([(A * other[...,i]).reshape(self.shape+(1,)) + + (B * p_m[...,i]).reshape(self.shape+(1,)) + (C * ( p_m[...,(i+1)%3]*other[...,(i+2)%3]\ - - p_m[...,(i+2)%3]*other[...,(i+1)%3])).reshape(shape+(1,)) + - p_m[...,(i+2)%3]*other[...,(i+1)%3])).reshape(self.shape+(1,)) for i in [0,1,2]]) - if shape + (3,3) == other.shape: + if self.shape + (3,3) == other.shape: R = self.asMatrix() return np.einsum('...im,...jn,...mn',R,R,other) - if shape + (3,3,3,3) == other.shape: + if self.shape + (3,3,3,3) == other.shape: R = self.asMatrix() return np.einsum('...im,...jn,...ko,...lp,...mnop',R,R,R,R,other) + else: + raise ValueError def inverse(self): """In-place inverse rotation/backward rotation.""" @@ -186,6 +192,17 @@ class Rotation: return other*self.inversed() + def broadcast_to(self,shape): + if self.shape == (): + q = np.broadcast_to(self.quaternion,shape+(4,)) + else: + q = np.block([np.broadcast_to(self.quaternion[...,0:1],shape+(1,)), + np.broadcast_to(self.quaternion[...,1:2],shape+(1,)), + np.broadcast_to(self.quaternion[...,2:3],shape+(1,)), + np.broadcast_to(self.quaternion[...,3:4],shape+(1,))]) + return self.__class__(q) + + def average(self,other): """ Calculate the average rotation. From 9553a7838bcdd0dd02c107511ec915eba3839706 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 6 May 2020 22:15:09 +0200 Subject: [PATCH 027/958] needs to be logical --- src/mesh/discretization_mesh.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index b98cbbfad..0880de115 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -65,7 +65,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine discretization_mesh_init(restart) - integer, intent(in) :: restart + logical, intent(in) :: restart integer, dimension(1), parameter:: FE_geomtype = [1] !< geometry type of particular element type integer, dimension(1) :: FE_Nips !< number of IPs in a specific type of element From c2b4f5516e4f6d3a8f7d88cf1cae6016de60a141 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 7 May 2020 00:14:14 +0200 Subject: [PATCH 028/958] DADF5_postResults tries to combine datasets, this does not work --- python/damask/_result.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index d74b1fc4a..622f38919 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -64,8 +64,12 @@ class Result: self.times = [round(f[i].attrs['time/s'],12) for i in self.increments] self.Nmaterialpoints, self.Nconstituents = np.shape(f['mapping/cellResults/constituent']) - self.materialpoints = [m for m in f['inc0/materialpoint']] - self.constituents = [c for c in f['inc0/constituent']] + self.materialpoints = [m.decode() for m in np.unique(f['mapping/cellResults/materialpoint']['Name'])] + self.constituents = [c.decode() for c in np.unique(f['mapping/cellResults/constituent'] ['Name'])] + + # faster, but does not work with (deprecated) DADF5_postResults + #self.materialpoints = [m for m in f['inc0/materialpoint']] + #self.constituents = [c for c in f['inc0/constituent']] self.con_physics = [] for c in self.constituents: @@ -428,8 +432,10 @@ class Result: """ with h5py.File(self.fname,'r') as f: shape = (self.Nmaterialpoints,) + np.shape(f[path[0]])[1:] + print(path[0]) if len(shape) == 1: shape = shape +(1,) dataset = np.full(shape,np.nan,dtype=np.dtype(f[path[0]])) + print('dataset shape', dataset.shape) for pa in path: label = pa.split('/')[2] @@ -437,12 +443,19 @@ class Result: dataset = np.array(f[pa]) continue + print(label) p = np.where(f['mapping/cellResults/constituent'][:,c]['Name'] == str.encode(label))[0] + print(len(p)) if len(p)>0: u = (f['mapping/cellResults/constituent']['Position'][p,c]) + print('pa',pa) a = np.array(f[pa]) + print(a.shape) if len(a.shape) == 1: a=a.reshape([a.shape[0],1]) + print('u',u) + print('a[u]',a[u,:].shape) + print('dataset[p]',dataset[p,:].shape) dataset[p,:] = a[u,:] p = np.where(f['mapping/cellResults/materialpoint']['Name'] == str.encode(label))[0] From b75e98ca3f01a7b56137a03bb079aa5c99d9b878 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 7 May 2020 19:12:05 +0200 Subject: [PATCH 029/958] forgotten debug statements + polishing of XDMF output --- python/damask/_result.py | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 622f38919..9993e90bd 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -66,7 +66,7 @@ class Result: self.Nmaterialpoints, self.Nconstituents = np.shape(f['mapping/cellResults/constituent']) self.materialpoints = [m.decode() for m in np.unique(f['mapping/cellResults/materialpoint']['Name'])] self.constituents = [c.decode() for c in np.unique(f['mapping/cellResults/constituent'] ['Name'])] - + # faster, but does not work with (deprecated) DADF5_postResults #self.materialpoints = [m for m in f['inc0/materialpoint']] #self.constituents = [c for c in f['inc0/constituent']] @@ -432,10 +432,8 @@ class Result: """ with h5py.File(self.fname,'r') as f: shape = (self.Nmaterialpoints,) + np.shape(f[path[0]])[1:] - print(path[0]) if len(shape) == 1: shape = shape +(1,) dataset = np.full(shape,np.nan,dtype=np.dtype(f[path[0]])) - print('dataset shape', dataset.shape) for pa in path: label = pa.split('/')[2] @@ -443,19 +441,12 @@ class Result: dataset = np.array(f[pa]) continue - print(label) p = np.where(f['mapping/cellResults/constituent'][:,c]['Name'] == str.encode(label))[0] - print(len(p)) if len(p)>0: u = (f['mapping/cellResults/constituent']['Position'][p,c]) - print('pa',pa) a = np.array(f[pa]) - print(a.shape) if len(a.shape) == 1: a=a.reshape([a.shape[0],1]) - print('u',u) - print('a[u]',a[u,:].shape) - print('dataset[p]',dataset[p,:].shape) dataset[p,:] = a[u,:] p = np.where(f['mapping/cellResults/materialpoint']['Name'] == str.encode(label))[0] @@ -1061,7 +1052,7 @@ class Result: raise NotImplementedError xdmf=ET.Element('Xdmf') - xdmf.attrib={'Version': '3.0', + xdmf.attrib={'Version': '2.0', 'xmlns:xi': 'http://www.w3.org/2001/XInclude'} domain=ET.SubElement(xdmf, 'Domain') @@ -1074,7 +1065,9 @@ class Result: time.attrib={'TimeType': 'List'} time_data = ET.SubElement(time, 'DataItem') - time_data.attrib={'Dimensions': '{}'.format(len(self.times))} + time_data.attrib={'Format': 'XML', + 'NumberType': 'Float', + 'Dimensions': '{}'.format(len(self.times))} time_data.text = ' '.join(map(str,self.times)) attributes = [] @@ -1087,7 +1080,7 @@ class Result: 'Name': inc} topology=ET.SubElement(grid, 'Topology') - topology.attrib={'TopologyType': '3DCORECTMESH', + topology.attrib={'TopologyType': '3DCoRectMesh', 'Dimensions': '{} {} {}'.format(*self.grid+1)} geometry=ET.SubElement(grid, 'Geometry') From 72c835a55417038718b4769fb3742583aec6a1ab Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 11 May 2020 16:00:53 +0200 Subject: [PATCH 030/958] not used --- src/mesh/mesh_mech_FEM.f90 | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 8206f4174..a2f4b9e70 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -17,11 +17,9 @@ module mesh_mech_FEM use prec use FEM_utilities use discretization_mesh - use IO use DAMASK_interface use numerics use FEM_quadrature - use FEsolving use homogenization use math From 66b928c5afce0891bd13793c42e0fafc8bba5324 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 13 May 2020 10:47:49 +0200 Subject: [PATCH 031/958] using doctest style https://docs.python.org/3/library/doctest.html https://numpy.org/doc/stable/docs/howto_document.html#sections (section 15) --- python/damask/_lattice.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index 42aa0e9bd..f33cc66f7 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -229,19 +229,20 @@ class Symmetry: Return inverse pole figure color if requested. Bases are computed from - basis = {'cubic' : np.linalg.inv(np.array([[0.,0.,1.], # direction of red - [1.,0.,1.]/np.sqrt(2.), # direction of green - [1.,1.,1.]/np.sqrt(3.)]).T), # direction of blue - 'hexagonal' : np.linalg.inv(np.array([[0.,0.,1.], # direction of red - [1.,0.,0.], # direction of green - [np.sqrt(3.),1.,0.]/np.sqrt(4.)]).T), # direction of blue - 'tetragonal' : np.linalg.inv(np.array([[0.,0.,1.], # direction of red - [1.,0.,0.], # direction of green - [1.,1.,0.]/np.sqrt(2.)]).T), # direction of blue - 'orthorhombic' : np.linalg.inv(np.array([[0.,0.,1.], # direction of red - [1.,0.,0.], # direction of green - [0.,1.,0.]]).T), # direction of blue - } + >>> basis = {'cubic' : np.linalg.inv(np.array([[0.,0.,1.], # direction of red + ... [1.,0.,1.]/np.sqrt(2.), # direction of green + ... [1.,1.,1.]/np.sqrt(3.)]).T), # direction of blue + ... 'hexagonal' : np.linalg.inv(np.array([[0.,0.,1.], # direction of red + ... [1.,0.,0.], # direction of green + ... [np.sqrt(3.),1.,0.]/np.sqrt(4.)]).T), # direction of blue + ... 'tetragonal' : np.linalg.inv(np.array([[0.,0.,1.], # direction of red + ... [1.,0.,0.], # direction of green + ... [1.,1.,0.]/np.sqrt(2.)]).T), # direction of blue + ... 'orthorhombic': np.linalg.inv(np.array([[0.,0.,1.], # direction of red + ... [1.,0.,0.], # direction of green + ... [0.,1.,0.]]).T), # direction of blue + ... } + """ if self.lattice == 'cubic': basis = {'improper':np.array([ [-1. , 0. , 1. ], From b5b9bfaa99d1dc676b3177c22536a1607047148c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 13 May 2020 11:09:37 +0200 Subject: [PATCH 032/958] need space at end of definition list --- python/damask/_orientation.py | 1 + python/damask/_result.py | 7 ++++--- python/damask/_rotation.py | 2 ++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 64fb98f45..a558ec85d 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -10,6 +10,7 @@ class Orientation: A crystallographic orientation contains a rotation and a lattice. """ + __slots__ = ['rotation','lattice'] def __repr__(self): diff --git a/python/damask/_result.py b/python/damask/_result.py index 9171682ff..a660885fe 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -316,9 +316,10 @@ class Result: Return groups that contain all requested datasets. Only groups within - - inc?????/constituent/*_*/* - - inc?????/materialpoint/*_*/* - - inc?????/geometry/* + - inc*/constituent/*/* + - inc*/materialpoint/*/* + - inc*/geometry/* + are considered as they contain user-relevant data. Single strings will be treated as list with one entry. diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index a7427e1f9..162a118b9 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -16,6 +16,7 @@ def iszero(a): class Rotation: u""" Orientation stored with functionality for conversion to different representations. + The following conventions apply: - coordinate frames are right-handed. @@ -42,6 +43,7 @@ class Rotation: https://doi.org/10.1088/0965-0393/23/8/083501 """ + __slots__ = ['quaternion'] def __init__(self,quaternion = np.array([1.0,0.0,0.0,0.0])): From f2d1343cdf5045b3c022d762a50b75dbd07c03aa Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 13 May 2020 12:58:39 +0200 Subject: [PATCH 033/958] need to select the whole mesh --- src/mesh/mesh_mech_FEM.f90 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 8206f4174..0deca3e03 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -73,7 +73,7 @@ subroutine FEM_mech_init(fieldBC) PetscQuadrature :: mechQuad, functional PetscDS :: mechDS PetscDualSpace :: mechDualSpace - DMLabel, dimension(:),pointer :: pBCLabel + DMLabel, dimension(:),pointer :: nolabel=> NULL() DMLabel :: BCLabel PetscInt, dimension(:), pointer :: pNumComp, pNumDof, pBcField, pBcPoint @@ -182,8 +182,7 @@ subroutine FEM_mech_init(fieldBC) call DMPlexCreateSection(mech_mesh,dimPlex,1,pNumComp,pNumDof, & numBC,pBcField,pBcComps,pBcPoints,PETSC_NULL_IS,section,ierr) #else - allocate(pBClabel(1),source=BClabel) - call DMPlexCreateSection(mech_mesh,pBClabel,pNumComp,pNumDof, & + call DMPlexCreateSection(mech_mesh,nolabel,pNumComp,pNumDof, & numBC,pBcField,pBcComps,pBcPoints,PETSC_NULL_IS,section,ierr) #endif From 530623a2b395c66164a665f23d2d08d87c4c4fb9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 13 May 2020 13:15:37 +0200 Subject: [PATCH 034/958] function was only renamed in PETSc 3.12 --- src/mesh/mesh_mech_FEM.f90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 0deca3e03..60c7fd942 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -136,7 +136,7 @@ subroutine FEM_mech_init(fieldBC) ! Setup FEM mech boundary conditions call DMGetLabel(mech_mesh,'Face Sets',BCLabel,ierr); CHKERRQ(ierr) call DMPlexLabelComplete(mech_mesh,BCLabel,ierr); CHKERRQ(ierr) -#if (PETSC_VERSION_MINOR < 11) +#if (PETSC_VERSION_MINOR < 12) call DMGetSection(mech_mesh,section,ierr); CHKERRQ(ierr) #else call DMGetLocalSection(mech_mesh,section,ierr); CHKERRQ(ierr) @@ -329,7 +329,7 @@ subroutine FEM_mech_formResidual(dm_local,xx_local,f_local,dummy,ierr) allocate(pinvcellJ(dimPlex**2)) allocate(x_scal(cellDof)) -#if (PETSC_VERSION_MINOR < 11) +#if (PETSC_VERSION_MINOR < 12) call DMGetSection(dm_local,section,ierr); CHKERRQ(ierr) #else call DMGetLocalSection(dm_local,section,ierr); CHKERRQ(ierr) @@ -483,7 +483,7 @@ subroutine FEM_mech_formJacobian(dm_local,xx_local,Jac_pre,Jac,dummy,ierr) call MatZeroEntries(Jac,ierr); CHKERRQ(ierr) call DMGetDS(dm_local,prob,ierr); CHKERRQ(ierr) call PetscDSGetTabulation(prob,0,basisField,basisFieldDer,ierr) -#if (PETSC_VERSION_MINOR < 11) +#if (PETSC_VERSION_MINOR < 12) call DMGetSection(dm_local,section,ierr); CHKERRQ(ierr) #else call DMGetLocalSection(dm_local,section,ierr); CHKERRQ(ierr) From 661604ff94bd374db97ed846741e3c1f39145669 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 14 May 2020 06:59:30 +0200 Subject: [PATCH 035/958] more error checking --- src/DAMASK_interface.f90 | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index dceef0f7f..56824d820 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -106,7 +106,7 @@ subroutine DAMASK_interface_init typeSize integer, dimension(8) :: & dateAndTime - integer :: mpi_err + integer :: err PetscErrorCode :: petsc_err external :: & quit @@ -118,8 +118,8 @@ subroutine DAMASK_interface_init #ifdef _OPENMP ! If openMP is enabled, check if the MPI libary supports it and initialize accordingly. ! Otherwise, the first call to PETSc will do the initialization. - call MPI_Init_Thread(MPI_THREAD_FUNNELED,threadLevel,mpi_err) - if (mpi_err /= 0) call quit(1) + call MPI_Init_Thread(MPI_THREAD_FUNNELED,threadLevel,err) + if (err /= 0) call quit(1) if (threadLevel Date: Fri, 15 May 2020 22:33:38 +0200 Subject: [PATCH 036/958] suppress warnings the compiler does not know that IO_error terminates the program --- src/lattice.f90 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lattice.f90 b/src/lattice.f90 index b1e286f97..cf985cc19 100644 --- a/src/lattice.f90 +++ b/src/lattice.f90 @@ -1436,6 +1436,7 @@ function lattice_SchmidMatrix_slip(Nslip,structure,cOverA) result(SchmidMatrix) NslipMax = BCT_NSLIPSYSTEM slipSystems = BCT_SYSTEMSLIP case default + allocate(NslipMax(0)) call IO_error(137,ext_msg='lattice_SchmidMatrix_slip: '//trim(structure)) end select @@ -1485,6 +1486,7 @@ function lattice_SchmidMatrix_twin(Ntwin,structure,cOverA) result(SchmidMatrix) NtwinMax = HEX_NTWINSYSTEM twinSystems = HEX_SYSTEMTWIN case default + allocate(NtwinMax(0)) call IO_error(137,ext_msg='lattice_SchmidMatrix_twin: '//trim(structure)) end select @@ -1564,6 +1566,7 @@ function lattice_SchmidMatrix_cleavage(Ncleavage,structure,cOverA) result(Schmid NcleavageMax = BCC_NCLEAVAGESYSTEM cleavageSystems = BCC_SYSTEMCLEAVAGE case default + allocate(NcleavageMax(0)) call IO_error(137,ext_msg='lattice_SchmidMatrix_cleavage: '//trim(structure)) end select @@ -1919,6 +1922,7 @@ function coordinateSystem_slip(Nslip,structure,cOverA) result(coordinateSystem) NslipMax = BCT_NSLIPSYSTEM slipSystems = BCT_SYSTEMSLIP case default + allocate(NslipMax(0)) call IO_error(137,ext_msg='coordinateSystem_slip: '//trim(structure)) end select From e3e70ae42469d222046f4c0db92c7bfac6cdcfb2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 15 May 2020 22:45:22 +0200 Subject: [PATCH 037/958] check for recent standard requires Gfortran 8.1.x or later --- cmake/Compiler-GNU.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Compiler-GNU.cmake b/cmake/Compiler-GNU.cmake index 6fc669299..858e91134 100644 --- a/cmake/Compiler-GNU.cmake +++ b/cmake/Compiler-GNU.cmake @@ -14,7 +14,7 @@ elseif (OPTIMIZATION STREQUAL "AGGRESSIVE") set (OPTIMIZATION_FLAGS "-O3 -ffast-math -funroll-loops -ftree-vectorize") endif () -set (STANDARD_CHECK "-std=f2008ts -pedantic-errors" ) +set (STANDARD_CHECK "-std=f2018 -pedantic-errors" ) set (LINKER_FLAGS "${LINKER_FLAGS} -Wl") # options parsed directly to the linker set (LINKER_FLAGS "${LINKER_FLAGS},-undefined,dynamic_lookup" ) From 2dc46b783aa80812dc44957886a06f61c50660e7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 16 May 2020 00:58:40 +0200 Subject: [PATCH 038/958] simplified and tested --- python/damask/_rotation.py | 7 ++----- python/tests/test_Rotation.py | 7 +++++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 059f148a4..38294f75e 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -112,11 +112,8 @@ class Rotation: B = 2.0 * np.dot(self.quaternion[1:],other) C = 2.0 * _P*self.quaternion[0] - return np.array([ - A*other[0] + B*self.quaternion[1] + C*(self.quaternion[2]*other[2] - self.quaternion[3]*other[1]), - A*other[1] + B*self.quaternion[2] + C*(self.quaternion[3]*other[0] - self.quaternion[1]*other[2]), - A*other[2] + B*self.quaternion[3] + C*(self.quaternion[1]*other[1] - self.quaternion[2]*other[0]), - ]) + return A*other + B*self.quaternion[1:] + C * np.cross(self.quaternion[1:],other) + elif other.shape == (3,3,): # rotate a single (3x3)-matrix return np.dot(self.asMatrix(),np.dot(other,self.asMatrix().T)) elif other.shape == (3,3,3,3,): diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index b7442035f..ffa1548d7 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -300,3 +300,10 @@ class TestRotation: f = Rotation._get_pyramid_order(a,'forward') b = Rotation._get_pyramid_order(a,'backward') assert np.all(np.take_along_axis(np.take_along_axis(a,f,-1),b,-1) == a) + + + @pytest.mark.parametrize('x',[np.random.rand(3), + np.random.rand(3,3)]) + def test_rotation_identity(self,x): + R = Rotation() + assert np.allclose(x,R*x) From e2ba294b751b3606821ad6da9b4e96570e11e79d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 16 May 2020 09:40:32 +0200 Subject: [PATCH 039/958] bugfix: wrong variable --- python/damask/_rotation.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 38294f75e..a9f11c6c2 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -131,12 +131,12 @@ class Rotation: details to be discussed """ if isinstance(other, Rotation): # rotate a rotation - q_m = self.quaternion[...,0].reshape(self.shape+(1,)) + q_m = self.quaternion[...,0:1] p_m = self.quaternion[...,1:] - q_o = other.quaternion[...,0].reshape(self.shape+(1,)) + q_o = other.quaternion[...,0:1] p_o = other.quaternion[...,1:] q = (q_m*q_o - np.einsum('...i,...i',p_m,p_o).reshape(self.shape+(1,))) - p = q_m*p_m + q_o*p_m + _P * np.cross(p_m,p_o) + p = q_m*p_o + q_o*p_m + _P * np.cross(p_m,p_o) return self.__class__(np.block([q,p])).standardize() elif isinstance(other,np.ndarray): From 347e3b8c60763f0bae1d7de0cd5496b363003e66 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 16 May 2020 09:40:44 +0200 Subject: [PATCH 040/958] using new table class + vectorized rotation --- processing/post/addOrientations.py | 133 +++++++++-------------------- processing/post/rotateData.py | 13 ++- 2 files changed, 46 insertions(+), 100 deletions(-) diff --git a/processing/post/addOrientations.py b/processing/post/addOrientations.py index e1752b0a4..b6292b18c 100755 --- a/processing/post/addOrientations.py +++ b/processing/post/addOrientations.py @@ -2,6 +2,7 @@ import os import sys +from io import StringIO from optparse import OptionParser import numpy as np @@ -24,14 +25,8 @@ Additional (globally fixed) rotations of the lab frame and/or crystal frame can """, version = scriptID) -representations = { - 'quaternion': ['qu',4], - 'rodrigues': ['ro',4], - 'Rodrigues': ['Ro',3], - 'eulers': ['eu',3], - 'matrix': ['om',9], - 'angleaxis': ['ax',4], - } +representations = ['quaternion', 'rodrigues', 'eulers', 'matrix', 'axisangle'] + parser.add_option('-o', '--output', @@ -93,10 +88,10 @@ parser.set_defaults(output = [], ) (options, filenames) = parser.parse_args() +if filenames == []: filenames = [None] -#options.output = list(map(lambda x: x.lower(), options.output)) if options.output == [] or (not set(options.output).issubset(set(representations))): - parser.error('output must be chosen from {}.'.format(', '.join(representations))) + parser.error('output must be chosen from {}.'.format(', '.join(representations))) input = [options.eulers is not None, options.rodrigues is not None, @@ -109,95 +104,47 @@ input = [options.eulers is not None, if np.sum(input) != 1: parser.error('needs exactly one input format.') -(label,dim,inputtype) = [(options.eulers,representations['eulers'][1],'eulers'), - (options.rodrigues,representations['rodrigues'][1],'rodrigues'), - ([options.x,options.y,options.z],[3,3,3],'frame'), - (options.matrix,representations['matrix'][1],'matrix'), - (options.quaternion,representations['quaternion'][1],'quaternion'), - ][np.where(input)[0][0]] # select input label that was requested - -r = damask.Rotation.fromAxisAngle(np.array(options.crystalrotation),options.degrees,normalise=True) -R = damask.Rotation.fromAxisAngle(np.array(options.labrotation),options.degrees,normalise=True) - - -# --- loop over input files ------------------------------------------------------------------------ - -if filenames == []: filenames = [None] +r = damask.Rotation.from_axis_angle(np.array(options.crystalrotation),options.degrees,normalise=True) +R = damask.Rotation.from_axis_angle(np.array(options.labrotation),options.degrees,normalise=True) for name in filenames: - try: - table = damask.ASCIItable(name = name) - except IOError: - continue - damask.util.report(scriptName,name) + damask.util.report(scriptName,name) -# ------------------------------------------ read header ------------------------------------------ + table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - table.head_read() + if options.eulers is not None: + label = options.eulers + print(np.max(table.get(options.eulers),axis=0)) + o = damask.Rotation.from_Eulers(table.get(options.eulers), options.degrees) + elif options.rodrigues is not None: + label = options.rodrigues + o = damask.Rotation.from_Rodrigues(table.get(options.rodrigues)) + elif options.matrix is not None: + label = options.matrix + o = damask.Rotation.from_matrix(table.get(options.matrix).reshape(-1,3,3)) + elif options.x is not None: + label = '<{},{},{}>'.format(options.x,options.y,options.z) + M = np.block([table.get(options.x),table.get(options.y),table.get(options.z)]).reshape(-1,3,3) + o = damask.Rotation.from_matrix(M/np.linalg.norm(M,axis=0)) + elif options.quaternion is not None: + label = options.quaternion + o = damask.Rotation.from_quaternion(table.get(options.quaternion)) -# ------------------------------------------ sanity checks ----------------------------------------- + o = r.broadcast_to(o.shape) @ o @ R.broadcast_to(o.shape) - errors = [] - remarks = [] - - if not np.all(table.label_dimension(label) == dim): errors.append('input {} does not have dimension {}.'.format(label,dim)) - else: column = table.label_index(label) + #if options.lattice is not None: + # o = damask.Orientation(rotation = o,lattice = options.lattice).reduced().rotation - if remarks != []: damask.util.croak(remarks) - if errors != []: - damask.util.croak(errors) - table.close(dismiss = True) - continue -# ------------------------------------------ assemble header --------------------------------------- + if 'rodrigues' in options.output: + table.add('ro({})'.format(label),o.as_rodrigues(), scriptID+' '+' '.join(sys.argv[1:])) + if 'eulers' in options.output: + table.add('eu({})'.format(label),o.as_Eulers(options.degrees), scriptID+' '+' '.join(sys.argv[1:])) + if 'quaternion' in options.output: + table.add('qu({})'.format(label),o.as_quaternion(), scriptID+' '+' '.join(sys.argv[1:])) + if 'matrix' in options.output: + table.add('om({})'.format(label),o.as_matrix(), scriptID+' '+' '.join(sys.argv[1:])) + if 'axisangle' in options.output: + table.add('om({})'.format(label),o.as_axisangle(options.degrees), scriptID+' '+' '.join(sys.argv[1:])) - table.info_append(scriptID + '\t' + ' '.join(sys.argv[1:])) - for output in options.output: - if output in representations: - table.labels_append(['{}_{}({})'.format(i+1,representations[output][0],label) \ - for i in range(representations[output][1])]) - table.head_write() - -# ------------------------------------------ process data ------------------------------------------ - - outputAlive = True - while outputAlive and table.data_read(): # read next data line of ASCII table - if inputtype == 'eulers': - d = representations['eulers'][1] - o = damask.Rotation.fromEulers(list(map(float,table.data[column:column+d])),options.degrees) - - elif inputtype == 'rodrigues': - d = representations['rodrigues'][1] - o = damask.Rotation.fromRodrigues(list(map(float,table.data[column:column+d]))) - - elif inputtype == 'matrix': - d = representations['matrix'][1] - o = damask.Rotation.fromMatrix(np.array(list(map(float,table.data[column:column+d]))).reshape(3,3)) - - elif inputtype == 'frame': - M = np.array(list(map(float,table.data[column[0]:column[0]+3] + \ - table.data[column[1]:column[1]+3] + \ - table.data[column[2]:column[2]+3]))).reshape(3,3).T - o = damask.Rotation.fromMatrix(M/np.linalg.norm(M,axis=0)) - - elif inputtype == 'quaternion': - d = representations['quaternion'][1] - o = damask.Rotation.fromQuaternion(list(map(float,table.data[column:column+d]))) - - o = r*o*R # apply additional lab and crystal frame rotations - - if options.lattice is not None: - o = damask.Orientation(rotation = o,lattice = options.lattice).reduced().rotation - - for output in options.output: - if output == 'quaternion': table.data_append(o.asQuaternion()) - elif output == 'rodrigues': table.data_append(o.asRodrigues()) - elif output == 'Rodrigues': table.data_append(o.asRodrigues(vector=True)) - elif output == 'eulers': table.data_append(o.asEulers(degrees=options.degrees)) - elif output == 'matrix': table.data_append(o.asMatrix()) - elif output == 'angleaxis': table.data_append(o.asAxisAngle(degrees=options.degrees)) - outputAlive = table.data_write() # output processed line - -# ------------------------------------------ output finalization ----------------------------------- - - table.close() # close ASCII tables + table.to_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/rotateData.py b/processing/post/rotateData.py index d270eb79e..ee172c64d 100755 --- a/processing/post/rotateData.py +++ b/processing/post/rotateData.py @@ -37,27 +37,26 @@ parser.add_option('--degrees', parser.set_defaults(rotation = (1.,1.,1.,0), # no rotation about (1,1,1) degrees = False, ) - + (options,filenames) = parser.parse_args() if filenames == []: filenames = [None] if options.data is None: - parser.error('no data column specified.') + parser.error('no data column specified.') -r = damask.Rotation.fromAxisAngle(options.rotation,options.degrees,normalise=True) +r = damask.Rotation.from_axis_angle(options.rotation,options.degrees,normalise=True) for name in filenames: damask.util.report(scriptName,name) - + table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) for data in options.data: d = table.get(data) if table.shapes[data] == (9,): d=d.reshape(-1,3,3) - for i,l in enumerate(d): - d[i] = r*l + d = r.broadcast_to(d.shape[0:1]) @ d if table.shapes[data] == (9,): d=d.reshape(-1,9) - + table.set(data,d,scriptID+' '+' '.join(sys.argv[1:])) table.to_ASCII(sys.stdout if name is None else name) From 235f3c0df7df26bc1d42ce50dd3131b2f03edf67 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 16 May 2020 11:16:52 +0200 Subject: [PATCH 041/958] bugfix: copy and paste error --- python/damask/_rotation.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index a9f11c6c2..3a046363f 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -52,7 +52,7 @@ class Rotation: Parameters ---------- quaternion : numpy.ndarray, optional - Unit quaternion that follows the conventions. Use .fromQuaternion to perform a sanity check. + Unit quaternion that follows the conventions. Use .from_quaternion to perform a sanity check. """ self.quaternion = quaternion.copy() @@ -144,7 +144,7 @@ class Rotation: q_m = self.quaternion[...,0] p_m = self.quaternion[...,1:] A = q_m**2.0 - np.einsum('...i,...i',p_m,p_m) - B = 2.0 * np.einsum('...i,...i',p_m,p_m) + B = 2.0 * np.einsum('...i,...i',p_m,other) C = 2.0 * _P * q_m return np.block([(A * other[...,i]).reshape(self.shape+(1,)) + (B * p_m[...,i]).reshape(self.shape+(1,)) + @@ -481,7 +481,7 @@ class Rotation: else M + r.asM() * n # noqa add (multiples) of this rotation to average noqa eig, vec = np.linalg.eig(M/N) - return Rotation.fromQuaternion(np.real(vec.T[eig.argmax()]),acceptHomomorph = True) + return Rotation.from_quaternion(np.real(vec.T[eig.argmax()]),acceptHomomorph = True) @staticmethod def from_random(shape=None): From 9fa153916347d1413facbaf2d2de7f510ca0404f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 16 May 2020 11:17:12 +0200 Subject: [PATCH 042/958] using new names --- processing/pre/geom_addPrimitive.py | 4 ++-- processing/pre/geom_fromDREAM3D.py | 4 ++-- processing/pre/geom_rotate.py | 8 ++++---- python/damask/_lattice.py | 2 +- python/damask/_orientation.py | 2 +- python/tests/test_Orientation.py | 6 +++--- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/processing/pre/geom_addPrimitive.py b/processing/pre/geom_addPrimitive.py index f33ba27b1..c04fcf565 100755 --- a/processing/pre/geom_addPrimitive.py +++ b/processing/pre/geom_addPrimitive.py @@ -84,9 +84,9 @@ if [options.angleaxis,options.quaternion].count(None) == 0: parser.error('more than one rotation specified.') if options.angleaxis is not None: - rotation = damask.Rotation.fromAxisAngle(np.array(options.angleaxis),options.degrees,normalise=True) + rotation = damask.Rotation.from_axis_angle(np.array(options.angleaxis),options.degrees,normalise=True) elif options.quaternion is not None: - rotation = damask.Rotation.fromQuaternion(options.quaternion) + rotation = damask.Rotation.from_quaternion(options.quaternion) else: rotation = damask.Rotation() diff --git a/processing/pre/geom_fromDREAM3D.py b/processing/pre/geom_fromDREAM3D.py index 7d5b1442d..b000aa811 100755 --- a/processing/pre/geom_fromDREAM3D.py +++ b/processing/pre/geom_fromDREAM3D.py @@ -97,7 +97,7 @@ for name in filenames: dataset = os.path.join(group_pointwise,options.quaternion) try: quats = np.reshape(inFile[dataset][...],(np.product(grid),4)) - rot = [damask.Rotation.fromQuaternion(q,True,P=+1) for q in quats] + rot = [damask.Rotation.from_quaternion(q,True,P=+1) for q in quats] except KeyError: errors.append('Pointwise orientation (quaternion) data ({}) not readable'.format(dataset)) @@ -123,7 +123,7 @@ for name in filenames: dataset = os.path.join(group_average,options.quaternion) try: - rot = [damask.Rotation.fromQuaternion(q,True,P=+1) for q in inFile[dataset][...][1:]] # skip first entry (unindexed) + rot = [damask.Rotation.from_quaternion(q,True,P=+1) for q in inFile[dataset][...][1:]] # skip first entry (unindexed) except KeyError: errors.append('Average orientation data ({}) not readable'.format(dataset)) diff --git a/processing/pre/geom_rotate.py b/processing/pre/geom_rotate.py index 977e00b65..7a774200b 100755 --- a/processing/pre/geom_rotate.py +++ b/processing/pre/geom_rotate.py @@ -59,13 +59,13 @@ if [options.rotation,options.eulers,options.matrix,options.quaternion].count(Non parser.error('no rotation specified.') if options.quaternion is not None: - rot = damask.Rotation.fromQuaternion(np.array(options.quaternion)) # we might need P=+1 here, too... + rot = damask.Rotation.from_quaternion(np.array(options.quaternion)) # we might need P=+1 here, too... if options.rotation is not None: - rot = damask.Rotation.fromAxisAngle(np.array(options.rotation),degrees=options.degrees,normalise=True,P=+1) + rot = damask.Rotation.from_axis_angle(np.array(options.rotation),degrees=options.degrees,normalise=True,P=+1) if options.matrix is not None: - rot = damask.Rotation.fromMatrix(np.array(options.Matrix)) + rot = damask.Rotation.from_matrix(np.array(options.Matrix)) if options.eulers is not None: - rot = damask.Rotation.fromEulers(np.array(options.eulers),degrees=options.degrees) + rot = damask.Rotation.from_Eulers(np.array(options.eulers),degrees=options.degrees) eulers = rot.asEulers(degrees=True) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index 42aa0e9bd..5c8166508 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -634,6 +634,6 @@ class Lattice: otherDir = miller[otherDir_id]/ np.linalg.norm(miller[otherDir_id]) otherMatrix = np.array([otherDir,np.cross(otherPlane,otherDir),otherPlane]) - r['rotations'].append(Rotation.fromMatrix(np.dot(otherMatrix.T,myMatrix))) + r['rotations'].append(Rotation.from_matrix(np.dot(otherMatrix.T,myMatrix))) return r diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index e6c732007..c145dc42b 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -36,7 +36,7 @@ class Orientation: if isinstance(rotation, Rotation): self.rotation = rotation else: - self.rotation = Rotation.fromQuaternion(rotation) # assume quaternion + self.rotation = Rotation.from_quaternion(rotation) # assume quaternion if self.rotation.quaternion.shape != (4,): raise NotImplementedError('Support for multiple rotations missing') diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index 08f060887..bb8810c49 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -14,7 +14,7 @@ n = 1000 @pytest.fixture def default(): """A set of n random rotations.""" - return [Rotation.fromRandom() for r in range(n)] + return [Rotation.from_random() for r in range(n)] @pytest.fixture def reference_dir(reference_dir_base): @@ -36,7 +36,7 @@ class TestOrientation: @pytest.mark.parametrize('lattice',Lattice.lattices) def test_IPF(self,lattice): direction = np.random.random(3)*2.0-1 - for rot in [Rotation.fromRandom() for r in range(n//100)]: + for rot in [Rotation.from_random() for r in range(n//100)]: R = damask.Orientation(rot,lattice) color = R.IPFcolor(direction) for equivalent in R.equivalentOrientations(): @@ -45,7 +45,7 @@ class TestOrientation: @pytest.mark.parametrize('model',['Bain','KS','GT','GT_prime','NW','Pitsch']) @pytest.mark.parametrize('lattice',['fcc','bcc']) def test_relationship_forward_backward(self,model,lattice): - ori = Orientation(Rotation.fromRandom(),lattice) + ori = Orientation(Rotation.from_random(),lattice) for i,r in enumerate(ori.relatedOrientations(model)): ori2 = r.relatedOrientations(model)[i] misorientation = ori.rotation.misorientation(ori2.rotation) From 19638168e63ce2fc23cd7f60e63e7c0f3230948b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 16 May 2020 13:23:32 +0200 Subject: [PATCH 043/958] more sensible type checking and errors --- python/damask/_rotation.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 3a046363f..7abe06110 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -98,7 +98,7 @@ class Rotation: """ if self.quaternion.shape != (4,): raise NotImplementedError('Support for multiple rotations missing') - if isinstance(other, Rotation): # rotate a rotation + if isinstance(other, Rotation): self_q = self.quaternion[0] self_p = self.quaternion[1:] other_q = other.quaternion[0] @@ -106,22 +106,23 @@ class Rotation: R = self.__class__(np.append(self_q*other_q - np.dot(self_p,other_p), self_q*other_p + other_q*self_p + _P * np.cross(self_p,other_p))) return R.standardize() - elif isinstance(other, (tuple,np.ndarray)): - if isinstance(other,tuple) or other.shape == (3,): # rotate a single (3)-vector or meshgrid + elif isinstance(other, np.ndarray): + if other.shape == (3,): A = self.quaternion[0]**2.0 - np.dot(self.quaternion[1:],self.quaternion[1:]) B = 2.0 * np.dot(self.quaternion[1:],other) C = 2.0 * _P*self.quaternion[0] return A*other + B*self.quaternion[1:] + C * np.cross(self.quaternion[1:],other) - elif other.shape == (3,3,): # rotate a single (3x3)-matrix + elif other.shape == (3,3,): return np.dot(self.asMatrix(),np.dot(other,self.asMatrix().T)) elif other.shape == (3,3,3,3,): - raise NotImplementedError('Support for rotation of 4th order tensors missing') + R = self.asMatrix() + return np.einsum('...im,...jn,...ko,...lp,...mnop',R,R,R,R,other) else: - return NotImplemented + raise ValueError('Can only rotate vectors, 2nd order ternsors, and 4th order tensors') else: - return NotImplemented + raise TypeError('Cannot rotate {}'.format(type(other))) def __matmul__(self, other): @@ -130,7 +131,7 @@ class Rotation: details to be discussed """ - if isinstance(other, Rotation): # rotate a rotation + if isinstance(other, Rotation): q_m = self.quaternion[...,0:1] p_m = self.quaternion[...,1:] q_o = other.quaternion[...,0:1] @@ -157,8 +158,10 @@ class Rotation: if self.shape + (3,3,3,3) == other.shape: R = self.asMatrix() return np.einsum('...im,...jn,...ko,...lp,...mnop',R,R,R,R,other) + else: + raise ValueError('Can only rotate vectors, 2nd order ternsors, and 4th order tensors') else: - raise ValueError + raise TypeError('Cannot rotate {}'.format(type(other))) def inverse(self): """In-place inverse rotation/backward rotation.""" From 61ac40c259773671291f0fa7400d7eaeb73a8c45 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 16 May 2020 13:44:07 +0200 Subject: [PATCH 044/958] more tests --- python/tests/test_Orientation.py | 13 +++------- python/tests/test_Rotation.py | 44 ++++++++++++++++++++++++++++---- 2 files changed, 43 insertions(+), 14 deletions(-) diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index bb8810c49..8dc526325 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -8,13 +8,8 @@ import damask from damask import Rotation from damask import Orientation from damask import Lattice - -n = 1000 -@pytest.fixture -def default(): - """A set of n random rotations.""" - return [Rotation.from_random() for r in range(n)] +n = 1000 @pytest.fixture def reference_dir(reference_dir_base): @@ -28,10 +23,10 @@ class TestOrientation: {'label':'green','RGB':[0,1,0],'direction':[0,1,1]}, {'label':'blue', 'RGB':[0,0,1],'direction':[1,1,1]}]) @pytest.mark.parametrize('lattice',['fcc','bcc']) - def test_IPF_cubic(self,default,color,lattice): + def test_IPF_cubic(self,color,lattice): cube = damask.Orientation(damask.Rotation(),lattice) for direction in set(permutations(np.array(color['direction']))): - assert np.allclose(cube.IPFcolor(direction),np.array(color['RGB'])) + assert np.allclose(cube.IPFcolor(np.array(direction)),np.array(color['RGB'])) @pytest.mark.parametrize('lattice',Lattice.lattices) def test_IPF(self,lattice): @@ -57,7 +52,7 @@ class TestOrientation: reference = os.path.join(reference_dir,'{}_{}.txt'.format(lattice,model)) ori = Orientation(Rotation(),lattice) eu = np.array([o.rotation.asEulers(degrees=True) for o in ori.relatedOrientations(model)]) - if update: + if update: coords = np.array([(1,i+1) for i,x in enumerate(eu)]) table = damask.Table(eu,{'Eulers':(3,)}) table.add('pos',coords) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index ffa1548d7..23ab03ff6 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -177,7 +177,7 @@ class TestRotation: (Rotation.from_Rodrigues, np.array([1,0,0,-1])), (Rotation.from_Rodrigues, np.array([1,1,0,1])), (Rotation.from_homochoric, np.array([2,2,2])) ]) - def test_invalid(self,function,invalid): + def test_invalid_value(self,function,invalid): with pytest.raises(ValueError): function(invalid) @@ -302,8 +302,42 @@ class TestRotation: assert np.all(np.take_along_axis(np.take_along_axis(a,f,-1),b,-1) == a) - @pytest.mark.parametrize('x',[np.random.rand(3), - np.random.rand(3,3)]) - def test_rotation_identity(self,x): + @pytest.mark.parametrize('data',[np.random.rand(3), + np.random.rand(3,3), + np.random.rand(3,3,3,3)]) + def test_rotate_identity(self,data): R = Rotation() - assert np.allclose(x,R*x) + assert np.allclose(data,R*data) + + @pytest.mark.parametrize('data',[np.random.rand(3), + np.random.rand(3,3), + np.random.rand(3,3,3,3)]) + def test_rotate_360deg(self,data): + phi_1 = np.random.random() * np.pi + phi_2 = 2*np.pi - phi_1 + R_1 = Rotation.from_Eulers(np.array([phi_1,0.,0.])) + R_2 = Rotation.from_Eulers(np.array([0.,0.,phi_2])) + assert np.allclose(data,R_2*(R_1*data)) + + @pytest.mark.parametrize('data',[np.random.rand(3), + np.random.rand(3,3), + np.random.rand(3,3,3,3)]) + def test_rotate_inverse(self,data): + R = Rotation.from_random() + assert np.allclose(data,R.inversed()*(R*data)) + + @pytest.mark.parametrize('data',[np.random.rand(4), + np.random.rand(3,2), + np.random.rand(3,2,3,3)]) + def test_rotate_invalid_shape(self,data): + R = Rotation.from_random() + with pytest.raises(ValueError): + R*data + + @pytest.mark.parametrize('data',['does_not_work', + (1,2), + 5]) + def test_rotate_invalid_type(self,data): + R = Rotation.from_random() + with pytest.raises(TypeError): + R*data From ae20ab8d42134f05aa41481dc69f5092f5fe20e1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 16 May 2020 17:05:03 +0200 Subject: [PATCH 045/958] more reasonable name --- src/IO.f90 | 6 +++--- src/YAML_types.f90 | 6 +++--- src/lattice.f90 | 6 +++--- src/math.f90 | 8 ++++---- src/prec.f90 | 8 ++++---- src/quaternions.f90 | 6 +++--- src/rotations.f90 | 6 +++--- 7 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index 1bd2df833..c49ca66d0 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -49,7 +49,7 @@ subroutine IO_init write(6,'(/,a)') ' <<<+- IO init -+>>>'; flush(6) - call unitTest + call selfTest end subroutine IO_init @@ -696,7 +696,7 @@ end subroutine IO_warning !-------------------------------------------------------------------------------------------------- !> @brief check correctness of some IO functions !-------------------------------------------------------------------------------------------------- -subroutine unitTest +subroutine selfTest integer, dimension(:), allocatable :: chunkPos character(len=:), allocatable :: str @@ -745,6 +745,6 @@ subroutine unitTest str = IO_rmComment(' ab #') if (str /= ' ab'.or. len(str) /= 3) call IO_error(0,ext_msg='IO_rmComment/7') -end subroutine unitTest +end subroutine selfTest end module IO diff --git a/src/YAML_types.f90 b/src/YAML_types.f90 index 07541bc1a..0282fcb98 100644 --- a/src/YAML_types.f90 +++ b/src/YAML_types.f90 @@ -180,7 +180,7 @@ subroutine YAML_types_init write(6,'(/,a)') ' <<<+- YAML_types init -+>>>' - call unitTest + call selfTest end subroutine YAML_types_init @@ -188,7 +188,7 @@ end subroutine YAML_types_init !-------------------------------------------------------------------------------------------------- !> @brief check correctness of some type bound procedures !-------------------------------------------------------------------------------------------------- -subroutine unitTest +subroutine selfTest class(tNode), pointer :: s1,s2 allocate(tScalar::s1) @@ -260,7 +260,7 @@ subroutine unitTest if(n%get_asString(1) /= 'True') call IO_error(0,ext_msg='byIndex_asString') end block -end subroutine unitTest +end subroutine selfTest !--------------------------------------------------------------------------------------------------- diff --git a/src/lattice.f90 b/src/lattice.f90 index cf985cc19..7a732d2fd 100644 --- a/src/lattice.f90 +++ b/src/lattice.f90 @@ -529,7 +529,7 @@ subroutine lattice_init lattice_DamageMobility(p) = config_phase(p)%getFloat('damage_mobility',defaultVal=0.0_pReal) ! SHOULD NOT BE PART OF LATTICE END - call unitTest + call selfTest enddo @@ -2295,7 +2295,7 @@ end function equivalent_mu !-------------------------------------------------------------------------------------------------- !> @brief check correctness of some lattice functions !-------------------------------------------------------------------------------------------------- -subroutine unitTest +subroutine selfTest real(pReal), dimension(:,:,:), allocatable :: CoSy real(pReal), dimension(:,:), allocatable :: system @@ -2324,6 +2324,6 @@ subroutine unitTest if(dNeq(lambda*0.5_pReal/(lambda+equivalent_mu(C,'reuss')),equivalent_nu(C,'reuss'),1.0e-12_pReal)) & call IO_error(0,ext_msg='equivalent_nu/reuss') -end subroutine unitTest +end subroutine selfTest end module lattice diff --git a/src/math.f90 b/src/math.f90 index 070751de8..33c7c0310 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -79,7 +79,7 @@ module math !--------------------------------------------------------------------------------------------------- private :: & - unitTest + selfTest contains @@ -113,7 +113,7 @@ subroutine math_init call random_seed(put = randInit) - call unitTest + call selfTest end subroutine math_init @@ -1192,7 +1192,7 @@ end function math_clip !-------------------------------------------------------------------------------------------------- !> @brief check correctness of some math functions !-------------------------------------------------------------------------------------------------- -subroutine unitTest +subroutine selfTest integer, dimension(2,4) :: & sort_in_ = reshape([+1,+5, +5,+6, -1,-1, +3,-2],[2,4]) @@ -1330,6 +1330,6 @@ subroutine unitTest if(dNeq0(math_LeviCivita(ijk(1),ijk(2),ijk(3))))& call IO_error(0,ext_msg='math_LeviCivita') -end subroutine unitTest +end subroutine selfTest end module math diff --git a/src/prec.f90 b/src/prec.f90 index 646f7dd69..73649f76b 100644 --- a/src/prec.f90 +++ b/src/prec.f90 @@ -75,7 +75,7 @@ module prec emptyStringArray = [character(len=pStringLen)::] private :: & - unitTest + selfTest contains @@ -94,7 +94,7 @@ subroutine prec_init write(6,'(a,e10.3)') ' Minimum value: ',tiny(0.0_pReal) write(6,'(a,i3)') ' Decimal precision: ',precision(0.0_pReal) - call unitTest + call selfTest end subroutine prec_init @@ -233,7 +233,7 @@ end function cNeq !-------------------------------------------------------------------------------------------------- !> @brief check correctness of some prec functions !-------------------------------------------------------------------------------------------------- -subroutine unitTest +subroutine selfTest integer, allocatable, dimension(:) :: realloc_lhs_test real(pReal), dimension(2) :: r @@ -249,6 +249,6 @@ subroutine unitTest realloc_lhs_test = [1,2] if (any(realloc_lhs_test/=[1,2])) call quit(9000) -end subroutine unitTest +end subroutine selfTest end module prec diff --git a/src/quaternions.f90 b/src/quaternions.f90 index 991f970ab..f5f5276e8 100644 --- a/src/quaternions.f90 +++ b/src/quaternions.f90 @@ -112,7 +112,7 @@ contains subroutine quaternions_init write(6,'(/,a)') ' <<<+- quaternions init -+>>>'; flush(6) - call unitTest + call selfTest end subroutine quaternions_init @@ -457,7 +457,7 @@ end function inverse !-------------------------------------------------------------------------------------------------- !> @brief check correctness of some quaternions functions !-------------------------------------------------------------------------------------------------- -subroutine unitTest +subroutine selfTest real(pReal), dimension(4) :: qu type(quaternion) :: q, q_2 @@ -524,7 +524,7 @@ subroutine unitTest endif #endif -end subroutine unitTest +end subroutine selfTest end module quaternions diff --git a/src/rotations.f90 b/src/rotations.f90 index fea642170..42afb48e9 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -105,7 +105,7 @@ subroutine rotations_init call quaternions_init write(6,'(/,a)') ' <<<+- rotations init -+>>>'; flush(6) - call unitTest + call selfTest end subroutine rotations_init @@ -1340,7 +1340,7 @@ end function GetPyramidOrder !-------------------------------------------------------------------------------------------------- !> @brief check correctness of some rotations functions !-------------------------------------------------------------------------------------------------- -subroutine unitTest +subroutine selfTest type(rotation) :: R real(pReal), dimension(4) :: qu, ax, ro @@ -1443,7 +1443,7 @@ subroutine unitTest enddo -end subroutine unitTest +end subroutine selfTest end module rotations From 044f069437d5b0b4a6d5a6039e803abeda22fc5b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 16 May 2020 17:06:55 +0200 Subject: [PATCH 046/958] bugfix: selected wrong data --- python/damask/grid_filters.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/grid_filters.py b/python/damask/grid_filters.py index 62e9147f7..76ab20872 100644 --- a/python/damask/grid_filters.py +++ b/python/damask/grid_filters.py @@ -361,7 +361,7 @@ def node_2_cell(node_data): + _np.roll(node_data,1,(0,)) + _np.roll(node_data,1,(1,)) + _np.roll(node_data,1,(2,)) + _np.roll(node_data,1,(0,1)) + _np.roll(node_data,1,(1,2)) + _np.roll(node_data,1,(2,0)))*0.125 - return c[:-1,:-1,:-1] + return c[1:,1:,1:] def node_coord0_gridSizeOrigin(coord0,ordered=True): From a4dfd7fc744e34b5ee7b6e0320c7be19c0a90b35 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 16 May 2020 17:23:05 +0200 Subject: [PATCH 047/958] missing tests --- python/tests/test_Table.py | 15 ++++++++++----- python/tests/test_grid_filters.py | 19 ++++++++++++++++--- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/python/tests/test_Table.py b/python/tests/test_Table.py index cfcdd8813..ac7444808 100644 --- a/python/tests/test_Table.py +++ b/python/tests/test_Table.py @@ -18,7 +18,7 @@ def reference_dir(reference_dir_base): return os.path.join(reference_dir_base,'Table') class TestTable: - + def test_get_scalar(self,default): d = default.get('s') assert np.allclose(d,1.0) and d.shape[1:] == (1,) @@ -29,12 +29,12 @@ class TestTable: def test_get_tensor(self,default): d = default.get('F') - assert np.allclose(d,1.0) and d.shape[1:] == (3,3) + assert np.allclose(d,1.0) and d.shape[1:] == (3,3) def test_get_component(self,default): d = default.get('5_F') assert np.allclose(d,1.0) and d.shape[1:] == (1,) - + def test_write_read_str(self,default,tmpdir): default.to_ASCII(str(tmpdir.join('default.txt'))) new = Table.from_ASCII(str(tmpdir.join('default.txt'))) @@ -69,15 +69,20 @@ class TestTable: def test_read_strange(self,reference_dir,fname): with open(os.path.join(reference_dir,fname)) as f: Table.from_ASCII(f) - + def test_set(self,default): default.set('F',np.zeros((5,3,3)),'set to zero') d=default.get('F') assert np.allclose(d,0.0) and d.shape[1:] == (3,3) + def test_set_component(self,default): + default.set('1_F',np.zeros((5)),'set to zero') + d=default.get('F') + assert np.allclose(d[...,0,0],0.0) and d.shape[1:] == (3,3) + def test_labels(self,default): assert default.labels == ['F','v','s'] - + def test_add(self,default): d = np.random.random((5,9)) default.add('nine',d,'random data') diff --git a/python/tests/test_grid_filters.py b/python/tests/test_grid_filters.py index ab60c0446..8a343e26b 100644 --- a/python/tests/test_grid_filters.py +++ b/python/tests/test_grid_filters.py @@ -42,12 +42,25 @@ class TestGridFilters: assert np.allclose(grid_filters.node_displacement_fluct(size,F), grid_filters.cell_2_node(grid_filters.cell_displacement_fluct(size,F))) - def test_interpolation_nonperiodic(self): + def test_interpolation_to_node(self): size = np.random.random(3) grid = np.random.randint(8,32,(3)) F = np.random.random(tuple(grid)+(3,3)) - assert np.allclose(grid_filters.node_coord(size,F) [1:-1,1:-1,1:-1],grid_filters.cell_2_node( - grid_filters.cell_coord(size,F))[1:-1,1:-1,1:-1]) + assert np.allclose(grid_filters.node_coord(size,F) [1:-1,1:-1,1:-1], + grid_filters.cell_2_node(grid_filters.cell_coord(size,F))[1:-1,1:-1,1:-1]) + + def test_interpolation_to_cell(self): + grid = np.random.randint(1,30,(3)) + + node_coord_x = np.linspace(0,np.pi*2,num=grid[0]+1) + node_field_x = np.cos(node_coord_x) + node_field = np.broadcast_to(node_field_x.reshape(-1,1,1),grid+1) + + cell_coord_x = node_coord_x[:-1]+node_coord_x[1]*.5 + cell_field_x = np.interp(cell_coord_x,node_coord_x,node_field_x,period=np.pi*2.) + cell_field = np.broadcast_to(cell_field_x.reshape(-1,1,1),grid) + + assert np.allclose(cell_field,grid_filters.node_2_cell(node_field)) @pytest.mark.parametrize('mode',['cell','node']) def test_coord0_origin(self,mode): From d8764f2b8fee0ac13ecf0613b28f8a971ddbfabe Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 16 May 2020 18:32:30 +0200 Subject: [PATCH 048/958] status is not the first argument --- src/DAMASK_interface.f90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index 56824d820..8e4369840 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -237,13 +237,13 @@ subroutine DAMASK_interface_init write(6,'(a,/)')' Prints this message and exits' call quit(0) ! normal Termination case ('-l', '--load', '--loadcase') - call get_command_argument(i+1,loadCaseArg,err) + call get_command_argument(i+1,loadCaseArg,status=err) case ('-g', '--geom', '--geometry') - call get_command_argument(i+1,geometryArg,err) + call get_command_argument(i+1,geometryArg,status=err) case ('-w', '--wd', '--workingdir', '--workingdirectory') - call get_command_argument(i+1,workingDirArg,err) + call get_command_argument(i+1,workingDirArg,status=err) case ('-r', '--rs', '--restart') - call get_command_argument(i+1,arg,err) + call get_command_argument(i+1,arg,status=err) read(arg,*,iostat=stat) interface_restartInc if (interface_restartInc < 0 .or. stat /=0) then write(6,'(/,a)') ' ERROR: Could not parse restart increment: '//trim(arg) From 2f8501dbaed9fd964bfb8d82ba63af89cbf79cb2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 16 May 2020 20:55:05 +0200 Subject: [PATCH 049/958] current state (misc-improvements and master) --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 038af521a..72d526e57 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 038af521a1ef70ed77b132c426bc1a4880db01ef +Subproject commit 72d526e5750366a9efe4d1fd9d92e0d1ecd2cd38 From 74bfed96b24b23275a27e2df91ded6d0c937af02 Mon Sep 17 00:00:00 2001 From: Test User Date: Sat, 16 May 2020 23:34:38 +0200 Subject: [PATCH 050/958] [skip ci] updated version information after successful test of v2.0.3-2504-gcee9daff --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 29f305cbe..3ba40668a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2464-g90f93d23 +v2.0.3-2504-gcee9daff From a90865c8777616925afedc632f0b747435415022 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 16 May 2020 21:56:30 +0200 Subject: [PATCH 051/958] non-vectorized versions not needed anymore using them only for testing purposes --- python/damask/_rotation.py | 672 +++++++++------------------- python/tests/rotation_conversion.py | 399 +++++++++++++++++ python/tests/test_Rotation.py | 127 +++--- 3 files changed, 658 insertions(+), 540 deletions(-) create mode 100644 python/tests/rotation_conversion.py diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 7abe06110..5258145e0 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -549,67 +549,42 @@ class Rotation: #---------- Quaternion ---------- @staticmethod def qu2om(qu): - if len(qu.shape) == 1: - """Quaternion to rotation matrix.""" - qq = qu[0]**2-(qu[1]**2 + qu[2]**2 + qu[3]**2) - om = np.diag(qq + 2.0*np.array([qu[1],qu[2],qu[3]])**2) - - om[0,1] = 2.0*(qu[2]*qu[1]+qu[0]*qu[3]) - om[1,0] = 2.0*(qu[1]*qu[2]-qu[0]*qu[3]) - om[1,2] = 2.0*(qu[3]*qu[2]+qu[0]*qu[1]) - om[2,1] = 2.0*(qu[2]*qu[3]-qu[0]*qu[1]) - om[2,0] = 2.0*(qu[1]*qu[3]+qu[0]*qu[2]) - om[0,2] = 2.0*(qu[3]*qu[1]-qu[0]*qu[2]) - else: - qq = qu[...,0:1]**2-(qu[...,1:2]**2 + qu[...,2:3]**2 + qu[...,3:4]**2) - om = np.block([qq + 2.0*qu[...,1:2]**2, - 2.0*(qu[...,2:3]*qu[...,1:2]+qu[...,0:1]*qu[...,3:4]), - 2.0*(qu[...,3:4]*qu[...,1:2]-qu[...,0:1]*qu[...,2:3]), - 2.0*(qu[...,1:2]*qu[...,2:3]-qu[...,0:1]*qu[...,3:4]), - qq + 2.0*qu[...,2:3]**2, - 2.0*(qu[...,3:4]*qu[...,2:3]+qu[...,0:1]*qu[...,1:2]), - 2.0*(qu[...,1:2]*qu[...,3:4]+qu[...,0:1]*qu[...,2:3]), - 2.0*(qu[...,2:3]*qu[...,3:4]-qu[...,0:1]*qu[...,1:2]), - qq + 2.0*qu[...,3:4]**2, - ]).reshape(qu.shape[:-1]+(3,3)) + qq = qu[...,0:1]**2-(qu[...,1:2]**2 + qu[...,2:3]**2 + qu[...,3:4]**2) + om = np.block([qq + 2.0*qu[...,1:2]**2, + 2.0*(qu[...,2:3]*qu[...,1:2]+qu[...,0:1]*qu[...,3:4]), + 2.0*(qu[...,3:4]*qu[...,1:2]-qu[...,0:1]*qu[...,2:3]), + 2.0*(qu[...,1:2]*qu[...,2:3]-qu[...,0:1]*qu[...,3:4]), + qq + 2.0*qu[...,2:3]**2, + 2.0*(qu[...,3:4]*qu[...,2:3]+qu[...,0:1]*qu[...,1:2]), + 2.0*(qu[...,1:2]*qu[...,3:4]+qu[...,0:1]*qu[...,2:3]), + 2.0*(qu[...,2:3]*qu[...,3:4]-qu[...,0:1]*qu[...,1:2]), + qq + 2.0*qu[...,3:4]**2, + ]).reshape(qu.shape[:-1]+(3,3)) return om if _P < 0.0 else np.swapaxes(om,(-1,-2)) @staticmethod def qu2eu(qu): """Quaternion to Bunge-Euler angles.""" - if len(qu.shape) == 1: - q03 = qu[0]**2+qu[3]**2 - q12 = qu[1]**2+qu[2]**2 - chi = np.sqrt(q03*q12) - if np.abs(q12) < 1.e-8: - eu = np.array([np.arctan2(-_P*2.0*qu[0]*qu[3],qu[0]**2-qu[3]**2), 0.0, 0.0]) - elif np.abs(q03) < 1.e-8: - eu = np.array([np.arctan2( 2.0*qu[1]*qu[2],qu[1]**2-qu[2]**2), np.pi, 0.0]) - else: - eu = np.array([np.arctan2((-_P*qu[0]*qu[2]+qu[1]*qu[3])*chi, (-_P*qu[0]*qu[1]-qu[2]*qu[3])*chi ), - np.arctan2( 2.0*chi, q03-q12 ), - np.arctan2(( _P*qu[0]*qu[2]+qu[1]*qu[3])*chi, (-_P*qu[0]*qu[1]+qu[2]*qu[3])*chi )]) - else: - q02 = qu[...,0:1]*qu[...,2:3] - q13 = qu[...,1:2]*qu[...,3:4] - q01 = qu[...,0:1]*qu[...,1:2] - q23 = qu[...,2:3]*qu[...,3:4] - q03_s = qu[...,0:1]**2+qu[...,3:4]**2 - q12_s = qu[...,1:2]**2+qu[...,2:3]**2 - chi = np.sqrt(q03_s*q12_s) + q02 = qu[...,0:1]*qu[...,2:3] + q13 = qu[...,1:2]*qu[...,3:4] + q01 = qu[...,0:1]*qu[...,1:2] + q23 = qu[...,2:3]*qu[...,3:4] + q03_s = qu[...,0:1]**2+qu[...,3:4]**2 + q12_s = qu[...,1:2]**2+qu[...,2:3]**2 + chi = np.sqrt(q03_s*q12_s) - eu = np.where(np.abs(q12_s) < 1.0e-8, - np.block([np.arctan2(-_P*2.0*qu[...,0:1]*qu[...,3:4],qu[...,0:1]**2-qu[...,3:4]**2), - np.zeros(qu.shape[:-1]+(2,))]), - np.where(np.abs(q03_s) < 1.0e-8, - np.block([np.arctan2( 2.0*qu[...,1:2]*qu[...,2:3],qu[...,1:2]**2-qu[...,2:3]**2), - np.broadcast_to(np.pi,qu.shape[:-1]+(1,)), - np.zeros(qu.shape[:-1]+(1,))]), - np.block([np.arctan2((-_P*q02+q13)*chi, (-_P*q01-q23)*chi), - np.arctan2( 2.0*chi, q03_s-q12_s ), - np.arctan2(( _P*q02+q13)*chi, (-_P*q01+q23)*chi)]) - ) - ) + eu = np.where(np.abs(q12_s) < 1.0e-8, + np.block([np.arctan2(-_P*2.0*qu[...,0:1]*qu[...,3:4],qu[...,0:1]**2-qu[...,3:4]**2), + np.zeros(qu.shape[:-1]+(2,))]), + np.where(np.abs(q03_s) < 1.0e-8, + np.block([np.arctan2( 2.0*qu[...,1:2]*qu[...,2:3],qu[...,1:2]**2-qu[...,2:3]**2), + np.broadcast_to(np.pi,qu.shape[:-1]+(1,)), + np.zeros(qu.shape[:-1]+(1,))]), + np.block([np.arctan2((-_P*q02+q13)*chi, (-_P*q01-q23)*chi), + np.arctan2( 2.0*chi, q03_s-q12_s ), + np.arctan2(( _P*q02+q13)*chi, (-_P*q01+q23)*chi)]) + ) + ) # reduce Euler angles to definition range eu[np.abs(eu)<1.e-6] = 0.0 eu = np.where(eu<0, (eu+2.0*np.pi)%np.array([2.0*np.pi,np.pi,2.0*np.pi]),eu) @@ -622,65 +597,38 @@ class Rotation: Modified version of the original formulation, should be numerically more stable """ - if len(qu.shape) == 1: - if np.abs(np.sum(qu[1:4]**2)) < 1.e-6: # set axis to [001] if the angle is 0/360 - ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) - elif qu[0] > 1.e-6: - s = np.sign(qu[0])/np.sqrt(qu[1]**2+qu[2]**2+qu[3]**2) - omega = 2.0 * np.arccos(np.clip(qu[0],-1.0,1.0)) - ax = ax = np.array([ qu[1]*s, qu[2]*s, qu[3]*s, omega ]) - else: - ax = ax = np.array([ qu[1], qu[2], qu[3], np.pi]) - else: - with np.errstate(invalid='ignore',divide='ignore'): - s = np.sign(qu[...,0:1])/np.sqrt(qu[...,1:2]**2+qu[...,2:3]**2+qu[...,3:4]**2) - omega = 2.0 * np.arccos(np.clip(qu[...,0:1],-1.0,1.0)) - ax = np.where(np.broadcast_to(qu[...,0:1] < 1.0e-6,qu.shape), - np.block([qu[...,1:4],np.broadcast_to(np.pi,qu.shape[:-1]+(1,))]), - np.block([qu[...,1:4]*s,omega])) - ax[np.sum(np.abs(qu[...,1:4])**2,axis=-1) < 1.0e-6,] = [0.0, 0.0, 1.0, 0.0] + with np.errstate(invalid='ignore',divide='ignore'): + s = np.sign(qu[...,0:1])/np.sqrt(qu[...,1:2]**2+qu[...,2:3]**2+qu[...,3:4]**2) + omega = 2.0 * np.arccos(np.clip(qu[...,0:1],-1.0,1.0)) + ax = np.where(np.broadcast_to(qu[...,0:1] < 1.0e-6,qu.shape), + np.block([qu[...,1:4],np.broadcast_to(np.pi,qu.shape[:-1]+(1,))]), + np.block([qu[...,1:4]*s,omega])) + ax[np.sum(np.abs(qu[...,1:4])**2,axis=-1) < 1.0e-6,] = [0.0, 0.0, 1.0, 0.0] return ax @staticmethod def qu2ro(qu): """Quaternion to Rodrigues-Frank vector.""" - if len(qu.shape) == 1: - if iszero(qu[0]): - ro = np.array([qu[1], qu[2], qu[3], np.inf]) - else: - s = np.linalg.norm(qu[1:4]) - ro = np.array([0.0,0.0,_P,0.0] if iszero(s) else \ - [ qu[1]/s, qu[2]/s, qu[3]/s, np.tan(np.arccos(np.clip(qu[0],-1.0,1.0)))]) - else: - with np.errstate(invalid='ignore',divide='ignore'): - s = np.linalg.norm(qu[...,1:4],axis=-1,keepdims=True) - ro = np.where(np.broadcast_to(np.abs(qu[...,0:1]) < 1.0e-12,qu.shape), - np.block([qu[...,1:2], qu[...,2:3], qu[...,3:4], np.broadcast_to(np.inf,qu.shape[:-1]+(1,))]), - np.block([qu[...,1:2]/s,qu[...,2:3]/s,qu[...,3:4]/s, - np.tan(np.arccos(np.clip(qu[...,0:1],-1.0,1.0))) - ]) - ) - ro[np.abs(s).squeeze(-1) < 1.0e-12] = [0.0,0.0,_P,0.0] + with np.errstate(invalid='ignore',divide='ignore'): + s = np.linalg.norm(qu[...,1:4],axis=-1,keepdims=True) + ro = np.where(np.broadcast_to(np.abs(qu[...,0:1]) < 1.0e-12,qu.shape), + np.block([qu[...,1:2], qu[...,2:3], qu[...,3:4], np.broadcast_to(np.inf,qu.shape[:-1]+(1,))]), + np.block([qu[...,1:2]/s,qu[...,2:3]/s,qu[...,3:4]/s, + np.tan(np.arccos(np.clip(qu[...,0:1],-1.0,1.0))) + ]) + ) + ro[np.abs(s).squeeze(-1) < 1.0e-12] = [0.0,0.0,_P,0.0] return ro @staticmethod def qu2ho(qu): """Quaternion to homochoric vector.""" - if len(qu.shape) == 1: - omega = 2.0 * np.arccos(np.clip(qu[0],-1.0,1.0)) - if np.abs(omega) < 1.0e-12: - ho = np.zeros(3) - else: - ho = np.array([qu[1], qu[2], qu[3]]) - f = 0.75 * ( omega - np.sin(omega) ) - ho = ho/np.linalg.norm(ho) * f**(1./3.) - else: - with np.errstate(invalid='ignore'): - omega = 2.0 * np.arccos(np.clip(qu[...,0:1],-1.0,1.0)) - ho = np.where(np.abs(omega) < 1.0e-12, - np.zeros(3), - qu[...,1:4]/np.linalg.norm(qu[...,1:4],axis=-1,keepdims=True) \ - * (0.75*(omega - np.sin(omega)))**(1./3.)) + with np.errstate(invalid='ignore'): + omega = 2.0 * np.arccos(np.clip(qu[...,0:1],-1.0,1.0)) + ho = np.where(np.abs(omega) < 1.0e-12, + np.zeros(3), + qu[...,1:4]/np.linalg.norm(qu[...,1:4],axis=-1,keepdims=True) \ + * (0.75*(omega - np.sin(omega)))**(1./3.)) return ho @staticmethod @@ -702,27 +650,18 @@ class Rotation: @staticmethod def om2eu(om): """Rotation matrix to Bunge-Euler angles.""" - if len(om.shape) == 2: - if not np.isclose(np.abs(om[2,2]),1.0,1.e-4): - zeta = 1.0/np.sqrt(1.0-om[2,2]**2) - eu = np.array([np.arctan2(om[2,0]*zeta,-om[2,1]*zeta), - np.arccos(om[2,2]), - np.arctan2(om[0,2]*zeta, om[1,2]*zeta)]) - else: - eu = np.array([np.arctan2( om[0,1],om[0,0]), np.pi*0.5*(1-om[2,2]),0.0]) # following the paper, not the reference implementation - else: - with np.errstate(invalid='ignore',divide='ignore'): - zeta = 1.0/np.sqrt(1.0-om[...,2,2:3]**2) - eu = np.where(np.isclose(np.abs(om[...,2,2:3]),1.0,1e-4), - np.block([np.arctan2(om[...,0,1:2],om[...,0,0:1]), - np.pi*0.5*(1-om[...,2,2:3]), - np.zeros(om.shape[:-2]+(1,)), - ]), - np.block([np.arctan2(om[...,2,0:1]*zeta,-om[...,2,1:2]*zeta), - np.arccos(om[...,2,2:3]), - np.arctan2(om[...,0,2:3]*zeta,+om[...,1,2:3]*zeta) - ]) - ) + with np.errstate(invalid='ignore',divide='ignore'): + zeta = 1.0/np.sqrt(1.0-om[...,2,2:3]**2) + eu = np.where(np.isclose(np.abs(om[...,2,2:3]),1.0,1e-4), + np.block([np.arctan2(om[...,0,1:2],om[...,0,0:1]), + np.pi*0.5*(1-om[...,2,2:3]), + np.zeros(om.shape[:-2]+(1,)), + ]), + np.block([np.arctan2(om[...,2,0:1]*zeta,-om[...,2,1:2]*zeta), + np.arccos(om[...,2,2:3]), + np.arctan2(om[...,0,2:3]*zeta,+om[...,1,2:3]*zeta) + ]) + ) eu[np.abs(eu)<1.e-6] = 0.0 eu = np.where(eu<0, (eu+2.0*np.pi)%np.array([2.0*np.pi,np.pi,2.0*np.pi]),eu) return eu @@ -731,40 +670,23 @@ class Rotation: @staticmethod def om2ax(om): """Rotation matrix to axis angle pair.""" - if len(om.shape) == 2: - ax=np.empty(4) - - # first get the rotation angle - t = 0.5*(om.trace() -1.0) - ax[3] = np.arccos(np.clip(t,-1.0,1.0)) - if np.abs(ax[3])<1.e-6: - ax = np.array([ 0.0, 0.0, 1.0, 0.0]) - else: - w,vr = np.linalg.eig(om) - # next, find the eigenvalue (1,0j) - i = np.where(np.isclose(w,1.0+0.0j))[0][0] - ax[0:3] = np.real(vr[0:3,i]) - diagDelta = -_P*np.array([om[1,2]-om[2,1],om[2,0]-om[0,2],om[0,1]-om[1,0]]) - diagDelta[np.abs(diagDelta)<1.e-6] = 1.0 - ax[0:3] = np.where(np.abs(diagDelta)<0, ax[0:3],np.abs(ax[0:3])*np.sign(diagDelta)) - else: - diag_delta = -_P*np.block([om[...,1,2:3]-om[...,2,1:2], - om[...,2,0:1]-om[...,0,2:3], - om[...,0,1:2]-om[...,1,0:1] - ]) - diag_delta[np.abs(diag_delta)<1.e-6] = 1.0 - t = 0.5*(om.trace(axis2=-2,axis1=-1) -1.0).reshape(om.shape[:-2]+(1,)) - w,vr = np.linalg.eig(om) - # mask duplicated real eigenvalues - w[np.isclose(w[...,0],1.0+0.0j),1:] = 0. - w[np.isclose(w[...,1],1.0+0.0j),2:] = 0. - vr = np.swapaxes(vr,-1,-2) - ax = np.where(np.abs(diag_delta)<0, - np.real(vr[np.isclose(w,1.0+0.0j)]).reshape(om.shape[:-2]+(3,)), - np.abs(np.real(vr[np.isclose(w,1.0+0.0j)]).reshape(om.shape[:-2]+(3,))) \ - *np.sign(diag_delta)) - ax = np.block([ax,np.arccos(np.clip(t,-1.0,1.0))]) - ax[np.abs(ax[...,3])<1.e-6] = [ 0.0, 0.0, 1.0, 0.0] + diag_delta = -_P*np.block([om[...,1,2:3]-om[...,2,1:2], + om[...,2,0:1]-om[...,0,2:3], + om[...,0,1:2]-om[...,1,0:1] + ]) + diag_delta[np.abs(diag_delta)<1.e-6] = 1.0 + t = 0.5*(om.trace(axis2=-2,axis1=-1) -1.0).reshape(om.shape[:-2]+(1,)) + w,vr = np.linalg.eig(om) + # mask duplicated real eigenvalues + w[np.isclose(w[...,0],1.0+0.0j),1:] = 0. + w[np.isclose(w[...,1],1.0+0.0j),2:] = 0. + vr = np.swapaxes(vr,-1,-2) + ax = np.where(np.abs(diag_delta)<0, + np.real(vr[np.isclose(w,1.0+0.0j)]).reshape(om.shape[:-2]+(3,)), + np.abs(np.real(vr[np.isclose(w,1.0+0.0j)]).reshape(om.shape[:-2]+(3,))) \ + *np.sign(diag_delta)) + ax = np.block([ax,np.arccos(np.clip(t,-1.0,1.0))]) + ax[np.abs(ax[...,3])<1.e-6] = [ 0.0, 0.0, 1.0, 0.0] return ax @@ -788,103 +710,61 @@ class Rotation: @staticmethod def eu2qu(eu): """Bunge-Euler angles to quaternion.""" - if len(eu.shape) == 1: - ee = 0.5*eu - cPhi = np.cos(ee[1]) - sPhi = np.sin(ee[1]) - qu = np.array([ cPhi*np.cos(ee[0]+ee[2]), - -_P*sPhi*np.cos(ee[0]-ee[2]), - -_P*sPhi*np.sin(ee[0]-ee[2]), - -_P*cPhi*np.sin(ee[0]+ee[2]) ]) - if qu[0] < 0.0: qu*=-1 - else: - ee = 0.5*eu - cPhi = np.cos(ee[...,1:2]) - sPhi = np.sin(ee[...,1:2]) - qu = np.block([ cPhi*np.cos(ee[...,0:1]+ee[...,2:3]), - -_P*sPhi*np.cos(ee[...,0:1]-ee[...,2:3]), - -_P*sPhi*np.sin(ee[...,0:1]-ee[...,2:3]), - -_P*cPhi*np.sin(ee[...,0:1]+ee[...,2:3])]) - qu[qu[...,0]<0.0]*=-1 + ee = 0.5*eu + cPhi = np.cos(ee[...,1:2]) + sPhi = np.sin(ee[...,1:2]) + qu = np.block([ cPhi*np.cos(ee[...,0:1]+ee[...,2:3]), + -_P*sPhi*np.cos(ee[...,0:1]-ee[...,2:3]), + -_P*sPhi*np.sin(ee[...,0:1]-ee[...,2:3]), + -_P*cPhi*np.sin(ee[...,0:1]+ee[...,2:3])]) + qu[qu[...,0]<0.0]*=-1 return qu @staticmethod def eu2om(eu): """Bunge-Euler angles to rotation matrix.""" - if len(eu.shape) == 1: - c = np.cos(eu) - s = np.sin(eu) - - om = np.array([[+c[0]*c[2]-s[0]*s[2]*c[1], +s[0]*c[2]+c[0]*s[2]*c[1], +s[2]*s[1]], - [-c[0]*s[2]-s[0]*c[2]*c[1], -s[0]*s[2]+c[0]*c[2]*c[1], +c[2]*s[1]], - [+s[0]*s[1], -c[0]*s[1], +c[1] ]]) - else: - c = np.cos(eu) - s = np.sin(eu) - om = np.block([+c[...,0:1]*c[...,2:3]-s[...,0:1]*s[...,2:3]*c[...,1:2], - +s[...,0:1]*c[...,2:3]+c[...,0:1]*s[...,2:3]*c[...,1:2], - +s[...,2:3]*s[...,1:2], - -c[...,0:1]*s[...,2:3]-s[...,0:1]*c[...,2:3]*c[...,1:2], - -s[...,0:1]*s[...,2:3]+c[...,0:1]*c[...,2:3]*c[...,1:2], - +c[...,2:3]*s[...,1:2], - +s[...,0:1]*s[...,1:2], - -c[...,0:1]*s[...,1:2], - +c[...,1:2] - ]).reshape(eu.shape[:-1]+(3,3)) + c = np.cos(eu) + s = np.sin(eu) + om = np.block([+c[...,0:1]*c[...,2:3]-s[...,0:1]*s[...,2:3]*c[...,1:2], + +s[...,0:1]*c[...,2:3]+c[...,0:1]*s[...,2:3]*c[...,1:2], + +s[...,2:3]*s[...,1:2], + -c[...,0:1]*s[...,2:3]-s[...,0:1]*c[...,2:3]*c[...,1:2], + -s[...,0:1]*s[...,2:3]+c[...,0:1]*c[...,2:3]*c[...,1:2], + +c[...,2:3]*s[...,1:2], + +s[...,0:1]*s[...,1:2], + -c[...,0:1]*s[...,1:2], + +c[...,1:2] + ]).reshape(eu.shape[:-1]+(3,3)) om[np.abs(om)<1.e-12] = 0.0 return om @staticmethod def eu2ax(eu): """Bunge-Euler angles to axis angle pair.""" - if len(eu.shape) == 1: - t = np.tan(eu[1]*0.5) - sigma = 0.5*(eu[0]+eu[2]) - delta = 0.5*(eu[0]-eu[2]) - tau = np.linalg.norm([t,np.sin(sigma)]) - alpha = np.pi if iszero(np.cos(sigma)) else \ - 2.0*np.arctan(tau/np.cos(sigma)) - - if np.abs(alpha)<1.e-6: - ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) - else: - ax = -_P/tau * np.array([ t*np.cos(delta), t*np.sin(delta), np.sin(sigma) ]) # passive axis angle pair so a minus sign in front - ax = np.append(ax,alpha) - if alpha < 0.0: ax *= -1.0 # ensure alpha is positive - else: - t = np.tan(eu[...,1:2]*0.5) - sigma = 0.5*(eu[...,0:1]+eu[...,2:3]) - delta = 0.5*(eu[...,0:1]-eu[...,2:3]) - tau = np.linalg.norm(np.block([t,np.sin(sigma)]),axis=-1,keepdims=True) - alpha = np.where(np.abs(np.cos(sigma))<1.e-12,np.pi,2.0*np.arctan(tau/np.cos(sigma))) - with np.errstate(invalid='ignore',divide='ignore'): - ax = np.where(np.broadcast_to(np.abs(alpha)<1.0e-12,eu.shape[:-1]+(4,)), - [0.0,0.0,1.0,0.0], - np.block([-_P/tau*t*np.cos(delta), - -_P/tau*t*np.sin(delta), - -_P/tau* np.sin(sigma), - alpha - ])) - ax[(alpha<0.0).squeeze()] *=-1 + t = np.tan(eu[...,1:2]*0.5) + sigma = 0.5*(eu[...,0:1]+eu[...,2:3]) + delta = 0.5*(eu[...,0:1]-eu[...,2:3]) + tau = np.linalg.norm(np.block([t,np.sin(sigma)]),axis=-1,keepdims=True) + alpha = np.where(np.abs(np.cos(sigma))<1.e-12,np.pi,2.0*np.arctan(tau/np.cos(sigma))) + with np.errstate(invalid='ignore',divide='ignore'): + ax = np.where(np.broadcast_to(np.abs(alpha)<1.0e-12,eu.shape[:-1]+(4,)), + [0.0,0.0,1.0,0.0], + np.block([-_P/tau*t*np.cos(delta), + -_P/tau*t*np.sin(delta), + -_P/tau* np.sin(sigma), + alpha + ])) + ax[(alpha<0.0).squeeze()] *=-1 return ax @staticmethod def eu2ro(eu): """Bunge-Euler angles to Rodrigues-Frank vector.""" - if len(eu.shape) == 1: - ro = Rotation.eu2ax(eu) # convert to axis angle pair representation - if ro[3] >= np.pi: # Differs from original implementation. check convention 5 - ro[3] = np.inf - elif iszero(ro[3]): - ro = np.array([ 0.0, 0.0, _P, 0.0 ]) - else: - ro[3] = np.tan(ro[3]*0.5) - else: - ax = Rotation.eu2ax(eu) - ro = np.block([ax[...,:3],np.tan(ax[...,3:4]*.5)]) - ro[ax[...,3]>=np.pi,3] = np.inf - ro[np.abs(ax[...,3])<1.e-16] = [ 0.0, 0.0, _P, 0.0 ] + ax = Rotation.eu2ax(eu) + ro = np.block([ax[...,:3],np.tan(ax[...,3:4]*.5)]) + ro[ax[...,3]>=np.pi,3] = np.inf + ro[np.abs(ax[...,3])<1.e-16] = [ 0.0, 0.0, _P, 0.0 ] return ro @staticmethod @@ -902,45 +782,26 @@ class Rotation: @staticmethod def ax2qu(ax): """Axis angle pair to quaternion.""" - if len(ax.shape) == 1: - if np.abs(ax[3])<1.e-6: - qu = np.array([ 1.0, 0.0, 0.0, 0.0 ]) - else: - c = np.cos(ax[3]*0.5) - s = np.sin(ax[3]*0.5) - qu = np.array([ c, ax[0]*s, ax[1]*s, ax[2]*s ]) - else: - c = np.cos(ax[...,3:4]*.5) - s = np.sin(ax[...,3:4]*.5) - qu = np.where(np.abs(ax[...,3:4])<1.e-6,[1.0, 0.0, 0.0, 0.0],np.block([c, ax[...,:3]*s])) + c = np.cos(ax[...,3:4]*.5) + s = np.sin(ax[...,3:4]*.5) + qu = np.where(np.abs(ax[...,3:4])<1.e-6,[1.0, 0.0, 0.0, 0.0],np.block([c, ax[...,:3]*s])) return qu @staticmethod def ax2om(ax): """Axis angle pair to rotation matrix.""" - if len(ax.shape) == 1: - c = np.cos(ax[3]) - s = np.sin(ax[3]) - omc = 1.0-c - om=np.diag(ax[0:3]**2*omc + c) - - for idx in [[0,1,2],[1,2,0],[2,0,1]]: - q = omc*ax[idx[0]] * ax[idx[1]] - om[idx[0],idx[1]] = q + s*ax[idx[2]] - om[idx[1],idx[0]] = q - s*ax[idx[2]] - else: - c = np.cos(ax[...,3:4]) - s = np.sin(ax[...,3:4]) - omc = 1. -c - om = np.block([c+omc*ax[...,0:1]**2, - omc*ax[...,0:1]*ax[...,1:2] + s*ax[...,2:3], - omc*ax[...,0:1]*ax[...,2:3] - s*ax[...,1:2], - omc*ax[...,0:1]*ax[...,1:2] - s*ax[...,2:3], - c+omc*ax[...,1:2]**2, - omc*ax[...,1:2]*ax[...,2:3] + s*ax[...,0:1], - omc*ax[...,0:1]*ax[...,2:3] + s*ax[...,1:2], - omc*ax[...,1:2]*ax[...,2:3] - s*ax[...,0:1], - c+omc*ax[...,2:3]**2]).reshape(ax.shape[:-1]+(3,3)) + c = np.cos(ax[...,3:4]) + s = np.sin(ax[...,3:4]) + omc = 1. -c + om = np.block([c+omc*ax[...,0:1]**2, + omc*ax[...,0:1]*ax[...,1:2] + s*ax[...,2:3], + omc*ax[...,0:1]*ax[...,2:3] - s*ax[...,1:2], + omc*ax[...,0:1]*ax[...,1:2] - s*ax[...,2:3], + c+omc*ax[...,1:2]**2, + omc*ax[...,1:2]*ax[...,2:3] + s*ax[...,0:1], + omc*ax[...,0:1]*ax[...,2:3] + s*ax[...,1:2], + omc*ax[...,1:2]*ax[...,2:3] - s*ax[...,0:1], + c+omc*ax[...,2:3]**2]).reshape(ax.shape[:-1]+(3,3)) return om if _P < 0.0 else np.swapaxes(om,(-1,-2)) @staticmethod @@ -951,33 +812,19 @@ class Rotation: @staticmethod def ax2ro(ax): """Axis angle pair to Rodrigues-Frank vector.""" - if len(ax.shape) == 1: - if np.abs(ax[3])<1.e-6: - ro = [ 0.0, 0.0, _P, 0.0 ] - else: - ro = [ax[0], ax[1], ax[2]] - # 180 degree case - ro += [np.inf] if np.isclose(ax[3],np.pi,atol=1.0e-15,rtol=0.0) else \ - [np.tan(ax[3]*0.5)] - ro = np.array(ro) - else: - ro = np.block([ax[...,:3], - np.where(np.isclose(ax[...,3:4],np.pi,atol=1.e-15,rtol=.0), - np.inf, - np.tan(ax[...,3:4]*0.5)) - ]) - ro[np.abs(ax[...,3])<1.e-6] = [.0,.0,_P,.0] + ro = np.block([ax[...,:3], + np.where(np.isclose(ax[...,3:4],np.pi,atol=1.e-15,rtol=.0), + np.inf, + np.tan(ax[...,3:4]*0.5)) + ]) + ro[np.abs(ax[...,3])<1.e-6] = [.0,.0,_P,.0] return ro @staticmethod def ax2ho(ax): """Axis angle pair to homochoric vector.""" - if len(ax.shape) == 1: - f = (0.75 * ( ax[3] - np.sin(ax[3]) ))**(1.0/3.0) - ho = ax[0:3] * f - else: - f = (0.75 * ( ax[...,3:4] - np.sin(ax[...,3:4]) ))**(1.0/3.0) - ho = ax[...,:3] * f + f = (0.75 * ( ax[...,3:4] - np.sin(ax[...,3:4]) ))**(1.0/3.0) + ho = ax[...,:3] * f return ho @staticmethod @@ -1005,36 +852,19 @@ class Rotation: @staticmethod def ro2ax(ro): """Rodrigues-Frank vector to axis angle pair.""" - if len(ro.shape) == 1: - if np.abs(ro[3]) < 1.e-6: - ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) - elif not np.isfinite(ro[3]): - ax = np.array([ ro[0], ro[1], ro[2], np.pi ]) - else: - angle = 2.0*np.arctan(ro[3]) - ta = np.linalg.norm(ro[0:3]) - ax = np.array([ ro[0]*ta, ro[1]*ta, ro[2]*ta, angle ]) - else: - with np.errstate(invalid='ignore',divide='ignore'): - ax = np.where(np.isfinite(ro[...,3:4]), - np.block([ro[...,0:3]*np.linalg.norm(ro[...,0:3],axis=-1,keepdims=True),2.*np.arctan(ro[...,3:4])]), - np.block([ro[...,0:3],np.broadcast_to(np.pi,ro[...,3:4].shape)])) - ax[np.abs(ro[...,3]) < 1.e-6] = np.array([ 0.0, 0.0, 1.0, 0.0 ]) + with np.errstate(invalid='ignore',divide='ignore'): + ax = np.where(np.isfinite(ro[...,3:4]), + np.block([ro[...,0:3]*np.linalg.norm(ro[...,0:3],axis=-1,keepdims=True),2.*np.arctan(ro[...,3:4])]), + np.block([ro[...,0:3],np.broadcast_to(np.pi,ro[...,3:4].shape)])) + ax[np.abs(ro[...,3]) < 1.e-6] = np.array([ 0.0, 0.0, 1.0, 0.0 ]) return ax @staticmethod def ro2ho(ro): """Rodrigues-Frank vector to homochoric vector.""" - if len(ro.shape) == 1: - if np.sum(ro[0:3]**2.0) < 1.e-6: - ho = np.zeros(3) - else: - f = 2.0*np.arctan(ro[3]) -np.sin(2.0*np.arctan(ro[3])) if np.isfinite(ro[3]) else np.pi - ho = ro[0:3] * (0.75*f)**(1.0/3.0) - else: - f = np.where(np.isfinite(ro[...,3:4]),2.0*np.arctan(ro[...,3:4]) -np.sin(2.0*np.arctan(ro[...,3:4])),np.pi) - ho = np.where(np.broadcast_to(np.sum(ro[...,0:3]**2.0,axis=-1,keepdims=True) < 1.e-6,ro[...,0:3].shape), - np.zeros(3), ro[...,0:3]* (0.75*f)**(1.0/3.0)) + f = np.where(np.isfinite(ro[...,3:4]),2.0*np.arctan(ro[...,3:4]) -np.sin(2.0*np.arctan(ro[...,3:4])),np.pi) + ho = np.where(np.broadcast_to(np.sum(ro[...,0:3]**2.0,axis=-1,keepdims=True) < 1.e-6,ro[...,0:3].shape), + np.zeros(3), ro[...,0:3]* (0.75*f)**(1.0/3.0)) return ho @staticmethod @@ -1070,31 +900,16 @@ class Rotation: +0.0001703481934140054, -0.00012062065004116828, +0.000059719705868660826, -0.00001980756723965647, +0.000003953714684212874, -0.00000036555001439719544]) - if len(ho.shape) == 1: - # normalize h and store the magnitude - hmag_squared = np.sum(ho**2.) - if iszero(hmag_squared): - ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) - else: - hm = hmag_squared - - # convert the magnitude to the rotation angle - s = tfit[0] + tfit[1] * hmag_squared - for i in range(2,16): - hm *= hmag_squared - s += tfit[i] * hm - ax = np.append(ho/np.sqrt(hmag_squared),2.0*np.arccos(np.clip(s,-1.0,1.0))) - else: - hmag_squared = np.sum(ho**2.,axis=-1,keepdims=True) - hm = hmag_squared.copy() - s = tfit[0] + tfit[1] * hmag_squared - for i in range(2,16): - hm *= hmag_squared - s += tfit[i] * hm - with np.errstate(invalid='ignore'): - ax = np.where(np.broadcast_to(np.abs(hmag_squared)<1.e-6,ho.shape[:-1]+(4,)), - [ 0.0, 0.0, 1.0, 0.0 ], - np.block([ho/np.sqrt(hmag_squared),2.0*np.arccos(np.clip(s,-1.0,1.0))])) + hmag_squared = np.sum(ho**2.,axis=-1,keepdims=True) + hm = hmag_squared.copy() + s = tfit[0] + tfit[1] * hmag_squared + for i in range(2,16): + hm *= hmag_squared + s += tfit[i] * hm + with np.errstate(invalid='ignore'): + ax = np.where(np.broadcast_to(np.abs(hmag_squared)<1.e-6,ho.shape[:-1]+(4,)), + [ 0.0, 0.0, 1.0, 0.0 ], + np.block([ho/np.sqrt(hmag_squared),2.0*np.arccos(np.clip(s,-1.0,1.0))])) return ax @staticmethod @@ -1113,60 +928,31 @@ class Rotation: https://doi.org/10.1088/0965-0393/22/7/075013 """ - if len(ho.shape) == 1: - rs = np.linalg.norm(ho) + rs = np.linalg.norm(ho,axis=-1,keepdims=True) - if np.allclose(ho,0.0,rtol=0.0,atol=1.0e-16): - cu = np.zeros(3) - else: - xyz3 = ho[Rotation._get_pyramid_order(ho,'forward')] + xyz3 = np.take_along_axis(ho,Rotation._get_pyramid_order(ho,'forward'),-1) - # inverse M_3 - xyz2 = xyz3[0:2] * np.sqrt( 2.0*rs/(rs+np.abs(xyz3[2])) ) + with np.errstate(invalid='ignore',divide='ignore'): + # inverse M_3 + xyz2 = xyz3[...,0:2] * np.sqrt( 2.0*rs/(rs+np.abs(xyz3[...,2:3])) ) + qxy = np.sum(xyz2**2,axis=-1,keepdims=True) - # inverse M_2 - qxy = np.sum(xyz2**2) + q2 = qxy + np.max(np.abs(xyz2),axis=-1,keepdims=True)**2 + sq2 = np.sqrt(q2) + q = (_beta/np.sqrt(2.0)/_R1) * np.sqrt(q2*qxy/(q2-np.max(np.abs(xyz2),axis=-1,keepdims=True)*sq2)) + tt = np.clip((np.min(np.abs(xyz2),axis=-1,keepdims=True)**2\ + +np.max(np.abs(xyz2),axis=-1,keepdims=True)*sq2)/np.sqrt(2.0)/qxy,-1.0,1.0) + T_inv = np.where(np.abs(xyz2[...,1:2]) <= np.abs(xyz2[...,0:1]), + np.block([np.ones_like(tt),np.arccos(tt)/np.pi*12.0]), + np.block([np.arccos(tt)/np.pi*12.0,np.ones_like(tt)]))*q + T_inv[xyz2<0.0] *= -1.0 + T_inv[np.broadcast_to(np.isclose(qxy,0.0,rtol=0.0,atol=1.0e-12),T_inv.shape)] = 0.0 + cu = np.block([T_inv, np.where(xyz3[...,2:3]<0.0,-np.ones_like(xyz3[...,2:3]),np.ones_like(xyz3[...,2:3])) \ + * rs/np.sqrt(6.0/np.pi), + ])/ _sc - if np.isclose(qxy,0.0,rtol=0.0,atol=1.0e-16): - Tinv = np.zeros(2) - else: - q2 = qxy + np.max(np.abs(xyz2))**2 - sq2 = np.sqrt(q2) - q = (_beta/np.sqrt(2.0)/_R1) * np.sqrt(q2*qxy/(q2-np.max(np.abs(xyz2))*sq2)) - tt = np.clip((np.min(np.abs(xyz2))**2+np.max(np.abs(xyz2))*sq2)/np.sqrt(2.0)/qxy,-1.0,1.0) - Tinv = np.array([1.0,np.arccos(tt)/np.pi*12.0]) if np.abs(xyz2[1]) <= np.abs(xyz2[0]) else \ - np.array([np.arccos(tt)/np.pi*12.0,1.0]) - Tinv = q * np.where(xyz2<0.0,-Tinv,Tinv) - - # inverse M_1 - cu = np.array([ Tinv[0], Tinv[1], (-1.0 if xyz3[2] < 0.0 else 1.0) * rs / np.sqrt(6.0/np.pi) ]) /_sc - cu = cu[Rotation._get_pyramid_order(ho,'backward')] - else: - rs = np.linalg.norm(ho,axis=-1,keepdims=True) - - xyz3 = np.take_along_axis(ho,Rotation._get_pyramid_order(ho,'forward'),-1) - - with np.errstate(invalid='ignore',divide='ignore'): - # inverse M_3 - xyz2 = xyz3[...,0:2] * np.sqrt( 2.0*rs/(rs+np.abs(xyz3[...,2:3])) ) - qxy = np.sum(xyz2**2,axis=-1,keepdims=True) - - q2 = qxy + np.max(np.abs(xyz2),axis=-1,keepdims=True)**2 - sq2 = np.sqrt(q2) - q = (_beta/np.sqrt(2.0)/_R1) * np.sqrt(q2*qxy/(q2-np.max(np.abs(xyz2),axis=-1,keepdims=True)*sq2)) - tt = np.clip((np.min(np.abs(xyz2),axis=-1,keepdims=True)**2\ - +np.max(np.abs(xyz2),axis=-1,keepdims=True)*sq2)/np.sqrt(2.0)/qxy,-1.0,1.0) - T_inv = np.where(np.abs(xyz2[...,1:2]) <= np.abs(xyz2[...,0:1]), - np.block([np.ones_like(tt),np.arccos(tt)/np.pi*12.0]), - np.block([np.arccos(tt)/np.pi*12.0,np.ones_like(tt)]))*q - T_inv[xyz2<0.0] *= -1.0 - T_inv[np.broadcast_to(np.isclose(qxy,0.0,rtol=0.0,atol=1.0e-12),T_inv.shape)] = 0.0 - cu = np.block([T_inv, np.where(xyz3[...,2:3]<0.0,-np.ones_like(xyz3[...,2:3]),np.ones_like(xyz3[...,2:3])) \ - * rs/np.sqrt(6.0/np.pi), - ])/ _sc - - cu[np.isclose(np.sum(np.abs(ho),axis=-1),0.0,rtol=0.0,atol=1.0e-16)] = 0.0 - cu = np.take_along_axis(cu,Rotation._get_pyramid_order(ho,'backward'),-1) + cu[np.isclose(np.sum(np.abs(ho),axis=-1),0.0,rtol=0.0,atol=1.0e-16)] = 0.0 + cu = np.take_along_axis(cu,Rotation._get_pyramid_order(ho,'backward'),-1) return cu @@ -1207,64 +993,34 @@ class Rotation: https://doi.org/10.1088/0965-0393/22/7/075013 """ - if len(cu.shape) == 1: - # transform to the sphere grid via the curved square, and intercept the zero point - if np.allclose(cu,0.0,rtol=0.0,atol=1.0e-16): - ho = np.zeros(3) - else: - # get pyramide and scale by grid parameter ratio - XYZ = cu[Rotation._get_pyramid_order(cu,'forward')] * _sc + with np.errstate(invalid='ignore',divide='ignore'): + # get pyramide and scale by grid parameter ratio + XYZ = np.take_along_axis(cu,Rotation._get_pyramid_order(cu,'forward'),-1) * _sc + order = np.abs(XYZ[...,1:2]) <= np.abs(XYZ[...,0:1]) + q = np.pi/12.0 * np.where(order,XYZ[...,1:2],XYZ[...,0:1]) \ + / np.where(order,XYZ[...,0:1],XYZ[...,1:2]) + c = np.cos(q) + s = np.sin(q) + q = _R1*2.0**0.25/_beta/ np.sqrt(np.sqrt(2.0)-c) \ + * np.where(order,XYZ[...,0:1],XYZ[...,1:2]) - # intercept all the points along the z-axis - if np.allclose(XYZ[0:2],0.0,rtol=0.0,atol=1.0e-16): - ho = np.array([0.0, 0.0, np.sqrt(6.0/np.pi) * XYZ[2]]) - else: - order = [1,0] if np.abs(XYZ[1]) <= np.abs(XYZ[0]) else [0,1] - q = np.pi/12.0 * XYZ[order[0]]/XYZ[order[1]] - c = np.cos(q) - s = np.sin(q) - q = _R1*2.0**0.25/_beta * XYZ[order[1]] / np.sqrt(np.sqrt(2.0)-c) - T = np.array([ (np.sqrt(2.0)*c - 1.0), np.sqrt(2.0) * s]) * q + T = np.block([ (np.sqrt(2.0)*c - 1.0), np.sqrt(2.0) * s]) * q - # transform to sphere grid (inverse Lambert) - # note that there is no need to worry about dividing by zero, since XYZ[2] can not become zero - c = np.sum(T**2) - s = c * np.pi/24.0 /XYZ[2]**2 - c = c * np.sqrt(np.pi/24.0)/XYZ[2] + # transform to sphere grid (inverse Lambert) + c = np.sum(T**2,axis=-1,keepdims=True) + s = c * np.pi/24.0 /XYZ[...,2:3]**2 + c = c * np.sqrt(np.pi/24.0)/XYZ[...,2:3] + q = np.sqrt( 1.0 - s) - q = np.sqrt( 1.0 - s ) - ho = np.array([ T[order[1]] * q, T[order[0]] * q, np.sqrt(6.0/np.pi) * XYZ[2] - c ]) + ho = np.where(np.isclose(np.sum(np.abs(XYZ[...,0:2]),axis=-1,keepdims=True),0.0,rtol=0.0,atol=1.0e-16), + np.block([np.zeros_like(XYZ[...,0:2]),np.sqrt(6.0/np.pi) *XYZ[...,2:3]]), + np.block([np.where(order,T[...,0:1],T[...,1:2])*q, + np.where(order,T[...,1:2],T[...,0:1])*q, + np.sqrt(6.0/np.pi) * XYZ[...,2:3] - c]) + ) - ho = ho[Rotation._get_pyramid_order(cu,'backward')] - else: - with np.errstate(invalid='ignore',divide='ignore'): - # get pyramide and scale by grid parameter ratio - XYZ = np.take_along_axis(cu,Rotation._get_pyramid_order(cu,'forward'),-1) * _sc - order = np.abs(XYZ[...,1:2]) <= np.abs(XYZ[...,0:1]) - q = np.pi/12.0 * np.where(order,XYZ[...,1:2],XYZ[...,0:1]) \ - / np.where(order,XYZ[...,0:1],XYZ[...,1:2]) - c = np.cos(q) - s = np.sin(q) - q = _R1*2.0**0.25/_beta/ np.sqrt(np.sqrt(2.0)-c) \ - * np.where(order,XYZ[...,0:1],XYZ[...,1:2]) - - T = np.block([ (np.sqrt(2.0)*c - 1.0), np.sqrt(2.0) * s]) * q - - # transform to sphere grid (inverse Lambert) - c = np.sum(T**2,axis=-1,keepdims=True) - s = c * np.pi/24.0 /XYZ[...,2:3]**2 - c = c * np.sqrt(np.pi/24.0)/XYZ[...,2:3] - q = np.sqrt( 1.0 - s) - - ho = np.where(np.isclose(np.sum(np.abs(XYZ[...,0:2]),axis=-1,keepdims=True),0.0,rtol=0.0,atol=1.0e-16), - np.block([np.zeros_like(XYZ[...,0:2]),np.sqrt(6.0/np.pi) *XYZ[...,2:3]]), - np.block([np.where(order,T[...,0:1],T[...,1:2])*q, - np.where(order,T[...,1:2],T[...,0:1])*q, - np.sqrt(6.0/np.pi) * XYZ[...,2:3] - c]) - ) - - ho[np.isclose(np.sum(np.abs(cu),axis=-1),0.0,rtol=0.0,atol=1.0e-16)] = 0.0 - ho = np.take_along_axis(ho,Rotation._get_pyramid_order(cu,'backward'),-1) + ho[np.isclose(np.sum(np.abs(cu),axis=-1),0.0,rtol=0.0,atol=1.0e-16)] = 0.0 + ho = np.take_along_axis(ho,Rotation._get_pyramid_order(cu,'backward'),-1) return ho @@ -1288,20 +1044,10 @@ class Rotation: https://doi.org/10.1088/0965-0393/22/7/075013 """ - order = {'forward':np.array([[0,1,2],[1,2,0],[2,0,1]]), + order = {'forward': np.array([[0,1,2],[1,2,0],[2,0,1]]), 'backward':np.array([[0,1,2],[2,0,1],[1,2,0]])} - if len(xyz.shape) == 1: - if np.maximum(abs(xyz[0]),abs(xyz[1])) <= xyz[2] or \ - np.maximum(abs(xyz[0]),abs(xyz[1])) <=-xyz[2]: - p = 0 - elif np.maximum(abs(xyz[1]),abs(xyz[2])) <= xyz[0] or \ - np.maximum(abs(xyz[1]),abs(xyz[2])) <=-xyz[0]: - p = 1 - elif np.maximum(abs(xyz[2]),abs(xyz[0])) <= xyz[1] or \ - np.maximum(abs(xyz[2]),abs(xyz[0])) <=-xyz[1]: - p = 2 - else: - p = np.where(np.maximum(np.abs(xyz[...,0]),np.abs(xyz[...,1])) <= np.abs(xyz[...,2]),0, - np.where(np.maximum(np.abs(xyz[...,1]),np.abs(xyz[...,2])) <= np.abs(xyz[...,0]),1,2)) + + p = np.where(np.maximum(np.abs(xyz[...,0]),np.abs(xyz[...,1])) <= np.abs(xyz[...,2]),0, + np.where(np.maximum(np.abs(xyz[...,1]),np.abs(xyz[...,2])) <= np.abs(xyz[...,0]),1,2)) return order[direction][p] diff --git a/python/tests/rotation_conversion.py b/python/tests/rotation_conversion.py new file mode 100644 index 000000000..5ca10f443 --- /dev/null +++ b/python/tests/rotation_conversion.py @@ -0,0 +1,399 @@ +#################################################################################################### +# Code below available according to the following conditions on https://github.com/MarDiehl/3Drotations +#################################################################################################### +# Copyright (c) 2017-2019, Martin Diehl/Max-Planck-Institut für Eisenforschung GmbH +# Copyright (c) 2013-2014, Marc De Graef/Carnegie Mellon University +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, are +# permitted provided that the following conditions are met: +# +# - Redistributions of source code must retain the above copyright notice, this list +# of conditions and the following disclaimer. +# - Redistributions in binary form must reproduce the above copyright notice, this +# list of conditions and the following disclaimer in the documentation and/or +# other materials provided with the distribution. +# - Neither the names of Marc De Graef, Carnegie Mellon University nor the names +# of its contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#################################################################################################### + +import numpy as np + +_P = -1 + +# parameters for conversion from/to cubochoric +_sc = np.pi**(1./6.)/6.**(1./6.) +_beta = np.pi**(5./6.)/6.**(1./6.)/2. +_R1 = (3.*np.pi/4.)**(1./3.) + +def iszero(a): + return np.isclose(a,0.0,atol=1.0e-12,rtol=0.0) + +#---------- Quaternion ---------- +def qu2om(qu): + """Quaternion to rotation matrix.""" + qq = qu[0]**2-(qu[1]**2 + qu[2]**2 + qu[3]**2) + om = np.diag(qq + 2.0*np.array([qu[1],qu[2],qu[3]])**2) + + om[0,1] = 2.0*(qu[2]*qu[1]+qu[0]*qu[3]) + om[1,0] = 2.0*(qu[1]*qu[2]-qu[0]*qu[3]) + om[1,2] = 2.0*(qu[3]*qu[2]+qu[0]*qu[1]) + om[2,1] = 2.0*(qu[2]*qu[3]-qu[0]*qu[1]) + om[2,0] = 2.0*(qu[1]*qu[3]+qu[0]*qu[2]) + om[0,2] = 2.0*(qu[3]*qu[1]-qu[0]*qu[2]) + return om if _P < 0.0 else np.swapaxes(om,(-1,-2)) + +def qu2eu(qu): + """Quaternion to Bunge-Euler angles.""" + q03 = qu[0]**2+qu[3]**2 + q12 = qu[1]**2+qu[2]**2 + chi = np.sqrt(q03*q12) + if np.abs(q12) < 1.e-8: + eu = np.array([np.arctan2(-_P*2.0*qu[0]*qu[3],qu[0]**2-qu[3]**2), 0.0, 0.0]) + elif np.abs(q03) < 1.e-8: + eu = np.array([np.arctan2( 2.0*qu[1]*qu[2],qu[1]**2-qu[2]**2), np.pi, 0.0]) + else: + eu = np.array([np.arctan2((-_P*qu[0]*qu[2]+qu[1]*qu[3])*chi, (-_P*qu[0]*qu[1]-qu[2]*qu[3])*chi ), + np.arctan2( 2.0*chi, q03-q12 ), + np.arctan2(( _P*qu[0]*qu[2]+qu[1]*qu[3])*chi, (-_P*qu[0]*qu[1]+qu[2]*qu[3])*chi )]) + # reduce Euler angles to definition range + eu[np.abs(eu)<1.e-6] = 0.0 + eu = np.where(eu<0, (eu+2.0*np.pi)%np.array([2.0*np.pi,np.pi,2.0*np.pi]),eu) + return eu + +def qu2ax(qu): + """ + Quaternion to axis angle pair. + + Modified version of the original formulation, should be numerically more stable + """ + if np.abs(np.sum(qu[1:4]**2)) < 1.e-6: # set axis to [001] if the angle is 0/360 + ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) + elif qu[0] > 1.e-6: + s = np.sign(qu[0])/np.sqrt(qu[1]**2+qu[2]**2+qu[3]**2) + omega = 2.0 * np.arccos(np.clip(qu[0],-1.0,1.0)) + ax = ax = np.array([ qu[1]*s, qu[2]*s, qu[3]*s, omega ]) + else: + ax = ax = np.array([ qu[1], qu[2], qu[3], np.pi]) + return ax + +def qu2ro(qu): + """Quaternion to Rodrigues-Frank vector.""" + if iszero(qu[0]): + ro = np.array([qu[1], qu[2], qu[3], np.inf]) + else: + s = np.linalg.norm(qu[1:4]) + ro = np.array([0.0,0.0,_P,0.0] if iszero(s) else \ + [ qu[1]/s, qu[2]/s, qu[3]/s, np.tan(np.arccos(np.clip(qu[0],-1.0,1.0)))]) + return ro + +def qu2ho(qu): + """Quaternion to homochoric vector.""" + omega = 2.0 * np.arccos(np.clip(qu[0],-1.0,1.0)) + if np.abs(omega) < 1.0e-12: + ho = np.zeros(3) + else: + ho = np.array([qu[1], qu[2], qu[3]]) + f = 0.75 * ( omega - np.sin(omega) ) + ho = ho/np.linalg.norm(ho) * f**(1./3.) + return ho + + +#---------- Rotation matrix ---------- +def om2eu(om): + """Rotation matrix to Bunge-Euler angles.""" + if not np.isclose(np.abs(om[2,2]),1.0,1.e-4): + zeta = 1.0/np.sqrt(1.0-om[2,2]**2) + eu = np.array([np.arctan2(om[2,0]*zeta,-om[2,1]*zeta), + np.arccos(om[2,2]), + np.arctan2(om[0,2]*zeta, om[1,2]*zeta)]) + else: + eu = np.array([np.arctan2( om[0,1],om[0,0]), np.pi*0.5*(1-om[2,2]),0.0]) # following the paper, not the reference implementation + eu[np.abs(eu)<1.e-6] = 0.0 + eu = np.where(eu<0, (eu+2.0*np.pi)%np.array([2.0*np.pi,np.pi,2.0*np.pi]),eu) + return eu + +def om2ax(om): + """Rotation matrix to axis angle pair.""" + ax=np.empty(4) + + # first get the rotation angle + t = 0.5*(om.trace() -1.0) + ax[3] = np.arccos(np.clip(t,-1.0,1.0)) + if np.abs(ax[3])<1.e-6: + ax = np.array([ 0.0, 0.0, 1.0, 0.0]) + else: + w,vr = np.linalg.eig(om) + # next, find the eigenvalue (1,0j) + i = np.where(np.isclose(w,1.0+0.0j))[0][0] + ax[0:3] = np.real(vr[0:3,i]) + diagDelta = -_P*np.array([om[1,2]-om[2,1],om[2,0]-om[0,2],om[0,1]-om[1,0]]) + diagDelta[np.abs(diagDelta)<1.e-6] = 1.0 + ax[0:3] = np.where(np.abs(diagDelta)<0, ax[0:3],np.abs(ax[0:3])*np.sign(diagDelta)) + return ax + +#---------- Bunge-Euler angles ---------- +def eu2qu(eu): + """Bunge-Euler angles to quaternion.""" + ee = 0.5*eu + cPhi = np.cos(ee[1]) + sPhi = np.sin(ee[1]) + qu = np.array([ cPhi*np.cos(ee[0]+ee[2]), + -_P*sPhi*np.cos(ee[0]-ee[2]), + -_P*sPhi*np.sin(ee[0]-ee[2]), + -_P*cPhi*np.sin(ee[0]+ee[2]) ]) + if qu[0] < 0.0: qu*=-1 + return qu + +def eu2om(eu): + """Bunge-Euler angles to rotation matrix.""" + c = np.cos(eu) + s = np.sin(eu) + + om = np.array([[+c[0]*c[2]-s[0]*s[2]*c[1], +s[0]*c[2]+c[0]*s[2]*c[1], +s[2]*s[1]], + [-c[0]*s[2]-s[0]*c[2]*c[1], -s[0]*s[2]+c[0]*c[2]*c[1], +c[2]*s[1]], + [+s[0]*s[1], -c[0]*s[1], +c[1] ]]) + om[np.abs(om)<1.e-12] = 0.0 + return om + +def eu2ax(eu): + """Bunge-Euler angles to axis angle pair.""" + t = np.tan(eu[1]*0.5) + sigma = 0.5*(eu[0]+eu[2]) + delta = 0.5*(eu[0]-eu[2]) + tau = np.linalg.norm([t,np.sin(sigma)]) + alpha = np.pi if iszero(np.cos(sigma)) else \ + 2.0*np.arctan(tau/np.cos(sigma)) + + if np.abs(alpha)<1.e-6: + ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) + else: + ax = -_P/tau * np.array([ t*np.cos(delta), t*np.sin(delta), np.sin(sigma) ]) # passive axis angle pair so a minus sign in front + ax = np.append(ax,alpha) + if alpha < 0.0: ax *= -1.0 # ensure alpha is positive + return ax + +def eu2ro(eu): + """Bunge-Euler angles to Rodrigues-Frank vector.""" + ro = eu2ax(eu) # convert to axis angle pair representation + if ro[3] >= np.pi: # Differs from original implementation. check convention 5 + ro[3] = np.inf + elif iszero(ro[3]): + ro = np.array([ 0.0, 0.0, _P, 0.0 ]) + else: + ro[3] = np.tan(ro[3]*0.5) + return ro + +#---------- Axis angle pair ---------- +def ax2qu(ax): + """Axis angle pair to quaternion.""" + if np.abs(ax[3])<1.e-6: + qu = np.array([ 1.0, 0.0, 0.0, 0.0 ]) + else: + c = np.cos(ax[3]*0.5) + s = np.sin(ax[3]*0.5) + qu = np.array([ c, ax[0]*s, ax[1]*s, ax[2]*s ]) + return qu + +def ax2om(ax): + """Axis angle pair to rotation matrix.""" + c = np.cos(ax[3]) + s = np.sin(ax[3]) + omc = 1.0-c + om=np.diag(ax[0:3]**2*omc + c) + + for idx in [[0,1,2],[1,2,0],[2,0,1]]: + q = omc*ax[idx[0]] * ax[idx[1]] + om[idx[0],idx[1]] = q + s*ax[idx[2]] + om[idx[1],idx[0]] = q - s*ax[idx[2]] + return om if _P < 0.0 else np.swapaxes(om,(-1,-2)) + +def ax2ro(ax): + """Axis angle pair to Rodrigues-Frank vector.""" + if np.abs(ax[3])<1.e-6: + ro = [ 0.0, 0.0, _P, 0.0 ] + else: + ro = [ax[0], ax[1], ax[2]] + # 180 degree case + ro += [np.inf] if np.isclose(ax[3],np.pi,atol=1.0e-15,rtol=0.0) else \ + [np.tan(ax[3]*0.5)] + ro = np.array(ro) + return ro + +def ax2ho(ax): + """Axis angle pair to homochoric vector.""" + f = (0.75 * ( ax[3] - np.sin(ax[3]) ))**(1.0/3.0) + ho = ax[0:3] * f + return ho + + +#---------- Rodrigues-Frank vector ---------- +def ro2ax(ro): + """Rodrigues-Frank vector to axis angle pair.""" + if np.abs(ro[3]) < 1.e-6: + ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) + elif not np.isfinite(ro[3]): + ax = np.array([ ro[0], ro[1], ro[2], np.pi ]) + else: + angle = 2.0*np.arctan(ro[3]) + ta = np.linalg.norm(ro[0:3]) + ax = np.array([ ro[0]*ta, ro[1]*ta, ro[2]*ta, angle ]) + return ax + +def ro2ho(ro): + """Rodrigues-Frank vector to homochoric vector.""" + if np.sum(ro[0:3]**2.0) < 1.e-6: + ho = np.zeros(3) + else: + f = 2.0*np.arctan(ro[3]) -np.sin(2.0*np.arctan(ro[3])) if np.isfinite(ro[3]) else np.pi + ho = ro[0:3] * (0.75*f)**(1.0/3.0) + return ho + +#---------- Homochoric vector---------- +def ho2ax(ho): + """Homochoric vector to axis angle pair.""" + tfit = np.array([+1.0000000000018852, -0.5000000002194847, + -0.024999992127593126, -0.003928701544781374, + -0.0008152701535450438, -0.0002009500426119712, + -0.00002397986776071756, -0.00008202868926605841, + +0.00012448715042090092, -0.0001749114214822577, + +0.0001703481934140054, -0.00012062065004116828, + +0.000059719705868660826, -0.00001980756723965647, + +0.000003953714684212874, -0.00000036555001439719544]) + # normalize h and store the magnitude + hmag_squared = np.sum(ho**2.) + if iszero(hmag_squared): + ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) + else: + hm = hmag_squared + + # convert the magnitude to the rotation angle + s = tfit[0] + tfit[1] * hmag_squared + for i in range(2,16): + hm *= hmag_squared + s += tfit[i] * hm + ax = np.append(ho/np.sqrt(hmag_squared),2.0*np.arccos(np.clip(s,-1.0,1.0))) + return ax + +def ho2cu(ho): + """ + Homochoric vector to cubochoric vector. + + References + ---------- + D. Roşca et al., Modelling and Simulation in Materials Science and Engineering 22:075013, 2014 + https://doi.org/10.1088/0965-0393/22/7/075013 + + """ + rs = np.linalg.norm(ho) + + if np.allclose(ho,0.0,rtol=0.0,atol=1.0e-16): + cu = np.zeros(3) + else: + xyz3 = ho[_get_pyramid_order(ho,'forward')] + + # inverse M_3 + xyz2 = xyz3[0:2] * np.sqrt( 2.0*rs/(rs+np.abs(xyz3[2])) ) + + # inverse M_2 + qxy = np.sum(xyz2**2) + + if np.isclose(qxy,0.0,rtol=0.0,atol=1.0e-16): + Tinv = np.zeros(2) + else: + q2 = qxy + np.max(np.abs(xyz2))**2 + sq2 = np.sqrt(q2) + q = (_beta/np.sqrt(2.0)/_R1) * np.sqrt(q2*qxy/(q2-np.max(np.abs(xyz2))*sq2)) + tt = np.clip((np.min(np.abs(xyz2))**2+np.max(np.abs(xyz2))*sq2)/np.sqrt(2.0)/qxy,-1.0,1.0) + Tinv = np.array([1.0,np.arccos(tt)/np.pi*12.0]) if np.abs(xyz2[1]) <= np.abs(xyz2[0]) else \ + np.array([np.arccos(tt)/np.pi*12.0,1.0]) + Tinv = q * np.where(xyz2<0.0,-Tinv,Tinv) + + # inverse M_1 + cu = np.array([ Tinv[0], Tinv[1], (-1.0 if xyz3[2] < 0.0 else 1.0) * rs / np.sqrt(6.0/np.pi) ]) /_sc + cu = cu[_get_pyramid_order(ho,'backward')] + return cu + +#---------- Cubochoric ---------- +def cu2ho(cu): + """ + Cubochoric vector to homochoric vector. + + References + ---------- + D. Roşca et al., Modelling and Simulation in Materials Science and Engineering 22:075013, 2014 + https://doi.org/10.1088/0965-0393/22/7/075013 + + """ + # transform to the sphere grid via the curved square, and intercept the zero point + if np.allclose(cu,0.0,rtol=0.0,atol=1.0e-16): + ho = np.zeros(3) + else: + # get pyramide and scale by grid parameter ratio + XYZ = cu[_get_pyramid_order(cu,'forward')] * _sc + + # intercept all the points along the z-axis + if np.allclose(XYZ[0:2],0.0,rtol=0.0,atol=1.0e-16): + ho = np.array([0.0, 0.0, np.sqrt(6.0/np.pi) * XYZ[2]]) + else: + order = [1,0] if np.abs(XYZ[1]) <= np.abs(XYZ[0]) else [0,1] + q = np.pi/12.0 * XYZ[order[0]]/XYZ[order[1]] + c = np.cos(q) + s = np.sin(q) + q = _R1*2.0**0.25/_beta * XYZ[order[1]] / np.sqrt(np.sqrt(2.0)-c) + T = np.array([ (np.sqrt(2.0)*c - 1.0), np.sqrt(2.0) * s]) * q + + # transform to sphere grid (inverse Lambert) + # note that there is no need to worry about dividing by zero, since XYZ[2] can not become zero + c = np.sum(T**2) + s = c * np.pi/24.0 /XYZ[2]**2 + c = c * np.sqrt(np.pi/24.0)/XYZ[2] + + q = np.sqrt( 1.0 - s ) + ho = np.array([ T[order[1]] * q, T[order[0]] * q, np.sqrt(6.0/np.pi) * XYZ[2] - c ]) + + ho = ho[_get_pyramid_order(cu,'backward')] + return ho + +def _get_pyramid_order(xyz,direction=None): + """ + Get order of the coordinates. + + Depending on the pyramid in which the point is located, the order need to be adjusted. + + Parameters + ---------- + xyz : numpy.ndarray + coordinates of a point on a uniform refinable grid on a ball or + in a uniform refinable cubical grid. + + References + ---------- + D. Roşca et al., Modelling and Simulation in Materials Science and Engineering 22:075013, 2014 + https://doi.org/10.1088/0965-0393/22/7/075013 + + """ + order = {'forward':np.array([[0,1,2],[1,2,0],[2,0,1]]), + 'backward':np.array([[0,1,2],[2,0,1],[1,2,0]])} + if np.maximum(abs(xyz[0]),abs(xyz[1])) <= xyz[2] or \ + np.maximum(abs(xyz[0]),abs(xyz[1])) <=-xyz[2]: + p = 0 + elif np.maximum(abs(xyz[1]),abs(xyz[2])) <= xyz[0] or \ + np.maximum(abs(xyz[1]),abs(xyz[2])) <=-xyz[0]: + p = 1 + elif np.maximum(abs(xyz[2]),abs(xyz[0])) <= xyz[1] or \ + np.maximum(abs(xyz[2]),abs(xyz[0])) <=-xyz[1]: + p = 2 + return order[direction][p] diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 23ab03ff6..4a6350fda 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -4,6 +4,7 @@ import pytest import numpy as np from damask import Rotation +import rotation_conversion n = 1100 atol=1.e-4 @@ -181,111 +182,83 @@ class TestRotation: with pytest.raises(ValueError): function(invalid) - @pytest.mark.parametrize('conversion',[Rotation.qu2om, - Rotation.qu2eu, - Rotation.qu2ax, - Rotation.qu2ro, - Rotation.qu2ho, - Rotation.qu2cu - ]) - def test_quaternion_vectorization(self,default,conversion): + @pytest.mark.parametrize('vectorized, single',[(Rotation.qu2om,rotation_conversion.qu2om), + (Rotation.qu2eu,rotation_conversion.qu2eu), + (Rotation.qu2ax,rotation_conversion.qu2ax), + (Rotation.qu2ro,rotation_conversion.qu2ro), + (Rotation.qu2ho,rotation_conversion.qu2ho)]) + def test_quaternion_vectorization(self,default,vectorized,single): qu = np.array([rot.as_quaternion() for rot in default]) - conversion(qu.reshape(qu.shape[0]//2,-1,4)) - co = conversion(qu) + vectorized(qu.reshape(qu.shape[0]//2,-1,4)) + co = vectorized(qu) for q,c in zip(qu,co): print(q,c) - assert np.allclose(conversion(q),c) + assert np.allclose(single(q),c) and np.allclose(single(q),vectorized(q)) - @pytest.mark.parametrize('conversion',[Rotation.om2qu, - Rotation.om2eu, - Rotation.om2ax, - Rotation.om2ro, - Rotation.om2ho, - Rotation.om2cu - ]) - def test_matrix_vectorization(self,default,conversion): + + @pytest.mark.parametrize('vectorized, single',[(Rotation.om2eu,rotation_conversion.om2eu), + (Rotation.om2ax,rotation_conversion.om2ax)]) + def test_matrix_vectorization(self,default,vectorized,single): om = np.array([rot.as_matrix() for rot in default]) - conversion(om.reshape(om.shape[0]//2,-1,3,3)) - co = conversion(om) + vectorized(om.reshape(om.shape[0]//2,-1,3,3)) + co = vectorized(om) for o,c in zip(om,co): print(o,c) - assert np.allclose(conversion(o),c) + assert np.allclose(single(o),c) and np.allclose(single(o),vectorized(o)) - @pytest.mark.parametrize('conversion',[Rotation.eu2qu, - Rotation.eu2om, - Rotation.eu2ax, - Rotation.eu2ro, - Rotation.eu2ho, - Rotation.eu2cu - ]) - def test_Euler_vectorization(self,default,conversion): + @pytest.mark.parametrize('vectorized, single',[(Rotation.eu2qu,rotation_conversion.eu2qu), + (Rotation.eu2om,rotation_conversion.eu2om), + (Rotation.eu2ax,rotation_conversion.eu2ax), + (Rotation.eu2ro,rotation_conversion.eu2ro)]) + def test_Euler_vectorization(self,default,vectorized,single): eu = np.array([rot.as_Eulers() for rot in default]) - conversion(eu.reshape(eu.shape[0]//2,-1,3)) - co = conversion(eu) + vectorized(eu.reshape(eu.shape[0]//2,-1,3)) + co = vectorized(eu) for e,c in zip(eu,co): print(e,c) - assert np.allclose(conversion(e),c) + assert np.allclose(single(e),c) and np.allclose(single(e),vectorized(e)) - @pytest.mark.parametrize('conversion',[Rotation.ax2qu, - Rotation.ax2om, - Rotation.ax2eu, - Rotation.ax2ro, - Rotation.ax2ho, - Rotation.ax2cu - ]) - def test_axisAngle_vectorization(self,default,conversion): + @pytest.mark.parametrize('vectorized, single',[(Rotation.ax2qu,rotation_conversion.ax2qu), + (Rotation.ax2om,rotation_conversion.ax2om), + (Rotation.ax2ro,rotation_conversion.ax2ro), + (Rotation.ax2ho,rotation_conversion.ax2ho)]) + def test_axisAngle_vectorization(self,default,vectorized,single): ax = np.array([rot.as_axis_angle() for rot in default]) - conversion(ax.reshape(ax.shape[0]//2,-1,4)) - co = conversion(ax) + vectorized(ax.reshape(ax.shape[0]//2,-1,4)) + co = vectorized(ax) for a,c in zip(ax,co): print(a,c) - assert np.allclose(conversion(a),c) + assert np.allclose(single(a),c) and np.allclose(single(a),vectorized(a)) - @pytest.mark.parametrize('conversion',[Rotation.ro2qu, - Rotation.ro2om, - Rotation.ro2eu, - Rotation.ro2ax, - Rotation.ro2ho, - Rotation.ro2cu - ]) - def test_Rodrigues_vectorization(self,default,conversion): + @pytest.mark.parametrize('vectorized, single',[(Rotation.ro2ax,rotation_conversion.ro2ax), + (Rotation.ro2ho,rotation_conversion.ro2ho)]) + def test_Rodrigues_vectorization(self,default,vectorized,single): ro = np.array([rot.as_Rodrigues() for rot in default]) - conversion(ro.reshape(ro.shape[0]//2,-1,4)) - co = conversion(ro) + vectorized(ro.reshape(ro.shape[0]//2,-1,4)) + co = vectorized(ro) for r,c in zip(ro,co): print(r,c) - assert np.allclose(conversion(r),c) + assert np.allclose(single(r),c) and np.allclose(single(r),vectorized(r)) - @pytest.mark.parametrize('conversion',[Rotation.ho2qu, - Rotation.ho2om, - Rotation.ho2eu, - Rotation.ho2ax, - Rotation.ho2ro, - Rotation.ho2cu - ]) - def test_homochoric_vectorization(self,default,conversion): + @pytest.mark.parametrize('vectorized, single',[(Rotation.ho2ax,rotation_conversion.ho2ax), + (Rotation.ho2cu,rotation_conversion.ho2cu)]) + def test_homochoric_vectorization(self,default,vectorized,single): ho = np.array([rot.as_homochoric() for rot in default]) - conversion(ho.reshape(ho.shape[0]//2,-1,3)) - co = conversion(ho) + vectorized(ho.reshape(ho.shape[0]//2,-1,3)) + co = vectorized(ho) for h,c in zip(ho,co): print(h,c) - assert np.allclose(conversion(h),c) + assert np.allclose(single(h),c) and np.allclose(single(h),vectorized(h)) - @pytest.mark.parametrize('conversion',[Rotation.cu2qu, - Rotation.cu2om, - Rotation.cu2eu, - Rotation.cu2ax, - Rotation.cu2ro, - Rotation.cu2ho - ]) - def test_cubochoric_vectorization(self,default,conversion): + @pytest.mark.parametrize('vectorized, single',[(Rotation.cu2ho,rotation_conversion.cu2ho)]) + def test_cubochoric_vectorization(self,default,vectorized,single): cu = np.array([rot.as_cubochoric() for rot in default]) - conversion(cu.reshape(cu.shape[0]//2,-1,3)) - co = conversion(cu) + vectorized(cu.reshape(cu.shape[0]//2,-1,3)) + co = vectorized(cu) for u,c in zip(cu,co): print(u,c) - assert np.allclose(conversion(u),c) + assert np.allclose(single(u),c) and np.allclose(single(u),vectorized(u)) @pytest.mark.parametrize('direction',['forward', 'backward']) From 652ece6bb3c46084a2256125551d61f72d2655a4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 17 May 2020 07:25:17 +0200 Subject: [PATCH 052/958] fix: wrong capitalization --- processing/post/addOrientations.py | 2 +- python/damask/_rotation.py | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/processing/post/addOrientations.py b/processing/post/addOrientations.py index b6292b18c..706a959ad 100755 --- a/processing/post/addOrientations.py +++ b/processing/post/addOrientations.py @@ -137,7 +137,7 @@ for name in filenames: if 'rodrigues' in options.output: - table.add('ro({})'.format(label),o.as_rodrigues(), scriptID+' '+' '.join(sys.argv[1:])) + table.add('ro({})'.format(label),o.as_Rodrigues(), scriptID+' '+' '.join(sys.argv[1:])) if 'eulers' in options.output: table.add('eu({})'.format(label),o.as_Eulers(options.degrees), scriptID+' '+' '.join(sys.argv[1:])) if 'quaternion' in options.output: diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 5258145e0..44484ccd9 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -9,9 +9,6 @@ _sc = np.pi**(1./6.)/6.**(1./6.) _beta = np.pi**(5./6.)/6.**(1./6.)/2. _R1 = (3.*np.pi/4.)**(1./3.) -def iszero(a): - return np.isclose(a,0.0,atol=1.0e-12,rtol=0.0) - class Rotation: u""" From 743e91a78d6f9d1509238d6886758cc2d5f8cad6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 17 May 2020 08:01:34 +0200 Subject: [PATCH 053/958] cleaning --- processing/pre/geom_fromDREAM3D.py | 2 +- processing/pre/geom_fromTable.py | 2 +- processing/pre/geom_rotate.py | 2 +- python/damask/_rotation.py | 18 ++---------------- 4 files changed, 5 insertions(+), 19 deletions(-) diff --git a/processing/pre/geom_fromDREAM3D.py b/processing/pre/geom_fromDREAM3D.py index b000aa811..c48698e53 100755 --- a/processing/pre/geom_fromDREAM3D.py +++ b/processing/pre/geom_fromDREAM3D.py @@ -140,7 +140,7 @@ for name in filenames: config_header = [''] for i in range(np.nanmax(microstructure)): config_header += ['[{}{}]'.format(label,i+1), - '(gauss)\tphi1 {:.2f}\tPhi {:.2f}\tphi2 {:.2f}'.format(*rot[i].asEulers(degrees = True)), + '(gauss)\tphi1 {:.2f}\tPhi {:.2f}\tphi2 {:.2f}'.format(*rot[i].as_Eulers(degrees = True)), ] config_header += [''] for i in range(np.nanmax(microstructure)): diff --git a/processing/pre/geom_fromTable.py b/processing/pre/geom_fromTable.py index f6c9ba38e..be5b3a23c 100755 --- a/processing/pre/geom_fromTable.py +++ b/processing/pre/geom_fromTable.py @@ -89,7 +89,7 @@ for name in filenames: for i,data in enumerate(unique): ori = damask.Rotation(data[0:4]) config_header += ['[Grain{}]'.format(i+1), - '(gauss)\tphi1 {:.2f}\tPhi {:.2f}\tphi2 {:.2f}'.format(*ori.asEulers(degrees = True)), + '(gauss)\tphi1 {:.2f}\tPhi {:.2f}\tphi2 {:.2f}'.format(*ori.as_Eulers(degrees = True)), ] if options.axes is not None: config_header += ['axes\t{} {} {}'.format(*options.axes)] diff --git a/processing/pre/geom_rotate.py b/processing/pre/geom_rotate.py index 7a774200b..dc2e8e2a3 100755 --- a/processing/pre/geom_rotate.py +++ b/processing/pre/geom_rotate.py @@ -67,7 +67,7 @@ if options.matrix is not None: if options.eulers is not None: rot = damask.Rotation.from_Eulers(np.array(options.eulers),degrees=options.degrees) -eulers = rot.asEulers(degrees=True) +eulers = rot.as_Eulers(degrees=True) if filenames == []: filenames = [None] diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 44484ccd9..bf5a2a4f3 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -305,15 +305,6 @@ class Rotation: """ return np.einsum('...i,...j',self.quaternion,self.quaternion) - # for compatibility (old names do not follow convention) - asM = M - asQuaternion = as_quaternion - asEulers = as_Eulers - asAxisAngle = as_axis_angle - asMatrix = as_matrix - asRodrigues = as_Rodrigues - asHomochoric = as_homochoric - asCubochoric = as_cubochoric ################################################################################################ # Static constructors. The input data needs to follow the conventions, options allow to @@ -505,13 +496,8 @@ class Rotation: # for compatibility (old names do not follow convention) fromQuaternion = from_quaternion fromEulers = from_Eulers - fromAxisAngle = from_axis_angle - fromBasis = from_basis - fromMatrix = from_matrix - fromRodrigues = from_Rodrigues - fromHomochoric = from_homochoric - fromCubochoric = from_cubochoric - fromRandom = from_random + asAxisAngle = as_axis_angle + #################################################################################################### # Code below available according to the following conditions on https://github.com/MarDiehl/3Drotations From a25dd1c4389165a74237706b0e83b4964892fb1d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 17 May 2020 08:01:34 +0200 Subject: [PATCH 054/958] cleaning --- python/damask/_rotation.py | 20 ++++++++++---------- python/tests/test_Orientation.py | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index bf5a2a4f3..e2d5963fe 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -35,8 +35,8 @@ class Rotation: ----- Vector "a" (defined in coordinate system "A") is passively rotated resulting in new coordinates "b" when expressed in system "B". - b = Q * a - b = np.dot(Q.asMatrix(),a) + b = Q @ a + b = np.dot(Q.as_matrix(),a) """ @@ -73,8 +73,8 @@ class Rotation: raise NotImplementedError('Support for multiple rotations missing') return '\n'.join([ 'Quaternion: (real={:.3f}, imag=<{:+.3f}, {:+.3f}, {:+.3f}>)'.format(*(self.quaternion)), - 'Matrix:\n{}'.format(self.asMatrix()), - 'Bunge Eulers / deg: ({:3.2f}, {:3.2f}, {:3.2f})'.format(*self.asEulers(degrees=True)), + 'Matrix:\n{}'.format(self.as_matrix()), + 'Bunge Eulers / deg: ({:3.2f}, {:3.2f}, {:3.2f})'.format(*self.as_Eulers(degrees=True)), ]) @@ -112,9 +112,9 @@ class Rotation: return A*other + B*self.quaternion[1:] + C * np.cross(self.quaternion[1:],other) elif other.shape == (3,3,): - return np.dot(self.asMatrix(),np.dot(other,self.asMatrix().T)) + return np.dot(self.as_matrix(),np.dot(other,self.as_matrix().T)) elif other.shape == (3,3,3,3,): - R = self.asMatrix() + R = self.as_matrix() return np.einsum('...im,...jn,...ko,...lp,...mnop',R,R,R,R,other) else: raise ValueError('Can only rotate vectors, 2nd order ternsors, and 4th order tensors') @@ -150,10 +150,10 @@ class Rotation: - p_m[...,(i+2)%3]*other[...,(i+1)%3])).reshape(self.shape+(1,)) for i in [0,1,2]]) if self.shape + (3,3) == other.shape: - R = self.asMatrix() + R = self.as_matrix() return np.einsum('...im,...jn,...mn',R,R,other) if self.shape + (3,3,3,3) == other.shape: - R = self.asMatrix() + R = self.as_matrix() return np.einsum('...im,...jn,...ko,...lp,...mnop',R,R,R,R,other) else: raise ValueError('Can only rotate vectors, 2nd order ternsors, and 4th order tensors') @@ -654,8 +654,8 @@ class Rotation: def om2ax(om): """Rotation matrix to axis angle pair.""" diag_delta = -_P*np.block([om[...,1,2:3]-om[...,2,1:2], - om[...,2,0:1]-om[...,0,2:3], - om[...,0,1:2]-om[...,1,0:1] + om[...,2,0:1]-om[...,0,2:3], + om[...,0,1:2]-om[...,1,0:1] ]) diag_delta[np.abs(diag_delta)<1.e-6] = 1.0 t = 0.5*(om.trace(axis2=-2,axis1=-1) -1.0).reshape(om.shape[:-2]+(1,)) diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index 8dc526325..a8b8afdac 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -51,7 +51,7 @@ class TestOrientation: def test_relationship_reference(self,update,reference_dir,model,lattice): reference = os.path.join(reference_dir,'{}_{}.txt'.format(lattice,model)) ori = Orientation(Rotation(),lattice) - eu = np.array([o.rotation.asEulers(degrees=True) for o in ori.relatedOrientations(model)]) + eu = np.array([o.rotation.as_Eulers(degrees=True) for o in ori.relatedOrientations(model)]) if update: coords = np.array([(1,i+1) for i,x in enumerate(eu)]) table = damask.Table(eu,{'Eulers':(3,)}) From 3dc90ddb943a7be8d55416031af8e0281a413d66 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 18 May 2020 15:54:58 +0200 Subject: [PATCH 055/958] use the formula from the paper, not from the reference implementation a few multiplications should be faster than a transpose --- python/damask/_rotation.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index e2d5963fe..032cd1ac2 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -534,16 +534,16 @@ class Rotation: def qu2om(qu): qq = qu[...,0:1]**2-(qu[...,1:2]**2 + qu[...,2:3]**2 + qu[...,3:4]**2) om = np.block([qq + 2.0*qu[...,1:2]**2, - 2.0*(qu[...,2:3]*qu[...,1:2]+qu[...,0:1]*qu[...,3:4]), - 2.0*(qu[...,3:4]*qu[...,1:2]-qu[...,0:1]*qu[...,2:3]), - 2.0*(qu[...,1:2]*qu[...,2:3]-qu[...,0:1]*qu[...,3:4]), + 2.0*(qu[...,2:3]*qu[...,1:2]+_P*qu[...,0:1]*qu[...,3:4]), + 2.0*(qu[...,3:4]*qu[...,1:2]-_P*qu[...,0:1]*qu[...,2:3]), + 2.0*(qu[...,1:2]*qu[...,2:3]-_P*qu[...,0:1]*qu[...,3:4]), qq + 2.0*qu[...,2:3]**2, - 2.0*(qu[...,3:4]*qu[...,2:3]+qu[...,0:1]*qu[...,1:2]), - 2.0*(qu[...,1:2]*qu[...,3:4]+qu[...,0:1]*qu[...,2:3]), - 2.0*(qu[...,2:3]*qu[...,3:4]-qu[...,0:1]*qu[...,1:2]), + 2.0*(qu[...,3:4]*qu[...,2:3]+_P*qu[...,0:1]*qu[...,1:2]), + 2.0*(qu[...,1:2]*qu[...,3:4]+_P*qu[...,0:1]*qu[...,2:3]), + 2.0*(qu[...,2:3]*qu[...,3:4]-_P*qu[...,0:1]*qu[...,1:2]), qq + 2.0*qu[...,3:4]**2, ]).reshape(qu.shape[:-1]+(3,3)) - return om if _P < 0.0 else np.swapaxes(om,(-1,-2)) + return om @staticmethod def qu2eu(qu): @@ -641,7 +641,7 @@ class Rotation: np.zeros(om.shape[:-2]+(1,)), ]), np.block([np.arctan2(om[...,2,0:1]*zeta,-om[...,2,1:2]*zeta), - np.arccos(om[...,2,2:3]), + np.arccos( om[...,2,2:3]), np.arctan2(om[...,0,2:3]*zeta,+om[...,1,2:3]*zeta) ]) ) From b200894a40782420b624a2058ff40cbd5097e95d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 18 May 2020 18:41:48 +0200 Subject: [PATCH 056/958] bugfix and further test --- python/damask/_rotation.py | 41 +++++++++++++++++++++-------- python/tests/rotation_conversion.py | 17 ++++++++++++ python/tests/test_Rotation.py | 3 ++- 3 files changed, 49 insertions(+), 12 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 032cd1ac2..5af3e1874 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -534,13 +534,13 @@ class Rotation: def qu2om(qu): qq = qu[...,0:1]**2-(qu[...,1:2]**2 + qu[...,2:3]**2 + qu[...,3:4]**2) om = np.block([qq + 2.0*qu[...,1:2]**2, - 2.0*(qu[...,2:3]*qu[...,1:2]+_P*qu[...,0:1]*qu[...,3:4]), - 2.0*(qu[...,3:4]*qu[...,1:2]-_P*qu[...,0:1]*qu[...,2:3]), - 2.0*(qu[...,1:2]*qu[...,2:3]-_P*qu[...,0:1]*qu[...,3:4]), + 2.0*(qu[...,2:3]*qu[...,1:2]-_P*qu[...,0:1]*qu[...,3:4]), + 2.0*(qu[...,3:4]*qu[...,1:2]+_P*qu[...,0:1]*qu[...,2:3]), + 2.0*(qu[...,1:2]*qu[...,2:3]+_P*qu[...,0:1]*qu[...,3:4]), qq + 2.0*qu[...,2:3]**2, - 2.0*(qu[...,3:4]*qu[...,2:3]+_P*qu[...,0:1]*qu[...,1:2]), - 2.0*(qu[...,1:2]*qu[...,3:4]+_P*qu[...,0:1]*qu[...,2:3]), - 2.0*(qu[...,2:3]*qu[...,3:4]-_P*qu[...,0:1]*qu[...,1:2]), + 2.0*(qu[...,3:4]*qu[...,2:3]-_P*qu[...,0:1]*qu[...,1:2]), + 2.0*(qu[...,1:2]*qu[...,3:4]-_P*qu[...,0:1]*qu[...,2:3]), + 2.0*(qu[...,2:3]*qu[...,3:4]+_P*qu[...,0:1]*qu[...,1:2]), qq + 2.0*qu[...,3:4]**2, ]).reshape(qu.shape[:-1]+(3,3)) return om @@ -626,9 +626,31 @@ class Rotation: """ Rotation matrix to quaternion. - The original formulation (direct conversion) had (numerical?) issues + This formulation is from www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion. + The original formulation had issues. """ - return Rotation.eu2qu(Rotation.om2eu(om)) + def x(a): + trace = a[0,0] + a[1,1] + a[2,2] + if trace > 0: + s = 0.5 / np.sqrt(trace+ 1.0) + qu = np.array([0.25 / s,( a[2,1] - a[1,2] ) * s,( a[0,2] - a[2,0] ) * s,( a[1,0] - a[0,1] ) * s]) + else: + if ( a[0,0] > a[1,1] and a[0,0] > a[2,2] ): + s = 2.0 * np.sqrt( 1.0 + a[0,0] - a[1,1] - a[2,2]) + qu = np.array([ (a[2,1] - a[1,2]) / s,0.25 * s,(a[0,1] + a[1,0]) / s,(a[0,2] + a[2,0]) / s]) + elif (a[1,1] > a[2,2]): + s = 2.0 * np.sqrt( 1.0 + a[1,1] - a[0,0] - a[2,2]) + qu = np.array([ (a[0,2] - a[2,0]) / s,(a[0,1] + a[1,0]) / s,0.25 * s,(a[1,2] + a[2,1]) / s]) + else: + s = 2.0 * np.sqrt( 1.0 + a[2,2] - a[0,0] - a[1,1] ) + qu = np.array([ (a[1,0] - a[0,1]) / s,(a[0,2] + a[2,0]) / s,(a[1,2] + a[2,1]) / s,0.25 * s]) + return qu + if len(om.shape) > 2: + om_ = om.reshape(-1,3,3) + qu = np.array([x(o) for o in om_]).reshape(om.shape[:-2]+(4,)) + else: + qu = x(om) + return qu*np.array([1,_P,_P,_P]) @staticmethod def om2eu(om): @@ -649,7 +671,6 @@ class Rotation: eu = np.where(eu<0, (eu+2.0*np.pi)%np.array([2.0*np.pi,np.pi,2.0*np.pi]),eu) return eu - @staticmethod def om2ax(om): """Rotation matrix to axis angle pair.""" @@ -672,7 +693,6 @@ class Rotation: ax[np.abs(ax[...,3])<1.e-6] = [ 0.0, 0.0, 1.0, 0.0] return ax - @staticmethod def om2ro(om): """Rotation matrix to Rodrigues-Frank vector.""" @@ -703,7 +723,6 @@ class Rotation: qu[qu[...,0]<0.0]*=-1 return qu - @staticmethod def eu2om(eu): """Bunge-Euler angles to rotation matrix.""" diff --git a/python/tests/rotation_conversion.py b/python/tests/rotation_conversion.py index 5ca10f443..ddd13495f 100644 --- a/python/tests/rotation_conversion.py +++ b/python/tests/rotation_conversion.py @@ -112,6 +112,23 @@ def qu2ho(qu): #---------- Rotation matrix ---------- +def om2qu(a): + trace = a[0,0] + a[1,1] + a[2,2] + if trace > 0: + s = 0.5 / np.sqrt(trace+ 1.0) + qu = np.array([0.25 / s,( a[2,1] - a[1,2] ) * s,( a[0,2] - a[2,0] ) * s,( a[1,0] - a[0,1] ) * s]) + else: + if ( a[0,0] > a[1,1] and a[0,0] > a[2,2] ): + s = 2.0 * np.sqrt( 1.0 + a[0,0] - a[1,1] - a[2,2]) + qu = np.array([ (a[2,1] - a[1,2]) / s,0.25 * s,(a[0,1] + a[1,0]) / s,(a[0,2] + a[2,0]) / s]) + elif (a[1,1] > a[2,2]): + s = 2.0 * np.sqrt( 1.0 + a[1,1] - a[0,0] - a[2,2]) + qu = np.array([ (a[0,2] - a[2,0]) / s,(a[0,1] + a[1,0]) / s,0.25 * s,(a[1,2] + a[2,1]) / s]) + else: + s = 2.0 * np.sqrt( 1.0 + a[2,2] - a[0,0] - a[1,1] ) + qu = np.array([ (a[1,0] - a[0,1]) / s,(a[0,2] + a[2,0]) / s,(a[1,2] + a[2,1]) / s,0.25 * s]) + return qu + def om2eu(om): """Rotation matrix to Bunge-Euler angles.""" if not np.isclose(np.abs(om[2,2]),1.0,1.e-4): diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 4a6350fda..71aff04a9 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -196,7 +196,8 @@ class TestRotation: assert np.allclose(single(q),c) and np.allclose(single(q),vectorized(q)) - @pytest.mark.parametrize('vectorized, single',[(Rotation.om2eu,rotation_conversion.om2eu), + @pytest.mark.parametrize('vectorized, single',[(Rotation.om2qu,rotation_conversion.om2qu), + (Rotation.om2eu,rotation_conversion.om2eu), (Rotation.om2ax,rotation_conversion.om2ax)]) def test_matrix_vectorization(self,default,vectorized,single): om = np.array([rot.as_matrix() for rot in default]) From b6eebcd7044a2867b5b96aa97114b4a2a77cfc47 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 18 May 2020 20:16:50 +0200 Subject: [PATCH 057/958] small fixes (testing P=+1) --- python/damask/_rotation.py | 10 +++++----- python/tests/rotation_conversion.py | 16 +++++++++------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 5af3e1874..e38a2bc56 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -716,10 +716,10 @@ class Rotation: ee = 0.5*eu cPhi = np.cos(ee[...,1:2]) sPhi = np.sin(ee[...,1:2]) - qu = np.block([ cPhi*np.cos(ee[...,0:1]+ee[...,2:3]), - -_P*sPhi*np.cos(ee[...,0:1]-ee[...,2:3]), - -_P*sPhi*np.sin(ee[...,0:1]-ee[...,2:3]), - -_P*cPhi*np.sin(ee[...,0:1]+ee[...,2:3])]) + qu = np.block([ cPhi*np.cos(ee[...,0:1]+ee[...,2:3]), + -_P*sPhi*np.cos(ee[...,0:1]-ee[...,2:3]), + -_P*sPhi*np.sin(ee[...,0:1]-ee[...,2:3]), + -_P*cPhi*np.sin(ee[...,0:1]+ee[...,2:3])]) qu[qu[...,0]<0.0]*=-1 return qu @@ -804,7 +804,7 @@ class Rotation: omc*ax[...,0:1]*ax[...,2:3] + s*ax[...,1:2], omc*ax[...,1:2]*ax[...,2:3] - s*ax[...,0:1], c+omc*ax[...,2:3]**2]).reshape(ax.shape[:-1]+(3,3)) - return om if _P < 0.0 else np.swapaxes(om,(-1,-2)) + return om if _P < 0.0 else np.swapaxes(om,-1,-2) @staticmethod def ax2eu(ax): diff --git a/python/tests/rotation_conversion.py b/python/tests/rotation_conversion.py index ddd13495f..82451bd84 100644 --- a/python/tests/rotation_conversion.py +++ b/python/tests/rotation_conversion.py @@ -31,12 +31,14 @@ import numpy as np -_P = -1 +from damask import _rotation + +_P = _rotation._P # parameters for conversion from/to cubochoric -_sc = np.pi**(1./6.)/6.**(1./6.) -_beta = np.pi**(5./6.)/6.**(1./6.)/2. -_R1 = (3.*np.pi/4.)**(1./3.) +_sc = _rotation._sc +_beta = _rotation._beta +_R1 = _rotation._R1 def iszero(a): return np.isclose(a,0.0,atol=1.0e-12,rtol=0.0) @@ -53,7 +55,7 @@ def qu2om(qu): om[2,1] = 2.0*(qu[2]*qu[3]-qu[0]*qu[1]) om[2,0] = 2.0*(qu[1]*qu[3]+qu[0]*qu[2]) om[0,2] = 2.0*(qu[3]*qu[1]-qu[0]*qu[2]) - return om if _P < 0.0 else np.swapaxes(om,(-1,-2)) + return om if _P < 0.0 else np.swapaxes(om,-1,-2) def qu2eu(qu): """Quaternion to Bunge-Euler angles.""" @@ -127,7 +129,7 @@ def om2qu(a): else: s = 2.0 * np.sqrt( 1.0 + a[2,2] - a[0,0] - a[1,1] ) qu = np.array([ (a[1,0] - a[0,1]) / s,(a[0,2] + a[2,0]) / s,(a[1,2] + a[2,1]) / s,0.25 * s]) - return qu + return qu*np.array([1.,_P,_P,_P]) def om2eu(om): """Rotation matrix to Bunge-Euler angles.""" @@ -167,7 +169,7 @@ def eu2qu(eu): ee = 0.5*eu cPhi = np.cos(ee[1]) sPhi = np.sin(ee[1]) - qu = np.array([ cPhi*np.cos(ee[0]+ee[2]), + qu = np.array([ cPhi*np.cos(ee[0]+ee[2]), -_P*sPhi*np.cos(ee[0]-ee[2]), -_P*sPhi*np.sin(ee[0]-ee[2]), -_P*cPhi*np.sin(ee[0]+ee[2]) ]) From 1a3a4a800e6f6b4616eb8b76dfb18473f63945e0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 19 May 2020 07:35:58 +0200 Subject: [PATCH 058/958] vectorized --- python/damask/_rotation.py | 54 ++++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index e38a2bc56..09921a194 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -629,28 +629,38 @@ class Rotation: This formulation is from www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion. The original formulation had issues. """ - def x(a): - trace = a[0,0] + a[1,1] + a[2,2] - if trace > 0: - s = 0.5 / np.sqrt(trace+ 1.0) - qu = np.array([0.25 / s,( a[2,1] - a[1,2] ) * s,( a[0,2] - a[2,0] ) * s,( a[1,0] - a[0,1] ) * s]) - else: - if ( a[0,0] > a[1,1] and a[0,0] > a[2,2] ): - s = 2.0 * np.sqrt( 1.0 + a[0,0] - a[1,1] - a[2,2]) - qu = np.array([ (a[2,1] - a[1,2]) / s,0.25 * s,(a[0,1] + a[1,0]) / s,(a[0,2] + a[2,0]) / s]) - elif (a[1,1] > a[2,2]): - s = 2.0 * np.sqrt( 1.0 + a[1,1] - a[0,0] - a[2,2]) - qu = np.array([ (a[0,2] - a[2,0]) / s,(a[0,1] + a[1,0]) / s,0.25 * s,(a[1,2] + a[2,1]) / s]) - else: - s = 2.0 * np.sqrt( 1.0 + a[2,2] - a[0,0] - a[1,1] ) - qu = np.array([ (a[1,0] - a[0,1]) / s,(a[0,2] + a[2,0]) / s,(a[1,2] + a[2,1]) / s,0.25 * s]) - return qu - if len(om.shape) > 2: - om_ = om.reshape(-1,3,3) - qu = np.array([x(o) for o in om_]).reshape(om.shape[:-2]+(4,)) - else: - qu = x(om) - return qu*np.array([1,_P,_P,_P]) + trace = om[...,0,0:1]+om[...,1,1:2]+om[...,2,2:3] + + with np.errstate(invalid='ignore',divide='ignore'): + s = [ + 0.5 / np.sqrt( 1.0 + trace), + 2.0 * np.sqrt( 1.0 + om[...,0,0:1] - om[...,1,1:2] - om[...,2,2:3]), + 2.0 * np.sqrt( 1.0 + om[...,1,1:2] - om[...,2,2:3] - om[...,0,0:1]), + 2.0 * np.sqrt( 1.0 + om[...,2,2:3] - om[...,0,0:1] - om[...,1,1:2] ) + ] + qu= np.where(trace>0, + np.block([0.25 / s[0], + (om[...,2,1:2] - om[...,1,2:3] ) * s[0], + (om[...,0,2:3] - om[...,2,0:1] ) * s[0], + (om[...,1,0:1] - om[...,0,1:2] ) * s[0]]), + np.where(om[...,0,0:1] > np.maximum(om[...,1,1:2],om[...,2,2:3]), + np.block([(om[...,2,1:2] - om[...,1,2:3]) / s[1], + 0.25 * s[1], + (om[...,0,1:2] + om[...,1,0:1]) / s[1], + (om[...,0,2:3] + om[...,2,0:1]) / s[1]]), + np.where(om[...,1,1:2] > om[...,2,2:3], + np.block([(om[...,0,2:3] - om[...,2,0:1]) / s[2], + (om[...,0,1:2] + om[...,1,0:1]) / s[2], + 0.25 * s[2], + (om[...,1,2:3] + om[...,2,1:2]) / s[2]]), + np.block([(om[...,1,0:1] - om[...,0,1:2]) / s[3], + (om[...,0,2:3] + om[...,2,0:1]) / s[3], + (om[...,1,2:3] + om[...,2,1:2]) / s[3], + 0.25 * s[3]]), + ) + ) + )*np.array([1,_P,_P,_P]) + return qu @staticmethod def om2eu(om): From ebf05a279eb2693a37dcce13efa590a67ab5bdc9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 19 May 2020 08:59:03 +0200 Subject: [PATCH 059/958] standard name --- python/damask/_rotation.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 09921a194..949a6c3ab 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -311,7 +311,7 @@ class Rotation: # relax the conventions. @staticmethod def from_quaternion(quaternion, - acceptHomomorph = False, + accept_homomorph = False, P = -1): qu = np.array(quaternion,dtype=float) @@ -319,7 +319,7 @@ class Rotation: raise ValueError('Invalid shape.') if P > 0: qu[...,1:4] *= -1 # convert from P=1 to P=-1 - if acceptHomomorph: + if accept_homomorph: qu[qu[...,0] < 0.0] *= -1 else: if np.any(qu[...,0] < 0.0): @@ -472,7 +472,7 @@ class Rotation: else M + r.asM() * n # noqa add (multiples) of this rotation to average noqa eig, vec = np.linalg.eig(M/N) - return Rotation.from_quaternion(np.real(vec.T[eig.argmax()]),acceptHomomorph = True) + return Rotation.from_quaternion(np.real(vec.T[eig.argmax()]),accept_homomorph = True) @staticmethod def from_random(shape=None): From 065c624f94acdacce2fce12be0aca72c1cbe3c30 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 19 May 2020 09:10:14 +0200 Subject: [PATCH 060/958] fix for backward compatibility --- python/damask/_rotation.py | 1 + python/tests/test_Rotation.py | 36 +++++++++++++++++++++++------------ 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 949a6c3ab..f45e04ff4 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -494,6 +494,7 @@ class Rotation: # for compatibility (old names do not follow convention) + asM = M fromQuaternion = from_quaternion fromEulers = from_Eulers asAxisAngle = as_axis_angle diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 71aff04a9..183fbd19e 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -91,20 +91,25 @@ def reference_dir(reference_dir_base): class TestRotation: - def test_Eulers(self,default): + @pytest.mark.parametrize('degrees',[True,False]) + def test_Eulers(self,default,degrees): for rot in default: m = rot.as_quaternion() - o = Rotation.from_Eulers(rot.as_Eulers()).as_quaternion() + o = Rotation.from_Eulers(rot.as_Eulers(degrees),degrees).as_quaternion() ok = np.allclose(m,o,atol=atol) if np.isclose(rot.as_quaternion()[0],0.0,atol=atol): ok = ok or np.allclose(m*-1.,o,atol=atol) print(m,o,rot.as_quaternion()) assert ok and np.isclose(np.linalg.norm(o),1.0) - def test_AxisAngle(self,default): + @pytest.mark.parametrize('P',[1,-1]) + @pytest.mark.parametrize('normalise',[True,False]) + @pytest.mark.parametrize('degrees',[True,False]) + def test_AxisAngle(self,default,degrees,normalise,P): + c = np.array([P*-1,P*-1,P*-1,1.]) for rot in default: m = rot.as_Eulers() - o = Rotation.from_axis_angle(rot.as_axis_angle()).as_Eulers() + o = Rotation.from_axis_angle(rot.as_axis_angle(degrees)*c,degrees,normalise,P).as_Eulers() u = np.array([np.pi*2,np.pi,np.pi*2]) ok = np.allclose(m,o,atol=atol) ok = ok or np.allclose(np.where(np.isclose(m,u),m-u,m),np.where(np.isclose(o,u),o-u,o),atol=atol) @@ -124,36 +129,43 @@ class TestRotation: print(m,o,rot.as_quaternion()) assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) and o[3]<=np.pi++1.e-9 - def test_Rodrigues(self,default): + @pytest.mark.parametrize('P',[1,-1]) + @pytest.mark.parametrize('normalise',[True,False]) + def test_Rodrigues(self,default,normalise,P): + c = np.array([P*-1,P*-1,P*-1,1.]) for rot in default: m = rot.as_matrix() - o = Rotation.from_Rodrigues(rot.as_Rodrigues()).as_matrix() + o = Rotation.from_Rodrigues(rot.as_Rodrigues()*c,normalise,P).as_matrix() ok = np.allclose(m,o,atol=atol) print(m,o) assert ok and np.isclose(np.linalg.det(o),1.0) - def test_Homochoric(self,default): + @pytest.mark.parametrize('P',[1,-1]) + def test_Homochoric(self,default,P): cutoff = np.tan(np.pi*.5*(1.-1e-4)) for rot in default: m = rot.as_Rodrigues() - o = Rotation.from_homochoric(rot.as_homochoric()).as_Rodrigues() + o = Rotation.from_homochoric(rot.as_homochoric()*P*-1,P).as_Rodrigues() ok = np.allclose(np.clip(m,None,cutoff),np.clip(o,None,cutoff),atol=atol) ok = ok or np.isclose(m[3],0.0,atol=atol) print(m,o,rot.as_quaternion()) assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) - def test_Cubochoric(self,default): + @pytest.mark.parametrize('P',[1,-1]) + def test_Cubochoric(self,default,P): for rot in default: m = rot.as_homochoric() - o = Rotation.from_cubochoric(rot.as_cubochoric()).as_homochoric() + o = Rotation.from_cubochoric(rot.as_cubochoric()*P*-1,P).as_homochoric() ok = np.allclose(m,o,atol=atol) print(m,o,rot.as_quaternion()) assert ok and np.linalg.norm(o) < (3.*np.pi/4.)**(1./3.) + 1.e-9 - def test_Quaternion(self,default): + @pytest.mark.parametrize('P',[1,-1]) + def test_Quaternion(self,default,P): + c = np.array([1,P*-1,P*-1,P*-1]) for rot in default: m = rot.as_cubochoric() - o = Rotation.from_quaternion(rot.as_quaternion()).as_cubochoric() + o = Rotation.from_quaternion(rot.as_quaternion()*c,False,P).as_cubochoric() ok = np.allclose(m,o,atol=atol) print(m,o,rot.as_quaternion()) assert ok and o.max() < np.pi**(2./3.)*0.5+1.e-9 From de79a5af43772629878e0bafe6f928de569e289a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 19 May 2020 09:55:23 +0200 Subject: [PATCH 061/958] directly test the internal conversions some work to do ... --- python/damask/_rotation.py | 5 +-- python/tests/rotation_conversion.py | 1 + python/tests/test_Rotation.py | 50 +++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 2 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index f45e04ff4..167552b68 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -468,8 +468,8 @@ class Rotation: weights = np.ones(N,dtype='i') for i,(r,n) in enumerate(zip(rotations,weights)): - M = r.asM() * n if i == 0 \ - else M + r.asM() * n # noqa add (multiples) of this rotation to average noqa + M = r.M() * n if i == 0 \ + else M + r.M() * n # noqa add (multiples) of this rotation to average noqa eig, vec = np.linalg.eig(M/N) return Rotation.from_quaternion(np.real(vec.T[eig.argmax()]),accept_homomorph = True) @@ -661,6 +661,7 @@ class Rotation: ) ) )*np.array([1,_P,_P,_P]) + qu[qu[...,0]<0] *=-1 return qu @staticmethod diff --git a/python/tests/rotation_conversion.py b/python/tests/rotation_conversion.py index 82451bd84..5219f3260 100644 --- a/python/tests/rotation_conversion.py +++ b/python/tests/rotation_conversion.py @@ -129,6 +129,7 @@ def om2qu(a): else: s = 2.0 * np.sqrt( 1.0 + a[2,2] - a[0,0] - a[1,1] ) qu = np.array([ (a[1,0] - a[0,1]) / s,(a[0,2] + a[2,0]) / s,(a[1,2] + a[2,1]) / s,0.25 * s]) + if qu[0]<0: qu*=-1 return qu*np.array([1.,_P,_P,_P]) def om2eu(om): diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 183fbd19e..4dc98a797 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -91,6 +91,56 @@ def reference_dir(reference_dir_base): class TestRotation: + @pytest.mark.parametrize('forward,backward',[(Rotation.qu2om,Rotation.om2qu), + (Rotation.qu2eu,Rotation.eu2qu), + (Rotation.qu2ax,Rotation.ax2qu), + (Rotation.qu2ro,Rotation.ro2qu), + (Rotation.qu2ho,Rotation.ho2qu), + (Rotation.qu2cu,Rotation.cu2qu)]) + def test_quaternion_internal(self,default,forward,backward): + for rot in default: + m = rot.as_quaternion() + o = backward(forward(m)) + ok = np.allclose(m,o,atol=atol) + if np.isclose(rot.as_quaternion()[0],0.0,atol=atol): + ok = ok or np.allclose(m*-1.,o,atol=atol) + print(m,o,rot.as_quaternion()) + assert ok and np.isclose(np.linalg.norm(o),1.0) + + @pytest.mark.parametrize('forward,backward',[(Rotation.om2qu,Rotation.qu2om)]) + #(Rotation.om2eu,Rotation.eu2om), + #(Rotation.om2ax,Rotation.ax2om), + #(Rotation.om2ro,Rotation.ro2om), + #(Rotation.om2ho,Rotation.ho2om), + #(Rotation.om2cu,Rotation.cu2om)]) + def test_matrix_internal(self,default,forward,backward): + for rot in default: + m = rot.as_matrix() + o = backward(forward(m)) + ok = np.allclose(m,o,atol=atol) + print(m,o,rot.as_quaternion()) + assert ok and np.isclose(np.linalg.det(o),1.0) + + @pytest.mark.parametrize('forward,backward',[(Rotation.eu2qu,Rotation.qu2eu)]) + #(Rotation.eu2om,Rotation.om2eu), + #(Rotation.eu2ax,Rotation.ax2eu), + #(Rotation.eu2ro,Rotation.ro2eu), + #(Rotation.eu2ho,Rotation.ho2eu), + #(Rotation.eu2cu,Rotation.cu2eu)]) + def test_Eulers_internal(self,default,forward,backward): + for rot in default: + m = rot.as_Eulers() + o = backward(forward(m)) + u = np.array([np.pi*2,np.pi,np.pi*2]) + ok = np.allclose(m,o,atol=atol) + ok = ok or np.allclose(np.where(np.isclose(m,u),m-u,m),np.where(np.isclose(o,u),o-u,o),atol=atol) + if np.isclose(m[1],0.0,atol=atol) or np.isclose(m[1],np.pi,atol=atol): + sum_phi = np.unwrap([m[0]+m[2],o[0]+o[2]]) + ok = ok or np.isclose(sum_phi[0],sum_phi[1],atol=atol) + print(m,o,rot.as_quaternion()) + assert ok and (np.zeros(3)-1.e-9 <= o).all() and (o <= np.array([np.pi*2.,np.pi,np.pi*2.])+1.e-9).all() + + @pytest.mark.parametrize('degrees',[True,False]) def test_Eulers(self,default,degrees): for rot in default: From a6b0aaffbac0d1188e85f5862b0e3c7452405dc4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 19 May 2020 19:41:50 +0200 Subject: [PATCH 062/958] more tests Hotfix needed for axis angle to matrix (not used in DAMASK, needs further investigation) --- python/damask/_rotation.py | 11 +++++---- python/tests/rotation_conversion.py | 11 +++++---- python/tests/test_Rotation.py | 38 ++++++++++++++++++++--------- 3 files changed, 39 insertions(+), 21 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 167552b68..ee497e72b 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -669,7 +669,7 @@ class Rotation: """Rotation matrix to Bunge-Euler angles.""" with np.errstate(invalid='ignore',divide='ignore'): zeta = 1.0/np.sqrt(1.0-om[...,2,2:3]**2) - eu = np.where(np.isclose(np.abs(om[...,2,2:3]),1.0,1e-4), + eu = np.where(np.isclose(np.abs(om[...,2,2:3]),1.0,1e-9), np.block([np.arctan2(om[...,0,1:2],om[...,0,0:1]), np.pi*0.5*(1-om[...,2,2:3]), np.zeros(om.shape[:-2]+(1,)), @@ -679,30 +679,30 @@ class Rotation: np.arctan2(om[...,0,2:3]*zeta,+om[...,1,2:3]*zeta) ]) ) - eu[np.abs(eu)<1.e-6] = 0.0 + eu[np.abs(eu)<1.e-8] = 0.0 eu = np.where(eu<0, (eu+2.0*np.pi)%np.array([2.0*np.pi,np.pi,2.0*np.pi]),eu) return eu @staticmethod def om2ax(om): """Rotation matrix to axis angle pair.""" + return Rotation.qu2ax(Rotation.om2qu(om)) # HOTFIX diag_delta = -_P*np.block([om[...,1,2:3]-om[...,2,1:2], om[...,2,0:1]-om[...,0,2:3], om[...,0,1:2]-om[...,1,0:1] ]) - diag_delta[np.abs(diag_delta)<1.e-6] = 1.0 t = 0.5*(om.trace(axis2=-2,axis1=-1) -1.0).reshape(om.shape[:-2]+(1,)) w,vr = np.linalg.eig(om) # mask duplicated real eigenvalues w[np.isclose(w[...,0],1.0+0.0j),1:] = 0. w[np.isclose(w[...,1],1.0+0.0j),2:] = 0. vr = np.swapaxes(vr,-1,-2) - ax = np.where(np.abs(diag_delta)<0, + ax = np.where(np.abs(diag_delta)<1e-12, np.real(vr[np.isclose(w,1.0+0.0j)]).reshape(om.shape[:-2]+(3,)), np.abs(np.real(vr[np.isclose(w,1.0+0.0j)]).reshape(om.shape[:-2]+(3,))) \ *np.sign(diag_delta)) ax = np.block([ax,np.arccos(np.clip(t,-1.0,1.0))]) - ax[np.abs(ax[...,3])<1.e-6] = [ 0.0, 0.0, 1.0, 0.0] + ax[np.abs(ax[...,3])<1.e-8] = [ 0.0, 0.0, 1.0, 0.0] return ax @staticmethod @@ -804,6 +804,7 @@ class Rotation: @staticmethod def ax2om(ax): """Axis angle pair to rotation matrix.""" + return Rotation.qu2om(Rotation.ax2qu(ax)) # HOTFIX c = np.cos(ax[...,3:4]) s = np.sin(ax[...,3:4]) omc = 1. -c diff --git a/python/tests/rotation_conversion.py b/python/tests/rotation_conversion.py index 5219f3260..ab503f402 100644 --- a/python/tests/rotation_conversion.py +++ b/python/tests/rotation_conversion.py @@ -134,25 +134,26 @@ def om2qu(a): def om2eu(om): """Rotation matrix to Bunge-Euler angles.""" - if not np.isclose(np.abs(om[2,2]),1.0,1.e-4): + if not np.isclose(np.abs(om[2,2]),1.0,1.e-9): zeta = 1.0/np.sqrt(1.0-om[2,2]**2) eu = np.array([np.arctan2(om[2,0]*zeta,-om[2,1]*zeta), np.arccos(om[2,2]), np.arctan2(om[0,2]*zeta, om[1,2]*zeta)]) else: eu = np.array([np.arctan2( om[0,1],om[0,0]), np.pi*0.5*(1-om[2,2]),0.0]) # following the paper, not the reference implementation - eu[np.abs(eu)<1.e-6] = 0.0 + eu[np.abs(eu)<1.e-8] = 0.0 eu = np.where(eu<0, (eu+2.0*np.pi)%np.array([2.0*np.pi,np.pi,2.0*np.pi]),eu) return eu def om2ax(om): """Rotation matrix to axis angle pair.""" + return qu2ax(om2qu(om)) # HOTFIX ax=np.empty(4) # first get the rotation angle t = 0.5*(om.trace() -1.0) ax[3] = np.arccos(np.clip(t,-1.0,1.0)) - if np.abs(ax[3])<1.e-6: + if np.abs(ax[3])<1.e-8: ax = np.array([ 0.0, 0.0, 1.0, 0.0]) else: w,vr = np.linalg.eig(om) @@ -160,8 +161,7 @@ def om2ax(om): i = np.where(np.isclose(w,1.0+0.0j))[0][0] ax[0:3] = np.real(vr[0:3,i]) diagDelta = -_P*np.array([om[1,2]-om[2,1],om[2,0]-om[0,2],om[0,1]-om[1,0]]) - diagDelta[np.abs(diagDelta)<1.e-6] = 1.0 - ax[0:3] = np.where(np.abs(diagDelta)<0, ax[0:3],np.abs(ax[0:3])*np.sign(diagDelta)) + ax[0:3] = np.where(np.abs(diagDelta)<1e-12, ax[0:3],np.abs(ax[0:3])*np.sign(diagDelta)) return ax #---------- Bunge-Euler angles ---------- @@ -229,6 +229,7 @@ def ax2qu(ax): def ax2om(ax): """Axis angle pair to rotation matrix.""" + return qu2om(ax2qu(ax)) # HOTFIX c = np.cos(ax[3]) s = np.sin(ax[3]) omc = 1.0-c diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 4dc98a797..adf507e49 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -107,10 +107,10 @@ class TestRotation: print(m,o,rot.as_quaternion()) assert ok and np.isclose(np.linalg.norm(o),1.0) - @pytest.mark.parametrize('forward,backward',[(Rotation.om2qu,Rotation.qu2om)]) - #(Rotation.om2eu,Rotation.eu2om), - #(Rotation.om2ax,Rotation.ax2om), - #(Rotation.om2ro,Rotation.ro2om), + @pytest.mark.parametrize('forward,backward',[(Rotation.om2qu,Rotation.qu2om), + (Rotation.om2eu,Rotation.eu2om), + (Rotation.om2ax,Rotation.ax2om), + (Rotation.om2ro,Rotation.ro2om)]) #(Rotation.om2ho,Rotation.ho2om), #(Rotation.om2cu,Rotation.cu2om)]) def test_matrix_internal(self,default,forward,backward): @@ -121,12 +121,12 @@ class TestRotation: print(m,o,rot.as_quaternion()) assert ok and np.isclose(np.linalg.det(o),1.0) - @pytest.mark.parametrize('forward,backward',[(Rotation.eu2qu,Rotation.qu2eu)]) - #(Rotation.eu2om,Rotation.om2eu), - #(Rotation.eu2ax,Rotation.ax2eu), - #(Rotation.eu2ro,Rotation.ro2eu), - #(Rotation.eu2ho,Rotation.ho2eu), - #(Rotation.eu2cu,Rotation.cu2eu)]) + @pytest.mark.parametrize('forward,backward',[(Rotation.eu2qu,Rotation.qu2eu), + (Rotation.eu2om,Rotation.om2eu), + (Rotation.eu2ax,Rotation.ax2eu), + (Rotation.eu2ro,Rotation.ro2eu), + (Rotation.eu2ho,Rotation.ho2eu), + (Rotation.eu2cu,Rotation.cu2eu)]) def test_Eulers_internal(self,default,forward,backward): for rot in default: m = rot.as_Eulers() @@ -140,6 +140,22 @@ class TestRotation: print(m,o,rot.as_quaternion()) assert ok and (np.zeros(3)-1.e-9 <= o).all() and (o <= np.array([np.pi*2.,np.pi,np.pi*2.])+1.e-9).all() + @pytest.mark.parametrize('forward,backward',[(Rotation.ax2qu,Rotation.qu2ax), + (Rotation.ax2om,Rotation.om2ax), + (Rotation.ax2eu,Rotation.eu2ax), + (Rotation.ax2ro,Rotation.ro2ax), + (Rotation.ax2ho,Rotation.ho2ax), + (Rotation.ax2cu,Rotation.cu2ax)]) + def test_axis_angle_internal(self,default,forward,backward): + for rot in default: + m = rot.as_axis_angle() + o = backward(forward(m)) + ok = np.allclose(m,o,atol=atol) + if np.isclose(m[3],np.pi,atol=atol): + ok = ok or np.allclose(m*np.array([-1.,-1.,-1.,1.]),o,atol=atol) + print(m,o,rot.as_quaternion()) + assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) and o[3]<=np.pi+1.e-7 + @pytest.mark.parametrize('degrees',[True,False]) def test_Eulers(self,default,degrees): @@ -177,7 +193,7 @@ class TestRotation: if np.isclose(m[3],np.pi,atol=atol): ok = ok or np.allclose(m*np.array([-1.,-1.,-1.,1.]),o,atol=atol) print(m,o,rot.as_quaternion()) - assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) and o[3]<=np.pi++1.e-9 + assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) and o[3]<=np.pi+1.e-7 @pytest.mark.parametrize('P',[1,-1]) @pytest.mark.parametrize('normalise',[True,False]) From 1c53a37de485420da8ca8fa6cbdea6612b60824d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 19 May 2020 21:03:30 +0200 Subject: [PATCH 063/958] more tests and adjustments to tolerances --- python/damask/_rotation.py | 5 ++--- python/tests/rotation_conversion.py | 7 +++---- python/tests/test_Rotation.py | 6 +++--- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index ee497e72b..0f0a081bc 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -584,10 +584,10 @@ class Rotation: with np.errstate(invalid='ignore',divide='ignore'): s = np.sign(qu[...,0:1])/np.sqrt(qu[...,1:2]**2+qu[...,2:3]**2+qu[...,3:4]**2) omega = 2.0 * np.arccos(np.clip(qu[...,0:1],-1.0,1.0)) - ax = np.where(np.broadcast_to(qu[...,0:1] < 1.0e-6,qu.shape), + ax = np.where(np.broadcast_to(qu[...,0:1] < 1.0e-8,qu.shape), np.block([qu[...,1:4],np.broadcast_to(np.pi,qu.shape[:-1]+(1,))]), np.block([qu[...,1:4]*s,omega])) - ax[np.sum(np.abs(qu[...,1:4])**2,axis=-1) < 1.0e-6,] = [0.0, 0.0, 1.0, 0.0] + ax[np.isclose(qu[...,0],1.,rtol=0.0)] = [0.0, 0.0, 1.0, 0.0] return ax @staticmethod @@ -804,7 +804,6 @@ class Rotation: @staticmethod def ax2om(ax): """Axis angle pair to rotation matrix.""" - return Rotation.qu2om(Rotation.ax2qu(ax)) # HOTFIX c = np.cos(ax[...,3:4]) s = np.sin(ax[...,3:4]) omc = 1. -c diff --git a/python/tests/rotation_conversion.py b/python/tests/rotation_conversion.py index ab503f402..3aca1a212 100644 --- a/python/tests/rotation_conversion.py +++ b/python/tests/rotation_conversion.py @@ -81,9 +81,9 @@ def qu2ax(qu): Modified version of the original formulation, should be numerically more stable """ - if np.abs(np.sum(qu[1:4]**2)) < 1.e-6: # set axis to [001] if the angle is 0/360 + if np.isclose(qu[0],1.,rtol=0.0): # set axis to [001] if the angle is 0/360 ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) - elif qu[0] > 1.e-6: + elif qu[0] > 1.e-8: s = np.sign(qu[0])/np.sqrt(qu[1]**2+qu[2]**2+qu[3]**2) omega = 2.0 * np.arccos(np.clip(qu[0],-1.0,1.0)) ax = ax = np.array([ qu[1]*s, qu[2]*s, qu[3]*s, omega ]) @@ -229,7 +229,6 @@ def ax2qu(ax): def ax2om(ax): """Axis angle pair to rotation matrix.""" - return qu2om(ax2qu(ax)) # HOTFIX c = np.cos(ax[3]) s = np.sin(ax[3]) omc = 1.0-c @@ -239,7 +238,7 @@ def ax2om(ax): q = omc*ax[idx[0]] * ax[idx[1]] om[idx[0],idx[1]] = q + s*ax[idx[2]] om[idx[1],idx[0]] = q - s*ax[idx[2]] - return om if _P < 0.0 else np.swapaxes(om,(-1,-2)) + return om if _P < 0.0 else om.T def ax2ro(ax): """Axis angle pair to Rodrigues-Frank vector.""" diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index adf507e49..f9565a5e2 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -110,9 +110,9 @@ class TestRotation: @pytest.mark.parametrize('forward,backward',[(Rotation.om2qu,Rotation.qu2om), (Rotation.om2eu,Rotation.eu2om), (Rotation.om2ax,Rotation.ax2om), - (Rotation.om2ro,Rotation.ro2om)]) - #(Rotation.om2ho,Rotation.ho2om), - #(Rotation.om2cu,Rotation.cu2om)]) + (Rotation.om2ro,Rotation.ro2om), + (Rotation.om2ho,Rotation.ho2om), + (Rotation.om2cu,Rotation.cu2om)]) def test_matrix_internal(self,default,forward,backward): for rot in default: m = rot.as_matrix() From 3e002691793b36590c6bce536cffc2a6b8d01260 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 19 May 2020 23:24:12 +0200 Subject: [PATCH 064/958] again some more tests --- python/damask/_rotation.py | 8 ++++++-- python/tests/test_Rotation.py | 33 +++++++++++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 0f0a081bc..fc124f5bb 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -112,10 +112,14 @@ class Rotation: return A*other + B*self.quaternion[1:] + C * np.cross(self.quaternion[1:],other) elif other.shape == (3,3,): - return np.dot(self.as_matrix(),np.dot(other,self.as_matrix().T)) + R = self.as_matrix() + return np.dot(R,np.dot(other,R.T)) elif other.shape == (3,3,3,3,): R = self.as_matrix() - return np.einsum('...im,...jn,...ko,...lp,...mnop',R,R,R,R,other) + RR = np.outer(R, R) + RRRR = np.outer(RR, RR).reshape(4 * (3,3)) + axes = ((0, 2, 4, 6), (0, 1, 2, 3)) + return np.tensordot(RRRR, other, axes) else: raise ValueError('Can only rotate vectors, 2nd order ternsors, and 4th order tensors') else: diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index f9565a5e2..35df97f7b 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -154,8 +154,37 @@ class TestRotation: if np.isclose(m[3],np.pi,atol=atol): ok = ok or np.allclose(m*np.array([-1.,-1.,-1.,1.]),o,atol=atol) print(m,o,rot.as_quaternion()) - assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) and o[3]<=np.pi+1.e-7 + assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) and o[3]<=np.pi+1.e-9 + @pytest.mark.parametrize('forward,backward',[(Rotation.ro2qu,Rotation.qu2ro), + #(Rotation.ro2om,Rotation.om2ro), + #(Rotation.ro2eu,Rotation.eu2ro), + (Rotation.ro2ax,Rotation.ax2ro), + (Rotation.ro2ho,Rotation.ho2ro), + (Rotation.ro2cu,Rotation.cu2ro)]) + def test_Rodrigues_internal(self,default,forward,backward): + cutoff = np.tan(np.pi*.5*(1.-1e-4)) + for rot in default: + m = rot.as_Rodrigues() + o = backward(forward(m)) + ok = np.allclose(np.clip(m,None,cutoff),np.clip(o,None,cutoff),atol=atol) + ok = ok or np.isclose(m[3],0.0,atol=atol) + print(m,o,rot.as_quaternion()) + assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) + + @pytest.mark.parametrize('forward,backward',[(Rotation.ho2qu,Rotation.qu2ho), + (Rotation.ho2om,Rotation.om2ho), + #(Rotation.ho2eu,Rotation.eu2ho), + (Rotation.ho2ax,Rotation.ax2ho), + (Rotation.ho2ro,Rotation.ro2ho), + (Rotation.ho2cu,Rotation.cu2ho)]) + def test_homochoric_internal(self,default,forward,backward): + for rot in default: + m = rot.as_homochoric() + o = backward(forward(m)) + ok = np.allclose(m,o,atol=atol) + print(m,o,rot.as_quaternion()) + assert ok and np.linalg.norm(o) < (3.*np.pi/4.)**(1./3.) + 1.e-9 @pytest.mark.parametrize('degrees',[True,False]) def test_Eulers(self,default,degrees): @@ -193,7 +222,7 @@ class TestRotation: if np.isclose(m[3],np.pi,atol=atol): ok = ok or np.allclose(m*np.array([-1.,-1.,-1.,1.]),o,atol=atol) print(m,o,rot.as_quaternion()) - assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) and o[3]<=np.pi+1.e-7 + assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) and o[3]<=np.pi+1.e-9 @pytest.mark.parametrize('P',[1,-1]) @pytest.mark.parametrize('normalise',[True,False]) From 1fa4a07bb857fe3f6cd2da04ae88786caaa1ca81 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 19 May 2020 23:39:01 +0200 Subject: [PATCH 065/958] for backward compatibility --- python/damask/_rotation.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index fc124f5bb..31732015e 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -502,6 +502,7 @@ class Rotation: fromQuaternion = from_quaternion fromEulers = from_Eulers asAxisAngle = as_axis_angle + asRodrigues = as_Rodrigues #################################################################################################### From 1d8903bb0c26f8094ac859936c9089f2985891f6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 20 May 2020 00:17:45 +0200 Subject: [PATCH 066/958] transition code --- python/damask/_rotation.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 31732015e..d2698fd52 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -316,8 +316,11 @@ class Rotation: @staticmethod def from_quaternion(quaternion, accept_homomorph = False, - P = -1): + P = -1, + acceptHomomorph = None): + if acceptHomomorph is not None: + accept_homomorph = acceptHomomorph qu = np.array(quaternion,dtype=float) if qu.shape[:-2:-1] != (4,): raise ValueError('Invalid shape.') From 9694767997933e55f8ae41e08b5282ac838a6677 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 20 May 2020 09:01:38 +0200 Subject: [PATCH 067/958] all seems to work now --- python/damask/_rotation.py | 8 ++++---- python/tests/rotation_conversion.py | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index d2698fd52..baa008391 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -694,7 +694,7 @@ class Rotation: @staticmethod def om2ax(om): """Rotation matrix to axis angle pair.""" - return Rotation.qu2ax(Rotation.om2qu(om)) # HOTFIX + #return Rotation.qu2ax(Rotation.om2qu(om)) # HOTFIX diag_delta = -_P*np.block([om[...,1,2:3]-om[...,2,1:2], om[...,2,0:1]-om[...,0,2:3], om[...,0,1:2]-om[...,1,0:1] @@ -878,14 +878,14 @@ class Rotation: ax = np.where(np.isfinite(ro[...,3:4]), np.block([ro[...,0:3]*np.linalg.norm(ro[...,0:3],axis=-1,keepdims=True),2.*np.arctan(ro[...,3:4])]), np.block([ro[...,0:3],np.broadcast_to(np.pi,ro[...,3:4].shape)])) - ax[np.abs(ro[...,3]) < 1.e-6] = np.array([ 0.0, 0.0, 1.0, 0.0 ]) + ax[np.abs(ro[...,3]) < 1.e-8] = np.array([ 0.0, 0.0, 1.0, 0.0 ]) return ax @staticmethod def ro2ho(ro): """Rodrigues-Frank vector to homochoric vector.""" f = np.where(np.isfinite(ro[...,3:4]),2.0*np.arctan(ro[...,3:4]) -np.sin(2.0*np.arctan(ro[...,3:4])),np.pi) - ho = np.where(np.broadcast_to(np.sum(ro[...,0:3]**2.0,axis=-1,keepdims=True) < 1.e-6,ro[...,0:3].shape), + ho = np.where(np.broadcast_to(np.sum(ro[...,0:3]**2.0,axis=-1,keepdims=True) < 1.e-8,ro[...,0:3].shape), np.zeros(3), ro[...,0:3]* (0.75*f)**(1.0/3.0)) return ho @@ -929,7 +929,7 @@ class Rotation: hm *= hmag_squared s += tfit[i] * hm with np.errstate(invalid='ignore'): - ax = np.where(np.broadcast_to(np.abs(hmag_squared)<1.e-6,ho.shape[:-1]+(4,)), + ax = np.where(np.broadcast_to(np.abs(hmag_squared)<1.e-8,ho.shape[:-1]+(4,)), [ 0.0, 0.0, 1.0, 0.0 ], np.block([ho/np.sqrt(hmag_squared),2.0*np.arccos(np.clip(s,-1.0,1.0))])) return ax diff --git a/python/tests/rotation_conversion.py b/python/tests/rotation_conversion.py index 3aca1a212..58ac9329f 100644 --- a/python/tests/rotation_conversion.py +++ b/python/tests/rotation_conversion.py @@ -147,7 +147,7 @@ def om2eu(om): def om2ax(om): """Rotation matrix to axis angle pair.""" - return qu2ax(om2qu(om)) # HOTFIX + #return qu2ax(om2qu(om)) # HOTFIX ax=np.empty(4) # first get the rotation angle @@ -262,7 +262,7 @@ def ax2ho(ax): #---------- Rodrigues-Frank vector ---------- def ro2ax(ro): """Rodrigues-Frank vector to axis angle pair.""" - if np.abs(ro[3]) < 1.e-6: + if np.abs(ro[3]) < 1.e-8: ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) elif not np.isfinite(ro[3]): ax = np.array([ ro[0], ro[1], ro[2], np.pi ]) @@ -274,7 +274,7 @@ def ro2ax(ro): def ro2ho(ro): """Rodrigues-Frank vector to homochoric vector.""" - if np.sum(ro[0:3]**2.0) < 1.e-6: + if np.sum(ro[0:3]**2.0) < 1.e-8: ho = np.zeros(3) else: f = 2.0*np.arctan(ro[3]) -np.sin(2.0*np.arctan(ro[3])) if np.isfinite(ro[3]) else np.pi From 9240dd59b22bb4bb3f7736d13ae918183b1243cd Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 20 May 2020 11:11:07 +0200 Subject: [PATCH 068/958] mark as internal all functionality (+ sanity checks) can be done with the class functionality --- python/damask/_rotation.py | 156 +++++++++++++++++----------------- python/tests/test_Rotation.py | 114 ++++++++++++------------- 2 files changed, 135 insertions(+), 135 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index baa008391..cf6eaed34 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -249,7 +249,7 @@ class Rotation: return angles in degrees. """ - eu = Rotation.qu2eu(self.quaternion) + eu = Rotation._qu2eu(self.quaternion) if degrees: eu = np.degrees(eu) return eu @@ -267,13 +267,13 @@ class Rotation: return tuple of axis and angle. """ - ax = Rotation.qu2ax(self.quaternion) + ax = Rotation._qu2ax(self.quaternion) if degrees: ax[...,3] = np.degrees(ax[...,3]) return (ax[...,:3],ax[...,3]) if pair else ax def as_matrix(self): """Rotation matrix.""" - return Rotation.qu2om(self.quaternion) + return Rotation._qu2om(self.quaternion) def as_Rodrigues(self, vector = False): @@ -286,16 +286,16 @@ class Rotation: return as actual Rodrigues--Frank vector, i.e. rotation axis scaled by tan(ω/2). """ - ro = Rotation.qu2ro(self.quaternion) + ro = Rotation._qu2ro(self.quaternion) return ro[...,:3]*ro[...,3] if vector else ro def as_homochoric(self): """Homochoric vector: (h_1, h_2, h_3).""" - return Rotation.qu2ho(self.quaternion) + return Rotation._qu2ho(self.quaternion) def as_cubochoric(self): """Cubochoric vector: (c_1, c_2, c_3).""" - return Rotation.qu2cu(self.quaternion) + return Rotation._qu2cu(self.quaternion) def M(self): # ToDo not sure about the name: as_M or M? we do not have a from_M """ @@ -348,7 +348,7 @@ class Rotation: if np.any(eu < 0.0) or np.any(eu > 2.0*np.pi) or np.any(eu[...,1] > np.pi): # ToDo: No separate check for PHI raise ValueError('Euler angles outside of [0..2π],[0..π],[0..2π].') - return Rotation(Rotation.eu2qu(eu)) + return Rotation(Rotation._eu2qu(eu)) @staticmethod def from_axis_angle(axis_angle, @@ -368,7 +368,7 @@ class Rotation: if not np.all(np.isclose(np.linalg.norm(ax[...,0:3],axis=-1), 1.0)): raise ValueError('Axis angle rotation axis is not of unit length.') - return Rotation(Rotation.ax2qu(ax)) + return Rotation(Rotation._ax2qu(ax)) @staticmethod def from_basis(basis, @@ -392,7 +392,7 @@ class Rotation: or not np.all(np.isclose(np.einsum('...i,...i',om[...,2],om[...,0]), 0.0)): raise ValueError('Orientation matrix is not orthogonal.') - return Rotation(Rotation.om2qu(om)) + return Rotation(Rotation._om2qu(om)) @staticmethod def from_matrix(om): @@ -415,7 +415,7 @@ class Rotation: if not np.all(np.isclose(np.linalg.norm(ro[...,0:3],axis=-1), 1.0)): raise ValueError('Rodrigues vector rotation axis is not of unit length.') - return Rotation(Rotation.ro2qu(ro)) + return Rotation(Rotation._ro2qu(ro)) @staticmethod def from_homochoric(homochoric, @@ -430,7 +430,7 @@ class Rotation: if np.any(np.linalg.norm(ho,axis=-1) > (3.*np.pi/4.)**(1./3.)+1e-9): raise ValueError('Homochoric coordinate outside of the sphere.') - return Rotation(Rotation.ho2qu(ho)) + return Rotation(Rotation._ho2qu(ho)) @staticmethod def from_cubochoric(cubochoric, @@ -443,10 +443,10 @@ class Rotation: if np.abs(np.max(cu))>np.pi**(2./3.) * 0.5+1e-9: raise ValueError('Cubochoric coordinate outside of the cube: {} {} {}.'.format(*cu)) - ho = Rotation.cu2ho(cu) + ho = Rotation._cu2ho(cu) if P > 0: ho *= -1 # convert from P=1 to P=-1 - return Rotation(Rotation.ho2qu(ho)) + return Rotation(Rotation._ho2qu(ho)) @staticmethod @@ -540,7 +540,7 @@ class Rotation: #################################################################################################### #---------- Quaternion ---------- @staticmethod - def qu2om(qu): + def _qu2om(qu): qq = qu[...,0:1]**2-(qu[...,1:2]**2 + qu[...,2:3]**2 + qu[...,3:4]**2) om = np.block([qq + 2.0*qu[...,1:2]**2, 2.0*(qu[...,2:3]*qu[...,1:2]-_P*qu[...,0:1]*qu[...,3:4]), @@ -555,7 +555,7 @@ class Rotation: return om @staticmethod - def qu2eu(qu): + def _qu2eu(qu): """Quaternion to Bunge-Euler angles.""" q02 = qu[...,0:1]*qu[...,2:3] q13 = qu[...,1:2]*qu[...,3:4] @@ -583,7 +583,7 @@ class Rotation: return eu @staticmethod - def qu2ax(qu): + def _qu2ax(qu): """ Quaternion to axis angle pair. @@ -599,7 +599,7 @@ class Rotation: return ax @staticmethod - def qu2ro(qu): + def _qu2ro(qu): """Quaternion to Rodrigues-Frank vector.""" with np.errstate(invalid='ignore',divide='ignore'): s = np.linalg.norm(qu[...,1:4],axis=-1,keepdims=True) @@ -613,7 +613,7 @@ class Rotation: return ro @staticmethod - def qu2ho(qu): + def _qu2ho(qu): """Quaternion to homochoric vector.""" with np.errstate(invalid='ignore'): omega = 2.0 * np.arccos(np.clip(qu[...,0:1],-1.0,1.0)) @@ -624,14 +624,14 @@ class Rotation: return ho @staticmethod - def qu2cu(qu): + def _qu2cu(qu): """Quaternion to cubochoric vector.""" - return Rotation.ho2cu(Rotation.qu2ho(qu)) + return Rotation._ho2cu(Rotation._qu2ho(qu)) #---------- Rotation matrix ---------- @staticmethod - def om2qu(om): + def _om2qu(om): """ Rotation matrix to quaternion. @@ -673,7 +673,7 @@ class Rotation: return qu @staticmethod - def om2eu(om): + def _om2eu(om): """Rotation matrix to Bunge-Euler angles.""" with np.errstate(invalid='ignore',divide='ignore'): zeta = 1.0/np.sqrt(1.0-om[...,2,2:3]**2) @@ -692,9 +692,9 @@ class Rotation: return eu @staticmethod - def om2ax(om): + def _om2ax(om): """Rotation matrix to axis angle pair.""" - #return Rotation.qu2ax(Rotation.om2qu(om)) # HOTFIX + #return Rotation._qu2ax(Rotation._om2qu(om)) # HOTFIX diag_delta = -_P*np.block([om[...,1,2:3]-om[...,2,1:2], om[...,2,0:1]-om[...,0,2:3], om[...,0,1:2]-om[...,1,0:1] @@ -714,24 +714,24 @@ class Rotation: return ax @staticmethod - def om2ro(om): + def _om2ro(om): """Rotation matrix to Rodrigues-Frank vector.""" - return Rotation.eu2ro(Rotation.om2eu(om)) + return Rotation._eu2ro(Rotation._om2eu(om)) @staticmethod - def om2ho(om): + def _om2ho(om): """Rotation matrix to homochoric vector.""" - return Rotation.ax2ho(Rotation.om2ax(om)) + return Rotation._ax2ho(Rotation._om2ax(om)) @staticmethod - def om2cu(om): + def _om2cu(om): """Rotation matrix to cubochoric vector.""" - return Rotation.ho2cu(Rotation.om2ho(om)) + return Rotation._ho2cu(Rotation._om2ho(om)) #---------- Bunge-Euler angles ---------- @staticmethod - def eu2qu(eu): + def _eu2qu(eu): """Bunge-Euler angles to quaternion.""" ee = 0.5*eu cPhi = np.cos(ee[...,1:2]) @@ -744,7 +744,7 @@ class Rotation: return qu @staticmethod - def eu2om(eu): + def _eu2om(eu): """Bunge-Euler angles to rotation matrix.""" c = np.cos(eu) s = np.sin(eu) @@ -762,7 +762,7 @@ class Rotation: return om @staticmethod - def eu2ax(eu): + def _eu2ax(eu): """Bunge-Euler angles to axis angle pair.""" t = np.tan(eu[...,1:2]*0.5) sigma = 0.5*(eu[...,0:1]+eu[...,2:3]) @@ -781,28 +781,28 @@ class Rotation: return ax @staticmethod - def eu2ro(eu): + def _eu2ro(eu): """Bunge-Euler angles to Rodrigues-Frank vector.""" - ax = Rotation.eu2ax(eu) + ax = Rotation._eu2ax(eu) ro = np.block([ax[...,:3],np.tan(ax[...,3:4]*.5)]) ro[ax[...,3]>=np.pi,3] = np.inf ro[np.abs(ax[...,3])<1.e-16] = [ 0.0, 0.0, _P, 0.0 ] return ro @staticmethod - def eu2ho(eu): + def _eu2ho(eu): """Bunge-Euler angles to homochoric vector.""" - return Rotation.ax2ho(Rotation.eu2ax(eu)) + return Rotation._ax2ho(Rotation._eu2ax(eu)) @staticmethod - def eu2cu(eu): + def _eu2cu(eu): """Bunge-Euler angles to cubochoric vector.""" - return Rotation.ho2cu(Rotation.eu2ho(eu)) + return Rotation._ho2cu(Rotation._eu2ho(eu)) #---------- Axis angle pair ---------- @staticmethod - def ax2qu(ax): + def _ax2qu(ax): """Axis angle pair to quaternion.""" c = np.cos(ax[...,3:4]*.5) s = np.sin(ax[...,3:4]*.5) @@ -810,7 +810,7 @@ class Rotation: return qu @staticmethod - def ax2om(ax): + def _ax2om(ax): """Axis angle pair to rotation matrix.""" c = np.cos(ax[...,3:4]) s = np.sin(ax[...,3:4]) @@ -827,12 +827,12 @@ class Rotation: return om if _P < 0.0 else np.swapaxes(om,-1,-2) @staticmethod - def ax2eu(ax): + def _ax2eu(ax): """Rotation matrix to Bunge Euler angles.""" - return Rotation.om2eu(Rotation.ax2om(ax)) + return Rotation._om2eu(Rotation._ax2om(ax)) @staticmethod - def ax2ro(ax): + def _ax2ro(ax): """Axis angle pair to Rodrigues-Frank vector.""" ro = np.block([ax[...,:3], np.where(np.isclose(ax[...,3:4],np.pi,atol=1.e-15,rtol=.0), @@ -843,36 +843,36 @@ class Rotation: return ro @staticmethod - def ax2ho(ax): + def _ax2ho(ax): """Axis angle pair to homochoric vector.""" f = (0.75 * ( ax[...,3:4] - np.sin(ax[...,3:4]) ))**(1.0/3.0) ho = ax[...,:3] * f return ho @staticmethod - def ax2cu(ax): + def _ax2cu(ax): """Axis angle pair to cubochoric vector.""" - return Rotation.ho2cu(Rotation.ax2ho(ax)) + return Rotation._ho2cu(Rotation._ax2ho(ax)) #---------- Rodrigues-Frank vector ---------- @staticmethod - def ro2qu(ro): + def _ro2qu(ro): """Rodrigues-Frank vector to quaternion.""" - return Rotation.ax2qu(Rotation.ro2ax(ro)) + return Rotation._ax2qu(Rotation._ro2ax(ro)) @staticmethod - def ro2om(ro): + def _ro2om(ro): """Rodgrigues-Frank vector to rotation matrix.""" - return Rotation.ax2om(Rotation.ro2ax(ro)) + return Rotation._ax2om(Rotation._ro2ax(ro)) @staticmethod - def ro2eu(ro): + def _ro2eu(ro): """Rodrigues-Frank vector to Bunge-Euler angles.""" - return Rotation.om2eu(Rotation.ro2om(ro)) + return Rotation._om2eu(Rotation._ro2om(ro)) @staticmethod - def ro2ax(ro): + def _ro2ax(ro): """Rodrigues-Frank vector to axis angle pair.""" with np.errstate(invalid='ignore',divide='ignore'): ax = np.where(np.isfinite(ro[...,3:4]), @@ -882,7 +882,7 @@ class Rotation: return ax @staticmethod - def ro2ho(ro): + def _ro2ho(ro): """Rodrigues-Frank vector to homochoric vector.""" f = np.where(np.isfinite(ro[...,3:4]),2.0*np.arctan(ro[...,3:4]) -np.sin(2.0*np.arctan(ro[...,3:4])),np.pi) ho = np.where(np.broadcast_to(np.sum(ro[...,0:3]**2.0,axis=-1,keepdims=True) < 1.e-8,ro[...,0:3].shape), @@ -890,29 +890,29 @@ class Rotation: return ho @staticmethod - def ro2cu(ro): + def _ro2cu(ro): """Rodrigues-Frank vector to cubochoric vector.""" - return Rotation.ho2cu(Rotation.ro2ho(ro)) + return Rotation._ho2cu(Rotation._ro2ho(ro)) #---------- Homochoric vector---------- @staticmethod - def ho2qu(ho): + def _ho2qu(ho): """Homochoric vector to quaternion.""" - return Rotation.ax2qu(Rotation.ho2ax(ho)) + return Rotation._ax2qu(Rotation._ho2ax(ho)) @staticmethod - def ho2om(ho): + def _ho2om(ho): """Homochoric vector to rotation matrix.""" - return Rotation.ax2om(Rotation.ho2ax(ho)) + return Rotation._ax2om(Rotation._ho2ax(ho)) @staticmethod - def ho2eu(ho): + def _ho2eu(ho): """Homochoric vector to Bunge-Euler angles.""" - return Rotation.ax2eu(Rotation.ho2ax(ho)) + return Rotation._ax2eu(Rotation._ho2ax(ho)) @staticmethod - def ho2ax(ho): + def _ho2ax(ho): """Homochoric vector to axis angle pair.""" tfit = np.array([+1.0000000000018852, -0.5000000002194847, -0.024999992127593126, -0.003928701544781374, @@ -935,12 +935,12 @@ class Rotation: return ax @staticmethod - def ho2ro(ho): + def _ho2ro(ho): """Axis angle pair to Rodrigues-Frank vector.""" - return Rotation.ax2ro(Rotation.ho2ax(ho)) + return Rotation._ax2ro(Rotation._ho2ax(ho)) @staticmethod - def ho2cu(ho): + def _ho2cu(ho): """ Homochoric vector to cubochoric vector. @@ -980,32 +980,32 @@ class Rotation: #---------- Cubochoric ---------- @staticmethod - def cu2qu(cu): + def _cu2qu(cu): """Cubochoric vector to quaternion.""" - return Rotation.ho2qu(Rotation.cu2ho(cu)) + return Rotation._ho2qu(Rotation._cu2ho(cu)) @staticmethod - def cu2om(cu): + def _cu2om(cu): """Cubochoric vector to rotation matrix.""" - return Rotation.ho2om(Rotation.cu2ho(cu)) + return Rotation._ho2om(Rotation._cu2ho(cu)) @staticmethod - def cu2eu(cu): + def _cu2eu(cu): """Cubochoric vector to Bunge-Euler angles.""" - return Rotation.ho2eu(Rotation.cu2ho(cu)) + return Rotation._ho2eu(Rotation._cu2ho(cu)) @staticmethod - def cu2ax(cu): + def _cu2ax(cu): """Cubochoric vector to axis angle pair.""" - return Rotation.ho2ax(Rotation.cu2ho(cu)) + return Rotation._ho2ax(Rotation._cu2ho(cu)) @staticmethod - def cu2ro(cu): + def _cu2ro(cu): """Cubochoric vector to Rodrigues-Frank vector.""" - return Rotation.ho2ro(Rotation.cu2ho(cu)) + return Rotation._ho2ro(Rotation._cu2ho(cu)) @staticmethod - def cu2ho(cu): + def _cu2ho(cu): """ Cubochoric vector to homochoric vector. diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 35df97f7b..4e48fbb7c 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -91,12 +91,12 @@ def reference_dir(reference_dir_base): class TestRotation: - @pytest.mark.parametrize('forward,backward',[(Rotation.qu2om,Rotation.om2qu), - (Rotation.qu2eu,Rotation.eu2qu), - (Rotation.qu2ax,Rotation.ax2qu), - (Rotation.qu2ro,Rotation.ro2qu), - (Rotation.qu2ho,Rotation.ho2qu), - (Rotation.qu2cu,Rotation.cu2qu)]) + @pytest.mark.parametrize('forward,backward',[(Rotation._qu2om,Rotation._om2qu), + (Rotation._qu2eu,Rotation._eu2qu), + (Rotation._qu2ax,Rotation._ax2qu), + (Rotation._qu2ro,Rotation._ro2qu), + (Rotation._qu2ho,Rotation._ho2qu), + (Rotation._qu2cu,Rotation._cu2qu)]) def test_quaternion_internal(self,default,forward,backward): for rot in default: m = rot.as_quaternion() @@ -107,12 +107,12 @@ class TestRotation: print(m,o,rot.as_quaternion()) assert ok and np.isclose(np.linalg.norm(o),1.0) - @pytest.mark.parametrize('forward,backward',[(Rotation.om2qu,Rotation.qu2om), - (Rotation.om2eu,Rotation.eu2om), - (Rotation.om2ax,Rotation.ax2om), - (Rotation.om2ro,Rotation.ro2om), - (Rotation.om2ho,Rotation.ho2om), - (Rotation.om2cu,Rotation.cu2om)]) + @pytest.mark.parametrize('forward,backward',[(Rotation._om2qu,Rotation._qu2om), + (Rotation._om2eu,Rotation._eu2om), + (Rotation._om2ax,Rotation._ax2om), + (Rotation._om2ro,Rotation._ro2om), + (Rotation._om2ho,Rotation._ho2om), + (Rotation._om2cu,Rotation._cu2om)]) def test_matrix_internal(self,default,forward,backward): for rot in default: m = rot.as_matrix() @@ -121,12 +121,12 @@ class TestRotation: print(m,o,rot.as_quaternion()) assert ok and np.isclose(np.linalg.det(o),1.0) - @pytest.mark.parametrize('forward,backward',[(Rotation.eu2qu,Rotation.qu2eu), - (Rotation.eu2om,Rotation.om2eu), - (Rotation.eu2ax,Rotation.ax2eu), - (Rotation.eu2ro,Rotation.ro2eu), - (Rotation.eu2ho,Rotation.ho2eu), - (Rotation.eu2cu,Rotation.cu2eu)]) + @pytest.mark.parametrize('forward,backward',[(Rotation._eu2qu,Rotation._qu2eu), + (Rotation._eu2om,Rotation._om2eu), + (Rotation._eu2ax,Rotation._ax2eu), + (Rotation._eu2ro,Rotation._ro2eu), + (Rotation._eu2ho,Rotation._ho2eu), + (Rotation._eu2cu,Rotation._cu2eu)]) def test_Eulers_internal(self,default,forward,backward): for rot in default: m = rot.as_Eulers() @@ -140,12 +140,12 @@ class TestRotation: print(m,o,rot.as_quaternion()) assert ok and (np.zeros(3)-1.e-9 <= o).all() and (o <= np.array([np.pi*2.,np.pi,np.pi*2.])+1.e-9).all() - @pytest.mark.parametrize('forward,backward',[(Rotation.ax2qu,Rotation.qu2ax), - (Rotation.ax2om,Rotation.om2ax), - (Rotation.ax2eu,Rotation.eu2ax), - (Rotation.ax2ro,Rotation.ro2ax), - (Rotation.ax2ho,Rotation.ho2ax), - (Rotation.ax2cu,Rotation.cu2ax)]) + @pytest.mark.parametrize('forward,backward',[(Rotation._ax2qu,Rotation._qu2ax), + (Rotation._ax2om,Rotation._om2ax), + (Rotation._ax2eu,Rotation._eu2ax), + (Rotation._ax2ro,Rotation._ro2ax), + (Rotation._ax2ho,Rotation._ho2ax), + (Rotation._ax2cu,Rotation._cu2ax)]) def test_axis_angle_internal(self,default,forward,backward): for rot in default: m = rot.as_axis_angle() @@ -156,12 +156,12 @@ class TestRotation: print(m,o,rot.as_quaternion()) assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) and o[3]<=np.pi+1.e-9 - @pytest.mark.parametrize('forward,backward',[(Rotation.ro2qu,Rotation.qu2ro), - #(Rotation.ro2om,Rotation.om2ro), - #(Rotation.ro2eu,Rotation.eu2ro), - (Rotation.ro2ax,Rotation.ax2ro), - (Rotation.ro2ho,Rotation.ho2ro), - (Rotation.ro2cu,Rotation.cu2ro)]) + @pytest.mark.parametrize('forward,backward',[(Rotation._ro2qu,Rotation._qu2ro), + #(Rotation._ro2om,Rotation._om2ro), + #(Rotation._ro2eu,Rotation._eu2ro), + (Rotation._ro2ax,Rotation._ax2ro), + (Rotation._ro2ho,Rotation._ho2ro), + (Rotation._ro2cu,Rotation._cu2ro)]) def test_Rodrigues_internal(self,default,forward,backward): cutoff = np.tan(np.pi*.5*(1.-1e-4)) for rot in default: @@ -172,12 +172,12 @@ class TestRotation: print(m,o,rot.as_quaternion()) assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) - @pytest.mark.parametrize('forward,backward',[(Rotation.ho2qu,Rotation.qu2ho), - (Rotation.ho2om,Rotation.om2ho), - #(Rotation.ho2eu,Rotation.eu2ho), - (Rotation.ho2ax,Rotation.ax2ho), - (Rotation.ho2ro,Rotation.ro2ho), - (Rotation.ho2cu,Rotation.cu2ho)]) + @pytest.mark.parametrize('forward,backward',[(Rotation._ho2qu,Rotation._qu2ho), + (Rotation._ho2om,Rotation._om2ho), + #(Rotation._ho2eu,Rotation._eu2ho), + (Rotation._ho2ax,Rotation._ax2ho), + (Rotation._ho2ro,Rotation._ro2ho), + (Rotation._ho2cu,Rotation._cu2ho)]) def test_homochoric_internal(self,default,forward,backward): for rot in default: m = rot.as_homochoric() @@ -289,11 +289,11 @@ class TestRotation: with pytest.raises(ValueError): function(invalid) - @pytest.mark.parametrize('vectorized, single',[(Rotation.qu2om,rotation_conversion.qu2om), - (Rotation.qu2eu,rotation_conversion.qu2eu), - (Rotation.qu2ax,rotation_conversion.qu2ax), - (Rotation.qu2ro,rotation_conversion.qu2ro), - (Rotation.qu2ho,rotation_conversion.qu2ho)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._qu2om,rotation_conversion.qu2om), + (Rotation._qu2eu,rotation_conversion.qu2eu), + (Rotation._qu2ax,rotation_conversion.qu2ax), + (Rotation._qu2ro,rotation_conversion.qu2ro), + (Rotation._qu2ho,rotation_conversion.qu2ho)]) def test_quaternion_vectorization(self,default,vectorized,single): qu = np.array([rot.as_quaternion() for rot in default]) vectorized(qu.reshape(qu.shape[0]//2,-1,4)) @@ -303,9 +303,9 @@ class TestRotation: assert np.allclose(single(q),c) and np.allclose(single(q),vectorized(q)) - @pytest.mark.parametrize('vectorized, single',[(Rotation.om2qu,rotation_conversion.om2qu), - (Rotation.om2eu,rotation_conversion.om2eu), - (Rotation.om2ax,rotation_conversion.om2ax)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._om2qu,rotation_conversion.om2qu), + (Rotation._om2eu,rotation_conversion.om2eu), + (Rotation._om2ax,rotation_conversion.om2ax)]) def test_matrix_vectorization(self,default,vectorized,single): om = np.array([rot.as_matrix() for rot in default]) vectorized(om.reshape(om.shape[0]//2,-1,3,3)) @@ -314,10 +314,10 @@ class TestRotation: print(o,c) assert np.allclose(single(o),c) and np.allclose(single(o),vectorized(o)) - @pytest.mark.parametrize('vectorized, single',[(Rotation.eu2qu,rotation_conversion.eu2qu), - (Rotation.eu2om,rotation_conversion.eu2om), - (Rotation.eu2ax,rotation_conversion.eu2ax), - (Rotation.eu2ro,rotation_conversion.eu2ro)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._eu2qu,rotation_conversion.eu2qu), + (Rotation._eu2om,rotation_conversion.eu2om), + (Rotation._eu2ax,rotation_conversion.eu2ax), + (Rotation._eu2ro,rotation_conversion.eu2ro)]) def test_Euler_vectorization(self,default,vectorized,single): eu = np.array([rot.as_Eulers() for rot in default]) vectorized(eu.reshape(eu.shape[0]//2,-1,3)) @@ -326,10 +326,10 @@ class TestRotation: print(e,c) assert np.allclose(single(e),c) and np.allclose(single(e),vectorized(e)) - @pytest.mark.parametrize('vectorized, single',[(Rotation.ax2qu,rotation_conversion.ax2qu), - (Rotation.ax2om,rotation_conversion.ax2om), - (Rotation.ax2ro,rotation_conversion.ax2ro), - (Rotation.ax2ho,rotation_conversion.ax2ho)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._ax2qu,rotation_conversion.ax2qu), + (Rotation._ax2om,rotation_conversion.ax2om), + (Rotation._ax2ro,rotation_conversion.ax2ro), + (Rotation._ax2ho,rotation_conversion.ax2ho)]) def test_axisAngle_vectorization(self,default,vectorized,single): ax = np.array([rot.as_axis_angle() for rot in default]) vectorized(ax.reshape(ax.shape[0]//2,-1,4)) @@ -339,8 +339,8 @@ class TestRotation: assert np.allclose(single(a),c) and np.allclose(single(a),vectorized(a)) - @pytest.mark.parametrize('vectorized, single',[(Rotation.ro2ax,rotation_conversion.ro2ax), - (Rotation.ro2ho,rotation_conversion.ro2ho)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._ro2ax,rotation_conversion.ro2ax), + (Rotation._ro2ho,rotation_conversion.ro2ho)]) def test_Rodrigues_vectorization(self,default,vectorized,single): ro = np.array([rot.as_Rodrigues() for rot in default]) vectorized(ro.reshape(ro.shape[0]//2,-1,4)) @@ -349,8 +349,8 @@ class TestRotation: print(r,c) assert np.allclose(single(r),c) and np.allclose(single(r),vectorized(r)) - @pytest.mark.parametrize('vectorized, single',[(Rotation.ho2ax,rotation_conversion.ho2ax), - (Rotation.ho2cu,rotation_conversion.ho2cu)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._ho2ax,rotation_conversion.ho2ax), + (Rotation._ho2cu,rotation_conversion.ho2cu)]) def test_homochoric_vectorization(self,default,vectorized,single): ho = np.array([rot.as_homochoric() for rot in default]) vectorized(ho.reshape(ho.shape[0]//2,-1,3)) @@ -359,7 +359,7 @@ class TestRotation: print(h,c) assert np.allclose(single(h),c) and np.allclose(single(h),vectorized(h)) - @pytest.mark.parametrize('vectorized, single',[(Rotation.cu2ho,rotation_conversion.cu2ho)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._cu2ho,rotation_conversion.cu2ho)]) def test_cubochoric_vectorization(self,default,vectorized,single): cu = np.array([rot.as_cubochoric() for rot in default]) vectorized(cu.reshape(cu.shape[0]//2,-1,3)) From b59d773689170a14571321322ff364fbfd51baec Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 20 May 2020 15:26:49 +0200 Subject: [PATCH 069/958] store all test data together --- python/tests/rotation_conversion.py | 419 -------------------- python/tests/test_Rotation.py | 590 ++++++++++++++++++++++++---- 2 files changed, 506 insertions(+), 503 deletions(-) delete mode 100644 python/tests/rotation_conversion.py diff --git a/python/tests/rotation_conversion.py b/python/tests/rotation_conversion.py deleted file mode 100644 index 58ac9329f..000000000 --- a/python/tests/rotation_conversion.py +++ /dev/null @@ -1,419 +0,0 @@ -#################################################################################################### -# Code below available according to the following conditions on https://github.com/MarDiehl/3Drotations -#################################################################################################### -# Copyright (c) 2017-2019, Martin Diehl/Max-Planck-Institut für Eisenforschung GmbH -# Copyright (c) 2013-2014, Marc De Graef/Carnegie Mellon University -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are -# permitted provided that the following conditions are met: -# -# - Redistributions of source code must retain the above copyright notice, this list -# of conditions and the following disclaimer. -# - Redistributions in binary form must reproduce the above copyright notice, this -# list of conditions and the following disclaimer in the documentation and/or -# other materials provided with the distribution. -# - Neither the names of Marc De Graef, Carnegie Mellon University nor the names -# of its contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#################################################################################################### - -import numpy as np - -from damask import _rotation - -_P = _rotation._P - -# parameters for conversion from/to cubochoric -_sc = _rotation._sc -_beta = _rotation._beta -_R1 = _rotation._R1 - -def iszero(a): - return np.isclose(a,0.0,atol=1.0e-12,rtol=0.0) - -#---------- Quaternion ---------- -def qu2om(qu): - """Quaternion to rotation matrix.""" - qq = qu[0]**2-(qu[1]**2 + qu[2]**2 + qu[3]**2) - om = np.diag(qq + 2.0*np.array([qu[1],qu[2],qu[3]])**2) - - om[0,1] = 2.0*(qu[2]*qu[1]+qu[0]*qu[3]) - om[1,0] = 2.0*(qu[1]*qu[2]-qu[0]*qu[3]) - om[1,2] = 2.0*(qu[3]*qu[2]+qu[0]*qu[1]) - om[2,1] = 2.0*(qu[2]*qu[3]-qu[0]*qu[1]) - om[2,0] = 2.0*(qu[1]*qu[3]+qu[0]*qu[2]) - om[0,2] = 2.0*(qu[3]*qu[1]-qu[0]*qu[2]) - return om if _P < 0.0 else np.swapaxes(om,-1,-2) - -def qu2eu(qu): - """Quaternion to Bunge-Euler angles.""" - q03 = qu[0]**2+qu[3]**2 - q12 = qu[1]**2+qu[2]**2 - chi = np.sqrt(q03*q12) - if np.abs(q12) < 1.e-8: - eu = np.array([np.arctan2(-_P*2.0*qu[0]*qu[3],qu[0]**2-qu[3]**2), 0.0, 0.0]) - elif np.abs(q03) < 1.e-8: - eu = np.array([np.arctan2( 2.0*qu[1]*qu[2],qu[1]**2-qu[2]**2), np.pi, 0.0]) - else: - eu = np.array([np.arctan2((-_P*qu[0]*qu[2]+qu[1]*qu[3])*chi, (-_P*qu[0]*qu[1]-qu[2]*qu[3])*chi ), - np.arctan2( 2.0*chi, q03-q12 ), - np.arctan2(( _P*qu[0]*qu[2]+qu[1]*qu[3])*chi, (-_P*qu[0]*qu[1]+qu[2]*qu[3])*chi )]) - # reduce Euler angles to definition range - eu[np.abs(eu)<1.e-6] = 0.0 - eu = np.where(eu<0, (eu+2.0*np.pi)%np.array([2.0*np.pi,np.pi,2.0*np.pi]),eu) - return eu - -def qu2ax(qu): - """ - Quaternion to axis angle pair. - - Modified version of the original formulation, should be numerically more stable - """ - if np.isclose(qu[0],1.,rtol=0.0): # set axis to [001] if the angle is 0/360 - ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) - elif qu[0] > 1.e-8: - s = np.sign(qu[0])/np.sqrt(qu[1]**2+qu[2]**2+qu[3]**2) - omega = 2.0 * np.arccos(np.clip(qu[0],-1.0,1.0)) - ax = ax = np.array([ qu[1]*s, qu[2]*s, qu[3]*s, omega ]) - else: - ax = ax = np.array([ qu[1], qu[2], qu[3], np.pi]) - return ax - -def qu2ro(qu): - """Quaternion to Rodrigues-Frank vector.""" - if iszero(qu[0]): - ro = np.array([qu[1], qu[2], qu[3], np.inf]) - else: - s = np.linalg.norm(qu[1:4]) - ro = np.array([0.0,0.0,_P,0.0] if iszero(s) else \ - [ qu[1]/s, qu[2]/s, qu[3]/s, np.tan(np.arccos(np.clip(qu[0],-1.0,1.0)))]) - return ro - -def qu2ho(qu): - """Quaternion to homochoric vector.""" - omega = 2.0 * np.arccos(np.clip(qu[0],-1.0,1.0)) - if np.abs(omega) < 1.0e-12: - ho = np.zeros(3) - else: - ho = np.array([qu[1], qu[2], qu[3]]) - f = 0.75 * ( omega - np.sin(omega) ) - ho = ho/np.linalg.norm(ho) * f**(1./3.) - return ho - - -#---------- Rotation matrix ---------- -def om2qu(a): - trace = a[0,0] + a[1,1] + a[2,2] - if trace > 0: - s = 0.5 / np.sqrt(trace+ 1.0) - qu = np.array([0.25 / s,( a[2,1] - a[1,2] ) * s,( a[0,2] - a[2,0] ) * s,( a[1,0] - a[0,1] ) * s]) - else: - if ( a[0,0] > a[1,1] and a[0,0] > a[2,2] ): - s = 2.0 * np.sqrt( 1.0 + a[0,0] - a[1,1] - a[2,2]) - qu = np.array([ (a[2,1] - a[1,2]) / s,0.25 * s,(a[0,1] + a[1,0]) / s,(a[0,2] + a[2,0]) / s]) - elif (a[1,1] > a[2,2]): - s = 2.0 * np.sqrt( 1.0 + a[1,1] - a[0,0] - a[2,2]) - qu = np.array([ (a[0,2] - a[2,0]) / s,(a[0,1] + a[1,0]) / s,0.25 * s,(a[1,2] + a[2,1]) / s]) - else: - s = 2.0 * np.sqrt( 1.0 + a[2,2] - a[0,0] - a[1,1] ) - qu = np.array([ (a[1,0] - a[0,1]) / s,(a[0,2] + a[2,0]) / s,(a[1,2] + a[2,1]) / s,0.25 * s]) - if qu[0]<0: qu*=-1 - return qu*np.array([1.,_P,_P,_P]) - -def om2eu(om): - """Rotation matrix to Bunge-Euler angles.""" - if not np.isclose(np.abs(om[2,2]),1.0,1.e-9): - zeta = 1.0/np.sqrt(1.0-om[2,2]**2) - eu = np.array([np.arctan2(om[2,0]*zeta,-om[2,1]*zeta), - np.arccos(om[2,2]), - np.arctan2(om[0,2]*zeta, om[1,2]*zeta)]) - else: - eu = np.array([np.arctan2( om[0,1],om[0,0]), np.pi*0.5*(1-om[2,2]),0.0]) # following the paper, not the reference implementation - eu[np.abs(eu)<1.e-8] = 0.0 - eu = np.where(eu<0, (eu+2.0*np.pi)%np.array([2.0*np.pi,np.pi,2.0*np.pi]),eu) - return eu - -def om2ax(om): - """Rotation matrix to axis angle pair.""" - #return qu2ax(om2qu(om)) # HOTFIX - ax=np.empty(4) - - # first get the rotation angle - t = 0.5*(om.trace() -1.0) - ax[3] = np.arccos(np.clip(t,-1.0,1.0)) - if np.abs(ax[3])<1.e-8: - ax = np.array([ 0.0, 0.0, 1.0, 0.0]) - else: - w,vr = np.linalg.eig(om) - # next, find the eigenvalue (1,0j) - i = np.where(np.isclose(w,1.0+0.0j))[0][0] - ax[0:3] = np.real(vr[0:3,i]) - diagDelta = -_P*np.array([om[1,2]-om[2,1],om[2,0]-om[0,2],om[0,1]-om[1,0]]) - ax[0:3] = np.where(np.abs(diagDelta)<1e-12, ax[0:3],np.abs(ax[0:3])*np.sign(diagDelta)) - return ax - -#---------- Bunge-Euler angles ---------- -def eu2qu(eu): - """Bunge-Euler angles to quaternion.""" - ee = 0.5*eu - cPhi = np.cos(ee[1]) - sPhi = np.sin(ee[1]) - qu = np.array([ cPhi*np.cos(ee[0]+ee[2]), - -_P*sPhi*np.cos(ee[0]-ee[2]), - -_P*sPhi*np.sin(ee[0]-ee[2]), - -_P*cPhi*np.sin(ee[0]+ee[2]) ]) - if qu[0] < 0.0: qu*=-1 - return qu - -def eu2om(eu): - """Bunge-Euler angles to rotation matrix.""" - c = np.cos(eu) - s = np.sin(eu) - - om = np.array([[+c[0]*c[2]-s[0]*s[2]*c[1], +s[0]*c[2]+c[0]*s[2]*c[1], +s[2]*s[1]], - [-c[0]*s[2]-s[0]*c[2]*c[1], -s[0]*s[2]+c[0]*c[2]*c[1], +c[2]*s[1]], - [+s[0]*s[1], -c[0]*s[1], +c[1] ]]) - om[np.abs(om)<1.e-12] = 0.0 - return om - -def eu2ax(eu): - """Bunge-Euler angles to axis angle pair.""" - t = np.tan(eu[1]*0.5) - sigma = 0.5*(eu[0]+eu[2]) - delta = 0.5*(eu[0]-eu[2]) - tau = np.linalg.norm([t,np.sin(sigma)]) - alpha = np.pi if iszero(np.cos(sigma)) else \ - 2.0*np.arctan(tau/np.cos(sigma)) - - if np.abs(alpha)<1.e-6: - ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) - else: - ax = -_P/tau * np.array([ t*np.cos(delta), t*np.sin(delta), np.sin(sigma) ]) # passive axis angle pair so a minus sign in front - ax = np.append(ax,alpha) - if alpha < 0.0: ax *= -1.0 # ensure alpha is positive - return ax - -def eu2ro(eu): - """Bunge-Euler angles to Rodrigues-Frank vector.""" - ro = eu2ax(eu) # convert to axis angle pair representation - if ro[3] >= np.pi: # Differs from original implementation. check convention 5 - ro[3] = np.inf - elif iszero(ro[3]): - ro = np.array([ 0.0, 0.0, _P, 0.0 ]) - else: - ro[3] = np.tan(ro[3]*0.5) - return ro - -#---------- Axis angle pair ---------- -def ax2qu(ax): - """Axis angle pair to quaternion.""" - if np.abs(ax[3])<1.e-6: - qu = np.array([ 1.0, 0.0, 0.0, 0.0 ]) - else: - c = np.cos(ax[3]*0.5) - s = np.sin(ax[3]*0.5) - qu = np.array([ c, ax[0]*s, ax[1]*s, ax[2]*s ]) - return qu - -def ax2om(ax): - """Axis angle pair to rotation matrix.""" - c = np.cos(ax[3]) - s = np.sin(ax[3]) - omc = 1.0-c - om=np.diag(ax[0:3]**2*omc + c) - - for idx in [[0,1,2],[1,2,0],[2,0,1]]: - q = omc*ax[idx[0]] * ax[idx[1]] - om[idx[0],idx[1]] = q + s*ax[idx[2]] - om[idx[1],idx[0]] = q - s*ax[idx[2]] - return om if _P < 0.0 else om.T - -def ax2ro(ax): - """Axis angle pair to Rodrigues-Frank vector.""" - if np.abs(ax[3])<1.e-6: - ro = [ 0.0, 0.0, _P, 0.0 ] - else: - ro = [ax[0], ax[1], ax[2]] - # 180 degree case - ro += [np.inf] if np.isclose(ax[3],np.pi,atol=1.0e-15,rtol=0.0) else \ - [np.tan(ax[3]*0.5)] - ro = np.array(ro) - return ro - -def ax2ho(ax): - """Axis angle pair to homochoric vector.""" - f = (0.75 * ( ax[3] - np.sin(ax[3]) ))**(1.0/3.0) - ho = ax[0:3] * f - return ho - - -#---------- Rodrigues-Frank vector ---------- -def ro2ax(ro): - """Rodrigues-Frank vector to axis angle pair.""" - if np.abs(ro[3]) < 1.e-8: - ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) - elif not np.isfinite(ro[3]): - ax = np.array([ ro[0], ro[1], ro[2], np.pi ]) - else: - angle = 2.0*np.arctan(ro[3]) - ta = np.linalg.norm(ro[0:3]) - ax = np.array([ ro[0]*ta, ro[1]*ta, ro[2]*ta, angle ]) - return ax - -def ro2ho(ro): - """Rodrigues-Frank vector to homochoric vector.""" - if np.sum(ro[0:3]**2.0) < 1.e-8: - ho = np.zeros(3) - else: - f = 2.0*np.arctan(ro[3]) -np.sin(2.0*np.arctan(ro[3])) if np.isfinite(ro[3]) else np.pi - ho = ro[0:3] * (0.75*f)**(1.0/3.0) - return ho - -#---------- Homochoric vector---------- -def ho2ax(ho): - """Homochoric vector to axis angle pair.""" - tfit = np.array([+1.0000000000018852, -0.5000000002194847, - -0.024999992127593126, -0.003928701544781374, - -0.0008152701535450438, -0.0002009500426119712, - -0.00002397986776071756, -0.00008202868926605841, - +0.00012448715042090092, -0.0001749114214822577, - +0.0001703481934140054, -0.00012062065004116828, - +0.000059719705868660826, -0.00001980756723965647, - +0.000003953714684212874, -0.00000036555001439719544]) - # normalize h and store the magnitude - hmag_squared = np.sum(ho**2.) - if iszero(hmag_squared): - ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) - else: - hm = hmag_squared - - # convert the magnitude to the rotation angle - s = tfit[0] + tfit[1] * hmag_squared - for i in range(2,16): - hm *= hmag_squared - s += tfit[i] * hm - ax = np.append(ho/np.sqrt(hmag_squared),2.0*np.arccos(np.clip(s,-1.0,1.0))) - return ax - -def ho2cu(ho): - """ - Homochoric vector to cubochoric vector. - - References - ---------- - D. Roşca et al., Modelling and Simulation in Materials Science and Engineering 22:075013, 2014 - https://doi.org/10.1088/0965-0393/22/7/075013 - - """ - rs = np.linalg.norm(ho) - - if np.allclose(ho,0.0,rtol=0.0,atol=1.0e-16): - cu = np.zeros(3) - else: - xyz3 = ho[_get_pyramid_order(ho,'forward')] - - # inverse M_3 - xyz2 = xyz3[0:2] * np.sqrt( 2.0*rs/(rs+np.abs(xyz3[2])) ) - - # inverse M_2 - qxy = np.sum(xyz2**2) - - if np.isclose(qxy,0.0,rtol=0.0,atol=1.0e-16): - Tinv = np.zeros(2) - else: - q2 = qxy + np.max(np.abs(xyz2))**2 - sq2 = np.sqrt(q2) - q = (_beta/np.sqrt(2.0)/_R1) * np.sqrt(q2*qxy/(q2-np.max(np.abs(xyz2))*sq2)) - tt = np.clip((np.min(np.abs(xyz2))**2+np.max(np.abs(xyz2))*sq2)/np.sqrt(2.0)/qxy,-1.0,1.0) - Tinv = np.array([1.0,np.arccos(tt)/np.pi*12.0]) if np.abs(xyz2[1]) <= np.abs(xyz2[0]) else \ - np.array([np.arccos(tt)/np.pi*12.0,1.0]) - Tinv = q * np.where(xyz2<0.0,-Tinv,Tinv) - - # inverse M_1 - cu = np.array([ Tinv[0], Tinv[1], (-1.0 if xyz3[2] < 0.0 else 1.0) * rs / np.sqrt(6.0/np.pi) ]) /_sc - cu = cu[_get_pyramid_order(ho,'backward')] - return cu - -#---------- Cubochoric ---------- -def cu2ho(cu): - """ - Cubochoric vector to homochoric vector. - - References - ---------- - D. Roşca et al., Modelling and Simulation in Materials Science and Engineering 22:075013, 2014 - https://doi.org/10.1088/0965-0393/22/7/075013 - - """ - # transform to the sphere grid via the curved square, and intercept the zero point - if np.allclose(cu,0.0,rtol=0.0,atol=1.0e-16): - ho = np.zeros(3) - else: - # get pyramide and scale by grid parameter ratio - XYZ = cu[_get_pyramid_order(cu,'forward')] * _sc - - # intercept all the points along the z-axis - if np.allclose(XYZ[0:2],0.0,rtol=0.0,atol=1.0e-16): - ho = np.array([0.0, 0.0, np.sqrt(6.0/np.pi) * XYZ[2]]) - else: - order = [1,0] if np.abs(XYZ[1]) <= np.abs(XYZ[0]) else [0,1] - q = np.pi/12.0 * XYZ[order[0]]/XYZ[order[1]] - c = np.cos(q) - s = np.sin(q) - q = _R1*2.0**0.25/_beta * XYZ[order[1]] / np.sqrt(np.sqrt(2.0)-c) - T = np.array([ (np.sqrt(2.0)*c - 1.0), np.sqrt(2.0) * s]) * q - - # transform to sphere grid (inverse Lambert) - # note that there is no need to worry about dividing by zero, since XYZ[2] can not become zero - c = np.sum(T**2) - s = c * np.pi/24.0 /XYZ[2]**2 - c = c * np.sqrt(np.pi/24.0)/XYZ[2] - - q = np.sqrt( 1.0 - s ) - ho = np.array([ T[order[1]] * q, T[order[0]] * q, np.sqrt(6.0/np.pi) * XYZ[2] - c ]) - - ho = ho[_get_pyramid_order(cu,'backward')] - return ho - -def _get_pyramid_order(xyz,direction=None): - """ - Get order of the coordinates. - - Depending on the pyramid in which the point is located, the order need to be adjusted. - - Parameters - ---------- - xyz : numpy.ndarray - coordinates of a point on a uniform refinable grid on a ball or - in a uniform refinable cubical grid. - - References - ---------- - D. Roşca et al., Modelling and Simulation in Materials Science and Engineering 22:075013, 2014 - https://doi.org/10.1088/0965-0393/22/7/075013 - - """ - order = {'forward':np.array([[0,1,2],[1,2,0],[2,0,1]]), - 'backward':np.array([[0,1,2],[2,0,1],[1,2,0]])} - if np.maximum(abs(xyz[0]),abs(xyz[1])) <= xyz[2] or \ - np.maximum(abs(xyz[0]),abs(xyz[1])) <=-xyz[2]: - p = 0 - elif np.maximum(abs(xyz[1]),abs(xyz[2])) <= xyz[0] or \ - np.maximum(abs(xyz[1]),abs(xyz[2])) <=-xyz[0]: - p = 1 - elif np.maximum(abs(xyz[2]),abs(xyz[0])) <= xyz[1] or \ - np.maximum(abs(xyz[2]),abs(xyz[0])) <=-xyz[1]: - p = 2 - return order[direction][p] diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 4e48fbb7c..92f39b4fb 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -4,7 +4,9 @@ import pytest import numpy as np from damask import Rotation -import rotation_conversion +from damask import _rotation + + n = 1100 atol=1.e-4 @@ -13,68 +15,69 @@ scatter=1.e-2 @pytest.fixture def default(): """A set of n random rotations.""" - specials = np.array( - [np.array([ 1.0, 0.0, 0.0, 0.0]), - #----------------------------------------------- - np.array([0.0, 1.0, 0.0, 0.0]), - np.array([0.0, 0.0, 1.0, 0.0]), - np.array([0.0, 0.0, 0.0, 1.0]), - np.array([0.0,-1.0, 0.0, 0.0]), - np.array([0.0, 0.0,-1.0, 0.0]), - np.array([0.0, 0.0, 0.0,-1.0]), - #----------------------------------------------- - np.array([1.0, 1.0, 0.0, 0.0])/np.sqrt(2.), - np.array([1.0, 0.0, 1.0, 0.0])/np.sqrt(2.), - np.array([1.0, 0.0, 0.0, 1.0])/np.sqrt(2.), - np.array([0.0, 1.0, 1.0, 0.0])/np.sqrt(2.), - np.array([0.0, 1.0, 0.0, 1.0])/np.sqrt(2.), - np.array([0.0, 0.0, 1.0, 1.0])/np.sqrt(2.), - #----------------------------------------------- - np.array([1.0,-1.0, 0.0, 0.0])/np.sqrt(2.), - np.array([1.0, 0.0,-1.0, 0.0])/np.sqrt(2.), - np.array([1.0, 0.0, 0.0,-1.0])/np.sqrt(2.), - np.array([0.0, 1.0,-1.0, 0.0])/np.sqrt(2.), - np.array([0.0, 1.0, 0.0,-1.0])/np.sqrt(2.), - np.array([0.0, 0.0, 1.0,-1.0])/np.sqrt(2.), - #----------------------------------------------- - np.array([0.0, 1.0,-1.0, 0.0])/np.sqrt(2.), - np.array([0.0, 1.0, 0.0,-1.0])/np.sqrt(2.), - np.array([0.0, 0.0, 1.0,-1.0])/np.sqrt(2.), - #----------------------------------------------- - np.array([0.0,-1.0,-1.0, 0.0])/np.sqrt(2.), - np.array([0.0,-1.0, 0.0,-1.0])/np.sqrt(2.), - np.array([0.0, 0.0,-1.0,-1.0])/np.sqrt(2.), - #----------------------------------------------- - np.array([1.0, 1.0, 1.0, 0.0])/np.sqrt(3.), - np.array([1.0, 1.0, 0.0, 1.0])/np.sqrt(3.), - np.array([1.0, 0.0, 1.0, 1.0])/np.sqrt(3.), - np.array([1.0,-1.0, 1.0, 0.0])/np.sqrt(3.), - np.array([1.0,-1.0, 0.0, 1.0])/np.sqrt(3.), - np.array([1.0, 0.0,-1.0, 1.0])/np.sqrt(3.), - np.array([1.0, 1.0,-1.0, 0.0])/np.sqrt(3.), - np.array([1.0, 1.0, 0.0,-1.0])/np.sqrt(3.), - np.array([1.0, 0.0, 1.0,-1.0])/np.sqrt(3.), - np.array([1.0,-1.0,-1.0, 0.0])/np.sqrt(3.), - np.array([1.0,-1.0, 0.0,-1.0])/np.sqrt(3.), - np.array([1.0, 0.0,-1.0,-1.0])/np.sqrt(3.), - #----------------------------------------------- - np.array([0.0, 1.0, 1.0, 1.0])/np.sqrt(3.), - np.array([0.0, 1.0,-1.0, 1.0])/np.sqrt(3.), - np.array([0.0, 1.0, 1.0,-1.0])/np.sqrt(3.), - np.array([0.0,-1.0, 1.0, 1.0])/np.sqrt(3.), - np.array([0.0,-1.0,-1.0, 1.0])/np.sqrt(3.), - np.array([0.0,-1.0, 1.0,-1.0])/np.sqrt(3.), - np.array([0.0,-1.0,-1.0,-1.0])/np.sqrt(3.), - #----------------------------------------------- - np.array([1.0, 1.0, 1.0, 1.0])/2., - np.array([1.0,-1.0, 1.0, 1.0])/2., - np.array([1.0, 1.0,-1.0, 1.0])/2., - np.array([1.0, 1.0, 1.0,-1.0])/2., - np.array([1.0,-1.0,-1.0, 1.0])/2., - np.array([1.0,-1.0, 1.0,-1.0])/2., - np.array([1.0, 1.0,-1.0,-1.0])/2., - np.array([1.0,-1.0,-1.0,-1.0])/2., - ]) + specials = np.array([ + [1.0, 0.0, 0.0, 0.0], + #---------------------- + [0.0, 1.0, 0.0, 0.0], + [0.0, 0.0, 1.0, 0.0], + [0.0, 0.0, 0.0, 1.0], + [0.0,-1.0, 0.0, 0.0], + [0.0, 0.0,-1.0, 0.0], + [0.0, 0.0, 0.0,-1.0], + #---------------------- + [1.0, 1.0, 0.0, 0.0], + [1.0, 0.0, 1.0, 0.0], + [1.0, 0.0, 0.0, 1.0], + [0.0, 1.0, 1.0, 0.0], + [0.0, 1.0, 0.0, 1.0], + [0.0, 0.0, 1.0, 1.0], + #---------------------- + [1.0,-1.0, 0.0, 0.0], + [1.0, 0.0,-1.0, 0.0], + [1.0, 0.0, 0.0,-1.0], + [0.0, 1.0,-1.0, 0.0], + [0.0, 1.0, 0.0,-1.0], + [0.0, 0.0, 1.0,-1.0], + #---------------------- + [0.0, 1.0,-1.0, 0.0], + [0.0, 1.0, 0.0,-1.0], + [0.0, 0.0, 1.0,-1.0], + #---------------------- + [0.0,-1.0,-1.0, 0.0], + [0.0,-1.0, 0.0,-1.0], + [0.0, 0.0,-1.0,-1.0], + #---------------------- + [1.0, 1.0, 1.0, 0.0], + [1.0, 1.0, 0.0, 1.0], + [1.0, 0.0, 1.0, 1.0], + [1.0,-1.0, 1.0, 0.0], + [1.0,-1.0, 0.0, 1.0], + [1.0, 0.0,-1.0, 1.0], + [1.0, 1.0,-1.0, 0.0], + [1.0, 1.0, 0.0,-1.0], + [1.0, 0.0, 1.0,-1.0], + [1.0,-1.0,-1.0, 0.0], + [1.0,-1.0, 0.0,-1.0], + [1.0, 0.0,-1.0,-1.0], + #---------------------- + [0.0, 1.0, 1.0, 1.0], + [0.0, 1.0,-1.0, 1.0], + [0.0, 1.0, 1.0,-1.0], + [0.0,-1.0, 1.0, 1.0], + [0.0,-1.0,-1.0, 1.0], + [0.0,-1.0, 1.0,-1.0], + [0.0,-1.0,-1.0,-1.0], + #---------------------- + [1.0, 1.0, 1.0, 1.0], + [1.0,-1.0, 1.0, 1.0], + [1.0, 1.0,-1.0, 1.0], + [1.0, 1.0, 1.0,-1.0], + [1.0,-1.0,-1.0, 1.0], + [1.0,-1.0, 1.0,-1.0], + [1.0, 1.0,-1.0,-1.0], + [1.0,-1.0,-1.0,-1.0], + ]) + specials /= np.linalg.norm(specials,axis=1).reshape(-1,1) specials_scatter = specials + np.broadcast_to(np.random.rand(4)*scatter,specials.shape) specials_scatter /= np.linalg.norm(specials_scatter,axis=1).reshape(-1,1) specials_scatter[specials_scatter[:,0]<0]*=-1 @@ -89,6 +92,425 @@ def reference_dir(reference_dir_base): return os.path.join(reference_dir_base,'Rotation') +#################################################################################################### +# Code below available according to the following conditions on https://github.com/MarDiehl/3Drotations +#################################################################################################### +# Copyright (c) 2017-2019, Martin Diehl/Max-Planck-Institut für Eisenforschung GmbH +# Copyright (c) 2013-2014, Marc De Graef/Carnegie Mellon University +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, are +# permitted provided that the following conditions are met: +# +# - Redistributions of source code must retain the above copyright notice, this list +# of conditions and the following disclaimer. +# - Redistributions in binary form must reproduce the above copyright notice, this +# list of conditions and the following disclaimer in the documentation and/or +# other materials provided with the distribution. +# - Neither the names of Marc De Graef, Carnegie Mellon University nor the names +# of its contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#################################################################################################### +_P = _rotation._P + +# parameters for conversion from/to cubochoric +_sc = _rotation._sc +_beta = _rotation._beta +_R1 = _rotation._R1 + +def iszero(a): + return np.isclose(a,0.0,atol=1.0e-12,rtol=0.0) + +#---------- Quaternion ---------- +def qu2om(qu): + """Quaternion to rotation matrix.""" + qq = qu[0]**2-(qu[1]**2 + qu[2]**2 + qu[3]**2) + om = np.diag(qq + 2.0*np.array([qu[1],qu[2],qu[3]])**2) + + om[0,1] = 2.0*(qu[2]*qu[1]+qu[0]*qu[3]) + om[1,0] = 2.0*(qu[1]*qu[2]-qu[0]*qu[3]) + om[1,2] = 2.0*(qu[3]*qu[2]+qu[0]*qu[1]) + om[2,1] = 2.0*(qu[2]*qu[3]-qu[0]*qu[1]) + om[2,0] = 2.0*(qu[1]*qu[3]+qu[0]*qu[2]) + om[0,2] = 2.0*(qu[3]*qu[1]-qu[0]*qu[2]) + return om if _P < 0.0 else np.swapaxes(om,-1,-2) + +def qu2eu(qu): + """Quaternion to Bunge-Euler angles.""" + q03 = qu[0]**2+qu[3]**2 + q12 = qu[1]**2+qu[2]**2 + chi = np.sqrt(q03*q12) + if np.abs(q12) < 1.e-8: + eu = np.array([np.arctan2(-_P*2.0*qu[0]*qu[3],qu[0]**2-qu[3]**2), 0.0, 0.0]) + elif np.abs(q03) < 1.e-8: + eu = np.array([np.arctan2( 2.0*qu[1]*qu[2],qu[1]**2-qu[2]**2), np.pi, 0.0]) + else: + eu = np.array([np.arctan2((-_P*qu[0]*qu[2]+qu[1]*qu[3])*chi, (-_P*qu[0]*qu[1]-qu[2]*qu[3])*chi ), + np.arctan2( 2.0*chi, q03-q12 ), + np.arctan2(( _P*qu[0]*qu[2]+qu[1]*qu[3])*chi, (-_P*qu[0]*qu[1]+qu[2]*qu[3])*chi )]) + # reduce Euler angles to definition range + eu[np.abs(eu)<1.e-6] = 0.0 + eu = np.where(eu<0, (eu+2.0*np.pi)%np.array([2.0*np.pi,np.pi,2.0*np.pi]),eu) + return eu + +def qu2ax(qu): + """ + Quaternion to axis angle pair. + + Modified version of the original formulation, should be numerically more stable + """ + if np.isclose(qu[0],1.,rtol=0.0): # set axis to [001] if the angle is 0/360 + ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) + elif qu[0] > 1.e-8: + s = np.sign(qu[0])/np.sqrt(qu[1]**2+qu[2]**2+qu[3]**2) + omega = 2.0 * np.arccos(np.clip(qu[0],-1.0,1.0)) + ax = ax = np.array([ qu[1]*s, qu[2]*s, qu[3]*s, omega ]) + else: + ax = ax = np.array([ qu[1], qu[2], qu[3], np.pi]) + return ax + +def qu2ro(qu): + """Quaternion to Rodrigues-Frank vector.""" + if iszero(qu[0]): + ro = np.array([qu[1], qu[2], qu[3], np.inf]) + else: + s = np.linalg.norm(qu[1:4]) + ro = np.array([0.0,0.0,_P,0.0] if iszero(s) else \ + [ qu[1]/s, qu[2]/s, qu[3]/s, np.tan(np.arccos(np.clip(qu[0],-1.0,1.0)))]) + return ro + +def qu2ho(qu): + """Quaternion to homochoric vector.""" + omega = 2.0 * np.arccos(np.clip(qu[0],-1.0,1.0)) + if np.abs(omega) < 1.0e-12: + ho = np.zeros(3) + else: + ho = np.array([qu[1], qu[2], qu[3]]) + f = 0.75 * ( omega - np.sin(omega) ) + ho = ho/np.linalg.norm(ho) * f**(1./3.) + return ho + + +#---------- Rotation matrix ---------- +def om2qu(a): + trace = a[0,0] + a[1,1] + a[2,2] + if trace > 0: + s = 0.5 / np.sqrt(trace+ 1.0) + qu = np.array([0.25 / s,( a[2,1] - a[1,2] ) * s,( a[0,2] - a[2,0] ) * s,( a[1,0] - a[0,1] ) * s]) + else: + if ( a[0,0] > a[1,1] and a[0,0] > a[2,2] ): + s = 2.0 * np.sqrt( 1.0 + a[0,0] - a[1,1] - a[2,2]) + qu = np.array([ (a[2,1] - a[1,2]) / s,0.25 * s,(a[0,1] + a[1,0]) / s,(a[0,2] + a[2,0]) / s]) + elif (a[1,1] > a[2,2]): + s = 2.0 * np.sqrt( 1.0 + a[1,1] - a[0,0] - a[2,2]) + qu = np.array([ (a[0,2] - a[2,0]) / s,(a[0,1] + a[1,0]) / s,0.25 * s,(a[1,2] + a[2,1]) / s]) + else: + s = 2.0 * np.sqrt( 1.0 + a[2,2] - a[0,0] - a[1,1] ) + qu = np.array([ (a[1,0] - a[0,1]) / s,(a[0,2] + a[2,0]) / s,(a[1,2] + a[2,1]) / s,0.25 * s]) + if qu[0]<0: qu*=-1 + return qu*np.array([1.,_P,_P,_P]) + +def om2eu(om): + """Rotation matrix to Bunge-Euler angles.""" + if not np.isclose(np.abs(om[2,2]),1.0,1.e-9): + zeta = 1.0/np.sqrt(1.0-om[2,2]**2) + eu = np.array([np.arctan2(om[2,0]*zeta,-om[2,1]*zeta), + np.arccos(om[2,2]), + np.arctan2(om[0,2]*zeta, om[1,2]*zeta)]) + else: + eu = np.array([np.arctan2( om[0,1],om[0,0]), np.pi*0.5*(1-om[2,2]),0.0]) # following the paper, not the reference implementation + eu[np.abs(eu)<1.e-8] = 0.0 + eu = np.where(eu<0, (eu+2.0*np.pi)%np.array([2.0*np.pi,np.pi,2.0*np.pi]),eu) + return eu + +def om2ax(om): + """Rotation matrix to axis angle pair.""" + #return qu2ax(om2qu(om)) # HOTFIX + ax=np.empty(4) + + # first get the rotation angle + t = 0.5*(om.trace() -1.0) + ax[3] = np.arccos(np.clip(t,-1.0,1.0)) + if np.abs(ax[3])<1.e-8: + ax = np.array([ 0.0, 0.0, 1.0, 0.0]) + else: + w,vr = np.linalg.eig(om) + # next, find the eigenvalue (1,0j) + i = np.where(np.isclose(w,1.0+0.0j))[0][0] + ax[0:3] = np.real(vr[0:3,i]) + diagDelta = -_P*np.array([om[1,2]-om[2,1],om[2,0]-om[0,2],om[0,1]-om[1,0]]) + ax[0:3] = np.where(np.abs(diagDelta)<1e-12, ax[0:3],np.abs(ax[0:3])*np.sign(diagDelta)) + return ax + +#---------- Bunge-Euler angles ---------- +def eu2qu(eu): + """Bunge-Euler angles to quaternion.""" + ee = 0.5*eu + cPhi = np.cos(ee[1]) + sPhi = np.sin(ee[1]) + qu = np.array([ cPhi*np.cos(ee[0]+ee[2]), + -_P*sPhi*np.cos(ee[0]-ee[2]), + -_P*sPhi*np.sin(ee[0]-ee[2]), + -_P*cPhi*np.sin(ee[0]+ee[2]) ]) + if qu[0] < 0.0: qu*=-1 + return qu + +def eu2om(eu): + """Bunge-Euler angles to rotation matrix.""" + c = np.cos(eu) + s = np.sin(eu) + + om = np.array([[+c[0]*c[2]-s[0]*s[2]*c[1], +s[0]*c[2]+c[0]*s[2]*c[1], +s[2]*s[1]], + [-c[0]*s[2]-s[0]*c[2]*c[1], -s[0]*s[2]+c[0]*c[2]*c[1], +c[2]*s[1]], + [+s[0]*s[1], -c[0]*s[1], +c[1] ]]) + om[np.abs(om)<1.e-12] = 0.0 + return om + +def eu2ax(eu): + """Bunge-Euler angles to axis angle pair.""" + t = np.tan(eu[1]*0.5) + sigma = 0.5*(eu[0]+eu[2]) + delta = 0.5*(eu[0]-eu[2]) + tau = np.linalg.norm([t,np.sin(sigma)]) + alpha = np.pi if iszero(np.cos(sigma)) else \ + 2.0*np.arctan(tau/np.cos(sigma)) + + if np.abs(alpha)<1.e-6: + ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) + else: + ax = -_P/tau * np.array([ t*np.cos(delta), t*np.sin(delta), np.sin(sigma) ]) # passive axis angle pair so a minus sign in front + ax = np.append(ax,alpha) + if alpha < 0.0: ax *= -1.0 # ensure alpha is positive + return ax + +def eu2ro(eu): + """Bunge-Euler angles to Rodrigues-Frank vector.""" + ro = eu2ax(eu) # convert to axis angle pair representation + if ro[3] >= np.pi: # Differs from original implementation. check convention 5 + ro[3] = np.inf + elif iszero(ro[3]): + ro = np.array([ 0.0, 0.0, _P, 0.0 ]) + else: + ro[3] = np.tan(ro[3]*0.5) + return ro + +#---------- Axis angle pair ---------- +def ax2qu(ax): + """Axis angle pair to quaternion.""" + if np.abs(ax[3])<1.e-6: + qu = np.array([ 1.0, 0.0, 0.0, 0.0 ]) + else: + c = np.cos(ax[3]*0.5) + s = np.sin(ax[3]*0.5) + qu = np.array([ c, ax[0]*s, ax[1]*s, ax[2]*s ]) + return qu + +def ax2om(ax): + """Axis angle pair to rotation matrix.""" + c = np.cos(ax[3]) + s = np.sin(ax[3]) + omc = 1.0-c + om=np.diag(ax[0:3]**2*omc + c) + + for idx in [[0,1,2],[1,2,0],[2,0,1]]: + q = omc*ax[idx[0]] * ax[idx[1]] + om[idx[0],idx[1]] = q + s*ax[idx[2]] + om[idx[1],idx[0]] = q - s*ax[idx[2]] + return om if _P < 0.0 else om.T + +def ax2ro(ax): + """Axis angle pair to Rodrigues-Frank vector.""" + if np.abs(ax[3])<1.e-6: + ro = [ 0.0, 0.0, _P, 0.0 ] + else: + ro = [ax[0], ax[1], ax[2]] + # 180 degree case + ro += [np.inf] if np.isclose(ax[3],np.pi,atol=1.0e-15,rtol=0.0) else \ + [np.tan(ax[3]*0.5)] + ro = np.array(ro) + return ro + +def ax2ho(ax): + """Axis angle pair to homochoric vector.""" + f = (0.75 * ( ax[3] - np.sin(ax[3]) ))**(1.0/3.0) + ho = ax[0:3] * f + return ho + + +#---------- Rodrigues-Frank vector ---------- +def ro2ax(ro): + """Rodrigues-Frank vector to axis angle pair.""" + if np.abs(ro[3]) < 1.e-8: + ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) + elif not np.isfinite(ro[3]): + ax = np.array([ ro[0], ro[1], ro[2], np.pi ]) + else: + angle = 2.0*np.arctan(ro[3]) + ta = np.linalg.norm(ro[0:3]) + ax = np.array([ ro[0]*ta, ro[1]*ta, ro[2]*ta, angle ]) + return ax + +def ro2ho(ro): + """Rodrigues-Frank vector to homochoric vector.""" + if np.sum(ro[0:3]**2.0) < 1.e-8: + ho = np.zeros(3) + else: + f = 2.0*np.arctan(ro[3]) -np.sin(2.0*np.arctan(ro[3])) if np.isfinite(ro[3]) else np.pi + ho = ro[0:3] * (0.75*f)**(1.0/3.0) + return ho + +#---------- Homochoric vector---------- +def ho2ax(ho): + """Homochoric vector to axis angle pair.""" + tfit = np.array([+1.0000000000018852, -0.5000000002194847, + -0.024999992127593126, -0.003928701544781374, + -0.0008152701535450438, -0.0002009500426119712, + -0.00002397986776071756, -0.00008202868926605841, + +0.00012448715042090092, -0.0001749114214822577, + +0.0001703481934140054, -0.00012062065004116828, + +0.000059719705868660826, -0.00001980756723965647, + +0.000003953714684212874, -0.00000036555001439719544]) + # normalize h and store the magnitude + hmag_squared = np.sum(ho**2.) + if iszero(hmag_squared): + ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) + else: + hm = hmag_squared + + # convert the magnitude to the rotation angle + s = tfit[0] + tfit[1] * hmag_squared + for i in range(2,16): + hm *= hmag_squared + s += tfit[i] * hm + ax = np.append(ho/np.sqrt(hmag_squared),2.0*np.arccos(np.clip(s,-1.0,1.0))) + return ax + +def ho2cu(ho): + """ + Homochoric vector to cubochoric vector. + + References + ---------- + D. Roşca et al., Modelling and Simulation in Materials Science and Engineering 22:075013, 2014 + https://doi.org/10.1088/0965-0393/22/7/075013 + + """ + rs = np.linalg.norm(ho) + + if np.allclose(ho,0.0,rtol=0.0,atol=1.0e-16): + cu = np.zeros(3) + else: + xyz3 = ho[_get_pyramid_order(ho,'forward')] + + # inverse M_3 + xyz2 = xyz3[0:2] * np.sqrt( 2.0*rs/(rs+np.abs(xyz3[2])) ) + + # inverse M_2 + qxy = np.sum(xyz2**2) + + if np.isclose(qxy,0.0,rtol=0.0,atol=1.0e-16): + Tinv = np.zeros(2) + else: + q2 = qxy + np.max(np.abs(xyz2))**2 + sq2 = np.sqrt(q2) + q = (_beta/np.sqrt(2.0)/_R1) * np.sqrt(q2*qxy/(q2-np.max(np.abs(xyz2))*sq2)) + tt = np.clip((np.min(np.abs(xyz2))**2+np.max(np.abs(xyz2))*sq2)/np.sqrt(2.0)/qxy,-1.0,1.0) + Tinv = np.array([1.0,np.arccos(tt)/np.pi*12.0]) if np.abs(xyz2[1]) <= np.abs(xyz2[0]) else \ + np.array([np.arccos(tt)/np.pi*12.0,1.0]) + Tinv = q * np.where(xyz2<0.0,-Tinv,Tinv) + + # inverse M_1 + cu = np.array([ Tinv[0], Tinv[1], (-1.0 if xyz3[2] < 0.0 else 1.0) * rs / np.sqrt(6.0/np.pi) ]) /_sc + cu = cu[_get_pyramid_order(ho,'backward')] + return cu + +#---------- Cubochoric ---------- +def cu2ho(cu): + """ + Cubochoric vector to homochoric vector. + + References + ---------- + D. Roşca et al., Modelling and Simulation in Materials Science and Engineering 22:075013, 2014 + https://doi.org/10.1088/0965-0393/22/7/075013 + + """ + # transform to the sphere grid via the curved square, and intercept the zero point + if np.allclose(cu,0.0,rtol=0.0,atol=1.0e-16): + ho = np.zeros(3) + else: + # get pyramide and scale by grid parameter ratio + XYZ = cu[_get_pyramid_order(cu,'forward')] * _sc + + # intercept all the points along the z-axis + if np.allclose(XYZ[0:2],0.0,rtol=0.0,atol=1.0e-16): + ho = np.array([0.0, 0.0, np.sqrt(6.0/np.pi) * XYZ[2]]) + else: + order = [1,0] if np.abs(XYZ[1]) <= np.abs(XYZ[0]) else [0,1] + q = np.pi/12.0 * XYZ[order[0]]/XYZ[order[1]] + c = np.cos(q) + s = np.sin(q) + q = _R1*2.0**0.25/_beta * XYZ[order[1]] / np.sqrt(np.sqrt(2.0)-c) + T = np.array([ (np.sqrt(2.0)*c - 1.0), np.sqrt(2.0) * s]) * q + + # transform to sphere grid (inverse Lambert) + # note that there is no need to worry about dividing by zero, since XYZ[2] can not become zero + c = np.sum(T**2) + s = c * np.pi/24.0 /XYZ[2]**2 + c = c * np.sqrt(np.pi/24.0)/XYZ[2] + + q = np.sqrt( 1.0 - s ) + ho = np.array([ T[order[1]] * q, T[order[0]] * q, np.sqrt(6.0/np.pi) * XYZ[2] - c ]) + + ho = ho[_get_pyramid_order(cu,'backward')] + return ho + +def _get_pyramid_order(xyz,direction=None): + """ + Get order of the coordinates. + + Depending on the pyramid in which the point is located, the order need to be adjusted. + + Parameters + ---------- + xyz : numpy.ndarray + coordinates of a point on a uniform refinable grid on a ball or + in a uniform refinable cubical grid. + + References + ---------- + D. Roşca et al., Modelling and Simulation in Materials Science and Engineering 22:075013, 2014 + https://doi.org/10.1088/0965-0393/22/7/075013 + + """ + order = {'forward':np.array([[0,1,2],[1,2,0],[2,0,1]]), + 'backward':np.array([[0,1,2],[2,0,1],[1,2,0]])} + if np.maximum(abs(xyz[0]),abs(xyz[1])) <= xyz[2] or \ + np.maximum(abs(xyz[0]),abs(xyz[1])) <=-xyz[2]: + p = 0 + elif np.maximum(abs(xyz[1]),abs(xyz[2])) <= xyz[0] or \ + np.maximum(abs(xyz[1]),abs(xyz[2])) <=-xyz[0]: + p = 1 + elif np.maximum(abs(xyz[2]),abs(xyz[0])) <= xyz[1] or \ + np.maximum(abs(xyz[2]),abs(xyz[0])) <=-xyz[1]: + p = 2 + return order[direction][p] + +#################################################################################################### +#################################################################################################### + + class TestRotation: @pytest.mark.parametrize('forward,backward',[(Rotation._qu2om,Rotation._om2qu), @@ -289,11 +711,11 @@ class TestRotation: with pytest.raises(ValueError): function(invalid) - @pytest.mark.parametrize('vectorized, single',[(Rotation._qu2om,rotation_conversion.qu2om), - (Rotation._qu2eu,rotation_conversion.qu2eu), - (Rotation._qu2ax,rotation_conversion.qu2ax), - (Rotation._qu2ro,rotation_conversion.qu2ro), - (Rotation._qu2ho,rotation_conversion.qu2ho)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._qu2om,qu2om), + (Rotation._qu2eu,qu2eu), + (Rotation._qu2ax,qu2ax), + (Rotation._qu2ro,qu2ro), + (Rotation._qu2ho,qu2ho)]) def test_quaternion_vectorization(self,default,vectorized,single): qu = np.array([rot.as_quaternion() for rot in default]) vectorized(qu.reshape(qu.shape[0]//2,-1,4)) @@ -303,9 +725,9 @@ class TestRotation: assert np.allclose(single(q),c) and np.allclose(single(q),vectorized(q)) - @pytest.mark.parametrize('vectorized, single',[(Rotation._om2qu,rotation_conversion.om2qu), - (Rotation._om2eu,rotation_conversion.om2eu), - (Rotation._om2ax,rotation_conversion.om2ax)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._om2qu,om2qu), + (Rotation._om2eu,om2eu), + (Rotation._om2ax,om2ax)]) def test_matrix_vectorization(self,default,vectorized,single): om = np.array([rot.as_matrix() for rot in default]) vectorized(om.reshape(om.shape[0]//2,-1,3,3)) @@ -314,10 +736,10 @@ class TestRotation: print(o,c) assert np.allclose(single(o),c) and np.allclose(single(o),vectorized(o)) - @pytest.mark.parametrize('vectorized, single',[(Rotation._eu2qu,rotation_conversion.eu2qu), - (Rotation._eu2om,rotation_conversion.eu2om), - (Rotation._eu2ax,rotation_conversion.eu2ax), - (Rotation._eu2ro,rotation_conversion.eu2ro)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._eu2qu,eu2qu), + (Rotation._eu2om,eu2om), + (Rotation._eu2ax,eu2ax), + (Rotation._eu2ro,eu2ro)]) def test_Euler_vectorization(self,default,vectorized,single): eu = np.array([rot.as_Eulers() for rot in default]) vectorized(eu.reshape(eu.shape[0]//2,-1,3)) @@ -326,10 +748,10 @@ class TestRotation: print(e,c) assert np.allclose(single(e),c) and np.allclose(single(e),vectorized(e)) - @pytest.mark.parametrize('vectorized, single',[(Rotation._ax2qu,rotation_conversion.ax2qu), - (Rotation._ax2om,rotation_conversion.ax2om), - (Rotation._ax2ro,rotation_conversion.ax2ro), - (Rotation._ax2ho,rotation_conversion.ax2ho)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._ax2qu,ax2qu), + (Rotation._ax2om,ax2om), + (Rotation._ax2ro,ax2ro), + (Rotation._ax2ho,ax2ho)]) def test_axisAngle_vectorization(self,default,vectorized,single): ax = np.array([rot.as_axis_angle() for rot in default]) vectorized(ax.reshape(ax.shape[0]//2,-1,4)) @@ -339,8 +761,8 @@ class TestRotation: assert np.allclose(single(a),c) and np.allclose(single(a),vectorized(a)) - @pytest.mark.parametrize('vectorized, single',[(Rotation._ro2ax,rotation_conversion.ro2ax), - (Rotation._ro2ho,rotation_conversion.ro2ho)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._ro2ax,ro2ax), + (Rotation._ro2ho,ro2ho)]) def test_Rodrigues_vectorization(self,default,vectorized,single): ro = np.array([rot.as_Rodrigues() for rot in default]) vectorized(ro.reshape(ro.shape[0]//2,-1,4)) @@ -349,8 +771,8 @@ class TestRotation: print(r,c) assert np.allclose(single(r),c) and np.allclose(single(r),vectorized(r)) - @pytest.mark.parametrize('vectorized, single',[(Rotation._ho2ax,rotation_conversion.ho2ax), - (Rotation._ho2cu,rotation_conversion.ho2cu)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._ho2ax,ho2ax), + (Rotation._ho2cu,ho2cu)]) def test_homochoric_vectorization(self,default,vectorized,single): ho = np.array([rot.as_homochoric() for rot in default]) vectorized(ho.reshape(ho.shape[0]//2,-1,3)) @@ -359,7 +781,7 @@ class TestRotation: print(h,c) assert np.allclose(single(h),c) and np.allclose(single(h),vectorized(h)) - @pytest.mark.parametrize('vectorized, single',[(Rotation._cu2ho,rotation_conversion.cu2ho)]) + @pytest.mark.parametrize('vectorized, single',[(Rotation._cu2ho,cu2ho)]) def test_cubochoric_vectorization(self,default,vectorized,single): cu = np.array([rot.as_cubochoric() for rot in default]) vectorized(cu.reshape(cu.shape[0]//2,-1,3)) From bb419d49dfc81bb70a0a5c42a95ef587a9378461 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 20 May 2020 16:19:12 +0200 Subject: [PATCH 070/958] polishing --- python/damask/_rotation.py | 3 +- python/tests/test_Rotation.py | 198 +++++++++++++++++++--------------- 2 files changed, 114 insertions(+), 87 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index cf6eaed34..4081f2844 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -9,7 +9,6 @@ _sc = np.pi**(1./6.)/6.**(1./6.) _beta = np.pi**(5./6.)/6.**(1./6.)/2. _R1 = (3.*np.pi/4.)**(1./3.) - class Rotation: u""" Orientation stored with functionality for conversion to different representations. @@ -427,7 +426,7 @@ class Rotation: if P > 0: ho *= -1 # convert from P=1 to P=-1 - if np.any(np.linalg.norm(ho,axis=-1) > (3.*np.pi/4.)**(1./3.)+1e-9): + if np.any(np.linalg.norm(ho,axis=-1) >_R1+1e-9): raise ValueError('Homochoric coordinate outside of the sphere.') return Rotation(Rotation._ho2qu(ho)) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 92f39b4fb..f424fd9ab 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -520,6 +520,7 @@ class TestRotation: (Rotation._qu2ho,Rotation._ho2qu), (Rotation._qu2cu,Rotation._cu2qu)]) def test_quaternion_internal(self,default,forward,backward): + """Ensure invariance of conversion from quaternion and back.""" for rot in default: m = rot.as_quaternion() o = backward(forward(m)) @@ -536,6 +537,7 @@ class TestRotation: (Rotation._om2ho,Rotation._ho2om), (Rotation._om2cu,Rotation._cu2om)]) def test_matrix_internal(self,default,forward,backward): + """Ensure invariance of conversion from rotation matrix and back.""" for rot in default: m = rot.as_matrix() o = backward(forward(m)) @@ -550,6 +552,7 @@ class TestRotation: (Rotation._eu2ho,Rotation._ho2eu), (Rotation._eu2cu,Rotation._cu2eu)]) def test_Eulers_internal(self,default,forward,backward): + """Ensure invariance of conversion from Euler angles and back.""" for rot in default: m = rot.as_Eulers() o = backward(forward(m)) @@ -569,6 +572,7 @@ class TestRotation: (Rotation._ax2ho,Rotation._ho2ax), (Rotation._ax2cu,Rotation._cu2ax)]) def test_axis_angle_internal(self,default,forward,backward): + """Ensure invariance of conversion from axis angle angles pair and back.""" for rot in default: m = rot.as_axis_angle() o = backward(forward(m)) @@ -585,6 +589,7 @@ class TestRotation: (Rotation._ro2ho,Rotation._ho2ro), (Rotation._ro2cu,Rotation._cu2ro)]) def test_Rodrigues_internal(self,default,forward,backward): + """Ensure invariance of conversion from Rodrigues-Frank vector and back.""" cutoff = np.tan(np.pi*.5*(1.-1e-4)) for rot in default: m = rot.as_Rodrigues() @@ -601,12 +606,114 @@ class TestRotation: (Rotation._ho2ro,Rotation._ro2ho), (Rotation._ho2cu,Rotation._cu2ho)]) def test_homochoric_internal(self,default,forward,backward): + """Ensure invariance of conversion from homochoric vector and back.""" for rot in default: m = rot.as_homochoric() o = backward(forward(m)) ok = np.allclose(m,o,atol=atol) print(m,o,rot.as_quaternion()) - assert ok and np.linalg.norm(o) < (3.*np.pi/4.)**(1./3.) + 1.e-9 + assert ok and np.linalg.norm(o) < _R1 + 1.e-9 + + @pytest.mark.parametrize('forward,backward',[(Rotation._cu2qu,Rotation._qu2cu), + (Rotation._cu2om,Rotation._om2cu), + #(Rotation._cu2eu,Rotation._eu2cu), + (Rotation._cu2ax,Rotation._ax2cu), + (Rotation._cu2ro,Rotation._ro2cu), + (Rotation._cu2ho,Rotation._ho2cu)]) + def test_cubochoric_internal(self,default,forward,backward): + """Ensure invariance of conversion from cubochoric vector and back.""" + for rot in default: + m = rot.as_cubochoric() + o = backward(forward(m)) + ok = np.allclose(m,o,atol=atol) + print(m,o,rot.as_quaternion()) + assert ok and np.max(np.abs(o)) < np.pi**(2./3.) * 0.5 + 1.e-9 + + @pytest.mark.parametrize('vectorized, single',[(Rotation._qu2om,qu2om), + (Rotation._qu2eu,qu2eu), + (Rotation._qu2ax,qu2ax), + (Rotation._qu2ro,qu2ro), + (Rotation._qu2ho,qu2ho)]) + def test_quaternion_vectorization(self,default,vectorized,single): + """Check vectorized implementation for quaternion against single point calculation.""" + qu = np.array([rot.as_quaternion() for rot in default]) + vectorized(qu.reshape(qu.shape[0]//2,-1,4)) + co = vectorized(qu) + for q,c in zip(qu,co): + print(q,c) + assert np.allclose(single(q),c) and np.allclose(single(q),vectorized(q)) + + + @pytest.mark.parametrize('vectorized, single',[(Rotation._om2qu,om2qu), + (Rotation._om2eu,om2eu), + (Rotation._om2ax,om2ax)]) + def test_matrix_vectorization(self,default,vectorized,single): + """Check vectorized implementation for rotation matrix against single point calculation.""" + om = np.array([rot.as_matrix() for rot in default]) + vectorized(om.reshape(om.shape[0]//2,-1,3,3)) + co = vectorized(om) + for o,c in zip(om,co): + print(o,c) + assert np.allclose(single(o),c) and np.allclose(single(o),vectorized(o)) + + @pytest.mark.parametrize('vectorized, single',[(Rotation._eu2qu,eu2qu), + (Rotation._eu2om,eu2om), + (Rotation._eu2ax,eu2ax), + (Rotation._eu2ro,eu2ro)]) + def test_Eulers_vectorization(self,default,vectorized,single): + """Check vectorized implementation for Euler angles against single point calculation.""" + eu = np.array([rot.as_Eulers() for rot in default]) + vectorized(eu.reshape(eu.shape[0]//2,-1,3)) + co = vectorized(eu) + for e,c in zip(eu,co): + print(e,c) + assert np.allclose(single(e),c) and np.allclose(single(e),vectorized(e)) + + @pytest.mark.parametrize('vectorized, single',[(Rotation._ax2qu,ax2qu), + (Rotation._ax2om,ax2om), + (Rotation._ax2ro,ax2ro), + (Rotation._ax2ho,ax2ho)]) + def test_axis_angle_vectorization(self,default,vectorized,single): + """Check vectorized implementation for axis angle pair against single point calculation.""" + ax = np.array([rot.as_axis_angle() for rot in default]) + vectorized(ax.reshape(ax.shape[0]//2,-1,4)) + co = vectorized(ax) + for a,c in zip(ax,co): + print(a,c) + assert np.allclose(single(a),c) and np.allclose(single(a),vectorized(a)) + + + @pytest.mark.parametrize('vectorized, single',[(Rotation._ro2ax,ro2ax), + (Rotation._ro2ho,ro2ho)]) + def test_Rodrigues_vectorization(self,default,vectorized,single): + """Check vectorized implementation for Rodrigues-Frank vector against single point calculation.""" + ro = np.array([rot.as_Rodrigues() for rot in default]) + vectorized(ro.reshape(ro.shape[0]//2,-1,4)) + co = vectorized(ro) + for r,c in zip(ro,co): + print(r,c) + assert np.allclose(single(r),c) and np.allclose(single(r),vectorized(r)) + + @pytest.mark.parametrize('vectorized, single',[(Rotation._ho2ax,ho2ax), + (Rotation._ho2cu,ho2cu)]) + def test_homochoric_vectorization(self,default,vectorized,single): + """Check vectorized implementation for homochoric vector against single point calculation.""" + ho = np.array([rot.as_homochoric() for rot in default]) + vectorized(ho.reshape(ho.shape[0]//2,-1,3)) + co = vectorized(ho) + for h,c in zip(ho,co): + print(h,c) + assert np.allclose(single(h),c) and np.allclose(single(h),vectorized(h)) + + @pytest.mark.parametrize('vectorized, single',[(Rotation._cu2ho,cu2ho)]) + def test_cubochoric_vectorization(self,default,vectorized,single): + """Check vectorized implementation for cubochoric vector against single point calculation.""" + cu = np.array([rot.as_cubochoric() for rot in default]) + vectorized(cu.reshape(cu.shape[0]//2,-1,3)) + co = vectorized(cu) + for u,c in zip(cu,co): + print(u,c) + assert np.allclose(single(u),c) and np.allclose(single(u),vectorized(u)) @pytest.mark.parametrize('degrees',[True,False]) def test_Eulers(self,default,degrees): @@ -622,7 +729,7 @@ class TestRotation: @pytest.mark.parametrize('P',[1,-1]) @pytest.mark.parametrize('normalise',[True,False]) @pytest.mark.parametrize('degrees',[True,False]) - def test_AxisAngle(self,default,degrees,normalise,P): + def test_axis_angle(self,default,degrees,normalise,P): c = np.array([P*-1,P*-1,P*-1,1.]) for rot in default: m = rot.as_Eulers() @@ -636,7 +743,7 @@ class TestRotation: print(m,o,rot.as_quaternion()) assert ok and (np.zeros(3)-1.e-9 <= o).all() and (o <= np.array([np.pi*2.,np.pi,np.pi*2.])+1.e-9).all() - def test_Matrix(self,default): + def test_matrix(self,default): for rot in default: m = rot.as_axis_angle() o = Rotation.from_axis_angle(rot.as_axis_angle()).as_axis_angle() @@ -658,7 +765,7 @@ class TestRotation: assert ok and np.isclose(np.linalg.det(o),1.0) @pytest.mark.parametrize('P',[1,-1]) - def test_Homochoric(self,default,P): + def test_homochoric(self,default,P): cutoff = np.tan(np.pi*.5*(1.-1e-4)) for rot in default: m = rot.as_Rodrigues() @@ -669,7 +776,7 @@ class TestRotation: assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) @pytest.mark.parametrize('P',[1,-1]) - def test_Cubochoric(self,default,P): + def test_cubochoric(self,default,P): for rot in default: m = rot.as_homochoric() o = Rotation.from_cubochoric(rot.as_cubochoric()*P*-1,P).as_homochoric() @@ -678,7 +785,7 @@ class TestRotation: assert ok and np.linalg.norm(o) < (3.*np.pi/4.)**(1./3.) + 1.e-9 @pytest.mark.parametrize('P',[1,-1]) - def test_Quaternion(self,default,P): + def test_quaternion(self,default,P): c = np.array([1,P*-1,P*-1,P*-1]) for rot in default: m = rot.as_cubochoric() @@ -711,85 +818,6 @@ class TestRotation: with pytest.raises(ValueError): function(invalid) - @pytest.mark.parametrize('vectorized, single',[(Rotation._qu2om,qu2om), - (Rotation._qu2eu,qu2eu), - (Rotation._qu2ax,qu2ax), - (Rotation._qu2ro,qu2ro), - (Rotation._qu2ho,qu2ho)]) - def test_quaternion_vectorization(self,default,vectorized,single): - qu = np.array([rot.as_quaternion() for rot in default]) - vectorized(qu.reshape(qu.shape[0]//2,-1,4)) - co = vectorized(qu) - for q,c in zip(qu,co): - print(q,c) - assert np.allclose(single(q),c) and np.allclose(single(q),vectorized(q)) - - - @pytest.mark.parametrize('vectorized, single',[(Rotation._om2qu,om2qu), - (Rotation._om2eu,om2eu), - (Rotation._om2ax,om2ax)]) - def test_matrix_vectorization(self,default,vectorized,single): - om = np.array([rot.as_matrix() for rot in default]) - vectorized(om.reshape(om.shape[0]//2,-1,3,3)) - co = vectorized(om) - for o,c in zip(om,co): - print(o,c) - assert np.allclose(single(o),c) and np.allclose(single(o),vectorized(o)) - - @pytest.mark.parametrize('vectorized, single',[(Rotation._eu2qu,eu2qu), - (Rotation._eu2om,eu2om), - (Rotation._eu2ax,eu2ax), - (Rotation._eu2ro,eu2ro)]) - def test_Euler_vectorization(self,default,vectorized,single): - eu = np.array([rot.as_Eulers() for rot in default]) - vectorized(eu.reshape(eu.shape[0]//2,-1,3)) - co = vectorized(eu) - for e,c in zip(eu,co): - print(e,c) - assert np.allclose(single(e),c) and np.allclose(single(e),vectorized(e)) - - @pytest.mark.parametrize('vectorized, single',[(Rotation._ax2qu,ax2qu), - (Rotation._ax2om,ax2om), - (Rotation._ax2ro,ax2ro), - (Rotation._ax2ho,ax2ho)]) - def test_axisAngle_vectorization(self,default,vectorized,single): - ax = np.array([rot.as_axis_angle() for rot in default]) - vectorized(ax.reshape(ax.shape[0]//2,-1,4)) - co = vectorized(ax) - for a,c in zip(ax,co): - print(a,c) - assert np.allclose(single(a),c) and np.allclose(single(a),vectorized(a)) - - - @pytest.mark.parametrize('vectorized, single',[(Rotation._ro2ax,ro2ax), - (Rotation._ro2ho,ro2ho)]) - def test_Rodrigues_vectorization(self,default,vectorized,single): - ro = np.array([rot.as_Rodrigues() for rot in default]) - vectorized(ro.reshape(ro.shape[0]//2,-1,4)) - co = vectorized(ro) - for r,c in zip(ro,co): - print(r,c) - assert np.allclose(single(r),c) and np.allclose(single(r),vectorized(r)) - - @pytest.mark.parametrize('vectorized, single',[(Rotation._ho2ax,ho2ax), - (Rotation._ho2cu,ho2cu)]) - def test_homochoric_vectorization(self,default,vectorized,single): - ho = np.array([rot.as_homochoric() for rot in default]) - vectorized(ho.reshape(ho.shape[0]//2,-1,3)) - co = vectorized(ho) - for h,c in zip(ho,co): - print(h,c) - assert np.allclose(single(h),c) and np.allclose(single(h),vectorized(h)) - - @pytest.mark.parametrize('vectorized, single',[(Rotation._cu2ho,cu2ho)]) - def test_cubochoric_vectorization(self,default,vectorized,single): - cu = np.array([rot.as_cubochoric() for rot in default]) - vectorized(cu.reshape(cu.shape[0]//2,-1,3)) - co = vectorized(cu) - for u,c in zip(cu,co): - print(u,c) - assert np.allclose(single(u),c) and np.allclose(single(u),vectorized(u)) - @pytest.mark.parametrize('direction',['forward', 'backward']) def test_pyramid_vectorization(self,direction): From 128a96e7f6f44c5ff6dafa26ba7536b055dad3f9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 20 May 2020 18:13:51 +0200 Subject: [PATCH 071/958] vectorized formula is enough --- python/damask/_rotation.py | 47 +++----------------------------------- 1 file changed, 3 insertions(+), 44 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 4081f2844..3f0cc7107 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -77,9 +77,9 @@ class Rotation: ]) - def __mul__(self, other): + def __matmul__(self, other): """ - Multiplication. + Rotation of vector, second or fourth order tensor, or rotation object. Parameters ---------- @@ -89,47 +89,6 @@ class Rotation: Todo ---- Document details active/passive) - consider rotation of (3,3,3,3)-matrix - - """ - if self.quaternion.shape != (4,): - raise NotImplementedError('Support for multiple rotations missing') - if isinstance(other, Rotation): - self_q = self.quaternion[0] - self_p = self.quaternion[1:] - other_q = other.quaternion[0] - other_p = other.quaternion[1:] - R = self.__class__(np.append(self_q*other_q - np.dot(self_p,other_p), - self_q*other_p + other_q*self_p + _P * np.cross(self_p,other_p))) - return R.standardize() - elif isinstance(other, np.ndarray): - if other.shape == (3,): - A = self.quaternion[0]**2.0 - np.dot(self.quaternion[1:],self.quaternion[1:]) - B = 2.0 * np.dot(self.quaternion[1:],other) - C = 2.0 * _P*self.quaternion[0] - - return A*other + B*self.quaternion[1:] + C * np.cross(self.quaternion[1:],other) - - elif other.shape == (3,3,): - R = self.as_matrix() - return np.dot(R,np.dot(other,R.T)) - elif other.shape == (3,3,3,3,): - R = self.as_matrix() - RR = np.outer(R, R) - RRRR = np.outer(RR, RR).reshape(4 * (3,3)) - axes = ((0, 2, 4, 6), (0, 1, 2, 3)) - return np.tensordot(RRRR, other, axes) - else: - raise ValueError('Can only rotate vectors, 2nd order ternsors, and 4th order tensors') - else: - raise TypeError('Cannot rotate {}'.format(type(other))) - - - def __matmul__(self, other): - """ - Rotation. - - details to be discussed """ if isinstance(other, Rotation): q_m = self.quaternion[...,0:1] @@ -505,7 +464,7 @@ class Rotation: fromEulers = from_Eulers asAxisAngle = as_axis_angle asRodrigues = as_Rodrigues - + __mul__ = __matmul__ #################################################################################################### # Code below available according to the following conditions on https://github.com/MarDiehl/3Drotations From 353fd3ceb602f52c027b4b9359dac24dcca761f3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 20 May 2020 19:10:16 +0200 Subject: [PATCH 072/958] more tests now 95% test coverage of Rotation class --- python/damask/_rotation.py | 3 +- python/tests/test_Rotation.py | 85 ++++++++++++++++++++++++++++++++--- 2 files changed, 81 insertions(+), 7 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 3f0cc7107..cac0cec3e 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -88,7 +88,8 @@ class Rotation: Todo ---- - Document details active/passive) + Check rotation of 4th order tensor + """ if isinstance(other, Rotation): q_m = self.quaternion[...,0:1] diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index f424fd9ab..a9768afb8 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -510,6 +510,54 @@ def _get_pyramid_order(xyz,direction=None): #################################################################################################### #################################################################################################### +def mul(me, other): + """ + Multiplication. + + Parameters + ---------- + other : numpy.ndarray or Rotation + Vector, second or fourth order tensor, or rotation object that is rotated. + + Todo + ---- + Document details active/passive) + consider rotation of (3,3,3,3)-matrix + + """ + if me.quaternion.shape != (4,): + raise NotImplementedError('Support for multiple rotations missing') + if isinstance(other, Rotation): + me_q = me.quaternion[0] + me_p = me.quaternion[1:] + other_q = other.quaternion[0] + other_p = other.quaternion[1:] + R = me.__class__(np.append(me_q*other_q - np.dot(me_p,other_p), + me_q*other_p + other_q*me_p + _P * np.cross(me_p,other_p))) + return R.standardize() + elif isinstance(other, np.ndarray): + if other.shape == (3,): + A = me.quaternion[0]**2.0 - np.dot(me.quaternion[1:],me.quaternion[1:]) + B = 2.0 * np.dot(me.quaternion[1:],other) + C = 2.0 * _P*me.quaternion[0] + + return A*other + B*me.quaternion[1:] + C * np.cross(me.quaternion[1:],other) + + elif other.shape == (3,3,): + R = me.as_matrix() + return np.dot(R,np.dot(other,R.T)) + elif other.shape == (3,3,3,3,): + R = me.as_matrix() + return np.einsum('ia,jb,kc,ld,abcd->ijkl',R,R,R,R,other) + RR = np.outer(R, R) + RRRR = np.outer(RR, RR).reshape(4 * (3,3)) + axes = ((0, 2, 4, 6), (0, 1, 2, 3)) + return np.tensordot(RRRR, other, axes) + else: + raise ValueError('Can only rotate vectors, 2nd order ternsors, and 4th order tensors') + else: + raise TypeError('Cannot rotate {}'.format(type(other))) + class TestRotation: @@ -616,7 +664,7 @@ class TestRotation: @pytest.mark.parametrize('forward,backward',[(Rotation._cu2qu,Rotation._qu2cu), (Rotation._cu2om,Rotation._om2cu), - #(Rotation._cu2eu,Rotation._eu2cu), + (Rotation._cu2eu,Rotation._eu2cu), (Rotation._cu2ax,Rotation._ax2cu), (Rotation._cu2ro,Rotation._ro2cu), (Rotation._cu2ho,Rotation._ho2cu)]) @@ -626,6 +674,8 @@ class TestRotation: m = rot.as_cubochoric() o = backward(forward(m)) ok = np.allclose(m,o,atol=atol) + if np.count_nonzero(np.isclose(np.abs(o),np.pi**(2./3.)*.5)): + ok = ok or np.allclose(m*-1.,o,atol=atol) print(m,o,rot.as_quaternion()) assert ok and np.max(np.abs(o)) < np.pi**(2./3.) * 0.5 + 1.e-9 @@ -785,21 +835,32 @@ class TestRotation: assert ok and np.linalg.norm(o) < (3.*np.pi/4.)**(1./3.) + 1.e-9 @pytest.mark.parametrize('P',[1,-1]) - def test_quaternion(self,default,P): - c = np.array([1,P*-1,P*-1,P*-1]) + @pytest.mark.parametrize('accept_homomorph',[True,False]) + def test_quaternion(self,default,P,accept_homomorph): + c = np.array([1,P*-1,P*-1,P*-1]) * (-1 if accept_homomorph else 1) for rot in default: m = rot.as_cubochoric() - o = Rotation.from_quaternion(rot.as_quaternion()*c,False,P).as_cubochoric() + o = Rotation.from_quaternion(rot.as_quaternion()*c,accept_homomorph,P).as_cubochoric() ok = np.allclose(m,o,atol=atol) + if np.count_nonzero(np.isclose(np.abs(o),np.pi**(2./3.)*.5)): + ok = ok or np.allclose(m*-1.,o,atol=atol) print(m,o,rot.as_quaternion()) assert ok and o.max() < np.pi**(2./3.)*0.5+1.e-9 + @pytest.mark.parametrize('reciprocal',[True,False]) + def test_basis(self,default,reciprocal): + for rot in default: + om = rot.as_matrix() + 0.1*np.eye(3) + rot = Rotation.from_basis(om,False,reciprocal=reciprocal) + assert np.isclose(np.linalg.det(rot.as_matrix()),1.0) + @pytest.mark.parametrize('function',[Rotation.from_quaternion, Rotation.from_Eulers, Rotation.from_axis_angle, Rotation.from_matrix, Rotation.from_Rodrigues, - Rotation.from_homochoric]) + Rotation.from_homochoric, + Rotation.from_cubochoric]) def test_invalid_shape(self,function): invalid_shape = np.random.random(np.random.randint(8,32,(3))) with pytest.raises(ValueError): @@ -813,7 +874,8 @@ class TestRotation: (Rotation.from_matrix, np.random.rand(3,3)), (Rotation.from_Rodrigues, np.array([1,0,0,-1])), (Rotation.from_Rodrigues, np.array([1,1,0,1])), - (Rotation.from_homochoric, np.array([2,2,2])) ]) + (Rotation.from_homochoric, np.array([2,2,2])), + (Rotation.from_cubochoric, np.array([1.1,0,0])) ]) def test_invalid_value(self,function,invalid): with pytest.raises(ValueError): function(invalid) @@ -833,6 +895,17 @@ class TestRotation: assert np.all(np.take_along_axis(np.take_along_axis(a,f,-1),b,-1) == a) + @pytest.mark.parametrize('data',[np.random.rand(5,3), + np.random.rand(5,3,3), + np.random.rand(5,3,3,3,3)]) + def test_rotate_vectorization(self,default,data): + for rot in default: + v = rot.broadcast_to((5,)) @ data + for i in range(data.shape[0]): + print(i-data[i]) + assert np.allclose(mul(rot,data[i]),v[i]) + + @pytest.mark.parametrize('data',[np.random.rand(3), np.random.rand(3,3), np.random.rand(3,3,3,3)]) From 16f30a10d0f85bdd277b372f2cfbee47e69d3e2a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 20 May 2020 23:50:08 +0200 Subject: [PATCH 073/958] polishing --- python/damask/_orientation.py | 8 ++++---- python/damask/_rotation.py | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index c145dc42b..7c3c614fb 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -65,8 +65,8 @@ class Orientation: r = b*aInv for k in range(2): r.inverse() - breaker = self.lattice.symmetry.inFZ(r.asRodrigues(vector=True)) \ - and (not SST or other.lattice.symmetry.inDisorientationSST(r.asRodrigues(vector=True))) + breaker = self.lattice.symmetry.inFZ(r.as_Rodrigues(vector=True)) \ + and (not SST or other.lattice.symmetry.inDisorientationSST(r.as_Rodrigues(vector=True))) if breaker: break if breaker: break if breaker: break @@ -75,7 +75,7 @@ class Orientation: # ... own sym, other sym, # self-->other: True, self<--other: False def inFZ(self): - return self.lattice.symmetry.inFZ(self.rotation.asRodrigues(vector=True)) + return self.lattice.symmetry.inFZ(self.rotation.as_Rodrigues(vector=True)) def equivalentOrientations(self,members=[]): @@ -97,7 +97,7 @@ class Orientation: def reduced(self): """Transform orientation to fall into fundamental zone according to symmetry.""" for me in self.equivalentOrientations(): - if self.lattice.symmetry.inFZ(me.rotation.asRodrigues(vector=True)): break + if self.lattice.symmetry.inFZ(me.rotation.as_Rodrigues(vector=True)): break return self.__class__(me.rotation,self.lattice) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index cac0cec3e..387ee84cb 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -119,7 +119,7 @@ class Rotation: R = self.as_matrix() return np.einsum('...im,...jn,...ko,...lp,...mnop',R,R,R,R,other) else: - raise ValueError('Can only rotate vectors, 2nd order ternsors, and 4th order tensors') + raise ValueError('Can only rotate vectors, 2nd order tensors, and 4th order tensors') else: raise TypeError('Cannot rotate {}'.format(type(other))) @@ -464,7 +464,6 @@ class Rotation: fromQuaternion = from_quaternion fromEulers = from_Eulers asAxisAngle = as_axis_angle - asRodrigues = as_Rodrigues __mul__ = __matmul__ #################################################################################################### From 23b1381eaf3117fc5924bf9c12e3860404494272 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 21 May 2020 10:45:52 +0200 Subject: [PATCH 074/958] give credit --- python/damask/_result.py | 2 +- src/results.f90 | 2 +- src/rotations.f90 | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 9993e90bd..5a22c7977 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -123,7 +123,7 @@ class Result: """ # allow True/False and string arguments - if datasets is True: + if datasets is True: datasets = ['*'] elif datasets is False: datasets = [] diff --git a/src/results.f90 b/src/results.f90 index cee6aedd9..b5410f5f4 100644 --- a/src/results.f90 +++ b/src/results.f90 @@ -65,7 +65,7 @@ subroutine results_init(restart) character(len=pStringLen) :: commandLine - write(6,'(/,a)') ' <<<+- results init -+>>>' + write(6,'(/,a)') ' <<<+- results init -+>>>'; flush(6) write(6,'(/,a)') ' Diehl et al., Integrating Materials and Manufacturing Innovation 6(1):83–91, 2017' write(6,'(a)') ' https://doi.org/10.1007/s40192-017-0084-5' diff --git a/src/rotations.f90 b/src/rotations.f90 index 42afb48e9..f95c54e98 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -105,6 +105,10 @@ subroutine rotations_init call quaternions_init write(6,'(/,a)') ' <<<+- rotations init -+>>>'; flush(6) + + write(6,'(/,a)') ' Rowenhorst et al., Modelling and Simulation in Materials Science and Engineering 23:083501, 2015' + write(6,'(a)') ' https://doi.org/10.1088/0965-0393/23/8/083501' + call selfTest end subroutine rotations_init From 7aecc37219dee51cc026dc4f57110a6788a3c908 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 21 May 2020 15:42:05 +0200 Subject: [PATCH 075/958] using ordering as in DAMASK autogenerated by a small script from lattice.f90 --- processing/post/addSchmidfactors.py | 153 +++++++++++++--------------- 1 file changed, 72 insertions(+), 81 deletions(-) diff --git a/processing/post/addSchmidfactors.py b/processing/post/addSchmidfactors.py index b3c4c7500..9b694e3a1 100755 --- a/processing/post/addSchmidfactors.py +++ b/processing/post/addSchmidfactors.py @@ -15,91 +15,82 @@ scriptID = ' '.join([scriptName,damask.version]) slipSystems = { 'fcc': np.array([ - # Slip direction Plane normal - [ 0, 1,-1, 1, 1, 1, ], - [-1, 0, 1, 1, 1, 1, ], - [ 1,-1, 0, 1, 1, 1, ], - [ 0,-1,-1, -1,-1, 1, ], - [ 1, 0, 1, -1,-1, 1, ], - [-1, 1, 0, -1,-1, 1, ], - [ 0,-1, 1, 1,-1,-1, ], - [-1, 0,-1, 1,-1,-1, ], - [ 1, 1, 0, 1,-1,-1, ], - [ 0, 1, 1, -1, 1,-1, ], - [ 1, 0,-1, -1, 1,-1, ], - [-1,-1, 0, -1, 1,-1, ], - ],'f'), + [+0,+1,-1 , +1,+1,+1], + [-1,+0,+1 , +1,+1,+1], + [+1,-1,+0 , +1,+1,+1], + [+0,-1,-1 , -1,-1,+1], + [+1,+0,+1 , -1,-1,+1], + [-1,+1,+0 , -1,-1,+1], + [+0,-1,+1 , +1,-1,-1], + [-1,+0,-1 , +1,-1,-1], + [+1,+1,+0 , +1,-1,-1], + [+0,+1,+1 , -1,+1,-1], + [+1,+0,-1 , -1,+1,-1], + [-1,-1,+0 , -1,+1,-1], + ],'d'), 'bcc': np.array([ - # Slip system <111>{110} - [ 1,-1, 1, 0, 1, 1, ], - [-1,-1, 1, 0, 1, 1, ], - [ 1, 1, 1, 0,-1, 1, ], - [-1, 1, 1, 0,-1, 1, ], - [-1, 1, 1, 1, 0, 1, ], - [-1,-1, 1, 1, 0, 1, ], - [ 1, 1, 1, -1, 0, 1, ], - [ 1,-1, 1, -1, 0, 1, ], - [-1, 1, 1, 1, 1, 0, ], - [-1, 1,-1, 1, 1, 0, ], - [ 1, 1, 1, -1, 1, 0, ], - [ 1, 1,-1, -1, 1, 0, ], - # Slip system <111>{112} - [-1, 1, 1, 2, 1, 1, ], - [ 1, 1, 1, -2, 1, 1, ], - [ 1, 1,-1, 2,-1, 1, ], - [ 1,-1, 1, 2, 1,-1, ], - [ 1,-1, 1, 1, 2, 1, ], - [ 1, 1,-1, -1, 2, 1, ], - [ 1, 1, 1, 1,-2, 1, ], - [-1, 1, 1, 1, 2,-1, ], - [ 1, 1,-1, 1, 1, 2, ], - [ 1,-1, 1, -1, 1, 2, ], - [-1, 1, 1, 1,-1, 2, ], - [ 1, 1, 1, 1, 1,-2, ], - ],'f'), + [+1,-1,+1 , +0,+1,+1], + [-1,-1,+1 , +0,+1,+1], + [+1,+1,+1 , +0,-1,+1], + [-1,+1,+1 , +0,-1,+1], + [-1,+1,+1 , +1,+0,+1], + [-1,-1,+1 , +1,+0,+1], + [+1,+1,+1 , -1,+0,+1], + [+1,-1,+1 , -1,+0,+1], + [-1,+1,+1 , +1,+1,+0], + [-1,+1,-1 , +1,+1,+0], + [+1,+1,+1 , -1,+1,+0], + [+1,+1,-1 , -1,+1,+0], + [-1,+1,+1 , +2,+1,+1], + [+1,+1,+1 , -2,+1,+1], + [+1,+1,-1 , +2,-1,+1], + [+1,-1,+1 , +2,+1,-1], + [+1,-1,+1 , +1,+2,+1], + [+1,+1,-1 , -1,+2,+1], + [+1,+1,+1 , +1,-2,+1], + [-1,+1,+1 , +1,+2,-1], + [+1,+1,-1 , +1,+1,+2], + [+1,-1,+1 , -1,+1,+2], + [-1,+1,+1 , +1,-1,+2], + [+1,+1,+1 , +1,+1,-2], + ],'d'), 'hex': np.array([ - # Basal systems <11.0>{00.1} (independent of c/a-ratio, Bravais notation (4 coordinate base)) - [ 2, -1, -1, 0, 0, 0, 0, 1, ], - [-1, 2, -1, 0, 0, 0, 0, 1, ], - [-1, -1, 2, 0, 0, 0, 0, 1, ], - # 1st type prismatic systems <11.0>{10.0} (independent of c/a-ratio) - [ 2, -1, -1, 0, 0, 1, -1, 0, ], - [-1, 2, -1, 0, -1, 0, 1, 0, ], - [-1, -1, 2, 0, 1, -1, 0, 0, ], - # 2nd type prismatic systems <10.0>{11.0} -- a slip; plane normals independent of c/a-ratio - [ 0, 1, -1, 0, 2, -1, -1, 0, ], - [-1, 0, 1, 0, -1, 2, -1, 0, ], - [ 1, -1, 0, 0, -1, -1, 2, 0, ], - # 1st type 1st order pyramidal systems <11.0>{-11.1} -- plane normals depend on the c/a-ratio - [ 2, -1, -1, 0, 0, 1, -1, 1, ], - [-1, 2, -1, 0, -1, 0, 1, 1, ], - [-1, -1, 2, 0, 1, -1, 0, 1, ], - [ 1, 1, -2, 0, -1, 1, 0, 1, ], - [-2, 1, 1, 0, 0, -1, 1, 1, ], - [ 1, -2, 1, 0, 1, 0, -1, 1, ], - # pyramidal system: c+a slip <11.3>{-10.1} -- plane normals depend on the c/a-ratio - [ 2, -1, -1, 3, -1, 1, 0, 1, ], - [ 1, -2, 1, 3, -1, 1, 0, 1, ], - [-1, -1, 2, 3, 1, 0, -1, 1, ], - [-2, 1, 1, 3, 1, 0, -1, 1, ], - [-1, 2, -1, 3, 0, -1, 1, 1, ], - [ 1, 1, -2, 3, 0, -1, 1, 1, ], - [-2, 1, 1, 3, 1, -1, 0, 1, ], - [-1, 2, -1, 3, 1, -1, 0, 1, ], - [ 1, 1, -2, 3, -1, 0, 1, 1, ], - [ 2, -1, -1, 3, -1, 0, 1, 1, ], - [ 1, -2, 1, 3, 0, 1, -1, 1, ], - [-1, -1, 2, 3, 0, 1, -1, 1, ], - # pyramidal system: c+a slip <11.3>{-1-1.2} -- as for hexagonal ice (Castelnau et al. 1996, similar to twin system found below) - [ 2, -1, -1, 3, -2, 1, 1, 2, ], # sorted according to similar twin system - [-1, 2, -1, 3, 1, -2, 1, 2, ], # <11.3>{-1-1.2} shear = 2((c/a)^2-2)/(3 c/a) - [-1, -1, 2, 3, 1, 1, -2, 2, ], - [-2, 1, 1, 3, 2, -1, -1, 2, ], - [ 1, -2, 1, 3, -1, 2, -1, 2, ], - [ 1, 1, -2, 3, -1, -1, 2, 2, ], - ],'f'), + [+2,-1,-1,+0 , +0,+0,+0,+1], + [-1,+2,-1,+0 , +0,+0,+0,+1], + [-1,-1,+2,+0 , +0,+0,+0,+1], + [+2,-1,-1,+0 , +0,+1,-1,+0], + [-1,+2,-1,+0 , -1,+0,+1,+0], + [-1,-1,+2,+0 , +1,-1,+0,+0], + [-1,+1,+0,+0 , +1,+1,-2,+0], + [+0,-1,+1,+0 , -2,+1,+1,+0], + [+1,+0,-1,+0 , +1,-2,+1,+0], + [-1,+2,-1,+0 , +1,+0,-1,+1], + [-2,+1,+1,+0 , +0,+1,-1,+1], + [-1,-1,+2,+0 , -1,+1,+0,+1], + [+1,-2,+1,+0 , -1,+0,+1,+1], + [+2,-1,-1,+0 , +0,-1,+1,+1], + [+1,+1,-2,+0 , +1,-1,+0,+1], + [-2,+1,+1,+3 , +1,+0,-1,+1], + [-1,-1,+2,+3 , +1,+0,-1,+1], + [-1,-1,+2,+3 , +0,+1,-1,+1], + [+1,-2,+1,+3 , +0,+1,-1,+1], + [+1,-2,+1,+3 , -1,+1,+0,+1], + [+2,-1,-1,+3 , -1,+1,+0,+1], + [+2,-1,-1,+3 , -1,+0,+1,+1], + [+1,+1,-2,+3 , -1,+0,+1,+1], + [+1,+1,-2,+3 , +0,-1,+1,+1], + [-1,+2,-1,+3 , +0,-1,+1,+1], + [-1,+2,-1,+3 , +1,-1,+0,+1], + [-2,+1,+1,+3 , +1,-1,+0,+1], + [-1,-1,+2,+3 , +1,+1,-2,+2], + [+1,-2,+1,+3 , -1,+2,-1,+2], + [+2,-1,-1,+3 , -2,+1,+1,+2], + [+1,+1,-2,+3 , -1,-1,+2,+2], + [-1,+2,-1,+3 , +1,-2,+1,+2], + [-2,+1,+1,+3 , +2,-1,-1,+2], + ],'d'), } # -------------------------------------------------------------------- From 06e4327c0b888abc52c17aa816c95ceb5cf73f43 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 21 May 2020 17:16:27 +0200 Subject: [PATCH 076/958] replace outdated ASCIItable class --- processing/post/addSchmidfactors.py | 128 +++++++++++----------------- 1 file changed, 52 insertions(+), 76 deletions(-) diff --git a/processing/post/addSchmidfactors.py b/processing/post/addSchmidfactors.py index 9b694e3a1..d1899e9a0 100755 --- a/processing/post/addSchmidfactors.py +++ b/processing/post/addSchmidfactors.py @@ -2,6 +2,7 @@ import os import sys +from io import StringIO from optparse import OptionParser import numpy as np @@ -102,11 +103,11 @@ Add columns listing Schmid factors (and optional trace vector of selected system """, version = scriptID) -latticeChoices = ('fcc','bcc','hex') +lattice_choices = list(slipSystems.keys()) parser.add_option('-l', '--lattice', - dest = 'lattice', type = 'choice', choices = latticeChoices, metavar='string', - help = 'type of lattice structure [%default] {}'.format(latticeChoices)) + dest = 'lattice', type = 'choice', choices = lattice_choices, metavar='string', + help = 'type of lattice structure [%default] {}'.format(lattice_choices)) parser.add_option('--covera', dest = 'CoverA', type = 'float', metavar = 'float', help = 'C over A ratio for hexagonal systems [%default]') @@ -129,88 +130,63 @@ parser.add_option('-o', parser.set_defaults(force = (0.0,0.0,1.0), quaternion='orientation', normal = None, - lattice = latticeChoices[0], + lattice = lattice_choices[0], CoverA = np.sqrt(8./3.), ) (options, filenames) = parser.parse_args() - -force = np.array(options.force) -force /= np.linalg.norm(force) - -if options.normal is not None: - normal = np.array(options.normal) - normal /= np.linalg.norm(normal) - if abs(np.dot(force,normal)) > 1e-3: - parser.error('stress plane normal not orthogonal to force direction') -else: - normal = force - -slip_direction = np.zeros((len(slipSystems[options.lattice]),3),'f') -slip_normal = np.zeros_like(slip_direction) - - -if options.lattice in latticeChoices[:2]: - slip_direction = slipSystems[options.lattice][:,:3] - slip_normal = slipSystems[options.lattice][:,3:] -elif options.lattice == latticeChoices[2]: - # convert 4 Miller index notation of hex to orthogonal 3 Miller index notation - for i in range(len(slip_direction)): - slip_direction[i] = np.array([slipSystems['hex'][i,0]*1.5, - (slipSystems['hex'][i,0] + 2.*slipSystems['hex'][i,1])*0.5*np.sqrt(3), - slipSystems['hex'][i,3]*options.CoverA, - ]) - slip_normal[i] = np.array([slipSystems['hex'][i,4], - (slipSystems['hex'][i,4] + 2.*slipSystems['hex'][i,5])/np.sqrt(3), - slipSystems['hex'][i,7]/options.CoverA, - ]) - -slip_direction /= np.tile(np.linalg.norm(slip_direction,axis=1),(3,1)).T -slip_normal /= np.tile(np.linalg.norm(slip_normal ,axis=1),(3,1)).T - -# --- loop over input files ------------------------------------------------------------------------ - if filenames == []: filenames = [None] +force = np.array(options.force)/np.linalg.norm(options.force) + +if options.normal is not None: + normal = np.array(options.normal)/np.linalg.norm(options.ormal) + if abs(np.dot(force,normal)) > 1e-3: + parser.error('stress plane normal not orthogonal to force direction') +else: + normal = force + + +if options.lattice in ['bcc','fcc']: + slip_direction = slipSystems[options.lattice][:,:3] + slip_normal = slipSystems[options.lattice][:,3:] +elif options.lattice == 'hex': + slip_direction = np.zeros((len(slipSystems['hex']),3),'d') + slip_normal = np.zeros_like(slip_direction) + # convert 4 Miller index notation of hex to orthogonal 3 Miller index notation + for i in range(len(slip_direction)): + slip_direction[i] = np.array([slipSystems['hex'][i,0]*1.5, + (slipSystems['hex'][i,0] + 2.*slipSystems['hex'][i,1])*0.5*np.sqrt(3), + slipSystems['hex'][i,3]*options.CoverA, + ]) + slip_normal[i] = np.array([slipSystems['hex'][i,4], + (slipSystems['hex'][i,4] + 2.*slipSystems['hex'][i,5])/np.sqrt(3), + slipSystems['hex'][i,7]/options.CoverA, + ]) + +slip_direction /= np.linalg.norm(slip_direction,axis=1,keepdims=True) +slip_normal /= np.linalg.norm(slip_normal, axis=1,keepdims=True) + +labels = ['S[{direction[0]:.1g}_{direction[1]:.1g}_{direction[2]:.1g}]' + '({normal[0]:.1g}_{normal[1]:.1g}_{normal[2]:.1g})'\ + .format(normal = theNormal, direction = theDirection, + ) for theNormal,theDirection in zip(slip_normal,slip_direction)] + for name in filenames: - try: - table = damask.ASCIItable(name = name) - except IOError: - continue - damask.util.report(scriptName,name) + damask.util.report(scriptName,name) -# ------------------------------------------ read header ------------------------------------------ + table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - table.head_read() + o = damask.Rotation.from_quaternion(table.get(options.quaternion)) -# ------------------------------------------ sanity checks ---------------------------------------- - if not table.label_dimension(options.quaternion) == 4: - damask.util.croak('input {} does not have dimension 4.'.format(options.quaternion)) - table.close(dismiss = True) # close ASCIItable and remove empty file - continue + force = np.broadcast_to(force, o.shape+(3,)) + normal = np.broadcast_to(normal,o.shape+(3,)) + slip_direction = np.broadcast_to(slip_direction,o.shape+slip_direction.shape) + slip_normal = np.broadcast_to(slip_normal, o.shape+slip_normal.shape) + S = np.abs(np.einsum('ijk,ik->ij',slip_direction,(o@force))* + np.einsum('ijk,ik->ij',slip_normal, (o@normal))) - column = table.label_index(options.quaternion) + for i,label in enumerate(labels): + table.add(label,S[:,i],scriptID+' '+' '.join(sys.argv[1:])) -# ------------------------------------------ assemble header --------------------------------------- - - table.info_append(scriptID + '\t' + ' '.join(sys.argv[1:])) - table.labels_append(['S[{direction[0]:.1g}_{direction[1]:.1g}_{direction[2]:.1g}]' - '({normal[0]:.1g}_{normal[1]:.1g}_{normal[2]:.1g})'\ - .format(normal = theNormal, - direction = theDirection, - ) for theNormal,theDirection in zip(slip_normal,slip_direction)]) - table.head_write() - -# ------------------------------------------ process data ------------------------------------------ - - outputAlive = True - while outputAlive and table.data_read(): # read next data line of ASCII table - o = damask.Rotation(np.array(list(map(float,table.data[column:column+4])))) - - table.data_append( np.abs( np.sum(slip_direction * (o * force) ,axis=1) \ - * np.sum(slip_normal * (o * normal),axis=1))) - outputAlive = table.data_write() # output processed line - -# ------------------------------------------ output finalization ----------------------------------- - - table.close() # close ASCII tables + table.to_ASCII(sys.stdout if name is None else name) From 72fdb639f085a7a576601580c2203eee14ea7292 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 21 May 2020 20:41:40 +0200 Subject: [PATCH 077/958] YAML parser --- src/CPFEM.f90 | 2 + src/CPFEM2.f90 | 2 + src/YAML_parse.f90 | 631 +++++++++++++++++++++++++++++++++ src/commercialFEM_fileList.f90 | 1 + 4 files changed, 636 insertions(+) create mode 100644 src/YAML_parse.f90 diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 48d6ae68a..7791d2b12 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -11,6 +11,7 @@ module CPFEM use math use rotations use YAML_types + use YAML_parse use discretization_marc use material use config @@ -84,6 +85,7 @@ subroutine CPFEM_initAll(el,ip) call math_init call rotations_init call YAML_types_init + call YAML_init call HDF5_utilities_init call results_init(.false.) call discretization_marc_init(ip, el) diff --git a/src/CPFEM2.f90 b/src/CPFEM2.f90 index ee27a3ca1..027c6dfad 100644 --- a/src/CPFEM2.f90 +++ b/src/CPFEM2.f90 @@ -12,6 +12,7 @@ module CPFEM2 use math use rotations use YAML_types + use YAML_parse use material use lattice use IO @@ -52,6 +53,7 @@ subroutine CPFEM_initAll call math_init call rotations_init call YAML_types_init + call YAML_init call lattice_init call HDF5_utilities_init call results_init(restart=interface_restartInc>0) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 new file mode 100644 index 000000000..429eb6e62 --- /dev/null +++ b/src/YAML_parse.f90 @@ -0,0 +1,631 @@ +module YAML_parse + + use prec + use IO + use YAML_types + + implicit none + private + public :: YAML_init + public :: parse_flow,to_flow + +contains + + +subroutine YAML_init + + call selfTest + +end subroutine YAML_init + +!-------------------------------------------------------------------------------------------------- +!> @brief reads the flow style string and stores it in the form of dictionaries, lists and scalars. +!> @details A node type pointer can either point to a dictionary, list or scalar type entities. +!-------------------------------------------------------------------------------------------------- +recursive function parse_flow(flow_string) result(node) + + character(len=*), intent(inout) :: flow_string + class (tNode), pointer :: node + + class (tNode), pointer :: myVal + character(len=pStringLen) :: key + + integer :: e, & !> end position of dictionary or list + s, & !> start position of dictionary or list + d !> position of key: value separator (':') + + flow_string = trim(adjustl(flow_string(:))) + if (flow_string(1:1) == '{') then ! start of a dictionary + e = 1 + allocate(tDict::node) + do while (e < len_trim(flow_string)) + s = e + d = s + scan(flow_string(s+1:),':') + e = d + find_end(flow_string(d+1:),'}') + + key = trim(adjustl(flow_string(s+1:d-1))) + myVal => parse_flow(flow_string(d+1:e-1)) ! parse items (recursively) + + select type (node) + class is (tDict) + call node%set(key,myVal) + end select + end do + + elseif (flow_string(1:1) == '[') then ! start of a list + e = 1 + allocate(tList::node) + do while (e < len_trim(flow_string)) + s = e + e = s + find_end(flow_string(s+1:),']') + myVal => parse_flow(flow_string(s+1:e-1)) ! parse items (recursively) + + select type (node) + class is (tList) + call node%append(myVal) + end select + end do + + else ! scalar value + allocate(tScalar::node) + select type (node) + class is (tScalar) + node = trim(adjustl(flow_string)) + end select + endif + +end function parse_flow + + +!-------------------------------------------------------------------------------------------------- +!> @brief finds location of chunk end: ',' or '}' or ']' +!> @details leaves nested lists ( '[...]' and dicts '{...}') intact +!-------------------------------------------------------------------------------------------------- +integer function find_end(str,e_char) + + character(len=*), intent(in) :: str + character, intent(in) :: e_char !< end of list/dict ( '}' or ']') + + integer :: N_sq, & !< number of open square brackets + N_cu, & !< number of open curly brackets + i + + N_sq = 0 + N_cu = 0 + do i = 1, len_trim(str) + if (N_sq==0 .and. N_cu==0 .and. scan(str(i:i),e_char//',') == 1) exit + N_sq = N_sq + merge(1,0,str(i:i) == '[') + N_cu = N_cu + merge(1,0,str(i:i) == '{') + N_sq = N_sq - merge(1,0,str(i:i) == ']') + N_cu = N_cu - merge(1,0,str(i:i) == '}') + enddo + find_end = i + +end function find_end + + +!-------------------------------------------------------------------------------------------------- +! @brief Returns Indentation. +! @details It determines the indentation level for a given block/line. +! In cases for nested lists, an offset is added to determine the indent of the item block (skip +! leading dashes) +!-------------------------------------------------------------------------------------------------- +integer function indentDepth(line,offset) + + character(len=*), intent(in) :: line + integer, optional,intent(in) :: offset + + indentDepth = verify(line,IO_WHITESPACE) -1 + if(present(offset)) indentDepth = indentDepth + offset + +end function indentDepth + + +!-------------------------------------------------------------------------------------------------- +! @brief check whether a string is in flow style, i.e. starts with '{' or '[' +!-------------------------------------------------------------------------------------------------- +logical function isFlow(line) + + character(len=*), intent(in) :: line + + isFlow = index(adjustl(line),'[') == 1 .or. index(adjustl(line),'{') == 1 + +end function isFlow + + +!-------------------------------------------------------------------------------------------------- +! @brief check whether a string is a scalar item, i.e. starts without any special symbols +!-------------------------------------------------------------------------------------------------- +logical function isScalar(line) + + character(len=*), intent(in) :: line + + isScalar = (.not.isKeyValue(line) .and. .not.isKey(line) .and. .not.isListItem(line) & + .and. .not.isFlow(line)) + +end function isScalar + + +!-------------------------------------------------------------------------------------------------- +! @brief check whether a string is a list item, i.e. starts with '-' +!-------------------------------------------------------------------------------------------------- +logical function isListItem(line) + + character(len=*), intent(in) :: line + + isListItem = index(adjustl(line),'-') == 1 + +end function isListItem + + +!-------------------------------------------------------------------------------------------------- +! @brief check whether a string contains a key value pair of the for ': ' +!-------------------------------------------------------------------------------------------------- +logical function isKeyValue(line) + + character(len=*), intent(in) :: line + isKeyValue = .false. + + if( .not. isKey(line) .and. index(IO_rmComment(line),':') > 0 .and. .not. isFlow(line)) then + if(index(IO_rmComment(line),': ') > 0) then + isKeyValue = .true. + else + call IO_error(704,ext_msg=line) + endif + endif + +end function isKeyValue + + +!-------------------------------------------------------------------------------------------------- +! @brief check whether a string contains a key without a value, i.e. it ends with ':' +! ToDo: check whether this is safe for trailing spaces followed by a new line character +!-------------------------------------------------------------------------------------------------- +logical function isKey(line) + + character(len=*), intent(in) :: line + + if(len(IO_rmComment(line)) == 0) then + isKey = .false. + else + isKey = IO_rmComment(line(len(IO_rmComment(line)):len(IO_rmComment(line)))) == ':' .and. .not. isFlow(line) + endif + +end function isKey + + +!-------------------------------------------------------------------------------------------------- +! @brief reads a line of YAML block which is already in flow style +! @details Dicts should be enlcosed within '{}' for it to be consistent with DAMASK YAML parser +!-------------------------------------------------------------------------------------------------- +recursive subroutine line_isFlow(flow,s_flow,line) + + character(len=*), intent(inout) :: flow !< YAML in flow style only + integer, intent(inout) :: s_flow !< start position in flow + character(len=*), intent(in) :: line + + integer :: & + s, & + list_chunk, & + dict_chunk + + if(index(adjustl(line),'[') == 1) then + s = index(line,'[') + flow(s_flow:s_flow) = '[' + s_flow = s_flow +1 + do while(s < len_trim(line)) + list_chunk = s + find_end(line(s+1:),']') + if(iskeyValue(line(s+1:list_chunk-1))) then + flow(s_flow:s_flow) = '{' + s_flow = s_flow +1 + call keyValue_toFlow(flow,s_flow,line(s+1:list_chunk-1)) + flow(s_flow:s_flow) = '}' + s_flow = s_flow +1 + elseif(isFlow(line(s+1:list_chunk-1))) then + call line_isFlow(flow,s_flow,line(s+1:list_chunk-1)) + else + call line_toFlow(flow,s_flow,line(s+1:list_chunk-1)) + endif + flow(s_flow:s_flow+1) = ', ' + s_flow = s_flow +2 + s = s + find_end(line(s+1:),']') + enddo + s_flow = s_flow - 1 + if (flow(s_flow-1:s_flow-1) == ',') s_flow = s_flow - 1 + flow(s_flow:s_flow) = ']' + s_flow = s_flow+1 + + elseif(index(adjustl(line),'{') == 1) then + s = index(line,'{') + flow(s_flow:s_flow) = '{' + s_flow = s_flow +1 + do while(s < len_trim(line)) + dict_chunk = s + find_end(line(s+1:),'}') + if( .not. iskeyValue(line(s+1:dict_chunk-1))) call IO_error(705,ext_msg=line) + call keyValue_toFlow(flow,s_flow,line(s+1:dict_chunk-1)) + flow(s_flow:s_flow+1) = ', ' + s_flow = s_flow +2 + s = s + find_end(line(s+1:),'}') + enddo + s_flow = s_flow -1 + if(flow(s_flow-1:s_flow-1) == ',') s_flow = s_flow -1 + flow(s_flow:s_flow) = '}' + s_flow = s_flow +1 + else + call line_toFlow(flow,s_flow,line) + endif + +end subroutine line_isFlow + + +!------------------------------------------------------------------------------------------------- +! @brief reads a line of YAML block of type : and places it in the YAML flow style structure +! @details Makes sure that the is consistent with the input required in DAMASK YAML parser +!------------------------------------------------------------------------------------------------- +recursive subroutine keyValue_toFlow(flow,s_flow,line) + + character(len=*), intent(inout) :: flow !< YAML in flow style only + integer, intent(inout) :: s_flow !< start position in flow + character(len=*), intent(in) :: line + + character(len=:), allocatable :: line_asStandard ! standard form of : + integer :: & + d_flow, & + col_pos, & + offset_value + + col_pos = index(line,':') + if(isFlow(line(col_pos+1:))) then + d_flow = len_trim(adjustl(line(:col_pos))) + flow(s_flow:s_flow+d_flow+1) = trim(adjustl(line(:col_pos)))//' ' + s_flow = s_flow + d_flow+1 + call line_isFlow(flow,s_flow,line(col_pos+1:)) + else + offset_value = indentDepth(line(col_pos+2:)) + line_asStandard = line(:col_pos+1)//line(col_pos+2+offset_value:) + call line_toFlow(flow,s_flow,line_asStandard) + endif + +end subroutine keyValue_toFlow + + +!------------------------------------------------------------------------------------------------- +! @brief reads a line of YAML block and places it in the YAML flow style structure +!------------------------------------------------------------------------------------------------- +subroutine line_toFlow(flow,s_flow,line) + + character(len=*), intent(inout) :: flow !< YAML in flow style only + integer, intent(inout) :: s_flow !< start position in flow + character(len=*), intent(in) :: line + + integer :: & + d_flow + + d_flow = len_trim(adjustl(line)) + flow(s_flow:s_flow+d_flow) = trim(adjustl(line)) + s_flow = s_flow + d_flow + +end subroutine line_toFlow + + +!------------------------------------------------------------------------------------------------- +! @brief convert a yaml list in block style to a yaml list in flow style +! @details enters the function when encountered with the list indicator '- ' +! reads each scalar list item and separates each other with a ',' +! If list item is non scalar, it stores the offset for that list item block +! Increase in the indentation level or when list item is not scalar -> 'decide' function is called. +! decrease in indentation level indicates the end of an indentation block +!------------------------------------------------------------------------------------------------- +recursive subroutine lst(blck,flow,s_blck,s_flow,offset) + + character(len=*), intent(in) :: blck !< YAML in mixed style + character(len=*), intent(inout) :: flow !< YAML in flow style only + integer, intent(inout) :: s_blck, & !< start position in blck + s_flow, & !< start position in flow + offset !< stores leading '- ' in nested lists + character(len=pStringLen) :: line + integer :: e_blck,indent + + indent = indentDepth(blck(s_blck:),offset) + do while (s_blck <= len_trim(blck)) + e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 + line = IO_rmComment(blck(s_blck:e_blck)) + if (len_trim(line) == 0) then + s_blck = e_blck + 2 ! forward to next line + cycle + elseif(indentDepth(line,offset) > indent) then + call decide(blck,flow,s_blck,s_flow,offset) + offset = 0 + flow(s_flow:s_flow+1) = ', ' + s_flow = s_flow + 2 + elseif(indentDepth(line,offset) < indent .or. .not. isListItem(line)) then + offset = 0 + exit ! job done (lower level) + else + if(trim(adjustl(line)) == '-') then ! list item in next line + s_blck = e_blck + 2 + e_blck = e_blck + index(blck(e_blck+2:),IO_EOL) + line = IO_rmComment(blck(s_blck:e_blck)) + if(indentDepth(line) < indent .or. indentDepth(line) == indent) & + call IO_error(701,ext_msg=line) + + if(isScalar(line)) then + call line_toFlow(flow,s_flow,line) + s_blck = e_blck +2 + offset = 0 + elseif(isFlow(line)) then + call line_isFlow(flow,s_flow,line) + s_blck = e_blck +2 + offset = 0 + endif + else ! list item in the same line + if(line(indentDepth(line)+2:indentDepth(line)+2) /= ' ') & + call IO_error(703,ext_msg=line) + line = line(indentDepth(line)+3:) + if(isScalar(line)) then + call line_toFlow(flow,s_flow,line) + s_blck = e_blck +2 + offset = 0 + elseif(isFlow(line)) then + call line_isFlow(flow,s_flow,line) + s_blck = e_blck +2 + offset = 0 + else ! non scalar list item + offset = offset + indentDepth(blck(s_blck:))+1 ! offset in spaces to be ignored + s_blck = s_blck + index(blck(s_blck:e_blck),'-') ! s_blck after '-' symbol + endif + end if + end if + + if(isScalar(line) .or. isFlow(line)) then + flow(s_flow:s_flow+1) = ', ' + s_flow = s_flow +2 + endif + + end do + + s_flow = s_flow - 1 + if (flow(s_flow-1:s_flow-1) == ',') s_flow = s_flow - 1 + +end subroutine lst + + +!-------------------------------------------------------------------------------------------------- +! @brief convert a yaml dict in block style to a yaml dict in flow style +! @details enters the function when encountered with the dictionary indicator ':' +! parses each line in the block and compares indentation of a line with the preceding line +! upon increase in indentation level -> 'decide' function decides if the line is a list or dict +! decrease in indentation indicates the end of an indentation block +!-------------------------------------------------------------------------------------------------- +recursive subroutine dct(blck,flow,s_blck,s_flow,offset) + + character(len=*), intent(in) :: blck !< YAML in mixed style + character(len=*), intent(inout) :: flow !< YAML in flow style only + integer, intent(inout) :: s_blck, & !< start position in blck + s_flow, & !< start position in flow + offset + + character(len=pStringLen) :: line + integer :: e_blck,indent + logical :: previous_isKey + + previous_isKey = .false. + + indent = indentDepth(blck(s_blck:),offset) + + do while (s_blck <= len_trim(blck)) + e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 + line = IO_rmComment(blck(s_blck:e_blck)) + if (len_trim(line) == 0) then + s_blck = e_blck + 2 ! forward to next line + cycle + elseif(indentDepth(line,offset) < indent) then + if(isScalar(line) .or. isFlow(line) .and. previous_isKey) & + call IO_error(701,ext_msg=line) + offset = 0 + exit ! job done (lower level) + elseif(indentDepth(line,offset) > indent .or. isListItem(line)) then + offset = 0 + call decide(blck,flow,s_blck,s_flow,offset) + else + if(isScalar(line)) call IO_error(701,ext_msg=line) + if(isFlow(line)) call IO_error(702,ext_msg=line) + + line = line(indentDepth(line)+1:) + if(previous_isKey) then + flow(s_flow-1:s_flow) = ', ' + s_flow = s_flow + 1 + endif + + if(isKeyValue(line)) then + call keyValue_toFlow(flow,s_flow,line) + else + call line_toFlow(flow,s_flow,line) + endif + + s_blck = e_blck +2 + end if + + if(isScalar(line) .or. isKeyValue(line)) then + flow(s_flow:s_flow) = ',' + s_flow = s_flow + 1 + previous_isKey = .false. + else + previous_isKey = .true. + endif + + flow(s_flow:s_flow) = ' ' + s_flow = s_flow + 1 + offset = 0 + end do + + s_flow = s_flow - 1 + if (flow(s_flow-1:s_flow-1) == ',') s_flow = s_flow - 1 + +end subroutine dct + + +!-------------------------------------------------------------------------------------------------- +! @brief decide whether next block is list or dict +!-------------------------------------------------------------------------------------------------- +recursive subroutine decide(blck,flow,s_blck,s_flow,offset) + + character(len=*), intent(in) :: blck !< YAML in mixed style + character(len=*), intent(inout) :: flow !< YAML in flow style only + integer, intent(inout) :: s_blck, & !< start position in blck + s_flow, & !< start position in flow + offset + integer :: e_blck + character(len=pStringLen) :: line + + if(s_blck <= len(blck)) then + e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 + line = IO_rmComment(blck(s_blck:e_blck)) + + ! exit here if '---' is found + if (isListItem(line)) then + flow(s_flow:s_flow) = '[' + s_flow = s_flow + 1 + call lst(blck,flow,s_blck,s_flow,offset) + flow(s_flow:s_flow) = ']' + s_flow = s_flow + 1 + elseif(isKey(line) .or. isKeyValue(line)) then + flow(s_flow:s_flow) = '{' + s_flow = s_flow + 1 + call dct(blck,flow,s_blck,s_flow,offset) + flow(s_flow:s_flow) = '}' + s_flow = s_flow + 1 + elseif(isFlow(line)) then + call line_isFlow(flow,s_flow,line) + s_blck = e_blck +2 + else + line = line(indentDepth(line)+1:) + call line_toFlow(flow,s_flow,line) + s_blck = e_blck +2 + endif + endif + +end subroutine + + +!-------------------------------------------------------------------------------------------------- +! @brief convert all block style YAML parts to flow style +!-------------------------------------------------------------------------------------------------- +function to_flow(blck) + + character(len=:), allocatable :: to_flow + character(len=*), intent(in) :: blck !< YAML mixed style + integer :: s_blck, & !< start position in blck + s_flow, & !< start position in flow + offset, & !< counts leading '- ' in nested lists + end_line + if(isFlow(blck)) then + to_flow = trim(adjustl(blck)) + else + allocate(character(len=len(blck)*2)::to_flow) + ! move forward here (skip empty lines) and remove '----' if found + s_flow = 1 + s_blck = 1 + offset = 0 + call decide(blck,to_flow,s_blck,s_flow,offset) + to_flow = trim(to_flow(:s_flow-1)) + endif + end_line = index(to_flow,new_line('')) + if(end_line > 0) to_flow = to_flow(:end_line-1) + +end function to_flow + +!-------------------------------------------------------------------------------------------------- +subroutine selfTest() + + if (indentDepth(' a') /= 1) call IO_error(0,ext_msg='indentDepth') + if (indentDepth('a') /= 0) call IO_error(0,ext_msg='indentDepth') + if (indentDepth('x ') /= 0) call IO_error(0,ext_msg='indentDepth') + + if ( isFlow(' a')) call IO_error(0,ext_msg='isFLow') + if (.not. isFlow('{')) call IO_error(0,ext_msg='isFlow') + if (.not. isFlow(' [')) call IO_error(0,ext_msg='isFlow') + + if ( isListItem(' a')) call IO_error(0,ext_msg='isListItem') + if (.not. isListItem('- a ')) call IO_error(0,ext_msg='isListItem') + if (.not. isListItem(' -b')) call IO_error(0,ext_msg='isListItem') + + if ( isKeyValue(' a')) call IO_error(0,ext_msg='isKeyValue') + if ( isKeyValue(' a: ')) call IO_error(0,ext_msg='isKeyValue') + if (.not. isKeyValue(' a: b')) call IO_error(0,ext_msg='isKeyValue') + + if ( isKey(' a')) call IO_error(0,ext_msg='isKey') + if ( isKey('{a:b}')) call IO_error(0,ext_msg='isKey') + if ( isKey(' a:b')) call IO_error(0,ext_msg='isKey') + if (.not. isKey(' a: ')) call IO_error(0,ext_msg='isKey') + if (.not. isKey(' a:')) call IO_error(0,ext_msg='isKey') + if (.not. isKey(' a: #')) call IO_error(0,ext_msg='isKey') + + if( isScalar('a: ')) call IO_error(0,ext_msg='isScalar') + if( isScalar('a: b')) call IO_error(0,ext_msg='isScalar') + if( isScalar('{a:b}')) call IO_error(0,ext_msg='isScalar') + if( isScalar('- a:')) call IO_error(0,ext_msg='isScalar') + if(.not. isScalar(' a')) call IO_error(0,ext_msg='isScalar') + + !ToDo :some more advanced tests? + basic_list: block + character(len=*), parameter :: block_list = & + " - Casablanca"//IO_EOL//& + " - North by Northwest"//IO_EOL + character(len=*), parameter :: block_list_newline = & + " -"//IO_EOL//& + " Casablanca"//IO_EOL//& + " -"//IO_EOL//& + " North by Northwest"//IO_EOL + character(len=*), parameter :: flow_list = & + "[Casablanca, North by Northwest]" + + if (.not. to_flow(block_list) == flow_list) call IO_error(0,ext_msg='to_flow') + if (.not. to_flow(block_list_newline) == flow_list) call IO_error(0,ext_msg='to_flow') + end block basic_list + + basic_dict: block + character(len=*), parameter :: block_dict = & + " aa: Casablanca"//IO_EOL//& + " bb: North by Northwest"//IO_EOL + character(len=*), parameter :: block_dict_newline = & + " aa:"//IO_EOL//& + " Casablanca"//IO_EOL//& + " bb:"//IO_EOL//& + " North by Northwest"//IO_EOL + character(len=*), parameter :: flow_dict = & + "{aa: Casablanca, bb: North by Northwest}" + + if (.not. to_flow(block_dict) == flow_dict) call IO_error(0,ext_msg='to_flow') + if (.not. to_flow(block_dict_newline) == flow_dict) call IO_error(0,ext_msg='to_flow') + end block basic_dict + + basic_flow: block + character(len=*), parameter :: flow_braces = & + " source: [{param: 1}, {param: 2}, {param: 3}, {param: 4}]"//IO_EOL + character(len=*), parameter :: flow_mixed_braces = & + " source: [param: 1, {param: 2}, param: 3, {param: 4}]"//IO_EOL + character(len=*), parameter :: flow = & + "{source: [{param: 1}, {param: 2}, {param: 3}, {param: 4}]}" + + if (.not. to_flow(flow_braces) == flow) call IO_error(0,ext_msg='to_flow') + if (.not. to_flow(flow_mixed_braces) == flow) call IO_error(0,ext_msg='to_flow') + end block basic_flow + + basic_mixed: block + character(len=*), parameter :: block_flow = & + " aa:"//IO_EOL//& + " - "//IO_EOL//& + " param_1: [a: b, c, {d: {e: [f: g, h]}}]"//IO_EOL//& + " - c: d"//IO_EOL//& + " bb:"//IO_EOL//& + " - {param_1: [{a: b}, c, {d: {e: [{f: g}, h]}}]}"//IO_EOL + character(len=*), parameter :: mixed_flow = & + "{aa: [{param_1: [{a: b}, c, {d: {e: [{f: g}, h]}}]}, {c: d}], bb: [{param_1: [{a: b}, c, {d: {e: [{f: g}, h]}}]}]}" + + if(.not. to_flow(block_flow) == mixed_flow) call IO_error(0,ext_msg='to_flow') + end block basic_mixed + +end subroutine selfTest + +end module YAML_parse diff --git a/src/commercialFEM_fileList.f90 b/src/commercialFEM_fileList.f90 index f8a5ad96a..346970b49 100644 --- a/src/commercialFEM_fileList.f90 +++ b/src/commercialFEM_fileList.f90 @@ -8,6 +8,7 @@ #include "debug.f90" #include "list.f90" #include "YAML_types.f90" +#include "YAML_parse.f90" #include "future.f90" #include "config.f90" #include "LAPACK_interface.f90" From 873cb80edd2d6752ff7c87efcfb3e5330806a406 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 21 May 2020 20:52:15 +0200 Subject: [PATCH 078/958] access issue resolved --- src/YAML_types.f90 | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/YAML_types.f90 b/src/YAML_types.f90 index 0282fcb98..ddbc6f531 100644 --- a/src/YAML_types.f90 +++ b/src/YAML_types.f90 @@ -16,14 +16,7 @@ module YAML_types private - public :: & - tNode, & - tScalar, & - tDict, & - tList, & - YAML_types_init - - type, abstract :: tNode + type, abstract, public :: tNode integer :: length = 0 contains procedure(asFormattedString), deferred :: asFormattedString @@ -102,7 +95,7 @@ module YAML_types end type tNode - type, extends(tNode) :: tScalar + type, extends(tNode), public :: tScalar character(len=:), allocatable, private :: value @@ -118,7 +111,7 @@ module YAML_types asString => tScalar_asString end type tScalar - type, extends(tNode) :: tList + type, extends(tNode), public :: tList class(tItem), pointer :: first => null() @@ -136,7 +129,7 @@ module YAML_types final :: tList_finalize end type tList - type, extends(tList) :: tDict + type, extends(tList), public :: tDict contains procedure :: asFormattedString => tDict_asFormattedString procedure :: set => tDict_set @@ -171,6 +164,10 @@ module YAML_types module procedure tScalar_assign__ end interface assignment (=) + public :: & + YAML_types_init, & + assignment(=) + contains !-------------------------------------------------------------------------------------------------- From 677e0819377ed1b1b938f7ae48472c9772b26bca Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 21 May 2020 21:03:39 +0200 Subject: [PATCH 079/958] YAML related errors --- src/IO.f90 | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/IO.f90 b/src/IO.f90 index c49ca66d0..2f06dc614 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -536,6 +536,19 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) case (602) msg = 'invalid selection for debug' +!------------------------------------------------------------------------------------------------ +! errors related to YAML input files + case (701) + msg = 'Incorrect indent/Null value not allowed' + case (702) + msg = 'Invalid use of flow yaml' + case (703) + msg = 'Space expected after a list indicator - ' + case (704) + msg = 'Space expected after a colon for : pair' + case (705) + msg = 'Unsupported feature' + !------------------------------------------------------------------------------------------------- ! errors related to the grid solver case (809) From b33de48528079df9424266477b42ff0b57d59f04 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 22 May 2020 15:12:37 +0200 Subject: [PATCH 080/958] testing broadcasting --- python/damask/_rotation.py | 10 +++++----- python/tests/test_Rotation.py | 10 ++++++++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 387ee84cb..d639cb0e0 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -160,10 +160,10 @@ class Rotation: if self.shape == (): q = np.broadcast_to(self.quaternion,shape+(4,)) else: - q = np.block([np.broadcast_to(self.quaternion[...,0:1],shape+(1,)), - np.broadcast_to(self.quaternion[...,1:2],shape+(1,)), - np.broadcast_to(self.quaternion[...,2:3],shape+(1,)), - np.broadcast_to(self.quaternion[...,3:4],shape+(1,))]) + q = np.block([np.broadcast_to(self.quaternion[...,0:1],shape), + np.broadcast_to(self.quaternion[...,1:2],shape), + np.broadcast_to(self.quaternion[...,2:3],shape), + np.broadcast_to(self.quaternion[...,3:4],shape)]).reshape(shape+(4,)) return self.__class__(q) @@ -537,7 +537,7 @@ class Rotation: ) # reduce Euler angles to definition range eu[np.abs(eu)<1.e-6] = 0.0 - eu = np.where(eu<0, (eu+2.0*np.pi)%np.array([2.0*np.pi,np.pi,2.0*np.pi]),eu) + eu = np.where(eu<0, (eu+2.0*np.pi)%np.array([2.0*np.pi,np.pi,2.0*np.pi]),eu) # needed? return eu @staticmethod diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index a9768afb8..5acbca6f1 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -866,6 +866,16 @@ class TestRotation: with pytest.raises(ValueError): function(invalid_shape) + @pytest.mark.parametrize('shape',[None,(3,),(4,2)]) + def test_broadcast(self,shape): + rot = Rotation.from_random(shape) + new_shape = tuple(np.random.randint(8,32,(3))) if shape is None else \ + rot.shape + (np.random.randint(8,32),) + rot_broadcast = rot.broadcast_to(tuple(new_shape)) + for i in range(rot_broadcast.shape[-1]): + assert (rot_broadcast.quaternion[...,i,:], rot.quaternion) + + @pytest.mark.parametrize('function,invalid',[(Rotation.from_quaternion, np.array([-1,0,0,0])), (Rotation.from_quaternion, np.array([1,1,1,0])), (Rotation.from_Eulers, np.array([1,4,0])), From 11eda510aae68ea236a834376246542296c5219f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 22 May 2020 18:45:27 +0200 Subject: [PATCH 081/958] testing functionality of Lattice separately --- python/tests/test_Lattice.py | 41 ++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 python/tests/test_Lattice.py diff --git a/python/tests/test_Lattice.py b/python/tests/test_Lattice.py new file mode 100644 index 000000000..73f1b58dd --- /dev/null +++ b/python/tests/test_Lattice.py @@ -0,0 +1,41 @@ +import random + +import pytest +import numpy as np + +from damask import Symmetry +from damask import Lattice + +class TestSymmetry: + + @pytest.mark.parametrize('invalid_symmetry',['fcc','bcc','hello']) + def test_invalid(self,invalid_symmetry): + with pytest.raises(KeyError): + s = Symmetry(invalid_symmetry) + + def test_equal(self): + symmetry = random.choice(Symmetry.lattices) + assert Symmetry(symmetry) == Symmetry(symmetry) + + def test_not_equal(self): + symmetries = random.sample(Symmetry.lattices,k=2) + assert Symmetry(symmetries[0]) != Symmetry(symmetries[1]) + + @pytest.mark.parametrize('lattice',Symmetry.lattices) + def test_inFZ(self,lattice): + assert Symmetry(lattice).inFZ(np.zeros(3)) + + @pytest.mark.parametrize('lattice',Symmetry.lattices) + def test_inDisorientationSST(self,lattice): + assert Symmetry(lattice).inDisorientationSST(np.zeros(3)) + + @pytest.mark.parametrize('lattice',Symmetry.lattices) + @pytest.mark.parametrize('proper',[True,False]) + def test_inSST(self,lattice,proper): + assert Symmetry(lattice).inSST(np.zeros(3),proper) + + @pytest.mark.parametrize('function',['inFZ','inDisorientationSST']) + def test_invalid(self,function): + s = Symmetry() + with pytest.raises(ValueError): + eval('s.{}(np.ones(4))'.format(function)) From 7bd681a5edce04b60dc8f46f0a3a2e43dc5a9b5d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 22 May 2020 19:04:02 +0200 Subject: [PATCH 082/958] very simple test --- python/damask/_result.py | 2 +- python/tests/test_Result.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 5a22c7977..b45d4d4e6 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1041,7 +1041,7 @@ class Result: pool.join() - def write_XMDF(self): + def write_XDMF(self): """ Write XDMF file to directly visualize data in DADF5 file. diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index c117f33f7..23db48745 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -185,3 +185,7 @@ class TestResult: in_memory = mechanics.left_stretch(default.read_dataset(loc['F'],0)) in_file = default.read_dataset(loc['V(F)'],0) assert np.allclose(in_memory,in_file) + + @pytest.mark.parametrize('output',['F',[],['F','P']]) + def test_vtk(self,default,output): + default.to_vtk(output) From b8e83cd26363bc0f93d976804af76f158f6ff7e8 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 22 May 2020 20:42:13 +0200 Subject: [PATCH 083/958] do not overwrite --- python/tests/test_Lattice.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/tests/test_Lattice.py b/python/tests/test_Lattice.py index 73f1b58dd..e99b2b961 100644 --- a/python/tests/test_Lattice.py +++ b/python/tests/test_Lattice.py @@ -9,7 +9,7 @@ from damask import Lattice class TestSymmetry: @pytest.mark.parametrize('invalid_symmetry',['fcc','bcc','hello']) - def test_invalid(self,invalid_symmetry): + def test_invalid_symmetry(self,invalid_symmetry): with pytest.raises(KeyError): s = Symmetry(invalid_symmetry) @@ -35,7 +35,7 @@ class TestSymmetry: assert Symmetry(lattice).inSST(np.zeros(3),proper) @pytest.mark.parametrize('function',['inFZ','inDisorientationSST']) - def test_invalid(self,function): + def test_invalid_argument(self,function): s = Symmetry() with pytest.raises(ValueError): eval('s.{}(np.ones(4))'.format(function)) From e2cf527dfb1cff56f0a1a5f57bb1b0b4aa14222e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 23 May 2020 08:19:08 +0200 Subject: [PATCH 084/958] add missing test --- python/tests/test_Result.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 23db48745..f431e693f 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -4,6 +4,7 @@ import os import pytest import numpy as np +import damask from damask import Result from damask import mechanics @@ -13,7 +14,7 @@ def default(tmp_path,reference_dir): fname = '12grains6x7x8_tensionY.hdf5' shutil.copy(os.path.join(reference_dir,fname),tmp_path) f = Result(os.path.join(tmp_path,fname)) - f.set_by_time(20.0,20.0) + f.pick('times',20.0) return f @pytest.fixture @@ -143,6 +144,20 @@ class TestResult: in_file = default.read_dataset(loc['S'],0) assert np.allclose(in_memory,in_file) + @pytest.mark.parametrize('polar',[True,False]) + def test_add_pole(self,default,polar): + pole = np.array([1.,0.,0.]) + default.add_pole('orientation',pole,polar) + loc = {'orientation': default.get_dataset_location('orientation'), + 'pole': default.get_dataset_location('p^{}_[1 0 0)'.format(u'rφ' if polar else 'xy'))} + rot = damask.Rotation(default.read_dataset(loc['orientation']).view(np.double)) + rotated_pole = rot * np.broadcast_to(pole,rot.shape+(3,)) + xy = rotated_pole[:,0:2]/(1.+abs(pole[2])) + in_memory = xy if not polar else \ + np.block([np.sqrt(xy[:,0:1]*xy[:,0:1]+xy[:,1:2]*xy[:,1:2]),np.arctan2(xy[:,1:2],xy[:,0:1])]) + in_file = default.read_dataset(loc['pole']) + assert np.allclose(in_memory,in_file) + def test_add_rotational_part(self,default): default.add_rotational_part('F') loc = {'F': default.get_dataset_location('F'), From 0549e33a0035e7b4aaf08daaae06777d1fc11c41 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 23 May 2020 08:38:57 +0200 Subject: [PATCH 085/958] vectorized/fast --- python/damask/_result.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index b45d4d4e6..3921cbf49 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -832,14 +832,12 @@ class Result: pole = np.array(p) unit_pole = pole/np.linalg.norm(pole) m = util.scale_to_coprime(pole) - coords = np.empty((len(q['data']),2)) - - for i,qu in enumerate(q['data']): - o = Rotation(np.array([qu['w'],qu['x'],qu['y'],qu['z']])) - rotatedPole = o*unit_pole # rotate pole according to crystal orientation - (x,y) = rotatedPole[0:2]/(1.+abs(unit_pole[2])) # stereographic projection - coords[i] = [np.sqrt(x*x+y*y),np.arctan2(y,x)] if polar else [x,y] + rot = Rotation(q['data'].view(np.double).reshape(-1,4)) + rotatedPole = rot @ np.broadcast_to(unit_pole,rot.shape+(3,)) # rotate pole according to crystal orientation + xy = rotatedPole[:,0:2]/(1.+abs(unit_pole[2])) # stereographic projection + coords = xy if not polar else \ + np.block([np.sqrt(xy[:,0:1]*xy[:,0:1]+xy[:,1:2]*xy[:,1:2]),np.arctan2(xy[:,1:2],xy[:,0:1])]) return { 'data': coords, 'label': 'p^{}_[{} {} {})'.format(u'rφ' if polar else 'xy',*m), From 8a848979aa9ede6f4c959307cb5c981f1c043a6d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 23 May 2020 09:13:45 +0200 Subject: [PATCH 086/958] missing test for IPF color --- python/tests/test_Result.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index f431e693f..312fa205b 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -96,6 +96,20 @@ class TestResult: in_file = default.read_dataset(loc['v(sigma)'],0) assert np.allclose(in_memory,in_file) + @pytest.mark.parametrize('d',[[1,0,0],[0,1,0],[0,0,1]]) + def test_add_IPFcolor(self,default,d): + default.add_IPFcolor('orientation',d) + loc = {'orientation': default.get_dataset_location('orientation'), + 'color': default.get_dataset_location('IPFcolor_[{} {} {}]'.format(*d))} + qu = default.read_dataset(loc['orientation']).view(np.double).reshape(-1,4) + crystal_structure = default.get_crystal_structure() + in_memory = np.empty((qu.shape[0],3),np.uint8) + for i,q in enumerate(qu): + o = damask.Orientation(q,crystal_structure).reduced() + in_memory[i] = np.uint8(o.IPFcolor(np.array(d))*255) + in_file = default.read_dataset(loc['color']) + assert np.allclose(in_memory,in_file) + def test_add_maximum_shear(self,default): default.add_Cauchy('P','F') default.add_maximum_shear('sigma') From 82419f8649bbc891a5fe80e3234b12c04324db80 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 23 May 2020 10:38:25 +0200 Subject: [PATCH 087/958] testing selection --- python/tests/test_Result.py | 55 +++++++++++++++++++++++++++++++++---- 1 file changed, 50 insertions(+), 5 deletions(-) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 312fa205b..76dc1c8ef 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -29,11 +29,56 @@ class TestResult: print(default) - def test_time_increments(self,default): - shape = default.read_dataset(default.get_dataset_location('F'),0).shape - default.set_by_time(0.0,20.0) - for i in default.iterate('increments'): - assert shape == default.read_dataset(default.get_dataset_location('F'),0).shape + def test_pick_all(self,default): + default.pick('increments',True) + a = default.get_dataset_location('F') + default.pick('increments','*') + b = default.get_dataset_location('F') + default.pick('increments',default.incs_in_range(0,np.iinfo(int).max)) + c = default.get_dataset_location('F') + + default.pick('times',True) + d = default.get_dataset_location('F') + default.pick('times','*') + e = default.get_dataset_location('F') + default.pick('times',default.times_in_range(0.0,np.inf)) + f = default.get_dataset_location('F') + assert a == b == c == d == e ==f + + @pytest.mark.parametrize('what',['increments','times','constituents']) # ToDo: discuss materialpoints + def test_pick_none(self,default,what): + default.pick(what,False) + a = default.get_dataset_location('F') + default.pick(what,[]) + b = default.get_dataset_location('F') + + assert a == b == [] + + @pytest.mark.parametrize('what',['increments','times','constituents']) # ToDo: discuss materialpoints + def test_pick_more(self,default,what): + default.pick(what,False) + default.pick_more(what,'*') + a = default.get_dataset_location('F') + + default.pick(what,True) + b = default.get_dataset_location('F') + + assert a == b + + @pytest.mark.parametrize('what',['increments','times','constituents']) # ToDo: discuss materialpoints + def test_pick_less(self,default,what): + default.pick(what,True) + default.pick_less(what,'*') + a = default.get_dataset_location('F') + + default.pick(what,False) + b = default.get_dataset_location('F') + + assert a == b == [] + + def test_pick_invalid(self,default): + with pytest.raises(AttributeError): + default.pick('invalid',True) def test_add_absolute(self,default): From 376e45d7bfe7f505a02e90dc80c80ee8fa00f53a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 23 May 2020 13:55:00 +0200 Subject: [PATCH 088/958] don't even start to compile --- cmake/Compiler-GNU.cmake | 3 +++ cmake/Compiler-Intel.cmake | 4 ++++ src/DAMASK_interface.f90 | 25 ------------------------- 3 files changed, 7 insertions(+), 25 deletions(-) diff --git a/cmake/Compiler-GNU.cmake b/cmake/Compiler-GNU.cmake index 858e91134..ebba8c0bf 100644 --- a/cmake/Compiler-GNU.cmake +++ b/cmake/Compiler-GNU.cmake @@ -1,6 +1,9 @@ ################################################################################################### # GNU Compiler ################################################################################################### +if (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 8.0) + message (FATAL_ERROR "GCC Compiler version: ${CMAKE_Fortran_COMPILER_VERSION} not supported") +endif () if (OPENMP) set (OPENMP_FLAGS "-fopenmp") diff --git a/cmake/Compiler-Intel.cmake b/cmake/Compiler-Intel.cmake index 1a2c2c455..6d96ff42d 100644 --- a/cmake/Compiler-Intel.cmake +++ b/cmake/Compiler-Intel.cmake @@ -1,6 +1,10 @@ ################################################################################################### # Intel Compiler ################################################################################################### +if (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 18.0) + message (FATAL_ERROR "Intel Compiler version: ${CMAKE_Fortran_COMPILER_VERSION} not supported") +endif () + if (OPENMP) set (OPENMP_FLAGS "-qopenmp -parallel") endif () diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index 8e4369840..67c7d99da 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -9,8 +9,6 @@ !> by DAMASK. Interpretating the command line arguments to get load case, geometry file, !> and working directory. !-------------------------------------------------------------------------------------------------- -#define GCC_MIN 6 -#define INTEL_MIN 1700 #define PETSC_MAJOR 3 #define PETSC_MINOR_MIN 10 #define PETSC_MINOR_MAX 13 @@ -50,29 +48,6 @@ contains !-------------------------------------------------------------------------------------------------- subroutine DAMASK_interface_init #include -#if defined(__GFORTRAN__) && __GNUC__PETSC_MINOR_MAX =================================================================================================== From a3d9520c4b85db772f793c8714885a67c37a28d8 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 23 May 2020 15:54:28 +0200 Subject: [PATCH 089/958] polishing --- python/damask/_result.py | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 3921cbf49..6526e63ed 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -599,9 +599,6 @@ class Result: @staticmethod def _add_deviator(T): - if not T['data'].shape[1:] == (3,3): - raise ValueError - return { 'data': mechanics.deviatoric_part(T['data']), 'label': 's_{}'.format(T['label']), @@ -867,8 +864,6 @@ class Result: @staticmethod def _add_rotational_part(F): - if not F['data'].shape[1:] == (3,3): - raise ValueError return { 'data': mechanics.rotational_part(F['data']), 'label': 'R({})'.format(F['label']), @@ -893,9 +888,6 @@ class Result: @staticmethod def _add_spherical(T): - if not T['data'].shape[1:] == (3,3): - raise ValueError - return { 'data': mechanics.spherical_part(T['data']), 'label': 'p_{}'.format(T['label']), @@ -920,9 +912,6 @@ class Result: @staticmethod def _add_strain_tensor(F,t,m): - if not F['data'].shape[1:] == (3,3): - raise ValueError - return { 'data': mechanics.strain_tensor(F['data'],t,m), 'label': 'epsilon_{}^{}({})'.format(t,m,F['label']), @@ -954,9 +943,6 @@ class Result: @staticmethod def _add_stretch_tensor(F,t): - if not F['data'].shape[1:] == (3,3): - raise ValueError - return { 'data': mechanics.left_stretch(F['data']) if t == 'V' else mechanics.right_stretch(F['data']), 'label': '{}({})'.format(t,F['label']), @@ -1047,7 +1033,7 @@ class Result: Selection is not taken into account. """ if len(self.constituents) != 1 or not self.structured: - raise NotImplementedError + raise NotImplementedError('XDMF only available for grid results with 1 constituent.') xdmf=ET.Element('Xdmf') xdmf.attrib={'Version': '2.0', @@ -1215,14 +1201,6 @@ class Result: ################################################################################################### # BEGIN DEPRECATED - def _time_to_inc(self,start,end): - selected = [] - for i,time in enumerate(self.times): - if start <= time <= end: - selected.append(self.increments[i]) - return selected - - def set_by_time(self,start,end): """ Set active increments based on start and end time. @@ -1235,4 +1213,4 @@ class Result: end time (included) """ - self._manage_selection('set','increments',self._time_to_inc(start,end)) + self._manage_selection('set','times',self.times_in_range(start,end)) From a26cba1457054c5188b7a44bdbf72c0a9b9ebc36 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 24 May 2020 09:06:11 +0200 Subject: [PATCH 090/958] calling a few missing statements --- python/tests/test_Lattice.py | 1 + python/tests/test_Result.py | 3 +++ python/tests/test_Rotation.py | 1 + 3 files changed, 5 insertions(+) diff --git a/python/tests/test_Lattice.py b/python/tests/test_Lattice.py index e99b2b961..6a2cc5034 100644 --- a/python/tests/test_Lattice.py +++ b/python/tests/test_Lattice.py @@ -15,6 +15,7 @@ class TestSymmetry: def test_equal(self): symmetry = random.choice(Symmetry.lattices) + print(symmetry) assert Symmetry(symmetry) == Symmetry(symmetry) def test_not_equal(self): diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 76dc1c8ef..4eacdee4c 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -80,6 +80,9 @@ class TestResult: with pytest.raises(AttributeError): default.pick('invalid',True) + def test_add_invalid(self,default): + with pytest.raises(Exception): + default.add_calculation('#invalid#*2') def test_add_absolute(self,default): default.add_absolute('Fe') diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 5acbca6f1..75fddf6fe 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -882,6 +882,7 @@ class TestRotation: (Rotation.from_axis_angle, np.array([1,0,0,4])), (Rotation.from_axis_angle, np.array([1,1,0,1])), (Rotation.from_matrix, np.random.rand(3,3)), + (Rotation.from_matrix, np.array([[1,1,0],[1,2,0],[0,0,1]])), (Rotation.from_Rodrigues, np.array([1,0,0,-1])), (Rotation.from_Rodrigues, np.array([1,1,0,1])), (Rotation.from_homochoric, np.array([2,2,2])), From 3231a491073c26bfba26a87bb3bae6c491569aa1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 24 May 2020 09:06:42 +0200 Subject: [PATCH 091/958] centralize functionality --- processing/pre/geom_canvas.py | 27 ++++---------- processing/pre/geom_renumber.py | 12 +++---- processing/pre/geom_rotate.py | 60 +++++++++++--------------------- processing/pre/geom_translate.py | 22 +++++------- python/damask/_geom.py | 52 +++++++++++++++++++++++++++ 5 files changed, 92 insertions(+), 81 deletions(-) diff --git a/processing/pre/geom_canvas.py b/processing/pre/geom_canvas.py index edd5fe622..b309364e8 100755 --- a/processing/pre/geom_canvas.py +++ b/processing/pre/geom_canvas.py @@ -40,35 +40,22 @@ parser.add_option('-f','--fill', parser.set_defaults(offset = (0,0,0)) (options, filenames) = parser.parse_args() - - if filenames == []: filenames = [None] + for name in filenames: damask.util.report(scriptName,name) geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - origin = geom.get_origin() - size = geom.get_size() - old = new = geom.get_grid() offset = np.asarray(options.offset) if options.grid is not None: - new = np.maximum(1, - np.array([int(o*float(n.lower().replace('x',''))) if n.lower().endswith('x') \ - else int(n) for o,n in zip(old,options.grid)],dtype=int)) + grid = np.maximum(1, + np.array([int(o*float(n.lower().replace('x',''))) if n.lower().endswith('x') \ + else int(n) for o,n in zip(geom.grid,options.grid)],dtype=int)) + else: + grid = np.array(options.grid,dtype=int) - canvas = np.full(new,options.fill if options.fill is not None - else np.nanmax(geom.microstructure)+1,geom.microstructure.dtype) - - l = np.clip( offset, 0,np.minimum(old +offset,new)) # noqa - r = np.clip( offset+old,0,np.minimum(old*2+offset,new)) - L = np.clip(-offset, 0,np.minimum(new -offset,old)) - R = np.clip(-offset+new,0,np.minimum(new*2-offset,old)) - canvas[l[0]:r[0],l[1]:r[1],l[2]:r[2]] = geom.microstructure[L[0]:R[0],L[1]:R[1],L[2]:R[2]] - - - damask.util.croak(geom.update(canvas,origin=origin+offset*size/old,rescale=True)) + damask.util.croak(geom.canvas(grid,np.asarray(options.offset),options.fill)) geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - geom.to_file(sys.stdout if name is None else name,pack=False) diff --git a/processing/pre/geom_renumber.py b/processing/pre/geom_renumber.py index 6e51062a5..8eab9064a 100755 --- a/processing/pre/geom_renumber.py +++ b/processing/pre/geom_renumber.py @@ -22,14 +22,12 @@ Renumber sorted microstructure indices to 1,...,N. """, version=scriptID) (options, filenames) = parser.parse_args() - - if filenames == []: filenames = [None] for name in filenames: - damask.util.report(scriptName,name) + damask.util.report(scriptName,name) - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - damask.util.croak(geom.renumber()) - geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - geom.to_file(sys.stdout if name is None else name,pack=False) + geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) + damask.util.croak(geom.renumber()) + geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) + geom.to_file(sys.stdout if name is None else name,pack=False) diff --git a/processing/pre/geom_rotate.py b/processing/pre/geom_rotate.py index dc2e8e2a3..bbfeceb0b 100755 --- a/processing/pre/geom_rotate.py +++ b/processing/pre/geom_rotate.py @@ -52,47 +52,27 @@ parser.add_option('-f', '--fill', parser.set_defaults(degrees = False) (options, filenames) = parser.parse_args() - -if [options.rotation,options.eulers,options.matrix,options.quaternion].count(None) < 3: - parser.error('more than one rotation specified.') -if [options.rotation,options.eulers,options.matrix,options.quaternion].count(None) > 3: - parser.error('no rotation specified.') - -if options.quaternion is not None: - rot = damask.Rotation.from_quaternion(np.array(options.quaternion)) # we might need P=+1 here, too... -if options.rotation is not None: - rot = damask.Rotation.from_axis_angle(np.array(options.rotation),degrees=options.degrees,normalise=True,P=+1) -if options.matrix is not None: - rot = damask.Rotation.from_matrix(np.array(options.Matrix)) -if options.eulers is not None: - rot = damask.Rotation.from_Eulers(np.array(options.eulers),degrees=options.degrees) - -eulers = rot.as_Eulers(degrees=True) - - if filenames == []: filenames = [None] +if [options.rotation,options.eulers,options.matrix,options.quaternion].count(None) < 3: + parser.error('more than one rotation specified.') +if [options.rotation,options.eulers,options.matrix,options.quaternion].count(None) > 3: + parser.error('no rotation specified.') + +if options.quaternion is not None: + rot = damask.Rotation.from_quaternion(np.array(options.quaternion)) # we might need P=+1 here, too... +if options.rotation is not None: + rot = damask.Rotation.from_axis_angle(np.array(options.rotation),degrees=options.degrees,normalise=True,P=+1) +if options.matrix is not None: + rot = damask.Rotation.from_matrix(np.array(options.Matrix)) +if options.eulers is not None: + rot = damask.Rotation.from_Eulers(np.array(options.eulers),degrees=options.degrees) + + for name in filenames: - damask.util.report(scriptName,name) + damask.util.report(scriptName,name) - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - size = geom.get_size() - grid = geom.get_grid() - origin = geom.get_origin() - microstructure = geom.get_microstructure() - fill = np.nanmax(microstructure)+1 if options.fill is None else options.fill - dtype = float if np.isnan(fill) or int(fill) != fill or microstructure.dtype==np.float else int - - # These rotations are always applied in the reference coordinate system, i.e. (z,x,z) not (z,x',z'') - # this seems to be ok, see https://www.cs.utexas.edu/~theshark/courses/cs354/lectures/cs354-14.pdf - microstructure = ndimage.rotate(microstructure,eulers[2],(0,1),order=0, - prefilter=False,output=dtype,cval=fill) # rotation around z - microstructure = ndimage.rotate(microstructure,eulers[1],(1,2),order=0, - prefilter=False,output=dtype,cval=fill) # rotation around x - microstructure = ndimage.rotate(microstructure,eulers[0],(0,1),order=0, - prefilter=False,output=dtype,cval=fill) # rotation around z - - damask.util.croak(geom.update(microstructure,origin=origin-(np.asarray(microstructure.shape)-grid)/2*size/grid,rescale=True)) - geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - - geom.to_file(sys.stdout if name is None else name,pack=False) + geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) + damask.util.croak(geom.rotate(rot,options.fill)) + geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) + geom.to_file(sys.stdout if name is None else name,pack=False) diff --git a/processing/pre/geom_translate.py b/processing/pre/geom_translate.py index 1d08c23dc..25164b794 100755 --- a/processing/pre/geom_translate.py +++ b/processing/pre/geom_translate.py @@ -40,22 +40,16 @@ parser.set_defaults(origin = (0.0,0.0,0.0), ) (options, filenames) = parser.parse_args() +if filenames == []: filenames = [None] sub = list(map(int,options.substitute)) - -if filenames == []: filenames = [None] - for name in filenames: - damask.util.report(scriptName,name) + damask.util.report(scriptName,name) - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - - substituted = geom.get_microstructure() - for old,new in zip(sub[0::2],sub[1::2]): substituted[geom.microstructure==old] = new # substitute microstructure indices - substituted += options.microstructure # constant shift - - damask.util.croak(geom.update(substituted,origin=geom.get_origin()+options.origin)) - geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - - geom.to_file(sys.stdout if name is None else name,pack=False) + geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) + geom.renumber(sub[0::2],sub[1::2],origin=geom.origin+options.origin) + geom.microstructure+= option.microstructure + damask.util.croak(geom) + geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) + geom.to_file(sys.stdout if name is None else name,pack=False) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 892000b7c..bfba3465b 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -10,6 +10,7 @@ from . import VTK from . import util from . import Environment from . import grid_filters +from . import Rotation class Geom: @@ -581,3 +582,54 @@ class Geom: #self.add_comments('geom.py:renumber v{}'.format(version) return self.update(renumbered) + + + def rotate(self,R,fill=None): + """Rotate microstructure (pad if required).""" + if fill is None: fill = np.nanmax(self.microstructure) + 1 + dtype = float if np.isnan(fill) or int(fill) != fill or self.microstructure.dtype==np.float else int + + Eulers = R.as_Eulers(degrees=True) + # These rotations are always applied in the reference coordinate system, i.e. (z,x,z) not (z,x',z'') + # this seems to be ok, see https://www.cs.utexas.edu/~theshark/courses/cs354/lectures/cs354-14.pdf + microstructure = ndimage.rotate(self.microstructure,Eulers[2],(0,1),order=0, + prefilter=False,output=dtype,cval=fill) # rotation around z + microstructure = ndimage.rotate(microstructure,Eulers[1],(1,2),order=0, + prefilter=False,output=dtype,cval=fill) # rotation around x + microstructure = ndimage.rotate(microstructure,Eulers[0],(0,1),order=0, + prefilter=False,output=dtype,cval=fill) # rotation around z + + origin = self.origin-(np.asarray(microstructure.shape)-self.grid)//2 * self.size/self.grid + + #self.add_comments('geom.py:renumber v{}'.format(version) + return self.update(microstructure,origin=origin,rescale=True) + + + def canvas(self,grid=None,offset=None,fill=None): + """Rotate microstructure (pad if required).""" + if fill is None: fill = np.nanmax(self.microstructure) + 1 + dtype = float if np.isnan(fill) or int(fill) != fill or self.microstructure.dtype==np.float else int + + canvas = np.full(self.grid if grid is None else grid, + fill if fill is not None else np.nanmax(self.microstructure)+1, + self.microstructure.dtype) + if offset is None: offset = 0 + + l = np.clip( offset, 0,np.minimum(self.grid +offset,grid)) # noqa + r = np.clip( offset+self.grid,0,np.minimum(self.grid*2+offset,grid)) + L = np.clip(-offset, 0,np.minimum(grid -offset,self.grid)) + R = np.clip(-offset+grid, 0,np.minimum(grid*2 -offset,self.grid)) + + canvas[l[0]:r[0],l[1]:r[1],l[2]:r[2]] = self.microstructure[L[0]:R[0],L[1]:R[1],L[2]:R[2]] + + #self.add_comments('geom.py:renumber v{}'.format(version) + return self.update(canvas,origin=self.origin+offset*self.size/self.grid,rescale=True) + + + def substitute(self,from_microstructure,to_microstructure): + """Substitude microstructure indices.""" + substituted = self.get_microstructure() + for from_ms,to_ms in zip(from_microstructure,to_microstructure): + substituted[self.microstructure==from_ms] = to_ms + + return self.update(substituted) From 594fcb2b72f93b467f852e99e92690571da30473 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 24 May 2020 15:10:53 +0200 Subject: [PATCH 092/958] seems more appropriate --- python/damask/_geom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 892000b7c..7c2fbd82e 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -242,7 +242,7 @@ class Geom: def get_grid(self): """Return the grid discretization.""" - return np.array(self.microstructure.shape) + return np.as:array(self.microstructure.shape) def get_homogenization(self): From 34adefd4ca6a5c90d38ab701d2015d074f805523 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 24 May 2020 18:30:45 +0200 Subject: [PATCH 093/958] simplified --- python/damask/_geom.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index bfba3465b..57ab5b3b1 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -590,23 +590,23 @@ class Geom: dtype = float if np.isnan(fill) or int(fill) != fill or self.microstructure.dtype==np.float else int Eulers = R.as_Eulers(degrees=True) - # These rotations are always applied in the reference coordinate system, i.e. (z,x,z) not (z,x',z'') - # this seems to be ok, see https://www.cs.utexas.edu/~theshark/courses/cs354/lectures/cs354-14.pdf - microstructure = ndimage.rotate(self.microstructure,Eulers[2],(0,1),order=0, - prefilter=False,output=dtype,cval=fill) # rotation around z - microstructure = ndimage.rotate(microstructure,Eulers[1],(1,2),order=0, - prefilter=False,output=dtype,cval=fill) # rotation around x - microstructure = ndimage.rotate(microstructure,Eulers[0],(0,1),order=0, - prefilter=False,output=dtype,cval=fill) # rotation around z - origin = self.origin-(np.asarray(microstructure.shape)-self.grid)//2 * self.size/self.grid + microstructure_in = self.get_microstructure() + # These rotations are always applied in the reference coordinate system, i.e. (z,x,z) not (z,x',z'') + # see https://www.cs.utexas.edu/~theshark/courses/cs354/lectures/cs354-14.pdf + for angle,axis in zip(Eulers[::-1], [(0,1),(1,2),(0,1)]): + microstructure_out = ndimage.rotate(microstructure_in,angle,axis,order=0, + prefilter=False,output=dtype,cval=fill) + microstructure_in = microstructure_out + + origin = self.origin-(np.asarray(microstructure_out.shape)-self.grid)//2 * self.size/self.grid #self.add_comments('geom.py:renumber v{}'.format(version) - return self.update(microstructure,origin=origin,rescale=True) + return self.update(microstructure_out,origin=origin,rescale=True) def canvas(self,grid=None,offset=None,fill=None): - """Rotate microstructure (pad if required).""" + """Crop or enlarge/pad microstructure.""" if fill is None: fill = np.nanmax(self.microstructure) + 1 dtype = float if np.isnan(fill) or int(fill) != fill or self.microstructure.dtype==np.float else int From 296308e11ecf8ead7660e55cb2ce6cf947421853 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 24 May 2020 20:52:19 +0200 Subject: [PATCH 094/958] fix for rotation around 90 deg more tests --- python/damask/_geom.py | 16 ++- .../Geom/rotate_Eulers=0.0-32.0-240.0.geom | 85 ++++++++++++++ .../Geom/rotate_Eulers=32.0-68.0-21.0.geom | 104 ++++++++++++++++++ python/tests/test_Geom.py | 45 +++++++- 4 files changed, 242 insertions(+), 8 deletions(-) create mode 100644 python/tests/reference/Geom/rotate_Eulers=0.0-32.0-240.0.geom create mode 100644 python/tests/reference/Geom/rotate_Eulers=32.0-68.0-21.0.geom diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 57ab5b3b1..26a7611c5 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -590,19 +590,23 @@ class Geom: dtype = float if np.isnan(fill) or int(fill) != fill or self.microstructure.dtype==np.float else int Eulers = R.as_Eulers(degrees=True) - microstructure_in = self.get_microstructure() + # These rotations are always applied in the reference coordinate system, i.e. (z,x,z) not (z,x',z'') # see https://www.cs.utexas.edu/~theshark/courses/cs354/lectures/cs354-14.pdf - for angle,axis in zip(Eulers[::-1], [(0,1),(1,2),(0,1)]): - microstructure_out = ndimage.rotate(microstructure_in,angle,axis,order=0, + for angle,axes in zip(Eulers[::-1], [(0,1),(1,2),(0,1)]): + microstructure_out = ndimage.rotate(microstructure_in,angle,axes,order=0, prefilter=False,output=dtype,cval=fill) - microstructure_in = microstructure_out + if np.prod(microstructure_in.shape) == np.prod(microstructure_out.shape): + # avoid scipy interpolation errors for rotations close to multiples of 90° + microstructure_in = np.rot90(microstructure_in,k=np.rint(angle/90.).astype(int),axes=axes) + else: + microstructure_in = microstructure_out - origin = self.origin-(np.asarray(microstructure_out.shape)-self.grid)//2 * self.size/self.grid + origin = self.origin-(np.asarray(microstructure_in.shape)-self.grid)*.5 * self.size/self.grid #self.add_comments('geom.py:renumber v{}'.format(version) - return self.update(microstructure_out,origin=origin,rescale=True) + return self.update(microstructure_in,origin=origin,rescale=True) def canvas(self,grid=None,offset=None,fill=None): diff --git a/python/tests/reference/Geom/rotate_Eulers=0.0-32.0-240.0.geom b/python/tests/reference/Geom/rotate_Eulers=0.0-32.0-240.0.geom new file mode 100644 index 000000000..a3d1de0b4 --- /dev/null +++ b/python/tests/reference/Geom/rotate_Eulers=0.0-32.0-240.0.geom @@ -0,0 +1,85 @@ +4 header +grid a 8 b 10 c 8 +size x 8e-06 y 1e-05 z 8e-06 +origin x 0.0 y -2.5e-06 z -2e-06 +homogenization 1 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 30 14 18 42 42 42 +42 42 29 13 17 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 31 15 19 42 42 42 +42 6 10 2 2 42 42 42 +42 1 2 2 2 2 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 32 16 20 42 42 42 +42 7 11 2 2 42 42 42 +42 7 11 2 2 42 42 42 +42 2 2 2 2 2 42 42 +42 42 2 2 31 35 42 42 +42 42 22 26 10 14 1 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 4 2 2 2 2 42 42 +42 42 2 2 32 36 42 42 +42 42 24 28 12 16 1 42 +42 42 42 7 7 1 1 42 +42 42 42 7 7 1 1 42 +42 42 42 1 1 1 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 25 29 13 17 1 42 +42 42 42 8 8 1 1 42 +42 42 42 1 1 1 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 1 1 1 42 42 +42 42 42 1 1 1 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 diff --git a/python/tests/reference/Geom/rotate_Eulers=32.0-68.0-21.0.geom b/python/tests/reference/Geom/rotate_Eulers=32.0-68.0-21.0.geom new file mode 100644 index 000000000..e29cd4266 --- /dev/null +++ b/python/tests/reference/Geom/rotate_Eulers=32.0-68.0-21.0.geom @@ -0,0 +1,104 @@ +4 header +grid a 11 b 11 c 9 +size x 1.1e-05 y 1.1000000000000001e-05 z 9e-06 +origin x -1.5e-06 y -3.0000000000000005e-06 z -2.4999999999999998e-06 +homogenization 1 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 1 2 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 1 42 42 42 42 42 42 +42 42 42 42 1 5 42 42 42 42 42 +42 42 42 1 7 4 42 42 42 42 42 +42 42 42 42 42 27 42 42 42 42 42 +42 42 42 42 42 42 2 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 1 1 42 42 42 42 42 42 +42 42 42 1 1 9 29 42 42 42 42 +42 42 1 1 11 8 28 2 42 42 42 +42 42 42 1 10 31 2 42 42 42 42 +42 42 42 42 30 2 2 2 42 42 42 +42 42 42 42 42 42 2 1 42 42 42 +42 42 42 42 42 42 42 1 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 1 42 42 42 42 42 42 42 +42 42 42 1 1 42 42 42 42 42 42 +42 42 1 16 36 12 32 42 42 42 42 +42 42 42 15 35 2 2 2 42 42 42 +42 42 42 42 2 2 2 11 3 42 42 +42 42 42 42 42 42 10 6 42 42 42 +42 42 42 42 42 42 42 6 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 1 42 42 42 42 42 42 42 +42 42 42 1 17 42 42 42 42 42 42 +42 42 42 16 36 37 2 42 42 42 42 +42 42 42 42 39 2 2 12 42 42 42 +42 42 42 38 2 2 2 11 8 42 42 +42 42 42 42 2 2 14 30 42 42 42 +42 42 42 42 42 42 13 30 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 40 42 42 42 42 42 42 +42 42 42 42 42 2 42 42 42 42 42 +42 42 42 42 42 2 2 15 42 42 42 +42 42 42 42 42 2 18 42 42 42 42 +42 42 42 42 42 42 17 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 2 20 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 0f8c10066..e3aaf84a9 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -5,12 +5,13 @@ import pytest import numpy as np from damask import Geom +from damask import Rotation def geom_equal(a,b): return np.all(a.get_microstructure() == b.get_microstructure()) and \ - np.all(a.get_size() == b.get_size()) and \ - np.all(a.get_grid() == b.get_grid()) + np.all(a.get_grid() == b.get_grid()) and \ + np.allclose(a.get_size(), b.get_size()) @pytest.fixture def default(): @@ -98,6 +99,46 @@ class TestGeom: if update: modified.to_file(reference) assert geom_equal(modified,Geom.from_file(reference)) + def test_renumber(self,default): + modified = copy.deepcopy(default) + microstructure = modified.get_microstructure() + for m in np.unique(microstructure): + microstructure[microstructure==m] = microstructure.max() + np.random.randint(1,30) + modified.update(microstructure) + assert not geom_equal(modified,default) + modified.renumber() + assert geom_equal(modified,default) + + def test_substitute(self,default): + modified = copy.deepcopy(default) + microstructure = modified.get_microstructure() + offset = np.random.randint(1,500) + microstructure+=offset + modified.update(microstructure) + assert not geom_equal(modified,default) + modified.substitute(np.arange(default.microstructure.max())+1+offset, + np.arange(default.microstructure.max())+1) + assert geom_equal(modified,default) + + @pytest.mark.parametrize('axis_angle',[np.array([1,0,0,86.7]), np.array([0,1,0,90.4]), np.array([0,0,1,90]), + np.array([1,0,0,175]),np.array([0,-1,0,178]),np.array([0,0,1,180])]) + def test_rotate90(self,default,axis_angle): + modified = copy.deepcopy(default) + for i in range(np.rint(360/axis_angle[3]).astype(int)): + modified.rotate(Rotation.from_axis_angle(axis_angle,degrees=True)) + assert geom_equal(modified,default) + + @pytest.mark.parametrize('Eulers',[[32.0,68.0,21.0], + [0.0,32.0,240.0]]) + def test_rotate(self,default,update,reference_dir,Eulers): + modified = copy.deepcopy(default) + modified.rotate(Rotation.from_Eulers(Eulers,degrees=True)) + tag = 'Eulers={}-{}-{}'.format(*Eulers) + reference = os.path.join(reference_dir,'rotate_{}.geom'.format(tag)) + if update: modified.to_file(reference) + assert geom_equal(modified,Geom.from_file(reference)) + + @pytest.mark.parametrize('periodic',[True,False]) def test_tessellation_approaches(self,periodic): grid = np.random.randint(10,20,3) From 17aa3c00dc93048d9af695b2788088f772d9f5d2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 24 May 2020 22:52:00 +0200 Subject: [PATCH 095/958] more tests --- python/damask/_geom.py | 2 +- python/tests/test_Geom.py | 25 ++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 26a7611c5..12dbcc181 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -612,12 +612,12 @@ class Geom: def canvas(self,grid=None,offset=None,fill=None): """Crop or enlarge/pad microstructure.""" if fill is None: fill = np.nanmax(self.microstructure) + 1 + if offset is None: offset = 0 dtype = float if np.isnan(fill) or int(fill) != fill or self.microstructure.dtype==np.float else int canvas = np.full(self.grid if grid is None else grid, fill if fill is not None else np.nanmax(self.microstructure)+1, self.microstructure.dtype) - if offset is None: offset = 0 l = np.clip( offset, 0,np.minimum(self.grid +offset,grid)) # noqa r = np.clip( offset+self.grid,0,np.minimum(self.grid*2+offset,grid)) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index e3aaf84a9..7a3823ab3 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -37,6 +37,7 @@ class TestGeom: default.get_size(), default.get_origin() ) + print(modified) assert geom_equal(modified,default) @@ -58,6 +59,22 @@ class TestGeom: new = Geom.from_file(tmpdir.join('default.geom')) assert geom_equal(new,default) + def test_invalid_combination(self,default): + with pytest.raises(ValueError): + default.update(default.microstructure[1:,1:,1:],size=np.ones(3), rescale=True) + + def test_invalid_size(self,default): + with pytest.raises(ValueError): + default.update(default.microstructure[1:,1:,1:],size=np.ones(2)) + + def test_invalid_microstructure(self,default): + with pytest.raises(ValueError): + default.update(default.microstructure[1]) + + def test_invalid_homogenization(self,default): + with pytest.raises(TypeError): + default.set_homogenization(homogenization=0) + @pytest.mark.parametrize('directions,reflect',[ (['x'], False), (['x','y','z'],True), @@ -122,7 +139,7 @@ class TestGeom: @pytest.mark.parametrize('axis_angle',[np.array([1,0,0,86.7]), np.array([0,1,0,90.4]), np.array([0,0,1,90]), np.array([1,0,0,175]),np.array([0,-1,0,178]),np.array([0,0,1,180])]) - def test_rotate90(self,default,axis_angle): + def test_rotate360(self,default,axis_angle): modified = copy.deepcopy(default) for i in range(np.rint(360/axis_angle[3]).astype(int)): modified.rotate(Rotation.from_axis_angle(axis_angle,degrees=True)) @@ -138,6 +155,12 @@ class TestGeom: if update: modified.to_file(reference) assert geom_equal(modified,Geom.from_file(reference)) + def test_canvas(self,default): + grid_add = np.random.randint(0,30,(3)) + modified = copy.deepcopy(default) + modified.canvas(modified.grid + grid_add) + e = default.grid + assert np.all(modified.microstructure[:e[0],:e[1],:e[2]] == default.microstructure) @pytest.mark.parametrize('periodic',[True,False]) def test_tessellation_approaches(self,periodic): From 39505507f1f759b80226236e70e1ea328a32347b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 08:07:12 +0200 Subject: [PATCH 096/958] not needed anymore --- processing/post/addIPFcolor.py | 68 -------------------- processing/post/addPK2.py | 50 --------------- processing/post/addPole.py | 65 ------------------- processing/post/addStrainTensors.py | 98 ----------------------------- processing/post/rotateData.py | 62 ------------------ processing/post/viewTable.py | 89 -------------------------- processing/pre/geom_canvas.py | 61 ------------------ processing/pre/geom_check.py | 37 ----------- processing/pre/geom_renumber.py | 33 ---------- processing/pre/geom_rotate.py | 78 ----------------------- processing/pre/geom_translate.py | 55 ---------------- python/damask/_result.py | 17 ----- 12 files changed, 713 deletions(-) delete mode 100755 processing/post/addIPFcolor.py delete mode 100755 processing/post/addPK2.py delete mode 100755 processing/post/addPole.py delete mode 100755 processing/post/addStrainTensors.py delete mode 100755 processing/post/rotateData.py delete mode 100755 processing/post/viewTable.py delete mode 100755 processing/pre/geom_canvas.py delete mode 100755 processing/pre/geom_check.py delete mode 100755 processing/pre/geom_renumber.py delete mode 100755 processing/pre/geom_rotate.py delete mode 100755 processing/pre/geom_translate.py diff --git a/processing/post/addIPFcolor.py b/processing/post/addIPFcolor.py deleted file mode 100755 index 014b0147d..000000000 --- a/processing/post/addIPFcolor.py +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Add RGB color value corresponding to TSL-OIM scheme for inverse pole figures. - -""", version = scriptID) - -parser.add_option('-p', - '--pole', - dest = 'pole', - type = 'float', nargs = 3, metavar = 'float float float', - help = 'lab frame direction for inverse pole figure [%default]') -parser.add_option('-s', - '--symmetry', - dest = 'symmetry', - type = 'choice', choices = damask.Symmetry.lattices[1:], metavar='string', - help = 'crystal symmetry [%default] {{{}}} '.format(', '.join(damask.Symmetry.lattices[1:]))) -parser.add_option('-o', - '--orientation', - dest = 'quaternion', - metavar = 'string', - help = 'label of crystal orientation given as unit quaternion [%default]') - -parser.set_defaults(pole = (0.0,0.0,1.0), - quaternion = 'orientation', - symmetry = damask.Symmetry.lattices[-1], - ) - -(options, filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -# damask.Orientation requires Bravais lattice, but we are only interested in symmetry -symmetry2lattice={'cubic':'fcc','hexagonal':'hex','tetragonal':'bct'} -lattice = symmetry2lattice[options.symmetry] - -pole = np.array(options.pole) -pole /= np.linalg.norm(pole) - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - orientation = table.get(options.quaternion) - color = np.empty((orientation.shape[0],3)) - for i,o in enumerate(orientation): - color[i] = damask.Orientation(o,lattice = lattice).IPFcolor(pole) - - table.add('IPF_{:g}{:g}{:g}_{sym}'.format(*options.pole,sym = options.symmetry.lower()), - color, - scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/addPK2.py b/processing/post/addPK2.py deleted file mode 100755 index 2894a5a90..000000000 --- a/processing/post/addPK2.py +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Add column(s) containing Second Piola--Kirchhoff stress based on given column(s) of deformation -gradient and first Piola--Kirchhoff stress. - -""", version = scriptID) - -parser.add_option('-f','--defgrad', - dest = 'defgrad', - type = 'string', metavar = 'string', - help = 'heading of columns containing deformation gradient [%default]') -parser.add_option('-p','--stress', - dest = 'stress', - type = 'string', metavar = 'string', - help = 'heading of columns containing first Piola--Kirchhoff stress [%default]') - -parser.set_defaults(defgrad = 'f', - stress = 'p', - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - - table.add('S', - damask.mechanics.PK2(table.get(options.stress ).reshape(-1,3,3), - table.get(options.defgrad).reshape(-1,3,3)).reshape(-1,9), - scriptID+' '+' '.join(sys.argv[1:])) - - table.to_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/addPole.py b/processing/post/addPole.py deleted file mode 100755 index 58f9235dc..000000000 --- a/processing/post/addPole.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Add coordinates of stereographic projection of given direction (pole) in crystal frame. - -""", version = scriptID) - -parser.add_option('-p', - '--pole', - dest = 'pole', - type = 'float', nargs = 3, metavar = 'float float float', - help = 'crystal frame direction for pole figure [%default]') -parser.add_option('--polar', - dest = 'polar', - action = 'store_true', - help = 'output polar coordinates (r,φ) instead of Cartesian coordinates (x,y)') -parser.add_option('-o', - '--orientation', - dest = 'quaternion', - metavar = 'string', - help = 'label of crystal orientation given as unit quaternion [%default]') - -parser.set_defaults(pole = (1.0,0.0,0.0), - quaternion = 'orientation', - ) - -(options, filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -pole = np.array(options.pole) -pole /= np.linalg.norm(pole) - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - orientation = table.get(options.quaternion) - poles = np.empty((orientation.shape[0],2)) - for i,o in enumerate(orientation): - rotatedPole = damask.Rotation(o)*pole # rotate pole according to crystal orientation - (x,y) = rotatedPole[0:2]/(1.+abs(pole[2])) # stereographic projection - poles[i] = [np.sqrt(x*x+y*y),np.arctan2(y,x)] if options.polar else [x,y] # cartesian coordinates - - table.add('pole_{}{}{}'.format(*options.pole), - poles, - scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/addStrainTensors.py b/processing/post/addStrainTensors.py deleted file mode 100755 index 84c460b00..000000000 --- a/processing/post/addStrainTensors.py +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - -def parameters(stretch,strain): - """Albrecht Bertram: Elasticity and Plasticity of Large Deformations An Introduction (3rd Edition, 2012), p. 102.""" - return { - 'V#ln': ('V',0.0), - 'U#ln': ('U',0.0), - 'V#Biot': ('V',-.5), - 'U#Biot': ('U',+.5), - 'V#Green': ('V',-1.), - 'U#Green': ('U',+1.), - }[stretch+'#'+strain] - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Add column(s) containing given strains based on given stretches of requested deformation gradient column(s). - -""", version = scriptID) - -parser.add_option('-u','--right', - dest = 'right', - action = 'store_true', - help = 'material strains based on right Cauchy--Green deformation, i.e., C and U') -parser.add_option('-v','--left', - dest = 'left', - action = 'store_true', - help = 'spatial strains based on left Cauchy--Green deformation, i.e., B and V') -parser.add_option('-0','--logarithmic', - dest = 'logarithmic', - action = 'store_true', - help = 'calculate logarithmic strain tensor') -parser.add_option('-1','--biot', - dest = 'biot', - action = 'store_true', - help = 'calculate biot strain tensor') -parser.add_option('-2','--green', - dest = 'green', - action = 'store_true', - help = 'calculate green strain tensor') -parser.add_option('-f','--defgrad', - dest = 'defgrad', - action = 'extend', - metavar = '', - help = 'heading(s) of columns containing deformation tensor values [%default]') - -parser.set_defaults( - defgrad = ['f'], - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -if len(options.defgrad) > 1: - options.defgrad = options.defgrad[1:] - -stretches = [] -strains = [] - -if options.right: stretches.append('U') -if options.left: stretches.append('V') -if options.logarithmic: strains.append('ln') -if options.biot: strains.append('Biot') -if options.green: strains.append('Green') - -if options.defgrad is None: - parser.error('no data column specified.') - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - - for defgrad in options.defgrad: - F = table.get(defgrad).reshape(-1,3,3) - for theStretch in stretches: - for theStrain in strains: - (t,m) = parameters(theStretch,theStrain) - label = '{}({}){}'.format(theStrain,theStretch,defgrad if defgrad != 'f' else '') - table.add(label, - damask.mechanics.strain_tensor(F,t,m).reshape(-1,9), - scriptID+' '+' '.join(sys.argv[1:])) - - table.to_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/rotateData.py b/processing/post/rotateData.py deleted file mode 100755 index ee172c64d..000000000 --- a/processing/post/rotateData.py +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Rotate vector and/or tensor column data by given angle around given axis. - -""", version = scriptID) - -parser.add_option('-d', '--data', - dest = 'data', - action = 'extend', metavar = '', - help = 'vector/tensor value(s) label(s)') -parser.add_option('-r', '--rotation', - dest = 'rotation', - type = 'float', nargs = 4, metavar = ' '.join(['float']*4), - help = 'axis and angle to rotate data [%default]') -parser.add_option('--degrees', - dest = 'degrees', - action = 'store_true', - help = 'angles are given in degrees') - -parser.set_defaults(rotation = (1.,1.,1.,0), # no rotation about (1,1,1) - degrees = False, - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -if options.data is None: - parser.error('no data column specified.') - -r = damask.Rotation.from_axis_angle(options.rotation,options.degrees,normalise=True) - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - - for data in options.data: - d = table.get(data) - if table.shapes[data] == (9,): d=d.reshape(-1,3,3) - d = r.broadcast_to(d.shape[0:1]) @ d - if table.shapes[data] == (9,): d=d.reshape(-1,9) - - table.set(data,d,scriptID+' '+' '.join(sys.argv[1:])) - - table.to_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/viewTable.py b/processing/post/viewTable.py deleted file mode 100755 index 1f134754d..000000000 --- a/processing/post/viewTable.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env python3 - -import os -from optparse import OptionParser - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(usage='%prog options [ASCIItable(s)]', description = """ -Show components of given ASCIItable(s). - -""", version = scriptID) - - -parser.add_option('-a','--head', - dest = 'head', - action = 'store_true', - help = 'output complete header (info + labels)') -parser.add_option('-i','--info', - dest = 'info', - action = 'store_true', - help = 'output info lines') -parser.add_option('-l','--labels', - dest = 'labels', - action = 'store_true', - help = 'output labels') -parser.add_option('-d','--data', - dest = 'data', - action = 'store_true', - help = 'output data') -parser.add_option('-t','--table', - dest = 'table', - action = 'store_true', - help = 'output heading line for proper ASCIItable format') -parser.add_option('--nolabels', - dest = 'labeled', - action = 'store_false', - help = 'table has no labels') -parser.set_defaults(table = False, - head = False, - info = False, - labels = False, - data = False, - labeled = True, - ) - -(options,filenames) = parser.parse_args() - -# --- loop over input files ------------------------------------------------------------------------- - -if filenames == []: filenames = [None] - -for name in filenames: - try: - table = damask.ASCIItable(name = name, labeled = options.labeled, readonly = True) - except IOError: - continue - details = ', '.join( - (['header'] if options.table else []) + - (['info'] if options.head or options.info else []) + - (['labels'] if options.head or options.labels else []) + - (['data'] if options.data else []) + - [] - ) - damask.util.report(scriptName,(name if name is not None else '') + ('' if details == '' else ' -- '+details)) - -# ------------------------------------------ output head --------------------------------------- - - table.head_read() - if not (options.head or options.info): table.info_clear() - if not (options.head or (options.labels and options.labeled)): table.labels_clear() - - table.head_write(header = options.table) - -# ------------------------------------------ output data --------------------------------------- - - outputAlive = options.data - while outputAlive and table.data_read(): # read next data line of ASCII table - outputAlive = table.data_write() # output line - - table.close() diff --git a/processing/pre/geom_canvas.py b/processing/pre/geom_canvas.py deleted file mode 100755 index b309364e8..000000000 --- a/processing/pre/geom_canvas.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [geomfile(s)]', description = """ -Increases or decreases the (three-dimensional) canvas. -Grid can be given as absolute or relative values, e.g. 16 16 16 or 2x 0.5x 32. - -""", version = scriptID) - -parser.add_option('-g','--grid', - dest = 'grid', - type = 'string', nargs = 3, metavar = ' '.join(['string']*3), - help = 'a,b,c grid of hexahedral box') -parser.add_option('-o','--offset', - dest = 'offset', - type = 'int', nargs = 3, metavar = ' '.join(['int']*3), - help = 'a,b,c offset from old to new origin of grid [%default]') -parser.add_option('-f','--fill', - dest = 'fill', - type = 'float', metavar = 'int', - help = 'background microstructure index, defaults to max microstructure index + 1') - -parser.set_defaults(offset = (0,0,0)) - -(options, filenames) = parser.parse_args() -if filenames == []: filenames = [None] - - -for name in filenames: - damask.util.report(scriptName,name) - - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - offset = np.asarray(options.offset) - - if options.grid is not None: - grid = np.maximum(1, - np.array([int(o*float(n.lower().replace('x',''))) if n.lower().endswith('x') \ - else int(n) for o,n in zip(geom.grid,options.grid)],dtype=int)) - else: - grid = np.array(options.grid,dtype=int) - - damask.util.croak(geom.canvas(grid,np.asarray(options.offset),options.fill)) - geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - geom.to_file(sys.stdout if name is None else name,pack=False) diff --git a/processing/pre/geom_check.py b/processing/pre/geom_check.py deleted file mode 100755 index e7e4d1009..000000000 --- a/processing/pre/geom_check.py +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -#-------------------------------------------------------------------------------------------------- -# MAIN -#-------------------------------------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog [geomfile(s)]', description = """ -Writes vtk file for visualization. - -""", version = scriptID) - -(options, filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -for name in filenames: - damask.util.report(scriptName,name) - - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - - damask.util.croak(geom) - - if name: - geom.to_vtk(os.path.splitext(name)[0]) - else: - sys.stdout.write(geom.to_vtk()) diff --git a/processing/pre/geom_renumber.py b/processing/pre/geom_renumber.py deleted file mode 100755 index 8eab9064a..000000000 --- a/processing/pre/geom_renumber.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -#-------------------------------------------------------------------------------------------------- -# MAIN -#-------------------------------------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog [geomfile(s)]', description = """ -Renumber sorted microstructure indices to 1,...,N. - -""", version=scriptID) - -(options, filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -for name in filenames: - damask.util.report(scriptName,name) - - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - damask.util.croak(geom.renumber()) - geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - geom.to_file(sys.stdout if name is None else name,pack=False) diff --git a/processing/pre/geom_rotate.py b/processing/pre/geom_rotate.py deleted file mode 100755 index bbfeceb0b..000000000 --- a/processing/pre/geom_rotate.py +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -from scipy import ndimage -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -#-------------------------------------------------------------------------------------------------- -# MAIN -#-------------------------------------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [geomfile(s)]', description = """ -Rotates original microstructure and embeddeds it into buffer material. - -""", version=scriptID) - -parser.add_option('-r', '--rotation', - dest='rotation', - type = 'float', nargs = 4, metavar = ' '.join(['float']*4), - help = 'rotation given as axis and angle') -parser.add_option('-e', '--eulers', - dest = 'eulers', - type = 'float', nargs = 3, metavar = ' '.join(['float']*3), - help = 'rotation given as Euler angles') -parser.add_option('-d', '--degrees', - dest = 'degrees', - action = 'store_true', - help = 'Euler angles/axis angle are given in degrees') -parser.add_option('-m', '--matrix', - dest = 'matrix', - type = 'float', nargs = 9, metavar = ' '.join(['float']*9), - help = 'rotation given as matrix') -parser.add_option('-q', '--quaternion', - dest = 'quaternion', - type = 'float', nargs = 4, metavar = ' '.join(['float']*4), - help = 'rotation given as quaternion') -parser.add_option('-f', '--fill', - dest = 'fill', - type = 'float', metavar = 'int', - help = 'background microstructure index, defaults to max microstructure index + 1') - -parser.set_defaults(degrees = False) - -(options, filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -if [options.rotation,options.eulers,options.matrix,options.quaternion].count(None) < 3: - parser.error('more than one rotation specified.') -if [options.rotation,options.eulers,options.matrix,options.quaternion].count(None) > 3: - parser.error('no rotation specified.') - -if options.quaternion is not None: - rot = damask.Rotation.from_quaternion(np.array(options.quaternion)) # we might need P=+1 here, too... -if options.rotation is not None: - rot = damask.Rotation.from_axis_angle(np.array(options.rotation),degrees=options.degrees,normalise=True,P=+1) -if options.matrix is not None: - rot = damask.Rotation.from_matrix(np.array(options.Matrix)) -if options.eulers is not None: - rot = damask.Rotation.from_Eulers(np.array(options.eulers),degrees=options.degrees) - - -for name in filenames: - damask.util.report(scriptName,name) - - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - damask.util.croak(geom.rotate(rot,options.fill)) - geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - geom.to_file(sys.stdout if name is None else name,pack=False) diff --git a/processing/pre/geom_translate.py b/processing/pre/geom_translate.py deleted file mode 100755 index 25164b794..000000000 --- a/processing/pre/geom_translate.py +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from optparse import OptionParser -from io import StringIO - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -#-------------------------------------------------------------------------------------------------- -# MAIN -#-------------------------------------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [geomfile(s)]', description = """ -Translate microstructure indices (shift or substitute) and/or geometry origin. - -""", version=scriptID) - -parser.add_option('-o', '--origin', - dest = 'origin', - type = 'float', nargs = 3, metavar = ' '.join(['float']*3), - help = 'offset from old to new origin of grid') -parser.add_option('-m', '--microstructure', - dest = 'microstructure', - type = 'int', metavar = 'int', - help = 'offset from old to new microstructure indices (after substitution)') -parser.add_option('-s', '--substitute', - dest = 'substitute', - action = 'extend', metavar = '', - help = 'substitutions of microstructure indices from,to,from,to,...') - -parser.set_defaults(origin = (0.0,0.0,0.0), - microstructure = 0, - substitute = [] - ) - -(options, filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -sub = list(map(int,options.substitute)) - -for name in filenames: - damask.util.report(scriptName,name) - - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - geom.renumber(sub[0::2],sub[1::2],origin=geom.origin+options.origin) - geom.microstructure+= option.microstructure - damask.util.croak(geom) - geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - geom.to_file(sys.stdout if name is None else name,pack=False) diff --git a/python/damask/_result.py b/python/damask/_result.py index 6526e63ed..9f58998d1 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1197,20 +1197,3 @@ class Result: inc[3:].zfill(N_digits)) v.write(file_out) - -################################################################################################### -# BEGIN DEPRECATED - - def set_by_time(self,start,end): - """ - Set active increments based on start and end time. - - Parameters - ---------- - start : float - start time (included) - end : float - end time (included) - - """ - self._manage_selection('set','times',self.times_in_range(start,end)) From 77b68ab86f588143c2e1595d8731e64bb990a75d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 09:39:39 +0200 Subject: [PATCH 097/958] using rotation class for rotations --- processing/post/addAPS34IDEstrainCoords.py | 13 ++++--------- python/damask/_rotation.py | 1 + 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/processing/post/addAPS34IDEstrainCoords.py b/processing/post/addAPS34IDEstrainCoords.py index c14983799..d71116c6a 100755 --- a/processing/post/addAPS34IDEstrainCoords.py +++ b/processing/post/addAPS34IDEstrainCoords.py @@ -32,15 +32,12 @@ parser.add_option('--depth', dest='depth', metavar='string', if filenames == []: filenames = [None] if options.frame is None: - parser.error('frame not specified') + parser.error('frame not specified') if options.depth is None: - parser.error('depth not specified') + parser.error('depth not specified') -theta=-0.75*np.pi -RotMat2TSL=np.array([[1., 0., 0.], - [0., np.cos(theta), np.sin(theta)], # Orientation to account for -135 deg - [0., -np.sin(theta), np.cos(theta)]]) # rotation for TSL convention +rot_to_TSL = damask.Rotation.from_axis_angle([-1,0,0,.75*np.pi]) for name in filenames: damask.util.report(scriptName,name) @@ -50,8 +47,6 @@ for name in filenames: coord = - table.get(options.frame) coord[:,2] += table.get(options.depth)[:,0] - table.add('coord', - np.einsum('ijk,ik->ij',np.broadcast_to(RotMat2TSL,(coord.shape[0],3,3)),coord), - scriptID+' '+' '.join(sys.argv[1:])) + table.add('coord',rot_to_TSL.broadcast_to(coord.shape[0]) @ coord,scriptID+' '+' '.join(sys.argv[1:])) table.to_ASCII(sys.stdout if name is None else name) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index d639cb0e0..ee2cbc0c6 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -157,6 +157,7 @@ class Rotation: def broadcast_to(self,shape): + if isinstance(shape,int): shape = (shape,) if self.shape == (): q = np.broadcast_to(self.quaternion,shape+(4,)) else: From cd4e992900f6cadad3e847153e36eb0ebe3e1f99 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 09:39:53 +0200 Subject: [PATCH 098/958] not needed anymore --- processing/post/addCalculation.py | 183 ------------------------------ processing/post/addNorm.py | 75 ------------ 2 files changed, 258 deletions(-) delete mode 100755 processing/post/addCalculation.py delete mode 100755 processing/post/addNorm.py diff --git a/processing/post/addCalculation.py b/processing/post/addCalculation.py deleted file mode 100755 index 79fdd9455..000000000 --- a/processing/post/addCalculation.py +++ /dev/null @@ -1,183 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from optparse import OptionParser -import re -from collections.abc import Iterable -import math # noqa - -import scipy # noqa -import scipy.linalg # noqa -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - -def listify(x): - return x if isinstance(x, Iterable) else [x] - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Add or alter column(s) with derived values according to user-defined arithmetic operation between column(s). -Column labels are tagged by '#label#' in formulas. Use ';' for ',' in functions. -Numpy is available as 'np'. - -Special variables: #_row_# -- row index -Examples: -(1) magnitude of vector -- "np.linalg.norm(#vec#)" -(2) rounded root of row number -- "round(math.sqrt(#_row_#);3)" - -""", version = scriptID) - -parser.add_option('-l','--label', - dest = 'labels', - action = 'extend', metavar = '', - help = '(list of) new column labels') -parser.add_option('-f','--formula', - dest = 'formulas', - action = 'extend', metavar = '', - help = '(list of) formulas corresponding to labels') - -parser.add_option('-c','--condition', - dest = 'condition', metavar='string', - help = 'condition to alter existing column data (optional)') - -(options,filenames) = parser.parse_args() - -if options.labels is None or options.formulas is None: - parser.error('no formulas and/or labels specified.') -if len(options.labels) != len(options.formulas): - parser.error('number of labels ({}) and formulas ({}) do not match.'.format(len(options.labels),len(options.formulas))) - -for i in range(len(options.formulas)): - options.formulas[i] = options.formulas[i].replace(';',',') - -# ------------------------------------- loop over input files -------------------------------------- - -if filenames == []: filenames = [None] - -for name in filenames: - try: - table = damask.ASCIItable(name = name) - except IOError: - continue - damask.util.report(scriptName,name) - -# ------------------------------------------ read header ------------------------------------------- - - table.head_read() - -# -------------------------------------------------------------------------------------------------- - specials = { \ - '_row_': 0, - } - -# --------------------------------------- evaluate condition --------------------------------------- - if options.condition is not None: - condition = options.condition # copy per file, since might be altered inline - breaker = False - - for position,(all,marker,column) in enumerate(set(re.findall(r'#(([s]#)?(.+?))#',condition))): # find three groups - idx = table.label_index(column) - dim = table.label_dimension(column) - if idx < 0 and column not in specials: - damask.util.croak('column "{}" not found.'.format(column)) - breaker = True - else: - if column in specials: - replacement = 'specials["{}"]'.format(column) - elif dim == 1: # scalar input - replacement = '{}(table.data[{}])'.format({ '':'float', - 's#':'str'}[marker],idx) # take float or string value of data column - elif dim > 1: # multidimensional input (vector, tensor, etc.) - replacement = 'np.array(table.data[{}:{}],dtype=float)'.format(idx,idx+dim) # use (flat) array representation - - condition = condition.replace('#'+all+'#',replacement) - - if breaker: continue # found mistake in condition evaluation --> next file - -# ------------------------------------------ build formulas ---------------------------------------- - - evaluator = {} - - for label,formula in zip(options.labels,options.formulas): - for column in re.findall(r'#(.+?)#',formula): # loop over column labels in formula - idx = table.label_index(column) - dim = table.label_dimension(column) - if column in specials: - replacement = 'specials["{}"]'.format(column) - elif dim == 1: # scalar input - replacement = 'float(table.data[{}])'.format(idx) # take float value of data column - elif dim > 1: # multidimensional input (vector, tensor, etc.) - replacement = 'np.array(table.data[{}:{}],dtype=float)'.format(idx,idx+dim) # use (flat) array representation - else: - damask.util.croak('column {} not found, skipping {}...'.format(column,label)) - options.labels.remove(label) - break - - formula = formula.replace('#'+column+'#',replacement) - - evaluator[label] = formula - -# ---------------------------- separate requested labels into old and new -------------------------- - - veterans = list(set(options.labels)&set(table.labels(raw=False)+table.labels(raw=True)) ) # intersection of requested and existing - newbies = list(set(options.labels)-set(table.labels(raw=False)+table.labels(raw=True)) ) # requested but not existing - -# ------------------------------------------ process data ------------------------------------------ - - firstLine = True - outputAlive = True - - while outputAlive and table.data_read(): # read next data line of ASCII table - specials['_row_'] += 1 # count row - - if firstLine: - firstLine = False - -# ---------------------------- line 1: determine dimension of formulas ----------------------------- - - resultDim = {} - for label in list(options.labels): # iterate over stable copy - resultDim[label] = np.size(eval(evaluator[label])) # get dimension of formula[label] - if resultDim[label] == 0: options.labels.remove(label) # remove label if invalid result - - for veteran in list(veterans): - if resultDim[veteran] != table.label_dimension(veteran): - damask.util.croak('skipping {} due to inconsistent dimension...'.format(veteran)) - veterans.remove(veteran) # discard culprit - -# ----------------------------------- line 1: assemble header -------------------------------------- - - for newby in newbies: - table.labels_append(['{}_{}'.format(i+1,newby) for i in range(resultDim[newby])] - if resultDim[newby] > 1 else newby) - - table.info_append(scriptID + '\t' + ' '.join(sys.argv[1:])) - table.head_write() - -# -------------------------------------- evaluate formulas ----------------------------------------- - - if options.condition is None or eval(condition): # condition for veteran replacement fulfilled - for veteran in veterans: # evaluate formulas that overwrite - table.data[table.label_index(veteran): - table.label_index(veteran)+table.label_dimension(veteran)] = \ - listify(eval(evaluator[veteran])) - - for newby in newbies: # evaluate formulas that append - table.data_append(listify(eval(evaluator[newby]))) - - outputAlive = table.data_write() # output processed line - -# ------------------------------------- output finalization ---------------------------------------- - - table.close() # close ASCII table - diff --git a/processing/post/addNorm.py b/processing/post/addNorm.py deleted file mode 100755 index 4ac2bf899..000000000 --- a/processing/post/addNorm.py +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - -# definition of element-wise p-norms for matrices -# ToDo: better use numpy.linalg.norm - -def norm(which,object): - - if which == 'Abs': # p = 1 - return sum(map(abs, object)) - elif which == 'Frobenius': # p = 2 - return np.sqrt(sum([x*x for x in object])) - elif which == 'Max': # p = inf - return max(map(abs, object)) - else: - return -1 - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Add column(s) containing norm of requested column(s) being either vectors or tensors. - -""", version = scriptID) - -normChoices = ['abs','frobenius','max'] -parser.add_option('-n','--norm', - dest = 'norm', - type = 'choice', choices = normChoices, metavar='string', - help = 'type of element-wise p-norm [frobenius] {%s}'%(','.join(map(str,normChoices)))) -parser.add_option('-l','--label', - dest = 'labels', - action = 'extend', metavar = '', - help = 'heading of column(s) to calculate norm of') - -parser.set_defaults(norm = 'frobenius', - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -if options.norm.lower() not in normChoices: - parser.error('invalid norm ({}) specified.'.format(options.norm)) -if options.labels is None: - parser.error('no data column specified.') - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - for label in options.labels: - data = table.get(label) - data_norm = np.empty((data.shape[0],1)) - for i,d in enumerate(data): - data_norm[i] = norm(options.norm.capitalize(),d) - - table.add('norm{}({})'.format(options.norm.capitalize(),label), - data_norm, - scriptID+' '+' '.join(sys.argv[1:])) - - table.to_ASCII(sys.stdout if name is None else name) From 3f221ab5edcefcdbe8299fb9882ac89c4d22ea38 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Mon, 25 May 2020 12:54:43 +0200 Subject: [PATCH 099/958] polishing --- src/YAML_parse.f90 | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 429eb6e62..75a59f342 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -11,13 +11,16 @@ module YAML_parse contains - +!-------------------------------------------------------------------------------------------------- +!> @brief do sanity checks +!-------------------------------------------------------------------------------------------------- subroutine YAML_init call selfTest end subroutine YAML_init + !-------------------------------------------------------------------------------------------------- !> @brief reads the flow style string and stores it in the form of dictionaries, lists and scalars. !> @details A node type pointer can either point to a dictionary, list or scalar type entities. @@ -188,7 +191,8 @@ logical function isKey(line) if(len(IO_rmComment(line)) == 0) then isKey = .false. else - isKey = IO_rmComment(line(len(IO_rmComment(line)):len(IO_rmComment(line)))) == ':' .and. .not. isFlow(line) + isKey = IO_rmComment(line(len(IO_rmComment(line)):len(IO_rmComment(line)))) == ':' & + .and. .not. isFlow(line) endif end function isKey @@ -535,6 +539,7 @@ function to_flow(blck) end function to_flow + !-------------------------------------------------------------------------------------------------- subroutine selfTest() @@ -567,7 +572,6 @@ subroutine selfTest() if( isScalar('- a:')) call IO_error(0,ext_msg='isScalar') if(.not. isScalar(' a')) call IO_error(0,ext_msg='isScalar') - !ToDo :some more advanced tests? basic_list: block character(len=*), parameter :: block_list = & " - Casablanca"//IO_EOL//& From b4de27bf6171f8efda6f073c582a14f8cded40a9 Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 25 May 2020 14:54:13 +0200 Subject: [PATCH 100/958] [skip ci] updated version information after successful test of v2.0.3-2514-g873b9fa8 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 3ba40668a..6d4d1897c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2504-gcee9daff +v2.0.3-2514-g873b9fa8 From c9ff18e4087c001620b6f00ed66bb2fc89f5987f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 15:50:48 +0200 Subject: [PATCH 101/958] not used --- processing/pre/geom_rotate.py | 1 - processing/pre/geom_translate.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/processing/pre/geom_rotate.py b/processing/pre/geom_rotate.py index bbfeceb0b..9a65a0e2b 100755 --- a/processing/pre/geom_rotate.py +++ b/processing/pre/geom_rotate.py @@ -5,7 +5,6 @@ import sys from io import StringIO from optparse import OptionParser -from scipy import ndimage import numpy as np import damask diff --git a/processing/pre/geom_translate.py b/processing/pre/geom_translate.py index 25164b794..44c7e8718 100755 --- a/processing/pre/geom_translate.py +++ b/processing/pre/geom_translate.py @@ -49,7 +49,7 @@ for name in filenames: geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) geom.renumber(sub[0::2],sub[1::2],origin=geom.origin+options.origin) - geom.microstructure+= option.microstructure + geom.microstructure+= options.microstructure damask.util.croak(geom) geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) geom.to_file(sys.stdout if name is None else name,pack=False) From 784d6d09d9b5a336541c67332fb00183e4555c36 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 15:54:22 +0200 Subject: [PATCH 102/958] cleaning --- python/damask/_geom.py | 11 +++++------ python/tests/test_Lattice.py | 5 ++--- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 12dbcc181..53c7322cc 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -10,7 +10,6 @@ from . import VTK from . import util from . import Environment from . import grid_filters -from . import Rotation class Geom: @@ -605,7 +604,7 @@ class Geom: origin = self.origin-(np.asarray(microstructure_in.shape)-self.grid)*.5 * self.size/self.grid - #self.add_comments('geom.py:renumber v{}'.format(version) + #self.add_comments('geom.py:rotate v{}'.format(version) return self.update(microstructure_in,origin=origin,rescale=True) @@ -613,11 +612,10 @@ class Geom: """Crop or enlarge/pad microstructure.""" if fill is None: fill = np.nanmax(self.microstructure) + 1 if offset is None: offset = 0 - dtype = float if np.isnan(fill) or int(fill) != fill or self.microstructure.dtype==np.float else int + dtype = float if int(fill) != fill or self.microstructure.dtype==np.float else int canvas = np.full(self.grid if grid is None else grid, - fill if fill is not None else np.nanmax(self.microstructure)+1, - self.microstructure.dtype) + fill if fill is not None else np.nanmax(self.microstructure)+1,dtype) l = np.clip( offset, 0,np.minimum(self.grid +offset,grid)) # noqa r = np.clip( offset+self.grid,0,np.minimum(self.grid*2+offset,grid)) @@ -626,7 +624,7 @@ class Geom: canvas[l[0]:r[0],l[1]:r[1],l[2]:r[2]] = self.microstructure[L[0]:R[0],L[1]:R[1],L[2]:R[2]] - #self.add_comments('geom.py:renumber v{}'.format(version) + #self.add_comments('geom.py:canvas v{}'.format(version) return self.update(canvas,origin=self.origin+offset*self.size/self.grid,rescale=True) @@ -636,4 +634,5 @@ class Geom: for from_ms,to_ms in zip(from_microstructure,to_microstructure): substituted[self.microstructure==from_ms] = to_ms + #self.add_comments('geom.py:substitute v{}'.format(version) return self.update(substituted) diff --git a/python/tests/test_Lattice.py b/python/tests/test_Lattice.py index 6a2cc5034..fb8ce8ea5 100644 --- a/python/tests/test_Lattice.py +++ b/python/tests/test_Lattice.py @@ -4,14 +4,13 @@ import pytest import numpy as np from damask import Symmetry -from damask import Lattice class TestSymmetry: @pytest.mark.parametrize('invalid_symmetry',['fcc','bcc','hello']) def test_invalid_symmetry(self,invalid_symmetry): with pytest.raises(KeyError): - s = Symmetry(invalid_symmetry) + s = Symmetry(invalid_symmetry) # noqa def test_equal(self): symmetry = random.choice(Symmetry.lattices) @@ -37,6 +36,6 @@ class TestSymmetry: @pytest.mark.parametrize('function',['inFZ','inDisorientationSST']) def test_invalid_argument(self,function): - s = Symmetry() + s = Symmetry() # noqa with pytest.raises(ValueError): eval('s.{}(np.ones(4))'.format(function)) From f07eaf19d049178eaf78757eb340cf2eeb398738 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 16:37:08 +0200 Subject: [PATCH 103/958] fixed broadcasting + corresponding test --- python/damask/_rotation.py | 10 +++++----- python/tests/test_Rotation.py | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index c147194d3..f90c5fcc0 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -12,7 +12,7 @@ _R1 = (3.*np.pi/4.)**(1./3.) class Rotation: u""" Orientation stored with functionality for conversion to different representations. - + The following conventions apply: - coordinate frames are right-handed. @@ -161,10 +161,10 @@ class Rotation: if self.shape == (): q = np.broadcast_to(self.quaternion,shape+(4,)) else: - q = np.block([np.broadcast_to(self.quaternion[...,0:1],shape), - np.broadcast_to(self.quaternion[...,1:2],shape), - np.broadcast_to(self.quaternion[...,2:3],shape), - np.broadcast_to(self.quaternion[...,3:4],shape)]).reshape(shape+(4,)) + q = np.block([np.broadcast_to(self.quaternion[...,0:1],shape).reshape(shape+(1,)), + np.broadcast_to(self.quaternion[...,1:2],shape).reshape(shape+(1,)), + np.broadcast_to(self.quaternion[...,2:3],shape).reshape(shape+(1,)), + np.broadcast_to(self.quaternion[...,3:4],shape).reshape(shape+(1,))]) return self.__class__(q) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 75fddf6fe..5a1cd145d 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -873,7 +873,7 @@ class TestRotation: rot.shape + (np.random.randint(8,32),) rot_broadcast = rot.broadcast_to(tuple(new_shape)) for i in range(rot_broadcast.shape[-1]): - assert (rot_broadcast.quaternion[...,i,:], rot.quaternion) + assert np.allclose(rot_broadcast.quaternion[...,i,:], rot.quaternion) @pytest.mark.parametrize('function,invalid',[(Rotation.from_quaternion, np.array([-1,0,0,0])), From b1b8d02320f59a50b1057b2780c51afc44c61771 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 16:41:23 +0200 Subject: [PATCH 104/958] typo --- python/damask/_geom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index fe4e9a17f..2609fe537 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -242,7 +242,7 @@ class Geom: def get_grid(self): """Return the grid discretization.""" - return np.as:array(self.microstructure.shape) + return np.asarray(self.microstructure.shape) def get_homogenization(self): From 248f199a7b4e57dcb8fe9ef9919461790aabbcd1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 18:50:31 +0200 Subject: [PATCH 105/958] track creation time --- python/damask/_result.py | 3 +++ src/results.f90 | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/python/damask/_result.py b/python/damask/_result.py index 3a43850ed..e4402e1d8 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -2,6 +2,7 @@ import multiprocessing import re import glob import os +import datetime import xml.etree.ElementTree as ET import xml.dom.minidom from functools import partial @@ -1016,6 +1017,8 @@ class Result: with h5py.File(self.fname, 'a') as f: try: # ToDo: Replace if exists? dataset = f[result[0]].create_dataset(result[1]['label'],data=result[1]['data']) + now = datetime.datetime.now().astimezone() + dataset.attrs['Created'] = now.strftime('%Y-%m-%d %H:%M:%S%z').encode() for l,v in result[1]['meta'].items(): dataset.attrs[l]=v.encode() except OSError as err: diff --git a/src/results.f90 b/src/results.f90 index b5410f5f4..9b634079e 100644 --- a/src/results.f90 +++ b/src/results.f90 @@ -311,6 +311,8 @@ subroutine results_writeScalarDataset_real(group,dataset,label,description,SIuni call HDF5_addAttribute(groupHandle,'Unit',SIunit,label) if (HDF5_objectExists(groupHandle,label)) & call HDF5_addAttribute(groupHandle,'Creator','DAMASK '//DAMASKVERSION,label) + if (HDF5_objectExists(groupHandle,label)) & + call HDF5_addAttribute(groupHandle,'Created',now()) call HDF5_closeGroup(groupHandle) end subroutine results_writeScalarDataset_real @@ -340,6 +342,8 @@ subroutine results_writeVectorDataset_real(group,dataset,label,description,SIuni call HDF5_addAttribute(groupHandle,'Unit',SIunit,label) if (HDF5_objectExists(groupHandle,label)) & call HDF5_addAttribute(groupHandle,'Creator','DAMASK '//DAMASKVERSION,label) + if (HDF5_objectExists(groupHandle,label)) & + call HDF5_addAttribute(groupHandle,'Created',now()) call HDF5_closeGroup(groupHandle) end subroutine results_writeVectorDataset_real @@ -391,6 +395,8 @@ subroutine results_writeTensorDataset_real(group,dataset,label,description,SIuni call HDF5_addAttribute(groupHandle,'Unit',SIunit,label) if (HDF5_objectExists(groupHandle,label)) & call HDF5_addAttribute(groupHandle,'Creator','DAMASK '//DAMASKVERSION,label) + if (HDF5_objectExists(groupHandle,label)) & + call HDF5_addAttribute(groupHandle,'Created',now()) call HDF5_closeGroup(groupHandle) end subroutine results_writeTensorDataset_real @@ -421,6 +427,8 @@ subroutine results_writeVectorDataset_int(group,dataset,label,description,SIunit call HDF5_addAttribute(groupHandle,'Unit',SIunit,label) if (HDF5_objectExists(groupHandle,label)) & call HDF5_addAttribute(groupHandle,'Creator','DAMASK '//DAMASKVERSION,label) + if (HDF5_objectExists(groupHandle,label)) & + call HDF5_addAttribute(groupHandle,'Created',now()) call HDF5_closeGroup(groupHandle) end subroutine results_writeVectorDataset_int @@ -451,6 +459,8 @@ subroutine results_writeTensorDataset_int(group,dataset,label,description,SIunit call HDF5_addAttribute(groupHandle,'Unit',SIunit,label) if (HDF5_objectExists(groupHandle,label)) & call HDF5_addAttribute(groupHandle,'Creator','DAMASK '//DAMASKVERSION,label) + if (HDF5_objectExists(groupHandle,label)) & + call HDF5_addAttribute(groupHandle,'Created',now()) call HDF5_closeGroup(groupHandle) end subroutine results_writeTensorDataset_int @@ -481,6 +491,8 @@ subroutine results_writeScalarDataset_rotation(group,dataset,label,description,l call HDF5_addAttribute(groupHandle,'Lattice',lattice_structure,label) if (HDF5_objectExists(groupHandle,label)) & call HDF5_addAttribute(groupHandle,'Creator','DAMASK '//DAMASKVERSION,label) + if (HDF5_objectExists(groupHandle,label)) & + call HDF5_addAttribute(groupHandle,'Created',now()) call HDF5_closeGroup(groupHandle) end subroutine results_writeScalarDataset_rotation @@ -755,6 +767,15 @@ subroutine results_mapping_materialpoint(homogenizationAt,memberAtLocal,label) end subroutine results_mapping_materialpoint +character(len=24) function now() + + character(len=5) :: zone + integer, dimension(8) :: values + + write(now,'(i4.4,5(a,i2.2),a)') & + values(1),'-',values(2),'-',values(3),' ',values(5),':',values(6),':',values(7),zone + +end function now !!-------------------------------------------------------------------------------------------------- !!> @brief adds the backward mapping from spatial position and constituent ID to results From b6812d58b0ba09f1fa95b043ff0a157b932b1dea Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 20:10:43 +0200 Subject: [PATCH 106/958] bugfix --- processing/pre/geom_translate.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/processing/pre/geom_translate.py b/processing/pre/geom_translate.py index 44c7e8718..6609e3f7e 100755 --- a/processing/pre/geom_translate.py +++ b/processing/pre/geom_translate.py @@ -48,8 +48,9 @@ for name in filenames: damask.util.report(scriptName,name) geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - geom.renumber(sub[0::2],sub[1::2],origin=geom.origin+options.origin) - geom.microstructure+= options.microstructure + geom.substitute(sub[0::2],sub[1::2]) + geom.set_origin(geom.origin+options.origin) + geom.set_microstructure(geom.microstructure+options.microstructure) damask.util.croak(geom) geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) geom.to_file(sys.stdout if name is None else name,pack=False) From b9e16ea95110599f6c18a94f87ee2c01e0e22874 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 19:12:31 +0200 Subject: [PATCH 107/958] overwriting datasets makes sense in special cases but prevent user from accidently doing that and store the information --- python/damask/_result.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index e4402e1d8..244c11c69 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -89,6 +89,8 @@ class Result: self.fname = os.path.abspath(fname) + self._allow_overwrite = False + def __repr__(self): """Show selected data.""" @@ -163,6 +165,16 @@ class Result: self.selection[what] = diff_sorted + def enable_overwrite(self): + print(util.bcolors().WARNING,util.bcolors().BOLD, + 'Warning: Enabled overwrite of existing datasets!', + util.bcolors().ENDC) + self._allow_overwrite = True + + def disable_overwrite(self): + self._allow_overwrite = False + + def incs_in_range(self,start,end): selected = [] for i,inc in enumerate([int(i[3:]) for i in self.increments]): @@ -1015,8 +1027,13 @@ class Result: continue lock.acquire() with h5py.File(self.fname, 'a') as f: - try: # ToDo: Replace if exists? - dataset = f[result[0]].create_dataset(result[1]['label'],data=result[1]['data']) + try: + if self._allow_overwrite and result[0]+'/'+result[1]['label'] in f: + dataset = f[result[0]+'/'+result[1]['label']] + datset = result[1]['data'] + dataset.attrs['Overwritten'] = True + else: + dataset = f[result[0]].create_dataset(result[1]['label'],data=result[1]['data']) now = datetime.datetime.now().astimezone() dataset.attrs['Created'] = now.strftime('%Y-%m-%d %H:%M:%S%z').encode() for l,v in result[1]['meta'].items(): From eced5d0a3c9fa1046d1efae156888bfc71978b37 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 19:34:17 +0200 Subject: [PATCH 108/958] bugfixes for date reporting --- src/results.f90 | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/results.f90 b/src/results.f90 index 9b634079e..d1db96f47 100644 --- a/src/results.f90 +++ b/src/results.f90 @@ -312,7 +312,7 @@ subroutine results_writeScalarDataset_real(group,dataset,label,description,SIuni if (HDF5_objectExists(groupHandle,label)) & call HDF5_addAttribute(groupHandle,'Creator','DAMASK '//DAMASKVERSION,label) if (HDF5_objectExists(groupHandle,label)) & - call HDF5_addAttribute(groupHandle,'Created',now()) + call HDF5_addAttribute(groupHandle,'Created',now(),label) call HDF5_closeGroup(groupHandle) end subroutine results_writeScalarDataset_real @@ -343,7 +343,7 @@ subroutine results_writeVectorDataset_real(group,dataset,label,description,SIuni if (HDF5_objectExists(groupHandle,label)) & call HDF5_addAttribute(groupHandle,'Creator','DAMASK '//DAMASKVERSION,label) if (HDF5_objectExists(groupHandle,label)) & - call HDF5_addAttribute(groupHandle,'Created',now()) + call HDF5_addAttribute(groupHandle,'Created',now(),label) call HDF5_closeGroup(groupHandle) end subroutine results_writeVectorDataset_real @@ -396,7 +396,7 @@ subroutine results_writeTensorDataset_real(group,dataset,label,description,SIuni if (HDF5_objectExists(groupHandle,label)) & call HDF5_addAttribute(groupHandle,'Creator','DAMASK '//DAMASKVERSION,label) if (HDF5_objectExists(groupHandle,label)) & - call HDF5_addAttribute(groupHandle,'Created',now()) + call HDF5_addAttribute(groupHandle,'Created',now(),label) call HDF5_closeGroup(groupHandle) end subroutine results_writeTensorDataset_real @@ -428,7 +428,7 @@ subroutine results_writeVectorDataset_int(group,dataset,label,description,SIunit if (HDF5_objectExists(groupHandle,label)) & call HDF5_addAttribute(groupHandle,'Creator','DAMASK '//DAMASKVERSION,label) if (HDF5_objectExists(groupHandle,label)) & - call HDF5_addAttribute(groupHandle,'Created',now()) + call HDF5_addAttribute(groupHandle,'Created',now(),label) call HDF5_closeGroup(groupHandle) end subroutine results_writeVectorDataset_int @@ -460,7 +460,7 @@ subroutine results_writeTensorDataset_int(group,dataset,label,description,SIunit if (HDF5_objectExists(groupHandle,label)) & call HDF5_addAttribute(groupHandle,'Creator','DAMASK '//DAMASKVERSION,label) if (HDF5_objectExists(groupHandle,label)) & - call HDF5_addAttribute(groupHandle,'Created',now()) + call HDF5_addAttribute(groupHandle,'Created',now(),label) call HDF5_closeGroup(groupHandle) end subroutine results_writeTensorDataset_int @@ -492,7 +492,7 @@ subroutine results_writeScalarDataset_rotation(group,dataset,label,description,l if (HDF5_objectExists(groupHandle,label)) & call HDF5_addAttribute(groupHandle,'Creator','DAMASK '//DAMASKVERSION,label) if (HDF5_objectExists(groupHandle,label)) & - call HDF5_addAttribute(groupHandle,'Created',now()) + call HDF5_addAttribute(groupHandle,'Created',now(),label) call HDF5_closeGroup(groupHandle) end subroutine results_writeScalarDataset_rotation @@ -772,6 +772,7 @@ character(len=24) function now() character(len=5) :: zone integer, dimension(8) :: values + call date_and_time(values=values,zone=zone) write(now,'(i4.4,5(a,i2.2),a)') & values(1),'-',values(2),'-',values(3),' ',values(5),':',values(6),':',values(7),zone From 5d0a2aac8fd9e866428175f1779a4ee8e34bc8c3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 19:35:36 +0200 Subject: [PATCH 109/958] polishing reporting --- python/damask/_result.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 244c11c69..412c66f6f 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -502,7 +502,7 @@ class Result: 'meta': { 'Unit': x['meta']['Unit'], 'Description': 'Absolute value of {} ({})'.format(x['label'],x['meta']['Description']), - 'Creator': 'result.py:add_abs v{}'.format(version) + 'Creator': 'damask.Result.add_abs v{}'.format(version) } } def add_absolute(self,x): @@ -530,7 +530,7 @@ class Result: 'meta': { 'Unit': kwargs['unit'], 'Description': '{} (formula: {})'.format(kwargs['description'],kwargs['formula']), - 'Creator': 'result.py:add_calculation v{}'.format(version) + 'Creator': 'damask.Result.add_calculation v{}'.format(version) } } def add_calculation(self,label,formula,unit='n/a',description=None,vectorized=True): @@ -569,7 +569,7 @@ class Result: 'Description': 'Cauchy stress calculated from {} ({}) '.format(P['label'], P['meta']['Description'])+\ 'and {} ({})'.format(F['label'],F['meta']['Description']), - 'Creator': 'result.py:add_Cauchy v{}'.format(version) + 'Creator': 'damask.Result.add_Cauchy v{}'.format(version) } } def add_Cauchy(self,P='P',F='F'): @@ -595,7 +595,7 @@ class Result: 'meta': { 'Unit': T['meta']['Unit'], 'Description': 'Determinant of tensor {} ({})'.format(T['label'],T['meta']['Description']), - 'Creator': 'result.py:add_determinant v{}'.format(version) + 'Creator': 'damask.Result.add_determinant v{}'.format(version) } } def add_determinant(self,T): @@ -619,7 +619,7 @@ class Result: 'meta': { 'Unit': T['meta']['Unit'], 'Description': 'Deviator of tensor {} ({})'.format(T['label'],T['meta']['Description']), - 'Creator': 'result.py:add_deviator v{}'.format(version) + 'Creator': 'damask.Result.add_deviator v{}'.format(version) } } def add_deviator(self,T): @@ -643,7 +643,7 @@ class Result: 'meta' : { 'Unit': T_sym['meta']['Unit'], 'Description': 'Eigenvalues of {} ({})'.format(T_sym['label'],T_sym['meta']['Description']), - 'Creator': 'result.py:add_eigenvalues v{}'.format(version) + 'Creator': 'damask.Result.add_eigenvalues v{}'.format(version) } } def add_eigenvalues(self,T_sym): @@ -667,7 +667,7 @@ class Result: 'meta' : { 'Unit': '1', 'Description': 'Eigenvectors of {} ({})'.format(T_sym['label'],T_sym['meta']['Description']), - 'Creator': 'result.py:add_eigenvectors v{}'.format(version) + 'Creator': 'damask.Result.add_eigenvectors v{}'.format(version) } } def add_eigenvectors(self,T_sym): @@ -703,7 +703,7 @@ class Result: 'Unit': 'RGB (8bit)', 'Lattice': lattice, 'Description': 'Inverse Pole Figure (IPF) colors along sample direction [{} {} {}]'.format(*m), - 'Creator': 'result.py:add_IPFcolor v{}'.format(version) + 'Creator': 'damask.Result.add_IPFcolor v{}'.format(version) } } def add_IPFcolor(self,q,l): @@ -729,7 +729,7 @@ class Result: 'meta': { 'Unit': T_sym['meta']['Unit'], 'Description': 'Maximum shear component of {} ({})'.format(T_sym['label'],T_sym['meta']['Description']), - 'Creator': 'result.py:add_maximum_shear v{}'.format(version) + 'Creator': 'damask.Result.add_maximum_shear v{}'.format(version) } } def add_maximum_shear(self,T_sym): @@ -756,7 +756,7 @@ class Result: 'meta': { 'Unit': T_sym['meta']['Unit'], 'Description': 'Mises equivalent {} of {} ({})'.format(t,T_sym['label'],T_sym['meta']['Description']), - 'Creator': 'result.py:add_Mises v{}'.format(version) + 'Creator': 'damask.Result.add_Mises v{}'.format(version) } } def add_Mises(self,T_sym): @@ -792,7 +792,7 @@ class Result: 'meta': { 'Unit': x['meta']['Unit'], 'Description': '{}-norm of {} {} ({})'.format(o,t,x['label'],x['meta']['Description']), - 'Creator': 'result.py:add_norm v{}'.format(version) + 'Creator': 'damask.Result.add_norm v{}'.format(version) } } def add_norm(self,x,ord=None): @@ -820,7 +820,7 @@ class Result: 'Description': '2. Kirchhoff stress calculated from {} ({}) '.format(P['label'], P['meta']['Description'])+\ 'and {} ({})'.format(F['label'],F['meta']['Description']), - 'Creator': 'result.py:add_PK2 v{}'.format(version) + 'Creator': 'damask.Result.add_PK2 v{}'.format(version) } } def add_PK2(self,P='P',F='F'): @@ -856,7 +856,7 @@ class Result: 'Unit': '1', 'Description': '{} coordinates of stereographic projection of pole (direction/plane) in crystal frame'\ .format('Polar' if polar else 'Cartesian'), - 'Creator' : 'result.py:add_pole v{}'.format(version) + 'Creator' : 'damask.Result.add_pole v{}'.format(version) } } def add_pole(self,q,p,polar=False): @@ -884,7 +884,7 @@ class Result: 'meta': { 'Unit': F['meta']['Unit'], 'Description': 'Rotational part of {} ({})'.format(F['label'],F['meta']['Description']), - 'Creator': 'result.py:add_rotational_part v{}'.format(version) + 'Creator': 'damask.Result.add_rotational_part v{}'.format(version) } } def add_rotational_part(self,F): @@ -908,7 +908,7 @@ class Result: 'meta': { 'Unit': T['meta']['Unit'], 'Description': 'Spherical component of tensor {} ({})'.format(T['label'],T['meta']['Description']), - 'Creator': 'result.py:add_spherical v{}'.format(version) + 'Creator': 'damask.Result.add_spherical v{}'.format(version) } } def add_spherical(self,T): @@ -932,7 +932,7 @@ class Result: 'meta': { 'Unit': F['meta']['Unit'], 'Description': 'Strain tensor of {} ({})'.format(F['label'],F['meta']['Description']), - 'Creator': 'result.py:add_strain_tensor v{}'.format(version) + 'Creator': 'damask.Result.add_strain_tensor v{}'.format(version) } } def add_strain_tensor(self,F='F',t='V',m=0.0): @@ -964,7 +964,7 @@ class Result: 'Unit': F['meta']['Unit'], 'Description': '{} stretch tensor of {} ({})'.format('Left' if t == 'V' else 'Right', F['label'],F['meta']['Description']), - 'Creator': 'result.py:add_stretch_tensor v{}'.format(version) + 'Creator': 'damask.Result.add_stretch_tensor v{}'.format(version) } } def add_stretch_tensor(self,F='F',t='V'): From d9d089c359a737acc63861961670650f80f3d6a6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 19:57:32 +0200 Subject: [PATCH 110/958] avoid repetition and do correct encode/decode --- python/damask/_result.py | 42 +++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 412c66f6f..34c6e9437 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1,5 +1,6 @@ import multiprocessing import re +import inspect import glob import os import datetime @@ -502,7 +503,7 @@ class Result: 'meta': { 'Unit': x['meta']['Unit'], 'Description': 'Absolute value of {} ({})'.format(x['label'],x['meta']['Description']), - 'Creator': 'damask.Result.add_abs v{}'.format(version) + 'Creator': 'add_absolute' } } def add_absolute(self,x): @@ -530,7 +531,7 @@ class Result: 'meta': { 'Unit': kwargs['unit'], 'Description': '{} (formula: {})'.format(kwargs['description'],kwargs['formula']), - 'Creator': 'damask.Result.add_calculation v{}'.format(version) + 'Creator': 'add_calculation' } } def add_calculation(self,label,formula,unit='n/a',description=None,vectorized=True): @@ -569,7 +570,7 @@ class Result: 'Description': 'Cauchy stress calculated from {} ({}) '.format(P['label'], P['meta']['Description'])+\ 'and {} ({})'.format(F['label'],F['meta']['Description']), - 'Creator': 'damask.Result.add_Cauchy v{}'.format(version) + 'Creator': 'add_Cauchy' } } def add_Cauchy(self,P='P',F='F'): @@ -595,7 +596,7 @@ class Result: 'meta': { 'Unit': T['meta']['Unit'], 'Description': 'Determinant of tensor {} ({})'.format(T['label'],T['meta']['Description']), - 'Creator': 'damask.Result.add_determinant v{}'.format(version) + 'Creator': 'add_determinant' } } def add_determinant(self,T): @@ -619,7 +620,7 @@ class Result: 'meta': { 'Unit': T['meta']['Unit'], 'Description': 'Deviator of tensor {} ({})'.format(T['label'],T['meta']['Description']), - 'Creator': 'damask.Result.add_deviator v{}'.format(version) + 'Creator': 'add_deviator' } } def add_deviator(self,T): @@ -643,7 +644,7 @@ class Result: 'meta' : { 'Unit': T_sym['meta']['Unit'], 'Description': 'Eigenvalues of {} ({})'.format(T_sym['label'],T_sym['meta']['Description']), - 'Creator': 'damask.Result.add_eigenvalues v{}'.format(version) + 'Creator': 'add_eigenvalues' } } def add_eigenvalues(self,T_sym): @@ -667,7 +668,7 @@ class Result: 'meta' : { 'Unit': '1', 'Description': 'Eigenvectors of {} ({})'.format(T_sym['label'],T_sym['meta']['Description']), - 'Creator': 'damask.Result.add_eigenvectors v{}'.format(version) + 'Creator': 'add_eigenvectors' } } def add_eigenvectors(self,T_sym): @@ -703,7 +704,7 @@ class Result: 'Unit': 'RGB (8bit)', 'Lattice': lattice, 'Description': 'Inverse Pole Figure (IPF) colors along sample direction [{} {} {}]'.format(*m), - 'Creator': 'damask.Result.add_IPFcolor v{}'.format(version) + 'Creator': 'add_IPFcolor' } } def add_IPFcolor(self,q,l): @@ -729,7 +730,7 @@ class Result: 'meta': { 'Unit': T_sym['meta']['Unit'], 'Description': 'Maximum shear component of {} ({})'.format(T_sym['label'],T_sym['meta']['Description']), - 'Creator': 'damask.Result.add_maximum_shear v{}'.format(version) + 'Creator': 'add_maximum_shear' } } def add_maximum_shear(self,T_sym): @@ -756,7 +757,7 @@ class Result: 'meta': { 'Unit': T_sym['meta']['Unit'], 'Description': 'Mises equivalent {} of {} ({})'.format(t,T_sym['label'],T_sym['meta']['Description']), - 'Creator': 'damask.Result.add_Mises v{}'.format(version) + 'Creator': 'add_Mises' } } def add_Mises(self,T_sym): @@ -792,7 +793,7 @@ class Result: 'meta': { 'Unit': x['meta']['Unit'], 'Description': '{}-norm of {} {} ({})'.format(o,t,x['label'],x['meta']['Description']), - 'Creator': 'damask.Result.add_norm v{}'.format(version) + 'Creator': 'add_norm' } } def add_norm(self,x,ord=None): @@ -820,7 +821,7 @@ class Result: 'Description': '2. Kirchhoff stress calculated from {} ({}) '.format(P['label'], P['meta']['Description'])+\ 'and {} ({})'.format(F['label'],F['meta']['Description']), - 'Creator': 'damask.Result.add_PK2 v{}'.format(version) + 'Creator': 'add_PK2' } } def add_PK2(self,P='P',F='F'): @@ -856,7 +857,7 @@ class Result: 'Unit': '1', 'Description': '{} coordinates of stereographic projection of pole (direction/plane) in crystal frame'\ .format('Polar' if polar else 'Cartesian'), - 'Creator' : 'damask.Result.add_pole v{}'.format(version) + 'Creator' : 'add_pole' } } def add_pole(self,q,p,polar=False): @@ -884,7 +885,7 @@ class Result: 'meta': { 'Unit': F['meta']['Unit'], 'Description': 'Rotational part of {} ({})'.format(F['label'],F['meta']['Description']), - 'Creator': 'damask.Result.add_rotational_part v{}'.format(version) + 'Creator': 'add_rotational_part' } } def add_rotational_part(self,F): @@ -908,7 +909,7 @@ class Result: 'meta': { 'Unit': T['meta']['Unit'], 'Description': 'Spherical component of tensor {} ({})'.format(T['label'],T['meta']['Description']), - 'Creator': 'damask.Result.add_spherical v{}'.format(version) + 'Creator': 'add_spherical' } } def add_spherical(self,T): @@ -932,7 +933,7 @@ class Result: 'meta': { 'Unit': F['meta']['Unit'], 'Description': 'Strain tensor of {} ({})'.format(F['label'],F['meta']['Description']), - 'Creator': 'damask.Result.add_strain_tensor v{}'.format(version) + 'Creator': 'add_strain_tensor' } } def add_strain_tensor(self,F='F',t='V',m=0.0): @@ -964,7 +965,7 @@ class Result: 'Unit': F['meta']['Unit'], 'Description': '{} stretch tensor of {} ({})'.format('Left' if t == 'V' else 'Right', F['label'],F['meta']['Description']), - 'Creator': 'damask.Result.add_stretch_tensor v{}'.format(version) + 'Creator': 'add_stretch_tensor' } } def add_stretch_tensor(self,F='F',t='V'): @@ -1031,13 +1032,18 @@ class Result: if self._allow_overwrite and result[0]+'/'+result[1]['label'] in f: dataset = f[result[0]+'/'+result[1]['label']] datset = result[1]['data'] - dataset.attrs['Overwritten'] = True + dataset.attrs['Overwritten'] = 'Yes'.encode() else: dataset = f[result[0]].create_dataset(result[1]['label'],data=result[1]['data']) + now = datetime.datetime.now().astimezone() dataset.attrs['Created'] = now.strftime('%Y-%m-%d %H:%M:%S%z').encode() + for l,v in result[1]['meta'].items(): dataset.attrs[l]=v.encode() + creator = 'damask.Result.{} v{}'.format(dataset.attrs['Creator'].decode(),version) + dataset.attrs['Creator'] = creator.encode() + except OSError as err: print('Could not add dataset: {}.'.format(err)) lock.release() From d6877da2b675ba3a1bd9e16b757d50942f897084 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 19:59:29 +0200 Subject: [PATCH 111/958] single source of truth --- python/damask/_result.py | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 34c6e9437..2ff3701e6 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -503,7 +503,7 @@ class Result: 'meta': { 'Unit': x['meta']['Unit'], 'Description': 'Absolute value of {} ({})'.format(x['label'],x['meta']['Description']), - 'Creator': 'add_absolute' + 'Creator': inspect.stack()[0][3][1:] } } def add_absolute(self,x): @@ -531,7 +531,7 @@ class Result: 'meta': { 'Unit': kwargs['unit'], 'Description': '{} (formula: {})'.format(kwargs['description'],kwargs['formula']), - 'Creator': 'add_calculation' + 'Creator': inspect.stack()[0][3][1:] } } def add_calculation(self,label,formula,unit='n/a',description=None,vectorized=True): @@ -570,7 +570,7 @@ class Result: 'Description': 'Cauchy stress calculated from {} ({}) '.format(P['label'], P['meta']['Description'])+\ 'and {} ({})'.format(F['label'],F['meta']['Description']), - 'Creator': 'add_Cauchy' + 'Creator': inspect.stack()[0][3][1:] } } def add_Cauchy(self,P='P',F='F'): @@ -596,7 +596,7 @@ class Result: 'meta': { 'Unit': T['meta']['Unit'], 'Description': 'Determinant of tensor {} ({})'.format(T['label'],T['meta']['Description']), - 'Creator': 'add_determinant' + 'Creator': inspect.stack()[0][3][1:] } } def add_determinant(self,T): @@ -620,7 +620,7 @@ class Result: 'meta': { 'Unit': T['meta']['Unit'], 'Description': 'Deviator of tensor {} ({})'.format(T['label'],T['meta']['Description']), - 'Creator': 'add_deviator' + 'Creator': inspect.stack()[0][3][1:] } } def add_deviator(self,T): @@ -644,7 +644,7 @@ class Result: 'meta' : { 'Unit': T_sym['meta']['Unit'], 'Description': 'Eigenvalues of {} ({})'.format(T_sym['label'],T_sym['meta']['Description']), - 'Creator': 'add_eigenvalues' + 'Creator': inspect.stack()[0][3][1:] } } def add_eigenvalues(self,T_sym): @@ -668,7 +668,7 @@ class Result: 'meta' : { 'Unit': '1', 'Description': 'Eigenvectors of {} ({})'.format(T_sym['label'],T_sym['meta']['Description']), - 'Creator': 'add_eigenvectors' + 'Creator': inspect.stack()[0][3][1:] } } def add_eigenvectors(self,T_sym): @@ -704,7 +704,7 @@ class Result: 'Unit': 'RGB (8bit)', 'Lattice': lattice, 'Description': 'Inverse Pole Figure (IPF) colors along sample direction [{} {} {}]'.format(*m), - 'Creator': 'add_IPFcolor' + 'Creator': inspect.stack()[0][3][1:] } } def add_IPFcolor(self,q,l): @@ -730,7 +730,7 @@ class Result: 'meta': { 'Unit': T_sym['meta']['Unit'], 'Description': 'Maximum shear component of {} ({})'.format(T_sym['label'],T_sym['meta']['Description']), - 'Creator': 'add_maximum_shear' + 'Creator': inspect.stack()[0][3][1:] } } def add_maximum_shear(self,T_sym): @@ -757,7 +757,7 @@ class Result: 'meta': { 'Unit': T_sym['meta']['Unit'], 'Description': 'Mises equivalent {} of {} ({})'.format(t,T_sym['label'],T_sym['meta']['Description']), - 'Creator': 'add_Mises' + 'Creator': inspect.stack()[0][3][1:] } } def add_Mises(self,T_sym): @@ -793,7 +793,7 @@ class Result: 'meta': { 'Unit': x['meta']['Unit'], 'Description': '{}-norm of {} {} ({})'.format(o,t,x['label'],x['meta']['Description']), - 'Creator': 'add_norm' + 'Creator': inspect.stack()[0][3][1:] } } def add_norm(self,x,ord=None): @@ -821,7 +821,7 @@ class Result: 'Description': '2. Kirchhoff stress calculated from {} ({}) '.format(P['label'], P['meta']['Description'])+\ 'and {} ({})'.format(F['label'],F['meta']['Description']), - 'Creator': 'add_PK2' + 'Creator': inspect.stack()[0][3][1:] } } def add_PK2(self,P='P',F='F'): @@ -854,10 +854,10 @@ class Result: 'data': coords, 'label': 'p^{}_[{} {} {})'.format(u'rφ' if polar else 'xy',*m), 'meta' : { - 'Unit': '1', + 'Unit': '1', 'Description': '{} coordinates of stereographic projection of pole (direction/plane) in crystal frame'\ .format('Polar' if polar else 'Cartesian'), - 'Creator' : 'add_pole' + 'Creator': inspect.stack()[0][3][1:] } } def add_pole(self,q,p,polar=False): @@ -885,7 +885,7 @@ class Result: 'meta': { 'Unit': F['meta']['Unit'], 'Description': 'Rotational part of {} ({})'.format(F['label'],F['meta']['Description']), - 'Creator': 'add_rotational_part' + 'Creator': inspect.stack()[0][3][1:] } } def add_rotational_part(self,F): @@ -909,7 +909,7 @@ class Result: 'meta': { 'Unit': T['meta']['Unit'], 'Description': 'Spherical component of tensor {} ({})'.format(T['label'],T['meta']['Description']), - 'Creator': 'add_spherical' + 'Creator': inspect.stack()[0][3][1:] } } def add_spherical(self,T): @@ -933,7 +933,7 @@ class Result: 'meta': { 'Unit': F['meta']['Unit'], 'Description': 'Strain tensor of {} ({})'.format(F['label'],F['meta']['Description']), - 'Creator': 'add_strain_tensor' + 'Creator': inspect.stack()[0][3][1:] } } def add_strain_tensor(self,F='F',t='V',m=0.0): @@ -965,7 +965,7 @@ class Result: 'Unit': F['meta']['Unit'], 'Description': '{} stretch tensor of {} ({})'.format('Left' if t == 'V' else 'Right', F['label'],F['meta']['Description']), - 'Creator': 'add_stretch_tensor' + 'Creator': inspect.stack()[0][3][1:] } } def add_stretch_tensor(self,F='F',t='V'): From 20e3bdd857794fe842848ec5f54d91ea5bb27802 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 21:42:12 +0200 Subject: [PATCH 112/958] adjusted names --- DAMASK_prerequisites.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DAMASK_prerequisites.sh b/DAMASK_prerequisites.sh index b72f19b7a..25a2e46e0 100755 --- a/DAMASK_prerequisites.sh +++ b/DAMASK_prerequisites.sh @@ -110,7 +110,7 @@ for executable in icc icpc ifort ;do done firstLevel "MPI Wrappers" -for executable in mpicc mpiCC mpiicc mpic++ mpicpc mpicxx mpifort mpif90 mpif77; do +for executable in mpicc mpiCC mpiicc mpic++ mpiicpc mpicxx mpifort mpiifort mpif90 mpif77; do getDetails $executable '-show' done From e8992e7b72aeac5ea58fa1b98a4cd11a380c6e1f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 22:09:46 +0200 Subject: [PATCH 113/958] documentation --- src/results.f90 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/results.f90 b/src/results.f90 index d1db96f47..21173c512 100644 --- a/src/results.f90 +++ b/src/results.f90 @@ -767,6 +767,10 @@ subroutine results_mapping_materialpoint(homogenizationAt,memberAtLocal,label) end subroutine results_mapping_materialpoint + +!-------------------------------------------------------------------------------------------------- +!> @brief current date and time (including time zone information) +!-------------------------------------------------------------------------------------------------- character(len=24) function now() character(len=5) :: zone @@ -778,6 +782,7 @@ character(len=24) function now() end function now + !!-------------------------------------------------------------------------------------------------- !!> @brief adds the backward mapping from spatial position and constituent ID to results !!-------------------------------------------------------------------------------------------------- From 9076fbe5259de0bd7a2e0319e5a4686374bf17e9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 23:05:31 +0200 Subject: [PATCH 114/958] testing overwrite functionality --- python/tests/test_Result.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 4eacdee4c..4de8598f7 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -1,8 +1,11 @@ +import time import shutil import os +from datetime import datetime import pytest import numpy as np +import h5py import damask from damask import Result @@ -81,9 +84,34 @@ class TestResult: default.pick('invalid',True) def test_add_invalid(self,default): - with pytest.raises(Exception): + with pytest.raises(TypeError): default.add_calculation('#invalid#*2') + @pytest.mark.parametrize('overwrite',['off','on']) + def test_add_overwrite(self,default,overwrite): + default.pick('times',default.times_in_range(0,np.inf)[-1]) + + default.add_Cauchy() + dset = default.groups_with_datasets('sigma')[0]+'/sigma' + with h5py.File(default.fname,'r') as f: + created_first = f[dset].attrs['Created'].decode() + created_first = datetime.strptime(created_first,'%Y-%m-%d %H:%M:%S%z') + + if overwrite == 'on': + default.enable_overwrite() + else: + default.disable_overwrite() + + time.sleep(2.) + default.add_Cauchy() + with h5py.File(default.fname,'r') as f: + created_second = f[dset].attrs['Created'].decode() + created_second = datetime.strptime(created_second,'%Y-%m-%d %H:%M:%S%z') + if overwrite == 'on': + assert created_first < created_second + else: + assert created_first == created_second + def test_add_absolute(self,default): default.add_absolute('Fe') loc = {'Fe': default.get_dataset_location('Fe'), From 9855c617470ebfbe1a85e705fb1a68e4c58f033d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 23:39:19 +0200 Subject: [PATCH 115/958] store vtk file in tmp directory --- python/tests/test_Result.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 4de8598f7..6d1961823 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -292,5 +292,6 @@ class TestResult: assert np.allclose(in_memory,in_file) @pytest.mark.parametrize('output',['F',[],['F','P']]) - def test_vtk(self,default,output): + def test_vtk(self,tmp_path,default,output): + os.chdir(tmp_path) default.to_vtk(output) From 6f7c7005b0d0d1d61d77144ebd843451ccd0bf28 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 23:54:06 +0200 Subject: [PATCH 116/958] bugfix: - proper overwrite - no out of bounds error for empty time selection (just pick nothin) --- python/damask/_result.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 2ff3701e6..021b66d4a 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -146,6 +146,7 @@ class Result: choice = [] for c in iterator: idx = np.searchsorted(self.times,c) + if idx >= len(self.times): continue if np.isclose(c,self.times[idx]): choice.append(self.increments[idx]) elif np.isclose(c,self.times[idx+1]): @@ -1031,7 +1032,7 @@ class Result: try: if self._allow_overwrite and result[0]+'/'+result[1]['label'] in f: dataset = f[result[0]+'/'+result[1]['label']] - datset = result[1]['data'] + dataset[...] = result[1]['data'] dataset.attrs['Overwritten'] = 'Yes'.encode() else: dataset = f[result[0]].create_dataset(result[1]['label'],data=result[1]['data']) From 7f09c90c7db51763f263d2ec43b3cca8cd9cd3ef Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 26 May 2020 06:39:11 +0200 Subject: [PATCH 117/958] different h5py versions seem to throw different errors --- python/damask/_result.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 021b66d4a..d0f437d72 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1045,7 +1045,7 @@ class Result: creator = 'damask.Result.{} v{}'.format(dataset.attrs['Creator'].decode(),version) dataset.attrs['Creator'] = creator.encode() - except OSError as err: + except (OSError,RuntimeError) as err: print('Could not add dataset: {}.'.format(err)) lock.release() From 88c49fc4f4498a75cabe0cb58b81648084fb25da Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 26 May 2020 06:48:52 +0200 Subject: [PATCH 118/958] also check values --- python/tests/test_Result.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 6d1961823..92e61771f 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -92,9 +92,9 @@ class TestResult: default.pick('times',default.times_in_range(0,np.inf)[-1]) default.add_Cauchy() - dset = default.groups_with_datasets('sigma')[0]+'/sigma' + loc = default.get_dataset_location('sigma')[0] with h5py.File(default.fname,'r') as f: - created_first = f[dset].attrs['Created'].decode() + created_first = f[loc].attrs['Created'].decode() created_first = datetime.strptime(created_first,'%Y-%m-%d %H:%M:%S%z') if overwrite == 'on': @@ -103,14 +103,14 @@ class TestResult: default.disable_overwrite() time.sleep(2.) - default.add_Cauchy() + default.add_calculation('sigma','#sigma#*0.0+311.','not the Cauchy stress') with h5py.File(default.fname,'r') as f: - created_second = f[dset].attrs['Created'].decode() + created_second = f[loc].attrs['Created'].decode() created_second = datetime.strptime(created_second,'%Y-%m-%d %H:%M:%S%z') if overwrite == 'on': - assert created_first < created_second + assert created_first < created_second and np.allclose(default.read_dataset(loc),311.) else: - assert created_first == created_second + assert created_first == created_second and not np.allclose(default.read_dataset(loc),311.) def test_add_absolute(self,default): default.add_absolute('Fe') From 670e08468be1cc67d53dc1b41796bd5113c4ca94 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 26 May 2020 06:49:29 +0200 Subject: [PATCH 119/958] reorder tests depend on other functionality that should be tested first --- python/tests/test_Result.py | 58 ++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 92e61771f..772cf4734 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -83,35 +83,6 @@ class TestResult: with pytest.raises(AttributeError): default.pick('invalid',True) - def test_add_invalid(self,default): - with pytest.raises(TypeError): - default.add_calculation('#invalid#*2') - - @pytest.mark.parametrize('overwrite',['off','on']) - def test_add_overwrite(self,default,overwrite): - default.pick('times',default.times_in_range(0,np.inf)[-1]) - - default.add_Cauchy() - loc = default.get_dataset_location('sigma')[0] - with h5py.File(default.fname,'r') as f: - created_first = f[loc].attrs['Created'].decode() - created_first = datetime.strptime(created_first,'%Y-%m-%d %H:%M:%S%z') - - if overwrite == 'on': - default.enable_overwrite() - else: - default.disable_overwrite() - - time.sleep(2.) - default.add_calculation('sigma','#sigma#*0.0+311.','not the Cauchy stress') - with h5py.File(default.fname,'r') as f: - created_second = f[loc].attrs['Created'].decode() - created_second = datetime.strptime(created_second,'%Y-%m-%d %H:%M:%S%z') - if overwrite == 'on': - assert created_first < created_second and np.allclose(default.read_dataset(loc),311.) - else: - assert created_first == created_second and not np.allclose(default.read_dataset(loc),311.) - def test_add_absolute(self,default): default.add_absolute('Fe') loc = {'Fe': default.get_dataset_location('Fe'), @@ -291,6 +262,35 @@ class TestResult: in_file = default.read_dataset(loc['V(F)'],0) assert np.allclose(in_memory,in_file) + def test_add_invalid(self,default): + with pytest.raises(TypeError): + default.add_calculation('#invalid#*2') + + @pytest.mark.parametrize('overwrite',['off','on']) + def test_add_overwrite(self,default,overwrite): + default.pick('times',default.times_in_range(0,np.inf)[-1]) + + default.add_Cauchy() + loc = default.get_dataset_location('sigma')[0] + with h5py.File(default.fname,'r') as f: + created_first = f[loc].attrs['Created'].decode() + created_first = datetime.strptime(created_first,'%Y-%m-%d %H:%M:%S%z') + + if overwrite == 'on': + default.enable_overwrite() + else: + default.disable_overwrite() + + time.sleep(2.) + default.add_calculation('sigma','#sigma#*0.0+311.','not the Cauchy stress') + with h5py.File(default.fname,'r') as f: + created_second = f[loc].attrs['Created'].decode() + created_second = datetime.strptime(created_second,'%Y-%m-%d %H:%M:%S%z') + if overwrite == 'on': + assert created_first < created_second and np.allclose(default.read_dataset(loc),311.) + else: + assert created_first == created_second and not np.allclose(default.read_dataset(loc),311.) + @pytest.mark.parametrize('output',['F',[],['F','P']]) def test_vtk(self,tmp_path,default,output): os.chdir(tmp_path) From 5ad7fe04d0ac1436670a4bd871a7621b75af793a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 26 May 2020 07:15:27 +0200 Subject: [PATCH 120/958] bugfix: used wrong type --- python/tests/test_Result.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 772cf4734..11395b23f 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -271,9 +271,10 @@ class TestResult: default.pick('times',default.times_in_range(0,np.inf)[-1]) default.add_Cauchy() - loc = default.get_dataset_location('sigma')[0] + loc = default.get_dataset_location('sigma') + print(loc) with h5py.File(default.fname,'r') as f: - created_first = f[loc].attrs['Created'].decode() + created_first = f[loc[0]].attrs['Created'].decode() created_first = datetime.strptime(created_first,'%Y-%m-%d %H:%M:%S%z') if overwrite == 'on': @@ -284,7 +285,7 @@ class TestResult: time.sleep(2.) default.add_calculation('sigma','#sigma#*0.0+311.','not the Cauchy stress') with h5py.File(default.fname,'r') as f: - created_second = f[loc].attrs['Created'].decode() + created_second = f[loc[0]].attrs['Created'].decode() created_second = datetime.strptime(created_second,'%Y-%m-%d %H:%M:%S%z') if overwrite == 'on': assert created_first < created_second and np.allclose(default.read_dataset(loc),311.) From 520dfe216ae97190f974be202e76b95f954209b4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 26 May 2020 07:57:32 +0200 Subject: [PATCH 121/958] cleaning --- .../tests/reference/Result/12grains6x7x8.geom | 66 +------------------ python/tests/reference/Result/material.config | 3 - 2 files changed, 1 insertion(+), 68 deletions(-) diff --git a/python/tests/reference/Result/12grains6x7x8.geom b/python/tests/reference/Result/12grains6x7x8.geom index 7bb4a3e4d..4e6836bb8 100644 --- a/python/tests/reference/Result/12grains6x7x8.geom +++ b/python/tests/reference/Result/12grains6x7x8.geom @@ -1,68 +1,4 @@ -68 header -geom_fromVoronoiTessellation 2.0.3-1073-g6f3cb071 - -[Grain1] -(gauss) phi1 358.98 Phi 65.62 phi2 24.48 -[Grain2] -(gauss) phi1 121.05 Phi 176.11 phi2 295.73 -[Grain3] -(gauss) phi1 43.79 Phi 113.76 phi2 345.90 -[Grain4] -(gauss) phi1 265.15 Phi 62.52 phi2 299.71 -[Grain5] -(gauss) phi1 221.23 Phi 26.54 phi2 207.05 -[Grain6] -(gauss) phi1 249.81 Phi 61.47 phi2 152.14 -[Grain7] -(gauss) phi1 332.45 Phi 99.16 phi2 345.34 -[Grain8] -(gauss) phi1 312.27 Phi 118.27 phi2 181.59 -[Grain9] -(gauss) phi1 303.10 Phi 48.21 phi2 358.03 -[Grain10] -(gauss) phi1 338.26 Phi 48.11 phi2 176.78 -[Grain11] -(gauss) phi1 115.17 Phi 56.54 phi2 223.84 -[Grain12] -(gauss) phi1 281.04 Phi 97.48 phi2 27.94 - -[Grain1] -crystallite 1 -(constituent) phase 1 texture 1 fraction 1.0 -[Grain2] -crystallite 1 -(constituent) phase 1 texture 2 fraction 1.0 -[Grain3] -crystallite 1 -(constituent) phase 1 texture 3 fraction 1.0 -[Grain4] -crystallite 1 -(constituent) phase 1 texture 4 fraction 1.0 -[Grain5] -crystallite 1 -(constituent) phase 1 texture 5 fraction 1.0 -[Grain6] -crystallite 1 -(constituent) phase 1 texture 6 fraction 1.0 -[Grain7] -crystallite 1 -(constituent) phase 1 texture 7 fraction 1.0 -[Grain8] -crystallite 1 -(constituent) phase 1 texture 8 fraction 1.0 -[Grain9] -crystallite 1 -(constituent) phase 1 texture 9 fraction 1.0 -[Grain10] -crystallite 1 -(constituent) phase 1 texture 10 fraction 1.0 -[Grain11] -crystallite 1 -(constituent) phase 1 texture 11 fraction 1.0 -[Grain12] -crystallite 1 -(constituent) phase 1 texture 12 fraction 1.0 - +4 header grid a 6 b 7 c 8 size x 0.75 y 0.875 z 1.0 origin x 0.0 y 0.0 z 0.0 diff --git a/python/tests/reference/Result/material.config b/python/tests/reference/Result/material.config index 0b0808a12..4820b1eed 100644 --- a/python/tests/reference/Result/material.config +++ b/python/tests/reference/Result/material.config @@ -124,6 +124,3 @@ a_slip 2.25 h0_slipslip 75e6 interaction_slipslip 1 1 1.4 1.4 1.4 1.4 atol_resistance 1 - - -[dummy] From addc4c36d1b6dbbdd9244519ab3574ea4c318deb Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 26 May 2020 08:06:39 +0200 Subject: [PATCH 122/958] test for XDMF writer just ensure that it does not throw an exception --- .../Result/6grains6x7x8_single_phase.geom | 61 ++++++++++++++++++ .../6grains6x7x8_single_phase_tensionY.hdf5 | Bin 0 -> 2025856 bytes python/tests/test_Result.py | 11 ++++ 3 files changed, 72 insertions(+) create mode 100644 python/tests/reference/Result/6grains6x7x8_single_phase.geom create mode 100644 python/tests/reference/Result/6grains6x7x8_single_phase_tensionY.hdf5 diff --git a/python/tests/reference/Result/6grains6x7x8_single_phase.geom b/python/tests/reference/Result/6grains6x7x8_single_phase.geom new file mode 100644 index 000000000..14cae0973 --- /dev/null +++ b/python/tests/reference/Result/6grains6x7x8_single_phase.geom @@ -0,0 +1,61 @@ +4 header +grid a 6 b 7 c 8 +size x 0.75 y 0.875 z 1.0 +origin x 0.0 y 0.0 z 0.0 +homogenization 1 +3 3 3 4 3 3 +3 1 1 1 3 3 +3 5 1 1 1 3 +1 5 5 1 1 1 +1 5 5 1 1 1 +6 3 3 4 1 6 +6 3 3 4 4 6 +6 3 3 1 3 3 +3 1 1 1 3 3 +3 1 1 1 1 1 +1 1 1 1 1 1 +6 6 3 1 1 1 +6 3 3 3 6 6 +6 3 3 3 6 6 +6 3 3 1 1 6 +3 1 1 1 1 3 +6 1 1 1 2 2 +1 6 2 2 2 2 +6 6 2 2 2 6 +6 3 3 3 6 6 +6 3 3 3 6 6 +5 6 6 6 1 6 +6 6 6 6 2 2 +6 6 6 2 2 2 +2 6 2 2 2 2 +6 5 2 2 2 2 +6 5 5 2 2 6 +5 5 5 3 6 6 +5 5 6 6 6 5 +6 6 6 6 6 6 +6 6 6 6 2 2 +4 4 6 2 2 2 +4 4 2 2 2 2 +5 5 5 2 2 2 +5 5 5 5 2 5 +5 5 5 4 4 5 +6 6 6 6 4 4 +4 4 5 5 2 4 +4 4 5 2 2 4 +4 4 2 2 2 2 +5 5 5 2 2 2 +5 5 5 4 4 5 +5 5 4 4 4 3 +4 5 5 5 4 3 +4 4 5 5 5 4 +4 4 5 5 2 4 +4 4 2 2 2 2 +5 5 2 2 2 2 +5 5 4 4 4 4 +3 4 4 4 4 3 +3 5 5 4 3 3 +4 5 5 5 3 3 +4 5 5 5 1 1 +4 4 5 2 1 1 +6 4 4 4 4 1 +3 4 4 4 4 3 diff --git a/python/tests/reference/Result/6grains6x7x8_single_phase_tensionY.hdf5 b/python/tests/reference/Result/6grains6x7x8_single_phase_tensionY.hdf5 new file mode 100644 index 0000000000000000000000000000000000000000..7812f82e857431d0856af9149794358d84265875 GIT binary patch literal 2025856 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

cp|Wj_Q~JkTmC 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
b0<{`1{c5kH!A6Orp+i<;YJJ4@? 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
w1%?ANe(E(L0{p{9U}hl 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�dyj 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⪙Hc&>p1dUn%2Cq}k|3D^c$<26YMj38rvf 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

jKQ~Lq8)Sb^Oo|dEF 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 z%0A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
  • ~aFv{2l*0PPC4R3| z;gNo%p;ong8|S&8$89t!CjlC`z3Z-655k$Sn`u7>+fnS%JL5sNB$Q`+cWwpeg|}ys zx=J_Z(e^ye#F`nD6tDVLuo>r#qkjK<@p?Wm|5AY;=Xut5Pcw~agFqak8l9j(!OTv^5XN;g^7qg~ zV+vxqz#e-svkBHCoj3eD&qQVHDtqV84x{2wW_H~TCQ?7CzZ`n092kNVCrb0_XoGZ- z{HNm-I5)5PGwJ#;2qc~PdIaZOJqj@5kqPo990F-rxD1bH3-4H4V>t#JtfAFGiz7zuz3pqT+M%b|gDqGO{d{`g=K; zg65i8UjB$AqC3O~x|cd;fQx*}aJr-iAFp8yd<^}UBxAnCASTFrO;6R_Y=*vCWv)kj z1#NhGra<}mWg=#cy_w|+e#<7ModdtYUsbu__RzDX9DklT%Sm*~MVaEX_92yWtfyO~ z@elNv)jTmv?MoWU?KRt-vz>s~d#?1`r`o-Y8;nbt{mZD~(Koer*&yRr$`+MO7DjGT-Jd+qAvVBOiA<980ix}W^H zr6xKZepjE0x|@9tdOj2wwZK)5KRIe{1i-p8mRy)z>dQbGEAG(^$Mf*HwxRm_C(;np zVfi1%@Elo|8(#vU|EBMawdP#T4AzqsXp{u~e0GWFocd!L`dH03Z;6v`!V*LJu z26?g5d(T~gzGG*F4=;-QQCFKQjuLFcmxQ*x=?o|0(igA(@PqynAD)k?8788wEPM3x zAub>c-1BcJ?ZE-z&7V_aq2D~3TkVHSFOoinSjqSMQQigpVZ)AA98!pdr>_$6sFZKc zEzm6o@Qt2nc+a)HG3O0Fm*G#3{+vnIA)ta)h9COZ%dp4_k**Kt*qy9Lp3l9~(DQ`F zyu9XoeB=E&n^x6ibbWHPRt(n5c*o z`lx|UZ(k!Kl_1yX_XRUJ_2p`|3;61LLv#f12GNjF`N;#3cD?AZyZ4k`5BRjis5+<1 zZTLvBtK8SeM0`JJde9%@vKXiH^xVYF z-X8qPq9IHm0s6>G3Y=Yppda9Y!^7SA{pgCI(SVR@8+P-VoMQ|k;wPuwHcr6bNtV8k z*#Y;mSXcj68{>M!_2t{+5V%iw5{-H^Kp$4zB#VqY&@ktQwN`Ib2@2(I*dAU+#VSi> zE&DmiC`Us0_%&k+s;fAjlITdrdBd@sBgOUTYRVE?sPQ!(#J1yx1~GGeIU))sf6phG9N9cim0qNI(-tKaLv?^R%Gs7vp` z<+uOZK8EiwRo!%mRkasc$d!KW&ge&N``5pYGUAq^NmYed`bNZ2cR1Dumn>L(KOI+hQ zPsCwI2vLy`&jdV(JE)*aM5PyPK3^oxV70EkgbYFtHn3%^STCg^&iC@lh8sO-lA5fM zydUDYtu}tMZ(8x9RLxK;9}!2)ZZu4m(@->BFqawpmQNh(yQiSu*`v#2X9%KU3yp8$ zo~jh=<}AG!3;tNVZ+W8K?IJ`|Z2ejc=kr?d5gv#6Ate0nw(_N13W_(@YQMt^{mWYu z53oQzI3KTu{zK67oYPsd>gE)jwfUc_G@Q@6#b2XuSrwsj>63!vuwE{9yXum+kPcBay(B;qDZz#aJ`?)p-DC$vgZun4+iY*P(i@%y~-Cu;< zq7QutD24hD*2)_`vqNaU(DPcp8wEMPv9lbyHjZ?pPV4hRpYOHd6D9X|K;KlbX#A$M zNwoI4E;ILW4HirTj*{*KKHvAP@U2e=R&06eTX>mJLr~1!5D@7%@oZ2gu2M%PQ$Fs_u(Hyxe0^xbd1uMC$SXez8IPC3di1Boo$M{D|wJ35Z|s zH``tyCGemrucB!xB)3GjX1=Z(Qp&*mCwtEDR{SZa=wTY4Ik}Oj@V>Sglb*S z*2y(earfUIEBo(5NacA5*~o~3>a)a%A3evBd6n2?t0x&rYHl7CV;zV20S2`zNt1|m zo7Aiwe=R;GvG8nBV*<ZN=jV@jyto4T=eRLpU6+PW>~Zj9Iz_?qo|G>R_B1?15#s-RqX<2xtaO>d zci8f2pT>vjAw)Kf?QQ_Qv9dVPp6gCTx)srCmY@$?`JcaLZGm|C%iAPJxF`Rmlqy?& z??E05KXdm~^&_36>s23<+HkMbpD}9}A{J@WB-XfKg-_Z1 z&E+1vSc~lQ!6)cZlFsqf>qYNw2)GnwLR=umJhgSE6@Ltoqs+V^;`#&RZ(49pMTTDT zGK751n{838v2P)N%B>33>CH)(iJH9QeJ(6DfqPazo&W6Q;U(!N9NRW@aL;lKkRz~=X~R@h^0V?o7m(Au84zP zmGA62m?H=MxL>X-zJhb?OjS$KAJD7OwNXk+pjSf@U%A)i7bC7rqpNceUnEa||ELQ3 zP{OIHeLNNT39&x||MU`3`?J5HB5=+-5g(nYf8B#kbflOV!@*~I)b{<54&*60lCR$Y zf2@hcOk3lA8}{YCda?8p5hr{Qh}469_+#^-2|ZXZg_hlO4d9FJu%B%{KGTDNwKMV| z1biK@t$*8Od(m~S^et-iew1p5@apHI9MG$z&o$3n ztjqDkwE&U9qCB)xwvMtg8&e*vFMMj|Kt+WZHDi&ny`Rn6a;PnRd z`1+-;Ww@7*UQPGbkEGzf)re0r25`=QYWc?etQf5}EIs-P@dbq;xt9m}G4mYPiFZRO zD0o13{{Z;v7Q1JxdzH#@V~*X&W!^j#*LBBfp`;8;3%&WU1N5^YNob^7BOOI9UCQ1` zAYjI<@xblnuhH2~?;e=*hc{h()iU>gJ|)I>e>h_W*85QT;+{bsl3Fc)_tXaRSZ6;f zmw>;zwbimJ@KOfaOuQBGZCgIJ+SK{J=1wY7q7Rhi!*f_;%ZcisGg~ze99WMl$G7e^ z6cM1FpT;=5cVSC8Hn+@q%nbh?o!8_bf>Ju7HXO1kgSs8(j6>?r>Ru!BTh%#J@SJa1 zxy9LybNK8fm&WUa3e0y(^@eK%0gYbVzwqQp1%AVEeftUc_f(=>2XoMav;3d&74`z0 zx#vuM=H^%E2n$ooQ+Up5*1VT=2juZL5>)Ph4j*vu+rF3HgG+ZEu*v~_9WJM%z7F*p zn;t}KcY1+t(c&J_&S=HII|aBt#t?DbriyAksF(QJJeJtZLPCVoxn%;N!(&30m=l6} z@Xh4N#xub*q|$lt$vvnO9aH1^76s>zwWnyeJ7*i-QvG4a4ye0GIrgrt4s^JqGV!z% ztk-e9U+j0Dm*NVAr{#aW^U#lk%MGKdrI;*Y!k-0sJ%$S%2aQ6ZPvL<0J&(@>JfW4- zDIf6)g+yc-YC&F)dOY-Y2fSx-^6TwhkZ;ms+5PRI8v)%q;r`~;o^q_y7kA|UIc!{# zvV7IEX-H5i&R1r00S9#hApCrn-s~pOKkJ0|P#XA?x z9v5|(=`X|gK28t~l9Pm%-2E)ocyl z4D}ltr22^36X4Sx>wi-PzWPF4f|K`&HhfUW;Lf-l5xXDPF#HL6BU8s-uf&y%8TQRd z88JiN^K+zsy($fVH$U}ko}YpTI0mBaZqx87$xqS0jEhltsE2R`_$?B0d=eLyhtN== z^5rY>6jZamVO}Z#`#t6C`Bbq6ICx`N*uaOS~7^&+I$ z!nsEXe9W4EY)^*Thfo;*wmxw~3Zf02|66zrIEp^&2l3|y^nQ?hvj+TL>z_hiMfMa- zWk_=00eaqh-1K>4XCc~nC^~En_r>uD;QsP6#p8CM ztJ+`eu>4wHgzV27kzI4Bxc!#keFsr8`bT_yM8*r=vu>SBp$i#1-eVg4+th&CDpWi6 zo}pp;YKt!{;IF=qIcoeEewWt+r)a0;LPVtw+6TkEY%6OkcmeeDzOYkS+zk|TuWpf` zWeel+LahQ}EemB{uV*=eYucQ&TzL%}Yqd&&xL((o=> zg24NaMToxp(B6a!DxNNSck=kpA;fh2cchIn_y*P0GuW6Bk#WbOYguvo91_&Fr}e+**m%~{tz*5?lQ|= zST9bKRyVQ*8L4vJ{l)kT z@~S4h*P$&b=+)&IM=h( zS%+DZ0^H1ox9rg06l1t$c`ypz^AC3#1$d|4La7=Ct-yygm%BFiu?Ao3%X%>cywkPa z!5W4W?YL@Gx6HnQ`VVP8m=hxW#UZh0MGuEGHE z`!O`TJot`?_6an2t$-h{)q1z)!%z=aZm`UJ260Sly__){)b|R=!cr>sBSKNk+9T^$ zd{vBD(fm5}YgLwOufcg}{JmFYs)2}3aV0yBL;R(i9QjKg@{GCt1MQ5Uua!hLXQ)8k z*Xs5Y?1zDWXi?Aft9Mfy_T!3y`w@*E2Y2_Y~*9 z$sQbhZh3VH{P{TPt1Bl{funf2H)S5Ue025f6}{M2?8u?j{1EuI>yi!?%y2JLn+Vk< z?&IiFczmVuF*0giAsniMK4hZ?!$bD(f%_EXEE_+I@i4*U#jn#7`0#Xt`z2%GxV9#T z3cAtIIn&(ehA|@ETHW{k6>yE3C5u*{LLG$=P1xZjJZJ6do*#q2*Wz8&jz9Yp>*>tUT)ol+H zAKiFR=y9F_>P0VyPg=nK^2v7BJD5*HmmPSoH8&B_ai5{KF7QRgwX2Q|iu7XM8%T`eg?mwV%W8*oe?NNYmBn1B)rKE#8~zg0PsD`8Iz-8nLlQ4hN77=@TG(O$;c!x$s16um`WYGxtIwUs}4g=_a zuN^*f@*QxFdek0YsSBJ&TdtOB8Htckl8MM3o~>kjELC>F=4k`koPN;574DfKk%Trz zbqbz*?NM3+>-Bs~ogOW_5DlqoU0jCsT7OA$4Ei>N^bf`c-M>UZEHA^49~Kv5@axJAt(rvRO3;?0d0kAesaUC^TW~@L;)@=` z^Bk@eB?UQB8I^IpUqO`X{Guph-R zRXh7Ewc=El%*d#%M11`IFZx~ZzZgS(Z+!zjwoO6pR%~TC?ov8cd8m$nTt>^v;(5xk z_hU5S2D&clA!lii0Z0OX$=F<%JKL8 zIR;oitJSl$RNx7lYP-8L!E-b_m4C27-5|(bx364X_#}Ju`jGWB7K+Gtrwx6z6kHAUP;mLp(xoqhztHTuTA4NZqcw&!B#@_?Goe?Gya?NB^A#{ zDIA^sJA~XbTUmGXP>^_f*DiNwGCucO%<0o$1A3%+@$(DNEehrVuDOsW(!LkP>t_YJ zfw8eZ-lz!Wx=_xGq*C#$%Ah7ABN@qU-FvIGn1cNN`PS}&y077qsZT8z8_>X!vGxei zhl9*E$qw5o*niW`Qq8+GEP-@Bie4;2%KKPmPSio2=(n10nTGDrK+P3-uo>r_zEiLZ5H;c=ez^a3RbodSku{|Es;sOgVk7YAn3dR;H#q3bOQG=xFXPt^r;h%cR zx)P|L-n^WkTQh_v-B;X?g5Q!YJ@;1j&k$A$dDeQ-AL{h9&u1Hh50QL-CPE3Gb7&#{ zR5q*^okg9%E?0;m#}~2%da3w(Z~d}P&JY^=anx*^76q~YK6LgL^!XZAJr(D@M@CK3 zyEgktjibgbH*^~6KyP^6S_opO#h?Ams{TR0@S+p(C+S){KDm1Fw68Vv18kZ8rzAzf z(rPIRfnwu`JS<+Cy8t}D8#eDR9qqs!8;eSik3dJ9U&dW0RO4^Wt0mfpX~>qW3c#pw z6#9TWQuodTj{GTe&;j^A3t31ZS#})RKNBjLhWd2*-7%;13p#Kr@zLo&@EzD>2*zsI zRN>7kTEX@@G<38g_`+wMhIav6Gh|_j&m`(tHsM6xp+P=+D$8EC5 zEO5R9Ybv?p4B&~&D7#gM`Bh<=u+Em4qclXB`ZiS!@drcdj&?1*39RKVeKqSZ5$5dP zDX=(8#sS8BHgE1w@cotgq)U*`b|D_+u4$=9UprH0EJtYg@a(7g-3(+D9OO06HadgZ zEswkyj|9I=|5`@25(V+5RJvNh^N;iW2oT+vL`Qx339;LNqtr(KDyK(Ati@9-@=O@( zNbQ?g69j!5Yv8bWbR2P5EYhYNCh)7Z;*{(KBIvoeN3pOk^5%A!M?#;L&93ZMPOa@& z{&VFS8Fey>>&yLjM!W_OH@f@R?F8P>Gv9sc@b|vU{LUiqoCjvIn&}WX?G}G@Z57@> zU1YoaUf>;0{WyN;5A^NZ+|=*ia3-T#_o_Co50%(-MRBU_G;q+f3e3)#055T-Wb`aN zr+Zkn&pwujo$k<_C->1&;yvGr!!nI1C`ic6l01N{>Fck?x{1Ks-Dhi>2E4Ixk1RW< zX{0vq{Ma)(4Bva*&K~4N$8RpTpM9)GLYsr``X1~AJy0-Eux{0ev^&@&qt*w|nWTxg z{&XU4T{zGk`*aZX{y8L;d}A6({~hQ{poHV;ErU+_wRF62>F+=S^v8;19UW93h5D}i zK*=hLM#L9wRTl_+N*%6gS8w2wQ(i0H-Vq2K5nqKJRlvpBnqi$Pv&$b3`F|IpgwXMO zFH1jH;9kbZ$8En0eJ=eaha42(J#Q0B+dtLRj;}ty%0H&klPvJ~ ziJt}|;kz|f(%eAM4^Qx~bUX9^?|;u=7z?}v(+`J+F>pzLX}=SlGU>qe$-Z0gBQnb7 z(c*aU750TG{b8;i_&iiDe`Vm)`&lOX&H#r_Xnx{fB?-9k{y{CZXW@HTQ2m5qz0xh& z1eNbVJglqBMuPptX!7WeGOg_p=wJ{MK4^8ymzO!5?p34C}$? z8ch{9aeYOvRtTXRQ15u`>i38TBT(;IMGoYA*@#~79v7|OGl;5`NB+LrAmY!0_b*we z45Gz?nSF=dr%~Dk2KGM9$Cy!bb;ryTI-cib_{nvHggSRUOcDZqW>^ua>%3+I5=lwk zH?lf_iqkjI%0bN=b|)ABZ{JDx`Yc3qP5&MW|{54ndQ22J~IfO6YH&`7%+_v@d{4&AAgF; z1$76OHRw3WmTM#LI`n(jk){S9ZVToymCye)iG*4&;C6^(DaC3I2O+=mGVl7Y(!6S1 zusB;)r$IyBcHz$}A?_n6=}mNNPT)7ZCW0lvuS;Mu>{6uBP^cb%M&R*A^zBxJln(PC z%DE#tBSIx&QoivG6g-G1v!;@AurCNRTz7wed4k*Gy1iZ`(lIXj_V)?!kr?Ywhm((z z&>#1=R16`2AXl=!K|Fv?}DyCa;*kcjs@zCx^wHZIWj2^01PfwsSAK{pX$V zfg?m*I9B}e(T5&vkzxM44gC6CRUwtrZy>Jzv_=}-K}ToqYW`e2-GCG~?R8q189?So z^bh#Mdd<{yo3q0HsyZ%jTnqc_qQL7T*FvN5E;c^@Q_ghU6(GcyBLRIu+gqjGfM=!c z(fh74rvYVK2B(b!x9Frqjng>fqs)1p8)usV2lV0i+S;9IbRp8vWbw~4sFOXopLCgy zQwCBet>()5MAO<=b?Db$WEQ0$zr|r=4+5mcL;w>+`O2nw}(W9xGgGhHi-S@rp66neuBNBUi;&9jO9-ez}j;%1Frf*@ulL~Vw;bMkM5%$hFy%l!!IN2QwyHs>I3-XMNKa+Z~joOon^o_^babZ#9yd+hH3+FR6aVYiQj zNzuVwhOjS;=0ohi!+QNvT$%pa5`kqR^~-1MU|xvR%KRo361r1qCD6Brj^40Dc+oT) z(O13eo~~kp=(b;9vfM5bE_gnEN;qT?b?OlPDuC~`Y~A1;&l!d#*j80OsnaoG*lAyc zBk4R&80rl!MwACJFpei?MA{yZs`2IqXB-+`t{p#`ClTWg`d!zM4m=_1=91$9@p)V3WAFKD>@%sdEmITvHurqGYYBgE z6yo9g4d(HTbzF>{f$uetTJ@n;k&NjP4QVGpZ;-a*cLq@JxOOCA{^_TBl)^ui=J%S0 z4-~eh+lZ5qY>)Sz7-p!yqY1n?3Gqgez7D4hAf68VRoZxzOY_a33m*h{CI>#2lNCxf`PAh`#|R{h?}lSA~Rp$ z&&iAnPF#N)93X+Wor|>wOCID~3L@q>+>LtkB1Hr@6XvyYw_>7%(#+ z*z_XX_tNJ|-G@=pV20I6;FBcfR#K=6R79vdYp%^nLek%yK3v|}g_Xt)p&M5% zKQQ)C@q63I94k+S_-T@7w?x9}?Cp&|QR)_bF%$7C|v{4896 zTl!?rgn=3fi-7^uAqX1V5T^rzj5UOWeH(Cw=(9uhaa(9nc8%#!a@2 zN;Xt9*gQinf_hf2>|?*(pLODi_g~#jC}T*j!}|AJH`M*qWam5np29ce4E6&m0qwXj zJHAbP7=;9tKlt%_6g3WY-pN&_A~PcuZhj6DTFC!E(W&UfKan+aP3suq(H9u2nuK~> z#eAbDho-U3mW{|e#9maqbiYpE_%O;T&r6R{26yy+6kzq`XPT-0`!mkbl1ii;8z}L zqC5%HZANw-*x=MS*WwMROBPkru-H?BE7v%`IIGammloEe!f=o8lWC@tz}L?F_wWD) z9T_XMZ)mC+>W*?YrRT*pqNn*sgq;`$(c9-SF~aa&Fy&Nlv4MM;8tA#$3i~2!mVPtv zmnZI`2KBOL(y?%gnW@hi5^9by>q z*Ot`cJi%-C`w!3%`%2@B^j+iV>es!Or9&og-P~Uv63mk_3#l&%(;i2{7s$gCzIwO%F^;+)rj2j=1zfIKVebxB@ZWQ)Hw-UBToTH}RB)#n>vxnN;sL#C!MylK8~(qF zKIKhb;Mczm&|gNyM4T~jx^UlSI*J_KB#?uU&B)IlFA&1(K_R(XW~U0KQ5R0cXBOPtfg80O{VtOm_Z z(hxy1I5)q&0ma_?eoKFT039>!dE3oO!WsNgcYb;eqJy7~+??eXUD3m5I14*EuT$H$!Mq1bY99MjLjZC z*LWigeL4fh<+|{_)vPb&-UR=*r6&Hc?+g*wN~`B+!+Ykf1*|KIaWQle`O4t(+LZm9&+r9DvJo(}Vi7z5w!$kGQM8N-4!-#8HqXjtmw^W(@X z`>1{Y=p;(*zNFWE5aNQGcjJ<i3Vs+>Jym%*Y;aZy5B#p|{W6+Z)lg2FuRs{ey`8S)p^P7zvw(UW(x;8bsnR0vpF+ zz2^GzG9Ld4#)*eS50G5xnB}?B(I+qms)Ko3|FtO^dXX|%`q~2S<)yMttDS@BPIP`? z9&kcMnfpeFaKHbco^VSAZYycpfb-GCV0@vXnME>)j@hqS3@E~SWuG!RxkCi_*b5eB zJ3FBc&BEsOW!^zV+rlR%59=i@W~yv{e-Ig*Vl&+UUbs&Y3jgI6gKfTSc@(cl#}CI5 z`;avWe7GMRhuG=px~HLhym%ve+1Y#Q>c#-7mXA+ofjIcM7`tOK%%xH@iP>=#o>OYK zuJY|x7*4X-U%%rH9Va}OEPVhu%~VgHD<|UNTb^fT@`3ZudA?Bi|M;|O)NBOeO5U4~%u3_vn7`dCB;qOw z-89hotF?)aysNERFZMN{LWlFACJ^U7x-r2+V1cYkaa z5m<`Vw0`S-I=dZ-t6-R)8XDu~P3mI1nV0s9Svfet?%E&6pf z0Ol~dh265LTu1{tGVuGu z3&uf2_;cNRJNWF{GP{_z`wb%3kgLJ{;D2u_R(VfRj>a6*uRpSw!}s&vIQf$*%v;Kn zEn|i_E@$d5+p}q?lM#LHA_L!{O;z~uwLLIzAxWix8GhI3nVus=cuqh2eE)vkNL(m# zoO|avI`G%tG0}ln;>N6ZWfjh!9@{PZg54W|XJK@0UStrxGQ%gh!H*GiYbh#=1)qN{ zD>4Pv>)uVKQ0?katjkpUZj%`u+XT<6T=5{Gi@ICq3^PX2(@(1L@o;}hm#Ig-gZ_V- zPJiU`%T9bV%uLh|_*x71QwTYrH!M#`|2@JzjcXN0*5+9H5Mg=FRnc@9rSJ+>Ud$Xt zOM(xzyWu&zy)In2$wWfsSr*iz>z%m&`-dBD(AUr1@TcVyg^G7_r?X-13}*=(MJ51!!Z{+@RqCNFXFF}5m}CUS~#KxGp2g3 zbi?`lWsdK+Bivs?tk#|cHOR~ITxN8F-!E|fOa66!I{GKWq)lFFKvV2P^-X+(h>;W| z_=1guzg2l%w*x(2su3CbXiCr-k?xDpbc zV*fb?V}&0iy%@;TXtCO-!2WXBrjUCF_%T41q*4mGweR|Q#%P3mA?=X7&+R`u&&gYZyA*Foavpq7e z)r#5FfnQ`O{eqFNXds1e$yglY9U|4TF2^9AF4$k*Bt4FHIQwupou9xdgusu)VImHf zdd*-4`rImUh?Y4qiN02oqU@l~)o8N-Vf-8!z4LfhSj2|0$g8@hp*=LjnwGftCGeup zKO35A1bz7TV$P}(_}^80XQSSOKM)wWU={L*>}P7W8re?Z?RH4>JM8C_&{OXf3rA5d(}TvBo>YWNw%$56 zMnp42+Thu(U6}Ro#33r^aCGqEv#~1RGdZ@UaO?&SW&NOQMnf-JOy8Wc{mL+sw3?dy zTfn? zaxC?rGc^zTNWjy3?{Dtz?mvn|bS83^1gR)Wx$3<==%W5f(OI5@A7z!L7 zp!ls&@v6d+rm;QKSklyO!XCI?Vd=*W->Ly`aE12j|M`p)RrRY|;XUUTI?Y+SbYPmp z>Xib0@I~9E5qY2ni>T6jUx6>`(SOh)1$5Vj?IG%6@U?!0u@jE9I)-c`inmYL~q0X66Iw&)K!fK)#9ykm0`}nOMb>B`1|OZD++$V8>P&1 zT)qpwOw^VOXddbuxGL_pJC01ElH}-fE8t_FI&)et6?{>ve$NM)aK9(a*K=(s(U4E_ z&MOtLzAH6WPg7yu)%7hi>U$=L_{{-+wfn$J`TlTk_El*r5@ivNRpbR8<(yi{NOLDH zb-VF+7xWMQO5r$UUJZS5*@tO)&=<%}YJPcn1pJ)NY=?T_Ywg!o5D^DXPI_i0C6$+o zOcx|JA3_lSmM>d$jdtK=n`8Al+rFchsWyT0V-PPe%E?&4d-gJa-)tz_eSulhqo#7!N{et_cFM+?aJ*a{yW(+ui8vI&wj8oVrV=z`9 zp7ZO%kNdp;fLrQ+WMgITFuK*^ac~d3AM#~Q;lKayuQ=HyZLtpAmiwke8uF0`0@L1W zjzHYxnYF!-5Bz71lAqS{P|qO5{Gbu^s@xgVj~AfML8La!mIva3&s&9?^FB|a+U;wj zb@w~)?7=sE>7d6HHUH(U7*yds>xMckpnq<2{UQ!%jiU@XJM|nV$QMvXKPT41K7D8* zd*M6qMw7p0Pt`S|bt7dKF7W-l1W!Dw1z$p|Z;{ju_j||sc9n9_^O4Sn*V)G&;BHHo ztHqvloEkhGrVD<;jr3ih9O-Dl_d~*-@&+U=to!{l+{;rDzw^9c|Mg_eYBRz8Wy`KS zh2cKsz1{Wuc5gTi6vUM}pri7({Dc$Q$FSNiyq)pjqbQ< zr(O-5ktfoskARc>CxUu}Gy{2D!S=C(z<0T1{H~=P>d%Ak^haHH9!9oLx1CW3fBvA! zZnr)bm@l#3cTxUH2Ns}7B+FSr9k9E#`~I>jTu7Z!U6+G83@&Z6{SY@Tu{dgILEJ=t z?iJ+&anqmZ^J?>;6BnPztWGO(XP?;m*I)`c3*T8At7VSI13i{ck zLf`1*>1aHYurl!B0v(5jEhWr6Bq7pUzTBd3;7{|`y+93(Xp;%Ug=K!=`0L-8_k}qq z8>G2_a=3Ra4J<}#z^6@RW(;gI_Q91a8QMnRkEPG?|2_?z&`}e&%RJzVz1dMCeLbKN z{b*8d9fkQw9Cm@3%-|dM6CDN!4+jy}$XA;M{WE!(t`hsp7stNjmU)&$$1mf=G-qmWbn`;pHqR*?f+$4O;;ZyT4#1|XUn*?@yOru7Ja24(o zk-*p2GfKTd$9LwdhX-K2+J7ntvcq@vcuB*A4|uCbt+U^>uC`;&t5#Ru!5pvTWNn`V z8a22pC@6wQk%mSF#Ksdrw%2Cm9Fv+Tl zi-bPye8DESALfPh*H>l$Pv&?3;im0SXY;|U_^ljpueC~!2j$oFLV5Hdr@gf>r$&5$ zzmyF1rQg>Z7fv-I*%m(9#J>R)H^k5B3g2O>UjP10@E!hI;_vvM>tDI^`N2P*{PC*p zMVd}D9WTj{3cXL0P#nYIG5dZRs%|gT9QxRZ8j?bp6yW`Ev~SI_UL@j91NEHx$U)Ra z8)!NT`q@TnOhYcvANbQpSjL{yagMzChL|nPld}BItO~mB<@UIpYY!UGA>xsMfX#y_ z@?`;&3H*CHQg=EWbB8!C(t*VZ=G&|p9KESv7=sgaig|QFA36n|UET!xa6r$JkE>=5 zYn1WtTGc7TlYCycy$1+bDYV+oM5z=foSQDnfH~>9<*hZ>OObZ*t~YM+oRw-2=~~ zM>9}r5H-Xna}KNZPBhh4&*9)Fj}F<|m0^4(U))SKA3t3-`o5c^6jPKY0`J58_kCVR zIZs=qBJ&1Tj`r|8bZ}(sNI-8I5)$OG{}Vq4_gU0nHx=T%)R1??>ITH2>rou|eE_-s zn)~|yeC7_WyyMk(2hnQ!$8-C^pTE|~aE}1>3;+DjoM0%SM%nbjxg)Mmun%?dz=eLmh$FRN1W+4&YRcl9r_F zfXAA3c1lui7)1#dC}_T!!(SORPa5h17cjF@!BQ_Dv(kj#jb8(P<;82CId{*aKhX=F zj(ka|nek?Os(&7Ocrtj4ZCM(6-+!XK4fx|P$~XIt!gJQPzPmutD8oav29?}V0@Txt zHLCZNVW(rG>5ALtQS=KR&#muMkx9f2BSLo`;^p4HDPukj4Qkq(8GN0?%8qse-=Mzt zz@A$qA!q1+ee2$8rjU<$?_V~#QB;N}&hk9EvS}V^26&nuo_URqy>I%su!Dg5C0l~F zLEZ3)O>4)e>*uf_;}h?u{5c$#mjC;xKpDQ!^Zdww5&?eLSw36KCirC7_0FxlAe-27X-eR z{v`V>;VcyyNXo2E!9KMg<;a`O?8K(W%b$zEoQTp@dw;?>6>G#FJ@!m+8sGibp<^@+ z>lH-hxqEUL#n_mBQBIu0nuZVijn&HV+Tk2N#qfN5H=g|D>6J2^W;XDweBV6!&A4Y1 zvuQGtZReB7yqbrsL^-|?UZtVi4;VAUpbz#f_q&rPUjS!vush+v(K0L*!#lAngMfEg zT3EK&0*|%n?3;oE^C+Z@`f_(Z@L-eP6;90MA#=m@Fy`%0|9tD?kD01DTs6|S5cz5j z>iHy3o?ryt#z%vN!@LB%c}+uN{BtR;jjI+)6`e=NEplFz9!p1~zjn*-j3Xcqvzel| z3F)ZM^l^qatdry3B*CUQh?}~v#?GIhB1a9^myO~u=Qp+Rl*T0R3wQ=s7~%fAjo{pBXoa)KJ+Pm zsxLY?iS%r*a2zo2z~@;m*k3aMf9&}@!RP?S23^EhwVfp0|qm3#{N zu>T}~WWdfE%*l0$%@cgcGfX^3NbsESrhbE2h~xI;j<<(^&SYuUmr@G=J@zWNan6j2 zrp+Uw6X84w;4WWdAMV5|Q=X4z>VfA;HkL2}9ljd<>La{F6&~AR zH18g@B?mZoDfcN=EE-hw;60e#q@J1|RaSl*HvpNgB#}F8OBy-p|x4-)nV{@237#t`z`(jQLZ| zzMt@(KaHAv35E5_JbLcPf^G-S%Fm*=xq$wu@9YqEs=;bnTLhWlJukOeON7GzHz@zQ zt3KpY%&W93H+~UupGt6lE$C0)0OF6oJuufXHgw17#15>qOJ9e}5cDdKP2Q;RN9>hg z=Hdc6>SgT(b6YEz4_1vPW4$16evfa^4zf??jW+R6#PT`+>7JlD1 z>_h3=M(0W-Kp!?q1aTw~(T|r0c58LOyrDm(hgG59Y@|EUG#>gS1=P`a(#c-*bvyIZ zK^Nd#$Zwx`)&zNB#jXP*!0~y_^3MFXGt4EYJ^Ahe-{Fk`t=U({sK|Z5tE?3Am|p*g z*Ooatv5#fgbqD6}$gh*hLcfy=eS#det8jn4=~E9;gE?o9B$^ah&kZAAem2&_PezgC zzk6Zb;=s|TzB;)L@~ThcuViUXbm9*}d(IAi0-t2qDoYFc6F9<0+p|@tF_$hsS8RSS z+8^<Pd+@tPn;#V2P3gotB@*~NyT*|CF43ycpD<5mzs2cxrD^^nlbz>g#al6<@Zd^M8oWiHu7{ZN6NJ=58rwM$3 z1mQxO`mgP)!8B%6k#AK2{s6at)B<13Fw*jP{p0J)QS|$aqra&`=;#_6;&2DCnka3+vBNSE*sE^**-?TK2&NX~KP==Mf z<>gBa3b2e2(+7{xGHhJl*1@-T9tm<4F!H-3p}ry?fk$k4=r03HL_Bb}D=!&0T>$-a z!CO&S2l$XjtULA~T`D>ul{5VtxI7Z?U*CPY(TPbyJvQmU?Kxa2Ij>Yt#l!k%dX$a; zr!%cft+KBdb$a_*x!D1)(y4H#JaFtcIkVN|E5h74Pf~f?E|?>tl(?B8yA!8LaJTOS zp71@(r8{|D(BJ#C@0upO=OvcuM%h2T(7&P7lmO?v^W&F=8E|f>=)J!*0{7`rn^o6H z2jB$l)2B+j>%`U_1EJhRmti|n%6{QoiKan)+0Dnw9XMNz} z02P}D&C6Wmna0}*{q_kfy(mqlQYzroFfvqY-;|pReR838rrY$&@OQUgcZ{?1v8Lkf zH>scoPv)FQ|KxPac2_2$`GAhOTIM{Y^!oH;vtwyUA1`ur!0(zq9XMf{Fo(GX zrX9i*%kaBbLfFu*05>n4vnaS#26H|_z6@~8gHN__?8aCUiuZN=Fb3THwV%-~N&A6c zrzX|nJ1~cpRMz^LAbzsHJ25TiUxvAoZY}tv=Hu$e^ow+ca$FqNOk@R}c{yih;ujml zUt3?KKl_}E7>!U=@RKy8dUJn}O##gPO4|`$SqS_~5w)EoH_Nc;`u$@JW)K&sA05%S z51jVX_fKW>&!fjF&5iF0QqWf&CT~p%h*M5*9oY6F4SC*sZ~q>?zfHH8=S|=~o!HsP zwgYtL!=D~TOW=-ap8Jf3Fx2gn``yqT)jR~@UtG`Vl5j!{E z;Z}kEmA+bIK|bJa7Z%t*JK_p`eIGV)iEPo&kE= z;>4yPct4Wvr&jFsULiXZZZ5Th&^LMX!4VPXbcEKJ!!N`9u#d-Q6U{T`@Z*h{|JZx; zXe{6FU!0T%lr#wyg^(o4P;t3TnKBc~JkRr#%tHwgWymZ^GS7`yHxi;`D6^1=M>Nkl z`#pTl`mXO<=bS%&fBb%HouAd}(f!=d)pK9t-mks)>op(^{W0heG-KINPUI+%}sjDJ$Z z8%W)kMHPC1N)rC=K|$B92GZDiCX)mFru%CnZQL9(k*8F%zK3Zk;{3L2tSc=Kb!(Kx zKZoxV^7w$6Kllaqoph#*I^YkU+3@ukdj)wo;`KT6RwEJIS;RB~e#-s|ksep4T(tLO z&fUbkGGrchZCSiKA6;$zx=;c20Kt!Xi}SNUH;4bQ7OUbciXCI9-3<7DuXmG0IO-zV zN4d*dR!<>K`s!TItXVQs_v<3HYK|xtpry&pRq9!}oMME2h{Us*oJBWJ7mt7BjCGSQv`+K=b7Lvmdb!6z^OP03C>; zchqRvAd0IfW$&b*jvw^2)}8AhuAK8P6|T$^1I=egs{i4q$u#UXk4l|nc73r zzL%ZY`>r3^3oM!)PN1Pk?o)q)!OoZd-5sF@dcwCQl;0Obb%OpTZ?*{J|MYmzaIen3 zOKzluuDYQB`jC>(5`XAGzK}O&E47^_uVXy=Dy|KZ-bd?%On@hlbQT7rR*i_WZ^~X)80PIdak4 zEwl&hD9)RC1~$9L&XsUthzXx2)H820ds=TT(u>?_ zW3S(w86qyFCx)q52K~R z{azjqm?g@+l22nG4y$pslkWlaPgO!>LE$u9DJh4wr7pOYwE;~|`Uv!vLGxtka4sP@Gy<)^e>R9ag*M~;l4vV9$uy}5&E zSM7~)wI&)e%gL7aSl>a|-q+clg?+>Cfm@^x@NnjTZ;Mp58YHZ37Z*-e^bnUvy!WY; zekA{4p}P7K4Nc8#TB8U1VGox|O+DDX?_P`~y<0zoj%nWZwE?@%e?oKpFTnjyHda+1 zTAU^GA}&v}_CWrj{xycyG2nN7pnIno@}tBSuV2~@_+gRo^4$@@ql^yBe4c4TTA`hy z4ZpNN--x$>T;{%e z#&4-Qqd79xb3kUet{45W3ixCW?F@~yXWj%{!m))m*$(-crWz?6^m`%BTi=kT7T86$ z?*07fB+MU472{864){A~VwLVf{}gWhLh9f2qQk}e0nY}HY7Yp(tjsk@`C+MgUgkNQFRP$5GhYG0e!~bH@JAB08hBOBtVsKvNi=%wkojxK&&>bX-hK@7V9~P= ztK({W(d?#f{+BLrF1OIJ+$jco-b1pO(X;_{D-3;)?WiQlOnhaM!i|I(&&@ms|7)&U zF2^oA2fgoe+J7Xh6j6E?g5v>yewH}1`!(1JLO;L7p@>B?IKR!|992&WcG;LQ1y>Q1 zALV0tV6SGck&p>xUqW8>isMo#nMi!Pf$DawgKZF!(xqq#X5xulV^9 zbgJSfeqwj9!{6^yDNVWoe0mJoW+%^pu59=_CF#scQgv`+^c3LF&m0Fgw=+UN--%c3 zJOchsqt@yTJY}e{TJ=H@AJ`j0S=9vk`L6o!vFI|;P2&IaJq7I5w~q`4Yxyh5ts5WH z_m}~{-gF(^ZtyQQZ@9buetsTmMmC>u!!2Yx9`4uJQh)+>sa3Osy(+!eX;qlQ2syKO z{*e62F;W|>YbOV|!E*bzDRu5w0tVP=gUfoWBx?0|?Meh^A&zQXML4>~uaP`ylRgqa>hp)Hu z|DE4JR@lX(bF>2RcjO0S zHu4;7AdHq-?IQ)C7xhDEaRc<1$eOQzSiue#Z%gH~J(r2J21aV0E0>{=-Khcj#rep5 zxst;La0%7>%dfBB1phRv=0ve)18I_Q3_kw3g1FX2@9ooXB0pECFCKmRBxsvd#-Kexu zqme|2x=j9nb!s3ef3R~7>T#u7mtt?1qFjAznMvjXRF!3$L2F+map}Ad@wOpkzn?Bm zwv~oDH;b-*BiT;QXZoJn7z@03E~$qZ4>)b8shCv_-J$j_+I^gvg!e^ zbkI9j(@m0)SIp2!y|Eo6Wl!$L#dr6RGM3-%gMeqQaQY8~f7hP?c2E>{v(_1|_Z;P)oD&#Uq6Sc3fX7m|5Xa{C=n9gl8UghiC=dCe&e!VNnOW4AD~fU+~+OWhy5dVD~I|KXV z^t6G0WMHuC`i{bRQn>fy6MpGl6!@gt%3gbrB;-FC5ry@2PH3a$js)O6S>~3O1HXww zhf}Eqcne1u+JdqnFOsi>$!TRtJMm#*d&3?H^?GVLw-dB_k@J<{r&mNEf8wEXN<8p} zvd%rM5P|xy?mzni`2pv*+lN`y=LS*#?`zcB3CRDxYX0Tp>JHL;zs^(x{I8}gFHtKy z&=LFDySkbe>O&`7y-b1UUdTp{drN6Qy5^D*8Q?)f@gwwp(?>=Ko1&njMBpf~Z`3gO zbp!HP9-KXCpwWz^p4M9Iyh$T#ytuOI8Gv6W%4WUPIvQb<-l4MJxdw^HbdR*_jUvNS z8Tsi@Z_X^rxy~8RW##U!=IPnd+xvK8PzN-a_*V@bfXZ^L}y7ufR;5(@`Tf$q{syMt!~;8BzL;@`Z1 zFT&;Qwb7T8T_iqi3wI0TZybv8Fo}foeOT;fC=0|r{ciJ9djMb3-9t4dfj`KtYb03$ z{*GEWWAuRPEa)Z7#{cCPoTHmfC|D1?1HU^P_TK~l-DvZ&Z}TjfHqjML13SFSbJF6$ zqh7RVfBxrlhcVQx{Bi2*d5AYPM7-Jtd8f&(x}_hWZVr77ZeoPELsG2d1>S*4R8l*q z(c3voDpzXGumS$OZ}7orAL&KBiuU3X5KrOxUAQdw;1!AwUcWp5aYp*H(|iUagQ#o; zwITFt7x9q2mD>(@=KRAIMM@7L-o$<7O8;ia(+gelbcZsnNjzfn}weiX5MITmzA3G|7a9)}s62VTkZboJLtX31K~ zf{skE>pC*Hc2$+qh{WZm!N1pyAeLjhWxoFcTqs-Vcm!)L8faat-w1YHjRP-Bo-FX{ zw}Q}7_+*}mssYo%wRpH#3Os>CY<(Y{Vj6_gxK^b~=)FgV}BJi`> z@97R1UnH78jhsCXjgX129lsl)9!-2%EnNQkEXf;E)#8Qq zu6iwU-yh&pJ{4gy{;L+{j4Mnp*^Z)tOIDFl$47|njm+i2Goz%n_I}kP7q*;8NCw2N4e|y2WH?5DjDP;`&qRg4Ayi7-kHBYL2 zc{1?gIJ{h&1oQA3`+*%dVIID7dL#1kGVri?s?HtW0rBQFTc4d?0eoqC?vwU!YtcuQ zOBxOiqv+8^W%tS#fFDZfbZ-Xy@ahjsqYc30kI%>twu6po>IM7iTYy9ES-tDfggo#D zb$J}T@TP|_b?khdT>{n`IAi0FJPH|J6wuVhS)?K0t(QR zxNj@20pDdy>Vd-xd?Umm&VRJsca*fXMAF&igYI;>b9_3#B0AjBdGh{xsSJh0$=&#i_$%nz>`%}bK%OVQONskzUTIW*a_X_s;Nzq?9Phh>r6!~_F!#Yjvk*#RlQilXL z$<_#%jUvbX3k=@SPl|>0#CnifS0KQ;kwoQ}(MvP+T4yjG=wQ2}Z?>&)W; zs>kn=ZxVI;ndB5YaO)RlygPB9d!KsHi|(UWbMil z$q=Z^bDJOSpV9*!fYw_PEv-G|QaJO7&UinP=APi$c?R~afrG;ZfFG_HuxmGIrXd|4 zi$s&xpx07^li05V@Aj|Xht`^dohfx!oZ;*s={P6lXwnZl8)|3XZ2Jnk;61ADoXKB+Cbd*Oj8qEtY|ETMCdK+ajwj*oS`m zlxuE7JT5}s-hr#Ufv^>=i@pT>p%+!X-hNNH4Z6I0kSXL@q0iB2my`;SOo<{Bk|;&z zb9a9{w5I@7PgU87gJ1f#@Q}+Z0{r}~Np8(`G$asq>-Rmy4zjbGg<%5Dif86z2eufsiLZ1ChVc+Qo?WABwwtU~kd9u)3(i7p;i&Xi?Tg&#t{0ZZ0Y=rOQCBoYG z9C+UY!w=JTSFdCwi1{>Am5Qh4Uip z;D)wOvt`Gxg(k^$hu3a?%_nhlbI5~cDPun#wRafq>j zpBp5emzMgeeZUW!T>9%pyfEakSaIAt z<^cSHIm3){op3HUuhcpL{Ae4@XUFqGY3P*FQ=O}Bz#m@zz2Mn9;FW&evi`@TcJg*f zVYB$vdEkjM3>s$YMQ2iUb{sPTegN;)t^P?p#HPvUoT5rU(w0sbWy_UUK2|IP`+PZ5TLX`4GYYCy_Abh!k?k@2OXleS zx5?;Oc?a+o`q&)d75i(@wz7c>S#X~AZw+6&24LYkjam zP%QB2y?CbGUN1~H;Kg>ho{Y6q2=HW%ZrCELGpR!X|GAH5uddciqfdKcb4nG+` zz(OO*HT-|Jh}NPM2{vO-Yv5U`cE2nNdbR8q>BMTkL49)DXX7m`?L=kkjgwOG^JGS{ zIfvtDFEW!`9jvGVyo-8!3+5sIrEGOQ@ey#tRGp7)<$`@RZZvf!c;yf(OK#p72Knz5 zjRCVKRolrfp|_eF&&?B+Ygb#nJ$liX)~7z-nFon`_r_YD7d@mcr~ENL;2X~>_0{Uq z;CUZr&z)-@L_Eb;)!X+#om^4Zb=L59h;P2?ckrDjyw-Vpw!l2(j1HwY+dfE?V~nLI zAWp>o!y=Ls=HaI5h39U*kmt6w&0qm|joyoW%s&BkZ*t_)OcvO6iD&xu*o`%#niI?u zOkhW;zEycYv;cYqy}9XZ{4~Pu!z!V-y&63`EWux*HHy5}vzQ!%_}Yqdk6Y8}W>Ma} zm6m1A6LRI_p)P-I;0d+L?Rham$c4e-TSs<4zTcu!t`Ce?a$j3*JJcO}#(m8SeGhdA z_tsTq!+5O~<&5hGJJaE?%i~orUJqqcm((VjP~gP%TS5YNP z`MFlC@^VHkiodJsFQ*SYOFw*{iR>65UM_`4m%z>}L*6X0ShqrB0C@H{dYg_7 z7X#lGExRv>8FVj`GE@ZEf!}jD>Rf;@;Jxx6FPQ?L=ZwchdG!?F8;OoR+0SVxRALQg z5bhv;BBawa7kDtcU(Xl-UrJc$g)OI)p#HP9ciMfThlH;A$Z7bXA03p5x4G&-LpBrS zobEK}9Pyubvxak7%(r7p3Tp>pJbdHdON>`INZ#5yf^PQcTGj%tUKU|ue_&@VGAP=-sRY)=;l)05 z<^=c!3~qPAfv*5paG3SN{)`XR9v13sLgUAH66?XPGu=uAZ8%1d$b|(Xz9opS^^;rI z_Sd2B-wa~>PLD!8(z;Gc4EC|J0eo(NCrq}CZZj-|IH_dL?DJ<$XeL*{_6dxa=%xoy zC^Lf6W1mP00zQ90kE;GGScjJ1)fp&QjG}km?Y|aQL!EBu*XXB!Z|s|S|LggN4idET z=xlG|Jei&Ss9hM-iv-^si7#dWexl#SslL$9j0e6tIyd*DRQ)04O)y@sBH9MnY61Vb zapHh7thd$CNAdaX9mF?vnEoa3+8^y@$PEI#W!0%b^YwLu#4@SkLL!X&Bfj|1JAji| z#B4i!Ac%$*Ic{7v0eiJ;ljL(c<_1z0b2f5ryn@W7-M`BCrI8q@Y-w?2Swf0p`tJjm zvVr$t3*V}QwZ0)%f)rv3su^ILyo@o88WC+y_ky@Y*ilH=KmzxY4|(mMp6 z>}*D(VOME?V7ww3D^{ArJ~kyHH8jOcBPVYvdQD5zBB2Y;LYy#Ok18Lh{DAWm?;3w@ zo;XUFcnZ3CVZFOeb)D`=Z9>w8Q<9l*p56-4>rpr`g1RJLT5N!GxlcnpT|~GZNy-*| zPj&=XS-K(!}l?7iTd&b_W9<$Z`av@ZrGbU z(Ylk{fakhzu=L`-I^cC-C1EC`sG)HiU1BHXt?OPd7e3oSUSyqLRF$qEnrnA4>jUp3 z%enKh`F|FXu=&Q`-w(17>&)ksn|jNUV`+K!deBj|UEz6jAK1M%EW2)cLOcbTsVHgz zE^8)wDEpUo1=+vy*d=Gf+vJ#~ptl|PO*eL4QtvDQ-Q7LrBfEmjkm5rPKX%C9kdUCu z*bVt?qwc#>4I!Sg>JZw`W(@ga58rvV%TPl zkylS`8jNTs+(WDFT_NwHS!{6k+pu1=;pSNny(-{s-I@8Z8tgiuLEfBNzqp<&Ziwr_zF{Cc=DIa!k@T+IqiP-6KvMgU3DiF*CkCA(@=UA^Ql&TNh?|Q}5A^d@X(dBeh&NS~B%auQsDT{I zT5px(UqO7~qsPi8#LtoDy`y4Z#k78N)U7r9x ze@fezqXXh8zZHaKcq1B!%X3YUke&)MUvO^j!iq-Fv+zlL%D03hD7}dmr99**^PrNS zwG@@O=q>DX$VX1X(ks;gAITqk_CP5S@O9JQvpN0^q+#!+vIW*deuO4x)V-@bgwut(8!RO2wfCo9a2(#XUggV`c2%yNh8bgT&9mc4Wld4diisJ_ln2e9J{x^2AzBvT*HhPVFPaAWhb8@` z{3EFG)$||3Ei`hGKHO|oRV_NL$?Ubq4{(Xn%?+whckrA+lJ_j|i8ksbbZOgkl7mm{ z=+%J-^Socv@I#UNzLt{HP{wZHZ#p2zQC?Gn zq^IT{e}R6cJy3KPhjTE{XvGRwn^97H?Z;9U*x_c~-&hNOHKCLb;U}0{XoT^t_h2;G zKl$5}Z@>RNPa3+8l_ieUpghZ)RV4%@ZvfQt&SoL>_7K2PdDUwyFJycX5#vKfg3K0oy*cYioM*WT=) z{IBp_jyncuH{raH-8U7#7kJhzf5tN$DWDOpPc;n*z<+OLXnB2(1LncicRVGj)o38m zA@noE-*dwUy5B;bbwObA$`4SNefHb*x+Km{(r2YUzY_S(Q>&&5X5T#^DIb4q+ayUt z+0?Myey9unc4_{|64-|qzG!9neHbLEy*Gb2?s|>(>8o$*XoI@!--qsmC<8CwpSS&W z?!e1u(|2j>)_de^?au;Am4>!at(*ISFJ*)w`H_+LG+}tEz4bKkbeO)#XndJHh;njY zGWEToA=j-Y;~gFCWb3EJoU0k2!+lzJl>{f~0@KH-&w&4xY#n_4@x31M6RWWt@q#?7 zA1Wer@igT2Wp?s@%^*tK*LS0Oo`#IwTGUU`Kv#RjFwrD%o*2oc$Cra$w_jlW2lfqv zWF6n$czpINzs2(t8o8>vPz;6>}p7cUK-~riq=0dyme&C&{ zdaz4X>NT46GYh`}_1)Ed(GIaIhe+yGj=K*aj=#dVK2FFB*82eGh%c;new_oj?S2zt zuZ#G;r=3QMc8hi_?;b(xrA|ln&qM!Djd@j>)S;>et$gWVCk#G)t$JYH5K7u#ZYjSE z@u#^xhv`5EedbEk1LlBvlJ?fhm=)~0ZfAC#EcQWS97?yb5_FaQtKBj-04`xd3tyE8 zaVy&mmjgw2520@NRk{w~e;rge33y}-`mZlIAKZ%pyqbBJly)xU`8@7US;GK&deNKG z5bV!SCr>x8FX#tdG;7Y6(NIsaGi<`C8RBRxwhdTykf@}kL~rop-rdSP z`54B%U0eJFZ7rOq%A3`OuLG_Xac3U}esgTsAj1~|`iq}7>@7EVjo59zei&eyMN!)) zjq@%%A#0OfPg-h>pdCs@UmIB-5-0Z1?UP#}-}S<#7B^T&5>E8fZ>6S*&ZoeXy}(Db z{CR=l35?f}&pW^G-)GR)V@kWH6+4NdppP&s_+NX+ms$~w*TwB!(~dkezsgO*-eyGO|FrH=|*zz&Z}A8S+x-1ys~KI5y#CbainsG)Vcgr0;kR9Y}$ADF?S* z%G*KYW&3=acp300G3oL9CP6z(Yq`AAAs=960C$-$oTpQvGP2w-?iyN)?;yT>p*_9_ zfquZ7vDxq{_*{%|wvG?rW3rmHy;{}4*U7b@mD>z)&n31e%J*QM3T*zAB-RT%gK38O&>LK22dk#dBeneG$7`hJeQ}#b9whp_1-^S>@&?K!1h3_A^HT>o!`ogKK z6bW_Er+=!foC3a`K=T!+>Y*-s)2G&z4?ZN5P=!?mj8+Tec302jOTi(e(zmrGmIge6 z&#xuf>o=nnZPeVmftN^qc>2r<;4ApkPf5o@-SG{lB>g=>bI4|m>}F-jizFv* zZ4$;=PD6Ej4zpNgv=dd4iJyBR59EzcvsP~q)S>Lnu358tkgSUP^;+jX=szqtv~4cz zN9)_4a&Nx{xP-7_S%3W^VU2&x%O}%7E-6;&Ok|XkXWOgdg8drF#Nn8?-1JLm?VY+68qufxu1-T<8%TGWU*;{ZxJ z)8z9U_+agK?bYM*96-x)CGQKo=TN7J)T(cLFOm@PZ`^UN3uOL!rO7u#;5n@HVrd5c zOiqiGM>n93tn;(gGkVqm)aEx@<^{Y5y!(#Dm_j{%F{8YjDDWQ06`ZNt^Dveq6(3#r zY!3PXA1|1E0ltEBWzrocQ2(W$88%NZ3H6>L1znfefL}g`t*3kQQxew9(Xy{*61m0S z54}7zOPUf=R`bctk;td(pDWyi`me763HqnUpzcuZ&k;B;2F=psU%+{h*S6A91;)KO zhD6;4e1omyaR@D$Mv|`Z#MOem(Q#+CJ|FNp9;AIHOs*Ck=}c{jbO!w$`e06*zx>Ky z?hD<}&H=%@kM*IQEQ;Y%_s=Hu>X>j)5S%+=>@5{uE9YA|O>v0bQ4{&-dUyLYgJlT(LYBe}55ViLY z_Zk8(R&2)Wt$BK{5#LY7s5IE0ovc%0jWeH+k*ymO`b;3M$Z*xpG#1 zx&F*0MZmQ@lrPTnO_MX9?hgsKf&R(f{i+tw&kA?KZg)aItF0KYF@S!iUNYsoyEmg_ z68d}}eZlX(J>RbeIQBZ)lRGo}Xk)dn0HR!XFzDSw)C{j(!{1v|i^hzKdeM9;vIhQQDE-HPNJQ5remGEmu_V;{N z%0WB3Z%ekWw$afdP1-yj3W!b>r#R58u0>SEAfPaSJl_;~0@iaO1%(Sm!WRTF) zt)-)o54Br<3~UmEoTY+W%f>`1>jy-G5&HSJxTn*#B;CBR8U3^Y>@u=){@m z#Fzj5;3~NKSCcE~SNz@bnt$(Spl|!Z`uF`|X8-fbY%P7< zz5c$R>%ZKuh)-ZWb#6Z~5mAvt`^63)6yI+zC3(n7+RpOt4rcyOKmXTuY;FE-hyA~_ zBPJ>)x?lA0elZDdQOP6XVn+^3?}JOC|KAxm72}P6_sIYAaohf1p4-F4(%Z+;n%mFT z#ogM`Cy?9T%hJZt*6r`Xf&2b<K*UH@y8|KA)p`oF*1Ut|2& z&qlg`X1&Fie`o)I)^x76)((GNv$1rww6~?B^Kr2CaPAh@~d;f9X=? z4>Wpq$fe>0o`9M_MO*ykn)1*B6@)!&nzMZ^ZSkG6QUcCf4e%Rb`7+1#emIX-w7BXq z!nd<#jyybSjWu%OE4x=o;-`tyHpLBDxR&wN)kR{8-%rdJ_$&F8YxYza z+jI%{LoUjYci7hIiXFxFTz+lcEf4(g3d`3SyJ5LWeVvCkOzzaj+e~K)B~Rfh8{QM| z%H63(+ZD!-1`_bSNyiJ3o6T|9iil%A7f<0caffCsoXxPsdIyH?-)_|Y7^}ri!ts>$ zfRU_kjvnReRCCclI0zRi(0^?)(W6)^Do)(JdkM1_`0h}#vBrv@9@|}F2*S>F1Jnjr zYux$x<#vZ6M{1j9de)DeQ0mU5D6gOQEvej0m7!UNKzwLH(tOK;CG}ycbzRcN6kK$o z=Du;HDb_eu9IM$IfW>bN>6b~GVFq63v`_A4)Vbq@dW;%Ql)md)pOBl*)c)^$Q*$5A z;FN9m#P>XPrc|`}es?+~VTn5{59vo4;Zl#jEUua}*hWgwhv&92=CY6rV|VwU>h#+N z1g?kRC%5Oit9TFL$L618u9TSK3Wd0gYBq7~*N}YPrZN@3A!8+(XYDaJrZ?VJXo^KA z{o_Vf+Cf#*m(>N0dX(*4#AcCF7i_vcp*Ew-6IZ`D9VL6zk$QV2!Dvd;8@J@v)Z8h) zjQ#yfd|RJe;;rMxTKBCTsmZ9HgO`LXv1|Yvqsa?xj8=6%znf!*D^okHb6@LI$G`69 zy>?3yUuep-yq2yQiY`u_#du1-@a=W@<_VYi>4Sz^sF3TM4wnAt8$5*9%`*U0B z;rOd%2JAt3w8DWp#wWS= z(Op-3?8B=Mmwg#@F6%;SRayN+IXhAt#zbEGe& z;dVIdZzr$ zuoibpp7M4_+!9qVQW|Q8=PZWy1Qz*HJLHBA%j-Df%{7^CE7o{m>+EedYoQ`Ci&I6sthJxP6o}#tQzu@?=Btj}$CZ_f*PR zSQ}4!as^49SD@Hgk0qGMX=9&k4Lz#J8k-L6=L?+kqGq2Cxi6kFr4lzwo(Mhej|1r2 z?rz;;N`-9ZI=p*t8m^V7-91rYiC;4uU|3f6$0AYY!JJoN9=YKk#b$C%*KRrLix5JB)|MGmx$s7;L=!Q?mc`gC`^Z4NNh({ijnUSNhlimd^ z85mf!@sKq(>|Zh%66C{^q;q(+sx|Jj$PjsV)}IpictJA#xHL}X)>1p?6iP{K^E0BY z@T7{p&+7*+gi__Aso@zq*^;LCz^|a`Pq?xy&06s`dyyeBwx*UUF~Hz3PpdR|;G% zxSos+30IM}vlV9BW1RID$r6cp4TPq|3k%5=JKO(n_QFo`@WPgzQFrd;Cm z!*lyPn3dNACaSt{u*kW=##)-;X7niTMYY#T) z2>CTV8Hj!EA7bP_A4X|;?+YngWl7PBpN5Hl@}f4Z7chC(U_tHNB(lrmX&^S}u8}>1 zw5cll#L#7UU$M!OpPx&c3cbivGnb)>qXoqu7k}WQcDPD7X?n=uSk?S+TxEs*kMoEf z*eQ!U@WSPC)dajQVEn`NI7zB#Y2fQk>yT({Ls1O=z&|FRF-46=k&5Z zJ|ZP5*2<(yiTz$2#USEg!TRq0mdi5uWC=%}(g9zJb>DSk3j+nb^I}Sx?$sRpDur2v zE`Sej;kETIp7No>PJ3h+6{)5w$N=SFz) z>=ScRE<;77oW8W$IUTpnOJ*FptVrGY`QzJyee>Q^etx`AQhVAP#1t5?vCAV5^~0FPK=5b$(EGG6np4Yl@m^>^V2;v7)Oa7 z-19qdg&)PZJnnR|*Z{l9uYCoX7Sz^b>1u`226*GXTkX0ZlJL{_H=Elgw6P3Z(@fzLp!V6Cp zqS>l2IqkbVgdY@9k^F|LX~ z>Uiq9wz^QF$qx;v0*7w=CD&itEmDZ{K$ zo#DqP@yd?*#fc1OinTy&D&XTuTqYy+-Dhh&w)9fitezi$X;O%AeEJ zt4+nrJcl>o#mW=DJKa)n9@oVl*L_Z4Z>pKTE;6Met1V?>^Br*^m-Fu7cxxQBd{Xx1 zJeOCOLp=+Ir z=}NehzQ&8=ojFGY@6UK*xt^M+4y{A@UH02<&zm0Do$Y?i>(d$(GqrAW?I%U5ed2YR z!3|UV=!%%VsRpJTOoDEppYd4pi-eHgfD=CA;mo2rXo@*RBSTH#IZyl!*2T=>lzY;A z%;w{f6uZ~8(AaVtYKT59dQZF`ZYl~X9Lce!zU;r_Ue=a^MIX^Kf2-7>-q@%KvUd34 zZ`%aU#0P6qYaVlu^gp{PBbP^?U6Rc(-IW!G>3U93v(CCz0{f2QKJ`Fa_7e@N!!Y17 zdt3^hdoIDr{_Qw^^|fEY0p6E8doN5tRRv3ADCL^mH^;1jXOj1CF~E7L(kri5tKe%p zlSf^I-0_lw*B`fz>F|H`|>?g z9AbNIz}Mp(o_*2MrjhG}Px%M6H&33X=qw(WyD2;4+{es1tA1X^(uG>a$JxBFC-vLN zz56s3^*gFB@_;9P_h*gTcNTZ7706p-)_MX*`0ZG|qt_Ha@H*k3!g~<&xO4BEw6(zA zGWXfy3@%{{k+P&_QCnQ}s6V?q_8|Ten5)I)Y=gVT!x|;94`r{YzxCV%uVmC}qc zd(6DmSU};G3AL=7Y_L(v5!*dn!_wJ#5pPbp@%Cf_*e5aDZEB@YQN>iwg+rBQSpAgv z@m;^Xsko#gswT?*l$^#s<}+=GQd>8cDedfn1tgwFaEd5Wl222=2A@m898V5?z2$U* z3gdab7^3fj8^yLAXSuFI2?*pGb=n%>N}}v|zSWxYJ3Q?e&f`Y?*}CIUPm~uPWy5zP z4cw?r4P^=TnwRh=>CtB)JxZ9@wr0u#dEuqAPHGR=s$%x6!ojHyTWVw{(+ccpjlVHx zvm5g(QtA1F?Pqoi;{?;vma}K%spK`|CinQ0v96`UwIyA1Tx`b0SUa>2S6k)xIQN<3 zW2U!)Z01#PShAvktioCBK?cGMt3B|8;%A%*qUKbIqZ~Q1!V4!To_$YOnuc$9TnwJn z^T0`alS&1e&8YaQhdm3)9=I-h#>Y6_5??>_WQ@nb6&FcOJo7$ikIl?wdJV1BsjP~z zp;k@@>=0v^>^_}>r4~ZGon!3qPNn@`H5}?x_12?ms-<=~_pLBrt&RaTJ)3w5^U z9bXvH@HWAjM*10J5p2{YZKX&_6(gMak~dFYHWl|2eW|2dp-<(#eO1x%jgCq;NdI+( zPM>O8+soM`>WyiUF0$qQUYP%~`}t&VO&VowJlKmXHlNgaq-cT}Kb^_E8>oYCp9sCMu16a` zcp&Ag`9mA$NZHRRfS=nkpVj{*!Uns1vk?xsuZ`JXHmr#dw81O+K0Nzs5I|XX9R0X= ziv`|NtKYxiXGFCgBlJRbS;hAkBp7@^ZO1gv%Qdlmn z0^OkbmpJr^Nz-fN6uGhC(UZ8~6*gdSzm`ca#70aD+N44?JUq+|g(~T+Z{HB<7PqeX1qeXpna|jkX z(VO_(Cr?%g zB2nt+gjvd;|9R`~Bf?`1; z?-5xkWbY&zDn%#~B{{N6q(~y!@s$+W8Nbi(&-=KK$9+8R``*uazs~FRJSPJpDM}>v z9`l2ejmVEip#s=46hNu)#uv_%ifwf>nj=LK-U`uk!$ilG2Pu4ZILUr9q>I}b(>zEK zeNJ|m&C;koX`BW0FP#&jDC}YR+NSFbaK;6%nua@Vc5up&p`q`p8cyo*>}nD92MRNn zkcdil6dV_3+;P|gr#~7ytlSdDoNw+|3%K%OL3^iBbf^kwMgIBfCFy~GUOK#0$WsTA zkN)kf41q8@adi7R(JxXAOW${)IF6DBhcA3Bl?9Ic(1{|^H)fK-8)m{`*aV)ffkmY|FkMb%z0;emA-1 z_s1T-h3{#PJwW^qf4&heZgzrG#Z+p#2U)P-^^xY&mz`kfAZ_iCqZ@vtu2i)gQ2~09 zRsXI)XIQKf5}9eYL*3`p?T;f}z_n}FfLCZ5Na~(Vy58>t=ElnpG8gRdOMbJMeuEG6 zBwg+b@%BdLM|-81rJUe-7o)#TWdP8pa^I}c^T3uYE-#acK=3oL(U9@TgxhJ(bK85J zK=g80;;aRsqk6q));1l%qv@o(`4I)=0QboJ4Mhkk=PxRE(FU!(4oT_S{&;WW!=K!K z4T$9EpVNjInE2oCDE}~sd?@Ls{3{fr6y;h) z6NHhK{zG>nFL4f6!}hexox>Pw!3yKfEV$g-=A|j&fcHX%-ZslR0jX;9W$3y+7EW-u zPJVHR`}c*9?M(^6sBQbzQ(@|;&_J10;N}Z1Y2vY^`Kov)s-SLZCL4NNXEW{-^_c%C zMX7kUFBDv#6lEvwoi6#4g;WeKaM@eTjmaPx#i*#ZzS-GgkmT}(oJOKA^OZ2~F|)<^ zs97(Lh!h~bUno^I)&`sHHj7Icp+KRC<7!D-ATXM{DtbH^i!Cxp9tu%-WrXiz*L4f% zPj9iNTJu96RnKg-STlI^`b$NQ#x=OO>&pC@dqyA|FVa5t%MZ2k8{fCY839RFIQPC^ zB&LxopRyGmhBG-*VBZ$pv)}aPz8@9Z^jD z`R}aZ45*f@NIoxV50*DSZRMYX{_+!0&E{r{||FN@6((=-P6(B-)!#jB}$b8kk- z5~`$9$tQFno$J?2f7pmgB)1P$VcF0+8@eEU$PS~%zukPepQv{adfunKEwSYe?Y_r+-=31dM?5!7VqWQ+fd>}iK4c@|o`>bq zG0fSZ@}P|F{5coodi0*xES~5ac;0Je^19-z>)6?o!`Kjv~;O953mtuz;9Nfu(CT zNl1Wt+yhGW(qAjr>hq2A~czIo&AE=2ft)76SMw(h#)_wlOK zgSDE_DtmqG#Z@=_DZNG0J&_KTD!bD6y4V44F!Fle)C78lZ#4#B2j^UW-s~_}g@aP; zEUq&iaP`LyMGa*)EEeuq_I#v(%#4~kEADRicJ0Yr$FD5l)G5;z5HP_+HJ~@!uYdwQ zo>`r~Cg{_%)zsq~1dPgK0WyEh!6;}?HjRQg^lHD#q3pNA!n&iHb_Hf&A6Cm@;FbxT ze*SfRXGl1*O!dUa*ACaqpZ7Vj6MoX%L!QyjAh6jm&?+o40sYBE?4S06pJAnyJ|K+j zGLhzj5?&yq!TrkmPa0gFXgpw>?*a!>?szKXShGSSoxOLiTc-C3o;_9YWKXS{o=F9m_#v+%%wvbLbQd8zrd zSP)bkyQ5%dXpeJ)?`@~wy8_3$DQog!ebm?UXIZGT2N~;)0=I2l+?6hA@kKWSOcf>H zv+O0Kz}e_tgM0Q6MNy)7{HX)RUB2-xDH&jFKW7B1lp|EnUtasf?~4u;kIJ*JdBJ|= zgSXk-eX&_WEA;$uD%9aSWf~$+_?2FvdWX;<@k>+kdWAzr*xO_AVGX*VFIiB2TZ|w@=O zl0tw~pFZ1J_#<`fXD}r?~G7n_Du0kd4ph z+>eoPO{MT+^5sleW1Wqa4e zOL;8$adw|UQ5syU-F4JjS|8Sp(^=WK&SCNSh8)r%185(Q*`>azh`HbDIp zgN|tl^r<4?XwiJHuiOioWT`2CkJv)HWwzVHw$BP%w}%woO^|^1u=0sH;+!c6nSRpQ z2^41KZCKU*YkcIFr~hG#4C<$j?uwQ2#4J6_(D+>@Sbu1b<+`IGw8q7*YcB;NMMZOT z`G^4o`~Ic5u_qfYT{+d0^#zSk<24JKlDCqEJO zc<cxCn$_3638sA;a?V&W9`uaXX7tbD7Z@5cu4<$!>dx=F~P$4(!#J=Aa#v+qP zHj1^8hVHsT;!@w8udWeg=l_57^r^YEfCLhmYc4CXpP3aIrw(qDFuLc2Mv~F63mvm)d%E-|Hs8 zt{Yc5w_6C=KM8#>Su=vTJFP9(R^7pEP1;H47Dwdh z9CuCkKFkJhwN0Pf7wjNvru*NU(O^)#o6R;pM1niAOv{{N))4uh4A=MNSX9f58_6B8 z!I#_5oP_2=VYM&M|Duo$PB_-c>?F4Mxc|;FloB8Ti_5zWF}g4)8)jfs6(KnMk4yp4kUhd2=A#z3ij{$7{$n)fcWMPge`jxx5IDg3kisLVAgr6-nwj@z* z%ZvKstw%gIRiYfY+nJevu#c!Wi(M7`g(N(6wnhRBms(dko`YXJKHIG8n~P zU}E6Q1b>sejhQA!Xmy_byvkv2jQ3o8d(qAi3s_>ZvN$}TyZ`0Q&LYCoXS0 zfy14baOs@`HV^QLA6_(r-~(d%oufWLP!X?W1I$9M^{Xa9s_ukDAFF~4AxS$jXh{Xh@DWU%^1?F_-2V^(x4 zMrp9)ra|0hq6@rGicnBu)x)Urn0pThZh-Sq-P2e_Upy63a`ErFFN(i(T3@ho#RWFY z&Xan!c1y@QpY-6g_d-6CPKFJv8)?|?({;=24{(M`sj}rZ)e2@&{p07K#PdelB zmz*CRrXJ9G@!`Vl(2FQhM1IsTDUYnF(PUrtaMUz3Am{4mg1+9Bx%dz(2p6|>+Ip#g ztV!(&_Rcm?U!Z^F%Ns+awe}n6J`f1!m(=Eyn!?b3XVklIg3i!O%|$^s9)>%8O-h6b zA4$DUH!UwR3{qVT-KH9x;e};-(AoJ=c(U%OaY5M%nSNL8v!S*I(oL_8r9hq+)d{?1GjN;_wU zI&BAsgr5ZC_CX_$Oyg{@d*O8@(uwd_cGCU)a?=bI8@`IKcH2XkNIlKKyfuF2YZyJ2 zWPl?N8bz|6z22ofs-0xyq_{KZPBy~6z#i@(M^X5-ww(V!*ceN6Z2UHvlR#Ip z*y-w`1+ebA5ndsE4&p7GT+@3jpjVYzRgv&>45mL;O}&sooyvd%)Fou z@Os@3OE>?z&t_!+f>bPU@Mt<753Cy(>IAez2%jR_J1`2`#6JbgH}^e z%zSf&&VE0%KdstXV``2<+K2bD$(Umq>E_Z&&RtM>YT@e^$s9fTo#WcoQb042a(}vx z8Ms)gR*oFr4Xfsi&I9>oAm2Tq!#^gEA3Cpg$(%Gqi&BV>h}OqoQu*8q7C9*4_p}5d z0}MM%eDY)pagS1yb5adKVeHSghLRi@C@A{h95n>{yxlub|1-fmO%$O@tCo-xd|#P* z+X9a>yg7L4vM?BY*mNGWv%tK-1j=c028?;0Jau&HBF+J$j z-g_d3u<`M(sHLL?{5cABa#ux=*Tw$XP9ZlO$n0H^Vvs@l1Lr4iw&#KD74DG4mkz)e z#A77j?1t4DB+>F52bkmP;Or^!1A4}$N6M@M;1h5xb*Whtmkl2DG|wM{NH=-2hlkE# z6i3?CsK9i{6V2yw3sZr&$u7Ij-9HA!8Y*vFOH^Rr>m7+)7V01*ySt^)!w4%q-|U!+ zJ_mdjPYw<;NJ2_Rn|9bPNw8QyxFPo>4etNx{_^Cz5*$oa87IAz0J=U6s%ORk7OO*_ zY0jB~Lzub;OPnxhQt7kZ>NLSi(!&@3^0UKr|F)mmR;C#6I#I}vIvwZ>HKx3^Ob9OE zF!j(Wb~tq^*+p*67-r~FH7#t#Fm>oR&j}Yd)UDdxAN|!3xooJlrFZ{U*#CoLg)h|z zzgCz}3DzXSp7bb#Y-TNJ-*>*;Qs%D$$J4ua4>D?lWcaxl{Usl)H)gM*4h+K9X>_4@ z>w+bv6HRL$NvM1A3)4?)SB!em*G_XN9q1yQC|r1*Vfpw0I{%|~$aGZx$}qt_L~1{( zmOkx{rOQT+>tqi+vGU(nEf#NFNYHtt)8h;;*Ifk9(|F^=PN7qUn;B4Cpg8$X(E)bP z|0_T6)EP7)+KK`QJ|$4<<#I`pD!RgDf&bXlf$6K|H&+QAsOG#Jf3`&$uzbPhx{sH^k#C0buF?usy#!YY(e+A>V<~i^u8&_+b0MXaf zTrta4PJ$miM+B+jRA46ez4cPWVLbft95=XM0D;W(^e!1P{wd>eFY63Iu>fhYSW6eI z(*O2qzZV%j_tiGX{B=RTv`D!+10tthPdK=d;tVoTbw@vBlQC+VFlu z!dHh+Ta2V#!ppa>Hb^#kW4p=ICdL*gIObaUQI*jLgf@F)SJ$%+VbU{; zt9z&3QviLJbqy#`9}B0pY8Kivpzo}P?7tEbIA!N)@98LjY=`519R45xaWVURPZN65 z%p&c;^t2`Z9_OPyt*sB-KHv6UStW9`T(dx3k{*bp1PISBrGWL1A8d}H3h+>FarBio z!3B+`H-jy99%+QDAjoNFY(-c;t04`mkuna6@qp7ZNNHrDZQ`D z69W7t4HS*7!A;qOUw}BrcLy_PTquK(QDksI_n|-58J%dgk+z4w9cPI`<&VEFxy`9u z$pCG|SEv1di$mUOYt`B%d(a!4w`Tt-29jUGT))Stg7|J_zm!V>Si%=dZf-WfP?PY5 zi;R9i^PMPL;Ra~s=Ib5xGaWW#VUOK!!Y|&Zu|Buv3$IJr@5di;C-U;v17~A56<&yZ zdhI%8f!&@1ejaNC|MK`YgPbE1o_X2te9_GbKQb&O`PXEE)zkdB3L+;E>fWfV{?3A0 zBI7mp@3{l%o$l!~69kXsHN#?i>0hIG++_}`e;)YaE=LE+&I#YSD^_&1dEjvIQsmfN z4g@<{FYU|MhfmyxwpU9oyH>d%z+WwK;} z0o&uegSGk~`0gn=Fxw4RO&Qg5Hn`(U;HukLZ@YoH>`*}{X)pithCkiu()Wder1U)5c}sqEmD+KMPVN72$> zL-6h4_-w(q)fcx48(eG_4REHzaQ&)`A2$BG%6ix}8w%6sf4vFxgwV;HxEOAN_dfr9 z!(Pq<$YKM@hp#)r4?k~G$}NH$cU?WKqUeJ^tdvAJSn1qi&7+`K8{3~6Buy$-?3!25#j=M=pQw7*}G7pRiJD;Fv#ICeT9_eaH9t6R3% zuQBnAO_1P!+`@d4TeG0~nM>h3pAu~6Qg9zBwM7zt=HnVMMW7ftLR*h{3QIk0iKk2K zk;2EZUV!Y2Gf_qFs{{-XrP89`-S@@N6*?BmtV|e?`Y1hm&lbjSGV}$`>Z6wRN#6Eb zHXy&KzFgo;==hAz>*v>rTt?)*nr6{S&<=~V5jyRLv`3!ZTRYDM79|yYZfDaW#`)Yk z@;y&r(Ye8Ul-UiXc-box>pX$gh4SfolPMNe3!Qx*1H&^hlT`Oe=3IOvx0#iK3J>c1U^`noQ_e&|`0>4+)LTkEtK58I;^ zd%3#dZEu4y^xk#Nn;;ST<8yb&{SIU78g%>ap67(#&M2Yl zVTuYotZHpNxgfr%^?T5V1Zo4PDKuX@;VBczp?`)X$Xtr1zf{l{?Cu zlcFS`y_r(~g4Pp-78ZJQUf6=wSD~->!cw5oHozeJ^1MP#HN%m@eV$0soVxn#!nQ*1 zw)4A7TVCild1)-$+6|+i^sP#d1FG5ktqln}qX?bnlj1XE)OnB)&qefuoB}?-PyDlo zde+tH4?@m(U&&J`Yt0^>j`LVKXsRKDMd+8h2z{XTxGH|;SpYuRVR+L2J_(H|!}dMc zPvmQ_`lL?ROY-g-7fC|SFH5b<)`r|Y7|pvT)Sen5~LSJzwK80^dh3)$F1FIi=P zVJjkw{h1L6nPwf#T! zZn+?L&Sd$YD`q&d?kW4!&INCdGJS~LOZ44#5x0dOkl~!Q#OaPbX6PzXJeD@(0OOux z<>={zKA98yo#8eHgo?5@jf23XcK;jeX|qaO2U9@tSxp+%qHpa)iqc z8N5Z}Zk46OelEw`e;=$hMknuy{R7+>HODLJ;PpkyWc-GBnYhpWBpuoZyFIU_Ac z4oCD6cP!zd)q|gU1IBgx9g)pUb4=Idrw@K>XZZ3&pewv#PfI4W14@XC=+%I%rfiVx&X67 zweu61vOu|4>g>)WqCT!TRb{2R!pa>k-QRvrVBio#cO=an4fLZIWyke!{?gt(;OUM( zIpQStv1Pz&f?V~{fM9Sqp|}28Ne{md(q;cj2!=#^TK>}T5DXQT!cO@p_#-RB66=2f zE6?urc71J+ZdS^qk7LTHoU%D?RGACZ3+1PHbpzm5`&-4wrS`~sYw-Nb9RVOIxh>z_ zBZS!zKc9}fgu#nH*0tUVsyKOcm5P#81X6D{(XL)qM?Q+L{yM7JV5!4@HG+bSh8JPO zyiEjjo)!6gf8>Bx8Nr$H7DPTO=(~%q*$292ctba?=;L2Do+L&wQ8-OYE_{CS{~Ws2 zjpXaZeHz^webq}IB^4%qDrt(qpKjHy1tA4Ax%TH(tg<&~v)z8RUSSXVkFHBJ2-+a% zKfA<1aK~qwMINoavBrH;F=^LnGU3R>!JFmOkK5Atsoy+{bs1isOI>7~~k zA*7}E@*Lr#KA57jafl*M&E)(&3zVcPNTskbB+WmBlnHE^woOIsp zmjSE4GT!>fjslI)iOGX(%HRfbeqPd^I8fG}5m@evkGp^DuL-jS&XBMJd4GKIMMq<; zB~e$s`qR8dF1y10#4GmB#C*gN!;+v3RA(uz415A0&q`@uWuhl`b$ zlI-Q2K-$TFC+=aIugG(W%A`6PN0!$;~2o}gnL^%-svx80e?3&S&UZ$j?z7iyS?cM zwJEY6x#H9yR7PO`NHH0%l%LO2KIjN@HrGx>u;}1}vB0+DlwxoyYOl10qYnOaud=!) zk_kq>OGP%WTG%J{pyzpzC_GLYnQj=-#4g`k%a!HUAgsLMzOrNpOw*G662| z1wD;jm+5URaY;3bk6kMh3gWX{Q(qs1kvZXXRl<){_*3||vYZ`w7ejm68Du%3wSzmP|1MM-^F5% zb7D~zFlvuI3Y zv~0}jX%3gFHvecXctQQi58@F=%z$q#wDk2YeQb8+O)h<70O5_Bwolcpu+eLpabjy1 z)WJ`aM-GIZjJhGBz?}idi|Ts99~r=WyfyP`&>nDYx*NI6(-1z}1U={Xv4RaXJtn?r zClp?MPhGU?j-yo~7BMMKP$1wkyma0Z4}FW=4qV6r(^#SJmy(PjYK_q}C))`|T2~AB zxQrlty(tSft)XP(a0}Bfb6o%O(I+_F4i#dKjB>Wv1DmIZ)c!;E813f2STLFiJZcea z$D))#v!#&d_DiDQ*|D0i@<$0`#7d?f6-HIclbI9K=i{o}TfHyF{_ch(L&FQ&4x_}U}m z37RvnYi%(}bjy|B&m3-qR+k5BkZ|7RA$3?)2GCCIE54d01x!Z@otk{jL9c+LWvfdH zQZ#$h=o{6+Y}USp*;4|?vz7&u)`DS2yW=$NZ$BLN_fWeK5CVyx#Qr`HNCQnRizvfn zFVIfiQ+t`(AJ3E5=ARdOLENa`ri?nlrE#pZ51%&0C<^!FIw>J&7dYX&&BO=wricEM zE;|m%K4R17*^*#oWQAF@#vM`&%K6*2kAot2aK7w0cNka6-O1YRhbFVMHwVi!fKM>y zxX*Pf+~f1S!+O&J7AT{a%FfxMkXv474pkP|Ed@sl&{}}BIi=b2b_XCC&F#4%V+k#7 zRM8(-jbKQV)vxk5!DAdbmuRt|2JKt9LS9vVC?K#B!+%&E4CBlG@zSNk#J0!3kRd5x zm3_KeRqBUaH)r)qh8+4U*ZbeWH8Cid3ct@h=#EX=#xt_a z=fE|tE>3)R7F;iTOREt~hPGyVH}58Qyf0rA;w<6_LesX*DWaUndR#Z#ZZV4B4xe%_ z5OWbnWcS|FIPQ(NAk4#zpaizCsnYXgtMo@alOt{IR%tM5K>|QJwTZ#;}Lj5})&@jPFl66xDV^gUXc_qOH3ol!`jVOT)G3tvC%ed^HR zf<|XGY}Caw;O`K-Sl=KSF6K)7+NJG{)kd`a4Sa>XvK#*W~T6mE*?6 zrCxgwk~#ArLe&RK>7N`k6Lx`yDc)fLW_@VerC!l&?*i_JTx{E)WP*>XsBDj(8!%^- z$+mIm!@KpBayvdZaM$mB@u5Bts6Pvpu@weDMx5|jZCX1d05FbD>EqbWupauF$mfiy zPVRZuN6d|u8paFFx&rgz;$K|{xG^*Ny!2f;S77|z9Xwz)C_44kE#u8mHN-#L^k+{cBIlmk5c&rCKZx0m2 z^gBbd{IzqxLww;FjoA$2gD~Vf%D#`(Xa)mc0s=kj!;qdTYT__v!fn$ltXmaFE3g6nBkD5$Xpy+lACU$L&+!pO`=9iA%1i;dOC#!l@QMnC697__~r132%A9wtlB+1Jz%Gf zv#;MCvpnpASt?GIE(Ti2(ZOyr+GZh1id)d){V za~UWx{%jNT*&T+NQ(PXKm|@nZV~mRX{Xxj&ch9?TO6a9~jsHWcEN)MQas_QEVL3TQ z0#9Xu!0?a5!w3DLTSRB(^IaJ{xrY^a{`rAO`SXGd(mD8hbtEd{oiB*9a*T-65qa8Q z)-hUHbDZVx+Yv(WIaF)vMG_rZ#GKhX+QbG!kn}s(rzvQTwdbO`24@XGzdSXpT+s=f z-koLPd*KXvwA){dX-Igtn&Y7{rzR|l6{sIwvO(SpD}fwR>7e_)EO$!63J2Q`VLrh# zQ>Okhua&pLje`ZlC4#~*`2@}CuPDKd3n3vlyZtflOuzr2gD@1m2|WAatv~Kmct&5U zn+yW=KdWa8Z7|QE;&S9|Auu@~n%pH|gU9~V@%C^S!_>oy?p{h8c=RrF{wN(8nShTvZLi4`!q=PvxJ; zg6EB#y>|!>Mo2h?=FrM1#JA&tZiMgl=HuD*M^#8y_RkD3xgg;ygl0dMm-f~8*h~jelWnm&ByHaCoBlR zlQlUo&;WHWHCX#(>R@SzgI~~sIPMN#usmZ+#+E1{#iFMI;5t|8ed{P0)t_0e%^xCs zY#BDcxnwR(n$NV9V-|$UKTV7WRCsU)>);zdVm|tD%yzTSQ9TUIV!3ZyW{NUSH0t*~ zxZ%OAT5d5TQ_M-au2a030*|5>(x}x9VHejS8Rk?Tpivlp+<1hThy603nZ4Hxp9mSc zt-U70@W`H2{lakkb*zKtpsEotJvi;`)Dez4-1ME=PqH9`vMC_qS|If5?xHcdUoF(AsLY7`@$P8z)c0NwOcxzgrKN5Qe#nW6cO&}6jSQiOfcfYMt}^QWP1fx9ig4rjJ!h7(BRFA` z!Jgu%2uB+)vgA8>!;D&Y-C(dhMCQxu+~;&arUM5;y-O58#xJsMcGMnk)W4=LUQY!M z(-XTTTCE|#d~X5YT?Lpqw`lw&+y){CqK|PIOM`81c2$Lf9W-1`<57+!e3a?_pIV;W zKrO?5^__t&3UYLRX;jDn&gig*a~0N5KS7$-nc#-n^_(cKCTpM>uUX);(}O$m(ya$A zh`ENcAB`UB&UmWy55-s+3EYv2lE&Hv!z5ekyIlw#d-vtey~CQoU3BJAUIhuv9<%Px z{iaUz&uk$!;_h(Efa88Xr54s|Dh-BpsG!JJ&CbsQ-jEYO4%GUlg2F1##np(sn@KFz zUpd4WOsthXi#~coqw&mDejX#(n|v;oj=>SNEk~sd>h+NSdLT!)l@n4P>y5g4))mJ8 z4P=YNJE2jatCPpuEU26}$#EU9fo`VL)ZH?!Fdf}DL;1l9sM(qyX%Rk7`Mz-ea|b;k z-hnc)UP>0f4Dh$j-qArFp7VUaGZe7&L8ACh$OMu4<9kl1kYMA^x3o2af2?DWJNHS^ z78pHMR}MQOHLcAcgu%sqe9qjc*Obv-33pZnebbr-b z-Cezat8G%n-V|Udqs7+jrzZ?dEvU)NyI_x`*TpK51zgS)F%%Ip#acPDr|h=gAbxN> z+P2&jr|m|SY+bY9ntERICZXfYoAzsR%X>pg(<9AJ1|rALH+GatRRSHs$w zwZN~{+W6+Hbn%xZ7pPZDOYSkzL;2xPuivnzLA|A-c0~ULICEQ|Z+@REq>+_JIh2)Q z?1;nTx7GGY>*2v_MiYy+C$Fe;OuAyHsmxc45Hfsqsxx~#bJ%OZ0O+ z`%Nyw$bYsXEJUA@fC|yT5;`hRQ_F4dTJXQ&gVswOr zlkFjP{%$C3K$)d|#uWr4bf&K?8$9#h)hEvOs}F~;P)q7pyUn3W7~XE_dkk|G{lS2DyKMNEQ5)m~sx5VqW6 zZ;a(#q4C^h*Fk}+bqS|O8}){-dkyAd?6^8b!9#R?0d&P=nC3F_uj>4 zYQ=(3Udvodecu^jTfH;;$5}X?nG#yxo(_K;rPZmANP|(ysgvJcI^*K6pK_;dj0sj7|@_;!hP?o*7~emHOR?#McEkoaKtReU>o|g7?kY8zmTl zDHY4cV5T#u`Ofw~>N0}MuBNA=R~+&EK=Pdw+c13Hq7zS_V}q?~Pj@+kD%c3S<+^R# zB7O4-f&0VBuru*nhLO~Hu-Xi5R2x(UX8IxK{j7>Go=5NH{+zhyHYvn&6^Z$?_#1z& zO~^v~^~QeALOaNFA4v$lBL;rWORtz;rNF7fagtSwQlOaM$MeC>4!GRcxW6*Vzy*@V zZ5115Tz%m1`CD!{H2;V^_V^{fcwCf2>9~T{vUR6a*1!lS6n2Y{Hv&LbxlemEnb>#nNc3W{ zFTn%6vOg|YYYZe-nvZc)E;z>fIVoKy4Je}MAD<&Q7Gu*0EnYzrSa1|uiBKW@4I}ni zad#V}_+j^>{uv3l&UjzW3_pU&3ahU!pYcXonq3C%%gksy&-v-euXOk(w%06Z!5+#+ zYnGCPy)oqPi}ha(_7M9oZ*@W}7!7WF4)kvNBBzi@U3iQW_BiNKZYnteO;EYoSpz3L zU*Y2}o|^^%XB2*(A2NYN=aoQ~XeTJPK3n0aVGL$JlRrwVIN?NFAmKl=qZMP8ch zPNBS=<$YP>&vVP!;({6AA)Gz(v4VJ>CWlWn3Rr^P?g;WBc}FNrwQ0^L zbhT8=2aXFJ4#0XTfWDFF3;JKPt8P!LgKhXs@sWs&XxA(@Lrt9X_XAH7mX7Hmh57Y+ zz1x})by!6*CRZQt(@4ElCdYsQOHC{@Z4ijB?v~wODTZlOiXmb zMJYQpAGsR}>&P z%<)qTDs$)c>QuroVtK)G;7=|Dxth?{FB5uoPTH%PLI)%lK2V@Yvs#DfukG?y?i9g#WyHILNTqUL9^I z=}#sXld)cT7wbO;Z-`_Nxj3Az2O}I}DL(=%k#v0ZLw1xt!HrPvQz2O*&#ot%3k0uK z*|!k>b@p$g_~`*R-h28$di$&YnI04RcRr>1#;FJ!ndZVY=H?ix8an!b$T=x^sU@qQ zNaCO5s;(!mi200xJ%+9&*I;b#9S3tie~7%hUs3I<1a<|D=jU_zLwyXPn>nKVG0xO3uNyFYW^rXHkl;_;Urr3Fl9A`l zr%CSHHV{HvLp4+F53Q{I8bTp)@TS0`KkvE;(sZx!vofB5*qj{q>z7TiwSGp@pfwBL zUKP#k%QQwGmq!n6hK~Z38n@kCh7lf=2?+ki;|<@x7E)>?2;;3YsWJ8wuE>1w>`m$u zFB;<#qu;hBx?;lTT^G3;QbGPiZus%ba-cAN?>(t~r19sD2d-%&?A8G|(H#OU3gFD`&JS@JL4z;c7 zyEJ%L&Lr!=A`NPGb>)ZpB_YRWeb0%db5QJ@)o1sfnD;HJj(S(-id6$H;Z=3+XdD3} z4TpSyU-o-D+fEN`pd38yU6Khdc1A7IKF;t@=F_erIv?Ok&6>_7_BotbFTD}>R}>D< zJxpY{>Vl`XVosY0dExK@E;ZwOj&P!%UwYio8xJV$KfOVn1#Jn;Lf!$UpzN!7V&%Rg zbPu0)^?hgxVvdh*=l?W=-OY9{&PPz=ZH5O%m7mC4{87)(c*`tE_8WxXLnQ2#+N0t{1)y5eap`b63CBA{=UN$EAoFR^ zV*E}y&=9iyuT#eij|N!GKc^Cg!=sY3HJhfm$eYK_cs?DH^&&o>wb6m}%K7DI_k=)% z!FI=OA3eyADsd^`mB4uY7_YfdNgTi0aOA@qGkm^yyW7Tc2ha{Ia#S~);^EoCx6&zT zV0mLvq^iyYek|vY2e46s!V}vlE3z5%KS^Ab$Wq3--q5rG(e~-qT zAQO5h{IL0+0JPqSeWS^n0W`Z!4NNGMKy0^$k|rae>zW#w+Y6N-#gn|Zkl3%LKPg@` z-=hy4b3$$QZvTqt(uSsOScHkm7Us0R25_3Y2G7tKa z=`die?`xx0j>ab$zKo80d||mKDlSV7HB9P%bZg60=>lOZTIA4kZ$_oyqj4Qo|YI!=Kt0NeC~Iv###er zj_#@C)Aay%QTrw_J`a#9;VoC=2?d>hCBFwR`JtxCw3OEAFgQ;RDatsR1qn%~)3bs} zXnD!`IadqX6=i|ZDJpepUTSdGc$g$A%VLs%$31frB1D4N(((`{PcC( zRN#|u*3mDQvfx$LVd;NMejuMS>+Gkig-xDGR@%1+UDn<>w(NcotV<2@`hrQoY5mnv z^s50>D|9P8KH!W7^@69>YxJSrv)^}w=-*o&xqDUK2m%BB)y+&fXZ+sVL3(&H2z-8+ z-1qAVN5^5|3J-TDV7q@yis@u9{*R{jj;H$n-^XoHX7vrLJ&h2(Q&*OQ2T=(mKJ>4z ziK6?_Rj!(c8P7_>&e(!KgZKQ}>Ta2R1d~P1Vs8|gk9P6ZPJ^ieg6Dhg>1#p}M3$dm zP4V1b;`}AQ-BTALh~EQBnPY(-3}X+6ZIZ)TjQArrFRg(H#*{^0dE>(^gdttsOU^iw zv8J|I>)}T-|3)z^E9svt5q8pO|5r^iU*w1hSADWAu~{;7D8e|25!p|l{A?b<*iup0 z{KqYpQIwm-OSo+#^6qe8$i7&{3&$Ob(;Ev3M{j!rPJMTR%p9tO!=(R?{o2@SVRz!h zj@>F3$UMx238lS{brXnBHlcQo!cl}w)qIkI;4VfFf4iNscoflX|G@WmdLdz}o}X`Z zZ#&VM(Vt=@w~J9OD)-Eiww-vEdts}O6^-bk94&~R4Q8C+Y#;tEyn}Jo&UDM3k7ORv z4c>E}jggE;dwt$5^rk*?uyTlb4$kCZPio42+N7v zZ|-dIBVJ6|70I=)C*D8LJ3IL|nJBSe`}p479gJWVl@d8-Cq{G4w;B`gC`M!L#81}f zLV`a*$$OXTX5!G)>3Gp7N5(7r4$YI>HWBXc=CXGCnK8bsxmhJkPiOq=F8ao=xs?%5 zh;iDIbBQ+u1k!dfZ)1FHirwQfpF`Z9_S? zxkOUeSKy6i-OaG+jfrK|B>jWW65F#}oQSVp9>2@J1RDrcz95hCMJRY}vHaAGKY zmau>4L`3QL1k;Vf2@|nH>(YEv8E8JEv*fv(VZEjBri0^FhVjakpVbpaj2#gpS&6aR z7%K{E;<5+wiNGhEK7#pv49Umz8G#-nM%N*$Ew-V)jGmj^sL2{e$lrVn_wzD|3F$}9 zg5-U^U_q%Jbg(D1dJ`U*@7Tt$72=c=8!aXNdM8OGWRvr9?sx4Is+|aG=BukUq#saC zgWK|8-$5dgTmLliSc}1QbM+ZrJ7r>b=_TemM=wU-gwyrJ^`b;WYTR?5P;yRFq)};7 z(49zKpSob|=EbnoPOP6@aVJKLB#YjP2{EcZ-JZ>0N+DD|c#K)I-55)0*4nGK?O?pg zqK|J+abW~?ZbpH+A|gD%zq2xB6H)zKZCxSRpDmcb?>OYPiO}Vt+AwxlGEPb+e2ymb zCbJd==gic1Fp}EW7JT1nPHb12@5q0@gVA?!XY2j06GTel8PQe)bK?EY4?SvcEQp#B zG0S!4r0>LJO*{{o52mrhoIPMCnLDJ*mhfxs9tP{AyPRf%KbfobBKM&B9>(Zzza)pU z0zyh-Z`(|29Pxgy@LVwIUvoSjX}fYfj`R(M%_dylOf0ZA?be_6Bo-WBSK0`W^M7{^ zz{~KBLXK_2a(Ijv z;r}DfA@0XsqOiHup~1kPp-F7`tN5Io@t%80caNz*s!lgv0q$xA-T5K|k55$gtLwek{TSi4w# z_VNyb@$1=kn;UVAx*|WVvri+5P-&jSycahUt4FInirYhpi;u=%2`%qt?AUuT=_5B; zXE|gm)P^TB3KwR%$&+u0l%s;Zw{JxgQkS&^JzlsGvtv^7i#j_Awm!LMD`bA@BYI{3 zk*08B;;Z-+?@}xy-{>xa#ufFhoq5%a&f|=klaM}?pTUfaLzuGb; zlYAb{?6M_z6UJ2<G2I4f9snt zJjeYGl$2~H_;0fPI=hQ9F8@*px_M0Q)x&`63JBP)S(4@?&k)hwkVt>?Xo z_REbuuLQ|?Oa~k0m+U@-wx>dp6S=?CD^@GqnV(6Fmh+!7u{9yWwX|a#j*xRn)ybm? zEn0+Cp^Nc(*HVHgJc%xQDTGN~=w*R)?O?cUwU^Bz{f^v&@0Ug!3yIh-#Y$6y!bJ8twmTN3I~ejp4?L5v ztRh;wL)J?VhV}BZKVzI>#6ahjMsK4%43{&) z)JMiX#DNr}FH6tJ`ANlc<+Hg#gtUjJ)!TX|&E0G*nIT}igOxLs4)$ApxrNy^<){r^Lp2rfSG*ZZ%MGnKh zjts(2Qu$c)4F^I5D{Qv9rIF9SbdGqI1cu<4t69>mG=kpX%*svX&i%z0l@8iQhFpcd z)M-(2ZuIOQ+ZI)FuCzM4xXNb>LCMEqW$Hhs{jQRFXyJ62bX6q7^xc!Z zsKt$h$w|KlcdVlsk2=0z3%|CBFj+``dh6g(f?^a~QJ_bmp}uh_keT z)un?0#1ppM*Bw$}M9B4D-Ug9@#LFOFp8M?K43h+3g}JNpkoWSSi~BV$u>0d|et*UZ zj~-g%a3)0>iH1|pcKJACx8y6D&2K{(tLU{;edd81_B4MUS>Qy20P-let28*HwIgZ# zmocP?_ELsp4e*^knf>z17~k_8th{Tg2X!G4E@v9d@On|iAvD#)T#M7SuXs4H{iBbn zEQ1-#lYibS;^6?_)FHMdA3Hdcv^;qDy)_<++Su6dV~5%oJEQ`0gy2iIk&gIZ58P3s zWSjU#6?sGV_DtGPk?Gfuw4)woIHoFnJBnfkHIsx=|G2|D2!fy#R5h7A!GZcJ$uyM;YiQDatY36kJgCUu5!`+ zcy)2(*nsAr5-L<3y11rLnF@!TwPaal0L(-4N&^qu;`D_GqxL-%RA(CV^!?zC`@2i5 z%t~y4O^0%_qS7AAEy5>k!{;d1_URN0m)L`kp@=aZ`C$G1$zWjcfp-6$?ieOxe3Ib8 zB_U=5QK8$)qD$;?=)q*g0Tn|mif+1ayxb1+g4{&~gzP|hk?mewxgGpHrV*`?YK0;P zjVeOLbx?4V4xV_j`-3OECaV5^N8F_Mu6`o%Ro)!V+jkbeyX1v$9&)q&zT^d&JPOmLKW*TA z*GRn61o=6p4*$8nVuQt`2W*hb3$^3hVg~$aC}PCUTEBq?rz=M;MXONpU>ft=zj|xY zRmoy`QEx2>g};vbCMEB6ZT^ZTE>K_IVyQTwgx)5# zhfegagVIN~)$q#}h1W*)iCakF-uV?H*3(pc^?nF}_~4HlsW}7fF2Enb`-ol57rGXsYC;}M zVIjq6SGMOeeYMB(Sc$qPQVLFvep=@U)7#68_pftCUO`DyN%d9m@a~($>@5oThu6x0 zdC3Z0p7L*7Dbxe!sj#D+es;*R{oaCFu{SVxJU$xOXn{Yc*GQy0nxU&8jXTZ91d=T* zZw)*4Q>wzW&VHuKt=pC4~;G6Ba$lb2;8=IHl& zi+1!^RiL!4WeAyCV%T;E?afJQ$Qc_|ROZZzYnHXO%Nh2#x2o`z#$jK`p)hZZYxE$` zwY&3-k#2{h3VXlJrQ5+n92>ZD-5Cy4kNUgDJ7a@y;wOoCXUHEZxN_u{DipY=|D&;} z!UoFrbG|I9_*YT?!QT@GKv92~sT`&P9AihT4{0mlsTwiWkew8e>r+wp-bq2P#>yxs zl5b(J{@BK13*%!oN0&3@&?R*IUCn(Zc(w52@jD$y9Ph@DzTu|$ZMRJ0;q9jIFYM@zPH;#s#wN|n4=3GY=7>0se3iz+OYt~?$uz?S)2a+0V`hl_p0?sJQ-IwpTVY3 z$O;n22Nq^61#{@Qm3E3m zG>|@#vsK0zj8w1uE@0sCz$<8fd7acIhU0Orn&vS}X&&?dH9CXIkx|`!9=enHjh8oyE@l?=mLK3|s6q?qknPH0h zll28L23R6_-B!Qd1V8%Yh@2@_`Dk zMjR6c+2rxL^4N=FHhIV&+O1*RMT3a#Z(lpDaDc}1HRU{a6fyDI*F(LB#G&F#QrRlg z8OqI1BgaXOcZO%T@_aDFGk>IiJ4l)%UHf?I;E*9$d~jX1Ycjy#J^eF5jRwf;UgH~tXdg@^) zgI1;Szy=HU_jivjP{7Rf1k?4u6c{|k6XIH6fThv%anX&6a6M_#BlDsxGC@{dTcIo{ z|C(lE`ep?ZnvsO?31zT+yg}{q6=RI_DJjrDr3AKp^8u|Z%k<#?kK_Aq!Gq@o08hPA z=*pR}!-TNc10;u9mS&Cphp8BlY{36CnTpBHssC{}(_^IRaatQH`#&i*RI1^b@;P;q zV_LhIn8+4eRD3JERm$EIXIm2*gCqz2`XzdY77IlD zj1TQ0u}=9*?;a8vyF#|_enkbN6^GjY(C+8;qi-XT>zNEdbMZl{C3!#d?aJE4Z{P?0AkSD$V(vx3A6$!E*lE;sftjie zJ{D<)smf|oRf z#UVF8$bZ)walCeWdsA9{D6BsGnuYe<6SjwKtrG3^z?+I!esnln!vT2ULB z`ocOB4Cat1Woj{iTUWkb?`l+nQ#{pU8ZF8wDDnN&Xq_Ec`g~~h%(R2kFV9I>-?zu) z`$z7{a@s;vtr)A*EkR^E^goW9{C;v$j&tCvh$fbVX5O>Tcf`ns&Wl_ zsTHRUFnLp_ZDecFVPI(3(CVKYG_uHVc z6_Z%*fDI^Z|0JbTM8ICV{c(FPQU8x4JwUIctjh(bA}(=;CAj||hXVHOSKFH`Fk5-^ zU0Xj>{Qo(;F`G9?xr!tSs55@H0^f?>uCV@$+-QRX0n|%_k~B z)7h2q>@sa^v3*&$5~U4Ee99C1%d|oL?B|&6{;tTBF=njVsE1ujvYr)B6+k-p?&r(0 z>L^vrxMI%LPcQdW@aWH0#vT(lkw6CmJDE8v-=B5HAbI^Sdk(t7D=Al7ZoU8ps4O_ttzxE-xRF4W{3sVd|{~!RUAr+*wfubKsd*ySHn5JNE@2Z zt~FZ^UmN06QainHwD&;jfnFgn!EvEW!$LUk6xH5o_?e=R|GPChTo13C3PdtV%+MQ4 znE02{)Ud~zdQmi+tkWfGCQH=(!H1>sK~tz5$UPsqeUoAf?K2M>-iF$tbnL&46E7T) zY1qDDq}mZl3xAYIt^;iU*c7$PQXVhKDi~;($zk0Ai?3%b<-pB=>w7G>8AMw>n%zO7 z#5UDeR};*zIKecwV}}JAPh_o;v2emmy{Ed^`z^rq%izT}^5^BY3Td3HSyA#5n{N9K z3y65~gm!eb5ft7Ns=3L~`#+9HOlYT%kCJtn{d=aFaEJfn(Ddy0{lF&{NZs`$x58-M z|8X$OUmSX3;(_AfWe4QT9KpOz-Luu0T%Udm@8a0H4%hBk?_kW&1ZCXwZ&I=doZ94X zRwbwc)4!xPY~=#{>=fsFbf-Hw?eu!mbj1~Sb^p~`T|$B7iq}IwH~{T_hFr^6mxZ4% zV-pitbg;PS+Me5{ayapHI>B*S3%+an0ZYCkvU$G#safv@DkpNsB&u|=%J;rc#r>O< zq*~GRYi&2_;_++z6wY3z$mWj!aM`biod+-fu`0hzkH1m)rZiR$r?|X}`^t5(^0?)s zfe-;_)rrE3d#L#Bhp}LxsVKDAuDP9DLdD|bT+5}cdSLk~Q)^s_e4bMGg-CBBumA9A zsz+EEq;o%ut?af#iZGjIX^u0jHy3!qW@UmgHcLGhikIj+H-sBcg|EYuD2@}^(ZaBy zGc^Q*6;OdGj3Z>HFgjQS^Bl8Uruz(DVJKu;Acuged3+)jmQSr(ZLvVZEp5F!3_e=G zuVl+rmovR_t4(VyeK)6Ef4rH~KO&uCGMlqsal+$sw}--LgqpNM8yErgn)8 z=daMSDSw$pzteD?=QB|hiMF(WV#loTocAD{O_aT{`P7$Eknxfo#t( zj?28bmwjgE+#fv*yvhDdn=peHCx#B(^R>iWH4AILc?;nAmVC!Rgn|o|=`31pig5p5 zj(9w~5*~K^8X(54fssP#D~ERJLblqKwyr5%^vUjiY8qt&F=_lcv-Sk2)-y-#_-O&H zU+YnK(gLNwrSAE=+69)+)E+oBuL5a4js}DCDk!^a*4m5N7sQU-l;pLw2c54?H^gc7 z$io(BRKL?2-VT0Rd9c+Qtncb-#ICc(^1j!<2216DQ?}V)ihV7Vsc4;EWM50B`1JLu zX3^lrz2(;`M{I$2Rrg|Cr!6Lp4*F+k8^G7wcN|$Wl|fOU=Rc17ZaRw`J4axs7)L^B zi5(tU?BgIgT+39sb(_T$&p&PrKeb|lGzZ-iB!?jy$vRTF%2O6=w@TM-6XnNYh5I{PF3eI+aTlrGwA9A}7Zs0A9ZT??P#d@- z?}mpzI_GDwB*Y}!8+yL@+uFkAm>%@*SB62#I6UFEG{Y7W_EOO zg51x~*AC^=j#9wKbo+{ixfja#cP`K9+CsgUS9_GcE#CERy&z*~i8%&g=>mt8@YdY0h5obHts$CC+uProoeId@a1^Y;g0Yo3xw+ zIZUg+E0dcb2SbrYzi98wAf@NcxA_kO$orW^>%*uS4)|6Ed70Vb7QuGyg2Uc;)%~*h z7Ij+~YX7I0rR{`?pH83W4yR#o%;NBVStsCOUGk~jZ4I8%)V2j-Yha>YbM`6sMAV*a z*XZ!UH|I81jy&>0?iYf`(E;hz-Zp9rge4w6awWERm=6N4CRdbN7<&X48!5yWS*XlWhKxaeB9Z6OpEH+q? z&OhV>4D-9xh%Q@Lx)%H}uFDqx-a4=RwAB~Rgi7THM>@dtn$JCtBOS0-#OsTTtpU79 zt>yl4UM8&pvSTyV5EXywM z(nmC)2y}F5k=UuZ{%&Fm4WkdeJ;GAy4y((OEq!me!wJWsM2|{$^mXG{(U-Od<1(}3 zL5+H_w{&@#8Hv_a`==xO=DSh#wP{>nn%j);Ewyy*r1y|ep6y+DHRg{UkZ=d zK+syWJH6gvdY=GVB@28IChw#DeYH#d`;5n9A@y z8kgEkdD->Sfu)2&`E5|u8=KlpZ)39-|2akKH(bpHNqG@7onLL1^3l0VjVg)Y(!Z z_R>xhin`_>c*SX9O1kDj{a#J{)OaG}$YdYgx5ug6)^VJ!Y3WMq*lYy{K6Kf!__-kc zLLT4uoep5_Wt-Wl>Wr=V<}>QT?2uVQk!lcT$6%9+647!Fd^A)O&WnyfRmri@z3hs| z+D;X(zv2q&qldj;ZS+Q4uJoZ(&ul@4^T?^fXSTSh%{2R`hXN!>MpUj_*2TD;E(J;p zEA(D_yWIuN))4$~q2T9;7jo)swv;~S4`GtQf4VPPUGyb(%a$H%!uBNj zPqq&vvB;dZd6A)q>bBg6XGwgJdO5kcOB%DUHcD@}O~d7D9yhk#rU7YSGCo*Eg@MOv z_TxFEZe+N_l;r59_taQ`#R_-7U`CqGQTpJNE)5rc2*g*WiSt+>no zagY%ye)dAi9J=I=uBnhP2Rp^jV}oO6_-d905?3wZK)@ZCsj|ee8q2luxt1V0$bZDb z(iwQg|M_v;XG6)gfA49Cvw@drP;u2yFN}O2o3Q@{6)2r4HOie-lzcwMfcOMTb#R_y zu5}_^X2W&I(Jv?HK~LMN**d6j2_=6|lGo*3J$`=qrx#qb7*>{G_eS>=uMM3B_Q0f~ zFXnA%kAF_eX>SQqhWq}sD`zE%5PscZr-FQ&c>AtEDE{5N0Z_1~a92;Qfy}*4lOoc-?NV7j4rb5sm8HrNC`<>Z1W?)i~4lr#=Hk+{QiAL{51_9CuHsYw55&W4Mw|E z7>#rc|15kvP!GcnzEFLT>IuyraUo7WjG_6$)%C1LF43c}=BWMSx=KGLPutq)V2Xy6 zV`}?IJ*408O+jrJKfJssP)bu2!K95XdB^UEphGjfyD{zvx8I0?$Gzq@7#>5bB>F-Mx7@hifZF03NNV-1v zWxAw;wG{74VN-Fel`q2rCwr)!;^)n#!Tm9Wj1SLei?Y5Mr+=S`L+`gpKl z)+F>60T22MzLzIa;Z{SWyrd!(k5yd@QV|dY+J|q4?E_fwh)2k6Ejtz{c(m$z+;(gD z)>u?{#FPqoLP_}c2o>4IF6RjeTYxf);Tet?L%3L_B!6_LAvSUMefxTafWW;D2di`S z!8uGuvMyI2=ZiVrv_Ck*!>~y`rEXHMcihdjshfr$?IcS3mN>FibEa3e=K5(0z+^$HjlRIV%%R*Bvu$TI^ z^DvJSwzQPTkY{Y*kkw#?W* z$u@%DZ9E~8ugF#zmvb^55r8q z4oIX^Vb*%@j7B;Y#hyBB(7CD&C7iz^0uQZ$M6(v3OTEU(I33q9>p;T;)}wisb=}cu zgG4LskS%-~5$Tw$b3)N^rO4nP1U}>!xfhgW4^sxGFi5hWviDBE>fzE?l!v1e5o5__ znC0+c^{Pn)43B&(WUz^XRIYROrLv@M+dbUb@DI9|JetSY zIj4Z*P3OfrW6faFp}TAI1PumEGont7(t!7c_T^H4F);jU*)rU#3*XurQzp-Tpm;nL zS-EHZiLP?l-dFjg61=M%3+v(+!Gle0*Dq+;W4?09)PjQ>Y?;@)V3A{hY;T;a7QUK* zZ>N<=L02ejOfq=1yHOe4N{GU5@v=}Q{Jr+l*+A&+Hs|=XVh?{E+Ly~p9q`}Gi%qxM zhtcCKG0*3adGWtGq5a)zDgnvzST`k{O$*{52&|< zLkYOrfBRZP7^!0iwPdv1vx8r}hu-qRTlzy6lUR}?pAs$4>9Q)0?%{j?S;z%vPQTe< zcUcvl!^?rJST)qlOulGEVpO_eTt=)K416(g{S%-D`J#G#R`zP($vFR)eOMhuJ%6;v zby}hQ7CJMz4&amIY@Ig+6euWjt8=$DBz54@%kJuWSpMqsP!rVmNnYdspva_Z_KK^ zqa=!3)?B|AWeQKShrPTlOh9hiv{`i>$a{Q2|H5Nf+V}b{WzFsT8&lbYhv*MQ)d{;=ySs+cgLc%|WQAmsK6 zc@&K6KO+8`CQCQ~nj0cYCqQL5Kd$=N2c&ld41{TMz zCl*Vx;wZcD2lGR6Ae{Gm)vcql`0Nwg>CQqPaP~L+5FD!mw`mvu-LVq^rH%~u4R$sd zlCoXBNyZws?0(u=(`SOKm2}SbNt%Mqd)1x6wE>`Yw}|ssk0w|xW`6ahX`;a42V)Bl zydXZx=Gd^eBdDmmP9%Ff;ys7&7mQAu!m3|+18u>w@J7kI<3X@2UU{*mdaTwAY{aeW za>ZpazV2);=xt zEGC=Ef>3W!ZFby}+`#Q|Rs9Q&7^AIb)qC0z)H(Xo-Kh>_yLQI(ZZ-wfKgYGuqI6NO zkGEdlIpn`d2#$S@SjTZ&2=dsbt@?RcW$VB*%Ess z-1?6tDgx6srRJTgim*|HPcK1L5u*;sH0zh!fY)G8+<(}2WD{Fboehru?YS1c)&!~> z2OH(G*J3++QVR9xS`Z0Tk0z5{K(0(J>bjc&rng1jXmc}wo9Ak2~#0^mf%hqnU+fdz)wwRZau zV7B@#%Q~w7D65S+v*UplG>vuXEjw#rquHsVi&+$SMiD5?>oEixF;+Zs;<~5&_JVNw4md;E!w}{eJB|1usB?B zos_da4u(&T4{000eDj$N|2E5m(p+DhN}C6mb)G-lH%3MIeE$}&78RJvvFLB&6hKbx zE%dKfP0(PGP2%1q2efaf_Ex0}z<6f+>{ZL)!=X+bGN&V)=snVxK|EzFn%ca*X znwIcNJM;99nWr(&30OlF?^f`S(gW|<{A<)0 zrLdgg+%d&v3zup4*AdoK7>fREL$#)&dJwZV>iKqO@!516#$9VLjufO z*P!N&?1-EBo?tqKKWRRblpl)qG3&+&upOG(a#70+wO9BUzdEduQ~$nYS)vo-86YY*vnh|Z2wka1>%hXoSu^-rGB6^pYg zk9=H*B zOdq}YT1<}YPw1J{HN0gvh6)?kO9y6^U}B+m@e|`G<%;8y(Zyt2jJexvYGY;(S9f_P z6vvP{!T7CjycMKg`FFrAg3ki>AC1}-IlW9jB_Ki3TVA3#tc2arF7kkiBii!aX?7s# zt@H&QX{a+`6P3Scg)+&TGIQ>Jp+FIzT4T= zvt=aEja&Ns#vVCfYN_|gs1(A(&(_7w7x}}s;VAw&h9x#6b$G0heg5j-0`+Q}nDAat z*{{o=NIhm}*siVXjj`(dWeW@KR(hXTBeKB+rE;&dEiYO3R=RAscj3Md@VsdbaPE`F zk9I0+%M@7QGOsRAhU5tS&8IbY3utaQx8vO?&rJ$kK4;`l@m`={@q^_|~`$3)(sds$eD}Sr?tR3hmUg|wRt_<$&N7g+USH@#UqFGxe-657k z>NL%eiU;D7^*Gnr!Yw(uV~MA{;IQJG@uAhE|EKOl$a0AVP^9(ctsQOQ%2De*?9rCM z*`}`3_Q(pYl}24tmpo8d>ZtVWCwa8~m?5VnZGuk<71nlfX`rS)TYYSkAE~!#8L9Od zLDR8aNQubq~o74ZcoFnkN9k`P9XW*YV!qp#WSkK!3aToo~S!w z_(=xVq>je6$oRl}!##iaPH4iul}_XLX+juT6#DCY`wx2UK7qw%EjzrLZ(3W?V~CDV zFMpK|VTJ4__R|LI$hxpeCjH48Q*4QuNU-v@hu>;5FBRhrAkU$QHhI?o^tP1Km;H5d z$n~7*yIwO4<4;jv-(-*X)MnJGWqauNdHXGSxL#A5SAyj(6>7tq+6N~dkn2sh*n2U2Gc6-YvalrV6pt{fgmMoc>QTtQo52gT3!0dN_g5q zt|rH!AVo9q`EdQ@Zgp+=_@&RRH^>5Xvo-PiJ9BiJSZN%rPzLK&nqDW##LCBc({^kx z*fuH5M!~G#dwPz=-T7@TN`CzY|Z^JpBy7R??Y?Z z8qNzVKCf@}h{!?jzy+=O6?Tx-h&Y?uYK*HXdOCAMH0(8(ko)$fpRPflvU%UjjCVH2 zwdG$Nq0`(_^+ z)u1cqq|nWmRv7ooNGem>20k5AjCNhJgw$G?ypLY;JuHRn=*O`^ACkDVHR5@p*)u~UOBe7l_tEG&TjEIF`A z-U4*SY2DrOWWRq|{*(9xLs*yg>Z!|Tvi}f5IU@AY0G+&TKMt+(gmSX6Nsq9FgX&=~ z??l*Q;9L7MUzq&h{V_?ecMsga^bP!JyYGexlw-HeeQbc$NNopL+Q7ZCW@#!}Z_kN1 ziiQ_)09ftocV%UVP1Rg#pYzxeDU#*soO%#d^ms&&T@M^*W=_Ohw8emRQ;YOmXOL7S z7A~!016R2(Yh(V{z{q@hQG=@s*oIT5C;ysbP(oTvNSPSg3|w2KHtGQC3C}eTbn8P* ze;MZqSxannEg2D!wIg5mWV7^f^8cM>GIu)H7XPqzPnhSsz&870*26m`QR%DCzpR~- zaQN@Nq{zGgkbK=y7FtKZ>n%!bv^oNZ{z<;LXXXQk` z=Dxs}a?kNt5)J*t_jnvnqCug4T5NozFKDt}Fdknb_mv0J-M%gn_-vJZ$V{;f1m~^2 zzx#w0(vn2W*z&D_p;vov@wgwXdc*Ny?K&m6OZ-Mj86~Ve?Uwq$*A1?HXQ$o$-~es( zRX!wQ@IrrW2-&aa+I~=3H^3Z-o-? zpkoeGCcst`KPjIthq|2|yJrvU<8Z`>Qwx8rpla|?^{OE&(6hKIJ2+^C9iJlnfBPDN z;o49y<90)sU(B>55$W@bw9yhr2#w+d)=iF(LqGFNbdw|QvJiZs5nv5;*5q0RXES)n zXJUTb$qdQh^)*`#o5Su6dvkU~D#5H{xx1QA5 zBOy9{WhLDS>b}>X+Ze77Rl8!+tb^w0Y)3bV`N+_~X7NUDj;9rNHS@ityf%iR3zZzM zB2JL-hi!>9N*%z!pe6RE37(fbs2TsBfGhVNu0Lomh3jZ3Q&sj-;6B9HEhXvz$Nw1x z)ad9Uj|lIB8#=o1_r2I!4f6g7jFb7LmumnGHeF1HxdzBL?_t$;R}Y@~IvX2IX@K$2 z$EEfN4cxs!WuETn0F7i%ZLNbjL=X3ENg@6Dr8n{}E^E7k(EW&YRw6Xm%4)MR_0JCF z-)=~+J0=JTM;MiwCYCOn!{xh!u6Iq|%y}fC4$`1HzgHFBuVTa%H3=ci* zwTF$Zhet8r15-G;mEPZ-|xQP(m!npaTTHL zY|W}*^z&5Bo@P~yV)sf6jq-rJus_uS8=W9W+_0k{(g{CrI@! zFgMC;!!h0uM=bi`@Touk1m%FVyFhULoYg(0=B%Ez?y%tn^oJ+56sq;J%Rk89|g3m)6n zarw91BHcrO+rfk9Od!rBH$*6f6@LH9tU9D;4cu?F4i#&t0$-i*#m8q9aZ>fsz}yf4 z@WbiRAzuPaHGMkYv?$^cbxWUt<0hzi?}<64X}hL>~5 z3o16T9dWMG1D=i6F;%!!Gew?}hG$PD`P zgJPuS$o;d>@4I&g?XX<$xY3px6;N+HzcWe12ik^|igcf;faSI3wBT3PaQfoicePSB z@TC0A)$uY*sCpU_7(mV~CHqQ!iKGT2lb+;w+bU8=^0>*&?jwpX<{TMC1@d6>ws1Db zOB4?u6+FYjMCx#75*kjCXjAz(Qpbz*OB0R{HZH4T%{jM@*JT#S+D8!<60ygyNiaXF zV}<&!cW~8``oNvJzsFm+1#sP%%lbezO^osATOArUv)nJMP-%$V{kr?Hxi;om{-Ai7I>H;i zOtDwoN@S6U%~hT+Z*u89=~C>_7{%0RJ=@U^50CTMUwlLKIgN2K05KeQpR zez8Dio3<>pc^fic|E>$w31g?Vc*H^a-cVYPum@NkYqe+YQUu}G`czkcEqLnj>RA<= zB!pgR4(lZK)9DH2`d2A-z*n_=@V%Q2uK9oLeP>WrO|$MIDoM#11c{P!X3r*PBuS1E z6eUYeZc#8HDyS%eD2gZ`K~XY;iiiP3P(Tz6NK#3Hf*82%`}&@$!*|Y~Q@3uNy7g(5 z?dmjQbF)J!Va2eYPeW-k@8aL-esibd%A^_^|^bhPpOVBCQ1D{XXgQfZWN%pS$Wmh^p5 zl*bZAObaeQWsx!4aNkK8Gi2UXy7BRICA7ZK)P#Om2@6?eoB5=fBCmlF)B0ddbn``G zZC}VT=|qu8Oek3bC3e$^UmBFeubf&oO7CPqcDL_(I%_MV%O;TnJ?%9PXpsl0mn6E_Wg1wyHfE$_9<&5)oAT^dPD^?O(`?>lqw)k&Yi-(W8)+aH`Dp& zZK^op$RlsrCI__l6Qx!v1J=vyRwukO5XX7NTNU!=43LN8kZZz2JuJ`4wj-cP59wH6 zG!|koLl-aeYjc29jg)5N=YVw@QC81pnUIj2)Es|2Ju>#vFHiVFg}TGrYN;;h;EgQW+XAg@5M5!oVoA9S zDvBxJK;|N$dU}5E(R3@M^8B>J8F)T%+Dpp~=dH)b8yyA_&1Fpme!lhBmscO~6)LaEFQ1C#7x zNQ!pD?Xp5Liqt>%u9n9XMRIEo*Xmi|7w>jW99+;sw%(~syLAkaNlN^EWn~2fZ|KEH zfs9|)>nOLcwM7Gb>V@9t)e+60T2;XjC3Md0jHiR6B&sTlahJHOi*w4#vbk@Gp=~H! z*lO)2Bv^V^OT`W#^-=1JRA;BSGbyu#8mxXEaQ z!~ObbttIv?sI+-@Tn@2uEw8D`R6|jVf*qA0f%k8XO&H<89Gb>^b#~}{^|Z@EE*Fwq zGGgL2-Gq#X&L%GF=pgkgAH9>F7~mhy67eM?IKohhs0S^BsZvx&bxWKaU@DtqEA$RIsk;$g;K44v=ws`C5E zhne%gC}k$neaHaP8a!I_0Z$xA>owan|y3;2u+qYvR>}hMluBr z;|IQR;1b8{XIoE0`SNx4(JQP7&K2o4sS?1X#LWwInsz8ggr{~mTp10v{osy!Y=G0x zsn8#MYJ*;=xX3yO*`TI^MC-eOHh6ZdP)e9a7p>cv`%~+xG+w-1y#NxmH99I^-L(aA zZt0vBDltRUeUIC9O3bi5bq(uzH#WR^$H?YmHVB{)BWbbYstHx;-gm zq(A7H>;~6*C%Al*F6rSC0pYQ0FZFOYHSL-_xQ-IFKT;*jgX^TD=+-+mwCqH!!BHWs z*xf2oCTqPdGV@+B`xR*i^9*VnuaCp;AF&6<^Y_Dk2|EF+Dv*Asol-M?*>X-lGqs!fpwpo0km{rQk+ZOQ|6Wy5hlf(L@}*O?$SIL@kMF zY&X(XGe}}&vA>3i(+GbR7w%9EAS2_#0HXllrsGet;yw6A+ zf9{=GkJl(e5p7EPV|zPaF}45m!HGtHfm zLH!der_c8rp>o@xIkj`kq1R(usO2RQe+KQ4Q=T{5(C@`m*IY zY3s>tQ}_2gCw=C>$SDH*qP~0FPb|DCh#3Yh-gx?$0jce8vCn_bj^&JYe{J)zMghe} zWe+>-(C+WjSEeTsT9(S(nUHFT1MkKKe%ft_EqxTWyg+!h}uf0I(jgPCmHHCdgMZ2HA0~zr&YwBu+KH_dQVX4SB!M)W=R8K%o zt_h&gXST*EDW7uPjkdkjOPJ zQ~T#dL$tR2V}Ng(Au8M#6AThB%l1}G-jl_fW3xV$#&1B^6XNcaU)X@Q1|RuQ7_EVV z(a?CXjSYI{ko;|n8y$`^wCU*mqJ>2K&p+?kt%P<&ODE5GnBr{lHA`(rVZ9lr6;sW* zjp%T6RZwg1M&!SJDrnSB6{+lvxgyUC`)aHY{x~70hIVY)axKDqBbsSX=jR6b?Cpr_ zsq=cUe%#N%Ib#$4P`%@;=9D`#(@aVH{Z&z20<{@-WnbFm(rkbe zT)8^GXmFxS*+nhaKZ>H_p-_+9USq^!HGcbojSFgxuTX6IB#sbKvHK{NLsc7`F6*6? zM6G-K)_)qZ#&Jf!XsmDQ;vJG@J66)!v4C^Yfd7mja?$qr8b3*kdHfv;SbXhJ(1qta zzFttmm7B-18$-p=7FORuxz?qYs7u9KF{6gq?qQtI0Fw!-_}Fo^FVz^^Ikr2CT!7#I zN*w#yOI#7#piK8W8x5>Xy2cfpt$}6_AMG-KVvRPlZ1os?po+2^+NL`nsN#J+oe3_U zCTK?QX)l!;Gupl6oPTdn1#R^__5IUTLp19{Nmgl<#S8pPkG|JFY|)-|?yxl@Bhi?x zoG&2XSRdnY^W=aYzBV6sL&MV%MZGlsuKG>`Mg8)YKhkf8tklh}9PQ#p9u^ArPKPY; zhC#-QbGNwBo<9fLi-&5&lpX$qp|W?F9b%+fFNt6?Mh zkMjr24Diwir(+AO8n}OPB)uNy^)@MJ(u0WH=J z*eP#j#cLnk5owH;fOUmEB?q*`@bx+!%jRGalzi1c=cu|8%4<>|97|V3JM_P~vxutT z>Pc@6E;~~c?_9Q1u3Hbqi==h?SyG|fHEex;Oe)Ad?Za`omsDsuz9Bx&N&*XP{!A5W zt%Za(eya}w*>^l;<$kCcj*UKj{GpURI&Lc=bkj%{cNY`SeRmik&;6hM#KKHae)!9) zmR`nqWUrI5-n=?W7BQ;Pf$naKbL+!@m?2Sx^uua-Xe?iR%W8kQvMWa zY9}8V1sx+r)UwnK@H?Sd?&Chj0#3+jqXKi$v=O?f!Yh_BXN2#!y&F9WQsbp#nTDVf zcFs%8H-mjh<+rnje#@+l^zZ1q#Sm@1615wL9Xjcu%lKQ`Ybh(e_+^ZE=sT7MKU?5O z4;TNEZz>-C+;hYM2lCvkqr~J2?%M@|JoT1>l&`w$h^v7P>1!2 zxp>501Vt16o_efGD0$82A-eTSNGwJ;;8wIU4!!z${arY3pli6p)SO8V(W^P1#_W73 zZQQE-IS&iEFShw`TaOq%)9O$svE~)2qGoEzz*_))lC#@>&r1L;wCWFvRUka$bMDH` z87pML!aG1^WQCa8jrgUbV4nzXa`bgwhbZ9=N0zP{VamACoCqs3+P6pAqasTNr*%Gc zjm@ya!*6mm5)Uh3lgr;yJQEaA5_a#awwkdg|Q?dfyRxdafqNk6XJigF}f=r4V zw@)|?^DQ6GqjNPf_{-O|-O9sKScm6Z(GfjUY}!HNHG7>8o4JduYfKeK><#GIiR-X` z`^OYt`b`)gA3B?S0AzUB_Na82dbbr1a&o z9HMVKm5lY|k!6crhQK8`r0t%5pyIL>D%i`L_*)*Lc`C%ys(`6-k3AlGJxh{qd@3gD zKS4@pk{D6nZjYJYTlvc>%As=J+c)S$WYFx=+ng6_a#)2)$@~$!0rpIPK(07#fGg

    eNY^Vee?07t#lO$U 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∨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

    %Qrdr4BVGK_}c?NPA<@t68QBi=+XiO~>ca6UP8 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%0DXd;S2lDFb& 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

    DC(|ds-t{E~${tLUe5*-(ALjjf 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 literal 0 HcmV?d00001 diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 11395b23f..77f651b2a 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -20,6 +20,13 @@ def default(tmp_path,reference_dir): f.pick('times',20.0) return f +@pytest.fixture +def single_phase(tmp_path,reference_dir): + """Single phase Result file in temp location for modification.""" + fname = '6grains6x7x8_single_phase_tensionY.hdf5' + shutil.copy(os.path.join(reference_dir,fname),tmp_path) + return Result(os.path.join(tmp_path,fname)) + @pytest.fixture def reference_dir(reference_dir_base): """Directory containing reference results.""" @@ -296,3 +303,7 @@ class TestResult: def test_vtk(self,tmp_path,default,output): os.chdir(tmp_path) default.to_vtk(output) + + def test_XDMF(self,tmp_path,single_phase): + os.chdir(tmp_path) + single_phase.write_XDMF From 9732726cfa2ce649f1a321b078d1fa99cbb5c364 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 26 May 2020 11:46:28 +0200 Subject: [PATCH 123/958] editorial changes --- src/YAML_parse.f90 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 75a59f342..1586d9169 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -1,3 +1,10 @@ +!---------------------------------------------------------------------------------------------------- +!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH +!> @author Sharan Roongta, Max-Planck-Institut für Eisenforschung GmbH +!> @brief Parser for YAML files +!> @details module converts a YAML input file to an equivalent YAML flow style which is then parsed. +!---------------------------------------------------------------------------------------------------- + module YAML_parse use prec From 8ae7f8f9915d31f705fdd3775b2db5d369f0743d Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 26 May 2020 20:56:53 +0200 Subject: [PATCH 124/958] polishing --- src/YAML_parse.f90 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 1586d9169..5bbba8a4f 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -12,7 +12,9 @@ module YAML_parse use YAML_types implicit none + private + public :: YAML_init public :: parse_flow,to_flow From 31f72aa91259217b9816bb0ec72d7ba4fb10aa6b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 27 May 2020 17:36:30 +0200 Subject: [PATCH 125/958] handle min/mid/max eigenvalues/vectors separately storing as matrix/vector is not favorable for paraview and in many cases, either min or max are of interest only --- python/damask/_result.py | 56 ++++++++++++++++++++++++------------- python/tests/test_Result.py | 22 ++++++++------- 2 files changed, 49 insertions(+), 29 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index d0f437d72..4dbff3736 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -568,9 +568,8 @@ class Result: 'label': 'sigma', 'meta': { 'Unit': P['meta']['Unit'], - 'Description': 'Cauchy stress calculated from {} ({}) '.format(P['label'], - P['meta']['Description'])+\ - 'and {} ({})'.format(F['label'],F['meta']['Description']), + 'Description': 'Cauchy stress calculated from {} ({}) and {} ({})'\ + .format(P['label'],P['meta']['Description'],F['label'],F['meta']['Description']), 'Creator': inspect.stack()[0][3][1:] } } @@ -638,17 +637,24 @@ class Result: @staticmethod - def _add_eigenvalue(T_sym): + def _add_eigenvalue(T_sym,eigenvalue): + if eigenvalue == 'max': + label,p = 'Maximum',2 + elif eigenvalue == 'mid': + label,p = 'Intermediate',1 + elif eigenvalue == 'min': + label,p = 'Minimum',0 + return { - 'data': mechanics.eigenvalues(T_sym['data']), - 'label': 'lambda({})'.format(T_sym['label']), + 'data': mechanics.eigenvalues(T_sym['data'])[:,p], + 'label': 'lambda_{}({})'.format(eigenvalue,T_sym['label']), 'meta' : { 'Unit': T_sym['meta']['Unit'], - 'Description': 'Eigenvalues of {} ({})'.format(T_sym['label'],T_sym['meta']['Description']), + 'Description': '{} eigenvalue of {} ({})'.format(label,T_sym['label'],T_sym['meta']['Description']), 'Creator': inspect.stack()[0][3][1:] } } - def add_eigenvalues(self,T_sym): + def add_eigenvalue(self,T_sym,eigenvalue='max'): """ Add eigenvalues of symmetric tensor. @@ -656,33 +662,46 @@ class Result: ---------- T_sym : str Label of symmetric tensor dataset. + eigenvalue : str, optional + Eigenvalue. Select from ‘max’, ‘mid’, ‘min’. Defaults to ‘max’. """ - self._add_generic_pointwise(self._add_eigenvalue,{'T_sym':T_sym}) + self._add_generic_pointwise(self._add_eigenvalue,{'T_sym':T_sym},{'eigenvalue':eigenvalue}) @staticmethod - def _add_eigenvector(T_sym): + def _add_eigenvector(T_sym,eigenvalue): + if eigenvalue == 'max': + label,p = 'maximum',2 + elif eigenvalue == 'mid': + label,p = 'intermediate',1 + elif eigenvalue == 'min': + label,p = 'minimum',0 + print('p',eigenvalue) return { - 'data': mechanics.eigenvectors(T_sym['data']), - 'label': 'v({})'.format(T_sym['label']), + 'data': mechanics.eigenvectors(T_sym['data'])[:,p], + 'label': 'v_{}({})'.format(eigenvalue,T_sym['label']), 'meta' : { 'Unit': '1', - 'Description': 'Eigenvectors of {} ({})'.format(T_sym['label'],T_sym['meta']['Description']), + 'Description': 'Eigenvector corresponding to {} eigenvalue of {} ({})'\ + .format(label,T_sym['label'],T_sym['meta']['Description']), 'Creator': inspect.stack()[0][3][1:] } } - def add_eigenvectors(self,T_sym): + def add_eigenvector(self,T_sym,eigenvalue='max'): """ - Add eigenvectors of symmetric tensor. + Add eigenvector of symmetric tensor. Parameters ---------- T_sym : str Label of symmetric tensor dataset. + eigenvalue : str, optional + Eigenvalue to which the eigenvector corresponds. Select from + ‘max’, ‘mid’, ‘min’. Defaults to ‘max’. """ - self._add_generic_pointwise(self._add_eigenvector,{'T_sym':T_sym}) + self._add_generic_pointwise(self._add_eigenvector,{'T_sym':T_sym},{'eigenvalue':eigenvalue}) @staticmethod @@ -819,9 +838,8 @@ class Result: 'label': 'S', 'meta': { 'Unit': P['meta']['Unit'], - 'Description': '2. Kirchhoff stress calculated from {} ({}) '.format(P['label'], - P['meta']['Description'])+\ - 'and {} ({})'.format(F['label'],F['meta']['Description']), + 'Description': '2. Piola-Kirchhoff stress calculated from {} ({}) and {} ({})'\ + .format(P['label'],P['meta']['Description'],F['label'],F['meta']['Description']), 'Creator': inspect.stack()[0][3][1:] } } diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 77f651b2a..5ceebc1c4 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -132,21 +132,23 @@ class TestResult: in_file = default.read_dataset(loc['s_P'],0) assert np.allclose(in_memory,in_file) - def test_add_eigenvalues(self,default): + @pytest.mark.parametrize('eigenvalue,function',[('max',np.amax),('min',np.amin)]) + def test_add_eigenvalue(self,default,eigenvalue,function): default.add_Cauchy('P','F') - default.add_eigenvalues('sigma') - loc = {'sigma' :default.get_dataset_location('sigma'), - 'lambda(sigma)':default.get_dataset_location('lambda(sigma)')} - in_memory = mechanics.eigenvalues(default.read_dataset(loc['sigma'],0)) - in_file = default.read_dataset(loc['lambda(sigma)'],0) + default.add_eigenvalue('sigma',eigenvalue) + loc = {'sigma' :default.get_dataset_location('sigma'), + 'lambda':default.get_dataset_location('lambda_{}(sigma)'.format(eigenvalue))} + in_memory = function(mechanics.eigenvalues(default.read_dataset(loc['sigma'],0)),axis=1,keepdims=True) + in_file = default.read_dataset(loc['lambda'],0) assert np.allclose(in_memory,in_file) - def test_add_eigenvectors(self,default): + @pytest.mark.parametrize('eigenvalue,idx',[('max',2),('mid',1),('min',0)]) + def test_add_eigenvector(self,default,eigenvalue,idx): default.add_Cauchy('P','F') - default.add_eigenvectors('sigma') + default.add_eigenvector('sigma',eigenvalue) loc = {'sigma' :default.get_dataset_location('sigma'), - 'v(sigma)':default.get_dataset_location('v(sigma)')} - in_memory = mechanics.eigenvectors(default.read_dataset(loc['sigma'],0)) + 'v(sigma)':default.get_dataset_location('v_{}(sigma)'.format(eigenvalue))} + in_memory = mechanics.eigenvectors(default.read_dataset(loc['sigma'],0))[:,idx] in_file = default.read_dataset(loc['v(sigma)'],0) assert np.allclose(in_memory,in_file) From 85c6d751a86fbf4cff26e959c45662bdfda73c5f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 27 May 2020 17:41:20 +0200 Subject: [PATCH 126/958] functionality available in HDF5/python --- processing/post/addSpectralDecomposition.py | 58 --------------------- 1 file changed, 58 deletions(-) delete mode 100755 processing/post/addSpectralDecomposition.py diff --git a/processing/post/addSpectralDecomposition.py b/processing/post/addSpectralDecomposition.py deleted file mode 100755 index 01371cede..000000000 --- a/processing/post/addSpectralDecomposition.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Add column(s) containing eigenvalues and eigenvectors of requested symmetric tensor column(s). - -""", version = scriptID) - -parser.add_option('-t','--tensor', - dest = 'tensor', - action = 'extend', metavar = '', - help = 'heading of columns containing tensor field values') -parser.add_option('--no-check', - dest = 'rh', - action = 'store_false', - help = 'skip check for right-handed eigenvector basis') - -parser.set_defaults(rh = True, - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - - for tensor in options.tensor: - - t = table.get(tensor).reshape(-1,3,3) - (u,v) = np.linalg.eigh(damask.mechanics.symmetric(t)) - if options.rh: v[np.linalg.det(v) < 0.0,:,2] *= -1.0 - - for i,o in enumerate(['Min','Mid','Max']): - table.add('eigval{}({})'.format(o,tensor),u[:,i], scriptID+' '+' '.join(sys.argv[1:])) - - for i,o in enumerate(['Min','Mid','Max']): - table.add('eigvec{}({})'.format(o,tensor),v[:,:,i],scriptID+' '+' '.join(sys.argv[1:])) - - table.to_ASCII(sys.stdout if name is None else name) From 1afa00a19c8a197bde2d8e19bf4c54c55c120d42 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 28 May 2020 08:05:02 +0200 Subject: [PATCH 127/958] testing systematically all possibilities --- python/tests/test_mechanics.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/python/tests/test_mechanics.py b/python/tests/test_mechanics.py index f7128401f..5fe79de28 100644 --- a/python/tests/test_mechanics.py +++ b/python/tests/test_mechanics.py @@ -63,25 +63,25 @@ class TestMechanics: assert np.allclose(np.matmul(R,U), np.matmul(V,R)) - def test_strain_tensor_no_rotation(self): + @pytest.mark.parametrize('m',[0.0,np.random.random()*10.,np.random.random()*-10.]) + def test_strain_tensor_no_rotation(self,m): """Ensure that left and right stretch give same results for no rotation.""" F = np.broadcast_to(np.eye(3),[self.n,3,3])*np.random.rand(self.n,3,3) - m = np.random.random()*20.0-10.0 assert np.allclose(mechanics.strain_tensor(F,'U',m), mechanics.strain_tensor(F,'V',m)) - def test_strain_tensor_rotation_equivalence(self): + @pytest.mark.parametrize('m',[0.0,np.random.random()*2.5,np.random.random()*-2.5]) + def test_strain_tensor_rotation_equivalence(self,m): """Ensure that left and right strain differ only by a rotation.""" F = np.broadcast_to(np.eye(3),[self.n,3,3]) + (np.random.rand(self.n,3,3)*0.5 - 0.25) - m = np.random.random()*5.0-2.5 assert np.allclose(np.linalg.det(mechanics.strain_tensor(F,'U',m)), np.linalg.det(mechanics.strain_tensor(F,'V',m))) - def test_strain_tensor_rotation(self): + @pytest.mark.parametrize('m',[0.0,np.random.random(),np.random.random()*-1.]) + @pytest.mark.parametrize('t',['V','U']) + def test_strain_tensor_rotation(self,m,t): """Ensure that pure rotation results in no strain.""" F = mechanics.rotational_part(np.random.rand(self.n,3,3)) - t = ['V','U'][np.random.randint(0,2)] - m = np.random.random()*2.0 - 1.0 assert np.allclose(mechanics.strain_tensor(F,t,m), 0.0) From 9aace811f05976dcbce08f367dba21c8539f3d02 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 28 May 2020 16:23:41 +0200 Subject: [PATCH 128/958] [skip ci] updated version information after successful test of v2.0.3-2523-ge22e2cfe --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 6d4d1897c..f918509c7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2514-g873b9fa8 +v2.0.3-2523-ge22e2cfe From 74907c933544d7c0ffe21bdd532751d84f30b4f1 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 28 May 2020 18:58:21 +0200 Subject: [PATCH 129/958] [skip ci] updated version information after successful test of v2.0.3-2561-gf63e412b --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 6d4d1897c..7a175ca2d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2514-g873b9fa8 +v2.0.3-2561-gf63e412b From 565b1eb51057c0a734ec083dcf6774c4a56dd94e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 30 May 2020 15:39:36 +0200 Subject: [PATCH 130/958] not needed was just a wrapper around functionality in the python library --- processing/pre/seeds_check.py | 39 ----------------------------------- 1 file changed, 39 deletions(-) delete mode 100755 processing/pre/seeds_check.py diff --git a/processing/pre/seeds_check.py b/processing/pre/seeds_check.py deleted file mode 100755 index 6ef808a0a..000000000 --- a/processing/pre/seeds_check.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -#-------------------------------------------------------------------------------------------------- -# MAIN -#-------------------------------------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog [seedfile(s)]', description = """ -Writes vtk file for visualization. - -""", version = scriptID) - -(options, filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -for name in filenames: - damask.util.report(scriptName,name) - - seeds = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - v = damask.VTK.from_polyData(seeds.get('pos')) - for label in seeds.shapes.keys(): - if label == 'pos': pass - v.add(seeds.get(label),label) - - if name: - v.write(os.path.splitext(name)[0]) - else: - sys.stdout.write(v.__repr__()) From 421b8f4268e5d4fcec6fee35b7ad5ea76a113716 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 30 May 2020 17:31:50 +0200 Subject: [PATCH 131/958] documented function interfaces --- python/damask/_geom.py | 42 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 2609fe537..1ec89d8b2 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -533,8 +533,8 @@ class Geom: Parameters ---------- - grid : iterable of int - new grid dimension + grid : numpy.ndarray of shape (3) + number of grid points in x,y,z direction. """ #self.add_comments('geom.py:scale v{}'.format(version) @@ -584,7 +584,17 @@ class Geom: def rotate(self,R,fill=None): - """Rotate microstructure (pad if required).""" + """ + Rotate microstructure (pad if required). + + Parameters + ---------- + R : damask.Rotation + rotation to apply to the microstructure. + fill : int or float, optional + microstructure index to fill the corners. Defaults to microstructure.max() + 1. + + """ if fill is None: fill = np.nanmax(self.microstructure) + 1 dtype = float if np.isnan(fill) or int(fill) != fill or self.microstructure.dtype==np.float else int @@ -609,7 +619,19 @@ class Geom: def canvas(self,grid=None,offset=None,fill=None): - """Crop or enlarge/pad microstructure.""" + """ + Crop or enlarge/pad microstructure. + + Parameters + ---------- + grid : numpy.ndarray of shape (3) + number of grid points in x,y,z direction. + offset : numpy.ndarray of shape (3) + offset (measured in grid points) from old to new microstructue[0,0,0]. + fill : int or float, optional + microstructure index to fill the corners. Defaults to microstructure.max() + 1. + + """ if fill is None: fill = np.nanmax(self.microstructure) + 1 if offset is None: offset = 0 dtype = float if int(fill) != fill or self.microstructure.dtype==np.float else int @@ -629,7 +651,17 @@ class Geom: def substitute(self,from_microstructure,to_microstructure): - """Substitude microstructure indices.""" + """ + Substitude microstructure indices. + + Parameters + ---------- + from_microstructure : iterable of ints + microstructure indices to be substituted. + to_microstructure : iterable of ints + new microstructure indices. + + """ substituted = self.get_microstructure() for from_ms,to_ms in zip(from_microstructure,to_microstructure): substituted[self.microstructure==from_ms] = to_ms From d1e38d7b198bfefcd29057e7a1a3a9cb649ab558 Mon Sep 17 00:00:00 2001 From: Test User Date: Sat, 30 May 2020 22:46:31 +0200 Subject: [PATCH 132/958] [skip ci] updated version information after successful test of v2.0.3-2614-g4b6b9478 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index f918509c7..2ef4c00dd 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2523-ge22e2cfe +v2.0.3-2614-g4b6b9478 From bcb0ce5e5e58236ae77256e61b778470a24d65ee Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 31 May 2020 18:51:12 +0200 Subject: [PATCH 133/958] typo --- python/damask/_result.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 297566174..73a038c4c 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -36,7 +36,7 @@ class Result: Parameters ---------- fname : str - name of the DADF5 file to be openend. + name of the DADF5 file to be opened. """ with h5py.File(fname,'r') as f: From c791408fbded0f4a541d127218a576524b67ad3d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 31 May 2020 18:57:09 +0200 Subject: [PATCH 134/958] updated tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 8dde2a685..2a0a64692 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 8dde2a68538b7cffbe9d370e2b60be90a31627ab +Subproject commit 2a0a646921c7537a3a47063405bc96b59ebc587a From 7a193639fb2c4170850c25d763ee9d994ed88b0a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 30 May 2020 12:47:36 +0200 Subject: [PATCH 135/958] also show datasets without unit currently, this is only the orientation dataset Also enable renames. Since this alters the history, the user need to enable this --- python/damask/_result.py | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 4dbff3736..18b7b4b6e 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -90,7 +90,7 @@ class Result: self.fname = os.path.abspath(fname) - self._allow_overwrite = False + self._allow_modification = False def __repr__(self): @@ -167,14 +167,14 @@ class Result: self.selection[what] = diff_sorted - def enable_overwrite(self): - print(util.bcolors().WARNING,util.bcolors().BOLD, - 'Warning: Enabled overwrite of existing datasets!', + def allow_modification(self): + print(util.bcolors().WARNING+util.bcolors().BOLD+ + 'Warning: Modification of existing datasets allowed!'+ util.bcolors().ENDC) - self._allow_overwrite = True + self._allow_modification = True - def disable_overwrite(self): - self._allow_overwrite = False + def forbid_modification(self): + self._allow_modification = False def incs_in_range(self,start,end): @@ -263,6 +263,23 @@ class Result: """ self._manage_selection('del',what,datasets) + + def rename(self,name_old,name_new): + """ + Rename datasets. + + """ + if self._allow_modification: + with h5py.File(self.fname,'a') as f: + for path_old in self.get_dataset_location(name_old): + path_new = os.path.join(os.path.dirname(path_old),name_new) + f[path_new] = f[path_old] + f[path_new].attrs['Renamed'] = 'Original name: {}'.encode() + del f[path_old] + else: + print('Rename operation not permitted') + + # def datamerger(regular expression to filter groups into one copy) @@ -397,8 +414,11 @@ class Result: for d in f[group].keys(): try: dataset = f['/'.join([group,d])] - message += ' {} / ({}): {}\n'.\ - format(d,dataset.attrs['Unit'].decode(),dataset.attrs['Description'].decode()) + description = dataset.attrs['Description'].decode() + if 'Unit' in dataset.attrs: + message += ' {} / ({}): {}\n'.format(d,dataset.attrs['Unit'].decode(),description) + else: + message += ' {}: {}\n'.format(d,description) except KeyError: pass return message @@ -1048,7 +1068,7 @@ class Result: lock.acquire() with h5py.File(self.fname, 'a') as f: try: - if self._allow_overwrite and result[0]+'/'+result[1]['label'] in f: + if self._allow_modification and result[0]+'/'+result[1]['label'] in f: dataset = f[result[0]+'/'+result[1]['label']] dataset[...] = result[1]['data'] dataset.attrs['Overwritten'] = 'Yes'.encode() From a5bd0958a1f821c1382b90112dc99f10302802e2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 30 May 2020 21:39:35 +0200 Subject: [PATCH 136/958] polishing --- src/constitutive_plastic_nonlocal.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 65fea24b2..7f21d0194 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -56,7 +56,7 @@ submodule(constitutive) plastic_nonlocal rhoSglScrewNeg0, & !< initial screw_neg dislocation density rhoDipEdge0, & !< initial edge dipole dislocation density rhoDipScrew0 !< initial screw dipole dislocation density - integer, dimension(:) ,allocatable :: & + integer, dimension(:), allocatable :: & N_sl end type tInitialParameters From 421046d98b5c1f1fc23cb51781085d95d2a459c0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 31 May 2020 23:53:06 +0200 Subject: [PATCH 137/958] cleaned PRIVATE --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 2a0a64692..59c330195 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 2a0a646921c7537a3a47063405bc96b59ebc587a +Subproject commit 59c330195596b359355bb22d8cdc8cae9246992c From 9877eb746e150dfec4f0edaea1addf905c5a433f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 1 Jun 2020 09:10:15 +0200 Subject: [PATCH 138/958] contains fixes for MSC.Marc-based tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 59c330195..33d320249 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 59c330195596b359355bb22d8cdc8cae9246992c +Subproject commit 33d320249d0955bbbcd0cf2fdcc6791ef20e066d From 789bb0fbcb726ce9cd1faef0813b9d35be281923 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 1 Jun 2020 10:45:11 +0200 Subject: [PATCH 139/958] still fixing MSC.Marc related errors hard to write proper code without being able to run it --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 33d320249..f65dbec66 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 33d320249d0955bbbcd0cf2fdcc6791ef20e066d +Subproject commit f65dbec66a4c961c7d30f58acffb0a806aef0f29 From 72a0b1fae59c85436fcff3c9090585e726d7e5a4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 1 Jun 2020 11:33:22 +0200 Subject: [PATCH 140/958] testing and polishing --- python/damask/_result.py | 6 +++--- python/tests/test_Result.py | 17 ++++++++++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 18b7b4b6e..677dfc93a 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -36,7 +36,7 @@ class Result: Parameters ---------- fname : str - name of the DADF5 file to be openend. + name of the DADF5 file to be opened. """ with h5py.File(fname,'r') as f: @@ -173,7 +173,7 @@ class Result: util.bcolors().ENDC) self._allow_modification = True - def forbid_modification(self): + def disallow_modification(self): self._allow_modification = False @@ -277,7 +277,7 @@ class Result: f[path_new].attrs['Renamed'] = 'Original name: {}'.encode() del f[path_old] else: - print('Rename operation not permitted') + raise PermissionError('Rename operation not permitted') # def datamerger(regular expression to filter groups into one copy) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 5ceebc1c4..d7946e5e0 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -281,15 +281,14 @@ class TestResult: default.add_Cauchy() loc = default.get_dataset_location('sigma') - print(loc) with h5py.File(default.fname,'r') as f: created_first = f[loc[0]].attrs['Created'].decode() created_first = datetime.strptime(created_first,'%Y-%m-%d %H:%M:%S%z') if overwrite == 'on': - default.enable_overwrite() + default.allow_modification() else: - default.disable_overwrite() + default.disallow_modification() time.sleep(2.) default.add_calculation('sigma','#sigma#*0.0+311.','not the Cauchy stress') @@ -301,6 +300,18 @@ class TestResult: else: assert created_first == created_second and not np.allclose(default.read_dataset(loc),311.) + @pytest.mark.parametrize('allowed',['off','on']) + def test_rename(self,default,allowed): + F = default.read_dataset(default.get_dataset_location('F')) + if allowed == 'on': + default.allow_modification() + default.rename('F','new_name') + assert np.all(F == default.read_dataset(default.get_dataset_location('new_name'))) + default.disallow_modification() + + with pytest.raises(PermissionError): + default.rename('P','another_new_name') + @pytest.mark.parametrize('output',['F',[],['F','P']]) def test_vtk(self,tmp_path,default,output): os.chdir(tmp_path) From 404c065923ac02cbd8be36da4954f2c063a56832 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 1 Jun 2020 13:13:28 +0200 Subject: [PATCH 141/958] one more fix --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index f65dbec66..a6109acd2 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit f65dbec66a4c961c7d30f58acffb0a806aef0f29 +Subproject commit a6109acd264c683fd335b1d1f69934fc4a4078e3 From 1885a701facf0668e5dc9a4f844f2bcc8e87fd22 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 13 May 2020 13:39:23 +0200 Subject: [PATCH 142/958] nothing to debug here --- src/mesh/mesh_mech_FEM.f90 | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 60c7fd942..404238453 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -357,14 +357,10 @@ subroutine FEM_mech_formResidual(dm_local,xx_local,f_local,dummy,ierr) ! evaluate field derivatives do cell = cellStart, cellEnd-1 !< loop over all elements - ! BEGIN DEBUG call PetscSectionGetNumFields(section,numFields,ierr) CHKERRQ(ierr) - write(6,*) 'numFields', numFields call DMPlexGetDepth(dm_local,depth,ierr) CHKERRQ(ierr) - write(6,*) 'depth', depth - ! END DEBUG call DMPlexVecGetClosure(dm_local,section,x_local,cell,x_scal,ierr) !< get Dofs belonging to element CHKERRQ(ierr) From 431284aa95db1633be5ae4d1c56a754023767154 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 1 Jun 2020 18:23:01 +0200 Subject: [PATCH 143/958] not needed --- src/mesh/mesh_mech_FEM.f90 | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 71292b156..5038d5f07 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -314,7 +314,7 @@ subroutine FEM_mech_formResidual(dm_local,xx_local,f_local,dummy,ierr) PetscReal, pointer,dimension(:) :: pV0, pCellJ, pInvcellJ, basisField, basisFieldDer PetscInt :: cellStart, cellEnd, cell, field, face, & qPt, basis, comp, cidx, & - numFields, depth ! < DEBUG + numFields PetscReal :: detFAvg PetscReal :: BMat(dimPlex*dimPlex,cellDof) @@ -357,9 +357,6 @@ subroutine FEM_mech_formResidual(dm_local,xx_local,f_local,dummy,ierr) call PetscSectionGetNumFields(section,numFields,ierr) CHKERRQ(ierr) - call DMPlexGetDepth(dm_local,depth,ierr) - CHKERRQ(ierr) - call DMPlexVecGetClosure(dm_local,section,x_local,cell,x_scal,ierr) !< get Dofs belonging to element CHKERRQ(ierr) call DMPlexComputeCellGeometryAffineFEM(dm_local,cell,pV0,pCellJ,pInvcellJ,detJ,ierr) From 8f09d6fcef32d3f719279e0eed2346d7a6db8e4f Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 1 Jun 2020 18:42:25 +0200 Subject: [PATCH 144/958] [skip ci] updated version information after successful test of v2.0.3-2629-g404c0659 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 2ef4c00dd..9e83f4537 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2614-g4b6b9478 +v2.0.3-2629-g404c0659 From 2badf257fc3d726361f04722c17386fe1dc64114 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 1 Jun 2020 21:36:36 +0200 Subject: [PATCH 145/958] same information but shorter --- src/IO.f90 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index 2f06dc614..e54520c5d 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -68,7 +68,7 @@ function IO_read_ASCII(fileName) result(fileContent) fileLength, & fileUnit, & startPos, endPos, & - myTotalLines, & !< # lines read from file + N_lines, & !< # lines read from file l, & myStat logical :: warned @@ -89,19 +89,19 @@ function IO_read_ASCII(fileName) result(fileContent) !-------------------------------------------------------------------------------------------------- ! count lines to allocate string array - myTotalLines = 1 + N_lines = 1 do l=1, len(rawData) - if (rawData(l:l) == IO_EOL) myTotalLines = myTotalLines+1 + if (rawData(l:l) == IO_EOL) N_lines = N_lines+1 enddo - allocate(fileContent(myTotalLines)) + allocate(fileContent(N_lines)) !-------------------------------------------------------------------------------------------------- ! split raw data at end of line warned = .false. startPos = 1 l = 1 - do while (l <= myTotalLines) - endPos = merge(startPos + scan(rawData(startPos:),IO_EOL) - 2,len(rawData),l /= myTotalLines) + do while (l <= N_lines) + endPos = merge(startPos + scan(rawData(startPos:),IO_EOL) - 2,len(rawData),l /= N_lines) if (endPos - startPos > pStringLen-1) then line = rawData(startPos:startPos+pStringLen-1) if (.not. warned) then From 37d7e593e8ee29dc5522284d95daa65ab5cdc6e7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 1 Jun 2020 22:09:28 +0200 Subject: [PATCH 146/958] correct counting of lines counts like "wc -l" either with or without EOL in last line --- src/IO.f90 | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index e54520c5d..79eb15051 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -70,16 +70,13 @@ function IO_read_ASCII(fileName) result(fileContent) startPos, endPos, & N_lines, & !< # lines read from file l, & + i, & myStat logical :: warned !-------------------------------------------------------------------------------------------------- ! read data as stream inquire(file = fileName, size=fileLength) - if (fileLength == 0) then - allocate(fileContent(0)) - return - endif open(newunit=fileUnit, file=fileName, access='stream',& status='old', position='rewind', action='read',iostat=myStat) if(myStat /= 0) call IO_error(100,ext_msg=trim(fileName)) @@ -89,10 +86,15 @@ function IO_read_ASCII(fileName) result(fileContent) !-------------------------------------------------------------------------------------------------- ! count lines to allocate string array - N_lines = 1 + N_lines = 0 + i = 0 do l=1, len(rawData) - if (rawData(l:l) == IO_EOL) N_lines = N_lines+1 + if (rawData(l:l) == IO_EOL) then + N_lines = N_lines+1 + i = l + endif enddo + if(i+1/=l) N_lines = N_lines+1 ! no EOL in last line allocate(fileContent(N_lines)) !-------------------------------------------------------------------------------------------------- From a51cc396131c59051bc92328578e44a4419b7655 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 1 Jun 2020 22:13:01 +0200 Subject: [PATCH 147/958] proper docstring --- python/damask/_result.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/python/damask/_result.py b/python/damask/_result.py index 677dfc93a..476d6d24a 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -267,6 +267,13 @@ class Result: def rename(self,name_old,name_new): """ Rename datasets. + + Parameters + ---------- + name_old : str + name of the datasets to be renamed + name_new : str + new name of the datasets """ if self._allow_modification: From 4f495a7a0579f4686e12b48c0107e4c06b06c443 Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 2 Jun 2020 05:07:28 +0200 Subject: [PATCH 148/958] [skip ci] updated version information after successful test of v2.0.3-2636-g45878b9f --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 9e83f4537..a8b8fd56d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2629-g404c0659 +v2.0.3-2636-g45878b9f From f84e5aaaf9686faab8d13fceb1cf0d192117e233 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 2 Jun 2020 07:39:27 +0200 Subject: [PATCH 149/958] bugfix (do not keep EOL in last string) simplified further --- src/IO.f90 | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index 79eb15051..641d7b7b7 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -68,9 +68,8 @@ function IO_read_ASCII(fileName) result(fileContent) fileLength, & fileUnit, & startPos, endPos, & - N_lines, & !< # lines read from file + N_lines, & !< # lines in file l, & - i, & myStat logical :: warned @@ -87,14 +86,9 @@ function IO_read_ASCII(fileName) result(fileContent) !-------------------------------------------------------------------------------------------------- ! count lines to allocate string array N_lines = 0 - i = 0 do l=1, len(rawData) - if (rawData(l:l) == IO_EOL) then - N_lines = N_lines+1 - i = l - endif + if (rawData(l:l) == IO_EOL) N_lines = N_lines+1 enddo - if(i+1/=l) N_lines = N_lines+1 ! no EOL in last line allocate(fileContent(N_lines)) !-------------------------------------------------------------------------------------------------- @@ -103,7 +97,7 @@ function IO_read_ASCII(fileName) result(fileContent) startPos = 1 l = 1 do while (l <= N_lines) - endPos = merge(startPos + scan(rawData(startPos:),IO_EOL) - 2,len(rawData),l /= N_lines) + endPos = startPos + scan(rawData(startPos:),IO_EOL) - 2 if (endPos - startPos > pStringLen-1) then line = rawData(startPos:startPos+pStringLen-1) if (.not. warned) then From 79c17ec4078394bcca8292c56b3388877bac3fc9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 2 Jun 2020 07:57:19 +0200 Subject: [PATCH 150/958] use names known from python --- src/IO.f90 | 54 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index 641d7b7b7..cd59adf40 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -3,7 +3,7 @@ !> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH !> @author Christoph Kords, Max-Planck-Institut für Eisenforschung GmbH !> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH -!> @brief input/output functions, partly depending on chosen solver +!> @brief input/output functions !-------------------------------------------------------------------------------------------------- module IO use prec @@ -21,8 +21,16 @@ module IO '───────────────────'//& '───────────────────'//& '────────────' + + ! Obsolete alias + interface IO_read_ASCII + module procedure IO_readlines + end interface IO_read_ASCII + public :: & IO_init, & + IO_read, & + IO_readlines, & IO_read_ASCII, & IO_open_binary, & IO_isBlank, & @@ -55,9 +63,9 @@ end subroutine IO_init !-------------------------------------------------------------------------------------------------- -!> @brief reads an entire ASCII file into an array +!> @brief read ASCII file and split at EOL !-------------------------------------------------------------------------------------------------- -function IO_read_ASCII(fileName) result(fileContent) +function IO_readlines(fileName) result(fileContent) character(len=*), intent(in) :: fileName @@ -65,23 +73,12 @@ function IO_read_ASCII(fileName) result(fileContent) character(len=pStringLen) :: line character(len=:), allocatable :: rawData integer :: & - fileLength, & - fileUnit, & startPos, endPos, & N_lines, & !< # lines in file - l, & - myStat + l logical :: warned -!-------------------------------------------------------------------------------------------------- -! read data as stream - inquire(file = fileName, size=fileLength) - open(newunit=fileUnit, file=fileName, access='stream',& - status='old', position='rewind', action='read',iostat=myStat) - if(myStat /= 0) call IO_error(100,ext_msg=trim(fileName)) - allocate(character(len=fileLength)::rawData) - read(fileUnit) rawData - close(fileUnit) + rawData = IO_read(fileName) !-------------------------------------------------------------------------------------------------- ! count lines to allocate string array @@ -113,7 +110,30 @@ function IO_read_ASCII(fileName) result(fileContent) l = l + 1 enddo -end function IO_read_ASCII +end function IO_readlines + + +!-------------------------------------------------------------------------------------------------- +!> @brief reads an entire ASCII file into a string +!-------------------------------------------------------------------------------------------------- +function IO_read(fileName) result(fileContent) + + character(len=*), intent(in) :: fileName + character(len=:), allocatable :: fileContent + integer :: & + fileLength, & + fileUnit, & + myStat + + inquire(file = fileName, size=fileLength) + open(newunit=fileUnit, file=fileName, access='stream',& + status='old', position='rewind', action='read',iostat=myStat) + if(myStat /= 0) call IO_error(100,ext_msg=trim(fileName)) + allocate(character(len=fileLength)::fileContent) + read(fileUnit) fileContent + close(fileUnit) + +end function IO_read !-------------------------------------------------------------------------------------------------- From d31417b0507f9d2d8fb75028593c718382100761 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 2 Jun 2020 09:31:26 +0200 Subject: [PATCH 151/958] Ifort can not handle 0-length files Not sure whether this is a bug or not: https://software.intel.com/en-us/forums/intel-fortran-compiler/topic/856789 --- src/IO.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/IO.f90 b/src/IO.f90 index cd59adf40..175ff7acd 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -130,7 +130,7 @@ function IO_read(fileName) result(fileContent) status='old', position='rewind', action='read',iostat=myStat) if(myStat /= 0) call IO_error(100,ext_msg=trim(fileName)) allocate(character(len=fileLength)::fileContent) - read(fileUnit) fileContent + if(fileLength>0) read(fileUnit) fileContent close(fileUnit) end function IO_read From 742b3718ec09a05c378f9e181062007d79ada995 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 2 Jun 2020 10:09:19 +0200 Subject: [PATCH 152/958] using iostat solved the issue for ifort but for a zero length file, ifort returns -1 --- src/IO.f90 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/IO.f90 b/src/IO.f90 index 175ff7acd..b86c40ac9 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -130,7 +130,8 @@ function IO_read(fileName) result(fileContent) status='old', position='rewind', action='read',iostat=myStat) if(myStat /= 0) call IO_error(100,ext_msg=trim(fileName)) allocate(character(len=fileLength)::fileContent) - if(fileLength>0) read(fileUnit) fileContent + read(fileUnit,iostat=myStat) fileContent + if(myStat > 0) call IO_error(102,ext_msg=trim(fileName)) close(fileUnit) end function IO_read From 512e54a7ee0be5aa237daf26a79719fd5989c988 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 2 Jun 2020 17:34:58 +0200 Subject: [PATCH 153/958] before we forget ... --- src/IO.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/IO.f90 b/src/IO.f90 index b86c40ac9..e6e3d4a60 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -131,7 +131,7 @@ function IO_read(fileName) result(fileContent) if(myStat /= 0) call IO_error(100,ext_msg=trim(fileName)) allocate(character(len=fileLength)::fileContent) read(fileUnit,iostat=myStat) fileContent - if(myStat > 0) call IO_error(102,ext_msg=trim(fileName)) + if(myStat > 0) call IO_error(102,ext_msg=trim(fileName)) ! <0 for ifort (https://software.intel.com/en-us/comment/1960081) close(fileUnit) end function IO_read From c5d0c7e52ea63eb1e0d15b04897cd15171b6b2af Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 3 Jun 2020 10:43:07 +0200 Subject: [PATCH 154/958] easier to read, more flexible --- python/damask/__init__.py | 4 ++-- python/damask/_result.py | 10 ++++------ python/damask/_vtk.py | 12 ++++++------ 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/python/damask/__init__.py b/python/damask/__init__.py index 0f343a581..6d65f7cd1 100644 --- a/python/damask/__init__.py +++ b/python/damask/__init__.py @@ -1,9 +1,9 @@ """Tools for pre and post processing of DAMASK simulations.""" -import os as _os +from pathlib import Path as _Path import re as _re name = 'damask' -with open(_os.path.join(_os.path.dirname(__file__),'VERSION')) as _f: +with open(_Path(__file__).parent/_Path('VERSION')) as _f: version = _re.sub(r'^v','',_f.readline().strip()) # make classes directly accessible as damask.Class diff --git a/python/damask/_result.py b/python/damask/_result.py index 73a038c4c..b6ac3782e 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -6,6 +6,7 @@ import os import datetime import xml.etree.ElementTree as ET import xml.dom.minidom +from pathlib import Path from functools import partial import h5py @@ -88,7 +89,7 @@ class Result: 'con_physics': self.con_physics, 'mat_physics': self.mat_physics } - self.fname = os.path.abspath(fname) + self.fname = Path(fname).absolute() self._allow_overwrite = False @@ -1163,7 +1164,7 @@ class Result: 'Dimensions': '{} {} {} {}'.format(*self.grid,np.prod(shape))} data_items[-1].text='{}:{}'.format(os.path.split(self.fname)[1],name) - with open(os.path.splitext(self.fname)[0]+'.xdmf','w') as f: + with open(self.fname.with_suffix('.xdmf').name,'w') as f: f.write(xml.dom.minidom.parseString(ET.tostring(xdmf).decode()).toprettyxml()) @@ -1239,7 +1240,4 @@ class Result: u = self.read_dataset(self.get_dataset_location('u_n' if mode.lower() == 'cell' else 'u_p')) v.add(u,'u') - file_out = '{}_inc{}'.format(os.path.splitext(os.path.basename(self.fname))[0], - inc[3:].zfill(N_digits)) - - v.write(file_out) + v.write('{}_inc{}'.format(self.fname.stem,inc[3:].zfill(N_digits))) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 58b43dc1f..72e224bda 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -1,4 +1,4 @@ -import os +from pathlib import Path import pandas as pd import numpy as np @@ -126,8 +126,8 @@ class VTK: vtkUnstructuredGrid, and vtkPolyData. """ - ext = os.path.splitext(fname)[1] - if ext == '.vtk': + ext = Path(fname).suffix + if ext == '.vtk' or dataset_type: reader = vtk.vtkGenericDataObjectReader() reader.SetFileName(fname) reader.Update() @@ -176,10 +176,10 @@ class VTK: writer = vtk.vtkXMLPolyDataWriter() default_ext = writer.GetDefaultFileExtension() - name, ext = os.path.splitext(fname) + ext = Path(fname).suffix if ext and ext != '.'+default_ext: - raise ValueError('Given extension {} is not .{}'.format(ext,default_ext)) - writer.SetFileName('{}.{}'.format(name,default_ext)) + raise ValueError('Given extension {} does not match default .{}'.format(ext,default_ext)) + writer.SetFileName(str(Path(fname).with_suffix('.'+default_ext))) writer.SetCompressorTypeToZLib() writer.SetDataModeToBinary() writer.SetInputData(self.geom) From c67fbacfc7fb828bf9ac8e462c3b0e3e87510b71 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 3 Jun 2020 11:03:31 +0200 Subject: [PATCH 155/958] higher test coverage - invalid operations - legacy output --- python/tests/test_VTK.py | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/python/tests/test_VTK.py b/python/tests/test_VTK.py index 627ea4007..8795e7161 100644 --- a/python/tests/test_VTK.py +++ b/python/tests/test_VTK.py @@ -17,18 +17,24 @@ class TestVTK: size = np.random.random(3) + 1.0 origin = np.random.random(3) v = VTK.from_rectilinearGrid(grid,size,origin) - s = v.__repr__() + string = v.__repr__() v.write(os.path.join(tmp_path,'rectilinearGrid')) - v = VTK.from_file(os.path.join(tmp_path,'rectilinearGrid.vtr')) - assert(s == v.__repr__()) + vtr = VTK.from_file(os.path.join(tmp_path,'rectilinearGrid.vtr')) + with open(os.path.join(tmp_path,'rectilinearGrid.vtk'),'w') as f: + f.write(string) + vtk = VTK.from_file(os.path.join(tmp_path,'rectilinearGrid.vtk'),'VTK_rectilinearGrid') + assert(string == vtr.__repr__() == vtk.__repr__()) def test_polyData(self,tmp_path): points = np.random.rand(3,100) v = VTK.from_polyData(points) - s = v.__repr__() + string = v.__repr__() v.write(os.path.join(tmp_path,'polyData')) - v = VTK.from_file(os.path.join(tmp_path,'polyData.vtp')) - assert(s == v.__repr__()) + vtp = VTK.from_file(os.path.join(tmp_path,'polyData.vtp')) + with open(os.path.join(tmp_path,'polyData.vtk'),'w') as f: + f.write(string) + vtk = VTK.from_file(os.path.join(tmp_path,'polyData.vtk'),'polyData') + assert(string == vtp.__repr__() == vtk.__repr__()) @pytest.mark.parametrize('cell_type,n',[ ('VTK_hexahedron',8), @@ -41,7 +47,17 @@ class TestVTK: nodes = np.random.rand(n,3) connectivity = np.random.choice(np.arange(n),n,False).reshape(-1,n) v = VTK.from_unstructuredGrid(nodes,connectivity,cell_type) - s = v.__repr__() + string = v.__repr__() v.write(os.path.join(tmp_path,'unstructuredGrid')) - v = VTK.from_file(os.path.join(tmp_path,'unstructuredGrid.vtu')) - assert(s == v.__repr__()) + vtu = VTK.from_file(os.path.join(tmp_path,'unstructuredGrid.vtu')) + with open(os.path.join(tmp_path,'unstructuredGrid.vtk'),'w') as f: + f.write(string) + vtk = VTK.from_file(os.path.join(tmp_path,'unstructuredGrid.vtk'),'unstructuredgrid') + assert(string == vtu.__repr__() == vtk.__repr__()) + + @pytest.mark.parametrize('name,dataset_type',[('this_file_does_not_exist.vtk',None), + ('this_file_does_not_exist.vtk','vtk'), + ('this_file_does_not_exist.vtx', None)]) + def test_invalid_dataset_type(self,dataset_type,name): + with pytest.raises(TypeError): + VTK.from_file('this_file_does_not_exist.vtk',dataset_type) From 3be1a33820c5ab276c4e487b0276b689732849c0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 3 Jun 2020 13:32:47 +0200 Subject: [PATCH 156/958] easier to read --- installation/symlink_Processing.py | 56 +++++++-------------------- processing/pre/mentat_pbcOnBoxMesh.py | 2 +- processing/pre/mentat_spectralBox.py | 2 +- python/damask/_environment.py | 25 ++++++------ python/damask/solver/_marc.py | 27 ++++++------- 5 files changed, 44 insertions(+), 68 deletions(-) diff --git a/installation/symlink_Processing.py b/installation/symlink_Processing.py index 5972a7f6a..9ee6db99d 100755 --- a/installation/symlink_Processing.py +++ b/installation/symlink_Processing.py @@ -1,56 +1,30 @@ #!/usr/bin/env python3 # Makes postprocessing routines accessible from everywhere. -import os import sys +from pathlib import Path import damask -damaskEnv = damask.Environment() -baseDir = damaskEnv.relPath('processing/') -binDir = damaskEnv.relPath('bin/') +env = damask.Environment() +bin_dir = env.root_dir/Path('bin') -if not os.path.isdir(binDir): - os.mkdir(binDir) +if not bin_dir.exists(): + bin_dir.mkdir() -#define ToDo list -processing_subDirs = ['pre', - 'post', - ] sys.stdout.write('\nsymbolic linking...\n') +for sub_dir in ['pre','post']: + the_dir = env.root_dir/Path('processing')/Path(sub_dir) -for subDir in processing_subDirs: - theDir = os.path.abspath(os.path.join(baseDir,subDir)) - - sys.stdout.write('\n'+binDir+' ->\n'+theDir+damask.util.deemph(' ...')+'\n') - - for theFile in os.listdir(theDir): - theName,theExt = os.path.splitext(theFile) - if theExt in ['.py']: - - src = os.path.abspath(os.path.join(theDir,theFile)) - sym_link = os.path.abspath(os.path.join(binDir,theName)) - - if os.path.lexists(sym_link): - os.remove(sym_link) - output = theName+damask.util.deemph(theExt) - else: - output = damask.util.emph(theName)+damask.util.deemph(theExt) - - sys.stdout.write(damask.util.deemph('... ')+output+'\n') - os.symlink(src,sym_link) + for the_file in the_dir.glob('*.py'): + src = the_dir/the_file + dst = bin_dir/Path(the_file.with_suffix('').name) + dst.unlink(True) + dst.symlink_to(src) sys.stdout.write('\npruning broken links...\n') - -brokenLinks = 0 - -for filename in os.listdir(binDir): - path = os.path.join(binDir,filename) - if os.path.islink(path) and not os.path.exists(path): - sys.stdout.write(' '+damask.util.delete(path)+'\n') - os.remove(path) - brokenLinks += 1 - -sys.stdout.write(('none.' if brokenLinks == 0 else '')+'\n') +for filename in bin_dir.glob('*'): + if not filename.is_file(): + filename.unlink diff --git a/processing/pre/mentat_pbcOnBoxMesh.py b/processing/pre/mentat_pbcOnBoxMesh.py index c171c6ccd..defcbb09b 100755 --- a/processing/pre/mentat_pbcOnBoxMesh.py +++ b/processing/pre/mentat_pbcOnBoxMesh.py @@ -6,7 +6,7 @@ import numpy as np from optparse import OptionParser import damask -sys.path.append(damask.solver.Marc().libraryPath()) +sys.path.append(str(damask.solver.Marc().library_path)) scriptName = os.path.splitext(os.path.basename(__file__))[0] scriptID = ' '.join([scriptName,damask.version]) diff --git a/processing/pre/mentat_spectralBox.py b/processing/pre/mentat_spectralBox.py index a61bef57a..e6d138952 100755 --- a/processing/pre/mentat_spectralBox.py +++ b/processing/pre/mentat_spectralBox.py @@ -9,7 +9,7 @@ import damask scriptName = os.path.splitext(os.path.basename(__file__))[0] scriptID = ' '.join([scriptName,damask.version]) -sys.path.append(damask.solver.Marc().libraryPath()) +sys.path.append(str(damask.solver.Marc().library_path)) #------------------------------------------------------------------------------------------------- def outMentat(cmd,locals): diff --git a/python/damask/_environment.py b/python/damask/_environment.py index df690314c..7d12050aa 100644 --- a/python/damask/_environment.py +++ b/python/damask/_environment.py @@ -1,11 +1,11 @@ import os +from pathlib import Path import tkinter class Environment: def __init__(self): """Read and provide values of DAMASK configuration.""" - self.options = self._get_options() try: tk = tkinter.Tk() self.screen_width = tk.winfo_screenwidth() @@ -15,17 +15,8 @@ class Environment: self.screen_width = 1024 self.screen_height = 768 - def relPath(self,relative = '.'): - """Return absolute path from path relative to DAMASK root.""" - return os.path.join(self.rootDir(),relative) - - - def rootDir(self): - """Return DAMASK root path.""" - return os.path.normpath(os.path.join(os.path.realpath(__file__),'../../../')) - - - def _get_options(self): + @property + def options(self): options = {} for item in ['DAMASK_NUM_THREADS', 'MSC_ROOT', @@ -34,3 +25,13 @@ class Environment: options[item] = os.environ[item] if item in os.environ else None return options + + @property + def root_dir(self): + """Return DAMASK root path.""" + return Path(__file__).parents[2] + + + # for compatibility + def rootDir(self): + return str(self.root_dir) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index 22e9842f5..9d8b30406 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -2,6 +2,7 @@ import os import subprocess import shlex import string +from pathlib import Path from .._environment import Environment @@ -25,22 +26,22 @@ class Marc: self.version = -1 -#-------------------------- - def libraryPath(self): + @property + def library_path(self): path_MSC = Environment().options['MSC_ROOT'] - path_lib = '{}/mentat{}/shlib/linux64'.format(path_MSC,self.version) + path_lib = Path('{}/mentat{}/shlib/linux64'.format(path_MSC,self.version)) - return path_lib if os.path.exists(path_lib) else '' + return path_lib if path_lib.is_file() else None -#-------------------------- - def toolsPath(self): + @property + def tools_path(self): path_MSC = Environment().options['MSC_ROOT'] path_tools = '{}/marc{}/tools'.format(path_MSC,self.version) - return path_tools if os.path.exists(path_tools) else '' + return path_tools if path_tools.is_file() else None #-------------------------- @@ -53,21 +54,21 @@ class Marc: ): - damaskEnv = Environment() + env = Environment() - user = os.path.join(damaskEnv.relPath('src'),'DAMASK_marc{}.{}'.format(self.version,'f90' if compile else 'marc')) - if not os.path.isfile(user): + user = env.root_dir/Path('src')/Path('DAMASK_marc{}'.format(version)).with_suffix('.f90' if compile else '.marc') + if not user.is_file(): raise FileNotFoundError("DAMASK4Marc ({}) '{}' not found".format(('source' if compile else 'binary'),user)) # Define options [see Marc Installation and Operation Guide, pp 23] script = 'run_damask_{}mp'.format(optimization) - cmd = os.path.join(self.toolsPath(),script) + \ + cmd = str(self.tools_path/Path(script)) + \ ' -jid ' + model + '_' + job + \ ' -nprocd 1 -autorst 0 -ci n -cr n -dcoup 0 -b no -v no' - if compile: cmd += ' -u ' + user + ' -save y' - else: cmd += ' -prog ' + os.path.splitext(user)[0] + if compile: cmd += ' -u ' + str(user) + ' -save y' + else: cmd += ' -prog ' + str(user.with_suffix('')) print('job submission {} compilation: {}'.format('with' if compile else 'without',user)) if logfile: log = open(logfile, 'w') From 33a8aa4db72ee8bb16ba872599eb620dd6dba8ef Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 3 Jun 2020 13:46:53 +0200 Subject: [PATCH 157/958] don't catch all exceptions and give meaningful meassages --- processing/pre/mentat_pbcOnBoxMesh.py | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/processing/pre/mentat_pbcOnBoxMesh.py b/processing/pre/mentat_pbcOnBoxMesh.py index defcbb09b..adf0b1aff 100755 --- a/processing/pre/mentat_pbcOnBoxMesh.py +++ b/processing/pre/mentat_pbcOnBoxMesh.py @@ -197,14 +197,15 @@ def add_servoLinks(mfd_data,active=[True,True,True]): # directions on which to if mfd_data[i]['uid'] == 1705: del mfd_data[i] mfd_data.insert(i, links) - + + #-------------------------------------------------------------------------------------------------- # MAIN #-------------------------------------------------------------------------------------------------- + parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [file[s]]', description = """ Set up servo linking to achieve periodic boundary conditions for a regular hexahedral mesh. Use *py_connection to operate on model presently opened in MSC.Mentat. - """, version = scriptID) parser.add_option('-p', '--port', @@ -229,10 +230,7 @@ if remote and filenames != []: if filenames == []: filenames = [None] if remote: - try: import py_mentat - except: - damask.util.croak('no valid Mentat release found.') - sys.exit(-1) + import py_mentat damask.util.report(scriptName, 'waiting to connect...') filenames = [os.path.join(tempfile._get_default_tempdir(), next(tempfile._get_candidate_names()) + '.mfd')] @@ -240,14 +238,14 @@ if remote: py_mentat.py_connect('',options.port) py_mentat.py_send('*set_save_formatted on') py_mentat.py_send('*save_as_model "{}" yes'.format(filenames[0])) - py_mentat.py_get_int("nnodes()") # hopefully blocks until file is written - except: - damask.util.croak('failed. try setting Tools/Python/"Run as Separate Process" & "Initiate".') - sys.exit() + py_mentat.py_get_int("nnodes()") + except py_mentat.InputError as err: + damask.util.croak('{}. Try Tools/Python/"Run as Separate Process" & "Initiate".'.format(err)) + sys.exit(-1) damask.util.croak( 'connected...') for name in filenames: - while remote and not os.path.exists(name): time.sleep(0.5) # wait for Mentat to write MFD file + while remote and not os.path.exists(name): time.sleep(0.5) with open( name,'r') if name is not None else sys.stdin as fileIn: damask.util.report(scriptName, name) mfd = parseMFD(fileIn) @@ -257,5 +255,4 @@ for name in filenames: fileOut.write(asMFD(mfd)) if remote: - try: py_mentat.py_send('*open_model "{}"'.format(filenames[0])) - except: damask.util.croak('lost connection on sending open command for "{}".'.format(filenames[0])) + py_mentat.py_send('*open_model "{}"'.format(filenames[0])) From 9b04a45bbd23a6e46307c0d30dbc8f0dfbc5f39d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 3 Jun 2020 13:53:00 +0200 Subject: [PATCH 158/958] bugfix (wrong variable name) --- python/damask/solver/_marc.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index 9d8b30406..8bee9efc0 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -1,4 +1,3 @@ -import os import subprocess import shlex import string @@ -56,7 +55,7 @@ class Marc: env = Environment() - user = env.root_dir/Path('src')/Path('DAMASK_marc{}'.format(version)).with_suffix('.f90' if compile else '.marc') + user = env.root_dir/Path('src/DAMASK_marc{}'.format(self.version)).with_suffix('.f90' if compile else '.marc') if not user.is_file(): raise FileNotFoundError("DAMASK4Marc ({}) '{}' not found".format(('source' if compile else 'binary'),user)) From 18849c3a69b411bbe5b178509f1979a2c805c959 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 3 Jun 2020 14:03:39 +0200 Subject: [PATCH 159/958] support for older python --- installation/symlink_Processing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installation/symlink_Processing.py b/installation/symlink_Processing.py index 9ee6db99d..441e9a9ea 100755 --- a/installation/symlink_Processing.py +++ b/installation/symlink_Processing.py @@ -20,7 +20,7 @@ for sub_dir in ['pre','post']: for the_file in the_dir.glob('*.py'): src = the_dir/the_file dst = bin_dir/Path(the_file.with_suffix('').name) - dst.unlink(True) + if dst.is_file(): dst.unlink() # dst.unlink(True) for Python >3.8 dst.symlink_to(src) From 5da1aa49bc1778c8f38e6f555d9f1891fc977198 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 3 Jun 2020 15:17:00 +0200 Subject: [PATCH 160/958] string should be a Path object --- python/damask/solver/_marc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index 8bee9efc0..ce32b17e5 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -38,7 +38,7 @@ class Marc: def tools_path(self): path_MSC = Environment().options['MSC_ROOT'] - path_tools = '{}/marc{}/tools'.format(path_MSC,self.version) + path_tools = Path('{}/marc{}/tools'.format(path_MSC,self.version)) return path_tools if path_tools.is_file() else None From bb5485927ed74814d4f6c1151e757e7d32a1564f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 3 Jun 2020 15:18:46 +0200 Subject: [PATCH 161/958] names like 2020.2 cannot be converted to int --- python/damask/solver/_marc.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index ce32b17e5..0484ba7e6 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -19,11 +19,7 @@ class Marc: """ self.solver = 'Marc' - try: - self.version = int(version) - except TypeError: - self.version = -1 - + self.version = version @property def library_path(self): From bda555fd1c55fcf46aea4288cd523321bb12b84c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 3 Jun 2020 16:47:03 +0200 Subject: [PATCH 162/958] we are looking for a path, not for a file --- python/damask/solver/_marc.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index 0484ba7e6..dfe45a46d 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -27,7 +27,7 @@ class Marc: path_MSC = Environment().options['MSC_ROOT'] path_lib = Path('{}/mentat{}/shlib/linux64'.format(path_MSC,self.version)) - return path_lib if path_lib.is_file() else None + return path_lib if path_lib.is_dir() else None @property @@ -36,7 +36,7 @@ class Marc: path_MSC = Environment().options['MSC_ROOT'] path_tools = Path('{}/marc{}/tools'.format(path_MSC,self.version)) - return path_tools if path_tools.is_file() else None + return path_tools if path_tools.is_dir() else None #-------------------------- From f24a580554da715e4d735e5a2f4c201bc967df83 Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 3 Jun 2020 18:35:46 +0200 Subject: [PATCH 163/958] [skip ci] updated version information after successful test of v2.0.3-2650-g512e54a7 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index a8b8fd56d..08fd9e952 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2636-g45878b9f +v2.0.3-2650-g512e54a7 From a9c61ede69e21c094f304828afbe47b31bdfd29d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 3 Jun 2020 20:24:18 +0200 Subject: [PATCH 164/958] bugfix: should also work if DAMASK_NUM_THREADS is not set --- python/damask/_result.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index b6ac3782e..f68dfbea0 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1030,14 +1030,17 @@ class Result: Parameters ---------- func : function - Callback function that calculates a new dataset from one or more datasets per HDF5 group. + Callback function that calculates a new dataset from one or + more datasets per HDF5 group. datasets : dictionary - Details of the datasets to be used: label (in HDF5 file) and arg (argument to which the data is parsed in func). + Details of the datasets to be used: label (in HDF5 file) and + arg (argument to which the data is parsed in func). args : dictionary, optional Arguments parsed to func. """ - pool = multiprocessing.Pool(int(Environment().options['DAMASK_NUM_THREADS'])) + num_threads = Environment().options['DAMASK_NUM_THREADS'] + pool = multiprocessing.Pool(int(num_threads) if num_threads is not None else None) lock = multiprocessing.Manager().Lock() groups = self.groups_with_datasets(datasets.values()) From 0c41e334341da15de6033709f05657474b7bf576 Mon Sep 17 00:00:00 2001 From: "f.basile" Date: Thu, 4 Jun 2020 16:39:24 +0200 Subject: [PATCH 165/958] orientation.equivalent takes several rotations at the same time + small test" " "" --- python/damask/_orientation.py | 18 ++++++++++++++++-- python/damask/oritest.py | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 python/damask/oritest.py diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index e4dbc7d7c..6fa40c261 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -39,8 +39,8 @@ class Orientation: else: self.rotation = Rotation.from_quaternion(rotation) # assume quaternion - if self.rotation.quaternion.shape != (4,): - raise NotImplementedError('Support for multiple rotations missing') +# if self.rotation.quaternion.shape != (4,): +# raise NotImplementedError('Support for multiple rotations missing') def disorientation(self, other, @@ -80,6 +80,20 @@ class Orientation: def inFZ(self): return self.lattice.symmetry.inFZ(self.rotation.as_Rodrigues(vector=True)) + def equivalent(self): + """ + List of orientations which are symmetrically equivalent. + Supported for multiple rotation with same lattice + Returns list [i] being i=range(24) + Returns list [i, num_rot] for multiple rotations + """ + if not self.rotation.shape: + return [self.__class__(q*self.rotation,self.lattice) \ + for q in self.lattice.symmetry.symmetryOperations()] + else: + return np.reshape([self.__class__(q*Rotation.from_quaternion(self.rotation.as_quaternion()[l]),self.lattice) \ + for q in self.lattice.symmetry.symmetryOperations() for l in range(self.rotation.shape[0])], (24,self.rotation.shape[0])) + def equivalentOrientations(self,members=[]): """List of orientations which are symmetrically equivalent.""" diff --git a/python/damask/oritest.py b/python/damask/oritest.py new file mode 100644 index 000000000..43104a938 --- /dev/null +++ b/python/damask/oritest.py @@ -0,0 +1,33 @@ +import damask +import numpy as np + + +rot0= damask.Rotation.from_random() +rot1= damask.Rotation.from_random() +rot2= damask.Rotation.from_random() + +ori0=damask.Orientation(rot0,'fcc') +ori1=damask.Orientation(rot1,'fcc') +ori2=damask.Orientation(rot2,'fcc') + + + + +quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),rot2.as_quaternion()]) +rot=damask.Rotation.from_quaternion(quat) + +ori=damask.Orientation(rot,'fcc') + +ori.equivalent() + + + +# doesn't work this way, don't know why +#ori.equivalent()[:,0][0] == ori0.equivalentOrientations()[0] + +for s in range(24): + print(ori.equivalent()[s,0].rotation.as_Eulers() == ori0.equivalentOrientations()[s].rotation.as_Eulers()) + print(ori.equivalent()[s,1].rotation.as_Eulers() == ori1.equivalentOrientations()[s].rotation.as_Eulers()) + print(ori.equivalent()[s,2].rotation.as_Eulers() == ori2.equivalentOrientations()[s].rotation.as_Eulers()) + + From 3897136f85884c745a3e645a93a9fae136db317d Mon Sep 17 00:00:00 2001 From: "f.basile" Date: Thu, 4 Jun 2020 16:43:28 +0200 Subject: [PATCH 166/958] avoid python/damask/_orientation.py exceeds line length limit (maximum line length 141 > 132) --- python/damask/_orientation.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 6fa40c261..909365d41 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -92,7 +92,8 @@ class Orientation: for q in self.lattice.symmetry.symmetryOperations()] else: return np.reshape([self.__class__(q*Rotation.from_quaternion(self.rotation.as_quaternion()[l]),self.lattice) \ - for q in self.lattice.symmetry.symmetryOperations() for l in range(self.rotation.shape[0])], (24,self.rotation.shape[0])) + for q in self.lattice.symmetry.symmetryOperations() \ + for l in range(self.rotation.shape[0])], (24,self.rotation.shape[0])) def equivalentOrientations(self,members=[]): From 6a24aee171122600a26a8d65c0c1acbd06741ee6 Mon Sep 17 00:00:00 2001 From: "f.basile" Date: Thu, 4 Jun 2020 16:44:57 +0200 Subject: [PATCH 167/958] fix python/damask/_orientation.py contains invalid python3 code --- python/damask/_orientation.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 909365d41..f338be35d 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -82,10 +82,12 @@ class Orientation: def equivalent(self): """ + List of orientations which are symmetrically equivalent. Supported for multiple rotation with same lattice Returns list [i] being i=range(24) Returns list [i, num_rot] for multiple rotations + """ if not self.rotation.shape: return [self.__class__(q*self.rotation,self.lattice) \ From ac09a2912a434bc6f2289eed849b7bf1eaa43429 Mon Sep 17 00:00:00 2001 From: "f.basile" Date: Thu, 4 Jun 2020 16:45:44 +0200 Subject: [PATCH 168/958] fix python/damask/_orientation.py contains invalid python3 code 2 --- python/damask/_orientation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index f338be35d..ec83c3857 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -82,8 +82,8 @@ class Orientation: def equivalent(self): """ - List of orientations which are symmetrically equivalent. + Supported for multiple rotation with same lattice Returns list [i] being i=range(24) Returns list [i, num_rot] for multiple rotations From a9e0e93213314d18300935a8e6fad6b4caa9d945 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 5 Jun 2020 13:38:40 +0200 Subject: [PATCH 169/958] need to handle case of zero length file when splitting --- src/IO.f90 | 4 ++-- src/grid/DAMASK_grid.f90 | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index e6e3d4a60..8d56bdd70 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -11,7 +11,6 @@ module IO implicit none private character(len=*), parameter, public :: & - IO_EOF = '#EOF#', & !< end of file string IO_WHITESPACE = achar(44)//achar(32)//achar(9)//achar(10)//achar(13) !< whitespace characters character, parameter, public :: & IO_EOL = new_line('DAMASK'), & !< end of line character @@ -86,6 +85,7 @@ function IO_readlines(fileName) result(fileContent) do l=1, len(rawData) if (rawData(l:l) == IO_EOL) N_lines = N_lines+1 enddo + if (l>1) then; if(rawData(l-1:l-1) /= IO_EOL) N_lines = N_lines+1; endif ! no EOL@EOF, need exception for empty file allocate(fileContent(N_lines)) !-------------------------------------------------------------------------------------------------- @@ -94,7 +94,7 @@ function IO_readlines(fileName) result(fileContent) startPos = 1 l = 1 do while (l <= N_lines) - endPos = startPos + scan(rawData(startPos:),IO_EOL) - 2 + endPos = merge(startPos + scan(rawData(startPos:),IO_EOL) - 2,len(rawData),l /= N_lines) if (endPos - startPos > pStringLen-1) then line = rawData(startPos:startPos+pStringLen-1) if (.not. warned) then diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 7b3265740..8e57a56af 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -140,7 +140,8 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! reading information from load case file and to sanity checks - fileContent = IO_read_ASCII(trim(loadCaseFile)) + fileContent = IO_readlines(trim(loadCaseFile)) + if(size(fileContent) == 0) call IO_error(307,ext_msg='No load case specified') allocate (loadCases(0)) ! array of load cases do currentLoadCase = 1, size(fileContent) From eae9698d22c527502d5a8cefd05d50a8520479bb Mon Sep 17 00:00:00 2001 From: "f.basile" Date: Fri, 5 Jun 2020 13:48:12 +0200 Subject: [PATCH 170/958] equivalent,related and inFZ vectorized + pytest --- python/damask/_orientation.py | 44 +++++++++++++---- python/damask/oritest.py | 33 ------------- python/tests/test_ori_vec.py | 93 +++++++++++++++++++++++++++++++++++ 3 files changed, 127 insertions(+), 43 deletions(-) delete mode 100644 python/damask/oritest.py create mode 100644 python/tests/test_ori_vec.py diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index ec83c3857..245659f44 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -77,25 +77,37 @@ class Orientation: return (Orientation(r,self.lattice), i,j, k == 1) if symmetries else r # disorientation ... # ... own sym, other sym, # self-->other: True, self<--other: False + + def inFZ_vec(self): + """ + Check if orientations falls into Fundamental Zone + + self.rotation.as_Rodrigues() working fine + self.rotation.as_Rodrigues(vector=True) doesn't work for several rotations + i apply dirty fix + + """ + if not self.rotation.shape: + return self.lattice.symmetry.inFZ(self.rotation.as_Rodrigues(vector=True)) + else: + return [self.lattice.symmetry.inFZ(\ + Rotation._qu2ro(self.rotation.as_quaternion())[l][...,:3]\ + *Rotation._qu2ro(self.rotation.as_quaternion())[l][...,3])\ + for l in range(self.rotation.shape[0])] + def inFZ(self): return self.lattice.symmetry.inFZ(self.rotation.as_Rodrigues(vector=True)) - def equivalent(self): - """ - List of orientations which are symmetrically equivalent. - - Supported for multiple rotation with same lattice - Returns list [i] being i=range(24) - Returns list [i, num_rot] for multiple rotations - - """ + def equivalent_vec(self): + """List of orientations which are symmetrically equivalent.""" if not self.rotation.shape: return [self.__class__(q*self.rotation,self.lattice) \ for q in self.lattice.symmetry.symmetryOperations()] else: return np.reshape([self.__class__(q*Rotation.from_quaternion(self.rotation.as_quaternion()[l]),self.lattice) \ for q in self.lattice.symmetry.symmetryOperations() \ - for l in range(self.rotation.shape[0])], (24,self.rotation.shape[0])) + for l in range(self.rotation.shape[0])], \ + (len(self.lattice.symmetry.symmetryOperations()),self.rotation.shape[0])) def equivalentOrientations(self,members=[]): @@ -108,6 +120,18 @@ class Orientation: return [self.__class__(q*self.rotation,self.lattice) \ for q in self.lattice.symmetry.symmetryOperations(members)] # yes, return list of rotations + def relatedOrientations_vec(self,model): + """List of orientations related by the given orientation relationship.""" + r = self.lattice.relationOperations(model) + if not self.rotation.shape: + return [self.__class__(o*self.rotation,r['lattice']) for o in r['rotations']] + else: + return np.reshape(\ + [self.__class__(o*Rotation.from_quaternion(self.rotation.as_quaternion()[l])\ + ,r['lattice']) for o in r['rotations'] for l in range(self.rotation.shape[0])] + ,(len(r['rotations']),self.rotation.shape[0])) + + def relatedOrientations(self,model): """List of orientations related by the given orientation relationship.""" r = self.lattice.relationOperations(model) diff --git a/python/damask/oritest.py b/python/damask/oritest.py deleted file mode 100644 index 43104a938..000000000 --- a/python/damask/oritest.py +++ /dev/null @@ -1,33 +0,0 @@ -import damask -import numpy as np - - -rot0= damask.Rotation.from_random() -rot1= damask.Rotation.from_random() -rot2= damask.Rotation.from_random() - -ori0=damask.Orientation(rot0,'fcc') -ori1=damask.Orientation(rot1,'fcc') -ori2=damask.Orientation(rot2,'fcc') - - - - -quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),rot2.as_quaternion()]) -rot=damask.Rotation.from_quaternion(quat) - -ori=damask.Orientation(rot,'fcc') - -ori.equivalent() - - - -# doesn't work this way, don't know why -#ori.equivalent()[:,0][0] == ori0.equivalentOrientations()[0] - -for s in range(24): - print(ori.equivalent()[s,0].rotation.as_Eulers() == ori0.equivalentOrientations()[s].rotation.as_Eulers()) - print(ori.equivalent()[s,1].rotation.as_Eulers() == ori1.equivalentOrientations()[s].rotation.as_Eulers()) - print(ori.equivalent()[s,2].rotation.as_Eulers() == ori2.equivalentOrientations()[s].rotation.as_Eulers()) - - diff --git a/python/tests/test_ori_vec.py b/python/tests/test_ori_vec.py new file mode 100644 index 000000000..ffc2c88b1 --- /dev/null +++ b/python/tests/test_ori_vec.py @@ -0,0 +1,93 @@ +import os +from itertools import permutations + +import pytest +import numpy as np + +import damask +from damask import Rotation +from damask import Orientation +from damask import Lattice + +rot0= damask.Rotation.from_random() +rot1= damask.Rotation.from_random() +rot2= damask.Rotation.from_random() +rot3= damask.Rotation.from_random() + +class TestOrientation_vec: + @pytest.mark.parametrize('lattice',Lattice.lattices) + def test_equivalentOrientations_vec(self,lattice): + ori0=damask.Orientation(rot0,lattice) + ori1=damask.Orientation(rot1,lattice) + ori2=damask.Orientation(rot2,lattice) + ori3=damask.Orientation(rot3,lattice) + + quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),rot2.as_quaternion(),rot3.as_quaternion()]) + rot_vec=damask.Rotation.from_quaternion(quat) + ori_vec=damask.Orientation(rot_vec,lattice) + + for s in range(len(ori_vec.lattice.symmetry.symmetryOperations())): + assert all(ori_vec.equivalent_vec()[s,0].rotation.as_Eulers() == \ + ori0.equivalentOrientations()[s].rotation.as_Eulers()) + assert all(ori_vec.equivalent_vec()[s,1].rotation.as_quaternion() == \ + ori1.equivalentOrientations()[s].rotation.as_quaternion()) + assert all(ori_vec.equivalent_vec()[s,2].rotation.as_Rodrigues() == \ + ori2.equivalentOrientations()[s].rotation.as_Rodrigues()) + assert all(ori_vec.equivalent_vec()[s,3].rotation.as_cubochoric() == \ + ori3.equivalentOrientations()[s].rotation.as_cubochoric()) + + @pytest.mark.parametrize('lattice',Lattice.lattices) + def test_inFZ_vec(self,lattice): + ori0=damask.Orientation(rot0,lattice) + ori1=damask.Orientation(rot1,lattice) + ori2=damask.Orientation(rot2,lattice) + ori3=damask.Orientation(rot3,lattice) + #ensure 1 of them is in FZ + ori4=ori0.reduced() + rot4=ori4.rotation + + quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),\ + rot2.as_quaternion(),rot3.as_quaternion(), rot4.as_quaternion()]) + rot_vec=damask.Rotation.from_quaternion(quat) + ori_vec=damask.Orientation(rot_vec,lattice) + + assert ori_vec.inFZ_vec()[0] == ori0.inFZ() + assert ori_vec.inFZ_vec()[1] == ori1.inFZ() + assert ori_vec.inFZ_vec()[2] == ori2.inFZ() + assert ori_vec.inFZ_vec()[3] == ori3.inFZ() + assert ori_vec.inFZ_vec()[4] == ori4.inFZ() + + + @pytest.mark.parametrize('model',['Bain','KS','GT','GT_prime','NW','Pitsch']) + @pytest.mark.parametrize('lattice',['fcc','bcc']) + def test_relatedOrientations_vec(self,model,lattice): + ori0=damask.Orientation(rot0,lattice) + ori1=damask.Orientation(rot1,lattice) + ori2=damask.Orientation(rot2,lattice) + ori3=damask.Orientation(rot3,lattice) + + quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),rot2.as_quaternion(),rot3.as_quaternion()]) + rot_vec=damask.Rotation.from_quaternion(quat) + ori_vec=damask.Orientation(rot_vec,lattice) + + for s in range(len(ori1.lattice.relationOperations(model)['rotations'])): + assert all(ori_vec.relatedOrientations_vec(model)[s,0].rotation.as_Eulers() == \ + ori0.relatedOrientations(model)[s].rotation.as_Eulers()) + assert all(ori_vec.relatedOrientations_vec(model)[s,1].rotation.as_quaternion() == \ + ori1.relatedOrientations(model)[s].rotation.as_quaternion()) + assert all(ori_vec.relatedOrientations_vec(model)[s,2].rotation.as_Rodrigues() == \ + ori2.relatedOrientations(model)[s].rotation.as_Rodrigues()) + assert all(ori_vec.relatedOrientations_vec(model)[s,3].rotation.as_cubochoric() == \ + ori3.relatedOrientations(model)[s].rotation.as_cubochoric()) + + + + + + + + + + + + \ No newline at end of file From cb1779ef9adf66b9c693473e79dbeea0ad372e53 Mon Sep 17 00:00:00 2001 From: "f.basile" Date: Fri, 5 Jun 2020 13:49:30 +0200 Subject: [PATCH 171/958] fix pep257: D415 / First line should end with a period, question mark, or exclamation point (not e) --- python/damask/_orientation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 245659f44..10d33a76c 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -80,7 +80,7 @@ class Orientation: def inFZ_vec(self): """ - Check if orientations falls into Fundamental Zone + Check if orientations falls into Fundamental Zone. self.rotation.as_Rodrigues() working fine self.rotation.as_Rodrigues(vector=True) doesn't work for several rotations From 54c20cdd3c8cc7a3b3ff3a9a84a507619d7231ec Mon Sep 17 00:00:00 2001 From: "f.basile" Date: Fri, 5 Jun 2020 13:53:47 +0200 Subject: [PATCH 172/958] fix pyflakes imported but unused in pytest --- python/tests/test_ori_vec.py | 47 +++++++++++++++++------------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/python/tests/test_ori_vec.py b/python/tests/test_ori_vec.py index ffc2c88b1..4172e5edc 100644 --- a/python/tests/test_ori_vec.py +++ b/python/tests/test_ori_vec.py @@ -1,6 +1,3 @@ -import os -from itertools import permutations - import pytest import numpy as np @@ -9,22 +6,22 @@ from damask import Rotation from damask import Orientation from damask import Lattice -rot0= damask.Rotation.from_random() -rot1= damask.Rotation.from_random() -rot2= damask.Rotation.from_random() -rot3= damask.Rotation.from_random() +rot0= Rotation.from_random() +rot1= Rotation.from_random() +rot2= Rotation.from_random() +rot3= Rotation.from_random() class TestOrientation_vec: @pytest.mark.parametrize('lattice',Lattice.lattices) def test_equivalentOrientations_vec(self,lattice): - ori0=damask.Orientation(rot0,lattice) - ori1=damask.Orientation(rot1,lattice) - ori2=damask.Orientation(rot2,lattice) - ori3=damask.Orientation(rot3,lattice) + ori0=Orientation(rot0,lattice) + ori1=Orientation(rot1,lattice) + ori2=Orientation(rot2,lattice) + ori3=Orientation(rot3,lattice) quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),rot2.as_quaternion(),rot3.as_quaternion()]) - rot_vec=damask.Rotation.from_quaternion(quat) - ori_vec=damask.Orientation(rot_vec,lattice) + rot_vec=Rotation.from_quaternion(quat) + ori_vec=Orientation(rot_vec,lattice) for s in range(len(ori_vec.lattice.symmetry.symmetryOperations())): assert all(ori_vec.equivalent_vec()[s,0].rotation.as_Eulers() == \ @@ -38,18 +35,18 @@ class TestOrientation_vec: @pytest.mark.parametrize('lattice',Lattice.lattices) def test_inFZ_vec(self,lattice): - ori0=damask.Orientation(rot0,lattice) - ori1=damask.Orientation(rot1,lattice) - ori2=damask.Orientation(rot2,lattice) - ori3=damask.Orientation(rot3,lattice) + ori0=Orientation(rot0,lattice) + ori1=Orientation(rot1,lattice) + ori2=Orientation(rot2,lattice) + ori3=Orientation(rot3,lattice) #ensure 1 of them is in FZ ori4=ori0.reduced() rot4=ori4.rotation quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),\ rot2.as_quaternion(),rot3.as_quaternion(), rot4.as_quaternion()]) - rot_vec=damask.Rotation.from_quaternion(quat) - ori_vec=damask.Orientation(rot_vec,lattice) + rot_vec=Rotation.from_quaternion(quat) + ori_vec=Orientation(rot_vec,lattice) assert ori_vec.inFZ_vec()[0] == ori0.inFZ() assert ori_vec.inFZ_vec()[1] == ori1.inFZ() @@ -61,14 +58,14 @@ class TestOrientation_vec: @pytest.mark.parametrize('model',['Bain','KS','GT','GT_prime','NW','Pitsch']) @pytest.mark.parametrize('lattice',['fcc','bcc']) def test_relatedOrientations_vec(self,model,lattice): - ori0=damask.Orientation(rot0,lattice) - ori1=damask.Orientation(rot1,lattice) - ori2=damask.Orientation(rot2,lattice) - ori3=damask.Orientation(rot3,lattice) + ori0=Orientation(rot0,lattice) + ori1=Orientation(rot1,lattice) + ori2=Orientation(rot2,lattice) + ori3=Orientation(rot3,lattice) quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),rot2.as_quaternion(),rot3.as_quaternion()]) - rot_vec=damask.Rotation.from_quaternion(quat) - ori_vec=damask.Orientation(rot_vec,lattice) + rot_vec=Rotation.from_quaternion(quat) + ori_vec=Orientation(rot_vec,lattice) for s in range(len(ori1.lattice.relationOperations(model)['rotations'])): assert all(ori_vec.relatedOrientations_vec(model)[s,0].rotation.as_Eulers() == \ From a76b5233be7639b6ed3d82d34e48d88214ecd835 Mon Sep 17 00:00:00 2001 From: "f.basile" Date: Fri, 5 Jun 2020 13:54:38 +0200 Subject: [PATCH 173/958] fix pyflakes imported but unused in pytest 2 --- python/tests/test_ori_vec.py | 1 - 1 file changed, 1 deletion(-) diff --git a/python/tests/test_ori_vec.py b/python/tests/test_ori_vec.py index 4172e5edc..f55dc6d03 100644 --- a/python/tests/test_ori_vec.py +++ b/python/tests/test_ori_vec.py @@ -1,7 +1,6 @@ import pytest import numpy as np -import damask from damask import Rotation from damask import Orientation from damask import Lattice From 9cd9ee71c5e9034e53262e76193b73d4fd34f4bc Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 5 Jun 2020 14:44:31 +0200 Subject: [PATCH 174/958] off-by-one issue fixed --- src/IO.f90 | 4 ++-- src/mesh/discretization_mesh.f90 | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index 8d56bdd70..608d70fba 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -94,7 +94,7 @@ function IO_readlines(fileName) result(fileContent) startPos = 1 l = 1 do while (l <= N_lines) - endPos = merge(startPos + scan(rawData(startPos:),IO_EOL) - 2,len(rawData),l /= N_lines) + endPos = merge(startPos + scan(rawData(startPos:),IO_EOL) - 2,len(rawData)-1,l /= N_lines) if (endPos - startPos > pStringLen-1) then line = rawData(startPos:startPos+pStringLen-1) if (.not. warned) then @@ -106,7 +106,7 @@ function IO_readlines(fileName) result(fileContent) endif startPos = endPos + 2 ! jump to next line start - fileContent(l) = line + fileContent(l) = trim(line)//'' l = l + 1 enddo diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index 0880de115..80db37e8d 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -119,7 +119,7 @@ subroutine discretization_mesh_init(restart) call MPI_Bcast(mesh_boundaries,mesh_Nboundaries,MPI_INTEGER,0,PETSC_COMM_WORLD,ierr) if (worldrank == 0) then - fileContent = IO_read_ASCII(geometryFile) + fileContent = IO_readlines(geometryFile) l = 0 do l = l + 1 From 5c544a6e4e9ce61eb682638c3f308ffb0f32a11d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 5 Jun 2020 20:58:36 +0200 Subject: [PATCH 175/958] bugfix - IO_read sanities files such that they end with EOL (unless 0 byte) - IO_readline simply counts EOL to determine number of lines --- src/IO.f90 | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index 608d70fba..362f4a8d5 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -85,7 +85,6 @@ function IO_readlines(fileName) result(fileContent) do l=1, len(rawData) if (rawData(l:l) == IO_EOL) N_lines = N_lines+1 enddo - if (l>1) then; if(rawData(l-1:l-1) /= IO_EOL) N_lines = N_lines+1; endif ! no EOL@EOF, need exception for empty file allocate(fileContent(N_lines)) !-------------------------------------------------------------------------------------------------- @@ -94,7 +93,7 @@ function IO_readlines(fileName) result(fileContent) startPos = 1 l = 1 do while (l <= N_lines) - endPos = merge(startPos + scan(rawData(startPos:),IO_EOL) - 2,len(rawData)-1,l /= N_lines) + endPos = startPos + scan(rawData(startPos:),IO_EOL) - 2 if (endPos - startPos > pStringLen-1) then line = rawData(startPos:startPos+pStringLen-1) if (.not. warned) then @@ -114,7 +113,8 @@ end function IO_readlines !-------------------------------------------------------------------------------------------------- -!> @brief reads an entire ASCII file into a string +!> @brief read ASCII file into a string +!> @details ensures that the string ends with a new line (expected UNIX behavior) !-------------------------------------------------------------------------------------------------- function IO_read(fileName) result(fileContent) @@ -130,10 +130,14 @@ function IO_read(fileName) result(fileContent) status='old', position='rewind', action='read',iostat=myStat) if(myStat /= 0) call IO_error(100,ext_msg=trim(fileName)) allocate(character(len=fileLength)::fileContent) + if(fileLength==0) return + read(fileUnit,iostat=myStat) fileContent - if(myStat > 0) call IO_error(102,ext_msg=trim(fileName)) ! <0 for ifort (https://software.intel.com/en-us/comment/1960081) + if(myStat /= 0) call IO_error(102,ext_msg=trim(fileName)) close(fileUnit) + if(fileContent(fileLength:fileLength) /= IO_EOL) fileContent = fileContent//IO_EOL ! ensure EOL@EOF + end function IO_read From 82326ed8126cb6a7bc6e91a1fe77d6ef1e446044 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 11 Jun 2020 08:21:11 +0200 Subject: [PATCH 176/958] drop support for ping-pong scheme --- src/DAMASK_marc.f90 | 33 +-------------------------------- src/crystallite.f90 | 2 +- src/numerics.f90 | 5 ----- 3 files changed, 2 insertions(+), 38 deletions(-) diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index fa0711b02..dae77fb5d 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -305,36 +305,6 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & endif ! convergence treatment end - if (usePingPong) then - calcMode(nn,cp_en) = .not. calcMode(nn,cp_en) ! ping pong (calc <--> collect) - if (calcMode(nn,cp_en)) then ! now --- CALC --- - computationMode = CPFEM_CALCRESULTS - if (lastLovl /= lovl) then ! first after ping pong - call debug_reset() ! resets debugging - outdatedFFN1 = .false. - cycleCounter = cycleCounter + 1 - !mesh_cellnode = mesh_build_cellnodes() ! update cell node coordinates - !call mesh_build_ipCoordinates() ! update ip coordinates - endif - if (outdatedByNewInc) then - computationMode = ior(computationMode,CPFEM_AGERESULTS) ! calc and age results - outdatedByNewInc = .false. ! reset flag - endif - else ! now --- COLLECT --- - computationMode = CPFEM_COLLECT ! plain collect - if (lastLovl /= lovl .and. & .not. terminallyIll) & - call debug_info() ! first after ping pong reports (meaningful) debugging - if (lastIncConverged) then - computationMode = ior(computationMode,CPFEM_BACKUPJACOBIAN) ! collect and backup Jacobian after convergence - lastIncConverged = .false. ! reset flag - endif - !do node = 1,theMesh%elem%nNodes - !CPnodeID = mesh_element(4+node,cp_en) - !mesh_node(1:ndeg,CPnodeID) = mesh_node0(1:ndeg,CPnodeID) + numerics_unitlength * dispt(1:ndeg,node) - !enddo - endif - - else ! --- PLAIN MODE --- computationMode = CPFEM_CALCRESULTS ! always calc if (lastLovl /= lovl) then if (.not. terminallyIll) & @@ -353,7 +323,6 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & computationMode = ior(computationMode,CPFEM_BACKUPJACOBIAN) ! backup Jacobian after convergence lastIncConverged = .false. ! reset flag endif - endif theTime = cptim ! record current starting time theDelta = timinc ! record current time increment @@ -362,7 +331,7 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & endif lastLovl = lovl ! record lovl - call CPFEM_general(computationMode,usePingPong,ffn,ffn1,t(1),timinc,m(1),nn,stress,ddsdde) + call CPFEM_general(computationMode,.false.,ffn,ffn1,t(1),timinc,m(1),nn,stress,ddsdde) d = ddsdde(1:ngens,1:ngens) s = stress(1:ndi+nshear) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 929fec862..c9fef3a51 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -245,7 +245,7 @@ subroutine crystallite_init enddo !$OMP END PARALLEL DO - if(any(plasticState%nonlocal) .and. .not. usePingPong) call IO_error(601) ! exit if nonlocal but no ping-pong ToDo: Why not check earlier? or in nonlocal? + !if(any(plasticState%nonlocal) .and. .not. usePingPong) call IO_error(601) crystallite_partionedFp0 = crystallite_Fp0 crystallite_partionedFi0 = crystallite_Fi0 diff --git a/src/numerics.f90 b/src/numerics.f90 index b0163aee3..77c3397de 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -28,8 +28,6 @@ module numerics numerics_unitlength = 1.0_pReal, & !< determines the physical length of one computational length unit charLength = 1.0_pReal, & !< characteristic length scale for gradient problems residualStiffness = 1.0e-6_pReal !< non-zero residual damage - logical, protected, public :: & - usePingPong = .true. !-------------------------------------------------------------------------------------------------- ! field parameters: @@ -133,8 +131,6 @@ subroutine numerics_init defgradTolerance = IO_floatValue(line,chunkPos,2) case ('ijacostiffness') iJacoStiffness = IO_intValue(line,chunkPos,2) - case ('usepingpong') - usepingpong = IO_intValue(line,chunkPos,2) > 0 case ('unitlength') numerics_unitlength = IO_floatValue(line,chunkPos,2) @@ -221,7 +217,6 @@ subroutine numerics_init ! writing parameters to output write(6,'(a24,1x,es8.1)') ' defgradTolerance: ',defgradTolerance write(6,'(a24,1x,i8)') ' iJacoStiffness: ',iJacoStiffness - write(6,'(a24,1x,L8)') ' use ping pong scheme: ',usepingpong write(6,'(a24,1x,es8.1,/)')' unitlength: ',numerics_unitlength !-------------------------------------------------------------------------------------------------- From b353129ba88000e3c21542097e4380af2bfc947a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 11 Jun 2020 08:36:21 +0200 Subject: [PATCH 177/958] cleaning --- src/CPFEM.f90 | 74 +++------------------------------------------ src/DAMASK_marc.f90 | 4 +-- 2 files changed, 6 insertions(+), 72 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 7791d2b12..7ab6a2ece 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -124,7 +124,7 @@ end subroutine CPFEM_init !-------------------------------------------------------------------------------------------------- !> @brief perform initialization at first call, update variables and call the actual material model !-------------------------------------------------------------------------------------------------- -subroutine CPFEM_general(mode, parallelExecution, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyStress, jacobian) +subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyStress, jacobian) integer(pInt), intent(in) :: elFE, & !< FE element number ip !< integration point number @@ -133,17 +133,14 @@ subroutine CPFEM_general(mode, parallelExecution, ffn, ffn1, temperature_inp, dt ffn1 !< deformation gradient for t=t1 integer(pInt), intent(in) :: mode !< computation mode 1: regular computation plus aging of results real(pReal), intent(in) :: temperature_inp !< temperature - logical, intent(in) :: parallelExecution !< flag indicating parallel computation of requested IPs real(pReal), dimension(6), intent(out) :: cauchyStress !< stress as 6 vector real(pReal), dimension(6,6), intent(out) :: jacobian !< jacobian as 66 tensor (Consistent tangent dcs/dE) real(pReal) J_inverse, & ! inverse of Jacobian rnd - real(pReal), dimension (3,3) :: Kirchhoff, & ! Piola-Kirchhoff stress - cauchyStress33 ! stress vector + real(pReal), dimension (3,3) :: Kirchhoff ! Piola-Kirchhoff stress real(pReal), dimension (3,3,3,3) :: H_sym, & - H, & - jacobian3333 ! jacobian in Matrix notation + H integer(pInt) elCP, & ! crystal plasticity element number i, j, k, l, m, n, ph, homog, mySource @@ -178,9 +175,6 @@ subroutine CPFEM_general(mode, parallelExecution, ffn, ffn1, temperature_inp, dt if (iand(mode, CPFEM_AGERESULTS) /= 0_pInt) call CPFEM_forward - !*** collection of FEM input with returning of randomize odd stress and jacobian - !* If no parallel execution is required, there is no need to collect FEM input - if (.not. parallelExecution) then chosenThermal1: select case (thermal_type(material_homogenizationAt(elCP))) case (THERMAL_conduction_ID) chosenThermal1 temperature(material_homogenizationAt(elCP))%p(thermalMapping(material_homogenizationAt(elCP))%p(ip,elCP)) = & @@ -189,38 +183,11 @@ subroutine CPFEM_general(mode, parallelExecution, ffn, ffn1, temperature_inp, dt materialpoint_F0(1:3,1:3,ip,elCP) = ffn materialpoint_F(1:3,1:3,ip,elCP) = ffn1 - elseif (iand(mode, CPFEM_COLLECT) /= 0_pInt) then - call random_number(rnd) - if (rnd < 0.5_pReal) rnd = rnd - 1.0_pReal - CPFEM_cs(1:6,ip,elCP) = rnd * ODD_STRESS - CPFEM_dcsde(1:6,1:6,ip,elCP) = ODD_JACOBIAN * math_identity2nd(6) - chosenThermal2: select case (thermal_type(material_homogenizationAt(elCP))) - case (THERMAL_conduction_ID) chosenThermal2 - temperature(material_homogenizationAt(elCP))%p(thermalMapping(material_homogenizationAt(elCP))%p(ip,elCP)) = & - temperature_inp - end select chosenThermal2 - materialpoint_F0(1:3,1:3,ip,elCP) = ffn - materialpoint_F(1:3,1:3,ip,elCP) = ffn1 - CPFEM_calc_done = .false. - endif - - !*** calculation of stress and jacobian if (iand(mode, CPFEM_CALCRESULTS) /= 0_pInt) then !*** deformation gradient outdated or any actual deformation gradient differs more than relevantStrain from the stored one - validCalculation: if (terminallyIll & - .or. outdatedFFN1 & - .or. any(abs(ffn1 - materialpoint_F(1:3,1:3,ip,elCP)) > defgradTolerance)) then - if (any(abs(ffn1 - materialpoint_F(1:3,1:3,ip,elCP)) > defgradTolerance)) then - if (iand(debug_level(debug_CPFEM), debug_levelBasic) /= 0_pInt) then - write(6,'(a,1x,i8,1x,i2)') '<< CPFEM >> OUTDATED at elFE ip',elFE,ip - write(6,'(a,/,3(12x,3(f10.6,1x),/))') '<< CPFEM >> FFN1 old:',& - transpose(materialpoint_F(1:3,1:3,ip,elCP)) - write(6,'(a,/,3(12x,3(f10.6,1x),/))') '<< CPFEM >> FFN1 now:',transpose(ffn1) - endif - outdatedFFN1 = .true. - endif + validCalculation: if (terminallyIll .or. outdatedFFN1) then call random_number(rnd) if (rnd < 0.5_pReal) rnd = rnd - 1.0_pReal CPFEM_cs(1:6,ip,elCP) = ODD_STRESS * rnd @@ -229,23 +196,12 @@ subroutine CPFEM_general(mode, parallelExecution, ffn, ffn1, temperature_inp, dt !*** deformation gradient is not outdated else validCalculation updateJaco = mod(cycleCounter,iJacoStiffness) == 0 - !* no parallel computation, so we use just one single elFE and ip for computation - if (.not. parallelExecution) then FEsolving_execElem = elCP FEsolving_execIP = ip if (iand(debug_level(debug_CPFEM), debug_levelExtensive) /= 0_pInt) & write(6,'(a,i8,1x,i2)') '<< CPFEM >> calculation for elFE ip ',elFE,ip call materialpoint_stressAndItsTangent(updateJaco, dt) - !* parallel computation and calulation not yet done - elseif (.not. CPFEM_calc_done) then - if (iand(debug_level(debug_CPFEM), debug_levelExtensive) /= 0_pInt) & - write(6,'(a,i8,a,i8)') '<< CPFEM >> calculation for elements ',FEsolving_execElem(1),& - ' to ',FEsolving_execElem(2) - call materialpoint_stressAndItsTangent(updateJaco, dt) - CPFEM_calc_done = .true. - endif - !* map stress and stiffness (or return odd values if terminally ill) terminalIllness: if (terminallyIll) then @@ -300,28 +256,6 @@ subroutine CPFEM_general(mode, parallelExecution, ffn, ffn1, temperature_inp, dt cauchyStress = CPFEM_cs (1:6, ip,elCP) jacobian = CPFEM_dcsdE(1:6,1:6,ip,elCP) - - !*** remember extreme values of stress ... - cauchyStress33 = math_6toSym33(CPFEM_cs(1:6,ip,elCP),weighted=.false.) - if (maxval(cauchyStress33) > debug_stressMax) then - debug_stressMaxLocation = [elCP, ip] - debug_stressMax = maxval(cauchyStress33) - endif - if (minval(cauchyStress33) < debug_stressMin) then - debug_stressMinLocation = [elCP, ip] - debug_stressMin = minval(cauchyStress33) - endif - !*** ... and Jacobian - jacobian3333 = math_66toSym3333(CPFEM_dcsdE(1:6,1:6,ip,elCP),weighted=.false.) - if (maxval(jacobian3333) > debug_jacobianMax) then - debug_jacobianMaxLocation = [elCP, ip] - debug_jacobianMax = maxval(jacobian3333) - endif - if (minval(jacobian3333) < debug_jacobianMin) then - debug_jacobianMinLocation = [elCP, ip] - debug_jacobianMin = minval(jacobian3333) - endif - end subroutine CPFEM_general diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index dae77fb5d..fbff127e9 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -261,7 +261,7 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & endif !$ defaultNumThreadsInt = omp_get_num_threads() ! remember number of threads set by Marc - !$ call omp_set_num_threads(DAMASK_NumThreadsInt) ! set number of threads for parallel execution set by DAMASK_NUM_THREADS + !$ call omp_set_num_threads(1) ! set number of threads for parallel execution set by DAMASK_NUM_THREADS if (.not. CPFEM_init_done) call CPFEM_initAll(m(1),nn) @@ -331,7 +331,7 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & endif lastLovl = lovl ! record lovl - call CPFEM_general(computationMode,.false.,ffn,ffn1,t(1),timinc,m(1),nn,stress,ddsdde) + call CPFEM_general(computationMode,ffn,ffn1,t(1),timinc,m(1),nn,stress,ddsdde) d = ddsdde(1:ngens,1:ngens) s = stress(1:ndi+nshear) From 579ced6a52aab319c3b4630459648438be12500b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 11 Jun 2020 08:44:24 +0200 Subject: [PATCH 178/958] removed global public variables --- src/DAMASK_marc.f90 | 3 --- src/crystallite.f90 | 3 --- src/debug.f90 | 55 +-------------------------------------------- 3 files changed, 1 insertion(+), 60 deletions(-) diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index fbff127e9..a653bcc00 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -307,9 +307,6 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & computationMode = CPFEM_CALCRESULTS ! always calc if (lastLovl /= lovl) then - if (.not. terminallyIll) & - call debug_info() ! first reports (meaningful) debugging - call debug_reset() ! and resets debugging outdatedFFN1 = .false. cycleCounter = cycleCounter + 1 !mesh_cellnode = mesh_build_cellnodes() ! update cell node coordinates diff --git a/src/crystallite.f90 b/src/crystallite.f90 index c9fef3a51..14b624b0a 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -276,9 +276,6 @@ subroutine crystallite_init write(6,'(a42,1x,i10)') 'max # of constituents/integration point: ', cMax flush(6) endif - - call debug_info - call debug_reset #endif end subroutine crystallite_init diff --git a/src/debug.f90 b/src/debug.f90 index a0947c410..7564c3037 100644 --- a/src/debug.f90 +++ b/src/debug.f90 @@ -49,26 +49,11 @@ module debug debug_i = 1, & debug_g = 1 - integer, dimension(2), public :: & - debug_stressMaxLocation = 0, & - debug_stressMinLocation = 0, & - debug_jacobianMaxLocation = 0, & - debug_jacobianMinLocation = 0 - - - real(pReal), public :: & - debug_stressMax = -huge(1.0_pReal), & - debug_stressMin = huge(1.0_pReal), & - debug_jacobianMax = -huge(1.0_pReal), & - debug_jacobianMin = huge(1.0_pReal) - #ifdef PETSc character(len=1024), parameter, public :: & PETSCDEBUG = ' -snes_view -snes_monitor ' #endif - public :: debug_init, & - debug_reset, & - debug_info + public :: debug_init contains @@ -230,42 +215,4 @@ subroutine debug_init end subroutine debug_init - -!-------------------------------------------------------------------------------------------------- -!> @brief resets all debug values -!-------------------------------------------------------------------------------------------------- -subroutine debug_reset - - debug_stressMaxLocation = 0 - debug_stressMinLocation = 0 - debug_jacobianMaxLocation = 0 - debug_jacobianMinLocation = 0 - debug_stressMax = -huge(1.0_pReal) - debug_stressMin = huge(1.0_pReal) - debug_jacobianMax = -huge(1.0_pReal) - debug_jacobianMin = huge(1.0_pReal) - -end subroutine debug_reset - - -!-------------------------------------------------------------------------------------------------- -!> @brief writes debug statements to standard out -!-------------------------------------------------------------------------------------------------- -subroutine debug_info - - !$OMP CRITICAL (write2out) - debugOutputCPFEM: if (iand(debug_level(debug_CPFEM),debug_LEVELBASIC) /= 0 & - .and. any(debug_stressMinLocation /= 0) & - .and. any(debug_stressMaxLocation /= 0) ) then - write(6,'(2/,a,/)') ' Extreme values of returned stress and Jacobian' - write(6,'(a39)') ' value el ip' - write(6,'(a14,1x,e12.3,1x,i8,1x,i4)') ' stress min :', debug_stressMin, debug_stressMinLocation - write(6,'(a14,1x,e12.3,1x,i8,1x,i4)') ' max :', debug_stressMax, debug_stressMaxLocation - write(6,'(a14,1x,e12.3,1x,i8,1x,i4)') ' Jacobian min :', debug_jacobianMin, debug_jacobianMinLocation - write(6,'(a14,1x,e12.3,1x,i8,1x,i4,/)') ' max :', debug_jacobianMax, debug_jacobianMaxLocation - endif debugOutputCPFEM - !$OMP END CRITICAL (write2out) - -end subroutine debug_info - end module debug From e5c9380bac2be818b6886f01a006def560b7a7bc Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 11 Jun 2020 08:51:17 +0200 Subject: [PATCH 179/958] cleaning --- src/CPFEM.f90 | 12 ++++-------- src/DAMASK_marc.f90 | 10 +--------- src/marc/discretization_marc.f90 | 10 ++-------- 3 files changed, 7 insertions(+), 25 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 7ab6a2ece..5acfa9aa1 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -43,7 +43,6 @@ module CPFEM theTime = 0.0_pReal, & !< needs description theDelta = 0.0_pReal logical, public :: & - outdatedFFN1 = .false., & !< needs description lastIncConverged = .false., & !< needs description outdatedByNewInc = .false. !< needs description @@ -68,12 +67,9 @@ contains !-------------------------------------------------------------------------------------------------- -!> @brief call (thread safe) all module initializations +!> @brief call all module initializations !-------------------------------------------------------------------------------------------------- -subroutine CPFEM_initAll(el,ip) - - integer(pInt), intent(in) :: el, & !< FE el number - ip !< FE integration point number +subroutine CPFEM_initAll CPFEM_init_done = .true. call DAMASK_interface_init @@ -88,7 +84,7 @@ subroutine CPFEM_initAll(el,ip) call YAML_init call HDF5_utilities_init call results_init(.false.) - call discretization_marc_init(ip, el) + call discretization_marc_init call lattice_init call material_init(.false.) call constitutive_init @@ -187,7 +183,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS if (iand(mode, CPFEM_CALCRESULTS) /= 0_pInt) then !*** deformation gradient outdated or any actual deformation gradient differs more than relevantStrain from the stored one - validCalculation: if (terminallyIll .or. outdatedFFN1) then + validCalculation: if (terminallyIll) then call random_number(rnd) if (rnd < 0.5_pReal) rnd = rnd - 1.0_pReal CPFEM_cs(1:6,ip,elCP) = ODD_STRESS * rnd diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index a653bcc00..6de01273d 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -43,9 +43,6 @@ module DAMASK_interface logical, protected, public :: symmetricSolver character(len=*), parameter, public :: INPUTFILEEXTENSION = '.dat' - logical, dimension(:,:), public, allocatable :: & - calcMode !< calculate or collect (ping pong scheme) - public :: & DAMASK_interface_init, & getSolverJobName @@ -263,7 +260,7 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & !$ defaultNumThreadsInt = omp_get_num_threads() ! remember number of threads set by Marc !$ call omp_set_num_threads(1) ! set number of threads for parallel execution set by DAMASK_NUM_THREADS - if (.not. CPFEM_init_done) call CPFEM_initAll(m(1),nn) + if (.not. CPFEM_init_done) call CPFEM_initAll computationMode = 0 ! save initialization value, since it does not result in any calculation if (lovl == 4 ) then ! jacobian requested by marc @@ -277,20 +274,17 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & if (inc == 0) then ! >> start of analysis << lastIncConverged = .false. ! no Jacobian backup outdatedByNewInc = .false. ! no aging of state - calcMode = .false. ! pretend last step was collection lastLovl = lovl ! pretend that this is NOT the first after a lovl change write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> start of analysis..! ',m(1),nn flush(6) else if (inc - theInc > 1) then ! >> restart of broken analysis << lastIncConverged = .false. ! no Jacobian backup outdatedByNewInc = .false. ! no aging of state - calcMode = .true. ! pretend last step was calculation write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> restart of analysis..! ',m(1),nn flush(6) else ! >> just the next inc << lastIncConverged = .true. ! request Jacobian backup outdatedByNewInc = .true. ! request aging of state - calcMode = .true. ! assure last step was calculation write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> new increment..! ',m(1),nn flush(6) endif @@ -299,7 +293,6 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & outdatedByNewInc = .false. ! no aging of state terminallyIll = .false. cycleCounter = -1 ! first calc step increments this to cycle = 0 - calcMode = .true. ! pretend last step was calculation write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> cutback detected..! ',m(1),nn flush(6) endif ! convergence treatment end @@ -307,7 +300,6 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & computationMode = CPFEM_CALCRESULTS ! always calc if (lastLovl /= lovl) then - outdatedFFN1 = .false. cycleCounter = cycleCounter + 1 !mesh_cellnode = mesh_build_cellnodes() ! update cell node coordinates !call mesh_build_ipCoordinates() ! update ip coordinates diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index 0221ad693..d1026d568 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -45,10 +45,8 @@ contains !> @brief initializes the mesh by calling all necessary private routines the mesh module !! Order and routines strongly depend on type of solver !-------------------------------------------------------------------------------------------------- -subroutine discretization_marc_init(ip,el) +subroutine discretization_marc_init - integer, intent(in) :: el, ip - real(pReal), dimension(:,:), allocatable :: & node0_elem, & !< node x,y,z coordinates (initially!) node0_cell @@ -70,7 +68,7 @@ subroutine discretization_marc_init(ip,el) real(pReal), dimension(:,:,:,:),allocatable :: & unscaledNormals - write(6,'(/,a)') ' <<<+- mesh init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- discretization_marc init -+>>>'; flush(6) mesh_unitlength = numerics_unitlength ! set physical extent of a length unit in mesh @@ -83,10 +81,6 @@ subroutine discretization_marc_init(ip,el) FEsolving_execElem = [1,nElems] FEsolving_execIP = [1,elem%nIPs] - allocate(calcMode(elem%nIPs,nElems),source=.false.) ! pretend to have collected what first call is asking (F = I) - calcMode(ip,mesh_FEM2DAMASK_elem(el)) = .true. ! first ip,el needs to be already pingponged to "calc" - - allocate(cellNodeDefinition(elem%nNodes-1)) allocate(connectivity_cell(elem%NcellNodesPerCell,elem%nIPs,nElems)) call buildCells(connectivity_cell,cellNodeDefinition,& From 0e11d6f0498fef6ba200dd3d54112a44dbdf9bc3 Mon Sep 17 00:00:00 2001 From: Test User Date: Sun, 14 Jun 2020 15:51:48 +0200 Subject: [PATCH 180/958] [skip ci] updated version information after successful test of v2.0.3-2654-g5c544a6e --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 08fd9e952..4a0b49cc6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2650-g512e54a7 +v2.0.3-2654-g5c544a6e From 7a74a9ed1074ddf953cff750bf04c2cdff5a3e0a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 15 Jun 2020 15:31:09 +0200 Subject: [PATCH 181/958] cleaning for release --- PRIVATE | 2 +- .../addAPS34IDEstrainCoords.py | 0 processing/{post => legacy}/addCumulative.py | 0 processing/{post => legacy}/addEhkl.py | 0 processing/post/binXY.py | 143 ------------------ 5 files changed, 1 insertion(+), 144 deletions(-) rename processing/{post => legacy}/addAPS34IDEstrainCoords.py (100%) rename processing/{post => legacy}/addCumulative.py (100%) rename processing/{post => legacy}/addEhkl.py (100%) delete mode 100755 processing/post/binXY.py diff --git a/PRIVATE b/PRIVATE index a6109acd2..8318aa6b9 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit a6109acd264c683fd335b1d1f69934fc4a4078e3 +Subproject commit 8318aa6b9b1ef2c59c1f6fa946ede92640baf93c diff --git a/processing/post/addAPS34IDEstrainCoords.py b/processing/legacy/addAPS34IDEstrainCoords.py similarity index 100% rename from processing/post/addAPS34IDEstrainCoords.py rename to processing/legacy/addAPS34IDEstrainCoords.py diff --git a/processing/post/addCumulative.py b/processing/legacy/addCumulative.py similarity index 100% rename from processing/post/addCumulative.py rename to processing/legacy/addCumulative.py diff --git a/processing/post/addEhkl.py b/processing/legacy/addEhkl.py similarity index 100% rename from processing/post/addEhkl.py rename to processing/legacy/addEhkl.py diff --git a/processing/post/binXY.py b/processing/post/binXY.py deleted file mode 100755 index 860b70027..000000000 --- a/processing/post/binXY.py +++ /dev/null @@ -1,143 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Produces a binned grid of two columns from an ASCIItable, i.e. a two-dimensional probability density map. - -""", version = scriptID) - -parser.add_option('-d','--data', - dest = 'data', - type = 'string', nargs = 2, metavar = 'string string', - help = 'column labels containing x and y ') -parser.add_option('-w','--weight', - dest = 'weight', - type = 'string', metavar = 'string', - help = 'column label containing weight of (x,y) point') -parser.add_option('-b','--bins', - dest = 'bins', - type = 'int', nargs = 2, metavar = 'int int', - help = 'number of bins in x and y direction [%default]') -parser.add_option('-t','--type', - dest = 'type', - type = 'string', nargs = 3, metavar = 'string string string', - help = 'type (linear/log) of x, y, and z axis [%default]') -parser.add_option('-x','--xrange', - dest = 'xrange', - type = 'float', nargs = 2, metavar = 'float float', - help = 'min max limits in x direction (optional)') -parser.add_option('-y','--yrange', - dest = 'yrange', - type = 'float', nargs = 2, metavar = 'float float', - help = 'min max limits in y direction (optional)') -parser.add_option('-z','--zrange', - dest = 'zrange', - type = 'float', nargs = 2, metavar = 'float float', - help = 'min max limits in z direction (optional)') -parser.add_option('-i','--invert', - dest = 'invert', - action = 'store_true', - help = 'invert probability density') -parser.add_option('-r','--rownormalize', - dest = 'normRow', - action = 'store_true', - help = 'normalize probability density in each row') -parser.add_option('-c','--colnormalize', - dest = 'normCol', - action = 'store_true', - help = 'normalize probability density in each column') - -parser.set_defaults(bins = (10,10), - type = ('linear','linear','linear'), - xrange = (0.0,0.0), - yrange = (0.0,0.0), - zrange = (0.0,0.0), - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -minmax = np.array([options.xrange,options.yrange,options.zrange]) -result = np.empty((options.bins[0],options.bins[1],3),'f') - -if options.data is None: parser.error('no data columns specified.') - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - data = np.hstack((table.get(options.data[0]),table.get(options.data[1]))) - - for c in (0,1): # check data minmax for x and y (i = 0 and 1) - if (minmax[c] == 0.0).all(): minmax[c] = [data[:,c].min(),data[:,c].max()] - if options.type[c].lower() == 'log': # if log scale - data[:,c] = np.log(data[:,c]) # change x,y coordinates to log - minmax[c] = np.log(minmax[c]) # change minmax to log, too - - delta = minmax[:,1]-minmax[:,0] - (grid,xedges,yedges) = np.histogram2d(data[:,0],data[:,1], - bins=options.bins, - range=minmax[:2], - weights=table.get(options.weight) if options.weight else None) - if options.normCol: - for x in range(options.bins[0]): - sum = np.sum(grid[x,:]) - if sum > 0.0: - grid[x,:] /= sum - if options.normRow: - for y in range(options.bins[1]): - sum = np.sum(grid[:,y]) - if sum > 0.0: - grid[:,y] /= sum - - if (minmax[2] == 0.0).all(): minmax[2] = [grid.min(),grid.max()] # auto scale from data - if minmax[2,0] == minmax[2,1]: - minmax[2,0] -= 1. - minmax[2,1] += 1. - if (minmax[2] == 0.0).all(): # no data in grid? - damask.util.croak('no data found on grid...') - minmax[2,:] = np.array([0.0,1.0]) # making up arbitrary z minmax - if options.type[2].lower() == 'log': - grid = np.log(grid) - minmax[2] = np.log(minmax[2]) - - delta[2] = minmax[2,1]-minmax[2,0] - - for x in range(options.bins[0]): - for y in range(options.bins[1]): - result[x,y,:] = [minmax[0,0]+delta[0]/options.bins[0]*(x+0.5), - minmax[1,0]+delta[1]/options.bins[1]*(y+0.5), - np.clip((grid[x,y]-minmax[2,0])/delta[2],0.0,1.0)] - - for c in (0,1): - if options.type[c].lower() == 'log': result[:,:,c] = np.exp(result[:,:,c]) - - if options.invert: result[:,:,2] = 1.0 - result[:,:,2] - - comments = scriptID + '\t' + ' '.join(sys.argv[1:]) - shapes = {'bin_%s'%options.data[0]:(1,),'bin_%s'%options.data[1]:(1,),'z':(1,)} - table = damask.Table(result.reshape(options.bins[0]*options.bins[1],3),shapes,[comments]) - if name: - outname = os.path.join(os.path.dirname(name),'binned-{}-{}_'.format(*options.data) + - ('weighted-{}_'.format(options.weight) if options.weight else '') + - os.path.basename(name)) - table.to_ASCII(outname) - else: - table.to_ASCII(sys.stdout) From e952ab71278602a9215b6afe7bf2f3b405aa0ed4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 15 Jun 2020 23:12:49 +0200 Subject: [PATCH 182/958] bugfix do not access unitinialized memory --- src/homogenization.f90 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 62150899e..4fdded94e 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -249,7 +249,8 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) NiterationHomog = 0 cutBackLooping: do while (.not. terminallyIll .and. & - any(subStep(:,FEsolving_execELem(1):FEsolving_execElem(2)) > num%subStepMinHomog)) + any(subStep(FEsolving_execIP(1):FEsolving_execIP(2),& + FEsolving_execElem(1):FEsolving_execElem(2)) > num%subStepMinHomog)) !$OMP PARALLEL DO PRIVATE(myNgrains) elementLooping1: do e = FEsolving_execElem(1),FEsolving_execElem(2) From 0a9902818c8a3731a81647a152493c57850a7998 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 16 Jun 2020 06:34:12 +0200 Subject: [PATCH 183/958] polishing --- src/DAMASK_marc.f90 | 272 ++++++++++++++++++++++---------------------- 1 file changed, 134 insertions(+), 138 deletions(-) diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index 6de01273d..5349608c9 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -172,62 +172,62 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & dispt,coord,ffn,frotn,strechn,eigvn,ffn1,frotn1, & strechn1,eigvn1,ncrd,itel,ndeg,ndm,nnode, & jtype,lclass,ifr,ifu) - use prec - use DAMASK_interface - use numerics - use FEsolving - use debug - use discretization_marc - use homogenization - use CPFEM + use prec + use DAMASK_interface + use numerics + use FEsolving + use debug + use discretization_marc + use homogenization + use CPFEM - implicit none -!$ include "omp_lib.h" ! the openMP function library - integer, intent(in) :: & ! according to MSC.Marc 2012 Manual D - ngens, & !< size of stress-strain law - nn, & !< integration point number - ndi, & !< number of direct components - nshear, & !< number of shear components - ncrd, & !< number of coordinates - itel, & !< dimension of F and R, either 2 or 3 - ndeg, & !< number of degrees of freedom - ndm, & !< not specified in MSC.Marc 2012 Manual D - nnode, & !< number of nodes per element - jtype, & !< element type - ifr, & !< set to 1 if R has been calculated - ifu !< set to 1 if stretch has been calculated - integer, dimension(2), intent(in) :: & ! according to MSC.Marc 2012 Manual D - m, & !< (1) user element number, (2) internal element number - matus, & !< (1) user material identification number, (2) internal material identification number - kcus, & !< (1) layer number, (2) internal layer number - lclass !< (1) element class, (2) 0: displacement, 1: low order Herrmann, 2: high order Herrmann - real(pReal), dimension(*), intent(in) :: & ! has dimension(1) according to MSC.Marc 2012 Manual D, but according to example hypela2.f dimension(*) - e, & !< total elastic strain - de, & !< increment of strain - dt !< increment of state variables - real(pReal), dimension(itel), intent(in) :: & ! according to MSC.Marc 2012 Manual D - strechn, & !< square of principal stretch ratios, lambda(i) at t=n - strechn1 !< square of principal stretch ratios, lambda(i) at t=n+1 - real(pReal), dimension(3,3), intent(in) :: & ! has dimension(itel,*) according to MSC.Marc 2012 Manual D, but we alway assume dimension(3,3) - ffn, & !< deformation gradient at t=n - ffn1 !< deformation gradient at t=n+1 - real(pReal), dimension(itel,*), intent(in) :: & ! according to MSC.Marc 2012 Manual D - frotn, & !< rotation tensor at t=n - eigvn, & !< i principal direction components for j eigenvalues at t=n - frotn1, & !< rotation tensor at t=n+1 - eigvn1 !< i principal direction components for j eigenvalues at t=n+1 - real(pReal), dimension(ndeg,*), intent(in) :: & ! according to MSC.Marc 2012 Manual D - disp, & !< incremental displacements - dispt !< displacements at t=n (at assembly, lovl=4) and displacements at t=n+1 (at stress recovery, lovl=6) - real(pReal), dimension(ncrd,*), intent(in) :: & ! according to MSC.Marc 2012 Manual D - coord !< coordinates - real(pReal), dimension(*), intent(inout) :: & ! according to MSC.Marc 2012 Manual D - t !< state variables (comes in at t=n, must be updated to have state variables at t=n+1) - real(pReal), dimension(ndi+nshear), intent(out) :: & ! has dimension(*) according to MSC.Marc 2012 Manual D, but we need to loop over it - s, & !< stress - should be updated by user - g !< change in stress due to temperature effects - real(pReal), dimension(ngens,ngens), intent(out) :: & ! according to MSC.Marc 2012 Manual D, but according to example hypela2.f dimension(ngens,*) - d !< stress-strain law to be formed + implicit none + include "omp_lib.h" ! the openMP function library + integer, intent(in) :: & ! according to MSC.Marc 2012 Manual D + ngens, & !< size of stress-strain law + nn, & !< integration point number + ndi, & !< number of direct components + nshear, & !< number of shear components + ncrd, & !< number of coordinates + itel, & !< dimension of F and R, either 2 or 3 + ndeg, & !< number of degrees of freedom + ndm, & !< not specified in MSC.Marc 2012 Manual D + nnode, & !< number of nodes per element + jtype, & !< element type + ifr, & !< set to 1 if R has been calculated + ifu !< set to 1 if stretch has been calculated + integer, dimension(2), intent(in) :: & ! according to MSC.Marc 2012 Manual D + m, & !< (1) user element number, (2) internal element number + matus, & !< (1) user material identification number, (2) internal material identification number + kcus, & !< (1) layer number, (2) internal layer number + lclass !< (1) element class, (2) 0: displacement, 1: low order Herrmann, 2: high order Herrmann + real(pReal), dimension(*), intent(in) :: & ! has dimension(1) according to MSC.Marc 2012 Manual D, but according to example hypela2.f dimension(*) + e, & !< total elastic strain + de, & !< increment of strain + dt !< increment of state variables + real(pReal), dimension(itel), intent(in) :: & ! according to MSC.Marc 2012 Manual D + strechn, & !< square of principal stretch ratios, lambda(i) at t=n + strechn1 !< square of principal stretch ratios, lambda(i) at t=n+1 + real(pReal), dimension(3,3), intent(in) :: & ! has dimension(itel,*) according to MSC.Marc 2012 Manual D, but we alway assume dimension(3,3) + ffn, & !< deformation gradient at t=n + ffn1 !< deformation gradient at t=n+1 + real(pReal), dimension(itel,*), intent(in) :: & ! according to MSC.Marc 2012 Manual D + frotn, & !< rotation tensor at t=n + eigvn, & !< i principal direction components for j eigenvalues at t=n + frotn1, & !< rotation tensor at t=n+1 + eigvn1 !< i principal direction components for j eigenvalues at t=n+1 + real(pReal), dimension(ndeg,*), intent(in) :: & ! according to MSC.Marc 2012 Manual D + disp, & !< incremental displacements + dispt !< displacements at t=n (at assembly, lovl=4) and displacements at t=n+1 (at stress recovery, lovl=6) + real(pReal), dimension(ncrd,*), intent(in) :: & ! according to MSC.Marc 2012 Manual D + coord !< coordinates + real(pReal), dimension(*), intent(inout) :: & ! according to MSC.Marc 2012 Manual D + t !< state variables (comes in at t=n, must be updated to have state variables at t=n+1) + real(pReal), dimension(ndi+nshear), intent(out) :: & ! has dimension(*) according to MSC.Marc 2012 Manual D, but we need to loop over it + s, & !< stress - should be updated by user + g !< change in stress due to temperature effects + real(pReal), dimension(ngens,ngens), intent(out) :: & ! according to MSC.Marc 2012 Manual D, but according to example hypela2.f dimension(ngens,*) + d !< stress-strain law to be formed !-------------------------------------------------------------------------------------------------- ! Marc common blocks are in fixed format so they have to be reformated to free format (f90) @@ -236,98 +236,94 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & #include QUOTE(PASTE(./marc/include/concom,Marc4DAMASK)) ! concom is needed for inc, lovl #include QUOTE(PASTE(./marc/include/creeps,Marc4DAMASK)) ! creeps is needed for timinc (time increment) - logical :: cutBack - real(pReal), dimension(6) :: stress - real(pReal), dimension(6,6) :: ddsdde - integer :: computationMode, i, cp_en, node, CPnodeID - !$ integer(4) :: defaultNumThreadsInt !< default value set by Marc + logical :: cutBack + real(pReal), dimension(6) :: stress + real(pReal), dimension(6,6) :: ddsdde + integer :: computationMode, i, cp_en, node, CPnodeID + integer(4) :: defaultNumThreadsInt !< default value set by Marc + + if (iand(debug_level(debug_MARC),debug_LEVELBASIC) /= 0) then + write(6,'(a,/,i8,i8,i2)') ' MSC.MARC information on shape of element(2), IP:', m, nn + write(6,'(a,2(i1))') ' Jacobian: ', ngens,ngens + write(6,'(a,i1)') ' Direct stress: ', ndi + write(6,'(a,i1)') ' Shear stress: ', nshear + write(6,'(a,i2)') ' DoF: ', ndeg + write(6,'(a,i2)') ' Coordinates: ', ncrd + write(6,'(a,i12)') ' Nodes: ', nnode + write(6,'(a,i1)') ' Deformation gradient: ', itel + write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') ' Deformation gradient at t=n:', & + transpose(ffn) + write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') ' Deformation gradient at t=n+1:', & + transpose(ffn1) + endif - if (iand(debug_level(debug_MARC),debug_LEVELBASIC) /= 0) then - write(6,'(a,/,i8,i8,i2)') ' MSC.MARC information on shape of element(2), IP:', m, nn - write(6,'(a,2(i1))') ' Jacobian: ', ngens,ngens - write(6,'(a,i1)') ' Direct stress: ', ndi - write(6,'(a,i1)') ' Shear stress: ', nshear - write(6,'(a,i2)') ' DoF: ', ndeg - write(6,'(a,i2)') ' Coordinates: ', ncrd - write(6,'(a,i12)') ' Nodes: ', nnode - write(6,'(a,i1)') ' Deformation gradient: ', itel - write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') ' Deformation gradient at t=n:', & - transpose(ffn) - write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') ' Deformation gradient at t=n+1:', & - transpose(ffn1) - endif + defaultNumThreadsInt = omp_get_num_threads() ! remember number of threads set by Marc + call omp_set_num_threads(1) ! no openMP - !$ defaultNumThreadsInt = omp_get_num_threads() ! remember number of threads set by Marc - !$ call omp_set_num_threads(1) ! set number of threads for parallel execution set by DAMASK_NUM_THREADS + if (.not. CPFEM_init_done) call CPFEM_initAll - if (.not. CPFEM_init_done) call CPFEM_initAll + computationMode = 0 ! save initialization value, since it does not result in any calculation + if (lovl == 4 ) then ! jacobian requested by marc + if (timinc < theDelta .and. theInc == inc .and. lastLovl /= lovl) & ! first after cutback + computationMode = CPFEM_RESTOREJACOBIAN + elseif (lovl == 6) then ! stress requested by marc + computationMode = CPFEM_CALCRESULTS ! always calc + cp_en = mesh_FEM2DAMASK_elem(m(1)) + if (cptim > theTime .or. inc /= theInc) then ! reached "convergence" + terminallyIll = .false. + cycleCounter = -1 ! first calc step increments this to cycle = 0 + if (inc == 0) then ! >> start of analysis << + lastIncConverged = .false. + outdatedByNewInc = .false. + lastLovl = lovl ! pretend that this is NOT the first after a lovl change + write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> start of analysis..! ',m(1),nn + else if (inc - theInc > 1) then ! >> restart of broken analysis << + lastIncConverged = .false. + outdatedByNewInc = .false. + write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> restart of analysis..! ',m(1),nn + else ! >> just the next inc << + lastIncConverged = .true. + outdatedByNewInc = .true. + write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> new increment..! ',m(1),nn + endif + else if ( timinc < theDelta ) then ! >> cutBack << + lastIncConverged = .false. + outdatedByNewInc = .false. + terminallyIll = .false. + cycleCounter = -1 ! first calc step increments this to cycle = 0 + write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> cutback detected..! ',m(1),nn + endif ! convergence treatment end + flush(6) - computationMode = 0 ! save initialization value, since it does not result in any calculation - if (lovl == 4 ) then ! jacobian requested by marc - if (timinc < theDelta .and. theInc == inc .and. lastLovl /= lovl) & ! first after cutback - computationMode = CPFEM_RESTOREJACOBIAN - elseif (lovl == 6) then ! stress requested by marc - cp_en = mesh_FEM2DAMASK_elem(m(1)) - if (cptim > theTime .or. inc /= theInc) then ! reached "convergence" - terminallyIll = .false. - cycleCounter = -1 ! first calc step increments this to cycle = 0 - if (inc == 0) then ! >> start of analysis << - lastIncConverged = .false. ! no Jacobian backup - outdatedByNewInc = .false. ! no aging of state - lastLovl = lovl ! pretend that this is NOT the first after a lovl change - write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> start of analysis..! ',m(1),nn - flush(6) - else if (inc - theInc > 1) then ! >> restart of broken analysis << - lastIncConverged = .false. ! no Jacobian backup - outdatedByNewInc = .false. ! no aging of state - write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> restart of analysis..! ',m(1),nn - flush(6) - else ! >> just the next inc << - lastIncConverged = .true. ! request Jacobian backup - outdatedByNewInc = .true. ! request aging of state - write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> new increment..! ',m(1),nn - flush(6) - endif - else if ( timinc < theDelta ) then ! >> cutBack << - lastIncConverged = .false. ! no Jacobian backup - outdatedByNewInc = .false. ! no aging of state - terminallyIll = .false. - cycleCounter = -1 ! first calc step increments this to cycle = 0 - write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> cutback detected..! ',m(1),nn - flush(6) - endif ! convergence treatment end + if (lastLovl /= lovl) then + cycleCounter = cycleCounter + 1 + !mesh_cellnode = mesh_build_cellnodes() ! update cell node coordinates + !call mesh_build_ipCoordinates() ! update ip coordinates + endif + if (outdatedByNewInc) then + computationMode = ior(computationMode,CPFEM_AGERESULTS) + outdatedByNewInc = .false. + endif + if (lastIncConverged) then + computationMode = ior(computationMode,CPFEM_BACKUPJACOBIAN) + lastIncConverged = .false. + endif + theTime = cptim + theDelta = timinc + theInc = inc - computationMode = CPFEM_CALCRESULTS ! always calc - if (lastLovl /= lovl) then - cycleCounter = cycleCounter + 1 - !mesh_cellnode = mesh_build_cellnodes() ! update cell node coordinates - !call mesh_build_ipCoordinates() ! update ip coordinates - endif - if (outdatedByNewInc) then - computationMode = ior(computationMode,CPFEM_AGERESULTS) - outdatedByNewInc = .false. ! reset flag - endif - if (lastIncConverged) then - computationMode = ior(computationMode,CPFEM_BACKUPJACOBIAN) ! backup Jacobian after convergence - lastIncConverged = .false. ! reset flag - endif + endif + lastLovl = lovl - theTime = cptim ! record current starting time - theDelta = timinc ! record current time increment - theInc = inc ! record current increment number + call CPFEM_general(computationMode,ffn,ffn1,t(1),timinc,m(1),nn,stress,ddsdde) - endif - lastLovl = lovl ! record lovl + d = ddsdde(1:ngens,1:ngens) + s = stress(1:ndi+nshear) + g = 0.0_pReal + if(symmetricSolver) d = 0.5_pReal*(d+transpose(d)) - call CPFEM_general(computationMode,ffn,ffn1,t(1),timinc,m(1),nn,stress,ddsdde) - - d = ddsdde(1:ngens,1:ngens) - s = stress(1:ndi+nshear) - g = 0.0_pReal - if(symmetricSolver) d = 0.5_pReal*(d+transpose(d)) - - !$ call omp_set_num_threads(defaultNumThreadsInt) ! reset number of threads to stored default value + call omp_set_num_threads(defaultNumThreadsInt) ! reset number of threads to stored default value end subroutine hypela2 From 54aa5a67ff57ca7db298d06441226dcb3a08810f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 16 Jun 2020 06:41:53 +0200 Subject: [PATCH 184/958] polishing --- src/CPFEM.f90 | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 5acfa9aa1..8c53eb9a4 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -48,15 +48,12 @@ module CPFEM logical, public, protected :: & CPFEM_init_done = .false. !< remember whether init has been done already - logical, private :: & - CPFEM_calc_done = .false. !< remember whether first ip has already calced the results integer(pInt), parameter, public :: & - CPFEM_COLLECT = 2_pInt**0_pInt, & - CPFEM_CALCRESULTS = 2_pInt**1_pInt, & - CPFEM_AGERESULTS = 2_pInt**2_pInt, & - CPFEM_BACKUPJACOBIAN = 2_pInt**3_pInt, & - CPFEM_RESTOREJACOBIAN = 2_pInt**4_pInt + CPFEM_CALCRESULTS = 2_pInt**0_pInt, & + CPFEM_AGERESULTS = 2_pInt**1_pInt, & + CPFEM_BACKUPJACOBIAN = 2_pInt**2_pInt, & + CPFEM_RESTOREJACOBIAN = 2_pInt**3_pInt public :: & CPFEM_general, & @@ -134,7 +131,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS real(pReal) J_inverse, & ! inverse of Jacobian rnd - real(pReal), dimension (3,3) :: Kirchhoff ! Piola-Kirchhoff stress + real(pReal), dimension (3,3) :: Kirchhoff ! Piola-Kirchhoff stress real(pReal), dimension (3,3,3,3) :: H_sym, & H @@ -142,8 +139,8 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS i, j, k, l, m, n, ph, homog, mySource logical updateJaco ! flag indicating if Jacobian has to be updated - real(pReal), parameter :: ODD_STRESS = 1e15_pReal, & !< return value for stress in case of ping pong dummy cycle - ODD_JACOBIAN = 1e50_pReal !< return value for jacobian in case of ping pong dummy cycle + real(pReal), parameter :: ODD_STRESS = 1e15_pReal, & !< return value for stress if terminallyIll + ODD_JACOBIAN = 1e50_pReal !< return value for jacobian if terminallyIll elCP = mesh_FEM2DAMASK_elem(elFE) @@ -167,10 +164,8 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS if (iand(mode, CPFEM_RESTOREJACOBIAN) /= 0_pInt) & CPFEM_dcsde = CPFEM_dcsde_knownGood - !*** age results if (iand(mode, CPFEM_AGERESULTS) /= 0_pInt) call CPFEM_forward - chosenThermal1: select case (thermal_type(material_homogenizationAt(elCP))) case (THERMAL_conduction_ID) chosenThermal1 temperature(material_homogenizationAt(elCP))%p(thermalMapping(material_homogenizationAt(elCP))%p(ip,elCP)) = & @@ -179,26 +174,22 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS materialpoint_F0(1:3,1:3,ip,elCP) = ffn materialpoint_F(1:3,1:3,ip,elCP) = ffn1 - !*** calculation of stress and jacobian if (iand(mode, CPFEM_CALCRESULTS) /= 0_pInt) then - !*** deformation gradient outdated or any actual deformation gradient differs more than relevantStrain from the stored one validCalculation: if (terminallyIll) then call random_number(rnd) if (rnd < 0.5_pReal) rnd = rnd - 1.0_pReal CPFEM_cs(1:6,ip,elCP) = ODD_STRESS * rnd CPFEM_dcsde(1:6,1:6,ip,elCP) = ODD_JACOBIAN * math_identity2nd(6) - !*** deformation gradient is not outdated else validCalculation updateJaco = mod(cycleCounter,iJacoStiffness) == 0 - FEsolving_execElem = elCP - FEsolving_execIP = ip - if (iand(debug_level(debug_CPFEM), debug_levelExtensive) /= 0_pInt) & - write(6,'(a,i8,1x,i2)') '<< CPFEM >> calculation for elFE ip ',elFE,ip - call materialpoint_stressAndItsTangent(updateJaco, dt) + FEsolving_execElem = elCP + FEsolving_execIP = ip + if (iand(debug_level(debug_CPFEM), debug_levelExtensive) /= 0_pInt) & + write(6,'(a,i8,1x,i2)') '<< CPFEM >> calculation for elFE ip ',elFE,ip + call materialpoint_stressAndItsTangent(updateJaco, dt) - !* map stress and stiffness (or return odd values if terminally ill) terminalIllness: if (terminallyIll) then call random_number(rnd) @@ -208,7 +199,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS else terminalIllness - ! translate from P to CS + ! translate from P to sigma Kirchhoff = matmul(materialpoint_P(1:3,1:3,ip,elCP), transpose(materialpoint_F(1:3,1:3,ip,elCP))) J_inverse = 1.0_pReal / math_det33(materialpoint_F(1:3,1:3,ip,elCP)) CPFEM_cs(1:6,ip,elCP) = math_sym33to6(J_inverse * Kirchhoff,weighted=.false.) @@ -232,7 +223,6 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS endif terminalIllness endif validCalculation - !* report stress and stiffness if ((iand(debug_level(debug_CPFEM), debug_levelExtensive) /= 0_pInt) & .and. ((debug_e == elCP .and. debug_i == ip) & .or. .not. iand(debug_level(debug_CPFEM), debug_levelSelective) /= 0_pInt)) then @@ -245,10 +235,8 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS endif - !*** warn if stiffness close to zero if (all(abs(CPFEM_dcsdE(1:6,1:6,ip,elCP)) < 1e-10_pReal)) call IO_warning(601,elCP,ip) - !*** copy to output if using commercial FEM solver cauchyStress = CPFEM_cs (1:6, ip,elCP) jacobian = CPFEM_dcsdE(1:6,1:6,ip,elCP) From 06f6e15123a674efce1b5b1c9d2f3adfa1c145f4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 16 Jun 2020 07:02:29 +0200 Subject: [PATCH 185/958] avoid public variables --- src/CPFEM.f90 | 18 ++---------------- src/DAMASK_marc.f90 | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 8c53eb9a4..d285a1e01 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -35,19 +35,9 @@ module CPFEM CPFEM_dcsdE !< Cauchy stress tangent real(pReal), dimension (:,:,:,:), allocatable, private :: & CPFEM_dcsdE_knownGood !< known good tangent - integer(pInt), public :: & - cycleCounter = 0_pInt, & !< needs description - theInc = -1_pInt, & !< needs description - lastLovl = 0_pInt !< lovl in previous call to marc hypela2 - real(pReal), public :: & - theTime = 0.0_pReal, & !< needs description - theDelta = 0.0_pReal - logical, public :: & - lastIncConverged = .false., & !< needs description - outdatedByNewInc = .false. !< needs description - logical, public, protected :: & - CPFEM_init_done = .false. !< remember whether init has been done already + integer(pInt), public :: & + cycleCounter = 0_pInt !< needs description integer(pInt), parameter, public :: & CPFEM_CALCRESULTS = 2_pInt**0_pInt, & @@ -68,7 +58,6 @@ contains !-------------------------------------------------------------------------------------------------- subroutine CPFEM_initAll - CPFEM_init_done = .true. call DAMASK_interface_init call prec_init call IO_init @@ -149,9 +138,6 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS write(6,'(/,a)') '#############################################' write(6,'(a1,a22,1x,i8,a13)') '#','element', elCP, '#' write(6,'(a1,a22,1x,i8,a13)') '#','ip', ip, '#' - write(6,'(a1,a22,1x,f15.7,a6)') '#','theTime', theTime, '#' - write(6,'(a1,a22,1x,f15.7,a6)') '#','theDelta', theDelta, '#' - write(6,'(a1,a22,1x,i8,a13)') '#','theInc', theInc, '#' write(6,'(a1,a22,1x,i8,a13)') '#','cycleCounter', cycleCounter, '#' write(6,'(a1,a22,1x,i8,a13)') '#','computationMode',mode, '#' if (terminallyIll) & diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index 5349608c9..efa054dbf 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -42,6 +42,7 @@ module DAMASK_interface logical, protected, public :: symmetricSolver character(len=*), parameter, public :: INPUTFILEEXTENSION = '.dat' + public :: & DAMASK_interface_init, & @@ -241,6 +242,17 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & real(pReal), dimension(6,6) :: ddsdde integer :: computationMode, i, cp_en, node, CPnodeID integer(4) :: defaultNumThreadsInt !< default value set by Marc + + integer(pInt), save :: & + theInc = -1_pInt, & !< needs description + lastLovl = 0_pInt !< lovl in previous call to marc hypela2 + real(pReal), save :: & + theTime = 0.0_pReal, & !< needs description + theDelta = 0.0_pReal + logical, save :: & + lastIncConverged = .false., & !< needs description + outdatedByNewInc = .false., & !< needs description + CPFEM_init_done = .false. !< remember whether init has been done already if (iand(debug_level(debug_MARC),debug_LEVELBASIC) /= 0) then write(6,'(a,/,i8,i8,i2)') ' MSC.MARC information on shape of element(2), IP:', m, nn @@ -260,14 +272,17 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & defaultNumThreadsInt = omp_get_num_threads() ! remember number of threads set by Marc call omp_set_num_threads(1) ! no openMP - if (.not. CPFEM_init_done) call CPFEM_initAll + if (.not. CPFEM_init_done) then + CPFEM_init_done = .true. + call CPFEM_initAll + endif computationMode = 0 ! save initialization value, since it does not result in any calculation if (lovl == 4 ) then ! jacobian requested by marc if (timinc < theDelta .and. theInc == inc .and. lastLovl /= lovl) & ! first after cutback computationMode = CPFEM_RESTOREJACOBIAN elseif (lovl == 6) then ! stress requested by marc - computationMode = CPFEM_CALCRESULTS ! always calc + computationMode = CPFEM_CALCRESULTS cp_en = mesh_FEM2DAMASK_elem(m(1)) if (cptim > theTime .or. inc /= theInc) then ! reached "convergence" terminallyIll = .false. From 753fbb70fd7401745f9a3259b5c124affd5e0df6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 16 Jun 2020 13:27:21 +0200 Subject: [PATCH 186/958] cleaning --- src/discretization.f90 | 2 +- src/mesh/discretization_mesh.f90 | 146 ++++++++++++++----------------- 2 files changed, 67 insertions(+), 81 deletions(-) diff --git a/src/discretization.f90 b/src/discretization.f90 index e9a987912..16f76b158 100644 --- a/src/discretization.f90 +++ b/src/discretization.f90 @@ -49,7 +49,7 @@ subroutine discretization_init(homogenizationAt,microstructureAt,& IPcoords0, & NodeCoords0 integer, optional, intent(in) :: & - sharedNodesBegin + sharedNodesBegin ! index of first node shared among different processes (MPI) write(6,'(/,a)') ' <<<+- discretization init -+>>>'; flush(6) diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index 0880de115..329205f77 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -8,53 +8,50 @@ module discretization_mesh #include #include #include - use PETScdmplex - use PETScdmda - use PETScis + use PETScdmplex + use PETScdmda + use PETScis - use DAMASK_interface - use IO - use debug - use discretization - use numerics - use FEsolving - use FEM_quadrature - use prec - - implicit none - private - - integer, public, protected :: & - mesh_Nboundaries, & - mesh_NcpElemsGlobal + use DAMASK_interface + use IO + use debug + use discretization + use numerics + use FEsolving + use FEM_quadrature + use prec - integer :: & - mesh_NcpElems !< total number of CP elements in mesh + implicit none + private + + integer, public, protected :: & + mesh_Nboundaries, & + mesh_NcpElemsGlobal + + integer :: & + mesh_NcpElems !< total number of CP elements in mesh !!!! BEGIN DEPRECATED !!!!! - integer, public, protected :: & - mesh_maxNips !< max number of IPs in any CP element + integer, public, protected :: & + mesh_maxNips !< max number of IPs in any CP element !!!! BEGIN DEPRECATED !!!!! - integer, dimension(:,:), allocatable :: & - mesh_element !DEPRECATED + real(pReal), dimension(:,:), allocatable :: & + mesh_ipVolume, & !< volume associated with IP (initially!) + mesh_node0 !< node x,y,z coordinates (initially!) - real(pReal), dimension(:,:), allocatable :: & - mesh_ipVolume, & !< volume associated with IP (initially!) - mesh_node0 !< node x,y,z coordinates (initially!) - - real(pReal), dimension(:,:,:), allocatable :: & - mesh_ipCoordinates !< IP x,y,z coordinates (after deformation!) + real(pReal), dimension(:,:,:), allocatable :: & + mesh_ipCoordinates !< IP x,y,z coordinates (after deformation!) - DM, public :: geomMesh - - PetscInt, dimension(:), allocatable, public, protected :: & - mesh_boundaries + DM, public :: geomMesh - public :: & - discretization_mesh_init, & - mesh_FEM_build_ipVolumes, & - mesh_FEM_build_ipCoordinates + PetscInt, dimension(:), allocatable, public, protected :: & + mesh_boundaries + + public :: & + discretization_mesh_init, & + mesh_FEM_build_ipVolumes, & + mesh_FEM_build_ipCoordinates contains @@ -67,39 +64,32 @@ subroutine discretization_mesh_init(restart) logical, intent(in) :: restart - integer, dimension(1), parameter:: FE_geomtype = [1] !< geometry type of particular element type - integer, dimension(1) :: FE_Nips !< number of IPs in a specific type of element - integer, allocatable, dimension(:) :: chunkPos integer :: dimPlex, & mesh_Nnodes, & !< total number of nodes in mesh j, l - integer, parameter :: & - mesh_ElemType=1 !< Element type of the mesh (only support homogeneous meshes) PetscSF :: sf DM :: globalMesh PetscInt :: nFaceSets PetscInt, pointer, dimension(:) :: pFaceSets character(len=pStringLen), dimension(:), allocatable :: fileContent - IS :: faceSetIS + IS :: faceSetIS PetscErrorCode :: ierr + integer, dimension(:,:), allocatable :: & + mesh_element + - write(6,'(/,a)') ' <<<+- mesh init -+>>>' - ! read in file call DMPlexCreateFromFile(PETSC_COMM_WORLD,geometryFile,PETSC_TRUE,globalMesh,ierr) CHKERRQ(ierr) - ! get spatial dimension (2 or 3?) call DMGetDimension(globalMesh,dimPlex,ierr) CHKERRQ(ierr) - write(6,*) 'dimension',dimPlex;flush(6) call DMGetStratumSize(globalMesh,'depth',dimPlex,mesh_NcpElemsGlobal,ierr) CHKERRQ(ierr) ! get number of IDs in face sets (for boundary conditions?) call DMGetLabelSize(globalMesh,'Face Sets',mesh_Nboundaries,ierr) CHKERRQ(ierr) - write(6,*) 'number of "Face Sets"',mesh_Nboundaries;flush(6) call MPI_Bcast(mesh_Nboundaries,1,MPI_INTEGER,0,PETSC_COMM_WORLD,ierr) call MPI_Bcast(mesh_NcpElemsGlobal,1,MPI_INTEGER,0,PETSC_COMM_WORLD,ierr) call MPI_Bcast(dimPlex,1,MPI_INTEGER,0,PETSC_COMM_WORLD,ierr) @@ -142,48 +132,44 @@ subroutine discretization_mesh_init(restart) enddo call DMClone(globalMesh,geomMesh,ierr) CHKERRQ(ierr) - else + else call DMPlexDistribute(globalMesh,0,sf,geomMesh,ierr) CHKERRQ(ierr) - endif + endif call DMDestroy(globalMesh,ierr); CHKERRQ(ierr) - + call DMGetStratumSize(geomMesh,'depth',dimPlex,mesh_NcpElems,ierr) CHKERRQ(ierr) call DMGetStratumSize(geomMesh,'depth',0,mesh_Nnodes,ierr) CHKERRQ(ierr) - FE_Nips(FE_geomtype(1)) = FEM_nQuadrature(dimPlex,integrationOrder) - mesh_maxNips = FE_Nips(1) - - write(6,*) 'mesh_maxNips',mesh_maxNips + mesh_maxNips = FEM_nQuadrature(dimPlex,integrationOrder) + call mesh_FEM_build_ipCoordinates(dimPlex,FEM_quadrature_points(dimPlex,integrationOrder)%p) call mesh_FEM_build_ipVolumes(dimPlex) - + allocate (mesh_element (4,mesh_NcpElems)); mesh_element = 0 do j = 1, mesh_NcpElems - mesh_element( 1,j) = -1 ! DEPRECATED - mesh_element( 2,j) = mesh_elemType ! elem type + mesh_element( 1,j) = -1 + mesh_element( 2,j) = -1 mesh_element( 3,j) = 1 ! homogenization call DMGetLabelValue(geomMesh,'material',j-1,mesh_element(4,j),ierr) CHKERRQ(ierr) - end do + end do + + if (debug_e < 1 .or. debug_e > mesh_NcpElems) call IO_error(602,ext_msg='element') + if (debug_i < 1 .or. debug_i > mesh_maxNips) call IO_error(602,ext_msg='IP') + + FEsolving_execElem = [1,mesh_NcpElems] ! parallel loop bounds set to comprise all DAMASK elements + FEsolving_execIP = [1,mesh_maxNips] - if (debug_e < 1 .or. debug_e > mesh_NcpElems) & - call IO_error(602,ext_msg='element') ! selected element does not exist - if (debug_i < 1 .or. debug_i > FE_Nips(FE_geomtype(mesh_element(2,debug_e)))) & - call IO_error(602,ext_msg='IP') ! selected element does not have requested IP - - FEsolving_execElem = [ 1,mesh_NcpElems ] ! parallel loop bounds set to comprise all DAMASK elements - FEsolving_execIP = [1,FE_Nips(FE_geomtype(mesh_element(2,1)))] - allocate(mesh_node0(3,mesh_Nnodes),source=0.0_pReal) call discretization_init(mesh_element(3,:),mesh_element(4,:),& reshape(mesh_ipCoordinates,[3,mesh_maxNips*mesh_NcpElems]), & mesh_node0) - + end subroutine discretization_mesh_init @@ -191,23 +177,23 @@ end subroutine discretization_mesh_init !> @brief Calculates IP volume. Allocates global array 'mesh_ipVolume' !-------------------------------------------------------------------------------------------------- subroutine mesh_FEM_build_ipVolumes(dimPlex) - + PetscInt,intent(in):: dimPlex PetscReal :: vol PetscReal, pointer,dimension(:) :: pCent, pNorm PetscInt :: cellStart, cellEnd, cell PetscErrorCode :: ierr - + allocate(mesh_ipVolume(mesh_maxNips,mesh_NcpElems),source=0.0_pReal) - + call DMPlexGetHeightStratum(geomMesh,0,cellStart,cellEnd,ierr); CHKERRQ(ierr) allocate(pCent(dimPlex)) allocate(pNorm(dimPlex)) do cell = cellStart, cellEnd-1 - call DMPlexComputeCellGeometryFVM(geomMesh,cell,vol,pCent,pNorm,ierr) + call DMPlexComputeCellGeometryFVM(geomMesh,cell,vol,pCent,pNorm,ierr) CHKERRQ(ierr) mesh_ipVolume(:,cell+1) = vol/real(mesh_maxNips,pReal) - enddo + enddo end subroutine mesh_FEM_build_ipVolumes @@ -219,20 +205,20 @@ subroutine mesh_FEM_build_ipCoordinates(dimPlex,qPoints) PetscInt, intent(in) :: dimPlex PetscReal, intent(in) :: qPoints(mesh_maxNips*dimPlex) - + PetscReal, pointer,dimension(:) :: pV0, pCellJ, pInvcellJ PetscReal :: detJ PetscInt :: cellStart, cellEnd, cell, qPt, dirI, dirJ, qOffset PetscErrorCode :: ierr - - + + allocate(mesh_ipCoordinates(3,mesh_maxNips,mesh_NcpElems),source=0.0_pReal) - + allocate(pV0(dimPlex)) allocatE(pCellJ(dimPlex**2)) allocatE(pinvCellJ(dimPlex**2)) call DMPlexGetHeightStratum(geomMesh,0,cellStart,cellEnd,ierr); CHKERRQ(ierr) - do cell = cellStart, cellEnd-1 !< loop over all elements + do cell = cellStart, cellEnd-1 !< loop over all elements call DMPlexComputeCellGeometryAffineFEM(geomMesh,cell,pV0,pCellJ,pInvcellJ,detJ,ierr) CHKERRQ(ierr) qOffset = 0 @@ -246,7 +232,7 @@ subroutine mesh_FEM_build_ipCoordinates(dimPlex,qPoints) enddo qOffset = qOffset + dimPlex enddo - enddo + enddo end subroutine mesh_FEM_build_ipCoordinates From e0d4ee44a340a7adf327732c3fb9e921ee917b2a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 16 Jun 2020 13:59:59 +0200 Subject: [PATCH 187/958] better name --- src/mesh/discretization_mesh.f90 | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index 329205f77..f462f7196 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -75,8 +75,9 @@ subroutine discretization_mesh_init(restart) character(len=pStringLen), dimension(:), allocatable :: fileContent IS :: faceSetIS PetscErrorCode :: ierr - integer, dimension(:,:), allocatable :: & - mesh_element + integer, dimension(:), allocatable :: & + homogenizationAt, & + microstructureAt write(6,'(/,a)') ' <<<+- mesh init -+>>>' @@ -149,12 +150,10 @@ subroutine discretization_mesh_init(restart) call mesh_FEM_build_ipCoordinates(dimPlex,FEM_quadrature_points(dimPlex,integrationOrder)%p) call mesh_FEM_build_ipVolumes(dimPlex) - allocate (mesh_element (4,mesh_NcpElems)); mesh_element = 0 + allocate(microstructureAt(mesh_NcpElems)) + allocate(homogenizationAt(mesh_NcpElems),source=1) do j = 1, mesh_NcpElems - mesh_element( 1,j) = -1 - mesh_element( 2,j) = -1 - mesh_element( 3,j) = 1 ! homogenization - call DMGetLabelValue(geomMesh,'material',j-1,mesh_element(4,j),ierr) + call DMGetLabelValue(geomMesh,'material',j-1,microstructureAt(j),ierr) CHKERRQ(ierr) end do @@ -166,7 +165,7 @@ subroutine discretization_mesh_init(restart) allocate(mesh_node0(3,mesh_Nnodes),source=0.0_pReal) - call discretization_init(mesh_element(3,:),mesh_element(4,:),& + call discretization_init(microstructureAt,homogenizationAt,& reshape(mesh_ipCoordinates,[3,mesh_maxNips*mesh_NcpElems]), & mesh_node0) From 846a50c871650eb98830799938c171ee052b3f5c Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 16 Jun 2020 15:57:16 +0200 Subject: [PATCH 188/958] Simplified logic; treating defaults correctly --- src/YAML_parse.f90 | 26 +++-- src/YAML_types.f90 | 243 ++++++++++++++++++++++++++++++++++++++------- 2 files changed, 223 insertions(+), 46 deletions(-) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 5bbba8a4f..2b56ba946 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -34,20 +34,24 @@ end subroutine YAML_init !> @brief reads the flow style string and stores it in the form of dictionaries, lists and scalars. !> @details A node type pointer can either point to a dictionary, list or scalar type entities. !-------------------------------------------------------------------------------------------------- -recursive function parse_flow(flow_string) result(node) - - character(len=*), intent(inout) :: flow_string - class (tNode), pointer :: node +recursive function parse_flow(flow_string,defaultVal) result(node) + character(len=*), intent(inout) :: flow_string + class(tDict), intent(in), optional, target :: defaultVal + class (tNode), pointer :: node + class (tNode), pointer :: myVal character(len=pStringLen) :: key integer :: e, & !> end position of dictionary or list s, & !> start position of dictionary or list d !> position of key: value separator (':') - + flow_string = trim(adjustl(flow_string(:))) - if (flow_string(1:1) == '{') then ! start of a dictionary + if (len_trim(flow_string) == 0 .and. present(defaultVal)) then + node => defaultVal + return + elseif (flow_string(1:1) == '{') then ! start of a dictionary e = 1 allocate(tDict::node) do while (e < len_trim(flow_string)) @@ -63,7 +67,6 @@ recursive function parse_flow(flow_string) result(node) call node%set(key,myVal) end select end do - elseif (flow_string(1:1) == '[') then ! start of a list e = 1 allocate(tList::node) @@ -77,7 +80,6 @@ recursive function parse_flow(flow_string) result(node) call node%append(myVal) end select end do - else ! scalar value allocate(tScalar::node) select type (node) @@ -495,8 +497,10 @@ recursive subroutine decide(blck,flow,s_blck,s_flow,offset) e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 line = IO_rmComment(blck(s_blck:e_blck)) - ! exit here if '---' is found - if (isListItem(line)) then + if(len_trim(line) == 0) then + s_blck = e_blck +2 + call decide(blck,flow,s_blck,s_flow,offset) + elseif (isListItem(line)) then flow(s_flow:s_flow) = '[' s_flow = s_flow + 1 call lst(blck,flow,s_blck,s_flow,offset) @@ -543,7 +547,7 @@ function to_flow(blck) call decide(blck,to_flow,s_blck,s_flow,offset) to_flow = trim(to_flow(:s_flow-1)) endif - end_line = index(to_flow,new_line('')) + end_line = index(to_flow,IO_EOL) if(end_line > 0) to_flow = to_flow(:end_line-1) end function to_flow diff --git a/src/YAML_types.f90 b/src/YAML_types.f90 index ddbc6f531..2723233e3 100644 --- a/src/YAML_types.f90 +++ b/src/YAML_types.f90 @@ -22,11 +22,17 @@ module YAML_types procedure(asFormattedString), deferred :: asFormattedString procedure :: & asScalar => tNode_asScalar + procedure :: & + isScalar => tNode_isScalar procedure :: & asList => tNode_asList + procedure :: & + isList => tNode_isList procedure :: & asDict => tNode_asDict - procedure :: & + procedure :: & + isDict => tNode_isDict + procedure :: & tNode_get_byIndex => tNode_get_byIndex procedure :: & tNode_get_byIndex_asFloat => tNode_get_byIndex_asFloat @@ -64,6 +70,10 @@ module YAML_types tNode_get_byKey_asStrings => tNode_get_byKey_asStrings procedure :: & getIndex => tNode_get_byKey_asIndex + procedure :: & + getKey => tNode_getKey_byIndex + procedure :: & + contains => tNode_contains generic :: & get => tNode_get_byIndex, & @@ -145,6 +155,11 @@ module YAML_types final :: tItem_finalize end type tItem + type(tDict), target,public :: & + emptyDict + type(tList), target,public :: & + emptyList + abstract interface recursive function asFormattedString(self,indent) @@ -339,6 +354,57 @@ function tNode_asDict(self) result(dict) end function tNode_asDict +!-------------------------------------------------------------------------------------------------- +!> @brief Checks if node is a scalar +!-------------------------------------------------------------------------------------------------- +function tNode_isScalar(self) result(scalar) + + class(tNode), intent(in), target :: self + logical :: scalar + + scalar = .false. + select type(self) + class is(tScalar) + scalar = .true. + end select + +end function tNode_isScalar + + +!-------------------------------------------------------------------------------------------------- +!> @brief Checks if node is a list +!-------------------------------------------------------------------------------------------------- +function tNode_isList(self) result(list) + + class(tNode), intent(in), target :: self + logical :: list + + list = .false. + select type(self) + class is(tList) + list = .true. + end select + +end function tNode_isList + + +!-------------------------------------------------------------------------------------------------- +!> @brief Checks if node is a dict +!-------------------------------------------------------------------------------------------------- +function tNode_isDict(self) result(dict) + + class(tNode), intent(in), target :: self + logical :: dict + + dict = .false. + select type(self) + class is(tDict) + dict = .true. + end select + +end function tNode_isDict + + !-------------------------------------------------------------------------------------------------- !> @brief Access by index !-------------------------------------------------------------------------------------------------- @@ -518,30 +584,106 @@ function tNode_get_byIndex_asStrings(self,i) result(nodeAsStrings) end function tNode_get_byIndex_asStrings -!-------------------------------------------------------------------------------------------------- -!> @brief Access by index -!-------------------------------------------------------------------------------------------------- -function tNode_get_byKey(self,k) result(node) +!------------------------------------------------------------------------------------------------------- +!> @brief Returns the key in a dictionary as a string +!------------------------------------------------------------------------------------------------------- +function tNode_getKey_byIndex(self,i) result(key) - class(tNode), intent(in), target :: self - character(len=*), intent(in) :: k - class(tNode), pointer :: node + class(tNode), intent(in), target :: self + integer, intent(in) :: i + + character(len=:), allocatable :: key + integer :: j + type(tDict), pointer :: dict + type(tItem), pointer :: item + + dict => self%asDict() + item => dict%first + do j = 1, dict%length + if(j == i) then + key = item%key + exit + else + item => item%next + endif + enddo + +end function tNode_getKey_byIndex + + +!------------------------------------------------------------------------------------------------- +!> @brief Checks if a given key/item is present in the dict/list +!------------------------------------------------------------------------------------------------- +function tNode_contains(self,k) result(exists) + + class(tNode), intent(in), target :: self + character(len=*), intent(in) :: k + + logical :: exists + integer :: j + type(tList), pointer :: list + type(tDict), pointer :: dict + + exists = .false. + if(self%isDict()) then + dict => self%asDict() + do j=1, dict%length + if(dict%getKey(j) == k) then + exists = .true. + return + endif + enddo + elseif(self%isList()) then + list => self%asList() + do j =1, list%length + if(list%get_asString(j) == k) then + exists = .true. + return + endif + enddo + else + call IO_error(0) + endif + +end function tNode_contains + + +!-------------------------------------------------------------------------------------------------- +!> @brief Access by key +!-------------------------------------------------------------------------------------------------- +function tNode_get_byKey(self,k,defaultVal) result(node) + + class(tNode), intent(in), target :: self + character(len=*), intent(in) :: k + class(tNode), intent(in),optional,target :: defaultVal + class(tNode), pointer :: node type(tDict), pointer :: self_ type(tItem), pointer :: item integer :: j + logical :: found + found = present(defaultVal) + if(found) node => defaultVal + self_ => self%asDict() j = 1 item => self_%first do while(j <= self_%length) - if (item%key == k) exit + if (item%key == k) then + found = .true. + exit + endif item => item%next j = j + 1 enddo - if (.not. item%key == k) call IO_error(0) - node => item%node + + if (.not. found) then + call IO_error(143,ext_msg=k) + else + if(associated(item)) node => item%node + endif end function tNode_get_byKey @@ -549,18 +691,26 @@ end function tNode_get_byKey !-------------------------------------------------------------------------------------------------- !> @brief Access by key and convert to float !-------------------------------------------------------------------------------------------------- -function tNode_get_byKey_asFloat(self,k) result(nodeAsFloat) +function tNode_get_byKey_asFloat(self,k,defaultVal) result(nodeAsFloat) - class(tNode), intent(in), target :: self - character(len=*), intent(in) :: k + class(tNode), intent(in), target :: self + character(len=*), intent(in) :: k + real(pReal), intent(in),optional :: defaultVal real(pReal) :: nodeAsFloat class(tNode), pointer :: node type(tScalar), pointer :: scalar - node => self%get(k) - scalar => node%asScalar() - nodeAsFloat = scalar%asFloat() + if(self%contains(k)) then + node => self%get(k) + scalar => node%asScalar() + nodeAsFloat = scalar%asFloat() + elseif(present(defaultVal)) then + nodeAsFloat = defaultVal + else + call IO_error(143,ext_msg=k) + endif + end function tNode_get_byKey_asFloat @@ -568,18 +718,25 @@ end function tNode_get_byKey_asFloat !-------------------------------------------------------------------------------------------------- !> @brief Access by key and convert to int !-------------------------------------------------------------------------------------------------- -function tNode_get_byKey_asInt(self,k) result(nodeAsInt) +function tNode_get_byKey_asInt(self,k,defaultVal) result(nodeAsInt) - class(tNode), intent(in), target :: self - character(len=*), intent(in) :: k + class(tNode), intent(in), target :: self + character(len=*), intent(in) :: k + integer, intent(in),optional :: defaultVal integer :: nodeAsInt class(tNode), pointer :: node type(tScalar), pointer :: scalar - node => self%get(k) - scalar => node%asScalar() - nodeAsInt = scalar%asInt() + if(self%contains(k)) then + node => self%get(k) + scalar => node%asScalar() + nodeAsInt = scalar%asInt() + elseif(present(defaultVal)) then + nodeAsInt = defaultVal + else + call IO_error(143,ext_msg=k) + endif end function tNode_get_byKey_asInt @@ -587,18 +744,26 @@ end function tNode_get_byKey_asInt !-------------------------------------------------------------------------------------------------- !> @brief Access by key and convert to bool !-------------------------------------------------------------------------------------------------- -function tNode_get_byKey_asBool(self,k) result(nodeAsBool) +function tNode_get_byKey_asBool(self,k,defaultVal) result(nodeAsBool) - class(tNode), intent(in), target :: self - character(len=*), intent(in) :: k + class(tNode), intent(in), target :: self + character(len=*), intent(in) :: k + logical, intent(in),optional :: defaultVal logical :: nodeAsBool class(tNode), pointer :: node type(tScalar), pointer :: scalar - node => self%get(k) - scalar => node%asScalar() - nodeAsBool = scalar%asBool() + if(self%contains(k)) then + node => self%get(k) + scalar => node%asScalar() + nodeAsBool = scalar%asBool() + elseif(present(defaultVal)) then + nodeAsBool = defaultVal + else + call IO_error(143,ext_msg=k) + endif + end function tNode_get_byKey_asBool @@ -606,18 +771,26 @@ end function tNode_get_byKey_asBool !-------------------------------------------------------------------------------------------------- !> @brief Access by key and convert to string !-------------------------------------------------------------------------------------------------- -function tNode_get_byKey_asString(self,k) result(nodeAsString) +function tNode_get_byKey_asString(self,k,defaultVal) result(nodeAsString) - class(tNode), intent(in), target :: self - character(len=*), intent(in) :: k + class(tNode), intent(in), target :: self + character(len=*), intent(in) :: k + character(len=*), intent(in),optional :: defaultVal character(len=:), allocatable :: nodeAsString class(tNode), pointer :: node type(tScalar), pointer :: scalar - node => self%get(k) - scalar => node%asScalar() - nodeAsString = scalar%asString() + if(self%contains(k)) then + node => self%get(k) + scalar => node%asScalar() + nodeAsString = scalar%asString() + elseif(present(defaultVal)) then + nodeAsString = defaultVal + else + call IO_error(143,ext_msg=k) + endif + end function tNode_get_byKey_asString From eb98649793f8e384ab5952eff8ae4ece899221eb Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 16 Jun 2020 17:50:35 +0200 Subject: [PATCH 189/958] compilation order matters --- src/commercialFEM_fileList.f90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/commercialFEM_fileList.f90 b/src/commercialFEM_fileList.f90 index 346970b49..942363a9f 100644 --- a/src/commercialFEM_fileList.f90 +++ b/src/commercialFEM_fileList.f90 @@ -4,11 +4,11 @@ !> @details List of files needed by MSC.Marc !-------------------------------------------------------------------------------------------------- #include "IO.f90" +#include "YAML_types.f90" +#include "YAML_parse.f90" #include "numerics.f90" #include "debug.f90" #include "list.f90" -#include "YAML_types.f90" -#include "YAML_parse.f90" #include "future.f90" #include "config.f90" #include "LAPACK_interface.f90" From c19ed2146825fc3cf4ca97e01e31ec2ffde53dbc Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 16 Jun 2020 17:53:14 +0200 Subject: [PATCH 190/958] Begin to update DAMASK structure --- src/crystallite.f90 | 60 +++++----- src/damage_local.f90 | 4 +- src/grid/grid_damage_spectral.f90 | 2 +- src/grid/grid_thermal_spectral.f90 | 2 +- src/numerics.f90 | 176 ++++++++++++++--------------- src/thermal_adiabatic.f90 | 4 +- 6 files changed, 118 insertions(+), 130 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 14b624b0a..eb10e8550 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -23,6 +23,7 @@ module crystallite use discretization use lattice use results + use YAML_types implicit none private @@ -81,8 +82,9 @@ module crystallite integer :: & iJacoLpresiduum, & !< frequency of Jacobian update of residuum in Lp nState, & !< state loop limit - nStress, & !< stress loop limit - integrator !< integration scheme (ToDo: better use a string) + nStress !< stress loop limit + character(len=pStringLen) :: & + integrator !< integrator scheme real(pReal) :: & subStepMinCryst, & !< minimum (relative) size of sub-step allowed during cutback subStepSizeCryst, & !< size of first substep when cutback @@ -126,7 +128,9 @@ subroutine crystallite_init iMax, & !< maximum number of integration points eMax, & !< maximum number of elements myNcomponents !< number of components at current IP - + + class(tNode) , pointer :: & + num_crystallite write(6,'(/,a)') ' <<<+- crystallite init -+>>>' cMax = homogenization_maxNgrains @@ -160,23 +164,20 @@ subroutine crystallite_init allocate(crystallite_requested(cMax,iMax,eMax), source=.false.) allocate(crystallite_converged(cMax,iMax,eMax), source=.true.) - num%subStepMinCryst = config_numerics%getFloat('substepmincryst', defaultVal=1.0e-3_pReal) - num%subStepSizeCryst = config_numerics%getFloat('substepsizecryst', defaultVal=0.25_pReal) - num%stepIncreaseCryst = config_numerics%getFloat('stepincreasecryst', defaultVal=1.5_pReal) - - num%subStepSizeLp = config_numerics%getFloat('substepsizelp', defaultVal=0.5_pReal) - num%subStepSizeLi = config_numerics%getFloat('substepsizeli', defaultVal=0.5_pReal) - - num%rtol_crystalliteState = config_numerics%getFloat('rtol_crystallitestate', defaultVal=1.0e-6_pReal) - num%rtol_crystalliteStress = config_numerics%getFloat('rtol_crystallitestress',defaultVal=1.0e-6_pReal) - num%atol_crystalliteStress = config_numerics%getFloat('atol_crystallitestress',defaultVal=1.0e-8_pReal) - - num%iJacoLpresiduum = config_numerics%getInt ('ijacolpresiduum', defaultVal=1) - - num%integrator = config_numerics%getInt ('integrator', defaultVal=1) - - num%nState = config_numerics%getInt ('nstate', defaultVal=20) - num%nStress = config_numerics%getInt ('nstress', defaultVal=40) + num_crystallite => numerics_root%get('crystallite',defaultVal=emptyDict) + + num%subStepMinCryst = num_crystallite%get_asFloat ('subStepMin', defaultVal=1.0e-3_pReal) + num%subStepSizeCryst = num_crystallite%get_asFloat ('subStepSize', defaultVal=0.25_pReal) + num%stepIncreaseCryst = num_crystallite%get_asFloat ('stepIncrease', defaultVal=1.5_pReal) + num%subStepSizeLp = num_crystallite%get_asFloat ('subStepSizeLp', defaultVal=0.5_pReal) + num%subStepSizeLi = num_crystallite%get_asFloat ('subStepSizeLi', defaultVal=0.5_pReal) + num%rtol_crystalliteState = num_crystallite%get_asFloat ('rtol_State', defaultVal=1.0e-6_pReal) + num%rtol_crystalliteStress = num_crystallite%get_asFloat ('rtol_Stress', defaultVal=1.0e-6_pReal) + num%atol_crystalliteStress = num_crystallite%get_asFloat ('atol_Stress', defaultVal=1.0e-8_pReal) + num%iJacoLpresiduum = num_crystallite%get_asInt ('iJacoLpresiduum', defaultVal=1) + num%integrator = num_crystallite%get_asString('integrator', defaultVal='FPI') + num%nState = num_crystallite%get_asInt ('nState', defaultVal=20) + num%nStress = num_crystallite%get_asInt ('nStress', defaultVal=40) if(num%subStepMinCryst <= 0.0_pReal) call IO_error(301,ext_msg='subStepMinCryst') if(num%subStepSizeCryst <= 0.0_pReal) call IO_error(301,ext_msg='subStepSizeCryst') @@ -191,24 +192,23 @@ subroutine crystallite_init if(num%iJacoLpresiduum < 1) call IO_error(301,ext_msg='iJacoLpresiduum') - if(num%integrator < 1 .or. num%integrator > 5) & - call IO_error(301,ext_msg='integrator') - if(num%nState < 1) call IO_error(301,ext_msg='nState') if(num%nStress< 1) call IO_error(301,ext_msg='nStress') - select case(num%integrator) - case(1) + select case(trim(num%integrator)) + case('FPI') integrateState => integrateStateFPI - case(2) + case('Euler') integrateState => integrateStateEuler - case(3) + case('AdaptiveEuler') integrateState => integrateStateAdaptiveEuler - case(4) + case('RK4') integrateState => integrateStateRK4 - case(5) + case('RKCK45') integrateState => integrateStateRKCK45 + case default + call IO_error(301,ext_msg='integrator') end select allocate(output_constituent(size(config_phase))) @@ -245,7 +245,6 @@ subroutine crystallite_init enddo !$OMP END PARALLEL DO - !if(any(plasticState%nonlocal) .and. .not. usePingPong) call IO_error(601) crystallite_partionedFp0 = crystallite_Fp0 crystallite_partionedFi0 = crystallite_Fi0 @@ -276,6 +275,7 @@ subroutine crystallite_init write(6,'(a42,1x,i10)') 'max # of constituents/integration point: ', cMax flush(6) endif + #endif end subroutine crystallite_init diff --git a/src/damage_local.f90 b/src/damage_local.f90 index 1c2f51056..93117ef26 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -92,9 +92,9 @@ function damage_local_updateState(subdt, ip, el) phi = max(residualStiffness,min(1.0_pReal,phi + subdt*phiDot)) damage_local_updateState = [ abs(phi - damageState(homog)%state(1,offset)) & - <= err_damage_tolAbs & + <= 1.0e-2_pReal & .or. abs(phi - damageState(homog)%state(1,offset)) & - <= err_damage_tolRel*abs(damageState(homog)%state(1,offset)), & + <= 1.0e-6_pReal*abs(damageState(homog)%state(1,offset)), & .true.] damageState(homog)%state(1,offset) = phi diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index eda60d070..41ed79f40 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -165,7 +165,7 @@ function grid_damage_spectral_solution(timeinc,timeinc_old) result(solution) call MPI_Allreduce(MPI_IN_PLACE,stagNorm,1,MPI_DOUBLE,MPI_MAX,PETSC_COMM_WORLD,ierr) call MPI_Allreduce(MPI_IN_PLACE,solnNorm,1,MPI_DOUBLE,MPI_MAX,PETSC_COMM_WORLD,ierr) phi_stagInc = phi_current - solution%stagConverged = stagNorm < max(err_damage_tolAbs, err_damage_tolRel*solnNorm) + solution%stagConverged = stagNorm < max(1.0e-2_pReal, 1.0e-6_pReal*solnNorm) !-------------------------------------------------------------------------------------------------- ! updating damage state diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index 1c8314369..40e27ce34 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -162,7 +162,7 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) call MPI_Allreduce(MPI_IN_PLACE,stagNorm,1,MPI_DOUBLE,MPI_MAX,PETSC_COMM_WORLD,ierr) call MPI_Allreduce(MPI_IN_PLACE,solnNorm,1,MPI_DOUBLE,MPI_MAX,PETSC_COMM_WORLD,ierr) T_stagInc = T_current - solution%stagConverged = stagNorm < max(err_thermal_tolAbs, err_thermal_tolRel*solnNorm) + solution%stagConverged = stagNorm < max(1.0e-2_pReal, 1.0e-6_pReal*solnNorm) !-------------------------------------------------------------------------------------------------- ! updating thermal state diff --git a/src/numerics.f90 b/src/numerics.f90 index 77c3397de..c677ef888 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -6,6 +6,8 @@ module numerics use prec use IO + use YAML_types + use YAML_parse #ifdef PETSc #include @@ -16,6 +18,8 @@ module numerics implicit none private + class(tNode), pointer, public :: & + numerics_root integer, protected, public :: & iJacoStiffness = 1, & !< frequency of stiffness update randomSeed = 0, & !< fixed seeding for pseudo-random number generator, Default 0: use random seed @@ -33,11 +37,7 @@ module numerics ! field parameters: real(pReal), protected, public :: & err_struct_tolAbs = 1.0e-10_pReal, & !< absolute tolerance for mechanical equilibrium - err_struct_tolRel = 1.0e-4_pReal, & !< relative tolerance for mechanical equilibrium - err_thermal_tolAbs = 1.0e-2_pReal, & !< absolute tolerance for thermal equilibrium - err_thermal_tolRel = 1.0e-6_pReal, & !< relative tolerance for thermal equilibrium - err_damage_tolAbs = 1.0e-2_pReal, & !< absolute tolerance for damage evolution - err_damage_tolRel = 1.0e-6_pReal !< relative tolerance for damage evolution + err_struct_tolRel = 1.0e-4_pReal !< relative tolerance for mechanical equilibrium integer, protected, public :: & itmax = 250, & !< maximum number of iterations itmin = 1, & !< minimum number of iterations @@ -84,11 +84,14 @@ contains subroutine numerics_init !$ integer :: gotDAMASK_NUM_THREADS = 1 integer :: i,j, ierr - integer, allocatable, dimension(:) :: chunkPos - character(len=pStringLen), dimension(:), allocatable :: fileContent - character(len=pStringLen) :: & - tag ,& - line + character(len=:), allocatable :: & + numerics_input, & + numerics_inFlow, & + key + class (tNode), pointer :: & + num_grid, & + num_mesh, & + num_generic logical :: fexist !$ character(len=6) DAMASK_NumThreadsString ! environment variable DAMASK_NUM_THREADS @@ -108,111 +111,104 @@ subroutine numerics_init !$ endif !$ call omp_set_num_threads(DAMASK_NumThreadsInt) ! set number of threads for parallel execution - inquire(file='numerics.config', exist=fexist) - + inquire(file='numerics.yaml', exist=fexist) + fileExists: if (fexist) then write(6,'(a,/)') ' using values from config file' flush(6) - fileContent = IO_read_ASCII('numerics.config') - do j=1, size(fileContent) - + numerics_input = IO_read('numerics.yaml') + numerics_inFlow = to_flow(numerics_input) + numerics_root => parse_flow(numerics_inFlow,defaultVal=emptyDict) !-------------------------------------------------------------------------------------------------- -! read variables from config file and overwrite default parameters if keyword is present - line = fileContent(j) - do i=1,len(line) - if(line(i:i) == '=') line(i:i) = ' ' ! also allow keyword = value version - enddo - if (IO_isBlank(line)) cycle ! skip empty lines - chunkPos = IO_stringPos(line) - tag = IO_lc(IO_stringValue(line,chunkPos,1)) ! extract key - - select case(tag) +! spectral parameters + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + do i=1,num_grid%length + key = num_grid%getKey(i) + select case(key) +#ifdef Grid + case ('err_div_tolabs') + err_div_tolAbs = num_grid%get_asFloat(key) + case ('err_div_tolrel') + err_div_tolRel = num_grid%get_asFloat(key) + case ('err_stress_tolrel') + err_stress_tolrel = num_grid%get_asFloat(key) + case ('err_stress_tolabs') + err_stress_tolabs = num_grid%get_asFloat(key) + case ('err_curl_tolabs') + err_curl_tolAbs = num_grid%get_asFloat(key) + case ('err_curl_tolrel') + err_curl_tolRel = num_grid%get_asFloat(key) + case ('polaralpha') + polarAlpha = num_grid%get_asFloat(key) + case ('polarbeta') + polarBeta = num_grid%get_asFloat(key) +#endif + case ('itmax') + itmax = num_grid%get_asInt(key) + case ('itmin') + itmin = num_grid%get_asInt(key) + case ('maxCutBack') + maxCutBack = num_grid%get_asInt(key) + case ('maxStaggeredIter') + stagItMax = num_grid%get_asInt(key) +#ifdef PETSC + case ('petsc_options') + petsc_options = num_grid%get_asString(key) +#endif + endselect + enddo + + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + do i=1,num_generic%length + key = num_generic%getKey(i) + select case(key) case ('defgradtolerance') - defgradTolerance = IO_floatValue(line,chunkPos,2) + defgradTolerance = num_generic%get_asFloat(key) case ('ijacostiffness') - iJacoStiffness = IO_intValue(line,chunkPos,2) + iJacoStiffness = num_generic%get_asInt(key) case ('unitlength') - numerics_unitlength = IO_floatValue(line,chunkPos,2) + numerics_unitlength = num_generic%get_asFloat(key) !-------------------------------------------------------------------------------------------------- ! random seeding parameter - case ('random_seed','fixed_seed') - randomSeed = IO_intValue(line,chunkPos,2) + case ('fixed_seed', 'random_seed') + randomSeed = num_generic%get_asInt(key) !-------------------------------------------------------------------------------------------------- ! gradient parameter - case ('charlength') - charLength = IO_floatValue(line,chunkPos,2) - case ('residualstiffness') - residualStiffness = IO_floatValue(line,chunkPos,2) - + case ('charLength') + charLength = num_generic%get_asFloat(key) + case ('residualStiffness') + residualStiffness = num_generic%get_asFloat(key) !-------------------------------------------------------------------------------------------------- ! field parameters case ('err_struct_tolabs') - err_struct_tolAbs = IO_floatValue(line,chunkPos,2) + err_struct_tolAbs = num_generic%get_asFloat(key) case ('err_struct_tolrel') - err_struct_tolRel = IO_floatValue(line,chunkPos,2) - case ('err_thermal_tolabs') - err_thermal_tolabs = IO_floatValue(line,chunkPos,2) - case ('err_thermal_tolrel') - err_thermal_tolrel = IO_floatValue(line,chunkPos,2) - case ('err_damage_tolabs') - err_damage_tolabs = IO_floatValue(line,chunkPos,2) - case ('err_damage_tolrel') - err_damage_tolrel = IO_floatValue(line,chunkPos,2) - case ('itmax') - itmax = IO_intValue(line,chunkPos,2) - case ('itmin') - itmin = IO_intValue(line,chunkPos,2) - case ('maxcutback') - maxCutBack = IO_intValue(line,chunkPos,2) - case ('maxstaggerediter') - stagItMax = IO_intValue(line,chunkPos,2) + err_struct_tolRel = num_generic%get_asFloat(key) + endselect + enddo -#ifdef PETSC - case ('petsc_options') - petsc_options = trim(line(chunkPos(4):)) -#endif - -!-------------------------------------------------------------------------------------------------- -! spectral parameters -#ifdef Grid - case ('err_div_tolabs') - err_div_tolAbs = IO_floatValue(line,chunkPos,2) - case ('err_div_tolrel') - err_div_tolRel = IO_floatValue(line,chunkPos,2) - case ('err_stress_tolrel') - err_stress_tolrel = IO_floatValue(line,chunkPos,2) - case ('err_stress_tolabs') - err_stress_tolabs = IO_floatValue(line,chunkPos,2) - case ('err_curl_tolabs') - err_curl_tolAbs = IO_floatValue(line,chunkPos,2) - case ('err_curl_tolrel') - err_curl_tolRel = IO_floatValue(line,chunkPos,2) - case ('polaralpha') - polarAlpha = IO_floatValue(line,chunkPos,2) - case ('polarbeta') - polarBeta = IO_floatValue(line,chunkPos,2) -#endif - -!-------------------------------------------------------------------------------------------------- -! Mesh parameters #ifdef Mesh + num_grid => numerics_root%get('mesh',defaultVal=emptyDict) + do i=1,num_grid%length + key = num_grid%getKey(i) + select case(key) case ('integrationorder') - integrationorder = IO_intValue(line,chunkPos,2) + integrationorder = num_generic%get_asInt(key) case ('structorder') - structorder = IO_intValue(line,chunkPos,2) + structorder = num_generic%get_asInt(key) case ('bbarstabilisation') - BBarStabilisation = IO_intValue(line,chunkPos,2) > 0 -#endif + BBarStabilisation = num_generic%get_asInt(key) > 0 end select enddo +#endif + else fileExists write(6,'(a,/)') ' using standard values' flush(6) endif fileExists - !-------------------------------------------------------------------------------------------------- ! writing parameters to output write(6,'(a24,1x,es8.1)') ' defgradTolerance: ',defgradTolerance @@ -242,10 +238,6 @@ subroutine numerics_init write(6,'(a24,1x,i8)') ' maxStaggeredIter: ',stagItMax write(6,'(a24,1x,es8.1)') ' err_struct_tolAbs: ',err_struct_tolAbs write(6,'(a24,1x,es8.1)') ' err_struct_tolRel: ',err_struct_tolRel - write(6,'(a24,1x,es8.1)') ' err_thermal_tolabs: ',err_thermal_tolabs - write(6,'(a24,1x,es8.1)') ' err_thermal_tolrel: ',err_thermal_tolrel - write(6,'(a24,1x,es8.1)') ' err_damage_tolabs: ',err_damage_tolabs - write(6,'(a24,1x,es8.1)') ' err_damage_tolrel: ',err_damage_tolrel !-------------------------------------------------------------------------------------------------- ! spectral parameters @@ -284,10 +276,6 @@ subroutine numerics_init if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') if (err_struct_tolRel <= 0.0_pReal) call IO_error(301,ext_msg='err_struct_tolRel') if (err_struct_tolAbs <= 0.0_pReal) call IO_error(301,ext_msg='err_struct_tolAbs') - if (err_thermal_tolabs <= 0.0_pReal) call IO_error(301,ext_msg='err_thermal_tolabs') - if (err_thermal_tolrel <= 0.0_pReal) call IO_error(301,ext_msg='err_thermal_tolrel') - if (err_damage_tolabs <= 0.0_pReal) call IO_error(301,ext_msg='err_damage_tolabs') - if (err_damage_tolrel <= 0.0_pReal) call IO_error(301,ext_msg='err_damage_tolrel') #ifdef Grid if (err_stress_tolrel <= 0.0_pReal) call IO_error(301,ext_msg='err_stress_tolRel') if (err_stress_tolabs <= 0.0_pReal) call IO_error(301,ext_msg='err_stress_tolAbs') diff --git a/src/thermal_adiabatic.f90 b/src/thermal_adiabatic.f90 index 2bef1c3ee..a11e7b0a1 100644 --- a/src/thermal_adiabatic.f90 +++ b/src/thermal_adiabatic.f90 @@ -101,9 +101,9 @@ function thermal_adiabatic_updateState(subdt, ip, el) T = T + subdt*Tdot/(thermal_adiabatic_getSpecificHeat(ip,el)*thermal_adiabatic_getMassDensity(ip,el)) thermal_adiabatic_updateState = [ abs(T - thermalState(homog)%state(1,offset)) & - <= err_thermal_tolAbs & + <= 1.0e-2_pReal & .or. abs(T - thermalState(homog)%state(1,offset)) & - <= err_thermal_tolRel*abs(thermalState(homog)%state(1,offset)), & + <= 1.0e-6_pReal*abs(thermalState(homog)%state(1,offset)), & .true.] temperature (homog)%p(thermalMapping(homog)%p(ip,el)) = T From 19c44d5e976d941771f6d21a81616d42e20227fc Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 16 Jun 2020 18:47:19 +0200 Subject: [PATCH 191/958] Read numerics.yaml once --- src/config.f90 | 34 +++--------------- src/grid/DAMASK_grid.f90 | 22 ++++++++---- src/grid/grid_mech_spectral_basic.f90 | 10 ++++-- src/grid/grid_mech_spectral_polarisation.f90 | 6 +++- src/grid/spectral_utilities.f90 | 21 ++++++----- src/homogenization.f90 | 26 ++++++++++---- src/homogenization_mech_RGC.f90 | 37 ++++++++++++-------- src/numerics.f90 | 1 + 8 files changed, 89 insertions(+), 68 deletions(-) diff --git a/src/config.f90 b/src/config.f90 index 187c4880f..0668fb5f0 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -12,6 +12,8 @@ module config use IO use debug use list + use YAML_parse + use YAML_types implicit none private @@ -24,9 +26,8 @@ module config config_crystallite type(tPartitionedStringList), public, protected :: & - config_numerics, & config_debug - + character(len=pStringLen), public, protected, allocatable, dimension(:) :: & config_name_phase, & !< name of each phase config_name_homogenization, & !< name of each homogenization @@ -109,13 +110,6 @@ subroutine config_init call IO_error(160,ext_msg='') - inquire(file='numerics.config', exist=fileExists) - if (fileExists) then - write(6,'(/,a)') ' reading numerics.config'; flush(6) - fileContent = IO_read_ASCII('numerics.config') - call parse_debugAndNumericsConfig(config_numerics,fileContent) - endif - inquire(file='debug.config', exist=fileExists) if (fileExists) then write(6,'(/,a)') ' reading debug.config'; flush(6) @@ -140,31 +134,16 @@ recursive function read_materialConfig(fileName,cnt) result(fileContent) character(len=pStringLen), parameter :: dummy = 'https://damask.mpie.de' !< to fill up remaining array character(len=:), allocatable :: rawData integer :: & - fileLength, & - fileUnit, & startPos, endPos, & myTotalLines, & !< # lines read from file without include statements - l,i, & - myStat + l,i logical :: warned if (present(cnt)) then if (cnt>10) call IO_error(106,ext_msg=trim(fileName)) endif -!-------------------------------------------------------------------------------------------------- -! read data as stream - inquire(file = fileName, size=fileLength) - if (fileLength == 0) then - allocate(fileContent(0)) - return - endif - open(newunit=fileUnit, file=fileName, access='stream',& - status='old', position='rewind', action='read',iostat=myStat) - if(myStat /= 0) call IO_error(100,ext_msg=trim(fileName)) - allocate(character(len=fileLength)::rawData) - read(fileUnit) rawData - close(fileUnit) + rawData = IO_read(fileName) ! read data as stream !-------------------------------------------------------------------------------------------------- ! count lines to allocate string array @@ -303,9 +282,6 @@ subroutine config_deallocate(what) case('debug.config') call config_debug%free - case('numerics.config') - call config_numerics%free - case default call IO_error(0,ext_msg='config_deallocate') diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 7b3265740..dae00cf5d 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -24,6 +24,7 @@ program DAMASK_grid use grid_damage_spectral use grid_thermal_spectral use results + use YAML_types implicit none @@ -88,10 +89,13 @@ program DAMASK_grid external :: & quit + class (tNode), pointer :: & + num_grid !-------------------------------------------------------------------------------------------------- ! init DAMASK (all modules) - call CPFEM_initAll + + call CPFEM_initAll write(6,'(/,a)') ' <<<+- DAMASK_spectral init -+>>>'; flush(6) write(6,'(/,a)') ' Shanthraj et al., Handbook of Mechanics of Materials, 2019' @@ -107,15 +111,18 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! assign mechanics solver depending on selected type - select case (trim(config_numerics%getString('spectral_solver',defaultVal='basic'))) - case ('basic') + + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + + select case (trim(num_grid%get_asString('solver', defaultVal = 'Basic'))) + case ('Basic') mech_init => grid_mech_spectral_basic_init mech_forward => grid_mech_spectral_basic_forward mech_solution => grid_mech_spectral_basic_solution mech_updateCoords => grid_mech_spectral_basic_updateCoords mech_restartWrite => grid_mech_spectral_basic_restartWrite - case ('polarisation') + case ('Polarisation') if(iand(debug_level(debug_spectral),debug_levelBasic)/= 0) & call IO_warning(42, ext_msg='debug Divergence') mech_init => grid_mech_spectral_polarisation_init @@ -124,7 +131,7 @@ program DAMASK_grid mech_updateCoords => grid_mech_spectral_polarisation_updateCoords mech_restartWrite => grid_mech_spectral_polarisation_restartWrite - case ('fem') + case ('FEM') if(iand(debug_level(debug_spectral),debug_levelBasic)/= 0) & call IO_warning(42, ext_msg='debug Divergence') mech_init => grid_mech_FEM_init @@ -134,13 +141,14 @@ program DAMASK_grid mech_restartWrite => grid_mech_FEM_restartWrite case default - call IO_error(error_ID = 891, ext_msg = config_numerics%getString('spectral_solver')) + call IO_error(error_ID = 891, ext_msg = trim(num_grid%get_asString('solver'))) end select !-------------------------------------------------------------------------------------------------- ! reading information from load case file and to sanity checks - fileContent = IO_read_ASCII(trim(loadCaseFile)) + fileContent = IO_readlines(trim(loadCaseFile)) + if(size(fileContent) == 0) call IO_error(307,ext_msg='No load case specified') allocate (loadCases(0)) ! array of load cases do currentLoadCase = 1, size(fileContent) diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index e04dd49f3..c69fcdc02 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -21,6 +21,7 @@ module grid_mech_spectral_basic use homogenization use discretization_grid use debug + use YAML_types implicit none private @@ -87,7 +88,9 @@ subroutine grid_mech_spectral_basic_init real(pReal), dimension(3,3,grid(1),grid(2),grid3) :: P real(pReal), dimension(3,3) :: & temp33_Real = 0.0_pReal - + class (tNode), pointer :: & + num_grid + PetscErrorCode :: ierr PetscScalar, pointer, dimension(:,:,:,:) :: & F ! pointer to solution data @@ -104,8 +107,9 @@ subroutine grid_mech_spectral_basic_init write(6,'(/,a)') ' Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2014.02.006' - num%update_gamma = config_numerics%getInt('update_gamma',defaultVal=0) > 0 - + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + num%update_gamma = num_grid%get_asInt('update_gamma',defaultVal=0) > 0 !ToDo: Make boolean + !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-mech_snes_type ngmres',ierr) diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 80ed2e485..ce20c0e08 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -22,6 +22,7 @@ module grid_mech_spectral_polarisation use homogenization use discretization_grid use debug + use YAML_types implicit none private @@ -94,6 +95,8 @@ subroutine grid_mech_spectral_polarisation_init real(pReal), dimension(3,3,grid(1),grid(2),grid3) :: P real(pReal), dimension(3,3) :: & temp33_Real = 0.0_pReal + class (tNode), pointer :: & + num_grid PetscErrorCode :: ierr PetscScalar, pointer, dimension(:,:,:,:) :: & @@ -110,7 +113,8 @@ subroutine grid_mech_spectral_polarisation_init write(6,'(/,a)') ' Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2014.02.006' - num%update_gamma = config_numerics%getInt('update_gamma',defaultVal=0) > 0 + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + num%update_gamma = num_grid%get_asInt('update_gamma',defaultVal=0) > 0 !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 66426fc9a..38627278d 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -19,6 +19,7 @@ module spectral_utilities use config use discretization use homogenization + use YAML_types implicit none private @@ -117,7 +118,7 @@ module spectral_utilities divergence_correction !< scale divergence/curl calculation: [0: no correction, 1: size scaled to 1, 2: size scaled to Npoints] logical :: & memory_efficient !< calculate gamma operator on the fly - character(len=pStringLen) :: & + character(len=:), allocatable :: & spectral_derivative, & !< approximation used for derivatives in Fourier space FFTW_plan_mode, & !< FFTW plan mode, see www.fftw.org PETSc_options @@ -188,6 +189,8 @@ subroutine utilities_init scalarSize = 1_C_INTPTR_T, & vecSize = 3_C_INTPTR_T, & tensorSize = 9_C_INTPTR_T + class (tNode) , pointer :: & + num_grid write(6,'(/,a)') ' <<<+- spectral_utilities init -+>>>' @@ -226,12 +229,14 @@ subroutine utilities_init write(6,'(/,a,3(i12 ))') ' grid a b c: ', grid write(6,'(a,3(es12.5))') ' size x y z: ', geomSize - - num%memory_efficient = config_numerics%getInt ('memory_efficient', defaultVal=1) > 0 - num%FFTW_timelimit = config_numerics%getFloat ('fftw_timelimit', defaultVal=-1.0_pReal) - num%divergence_correction = config_numerics%getInt ('divergence_correction', defaultVal=2) - num%spectral_derivative = config_numerics%getString('spectral_derivative', defaultVal='continuous') - num%FFTW_plan_mode = config_numerics%getString('fftw_plan_mode', defaultVal='FFTW_MEASURE') + + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + + num%memory_efficient = num_grid%get_asInt ('memory_efficient', defaultVal=1) > 0 + num%FFTW_timelimit = num_grid%get_asFloat ('fftw_timelimit', defaultVal=-1.0_pReal) + num%divergence_correction = num_grid%get_asInt ('divergence_correction', defaultVal=2) + num%spectral_derivative = num_grid%get_asString('derivative', defaultVal='continuous') + num%FFTW_plan_mode = num_grid%get_asString('fftw_plan_mode', defaultVal='FFTW_MEASURE') if (num%divergence_correction < 0 .or. num%divergence_correction > 2) & call IO_error(301,ext_msg='divergence_correction') @@ -241,7 +246,7 @@ subroutine utilities_init spectral_derivative_ID = DERIVATIVE_CONTINUOUS_ID case ('central_difference') spectral_derivative_ID = DERIVATIVE_CENTRAL_DIFF_ID - case ('fwbw_difference') + case ('FWBW_difference') spectral_derivative_ID = DERIVATIVE_FWBW_DIFF_ID case default call IO_error(892,ext_msg=trim(num%spectral_derivative)) diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 4fdded94e..e055c6f06 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -23,6 +23,7 @@ module homogenization use damage_local use damage_nonlocal use results + use YAML_types implicit none private @@ -59,7 +60,9 @@ module homogenization module subroutine mech_isostrain_init end subroutine mech_isostrain_init - module subroutine mech_RGC_init + module subroutine mech_RGC_init(num_homogMech) + class(tNode), pointer, intent(in) :: & + num_homogMech end subroutine mech_RGC_init @@ -131,9 +134,18 @@ contains !-------------------------------------------------------------------------------------------------- subroutine homogenization_init + class (tNode) , pointer :: & + num_homog, & + num_homogMech, & + num_homogGeneric + + num_homog => numerics_root%get('homogenization',defaultVal=emptyDict) + num_homogMech => num_homog%get('mech',defaultVal=emptyDict) + num_homogGeneric => num_homog%get('generic',defaultVal=emptyDict) + if (any(homogenization_type == HOMOGENIZATION_NONE_ID)) call mech_none_init if (any(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID)) call mech_isostrain_init - if (any(homogenization_type == HOMOGENIZATION_RGC_ID)) call mech_RGC_init + if (any(homogenization_type == HOMOGENIZATION_RGC_ID)) call mech_RGC_init(num_homogMech) if (any(thermal_type == THERMAL_isothermal_ID)) call thermal_isothermal_init if (any(thermal_type == THERMAL_adiabatic_ID)) call thermal_adiabatic_init @@ -157,10 +169,12 @@ subroutine homogenization_init if (debug_g < 1 .or. debug_g > homogenization_Ngrains(material_homogenizationAt(debug_e))) & call IO_error(602,ext_msg='constituent', el=debug_e, g=debug_g) - num%nMPstate = config_numerics%getInt( 'nmpstate', defaultVal=10) - num%subStepMinHomog = config_numerics%getFloat('substepminhomog', defaultVal=1.0e-3_pReal) - num%subStepSizeHomog = config_numerics%getFloat('substepsizehomog', defaultVal=0.25_pReal) - num%stepIncreaseHomog = config_numerics%getFloat('stepincreasehomog', defaultVal=1.5_pReal) + num%nMPstate = num_homogGeneric%get_asInt( 'nMPstate', defaultVal=10) + num%subStepMinHomog = num_homogGeneric%get_asFloat('subStepMin', defaultVal=1.0e-3_pReal) + num%subStepSizeHomog = num_homogGeneric%get_asFloat('subStepSize', defaultVal=0.25_pReal) + num%stepIncreaseHomog = num_homogGeneric%get_asFloat('stepIncrease', defaultVal=1.5_pReal) + + if (num%nMPstate < 1) call IO_error(301,ext_msg='nMPstate') if (num%subStepMinHomog <= 0.0_pReal) call IO_error(301,ext_msg='subStepMinHomog') if (num%subStepSizeHomog <= 0.0_pReal) call IO_error(301,ext_msg='subStepSizeHomog') diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index e10a0fef9..7ef73b130 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -75,13 +75,19 @@ contains !-------------------------------------------------------------------------------------------------- !> @brief allocates all necessary fields, reads information from material configuration file !-------------------------------------------------------------------------------------------------- -module subroutine mech_RGC_init +module subroutine mech_RGC_init(num_homogMech) + + class(tNode), pointer, intent(in) :: & + num_homogMech integer :: & Ninstance, & h, & NofMyHomog, & sizeState, nIntFaceTot + + class (tNode), pointer :: & + num_RGC write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_RGC_label//' init -+>>>'; flush(6) @@ -99,20 +105,23 @@ module subroutine mech_RGC_init allocate(state(Ninstance)) allocate(state0(Ninstance)) allocate(dependentState(Ninstance)) + + num_RGC => num_homogMech%get('RGC',defaultVal=emptyDict) + + num%atol = num_RGC%get_asFloat('atol', defaultVal=1.0e+4_pReal) + num%rtol = num_RGC%get_asFloat('rtol', defaultVal=1.0e-3_pReal) + num%absMax = num_RGC%get_asFloat('amax', defaultVal=1.0e+10_pReal) + num%relMax = num_RGC%get_asFloat('rmax', defaultVal=1.0e+2_pReal) + num%pPert = num_RGC%get_asFloat('perturbpenalty', defaultVal=1.0e-7_pReal) + num%xSmoo = num_RGC%get_asFloat('relvantmismatch', defaultVal=1.0e-5_pReal) + num%viscPower = num_RGC%get_asFloat('viscositypower', defaultVal=1.0e+0_pReal) + num%viscModus = num_RGC%get_asFloat('viscositymodulus', defaultVal=0.0e+0_pReal) + num%refRelaxRate = num_RGC%get_asFloat('refrelaxationrate',defaultVal=1.0e-3_pReal) + num%maxdRelax = num_RGC%get_asFloat('maxrelaxationrate',defaultVal=1.0e+0_pReal) + num%maxVolDiscr = num_RGC%get_asFloat('maxvoldiscrepancy',defaultVal=1.0e-5_pReal) + num%volDiscrMod = num_RGC%get_asFloat('voldiscrepancymod',defaultVal=1.0e+12_pReal) + num%volDiscrPow = num_RGC%get_asFloat('dicrepancypower', defaultVal=5.0_pReal) - num%atol = config_numerics%getFloat('atol_rgc', defaultVal=1.0e+4_pReal) - num%rtol = config_numerics%getFloat('rtol_rgc', defaultVal=1.0e-3_pReal) - num%absMax = config_numerics%getFloat('amax_rgc', defaultVal=1.0e+10_pReal) - num%relMax = config_numerics%getFloat('rmax_rgc', defaultVal=1.0e+2_pReal) - num%pPert = config_numerics%getFloat('perturbpenalty_rgc', defaultVal=1.0e-7_pReal) - num%xSmoo = config_numerics%getFloat('relvantmismatch_rgc', defaultVal=1.0e-5_pReal) - num%viscPower = config_numerics%getFloat('viscositypower_rgc', defaultVal=1.0e+0_pReal) - num%viscModus = config_numerics%getFloat('viscositymodulus_rgc', defaultVal=0.0e+0_pReal) - num%refRelaxRate = config_numerics%getFloat('refrelaxationrate_rgc',defaultVal=1.0e-3_pReal) - num%maxdRelax = config_numerics%getFloat('maxrelaxationrate_rgc',defaultVal=1.0e+0_pReal) - num%maxVolDiscr = config_numerics%getFloat('maxvoldiscrepancy_rgc',defaultVal=1.0e-5_pReal) - num%volDiscrMod = config_numerics%getFloat('voldiscrepancymod_rgc',defaultVal=1.0e+12_pReal) - num%volDiscrPow = config_numerics%getFloat('dicrepancypower_rgc', defaultVal=5.0_pReal) if (num%atol <= 0.0_pReal) call IO_error(301,ext_msg='absTol_RGC') if (num%rtol <= 0.0_pReal) call IO_error(301,ext_msg='relTol_RGC') diff --git a/src/numerics.f90 b/src/numerics.f90 index c677ef888..9a005843c 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -111,6 +111,7 @@ subroutine numerics_init !$ endif !$ call omp_set_num_threads(DAMASK_NumThreadsInt) ! set number of threads for parallel execution + numerics_root => emptyDict inquire(file='numerics.yaml', exist=fexist) fileExists: if (fexist) then From 5cd2be05698e363b60f13d887709d192d3486679 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 16 Jun 2020 19:15:01 +0200 Subject: [PATCH 192/958] less global variables --- src/mesh/FEM_utilities.f90 | 8 +++++++ src/mesh/discretization_mesh.f90 | 8 +++++++ src/mesh/mesh_mech_FEM.f90 | 22 ++++++++++++++++- src/numerics.f90 | 41 -------------------------------- 4 files changed, 37 insertions(+), 42 deletions(-) diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 512d741bf..f6cfc6719 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -15,6 +15,7 @@ module FEM_utilities use FEsolving use homogenization use numerics + use YAML_types use debug use math use discretization_mesh @@ -101,10 +102,17 @@ contains subroutine utilities_init character(len=pStringLen) :: petsc_optionsOrder + class(tNode), pointer :: & + numerics_mesh + integer :: structOrder + PetscErrorCode :: ierr write(6,'(/,a)') ' <<<+- DAMASK_FEM_utilities init -+>>>' + numerics_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + structOrder = numerics_mesh%get_asInt('structOrder',defaultVal = 2) + !-------------------------------------------------------------------------------------------------- ! set debugging parameters debugPETSc = iand(debug_level(debug_SPECTRAL),debug_SPECTRALPETSC) /= 0 diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index 0880de115..530c58c38 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -20,6 +20,7 @@ module discretization_mesh use FEsolving use FEM_quadrature use prec + use YAML_types implicit none private @@ -84,6 +85,13 @@ subroutine discretization_mesh_init(restart) IS :: faceSetIS PetscErrorCode :: ierr + class(tNode), pointer :: & + numerics_mesh + integer :: integrationOrder + + numerics_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + integrationOrder = numerics_mesh%get_asInt('integrationorder',defaultVal = 2) + write(6,'(/,a)') ' <<<+- mesh init -+>>>' diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 5038d5f07..1270f9253 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -19,6 +19,7 @@ module mesh_mech_FEM use discretization_mesh use DAMASK_interface use numerics + use YAML_types use FEM_quadrature use homogenization use math @@ -94,8 +95,15 @@ subroutine FEM_mech_init(fieldBC) character(len=*), parameter :: prefix = 'mechFE_' PetscErrorCode :: ierr + class(tNode), pointer :: & + numerics_mesh + integer :: integrationOrder + write(6,'(/,a)') ' <<<+- FEM_mech init -+>>>'; flush(6) + numerics_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + integrationOrder = numerics_mesh%get_asInt('integrationorder',defaultVal = 2) + !-------------------------------------------------------------------------------------------------- ! Setup FEM mech mesh call DMClone(geomMesh,mech_mesh,ierr); CHKERRQ(ierr) @@ -321,6 +329,12 @@ subroutine FEM_mech_formResidual(dm_local,xx_local,f_local,dummy,ierr) PetscInt :: bcSize IS :: bcPoints + class(tNode), pointer :: & + numerics_mesh + logical :: BBarStabilisation + + numerics_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + BBarStabilisation = numerics_mesh%get_asBool('bbarstabilisation',defaultVal = .false.) allocate(pV0(dimPlex)) allocate(pcellJ(dimPlex**2)) @@ -464,6 +478,12 @@ subroutine FEM_mech_formJacobian(dm_local,xx_local,Jac_pre,Jac,dummy,ierr) IS :: bcPoints + class(tNode), pointer :: & + numerics_mesh + logical :: BBarStabilisation + + numerics_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + BBarStabilisation = numerics_mesh%get_asBool('bbarstabilisation',defaultVal = .false.) allocate(pV0(dimPlex)) allocate(pcellJ(dimPlex**2)) @@ -647,7 +667,7 @@ subroutine FEM_mech_converged(snes_local,PETScIter,xnorm,snorm,fnorm,reason,dumm !-------------------------------------------------------------------------------------------------- ! report - divTol = max(maxval(abs(P_av(1:dimPlex,1:dimPlex)))*err_struct_tolRel,err_struct_tolAbs) + divTol = max(maxval(abs(P_av(1:dimPlex,1:dimPlex)))*1.0e-4_pReal,1.0e-10_pReal) call SNESConvergedDefault(snes_local,PETScIter,xnorm,snorm,fnorm/divTol,reason,dummy,ierr) CHKERRQ(ierr) if (terminallyIll) reason = SNES_DIVERGED_FUNCTION_DOMAIN diff --git a/src/numerics.f90 b/src/numerics.f90 index 9a005843c..e6f24281b 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -35,9 +35,6 @@ module numerics !-------------------------------------------------------------------------------------------------- ! field parameters: - real(pReal), protected, public :: & - err_struct_tolAbs = 1.0e-10_pReal, & !< absolute tolerance for mechanical equilibrium - err_struct_tolRel = 1.0e-4_pReal !< relative tolerance for mechanical equilibrium integer, protected, public :: & itmax = 250, & !< maximum number of iterations itmin = 1, & !< minimum number of iterations @@ -63,11 +60,6 @@ module numerics !-------------------------------------------------------------------------------------------------- ! Mesh parameters: #ifdef Mesh - integer, protected, public :: & - integrationOrder = 2, & !< order of quadrature rule required - structOrder = 2 !< order of displacement shape functions - logical, protected, public :: & - BBarStabilisation = .false. character(len=pStringLen), protected, public :: & petsc_options = '' #endif @@ -90,7 +82,6 @@ subroutine numerics_init key class (tNode), pointer :: & num_grid, & - num_mesh, & num_generic logical :: fexist !$ character(len=6) DAMASK_NumThreadsString ! environment variable DAMASK_NUM_THREADS @@ -181,30 +172,9 @@ subroutine numerics_init charLength = num_generic%get_asFloat(key) case ('residualStiffness') residualStiffness = num_generic%get_asFloat(key) -!-------------------------------------------------------------------------------------------------- -! field parameters - case ('err_struct_tolabs') - err_struct_tolAbs = num_generic%get_asFloat(key) - case ('err_struct_tolrel') - err_struct_tolRel = num_generic%get_asFloat(key) endselect enddo -#ifdef Mesh - num_grid => numerics_root%get('mesh',defaultVal=emptyDict) - do i=1,num_grid%length - key = num_grid%getKey(i) - select case(key) - case ('integrationorder') - integrationorder = num_generic%get_asInt(key) - case ('structorder') - structorder = num_generic%get_asInt(key) - case ('bbarstabilisation') - BBarStabilisation = num_generic%get_asInt(key) > 0 - end select - enddo -#endif - else fileExists write(6,'(a,/)') ' using standard values' flush(6) @@ -237,8 +207,6 @@ subroutine numerics_init write(6,'(a24,1x,i8)') ' itmin: ',itmin write(6,'(a24,1x,i8)') ' maxCutBack: ',maxCutBack write(6,'(a24,1x,i8)') ' maxStaggeredIter: ',stagItMax - write(6,'(a24,1x,es8.1)') ' err_struct_tolAbs: ',err_struct_tolAbs - write(6,'(a24,1x,es8.1)') ' err_struct_tolRel: ',err_struct_tolRel !-------------------------------------------------------------------------------------------------- ! spectral parameters @@ -254,13 +222,6 @@ subroutine numerics_init #endif !-------------------------------------------------------------------------------------------------- -! spectral parameters -#ifdef Mesh - write(6,'(a24,1x,i8)') ' integrationOrder: ',integrationOrder - write(6,'(a24,1x,i8)') ' structOrder: ',structOrder - write(6,'(a24,1x,L8)') ' B-Bar stabilisation: ',BBarStabilisation -#endif - #ifdef PETSC write(6,'(a24,1x,a)') ' PETSc_options: ',trim(petsc_options) #endif @@ -275,8 +236,6 @@ subroutine numerics_init if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') - if (err_struct_tolRel <= 0.0_pReal) call IO_error(301,ext_msg='err_struct_tolRel') - if (err_struct_tolAbs <= 0.0_pReal) call IO_error(301,ext_msg='err_struct_tolAbs') #ifdef Grid if (err_stress_tolrel <= 0.0_pReal) call IO_error(301,ext_msg='err_stress_tolRel') if (err_stress_tolabs <= 0.0_pReal) call IO_error(301,ext_msg='err_stress_tolAbs') From 7f0c2d3825b9bd77f64f9fb781e5ec9f2ee8be44 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 16 Jun 2020 20:49:58 +0200 Subject: [PATCH 193/958] further removal of public variables --- src/grid/grid_mech_FEM.f90 | 19 +++++-- src/grid/grid_mech_spectral_basic.f90 | 18 +++++-- src/grid/grid_mech_spectral_polarisation.f90 | 34 +++++++++++-- src/numerics.f90 | 52 -------------------- 4 files changed, 61 insertions(+), 62 deletions(-) diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index c8bef7ff2..e8257cdba 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -16,6 +16,7 @@ module grid_mech_FEM use math use spectral_utilities use FEsolving + use YAML_types use numerics use homogenization use discretization @@ -412,11 +413,23 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,fnorm,reason,dummy,i real(pReal) :: & err_div, & divTol, & - BCTol + BCTol, & + eps_div_atol, & + eps_div_rtol, & + eps_stress_atol, & + eps_stress_rtol + class(tNode), pointer :: & + num_grid + + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + eps_div_atol = num_grid%get_asFloat('eps_div_atol',defaultVal=1.0e-4_pReal) + eps_div_rtol = num_grid%get_asFloat('eps_div_rtol',defaultVal=5.0e-4_pReal) + eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) + eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=0.01_pReal) err_div = fnorm*sqrt(wgt)*geomSize(1)/scaledGeomSize(1)/detJ - divTol = max(maxval(abs(P_av))*err_div_tolRel ,err_div_tolAbs) - BCTol = max(maxval(abs(P_av))*err_stress_tolRel,err_stress_tolAbs) + divTol = max(maxval(abs(P_av))*eps_div_rtol ,eps_div_atol) + BCTol = max(maxval(abs(P_av))*eps_stress_rtol,eps_stress_atol) if ((totalIter >= itmin .and. & all([ err_div/divTol, & diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index c69fcdc02..639b170f0 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -386,10 +386,22 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm PetscErrorCode :: ierr real(pReal) :: & divTol, & - BCTol + BCTol, & + eps_div_atol, & + eps_div_rtol, & + eps_stress_atol, & + eps_stress_rtol + class(tNode), pointer :: & + num_grid + + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + eps_div_atol = num_grid%get_asFloat('eps_div_atol',defaultVal=1.0e-4_pReal) + eps_div_rtol = num_grid%get_asFloat('eps_div_rtol',defaultVal=5.0e-4_pReal) + eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) + eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=0.01_pReal) - divTol = max(maxval(abs(P_av))*err_div_tolRel ,err_div_tolAbs) - BCTol = max(maxval(abs(P_av))*err_stress_tolRel,err_stress_tolAbs) + divTol = max(maxval(abs(P_av))*eps_div_rtol ,eps_div_atol) + BCTol = max(maxval(abs(P_av))*eps_stress_rtol,eps_stress_atol) if ((totalIter >= itmin .and. & all([ err_div/divTol, & diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index ce20c0e08..74cfa0414 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -434,11 +434,28 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm real(pReal) :: & curlTol, & divTol, & - BCTol + BCTol, & + eps_div_atol, & + eps_div_rtol, & + eps_curl_atol, & + eps_curl_rtol, & + eps_stress_atol, & + eps_stress_rtol + class(tNode), pointer :: & + num_grid + + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + eps_div_atol = num_grid%get_asFloat('eps_div_atol',defaultVal=1.0e-4_pReal) + eps_div_rtol = num_grid%get_asFloat('eps_div_rtol',defaultVal=5.0e-4_pReal) + eps_curl_atol = num_grid%get_asFloat('eps_curl_atol',defaultVal=1.0e-10_pReal) + eps_curl_rtol = num_grid%get_asFloat('eps_curl_rtol',defaultVal=5.0e-4_pReal) + eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) + eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=0.01_pReal) - curlTol = max(maxval(abs(F_aim-math_I3))*err_curl_tolRel ,err_curl_tolAbs) - divTol = max(maxval(abs(P_av)) *err_div_tolRel ,err_div_tolAbs) - BCTol = max(maxval(abs(P_av)) *err_stress_tolRel,err_stress_tolAbs) + + curlTol = max(maxval(abs(F_aim-math_I3))*eps_curl_rtol ,eps_curl_atol) + divTol = max(maxval(abs(P_av)) *eps_div_rtol ,eps_div_atol) + BCTol = max(maxval(abs(P_av)) *eps_stress_rtol,eps_stress_atol) if ((totalIter >= itmin .and. & all([ err_div /divTol, & @@ -488,9 +505,18 @@ subroutine formResidual(in, FandF_tau, & nfuncs PetscObject :: dummy PetscErrorCode :: ierr + class(tNode), pointer :: & + num_grid + real(pReal) :: & + polarAlpha, & + polarBeta integer :: & i, j, k, e + num_grid => numerics_root%get('grid',defaultVal = emptyDict) + polarAlpha = num_grid%get_asFloat('polaralpha',defaultVal=1.0_pReal) + polarBeta = num_grid%get_asFloat('polarbeta', defaultVal=1.0_pReal) + F => FandF_tau(1:3,1:3,1,& XG_RANGE,YG_RANGE,ZG_RANGE) F_tau => FandF_tau(1:3,1:3,2,& diff --git a/src/numerics.f90 b/src/numerics.f90 index e6f24281b..ac16c5496 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -44,15 +44,6 @@ module numerics !-------------------------------------------------------------------------------------------------- ! spectral parameters: #ifdef Grid - real(pReal), protected, public :: & - err_div_tolAbs = 1.0e-4_pReal, & !< absolute tolerance for equilibrium - err_div_tolRel = 5.0e-4_pReal, & !< relative tolerance for equilibrium - err_curl_tolAbs = 1.0e-10_pReal, & !< absolute tolerance for compatibility - err_curl_tolRel = 5.0e-4_pReal, & !< relative tolerance for compatibility - err_stress_tolAbs = 1.0e3_pReal, & !< absolute tolerance for fullfillment of stress BC - err_stress_tolRel = 0.01_pReal, & !< relative tolerance for fullfillment of stress BC - polarAlpha = 1.0_pReal, & !< polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme - polarBeta = 1.0_pReal !< polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme character(len=pStringLen), protected, public :: & petsc_options = '' #endif @@ -117,24 +108,6 @@ subroutine numerics_init do i=1,num_grid%length key = num_grid%getKey(i) select case(key) -#ifdef Grid - case ('err_div_tolabs') - err_div_tolAbs = num_grid%get_asFloat(key) - case ('err_div_tolrel') - err_div_tolRel = num_grid%get_asFloat(key) - case ('err_stress_tolrel') - err_stress_tolrel = num_grid%get_asFloat(key) - case ('err_stress_tolabs') - err_stress_tolabs = num_grid%get_asFloat(key) - case ('err_curl_tolabs') - err_curl_tolAbs = num_grid%get_asFloat(key) - case ('err_curl_tolrel') - err_curl_tolRel = num_grid%get_asFloat(key) - case ('polaralpha') - polarAlpha = num_grid%get_asFloat(key) - case ('polarbeta') - polarBeta = num_grid%get_asFloat(key) -#endif case ('itmax') itmax = num_grid%get_asInt(key) case ('itmin') @@ -208,19 +181,6 @@ subroutine numerics_init write(6,'(a24,1x,i8)') ' maxCutBack: ',maxCutBack write(6,'(a24,1x,i8)') ' maxStaggeredIter: ',stagItMax -!-------------------------------------------------------------------------------------------------- -! spectral parameters -#ifdef Grid - write(6,'(a24,1x,es8.1)') ' err_stress_tolAbs: ',err_stress_tolAbs - write(6,'(a24,1x,es8.1)') ' err_stress_tolRel: ',err_stress_tolRel - write(6,'(a24,1x,es8.1)') ' err_div_tolAbs: ',err_div_tolAbs - write(6,'(a24,1x,es8.1)') ' err_div_tolRel: ',err_div_tolRel - write(6,'(a24,1x,es8.1)') ' err_curl_tolAbs: ',err_curl_tolAbs - write(6,'(a24,1x,es8.1)') ' err_curl_tolRel: ',err_curl_tolRel - write(6,'(a24,1x,es8.1)') ' polarAlpha: ',polarAlpha - write(6,'(a24,1x,es8.1)') ' polarBeta: ',polarBeta -#endif - !-------------------------------------------------------------------------------------------------- #ifdef PETSC write(6,'(a24,1x,a)') ' PETSc_options: ',trim(petsc_options) @@ -236,18 +196,6 @@ subroutine numerics_init if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') -#ifdef Grid - if (err_stress_tolrel <= 0.0_pReal) call IO_error(301,ext_msg='err_stress_tolRel') - if (err_stress_tolabs <= 0.0_pReal) call IO_error(301,ext_msg='err_stress_tolAbs') - if (err_div_tolRel < 0.0_pReal) call IO_error(301,ext_msg='err_div_tolRel') - if (err_div_tolAbs <= 0.0_pReal) call IO_error(301,ext_msg='err_div_tolAbs') - if (err_curl_tolRel < 0.0_pReal) call IO_error(301,ext_msg='err_curl_tolRel') - if (err_curl_tolAbs <= 0.0_pReal) call IO_error(301,ext_msg='err_curl_tolAbs') - if (polarAlpha <= 0.0_pReal .or. & - polarAlpha > 2.0_pReal) call IO_error(301,ext_msg='polarAlpha') - if (polarBeta < 0.0_pReal .or. & - polarBeta > 2.0_pReal) call IO_error(301,ext_msg='polarBeta') -#endif end subroutine numerics_init From d0d9245707a665952042db5a2d2090af8a574939 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 3 Jun 2020 15:02:39 +0200 Subject: [PATCH 194/958] clearer intention --- python/tests/test_Result.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index d7946e5e0..38c0d84cc 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -302,8 +302,8 @@ class TestResult: @pytest.mark.parametrize('allowed',['off','on']) def test_rename(self,default,allowed): - F = default.read_dataset(default.get_dataset_location('F')) if allowed == 'on': + F = default.read_dataset(default.get_dataset_location('F')) default.allow_modification() default.rename('F','new_name') assert np.all(F == default.read_dataset(default.get_dataset_location('new_name'))) From 829896390ca3089d2f9e2e1d7d9d3b2659f2878e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 16 Jun 2020 23:37:24 +0200 Subject: [PATCH 195/958] hopefully not needed any more --- src/crystallite.f90 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 929fec862..e85f9e517 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -287,11 +287,9 @@ end subroutine crystallite_init !-------------------------------------------------------------------------------------------------- !> @brief calculate stress (P) !-------------------------------------------------------------------------------------------------- -function crystallite_stress(dummyArgumentToPreventInternalCompilerErrorWithGCC) +function crystallite_stress() logical, dimension(discretization_nIP,discretization_nElem) :: crystallite_stress - real(pReal), intent(in), optional :: & - dummyArgumentToPreventInternalCompilerErrorWithGCC real(pReal) :: & formerSubStep integer :: & From 62384b583677347de327158d431511f5ee6347da Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 16 Jun 2020 23:43:15 +0200 Subject: [PATCH 196/958] bugfix: invalid description/unit --- src/constitutive_plastic_dislotwin.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index 7c7d24ab8..dc40d269e 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -830,7 +830,7 @@ module subroutine plastic_dislotwin_results(instance,group) 'mobile dislocation density','1/m²') case('rho_dip') if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_dip,'rho_dip',& - 'dislocation dipole density''1/m²') + 'dislocation dipole density','1/m²') case('gamma_sl') if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma_sl,'gamma_sl',& 'plastic shear','1') From f234f8cd25e4b393c2db1ba5ba40d9c650d24375 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 17 Jun 2020 12:18:43 +0200 Subject: [PATCH 197/958] updated tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index a6109acd2..e01b61982 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit a6109acd264c683fd335b1d1f69934fc4a4078e3 +Subproject commit e01b61982a1eee58ba024a4760b05ba82d2c0edc From 45f1e3a986f727fa759d13c8746f15f1d55b4bdf Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 17 Jun 2020 13:24:31 +0200 Subject: [PATCH 198/958] further removal of public variables --- PRIVATE | 2 +- src/CPFEM.f90 | 9 ++++++++- src/math.f90 | 10 ++++++++-- src/numerics.f90 | 19 +------------------ 4 files changed, 18 insertions(+), 22 deletions(-) diff --git a/PRIVATE b/PRIVATE index e01b61982..a22650393 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit e01b61982a1eee58ba024a4760b05ba82d2c0edc +Subproject commit a22650393972eeaf4fa20bb5a5fe69f853c211fa diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index d285a1e01..825adbf26 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -125,12 +125,19 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS H integer(pInt) elCP, & ! crystal plasticity element number - i, j, k, l, m, n, ph, homog, mySource + i, j, k, l, m, n, ph, homog, mySource, & + iJacoStiffness logical updateJaco ! flag indicating if Jacobian has to be updated real(pReal), parameter :: ODD_STRESS = 1e15_pReal, & !< return value for stress if terminallyIll ODD_JACOBIAN = 1e50_pReal !< return value for jacobian if terminallyIll + class(tNode), pointer :: & + num_commercialFEM + + num_commercialFEM => numerics_root%get('commercialFEM',defaultVal=emptyDict) + iJacoStiffness = num_commercialFEM%get_asInt('ijacostiffness',defaultVal=1) + elCP = mesh_FEM2DAMASK_elem(elFE) if (iand(debug_level(debug_CPFEM), debug_levelBasic) /= 0_pInt & diff --git a/src/math.f90 b/src/math.f90 index 33c7c0310..6a8fdbe7b 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -9,6 +9,7 @@ module math use prec use IO use numerics + use YAML_types use LAPACK_interface implicit none @@ -89,11 +90,16 @@ contains subroutine math_init real(pReal), dimension(4) :: randTest - integer :: randSize + integer :: randSize,randomSeed integer, dimension(:), allocatable :: randInit - + class(tNode), pointer :: & + num_generic + write(6,'(/,a)') ' <<<+- math init -+>>>'; flush(6) + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + randomSeed = num_generic%get_asInt('random_seed', defaultVal = 0) + call random_seed(size=randSize) allocate(randInit(randSize)) if (randomSeed > 0) then diff --git a/src/numerics.f90 b/src/numerics.f90 index ac16c5496..e07711e0a 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -20,9 +20,7 @@ module numerics class(tNode), pointer, public :: & numerics_root - integer, protected, public :: & - iJacoStiffness = 1, & !< frequency of stiffness update - randomSeed = 0, & !< fixed seeding for pseudo-random number generator, Default 0: use random seed + integer, protected, public :: & worldrank = 0, & !< MPI worldrank (/=0 for MPI simulations only) worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) integer(4), protected, public :: & @@ -129,16 +127,9 @@ subroutine numerics_init select case(key) case ('defgradtolerance') defgradTolerance = num_generic%get_asFloat(key) - case ('ijacostiffness') - iJacoStiffness = num_generic%get_asInt(key) case ('unitlength') numerics_unitlength = num_generic%get_asFloat(key) -!-------------------------------------------------------------------------------------------------- -! random seeding parameter - case ('fixed_seed', 'random_seed') - randomSeed = num_generic%get_asInt(key) - !-------------------------------------------------------------------------------------------------- ! gradient parameter case ('charLength') @@ -156,15 +147,8 @@ subroutine numerics_init !-------------------------------------------------------------------------------------------------- ! writing parameters to output write(6,'(a24,1x,es8.1)') ' defgradTolerance: ',defgradTolerance - write(6,'(a24,1x,i8)') ' iJacoStiffness: ',iJacoStiffness write(6,'(a24,1x,es8.1,/)')' unitlength: ',numerics_unitlength -!-------------------------------------------------------------------------------------------------- -! Random seeding parameter - write(6,'(a16,1x,i16,/)') ' random_seed: ',randomSeed - if (randomSeed <= 0) & - write(6,'(a,/)') ' random seed will be generated!' - !-------------------------------------------------------------------------------------------------- ! gradient parameter write(6,'(a24,1x,es8.1)') ' charLength: ',charLength @@ -189,7 +173,6 @@ subroutine numerics_init !-------------------------------------------------------------------------------------------------- ! sanity checks if (defgradTolerance <= 0.0_pReal) call IO_error(301,ext_msg='defgradTolerance') - if (iJacoStiffness < 1) call IO_error(301,ext_msg='iJacoStiffness') if (numerics_unitlength <= 0.0_pReal) call IO_error(301,ext_msg='unitlength') if (residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') if (itmax <= 1) call IO_error(301,ext_msg='itmax') From 1e2df54bb0aed73db2f301a75e4acb3305153aab Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 17 Jun 2020 13:38:14 +0200 Subject: [PATCH 199/958] Not used anywhere --- src/numerics.f90 | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/numerics.f90 b/src/numerics.f90 index e07711e0a..5f893db17 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -26,7 +26,6 @@ module numerics integer(4), protected, public :: & DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive real(pReal), protected, public :: & - defgradTolerance = 1.0e-7_pReal, & !< deviation of deformation gradient that is still allowed (used by CPFEM to determine outdated ffn1) numerics_unitlength = 1.0_pReal, & !< determines the physical length of one computational length unit charLength = 1.0_pReal, & !< characteristic length scale for gradient problems residualStiffness = 1.0e-6_pReal !< non-zero residual damage @@ -125,8 +124,6 @@ subroutine numerics_init do i=1,num_generic%length key = num_generic%getKey(i) select case(key) - case ('defgradtolerance') - defgradTolerance = num_generic%get_asFloat(key) case ('unitlength') numerics_unitlength = num_generic%get_asFloat(key) @@ -146,7 +143,6 @@ subroutine numerics_init !-------------------------------------------------------------------------------------------------- ! writing parameters to output - write(6,'(a24,1x,es8.1)') ' defgradTolerance: ',defgradTolerance write(6,'(a24,1x,es8.1,/)')' unitlength: ',numerics_unitlength !-------------------------------------------------------------------------------------------------- @@ -172,7 +168,6 @@ subroutine numerics_init !-------------------------------------------------------------------------------------------------- ! sanity checks - if (defgradTolerance <= 0.0_pReal) call IO_error(301,ext_msg='defgradTolerance') if (numerics_unitlength <= 0.0_pReal) call IO_error(301,ext_msg='unitlength') if (residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') if (itmax <= 1) call IO_error(301,ext_msg='itmax') From e455dd4b9a6511112b3a58a48e0f595b4ab77a81 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 17 Jun 2020 15:21:51 +0200 Subject: [PATCH 200/958] sanity checks --- src/CPFEM.f90 | 5 +++++ src/damage_nonlocal.f90 | 8 ++++++++ src/grid/grid_mech_spectral_basic.f90 | 2 +- src/grid/grid_mech_spectral_polarisation.f90 | 8 +++++++- src/numerics.f90 | 6 +----- 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 825adbf26..1ae37fa2e 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -138,6 +138,11 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS num_commercialFEM => numerics_root%get('commercialFEM',defaultVal=emptyDict) iJacoStiffness = num_commercialFEM%get_asInt('ijacostiffness',defaultVal=1) +!---------------------------------------------------------------------- +! sanity check + if (iJacoStiffness < 1) call IO_error(301,ext_msg='iJacoStiffness') +!---------------------------------------------------------------------- + elCP = mesh_FEM2DAMASK_elem(elFE) if (iand(debug_level(debug_CPFEM), debug_levelBasic) /= 0_pInt & diff --git a/src/damage_nonlocal.f90 b/src/damage_nonlocal.f90 index 9644211c4..f2f26889d 100644 --- a/src/damage_nonlocal.f90 +++ b/src/damage_nonlocal.f90 @@ -7,6 +7,7 @@ module damage_nonlocal use material use config use numerics + use YAML_types use crystallite use lattice use source_damage_isoBrittle @@ -138,6 +139,13 @@ function damage_nonlocal_getDiffusion(ip,el) integer :: & homog, & grain + real(pReal) :: & + charLength !< characteristic length scale for gradient problems + class(tNode), pointer :: & + num_generic + + num_generic => numerics_root%get('generic',defaultVal= emptyDict) + charLength = num_generic%get_asFloat('charLength',defaultVal=1.0_pReal) homog = material_homogenizationAt(el) damage_nonlocal_getDiffusion = 0.0_pReal diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 639b170f0..1b0f6ccce 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -108,7 +108,7 @@ subroutine grid_mech_spectral_basic_init write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2014.02.006' num_grid => numerics_root%get('grid',defaultVal=emptyDict) - num%update_gamma = num_grid%get_asInt('update_gamma',defaultVal=0) > 0 !ToDo: Make boolean + num%update_gamma = num_grid%get_asBool('update_gamma',defaultVal=.false.) !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 74cfa0414..9643f9a08 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -114,7 +114,7 @@ subroutine grid_mech_spectral_polarisation_init write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2014.02.006' num_grid => numerics_root%get('grid',defaultVal=emptyDict) - num%update_gamma = num_grid%get_asInt('update_gamma',defaultVal=0) > 0 + num%update_gamma = num_grid%get_asBool('update_gamma',defaultVal=.false.) !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc @@ -517,6 +517,12 @@ subroutine formResidual(in, FandF_tau, & polarAlpha = num_grid%get_asFloat('polaralpha',defaultVal=1.0_pReal) polarBeta = num_grid%get_asFloat('polarbeta', defaultVal=1.0_pReal) +!----------------------------------------------------------------------------------------------- +! sanity checks + if (polarAlpha <= 0.0_pReal .or. polarAlpha > 2.0_pReal) call IO_error(301,ext_msg='polarAlpha') + if (polarBeta < 0.0_pReal .or. polarBeta > 2.0_pReal) call IO_error(301,ext_msg='polarBeta') +!------------------------------------------------------------------------------------------------ + F => FandF_tau(1:3,1:3,1,& XG_RANGE,YG_RANGE,ZG_RANGE) F_tau => FandF_tau(1:3,1:3,2,& diff --git a/src/numerics.f90 b/src/numerics.f90 index 5f893db17..b4fd8c7de 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -27,7 +27,6 @@ module numerics DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive real(pReal), protected, public :: & numerics_unitlength = 1.0_pReal, & !< determines the physical length of one computational length unit - charLength = 1.0_pReal, & !< characteristic length scale for gradient problems residualStiffness = 1.0e-6_pReal !< non-zero residual damage !-------------------------------------------------------------------------------------------------- @@ -63,7 +62,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine numerics_init !$ integer :: gotDAMASK_NUM_THREADS = 1 - integer :: i,j, ierr + integer :: i, ierr character(len=:), allocatable :: & numerics_input, & numerics_inFlow, & @@ -129,8 +128,6 @@ subroutine numerics_init !-------------------------------------------------------------------------------------------------- ! gradient parameter - case ('charLength') - charLength = num_generic%get_asFloat(key) case ('residualStiffness') residualStiffness = num_generic%get_asFloat(key) endselect @@ -147,7 +144,6 @@ subroutine numerics_init !-------------------------------------------------------------------------------------------------- ! gradient parameter - write(6,'(a24,1x,es8.1)') ' charLength: ',charLength write(6,'(a24,1x,es8.1)') ' residualStiffness: ',residualStiffness !-------------------------------------------------------------------------------------------------- From f6355d199a885843faff8f0e979f70f6c2b0e79a Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 17 Jun 2020 16:47:13 +0200 Subject: [PATCH 201/958] better as local variables --- PRIVATE | 2 +- src/grid/DAMASK_grid.f90 | 14 +++++++++++++- src/marc/discretization_marc.f90 | 12 +++++++++--- src/mesh/DAMASK_mesh.f90 | 16 +++++++++++++++- src/numerics.f90 | 23 +---------------------- 5 files changed, 39 insertions(+), 28 deletions(-) diff --git a/PRIVATE b/PRIVATE index a22650393..017b38d79 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit a22650393972eeaf4fa20bb5a5fe69f853c211fa +Subproject commit 017b38d79deb4720368927b8a884527e2b331c23 diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index dae00cf5d..640873a72 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -61,6 +61,7 @@ program DAMASK_grid i, j, k, l, field, & errorID = 0, & cutBackLevel = 0, & !< cut back level \f$ t = \frac{t_{inc}}{2^l} \f$ + maxCutBack, & !< max number of cut backs stepFraction = 0 !< fraction of current time interval integer :: & currentLoadcase = 0, & !< current load case @@ -68,6 +69,7 @@ program DAMASK_grid totalIncsCounter = 0, & !< total # of increments statUnit = 0, & !< file unit for statistics output stagIter, & + stagItMax, & !< max number of field level staggered iterations nActiveFields = 0 character(len=pStringLen), dimension(:), allocatable :: fileContent character(len=pStringLen) :: & @@ -90,7 +92,8 @@ program DAMASK_grid external :: & quit class (tNode), pointer :: & - num_grid + num_grid, & + num_generic !-------------------------------------------------------------------------------------------------- ! init DAMASK (all modules) @@ -145,6 +148,15 @@ program DAMASK_grid end select +!------------------------------------------------------------------------------------------------- +! reading field paramters from numerics file and do sanity checks + num_generic => numerics_root%get('generic', defaultVal=emptyDict) + stagItMax = num_generic%get_asInt('maxStaggeredIter',defaultVal=10) + maxCutBack = num_generic%get_asInt('maxCutBack',defaultVal=3) + + if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') + if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') + !-------------------------------------------------------------------------------------------------- ! reading information from load case file and to sanity checks fileContent = IO_readlines(trim(loadCaseFile)) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index d1026d568..8945c2c18 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -13,6 +13,7 @@ module discretization_marc use IO use debug use numerics + use YAML_types use FEsolving use element use discretization @@ -58,7 +59,7 @@ subroutine discretization_marc_init integer:: & Nnodes, & !< total number of nodes in the mesh Nelems !< total number of elements in the mesh - + real(pReal), dimension(:,:), allocatable :: & IP_reshaped integer,dimension(:,:,:), allocatable :: & @@ -67,10 +68,15 @@ subroutine discretization_marc_init connectivity_elem real(pReal), dimension(:,:,:,:),allocatable :: & unscaledNormals - + + class(tNode), pointer :: & + num_commercialFEM + write(6,'(/,a)') ' <<<+- discretization_marc init -+>>>'; flush(6) - mesh_unitlength = numerics_unitlength ! set physical extent of a length unit in mesh + num_commercialFEM => numerics_root%get('commercialFEM',defaultVal = emptyDict) + mesh_unitlength = num_commercialFEM%get_asFloat('unitlength',defaultVal=1.0_pReal) ! set physical extent of a length unit in mesh + if (mesh_unitlength <= 0.0_pReal) call IO_error(301,ext_msg='unitlength') call inputRead(elem,node0_elem,connectivity_elem,microstructureAt,homogenizationAt) nElems = size(connectivity_elem,2) diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index d36b27c17..98b9d6dfe 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -16,6 +16,7 @@ program DAMASK_mesh use CPFEM2 use FEsolving use numerics + use YAML_types use discretization_mesh use FEM_Utilities use mesh_mech_FEM @@ -48,6 +49,7 @@ program DAMASK_mesh i, & errorID, & cutBackLevel = 0, & !< cut back level \f$ t = \frac{t_{inc}}{2^l} \f$ + maxCutBack, & !< max number of cutbacks stepFraction = 0, & !< fraction of current time interval currentLoadcase = 0, & !< current load case currentFace = 0, & @@ -55,7 +57,10 @@ program DAMASK_mesh totalIncsCounter = 0, & !< total # of increments statUnit = 0, & !< file unit for statistics output stagIter, & + stagItMax, & !< max number of field level staggered iterations component + class(tNode), pointer :: & + num_generic character(len=pStringLen), dimension(:), allocatable :: fileContent character(len=pStringLen) :: & incInfo, & @@ -72,7 +77,16 @@ program DAMASK_mesh ! init DAMASK (all modules) call CPFEM_initAll write(6,'(/,a)') ' <<<+- DAMASK_FEM init -+>>>'; flush(6) - + +!--------------------------------------------------------------------- +! reading field information from numerics file and do sanity checks + num_generic => numerics_root%get('generic', defaultVal=emptyDict) + stagItMax = num_generic%get_asInt('maxStaggeredIter',defaultVal=10) + maxCutBack = num_generic%get_asInt('maxCutBack',defaultVal=3) + + if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') + if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') + ! reading basic information from load case file and allocate data structure containing load cases call DMGetDimension(geomMesh,dimPlex,ierr); CHKERRA(ierr) !< dimension of mesh (2D or 3D) nActiveFields = 1 diff --git a/src/numerics.f90 b/src/numerics.f90 index b4fd8c7de..06cf3c633 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -26,16 +26,13 @@ module numerics integer(4), protected, public :: & DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive real(pReal), protected, public :: & - numerics_unitlength = 1.0_pReal, & !< determines the physical length of one computational length unit residualStiffness = 1.0e-6_pReal !< non-zero residual damage !-------------------------------------------------------------------------------------------------- ! field parameters: integer, protected, public :: & itmax = 250, & !< maximum number of iterations - itmin = 1, & !< minimum number of iterations - stagItMax = 10, & !< max number of field level staggered iterations - maxCutBack = 3 !< max number of cut backs + itmin = 1 !< minimum number of iterations !-------------------------------------------------------------------------------------------------- ! spectral parameters: @@ -108,10 +105,6 @@ subroutine numerics_init itmax = num_grid%get_asInt(key) case ('itmin') itmin = num_grid%get_asInt(key) - case ('maxCutBack') - maxCutBack = num_grid%get_asInt(key) - case ('maxStaggeredIter') - stagItMax = num_grid%get_asInt(key) #ifdef PETSC case ('petsc_options') petsc_options = num_grid%get_asString(key) @@ -123,11 +116,6 @@ subroutine numerics_init do i=1,num_generic%length key = num_generic%getKey(i) select case(key) - case ('unitlength') - numerics_unitlength = num_generic%get_asFloat(key) - -!-------------------------------------------------------------------------------------------------- -! gradient parameter case ('residualStiffness') residualStiffness = num_generic%get_asFloat(key) endselect @@ -138,10 +126,6 @@ subroutine numerics_init flush(6) endif fileExists -!-------------------------------------------------------------------------------------------------- -! writing parameters to output - write(6,'(a24,1x,es8.1,/)')' unitlength: ',numerics_unitlength - !-------------------------------------------------------------------------------------------------- ! gradient parameter write(6,'(a24,1x,es8.1)') ' residualStiffness: ',residualStiffness @@ -154,8 +138,6 @@ subroutine numerics_init ! field parameters write(6,'(a24,1x,i8)') ' itmax: ',itmax write(6,'(a24,1x,i8)') ' itmin: ',itmin - write(6,'(a24,1x,i8)') ' maxCutBack: ',maxCutBack - write(6,'(a24,1x,i8)') ' maxStaggeredIter: ',stagItMax !-------------------------------------------------------------------------------------------------- #ifdef PETSC @@ -164,12 +146,9 @@ subroutine numerics_init !-------------------------------------------------------------------------------------------------- ! sanity checks - if (numerics_unitlength <= 0.0_pReal) call IO_error(301,ext_msg='unitlength') if (residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') if (itmax <= 1) call IO_error(301,ext_msg='itmax') if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') - if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') - if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') end subroutine numerics_init From d4d29ff376ad480ee9d6a232ae6ee9dcc22917d5 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 17 Jun 2020 17:19:21 +0200 Subject: [PATCH 202/958] cleaning: comments added --- src/CPFEM.f90 | 11 +++++------ src/damage_local.f90 | 11 ++++++++++- src/grid/grid_damage_spectral.f90 | 13 +++++++++++-- src/grid/grid_mech_spectral_polarisation.f90 | 4 ++-- src/math.f90 | 4 +++- src/mesh/FEM_utilities.f90 | 2 +- src/mesh/discretization_mesh.f90 | 2 +- src/mesh/mesh_mech_FEM.f90 | 2 +- src/numerics.f90 | 20 +------------------- 9 files changed, 35 insertions(+), 34 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 1ae37fa2e..fce375259 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -126,7 +126,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS integer(pInt) elCP, & ! crystal plasticity element number i, j, k, l, m, n, ph, homog, mySource, & - iJacoStiffness + iJacoStiffness !< frequency of stiffness update logical updateJaco ! flag indicating if Jacobian has to be updated real(pReal), parameter :: ODD_STRESS = 1e15_pReal, & !< return value for stress if terminallyIll @@ -134,14 +134,13 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS class(tNode), pointer :: & num_commercialFEM - + +!------------------------------------------------------------------------------ +! read numerical parameters and do sanity check num_commercialFEM => numerics_root%get('commercialFEM',defaultVal=emptyDict) iJacoStiffness = num_commercialFEM%get_asInt('ijacostiffness',defaultVal=1) - -!---------------------------------------------------------------------- -! sanity check if (iJacoStiffness < 1) call IO_error(301,ext_msg='iJacoStiffness') -!---------------------------------------------------------------------- +!------------------------------------------------------------------------------ elCP = mesh_FEM2DAMASK_elem(elFE) diff --git a/src/damage_local.f90 b/src/damage_local.f90 index 93117ef26..892768fdc 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -4,9 +4,11 @@ !-------------------------------------------------------------------------------------------------- module damage_local use prec + use IO use material use config use numerics + use YAML_types use source_damage_isoBrittle use source_damage_isoDuctile use source_damage_anisoBrittle @@ -83,8 +85,15 @@ function damage_local_updateState(subdt, ip, el) homog, & offset real(pReal) :: & - phi, phiDot, dPhiDot_dPhi + phi, phiDot, dPhiDot_dPhi, & + residualStiffness !< non-zero residual damage + class(tNode), pointer :: & + num_generic + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + residualStiffness = num_generic%get_asFloat('residualStiffness', defaultVal=1.0e-6_pReal) + if (residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') + homog = material_homogenizationAt(el) offset = material_homogenizationMemberAt(ip,el) phi = damageState(homog)%subState0(1,offset) diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index 41ed79f40..41e13dd29 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -11,10 +11,12 @@ module grid_damage_spectral use PETScsnes use prec + use IO use spectral_utilities use discretization_grid use damage_nonlocal use numerics + use YAML_types implicit none private @@ -236,8 +238,15 @@ subroutine formResidual(in,x_scal,f_scal,dummy,ierr) PetscObject :: dummy PetscErrorCode :: ierr integer :: i, j, k, cell - real(pReal) :: phiDot, dPhiDot_dPhi, mobility - + real(pReal) :: phiDot, dPhiDot_dPhi, mobility, & + residualStiffness !< non-zero residual damage + class(tNode), pointer :: & + num_generic + + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + residualStiffness = num_generic%get_asFloat('residualStiffness', defaultVal=1.0e-6_pReal) + if (residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') + phi_current = x_scal !-------------------------------------------------------------------------------------------------- ! evaluate polarization field diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 9643f9a08..9bd2aa073 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -508,8 +508,8 @@ subroutine formResidual(in, FandF_tau, & class(tNode), pointer :: & num_grid real(pReal) :: & - polarAlpha, & - polarBeta + polarAlpha, & !< polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme + polarBeta !< polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme integer :: & i, j, k, e diff --git a/src/math.f90 b/src/math.f90 index 6a8fdbe7b..66076455f 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -90,7 +90,9 @@ contains subroutine math_init real(pReal), dimension(4) :: randTest - integer :: randSize,randomSeed + integer :: & + randSize, & + randomSeed !< fixed seeding for pseudo-random number generator, Default 0: use random seed integer, dimension(:), allocatable :: randInit class(tNode), pointer :: & num_generic diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index f6cfc6719..0b13966fc 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -104,7 +104,7 @@ subroutine utilities_init character(len=pStringLen) :: petsc_optionsOrder class(tNode), pointer :: & numerics_mesh - integer :: structOrder + integer :: structOrder !< order of displacement shape functions PetscErrorCode :: ierr diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index 530c58c38..6b8c331de 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -87,7 +87,7 @@ subroutine discretization_mesh_init(restart) class(tNode), pointer :: & numerics_mesh - integer :: integrationOrder + integer :: integrationOrder !< order of quadrature rule required numerics_mesh => numerics_root%get('mesh',defaultVal=emptyDict) integrationOrder = numerics_mesh%get_asInt('integrationorder',defaultVal = 2) diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 1270f9253..3dcb80b64 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -97,7 +97,7 @@ subroutine FEM_mech_init(fieldBC) class(tNode), pointer :: & numerics_mesh - integer :: integrationOrder + integer :: integrationOrder !< order of quadrature rule required write(6,'(/,a)') ' <<<+- FEM_mech init -+>>>'; flush(6) diff --git a/src/numerics.f90 b/src/numerics.f90 index 06cf3c633..00cc1f8df 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -25,8 +25,6 @@ module numerics worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) integer(4), protected, public :: & DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive - real(pReal), protected, public :: & - residualStiffness = 1.0e-6_pReal !< non-zero residual damage !-------------------------------------------------------------------------------------------------- ! field parameters: @@ -65,8 +63,7 @@ subroutine numerics_init numerics_inFlow, & key class (tNode), pointer :: & - num_grid, & - num_generic + num_grid logical :: fexist !$ character(len=6) DAMASK_NumThreadsString ! environment variable DAMASK_NUM_THREADS @@ -111,25 +108,11 @@ subroutine numerics_init #endif endselect enddo - - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - do i=1,num_generic%length - key = num_generic%getKey(i) - select case(key) - case ('residualStiffness') - residualStiffness = num_generic%get_asFloat(key) - endselect - enddo - else fileExists write(6,'(a,/)') ' using standard values' flush(6) endif fileExists -!-------------------------------------------------------------------------------------------------- -! gradient parameter - write(6,'(a24,1x,es8.1)') ' residualStiffness: ',residualStiffness - !-------------------------------------------------------------------------------------------------- ! openMP parameter !$ write(6,'(a24,1x,i8,/)') ' number of threads: ',DAMASK_NumThreadsInt @@ -146,7 +129,6 @@ subroutine numerics_init !-------------------------------------------------------------------------------------------------- ! sanity checks - if (residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') if (itmax <= 1) call IO_error(301,ext_msg='itmax') if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') From d3f9e9f115149be34283e91064b45a2a78929de4 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 17 Jun 2020 18:02:22 +0200 Subject: [PATCH 203/958] polishing --- src/grid/DAMASK_grid.f90 | 2 +- src/grid/spectral_utilities.f90 | 6 +- src/mesh/DAMASK_mesh.f90 | 2 +- src/mesh/FEM_utilities.f90 | 6 +- src/numerics.f90 | 122 +++++++++++++++----------------- 5 files changed, 65 insertions(+), 73 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 640873a72..48bc71078 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -320,7 +320,7 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! doing initialization depending on active solvers - call Utilities_init + call spectral_Utilities_init do field = 1, nActiveFields select case (loadCases(1)%ID(field)) case(FIELD_MECH_ID) diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 38627278d..47c7d9d08 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -136,7 +136,7 @@ module spectral_utilities spectral_derivative_ID public :: & - utilities_init, & + spectral_utilities_init, & utilities_updateGamma, & utilities_FFTtensorForward, & utilities_FFTtensorBackward, & @@ -173,7 +173,7 @@ contains !> level chosen. !> Initializes FFTW. !-------------------------------------------------------------------------------------------------- -subroutine utilities_init +subroutine spectral_utilities_init PetscErrorCode :: ierr integer :: i, j, k, & @@ -382,7 +382,7 @@ subroutine utilities_init allocate (gamma_hat(3,3,3,3,grid1Red,grid(2),grid3), source = cmplx(0.0_pReal,0.0_pReal,pReal)) endif -end subroutine utilities_init +end subroutine spectral_utilities_init !--------------------------------------------------------------------------------------------------- diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index 98b9d6dfe..0e4a02cf2 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -236,7 +236,7 @@ program DAMASK_mesh !-------------------------------------------------------------------------------------------------- ! doing initialization depending on active solvers - call Utilities_init + call FEM_Utilities_init do field = 1, nActiveFields select case (loadCases(1)%fieldBC(field)%ID) case(FIELD_MECH_ID) diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 0b13966fc..a2c7c312a 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -85,7 +85,7 @@ module FEM_utilities end type tLoadCase public :: & - utilities_init, & + FEM_utilities_init, & utilities_constitutiveResponse, & utilities_projectBCValues, & FIELD_MECH_ID, & @@ -99,7 +99,7 @@ contains !-------------------------------------------------------------------------------------------------- !> @brief allocates all neccessary fields, sets debug flags !-------------------------------------------------------------------------------------------------- -subroutine utilities_init +subroutine FEM_utilities_init character(len=pStringLen) :: petsc_optionsOrder class(tNode), pointer :: & @@ -141,7 +141,7 @@ subroutine utilities_init wgt = 1.0/real(mesh_maxNips*mesh_NcpElemsGlobal,pReal) -end subroutine utilities_init +end subroutine FEM_utilities_init !-------------------------------------------------------------------------------------------------- diff --git a/src/numerics.f90 b/src/numerics.f90 index 00cc1f8df..5a7e14eec 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -4,10 +4,10 @@ !> @brief Managing of parameters related to numerics !-------------------------------------------------------------------------------------------------- module numerics - use prec - use IO - use YAML_types - use YAML_parse + use prec + use IO + use YAML_types + use YAML_parse #ifdef PETSc #include @@ -15,38 +15,38 @@ module numerics #endif !$ use OMP_LIB - implicit none - private - - class(tNode), pointer, public :: & - numerics_root - integer, protected, public :: & - worldrank = 0, & !< MPI worldrank (/=0 for MPI simulations only) - worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) - integer(4), protected, public :: & - DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive + implicit none + private + + class(tNode), pointer, public :: & + numerics_root + integer, protected, public :: & + worldrank = 0, & !< MPI worldrank (/=0 for MPI simulations only) + worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) + integer(4), protected, public :: & + DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive !-------------------------------------------------------------------------------------------------- ! field parameters: - integer, protected, public :: & - itmax = 250, & !< maximum number of iterations - itmin = 1 !< minimum number of iterations - + integer, protected, public :: & + itmax = 250, & !< maximum number of iterations + itmin = 1 !< minimum number of iterations + !-------------------------------------------------------------------------------------------------- ! spectral parameters: #ifdef Grid - character(len=pStringLen), protected, public :: & - petsc_options = '' + character(len=pStringLen), protected, public :: & + petsc_options = '' #endif !-------------------------------------------------------------------------------------------------- ! Mesh parameters: #ifdef Mesh - character(len=pStringLen), protected, public :: & - petsc_options = '' + character(len=pStringLen), protected, public :: & + petsc_options = '' #endif - public :: numerics_init + public :: numerics_init contains @@ -56,22 +56,22 @@ contains ! a sanity check !-------------------------------------------------------------------------------------------------- subroutine numerics_init + !$ integer :: gotDAMASK_NUM_THREADS = 1 - integer :: i, ierr - character(len=:), allocatable :: & - numerics_input, & - numerics_inFlow, & - key - class (tNode), pointer :: & - num_grid - logical :: fexist + integer :: i, ierr + character(len=:), allocatable :: & + numerics_input, & + numerics_inFlow + class (tNode), pointer :: & + num_grid + logical :: fexist !$ character(len=6) DAMASK_NumThreadsString ! environment variable DAMASK_NUM_THREADS #ifdef PETSc - call MPI_Comm_rank(PETSC_COMM_WORLD,worldrank,ierr);CHKERRQ(ierr) - call MPI_Comm_size(PETSC_COMM_WORLD,worldsize,ierr);CHKERRQ(ierr) + call MPI_Comm_rank(PETSC_COMM_WORLD,worldrank,ierr);CHKERRQ(ierr) + call MPI_Comm_size(PETSC_COMM_WORLD,worldsize,ierr);CHKERRQ(ierr) #endif - write(6,'(/,a)') ' <<<+- numerics init -+>>>' + write(6,'(/,a)') ' <<<+- numerics init -+>>>' !$ call GET_ENVIRONMENT_VARIABLE(NAME='DAMASK_NUM_THREADS',VALUE=DAMASK_NumThreadsString,STATUS=gotDAMASK_NUM_THREADS) ! get environment variable DAMASK_NUM_THREADS... !$ if(gotDAMASK_NUM_THREADS /= 0) then ! could not get number of threads, set it to 1 @@ -83,35 +83,27 @@ subroutine numerics_init !$ endif !$ call omp_set_num_threads(DAMASK_NumThreadsInt) ! set number of threads for parallel execution - numerics_root => emptyDict - inquire(file='numerics.yaml', exist=fexist) - - fileExists: if (fexist) then - write(6,'(a,/)') ' using values from config file' - flush(6) - numerics_input = IO_read('numerics.yaml') - numerics_inFlow = to_flow(numerics_input) - numerics_root => parse_flow(numerics_inFlow,defaultVal=emptyDict) + numerics_root => emptyDict + inquire(file='numerics.yaml', exist=fexist) + + fileExists: if (fexist) then + write(6,'(a,/)') ' using values from config file' + flush(6) + numerics_input = IO_read('numerics.yaml') + numerics_inFlow = to_flow(numerics_input) + numerics_root => parse_flow(numerics_inFlow,defaultVal=emptyDict) !-------------------------------------------------------------------------------------------------- -! spectral parameters - num_grid => numerics_root%get('grid',defaultVal=emptyDict) - do i=1,num_grid%length - key = num_grid%getKey(i) - select case(key) - case ('itmax') - itmax = num_grid%get_asInt(key) - case ('itmin') - itmin = num_grid%get_asInt(key) +! grid parameters + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + itmax = num_grid%get_asInt('itmax',defaultVal=250) + itmin = num_grid%get_asInt('itmin',defaultVal=1) #ifdef PETSC - case ('petsc_options') - petsc_options = num_grid%get_asString(key) + petsc_options = num_grid%get_asString('petsc_options',defaultVal = '') #endif - endselect - enddo - else fileExists - write(6,'(a,/)') ' using standard values' - flush(6) - endif fileExists + else fileExists + write(6,'(a,/)') ' using standard values' + flush(6) + endif fileExists !-------------------------------------------------------------------------------------------------- ! openMP parameter @@ -119,18 +111,18 @@ subroutine numerics_init !-------------------------------------------------------------------------------------------------- ! field parameters - write(6,'(a24,1x,i8)') ' itmax: ',itmax - write(6,'(a24,1x,i8)') ' itmin: ',itmin + write(6,'(a24,1x,i8)') ' itmax: ',itmax + write(6,'(a24,1x,i8)') ' itmin: ',itmin !-------------------------------------------------------------------------------------------------- #ifdef PETSC - write(6,'(a24,1x,a)') ' PETSc_options: ',trim(petsc_options) + write(6,'(a24,1x,a)') ' PETSc_options: ',trim(petsc_options) #endif !-------------------------------------------------------------------------------------------------- ! sanity checks - if (itmax <= 1) call IO_error(301,ext_msg='itmax') - if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') + if (itmax <= 1) call IO_error(301,ext_msg='itmax') + if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') end subroutine numerics_init From ac2539b3053be01b8d951d5a71f411aa5727f79b Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 17 Jun 2020 20:46:03 +0200 Subject: [PATCH 204/958] further cleaning of numerics.f90 --- src/grid/grid_damage_spectral.f90 | 11 +++- src/grid/grid_mech_FEM.f90 | 42 +++++++++++++--- src/grid/grid_mech_spectral_basic.f90 | 42 +++++++++++++--- src/grid/grid_mech_spectral_polarisation.f90 | 53 +++++++++++++++----- src/grid/grid_thermal_spectral.f90 | 13 ++++- src/mesh/FEM_utilities.f90 | 6 +-- src/mesh/discretization_mesh.f90 | 6 +-- src/mesh/mesh_mech_FEM.f90 | 43 ++++++++++++---- src/numerics.f90 | 24 ++------- 9 files changed, 175 insertions(+), 65 deletions(-) diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index 41e13dd29..ad7d49d72 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -137,14 +137,23 @@ function grid_damage_spectral_solution(timeinc,timeinc_old) result(solution) real(pReal), intent(in) :: & timeinc, & !< increment in time for current solution timeinc_old !< increment in time of last increment - integer :: i, j, k, cell + integer :: i, j, k, cell, & + itmax !< maximum number of iterations type(tSolutionState) :: solution + class(tNode), pointer :: & + num_generic PetscInt :: devNull PetscReal :: phi_min, phi_max, stagNorm, solnNorm PetscErrorCode :: ierr SNESConvergedReason :: reason +!------------------------------------------------------------------- +! reading numerical parameter and do sanity check + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + itmax = num_generic%get_asInt('itmax',defaultVal=250) + if (itmax <= 1) call IO_error(301,ext_msg='itmax') + solution%converged =.false. !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index e8257cdba..9cb11257b 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -410,23 +410,41 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,fnorm,reason,dummy,i SNESConvergedReason :: reason PetscObject :: dummy PetscErrorCode :: ierr + integer :: & + itmin, & !< minimum number of iterations + itmax !< maximum number of iterations real(pReal) :: & err_div, & divTol, & BCTol, & - eps_div_atol, & - eps_div_rtol, & - eps_stress_atol, & - eps_stress_rtol + eps_div_atol, & !< absolute tolerance for equilibrium + eps_div_rtol, & !< relative tolerance for equilibrium + eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC + eps_stress_rtol !< relative tolerance for fullfillment of stress BC class(tNode), pointer :: & - num_grid - + num_grid, & + num_generic + +!----------------------------------------------------------------------------------- +! reading numerical parameters and do sanity check num_grid => numerics_root%get('grid',defaultVal=emptyDict) eps_div_atol = num_grid%get_asFloat('eps_div_atol',defaultVal=1.0e-4_pReal) eps_div_rtol = num_grid%get_asFloat('eps_div_rtol',defaultVal=5.0e-4_pReal) eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=0.01_pReal) + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + itmin = num_generic%get_asInt('itmin',defaultVal=1) + itmax = num_generic%get_asInt('itmax',defaultVal=250) + + if (eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') + if (eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') + if (eps_stress_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_stress_atol') + if (eps_stress_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_stress_rtol') + if (itmax <= 1) call IO_error(301,ext_msg='itmax') + if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') +!------------------------------------------------------------------------------------ + err_div = fnorm*sqrt(wgt)*geomSize(1)/scaledGeomSize(1)/detJ divTol = max(maxval(abs(P_av))*eps_div_rtol ,eps_div_atol) BCTol = max(maxval(abs(P_av))*eps_stress_rtol,eps_stress_atol) @@ -474,7 +492,19 @@ subroutine formResidual(da_local,x_local, & PetscObject :: dummy PetscErrorCode :: ierr real(pReal), dimension(3,3,3,3) :: devNull + integer :: & + itmin, & + itmax + class(tNode), pointer :: & + num_generic +!---------------------------------------------------------------------- +! read numerical paramteters and do sanity checks + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + itmin = num_generic%get_asInt('itmin',defaultVal=1) + itmax = num_generic%get_asInt('itmax',defaultVal=250) + if (itmax <= 1) call IO_error(301,ext_msg='itmax') + if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') call SNESGetNumberFunctionEvals(mech_snes,nfuncs,ierr); CHKERRQ(ierr) call SNESGetIterationNumber(mech_snes,PETScIter,ierr); CHKERRQ(ierr) diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 1b0f6ccce..fd948c8fd 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -384,22 +384,39 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm SNESConvergedReason :: reason PetscObject :: dummy PetscErrorCode :: ierr + integer :: & + itmin, & !< minimum number of iterations + itmax !< maximum number of iterations real(pReal) :: & divTol, & BCTol, & - eps_div_atol, & - eps_div_rtol, & - eps_stress_atol, & - eps_stress_rtol + eps_div_atol, & !< absolute tolerance for equilibrium + eps_div_rtol, & !< relative tolerance for equilibrium + eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC + eps_stress_rtol !< relative tolerance for fullfillment of stress BC class(tNode), pointer :: & - num_grid - + num_grid, & + num_generic +!----------------------------------------------------------------------------------- +! reading numerical parameters and do sanity check num_grid => numerics_root%get('grid',defaultVal=emptyDict) eps_div_atol = num_grid%get_asFloat('eps_div_atol',defaultVal=1.0e-4_pReal) eps_div_rtol = num_grid%get_asFloat('eps_div_rtol',defaultVal=5.0e-4_pReal) eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=0.01_pReal) + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + itmin = num_generic%get_asInt('itmin',defaultVal=1) + itmax = num_generic%get_asInt('itmax',defaultVal=250) + + if (eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') + if (eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') + if (eps_stress_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_stress_atol') + if (eps_stress_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_stress_rtol') + if (itmax <= 1) call IO_error(301,ext_msg='itmax') + if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') +!------------------------------------------------------------------------------------ + divTol = max(maxval(abs(P_av))*eps_div_rtol ,eps_div_atol) BCTol = max(maxval(abs(P_av))*eps_stress_rtol,eps_stress_atol) @@ -445,6 +462,19 @@ subroutine formResidual(in, F, & nfuncs PetscObject :: dummy PetscErrorCode :: ierr + integer :: & + itmin, & + itmax + class(tNode), pointer :: & + num_generic + +!---------------------------------------------------------------------- +! read numerical paramteter and do sanity checks + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + itmin = num_generic%get_asInt('itmin',defaultVal=1) + itmax = num_generic%get_asInt('itmax',defaultVal=250) + if (itmax <= 1) call IO_error(301,ext_msg='itmax') + if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') call SNESGetNumberFunctionEvals(snes,nfuncs,ierr); CHKERRQ(ierr) call SNESGetIterationNumber(snes,PETScIter,ierr); CHKERRQ(ierr) diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 9bd2aa073..401b7ca6f 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -431,19 +431,25 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm SNESConvergedReason :: reason PetscObject :: dummy PetscErrorCode :: ierr + integer :: & + itmin, & !< minimum number of iterations + itmax !< maximum number of iterations real(pReal) :: & curlTol, & divTol, & BCTol, & - eps_div_atol, & - eps_div_rtol, & - eps_curl_atol, & - eps_curl_rtol, & - eps_stress_atol, & - eps_stress_rtol + eps_div_atol, & !< absolute tolerance for equilibrium + eps_div_rtol, & !< relative tolerance for equilibrium + eps_curl_atol, & !< absolute tolerance for compatibility + eps_curl_rtol, & !< relative tolerance for compatibility + eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC + eps_stress_rtol !< relative tolerance for fullfillment of stress BC class(tNode), pointer :: & - num_grid - + num_grid, & + num_generic + +!----------------------------------------------------------------------------------- +! reading numerical parameters and do sanity check num_grid => numerics_root%get('grid',defaultVal=emptyDict) eps_div_atol = num_grid%get_asFloat('eps_div_atol',defaultVal=1.0e-4_pReal) eps_div_rtol = num_grid%get_asFloat('eps_div_rtol',defaultVal=5.0e-4_pReal) @@ -452,6 +458,19 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=0.01_pReal) + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + itmin = num_generic%get_asInt('itmin',defaultVal=1) + itmax = num_generic%get_asInt('itmax',defaultVal=250) + + if (eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') + if (eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') + if (eps_curl_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_curl_atol') + if (eps_curl_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_curl_rtol') + if (eps_stress_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_stress_atol') + if (eps_stress_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_stress_rtol') + if (itmax <= 1) call IO_error(301,ext_msg='itmax') + if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') +!------------------------------------------------------------------------------------ curlTol = max(maxval(abs(F_aim-math_I3))*eps_curl_rtol ,eps_curl_atol) divTol = max(maxval(abs(P_av)) *eps_div_rtol ,eps_div_atol) @@ -506,22 +525,30 @@ subroutine formResidual(in, FandF_tau, & PetscObject :: dummy PetscErrorCode :: ierr class(tNode), pointer :: & - num_grid + num_grid, & + num_generic real(pReal) :: & polarAlpha, & !< polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme polarBeta !< polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme integer :: & - i, j, k, e + i, j, k, e, & + itmin, itmax +!-------------------------------------------------------------------------------------------------- +! read numerical paramteters and do sanity checks num_grid => numerics_root%get('grid',defaultVal = emptyDict) polarAlpha = num_grid%get_asFloat('polaralpha',defaultVal=1.0_pReal) polarBeta = num_grid%get_asFloat('polarbeta', defaultVal=1.0_pReal) -!----------------------------------------------------------------------------------------------- -! sanity checks + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + itmin = num_generic%get_asInt('itmin',defaultVal=1) + itmax = num_generic%get_asInt('itmax',defaultVal=250) + + if (itmax <= 1) call IO_error(301,ext_msg='itmax') + if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') if (polarAlpha <= 0.0_pReal .or. polarAlpha > 2.0_pReal) call IO_error(301,ext_msg='polarAlpha') if (polarBeta < 0.0_pReal .or. polarBeta > 2.0_pReal) call IO_error(301,ext_msg='polarBeta') -!------------------------------------------------------------------------------------------------ +!--------------------------------------------------------------------------------------------------- F => FandF_tau(1:3,1:3,1,& XG_RANGE,YG_RANGE,ZG_RANGE) diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index 40e27ce34..7748ce41a 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -11,9 +11,11 @@ module grid_thermal_spectral use PETScsnes use prec + use IO use spectral_utilities use discretization_grid use thermal_conduction + use YAML_types use numerics use material @@ -132,14 +134,23 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) real(pReal), intent(in) :: & timeinc, & !< increment in time for current solution timeinc_old !< increment in time of last increment - integer :: i, j, k, cell + integer :: i, j, k, cell, & + itmax !< maximum number of iterations type(tSolutionState) :: solution + class(tNode), pointer :: & + num_generic PetscInt :: devNull PetscReal :: T_min, T_max, stagNorm, solnNorm PetscErrorCode :: ierr SNESConvergedReason :: reason +!------------------------------------------------------------------- +! reading numerical parameter and do sanity check + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + itmax = num_generic%get_asInt('itmax',defaultVal=250) + if (itmax <= 1) call IO_error(301,ext_msg='itmax') + solution%converged =.false. !-------------------------------------------------------------------------------------------------- diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index a2c7c312a..79619dc85 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -103,15 +103,15 @@ subroutine FEM_utilities_init character(len=pStringLen) :: petsc_optionsOrder class(tNode), pointer :: & - numerics_mesh + num_mesh integer :: structOrder !< order of displacement shape functions PetscErrorCode :: ierr write(6,'(/,a)') ' <<<+- DAMASK_FEM_utilities init -+>>>' - numerics_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - structOrder = numerics_mesh%get_asInt('structOrder',defaultVal = 2) + num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + structOrder = num_mesh%get_asInt('structOrder',defaultVal = 2) !-------------------------------------------------------------------------------------------------- ! set debugging parameters diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index 6b8c331de..eb6c2b9af 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -86,11 +86,11 @@ subroutine discretization_mesh_init(restart) PetscErrorCode :: ierr class(tNode), pointer :: & - numerics_mesh + num_mesh integer :: integrationOrder !< order of quadrature rule required - numerics_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - integrationOrder = numerics_mesh%get_asInt('integrationorder',defaultVal = 2) + num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + integrationOrder = num_mesh%get_asInt('integrationorder',defaultVal = 2) write(6,'(/,a)') ' <<<+- mesh init -+>>>' diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 3dcb80b64..a094a4d38 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -96,13 +96,22 @@ subroutine FEM_mech_init(fieldBC) PetscErrorCode :: ierr class(tNode), pointer :: & - numerics_mesh - integer :: integrationOrder !< order of quadrature rule required - + num_mesh, & + num_generic + integer :: & + integrationOrder, & !< order of quadrature rule required + itmax + write(6,'(/,a)') ' <<<+- FEM_mech init -+>>>'; flush(6) - numerics_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - integrationOrder = numerics_mesh%get_asInt('integrationorder',defaultVal = 2) +!----------------------------------------------------------------------------- +! read numerical parametes and do sanity checks + num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + integrationOrder = num_mesh%get_asInt('integrationorder',defaultVal = 2) + + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + itmax = num_generic%get_asInt('itmax',defaultVal=250) + if (itmax <= 1) call IO_error(301,ext_msg='itmax') !-------------------------------------------------------------------------------------------------- ! Setup FEM mech mesh @@ -274,9 +283,21 @@ type(tSolutionState) function FEM_mech_solution( & incInfoIn !-------------------------------------------------------------------------------------------------- + integer :: & + itmax + class(tNode), pointer :: & + num_generic + PetscErrorCode :: ierr SNESConvergedReason :: reason +!-------------------------------------------------------------------------------------------------- +! read numerical parameter and do sanity check + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + itmax = num_generic%get_asInt('itmax',defaultVal=250) + if (itmax <= 1) call IO_error(301,ext_msg='itmax') +!------------------------------------------------------------------------------------------------- + incInfo = incInfoIn FEM_mech_solution%converged =.false. !-------------------------------------------------------------------------------------------------- @@ -330,11 +351,11 @@ subroutine FEM_mech_formResidual(dm_local,xx_local,f_local,dummy,ierr) IS :: bcPoints class(tNode), pointer :: & - numerics_mesh + num_mesh logical :: BBarStabilisation - numerics_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - BBarStabilisation = numerics_mesh%get_asBool('bbarstabilisation',defaultVal = .false.) + num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + BBarStabilisation = num_mesh%get_asBool('bbarstabilisation',defaultVal = .false.) allocate(pV0(dimPlex)) allocate(pcellJ(dimPlex**2)) @@ -479,11 +500,11 @@ subroutine FEM_mech_formJacobian(dm_local,xx_local,Jac_pre,Jac,dummy,ierr) IS :: bcPoints class(tNode), pointer :: & - numerics_mesh + num_mesh logical :: BBarStabilisation - numerics_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - BBarStabilisation = numerics_mesh%get_asBool('bbarstabilisation',defaultVal = .false.) + num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + BBarStabilisation = num_mesh%get_asBool('bbarstabilisation',defaultVal = .false.) allocate(pV0(dimPlex)) allocate(pcellJ(dimPlex**2)) diff --git a/src/numerics.f90 b/src/numerics.f90 index 5a7e14eec..5a9df4db0 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -25,25 +25,19 @@ module numerics worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) integer(4), protected, public :: & DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive - -!-------------------------------------------------------------------------------------------------- -! field parameters: - integer, protected, public :: & - itmax = 250, & !< maximum number of iterations - itmin = 1 !< minimum number of iterations !-------------------------------------------------------------------------------------------------- ! spectral parameters: #ifdef Grid character(len=pStringLen), protected, public :: & - petsc_options = '' + petsc_options #endif !-------------------------------------------------------------------------------------------------- ! Mesh parameters: #ifdef Mesh character(len=pStringLen), protected, public :: & - petsc_options = '' + petsc_options #endif public :: numerics_init @@ -58,7 +52,7 @@ contains subroutine numerics_init !$ integer :: gotDAMASK_NUM_THREADS = 1 - integer :: i, ierr + integer :: ierr character(len=:), allocatable :: & numerics_input, & numerics_inFlow @@ -95,8 +89,6 @@ subroutine numerics_init !-------------------------------------------------------------------------------------------------- ! grid parameters num_grid => numerics_root%get('grid',defaultVal=emptyDict) - itmax = num_grid%get_asInt('itmax',defaultVal=250) - itmin = num_grid%get_asInt('itmin',defaultVal=1) #ifdef PETSC petsc_options = num_grid%get_asString('petsc_options',defaultVal = '') #endif @@ -109,21 +101,11 @@ subroutine numerics_init ! openMP parameter !$ write(6,'(a24,1x,i8,/)') ' number of threads: ',DAMASK_NumThreadsInt -!-------------------------------------------------------------------------------------------------- -! field parameters - write(6,'(a24,1x,i8)') ' itmax: ',itmax - write(6,'(a24,1x,i8)') ' itmin: ',itmin - !-------------------------------------------------------------------------------------------------- #ifdef PETSC write(6,'(a24,1x,a)') ' PETSc_options: ',trim(petsc_options) #endif -!-------------------------------------------------------------------------------------------------- -! sanity checks - if (itmax <= 1) call IO_error(301,ext_msg='itmax') - if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') - end subroutine numerics_init end module numerics From 8fa68101b8e8c13774c4b28be67b3f49dcefd65f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 17 Jun 2020 22:28:29 +0200 Subject: [PATCH 205/958] not needed --- examples/ConfigFiles/Phase_DisloUCLA_Tungsten.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ConfigFiles/Phase_DisloUCLA_Tungsten.config b/examples/ConfigFiles/Phase_DisloUCLA_Tungsten.config index 6920aee2b..2cdd5c58f 100644 --- a/examples/ConfigFiles/Phase_DisloUCLA_Tungsten.config +++ b/examples/ConfigFiles/Phase_DisloUCLA_Tungsten.config @@ -27,7 +27,7 @@ SolidSolutionStrength 0.0 # Strength due to elements in solid solution ### Dislocation glide parameters ### #per family -Nslip 12 0 +Nslip 12 slipburgers 2.72e-10 # Burgers vector of slip system [m] rhoedge0 1.0e12 # Initial edge dislocation density [m/m**3] rhoedgedip0 1.0 # Initial edged dipole dislocation density [m/m**3] From 0fc482585bcd7d88e0e7c81dc008f7c4138d4656 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 17 Jun 2020 23:00:03 +0200 Subject: [PATCH 206/958] used for both grid & mesh; polishing --- PRIVATE | 2 +- src/grid/DAMASK_grid.f90 | 921 ++++++++++--------- src/grid/grid_damage_spectral.f90 | 11 +- src/grid/grid_mech_FEM.f90 | 11 +- src/grid/grid_mech_spectral_basic.f90 | 12 +- src/grid/grid_mech_spectral_polarisation.f90 | 12 +- src/grid/grid_thermal_spectral.f90 | 9 + src/grid/spectral_utilities.f90 | 8 +- src/mesh/FEM_utilities.f90 | 9 +- src/numerics.f90 | 27 - 10 files changed, 525 insertions(+), 497 deletions(-) diff --git a/PRIVATE b/PRIVATE index 017b38d79..bcc65dbb3 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 017b38d79deb4720368927b8a884527e2b331c23 +Subproject commit bcc65dbb3557d6f154eb63b4651909a9e8fd7bb0 diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 48bc71078..93b02b360 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -8,511 +8,512 @@ !-------------------------------------------------------------------------------------------------- program DAMASK_grid #include - use PETScsys - use prec - use DAMASK_interface - use IO - use config - use debug - use math - use CPFEM2 - use material - use spectral_utilities - use grid_mech_spectral_basic - use grid_mech_spectral_polarisation - use grid_mech_FEM - use grid_damage_spectral - use grid_thermal_spectral - use results - use YAML_types - - implicit none + use PETScsys + use prec + use DAMASK_interface + use IO + use config + use debug + use math + use CPFEM2 + use material + use spectral_utilities + use grid_mech_spectral_basic + use grid_mech_spectral_polarisation + use grid_mech_FEM + use grid_damage_spectral + use grid_thermal_spectral + use results + use YAML_types + + implicit none !-------------------------------------------------------------------------------------------------- ! variables related to information from load case and geom file - real(pReal), dimension(9) :: temp_valueVector = 0.0_pReal !< temporarily from loadcase file when reading in tensors (initialize to 0.0) - logical, dimension(9) :: temp_maskVector = .false. !< temporarily from loadcase file when reading in tensors - integer, allocatable, dimension(:) :: chunkPos - integer :: & - N_t = 0, & !< # of time indicators found in load case file - N_n = 0, & !< # of increment specifiers found in load case file - N_def = 0 !< # of rate of deformation specifiers found in load case file - character(len=pStringLen) :: & - line + real(pReal), dimension(9) :: temp_valueVector = 0.0_pReal !< temporarily from loadcase file when reading in tensors (initialize to 0.0) + logical, dimension(9) :: temp_maskVector = .false. !< temporarily from loadcase file when reading in tensors + integer, allocatable, dimension(:) :: chunkPos + integer :: & + N_t = 0, & !< # of time indicators found in load case file + N_n = 0, & !< # of increment specifiers found in load case file + N_def = 0 !< # of rate of deformation specifiers found in load case file + character(len=pStringLen) :: & + line !-------------------------------------------------------------------------------------------------- ! loop variables, convergence etc. - real(pReal), dimension(3,3), parameter :: & - ones = 1.0_pReal, & - zeros = 0.0_pReal - integer, parameter :: & - subStepFactor = 2 !< for each substep, divide the last time increment by 2.0 - real(pReal) :: & - time = 0.0_pReal, & !< elapsed time - time0 = 0.0_pReal, & !< begin of interval - timeinc = 1.0_pReal, & !< current time interval - timeIncOld = 0.0_pReal, & !< previous time interval - remainingLoadCaseTime = 0.0_pReal !< remaining time of current load case - logical :: & - guess, & !< guess along former trajectory - stagIterate, & - cutBack = .false. - integer :: & - i, j, k, l, field, & - errorID = 0, & - cutBackLevel = 0, & !< cut back level \f$ t = \frac{t_{inc}}{2^l} \f$ - maxCutBack, & !< max number of cut backs - stepFraction = 0 !< fraction of current time interval - integer :: & - currentLoadcase = 0, & !< current load case - inc, & !< current increment in current load case - totalIncsCounter = 0, & !< total # of increments - statUnit = 0, & !< file unit for statistics output - stagIter, & - stagItMax, & !< max number of field level staggered iterations - nActiveFields = 0 - character(len=pStringLen), dimension(:), allocatable :: fileContent - character(len=pStringLen) :: & - incInfo, & - loadcase_string - type(tLoadCase), allocatable, dimension(:) :: loadCases !< array of all load cases - type(tLoadCase) :: newLoadCase - type(tSolutionState), allocatable, dimension(:) :: solres - procedure(grid_mech_spectral_basic_init), pointer :: & - mech_init - procedure(grid_mech_spectral_basic_forward), pointer :: & - mech_forward - procedure(grid_mech_spectral_basic_solution), pointer :: & - mech_solution - procedure(grid_mech_spectral_basic_updateCoords), pointer :: & - mech_updateCoords - procedure(grid_mech_spectral_basic_restartWrite), pointer :: & - mech_restartWrite - - external :: & - quit - class (tNode), pointer :: & - num_grid, & - num_generic + real(pReal), dimension(3,3), parameter :: & + ones = 1.0_pReal, & + zeros = 0.0_pReal + integer, parameter :: & + subStepFactor = 2 !< for each substep, divide the last time increment by 2.0 + real(pReal) :: & + time = 0.0_pReal, & !< elapsed time + time0 = 0.0_pReal, & !< begin of interval + timeinc = 1.0_pReal, & !< current time interval + timeIncOld = 0.0_pReal, & !< previous time interval + remainingLoadCaseTime = 0.0_pReal !< remaining time of current load case + logical :: & + guess, & !< guess along former trajectory + stagIterate, & + cutBack = .false. + integer :: & + i, j, k, l, field, & + errorID = 0, & + cutBackLevel = 0, & !< cut back level \f$ t = \frac{t_{inc}}{2^l} \f$ + maxCutBack, & !< max number of cut backs + stepFraction = 0 !< fraction of current time interval + integer :: & + currentLoadcase = 0, & !< current load case + inc, & !< current increment in current load case + totalIncsCounter = 0, & !< total # of increments + statUnit = 0, & !< file unit for statistics output + stagIter, & + stagItMax, & !< max number of field level staggered iterations + nActiveFields = 0 + character(len=pStringLen), dimension(:), allocatable :: fileContent + character(len=pStringLen) :: & + incInfo, & + loadcase_string + type(tLoadCase), allocatable, dimension(:) :: loadCases !< array of all load cases + type(tLoadCase) :: newLoadCase + type(tSolutionState), allocatable, dimension(:) :: solres + procedure(grid_mech_spectral_basic_init), pointer :: & + mech_init + procedure(grid_mech_spectral_basic_forward), pointer :: & + mech_forward + procedure(grid_mech_spectral_basic_solution), pointer :: & + mech_solution + procedure(grid_mech_spectral_basic_updateCoords), pointer :: & + mech_updateCoords + procedure(grid_mech_spectral_basic_restartWrite), pointer :: & + mech_restartWrite + + external :: & + quit + class (tNode), pointer :: & + num_grid, & + num_generic !-------------------------------------------------------------------------------------------------- ! init DAMASK (all modules) - call CPFEM_initAll - write(6,'(/,a)') ' <<<+- DAMASK_spectral init -+>>>'; flush(6) - - write(6,'(/,a)') ' Shanthraj et al., Handbook of Mechanics of Materials, 2019' - write(6,'(a)') ' https://doi.org/10.1007/978-981-10-6855-3_80' + call CPFEM_initAll + write(6,'(/,a)') ' <<<+- DAMASK_spectral init -+>>>'; flush(6) + + write(6,'(/,a)') ' Shanthraj et al., Handbook of Mechanics of Materials, 2019' + write(6,'(a)') ' https://doi.org/10.1007/978-981-10-6855-3_80' !-------------------------------------------------------------------------------------------------- ! initialize field solver information - nActiveFields = 1 - if (any(thermal_type == THERMAL_conduction_ID )) nActiveFields = nActiveFields + 1 - if (any(damage_type == DAMAGE_nonlocal_ID )) nActiveFields = nActiveFields + 1 - allocate(solres(nActiveFields)) - allocate(newLoadCase%ID(nActiveFields)) + nActiveFields = 1 + if (any(thermal_type == THERMAL_conduction_ID )) nActiveFields = nActiveFields + 1 + if (any(damage_type == DAMAGE_nonlocal_ID )) nActiveFields = nActiveFields + 1 + allocate(solres(nActiveFields)) + allocate(newLoadCase%ID(nActiveFields)) + +!------------------------------------------------------------------------------------------------- +! reading field paramters from numerics file and do sanity checks + num_generic => numerics_root%get('generic', defaultVal=emptyDict) + stagItMax = num_generic%get_asInt('maxStaggeredIter',defaultVal=10) + maxCutBack = num_generic%get_asInt('maxCutBack',defaultVal=3) + + if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') + if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') !-------------------------------------------------------------------------------------------------- ! assign mechanics solver depending on selected type - num_grid => numerics_root%get('grid',defaultVal=emptyDict) - - select case (trim(num_grid%get_asString('solver', defaultVal = 'Basic'))) - case ('Basic') - mech_init => grid_mech_spectral_basic_init - mech_forward => grid_mech_spectral_basic_forward - mech_solution => grid_mech_spectral_basic_solution - mech_updateCoords => grid_mech_spectral_basic_updateCoords - mech_restartWrite => grid_mech_spectral_basic_restartWrite - - case ('Polarisation') - if(iand(debug_level(debug_spectral),debug_levelBasic)/= 0) & - call IO_warning(42, ext_msg='debug Divergence') - mech_init => grid_mech_spectral_polarisation_init - mech_forward => grid_mech_spectral_polarisation_forward - mech_solution => grid_mech_spectral_polarisation_solution - mech_updateCoords => grid_mech_spectral_polarisation_updateCoords - mech_restartWrite => grid_mech_spectral_polarisation_restartWrite - - case ('FEM') - if(iand(debug_level(debug_spectral),debug_levelBasic)/= 0) & - call IO_warning(42, ext_msg='debug Divergence') - mech_init => grid_mech_FEM_init - mech_forward => grid_mech_FEM_forward - mech_solution => grid_mech_FEM_solution - mech_updateCoords => grid_mech_FEM_updateCoords - mech_restartWrite => grid_mech_FEM_restartWrite - - case default - call IO_error(error_ID = 891, ext_msg = trim(num_grid%get_asString('solver'))) - - end select - -!------------------------------------------------------------------------------------------------- -! reading field paramters from numerics file and do sanity checks - num_generic => numerics_root%get('generic', defaultVal=emptyDict) - stagItMax = num_generic%get_asInt('maxStaggeredIter',defaultVal=10) - maxCutBack = num_generic%get_asInt('maxCutBack',defaultVal=3) - - if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') - if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + + select case (trim(num_grid%get_asString('solver', defaultVal = 'Basic'))) + case ('Basic') + mech_init => grid_mech_spectral_basic_init + mech_forward => grid_mech_spectral_basic_forward + mech_solution => grid_mech_spectral_basic_solution + mech_updateCoords => grid_mech_spectral_basic_updateCoords + mech_restartWrite => grid_mech_spectral_basic_restartWrite + + case ('Polarisation') + if(iand(debug_level(debug_spectral),debug_levelBasic)/= 0) & + call IO_warning(42, ext_msg='debug Divergence') + mech_init => grid_mech_spectral_polarisation_init + mech_forward => grid_mech_spectral_polarisation_forward + mech_solution => grid_mech_spectral_polarisation_solution + mech_updateCoords => grid_mech_spectral_polarisation_updateCoords + mech_restartWrite => grid_mech_spectral_polarisation_restartWrite + + case ('FEM') + if(iand(debug_level(debug_spectral),debug_levelBasic)/= 0) & + call IO_warning(42, ext_msg='debug Divergence') + mech_init => grid_mech_FEM_init + mech_forward => grid_mech_FEM_forward + mech_solution => grid_mech_FEM_solution + mech_updateCoords => grid_mech_FEM_updateCoords + mech_restartWrite => grid_mech_FEM_restartWrite + + case default + call IO_error(error_ID = 891, ext_msg = trim(num_grid%get_asString('solver'))) + + end select + !-------------------------------------------------------------------------------------------------- ! reading information from load case file and to sanity checks - fileContent = IO_readlines(trim(loadCaseFile)) - if(size(fileContent) == 0) call IO_error(307,ext_msg='No load case specified') - - allocate (loadCases(0)) ! array of load cases - do currentLoadCase = 1, size(fileContent) - line = fileContent(currentLoadCase) - if (IO_isBlank(line)) cycle - chunkPos = IO_stringPos(line) - - do i = 1, chunkPos(1) ! reading compulsory parameters for loadcase - select case (IO_lc(IO_stringValue(line,chunkPos,i))) - case('l','fdot','dotf','f') - N_def = N_def + 1 - case('t','time','delta') - N_t = N_t + 1 - case('n','incs','increments','logincs','logincrements') - N_n = N_n + 1 - end select - enddo - if ((N_def /= N_n) .or. (N_n /= N_t) .or. N_n < 1) & ! sanity check - call IO_error(error_ID=837,el=currentLoadCase,ext_msg = trim(loadCaseFile)) ! error message for incomplete loadcase - - newLoadCase%stress%myType='stress' - field = 1 - newLoadCase%ID(field) = FIELD_MECH_ID ! mechanical active by default - thermalActive: if (any(thermal_type == THERMAL_conduction_ID)) then - field = field + 1 - newLoadCase%ID(field) = FIELD_THERMAL_ID - endif thermalActive - damageActive: if (any(damage_type == DAMAGE_nonlocal_ID)) then - field = field + 1 - newLoadCase%ID(field) = FIELD_DAMAGE_ID - endif damageActive - - call newLoadCase%rot%fromEulers(real([0.0,0.0,0.0],pReal)) - readIn: do i = 1, chunkPos(1) - select case (IO_lc(IO_stringValue(line,chunkPos,i))) - case('fdot','dotf','l','f') ! assign values for the deformation BC matrix - temp_valueVector = 0.0_pReal - if (IO_lc(IO_stringValue(line,chunkPos,i)) == 'fdot'.or. & ! in case of Fdot, set type to fdot - IO_lc(IO_stringValue(line,chunkPos,i)) == 'dotf') then - newLoadCase%deformation%myType = 'fdot' - else if (IO_lc(IO_stringValue(line,chunkPos,i)) == 'f') then - newLoadCase%deformation%myType = 'f' - else - newLoadCase%deformation%myType = 'l' - endif - do j = 1, 9 - temp_maskVector(j) = IO_stringValue(line,chunkPos,i+j) /= '*' ! true if not a * - if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable - enddo - newLoadCase%deformation%maskLogical = transpose(reshape(temp_maskVector,[ 3,3])) ! logical mask in 3x3 notation - newLoadCase%deformation%maskFloat = merge(ones,zeros,newLoadCase%deformation%maskLogical)! float (1.0/0.0) mask in 3x3 notation - newLoadCase%deformation%values = math_9to33(temp_valueVector) ! values in 3x3 notation - case('p','stress', 's') - temp_valueVector = 0.0_pReal - do j = 1, 9 - temp_maskVector(j) = IO_stringValue(line,chunkPos,i+j) /= '*' ! true if not an asterisk - if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable - enddo - newLoadCase%stress%maskLogical = transpose(reshape(temp_maskVector,[ 3,3])) - newLoadCase%stress%maskFloat = merge(ones,zeros,newLoadCase%stress%maskLogical) - newLoadCase%stress%values = math_9to33(temp_valueVector) - case('t','time','delta') ! increment time - newLoadCase%time = IO_floatValue(line,chunkPos,i+1) - case('n','incs','increments') ! number of increments - newLoadCase%incs = IO_intValue(line,chunkPos,i+1) - case('logincs','logincrements') ! number of increments (switch to log time scaling) - newLoadCase%incs = IO_intValue(line,chunkPos,i+1) - newLoadCase%logscale = 1 - case('freq','frequency','outputfreq') ! frequency of result writings - newLoadCase%outputfrequency = IO_intValue(line,chunkPos,i+1) - case('r','restart','restartwrite') ! frequency of writing restart information - newLoadCase%restartfrequency = IO_intValue(line,chunkPos,i+1) - case('guessreset','dropguessing') - newLoadCase%followFormerTrajectory = .false. ! do not continue to predict deformation along former trajectory - case('euler') ! rotation of load case given in euler angles - temp_valueVector = 0.0_pReal - l = 1 ! assuming values given in degrees - k = 1 ! assuming keyword indicating degree/radians present - select case (IO_lc(IO_stringValue(line,chunkPos,i+1))) - case('deg','degree') - case('rad','radian') ! don't convert from degree to radian - l = 0 - case default - k = 0 - end select - do j = 1, 3 - temp_valueVector(j) = IO_floatValue(line,chunkPos,i+k+j) - enddo - call newLoadCase%rot%fromEulers(temp_valueVector(1:3),degrees=(l==1)) - case('rotation','rot') ! assign values for the rotation matrix - temp_valueVector = 0.0_pReal - do j = 1, 9 - temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) - enddo - call newLoadCase%rot%fromMatrix(math_9to33(temp_valueVector)) - end select - enddo readIn - - newLoadCase%followFormerTrajectory = merge(.true.,.false.,currentLoadCase > 1) ! by default, guess from previous load case - - reportAndCheck: if (worldrank == 0) then - write (loadcase_string, '(i0)' ) currentLoadCase - write(6,'(/,1x,a,i0)') 'load case: ', currentLoadCase - if (.not. newLoadCase%followFormerTrajectory) write(6,'(2x,a)') 'drop guessing along trajectory' - if (newLoadCase%deformation%myType == 'l') then - do j = 1, 3 - if (any(newLoadCase%deformation%maskLogical(j,1:3) .eqv. .true.) .and. & - any(newLoadCase%deformation%maskLogical(j,1:3) .eqv. .false.)) errorID = 832 ! each row should be either fully or not at all defined - enddo - write(6,'(2x,a)') 'velocity gradient:' - else if (newLoadCase%deformation%myType == 'f') then - write(6,'(2x,a)') 'deformation gradient at end of load case:' - else - write(6,'(2x,a)') 'deformation gradient rate:' - endif - do i = 1, 3; do j = 1, 3 - if(newLoadCase%deformation%maskLogical(i,j)) then - write(6,'(2x,f12.7)',advance='no') newLoadCase%deformation%values(i,j) - else - write(6,'(2x,12a)',advance='no') ' * ' - endif - enddo; write(6,'(/)',advance='no') - enddo - if (any(newLoadCase%stress%maskLogical .eqv. & - newLoadCase%deformation%maskLogical)) errorID = 831 ! exclusive or masking only - if (any(newLoadCase%stress%maskLogical .and. transpose(newLoadCase%stress%maskLogical) & - .and. (math_I3<1))) errorID = 838 ! no rotation is allowed by stress BC - write(6,'(2x,a)') 'stress / GPa:' - do i = 1, 3; do j = 1, 3 - if(newLoadCase%stress%maskLogical(i,j)) then - write(6,'(2x,f12.7)',advance='no') newLoadCase%stress%values(i,j)*1e-9_pReal - else - write(6,'(2x,12a)',advance='no') ' * ' - endif - enddo; write(6,'(/)',advance='no') - enddo - if (any(abs(matmul(newLoadCase%rot%asMatrix(), & - transpose(newLoadCase%rot%asMatrix()))-math_I3) > & - reshape(spread(tol_math_check,1,9),[ 3,3]))) errorID = 846 ! given rotation matrix contains strain - if (any(dNeq(newLoadCase%rot%asMatrix(), math_I3))) & - write(6,'(2x,a,/,3(3(3x,f12.7,1x)/))',advance='no') 'rotation of loadframe:',& - transpose(newLoadCase%rot%asMatrix()) - if (newLoadCase%time < 0.0_pReal) errorID = 834 ! negative time increment - write(6,'(2x,a,f0.3)') 'time: ', newLoadCase%time - if (newLoadCase%incs < 1) errorID = 835 ! non-positive incs count - write(6,'(2x,a,i0)') 'increments: ', newLoadCase%incs - if (newLoadCase%outputfrequency < 1) errorID = 836 ! non-positive result frequency - write(6,'(2x,a,i0)') 'output frequency: ', newLoadCase%outputfrequency - if (newLoadCase%restartfrequency < 1) errorID = 839 ! non-positive restart frequency - if (newLoadCase%restartfrequency < huge(0)) & - write(6,'(2x,a,i0)') 'restart frequency: ', newLoadCase%restartfrequency - if (errorID > 0) call IO_error(error_ID = errorID, ext_msg = loadcase_string) ! exit with error message - endif reportAndCheck - loadCases = [loadCases,newLoadCase] ! load case is ok, append it - enddo + fileContent = IO_readlines(trim(loadCaseFile)) + if(size(fileContent) == 0) call IO_error(307,ext_msg='No load case specified') + + allocate (loadCases(0)) ! array of load cases + do currentLoadCase = 1, size(fileContent) + line = fileContent(currentLoadCase) + if (IO_isBlank(line)) cycle + chunkPos = IO_stringPos(line) + + do i = 1, chunkPos(1) ! reading compulsory parameters for loadcase + select case (IO_lc(IO_stringValue(line,chunkPos,i))) + case('l','fdot','dotf','f') + N_def = N_def + 1 + case('t','time','delta') + N_t = N_t + 1 + case('n','incs','increments','logincs','logincrements') + N_n = N_n + 1 + end select + enddo + if ((N_def /= N_n) .or. (N_n /= N_t) .or. N_n < 1) & ! sanity check + call IO_error(error_ID=837,el=currentLoadCase,ext_msg = trim(loadCaseFile)) ! error message for incomplete loadcase + + newLoadCase%stress%myType='stress' + field = 1 + newLoadCase%ID(field) = FIELD_MECH_ID ! mechanical active by default + thermalActive: if (any(thermal_type == THERMAL_conduction_ID)) then + field = field + 1 + newLoadCase%ID(field) = FIELD_THERMAL_ID + endif thermalActive + damageActive: if (any(damage_type == DAMAGE_nonlocal_ID)) then + field = field + 1 + newLoadCase%ID(field) = FIELD_DAMAGE_ID + endif damageActive + + call newLoadCase%rot%fromEulers(real([0.0,0.0,0.0],pReal)) + readIn: do i = 1, chunkPos(1) + select case (IO_lc(IO_stringValue(line,chunkPos,i))) + case('fdot','dotf','l','f') ! assign values for the deformation BC matrix + temp_valueVector = 0.0_pReal + if (IO_lc(IO_stringValue(line,chunkPos,i)) == 'fdot'.or. & ! in case of Fdot, set type to fdot + IO_lc(IO_stringValue(line,chunkPos,i)) == 'dotf') then + newLoadCase%deformation%myType = 'fdot' + else if (IO_lc(IO_stringValue(line,chunkPos,i)) == 'f') then + newLoadCase%deformation%myType = 'f' + else + newLoadCase%deformation%myType = 'l' + endif + do j = 1, 9 + temp_maskVector(j) = IO_stringValue(line,chunkPos,i+j) /= '*' ! true if not a * + if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable + enddo + newLoadCase%deformation%maskLogical = transpose(reshape(temp_maskVector,[ 3,3])) ! logical mask in 3x3 notation + newLoadCase%deformation%maskFloat = merge(ones,zeros,newLoadCase%deformation%maskLogical)! float (1.0/0.0) mask in 3x3 notation + newLoadCase%deformation%values = math_9to33(temp_valueVector) ! values in 3x3 notation + case('p','stress', 's') + temp_valueVector = 0.0_pReal + do j = 1, 9 + temp_maskVector(j) = IO_stringValue(line,chunkPos,i+j) /= '*' ! true if not an asterisk + if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable + enddo + newLoadCase%stress%maskLogical = transpose(reshape(temp_maskVector,[ 3,3])) + newLoadCase%stress%maskFloat = merge(ones,zeros,newLoadCase%stress%maskLogical) + newLoadCase%stress%values = math_9to33(temp_valueVector) + case('t','time','delta') ! increment time + newLoadCase%time = IO_floatValue(line,chunkPos,i+1) + case('n','incs','increments') ! number of increments + newLoadCase%incs = IO_intValue(line,chunkPos,i+1) + case('logincs','logincrements') ! number of increments (switch to log time scaling) + newLoadCase%incs = IO_intValue(line,chunkPos,i+1) + newLoadCase%logscale = 1 + case('freq','frequency','outputfreq') ! frequency of result writings + newLoadCase%outputfrequency = IO_intValue(line,chunkPos,i+1) + case('r','restart','restartwrite') ! frequency of writing restart information + newLoadCase%restartfrequency = IO_intValue(line,chunkPos,i+1) + case('guessreset','dropguessing') + newLoadCase%followFormerTrajectory = .false. ! do not continue to predict deformation along former trajectory + case('euler') ! rotation of load case given in euler angles + temp_valueVector = 0.0_pReal + l = 1 ! assuming values given in degrees + k = 1 ! assuming keyword indicating degree/radians present + select case (IO_lc(IO_stringValue(line,chunkPos,i+1))) + case('deg','degree') + case('rad','radian') ! don't convert from degree to radian + l = 0 + case default + k = 0 + end select + do j = 1, 3 + temp_valueVector(j) = IO_floatValue(line,chunkPos,i+k+j) + enddo + call newLoadCase%rot%fromEulers(temp_valueVector(1:3),degrees=(l==1)) + case('rotation','rot') ! assign values for the rotation matrix + temp_valueVector = 0.0_pReal + do j = 1, 9 + temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) + enddo + call newLoadCase%rot%fromMatrix(math_9to33(temp_valueVector)) + end select + enddo readIn + + newLoadCase%followFormerTrajectory = merge(.true.,.false.,currentLoadCase > 1) ! by default, guess from previous load case + + reportAndCheck: if (worldrank == 0) then + write (loadcase_string, '(i0)' ) currentLoadCase + write(6,'(/,1x,a,i0)') 'load case: ', currentLoadCase + if (.not. newLoadCase%followFormerTrajectory) write(6,'(2x,a)') 'drop guessing along trajectory' + if (newLoadCase%deformation%myType == 'l') then + do j = 1, 3 + if (any(newLoadCase%deformation%maskLogical(j,1:3) .eqv. .true.) .and. & + any(newLoadCase%deformation%maskLogical(j,1:3) .eqv. .false.)) errorID = 832 ! each row should be either fully or not at all defined + enddo + write(6,'(2x,a)') 'velocity gradient:' + else if (newLoadCase%deformation%myType == 'f') then + write(6,'(2x,a)') 'deformation gradient at end of load case:' + else + write(6,'(2x,a)') 'deformation gradient rate:' + endif + do i = 1, 3; do j = 1, 3 + if(newLoadCase%deformation%maskLogical(i,j)) then + write(6,'(2x,f12.7)',advance='no') newLoadCase%deformation%values(i,j) + else + write(6,'(2x,12a)',advance='no') ' * ' + endif + enddo; write(6,'(/)',advance='no') + enddo + if (any(newLoadCase%stress%maskLogical .eqv. & + newLoadCase%deformation%maskLogical)) errorID = 831 ! exclusive or masking only + if (any(newLoadCase%stress%maskLogical .and. transpose(newLoadCase%stress%maskLogical) & + .and. (math_I3<1))) errorID = 838 ! no rotation is allowed by stress BC + write(6,'(2x,a)') 'stress / GPa:' + do i = 1, 3; do j = 1, 3 + if(newLoadCase%stress%maskLogical(i,j)) then + write(6,'(2x,f12.7)',advance='no') newLoadCase%stress%values(i,j)*1e-9_pReal + else + write(6,'(2x,12a)',advance='no') ' * ' + endif + enddo; write(6,'(/)',advance='no') + enddo + if (any(abs(matmul(newLoadCase%rot%asMatrix(), & + transpose(newLoadCase%rot%asMatrix()))-math_I3) > & + reshape(spread(tol_math_check,1,9),[ 3,3]))) errorID = 846 ! given rotation matrix contains strain + if (any(dNeq(newLoadCase%rot%asMatrix(), math_I3))) & + write(6,'(2x,a,/,3(3(3x,f12.7,1x)/))',advance='no') 'rotation of loadframe:',& + transpose(newLoadCase%rot%asMatrix()) + if (newLoadCase%time < 0.0_pReal) errorID = 834 ! negative time increment + write(6,'(2x,a,f0.3)') 'time: ', newLoadCase%time + if (newLoadCase%incs < 1) errorID = 835 ! non-positive incs count + write(6,'(2x,a,i0)') 'increments: ', newLoadCase%incs + if (newLoadCase%outputfrequency < 1) errorID = 836 ! non-positive result frequency + write(6,'(2x,a,i0)') 'output frequency: ', newLoadCase%outputfrequency + if (newLoadCase%restartfrequency < 1) errorID = 839 ! non-positive restart frequency + if (newLoadCase%restartfrequency < huge(0)) & + write(6,'(2x,a,i0)') 'restart frequency: ', newLoadCase%restartfrequency + if (errorID > 0) call IO_error(error_ID = errorID, ext_msg = loadcase_string) ! exit with error message + endif reportAndCheck + loadCases = [loadCases,newLoadCase] ! load case is ok, append it + enddo !-------------------------------------------------------------------------------------------------- ! doing initialization depending on active solvers - call spectral_Utilities_init - do field = 1, nActiveFields - select case (loadCases(1)%ID(field)) - case(FIELD_MECH_ID) - call mech_init - - case(FIELD_THERMAL_ID) - call grid_thermal_spectral_init - - case(FIELD_DAMAGE_ID) - call grid_damage_spectral_init - - end select - enddo + call spectral_Utilities_init + do field = 1, nActiveFields + select case (loadCases(1)%ID(field)) + case(FIELD_MECH_ID) + call mech_init + + case(FIELD_THERMAL_ID) + call grid_thermal_spectral_init + + case(FIELD_DAMAGE_ID) + call grid_damage_spectral_init + + end select + enddo !-------------------------------------------------------------------------------------------------- ! write header of output file - if (worldrank == 0) then - writeHeader: if (interface_restartInc < 1) then - open(newunit=statUnit,file=trim(getSolverJobName())//'.sta',form='FORMATTED',status='REPLACE') - write(statUnit,'(a)') 'Increment Time CutbackLevel Converged IterationsNeeded' ! statistics file - if (iand(debug_level(debug_spectral),debug_levelBasic) /= 0) & - write(6,'(/,a)') ' header of statistics file written out' - flush(6) - else writeHeader - open(newunit=statUnit,file=trim(getSolverJobName())//& - '.sta',form='FORMATTED', position='APPEND', status='OLD') - endif writeHeader - endif - - writeUndeformed: if (interface_restartInc < 1) then - write(6,'(1/,a)') ' ... writing initial configuration to file ........................' - call CPFEM_results(0,0.0_pReal) - endif writeUndeformed - - loadCaseLooping: do currentLoadCase = 1, size(loadCases) - time0 = time ! load case start time - guess = loadCases(currentLoadCase)%followFormerTrajectory ! change of load case? homogeneous guess for the first inc - - incLooping: do inc = 1, loadCases(currentLoadCase)%incs - totalIncsCounter = totalIncsCounter + 1 + if (worldrank == 0) then + writeHeader: if (interface_restartInc < 1) then + open(newunit=statUnit,file=trim(getSolverJobName())//'.sta',form='FORMATTED',status='REPLACE') + write(statUnit,'(a)') 'Increment Time CutbackLevel Converged IterationsNeeded' ! statistics file + if (iand(debug_level(debug_spectral),debug_levelBasic) /= 0) & + write(6,'(/,a)') ' header of statistics file written out' + flush(6) + else writeHeader + open(newunit=statUnit,file=trim(getSolverJobName())//& + '.sta',form='FORMATTED', position='APPEND', status='OLD') + endif writeHeader + endif + + writeUndeformed: if (interface_restartInc < 1) then + write(6,'(1/,a)') ' ... writing initial configuration to file ........................' + call CPFEM_results(0,0.0_pReal) + endif writeUndeformed + + loadCaseLooping: do currentLoadCase = 1, size(loadCases) + time0 = time ! load case start time + guess = loadCases(currentLoadCase)%followFormerTrajectory ! change of load case? homogeneous guess for the first inc + + incLooping: do inc = 1, loadCases(currentLoadCase)%incs + totalIncsCounter = totalIncsCounter + 1 !-------------------------------------------------------------------------------------------------- ! forwarding time - timeIncOld = timeinc ! last timeinc that brought former inc to an end - if (loadCases(currentLoadCase)%logscale == 0) then ! linear scale - timeinc = loadCases(currentLoadCase)%time/real(loadCases(currentLoadCase)%incs,pReal) - else - if (currentLoadCase == 1) then ! 1st load case of logarithmic scale - if (inc == 1) then ! 1st inc of 1st load case of logarithmic scale - timeinc = loadCases(1)%time*(2.0_pReal**real( 1-loadCases(1)%incs ,pReal)) ! assume 1st inc is equal to 2nd - else ! not-1st inc of 1st load case of logarithmic scale - timeinc = loadCases(1)%time*(2.0_pReal**real(inc-1-loadCases(1)%incs ,pReal)) - endif - else ! not-1st load case of logarithmic scale - timeinc = time0 * & - ( (1.0_pReal + loadCases(currentLoadCase)%time/time0 )**(real( inc ,pReal)/& - real(loadCases(currentLoadCase)%incs ,pReal))& - -(1.0_pReal + loadCases(currentLoadCase)%time/time0 )**(real( inc-1 ,pReal)/& - real(loadCases(currentLoadCase)%incs ,pReal))) - endif - endif - timeinc = timeinc * real(subStepFactor,pReal)**real(-cutBackLevel,pReal) ! depending on cut back level, decrease time step - - skipping: if (totalIncsCounter <= interface_restartInc) then ! not yet at restart inc? - time = time + timeinc ! just advance time, skip already performed calculation - guess = .true. ! QUESTION:why forced guessing instead of inheriting loadcase preference - else skipping - stepFraction = 0 ! fraction scaled by stepFactor**cutLevel - - subStepLooping: do while (stepFraction < subStepFactor**cutBackLevel) - remainingLoadCaseTime = loadCases(currentLoadCase)%time+time0 - time - time = time + timeinc ! forward target time - stepFraction = stepFraction + 1 ! count step + timeIncOld = timeinc ! last timeinc that brought former inc to an end + if (loadCases(currentLoadCase)%logscale == 0) then ! linear scale + timeinc = loadCases(currentLoadCase)%time/real(loadCases(currentLoadCase)%incs,pReal) + else + if (currentLoadCase == 1) then ! 1st load case of logarithmic scale + if (inc == 1) then ! 1st inc of 1st load case of logarithmic scale + timeinc = loadCases(1)%time*(2.0_pReal**real( 1-loadCases(1)%incs ,pReal)) ! assume 1st inc is equal to 2nd + else ! not-1st inc of 1st load case of logarithmic scale + timeinc = loadCases(1)%time*(2.0_pReal**real(inc-1-loadCases(1)%incs ,pReal)) + endif + else ! not-1st load case of logarithmic scale + timeinc = time0 * & + ( (1.0_pReal + loadCases(currentLoadCase)%time/time0 )**(real( inc ,pReal)/& + real(loadCases(currentLoadCase)%incs ,pReal))& + -(1.0_pReal + loadCases(currentLoadCase)%time/time0 )**(real( inc-1 ,pReal)/& + real(loadCases(currentLoadCase)%incs ,pReal))) + endif + endif + timeinc = timeinc * real(subStepFactor,pReal)**real(-cutBackLevel,pReal) ! depending on cut back level, decrease time step + + skipping: if (totalIncsCounter <= interface_restartInc) then ! not yet at restart inc? + time = time + timeinc ! just advance time, skip already performed calculation + guess = .true. ! QUESTION:why forced guessing instead of inheriting loadcase preference + else skipping + stepFraction = 0 ! fraction scaled by stepFactor**cutLevel + + subStepLooping: do while (stepFraction < subStepFactor**cutBackLevel) + remainingLoadCaseTime = loadCases(currentLoadCase)%time+time0 - time + time = time + timeinc ! forward target time + stepFraction = stepFraction + 1 ! count step !-------------------------------------------------------------------------------------------------- ! report begin of new step - write(6,'(/,a)') ' ###########################################################################' - write(6,'(1x,a,es12.5,6(a,i0))') & - 'Time', time, & - 's: Increment ', inc,'/',loadCases(currentLoadCase)%incs,& - '-', stepFraction,'/',subStepFactor**cutBackLevel,& - ' of load case ', currentLoadCase,'/',size(loadCases) - write(incInfo,'(4(a,i0))') & - 'Increment ',totalIncsCounter,'/',sum(loadCases%incs),& - '-', stepFraction,'/',subStepFactor**cutBackLevel - flush(6) + write(6,'(/,a)') ' ###########################################################################' + write(6,'(1x,a,es12.5,6(a,i0))') & + 'Time', time, & + 's: Increment ', inc,'/',loadCases(currentLoadCase)%incs,& + '-', stepFraction,'/',subStepFactor**cutBackLevel,& + ' of load case ', currentLoadCase,'/',size(loadCases) + write(incInfo,'(4(a,i0))') & + 'Increment ',totalIncsCounter,'/',sum(loadCases%incs),& + '-', stepFraction,'/',subStepFactor**cutBackLevel + flush(6) !-------------------------------------------------------------------------------------------------- ! forward fields - do field = 1, nActiveFields - select case(loadCases(currentLoadCase)%ID(field)) - case(FIELD_MECH_ID) - call mech_forward (& - cutBack,guess,timeinc,timeIncOld,remainingLoadCaseTime, & - deformation_BC = loadCases(currentLoadCase)%deformation, & - stress_BC = loadCases(currentLoadCase)%stress, & - rotation_BC = loadCases(currentLoadCase)%rot) - - case(FIELD_THERMAL_ID); call grid_thermal_spectral_forward(cutBack) - case(FIELD_DAMAGE_ID); call grid_damage_spectral_forward(cutBack) - end select - enddo - if(.not. cutBack) call CPFEM_forward + do field = 1, nActiveFields + select case(loadCases(currentLoadCase)%ID(field)) + case(FIELD_MECH_ID) + call mech_forward (& + cutBack,guess,timeinc,timeIncOld,remainingLoadCaseTime, & + deformation_BC = loadCases(currentLoadCase)%deformation, & + stress_BC = loadCases(currentLoadCase)%stress, & + rotation_BC = loadCases(currentLoadCase)%rot) + + case(FIELD_THERMAL_ID); call grid_thermal_spectral_forward(cutBack) + case(FIELD_DAMAGE_ID); call grid_damage_spectral_forward(cutBack) + end select + enddo + if(.not. cutBack) call CPFEM_forward !-------------------------------------------------------------------------------------------------- ! solve fields - stagIter = 0 - stagIterate = .true. - do while (stagIterate) - do field = 1, nActiveFields - select case(loadCases(currentLoadCase)%ID(field)) - case(FIELD_MECH_ID) - solres(field) = mech_solution (& - incInfo,timeinc,timeIncOld, & - stress_BC = loadCases(currentLoadCase)%stress, & - rotation_BC = loadCases(currentLoadCase)%rot) - - case(FIELD_THERMAL_ID) - solres(field) = grid_thermal_spectral_solution(timeinc,timeIncOld) - - case(FIELD_DAMAGE_ID) - solres(field) = grid_damage_spectral_solution(timeinc,timeIncOld) - - end select - - if (.not. solres(field)%converged) exit ! no solution found - - enddo - stagIter = stagIter + 1 - stagIterate = stagIter < stagItMax & - .and. all(solres(:)%converged) & - .and. .not. all(solres(:)%stagConverged) ! stationary with respect to staggered iteration - enddo + stagIter = 0 + stagIterate = .true. + do while (stagIterate) + do field = 1, nActiveFields + select case(loadCases(currentLoadCase)%ID(field)) + case(FIELD_MECH_ID) + solres(field) = mech_solution (& + incInfo,timeinc,timeIncOld, & + stress_BC = loadCases(currentLoadCase)%stress, & + rotation_BC = loadCases(currentLoadCase)%rot) + + case(FIELD_THERMAL_ID) + solres(field) = grid_thermal_spectral_solution(timeinc,timeIncOld) + + case(FIELD_DAMAGE_ID) + solres(field) = grid_damage_spectral_solution(timeinc,timeIncOld) + + end select + + if (.not. solres(field)%converged) exit ! no solution found + + enddo + stagIter = stagIter + 1 + stagIterate = stagIter < stagItMax & + .and. all(solres(:)%converged) & + .and. .not. all(solres(:)%stagConverged) ! stationary with respect to staggered iteration + enddo !-------------------------------------------------------------------------------------------------- ! check solution for either advance or retry - if ( (all(solres(:)%converged .and. solres(:)%stagConverged)) & ! converged - .and. .not. solres(1)%termIll) then ! and acceptable solution found - call mech_updateCoords - timeIncOld = timeinc - cutBack = .false. - guess = .true. ! start guessing after first converged (sub)inc - if (worldrank == 0) then - write(statUnit,*) totalIncsCounter, time, cutBackLevel, & - solres%converged, solres%iterationsNeeded - flush(statUnit) - endif - elseif (cutBackLevel < maxCutBack) then ! further cutbacking tolerated? - cutBack = .true. - stepFraction = (stepFraction - 1) * subStepFactor ! adjust to new denominator - cutBackLevel = cutBackLevel + 1 - time = time - timeinc ! rewind time - timeinc = timeinc/real(subStepFactor,pReal) ! cut timestep - write(6,'(/,a)') ' cutting back ' - else ! no more options to continue - call IO_warning(850) - if (worldrank == 0) close(statUnit) - call quit(0) ! quit - endif - - enddo subStepLooping - - cutBackLevel = max(0, cutBackLevel - 1) ! try half number of subincs next inc - - if (all(solres(:)%converged)) then - write(6,'(/,a,i0,a)') ' increment ', totalIncsCounter, ' converged' - else - write(6,'(/,a,i0,a)') ' increment ', totalIncsCounter, ' NOT converged' - endif; flush(6) - - if (mod(inc,loadCases(currentLoadCase)%outputFrequency) == 0) then ! at output frequency - write(6,'(1/,a)') ' ... writing results to file ......................................' - flush(6) - call CPFEM_results(totalIncsCounter,time) - endif - if (mod(inc,loadCases(currentLoadCase)%restartFrequency) == 0) then - call mech_restartWrite - call CPFEM_restartWrite - endif - endif skipping - - enddo incLooping - - enddo loadCaseLooping + if ( (all(solres(:)%converged .and. solres(:)%stagConverged)) & ! converged + .and. .not. solres(1)%termIll) then ! and acceptable solution found + call mech_updateCoords + timeIncOld = timeinc + cutBack = .false. + guess = .true. ! start guessing after first converged (sub)inc + if (worldrank == 0) then + write(statUnit,*) totalIncsCounter, time, cutBackLevel, & + solres%converged, solres%iterationsNeeded + flush(statUnit) + endif + elseif (cutBackLevel < maxCutBack) then ! further cutbacking tolerated? + cutBack = .true. + stepFraction = (stepFraction - 1) * subStepFactor ! adjust to new denominator + cutBackLevel = cutBackLevel + 1 + time = time - timeinc ! rewind time + timeinc = timeinc/real(subStepFactor,pReal) ! cut timestep + write(6,'(/,a)') ' cutting back ' + else ! no more options to continue + call IO_warning(850) + if (worldrank == 0) close(statUnit) + call quit(0) ! quit + endif + + enddo subStepLooping + + cutBackLevel = max(0, cutBackLevel - 1) ! try half number of subincs next inc + + if (all(solres(:)%converged)) then + write(6,'(/,a,i0,a)') ' increment ', totalIncsCounter, ' converged' + else + write(6,'(/,a,i0,a)') ' increment ', totalIncsCounter, ' NOT converged' + endif; flush(6) + + if (mod(inc,loadCases(currentLoadCase)%outputFrequency) == 0) then ! at output frequency + write(6,'(1/,a)') ' ... writing results to file ......................................' + flush(6) + call CPFEM_results(totalIncsCounter,time) + endif + if (mod(inc,loadCases(currentLoadCase)%restartFrequency) == 0) then + call mech_restartWrite + call CPFEM_restartWrite + endif + endif skipping + + enddo incLooping + + enddo loadCaseLooping !-------------------------------------------------------------------------------------------------- ! report summary of whole calculation - write(6,'(/,a)') ' ###########################################################################' - if (worldrank == 0) close(statUnit) - - call quit(0) ! no complains ;) - + write(6,'(/,a)') ' ###########################################################################' + if (worldrank == 0) close(statUnit) + + call quit(0) ! no complains ;) + end program DAMASK_grid diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index ad7d49d72..ffc3b4cc2 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -60,13 +60,22 @@ subroutine grid_damage_spectral_init DM :: damage_grid Vec :: uBound, lBound PetscErrorCode :: ierr - character(len=pStringLen) :: snes_type + class(tNode), pointer :: & + num_generic + character(len=pStringLen) :: & + snes_type, & + petsc_options write(6,'(/,a)') ' <<<+- grid_spectral_damage init -+>>>' write(6,'(/,a)') ' Shanthraj et al., Handbook of Mechanics of Materials, 2019' write(6,'(a)') ' https://doi.org/10.1007/978-981-10-6855-3_80' +!------------------------------------------------------------------------------------------------- +! read numerical parameter + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + petsc_options = num_generic%get_asString('petsc_options',defaultVal='') + !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-damage_snes_type newtonls -damage_snes_mf & diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 9cb11257b..03709040f 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -96,13 +96,22 @@ subroutine grid_mech_FEM_init 1.0_pReal, 1.0_pReal, 1.0_pReal, 1.0_pReal], [4,8]) PetscErrorCode :: ierr integer(HID_T) :: fileHandle, groupHandle - character(len=pStringLen) :: fileName + character(len=pStringLen) :: & + fileName, & + petsc_options + class(tNode), pointer :: & + num_generic real(pReal), dimension(3,3,3,3) :: devNull PetscScalar, pointer, dimension(:,:,:,:) :: & u_current,u_lastInc write(6,'(/,a)') ' <<<+- grid_mech_FEM init -+>>>'; flush(6) +!------------------------------------------------------------------------------------------------- +! read numerical parameter + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + petsc_options = num_generic%get_asString('petsc_options',defaultVal='') + !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-mech_snes_type newtonls -mech_ksp_type fgmres & diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index fd948c8fd..e754b0d64 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -89,7 +89,8 @@ subroutine grid_mech_spectral_basic_init real(pReal), dimension(3,3) :: & temp33_Real = 0.0_pReal class (tNode), pointer :: & - num_grid + num_grid, & + num_generic PetscErrorCode :: ierr PetscScalar, pointer, dimension(:,:,:,:) :: & @@ -97,7 +98,9 @@ subroutine grid_mech_spectral_basic_init PetscInt, dimension(worldsize) :: localK integer(HID_T) :: fileHandle, groupHandle integer :: fileUnit - character(len=pStringLen) :: fileName + character(len=pStringLen) :: & + fileName, & + petsc_options write(6,'(/,a)') ' <<<+- grid_mech_spectral_basic init -+>>>'; flush(6) @@ -107,6 +110,11 @@ subroutine grid_mech_spectral_basic_init write(6,'(/,a)') ' Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2014.02.006' +!------------------------------------------------------------------------------------------------- +! read numerical parameters + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + petsc_options = num_generic%get_asString('petsc_options',defaultVal='') + num_grid => numerics_root%get('grid',defaultVal=emptyDict) num%update_gamma = num_grid%get_asBool('update_gamma',defaultVal=.false.) diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 401b7ca6f..33b84c340 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -96,7 +96,8 @@ subroutine grid_mech_spectral_polarisation_init real(pReal), dimension(3,3) :: & temp33_Real = 0.0_pReal class (tNode), pointer :: & - num_grid + num_grid, & + num_generic PetscErrorCode :: ierr PetscScalar, pointer, dimension(:,:,:,:) :: & @@ -106,13 +107,20 @@ subroutine grid_mech_spectral_polarisation_init PetscInt, dimension(0:worldsize-1) :: localK integer(HID_T) :: fileHandle, groupHandle integer :: fileUnit - character(len=pStringLen) :: fileName + character(len=pStringLen) :: & + fileName, & + petsc_options write(6,'(/,a)') ' <<<+- grid_mech_spectral_polarisation init -+>>>'; flush(6) write(6,'(/,a)') ' Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2014.02.006' +!------------------------------------------------------------------------------------------------- +! read numerical parameters + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + petsc_options = num_generic%get_asString('petsc_options',defaultVal='') + num_grid => numerics_root%get('grid',defaultVal=emptyDict) num%update_gamma = num_grid%get_asBool('update_gamma',defaultVal=.false.) diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index 7748ce41a..418330411 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -62,12 +62,21 @@ subroutine grid_thermal_spectral_init DM :: thermal_grid PetscScalar, dimension(:,:,:), pointer :: x_scal PetscErrorCode :: ierr + class(tNode), pointer :: & + num_generic + character(len=pStringLen) :: & + petsc_options write(6,'(/,a)') ' <<<+- grid_thermal_spectral init -+>>>' write(6,'(/,a)') ' Shanthraj et al., Handbook of Mechanics of Materials, 2019' write(6,'(a)') ' https://doi.org/10.1007/978-981-10-6855-3_80' +!------------------------------------------------------------------------------------------------- +! read numerical parameter + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + petsc_options = num_generic%get_asString('petsc_options',defaultVal='') + !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-thermal_snes_type ngmres',ierr) diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 47c7d9d08..d8e922343 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -189,8 +189,11 @@ subroutine spectral_utilities_init scalarSize = 1_C_INTPTR_T, & vecSize = 3_C_INTPTR_T, & tensorSize = 9_C_INTPTR_T + character(len=pStringLen) :: & + petsc_options class (tNode) , pointer :: & - num_grid + num_grid, & + num_generic write(6,'(/,a)') ' <<<+- spectral_utilities init -+>>>' @@ -217,6 +220,9 @@ subroutine spectral_utilities_init trim(PETScDebug), & ' add more using the PETSc_Options keyword in numerics.config '; flush(6) + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + petsc_options = num_generic%get_asString('petsc_options',defaultVal='') + call PETScOptionsClear(PETSC_NULL_OPTIONS,ierr) CHKERRQ(ierr) if(debugPETSc) call PETScOptionsInsertString(PETSC_NULL_OPTIONS,trim(PETSCDEBUG),ierr) diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 79619dc85..f7e00f42c 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -103,15 +103,20 @@ subroutine FEM_utilities_init character(len=pStringLen) :: petsc_optionsOrder class(tNode), pointer :: & - num_mesh + num_mesh, & + num_generic integer :: structOrder !< order of displacement shape functions - + character(len=pStringLen) :: & + petsc_options PetscErrorCode :: ierr write(6,'(/,a)') ' <<<+- DAMASK_FEM_utilities init -+>>>' num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) structOrder = num_mesh%get_asInt('structOrder',defaultVal = 2) + + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + petsc_options = num_generic%get_asString('petsc_options', defaultVal='') !-------------------------------------------------------------------------------------------------- ! set debugging parameters diff --git a/src/numerics.f90 b/src/numerics.f90 index 5a9df4db0..b4d029d00 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -25,20 +25,6 @@ module numerics worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) integer(4), protected, public :: & DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive - -!-------------------------------------------------------------------------------------------------- -! spectral parameters: -#ifdef Grid - character(len=pStringLen), protected, public :: & - petsc_options -#endif - -!-------------------------------------------------------------------------------------------------- -! Mesh parameters: -#ifdef Mesh - character(len=pStringLen), protected, public :: & - petsc_options -#endif public :: numerics_init @@ -56,8 +42,6 @@ subroutine numerics_init character(len=:), allocatable :: & numerics_input, & numerics_inFlow - class (tNode), pointer :: & - num_grid logical :: fexist !$ character(len=6) DAMASK_NumThreadsString ! environment variable DAMASK_NUM_THREADS @@ -86,12 +70,6 @@ subroutine numerics_init numerics_input = IO_read('numerics.yaml') numerics_inFlow = to_flow(numerics_input) numerics_root => parse_flow(numerics_inFlow,defaultVal=emptyDict) -!-------------------------------------------------------------------------------------------------- -! grid parameters - num_grid => numerics_root%get('grid',defaultVal=emptyDict) -#ifdef PETSC - petsc_options = num_grid%get_asString('petsc_options',defaultVal = '') -#endif else fileExists write(6,'(a,/)') ' using standard values' flush(6) @@ -101,11 +79,6 @@ subroutine numerics_init ! openMP parameter !$ write(6,'(a24,1x,i8,/)') ' number of threads: ',DAMASK_NumThreadsInt -!-------------------------------------------------------------------------------------------------- -#ifdef PETSC - write(6,'(a24,1x,a)') ' PETSc_options: ',trim(petsc_options) -#endif - end subroutine numerics_init end module numerics From cdb4a11a2ef974e88374719adaf2cb0df7f4df56 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 18 Jun 2020 00:17:43 +0200 Subject: [PATCH 207/958] proper error message; Comments starting point is standardized --- src/IO.f90 | 4 +- src/YAML_types.f90 | 10 +-- src/grid/DAMASK_grid.f90 | 179 ++++++++++++++++++++------------------- 3 files changed, 98 insertions(+), 95 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index e6e3d4a60..d8947c0c6 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -554,7 +554,7 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'invalid selection for debug' !------------------------------------------------------------------------------------------------ -! errors related to YAML input files +! errors related to YAML data case (701) msg = 'Incorrect indent/Null value not allowed' case (702) @@ -565,6 +565,8 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'Space expected after a colon for : pair' case (705) msg = 'Unsupported feature' + case (706) + msg = 'Access by incorrect node type' !------------------------------------------------------------------------------------------------- ! errors related to the grid solver diff --git a/src/YAML_types.f90 b/src/YAML_types.f90 index 2723233e3..6a2706269 100644 --- a/src/YAML_types.f90 +++ b/src/YAML_types.f90 @@ -312,7 +312,7 @@ function tNode_asScalar(self) result(scalar) class is(tScalar) scalar => self class default - call IO_error(0) + call IO_error(706,ext_msg='tNode_asScalar') end select end function tNode_asScalar @@ -330,7 +330,7 @@ function tNode_asList(self) result(list) class is(tList) list => self class default - call IO_error(0) + call IO_error(706,ext_msg='tNode_asList') end select end function tNode_asList @@ -348,7 +348,7 @@ function tNode_asDict(self) result(dict) class is(tDict) dict => self class default - call IO_error(0) + call IO_error(706,ext_msg='tNode_asDict') end select end function tNode_asDict @@ -419,7 +419,7 @@ function tNode_get_byIndex(self,i) result(node) integer :: j self_ => self%asList() - if(i < 1 .or. i > self_%length) call IO_error(0) + if(i < 1 .or. i > self_%length) call IO_error(150,ext_msg='tNode_get_byIndex') j = 1 item => self_%first @@ -642,7 +642,7 @@ function tNode_contains(self,k) result(exists) endif enddo else - call IO_error(0) + call IO_error(706,ext_msg='tNode_contains') endif end function tNode_contains diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 93b02b360..c2ac2ea58 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -30,13 +30,13 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! variables related to information from load case and geom file - real(pReal), dimension(9) :: temp_valueVector = 0.0_pReal !< temporarily from loadcase file when reading in tensors (initialize to 0.0) - logical, dimension(9) :: temp_maskVector = .false. !< temporarily from loadcase file when reading in tensors + real(pReal), dimension(9) :: temp_valueVector = 0.0_pReal !< temporarily from loadcase file when reading in tensors (initialize to 0.0) + logical, dimension(9) :: temp_maskVector = .false. !< temporarily from loadcase file when reading in tensors integer, allocatable, dimension(:) :: chunkPos integer :: & - N_t = 0, & !< # of time indicators found in load case file - N_n = 0, & !< # of increment specifiers found in load case file - N_def = 0 !< # of rate of deformation specifiers found in load case file + N_t = 0, & !< # of time indicators found in load case file + N_n = 0, & !< # of increment specifiers found in load case file + N_def = 0 !< # of rate of deformation specifiers found in load case file character(len=pStringLen) :: & line @@ -46,36 +46,36 @@ program DAMASK_grid ones = 1.0_pReal, & zeros = 0.0_pReal integer, parameter :: & - subStepFactor = 2 !< for each substep, divide the last time increment by 2.0 + subStepFactor = 2 !< for each substep, divide the last time increment by 2.0 real(pReal) :: & - time = 0.0_pReal, & !< elapsed time - time0 = 0.0_pReal, & !< begin of interval - timeinc = 1.0_pReal, & !< current time interval - timeIncOld = 0.0_pReal, & !< previous time interval - remainingLoadCaseTime = 0.0_pReal !< remaining time of current load case + time = 0.0_pReal, & !< elapsed time + time0 = 0.0_pReal, & !< begin of interval + timeinc = 1.0_pReal, & !< current time interval + timeIncOld = 0.0_pReal, & !< previous time interval + remainingLoadCaseTime = 0.0_pReal !< remaining time of current load case logical :: & - guess, & !< guess along former trajectory + guess, & !< guess along former trajectory stagIterate, & cutBack = .false. integer :: & i, j, k, l, field, & errorID = 0, & - cutBackLevel = 0, & !< cut back level \f$ t = \frac{t_{inc}}{2^l} \f$ - maxCutBack, & !< max number of cut backs - stepFraction = 0 !< fraction of current time interval + cutBackLevel = 0, & !< cut back level \f$ t = \frac{t_{inc}}{2^l} \f$ + maxCutBack, & !< max number of cut backs + stepFraction = 0 !< fraction of current time interval integer :: & - currentLoadcase = 0, & !< current load case - inc, & !< current increment in current load case - totalIncsCounter = 0, & !< total # of increments - statUnit = 0, & !< file unit for statistics output + currentLoadcase = 0, & !< current load case + inc, & !< current increment in current load case + totalIncsCounter = 0, & !< total # of increments + statUnit = 0, & !< file unit for statistics output stagIter, & - stagItMax, & !< max number of field level staggered iterations + stagItMax, & !< max number of field level staggered iterations nActiveFields = 0 character(len=pStringLen), dimension(:), allocatable :: fileContent character(len=pStringLen) :: & incInfo, & loadcase_string - type(tLoadCase), allocatable, dimension(:) :: loadCases !< array of all load cases + type(tLoadCase), allocatable, dimension(:) :: loadCases !< array of all load cases type(tLoadCase) :: newLoadCase type(tSolutionState), allocatable, dimension(:) :: solres procedure(grid_mech_spectral_basic_init), pointer :: & @@ -163,13 +163,13 @@ program DAMASK_grid fileContent = IO_readlines(trim(loadCaseFile)) if(size(fileContent) == 0) call IO_error(307,ext_msg='No load case specified') - allocate (loadCases(0)) ! array of load cases + allocate (loadCases(0)) ! array of load cases do currentLoadCase = 1, size(fileContent) line = fileContent(currentLoadCase) if (IO_isBlank(line)) cycle chunkPos = IO_stringPos(line) - do i = 1, chunkPos(1) ! reading compulsory parameters for loadcase + do i = 1, chunkPos(1) ! reading compulsory parameters for loadcase select case (IO_lc(IO_stringValue(line,chunkPos,i))) case('l','fdot','dotf','f') N_def = N_def + 1 @@ -179,12 +179,12 @@ program DAMASK_grid N_n = N_n + 1 end select enddo - if ((N_def /= N_n) .or. (N_n /= N_t) .or. N_n < 1) & ! sanity check - call IO_error(error_ID=837,el=currentLoadCase,ext_msg = trim(loadCaseFile)) ! error message for incomplete loadcase + if ((N_def /= N_n) .or. (N_n /= N_t) .or. N_n < 1) & ! sanity check + call IO_error(error_ID=837,el=currentLoadCase,ext_msg = trim(loadCaseFile)) ! error message for incomplete loadcase newLoadCase%stress%myType='stress' field = 1 - newLoadCase%ID(field) = FIELD_MECH_ID ! mechanical active by default + newLoadCase%ID(field) = FIELD_MECH_ID ! mechanical active by default thermalActive: if (any(thermal_type == THERMAL_conduction_ID)) then field = field + 1 newLoadCase%ID(field) = FIELD_THERMAL_ID @@ -197,9 +197,9 @@ program DAMASK_grid call newLoadCase%rot%fromEulers(real([0.0,0.0,0.0],pReal)) readIn: do i = 1, chunkPos(1) select case (IO_lc(IO_stringValue(line,chunkPos,i))) - case('fdot','dotf','l','f') ! assign values for the deformation BC matrix + case('fdot','dotf','l','f') ! assign values for the deformation BC matrix temp_valueVector = 0.0_pReal - if (IO_lc(IO_stringValue(line,chunkPos,i)) == 'fdot'.or. & ! in case of Fdot, set type to fdot + if (IO_lc(IO_stringValue(line,chunkPos,i)) == 'fdot'.or. & ! in case of Fdot, set type to fdot IO_lc(IO_stringValue(line,chunkPos,i)) == 'dotf') then newLoadCase%deformation%myType = 'fdot' else if (IO_lc(IO_stringValue(line,chunkPos,i)) == 'f') then @@ -208,41 +208,41 @@ program DAMASK_grid newLoadCase%deformation%myType = 'l' endif do j = 1, 9 - temp_maskVector(j) = IO_stringValue(line,chunkPos,i+j) /= '*' ! true if not a * - if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable + temp_maskVector(j) = IO_stringValue(line,chunkPos,i+j) /= '*' ! true if not a * + if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable enddo - newLoadCase%deformation%maskLogical = transpose(reshape(temp_maskVector,[ 3,3])) ! logical mask in 3x3 notation - newLoadCase%deformation%maskFloat = merge(ones,zeros,newLoadCase%deformation%maskLogical)! float (1.0/0.0) mask in 3x3 notation - newLoadCase%deformation%values = math_9to33(temp_valueVector) ! values in 3x3 notation + newLoadCase%deformation%maskLogical = transpose(reshape(temp_maskVector,[ 3,3])) ! logical mask in 3x3 notation + newLoadCase%deformation%maskFloat = merge(ones,zeros,newLoadCase%deformation%maskLogical) ! float (1.0/0.0) mask in 3x3 notation + newLoadCase%deformation%values = math_9to33(temp_valueVector) ! values in 3x3 notation case('p','stress', 's') temp_valueVector = 0.0_pReal do j = 1, 9 - temp_maskVector(j) = IO_stringValue(line,chunkPos,i+j) /= '*' ! true if not an asterisk - if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable + temp_maskVector(j) = IO_stringValue(line,chunkPos,i+j) /= '*' ! true if not an asterisk + if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable enddo newLoadCase%stress%maskLogical = transpose(reshape(temp_maskVector,[ 3,3])) newLoadCase%stress%maskFloat = merge(ones,zeros,newLoadCase%stress%maskLogical) newLoadCase%stress%values = math_9to33(temp_valueVector) - case('t','time','delta') ! increment time + case('t','time','delta') ! increment time newLoadCase%time = IO_floatValue(line,chunkPos,i+1) - case('n','incs','increments') ! number of increments + case('n','incs','increments') ! number of increments newLoadCase%incs = IO_intValue(line,chunkPos,i+1) - case('logincs','logincrements') ! number of increments (switch to log time scaling) + case('logincs','logincrements') ! number of increments (switch to log time scaling) newLoadCase%incs = IO_intValue(line,chunkPos,i+1) newLoadCase%logscale = 1 - case('freq','frequency','outputfreq') ! frequency of result writings + case('freq','frequency','outputfreq') ! frequency of result writings newLoadCase%outputfrequency = IO_intValue(line,chunkPos,i+1) - case('r','restart','restartwrite') ! frequency of writing restart information + case('r','restart','restartwrite') ! frequency of writing restart information newLoadCase%restartfrequency = IO_intValue(line,chunkPos,i+1) case('guessreset','dropguessing') - newLoadCase%followFormerTrajectory = .false. ! do not continue to predict deformation along former trajectory - case('euler') ! rotation of load case given in euler angles + newLoadCase%followFormerTrajectory = .false. ! do not continue to predict deformation along former trajectory + case('euler') ! rotation of load case given in euler angles temp_valueVector = 0.0_pReal - l = 1 ! assuming values given in degrees - k = 1 ! assuming keyword indicating degree/radians present + l = 1 ! assuming values given in degrees + k = 1 ! assuming keyword indicating degree/radians present select case (IO_lc(IO_stringValue(line,chunkPos,i+1))) case('deg','degree') - case('rad','radian') ! don't convert from degree to radian + case('rad','radian') ! don't convert from degree to radian l = 0 case default k = 0 @@ -251,7 +251,7 @@ program DAMASK_grid temp_valueVector(j) = IO_floatValue(line,chunkPos,i+k+j) enddo call newLoadCase%rot%fromEulers(temp_valueVector(1:3),degrees=(l==1)) - case('rotation','rot') ! assign values for the rotation matrix + case('rotation','rot') ! assign values for the rotation matrix temp_valueVector = 0.0_pReal do j = 1, 9 temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) @@ -260,16 +260,17 @@ program DAMASK_grid end select enddo readIn - newLoadCase%followFormerTrajectory = merge(.true.,.false.,currentLoadCase > 1) ! by default, guess from previous load case + newLoadCase%followFormerTrajectory = merge(.true.,.false.,currentLoadCase > 1) ! by default, guess from previous load case reportAndCheck: if (worldrank == 0) then write (loadcase_string, '(i0)' ) currentLoadCase write(6,'(/,1x,a,i0)') 'load case: ', currentLoadCase - if (.not. newLoadCase%followFormerTrajectory) write(6,'(2x,a)') 'drop guessing along trajectory' + if (.not. newLoadCase%followFormerTrajectory) & + write(6,'(2x,a)') 'drop guessing along trajectory' if (newLoadCase%deformation%myType == 'l') then do j = 1, 3 if (any(newLoadCase%deformation%maskLogical(j,1:3) .eqv. .true.) .and. & - any(newLoadCase%deformation%maskLogical(j,1:3) .eqv. .false.)) errorID = 832 ! each row should be either fully or not at all defined + any(newLoadCase%deformation%maskLogical(j,1:3) .eqv. .false.)) errorID = 832 ! each row should be either fully or not at all defined enddo write(6,'(2x,a)') 'velocity gradient:' else if (newLoadCase%deformation%myType == 'f') then @@ -286,9 +287,9 @@ program DAMASK_grid enddo; write(6,'(/)',advance='no') enddo if (any(newLoadCase%stress%maskLogical .eqv. & - newLoadCase%deformation%maskLogical)) errorID = 831 ! exclusive or masking only + newLoadCase%deformation%maskLogical)) errorID = 831 ! exclusive or masking only if (any(newLoadCase%stress%maskLogical .and. transpose(newLoadCase%stress%maskLogical) & - .and. (math_I3<1))) errorID = 838 ! no rotation is allowed by stress BC + .and. (math_I3<1))) errorID = 838 ! no rotation is allowed by stress BC write(6,'(2x,a)') 'stress / GPa:' do i = 1, 3; do j = 1, 3 if(newLoadCase%stress%maskLogical(i,j)) then @@ -300,22 +301,22 @@ program DAMASK_grid enddo if (any(abs(matmul(newLoadCase%rot%asMatrix(), & transpose(newLoadCase%rot%asMatrix()))-math_I3) > & - reshape(spread(tol_math_check,1,9),[ 3,3]))) errorID = 846 ! given rotation matrix contains strain + reshape(spread(tol_math_check,1,9),[ 3,3]))) errorID = 846 ! given rotation matrix contains strain if (any(dNeq(newLoadCase%rot%asMatrix(), math_I3))) & write(6,'(2x,a,/,3(3(3x,f12.7,1x)/))',advance='no') 'rotation of loadframe:',& transpose(newLoadCase%rot%asMatrix()) - if (newLoadCase%time < 0.0_pReal) errorID = 834 ! negative time increment + if (newLoadCase%time < 0.0_pReal) errorID = 834 ! negative time increment write(6,'(2x,a,f0.3)') 'time: ', newLoadCase%time - if (newLoadCase%incs < 1) errorID = 835 ! non-positive incs count + if (newLoadCase%incs < 1) errorID = 835 ! non-positive incs count write(6,'(2x,a,i0)') 'increments: ', newLoadCase%incs - if (newLoadCase%outputfrequency < 1) errorID = 836 ! non-positive result frequency + if (newLoadCase%outputfrequency < 1) errorID = 836 ! non-positive result frequency write(6,'(2x,a,i0)') 'output frequency: ', newLoadCase%outputfrequency - if (newLoadCase%restartfrequency < 1) errorID = 839 ! non-positive restart frequency + if (newLoadCase%restartfrequency < 1) errorID = 839 ! non-positive restart frequency if (newLoadCase%restartfrequency < huge(0)) & write(6,'(2x,a,i0)') 'restart frequency: ', newLoadCase%restartfrequency - if (errorID > 0) call IO_error(error_ID = errorID, ext_msg = loadcase_string) ! exit with error message + if (errorID > 0) call IO_error(error_ID = errorID, ext_msg = loadcase_string) ! exit with error message endif reportAndCheck - loadCases = [loadCases,newLoadCase] ! load case is ok, append it + loadCases = [loadCases,newLoadCase] ! load case is ok, append it enddo @@ -341,7 +342,7 @@ program DAMASK_grid if (worldrank == 0) then writeHeader: if (interface_restartInc < 1) then open(newunit=statUnit,file=trim(getSolverJobName())//'.sta',form='FORMATTED',status='REPLACE') - write(statUnit,'(a)') 'Increment Time CutbackLevel Converged IterationsNeeded' ! statistics file + write(statUnit,'(a)') 'Increment Time CutbackLevel Converged IterationsNeeded' ! statistics file if (iand(debug_level(debug_spectral),debug_levelBasic) /= 0) & write(6,'(/,a)') ' header of statistics file written out' flush(6) @@ -357,25 +358,25 @@ program DAMASK_grid endif writeUndeformed loadCaseLooping: do currentLoadCase = 1, size(loadCases) - time0 = time ! load case start time - guess = loadCases(currentLoadCase)%followFormerTrajectory ! change of load case? homogeneous guess for the first inc + time0 = time ! load case start time + guess = loadCases(currentLoadCase)%followFormerTrajectory ! change of load case? homogeneous guess for the first inc incLooping: do inc = 1, loadCases(currentLoadCase)%incs totalIncsCounter = totalIncsCounter + 1 !-------------------------------------------------------------------------------------------------- ! forwarding time - timeIncOld = timeinc ! last timeinc that brought former inc to an end - if (loadCases(currentLoadCase)%logscale == 0) then ! linear scale + timeIncOld = timeinc ! last timeinc that brought former inc to an end + if (loadCases(currentLoadCase)%logscale == 0) then ! linear scale timeinc = loadCases(currentLoadCase)%time/real(loadCases(currentLoadCase)%incs,pReal) else - if (currentLoadCase == 1) then ! 1st load case of logarithmic scale - if (inc == 1) then ! 1st inc of 1st load case of logarithmic scale - timeinc = loadCases(1)%time*(2.0_pReal**real( 1-loadCases(1)%incs ,pReal)) ! assume 1st inc is equal to 2nd - else ! not-1st inc of 1st load case of logarithmic scale + if (currentLoadCase == 1) then ! 1st load case of logarithmic scale + if (inc == 1) then ! 1st inc of 1st load case of logarithmic scale + timeinc = loadCases(1)%time*(2.0_pReal**real( 1-loadCases(1)%incs ,pReal)) ! assume 1st inc is equal to 2nd + else ! not-1st inc of 1st load case of logarithmic scale timeinc = loadCases(1)%time*(2.0_pReal**real(inc-1-loadCases(1)%incs ,pReal)) endif - else ! not-1st load case of logarithmic scale + else ! not-1st load case of logarithmic scale timeinc = time0 * & ( (1.0_pReal + loadCases(currentLoadCase)%time/time0 )**(real( inc ,pReal)/& real(loadCases(currentLoadCase)%incs ,pReal))& @@ -383,18 +384,18 @@ program DAMASK_grid real(loadCases(currentLoadCase)%incs ,pReal))) endif endif - timeinc = timeinc * real(subStepFactor,pReal)**real(-cutBackLevel,pReal) ! depending on cut back level, decrease time step + timeinc = timeinc * real(subStepFactor,pReal)**real(-cutBackLevel,pReal) ! depending on cut back level, decrease time step - skipping: if (totalIncsCounter <= interface_restartInc) then ! not yet at restart inc? - time = time + timeinc ! just advance time, skip already performed calculation - guess = .true. ! QUESTION:why forced guessing instead of inheriting loadcase preference + skipping: if (totalIncsCounter <= interface_restartInc) then ! not yet at restart inc? + time = time + timeinc ! just advance time, skip already performed calculation + guess = .true. ! QUESTION:why forced guessing instead of inheriting loadcase preference else skipping - stepFraction = 0 ! fraction scaled by stepFactor**cutLevel + stepFraction = 0 ! fraction scaled by stepFactor**cutLevel subStepLooping: do while (stepFraction < subStepFactor**cutBackLevel) remainingLoadCaseTime = loadCases(currentLoadCase)%time+time0 - time - time = time + timeinc ! forward target time - stepFraction = stepFraction + 1 ! count step + time = time + timeinc ! forward target time + stepFraction = stepFraction + 1 ! count step !-------------------------------------------------------------------------------------------------- ! report begin of new step @@ -447,45 +448,45 @@ program DAMASK_grid end select - if (.not. solres(field)%converged) exit ! no solution found + if (.not. solres(field)%converged) exit ! no solution found enddo stagIter = stagIter + 1 stagIterate = stagIter < stagItMax & .and. all(solres(:)%converged) & - .and. .not. all(solres(:)%stagConverged) ! stationary with respect to staggered iteration + .and. .not. all(solres(:)%stagConverged) ! stationary with respect to staggered iteration enddo !-------------------------------------------------------------------------------------------------- ! check solution for either advance or retry - if ( (all(solres(:)%converged .and. solres(:)%stagConverged)) & ! converged - .and. .not. solres(1)%termIll) then ! and acceptable solution found + if ( (all(solres(:)%converged .and. solres(:)%stagConverged)) & ! converged + .and. .not. solres(1)%termIll) then ! and acceptable solution found call mech_updateCoords timeIncOld = timeinc cutBack = .false. - guess = .true. ! start guessing after first converged (sub)inc + guess = .true. ! start guessing after first converged (sub)inc if (worldrank == 0) then write(statUnit,*) totalIncsCounter, time, cutBackLevel, & solres%converged, solres%iterationsNeeded flush(statUnit) endif - elseif (cutBackLevel < maxCutBack) then ! further cutbacking tolerated? + elseif (cutBackLevel < maxCutBack) then ! further cutbacking tolerated? cutBack = .true. - stepFraction = (stepFraction - 1) * subStepFactor ! adjust to new denominator + stepFraction = (stepFraction - 1) * subStepFactor ! adjust to new denominator cutBackLevel = cutBackLevel + 1 - time = time - timeinc ! rewind time - timeinc = timeinc/real(subStepFactor,pReal) ! cut timestep + time = time - timeinc ! rewind time + timeinc = timeinc/real(subStepFactor,pReal) ! cut timestep write(6,'(/,a)') ' cutting back ' - else ! no more options to continue + else ! no more options to continue call IO_warning(850) if (worldrank == 0) close(statUnit) - call quit(0) ! quit + call quit(0) ! quit endif enddo subStepLooping - cutBackLevel = max(0, cutBackLevel - 1) ! try half number of subincs next inc + cutBackLevel = max(0, cutBackLevel - 1) ! try half number of subincs next inc if (all(solres(:)%converged)) then write(6,'(/,a,i0,a)') ' increment ', totalIncsCounter, ' converged' @@ -493,7 +494,7 @@ program DAMASK_grid write(6,'(/,a,i0,a)') ' increment ', totalIncsCounter, ' NOT converged' endif; flush(6) - if (mod(inc,loadCases(currentLoadCase)%outputFrequency) == 0) then ! at output frequency + if (mod(inc,loadCases(currentLoadCase)%outputFrequency) == 0) then ! at output frequency write(6,'(1/,a)') ' ... writing results to file ......................................' flush(6) call CPFEM_results(totalIncsCounter,time) @@ -514,6 +515,6 @@ program DAMASK_grid write(6,'(/,a)') ' ###########################################################################' if (worldrank == 0) close(statUnit) - call quit(0) ! no complains ;) + call quit(0) ! no complains ;) end program DAMASK_grid From d2791088f2120156c9d773915b4605bfb497d4a5 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 18 Jun 2020 02:21:05 +0200 Subject: [PATCH 208/958] tests updated --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index bcc65dbb3..6f818e871 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit bcc65dbb3557d6f154eb63b4651909a9e8fd7bb0 +Subproject commit 6f818e871d6415fa4ebe2a5781920bad614d02e8 From 4e60d8e133ea57c6a6e5912e7044a5e42807d194 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 18 Jun 2020 15:21:52 +0200 Subject: [PATCH 209/958] begin cleaning of debug --- src/CPFEM.f90 | 22 +++-- src/config.f90 | 30 ------- src/crystallite.f90 | 25 ++++-- src/debug.f90 | 190 +++----------------------------------------- 4 files changed, 46 insertions(+), 221 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index fce375259..11ec00ec7 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -86,6 +86,7 @@ end subroutine CPFEM_initAll !-------------------------------------------------------------------------------------------------- subroutine CPFEM_init + class(tNode), pointer :: debug_CPFEM write(6,'(/,a)') ' <<<+- CPFEM init -+>>>' flush(6) @@ -93,7 +94,8 @@ subroutine CPFEM_init allocate(CPFEM_dcsdE( 6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) allocate(CPFEM_dcsdE_knownGood(6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) - if (iand(debug_level(debug_CPFEM), debug_levelBasic) /= 0) then + debug_CPFEM => debug_root%get('cpfem',defaultVal=emptyList) + if(debug_CPFEM%contains('basic')) then write(6,'(a32,1x,6(i8,1x))') 'CPFEM_cs: ', shape(CPFEM_cs) write(6,'(a32,1x,6(i8,1x))') 'CPFEM_dcsdE: ', shape(CPFEM_dcsdE) write(6,'(a32,1x,6(i8,1x),/)') 'CPFEM_dcsdE_knownGood: ', shape(CPFEM_dcsdE_knownGood) @@ -133,7 +135,8 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS ODD_JACOBIAN = 1e50_pReal !< return value for jacobian if terminallyIll class(tNode), pointer :: & - num_commercialFEM + num_commercialFEM, & + debug_CPFEM !------------------------------------------------------------------------------ ! read numerical parameters and do sanity check @@ -144,8 +147,10 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS elCP = mesh_FEM2DAMASK_elem(elFE) - if (iand(debug_level(debug_CPFEM), debug_levelBasic) /= 0_pInt & - .and. elCP == debug_e .and. ip == debug_i) then + debug_CPFEM => debug_root%get('cpfem',defaultVal=emptyList) + if (debug_CPFEM%contains('basic') & + .and. elCP == debug_root%get_asInt('element',defaultVal=1) & + .and. ip == debug_root%get_asInt('integrationpoint',defaultVal=1)) then write(6,'(/,a)') '#############################################' write(6,'(a1,a22,1x,i8,a13)') '#','element', elCP, '#' write(6,'(a1,a22,1x,i8,a13)') '#','ip', ip, '#' @@ -183,7 +188,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS updateJaco = mod(cycleCounter,iJacoStiffness) == 0 FEsolving_execElem = elCP FEsolving_execIP = ip - if (iand(debug_level(debug_CPFEM), debug_levelExtensive) /= 0_pInt) & + if (debug_CPFEM%contains('extensive')) & write(6,'(a,i8,1x,i2)') '<< CPFEM >> calculation for elFE ip ',elFE,ip call materialpoint_stressAndItsTangent(updateJaco, dt) @@ -220,9 +225,10 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS endif terminalIllness endif validCalculation - if ((iand(debug_level(debug_CPFEM), debug_levelExtensive) /= 0_pInt) & - .and. ((debug_e == elCP .and. debug_i == ip) & - .or. .not. iand(debug_level(debug_CPFEM), debug_levelSelective) /= 0_pInt)) then + if (debug_CPFEM%contains('extensive') & + .and. ((debug_root%get_asInt('element',defaultVal=1) == elCP & + .and. debug_root%get_asInt('integrationpoint',defaultVal=1) == ip) & + .or. .not. debug_CPFEM%contains('selective'))) then write(6,'(a,i8,1x,i2,/,12x,6(f10.3,1x)/)') & '<< CPFEM >> stress/MPa at elFE ip ', elFE, ip, CPFEM_cs(1:6,ip,elCP)*1.0e-6_pReal write(6,'(a,i8,1x,i2,/,6(12x,6(f10.3,1x)/))') & diff --git a/src/config.f90 b/src/config.f90 index 0668fb5f0..dda41a48f 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -24,9 +24,6 @@ module config config_homogenization, & config_texture, & config_crystallite - - type(tPartitionedStringList), public, protected :: & - config_debug character(len=pStringLen), public, protected, allocatable, dimension(:) :: & config_name_phase, & !< name of each phase @@ -109,13 +106,6 @@ subroutine config_init if (.not. allocated(config_texture) .or. size(config_texture) < 1) & call IO_error(160,ext_msg='') - - inquire(file='debug.config', exist=fileExists) - if (fileExists) then - write(6,'(/,a)') ' reading debug.config'; flush(6) - fileContent = IO_read_ASCII('debug.config') - call parse_debugAndNumericsConfig(config_debug,fileContent) - endif contains @@ -238,23 +228,6 @@ subroutine parse_materialConfig(sectionNames,part,line, & end subroutine parse_materialConfig - -!-------------------------------------------------------------------------------------------------- -!> @brief parses the material.config file -!-------------------------------------------------------------------------------------------------- -subroutine parse_debugAndNumericsConfig(config_list, & - fileContent) - - type(tPartitionedStringList), intent(out) :: config_list - character(len=pStringLen), dimension(:), intent(in) :: fileContent - integer :: i - - do i = 1, size(fileContent) - call config_list%add(trim(adjustl(fileContent(i)))) - enddo - -end subroutine parse_debugAndNumericsConfig - end subroutine config_init @@ -279,9 +252,6 @@ subroutine config_deallocate(what) case('material.config/texture') deallocate(config_texture) - case('debug.config') - call config_debug%free - case default call IO_error(0,ext_msg='config_deallocate') diff --git a/src/crystallite.f90 b/src/crystallite.f90 index eb10e8550..23e44c70d 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -130,7 +130,9 @@ subroutine crystallite_init myNcomponents !< number of components at current IP class(tNode) , pointer :: & - num_crystallite + num_crystallite, & + debug_crystallite + write(6,'(/,a)') ' <<<+- crystallite init -+>>>' cMax = homogenization_maxNgrains @@ -269,7 +271,8 @@ subroutine crystallite_init call crystallite_stressTangent #ifdef DEBUG - if (iand(debug_level(debug_crystallite), debug_levelBasic) /= 0) then + debug_crystallite => debug_root%get('crystallite',defaultVal=emptyList) + if (debug_crystallite%contains('basic')) then write(6,'(a42,1x,i10)') ' # of elements: ', eMax write(6,'(a42,1x,i10)') ' # of integration points/element: ', iMax write(6,'(a42,1x,i10)') 'max # of constituents/integration point: ', cMax @@ -297,12 +300,22 @@ function crystallite_stress(dummyArgumentToPreventInternalCompilerErrorWithGCC) i, & !< counter in integration point loop e, & !< counter in element loop startIP, endIP, & - s + s, & + debug_e, & + debug_g, & + debug_i logical, dimension(homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: todo !ToDo: need to set some values to false for different Ngrains - + class(tNode), pointer :: & + debug_crystallite + todo = .false. #ifdef DEBUG - if (iand(debug_level(debug_crystallite),debug_levelSelective) /= 0 & + debug_e = debug_root%get_asInt('element',defaultVal=1) + debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + debug_g = debug_root%get_asInt('grain',defaultVal=1) + + debug_crystallite => debug_root%get('crystallite',defaultVal=emptyList) + if (debug_crystallite%contains('selective') & .and. FEsolving_execElem(1) <= debug_e & .and. debug_e <= FEsolving_execElem(2)) then write(6,'(/,a,i8,1x,i2,1x,i3)') '<< CRYST stress >> boundary and initial values at el ip ipc ', & @@ -364,7 +377,7 @@ function crystallite_stress(dummyArgumentToPreventInternalCompilerErrorWithGCC) NiterationCrystallite = NiterationCrystallite + 1 #ifdef DEBUG - if (iand(debug_level(debug_crystallite),debug_levelExtensive) /= 0) & + if (debug_crystallite%contains('extensive')) & write(6,'(a,i6)') '<< CRYST stress >> crystallite iteration ',NiterationCrystallite #endif !$OMP PARALLEL DO PRIVATE(formerSubStep) diff --git a/src/debug.f90 b/src/debug.f90 index 7564c3037..4ed5b1f46 100644 --- a/src/debug.f90 +++ b/src/debug.f90 @@ -8,47 +8,15 @@ module debug use prec use IO + use YAML_types + use YAML_parse implicit none private - integer, parameter, public :: & - debug_LEVELSELECTIVE = 2**0, & - debug_LEVELBASIC = 2**1, & - debug_LEVELEXTENSIVE = 2**2 - integer, parameter, private :: & - debug_MAXGENERAL = debug_LEVELEXTENSIVE ! must be set to the last bitcode used by (potentially) all debug types - integer, parameter, public :: & - debug_SPECTRALRESTART = debug_MAXGENERAL*2**1, & - debug_SPECTRALFFTW = debug_MAXGENERAL*2**2, & - debug_SPECTRALDIVERGENCE = debug_MAXGENERAL*2**3, & - debug_SPECTRALROTATION = debug_MAXGENERAL*2**4, & - debug_SPECTRALPETSC = debug_MAXGENERAL*2**5 - - integer, parameter, public :: & - debug_DEBUG = 1, & - debug_MATH = 2, & - debug_FESOLVING = 3, & - debug_MESH = 4, & !< stores debug level for mesh part of DAMASK bitwise coded - debug_MATERIAL = 5, & !< stores debug level for material part of DAMASK bitwise coded - debug_LATTICE = 6, & !< stores debug level for lattice part of DAMASK bitwise coded - debug_CONSTITUTIVE = 7, & !< stores debug level for constitutive part of DAMASK bitwise coded - debug_CRYSTALLITE = 8, & - debug_HOMOGENIZATION = 9, & - debug_CPFEM = 10, & - debug_SPECTRAL = 11, & - debug_MARC = 12 - integer, parameter, private :: & - debug_MAXNTYPE = debug_MARC !< must be set to the maximum defined debug type - - integer,protected, dimension(debug_maxNtype+2), public :: & ! specific ones, and 2 for "all" and "other" - debug_level = 0 - - integer, protected, public :: & - debug_e = 1, & - debug_i = 1, & - debug_g = 1 - + class(tNode), pointer, public :: & + debug_root + #ifdef PETSc character(len=1024), parameter, public :: & PETSCDEBUG = ' -snes_view -snes_monitor ' @@ -63,11 +31,9 @@ contains !-------------------------------------------------------------------------------------------------- subroutine debug_init - character(len=pStringLen), dimension(:), allocatable :: fileContent - - integer :: i, what, j - integer, allocatable, dimension(:) :: chunkPos - character(len=pStringLen) :: tag, line + character(len=:), allocatable :: & + debug_input, & + debug_inFlow logical :: fexist write(6,'(/,a)') ' <<<+- debug init -+>>>' @@ -75,144 +41,14 @@ subroutine debug_init write(6,'(a)') achar(27)//'[31m <<<+- DEBUG version -+>>>'//achar(27)//'[0m' #endif - - inquire(file='debug.config', exist=fexist) - + debug_root => emptyDict + inquire(file='debug.yaml', exist=fexist) fileExists: if (fexist) then - fileContent = IO_read_ASCII('debug.config') - do j=1, size(fileContent) - line = fileContent(j) - if (IO_isBlank(line)) cycle ! skip empty lines - chunkPos = IO_stringPos(line) - tag = IO_lc(IO_stringValue(line,chunkPos,1)) ! extract key - select case(tag) - case ('element','e','el') - debug_e = IO_intValue(line,chunkPos,2) - case ('integrationpoint','i','ip') - debug_i = IO_intValue(line,chunkPos,2) - case ('grain','g','gr') - debug_g = IO_intValue(line,chunkPos,2) - end select - - what = 0 - select case(tag) - case ('debug') - what = debug_DEBUG - case ('math') - what = debug_MATH - case ('fesolving', 'fe') - what = debug_FESOLVING - case ('mesh') - what = debug_MESH - case ('material') - what = debug_MATERIAL - case ('lattice') - what = debug_LATTICE - case ('constitutive') - what = debug_CONSTITUTIVE - case ('crystallite') - what = debug_CRYSTALLITE - case ('homogenization') - what = debug_HOMOGENIZATION - case ('cpfem') - what = debug_CPFEM - case ('spectral') - what = debug_SPECTRAL - case ('marc') - what = debug_MARC - case ('all') - what = debug_MAXNTYPE + 1 - case ('other') - what = debug_MAXNTYPE + 2 - end select - if (what /= 0) then - do i = 2, chunkPos(1) - select case(IO_lc(IO_stringValue(line,chunkPos,i))) - case('basic') - debug_level(what) = ior(debug_level(what), debug_LEVELBASIC) - case('extensive') - debug_level(what) = ior(debug_level(what), debug_LEVELEXTENSIVE) - case('selective') - debug_level(what) = ior(debug_level(what), debug_LEVELSELECTIVE) - case('restart') - debug_level(what) = ior(debug_level(what), debug_SPECTRALRESTART) - case('fft','fftw') - debug_level(what) = ior(debug_level(what), debug_SPECTRALFFTW) - case('divergence') - debug_level(what) = ior(debug_level(what), debug_SPECTRALDIVERGENCE) - case('rotation') - debug_level(what) = ior(debug_level(what), debug_SPECTRALROTATION) - case('petsc') - debug_level(what) = ior(debug_level(what), debug_SPECTRALPETSC) - end select - enddo - endif - enddo - - do i = 1, debug_maxNtype - if (debug_level(i) == 0) & - debug_level(i) = ior(debug_level(i), debug_level(debug_MAXNTYPE + 2)) ! fill undefined debug types with levels specified by "other" - - debug_level(i) = ior(debug_level(i), debug_level(debug_MAXNTYPE + 1)) ! fill all debug types with levels specified by "all" - enddo - - if (iand(debug_level(debug_debug),debug_LEVELBASIC) /= 0) & - write(6,'(a,/)') ' using values from config file' - else fileExists - if (iand(debug_level(debug_debug),debug_LEVELBASIC) /= 0) & - write(6,'(a,/)') ' using standard values' + debug_input = IO_read('debug.yaml') + debug_inFlow = to_flow(debug_input) + debug_root => parse_flow(debug_inFlow,defaultVal=emptyDict) endif fileExists -!-------------------------------------------------------------------------------------------------- -! output switched on (debug level for debug must be extensive) - if (iand(debug_level(debug_debug),debug_LEVELEXTENSIVE) /= 0) then - do i = 1, debug_MAXNTYPE - select case(i) - case (debug_DEBUG) - tag = ' Debug' - case (debug_MATH) - tag = ' Math' - case (debug_FESOLVING) - tag = ' FEsolving' - case (debug_MESH) - tag = ' Mesh' - case (debug_MATERIAL) - tag = ' Material' - case (debug_LATTICE) - tag = ' Lattice' - case (debug_CONSTITUTIVE) - tag = ' Constitutive' - case (debug_CRYSTALLITE) - tag = ' Crystallite' - case (debug_HOMOGENIZATION) - tag = ' Homogenizaiton' - case (debug_CPFEM) - tag = ' CPFEM' - case (debug_SPECTRAL) - tag = ' Spectral solver' - case (debug_MARC) - tag = ' MSC.MARC FEM solver' - end select - - if(debug_level(i) /= 0) then - write(6,'(3a)') ' debug level for ', trim(tag), ':' - if(iand(debug_level(i),debug_LEVELBASIC) /= 0) write(6,'(a)') ' basic' - if(iand(debug_level(i),debug_LEVELEXTENSIVE) /= 0) write(6,'(a)') ' extensive' - if(iand(debug_level(i),debug_LEVELSELECTIVE) /= 0) then - write(6,'(a)') ' selective on:' - write(6,'(a24,1x,i8)') ' element: ',debug_e - write(6,'(a24,1x,i8)') ' ip: ',debug_i - write(6,'(a24,1x,i8)') ' grain: ',debug_g - endif - if(iand(debug_level(i),debug_SPECTRALRESTART) /= 0) write(6,'(a)') ' restart' - if(iand(debug_level(i),debug_SPECTRALFFTW) /= 0) write(6,'(a)') ' FFTW' - if(iand(debug_level(i),debug_SPECTRALDIVERGENCE)/= 0) write(6,'(a)') ' divergence' - if(iand(debug_level(i),debug_SPECTRALROTATION) /= 0) write(6,'(a)') ' rotation' - if(iand(debug_level(i),debug_SPECTRALPETSC) /= 0) write(6,'(a)') ' PETSc' - endif - enddo - endif - end subroutine debug_init end module debug From c987f55f693aa9f0e7645ac95fdb659b3bac055d Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 18 Jun 2020 16:06:11 +0200 Subject: [PATCH 210/958] DAMASK structure updated; define debug parameters when used by a module --- src/homogenization.f90 | 77 ++++++++++++++++++--------- src/homogenization_mech_RGC.f90 | 65 ++++++++++++---------- src/homogenization_mech_isostrain.f90 | 7 ++- src/homogenization_mech_none.f90 | 7 ++- src/material.f90 | 16 +++--- 5 files changed, 107 insertions(+), 65 deletions(-) diff --git a/src/homogenization.f90 b/src/homogenization.f90 index e055c6f06..3cc4dbbc1 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -54,15 +54,20 @@ module homogenization interface - module subroutine mech_none_init + module subroutine mech_none_init(debug_homogenization) + class(tNode), pointer, intent(in) :: & + debug_homogenization end subroutine mech_none_init - module subroutine mech_isostrain_init + module subroutine mech_isostrain_init(debug_homogenization) + class(tNode), pointer, intent(in) :: & + debug_homogenization end subroutine mech_isostrain_init - module subroutine mech_RGC_init(num_homogMech) + module subroutine mech_RGC_init(num_homogMech, debug_homogenization) class(tNode), pointer, intent(in) :: & - num_homogMech + num_homogMech, & + debug_homogenization end subroutine mech_RGC_init @@ -71,12 +76,15 @@ module homogenization real(pReal), dimension (3,3), intent(in) :: avgF !< average deformation gradient at material point end subroutine mech_isostrain_partitionDeformation - module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of) + module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of, & + debug_homogenization) real(pReal), dimension (:,:,:), intent(out) :: F !< partitioned deformation gradient real(pReal), dimension (3,3), intent(in) :: avgF !< average deformation gradient at material point integer, intent(in) :: & instance, & of + class(tNode), pointer, intent(in) :: & + debug_homogenization end subroutine mech_RGC_partitionDeformation @@ -98,19 +106,20 @@ module homogenization integer, intent(in) :: instance end subroutine mech_RGC_averageStressAndItsTangent - - module function mech_RGC_updateState(P,F,F0,avgF,dt,dPdF,ip,el) + module function mech_RGC_updateState(P,F,F0,avgF,dt,dPdF,ip,el,debug_homogenization) logical, dimension(2) :: mech_RGC_updateState real(pReal), dimension(:,:,:), intent(in) :: & P,& !< partitioned stresses F,& !< partitioned deformation gradients F0 !< partitioned initial deformation gradients - real(pReal), dimension(:,:,:,:,:), intent(in) :: dPdF !< partitioned stiffnesses - real(pReal), dimension(3,3), intent(in) :: avgF !< average F - real(pReal), intent(in) :: dt !< time increment - integer, intent(in) :: & - ip, & !< integration point number - el !< element number + real(pReal), dimension(:,:,:,:,:), intent(in) :: dPdF !< partitioned stiffnesses + real(pReal), dimension(3,3), intent(in) :: avgF !< average F + real(pReal), intent(in) :: dt !< time increment + integer, intent(in) :: & + ip, & !< integration point number + el !< element number + class(tNode), pointer, intent(in) :: & + debug_homogenization end function mech_RGC_updateState @@ -137,15 +146,21 @@ subroutine homogenization_init class (tNode) , pointer :: & num_homog, & num_homogMech, & - num_homogGeneric - + num_homogGeneric, & + debug_homogenization + integer :: & + debug_g, & + debug_e + num_homog => numerics_root%get('homogenization',defaultVal=emptyDict) num_homogMech => num_homog%get('mech',defaultVal=emptyDict) num_homogGeneric => num_homog%get('generic',defaultVal=emptyDict) - if (any(homogenization_type == HOMOGENIZATION_NONE_ID)) call mech_none_init - if (any(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID)) call mech_isostrain_init - if (any(homogenization_type == HOMOGENIZATION_RGC_ID)) call mech_RGC_init(num_homogMech) + debug_homogenization => debug_root%get('homogenization',defaultVal=emptyList) + + if (any(homogenization_type == HOMOGENIZATION_NONE_ID)) call mech_none_init(debug_homogenization) + if (any(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID)) call mech_isostrain_init(debug_homogenization) + if (any(homogenization_type == HOMOGENIZATION_RGC_ID)) call mech_RGC_init(num_homogMech,debug_homogenization) if (any(thermal_type == THERMAL_isothermal_ID)) call thermal_isothermal_init if (any(thermal_type == THERMAL_adiabatic_ID)) call thermal_adiabatic_init @@ -165,7 +180,9 @@ subroutine homogenization_init allocate(materialpoint_P(3,3,discretization_nIP,discretization_nElem), source=0.0_pReal) write(6,'(/,a)') ' <<<+- homogenization init -+>>>'; flush(6) - + + debug_g = debug_root%get_asInt('grain', defaultVal=1) + debug_e = debug_root%get_asInt('element', defaultVal=1) if (debug_g < 1 .or. debug_g > homogenization_Ngrains(material_homogenizationAt(debug_e))) & call IO_error(602,ext_msg='constituent', el=debug_e, g=debug_g) @@ -197,7 +214,9 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) i, & !< integration point number e, & !< element number mySource, & - myNgrains + myNgrains, & + debug_e, & + debug_i real(pReal), dimension(discretization_nIP,discretization_nElem) :: & subFrac, & subStep @@ -206,9 +225,15 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) converged logical, dimension(2,discretization_nIP,discretization_nElem) :: & doneAndHappy - + class(tNode), pointer :: & + debug_homogenization + #ifdef DEBUG - if (iand(debug_level(debug_homogenization), debug_levelBasic) /= 0) then + debug_e = debug_root%get_asInt('element', defaultVal=1) + debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + + debug_homogenization => debug_root%get('homogenization',defaultVal=emptyList) + if (debug_homogenization%contains('basic')) then write(6,'(/a,i5,1x,i2)') '<< HOMOG >> Material Point start at el ip ', debug_e, debug_i write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< HOMOG >> F0', & @@ -273,9 +298,9 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) if (converged(i,e)) then #ifdef DEBUG - if (iand(debug_level(debug_homogenization), debug_levelExtensive) /= 0 & + if (debug_homogenization%contains('extensive') & .and. ((e == debug_e .and. i == debug_i) & - .or. .not. iand(debug_level(debug_homogenization),debug_levelSelective) /= 0)) then + .or. .not. debug_homogenization%contains('selective'))) then write(6,'(a,1x,f12.8,1x,a,1x,f12.8,1x,a,i8,1x,i2/)') '<< HOMOG >> winding forward from', & subFrac(i,e), 'to current subFrac', & subFrac(i,e)+subStep(i,e),'in materialpoint_stressAndItsTangent at el ip',e,i @@ -332,9 +357,9 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) subStep(i,e) = num%subStepSizeHomog * subStep(i,e) ! crystallite had severe trouble, so do a significant cutback #ifdef DEBUG - if (iand(debug_level(debug_homogenization), debug_levelExtensive) /= 0 & + if (debug_homogenization%contains('extensive') & .and. ((e == debug_e .and. i == debug_i) & - .or. .not. iand(debug_level(debug_homogenization), debug_levelSelective) /= 0)) then + .or. .not. debug_homogenization%contains('selective'))) then write(6,'(a,1x,f12.8,a,i8,1x,i2/)') & '<< HOMOG >> cutback step in materialpoint_stressAndItsTangent with new subStep:',& subStep(i,e),' at el ip',e,i diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index 7ef73b130..2a0b1800c 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -75,16 +75,19 @@ contains !-------------------------------------------------------------------------------------------------- !> @brief allocates all necessary fields, reads information from material configuration file !-------------------------------------------------------------------------------------------------- -module subroutine mech_RGC_init(num_homogMech) +module subroutine mech_RGC_init(num_homogMech,debug_homogenization) class(tNode), pointer, intent(in) :: & - num_homogMech + num_homogMech, & + debug_homogenization integer :: & Ninstance, & h, & NofMyHomog, & - sizeState, nIntFaceTot + sizeState, nIntFaceTot, & + debug_e, & + debug_i class (tNode), pointer :: & num_RGC @@ -98,7 +101,7 @@ module subroutine mech_RGC_init(num_homogMech) write(6,'(a)') ' https://doi.org/10.1088/0965-0393/18/1/015006' Ninstance = count(homogenization_type == HOMOGENIZATION_RGC_ID) - if (iand(debug_level(debug_HOMOGENIZATION),debug_levelBasic) /= 0) & + if (debug_homogenization%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(param(Ninstance)) @@ -146,6 +149,8 @@ module subroutine mech_RGC_init(num_homogMech) config => config_homogenization(h)) #ifdef DEBUG + debug_e = debug_root%get_asInt('element',defaultVal=1) + debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) if (h==material_homogenizationAt(debug_e)) then prm%of_debug = material_homogenizationMemberAt(debug_i,debug_e) endif @@ -200,7 +205,7 @@ end subroutine mech_RGC_init !-------------------------------------------------------------------------------------------------- !> @brief partitions the deformation gradient onto the constituents !-------------------------------------------------------------------------------------------------- -module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of) +module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of,debug_homogenization) real(pReal), dimension (:,:,:), intent(out) :: F !< partioned F per grain @@ -208,6 +213,8 @@ module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of) integer, intent(in) :: & instance, & of + class(tNode), pointer, intent(in) :: & + debug_homogenization real(pReal), dimension(3) :: aVect,nVect integer, dimension(4) :: intFace @@ -231,7 +238,7 @@ module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of) F(1:3,1:3,iGrain) = F(1:3,1:3,iGrain) + avgF ! resulting relaxed deformation gradient #ifdef DEBUG - if (iand(debug_level(debug_homogenization),debug_levelExtensive) /= 0) then + if (debug_homogenization%contains('extensive')) then write(6,'(1x,a32,1x,i3)')'Deformation gradient of grain: ',iGrain do i = 1,3 write(6,'(1x,3(e15.8,1x))')(F(i,j,iGrain), j = 1,3) @@ -294,7 +301,7 @@ module procedure mech_RGC_updateState drelax = stt%relaxationVector(:,of) - st0%relaxationVector(:,of) #ifdef DEBUG - if (iand(debug_level(debug_homogenization),debug_levelExtensive) /= 0) then + if (debug_homogenization%contains('extensive')) then write(6,'(1x,a30)')'Obtained state: ' do i = 1,size(stt%relaxationVector(:,of)) write(6,'(1x,2(e15.8,1x))') stt%relaxationVector(i,of) @@ -305,14 +312,14 @@ module procedure mech_RGC_updateState !-------------------------------------------------------------------------------------------------- ! computing interface mismatch and stress penalty tensor for all interfaces of all grains - call stressPenalty(R,NN,avgF,F,ip,el,instance,of) + call stressPenalty(R,NN,avgF,F,ip,el,instance,of,debug_homogenization) !-------------------------------------------------------------------------------------------------- ! calculating volume discrepancy and stress penalty related to overall volume discrepancy - call volumePenalty(D,dst%volumeDiscrepancy(of),avgF,F,nGrain,instance,of) + call volumePenalty(D,dst%volumeDiscrepancy(of),avgF,F,nGrain,instance,of,debug_homogenization) #ifdef DEBUG - if (iand(debug_level(debug_homogenization),debug_levelExtensive) /= 0) then + if (debug_homogenization%contains('extensive')) then do iGrain = 1,nGrain write(6,'(1x,a30,1x,i3,1x,a4,3(1x,e15.8))')'Mismatch magnitude of grain(',iGrain,') :',& NN(1,iGrain),NN(2,iGrain),NN(3,iGrain) @@ -360,7 +367,7 @@ module procedure mech_RGC_updateState enddo #ifdef DEBUG - if (iand(debug_level(debug_homogenization),debug_levelExtensive) /= 0) then + if (debug_homogenization%contains('extensive')) then write(6,'(1x,a30,1x,i3)')'Traction at interface: ',iNum write(6,'(1x,3(e15.8,1x))')(tract(iNum,j), j = 1,3) write(6,*)' ' @@ -374,7 +381,7 @@ module procedure mech_RGC_updateState residMax = maxval(abs(tract)) ! get the maximum of the residual #ifdef DEBUG - if (iand(debug_level(debug_homogenization),debug_levelExtensive) /= 0 .and. prm%of_debug == of) then + if (debug_homogenization%contains('extensive') .and. prm%of_debug == of) then stresLoc = maxloc(abs(P)) residLoc = maxloc(abs(tract)) write(6,'(1x,a)')' ' @@ -394,7 +401,7 @@ module procedure mech_RGC_updateState if (residMax < num%rtol*stresMax .or. residMax < num%atol) then mech_RGC_updateState = .true. #ifdef DEBUG - if (iand(debug_level(debug_homogenization),debug_levelExtensive) /= 0 .and. prm%of_debug == of) & + if (debug_homogenization%contains('extensive') .and. prm%of_debug == of) & write(6,'(1x,a55,/)')'... done and happy'; flush(6) #endif @@ -414,7 +421,7 @@ module procedure mech_RGC_updateState dst%relaxationRate_max(of) = maxval(abs(drelax))/dt #ifdef DEBUG - if (iand(debug_level(debug_homogenization),debug_levelExtensive) /= 0 .and. prm%of_debug == of) then + if (debug_homogenization%contains('extensive') .and. prm%of_debug == of) then write(6,'(1x,a30,1x,e15.8)') 'Constitutive work: ',stt%work(of) write(6,'(1x,a30,3(1x,e15.8))')'Magnitude mismatch: ',dst%mismatch(1,of), & dst%mismatch(2,of), & @@ -435,7 +442,7 @@ module procedure mech_RGC_updateState mech_RGC_updateState = [.true.,.false.] ! with direct cut-back #ifdef DEBUG - if (iand(debug_level(debug_homogenization),debug_levelExtensive) /= 0 .and. prm%of_debug == of) & + if (debug_homogenization%contains('extensive') .and. prm%of_debug == of) & write(6,'(1x,a,/)') '... broken'; flush(6) #endif @@ -443,7 +450,7 @@ module procedure mech_RGC_updateState else ! proceed with computing the Jacobian and state update #ifdef DEBUG - if (iand(debug_level(debug_homogenization),debug_levelExtensive) /= 0 .and. prm%of_debug == of) & + if (debug_homogenization%contains('extensive') .and. prm%of_debug == of) & write(6,'(1x,a,/)') '... not yet done'; flush(6) #endif @@ -500,7 +507,7 @@ module procedure mech_RGC_updateState enddo #ifdef DEBUG - if (iand(debug_level(debug_homogenization),debug_levelExtensive) /= 0) then + if (debug_homogenization%contains('extensive')) then write(6,'(1x,a30)')'Jacobian matrix of stress' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(smatrix(i,j), j = 1,3*nIntFaceTot) @@ -522,8 +529,8 @@ module procedure mech_RGC_updateState p_relax(ipert) = relax(ipert) + num%pPert ! perturb the relaxation vector stt%relaxationVector(:,of) = p_relax call grainDeformation(pF,avgF,instance,of) ! rain deformation from perturbed state - call stressPenalty(pR,DevNull, avgF,pF,ip,el,instance,of) ! stress penalty due to interface mismatch from perturbed state - call volumePenalty(pD,devNull(1,1), avgF,pF,nGrain,instance,of) ! stress penalty due to volume discrepancy from perturbed state + call stressPenalty(pR,DevNull, avgF,pF,ip,el,instance,of,debug_homogenization) ! stress penalty due to interface mismatch from perturbed state + call volumePenalty(pD,devNull(1,1), avgF,pF,nGrain,instance,of,debug_homogenization) ! stress penalty due to volume discrepancy from perturbed state !-------------------------------------------------------------------------------------------------- ! computing the global stress residual array from the perturbed state @@ -560,7 +567,7 @@ module procedure mech_RGC_updateState enddo #ifdef DEBUG - if (iand(debug_level(debug_homogenization), debug_levelExtensive) /= 0) then + if (debug_homogenization%contains('extensive')) then write(6,'(1x,a30)')'Jacobian matrix of penalty' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(pmatrix(i,j), j = 1,3*nIntFaceTot) @@ -579,7 +586,7 @@ module procedure mech_RGC_updateState enddo #ifdef DEBUG - if (iand(debug_level(debug_homogenization), debug_levelExtensive) /= 0) then + if (debug_homogenization%contains('extensive')) then write(6,'(1x,a30)')'Jacobian matrix of penalty' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(rmatrix(i,j), j = 1,3*nIntFaceTot) @@ -594,7 +601,7 @@ module procedure mech_RGC_updateState allocate(jmatrix(3*nIntFaceTot,3*nIntFaceTot)); jmatrix = smatrix + pmatrix + rmatrix #ifdef DEBUG - if (iand(debug_level(debug_homogenization), debug_levelExtensive) /= 0) then + if (debug_homogenization%contains('extensive')) then write(6,'(1x,a30)')'Jacobian matrix (total)' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(jmatrix(i,j), j = 1,3*nIntFaceTot) @@ -610,7 +617,7 @@ module procedure mech_RGC_updateState call math_invert(jnverse,error,jmatrix) #ifdef DEBUG - if (iand(debug_level(debug_homogenization), debug_levelExtensive) /= 0) then + if (debug_homogenization%contains('extensive')) then write(6,'(1x,a30)')'Jacobian inverse' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(jnverse(i,j), j = 1,3*nIntFaceTot) @@ -637,7 +644,7 @@ module procedure mech_RGC_updateState endif #ifdef DEBUG - if (iand(debug_homogenization, debug_levelExtensive) > 0) then + if (debug_homogenization%contains('extensive')) then write(6,'(1x,a30)')'Returned state: ' do i = 1,size(stt%relaxationVector(:,of)) write(6,'(1x,2(e15.8,1x))') stt%relaxationVector(i,of) @@ -653,7 +660,7 @@ module procedure mech_RGC_updateState !------------------------------------------------------------------------------------------------ !> @brief calculate stress-like penalty due to deformation mismatch !------------------------------------------------------------------------------------------------ - subroutine stressPenalty(rPen,nMis,avgF,fDef,ip,el,instance,of) + subroutine stressPenalty(rPen,nMis,avgF,fDef,ip,el,instance,of,debug_homogenization) real(pReal), dimension (:,:,:), intent(out) :: rPen !< stress-like penalty real(pReal), dimension (:,:), intent(out) :: nMis !< total amount of mismatch @@ -661,6 +668,7 @@ module procedure mech_RGC_updateState real(pReal), dimension (:,:,:), intent(in) :: fDef !< deformation gradients real(pReal), dimension (3,3), intent(in) :: avgF !< initial effective stretch tensor integer, intent(in) :: ip,el,instance,of + class(tNode), pointer, intent(in) :: debug_homogenization integer, dimension (4) :: intFace integer, dimension (3) :: iGrain3,iGNghb3,nGDim @@ -687,7 +695,7 @@ module procedure mech_RGC_updateState associate(prm => param(instance)) #ifdef DEBUG - debugActive = iand(debug_level(debug_homogenization),debug_levelExtensive) /= 0 .and. prm%of_debug == of + debugActive = debug_homogenization%contains('extensive') .and. prm%of_debug == of if (debugActive) then write(6,'(1x,a20,2(1x,i3))')'Correction factor: ',ip,el @@ -764,7 +772,7 @@ module procedure mech_RGC_updateState !------------------------------------------------------------------------------------------------ !> @brief calculate stress-like penalty due to volume discrepancy !------------------------------------------------------------------------------------------------ - subroutine volumePenalty(vPen,vDiscrep,fAvg,fDef,nGrain,instance,of) + subroutine volumePenalty(vPen,vDiscrep,fAvg,fDef,nGrain,instance,of,debug_homogenization) real(pReal), dimension (:,:,:), intent(out) :: vPen ! stress-like penalty due to volume real(pReal), intent(out) :: vDiscrep ! total volume discrepancy @@ -775,6 +783,7 @@ module procedure mech_RGC_updateState Ngrain, & instance, & of + class(tNode), pointer, intent(in) :: debug_homogenization real(pReal), dimension(size(vPen,3)) :: gVol integer :: i @@ -797,7 +806,7 @@ module procedure mech_RGC_updateState gVol(i)*transpose(math_inv33(fDef(:,:,i))) #ifdef DEBUG - if (iand(debug_level(debug_homogenization),debug_levelExtensive) /= 0 & + if (debug_homogenization%contains('extensive') & .and. param(instance)%of_debug == of) then write(6,'(1x,a30,i2)')'Volume penalty of grain: ',i write(6,*) transpose(vPen(:,:,i)) diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index 9b81ab666..b41550cd6 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -26,7 +26,10 @@ contains !-------------------------------------------------------------------------------------------------- !> @brief allocates all neccessary fields, reads information from material configuration file !-------------------------------------------------------------------------------------------------- -module subroutine mech_isostrain_init +module subroutine mech_isostrain_init(debug_homogenization) + + class(tNode), pointer, intent(in) :: & + debug_homogenization integer :: & Ninstance, & @@ -38,7 +41,7 @@ module subroutine mech_isostrain_init write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_ISOSTRAIN_LABEL//' init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID) - if (iand(debug_level(debug_HOMOGENIZATION),debug_levelBasic) /= 0) & + if (debug_homogenization%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(param(Ninstance)) ! one container of parameters per instance diff --git a/src/homogenization_mech_none.f90 b/src/homogenization_mech_none.f90 index 474d74ffd..247c9e1f7 100644 --- a/src/homogenization_mech_none.f90 +++ b/src/homogenization_mech_none.f90 @@ -11,7 +11,10 @@ contains !-------------------------------------------------------------------------------------------------- !> @brief allocates all neccessary fields, reads information from material configuration file !-------------------------------------------------------------------------------------------------- -module subroutine mech_none_init +module subroutine mech_none_init(debug_homogenization) + + class(tNode), pointer, intent(in) :: & + debug_homogenization integer :: & Ninstance, & @@ -21,7 +24,7 @@ module subroutine mech_none_init write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_NONE_label//' init -+>>>'; flush(6) Ninstance = count(homogenization_type == HOMOGENIZATION_NONE_ID) - if (iand(debug_level(debug_HOMOGENIZATION),debug_levelBasic) /= 0) & + if (debug_homogenization%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance do h = 1, size(homogenization_type) diff --git a/src/material.f90 b/src/material.f90 index 90f2d9b16..3915d705b 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -8,6 +8,7 @@ module material use prec use math use config + use YAML_types use results use IO use debug @@ -215,22 +216,23 @@ subroutine material_init(restart) integer, dimension(:), allocatable :: & CounterPhase, & CounterHomogenization - - myDebug = debug_level(debug_material) + class(tNode), pointer :: & + debug_material write(6,'(/,a)') ' <<<+- material init -+>>>'; flush(6) + debug_material => debug_root%get('material',defaultVal=emptyList) call material_parsePhase() - if (iand(myDebug,debug_levelBasic) /= 0) write(6,'(a)') ' Phase parsed'; flush(6) + if (debug_material%contains('basic')) write(6,'(a)') ' Phase parsed'; flush(6) call material_parseMicrostructure() - if (iand(myDebug,debug_levelBasic) /= 0) write(6,'(a)') ' Microstructure parsed'; flush(6) + if (debug_material%contains('basic')) write(6,'(a)') ' Microstructure parsed'; flush(6) call material_parseHomogenization() - if (iand(myDebug,debug_levelBasic) /= 0) write(6,'(a)') ' Homogenization parsed'; flush(6) + if (debug_material%contains('basic')) write(6,'(a)') ' Homogenization parsed'; flush(6) call material_parseTexture() - if (iand(myDebug,debug_levelBasic) /= 0) write(6,'(a)') ' Texture parsed'; flush(6) + if (debug_material%contains('basic')) write(6,'(a)') ' Texture parsed'; flush(6) material_Nphase = size(config_phase) material_Nhomogenization = size(config_homogenization) @@ -266,7 +268,7 @@ subroutine material_init(restart) enddo if(homogenization_maxNgrains > size(microstructure_phase,1)) call IO_error(148) - debugOut: if (iand(myDebug,debug_levelExtensive) /= 0) then + debugOut: if (debug_material%contains('extensive')) then write(6,'(/,a,/)') ' MATERIAL configuration' write(6,'(a32,1x,a16,1x,a6)') 'homogenization ','type ','grains' do h = 1,size(config_homogenization) From 76614ef278e36e9bcef440747fa5d1ee8ee06de8 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 18 Jun 2020 17:23:05 +0200 Subject: [PATCH 211/958] structure update for constitutive laws --- src/constitutive.f90 | 125 +++++++++++++++------ src/constitutive_plastic_disloUCLA.f90 | 7 +- src/constitutive_plastic_dislotwin.f90 | 7 +- src/constitutive_plastic_isotropic.f90 | 36 ++++-- src/constitutive_plastic_kinehardening.f90 | 22 +++- src/constitutive_plastic_none.f90 | 7 +- src/constitutive_plastic_nonlocal.f90 | 60 ++++++---- src/constitutive_plastic_phenopowerlaw.f90 | 7 +- src/kinematics_cleavage_opening.f90 | 7 +- src/kinematics_slipplane_opening.f90 | 7 +- src/kinematics_thermal_expansion.f90 | 7 +- src/source_damage_anisoBrittle.f90 | 7 +- src/source_damage_anisoDuctile.f90 | 7 +- src/source_damage_isoBrittle.f90 | 7 +- src/source_damage_isoDuctile.f90 | 7 +- src/source_thermal_dissipation.f90 | 7 +- src/source_thermal_externalheat.f90 | 7 +- 17 files changed, 234 insertions(+), 100 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index e2c9dbc05..41baab7ab 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -35,29 +35,44 @@ module constitutive interface - module subroutine plastic_none_init + module subroutine plastic_none_init(debug_constitutive) + class(tNode), pointer , intent(in) :: & + debug_constitutive end subroutine plastic_none_init - module subroutine plastic_isotropic_init + module subroutine plastic_isotropic_init(debug_constitutive) + class(tNode), pointer , intent(in) :: & + debug_constitutive end subroutine plastic_isotropic_init - - module subroutine plastic_phenopowerlaw_init + + module subroutine plastic_phenopowerlaw_init(debug_constitutive) + class(tNode), pointer , intent(in) :: & + debug_constitutive end subroutine plastic_phenopowerlaw_init - module subroutine plastic_kinehardening_init + module subroutine plastic_kinehardening_init(debug_constitutive) + class(tNode), pointer , intent(in) :: & + debug_constitutive end subroutine plastic_kinehardening_init - module subroutine plastic_dislotwin_init + module subroutine plastic_dislotwin_init(debug_constitutive) + class(tNode), pointer , intent(in) :: & + debug_constitutive end subroutine plastic_dislotwin_init - module subroutine plastic_disloUCLA_init + module subroutine plastic_disloUCLA_init(debug_constitutive) + class(tNode), pointer , intent(in) :: & + debug_constitutive end subroutine plastic_disloUCLA_init - module subroutine plastic_nonlocal_init + module subroutine plastic_nonlocal_init(debug_constitutive) + class(tNode), pointer , intent(in) :: & + debug_constitutive end subroutine plastic_nonlocal_init - module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) + module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of, & + debug_constitutive) real(pReal), dimension(3,3), intent(out) :: & Lp !< plastic velocity gradient real(pReal), dimension(3,3,3,3), intent(out) :: & @@ -68,6 +83,8 @@ module constitutive integer, intent(in) :: & instance, & of + class(tNode), pointer , intent(in) :: & + debug_constitutive end subroutine plastic_isotropic_LpAndItsTangent pure module subroutine plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) @@ -145,7 +162,8 @@ module constitutive end subroutine plastic_nonlocal_LpAndItsTangent - module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) + module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of, & + debug_constitutive) real(pReal), dimension(3,3), intent(out) :: & Li !< inleastic velocity gradient real(pReal), dimension(3,3,3,3), intent(out) :: & @@ -156,6 +174,8 @@ module constitutive integer, intent(in) :: & instance, & of + class(tNode), pointer , intent(in) :: & + debug_constitutive end subroutine plastic_isotropic_LiAndItsTangent @@ -204,7 +224,7 @@ module constitutive end subroutine plastic_disloUCLA_dotState module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & - instance,of,ip,el) + instance,of,ip,el,debug_constitutive) real(pReal), dimension(3,3), intent(in) ::& Mp !< MandelStress real(pReal), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem), intent(in) :: & @@ -218,6 +238,8 @@ module constitutive of, & ip, & !< current integration point el !< current element number + class(tNode), pointer , intent(in) :: & + debug_constitutive end subroutine plastic_nonlocal_dotState @@ -235,7 +257,8 @@ module constitutive of end subroutine plastic_disloUCLA_dependentState - module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) + module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el, & + debug_constitutive) real(pReal), dimension(3,3), intent(in) :: & F, & Fp @@ -244,18 +267,22 @@ module constitutive of, & ip, & el + class(tNode), pointer , intent(in) :: & + debug_constitutive end subroutine plastic_nonlocal_dependentState - module subroutine plastic_kinehardening_deltaState(Mp,instance,of) + module subroutine plastic_kinehardening_deltaState(Mp,instance,of,debug_constitutive) real(pReal), dimension(3,3), intent(in) :: & Mp !< Mandel stress integer, intent(in) :: & instance, & of + class(tNode), pointer , intent(in) :: & + debug_constitutive end subroutine plastic_kinehardening_deltaState - module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el) + module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el,debug_constitutive) real(pReal), dimension(3,3), intent(in) :: & Mp integer, intent(in) :: & @@ -263,6 +290,8 @@ module constitutive of, & ip, & el + class(tNode), pointer , intent(in) :: & + debug_constitutive end subroutine plastic_nonlocal_deltaState @@ -341,34 +370,37 @@ subroutine constitutive_init integer :: & ph, & !< counter in phase loop s !< counter in source loop + class(tNode), pointer :: & + debug_constitutive + debug_constitutive => debug_root%get('constitutuve',defaultVal=emptyList) !-------------------------------------------------------------------------------------------------- ! initialized plasticity - if (any(phase_plasticity == PLASTICITY_NONE_ID)) call plastic_none_init - if (any(phase_plasticity == PLASTICITY_ISOTROPIC_ID)) call plastic_isotropic_init - if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init - if (any(phase_plasticity == PLASTICITY_KINEHARDENING_ID)) call plastic_kinehardening_init - if (any(phase_plasticity == PLASTICITY_DISLOTWIN_ID)) call plastic_dislotwin_init - if (any(phase_plasticity == PLASTICITY_DISLOUCLA_ID)) call plastic_disloucla_init + if (any(phase_plasticity == PLASTICITY_NONE_ID)) call plastic_none_init(debug_constitutive) + if (any(phase_plasticity == PLASTICITY_ISOTROPIC_ID)) call plastic_isotropic_init(debug_constitutive) + if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init(debug_constitutive) + if (any(phase_plasticity == PLASTICITY_KINEHARDENING_ID)) call plastic_kinehardening_init(debug_constitutive) + if (any(phase_plasticity == PLASTICITY_DISLOTWIN_ID)) call plastic_dislotwin_init(debug_constitutive) + if (any(phase_plasticity == PLASTICITY_DISLOUCLA_ID)) call plastic_disloucla_init(debug_constitutive) if (any(phase_plasticity == PLASTICITY_NONLOCAL_ID)) then - call plastic_nonlocal_init + call plastic_nonlocal_init(debug_constitutive) else call geometry_plastic_nonlocal_disable endif !-------------------------------------------------------------------------------------------------- ! initialize source mechanisms - if (any(phase_source == SOURCE_thermal_dissipation_ID)) call source_thermal_dissipation_init - if (any(phase_source == SOURCE_thermal_externalheat_ID)) call source_thermal_externalheat_init - if (any(phase_source == SOURCE_damage_isoBrittle_ID)) call source_damage_isoBrittle_init - if (any(phase_source == SOURCE_damage_isoDuctile_ID)) call source_damage_isoDuctile_init - if (any(phase_source == SOURCE_damage_anisoBrittle_ID)) call source_damage_anisoBrittle_init - if (any(phase_source == SOURCE_damage_anisoDuctile_ID)) call source_damage_anisoDuctile_init + if (any(phase_source == SOURCE_thermal_dissipation_ID)) call source_thermal_dissipation_init(debug_constitutive) + if (any(phase_source == SOURCE_thermal_externalheat_ID)) call source_thermal_externalheat_init(debug_constitutive) + if (any(phase_source == SOURCE_damage_isoBrittle_ID)) call source_damage_isoBrittle_init(debug_constitutive) + if (any(phase_source == SOURCE_damage_isoDuctile_ID)) call source_damage_isoDuctile_init(debug_constitutive) + if (any(phase_source == SOURCE_damage_anisoBrittle_ID)) call source_damage_anisoBrittle_init(debug_constitutive) + if (any(phase_source == SOURCE_damage_anisoDuctile_ID)) call source_damage_anisoDuctile_init(debug_constitutive) !-------------------------------------------------------------------------------------------------- ! initialize kinematic mechanisms - if (any(phase_kinematics == KINEMATICS_cleavage_opening_ID)) call kinematics_cleavage_opening_init - if (any(phase_kinematics == KINEMATICS_slipplane_opening_ID)) call kinematics_slipplane_opening_init - if (any(phase_kinematics == KINEMATICS_thermal_expansion_ID)) call kinematics_thermal_expansion_init + if (any(phase_kinematics == KINEMATICS_cleavage_opening_ID)) call kinematics_cleavage_opening_init(debug_constitutive) + if (any(phase_kinematics == KINEMATICS_slipplane_opening_ID)) call kinematics_slipplane_opening_init(debug_constitutive) + if (any(phase_kinematics == KINEMATICS_thermal_expansion_ID)) call kinematics_thermal_expansion_init(debug_constitutive) write(6,'(/,a)') ' <<<+- constitutive init -+>>>'; flush(6) @@ -430,7 +462,10 @@ subroutine constitutive_dependentState(F, Fp, ipc, ip, el) ho, & !< homogenization tme, & !< thermal member position instance, of + class(tNode), pointer :: & + debug_constitutive + debug_constitutive => debug_root%get('constitutive',defaultVal=emptyList) ho = material_homogenizationAt(el) tme = thermalMapping(ho)%p(ip,el) of = material_phasememberAt(ipc,ip,el) @@ -442,7 +477,7 @@ subroutine constitutive_dependentState(F, Fp, ipc, ip, el) case (PLASTICITY_DISLOUCLA_ID) plasticityType call plastic_disloUCLA_dependentState(instance,of) case (PLASTICITY_NONLOCAL_ID) plasticityType - call plastic_nonlocal_dependentState (F,Fp,instance,of,ip,el) + call plastic_nonlocal_dependentState (F,Fp,instance,of,ip,el,debug_constitutive) end select plasticityType end subroutine constitutive_dependentState @@ -476,7 +511,11 @@ subroutine constitutive_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & tme !< thermal member position integer :: & i, j, instance, of - + class(tNode), pointer :: & + debug_constitutive + + debug_constitutive => debug_root%get('constitutive',defaultVal=emptyList) + ho = material_homogenizationAt(el) tme = thermalMapping(ho)%p(ip,el) @@ -491,7 +530,7 @@ subroutine constitutive_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & dLp_dMp = 0.0_pReal case (PLASTICITY_ISOTROPIC_ID) plasticityType - call plastic_isotropic_LpAndItsTangent (Lp,dLp_dMp,Mp,instance,of) + call plastic_isotropic_LpAndItsTangent (Lp,dLp_dMp,Mp,instance,of,debug_constitutive) case (PLASTICITY_PHENOPOWERLAW_ID) plasticityType call plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) @@ -551,6 +590,10 @@ subroutine constitutive_LiAndItsTangents(Li, dLi_dS, dLi_dFi, & integer :: & k, i, j, & instance, of + class(tNode), pointer :: & + debug_constitutive + + debug_constitutive => debug_root%get('constitutive',defaultVal=emptyList) Li = 0.0_pReal dLi_dS = 0.0_pReal @@ -560,7 +603,7 @@ subroutine constitutive_LiAndItsTangents(Li, dLi_dS, dLi_dFi, & case (PLASTICITY_isotropic_ID) plasticityType of = material_phasememberAt(ipc,ip,el) instance = phase_plasticityInstance(material_phaseAt(ipc,el)) - call plastic_isotropic_LiAndItsTangent(my_Li, my_dLi_dS, S ,instance,of) + call plastic_isotropic_LiAndItsTangent(my_Li, my_dLi_dS, S ,instance,of,debug_constitutive) case default plasticityType my_Li = 0.0_pReal my_dLi_dS = 0.0_pReal @@ -733,8 +776,12 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el tme, & !< thermal member position i, & !< counter in source loop instance + class(tNode), pointer :: & + debug_constitutive logical :: broken + debug_constitutive => debug_root%get('constitutive',defaultVal=emptyList) + ho = material_homogenizationAt(el) tme = thermalMapping(ho)%p(ip,el) instance = phase_plasticityInstance(phase) @@ -760,7 +807,7 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el case (PLASTICITY_NONLOCAL_ID) plasticityType call plastic_nonlocal_dotState (Mp,FArray,FpArray,temperature(ho)%p(tme),subdt, & - instance,of,ip,el) + instance,of,ip,el,debug_constitutive) end select plasticityType broken = any(IEEE_is_NaN(plasticState(phase)%dotState(:,of))) @@ -812,20 +859,24 @@ function constitutive_deltaState(S, Fe, Fi, ipc, ip, el, phase, of) result(broke instance, & myOffset, & mySize + class(tNode), pointer :: & + debug_constitutive logical :: & broken + debug_constitutive => debug_root%get('constitutive',defaultVal=emptyList) + Mp = matmul(matmul(transpose(Fi),Fi),S) instance = phase_plasticityInstance(phase) plasticityType: select case (phase_plasticity(phase)) case (PLASTICITY_KINEHARDENING_ID) plasticityType - call plastic_kinehardening_deltaState(Mp,instance,of) + call plastic_kinehardening_deltaState(Mp,instance,of,debug_constitutive) broken = any(IEEE_is_NaN(plasticState(phase)%deltaState(:,of))) case (PLASTICITY_NONLOCAL_ID) plasticityType - call plastic_nonlocal_deltaState(Mp,instance,of,ip,el) + call plastic_nonlocal_deltaState(Mp,instance,of,ip,el,debug_constitutive) broken = any(IEEE_is_NaN(plasticState(phase)%deltaState(:,of))) case default diff --git a/src/constitutive_plastic_disloUCLA.f90 b/src/constitutive_plastic_disloUCLA.f90 index 90a933910..3a2946435 100644 --- a/src/constitutive_plastic_disloUCLA.f90 +++ b/src/constitutive_plastic_disloUCLA.f90 @@ -74,7 +74,10 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_disloUCLA_init +module subroutine plastic_disloUCLA_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: & Ninstance, & @@ -97,7 +100,7 @@ module subroutine plastic_disloUCLA_init write(6,'(a)') ' https://dx.doi.org/10.1016/j.ijplas.2015.09.002' Ninstance = count(phase_plasticity == PLASTICITY_DISLOUCLA_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(param(Ninstance)) diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index 7c7d24ab8..c643376c7 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -122,7 +122,10 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_dislotwin_init +module subroutine plastic_dislotwin_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: & Ninstance, & @@ -151,7 +154,7 @@ module subroutine plastic_dislotwin_init Ninstance = count(phase_plasticity == PLASTICITY_DISLOTWIN_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(param(Ninstance)) diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index ecf029124..7e5736d31 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -49,13 +49,19 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_isotropic_init +module subroutine plastic_isotropic_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: & Ninstance, & p, & NipcMyPhase, & - sizeState, sizeDotState + sizeState, sizeDotState, & + debug_g, & + debug_e, & + debug_i real(pReal) :: & xi_0 !< initial critical stress character(len=pStringLen) :: & @@ -67,7 +73,7 @@ module subroutine plastic_isotropic_init write(6,'(a)') ' https://doi.org/10.1016/j.scriptamat.2017.09.047' Ninstance = count(phase_plasticity == PLASTICITY_ISOTROPIC_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(param(Ninstance)) @@ -84,6 +90,10 @@ module subroutine plastic_isotropic_init prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) #ifdef DEBUG + debug_g = debug_root%get_asInt('grain',defaultVal=1) + debug_e = debug_root%get_asInt('element',defaultVal=1) + debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + if (p==material_phaseAt(debug_g,debug_e)) & prm%of_debug = material_phasememberAt(debug_g,debug_i,debug_e) #endif @@ -150,7 +160,7 @@ end subroutine plastic_isotropic_init !-------------------------------------------------------------------------------------------------- !> @brief Calculate plastic velocity gradient and its tangent. !-------------------------------------------------------------------------------------------------- -module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) +module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of,debug_constitutive) real(pReal), dimension(3,3), intent(out) :: & Lp !< plastic velocity gradient @@ -162,7 +172,9 @@ module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) integer, intent(in) :: & instance, & of - + class(tNode), pointer, intent(in) :: & + debug_constitutive + real(pReal), dimension(3,3) :: & Mp_dev !< deviatoric part of the Mandel stress real(pReal) :: & @@ -183,8 +195,8 @@ module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) Lp = dot_gamma/prm%M * Mp_dev/norm_Mp_dev #ifdef DEBUG - if (iand(debug_level(debug_constitutive), debug_levelExtensive) /= 0 & - .and. (of == prm%of_debug .or. .not. iand(debug_level(debug_constitutive),debug_levelSelective) /= 0)) then + if (debug_constitutive%contains('extensive') & + .and. (of == prm%of_debug .or. .not. debug_constitutive%contains('selective'))) then write(6,'(/,a,/,3(12x,3(f12.4,1x)/))') '<< CONST isotropic >> Tstar (dev) / MPa', & transpose(Mp_dev)*1.0e-6_pReal write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> norm Tstar / MPa', norm_Mp_dev*1.0e-6_pReal @@ -211,7 +223,7 @@ end subroutine plastic_isotropic_LpAndItsTangent !-------------------------------------------------------------------------------------------------- !> @brief Calculate inelastic velocity gradient and its tangent. !-------------------------------------------------------------------------------------------------- -module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) +module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of,debug_constitutive) real(pReal), dimension(3,3), intent(out) :: & Li !< inleastic velocity gradient @@ -223,7 +235,9 @@ module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) integer, intent(in) :: & instance, & of - + class(tNode), pointer, intent(in) :: & + debug_constitutive + real(pReal) :: & tr !< trace of spherical part of Mandel stress (= 3 x pressure) integer :: & @@ -239,8 +253,8 @@ module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) * tr * abs(tr)**(prm%n-1.0_pReal) #ifdef DEBUG - if (iand(debug_level(debug_constitutive), debug_levelExtensive) /= 0 & - .and. (of == prm%of_debug .or. .not. iand(debug_level(debug_constitutive),debug_levelSelective) /= 0)) then + if (debug_constitutive%contains('extensive') & + .and. (of == prm%of_debug .or. .not. debug_constitutive%contains('selective'))) then write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> pressure / MPa', tr/3.0_pReal*1.0e-6_pReal write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> gdot', prm%dot_gamma_0 * (3.0_pReal*prm%M*stt%xi(of))**(-prm%n) & * tr * abs(tr)**(prm%n-1.0_pReal) diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index 36b1eedf9..6ff250057 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -58,14 +58,18 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_kinehardening_init +module subroutine plastic_kinehardening_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: & Ninstance, & p, o, & NipcMyPhase, & sizeState, sizeDeltaState, sizeDotState, & - startIndex, endIndex + startIndex, endIndex, & + debug_e, debug_i, debug_g integer, dimension(:), allocatable :: & N_sl real(pReal), dimension(:), allocatable :: & @@ -77,7 +81,7 @@ module subroutine plastic_kinehardening_init write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_KINEHARDENING_LABEL//' init -+>>>'; flush(6) Ninstance = count(phase_plasticity == PLASTICITY_KINEHARDENING_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(param(Ninstance)) @@ -96,6 +100,10 @@ module subroutine plastic_kinehardening_init prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) #ifdef DEBUG + debug_g = debug_root%get_asInt('grain',defaultVal=1) + debug_e = debug_root%get_asInt('element',defaultVal=1) + debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + if (p==material_phaseAt(debug_g,debug_e)) then prm%of_debug = material_phasememberAt(debug_g,debug_i,debug_e) endif @@ -308,13 +316,15 @@ end subroutine plastic_kinehardening_dotState !-------------------------------------------------------------------------------------------------- !> @brief Calculate (instantaneous) incremental change of microstructure. !-------------------------------------------------------------------------------------------------- -module subroutine plastic_kinehardening_deltaState(Mp,instance,of) +module subroutine plastic_kinehardening_deltaState(Mp,instance,of,debug_constitutive) real(pReal), dimension(3,3), intent(in) :: & Mp !< Mandel stress integer, intent(in) :: & instance, & of + class(tNode), pointer , intent(in) :: & + debug_constitutive real(pReal), dimension(param(instance)%sum_N_sl) :: & gdot_pos,gdot_neg, & @@ -328,9 +338,9 @@ module subroutine plastic_kinehardening_deltaState(Mp,instance,of) dEq0(gdot_pos+gdot_neg,1e-10_pReal)) ! current sense of shear direction #ifdef DEBUG - if (iand(debug_level(debug_constitutive), debug_levelExtensive) /= 0 & + if (debug_constitutive%contains('extensive') & .and. (of == prm%of_debug & - .or. .not. iand(debug_level(debug_constitutive),debug_levelSelective) /= 0)) then + .or. .not. debug_constitutive%contains('selective'))) then write(6,'(a)') '======= kinehardening delta state =======' write(6,*) sense,state(instance)%sense(:,of) endif diff --git a/src/constitutive_plastic_none.f90 b/src/constitutive_plastic_none.f90 index 667fe5638..d79b08d93 100644 --- a/src/constitutive_plastic_none.f90 +++ b/src/constitutive_plastic_none.f90 @@ -12,7 +12,10 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_none_init +module subroutine plastic_none_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: & Ninstance, & @@ -22,7 +25,7 @@ module subroutine plastic_none_init write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_NONE_LABEL//' init -+>>>'; flush(6) Ninstance = count(phase_plasticity == PLASTICITY_NONE_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance do p = 1, size(phase_plasticity) diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 7f21d0194..596c62c86 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -163,7 +163,10 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_nonlocal_init +module subroutine plastic_nonlocal_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: & Ninstance, & @@ -188,7 +191,7 @@ module subroutine plastic_nonlocal_init write(6,'(a)') ' http://publications.rwth-aachen.de/record/229993' Ninstance = count(phase_plasticity == PLASTICITY_NONLOCAL_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(param(Ninstance)) @@ -522,7 +525,7 @@ end subroutine plastic_nonlocal_init !-------------------------------------------------------------------------------------------------- !> @brief calculates quantities characterizing the microstructure !-------------------------------------------------------------------------------------------------- -module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) +module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el,debug_constitutive) real(pReal), dimension(3,3), intent(in) :: & F, & @@ -532,6 +535,8 @@ module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) of, & ip, & el + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: & no, & !< neighbor offset @@ -541,7 +546,8 @@ module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) c, & ! index of dilsocation character (edge, screw) s, & ! slip system index dir, & - n + n, & + debug_e, debug_i real(pReal) :: & FVsize, & nRealNeighbors ! number of really existing neighbors @@ -710,9 +716,11 @@ module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) endif #ifdef DEBUG - if (iand(debug_level(debug_constitutive),debug_levelExtensive) /= 0 & + debug_e = debug_root%get_asInt('element',defaultVal=1) + debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + if (debug_constitutive%contains('extensive') & .and. ((debug_e == el .and. debug_i == ip)& - .or. .not. iand(debug_level(debug_constitutive),debug_levelSelective) /= 0)) then + .or. .not. debug_constitutive%contains('selective'))) then write(6,'(/,a,i8,1x,i2,1x,i1,/)') '<< CONST >> nonlocal_microstructure at el ip ',el,ip write(6,'(a,/,12x,12(e10.3,1x))') '<< CONST >> rhoForest', stt%rho_forest(:,of) write(6,'(a,/,12x,12(f10.5,1x))') '<< CONST >> tauThreshold / MPa', dst%tau_pass(:,of)*1e-6 @@ -836,7 +844,7 @@ end subroutine plastic_nonlocal_LpAndItsTangent !-------------------------------------------------------------------------------------------------- !> @brief (instantaneous) incremental change of microstructure !-------------------------------------------------------------------------------------------------- -module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el) +module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el,debug_constitutive) real(pReal), dimension(3,3), intent(in) :: & Mp !< MandelStress @@ -845,13 +853,16 @@ module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el) of, & !< offset ip, & el + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: & ph, & !< phase ns, & ! short notation for the total number of active slip systems c, & ! character of dislocation t, & ! type of dislocation - s ! index of my current slip system + s, & ! index of my current slip system + debug_e, debug_i real(pReal), dimension(param(instance)%sum_N_sl,10) :: & deltaRhoRemobilization, & ! density increment by remobilization deltaRhoDipole2SingleStress ! density increment by dipole dissociation (by stress change) @@ -927,9 +938,11 @@ module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el) del%rho(:,of) = reshape(deltaRhoRemobilization + deltaRhoDipole2SingleStress, [10*ns]) #ifdef DEBUG - if (iand(debug_level(debug_constitutive),debug_levelExtensive) /= 0 & + debug_e = debug_root%get_asInt('element',defaultVal=1) + debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + if (debug_constitutive%contains('extensive') & .and. ((debug_e == el .and. debug_i == ip)& - .or. .not. iand(debug_level(debug_constitutive),debug_levelSelective) /= 0 )) then + .or. .not. debug_constitutive%contains('selective'))) then write(6,'(a,/,8(12x,12(e12.5,1x),/))') '<< CONST >> dislocation remobilization', deltaRhoRemobilization(:,1:8) write(6,'(a,/,10(12x,12(e12.5,1x),/),/)') '<< CONST >> dipole dissociation by stress increase', deltaRhoDipole2SingleStress endif @@ -944,7 +957,7 @@ end subroutine plastic_nonlocal_deltaState !> @brief calculates the rate of change of microstructure !--------------------------------------------------------------------------------------------------- module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & - instance,of,ip,el) + instance,of,ip,el,debug_constitutive) real(pReal), dimension(3,3), intent(in) :: & Mp !< MandelStress @@ -959,13 +972,16 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & of, & ip, & !< current integration point el !< current element number + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: & ph, & ns, & !< short notation for the total number of active slip systems c, & !< character of dislocation t, & !< type of dislocation - s !< index of my current slip system + s, & !< index of my current slip system + debug_e, debug_i real(pReal), dimension(param(instance)%sum_N_sl,10) :: & rho, & rho0, & !< dislocation density at beginning of time step @@ -1016,9 +1032,11 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & gdot = rhoSgl(:,1:4) * v * spread(prm%burgers,2,4) #ifdef DEBUG - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0 & - .and. ((debug_e == el .and. debug_i == ip)& - .or. .not. iand(debug_level(debug_constitutive),debug_levelSelective) /= 0 )) then + debug_e = debug_root%get_asInt('element',defaultVal=1) + debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + if (debug_constitutive%contains('basic') & + .and. ((debug_e == el .and. debug_i == ip) & + .or. .not. debug_constitutive%contains('selective') )) then write(6,'(a,/,10(12x,12(e12.5,1x),/))') '<< CONST >> rho / 1/m^2', rhoSgl, rhoDip write(6,'(a,/,4(12x,12(e12.5,1x),/))') '<< CONST >> gdot / 1/s',gdot endif @@ -1117,7 +1135,7 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & - rhoDip(s,1) / timestep - rhoDotAthermalAnnihilation(s,9) & - rhoDotSingle2DipoleGlide(s,9)) ! make sure that we do not annihilate more dipoles than we have - rhoDot = rhoDotFlux(F,Fp,timestep, instance,of,ip,el) & + rhoDot = rhoDotFlux(F,Fp,timestep, instance,of,ip,el,debug_constitutive) & + rhoDotMultiplication & + rhoDotSingle2DipoleGlide & + rhoDotAthermalAnnihilation & @@ -1127,7 +1145,7 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & if ( any(rho(:,mob) + rhoDot(:,1:4) * timestep < -prm%atol_rho) & .or. any(rho(:,dip) + rhoDot(:,9:10) * timestep < -prm%atol_rho)) then #ifdef DEBUG - if (iand(debug_level(debug_constitutive),debug_levelExtensive) /= 0) then + if (debug_constitutive%contains('extensive')) then write(6,'(a,i5,a,i2)') '<< CONST >> evolution rate leads to negative density at el ',el,' ip ',ip write(6,'(a)') '<< CONST >> enforcing cutback !!!' endif @@ -1146,7 +1164,7 @@ end subroutine plastic_nonlocal_dotState !--------------------------------------------------------------------------------------------------- !> @brief calculates the rate of change of microstructure !--------------------------------------------------------------------------------------------------- -function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) +function rhoDotFlux(F,Fp,timestep, instance,of,ip,el,debug_constitutive) real(pReal), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem), intent(in) :: & F, & !< elastic deformation gradient @@ -1158,7 +1176,9 @@ function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) of, & ip, & !< current integration point el !< current element number - + class(tNode), pointer, intent(in) :: & + debug_constitutive + integer :: & ph, & neighbor_instance, & !< instance of my neighbor's plasticity @@ -1239,7 +1259,7 @@ function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) .and. prm%CFLfactor * abs(v0) * timestep & > IPvolume(ip,el) / maxval(IParea(:,ip,el)))) then ! ...with velocity above critical value (we use the reference volume and area for simplicity here) #ifdef DEBUG - if (iand(debug_level(debug_constitutive),debug_levelExtensive) /= 0) then + if (debug_constitutive%contains('extensive')) then write(6,'(a,i5,a,i2)') '<< CONST >> CFL condition not fullfilled at el ',el,' ip ',ip write(6,'(a,e10.3,a,e10.3)') '<< CONST >> velocity is at ', & maxval(abs(v0), abs(gdot) > 0.0_pReal & diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index fa273cbd3..76e2606f8 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -66,7 +66,10 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_phenopowerlaw_init +module subroutine plastic_phenopowerlaw_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: & Ninstance, & @@ -86,7 +89,7 @@ module subroutine plastic_phenopowerlaw_init write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_PHENOPOWERLAW_LABEL//' init -+>>>'; flush(6) Ninstance = count(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(param(Ninstance)) diff --git a/src/kinematics_cleavage_opening.f90 b/src/kinematics_cleavage_opening.f90 index 3366a7b1e..2ffb27f2e 100644 --- a/src/kinematics_cleavage_opening.f90 +++ b/src/kinematics_cleavage_opening.f90 @@ -43,7 +43,10 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine kinematics_cleavage_opening_init +subroutine kinematics_cleavage_opening_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: Ninstance,p integer, dimension(:), allocatable :: N_cl !< active number of cleavage systems per family @@ -52,7 +55,7 @@ subroutine kinematics_cleavage_opening_init write(6,'(/,a)') ' <<<+- kinematics_'//KINEMATICS_CLEAVAGE_OPENING_LABEL//' init -+>>>'; flush(6) Ninstance = count(phase_kinematics == KINEMATICS_CLEAVAGE_OPENING_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(kinematics_cleavage_opening_instance(size(config_phase)), source=0) diff --git a/src/kinematics_slipplane_opening.f90 b/src/kinematics_slipplane_opening.f90 index 833fa8759..278754b79 100644 --- a/src/kinematics_slipplane_opening.f90 +++ b/src/kinematics_slipplane_opening.f90 @@ -45,7 +45,10 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine kinematics_slipplane_opening_init +subroutine kinematics_slipplane_opening_init(debug_constitutive) + + class(tNode), pointer , intent(in) :: & + debug_constitutive integer :: Ninstance,p,i character(len=pStringLen) :: extmsg = '' @@ -55,7 +58,7 @@ subroutine kinematics_slipplane_opening_init write(6,'(/,a)') ' <<<+- kinematics_'//KINEMATICS_SLIPPLANE_OPENING_LABEL//' init -+>>>'; flush(6) Ninstance = count(phase_kinematics == KINEMATICS_SLIPPLANE_OPENING_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(kinematics_slipplane_opening_instance(size(config_phase)), source=0) diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index acf3a5067..1a84fb7b8 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -38,7 +38,10 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine kinematics_thermal_expansion_init +subroutine kinematics_thermal_expansion_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: Ninstance,p,i real(pReal), dimension(:), allocatable :: temp @@ -46,7 +49,7 @@ subroutine kinematics_thermal_expansion_init write(6,'(/,a)') ' <<<+- kinematics_'//KINEMATICS_thermal_expansion_LABEL//' init -+>>>'; flush(6) Ninstance = count(phase_kinematics == KINEMATICS_thermal_expansion_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(kinematics_thermal_expansion_instance(size(config_phase)), source=0) diff --git a/src/source_damage_anisoBrittle.f90 b/src/source_damage_anisoBrittle.f90 index b3af24f38..5826e7160 100644 --- a/src/source_damage_anisoBrittle.f90 +++ b/src/source_damage_anisoBrittle.f90 @@ -53,7 +53,10 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_damage_anisoBrittle_init +subroutine source_damage_anisoBrittle_init(debug_constitutive) + + class(tNode), pointer , intent(in) :: & + debug_constitutive integer :: Ninstance,sourceOffset,NipcMyPhase,p integer, dimension(:), allocatable :: N_cl @@ -62,7 +65,7 @@ subroutine source_damage_anisoBrittle_init write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ANISOBRITTLE_LABEL//' init -+>>>'; flush(6) Ninstance = count(phase_source == SOURCE_DAMAGE_ANISOBRITTLE_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(source_damage_anisoBrittle_offset (size(config_phase)), source=0) diff --git a/src/source_damage_anisoDuctile.f90 b/src/source_damage_anisoDuctile.f90 index 79cc0c2f7..73e68d021 100644 --- a/src/source_damage_anisoDuctile.f90 +++ b/src/source_damage_anisoDuctile.f90 @@ -46,7 +46,10 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_damage_anisoDuctile_init +subroutine source_damage_anisoDuctile_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: Ninstance,sourceOffset,NipcMyPhase,p integer, dimension(:), allocatable :: N_sl @@ -55,7 +58,7 @@ subroutine source_damage_anisoDuctile_init write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ANISODUCTILE_LABEL//' init -+>>>'; flush(6) Ninstance = count(phase_source == SOURCE_DAMAGE_ANISODUCTILE_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(source_damage_anisoDuctile_offset (size(config_phase)), source=0) diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index 9eacb4516..e1c0625e4 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -45,7 +45,10 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_damage_isoBrittle_init +subroutine source_damage_isoBrittle_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: Ninstance,sourceOffset,NipcMyPhase,p character(len=pStringLen) :: extmsg = '' @@ -53,7 +56,7 @@ subroutine source_damage_isoBrittle_init write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ISOBRITTLE_LABEL//' init -+>>>'; flush(6) Ninstance = count(phase_source == SOURCE_DAMAGE_ISOBRITTLE_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(source_damage_isoBrittle_offset (size(config_phase)), source=0) diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index 96754725d..8ba28ee1b 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -44,7 +44,10 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_damage_isoDuctile_init +subroutine source_damage_isoDuctile_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: Ninstance,sourceOffset,NipcMyPhase,p character(len=pStringLen) :: extmsg = '' @@ -52,7 +55,7 @@ subroutine source_damage_isoDuctile_init write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ISODUCTILE_LABEL//' init -+>>>'; flush(6) Ninstance = count(phase_source == SOURCE_DAMAGE_ISODUCTILE_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(source_damage_isoDuctile_offset (size(config_phase)), source=0) diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index c323e68b5..3b08f7e25 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -37,14 +37,17 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_thermal_dissipation_init +subroutine source_thermal_dissipation_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: Ninstance,sourceOffset,NipcMyPhase,p write(6,'(/,a)') ' <<<+- source_'//SOURCE_thermal_dissipation_label//' init -+>>>'; flush(6) Ninstance = count(phase_source == SOURCE_THERMAL_DISSIPATION_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(source_thermal_dissipation_offset (size(config_phase)), source=0) diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index 06b8a5197..482de87de 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -41,14 +41,17 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_thermal_externalheat_init +subroutine source_thermal_externalheat_init(debug_constitutive) + + class(tNode), pointer, intent(in) :: & + debug_constitutive integer :: Ninstance,sourceOffset,NipcMyPhase,p write(6,'(/,a)') ' <<<+- source_'//SOURCE_thermal_externalheat_label//' init -+>>>'; flush(6) Ninstance = count(phase_source == SOURCE_thermal_externalheat_ID) - if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0) & + if (debug_constitutive%contains('basic')) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance allocate(source_thermal_externalheat_offset (size(config_phase)), source=0) From 4942304ee830922a2ffd282926d2a827774f0500 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 18 Jun 2020 17:43:25 +0200 Subject: [PATCH 212/958] extended for grid --- src/grid/DAMASK_grid.f90 | 12 +++++++----- src/grid/discretization_grid.f90 | 10 +++++++++- src/grid/grid_mech_FEM.f90 | 9 +++++++-- src/grid/grid_mech_spectral_basic.f90 | 9 +++++++-- src/grid/grid_mech_spectral_polarisation.f90 | 9 +++++++-- src/grid/spectral_utilities.f90 | 11 +++++++---- 6 files changed, 44 insertions(+), 16 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index c2ac2ea58..d10c4badc 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -93,7 +93,8 @@ program DAMASK_grid quit class (tNode), pointer :: & num_grid, & - num_generic + num_generic, & + debug_grid !-------------------------------------------------------------------------------------------------- ! init DAMASK (all modules) @@ -124,8 +125,9 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! assign mechanics solver depending on selected type + debug_grid => debug_root%get('grid',defaultVal=emptyList) num_grid => numerics_root%get('grid',defaultVal=emptyDict) - + select case (trim(num_grid%get_asString('solver', defaultVal = 'Basic'))) case ('Basic') mech_init => grid_mech_spectral_basic_init @@ -135,7 +137,7 @@ program DAMASK_grid mech_restartWrite => grid_mech_spectral_basic_restartWrite case ('Polarisation') - if(iand(debug_level(debug_spectral),debug_levelBasic)/= 0) & + if(debug_grid%contains('basic')) & call IO_warning(42, ext_msg='debug Divergence') mech_init => grid_mech_spectral_polarisation_init mech_forward => grid_mech_spectral_polarisation_forward @@ -144,7 +146,7 @@ program DAMASK_grid mech_restartWrite => grid_mech_spectral_polarisation_restartWrite case ('FEM') - if(iand(debug_level(debug_spectral),debug_levelBasic)/= 0) & + if(debug_grid%contains('basic')) & call IO_warning(42, ext_msg='debug Divergence') mech_init => grid_mech_FEM_init mech_forward => grid_mech_FEM_forward @@ -343,7 +345,7 @@ program DAMASK_grid writeHeader: if (interface_restartInc < 1) then open(newunit=statUnit,file=trim(getSolverJobName())//'.sta',form='FORMATTED',status='REPLACE') write(statUnit,'(a)') 'Increment Time CutbackLevel Converged IterationsNeeded' ! statistics file - if (iand(debug_level(debug_spectral),debug_levelBasic) /= 0) & + if (debug_grid%contains('basic')) & write(6,'(/,a)') ' header of statistics file written out' flush(6) else writeHeader diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 5cea99550..0189289d3 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -57,7 +57,10 @@ subroutine discretization_grid_init(restart) microstructureAt, & homogenizationAt - integer :: j + integer :: & + j, & + debug_e, & + debug_i integer(C_INTPTR_T) :: & devNull, z, z_offset @@ -83,6 +86,11 @@ subroutine discretization_grid_init(restart) myGrid = [grid(1:2),grid3] mySize = [geomSize(1:2),size3] +!------------------------------------------------------------------------------------------------- +! debug parameters + debug_e = debug_root%get_asInt('element',defaultVal=1) + debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + !-------------------------------------------------------------------------------------------------- ! general discretization microstructureAt = microstructureAt(product(grid(1:2))*grid3Offset+1: & diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 03709040f..8a8791151 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -505,7 +505,12 @@ subroutine formResidual(da_local,x_local, & itmin, & itmax class(tNode), pointer :: & - num_generic + num_generic, & + debug_grid + +!--------------------------------------------------------------------- +! debug pointer to grid + debug_grid => debug_root%get('grid',defaultVal=emptyList) !---------------------------------------------------------------------- ! read numerical paramteters and do sanity checks @@ -525,7 +530,7 @@ subroutine formResidual(da_local,x_local, & newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', itmin, '≤',totalIter+1, '≤', itmax - if (iand(debug_level(debug_spectral),debug_spectralRotation) /= 0) & + if (debug_grid%contains('rotation')) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index e754b0d64..0ae081e37 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -474,7 +474,12 @@ subroutine formResidual(in, F, & itmin, & itmax class(tNode), pointer :: & - num_generic + num_generic, & + debug_grid + +!--------------------------------------------------------------------- +! debug pointer to grid + debug_grid => debug_root%get('grid', defaultVal=emptyList) !---------------------------------------------------------------------- ! read numerical paramteter and do sanity checks @@ -493,7 +498,7 @@ subroutine formResidual(in, F, & newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', itmin, '≤',totalIter, '≤', itmax - if (iand(debug_level(debug_spectral),debug_spectralRotation) /= 0) & + if (debug_grid%contains('rotation')) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 33b84c340..543a9da9c 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -534,7 +534,8 @@ subroutine formResidual(in, FandF_tau, & PetscErrorCode :: ierr class(tNode), pointer :: & num_grid, & - num_generic + num_generic, & + debug_grid real(pReal) :: & polarAlpha, & !< polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme polarBeta !< polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme @@ -542,6 +543,10 @@ subroutine formResidual(in, FandF_tau, & i, j, k, e, & itmin, itmax +!-------------------------------------------------------------------------------------------------- +! debug pointer for grid + debug_grid => debug_root%get('grid',defaultVal=emptyList) + !-------------------------------------------------------------------------------------------------- ! read numerical paramteters and do sanity checks num_grid => numerics_root%get('grid',defaultVal = emptyDict) @@ -579,7 +584,7 @@ subroutine formResidual(in, FandF_tau, & newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', itmin, '≤',totalIter, '≤', itmax - if (iand(debug_level(debug_spectral),debug_spectralRotation) /= 0) & + if(debug_grid%contains('rotation')) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index d8e922343..30329d6dc 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -193,7 +193,8 @@ subroutine spectral_utilities_init petsc_options class (tNode) , pointer :: & num_grid, & - num_generic + num_generic, & + debug_grid write(6,'(/,a)') ' <<<+- spectral_utilities init -+>>>' @@ -211,9 +212,11 @@ subroutine spectral_utilities_init !-------------------------------------------------------------------------------------------------- ! set debugging parameters - debugGeneral = iand(debug_level(debug_SPECTRAL),debug_LEVELBASIC) /= 0 - debugRotation = iand(debug_level(debug_SPECTRAL),debug_SPECTRALROTATION) /= 0 - debugPETSc = iand(debug_level(debug_SPECTRAL),debug_SPECTRALPETSC) /= 0 + debug_grid => debug_root%get('grid',defaultVal=emptyList) + debugGeneral = debug_grid%contains('basic') + debugRotation = debug_grid%contains('rotation') + debugPETSc = debug_grid%contains('petsc') + if(debugPETSc) write(6,'(3(/,a),/)') & ' Initializing PETSc with debug options: ', & From eb71c1033d0c21a97d793425237c4fb9e7ab1be4 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 18 Jun 2020 17:52:25 +0200 Subject: [PATCH 213/958] extended for FEM --- src/mesh/FEM_utilities.f90 | 7 +++++-- src/mesh/discretization_mesh.f90 | 17 +++++++++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index f7e00f42c..3bced3b57 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -104,7 +104,8 @@ subroutine FEM_utilities_init character(len=pStringLen) :: petsc_optionsOrder class(tNode), pointer :: & num_mesh, & - num_generic + num_generic, & + debug_mesh integer :: structOrder !< order of displacement shape functions character(len=pStringLen) :: & petsc_options @@ -120,7 +121,9 @@ subroutine FEM_utilities_init !-------------------------------------------------------------------------------------------------- ! set debugging parameters - debugPETSc = iand(debug_level(debug_SPECTRAL),debug_SPECTRALPETSC) /= 0 + debug_mesh => debug_root%get('mesh',defaultVal=emptyList) + debugPETSc = debug_mesh%contains('petsc') + if(debugPETSc) write(6,'(3(/,a),/)') & ' Initializing PETSc with debug options: ', & trim(PETScDebug), & diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index eb6c2b9af..7e725ecee 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -74,7 +74,8 @@ subroutine discretization_mesh_init(restart) integer, allocatable, dimension(:) :: chunkPos integer :: dimPlex, & mesh_Nnodes, & !< total number of nodes in mesh - j, l + j, l, & + debug_e, debug_i integer, parameter :: & mesh_ElemType=1 !< Element type of the mesh (only support homogeneous meshes) PetscSF :: sf @@ -89,12 +90,20 @@ subroutine discretization_mesh_init(restart) num_mesh integer :: integrationOrder !< order of quadrature rule required - num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - integrationOrder = num_mesh%get_asInt('integrationorder',defaultVal = 2) - write(6,'(/,a)') ' <<<+- mesh init -+>>>' +!-------------------------------------------------------------------------------- +! read numerics parameter + num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + integrationOrder = num_mesh%get_asInt('integrationorder',defaultVal = 2) + +!--------------------------------------------------------------------------------- +! read debug parameters + debug_e = debug_root%get_asInt('element',defaultVal=1) + debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + + ! read in file call DMPlexCreateFromFile(PETSC_COMM_WORLD,geometryFile,PETSC_TRUE,globalMesh,ierr) CHKERRQ(ierr) From 01f21a9e3baa5aca8fe8eec0421bdd76197e5675 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 18 Jun 2020 18:04:51 +0200 Subject: [PATCH 214/958] [skip ci] updated version information after successful test of v2.0.3-2664-ge959aaab --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 4a0b49cc6..b25957f75 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2654-g5c544a6e +v2.0.3-2664-ge959aaab From 0cf06a77d45eb934ac7345c8749c5f7c2a3ab0f5 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 18 Jun 2020 18:14:53 +0200 Subject: [PATCH 215/958] bugfix --- src/config.f90 | 8 +++++--- src/debug.f90 | 4 ---- src/grid/spectral_utilities.f90 | 3 ++- src/homogenization.f90 | 14 +++++++++++--- src/marc/discretization_marc.f90 | 13 +++++++++++-- src/mesh/FEM_utilities.f90 | 3 ++- src/source_damage_isoDuctile.f90 | 1 + src/source_thermal_dissipation.f90 | 1 + src/source_thermal_externalheat.f90 | 1 + 9 files changed, 34 insertions(+), 14 deletions(-) diff --git a/src/config.f90 b/src/config.f90 index dda41a48f..cef6633ba 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -4,7 +4,6 @@ !> @details Reads the material configuration file, where solverJobName.materialConfig takes !! precedence over material.config. Stores the raw strings and the positions of delimiters for the !! parts 'homogenization', 'crystallite', 'phase', 'texture', and 'microstucture' -!! Reads numerics.config and debug.config !-------------------------------------------------------------------------------------------------- module config use prec @@ -50,11 +49,14 @@ subroutine config_init line, & part character(len=pStringLen), dimension(:), allocatable :: fileContent - logical :: fileExists + class(tNode), pointer :: & + debug_material + logical :: fileExists write(6,'(/,a)') ' <<<+- config init -+>>>'; flush(6) - verbose = iand(debug_level(debug_material),debug_levelBasic) /= 0 + debug_material => debug_root%get('material',defaultVal=emptyList) + verbose = debug_material%contains('basic') inquire(file=trim(getSolverJobName())//'.materialConfig',exist=fileExists) if(fileExists) then diff --git a/src/debug.f90 b/src/debug.f90 index 4ed5b1f46..82a2a8db1 100644 --- a/src/debug.f90 +++ b/src/debug.f90 @@ -17,10 +17,6 @@ module debug class(tNode), pointer, public :: & debug_root -#ifdef PETSc - character(len=1024), parameter, public :: & - PETSCDEBUG = ' -snes_view -snes_monitor ' -#endif public :: debug_init contains diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 30329d6dc..273f0dabf 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -190,7 +190,8 @@ subroutine spectral_utilities_init vecSize = 3_C_INTPTR_T, & tensorSize = 9_C_INTPTR_T character(len=pStringLen) :: & - petsc_options + petsc_options, & + PETSCDEBUG = ' -snes_view -snes_monitor ' class (tNode) , pointer :: & num_grid, & num_generic, & diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 3cc4dbbc1..4729933fe 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -491,7 +491,11 @@ subroutine partitionDeformation(subF,ip,el) integer, intent(in) :: & ip, & !< integration point el !< element number + class(tNode), pointer :: & + debug_homogenization + debug_homogenization => debug_root%get('homogenization',defaultVal=emptyList) + chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) case (HOMOGENIZATION_NONE_ID) chosenHomogenization @@ -507,7 +511,7 @@ subroutine partitionDeformation(subF,ip,el) crystallite_partionedF(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & subF,& ip, & - el) + el,debug_homogenization) end select chosenHomogenization end subroutine partitionDeformation @@ -527,7 +531,11 @@ function updateState(subdt,subF,ip,el) ip, & !< integration point el !< element number logical, dimension(2) :: updateState - + class(tNode), pointer :: & + debug_homogenization + + debug_homogenization => debug_root%get('homogenization',defaultVal=emptyList) + updateState = .true. chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) case (HOMOGENIZATION_RGC_ID) chosenHomogenization @@ -540,7 +548,7 @@ function updateState(subdt,subF,ip,el) subdt, & crystallite_dPdF(1:3,1:3,1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & ip, & - el) + el,debug_homogenization) end select chosenHomogenization chosenThermal: select case (thermal_type(material_homogenizationAt(el))) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index 8945c2c18..5b615494f 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -58,7 +58,8 @@ subroutine discretization_marc_init homogenizationAt integer:: & Nnodes, & !< total number of nodes in the mesh - Nelems !< total number of elements in the mesh + Nelems, & !< total number of elements in the mesh + debug_e, debug_i real(pReal), dimension(:,:), allocatable :: & IP_reshaped @@ -73,11 +74,19 @@ subroutine discretization_marc_init num_commercialFEM write(6,'(/,a)') ' <<<+- discretization_marc init -+>>>'; flush(6) - + +!--------------------------------------------------------------------------------- +! read debug parameters + debug_e = debug_root%get_asInt('element',defaultVal=1) + debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + +!-------------------------------------------------------------------------------- +! read numerics parameter and do sanity check num_commercialFEM => numerics_root%get('commercialFEM',defaultVal = emptyDict) mesh_unitlength = num_commercialFEM%get_asFloat('unitlength',defaultVal=1.0_pReal) ! set physical extent of a length unit in mesh if (mesh_unitlength <= 0.0_pReal) call IO_error(301,ext_msg='unitlength') + call inputRead(elem,node0_elem,connectivity_elem,microstructureAt,homogenizationAt) nElems = size(connectivity_elem,2) diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 3bced3b57..94b69c073 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -108,7 +108,8 @@ subroutine FEM_utilities_init debug_mesh integer :: structOrder !< order of displacement shape functions character(len=pStringLen) :: & - petsc_options + petsc_options, & + PETSCDEBUG = ' -snes_view -snes_monitor ' PetscErrorCode :: ierr write(6,'(/,a)') ' <<<+- DAMASK_FEM_utilities init -+>>>' diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index 8ba28ee1b..83be82300 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -8,6 +8,7 @@ module source_damage_isoDuctile use prec use debug use IO + use YAML_types use discretization use material use config diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index 3b08f7e25..e8dd2eddb 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -7,6 +7,7 @@ module source_thermal_dissipation use prec use debug + use YAML_types use discretization use material use config diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index 482de87de..65b11a499 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -7,6 +7,7 @@ module source_thermal_externalheat use prec use debug + use YAML_types use discretization use material use config From 5bbbad9888aad719927463b621b9729364011c90 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 18 Jun 2020 19:14:21 +0200 Subject: [PATCH 216/958] updated tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 6f818e871..a22709e69 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 6f818e871d6415fa4ebe2a5781920bad614d02e8 +Subproject commit a22709e69a72cd1930385a77048894eea814a7fb From 9a03a6d13a096dca04c7404a5f0c5c29d55a099d Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 18 Jun 2020 19:31:08 +0200 Subject: [PATCH 217/958] exception for marc --- src/DAMASK_marc.f90 | 4 ++-- src/debug.f90 | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index efa054dbf..09c4eef43 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -253,8 +253,8 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & lastIncConverged = .false., & !< needs description outdatedByNewInc = .false., & !< needs description CPFEM_init_done = .false. !< remember whether init has been done already - - if (iand(debug_level(debug_MARC),debug_LEVELBASIC) /= 0) then + + if(debug_marc_basic) then write(6,'(a,/,i8,i8,i2)') ' MSC.MARC information on shape of element(2), IP:', m, nn write(6,'(a,2(i1))') ' Jacobian: ', ngens,ngens write(6,'(a,i1)') ' Direct stress: ', ndi diff --git a/src/debug.f90 b/src/debug.f90 index 82a2a8db1..f83c80967 100644 --- a/src/debug.f90 +++ b/src/debug.f90 @@ -15,8 +15,11 @@ module debug private class(tNode), pointer, public :: & - debug_root - + debug_root + + logical, public :: & + debug_marc_basic = .false. + public :: debug_init contains @@ -30,6 +33,8 @@ subroutine debug_init character(len=:), allocatable :: & debug_input, & debug_inFlow + class(tNode), pointer :: & + debug_Marc logical :: fexist write(6,'(/,a)') ' <<<+- debug init -+>>>' @@ -43,6 +48,8 @@ subroutine debug_init debug_input = IO_read('debug.yaml') debug_inFlow = to_flow(debug_input) debug_root => parse_flow(debug_inFlow,defaultVal=emptyDict) + debug_Marc => debug_root%get('marc',defaultVal=emptyList) + debug_marc_basic = debug_Marc%contains('basic') endif fileExists end subroutine debug_init From fe5e5babfea196b4d95e7ff491b3aec18cae872b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 18 Jun 2020 22:29:28 +0200 Subject: [PATCH 218/958] more useful for vectorized calculations --- python/damask/_lattice.py | 71 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index 0f6cffd04..09eadee5a 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -13,7 +13,7 @@ class Symmetry: """ - lattices = [None,'orthorhombic','tetragonal','hexagonal','cubic',] + lattices = [None,'orthorhombic','tetragonal','hexagonal','cubic'] def __init__(self, symmetry = None): """ @@ -157,6 +157,75 @@ class Symmetry: else: return symOps # yes, return list of rotations + @property + def symmetry_operations(self): + """List (or single element) of symmetry operations as rotations.""" + if self.lattice == 'cubic': + symQuats = [ + [ 1.0, 0.0, 0.0, 0.0 ], + [ 0.0, 1.0, 0.0, 0.0 ], + [ 0.0, 0.0, 1.0, 0.0 ], + [ 0.0, 0.0, 0.0, 1.0 ], + [ 0.0, 0.0, 0.5*np.sqrt(2), 0.5*np.sqrt(2) ], + [ 0.0, 0.0, 0.5*np.sqrt(2),-0.5*np.sqrt(2) ], + [ 0.0, 0.5*np.sqrt(2), 0.0, 0.5*np.sqrt(2) ], + [ 0.0, 0.5*np.sqrt(2), 0.0, -0.5*np.sqrt(2) ], + [ 0.0, 0.5*np.sqrt(2),-0.5*np.sqrt(2), 0.0 ], + [ 0.0, -0.5*np.sqrt(2),-0.5*np.sqrt(2), 0.0 ], + [ 0.5, 0.5, 0.5, 0.5 ], + [-0.5, 0.5, 0.5, 0.5 ], + [-0.5, 0.5, 0.5, -0.5 ], + [-0.5, 0.5, -0.5, 0.5 ], + [-0.5, -0.5, 0.5, 0.5 ], + [-0.5, -0.5, 0.5, -0.5 ], + [-0.5, -0.5, -0.5, 0.5 ], + [-0.5, 0.5, -0.5, -0.5 ], + [-0.5*np.sqrt(2), 0.0, 0.0, 0.5*np.sqrt(2) ], + [ 0.5*np.sqrt(2), 0.0, 0.0, 0.5*np.sqrt(2) ], + [-0.5*np.sqrt(2), 0.0, 0.5*np.sqrt(2), 0.0 ], + [-0.5*np.sqrt(2), 0.0, -0.5*np.sqrt(2), 0.0 ], + [-0.5*np.sqrt(2), 0.5*np.sqrt(2), 0.0, 0.0 ], + [-0.5*np.sqrt(2),-0.5*np.sqrt(2), 0.0, 0.0 ], + ] + elif self.lattice == 'hexagonal': + symQuats = [ + [ 1.0, 0.0, 0.0, 0.0 ], + [-0.5*np.sqrt(3), 0.0, 0.0, -0.5 ], + [ 0.5, 0.0, 0.0, 0.5*np.sqrt(3) ], + [ 0.0, 0.0, 0.0, 1.0 ], + [-0.5, 0.0, 0.0, 0.5*np.sqrt(3) ], + [-0.5*np.sqrt(3), 0.0, 0.0, 0.5 ], + [ 0.0, 1.0, 0.0, 0.0 ], + [ 0.0, -0.5*np.sqrt(3), 0.5, 0.0 ], + [ 0.0, 0.5, -0.5*np.sqrt(3), 0.0 ], + [ 0.0, 0.0, 1.0, 0.0 ], + [ 0.0, -0.5, -0.5*np.sqrt(3), 0.0 ], + [ 0.0, 0.5*np.sqrt(3), 0.5, 0.0 ], + ] + elif self.lattice == 'tetragonal': + symQuats = [ + [ 1.0, 0.0, 0.0, 0.0 ], + [ 0.0, 1.0, 0.0, 0.0 ], + [ 0.0, 0.0, 1.0, 0.0 ], + [ 0.0, 0.0, 0.0, 1.0 ], + [ 0.0, 0.5*np.sqrt(2), 0.5*np.sqrt(2), 0.0 ], + [ 0.0, -0.5*np.sqrt(2), 0.5*np.sqrt(2), 0.0 ], + [ 0.5*np.sqrt(2), 0.0, 0.0, 0.5*np.sqrt(2) ], + [-0.5*np.sqrt(2), 0.0, 0.0, 0.5*np.sqrt(2) ], + ] + elif self.lattice == 'orthorhombic': + symQuats = [ + [ 1.0,0.0,0.0,0.0 ], + [ 0.0,1.0,0.0,0.0 ], + [ 0.0,0.0,1.0,0.0 ], + [ 0.0,0.0,0.0,1.0 ], + ] + else: + symQuats = [ + [ 1.0,0.0,0.0,0.0 ], + ] + return Rotation(np.array(symQuats)) + def inFZ(self,rodrigues): """ From cdda556e18b7b60121a6ce3117fd30c20d6eeaf0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 18 Jun 2020 22:30:22 +0200 Subject: [PATCH 219/958] small improvements - hack for reporting multiple rotation - bugfix for vectorized Rodrigues vector - more general broadcasting (even more powerfull then np.broadcast_to) --- python/damask/_rotation.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index b1b1cd5ad..0d92e19e9 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -70,7 +70,7 @@ class Rotation: def __repr__(self): """Orientation displayed as unit quaternion, rotation matrix, and Bunge-Euler angles.""" if self.quaternion.shape != (4,): - raise NotImplementedError('Support for multiple rotations missing') + return str(self.quaternion) # ToDo: could be nicer ... return '\n'.join([ 'Quaternion: (real={:.3f}, imag=<{:+.3f}, {:+.3f}, {:+.3f}>)'.format(*(self.quaternion)), 'Matrix:\n{}'.format(self.as_matrix()), @@ -159,13 +159,12 @@ class Rotation: def broadcast_to(self,shape): if isinstance(shape,int): shape = (shape,) - if self.shape == (): - q = np.broadcast_to(self.quaternion,shape+(4,)) - else: - q = np.block([np.broadcast_to(self.quaternion[...,0:1],shape).reshape(shape+(1,)), - np.broadcast_to(self.quaternion[...,1:2],shape).reshape(shape+(1,)), - np.broadcast_to(self.quaternion[...,2:3],shape).reshape(shape+(1,)), - np.broadcast_to(self.quaternion[...,3:4],shape).reshape(shape+(1,))]) + N = np.prod(shape)//np.prod(self.shape,dtype=int) + + q = np.block([np.repeat(self.quaternion[...,0:1],N).reshape(shape+(1,)), + np.repeat(self.quaternion[...,1:2],N).reshape(shape+(1,)), + np.repeat(self.quaternion[...,2:3],N).reshape(shape+(1,)), + np.repeat(self.quaternion[...,3:4],N).reshape(shape+(1,))]) return self.__class__(q) @@ -248,7 +247,7 @@ class Rotation: """ ro = Rotation._qu2ro(self.quaternion) - return ro[...,:3]*ro[...,3] if vector else ro + return ro[...,:3]*ro[...,3:] if vector else ro def as_homochoric(self): """Homochoric vector: (h_1, h_2, h_3).""" From 1648963b5782d0de380cdfca24581dee9fedae4b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 18 Jun 2020 22:53:04 +0200 Subject: [PATCH 220/958] vectorized equivalent orientation calculation --- python/damask/_lattice.py | 4 ++-- python/damask/_orientation.py | 33 ++++++++++++++++++--------------- python/damask/_rotation.py | 15 ++++++++++----- python/tests/test_ori_vec.py | 34 ++++++++++++---------------------- 4 files changed, 42 insertions(+), 44 deletions(-) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index 09eadee5a..9769933ef 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -159,7 +159,7 @@ class Symmetry: @property def symmetry_operations(self): - """List (or single element) of symmetry operations as rotations.""" + """Symmetry operations as Rotations.""" if self.lattice == 'cubic': symQuats = [ [ 1.0, 0.0, 0.0, 0.0 ], @@ -236,7 +236,7 @@ class Symmetry: if (len(rodrigues) != 3): raise ValueError('Input is not a Rodrigues-Frank vector.\n') - if np.any(rodrigues == np.inf): return False + if np.any(rodrigues == np.inf): return False # ToDo: MD: not sure if needed Rabs = abs(rodrigues) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 10d33a76c..287e84ff1 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -3,7 +3,7 @@ import numpy as np from . import Lattice from . import Rotation -class Orientation: +class Orientation: # make subclass or Rotation? """ Crystallographic orientation. @@ -39,8 +39,6 @@ class Orientation: else: self.rotation = Rotation.from_quaternion(rotation) # assume quaternion -# if self.rotation.quaternion.shape != (4,): -# raise NotImplementedError('Support for multiple rotations missing') def disorientation(self, other, @@ -94,20 +92,25 @@ class Orientation: Rotation._qu2ro(self.rotation.as_quaternion())[l][...,:3]\ *Rotation._qu2ro(self.rotation.as_quaternion())[l][...,3])\ for l in range(self.rotation.shape[0])] - + def inFZ(self): return self.lattice.symmetry.inFZ(self.rotation.as_Rodrigues(vector=True)) - def equivalent_vec(self): - """List of orientations which are symmetrically equivalent.""" - if not self.rotation.shape: - return [self.__class__(q*self.rotation,self.lattice) \ - for q in self.lattice.symmetry.symmetryOperations()] - else: - return np.reshape([self.__class__(q*Rotation.from_quaternion(self.rotation.as_quaternion()[l]),self.lattice) \ - for q in self.lattice.symmetry.symmetryOperations() \ - for l in range(self.rotation.shape[0])], \ - (len(self.lattice.symmetry.symmetryOperations()),self.rotation.shape[0])) + @property + def equivalent(self): + """ + Return orientations which are symmetrically equivalent. + + One dimension (length according to symmetrically equivalent orientations) + is added to the left of the rotation array. + + """ + symmetry_operations = self.lattice.symmetry.symmetry_operations + + q = np.block([self.rotation.quaternion]*symmetry_operations.shape[0]) + r = Rotation(q.reshape(symmetry_operations.shape+self.rotation.quaternion.shape)) + + return self.__class__(symmetry_operations.broadcast_to(r.shape)@r,self.lattice) def equivalentOrientations(self,members=[]): @@ -130,7 +133,7 @@ class Orientation: [self.__class__(o*Rotation.from_quaternion(self.rotation.as_quaternion()[l])\ ,r['lattice']) for o in r['rotations'] for l in range(self.rotation.shape[0])] ,(len(r['rotations']),self.rotation.shape[0])) - + def relatedOrientations(self,model): """List of orientations related by the given orientation relationship.""" diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 0d92e19e9..9a0266871 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -129,6 +129,7 @@ class Rotation: self.quaternion[...,1:] *= -1 return self + #@property def inversed(self): """Inverse rotation/backward rotation.""" return self.copy().inverse() @@ -139,6 +140,7 @@ class Rotation: self.quaternion[self.quaternion[...,0] < 0.0] *= -1 return self + #@property def standardized(self): """Quaternion representation with positive real part.""" return self.copy().standardize() @@ -154,11 +156,12 @@ class Rotation: Rotation to which the misorientation is computed. """ - return other*self.inversed() + return other@self.inversed() def broadcast_to(self,shape): - if isinstance(shape,int): shape = (shape,) + if isinstance(shape,int): + shape = (shape,) N = np.prod(shape)//np.prod(self.shape,dtype=int) q = np.block([np.repeat(self.quaternion[...,0:1],N).reshape(shape+(1,)), @@ -257,6 +260,7 @@ class Rotation: """Cubochoric vector: (c_1, c_2, c_3).""" return Rotation._qu2cu(self.quaternion) + @property def M(self): # ToDo not sure about the name: as_M or M? we do not have a from_M """ Intermediate representation supporting quaternion averaging. @@ -435,8 +439,8 @@ class Rotation: weights = np.ones(N,dtype='i') for i,(r,n) in enumerate(zip(rotations,weights)): - M = r.M() * n if i == 0 \ - else M + r.M() * n # noqa add (multiples) of this rotation to average noqa + M = r.M * n if i == 0 \ + else M + r.M * n # noqa add (multiples) of this rotation to average noqa eig, vec = np.linalg.eig(M/N) return Rotation.from_quaternion(np.real(vec.T[eig.argmax()]),accept_homomorph = True) @@ -461,7 +465,8 @@ class Rotation: # for compatibility (old names do not follow convention) - asM = M + def asM(self): + return self.M fromQuaternion = from_quaternion fromEulers = from_Eulers asAxisAngle = as_axis_angle diff --git a/python/tests/test_ori_vec.py b/python/tests/test_ori_vec.py index f55dc6d03..a13ad3a03 100644 --- a/python/tests/test_ori_vec.py +++ b/python/tests/test_ori_vec.py @@ -10,18 +10,19 @@ rot1= Rotation.from_random() rot2= Rotation.from_random() rot3= Rotation.from_random() -class TestOrientation_vec: +class TestOrientation_vec: + @pytest.mark.xfail @pytest.mark.parametrize('lattice',Lattice.lattices) def test_equivalentOrientations_vec(self,lattice): ori0=Orientation(rot0,lattice) ori1=Orientation(rot1,lattice) ori2=Orientation(rot2,lattice) ori3=Orientation(rot3,lattice) - + quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),rot2.as_quaternion(),rot3.as_quaternion()]) rot_vec=Rotation.from_quaternion(quat) ori_vec=Orientation(rot_vec,lattice) - + for s in range(len(ori_vec.lattice.symmetry.symmetryOperations())): assert all(ori_vec.equivalent_vec()[s,0].rotation.as_Eulers() == \ ori0.equivalentOrientations()[s].rotation.as_Eulers()) @@ -31,7 +32,7 @@ class TestOrientation_vec: ori2.equivalentOrientations()[s].rotation.as_Rodrigues()) assert all(ori_vec.equivalent_vec()[s,3].rotation.as_cubochoric() == \ ori3.equivalentOrientations()[s].rotation.as_cubochoric()) - + @pytest.mark.parametrize('lattice',Lattice.lattices) def test_inFZ_vec(self,lattice): ori0=Orientation(rot0,lattice) @@ -41,19 +42,19 @@ class TestOrientation_vec: #ensure 1 of them is in FZ ori4=ori0.reduced() rot4=ori4.rotation - + quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),\ rot2.as_quaternion(),rot3.as_quaternion(), rot4.as_quaternion()]) rot_vec=Rotation.from_quaternion(quat) ori_vec=Orientation(rot_vec,lattice) - + assert ori_vec.inFZ_vec()[0] == ori0.inFZ() assert ori_vec.inFZ_vec()[1] == ori1.inFZ() assert ori_vec.inFZ_vec()[2] == ori2.inFZ() assert ori_vec.inFZ_vec()[3] == ori3.inFZ() assert ori_vec.inFZ_vec()[4] == ori4.inFZ() - - + + @pytest.mark.parametrize('model',['Bain','KS','GT','GT_prime','NW','Pitsch']) @pytest.mark.parametrize('lattice',['fcc','bcc']) def test_relatedOrientations_vec(self,model,lattice): @@ -61,11 +62,11 @@ class TestOrientation_vec: ori1=Orientation(rot1,lattice) ori2=Orientation(rot2,lattice) ori3=Orientation(rot3,lattice) - + quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),rot2.as_quaternion(),rot3.as_quaternion()]) rot_vec=Rotation.from_quaternion(quat) ori_vec=Orientation(rot_vec,lattice) - + for s in range(len(ori1.lattice.relationOperations(model)['rotations'])): assert all(ori_vec.relatedOrientations_vec(model)[s,0].rotation.as_Eulers() == \ ori0.relatedOrientations(model)[s].rotation.as_Eulers()) @@ -75,15 +76,4 @@ class TestOrientation_vec: ori2.relatedOrientations(model)[s].rotation.as_Rodrigues()) assert all(ori_vec.relatedOrientations_vec(model)[s,3].rotation.as_cubochoric() == \ ori3.relatedOrientations(model)[s].rotation.as_cubochoric()) - - - - - - - - - - - - \ No newline at end of file + From 853f73400eff5aeca8aa303252b6d9779c1ab433 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 19 Jun 2020 01:05:44 +0200 Subject: [PATCH 221/958] tried to access root pointer before initialization --- src/DAMASK_marc.f90 | 21 +++++++++++++-------- src/debug.f90 | 7 ------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index 09c4eef43..7789fc58c 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -176,6 +176,7 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & use prec use DAMASK_interface use numerics + use YAML_types use FEsolving use debug use discretization_marc @@ -253,8 +254,19 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & lastIncConverged = .false., & !< needs description outdatedByNewInc = .false., & !< needs description CPFEM_init_done = .false. !< remember whether init has been done already + class(tNode), pointer :: & + debug_Marc - if(debug_marc_basic) then + defaultNumThreadsInt = omp_get_num_threads() ! remember number of threads set by Marc + call omp_set_num_threads(1) ! no openMP + + if (.not. CPFEM_init_done) then + CPFEM_init_done = .true. + call CPFEM_initAll + endif + + debug_Marc => debug_root%get('marc',defaultVal=emptyList) + if(debug_Marc%contains('basic')) then write(6,'(a,/,i8,i8,i2)') ' MSC.MARC information on shape of element(2), IP:', m, nn write(6,'(a,2(i1))') ' Jacobian: ', ngens,ngens write(6,'(a,i1)') ' Direct stress: ', ndi @@ -269,13 +281,6 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & transpose(ffn1) endif - defaultNumThreadsInt = omp_get_num_threads() ! remember number of threads set by Marc - call omp_set_num_threads(1) ! no openMP - - if (.not. CPFEM_init_done) then - CPFEM_init_done = .true. - call CPFEM_initAll - endif computationMode = 0 ! save initialization value, since it does not result in any calculation if (lovl == 4 ) then ! jacobian requested by marc diff --git a/src/debug.f90 b/src/debug.f90 index f83c80967..32fc8433a 100644 --- a/src/debug.f90 +++ b/src/debug.f90 @@ -17,9 +17,6 @@ module debug class(tNode), pointer, public :: & debug_root - logical, public :: & - debug_marc_basic = .false. - public :: debug_init contains @@ -33,8 +30,6 @@ subroutine debug_init character(len=:), allocatable :: & debug_input, & debug_inFlow - class(tNode), pointer :: & - debug_Marc logical :: fexist write(6,'(/,a)') ' <<<+- debug init -+>>>' @@ -48,8 +43,6 @@ subroutine debug_init debug_input = IO_read('debug.yaml') debug_inFlow = to_flow(debug_input) debug_root => parse_flow(debug_inFlow,defaultVal=emptyDict) - debug_Marc => debug_root%get('marc',defaultVal=emptyList) - debug_marc_basic = debug_Marc%contains('basic') endif fileExists end subroutine debug_init From 7c4afe06c9cfe9db116d0ab75b949a50b44202a3 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 19 Jun 2020 02:32:33 +0200 Subject: [PATCH 222/958] less generic variables --- PRIVATE | 2 +- src/grid/DAMASK_grid.f90 | 11 ++++----- src/grid/grid_damage_spectral.f90 | 12 +++++----- src/grid/grid_mech_FEM.f90 | 22 ++++++++---------- src/grid/grid_mech_spectral_basic.f90 | 24 ++++++++------------ src/grid/grid_mech_spectral_polarisation.f90 | 24 +++++++------------- src/grid/grid_thermal_spectral.f90 | 12 +++++----- src/grid/spectral_utilities.f90 | 9 +++----- src/mesh/DAMASK_mesh.f90 | 8 +++---- src/mesh/FEM_utilities.f90 | 7 ++---- src/mesh/mesh_mech_FEM.f90 | 13 +++++------ 11 files changed, 60 insertions(+), 84 deletions(-) diff --git a/PRIVATE b/PRIVATE index 6f818e871..f391a36c2 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 6f818e871d6415fa4ebe2a5781920bad614d02e8 +Subproject commit f391a36c2e829f2cb4db2297271941168f7fd7d8 diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index c2ac2ea58..e151222c2 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -92,8 +92,7 @@ program DAMASK_grid external :: & quit class (tNode), pointer :: & - num_grid, & - num_generic + num_grid !-------------------------------------------------------------------------------------------------- ! init DAMASK (all modules) @@ -114,9 +113,9 @@ program DAMASK_grid !------------------------------------------------------------------------------------------------- ! reading field paramters from numerics file and do sanity checks - num_generic => numerics_root%get('generic', defaultVal=emptyDict) - stagItMax = num_generic%get_asInt('maxStaggeredIter',defaultVal=10) - maxCutBack = num_generic%get_asInt('maxCutBack',defaultVal=3) + num_grid => numerics_root%get('grid', defaultVal=emptyDict) + stagItMax = num_grid%get_asInt('maxStaggeredIter',defaultVal=10) + maxCutBack = num_grid%get_asInt('maxCutBack',defaultVal=3) if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') @@ -124,8 +123,6 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! assign mechanics solver depending on selected type - num_grid => numerics_root%get('grid',defaultVal=emptyDict) - select case (trim(num_grid%get_asString('solver', defaultVal = 'Basic'))) case ('Basic') mech_init => grid_mech_spectral_basic_init diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index ffc3b4cc2..659b111a3 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -61,7 +61,7 @@ subroutine grid_damage_spectral_init Vec :: uBound, lBound PetscErrorCode :: ierr class(tNode), pointer :: & - num_generic + num_grid character(len=pStringLen) :: & snes_type, & petsc_options @@ -73,8 +73,8 @@ subroutine grid_damage_spectral_init !------------------------------------------------------------------------------------------------- ! read numerical parameter - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - petsc_options = num_generic%get_asString('petsc_options',defaultVal='') + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + petsc_options = num_grid%get_asString('petsc_options',defaultVal='') !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc @@ -150,7 +150,7 @@ function grid_damage_spectral_solution(timeinc,timeinc_old) result(solution) itmax !< maximum number of iterations type(tSolutionState) :: solution class(tNode), pointer :: & - num_generic + num_grid PetscInt :: devNull PetscReal :: phi_min, phi_max, stagNorm, solnNorm @@ -159,8 +159,8 @@ function grid_damage_spectral_solution(timeinc,timeinc_old) result(solution) !------------------------------------------------------------------- ! reading numerical parameter and do sanity check - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - itmax = num_generic%get_asInt('itmax',defaultVal=250) + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + itmax = num_grid%get_asInt('itmax',defaultVal=250) if (itmax <= 1) call IO_error(301,ext_msg='itmax') solution%converged =.false. diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 03709040f..bdd76b423 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -100,7 +100,7 @@ subroutine grid_mech_FEM_init fileName, & petsc_options class(tNode), pointer :: & - num_generic + num_grid real(pReal), dimension(3,3,3,3) :: devNull PetscScalar, pointer, dimension(:,:,:,:) :: & u_current,u_lastInc @@ -109,8 +109,8 @@ subroutine grid_mech_FEM_init !------------------------------------------------------------------------------------------------- ! read numerical parameter - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - petsc_options = num_generic%get_asString('petsc_options',defaultVal='') + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + petsc_options = num_grid%get_asString('petsc_options',defaultVal='') !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc @@ -431,8 +431,7 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,fnorm,reason,dummy,i eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC eps_stress_rtol !< relative tolerance for fullfillment of stress BC class(tNode), pointer :: & - num_grid, & - num_generic + num_grid !----------------------------------------------------------------------------------- ! reading numerical parameters and do sanity check @@ -442,9 +441,8 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,fnorm,reason,dummy,i eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=0.01_pReal) - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - itmin = num_generic%get_asInt('itmin',defaultVal=1) - itmax = num_generic%get_asInt('itmax',defaultVal=250) + itmin = num_grid%get_asInt('itmin',defaultVal=1) + itmax = num_grid%get_asInt('itmax',defaultVal=250) if (eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') if (eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') @@ -505,13 +503,13 @@ subroutine formResidual(da_local,x_local, & itmin, & itmax class(tNode), pointer :: & - num_generic + num_grid !---------------------------------------------------------------------- ! read numerical paramteters and do sanity checks - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - itmin = num_generic%get_asInt('itmin',defaultVal=1) - itmax = num_generic%get_asInt('itmax',defaultVal=250) + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + itmin = num_grid%get_asInt('itmin',defaultVal=1) + itmax = num_grid%get_asInt('itmax',defaultVal=250) if (itmax <= 1) call IO_error(301,ext_msg='itmax') if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index e754b0d64..61ac18779 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -89,8 +89,7 @@ subroutine grid_mech_spectral_basic_init real(pReal), dimension(3,3) :: & temp33_Real = 0.0_pReal class (tNode), pointer :: & - num_grid, & - num_generic + num_grid PetscErrorCode :: ierr PetscScalar, pointer, dimension(:,:,:,:) :: & @@ -112,10 +111,8 @@ subroutine grid_mech_spectral_basic_init !------------------------------------------------------------------------------------------------- ! read numerical parameters - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - petsc_options = num_generic%get_asString('petsc_options',defaultVal='') - num_grid => numerics_root%get('grid',defaultVal=emptyDict) + petsc_options = num_grid%get_asString('petsc_options',defaultVal='') num%update_gamma = num_grid%get_asBool('update_gamma',defaultVal=.false.) !-------------------------------------------------------------------------------------------------- @@ -403,8 +400,8 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC eps_stress_rtol !< relative tolerance for fullfillment of stress BC class(tNode), pointer :: & - num_grid, & - num_generic + num_grid + !----------------------------------------------------------------------------------- ! reading numerical parameters and do sanity check num_grid => numerics_root%get('grid',defaultVal=emptyDict) @@ -413,9 +410,8 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=0.01_pReal) - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - itmin = num_generic%get_asInt('itmin',defaultVal=1) - itmax = num_generic%get_asInt('itmax',defaultVal=250) + itmin = num_grid%get_asInt('itmin',defaultVal=1) + itmax = num_grid%get_asInt('itmax',defaultVal=250) if (eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') if (eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') @@ -474,13 +470,13 @@ subroutine formResidual(in, F, & itmin, & itmax class(tNode), pointer :: & - num_generic + num_grid !---------------------------------------------------------------------- ! read numerical paramteter and do sanity checks - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - itmin = num_generic%get_asInt('itmin',defaultVal=1) - itmax = num_generic%get_asInt('itmax',defaultVal=250) + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + itmin = num_grid%get_asInt('itmin',defaultVal=1) + itmax = num_grid%get_asInt('itmax',defaultVal=250) if (itmax <= 1) call IO_error(301,ext_msg='itmax') if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 33b84c340..a32216615 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -96,8 +96,7 @@ subroutine grid_mech_spectral_polarisation_init real(pReal), dimension(3,3) :: & temp33_Real = 0.0_pReal class (tNode), pointer :: & - num_grid, & - num_generic + num_grid PetscErrorCode :: ierr PetscScalar, pointer, dimension(:,:,:,:) :: & @@ -118,10 +117,8 @@ subroutine grid_mech_spectral_polarisation_init !------------------------------------------------------------------------------------------------- ! read numerical parameters - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - petsc_options = num_generic%get_asString('petsc_options',defaultVal='') - num_grid => numerics_root%get('grid',defaultVal=emptyDict) + petsc_options = num_grid%get_asString('petsc_options',defaultVal='') num%update_gamma = num_grid%get_asBool('update_gamma',defaultVal=.false.) !-------------------------------------------------------------------------------------------------- @@ -453,8 +450,7 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC eps_stress_rtol !< relative tolerance for fullfillment of stress BC class(tNode), pointer :: & - num_grid, & - num_generic + num_grid !----------------------------------------------------------------------------------- ! reading numerical parameters and do sanity check @@ -466,9 +462,8 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=0.01_pReal) - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - itmin = num_generic%get_asInt('itmin',defaultVal=1) - itmax = num_generic%get_asInt('itmax',defaultVal=250) + itmin = num_grid%get_asInt('itmin',defaultVal=1) + itmax = num_grid%get_asInt('itmax',defaultVal=250) if (eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') if (eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') @@ -533,8 +528,7 @@ subroutine formResidual(in, FandF_tau, & PetscObject :: dummy PetscErrorCode :: ierr class(tNode), pointer :: & - num_grid, & - num_generic + num_grid real(pReal) :: & polarAlpha, & !< polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme polarBeta !< polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme @@ -547,10 +541,8 @@ subroutine formResidual(in, FandF_tau, & num_grid => numerics_root%get('grid',defaultVal = emptyDict) polarAlpha = num_grid%get_asFloat('polaralpha',defaultVal=1.0_pReal) polarBeta = num_grid%get_asFloat('polarbeta', defaultVal=1.0_pReal) - - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - itmin = num_generic%get_asInt('itmin',defaultVal=1) - itmax = num_generic%get_asInt('itmax',defaultVal=250) + itmin = num_grid%get_asInt('itmin',defaultVal=1) + itmax = num_grid%get_asInt('itmax',defaultVal=250) if (itmax <= 1) call IO_error(301,ext_msg='itmax') if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index 418330411..ee64566a6 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -63,7 +63,7 @@ subroutine grid_thermal_spectral_init PetscScalar, dimension(:,:,:), pointer :: x_scal PetscErrorCode :: ierr class(tNode), pointer :: & - num_generic + num_grid character(len=pStringLen) :: & petsc_options @@ -74,8 +74,8 @@ subroutine grid_thermal_spectral_init !------------------------------------------------------------------------------------------------- ! read numerical parameter - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - petsc_options = num_generic%get_asString('petsc_options',defaultVal='') + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + petsc_options = num_grid%get_asString('petsc_options',defaultVal='') !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc @@ -147,7 +147,7 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) itmax !< maximum number of iterations type(tSolutionState) :: solution class(tNode), pointer :: & - num_generic + num_grid PetscInt :: devNull PetscReal :: T_min, T_max, stagNorm, solnNorm @@ -156,8 +156,8 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) !------------------------------------------------------------------- ! reading numerical parameter and do sanity check - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - itmax = num_generic%get_asInt('itmax',defaultVal=250) + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + itmax = num_grid%get_asInt('itmax',defaultVal=250) if (itmax <= 1) call IO_error(301,ext_msg='itmax') solution%converged =.false. diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index d8e922343..f09759009 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -192,8 +192,7 @@ subroutine spectral_utilities_init character(len=pStringLen) :: & petsc_options class (tNode) , pointer :: & - num_grid, & - num_generic + num_grid write(6,'(/,a)') ' <<<+- spectral_utilities init -+>>>' @@ -220,8 +219,8 @@ subroutine spectral_utilities_init trim(PETScDebug), & ' add more using the PETSc_Options keyword in numerics.config '; flush(6) - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - petsc_options = num_generic%get_asString('petsc_options',defaultVal='') + num_grid => numerics_root%get('grid',defaultVal=emptyDict) + petsc_options = num_grid%get_asString('petsc_options',defaultVal='') call PETScOptionsClear(PETSC_NULL_OPTIONS,ierr) CHKERRQ(ierr) @@ -236,8 +235,6 @@ subroutine spectral_utilities_init write(6,'(/,a,3(i12 ))') ' grid a b c: ', grid write(6,'(a,3(es12.5))') ' size x y z: ', geomSize - num_grid => numerics_root%get('grid',defaultVal=emptyDict) - num%memory_efficient = num_grid%get_asInt ('memory_efficient', defaultVal=1) > 0 num%FFTW_timelimit = num_grid%get_asFloat ('fftw_timelimit', defaultVal=-1.0_pReal) num%divergence_correction = num_grid%get_asInt ('divergence_correction', defaultVal=2) diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index 0e4a02cf2..72fa53566 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -60,7 +60,7 @@ program DAMASK_mesh stagItMax, & !< max number of field level staggered iterations component class(tNode), pointer :: & - num_generic + num_mesh character(len=pStringLen), dimension(:), allocatable :: fileContent character(len=pStringLen) :: & incInfo, & @@ -80,9 +80,9 @@ program DAMASK_mesh !--------------------------------------------------------------------- ! reading field information from numerics file and do sanity checks - num_generic => numerics_root%get('generic', defaultVal=emptyDict) - stagItMax = num_generic%get_asInt('maxStaggeredIter',defaultVal=10) - maxCutBack = num_generic%get_asInt('maxCutBack',defaultVal=3) + num_mesh => numerics_root%get('mesh', defaultVal=emptyDict) + stagItMax = num_mesh%get_asInt('maxStaggeredIter',defaultVal=10) + maxCutBack = num_mesh%get_asInt('maxCutBack',defaultVal=3) if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index f7e00f42c..a8479913e 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -103,8 +103,7 @@ subroutine FEM_utilities_init character(len=pStringLen) :: petsc_optionsOrder class(tNode), pointer :: & - num_mesh, & - num_generic + num_mesh integer :: structOrder !< order of displacement shape functions character(len=pStringLen) :: & petsc_options @@ -114,9 +113,7 @@ subroutine FEM_utilities_init num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) structOrder = num_mesh%get_asInt('structOrder',defaultVal = 2) - - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - petsc_options = num_generic%get_asString('petsc_options', defaultVal='') + petsc_options = num_mesh%get_asString('petsc_options', defaultVal='') !-------------------------------------------------------------------------------------------------- ! set debugging parameters diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index a094a4d38..715b02c0d 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -96,8 +96,7 @@ subroutine FEM_mech_init(fieldBC) PetscErrorCode :: ierr class(tNode), pointer :: & - num_mesh, & - num_generic + num_mesh integer :: & integrationOrder, & !< order of quadrature rule required itmax @@ -109,8 +108,8 @@ subroutine FEM_mech_init(fieldBC) num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) integrationOrder = num_mesh%get_asInt('integrationorder',defaultVal = 2) - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - itmax = num_generic%get_asInt('itmax',defaultVal=250) + num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + itmax = num_mesh%get_asInt('itmax',defaultVal=250) if (itmax <= 1) call IO_error(301,ext_msg='itmax') !-------------------------------------------------------------------------------------------------- @@ -286,15 +285,15 @@ type(tSolutionState) function FEM_mech_solution( & integer :: & itmax class(tNode), pointer :: & - num_generic + num_mesh PetscErrorCode :: ierr SNESConvergedReason :: reason !-------------------------------------------------------------------------------------------------- ! read numerical parameter and do sanity check - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - itmax = num_generic%get_asInt('itmax',defaultVal=250) + num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + itmax = num_mesh%get_asInt('itmax',defaultVal=250) if (itmax <= 1) call IO_error(301,ext_msg='itmax') !------------------------------------------------------------------------------------------------- From 13bf7515cecd957d088b57ea878dbd02d9fbc639 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 19 Jun 2020 10:54:13 +0200 Subject: [PATCH 223/958] WIP (broken?): vectorized calculation of IPF color --- python/damask/_lattice.py | 89 ++++++++++++++++++++++++++++++++++- python/damask/_orientation.py | 10 ++++ 2 files changed, 97 insertions(+), 2 deletions(-) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index 9769933ef..8582c8d34 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -374,8 +374,93 @@ class Symmetry: else: return inSST -# code derived from https://github.com/ezag/pyeuclid -# suggested reading: http://web.mit.edu/2.998/www/QuaternionReport1.pdf + + def in_SST(self, + vector, + proper = False, + color = False): + """ + Check whether given vector falls into standard stereographic triangle of own symmetry. + + proper considers only vectors with z >= 0, hence uses two neighboring SSTs. + Return inverse pole figure color if requested. + Bases are computed from + + >>> basis = {'cubic' : np.linalg.inv(np.array([[0.,0.,1.], # direction of red + ... [1.,0.,1.]/np.sqrt(2.), # direction of green + ... [1.,1.,1.]/np.sqrt(3.)]).T), # direction of blue + ... 'hexagonal' : np.linalg.inv(np.array([[0.,0.,1.], # direction of red + ... [1.,0.,0.], # direction of green + ... [np.sqrt(3.),1.,0.]/np.sqrt(4.)]).T), # direction of blue + ... 'tetragonal' : np.linalg.inv(np.array([[0.,0.,1.], # direction of red + ... [1.,0.,0.], # direction of green + ... [1.,1.,0.]/np.sqrt(2.)]).T), # direction of blue + ... 'orthorhombic': np.linalg.inv(np.array([[0.,0.,1.], # direction of red + ... [1.,0.,0.], # direction of green + ... [0.,1.,0.]]).T), # direction of blue + ... } + + """ + if self.lattice == 'cubic': + basis = {'improper':np.array([ [-1. , 0. , 1. ], + [ np.sqrt(2.) , -np.sqrt(2.) , 0. ], + [ 0. , np.sqrt(3.) , 0. ] ]), + 'proper':np.array([ [ 0. , -1. , 1. ], + [-np.sqrt(2.) , np.sqrt(2.) , 0. ], + [ np.sqrt(3.) , 0. , 0. ] ]), + } + elif self.lattice == 'hexagonal': + basis = {'improper':np.array([ [ 0. , 0. , 1. ], + [ 1. , -np.sqrt(3.) , 0. ], + [ 0. , 2. , 0. ] ]), + 'proper':np.array([ [ 0. , 0. , 1. ], + [-1. , np.sqrt(3.) , 0. ], + [ np.sqrt(3.) , -1. , 0. ] ]), + } + elif self.lattice == 'tetragonal': + basis = {'improper':np.array([ [ 0. , 0. , 1. ], + [ 1. , -1. , 0. ], + [ 0. , np.sqrt(2.) , 0. ] ]), + 'proper':np.array([ [ 0. , 0. , 1. ], + [-1. , 1. , 0. ], + [ np.sqrt(2.) , 0. , 0. ] ]), + } + elif self.lattice == 'orthorhombic': + basis = {'improper':np.array([ [ 0., 0., 1.], + [ 1., 0., 0.], + [ 0., 1., 0.] ]), + 'proper':np.array([ [ 0., 0., 1.], + [-1., 0., 0.], + [ 0., 1., 0.] ]), + } + else: # direct exit for unspecified symmetry + if color: + return (np.ones_like(vector[...,0],bool),np.zeros_like(vector)) + else: + return np.ones_like(vector[...,0],bool) + + b_p = np.broadcast_to(basis['proper'], vector.shape+(3,)) + if proper: + b_i = np.broadcast_to(basis['improper'],vector.shape+(3,)) + improper = np.all(np.around(np.einsum('...ji,...i',b_i,vector),12)>=0.0,axis=-1,keepdims=True) + theComponents = np.where(np.broadcast_to(improper,vector.shape), + np.around(np.einsum('...ji,...i',b_i,vector),12), + np.around(np.einsum('...ji,...i',b_p,vector),12)) + else: + vector_ = np.block([vector[...,0:2],np.abs(vector[...,2:3])]) # z component projects identical + theComponents = np.around(np.einsum('...ji,...i',b_p,vector_),12) + + in_SST = np.all(theComponents >= 0.0,axis=-1) + + if color: # have to return color array + with np.errstate(invalid='ignore',divide='ignore'): + rgb = (theComponents/np.linalg.norm(theComponents,axis=-1,keepdims=True))**0.5 # smoothen color ramps + rgb = np.minimum(1.,rgb) # limit to maximum intensity + rgb /= np.max(rgb,axis=-1,keepdims=True) # normalize to (HS)V = 1 + rgb[np.invert(np.broadcast_to(in_SST.reshape(vector[...,0].shape+(1,)),vector.shape))] = 0.0 + return (in_SST,rgb) + else: + return in_SST # ****************************************************************************************** diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 287e84ff1..794bf9900 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -176,6 +176,16 @@ class Orientation: # make subclass or Rotation? return color + def IPF_color(self,axis): + """TSL color of inverse pole figure for given axis.""" + color = np.zeros(self.rotation.shape) + eq = self.equivalent + pole = eq.rotation @ np.broadcast_to(axis,eq.rotation.shape+(3,)) + in_SST, color = self.lattice.symmetry.in_SST(pole,color=True) + + return color[in_SST] + + @staticmethod def fromAverage(orientations, weights = []): From 055fa64f5f0270feb4f41e4384586b6a70928f57 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 19 Jun 2020 12:25:46 +0200 Subject: [PATCH 224/958] better readable --- python/damask/_rotation.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index b1b1cd5ad..7e9a03c3a 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -530,7 +530,7 @@ class Rotation: np.zeros(qu.shape[:-1]+(2,))]), np.where(np.abs(q03_s) < 1.0e-8, np.block([np.arctan2( 2.0*qu[...,1:2]*qu[...,2:3],qu[...,1:2]**2-qu[...,2:3]**2), - np.broadcast_to(np.pi,qu.shape[:-1]+(1,)), + np.broadcast_to(np.pi,qu[...,0:1].shape), np.zeros(qu.shape[:-1]+(1,))]), np.block([np.arctan2((-_P*q02+q13)*chi, (-_P*q01-q23)*chi), np.arctan2( 2.0*chi, q03_s-q12_s ), @@ -553,7 +553,7 @@ class Rotation: s = np.sign(qu[...,0:1])/np.sqrt(qu[...,1:2]**2+qu[...,2:3]**2+qu[...,3:4]**2) omega = 2.0 * np.arccos(np.clip(qu[...,0:1],-1.0,1.0)) ax = np.where(np.broadcast_to(qu[...,0:1] < 1.0e-8,qu.shape), - np.block([qu[...,1:4],np.broadcast_to(np.pi,qu.shape[:-1]+(1,))]), + np.block([qu[...,1:4],np.broadcast_to(np.pi,qu[...,0:1].shape)]), np.block([qu[...,1:4]*s,omega])) ax[np.isclose(qu[...,0],1.,rtol=0.0)] = [0.0, 0.0, 1.0, 0.0] return ax @@ -564,7 +564,7 @@ class Rotation: with np.errstate(invalid='ignore',divide='ignore'): s = np.linalg.norm(qu[...,1:4],axis=-1,keepdims=True) ro = np.where(np.broadcast_to(np.abs(qu[...,0:1]) < 1.0e-12,qu.shape), - np.block([qu[...,1:2], qu[...,2:3], qu[...,3:4], np.broadcast_to(np.inf,qu.shape[:-1]+(1,))]), + np.block([qu[...,1:2], qu[...,2:3], qu[...,3:4], np.broadcast_to(np.inf,qu[...,0:1].shape)]), np.block([qu[...,1:2]/s,qu[...,2:3]/s,qu[...,3:4]/s, np.tan(np.arccos(np.clip(qu[...,0:1],-1.0,1.0))) ]) From d93ed2bc5c9dfa4a48c4539c74d4dee48087c6db Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 20 Jun 2020 12:20:43 +0200 Subject: [PATCH 225/958] several improvements: - vectorized from_directions - more tests (96% coverage, only random functionality is untested) - updated documentation, folloing numpy standard - inverse operator '~' introduced --- python/damask/_rotation.py | 293 ++++++++++++++++++++++++++-------- python/tests/test_Rotation.py | 41 ++++- 2 files changed, 263 insertions(+), 71 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 7e9a03c3a..a33b4bc51 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -20,8 +20,8 @@ class Rotation: when viewing from the end point of the rotation axis towards the origin. - rotations will be interpreted in the passive sense. - Euler angle triplets are implemented using the Bunge convention, - with the angular ranges as [0, 2π],[0, π],[0, 2π]. - - the rotation angle ω is limited to the interval [0, π]. + with the angular ranges as [0,2π], [0,π], [0,2π]. + - the rotation angle ω is limited to the interval [0,π]. - the real part of a quaternion is positive, Re(q) > 0 - P = -1 (as default). @@ -49,7 +49,8 @@ class Rotation: Parameters ---------- quaternion : numpy.ndarray, optional - Unit quaternion that follows the conventions. Use .from_quaternion to perform a sanity check. + Unit quaternion in positive real hemisphere. + Use .from_quaternion to perform a sanity check. """ self.quaternion = quaternion.copy() @@ -73,7 +74,7 @@ class Rotation: raise NotImplementedError('Support for multiple rotations missing') return '\n'.join([ 'Quaternion: (real={:.3f}, imag=<{:+.3f}, {:+.3f}, {:+.3f}>)'.format(*(self.quaternion)), - 'Matrix:\n{}'.format(self.as_matrix()), + 'Matrix:\n{}'.format(np.round(self.as_matrix(),8)), 'Bunge Eulers / deg: ({:3.2f}, {:3.2f}, {:3.2f})'.format(*self.as_Eulers(degrees=True)), ]) @@ -87,10 +88,6 @@ class Rotation: other : numpy.ndarray or Rotation Vector, second or fourth order tensor, or rotation object that is rotated. - Todo - ---- - Check rotation of 4th order tensor - """ if isinstance(other, Rotation): q_m = self.quaternion[...,0:1] @@ -99,7 +96,7 @@ class Rotation: p_o = other.quaternion[...,1:] q = (q_m*q_o - np.einsum('...i,...i',p_m,p_o).reshape(self.shape+(1,))) p = q_m*p_o + q_o*p_m + _P * np.cross(p_m,p_o) - return self.__class__(np.block([q,p])).standardize() + return self.__class__(np.block([q,p]))._standardize() elif isinstance(other,np.ndarray): if self.shape + (3,) == other.shape: @@ -124,24 +121,24 @@ class Rotation: else: raise TypeError('Cannot rotate {}'.format(type(other))) - def inverse(self): - """In-place inverse rotation/backward rotation.""" - self.quaternion[...,1:] *= -1 - return self - def inversed(self): - """Inverse rotation/backward rotation.""" - return self.copy().inverse() - - - def standardize(self): - """In-place quaternion representation with positive real part.""" + def _standardize(self): + """Standardize (ensure positive real hemisphere).""" self.quaternion[self.quaternion[...,0] < 0.0] *= -1 return self - def standardized(self): - """Quaternion representation with positive real part.""" - return self.copy().standardize() + def inverse(self): + """In-place inverse rotation (backward rotation).""" + self.quaternion[...,1:] *= -1 + return self + + def __invert__(self): + """Inverse rotation (backward rotation).""" + return self.copy().inverse() + + def inversed(self): + """Inverse rotation (backward rotation).""" + return ~ self def misorientation(self,other): @@ -154,7 +151,7 @@ class Rotation: Rotation to which the misorientation is computed. """ - return other*self.inversed() + return other@~self def broadcast_to(self,shape): @@ -169,7 +166,7 @@ class Rotation: return self.__class__(q) - def average(self,other): + def average(self,other): #ToDo: discuss calling for vectors """ Calculate the average rotation. @@ -189,25 +186,31 @@ class Rotation: def as_quaternion(self): """ - Unit quaternion [q, p_1, p_2, p_3]. + Represent as unit quaternion. - Parameters - ---------- - quaternion : bool, optional - return quaternion as DAMASK object. + Returns + ------- + q : numpy.ndarray of shape (...,4) + Unit quaternion in positive real hemisphere: (q_0, q_1, q_2, q_3), |q|=1, q_0 ≥ 0. """ - return self.quaternion + return self.quaternion.copy() def as_Eulers(self, degrees = False): """ - Bunge-Euler angles: (φ_1, ϕ, φ_2). + Represent as Bunge-Euler angles. Parameters ---------- degrees : bool, optional - return angles in degrees. + Return angles in degrees. + + Returns + ------- + phi : numpy.ndarray of shape (...,3) + Bunge-Euler angles: (φ_1, ϕ, φ_2), φ_1 ∈ [0,2π], ϕ ∈ [0,π], φ_2 ∈ [0,2π] + unless degrees == True: φ_1 ∈ [0,360], ϕ ∈ [0,180], φ_2 ∈ [0,360] """ eu = Rotation._qu2eu(self.quaternion) @@ -218,14 +221,21 @@ class Rotation: degrees = False, pair = False): """ - Axis angle representation [n_1, n_2, n_3, ω] unless pair == True: ([n_1, n_2, n_3], ω). + Represent as axis angle pair. Parameters ---------- degrees : bool, optional - return rotation angle in degrees. + Return rotation angle in degrees. Defaults to False. pair : bool, optional - return tuple of axis and angle. + Return tuple of axis and angle. Defaults to False. + + Returns + ------- + axis_angle : numpy.ndarray of shape (...,4) unless pair == True: + tuple containing numpy.ndarray of shapes (...,3) and (...) + Axis angle pair: (n_1, n_2, n_3, ω), |n| = 1 and ω ∈ [0,π] + unless degrees = True: ω ∈ [0,180]. """ ax = Rotation._qu2ax(self.quaternion) @@ -233,29 +243,60 @@ class Rotation: return (ax[...,:3],ax[...,3]) if pair else ax def as_matrix(self): - """Rotation matrix.""" + """ + Represent as rotation matrix. + + Returns + ------- + R : numpy.ndarray of shape (...,3,3) + Rotation matrix R, det(R) = 1, R.T∙R=I. + + """ return Rotation._qu2om(self.quaternion) def as_Rodrigues(self, vector = False): """ - Rodrigues-Frank vector representation [n_1, n_2, n_3, tan(ω/2)] unless vector == True: [n_1, n_2, n_3] * tan(ω/2). + Represent as Rodrigues-Frank vector with separated axis and angle argument. Parameters ---------- vector : bool, optional - return as actual Rodrigues--Frank vector, i.e. rotation axis scaled by tan(ω/2). + Return as actual Rodrigues-Frank vector, i.e. axis + and angle argument are not separated. + + Returns + ------- + rho : numpy.ndarray of shape (...,4) unless vector == True: + numpy.ndarray of shape (...,3) + Rodrigues-Frank vector: [n_1, n_2, n_3, tan(ω/2)], |n| = 1 and ω ∈ [0,π]. """ ro = Rotation._qu2ro(self.quaternion) return ro[...,:3]*ro[...,3] if vector else ro def as_homochoric(self): - """Homochoric vector: (h_1, h_2, h_3).""" + """ + Represent as homochoric vector. + + Returns + ------- + h : numpy.ndarray of shape (...,3) + Homochoric vector: (h_1, h_2, h_3), |h| < 1/2*π^(2/3). + + """ return Rotation._qu2ho(self.quaternion) def as_cubochoric(self): - """Cubochoric vector: (c_1, c_2, c_3).""" + """ + Represent as cubocoric vector. + + Returns + ------- + c : numpy.ndarray of shape (...,3) + Cubochoric vector: (c_1, c_2, c_3), max(c_i) < 1/2*π^(2/3). + + """ return Rotation._qu2cu(self.quaternion) def M(self): # ToDo not sure about the name: as_M or M? we do not have a from_M @@ -275,18 +316,34 @@ class Rotation: # Static constructors. The input data needs to follow the conventions, options allow to # relax the conventions. @staticmethod - def from_quaternion(quaternion, + def from_quaternion(q, accept_homomorph = False, P = -1, - acceptHomomorph = None): + acceptHomomorph = None): # old name (for compatibility) + """ + Initialize from quaternion. + Parameters + ---------- + q: numpy.ndarray of shape (...,4) + Unit quaternion in positive real hemisphere: (q_0, q_1, q_2, q_3), + |q|=1, q_0 ≥ 0. + accept_homomorph: boolean, optional + Allow homomorphic variants, i.e. q_0 < 0 (negative real hemisphere). + Defaults to False. + P: integer ∈ {-1,1}, optional + Convention used. Defaults to -1. + + """ if acceptHomomorph is not None: - accept_homomorph = acceptHomomorph - qu = np.array(quaternion,dtype=float) + accept_homomorph = acceptHomomorph # for compatibility + qu = np.array(q,dtype=float) if qu.shape[:-2:-1] != (4,): raise ValueError('Invalid shape.') + if abs(P) != 1: + raise ValueError('P ∉ {-1,1}') - if P > 0: qu[...,1:4] *= -1 # convert from P=1 to P=-1 + if P == 1: qu[...,1:4] *= -1 if accept_homomorph: qu[qu[...,0] < 0.0] *= -1 else: @@ -298,10 +355,21 @@ class Rotation: return Rotation(qu) @staticmethod - def from_Eulers(eulers, + def from_Eulers(phi, degrees = False): + """ + Initialize from Bunge-Euler angles. - eu = np.array(eulers,dtype=float) + Parameters + ---------- + phi: numpy.ndarray of shape (...,3) + Bunge-Euler angles: (φ_1, ϕ, φ_2), φ_1 ∈ [0,2π], ϕ ∈ [0,π], φ_2 ∈ [0,2π] + unless degrees == True: φ_1 ∈ [0,360], ϕ ∈ [0,180], φ_2 ∈ [0,360]. + degrees: boolean, optional + Bunge-Euler angles are given in degrees. Defaults to False. + + """ + eu = np.array(phi,dtype=float) if eu.shape[:-2:-1] != (3,): raise ValueError('Invalid shape.') @@ -316,12 +384,29 @@ class Rotation: degrees = False, normalise = False, P = -1): + """ + Initialize from Axis angle pair. + Parameters + ---------- + axis_angle: numpy.ndarray of shape (...,4) + Axis angle pair: [n_1, n_2, n_3, ω], |n| = 1 and ω ∈ [0,π] + unless degrees = True: ω ∈ [0,180]. + degrees: boolean, optional + Angle ω is given in degrees. Defaults to False. + normalize: boolean, optional + Allow |n| ≠ 1. Defaults to False. + P: integer ∈ {-1,1}, optional + Convention used. Defaults to -1. + + """ ax = np.array(axis_angle,dtype=float) if ax.shape[:-2:-1] != (4,): raise ValueError('Invalid shape.') + if abs(P) != 1: + raise ValueError('P ∉ {-1,1}') - if P > 0: ax[...,0:3] *= -1 # convert from P=1 to P=-1 + if P == 1: ax[...,0:3] *= -1 if degrees: ax[..., 3] = np.radians(ax[...,3]) if normalise: ax[...,0:3] /= np.linalg.norm(ax[...,0:3],axis=-1) if np.any(ax[...,3] < 0.0) or np.any(ax[...,3] > np.pi): @@ -335,7 +420,19 @@ class Rotation: def from_basis(basis, orthonormal = True, reciprocal = False): + """ + Initialize from tbd. + Parameters + ---------- + basis: numpy.ndarray of shape (...,3,3) + tbd + orthonormal: boolean, optional + tbd. Defaults to True. + reciprocal: boolean, optional + tbd. Defaults to False. + + """ om = np.array(basis,dtype=float) if om.shape[:-3:-1] != (3,3): raise ValueError('Invalid shape.') @@ -356,20 +453,64 @@ class Rotation: return Rotation(Rotation._om2qu(om)) @staticmethod - def from_matrix(om): + def from_directions(hkl,uvw): + """ + Initialize from pair of directions/planes. - return Rotation.from_basis(om) + Parameters + ---------- + hkl: numpy.ndarray of shape (...,3) + Direction parallel to z direction, i.e. (h k l) || (0,0,1). + uvw: numpy.ndarray of shape (...,3) + Direction parallel to x direction, i.e. || (1,0,0). + + """ + hkl_ = hkl/np.linalg.norm(hkl,axis=-1,keepdims=True) + uvw_ = uvw/np.linalg.norm(uvw,axis=-1,keepdims=True) + v_1 = np.block([uvw_,np.cross(hkl_,uvw_),hkl_]).reshape(hkl_.shape+(3,)) + v_2 = np.block([uvw_,np.cross(uvw_,hkl_),hkl_]).reshape(hkl_.shape+(3,)) + R = np.where(np.broadcast_to(np.expand_dims(np.expand_dims(np.linalg.det(v_1)>0,-1),-1),v_1.shape), + v_1,v_2) + return Rotation.from_basis(np.swapaxes(R,axis2=-2,axis1=-1)) @staticmethod - def from_Rodrigues(rodrigues, + def from_matrix(R): + """ + Initialize from rotation matrix. + + Parameters + ---------- + R: numpy.ndarray of shape (...,3,3) + Rotation matrix: det(R) = 1, R.T∙R=I. + + """ + return Rotation.from_basis(R) + + @staticmethod + def from_Rodrigues(rho, normalise = False, P = -1): + """ + Initialize from Rodrigues-Frank vector. - ro = np.array(rodrigues,dtype=float) + Parameters + ---------- + rho: numpy.ndarray of shape (...,4) + Rodrigues-Frank vector (angle separated from axis). + (n_1, n_2, n_3, tan(ω/2)), |n| = 1 and ω ∈ [0,π]. + normalize: boolean, optional + Allow |n| ≠ 1. Defaults to False. + P: integer ∈ {-1,1}, optional + Convention used. Defaults to -1. + + """ + ro = np.array(rho,dtype=float) if ro.shape[:-2:-1] != (4,): raise ValueError('Invalid shape.') + if abs(P) != 1: + raise ValueError('P ∉ {-1,1}') - if P > 0: ro[...,0:3] *= -1 # convert from P=1 to P=-1 + if P == 1: ro[...,0:3] *= -1 if normalise: ro[...,0:3] /= np.linalg.norm(ro[...,0:3],axis=-1) if np.any(ro[...,3] < 0.0): raise ValueError('Rodrigues vector rotation angle not positive.') @@ -379,14 +520,26 @@ class Rotation: return Rotation(Rotation._ro2qu(ro)) @staticmethod - def from_homochoric(homochoric, + def from_homochoric(h, P = -1): + """ + Initialize from homochoric vector. - ho = np.array(homochoric,dtype=float) + Parameters + ---------- + h: numpy.ndarray of shape (...,3) + Homochoric vector: (h_1, h_2, h_3), |h| < (3/4*π)^(1/3). + P: integer ∈ {-1,1}, optional + Convention used. Defaults to -1. + + """ + ho = np.array(h,dtype=float) if ho.shape[:-2:-1] != (3,): raise ValueError('Invalid shape.') + if abs(P) != 1: + raise ValueError('P ∉ {-1,1}') - if P > 0: ho *= -1 # convert from P=1 to P=-1 + if P == 1: ho *= -1 if np.any(np.linalg.norm(ho,axis=-1) >_R1+1e-9): raise ValueError('Homochoric coordinate outside of the sphere.') @@ -394,18 +547,30 @@ class Rotation: return Rotation(Rotation._ho2qu(ho)) @staticmethod - def from_cubochoric(cubochoric, - P = -1): + def from_cubochoric(c, + P = -1): + """ + Initialize from cubochoric vector. - cu = np.array(cubochoric,dtype=float) + Parameters + ---------- + c: numpy.ndarray of shape (...,3) + Cubochoric vector: (c_1, c_2, c_3), max(c_i) < 1/2*π^(2/3). + P: integer ∈ {-1,1}, optional + Convention used. Defaults to -1. + + """ + cu = np.array(c,dtype=float) if cu.shape[:-2:-1] != (3,): raise ValueError('Invalid shape.') + if abs(P) != 1: + raise ValueError('P ∉ {-1,1}') - if np.abs(np.max(cu))>np.pi**(2./3.) * 0.5+1e-9: - raise ValueError('Cubochoric coordinate outside of the cube: {} {} {}.'.format(*cu)) + if np.abs(np.max(cu)) > np.pi**(2./3.) * 0.5+1e-9: + raise ValueError('Cubochoric coordinate outside of the cube.') ho = Rotation._cu2ho(cu) - if P > 0: ho *= -1 # convert from P=1 to P=-1 + if P == 1: ho *= -1 return Rotation(Rotation._ho2qu(ho)) @@ -458,7 +623,7 @@ class Rotation: np.cos(2.0*np.pi*r[...,1])*B, np.sin(2.0*np.pi*r[...,0])*A],axis=-1) - return Rotation(q.reshape(r.shape[:-1]+(4,)) if shape is not None else q).standardize() + return Rotation(q.reshape(r.shape[:-1]+(4,)) if shape is not None else q)._standardize() # for compatibility (old names do not follow convention) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 5a1cd145d..a6b4fea69 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -14,7 +14,7 @@ scatter=1.e-2 @pytest.fixture def default(): - """A set of n random rotations.""" + """A set of n rotations (corner cases and random).""" specials = np.array([ [1.0, 0.0, 0.0, 0.0], #---------------------- @@ -170,7 +170,7 @@ def qu2ax(qu): Modified version of the original formulation, should be numerically more stable """ - if np.isclose(qu[0],1.,rtol=0.0): # set axis to [001] if the angle is 0/360 + if np.isclose(qu[0],1.,rtol=0.0): # set axis to [001] if the angle is 0/360 ax = np.array([ 0.0, 0.0, 1.0, 0.0 ]) elif qu[0] > 1.e-8: s = np.sign(qu[0])/np.sqrt(qu[1]**2+qu[2]**2+qu[3]**2) @@ -534,7 +534,7 @@ def mul(me, other): other_p = other.quaternion[1:] R = me.__class__(np.append(me_q*other_q - np.dot(me_p,other_p), me_q*other_p + other_q*me_p + _P * np.cross(me_p,other_p))) - return R.standardize() + return R._standardize() elif isinstance(other, np.ndarray): if other.shape == (3,): A = me.quaternion[0]**2.0 - np.dot(me.quaternion[1:],me.quaternion[1:]) @@ -554,7 +554,7 @@ def mul(me, other): axes = ((0, 2, 4, 6), (0, 1, 2, 3)) return np.tensordot(RRRR, other, axes) else: - raise ValueError('Can only rotate vectors, 2nd order ternsors, and 4th order tensors') + raise ValueError('Can only rotate vectors, 2nd order tensors, and 4th order tensors') else: raise TypeError('Cannot rotate {}'.format(type(other))) @@ -854,6 +854,15 @@ class TestRotation: rot = Rotation.from_basis(om,False,reciprocal=reciprocal) assert np.isclose(np.linalg.det(rot.as_matrix()),1.0) + def test_directions(self): + hkl = np.array([0.,0.,1.]) + uvw = np.array([1.,0.,0.]) + assert np.allclose(Rotation.from_directions(hkl,uvw).as_matrix(),np.eye(3)) + + @pytest.mark.parametrize('shape',[None,1,(4,4)]) + def test_random(self,shape): + Rotation.from_random(shape) + @pytest.mark.parametrize('function',[Rotation.from_quaternion, Rotation.from_Eulers, Rotation.from_axis_angle, @@ -866,6 +875,16 @@ class TestRotation: with pytest.raises(ValueError): function(invalid_shape) + @pytest.mark.parametrize('fr,to',[(Rotation.from_quaternion,'as_quaternion'), + (Rotation.from_axis_angle,'as_axis_angle'), + (Rotation.from_Rodrigues, 'as_Rodrigues'), + (Rotation.from_homochoric,'as_homochoric'), + (Rotation.from_cubochoric,'as_cubochoric')]) + def test_invalid_P(self,fr,to): + R = Rotation.from_random(np.random.randint(8,32,(3))) # noqa + with pytest.raises(ValueError): + fr(eval('R.{}()'.format(to)),P=-30) + @pytest.mark.parametrize('shape',[None,(3,),(4,2)]) def test_broadcast(self,shape): rot = Rotation.from_random(shape) @@ -932,14 +951,18 @@ class TestRotation: phi_2 = 2*np.pi - phi_1 R_1 = Rotation.from_Eulers(np.array([phi_1,0.,0.])) R_2 = Rotation.from_Eulers(np.array([0.,0.,phi_2])) - assert np.allclose(data,R_2*(R_1*data)) + assert np.allclose(data,R_2@(R_1@data)) + + def test_rotate_inverse(self): + R = Rotation.from_random() + assert np.allclose(np.eye(3),(R.inversed()@R).as_matrix()) @pytest.mark.parametrize('data',[np.random.rand(3), np.random.rand(3,3), np.random.rand(3,3,3,3)]) - def test_rotate_inverse(self,data): + def test_rotate_inverse_array(self,data): R = Rotation.from_random() - assert np.allclose(data,R.inversed()*(R*data)) + assert np.allclose(data,R.inversed()@(R@data)) @pytest.mark.parametrize('data',[np.random.rand(4), np.random.rand(3,2), @@ -956,3 +979,7 @@ class TestRotation: R = Rotation.from_random() with pytest.raises(TypeError): R*data + + def test_misorientation(self): + R = Rotation.from_random() + assert np.allclose(R.misorientation(R).as_matrix(),np.eye(3)) From 262346ff5a7db8019bd83e37a1589d7c324afcbd Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 20 Jun 2020 16:34:19 +0200 Subject: [PATCH 226/958] polishing --- python/damask/_lattice.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index 8582c8d34..0ebaa883d 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -224,7 +224,7 @@ class Symmetry: symQuats = [ [ 1.0,0.0,0.0,0.0 ], ] - return Rotation(np.array(symQuats)) + return np.array(symQuats) def inFZ(self,rodrigues): @@ -439,7 +439,7 @@ class Symmetry: else: return np.ones_like(vector[...,0],bool) - b_p = np.broadcast_to(basis['proper'], vector.shape+(3,)) + b_p = np.broadcast_to(basis['proper'], vector.shape+(3,)) if proper: b_i = np.broadcast_to(basis['improper'],vector.shape+(3,)) improper = np.all(np.around(np.einsum('...ji,...i',b_i,vector),12)>=0.0,axis=-1,keepdims=True) @@ -457,14 +457,14 @@ class Symmetry: rgb = (theComponents/np.linalg.norm(theComponents,axis=-1,keepdims=True))**0.5 # smoothen color ramps rgb = np.minimum(1.,rgb) # limit to maximum intensity rgb /= np.max(rgb,axis=-1,keepdims=True) # normalize to (HS)V = 1 - rgb[np.invert(np.broadcast_to(in_SST.reshape(vector[...,0].shape+(1,)),vector.shape))] = 0.0 + rgb[~np.broadcast_to(in_SST.reshape(vector[...,0].shape+(1,)),vector.shape)] = 0.0 return (in_SST,rgb) else: return in_SST # ****************************************************************************************** -class Lattice: +class Lattice: # ToDo: Make a subclass of Symmetry! """ Lattice system. From ebdb65d31ff6bbe9327556c7f3bbaf9581d20983 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 20 Jun 2020 16:35:22 +0200 Subject: [PATCH 227/958] standard broadcast_to behavior --- python/damask/_rotation.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 9a0266871..694384de2 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -156,18 +156,18 @@ class Rotation: Rotation to which the misorientation is computed. """ - return other@self.inversed() + return other*self.inversed() def broadcast_to(self,shape): - if isinstance(shape,int): - shape = (shape,) - N = np.prod(shape)//np.prod(self.shape,dtype=int) - - q = np.block([np.repeat(self.quaternion[...,0:1],N).reshape(shape+(1,)), - np.repeat(self.quaternion[...,1:2],N).reshape(shape+(1,)), - np.repeat(self.quaternion[...,2:3],N).reshape(shape+(1,)), - np.repeat(self.quaternion[...,3:4],N).reshape(shape+(1,))]) + if isinstance(shape,int): shape = (shape,) + if self.shape == (): + q = np.broadcast_to(self.quaternion,shape+(4,)) + else: + q = np.block([np.broadcast_to(self.quaternion[...,0:1],shape).reshape(shape+(1,)), + np.broadcast_to(self.quaternion[...,1:2],shape).reshape(shape+(1,)), + np.broadcast_to(self.quaternion[...,2:3],shape).reshape(shape+(1,)), + np.broadcast_to(self.quaternion[...,3:4],shape).reshape(shape+(1,))]) return self.__class__(q) From 4dae3643c9c57127830b04126e279699625a41a1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 20 Jun 2020 17:15:13 +0200 Subject: [PATCH 228/958] vectorized IPF color working results also uses the vectorized form. Still needs careful checking --- python/damask/_orientation.py | 30 +++++++++++++++++++----------- python/damask/_result.py | 21 ++++++++------------- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 794bf9900..1704987b4 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -3,7 +3,7 @@ import numpy as np from . import Lattice from . import Rotation -class Orientation: # make subclass or Rotation? +class Orientation: # ToDo: make subclass of lattice and Rotation """ Crystallographic orientation. @@ -105,12 +105,14 @@ class Orientation: # make subclass or Rotation? is added to the left of the rotation array. """ - symmetry_operations = self.lattice.symmetry.symmetry_operations + s = self.lattice.symmetry.symmetry_operations + s = s.reshape(s.shape[:1]+(1,)*len(self.rotation.shape)+(4,)) + s = Rotation(np.broadcast_to(s,s.shape[:1]+self.rotation.quaternion.shape)) - q = np.block([self.rotation.quaternion]*symmetry_operations.shape[0]) - r = Rotation(q.reshape(symmetry_operations.shape+self.rotation.quaternion.shape)) + r = np.broadcast_to(self.rotation.quaternion,s.shape[:1]+self.rotation.quaternion.shape) + r = Rotation(r) - return self.__class__(symmetry_operations.broadcast_to(r.shape)@r,self.lattice) + return self.__class__(s@r,self.lattice) def equivalentOrientations(self,members=[]): @@ -156,10 +158,10 @@ class Orientation: # make subclass or Rotation? """Axis rotated according to orientation (using crystal symmetry to ensure location falls into SST).""" if SST: # pole requested to be within SST for i,o in enumerate(self.equivalentOrientations()): # test all symmetric equivalent quaternions - pole = o.rotation*axis # align crystal direction to axis + pole = o.rotation@axis # align crystal direction to axis if self.lattice.symmetry.inSST(pole,proper): break # found SST version else: - pole = self.rotation*axis # align crystal direction to axis + pole = self.rotation@axis # align crystal direction to axis return (pole,i if SST else 0) @@ -169,7 +171,7 @@ class Orientation: # make subclass or Rotation? color = np.zeros(3,'d') for o in self.equivalentOrientations(): - pole = o.rotation*axis # align crystal direction to axis + pole = o.rotation@axis # align crystal direction to axis inSST,color = self.lattice.symmetry.inSST(pole,color=True) if inSST: break @@ -178,12 +180,18 @@ class Orientation: # make subclass or Rotation? def IPF_color(self,axis): """TSL color of inverse pole figure for given axis.""" - color = np.zeros(self.rotation.shape) eq = self.equivalent - pole = eq.rotation @ np.broadcast_to(axis,eq.rotation.shape+(3,)) + pole = eq.rotation @ np.broadcast_to(axis/np.linalg.norm(axis),eq.rotation.shape+(3,)) in_SST, color = self.lattice.symmetry.in_SST(pole,color=True) - return color[in_SST] + # ignore duplicates (occur for highly symmetric orientations) + found = np.zeros_like(in_SST[1],dtype=bool) + c = np.empty(color.shape[1:]) + for s in range(in_SST.shape[0]): + c = np.where(np.expand_dims(np.logical_and(in_SST[s],~found),-1),color[s],c) + found = np.logical_or(in_SST[s],found) + + return c @staticmethod diff --git a/python/damask/_result.py b/python/damask/_result.py index 56c0eac17..e6dac9370 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -10,6 +10,7 @@ from functools import partial import h5py import numpy as np +from numpy.lib import recfunctions as rfn from . import VTK from . import Table @@ -267,7 +268,7 @@ class Result: def rename(self,name_old,name_new): """ Rename datasets. - + Parameters ---------- name_old : str @@ -733,23 +734,17 @@ class Result: @staticmethod def _add_IPFcolor(q,l): - d = np.array(l) - d_unit = d/np.linalg.norm(d) - m = util.scale_to_coprime(d) - colors = np.empty((len(q['data']),3),np.uint8) + m = util.scale_to_coprime(np.array(l)) - lattice = q['meta']['Lattice'] - - for i,qu in enumerate(q['data']): - o = Orientation(np.array([qu['w'],qu['x'],qu['y'],qu['z']]),lattice).reduced() - colors[i] = np.uint8(o.IPFcolor(d_unit)*255) + o = Orientation(Rotation(rfn.structured_to_unstructured(q['data'])), + lattice = q['meta']['Lattice']) return { - 'data': colors, + 'data': np.uint8(o.IPF_color(l)*255), 'label': 'IPFcolor_[{} {} {}]'.format(*m), 'meta' : { - 'Unit': 'RGB (8bit)', - 'Lattice': lattice, + 'Unit': '8-bit RGB', + 'Lattice': q['meta']['Lattice'], 'Description': 'Inverse Pole Figure (IPF) colors along sample direction [{} {} {}]'.format(*m), 'Creator': inspect.stack()[0][3][1:] } From 3f63a4fdbc56f96dae3f87952b91c9c7d8a667db Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 20 Jun 2020 18:13:34 +0200 Subject: [PATCH 229/958] [skip ci] typo --- python/damask/_rotation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index a33b4bc51..09aeab256 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -289,7 +289,7 @@ class Rotation: def as_cubochoric(self): """ - Represent as cubocoric vector. + Represent as cubochoric vector. Returns ------- From 15b43bcebf9ae932d54e5a623b82177351214569 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 20 Jun 2020 19:57:49 +0200 Subject: [PATCH 230/958] from_directions is not general, removed polishing --- python/damask/_rotation.py | 67 ++++++++++++----------------------- python/tests/test_Rotation.py | 5 --- 2 files changed, 23 insertions(+), 49 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 09aeab256..7c469a2b5 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -325,13 +325,13 @@ class Rotation: Parameters ---------- - q: numpy.ndarray of shape (...,4) + q : numpy.ndarray of shape (...,4) Unit quaternion in positive real hemisphere: (q_0, q_1, q_2, q_3), |q|=1, q_0 ≥ 0. - accept_homomorph: boolean, optional + accept_homomorph : boolean, optional Allow homomorphic variants, i.e. q_0 < 0 (negative real hemisphere). Defaults to False. - P: integer ∈ {-1,1}, optional + P : integer ∈ {-1,1}, optional Convention used. Defaults to -1. """ @@ -362,10 +362,10 @@ class Rotation: Parameters ---------- - phi: numpy.ndarray of shape (...,3) + phi : numpy.ndarray of shape (...,3) Bunge-Euler angles: (φ_1, ϕ, φ_2), φ_1 ∈ [0,2π], ϕ ∈ [0,π], φ_2 ∈ [0,2π] unless degrees == True: φ_1 ∈ [0,360], ϕ ∈ [0,180], φ_2 ∈ [0,360]. - degrees: boolean, optional + degrees : boolean, optional Bunge-Euler angles are given in degrees. Defaults to False. """ @@ -389,14 +389,14 @@ class Rotation: Parameters ---------- - axis_angle: numpy.ndarray of shape (...,4) + axis_angle : numpy.ndarray of shape (...,4) Axis angle pair: [n_1, n_2, n_3, ω], |n| = 1 and ω ∈ [0,π] unless degrees = True: ω ∈ [0,180]. - degrees: boolean, optional + degrees : boolean, optional Angle ω is given in degrees. Defaults to False. normalize: boolean, optional Allow |n| ≠ 1. Defaults to False. - P: integer ∈ {-1,1}, optional + P : integer ∈ {-1,1}, optional Convention used. Defaults to -1. """ @@ -421,16 +421,16 @@ class Rotation: orthonormal = True, reciprocal = False): """ - Initialize from tbd. + Initialize from lattice basis vectors. Parameters ---------- - basis: numpy.ndarray of shape (...,3,3) - tbd - orthonormal: boolean, optional - tbd. Defaults to True. - reciprocal: boolean, optional - tbd. Defaults to False. + basis : numpy.ndarray of shape (...,3,3) + Three lattice basis vectors in three dimensions. + orthonormal : boolean, optional + Basis is strictly orthonormal, i.e. is free of stretch components. Defaults to True. + reciprocal : boolean, optional + Basis vectors are given in reciprocal (instead of real) space. Defaults to False. """ om = np.array(basis,dtype=float) @@ -452,27 +452,6 @@ class Rotation: return Rotation(Rotation._om2qu(om)) - @staticmethod - def from_directions(hkl,uvw): - """ - Initialize from pair of directions/planes. - - Parameters - ---------- - hkl: numpy.ndarray of shape (...,3) - Direction parallel to z direction, i.e. (h k l) || (0,0,1). - uvw: numpy.ndarray of shape (...,3) - Direction parallel to x direction, i.e. || (1,0,0). - - """ - hkl_ = hkl/np.linalg.norm(hkl,axis=-1,keepdims=True) - uvw_ = uvw/np.linalg.norm(uvw,axis=-1,keepdims=True) - v_1 = np.block([uvw_,np.cross(hkl_,uvw_),hkl_]).reshape(hkl_.shape+(3,)) - v_2 = np.block([uvw_,np.cross(uvw_,hkl_),hkl_]).reshape(hkl_.shape+(3,)) - R = np.where(np.broadcast_to(np.expand_dims(np.expand_dims(np.linalg.det(v_1)>0,-1),-1),v_1.shape), - v_1,v_2) - return Rotation.from_basis(np.swapaxes(R,axis2=-2,axis1=-1)) - @staticmethod def from_matrix(R): """ @@ -480,7 +459,7 @@ class Rotation: Parameters ---------- - R: numpy.ndarray of shape (...,3,3) + R : numpy.ndarray of shape (...,3,3) Rotation matrix: det(R) = 1, R.T∙R=I. """ @@ -495,12 +474,12 @@ class Rotation: Parameters ---------- - rho: numpy.ndarray of shape (...,4) + rho : numpy.ndarray of shape (...,4) Rodrigues-Frank vector (angle separated from axis). (n_1, n_2, n_3, tan(ω/2)), |n| = 1 and ω ∈ [0,π]. - normalize: boolean, optional + normalize : boolean, optional Allow |n| ≠ 1. Defaults to False. - P: integer ∈ {-1,1}, optional + P : integer ∈ {-1,1}, optional Convention used. Defaults to -1. """ @@ -527,9 +506,9 @@ class Rotation: Parameters ---------- - h: numpy.ndarray of shape (...,3) + h : numpy.ndarray of shape (...,3) Homochoric vector: (h_1, h_2, h_3), |h| < (3/4*π)^(1/3). - P: integer ∈ {-1,1}, optional + P : integer ∈ {-1,1}, optional Convention used. Defaults to -1. """ @@ -554,9 +533,9 @@ class Rotation: Parameters ---------- - c: numpy.ndarray of shape (...,3) + c : numpy.ndarray of shape (...,3) Cubochoric vector: (c_1, c_2, c_3), max(c_i) < 1/2*π^(2/3). - P: integer ∈ {-1,1}, optional + P : integer ∈ {-1,1}, optional Convention used. Defaults to -1. """ diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index a6b4fea69..933719d6f 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -854,11 +854,6 @@ class TestRotation: rot = Rotation.from_basis(om,False,reciprocal=reciprocal) assert np.isclose(np.linalg.det(rot.as_matrix()),1.0) - def test_directions(self): - hkl = np.array([0.,0.,1.]) - uvw = np.array([1.,0.,0.]) - assert np.allclose(Rotation.from_directions(hkl,uvw).as_matrix(),np.eye(3)) - @pytest.mark.parametrize('shape',[None,1,(4,4)]) def test_random(self,shape): Rotation.from_random(shape) From 4c5939ef233ff4021d0f836f836df3d21ae25c91 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 20 Jun 2020 22:51:00 +0200 Subject: [PATCH 231/958] small polishing --- python/damask/util.py | 14 +++++++------- python/tests/test_Rotation.py | 4 ++-- python/tests/test_util.py | 11 +++++++++++ src/discretization.f90 | 2 +- 4 files changed, 21 insertions(+), 10 deletions(-) create mode 100644 python/tests/test_util.py diff --git a/python/damask/util.py b/python/damask/util.py index cb1d8757d..a3fc71d3a 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -93,7 +93,7 @@ def strikeout(what): def execute(cmd, - streamIn = None, + stream_in = None, wd = './', env = None): """ @@ -103,7 +103,7 @@ def execute(cmd, ---------- cmd : str Command to be executed. - streanIn :, optional + stream_in : file object, optional Input (via pipe) for executed process. wd : str, optional Working directory of process. Defaults to ./ . @@ -119,14 +119,14 @@ def execute(cmd, stderr = subprocess.PIPE, stdin = subprocess.PIPE, env = myEnv) - out,error = [i for i in (process.communicate() if streamIn is None - else process.communicate(streamIn.read().encode('utf-8')))] + stdout, stderr = [i for i in (process.communicate() if stream_in is None + else process.communicate(stream_in.read().encode('utf-8')))] os.chdir(initialPath) - out = out.decode('utf-8').replace('\x08','') - error = error.decode('utf-8').replace('\x08','') + stdout = stdout.decode('utf-8').replace('\x08','') + stderr = stderr.decode('utf-8').replace('\x08','') if process.returncode != 0: raise RuntimeError('{} failed with returncode {}'.format(cmd,process.returncode)) - return out,error + return stdout, stderr def show_progress(iterable,N_iter=None,prefix='',bar_length=50): diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 933719d6f..86e5fa2a7 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -950,14 +950,14 @@ class TestRotation: def test_rotate_inverse(self): R = Rotation.from_random() - assert np.allclose(np.eye(3),(R.inversed()@R).as_matrix()) + assert np.allclose(np.eye(3),(~R@R).as_matrix()) @pytest.mark.parametrize('data',[np.random.rand(3), np.random.rand(3,3), np.random.rand(3,3,3,3)]) def test_rotate_inverse_array(self,data): R = Rotation.from_random() - assert np.allclose(data,R.inversed()@(R@data)) + assert np.allclose(data,~R@(R@data)) @pytest.mark.parametrize('data',[np.random.rand(4), np.random.rand(3,2), diff --git a/python/tests/test_util.py b/python/tests/test_util.py new file mode 100644 index 000000000..e67478d82 --- /dev/null +++ b/python/tests/test_util.py @@ -0,0 +1,11 @@ +from damask import util + +class TestUtil: + + def test_execute_direct(self): + out,err = util.execute('echo test') + assert out=='test\n' and err=='' + + def test_execute_env(self): + out,err = util.execute('sh -c "echo $test_for_execute"',env={'test_for_execute':'test'}) + assert out=='test\n' and err=='' diff --git a/src/discretization.f90 b/src/discretization.f90 index 16f76b158..e52784c6d 100644 --- a/src/discretization.f90 +++ b/src/discretization.f90 @@ -49,7 +49,7 @@ subroutine discretization_init(homogenizationAt,microstructureAt,& IPcoords0, & NodeCoords0 integer, optional, intent(in) :: & - sharedNodesBegin ! index of first node shared among different processes (MPI) + sharedNodesBegin !< index of first node shared among different processes (MPI) write(6,'(/,a)') ' <<<+- discretization init -+>>>'; flush(6) From d4efadb333f864b4ebef645373cdbeccb2356e83 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 21 Jun 2020 10:03:52 +0200 Subject: [PATCH 232/958] should be availabe outside of this module --- src/quaternions.f90 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/quaternions.f90 b/src/quaternions.f90 index f5f5276e8..c337bd681 100644 --- a/src/quaternions.f90 +++ b/src/quaternions.f90 @@ -101,6 +101,8 @@ module quaternions assignment(=), & conjg, aimag, & log, exp, & + abs, dot_product, & + inverse, & real contains From c6a5bb8a3b873a66ba968339d76c754bc63c0d4d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 21 Jun 2020 10:04:45 +0200 Subject: [PATCH 233/958] is 2020 --- python/damask/_rotation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 7c469a2b5..f433b2b37 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -615,7 +615,7 @@ class Rotation: #################################################################################################### # Code below available according to the following conditions on https://github.com/MarDiehl/3Drotations #################################################################################################### -# Copyright (c) 2017-2019, Martin Diehl/Max-Planck-Institut für Eisenforschung GmbH +# Copyright (c) 2017-2020, Martin Diehl/Max-Planck-Institut für Eisenforschung GmbH # Copyright (c) 2013-2014, Marc De Graef/Carnegie Mellon University # All rights reserved. # From e33895dd35d52e6b13cdf6360498311d7f492bb0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 21 Jun 2020 10:37:09 +0200 Subject: [PATCH 234/958] [skip ci] better logic --- python/damask/_lattice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index 0ebaa883d..251821868 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -457,7 +457,7 @@ class Symmetry: rgb = (theComponents/np.linalg.norm(theComponents,axis=-1,keepdims=True))**0.5 # smoothen color ramps rgb = np.minimum(1.,rgb) # limit to maximum intensity rgb /= np.max(rgb,axis=-1,keepdims=True) # normalize to (HS)V = 1 - rgb[~np.broadcast_to(in_SST.reshape(vector[...,0].shape+(1,)),vector.shape)] = 0.0 + rgb[np.broadcast_to(~in_SST.reshape(vector[...,0].shape+(1,)),vector.shape)] = 0.0 return (in_SST,rgb) else: return in_SST From deaf055f8876a55c6bdfee0e0089cb8bfefbadb0 Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 22 Jun 2020 15:59:31 +0200 Subject: [PATCH 235/958] [skip ci] updated version information after successful test of v2.0.3-2680-g17212b27 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index b25957f75..d041f794f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2664-ge959aaab +v2.0.3-2680-g17212b27 From 6fa5ae6ebf555e47923f6a5a62bfe1043915e313 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 22 Jun 2020 23:14:58 +0200 Subject: [PATCH 236/958] literature from Karo --- python/damask/_orientation.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 1704987b4..0e7b68954 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -198,6 +198,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation def fromAverage(orientations, weights = []): """Create orientation from average of list of orientations.""" + # further read: Orientation distribution analysis in deformed grains, https://doi.org/10.1107/S0021889801003077 if not all(isinstance(item, Orientation) for item in orientations): raise TypeError("Only instances of Orientation can be averaged.") From e2a0e98267b90db4e2d71eb04860f1be82646c8d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 23 Jun 2020 11:06:41 +0200 Subject: [PATCH 237/958] small polishing --- src/CPFEM.f90 | 1 - src/YAML_parse.f90 | 2 +- src/YAML_types.f90 | 4 ++-- src/crystallite.f90 | 2 +- src/grid/spectral_utilities.f90 | 2 +- src/numerics.f90 | 8 +++----- 6 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index fce375259..58beb72a0 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -140,7 +140,6 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS num_commercialFEM => numerics_root%get('commercialFEM',defaultVal=emptyDict) iJacoStiffness = num_commercialFEM%get_asInt('ijacostiffness',defaultVal=1) if (iJacoStiffness < 1) call IO_error(301,ext_msg='iJacoStiffness') -!------------------------------------------------------------------------------ elCP = mesh_FEM2DAMASK_elem(elFE) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 2b56ba946..8850a62fc 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -51,7 +51,7 @@ recursive function parse_flow(flow_string,defaultVal) result(node) if (len_trim(flow_string) == 0 .and. present(defaultVal)) then node => defaultVal return - elseif (flow_string(1:1) == '{') then ! start of a dictionary + elseif (flow_string(1:1) == '{') then ! start of a dictionary e = 1 allocate(tDict::node) do while (e < len_trim(flow_string)) diff --git a/src/YAML_types.f90 b/src/YAML_types.f90 index 6a2706269..ad3db9d47 100644 --- a/src/YAML_types.f90 +++ b/src/YAML_types.f90 @@ -155,9 +155,9 @@ module YAML_types final :: tItem_finalize end type tItem - type(tDict), target,public :: & + type(tDict), target, public :: & emptyDict - type(tList), target,public :: & + type(tList), target, public :: & emptyList abstract interface diff --git a/src/crystallite.f90 b/src/crystallite.f90 index eb10e8550..9113fa12f 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -129,7 +129,7 @@ subroutine crystallite_init eMax, & !< maximum number of elements myNcomponents !< number of components at current IP - class(tNode) , pointer :: & + class(tNode), pointer :: & num_crystallite write(6,'(/,a)') ' <<<+- crystallite init -+>>>' diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index f09759009..cc9d3dd65 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -191,7 +191,7 @@ subroutine spectral_utilities_init tensorSize = 9_C_INTPTR_T character(len=pStringLen) :: & petsc_options - class (tNode) , pointer :: & + class(tNode), pointer :: & num_grid write(6,'(/,a)') ' <<<+- spectral_utilities init -+>>>' diff --git a/src/numerics.f90 b/src/numerics.f90 index b4d029d00..bb861a6d0 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -1,6 +1,7 @@ !-------------------------------------------------------------------------------------------------- !> @author Franz Roters, Max-Planck-Institut für Eisenforschung GmbH !> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH +!> @author Sharan Roongta, Max-Planck-Institut für Eisenforschung GmbH !> @brief Managing of parameters related to numerics !-------------------------------------------------------------------------------------------------- module numerics @@ -64,16 +65,13 @@ subroutine numerics_init numerics_root => emptyDict inquire(file='numerics.yaml', exist=fexist) - fileExists: if (fexist) then + if (fexist) then write(6,'(a,/)') ' using values from config file' flush(6) numerics_input = IO_read('numerics.yaml') numerics_inFlow = to_flow(numerics_input) numerics_root => parse_flow(numerics_inFlow,defaultVal=emptyDict) - else fileExists - write(6,'(a,/)') ' using standard values' - flush(6) - endif fileExists + endif !-------------------------------------------------------------------------------------------------- ! openMP parameter From fdf7887b47a6e8f6b30942856a529368d9ba0bd8 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 24 Jun 2020 11:56:21 +0200 Subject: [PATCH 238/958] handle default internally --- src/YAML_parse.f90 | 7 +++---- src/numerics.f90 | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 8850a62fc..cfbcf11f3 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -34,10 +34,9 @@ end subroutine YAML_init !> @brief reads the flow style string and stores it in the form of dictionaries, lists and scalars. !> @details A node type pointer can either point to a dictionary, list or scalar type entities. !-------------------------------------------------------------------------------------------------- -recursive function parse_flow(flow_string,defaultVal) result(node) +recursive function parse_flow(flow_string) result(node) character(len=*), intent(inout) :: flow_string - class(tDict), intent(in), optional, target :: defaultVal class (tNode), pointer :: node class (tNode), pointer :: myVal @@ -48,8 +47,8 @@ recursive function parse_flow(flow_string,defaultVal) result(node) d !> position of key: value separator (':') flow_string = trim(adjustl(flow_string(:))) - if (len_trim(flow_string) == 0 .and. present(defaultVal)) then - node => defaultVal + if (len_trim(flow_string) == 0) then + node => emptyDict return elseif (flow_string(1:1) == '{') then ! start of a dictionary e = 1 diff --git a/src/numerics.f90 b/src/numerics.f90 index bb861a6d0..132c01f87 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -70,7 +70,7 @@ subroutine numerics_init flush(6) numerics_input = IO_read('numerics.yaml') numerics_inFlow = to_flow(numerics_input) - numerics_root => parse_flow(numerics_inFlow,defaultVal=emptyDict) + numerics_root => parse_flow(numerics_inFlow) endif !-------------------------------------------------------------------------------------------------- From 692fc98fd5605c265017e5d8b0bb99b27fbc84bf Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 24 Jun 2020 16:31:45 +0200 Subject: [PATCH 239/958] 'num' structure for data to avoid multiple reading of parameters --- src/CPFEM.f90 | 31 +++++++++++++++++++------------ src/damage_local.f90 | 27 ++++++++++++++++++--------- src/damage_nonlocal.f90 | 26 +++++++++++++++++--------- src/grid/DAMASK_grid.f90 | 21 +++++++++++++-------- src/math.f90 | 17 ++++++++++++----- 5 files changed, 79 insertions(+), 43 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 58beb72a0..6647581e3 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -5,7 +5,6 @@ !-------------------------------------------------------------------------------------------------- module CPFEM use prec - use numerics use debug use FEsolving use math @@ -45,6 +44,13 @@ module CPFEM CPFEM_BACKUPJACOBIAN = 2_pInt**2_pInt, & CPFEM_RESTOREJACOBIAN = 2_pInt**3_pInt + type, private :: tNumerics + integer :: & + iJacoStiffness !< frequency of stiffness update + end type tNumerics + + type(tNumerics), private :: num + public :: & CPFEM_general, & CPFEM_initAll, & @@ -86,6 +92,9 @@ end subroutine CPFEM_initAll !-------------------------------------------------------------------------------------------------- subroutine CPFEM_init + class(tNode), pointer :: & + num_commercialFEM + write(6,'(/,a)') ' <<<+- CPFEM init -+>>>' flush(6) @@ -93,6 +102,13 @@ subroutine CPFEM_init allocate(CPFEM_dcsdE( 6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) allocate(CPFEM_dcsdE_knownGood(6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) +!------------------------------------------------------------------------------ +! read numerical parameters and do sanity check + num_commercialFEM => numerics_root%get('commercialFEM',defaultVal=emptyDict) + num%iJacoStiffness = num_commercialFEM%get_asInt('ijacostiffness',defaultVal=1) + if (num%iJacoStiffness < 1) call IO_error(301,ext_msg='iJacoStiffness') +!------------------------------------------------------------------------------ + if (iand(debug_level(debug_CPFEM), debug_levelBasic) /= 0) then write(6,'(a32,1x,6(i8,1x))') 'CPFEM_cs: ', shape(CPFEM_cs) write(6,'(a32,1x,6(i8,1x))') 'CPFEM_dcsdE: ', shape(CPFEM_dcsdE) @@ -125,21 +141,12 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS H integer(pInt) elCP, & ! crystal plasticity element number - i, j, k, l, m, n, ph, homog, mySource, & - iJacoStiffness !< frequency of stiffness update + i, j, k, l, m, n, ph, homog, mySource logical updateJaco ! flag indicating if Jacobian has to be updated real(pReal), parameter :: ODD_STRESS = 1e15_pReal, & !< return value for stress if terminallyIll ODD_JACOBIAN = 1e50_pReal !< return value for jacobian if terminallyIll - class(tNode), pointer :: & - num_commercialFEM - -!------------------------------------------------------------------------------ -! read numerical parameters and do sanity check - num_commercialFEM => numerics_root%get('commercialFEM',defaultVal=emptyDict) - iJacoStiffness = num_commercialFEM%get_asInt('ijacostiffness',defaultVal=1) - if (iJacoStiffness < 1) call IO_error(301,ext_msg='iJacoStiffness') elCP = mesh_FEM2DAMASK_elem(elFE) @@ -179,7 +186,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS CPFEM_dcsde(1:6,1:6,ip,elCP) = ODD_JACOBIAN * math_identity2nd(6) else validCalculation - updateJaco = mod(cycleCounter,iJacoStiffness) == 0 + updateJaco = mod(cycleCounter,num%iJacoStiffness) == 0 FEsolving_execElem = elCP FEsolving_execIP = ip if (iand(debug_level(debug_CPFEM), debug_levelExtensive) /= 0_pInt) & diff --git a/src/damage_local.f90 b/src/damage_local.f90 index 892768fdc..e0dfa34eb 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -23,9 +23,16 @@ module damage_local output end type tParameters + type, private :: tNumerics + real(pReal) :: & + residualStiffness !< non-zero residual damage + end type tNumerics + type(tparameters), dimension(:), allocatable :: & param + type(tNumerics), private :: num + public :: & damage_local_init, & damage_local_updateState, & @@ -40,9 +47,17 @@ contains subroutine damage_local_init integer :: Ninstance,NofMyHomog,h + class(tNode), pointer :: num_generic write(6,'(/,a)') ' <<<+- damage_'//DAMAGE_local_label//' init -+>>>'; flush(6) +!---------------------------------------------------------------------------------------------- +! read numerics parameter and do sanity check + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + num%residualStiffness = num_generic%get_asFloat('residualStiffness', defaultVal=1.0e-6_pReal) + if (num%residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') +!---------------------------------------------------------------------------------------------- + Ninstance = count(damage_type == DAMAGE_local_ID) allocate(param(Ninstance)) @@ -85,20 +100,14 @@ function damage_local_updateState(subdt, ip, el) homog, & offset real(pReal) :: & - phi, phiDot, dPhiDot_dPhi, & - residualStiffness !< non-zero residual damage - class(tNode), pointer :: & - num_generic + phi, phiDot, dPhiDot_dPhi - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - residualStiffness = num_generic%get_asFloat('residualStiffness', defaultVal=1.0e-6_pReal) - if (residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') - + homog = material_homogenizationAt(el) offset = material_homogenizationMemberAt(ip,el) phi = damageState(homog)%subState0(1,offset) call damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el) - phi = max(residualStiffness,min(1.0_pReal,phi + subdt*phiDot)) + phi = max(num%residualStiffness,min(1.0_pReal,phi + subdt*phiDot)) damage_local_updateState = [ abs(phi - damageState(homog)%state(1,offset)) & <= 1.0e-2_pReal & diff --git a/src/damage_nonlocal.f90 b/src/damage_nonlocal.f90 index f2f26889d..466261225 100644 --- a/src/damage_nonlocal.f90 +++ b/src/damage_nonlocal.f90 @@ -24,8 +24,15 @@ module damage_nonlocal output end type tParameters + type, private :: tNumerics + real(pReal) :: & + charLength !< characteristic length scale for gradient problems + end type tNumerics + type(tparameters), dimension(:), allocatable :: & param + type(tNumerics), private :: & + num public :: & damage_nonlocal_init, & @@ -44,9 +51,17 @@ contains subroutine damage_nonlocal_init integer :: Ninstance,NofMyHomog,h - + class(tNode), pointer :: & + num_generic + write(6,'(/,a)') ' <<<+- damage_'//DAMAGE_nonlocal_label//' init -+>>>'; flush(6) +!------------------------------------------------------------------------------------ +! read numerics parameter + num_generic => numerics_root%get('generic',defaultVal= emptyDict) + num%charLength = num_generic%get_asFloat('charLength',defaultVal=1.0_pReal) +!------------------------------------------------------------------------------------ + Ninstance = count(damage_type == DAMAGE_nonlocal_ID) allocate(param(Ninstance)) @@ -139,13 +154,6 @@ function damage_nonlocal_getDiffusion(ip,el) integer :: & homog, & grain - real(pReal) :: & - charLength !< characteristic length scale for gradient problems - class(tNode), pointer :: & - num_generic - - num_generic => numerics_root%get('generic',defaultVal= emptyDict) - charLength = num_generic%get_asFloat('charLength',defaultVal=1.0_pReal) homog = material_homogenizationAt(el) damage_nonlocal_getDiffusion = 0.0_pReal @@ -155,7 +163,7 @@ function damage_nonlocal_getDiffusion(ip,el) enddo damage_nonlocal_getDiffusion = & - charLength**2*damage_nonlocal_getDiffusion/real(homogenization_Ngrains(homog),pReal) + num%charLength**2*damage_nonlocal_getDiffusion/real(homogenization_Ngrains(homog),pReal) end function damage_nonlocal_getDiffusion diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index e151222c2..bc153693d 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -61,7 +61,6 @@ program DAMASK_grid i, j, k, l, field, & errorID = 0, & cutBackLevel = 0, & !< cut back level \f$ t = \frac{t_{inc}}{2^l} \f$ - maxCutBack, & !< max number of cut backs stepFraction = 0 !< fraction of current time interval integer :: & currentLoadcase = 0, & !< current load case @@ -69,12 +68,18 @@ program DAMASK_grid totalIncsCounter = 0, & !< total # of increments statUnit = 0, & !< file unit for statistics output stagIter, & - stagItMax, & !< max number of field level staggered iterations nActiveFields = 0 character(len=pStringLen), dimension(:), allocatable :: fileContent character(len=pStringLen) :: & incInfo, & loadcase_string + type :: tNumerics + integer :: & + maxCutBack, & !< max number of cut backs + stagItMax !< max number of field level staggered iterations + end type tNumerics + + type(tNumerics) :: num type(tLoadCase), allocatable, dimension(:) :: loadCases !< array of all load cases type(tLoadCase) :: newLoadCase type(tSolutionState), allocatable, dimension(:) :: solres @@ -114,11 +119,11 @@ program DAMASK_grid !------------------------------------------------------------------------------------------------- ! reading field paramters from numerics file and do sanity checks num_grid => numerics_root%get('grid', defaultVal=emptyDict) - stagItMax = num_grid%get_asInt('maxStaggeredIter',defaultVal=10) - maxCutBack = num_grid%get_asInt('maxCutBack',defaultVal=3) + num%stagItMax = num_grid%get_asInt('maxStaggeredIter',defaultVal=10) + num%maxCutBack = num_grid%get_asInt('maxCutBack',defaultVal=3) - if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') - if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') + if (num%stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') + if (num%maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') !-------------------------------------------------------------------------------------------------- ! assign mechanics solver depending on selected type @@ -449,7 +454,7 @@ program DAMASK_grid enddo stagIter = stagIter + 1 - stagIterate = stagIter < stagItMax & + stagIterate = stagIter < num%stagItMax & .and. all(solres(:)%converged) & .and. .not. all(solres(:)%stagConverged) ! stationary with respect to staggered iteration enddo @@ -468,7 +473,7 @@ program DAMASK_grid solres%converged, solres%iterationsNeeded flush(statUnit) endif - elseif (cutBackLevel < maxCutBack) then ! further cutbacking tolerated? + elseif (cutBackLevel < num%maxCutBack) then ! further cutbacking tolerated? cutBack = .true. stepFraction = (stepFraction - 1) * subStepFactor ! adjust to new denominator cutBackLevel = cutBackLevel + 1 diff --git a/src/math.f90 b/src/math.f90 index 66076455f..3d686fe7a 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -72,6 +72,14 @@ module math 3,2, & 3,3 & ],shape(MAPPLAIN)) !< arrangement in Plain notation + + type, private :: tNumerics + integer :: & + randomSeed !< fixed seeding for pseudo-random number generator, Default 0: use random seed + + end type + + type(tNumerics), private :: num interface math_eye module procedure math_identity2nd @@ -91,8 +99,7 @@ subroutine math_init real(pReal), dimension(4) :: randTest integer :: & - randSize, & - randomSeed !< fixed seeding for pseudo-random number generator, Default 0: use random seed + randSize integer, dimension(:), allocatable :: randInit class(tNode), pointer :: & num_generic @@ -100,12 +107,12 @@ subroutine math_init write(6,'(/,a)') ' <<<+- math init -+>>>'; flush(6) num_generic => numerics_root%get('generic',defaultVal=emptyDict) - randomSeed = num_generic%get_asInt('random_seed', defaultVal = 0) + num%randomSeed = num_generic%get_asInt('random_seed', defaultVal = 0) call random_seed(size=randSize) allocate(randInit(randSize)) - if (randomSeed > 0) then - randInit = randomSeed + if (num%randomSeed > 0) then + randInit = num%randomSeed else call random_seed() call random_seed(get = randInit) From 6062cc43c4ef77554547cdaf4391a2f83468d676 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 24 Jun 2020 16:37:30 +0200 Subject: [PATCH 240/958] extending num structure to other modules; hard coding of tol variables was incorrect --- src/grid/grid_damage_spectral.f90 | 61 +++++++++++++++++-------------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index 659b111a3..5c0f98f9f 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -21,6 +21,18 @@ module grid_damage_spectral implicit none private + type, private :: tNumerics + integer :: & + itmax !< max number of iterations + real(pReal) :: & + residualStiffness, & !< non-zero residual damage + eps_damage_atol, & !< absolute tolerance for damage evolution + eps_damage_rtol !< relative tolerance for damage evolution + character(len=:), allocatable :: & + petsc_options + end type tNumerics + + type(tNumerics), private :: num !-------------------------------------------------------------------------------------------------- ! derived types type(tSolutionParams), private :: params @@ -61,10 +73,10 @@ subroutine grid_damage_spectral_init Vec :: uBound, lBound PetscErrorCode :: ierr class(tNode), pointer :: & - num_grid + num_grid, & + num_generic character(len=pStringLen) :: & - snes_type, & - petsc_options + snes_type write(6,'(/,a)') ' <<<+- grid_spectral_damage init -+>>>' @@ -72,16 +84,25 @@ subroutine grid_damage_spectral_init write(6,'(a)') ' https://doi.org/10.1007/978-981-10-6855-3_80' !------------------------------------------------------------------------------------------------- -! read numerical parameter +! read numerical parameters and do sanity checks num_grid => numerics_root%get('grid',defaultVal=emptyDict) - petsc_options = num_grid%get_asString('petsc_options',defaultVal='') + num%petsc_options = num_grid%get_asString('petsc_options',defaultVal='') + num%itmax = num_grid%get_asInt ('itmax',defaultVal=250) + num%eps_damage_atol = num_grid%get_asFloat ('eps_damage_atol',defaultVal=1.0e-2_pReal) + num%eps_damage_rtol = num_grid%get_asFloat ('eps_damage_rtol',defaultVal=1.0e-6_pReal) + + num_generic => numerics_root%get('generic',defaultVal=emptyDict) + num%residualStiffness = num_generic%get_asFloat('residualStiffness', defaultVal=1.0e-6_pReal) + + if (num%residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') + if (num%itmax <= 1) call IO_error(301,ext_msg='itmax') !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-damage_snes_type newtonls -damage_snes_mf & &-damage_snes_ksp_ew -damage_ksp_type fgmres',ierr) CHKERRQ(ierr) - call PETScOptionsInsertString(PETSC_NULL_OPTIONS,trim(petsc_options),ierr) + call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num%petsc_options,ierr) CHKERRQ(ierr) !-------------------------------------------------------------------------------------------------- @@ -146,23 +167,14 @@ function grid_damage_spectral_solution(timeinc,timeinc_old) result(solution) real(pReal), intent(in) :: & timeinc, & !< increment in time for current solution timeinc_old !< increment in time of last increment - integer :: i, j, k, cell, & - itmax !< maximum number of iterations + integer :: i, j, k, cell type(tSolutionState) :: solution - class(tNode), pointer :: & - num_grid PetscInt :: devNull PetscReal :: phi_min, phi_max, stagNorm, solnNorm PetscErrorCode :: ierr SNESConvergedReason :: reason -!------------------------------------------------------------------- -! reading numerical parameter and do sanity check - num_grid => numerics_root%get('grid',defaultVal=emptyDict) - itmax = num_grid%get_asInt('itmax',defaultVal=250) - if (itmax <= 1) call IO_error(301,ext_msg='itmax') - solution%converged =.false. !-------------------------------------------------------------------------------------------------- @@ -175,7 +187,7 @@ function grid_damage_spectral_solution(timeinc,timeinc_old) result(solution) if (reason < 1) then solution%converged = .false. - solution%iterationsNeeded = itmax + solution%iterationsNeeded = num%itmax else solution%converged = .true. solution%iterationsNeeded = totalIter @@ -185,7 +197,7 @@ function grid_damage_spectral_solution(timeinc,timeinc_old) result(solution) call MPI_Allreduce(MPI_IN_PLACE,stagNorm,1,MPI_DOUBLE,MPI_MAX,PETSC_COMM_WORLD,ierr) call MPI_Allreduce(MPI_IN_PLACE,solnNorm,1,MPI_DOUBLE,MPI_MAX,PETSC_COMM_WORLD,ierr) phi_stagInc = phi_current - solution%stagConverged = stagNorm < max(1.0e-2_pReal, 1.0e-6_pReal*solnNorm) + solution%stagConverged = stagNorm < max(num%eps_damage_atol, num%eps_damage_rtol*solnNorm) !-------------------------------------------------------------------------------------------------- ! updating damage state @@ -256,14 +268,7 @@ subroutine formResidual(in,x_scal,f_scal,dummy,ierr) PetscObject :: dummy PetscErrorCode :: ierr integer :: i, j, k, cell - real(pReal) :: phiDot, dPhiDot_dPhi, mobility, & - residualStiffness !< non-zero residual damage - class(tNode), pointer :: & - num_generic - - num_generic => numerics_root%get('generic',defaultVal=emptyDict) - residualStiffness = num_generic%get_asFloat('residualStiffness', defaultVal=1.0e-6_pReal) - if (residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') + real(pReal) :: phiDot, dPhiDot_dPhi, mobility phi_current = x_scal !-------------------------------------------------------------------------------------------------- @@ -299,8 +304,8 @@ subroutine formResidual(in,x_scal,f_scal,dummy,ierr) call utilities_FFTscalarBackward where(scalarField_real(1:grid(1),1:grid(2),1:grid3) > phi_lastInc) & scalarField_real(1:grid(1),1:grid(2),1:grid3) = phi_lastInc - where(scalarField_real(1:grid(1),1:grid(2),1:grid3) < residualStiffness) & - scalarField_real(1:grid(1),1:grid(2),1:grid3) = residualStiffness + where(scalarField_real(1:grid(1),1:grid(2),1:grid3) < num%residualStiffness) & + scalarField_real(1:grid(1),1:grid(2),1:grid3) = num%residualStiffness !-------------------------------------------------------------------------------------------------- ! constructing residual From 434bfffc4649583f060989f2534d70d71a2636c0 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 24 Jun 2020 16:39:09 +0200 Subject: [PATCH 241/958] hard coding of tolerance variables in solvers not correct --- src/grid/grid_thermal_spectral.f90 | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index ee64566a6..acf3b1f65 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -26,6 +26,16 @@ module grid_thermal_spectral ! derived types type(tSolutionParams), private :: params + type, private :: tNumerics + real(pReal) :: & + eps_thermal_atol, & !< absolute tolerance for thermal equilibrium + eps_thermal_rtol !< relative tolerance for thermal equilibrium + character(len=:), allocatable :: & + petsc_options + end type tNumerics + + type(tNumerics), private :: num + !-------------------------------------------------------------------------------------------------- ! PETSc data SNES, private :: thermal_snes @@ -64,8 +74,6 @@ subroutine grid_thermal_spectral_init PetscErrorCode :: ierr class(tNode), pointer :: & num_grid - character(len=pStringLen) :: & - petsc_options write(6,'(/,a)') ' <<<+- grid_thermal_spectral init -+>>>' @@ -75,13 +83,15 @@ subroutine grid_thermal_spectral_init !------------------------------------------------------------------------------------------------- ! read numerical parameter num_grid => numerics_root%get('grid',defaultVal=emptyDict) - petsc_options = num_grid%get_asString('petsc_options',defaultVal='') - + num%petsc_options = num_grid%get_asString('petsc_options',defaultVal='') + num%eps_thermal_atol = num_grid%get_asFloat ('eps_thermal_atol',defaultVal=1.0e-2_pReal) + num%eps_thermal_rtol = num_grid%get_asFloat ('eps_thermal_rtol',defaultVal=1.0e-6_pReal) + !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-thermal_snes_type ngmres',ierr) CHKERRQ(ierr) - call PETScOptionsInsertString(PETSC_NULL_OPTIONS,trim(petsc_options),ierr) + call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num%petsc_options,ierr) CHKERRQ(ierr) !-------------------------------------------------------------------------------------------------- @@ -182,7 +192,7 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) call MPI_Allreduce(MPI_IN_PLACE,stagNorm,1,MPI_DOUBLE,MPI_MAX,PETSC_COMM_WORLD,ierr) call MPI_Allreduce(MPI_IN_PLACE,solnNorm,1,MPI_DOUBLE,MPI_MAX,PETSC_COMM_WORLD,ierr) T_stagInc = T_current - solution%stagConverged = stagNorm < max(1.0e-2_pReal, 1.0e-6_pReal*solnNorm) + solution%stagConverged = stagNorm < max(num%eps_thermal_atol, num%eps_thermal_rtol*solnNorm) !-------------------------------------------------------------------------------------------------- ! updating thermal state From be84561e2e41825e2b90b8e3de22149f1b2155fa Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 24 Jun 2020 16:45:13 +0200 Subject: [PATCH 242/958] num structure replicated; polishing --- src/crystallite.f90 | 4 +- src/grid/grid_mech_FEM.f90 | 91 ++++++------- src/grid/grid_mech_spectral_basic.f90 | 93 ++++++-------- src/grid/grid_mech_spectral_polarisation.f90 | 128 ++++++++----------- src/grid/spectral_utilities.f90 | 10 +- src/marc/discretization_marc.f90 | 4 +- src/mesh/DAMASK_mesh.f90 | 22 ++-- src/mesh/FEM_utilities.f90 | 6 +- src/mesh/mesh_mech_FEM.f90 | 71 +++++----- 9 files changed, 190 insertions(+), 239 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 9113fa12f..2454abaab 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -83,7 +83,7 @@ module crystallite iJacoLpresiduum, & !< frequency of Jacobian update of residuum in Lp nState, & !< state loop limit nStress !< stress loop limit - character(len=pStringLen) :: & + character(len=:), allocatable :: & integrator !< integrator scheme real(pReal) :: & subStepMinCryst, & !< minimum (relative) size of sub-step allowed during cutback @@ -196,7 +196,7 @@ subroutine crystallite_init if(num%nStress< 1) call IO_error(301,ext_msg='nStress') - select case(trim(num%integrator)) + select case(num%integrator) case('FPI') integrateState => integrateStateFPI case('Euler') diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index bdd76b423..775bc913d 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -30,6 +30,23 @@ module grid_mech_FEM ! derived types type(tSolutionParams), private :: params + type, private :: tNumerics + integer :: & + itmin, & !< minimum number of iterations + itmax !< maximum number of iterations + real(pReal) :: & + err_div, & + divTol, & + BCTol, & + eps_div_atol, & !< absolute tolerance for equilibrium + eps_div_rtol, & !< relative tolerance for equilibrium + eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC + eps_stress_rtol !< relative tolerance for fullfillment of stress BC + character(len=:), allocatable :: & + petsc_options + end type tNumerics + + type(tNumerics), private :: num !-------------------------------------------------------------------------------------------------- ! PETSc data DM, private :: mech_grid @@ -97,8 +114,7 @@ subroutine grid_mech_FEM_init PetscErrorCode :: ierr integer(HID_T) :: fileHandle, groupHandle character(len=pStringLen) :: & - fileName, & - petsc_options + fileName class(tNode), pointer :: & num_grid real(pReal), dimension(3,3,3,3) :: devNull @@ -108,16 +124,30 @@ subroutine grid_mech_FEM_init write(6,'(/,a)') ' <<<+- grid_mech_FEM init -+>>>'; flush(6) !------------------------------------------------------------------------------------------------- -! read numerical parameter +! read numerical parameter and do sanity checks num_grid => numerics_root%get('grid',defaultVal=emptyDict) - petsc_options = num_grid%get_asString('petsc_options',defaultVal='') + num%petsc_options = num_grid%get_asString('petsc_options', defaultVal='') + num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) + num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) + num%eps_stress_atol = num_grid%get_asFloat ('eps_stress_atol', defaultVal=1.0e3_pReal) + num%eps_stress_rtol = num_grid%get_asFloat ('eps_stress_rtol', defaultVal=0.01_pReal) + + num%itmin = num_grid%get_asInt ('itmin',defaultVal=1) + num%itmax = num_grid%get_asInt ('itmax',defaultVal=250) + + if (num%eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') + if (num%eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') + if (num%eps_stress_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_stress_atol') + if (num%eps_stress_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_stress_rtol') + if (num%itmax <= 1) call IO_error(301,ext_msg='itmax') + if (num%itmin > num%itmax .or. num%itmin < 1) call IO_error(301,ext_msg='itmin') !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-mech_snes_type newtonls -mech_ksp_type fgmres & &-mech_ksp_max_it 25 -mech_pc_type ml -mech_mg_levels_ksp_type chebyshev',ierr) CHKERRQ(ierr) - call PETScOptionsInsertString(PETSC_NULL_OPTIONS,trim(petsc_options),ierr) + call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num%petsc_options,ierr) CHKERRQ(ierr) !-------------------------------------------------------------------------------------------------- @@ -419,49 +449,23 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,fnorm,reason,dummy,i SNESConvergedReason :: reason PetscObject :: dummy PetscErrorCode :: ierr - integer :: & - itmin, & !< minimum number of iterations - itmax !< maximum number of iterations real(pReal) :: & err_div, & divTol, & - BCTol, & - eps_div_atol, & !< absolute tolerance for equilibrium - eps_div_rtol, & !< relative tolerance for equilibrium - eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC - eps_stress_rtol !< relative tolerance for fullfillment of stress BC - class(tNode), pointer :: & - num_grid + BCTol -!----------------------------------------------------------------------------------- -! reading numerical parameters and do sanity check - num_grid => numerics_root%get('grid',defaultVal=emptyDict) - eps_div_atol = num_grid%get_asFloat('eps_div_atol',defaultVal=1.0e-4_pReal) - eps_div_rtol = num_grid%get_asFloat('eps_div_rtol',defaultVal=5.0e-4_pReal) - eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) - eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=0.01_pReal) - - itmin = num_grid%get_asInt('itmin',defaultVal=1) - itmax = num_grid%get_asInt('itmax',defaultVal=250) - - if (eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') - if (eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') - if (eps_stress_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_stress_atol') - if (eps_stress_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_stress_rtol') - if (itmax <= 1) call IO_error(301,ext_msg='itmax') - if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') !------------------------------------------------------------------------------------ err_div = fnorm*sqrt(wgt)*geomSize(1)/scaledGeomSize(1)/detJ - divTol = max(maxval(abs(P_av))*eps_div_rtol ,eps_div_atol) - BCTol = max(maxval(abs(P_av))*eps_stress_rtol,eps_stress_atol) + divTol = max(maxval(abs(P_av))*num%eps_div_rtol ,num%eps_div_atol) + BCTol = max(maxval(abs(P_av))*num%eps_stress_rtol,num%eps_stress_atol) - if ((totalIter >= itmin .and. & + if ((totalIter >= num%itmin .and. & all([ err_div/divTol, & err_BC /BCTol ] < 1.0_pReal)) & .or. terminallyIll) then reason = 1 - elseif (totalIter >= itmax) then + elseif (totalIter >= num%itmax) then reason = -1 else reason = 0 @@ -499,19 +503,6 @@ subroutine formResidual(da_local,x_local, & PetscObject :: dummy PetscErrorCode :: ierr real(pReal), dimension(3,3,3,3) :: devNull - integer :: & - itmin, & - itmax - class(tNode), pointer :: & - num_grid - -!---------------------------------------------------------------------- -! read numerical paramteters and do sanity checks - num_grid => numerics_root%get('grid',defaultVal=emptyDict) - itmin = num_grid%get_asInt('itmin',defaultVal=1) - itmax = num_grid%get_asInt('itmax',defaultVal=250) - if (itmax <= 1) call IO_error(301,ext_msg='itmax') - if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') call SNESGetNumberFunctionEvals(mech_snes,nfuncs,ierr); CHKERRQ(ierr) call SNESGetIterationNumber(mech_snes,PETScIter,ierr); CHKERRQ(ierr) @@ -522,7 +513,7 @@ subroutine formResidual(da_local,x_local, & ! begin of new iteration newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 - write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', itmin, '≤',totalIter+1, '≤', itmax + write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter+1, '≤', num%itmax if (iand(debug_level(debug_spectral),debug_spectralRotation) /= 0) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 61ac18779..b1c4d085a 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -32,9 +32,19 @@ module grid_mech_spectral_basic type, private :: tNumerics logical :: update_gamma !< update gamma operator with current stiffness + integer :: & + itmin, & !< minimum number of iterations + itmax !< maximum number of iterations + real(pReal) :: & + eps_div_atol, & !< absolute tolerance for equilibrium + eps_div_rtol, & !< relative tolerance for equilibrium + eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC + eps_stress_rtol !< relative tolerance for fullfillment of stress BC + character(len=:), allocatable :: & + petsc_options end type tNumerics - type(tNumerics) :: num ! numerics parameters. Better name? + type(tNumerics), private :: num ! numerics parameters. Better name? !-------------------------------------------------------------------------------------------------- ! PETSc data @@ -98,8 +108,7 @@ subroutine grid_mech_spectral_basic_init integer(HID_T) :: fileHandle, groupHandle integer :: fileUnit character(len=pStringLen) :: & - fileName, & - petsc_options + fileName write(6,'(/,a)') ' <<<+- grid_mech_spectral_basic init -+>>>'; flush(6) @@ -110,16 +119,31 @@ subroutine grid_mech_spectral_basic_init write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2014.02.006' !------------------------------------------------------------------------------------------------- -! read numerical parameters +! read numerical parameters and do sanity checks num_grid => numerics_root%get('grid',defaultVal=emptyDict) - petsc_options = num_grid%get_asString('petsc_options',defaultVal='') - num%update_gamma = num_grid%get_asBool('update_gamma',defaultVal=.false.) - + + num%petsc_options = num_grid%get_asString ('petsc_options', defaultVal='') + num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) + num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) + num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) + num%eps_stress_atol = num_grid%get_asFloat ('eps_stress_atol',defaultVal=1.0e3_pReal) + num%eps_stress_rtol = num_grid%get_asFloat ('eps_stress_rtol',defaultVal=0.01_pReal) + + num%itmin = num_grid%get_asInt ('itmin',defaultVal=1) + num%itmax = num_grid%get_asInt ('itmax',defaultVal=250) + + if (num%eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') + if (num%eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') + if (num%eps_stress_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_stress_atol') + if (num%eps_stress_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_stress_rtol') + if (num%itmax <= 1) call IO_error(301,ext_msg='itmax') + if (num%itmin > num%itmax .or. num%itmin < 1) call IO_error(301,ext_msg='itmin') + !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-mech_snes_type ngmres',ierr) CHKERRQ(ierr) - call PETScOptionsInsertString(PETSC_NULL_OPTIONS,trim(petsc_options),ierr) + call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num%petsc_options,ierr) CHKERRQ(ierr) !-------------------------------------------------------------------------------------------------- @@ -389,47 +413,19 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm SNESConvergedReason :: reason PetscObject :: dummy PetscErrorCode :: ierr - integer :: & - itmin, & !< minimum number of iterations - itmax !< maximum number of iterations real(pReal) :: & divTol, & - BCTol, & - eps_div_atol, & !< absolute tolerance for equilibrium - eps_div_rtol, & !< relative tolerance for equilibrium - eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC - eps_stress_rtol !< relative tolerance for fullfillment of stress BC - class(tNode), pointer :: & - num_grid + BCTol -!----------------------------------------------------------------------------------- -! reading numerical parameters and do sanity check - num_grid => numerics_root%get('grid',defaultVal=emptyDict) - eps_div_atol = num_grid%get_asFloat('eps_div_atol',defaultVal=1.0e-4_pReal) - eps_div_rtol = num_grid%get_asFloat('eps_div_rtol',defaultVal=5.0e-4_pReal) - eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) - eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=0.01_pReal) + divTol = max(maxval(abs(P_av))*num%eps_div_rtol ,num%eps_div_atol) + BCTol = max(maxval(abs(P_av))*num%eps_stress_rtol,num%eps_stress_atol) - itmin = num_grid%get_asInt('itmin',defaultVal=1) - itmax = num_grid%get_asInt('itmax',defaultVal=250) - - if (eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') - if (eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') - if (eps_stress_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_stress_atol') - if (eps_stress_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_stress_rtol') - if (itmax <= 1) call IO_error(301,ext_msg='itmax') - if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') -!------------------------------------------------------------------------------------ - - divTol = max(maxval(abs(P_av))*eps_div_rtol ,eps_div_atol) - BCTol = max(maxval(abs(P_av))*eps_stress_rtol,eps_stress_atol) - - if ((totalIter >= itmin .and. & + if ((totalIter >= num%itmin .and. & all([ err_div/divTol, & err_BC /BCTol ] < 1.0_pReal)) & .or. terminallyIll) then reason = 1 - elseif (totalIter >= itmax) then + elseif (totalIter >= num%itmax) then reason = -1 else reason = 0 @@ -466,19 +462,6 @@ subroutine formResidual(in, F, & nfuncs PetscObject :: dummy PetscErrorCode :: ierr - integer :: & - itmin, & - itmax - class(tNode), pointer :: & - num_grid - -!---------------------------------------------------------------------- -! read numerical paramteter and do sanity checks - num_grid => numerics_root%get('grid',defaultVal=emptyDict) - itmin = num_grid%get_asInt('itmin',defaultVal=1) - itmax = num_grid%get_asInt('itmax',defaultVal=250) - if (itmax <= 1) call IO_error(301,ext_msg='itmax') - if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') call SNESGetNumberFunctionEvals(snes,nfuncs,ierr); CHKERRQ(ierr) call SNESGetIterationNumber(snes,PETScIter,ierr); CHKERRQ(ierr) @@ -488,7 +471,7 @@ subroutine formResidual(in, F, & ! begin of new iteration newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 - write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', itmin, '≤',totalIter, '≤', itmax + write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax if (iand(debug_level(debug_spectral),debug_spectralRotation) /= 0) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index a32216615..87cb69579 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -33,9 +33,24 @@ module grid_mech_spectral_polarisation type, private :: tNumerics logical :: update_gamma !< update gamma operator with current stiffness + character(len=:), allocatable :: & + petsc_options + integer :: & + itmin, & !< minimum number of iterations + itmax !< maximum number of iterations + real(pReal) :: & + eps_div_atol, & !< absolute tolerance for equilibrium + eps_div_rtol, & !< relative tolerance for equilibrium + eps_curl_atol, & !< absolute tolerance for compatibility + eps_curl_rtol, & !< relative tolerance for compatibility + eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC + eps_stress_rtol !< relative tolerance for fullfillment of stress BC + real(pReal) :: & + polarAlpha, & !< polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme + polarBeta !< polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme end type tNumerics - type(tNumerics) :: num ! numerics parameters. Better name? + type(tNumerics), private :: num ! numerics parameters. Better name? !-------------------------------------------------------------------------------------------------- ! PETSc data @@ -107,8 +122,7 @@ subroutine grid_mech_spectral_polarisation_init integer(HID_T) :: fileHandle, groupHandle integer :: fileUnit character(len=pStringLen) :: & - fileName, & - petsc_options + fileName write(6,'(/,a)') ' <<<+- grid_mech_spectral_polarisation init -+>>>'; flush(6) @@ -118,14 +132,36 @@ subroutine grid_mech_spectral_polarisation_init !------------------------------------------------------------------------------------------------- ! read numerical parameters num_grid => numerics_root%get('grid',defaultVal=emptyDict) - petsc_options = num_grid%get_asString('petsc_options',defaultVal='') - num%update_gamma = num_grid%get_asBool('update_gamma',defaultVal=.false.) + + num%petsc_options = num_grid%get_asString('petsc_options', defaultVal='') + num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) + num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) + num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) + num%eps_curl_atol = num_grid%get_asFloat ('eps_curl_atol', defaultVal=1.0e-10_pReal) + num%eps_curl_rtol = num_grid%get_asFloat ('eps_curl_rtol', defaultVal=5.0e-4_pReal) + num%eps_stress_atol = num_grid%get_asFloat ('eps_stress_atol', defaultVal=1.0e3_pReal) + num%eps_stress_rtol = num_grid%get_asFloat ('eps_stress_rtol', defaultVal=0.01_pReal) + num%itmin = num_grid%get_asInt ('itmin', defaultVal=1) + num%itmax = num_grid%get_asInt ('itmax', defaultVal=250) + num%polarAlpha = num_grid%get_asFloat ('polaralpha', defaultVal=1.0_pReal) + num%polarBeta = num_grid%get_asFloat ('polarbeta', defaultVal=1.0_pReal) + + if (num%eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') + if (num%eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') + if (num%eps_curl_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_curl_atol') + if (num%eps_curl_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_curl_rtol') + if (num%eps_stress_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_stress_atol') + if (num%eps_stress_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_stress_rtol') + if (num%itmax <= 1) call IO_error(301,ext_msg='itmax') + if (num%itmin > num%itmax .or. num%itmin < 1) call IO_error(301,ext_msg='itmin') + if (num%polarAlpha <= 0.0_pReal .or. num%polarAlpha > 2.0_pReal) call IO_error(301,ext_msg='polarAlpha') + if (num%polarBeta < 0.0_pReal .or. num%polarBeta > 2.0_pReal) call IO_error(301,ext_msg='polarBeta') !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-mech_snes_type ngmres',ierr) CHKERRQ(ierr) - call PETScOptionsInsertString(PETSC_NULL_OPTIONS,trim(petsc_options),ierr) + call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num%petsc_options,ierr) CHKERRQ(ierr) !-------------------------------------------------------------------------------------------------- @@ -436,56 +472,22 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm SNESConvergedReason :: reason PetscObject :: dummy PetscErrorCode :: ierr - integer :: & - itmin, & !< minimum number of iterations - itmax !< maximum number of iterations real(pReal) :: & curlTol, & divTol, & - BCTol, & - eps_div_atol, & !< absolute tolerance for equilibrium - eps_div_rtol, & !< relative tolerance for equilibrium - eps_curl_atol, & !< absolute tolerance for compatibility - eps_curl_rtol, & !< relative tolerance for compatibility - eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC - eps_stress_rtol !< relative tolerance for fullfillment of stress BC - class(tNode), pointer :: & - num_grid + BCTol -!----------------------------------------------------------------------------------- -! reading numerical parameters and do sanity check - num_grid => numerics_root%get('grid',defaultVal=emptyDict) - eps_div_atol = num_grid%get_asFloat('eps_div_atol',defaultVal=1.0e-4_pReal) - eps_div_rtol = num_grid%get_asFloat('eps_div_rtol',defaultVal=5.0e-4_pReal) - eps_curl_atol = num_grid%get_asFloat('eps_curl_atol',defaultVal=1.0e-10_pReal) - eps_curl_rtol = num_grid%get_asFloat('eps_curl_rtol',defaultVal=5.0e-4_pReal) - eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) - eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=0.01_pReal) + curlTol = max(maxval(abs(F_aim-math_I3))*num%eps_curl_rtol ,num%eps_curl_atol) + divTol = max(maxval(abs(P_av)) *num%eps_div_rtol ,num%eps_div_atol) + BCTol = max(maxval(abs(P_av)) *num%eps_stress_rtol,num%eps_stress_atol) - itmin = num_grid%get_asInt('itmin',defaultVal=1) - itmax = num_grid%get_asInt('itmax',defaultVal=250) - - if (eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') - if (eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') - if (eps_curl_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_curl_atol') - if (eps_curl_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_curl_rtol') - if (eps_stress_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_stress_atol') - if (eps_stress_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_stress_rtol') - if (itmax <= 1) call IO_error(301,ext_msg='itmax') - if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') -!------------------------------------------------------------------------------------ - - curlTol = max(maxval(abs(F_aim-math_I3))*eps_curl_rtol ,eps_curl_atol) - divTol = max(maxval(abs(P_av)) *eps_div_rtol ,eps_div_atol) - BCTol = max(maxval(abs(P_av)) *eps_stress_rtol,eps_stress_atol) - - if ((totalIter >= itmin .and. & + if ((totalIter >= num%itmin .and. & all([ err_div /divTol, & err_curl/curlTol, & err_BC /BCTol ] < 1.0_pReal)) & .or. terminallyIll) then reason = 1 - elseif (totalIter >= itmax) then + elseif (totalIter >= num%itmax) then reason = -1 else reason = 0 @@ -527,27 +529,9 @@ subroutine formResidual(in, FandF_tau, & nfuncs PetscObject :: dummy PetscErrorCode :: ierr - class(tNode), pointer :: & - num_grid - real(pReal) :: & - polarAlpha, & !< polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme - polarBeta !< polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme - integer :: & - i, j, k, e, & - itmin, itmax + integer :: & + i, j, k, e -!-------------------------------------------------------------------------------------------------- -! read numerical paramteters and do sanity checks - num_grid => numerics_root%get('grid',defaultVal = emptyDict) - polarAlpha = num_grid%get_asFloat('polaralpha',defaultVal=1.0_pReal) - polarBeta = num_grid%get_asFloat('polarbeta', defaultVal=1.0_pReal) - itmin = num_grid%get_asInt('itmin',defaultVal=1) - itmax = num_grid%get_asInt('itmax',defaultVal=250) - - if (itmax <= 1) call IO_error(301,ext_msg='itmax') - if (itmin > itmax .or. itmin < 1) call IO_error(301,ext_msg='itmin') - if (polarAlpha <= 0.0_pReal .or. polarAlpha > 2.0_pReal) call IO_error(301,ext_msg='polarAlpha') - if (polarBeta < 0.0_pReal .or. polarBeta > 2.0_pReal) call IO_error(301,ext_msg='polarBeta') !--------------------------------------------------------------------------------------------------- F => FandF_tau(1:3,1:3,1,& @@ -570,7 +554,7 @@ subroutine formResidual(in, FandF_tau, & ! begin of new iteration newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 - write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', itmin, '≤',totalIter, '≤', itmax + write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax if (iand(debug_level(debug_spectral),debug_spectralRotation) /= 0) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) @@ -584,26 +568,26 @@ subroutine formResidual(in, FandF_tau, & tensorField_real = 0.0_pReal do k = 1, grid3; do j = 1, grid(2); do i = 1, grid(1) tensorField_real(1:3,1:3,i,j,k) = & - polarBeta*math_mul3333xx33(C_scale,F(1:3,1:3,i,j,k) - math_I3) -& - polarAlpha*matmul(F(1:3,1:3,i,j,k), & + num%polarBeta*math_mul3333xx33(C_scale,F(1:3,1:3,i,j,k) - math_I3) -& + num%polarAlpha*matmul(F(1:3,1:3,i,j,k), & math_mul3333xx33(C_scale,F_tau(1:3,1:3,i,j,k) - F(1:3,1:3,i,j,k) - math_I3)) enddo; enddo; enddo !-------------------------------------------------------------------------------------------------- ! doing convolution in Fourier space call utilities_FFTtensorForward - call utilities_fourierGammaConvolution(params%rotation_BC%rotate(polarBeta*F_aim,active=.true.)) + call utilities_fourierGammaConvolution(params%rotation_BC%rotate(num%polarBeta*F_aim,active=.true.)) call utilities_FFTtensorBackward !-------------------------------------------------------------------------------------------------- ! constructing residual - residual_F_tau = polarBeta*F - tensorField_real(1:3,1:3,1:grid(1),1:grid(2),1:grid3) + residual_F_tau = num%polarBeta*F - tensorField_real(1:3,1:3,1:grid(1),1:grid(2),1:grid3) !-------------------------------------------------------------------------------------------------- ! evaluate constitutive response call utilities_constitutiveResponse(residual_F, & ! "residuum" gets field of first PK stress (to save memory) P_av,C_volAvg,C_minMaxAvg, & - F - residual_F_tau/polarBeta,params%timeinc,params%rotation_BC) + F - residual_F_tau/num%polarBeta,params%timeinc,params%rotation_BC) call MPI_Allreduce(MPI_IN_PLACE,terminallyIll,1,MPI_LOGICAL,MPI_LOR,PETSC_COMM_WORLD,ierr) !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index cc9d3dd65..08e5d633c 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -121,10 +121,10 @@ module spectral_utilities character(len=:), allocatable :: & spectral_derivative, & !< approximation used for derivatives in Fourier space FFTW_plan_mode, & !< FFTW plan mode, see www.fftw.org - PETSc_options + petsc_options end type tNumerics - type(tNumerics) :: num ! numerics parameters. Better name? + type(tNumerics), private :: num ! numerics parameters. Better name? enum, bind(c); enumerator :: & DERIVATIVE_CONTINUOUS_ID, & @@ -189,8 +189,6 @@ subroutine spectral_utilities_init scalarSize = 1_C_INTPTR_T, & vecSize = 3_C_INTPTR_T, & tensorSize = 9_C_INTPTR_T - character(len=pStringLen) :: & - petsc_options class(tNode), pointer :: & num_grid @@ -220,13 +218,13 @@ subroutine spectral_utilities_init ' add more using the PETSc_Options keyword in numerics.config '; flush(6) num_grid => numerics_root%get('grid',defaultVal=emptyDict) - petsc_options = num_grid%get_asString('petsc_options',defaultVal='') + num%petsc_options = num_grid%get_asString('petsc_options',defaultVal='') call PETScOptionsClear(PETSC_NULL_OPTIONS,ierr) CHKERRQ(ierr) if(debugPETSc) call PETScOptionsInsertString(PETSC_NULL_OPTIONS,trim(PETSCDEBUG),ierr) CHKERRQ(ierr) - call PETScOptionsInsertString(PETSC_NULL_OPTIONS,trim(petsc_options),ierr) + call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num%petsc_options,ierr) CHKERRQ(ierr) grid1Red = grid(1)/2 + 1 diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index 8945c2c18..a4a187c38 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -34,8 +34,8 @@ module discretization_marc mesh_unitlength !< physical length of one unit in mesh integer, dimension(:), allocatable, public :: & - mesh_FEM2DAMASK_elem, & !< DAMASK element ID for Marc element ID - mesh_FEM2DAMASK_node !< DAMASK node ID for Marc node ID + mesh_FEM2DAMASK_elem, & !< DAMASK element ID for Marc element ID + mesh_FEM2DAMASK_node !< DAMASK node ID for Marc node ID public :: & discretization_marc_init diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index 72fa53566..185f4c375 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -49,7 +49,6 @@ program DAMASK_mesh i, & errorID, & cutBackLevel = 0, & !< cut back level \f$ t = \frac{t_{inc}}{2^l} \f$ - maxCutBack, & !< max number of cutbacks stepFraction = 0, & !< fraction of current time interval currentLoadcase = 0, & !< current load case currentFace = 0, & @@ -57,7 +56,6 @@ program DAMASK_mesh totalIncsCounter = 0, & !< total # of increments statUnit = 0, & !< file unit for statistics output stagIter, & - stagItMax, & !< max number of field level staggered iterations component class(tNode), pointer :: & num_mesh @@ -65,6 +63,14 @@ program DAMASK_mesh character(len=pStringLen) :: & incInfo, & loadcase_string + type :: tNumerics + integer :: & + stagItMax, & !< max number of field level staggered iterations + maxCutBack !< max number of cutbacks + end type tNumerics + + type(tNumerics) :: num + type(tLoadCase), allocatable, dimension(:) :: loadCases !< array of all load cases type(tSolutionState), allocatable, dimension(:) :: solres PetscInt :: faceSet, currentFaceSet, field, dimPlex @@ -81,11 +87,11 @@ program DAMASK_mesh !--------------------------------------------------------------------- ! reading field information from numerics file and do sanity checks num_mesh => numerics_root%get('mesh', defaultVal=emptyDict) - stagItMax = num_mesh%get_asInt('maxStaggeredIter',defaultVal=10) - maxCutBack = num_mesh%get_asInt('maxCutBack',defaultVal=3) + num%stagItMax = num_mesh%get_asInt('maxStaggeredIter',defaultVal=10) + num%maxCutBack = num_mesh%get_asInt('maxCutBack',defaultVal=3) - if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') - if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') + if (num%stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') + if (num%maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') ! reading basic information from load case file and allocate data structure containing load cases call DMGetDimension(geomMesh,dimPlex,ierr); CHKERRA(ierr) !< dimension of mesh (2D or 3D) @@ -327,7 +333,7 @@ program DAMASK_mesh enddo stagIter = stagIter + 1 - stagIterate = stagIter < stagItMax & + stagIterate = stagIter < num%stagItMax & .and. all(solres(:)%converged) & .and. .not. all(solres(:)%stagConverged) ! stationary with respect to staggered iteration enddo @@ -335,7 +341,7 @@ program DAMASK_mesh ! check solution cutBack = .False. if(.not. all(solres(:)%converged .and. solres(:)%stagConverged)) then ! no solution found - if (cutBackLevel < maxCutBack) then ! do cut back + if (cutBackLevel < num%maxCutBack) then ! do cut back write(6,'(/,a)') ' cut back detected' cutBack = .True. stepFraction = (stepFraction - 1) * subStepFactor ! adjust to new denominator diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index a8479913e..a6236175c 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -105,14 +105,14 @@ subroutine FEM_utilities_init class(tNode), pointer :: & num_mesh integer :: structOrder !< order of displacement shape functions - character(len=pStringLen) :: & + character(len=:), allocatable :: & petsc_options PetscErrorCode :: ierr write(6,'(/,a)') ' <<<+- DAMASK_FEM_utilities init -+>>>' num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - structOrder = num_mesh%get_asInt('structOrder',defaultVal = 2) + structOrder = num_mesh%get_asInt ('structOrder', defaultVal = 2) petsc_options = num_mesh%get_asString('petsc_options', defaultVal='') !-------------------------------------------------------------------------------------------------- @@ -134,7 +134,7 @@ subroutine FEM_utilities_init &-mech_pc_type ml -mech_mg_levels_ksp_type chebyshev & &-mech_mg_levels_pc_type sor -mech_pc_ml_nullspace user',ierr) CHKERRQ(ierr) - call PetscOptionsInsertString(PETSC_NULL_OPTIONS,trim(petsc_options),ierr) + call PetscOptionsInsertString(PETSC_NULL_OPTIONS,petsc_options,ierr) CHKERRQ(ierr) write(petsc_optionsOrder,'(a,i0)') '-mechFE_petscspace_degree ', structOrder call PetscOptionsInsertString(PETSC_NULL_OPTIONS,trim(petsc_optionsOrder),ierr) diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 715b02c0d..918914432 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -37,6 +37,18 @@ module mesh_mech_FEM type(tSolutionParams) :: params + type, private :: tNumerics + integer :: & + integrationOrder, & !< order of quadrature rule required + itmax + logical :: & + BBarStabilisation + real(pReal) :: & + eps_struct_atol, & !< absolute tolerance for mechanical equilibrium + eps_struct_rtol !< relative tolerance for mechanical equilibrium + end type tNumerics + + type(tNumerics), private :: num !-------------------------------------------------------------------------------------------------- ! PETSc data SNES :: mech_snes @@ -97,20 +109,21 @@ subroutine FEM_mech_init(fieldBC) class(tNode), pointer :: & num_mesh - integer :: & - integrationOrder, & !< order of quadrature rule required - itmax write(6,'(/,a)') ' <<<+- FEM_mech init -+>>>'; flush(6) !----------------------------------------------------------------------------- ! read numerical parametes and do sanity checks num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - integrationOrder = num_mesh%get_asInt('integrationorder',defaultVal = 2) + num%integrationOrder = num_mesh%get_asInt('integrationorder',defaultVal = 2) + num%itmax = num_mesh%get_asInt('itmax',defaultVal=250) + num%BBarStabilisation = num_mesh%get_asBool('bbarstabilisation',defaultVal = .false.) + num%eps_struct_atol = num_mesh%get_asFloat('eps_struct_atol', defaultVal = 1.0e-10_pReal) + num%eps_struct_rtol = num_mesh%get_asFloat('eps_struct_rtol', defaultVal = 1.0e-4_pReal) - num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - itmax = num_mesh%get_asInt('itmax',defaultVal=250) - if (itmax <= 1) call IO_error(301,ext_msg='itmax') + if (num%itmax <= 1) call IO_error(301,ext_msg='itmax') + if (num%eps_struct_rtol <= 0.0_pReal) call IO_error(301,ext_msg='eps_struct_rtol') + if (num%eps_struct_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_struct_atol') !-------------------------------------------------------------------------------------------------- ! Setup FEM mech mesh @@ -119,9 +132,9 @@ subroutine FEM_mech_init(fieldBC) !-------------------------------------------------------------------------------------------------- ! Setup FEM mech discretization - qPoints = FEM_quadrature_points( dimPlex,integrationOrder)%p - qWeights = FEM_quadrature_weights(dimPlex,integrationOrder)%p - nQuadrature = FEM_nQuadrature( dimPlex,integrationOrder) + qPoints = FEM_quadrature_points( dimPlex,num%integrationOrder)%p + qWeights = FEM_quadrature_weights(dimPlex,num%integrationOrder)%p + nQuadrature = FEM_nQuadrature( dimPlex,num%integrationOrder) qPointsP => qPoints qWeightsP => qWeights call PetscQuadratureCreate(PETSC_COMM_SELF,mechQuad,ierr); CHKERRQ(ierr) @@ -130,7 +143,7 @@ subroutine FEM_mech_init(fieldBC) call PetscQuadratureSetData(mechQuad,dimPlex,nc,nQuadrature,qPointsP,qWeightsP,ierr) CHKERRQ(ierr) call PetscFECreateDefault(PETSC_COMM_SELF,dimPlex,nc,PETSC_TRUE,prefix, & - integrationOrder,mechFE,ierr); CHKERRQ(ierr) + num%integrationOrder,mechFE,ierr); CHKERRQ(ierr) call PetscFESetQuadrature(mechFE,mechQuad,ierr); CHKERRQ(ierr) call PetscFEGetDimension(mechFE,nBasis,ierr); CHKERRQ(ierr) nBasis = nBasis/nc @@ -221,7 +234,7 @@ subroutine FEM_mech_init(fieldBC) call SNESSetMaxLinearSolveFailures(mech_snes, huge(1), ierr); CHKERRQ(ierr) !< ignore linear solve failures call SNESSetConvergenceTest(mech_snes,FEM_mech_converged,PETSC_NULL_VEC,PETSC_NULL_FUNCTION,ierr) CHKERRQ(ierr) - call SNESSetTolerances(mech_snes,1.0,0.0,0.0,itmax,itmax,ierr) + call SNESSetTolerances(mech_snes,1.0,0.0,0.0,num%itmax,num%itmax,ierr) CHKERRQ(ierr) call SNESSetFromOptions(mech_snes,ierr); CHKERRQ(ierr) @@ -281,22 +294,10 @@ type(tSolutionState) function FEM_mech_solution( & character(len=*), intent(in) :: & incInfoIn -!-------------------------------------------------------------------------------------------------- - integer :: & - itmax - class(tNode), pointer :: & - num_mesh PetscErrorCode :: ierr SNESConvergedReason :: reason -!-------------------------------------------------------------------------------------------------- -! read numerical parameter and do sanity check - num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - itmax = num_mesh%get_asInt('itmax',defaultVal=250) - if (itmax <= 1) call IO_error(301,ext_msg='itmax') -!------------------------------------------------------------------------------------------------- - incInfo = incInfoIn FEM_mech_solution%converged =.false. !-------------------------------------------------------------------------------------------------- @@ -311,7 +312,7 @@ type(tSolutionState) function FEM_mech_solution( & if (reason < 1) then ! 0: still iterating (will not occur), negative -> convergence error FEM_mech_solution%converged = .false. - FEM_mech_solution%iterationsNeeded = itmax + FEM_mech_solution%iterationsNeeded = num%itmax else ! >= 1 proper convergence (or terminally ill) FEM_mech_solution%converged = .true. call SNESGetIterationNumber(mech_snes,FEM_mech_solution%iterationsNeeded,ierr) @@ -349,12 +350,6 @@ subroutine FEM_mech_formResidual(dm_local,xx_local,f_local,dummy,ierr) PetscInt :: bcSize IS :: bcPoints - class(tNode), pointer :: & - num_mesh - logical :: BBarStabilisation - - num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - BBarStabilisation = num_mesh%get_asBool('bbarstabilisation',defaultVal = .false.) allocate(pV0(dimPlex)) allocate(pcellJ(dimPlex**2)) @@ -409,7 +404,7 @@ subroutine FEM_mech_formResidual(dm_local,xx_local,f_local,dummy,ierr) materialpoint_F(1:dimPlex,1:dimPlex,qPt+1,cell+1) = & reshape(matmul(BMat,x_scal),shape=[dimPlex,dimPlex], order=[2,1]) enddo - if (BBarStabilisation) then + if (num%BBarStabilisation) then detFAvg = math_det33(sum(materialpoint_F(1:3,1:3,1:nQuadrature,cell+1),dim=3)/real(nQuadrature)) do qPt = 1, nQuadrature materialpoint_F(1:dimPlex,1:dimPlex,qPt,cell+1) = & @@ -498,12 +493,6 @@ subroutine FEM_mech_formJacobian(dm_local,xx_local,Jac_pre,Jac,dummy,ierr) IS :: bcPoints - class(tNode), pointer :: & - num_mesh - logical :: BBarStabilisation - - num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - BBarStabilisation = num_mesh%get_asBool('bbarstabilisation',defaultVal = .false.) allocate(pV0(dimPlex)) allocate(pcellJ(dimPlex**2)) @@ -560,7 +549,7 @@ subroutine FEM_mech_formJacobian(dm_local,xx_local,Jac_pre,Jac,dummy,ierr) MatA = matmul(reshape(reshape(materialpoint_dPdF(1:dimPlex,1:dimPlex,1:dimPlex,1:dimPlex,qPt+1,cell+1), & shape=[dimPlex,dimPlex,dimPlex,dimPlex], order=[2,1,4,3]), & shape=[dimPlex*dimPlex,dimPlex*dimPlex]),BMat)*qWeights(qPt+1) - if (BBarStabilisation) then + if (num%BBarStabilisation) then F(1:dimPlex,1:dimPlex) = reshape(matmul(BMat,x_scal),shape=[dimPlex,dimPlex]) FInv = math_inv33(F) K_eA = K_eA + matmul(transpose(BMat),MatA)*math_det33(FInv)**(1.0/real(dimPlex)) @@ -577,7 +566,7 @@ subroutine FEM_mech_formJacobian(dm_local,xx_local,Jac_pre,Jac,dummy,ierr) K_eA = K_eA + matmul(transpose(BMat),MatA) endif enddo - if (BBarStabilisation) then + if (num%BBarStabilisation) then FInv = math_inv33(FAvg) K_e = K_eA*math_det33(FAvg/real(nQuadrature))**(1.0/real(dimPlex)) + & (matmul(matmul(transpose(BMatAvg), & @@ -687,7 +676,7 @@ subroutine FEM_mech_converged(snes_local,PETScIter,xnorm,snorm,fnorm,reason,dumm !-------------------------------------------------------------------------------------------------- ! report - divTol = max(maxval(abs(P_av(1:dimPlex,1:dimPlex)))*1.0e-4_pReal,1.0e-10_pReal) + divTol = max(maxval(abs(P_av(1:dimPlex,1:dimPlex)))*num%eps_struct_rtol,num%eps_struct_atol) call SNESConvergedDefault(snes_local,PETScIter,xnorm,snorm,fnorm/divTol,reason,dummy,ierr) CHKERRQ(ierr) if (terminallyIll) reason = SNES_DIVERGED_FUNCTION_DOMAIN From 4314ec1f3778e5a1acd979761dee384682425bfb Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 24 Jun 2020 11:02:15 -0400 Subject: [PATCH 243/958] [skip ci] started to replace .format() with f-strings --- python/damask/_asciitable.py | 4 ++-- python/damask/grid_filters.py | 4 ++-- python/damask/util.py | 15 +++++++-------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/python/damask/_asciitable.py b/python/damask/_asciitable.py index 8410b23a1..9d762369a 100644 --- a/python/damask/_asciitable.py +++ b/python/damask/_asciitable.py @@ -157,7 +157,7 @@ class ASCIItable(): def head_write(self, header = True): """Write current header information (info + labels).""" - head = ['{}\theader'.format(len(self.info)+self.__IO__['labeled'])] if header else [] + head = [f"{len(self.info)+self.__IO__['labeled']}\theader"] if header else [] head.append(self.info) if self.__IO__['labeled']: head.append('\t'.join(map(self._quote,self.tags))) @@ -209,7 +209,7 @@ class ASCIItable(): labelList.append(tags[id]) else: label = tags[id][2:] # get label - while id < len(tags) and tags[id] == '{}_{}'.format(dim,label): # check successors + while id < len(tags) and tags[id] == f'{dim}_{label}': # check successors id += 1 # next label... dim += 1 # ...should be one higher dimension labelList.append(label) # reached end --> store diff --git a/python/damask/grid_filters.py b/python/damask/grid_filters.py index 76ab20872..6c3f24cff 100644 --- a/python/damask/grid_filters.py +++ b/python/damask/grid_filters.py @@ -233,7 +233,7 @@ def cell_coord0_gridSizeOrigin(coord0,ordered=True): origin[_np.where(grid==1)] = 0.0 if grid.prod() != len(coord0): - raise ValueError('Data count {} does not match grid {}.'.format(len(coord0),grid)) + raise ValueError('Data count {len(coord0)} does not match grid {grid}.') start = origin + delta*.5 end = origin - delta*.5 + size @@ -384,7 +384,7 @@ def node_coord0_gridSizeOrigin(coord0,ordered=True): origin = mincorner if (grid+1).prod() != len(coord0): - raise ValueError('Data count {} does not match grid {}.'.format(len(coord0),grid)) + raise ValueError('Data count {len(coord0)} does not match grid {grid}.') atol = _np.max(size)*5e-2 if not (_np.allclose(coords[0],_np.linspace(mincorner[0],maxcorner[0],grid[0]+1),atol=atol) and \ diff --git a/python/damask/util.py b/python/damask/util.py index a3fc71d3a..f67df461a 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -125,7 +125,7 @@ def execute(cmd, stdout = stdout.decode('utf-8').replace('\x08','') stderr = stderr.decode('utf-8').replace('\x08','') if process.returncode != 0: - raise RuntimeError('{} failed with returncode {}'.format(cmd,process.returncode)) + raise RuntimeError(f'{cmd} failed with returncode {process.returncode}') return stdout, stderr @@ -223,21 +223,20 @@ class _ProgressBar: self.start_time = datetime.datetime.now() self.last_fraction = 0.0 - sys.stderr.write('{} {} 0% ETA n/a'.format(self.prefix, '░'*self.bar_length)) + sys.stderr.write(f"{self.prefix} {'░'*self.bar_length} 0% ETA n/a") sys.stderr.flush() def update(self,iteration): fraction = (iteration+1) / self.total + filled_length = int(self.bar_length * fraction) - if int(self.bar_length * fraction) > int(self.bar_length * self.last_fraction): + if filled_length > int(self.bar_length * self.last_fraction): + bar = '█' * filled_length + '░' * (self.bar_length - filled_length) delta_time = datetime.datetime.now() - self.start_time remaining_time = (self.total - (iteration+1)) * delta_time / (iteration+1) remaining_time -= datetime.timedelta(microseconds=remaining_time.microseconds) # remove μs - - filled_length = int(self.bar_length * fraction) - bar = '█' * filled_length + '░' * (self.bar_length - filled_length) - sys.stderr.write('\r{} {} {:>4.0%} ETA {}'.format(self.prefix, bar, fraction, remaining_time)) + sys.stderr.write('\r{self.prefix} {bar} {fraction:>4.0%} ETA {remaining_time}') sys.stderr.flush() self.last_fraction = fraction @@ -249,7 +248,7 @@ class _ProgressBar: class bcolors: """ - ASCII Colors. + ASCII colors. https://svn.blender.org/svnroot/bf-blender/trunk/blender/build_files/scons/tools/bcolors.py https://stackoverflow.com/questions/287871 From 445d8b4f745527b9433b254deb9b154afc51a40f Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 24 Jun 2020 17:09:15 +0200 Subject: [PATCH 244/958] sanity checks --- src/grid/grid_damage_spectral.f90 | 2 ++ src/grid/grid_thermal_spectral.f90 | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index 5c0f98f9f..eec65a89f 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -96,6 +96,8 @@ subroutine grid_damage_spectral_init if (num%residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') if (num%itmax <= 1) call IO_error(301,ext_msg='itmax') + if (num%eps_damage_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_damage_atol') + if (num%eps_damage_rtol <= 0.0_pReal) call IO_error(301,ext_msg='eps_damage_rtol') !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index acf3b1f65..b15167cee 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -81,12 +81,15 @@ subroutine grid_thermal_spectral_init write(6,'(a)') ' https://doi.org/10.1007/978-981-10-6855-3_80' !------------------------------------------------------------------------------------------------- -! read numerical parameter +! read numerical parameter and do sanity checks num_grid => numerics_root%get('grid',defaultVal=emptyDict) num%petsc_options = num_grid%get_asString('petsc_options',defaultVal='') num%eps_thermal_atol = num_grid%get_asFloat ('eps_thermal_atol',defaultVal=1.0e-2_pReal) num%eps_thermal_rtol = num_grid%get_asFloat ('eps_thermal_rtol',defaultVal=1.0e-6_pReal) - + + if (num%eps_thermal_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_thermal_atol') + if (num%eps_thermal_rtol <= 0.0_pReal) call IO_error(301,ext_msg='eps_thermal_rtol') + !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-thermal_snes_type ngmres',ierr) From a71b8aea5caffa0fed3b01dd950c25dc72cc058d Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 24 Jun 2020 17:29:13 +0200 Subject: [PATCH 245/958] [skip ci] updated version information after successful test of v2.0.3-2692-g3d93a5ff --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index d041f794f..d94a70ab1 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2680-g17212b27 +v2.0.3-2692-g3d93a5ff From e155bef9a547738794480b4acb0e9c640f912083 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 24 Jun 2020 17:18:16 +0200 Subject: [PATCH 246/958] better names; polishing --- src/YAML_parse.f90 | 10 ++++----- src/grid/grid_mech_spectral_polarisation.f90 | 22 ++++++++++---------- src/numerics.f90 | 2 +- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index cfbcf11f3..626a387fa 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -36,15 +36,15 @@ end subroutine YAML_init !-------------------------------------------------------------------------------------------------- recursive function parse_flow(flow_string) result(node) - character(len=*), intent(inout) :: flow_string + character(len=*), intent(inout) :: flow_string !< YAML file in flow style class (tNode), pointer :: node class (tNode), pointer :: myVal character(len=pStringLen) :: key - integer :: e, & !> end position of dictionary or list - s, & !> start position of dictionary or list - d !> position of key: value separator (':') + integer :: e, & ! end position of dictionary or list + s, & ! start position of dictionary or list + d ! position of key: value separator (':') flow_string = trim(adjustl(flow_string(:))) if (len_trim(flow_string) == 0) then @@ -96,7 +96,7 @@ end function parse_flow !-------------------------------------------------------------------------------------------------- integer function find_end(str,e_char) - character(len=*), intent(in) :: str + character(len=*), intent(in) :: str !< chunk of YAML flow string character, intent(in) :: e_char !< end of list/dict ( '}' or ']') integer :: N_sq, & !< number of open square brackets diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 87cb69579..f6e554ed4 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -46,8 +46,8 @@ module grid_mech_spectral_polarisation eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC eps_stress_rtol !< relative tolerance for fullfillment of stress BC real(pReal) :: & - polarAlpha, & !< polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme - polarBeta !< polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme + alpha, & !< polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme + beta !< polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme end type tNumerics type(tNumerics), private :: num ! numerics parameters. Better name? @@ -143,8 +143,8 @@ subroutine grid_mech_spectral_polarisation_init num%eps_stress_rtol = num_grid%get_asFloat ('eps_stress_rtol', defaultVal=0.01_pReal) num%itmin = num_grid%get_asInt ('itmin', defaultVal=1) num%itmax = num_grid%get_asInt ('itmax', defaultVal=250) - num%polarAlpha = num_grid%get_asFloat ('polaralpha', defaultVal=1.0_pReal) - num%polarBeta = num_grid%get_asFloat ('polarbeta', defaultVal=1.0_pReal) + num%alpha = num_grid%get_asFloat ('alpha', defaultVal=1.0_pReal) + num%beta = num_grid%get_asFloat ('beta', defaultVal=1.0_pReal) if (num%eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') if (num%eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') @@ -154,8 +154,8 @@ subroutine grid_mech_spectral_polarisation_init if (num%eps_stress_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_stress_rtol') if (num%itmax <= 1) call IO_error(301,ext_msg='itmax') if (num%itmin > num%itmax .or. num%itmin < 1) call IO_error(301,ext_msg='itmin') - if (num%polarAlpha <= 0.0_pReal .or. num%polarAlpha > 2.0_pReal) call IO_error(301,ext_msg='polarAlpha') - if (num%polarBeta < 0.0_pReal .or. num%polarBeta > 2.0_pReal) call IO_error(301,ext_msg='polarBeta') + if (num%alpha <= 0.0_pReal .or. num%alpha > 2.0_pReal) call IO_error(301,ext_msg='alpha') + if (num%beta < 0.0_pReal .or. num%beta > 2.0_pReal) call IO_error(301,ext_msg='beta') !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc @@ -568,26 +568,26 @@ subroutine formResidual(in, FandF_tau, & tensorField_real = 0.0_pReal do k = 1, grid3; do j = 1, grid(2); do i = 1, grid(1) tensorField_real(1:3,1:3,i,j,k) = & - num%polarBeta*math_mul3333xx33(C_scale,F(1:3,1:3,i,j,k) - math_I3) -& - num%polarAlpha*matmul(F(1:3,1:3,i,j,k), & + num%beta*math_mul3333xx33(C_scale,F(1:3,1:3,i,j,k) - math_I3) -& + num%alpha*matmul(F(1:3,1:3,i,j,k), & math_mul3333xx33(C_scale,F_tau(1:3,1:3,i,j,k) - F(1:3,1:3,i,j,k) - math_I3)) enddo; enddo; enddo !-------------------------------------------------------------------------------------------------- ! doing convolution in Fourier space call utilities_FFTtensorForward - call utilities_fourierGammaConvolution(params%rotation_BC%rotate(num%polarBeta*F_aim,active=.true.)) + call utilities_fourierGammaConvolution(params%rotation_BC%rotate(num%beta*F_aim,active=.true.)) call utilities_FFTtensorBackward !-------------------------------------------------------------------------------------------------- ! constructing residual - residual_F_tau = num%polarBeta*F - tensorField_real(1:3,1:3,1:grid(1),1:grid(2),1:grid3) + residual_F_tau = num%beta*F - tensorField_real(1:3,1:3,1:grid(1),1:grid(2),1:grid3) !-------------------------------------------------------------------------------------------------- ! evaluate constitutive response call utilities_constitutiveResponse(residual_F, & ! "residuum" gets field of first PK stress (to save memory) P_av,C_volAvg,C_minMaxAvg, & - F - residual_F_tau/num%polarBeta,params%timeinc,params%rotation_BC) + F - residual_F_tau/num%beta,params%timeinc,params%rotation_BC) call MPI_Allreduce(MPI_IN_PLACE,terminallyIll,1,MPI_LOGICAL,MPI_LOR,PETSC_COMM_WORLD,ierr) !-------------------------------------------------------------------------------------------------- diff --git a/src/numerics.f90 b/src/numerics.f90 index 132c01f87..56bfc2492 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -19,7 +19,7 @@ module numerics implicit none private - class(tNode), pointer, public :: & + class(tNode), pointer, protected, public :: & numerics_root integer, protected, public :: & worldrank = 0, & !< MPI worldrank (/=0 for MPI simulations only) From ff858fd4c82188ca8b8e070030ac4885e9f62151 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 24 Jun 2020 20:13:09 +0200 Subject: [PATCH 247/958] [skip ci] corrected help string for "srepr" --- python/damask/util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/util.py b/python/damask/util.py index a3fc71d3a..6c8fabf90 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -27,7 +27,7 @@ __all__=[ #################################################################################################### def srepr(arg,glue = '\n'): r""" - Join arguments as individual lines. + Join arguments with glue string. Parameters ---------- From f8f433e826eab368b11f9af2e228a4afcaab682d Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 24 Jun 2020 12:05:12 -0400 Subject: [PATCH 248/958] introduced f-strings --- python/damask/_colormaps.py | 23 ++++++------ python/damask/_geom.py | 73 +++++++++++++++++++------------------ python/damask/_rotation.py | 2 +- python/damask/_vtk.py | 10 ++--- 4 files changed, 54 insertions(+), 54 deletions(-) diff --git a/python/damask/_colormaps.py b/python/damask/_colormaps.py index 2117b0b57..94416ffcd 100644 --- a/python/damask/_colormaps.py +++ b/python/damask/_colormaps.py @@ -450,7 +450,7 @@ class Colormap: def rad_diff(a,b): return abs(a[2]-b[2]) - + def adjust_hue(Msh_sat, Msh_unsat): """If saturation of one of the two colors is too less than the other, hue of the less.""" if Msh_sat[0] >= Msh_unsat[0]: @@ -502,7 +502,7 @@ class Colormap: [RGB] colormap for use in paraview or gmsh, or as raw string, or array. Arguments: name, format, steps, crop. - Format is one of (paraview, gmsh, raw, list). + Format is one of (paraview, gmsh, gom, raw, list). Crop selects a (sub)range in [-1.0,1.0]. Generates sequential map if one limiting color is either white or black, diverging map otherwise. @@ -511,23 +511,22 @@ class Colormap: frac = 0.5*(np.array(crop) + 1.0) # rescale crop range to fractions colors = [self.color(float(i)/(steps-1)*(frac[1]-frac[0])+frac[0]).express_as(model).color for i in range(steps)] if format == 'paraview': - colormap = ['[\n {{\n "ColorSpace": "RGB", "Name": "{}", "DefaultMap": true,\n "RGBPoints" : ['.format(name)] \ - + [' {:4d},{:8.6f},{:8.6f},{:8.6f},'.format(i,color[0],color[1],color[2],) \ - for i,color in enumerate(colors[:-1])] \ - + [' {:4d},{:8.6f},{:8.6f},{:8.6f} '.format(len(colors),colors[-1][0],colors[-1][1],colors[-1][2],)] \ + colormap = [f'[\n {{\n "ColorSpace": "RGB", "Name": "{name}", "DefaultMap": true,\n "RGBPoints" : ['] \ + + [f' {i:4d},{color[0]:8.6f},{color[1]:8.6f},{color[2]:8.6f}{"," if i+1 Date: Wed, 24 Jun 2020 14:18:06 -0400 Subject: [PATCH 249/958] shapes init copes with integers instead of strict tuples; introduced f-strings --- python/damask/_table.py | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/python/damask/_table.py b/python/damask/_table.py index d180e5914..c2d304138 100644 --- a/python/damask/_table.py +++ b/python/damask/_table.py @@ -4,6 +4,7 @@ import pandas as pd import numpy as np from . import version +from . import util class Table: """Store spreadsheet-like data.""" @@ -24,7 +25,7 @@ class Table: """ self.comments = [] if comments is None else [c for c in comments] self.data = pd.DataFrame(data=data) - self.shapes = shapes + self.shapes = { k:(v,) if isinstance(v,(np.integer,int)) else v for k,v in shapes.items() } self._label_condensed() @@ -33,7 +34,7 @@ class Table: labels = [] for label,shape in self.shapes.items(): size = int(np.prod(shape)) - labels += ['{}{}'.format('' if size == 1 else '{}_'.format(i+1),label) for i in range(size)] + labels += [('' if size == 1 else f'{i+1}_')+label for i in range(size)] self.data.columns = labels @@ -47,8 +48,7 @@ class Table: def _add_comment(self,label,shape,info): if info is not None: - c = '{}{}: {}'.format(label,' '+str(shape) if np.prod(shape,dtype=int) > 1 else '',info) - self.comments.append(c) + self.comments.append(f'{label}{" "+str(shape) if np.prod(shape,dtype=int) > 1 else ""}: {info}') @staticmethod @@ -136,7 +136,7 @@ class Table: content = f.readlines() - comments = ['table.py:from_ang v {}'.format(version)] + comments = [f'table.py:from_ang v {version}'] for line in content: if line.startswith('#'): comments.append(line.strip()) @@ -145,7 +145,7 @@ class Table: data = np.loadtxt(content) for c in range(data.shape[1]-10): - shapes['n/a_{}'.format(c+1)] = (1,) + shapes[f'n/a_{c+1}'] = (1,) return Table(data,shapes,comments) @@ -251,8 +251,7 @@ class Table: """ self.data.rename(columns={label_old:label_new},inplace=True) - c = '{} => {}{}'.format(label_old,label_new,'' if info is None else ': {}'.format(info)) - self.comments.append(c) + self.comments.append(f'{label_old} => {label_new}'+('' if info is None else f': {info}')) self.shapes = {(label if label != label_old else label_new):self.shapes[label] for label in self.shapes} @@ -271,7 +270,7 @@ class Table: self._label_flat() self.data.sort_values(labels,axis=0,inplace=True,ascending=ascending) self._label_condensed() - self.comments.append('sorted by [{}]'.format(', '.join(labels))) + self.comments.append(f'sorted by [{", ".join(labels)}]') def append(self,other): @@ -328,18 +327,18 @@ class Table: labels = [] for l in [x for x in self.data.columns if not (x in seen or seen.add(x))]: if self.shapes[l] == (1,): - labels.append('{}'.format(l)) + labels.append(f'{l}') elif len(self.shapes[l]) == 1: - labels += ['{}_{}'.format(i+1,l) \ + labels += [f'{i+1}_{l}' \ for i in range(self.shapes[l][0])] else: - labels += ['{}:{}_{}'.format('x'.join([str(d) for d in self.shapes[l]]),i+1,l) \ + labels += [f'{util.srepr(self.shapes[l],"x")}:{i+1}_{l}' \ for i in range(np.prod(self.shapes[l]))] if new_style: - header = ['# {}'.format(comment) for comment in self.comments] + header = [f'# {comment}' for comment in self.comments] else: - header = ['{} header'.format(len(self.comments)+1)] \ + header = [f'{len(self.comments)+1} header'] \ + self.comments \ try: From 14d3b7e66d456d2e63a3c57048fb6d8e2a7c77f9 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 24 Jun 2020 15:34:51 -0400 Subject: [PATCH 250/958] more f-stringing --- python/damask/_colormaps.py | 5 +- python/damask/_geom.py | 13 +--- python/damask/_lattice.py | 12 ++-- python/damask/_result.py | 113 +++++++++++++++--------------- python/damask/_table.py | 2 +- python/damask/_test.py | 78 +++++++++------------ python/damask/config/material.py | 91 ++++++++++++------------ python/damask/solver/_marc.py | 18 ++--- python/damask/util.py | 2 +- python/tests/test_Geom.py | 17 ++--- python/tests/test_Lattice.py | 2 +- python/tests/test_Orientation.py | 2 +- python/tests/test_Result.py | 8 +-- python/tests/test_Rotation.py | 4 +- python/tests/test_grid_filters.py | 8 +-- 15 files changed, 180 insertions(+), 195 deletions(-) diff --git a/python/damask/_colormaps.py b/python/damask/_colormaps.py index 94416ffcd..6c6f82604 100644 --- a/python/damask/_colormaps.py +++ b/python/damask/_colormaps.py @@ -1,4 +1,5 @@ import numpy as np +from . import util class Color: """Color representation in and conversion between different color-spaces.""" @@ -525,8 +526,8 @@ class Colormap: colormap = [ f'1 1 {name}' + f' 9 {name}' + ' 0 1 0 3 0 0 -1 9 \\ 0 0 0 255 255 255 0 0 255 ' - + '30 NO_UNIT 1 1 64 64 64 255 1 0 0 0 0 0 0 3 0 ' + str(len(colors)) - + ' '.join([' 0 {} 255 1'.format(' '.join([str(int(x*255.0)) for x in color])) for color in reversed(colors)])] + + f'30 NO_UNIT 1 1 64 64 64 255 1 0 0 0 0 0 0 3 0 {len(colors)}' + + ' '.join([f' 0 {util.srepr((255*np.array(c)).astype(int)," ")} 255 1' for c in reversed(colors)])] elif format == 'raw': colormap = ['\t'.join(map(str,color)) for color in colors] diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 7deedee5e..5a3e6d47f 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -257,11 +257,11 @@ class Geom: def get_header(self): """Return the full header (grid, size, origin, homogenization, comments).""" - header = ['{} header'.format(len(self.comments)+4)] + self.comments + header = [f'{len(self.comments)+4} header'] + self.comments header.append('grid a {} b {} c {}'.format(*self.get_grid())) header.append('size x {} y {} z {}'.format(*self.get_size())) header.append('origin x {} y {} z {}'.format(*self.get_origin())) - header.append('homogenization {}'.format(self.get_homogenization())) + header.append(f'homogenization {self.get_homogenization()}') return header @@ -374,7 +374,6 @@ class Geom: else: microstructure = microstructure.reshape(grid) - #comments = 'geom.py:from_Laguerre_tessellation v{}'.format(version) return Geom(microstructure+1,size,homogenization=1) @@ -399,7 +398,6 @@ class Geom: KDTree = spatial.cKDTree(seeds,boxsize=size) if periodic else spatial.cKDTree(seeds) devNull,microstructure = KDTree.query(coords) - #comments = 'geom.py:from_Voronoi_tessellation v{}'.format(version) return Geom(microstructure.reshape(grid)+1,size,homogenization=1) @@ -524,7 +522,6 @@ class Geom: if 'x' in directions: ms = np.concatenate([ms,ms[limits[0]:limits[1]:-1,:,:]],0) - #self.add_comments('geom.py:mirror v{}'.format(version) return self.update(ms,rescale=True) @@ -538,7 +535,6 @@ class Geom: number of grid points in x,y,z direction. """ - #self.add_comments('geom.py:scale v{}'.format(version) return self.update( ndimage.interpolation.zoom( self.microstructure, @@ -565,7 +561,6 @@ class Geom: unique, inverse = np.unique(arr, return_inverse=True) return unique[np.argmax(np.bincount(inverse))] - #self.add_comments('geom.py:clean v{}'.format(version) return self.update(ndimage.filters.generic_filter( self.microstructure, mostFrequent, @@ -580,7 +575,6 @@ class Geom: for i, oldID in enumerate(np.unique(self.microstructure)): renumbered = np.where(self.microstructure == oldID, i+1, renumbered) - #self.add_comments('geom.py:renumber v{}'.format(version) return self.update(renumbered) @@ -615,7 +609,6 @@ class Geom: origin = self.origin-(np.asarray(microstructure_in.shape)-self.grid)*.5 * self.size/self.grid - #self.add_comments('geom.py:rotate v{}'.format(version) return self.update(microstructure_in,origin=origin,rescale=True) @@ -647,7 +640,6 @@ class Geom: canvas[l[0]:r[0],l[1]:r[1],l[2]:r[2]] = self.microstructure[L[0]:R[0],L[1]:R[1],L[2]:R[2]] - #self.add_comments('geom.py:canvas v{}'.format(version) return self.update(canvas,origin=self.origin+offset*self.size/self.grid,rescale=True) @@ -667,5 +659,4 @@ class Geom: for from_ms,to_ms in zip(from_microstructure,to_microstructure): substituted[self.microstructure==from_ms] = to_ms - #self.add_comments('geom.py:substitute v{}'.format(version) return self.update(substituted) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index 0f6cffd04..2a9c51b9b 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -26,7 +26,7 @@ class Symmetry: """ if symmetry is not None and symmetry.lower() not in Symmetry.lattices: - raise KeyError('Symmetry/crystal system "{}" is unknown'.format(symmetry)) + raise KeyError(f'Symmetry/crystal system "{symmetry}" is unknown') self.lattice = symmetry.lower() if isinstance(symmetry,str) else symmetry @@ -40,7 +40,7 @@ class Symmetry: def __repr__(self): """Readable string.""" - return '{}'.format(self.lattice) + return f'{self.lattice}' def __eq__(self, other): @@ -348,7 +348,7 @@ class Lattice: def __repr__(self): """Report basic lattice information.""" - return 'Bravais lattice {} ({} symmetry)'.format(self.lattice,self.symmetry) + return f'Bravais lattice {self.lattice} ({self.symmetry} symmetry)' # Kurdjomov--Sachs orientation relationship for fcc <-> bcc transformation @@ -613,17 +613,17 @@ class Lattice: try: relationship = models[model] except KeyError : - raise KeyError('Orientation relationship "{}" is unknown'.format(model)) + raise KeyError(f'Orientation relationship "{model}" is unknown') if self.lattice not in relationship['mapping']: - raise ValueError('Relationship "{}" not supported for lattice "{}"'.format(model,self.lattice)) + raise ValueError(f'Relationship "{model}" not supported for lattice "{self.lattice}"') r = {'lattice':Lattice((set(relationship['mapping'])-{self.lattice}).pop()), # target lattice 'rotations':[] } myPlane_id = relationship['mapping'][self.lattice] otherPlane_id = (myPlane_id+1)%2 - myDir_id = myPlane_id +2 + myDir_id = myPlane_id +2 otherDir_id = otherPlane_id +2 for miller in np.hstack((relationship['planes'],relationship['directions'])): diff --git a/python/damask/_result.py b/python/damask/_result.py index e1846cba9..354c1c3f7 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -50,8 +50,7 @@ class Result: self.version_minor = f.attrs['DADF5-minor'] if self.version_major != 0 or not 2 <= self.version_minor <= 6: - raise TypeError('Unsupported DADF5 version {}.{} '.format(self.version_major, - self.version_minor)) + raise TypeError(f'Unsupported DADF5 version {self.version_major}.{self.version_minor}') self.structured = 'grid' in f['geometry'].attrs.keys() @@ -107,7 +106,7 @@ class Result: self.pick('increments',all_selected_increments) in_between = '' if len(all_selected_increments) < 3 else \ - ''.join(['\n{}\n ...\n'.format(inc) for inc in all_selected_increments[1:-2]]) + ''.join([f'\n{inc}\n ...\n' for inc in all_selected_increments[1:-2]]) return util.srepr(first + in_between + last) @@ -137,7 +136,7 @@ class Result: if what == 'increments': choice = [c if isinstance(c,str) and c.startswith('inc') else - 'inc{}'.format(c) for c in choice] + f'inc{c}' for c in choice] elif what == 'times': what = 'increments' if choice == ['*']: @@ -268,7 +267,7 @@ class Result: def rename(self,name_old,name_new): """ Rename datasets. - + Parameters ---------- name_old : str @@ -412,21 +411,19 @@ class Result: message = '' with h5py.File(self.fname,'r') as f: for i in self.iterate('increments'): - message += '\n{} ({}s)\n'.format(i,self.times[self.increments.index(i)]) + message += f'\n{i} ({self.times[self.increments.index(i)]}s)\n' for o,p in zip(['constituents','materialpoints'],['con_physics','mat_physics']): for oo in self.iterate(o): - message += ' {}\n'.format(oo) + message += f' {oo}\n' for pp in self.iterate(p): - message += ' {}\n'.format(pp) + message += f' {pp}\n' group = '/'.join([i,o[:-1],oo,pp]) # o[:-1]: plural/singular issue for d in f[group].keys(): try: dataset = f['/'.join([group,d])] + unit = f" / {dataset.attrs['Unit'].decode()}" if 'Unit' in dataset.attrs else '' description = dataset.attrs['Description'].decode() - if 'Unit' in dataset.attrs: - message += ' {} / ({}): {}\n'.format(d,dataset.attrs['Unit'].decode(),description) - else: - message += ' {}: {}\n'.format(d,description) + message += f' {d}{unit}: {description}\n' except KeyError: pass return message @@ -528,10 +525,10 @@ class Result: def _add_absolute(x): return { 'data': np.abs(x['data']), - 'label': '|{}|'.format(x['label']), + 'label': f'|{x["label"]}|', 'meta': { 'Unit': x['meta']['Unit'], - 'Description': 'Absolute value of {} ({})'.format(x['label'],x['meta']['Description']), + 'Description': f"Absolute value of {x['label']} ({x['meta']['Description']})", 'Creator': inspect.stack()[0][3][1:] } } @@ -552,14 +549,14 @@ class Result: def _add_calculation(**kwargs): formula = kwargs['formula'] for d in re.findall(r'#(.*?)#',formula): - formula = formula.replace('#{}#'.format(d),"kwargs['{}']['data']".format(d)) + formula = formula.replace(f'#{d}#',f"kwargs['{d}']['data']") return { 'data': eval(formula), 'label': kwargs['label'], 'meta': { 'Unit': kwargs['unit'], - 'Description': '{} (formula: {})'.format(kwargs['description'],kwargs['formula']), + 'Description': f"{kwargs['description']} (formula: {kwargs['formula']})", 'Creator': inspect.stack()[0][3][1:] } } @@ -596,8 +593,9 @@ class Result: 'label': 'sigma', 'meta': { 'Unit': P['meta']['Unit'], - 'Description': 'Cauchy stress calculated from {} ({}) and {} ({})'\ - .format(P['label'],P['meta']['Description'],F['label'],F['meta']['Description']), + 'Description': "Cauchy stress calculated " + f"from {P['label']} ({P['meta']['Description']})" + f" and {F['label']} ({F['meta']['Description']})", 'Creator': inspect.stack()[0][3][1:] } } @@ -620,10 +618,10 @@ class Result: def _add_determinant(T): return { 'data': np.linalg.det(T['data']), - 'label': 'det({})'.format(T['label']), + 'label': f"det({T['label']})", 'meta': { 'Unit': T['meta']['Unit'], - 'Description': 'Determinant of tensor {} ({})'.format(T['label'],T['meta']['Description']), + 'Description': f"Determinant of tensor {T['label']} ({T['meta']['Description']})", 'Creator': inspect.stack()[0][3][1:] } } @@ -644,10 +642,10 @@ class Result: def _add_deviator(T): return { 'data': mechanics.deviatoric_part(T['data']), - 'label': 's_{}'.format(T['label']), + 'label': f"s_{T['label']}", 'meta': { 'Unit': T['meta']['Unit'], - 'Description': 'Deviator of tensor {} ({})'.format(T['label'],T['meta']['Description']), + 'Description': f"Deviator of tensor {T['label']} ({T['meta']['Description']})", 'Creator': inspect.stack()[0][3][1:] } } @@ -675,10 +673,10 @@ class Result: return { 'data': mechanics.eigenvalues(T_sym['data'])[:,p], - 'label': 'lambda_{}({})'.format(eigenvalue,T_sym['label']), + 'label': f"lambda_{eigenvalue}({T_sym['label']})", 'meta' : { 'Unit': T_sym['meta']['Unit'], - 'Description': '{} eigenvalue of {} ({})'.format(label,T_sym['label'],T_sym['meta']['Description']), + 'Description': f"{label} eigenvalue of {T_sym['label']} ({T_sym['meta']['Description']})", 'Creator': inspect.stack()[0][3][1:] } } @@ -708,14 +706,14 @@ class Result: print('p',eigenvalue) return { 'data': mechanics.eigenvectors(T_sym['data'])[:,p], - 'label': 'v_{}({})'.format(eigenvalue,T_sym['label']), + 'label': f"v_{eigenvalue}({T_sym['label']})", 'meta' : { 'Unit': '1', - 'Description': 'Eigenvector corresponding to {} eigenvalue of {} ({})'\ - .format(label,T_sym['label'],T_sym['meta']['Description']), + 'Description': f"Eigenvector corresponding to {label} eigenvalue" + f" of {T_sym['label']} ({T_sym['meta']['Description']})", 'Creator': inspect.stack()[0][3][1:] } - } + } def add_eigenvector(self,T_sym,eigenvalue='max'): """ Add eigenvector of symmetric tensor. @@ -774,10 +772,10 @@ class Result: def _add_maximum_shear(T_sym): return { 'data': mechanics.maximum_shear(T_sym['data']), - 'label': 'max_shear({})'.format(T_sym['label']), + 'label': f"max_shear({T_sym['label']})", 'meta': { 'Unit': T_sym['meta']['Unit'], - 'Description': 'Maximum shear component of {} ({})'.format(T_sym['label'],T_sym['meta']['Description']), + 'Description': f"Maximum shear component of {T_sym['label']} ({T_sym['meta']['Description']})", 'Creator': inspect.stack()[0][3][1:] } } @@ -800,11 +798,11 @@ class Result: 'stress' return { - 'data': mechanics.Mises_strain(T_sym['data']) if t=='strain' else mechanics.Mises_stress(T_sym['data']), - 'label': '{}_vM'.format(T_sym['label']), + 'data': (mechanics.Mises_strain if t=='strain' else mechanics.Mises_stress)(T_sym['data']), + 'label': f"{T_sym['label']}_vM", 'meta': { 'Unit': T_sym['meta']['Unit'], - 'Description': 'Mises equivalent {} of {} ({})'.format(t,T_sym['label'],T_sym['meta']['Description']), + 'Description': f"Mises equivalent {t} of {T_sym['label']} ({T_sym['meta']['Description']})", 'Creator': inspect.stack()[0][3][1:] } } @@ -837,10 +835,10 @@ class Result: return { 'data': np.linalg.norm(x['data'],ord=o,axis=axis,keepdims=True), - 'label': '|{}|_{}'.format(x['label'],o), + 'label': f"|{x['label']}|_{o}", 'meta': { 'Unit': x['meta']['Unit'], - 'Description': '{}-norm of {} {} ({})'.format(o,t,x['label'],x['meta']['Description']), + 'Description': f"{o}-norm of {t} {x['label']} ({x['meta']['Description']})", 'Creator': inspect.stack()[0][3][1:] } } @@ -866,19 +864,20 @@ class Result: 'label': 'S', 'meta': { 'Unit': P['meta']['Unit'], - 'Description': '2. Piola-Kirchhoff stress calculated from {} ({}) and {} ({})'\ - .format(P['label'],P['meta']['Description'],F['label'],F['meta']['Description']), + 'Description': "2. Piola-Kirchhoff stress calculated " + f"from {P['label']} ({P['meta']['Description']})" + f" and {F['label']} ({F['meta']['Description']})", 'Creator': inspect.stack()[0][3][1:] } } def add_PK2(self,P='P',F='F'): """ - Add second Piola-Kirchhoff calculated from first Piola-Kirchhoff stress and deformation gradient. + Add second Piola-Kirchhoff stress calculated from first Piola-Kirchhoff stress and deformation gradient. Parameters ---------- P : str, optional - Label first Piola-Kirchhoff stress dataset. Defaults to ‘P’. + Label of first Piola-Kirchhoff stress dataset. Defaults to ‘P’. F : str, optional Label of deformation gradient dataset. Defaults to ‘F’. @@ -928,10 +927,10 @@ class Result: def _add_rotational_part(F): return { 'data': mechanics.rotational_part(F['data']), - 'label': 'R({})'.format(F['label']), + 'label': f"R({F['label']})", 'meta': { 'Unit': F['meta']['Unit'], - 'Description': 'Rotational part of {} ({})'.format(F['label'],F['meta']['Description']), + 'Description': f"Rotational part of {F['label']} ({F['meta']['Description']})", 'Creator': inspect.stack()[0][3][1:] } } @@ -952,10 +951,10 @@ class Result: def _add_spherical(T): return { 'data': mechanics.spherical_part(T['data']), - 'label': 'p_{}'.format(T['label']), + 'label': f"p_{T['label']}", 'meta': { 'Unit': T['meta']['Unit'], - 'Description': 'Spherical component of tensor {} ({})'.format(T['label'],T['meta']['Description']), + 'Description': f"Spherical component of tensor {T['label']} ({T['meta']['Description']})", 'Creator': inspect.stack()[0][3][1:] } } @@ -976,10 +975,10 @@ class Result: def _add_strain_tensor(F,t,m): return { 'data': mechanics.strain_tensor(F['data'],t,m), - 'label': 'epsilon_{}^{}({})'.format(t,m,F['label']), + 'label': f"epsilon_{t}^{m}({F['label']})", 'meta': { 'Unit': F['meta']['Unit'], - 'Description': 'Strain tensor of {} ({})'.format(F['label'],F['meta']['Description']), + 'Description': f"Strain tensor of {F['label']} ({F['meta']['Description']})", 'Creator': inspect.stack()[0][3][1:] } } @@ -1006,11 +1005,11 @@ class Result: @staticmethod def _add_stretch_tensor(F,t): return { - 'data': mechanics.left_stretch(F['data']) if t == 'V' else mechanics.right_stretch(F['data']), - 'label': '{}({})'.format(t,F['label']), + 'data': (mechanics.left_stretch if t.upper() == 'V' else mechanics.right_stretch)(F['data']), + 'label': f"{t}({F['label']})", 'meta': { 'Unit': F['meta']['Unit'], - 'Description': '{} stretch tensor of {} ({})'.format('Left' if t == 'V' else 'Right', + 'Description': '{} stretch tensor of {} ({})'.format('Left' if t.upper() == 'V' else 'Right', F['label'],F['meta']['Description']), 'Creator': inspect.stack()[0][3][1:] } @@ -1046,7 +1045,7 @@ class Result: r = func(**datasets_in,**args) return [group,r] except Exception as err: - print('Error during calculation: {}.'.format(err)) + print(f'Error during calculation: {err}.') return None @@ -1091,11 +1090,11 @@ class Result: for l,v in result[1]['meta'].items(): dataset.attrs[l]=v.encode() - creator = 'damask.Result.{} v{}'.format(dataset.attrs['Creator'].decode(),version) + creator = f"damask.Result.{dataset.attrs['Creator'].decode()} v{version}" dataset.attrs['Creator'] = creator.encode() except (OSError,RuntimeError) as err: - print('Could not add dataset: {}.'.format(err)) + print(f'Could not add dataset: {err}.') lock.release() pool.close() @@ -1128,7 +1127,7 @@ class Result: time_data = ET.SubElement(time, 'DataItem') time_data.attrib={'Format': 'XML', 'NumberType': 'Float', - 'Dimensions': '{}'.format(len(self.times))} + 'Dimensions': f'{len(self.times)}'} time_data.text = ' '.join(map(str,self.times)) attributes = [] @@ -1169,7 +1168,7 @@ class Result: data_items[-1].attrib={'Format': 'HDF', 'Precision': '8', 'Dimensions': '{} {} {} 3'.format(*(self.grid+1))} - data_items[-1].text='{}:/{}/geometry/u_n'.format(os.path.split(self.fname)[1],inc) + data_items[-1].text=f'{os.path.split(self.fname)[1]}:/{inc}/geometry/u_n' for o,p in zip(['constituents','materialpoints'],['con_physics','mat_physics']): for oo in getattr(self,o): @@ -1184,15 +1183,15 @@ class Result: if (shape not in [(1,), (3,), (3,3)]) or dtype != np.float64: continue attributes.append(ET.SubElement(grid, 'Attribute')) - attributes[-1].attrib={'Name': '{}'.format(name.split('/',2)[2]), + attributes[-1].attrib={'Name': name.split('/',2)[2], 'Center': 'Cell', 'AttributeType': 'Tensor'} data_items.append(ET.SubElement(attributes[-1], 'DataItem')) data_items[-1].attrib={'Format': 'HDF', 'NumberType': 'Float', - 'Precision': '{}'.format(prec), + 'Precision': f'{prec}', 'Dimensions': '{} {} {} {}'.format(*self.grid,np.prod(shape))} - data_items[-1].text='{}:{}'.format(os.path.split(self.fname)[1],name) + data_items[-1].text=f'{os.path.split(self.fname)[1]}:{name}' with open(self.fname.with_suffix('.xdmf').name,'w') as f: f.write(xml.dom.minidom.parseString(ET.tostring(xdmf).decode()).toprettyxml()) @@ -1270,4 +1269,4 @@ class Result: u = self.read_dataset(self.get_dataset_location('u_n' if mode.lower() == 'cell' else 'u_p')) v.add(u,'u') - v.write('{}_inc{}'.format(self.fname.stem,inc[3:].zfill(N_digits))) + v.write(f'{self.fname.stem}_inc{inc[3:].zfill(N_digits)}') diff --git a/python/damask/_table.py b/python/damask/_table.py index c2d304138..8c09e2b78 100644 --- a/python/damask/_table.py +++ b/python/damask/_table.py @@ -136,7 +136,7 @@ class Table: content = f.readlines() - comments = [f'table.py:from_ang v {version}'] + comments = [f'table.py:from_ang v{version}'] for line in content: if line.startswith('#'): comments.append(line.strip()) diff --git a/python/damask/_test.py b/python/damask/_test.py index a46eedac8..9c4c7ad3d 100644 --- a/python/damask/_test.py +++ b/python/damask/_test.py @@ -53,7 +53,7 @@ class Test: self.dirBase = os.path.dirname(os.path.realpath(sys.modules[self.__class__.__module__].__file__)) self.parser = OptionParser(option_class=damask.extendableOption, - description = '{} (Test class version: {})'.format(self.description,damask.version), + description = f'{self.description} (Test class version: {damask.version})', usage = './test.py [options]') self.parser.add_option("-k", "--keep", action = "store_true", @@ -93,7 +93,7 @@ class Test: for variant,object in enumerate(self.variants): name = self.variantName(variant) if self.options.show: - logging.critical('{}: {}'.format(variant+1,name)) + logging.critical(f'{variant+1}: {name}') elif self.options.select is not None \ and not (name in self.options.select or str(variant+1) in self.options.select): pass @@ -106,12 +106,12 @@ class Test: self.postprocess(variant) if self.options.update: - if self.update(variant) != 0: logging.critical('update for "{}" failed.'.format(name)) + if self.update(variant) != 0: logging.critical(f'update for "{name}" failed.') elif not (self.options.accept or self.compare(variant)): # no update, do comparison return variant+1 # return culprit except Exception as e: - logging.critical('exception during variant execution: "{}"'.format(str(e))) + logging.critical(f'exception during variant execution: "{e}"') return variant+1 # return culprit return 0 @@ -124,13 +124,13 @@ class Test: try: shutil.rmtree(self.dirCurrent()) except FileNotFoundError: - logging.warning('removal of directory "{}" not possible...'.format(self.dirCurrent())) + logging.warning(f'removal of directory "{self.dirCurrent()}" not possible...') try: os.mkdir(self.dirCurrent()) return True except FileExistsError: - logging.critical('creation of directory "{}" failed.'.format(self.dirCurrent())) + logging.critical(f'creation of directory "{self.dirCurrent()}" failed.') return False def prepareAll(self): @@ -211,7 +211,7 @@ class Test: try: shutil.copy2(source,target) except FileNotFoundError: - logging.critical('error copying {} to {}'.format(source,target)) + logging.critical(f'error copying {source} to {target}') raise FileNotFoundError @@ -222,7 +222,7 @@ class Test: try: shutil.copy2(self.fileInReference(f),self.fileInCurrent(targetfiles[i])) except FileNotFoundError: - logging.critical('Reference2Current: Unable to copy file "{}"'.format(f)) + logging.critical(f'Reference2Current: Unable to copy file "{f}"') raise FileNotFoundError @@ -235,7 +235,7 @@ class Test: shutil.copy2(os.path.join(source,f),self.fileInCurrent(targetfiles[i])) except FileNotFoundError: logging.error(os.path.join(source,f)) - logging.critical('Base2Current: Unable to copy file "{}"'.format(f)) + logging.critical(f'Base2Current: Unable to copy file "{f}"') raise FileNotFoundError @@ -246,7 +246,7 @@ class Test: try: shutil.copy2(self.fileInCurrent(f),self.fileInReference(targetfiles[i])) except FileNotFoundError: - logging.critical('Current2Reference: Unable to copy file "{}"'.format(f)) + logging.critical(f'Current2Reference: Unable to copy file "{f}"') raise FileNotFoundError @@ -257,7 +257,7 @@ class Test: try: shutil.copy2(self.fileInProof(f),self.fileInCurrent(targetfiles[i])) except FileNotFoundError: - logging.critical('Proof2Current: Unable to copy file "{}"'.format(f)) + logging.critical(f'Proof2Current: Unable to copy file "{f}"') raise FileNotFoundError @@ -267,7 +267,7 @@ class Test: try: shutil.copy2(self.fileInReference(f),self.fileInCurrent(targetfiles[i])) except FileNotFoundError: - logging.critical('Current2Current: Unable to copy file "{}"'.format(f)) + logging.critical(f'Current2Current: Unable to copy file "{f}"') raise FileNotFoundError @@ -302,9 +302,7 @@ class Test: max_loc=np.argmax(abs(refArrayNonZero[curArray.nonzero()]/curArray[curArray.nonzero()]-1.)) refArrayNonZero = refArrayNonZero[curArray.nonzero()] curArray = curArray[curArray.nonzero()] - print(' ********\n * maximum relative error {} between {} and {}\n ********'.format(max_err, - refArrayNonZero[max_loc], - curArray[max_loc])) + print(f' ********\n * maximum relative error {max_err} between {refArrayNonZero[max_loc]} and {curArray[max_loc]}\n ********') return max_err else: raise Exception('mismatch in array size to compare') @@ -350,7 +348,7 @@ class Test: for i in range(dataLength): if headings0[i]['shape'] != headings1[i]['shape']: - raise Exception('shape mismatch between {} and {} '.format(headings0[i]['label'],headings1[i]['label'])) + raise Exception(f"shape mismatch between {headings0[i]['label']} and {headings1[i]['label']}") shape[i] = headings0[i]['shape'] for j in range(np.shape(shape[i])[0]): length[i] *= shape[i][j] @@ -358,9 +356,7 @@ class Test: for j in range(np.shape(normShape[i])[0]): normLength[i] *= normShape[i][j] else: - raise Exception('trying to compare {} with {} normed by {} data sets'.format(len(headings0), - len(headings1), - len(normHeadings))) + raise Exception(f'trying to compare {len(headings0)} with {len(headings1)} normed by {len(normHeadings)} data sets') table0 = damask.ASCIItable(name=file0,readonly=True) table0.head_read() @@ -372,11 +368,11 @@ class Test: key1 = ('1_' if length[i]>1 else '') + headings1[i]['label'] normKey = ('1_' if normLength[i]>1 else '') + normHeadings[i]['label'] if key0 not in table0.labels(raw = True): - raise Exception('column "{}" not found in first table...\n'.format(key0)) + raise Exception(f'column "{key0}" not found in first table...') elif key1 not in table1.labels(raw = True): - raise Exception('column "{}" not found in second table...\n'.format(key1)) + raise Exception(f'column "{key1}" not found in second table...') elif normKey not in table0.labels(raw = True): - raise Exception('column "{}" not found in first table...\n'.format(normKey)) + raise Exception(f'column "{normKey}" not found in first table...') else: column[0][i] = table0.label_index(key0) column[1][i] = table1.label_index(key1) @@ -404,9 +400,9 @@ class Test: norm[i] = [1.0 for j in range(line0-len(skipLines))] absTol[i] = True if perLine: - logging.warning('At least one norm of "{}" in first table is 0.0, using absolute tolerance'.format(headings0[i]['label'])) + logging.warning(f"At least one norm of \"{headings0[i]['label']}\" in first table is 0.0, using absolute tolerance") else: - logging.warning('Maximum norm of "{}" in first table is 0.0, using absolute tolerance'.format(headings0[i]['label'])) + logging.warning(f"Maximum norm of \"{headings0[i]['label']}\" in first table is 0.0, using absolute tolerance") line1 = 0 while table1.data_read(): # read next data line of ASCII table @@ -418,18 +414,14 @@ class Test: norm[i][line1-len(skipLines)]) line1 +=1 - if (line0 != line1): raise Exception('found {} lines in first table but {} in second table'.format(line0,line1)) + if (line0 != line1): raise Exception(f'found {line0} lines in first table but {line1} in second table') logging.info(' ********') for i in range(dataLength): if absTol[i]: - logging.info(' * maximum absolute error {} between {} and {}'.format(maxError[i], - headings0[i]['label'], - headings1[i]['label'])) + logging.info(f" * maximum absolute error {maxError[i]} between {headings0[i]['label']} and {headings1[i]['label']}") else: - logging.info(' * maximum relative error {} between {} and {}'.format(maxError[i], - headings0[i]['label'], - headings1[i]['label'])) + logging.info(f" * maximum relative error {maxError[i]} between {headings0[i]['label']} and {headings1[i]['label']}") logging.info(' ********') return maxError @@ -480,8 +472,8 @@ class Test: normedDelta = np.where(normBy>preFilter,delta/normBy,0.0) mean = np.amax(np.abs(np.mean(normedDelta,0))) std = np.amax(np.std(normedDelta,0)) - logging.info('mean: {:f}'.format(mean)) - logging.info('std: {:f}'.format(std)) + logging.info(f'mean: {mean:f}') + logging.info(f'std: {std:f}') return (mean atol + rtol*np.absolute(data[1]) - logging.info('shape of violators: {}'.format(violators.shape)) + logging.info(f'shape of violators: {violators.shape}') for j,culprits in enumerate(violators): goodguys = np.logical_not(culprits) if culprits.any(): - logging.info('{} has {}'.format(j,np.sum(culprits))) - logging.info('deviation: {}'.format(np.absolute(data[0][j]-data[1][j])[culprits])) - logging.info('data : {}'.format(np.absolute(data[1][j])[culprits])) - logging.info('deviation: {}'.format(np.absolute(data[0][j]-data[1][j])[goodguys])) - logging.info('data : {}'.format(np.absolute(data[1][j])[goodguys])) + logging.info(f'{j} has {np.sum(culprits)}') + logging.info(f'deviation: {np.absolute(data[0][j]-data[1][j])[culprits]}') + logging.info(f'data : {np.absolute(data[1][j])[culprits]}') + logging.info(f'deviation: {np.absolute(data[0][j]-data[1][j])[goodguys]}') + logging.info(f'data : {np.absolute(data[1][j])[goodguys]}') allclose = True # start optimistic for i in range(1,len(data)): @@ -588,12 +580,12 @@ class Test: if culprit == 0: count = len(self.variants) if self.options.select is None else len(self.options.select) - msg = 'Test passed.' if count == 1 else 'All {} tests passed.'.format(count) + msg = 'Test passed.' if count == 1 else f'All {count} tests passed.' elif culprit == -1: msg = 'Warning: could not start test...' ret = 0 else: - msg = 'Test "{}" failed.'.format(self.variantName(culprit-1)) + msg = f'Test "{self.variantName(culprit-1)}" failed.' logging.critical('\n'.join(['*'*40,msg,'*'*40]) + '\n') return ret diff --git a/python/damask/config/material.py b/python/damask/config/material.py index a30db1242..433c70d03 100644 --- a/python/damask/config/material.py +++ b/python/damask/config/material.py @@ -1,6 +1,7 @@ import re import os +from damask import util class Section(): def __init__(self,data = {'__order__':[]},part = ''): @@ -27,7 +28,7 @@ class Section(): if multiKey not in self.parameters: self.parameters[multiKey] = [] if multiKey not in self.parameters['__order__']: self.parameters['__order__'] += [multiKey] self.parameters[multiKey] += [[item] for item in data] if isinstance(data, list) else [[data]] - + def data(self): return self.parameters @@ -42,27 +43,27 @@ class Crystallite(Section): def __init__(self,data = {'__order__':[]}): """New material.config section.""" Section.__init__(self,data) - + class Phase(Section): def __init__(self,data = {'__order__':[]}): """New material.config section.""" Section.__init__(self,data) - + class Microstructure(Section): def __init__(self,data = {'__order__':[]}): """New material.config section.""" Section.__init__(self,data) - - + + class Texture(Section): def __init__(self,data = {'__order__':[]}): """New material.config section.""" Section.__init__(self,data) - + def add_component(self,theType,properties): - + scatter = properties['scatter'] if 'scatter' in list(map(str.lower,list(properties.keys()))) else 0.0 fraction = properties['fraction'] if 'fraction' in list(map(str.lower,list(properties.keys()))) else 1.0 @@ -81,45 +82,45 @@ class Texture(Section): ) ) - + class Material(): """Read, manipulate, and write material.config files.""" def __init__(self,verbose=True): """Generates ordered list of parts.""" self.parts = [ - 'homogenization', - 'crystallite', - 'phase', - 'texture', - 'microstructure', + 'homogenization', + 'crystallite', + 'phase', + 'texture', + 'microstructure', ] - self.data = {\ - 'homogenization': {'__order__': []}, - 'microstructure': {'__order__': []}, - 'crystallite': {'__order__': []}, - 'phase': {'__order__': []}, - 'texture': {'__order__': []}, - } + self.data = { + 'homogenization': {'__order__': []}, + 'microstructure': {'__order__': []}, + 'crystallite': {'__order__': []}, + 'phase': {'__order__': []}, + 'texture': {'__order__': []}, + } self.verbose = verbose - + def __repr__(self): """Returns current data structure in material.config format.""" me = [] for part in self.parts: - if self.verbose: print('processing <{}>'.format(part)) + if self.verbose: print(f'processing <{part}>') me += ['', '#'*100, - '<{}>'.format(part), + f'<{part}>', '#'*100, ] for section in self.data[part]['__order__']: - me += ['[{}] {}'.format(section,'#'+'-'*max(0,96-len(section)))] + me += [f'[{section}] {"#"+"-"*max(0,96-len(section))}'] for key in self.data[part][section]['__order__']: if key.startswith('(') and key.endswith(')'): # multiple (key) - me += ['{}\t{}'.format(key,' '.join(values)) for values in self.data[part][section][key]] + me += [f'{key}\t{" ".join(values)}' for values in self.data[part][section][key]] else: # plain key - me += ['{}\t{}'.format(key,' '.join(map(str,self.data[part][section][key])))] + me += [f'{key}\t{util.srepr(self.data[part][section][key]," ")}'] return '\n'.join(me) + '\n' def parse(self, part=None, sections=[], content=None): @@ -158,7 +159,7 @@ class Material(): self.data[part][name_section][items[0]].append(items[1:]) else: # plain key self.data[part][name_section][items[0]] = items[1:] - + def read(self,filename=None): @@ -174,20 +175,20 @@ class Material(): recursiveRead(match.group(1) if match.group(1).startswith('/') else os.path.normpath(os.path.join(os.path.dirname(filename),match.group(1)))) return result - + c = recursiveRead(filename) for p in self.parts: self.parse(part=p, content=c) - + def write(self,filename='material.config', overwrite=False): """Write to material.config.""" i = 0 outname = filename while os.path.exists(outname) and not overwrite: i += 1 - outname = '{}_{}'.format(filename,i) + outname = f'{filename}_{i}' - if self.verbose: print('Writing material data to {}'.format(outname)) + if self.verbose: print(f'Writing material data to {outname}') with open(outname,'w') as f: f.write(str(self)) return outname @@ -196,11 +197,11 @@ class Material(): """Add Update.""" part = part.lower() section = section.lower() - if part not in self.parts: raise Exception('invalid part {}'.format(part)) + if part not in self.parts: raise Exception(f'invalid part {part}') if not isinstance(initialData, dict): initialData = initialData.data() - + if section not in self.data[part]: self.data[part]['__order__'] += [section] if section in self.data[part] and merge: for existing in self.data[part][section]['__order__']: # replace existing @@ -215,9 +216,9 @@ class Material(): self.data[part][section]['__order__'] += [new] else: self.data[part][section] = initialData - - - + + + def add_microstructure(self, section='', components={}, # dict of phase,texture, and fraction lists @@ -226,7 +227,7 @@ class Material(): microstructure = Microstructure() # make keys lower case (http://stackoverflow.com/questions/764235/dictionary-to-lowercase-in-python) components=dict((k.lower(), v) for k,v in components.items()) - + for key in ['phase','texture','fraction','crystallite']: if isinstance(components[key], list): for i, x in enumerate(components[key]): @@ -239,7 +240,7 @@ class Material(): components[key] = [components[key].lower()] except AttributeError: components[key] = [components[key]] - + for (phase,texture,fraction,crystallite) in zip(components['phase'],components['texture'], components['fraction'],components['crystallite']): microstructure.add_multiKey('constituent','phase %i\ttexture %i\tfraction %g\ncrystallite %i'%( @@ -247,19 +248,19 @@ class Material(): self.data['texture']['__order__'].index(texture)+1, fraction, self.data['crystallite']['__order__'].index(crystallite)+1)) - + self.add_section('microstructure',section,microstructure) - - def change_value(self, part=None, - section=None, - key=None, + + def change_value(self, part=None, + section=None, + key=None, value=None): - if not isinstance(value,list): + if not isinstance(value,list): if not isinstance(value,str): value = '%s'%value value = [value] - newlen = len(value) + newlen = len(value) oldval = self.data[part.lower()][section.lower()][key.lower()] oldlen = len(oldval) print('changing %s:%s:%s from %s to %s '%(part.lower(),section.lower(),key.lower(),oldval,value)) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index dfe45a46d..23ae5639d 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -25,7 +25,7 @@ class Marc: def library_path(self): path_MSC = Environment().options['MSC_ROOT'] - path_lib = Path('{}/mentat{}/shlib/linux64'.format(path_MSC,self.version)) + path_lib = Path(f'{path_MSC}/mentat{self.version}/shlib/linux64') return path_lib if path_lib.is_dir() else None @@ -34,7 +34,7 @@ class Marc: def tools_path(self): path_MSC = Environment().options['MSC_ROOT'] - path_tools = Path('{}/marc{}/tools'.format(path_MSC,self.version)) + path_tools = Path(f'{path_MSC}/marc{self.version}/tools') return path_tools if path_tools.is_dir() else None @@ -51,21 +51,21 @@ class Marc: env = Environment() - user = env.root_dir/Path('src/DAMASK_marc{}'.format(self.version)).with_suffix('.f90' if compile else '.marc') - if not user.is_file(): - raise FileNotFoundError("DAMASK4Marc ({}) '{}' not found".format(('source' if compile else 'binary'),user)) + usersub = env.root_dir/Path(f'src/DAMASK_marc{self.version}').with_suffix('.f90' if compile else '.marc') + if not usersub.is_file(): + raise FileNotFoundError("DAMASK4Marc ({}) '{}' not found".format(('source' if compile else 'binary'),usersub)) # Define options [see Marc Installation and Operation Guide, pp 23] - script = 'run_damask_{}mp'.format(optimization) + script = f'run_damask_{optimization}mp' cmd = str(self.tools_path/Path(script)) + \ ' -jid ' + model + '_' + job + \ ' -nprocd 1 -autorst 0 -ci n -cr n -dcoup 0 -b no -v no' - if compile: cmd += ' -u ' + str(user) + ' -save y' - else: cmd += ' -prog ' + str(user.with_suffix('')) + if compile: cmd += ' -u ' + str(usersub) + ' -save y' + else: cmd += ' -prog ' + str(usersub.with_suffix('')) - print('job submission {} compilation: {}'.format('with' if compile else 'without',user)) + print('job submission {} compilation: {}'.format(('with' if compile else 'without'),usersub)) if logfile: log = open(logfile, 'w') print(cmd) process = subprocess.Popen(shlex.split(cmd),stdout = log,stderr = subprocess.STDOUT) diff --git a/python/damask/util.py b/python/damask/util.py index f67df461a..471a5069b 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -236,7 +236,7 @@ class _ProgressBar: delta_time = datetime.datetime.now() - self.start_time remaining_time = (self.total - (iteration+1)) * delta_time / (iteration+1) remaining_time -= datetime.timedelta(microseconds=remaining_time.microseconds) # remove μs - sys.stderr.write('\r{self.prefix} {bar} {fraction:>4.0%} ETA {remaining_time}') + sys.stderr.write(f'\r{self.prefix} {bar} {fraction:>4.0%} ETA {remaining_time}') sys.stderr.flush() self.last_fraction = fraction diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 7a3823ab3..28c9d14b0 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -6,6 +6,7 @@ import numpy as np from damask import Geom from damask import Rotation +from damask import util def geom_equal(a,b): @@ -85,8 +86,8 @@ class TestGeom: def test_mirror(self,default,update,reference_dir,directions,reflect): modified = copy.deepcopy(default) modified.mirror(directions,reflect) - tag = 'directions={}_reflect={}'.format('-'.join(directions),reflect) - reference = os.path.join(reference_dir,'mirror_{}.geom'.format(tag)) + tag = f'directions={"-".join(directions)}_reflect={reflect}' + reference = os.path.join(reference_dir,f'mirror_{tag}.geom') if update: modified.to_file(reference) assert geom_equal(modified,Geom.from_file(reference)) @@ -94,8 +95,8 @@ class TestGeom: def test_clean(self,default,update,reference_dir,stencil): modified = copy.deepcopy(default) modified.clean(stencil) - tag = 'stencil={}'.format(stencil) - reference = os.path.join(reference_dir,'clean_{}.geom'.format(tag)) + tag = f'stencil={stencil}' + reference = os.path.join(reference_dir,f'clean_{tag}.geom') if update: modified.to_file(reference) assert geom_equal(modified,Geom.from_file(reference)) @@ -111,8 +112,8 @@ class TestGeom: def test_scale(self,default,update,reference_dir,grid): modified = copy.deepcopy(default) modified.scale(grid) - tag = 'grid={}'.format('-'.join([str(x) for x in grid])) - reference = os.path.join(reference_dir,'scale_{}.geom'.format(tag)) + tag = f'grid={util.srepr(grid,"-")}' + reference = os.path.join(reference_dir,f'scale_{tag}.geom') if update: modified.to_file(reference) assert geom_equal(modified,Geom.from_file(reference)) @@ -150,8 +151,8 @@ class TestGeom: def test_rotate(self,default,update,reference_dir,Eulers): modified = copy.deepcopy(default) modified.rotate(Rotation.from_Eulers(Eulers,degrees=True)) - tag = 'Eulers={}-{}-{}'.format(*Eulers) - reference = os.path.join(reference_dir,'rotate_{}.geom'.format(tag)) + tag = f'Eulers={util.srepr(Eulers,"-")}' + reference = os.path.join(reference_dir,f'rotate_{tag}.geom') if update: modified.to_file(reference) assert geom_equal(modified,Geom.from_file(reference)) diff --git a/python/tests/test_Lattice.py b/python/tests/test_Lattice.py index fb8ce8ea5..01d1aac0c 100644 --- a/python/tests/test_Lattice.py +++ b/python/tests/test_Lattice.py @@ -38,4 +38,4 @@ class TestSymmetry: def test_invalid_argument(self,function): s = Symmetry() # noqa with pytest.raises(ValueError): - eval('s.{}(np.ones(4))'.format(function)) + eval(f's.{function}(np.ones(4))') diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index a8b8afdac..e811b2043 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -49,7 +49,7 @@ class TestOrientation: @pytest.mark.parametrize('model',['Bain','KS','GT','GT_prime','NW','Pitsch']) @pytest.mark.parametrize('lattice',['fcc','bcc']) def test_relationship_reference(self,update,reference_dir,model,lattice): - reference = os.path.join(reference_dir,'{}_{}.txt'.format(lattice,model)) + reference = os.path.join(reference_dir,f'{lattice}_{model}.txt') ori = Orientation(Rotation(),lattice) eu = np.array([o.rotation.as_Eulers(degrees=True) for o in ori.relatedOrientations(model)]) if update: diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 38c0d84cc..6940d573d 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -137,7 +137,7 @@ class TestResult: default.add_Cauchy('P','F') default.add_eigenvalue('sigma',eigenvalue) loc = {'sigma' :default.get_dataset_location('sigma'), - 'lambda':default.get_dataset_location('lambda_{}(sigma)'.format(eigenvalue))} + 'lambda':default.get_dataset_location(f'lambda_{eigenvalue}(sigma)')} in_memory = function(mechanics.eigenvalues(default.read_dataset(loc['sigma'],0)),axis=1,keepdims=True) in_file = default.read_dataset(loc['lambda'],0) assert np.allclose(in_memory,in_file) @@ -147,7 +147,7 @@ class TestResult: default.add_Cauchy('P','F') default.add_eigenvector('sigma',eigenvalue) loc = {'sigma' :default.get_dataset_location('sigma'), - 'v(sigma)':default.get_dataset_location('v_{}(sigma)'.format(eigenvalue))} + 'v(sigma)':default.get_dataset_location(f'v_{eigenvalue}(sigma)')} in_memory = mechanics.eigenvectors(default.read_dataset(loc['sigma'],0))[:,idx] in_file = default.read_dataset(loc['v(sigma)'],0) assert np.allclose(in_memory,in_file) @@ -179,7 +179,7 @@ class TestResult: t = ['V','U'][np.random.randint(0,2)] m = np.random.random()*2.0 - 1.0 default.add_strain_tensor('F',t,m) - label = 'epsilon_{}^{}(F)'.format(t,m) + label = f'epsilon_{t}^{m}(F)' default.add_Mises(label) loc = {label :default.get_dataset_location(label), label+'_vM':default.get_dataset_location(label+'_vM')} @@ -248,7 +248,7 @@ class TestResult: t = ['V','U'][np.random.randint(0,2)] m = np.random.random()*2.0 - 1.0 default.add_strain_tensor('F',t,m) - label = 'epsilon_{}^{}(F)'.format(t,m) + label = f'epsilon_{t}^{m}(F)' loc = {'F': default.get_dataset_location('F'), label: default.get_dataset_location(label)} in_memory = mechanics.strain_tensor(default.read_dataset(loc['F'],0),t,m) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 86e5fa2a7..89173bb5a 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -556,7 +556,7 @@ def mul(me, other): else: raise ValueError('Can only rotate vectors, 2nd order tensors, and 4th order tensors') else: - raise TypeError('Cannot rotate {}'.format(type(other))) + raise TypeError(f'Cannot rotate {type(other)}') class TestRotation: @@ -878,7 +878,7 @@ class TestRotation: def test_invalid_P(self,fr,to): R = Rotation.from_random(np.random.randint(8,32,(3))) # noqa with pytest.raises(ValueError): - fr(eval('R.{}()'.format(to)),P=-30) + fr(eval(f'R.{to}()'),P=-30) @pytest.mark.parametrize('shape',[None,(3,),(4,2)]) def test_broadcast(self,shape): diff --git a/python/tests/test_grid_filters.py b/python/tests/test_grid_filters.py index 8a343e26b..3acb554a7 100644 --- a/python/tests/test_grid_filters.py +++ b/python/tests/test_grid_filters.py @@ -30,8 +30,8 @@ class TestGridFilters: grid = np.random.randint(8,32,(3)) size = np.random.random(3) origin = np.random.random(3) - coord0 = eval('grid_filters.{}_coord0(grid,size,origin)'.format(mode)) # noqa - _grid,_size,_origin = eval('grid_filters.{}_coord0_gridSizeOrigin(coord0.reshape(-1,3,order="F"))'.format(mode)) + coord0 = eval(f'grid_filters.{mode}_coord0(grid,size,origin)') # noqa + _grid,_size,_origin = eval(f'grid_filters.{mode}_coord0_gridSizeOrigin(coord0.reshape(-1,3,order="F"))') assert np.allclose(grid,_grid) and np.allclose(size,_size) and np.allclose(origin,_origin) def test_displacement_fluct_equivalence(self): @@ -67,8 +67,8 @@ class TestGridFilters: origin= np.random.random(3) size = np.random.random(3) # noqa grid = np.random.randint(8,32,(3)) - shifted = eval('grid_filters.{}_coord0(grid,size,origin)'.format(mode)) - unshifted = eval('grid_filters.{}_coord0(grid,size)'.format(mode)) + shifted = eval(f'grid_filters.{mode}_coord0(grid,size,origin)') + unshifted = eval(f'grid_filters.{mode}_coord0(grid,size)') if mode == 'cell': assert np.allclose(shifted,unshifted+np.broadcast_to(origin,tuple(grid) +(3,))) elif mode == 'node': From 99995602479bdab432cb095513af1d515ecc303e Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 24 Jun 2020 18:36:43 -0400 Subject: [PATCH 251/958] easier understanding of from_ang data layout interpretation --- python/damask/_table.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/python/damask/_table.py b/python/damask/_table.py index 8c09e2b78..435b7afa9 100644 --- a/python/damask/_table.py +++ b/python/damask/_table.py @@ -25,7 +25,7 @@ class Table: """ self.comments = [] if comments is None else [c for c in comments] self.data = pd.DataFrame(data=data) - self.shapes = { k:(v,) if isinstance(v,(np.integer,int)) else v for k,v in shapes.items() } + self.shapes = { k:(v,) if isinstance(v,(np.int,int)) else v for k,v in shapes.items() } self._label_condensed() @@ -126,8 +126,6 @@ class Table: Filename or file for reading. """ - shapes = {'eu':(3,), 'pos':(2,), - 'IQ':(1,), 'CI':(1,), 'ID':(1,), 'intensity':(1,), 'fit':(1,)} try: f = open(fname) except TypeError: @@ -144,8 +142,11 @@ class Table: break data = np.loadtxt(content) - for c in range(data.shape[1]-10): - shapes[f'n/a_{c+1}'] = (1,) + + shapes = {'eu':3, 'pos':2, 'IQ':1, 'CI':1, 'ID':1, 'intensity':1, 'fit':1} + remainder = data.shape[1]-sum(shapes.values()) + if remainder > 0: # 3.8 can do: if (remainder := data.shape[1]-sum(shapes.values())) > 0 + shapes['unknown'] = remainder return Table(data,shapes,comments) @@ -234,7 +235,6 @@ class Table: """ self.data.drop(columns=label,inplace=True) - del self.shapes[label] From e64d353865337d48ba5123be583a71e08983f7af Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 24 Jun 2020 18:37:33 -0400 Subject: [PATCH 252/958] condensed scale_to_coprime; added test of scale_to_coprime --- python/damask/util.py | 11 +++++++---- python/tests/test_util.py | 23 ++++++++++++++++++++++- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/python/damask/util.py b/python/damask/util.py index 471a5069b..cf99dc1b9 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -166,10 +166,13 @@ def scale_to_coprime(v): """Least common multiple.""" return a * b // np.gcd(a, b) - denominators = [int(get_square_denominator(i)) for i in v] - s = reduce(lcm, denominators) ** 0.5 - m = (np.array(v)*s).astype(np.int) - return m//reduce(np.gcd,m) + m = (np.array(v) * reduce(lcm, map(lambda x: int(get_square_denominator(x)),v)) ** 0.5).astype(np.int) + m = m//reduce(np.gcd,m) + + if not np.allclose(v/m,v[0]/m[0]): + raise ValueError(f'Invalid result {m} for input {v}. Insufficient precision?') + + return m #################################################################################################### diff --git a/python/tests/test_util.py b/python/tests/test_util.py index e67478d82..de6926e8c 100644 --- a/python/tests/test_util.py +++ b/python/tests/test_util.py @@ -1,11 +1,32 @@ +import pytest +import numpy as np from damask import util + class TestUtil: def test_execute_direct(self): out,err = util.execute('echo test') assert out=='test\n' and err=='' - + def test_execute_env(self): out,err = util.execute('sh -c "echo $test_for_execute"',env={'test_for_execute':'test'}) assert out=='test\n' and err=='' + + def test_croak(self): + util.croak('Burp!') + + @pytest.mark.parametrize('input,output', + [ + ([0.5,0.5],[1,1]), + ([1./2.,1./3.],[3,2]), + ([2./3.,1./2.,1./3.],[4,3,2]), + ]) + + def test_scale2coprime(self,input,output): + assert np.allclose(util.scale_to_coprime(np.array(input)), + np.array(output).astype(int)) + + def test_lackofprecision(self): + with pytest.raises(ValueError): + util.scale_to_coprime(np.array([0.66,0.5,0.33])) From c9829f0f1f0ba834d16906d06b229c848b0ca262 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 25 Jun 2020 08:18:39 +0200 Subject: [PATCH 253/958] only Chuck Norris can divide by zero --- python/damask/util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/util.py b/python/damask/util.py index 3c1f29c85..8668a9060 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -169,7 +169,7 @@ def scale_to_coprime(v): m = (np.array(v) * reduce(lcm, map(lambda x: int(get_square_denominator(x)),v)) ** 0.5).astype(np.int) m = m//reduce(np.gcd,m) - if not np.allclose(v/m,v[0]/m[0]): + if not np.allclose(v[v.nonzero()]/m[v.nonzero()],v[v.nonzero()][0]/m[m.nonzero()][0]): raise ValueError(f'Invalid result {m} for input {v}. Insufficient precision?') return m From 5d7213b062a6da6771e3ed1353398af7455cdf47 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 25 Jun 2020 08:19:07 +0200 Subject: [PATCH 254/958] restore reminder to document changes causes conflicts with outdated tests and is not urgent: postpone until release. --- python/damask/_geom.py | 11 ++++++++++- python/damask/_vtk.py | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 5a3e6d47f..bbdcaf9f8 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -230,7 +230,7 @@ class Geom: return np.copy(self.microstructure) - def get_size(self,): + def get_size(self): """Return the physical size in meter.""" return np.copy(self.size) @@ -374,6 +374,7 @@ class Geom: else: microstructure = microstructure.reshape(grid) + #ToDo: comments = 'geom.py:from_Laguerre_tessellation v{}'.format(version) return Geom(microstructure+1,size,homogenization=1) @@ -398,6 +399,7 @@ class Geom: KDTree = spatial.cKDTree(seeds,boxsize=size) if periodic else spatial.cKDTree(seeds) devNull,microstructure = KDTree.query(coords) + #ToDo: comments = 'geom.py:from_Voronoi_tessellation v{}'.format(version) return Geom(microstructure.reshape(grid)+1,size,homogenization=1) @@ -522,6 +524,7 @@ class Geom: if 'x' in directions: ms = np.concatenate([ms,ms[limits[0]:limits[1]:-1,:,:]],0) + #ToDo: self.add_comments('geom.py:mirror v{}'.format(version) return self.update(ms,rescale=True) @@ -535,6 +538,7 @@ class Geom: number of grid points in x,y,z direction. """ + #ToDo: self.add_comments('geom.py:scale v{}'.format(version) return self.update( ndimage.interpolation.zoom( self.microstructure, @@ -561,6 +565,7 @@ class Geom: unique, inverse = np.unique(arr, return_inverse=True) return unique[np.argmax(np.bincount(inverse))] + #ToDo: self.add_comments('geom.py:clean v{}'.format(version) return self.update(ndimage.filters.generic_filter( self.microstructure, mostFrequent, @@ -575,6 +580,7 @@ class Geom: for i, oldID in enumerate(np.unique(self.microstructure)): renumbered = np.where(self.microstructure == oldID, i+1, renumbered) + #ToDo: self.add_comments('geom.py:renumber v{}'.format(version) return self.update(renumbered) @@ -609,6 +615,7 @@ class Geom: origin = self.origin-(np.asarray(microstructure_in.shape)-self.grid)*.5 * self.size/self.grid + #ToDo: self.add_comments('geom.py:rotate v{}'.format(version) return self.update(microstructure_in,origin=origin,rescale=True) @@ -640,6 +647,7 @@ class Geom: canvas[l[0]:r[0],l[1]:r[1],l[2]:r[2]] = self.microstructure[L[0]:R[0],L[1]:R[1],L[2]:R[2]] + #ToDo: self.add_comments('geom.py:canvas v{}'.format(version) return self.update(canvas,origin=self.origin+offset*self.size/self.grid,rescale=True) @@ -659,4 +667,5 @@ class Geom: for from_ms,to_ms in zip(from_microstructure,to_microstructure): substituted[self.microstructure==from_ms] = to_ms + #ToDo: self.add_comments('geom.py:substitute v{}'.format(version) return self.update(substituted) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 55b84445c..f4855820e 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -178,7 +178,7 @@ class VTK: default_ext = writer.GetDefaultFileExtension() ext = Path(fname).suffix if ext and ext != '.'+default_ext: - raise ValueError(f'Given extension {ext} does not match default {default_ext}') + raise ValueError(f'Given extension {ext} does not match default .{default_ext}') writer.SetFileName(str(Path(fname).with_suffix('.'+default_ext))) writer.SetCompressorTypeToZLib() writer.SetDataModeToBinary() From 3290e2c585aab9edad7e4de0b852ef334ca1f83c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 25 Jun 2020 08:29:36 +0200 Subject: [PATCH 255/958] handle even obscure directions --- python/damask/util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/util.py b/python/damask/util.py index 8668a9060..733fd0010 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -156,7 +156,7 @@ def show_progress(iterable,N_iter=None,prefix='',bar_length=50): def scale_to_coprime(v): """Scale vector to co-prime (relatively prime) integers.""" - MAX_DENOMINATOR = 1000 + MAX_DENOMINATOR = 1000000 def get_square_denominator(x): """Denominator of the square of a number.""" From 27220a03bcf63b6268c91b7eee7890545b92af95 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 25 Jun 2020 09:23:43 +0200 Subject: [PATCH 256/958] not invalid anymore --- python/tests/test_util.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/tests/test_util.py b/python/tests/test_util.py index de6926e8c..c786e0de1 100644 --- a/python/tests/test_util.py +++ b/python/tests/test_util.py @@ -18,6 +18,7 @@ class TestUtil: @pytest.mark.parametrize('input,output', [ + ([2,0],[1,0]), ([0.5,0.5],[1,1]), ([1./2.,1./3.],[3,2]), ([2./3.,1./2.,1./3.],[4,3,2]), @@ -29,4 +30,4 @@ class TestUtil: def test_lackofprecision(self): with pytest.raises(ValueError): - util.scale_to_coprime(np.array([0.66,0.5,0.33])) + util.scale_to_coprime(np.array([1/3333,1,1])) From 78bf8b0ab7f941d774f963d210db64e729ea7304 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 25 Jun 2020 11:25:39 +0200 Subject: [PATCH 257/958] bugfix: close file before returning --- src/IO.f90 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/IO.f90 b/src/IO.f90 index 08f483a42..aae5f69cc 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -130,7 +130,10 @@ function IO_read(fileName) result(fileContent) status='old', position='rewind', action='read',iostat=myStat) if(myStat /= 0) call IO_error(100,ext_msg=trim(fileName)) allocate(character(len=fileLength)::fileContent) - if(fileLength==0) return + if(fileLength==0) then + close(fileUnit) + return + endif read(fileUnit,iostat=myStat) fileContent if(myStat /= 0) call IO_error(102,ext_msg=trim(fileName)) From 6e6e4dcdfd40c4d9b06c2611cfd5e518145bf651 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 25 Jun 2020 15:15:48 +0200 Subject: [PATCH 258/958] typo during resolve merge conflict --- src/mesh/discretization_mesh.f90 | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index dd7b76ff8..7dbd9350e 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -19,6 +19,7 @@ module discretization_mesh use numerics use FEsolving use FEM_quadrature + use YAML_types use prec implicit none From 9c89d537d25a72c1afe48018a25099a21096dd1d Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 25 Jun 2020 20:17:00 +0200 Subject: [PATCH 259/958] [skip ci] updated version information after successful test of v2.0.3-2706-g8ce5da55 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index d94a70ab1..4246a9b8c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2692-g3d93a5ff +v2.0.3-2706-g8ce5da55 From 130cf7fe2e03763f99f4dbeff7a04cec600902a8 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 26 Jun 2020 11:44:17 +0200 Subject: [PATCH 260/958] spelling mistakes in documentation --- src/DAMASK_interface.f90 | 12 ++--- src/constitutive.f90 | 6 +-- src/constitutive_plastic_nonlocal.f90 | 2 +- src/homogenization_mech_none.f90 | 10 ++-- src/kinematics_thermal_expansion.f90 | 2 +- src/list.f90 | 76 +++++++++++++-------------- src/source_damage_isoDuctile.f90 | 2 +- src/system_routines.f90 | 56 ++++++++++---------- src/thermal_conduction.f90 | 4 +- src/thermal_isothermal.f90 | 8 +-- 10 files changed, 89 insertions(+), 89 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index 67c7d99da..1ebae3401 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -6,7 +6,7 @@ !> @brief Interfacing between the PETSc-based solvers and the material subroutines provided !! by DAMASK !> @details Interfacing between the PETSc-based solvers and the material subroutines provided -!> by DAMASK. Interpretating the command line arguments to get load case, geometry file, +!> by DAMASK. Interpreting the command line arguments to get load case, geometry file, !> and working directory. !-------------------------------------------------------------------------------------------------- #define PETSC_MAJOR 3 @@ -20,11 +20,11 @@ module DAMASK_interface use prec use system_routines - + implicit none private logical, volatile, public, protected :: & - SIGTERM, & !< termination signal + SIGTERM, & !< termination signal SIGUSR1, & !< 1. user-defined signal SIGUSR2 !< 2. user-defined signal integer, public, protected :: & @@ -159,14 +159,14 @@ subroutine DAMASK_interface_init call MPI_Type_size(MPI_INTEGER,typeSize,err) if (err /= 0) call quit(1) if (typeSize*8 /= bit_size(0)) then - write(6,'(a)') ' Mismatch between MPI and DAMASK integer' + write(6,'(a)') ' Mismatch between MPI and DAMASK integer' call quit(1) endif call MPI_Type_size(MPI_DOUBLE,typeSize,err) if (err /= 0) call quit(1) if (typeSize*8 /= storage_size(0.0_pReal)) then - write(6,'(a)') ' Mismatch between MPI and DAMASK real' + write(6,'(a)') ' Mismatch between MPI and DAMASK real' call quit(1) endif @@ -340,7 +340,7 @@ end function getGeometryFile !-------------------------------------------------------------------------------------------------- -!> @brief relative path of loadcase from command line arguments +!> @brief relative path of load case from command line arguments !-------------------------------------------------------------------------------------------------- function getLoadCaseFile(loadCaseParameter) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index e2c9dbc05..4d999b1d6 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -375,7 +375,7 @@ subroutine constitutive_init constitutive_source_maxSizeDotState = 0 PhaseLoop2:do ph = 1,material_Nphase !-------------------------------------------------------------------------------------------------- -! partition and inititalize state +! partition and initialize state plasticState(ph)%partionedState0 = plasticState(ph)%state0 plasticState(ph)%state = plasticState(ph)%partionedState0 forall(s = 1:phase_Nsources(ph)) @@ -450,7 +450,7 @@ end subroutine constitutive_dependentState !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the velocity gradient -! ToDo: Discuss wheter it makes sense if crystallite handles the configuration conversion, i.e. +! ToDo: Discuss whether it makes sense if crystallite handles the configuration conversion, i.e. ! Mp in, dLp_dMp out !-------------------------------------------------------------------------------------------------- subroutine constitutive_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & @@ -660,7 +660,7 @@ end subroutine constitutive_SandItsTangents !-------------------------------------------------------------------------------------------------- !> @brief returns the 2nd Piola-Kirchhoff stress tensor and its tangent with respect to -!> the elastic and intermeidate deformation gradients using Hookes law +!> the elastic and intermediate deformation gradients using Hooke's law !-------------------------------------------------------------------------------------------------- subroutine constitutive_hooke_SandItsTangents(S, dS_dFe, dS_dFi, & Fe, Fi, ipc, ip, el) diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 7f21d0194..b24cb2378 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -37,7 +37,7 @@ submodule(constitutive) plastic_nonlocal ! BEGIN DEPRECATED integer, dimension(:,:,:), allocatable :: & iRhoU, & !< state indices for unblocked density - iV, & !< state indices for dislcation velocities + iV, & !< state indices for dislocation velocities iD !< state indices for stable dipole height !END DEPRECATED diff --git a/src/homogenization_mech_none.f90 b/src/homogenization_mech_none.f90 index 474d74ffd..0eacfd940 100644 --- a/src/homogenization_mech_none.f90 +++ b/src/homogenization_mech_none.f90 @@ -9,7 +9,7 @@ submodule(homogenization) homogenization_mech_none contains !-------------------------------------------------------------------------------------------------- -!> @brief allocates all neccessary fields, reads information from material configuration file +!> @brief allocates all necessary fields, reads information from material configuration file !-------------------------------------------------------------------------------------------------- module subroutine mech_none_init @@ -17,22 +17,22 @@ module subroutine mech_none_init Ninstance, & h, & NofMyHomog - + write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_NONE_label//' init -+>>>'; flush(6) Ninstance = count(homogenization_type == HOMOGENIZATION_NONE_ID) if (iand(debug_level(debug_HOMOGENIZATION),debug_levelBasic) /= 0) & write(6,'(a16,1x,i5,/)') '# instances:',Ninstance - + do h = 1, size(homogenization_type) if (homogenization_type(h) /= HOMOGENIZATION_NONE_ID) cycle - + NofMyHomog = count(material_homogenizationAt == h) homogState(h)%sizeState = 0 allocate(homogState(h)%state0 (0,NofMyHomog)) allocate(homogState(h)%subState0(0,NofMyHomog)) allocate(homogState(h)%state (0,NofMyHomog)) - + enddo end subroutine mech_none_init diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index acf3a5067..6705fee5d 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -102,7 +102,7 @@ end function kinematics_thermal_expansion_initialStrain !-------------------------------------------------------------------------------------------------- -!> @brief contains the constitutive equation for calculating the velocity gradient +!> @brief constitutive equation for calculating the velocity gradient !-------------------------------------------------------------------------------------------------- subroutine kinematics_thermal_expansion_LiAndItsTangent(Li, dLi_dTstar, ipc, ip, el) diff --git a/src/list.f90 b/src/list.f90 index 1d1bd5fff..901bb4d7c 100644 --- a/src/list.f90 +++ b/src/list.f90 @@ -1,18 +1,18 @@ !------------------------------------------------------------------------------------------------- !> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH -!> @brief linked list +!> @brief Linked list !-------------------------------------------------------------------------------------------------- module list use prec use IO - + implicit none - private + private type, private :: tPartitionedString character(len=:), allocatable :: val integer, dimension(:), allocatable :: pos end type tPartitionedString - + type, public :: tPartitionedStringList type(tPartitionedString) :: string type(tPartitionedStringList), pointer :: next => null() @@ -20,31 +20,31 @@ module list procedure :: add => add procedure :: show => show procedure :: free => free - + ! currently, a finalize is needed for all shapes of tPartitionedStringList. ! with Fortran 2015, we can define one recursive elemental function ! https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/543326 final :: finalize, & - finalizeArray - + finalizeArray + procedure :: keyExists => keyExists procedure :: countKeys => countKeys - + procedure :: getFloat => getFloat procedure :: getInt => getInt procedure :: getString => getString - + procedure :: getFloats => getFloats procedure :: getInts => getInts procedure :: getStrings => getStrings - + end type tPartitionedStringList contains !-------------------------------------------------------------------------------------------------- !> @brief add element -!> @details Adds a string together with the start/end position of chunks in this string. The new +!> @details Adds a string together with the start/end position of chunks in this string. The new !! element is added at the end of the list. Empty strings are not added. All strings are converted !! to lower case. The data is not stored in the new element but in the current. !-------------------------------------------------------------------------------------------------- @@ -177,7 +177,7 @@ end function countKeys !-------------------------------------------------------------------------------------------------- !> @brief gets float value of for a given key from a linked list -!> @details gets the last value if the key occurs more than once. If key is not found exits with +!> @details gets the last value if the key occurs more than once. If key is not found exits with !! error unless default is given !-------------------------------------------------------------------------------------------------- real(pReal) function getFloat(this,key,defaultVal) @@ -187,11 +187,11 @@ real(pReal) function getFloat(this,key,defaultVal) real(pReal), intent(in), optional :: defaultVal type(tPartitionedStringList), pointer :: item logical :: found - + getFloat = huge(1.0) ! suppress warning about unitialized value found = present(defaultVal) if (found) getFloat = defaultVal - + item => this do while (associated(item%next)) if (trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key)) then @@ -209,7 +209,7 @@ end function getFloat !-------------------------------------------------------------------------------------------------- !> @brief gets integer value of for a given key from a linked list -!> @details gets the last value if the key occurs more than once. If key is not found exits with +!> @details gets the last value if the key occurs more than once. If key is not found exits with !! error unless default is given !-------------------------------------------------------------------------------------------------- integer function getInt(this,key,defaultVal) @@ -223,7 +223,7 @@ integer function getInt(this,key,defaultVal) getInt = huge(1) ! suppress warning about unitialized value found = present(defaultVal) if (found) getInt = defaultVal - + item => this do while (associated(item%next)) if (trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key)) then @@ -241,12 +241,12 @@ end function getInt !-------------------------------------------------------------------------------------------------- !> @brief gets string value of for a given key from a linked list -!> @details gets the last value if the key occurs more than once. If key is not found exits with -!! error unless default is given. If raw is true, the the complete string is returned, otherwise +!> @details gets the last value if the key occurs more than once. If key is not found exits with +!! error unless default is given. If raw is true, the the complete string is returned, otherwise !! the individual chunks are returned !-------------------------------------------------------------------------------------------------- character(len=pStringLen) function getString(this,key,defaultVal,raw) - + class(tPartitionedStringList), target, intent(in) :: this character(len=*), intent(in) :: key character(len=*), intent(in), optional :: defaultVal @@ -259,19 +259,19 @@ character(len=pStringLen) function getString(this,key,defaultVal,raw) else whole = .false. endif - + found = present(defaultVal) if (found) then if (len_trim(defaultVal) > len(getString)) call IO_error(0,ext_msg='getString') getString = trim(defaultVal) endif - + item => this do while (associated(item%next)) if (trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key)) then found = .true. if (item%string%pos(1) < 2) call IO_error(143,ext_msg=key) - + if (whole) then getString = trim(item%string%val(item%string%pos(4):)) ! raw string starting a second chunk else @@ -280,7 +280,7 @@ character(len=pStringLen) function getString(this,key,defaultVal,raw) endif item => item%next enddo - + if (.not. found) call IO_error(140,ext_msg=key) end function getString @@ -292,7 +292,7 @@ end function getString !! values from the last occurrence. If key is not found exits with error unless default is given. !-------------------------------------------------------------------------------------------------- function getFloats(this,key,defaultVal,requiredSize) - + real(pReal), dimension(:), allocatable :: getFloats class(tPartitionedStringList), target, intent(in) :: this character(len=*), intent(in) :: key @@ -302,12 +302,12 @@ function getFloats(this,key,defaultVal,requiredSize) integer :: i logical :: found, & cumulative - + cumulative = (key(1:1) == '(' .and. key(len_trim(key):len_trim(key)) == ')') found = .false. - + allocate(getFloats(0)) - + item => this do while (associated(item%next)) if (trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key)) then @@ -320,7 +320,7 @@ function getFloats(this,key,defaultVal,requiredSize) endif item => item%next enddo - + if (.not. found) then if (present(defaultVal)) then; getFloats = defaultVal; else; call IO_error(140,ext_msg=key); endif endif @@ -337,7 +337,7 @@ end function getFloats !! values from the last occurrence. If key is not found exits with error unless default is given. !-------------------------------------------------------------------------------------------------- function getInts(this,key,defaultVal,requiredSize) - + integer, dimension(:), allocatable :: getInts class(tPartitionedStringList), target, intent(in) :: this character(len=*), intent(in) :: key @@ -347,12 +347,12 @@ function getInts(this,key,defaultVal,requiredSize) integer :: i logical :: found, & cumulative - + cumulative = (key(1:1) == '(' .and. key(len_trim(key):len_trim(key)) == ')') found = .false. - + allocate(getInts(0)) - + item => this do while (associated(item%next)) if (trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key)) then @@ -365,7 +365,7 @@ function getInts(this,key,defaultVal,requiredSize) endif item => item%next enddo - + if (.not. found) then if (present(defaultVal)) then; getInts = defaultVal; else; call IO_error(140,ext_msg=key); endif endif @@ -383,7 +383,7 @@ end function getInts !! If raw is true, the the complete string is returned, otherwise the individual chunks are returned !-------------------------------------------------------------------------------------------------- function getStrings(this,key,defaultVal,raw) - + character(len=pStringLen),dimension(:), allocatable :: getStrings class(tPartitionedStringList),target, intent(in) :: this character(len=*), intent(in) :: key @@ -395,7 +395,7 @@ function getStrings(this,key,defaultVal,raw) logical :: found, & whole, & cumulative - + cumulative = (key(1:1) == '(' .and. key(len_trim(key):len_trim(key)) == ')') if (present(raw)) then whole = raw @@ -403,14 +403,14 @@ function getStrings(this,key,defaultVal,raw) whole = .false. endif found = .false. - + item => this do while (associated(item%next)) if (trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key)) then found = .true. if (allocated(getStrings) .and. .not. cumulative) deallocate(getStrings) if (item%string%pos(1) < 2) call IO_error(143,ext_msg=key) - + notAllocated: if (.not. allocated(getStrings)) then if (whole) then str = item%string%val(item%string%pos(4):) @@ -437,7 +437,7 @@ function getStrings(this,key,defaultVal,raw) endif item => item%next enddo - + if (.not. found) then if (present(defaultVal)) then if (len(defaultVal) > len(getStrings)) call IO_error(0,ext_msg='getStrings') diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index 96754725d..698a1c85a 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -1,7 +1,7 @@ !-------------------------------------------------------------------------------------------------- !> @author Pratheek Shanthraj, Max-Planck-Institut für Eisenforschung GmbH !> @author Luv Sharma, Max-Planck-Institut für Eisenforschung GmbH -!> @brief material subroutine incoprorating isotropic ductile damage source mechanism +!> @brief material subroutine incorporating isotropic ductile damage source mechanism !> @details to be done !-------------------------------------------------------------------------------------------------- module source_damage_isoDuctile diff --git a/src/system_routines.f90 b/src/system_routines.f90 index d29787909..450dfe5b1 100644 --- a/src/system_routines.f90 +++ b/src/system_routines.f90 @@ -1,14 +1,14 @@ !-------------------------------------------------------------------------------------------------- -!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH -!> @brief provides wrappers to C routines +!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH +!> @brief Wrappers to C routines for system operations !-------------------------------------------------------------------------------------------------- module system_routines use, intrinsic :: ISO_C_Binding - - use prec - + + use prec + implicit none - + public :: & signalterm_C, & signalusr1_C, & @@ -17,74 +17,74 @@ module system_routines getCWD, & getHostName, & setCWD - + interface - + function isDirectory_C(path) bind(C) use, intrinsic :: ISO_C_Binding, only: & C_INT, & C_CHAR use prec - + integer(C_INT) :: isDirectory_C character(kind=C_CHAR), dimension(pPathLen), intent(in) :: path ! C string is an array end function isDirectory_C - + subroutine getCurrentWorkDir_C(path, stat) bind(C) use, intrinsic :: ISO_C_Binding, only: & C_INT, & C_CHAR use prec - + character(kind=C_CHAR), dimension(pPathLen), intent(out) :: path ! C string is an array integer(C_INT), intent(out) :: stat end subroutine getCurrentWorkDir_C - + subroutine getHostName_C(str, stat) bind(C) use, intrinsic :: ISO_C_Binding, only: & C_INT, & C_CHAR use prec - + character(kind=C_CHAR), dimension(pStringLen), intent(out) :: str ! C string is an array integer(C_INT), intent(out) :: stat end subroutine getHostName_C - + function chdir_C(path) bind(C) use, intrinsic :: ISO_C_Binding, only: & C_INT, & C_CHAR use prec - + integer(C_INT) :: chdir_C character(kind=C_CHAR), dimension(pPathLen), intent(in) :: path ! C string is an array end function chdir_C - + subroutine signalterm_C(handler) bind(C) use, intrinsic :: ISO_C_Binding, only: & C_FUNPTR - + type(C_FUNPTR), intent(in), value :: handler end subroutine signalterm_C - + subroutine signalusr1_C(handler) bind(C) use, intrinsic :: ISO_C_Binding, only: & C_FUNPTR - + type(C_FUNPTR), intent(in), value :: handler end subroutine signalusr1_C - + subroutine signalusr2_C(handler) bind(C) use, intrinsic :: ISO_C_Binding, only: & C_FUNPTR - + type(C_FUNPTR), intent(in), value :: handler end subroutine signalusr2_C - + end interface contains @@ -96,8 +96,8 @@ logical function isDirectory(path) character(len=*), intent(in) :: path character(kind=C_CHAR), dimension(pPathLen) :: strFixedLength ! C string as array - integer :: i - + integer :: i + strFixedLength = repeat(C_NULL_CHAR,len(strFixedLength)) do i=1,len(path) ! copy array components strFixedLength(i)=path(i:i) @@ -116,9 +116,9 @@ function getCWD() character(len=:), allocatable :: getCWD integer(C_INT) :: stat integer :: i - + call getCurrentWorkDir_C(charArray,stat) - + if (stat /= 0_C_INT) then getCWD = 'Error occured when getting currend working directory' else @@ -145,7 +145,7 @@ function getHostName() character(len=:), allocatable :: getHostName integer(C_INT) :: stat integer :: i - + call getHostName_C(charArray,stat) if (stat /= 0_C_INT) then @@ -173,7 +173,7 @@ logical function setCWD(path) character(len=*), intent(in) :: path character(kind=C_CHAR), dimension(pPathLen) :: strFixedLength ! C string is an array integer :: i - + strFixedLength = repeat(C_NULL_CHAR,len(strFixedLength)) do i=1,len(path) ! copy array components strFixedLength(i)=path(i:i) diff --git a/src/thermal_conduction.f90 b/src/thermal_conduction.f90 index be72c07b6..82eed4cc4 100644 --- a/src/thermal_conduction.f90 +++ b/src/thermal_conduction.f90 @@ -73,7 +73,7 @@ end subroutine thermal_conduction_init !-------------------------------------------------------------------------------------------------- -!> @brief returns heat generation rate +!> @brief return heat generation rate !-------------------------------------------------------------------------------------------------- subroutine thermal_conduction_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el) @@ -132,7 +132,7 @@ end subroutine thermal_conduction_getSourceAndItsTangent !-------------------------------------------------------------------------------------------------- -!> @brief returns homogenized thermal conductivity in reference configuration +!> @brief return homogenized thermal conductivity in reference configuration !-------------------------------------------------------------------------------------------------- function thermal_conduction_getConductivity(ip,el) diff --git a/src/thermal_isothermal.f90 b/src/thermal_isothermal.f90 index 630e8db6d..ceb714740 100644 --- a/src/thermal_isothermal.f90 +++ b/src/thermal_isothermal.f90 @@ -8,14 +8,14 @@ module thermal_isothermal implicit none public - + contains !-------------------------------------------------------------------------------------------------- -!> @brief allocates all neccessary fields, reads information from material configuration file +!> @brief allocates fields, reads information from material configuration file !-------------------------------------------------------------------------------------------------- subroutine thermal_isothermal_init - + integer :: h,NofMyHomog write(6,'(/,a)') ' <<<+- thermal_'//THERMAL_isothermal_label//' init -+>>>'; flush(6) @@ -28,7 +28,7 @@ subroutine thermal_isothermal_init allocate(thermalState(h)%state0 (0,NofMyHomog)) allocate(thermalState(h)%subState0(0,NofMyHomog)) allocate(thermalState(h)%state (0,NofMyHomog)) - + deallocate(temperature (h)%p) allocate (temperature (h)%p(1), source=thermal_initialT(h)) deallocate(temperatureRate(h)%p) From bddb514072f2803af2abae4465a6a147c58f1010 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 26 Jun 2020 11:45:06 +0200 Subject: [PATCH 261/958] more systematic reporting --- python/damask/_result.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 354c1c3f7..e81b0f1c3 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1,4 +1,4 @@ -import multiprocessing +import multiprocessing as mp import re import inspect import glob @@ -413,17 +413,18 @@ class Result: for i in self.iterate('increments'): message += f'\n{i} ({self.times[self.increments.index(i)]}s)\n' for o,p in zip(['constituents','materialpoints'],['con_physics','mat_physics']): + message += f' {o[:-1]}\n' for oo in self.iterate(o): - message += f' {oo}\n' + message += f' {oo}\n' for pp in self.iterate(p): - message += f' {pp}\n' + message += f' {pp}\n' group = '/'.join([i,o[:-1],oo,pp]) # o[:-1]: plural/singular issue for d in f[group].keys(): try: dataset = f['/'.join([group,d])] unit = f" / {dataset.attrs['Unit'].decode()}" if 'Unit' in dataset.attrs else '' description = dataset.attrs['Description'].decode() - message += f' {d}{unit}: {description}\n' + message += f' {d}{unit}: {description}\n' except KeyError: pass return message @@ -1066,8 +1067,8 @@ class Result: """ num_threads = Environment().options['DAMASK_NUM_THREADS'] - pool = multiprocessing.Pool(int(num_threads) if num_threads is not None else None) - lock = multiprocessing.Manager().Lock() + pool = mp.Pool(int(num_threads) if num_threads is not None else None) + lock = mp.Manager().Lock() groups = self.groups_with_datasets(datasets.values()) default_arg = partial(self._job,func=func,datasets=datasets,args=args,lock=lock) From bfae88a364b2c738301ea4dbe403eb4a2fabc0da Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 26 Jun 2020 11:45:30 +0200 Subject: [PATCH 262/958] numpy compatible --- python/damask/_rotation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 335d28b3b..305460a5f 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -155,7 +155,7 @@ class Rotation: def broadcast_to(self,shape): - if isinstance(shape,int): shape = (shape,) + if isinstance(shape,(int,np.integer)): shape = (shape,) if self.shape == (): q = np.broadcast_to(self.quaternion,shape+(4,)) else: From a69f82e7c3bcd884257d801a26b16fc8aad37e0b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 26 Jun 2020 11:45:54 +0200 Subject: [PATCH 263/958] speed up vtk out - limit to single precision - write in background --- python/damask/_vtk.py | 26 +++++++++++++++++++++----- python/tests/test_VTK.py | 28 +++++++++++++++++++++++----- 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index f4855820e..6af4344f3 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -1,3 +1,4 @@ +import multiprocessing as mp from pathlib import Path import pandas as pd @@ -157,8 +158,11 @@ class VTK: return VTK(geom) - - def write(self,fname): + @staticmethod + def _write(writer): + """Wrapper for parallel writing.""" + writer.Write() + def write(self,fname,parallel=True): """ Write to file. @@ -166,6 +170,8 @@ class VTK: ---------- fname : str Filename for writing. + parallel : boolean, optional + Write data in parallel background process. Defaults to True. """ if isinstance(self.geom,vtk.vtkRectilinearGrid): @@ -183,8 +189,11 @@ class VTK: writer.SetCompressorTypeToZLib() writer.SetDataModeToBinary() writer.SetInputData(self.geom) - - writer.Write() + if parallel: + mp_writer = mp.Process(target=self._write,args=(writer,)) + mp_writer.start() + else: + writer.Write() # Check https://blog.kitware.com/ghost-and-blanking-visibility-changes/ for missing data @@ -195,14 +204,21 @@ class VTK: N_cells = self.geom.GetNumberOfCells() if isinstance(data,np.ndarray): - d = np_to_vtk(num_array=data.reshape(data.shape[0],-1),deep=True) if label is None: raise ValueError('No label defined for numpy.ndarray') + + if data.dtype in [np.float64, np.float128]: # avoid large files + d = np_to_vtk(num_array=data.astype(np.float32).reshape(data.shape[0],-1),deep=True) + else: + d = np_to_vtk(num_array=data.reshape(data.shape[0],-1),deep=True) d.SetName(label) + if data.shape[0] == N_cells: self.geom.GetCellData().AddArray(d) elif data.shape[0] == N_points: self.geom.GetPointData().AddArray(d) + else: + raise ValueError(f'Invalid shape {data.shape[0]}') elif isinstance(data,pd.DataFrame): raise NotImplementedError('pd.DataFrame') elif isinstance(data,Table): diff --git a/python/tests/test_VTK.py b/python/tests/test_VTK.py index 8795e7161..395102950 100644 --- a/python/tests/test_VTK.py +++ b/python/tests/test_VTK.py @@ -1,4 +1,6 @@ import os +import filecmp +import time import pytest import numpy as np @@ -18,7 +20,7 @@ class TestVTK: origin = np.random.random(3) v = VTK.from_rectilinearGrid(grid,size,origin) string = v.__repr__() - v.write(os.path.join(tmp_path,'rectilinearGrid')) + v.write(os.path.join(tmp_path,'rectilinearGrid'),False) vtr = VTK.from_file(os.path.join(tmp_path,'rectilinearGrid.vtr')) with open(os.path.join(tmp_path,'rectilinearGrid.vtk'),'w') as f: f.write(string) @@ -26,10 +28,10 @@ class TestVTK: assert(string == vtr.__repr__() == vtk.__repr__()) def test_polyData(self,tmp_path): - points = np.random.rand(3,100) + points = np.random.rand(100,3) v = VTK.from_polyData(points) string = v.__repr__() - v.write(os.path.join(tmp_path,'polyData')) + v.write(os.path.join(tmp_path,'polyData'),False) vtp = VTK.from_file(os.path.join(tmp_path,'polyData.vtp')) with open(os.path.join(tmp_path,'polyData.vtk'),'w') as f: f.write(string) @@ -48,14 +50,30 @@ class TestVTK: connectivity = np.random.choice(np.arange(n),n,False).reshape(-1,n) v = VTK.from_unstructuredGrid(nodes,connectivity,cell_type) string = v.__repr__() - v.write(os.path.join(tmp_path,'unstructuredGrid')) + v.write(os.path.join(tmp_path,'unstructuredGrid'),False) vtu = VTK.from_file(os.path.join(tmp_path,'unstructuredGrid.vtu')) with open(os.path.join(tmp_path,'unstructuredGrid.vtk'),'w') as f: f.write(string) vtk = VTK.from_file(os.path.join(tmp_path,'unstructuredGrid.vtk'),'unstructuredgrid') assert(string == vtu.__repr__() == vtk.__repr__()) - @pytest.mark.parametrize('name,dataset_type',[('this_file_does_not_exist.vtk',None), + + def test_parallel_out(self,tmp_path): + points = np.random.rand(102,3) + v = VTK.from_polyData(points) + fname_s = os.path.join(tmp_path,'single.vtp') + fname_p = os.path.join(tmp_path,'parallel.vtp') + v.write(fname_s,False) + v.write(fname_p,True) + for i in range(10): + if os.path.isfile(fname_p) and filecmp.cmp(fname_s,fname_p): + assert(True) + return + time.sleep(.5) + assert(False) + + + @pytest.mark.parametrize('name,dataset_type',[('this_file_does_not_exist.vtk', None), ('this_file_does_not_exist.vtk','vtk'), ('this_file_does_not_exist.vtx', None)]) def test_invalid_dataset_type(self,dataset_type,name): From 1f9b5280cb95351c066afc87a7c9c1627e096750 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 26 Jun 2020 11:47:04 +0200 Subject: [PATCH 264/958] forgotten debug statement --- python/damask/_result.py | 1 - 1 file changed, 1 deletion(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index e81b0f1c3..35879ec80 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -704,7 +704,6 @@ class Result: label,p = 'intermediate',1 elif eigenvalue == 'min': label,p = 'minimum',0 - print('p',eigenvalue) return { 'data': mechanics.eigenvectors(T_sym['data'])[:,p], 'label': f"v_{eigenvalue}({T_sym['label']})", From 6f9f494654ec6409c37dc2001708a6235007a1d8 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 26 Jun 2020 12:22:33 +0200 Subject: [PATCH 265/958] minor polishing --- src/CPFEM.f90 | 2 +- src/homogenization.f90 | 8 ++--- src/homogenization_mech_RGC.f90 | 56 ++++++++++++++++----------------- src/numerics.f90 | 8 ++--- 4 files changed, 37 insertions(+), 37 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 6647581e3..00afbbc01 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -46,7 +46,7 @@ module CPFEM type, private :: tNumerics integer :: & - iJacoStiffness !< frequency of stiffness update + iJacoStiffness !< frequency of stiffness update end type tNumerics type(tNumerics), private :: num diff --git a/src/homogenization.f90 b/src/homogenization.f90 index e055c6f06..a5ba56e9f 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -62,7 +62,7 @@ module homogenization module subroutine mech_RGC_init(num_homogMech) class(tNode), pointer, intent(in) :: & - num_homogMech + num_homogMech !< pointer to mechanical homogenization numerics data end subroutine mech_RGC_init @@ -139,8 +139,8 @@ subroutine homogenization_init num_homogMech, & num_homogGeneric - num_homog => numerics_root%get('homogenization',defaultVal=emptyDict) - num_homogMech => num_homog%get('mech',defaultVal=emptyDict) + num_homog => numerics_root%get('homogenization',defaultVal=emptyDict) + num_homogMech => num_homog%get('mech',defaultVal=emptyDict) num_homogGeneric => num_homog%get('generic',defaultVal=emptyDict) if (any(homogenization_type == HOMOGENIZATION_NONE_ID)) call mech_none_init @@ -169,7 +169,7 @@ subroutine homogenization_init if (debug_g < 1 .or. debug_g > homogenization_Ngrains(material_homogenizationAt(debug_e))) & call IO_error(602,ext_msg='constituent', el=debug_e, g=debug_g) - num%nMPstate = num_homogGeneric%get_asInt( 'nMPstate', defaultVal=10) + num%nMPstate = num_homogGeneric%get_asInt ('nMPstate', defaultVal=10) num%subStepMinHomog = num_homogGeneric%get_asFloat('subStepMin', defaultVal=1.0e-3_pReal) num%subStepSizeHomog = num_homogGeneric%get_asFloat('subStepSize', defaultVal=0.25_pReal) num%stepIncreaseHomog = num_homogGeneric%get_asFloat('stepIncrease', defaultVal=1.5_pReal) diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index 7ef73b130..90e08b71a 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -45,19 +45,19 @@ submodule(homogenization) homogenization_mech_RGC type :: tNumerics_RGC real(pReal) :: & - atol, & !< absolute tolerance of RGC residuum - rtol, & !< relative tolerance of RGC residuum - absMax, & !< absolute maximum of RGC residuum - relMax, & !< relative maximum of RGC residuum - pPert, & !< perturbation for computing RGC penalty tangent - xSmoo, & !< RGC penalty smoothing parameter (hyperbolic tangent) - viscPower, & !< power (sensitivity rate) of numerical viscosity in RGC scheme, Default 1.0e0: Newton viscosity (linear model) - viscModus, & !< stress modulus of RGC numerical viscosity, Default 0.0e0: No viscosity is applied - refRelaxRate, & !< reference relaxation rate in RGC viscosity - maxdRelax, & !< threshold of maximum relaxation vector increment (if exceed this then cutback) - maxVolDiscr, & !< threshold of maximum volume discrepancy allowed - volDiscrMod, & !< stiffness of RGC volume discrepancy (zero = without volume discrepancy constraint) - volDiscrPow !< powerlaw penalty for volume discrepancy + atol, & !< absolute tolerance of RGC residuum + rtol, & !< relative tolerance of RGC residuum + absMax, & !< absolute maximum of RGC residuum + relMax, & !< relative maximum of RGC residuum + pPert, & !< perturbation for computing RGC penalty tangent + xSmoo, & !< RGC penalty smoothing parameter (hyperbolic tangent) + viscPower, & !< power (sensitivity rate) of numerical viscosity in RGC scheme, Default 1.0e0: Newton viscosity (linear model) + viscModus, & !< stress modulus of RGC numerical viscosity, Default 0.0e0: No viscosity is applied + refRelaxRate, & !< reference relaxation rate in RGC viscosity + maxdRelax, & !< threshold of maximum relaxation vector increment (if exceed this then cutback) + maxVolDiscr, & !< threshold of maximum volume discrepancy allowed + volDiscrMod, & !< stiffness of RGC volume discrepancy (zero = without volume discrepancy constraint) + volDiscrPow !< powerlaw penalty for volume discrepancy end type tNumerics_RGC type(tparameters), dimension(:), allocatable :: & @@ -78,7 +78,7 @@ contains module subroutine mech_RGC_init(num_homogMech) class(tNode), pointer, intent(in) :: & - num_homogMech + num_homogMech !< pointer to mechanical homogenization numerics data integer :: & Ninstance, & @@ -87,7 +87,7 @@ module subroutine mech_RGC_init(num_homogMech) sizeState, nIntFaceTot class (tNode), pointer :: & - num_RGC + num_RGC ! pointer to RGC numerics data write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_RGC_label//' init -+>>>'; flush(6) @@ -108,19 +108,19 @@ module subroutine mech_RGC_init(num_homogMech) num_RGC => num_homogMech%get('RGC',defaultVal=emptyDict) - num%atol = num_RGC%get_asFloat('atol', defaultVal=1.0e+4_pReal) - num%rtol = num_RGC%get_asFloat('rtol', defaultVal=1.0e-3_pReal) - num%absMax = num_RGC%get_asFloat('amax', defaultVal=1.0e+10_pReal) - num%relMax = num_RGC%get_asFloat('rmax', defaultVal=1.0e+2_pReal) - num%pPert = num_RGC%get_asFloat('perturbpenalty', defaultVal=1.0e-7_pReal) - num%xSmoo = num_RGC%get_asFloat('relvantmismatch', defaultVal=1.0e-5_pReal) - num%viscPower = num_RGC%get_asFloat('viscositypower', defaultVal=1.0e+0_pReal) - num%viscModus = num_RGC%get_asFloat('viscositymodulus', defaultVal=0.0e+0_pReal) - num%refRelaxRate = num_RGC%get_asFloat('refrelaxationrate',defaultVal=1.0e-3_pReal) - num%maxdRelax = num_RGC%get_asFloat('maxrelaxationrate',defaultVal=1.0e+0_pReal) - num%maxVolDiscr = num_RGC%get_asFloat('maxvoldiscrepancy',defaultVal=1.0e-5_pReal) - num%volDiscrMod = num_RGC%get_asFloat('voldiscrepancymod',defaultVal=1.0e+12_pReal) - num%volDiscrPow = num_RGC%get_asFloat('dicrepancypower', defaultVal=5.0_pReal) + num%atol = num_RGC%get_asFloat('atol', defaultVal=1.0e+4_pReal) + num%rtol = num_RGC%get_asFloat('rtol', defaultVal=1.0e-3_pReal) + num%absMax = num_RGC%get_asFloat('amax', defaultVal=1.0e+10_pReal) + num%relMax = num_RGC%get_asFloat('rmax', defaultVal=1.0e+2_pReal) + num%pPert = num_RGC%get_asFloat('perturbpenalty', defaultVal=1.0e-7_pReal) + num%xSmoo = num_RGC%get_asFloat('relvantmismatch', defaultVal=1.0e-5_pReal) + num%viscPower = num_RGC%get_asFloat('viscositypower', defaultVal=1.0e+0_pReal) + num%viscModus = num_RGC%get_asFloat('viscositymodulus', defaultVal=0.0e+0_pReal) + num%refRelaxRate = num_RGC%get_asFloat('refrelaxationrate', defaultVal=1.0e-3_pReal) + num%maxdRelax = num_RGC%get_asFloat('maxrelaxationrate', defaultVal=1.0e+0_pReal) + num%maxVolDiscr = num_RGC%get_asFloat('maxvoldiscrepancy', defaultVal=1.0e-5_pReal) + num%volDiscrMod = num_RGC%get_asFloat('voldiscrepancymod', defaultVal=1.0e+12_pReal) + num%volDiscrPow = num_RGC%get_asFloat('dicrepancypower', defaultVal=5.0_pReal) if (num%atol <= 0.0_pReal) call IO_error(301,ext_msg='absTol_RGC') diff --git a/src/numerics.f90 b/src/numerics.f90 index 56bfc2492..35436296c 100644 --- a/src/numerics.f90 +++ b/src/numerics.f90 @@ -20,12 +20,12 @@ module numerics private class(tNode), pointer, protected, public :: & - numerics_root + numerics_root !< root pointer storing the numerics YAML structure integer, protected, public :: & - worldrank = 0, & !< MPI worldrank (/=0 for MPI simulations only) - worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) + worldrank = 0, & !< MPI worldrank (/=0 for MPI simulations only) + worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) integer(4), protected, public :: & - DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive + DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive public :: numerics_init From 77e7e3d3c4546219ad4dc5e76e27aaf32c243ddb Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 26 Jun 2020 20:12:05 +0200 Subject: [PATCH 266/958] polishing --- src/DAMASK_marc.f90 | 2 +- src/constitutive.f90 | 26 ++++++++++---------- src/constitutive_plastic_disloUCLA.f90 | 2 +- src/constitutive_plastic_dislotwin.f90 | 2 +- src/constitutive_plastic_isotropic.f90 | 6 ++--- src/constitutive_plastic_kinehardening.f90 | 4 +-- src/constitutive_plastic_none.f90 | 2 +- src/constitutive_plastic_nonlocal.f90 | 10 ++++---- src/constitutive_plastic_phenopowerlaw.f90 | 2 +- src/crystallite.f90 | 2 +- src/debug.f90 | 4 +-- src/grid/DAMASK_grid.f90 | 2 +- src/grid/grid_mech_FEM.f90 | 2 +- src/grid/grid_mech_spectral_basic.f90 | 2 +- src/grid/grid_mech_spectral_polarisation.f90 | 2 +- src/grid/spectral_utilities.f90 | 2 +- src/homogenization.f90 | 24 +++++++++--------- src/homogenization_mech_RGC.f90 | 10 +++----- src/homogenization_mech_isostrain.f90 | 2 +- src/homogenization_mech_none.f90 | 2 +- src/kinematics_cleavage_opening.f90 | 2 +- src/kinematics_slipplane_opening.f90 | 2 +- src/kinematics_thermal_expansion.f90 | 2 +- src/material.f90 | 2 +- src/mesh/FEM_utilities.f90 | 2 +- src/source_damage_anisoBrittle.f90 | 2 +- src/source_damage_anisoDuctile.f90 | 2 +- src/source_damage_isoBrittle.f90 | 2 +- src/source_damage_isoDuctile.f90 | 2 +- src/source_thermal_dissipation.f90 | 2 +- src/source_thermal_externalheat.f90 | 2 +- 31 files changed, 65 insertions(+), 67 deletions(-) diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index 7789fc58c..233e684ee 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -255,7 +255,7 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & outdatedByNewInc = .false., & !< needs description CPFEM_init_done = .false. !< remember whether init has been done already class(tNode), pointer :: & - debug_Marc + debug_Marc ! pointer to Marc debug options defaultNumThreadsInt = omp_get_num_threads() ! remember number of threads set by Marc call omp_set_num_threads(1) ! no openMP diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 41baab7ab..dc15644d5 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -37,37 +37,37 @@ module constitutive module subroutine plastic_none_init(debug_constitutive) class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options end subroutine plastic_none_init module subroutine plastic_isotropic_init(debug_constitutive) class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options end subroutine plastic_isotropic_init module subroutine plastic_phenopowerlaw_init(debug_constitutive) class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options end subroutine plastic_phenopowerlaw_init module subroutine plastic_kinehardening_init(debug_constitutive) class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options end subroutine plastic_kinehardening_init module subroutine plastic_dislotwin_init(debug_constitutive) class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options end subroutine plastic_dislotwin_init module subroutine plastic_disloUCLA_init(debug_constitutive) class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options end subroutine plastic_disloUCLA_init module subroutine plastic_nonlocal_init(debug_constitutive) class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options end subroutine plastic_nonlocal_init @@ -84,7 +84,7 @@ module constitutive instance, & of class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options end subroutine plastic_isotropic_LpAndItsTangent pure module subroutine plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) @@ -175,7 +175,7 @@ module constitutive instance, & of class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options end subroutine plastic_isotropic_LiAndItsTangent @@ -239,7 +239,7 @@ module constitutive ip, & !< current integration point el !< current element number class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options end subroutine plastic_nonlocal_dotState @@ -268,7 +268,7 @@ module constitutive ip, & el class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options end subroutine plastic_nonlocal_dependentState @@ -279,7 +279,7 @@ module constitutive instance, & of class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options end subroutine plastic_kinehardening_deltaState module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el,debug_constitutive) @@ -291,7 +291,7 @@ module constitutive ip, & el class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options end subroutine plastic_nonlocal_deltaState diff --git a/src/constitutive_plastic_disloUCLA.f90 b/src/constitutive_plastic_disloUCLA.f90 index 3a2946435..b355ca551 100644 --- a/src/constitutive_plastic_disloUCLA.f90 +++ b/src/constitutive_plastic_disloUCLA.f90 @@ -77,7 +77,7 @@ contains module subroutine plastic_disloUCLA_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: & Ninstance, & diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index c643376c7..4cedaca94 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -125,7 +125,7 @@ contains module subroutine plastic_dislotwin_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: & Ninstance, & diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index 7e5736d31..adb293c64 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -52,7 +52,7 @@ contains module subroutine plastic_isotropic_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: & Ninstance, & @@ -173,7 +173,7 @@ module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of,de instance, & of class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options real(pReal), dimension(3,3) :: & Mp_dev !< deviatoric part of the Mandel stress @@ -236,7 +236,7 @@ module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of,de instance, & of class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options real(pReal) :: & tr !< trace of spherical part of Mandel stress (= 3 x pressure) diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index 6ff250057..645a3916b 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -61,7 +61,7 @@ contains module subroutine plastic_kinehardening_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: & Ninstance, & @@ -324,7 +324,7 @@ module subroutine plastic_kinehardening_deltaState(Mp,instance,of,debug_constitu instance, & of class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options real(pReal), dimension(param(instance)%sum_N_sl) :: & gdot_pos,gdot_neg, & diff --git a/src/constitutive_plastic_none.f90 b/src/constitutive_plastic_none.f90 index d79b08d93..3b7a4ff28 100644 --- a/src/constitutive_plastic_none.f90 +++ b/src/constitutive_plastic_none.f90 @@ -15,7 +15,7 @@ contains module subroutine plastic_none_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: & Ninstance, & diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 596c62c86..a131f4517 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -166,7 +166,7 @@ contains module subroutine plastic_nonlocal_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: & Ninstance, & @@ -536,7 +536,7 @@ module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el,de ip, & el class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: & no, & !< neighbor offset @@ -854,7 +854,7 @@ module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el,debug_constit ip, & el class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: & ph, & !< phase @@ -973,7 +973,7 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & ip, & !< current integration point el !< current element number class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: & ph, & @@ -1177,7 +1177,7 @@ function rhoDotFlux(F,Fp,timestep, instance,of,ip,el,debug_constitutive) ip, & !< current integration point el !< current element number class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: & ph, & diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index 76e2606f8..1d3bb9961 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -69,7 +69,7 @@ contains module subroutine plastic_phenopowerlaw_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: & Ninstance, & diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 23e44c70d..47450d7ee 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -131,7 +131,7 @@ subroutine crystallite_init class(tNode) , pointer :: & num_crystallite, & - debug_crystallite + debug_crystallite ! pointer to debug options for crystallite write(6,'(/,a)') ' <<<+- crystallite init -+>>>' diff --git a/src/debug.f90 b/src/debug.f90 index 32fc8433a..deb01ec01 100644 --- a/src/debug.f90 +++ b/src/debug.f90 @@ -14,8 +14,8 @@ module debug implicit none private - class(tNode), pointer, public :: & - debug_root + class(tNode), pointer, protected, public :: & + debug_root !< root pointer storing the debug YAML structure public :: debug_init diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index d10c4badc..ebc1b6643 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -94,7 +94,7 @@ program DAMASK_grid class (tNode), pointer :: & num_grid, & num_generic, & - debug_grid + debug_grid ! pointer to grid debug options !-------------------------------------------------------------------------------------------------- ! init DAMASK (all modules) diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 8a8791151..a543f679c 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -506,7 +506,7 @@ subroutine formResidual(da_local,x_local, & itmax class(tNode), pointer :: & num_generic, & - debug_grid + debug_grid ! pointer to grid debug options !--------------------------------------------------------------------- ! debug pointer to grid diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 0ae081e37..533448837 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -475,7 +475,7 @@ subroutine formResidual(in, F, & itmax class(tNode), pointer :: & num_generic, & - debug_grid + debug_grid ! pointer to constitutive debug options !--------------------------------------------------------------------- ! debug pointer to grid diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 543a9da9c..0cc221e7c 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -535,7 +535,7 @@ subroutine formResidual(in, FandF_tau, & class(tNode), pointer :: & num_grid, & num_generic, & - debug_grid + debug_grid ! pointer to grid debug options real(pReal) :: & polarAlpha, & !< polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme polarBeta !< polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 273f0dabf..e0d730343 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -195,7 +195,7 @@ subroutine spectral_utilities_init class (tNode) , pointer :: & num_grid, & num_generic, & - debug_grid + debug_grid ! pointer to grid debug options write(6,'(/,a)') ' <<<+- spectral_utilities init -+>>>' diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 4729933fe..38ff4ffd7 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -56,18 +56,18 @@ module homogenization module subroutine mech_none_init(debug_homogenization) class(tNode), pointer, intent(in) :: & - debug_homogenization + debug_homogenization !< pointer to debug options for homogenization end subroutine mech_none_init module subroutine mech_isostrain_init(debug_homogenization) class(tNode), pointer, intent(in) :: & - debug_homogenization + debug_homogenization !< pointer to debug options for homogenization end subroutine mech_isostrain_init module subroutine mech_RGC_init(num_homogMech, debug_homogenization) class(tNode), pointer, intent(in) :: & num_homogMech, & - debug_homogenization + debug_homogenization !< pointer to debug options for homogenization end subroutine mech_RGC_init @@ -84,7 +84,7 @@ module homogenization instance, & of class(tNode), pointer, intent(in) :: & - debug_homogenization + debug_homogenization !< pointer to debug options for homogenization end subroutine mech_RGC_partitionDeformation @@ -112,14 +112,14 @@ module homogenization P,& !< partitioned stresses F,& !< partitioned deformation gradients F0 !< partitioned initial deformation gradients - real(pReal), dimension(:,:,:,:,:), intent(in) :: dPdF !< partitioned stiffnesses - real(pReal), dimension(3,3), intent(in) :: avgF !< average F - real(pReal), intent(in) :: dt !< time increment + real(pReal), dimension(:,:,:,:,:), intent(in) :: dPdF !< partitioned stiffnesses + real(pReal), dimension(3,3), intent(in) :: avgF !< average F + real(pReal), intent(in) :: dt !< time increment integer, intent(in) :: & - ip, & !< integration point number - el !< element number + ip, & !< integration point number + el !< element number class(tNode), pointer, intent(in) :: & - debug_homogenization + debug_homogenization !< pointer to debug options for homogenization end function mech_RGC_updateState @@ -152,8 +152,8 @@ subroutine homogenization_init debug_g, & debug_e - num_homog => numerics_root%get('homogenization',defaultVal=emptyDict) - num_homogMech => num_homog%get('mech',defaultVal=emptyDict) + num_homog => numerics_root%get('homogenization',defaultVal=emptyDict) + num_homogMech => num_homog%get('mech',defaultVal=emptyDict) num_homogGeneric => num_homog%get('generic',defaultVal=emptyDict) debug_homogenization => debug_root%get('homogenization',defaultVal=emptyList) diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index 2a0b1800c..0cada9240 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -79,8 +79,7 @@ module subroutine mech_RGC_init(num_homogMech,debug_homogenization) class(tNode), pointer, intent(in) :: & num_homogMech, & - debug_homogenization - + debug_homogenization !< pointer to debug options for homogenization integer :: & Ninstance, & h, & @@ -214,8 +213,7 @@ module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of,debug_homogen instance, & of class(tNode), pointer, intent(in) :: & - debug_homogenization - + debug_homogenization !< pointer to debug options for homogenization real(pReal), dimension(3) :: aVect,nVect integer, dimension(4) :: intFace integer, dimension(3) :: iGrain3 @@ -668,7 +666,7 @@ module procedure mech_RGC_updateState real(pReal), dimension (:,:,:), intent(in) :: fDef !< deformation gradients real(pReal), dimension (3,3), intent(in) :: avgF !< initial effective stretch tensor integer, intent(in) :: ip,el,instance,of - class(tNode), pointer, intent(in) :: debug_homogenization + class(tNode), pointer, intent(in) :: debug_homogenization !< pointer to debug options for homogenization integer, dimension (4) :: intFace integer, dimension (3) :: iGrain3,iGNghb3,nGDim @@ -783,7 +781,7 @@ module procedure mech_RGC_updateState Ngrain, & instance, & of - class(tNode), pointer, intent(in) :: debug_homogenization + class(tNode), pointer, intent(in) :: debug_homogenization !< pointer to debug options for homogenization real(pReal), dimension(size(vPen,3)) :: gVol integer :: i diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index b41550cd6..46a4c1215 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -29,7 +29,7 @@ contains module subroutine mech_isostrain_init(debug_homogenization) class(tNode), pointer, intent(in) :: & - debug_homogenization + debug_homogenization !< pointer to debug options for homogenization integer :: & Ninstance, & diff --git a/src/homogenization_mech_none.f90 b/src/homogenization_mech_none.f90 index 247c9e1f7..01e2568b3 100644 --- a/src/homogenization_mech_none.f90 +++ b/src/homogenization_mech_none.f90 @@ -14,7 +14,7 @@ contains module subroutine mech_none_init(debug_homogenization) class(tNode), pointer, intent(in) :: & - debug_homogenization + debug_homogenization !< pointer to debug options for homogenization integer :: & Ninstance, & diff --git a/src/kinematics_cleavage_opening.f90 b/src/kinematics_cleavage_opening.f90 index 2ffb27f2e..c35c9b615 100644 --- a/src/kinematics_cleavage_opening.f90 +++ b/src/kinematics_cleavage_opening.f90 @@ -46,7 +46,7 @@ contains subroutine kinematics_cleavage_opening_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: Ninstance,p integer, dimension(:), allocatable :: N_cl !< active number of cleavage systems per family diff --git a/src/kinematics_slipplane_opening.f90 b/src/kinematics_slipplane_opening.f90 index 278754b79..caeff8e56 100644 --- a/src/kinematics_slipplane_opening.f90 +++ b/src/kinematics_slipplane_opening.f90 @@ -48,7 +48,7 @@ contains subroutine kinematics_slipplane_opening_init(debug_constitutive) class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: Ninstance,p,i character(len=pStringLen) :: extmsg = '' diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index 1a84fb7b8..1d099451c 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -41,7 +41,7 @@ contains subroutine kinematics_thermal_expansion_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: Ninstance,p,i real(pReal), dimension(:), allocatable :: temp diff --git a/src/material.f90 b/src/material.f90 index 3915d705b..7de8214cd 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -217,7 +217,7 @@ subroutine material_init(restart) CounterPhase, & CounterHomogenization class(tNode), pointer :: & - debug_material + debug_material ! pointer to material debug options write(6,'(/,a)') ' <<<+- material init -+>>>'; flush(6) diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 94b69c073..d91236598 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -105,7 +105,7 @@ subroutine FEM_utilities_init class(tNode), pointer :: & num_mesh, & num_generic, & - debug_mesh + debug_mesh ! pointer to mesh debug options integer :: structOrder !< order of displacement shape functions character(len=pStringLen) :: & petsc_options, & diff --git a/src/source_damage_anisoBrittle.f90 b/src/source_damage_anisoBrittle.f90 index 5826e7160..7422fa113 100644 --- a/src/source_damage_anisoBrittle.f90 +++ b/src/source_damage_anisoBrittle.f90 @@ -56,7 +56,7 @@ contains subroutine source_damage_anisoBrittle_init(debug_constitutive) class(tNode), pointer , intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: Ninstance,sourceOffset,NipcMyPhase,p integer, dimension(:), allocatable :: N_cl diff --git a/src/source_damage_anisoDuctile.f90 b/src/source_damage_anisoDuctile.f90 index 73e68d021..d511e9dc3 100644 --- a/src/source_damage_anisoDuctile.f90 +++ b/src/source_damage_anisoDuctile.f90 @@ -49,7 +49,7 @@ contains subroutine source_damage_anisoDuctile_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: Ninstance,sourceOffset,NipcMyPhase,p integer, dimension(:), allocatable :: N_sl diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index e1c0625e4..7abd1e494 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -48,7 +48,7 @@ contains subroutine source_damage_isoBrittle_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: Ninstance,sourceOffset,NipcMyPhase,p character(len=pStringLen) :: extmsg = '' diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index 83be82300..4dd77bed5 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -48,7 +48,7 @@ contains subroutine source_damage_isoDuctile_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: Ninstance,sourceOffset,NipcMyPhase,p character(len=pStringLen) :: extmsg = '' diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index e8dd2eddb..099dd1e80 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -41,7 +41,7 @@ contains subroutine source_thermal_dissipation_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: Ninstance,sourceOffset,NipcMyPhase,p diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index 65b11a499..023b81d22 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -45,7 +45,7 @@ contains subroutine source_thermal_externalheat_init(debug_constitutive) class(tNode), pointer, intent(in) :: & - debug_constitutive + debug_constitutive !< pointer to constitutive debug options integer :: Ninstance,sourceOffset,NipcMyPhase,p From ebaae151f5d31a108db5fc1be6a1f185117cb610 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 26 Jun 2020 22:03:42 +0200 Subject: [PATCH 267/958] not directly related to DAMASK --- processing/{post => legacy}/imageData.py | 0 processing/{post => legacy}/imageDataDeformed.py | 0 processing/{post => legacy}/imageDataRGB.py | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename processing/{post => legacy}/imageData.py (100%) rename processing/{post => legacy}/imageDataDeformed.py (100%) rename processing/{post => legacy}/imageDataRGB.py (100%) diff --git a/processing/post/imageData.py b/processing/legacy/imageData.py similarity index 100% rename from processing/post/imageData.py rename to processing/legacy/imageData.py diff --git a/processing/post/imageDataDeformed.py b/processing/legacy/imageDataDeformed.py similarity index 100% rename from processing/post/imageDataDeformed.py rename to processing/legacy/imageDataDeformed.py diff --git a/processing/post/imageDataRGB.py b/processing/legacy/imageDataRGB.py similarity index 100% rename from processing/post/imageDataRGB.py rename to processing/legacy/imageDataRGB.py From e779e190ea42ecbb05b55adc4f3dc3dd60e8c291 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 27 Jun 2020 16:01:16 +0200 Subject: [PATCH 268/958] new colormap class for use in python - based on matplotlib "ListedColormap" - constructors - Array of RGB values (inherited), - 'from_bounds': perceptual uniform colormap within given bounds - 'from_predefined': from matplotlib or DAMASK templates - export to files (WIP) - preview on screen --- processing/post/perceptualUniformColorMap.py | 75 --- python/damask/__init__.py | 2 +- python/damask/_colormap.py | 482 +++++++++++++++++ python/damask/_colormaps.py | 541 ------------------- python/tests/test_Colormap.py | 40 ++ 5 files changed, 523 insertions(+), 617 deletions(-) delete mode 100755 processing/post/perceptualUniformColorMap.py create mode 100644 python/damask/_colormap.py delete mode 100644 python/damask/_colormaps.py create mode 100644 python/tests/test_Colormap.py diff --git a/processing/post/perceptualUniformColorMap.py b/processing/post/perceptualUniformColorMap.py deleted file mode 100755 index 8e432536d..000000000 --- a/processing/post/perceptualUniformColorMap.py +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from optparse import OptionParser - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- -#Borland, D., & Taylor, R. M. (2007). Rainbow Color Map (Still) Considered Harmful. Computer Graphics and Applications, IEEE, 27(2), 14--17. -#Moreland, K. (2009). Diverging Color Maps for Scientific Visualization. In Proc. 5th Int. Symp. Visual Computing (pp. 92--103). -outtypes = ['paraview','gmsh','raw','GOM'] -extensions = ['.json','.msh','.txt','.legend'] -colormodels = ['RGB','HSL','XYZ','CIELAB','MSH'] - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [file[s]]', description = """ -Produces perceptually linear diverging and sequential colormaps in formats suitable for visualization software -or simply as a list of interpolated colors. - -""", version = scriptID) - -parser.add_option('-N','--steps', dest='N', type='int', nargs=1, metavar='int', - help='number of interpolation steps [%default]') -parser.add_option('-t','--trim', dest='trim', type='float', nargs=2, metavar='float float', - help='relative trim of colormap range [%default]') -parser.add_option('-l','--left', dest='left', type='float', nargs=3, metavar='float float float', - help='left color [%default]') -parser.add_option('-r','--right', dest='right', type='float', nargs=3, metavar='float float float', - help='right color [%default]') -parser.add_option('-c','--colormodel', dest='colormodel', metavar='string', - help='colormodel: '+', '.join(colormodels)+' [%default]') -parser.add_option('-p','--predefined', dest='predefined', metavar='string', - help='predefined colormap') -parser.add_option('-f','--format', dest='format', metavar='string', - help='output format: '+', '.join(outtypes)+' [%default]') -parser.set_defaults(colormodel = 'RGB') -parser.set_defaults(predefined = None) -parser.set_defaults(basename = None) -parser.set_defaults(format = 'paraview') -parser.set_defaults(N = 10) -parser.set_defaults(trim = (-1.0,1.0)) -parser.set_defaults(left = (1.0,1.0,1.0)) -parser.set_defaults(right = (0.0,0.0,0.0)) - -(options,filename) = parser.parse_args() - -if options.format not in outtypes: - parser.error('invalid format: "{}" (choices: {}).'.format(options.format,', '.join(outtypes))) - -if options.N < 2: - parser.error('too few steps (need at least 2).') - -if options.trim[0] < -1.0 or \ - options.trim[1] > 1.0 or \ - options.trim[0] >= options.trim[1]: - parser.error('invalid trim range (-1 +1).') - -name = options.format if filename == [] \ - else filename[0] -output = sys.stdout if filename == [] \ - else open(os.path.basename(filename[0])+extensions[outtypes.index(options.format)],'w') - -colorLeft = damask.Color(options.colormodel.upper(), list(options.left)) -colorRight = damask.Color(options.colormodel.upper(), list(options.right)) -colormap = damask.Colormap(colorLeft, colorRight, predefined=options.predefined) - -output.write(colormap.export(name,options.format,options.N,list(options.trim))) -output.close() diff --git a/python/damask/__init__.py b/python/damask/__init__.py index 6d65f7cd1..b2b94b6a5 100644 --- a/python/damask/__init__.py +++ b/python/damask/__init__.py @@ -10,7 +10,7 @@ with open(_Path(__file__).parent/_Path('VERSION')) as _f: from ._environment import Environment # noqa from ._table import Table # noqa from ._vtk import VTK # noqa -from ._colormaps import Colormap, Color # noqa +from ._colormap import Colormap # noqa from ._rotation import Rotation # noqa from ._lattice import Symmetry, Lattice# noqa from ._orientation import Orientation # noqa diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py new file mode 100644 index 000000000..20b1a015f --- /dev/null +++ b/python/damask/_colormap.py @@ -0,0 +1,482 @@ +import json +import functools + +import numpy as np +import matplotlib as mpl +import matplotlib.pyplot as plt +from matplotlib import cm + +from damask import Table + +_eps = 216./24389. +_kappa = 24389./27. +_ref_white = np.array([.95047, 1.00000, 1.08883]) # Observer = 2, Illuminant = D65 + + +class Colormap(mpl.colors.ListedColormap): + + + @staticmethod + def from_bounds(low,high,N=256,name='DAMASK colormap',model='rgb'): + """ + Create a perceptually uniform colormap. + + Parameters + ---------- + low : numpy.ndarray of shape (3) + high : numpy.ndarray of shape (3) + N : integer, optional + Number of discrete color values. Defaults to 256. + model : str + Colormodel used for low and high. + + """ + low_,high_ = map(np.array,[low,high]) + if model.lower() == 'rgb': + # ToDo: Sanity check + low_,high_ = map(Colormap._rgb2msh,[low_,high_]) + elif model.lower() == 'hsv': + # ToDo: Sanity check + low_,high_ = map(Colormap._hsv2msh,[low_,high_]) + elif model.lower() == 'hsl': + # ToDo: Sanity check + low_,high_ = map(Colormap._hsl2msh,[low_,high_]) + elif model.lower() == 'xyz': + # ToDo: Sanity check + low_,high_ = map(Colormap._xyz2msh,[low_,high_]) + elif model.lower() == 'lab': + # ToDo: Sanity check + low_,high_ = map(Colormap._lab2msh,[low_,high_]) + elif model.lower() == 'msh': + # ToDo: Sanity check + pass + else: + raise ValueError(f'Invalid color model: {model}.') + + msh = map(functools.partial(Colormap._interpolate_msh,low=low_,high=high_),np.linspace(0,1,N)) + rgb = np.array(list(map(Colormap._msh2rgb,msh))) + + return Colormap(rgb,name=name) + + + @staticmethod + def from_predefined(name,N=256): + """ + Select from set of predefined colormaps. + + Predefined colormaps include matplotlib-native colormaps + and common DAMASK colormaps. + + Parameters + ---------- + name : str + N : int, optional + Number of discrete color values. Defaults to 256. + This parameter is not used for matplotlib colormaps + that are of type `ListedColormap`. + + """ + # matplotlib presets + for cat in Colormap._predefined_mpl: + for n in cat[1]: + if n == name: + colormap = cm.__dict__[name] + if isinstance(colormap,mpl.colors.LinearSegmentedColormap): + return Colormap(np.array(list(map(colormap,np.linspace(0,1,N)))),name=name) + else: + return Colormap(colormap.colors,name=name) + + # DAMASK presets + definition = Colormap._predefined_DAMASK[name] + return Colormap.from_bounds(definition['left'],definition['right'],N,name) + + + @staticmethod + def list_predefined(): + """List predefined colormaps by category.""" + print('DAMASK colormaps') + print(' '+', '.join(Colormap._predefined_DAMASK.keys())) + for cat in Colormap._predefined_mpl: + print(f'{cat[0]}') + print(' '+', '.join(cat[1])) + + + def show(self): + fig, ax = plt.subplots(figsize=(10,1)) + ax.set_axis_off() + im = ax.imshow(np.broadcast_to(np.linspace(0,1,640).reshape(1,-1),(64,640)),cmap=self) # noqa + fig.canvas.set_window_title(self.name) + plt.show() + + + def to_file(self,fname=None,format='paraview'): + if fname is not None: + try: + f = open(fname,'w') + except TypeError: + f = fname + else: + f = None + + if format.lower() == 'paraview': + Colormap._export_paraview(self,f) + elif format.lower() == 'ascii': + Colormap._export_ASCII(self,f) + + + @staticmethod + def _export_paraview(colormap,fhandle=None): + colors = [] + for i,c in enumerate(np.round(colormap.colors,6).tolist()): + colors+=[i]+c + + out = [{ + 'ColorSpace':'RGB', + 'Name':colormap.name, + 'DefaultMap':True, + 'RGBPoints':colors + }] + if fhandle is None: + with open(colormap.name.replace(' ','_')+'.json', 'w') as f: + json.dump(out, f,indent=4) + else: + json.dump(out,fhandle,indent=4) + + @staticmethod + def _export_ASCII(colormap,fhandle=None): + labels = {'R':(1,),'G':(1,),'B':(1,)} + if colormap.colors.shape[1] == 4: labels['alpha']=(1,) + + t = Table(colormap.colors,labels) + if fhandle is None: + with open(colormap.name.replace(' ','_')+'.txt', 'w') as f: + t.to_ASCII(f) + else: + t.to_ASCII(fhandle) + + @staticmethod + def _export_GOM(colormap,fhandle=None): + pass + # a = f'1 1 {name.replace(" ","_"} 9 {name.replace(" ","_"} ' + # f' 0 1 0 3 0 0 -1 9 \\ 0 0 0 255 255 255 0 0 255 ' + # f'30 NO_UNIT 1 1 64 64 64 255 1 0 0 0 0 0 0 3 0 ' + str(len(colors)) + # f' '.join([' 0 %s 255 1'%(' '.join([str(int(x*255.0)) for x in color])) for color in reversed(colors)])] + + @staticmethod + def _export_gmsh(colormap,fname=None): + colors = colormap.colors + colormap = ['View.ColorTable = {'] \ + + [',\n'.join(['{%s}'%(','.join([str(x*255.0) for x in color])) for color in colors])] \ + + ['}'] + + @staticmethod + def _interpolate_msh(frac,low, high): + + def rad_diff(a,b): + return abs(a[2]-b[2]) + + def adjust_hue(msh_sat, msh_unsat): + """If saturation of one of the two colors is much less than the other, hue of the less.""" + if msh_sat[0] >= msh_unsat[0]: + return msh_sat[2] + else: + hSpin = msh_sat[1]/np.sin(msh_sat[1])*np.sqrt(msh_unsat[0]**2.0-msh_sat[0]**2)/msh_sat[0] + if msh_sat[2] < - np.pi/3.0: hSpin *= -1.0 + return msh_sat[2] + hSpin + + + lo = np.array(low) + hi = np.array(high) + + if (lo[1] > 0.05 and hi[1] > 0.05 and rad_diff(lo,hi) > np.pi/3.0): + M_mid = max(lo[0],hi[0],88.0) + if frac < 0.5: + hi = np.array([M_mid,0.0,0.0]) + frac *= 2.0 + else: + lo = np.array([M_mid,0.0,0.0]) + frac = 2.0*frac - 1.0 + if lo[1] < 0.05 and hi[1] > 0.05: + lo[2] = adjust_hue(hi,lo) + elif lo[1] > 0.05 and hi[1] < 0.05: + hi[2] = adjust_hue(lo,hi) + + return (1.0 - frac) * lo + frac * hi + + + _predefined_mpl= [('Perceptually Uniform Sequential', [ + 'viridis', 'plasma', 'inferno', 'magma', 'cividis']), + ('Sequential', [ + 'Greys', 'Purples', 'Blues', 'Greens', 'Oranges', 'Reds', + 'YlOrBr', 'YlOrRd', 'OrRd', 'PuRd', 'RdPu', 'BuPu', + 'GnBu', 'PuBu', 'YlGnBu', 'PuBuGn', 'BuGn', 'YlGn']), + ('Sequential (2)', [ + 'binary', 'gist_yarg', 'gist_gray', 'gray', 'bone', 'pink', + 'spring', 'summer', 'autumn', 'winter', 'cool', 'Wistia', + 'hot', 'afmhot', 'gist_heat', 'copper']), + ('Diverging', [ + 'PiYG', 'PRGn', 'BrBG', 'PuOr', 'RdGy', 'RdBu', + 'RdYlBu', 'RdYlGn', 'Spectral', 'coolwarm', 'bwr', 'seismic']), + ('Cyclic', ['twilight', 'twilight_shifted', 'hsv']), + ('Qualitative', [ + 'Pastel1', 'Pastel2', 'Paired', 'Accent', + 'Dark2', 'Set1', 'Set2', 'Set3', + 'tab10', 'tab20', 'tab20b', 'tab20c']), + ('Miscellaneous', [ + 'flag', 'prism', 'ocean', 'gist_earth', 'terrain', 'gist_stern', + 'gnuplot', 'gnuplot2', 'CMRmap', 'cubehelix', 'brg', + 'gist_rainbow', 'rainbow', 'jet', 'nipy_spectral', 'gist_ncar'])] + + _predefined_DAMASK = {'orientation': {'low': [0.933334,0.878432,0.878431], + 'right': [0.250980,0.007843,0.000000]}, + 'strain': {'left': [0.941177,0.941177,0.870588], + 'right': [0.266667,0.266667,0.000000]}, + 'stress': {'left': [0.878432,0.874511,0.949019], + 'right': [0.000002,0.000000,0.286275]}} + + @staticmethod + def _hsv2rgb(hsv): + """ + H(ue) S(aturation) V(alue) to R(red) G(reen) B(lue). + + References + ---------- + https://www.rapidtables.com/convert/color/hsv-to-rgb.html + + """ + sextant = np.clip(int(hsv[0]/60.),0,5) + c = hsv[1]*hsv[2] + x = c*(1.0 - abs((hsv[0]/60.)%2 - 1.)) + + return np.array([ + [c, x, 0], + [x, c, 0], + [0, c, x], + [0, x, c], + [x, 0, c], + [c, 0, x], + ])[sextant] + hsv[2] - c + + @staticmethod + def _rgb2hsv(rgb): + """ + R(ed) G(reen) B(lue) to H(ue) S(aturation) V(alue). + + References + ---------- + https://www.rapidtables.com/convert/color/rgb-to-hsv.html + + """ + C_max = rgb.max() + C_min = rgb.min() + Delta = C_max - C_min + + v = C_max + s = 0. if np.isclose(C_max,0.) else Delta/C_max + if np.isclose(Delta,0.): + h = 0. + elif rgb.argmax() == 0: + h = (rgb[1]-rgb[2])/Delta%6 + elif rgb.argmax() == 1: + h = (rgb[2]-rgb[0])/Delta + 2. + elif rgb.argmax() == 2: + h = (rgb[0]-rgb[1])/Delta + 4. + + h = np.clip(h,0.,6.) * 60. + + return np.array([h,s,v]) + + + @staticmethod + def _hsl2rgb(hsl): + """ + H(ue) S(aturation) L(uminance) to R(red) G(reen) B(lue). + + References + ---------- + https://www.rapidtables.com/convert/color/hsl-to-rgb.html + + """ + sextant = np.clip(int(hsl[0]/60.),0,5) + c = (1.0 - abs(2.0 * hsl[2] - 1.))*hsl[1] + x = c*(1.0 - abs((hsl[0]/60.)%2 - 1.)) + m = hsl[2] - 0.5*c + + return np.array([ + [c+m, x+m, m], + [x+m, c+m, m], + [m, c+m, x+m], + [m, x+m, c+m], + [x+m, m, c+m], + [c+m, m, x+m], + ])[sextant] + + @staticmethod + def _rgb2hsl(rgb): + """ + R(ed) G(reen) B(lue) to H(ue) S(aturation) L(uminance). + + References + ---------- + https://www.rapidtables.com/convert/color/rgb-to-hsl.html + + """ + C_max = rgb.max() + C_min = rgb.min() + Delta = C_max - C_min + + l = np.clip((C_max + C_min)*.5,0.,1.) # noqa + s = 0. if np.isclose(C_max,C_min) else Delta/(1.-np.abs(2*l-1.)) + if np.isclose(Delta,0.): + h = 0. + elif rgb.argmax() == 0: + h = (rgb[1]-rgb[2])/Delta%6 + elif rgb.argmax() == 1: + h = (rgb[2]-rgb[0])/Delta + 2. + elif rgb.argmax() == 2: + h = (rgb[0]-rgb[1])/Delta + 4. + + h = np.clip(h,0.,6.) * 60. + + return np.array([h,s,l]) + + + @staticmethod + def _xyz2rgb(xyz): + """ + CIE Xyz to R(ed) G(reen) B(lue). + + References + ---------- + http://www.ryanjuckett.com/programming/rgb-color-space-conversion + + """ + rgb_lin = np.dot(np.array([ + [ 3.240969942,-1.537383178,-0.498610760], + [-0.969243636, 1.875967502, 0.041555057], + [ 0.055630080,-0.203976959, 1.056971514] + ]),xyz) + with np.errstate(invalid='ignore'): + rgb = np.where(rgb_lin>0.0031308,rgb_lin**(1.0/2.4)*1.0555-0.0555,rgb_lin*12.92) + + return np.clip(rgb,0.,1.) + + @staticmethod + def _rgb2xyz(rgb): + """ + R(ed) G(reen) B(lue) to CIE Xyz. + + References + ---------- + http://www.ryanjuckett.com/programming/rgb-color-space-conversion + + """ + rgb_lin = np.where(rgb>0.04045,((rgb+0.0555)/1.0555)**2.4,rgb/12.92) + return np.dot(np.array([ + [0.412390799,0.357584339,0.180480788], + [0.212639006,0.715168679,0.072192315], + [0.019330819,0.119194780,0.950532152] + ]),rgb_lin) + + + @staticmethod + def _lab2xyz(lab,ref_white=None): + """ + CIE Lab to CIE Xyz. + + References + ---------- + http://www.brucelindbloom.com/index.html?Eqn_Lab_to_XYZ.html + + """ + f_x = (lab[0]+16.)/116. + lab[1]/500. + f_z = (lab[0]+16.)/116. - lab[2]/200. + + return np.array([ + f_x**3. if f_x**3. > _eps else (116.*f_x-16.)/_kappa, + ((lab[0]+16.)/116.)**3 if lab[0]>_kappa*_eps else lab[0]/_kappa, + f_z**3. if f_z**3. > _eps else (116.*f_z-16.)/_kappa + ])*(ref_white if ref_white is not None else _ref_white) + + @staticmethod + def _xyz2lab(xyz,ref_white=None): + """ + CIE Xyz to CIE Lab. + + References + ---------- + http://www.brucelindbloom.com/index.html?Eqn_Lab_to_XYZ.html + + """ + ref_white = ref_white if ref_white is not None else _ref_white + f = np.where(xyz/ref_white > _eps,(xyz/ref_white)**(1./3.),(_kappa*xyz/ref_white+16.)/116.) + + return np.array([ + 116.0 * f[1] - 16.0, + 500.0 * (f[0] - f[1]), + 200.0 * (f[1] - f[2]) + ]) + + + @staticmethod + def _lab2msh(lab): + """ + CIE Lab to Msh. + + References + ---------- + https://www.kennethmoreland.com/color-maps/ColorMapsExpanded.pdf + https://www.kennethmoreland.com/color-maps/diverging_map.py + + """ + M = np.linalg.norm(lab) + return np.array([ + M, + np.arccos(lab[0]/M) if M>1e-8 else 0., + np.arctan2(lab[2],lab[1]) if M>1e-8 else 0., + ]) + + @staticmethod + def _msh2lab(msh): + """ + Msh to CIE Lab. + + References + ---------- + https://www.kennethmoreland.com/color-maps/ColorMapsExpanded.pdf + https://www.kennethmoreland.com/color-maps/diverging_map.py + + """ + return np.array([ + msh[0] * np.cos(msh[1]), + msh[0] * np.sin(msh[1]) * np.cos(msh[2]), + msh[0] * np.sin(msh[1]) * np.sin(msh[2]) + ]) + + @staticmethod + def _lab2rgb(lab): + return Colormap._xyz2rgb(Colormap._lab2xyz(lab)) + + @staticmethod + def _rgb2lab(rgb): + return Colormap._xyz2lab(Colormap._rgb2xyz(rgb)) + + @staticmethod + def _msh2rgb(msh): + return Colormap._lab2rgb(Colormap._msh2lab(msh)) + + @staticmethod + def _rgb2msh(rgb): + return Colormap._lab2msh(Colormap._rgb2lab(rgb)) + + @staticmethod + def _hsv2msh(hsv): + return Colormap._rgb2msh(Colormap._hsv2rgb(hsv)) + + @staticmethod + def _hsl2msh(hsl): + return Colormap._rgb2msh(Colormap._hsl2rgb(hsl)) + + @staticmethod + def _xyz2msh(xyz): + return Colormap._lab2msh(Colormap._xyz2lab(xyz)) diff --git a/python/damask/_colormaps.py b/python/damask/_colormaps.py deleted file mode 100644 index 6c6f82604..000000000 --- a/python/damask/_colormaps.py +++ /dev/null @@ -1,541 +0,0 @@ -import numpy as np -from . import util - -class Color: - """Color representation in and conversion between different color-spaces.""" - - __slots__ = [ - 'model', - 'color', - '__dict__', - ] - - - def __init__(self, - model = 'RGB', - color = np.zeros(3)): - """ - Create a Color object. - - Parameters - ---------- - model : string - color model - color : numpy.ndarray - vector representing the color according to the selected model - - """ - self.__transforms__ = \ - {'HSV': {'index': 0, 'next': self._HSV2HSL}, - 'HSL': {'index': 1, 'next': self._HSL2RGB, 'prev': self._HSL2HSV}, - 'RGB': {'index': 2, 'next': self._RGB2XYZ, 'prev': self._RGB2HSL}, - 'XYZ': {'index': 3, 'next': self._XYZ2CIELAB, 'prev': self._XYZ2RGB}, - 'CIELAB': {'index': 4, 'next': self._CIELAB2MSH, 'prev': self._CIELAB2XYZ}, - 'MSH': {'index': 5, 'prev': self._MSH2CIELAB}, - } - - model = model.upper() - if model not in list(self.__transforms__.keys()): model = 'RGB' - if model == 'RGB' and max(color) > 1.0: # are we RGB255 ? - for i in range(3): - color[i] /= 255.0 # rescale to RGB - - if model == 'HSL': # are we HSL ? - if abs(color[0]) > 1.0: color[0] /= 360.0 # with angular hue? - while color[0] >= 1.0: color[0] -= 1.0 # rewind to proper range - while color[0] < 0.0: color[0] += 1.0 # rewind to proper range - - self.model = model - self.color = np.array(color,'d') - - - def __repr__(self): - """Color model and values.""" - return 'Model: %s Color: %s'%(self.model,str(self.color)) - - - def __str__(self): - """Color model and values.""" - return self.__repr__() - - - def convert_to(self,toModel = 'RGB'): - """ - Change the color model permanently. - - Parameters - ---------- - toModel : string - color model - - """ - toModel = toModel.upper() - if toModel not in list(self.__transforms__.keys()): return - - sourcePos = self.__transforms__[self.model]['index'] - targetPos = self.__transforms__[toModel]['index'] - - while sourcePos < targetPos: - self.__transforms__[self.model]['next']() - sourcePos += 1 - - while sourcePos > targetPos: - self.__transforms__[self.model]['prev']() - sourcePos -= 1 - return self - - - def express_as(self,asModel = 'RGB'): - """ - Return the color in a different model. - - Parameters - ---------- - asModel : string - color model - - """ - return self.__class__(self.model,self.color).convert_to(asModel) - - - def _HSV2HSL(self): - """ - Convert H(ue) S(aturation) V(alue or brightness) to H(ue) S(aturation) L(uminance). - - All values are in the range [0,1] - http://codeitdown.com/hsl-hsb-hsv-color - """ - if self.model != 'HSV': return - - converted = Color('HSL',np.array([ - self.color[0], - 1. if self.color[2] == 0.0 or (self.color[1] == 0.0 and self.color[2] == 1.0) \ - else self.color[1]*self.color[2]/(1.-abs(self.color[2]*(2.-self.color[1])-1.)), - 0.5*self.color[2]*(2.-self.color[1]), - ])) - - self.model = converted.model - self.color = converted.color - - - def _HSL2HSV(self): - """ - Convert H(ue) S(aturation) L(uminance) to H(ue) S(aturation) V(alue or brightness). - - All values are in the range [0,1] - http://codeitdown.com/hsl-hsb-hsv-color - """ - if self.model != 'HSL': return - - h = self.color[0] - b = self.color[2]+0.5*(self.color[1]*(1.-abs(2*self.color[2]-1))) - s = 1.0 if b == 0.0 else 2.*(b-self.color[2])/b - - converted = Color('HSV',np.array([h,s,b])) - - self.model = converted.model - self.color = converted.color - - - def _HSL2RGB(self): - """ - Convert H(ue) S(aturation) L(uminance) to R(red) G(reen) B(lue). - - All values are in the range [0,1] - from http://en.wikipedia.org/wiki/HSL_and_HSV - """ - if self.model != 'HSL': return - - sextant = self.color[0]*6.0 - c = (1.0 - abs(2.0 * self.color[2] - 1.0))*self.color[1] - x = c*(1.0 - abs(sextant%2 - 1.0)) - m = self.color[2] - 0.5*c - - converted = Color('RGB',np.array([ - [c+m, x+m, m], - [x+m, c+m, m], - [m, c+m, x+m], - [m, x+m, c+m], - [x+m, m, c+m], - [c+m, m, x+m], - ][int(sextant)])) - self.model = converted.model - self.color = converted.color - - - def _RGB2HSL(self): - """ - Convert R(ed) G(reen) B(lue) to H(ue) S(aturation) L(uminance). - - All values are in the range [0,1] - from http://130.113.54.154/~monger/hsl-rgb.html - """ - if self.model != 'RGB': return - - HSL = np.zeros(3) - maxcolor = self.color.max() - mincolor = self.color.min() - HSL[2] = (maxcolor + mincolor)/2.0 - if(mincolor == maxcolor): - HSL[0] = 0.0 - HSL[1] = 0.0 - else: - if (HSL[2]<0.5): - HSL[1] = (maxcolor - mincolor)/(maxcolor + mincolor) - else: - HSL[1] = (maxcolor - mincolor)/(2.0 - maxcolor - mincolor) - if (maxcolor == self.color[0]): - HSL[0] = 0.0 + (self.color[1] - self.color[2])/(maxcolor - mincolor) - elif (maxcolor == self.color[1]): - HSL[0] = 2.0 + (self.color[2] - self.color[0])/(maxcolor - mincolor) - elif (maxcolor == self.color[2]): - HSL[0] = 4.0 + (self.color[0] - self.color[1])/(maxcolor - mincolor) - HSL[0] = HSL[0]*60.0 # scaling to 360 might be dangerous for small values - if (HSL[0] < 0.0): - HSL[0] = HSL[0] + 360.0 - HSL[1:] = np.clip(HSL[1:],0.0,1.0) - - converted = Color('HSL', HSL) - self.model = converted.model - self.color = converted.color - - - def _RGB2XYZ(self): - """ - Convert R(ed) G(reen) B(lue) to CIE XYZ. - - All values are in the range [0,1] - from http://www.cs.rit.edu/~ncs/color/t_convert.html - """ - if self.model != 'RGB': return - - XYZ = np.zeros(3) - RGB_lin = np.zeros(3) - convert = np.array([[0.412453,0.357580,0.180423], - [0.212671,0.715160,0.072169], - [0.019334,0.119193,0.950227]]) - - for i in range(3): - if (self.color[i] > 0.04045): RGB_lin[i] = ((self.color[i]+0.0555)/1.0555)**2.4 - else: RGB_lin[i] = self.color[i] /12.92 - XYZ = np.dot(convert,RGB_lin) - XYZ = np.clip(XYZ,0.0,None) - - converted = Color('XYZ', XYZ) - self.model = converted.model - self.color = converted.color - - - def _XYZ2RGB(self): - """ - Convert CIE XYZ to R(ed) G(reen) B(lue). - - All values are in the range [0,1] - from http://www.cs.rit.edu/~ncs/color/t_convert.html - """ - if self.model != 'XYZ': return - - convert = np.array([[ 3.240479,-1.537150,-0.498535], - [-0.969256, 1.875992, 0.041556], - [ 0.055648,-0.204043, 1.057311]]) - RGB_lin = np.dot(convert,self.color) - RGB = np.zeros(3) - - for i in range(3): - if (RGB_lin[i] > 0.0031308): RGB[i] = ((RGB_lin[i])**(1.0/2.4))*1.0555-0.0555 - else: RGB[i] = RGB_lin[i] *12.92 - - RGB = np.clip(RGB,0.0,1.0) - - maxVal = max(RGB) # clipping colors according to the display gamut - if (maxVal > 1.0): RGB /= maxVal - - converted = Color('RGB', RGB) - self.model = converted.model - self.color = converted.color - - - def _CIELAB2XYZ(self): - """ - Convert CIE Lab to CIE XYZ. - - All values are in the range [0,1] - from http://www.easyrgb.com/index.php?X=MATH&H=07#text7 - """ - if self.model != 'CIELAB': return - - ref_white = np.array([.95047, 1.00000, 1.08883]) # Observer = 2, Illuminant = D65 - XYZ = np.zeros(3) - - XYZ[1] = (self.color[0] + 16.0 ) / 116.0 - XYZ[0] = XYZ[1] + self.color[1]/ 500.0 - XYZ[2] = XYZ[1] - self.color[2]/ 200.0 - - for i in range(len(XYZ)): - if (XYZ[i] > 6./29. ): XYZ[i] = XYZ[i]**3. - else: XYZ[i] = 108./841. * (XYZ[i] - 4./29.) - - converted = Color('XYZ', XYZ*ref_white) - self.model = converted.model - self.color = converted.color - - - def _XYZ2CIELAB(self): - """ - Convert CIE XYZ to CIE Lab. - - All values are in the range [0,1] - from http://en.wikipedia.org/wiki/Lab_color_space, - http://www.cs.rit.edu/~ncs/color/t_convert.html - """ - if self.model != 'XYZ': return - - ref_white = np.array([.95047, 1.00000, 1.08883]) # Observer = 2, Illuminant = D65 - XYZ = self.color/ref_white - - for i in range(len(XYZ)): - if (XYZ[i] > 216./24389 ): XYZ[i] = XYZ[i]**(1.0/3.0) - else: XYZ[i] = (841./108. * XYZ[i]) + 16.0/116.0 - - converted = Color('CIELAB', np.array([ 116.0 * XYZ[1] - 16.0, - 500.0 * (XYZ[0] - XYZ[1]), - 200.0 * (XYZ[1] - XYZ[2]) ])) - self.model = converted.model - self.color = converted.color - - - def _CIELAB2MSH(self): - """ - Convert CIE Lab to Msh colorspace. - - from http://www.cs.unm.edu/~kmorel/documents/ColorMaps/DivergingColorMapWorkshop.xls - """ - if self.model != 'CIELAB': return - - Msh = np.zeros(3) - Msh[0] = np.sqrt(np.dot(self.color,self.color)) - if (Msh[0] > 0.001): - Msh[1] = np.arccos(self.color[0]/Msh[0]) - if (self.color[1] != 0.0): - Msh[2] = np.arctan2(self.color[2],self.color[1]) - - converted = Color('MSH', Msh) - self.model = converted.model - self.color = converted.color - - - def _MSH2CIELAB(self): - """ - Convert Msh colorspace to CIE Lab. - - with s,h in radians - from http://www.cs.unm.edu/~kmorel/documents/ColorMaps/DivergingColorMapWorkshop.xls - """ - if self.model != 'MSH': return - - Lab = np.zeros(3) - Lab[0] = self.color[0] * np.cos(self.color[1]) - Lab[1] = self.color[0] * np.sin(self.color[1]) * np.cos(self.color[2]) - Lab[2] = self.color[0] * np.sin(self.color[1]) * np.sin(self.color[2]) - - converted = Color('CIELAB', Lab) - self.model = converted.model - self.color = converted.color - - -class Colormap: - """Perceptually uniform diverging or sequential colormap.""" - - __slots__ = [ - 'left', - 'right', - 'interpolate', - ] - __predefined__ = { - 'gray': {'left': Color('HSL',[0,1,1]), - 'right': Color('HSL',[0,0,0.15]), - 'interpolate': 'perceptualuniform'}, - 'grey': {'left': Color('HSL',[0,1,1]), - 'right': Color('HSL',[0,0,0.15]), - 'interpolate': 'perceptualuniform'}, - 'red': {'left': Color('HSL',[0,1,0.14]), - 'right': Color('HSL',[0,0.35,0.91]), - 'interpolate': 'perceptualuniform'}, - 'green': {'left': Color('HSL',[0.33333,1,0.14]), - 'right': Color('HSL',[0.33333,0.35,0.91]), - 'interpolate': 'perceptualuniform'}, - 'blue': {'left': Color('HSL',[0.66,1,0.14]), - 'right': Color('HSL',[0.66,0.35,0.91]), - 'interpolate': 'perceptualuniform'}, - 'seaweed': {'left': Color('HSL',[0.78,1.0,0.1]), - 'right': Color('HSL',[0.40000,0.1,0.9]), - 'interpolate': 'perceptualuniform'}, - 'bluebrown': {'left': Color('HSL',[0.65,0.53,0.49]), - 'right': Color('HSL',[0.11,0.75,0.38]), - 'interpolate': 'perceptualuniform'}, - 'redgreen': {'left': Color('HSL',[0.97,0.96,0.36]), - 'right': Color('HSL',[0.33333,1.0,0.14]), - 'interpolate': 'perceptualuniform'}, - 'bluered': {'left': Color('HSL',[0.65,0.53,0.49]), - 'right': Color('HSL',[0.97,0.96,0.36]), - 'interpolate': 'perceptualuniform'}, - 'blueredrainbow':{'left': Color('HSL',[2.0/3.0,1,0.5]), - 'right': Color('HSL',[0,1,0.5]), - 'interpolate': 'linear' }, - 'orientation': {'left': Color('RGB',[0.933334,0.878432,0.878431]), - 'right': Color('RGB',[0.250980,0.007843,0.000000]), - 'interpolate': 'perceptualuniform'}, - 'strain': {'left': Color('RGB',[0.941177,0.941177,0.870588]), - 'right': Color('RGB',[0.266667,0.266667,0.000000]), - 'interpolate': 'perceptualuniform'}, - 'stress': {'left': Color('RGB',[0.878432,0.874511,0.949019]), - 'right': Color('RGB',[0.000002,0.000000,0.286275]), - 'interpolate': 'perceptualuniform'}, - } - - - def __init__(self, - left = Color('RGB',[1,1,1]), - right = Color('RGB',[0,0,0]), - interpolate = 'perceptualuniform', - predefined = None - ): - """ - Create a Colormap object. - - Parameters - ---------- - left : Color - left color (minimum value) - right : Color - right color (maximum value) - interpolate : str - interpolation scheme (either 'perceptualuniform' or 'linear') - predefined : bool - ignore other arguments and use predefined definition - - """ - if predefined is not None: - left = self.__predefined__[predefined.lower()]['left'] - right= self.__predefined__[predefined.lower()]['right'] - interpolate = self.__predefined__[predefined.lower()]['interpolate'] - - if left.__class__.__name__ != 'Color': - left = Color() - if right.__class__.__name__ != 'Color': - right = Color() - - self.left = left - self.right = right - self.interpolate = interpolate - - - def __repr__(self): - """Left and right value of colormap.""" - return 'Left: %s Right: %s'%(self.left,self.right) - - - def invert(self): - """Switch left/minimum with right/maximum.""" - (self.left, self.right) = (self.right, self.left) - return self - - - def show_predefined(self): - """Show the labels of the predefined colormaps.""" - print('\n'.join(self.__predefined__.keys())) - - def color(self,fraction = 0.5): - - def interpolate_Msh(lo, hi, frac): - - def rad_diff(a,b): - return abs(a[2]-b[2]) - - def adjust_hue(Msh_sat, Msh_unsat): - """If saturation of one of the two colors is too less than the other, hue of the less.""" - if Msh_sat[0] >= Msh_unsat[0]: - return Msh_sat[2] - else: - hSpin = Msh_sat[1]/np.sin(Msh_sat[1])*np.sqrt(Msh_unsat[0]**2.0-Msh_sat[0]**2)/Msh_sat[0] - if Msh_sat[2] < - np.pi/3.0: hSpin *= -1.0 - return Msh_sat[2] + hSpin - - Msh1 = np.array(lo[:]) - Msh2 = np.array(hi[:]) - - if (Msh1[1] > 0.05 and Msh2[1] > 0.05 and rad_diff(Msh1,Msh2) > np.pi/3.0): - M_mid = max(Msh1[0],Msh2[0],88.0) - if frac < 0.5: - Msh2 = np.array([M_mid,0.0,0.0]) - frac *= 2.0 - else: - Msh1 = np.array([M_mid,0.0,0.0]) - frac = 2.0*frac - 1.0 - if Msh1[1] < 0.05 and Msh2[1] > 0.05: Msh1[2] = adjust_hue(Msh2,Msh1) - elif Msh1[1] > 0.05 and Msh2[1] < 0.05: Msh2[2] = adjust_hue(Msh1,Msh2) - Msh = (1.0 - frac) * Msh1 + frac * Msh2 - - return Color('MSH',Msh) - - def interpolate_linear(lo, hi, frac): - """Linear interpolation between lo and hi color at given fraction; output in model of lo color.""" - interpolation = (1.0 - frac) * np.array(lo.color[:]) \ - + frac * np.array(hi.express_as(lo.model).color[:]) - - return Color(lo.model,interpolation) - - if self.interpolate == 'perceptualuniform': - return interpolate_Msh(self.left.express_as('MSH').color, - self.right.express_as('MSH').color,fraction) - elif self.interpolate == 'linear': - return interpolate_linear(self.left,self.right,fraction) - else: - raise NameError('unknown color interpolation method') - - - def export(self,name = 'uniformPerceptualColorMap',\ - format = 'paraview',\ - steps = 2,\ - crop = [-1.0,1.0], - model = 'RGB'): - """ - [RGB] colormap for use in paraview or gmsh, or as raw string, or array. - - Arguments: name, format, steps, crop. - Format is one of (paraview, gmsh, gom, raw, list). - Crop selects a (sub)range in [-1.0,1.0]. - Generates sequential map if one limiting color is either white or black, - diverging map otherwise. - """ - format = format.lower() # consistent comparison basis - frac = 0.5*(np.array(crop) + 1.0) # rescale crop range to fractions - colors = [self.color(float(i)/(steps-1)*(frac[1]-frac[0])+frac[0]).express_as(model).color for i in range(steps)] - if format == 'paraview': - colormap = [f'[\n {{\n "ColorSpace": "RGB", "Name": "{name}", "DefaultMap": true,\n "RGBPoints" : ['] \ - + [f' {i:4d},{color[0]:8.6f},{color[1]:8.6f},{color[2]:8.6f}{"," if i+1 Date: Sat, 27 Jun 2020 16:25:10 +0200 Subject: [PATCH 269/958] reverse should return DAMASK colormap --- python/damask/_colormap.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 20b1a015f..ded6a32a0 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -123,6 +123,11 @@ class Colormap(mpl.colors.ListedColormap): elif format.lower() == 'ascii': Colormap._export_ASCII(self,f) + def reversed(self): + rev = super(Colormap,self).reversed() + return Colormap(rev.colors,rev.name) + + @staticmethod def _export_paraview(colormap,fhandle=None): From cf6322672147580f3923d60a95134189664a4f89 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 27 Jun 2020 18:55:27 +0200 Subject: [PATCH 270/958] testing all conversions --- python/tests/test_Colormap.py | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index daeeaf775..d3cbcaacd 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -21,10 +21,14 @@ class TestColormap: print('rgb',rgb) # rgb2hsv2rgb - assert np.allclose(Colormap._hsv2rgb(Colormap._rgb2hsv(rgb)),rgb) + hsv = Colormap._rgb2hsv(rgb) + print('hsv',hsv) + assert np.allclose(Colormap._hsv2rgb(hsv),rgb) # rgb2hsl2rgb - assert np.allclose(Colormap._hsl2rgb(Colormap._rgb2hsl(rgb)),rgb) + hsl = Colormap._rgb2hsl(rgb) + print('hsl',hsl) + assert np.allclose(Colormap._hsl2rgb(hsl),rgb) # rgb2xyz2rgb xyz = Colormap._rgb2xyz(rgb) @@ -37,4 +41,21 @@ class TestColormap: assert np.allclose(Colormap._lab2xyz(lab),xyz) # lab2msh2lab - assert np.allclose(Colormap._msh2lab(Colormap._lab2msh(lab)),lab) + msh = Colormap._lab2msh(lab) + print('msh',msh) + assert np.allclose(Colormap._msh2lab(msh),lab) + + # lab2rgb2lab + assert np.allclose(Colormap._rgb2lab(Colormap._lab2rgb(lab)),lab,atol=1.e-6,rtol=0) + + # rgb2msh2rgb + assert np.allclose(Colormap._msh2rgb(Colormap._rgb2msh(rgb)),rgb,atol=1.e-6,rtol=0) + + # hsv2msh + assert np.allclose(Colormap._hsv2msh(hsv),msh,atol=1.e-6,rtol=0) + + # hsl2msh + assert np.allclose(Colormap._hsv2msh(hsv),msh,atol=1.e-6,rtol=0) + + # xyz2msh + assert np.allclose(Colormap._xyz2msh(xyz),msh,atol=1.e-6,rtol=0) From c929af12c0e33b25fa6b60fb7fd3ecee7002d6dc Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 27 Jun 2020 19:43:35 +0200 Subject: [PATCH 271/958] testing/polishing --- python/damask/_colormap.py | 93 +++++++++++++++++++++++++---------- python/tests/test_Colormap.py | 53 +++++++++++++++++++- 2 files changed, 119 insertions(+), 27 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index ded6a32a0..9b707d00a 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -17,7 +17,7 @@ class Colormap(mpl.colors.ListedColormap): @staticmethod - def from_bounds(low,high,N=256,name='DAMASK colormap',model='rgb'): + def from_bounds(low,high,name='DAMASK colormap',N=256,model='rgb'): """ Create a perceptually uniform colormap. @@ -26,30 +26,46 @@ class Colormap(mpl.colors.ListedColormap): low : numpy.ndarray of shape (3) high : numpy.ndarray of shape (3) N : integer, optional - Number of discrete color values. Defaults to 256. + The number of color quantization levels. + name : str, optional + The name of the colormap. Defaults to `DAMASK colormap`. model : str Colormodel used for low and high. """ low_,high_ = map(np.array,[low,high]) + low_high = np.vstack((low_,high)) if model.lower() == 'rgb': - # ToDo: Sanity check + if np.any(low_high<0) or np.any(low_high>1): + raise ValueError(f'RGB color out of range {low} {high}.') + low_,high_ = map(Colormap._rgb2msh,[low_,high_]) + elif model.lower() == 'hsv': - # ToDo: Sanity check + if np.any(low_high<0) or np.any(low_high[:,1:3]>1) or np.any(low_high[:,0]>360): + raise ValueError(f'HSV color out of range {low} {high}.') + low_,high_ = map(Colormap._hsv2msh,[low_,high_]) + elif model.lower() == 'hsl': - # ToDo: Sanity check + if np.any(low_high<0) or np.any(low_high[:,1:3]>1) or np.any(low_high[:,0]>360): + raise ValueError(f'HSL color out of range {low} {high}.') + low_,high_ = map(Colormap._hsl2msh,[low_,high_]) + elif model.lower() == 'xyz': - # ToDo: Sanity check + low_,high_ = map(Colormap._xyz2msh,[low_,high_]) + elif model.lower() == 'lab': - # ToDo: Sanity check + if np.any(low_high[:,0]<0): + raise ValueError(f'CIE Lab color out of range {low} {high}.') + low_,high_ = map(Colormap._lab2msh,[low_,high_]) + elif model.lower() == 'msh': - # ToDo: Sanity check pass + else: raise ValueError(f'Invalid color model: {model}.') @@ -64,14 +80,15 @@ class Colormap(mpl.colors.ListedColormap): """ Select from set of predefined colormaps. - Predefined colormaps include matplotlib-native colormaps + Predefined colormaps include native matplotlib colormaps and common DAMASK colormaps. Parameters ---------- name : str + The name of the colormap. N : int, optional - Number of discrete color values. Defaults to 256. + The number of color quantization levels. Defaults to 256. This parameter is not used for matplotlib colormaps that are of type `ListedColormap`. @@ -84,11 +101,11 @@ class Colormap(mpl.colors.ListedColormap): if isinstance(colormap,mpl.colors.LinearSegmentedColormap): return Colormap(np.array(list(map(colormap,np.linspace(0,1,N)))),name=name) else: - return Colormap(colormap.colors,name=name) + return Colormap(np.array(colormap.colors),name=name) # DAMASK presets definition = Colormap._predefined_DAMASK[name] - return Colormap.from_bounds(definition['left'],definition['right'],N,name) + return Colormap.from_bounds(definition['left'],definition['right'],name,N) @staticmethod @@ -102,6 +119,7 @@ class Colormap(mpl.colors.ListedColormap): def show(self): + """Show colormap in window.""" fig, ax = plt.subplots(figsize=(10,1)) ax.set_axis_off() im = ax.imshow(np.broadcast_to(np.linspace(0,1,640).reshape(1,-1),(64,640)),cmap=self) # noqa @@ -109,6 +127,26 @@ class Colormap(mpl.colors.ListedColormap): plt.show() + def reversed(self,name=None): + """ + Make a reversed instance of the Colormap. + + Parameters + ---------- + name : str, optional + The name for the reversed colormap. If it's None + the name will be the name of the parent colormap + "_r". + + Returns + ------- + damask.Colormap + The reversed colormap. + + """ + rev = super(Colormap,self).reversed(name) + return Colormap(rev.colors,rev.name) + + def to_file(self,fname=None,format='paraview'): if fname is not None: try: @@ -122,15 +160,16 @@ class Colormap(mpl.colors.ListedColormap): Colormap._export_paraview(self,f) elif format.lower() == 'ascii': Colormap._export_ASCII(self,f) - - def reversed(self): - rev = super(Colormap,self).reversed() - return Colormap(rev.colors,rev.name) - - + elif format.lower() == 'gom': + Colormap._export_GOM(self,f) + elif format.lower() == 'gmsh': + Colormap._export_gmsh(self,f) + else: + raise ValueError('Unknown output format: {format}.') @staticmethod def _export_paraview(colormap,fhandle=None): + """Write colormap to JSON file for Paraview.""" colors = [] for i,c in enumerate(np.round(colormap.colors,6).tolist()): colors+=[i]+c @@ -149,10 +188,11 @@ class Colormap(mpl.colors.ListedColormap): @staticmethod def _export_ASCII(colormap,fhandle=None): + """Write colormap to ASCII table.""" labels = {'R':(1,),'G':(1,),'B':(1,)} if colormap.colors.shape[1] == 4: labels['alpha']=(1,) - t = Table(colormap.colors,labels) + if fhandle is None: with open(colormap.name.replace(' ','_')+'.txt', 'w') as f: t.to_ASCII(f) @@ -162,17 +202,18 @@ class Colormap(mpl.colors.ListedColormap): @staticmethod def _export_GOM(colormap,fhandle=None): pass - # a = f'1 1 {name.replace(" ","_"} 9 {name.replace(" ","_"} ' - # f' 0 1 0 3 0 0 -1 9 \\ 0 0 0 255 255 255 0 0 255 ' - # f'30 NO_UNIT 1 1 64 64 64 255 1 0 0 0 0 0 0 3 0 ' + str(len(colors)) - # f' '.join([' 0 %s 255 1'%(' '.join([str(int(x*255.0)) for x in color])) for color in reversed(colors)])] + s =(f'1 1 {colormap.name.replace(" ","_")} 9 {colormap.name.replace(" ","_")} ' + f' 0 1 0 3 0 0 -1 9 \\ 0 0 0 255 255 255 0 0 255 ' + f'30 NO_UNIT 1 1 64 64 64 255 1 0 0 0 0 0 0 3 0 {str(len(colormap.colors))}' + ' '.join([' 0 %s 255 1'%(' '.join([str(int(x*255.0)) for x in color])) for color in reversed(colormap.colors)])) + print(s) @staticmethod def _export_gmsh(colormap,fname=None): colors = colormap.colors - colormap = ['View.ColorTable = {'] \ - + [',\n'.join(['{%s}'%(','.join([str(x*255.0) for x in color])) for color in colors])] \ - + ['}'] + colormap =('View.ColorTable = {' + ',\n'.join(['{%s}'%(','.join([str(x*255.0) for x in color])) for color in colors])+\ + '}') @staticmethod def _interpolate_msh(frac,low, high): diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index d3cbcaacd..e00367452 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -1,4 +1,7 @@ +import os + import numpy as np +import pytest from damask import Colormap @@ -15,7 +18,7 @@ class TestColormap: [1.,0.,1.], [1.,1.,1.] ]) - rgbs = np.vstack((specials,np.random.rand(10000,3))) + rgbs = np.vstack((specials,np.random.rand(100,3))) pass # class not integrated for rgb in rgbs: print('rgb',rgb) @@ -59,3 +62,51 @@ class TestColormap: # xyz2msh assert np.allclose(Colormap._xyz2msh(xyz),msh,atol=1.e-6,rtol=0) + + + @pytest.mark.parametrize('format',['ASCII','paraview','GOM','gmsh']) + @pytest.mark.parametrize('model',['rgb','hsv','hsl','xyz','lab','msh']) + def test_from_bounds(self,model,format,tmpdir): + N = np.random.randint(2,256) + c = Colormap.from_bounds(np.random.rand(3),np.random.rand(3),model=model,N=N) + c.to_file(tmpdir/'color_out',format=format) + + @pytest.mark.parametrize('format',['ASCII','paraview','GOM','gmsh']) + @pytest.mark.parametrize('name',['strain','gnuplot','Greys','PRGn','viridis']) + def test_from_predefined(self,name,format,tmpdir): + N = np.random.randint(2,256) + c = Colormap.from_predefined(name,N) + os.chdir(tmpdir) + c.to_file(format=format) + + @pytest.mark.parametrize('format,name',[('ASCII','test.txt'), + ('paraview','test.json'), + ('GOM','test.legend'), + ('gmsh','test.xxx') + ]) + def test_write_filehandle(self,format,name,tmpdir): + c = Colormap.from_predefined('Dark2') + with open(tmpdir/name,'w') as f: + c.to_file(f,format=format) + + def test_invalid_format(self): + c = Colormap.from_predefined('Dark2') + with pytest.raises(ValueError): + c.to_file(format='invalid') + + @pytest.mark.parametrize('model',['rgb','hsv','hsl','lab','invalid']) + def test_invalid_color(self,model): + with pytest.raises(ValueError): + c = Colormap.from_bounds(-2.+np.random.rand(3),np.random.rand(3),N=10,model=model) # noqa + + def test_reversed(self): + c_1 = Colormap.from_predefined('stress') + c_2 = c_1.reversed() + assert (not np.allclose(c_1.colors,c_2.colors)) and \ + np.allclose(c_1.colors,c_2.reversed().colors) + + def test_list(self): + c = Colormap.from_predefined('afmhot').reversed() + c.list_predefined() + + From c00a203527e1c5c2d4c0629bfa148a2966131998 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 27 Jun 2020 22:34:23 +0200 Subject: [PATCH 272/958] VTK class and orientation class are thoroughly tested --- .gitlab-ci.yml | 15 ------ PRIVATE | 2 +- processing/post/vtk_addData.py | 65 -------------------------- processing/post/vtk_pointCloud.py | 45 ------------------ processing/post/vtk_rectilinearGrid.py | 58 ----------------------- 5 files changed, 1 insertion(+), 184 deletions(-) delete mode 100755 processing/post/vtk_addData.py delete mode 100755 processing/post/vtk_pointCloud.py delete mode 100755 processing/post/vtk_rectilinearGrid.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 501b9e193..a421c6e79 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -192,21 +192,6 @@ Post_addGradient: - master - release -Post_ParaviewRelated: - stage: postprocessing - script: ParaviewRelated/test.py - except: - - master - - release - -Post_OrientationConversion: - stage: postprocessing - script: - - OrientationConversion/test.py - except: - - master - - release - Post_OrientationAverageMisorientation: stage: postprocessing script: diff --git a/PRIVATE b/PRIVATE index 8318aa6b9..073913bf1 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 8318aa6b9b1ef2c59c1f6fa946ede92640baf93c +Subproject commit 073913bf152b3c48f358dfbea5145807c0f7690d diff --git a/processing/post/vtk_addData.py b/processing/post/vtk_addData.py deleted file mode 100755 index 25fcdada0..000000000 --- a/processing/post/vtk_addData.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import numpy as np - -import damask - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, - usage='%prog options [ASCIItable(s)]', - description = 'Add scalars/vectors, tensors, and/or a RGB tuples from ASCIItable ' - + 'to existing VTK file (.vtr/.vtu/.vtp).', - version = scriptID) - -parser.add_option( '--vtk', - dest = 'vtk', - type = 'string', metavar = 'string', - help = 'VTK file name') -parser.add_option('-d', '--data', - dest = 'data', - action = 'extend', metavar = '', - help = 'scalar/vector value(s) label(s)') -parser.add_option('-t', '--tensor', - dest = 'tensor', - action = 'extend', metavar = '', - help = 'tensor (3x3) value label(s)') -parser.add_option('-c', '--color', - dest = 'color', - action = 'extend', metavar = '', - help = 'RGB color tuple label') - -parser.set_defaults(data = [], - tensor = [], - color = [], -) - -(options, filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -if not options.vtk: - parser.error('No VTK file specified.') - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - vtk = damask.VTK.from_file(options.vtk) - - for data in options.data+options.tensor: - vtk.add(table.get(data),data) - for color in options.color: - vtk.add((table.get(color)*255).astype(np.uint8),color) - - vtk.write(options.vtk) diff --git a/processing/post/vtk_pointCloud.py b/processing/post/vtk_pointCloud.py deleted file mode 100755 index aae31d0ff..000000000 --- a/processing/post/vtk_pointCloud.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Produce a VTK point cloud dataset based on coordinates given in an ASCIItable. - -""", version = scriptID) - -parser.add_option('-p', - '--pos', '--position', - dest = 'pos', - type = 'string', metavar = 'string', - help = 'label of coordinates [%default]') - -parser.set_defaults(pos = 'pos', - ) - -(options, filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - v = damask.VTK.from_polyData(table.get(options.pos)) - - if name: - v.write(os.path.splitext(name)[0]) - else: - sys.stdout.write(v.__repr__()) diff --git a/processing/post/vtk_rectilinearGrid.py b/processing/post/vtk_rectilinearGrid.py deleted file mode 100755 index c8a7d1a6d..000000000 --- a/processing/post/vtk_rectilinearGrid.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Create regular voxel grid from points in an ASCIItable. - -""", version = scriptID) - -parser.add_option('-m', - '--mode', - dest = 'mode', - metavar='string', - type = 'choice', choices = ['cell','point'], - help = 'cell-centered or point-centered coordinates') -parser.add_option('-p', - '--pos', '--position', - dest = 'pos', - type = 'string', metavar = 'string', - help = 'label of coordinates [%default]') - -parser.set_defaults(mode = 'cell', - pos = 'pos', - ) - -(options, filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - - if options.mode == 'cell': - grid, size, origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) - elif options.mode == 'point': - grid, size, origin = damask.grid_filters.node_coord0_gridSizeOrigin(table.get(options.pos)) - - v = damask.VTK.from_rectilinearGrid(grid,size,origin) - - if name: - v.write('{}_{}({})'.format(os.path.splitext(name)[0],options.pos,options.mode)) - else: - sys.stdout.write(v.__repr__()) From 8c8132bcd73817db58c70491fa5262d871e1a8f5 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 27 Jun 2020 23:37:09 +0200 Subject: [PATCH 273/958] coordinates should not have random names --- python/damask/_vtk.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index f4855820e..dd8832a5c 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -51,9 +51,11 @@ class VTK: """ geom = vtk.vtkRectilinearGrid() geom.SetDimensions(*(grid+1)) - geom.SetXCoordinates(np_to_vtk(np.linspace(origin[0],origin[0]+size[0],grid[0]+1),deep=True)) - geom.SetYCoordinates(np_to_vtk(np.linspace(origin[1],origin[1]+size[1],grid[1]+1),deep=True)) - geom.SetZCoordinates(np_to_vtk(np.linspace(origin[2],origin[2]+size[2],grid[2]+1),deep=True)) + coord = [np_to_vtk(np.linspace(origin[i],origin[i]+size[i],grid[i]+1),deep=True) for i in [0,1,2]] + [coord[i].SetName(n) for i,n in enumerate(['x','y','z'])] + geom.SetXCoordinates(coord[0]) + geom.SetYCoordinates(coord[1]) + geom.SetZCoordinates(coord[2]) return VTK(geom) From 8d5a72e9364a1f1d4ae6a55dc7a7d84a65d4b7cd Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 27 Jun 2020 23:37:46 +0200 Subject: [PATCH 274/958] more test, swich to pathlib --- python/tests/conftest.py | 4 +- python/tests/reference/VTK/polyData.vtp | 67 +++++++++++++++++++ .../tests/reference/VTK/rectilinearGrid.vtr | 44 ++++++++++++ python/tests/test_VTK.py | 58 ++++++++++++---- 4 files changed, 157 insertions(+), 16 deletions(-) create mode 100644 python/tests/reference/VTK/polyData.vtp create mode 100644 python/tests/reference/VTK/rectilinearGrid.vtr diff --git a/python/tests/conftest.py b/python/tests/conftest.py index 411c07a8c..2a46bc815 100644 --- a/python/tests/conftest.py +++ b/python/tests/conftest.py @@ -1,4 +1,4 @@ -import os +from pathlib import Path import pytest @@ -15,4 +15,4 @@ def update(request): @pytest.fixture def reference_dir_base(): """Directory containing reference results.""" - return os.path.join(os.path.dirname(__file__),'reference') + return Path(__file__).parent/'reference' diff --git a/python/tests/reference/VTK/polyData.vtp b/python/tests/reference/VTK/polyData.vtp new file mode 100644 index 000000000..e93e90f58 --- /dev/null +++ b/python/tests/reference/VTK/polyData.vtp @@ -0,0 +1,67 @@ + + + + + + + AQAAAACAAADwAAAAagAAAA==eF5jYMAGPuyXOV4IRHvsIfQZe8u+xxZ9j1/sh/Eh9B37IjDj4f5QMLhqD6Gf2odB+Pth6iD0G3sFiLn7ofqg+j/CxOH6IfRX+xCouRYQ+6H0D/sCqH6YuRD6D1wd1B9QmsEBxgcAJsNfhw== + + + 0.7453559925 + + + 2.4494897428 + + + + + + + + + AQAAAACAAADwAAAAagAAAA==eF5jYMAGPuyXOV4IRHvsIfQZe8u+xxZ9j1/sh/Eh9B37IjDj4f5QMLhqD6Gf2odB+Pth6iD0G3sFiLn7ofqg+j/CxOH6IfRX+xCouRYQ+6H0D/sCqH6YuRD6D1wd1B9QmsEBxgcAJsNfhw== + + + 0.7453559925 + + + 2.4494897428 + + + + + + + AAAAAACAAAAAAAAA + + + AAAAAACAAAAAAAAA + + + + + AAAAAACAAAAAAAAA + + + AAAAAACAAAAAAAAA + + + + + AAAAAACAAAAAAAAA + + + AAAAAACAAAAAAAAA + + + + + AAAAAACAAAAAAAAA + + + AAAAAACAAAAAAAAA + + + + + diff --git a/python/tests/reference/VTK/rectilinearGrid.vtr b/python/tests/reference/VTK/rectilinearGrid.vtr new file mode 100644 index 000000000..3e965bd2e --- /dev/null +++ b/python/tests/reference/VTK/rectilinearGrid.vtr @@ -0,0 +1,44 @@ + + + + + + + AQAAAACAAACAHwAAywMAAA==eF51mTGKVUEQRX88izByB8byY0MDlyG4CTfgFswMDWQigw8/Ejr40E7woGkYXqLJW4LDb8qmz71VDDjvWMGhijvd0KeTr8dXn/++f/x59rwIf3j6+untw1PS34S/udez8KgP97r+///w8bwIDx/f34SHD3nU4DXxIS/CVx/2N+GrTxWfUV18PC/C132xvwlf9zV51PDck/mQF+HrfNjfhK/z2cXn273+iI/nRXj4+P4mPHzI1zqSfZEX4eu+2N+Er/uanPXl9buXn+9n5n3lRTjzvvY34cx78Pgee7ye6eN5Ec6804ecefc+NfEhL8KZd+9TE58qPqO6+HhehDPv9CFn3v189mQ+5EU48+7ns4sPefhE7ujjeRHOvNOHnHmnz6gj2Rd5Ec6804ecefc+kbtLkvcLfCb3eb/AZ3Kf90uS9+njOfN+SfI+fch93ulTEx9y5p0+7Gfe6VPFZ1QXH8+Zd+6L/cw799XFZ3ju4uM58875sJ9553x28VlzN308Z94vSd6nD7nPO/d1iI/nzDv3xX7mnfs6Ep/Tafvx8eXnl+R95UU48772N+HMe/D4Hnu8nunjeRHOvNOHnHn3PjXxIS/CmXfvUxOfKj6juvh4XoQz7/QhZ979fPZkPuRFOPPu57OLD3n4RO7o43kRzrzTh5x5p8+oI9kXeRHOvNOHnHn3PnHO3iTvK+f5fkvO9xt8Jmfeg8f32GOcs9PHc57vN8k7fciZd+9TEx9ynu/0YT/Pd/pU8RnVxcdznu/cF/t5vnNfXXyG5y4+nvN853zYz/Od89nFZz1np4/nPN9vknf6kDPv9Bl1iI/nPN+5L/bzfOe+jsTndLr/Gdh+S95XXoQz72t/E868B4/vscfrmT6eF+HMO33ImXfvUxMf8iKcefc+NfGp4jOqi4/nRTjzTh9y5t3PZ0/mQ16EM+9+Prv4kIdP5I4+nhfhzDt9yJl3+ow6kn2RF+HMO33ImXfvE/fqTfK+ct7nt+Q+v8FncuY9eHyPPca9evp4zvv8JnmnDznz7n1q4kPO+zx92M/7PH2q+Izq4uM57/PcF/t5n+e+uvgMz118POd9nvNhP+/znM8uPpE7+njO+/wmeacPOfNOn1GH+HjO+zz3xX7e57mvI/GJ6pL3lfM9rkve1/4mnHkPHr+NPca72PTxnO9xXfK+9jfhzLv3qYkPOd/j6MP+Jpx5p8/6zX2R8z2O+2J/E868r//yPY7zIed7HOfD/iaceadP5I4+nvM9rkve6UPOvNNn1CE+nvM9jvtifxPOvAf/B5cwXsg= + + + 0 + + + 1.268857754 + + + + + + + AQAAAACAAACwEwAAZQIAAA==eF511r2KFEEYRmHjjY2N9Ao0lQ79yQy8jBVjc29gL0Ezhc1maDBfU0FB3NVgNyqQuged1leZ56sqBpo5HRx4+wS13nn989l6vjzfzm45u/vk9+/NcvL17cuHJx8Lf3D/cD4XfvPq9vmj68vCH19vLwpf/3pvbedT8crjlccrj1ce77vtXBavPF55vPJ45fG+3/hN8crjlccrj1d+vHOb7NyKV368cyte+XrUVZ901YtXftxVL175Ss/f96dX+9MPpedwew6353B7DrdnvXJ71iu3Z73pTa/cnvXK7VlvetMrt2e9cnse79wmO7fildvzeOdWvOlt3FUvXrk9j7vqE+9uWQ/46qL0HG7P4fYcbs/h9qxXbs965fasN73plduzXrk9601veuX2rFduz+Od22TnVrxyex7v3Io3vY276sUrt+dxV33i3f37/vYcbs/h9hxuz+H2rFduz3rl9pynPYfbs165PeuV27NeuT3rlduz3j//22TnVrxyew6353B7DrdnvXJ71iu353uHa8jZl9JzuD2H23O4PYfbs165PeuV27Pe9KZXbs965fasN73plduzXrk9j3duk51b8crtebxzK970Nu6qF6/cnsdd9Yl3tzzdLtbfSs/h9hxuz+H2HG7PeuX2rFduz3rTm165PeuV27Pe9KZXbs965fY83rlNdm7FK7fn8c6teNPbuKtevHJ7HnfVJ97d8uJwDdn/KD2H23O4PYfbc7g965Xbs165PetNb3rl9qxXbs9605teuT3rldvzeOc22bkVr9yexzu34k1v46568crtedzVf/4LDINsdg== + + + 0.10871961483 + + + 1.1607924027 + + + + + + + AQAAAACAAAAwAAAAJwAAAA==eF5jYICAHXKtrwN37LOH0Ofsua4vLrDlug7l37M3BoPH9gCdQxK6 + + + AQAAAACAAAA4AAAAIgAAAA==eF5jYICAUDA4ag+hr9pDRB9A+U/tV4HBK6j4B3sAk7wQqg== + + + AQAAAACAAABAAAAALAAAAA==eF5jYICASSqeQLTJHkIfsr+9LReITkP5l+zB3NvXoOK37SG6HtgDANusGUo= + + + + + diff --git a/python/tests/test_VTK.py b/python/tests/test_VTK.py index 8795e7161..2b15dcd78 100644 --- a/python/tests/test_VTK.py +++ b/python/tests/test_VTK.py @@ -1,14 +1,16 @@ -import os +import filecmp +import time import pytest import numpy as np from damask import VTK +from damask import grid_filters @pytest.fixture def reference_dir(reference_dir_base): """Directory containing reference results.""" - return os.path.join(reference_dir_base,'Result') + return reference_dir_base/'VTK' class TestVTK: @@ -18,22 +20,22 @@ class TestVTK: origin = np.random.random(3) v = VTK.from_rectilinearGrid(grid,size,origin) string = v.__repr__() - v.write(os.path.join(tmp_path,'rectilinearGrid')) - vtr = VTK.from_file(os.path.join(tmp_path,'rectilinearGrid.vtr')) - with open(os.path.join(tmp_path,'rectilinearGrid.vtk'),'w') as f: + v.write(tmp_path/'rectilinearGrid') + vtr = VTK.from_file(tmp_path/'rectilinearGrid.vtr') + with open(tmp_path/'rectilinearGrid.vtk','w') as f: f.write(string) - vtk = VTK.from_file(os.path.join(tmp_path,'rectilinearGrid.vtk'),'VTK_rectilinearGrid') + vtk = VTK.from_file(tmp_path/'rectilinearGrid.vtk','VTK_rectilinearGrid') assert(string == vtr.__repr__() == vtk.__repr__()) def test_polyData(self,tmp_path): points = np.random.rand(3,100) v = VTK.from_polyData(points) string = v.__repr__() - v.write(os.path.join(tmp_path,'polyData')) - vtp = VTK.from_file(os.path.join(tmp_path,'polyData.vtp')) - with open(os.path.join(tmp_path,'polyData.vtk'),'w') as f: + v.write(tmp_path/'polyData') + vtp = VTK.from_file(tmp_path/'polyData.vtp') + with open(tmp_path/'polyData.vtk','w') as f: f.write(string) - vtk = VTK.from_file(os.path.join(tmp_path,'polyData.vtk'),'polyData') + vtk = VTK.from_file(tmp_path/'polyData.vtk','polyData') assert(string == vtp.__repr__() == vtk.__repr__()) @pytest.mark.parametrize('cell_type,n',[ @@ -48,11 +50,11 @@ class TestVTK: connectivity = np.random.choice(np.arange(n),n,False).reshape(-1,n) v = VTK.from_unstructuredGrid(nodes,connectivity,cell_type) string = v.__repr__() - v.write(os.path.join(tmp_path,'unstructuredGrid')) - vtu = VTK.from_file(os.path.join(tmp_path,'unstructuredGrid.vtu')) - with open(os.path.join(tmp_path,'unstructuredGrid.vtk'),'w') as f: + v.write(tmp_path/'unstructuredGrid') + vtu = VTK.from_file(tmp_path/'unstructuredGrid.vtu') + with open(tmp_path/'unstructuredGrid.vtk','w') as f: f.write(string) - vtk = VTK.from_file(os.path.join(tmp_path,'unstructuredGrid.vtk'),'unstructuredgrid') + vtk = VTK.from_file(tmp_path/'unstructuredGrid.vtk','unstructuredgrid') assert(string == vtu.__repr__() == vtk.__repr__()) @pytest.mark.parametrize('name,dataset_type',[('this_file_does_not_exist.vtk',None), @@ -61,3 +63,31 @@ class TestVTK: def test_invalid_dataset_type(self,dataset_type,name): with pytest.raises(TypeError): VTK.from_file('this_file_does_not_exist.vtk',dataset_type) + + + def test_compare_reference_polyData(self,update,reference_dir,tmp_path): + points=np.dstack((np.linspace(0.,1.,10),np.linspace(0.,2.,10),np.linspace(-1.,1.,10))).squeeze() + polyData = VTK.from_polyData(points) + polyData.add(points,'coordinates') + if update: + polyData.write(reference_dir/'polyData') + else: + polyData.write(tmp_path/'polyData') + time.sleep(.5) + assert filecmp.cmp(tmp_path/'polyData.vtp',reference_dir/'polyData.vtp') + + def test_compare_reference_rectilinearGrid(self,update,reference_dir,tmp_path): + grid = np.array([5,6,7],int) + size = np.array([.6,1.,.5]) + rectilinearGrid = VTK.from_rectilinearGrid(grid,size) + c = grid_filters.cell_coord0(grid,size).reshape(-1,3,order='F') + n = grid_filters.node_coord0(grid,size).reshape(-1,3,order='F') + rectilinearGrid.add(c,'cell') + rectilinearGrid.add(n,'node') + if update: + rectilinearGrid.write(reference_dir/'rectilinearGrid') + else: + rectilinearGrid.write(tmp_path/'rectilinearGrid') + time.sleep(.5) + assert filecmp.cmp(tmp_path/'rectilinearGrid.vtr',reference_dir/'rectilinearGrid.vtr') + From ecc1154a5989218adfd4c0a4489c4d0dc6978de9 Mon Sep 17 00:00:00 2001 From: Test User Date: Sun, 28 Jun 2020 00:54:27 +0200 Subject: [PATCH 275/958] [skip ci] updated version information after successful test of v2.0.3-2710-gebaae151 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 4246a9b8c..37cc46317 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2706-g8ce5da55 +v2.0.3-2710-gebaae151 From 8a9a768a77c71f4d0962c0c9c6816afef561dbbb Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 28 Jun 2020 07:17:51 +0200 Subject: [PATCH 276/958] support pathlib.Path --- python/damask/_vtk.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index dd8832a5c..9a34800dc 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -121,7 +121,7 @@ class VTK: Parameters ---------- - fname : str + fname : str or pathlib.Path Filename for reading. Valid extensions are .vtr, .vtu, .vtp, and .vtk. dataset_type : str, optional Name of the vtk.vtkDataSet subclass when opening an .vtk file. Valid types are vtkRectilinearGrid, @@ -131,7 +131,7 @@ class VTK: ext = Path(fname).suffix if ext == '.vtk' or dataset_type: reader = vtk.vtkGenericDataObjectReader() - reader.SetFileName(fname) + reader.SetFileName(str(fname)) reader.Update() if dataset_type is None: raise TypeError('Dataset type for *.vtk file not given.') @@ -153,7 +153,7 @@ class VTK: else: raise TypeError(f'Unknown file extension {ext}') - reader.SetFileName(fname) + reader.SetFileName(str(fname)) reader.Update() geom = reader.GetOutput() @@ -166,7 +166,7 @@ class VTK: Parameters ---------- - fname : str + fname : str or pathlib.Path Filename for writing. """ From d965d663195c57824e298e33f1f5fabc29d9494c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 28 Jun 2020 09:32:10 +0200 Subject: [PATCH 277/958] [skip ci] documenting --- python/damask/_colormap.py | 57 +++++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 7 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 9b707d00a..a0c976516 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -12,6 +12,9 @@ _eps = 216./24389. _kappa = 24389./27. _ref_white = np.array([.95047, 1.00000, 1.08883]) # Observer = 2, Illuminant = D65 +# ToDo (if needed) +# - support alpha channel (paraview/ASCII/input) +# - support NaN color (paraview) class Colormap(mpl.colors.ListedColormap): @@ -19,18 +22,31 @@ class Colormap(mpl.colors.ListedColormap): @staticmethod def from_bounds(low,high,name='DAMASK colormap',N=256,model='rgb'): """ - Create a perceptually uniform colormap. + Create a perceptually uniform colormap from given bounds. + + Colors are internally stored as R(ed) G(green) B(lue) values. + The colormap can be used in matplotlib/seaborn or exported to + file for external use. Parameters ---------- low : numpy.ndarray of shape (3) + Color definition for minimum value. high : numpy.ndarray of shape (3) + Color definition for maximum value. N : integer, optional - The number of color quantization levels. + The number of color quantization levels. Defaults to 256. name : str, optional The name of the colormap. Defaults to `DAMASK colormap`. - model : str - Colormodel used for low and high. + model : {'rgb', 'hsv', 'hsl', 'xyz', 'lab', 'msh'} + Colormodel used for input color definitions. Defaults to `rgb`. + The available color models are: + - 'rgb': R(ed) G(green) B(lue). + - 'hsv': H(ue) S(aturation) V(alue). + - 'hsl': H(ue) S(aturation) L(uminance). + - 'xyz': CIE Xyz. + - 'lab': CIE Lab. + - 'msh': Msh (for perceptual uniform interpolation). """ low_,high_ = map(np.array,[low,high]) @@ -78,7 +94,7 @@ class Colormap(mpl.colors.ListedColormap): @staticmethod def from_predefined(name,N=256): """ - Select from set of predefined colormaps. + Select from a set of predefined colormaps. Predefined colormaps include native matplotlib colormaps and common DAMASK colormaps. @@ -147,7 +163,24 @@ class Colormap(mpl.colors.ListedColormap): return Colormap(rev.colors,rev.name) - def to_file(self,fname=None,format='paraview'): + def to_file(self,fname=None,format='ParaView'): + """ + Export colormap to file for use in external programs. + + Parameters + ---------- + fname : file, str, or pathlib.Path, optional. + Filename to store results. If not given, the filename will + consist of the name of the colormap and an extension that + depends on the file format. + format : {'ParaView', 'ASCII', 'GOM', 'gmsh'}, optional + File format, defaults to 'ParaView'. Available formats are: + - ParaView: JSON file, extension '.json'. + - ASCII: Plain text file, extension '.txt'. + - GOM: Aramis GOM (DIC), extension '.legend'. + - Gmsh: Gmsh FEM mesh-generator, extension '.msh'. + + """ if fname is not None: try: f = open(fname,'w') @@ -216,8 +249,18 @@ class Colormap(mpl.colors.ListedColormap): '}') @staticmethod - def _interpolate_msh(frac,low, high): + def _interpolate_msh(frac,low,high): + """ + Interpolate in Msh color space. + This interpolation gives a perceptually uniform colormap. + + References + ---------- + https://www.kennethmoreland.com/color-maps/ColorMapsExpanded.pdf + https://www.kennethmoreland.com/color-maps/diverging_map.py + + """ def rad_diff(a,b): return abs(a[2]-b[2]) From f4d13bc810730a73d209c2a844de4b1f53222f17 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 28 Jun 2020 10:06:18 +0200 Subject: [PATCH 278/958] binary representation depends on vtk lib version --- python/tests/test_VTK.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/python/tests/test_VTK.py b/python/tests/test_VTK.py index 2b15dcd78..ef92a09f1 100644 --- a/python/tests/test_VTK.py +++ b/python/tests/test_VTK.py @@ -1,6 +1,3 @@ -import filecmp -import time - import pytest import numpy as np @@ -72,9 +69,8 @@ class TestVTK: if update: polyData.write(reference_dir/'polyData') else: - polyData.write(tmp_path/'polyData') - time.sleep(.5) - assert filecmp.cmp(tmp_path/'polyData.vtp',reference_dir/'polyData.vtp') + reference = VTK.from_file(reference_dir/'polyData.vtp') + assert polyData.__repr__() == reference.__repr__() def test_compare_reference_rectilinearGrid(self,update,reference_dir,tmp_path): grid = np.array([5,6,7],int) @@ -87,7 +83,6 @@ class TestVTK: if update: rectilinearGrid.write(reference_dir/'rectilinearGrid') else: - rectilinearGrid.write(tmp_path/'rectilinearGrid') - time.sleep(.5) - assert filecmp.cmp(tmp_path/'rectilinearGrid.vtr',reference_dir/'rectilinearGrid.vtr') + reference = VTK.from_file(reference_dir/'rectilinearGrid.vtr') + assert rectilinearGrid.__repr__() == reference.__repr__() From 3513754647b2a2de2ef1f11413dd859c58719508 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 27 Jun 2020 20:17:48 +0200 Subject: [PATCH 279/958] low/high instead of left/right --- python/damask/_colormap.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index a0c976516..39a86cc8f 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -121,7 +121,7 @@ class Colormap(mpl.colors.ListedColormap): # DAMASK presets definition = Colormap._predefined_DAMASK[name] - return Colormap.from_bounds(definition['left'],definition['right'],name,N) + return Colormap.from_bounds(definition['low'],definition['high'],name,N) @staticmethod @@ -316,12 +316,12 @@ class Colormap(mpl.colors.ListedColormap): 'gnuplot', 'gnuplot2', 'CMRmap', 'cubehelix', 'brg', 'gist_rainbow', 'rainbow', 'jet', 'nipy_spectral', 'gist_ncar'])] - _predefined_DAMASK = {'orientation': {'low': [0.933334,0.878432,0.878431], - 'right': [0.250980,0.007843,0.000000]}, - 'strain': {'left': [0.941177,0.941177,0.870588], - 'right': [0.266667,0.266667,0.000000]}, - 'stress': {'left': [0.878432,0.874511,0.949019], - 'right': [0.000002,0.000000,0.286275]}} + _predefined_DAMASK = {'orientation': {'low': [0.933334,0.878432,0.878431], + 'high': [0.250980,0.007843,0.000000]}, + 'strain': {'low': [0.941177,0.941177,0.870588], + 'high': [0.266667,0.266667,0.000000]}, + 'stress': {'low': [0.878432,0.874511,0.949019], + 'high': [0.000002,0.000000,0.286275]}} @staticmethod def _hsv2rgb(hsv): From b78c8093756d790dfadc2aac5cddb3dc893db4cb Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 27 Jun 2020 20:36:18 +0200 Subject: [PATCH 280/958] real output --- python/damask/_colormap.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 39a86cc8f..0d04c44b7 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -242,11 +242,16 @@ class Colormap(mpl.colors.ListedColormap): print(s) @staticmethod - def _export_gmsh(colormap,fname=None): - colors = colormap.colors - colormap =('View.ColorTable = {' - ',\n'.join(['{%s}'%(','.join([str(x*255.0) for x in color])) for color in colors])+\ - '}') + def _export_gmsh(colormap,fhandle=None): + colormap = 'View.ColorTable = {\n'\ + +'\n'.join([f'{c[0]},{c[1]},{c[2]},' for c in reversed(colormap.colors)])\ + +'}' + if fhandle is None: + with open(colormap.name.replace(' ','_')+'.txt', 'w') as f: + t.to_ASCII(f) + else: + t.to_ASCII(fhandle) + @staticmethod def _interpolate_msh(frac,low,high): From 1c03bd157f65175c4815a89277486dc97afe56a9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 27 Jun 2020 21:26:25 +0200 Subject: [PATCH 281/958] more testing --- python/damask/_colormap.py | 31 +++++++++++++++++++------------ python/tests/test_Colormap.py | 9 +++++++-- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 0d04c44b7..f6e6b62e7 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -234,23 +234,30 @@ class Colormap(mpl.colors.ListedColormap): @staticmethod def _export_GOM(colormap,fhandle=None): - pass - s =(f'1 1 {colormap.name.replace(" ","_")} 9 {colormap.name.replace(" ","_")} ' - f' 0 1 0 3 0 0 -1 9 \\ 0 0 0 255 255 255 0 0 255 ' - f'30 NO_UNIT 1 1 64 64 64 255 1 0 0 0 0 0 0 3 0 {str(len(colormap.colors))}' - ' '.join([' 0 %s 255 1'%(' '.join([str(int(x*255.0)) for x in color])) for color in reversed(colormap.colors)])) - print(s) + # ToDo: test in GOM + GOM_str = f'1 1 {colormap.name.replace(" ","_")} 9 {colormap.name.replace(" ","_")} ' \ + + '0 1 0 3 0 0 -1 9 \\ 0 0 0 255 255 255 0 0 255 ' \ + + f'30 NO_UNIT 1 1 64 64 64 255 1 0 0 0 0 0 0 3 0 {len(colormap.colors)}' \ + + ' '.join([f' 0 {c[0]} {c[1]} {c[2]} 255 1' for c in reversed((colormap.colors*255).astype(int))]) \ + + '\n' + if fhandle is None: + with open(colormap.name.replace(' ','_')+'.legend', 'w') as f: + f.write(GOM_str) + else: + fhandle.write(GOM_str) + @staticmethod def _export_gmsh(colormap,fhandle=None): - colormap = 'View.ColorTable = {\n'\ - +'\n'.join([f'{c[0]},{c[1]},{c[2]},' for c in reversed(colormap.colors)])\ - +'}' + # ToDo: test in gmsh + gmsh_str = 'View.ColorTable = {\n' \ + +'\n'.join([f'{c[0]},{c[1]},{c[2]},' for c in colormap.colors[:,:3]*255]) \ + +'\n}\n' if fhandle is None: - with open(colormap.name.replace(' ','_')+'.txt', 'w') as f: - t.to_ASCII(f) + with open(colormap.name.replace(' ','_')+'.msh', 'w') as f: + f.write(gmsh_str) else: - t.to_ASCII(fhandle) + fhandle.write(gmsh_str) @staticmethod diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index e00367452..dde14dcf3 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -86,10 +86,15 @@ class TestColormap: ]) def test_write_filehandle(self,format,name,tmpdir): c = Colormap.from_predefined('Dark2') - with open(tmpdir/name,'w') as f: + fname = tmpdir/name + with open(fname,'w') as f: c.to_file(f,format=format) + for i in range(10): + if fname.exists(): return + time.sleep(.5) + assert False - def test_invalid_format(self): + def test_write_invalid_format(self): c = Colormap.from_predefined('Dark2') with pytest.raises(ValueError): c.to_file(format='invalid') From e81b67e96408ad432012b803209df8d1fa2b4c56 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 28 Jun 2020 10:32:59 +0200 Subject: [PATCH 282/958] polishing --- python/damask/_colormap.py | 2 ++ python/tests/test_Colormap.py | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index f6e6b62e7..9377ca277 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -234,6 +234,7 @@ class Colormap(mpl.colors.ListedColormap): @staticmethod def _export_GOM(colormap,fhandle=None): + """Write colormap to GOM Aramis compatible format.""" # ToDo: test in GOM GOM_str = f'1 1 {colormap.name.replace(" ","_")} 9 {colormap.name.replace(" ","_")} ' \ + '0 1 0 3 0 0 -1 9 \\ 0 0 0 255 255 255 0 0 255 ' \ @@ -249,6 +250,7 @@ class Colormap(mpl.colors.ListedColormap): @staticmethod def _export_gmsh(colormap,fhandle=None): + """Write colormap to Gmsh compatible format.""" # ToDo: test in gmsh gmsh_str = 'View.ColorTable = {\n' \ +'\n'.join([f'{c[0]},{c[1]},{c[2]},' for c in colormap.colors[:,:3]*255]) \ diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index dde14dcf3..f124c704e 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -82,7 +82,7 @@ class TestColormap: @pytest.mark.parametrize('format,name',[('ASCII','test.txt'), ('paraview','test.json'), ('GOM','test.legend'), - ('gmsh','test.xxx') + ('gmsh','test.msh') ]) def test_write_filehandle(self,format,name,tmpdir): c = Colormap.from_predefined('Dark2') @@ -111,7 +111,6 @@ class TestColormap: np.allclose(c_1.colors,c_2.reversed().colors) def test_list(self): - c = Colormap.from_predefined('afmhot').reversed() - c.list_predefined() + Colormap.list_predefined() From ae4146f1c6a3a5e8e1c69c9ab94600819f5d2614 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 28 Jun 2020 11:18:22 +0200 Subject: [PATCH 283/958] report version, write out 'modern' ASCII table style --- python/damask/_colormap.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 9377ca277..d3ed4b12e 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -6,6 +6,7 @@ import matplotlib as mpl import matplotlib.pyplot as plt from matplotlib import cm +import damask from damask import Table _eps = 216./24389. @@ -208,6 +209,7 @@ class Colormap(mpl.colors.ListedColormap): colors+=[i]+c out = [{ + 'Creator':f'damask.Colormap {damask.version}', 'ColorSpace':'RGB', 'Name':colormap.name, 'DefaultMap':True, @@ -224,13 +226,13 @@ class Colormap(mpl.colors.ListedColormap): """Write colormap to ASCII table.""" labels = {'R':(1,),'G':(1,),'B':(1,)} if colormap.colors.shape[1] == 4: labels['alpha']=(1,) - t = Table(colormap.colors,labels) + t = Table(colormap.colors,labels,f'Creator: damask.Colormap {damask.version}') if fhandle is None: with open(colormap.name.replace(' ','_')+'.txt', 'w') as f: - t.to_ASCII(f) + t.to_ASCII(f,True) else: - t.to_ASCII(fhandle) + t.to_ASCII(fhandle,True) @staticmethod def _export_GOM(colormap,fhandle=None): From 6a748d2edf8f3ffd7b4bdf8a618605c08dfa7557 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 28 Jun 2020 11:19:18 +0200 Subject: [PATCH 284/958] do not expand single strings into characters --- python/damask/_table.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/python/damask/_table.py b/python/damask/_table.py index 435b7afa9..e8d35c545 100644 --- a/python/damask/_table.py +++ b/python/damask/_table.py @@ -19,11 +19,12 @@ class Table: Data. Column labels from a pandas.DataFrame will be replaced. shapes : dict with str:tuple pairs Shapes of the columns. Example 'F':(3,3) for a deformation gradient. - comments : iterable of str, optional + comments : str or iterable of str, optional Additional, human-readable information. """ - self.comments = [] if comments is None else [c for c in comments] + comments_ = [comments] if isinstance(comments,str) else comments + self.comments = [] if comments_ is None else [c for c in comments_] self.data = pd.DataFrame(data=data) self.shapes = { k:(v,) if isinstance(v,(np.int,int)) else v for k,v in shapes.items() } self._label_condensed() From e6a87da37c8d7562aa351c2c156d830c4a08bfc3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 28 Jun 2020 11:20:09 +0200 Subject: [PATCH 285/958] compare to reference results need to patch damask.version to be independent of version strings (in json and ASCII table) --- python/tests/reference/Colormap/binary.json | 1290 +++++++++++++++++ python/tests/reference/Colormap/binary.legend | 1 + python/tests/reference/Colormap/binary.msh | 258 ++++ python/tests/reference/Colormap/binary.txt | 258 ++++ python/tests/test_Colormap.py | 31 +- 5 files changed, 1835 insertions(+), 3 deletions(-) create mode 100644 python/tests/reference/Colormap/binary.json create mode 100644 python/tests/reference/Colormap/binary.legend create mode 100644 python/tests/reference/Colormap/binary.msh create mode 100644 python/tests/reference/Colormap/binary.txt diff --git a/python/tests/reference/Colormap/binary.json b/python/tests/reference/Colormap/binary.json new file mode 100644 index 000000000..d56f1232e --- /dev/null +++ b/python/tests/reference/Colormap/binary.json @@ -0,0 +1,1290 @@ +[ + { + "Creator": "damask.Colormap 99.99.99-9999-pytest", + "ColorSpace": "RGB", + "Name": "binary", + "DefaultMap": true, + "RGBPoints": [ + 0, + 1.0, + 1.0, + 1.0, + 1.0, + 1, + 0.996078, + 0.996078, + 0.996078, + 1.0, + 2, + 0.992157, + 0.992157, + 0.992157, + 1.0, + 3, + 0.988235, + 0.988235, + 0.988235, + 1.0, + 4, + 0.984314, + 0.984314, + 0.984314, + 1.0, + 5, + 0.980392, + 0.980392, + 0.980392, + 1.0, + 6, + 0.976471, + 0.976471, + 0.976471, + 1.0, + 7, + 0.972549, + 0.972549, + 0.972549, + 1.0, + 8, + 0.968627, + 0.968627, + 0.968627, + 1.0, + 9, + 0.964706, + 0.964706, + 0.964706, + 1.0, + 10, + 0.960784, + 0.960784, + 0.960784, + 1.0, + 11, + 0.956863, + 0.956863, + 0.956863, + 1.0, + 12, + 0.952941, + 0.952941, + 0.952941, + 1.0, + 13, + 0.94902, + 0.94902, + 0.94902, + 1.0, + 14, + 0.945098, + 0.945098, + 0.945098, + 1.0, + 15, + 0.941176, + 0.941176, + 0.941176, + 1.0, + 16, + 0.937255, + 0.937255, + 0.937255, + 1.0, + 17, + 0.933333, + 0.933333, + 0.933333, + 1.0, + 18, + 0.929412, + 0.929412, + 0.929412, + 1.0, + 19, + 0.92549, + 0.92549, + 0.92549, + 1.0, + 20, + 0.921569, + 0.921569, + 0.921569, + 1.0, + 21, + 0.917647, + 0.917647, + 0.917647, + 1.0, + 22, + 0.913725, + 0.913725, + 0.913725, + 1.0, + 23, + 0.909804, + 0.909804, + 0.909804, + 1.0, + 24, + 0.905882, + 0.905882, + 0.905882, + 1.0, + 25, + 0.901961, + 0.901961, + 0.901961, + 1.0, + 26, + 0.898039, + 0.898039, + 0.898039, + 1.0, + 27, + 0.894118, + 0.894118, + 0.894118, + 1.0, + 28, + 0.890196, + 0.890196, + 0.890196, + 1.0, + 29, + 0.886275, + 0.886275, + 0.886275, + 1.0, + 30, + 0.882353, + 0.882353, + 0.882353, + 1.0, + 31, + 0.878431, + 0.878431, + 0.878431, + 1.0, + 32, + 0.87451, + 0.87451, + 0.87451, + 1.0, + 33, + 0.870588, + 0.870588, + 0.870588, + 1.0, + 34, + 0.866667, + 0.866667, + 0.866667, + 1.0, + 35, + 0.862745, + 0.862745, + 0.862745, + 1.0, + 36, + 0.858824, + 0.858824, + 0.858824, + 1.0, + 37, + 0.854902, + 0.854902, + 0.854902, + 1.0, + 38, + 0.85098, + 0.85098, + 0.85098, + 1.0, + 39, + 0.847059, + 0.847059, + 0.847059, + 1.0, + 40, + 0.843137, + 0.843137, + 0.843137, + 1.0, + 41, + 0.839216, + 0.839216, + 0.839216, + 1.0, + 42, + 0.835294, + 0.835294, + 0.835294, + 1.0, + 43, + 0.831373, + 0.831373, + 0.831373, + 1.0, + 44, + 0.827451, + 0.827451, + 0.827451, + 1.0, + 45, + 0.823529, + 0.823529, + 0.823529, + 1.0, + 46, + 0.819608, + 0.819608, + 0.819608, + 1.0, + 47, + 0.815686, + 0.815686, + 0.815686, + 1.0, + 48, + 0.811765, + 0.811765, + 0.811765, + 1.0, + 49, + 0.807843, + 0.807843, + 0.807843, + 1.0, + 50, + 0.803922, + 0.803922, + 0.803922, + 1.0, + 51, + 0.8, + 0.8, + 0.8, + 1.0, + 52, + 0.796078, + 0.796078, + 0.796078, + 1.0, + 53, + 0.792157, + 0.792157, + 0.792157, + 1.0, + 54, + 0.788235, + 0.788235, + 0.788235, + 1.0, + 55, + 0.784314, + 0.784314, + 0.784314, + 1.0, + 56, + 0.780392, + 0.780392, + 0.780392, + 1.0, + 57, + 0.776471, + 0.776471, + 0.776471, + 1.0, + 58, + 0.772549, + 0.772549, + 0.772549, + 1.0, + 59, + 0.768627, + 0.768627, + 0.768627, + 1.0, + 60, + 0.764706, + 0.764706, + 0.764706, + 1.0, + 61, + 0.760784, + 0.760784, + 0.760784, + 1.0, + 62, + 0.756863, + 0.756863, + 0.756863, + 1.0, + 63, + 0.752941, + 0.752941, + 0.752941, + 1.0, + 64, + 0.74902, + 0.74902, + 0.74902, + 1.0, + 65, + 0.745098, + 0.745098, + 0.745098, + 1.0, + 66, + 0.741176, + 0.741176, + 0.741176, + 1.0, + 67, + 0.737255, + 0.737255, + 0.737255, + 1.0, + 68, + 0.733333, + 0.733333, + 0.733333, + 1.0, + 69, + 0.729412, + 0.729412, + 0.729412, + 1.0, + 70, + 0.72549, + 0.72549, + 0.72549, + 1.0, + 71, + 0.721569, + 0.721569, + 0.721569, + 1.0, + 72, + 0.717647, + 0.717647, + 0.717647, + 1.0, + 73, + 0.713725, + 0.713725, + 0.713725, + 1.0, + 74, + 0.709804, + 0.709804, + 0.709804, + 1.0, + 75, + 0.705882, + 0.705882, + 0.705882, + 1.0, + 76, + 0.701961, + 0.701961, + 0.701961, + 1.0, + 77, + 0.698039, + 0.698039, + 0.698039, + 1.0, + 78, + 0.694118, + 0.694118, + 0.694118, + 1.0, + 79, + 0.690196, + 0.690196, + 0.690196, + 1.0, + 80, + 0.686275, + 0.686275, + 0.686275, + 1.0, + 81, + 0.682353, + 0.682353, + 0.682353, + 1.0, + 82, + 0.678431, + 0.678431, + 0.678431, + 1.0, + 83, + 0.67451, + 0.67451, + 0.67451, + 1.0, + 84, + 0.670588, + 0.670588, + 0.670588, + 1.0, + 85, + 0.666667, + 0.666667, + 0.666667, + 1.0, + 86, + 0.662745, + 0.662745, + 0.662745, + 1.0, + 87, + 0.658824, + 0.658824, + 0.658824, + 1.0, + 88, + 0.654902, + 0.654902, + 0.654902, + 1.0, + 89, + 0.65098, + 0.65098, + 0.65098, + 1.0, + 90, + 0.647059, + 0.647059, + 0.647059, + 1.0, + 91, + 0.643137, + 0.643137, + 0.643137, + 1.0, + 92, + 0.639216, + 0.639216, + 0.639216, + 1.0, + 93, + 0.635294, + 0.635294, + 0.635294, + 1.0, + 94, + 0.631373, + 0.631373, + 0.631373, + 1.0, + 95, + 0.627451, + 0.627451, + 0.627451, + 1.0, + 96, + 0.623529, + 0.623529, + 0.623529, + 1.0, + 97, + 0.619608, + 0.619608, + 0.619608, + 1.0, + 98, + 0.615686, + 0.615686, + 0.615686, + 1.0, + 99, + 0.611765, + 0.611765, + 0.611765, + 1.0, + 100, + 0.607843, + 0.607843, + 0.607843, + 1.0, + 101, + 0.603922, + 0.603922, + 0.603922, + 1.0, + 102, + 0.6, + 0.6, + 0.6, + 1.0, + 103, + 0.596078, + 0.596078, + 0.596078, + 1.0, + 104, + 0.592157, + 0.592157, + 0.592157, + 1.0, + 105, + 0.588235, + 0.588235, + 0.588235, + 1.0, + 106, + 0.584314, + 0.584314, + 0.584314, + 1.0, + 107, + 0.580392, + 0.580392, + 0.580392, + 1.0, + 108, + 0.576471, + 0.576471, + 0.576471, + 1.0, + 109, + 0.572549, + 0.572549, + 0.572549, + 1.0, + 110, + 0.568627, + 0.568627, + 0.568627, + 1.0, + 111, + 0.564706, + 0.564706, + 0.564706, + 1.0, + 112, + 0.560784, + 0.560784, + 0.560784, + 1.0, + 113, + 0.556863, + 0.556863, + 0.556863, + 1.0, + 114, + 0.552941, + 0.552941, + 0.552941, + 1.0, + 115, + 0.54902, + 0.54902, + 0.54902, + 1.0, + 116, + 0.545098, + 0.545098, + 0.545098, + 1.0, + 117, + 0.541176, + 0.541176, + 0.541176, + 1.0, + 118, + 0.537255, + 0.537255, + 0.537255, + 1.0, + 119, + 0.533333, + 0.533333, + 0.533333, + 1.0, + 120, + 0.529412, + 0.529412, + 0.529412, + 1.0, + 121, + 0.52549, + 0.52549, + 0.52549, + 1.0, + 122, + 0.521569, + 0.521569, + 0.521569, + 1.0, + 123, + 0.517647, + 0.517647, + 0.517647, + 1.0, + 124, + 0.513725, + 0.513725, + 0.513725, + 1.0, + 125, + 0.509804, + 0.509804, + 0.509804, + 1.0, + 126, + 0.505882, + 0.505882, + 0.505882, + 1.0, + 127, + 0.501961, + 0.501961, + 0.501961, + 1.0, + 128, + 0.498039, + 0.498039, + 0.498039, + 1.0, + 129, + 0.494118, + 0.494118, + 0.494118, + 1.0, + 130, + 0.490196, + 0.490196, + 0.490196, + 1.0, + 131, + 0.486275, + 0.486275, + 0.486275, + 1.0, + 132, + 0.482353, + 0.482353, + 0.482353, + 1.0, + 133, + 0.478431, + 0.478431, + 0.478431, + 1.0, + 134, + 0.47451, + 0.47451, + 0.47451, + 1.0, + 135, + 0.470588, + 0.470588, + 0.470588, + 1.0, + 136, + 0.466667, + 0.466667, + 0.466667, + 1.0, + 137, + 0.462745, + 0.462745, + 0.462745, + 1.0, + 138, + 0.458824, + 0.458824, + 0.458824, + 1.0, + 139, + 0.454902, + 0.454902, + 0.454902, + 1.0, + 140, + 0.45098, + 0.45098, + 0.45098, + 1.0, + 141, + 0.447059, + 0.447059, + 0.447059, + 1.0, + 142, + 0.443137, + 0.443137, + 0.443137, + 1.0, + 143, + 0.439216, + 0.439216, + 0.439216, + 1.0, + 144, + 0.435294, + 0.435294, + 0.435294, + 1.0, + 145, + 0.431373, + 0.431373, + 0.431373, + 1.0, + 146, + 0.427451, + 0.427451, + 0.427451, + 1.0, + 147, + 0.423529, + 0.423529, + 0.423529, + 1.0, + 148, + 0.419608, + 0.419608, + 0.419608, + 1.0, + 149, + 0.415686, + 0.415686, + 0.415686, + 1.0, + 150, + 0.411765, + 0.411765, + 0.411765, + 1.0, + 151, + 0.407843, + 0.407843, + 0.407843, + 1.0, + 152, + 0.403922, + 0.403922, + 0.403922, + 1.0, + 153, + 0.4, + 0.4, + 0.4, + 1.0, + 154, + 0.396078, + 0.396078, + 0.396078, + 1.0, + 155, + 0.392157, + 0.392157, + 0.392157, + 1.0, + 156, + 0.388235, + 0.388235, + 0.388235, + 1.0, + 157, + 0.384314, + 0.384314, + 0.384314, + 1.0, + 158, + 0.380392, + 0.380392, + 0.380392, + 1.0, + 159, + 0.376471, + 0.376471, + 0.376471, + 1.0, + 160, + 0.372549, + 0.372549, + 0.372549, + 1.0, + 161, + 0.368627, + 0.368627, + 0.368627, + 1.0, + 162, + 0.364706, + 0.364706, + 0.364706, + 1.0, + 163, + 0.360784, + 0.360784, + 0.360784, + 1.0, + 164, + 0.356863, + 0.356863, + 0.356863, + 1.0, + 165, + 0.352941, + 0.352941, + 0.352941, + 1.0, + 166, + 0.34902, + 0.34902, + 0.34902, + 1.0, + 167, + 0.345098, + 0.345098, + 0.345098, + 1.0, + 168, + 0.341176, + 0.341176, + 0.341176, + 1.0, + 169, + 0.337255, + 0.337255, + 0.337255, + 1.0, + 170, + 0.333333, + 0.333333, + 0.333333, + 1.0, + 171, + 0.329412, + 0.329412, + 0.329412, + 1.0, + 172, + 0.32549, + 0.32549, + 0.32549, + 1.0, + 173, + 0.321569, + 0.321569, + 0.321569, + 1.0, + 174, + 0.317647, + 0.317647, + 0.317647, + 1.0, + 175, + 0.313725, + 0.313725, + 0.313725, + 1.0, + 176, + 0.309804, + 0.309804, + 0.309804, + 1.0, + 177, + 0.305882, + 0.305882, + 0.305882, + 1.0, + 178, + 0.301961, + 0.301961, + 0.301961, + 1.0, + 179, + 0.298039, + 0.298039, + 0.298039, + 1.0, + 180, + 0.294118, + 0.294118, + 0.294118, + 1.0, + 181, + 0.290196, + 0.290196, + 0.290196, + 1.0, + 182, + 0.286275, + 0.286275, + 0.286275, + 1.0, + 183, + 0.282353, + 0.282353, + 0.282353, + 1.0, + 184, + 0.278431, + 0.278431, + 0.278431, + 1.0, + 185, + 0.27451, + 0.27451, + 0.27451, + 1.0, + 186, + 0.270588, + 0.270588, + 0.270588, + 1.0, + 187, + 0.266667, + 0.266667, + 0.266667, + 1.0, + 188, + 0.262745, + 0.262745, + 0.262745, + 1.0, + 189, + 0.258824, + 0.258824, + 0.258824, + 1.0, + 190, + 0.254902, + 0.254902, + 0.254902, + 1.0, + 191, + 0.25098, + 0.25098, + 0.25098, + 1.0, + 192, + 0.247059, + 0.247059, + 0.247059, + 1.0, + 193, + 0.243137, + 0.243137, + 0.243137, + 1.0, + 194, + 0.239216, + 0.239216, + 0.239216, + 1.0, + 195, + 0.235294, + 0.235294, + 0.235294, + 1.0, + 196, + 0.231373, + 0.231373, + 0.231373, + 1.0, + 197, + 0.227451, + 0.227451, + 0.227451, + 1.0, + 198, + 0.223529, + 0.223529, + 0.223529, + 1.0, + 199, + 0.219608, + 0.219608, + 0.219608, + 1.0, + 200, + 0.215686, + 0.215686, + 0.215686, + 1.0, + 201, + 0.211765, + 0.211765, + 0.211765, + 1.0, + 202, + 0.207843, + 0.207843, + 0.207843, + 1.0, + 203, + 0.203922, + 0.203922, + 0.203922, + 1.0, + 204, + 0.2, + 0.2, + 0.2, + 1.0, + 205, + 0.196078, + 0.196078, + 0.196078, + 1.0, + 206, + 0.192157, + 0.192157, + 0.192157, + 1.0, + 207, + 0.188235, + 0.188235, + 0.188235, + 1.0, + 208, + 0.184314, + 0.184314, + 0.184314, + 1.0, + 209, + 0.180392, + 0.180392, + 0.180392, + 1.0, + 210, + 0.176471, + 0.176471, + 0.176471, + 1.0, + 211, + 0.172549, + 0.172549, + 0.172549, + 1.0, + 212, + 0.168627, + 0.168627, + 0.168627, + 1.0, + 213, + 0.164706, + 0.164706, + 0.164706, + 1.0, + 214, + 0.160784, + 0.160784, + 0.160784, + 1.0, + 215, + 0.156863, + 0.156863, + 0.156863, + 1.0, + 216, + 0.152941, + 0.152941, + 0.152941, + 1.0, + 217, + 0.14902, + 0.14902, + 0.14902, + 1.0, + 218, + 0.145098, + 0.145098, + 0.145098, + 1.0, + 219, + 0.141176, + 0.141176, + 0.141176, + 1.0, + 220, + 0.137255, + 0.137255, + 0.137255, + 1.0, + 221, + 0.133333, + 0.133333, + 0.133333, + 1.0, + 222, + 0.129412, + 0.129412, + 0.129412, + 1.0, + 223, + 0.12549, + 0.12549, + 0.12549, + 1.0, + 224, + 0.121569, + 0.121569, + 0.121569, + 1.0, + 225, + 0.117647, + 0.117647, + 0.117647, + 1.0, + 226, + 0.113725, + 0.113725, + 0.113725, + 1.0, + 227, + 0.109804, + 0.109804, + 0.109804, + 1.0, + 228, + 0.105882, + 0.105882, + 0.105882, + 1.0, + 229, + 0.101961, + 0.101961, + 0.101961, + 1.0, + 230, + 0.098039, + 0.098039, + 0.098039, + 1.0, + 231, + 0.094118, + 0.094118, + 0.094118, + 1.0, + 232, + 0.090196, + 0.090196, + 0.090196, + 1.0, + 233, + 0.086275, + 0.086275, + 0.086275, + 1.0, + 234, + 0.082353, + 0.082353, + 0.082353, + 1.0, + 235, + 0.078431, + 0.078431, + 0.078431, + 1.0, + 236, + 0.07451, + 0.07451, + 0.07451, + 1.0, + 237, + 0.070588, + 0.070588, + 0.070588, + 1.0, + 238, + 0.066667, + 0.066667, + 0.066667, + 1.0, + 239, + 0.062745, + 0.062745, + 0.062745, + 1.0, + 240, + 0.058824, + 0.058824, + 0.058824, + 1.0, + 241, + 0.054902, + 0.054902, + 0.054902, + 1.0, + 242, + 0.05098, + 0.05098, + 0.05098, + 1.0, + 243, + 0.047059, + 0.047059, + 0.047059, + 1.0, + 244, + 0.043137, + 0.043137, + 0.043137, + 1.0, + 245, + 0.039216, + 0.039216, + 0.039216, + 1.0, + 246, + 0.035294, + 0.035294, + 0.035294, + 1.0, + 247, + 0.031373, + 0.031373, + 0.031373, + 1.0, + 248, + 0.027451, + 0.027451, + 0.027451, + 1.0, + 249, + 0.023529, + 0.023529, + 0.023529, + 1.0, + 250, + 0.019608, + 0.019608, + 0.019608, + 1.0, + 251, + 0.015686, + 0.015686, + 0.015686, + 1.0, + 252, + 0.011765, + 0.011765, + 0.011765, + 1.0, + 253, + 0.007843, + 0.007843, + 0.007843, + 1.0, + 254, + 0.003922, + 0.003922, + 0.003922, + 1.0, + 255, + 0.0, + 0.0, + 0.0, + 1.0 + ] + } +] \ No newline at end of file diff --git a/python/tests/reference/Colormap/binary.legend b/python/tests/reference/Colormap/binary.legend new file mode 100644 index 000000000..ba417facc --- /dev/null +++ b/python/tests/reference/Colormap/binary.legend @@ -0,0 +1 @@ +1 1 binary 9 binary 0 1 0 3 0 0 -1 9 \ 0 0 0 255 255 255 0 0 255 30 NO_UNIT 1 1 64 64 64 255 1 0 0 0 0 0 0 3 0 256 0 0 0 0 255 1 0 0 0 0 255 1 0 1 1 1 255 1 0 2 2 2 255 1 0 4 4 4 255 1 0 5 5 5 255 1 0 6 6 6 255 1 0 7 7 7 255 1 0 8 8 8 255 1 0 8 8 8 255 1 0 9 9 9 255 1 0 11 11 11 255 1 0 12 12 12 255 1 0 13 13 13 255 1 0 14 14 14 255 1 0 15 15 15 255 1 0 16 16 16 255 1 0 16 16 16 255 1 0 17 17 17 255 1 0 18 18 18 255 1 0 20 20 20 255 1 0 21 21 21 255 1 0 22 22 22 255 1 0 23 23 23 255 1 0 24 24 24 255 1 0 24 24 24 255 1 0 25 25 25 255 1 0 27 27 27 255 1 0 28 28 28 255 1 0 29 29 29 255 1 0 30 30 30 255 1 0 31 31 31 255 1 0 32 32 32 255 1 0 32 32 32 255 1 0 33 33 33 255 1 0 34 34 34 255 1 0 36 36 36 255 1 0 37 37 37 255 1 0 38 38 38 255 1 0 39 39 39 255 1 0 40 40 40 255 1 0 40 40 40 255 1 0 41 41 41 255 1 0 43 43 43 255 1 0 44 44 44 255 1 0 45 45 45 255 1 0 46 46 46 255 1 0 47 47 47 255 1 0 48 48 48 255 1 0 48 48 48 255 1 0 49 49 49 255 1 0 50 50 50 255 1 0 52 52 52 255 1 0 53 53 53 255 1 0 54 54 54 255 1 0 55 55 55 255 1 0 56 56 56 255 1 0 56 56 56 255 1 0 57 57 57 255 1 0 59 59 59 255 1 0 60 60 60 255 1 0 61 61 61 255 1 0 62 62 62 255 1 0 63 63 63 255 1 0 64 64 64 255 1 0 65 65 65 255 1 0 65 65 65 255 1 0 66 66 66 255 1 0 68 68 68 255 1 0 69 69 69 255 1 0 70 70 70 255 1 0 71 71 71 255 1 0 72 72 72 255 1 0 73 73 73 255 1 0 73 73 73 255 1 0 75 75 75 255 1 0 76 76 76 255 1 0 77 77 77 255 1 0 78 78 78 255 1 0 79 79 79 255 1 0 80 80 80 255 1 0 81 81 81 255 1 0 81 81 81 255 1 0 82 82 82 255 1 0 84 84 84 255 1 0 85 85 85 255 1 0 86 86 86 255 1 0 87 87 87 255 1 0 88 88 88 255 1 0 89 89 89 255 1 0 89 89 89 255 1 0 91 91 91 255 1 0 92 92 92 255 1 0 93 93 93 255 1 0 94 94 94 255 1 0 95 95 95 255 1 0 96 96 96 255 1 0 97 97 97 255 1 0 97 97 97 255 1 0 98 98 98 255 1 0 100 100 100 255 1 0 101 101 101 255 1 0 102 102 102 255 1 0 103 103 103 255 1 0 104 104 104 255 1 0 105 105 105 255 1 0 105 105 105 255 1 0 107 107 107 255 1 0 108 108 108 255 1 0 109 109 109 255 1 0 110 110 110 255 1 0 111 111 111 255 1 0 112 112 112 255 1 0 113 113 113 255 1 0 113 113 113 255 1 0 114 114 114 255 1 0 116 116 116 255 1 0 117 117 117 255 1 0 118 118 118 255 1 0 119 119 119 255 1 0 120 120 120 255 1 0 121 121 121 255 1 0 121 121 121 255 1 0 123 123 123 255 1 0 124 124 124 255 1 0 125 125 125 255 1 0 126 126 126 255 1 0 127 127 127 255 1 0 128 128 128 255 1 0 129 129 129 255 1 0 130 130 130 255 1 0 131 131 131 255 1 0 131 131 131 255 1 0 133 133 133 255 1 0 134 134 134 255 1 0 135 135 135 255 1 0 136 136 136 255 1 0 137 137 137 255 1 0 138 138 138 255 1 0 139 139 139 255 1 0 140 140 140 255 1 0 141 141 141 255 1 0 142 142 142 255 1 0 143 143 143 255 1 0 144 144 144 255 1 0 145 145 145 255 1 0 146 146 146 255 1 0 147 147 147 255 1 0 147 147 147 255 1 0 149 149 149 255 1 0 150 150 150 255 1 0 151 151 151 255 1 0 152 152 152 255 1 0 153 153 153 255 1 0 154 154 154 255 1 0 155 155 155 255 1 0 156 156 156 255 1 0 157 157 157 255 1 0 158 158 158 255 1 0 159 159 159 255 1 0 160 160 160 255 1 0 161 161 161 255 1 0 162 162 162 255 1 0 163 163 163 255 1 0 163 163 163 255 1 0 165 165 165 255 1 0 166 166 166 255 1 0 167 167 167 255 1 0 168 168 168 255 1 0 169 169 169 255 1 0 170 170 170 255 1 0 171 171 171 255 1 0 172 172 172 255 1 0 173 173 173 255 1 0 174 174 174 255 1 0 175 175 175 255 1 0 176 176 176 255 1 0 177 177 177 255 1 0 178 178 178 255 1 0 179 179 179 255 1 0 179 179 179 255 1 0 181 181 181 255 1 0 182 182 182 255 1 0 183 183 183 255 1 0 184 184 184 255 1 0 185 185 185 255 1 0 186 186 186 255 1 0 187 187 187 255 1 0 188 188 188 255 1 0 189 189 189 255 1 0 190 190 190 255 1 0 191 191 191 255 1 0 192 192 192 255 1 0 193 193 193 255 1 0 194 194 194 255 1 0 195 195 195 255 1 0 195 195 195 255 1 0 197 197 197 255 1 0 198 198 198 255 1 0 199 199 199 255 1 0 200 200 200 255 1 0 201 201 201 255 1 0 202 202 202 255 1 0 203 203 203 255 1 0 204 204 204 255 1 0 205 205 205 255 1 0 206 206 206 255 1 0 207 207 207 255 1 0 208 208 208 255 1 0 209 209 209 255 1 0 210 210 210 255 1 0 211 211 211 255 1 0 211 211 211 255 1 0 213 213 213 255 1 0 214 214 214 255 1 0 215 215 215 255 1 0 216 216 216 255 1 0 217 217 217 255 1 0 218 218 218 255 1 0 219 219 219 255 1 0 220 220 220 255 1 0 221 221 221 255 1 0 222 222 222 255 1 0 223 223 223 255 1 0 224 224 224 255 1 0 225 225 225 255 1 0 226 226 226 255 1 0 227 227 227 255 1 0 228 228 228 255 1 0 229 229 229 255 1 0 230 230 230 255 1 0 231 231 231 255 1 0 232 232 232 255 1 0 233 233 233 255 1 0 234 234 234 255 1 0 235 235 235 255 1 0 236 236 236 255 1 0 237 237 237 255 1 0 238 238 238 255 1 0 239 239 239 255 1 0 240 240 240 255 1 0 241 241 241 255 1 0 242 242 242 255 1 0 243 243 243 255 1 0 244 244 244 255 1 0 245 245 245 255 1 0 246 246 246 255 1 0 247 247 247 255 1 0 248 248 248 255 1 0 249 249 249 255 1 0 250 250 250 255 1 0 251 251 251 255 1 0 252 252 252 255 1 0 253 253 253 255 1 0 254 254 254 255 1 0 255 255 255 255 1 diff --git a/python/tests/reference/Colormap/binary.msh b/python/tests/reference/Colormap/binary.msh new file mode 100644 index 000000000..66b1cf863 --- /dev/null +++ b/python/tests/reference/Colormap/binary.msh @@ -0,0 +1,258 @@ +View.ColorTable = { +255.0,255.0,255.0, +254.0,254.0,254.0, +253.0,253.0,253.0, +252.0,252.0,252.0, +251.0,251.0,251.0, +250.0,250.0,250.0, +249.0,249.0,249.0, +248.0,248.0,248.0, +247.0,247.0,247.0, +246.0,246.0,246.0, +245.0,245.0,245.0, +244.0,244.0,244.0, +243.0,243.0,243.0, +242.0,242.0,242.0, +241.0,241.0,241.0, +240.0,240.0,240.0, +239.0,239.0,239.0, +238.0,238.0,238.0, +237.0,237.0,237.0, +236.0,236.0,236.0, +235.00000000000003,235.00000000000003,235.00000000000003, +234.0,234.0,234.0, +233.0,233.0,233.0, +232.0,232.0,232.0, +231.0,231.0,231.0, +230.0,230.0,230.0, +229.0,229.0,229.0, +228.0,228.0,228.0, +227.0,227.0,227.0, +226.0,226.0,226.0, +225.0,225.0,225.0, +224.0,224.0,224.0, +223.0,223.0,223.0, +222.0,222.0,222.0, +221.0,221.0,221.0, +220.0,220.0,220.0, +219.00000000000003,219.00000000000003,219.00000000000003, +218.00000000000003,218.00000000000003,218.00000000000003, +217.0,217.0,217.0, +216.0,216.0,216.0, +215.0,215.0,215.0, +214.0,214.0,214.0, +213.0,213.0,213.0, +211.99999999999997,211.99999999999997,211.99999999999997, +211.0,211.0,211.0, +210.0,210.0,210.0, +209.0,209.0,209.0, +208.0,208.0,208.0, +207.0,207.0,207.0, +206.0,206.0,206.0, +205.0,205.0,205.0, +204.0,204.0,204.0, +203.00000000000003,203.00000000000003,203.00000000000003, +202.00000000000003,202.00000000000003,202.00000000000003, +201.0,201.0,201.0, +200.0,200.0,200.0, +199.0,199.0,199.0, +198.0,198.0,198.0, +197.0,197.0,197.0, +195.99999999999997,195.99999999999997,195.99999999999997, +195.0,195.0,195.0, +194.0,194.0,194.0, +193.0,193.0,193.0, +192.0,192.0,192.0, +191.0,191.0,191.0, +190.0,190.0,190.0, +189.0,189.0,189.0, +188.0,188.0,188.0, +187.00000000000003,187.00000000000003,187.00000000000003, +186.00000000000003,186.00000000000003,186.00000000000003, +185.0,185.0,185.0, +184.0,184.0,184.0, +183.0,183.0,183.0, +182.0,182.0,182.0, +181.0,181.0,181.0, +179.99999999999997,179.99999999999997,179.99999999999997, +179.0,179.0,179.0, +178.0,178.0,178.0, +177.0,177.0,177.0, +176.0,176.0,176.0, +175.0,175.0,175.0, +174.0,174.0,174.0, +173.0,173.0,173.0, +172.0,172.0,172.0, +171.00000000000003,171.00000000000003,171.00000000000003, +170.00000000000003,170.00000000000003,170.00000000000003, +169.0,169.0,169.0, +168.0,168.0,168.0, +167.0,167.0,167.0, +166.0,166.0,166.0, +165.0,165.0,165.0, +163.99999999999997,163.99999999999997,163.99999999999997, +163.0,163.0,163.0, +162.0,162.0,162.0, +161.0,161.0,161.0, +160.0,160.0,160.0, +159.0,159.0,159.0, +158.0,158.0,158.0, +157.0,157.0,157.0, +156.0,156.0,156.0, +155.00000000000003,155.00000000000003,155.00000000000003, +154.00000000000003,154.00000000000003,154.00000000000003, +153.0,153.0,153.0, +152.0,152.0,152.0, +151.0,151.0,151.0, +150.0,150.0,150.0, +149.0,149.0,149.0, +147.99999999999997,147.99999999999997,147.99999999999997, +147.0,147.0,147.0, +146.0,146.0,146.0, +145.0,145.0,145.0, +144.0,144.0,144.0, +143.0,143.0,143.0, +142.0,142.0,142.0, +141.0,141.0,141.0, +140.0,140.0,140.0, +139.00000000000003,139.00000000000003,139.00000000000003, +138.00000000000003,138.00000000000003,138.00000000000003, +137.0,137.0,137.0, +136.0,136.0,136.0, +135.0,135.0,135.0, +134.0,134.0,134.0, +133.0,133.0,133.0, +131.99999999999997,131.99999999999997,131.99999999999997, +131.0,131.0,131.0, +130.0,130.0,130.0, +129.0,129.0,129.0, +128.0,128.0,128.0, +127.0,127.0,127.0, +126.0,126.0,126.0, +125.00000000000001,125.00000000000001,125.00000000000001, +124.00000000000001,124.00000000000001,124.00000000000001, +123.00000000000001,123.00000000000001,123.00000000000001, +121.99999999999999,121.99999999999999,121.99999999999999, +121.0,121.0,121.0, +120.0,120.0,120.0, +119.0,119.0,119.0, +118.0,118.0,118.0, +117.00000000000001,117.00000000000001,117.00000000000001, +116.00000000000001,116.00000000000001,116.00000000000001, +114.99999999999999,114.99999999999999,114.99999999999999, +113.99999999999999,113.99999999999999,113.99999999999999, +113.0,113.0,113.0, +112.0,112.0,112.0, +111.0,111.0,111.0, +110.0,110.0,110.0, +109.00000000000001,109.00000000000001,109.00000000000001, +108.00000000000001,108.00000000000001,108.00000000000001, +107.00000000000001,107.00000000000001,107.00000000000001, +105.99999999999999,105.99999999999999,105.99999999999999, +105.0,105.0,105.0, +104.0,104.0,104.0, +103.0,103.0,103.0, +102.0,102.0,102.0, +101.00000000000001,101.00000000000001,101.00000000000001, +100.00000000000001,100.00000000000001,100.00000000000001, +98.99999999999999,98.99999999999999,98.99999999999999, +97.99999999999999,97.99999999999999,97.99999999999999, +97.0,97.0,97.0, +96.0,96.0,96.0, +95.0,95.0,95.0, +94.0,94.0,94.0, +93.00000000000001,93.00000000000001,93.00000000000001, +92.00000000000001,92.00000000000001,92.00000000000001, +91.00000000000001,91.00000000000001,91.00000000000001, +89.99999999999999,89.99999999999999,89.99999999999999, +89.0,89.0,89.0, +88.0,88.0,88.0, +87.0,87.0,87.0, +86.0,86.0,86.0, +85.00000000000001,85.00000000000001,85.00000000000001, +84.00000000000001,84.00000000000001,84.00000000000001, +82.99999999999999,82.99999999999999,82.99999999999999, +81.99999999999999,81.99999999999999,81.99999999999999, +81.0,81.0,81.0, +80.0,80.0,80.0, +79.0,79.0,79.0, +78.0,78.0,78.0, +77.00000000000001,77.00000000000001,77.00000000000001, +76.00000000000001,76.00000000000001,76.00000000000001, +75.00000000000001,75.00000000000001,75.00000000000001, +73.99999999999999,73.99999999999999,73.99999999999999, +73.0,73.0,73.0, +72.0,72.0,72.0, +71.0,71.0,71.0, +70.0,70.0,70.0, +69.00000000000001,69.00000000000001,69.00000000000001, +68.00000000000001,68.00000000000001,68.00000000000001, +66.99999999999999,66.99999999999999,66.99999999999999, +65.99999999999999,65.99999999999999,65.99999999999999, +65.0,65.0,65.0, +64.0,64.0,64.0, +63.0,63.0,63.0, +62.00000000000001,62.00000000000001,62.00000000000001, +61.00000000000001,61.00000000000001,61.00000000000001, +60.000000000000014,60.000000000000014,60.000000000000014, +59.000000000000014,59.000000000000014,59.000000000000014, +57.99999999999999,57.99999999999999,57.99999999999999, +56.99999999999999,56.99999999999999,56.99999999999999, +56.0,56.0,56.0, +55.0,55.0,55.0, +54.00000000000001,54.00000000000001,54.00000000000001, +53.00000000000001,53.00000000000001,53.00000000000001, +52.000000000000014,52.000000000000014,52.000000000000014, +50.999999999999986,50.999999999999986,50.999999999999986, +49.99999999999999,49.99999999999999,49.99999999999999, +48.99999999999999,48.99999999999999,48.99999999999999, +48.0,48.0,48.0, +47.0,47.0,47.0, +46.00000000000001,46.00000000000001,46.00000000000001, +45.00000000000001,45.00000000000001,45.00000000000001, +44.000000000000014,44.000000000000014,44.000000000000014, +43.000000000000014,43.000000000000014,43.000000000000014, +41.99999999999999,41.99999999999999,41.99999999999999, +40.99999999999999,40.99999999999999,40.99999999999999, +40.0,40.0,40.0, +39.0,39.0,39.0, +38.00000000000001,38.00000000000001,38.00000000000001, +37.00000000000001,37.00000000000001,37.00000000000001, +36.000000000000014,36.000000000000014,36.000000000000014, +34.999999999999986,34.999999999999986,34.999999999999986, +33.99999999999999,33.99999999999999,33.99999999999999, +32.99999999999999,32.99999999999999,32.99999999999999, +32.0,32.0,32.0, +31.000000000000004,31.000000000000004,31.000000000000004, +30.000000000000007,30.000000000000007,30.000000000000007, +29.00000000000001,29.00000000000001,29.00000000000001, +28.000000000000014,28.000000000000014,28.000000000000014, +27.000000000000018,27.000000000000018,27.000000000000018, +25.999999999999993,25.999999999999993,25.999999999999993, +24.999999999999996,24.999999999999996,24.999999999999996, +24.0,24.0,24.0, +23.000000000000004,23.000000000000004,23.000000000000004, +22.000000000000007,22.000000000000007,22.000000000000007, +21.00000000000001,21.00000000000001,21.00000000000001, +20.000000000000014,20.000000000000014,20.000000000000014, +18.99999999999999,18.99999999999999,18.99999999999999, +17.999999999999993,17.999999999999993,17.999999999999993, +16.999999999999996,16.999999999999996,16.999999999999996, +16.0,16.0,16.0, +15.000000000000004,15.000000000000004,15.000000000000004, +14.000000000000007,14.000000000000007,14.000000000000007, +13.00000000000001,13.00000000000001,13.00000000000001, +12.000000000000014,12.000000000000014,12.000000000000014, +11.000000000000018,11.000000000000018,11.000000000000018, +9.999999999999993,9.999999999999993,9.999999999999993, +8.999999999999996,8.999999999999996,8.999999999999996, +8.0,8.0,8.0, +7.0000000000000036,7.0000000000000036,7.0000000000000036, +6.000000000000007,6.000000000000007,6.000000000000007, +5.000000000000011,5.000000000000011,5.000000000000011, +4.000000000000014,4.000000000000014,4.000000000000014, +2.9999999999999893,2.9999999999999893,2.9999999999999893, +1.999999999999993,1.999999999999993,1.999999999999993, +0.9999999999999964,0.9999999999999964,0.9999999999999964, +0.0,0.0,0.0, +} diff --git a/python/tests/reference/Colormap/binary.txt b/python/tests/reference/Colormap/binary.txt new file mode 100644 index 000000000..65e5e3d58 --- /dev/null +++ b/python/tests/reference/Colormap/binary.txt @@ -0,0 +1,258 @@ +# Creator: damask.Colormap 99.99.99-9999-pytest +R G B alpha +1.0 1.0 1.0 1.0 +0.996078431372549 0.996078431372549 0.996078431372549 1.0 +0.9921568627450981 0.9921568627450981 0.9921568627450981 1.0 +0.9882352941176471 0.9882352941176471 0.9882352941176471 1.0 +0.9843137254901961 0.9843137254901961 0.9843137254901961 1.0 +0.9803921568627451 0.9803921568627451 0.9803921568627451 1.0 +0.9764705882352941 0.9764705882352941 0.9764705882352941 1.0 +0.9725490196078431 0.9725490196078431 0.9725490196078431 1.0 +0.9686274509803922 0.9686274509803922 0.9686274509803922 1.0 +0.9647058823529412 0.9647058823529412 0.9647058823529412 1.0 +0.9607843137254902 0.9607843137254902 0.9607843137254902 1.0 +0.9568627450980393 0.9568627450980393 0.9568627450980393 1.0 +0.9529411764705882 0.9529411764705882 0.9529411764705882 1.0 +0.9490196078431372 0.9490196078431372 0.9490196078431372 1.0 +0.9450980392156862 0.9450980392156862 0.9450980392156862 1.0 +0.9411764705882353 0.9411764705882353 0.9411764705882353 1.0 +0.9372549019607843 0.9372549019607843 0.9372549019607843 1.0 +0.9333333333333333 0.9333333333333333 0.9333333333333333 1.0 +0.9294117647058824 0.9294117647058824 0.9294117647058824 1.0 +0.9254901960784314 0.9254901960784314 0.9254901960784314 1.0 +0.9215686274509804 0.9215686274509804 0.9215686274509804 1.0 +0.9176470588235294 0.9176470588235294 0.9176470588235294 1.0 +0.9137254901960784 0.9137254901960784 0.9137254901960784 1.0 +0.9098039215686274 0.9098039215686274 0.9098039215686274 1.0 +0.9058823529411765 0.9058823529411765 0.9058823529411765 1.0 +0.9019607843137255 0.9019607843137255 0.9019607843137255 1.0 +0.8980392156862745 0.8980392156862745 0.8980392156862745 1.0 +0.8941176470588236 0.8941176470588236 0.8941176470588236 1.0 +0.8901960784313725 0.8901960784313725 0.8901960784313725 1.0 +0.8862745098039215 0.8862745098039215 0.8862745098039215 1.0 +0.8823529411764706 0.8823529411764706 0.8823529411764706 1.0 +0.8784313725490196 0.8784313725490196 0.8784313725490196 1.0 +0.8745098039215686 0.8745098039215686 0.8745098039215686 1.0 +0.8705882352941177 0.8705882352941177 0.8705882352941177 1.0 +0.8666666666666667 0.8666666666666667 0.8666666666666667 1.0 +0.8627450980392157 0.8627450980392157 0.8627450980392157 1.0 +0.8588235294117648 0.8588235294117648 0.8588235294117648 1.0 +0.8549019607843138 0.8549019607843138 0.8549019607843138 1.0 +0.8509803921568627 0.8509803921568627 0.8509803921568627 1.0 +0.8470588235294118 0.8470588235294118 0.8470588235294118 1.0 +0.8431372549019608 0.8431372549019608 0.8431372549019608 1.0 +0.8392156862745098 0.8392156862745098 0.8392156862745098 1.0 +0.8352941176470589 0.8352941176470589 0.8352941176470589 1.0 +0.8313725490196078 0.8313725490196078 0.8313725490196078 1.0 +0.8274509803921568 0.8274509803921568 0.8274509803921568 1.0 +0.8235294117647058 0.8235294117647058 0.8235294117647058 1.0 +0.8196078431372549 0.8196078431372549 0.8196078431372549 1.0 +0.8156862745098039 0.8156862745098039 0.8156862745098039 1.0 +0.8117647058823529 0.8117647058823529 0.8117647058823529 1.0 +0.807843137254902 0.807843137254902 0.807843137254902 1.0 +0.803921568627451 0.803921568627451 0.803921568627451 1.0 +0.8 0.8 0.8 1.0 +0.7960784313725491 0.7960784313725491 0.7960784313725491 1.0 +0.7921568627450981 0.7921568627450981 0.7921568627450981 1.0 +0.788235294117647 0.788235294117647 0.788235294117647 1.0 +0.7843137254901961 0.7843137254901961 0.7843137254901961 1.0 +0.7803921568627451 0.7803921568627451 0.7803921568627451 1.0 +0.7764705882352941 0.7764705882352941 0.7764705882352941 1.0 +0.7725490196078432 0.7725490196078432 0.7725490196078432 1.0 +0.7686274509803921 0.7686274509803921 0.7686274509803921 1.0 +0.7647058823529411 0.7647058823529411 0.7647058823529411 1.0 +0.7607843137254902 0.7607843137254902 0.7607843137254902 1.0 +0.7568627450980392 0.7568627450980392 0.7568627450980392 1.0 +0.7529411764705882 0.7529411764705882 0.7529411764705882 1.0 +0.7490196078431373 0.7490196078431373 0.7490196078431373 1.0 +0.7450980392156863 0.7450980392156863 0.7450980392156863 1.0 +0.7411764705882353 0.7411764705882353 0.7411764705882353 1.0 +0.7372549019607844 0.7372549019607844 0.7372549019607844 1.0 +0.7333333333333334 0.7333333333333334 0.7333333333333334 1.0 +0.7294117647058824 0.7294117647058824 0.7294117647058824 1.0 +0.7254901960784313 0.7254901960784313 0.7254901960784313 1.0 +0.7215686274509804 0.7215686274509804 0.7215686274509804 1.0 +0.7176470588235294 0.7176470588235294 0.7176470588235294 1.0 +0.7137254901960784 0.7137254901960784 0.7137254901960784 1.0 +0.7098039215686275 0.7098039215686275 0.7098039215686275 1.0 +0.7058823529411764 0.7058823529411764 0.7058823529411764 1.0 +0.7019607843137254 0.7019607843137254 0.7019607843137254 1.0 +0.6980392156862745 0.6980392156862745 0.6980392156862745 1.0 +0.6941176470588235 0.6941176470588235 0.6941176470588235 1.0 +0.6901960784313725 0.6901960784313725 0.6901960784313725 1.0 +0.6862745098039216 0.6862745098039216 0.6862745098039216 1.0 +0.6823529411764706 0.6823529411764706 0.6823529411764706 1.0 +0.6784313725490196 0.6784313725490196 0.6784313725490196 1.0 +0.6745098039215687 0.6745098039215687 0.6745098039215687 1.0 +0.6705882352941177 0.6705882352941177 0.6705882352941177 1.0 +0.6666666666666667 0.6666666666666667 0.6666666666666667 1.0 +0.6627450980392157 0.6627450980392157 0.6627450980392157 1.0 +0.6588235294117647 0.6588235294117647 0.6588235294117647 1.0 +0.6549019607843137 0.6549019607843137 0.6549019607843137 1.0 +0.6509803921568628 0.6509803921568628 0.6509803921568628 1.0 +0.6470588235294118 0.6470588235294118 0.6470588235294118 1.0 +0.6431372549019607 0.6431372549019607 0.6431372549019607 1.0 +0.6392156862745098 0.6392156862745098 0.6392156862745098 1.0 +0.6352941176470588 0.6352941176470588 0.6352941176470588 1.0 +0.6313725490196078 0.6313725490196078 0.6313725490196078 1.0 +0.6274509803921569 0.6274509803921569 0.6274509803921569 1.0 +0.6235294117647059 0.6235294117647059 0.6235294117647059 1.0 +0.6196078431372549 0.6196078431372549 0.6196078431372549 1.0 +0.615686274509804 0.615686274509804 0.615686274509804 1.0 +0.611764705882353 0.611764705882353 0.611764705882353 1.0 +0.607843137254902 0.607843137254902 0.607843137254902 1.0 +0.603921568627451 0.603921568627451 0.603921568627451 1.0 +0.6 0.6 0.6 1.0 +0.596078431372549 0.596078431372549 0.596078431372549 1.0 +0.592156862745098 0.592156862745098 0.592156862745098 1.0 +0.5882352941176471 0.5882352941176471 0.5882352941176471 1.0 +0.5843137254901961 0.5843137254901961 0.5843137254901961 1.0 +0.580392156862745 0.580392156862745 0.580392156862745 1.0 +0.5764705882352941 0.5764705882352941 0.5764705882352941 1.0 +0.5725490196078431 0.5725490196078431 0.5725490196078431 1.0 +0.5686274509803921 0.5686274509803921 0.5686274509803921 1.0 +0.5647058823529412 0.5647058823529412 0.5647058823529412 1.0 +0.5607843137254902 0.5607843137254902 0.5607843137254902 1.0 +0.5568627450980392 0.5568627450980392 0.5568627450980392 1.0 +0.5529411764705883 0.5529411764705883 0.5529411764705883 1.0 +0.5490196078431373 0.5490196078431373 0.5490196078431373 1.0 +0.5450980392156863 0.5450980392156863 0.5450980392156863 1.0 +0.5411764705882354 0.5411764705882354 0.5411764705882354 1.0 +0.5372549019607843 0.5372549019607843 0.5372549019607843 1.0 +0.5333333333333333 0.5333333333333333 0.5333333333333333 1.0 +0.5294117647058824 0.5294117647058824 0.5294117647058824 1.0 +0.5254901960784314 0.5254901960784314 0.5254901960784314 1.0 +0.5215686274509804 0.5215686274509804 0.5215686274509804 1.0 +0.5176470588235293 0.5176470588235293 0.5176470588235293 1.0 +0.5137254901960784 0.5137254901960784 0.5137254901960784 1.0 +0.5098039215686274 0.5098039215686274 0.5098039215686274 1.0 +0.5058823529411764 0.5058823529411764 0.5058823529411764 1.0 +0.5019607843137255 0.5019607843137255 0.5019607843137255 1.0 +0.4980392156862745 0.4980392156862745 0.4980392156862745 1.0 +0.49411764705882355 0.49411764705882355 0.49411764705882355 1.0 +0.4901960784313726 0.4901960784313726 0.4901960784313726 1.0 +0.4862745098039216 0.4862745098039216 0.4862745098039216 1.0 +0.48235294117647065 0.48235294117647065 0.48235294117647065 1.0 +0.4784313725490196 0.4784313725490196 0.4784313725490196 1.0 +0.4745098039215686 0.4745098039215686 0.4745098039215686 1.0 +0.47058823529411764 0.47058823529411764 0.47058823529411764 1.0 +0.4666666666666667 0.4666666666666667 0.4666666666666667 1.0 +0.4627450980392157 0.4627450980392157 0.4627450980392157 1.0 +0.45882352941176474 0.45882352941176474 0.45882352941176474 1.0 +0.4549019607843138 0.4549019607843138 0.4549019607843138 1.0 +0.4509803921568627 0.4509803921568627 0.4509803921568627 1.0 +0.44705882352941173 0.44705882352941173 0.44705882352941173 1.0 +0.44313725490196076 0.44313725490196076 0.44313725490196076 1.0 +0.4392156862745098 0.4392156862745098 0.4392156862745098 1.0 +0.43529411764705883 0.43529411764705883 0.43529411764705883 1.0 +0.43137254901960786 0.43137254901960786 0.43137254901960786 1.0 +0.4274509803921569 0.4274509803921569 0.4274509803921569 1.0 +0.42352941176470593 0.42352941176470593 0.42352941176470593 1.0 +0.41960784313725497 0.41960784313725497 0.41960784313725497 1.0 +0.4156862745098039 0.4156862745098039 0.4156862745098039 1.0 +0.4117647058823529 0.4117647058823529 0.4117647058823529 1.0 +0.40784313725490196 0.40784313725490196 0.40784313725490196 1.0 +0.403921568627451 0.403921568627451 0.403921568627451 1.0 +0.4 0.4 0.4 1.0 +0.39607843137254906 0.39607843137254906 0.39607843137254906 1.0 +0.3921568627450981 0.3921568627450981 0.3921568627450981 1.0 +0.388235294117647 0.388235294117647 0.388235294117647 1.0 +0.38431372549019605 0.38431372549019605 0.38431372549019605 1.0 +0.3803921568627451 0.3803921568627451 0.3803921568627451 1.0 +0.3764705882352941 0.3764705882352941 0.3764705882352941 1.0 +0.37254901960784315 0.37254901960784315 0.37254901960784315 1.0 +0.3686274509803922 0.3686274509803922 0.3686274509803922 1.0 +0.3647058823529412 0.3647058823529412 0.3647058823529412 1.0 +0.36078431372549025 0.36078431372549025 0.36078431372549025 1.0 +0.3568627450980393 0.3568627450980393 0.3568627450980393 1.0 +0.3529411764705882 0.3529411764705882 0.3529411764705882 1.0 +0.34901960784313724 0.34901960784313724 0.34901960784313724 1.0 +0.34509803921568627 0.34509803921568627 0.34509803921568627 1.0 +0.3411764705882353 0.3411764705882353 0.3411764705882353 1.0 +0.33725490196078434 0.33725490196078434 0.33725490196078434 1.0 +0.33333333333333337 0.33333333333333337 0.33333333333333337 1.0 +0.3294117647058824 0.3294117647058824 0.3294117647058824 1.0 +0.3254901960784313 0.3254901960784313 0.3254901960784313 1.0 +0.32156862745098036 0.32156862745098036 0.32156862745098036 1.0 +0.3176470588235294 0.3176470588235294 0.3176470588235294 1.0 +0.3137254901960784 0.3137254901960784 0.3137254901960784 1.0 +0.30980392156862746 0.30980392156862746 0.30980392156862746 1.0 +0.3058823529411765 0.3058823529411765 0.3058823529411765 1.0 +0.3019607843137255 0.3019607843137255 0.3019607843137255 1.0 +0.29803921568627456 0.29803921568627456 0.29803921568627456 1.0 +0.2941176470588236 0.2941176470588236 0.2941176470588236 1.0 +0.2901960784313725 0.2901960784313725 0.2901960784313725 1.0 +0.28627450980392155 0.28627450980392155 0.28627450980392155 1.0 +0.2823529411764706 0.2823529411764706 0.2823529411764706 1.0 +0.2784313725490196 0.2784313725490196 0.2784313725490196 1.0 +0.27450980392156865 0.27450980392156865 0.27450980392156865 1.0 +0.2705882352941177 0.2705882352941177 0.2705882352941177 1.0 +0.2666666666666667 0.2666666666666667 0.2666666666666667 1.0 +0.26274509803921564 0.26274509803921564 0.26274509803921564 1.0 +0.2588235294117647 0.2588235294117647 0.2588235294117647 1.0 +0.2549019607843137 0.2549019607843137 0.2549019607843137 1.0 +0.25098039215686274 0.25098039215686274 0.25098039215686274 1.0 +0.24705882352941178 0.24705882352941178 0.24705882352941178 1.0 +0.2431372549019608 0.2431372549019608 0.2431372549019608 1.0 +0.23921568627450984 0.23921568627450984 0.23921568627450984 1.0 +0.23529411764705888 0.23529411764705888 0.23529411764705888 1.0 +0.2313725490196079 0.2313725490196079 0.2313725490196079 1.0 +0.22745098039215683 0.22745098039215683 0.22745098039215683 1.0 +0.22352941176470587 0.22352941176470587 0.22352941176470587 1.0 +0.2196078431372549 0.2196078431372549 0.2196078431372549 1.0 +0.21568627450980393 0.21568627450980393 0.21568627450980393 1.0 +0.21176470588235297 0.21176470588235297 0.21176470588235297 1.0 +0.207843137254902 0.207843137254902 0.207843137254902 1.0 +0.20392156862745103 0.20392156862745103 0.20392156862745103 1.0 +0.19999999999999996 0.19999999999999996 0.19999999999999996 1.0 +0.196078431372549 0.196078431372549 0.196078431372549 1.0 +0.19215686274509802 0.19215686274509802 0.19215686274509802 1.0 +0.18823529411764706 0.18823529411764706 0.18823529411764706 1.0 +0.1843137254901961 0.1843137254901961 0.1843137254901961 1.0 +0.18039215686274512 0.18039215686274512 0.18039215686274512 1.0 +0.17647058823529416 0.17647058823529416 0.17647058823529416 1.0 +0.1725490196078432 0.1725490196078432 0.1725490196078432 1.0 +0.16862745098039222 0.16862745098039222 0.16862745098039222 1.0 +0.16470588235294115 0.16470588235294115 0.16470588235294115 1.0 +0.16078431372549018 0.16078431372549018 0.16078431372549018 1.0 +0.1568627450980392 0.1568627450980392 0.1568627450980392 1.0 +0.15294117647058825 0.15294117647058825 0.15294117647058825 1.0 +0.14901960784313728 0.14901960784313728 0.14901960784313728 1.0 +0.14509803921568631 0.14509803921568631 0.14509803921568631 1.0 +0.14117647058823535 0.14117647058823535 0.14117647058823535 1.0 +0.13725490196078427 0.13725490196078427 0.13725490196078427 1.0 +0.1333333333333333 0.1333333333333333 0.1333333333333333 1.0 +0.12941176470588234 0.12941176470588234 0.12941176470588234 1.0 +0.12549019607843137 0.12549019607843137 0.12549019607843137 1.0 +0.1215686274509804 0.1215686274509804 0.1215686274509804 1.0 +0.11764705882352944 0.11764705882352944 0.11764705882352944 1.0 +0.11372549019607847 0.11372549019607847 0.11372549019607847 1.0 +0.1098039215686275 0.1098039215686275 0.1098039215686275 1.0 +0.10588235294117654 0.10588235294117654 0.10588235294117654 1.0 +0.10196078431372546 0.10196078431372546 0.10196078431372546 1.0 +0.0980392156862745 0.0980392156862745 0.0980392156862745 1.0 +0.09411764705882353 0.09411764705882353 0.09411764705882353 1.0 +0.09019607843137256 0.09019607843137256 0.09019607843137256 1.0 +0.0862745098039216 0.0862745098039216 0.0862745098039216 1.0 +0.08235294117647063 0.08235294117647063 0.08235294117647063 1.0 +0.07843137254901966 0.07843137254901966 0.07843137254901966 1.0 +0.07450980392156858 0.07450980392156858 0.07450980392156858 1.0 +0.07058823529411762 0.07058823529411762 0.07058823529411762 1.0 +0.06666666666666665 0.06666666666666665 0.06666666666666665 1.0 +0.06274509803921569 0.06274509803921569 0.06274509803921569 1.0 +0.05882352941176472 0.05882352941176472 0.05882352941176472 1.0 +0.05490196078431375 0.05490196078431375 0.05490196078431375 1.0 +0.050980392156862786 0.050980392156862786 0.050980392156862786 1.0 +0.04705882352941182 0.04705882352941182 0.04705882352941182 1.0 +0.04313725490196085 0.04313725490196085 0.04313725490196085 1.0 +0.039215686274509776 0.039215686274509776 0.039215686274509776 1.0 +0.03529411764705881 0.03529411764705881 0.03529411764705881 1.0 +0.03137254901960784 0.03137254901960784 0.03137254901960784 1.0 +0.027450980392156876 0.027450980392156876 0.027450980392156876 1.0 +0.02352941176470591 0.02352941176470591 0.02352941176470591 1.0 +0.019607843137254943 0.019607843137254943 0.019607843137254943 1.0 +0.015686274509803977 0.015686274509803977 0.015686274509803977 1.0 +0.0117647058823529 0.0117647058823529 0.0117647058823529 1.0 +0.007843137254901933 0.007843137254901933 0.007843137254901933 1.0 +0.0039215686274509665 0.0039215686274509665 0.0039215686274509665 1.0 +0.0 0.0 0.0 1.0 diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index f124c704e..b95d23a86 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -1,10 +1,18 @@ import os +import filecmp +import time import numpy as np import pytest +import damask from damask import Colormap +@pytest.fixture +def reference_dir(reference_dir_base): + """Directory containing reference results.""" + return reference_dir_base/'Colormap' + class TestColormap: def test_conversion(self): @@ -64,14 +72,14 @@ class TestColormap: assert np.allclose(Colormap._xyz2msh(xyz),msh,atol=1.e-6,rtol=0) - @pytest.mark.parametrize('format',['ASCII','paraview','GOM','gmsh']) + @pytest.mark.parametrize('format',['ASCII','paraview','GOM','Gmsh']) @pytest.mark.parametrize('model',['rgb','hsv','hsl','xyz','lab','msh']) def test_from_bounds(self,model,format,tmpdir): N = np.random.randint(2,256) c = Colormap.from_bounds(np.random.rand(3),np.random.rand(3),model=model,N=N) c.to_file(tmpdir/'color_out',format=format) - @pytest.mark.parametrize('format',['ASCII','paraview','GOM','gmsh']) + @pytest.mark.parametrize('format',['ASCII','paraview','GOM','Gmsh']) @pytest.mark.parametrize('name',['strain','gnuplot','Greys','PRGn','viridis']) def test_from_predefined(self,name,format,tmpdir): N = np.random.randint(2,256) @@ -82,7 +90,7 @@ class TestColormap: @pytest.mark.parametrize('format,name',[('ASCII','test.txt'), ('paraview','test.json'), ('GOM','test.legend'), - ('gmsh','test.msh') + ('Gmsh','test.msh') ]) def test_write_filehandle(self,format,name,tmpdir): c = Colormap.from_predefined('Dark2') @@ -113,4 +121,21 @@ class TestColormap: def test_list(self): Colormap.list_predefined() + @pytest.mark.parametrize('format,ext',[('ASCII','.txt'), + ('paraview','.json'), + ('GOM','.legend'), + ('Gmsh','.msh') + ]) + def test_compare_reference(self,format,ext,tmpdir,reference_dir,update,monkeypatch): + monkeypatch.setattr(damask, 'version', '99.99.99-9999-pytest') + name = 'binary' + c = Colormap.from_predefined(name) + if update: + os.chdir(reference_dir) + c.to_file(format=format) + else: + os.chdir(tmpdir) + c.to_file(format=format) + time.sleep(.5) + assert filecmp.cmp(tmpdir/(name+ext),reference_dir/(name+ext)) From b3f5ee022ace521fde51c1e35104dfafcd10402c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 28 Jun 2020 11:40:19 +0200 Subject: [PATCH 286/958] unified style --- python/damask/_colormap.py | 6 +++--- python/damask/_result.py | 4 ++-- python/damask/_vtk.py | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index d3ed4b12e..f354af0a3 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -7,7 +7,7 @@ import matplotlib.pyplot as plt from matplotlib import cm import damask -from damask import Table +from . import Table _eps = 216./24389. _kappa = 24389./27. @@ -209,7 +209,7 @@ class Colormap(mpl.colors.ListedColormap): colors+=[i]+c out = [{ - 'Creator':f'damask.Colormap {damask.version}', + 'Creator':f'damask.Colormap v{damask.version}', 'ColorSpace':'RGB', 'Name':colormap.name, 'DefaultMap':True, @@ -226,7 +226,7 @@ class Colormap(mpl.colors.ListedColormap): """Write colormap to ASCII table.""" labels = {'R':(1,),'G':(1,),'B':(1,)} if colormap.colors.shape[1] == 4: labels['alpha']=(1,) - t = Table(colormap.colors,labels,f'Creator: damask.Colormap {damask.version}') + t = Table(colormap.colors,labels,f'Creator: damask.Colormap v{damask.version}') if fhandle is None: with open(colormap.name.replace(' ','_')+'.txt', 'w') as f: diff --git a/python/damask/_result.py b/python/damask/_result.py index 354c1c3f7..472355ae2 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -12,6 +12,7 @@ from functools import partial import h5py import numpy as np +import damask from . import VTK from . import Table from . import Rotation @@ -20,7 +21,6 @@ from . import Environment from . import grid_filters from . import mechanics from . import util -from . import version class Result: @@ -1090,7 +1090,7 @@ class Result: for l,v in result[1]['meta'].items(): dataset.attrs[l]=v.encode() - creator = f"damask.Result.{dataset.attrs['Creator'].decode()} v{version}" + creator = f"damask.Result.{dataset.attrs['Creator'].decode()} v{damask.version}" dataset.attrs['Creator'] = creator.encode() except (OSError,RuntimeError) as err: diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index f4855820e..0b9fde387 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -6,9 +6,9 @@ import vtk from vtk.util.numpy_support import numpy_to_vtk as np_to_vtk from vtk.util.numpy_support import numpy_to_vtkIdTypeArray as np_to_vtkIdTypeArray +import damask from . import Table from . import Environment -from . import version class VTK: @@ -214,7 +214,7 @@ class VTK: def __repr__(self): """ASCII representation of the VTK data.""" writer = vtk.vtkDataSetWriter() - writer.SetHeader(f'# DAMASK.VTK v{version}') + writer.SetHeader(f'# damask.VTK v{damask.version}') writer.WriteToOutputStringOn() writer.SetInputData(self.geom) writer.Write() From 1cfa6d44d9fb2332de356a32b05b1b9e9a7580d1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 28 Jun 2020 11:50:28 +0200 Subject: [PATCH 287/958] dummy version could be useful for other tests note that monkey patching requires direct access to damask.version in the respective modules. 'from xx import yy' creates a copy (at least for the version string). --- python/tests/conftest.py | 5 +++++ python/tests/test_Colormap.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/python/tests/conftest.py b/python/tests/conftest.py index 411c07a8c..a7bc59f98 100644 --- a/python/tests/conftest.py +++ b/python/tests/conftest.py @@ -2,6 +2,11 @@ import os import pytest +# Use to monkeypatch damask.version (for comparsion to reference files that contain version information) +def pytest_configure(): + pytest.dummy_version = '99.99.99-9999-pytest' + + def pytest_addoption(parser): parser.addoption("--update", action="store_true", diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index b95d23a86..8d3d51018 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -127,7 +127,7 @@ class TestColormap: ('Gmsh','.msh') ]) def test_compare_reference(self,format,ext,tmpdir,reference_dir,update,monkeypatch): - monkeypatch.setattr(damask, 'version', '99.99.99-9999-pytest') + monkeypatch.setattr(damask, 'version', pytest.dummy_version) name = 'binary' c = Colormap.from_predefined(name) if update: From db90eb277c9b7d139a1b91774119e2a136d90fe0 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Sun, 28 Jun 2020 13:41:52 +0200 Subject: [PATCH 288/958] [skip ci] test repo cleaned --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index a33c199e9..77e93dc7e 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit a33c199e94fc618d5ff6237acef751175d813cac +Subproject commit 77e93dc7e0c000e47bed9688c1cb01b03fe89620 From c33c5a18a8ce937dd333844c2854b80f5760e2dd Mon Sep 17 00:00:00 2001 From: Test User Date: Sun, 28 Jun 2020 18:52:17 +0200 Subject: [PATCH 289/958] [skip ci] updated version information after successful test of v2.0.3-2717-g52aacf37 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 37cc46317..be876f016 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2710-gebaae151 +v2.0.3-2717-g52aacf37 From 352c4e95f1a8ce6cb6321aa10a324613e80544f9 Mon Sep 17 00:00:00 2001 From: "f.basile" Date: Sun, 28 Jun 2020 19:03:06 +0200 Subject: [PATCH 290/958] more vectorized --- python/damask/_orientation.py | 62 ++++++++++++++------------ python/tests/test_ori_vec.py | 83 +++++++++++++++++++++++++---------- 2 files changed, 95 insertions(+), 50 deletions(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 0e7b68954..e36713ee9 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -77,27 +77,19 @@ class Orientation: # ToDo: make subclass of lattice and Rotation # self-->other: True, self<--other: False def inFZ_vec(self): - """ - Check if orientations falls into Fundamental Zone. - - self.rotation.as_Rodrigues() working fine - self.rotation.as_Rodrigues(vector=True) doesn't work for several rotations - i apply dirty fix - - """ + """Check if orientations fall into Fundamental Zone.""" if not self.rotation.shape: return self.lattice.symmetry.inFZ(self.rotation.as_Rodrigues(vector=True)) else: return [self.lattice.symmetry.inFZ(\ - Rotation._qu2ro(self.rotation.as_quaternion())[l][...,:3]\ - *Rotation._qu2ro(self.rotation.as_quaternion())[l][...,3])\ - for l in range(self.rotation.shape[0])] + self.rotation.as_Rodrigues(vector=True)[l]) for l in range(self.rotation.shape[0])] + def inFZ(self): return self.lattice.symmetry.inFZ(self.rotation.as_Rodrigues(vector=True)) @property - def equivalent(self): + def equivalent_vec(self): """ Return orientations which are symmetrically equivalent. @@ -105,12 +97,12 @@ class Orientation: # ToDo: make subclass of lattice and Rotation is added to the left of the rotation array. """ - s = self.lattice.symmetry.symmetry_operations - s = s.reshape(s.shape[:1]+(1,)*len(self.rotation.shape)+(4,)) + s = self.lattice.symmetry.symmetry_operations #24 lines (sym) x 4 columns (quat) + s = s.reshape(s.shape[:1]+(1,)*len(self.rotation.shape)+(4,)) #reshape zo (24,1,4) s = Rotation(np.broadcast_to(s,s.shape[:1]+self.rotation.quaternion.shape)) - r = np.broadcast_to(self.rotation.quaternion,s.shape[:1]+self.rotation.quaternion.shape) - r = Rotation(r) + r = np.broadcast_to(self.rotation.quaternion,s.shape[:1]+self.rotation.quaternion.shape) #(24,NumRots,4) + r = Rotation(r) #(24, NumRot) return self.__class__(s@r,self.lattice) @@ -127,14 +119,17 @@ class Orientation: # ToDo: make subclass of lattice and Rotation def relatedOrientations_vec(self,model): """List of orientations related by the given orientation relationship.""" - r = self.lattice.relationOperations(model) - if not self.rotation.shape: - return [self.__class__(o*self.rotation,r['lattice']) for o in r['rotations']] - else: - return np.reshape(\ - [self.__class__(o*Rotation.from_quaternion(self.rotation.as_quaternion()[l])\ - ,r['lattice']) for o in r['rotations'] for l in range(self.rotation.shape[0])] - ,(len(r['rotations']),self.rotation.shape[0])) + h = self.lattice.relationOperations(model) + rot= h['rotations'] + op=np.array([o.as_quaternion() for o in rot]) + + s = op.reshape(op.shape[:1]+(1,)*len(self.rotation.shape)+(4,)) + s = Rotation(np.broadcast_to(s,s.shape[:1]+self.rotation.quaternion.shape)) + + r = np.broadcast_to(self.rotation.quaternion,s.shape[:1]+self.rotation.quaternion.shape) + r = Rotation(r) + + return self.__class__(s@r,h['lattice']) def relatedOrientations(self,model): @@ -142,6 +137,19 @@ class Orientation: # ToDo: make subclass of lattice and Rotation r = self.lattice.relationOperations(model) return [self.__class__(o*self.rotation,r['lattice']) for o in r['rotations']] + @property + def reduced_vec(self): + """Transform orientation to fall into fundamental zone according to symmetry.""" + equi=self.equivalent_vec.rotation #24 x rot x 3(rodrigues vector) + r= 1 if not self.rotation.shape else equi.shape[1] #number of rotations + quat=np.empty( [r , 4]) + for rot in range(r): + for sym in range(equi.shape[0]): + if self.lattice.symmetry.inFZ(equi.as_Rodrigues(vector=True)[sym,rot]) == True: + quat[rot]=equi.as_quaternion()[sym,rot] + return self.__class__(quat,self.lattice) + + def reduced(self): """Transform orientation to fall into fundamental zone according to symmetry.""" @@ -178,9 +186,9 @@ class Orientation: # ToDo: make subclass of lattice and Rotation return color - def IPF_color(self,axis): - """TSL color of inverse pole figure for given axis.""" - eq = self.equivalent + def IPFcolor_vec(self,axis): + """TSL color of inverse pole figure for given axis. Not for hex or triclinic lattices""" + eq = self.equivalent_vec pole = eq.rotation @ np.broadcast_to(axis/np.linalg.norm(axis),eq.rotation.shape+(3,)) in_SST, color = self.lattice.symmetry.in_SST(pole,color=True) diff --git a/python/tests/test_ori_vec.py b/python/tests/test_ori_vec.py index a13ad3a03..daae6c197 100644 --- a/python/tests/test_ori_vec.py +++ b/python/tests/test_ori_vec.py @@ -5,32 +5,36 @@ from damask import Rotation from damask import Orientation from damask import Lattice -rot0= Rotation.from_random() -rot1= Rotation.from_random() -rot2= Rotation.from_random() -rot3= Rotation.from_random() +rot0= Rotation.from_random() ; +rot1= Rotation.from_random() ; +rot2= Rotation.from_random() ; +rot3= Rotation.from_random() ; + +#disorientation + +#fromaverage +#average class TestOrientation_vec: - @pytest.mark.xfail + #@pytest.mark.xfail @pytest.mark.parametrize('lattice',Lattice.lattices) - def test_equivalentOrientations_vec(self,lattice): + def test_equivalent_vec(self,lattice): ori0=Orientation(rot0,lattice) ori1=Orientation(rot1,lattice) ori2=Orientation(rot2,lattice) ori3=Orientation(rot3,lattice) quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),rot2.as_quaternion(),rot3.as_quaternion()]) - rot_vec=Rotation.from_quaternion(quat) - ori_vec=Orientation(rot_vec,lattice) + ori_vec=Orientation(quat,lattice) for s in range(len(ori_vec.lattice.symmetry.symmetryOperations())): - assert all(ori_vec.equivalent_vec()[s,0].rotation.as_Eulers() == \ + assert all(ori_vec.equivalent_vec.rotation.as_Eulers()[s,0] == \ ori0.equivalentOrientations()[s].rotation.as_Eulers()) - assert all(ori_vec.equivalent_vec()[s,1].rotation.as_quaternion() == \ + assert all(ori_vec.equivalent_vec.rotation.as_quaternion()[s,1] == \ ori1.equivalentOrientations()[s].rotation.as_quaternion()) - assert all(ori_vec.equivalent_vec()[s,2].rotation.as_Rodrigues() == \ + assert all(ori_vec.equivalent_vec.rotation.as_Rodrigues()[s,2] == \ ori2.equivalentOrientations()[s].rotation.as_Rodrigues()) - assert all(ori_vec.equivalent_vec()[s,3].rotation.as_cubochoric() == \ + assert all(ori_vec.equivalent_vec.rotation.as_cubochoric()[s,3] == \ ori3.equivalentOrientations()[s].rotation.as_cubochoric()) @pytest.mark.parametrize('lattice',Lattice.lattices) @@ -39,14 +43,11 @@ class TestOrientation_vec: ori1=Orientation(rot1,lattice) ori2=Orientation(rot2,lattice) ori3=Orientation(rot3,lattice) - #ensure 1 of them is in FZ - ori4=ori0.reduced() - rot4=ori4.rotation + ori4=ori0.reduced() ; rot4=ori4.rotation #ensure 1 of them is in FZ quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),\ rot2.as_quaternion(),rot3.as_quaternion(), rot4.as_quaternion()]) - rot_vec=Rotation.from_quaternion(quat) - ori_vec=Orientation(rot_vec,lattice) + ori_vec=Orientation(quat,lattice) assert ori_vec.inFZ_vec()[0] == ori0.inFZ() assert ori_vec.inFZ_vec()[1] == ori1.inFZ() @@ -64,16 +65,52 @@ class TestOrientation_vec: ori3=Orientation(rot3,lattice) quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),rot2.as_quaternion(),rot3.as_quaternion()]) - rot_vec=Rotation.from_quaternion(quat) - ori_vec=Orientation(rot_vec,lattice) + ori_vec=Orientation(quat,lattice) + for s in range(len(ori1.lattice.relationOperations(model)['rotations'])): - assert all(ori_vec.relatedOrientations_vec(model)[s,0].rotation.as_Eulers() == \ + assert all(ori_vec.relatedOrientations_vec(model).rotation.as_Eulers()[s,0] == \ ori0.relatedOrientations(model)[s].rotation.as_Eulers()) - assert all(ori_vec.relatedOrientations_vec(model)[s,1].rotation.as_quaternion() == \ + assert all(ori_vec.relatedOrientations_vec(model).rotation.as_quaternion()[s,1] == \ ori1.relatedOrientations(model)[s].rotation.as_quaternion()) - assert all(ori_vec.relatedOrientations_vec(model)[s,2].rotation.as_Rodrigues() == \ + assert all(ori_vec.relatedOrientations_vec(model).rotation.as_Rodrigues()[s,2] == \ ori2.relatedOrientations(model)[s].rotation.as_Rodrigues()) - assert all(ori_vec.relatedOrientations_vec(model)[s,3].rotation.as_cubochoric() == \ + assert all(ori_vec.relatedOrientations_vec(model).rotation.as_cubochoric()[s,3] == \ ori3.relatedOrientations(model)[s].rotation.as_cubochoric()) + @pytest.mark.parametrize('lattice',Lattice.lattices) + def test_reduced_vec(self,lattice): + ori0=Orientation(rot0,lattice) + ori1=Orientation(rot1,lattice) + ori2=Orientation(rot2,lattice) + ori3=Orientation(rot3,lattice) + #ensure 1 of them is in FZ + ori4=ori0.reduced() + rot4=ori4.rotation + + quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),\ + rot2.as_quaternion(),rot3.as_quaternion(), rot4.as_quaternion()]) + ori_vec=Orientation(quat,lattice) + + assert all(ori_vec.reduced_vec.rotation.as_Eulers()[0] == ori0.reduced().rotation.as_Eulers() ) + assert all(ori_vec.reduced_vec.rotation.as_quaternion()[1] == ori1.reduced().rotation.as_quaternion() ) + assert all(ori_vec.reduced_vec.rotation.as_Rodrigues()[2] == ori2.reduced().rotation.as_Rodrigues() ) + assert all(ori_vec.reduced_vec.rotation.as_cubochoric()[3] == ori3.reduced().rotation.as_cubochoric() ) + assert all(ori_vec.reduced_vec.rotation.as_axis_angle()[4] == ori4.reduced().rotation.as_axis_angle() ) + + + @pytest.mark.parametrize('lattice',['bcc','fcc','bct']) + def test_IPFcolor_vec(self,lattice): + ori0=Orientation(rot0,lattice) + ori1=Orientation(rot1,lattice) + ori2=Orientation(rot2,lattice) + ori3=Orientation(rot3,lattice) + + quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),\ + rot2.as_quaternion(),rot3.as_quaternion()]) + ori_vec=Orientation(quat,lattice) + + assert np.allclose( ori_vec.IPFcolor_vec(np.array([0,0,1]))[0],ori0.IPFcolor(np.array([0,0,1]))) + assert np.allclose( ori_vec.IPFcolor_vec(np.array([0,2,1]))[1],ori1.IPFcolor(np.array([0,2,1]))) + assert np.allclose( ori_vec.IPFcolor_vec(np.array([0,3,1]))[2],ori2.IPFcolor(np.array([0,3,1]))) + assert np.allclose( ori_vec.IPFcolor_vec(np.array([4,0,1]))[3],ori3.IPFcolor(np.array([4,0,1]))) From 8484d2e6ccb0a6f85fbb1049010d66f8025f21d2 Mon Sep 17 00:00:00 2001 From: "f.basile" Date: Sun, 28 Jun 2020 19:05:10 +0200 Subject: [PATCH 291/958] fix github stuff --- python/damask/_orientation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index e36713ee9..c0952c5fd 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -145,7 +145,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation quat=np.empty( [r , 4]) for rot in range(r): for sym in range(equi.shape[0]): - if self.lattice.symmetry.inFZ(equi.as_Rodrigues(vector=True)[sym,rot]) == True: + if self.lattice.symmetry.inFZ(equi.as_Rodrigues(vector=True)[sym,rot]) is True: quat[rot]=equi.as_quaternion()[sym,rot] return self.__class__(quat,self.lattice) @@ -187,7 +187,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation def IPFcolor_vec(self,axis): - """TSL color of inverse pole figure for given axis. Not for hex or triclinic lattices""" + """TSL color of inverse pole figure for given axis. Not for hex or triclinic lattices.""" eq = self.equivalent_vec pole = eq.rotation @ np.broadcast_to(axis/np.linalg.norm(axis),eq.rotation.shape+(3,)) in_SST, color = self.lattice.symmetry.in_SST(pole,color=True) From c7eb56a63d10ff11d7f9621fa0cb028e2fafe70c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 28 Jun 2020 19:25:58 +0200 Subject: [PATCH 292/958] single precision reference files --- python/tests/reference/VTK/polyData.vtp | 6 +++--- python/tests/reference/VTK/rectilinearGrid.vtr | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/python/tests/reference/VTK/polyData.vtp b/python/tests/reference/VTK/polyData.vtp index e93e90f58..6ed05f67f 100644 --- a/python/tests/reference/VTK/polyData.vtp +++ b/python/tests/reference/VTK/polyData.vtp @@ -3,11 +3,11 @@ - - AQAAAACAAADwAAAAagAAAA==eF5jYMAGPuyXOV4IRHvsIfQZe8u+xxZ9j1/sh/Eh9B37IjDj4f5QMLhqD6Gf2odB+Pth6iD0G3sFiLn7ofqg+j/CxOH6IfRX+xCouRYQ+6H0D/sCqH6YuRD6D1wd1B9QmsEBxgcAJsNfhw== + + AQAAAACAAAB4AAAAVgAAAA==eF5jYICBhv2WfY9tLfuS7Ypk3PeDaCDf7okF3/7Vq1bZrV6lZQ+k94HEgHL2QHovUM7+iUUfiG0LlQdhkH77Ipnj9iB5qFp7kBjQDiBmcADRANsaLXM= - 0.7453559925 + 0.74535601471 2.4494897428 diff --git a/python/tests/reference/VTK/rectilinearGrid.vtr b/python/tests/reference/VTK/rectilinearGrid.vtr index 3e965bd2e..8d39f6e16 100644 --- a/python/tests/reference/VTK/rectilinearGrid.vtr +++ b/python/tests/reference/VTK/rectilinearGrid.vtr @@ -3,27 +3,27 @@ - - AQAAAACAAACAHwAAywMAAA==eF51mTGKVUEQRX88izByB8byY0MDlyG4CTfgFswMDWQigw8/Ejr40E7woGkYXqLJW4LDb8qmz71VDDjvWMGhijvd0KeTr8dXn/++f/x59rwIf3j6+untw1PS34S/udez8KgP97r+///w8bwIDx/f34SHD3nU4DXxIS/CVx/2N+GrTxWfUV18PC/C132xvwlf9zV51PDck/mQF+HrfNjfhK/z2cXn273+iI/nRXj4+P4mPHzI1zqSfZEX4eu+2N+Er/uanPXl9buXn+9n5n3lRTjzvvY34cx78Pgee7ye6eN5Ec6804ecefc+NfEhL8KZd+9TE58qPqO6+HhehDPv9CFn3v189mQ+5EU48+7ns4sPefhE7ujjeRHOvNOHnHmnz6gj2Rd5Ec6804ecefc+kbtLkvcLfCb3eb/AZ3Kf90uS9+njOfN+SfI+fch93ulTEx9y5p0+7Gfe6VPFZ1QXH8+Zd+6L/cw799XFZ3ju4uM58875sJ9553x28VlzN308Z94vSd6nD7nPO/d1iI/nzDv3xX7mnfs6Ep/Tafvx8eXnl+R95UU48772N+HMe/D4Hnu8nunjeRHOvNOHnHn3PjXxIS/CmXfvUxOfKj6juvh4XoQz7/QhZ979fPZkPuRFOPPu57OLD3n4RO7o43kRzrzTh5x5p8+oI9kXeRHOvNOHnHn3PnHO3iTvK+f5fkvO9xt8Jmfeg8f32GOcs9PHc57vN8k7fciZd+9TEx9ynu/0YT/Pd/pU8RnVxcdznu/cF/t5vnNfXXyG5y4+nvN853zYz/Od89nFZz1np4/nPN9vknf6kDPv9Bl1iI/nPN+5L/bzfOe+jsTndLr/Gdh+S95XXoQz72t/E868B4/vscfrmT6eF+HMO33ImXfvUxMf8iKcefc+NfGp4jOqi4/nRTjzTh9y5t3PZ0/mQ16EM+9+Prv4kIdP5I4+nhfhzDt9yJl3+ow6kn2RF+HMO33ImXfvE/fqTfK+ct7nt+Q+v8FncuY9eHyPPca9evp4zvv8JnmnDznz7n1q4kPO+zx92M/7PH2q+Izq4uM57/PcF/t5n+e+uvgMz118POd9nvNhP+/znM8uPpE7+njO+/wmeacPOfNOn1GH+HjO+zz3xX7e57mvI/GJ6pL3lfM9rkve1/4mnHkPHr+NPca72PTxnO9xXfK+9jfhzLv3qYkPOd/j6MP+Jpx5p8/6zX2R8z2O+2J/E868r//yPY7zIed7HOfD/iaceadP5I4+nvM9rkve6UPOvNNn1CE+nvM9jvtifxPOvAf/B5cwXsg= + + AQAAAACAAADADwAAFQMAAA==eF5Vl7GtFEEQBTeG8wgAhxxux8bEOIsYwDu/M0A6D0JofMAmjU0BF5+d7anXjzP+L6NV4l3pj8S29efL77/35ucO//nwS3zeiL99fTM2+3zPd/u6uTc/d3h67EY8PXB50jxpnjRPmifNk/Kcn4Gn+do18NiNeO3StvPfJk/ztUseuxGvXfI8Hg95mp87PD12I54euD5hu0IeuHbpRly74r9mb9+/7nQvru6T6b5uxHSfPH/PdniaqzseuxHTvT1pnjRPmifNk+ZJec7PsF3Ddg3bxY2Y7rZLnubqbrvkgemOZ7bD01zd8diNmO69K2xXyAPTvXeF7QrzzHa3vbtPpvtt7+7Xjbi73/b1/ex4muleHrsRd3c8aZ40T5onzZPmSXm2q512Dds1bBc34u6uXfI001275IG7e3mqXXma6V4euxF3d3aF7Qp54O7OrrBdYZ5t+/npo7oXV/fJdF83YrpPXt/Pjqe5uuOxGzHd25PmSfOkedI8aZ6U5/wM2zVs17Bd3Ijpbrvkaa7utksemO54Zjs8zdUdj92I6d67wnaFPDDde1fYrjDP9Vare7Heeft7f6n7ZHvn7e/9pe54YHvn1R0PXJ40T5onzZPmSfOkPFu91epuu4bt4kZs77z9vWuXPLC98+puu+RZb7W644HtnVd3PHDNCtsV8sD2zqt77wrzbNvn44e6F1f3yXRfN2K6T17fz46nubrjsRsx3duT5knzpHnSPGmelOf8DNs1bNewXdyI6W675Gmu7rZLHpjueGY7PM3VHY/diOneu8J2hTww3XtX2K4wz3yrD3Uv5p0/7J0/1H1yv/OHuuNp5p0/7J0/1B0PXJ40T5onzZPmSfOkPNv1VmvXsF3DdnEj7ndeu+Rp5p3XLnngfucPdcfTzDt/2Dt/qDseuGaF7Qp54H7n2RW2K8xT3xHdi5/67ui+bsR0nzx/zHZ4mqs7HrsR0709aZ40T5onzZPmSXnWb3YNPDDd8cB0t13yNFd32yUPTHc8sx2eZv0/btAdD0z33hW2K+SB6d67wnYV/wMyiXC6 0 - 1.268857754 + 1.2688577653 - - AQAAAACAAACwEwAAZQIAAA==eF511r2KFEEYRmHjjY2N9Ao0lQ79yQy8jBVjc29gL0Ezhc1maDBfU0FB3NVgNyqQuged1leZ56sqBpo5HRx4+wS13nn989l6vjzfzm45u/vk9+/NcvL17cuHJx8Lf3D/cD4XfvPq9vmj68vCH19vLwpf/3pvbedT8crjlccrj1ce77vtXBavPF55vPJ45fG+3/hN8crjlccrj1d+vHOb7NyKV368cyte+XrUVZ901YtXftxVL175Ss/f96dX+9MPpedwew6353B7DrdnvXJ71iu3Z73pTa/cnvXK7VlvetMrt2e9cnse79wmO7fildvzeOdWvOlt3FUvXrk9j7vqE+9uWQ/46qL0HG7P4fYcbs/h9qxXbs965fasN73plduzXrk9601veuX2rFduz+Od22TnVrxyex7v3Io3vY276sUrt+dxV33i3f37/vYcbs/h9hxuz+H2rFduz3rl9pynPYfbs165PeuV27NeuT3rlduz3j//22TnVrxyew6353B7DrdnvXJ71iu353uHa8jZl9JzuD2H23O4PYfbs165PeuV27Pe9KZXbs965fasN73plduzXrk9j3duk51b8crtebxzK970Nu6qF6/cnsdd9Yl3tzzdLtbfSs/h9hxuz+H2HG7PeuX2rFduz3rTm165PeuV27Pe9KZXbs965fY83rlNdm7FK7fn8c6teNPbuKtevHJ7HnfVJ97d8uJwDdn/KD2H23O4PYfbc7g965Xbs165PetNb3rl9qxXbs9605teuT3rldvzeOc22bkVr9yexzu34k1v46568crtedzVf/4LDINsdg== + + AQAAAACAAADYCQAA8QEAAA==eF5N0CGOFlEQAOHVK0nmBnAFgnn/PLsSsZd4CSQIPDfYZN2iUbMePI4DEMR/BbgDNJ2ve1yZSir18P3jeD6O8eruxfj99s0Ff356Kh63v4o/jNsdP/xzb24+Xbg4XBwuDheHe3//s1wcLg4Xh4vT3fZ2k9NNTjc53eRsnuXibJ7l4mye5T4fq1ycr1a5OF+tk3uMb++u9TnY52Cfg30O9pmLfeZin7nxjYt95mKf2932dpN9bjfZ526e5WKfu3mWi33uV6tc7HO/Wif3GO+vry8+B/sc7HOwz8E+c7HPXOwzN75xsc9c7HO7295uss/tJvvczbNc7HM3z3Kxz/1qlYt97lfr5B7/f/kc7HOwz8E+B/vMxT5zsc/c+MbFPnOxz+1ue7vJPreb7HM3z3Kxz908y8U+96tVLva5X62Te4y7xy/1OdjnYJ+DfQ72mYt95mKfufGNi33mYp/b3fZ2k31uN9nnbp7lYp+7eZaLfe5Xq1zsc79aJ/cYjy9/1Odgn4N9DvY52Gcu9pmLfebGNy72mYt9bnfb2032ud1kn7t5lot97uZZLva5X61ysc/9ap3cY1y//qnPwT4H+xzsc7DPXOwzF/vMjW9c7DMX+9zutreb7HO7yT538ywX+9zNs1zsc79a5WKf+1XyX6K10A4= - 0.10871961483 + 0.10871961652 - 1.1607924027 + 1.1607924233 From a99f0164380a45699be7b8af6d9b3e1448560c5e Mon Sep 17 00:00:00 2001 From: "f.basile" Date: Sun, 28 Jun 2020 19:29:52 +0200 Subject: [PATCH 293/958] problem with if value is true / if value == True --- python/damask/_orientation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index c0952c5fd..adfa839d1 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -145,7 +145,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation quat=np.empty( [r , 4]) for rot in range(r): for sym in range(equi.shape[0]): - if self.lattice.symmetry.inFZ(equi.as_Rodrigues(vector=True)[sym,rot]) is True: + if self.lattice.symmetry.inFZ(equi.as_Rodrigues(vector=True)[sym,rot]) == True: quat[rot]=equi.as_quaternion()[sym,rot] return self.__class__(quat,self.lattice) From a657125840cb63c0f8e7614f04332dc5d7515c11 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 28 Jun 2020 19:30:23 +0200 Subject: [PATCH 294/958] standard version string --- python/tests/reference/Colormap/binary.json | 2 +- python/tests/reference/Colormap/binary.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/python/tests/reference/Colormap/binary.json b/python/tests/reference/Colormap/binary.json index d56f1232e..c71d3649b 100644 --- a/python/tests/reference/Colormap/binary.json +++ b/python/tests/reference/Colormap/binary.json @@ -1,6 +1,6 @@ [ { - "Creator": "damask.Colormap 99.99.99-9999-pytest", + "Creator": "damask.Colormap v99.99.99-9999-pytest", "ColorSpace": "RGB", "Name": "binary", "DefaultMap": true, diff --git a/python/tests/reference/Colormap/binary.txt b/python/tests/reference/Colormap/binary.txt index 65e5e3d58..817350aee 100644 --- a/python/tests/reference/Colormap/binary.txt +++ b/python/tests/reference/Colormap/binary.txt @@ -1,4 +1,4 @@ -# Creator: damask.Colormap 99.99.99-9999-pytest +# Creator: damask.Colormap v99.99.99-9999-pytest R G B alpha 1.0 1.0 1.0 1.0 0.996078431372549 0.996078431372549 0.996078431372549 1.0 From 4875191ffdda6bca74505d1aefb7e91bfb603ef8 Mon Sep 17 00:00:00 2001 From: "f.basile" Date: Sun, 28 Jun 2020 19:32:22 +0200 Subject: [PATCH 295/958] change if statement so github doesnt complain --- python/damask/_orientation.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index adfa839d1..cc26acafc 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -145,8 +145,9 @@ class Orientation: # ToDo: make subclass of lattice and Rotation quat=np.empty( [r , 4]) for rot in range(r): for sym in range(equi.shape[0]): - if self.lattice.symmetry.inFZ(equi.as_Rodrigues(vector=True)[sym,rot]) == True: + if self.lattice.symmetry.inFZ(equi.as_Rodrigues(vector=True)[sym,rot]): quat[rot]=equi.as_quaternion()[sym,rot] + break return self.__class__(quat,self.lattice) From 2d0c680dafb4a1f131e2c885f86c2a91ab00eea3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 29 Jun 2020 07:30:42 +0200 Subject: [PATCH 296/958] useful information --- python/damask/_colormap.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index f354af0a3..d60f7f6c6 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -127,7 +127,19 @@ class Colormap(mpl.colors.ListedColormap): @staticmethod def list_predefined(): - """List predefined colormaps by category.""" + """ + List predefined colormaps by category. + + References + ---------- + .. [1] DAMASK colormap theory + https://www.kennethmoreland.com/color-maps/ColorMapsExpanded.pdf + .. [2] DAMASK colormaps first use + https://doi.org/10.1016/j.ijplas.2012.09.012 + .. [3] Matplotlib colormaps overview + https://matplotlib.org/tutorials/colors/colormaps.html + + """ print('DAMASK colormaps') print(' '+', '.join(Colormap._predefined_DAMASK.keys())) for cat in Colormap._predefined_mpl: From 640bc7b1909afefbecca30cb926385dad851fa75 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 29 Jun 2020 15:09:13 +0200 Subject: [PATCH 297/958] [skip ci] polishing --- src/CPFEM.f90 | 2 +- src/YAML_parse.f90 | 8 +++--- src/config.f90 | 2 +- src/crystallite.f90 | 4 +-- src/damage_local.f90 | 2 -- src/damage_nonlocal.f90 | 3 +-- src/grid/grid_mech_FEM.f90 | 5 ++-- src/grid/grid_mech_spectral_basic.f90 | 20 +++++++------- src/grid/grid_mech_spectral_polarisation.f90 | 28 ++++++++++---------- src/grid/grid_thermal_spectral.f90 | 27 +++++++++---------- src/grid/spectral_utilities.f90 | 6 ++--- src/homogenization.f90 | 1 - src/homogenization_mech_RGC.f90 | 3 +-- src/math.f90 | 2 +- src/mesh/DAMASK_mesh.f90 | 2 +- src/mesh/FEM_utilities.f90 | 1 + src/mesh/discretization_mesh.f90 | 1 - src/mesh/mesh_mech_FEM.f90 | 1 - 18 files changed, 55 insertions(+), 63 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 00afbbc01..f8d8a4bc3 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -49,7 +49,7 @@ module CPFEM iJacoStiffness !< frequency of stiffness update end type tNumerics - type(tNumerics), private :: num + type(tNumerics), private :: num public :: & CPFEM_general, & diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 626a387fa..01e383b05 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -36,16 +36,16 @@ end subroutine YAML_init !-------------------------------------------------------------------------------------------------- recursive function parse_flow(flow_string) result(node) - character(len=*), intent(inout) :: flow_string !< YAML file in flow style - class (tNode), pointer :: node - + character(len=*), intent(inout) :: flow_string !< YAML file in flow style + class (tNode), pointer :: node + class (tNode), pointer :: myVal character(len=pStringLen) :: key integer :: e, & ! end position of dictionary or list s, & ! start position of dictionary or list d ! position of key: value separator (':') - + flow_string = trim(adjustl(flow_string(:))) if (len_trim(flow_string) == 0) then node => emptyDict diff --git a/src/config.f90 b/src/config.f90 index 0668fb5f0..eacea74bf 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -27,7 +27,7 @@ module config type(tPartitionedStringList), public, protected :: & config_debug - + character(len=pStringLen), public, protected, allocatable, dimension(:) :: & config_name_phase, & !< name of each phase config_name_homogenization, & !< name of each homogenization diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 741ed37b0..6f43f246c 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -84,7 +84,7 @@ module crystallite nState, & !< state loop limit nStress !< stress loop limit character(len=:), allocatable :: & - integrator !< integrator scheme + integrator !< integration scheme real(pReal) :: & subStepMinCryst, & !< minimum (relative) size of sub-step allowed during cutback subStepSizeCryst, & !< size of first substep when cutback @@ -165,7 +165,7 @@ subroutine crystallite_init allocate(crystallite_converged(cMax,iMax,eMax), source=.true.) num_crystallite => numerics_root%get('crystallite',defaultVal=emptyDict) - + num%subStepMinCryst = num_crystallite%get_asFloat ('subStepMin', defaultVal=1.0e-3_pReal) num%subStepSizeCryst = num_crystallite%get_asFloat ('subStepSize', defaultVal=0.25_pReal) num%stepIncreaseCryst = num_crystallite%get_asFloat ('stepIncrease', defaultVal=1.5_pReal) diff --git a/src/damage_local.f90 b/src/damage_local.f90 index e0dfa34eb..85701acee 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -56,7 +56,6 @@ subroutine damage_local_init num_generic => numerics_root%get('generic',defaultVal=emptyDict) num%residualStiffness = num_generic%get_asFloat('residualStiffness', defaultVal=1.0e-6_pReal) if (num%residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') -!---------------------------------------------------------------------------------------------- Ninstance = count(damage_type == DAMAGE_local_ID) allocate(param(Ninstance)) @@ -102,7 +101,6 @@ function damage_local_updateState(subdt, ip, el) real(pReal) :: & phi, phiDot, dPhiDot_dPhi - homog = material_homogenizationAt(el) offset = material_homogenizationMemberAt(ip,el) phi = damageState(homog)%subState0(1,offset) diff --git a/src/damage_nonlocal.f90 b/src/damage_nonlocal.f90 index 466261225..d3c3c07a2 100644 --- a/src/damage_nonlocal.f90 +++ b/src/damage_nonlocal.f90 @@ -53,14 +53,13 @@ subroutine damage_nonlocal_init integer :: Ninstance,NofMyHomog,h class(tNode), pointer :: & num_generic - + write(6,'(/,a)') ' <<<+- damage_'//DAMAGE_nonlocal_label//' init -+>>>'; flush(6) !------------------------------------------------------------------------------------ ! read numerics parameter num_generic => numerics_root%get('generic',defaultVal= emptyDict) num%charLength = num_generic%get_asFloat('charLength',defaultVal=1.0_pReal) -!------------------------------------------------------------------------------------ Ninstance = count(damage_type == DAMAGE_nonlocal_ID) allocate(param(Ninstance)) diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 775bc913d..40e6d38b2 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -46,7 +46,8 @@ module grid_mech_FEM petsc_options end type tNumerics - type(tNumerics), private :: num + type(tNumerics), private :: num + !-------------------------------------------------------------------------------------------------- ! PETSc data DM, private :: mech_grid @@ -454,8 +455,6 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,fnorm,reason,dummy,i divTol, & BCTol -!------------------------------------------------------------------------------------ - err_div = fnorm*sqrt(wgt)*geomSize(1)/scaledGeomSize(1)/detJ divTol = max(maxval(abs(P_av))*num%eps_div_rtol ,num%eps_div_atol) BCTol = max(maxval(abs(P_av))*num%eps_stress_rtol,num%eps_stress_atol) diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index b1c4d085a..681c6b027 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -28,7 +28,7 @@ module grid_mech_spectral_basic !-------------------------------------------------------------------------------------------------- ! derived types - type(tSolutionParams), private :: params + type(tSolutionParams) :: params type, private :: tNumerics logical :: update_gamma !< update gamma operator with current stiffness @@ -44,29 +44,29 @@ module grid_mech_spectral_basic petsc_options end type tNumerics - type(tNumerics), private :: num ! numerics parameters. Better name? + type(tNumerics) :: num ! numerics parameters. Better name? !-------------------------------------------------------------------------------------------------- ! PETSc data - DM, private :: da - SNES, private :: snes - Vec, private :: solution_vec + DM :: da + SNES :: snes + Vec :: solution_vec !-------------------------------------------------------------------------------------------------- ! common pointwise data - real(pReal), private, dimension(:,:,:,:,:), allocatable :: & + real(pReal), dimension(:,:,:,:,:), allocatable :: & F_lastInc, & !< field of previous compatible deformation gradients Fdot !< field of assumed rate of compatible deformation gradient !-------------------------------------------------------------------------------------------------- ! stress, stiffness and compliance average etc. - real(pReal), private, dimension(3,3) :: & + real(pReal), dimension(3,3) :: & F_aimDot = 0.0_pReal, & !< assumed rate of average deformation gradient F_aim = math_I3, & !< current prescribed deformation gradient F_aim_lastInc = math_I3, & !< previous average deformation gradient P_av = 0.0_pReal !< average 1st Piola--Kirchhoff stress - character(len=pStringLen), private :: incInfo !< time and increment information + character(len=pStringLen) :: incInfo !< time and increment information real(pReal), private, dimension(3,3,3,3) :: & C_volAvg = 0.0_pReal, & !< current volume average stiffness C_volAvgLastInc = 0.0_pReal, & !< previous volume average stiffness @@ -74,11 +74,11 @@ module grid_mech_spectral_basic C_minMaxAvgLastInc = 0.0_pReal, & !< previous (min+max)/2 stiffness S = 0.0_pReal !< current compliance (filled up with zeros) - real(pReal), private :: & + real(pReal) :: & err_BC, & !< deviation from stress BC err_div !< RMS of div of P - integer, private :: & + integer :: & totalIter = 0 !< total iteration in current increment public :: & diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index f6e554ed4..0bb84b5c4 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -29,9 +29,9 @@ module grid_mech_spectral_polarisation !-------------------------------------------------------------------------------------------------- ! derived types - type(tSolutionParams), private :: params + type(tSolutionParams) :: params - type, private :: tNumerics + type :: tNumerics logical :: update_gamma !< update gamma operator with current stiffness character(len=:), allocatable :: & petsc_options @@ -46,21 +46,21 @@ module grid_mech_spectral_polarisation eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC eps_stress_rtol !< relative tolerance for fullfillment of stress BC real(pReal) :: & - alpha, & !< polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme - beta !< polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme + alpha, & !< polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme + beta !< polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme end type tNumerics - type(tNumerics), private :: num ! numerics parameters. Better name? + type(tNumerics) :: num ! numerics parameters. Better name? !-------------------------------------------------------------------------------------------------- ! PETSc data - DM, private :: da - SNES, private :: snes - Vec, private :: solution_vec + DM :: da + SNES :: snes + Vec :: solution_vec !-------------------------------------------------------------------------------------------------- ! common pointwise data - real(pReal), private, dimension(:,:,:,:,:), allocatable :: & + real(pReal), dimension(:,:,:,:,:), allocatable :: & F_lastInc, & !< field of previous compatible deformation gradients F_tau_lastInc, & !< field of previous incompatible deformation gradient Fdot, & !< field of assumed rate of compatible deformation gradient @@ -68,15 +68,15 @@ module grid_mech_spectral_polarisation !-------------------------------------------------------------------------------------------------- ! stress, stiffness and compliance average etc. - real(pReal), private, dimension(3,3) :: & + real(pReal), dimension(3,3) :: & F_aimDot = 0.0_pReal, & !< assumed rate of average deformation gradient F_aim = math_I3, & !< current prescribed deformation gradient F_aim_lastInc = math_I3, & !< previous average deformation gradient F_av = 0.0_pReal, & !< average incompatible def grad field P_av = 0.0_pReal !< average 1st Piola--Kirchhoff stress - character(len=pStringLen), private :: incInfo !< time and increment information - real(pReal), private, dimension(3,3,3,3) :: & + character(len=pStringLen) :: incInfo !< time and increment information + real(pReal), dimension(3,3,3,3) :: & C_volAvg = 0.0_pReal, & !< current volume average stiffness C_volAvgLastInc = 0.0_pReal, & !< previous volume average stiffness C_minMaxAvg = 0.0_pReal, & !< current (min+max)/2 stiffness @@ -85,12 +85,12 @@ module grid_mech_spectral_polarisation C_scale = 0.0_pReal, & S_scale = 0.0_pReal - real(pReal), private :: & + real(pReal) :: & err_BC, & !< deviation from stress BC err_curl, & !< RMS of curl of F err_div !< RMS of div of P - integer, private :: & + integer :: & totalIter = 0 !< total iteration in current increment public :: & diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index b15167cee..04280e0d9 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -24,9 +24,9 @@ module grid_thermal_spectral !-------------------------------------------------------------------------------------------------- ! derived types - type(tSolutionParams), private :: params + type(tSolutionParams) :: params - type, private :: tNumerics + type :: tNumerics real(pReal) :: & eps_thermal_atol, & !< absolute tolerance for thermal equilibrium eps_thermal_rtol !< relative tolerance for thermal equilibrium @@ -34,30 +34,28 @@ module grid_thermal_spectral petsc_options end type tNumerics - type(tNumerics), private :: num + type(tNumerics) :: num !-------------------------------------------------------------------------------------------------- ! PETSc data - SNES, private :: thermal_snes - Vec, private :: solution_vec - PetscInt, private :: xstart, xend, ystart, yend, zstart, zend - real(pReal), private, dimension(:,:,:), allocatable :: & + SNES :: thermal_snes + Vec :: solution_vec + PetscInt :: xstart, xend, ystart, yend, zstart, zend + real(pReal), dimension(:,:,:), allocatable :: & T_current, & !< field of current temperature T_lastInc, & !< field of previous temperature T_stagInc !< field of staggered temperature !-------------------------------------------------------------------------------------------------- ! reference diffusion tensor, mobility etc. - integer, private :: totalIter = 0 !< total iteration in current increment - real(pReal), dimension(3,3), private :: K_ref - real(pReal), private :: mu_ref + integer :: totalIter = 0 !< total iteration in current increment + real(pReal), dimension(3,3) :: K_ref + real(pReal) :: mu_ref public :: & grid_thermal_spectral_init, & grid_thermal_spectral_solution, & grid_thermal_spectral_forward - private :: & - formResidual contains @@ -94,7 +92,8 @@ subroutine grid_thermal_spectral_init ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-thermal_snes_type ngmres',ierr) CHKERRQ(ierr) - call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num%petsc_options,ierr) + call PETScOptionsInsertString(PETSC_NULL_OPTIONS,& + num_grid%get_asString('petsc_options',defaultVal=''),ierr) CHKERRQ(ierr) !-------------------------------------------------------------------------------------------------- @@ -168,7 +167,7 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) SNESConvergedReason :: reason !------------------------------------------------------------------- -! reading numerical parameter and do sanity check +! reading numerical parameter and do sanity check !TODO: MD: Not Here num_grid => numerics_root%get('grid',defaultVal=emptyDict) itmax = num_grid%get_asInt('itmax',defaultVal=250) if (itmax <= 1) call IO_error(301,ext_msg='itmax') diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 08e5d633c..569a263ec 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -218,13 +218,13 @@ subroutine spectral_utilities_init ' add more using the PETSc_Options keyword in numerics.config '; flush(6) num_grid => numerics_root%get('grid',defaultVal=emptyDict) - num%petsc_options = num_grid%get_asString('petsc_options',defaultVal='') call PETScOptionsClear(PETSC_NULL_OPTIONS,ierr) CHKERRQ(ierr) if(debugPETSc) call PETScOptionsInsertString(PETSC_NULL_OPTIONS,trim(PETSCDEBUG),ierr) CHKERRQ(ierr) - call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num%petsc_options,ierr) + call PETScOptionsInsertString(PETSC_NULL_OPTIONS,& + num_grid%get_asString('petsc_options',defaultVal=''),ierr) CHKERRQ(ierr) grid1Red = grid(1)/2 + 1 @@ -232,7 +232,7 @@ subroutine spectral_utilities_init write(6,'(/,a,3(i12 ))') ' grid a b c: ', grid write(6,'(a,3(es12.5))') ' size x y z: ', geomSize - + num%memory_efficient = num_grid%get_asInt ('memory_efficient', defaultVal=1) > 0 num%FFTW_timelimit = num_grid%get_asFloat ('fftw_timelimit', defaultVal=-1.0_pReal) num%divergence_correction = num_grid%get_asInt ('divergence_correction', defaultVal=2) diff --git a/src/homogenization.f90 b/src/homogenization.f90 index a5ba56e9f..7f7fff705 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -174,7 +174,6 @@ subroutine homogenization_init num%subStepSizeHomog = num_homogGeneric%get_asFloat('subStepSize', defaultVal=0.25_pReal) num%stepIncreaseHomog = num_homogGeneric%get_asFloat('stepIncrease', defaultVal=1.5_pReal) - if (num%nMPstate < 1) call IO_error(301,ext_msg='nMPstate') if (num%subStepMinHomog <= 0.0_pReal) call IO_error(301,ext_msg='subStepMinHomog') if (num%subStepSizeHomog <= 0.0_pReal) call IO_error(301,ext_msg='subStepSizeHomog') diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index 90e08b71a..06a4e5150 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -107,7 +107,7 @@ module subroutine mech_RGC_init(num_homogMech) allocate(dependentState(Ninstance)) num_RGC => num_homogMech%get('RGC',defaultVal=emptyDict) - + num%atol = num_RGC%get_asFloat('atol', defaultVal=1.0e+4_pReal) num%rtol = num_RGC%get_asFloat('rtol', defaultVal=1.0e-3_pReal) num%absMax = num_RGC%get_asFloat('amax', defaultVal=1.0e+10_pReal) @@ -122,7 +122,6 @@ module subroutine mech_RGC_init(num_homogMech) num%volDiscrMod = num_RGC%get_asFloat('voldiscrepancymod', defaultVal=1.0e+12_pReal) num%volDiscrPow = num_RGC%get_asFloat('dicrepancypower', defaultVal=5.0_pReal) - if (num%atol <= 0.0_pReal) call IO_error(301,ext_msg='absTol_RGC') if (num%rtol <= 0.0_pReal) call IO_error(301,ext_msg='relTol_RGC') if (num%absMax <= 0.0_pReal) call IO_error(301,ext_msg='absMax_RGC') diff --git a/src/math.f90 b/src/math.f90 index 3d686fe7a..c36565df4 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -85,7 +85,7 @@ module math module procedure math_identity2nd end interface math_eye - +! ToDo: Since random seed is needed only once, I would simplify here !--------------------------------------------------------------------------------------------------- private :: & selfTest diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index 185f4c375..9bce23987 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -92,7 +92,7 @@ program DAMASK_mesh if (num%stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') if (num%maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') - + ! reading basic information from load case file and allocate data structure containing load cases call DMGetDimension(geomMesh,dimPlex,ierr); CHKERRA(ierr) !< dimension of mesh (2D or 3D) nActiveFields = 1 diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index a6236175c..8e1af7cd9 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -96,6 +96,7 @@ module FEM_utilities contains +!ToDo: use functions in variable call !-------------------------------------------------------------------------------------------------- !> @brief allocates all neccessary fields, sets debug flags !-------------------------------------------------------------------------------------------------- diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index 7dbd9350e..d17e6e85e 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -83,7 +83,6 @@ subroutine discretization_mesh_init(restart) num_mesh integer :: integrationOrder !< order of quadrature rule required - write(6,'(/,a)') ' <<<+- mesh init -+>>>' num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 918914432..7fb67c442 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -294,7 +294,6 @@ type(tSolutionState) function FEM_mech_solution( & character(len=*), intent(in) :: & incInfoIn - PetscErrorCode :: ierr SNESConvergedReason :: reason From fd8994786ecb928da7493d9d0c8be629cf3f8165 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 29 Jun 2020 15:26:37 +0200 Subject: [PATCH 298/958] include polished tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index f3b610c6d..464a0ebaf 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit f3b610c6d7c4374e4af6779d16fc87d1bc272aa6 +Subproject commit 464a0ebaf2e842d50d84a32c740638b25ae11354 From 0b2d62e98d3b74334f39d62a1e8fa9b45fed2d39 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Mon, 29 Jun 2020 17:05:11 +0200 Subject: [PATCH 299/958] polishing --- src/grid/DAMASK_grid.f90 | 22 ++++++++------------ src/grid/grid_damage_spectral.f90 | 5 +---- src/grid/grid_mech_FEM.f90 | 5 +---- src/grid/grid_mech_spectral_basic.f90 | 5 +---- src/grid/grid_mech_spectral_polarisation.f90 | 5 +---- src/grid/grid_thermal_spectral.f90 | 18 ++++++---------- src/grid/spectral_utilities.f90 | 5 ++--- src/math.f90 | 18 +++++----------- src/mesh/DAMASK_mesh.f90 | 22 ++++++++------------ src/mesh/FEM_utilities.f90 | 9 +++----- 10 files changed, 38 insertions(+), 76 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index cacab8980..192c25f88 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -73,13 +73,9 @@ program DAMASK_grid character(len=pStringLen) :: & incInfo, & loadcase_string - type :: tNumerics - integer :: & - maxCutBack, & !< max number of cut backs - stagItMax !< max number of field level staggered iterations - end type tNumerics - - type(tNumerics) :: num + integer :: & + maxCutBack, & !< max number of cut backs + stagItMax !< max number of field level staggered iterations type(tLoadCase), allocatable, dimension(:) :: loadCases !< array of all load cases type(tLoadCase) :: newLoadCase type(tSolutionState), allocatable, dimension(:) :: solres @@ -119,11 +115,11 @@ program DAMASK_grid !------------------------------------------------------------------------------------------------- ! reading field paramters from numerics file and do sanity checks num_grid => numerics_root%get('grid', defaultVal=emptyDict) - num%stagItMax = num_grid%get_asInt('maxStaggeredIter',defaultVal=10) - num%maxCutBack = num_grid%get_asInt('maxCutBack',defaultVal=3) + stagItMax = num_grid%get_asInt('maxStaggeredIter',defaultVal=10) + maxCutBack = num_grid%get_asInt('maxCutBack',defaultVal=3) - if (num%stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') - if (num%maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') + if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') + if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') !-------------------------------------------------------------------------------------------------- ! assign mechanics solver depending on selected type @@ -453,7 +449,7 @@ program DAMASK_grid enddo stagIter = stagIter + 1 - stagIterate = stagIter < num%stagItMax & + stagIterate = stagIter < stagItMax & .and. all(solres(:)%converged) & .and. .not. all(solres(:)%stagConverged) ! stationary with respect to staggered iteration enddo @@ -472,7 +468,7 @@ program DAMASK_grid solres%converged, solres%iterationsNeeded flush(statUnit) endif - elseif (cutBackLevel < num%maxCutBack) then ! further cutbacking tolerated? + elseif (cutBackLevel < maxCutBack) then ! further cutbacking tolerated? cutBack = .true. stepFraction = (stepFraction - 1) * subStepFactor ! adjust to new denominator cutBackLevel = cutBackLevel + 1 diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index eec65a89f..339a11a4a 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -28,8 +28,6 @@ module grid_damage_spectral residualStiffness, & !< non-zero residual damage eps_damage_atol, & !< absolute tolerance for damage evolution eps_damage_rtol !< relative tolerance for damage evolution - character(len=:), allocatable :: & - petsc_options end type tNumerics type(tNumerics), private :: num @@ -86,7 +84,6 @@ subroutine grid_damage_spectral_init !------------------------------------------------------------------------------------------------- ! read numerical parameters and do sanity checks num_grid => numerics_root%get('grid',defaultVal=emptyDict) - num%petsc_options = num_grid%get_asString('petsc_options',defaultVal='') num%itmax = num_grid%get_asInt ('itmax',defaultVal=250) num%eps_damage_atol = num_grid%get_asFloat ('eps_damage_atol',defaultVal=1.0e-2_pReal) num%eps_damage_rtol = num_grid%get_asFloat ('eps_damage_rtol',defaultVal=1.0e-6_pReal) @@ -104,7 +101,7 @@ subroutine grid_damage_spectral_init call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-damage_snes_type newtonls -damage_snes_mf & &-damage_snes_ksp_ew -damage_ksp_type fgmres',ierr) CHKERRQ(ierr) - call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num%petsc_options,ierr) + call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num_grid%get_asString('petsc_options',defaultVal=''),ierr) CHKERRQ(ierr) !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 40e6d38b2..6c2797798 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -42,8 +42,6 @@ module grid_mech_FEM eps_div_rtol, & !< relative tolerance for equilibrium eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC eps_stress_rtol !< relative tolerance for fullfillment of stress BC - character(len=:), allocatable :: & - petsc_options end type tNumerics type(tNumerics), private :: num @@ -127,7 +125,6 @@ subroutine grid_mech_FEM_init !------------------------------------------------------------------------------------------------- ! read numerical parameter and do sanity checks num_grid => numerics_root%get('grid',defaultVal=emptyDict) - num%petsc_options = num_grid%get_asString('petsc_options', defaultVal='') num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) num%eps_stress_atol = num_grid%get_asFloat ('eps_stress_atol', defaultVal=1.0e3_pReal) @@ -148,7 +145,7 @@ subroutine grid_mech_FEM_init call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-mech_snes_type newtonls -mech_ksp_type fgmres & &-mech_ksp_max_it 25 -mech_pc_type ml -mech_mg_levels_ksp_type chebyshev',ierr) CHKERRQ(ierr) - call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num%petsc_options,ierr) + call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num_grid%get_asString('petsc_options',defaultVal=''),ierr) CHKERRQ(ierr) !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 681c6b027..fb8ea7ac3 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -40,8 +40,6 @@ module grid_mech_spectral_basic eps_div_rtol, & !< relative tolerance for equilibrium eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC eps_stress_rtol !< relative tolerance for fullfillment of stress BC - character(len=:), allocatable :: & - petsc_options end type tNumerics type(tNumerics) :: num ! numerics parameters. Better name? @@ -122,7 +120,6 @@ subroutine grid_mech_spectral_basic_init ! read numerical parameters and do sanity checks num_grid => numerics_root%get('grid',defaultVal=emptyDict) - num%petsc_options = num_grid%get_asString ('petsc_options', defaultVal='') num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) @@ -143,7 +140,7 @@ subroutine grid_mech_spectral_basic_init ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-mech_snes_type ngmres',ierr) CHKERRQ(ierr) - call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num%petsc_options,ierr) + call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num_grid%get_asString('petsc_options',defaultVal=''),ierr) CHKERRQ(ierr) !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 0bb84b5c4..4fb47335d 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -33,8 +33,6 @@ module grid_mech_spectral_polarisation type :: tNumerics logical :: update_gamma !< update gamma operator with current stiffness - character(len=:), allocatable :: & - petsc_options integer :: & itmin, & !< minimum number of iterations itmax !< maximum number of iterations @@ -133,7 +131,6 @@ subroutine grid_mech_spectral_polarisation_init ! read numerical parameters num_grid => numerics_root%get('grid',defaultVal=emptyDict) - num%petsc_options = num_grid%get_asString('petsc_options', defaultVal='') num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) @@ -161,7 +158,7 @@ subroutine grid_mech_spectral_polarisation_init ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-mech_snes_type ngmres',ierr) CHKERRQ(ierr) - call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num%petsc_options,ierr) + call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num_grid%get_asString('petsc_options',defaultVal=''),ierr) CHKERRQ(ierr) !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index 04280e0d9..0b66ef3f0 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -27,11 +27,11 @@ module grid_thermal_spectral type(tSolutionParams) :: params type :: tNumerics + integer :: & + itmax !< maximum number of iterations real(pReal) :: & eps_thermal_atol, & !< absolute tolerance for thermal equilibrium eps_thermal_rtol !< relative tolerance for thermal equilibrium - character(len=:), allocatable :: & - petsc_options end type tNumerics type(tNumerics) :: num @@ -81,10 +81,11 @@ subroutine grid_thermal_spectral_init !------------------------------------------------------------------------------------------------- ! read numerical parameter and do sanity checks num_grid => numerics_root%get('grid',defaultVal=emptyDict) - num%petsc_options = num_grid%get_asString('petsc_options',defaultVal='') + num%itmax = num_grid%get_asInt ('itmax', defaultVal=250) num%eps_thermal_atol = num_grid%get_asFloat ('eps_thermal_atol',defaultVal=1.0e-2_pReal) num%eps_thermal_rtol = num_grid%get_asFloat ('eps_thermal_rtol',defaultVal=1.0e-6_pReal) + if (num%itmax <= 1) call IO_error(301,ext_msg='itmax') if (num%eps_thermal_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_thermal_atol') if (num%eps_thermal_rtol <= 0.0_pReal) call IO_error(301,ext_msg='eps_thermal_rtol') @@ -155,8 +156,7 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) real(pReal), intent(in) :: & timeinc, & !< increment in time for current solution timeinc_old !< increment in time of last increment - integer :: i, j, k, cell, & - itmax !< maximum number of iterations + integer :: i, j, k, cell type(tSolutionState) :: solution class(tNode), pointer :: & num_grid @@ -166,12 +166,6 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) PetscErrorCode :: ierr SNESConvergedReason :: reason -!------------------------------------------------------------------- -! reading numerical parameter and do sanity check !TODO: MD: Not Here - num_grid => numerics_root%get('grid',defaultVal=emptyDict) - itmax = num_grid%get_asInt('itmax',defaultVal=250) - if (itmax <= 1) call IO_error(301,ext_msg='itmax') - solution%converged =.false. !-------------------------------------------------------------------------------------------------- @@ -184,7 +178,7 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) if (reason < 1) then solution%converged = .false. - solution%iterationsNeeded = itmax + solution%iterationsNeeded = num%itmax else solution%converged = .true. solution%iterationsNeeded = totalIter diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 569a263ec..a12833a9c 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -120,8 +120,7 @@ module spectral_utilities memory_efficient !< calculate gamma operator on the fly character(len=:), allocatable :: & spectral_derivative, & !< approximation used for derivatives in Fourier space - FFTW_plan_mode, & !< FFTW plan mode, see www.fftw.org - petsc_options + FFTW_plan_mode !< FFTW plan mode, see www.fftw.org end type tNumerics type(tNumerics), private :: num ! numerics parameters. Better name? @@ -215,7 +214,7 @@ subroutine spectral_utilities_init if(debugPETSc) write(6,'(3(/,a),/)') & ' Initializing PETSc with debug options: ', & trim(PETScDebug), & - ' add more using the PETSc_Options keyword in numerics.config '; flush(6) + ' add more using the PETSc_Options keyword in numerics.yaml '; flush(6) num_grid => numerics_root%get('grid',defaultVal=emptyDict) diff --git a/src/math.f90 b/src/math.f90 index c36565df4..7abb39424 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -72,20 +72,11 @@ module math 3,2, & 3,3 & ],shape(MAPPLAIN)) !< arrangement in Plain notation - - type, private :: tNumerics - integer :: & - randomSeed !< fixed seeding for pseudo-random number generator, Default 0: use random seed - - end type - - type(tNumerics), private :: num interface math_eye module procedure math_identity2nd end interface math_eye -! ToDo: Since random seed is needed only once, I would simplify here !--------------------------------------------------------------------------------------------------- private :: & selfTest @@ -99,7 +90,8 @@ subroutine math_init real(pReal), dimension(4) :: randTest integer :: & - randSize + randSize, & + randomSeed !< fixed seeding for pseudo-random number generator, Default 0: use random seed integer, dimension(:), allocatable :: randInit class(tNode), pointer :: & num_generic @@ -107,12 +99,12 @@ subroutine math_init write(6,'(/,a)') ' <<<+- math init -+>>>'; flush(6) num_generic => numerics_root%get('generic',defaultVal=emptyDict) - num%randomSeed = num_generic%get_asInt('random_seed', defaultVal = 0) + randomSeed = num_generic%get_asInt('random_seed', defaultVal = 0) call random_seed(size=randSize) allocate(randInit(randSize)) - if (num%randomSeed > 0) then - randInit = num%randomSeed + if (randomSeed > 0) then + randInit = randomSeed else call random_seed() call random_seed(get = randInit) diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index 9bce23987..b774373a8 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -63,13 +63,9 @@ program DAMASK_mesh character(len=pStringLen) :: & incInfo, & loadcase_string - type :: tNumerics - integer :: & - stagItMax, & !< max number of field level staggered iterations - maxCutBack !< max number of cutbacks - end type tNumerics - - type(tNumerics) :: num + integer :: & + stagItMax, & !< max number of field level staggered iterations + maxCutBack !< max number of cutbacks type(tLoadCase), allocatable, dimension(:) :: loadCases !< array of all load cases type(tSolutionState), allocatable, dimension(:) :: solres @@ -87,11 +83,11 @@ program DAMASK_mesh !--------------------------------------------------------------------- ! reading field information from numerics file and do sanity checks num_mesh => numerics_root%get('mesh', defaultVal=emptyDict) - num%stagItMax = num_mesh%get_asInt('maxStaggeredIter',defaultVal=10) - num%maxCutBack = num_mesh%get_asInt('maxCutBack',defaultVal=3) + stagItMax = num_mesh%get_asInt('maxStaggeredIter',defaultVal=10) + maxCutBack = num_mesh%get_asInt('maxCutBack',defaultVal=3) - if (num%stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') - if (num%maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') + if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter') + if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack') ! reading basic information from load case file and allocate data structure containing load cases call DMGetDimension(geomMesh,dimPlex,ierr); CHKERRA(ierr) !< dimension of mesh (2D or 3D) @@ -333,7 +329,7 @@ program DAMASK_mesh enddo stagIter = stagIter + 1 - stagIterate = stagIter < num%stagItMax & + stagIterate = stagIter < stagItMax & .and. all(solres(:)%converged) & .and. .not. all(solres(:)%stagConverged) ! stationary with respect to staggered iteration enddo @@ -341,7 +337,7 @@ program DAMASK_mesh ! check solution cutBack = .False. if(.not. all(solres(:)%converged .and. solres(:)%stagConverged)) then ! no solution found - if (cutBackLevel < num%maxCutBack) then ! do cut back + if (cutBackLevel < maxCutBack) then ! do cut back write(6,'(/,a)') ' cut back detected' cutBack = .True. stepFraction = (stepFraction - 1) * subStepFactor ! adjust to new denominator diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 8e1af7cd9..533a5dec2 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -106,15 +106,12 @@ subroutine FEM_utilities_init class(tNode), pointer :: & num_mesh integer :: structOrder !< order of displacement shape functions - character(len=:), allocatable :: & - petsc_options PetscErrorCode :: ierr write(6,'(/,a)') ' <<<+- DAMASK_FEM_utilities init -+>>>' num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - structOrder = num_mesh%get_asInt ('structOrder', defaultVal = 2) - petsc_options = num_mesh%get_asString('petsc_options', defaultVal='') + structOrder = num_mesh%get_asInt('structOrder', defaultVal = 2) !-------------------------------------------------------------------------------------------------- ! set debugging parameters @@ -122,7 +119,7 @@ subroutine FEM_utilities_init if(debugPETSc) write(6,'(3(/,a),/)') & ' Initializing PETSc with debug options: ', & trim(PETScDebug), & - ' add more using the PETSc_Options keyword in numerics.config ' + ' add more using the PETSc_Options keyword in numerics.yaml ' flush(6) call PetscOptionsClear(PETSC_NULL_OPTIONS,ierr) CHKERRQ(ierr) @@ -135,7 +132,7 @@ subroutine FEM_utilities_init &-mech_pc_type ml -mech_mg_levels_ksp_type chebyshev & &-mech_mg_levels_pc_type sor -mech_pc_ml_nullspace user',ierr) CHKERRQ(ierr) - call PetscOptionsInsertString(PETSC_NULL_OPTIONS,petsc_options,ierr) + call PetscOptionsInsertString(PETSC_NULL_OPTIONS,num_mesh%get_asString('petsc_options',defaultVal=''),ierr) CHKERRQ(ierr) write(petsc_optionsOrder,'(a,i0)') '-mechFE_petscspace_degree ', structOrder call PetscOptionsInsertString(PETSC_NULL_OPTIONS,trim(petsc_optionsOrder),ierr) From d06daec4cb5578f744d83fe91d7e31933947f6f3 Mon Sep 17 00:00:00 2001 From: "f.basile" Date: Mon, 29 Jun 2020 18:25:45 +0200 Subject: [PATCH 300/958] reducec vectorized is improved --- python/damask/_orientation.py | 28 ++++++++++++++++++---------- python/tests/test_ori_vec.py | 8 ++++---- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index cc26acafc..2b6f1f701 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -140,15 +140,23 @@ class Orientation: # ToDo: make subclass of lattice and Rotation @property def reduced_vec(self): """Transform orientation to fall into fundamental zone according to symmetry.""" - equi=self.equivalent_vec.rotation #24 x rot x 3(rodrigues vector) - r= 1 if not self.rotation.shape else equi.shape[1] #number of rotations - quat=np.empty( [r , 4]) - for rot in range(r): - for sym in range(equi.shape[0]): - if self.lattice.symmetry.inFZ(equi.as_Rodrigues(vector=True)[sym,rot]): - quat[rot]=equi.as_quaternion()[sym,rot] - break - return self.__class__(quat,self.lattice) + equi= self.equivalent_vec.rotation #equivalent orientations + r= 1 if not self.rotation.shape else equi.shape[1] #number of rotations + num_equi=equi.shape[0] #number of equivalente orientations + quat= np.reshape( equi.as_quaternion(), (r*num_equi,4) ,order='F') #equivalents are listed in intiuitive order + boolean=Orientation(quat, self.lattice).inFZ_vec() #check which ones are in FZ + if sum(boolean) == r: + return self.__class__(quat[boolean],self.lattice) + + else: + print('More than 1 equivalent orientation has been found for an orientation') + index=np.empty(r, dtype=int) + for l,h in enumerate(range(0,r*num_equi, num_equi)): + index[l]=np.where(boolean[h:h+num_equi])[0][0] + (l*num_equi) #get first index that is true then go check to next orientation + + return self.__class__(quat[index],self.lattice) + + @@ -187,7 +195,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation return color - def IPFcolor_vec(self,axis): + def IPF_color(self,axis): """TSL color of inverse pole figure for given axis. Not for hex or triclinic lattices.""" eq = self.equivalent_vec pole = eq.rotation @ np.broadcast_to(axis/np.linalg.norm(axis),eq.rotation.shape+(3,)) diff --git a/python/tests/test_ori_vec.py b/python/tests/test_ori_vec.py index daae6c197..6bbe37f63 100644 --- a/python/tests/test_ori_vec.py +++ b/python/tests/test_ori_vec.py @@ -110,7 +110,7 @@ class TestOrientation_vec: rot2.as_quaternion(),rot3.as_quaternion()]) ori_vec=Orientation(quat,lattice) - assert np.allclose( ori_vec.IPFcolor_vec(np.array([0,0,1]))[0],ori0.IPFcolor(np.array([0,0,1]))) - assert np.allclose( ori_vec.IPFcolor_vec(np.array([0,2,1]))[1],ori1.IPFcolor(np.array([0,2,1]))) - assert np.allclose( ori_vec.IPFcolor_vec(np.array([0,3,1]))[2],ori2.IPFcolor(np.array([0,3,1]))) - assert np.allclose( ori_vec.IPFcolor_vec(np.array([4,0,1]))[3],ori3.IPFcolor(np.array([4,0,1]))) + assert np.allclose( ori_vec.IPF_color(np.array([0,0,1]))[0],ori0.IPFcolor(np.array([0,0,1]))) + assert np.allclose( ori_vec.IPF_color(np.array([0,2,1]))[1],ori1.IPFcolor(np.array([0,2,1]))) + assert np.allclose( ori_vec.IPF_color(np.array([0,3,1]))[2],ori2.IPFcolor(np.array([0,3,1]))) + assert np.allclose( ori_vec.IPF_color(np.array([4,0,1]))[3],ori3.IPFcolor(np.array([4,0,1]))) From 97ca1b1a9bc6b58a3994052caf85e72ea901fd70 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Mon, 29 Jun 2020 21:50:33 -0400 Subject: [PATCH 301/958] try wxPython before tkinter, recent macOS otherwise fails --- python/damask/_environment.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/python/damask/_environment.py b/python/damask/_environment.py index 7d12050aa..73fe6c035 100644 --- a/python/damask/_environment.py +++ b/python/damask/_environment.py @@ -1,19 +1,25 @@ import os from pathlib import Path -import tkinter class Environment: def __init__(self): """Read and provide values of DAMASK configuration.""" + self.screen_width = 1024 + self.screen_height = 768 try: - tk = tkinter.Tk() - self.screen_width = tk.winfo_screenwidth() - self.screen_height = tk.winfo_screenheight() - tk.destroy() - except tkinter.TclError: - self.screen_width = 1024 - self.screen_height = 768 + import wx + app = wx.App(False) + self.screenwidth, self.screenheight = wx.GetDisplaySize() + except ImportError: + try: + import tkinter + tk = tkinter.Tk() + self.screen_width = tk.winfo_screenwidth() + self.screen_height = tk.winfo_screenheight() + tk.destroy() + except: + pass @property def options(self): From 39aac76859a39bcbf11e5a626cdd01c58c0fb155 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Mon, 29 Jun 2020 21:58:41 -0400 Subject: [PATCH 302/958] __add__, from_range, fixed missing np.array(colors), show peppered... --- python/damask/_colormap.py | 57 +++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index d60f7f6c6..442ee1b63 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -19,11 +19,15 @@ _ref_white = np.array([.95047, 1.00000, 1.08883]) class Colormap(mpl.colors.ListedColormap): + def __add__(self,other): + """Concatenate colormaps.""" + return Colormap(np.vstack((self.colors,other.colors)), + f'{self.name}+{other.name}') @staticmethod - def from_bounds(low,high,name='DAMASK colormap',N=256,model='rgb'): + def from_range(low,high,name='DAMASK colormap',N=256,model='rgb'): """ - Create a perceptually uniform colormap from given bounds. + Create a perceptually uniform colormap between given (inclusive) bounds. Colors are internally stored as R(ed) G(green) B(lue) values. The colormap can be used in matplotlib/seaborn or exported to @@ -50,35 +54,34 @@ class Colormap(mpl.colors.ListedColormap): - 'msh': Msh (for perceptual uniform interpolation). """ - low_,high_ = map(np.array,[low,high]) - low_high = np.vstack((low_,high)) + low_high = np.vstack((low,high)) if model.lower() == 'rgb': if np.any(low_high<0) or np.any(low_high>1): - raise ValueError(f'RGB color out of range {low} {high}.') + raise ValueError(f'RGB color {low} | {high} are out of range.') - low_,high_ = map(Colormap._rgb2msh,[low_,high_]) + low_,high_ = map(Colormap._rgb2msh,low_high) elif model.lower() == 'hsv': if np.any(low_high<0) or np.any(low_high[:,1:3]>1) or np.any(low_high[:,0]>360): - raise ValueError(f'HSV color out of range {low} {high}.') + raise ValueError(f'HSV color {low} | {high} are out of range.') - low_,high_ = map(Colormap._hsv2msh,[low_,high_]) + low_,high_ = map(Colormap._hsv2msh,low_high) elif model.lower() == 'hsl': if np.any(low_high<0) or np.any(low_high[:,1:3]>1) or np.any(low_high[:,0]>360): - raise ValueError(f'HSL color out of range {low} {high}.') + raise ValueError(f'HSL color {low} | {high} are out of range.') - low_,high_ = map(Colormap._hsl2msh,[low_,high_]) + low_,high_ = map(Colormap._hsl2msh,low_high) elif model.lower() == 'xyz': - low_,high_ = map(Colormap._xyz2msh,[low_,high_]) + low_,high_ = map(Colormap._xyz2msh,low_high) elif model.lower() == 'lab': if np.any(low_high[:,0]<0): - raise ValueError(f'CIE Lab color out of range {low} {high}.') + raise ValueError(f'CIE Lab color {low} | {high} are out of range.') - low_,high_ = map(Colormap._lab2msh,[low_,high_]) + low_,high_ = map(Colormap._lab2msh,low_high) elif model.lower() == 'msh': pass @@ -122,7 +125,7 @@ class Colormap(mpl.colors.ListedColormap): # DAMASK presets definition = Colormap._predefined_DAMASK[name] - return Colormap.from_bounds(definition['low'],definition['high'],name,N) + return Colormap.from_range(definition['low'],definition['high'],name,N) @staticmethod @@ -147,24 +150,27 @@ class Colormap(mpl.colors.ListedColormap): print(' '+', '.join(cat[1])) - def show(self): - """Show colormap in window.""" - fig, ax = plt.subplots(figsize=(10,1)) - ax.set_axis_off() - im = ax.imshow(np.broadcast_to(np.linspace(0,1,640).reshape(1,-1),(64,640)),cmap=self) # noqa - fig.canvas.set_window_title(self.name) + def show(self,aspect=10,vertical=False): + """Show colormap as matplotlib figure.""" + fig = plt.figure(figsize=(5/aspect,5) if vertical else (5,5/aspect)) + ax1 = fig.add_axes([0, 0, 1, 1]) + ax1.set_axis_off() + ax1.imshow(np.linspace(1 if vertical else 0, + 0 if vertical else 1, + self.N).reshape((-1,1) if vertical else (1,-1)), + aspect='auto', cmap=self, interpolation='nearest') plt.show() def reversed(self,name=None): """ - Make a reversed instance of the Colormap. + Make a reversed instance of the colormap. Parameters ---------- name : str, optional - The name for the reversed colormap. If it's None - the name will be the name of the parent colormap + "_r". + The name for the reversed colormap. + A name of None will be replaced by the name of the parent colormap + "_r". Returns ------- @@ -173,7 +179,7 @@ class Colormap(mpl.colors.ListedColormap): """ rev = super(Colormap,self).reversed(name) - return Colormap(rev.colors,rev.name) + return Colormap(np.array(rev.colors),rev.name[:-4] if rev.name.endswith('_r_r') else rev.name) def to_file(self,fname=None,format='ParaView'): @@ -236,8 +242,7 @@ class Colormap(mpl.colors.ListedColormap): @staticmethod def _export_ASCII(colormap,fhandle=None): """Write colormap to ASCII table.""" - labels = {'R':(1,),'G':(1,),'B':(1,)} - if colormap.colors.shape[1] == 4: labels['alpha']=(1,) + labels = {'RGBA':4} if colormap.colors.shape[1] == 4 else {'RGB': 3} t = Table(colormap.colors,labels,f'Creator: damask.Colormap v{damask.version}') if fhandle is None: From d3b3d628b290bcd33211146abf4657dbf089496d Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Mon, 29 Jun 2020 22:06:40 -0400 Subject: [PATCH 303/958] PEP conformity... --- python/damask/_environment.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/_environment.py b/python/damask/_environment.py index 73fe6c035..29c0f45c7 100644 --- a/python/damask/_environment.py +++ b/python/damask/_environment.py @@ -9,7 +9,7 @@ class Environment: self.screen_height = 768 try: import wx - app = wx.App(False) + _ = wx.App(False) # noqa self.screenwidth, self.screenheight = wx.GetDisplaySize() except ImportError: try: @@ -18,7 +18,7 @@ class Environment: self.screen_width = tk.winfo_screenwidth() self.screen_height = tk.winfo_screenheight() tk.destroy() - except: + except Exception as e: pass @property From decbe8074a8eef7c3a86217874ddd8f7c39f68e9 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Mon, 29 Jun 2020 22:22:21 -0400 Subject: [PATCH 304/958] not using unassigned variable --- python/damask/_colormap.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 442ee1b63..ebfd241d0 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -89,7 +89,7 @@ class Colormap(mpl.colors.ListedColormap): else: raise ValueError(f'Invalid color model: {model}.') - msh = map(functools.partial(Colormap._interpolate_msh,low=low_,high=high_),np.linspace(0,1,N)) + msh = map(functools.partial(Colormap._interpolate_msh,low=low_high[0],high=low_high[1]),np.linspace(0,1,N)) rgb = np.array(list(map(Colormap._msh2rgb,msh))) return Colormap(rgb,name=name) From 8dc87023d11f27818cfe97dbc737ff6cc3d44fff Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Mon, 29 Jun 2020 22:23:24 -0400 Subject: [PATCH 305/958] test from_range; update ASCII colormap labels (i_RGBA) --- python/tests/reference/Colormap/binary.txt | 2 +- python/tests/test_Colormap.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/python/tests/reference/Colormap/binary.txt b/python/tests/reference/Colormap/binary.txt index 817350aee..976c0202a 100644 --- a/python/tests/reference/Colormap/binary.txt +++ b/python/tests/reference/Colormap/binary.txt @@ -1,5 +1,5 @@ # Creator: damask.Colormap v99.99.99-9999-pytest -R G B alpha +1_RGBA 2_RGBA 3_RGBA 4_RGBA 1.0 1.0 1.0 1.0 0.996078431372549 0.996078431372549 0.996078431372549 1.0 0.9921568627450981 0.9921568627450981 0.9921568627450981 1.0 diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index 8d3d51018..fcc2eca81 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -74,9 +74,9 @@ class TestColormap: @pytest.mark.parametrize('format',['ASCII','paraview','GOM','Gmsh']) @pytest.mark.parametrize('model',['rgb','hsv','hsl','xyz','lab','msh']) - def test_from_bounds(self,model,format,tmpdir): + def test_from_range(self,model,format,tmpdir): N = np.random.randint(2,256) - c = Colormap.from_bounds(np.random.rand(3),np.random.rand(3),model=model,N=N) + c = Colormap.from_range(np.random.rand(3),np.random.rand(3),model=model,N=N) c.to_file(tmpdir/'color_out',format=format) @pytest.mark.parametrize('format',['ASCII','paraview','GOM','Gmsh']) @@ -110,7 +110,7 @@ class TestColormap: @pytest.mark.parametrize('model',['rgb','hsv','hsl','lab','invalid']) def test_invalid_color(self,model): with pytest.raises(ValueError): - c = Colormap.from_bounds(-2.+np.random.rand(3),np.random.rand(3),N=10,model=model) # noqa + c = Colormap.from_range(-2.+np.random.rand(3),np.random.rand(3),N=10,model=model) # noqa def test_reversed(self): c_1 = Colormap.from_predefined('stress') From c8adfae0fa20baaff0f009be59530c13c45ae341 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 30 Jun 2020 07:16:49 +0200 Subject: [PATCH 306/958] bugfix: wrong variables used --- python/damask/_colormap.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index ebfd241d0..964f22d85 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -84,12 +84,12 @@ class Colormap(mpl.colors.ListedColormap): low_,high_ = map(Colormap._lab2msh,low_high) elif model.lower() == 'msh': - pass + low_,high_ = low_high[0],low_high[1] else: raise ValueError(f'Invalid color model: {model}.') - msh = map(functools.partial(Colormap._interpolate_msh,low=low_high[0],high=low_high[1]),np.linspace(0,1,N)) + msh = map(functools.partial(Colormap._interpolate_msh,low=low_,high=high_),np.linspace(0,1,N)) rgb = np.array(list(map(Colormap._msh2rgb,msh))) return Colormap(rgb,name=name) From b8b34080fed48d5ba4e95dc783b624da214fa7f4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 30 Jun 2020 12:16:47 +0200 Subject: [PATCH 307/958] enable array like slicing/iteration --- python/damask/_rotation.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 694384de2..a8d8a7928 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -52,6 +52,8 @@ class Rotation: Unit quaternion that follows the conventions. Use .from_quaternion to perform a sanity check. """ + if quaternion.shape[-1] != 4: + raise ValueError('Not a quaternion') self.quaternion = quaternion.copy() @@ -60,6 +62,7 @@ class Rotation: return self.quaternion.shape[:-1] + # ToDo: Check difference __copy__ vs __deepcopy__ def __copy__(self): """Copy.""" return self.__class__(self.quaternion) @@ -70,7 +73,7 @@ class Rotation: def __repr__(self): """Orientation displayed as unit quaternion, rotation matrix, and Bunge-Euler angles.""" if self.quaternion.shape != (4,): - return str(self.quaternion) # ToDo: could be nicer ... + return 'Quaternions:\n'+str(self.quaternion) # ToDo: could be nicer ... return '\n'.join([ 'Quaternion: (real={:.3f}, imag=<{:+.3f}, {:+.3f}, {:+.3f}>)'.format(*(self.quaternion)), 'Matrix:\n{}'.format(self.as_matrix()), @@ -78,6 +81,20 @@ class Rotation: ]) + def __len__(self): + return 0 if self.shape == () else len(self.shape) + + + def __getitem__(self,item): + if isinstance(item,tuple) and len(item) >= len(self): + raise IndexError('Too many indices') + return self.__class__(self.quaternion[item]) + + + def __len__(self): + return 0 if self.shape == () else self.shape[0] + + def __matmul__(self, other): """ Rotation of vector, second or fourth order tensor, or rotation object. From ce7018164fd615e09095df5c49e75b53fb29c5cf Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 30 Jun 2020 12:55:08 +0200 Subject: [PATCH 308/958] WIP: more reasonable naming --- python/damask/_lattice.py | 75 ++++++++++++++++++------------------ python/tests/test_Lattice.py | 22 +++++------ 2 files changed, 49 insertions(+), 48 deletions(-) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index 251821868..22f1de320 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -5,7 +5,7 @@ from . import Rotation class Symmetry: """ - Symmetry operations for lattice systems. + Symmetry-related operations for crystal systems. References ---------- @@ -13,34 +13,35 @@ class Symmetry: """ - lattices = [None,'orthorhombic','tetragonal','hexagonal','cubic'] + crystal_systems = [None,'orthorhombic','tetragonal','hexagonal','cubic'] - def __init__(self, symmetry = None): + def __init__(self, system = None): """ Symmetry Definition. Parameters ---------- - symmetry : str, optional - label of the crystal system + system : {None,'orthorhombic','tetragonal','hexagonal','cubic'}, optional + Name of the crystal system. Defaults to 'None'. """ - if symmetry is not None and symmetry.lower() not in Symmetry.lattices: - raise KeyError('Symmetry/crystal system "{}" is unknown'.format(symmetry)) + if system is not None and system.lower() not in self.crystal_systems: + raise KeyError(f'Crystal system "{system}" is unknown') - self.lattice = symmetry.lower() if isinstance(symmetry,str) else symmetry + self.system = system.lower() if isinstance(system,str) else system + self.lattice = self.system # for compatibility def __copy__(self): """Copy.""" - return self.__class__(self.lattice) + return self.__class__(self.system) copy = __copy__ def __repr__(self): """Readable string.""" - return '{}'.format(self.lattice) + return '{}'.format(self.system) def __eq__(self, other): @@ -53,7 +54,7 @@ class Symmetry: Symmetry to check for equality. """ - return self.lattice == other.lattice + return self.system == other.system def __neq__(self, other): """ @@ -77,13 +78,13 @@ class Symmetry: Symmetry to check for for order. """ - myOrder = Symmetry.lattices.index(self.lattice) - otherOrder = Symmetry.lattices.index(other.lattice) + myOrder = self.crystal_systems.index(self.system) + otherOrder = self.crystal_systems.index(other.system) return (myOrder > otherOrder) - (myOrder < otherOrder) def symmetryOperations(self,members=[]): """List (or single element) of symmetry operations as rotations.""" - if self.lattice == 'cubic': + if self.system == 'cubic': symQuats = [ [ 1.0, 0.0, 0.0, 0.0 ], [ 0.0, 1.0, 0.0, 0.0 ], @@ -110,7 +111,7 @@ class Symmetry: [-0.5*np.sqrt(2), 0.5*np.sqrt(2), 0.0, 0.0 ], [-0.5*np.sqrt(2),-0.5*np.sqrt(2), 0.0, 0.0 ], ] - elif self.lattice == 'hexagonal': + elif self.system == 'hexagonal': symQuats = [ [ 1.0, 0.0, 0.0, 0.0 ], [-0.5*np.sqrt(3), 0.0, 0.0, -0.5 ], @@ -125,7 +126,7 @@ class Symmetry: [ 0.0, -0.5, -0.5*np.sqrt(3), 0.0 ], [ 0.0, 0.5*np.sqrt(3), 0.5, 0.0 ], ] - elif self.lattice == 'tetragonal': + elif self.system == 'tetragonal': symQuats = [ [ 1.0, 0.0, 0.0, 0.0 ], [ 0.0, 1.0, 0.0, 0.0 ], @@ -136,7 +137,7 @@ class Symmetry: [ 0.5*np.sqrt(2), 0.0, 0.0, 0.5*np.sqrt(2) ], [-0.5*np.sqrt(2), 0.0, 0.0, 0.5*np.sqrt(2) ], ] - elif self.lattice == 'orthorhombic': + elif self.system == 'orthorhombic': symQuats = [ [ 1.0,0.0,0.0,0.0 ], [ 0.0,1.0,0.0,0.0 ], @@ -160,7 +161,7 @@ class Symmetry: @property def symmetry_operations(self): """Symmetry operations as Rotations.""" - if self.lattice == 'cubic': + if self.system == 'cubic': symQuats = [ [ 1.0, 0.0, 0.0, 0.0 ], [ 0.0, 1.0, 0.0, 0.0 ], @@ -187,7 +188,7 @@ class Symmetry: [-0.5*np.sqrt(2), 0.5*np.sqrt(2), 0.0, 0.0 ], [-0.5*np.sqrt(2),-0.5*np.sqrt(2), 0.0, 0.0 ], ] - elif self.lattice == 'hexagonal': + elif self.system == 'hexagonal': symQuats = [ [ 1.0, 0.0, 0.0, 0.0 ], [-0.5*np.sqrt(3), 0.0, 0.0, -0.5 ], @@ -202,7 +203,7 @@ class Symmetry: [ 0.0, -0.5, -0.5*np.sqrt(3), 0.0 ], [ 0.0, 0.5*np.sqrt(3), 0.5, 0.0 ], ] - elif self.lattice == 'tetragonal': + elif self.system == 'tetragonal': symQuats = [ [ 1.0, 0.0, 0.0, 0.0 ], [ 0.0, 1.0, 0.0, 0.0 ], @@ -213,7 +214,7 @@ class Symmetry: [ 0.5*np.sqrt(2), 0.0, 0.0, 0.5*np.sqrt(2) ], [-0.5*np.sqrt(2), 0.0, 0.0, 0.5*np.sqrt(2) ], ] - elif self.lattice == 'orthorhombic': + elif self.system == 'orthorhombic': symQuats = [ [ 1.0,0.0,0.0,0.0 ], [ 0.0,1.0,0.0,0.0 ], @@ -240,21 +241,21 @@ class Symmetry: Rabs = abs(rodrigues) - if self.lattice == 'cubic': + if self.system == 'cubic': return np.sqrt(2.0)-1.0 >= Rabs[0] \ and np.sqrt(2.0)-1.0 >= Rabs[1] \ and np.sqrt(2.0)-1.0 >= Rabs[2] \ and 1.0 >= Rabs[0] + Rabs[1] + Rabs[2] - elif self.lattice == 'hexagonal': + elif self.system == 'hexagonal': return 1.0 >= Rabs[0] and 1.0 >= Rabs[1] and 1.0 >= Rabs[2] \ and 2.0 >= np.sqrt(3)*Rabs[0] + Rabs[1] \ and 2.0 >= np.sqrt(3)*Rabs[1] + Rabs[0] \ and 2.0 >= np.sqrt(3) + Rabs[2] - elif self.lattice == 'tetragonal': + elif self.system == 'tetragonal': return 1.0 >= Rabs[0] and 1.0 >= Rabs[1] \ and np.sqrt(2.0) >= Rabs[0] + Rabs[1] \ and np.sqrt(2.0) >= Rabs[2] + 1.0 - elif self.lattice == 'orthorhombic': + elif self.system == 'orthorhombic': return 1.0 >= Rabs[0] and 1.0 >= Rabs[1] and 1.0 >= Rabs[2] else: return True @@ -275,13 +276,13 @@ class Symmetry: R = rodrigues epsilon = 0.0 - if self.lattice == 'cubic': + if self.system == 'cubic': return R[0] >= R[1]+epsilon and R[1] >= R[2]+epsilon and R[2] >= epsilon - elif self.lattice == 'hexagonal': + elif self.system == 'hexagonal': return R[0] >= np.sqrt(3)*(R[1]-epsilon) and R[1] >= epsilon and R[2] >= epsilon - elif self.lattice == 'tetragonal': + elif self.system == 'tetragonal': return R[0] >= R[1]-epsilon and R[1] >= epsilon and R[2] >= epsilon - elif self.lattice == 'orthorhombic': + elif self.system == 'orthorhombic': return R[0] >= epsilon and R[1] >= epsilon and R[2] >= epsilon else: return True @@ -313,7 +314,7 @@ class Symmetry: ... } """ - if self.lattice == 'cubic': + if self.system == 'cubic': basis = {'improper':np.array([ [-1. , 0. , 1. ], [ np.sqrt(2.) , -np.sqrt(2.) , 0. ], [ 0. , np.sqrt(3.) , 0. ] ]), @@ -321,7 +322,7 @@ class Symmetry: [-np.sqrt(2.) , np.sqrt(2.) , 0. ], [ np.sqrt(3.) , 0. , 0. ] ]), } - elif self.lattice == 'hexagonal': + elif self.system == 'hexagonal': basis = {'improper':np.array([ [ 0. , 0. , 1. ], [ 1. , -np.sqrt(3.) , 0. ], [ 0. , 2. , 0. ] ]), @@ -329,7 +330,7 @@ class Symmetry: [-1. , np.sqrt(3.) , 0. ], [ np.sqrt(3.) , -1. , 0. ] ]), } - elif self.lattice == 'tetragonal': + elif self.system == 'tetragonal': basis = {'improper':np.array([ [ 0. , 0. , 1. ], [ 1. , -1. , 0. ], [ 0. , np.sqrt(2.) , 0. ] ]), @@ -337,7 +338,7 @@ class Symmetry: [-1. , 1. , 0. ], [ np.sqrt(2.) , 0. , 0. ] ]), } - elif self.lattice == 'orthorhombic': + elif self.system == 'orthorhombic': basis = {'improper':np.array([ [ 0., 0., 1.], [ 1., 0., 0.], [ 0., 1., 0.] ]), @@ -401,7 +402,7 @@ class Symmetry: ... } """ - if self.lattice == 'cubic': + if self.system == 'cubic': basis = {'improper':np.array([ [-1. , 0. , 1. ], [ np.sqrt(2.) , -np.sqrt(2.) , 0. ], [ 0. , np.sqrt(3.) , 0. ] ]), @@ -409,7 +410,7 @@ class Symmetry: [-np.sqrt(2.) , np.sqrt(2.) , 0. ], [ np.sqrt(3.) , 0. , 0. ] ]), } - elif self.lattice == 'hexagonal': + elif self.system == 'hexagonal': basis = {'improper':np.array([ [ 0. , 0. , 1. ], [ 1. , -np.sqrt(3.) , 0. ], [ 0. , 2. , 0. ] ]), @@ -417,7 +418,7 @@ class Symmetry: [-1. , np.sqrt(3.) , 0. ], [ np.sqrt(3.) , -1. , 0. ] ]), } - elif self.lattice == 'tetragonal': + elif self.system == 'tetragonal': basis = {'improper':np.array([ [ 0. , 0. , 1. ], [ 1. , -1. , 0. ], [ 0. , np.sqrt(2.) , 0. ] ]), @@ -425,7 +426,7 @@ class Symmetry: [-1. , 1. , 0. ], [ np.sqrt(2.) , 0. , 0. ] ]), } - elif self.lattice == 'orthorhombic': + elif self.system == 'orthorhombic': basis = {'improper':np.array([ [ 0., 0., 1.], [ 1., 0., 0.], [ 0., 1., 0.] ]), diff --git a/python/tests/test_Lattice.py b/python/tests/test_Lattice.py index fb8ce8ea5..3d9c35706 100644 --- a/python/tests/test_Lattice.py +++ b/python/tests/test_Lattice.py @@ -13,26 +13,26 @@ class TestSymmetry: s = Symmetry(invalid_symmetry) # noqa def test_equal(self): - symmetry = random.choice(Symmetry.lattices) + symmetry = random.choice(Symmetry.crystal_systems) print(symmetry) assert Symmetry(symmetry) == Symmetry(symmetry) def test_not_equal(self): - symmetries = random.sample(Symmetry.lattices,k=2) + symmetries = random.sample(Symmetry.crystal_systems,k=2) assert Symmetry(symmetries[0]) != Symmetry(symmetries[1]) - @pytest.mark.parametrize('lattice',Symmetry.lattices) - def test_inFZ(self,lattice): - assert Symmetry(lattice).inFZ(np.zeros(3)) + @pytest.mark.parametrize('system',Symmetry.crystal_systems) + def test_inFZ(self,system): + assert Symmetry(system).inFZ(np.zeros(3)) - @pytest.mark.parametrize('lattice',Symmetry.lattices) - def test_inDisorientationSST(self,lattice): - assert Symmetry(lattice).inDisorientationSST(np.zeros(3)) + @pytest.mark.parametrize('system',Symmetry.crystal_systems) + def test_inDisorientationSST(self,system): + assert Symmetry(system).inDisorientationSST(np.zeros(3)) - @pytest.mark.parametrize('lattice',Symmetry.lattices) + @pytest.mark.parametrize('system',Symmetry.crystal_systems) @pytest.mark.parametrize('proper',[True,False]) - def test_inSST(self,lattice,proper): - assert Symmetry(lattice).inSST(np.zeros(3),proper) + def test_inSST(self,system,proper): + assert Symmetry(system).inSST(np.zeros(3),proper) @pytest.mark.parametrize('function',['inFZ','inDisorientationSST']) def test_invalid_argument(self,function): From 9d94b521ad5feba47ec78fa2816a3ec5f5b27524 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 30 Jun 2020 13:31:58 +0200 Subject: [PATCH 309/958] polishing --- python/damask/_orientation.py | 12 ++++++------ python/damask/_rotation.py | 3 ++- python/tests/test_ori_vec.py | 8 ++++---- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 2b6f1f701..6333bbfa0 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -125,10 +125,10 @@ class Orientation: # ToDo: make subclass of lattice and Rotation s = op.reshape(op.shape[:1]+(1,)*len(self.rotation.shape)+(4,)) s = Rotation(np.broadcast_to(s,s.shape[:1]+self.rotation.quaternion.shape)) - + r = np.broadcast_to(self.rotation.quaternion,s.shape[:1]+self.rotation.quaternion.shape) r = Rotation(r) - + return self.__class__(s@r,h['lattice']) @@ -142,7 +142,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation """Transform orientation to fall into fundamental zone according to symmetry.""" equi= self.equivalent_vec.rotation #equivalent orientations r= 1 if not self.rotation.shape else equi.shape[1] #number of rotations - num_equi=equi.shape[0] #number of equivalente orientations + num_equi=equi.shape[0] #number of equivalente orientations quat= np.reshape( equi.as_quaternion(), (r*num_equi,4) ,order='F') #equivalents are listed in intiuitive order boolean=Orientation(quat, self.lattice).inFZ_vec() #check which ones are in FZ if sum(boolean) == r: @@ -150,12 +150,12 @@ class Orientation: # ToDo: make subclass of lattice and Rotation else: print('More than 1 equivalent orientation has been found for an orientation') - index=np.empty(r, dtype=int) + index=np.empty(r, dtype=int) for l,h in enumerate(range(0,r*num_equi, num_equi)): index[l]=np.where(boolean[h:h+num_equi])[0][0] + (l*num_equi) #get first index that is true then go check to next orientation - + return self.__class__(quat[index],self.lattice) - + diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index a8d8a7928..686b144ae 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -267,7 +267,8 @@ class Rotation: """ ro = Rotation._qu2ro(self.quaternion) - return ro[...,:3]*ro[...,3:] if vector else ro + with np.errstate(invalid='ignore'): + return ro[...,:3]*ro[...,3:] if vector else ro def as_homochoric(self): """Homochoric vector: (h_1, h_2, h_3).""" diff --git a/python/tests/test_ori_vec.py b/python/tests/test_ori_vec.py index 6bbe37f63..ffe2923ff 100644 --- a/python/tests/test_ori_vec.py +++ b/python/tests/test_ori_vec.py @@ -5,10 +5,10 @@ from damask import Rotation from damask import Orientation from damask import Lattice -rot0= Rotation.from_random() ; -rot1= Rotation.from_random() ; -rot2= Rotation.from_random() ; -rot3= Rotation.from_random() ; +rot0= Rotation.from_random() +rot1= Rotation.from_random() +rot2= Rotation.from_random() +rot3= Rotation.from_random() #disorientation From c86e3e292c2b189eceb1cf49ce1dd8af7a9542ee Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 30 Jun 2020 13:55:09 +0200 Subject: [PATCH 310/958] WIP: cleaning namespace --- python/damask/_lattice.py | 17 +++++++++++------ python/damask/_orientation.py | 31 ++++++++++++++++++------------- python/tests/test_ori_vec.py | 8 ++++---- 3 files changed, 33 insertions(+), 23 deletions(-) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index 22f1de320..ee718adcd 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -479,11 +479,11 @@ class Lattice: # ToDo: Make a subclass of Symmetry! """ lattices = { - 'triclinic':{'symmetry':None}, - 'bct':{'symmetry':'tetragonal'}, - 'hex':{'symmetry':'hexagonal'}, - 'fcc':{'symmetry':'cubic','c/a':1.0}, - 'bcc':{'symmetry':'cubic','c/a':1.0}, + 'triclinic':{'system':None}, + 'bct': {'system':'tetragonal'}, + 'hex': {'system':'hexagonal'}, + 'fcc': {'system':'cubic','c/a':1.0}, + 'bcc': {'system':'cubic','c/a':1.0}, } @@ -498,7 +498,12 @@ class Lattice: # ToDo: Make a subclass of Symmetry! """ self.lattice = lattice - self.symmetry = Symmetry(self.lattices[lattice]['symmetry']) + self.symmetry = Symmetry(self.lattices[lattice]['system']) + + # transition to subclass + self.system = self.symmetry.system + self.in_SST = self.symmetry.in_SST + self.inFZ = self.symmetry.inFZ def __repr__(self): diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 6333bbfa0..753da4d4e 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -39,6 +39,11 @@ class Orientation: # ToDo: make subclass of lattice and Rotation else: self.rotation = Rotation.from_quaternion(rotation) # assume quaternion + def __getitem__(self,item): + if isinstance(item,tuple) and len(item) >= len(self): + raise IndexError('Too many indices') + return self.__class__(self.rotation[item],self.lattice) + def disorientation(self, other, @@ -66,7 +71,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation r = b*aInv for k in range(2): r.inverse() - breaker = self.lattice.symmetry.inFZ(r.as_Rodrigues(vector=True)) \ + breaker = self.lattice.inFZ(r.as_Rodrigues(vector=True)) \ and (not SST or other.lattice.symmetry.inDisorientationSST(r.as_Rodrigues(vector=True))) if breaker: break if breaker: break @@ -79,17 +84,17 @@ class Orientation: # ToDo: make subclass of lattice and Rotation def inFZ_vec(self): """Check if orientations fall into Fundamental Zone.""" if not self.rotation.shape: - return self.lattice.symmetry.inFZ(self.rotation.as_Rodrigues(vector=True)) + return self.lattice.inFZ(self.rotation.as_Rodrigues(vector=True)) else: - return [self.lattice.symmetry.inFZ(\ + return [self.lattice.inFZ(\ self.rotation.as_Rodrigues(vector=True)[l]) for l in range(self.rotation.shape[0])] def inFZ(self): - return self.lattice.symmetry.inFZ(self.rotation.as_Rodrigues(vector=True)) + return self.lattice.inFZ(self.rotation.as_Rodrigues(vector=True)) @property - def equivalent_vec(self): + def equivalent(self): """ Return orientations which are symmetrically equivalent. @@ -97,12 +102,12 @@ class Orientation: # ToDo: make subclass of lattice and Rotation is added to the left of the rotation array. """ - s = self.lattice.symmetry.symmetry_operations #24 lines (sym) x 4 columns (quat) - s = s.reshape(s.shape[:1]+(1,)*len(self.rotation.shape)+(4,)) #reshape zo (24,1,4) + s = self.lattice.symmetry.symmetry_operations + s = s.reshape(s.shape[:1]+(1,)*len(self.rotation.shape)+(4,)) s = Rotation(np.broadcast_to(s,s.shape[:1]+self.rotation.quaternion.shape)) - r = np.broadcast_to(self.rotation.quaternion,s.shape[:1]+self.rotation.quaternion.shape) #(24,NumRots,4) - r = Rotation(r) #(24, NumRot) + r = np.broadcast_to(self.rotation.quaternion,s.shape[:1]+self.rotation.quaternion.shape) + r = Rotation(r) return self.__class__(s@r,self.lattice) @@ -140,7 +145,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation @property def reduced_vec(self): """Transform orientation to fall into fundamental zone according to symmetry.""" - equi= self.equivalent_vec.rotation #equivalent orientations + equi= self.equivalent.rotation #equivalent orientations r= 1 if not self.rotation.shape else equi.shape[1] #number of rotations num_equi=equi.shape[0] #number of equivalente orientations quat= np.reshape( equi.as_quaternion(), (r*num_equi,4) ,order='F') #equivalents are listed in intiuitive order @@ -163,7 +168,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation def reduced(self): """Transform orientation to fall into fundamental zone according to symmetry.""" for me in self.equivalentOrientations(): - if self.lattice.symmetry.inFZ(me.rotation.as_Rodrigues(vector=True)): break + if self.lattice.inFZ(me.rotation.as_Rodrigues(vector=True)): break return self.__class__(me.rotation,self.lattice) @@ -197,9 +202,9 @@ class Orientation: # ToDo: make subclass of lattice and Rotation def IPF_color(self,axis): """TSL color of inverse pole figure for given axis. Not for hex or triclinic lattices.""" - eq = self.equivalent_vec + eq = self.equivalent pole = eq.rotation @ np.broadcast_to(axis/np.linalg.norm(axis),eq.rotation.shape+(3,)) - in_SST, color = self.lattice.symmetry.in_SST(pole,color=True) + in_SST, color = self.lattice.in_SST(pole,color=True) # ignore duplicates (occur for highly symmetric orientations) found = np.zeros_like(in_SST[1],dtype=bool) diff --git a/python/tests/test_ori_vec.py b/python/tests/test_ori_vec.py index ffe2923ff..ed64306c4 100644 --- a/python/tests/test_ori_vec.py +++ b/python/tests/test_ori_vec.py @@ -28,13 +28,13 @@ class TestOrientation_vec: ori_vec=Orientation(quat,lattice) for s in range(len(ori_vec.lattice.symmetry.symmetryOperations())): - assert all(ori_vec.equivalent_vec.rotation.as_Eulers()[s,0] == \ + assert all(ori_vec.equivalent.rotation.as_Eulers()[s,0] == \ ori0.equivalentOrientations()[s].rotation.as_Eulers()) - assert all(ori_vec.equivalent_vec.rotation.as_quaternion()[s,1] == \ + assert all(ori_vec.equivalent.rotation.as_quaternion()[s,1] == \ ori1.equivalentOrientations()[s].rotation.as_quaternion()) - assert all(ori_vec.equivalent_vec.rotation.as_Rodrigues()[s,2] == \ + assert all(ori_vec.equivalent.rotation.as_Rodrigues()[s,2] == \ ori2.equivalentOrientations()[s].rotation.as_Rodrigues()) - assert all(ori_vec.equivalent_vec.rotation.as_cubochoric()[s,3] == \ + assert all(ori_vec.equivalent.rotation.as_cubochoric()[s,3] == \ ori3.equivalentOrientations()[s].rotation.as_cubochoric()) @pytest.mark.parametrize('lattice',Lattice.lattices) From 538989e7f753d9e6bd33efd08e7ca5597de6b616 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 30 Jun 2020 15:14:07 +0200 Subject: [PATCH 311/958] updated tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 77e93dc7e..90633e709 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 77e93dc7e0c000e47bed9688c1cb01b03fe89620 +Subproject commit 90633e709165b3305f2f41b5b9e9df4ee7ca1dc9 From ac961a2591495d7e1b2578e44532c2618c0ad133 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 30 Jun 2020 15:29:21 +0200 Subject: [PATCH 312/958] cleaning test repo --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 90633e709..3fc9d58a3 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 90633e709165b3305f2f41b5b9e9df4ee7ca1dc9 +Subproject commit 3fc9d58a35614fd8ffa1179e634431eb457d0150 From be21d1289d2d419c8132c9ee9a1320aaf590e94f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 30 Jun 2020 16:33:04 +0200 Subject: [PATCH 313/958] using slicing method --- python/damask/_orientation.py | 2 +- python/tests/test_Orientation.py | 2 +- python/tests/test_ori_vec.py | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 753da4d4e..7d0f11c49 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -192,7 +192,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation """TSL color of inverse pole figure for given axis.""" color = np.zeros(3,'d') - for o in self.equivalentOrientations(): + for o in self.equivalent: pole = o.rotation@axis # align crystal direction to axis inSST,color = self.lattice.symmetry.inSST(pole,color=True) if inSST: break diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index a8b8afdac..277fa2a4b 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -34,7 +34,7 @@ class TestOrientation: for rot in [Rotation.from_random() for r in range(n//100)]: R = damask.Orientation(rot,lattice) color = R.IPFcolor(direction) - for equivalent in R.equivalentOrientations(): + for equivalent in R.equivalent: assert np.allclose(color,R.IPFcolor(direction)) @pytest.mark.parametrize('model',['Bain','KS','GT','GT_prime','NW','Pitsch']) diff --git a/python/tests/test_ori_vec.py b/python/tests/test_ori_vec.py index ed64306c4..ff5fe80bc 100644 --- a/python/tests/test_ori_vec.py +++ b/python/tests/test_ori_vec.py @@ -29,13 +29,13 @@ class TestOrientation_vec: for s in range(len(ori_vec.lattice.symmetry.symmetryOperations())): assert all(ori_vec.equivalent.rotation.as_Eulers()[s,0] == \ - ori0.equivalentOrientations()[s].rotation.as_Eulers()) + ori0.equivalent[s].rotation.as_Eulers()) assert all(ori_vec.equivalent.rotation.as_quaternion()[s,1] == \ - ori1.equivalentOrientations()[s].rotation.as_quaternion()) + ori1.equivalent[s].rotation.as_quaternion()) assert all(ori_vec.equivalent.rotation.as_Rodrigues()[s,2] == \ - ori2.equivalentOrientations()[s].rotation.as_Rodrigues()) + ori2.equivalent[s].rotation.as_Rodrigues()) assert all(ori_vec.equivalent.rotation.as_cubochoric()[s,3] == \ - ori3.equivalentOrientations()[s].rotation.as_cubochoric()) + ori3.equivalent[s].rotation.as_cubochoric()) @pytest.mark.parametrize('lattice',Lattice.lattices) def test_inFZ_vec(self,lattice): From 3d6afff27a8a66cdd1c1a0b0a3921a8acb519c24 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 30 Jun 2020 17:30:29 +0200 Subject: [PATCH 314/958] clearer name --- python/tests/test_Rotation.py | 102 +++++++++++++++++----------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 5a1cd145d..b087cc774 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -6,15 +6,15 @@ import numpy as np from damask import Rotation from damask import _rotation - - -n = 1100 +n = 1000 atol=1.e-4 -scatter=1.e-2 + @pytest.fixture -def default(): +def set_of_rotations(): """A set of n random rotations.""" + n = 1100 + scatter=1.e-2 specials = np.array([ [1.0, 0.0, 0.0, 0.0], #---------------------- @@ -567,9 +567,9 @@ class TestRotation: (Rotation._qu2ro,Rotation._ro2qu), (Rotation._qu2ho,Rotation._ho2qu), (Rotation._qu2cu,Rotation._cu2qu)]) - def test_quaternion_internal(self,default,forward,backward): + def test_quaternion_internal(self,set_of_rotations,forward,backward): """Ensure invariance of conversion from quaternion and back.""" - for rot in default: + for rot in set_of_rotations: m = rot.as_quaternion() o = backward(forward(m)) ok = np.allclose(m,o,atol=atol) @@ -584,9 +584,9 @@ class TestRotation: (Rotation._om2ro,Rotation._ro2om), (Rotation._om2ho,Rotation._ho2om), (Rotation._om2cu,Rotation._cu2om)]) - def test_matrix_internal(self,default,forward,backward): + def test_matrix_internal(self,set_of_rotations,forward,backward): """Ensure invariance of conversion from rotation matrix and back.""" - for rot in default: + for rot in set_of_rotations: m = rot.as_matrix() o = backward(forward(m)) ok = np.allclose(m,o,atol=atol) @@ -599,9 +599,9 @@ class TestRotation: (Rotation._eu2ro,Rotation._ro2eu), (Rotation._eu2ho,Rotation._ho2eu), (Rotation._eu2cu,Rotation._cu2eu)]) - def test_Eulers_internal(self,default,forward,backward): + def test_Eulers_internal(self,set_of_rotations,forward,backward): """Ensure invariance of conversion from Euler angles and back.""" - for rot in default: + for rot in set_of_rotations: m = rot.as_Eulers() o = backward(forward(m)) u = np.array([np.pi*2,np.pi,np.pi*2]) @@ -619,9 +619,9 @@ class TestRotation: (Rotation._ax2ro,Rotation._ro2ax), (Rotation._ax2ho,Rotation._ho2ax), (Rotation._ax2cu,Rotation._cu2ax)]) - def test_axis_angle_internal(self,default,forward,backward): + def test_axis_angle_internal(self,set_of_rotations,forward,backward): """Ensure invariance of conversion from axis angle angles pair and back.""" - for rot in default: + for rot in set_of_rotations: m = rot.as_axis_angle() o = backward(forward(m)) ok = np.allclose(m,o,atol=atol) @@ -636,10 +636,10 @@ class TestRotation: (Rotation._ro2ax,Rotation._ax2ro), (Rotation._ro2ho,Rotation._ho2ro), (Rotation._ro2cu,Rotation._cu2ro)]) - def test_Rodrigues_internal(self,default,forward,backward): + def test_Rodrigues_internal(self,set_of_rotations,forward,backward): """Ensure invariance of conversion from Rodrigues-Frank vector and back.""" cutoff = np.tan(np.pi*.5*(1.-1e-4)) - for rot in default: + for rot in set_of_rotations: m = rot.as_Rodrigues() o = backward(forward(m)) ok = np.allclose(np.clip(m,None,cutoff),np.clip(o,None,cutoff),atol=atol) @@ -653,9 +653,9 @@ class TestRotation: (Rotation._ho2ax,Rotation._ax2ho), (Rotation._ho2ro,Rotation._ro2ho), (Rotation._ho2cu,Rotation._cu2ho)]) - def test_homochoric_internal(self,default,forward,backward): + def test_homochoric_internal(self,set_of_rotations,forward,backward): """Ensure invariance of conversion from homochoric vector and back.""" - for rot in default: + for rot in set_of_rotations: m = rot.as_homochoric() o = backward(forward(m)) ok = np.allclose(m,o,atol=atol) @@ -668,9 +668,9 @@ class TestRotation: (Rotation._cu2ax,Rotation._ax2cu), (Rotation._cu2ro,Rotation._ro2cu), (Rotation._cu2ho,Rotation._ho2cu)]) - def test_cubochoric_internal(self,default,forward,backward): + def test_cubochoric_internal(self,set_of_rotations,forward,backward): """Ensure invariance of conversion from cubochoric vector and back.""" - for rot in default: + for rot in set_of_rotations: m = rot.as_cubochoric() o = backward(forward(m)) ok = np.allclose(m,o,atol=atol) @@ -684,9 +684,9 @@ class TestRotation: (Rotation._qu2ax,qu2ax), (Rotation._qu2ro,qu2ro), (Rotation._qu2ho,qu2ho)]) - def test_quaternion_vectorization(self,default,vectorized,single): + def test_quaternion_vectorization(self,set_of_rotations,vectorized,single): """Check vectorized implementation for quaternion against single point calculation.""" - qu = np.array([rot.as_quaternion() for rot in default]) + qu = np.array([rot.as_quaternion() for rot in set_of_rotations]) vectorized(qu.reshape(qu.shape[0]//2,-1,4)) co = vectorized(qu) for q,c in zip(qu,co): @@ -697,9 +697,9 @@ class TestRotation: @pytest.mark.parametrize('vectorized, single',[(Rotation._om2qu,om2qu), (Rotation._om2eu,om2eu), (Rotation._om2ax,om2ax)]) - def test_matrix_vectorization(self,default,vectorized,single): + def test_matrix_vectorization(self,set_of_rotations,vectorized,single): """Check vectorized implementation for rotation matrix against single point calculation.""" - om = np.array([rot.as_matrix() for rot in default]) + om = np.array([rot.as_matrix() for rot in set_of_rotations]) vectorized(om.reshape(om.shape[0]//2,-1,3,3)) co = vectorized(om) for o,c in zip(om,co): @@ -710,9 +710,9 @@ class TestRotation: (Rotation._eu2om,eu2om), (Rotation._eu2ax,eu2ax), (Rotation._eu2ro,eu2ro)]) - def test_Eulers_vectorization(self,default,vectorized,single): + def test_Eulers_vectorization(self,set_of_rotations,vectorized,single): """Check vectorized implementation for Euler angles against single point calculation.""" - eu = np.array([rot.as_Eulers() for rot in default]) + eu = np.array([rot.as_Eulers() for rot in set_of_rotations]) vectorized(eu.reshape(eu.shape[0]//2,-1,3)) co = vectorized(eu) for e,c in zip(eu,co): @@ -723,9 +723,9 @@ class TestRotation: (Rotation._ax2om,ax2om), (Rotation._ax2ro,ax2ro), (Rotation._ax2ho,ax2ho)]) - def test_axis_angle_vectorization(self,default,vectorized,single): + def test_axis_angle_vectorization(self,set_of_rotations,vectorized,single): """Check vectorized implementation for axis angle pair against single point calculation.""" - ax = np.array([rot.as_axis_angle() for rot in default]) + ax = np.array([rot.as_axis_angle() for rot in set_of_rotations]) vectorized(ax.reshape(ax.shape[0]//2,-1,4)) co = vectorized(ax) for a,c in zip(ax,co): @@ -735,9 +735,9 @@ class TestRotation: @pytest.mark.parametrize('vectorized, single',[(Rotation._ro2ax,ro2ax), (Rotation._ro2ho,ro2ho)]) - def test_Rodrigues_vectorization(self,default,vectorized,single): + def test_Rodrigues_vectorization(self,set_of_rotations,vectorized,single): """Check vectorized implementation for Rodrigues-Frank vector against single point calculation.""" - ro = np.array([rot.as_Rodrigues() for rot in default]) + ro = np.array([rot.as_Rodrigues() for rot in set_of_rotations]) vectorized(ro.reshape(ro.shape[0]//2,-1,4)) co = vectorized(ro) for r,c in zip(ro,co): @@ -746,9 +746,9 @@ class TestRotation: @pytest.mark.parametrize('vectorized, single',[(Rotation._ho2ax,ho2ax), (Rotation._ho2cu,ho2cu)]) - def test_homochoric_vectorization(self,default,vectorized,single): + def test_homochoric_vectorization(self,set_of_rotations,vectorized,single): """Check vectorized implementation for homochoric vector against single point calculation.""" - ho = np.array([rot.as_homochoric() for rot in default]) + ho = np.array([rot.as_homochoric() for rot in set_of_rotations]) vectorized(ho.reshape(ho.shape[0]//2,-1,3)) co = vectorized(ho) for h,c in zip(ho,co): @@ -756,9 +756,9 @@ class TestRotation: assert np.allclose(single(h),c) and np.allclose(single(h),vectorized(h)) @pytest.mark.parametrize('vectorized, single',[(Rotation._cu2ho,cu2ho)]) - def test_cubochoric_vectorization(self,default,vectorized,single): + def test_cubochoric_vectorization(self,set_of_rotations,vectorized,single): """Check vectorized implementation for cubochoric vector against single point calculation.""" - cu = np.array([rot.as_cubochoric() for rot in default]) + cu = np.array([rot.as_cubochoric() for rot in set_of_rotations]) vectorized(cu.reshape(cu.shape[0]//2,-1,3)) co = vectorized(cu) for u,c in zip(cu,co): @@ -766,8 +766,8 @@ class TestRotation: assert np.allclose(single(u),c) and np.allclose(single(u),vectorized(u)) @pytest.mark.parametrize('degrees',[True,False]) - def test_Eulers(self,default,degrees): - for rot in default: + def test_Eulers(self,set_of_rotations,degrees): + for rot in set_of_rotations: m = rot.as_quaternion() o = Rotation.from_Eulers(rot.as_Eulers(degrees),degrees).as_quaternion() ok = np.allclose(m,o,atol=atol) @@ -779,9 +779,9 @@ class TestRotation: @pytest.mark.parametrize('P',[1,-1]) @pytest.mark.parametrize('normalise',[True,False]) @pytest.mark.parametrize('degrees',[True,False]) - def test_axis_angle(self,default,degrees,normalise,P): + def test_axis_angle(self,set_of_rotations,degrees,normalise,P): c = np.array([P*-1,P*-1,P*-1,1.]) - for rot in default: + for rot in set_of_rotations: m = rot.as_Eulers() o = Rotation.from_axis_angle(rot.as_axis_angle(degrees)*c,degrees,normalise,P).as_Eulers() u = np.array([np.pi*2,np.pi,np.pi*2]) @@ -793,8 +793,8 @@ class TestRotation: print(m,o,rot.as_quaternion()) assert ok and (np.zeros(3)-1.e-9 <= o).all() and (o <= np.array([np.pi*2.,np.pi,np.pi*2.])+1.e-9).all() - def test_matrix(self,default): - for rot in default: + def test_matrix(self,set_of_rotations): + for rot in set_of_rotations: m = rot.as_axis_angle() o = Rotation.from_axis_angle(rot.as_axis_angle()).as_axis_angle() ok = np.allclose(m,o,atol=atol) @@ -805,9 +805,9 @@ class TestRotation: @pytest.mark.parametrize('P',[1,-1]) @pytest.mark.parametrize('normalise',[True,False]) - def test_Rodrigues(self,default,normalise,P): + def test_Rodrigues(self,set_of_rotations,normalise,P): c = np.array([P*-1,P*-1,P*-1,1.]) - for rot in default: + for rot in set_of_rotations: m = rot.as_matrix() o = Rotation.from_Rodrigues(rot.as_Rodrigues()*c,normalise,P).as_matrix() ok = np.allclose(m,o,atol=atol) @@ -815,9 +815,9 @@ class TestRotation: assert ok and np.isclose(np.linalg.det(o),1.0) @pytest.mark.parametrize('P',[1,-1]) - def test_homochoric(self,default,P): + def test_homochoric(self,set_of_rotations,P): cutoff = np.tan(np.pi*.5*(1.-1e-4)) - for rot in default: + for rot in set_of_rotations: m = rot.as_Rodrigues() o = Rotation.from_homochoric(rot.as_homochoric()*P*-1,P).as_Rodrigues() ok = np.allclose(np.clip(m,None,cutoff),np.clip(o,None,cutoff),atol=atol) @@ -826,8 +826,8 @@ class TestRotation: assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) @pytest.mark.parametrize('P',[1,-1]) - def test_cubochoric(self,default,P): - for rot in default: + def test_cubochoric(self,set_of_rotations,P): + for rot in set_of_rotations: m = rot.as_homochoric() o = Rotation.from_cubochoric(rot.as_cubochoric()*P*-1,P).as_homochoric() ok = np.allclose(m,o,atol=atol) @@ -836,9 +836,9 @@ class TestRotation: @pytest.mark.parametrize('P',[1,-1]) @pytest.mark.parametrize('accept_homomorph',[True,False]) - def test_quaternion(self,default,P,accept_homomorph): + def test_quaternion(self,set_of_rotations,P,accept_homomorph): c = np.array([1,P*-1,P*-1,P*-1]) * (-1 if accept_homomorph else 1) - for rot in default: + for rot in set_of_rotations: m = rot.as_cubochoric() o = Rotation.from_quaternion(rot.as_quaternion()*c,accept_homomorph,P).as_cubochoric() ok = np.allclose(m,o,atol=atol) @@ -848,8 +848,8 @@ class TestRotation: assert ok and o.max() < np.pi**(2./3.)*0.5+1.e-9 @pytest.mark.parametrize('reciprocal',[True,False]) - def test_basis(self,default,reciprocal): - for rot in default: + def test_basis(self,set_of_rotations,reciprocal): + for rot in set_of_rotations: om = rot.as_matrix() + 0.1*np.eye(3) rot = Rotation.from_basis(om,False,reciprocal=reciprocal) assert np.isclose(np.linalg.det(rot.as_matrix()),1.0) @@ -909,8 +909,8 @@ class TestRotation: @pytest.mark.parametrize('data',[np.random.rand(5,3), np.random.rand(5,3,3), np.random.rand(5,3,3,3,3)]) - def test_rotate_vectorization(self,default,data): - for rot in default: + def test_rotate_vectorization(self,set_of_rotations,data): + for rot in set_of_rotations: v = rot.broadcast_to((5,)) @ data for i in range(data.shape[0]): print(i-data[i]) From 6e27a140f66796e47072897c9d0659323127342f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 30 Jun 2020 17:35:52 +0200 Subject: [PATCH 315/958] better split --- python/tests/conftest.py | 79 +++++++++++++++++++++++++++++++++++ python/tests/test_Rotation.py | 77 ---------------------------------- 2 files changed, 79 insertions(+), 77 deletions(-) diff --git a/python/tests/conftest.py b/python/tests/conftest.py index 411c07a8c..78ebea2a5 100644 --- a/python/tests/conftest.py +++ b/python/tests/conftest.py @@ -1,7 +1,10 @@ import os +import numpy as np import pytest +from damask import Rotation + def pytest_addoption(parser): parser.addoption("--update", action="store_true", @@ -16,3 +19,79 @@ def update(request): def reference_dir_base(): """Directory containing reference results.""" return os.path.join(os.path.dirname(__file__),'reference') + +@pytest.fixture +def set_of_rotations(): + """A set of n random rotations.""" + n = 1100 + scatter=1.e-2 + specials = np.array([ + [1.0, 0.0, 0.0, 0.0], + #---------------------- + [0.0, 1.0, 0.0, 0.0], + [0.0, 0.0, 1.0, 0.0], + [0.0, 0.0, 0.0, 1.0], + [0.0,-1.0, 0.0, 0.0], + [0.0, 0.0,-1.0, 0.0], + [0.0, 0.0, 0.0,-1.0], + #---------------------- + [1.0, 1.0, 0.0, 0.0], + [1.0, 0.0, 1.0, 0.0], + [1.0, 0.0, 0.0, 1.0], + [0.0, 1.0, 1.0, 0.0], + [0.0, 1.0, 0.0, 1.0], + [0.0, 0.0, 1.0, 1.0], + #---------------------- + [1.0,-1.0, 0.0, 0.0], + [1.0, 0.0,-1.0, 0.0], + [1.0, 0.0, 0.0,-1.0], + [0.0, 1.0,-1.0, 0.0], + [0.0, 1.0, 0.0,-1.0], + [0.0, 0.0, 1.0,-1.0], + #---------------------- + [0.0, 1.0,-1.0, 0.0], + [0.0, 1.0, 0.0,-1.0], + [0.0, 0.0, 1.0,-1.0], + #---------------------- + [0.0,-1.0,-1.0, 0.0], + [0.0,-1.0, 0.0,-1.0], + [0.0, 0.0,-1.0,-1.0], + #---------------------- + [1.0, 1.0, 1.0, 0.0], + [1.0, 1.0, 0.0, 1.0], + [1.0, 0.0, 1.0, 1.0], + [1.0,-1.0, 1.0, 0.0], + [1.0,-1.0, 0.0, 1.0], + [1.0, 0.0,-1.0, 1.0], + [1.0, 1.0,-1.0, 0.0], + [1.0, 1.0, 0.0,-1.0], + [1.0, 0.0, 1.0,-1.0], + [1.0,-1.0,-1.0, 0.0], + [1.0,-1.0, 0.0,-1.0], + [1.0, 0.0,-1.0,-1.0], + #---------------------- + [0.0, 1.0, 1.0, 1.0], + [0.0, 1.0,-1.0, 1.0], + [0.0, 1.0, 1.0,-1.0], + [0.0,-1.0, 1.0, 1.0], + [0.0,-1.0,-1.0, 1.0], + [0.0,-1.0, 1.0,-1.0], + [0.0,-1.0,-1.0,-1.0], + #---------------------- + [1.0, 1.0, 1.0, 1.0], + [1.0,-1.0, 1.0, 1.0], + [1.0, 1.0,-1.0, 1.0], + [1.0, 1.0, 1.0,-1.0], + [1.0,-1.0,-1.0, 1.0], + [1.0,-1.0, 1.0,-1.0], + [1.0, 1.0,-1.0,-1.0], + [1.0,-1.0,-1.0,-1.0], + ]) + specials /= np.linalg.norm(specials,axis=1).reshape(-1,1) + specials_scatter = specials + np.broadcast_to(np.random.rand(4)*scatter,specials.shape) + specials_scatter /= np.linalg.norm(specials_scatter,axis=1).reshape(-1,1) + specials_scatter[specials_scatter[:,0]<0]*=-1 + + return [Rotation.from_quaternion(s) for s in specials] + \ + [Rotation.from_quaternion(s) for s in specials_scatter] + \ + [Rotation.from_random() for _ in range(n-len(specials)-len(specials_scatter))] diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index b087cc774..6acca8e79 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -9,83 +9,6 @@ from damask import _rotation n = 1000 atol=1.e-4 - -@pytest.fixture -def set_of_rotations(): - """A set of n random rotations.""" - n = 1100 - scatter=1.e-2 - specials = np.array([ - [1.0, 0.0, 0.0, 0.0], - #---------------------- - [0.0, 1.0, 0.0, 0.0], - [0.0, 0.0, 1.0, 0.0], - [0.0, 0.0, 0.0, 1.0], - [0.0,-1.0, 0.0, 0.0], - [0.0, 0.0,-1.0, 0.0], - [0.0, 0.0, 0.0,-1.0], - #---------------------- - [1.0, 1.0, 0.0, 0.0], - [1.0, 0.0, 1.0, 0.0], - [1.0, 0.0, 0.0, 1.0], - [0.0, 1.0, 1.0, 0.0], - [0.0, 1.0, 0.0, 1.0], - [0.0, 0.0, 1.0, 1.0], - #---------------------- - [1.0,-1.0, 0.0, 0.0], - [1.0, 0.0,-1.0, 0.0], - [1.0, 0.0, 0.0,-1.0], - [0.0, 1.0,-1.0, 0.0], - [0.0, 1.0, 0.0,-1.0], - [0.0, 0.0, 1.0,-1.0], - #---------------------- - [0.0, 1.0,-1.0, 0.0], - [0.0, 1.0, 0.0,-1.0], - [0.0, 0.0, 1.0,-1.0], - #---------------------- - [0.0,-1.0,-1.0, 0.0], - [0.0,-1.0, 0.0,-1.0], - [0.0, 0.0,-1.0,-1.0], - #---------------------- - [1.0, 1.0, 1.0, 0.0], - [1.0, 1.0, 0.0, 1.0], - [1.0, 0.0, 1.0, 1.0], - [1.0,-1.0, 1.0, 0.0], - [1.0,-1.0, 0.0, 1.0], - [1.0, 0.0,-1.0, 1.0], - [1.0, 1.0,-1.0, 0.0], - [1.0, 1.0, 0.0,-1.0], - [1.0, 0.0, 1.0,-1.0], - [1.0,-1.0,-1.0, 0.0], - [1.0,-1.0, 0.0,-1.0], - [1.0, 0.0,-1.0,-1.0], - #---------------------- - [0.0, 1.0, 1.0, 1.0], - [0.0, 1.0,-1.0, 1.0], - [0.0, 1.0, 1.0,-1.0], - [0.0,-1.0, 1.0, 1.0], - [0.0,-1.0,-1.0, 1.0], - [0.0,-1.0, 1.0,-1.0], - [0.0,-1.0,-1.0,-1.0], - #---------------------- - [1.0, 1.0, 1.0, 1.0], - [1.0,-1.0, 1.0, 1.0], - [1.0, 1.0,-1.0, 1.0], - [1.0, 1.0, 1.0,-1.0], - [1.0,-1.0,-1.0, 1.0], - [1.0,-1.0, 1.0,-1.0], - [1.0, 1.0,-1.0,-1.0], - [1.0,-1.0,-1.0,-1.0], - ]) - specials /= np.linalg.norm(specials,axis=1).reshape(-1,1) - specials_scatter = specials + np.broadcast_to(np.random.rand(4)*scatter,specials.shape) - specials_scatter /= np.linalg.norm(specials_scatter,axis=1).reshape(-1,1) - specials_scatter[specials_scatter[:,0]<0]*=-1 - - return [Rotation.from_quaternion(s) for s in specials] + \ - [Rotation.from_quaternion(s) for s in specials_scatter] + \ - [Rotation.from_random() for _ in range(n-len(specials)-len(specials_scatter))] - @pytest.fixture def reference_dir(reference_dir_base): """Directory containing reference results.""" From bdb461a5532c6ecf3f3cdca1f89926058ae18a3d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 30 Jun 2020 18:12:19 +0200 Subject: [PATCH 316/958] more flexible and independent --- python/tests/conftest.py | 23 +++++++++++++++++------ python/tests/test_Rotation.py | 8 ++++++-- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/python/tests/conftest.py b/python/tests/conftest.py index 78ebea2a5..2be40a10a 100644 --- a/python/tests/conftest.py +++ b/python/tests/conftest.py @@ -3,8 +3,6 @@ import numpy as np import pytest -from damask import Rotation - def pytest_addoption(parser): parser.addoption("--update", action="store_true", @@ -21,8 +19,21 @@ def reference_dir_base(): return os.path.join(os.path.dirname(__file__),'reference') @pytest.fixture -def set_of_rotations(): +def set_of_quaternions(): """A set of n random rotations.""" + def random_quaternions(N): + r = np.random.rand(N,3) + + A = np.sqrt(r[:,2]) + B = np.sqrt(1.0-r[:,2]) + qu = np.column_stack([np.cos(2.0*np.pi*r[:,0])*A, + np.sin(2.0*np.pi*r[:,1])*B, + np.cos(2.0*np.pi*r[:,1])*B, + np.sin(2.0*np.pi*r[:,0])*A]) + qu[:,0]*=np.sign(qu[:,0]) + + return qu + n = 1100 scatter=1.e-2 specials = np.array([ @@ -92,6 +103,6 @@ def set_of_rotations(): specials_scatter /= np.linalg.norm(specials_scatter,axis=1).reshape(-1,1) specials_scatter[specials_scatter[:,0]<0]*=-1 - return [Rotation.from_quaternion(s) for s in specials] + \ - [Rotation.from_quaternion(s) for s in specials_scatter] + \ - [Rotation.from_random() for _ in range(n-len(specials)-len(specials_scatter))] + return [s for s in specials] + \ + [s for s in specials_scatter] + \ + [s for s in random_quaternions(n-2*len(specials))] diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 6acca8e79..a7f4dd17f 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -14,6 +14,10 @@ def reference_dir(reference_dir_base): """Directory containing reference results.""" return os.path.join(reference_dir_base,'Rotation') +@pytest.fixture +def set_of_rotations(set_of_quaternions): + return [Rotation.from_quaternion(s) for s in set_of_quaternions] + #################################################################################################### # Code below available according to the following conditions on https://github.com/MarDiehl/3Drotations @@ -607,9 +611,9 @@ class TestRotation: (Rotation._qu2ax,qu2ax), (Rotation._qu2ro,qu2ro), (Rotation._qu2ho,qu2ho)]) - def test_quaternion_vectorization(self,set_of_rotations,vectorized,single): + def test_quaternion_vectorization(self,set_of_quaternions,vectorized,single): """Check vectorized implementation for quaternion against single point calculation.""" - qu = np.array([rot.as_quaternion() for rot in set_of_rotations]) + qu = np.array(set_of_quaternions) vectorized(qu.reshape(qu.shape[0]//2,-1,4)) co = vectorized(qu) for q,c in zip(qu,co): From 9a83b11a9923d26fc143fa80e0e4a55d63b50606 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 30 Jun 2020 18:41:59 +0200 Subject: [PATCH 317/958] testing IPF color (vectorization) --- python/tests/conftest.py | 6 +++--- python/tests/test_Orientation.py | 30 +++++++++++++++++++++++------- python/tests/test_Rotation.py | 2 +- python/tests/test_ori_vec.py | 17 ----------------- 4 files changed, 27 insertions(+), 28 deletions(-) diff --git a/python/tests/conftest.py b/python/tests/conftest.py index 2be40a10a..af195ad6d 100644 --- a/python/tests/conftest.py +++ b/python/tests/conftest.py @@ -103,6 +103,6 @@ def set_of_quaternions(): specials_scatter /= np.linalg.norm(specials_scatter,axis=1).reshape(-1,1) specials_scatter[specials_scatter[:,0]<0]*=-1 - return [s for s in specials] + \ - [s for s in specials_scatter] + \ - [s for s in random_quaternions(n-2*len(specials))] + return np.array([s for s in specials] + \ + [s for s in specials_scatter] + \ + [s for s in random_quaternions(n-2*len(specials))]) diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index 277fa2a4b..750f6176d 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -11,6 +11,15 @@ from damask import Lattice n = 1000 +def IPF_color(orientation,direction): + """TSL color of inverse pole figure for given axis (non-vectorized).""" + for o in orientation.equivalent: + pole = o.rotation@direction + inSST,color = orientation.lattice.in_SST(pole,color=True) + if inSST: break + + return color + @pytest.fixture def reference_dir(reference_dir_base): """Directory containing reference results.""" @@ -26,16 +35,23 @@ class TestOrientation: def test_IPF_cubic(self,color,lattice): cube = damask.Orientation(damask.Rotation(),lattice) for direction in set(permutations(np.array(color['direction']))): - assert np.allclose(cube.IPFcolor(np.array(direction)),np.array(color['RGB'])) + assert np.allclose(cube.IPF_color(np.array(direction)),np.array(color['RGB'])) @pytest.mark.parametrize('lattice',Lattice.lattices) - def test_IPF(self,lattice): + def test_IPF_equivalent(self,set_of_quaternions,lattice): direction = np.random.random(3)*2.0-1 - for rot in [Rotation.from_random() for r in range(n//100)]: - R = damask.Orientation(rot,lattice) - color = R.IPFcolor(direction) - for equivalent in R.equivalent: - assert np.allclose(color,R.IPFcolor(direction)) + for ori in Orientation(Rotation(set_of_quaternions),lattice)[200]: + color = ori.IPF_color(direction) + for equivalent in ori.equivalent: + assert np.allclose(color,equivalent.IPF_color(direction)) + + + @pytest.mark.parametrize('lattice',Lattice.lattices) + def test_IPF_vectorize(self,set_of_quaternions,lattice): + for ori in Orientation(Rotation(set_of_quaternions),lattice)[200]: + direction = np.random.random(3)*2.0-1 + assert np.allclose(ori.IPF_color(direction),IPF_color(ori,direction)) + @pytest.mark.parametrize('model',['Bain','KS','GT','GT_prime','NW','Pitsch']) @pytest.mark.parametrize('lattice',['fcc','bcc']) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index a7f4dd17f..20d01af4a 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -6,7 +6,7 @@ import numpy as np from damask import Rotation from damask import _rotation -n = 1000 +n = 1100 atol=1.e-4 @pytest.fixture diff --git a/python/tests/test_ori_vec.py b/python/tests/test_ori_vec.py index ff5fe80bc..772096201 100644 --- a/python/tests/test_ori_vec.py +++ b/python/tests/test_ori_vec.py @@ -97,20 +97,3 @@ class TestOrientation_vec: assert all(ori_vec.reduced_vec.rotation.as_Rodrigues()[2] == ori2.reduced().rotation.as_Rodrigues() ) assert all(ori_vec.reduced_vec.rotation.as_cubochoric()[3] == ori3.reduced().rotation.as_cubochoric() ) assert all(ori_vec.reduced_vec.rotation.as_axis_angle()[4] == ori4.reduced().rotation.as_axis_angle() ) - - - @pytest.mark.parametrize('lattice',['bcc','fcc','bct']) - def test_IPFcolor_vec(self,lattice): - ori0=Orientation(rot0,lattice) - ori1=Orientation(rot1,lattice) - ori2=Orientation(rot2,lattice) - ori3=Orientation(rot3,lattice) - - quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),\ - rot2.as_quaternion(),rot3.as_quaternion()]) - ori_vec=Orientation(quat,lattice) - - assert np.allclose( ori_vec.IPF_color(np.array([0,0,1]))[0],ori0.IPFcolor(np.array([0,0,1]))) - assert np.allclose( ori_vec.IPF_color(np.array([0,2,1]))[1],ori1.IPFcolor(np.array([0,2,1]))) - assert np.allclose( ori_vec.IPF_color(np.array([0,3,1]))[2],ori2.IPFcolor(np.array([0,3,1]))) - assert np.allclose( ori_vec.IPF_color(np.array([4,0,1]))[3],ori3.IPFcolor(np.array([4,0,1]))) From 49d448dcede646f8a231d4befc9da386fea01cd6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 30 Jun 2020 21:43:57 +0200 Subject: [PATCH 318/958] vectorized and cleaned --- python/damask/_lattice.py | 260 ++++++------------------------- python/damask/_orientation.py | 67 ++------ python/damask/_result.py | 6 +- python/damask/_rotation.py | 2 +- python/tests/test_Lattice.py | 122 ++++++++++++++- python/tests/test_Orientation.py | 9 +- python/tests/test_Result.py | 6 +- python/tests/test_ori_vec.py | 38 ----- 8 files changed, 194 insertions(+), 316 deletions(-) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index ee718adcd..74ef61a50 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -29,7 +29,7 @@ class Symmetry: raise KeyError(f'Crystal system "{system}" is unknown') self.system = system.lower() if isinstance(system,str) else system - self.lattice = self.system # for compatibility + self.lattice = self.system # ToDo: for compatibility def __copy__(self): @@ -82,85 +82,10 @@ class Symmetry: otherOrder = self.crystal_systems.index(other.system) return (myOrder > otherOrder) - (myOrder < otherOrder) - def symmetryOperations(self,members=[]): - """List (or single element) of symmetry operations as rotations.""" - if self.system == 'cubic': - symQuats = [ - [ 1.0, 0.0, 0.0, 0.0 ], - [ 0.0, 1.0, 0.0, 0.0 ], - [ 0.0, 0.0, 1.0, 0.0 ], - [ 0.0, 0.0, 0.0, 1.0 ], - [ 0.0, 0.0, 0.5*np.sqrt(2), 0.5*np.sqrt(2) ], - [ 0.0, 0.0, 0.5*np.sqrt(2),-0.5*np.sqrt(2) ], - [ 0.0, 0.5*np.sqrt(2), 0.0, 0.5*np.sqrt(2) ], - [ 0.0, 0.5*np.sqrt(2), 0.0, -0.5*np.sqrt(2) ], - [ 0.0, 0.5*np.sqrt(2),-0.5*np.sqrt(2), 0.0 ], - [ 0.0, -0.5*np.sqrt(2),-0.5*np.sqrt(2), 0.0 ], - [ 0.5, 0.5, 0.5, 0.5 ], - [-0.5, 0.5, 0.5, 0.5 ], - [-0.5, 0.5, 0.5, -0.5 ], - [-0.5, 0.5, -0.5, 0.5 ], - [-0.5, -0.5, 0.5, 0.5 ], - [-0.5, -0.5, 0.5, -0.5 ], - [-0.5, -0.5, -0.5, 0.5 ], - [-0.5, 0.5, -0.5, -0.5 ], - [-0.5*np.sqrt(2), 0.0, 0.0, 0.5*np.sqrt(2) ], - [ 0.5*np.sqrt(2), 0.0, 0.0, 0.5*np.sqrt(2) ], - [-0.5*np.sqrt(2), 0.0, 0.5*np.sqrt(2), 0.0 ], - [-0.5*np.sqrt(2), 0.0, -0.5*np.sqrt(2), 0.0 ], - [-0.5*np.sqrt(2), 0.5*np.sqrt(2), 0.0, 0.0 ], - [-0.5*np.sqrt(2),-0.5*np.sqrt(2), 0.0, 0.0 ], - ] - elif self.system == 'hexagonal': - symQuats = [ - [ 1.0, 0.0, 0.0, 0.0 ], - [-0.5*np.sqrt(3), 0.0, 0.0, -0.5 ], - [ 0.5, 0.0, 0.0, 0.5*np.sqrt(3) ], - [ 0.0, 0.0, 0.0, 1.0 ], - [-0.5, 0.0, 0.0, 0.5*np.sqrt(3) ], - [-0.5*np.sqrt(3), 0.0, 0.0, 0.5 ], - [ 0.0, 1.0, 0.0, 0.0 ], - [ 0.0, -0.5*np.sqrt(3), 0.5, 0.0 ], - [ 0.0, 0.5, -0.5*np.sqrt(3), 0.0 ], - [ 0.0, 0.0, 1.0, 0.0 ], - [ 0.0, -0.5, -0.5*np.sqrt(3), 0.0 ], - [ 0.0, 0.5*np.sqrt(3), 0.5, 0.0 ], - ] - elif self.system == 'tetragonal': - symQuats = [ - [ 1.0, 0.0, 0.0, 0.0 ], - [ 0.0, 1.0, 0.0, 0.0 ], - [ 0.0, 0.0, 1.0, 0.0 ], - [ 0.0, 0.0, 0.0, 1.0 ], - [ 0.0, 0.5*np.sqrt(2), 0.5*np.sqrt(2), 0.0 ], - [ 0.0, -0.5*np.sqrt(2), 0.5*np.sqrt(2), 0.0 ], - [ 0.5*np.sqrt(2), 0.0, 0.0, 0.5*np.sqrt(2) ], - [-0.5*np.sqrt(2), 0.0, 0.0, 0.5*np.sqrt(2) ], - ] - elif self.system == 'orthorhombic': - symQuats = [ - [ 1.0,0.0,0.0,0.0 ], - [ 0.0,1.0,0.0,0.0 ], - [ 0.0,0.0,1.0,0.0 ], - [ 0.0,0.0,0.0,1.0 ], - ] - else: - symQuats = [ - [ 1.0,0.0,0.0,0.0 ], - ] - - symOps = list(map(Rotation, - np.array(symQuats)[np.atleast_1d(members) if members != [] else range(len(symQuats))])) - try: - iter(members) # asking for (even empty) list of members? - except TypeError: - return symOps[0] # no, return rotation object - else: - return symOps # yes, return list of rotations @property def symmetry_operations(self): - """Symmetry operations as Rotations.""" + """Symmetry operations as Quaternions.""" if self.system == 'cubic': symQuats = [ [ 1.0, 0.0, 0.0, 0.0 ], @@ -228,42 +153,40 @@ class Symmetry: return np.array(symQuats) - def inFZ(self,rodrigues): + def in_FZ(self,rho): """ - Check whether given Rodrigues-Frank vector falls into fundamental zone of own symmetry. + Check whether given Rodrigues-Frank vector falls into fundamental zone. Fundamental zone in Rodrigues space is point symmetric around origin. """ - if (len(rodrigues) != 3): - raise ValueError('Input is not a Rodrigues-Frank vector.\n') + if(rho.shape[-1] != 3): + raise ValueError('Input is not a Rodrigues-Frank vector.') - if np.any(rodrigues == np.inf): return False # ToDo: MD: not sure if needed + rho_abs = np.abs(rho) - Rabs = abs(rodrigues) - - if self.system == 'cubic': - return np.sqrt(2.0)-1.0 >= Rabs[0] \ - and np.sqrt(2.0)-1.0 >= Rabs[1] \ - and np.sqrt(2.0)-1.0 >= Rabs[2] \ - and 1.0 >= Rabs[0] + Rabs[1] + Rabs[2] - elif self.system == 'hexagonal': - return 1.0 >= Rabs[0] and 1.0 >= Rabs[1] and 1.0 >= Rabs[2] \ - and 2.0 >= np.sqrt(3)*Rabs[0] + Rabs[1] \ - and 2.0 >= np.sqrt(3)*Rabs[1] + Rabs[0] \ - and 2.0 >= np.sqrt(3) + Rabs[2] - elif self.system == 'tetragonal': - return 1.0 >= Rabs[0] and 1.0 >= Rabs[1] \ - and np.sqrt(2.0) >= Rabs[0] + Rabs[1] \ - and np.sqrt(2.0) >= Rabs[2] + 1.0 - elif self.system == 'orthorhombic': - return 1.0 >= Rabs[0] and 1.0 >= Rabs[1] and 1.0 >= Rabs[2] - else: - return True + with np.errstate(invalid='ignore'): + # using '*'/prod for 'and' + if self.system == 'cubic': + return np.where(np.prod(np.sqrt(2)-1. >= rho_abs,axis=-1) * \ + (1. >= np.sum(rho_abs,axis=-1)),True,False) + elif self.system == 'hexagonal': + return np.where(np.prod(1. >= rho_abs,axis=-1) * \ + (2. >= np.sqrt(3)*rho_abs[...,0] + rho_abs[...,1]) * \ + (2. >= np.sqrt(3)*rho_abs[...,1] + rho_abs[...,0]) * \ + (2. >= np.sqrt(3) + rho_abs[...,2]),True,False) + elif self.system == 'tetragonal': + return np.where(np.prod(1. >= rho_abs[...,:2],axis=-1) * \ + (np.sqrt(2) >= rho_abs[...,0] + rho_abs[...,1]) * \ + (np.sqrt(2) >= rho_abs[...,2] + 1.),True,False) + elif self.system == 'orthorhombic': + return np.where(np.prod(1. >= rho_abs,axis=-1),True,False) + else: + return np.where(np.all(np.isfinite(rho_abs),axis=-1),True,False) - def inDisorientationSST(self,rodrigues): + def in_disorientation_SST(self,rho): """ - Check whether given Rodrigues-Frank vector (of misorientation) falls into standard stereographic triangle of own symmetry. + Check whether given Rodrigues-Frank vector (of misorientation) falls into standard stereographic triangle. References ---------- @@ -271,115 +194,32 @@ class Symmetry: https://doi.org/10.1107/S0108767391006864 """ - if (len(rodrigues) != 3): - raise ValueError('Input is not a Rodrigues-Frank vector.\n') - R = rodrigues + if(rho.shape[-1] != 3): + raise ValueError('Input is not a Rodrigues-Frank vector.') - epsilon = 0.0 - if self.system == 'cubic': - return R[0] >= R[1]+epsilon and R[1] >= R[2]+epsilon and R[2] >= epsilon - elif self.system == 'hexagonal': - return R[0] >= np.sqrt(3)*(R[1]-epsilon) and R[1] >= epsilon and R[2] >= epsilon - elif self.system == 'tetragonal': - return R[0] >= R[1]-epsilon and R[1] >= epsilon and R[2] >= epsilon - elif self.system == 'orthorhombic': - return R[0] >= epsilon and R[1] >= epsilon and R[2] >= epsilon - else: - return True - - - def inSST(self, - vector, - proper = False, - color = False): - """ - Check whether given vector falls into standard stereographic triangle of own symmetry. - - proper considers only vectors with z >= 0, hence uses two neighboring SSTs. - Return inverse pole figure color if requested. - Bases are computed from - - >>> basis = {'cubic' : np.linalg.inv(np.array([[0.,0.,1.], # direction of red - ... [1.,0.,1.]/np.sqrt(2.), # direction of green - ... [1.,1.,1.]/np.sqrt(3.)]).T), # direction of blue - ... 'hexagonal' : np.linalg.inv(np.array([[0.,0.,1.], # direction of red - ... [1.,0.,0.], # direction of green - ... [np.sqrt(3.),1.,0.]/np.sqrt(4.)]).T), # direction of blue - ... 'tetragonal' : np.linalg.inv(np.array([[0.,0.,1.], # direction of red - ... [1.,0.,0.], # direction of green - ... [1.,1.,0.]/np.sqrt(2.)]).T), # direction of blue - ... 'orthorhombic': np.linalg.inv(np.array([[0.,0.,1.], # direction of red - ... [1.,0.,0.], # direction of green - ... [0.,1.,0.]]).T), # direction of blue - ... } - - """ - if self.system == 'cubic': - basis = {'improper':np.array([ [-1. , 0. , 1. ], - [ np.sqrt(2.) , -np.sqrt(2.) , 0. ], - [ 0. , np.sqrt(3.) , 0. ] ]), - 'proper':np.array([ [ 0. , -1. , 1. ], - [-np.sqrt(2.) , np.sqrt(2.) , 0. ], - [ np.sqrt(3.) , 0. , 0. ] ]), - } - elif self.system == 'hexagonal': - basis = {'improper':np.array([ [ 0. , 0. , 1. ], - [ 1. , -np.sqrt(3.) , 0. ], - [ 0. , 2. , 0. ] ]), - 'proper':np.array([ [ 0. , 0. , 1. ], - [-1. , np.sqrt(3.) , 0. ], - [ np.sqrt(3.) , -1. , 0. ] ]), - } - elif self.system == 'tetragonal': - basis = {'improper':np.array([ [ 0. , 0. , 1. ], - [ 1. , -1. , 0. ], - [ 0. , np.sqrt(2.) , 0. ] ]), - 'proper':np.array([ [ 0. , 0. , 1. ], - [-1. , 1. , 0. ], - [ np.sqrt(2.) , 0. , 0. ] ]), - } - elif self.system == 'orthorhombic': - basis = {'improper':np.array([ [ 0., 0., 1.], - [ 1., 0., 0.], - [ 0., 1., 0.] ]), - 'proper':np.array([ [ 0., 0., 1.], - [-1., 0., 0.], - [ 0., 1., 0.] ]), - } - else: # direct exit for unspecified symmetry - if color: - return (True,np.zeros(3,'d')) + with np.errstate(invalid='ignore'): + # using '*' for 'and' + if self.system == 'cubic': + return np.where((rho[...,0] >= rho[...,1]) * \ + (rho[...,1] >= rho[...,2]) * \ + (rho[...,2] >= 0),True,False) + elif self.system == 'hexagonal': + return np.where((rho[...,0] >= rho[...,1]*np.sqrt(3)) * \ + (rho[...,1] >= 0) * \ + (rho[...,2] >= 0),True,False) + elif self.system == 'tetragonal': + return np.where((rho[...,0] >= rho[...,1]) * \ + (rho[...,1] >= 0) * \ + (rho[...,2] >= 0),True,False) + elif self.system == 'orthorhombic': + return np.where((rho[...,0] >= 0) * \ + (rho[...,1] >= 0) * \ + (rho[...,2] >= 0),True,False) else: - return True - - v = np.array(vector,dtype=float) - if proper: # check both improper ... - theComponents = np.around(np.dot(basis['improper'],v),12) - inSST = np.all(theComponents >= 0.0) - if not inSST: # ... and proper SST - theComponents = np.around(np.dot(basis['proper'],v),12) - inSST = np.all(theComponents >= 0.0) - else: - v[2] = abs(v[2]) # z component projects identical - theComponents = np.around(np.dot(basis['improper'],v),12) # for positive and negative values - inSST = np.all(theComponents >= 0.0) - - if color: # have to return color array - if inSST: - rgb = np.power(theComponents/np.linalg.norm(theComponents),0.5) # smoothen color ramps - rgb = np.minimum(np.ones(3,dtype=float),rgb) # limit to maximum intensity - rgb /= max(rgb) # normalize to (HS)V = 1 - else: - rgb = np.zeros(3,dtype=float) - return (inSST,rgb) - else: - return inSST + return np.ones_like(rho[...,0],dtype=bool) - def in_SST(self, - vector, - proper = False, - color = False): + def in_SST(self,vector,proper=False,color=False): """ Check whether given vector falls into standard stereographic triangle of own symmetry. @@ -503,7 +343,7 @@ class Lattice: # ToDo: Make a subclass of Symmetry! # transition to subclass self.system = self.symmetry.system self.in_SST = self.symmetry.in_SST - self.inFZ = self.symmetry.inFZ + self.in_FZ = self.symmetry.in_FZ def __repr__(self): diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 7d0f11c49..b6b24e951 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -40,8 +40,6 @@ class Orientation: # ToDo: make subclass of lattice and Rotation self.rotation = Rotation.from_quaternion(rotation) # assume quaternion def __getitem__(self,item): - if isinstance(item,tuple) and len(item) >= len(self): - raise IndexError('Too many indices') return self.__class__(self.rotation[item],self.lattice) @@ -61,8 +59,8 @@ class Orientation: # ToDo: make subclass of lattice and Rotation if self.lattice.symmetry != other.lattice.symmetry: raise NotImplementedError('disorientation between different symmetry classes not supported yet.') - mySymEqs = self.equivalentOrientations() if SST else self.equivalentOrientations([0]) # take all or only first sym operation - otherSymEqs = other.equivalentOrientations() + mySymEqs = self.equivalent if SST else self.equivalent[0] # take all or only first sym operation + otherSymEqs = other.equivalent for i,sA in enumerate(mySymEqs): aInv = sA.rotation.inversed() @@ -71,7 +69,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation r = b*aInv for k in range(2): r.inverse() - breaker = self.lattice.inFZ(r.as_Rodrigues(vector=True)) \ + breaker = self.in_FZ \ and (not SST or other.lattice.symmetry.inDisorientationSST(r.as_Rodrigues(vector=True))) if breaker: break if breaker: break @@ -81,17 +79,10 @@ class Orientation: # ToDo: make subclass of lattice and Rotation # ... own sym, other sym, # self-->other: True, self<--other: False - def inFZ_vec(self): + + def in_FZ(self): """Check if orientations fall into Fundamental Zone.""" - if not self.rotation.shape: - return self.lattice.inFZ(self.rotation.as_Rodrigues(vector=True)) - else: - return [self.lattice.inFZ(\ - self.rotation.as_Rodrigues(vector=True)[l]) for l in range(self.rotation.shape[0])] - - - def inFZ(self): - return self.lattice.inFZ(self.rotation.as_Rodrigues(vector=True)) + return self.lattice.in_FZ(self.rotation.as_Rodrigues(vector=True)) @property def equivalent(self): @@ -112,16 +103,6 @@ class Orientation: # ToDo: make subclass of lattice and Rotation return self.__class__(s@r,self.lattice) - def equivalentOrientations(self,members=[]): - """List of orientations which are symmetrically equivalent.""" - try: - iter(members) # asking for (even empty) list of members? - except TypeError: - return self.__class__(self.lattice.symmetry.symmetryOperations(members)*self.rotation,self.lattice) # no, return rotation object - else: - return [self.__class__(q*self.rotation,self.lattice) \ - for q in self.lattice.symmetry.symmetryOperations(members)] # yes, return list of rotations - def relatedOrientations_vec(self,model): """List of orientations related by the given orientation relationship.""" h = self.lattice.relationOperations(model) @@ -149,7 +130,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation r= 1 if not self.rotation.shape else equi.shape[1] #number of rotations num_equi=equi.shape[0] #number of equivalente orientations quat= np.reshape( equi.as_quaternion(), (r*num_equi,4) ,order='F') #equivalents are listed in intiuitive order - boolean=Orientation(quat, self.lattice).inFZ_vec() #check which ones are in FZ + boolean=Orientation(quat, self.lattice).in_FZ() #check which ones are in FZ if sum(boolean) == r: return self.__class__(quat[boolean],self.lattice) @@ -162,13 +143,10 @@ class Orientation: # ToDo: make subclass of lattice and Rotation return self.__class__(quat[index],self.lattice) - - - def reduced(self): """Transform orientation to fall into fundamental zone according to symmetry.""" - for me in self.equivalentOrientations(): - if self.lattice.inFZ(me.rotation.as_Rodrigues(vector=True)): break + for me in self.equivalent: + if self.lattice.in_FZ(me.rotation.as_Rodrigues(vector=True)): break return self.__class__(me.rotation,self.lattice) @@ -179,35 +157,23 @@ class Orientation: # ToDo: make subclass of lattice and Rotation SST = True): """Axis rotated according to orientation (using crystal symmetry to ensure location falls into SST).""" if SST: # pole requested to be within SST - for i,o in enumerate(self.equivalentOrientations()): # test all symmetric equivalent quaternions + for i,o in enumerate(self.equivalent): # test all symmetric equivalent quaternions pole = o.rotation@axis # align crystal direction to axis - if self.lattice.symmetry.inSST(pole,proper): break # found SST version + if self.lattice.in_SST(pole,proper): break # found SST version else: pole = self.rotation@axis # align crystal direction to axis return (pole,i if SST else 0) - def IPFcolor(self,axis): + def IPF_color(self,axis): #ToDo axis or direction? """TSL color of inverse pole figure for given axis.""" - color = np.zeros(3,'d') - - for o in self.equivalent: - pole = o.rotation@axis # align crystal direction to axis - inSST,color = self.lattice.symmetry.inSST(pole,color=True) - if inSST: break - - return color - - - def IPF_color(self,axis): - """TSL color of inverse pole figure for given axis. Not for hex or triclinic lattices.""" eq = self.equivalent pole = eq.rotation @ np.broadcast_to(axis/np.linalg.norm(axis),eq.rotation.shape+(3,)) in_SST, color = self.lattice.in_SST(pole,color=True) # ignore duplicates (occur for highly symmetric orientations) - found = np.zeros_like(in_SST[1],dtype=bool) + found = np.zeros_like(in_SST[0],dtype=bool) c = np.empty(color.shape[1:]) for s in range(in_SST.shape[0]): c = np.where(np.expand_dims(np.logical_and(in_SST[s],~found),-1),color[s],c) @@ -220,17 +186,18 @@ class Orientation: # ToDo: make subclass of lattice and Rotation def fromAverage(orientations, weights = []): """Create orientation from average of list of orientations.""" - # further read: Orientation distribution analysis in deformed grains, https://doi.org/10.1107/S0021889801003077 + # further read: Orientation distribution analysis in deformed grains + # https://doi.org/10.1107/S0021889801003077 if not all(isinstance(item, Orientation) for item in orientations): raise TypeError("Only instances of Orientation can be averaged.") closest = [] ref = orientations[0] for o in orientations: - closest.append(o.equivalentOrientations( + closest.append(o.equivalent[ ref.disorientation(o, SST = False, # select (o[ther]'s) sym orientation - symmetries = True)[2]).rotation) # with lowest misorientation + symmetries = True)[2]].rotation) # with lowest misorientation return Orientation(Rotation.fromAverage(closest,weights),ref.lattice) diff --git a/python/damask/_result.py b/python/damask/_result.py index e6dac9370..1396b560d 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -733,7 +733,7 @@ class Result: @staticmethod - def _add_IPFcolor(q,l): + def _add_IPF_color(q,l): m = util.scale_to_coprime(np.array(l)) o = Orientation(Rotation(rfn.structured_to_unstructured(q['data'])), @@ -749,7 +749,7 @@ class Result: 'Creator': inspect.stack()[0][3][1:] } } - def add_IPFcolor(self,q,l): + def add_IPF_color(self,q,l): """ Add RGB color tuple of inverse pole figure (IPF) color. @@ -761,7 +761,7 @@ class Result: Lab frame direction for inverse pole figure. """ - self._add_generic_pointwise(self._add_IPFcolor,{'q':q},{'l':l}) + self._add_generic_pointwise(self._add_IPF_color,{'q':q},{'l':l}) @staticmethod diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 686b144ae..accd453cc 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -470,7 +470,7 @@ class Rotation: elif hasattr(shape, '__iter__'): r = np.random.random(tuple(shape)+(3,)) else: - r = np.random.random((shape,3)) + r = np.random.rand(shape,3) A = np.sqrt(r[...,2]) B = np.sqrt(1.0-r[...,2]) diff --git a/python/tests/test_Lattice.py b/python/tests/test_Lattice.py index 3d9c35706..8e4616660 100644 --- a/python/tests/test_Lattice.py +++ b/python/tests/test_Lattice.py @@ -3,10 +3,118 @@ import random import pytest import numpy as np +from damask import Orientation +from damask import Rotation from damask import Symmetry +def in_FZ(system,rho): + """Non-vectorized version of 'in_FZ'.""" + rho_abs = abs(rho) + + if system == 'cubic': + return np.sqrt(2.0)-1.0 >= rho_abs[0] \ + and np.sqrt(2.0)-1.0 >= rho_abs[1] \ + and np.sqrt(2.0)-1.0 >= rho_abs[2] \ + and 1.0 >= rho_abs[0] + rho_abs[1] + rho_abs[2] + elif system == 'hexagonal': + return 1.0 >= rho_abs[0] and 1.0 >= rho_abs[1] and 1.0 >= rho_abs[2] \ + and 2.0 >= np.sqrt(3)*rho_abs[0] + rho_abs[1] \ + and 2.0 >= np.sqrt(3)*rho_abs[1] + rho_abs[0] \ + and 2.0 >= np.sqrt(3) + rho_abs[2] + elif system == 'tetragonal': + return 1.0 >= rho_abs[0] and 1.0 >= rho_abs[1] \ + and np.sqrt(2.0) >= rho_abs[0] + rho_abs[1] \ + and np.sqrt(2.0) >= rho_abs[2] + 1.0 + elif system == 'orthorhombic': + return 1.0 >= rho_abs[0] and 1.0 >= rho_abs[1] and 1.0 >= rho_abs[2] + else: + return np.all(np.isfinite(rho_abs)) + + +def in_disorientation_SST(system,rho): + """Non-vectorized version of 'in_Disorientation_SST'.""" + epsilon = 0.0 + if system == 'cubic': + return rho[0] >= rho[1]+epsilon and rho[1] >= rho[2]+epsilon and rho[2] >= epsilon + elif system == 'hexagonal': + return rho[0] >= np.sqrt(3)*(rho[1]-epsilon) and rho[1] >= epsilon and rho[2] >= epsilon + elif system == 'tetragonal': + return rho[0] >= rho[1]-epsilon and rho[1] >= epsilon and rho[2] >= epsilon + elif system == 'orthorhombic': + return rho[0] >= epsilon and rho[1] >= epsilon and rho[2] >= epsilon + else: + return True + + +def in_SST(system,vector,proper = False): + """Non-vectorized version of 'in_SST'.""" + if system == 'cubic': + basis = {'improper':np.array([ [-1. , 0. , 1. ], + [ np.sqrt(2.) , -np.sqrt(2.) , 0. ], + [ 0. , np.sqrt(3.) , 0. ] ]), + 'proper':np.array([ [ 0. , -1. , 1. ], + [-np.sqrt(2.) , np.sqrt(2.) , 0. ], + [ np.sqrt(3.) , 0. , 0. ] ]), + } + elif system == 'hexagonal': + basis = {'improper':np.array([ [ 0. , 0. , 1. ], + [ 1. , -np.sqrt(3.) , 0. ], + [ 0. , 2. , 0. ] ]), + 'proper':np.array([ [ 0. , 0. , 1. ], + [-1. , np.sqrt(3.) , 0. ], + [ np.sqrt(3.) , -1. , 0. ] ]), + } + elif system == 'tetragonal': + basis = {'improper':np.array([ [ 0. , 0. , 1. ], + [ 1. , -1. , 0. ], + [ 0. , np.sqrt(2.) , 0. ] ]), + 'proper':np.array([ [ 0. , 0. , 1. ], + [-1. , 1. , 0. ], + [ np.sqrt(2.) , 0. , 0. ] ]), + } + elif system == 'orthorhombic': + basis = {'improper':np.array([ [ 0., 0., 1.], + [ 1., 0., 0.], + [ 0., 1., 0.] ]), + 'proper':np.array([ [ 0., 0., 1.], + [-1., 0., 0.], + [ 0., 1., 0.] ]), + } + else: + return True + + v = np.array(vector,dtype=float) + if proper: + theComponents = np.around(np.dot(basis['improper'],v),12) + inSST = np.all(theComponents >= 0.0) + if not inSST: + theComponents = np.around(np.dot(basis['proper'],v),12) + inSST = np.all(theComponents >= 0.0) + else: + v[2] = abs(v[2]) + theComponents = np.around(np.dot(basis['improper'],v),12) + inSST = np.all(theComponents >= 0.0) + + return inSST + + +@pytest.fixture +def set_of_rodrigues(set_of_quaternions): + return Rotation(set_of_quaternions).as_Rodrigues(vector=True)[:200] + class TestSymmetry: + @pytest.mark.parametrize('system',Symmetry.crystal_systems) + def test_in_FZ_vectorize(self,set_of_rodrigues,system): + for i,in_FZ_ in enumerate(Symmetry(system).in_FZ(set_of_rodrigues)): + assert in_FZ_ == in_FZ(system,set_of_rodrigues[i]) + + @pytest.mark.parametrize('system',Symmetry.crystal_systems) + def test_in_disorientation_SST_vectorize(self,set_of_rodrigues,system): + for i,in_disorientation_SST_ in enumerate(Symmetry(system).in_disorientation_SST(set_of_rodrigues)): + assert in_disorientation_SST_ == in_disorientation_SST(system,set_of_rodrigues[i]) + + @pytest.mark.parametrize('invalid_symmetry',['fcc','bcc','hello']) def test_invalid_symmetry(self,invalid_symmetry): with pytest.raises(KeyError): @@ -22,19 +130,19 @@ class TestSymmetry: assert Symmetry(symmetries[0]) != Symmetry(symmetries[1]) @pytest.mark.parametrize('system',Symmetry.crystal_systems) - def test_inFZ(self,system): - assert Symmetry(system).inFZ(np.zeros(3)) + def test_in_FZ(self,system): + assert Symmetry(system).in_FZ(np.zeros(3)) @pytest.mark.parametrize('system',Symmetry.crystal_systems) - def test_inDisorientationSST(self,system): - assert Symmetry(system).inDisorientationSST(np.zeros(3)) + def test_in_disorientation_SST(self,system): + assert Symmetry(system).in_disorientation_SST(np.zeros(3)) @pytest.mark.parametrize('system',Symmetry.crystal_systems) @pytest.mark.parametrize('proper',[True,False]) - def test_inSST(self,system,proper): - assert Symmetry(system).inSST(np.zeros(3),proper) + def test_in_SST(self,system,proper): + assert Symmetry(system).in_SST(np.zeros(3),proper) - @pytest.mark.parametrize('function',['inFZ','inDisorientationSST']) + @pytest.mark.parametrize('function',['in_FZ','in_disorientation_SST']) def test_invalid_argument(self,function): s = Symmetry() # noqa with pytest.raises(ValueError): diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index 750f6176d..f6f25e0a7 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -40,7 +40,7 @@ class TestOrientation: @pytest.mark.parametrize('lattice',Lattice.lattices) def test_IPF_equivalent(self,set_of_quaternions,lattice): direction = np.random.random(3)*2.0-1 - for ori in Orientation(Rotation(set_of_quaternions),lattice)[200]: + for ori in Orientation(Rotation(set_of_quaternions),lattice)[:200]: color = ori.IPF_color(direction) for equivalent in ori.equivalent: assert np.allclose(color,equivalent.IPF_color(direction)) @@ -48,9 +48,10 @@ class TestOrientation: @pytest.mark.parametrize('lattice',Lattice.lattices) def test_IPF_vectorize(self,set_of_quaternions,lattice): - for ori in Orientation(Rotation(set_of_quaternions),lattice)[200]: - direction = np.random.random(3)*2.0-1 - assert np.allclose(ori.IPF_color(direction),IPF_color(ori,direction)) + direction = np.random.random(3)*2.0-1 + oris = Orientation(Rotation(set_of_quaternions),lattice)[:200] + for i,color in enumerate(oris.IPF_color(direction)): + assert np.allclose(color,IPF_color(oris[i],direction)) @pytest.mark.parametrize('model',['Bain','KS','GT','GT_prime','NW','Pitsch']) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index d7946e5e0..aec91db9f 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -153,8 +153,8 @@ class TestResult: assert np.allclose(in_memory,in_file) @pytest.mark.parametrize('d',[[1,0,0],[0,1,0],[0,0,1]]) - def test_add_IPFcolor(self,default,d): - default.add_IPFcolor('orientation',d) + def test_add_IPF_color(self,default,d): + default.add_IPF_color('orientation',d) loc = {'orientation': default.get_dataset_location('orientation'), 'color': default.get_dataset_location('IPFcolor_[{} {} {}]'.format(*d))} qu = default.read_dataset(loc['orientation']).view(np.double).reshape(-1,4) @@ -162,7 +162,7 @@ class TestResult: in_memory = np.empty((qu.shape[0],3),np.uint8) for i,q in enumerate(qu): o = damask.Orientation(q,crystal_structure).reduced() - in_memory[i] = np.uint8(o.IPFcolor(np.array(d))*255) + in_memory[i] = np.uint8(o.IPF_color(np.array(d))*255) in_file = default.read_dataset(loc['color']) assert np.allclose(in_memory,in_file) diff --git a/python/tests/test_ori_vec.py b/python/tests/test_ori_vec.py index 772096201..7cb465046 100644 --- a/python/tests/test_ori_vec.py +++ b/python/tests/test_ori_vec.py @@ -16,44 +16,6 @@ rot3= Rotation.from_random() #average class TestOrientation_vec: - #@pytest.mark.xfail - @pytest.mark.parametrize('lattice',Lattice.lattices) - def test_equivalent_vec(self,lattice): - ori0=Orientation(rot0,lattice) - ori1=Orientation(rot1,lattice) - ori2=Orientation(rot2,lattice) - ori3=Orientation(rot3,lattice) - - quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),rot2.as_quaternion(),rot3.as_quaternion()]) - ori_vec=Orientation(quat,lattice) - - for s in range(len(ori_vec.lattice.symmetry.symmetryOperations())): - assert all(ori_vec.equivalent.rotation.as_Eulers()[s,0] == \ - ori0.equivalent[s].rotation.as_Eulers()) - assert all(ori_vec.equivalent.rotation.as_quaternion()[s,1] == \ - ori1.equivalent[s].rotation.as_quaternion()) - assert all(ori_vec.equivalent.rotation.as_Rodrigues()[s,2] == \ - ori2.equivalent[s].rotation.as_Rodrigues()) - assert all(ori_vec.equivalent.rotation.as_cubochoric()[s,3] == \ - ori3.equivalent[s].rotation.as_cubochoric()) - - @pytest.mark.parametrize('lattice',Lattice.lattices) - def test_inFZ_vec(self,lattice): - ori0=Orientation(rot0,lattice) - ori1=Orientation(rot1,lattice) - ori2=Orientation(rot2,lattice) - ori3=Orientation(rot3,lattice) - ori4=ori0.reduced() ; rot4=ori4.rotation #ensure 1 of them is in FZ - - quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),\ - rot2.as_quaternion(),rot3.as_quaternion(), rot4.as_quaternion()]) - ori_vec=Orientation(quat,lattice) - - assert ori_vec.inFZ_vec()[0] == ori0.inFZ() - assert ori_vec.inFZ_vec()[1] == ori1.inFZ() - assert ori_vec.inFZ_vec()[2] == ori2.inFZ() - assert ori_vec.inFZ_vec()[3] == ori3.inFZ() - assert ori_vec.inFZ_vec()[4] == ori4.inFZ() @pytest.mark.parametrize('model',['Bain','KS','GT','GT_prime','NW','Pitsch']) From ef0c78745a1b7146bac19c71fd285608da47c194 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 30 Jun 2020 22:33:58 +0200 Subject: [PATCH 319/958] fix for vectorized in_SST + test --- python/damask/_lattice.py | 14 +++++++++----- python/damask/_orientation.py | 1 - python/tests/test_Lattice.py | 19 ++++++++++++++----- python/tests/test_Result.py | 2 +- python/tests/test_Rotation.py | 2 +- 5 files changed, 25 insertions(+), 13 deletions(-) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index 74ef61a50..a337aa1a1 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -160,7 +160,7 @@ class Symmetry: Fundamental zone in Rodrigues space is point symmetric around origin. """ if(rho.shape[-1] != 3): - raise ValueError('Input is not a Rodrigues-Frank vector.') + raise ValueError('Input is not a Rodrigues-Frank vector field.') rho_abs = np.abs(rho) @@ -195,7 +195,7 @@ class Symmetry: """ if(rho.shape[-1] != 3): - raise ValueError('Input is not a Rodrigues-Frank vector.') + raise ValueError('Input is not a Rodrigues-Frank vector field.') with np.errstate(invalid='ignore'): # using '*' for 'and' @@ -242,6 +242,9 @@ class Symmetry: ... } """ + if(vector.shape[-1] != 3): + raise ValueError('Input is not a 3D vector field.') + if self.system == 'cubic': basis = {'improper':np.array([ [-1. , 0. , 1. ], [ np.sqrt(2.) , -np.sqrt(2.) , 0. ], @@ -280,16 +283,17 @@ class Symmetry: else: return np.ones_like(vector[...,0],bool) - b_p = np.broadcast_to(basis['proper'], vector.shape+(3,)) + + b_i = np.broadcast_to(basis['improper'],vector.shape+(3,)) if proper: - b_i = np.broadcast_to(basis['improper'],vector.shape+(3,)) + b_p = np.broadcast_to(basis['proper'], vector.shape+(3,)) improper = np.all(np.around(np.einsum('...ji,...i',b_i,vector),12)>=0.0,axis=-1,keepdims=True) theComponents = np.where(np.broadcast_to(improper,vector.shape), np.around(np.einsum('...ji,...i',b_i,vector),12), np.around(np.einsum('...ji,...i',b_p,vector),12)) else: vector_ = np.block([vector[...,0:2],np.abs(vector[...,2:3])]) # z component projects identical - theComponents = np.around(np.einsum('...ji,...i',b_p,vector_),12) + theComponents = np.around(np.einsum('...ji,...i',b_i,vector_),12) in_SST = np.all(theComponents >= 0.0,axis=-1) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index b6b24e951..c59ababda 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -79,7 +79,6 @@ class Orientation: # ToDo: make subclass of lattice and Rotation # ... own sym, other sym, # self-->other: True, self<--other: False - def in_FZ(self): """Check if orientations fall into Fundamental Zone.""" return self.lattice.in_FZ(self.rotation.as_Rodrigues(vector=True)) diff --git a/python/tests/test_Lattice.py b/python/tests/test_Lattice.py index 8e4616660..f53c3ad03 100644 --- a/python/tests/test_Lattice.py +++ b/python/tests/test_Lattice.py @@ -106,14 +106,23 @@ class TestSymmetry: @pytest.mark.parametrize('system',Symmetry.crystal_systems) def test_in_FZ_vectorize(self,set_of_rodrigues,system): - for i,in_FZ_ in enumerate(Symmetry(system).in_FZ(set_of_rodrigues)): - assert in_FZ_ == in_FZ(system,set_of_rodrigues[i]) + result = Symmetry(system).in_FZ(set_of_rodrigues.reshape(50,4,3)).reshape(200) + for i,r in enumerate(result): + assert r == in_FZ(system,set_of_rodrigues[i]) @pytest.mark.parametrize('system',Symmetry.crystal_systems) def test_in_disorientation_SST_vectorize(self,set_of_rodrigues,system): - for i,in_disorientation_SST_ in enumerate(Symmetry(system).in_disorientation_SST(set_of_rodrigues)): - assert in_disorientation_SST_ == in_disorientation_SST(system,set_of_rodrigues[i]) + result = Symmetry(system).in_disorientation_SST(set_of_rodrigues.reshape(50,4,3)).reshape(200) + for i,r in enumerate(result): + assert r == in_disorientation_SST(system,set_of_rodrigues[i]) + @pytest.mark.parametrize('proper',[True,False]) + @pytest.mark.parametrize('system',Symmetry.crystal_systems) + def test_in_SST_vectorize(self,system,proper): + vecs = np.random.rand(20,4,3) + result = Symmetry(system).in_SST(vecs,proper).reshape(20*4) + for i,r in enumerate(result): + assert r == in_SST(system,vecs.reshape(20*4,3)[i],proper) @pytest.mark.parametrize('invalid_symmetry',['fcc','bcc','hello']) def test_invalid_symmetry(self,invalid_symmetry): @@ -142,7 +151,7 @@ class TestSymmetry: def test_in_SST(self,system,proper): assert Symmetry(system).in_SST(np.zeros(3),proper) - @pytest.mark.parametrize('function',['in_FZ','in_disorientation_SST']) + @pytest.mark.parametrize('function',['in_FZ','in_disorientation_SST','in_SST']) def test_invalid_argument(self,function): s = Symmetry() # noqa with pytest.raises(ValueError): diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index aec91db9f..b27a3d5f3 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -319,4 +319,4 @@ class TestResult: def test_XDMF(self,tmp_path,single_phase): os.chdir(tmp_path) - single_phase.write_XDMF + single_phase.write_XDMF() diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 20d01af4a..b4166bf1b 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -20,7 +20,7 @@ def set_of_rotations(set_of_quaternions): #################################################################################################### -# Code below available according to the following conditions on https://github.com/MarDiehl/3Drotations +# Code below available according to the following conditions #################################################################################################### # Copyright (c) 2017-2019, Martin Diehl/Max-Planck-Institut für Eisenforschung GmbH # Copyright (c) 2013-2014, Marc De Graef/Carnegie Mellon University From 23365660d823f432c12e95ec9b9aebd7653ece22 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 30 Jun 2020 23:17:50 +0200 Subject: [PATCH 320/958] polishing --- python/damask/_orientation.py | 1 + python/damask/_rotation.py | 14 +++++++------- python/tests/test_Lattice.py | 1 - 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index c59ababda..cb28c160e 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -40,6 +40,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation self.rotation = Rotation.from_quaternion(rotation) # assume quaternion def __getitem__(self,item): + """Iterate over leading/leftmost dimension of Orientation array.""" return self.__class__(self.rotation[item],self.lattice) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index accd453cc..26fd3e261 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -81,17 +81,16 @@ class Rotation: ]) - def __len__(self): - return 0 if self.shape == () else len(self.shape) - - def __getitem__(self,item): + """Iterate over leading/leftmost dimension of Rotation array.""" + if self.shape == (): return self.copy() if isinstance(item,tuple) and len(item) >= len(self): raise IndexError('Too many indices') return self.__class__(self.quaternion[item]) def __len__(self): + """Length of leading/leftmost dimension of Rotation array.""" return 0 if self.shape == () else self.shape[0] @@ -104,9 +103,10 @@ class Rotation: other : numpy.ndarray or Rotation Vector, second or fourth order tensor, or rotation object that is rotated. - Todo - ---- - Check rotation of 4th order tensor + Returns + ------- + other_rot : numpy.ndarray or Rotation + Rotated vector, second or fourth order tensor, or rotation object. """ if isinstance(other, Rotation): diff --git a/python/tests/test_Lattice.py b/python/tests/test_Lattice.py index f53c3ad03..aa201c645 100644 --- a/python/tests/test_Lattice.py +++ b/python/tests/test_Lattice.py @@ -3,7 +3,6 @@ import random import pytest import numpy as np -from damask import Orientation from damask import Rotation from damask import Symmetry From de8e9b5fc1b6b7305787f15b9c8666260aa09929 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 1 Jul 2020 00:37:02 +0200 Subject: [PATCH 321/958] fast reduced operation --- python/damask/_orientation.py | 50 ++++++++++++++------------------ python/tests/test_Orientation.py | 7 +++++ python/tests/test_Result.py | 2 +- python/tests/test_ori_vec.py | 20 ------------- 4 files changed, 30 insertions(+), 49 deletions(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index cb28c160e..57407a6ce 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -3,7 +3,7 @@ import numpy as np from . import Lattice from . import Rotation -class Orientation: # ToDo: make subclass of lattice and Rotation +class Orientation: # ToDo: make subclass of lattice and Rotation? """ Crystallographic orientation. @@ -44,6 +44,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation return self.__class__(self.rotation[item],self.lattice) + # ToDo: Discuss vectorization/calling signature def disorientation(self, other, SST = True, @@ -80,17 +81,19 @@ class Orientation: # ToDo: make subclass of lattice and Rotation # ... own sym, other sym, # self-->other: True, self<--other: False + @property def in_FZ(self): """Check if orientations fall into Fundamental Zone.""" return self.lattice.in_FZ(self.rotation.as_Rodrigues(vector=True)) + @property def equivalent(self): """ Return orientations which are symmetrically equivalent. One dimension (length according to symmetrically equivalent orientations) - is added to the left of the rotation array. + is added to the left of the Rotation array. """ s = self.lattice.symmetry.symmetry_operations @@ -98,9 +101,8 @@ class Orientation: # ToDo: make subclass of lattice and Rotation s = Rotation(np.broadcast_to(s,s.shape[:1]+self.rotation.quaternion.shape)) r = np.broadcast_to(self.rotation.quaternion,s.shape[:1]+self.rotation.quaternion.shape) - r = Rotation(r) - return self.__class__(s@r,self.lattice) + return self.__class__(s@Rotation(r),self.lattice) def relatedOrientations_vec(self,model): @@ -123,34 +125,24 @@ class Orientation: # ToDo: make subclass of lattice and Rotation r = self.lattice.relationOperations(model) return [self.__class__(o*self.rotation,r['lattice']) for o in r['rotations']] + @property - def reduced_vec(self): - """Transform orientation to fall into fundamental zone according to symmetry.""" - equi= self.equivalent.rotation #equivalent orientations - r= 1 if not self.rotation.shape else equi.shape[1] #number of rotations - num_equi=equi.shape[0] #number of equivalente orientations - quat= np.reshape( equi.as_quaternion(), (r*num_equi,4) ,order='F') #equivalents are listed in intiuitive order - boolean=Orientation(quat, self.lattice).in_FZ() #check which ones are in FZ - if sum(boolean) == r: - return self.__class__(quat[boolean],self.lattice) - - else: - print('More than 1 equivalent orientation has been found for an orientation') - index=np.empty(r, dtype=int) - for l,h in enumerate(range(0,r*num_equi, num_equi)): - index[l]=np.where(boolean[h:h+num_equi])[0][0] + (l*num_equi) #get first index that is true then go check to next orientation - - return self.__class__(quat[index],self.lattice) - - def reduced(self): """Transform orientation to fall into fundamental zone according to symmetry.""" - for me in self.equivalent: - if self.lattice.in_FZ(me.rotation.as_Rodrigues(vector=True)): break + eq = self.equivalent + in_FZ = eq.in_FZ - return self.__class__(me.rotation,self.lattice) + # remove duplicates (occur for highly symmetric orientations) + found = np.zeros_like(in_FZ[0],dtype=bool) + q = self.rotation.quaternion[0] + for s in range(in_FZ.shape[0]): + q = np.where(np.expand_dims(np.logical_and(in_FZ[s],~found),-1),eq.rotation.quaternion[s],q) + found = np.logical_or(in_FZ[s],found) + + return self.__class__(q,self.lattice) + # ToDo: vectorize def inversePole(self, axis, proper = False, @@ -159,7 +151,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation if SST: # pole requested to be within SST for i,o in enumerate(self.equivalent): # test all symmetric equivalent quaternions pole = o.rotation@axis # align crystal direction to axis - if self.lattice.in_SST(pole,proper): break # found SST version + if self.lattice.in_SST(pole,proper): break # found SST version else: pole = self.rotation@axis # align crystal direction to axis @@ -172,7 +164,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation pole = eq.rotation @ np.broadcast_to(axis/np.linalg.norm(axis),eq.rotation.shape+(3,)) in_SST, color = self.lattice.in_SST(pole,color=True) - # ignore duplicates (occur for highly symmetric orientations) + # remove duplicates (occur for highly symmetric orientations) found = np.zeros_like(in_SST[0],dtype=bool) c = np.empty(color.shape[1:]) for s in range(in_SST.shape[0]): @@ -182,6 +174,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation return c + # ToDo: Discuss vectorization/calling signature @staticmethod def fromAverage(orientations, weights = []): @@ -202,6 +195,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation return Orientation(Rotation.fromAverage(closest,weights),ref.lattice) + # ToDo: Discuss vectorization/calling signature def average(self,other): """Calculate the average rotation.""" return Orientation.fromAverage([self,other]) diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index f6f25e0a7..78781e47d 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -54,6 +54,13 @@ class TestOrientation: assert np.allclose(color,IPF_color(oris[i],direction)) + @pytest.mark.parametrize('lattice',Lattice.lattices) + def test_reduced(self,set_of_quaternions,lattice): + oris = Orientation(Rotation(set_of_quaternions),lattice) + reduced = oris.reduced + assert np.all(reduced.in_FZ) and oris.rotation.shape == reduced.rotation.shape + + @pytest.mark.parametrize('model',['Bain','KS','GT','GT_prime','NW','Pitsch']) @pytest.mark.parametrize('lattice',['fcc','bcc']) def test_relationship_forward_backward(self,model,lattice): diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index b27a3d5f3..676e94d50 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -161,7 +161,7 @@ class TestResult: crystal_structure = default.get_crystal_structure() in_memory = np.empty((qu.shape[0],3),np.uint8) for i,q in enumerate(qu): - o = damask.Orientation(q,crystal_structure).reduced() + o = damask.Orientation(q,crystal_structure).reduced in_memory[i] = np.uint8(o.IPF_color(np.array(d))*255) in_file = default.read_dataset(loc['color']) assert np.allclose(in_memory,in_file) diff --git a/python/tests/test_ori_vec.py b/python/tests/test_ori_vec.py index 7cb465046..9280af164 100644 --- a/python/tests/test_ori_vec.py +++ b/python/tests/test_ori_vec.py @@ -39,23 +39,3 @@ class TestOrientation_vec: ori2.relatedOrientations(model)[s].rotation.as_Rodrigues()) assert all(ori_vec.relatedOrientations_vec(model).rotation.as_cubochoric()[s,3] == \ ori3.relatedOrientations(model)[s].rotation.as_cubochoric()) - - @pytest.mark.parametrize('lattice',Lattice.lattices) - def test_reduced_vec(self,lattice): - ori0=Orientation(rot0,lattice) - ori1=Orientation(rot1,lattice) - ori2=Orientation(rot2,lattice) - ori3=Orientation(rot3,lattice) - #ensure 1 of them is in FZ - ori4=ori0.reduced() - rot4=ori4.rotation - - quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),\ - rot2.as_quaternion(),rot3.as_quaternion(), rot4.as_quaternion()]) - ori_vec=Orientation(quat,lattice) - - assert all(ori_vec.reduced_vec.rotation.as_Eulers()[0] == ori0.reduced().rotation.as_Eulers() ) - assert all(ori_vec.reduced_vec.rotation.as_quaternion()[1] == ori1.reduced().rotation.as_quaternion() ) - assert all(ori_vec.reduced_vec.rotation.as_Rodrigues()[2] == ori2.reduced().rotation.as_Rodrigues() ) - assert all(ori_vec.reduced_vec.rotation.as_cubochoric()[3] == ori3.reduced().rotation.as_cubochoric() ) - assert all(ori_vec.reduced_vec.rotation.as_axis_angle()[4] == ori4.reduced().rotation.as_axis_angle() ) From e18a5b8a1b2d75c470b880e3e83ad923509e6450 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 1 Jul 2020 08:48:30 +0200 Subject: [PATCH 322/958] simplifications + more tests --- python/damask/_lattice.py | 43 +++++++++--------- python/damask/_orientation.py | 75 ++++++++++++++++---------------- python/tests/test_Orientation.py | 31 ++++++++----- python/tests/test_ori_vec.py | 41 ----------------- 4 files changed, 79 insertions(+), 111 deletions(-) delete mode 100644 python/tests/test_ori_vec.py diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index a337aa1a1..160b3ba17 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -1,7 +1,5 @@ import numpy as np -from . import Rotation - class Symmetry: """ @@ -29,7 +27,6 @@ class Symmetry: raise KeyError(f'Crystal system "{system}" is unknown') self.system = system.lower() if isinstance(system,str) else system - self.lattice = self.system # ToDo: for compatibility def __copy__(self): @@ -219,6 +216,7 @@ class Symmetry: return np.ones_like(rho[...,0],dtype=bool) + #ToDo: IPF color in separate function def in_SST(self,vector,proper=False,color=False): """ Check whether given vector falls into standard stereographic triangle of own symmetry. @@ -311,9 +309,9 @@ class Symmetry: # ****************************************************************************************** class Lattice: # ToDo: Make a subclass of Symmetry! """ - Lattice system. + Bravais lattice. - Currently, this contains only a mapping from Bravais lattice to symmetry + This contains only a mapping from Bravais lattice to symmetry and orientation relationships. It could include twin and slip systems. References @@ -331,7 +329,7 @@ class Lattice: # ToDo: Make a subclass of Symmetry! } - def __init__(self, lattice): + def __init__(self,lattice,c_over_a=None): """ New lattice of given type. @@ -345,20 +343,20 @@ class Lattice: # ToDo: Make a subclass of Symmetry! self.symmetry = Symmetry(self.lattices[lattice]['system']) # transition to subclass - self.system = self.symmetry.system - self.in_SST = self.symmetry.in_SST - self.in_FZ = self.symmetry.in_FZ - + self.system = self.symmetry.system + self.in_SST = self.symmetry.in_SST + self.in_FZ = self.symmetry.in_FZ + self.in_disorientation_SST = self.symmetry.in_disorientation_SST def __repr__(self): """Report basic lattice information.""" - return 'Bravais lattice {} ({} symmetry)'.format(self.lattice,self.symmetry) + return 'Bravais lattice {} ({} crystal system)'.format(self.lattice,self.symmetry) # Kurdjomov--Sachs orientation relationship for fcc <-> bcc transformation # from S. Morito et al., Journal of Alloys and Compounds 577:s587-s592, 2013 # also see K. Kitahara et al., Acta Materialia 54:1279-1288, 2006 - KS = {'mapping':{'fcc':0,'bcc':1}, + _KS = {'mapping':{'fcc':0,'bcc':1}, 'planes': np.array([ [[ 1, 1, 1],[ 0, 1, 1]], [[ 1, 1, 1],[ 0, 1, 1]], @@ -412,7 +410,7 @@ class Lattice: # ToDo: Make a subclass of Symmetry! # Greninger--Troiano orientation relationship for fcc <-> bcc transformation # from Y. He et al., Journal of Applied Crystallography 39:72-81, 2006 - GT = {'mapping':{'fcc':0,'bcc':1}, + _GT = {'mapping':{'fcc':0,'bcc':1}, 'planes': np.array([ [[ 1, 1, 1],[ 1, 0, 1]], [[ 1, 1, 1],[ 1, 1, 0]], @@ -466,7 +464,7 @@ class Lattice: # ToDo: Make a subclass of Symmetry! # Greninger--Troiano' orientation relationship for fcc <-> bcc transformation # from Y. He et al., Journal of Applied Crystallography 39:72-81, 2006 - GTprime = {'mapping':{'fcc':0,'bcc':1}, + _GTprime = {'mapping':{'fcc':0,'bcc':1}, 'planes': np.array([ [[ 7, 17, 17],[ 12, 5, 17]], [[ 17, 7, 17],[ 17, 12, 5]], @@ -520,7 +518,7 @@ class Lattice: # ToDo: Make a subclass of Symmetry! # Nishiyama--Wassermann orientation relationship for fcc <-> bcc transformation # from H. Kitahara et al., Materials Characterization 54:378-386, 2005 - NW = {'mapping':{'fcc':0,'bcc':1}, + _NW = {'mapping':{'fcc':0,'bcc':1}, 'planes': np.array([ [[ 1, 1, 1],[ 0, 1, 1]], [[ 1, 1, 1],[ 0, 1, 1]], @@ -550,7 +548,7 @@ class Lattice: # ToDo: Make a subclass of Symmetry! # Pitsch orientation relationship for fcc <-> bcc transformation # from Y. He et al., Acta Materialia 53:1179-1190, 2005 - Pitsch = {'mapping':{'fcc':0,'bcc':1}, + _Pitsch = {'mapping':{'fcc':0,'bcc':1}, 'planes': np.array([ [[ 0, 1, 0],[ -1, 0, 1]], [[ 0, 0, 1],[ 1, -1, 0]], @@ -580,7 +578,7 @@ class Lattice: # ToDo: Make a subclass of Symmetry! # Bain orientation relationship for fcc <-> bcc transformation # from Y. He et al., Journal of Applied Crystallography 39:72-81, 2006 - Bain = {'mapping':{'fcc':0,'bcc':1}, + _Bain = {'mapping':{'fcc':0,'bcc':1}, 'planes': np.array([ [[ 1, 0, 0],[ 1, 0, 0]], [[ 0, 1, 0],[ 0, 1, 0]], @@ -590,7 +588,8 @@ class Lattice: # ToDo: Make a subclass of Symmetry! [[ 0, 0, 1],[ 1, 0, 1]], [[ 1, 0, 0],[ 1, 1, 0]]],dtype='float')} - def relationOperations(self,model): + + def relation_operations(self,model): """ Crystallographic orientation relationships for phase transformations. @@ -612,8 +611,8 @@ class Lattice: # ToDo: Make a subclass of Symmetry! https://doi.org/10.1016/j.actamat.2004.11.021 """ - models={'KS':self.KS, 'GT':self.GT, 'GT_prime':self.GTprime, - 'NW':self.NW, 'Pitsch': self.Pitsch, 'Bain':self.Bain} + models={'KS':self._KS, 'GT':self._GT, 'GT_prime':self._GTprime, + 'NW':self._NW, 'Pitsch': self._Pitsch, 'Bain':self._Bain} try: relationship = models[model] except KeyError : @@ -639,6 +638,8 @@ class Lattice: # ToDo: Make a subclass of Symmetry! otherDir = miller[otherDir_id]/ np.linalg.norm(miller[otherDir_id]) otherMatrix = np.array([otherDir,np.cross(otherPlane,otherDir),otherPlane]) - r['rotations'].append(Rotation.from_matrix(np.dot(otherMatrix.T,myMatrix))) + r['rotations'].append(np.dot(otherMatrix.T,myMatrix)) + + r['rotations'] = np.array(r['rotations']) return r diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index 57407a6ce..3c2d73a92 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -71,8 +71,8 @@ class Orientation: # ToDo: make subclass of lattice and Rotation? r = b*aInv for k in range(2): r.inverse() - breaker = self.in_FZ \ - and (not SST or other.lattice.symmetry.inDisorientationSST(r.as_Rodrigues(vector=True))) + breaker = self.lattice.in_FZ(r.as_Rodrigues(vector=True)) \ + and (not SST or other.lattice.in_disorientation_SST(r.as_Rodrigues(vector=True))) if breaker: break if breaker: break if breaker: break @@ -90,40 +90,36 @@ class Orientation: # ToDo: make subclass of lattice and Rotation? @property def equivalent(self): """ - Return orientations which are symmetrically equivalent. + Orientations which are symmetrically equivalent. - One dimension (length according to symmetrically equivalent orientations) + One dimension (length according to number of symmetrically equivalent orientations) is added to the left of the Rotation array. """ - s = self.lattice.symmetry.symmetry_operations - s = s.reshape(s.shape[:1]+(1,)*len(self.rotation.shape)+(4,)) - s = Rotation(np.broadcast_to(s,s.shape[:1]+self.rotation.quaternion.shape)) + o = self.lattice.symmetry.symmetry_operations + o = o.reshape(o.shape[:1]+(1,)*len(self.rotation.shape)+(4,)) + o = Rotation(np.broadcast_to(o,o.shape[:1]+self.rotation.quaternion.shape)) - r = np.broadcast_to(self.rotation.quaternion,s.shape[:1]+self.rotation.quaternion.shape) + s = np.broadcast_to(self.rotation.quaternion,o.shape[:1]+self.rotation.quaternion.shape) - return self.__class__(s@Rotation(r),self.lattice) + return self.__class__(o@Rotation(s),self.lattice) - def relatedOrientations_vec(self,model): - """List of orientations related by the given orientation relationship.""" - h = self.lattice.relationOperations(model) - rot= h['rotations'] - op=np.array([o.as_quaternion() for o in rot]) + def related(self,model): + """ + Orientations related by the given orientation relationship. - s = op.reshape(op.shape[:1]+(1,)*len(self.rotation.shape)+(4,)) - s = Rotation(np.broadcast_to(s,s.shape[:1]+self.rotation.quaternion.shape)) + One dimension (length according to number of related orientations) + is added to the left of the Rotation array. - r = np.broadcast_to(self.rotation.quaternion,s.shape[:1]+self.rotation.quaternion.shape) - r = Rotation(r) + """ + o = Rotation.from_matrix(self.lattice.relation_operations(model)['rotations']).as_quaternion() + o = o.reshape(o.shape[:1]+(1,)*len(self.rotation.shape)+(4,)) + o = Rotation(np.broadcast_to(o,o.shape[:1]+self.rotation.quaternion.shape)) - return self.__class__(s@r,h['lattice']) + s = np.broadcast_to(self.rotation.quaternion,o.shape[:1]+self.rotation.quaternion.shape) - - def relatedOrientations(self,model): - """List of orientations related by the given orientation relationship.""" - r = self.lattice.relationOperations(model) - return [self.__class__(o*self.rotation,r['lattice']) for o in r['rotations']] + return self.__class__(o@Rotation(s),self.lattice.relation_operations(model)['lattice']) @property @@ -136,26 +132,31 @@ class Orientation: # ToDo: make subclass of lattice and Rotation? found = np.zeros_like(in_FZ[0],dtype=bool) q = self.rotation.quaternion[0] for s in range(in_FZ.shape[0]): + #something fishy... why does q needs to be initialized? q = np.where(np.expand_dims(np.logical_and(in_FZ[s],~found),-1),eq.rotation.quaternion[s],q) found = np.logical_or(in_FZ[s],found) return self.__class__(q,self.lattice) - # ToDo: vectorize - def inversePole(self, - axis, - proper = False, - SST = True): + def inverse_pole(self,axis,proper=False,SST=True): """Axis rotated according to orientation (using crystal symmetry to ensure location falls into SST).""" - if SST: # pole requested to be within SST - for i,o in enumerate(self.equivalent): # test all symmetric equivalent quaternions - pole = o.rotation@axis # align crystal direction to axis - if self.lattice.in_SST(pole,proper): break # found SST version - else: - pole = self.rotation@axis # align crystal direction to axis + if SST: + eq = self.equivalent + pole = eq.rotation @ np.broadcast_to(axis/np.linalg.norm(axis),eq.rotation.shape+(3,)) + in_SST = self.lattice.in_SST(pole,proper=proper) + + # remove duplicates (occur for highly symmetric orientations) + found = np.zeros_like(in_SST[0],dtype=bool) + p = pole[0] + for s in range(in_SST.shape[0]): + p = np.where(np.expand_dims(np.logical_and(in_SST[s],~found),-1),pole[s],p) + found = np.logical_or(in_SST[s],found) + + return p + else: + return self.rotation @ np.broadcast_to(axis/np.linalg.norm(axis),self.rotation.shape+(3,)) - return (pole,i if SST else 0) def IPF_color(self,axis): #ToDo axis or direction? @@ -166,7 +167,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation? # remove duplicates (occur for highly symmetric orientations) found = np.zeros_like(in_SST[0],dtype=bool) - c = np.empty(color.shape[1:]) + c = color[0] for s in range(in_SST.shape[0]): c = np.where(np.expand_dims(np.logical_and(in_SST[s],~found),-1),color[s],c) found = np.logical_or(in_SST[s],found) diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index 78781e47d..4be146ec7 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -28,6 +28,22 @@ def reference_dir(reference_dir_base): class TestOrientation: + @pytest.mark.parametrize('model',['Bain','KS','GT','GT_prime','NW','Pitsch']) + @pytest.mark.parametrize('lattice',['fcc','bcc']) + def test_relationship_vectorize(self,set_of_quaternions,lattice,model): + result = Orientation(set_of_quaternions[:200].reshape(50,4,4),lattice).related(model) + ref_qu = result.rotation.quaternion.reshape(-1,200,4) + for i in range(200): + single = Orientation(set_of_quaternions[i],lattice).related(model).rotation.quaternion + assert np.allclose(ref_qu[:,i,:],single) + + @pytest.mark.parametrize('lattice',Lattice.lattices) + def test_IPF_vectorize(self,set_of_quaternions,lattice): + direction = np.random.random(3)*2.0-1 + oris = Orientation(Rotation(set_of_quaternions),lattice)[:200] + for i,color in enumerate(oris.IPF_color(direction)): + assert np.allclose(color,IPF_color(oris[i],direction)) + @pytest.mark.parametrize('color',[{'label':'red', 'RGB':[1,0,0],'direction':[0,0,1]}, {'label':'green','RGB':[0,1,0],'direction':[0,1,1]}, {'label':'blue', 'RGB':[0,0,1],'direction':[1,1,1]}]) @@ -45,15 +61,6 @@ class TestOrientation: for equivalent in ori.equivalent: assert np.allclose(color,equivalent.IPF_color(direction)) - - @pytest.mark.parametrize('lattice',Lattice.lattices) - def test_IPF_vectorize(self,set_of_quaternions,lattice): - direction = np.random.random(3)*2.0-1 - oris = Orientation(Rotation(set_of_quaternions),lattice)[:200] - for i,color in enumerate(oris.IPF_color(direction)): - assert np.allclose(color,IPF_color(oris[i],direction)) - - @pytest.mark.parametrize('lattice',Lattice.lattices) def test_reduced(self,set_of_quaternions,lattice): oris = Orientation(Rotation(set_of_quaternions),lattice) @@ -65,8 +72,8 @@ class TestOrientation: @pytest.mark.parametrize('lattice',['fcc','bcc']) def test_relationship_forward_backward(self,model,lattice): ori = Orientation(Rotation.from_random(),lattice) - for i,r in enumerate(ori.relatedOrientations(model)): - ori2 = r.relatedOrientations(model)[i] + for i,r in enumerate(ori.related(model)): + ori2 = r.related(model)[i] misorientation = ori.rotation.misorientation(ori2.rotation) assert misorientation.asAxisAngle(degrees=True)[3]<1.0e-5 @@ -75,7 +82,7 @@ class TestOrientation: def test_relationship_reference(self,update,reference_dir,model,lattice): reference = os.path.join(reference_dir,'{}_{}.txt'.format(lattice,model)) ori = Orientation(Rotation(),lattice) - eu = np.array([o.rotation.as_Eulers(degrees=True) for o in ori.relatedOrientations(model)]) + eu = np.array([o.rotation.as_Eulers(degrees=True) for o in ori.related(model)]) if update: coords = np.array([(1,i+1) for i,x in enumerate(eu)]) table = damask.Table(eu,{'Eulers':(3,)}) diff --git a/python/tests/test_ori_vec.py b/python/tests/test_ori_vec.py deleted file mode 100644 index 9280af164..000000000 --- a/python/tests/test_ori_vec.py +++ /dev/null @@ -1,41 +0,0 @@ -import pytest -import numpy as np - -from damask import Rotation -from damask import Orientation -from damask import Lattice - -rot0= Rotation.from_random() -rot1= Rotation.from_random() -rot2= Rotation.from_random() -rot3= Rotation.from_random() - -#disorientation - -#fromaverage -#average - -class TestOrientation_vec: - - - @pytest.mark.parametrize('model',['Bain','KS','GT','GT_prime','NW','Pitsch']) - @pytest.mark.parametrize('lattice',['fcc','bcc']) - def test_relatedOrientations_vec(self,model,lattice): - ori0=Orientation(rot0,lattice) - ori1=Orientation(rot1,lattice) - ori2=Orientation(rot2,lattice) - ori3=Orientation(rot3,lattice) - - quat=np.array([rot0.as_quaternion(),rot1.as_quaternion(),rot2.as_quaternion(),rot3.as_quaternion()]) - ori_vec=Orientation(quat,lattice) - - - for s in range(len(ori1.lattice.relationOperations(model)['rotations'])): - assert all(ori_vec.relatedOrientations_vec(model).rotation.as_Eulers()[s,0] == \ - ori0.relatedOrientations(model)[s].rotation.as_Eulers()) - assert all(ori_vec.relatedOrientations_vec(model).rotation.as_quaternion()[s,1] == \ - ori1.relatedOrientations(model)[s].rotation.as_quaternion()) - assert all(ori_vec.relatedOrientations_vec(model).rotation.as_Rodrigues()[s,2] == \ - ori2.relatedOrientations(model)[s].rotation.as_Rodrigues()) - assert all(ori_vec.relatedOrientations_vec(model).rotation.as_cubochoric()[s,3] == \ - ori3.relatedOrientations(model)[s].rotation.as_cubochoric()) From be1eb996e01e378440b7d945b517766dc059cfe8 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 1 Jul 2020 15:11:39 +0200 Subject: [PATCH 323/958] more tests and cleaning --- python/damask/_rotation.py | 5 ----- python/tests/test_Orientation.py | 8 +++++++- python/tests/test_Rotation.py | 12 ++++++++++++ 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 91f126c88..28e2b428f 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -627,12 +627,7 @@ class Rotation: return Rotation(q.reshape(r.shape[:-1]+(4,)) if shape is not None else q)._standardize() - # for compatibility (old names do not follow convention) - def asM(self): - return self.M - fromQuaternion = from_quaternion fromEulers = from_Eulers - asAxisAngle = as_axis_angle __mul__ = __matmul__ #################################################################################################### diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index 1c5288923..4a7c3e54d 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -75,7 +75,7 @@ class TestOrientation: for i,r in enumerate(ori.related(model)): ori2 = r.related(model)[i] misorientation = ori.rotation.misorientation(ori2.rotation) - assert misorientation.asAxisAngle(degrees=True)[3]<1.0e-5 + assert misorientation.as_axis_angle(degrees=True)[3]<1.0e-5 @pytest.mark.parametrize('model',['Bain','KS','GT','GT_prime','NW','Pitsch']) @pytest.mark.parametrize('lattice',['fcc','bcc']) @@ -89,3 +89,9 @@ class TestOrientation: table.add('pos',coords) table.to_ASCII(reference) assert np.allclose(eu,damask.Table.from_ASCII(reference).get('Eulers')) + + @pytest.mark.parametrize('lattice',Lattice.lattices) + def test_disorientation360(self,lattice): + R_1 = Orientation(Rotation(),lattice) + R_2 = Orientation(damask.Rotation.from_Eulers([360,0,0],degrees=True),lattice) + assert np.allclose(R_1.disorientation(R_2).as_matrix(),np.eye(3)) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 0cf2185c0..21d0b5fae 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -905,3 +905,15 @@ class TestRotation: def test_misorientation(self): R = Rotation.from_random() assert np.allclose(R.misorientation(R).as_matrix(),np.eye(3)) + + def test_misorientation360(self): + R_1 = Rotation() + R_2 = Rotation.from_Eulers([360,0,0],degrees=True) + assert np.allclose(R_1.misorientation(R_2).as_matrix(),np.eye(3)) + + @pytest.mark.parametrize('angle',[10,20,30,40,50,60,70,80,90,100,120]) + def test_average(self,angle): + R_1 = Rotation.from_axis_angle([0,0,1,10],degrees=True) + R_2 = Rotation.from_axis_angle([0,0,1,angle],degrees=True) + avg_angle = R_1.average(R_2).as_axis_angle(degrees=True,pair=True)[1] + assert np.isclose(avg_angle,10+(angle-10)/2.) From 4abd77fccf5f19fde9ffceb9aaab57c292bc6cd6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 1 Jul 2020 16:26:56 +0200 Subject: [PATCH 324/958] more test coverage --- python/damask/_orientation.py | 8 ++++---- python/damask/_rotation.py | 10 ++++++--- python/tests/test_Orientation.py | 35 ++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 7 deletions(-) diff --git a/python/damask/_orientation.py b/python/damask/_orientation.py index b3395acfd..0bb0e1bc8 100644 --- a/python/damask/_orientation.py +++ b/python/damask/_orientation.py @@ -61,7 +61,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation? if self.lattice.symmetry != other.lattice.symmetry: raise NotImplementedError('disorientation between different symmetry classes not supported yet.') - mySymEqs = self.equivalent if SST else self.equivalent[0] #ToDo: This is just me! # take all or only first sym operation + mySymEqs = self.equivalent if SST else self.equivalent[0] #ToDo: This is just me! # take all or only first sym operation otherSymEqs = other.equivalent for i,sA in enumerate(mySymEqs): @@ -177,7 +177,7 @@ class Orientation: # ToDo: make subclass of lattice and Rotation? # ToDo: Discuss vectorization/calling signature @staticmethod - def fromAverage(orientations, + def from_average(orientations, weights = []): """Create orientation from average of list of orientations.""" # further read: Orientation distribution analysis in deformed grains @@ -193,10 +193,10 @@ class Orientation: # ToDo: make subclass of lattice and Rotation? SST = False, # select (o[ther]'s) sym orientation symmetries = True)[2]].rotation) # with lowest misorientation - return Orientation(Rotation.fromAverage(closest,weights),ref.lattice) + return Orientation(Rotation.from_average(closest,weights),ref.lattice) # ToDo: Discuss vectorization/calling signature def average(self,other): """Calculate the average rotation.""" - return Orientation.fromAverage([self,other]) + return Orientation.from_average([self,other]) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 28e2b428f..674656d4b 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -199,7 +199,7 @@ class Rotation: """ if self.quaternion.shape != (4,) or other.quaternion.shape != (4,): raise NotImplementedError('Support for multiple rotations missing') - return Rotation.fromAverage([self,other]) + return Rotation.from_average([self,other]) ################################################################################################ @@ -294,7 +294,11 @@ class Rotation: """ ro = Rotation._qu2ro(self.quaternion) - return ro[...,:3]*ro[...,3:4] if vector else ro + if vector: + with np.errstate(invalid='ignore'): + return ro[...,:3]*ro[...,3:4] + else: + return ro def as_homochoric(self): """ @@ -577,7 +581,7 @@ class Rotation: @staticmethod - def fromAverage(rotations,weights = None): + def from_average(rotations,weights = None): """ Average rotation. diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index 4a7c3e54d..84414a343 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -20,6 +20,16 @@ def IPF_color(orientation,direction): return color +def inverse_pole(orientation,axis,proper=False,SST=True): + if SST: + for eq in orientation.equivalent: + pole = eq.rotation @ axis/np.linalg.norm(axis) + if orientation.lattice.in_SST(pole,proper=proper): + return pole + else: + return orientation.rotation @ axis/np.linalg.norm(axis) + + @pytest.fixture def reference_dir(reference_dir_base): """Directory containing reference results.""" @@ -44,6 +54,15 @@ class TestOrientation: for i,color in enumerate(oris.IPF_color(direction)): assert np.allclose(color,IPF_color(oris[i],direction)) + @pytest.mark.parametrize('SST',[False,True]) + @pytest.mark.parametrize('proper',[True,False]) + @pytest.mark.parametrize('lattice',Lattice.lattices) + def test_inverse_pole_vectorize(self,set_of_quaternions,lattice,SST,proper): + axis = np.random.random(3)*2.0-1 + oris = Orientation(Rotation(set_of_quaternions),lattice)[:200] + for i,pole in enumerate(oris.inverse_pole(axis,SST=SST)): + assert np.allclose(pole,inverse_pole(oris[i],axis,SST=SST)) + @pytest.mark.parametrize('color',[{'label':'red', 'RGB':[1,0,0],'direction':[0,0,1]}, {'label':'green','RGB':[0,1,0],'direction':[0,1,1]}, {'label':'blue', 'RGB':[0,0,1],'direction':[1,1,1]}]) @@ -95,3 +114,19 @@ class TestOrientation: R_1 = Orientation(Rotation(),lattice) R_2 = Orientation(damask.Rotation.from_Eulers([360,0,0],degrees=True),lattice) assert np.allclose(R_1.disorientation(R_2).as_matrix(),np.eye(3)) + + @pytest.mark.parametrize('lattice',Lattice.lattices) + @pytest.mark.parametrize('angle',[10,20,30,40]) + def test_average(self,angle,lattice): + R_1 = Orientation(Rotation.from_axis_angle([0,0,1,10],degrees=True),lattice) + R_2 = Orientation(Rotation.from_axis_angle([0,0,1,angle],degrees=True),lattice) + avg_angle = R_1.average(R_2).rotation.as_axis_angle(degrees=True,pair=True)[1] + assert np.isclose(avg_angle,10+(angle-10)/2.) + + @pytest.mark.parametrize('lattice',Lattice.lattices) + def test_from_average(self,lattice): + R_1 = Orientation(Rotation.from_random(),lattice) + eqs = [r for r in R_1.equivalent] + R_2 = damask.Orientation.from_average(eqs) + assert np.allclose(R_1.rotation.quaternion,R_2.rotation.quaternion) + From fcea6d46066bcf8a7920716fe2091a19fa1dd454 Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 1 Jul 2020 18:11:31 +0200 Subject: [PATCH 325/958] [skip ci] updated version information after successful test of v2.0.3-2752-g0b2d62e9 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index be876f016..1248f6ed7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2717-g52aacf37 +v2.0.3-2752-g0b2d62e9 From 08fa40a7aeeaf0e22230ec0c2df362305b9ac94e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 1 Jul 2020 19:41:46 +0200 Subject: [PATCH 326/958] simplified --- src/constitutive.f90 | 6 ++---- src/constitutive_plastic_phenopowerlaw.f90 | 10 +++------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index dc15644d5..695941c31 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -45,9 +45,7 @@ module constitutive debug_constitutive !< pointer to constitutive debug options end subroutine plastic_isotropic_init - module subroutine plastic_phenopowerlaw_init(debug_constitutive) - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options + module subroutine plastic_phenopowerlaw_init end subroutine plastic_phenopowerlaw_init module subroutine plastic_kinehardening_init(debug_constitutive) @@ -378,7 +376,7 @@ subroutine constitutive_init ! initialized plasticity if (any(phase_plasticity == PLASTICITY_NONE_ID)) call plastic_none_init(debug_constitutive) if (any(phase_plasticity == PLASTICITY_ISOTROPIC_ID)) call plastic_isotropic_init(debug_constitutive) - if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init(debug_constitutive) + if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init if (any(phase_plasticity == PLASTICITY_KINEHARDENING_ID)) call plastic_kinehardening_init(debug_constitutive) if (any(phase_plasticity == PLASTICITY_DISLOTWIN_ID)) call plastic_dislotwin_init(debug_constitutive) if (any(phase_plasticity == PLASTICITY_DISLOUCLA_ID)) call plastic_disloucla_init(debug_constitutive) diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index 1d3bb9961..53e55b319 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -66,10 +66,7 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_phenopowerlaw_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +module subroutine plastic_phenopowerlaw_init integer :: & Ninstance, & @@ -86,11 +83,10 @@ module subroutine plastic_phenopowerlaw_init(debug_constitutive) character(len=pStringLen) :: & extmsg = '' - write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_PHENOPOWERLAW_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_PHENOPOWERLAW_LABEL//' init -+>>>' Ninstance = count(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(param(Ninstance)) allocate(state(Ninstance)) From b0ce55de7ad27509359a754514b48a11940fba1c Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 1 Jul 2020 19:54:14 +0200 Subject: [PATCH 327/958] store debug options once --- src/CPFEM.f90 | 41 ++++++++++++++++++---------- src/crystallite.f90 | 66 ++++++++++++++++++++++++++++----------------- 2 files changed, 68 insertions(+), 39 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 683d725ee..a5c644969 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -50,7 +50,18 @@ module CPFEM end type tNumerics type(tNumerics), private :: num - + + type, private :: tDebugOptions + logical :: & + basic, & + extensive + integer:: & + element, & + ip + end type tDebugOptions + + type(tDebugOptions), private :: debug + public :: & CPFEM_general, & CPFEM_initAll, & @@ -108,10 +119,18 @@ subroutine CPFEM_init num_commercialFEM => numerics_root%get('commercialFEM',defaultVal=emptyDict) num%iJacoStiffness = num_commercialFEM%get_asInt('ijacostiffness',defaultVal=1) if (num%iJacoStiffness < 1) call IO_error(301,ext_msg='iJacoStiffness') + !------------------------------------------------------------------------------ +! read debug options debug_CPFEM => debug_root%get('cpfem',defaultVal=emptyList) - if(debug_CPFEM%contains('basic')) then + debug%basic = debug_CPFEM%contains('basic') + debug%extensive = debug_CPFEM%contains('extensive') + debug%selective = debug_CPFEM%contains('selective') + debug%element = debug_root%get_asInt('element',defaultVal = 1) + debug%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) + + if(debug%basic) then write(6,'(a32,1x,6(i8,1x))') 'CPFEM_cs: ', shape(CPFEM_cs) write(6,'(a32,1x,6(i8,1x))') 'CPFEM_dcsdE: ', shape(CPFEM_dcsdE) write(6,'(a32,1x,6(i8,1x),/)') 'CPFEM_dcsdE_knownGood: ', shape(CPFEM_dcsdE_knownGood) @@ -149,16 +168,11 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS real(pReal), parameter :: ODD_STRESS = 1e15_pReal, & !< return value for stress if terminallyIll ODD_JACOBIAN = 1e50_pReal !< return value for jacobian if terminallyIll - class(tNode), pointer :: & - debug_CPFEM - elCP = mesh_FEM2DAMASK_elem(elFE) - debug_CPFEM => debug_root%get('cpfem',defaultVal=emptyList) - if (debug_CPFEM%contains('basic') & - .and. elCP == debug_root%get_asInt('element',defaultVal=1) & - .and. ip == debug_root%get_asInt('integrationpoint',defaultVal=1)) then + if (debug%basic .and. elCP == debug%element & + .and. ip == debug%ip) then write(6,'(/,a)') '#############################################' write(6,'(a1,a22,1x,i8,a13)') '#','element', elCP, '#' write(6,'(a1,a22,1x,i8,a13)') '#','ip', ip, '#' @@ -196,7 +210,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS updateJaco = mod(cycleCounter,num%iJacoStiffness) == 0 FEsolving_execElem = elCP FEsolving_execIP = ip - if (debug_CPFEM%contains('extensive')) & + if (debug%extensive) & write(6,'(a,i8,1x,i2)') '<< CPFEM >> calculation for elFE ip ',elFE,ip call materialpoint_stressAndItsTangent(updateJaco, dt) @@ -233,10 +247,9 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS endif terminalIllness endif validCalculation - if (debug_CPFEM%contains('extensive') & - .and. ((debug_root%get_asInt('element',defaultVal=1) == elCP & - .and. debug_root%get_asInt('integrationpoint',defaultVal=1) == ip) & - .or. .not. debug_CPFEM%contains('selective'))) then + if (debug%extensive & + .and. (debug%element == elCP .and. debug%ip == ip) & + .or. .not. debug%selective) then write(6,'(a,i8,1x,i2,/,12x,6(f10.3,1x)/)') & '<< CPFEM >> stress/MPa at elFE ip ', elFE, ip, CPFEM_cs(1:6,ip,elCP)*1.0e-6_pReal write(6,'(a,i8,1x,i2,/,6(12x,6(f10.3,1x)/))') & diff --git a/src/crystallite.f90 b/src/crystallite.f90 index c609463b6..a3130cb7e 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -98,6 +98,22 @@ module crystallite type(tNumerics) :: num ! numerics parameters. Better name? +#ifdef DEBUG + type :: tDebugOptions + logical :: & + basic, & + extensive, & + selective + integer :: & + element, & + ip, & + grain + end type tDebugOptions + + type(tDebugOptions) :: debug + +#endif + procedure(integrateStateFPI), pointer :: integrateState public :: & @@ -135,6 +151,17 @@ subroutine crystallite_init write(6,'(/,a)') ' <<<+- crystallite init -+>>>' +#ifdef DEBUG + debug_crystallite => debug_root%get('crystallite', defaultVal=emptyList) + debug%basic = debug_crystallite%contains('basic') + debug%extensive = debug_crystallite%contains('extensive') + debug%selective = debug_crystallite%contains('selective') + debug%element = debug_root%get_asInt('element', defaultVal=1) + debug%ip = debug_root%get_asInt('integrationpoint', defaultVal=1) + debug%grain = debug_root%get_asInt('grain', defaultVal=1) + +#endif + cMax = homogenization_maxNgrains iMax = discretization_nIP eMax = discretization_nElem @@ -271,8 +298,7 @@ subroutine crystallite_init call crystallite_stressTangent #ifdef DEBUG - debug_crystallite => debug_root%get('crystallite',defaultVal=emptyList) - if (debug_crystallite%contains('basic')) then + if (debug%basic) then write(6,'(a42,1x,i10)') ' # of elements: ', eMax write(6,'(a42,1x,i10)') ' # of integration points/element: ', iMax write(6,'(a42,1x,i10)') 'max # of constituents/integration point: ', cMax @@ -298,38 +324,28 @@ function crystallite_stress() i, & !< counter in integration point loop e, & !< counter in element loop startIP, endIP, & - s, & - debug_e, & - debug_g, & - debug_i + s logical, dimension(homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: todo !ToDo: need to set some values to false for different Ngrains - class(tNode), pointer :: & - debug_crystallite - todo = .false. -#ifdef DEBUG - debug_e = debug_root%get_asInt('element',defaultVal=1) - debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) - debug_g = debug_root%get_asInt('grain',defaultVal=1) - debug_crystallite => debug_root%get('crystallite',defaultVal=emptyList) - if (debug_crystallite%contains('selective') & - .and. FEsolving_execElem(1) <= debug_e & - .and. debug_e <= FEsolving_execElem(2)) then +#ifdef DEBUG + if (debug%selective & + .and. FEsolving_execElem(1) <= debug%element & + .and. debug%element <= FEsolving_execElem(2)) then write(6,'(/,a,i8,1x,i2,1x,i3)') '<< CRYST stress >> boundary and initial values at el ip ipc ', & - debug_e,debug_i, debug_g + debug%element,debug%ip, debug%grain write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> F ', & - transpose(crystallite_partionedF(1:3,1:3,debug_g,debug_i,debug_e)) + transpose(crystallite_partionedF(1:3,1:3,debug%grain,debug%ip,debug%element)) write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> F0 ', & - transpose(crystallite_partionedF0(1:3,1:3,debug_g,debug_i,debug_e)) + transpose(crystallite_partionedF0(1:3,1:3,debug%grain,debug%ip,debug%element)) write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> Fp0', & - transpose(crystallite_partionedFp0(1:3,1:3,debug_g,debug_i,debug_e)) + transpose(crystallite_partionedFp0(1:3,1:3,debug%grain,debug%ip,debug%element)) write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> Fi0', & - transpose(crystallite_partionedFi0(1:3,1:3,debug_g,debug_i,debug_e)) + transpose(crystallite_partionedFi0(1:3,1:3,debug%grain,debug%ip,debug%element)) write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> Lp0', & - transpose(crystallite_partionedLp0(1:3,1:3,debug_g,debug_i,debug_e)) + transpose(crystallite_partionedLp0(1:3,1:3,debug%grain,debug%ip,debug%element)) write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> Li0', & - transpose(crystallite_partionedLi0(1:3,1:3,debug_g,debug_i,debug_e)) + transpose(crystallite_partionedLi0(1:3,1:3,debug%grain,debug%ip,debug%element)) endif #endif @@ -375,7 +391,7 @@ function crystallite_stress() NiterationCrystallite = NiterationCrystallite + 1 #ifdef DEBUG - if (debug_crystallite%contains('extensive')) & + if (debug%extensive) & write(6,'(a,i6)') '<< CRYST stress >> crystallite iteration ',NiterationCrystallite #endif !$OMP PARALLEL DO PRIVATE(formerSubStep) From 862773996335d6ef6491a29a301b58619a64d559 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 1 Jul 2020 20:46:26 +0200 Subject: [PATCH 328/958] simplifying --- src/constitutive.f90 | 36 +++++++++++--------------- src/constitutive_plastic_disloUCLA.f90 | 10 +++---- src/constitutive_plastic_dislotwin.f90 | 11 +++----- src/constitutive_plastic_none.f90 | 10 +++---- src/kinematics_cleavage_opening.f90 | 10 +++---- src/kinematics_slipplane_opening.f90 | 10 +++---- src/kinematics_thermal_expansion.f90 | 10 +++---- src/source_damage_anisoBrittle.f90 | 11 +++----- src/source_damage_anisoDuctile.f90 | 10 +++---- src/source_damage_isoBrittle.f90 | 10 +++---- src/source_damage_isoDuctile.f90 | 10 +++---- src/source_thermal_dissipation.f90 | 10 +++---- src/source_thermal_externalheat.f90 | 10 +++---- 13 files changed, 51 insertions(+), 107 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 695941c31..b07a2b786 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -35,9 +35,7 @@ module constitutive interface - module subroutine plastic_none_init(debug_constitutive) - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options + module subroutine plastic_none_init end subroutine plastic_none_init module subroutine plastic_isotropic_init(debug_constitutive) @@ -53,14 +51,10 @@ module constitutive debug_constitutive !< pointer to constitutive debug options end subroutine plastic_kinehardening_init - module subroutine plastic_dislotwin_init(debug_constitutive) - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options + module subroutine plastic_dislotwin_init end subroutine plastic_dislotwin_init - module subroutine plastic_disloUCLA_init(debug_constitutive) - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options + module subroutine plastic_disloUCLA_init end subroutine plastic_disloUCLA_init module subroutine plastic_nonlocal_init(debug_constitutive) @@ -374,12 +368,12 @@ subroutine constitutive_init debug_constitutive => debug_root%get('constitutuve',defaultVal=emptyList) !-------------------------------------------------------------------------------------------------- ! initialized plasticity - if (any(phase_plasticity == PLASTICITY_NONE_ID)) call plastic_none_init(debug_constitutive) + if (any(phase_plasticity == PLASTICITY_NONE_ID)) call plastic_none_init if (any(phase_plasticity == PLASTICITY_ISOTROPIC_ID)) call plastic_isotropic_init(debug_constitutive) if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init if (any(phase_plasticity == PLASTICITY_KINEHARDENING_ID)) call plastic_kinehardening_init(debug_constitutive) - if (any(phase_plasticity == PLASTICITY_DISLOTWIN_ID)) call plastic_dislotwin_init(debug_constitutive) - if (any(phase_plasticity == PLASTICITY_DISLOUCLA_ID)) call plastic_disloucla_init(debug_constitutive) + if (any(phase_plasticity == PLASTICITY_DISLOTWIN_ID)) call plastic_dislotwin_init + if (any(phase_plasticity == PLASTICITY_DISLOUCLA_ID)) call plastic_disloucla_init if (any(phase_plasticity == PLASTICITY_NONLOCAL_ID)) then call plastic_nonlocal_init(debug_constitutive) else @@ -387,18 +381,18 @@ subroutine constitutive_init endif !-------------------------------------------------------------------------------------------------- ! initialize source mechanisms - if (any(phase_source == SOURCE_thermal_dissipation_ID)) call source_thermal_dissipation_init(debug_constitutive) - if (any(phase_source == SOURCE_thermal_externalheat_ID)) call source_thermal_externalheat_init(debug_constitutive) - if (any(phase_source == SOURCE_damage_isoBrittle_ID)) call source_damage_isoBrittle_init(debug_constitutive) - if (any(phase_source == SOURCE_damage_isoDuctile_ID)) call source_damage_isoDuctile_init(debug_constitutive) - if (any(phase_source == SOURCE_damage_anisoBrittle_ID)) call source_damage_anisoBrittle_init(debug_constitutive) - if (any(phase_source == SOURCE_damage_anisoDuctile_ID)) call source_damage_anisoDuctile_init(debug_constitutive) + if (any(phase_source == SOURCE_thermal_dissipation_ID)) call source_thermal_dissipation_init + if (any(phase_source == SOURCE_thermal_externalheat_ID)) call source_thermal_externalheat_init + if (any(phase_source == SOURCE_damage_isoBrittle_ID)) call source_damage_isoBrittle_init + if (any(phase_source == SOURCE_damage_isoDuctile_ID)) call source_damage_isoDuctile_init + if (any(phase_source == SOURCE_damage_anisoBrittle_ID)) call source_damage_anisoBrittle_init + if (any(phase_source == SOURCE_damage_anisoDuctile_ID)) call source_damage_anisoDuctile_init !-------------------------------------------------------------------------------------------------- ! initialize kinematic mechanisms - if (any(phase_kinematics == KINEMATICS_cleavage_opening_ID)) call kinematics_cleavage_opening_init(debug_constitutive) - if (any(phase_kinematics == KINEMATICS_slipplane_opening_ID)) call kinematics_slipplane_opening_init(debug_constitutive) - if (any(phase_kinematics == KINEMATICS_thermal_expansion_ID)) call kinematics_thermal_expansion_init(debug_constitutive) + if (any(phase_kinematics == KINEMATICS_cleavage_opening_ID)) call kinematics_cleavage_opening_init + if (any(phase_kinematics == KINEMATICS_slipplane_opening_ID)) call kinematics_slipplane_opening_init + if (any(phase_kinematics == KINEMATICS_thermal_expansion_ID)) call kinematics_thermal_expansion_init write(6,'(/,a)') ' <<<+- constitutive init -+>>>'; flush(6) diff --git a/src/constitutive_plastic_disloUCLA.f90 b/src/constitutive_plastic_disloUCLA.f90 index b355ca551..8c94817b9 100644 --- a/src/constitutive_plastic_disloUCLA.f90 +++ b/src/constitutive_plastic_disloUCLA.f90 @@ -74,10 +74,7 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_disloUCLA_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +module subroutine plastic_disloUCLA_init integer :: & Ninstance, & @@ -94,14 +91,13 @@ module subroutine plastic_disloUCLA_init(debug_constitutive) character(len=pStringLen) :: & extmsg = '' - write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_DISLOUCLA_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_DISLOUCLA_LABEL//' init -+>>>' write(6,'(/,a)') ' Cereceda et al., International Journal of Plasticity 78:242–256, 2016' write(6,'(a)') ' https://dx.doi.org/10.1016/j.ijplas.2015.09.002' Ninstance = count(phase_plasticity == PLASTICITY_DISLOUCLA_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(param(Ninstance)) allocate(state(Ninstance)) diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index bd3ad2466..09294ecd9 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -122,10 +122,7 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_dislotwin_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +module subroutine plastic_dislotwin_init integer :: & Ninstance, & @@ -141,7 +138,7 @@ module subroutine plastic_dislotwin_init(debug_constitutive) character(len=pStringLen) :: & extmsg = '' - write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_DISLOTWIN_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_DISLOTWIN_LABEL//' init -+>>>' write(6,'(/,a)') ' Ma and Roters, Acta Materialia 52(12):3603–3612, 2004' write(6,'(a)') ' https://doi.org/10.1016/j.actamat.2004.04.012' @@ -153,9 +150,7 @@ module subroutine plastic_dislotwin_init(debug_constitutive) write(6,'(a,/)') ' https://doi.org/10.1016/j.actamat.2016.07.032' Ninstance = count(phase_plasticity == PLASTICITY_DISLOTWIN_ID) - - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(param(Ninstance)) allocate(state(Ninstance)) diff --git a/src/constitutive_plastic_none.f90 b/src/constitutive_plastic_none.f90 index 3b7a4ff28..da3ee9796 100644 --- a/src/constitutive_plastic_none.f90 +++ b/src/constitutive_plastic_none.f90 @@ -12,21 +12,17 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_none_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +module subroutine plastic_none_init integer :: & Ninstance, & p, & NipcMyPhase - write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_NONE_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_NONE_LABEL//' init -+>>>' Ninstance = count(phase_plasticity == PLASTICITY_NONE_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) do p = 1, size(phase_plasticity) if (phase_plasticity(p) /= PLASTICITY_NONE_ID) cycle diff --git a/src/kinematics_cleavage_opening.f90 b/src/kinematics_cleavage_opening.f90 index c35c9b615..0912b7c25 100644 --- a/src/kinematics_cleavage_opening.f90 +++ b/src/kinematics_cleavage_opening.f90 @@ -43,20 +43,16 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine kinematics_cleavage_opening_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +subroutine kinematics_cleavage_opening_init integer :: Ninstance,p integer, dimension(:), allocatable :: N_cl !< active number of cleavage systems per family character(len=pStringLen) :: extmsg = '' - write(6,'(/,a)') ' <<<+- kinematics_'//KINEMATICS_CLEAVAGE_OPENING_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- kinematics_'//KINEMATICS_CLEAVAGE_OPENING_LABEL//' init -+>>>' Ninstance = count(phase_kinematics == KINEMATICS_CLEAVAGE_OPENING_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(kinematics_cleavage_opening_instance(size(config_phase)), source=0) allocate(param(Ninstance)) diff --git a/src/kinematics_slipplane_opening.f90 b/src/kinematics_slipplane_opening.f90 index caeff8e56..7a4bac954 100644 --- a/src/kinematics_slipplane_opening.f90 +++ b/src/kinematics_slipplane_opening.f90 @@ -45,21 +45,17 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine kinematics_slipplane_opening_init(debug_constitutive) - - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +subroutine kinematics_slipplane_opening_init integer :: Ninstance,p,i character(len=pStringLen) :: extmsg = '' integer, dimension(:), allocatable :: N_sl real(pReal), dimension(:,:), allocatable :: d,n,t - write(6,'(/,a)') ' <<<+- kinematics_'//KINEMATICS_SLIPPLANE_OPENING_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- kinematics_'//KINEMATICS_SLIPPLANE_OPENING_LABEL//' init -+>>>' Ninstance = count(phase_kinematics == KINEMATICS_SLIPPLANE_OPENING_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(kinematics_slipplane_opening_instance(size(config_phase)), source=0) allocate(param(Ninstance)) diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index 1d099451c..50a6b916b 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -38,19 +38,15 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine kinematics_thermal_expansion_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +subroutine kinematics_thermal_expansion_init integer :: Ninstance,p,i real(pReal), dimension(:), allocatable :: temp - write(6,'(/,a)') ' <<<+- kinematics_'//KINEMATICS_thermal_expansion_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- kinematics_'//KINEMATICS_thermal_expansion_LABEL//' init -+>>>' Ninstance = count(phase_kinematics == KINEMATICS_thermal_expansion_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(kinematics_thermal_expansion_instance(size(config_phase)), source=0) allocate(param(Ninstance)) diff --git a/src/source_damage_anisoBrittle.f90 b/src/source_damage_anisoBrittle.f90 index 7422fa113..c5ff1f906 100644 --- a/src/source_damage_anisoBrittle.f90 +++ b/src/source_damage_anisoBrittle.f90 @@ -6,7 +6,6 @@ !-------------------------------------------------------------------------------------------------- module source_damage_anisoBrittle use prec - use debug use IO use math use discretization @@ -53,20 +52,16 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_damage_anisoBrittle_init(debug_constitutive) - - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +subroutine source_damage_anisoBrittle_init integer :: Ninstance,sourceOffset,NipcMyPhase,p integer, dimension(:), allocatable :: N_cl character(len=pStringLen) :: extmsg = '' - write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ANISOBRITTLE_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ANISOBRITTLE_LABEL//' init -+>>>' Ninstance = count(phase_source == SOURCE_DAMAGE_ANISOBRITTLE_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(source_damage_anisoBrittle_offset (size(config_phase)), source=0) allocate(source_damage_anisoBrittle_instance(size(config_phase)), source=0) diff --git a/src/source_damage_anisoDuctile.f90 b/src/source_damage_anisoDuctile.f90 index d511e9dc3..3d89d2815 100644 --- a/src/source_damage_anisoDuctile.f90 +++ b/src/source_damage_anisoDuctile.f90 @@ -46,20 +46,16 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_damage_anisoDuctile_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +subroutine source_damage_anisoDuctile_init integer :: Ninstance,sourceOffset,NipcMyPhase,p integer, dimension(:), allocatable :: N_sl character(len=pStringLen) :: extmsg = '' - write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ANISODUCTILE_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ANISODUCTILE_LABEL//' init -+>>>' Ninstance = count(phase_source == SOURCE_DAMAGE_ANISODUCTILE_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(source_damage_anisoDuctile_offset (size(config_phase)), source=0) allocate(source_damage_anisoDuctile_instance(size(config_phase)), source=0) diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index 7abd1e494..c710e4211 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -45,19 +45,15 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_damage_isoBrittle_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +subroutine source_damage_isoBrittle_init integer :: Ninstance,sourceOffset,NipcMyPhase,p character(len=pStringLen) :: extmsg = '' - write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ISOBRITTLE_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ISOBRITTLE_LABEL//' init -+>>>' Ninstance = count(phase_source == SOURCE_DAMAGE_ISOBRITTLE_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(source_damage_isoBrittle_offset (size(config_phase)), source=0) allocate(source_damage_isoBrittle_instance(size(config_phase)), source=0) diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index 4dd77bed5..d9a5cd3b3 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -45,19 +45,15 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_damage_isoDuctile_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +subroutine source_damage_isoDuctile_init integer :: Ninstance,sourceOffset,NipcMyPhase,p character(len=pStringLen) :: extmsg = '' - write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ISODUCTILE_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ISODUCTILE_LABEL//' init -+>>>' Ninstance = count(phase_source == SOURCE_DAMAGE_ISODUCTILE_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(source_damage_isoDuctile_offset (size(config_phase)), source=0) allocate(source_damage_isoDuctile_instance(size(config_phase)), source=0) diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index 099dd1e80..2cd07ea06 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -38,18 +38,14 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_thermal_dissipation_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +subroutine source_thermal_dissipation_init integer :: Ninstance,sourceOffset,NipcMyPhase,p - write(6,'(/,a)') ' <<<+- source_'//SOURCE_thermal_dissipation_label//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- source_'//SOURCE_thermal_dissipation_label//' init -+>>>' Ninstance = count(phase_source == SOURCE_THERMAL_DISSIPATION_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(source_thermal_dissipation_offset (size(config_phase)), source=0) allocate(source_thermal_dissipation_instance(size(config_phase)), source=0) diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index 023b81d22..52f25330f 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -42,18 +42,14 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_thermal_externalheat_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +subroutine source_thermal_externalheat_init integer :: Ninstance,sourceOffset,NipcMyPhase,p - write(6,'(/,a)') ' <<<+- source_'//SOURCE_thermal_externalheat_label//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- source_'//SOURCE_thermal_externalheat_label//' init -+>>>' Ninstance = count(phase_source == SOURCE_thermal_externalheat_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(source_thermal_externalheat_offset (size(config_phase)), source=0) allocate(source_thermal_externalheat_instance(size(config_phase)), source=0) From 73f0fa3abae97a938ff9d5762a8b9ae5d73fc1ca Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 1 Jul 2020 21:22:05 +0200 Subject: [PATCH 329/958] further simplification --- src/constitutive.f90 | 79 +++++------------- src/constitutive_plastic_isotropic.f90 | 64 ++++++++------- src/constitutive_plastic_kinehardening.f90 | 55 ++++++++----- src/constitutive_plastic_nonlocal.f90 | 93 ++++++++++++---------- 4 files changed, 140 insertions(+), 151 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index b07a2b786..cf7f5fa94 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -38,17 +38,13 @@ module constitutive module subroutine plastic_none_init end subroutine plastic_none_init - module subroutine plastic_isotropic_init(debug_constitutive) - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options + module subroutine plastic_isotropic_init end subroutine plastic_isotropic_init module subroutine plastic_phenopowerlaw_init end subroutine plastic_phenopowerlaw_init - module subroutine plastic_kinehardening_init(debug_constitutive) - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options + module subroutine plastic_kinehardening_init end subroutine plastic_kinehardening_init module subroutine plastic_dislotwin_init @@ -57,14 +53,11 @@ module constitutive module subroutine plastic_disloUCLA_init end subroutine plastic_disloUCLA_init - module subroutine plastic_nonlocal_init(debug_constitutive) - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options + module subroutine plastic_nonlocal_init end subroutine plastic_nonlocal_init - module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of, & - debug_constitutive) + module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) real(pReal), dimension(3,3), intent(out) :: & Lp !< plastic velocity gradient real(pReal), dimension(3,3,3,3), intent(out) :: & @@ -75,8 +68,6 @@ module constitutive integer, intent(in) :: & instance, & of - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options end subroutine plastic_isotropic_LpAndItsTangent pure module subroutine plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) @@ -154,8 +145,7 @@ module constitutive end subroutine plastic_nonlocal_LpAndItsTangent - module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of, & - debug_constitutive) + module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) real(pReal), dimension(3,3), intent(out) :: & Li !< inleastic velocity gradient real(pReal), dimension(3,3,3,3), intent(out) :: & @@ -166,8 +156,6 @@ module constitutive integer, intent(in) :: & instance, & of - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options end subroutine plastic_isotropic_LiAndItsTangent @@ -216,7 +204,7 @@ module constitutive end subroutine plastic_disloUCLA_dotState module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & - instance,of,ip,el,debug_constitutive) + instance,of,ip,el) real(pReal), dimension(3,3), intent(in) ::& Mp !< MandelStress real(pReal), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem), intent(in) :: & @@ -230,8 +218,6 @@ module constitutive of, & ip, & !< current integration point el !< current element number - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options end subroutine plastic_nonlocal_dotState @@ -249,8 +235,7 @@ module constitutive of end subroutine plastic_disloUCLA_dependentState - module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el, & - debug_constitutive) + module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) real(pReal), dimension(3,3), intent(in) :: & F, & Fp @@ -259,22 +244,18 @@ module constitutive of, & ip, & el - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options end subroutine plastic_nonlocal_dependentState - module subroutine plastic_kinehardening_deltaState(Mp,instance,of,debug_constitutive) + module subroutine plastic_kinehardening_deltaState(Mp,instance,of) real(pReal), dimension(3,3), intent(in) :: & Mp !< Mandel stress integer, intent(in) :: & instance, & of - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options end subroutine plastic_kinehardening_deltaState - module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el,debug_constitutive) + module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el) real(pReal), dimension(3,3), intent(in) :: & Mp integer, intent(in) :: & @@ -282,8 +263,6 @@ module constitutive of, & ip, & el - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options end subroutine plastic_nonlocal_deltaState @@ -362,20 +341,16 @@ subroutine constitutive_init integer :: & ph, & !< counter in phase loop s !< counter in source loop - class(tNode), pointer :: & - debug_constitutive - - debug_constitutive => debug_root%get('constitutuve',defaultVal=emptyList) !-------------------------------------------------------------------------------------------------- ! initialized plasticity if (any(phase_plasticity == PLASTICITY_NONE_ID)) call plastic_none_init - if (any(phase_plasticity == PLASTICITY_ISOTROPIC_ID)) call plastic_isotropic_init(debug_constitutive) + if (any(phase_plasticity == PLASTICITY_ISOTROPIC_ID)) call plastic_isotropic_init if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init - if (any(phase_plasticity == PLASTICITY_KINEHARDENING_ID)) call plastic_kinehardening_init(debug_constitutive) + if (any(phase_plasticity == PLASTICITY_KINEHARDENING_ID)) call plastic_kinehardening_init if (any(phase_plasticity == PLASTICITY_DISLOTWIN_ID)) call plastic_dislotwin_init if (any(phase_plasticity == PLASTICITY_DISLOUCLA_ID)) call plastic_disloucla_init if (any(phase_plasticity == PLASTICITY_NONLOCAL_ID)) then - call plastic_nonlocal_init(debug_constitutive) + call plastic_nonlocal_init else call geometry_plastic_nonlocal_disable endif @@ -454,10 +429,7 @@ subroutine constitutive_dependentState(F, Fp, ipc, ip, el) ho, & !< homogenization tme, & !< thermal member position instance, of - class(tNode), pointer :: & - debug_constitutive - debug_constitutive => debug_root%get('constitutive',defaultVal=emptyList) ho = material_homogenizationAt(el) tme = thermalMapping(ho)%p(ip,el) of = material_phasememberAt(ipc,ip,el) @@ -469,7 +441,7 @@ subroutine constitutive_dependentState(F, Fp, ipc, ip, el) case (PLASTICITY_DISLOUCLA_ID) plasticityType call plastic_disloUCLA_dependentState(instance,of) case (PLASTICITY_NONLOCAL_ID) plasticityType - call plastic_nonlocal_dependentState (F,Fp,instance,of,ip,el,debug_constitutive) + call plastic_nonlocal_dependentState (F,Fp,instance,of,ip,el) end select plasticityType end subroutine constitutive_dependentState @@ -503,10 +475,7 @@ subroutine constitutive_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & tme !< thermal member position integer :: & i, j, instance, of - class(tNode), pointer :: & - debug_constitutive - debug_constitutive => debug_root%get('constitutive',defaultVal=emptyList) ho = material_homogenizationAt(el) tme = thermalMapping(ho)%p(ip,el) @@ -522,7 +491,7 @@ subroutine constitutive_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & dLp_dMp = 0.0_pReal case (PLASTICITY_ISOTROPIC_ID) plasticityType - call plastic_isotropic_LpAndItsTangent (Lp,dLp_dMp,Mp,instance,of,debug_constitutive) + call plastic_isotropic_LpAndItsTangent (Lp,dLp_dMp,Mp,instance,of) case (PLASTICITY_PHENOPOWERLAW_ID) plasticityType call plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) @@ -582,11 +551,7 @@ subroutine constitutive_LiAndItsTangents(Li, dLi_dS, dLi_dFi, & integer :: & k, i, j, & instance, of - class(tNode), pointer :: & - debug_constitutive - debug_constitutive => debug_root%get('constitutive',defaultVal=emptyList) - Li = 0.0_pReal dLi_dS = 0.0_pReal dLi_dFi = 0.0_pReal @@ -595,7 +560,7 @@ subroutine constitutive_LiAndItsTangents(Li, dLi_dS, dLi_dFi, & case (PLASTICITY_isotropic_ID) plasticityType of = material_phasememberAt(ipc,ip,el) instance = phase_plasticityInstance(material_phaseAt(ipc,el)) - call plastic_isotropic_LiAndItsTangent(my_Li, my_dLi_dS, S ,instance,of,debug_constitutive) + call plastic_isotropic_LiAndItsTangent(my_Li, my_dLi_dS, S ,instance,of) case default plasticityType my_Li = 0.0_pReal my_dLi_dS = 0.0_pReal @@ -768,12 +733,8 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el tme, & !< thermal member position i, & !< counter in source loop instance - class(tNode), pointer :: & - debug_constitutive logical :: broken - debug_constitutive => debug_root%get('constitutive',defaultVal=emptyList) - ho = material_homogenizationAt(el) tme = thermalMapping(ho)%p(ip,el) instance = phase_plasticityInstance(phase) @@ -799,7 +760,7 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el case (PLASTICITY_NONLOCAL_ID) plasticityType call plastic_nonlocal_dotState (Mp,FArray,FpArray,temperature(ho)%p(tme),subdt, & - instance,of,ip,el,debug_constitutive) + instance,of,ip,el) end select plasticityType broken = any(IEEE_is_NaN(plasticState(phase)%dotState(:,of))) @@ -851,24 +812,20 @@ function constitutive_deltaState(S, Fe, Fi, ipc, ip, el, phase, of) result(broke instance, & myOffset, & mySize - class(tNode), pointer :: & - debug_constitutive logical :: & broken - debug_constitutive => debug_root%get('constitutive',defaultVal=emptyList) - Mp = matmul(matmul(transpose(Fi),Fi),S) instance = phase_plasticityInstance(phase) plasticityType: select case (phase_plasticity(phase)) case (PLASTICITY_KINEHARDENING_ID) plasticityType - call plastic_kinehardening_deltaState(Mp,instance,of,debug_constitutive) + call plastic_kinehardening_deltaState(Mp,instance,of) broken = any(IEEE_is_NaN(plasticState(phase)%deltaState(:,of))) case (PLASTICITY_NONLOCAL_ID) plasticityType - call plastic_nonlocal_deltaState(Mp,instance,of,ip,el,debug_constitutive) + call plastic_nonlocal_deltaState(Mp,instance,of,ip,el) broken = any(IEEE_is_NaN(plasticState(phase)%deltaState(:,of))) case default diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index adb293c64..d8b799363 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -36,6 +36,20 @@ submodule(constitutive) plastic_isotropic gamma end type tIsotropicState +#ifdef DEBUG + type :: tDebugOptions + logical :: & + extensive, & + selective + integer :: & + element, & + ip, & + grain + end type tDebugOptions + + type(tDebugOptions) :: debug + +#endif !-------------------------------------------------------------------------------------------------- ! containers for parameters and state type(tParameters), allocatable, dimension(:) :: param @@ -49,32 +63,36 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_isotropic_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +module subroutine plastic_isotropic_init integer :: & Ninstance, & p, & NipcMyPhase, & - sizeState, sizeDotState, & - debug_g, & - debug_e, & - debug_i + sizeState, sizeDotState real(pReal) :: & xi_0 !< initial critical stress character(len=pStringLen) :: & extmsg = '' + class(tNode), pointer :: & + debug_constitutive - write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_ISOTROPIC_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_ISOTROPIC_LABEL//' init -+>>>' write(6,'(/,a)') ' Maiti and Eisenlohr, Scripta Materialia 145:37–40, 2018' write(6,'(a)') ' https://doi.org/10.1016/j.scriptamat.2017.09.047' Ninstance = count(phase_plasticity == PLASTICITY_ISOTROPIC_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + +#ifdef DEBUG + debug_constitutive => debug_root%get('constitutuve', defaultVal=emptyList) + debug%extensive = debug_constitutive%contains('extensive') + debug%selective = debug_constitutive%contains('selective') + debug%element = debug_root%get_asInt('element',defaultVal = 1) + debug%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) + debug%grain = debug_root%get_asInt('grain',defaultVal = 1) +#endif allocate(param(Ninstance)) allocate(state(Ninstance)) @@ -90,12 +108,8 @@ module subroutine plastic_isotropic_init(debug_constitutive) prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) #ifdef DEBUG - debug_g = debug_root%get_asInt('grain',defaultVal=1) - debug_e = debug_root%get_asInt('element',defaultVal=1) - debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) - - if (p==material_phaseAt(debug_g,debug_e)) & - prm%of_debug = material_phasememberAt(debug_g,debug_i,debug_e) + if (p==material_phaseAt(debug%grain,debug%element)) & + prm%of_debug = material_phasememberAt(debug%grain,debug%ip,debug%element) #endif xi_0 = config%getFloat('tau0') @@ -160,7 +174,7 @@ end subroutine plastic_isotropic_init !-------------------------------------------------------------------------------------------------- !> @brief Calculate plastic velocity gradient and its tangent. !-------------------------------------------------------------------------------------------------- -module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of,debug_constitutive) +module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) real(pReal), dimension(3,3), intent(out) :: & Lp !< plastic velocity gradient @@ -172,8 +186,6 @@ module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of,de integer, intent(in) :: & instance, & of - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options real(pReal), dimension(3,3) :: & Mp_dev !< deviatoric part of the Mandel stress @@ -195,8 +207,8 @@ module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of,de Lp = dot_gamma/prm%M * Mp_dev/norm_Mp_dev #ifdef DEBUG - if (debug_constitutive%contains('extensive') & - .and. (of == prm%of_debug .or. .not. debug_constitutive%contains('selective'))) then + if (debug%extensive & + .and. (of == prm%of_debug .or. .not. debug%selective)) then write(6,'(/,a,/,3(12x,3(f12.4,1x)/))') '<< CONST isotropic >> Tstar (dev) / MPa', & transpose(Mp_dev)*1.0e-6_pReal write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> norm Tstar / MPa', norm_Mp_dev*1.0e-6_pReal @@ -223,7 +235,7 @@ end subroutine plastic_isotropic_LpAndItsTangent !-------------------------------------------------------------------------------------------------- !> @brief Calculate inelastic velocity gradient and its tangent. !-------------------------------------------------------------------------------------------------- -module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of,debug_constitutive) +module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) real(pReal), dimension(3,3), intent(out) :: & Li !< inleastic velocity gradient @@ -235,8 +247,6 @@ module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of,de integer, intent(in) :: & instance, & of - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options real(pReal) :: & tr !< trace of spherical part of Mandel stress (= 3 x pressure) @@ -253,8 +263,8 @@ module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of,de * tr * abs(tr)**(prm%n-1.0_pReal) #ifdef DEBUG - if (debug_constitutive%contains('extensive') & - .and. (of == prm%of_debug .or. .not. debug_constitutive%contains('selective'))) then + if (debug%extensive & + .and. (of == prm%of_debug .or. .not. debug%selective)) then write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> pressure / MPa', tr/3.0_pReal*1.0e-6_pReal write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> gdot', prm%dot_gamma_0 * (3.0_pReal*prm%M*stt%xi(of))**(-prm%n) & * tr * abs(tr)**(prm%n-1.0_pReal) diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index 645a3916b..f82b84641 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -43,6 +43,21 @@ submodule(constitutive) plastic_kinehardening accshear !< accumulated (absolute) shear end type tKinehardeningState +#ifdef DEBUG + type :: tDebugOptions + logical :: & + extensive, & + selective + integer :: & + element, & + ip, & + grain + end type tDebugOptions + + type(tDebugOptions) :: debug + +#endif + !-------------------------------------------------------------------------------------------------- ! containers for parameters and state type(tParameters), allocatable, dimension(:) :: param @@ -58,18 +73,14 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_kinehardening_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +module subroutine plastic_kinehardening_init integer :: & Ninstance, & p, o, & NipcMyPhase, & sizeState, sizeDeltaState, sizeDotState, & - startIndex, endIndex, & - debug_e, debug_i, debug_g + startIndex, endIndex integer, dimension(:), allocatable :: & N_sl real(pReal), dimension(:), allocatable :: & @@ -77,12 +88,22 @@ module subroutine plastic_kinehardening_init(debug_constitutive) a !< non-Schmid coefficients character(len=pStringLen) :: & extmsg = '' + class(tNode), pointer :: & + debug_constitutive - write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_KINEHARDENING_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_KINEHARDENING_LABEL//' init -+>>>' Ninstance = count(phase_plasticity == PLASTICITY_KINEHARDENING_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + +#ifdef DEBUG + debug_constitutive => debug_root%get('constitutuve', defaultVal=emptyList) + debug%extensive = debug_constitutive%contains('extensive') + debug%selective = debug_constitutive%contains('selective') + debug%element = debug_root%get_asInt('element',defaultVal = 1) + debug%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) + debug%grain = debug_root%get_asInt('grain',defaultVal = 1) +#endif allocate(param(Ninstance)) allocate(state(Ninstance)) @@ -100,12 +121,8 @@ module subroutine plastic_kinehardening_init(debug_constitutive) prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) #ifdef DEBUG - debug_g = debug_root%get_asInt('grain',defaultVal=1) - debug_e = debug_root%get_asInt('element',defaultVal=1) - debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) - - if (p==material_phaseAt(debug_g,debug_e)) then - prm%of_debug = material_phasememberAt(debug_g,debug_i,debug_e) + if (p==material_phaseAt(debug%grain,debug%element)) then + prm%of_debug = material_phasememberAt(debug%grain,debug%ip,debug%element) endif #endif @@ -316,15 +333,13 @@ end subroutine plastic_kinehardening_dotState !-------------------------------------------------------------------------------------------------- !> @brief Calculate (instantaneous) incremental change of microstructure. !-------------------------------------------------------------------------------------------------- -module subroutine plastic_kinehardening_deltaState(Mp,instance,of,debug_constitutive) +module subroutine plastic_kinehardening_deltaState(Mp,instance,of) real(pReal), dimension(3,3), intent(in) :: & Mp !< Mandel stress integer, intent(in) :: & instance, & of - class(tNode), pointer , intent(in) :: & - debug_constitutive !< pointer to constitutive debug options real(pReal), dimension(param(instance)%sum_N_sl) :: & gdot_pos,gdot_neg, & @@ -338,9 +353,9 @@ module subroutine plastic_kinehardening_deltaState(Mp,instance,of,debug_constitu dEq0(gdot_pos+gdot_neg,1e-10_pReal)) ! current sense of shear direction #ifdef DEBUG - if (debug_constitutive%contains('extensive') & + if (debug%extensive & .and. (of == prm%of_debug & - .or. .not. debug_constitutive%contains('selective'))) then + .or. .not. debug%selective)) then write(6,'(a)') '======= kinehardening delta state =======' write(6,*) sense,state(instance)%sense(:,of) endif diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index a131f4517..6469a0f87 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -147,6 +147,22 @@ submodule(constitutive) plastic_nonlocal v_scr_neg end type tNonlocalState +#ifdef DEBUG + type :: tDebugOptions + logical :: & + basic, & + extensive, & + selective + integer :: & + element, & + ip, & + grain + end type tDebugOptions + + type(tDebugOptions) :: debug + +#endif + type(tNonlocalState), allocatable, dimension(:) :: & deltaState, & dotState, & @@ -163,10 +179,7 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_nonlocal_init(debug_constitutive) - - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options +module subroutine plastic_nonlocal_init integer :: & Ninstance, & @@ -181,8 +194,10 @@ module subroutine plastic_nonlocal_init(debug_constitutive) extmsg = '' type(tInitialParameters) :: & ini + class(tNode), pointer :: & + debug_constitutive - write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONLOCAL_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONLOCAL_LABEL//' init -+>>>' write(6,'(/,a)') ' Reuber et al., Acta Materialia 71:333–348, 2014' write(6,'(a)') ' https://doi.org/10.1016/j.actamat.2014.03.012' @@ -191,8 +206,17 @@ module subroutine plastic_nonlocal_init(debug_constitutive) write(6,'(a)') ' http://publications.rwth-aachen.de/record/229993' Ninstance = count(phase_plasticity == PLASTICITY_NONLOCAL_ID) - if (debug_constitutive%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + +#ifdef DEBUG + debug_constitutive => debug_root%get('constitutuve', defaultVal=emptyList) + debug%basic = debug_constitutive%contains('basic') + debug%extensive = debug_constitutive%contains('extensive') + debug%selective = debug_constitutive%contains('selective') + debug%element = debug_root%get_asInt('element',defaultVal = 1) + debug%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) + debug%grain = debug_root%get_asInt('grain',defaultVal = 1) +#endif allocate(param(Ninstance)) allocate(state(Ninstance)) @@ -525,7 +549,7 @@ end subroutine plastic_nonlocal_init !-------------------------------------------------------------------------------------------------- !> @brief calculates quantities characterizing the microstructure !-------------------------------------------------------------------------------------------------- -module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el,debug_constitutive) +module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) real(pReal), dimension(3,3), intent(in) :: & F, & @@ -535,8 +559,6 @@ module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el,de of, & ip, & el - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options integer :: & no, & !< neighbor offset @@ -546,8 +568,7 @@ module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el,de c, & ! index of dilsocation character (edge, screw) s, & ! slip system index dir, & - n, & - debug_e, debug_i + n real(pReal) :: & FVsize, & nRealNeighbors ! number of really existing neighbors @@ -716,11 +737,9 @@ module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el,de endif #ifdef DEBUG - debug_e = debug_root%get_asInt('element',defaultVal=1) - debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) - if (debug_constitutive%contains('extensive') & - .and. ((debug_e == el .and. debug_i == ip)& - .or. .not. debug_constitutive%contains('selective'))) then + if (debug%extensive & + .and. ((debug%element == el .and. debug%ip == ip)& + .or. .not. debug%selective)) then write(6,'(/,a,i8,1x,i2,1x,i1,/)') '<< CONST >> nonlocal_microstructure at el ip ',el,ip write(6,'(a,/,12x,12(e10.3,1x))') '<< CONST >> rhoForest', stt%rho_forest(:,of) write(6,'(a,/,12x,12(f10.5,1x))') '<< CONST >> tauThreshold / MPa', dst%tau_pass(:,of)*1e-6 @@ -844,7 +863,7 @@ end subroutine plastic_nonlocal_LpAndItsTangent !-------------------------------------------------------------------------------------------------- !> @brief (instantaneous) incremental change of microstructure !-------------------------------------------------------------------------------------------------- -module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el,debug_constitutive) +module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el) real(pReal), dimension(3,3), intent(in) :: & Mp !< MandelStress @@ -853,16 +872,13 @@ module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el,debug_constit of, & !< offset ip, & el - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options integer :: & ph, & !< phase ns, & ! short notation for the total number of active slip systems c, & ! character of dislocation t, & ! type of dislocation - s, & ! index of my current slip system - debug_e, debug_i + s ! index of my current slip system real(pReal), dimension(param(instance)%sum_N_sl,10) :: & deltaRhoRemobilization, & ! density increment by remobilization deltaRhoDipole2SingleStress ! density increment by dipole dissociation (by stress change) @@ -938,11 +954,9 @@ module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el,debug_constit del%rho(:,of) = reshape(deltaRhoRemobilization + deltaRhoDipole2SingleStress, [10*ns]) #ifdef DEBUG - debug_e = debug_root%get_asInt('element',defaultVal=1) - debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) - if (debug_constitutive%contains('extensive') & - .and. ((debug_e == el .and. debug_i == ip)& - .or. .not. debug_constitutive%contains('selective'))) then + if (debug%extensive & + .and. ((debug%element == el .and. debug%ip == ip)& + .or. .not. debug%selective)) then write(6,'(a,/,8(12x,12(e12.5,1x),/))') '<< CONST >> dislocation remobilization', deltaRhoRemobilization(:,1:8) write(6,'(a,/,10(12x,12(e12.5,1x),/),/)') '<< CONST >> dipole dissociation by stress increase', deltaRhoDipole2SingleStress endif @@ -957,7 +971,7 @@ end subroutine plastic_nonlocal_deltaState !> @brief calculates the rate of change of microstructure !--------------------------------------------------------------------------------------------------- module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & - instance,of,ip,el,debug_constitutive) + instance,of,ip,el) real(pReal), dimension(3,3), intent(in) :: & Mp !< MandelStress @@ -972,16 +986,13 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & of, & ip, & !< current integration point el !< current element number - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options integer :: & ph, & ns, & !< short notation for the total number of active slip systems c, & !< character of dislocation t, & !< type of dislocation - s, & !< index of my current slip system - debug_e, debug_i + s !< index of my current slip system real(pReal), dimension(param(instance)%sum_N_sl,10) :: & rho, & rho0, & !< dislocation density at beginning of time step @@ -1032,11 +1043,9 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & gdot = rhoSgl(:,1:4) * v * spread(prm%burgers,2,4) #ifdef DEBUG - debug_e = debug_root%get_asInt('element',defaultVal=1) - debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) - if (debug_constitutive%contains('basic') & - .and. ((debug_e == el .and. debug_i == ip) & - .or. .not. debug_constitutive%contains('selective') )) then + if (debug%basic & + .and. ((debug%element == el .and. debug%ip == ip) & + .or. .not. debug%selective)) then write(6,'(a,/,10(12x,12(e12.5,1x),/))') '<< CONST >> rho / 1/m^2', rhoSgl, rhoDip write(6,'(a,/,4(12x,12(e12.5,1x),/))') '<< CONST >> gdot / 1/s',gdot endif @@ -1135,7 +1144,7 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & - rhoDip(s,1) / timestep - rhoDotAthermalAnnihilation(s,9) & - rhoDotSingle2DipoleGlide(s,9)) ! make sure that we do not annihilate more dipoles than we have - rhoDot = rhoDotFlux(F,Fp,timestep, instance,of,ip,el,debug_constitutive) & + rhoDot = rhoDotFlux(F,Fp,timestep, instance,of,ip,el) & + rhoDotMultiplication & + rhoDotSingle2DipoleGlide & + rhoDotAthermalAnnihilation & @@ -1145,7 +1154,7 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & if ( any(rho(:,mob) + rhoDot(:,1:4) * timestep < -prm%atol_rho) & .or. any(rho(:,dip) + rhoDot(:,9:10) * timestep < -prm%atol_rho)) then #ifdef DEBUG - if (debug_constitutive%contains('extensive')) then + if (debug%extensive) then write(6,'(a,i5,a,i2)') '<< CONST >> evolution rate leads to negative density at el ',el,' ip ',ip write(6,'(a)') '<< CONST >> enforcing cutback !!!' endif @@ -1164,7 +1173,7 @@ end subroutine plastic_nonlocal_dotState !--------------------------------------------------------------------------------------------------- !> @brief calculates the rate of change of microstructure !--------------------------------------------------------------------------------------------------- -function rhoDotFlux(F,Fp,timestep, instance,of,ip,el,debug_constitutive) +function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) real(pReal), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem), intent(in) :: & F, & !< elastic deformation gradient @@ -1176,8 +1185,6 @@ function rhoDotFlux(F,Fp,timestep, instance,of,ip,el,debug_constitutive) of, & ip, & !< current integration point el !< current element number - class(tNode), pointer, intent(in) :: & - debug_constitutive !< pointer to constitutive debug options integer :: & ph, & @@ -1259,7 +1266,7 @@ function rhoDotFlux(F,Fp,timestep, instance,of,ip,el,debug_constitutive) .and. prm%CFLfactor * abs(v0) * timestep & > IPvolume(ip,el) / maxval(IParea(:,ip,el)))) then ! ...with velocity above critical value (we use the reference volume and area for simplicity here) #ifdef DEBUG - if (debug_constitutive%contains('extensive')) then + if (debug%extensive) then write(6,'(a,i5,a,i2)') '<< CONST >> CFL condition not fullfilled at el ',el,' ip ',ip write(6,'(a,e10.3,a,e10.3)') '<< CONST >> velocity is at ', & maxval(abs(v0), abs(gdot) > 0.0_pReal & From 86dc7054a494f034f22394726f6974ed4aa2f279 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 1 Jul 2020 22:11:16 +0200 Subject: [PATCH 330/958] still needed --- python/damask/_rotation.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 674656d4b..a605a74b6 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -630,8 +630,9 @@ class Rotation: return Rotation(q.reshape(r.shape[:-1]+(4,)) if shape is not None else q)._standardize() - + # for compatibility (old names do not follow convention) fromEulers = from_Eulers + asAxisAngle = as_axis_angle __mul__ = __matmul__ #################################################################################################### From c5bd45bf57919c3e259ec522c55b7079ff6c9538 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 1 Jul 2020 22:20:22 +0200 Subject: [PATCH 331/958] use submodule property; simplifying --- src/homogenization.f90 | 111 ++++++++++++-------------- src/homogenization_mech_RGC.f90 | 74 ++++++++--------- src/homogenization_mech_isostrain.f90 | 8 +- src/homogenization_mech_none.f90 | 10 +-- src/kinematics_cleavage_opening.f90 | 1 - src/kinematics_slipplane_opening.f90 | 1 - src/kinematics_thermal_expansion.f90 | 1 - src/source_damage_anisoDuctile.f90 | 1 - src/source_damage_isoBrittle.f90 | 1 - src/source_damage_isoDuctile.f90 | 1 - src/source_thermal_dissipation.f90 | 1 - src/source_thermal_externalheat.f90 | 1 - 12 files changed, 90 insertions(+), 121 deletions(-) diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 8a76ba112..e9aabf4b6 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -52,22 +52,33 @@ module homogenization type(tNumerics) :: num +#ifdef DEBUG + type :: tDebugOptions + logical :: & + basic, & + extensive, & + selective + integer :: & + element, & + ip, & + grain + end type tDebugOptions + + type(tDebugOptions) :: debug + +#endif + interface - module subroutine mech_none_init(debug_homogenization) - class(tNode), pointer, intent(in) :: & - debug_homogenization !< pointer to debug options for homogenization + module subroutine mech_none_init end subroutine mech_none_init - module subroutine mech_isostrain_init(debug_homogenization) - class(tNode), pointer, intent(in) :: & - debug_homogenization !< pointer to debug options for homogenization + module subroutine mech_isostrain_init end subroutine mech_isostrain_init - module subroutine mech_RGC_init(num_homogMech, debug_homogenization) + module subroutine mech_RGC_init(num_homogMech) class(tNode), pointer, intent(in) :: & - num_homogMech, & !< pointer to mechanical homogenization numerics data - debug_homogenization !< pointer to debug options for homogenization + num_homogMech !< pointer to mechanical homogenization numerics data end subroutine mech_RGC_init @@ -76,15 +87,12 @@ module homogenization real(pReal), dimension (3,3), intent(in) :: avgF !< average deformation gradient at material point end subroutine mech_isostrain_partitionDeformation - module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of, & - debug_homogenization) + module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of) real(pReal), dimension (:,:,:), intent(out) :: F !< partitioned deformation gradient real(pReal), dimension (3,3), intent(in) :: avgF !< average deformation gradient at material point integer, intent(in) :: & instance, & of - class(tNode), pointer, intent(in) :: & - debug_homogenization !< pointer to debug options for homogenization end subroutine mech_RGC_partitionDeformation @@ -106,7 +114,7 @@ module homogenization integer, intent(in) :: instance end subroutine mech_RGC_averageStressAndItsTangent - module function mech_RGC_updateState(P,F,F0,avgF,dt,dPdF,ip,el,debug_homogenization) + module function mech_RGC_updateState(P,F,F0,avgF,dt,dPdF,ip,el) logical, dimension(2) :: mech_RGC_updateState real(pReal), dimension(:,:,:), intent(in) :: & P,& !< partitioned stresses @@ -118,8 +126,6 @@ module homogenization integer, intent(in) :: & ip, & !< integration point number el !< element number - class(tNode), pointer, intent(in) :: & - debug_homogenization !< pointer to debug options for homogenization end function mech_RGC_updateState @@ -148,19 +154,28 @@ subroutine homogenization_init num_homogMech, & num_homogGeneric, & debug_homogenization - integer :: & - debug_g, & - debug_e - + +#ifdef DEBUG + debug_homogenization => debug_root%get('homogenization', defaultVal=emptyList) + debug%basic = debug_homogenization%contains('basic') + debug%extensive = debug_homogenization%contains('extensive') + debug%selective = debug_homogenization%contains('selective') + debug%element = debug_root%get_asInt('element',defaultVal = 1) + debug%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) + debug%grain = debug_root%get_asInt('grain',defaultVal = 1) + + if (debug%grain < 1 .or. debug%grain > homogenization_Ngrains(material_homogenizationAt(debug%element))) & + call IO_error(602,ext_msg='constituent', el=debug%element, g=debug%grain) +#endif + + num_homog => numerics_root%get('homogenization',defaultVal=emptyDict) num_homogMech => num_homog%get('mech',defaultVal=emptyDict) num_homogGeneric => num_homog%get('generic',defaultVal=emptyDict) - debug_homogenization => debug_root%get('homogenization',defaultVal=emptyList) - - if (any(homogenization_type == HOMOGENIZATION_NONE_ID)) call mech_none_init(debug_homogenization) - if (any(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID)) call mech_isostrain_init(debug_homogenization) - if (any(homogenization_type == HOMOGENIZATION_RGC_ID)) call mech_RGC_init(num_homogMech,debug_homogenization) + if (any(homogenization_type == HOMOGENIZATION_NONE_ID)) call mech_none_init + if (any(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID)) call mech_isostrain_init + if (any(homogenization_type == HOMOGENIZATION_RGC_ID)) call mech_RGC_init(num_homogMech) if (any(thermal_type == THERMAL_isothermal_ID)) call thermal_isothermal_init if (any(thermal_type == THERMAL_adiabatic_ID)) call thermal_adiabatic_init @@ -180,11 +195,6 @@ subroutine homogenization_init allocate(materialpoint_P(3,3,discretization_nIP,discretization_nElem), source=0.0_pReal) write(6,'(/,a)') ' <<<+- homogenization init -+>>>'; flush(6) - - debug_g = debug_root%get_asInt('grain', defaultVal=1) - debug_e = debug_root%get_asInt('element', defaultVal=1) - if (debug_g < 1 .or. debug_g > homogenization_Ngrains(material_homogenizationAt(debug_e))) & - call IO_error(602,ext_msg='constituent', el=debug_e, g=debug_g) num%nMPstate = num_homogGeneric%get_asInt ('nMPstate', defaultVal=10) num%subStepMinHomog = num_homogGeneric%get_asFloat('subStepMin', defaultVal=1.0e-3_pReal) @@ -213,9 +223,7 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) i, & !< integration point number e, & !< element number mySource, & - myNgrains, & - debug_e, & - debug_i + myNgrains real(pReal), dimension(discretization_nIP,discretization_nElem) :: & subFrac, & subStep @@ -224,21 +232,16 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) converged logical, dimension(2,discretization_nIP,discretization_nElem) :: & doneAndHappy - class(tNode), pointer :: & - debug_homogenization #ifdef DEBUG - debug_e = debug_root%get_asInt('element', defaultVal=1) - debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) - debug_homogenization => debug_root%get('homogenization',defaultVal=emptyList) - if (debug_homogenization%contains('basic')) then - write(6,'(/a,i5,1x,i2)') '<< HOMOG >> Material Point start at el ip ', debug_e, debug_i + if (debug%basic) then + write(6,'(/a,i5,1x,i2)') '<< HOMOG >> Material Point start at el ip ', debug%element, debug%ip write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< HOMOG >> F0', & - transpose(materialpoint_F0(1:3,1:3,debug_i,debug_e)) + transpose(materialpoint_F0(1:3,1:3,debug%ip,debug%element)) write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< HOMOG >> F', & - transpose(materialpoint_F(1:3,1:3,debug_i,debug_e)) + transpose(materialpoint_F(1:3,1:3,debug%ip,debug%element)) endif #endif @@ -297,9 +300,9 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) if (converged(i,e)) then #ifdef DEBUG - if (debug_homogenization%contains('extensive') & - .and. ((e == debug_e .and. i == debug_i) & - .or. .not. debug_homogenization%contains('selective'))) then + if (debug%extensive & + .and. ((e == debug%element .and. i == debug%ip) & + .or. .not. debug%selective)) then write(6,'(a,1x,f12.8,1x,a,1x,f12.8,1x,a,i8,1x,i2/)') '<< HOMOG >> winding forward from', & subFrac(i,e), 'to current subFrac', & subFrac(i,e)+subStep(i,e),'in materialpoint_stressAndItsTangent at el ip',e,i @@ -356,9 +359,9 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) subStep(i,e) = num%subStepSizeHomog * subStep(i,e) ! crystallite had severe trouble, so do a significant cutback #ifdef DEBUG - if (debug_homogenization%contains('extensive') & - .and. ((e == debug_e .and. i == debug_i) & - .or. .not. debug_homogenization%contains('selective'))) then + if (debug%extensive & + .and. ((e == debug%element .and. i == debug%ip) & + .or. .not. debug%selective)) then write(6,'(a,1x,f12.8,a,i8,1x,i2/)') & '<< HOMOG >> cutback step in materialpoint_stressAndItsTangent with new subStep:',& subStep(i,e),' at el ip',e,i @@ -490,10 +493,6 @@ subroutine partitionDeformation(subF,ip,el) integer, intent(in) :: & ip, & !< integration point el !< element number - class(tNode), pointer :: & - debug_homogenization - - debug_homogenization => debug_root%get('homogenization',defaultVal=emptyList) chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) @@ -510,7 +509,7 @@ subroutine partitionDeformation(subF,ip,el) crystallite_partionedF(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & subF,& ip, & - el,debug_homogenization) + el) end select chosenHomogenization end subroutine partitionDeformation @@ -530,10 +529,6 @@ function updateState(subdt,subF,ip,el) ip, & !< integration point el !< element number logical, dimension(2) :: updateState - class(tNode), pointer :: & - debug_homogenization - - debug_homogenization => debug_root%get('homogenization',defaultVal=emptyList) updateState = .true. chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) @@ -547,7 +542,7 @@ function updateState(subdt,subF,ip,el) subdt, & crystallite_dPdF(1:3,1:3,1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & ip, & - el,debug_homogenization) + el) end select chosenHomogenization chosenThermal: select case (thermal_type(material_homogenizationAt(el))) diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index e85f93367..57d47065e 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -75,24 +75,20 @@ contains !-------------------------------------------------------------------------------------------------- !> @brief allocates all necessary fields, reads information from material configuration file !-------------------------------------------------------------------------------------------------- -module subroutine mech_RGC_init(num_homogMech,debug_homogenization) +module subroutine mech_RGC_init(num_homogMech) class(tNode), pointer, intent(in) :: & - num_homogMech, & !< pointer to mechanical homogenization numerics data - debug_homogenization !< pointer to debug options for homogenization - + num_homogMech !< pointer to mechanical homogenization numerics data integer :: & Ninstance, & h, & NofMyHomog, & - sizeState, nIntFaceTot, & - debug_e, & - debug_i + sizeState, nIntFaceTot class (tNode), pointer :: & num_RGC ! pointer to RGC numerics data - write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_RGC_label//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_RGC_label//' init -+>>>' write(6,'(/,a)') ' Tjahjanto et al., International Journal of Material Forming 2(1):939–942, 2009' write(6,'(a)') ' https://doi.org/10.1007/s12289-009-0619-1' @@ -101,8 +97,7 @@ module subroutine mech_RGC_init(num_homogMech,debug_homogenization) write(6,'(a)') ' https://doi.org/10.1088/0965-0393/18/1/015006' Ninstance = count(homogenization_type == HOMOGENIZATION_RGC_ID) - if (debug_homogenization%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(param(Ninstance)) allocate(state(Ninstance)) @@ -148,10 +143,8 @@ module subroutine mech_RGC_init(num_homogMech,debug_homogenization) config => config_homogenization(h)) #ifdef DEBUG - debug_e = debug_root%get_asInt('element',defaultVal=1) - debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) - if (h==material_homogenizationAt(debug_e)) then - prm%of_debug = material_homogenizationMemberAt(debug_i,debug_e) + if (h==material_homogenizationAt(debug%element)) then + prm%of_debug = material_homogenizationMemberAt(debug%ip,debug%element) endif #endif @@ -204,7 +197,7 @@ end subroutine mech_RGC_init !-------------------------------------------------------------------------------------------------- !> @brief partitions the deformation gradient onto the constituents !-------------------------------------------------------------------------------------------------- -module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of,debug_homogenization) +module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of) real(pReal), dimension (:,:,:), intent(out) :: F !< partioned F per grain @@ -212,8 +205,7 @@ module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of,debug_homogen integer, intent(in) :: & instance, & of - class(tNode), pointer, intent(in) :: & - debug_homogenization !< pointer to debug options for homogenization + real(pReal), dimension(3) :: aVect,nVect integer, dimension(4) :: intFace integer, dimension(3) :: iGrain3 @@ -236,7 +228,7 @@ module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of,debug_homogen F(1:3,1:3,iGrain) = F(1:3,1:3,iGrain) + avgF ! resulting relaxed deformation gradient #ifdef DEBUG - if (debug_homogenization%contains('extensive')) then + if (debug%extensive) then write(6,'(1x,a32,1x,i3)')'Deformation gradient of grain: ',iGrain do i = 1,3 write(6,'(1x,3(e15.8,1x))')(F(i,j,iGrain), j = 1,3) @@ -299,7 +291,7 @@ module procedure mech_RGC_updateState drelax = stt%relaxationVector(:,of) - st0%relaxationVector(:,of) #ifdef DEBUG - if (debug_homogenization%contains('extensive')) then + if (debug%extensive) then write(6,'(1x,a30)')'Obtained state: ' do i = 1,size(stt%relaxationVector(:,of)) write(6,'(1x,2(e15.8,1x))') stt%relaxationVector(i,of) @@ -310,14 +302,14 @@ module procedure mech_RGC_updateState !-------------------------------------------------------------------------------------------------- ! computing interface mismatch and stress penalty tensor for all interfaces of all grains - call stressPenalty(R,NN,avgF,F,ip,el,instance,of,debug_homogenization) + call stressPenalty(R,NN,avgF,F,ip,el,instance,of) !-------------------------------------------------------------------------------------------------- ! calculating volume discrepancy and stress penalty related to overall volume discrepancy - call volumePenalty(D,dst%volumeDiscrepancy(of),avgF,F,nGrain,instance,of,debug_homogenization) + call volumePenalty(D,dst%volumeDiscrepancy(of),avgF,F,nGrain,instance,of) #ifdef DEBUG - if (debug_homogenization%contains('extensive')) then + if (debug%extensive) then do iGrain = 1,nGrain write(6,'(1x,a30,1x,i3,1x,a4,3(1x,e15.8))')'Mismatch magnitude of grain(',iGrain,') :',& NN(1,iGrain),NN(2,iGrain),NN(3,iGrain) @@ -365,7 +357,7 @@ module procedure mech_RGC_updateState enddo #ifdef DEBUG - if (debug_homogenization%contains('extensive')) then + if (debug%extensive) then write(6,'(1x,a30,1x,i3)')'Traction at interface: ',iNum write(6,'(1x,3(e15.8,1x))')(tract(iNum,j), j = 1,3) write(6,*)' ' @@ -379,7 +371,7 @@ module procedure mech_RGC_updateState residMax = maxval(abs(tract)) ! get the maximum of the residual #ifdef DEBUG - if (debug_homogenization%contains('extensive') .and. prm%of_debug == of) then + if (debug%extensive .and. prm%of_debug == of) then stresLoc = maxloc(abs(P)) residLoc = maxloc(abs(tract)) write(6,'(1x,a)')' ' @@ -399,7 +391,7 @@ module procedure mech_RGC_updateState if (residMax < num%rtol*stresMax .or. residMax < num%atol) then mech_RGC_updateState = .true. #ifdef DEBUG - if (debug_homogenization%contains('extensive') .and. prm%of_debug == of) & + if (debug%extensive .and. prm%of_debug == of) & write(6,'(1x,a55,/)')'... done and happy'; flush(6) #endif @@ -419,7 +411,7 @@ module procedure mech_RGC_updateState dst%relaxationRate_max(of) = maxval(abs(drelax))/dt #ifdef DEBUG - if (debug_homogenization%contains('extensive') .and. prm%of_debug == of) then + if (debug%extensive .and. prm%of_debug == of) then write(6,'(1x,a30,1x,e15.8)') 'Constitutive work: ',stt%work(of) write(6,'(1x,a30,3(1x,e15.8))')'Magnitude mismatch: ',dst%mismatch(1,of), & dst%mismatch(2,of), & @@ -440,7 +432,7 @@ module procedure mech_RGC_updateState mech_RGC_updateState = [.true.,.false.] ! with direct cut-back #ifdef DEBUG - if (debug_homogenization%contains('extensive') .and. prm%of_debug == of) & + if (debug%extensive .and. prm%of_debug == of) & write(6,'(1x,a,/)') '... broken'; flush(6) #endif @@ -448,7 +440,7 @@ module procedure mech_RGC_updateState else ! proceed with computing the Jacobian and state update #ifdef DEBUG - if (debug_homogenization%contains('extensive') .and. prm%of_debug == of) & + if (debug%extensive .and. prm%of_debug == of) & write(6,'(1x,a,/)') '... not yet done'; flush(6) #endif @@ -505,7 +497,7 @@ module procedure mech_RGC_updateState enddo #ifdef DEBUG - if (debug_homogenization%contains('extensive')) then + if (debug%extensive) then write(6,'(1x,a30)')'Jacobian matrix of stress' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(smatrix(i,j), j = 1,3*nIntFaceTot) @@ -527,8 +519,8 @@ module procedure mech_RGC_updateState p_relax(ipert) = relax(ipert) + num%pPert ! perturb the relaxation vector stt%relaxationVector(:,of) = p_relax call grainDeformation(pF,avgF,instance,of) ! rain deformation from perturbed state - call stressPenalty(pR,DevNull, avgF,pF,ip,el,instance,of,debug_homogenization) ! stress penalty due to interface mismatch from perturbed state - call volumePenalty(pD,devNull(1,1), avgF,pF,nGrain,instance,of,debug_homogenization) ! stress penalty due to volume discrepancy from perturbed state + call stressPenalty(pR,DevNull, avgF,pF,ip,el,instance,of) ! stress penalty due to interface mismatch from perturbed state + call volumePenalty(pD,devNull(1,1), avgF,pF,nGrain,instance,of) ! stress penalty due to volume discrepancy from perturbed state !-------------------------------------------------------------------------------------------------- ! computing the global stress residual array from the perturbed state @@ -565,7 +557,7 @@ module procedure mech_RGC_updateState enddo #ifdef DEBUG - if (debug_homogenization%contains('extensive')) then + if (debug%extensive) then write(6,'(1x,a30)')'Jacobian matrix of penalty' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(pmatrix(i,j), j = 1,3*nIntFaceTot) @@ -584,7 +576,7 @@ module procedure mech_RGC_updateState enddo #ifdef DEBUG - if (debug_homogenization%contains('extensive')) then + if (debug%extensive) then write(6,'(1x,a30)')'Jacobian matrix of penalty' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(rmatrix(i,j), j = 1,3*nIntFaceTot) @@ -599,7 +591,7 @@ module procedure mech_RGC_updateState allocate(jmatrix(3*nIntFaceTot,3*nIntFaceTot)); jmatrix = smatrix + pmatrix + rmatrix #ifdef DEBUG - if (debug_homogenization%contains('extensive')) then + if (debug%extensive) then write(6,'(1x,a30)')'Jacobian matrix (total)' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(jmatrix(i,j), j = 1,3*nIntFaceTot) @@ -615,7 +607,7 @@ module procedure mech_RGC_updateState call math_invert(jnverse,error,jmatrix) #ifdef DEBUG - if (debug_homogenization%contains('extensive')) then + if (debug%extensive) then write(6,'(1x,a30)')'Jacobian inverse' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(jnverse(i,j), j = 1,3*nIntFaceTot) @@ -642,7 +634,7 @@ module procedure mech_RGC_updateState endif #ifdef DEBUG - if (debug_homogenization%contains('extensive')) then + if (debug%extensive) then write(6,'(1x,a30)')'Returned state: ' do i = 1,size(stt%relaxationVector(:,of)) write(6,'(1x,2(e15.8,1x))') stt%relaxationVector(i,of) @@ -658,7 +650,7 @@ module procedure mech_RGC_updateState !------------------------------------------------------------------------------------------------ !> @brief calculate stress-like penalty due to deformation mismatch !------------------------------------------------------------------------------------------------ - subroutine stressPenalty(rPen,nMis,avgF,fDef,ip,el,instance,of,debug_homogenization) + subroutine stressPenalty(rPen,nMis,avgF,fDef,ip,el,instance,of) real(pReal), dimension (:,:,:), intent(out) :: rPen !< stress-like penalty real(pReal), dimension (:,:), intent(out) :: nMis !< total amount of mismatch @@ -666,7 +658,6 @@ module procedure mech_RGC_updateState real(pReal), dimension (:,:,:), intent(in) :: fDef !< deformation gradients real(pReal), dimension (3,3), intent(in) :: avgF !< initial effective stretch tensor integer, intent(in) :: ip,el,instance,of - class(tNode), pointer, intent(in) :: debug_homogenization !< pointer to debug options for homogenization integer, dimension (4) :: intFace integer, dimension (3) :: iGrain3,iGNghb3,nGDim @@ -693,7 +684,7 @@ module procedure mech_RGC_updateState associate(prm => param(instance)) #ifdef DEBUG - debugActive = debug_homogenization%contains('extensive') .and. prm%of_debug == of + debugActive = debug%extensive .and. prm%of_debug == of if (debugActive) then write(6,'(1x,a20,2(1x,i3))')'Correction factor: ',ip,el @@ -770,7 +761,7 @@ module procedure mech_RGC_updateState !------------------------------------------------------------------------------------------------ !> @brief calculate stress-like penalty due to volume discrepancy !------------------------------------------------------------------------------------------------ - subroutine volumePenalty(vPen,vDiscrep,fAvg,fDef,nGrain,instance,of,debug_homogenization) + subroutine volumePenalty(vPen,vDiscrep,fAvg,fDef,nGrain,instance,of) real(pReal), dimension (:,:,:), intent(out) :: vPen ! stress-like penalty due to volume real(pReal), intent(out) :: vDiscrep ! total volume discrepancy @@ -781,7 +772,6 @@ module procedure mech_RGC_updateState Ngrain, & instance, & of - class(tNode), pointer, intent(in) :: debug_homogenization !< pointer to debug options for homogenization real(pReal), dimension(size(vPen,3)) :: gVol integer :: i @@ -804,7 +794,7 @@ module procedure mech_RGC_updateState gVol(i)*transpose(math_inv33(fDef(:,:,i))) #ifdef DEBUG - if (debug_homogenization%contains('extensive') & + if (debug%extensive & .and. param(instance)%of_debug == of) then write(6,'(1x,a30,i2)')'Volume penalty of grain: ',i write(6,*) transpose(vPen(:,:,i)) diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index 46a4c1215..f85621804 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -26,10 +26,7 @@ contains !-------------------------------------------------------------------------------------------------- !> @brief allocates all neccessary fields, reads information from material configuration file !-------------------------------------------------------------------------------------------------- -module subroutine mech_isostrain_init(debug_homogenization) - - class(tNode), pointer, intent(in) :: & - debug_homogenization !< pointer to debug options for homogenization +module subroutine mech_isostrain_init integer :: & Ninstance, & @@ -41,8 +38,7 @@ module subroutine mech_isostrain_init(debug_homogenization) write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_ISOSTRAIN_LABEL//' init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID) - if (debug_homogenization%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(param(Ninstance)) ! one container of parameters per instance diff --git a/src/homogenization_mech_none.f90 b/src/homogenization_mech_none.f90 index 01e2568b3..6311ff770 100644 --- a/src/homogenization_mech_none.f90 +++ b/src/homogenization_mech_none.f90 @@ -11,21 +11,17 @@ contains !-------------------------------------------------------------------------------------------------- !> @brief allocates all neccessary fields, reads information from material configuration file !-------------------------------------------------------------------------------------------------- -module subroutine mech_none_init(debug_homogenization) +module subroutine mech_none_init - class(tNode), pointer, intent(in) :: & - debug_homogenization !< pointer to debug options for homogenization - integer :: & Ninstance, & h, & NofMyHomog - write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_NONE_label//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_NONE_label//' init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_NONE_ID) - if (debug_homogenization%contains('basic')) & - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) do h = 1, size(homogenization_type) if (homogenization_type(h) /= HOMOGENIZATION_NONE_ID) cycle diff --git a/src/kinematics_cleavage_opening.f90 b/src/kinematics_cleavage_opening.f90 index 0912b7c25..e35f37e0e 100644 --- a/src/kinematics_cleavage_opening.f90 +++ b/src/kinematics_cleavage_opening.f90 @@ -8,7 +8,6 @@ module kinematics_cleavage_opening use prec use IO use config - use debug use math use lattice use material diff --git a/src/kinematics_slipplane_opening.f90 b/src/kinematics_slipplane_opening.f90 index 7a4bac954..847dc6c72 100644 --- a/src/kinematics_slipplane_opening.f90 +++ b/src/kinematics_slipplane_opening.f90 @@ -8,7 +8,6 @@ module kinematics_slipplane_opening use prec use config use IO - use debug use math use lattice use material diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index 50a6b916b..39a6bb61f 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -7,7 +7,6 @@ module kinematics_thermal_expansion use prec use IO use config - use debug use math use lattice use material diff --git a/src/source_damage_anisoDuctile.f90 b/src/source_damage_anisoDuctile.f90 index 3d89d2815..e8a76dc3a 100644 --- a/src/source_damage_anisoDuctile.f90 +++ b/src/source_damage_anisoDuctile.f90 @@ -6,7 +6,6 @@ !-------------------------------------------------------------------------------------------------- module source_damage_anisoDuctile use prec - use debug use IO use math use discretization diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index c710e4211..c4c4c72a4 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -6,7 +6,6 @@ !-------------------------------------------------------------------------------------------------- module source_damage_isoBrittle use prec - use debug use IO use math use discretization diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index d9a5cd3b3..461f3797d 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -6,7 +6,6 @@ !-------------------------------------------------------------------------------------------------- module source_damage_isoDuctile use prec - use debug use IO use YAML_types use discretization diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index 2cd07ea06..0a72032b2 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -6,7 +6,6 @@ !-------------------------------------------------------------------------------------------------- module source_thermal_dissipation use prec - use debug use YAML_types use discretization use material diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index 52f25330f..e64656be5 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -6,7 +6,6 @@ !-------------------------------------------------------------------------------------------------- module source_thermal_externalheat use prec - use debug use YAML_types use discretization use material From dda2f2cf22ba940711b74c19ca97576b9024f95c Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 1 Jul 2020 22:39:44 +0200 Subject: [PATCH 332/958] defined locally --- src/grid/discretization_grid.f90 | 12 ++++++------ src/grid/grid_mech_FEM.f90 | 17 ++++++++++------- src/grid/grid_mech_spectral_basic.f90 | 18 +++++++++++------- src/grid/grid_mech_spectral_polarisation.f90 | 17 +++++++++++------ src/mesh/discretization_mesh.f90 | 10 +++++----- 5 files changed, 43 insertions(+), 31 deletions(-) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 0189289d3..dad7036cf 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -59,8 +59,8 @@ subroutine discretization_grid_init(restart) integer :: & j, & - debug_e, & - debug_i + debug_element, & + debug_ip integer(C_INTPTR_T) :: & devNull, z, z_offset @@ -88,8 +88,8 @@ subroutine discretization_grid_init(restart) !------------------------------------------------------------------------------------------------- ! debug parameters - debug_e = debug_root%get_asInt('element',defaultVal=1) - debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + debug_element = debug_root%get_asInt('element',defaultVal=1) + debug_ip = debug_root%get_asInt('integrationpoint',defaultVal=1) !-------------------------------------------------------------------------------------------------- ! general discretization @@ -128,8 +128,8 @@ subroutine discretization_grid_init(restart) !-------------------------------------------------------------------------------------------------- ! sanity checks for debugging - if (debug_e < 1 .or. debug_e > product(myGrid)) call IO_error(602,ext_msg='element') ! selected element does not exist - if (debug_i /= 1) call IO_error(602,ext_msg='IP') ! selected IP does not exist + if (debug_element < 1 .or. debug_element > product(myGrid)) call IO_error(602,ext_msg='element') ! selected element does not exist + if (debug_ip /= 1) call IO_error(602,ext_msg='IP') ! selected IP does not exist end subroutine discretization_grid_init diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index d7cf62ee2..bd24ddadc 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -45,6 +45,8 @@ module grid_mech_FEM end type tNumerics type(tNumerics), private :: num + logical, private:: & + debug_rotation !-------------------------------------------------------------------------------------------------- ! PETSc data @@ -115,13 +117,19 @@ subroutine grid_mech_FEM_init character(len=pStringLen) :: & fileName class(tNode), pointer :: & - num_grid + num_grid, & + debug_grid real(pReal), dimension(3,3,3,3) :: devNull PetscScalar, pointer, dimension(:,:,:,:) :: & u_current,u_lastInc write(6,'(/,a)') ' <<<+- grid_mech_FEM init -+>>>'; flush(6) +!----------------------------------------------------------------------------------------------- +! debugging options + debug_grid => debug_root%get('grid', defaultVal=emptyList) + debug_rotation = debug_grid%contains('rotation') + !------------------------------------------------------------------------------------------------- ! read numerical parameter and do sanity checks num_grid => numerics_root%get('grid',defaultVal=emptyDict) @@ -499,11 +507,6 @@ subroutine formResidual(da_local,x_local, & PetscObject :: dummy PetscErrorCode :: ierr real(pReal), dimension(3,3,3,3) :: devNull - class(tNode), pointer :: & - debug_grid ! pointer to grid debug options - - debug_grid => debug_root%get('grid',defaultVal=emptyList) - call SNESGetNumberFunctionEvals(mech_snes,nfuncs,ierr); CHKERRQ(ierr) call SNESGetIterationNumber(mech_snes,PETScIter,ierr); CHKERRQ(ierr) @@ -515,7 +518,7 @@ subroutine formResidual(da_local,x_local, & newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter+1, '≤', num%itmax - if (debug_grid%contains('rotation')) & + if (debug_rotation) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 4c3ccf37a..d1aa67283 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -44,6 +44,9 @@ module grid_mech_spectral_basic type(tNumerics) :: num ! numerics parameters. Better name? + logical, private:: & + debug_rotation + !-------------------------------------------------------------------------------------------------- ! PETSc data DM :: da @@ -97,7 +100,8 @@ subroutine grid_mech_spectral_basic_init real(pReal), dimension(3,3) :: & temp33_Real = 0.0_pReal class (tNode), pointer :: & - num_grid + num_grid, & + debug_grid PetscErrorCode :: ierr PetscScalar, pointer, dimension(:,:,:,:) :: & @@ -116,6 +120,11 @@ subroutine grid_mech_spectral_basic_init write(6,'(/,a)') ' Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2014.02.006' +!------------------------------------------------------------------------------------------------- +! debugging options + debug_grid => debug_root%get('grid', defaultVal=emptyList) + debug_rotation = debug_grid%contains('rotation') + !------------------------------------------------------------------------------------------------- ! read numerical parameters and do sanity checks num_grid => numerics_root%get('grid',defaultVal=emptyDict) @@ -459,11 +468,6 @@ subroutine formResidual(in, F, & nfuncs PetscObject :: dummy PetscErrorCode :: ierr - class(tNode), pointer :: & - debug_grid ! pointer to constitutive debug options - - debug_grid => debug_root%get('grid', defaultVal=emptyList) - call SNESGetNumberFunctionEvals(snes,nfuncs,ierr); CHKERRQ(ierr) call SNESGetIterationNumber(snes,PETScIter,ierr); CHKERRQ(ierr) @@ -474,7 +478,7 @@ subroutine formResidual(in, F, & newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax - if (debug_grid%contains('rotation')) & + if (debug%rotation) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 14f92df6a..52f6cd06f 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -50,6 +50,8 @@ module grid_mech_spectral_polarisation type(tNumerics) :: num ! numerics parameters. Better name? + logical, private :: debug_rotation + !-------------------------------------------------------------------------------------------------- ! PETSc data DM :: da @@ -109,7 +111,8 @@ subroutine grid_mech_spectral_polarisation_init real(pReal), dimension(3,3) :: & temp33_Real = 0.0_pReal class (tNode), pointer :: & - num_grid + num_grid, & + debug_grid PetscErrorCode :: ierr PetscScalar, pointer, dimension(:,:,:,:) :: & @@ -127,6 +130,11 @@ subroutine grid_mech_spectral_polarisation_init write(6,'(/,a)') ' Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2014.02.006' +!------------------------------------------------------------------------------------------------ +! debugging options + debug_grid => debug_root%get('grid',defaultVal=emptyList) + debug_rotation = debug_grid%contains('rotation') + !------------------------------------------------------------------------------------------------- ! read numerical parameters num_grid => numerics_root%get('grid',defaultVal=emptyDict) @@ -526,12 +534,9 @@ subroutine formResidual(in, FandF_tau, & nfuncs PetscObject :: dummy PetscErrorCode :: ierr - class(tNode), pointer :: & - debug_grid ! pointer to grid debug options - integer :: & + integer :: & i, j, k, e - debug_grid => debug_root%get('grid',defaultVal=emptyList) !--------------------------------------------------------------------------------------------------- @@ -557,7 +562,7 @@ subroutine formResidual(in, FandF_tau, & newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax - if(debug_grid%contains('rotation')) & + if(debug_rotation) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index 09bd42140..dbc69e866 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -69,7 +69,7 @@ subroutine discretization_mesh_init(restart) integer :: dimPlex, & mesh_Nnodes, & !< total number of nodes in mesh j, l, & - debug_e, debug_i + debug_element, debug_ip PetscSF :: sf DM :: globalMesh PetscInt :: nFaceSets @@ -93,8 +93,8 @@ subroutine discretization_mesh_init(restart) !--------------------------------------------------------------------------------- ! read debug parameters - debug_e = debug_root%get_asInt('element',defaultVal=1) - debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + debug_element = debug_root%get_asInt('element',defaultVal=1) + debug_ip = debug_root%get_asInt('integrationpoint',defaultVal=1) call DMPlexCreateFromFile(PETSC_COMM_WORLD,geometryFile,PETSC_TRUE,globalMesh,ierr) @@ -172,8 +172,8 @@ subroutine discretization_mesh_init(restart) CHKERRQ(ierr) end do - if (debug_e < 1 .or. debug_e > mesh_NcpElems) call IO_error(602,ext_msg='element') - if (debug_i < 1 .or. debug_i > mesh_maxNips) call IO_error(602,ext_msg='IP') + if (debug_element < 1 .or. debug_element > mesh_NcpElems) call IO_error(602,ext_msg='element') + if (debug_ip < 1 .or. debug_ip > mesh_maxNips) call IO_error(602,ext_msg='IP') FEsolving_execElem = [1,mesh_NcpElems] ! parallel loop bounds set to comprise all DAMASK elements FEsolving_execIP = [1,mesh_maxNips] From 02ee64bce4d54d2f7a2aa89c6a8b777dcc7e980c Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 1 Jul 2020 22:51:21 +0200 Subject: [PATCH 333/958] make use of submodule property --- src/constitutive.f90 | 26 ++++++++++++++++++ src/constitutive_plastic_isotropic.f90 | 25 ----------------- src/constitutive_plastic_kinehardening.f90 | 26 ------------------ src/constitutive_plastic_nonlocal.f90 | 32 ++-------------------- src/crystallite.f90 | 5 ---- src/grid/grid_mech_spectral_basic.f90 | 2 +- src/homogenization.f90 | 5 ---- 7 files changed, 29 insertions(+), 92 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index cf7f5fa94..fa2424754 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -317,6 +317,20 @@ module constitutive end interface + + type :: tDebugOptions + logical :: & + basic, & + extensive, & + selective + integer :: & + element, & + ip, & + grain + end type tDebugOptions + + type(tDebugOptions) :: debug + public :: & plastic_nonlocal_updateCompatibility, & constitutive_init, & @@ -341,6 +355,18 @@ subroutine constitutive_init integer :: & ph, & !< counter in phase loop s !< counter in source loop + class (tNode), pointer :: & + debug_constitutive + + debug_constitutive => debug_root%get('constitutuve', defaultVal=emptyList) + debug%basic = debug_constitutive%contains('basic') + debug%extensive = debug_constitutive%contains('extensive') + debug%selective = debug_constitutive%contains('selective') + debug%element = debug_root%get_asInt('element',defaultVal = 1) + debug%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) + debug%grain = debug_root%get_asInt('grain',defaultVal = 1) + + !-------------------------------------------------------------------------------------------------- ! initialized plasticity if (any(phase_plasticity == PLASTICITY_NONE_ID)) call plastic_none_init diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index d8b799363..820454d5c 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -36,20 +36,6 @@ submodule(constitutive) plastic_isotropic gamma end type tIsotropicState -#ifdef DEBUG - type :: tDebugOptions - logical :: & - extensive, & - selective - integer :: & - element, & - ip, & - grain - end type tDebugOptions - - type(tDebugOptions) :: debug - -#endif !-------------------------------------------------------------------------------------------------- ! containers for parameters and state type(tParameters), allocatable, dimension(:) :: param @@ -74,8 +60,6 @@ module subroutine plastic_isotropic_init xi_0 !< initial critical stress character(len=pStringLen) :: & extmsg = '' - class(tNode), pointer :: & - debug_constitutive write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_ISOTROPIC_LABEL//' init -+>>>' @@ -85,15 +69,6 @@ module subroutine plastic_isotropic_init Ninstance = count(phase_plasticity == PLASTICITY_ISOTROPIC_ID) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) -#ifdef DEBUG - debug_constitutive => debug_root%get('constitutuve', defaultVal=emptyList) - debug%extensive = debug_constitutive%contains('extensive') - debug%selective = debug_constitutive%contains('selective') - debug%element = debug_root%get_asInt('element',defaultVal = 1) - debug%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) - debug%grain = debug_root%get_asInt('grain',defaultVal = 1) -#endif - allocate(param(Ninstance)) allocate(state(Ninstance)) allocate(dotState(Ninstance)) diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index f82b84641..cf77f5545 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -43,21 +43,6 @@ submodule(constitutive) plastic_kinehardening accshear !< accumulated (absolute) shear end type tKinehardeningState -#ifdef DEBUG - type :: tDebugOptions - logical :: & - extensive, & - selective - integer :: & - element, & - ip, & - grain - end type tDebugOptions - - type(tDebugOptions) :: debug - -#endif - !-------------------------------------------------------------------------------------------------- ! containers for parameters and state type(tParameters), allocatable, dimension(:) :: param @@ -88,23 +73,12 @@ module subroutine plastic_kinehardening_init a !< non-Schmid coefficients character(len=pStringLen) :: & extmsg = '' - class(tNode), pointer :: & - debug_constitutive write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_KINEHARDENING_LABEL//' init -+>>>' Ninstance = count(phase_plasticity == PLASTICITY_KINEHARDENING_ID) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) -#ifdef DEBUG - debug_constitutive => debug_root%get('constitutuve', defaultVal=emptyList) - debug%extensive = debug_constitutive%contains('extensive') - debug%selective = debug_constitutive%contains('selective') - debug%element = debug_root%get_asInt('element',defaultVal = 1) - debug%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) - debug%grain = debug_root%get_asInt('grain',defaultVal = 1) -#endif - allocate(param(Ninstance)) allocate(state(Ninstance)) allocate(dotState(Ninstance)) diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 6469a0f87..3e0142af3 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -146,24 +146,8 @@ submodule(constitutive) plastic_nonlocal v_scr_pos, & v_scr_neg end type tNonlocalState - -#ifdef DEBUG - type :: tDebugOptions - logical :: & - basic, & - extensive, & - selective - integer :: & - element, & - ip, & - grain - end type tDebugOptions - - type(tDebugOptions) :: debug - -#endif - - type(tNonlocalState), allocatable, dimension(:) :: & + + type(tNonlocalState), allocatable, dimension(:) :: & deltaState, & dotState, & state, & @@ -194,8 +178,6 @@ module subroutine plastic_nonlocal_init extmsg = '' type(tInitialParameters) :: & ini - class(tNode), pointer :: & - debug_constitutive write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONLOCAL_LABEL//' init -+>>>' @@ -208,16 +190,6 @@ module subroutine plastic_nonlocal_init Ninstance = count(phase_plasticity == PLASTICITY_NONLOCAL_ID) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) -#ifdef DEBUG - debug_constitutive => debug_root%get('constitutuve', defaultVal=emptyList) - debug%basic = debug_constitutive%contains('basic') - debug%extensive = debug_constitutive%contains('extensive') - debug%selective = debug_constitutive%contains('selective') - debug%element = debug_root%get_asInt('element',defaultVal = 1) - debug%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) - debug%grain = debug_root%get_asInt('grain',defaultVal = 1) -#endif - allocate(param(Ninstance)) allocate(state(Ninstance)) allocate(state0(Ninstance)) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index a3130cb7e..b7d51c1cc 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -98,7 +98,6 @@ module crystallite type(tNumerics) :: num ! numerics parameters. Better name? -#ifdef DEBUG type :: tDebugOptions logical :: & basic, & @@ -112,7 +111,6 @@ module crystallite type(tDebugOptions) :: debug -#endif procedure(integrateStateFPI), pointer :: integrateState @@ -151,7 +149,6 @@ subroutine crystallite_init write(6,'(/,a)') ' <<<+- crystallite init -+>>>' -#ifdef DEBUG debug_crystallite => debug_root%get('crystallite', defaultVal=emptyList) debug%basic = debug_crystallite%contains('basic') debug%extensive = debug_crystallite%contains('extensive') @@ -159,8 +156,6 @@ subroutine crystallite_init debug%element = debug_root%get_asInt('element', defaultVal=1) debug%ip = debug_root%get_asInt('integrationpoint', defaultVal=1) debug%grain = debug_root%get_asInt('grain', defaultVal=1) - -#endif cMax = homogenization_maxNgrains iMax = discretization_nIP diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index d1aa67283..a0392e452 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -478,7 +478,7 @@ subroutine formResidual(in, F, & newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax - if (debug%rotation) & + if (debug_rotation) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & diff --git a/src/homogenization.f90 b/src/homogenization.f90 index e9aabf4b6..deeb87843 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -52,7 +52,6 @@ module homogenization type(tNumerics) :: num -#ifdef DEBUG type :: tDebugOptions logical :: & basic, & @@ -66,8 +65,6 @@ module homogenization type(tDebugOptions) :: debug -#endif - interface module subroutine mech_none_init @@ -155,7 +152,6 @@ subroutine homogenization_init num_homogGeneric, & debug_homogenization -#ifdef DEBUG debug_homogenization => debug_root%get('homogenization', defaultVal=emptyList) debug%basic = debug_homogenization%contains('basic') debug%extensive = debug_homogenization%contains('extensive') @@ -166,7 +162,6 @@ subroutine homogenization_init if (debug%grain < 1 .or. debug%grain > homogenization_Ngrains(material_homogenizationAt(debug%element))) & call IO_error(602,ext_msg='constituent', el=debug%element, g=debug%grain) -#endif num_homog => numerics_root%get('homogenization',defaultVal=emptyDict) From 2056b4223a9f2d2725b4e3be91fbafdb6e1bef63 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 1 Jul 2020 23:01:37 +0200 Subject: [PATCH 334/958] better name --- src/grid/grid_mech_FEM.f90 | 6 +++--- src/grid/grid_mech_spectral_basic.f90 | 6 +++--- src/grid/grid_mech_spectral_polarisation.f90 | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index bd24ddadc..eb38e3e65 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -46,7 +46,7 @@ module grid_mech_FEM type(tNumerics), private :: num logical, private:: & - debug_rotation + debugRotation !-------------------------------------------------------------------------------------------------- ! PETSc data @@ -128,7 +128,7 @@ subroutine grid_mech_FEM_init !----------------------------------------------------------------------------------------------- ! debugging options debug_grid => debug_root%get('grid', defaultVal=emptyList) - debug_rotation = debug_grid%contains('rotation') + debugRotation = debug_grid%contains('rotation') !------------------------------------------------------------------------------------------------- ! read numerical parameter and do sanity checks @@ -518,7 +518,7 @@ subroutine formResidual(da_local,x_local, & newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter+1, '≤', num%itmax - if (debug_rotation) & + if (debugRotation) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index a0392e452..ad57f36c0 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -45,7 +45,7 @@ module grid_mech_spectral_basic type(tNumerics) :: num ! numerics parameters. Better name? logical, private:: & - debug_rotation + debugRotation !-------------------------------------------------------------------------------------------------- ! PETSc data @@ -123,7 +123,7 @@ subroutine grid_mech_spectral_basic_init !------------------------------------------------------------------------------------------------- ! debugging options debug_grid => debug_root%get('grid', defaultVal=emptyList) - debug_rotation = debug_grid%contains('rotation') + debugRotation = debug_grid%contains('rotation') !------------------------------------------------------------------------------------------------- ! read numerical parameters and do sanity checks @@ -478,7 +478,7 @@ subroutine formResidual(in, F, & newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax - if (debug_rotation) & + if (debugRotation) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 52f6cd06f..555d5e0e1 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -50,7 +50,7 @@ module grid_mech_spectral_polarisation type(tNumerics) :: num ! numerics parameters. Better name? - logical, private :: debug_rotation + logical, private :: debugRotation !-------------------------------------------------------------------------------------------------- ! PETSc data @@ -133,7 +133,7 @@ subroutine grid_mech_spectral_polarisation_init !------------------------------------------------------------------------------------------------ ! debugging options debug_grid => debug_root%get('grid',defaultVal=emptyList) - debug_rotation = debug_grid%contains('rotation') + debugRotation = debug_grid%contains('rotation') !------------------------------------------------------------------------------------------------- ! read numerical parameters @@ -562,7 +562,7 @@ subroutine formResidual(in, FandF_tau, & newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax - if(debug_rotation) & + if(debugRotation) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & From 699af6a3f1f053b03664245cbf37a13b3fefe163 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 2 Jul 2020 01:25:24 +0200 Subject: [PATCH 335/958] avoid variable name conflict with a module name --- src/CPFEM.f90 | 29 +++++++------- src/constitutive.f90 | 14 +++---- src/constitutive_plastic_isotropic.f90 | 12 +++--- src/constitutive_plastic_kinehardening.f90 | 8 ++-- src/constitutive_plastic_nonlocal.f90 | 22 +++++------ src/crystallite.f90 | 44 ++++++++++++---------- src/homogenization.f90 | 39 +++++++++---------- src/homogenization_mech_RGC.f90 | 38 +++++++++---------- 8 files changed, 107 insertions(+), 99 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index a5c644969..ea249c879 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -54,13 +54,14 @@ module CPFEM type, private :: tDebugOptions logical :: & basic, & - extensive + extensive, & + selective integer:: & element, & ip end type tDebugOptions - type(tDebugOptions), private :: debug + type(tDebugOptions), private :: debugCPFEM public :: & CPFEM_general, & @@ -124,13 +125,13 @@ subroutine CPFEM_init ! read debug options debug_CPFEM => debug_root%get('cpfem',defaultVal=emptyList) - debug%basic = debug_CPFEM%contains('basic') - debug%extensive = debug_CPFEM%contains('extensive') - debug%selective = debug_CPFEM%contains('selective') - debug%element = debug_root%get_asInt('element',defaultVal = 1) - debug%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) + debugCPFEM%basic = debug_CPFEM%contains('basic') + debugCPFEM%extensive = debug_CPFEM%contains('extensive') + debugCPFEM%selective = debug_CPFEM%contains('selective') + debugCPFEM%element = debug_root%get_asInt('element',defaultVal = 1) + debugCPFEM%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) - if(debug%basic) then + if(debugCPFEM%basic) then write(6,'(a32,1x,6(i8,1x))') 'CPFEM_cs: ', shape(CPFEM_cs) write(6,'(a32,1x,6(i8,1x))') 'CPFEM_dcsdE: ', shape(CPFEM_dcsdE) write(6,'(a32,1x,6(i8,1x),/)') 'CPFEM_dcsdE_knownGood: ', shape(CPFEM_dcsdE_knownGood) @@ -171,8 +172,8 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS elCP = mesh_FEM2DAMASK_elem(elFE) - if (debug%basic .and. elCP == debug%element & - .and. ip == debug%ip) then + if (debugCPFEM%basic .and. elCP == debugCPFEM%element & + .and. ip == debugCPFEM%ip) then write(6,'(/,a)') '#############################################' write(6,'(a1,a22,1x,i8,a13)') '#','element', elCP, '#' write(6,'(a1,a22,1x,i8,a13)') '#','ip', ip, '#' @@ -210,7 +211,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS updateJaco = mod(cycleCounter,num%iJacoStiffness) == 0 FEsolving_execElem = elCP FEsolving_execIP = ip - if (debug%extensive) & + if (debugCPFEM%extensive) & write(6,'(a,i8,1x,i2)') '<< CPFEM >> calculation for elFE ip ',elFE,ip call materialpoint_stressAndItsTangent(updateJaco, dt) @@ -247,9 +248,9 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS endif terminalIllness endif validCalculation - if (debug%extensive & - .and. (debug%element == elCP .and. debug%ip == ip) & - .or. .not. debug%selective) then + if (debugCPFEM%extensive & + .and. (debugCPFEM%element == elCP .and. debugCPFEM%ip == ip) & + .or. .not. debugCPFEM%selective) then write(6,'(a,i8,1x,i2,/,12x,6(f10.3,1x)/)') & '<< CPFEM >> stress/MPa at elFE ip ', elFE, ip, CPFEM_cs(1:6,ip,elCP)*1.0e-6_pReal write(6,'(a,i8,1x,i2,/,6(12x,6(f10.3,1x)/))') & diff --git a/src/constitutive.f90 b/src/constitutive.f90 index fa2424754..a58f9a3e8 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -329,7 +329,7 @@ module constitutive grain end type tDebugOptions - type(tDebugOptions) :: debug + type(tDebugOptions) :: debugConstitutive public :: & plastic_nonlocal_updateCompatibility, & @@ -359,12 +359,12 @@ subroutine constitutive_init debug_constitutive debug_constitutive => debug_root%get('constitutuve', defaultVal=emptyList) - debug%basic = debug_constitutive%contains('basic') - debug%extensive = debug_constitutive%contains('extensive') - debug%selective = debug_constitutive%contains('selective') - debug%element = debug_root%get_asInt('element',defaultVal = 1) - debug%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) - debug%grain = debug_root%get_asInt('grain',defaultVal = 1) + debugConstitutive%basic = debug_constitutive%contains('basic') + debugConstitutive%extensive = debug_constitutive%contains('extensive') + debugConstitutive%selective = debug_constitutive%contains('selective') + debugConstitutive%element = debug_root%get_asInt('element',defaultVal = 1) + debugConstitutive%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) + debugConstitutive%grain = debug_root%get_asInt('grain',defaultVal = 1) !-------------------------------------------------------------------------------------------------- diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index 820454d5c..7cd529e9b 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -83,8 +83,8 @@ module subroutine plastic_isotropic_init prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) #ifdef DEBUG - if (p==material_phaseAt(debug%grain,debug%element)) & - prm%of_debug = material_phasememberAt(debug%grain,debug%ip,debug%element) + if (p==material_phaseAt(debugConstitutive%grain,debugConstitutive%element)) & + prm%of_debug = material_phasememberAt(debugConstitutive%grain,debugConstitutive%ip,debugConstitutive%element) #endif xi_0 = config%getFloat('tau0') @@ -182,8 +182,8 @@ module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) Lp = dot_gamma/prm%M * Mp_dev/norm_Mp_dev #ifdef DEBUG - if (debug%extensive & - .and. (of == prm%of_debug .or. .not. debug%selective)) then + if (debugConstitutive%extensive & + .and. (of == prm%of_debug .or. .not. debugConstitutive%selective)) then write(6,'(/,a,/,3(12x,3(f12.4,1x)/))') '<< CONST isotropic >> Tstar (dev) / MPa', & transpose(Mp_dev)*1.0e-6_pReal write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> norm Tstar / MPa', norm_Mp_dev*1.0e-6_pReal @@ -238,8 +238,8 @@ module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) * tr * abs(tr)**(prm%n-1.0_pReal) #ifdef DEBUG - if (debug%extensive & - .and. (of == prm%of_debug .or. .not. debug%selective)) then + if (debugConstitutive%extensive & + .and. (of == prm%of_debug .or. .not. debugConstitutive%selective)) then write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> pressure / MPa', tr/3.0_pReal*1.0e-6_pReal write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> gdot', prm%dot_gamma_0 * (3.0_pReal*prm%M*stt%xi(of))**(-prm%n) & * tr * abs(tr)**(prm%n-1.0_pReal) diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index cf77f5545..3b4ceec5a 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -95,8 +95,8 @@ module subroutine plastic_kinehardening_init prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) #ifdef DEBUG - if (p==material_phaseAt(debug%grain,debug%element)) then - prm%of_debug = material_phasememberAt(debug%grain,debug%ip,debug%element) + if (p==material_phaseAt(debugConstitutive%grain,debugConstitutive%element)) then + prm%of_debug = material_phasememberAt(debugConstitutive%grain,debugConstitutive%ip,debugConstitutive%element) endif #endif @@ -327,9 +327,9 @@ module subroutine plastic_kinehardening_deltaState(Mp,instance,of) dEq0(gdot_pos+gdot_neg,1e-10_pReal)) ! current sense of shear direction #ifdef DEBUG - if (debug%extensive & + if (debugConstitutive%extensive & .and. (of == prm%of_debug & - .or. .not. debug%selective)) then + .or. .not. debugConstitutive%selective)) then write(6,'(a)') '======= kinehardening delta state =======' write(6,*) sense,state(instance)%sense(:,of) endif diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 3e0142af3..f31d7b3ed 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -709,9 +709,9 @@ module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) endif #ifdef DEBUG - if (debug%extensive & - .and. ((debug%element == el .and. debug%ip == ip)& - .or. .not. debug%selective)) then + if (debugConstitutive%extensive & + .and. ((debugConstitutive%element == el .and. debugConstitutive%ip == ip)& + .or. .not. debugConstitutive%selective)) then write(6,'(/,a,i8,1x,i2,1x,i1,/)') '<< CONST >> nonlocal_microstructure at el ip ',el,ip write(6,'(a,/,12x,12(e10.3,1x))') '<< CONST >> rhoForest', stt%rho_forest(:,of) write(6,'(a,/,12x,12(f10.5,1x))') '<< CONST >> tauThreshold / MPa', dst%tau_pass(:,of)*1e-6 @@ -926,9 +926,9 @@ module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el) del%rho(:,of) = reshape(deltaRhoRemobilization + deltaRhoDipole2SingleStress, [10*ns]) #ifdef DEBUG - if (debug%extensive & - .and. ((debug%element == el .and. debug%ip == ip)& - .or. .not. debug%selective)) then + if (debugConstitutive%extensive & + .and. ((debugConstitutive%element == el .and. debugConstitutive%ip == ip)& + .or. .not. debugConstitutive%selective)) then write(6,'(a,/,8(12x,12(e12.5,1x),/))') '<< CONST >> dislocation remobilization', deltaRhoRemobilization(:,1:8) write(6,'(a,/,10(12x,12(e12.5,1x),/),/)') '<< CONST >> dipole dissociation by stress increase', deltaRhoDipole2SingleStress endif @@ -1015,9 +1015,9 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & gdot = rhoSgl(:,1:4) * v * spread(prm%burgers,2,4) #ifdef DEBUG - if (debug%basic & - .and. ((debug%element == el .and. debug%ip == ip) & - .or. .not. debug%selective)) then + if (debugConstitutive%basic & + .and. ((debugConstitutive%element == el .and. debugConstitutive%ip == ip) & + .or. .not. debugConstitutive%selective)) then write(6,'(a,/,10(12x,12(e12.5,1x),/))') '<< CONST >> rho / 1/m^2', rhoSgl, rhoDip write(6,'(a,/,4(12x,12(e12.5,1x),/))') '<< CONST >> gdot / 1/s',gdot endif @@ -1126,7 +1126,7 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & if ( any(rho(:,mob) + rhoDot(:,1:4) * timestep < -prm%atol_rho) & .or. any(rho(:,dip) + rhoDot(:,9:10) * timestep < -prm%atol_rho)) then #ifdef DEBUG - if (debug%extensive) then + if (debugConstitutive%extensive) then write(6,'(a,i5,a,i2)') '<< CONST >> evolution rate leads to negative density at el ',el,' ip ',ip write(6,'(a)') '<< CONST >> enforcing cutback !!!' endif @@ -1238,7 +1238,7 @@ function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) .and. prm%CFLfactor * abs(v0) * timestep & > IPvolume(ip,el) / maxval(IParea(:,ip,el)))) then ! ...with velocity above critical value (we use the reference volume and area for simplicity here) #ifdef DEBUG - if (debug%extensive) then + if (debugConstitutive%extensive) then write(6,'(a,i5,a,i2)') '<< CONST >> CFL condition not fullfilled at el ',el,' ip ',ip write(6,'(a,e10.3,a,e10.3)') '<< CONST >> velocity is at ', & maxval(abs(v0), abs(gdot) > 0.0_pReal & diff --git a/src/crystallite.f90 b/src/crystallite.f90 index b7d51c1cc..32490b049 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -109,7 +109,7 @@ module crystallite grain end type tDebugOptions - type(tDebugOptions) :: debug + type(tDebugOptions) :: debugCrystallite procedure(integrateStateFPI), pointer :: integrateState @@ -150,12 +150,12 @@ subroutine crystallite_init write(6,'(/,a)') ' <<<+- crystallite init -+>>>' debug_crystallite => debug_root%get('crystallite', defaultVal=emptyList) - debug%basic = debug_crystallite%contains('basic') - debug%extensive = debug_crystallite%contains('extensive') - debug%selective = debug_crystallite%contains('selective') - debug%element = debug_root%get_asInt('element', defaultVal=1) - debug%ip = debug_root%get_asInt('integrationpoint', defaultVal=1) - debug%grain = debug_root%get_asInt('grain', defaultVal=1) + debugCrystallite%basic = debug_crystallite%contains('basic') + debugCrystallite%extensive = debug_crystallite%contains('extensive') + debugCrystallite%selective = debug_crystallite%contains('selective') + debugCrystallite%element = debug_root%get_asInt('element', defaultVal=1) + debugCrystallite%ip = debug_root%get_asInt('integrationpoint', defaultVal=1) + debugCrystallite%grain = debug_root%get_asInt('grain', defaultVal=1) cMax = homogenization_maxNgrains iMax = discretization_nIP @@ -293,7 +293,7 @@ subroutine crystallite_init call crystallite_stressTangent #ifdef DEBUG - if (debug%basic) then + if (debugCrystallite%basic) then write(6,'(a42,1x,i10)') ' # of elements: ', eMax write(6,'(a42,1x,i10)') ' # of integration points/element: ', iMax write(6,'(a42,1x,i10)') 'max # of constituents/integration point: ', cMax @@ -324,23 +324,29 @@ function crystallite_stress() todo = .false. #ifdef DEBUG - if (debug%selective & - .and. FEsolving_execElem(1) <= debug%element & - .and. debug%element <= FEsolving_execElem(2)) then + if (debugCrystallite%selective & + .and. FEsolving_execElem(1) <= debugCrystallite%element & + .and. debugCrystallite%element <= FEsolving_execElem(2)) then write(6,'(/,a,i8,1x,i2,1x,i3)') '<< CRYST stress >> boundary and initial values at el ip ipc ', & - debug%element,debug%ip, debug%grain + debugCrystallite%element,debugCrystallite%ip, debugCrystallite%grain write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> F ', & - transpose(crystallite_partionedF(1:3,1:3,debug%grain,debug%ip,debug%element)) + transpose(crystallite_partionedF(1:3,1:3,debugCrystallite%grain, & + debugCrystallite%ip,debugCrystallite%element)) write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> F0 ', & - transpose(crystallite_partionedF0(1:3,1:3,debug%grain,debug%ip,debug%element)) + transpose(crystallite_partionedF0(1:3,1:3,debugCrystallite%grain, & + debugCrystallite%ip,debugCrystallite%element)) write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> Fp0', & - transpose(crystallite_partionedFp0(1:3,1:3,debug%grain,debug%ip,debug%element)) + transpose(crystallite_partionedFp0(1:3,1:3,debugCrystallite%grain, & + debugCrystallite%ip,debugCrystallite%element)) write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> Fi0', & - transpose(crystallite_partionedFi0(1:3,1:3,debug%grain,debug%ip,debug%element)) + transpose(crystallite_partionedFi0(1:3,1:3,debugCrystallite%grain, & + debugCrystallite%ip,debugCrystallite%element)) write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> Lp0', & - transpose(crystallite_partionedLp0(1:3,1:3,debug%grain,debug%ip,debug%element)) + transpose(crystallite_partionedLp0(1:3,1:3,debugCrystallite%grain, & + debugCrystallite%ip,debugCrystallite%element)) write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> Li0', & - transpose(crystallite_partionedLi0(1:3,1:3,debug%grain,debug%ip,debug%element)) + transpose(crystallite_partionedLi0(1:3,1:3,debugCrystallite%grain, & + debugCrystallite%ip,debugCrystallite%element)) endif #endif @@ -386,7 +392,7 @@ function crystallite_stress() NiterationCrystallite = NiterationCrystallite + 1 #ifdef DEBUG - if (debug%extensive) & + if (debugCrystallite%extensive) & write(6,'(a,i6)') '<< CRYST stress >> crystallite iteration ',NiterationCrystallite #endif !$OMP PARALLEL DO PRIVATE(formerSubStep) diff --git a/src/homogenization.f90 b/src/homogenization.f90 index deeb87843..c82e03bcb 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -63,7 +63,7 @@ module homogenization grain end type tDebugOptions - type(tDebugOptions) :: debug + type(tDebugOptions) :: debugHomog interface @@ -153,15 +153,16 @@ subroutine homogenization_init debug_homogenization debug_homogenization => debug_root%get('homogenization', defaultVal=emptyList) - debug%basic = debug_homogenization%contains('basic') - debug%extensive = debug_homogenization%contains('extensive') - debug%selective = debug_homogenization%contains('selective') - debug%element = debug_root%get_asInt('element',defaultVal = 1) - debug%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) - debug%grain = debug_root%get_asInt('grain',defaultVal = 1) + debugHomog%basic = debug_homogenization%contains('basic') + debugHomog%extensive = debug_homogenization%contains('extensive') + debugHomog%selective = debug_homogenization%contains('selective') + debugHomog%element = debug_root%get_asInt('element',defaultVal = 1) + debugHomog%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) + debugHomog%grain = debug_root%get_asInt('grain',defaultVal = 1) - if (debug%grain < 1 .or. debug%grain > homogenization_Ngrains(material_homogenizationAt(debug%element))) & - call IO_error(602,ext_msg='constituent', el=debug%element, g=debug%grain) + if (debugHomog%grain < 1 & + .or. debugHomog%grain > homogenization_Ngrains(material_homogenizationAt(debugHomog%element))) & + call IO_error(602,ext_msg='constituent', el=debugHomog%element, g=debugHomog%grain) num_homog => numerics_root%get('homogenization',defaultVal=emptyDict) @@ -230,13 +231,13 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) #ifdef DEBUG - if (debug%basic) then - write(6,'(/a,i5,1x,i2)') '<< HOMOG >> Material Point start at el ip ', debug%element, debug%ip + if (debugHomog%basic) then + write(6,'(/a,i5,1x,i2)') '<< HOMOG >> Material Point start at el ip ', debugHomog%element, debugHomog%ip write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< HOMOG >> F0', & - transpose(materialpoint_F0(1:3,1:3,debug%ip,debug%element)) + transpose(materialpoint_F0(1:3,1:3,debugHomog%ip,debugHomog%element)) write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< HOMOG >> F', & - transpose(materialpoint_F(1:3,1:3,debug%ip,debug%element)) + transpose(materialpoint_F(1:3,1:3,debugHomog%ip,debugHomog%element)) endif #endif @@ -295,9 +296,9 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) if (converged(i,e)) then #ifdef DEBUG - if (debug%extensive & - .and. ((e == debug%element .and. i == debug%ip) & - .or. .not. debug%selective)) then + if (debugHomog%extensive & + .and. ((e == debugHomog%element .and. i == debugHomog%ip) & + .or. .not. debugHomog%selective)) then write(6,'(a,1x,f12.8,1x,a,1x,f12.8,1x,a,i8,1x,i2/)') '<< HOMOG >> winding forward from', & subFrac(i,e), 'to current subFrac', & subFrac(i,e)+subStep(i,e),'in materialpoint_stressAndItsTangent at el ip',e,i @@ -354,9 +355,9 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) subStep(i,e) = num%subStepSizeHomog * subStep(i,e) ! crystallite had severe trouble, so do a significant cutback #ifdef DEBUG - if (debug%extensive & - .and. ((e == debug%element .and. i == debug%ip) & - .or. .not. debug%selective)) then + if (debugHomog%extensive & + .and. ((e == debugHomog%element .and. i == debugHomog%ip) & + .or. .not. debugHomog%selective)) then write(6,'(a,1x,f12.8,a,i8,1x,i2/)') & '<< HOMOG >> cutback step in materialpoint_stressAndItsTangent with new subStep:',& subStep(i,e),' at el ip',e,i diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index 57d47065e..b485c607a 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -143,8 +143,8 @@ module subroutine mech_RGC_init(num_homogMech) config => config_homogenization(h)) #ifdef DEBUG - if (h==material_homogenizationAt(debug%element)) then - prm%of_debug = material_homogenizationMemberAt(debug%ip,debug%element) + if (h==material_homogenizationAt(debugHomog%element)) then + prm%of_debug = material_homogenizationMemberAt(debugHomog%ip,debugHomog%element) endif #endif @@ -228,7 +228,7 @@ module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of) F(1:3,1:3,iGrain) = F(1:3,1:3,iGrain) + avgF ! resulting relaxed deformation gradient #ifdef DEBUG - if (debug%extensive) then + if (debugHomog%extensive) then write(6,'(1x,a32,1x,i3)')'Deformation gradient of grain: ',iGrain do i = 1,3 write(6,'(1x,3(e15.8,1x))')(F(i,j,iGrain), j = 1,3) @@ -291,7 +291,7 @@ module procedure mech_RGC_updateState drelax = stt%relaxationVector(:,of) - st0%relaxationVector(:,of) #ifdef DEBUG - if (debug%extensive) then + if (debugHomog%extensive) then write(6,'(1x,a30)')'Obtained state: ' do i = 1,size(stt%relaxationVector(:,of)) write(6,'(1x,2(e15.8,1x))') stt%relaxationVector(i,of) @@ -309,7 +309,7 @@ module procedure mech_RGC_updateState call volumePenalty(D,dst%volumeDiscrepancy(of),avgF,F,nGrain,instance,of) #ifdef DEBUG - if (debug%extensive) then + if (debugHomog%extensive) then do iGrain = 1,nGrain write(6,'(1x,a30,1x,i3,1x,a4,3(1x,e15.8))')'Mismatch magnitude of grain(',iGrain,') :',& NN(1,iGrain),NN(2,iGrain),NN(3,iGrain) @@ -357,7 +357,7 @@ module procedure mech_RGC_updateState enddo #ifdef DEBUG - if (debug%extensive) then + if (debugHomog%extensive) then write(6,'(1x,a30,1x,i3)')'Traction at interface: ',iNum write(6,'(1x,3(e15.8,1x))')(tract(iNum,j), j = 1,3) write(6,*)' ' @@ -371,7 +371,7 @@ module procedure mech_RGC_updateState residMax = maxval(abs(tract)) ! get the maximum of the residual #ifdef DEBUG - if (debug%extensive .and. prm%of_debug == of) then + if (debugHomog%extensive .and. prm%of_debug == of) then stresLoc = maxloc(abs(P)) residLoc = maxloc(abs(tract)) write(6,'(1x,a)')' ' @@ -391,7 +391,7 @@ module procedure mech_RGC_updateState if (residMax < num%rtol*stresMax .or. residMax < num%atol) then mech_RGC_updateState = .true. #ifdef DEBUG - if (debug%extensive .and. prm%of_debug == of) & + if (debugHomog%extensive .and. prm%of_debug == of) & write(6,'(1x,a55,/)')'... done and happy'; flush(6) #endif @@ -411,7 +411,7 @@ module procedure mech_RGC_updateState dst%relaxationRate_max(of) = maxval(abs(drelax))/dt #ifdef DEBUG - if (debug%extensive .and. prm%of_debug == of) then + if (debugHomog%extensive .and. prm%of_debug == of) then write(6,'(1x,a30,1x,e15.8)') 'Constitutive work: ',stt%work(of) write(6,'(1x,a30,3(1x,e15.8))')'Magnitude mismatch: ',dst%mismatch(1,of), & dst%mismatch(2,of), & @@ -432,7 +432,7 @@ module procedure mech_RGC_updateState mech_RGC_updateState = [.true.,.false.] ! with direct cut-back #ifdef DEBUG - if (debug%extensive .and. prm%of_debug == of) & + if (debugHomog%extensive .and. prm%of_debug == of) & write(6,'(1x,a,/)') '... broken'; flush(6) #endif @@ -440,7 +440,7 @@ module procedure mech_RGC_updateState else ! proceed with computing the Jacobian and state update #ifdef DEBUG - if (debug%extensive .and. prm%of_debug == of) & + if (debugHomog%extensive .and. prm%of_debug == of) & write(6,'(1x,a,/)') '... not yet done'; flush(6) #endif @@ -497,7 +497,7 @@ module procedure mech_RGC_updateState enddo #ifdef DEBUG - if (debug%extensive) then + if (debugHomog%extensive) then write(6,'(1x,a30)')'Jacobian matrix of stress' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(smatrix(i,j), j = 1,3*nIntFaceTot) @@ -557,7 +557,7 @@ module procedure mech_RGC_updateState enddo #ifdef DEBUG - if (debug%extensive) then + if (debugHomog%extensive) then write(6,'(1x,a30)')'Jacobian matrix of penalty' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(pmatrix(i,j), j = 1,3*nIntFaceTot) @@ -576,7 +576,7 @@ module procedure mech_RGC_updateState enddo #ifdef DEBUG - if (debug%extensive) then + if (debugHomog%extensive) then write(6,'(1x,a30)')'Jacobian matrix of penalty' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(rmatrix(i,j), j = 1,3*nIntFaceTot) @@ -591,7 +591,7 @@ module procedure mech_RGC_updateState allocate(jmatrix(3*nIntFaceTot,3*nIntFaceTot)); jmatrix = smatrix + pmatrix + rmatrix #ifdef DEBUG - if (debug%extensive) then + if (debugHomog%extensive) then write(6,'(1x,a30)')'Jacobian matrix (total)' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(jmatrix(i,j), j = 1,3*nIntFaceTot) @@ -607,7 +607,7 @@ module procedure mech_RGC_updateState call math_invert(jnverse,error,jmatrix) #ifdef DEBUG - if (debug%extensive) then + if (debugHomog%extensive) then write(6,'(1x,a30)')'Jacobian inverse' do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(jnverse(i,j), j = 1,3*nIntFaceTot) @@ -634,7 +634,7 @@ module procedure mech_RGC_updateState endif #ifdef DEBUG - if (debug%extensive) then + if (debugHomog%extensive) then write(6,'(1x,a30)')'Returned state: ' do i = 1,size(stt%relaxationVector(:,of)) write(6,'(1x,2(e15.8,1x))') stt%relaxationVector(i,of) @@ -684,7 +684,7 @@ module procedure mech_RGC_updateState associate(prm => param(instance)) #ifdef DEBUG - debugActive = debug%extensive .and. prm%of_debug == of + debugActive = debugHomog%extensive .and. prm%of_debug == of if (debugActive) then write(6,'(1x,a20,2(1x,i3))')'Correction factor: ',ip,el @@ -794,7 +794,7 @@ module procedure mech_RGC_updateState gVol(i)*transpose(math_inv33(fDef(:,:,i))) #ifdef DEBUG - if (debug%extensive & + if (debugHomog%extensive & .and. param(instance)%of_debug == of) then write(6,'(1x,a30,i2)')'Volume penalty of grain: ',i write(6,*) transpose(vPen(:,:,i)) From 5a423103a0840c0bdb7b00a278d08442572eca31 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 2 Jul 2020 01:28:53 +0200 Subject: [PATCH 336/958] typo --- src/constitutive.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index a58f9a3e8..7238eeb20 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -358,7 +358,7 @@ subroutine constitutive_init class (tNode), pointer :: & debug_constitutive - debug_constitutive => debug_root%get('constitutuve', defaultVal=emptyList) + debug_constitutive => debug_root%get('constitutive', defaultVal=emptyList) debugConstitutive%basic = debug_constitutive%contains('basic') debugConstitutive%extensive = debug_constitutive%contains('extensive') debugConstitutive%selective = debug_constitutive%contains('selective') From 208d5109d4371d5c18cfc0fac6c617d04c9012f3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 2 Jul 2020 08:14:13 +0200 Subject: [PATCH 337/958] still needed ... --- python/damask/_rotation.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index a605a74b6..59bca3795 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -632,6 +632,7 @@ class Rotation: # for compatibility (old names do not follow convention) fromEulers = from_Eulers + fromQuaternion = from_quaternion asAxisAngle = as_axis_angle __mul__ = __matmul__ From b88becb9d089e10f1e7714182fbc291e987f5e1e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 2 Jul 2020 08:25:35 +0200 Subject: [PATCH 338/958] don't go out of focus during initialization --- python/damask/_environment.py | 22 +++++++++++++++------- python/damask/_vtk.py | 2 +- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/python/damask/_environment.py b/python/damask/_environment.py index 29c0f45c7..7b8b8487e 100644 --- a/python/damask/_environment.py +++ b/python/damask/_environment.py @@ -3,23 +3,30 @@ from pathlib import Path class Environment: + # ToDo: Probably, we don't need a class (just a module with a few functions) def __init__(self): - """Read and provide values of DAMASK configuration.""" - self.screen_width = 1024 - self.screen_height = 768 + """Do Nothing.""" + pass + + @property + def screen_size(self): + width = 1024 + height = 768 try: import wx - _ = wx.App(False) # noqa - self.screenwidth, self.screenheight = wx.GetDisplaySize() + _ = wx.App(False) # noqa + width, height = wx.GetDisplaySize() except ImportError: try: import tkinter tk = tkinter.Tk() - self.screen_width = tk.winfo_screenwidth() - self.screen_height = tk.winfo_screenheight() + width = tk.winfo_screenwidth() + height = tk.winfo_screenheight() tk.destroy() except Exception as e: pass + return (width,height) + @property def options(self): @@ -32,6 +39,7 @@ class Environment: return options + @property def root_dir(self): """Return DAMASK root path.""" diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 49a4f8958..1e99f83f3 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -242,7 +242,7 @@ class VTK: ren.AddActor(actor) ren.SetBackground(0.2,0.2,0.2) - window.SetSize(Environment().screen_width,Environment().screen_height) + window.SetSize(Environment().screen_size[0],Environment().screen_size[1]) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(window) From 3b72d0ec725450d576a6d2fa3ea310f20d471164 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 2 Jul 2020 10:13:47 -0400 Subject: [PATCH 339/958] added __invert__ method to reverse colormap --- python/damask/_colormap.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 964f22d85..2533d4d36 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -24,6 +24,10 @@ class Colormap(mpl.colors.ListedColormap): return Colormap(np.vstack((self.colors,other.colors)), f'{self.name}+{other.name}') + def __invert__(self): + """Return inverted colormap.""" + return self.reversed() + @staticmethod def from_range(low,high,name='DAMASK colormap',N=256,model='rgb'): """ From f3ff2e741288984d6c4182453f2526eaaab1fbf4 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 2 Jul 2020 10:25:04 -0400 Subject: [PATCH 340/958] added __iadd__ method --- python/damask/_colormap.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 2533d4d36..c15befcfa 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -24,6 +24,11 @@ class Colormap(mpl.colors.ListedColormap): return Colormap(np.vstack((self.colors,other.colors)), f'{self.name}+{other.name}') + def __iadd__(self,other): + """Concatenate colormaps.""" + return Colormap(np.vstack((self.colors,other.colors)), + f'{self.name}+{other.name}') + def __invert__(self): """Return inverted colormap.""" return self.reversed() From 5a96708f4143c07d15e74ca938bc4e648296deb9 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 2 Jul 2020 10:26:04 -0400 Subject: [PATCH 341/958] added __iadd__ method --- python/damask/_colormap.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index c15befcfa..9d57f234b 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -26,8 +26,7 @@ class Colormap(mpl.colors.ListedColormap): def __iadd__(self,other): """Concatenate colormaps.""" - return Colormap(np.vstack((self.colors,other.colors)), - f'{self.name}+{other.name}') + return self.__add__(other) def __invert__(self): """Return inverted colormap.""" From 368a2419312097167bc53c2bd51cce152bf09f1e Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 2 Jul 2020 10:26:28 -0400 Subject: [PATCH 342/958] added testing of __iadd__ and __invert__ --- python/tests/test_Colormap.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index fcc2eca81..f288ffb24 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -118,6 +118,17 @@ class TestColormap: assert (not np.allclose(c_1.colors,c_2.colors)) and \ np.allclose(c_1.colors,c_2.reversed().colors) + def test_invert(self): + c_1 = Colormap.from_predefined('strain') + c_2 = ~c_1 + assert (not np.allclose(c_1.colors,c_2.colors)) and \ + np.allclose(c_1.colors,(~c_2).colors) + + def test_add(self): + c = Colormap.from_predefined('jet') + c += c + assert (np.allclose(c.colors[:len(c.colors)],c.colors[len(c.colors):])) + def test_list(self): Colormap.list_predefined() @@ -138,4 +149,3 @@ class TestColormap: c.to_file(format=format) time.sleep(.5) assert filecmp.cmp(tmpdir/(name+ext),reference_dir/(name+ext)) - From 81b3c103059fdc931623b274de6abf25cae24317 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 2 Jul 2020 10:37:57 -0400 Subject: [PATCH 343/958] removed ambiguous variable "l" --- python/tests/test_Colormap.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index f288ffb24..fbe65e2bd 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -127,7 +127,7 @@ class TestColormap: def test_add(self): c = Colormap.from_predefined('jet') c += c - assert (np.allclose(c.colors[:len(c.colors)],c.colors[len(c.colors):])) + assert (np.allclose(c.colors[:len(c.colors)//2],c.colors[len(c.colors)//2:])) def test_list(self): Colormap.list_predefined() From 7b899f1ff19665d621c02aced57212a497968cb3 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 2 Jul 2020 11:33:09 -0400 Subject: [PATCH 344/958] fixed output number format width for single increment0 --- python/damask/_result.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 35879ec80..43573b871 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1222,7 +1222,7 @@ class Result: elif mode.lower()=='point': v = VTK.from_polyData(self.cell_coordinates()) - N_digits = int(np.floor(np.log10(int(self.increments[-1][3:]))))+1 + N_digits = int(np.floor(np.log10(max(1,int(self.increments[-1][3:])))))+1 for inc in util.show_progress(self.iterate('increments'),len(self.selection['increments'])): From d2d7526779f15480fdfa66f91b06fbdcdf1aa18a Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 3 Jul 2020 00:30:24 +0200 Subject: [PATCH 345/958] [skip ci] updated version information after successful test of v2.0.3-2783-g1a8feab2 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 1248f6ed7..5b3a868b4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2752-g0b2d62e9 +v2.0.3-2783-g1a8feab2 From 6c260945db8957e121dea7d4bc6f0676bcab49ac Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 3 Jul 2020 03:10:51 +0200 Subject: [PATCH 346/958] [skip ci] updated version information after successful test of v2.0.3-2792-gd4f97f83 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 1248f6ed7..8a08ebebc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2752-g0b2d62e9 +v2.0.3-2792-gd4f97f83 From 7b3d1204fab4277ee2a9b24872bc7af4757a9ea0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 3 Jul 2020 07:29:31 +0200 Subject: [PATCH 347/958] easier to use --- python/damask/_result.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/python/damask/_result.py b/python/damask/_result.py index 6c3e751f1..205b3a0f8 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -466,6 +466,11 @@ class Result: return f[self.get_dataset_location('orientation')[0]].attrs['Lattice'].astype('str') # np.bytes_ to string + def enable_user_function(self,func): + globals()[func.__name__]=func + print(f'Function {func.__name__} enabled in add_calculation.') + + def read_dataset(self,path,c=0,plain=False): """ Dataset for all points/cells. From f43bed6f10c78505138e3189cd6724a80d4cc129 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 3 Jul 2020 14:58:58 +0200 Subject: [PATCH 348/958] [skip ci] updated version information after successful test of v2.0.3-2840-ge1bbaac0 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 5b3a868b4..9aa2da0e8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2783-g1a8feab2 +v2.0.3-2840-ge1bbaac0 From 432609ec1441932c259b6bd370cd5dbe8a550012 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 3 Jul 2020 16:45:11 +0200 Subject: [PATCH 349/958] cleaning --- src/CPFEM.f90 | 6 ++--- src/DAMASK_marc.f90 | 23 ++++++++++---------- src/constitutive.f90 | 20 ++++++++--------- src/constitutive_plastic_isotropic.f90 | 10 ++++----- src/constitutive_plastic_kinehardening.f90 | 3 +-- src/constitutive_plastic_nonlocal.f90 | 4 ++-- src/crystallite.f90 | 3 +-- src/grid/grid_mech_spectral_polarisation.f90 | 1 - src/grid/spectral_utilities.f90 | 4 ++-- src/homogenization.f90 | 6 ++--- src/homogenization_mech_RGC.f90 | 1 + src/homogenization_mech_none.f90 | 12 +++++----- src/marc/discretization_marc.f90 | 1 - src/mesh/FEM_utilities.f90 | 4 ++-- src/mesh/discretization_mesh.f90 | 2 +- src/source_damage_isoDuctile.f90 | 1 - src/source_thermal_dissipation.f90 | 1 - src/source_thermal_externalheat.f90 | 1 - 18 files changed, 46 insertions(+), 57 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index ea249c879..e257f8e55 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -172,8 +172,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS elCP = mesh_FEM2DAMASK_elem(elFE) - if (debugCPFEM%basic .and. elCP == debugCPFEM%element & - .and. ip == debugCPFEM%ip) then + if (debugCPFEM%basic .and. elCP == debugCPFEM%element .and. ip == debugCPFEM%ip) then write(6,'(/,a)') '#############################################' write(6,'(a1,a22,1x,i8,a13)') '#','element', elCP, '#' write(6,'(a1,a22,1x,i8,a13)') '#','ip', ip, '#' @@ -249,8 +248,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS endif validCalculation if (debugCPFEM%extensive & - .and. (debugCPFEM%element == elCP .and. debugCPFEM%ip == ip) & - .or. .not. debugCPFEM%selective) then + .and. (debugCPFEM%element == elCP .and. debugCPFEM%ip == ip) .or. .not. debugCPFEM%selective) then write(6,'(a,i8,1x,i2,/,12x,6(f10.3,1x)/)') & '<< CPFEM >> stress/MPa at elFE ip ', elFE, ip, CPFEM_cs(1:6,ip,elCP)*1.0e-6_pReal write(6,'(a,i8,1x,i2,/,6(12x,6(f10.3,1x)/))') & diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index 233e684ee..f57344725 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -253,20 +253,12 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & logical, save :: & lastIncConverged = .false., & !< needs description outdatedByNewInc = .false., & !< needs description - CPFEM_init_done = .false. !< remember whether init has been done already + CPFEM_init_done = .false., & !< remember whether init has been done already + debug_basic = .true. class(tNode), pointer :: & debug_Marc ! pointer to Marc debug options - defaultNumThreadsInt = omp_get_num_threads() ! remember number of threads set by Marc - call omp_set_num_threads(1) ! no openMP - - if (.not. CPFEM_init_done) then - CPFEM_init_done = .true. - call CPFEM_initAll - endif - - debug_Marc => debug_root%get('marc',defaultVal=emptyList) - if(debug_Marc%contains('basic')) then + if(debug_basic) then write(6,'(a,/,i8,i8,i2)') ' MSC.MARC information on shape of element(2), IP:', m, nn write(6,'(a,2(i1))') ' Jacobian: ', ngens,ngens write(6,'(a,i1)') ' Direct stress: ', ndi @@ -281,6 +273,15 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & transpose(ffn1) endif + defaultNumThreadsInt = omp_get_num_threads() ! remember number of threads set by Marc + call omp_set_num_threads(1) ! no openMP + + if (.not. CPFEM_init_done) then + debug_Marc => debug_root%get('marc',defaultVal=emptyList) + debug_basic = debug_Marc%contains('basic') + CPFEM_init_done = .true. + call CPFEM_initAll + endif computationMode = 0 ! save initialization value, since it does not result in any calculation if (lovl == 4 ) then ! jacobian requested by marc diff --git a/src/constitutive.f90 b/src/constitutive.f90 index c8dfcf9d3..d920c481f 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -40,7 +40,7 @@ module constitutive module subroutine plastic_isotropic_init end subroutine plastic_isotropic_init - + module subroutine plastic_phenopowerlaw_init end subroutine plastic_phenopowerlaw_init @@ -359,13 +359,12 @@ subroutine constitutive_init debug_constitutive debug_constitutive => debug_root%get('constitutive', defaultVal=emptyList) - debugConstitutive%basic = debug_constitutive%contains('basic') - debugConstitutive%extensive = debug_constitutive%contains('extensive') - debugConstitutive%selective = debug_constitutive%contains('selective') - debugConstitutive%element = debug_root%get_asInt('element',defaultVal = 1) - debugConstitutive%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) - debugConstitutive%grain = debug_root%get_asInt('grain',defaultVal = 1) - + debugConstitutive%basic = debug_constitutive%contains('basic') + debugConstitutive%extensive = debug_constitutive%contains('extensive') + debugConstitutive%selective = debug_constitutive%contains('selective') + debugConstitutive%element = debug_root%get_asInt('element',defaultVal = 1) + debugConstitutive%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) + debugConstitutive%grain = debug_root%get_asInt('grain',defaultVal = 1) !-------------------------------------------------------------------------------------------------- ! initialized plasticity @@ -501,8 +500,7 @@ subroutine constitutive_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & tme !< thermal member position integer :: & i, j, instance, of - - + ho = material_homogenizationAt(el) tme = thermalMapping(ho)%p(ip,el) @@ -577,7 +575,7 @@ subroutine constitutive_LiAndItsTangents(Li, dLi_dS, dLi_dFi, & integer :: & k, i, j, & instance, of - + Li = 0.0_pReal dLi_dS = 0.0_pReal dLi_dFi = 0.0_pReal diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index 7cd529e9b..60f40fe37 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -161,7 +161,7 @@ module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) integer, intent(in) :: & instance, & of - + real(pReal), dimension(3,3) :: & Mp_dev !< deviatoric part of the Mandel stress real(pReal) :: & @@ -182,8 +182,7 @@ module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) Lp = dot_gamma/prm%M * Mp_dev/norm_Mp_dev #ifdef DEBUG - if (debugConstitutive%extensive & - .and. (of == prm%of_debug .or. .not. debugConstitutive%selective)) then + if (debugConstitutive%extensive .and. (of == prm%of_debug .or. .not. debugConstitutive%selective)) then write(6,'(/,a,/,3(12x,3(f12.4,1x)/))') '<< CONST isotropic >> Tstar (dev) / MPa', & transpose(Mp_dev)*1.0e-6_pReal write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> norm Tstar / MPa', norm_Mp_dev*1.0e-6_pReal @@ -222,7 +221,7 @@ module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) integer, intent(in) :: & instance, & of - + real(pReal) :: & tr !< trace of spherical part of Mandel stress (= 3 x pressure) integer :: & @@ -238,8 +237,7 @@ module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) * tr * abs(tr)**(prm%n-1.0_pReal) #ifdef DEBUG - if (debugConstitutive%extensive & - .and. (of == prm%of_debug .or. .not. debugConstitutive%selective)) then + if (debugConstitutive%extensive .and. (of == prm%of_debug .or. .not. debugConstitutive%selective)) then write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> pressure / MPa', tr/3.0_pReal*1.0e-6_pReal write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> gdot', prm%dot_gamma_0 * (3.0_pReal*prm%M*stt%xi(of))**(-prm%n) & * tr * abs(tr)**(prm%n-1.0_pReal) diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index 3b4ceec5a..d3e84cfe2 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -328,8 +328,7 @@ module subroutine plastic_kinehardening_deltaState(Mp,instance,of) #ifdef DEBUG if (debugConstitutive%extensive & - .and. (of == prm%of_debug & - .or. .not. debugConstitutive%selective)) then + .and. (of == prm%of_debug .or. .not. debugConstitutive%selective)) then write(6,'(a)') '======= kinehardening delta state =======' write(6,*) sense,state(instance)%sense(:,of) endif diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 5f9f63f24..ea55024b9 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -146,7 +146,7 @@ submodule(constitutive) plastic_nonlocal v_scr_pos, & v_scr_neg end type tNonlocalState - + type(tNonlocalState), allocatable, dimension(:) :: & deltaState, & dotState, & @@ -1157,7 +1157,7 @@ function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) of, & ip, & !< current integration point el !< current element number - + integer :: & ph, & neighbor_instance, & !< instance of my neighbor's plasticity diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 32490b049..9222ce3f1 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -111,7 +111,6 @@ module crystallite type(tDebugOptions) :: debugCrystallite - procedure(integrateStateFPI), pointer :: integrateState public :: & @@ -143,7 +142,7 @@ subroutine crystallite_init eMax, & !< maximum number of elements myNcomponents !< number of components at current IP - class(tNode) , pointer :: & + class(tNode), pointer :: & num_crystallite, & debug_crystallite ! pointer to debug options for crystallite diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 555d5e0e1..7b77c56f5 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -537,7 +537,6 @@ subroutine formResidual(in, FandF_tau, & integer :: & i, j, k, e - !--------------------------------------------------------------------------------------------------- F => FandF_tau(1:3,1:3,1,& diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index b8db1778e..a6f4be069 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -188,9 +188,9 @@ subroutine spectral_utilities_init scalarSize = 1_C_INTPTR_T, & vecSize = 3_C_INTPTR_T, & tensorSize = 9_C_INTPTR_T - character(len=pStringLen) :: & + character(len=*), parameter :: & PETSCDEBUG = ' -snes_view -snes_monitor ' - class (tNode) , pointer :: & + class(tNode) , pointer :: & num_grid, & debug_grid ! pointer to grid debug options diff --git a/src/homogenization.f90 b/src/homogenization.f90 index c82e03bcb..7df37334c 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -228,7 +228,7 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) converged logical, dimension(2,discretization_nIP,discretization_nElem) :: & doneAndHappy - + #ifdef DEBUG if (debugHomog%basic) then @@ -489,7 +489,7 @@ subroutine partitionDeformation(subF,ip,el) integer, intent(in) :: & ip, & !< integration point el !< element number - + chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) case (HOMOGENIZATION_NONE_ID) chosenHomogenization @@ -525,7 +525,7 @@ function updateState(subdt,subF,ip,el) ip, & !< integration point el !< element number logical, dimension(2) :: updateState - + updateState = .true. chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) case (HOMOGENIZATION_RGC_ID) chosenHomogenization diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index b485c607a..3993cd609 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -79,6 +79,7 @@ module subroutine mech_RGC_init(num_homogMech) class(tNode), pointer, intent(in) :: & num_homogMech !< pointer to mechanical homogenization numerics data + integer :: & Ninstance, & h, & diff --git a/src/homogenization_mech_none.f90 b/src/homogenization_mech_none.f90 index 6311ff770..0633f9b8c 100644 --- a/src/homogenization_mech_none.f90 +++ b/src/homogenization_mech_none.f90 @@ -9,29 +9,29 @@ submodule(homogenization) homogenization_mech_none contains !-------------------------------------------------------------------------------------------------- -!> @brief allocates all neccessary fields, reads information from material configuration file +!> @brief allocates all necessary fields, reads information from material configuration file !-------------------------------------------------------------------------------------------------- module subroutine mech_none_init - + integer :: & Ninstance, & h, & NofMyHomog - + write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_NONE_label//' init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_NONE_ID) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) - + do h = 1, size(homogenization_type) if (homogenization_type(h) /= HOMOGENIZATION_NONE_ID) cycle - + NofMyHomog = count(material_homogenizationAt == h) homogState(h)%sizeState = 0 allocate(homogState(h)%state0 (0,NofMyHomog)) allocate(homogState(h)%subState0(0,NofMyHomog)) allocate(homogState(h)%state (0,NofMyHomog)) - + enddo end subroutine mech_none_init diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index 15db5b2a4..b0a5a9715 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -86,7 +86,6 @@ subroutine discretization_marc_init mesh_unitlength = num_commercialFEM%get_asFloat('unitlength',defaultVal=1.0_pReal) ! set physical extent of a length unit in mesh if (mesh_unitlength <= 0.0_pReal) call IO_error(301,ext_msg='unitlength') - call inputRead(elem,node0_elem,connectivity_elem,microstructureAt,homogenizationAt) nElems = size(connectivity_elem,2) diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 9bd38bc30..643cb078f 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -107,7 +107,7 @@ subroutine FEM_utilities_init num_mesh, & debug_mesh ! pointer to mesh debug options integer :: structOrder !< order of displacement shape functions - character(len=pStringLen) :: & + character(len=*), parameter :: & PETSCDEBUG = ' -snes_view -snes_monitor ' PetscErrorCode :: ierr @@ -121,7 +121,7 @@ subroutine FEM_utilities_init ! set debugging parameters debug_mesh => debug_root%get('mesh',defaultVal=emptyList) debugPETSc = debug_mesh%contains('petsc') - + if(debugPETSc) write(6,'(3(/,a),/)') & ' Initializing PETSc with debug options: ', & trim(PETScDebug), & diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index dbc69e866..68c34be1f 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -96,7 +96,7 @@ subroutine discretization_mesh_init(restart) debug_element = debug_root%get_asInt('element',defaultVal=1) debug_ip = debug_root%get_asInt('integrationpoint',defaultVal=1) - + call DMPlexCreateFromFile(PETSC_COMM_WORLD,geometryFile,PETSC_TRUE,globalMesh,ierr) CHKERRQ(ierr) call DMGetDimension(globalMesh,dimPlex,ierr) diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index 1578fe50c..cf392fdc4 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -7,7 +7,6 @@ module source_damage_isoDuctile use prec use IO - use YAML_types use discretization use material use config diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index 0a72032b2..8fa5ae0c7 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -6,7 +6,6 @@ !-------------------------------------------------------------------------------------------------- module source_thermal_dissipation use prec - use YAML_types use discretization use material use config diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index e64656be5..b83b29596 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -6,7 +6,6 @@ !-------------------------------------------------------------------------------------------------- module source_thermal_externalheat use prec - use YAML_types use discretization use material use config From 5688fc5698bf780c48399531008340f63d3d29f1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 3 Jul 2020 18:12:40 +0200 Subject: [PATCH 350/958] need to do initialization first --- src/DAMASK_marc.f90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index f57344725..8f170f05d 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -277,10 +277,10 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & call omp_set_num_threads(1) ! no openMP if (.not. CPFEM_init_done) then - debug_Marc => debug_root%get('marc',defaultVal=emptyList) - debug_basic = debug_Marc%contains('basic') CPFEM_init_done = .true. call CPFEM_initAll + debug_Marc => debug_root%get('marc',defaultVal=emptyList) + debug_basic = debug_Marc%contains('basic') endif computationMode = 0 ! save initialization value, since it does not result in any calculation From 48b42debe0404b7746c96ed9445557cc0bd2d1d4 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 3 Jul 2020 20:55:05 +0200 Subject: [PATCH 351/958] redundant --- src/crystallite.f90 | 1 - src/grid/DAMASK_grid.f90 | 1 - src/grid/grid_mech_FEM.f90 | 1 - src/grid/grid_mech_spectral_basic.f90 | 1 - src/grid/grid_mech_spectral_polarisation.f90 | 1 - src/grid/spectral_utilities.f90 | 1 - src/homogenization.f90 | 1 - src/marc/discretization_marc.f90 | 1 - src/material.f90 | 1 - src/mesh/DAMASK_mesh.f90 | 1 - src/mesh/FEM_utilities.f90 | 1 - src/mesh/mesh_mech_FEM.f90 | 1 - 12 files changed, 12 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 9222ce3f1..fbce3ab47 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -23,7 +23,6 @@ module crystallite use discretization use lattice use results - use YAML_types implicit none private diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 54447ce14..af1eb1353 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -24,7 +24,6 @@ program DAMASK_grid use grid_damage_spectral use grid_thermal_spectral use results - use YAML_types implicit none diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index eb38e3e65..13382a444 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -16,7 +16,6 @@ module grid_mech_FEM use math use spectral_utilities use FEsolving - use YAML_types use numerics use homogenization use discretization diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index ad57f36c0..7300d9b39 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -21,7 +21,6 @@ module grid_mech_spectral_basic use homogenization use discretization_grid use debug - use YAML_types implicit none private diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 7b77c56f5..cad0751cd 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -22,7 +22,6 @@ module grid_mech_spectral_polarisation use homogenization use discretization_grid use debug - use YAML_types implicit none private diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index a6f4be069..7f2066e4b 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -19,7 +19,6 @@ module spectral_utilities use config use discretization use homogenization - use YAML_types implicit none private diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 7df37334c..17b044ad5 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -23,7 +23,6 @@ module homogenization use damage_local use damage_nonlocal use results - use YAML_types implicit none private diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index b0a5a9715..be16f5fc0 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -13,7 +13,6 @@ module discretization_marc use IO use debug use numerics - use YAML_types use FEsolving use element use discretization diff --git a/src/material.f90 b/src/material.f90 index 7de8214cd..ca2b0d49a 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -8,7 +8,6 @@ module material use prec use math use config - use YAML_types use results use IO use debug diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index b774373a8..5cb7d5120 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -16,7 +16,6 @@ program DAMASK_mesh use CPFEM2 use FEsolving use numerics - use YAML_types use discretization_mesh use FEM_Utilities use mesh_mech_FEM diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 643cb078f..b66c1dfb0 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -15,7 +15,6 @@ module FEM_utilities use FEsolving use homogenization use numerics - use YAML_types use debug use math use discretization_mesh diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 7fb67c442..235039112 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -19,7 +19,6 @@ module mesh_mech_FEM use discretization_mesh use DAMASK_interface use numerics - use YAML_types use FEM_quadrature use homogenization use math From e0c2dbc948d39790b127980ec0defcd88bc09a90 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 6 Jul 2020 16:33:48 +0200 Subject: [PATCH 352/958] look for new name --- env/DAMASK.csh | 6 +++--- env/DAMASK.sh | 4 ++-- env/DAMASK.zsh | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/env/DAMASK.csh b/env/DAMASK.csh index 98693d6b2..5529eac23 100644 --- a/env/DAMASK.csh +++ b/env/DAMASK.csh @@ -9,8 +9,8 @@ source $ENV_ROOT/CONFIG set path = ($DAMASK_ROOT/bin $path) -set SOLVER=`which DAMASK_spectral` -if ( "x$DAMASK_NUM_THREADS" == "x" ) then +set SOLVER=`which DAMASK_grid` +if ( "x$DAMASK_NUM_THREADS" == "x" ) then set DAMASK_NUM_THREADS=1 endif @@ -30,7 +30,7 @@ if ( $?prompt ) then echo echo Using environment with ... echo "DAMASK $DAMASK_ROOT" - echo "Grid Solver $SOLVER" + echo "Grid Solver $SOLVER" if ( $?PETSC_DIR) then echo "PETSc location $PETSC_DIR" endif diff --git a/env/DAMASK.sh b/env/DAMASK.sh index 5c3d2ba85..2151e842b 100644 --- a/env/DAMASK.sh +++ b/env/DAMASK.sh @@ -35,7 +35,7 @@ cd $DAMASK_ROOT >/dev/null; BRANCH=$(git branch 2>/dev/null| grep -E '^\* '); cd PATH=${DAMASK_ROOT}/bin:$PATH -SOLVER=$(type -p DAMASK_spectral || true 2>/dev/null) +SOLVER=$(type -p DAMASK_grid || true 2>/dev/null) [ "x$SOLVER" == "x" ] && SOLVER=$(blink 'Not found!') [ "x$DAMASK_NUM_THREADS" == "x" ] && DAMASK_NUM_THREADS=1 @@ -56,7 +56,7 @@ if [ ! -z "$PS1" ]; then echo echo Using environment with ... echo "DAMASK $DAMASK_ROOT $BRANCH" - echo "Grid Solver $SOLVER" + echo "Grid Solver $SOLVER" if [ "x$PETSC_DIR" != "x" ]; then echo -n "PETSc location " [ -d $PETSC_DIR ] && echo $PETSC_DIR || blink $PETSC_DIR diff --git a/env/DAMASK.zsh b/env/DAMASK.zsh index 831268a7e..377aa5304 100644 --- a/env/DAMASK.zsh +++ b/env/DAMASK.zsh @@ -27,7 +27,7 @@ cd $DAMASK_ROOT >/dev/null; BRANCH=$(git branch 2>/dev/null| grep -E '^\* '); cd PATH=${DAMASK_ROOT}/bin:$PATH -SOLVER=$(which DAMASK_spectral || true 2>/dev/null) +SOLVER=$(which DAMASK_grid || true 2>/dev/null) [[ "x$SOLVER" == "x" ]] && SOLVER=$(blink 'Not found!') [[ "x$DAMASK_NUM_THREADS" == "x" ]] && DAMASK_NUM_THREADS=1 @@ -48,7 +48,7 @@ if [ ! -z "$PS1" ]; then echo echo "Using environment with ..." echo "DAMASK $DAMASK_ROOT $BRANCH" - echo "Grid Solver $SOLVER" + echo "Grid Solver $SOLVER" if [ "x$PETSC_DIR" != "x" ]; then echo -n "PETSc location " [ -d $PETSC_DIR ] && echo $PETSC_DIR || blink $PETSC_DIR From 7df9bf2ad87fd844512210718632636a506d47d6 Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 7 Jul 2020 16:25:06 +0200 Subject: [PATCH 353/958] [skip ci] updated version information after successful test of v2.0.3-2872-g0a2d3046 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 9aa2da0e8..b76d77510 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2840-ge1bbaac0 +v2.0.3-2872-g0a2d3046 From defe0a8dd8620c350512e40dfdbf3e71e2a36283 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 8 Jul 2020 10:21:13 +0200 Subject: [PATCH 354/958] coordinates are stored in fixed format width of numers is fixed, if negative numbers are given there is no space --- src/marc/discretization_marc.f90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index be16f5fc0..eee635065 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -492,8 +492,8 @@ subroutine inputRead_mapNodes(FEM2DAMASK, & chunkPos = IO_stringPos(fileContent(l)) if(chunkPos(1) < 1) cycle if(IO_lc(IO_stringValue(fileContent(l),chunkPos,1)) == 'coordinates') then + chunkPos = [1,1,10] do i = 1,nNodes - chunkPos = IO_stringPos(fileContent(l+1+i)) map_unsorted(:,i) = [IO_intValue(fileContent(l+1+i),chunkPos,1),i] enddo exit @@ -528,8 +528,8 @@ subroutine inputRead_elemNodes(nodes, & chunkPos = IO_stringPos(fileContent(l)) if(chunkPos(1) < 1) cycle if(IO_lc(IO_stringValue(fileContent(l),chunkPos,1)) == 'coordinates') then + chunkPos = [4,1,10,11,30,31,50,51,70] do i=1,nNode - chunkPos = IO_stringPos(fileContent(l+1+i)) m = mesh_FEM2DAMASK_node(IO_intValue(fileContent(l+1+i),chunkPos,1)) do j = 1,3 nodes(j,m) = mesh_unitlength * IO_floatValue(fileContent(l+1+i),chunkPos,j+1) From 3150673f2d1c8d04cac840a7f78da63836d20a9a Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Wed, 8 Jul 2020 14:03:10 +0200 Subject: [PATCH 355/958] also remove intermediate submodul files --- .../2018.1/Marc_tools/comp_damask_hmp | 3 +- .../2018.1/Marc_tools/comp_damask_lmp | 3 +- .../2018.1/Marc_tools/comp_damask_mp | 3 +- .../2018.1/Marc_tools/run_damask_hmp | 209 +++++++++--------- .../2018.1/Marc_tools/run_damask_lmp | 209 +++++++++--------- .../2018.1/Marc_tools/run_damask_mp | 209 +++++++++--------- .../2018/Marc_tools/comp_damask_hmp | 3 +- .../2018/Marc_tools/comp_damask_lmp | 3 +- .../2018/Marc_tools/comp_damask_mp | 3 +- .../2018/Marc_tools/run_damask_hmp | 209 +++++++++--------- .../2018/Marc_tools/run_damask_lmp | 209 +++++++++--------- .../2018/Marc_tools/run_damask_mp | 209 +++++++++--------- .../2019/Marc_tools/comp_damask_hmp | 3 +- .../2019/Marc_tools/comp_damask_lmp | 3 +- .../2019/Marc_tools/comp_damask_mp | 3 +- .../2019/Marc_tools/run_damask_hmp | 209 +++++++++--------- .../2019/Marc_tools/run_damask_lmp | 209 +++++++++--------- .../2019/Marc_tools/run_damask_mp | 209 +++++++++--------- 18 files changed, 972 insertions(+), 936 deletions(-) diff --git a/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_hmp b/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_hmp index 36ced6543..2e6f44b77 100644 --- a/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_hmp +++ b/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_hmp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_lmp b/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_lmp index 8a0c1255d..d908d68ed 100644 --- a/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_lmp +++ b/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_lmp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_mp b/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_mp index 986d9ae04..b31d84d48 100644 --- a/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_mp +++ b/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_mp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_hmp b/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_hmp index ac376673a..24a931500 100644 --- a/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_hmp +++ b/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_hmp @@ -63,7 +63,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -177,16 +177,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -203,7 +203,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -226,7 +226,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -246,7 +246,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -269,7 +269,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -333,7 +333,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -523,7 +523,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -543,7 +543,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -613,7 +613,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -624,7 +624,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -635,7 +635,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -651,7 +651,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -665,7 +665,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -676,7 +676,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -847,7 +847,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -898,7 +898,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -934,7 +934,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -943,7 +943,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1030,7 +1030,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1093,14 +1093,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1108,7 +1108,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $nauto -gt 2 then - error="$error + error="$error incorrect option for auto restart " fi fi @@ -1299,7 +1299,7 @@ incorrect option for auto restart " then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1307,7 +1307,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2039,42 +2039,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2327,7 +2327,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2360,7 +2360,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2474,9 +2474,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2560,7 +2560,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2569,7 +2569,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2729,7 +2729,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2859,7 +2859,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2870,7 +2870,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3267,6 +3267,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3309,7 +3310,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3318,10 +3319,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3389,15 +3390,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3579,7 +3580,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3599,6 +3600,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3647,7 +3649,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3696,7 +3698,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3913,7 +3915,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3933,6 +3935,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4055,7 +4058,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_lmp b/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_lmp index 0417ce4d6..49b6b81fd 100644 --- a/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_lmp +++ b/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_lmp @@ -63,7 +63,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -177,16 +177,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -203,7 +203,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -226,7 +226,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -246,7 +246,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -269,7 +269,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -333,7 +333,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -523,7 +523,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -543,7 +543,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -613,7 +613,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -624,7 +624,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -635,7 +635,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -651,7 +651,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -665,7 +665,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -676,7 +676,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -847,7 +847,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -898,7 +898,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -934,7 +934,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -943,7 +943,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1030,7 +1030,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1093,14 +1093,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1108,7 +1108,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $nauto -gt 2 then - error="$error + error="$error incorrect option for auto restart " fi fi @@ -1299,7 +1299,7 @@ incorrect option for auto restart " then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1307,7 +1307,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2039,42 +2039,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2327,7 +2327,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2360,7 +2360,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2474,9 +2474,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2560,7 +2560,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2569,7 +2569,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2729,7 +2729,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2859,7 +2859,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2870,7 +2870,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3267,6 +3267,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3309,7 +3310,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3318,10 +3319,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3389,15 +3390,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3579,7 +3580,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3599,6 +3600,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3647,7 +3649,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3696,7 +3698,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3913,7 +3915,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3933,6 +3935,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4055,7 +4058,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_mp b/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_mp index dcf5a10d0..f42b973cf 100644 --- a/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_mp +++ b/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_mp @@ -63,7 +63,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -177,16 +177,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -203,7 +203,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -226,7 +226,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -246,7 +246,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -269,7 +269,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -333,7 +333,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -523,7 +523,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -543,7 +543,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -613,7 +613,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -624,7 +624,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -635,7 +635,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -651,7 +651,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -665,7 +665,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -676,7 +676,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -847,7 +847,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -898,7 +898,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -934,7 +934,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -943,7 +943,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1030,7 +1030,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1093,14 +1093,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1108,7 +1108,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $nauto -gt 2 then - error="$error + error="$error incorrect option for auto restart " fi fi @@ -1299,7 +1299,7 @@ incorrect option for auto restart " then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1307,7 +1307,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2039,42 +2039,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2327,7 +2327,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2360,7 +2360,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2474,9 +2474,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2560,7 +2560,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2569,7 +2569,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2729,7 +2729,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2859,7 +2859,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2870,7 +2870,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3267,6 +3267,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3309,7 +3310,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3318,10 +3319,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3389,15 +3390,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3579,7 +3580,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3599,6 +3600,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3647,7 +3649,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3696,7 +3698,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3913,7 +3915,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3933,6 +3935,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4055,7 +4058,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_hmp b/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_hmp index 36ced6543..2e6f44b77 100644 --- a/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_hmp +++ b/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_hmp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_lmp b/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_lmp index 8a0c1255d..d908d68ed 100644 --- a/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_lmp +++ b/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_lmp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_mp b/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_mp index 986d9ae04..b31d84d48 100644 --- a/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_mp +++ b/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_mp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2018/Marc_tools/run_damask_hmp b/installation/mods_MarcMentat/2018/Marc_tools/run_damask_hmp index 7cc0b7149..cfd8ab35f 100644 --- a/installation/mods_MarcMentat/2018/Marc_tools/run_damask_hmp +++ b/installation/mods_MarcMentat/2018/Marc_tools/run_damask_hmp @@ -63,7 +63,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -177,16 +177,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -203,7 +203,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -226,7 +226,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -246,7 +246,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -269,7 +269,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -333,7 +333,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -523,7 +523,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -543,7 +543,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -613,7 +613,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -624,7 +624,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -635,7 +635,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -651,7 +651,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -665,7 +665,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -676,7 +676,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -847,7 +847,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -898,7 +898,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -934,7 +934,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -943,7 +943,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1030,7 +1030,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1093,14 +1093,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1108,7 +1108,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $nauto -gt 2 then - error="$error + error="$error incorrect option for auto restart " fi fi @@ -1299,7 +1299,7 @@ incorrect option for auto restart " then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1307,7 +1307,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2039,42 +2039,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2327,7 +2327,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2360,7 +2360,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2474,9 +2474,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2560,7 +2560,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2569,7 +2569,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2729,7 +2729,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2859,7 +2859,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2870,7 +2870,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3267,6 +3267,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3309,7 +3310,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3318,10 +3319,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3389,15 +3390,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3579,7 +3580,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3599,6 +3600,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3647,7 +3649,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3696,7 +3698,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3913,7 +3915,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3933,6 +3935,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4055,7 +4058,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2018/Marc_tools/run_damask_lmp b/installation/mods_MarcMentat/2018/Marc_tools/run_damask_lmp index 1945e08c2..599e8c523 100644 --- a/installation/mods_MarcMentat/2018/Marc_tools/run_damask_lmp +++ b/installation/mods_MarcMentat/2018/Marc_tools/run_damask_lmp @@ -63,7 +63,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -177,16 +177,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -203,7 +203,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -226,7 +226,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -246,7 +246,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -269,7 +269,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -333,7 +333,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -523,7 +523,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -543,7 +543,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -613,7 +613,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -624,7 +624,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -635,7 +635,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -651,7 +651,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -665,7 +665,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -676,7 +676,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -847,7 +847,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -898,7 +898,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -934,7 +934,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -943,7 +943,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1030,7 +1030,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1093,14 +1093,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1108,7 +1108,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $nauto -gt 2 then - error="$error + error="$error incorrect option for auto restart " fi fi @@ -1299,7 +1299,7 @@ incorrect option for auto restart " then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1307,7 +1307,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2039,42 +2039,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2327,7 +2327,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2360,7 +2360,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2474,9 +2474,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2560,7 +2560,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2569,7 +2569,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2729,7 +2729,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2859,7 +2859,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2870,7 +2870,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3267,6 +3267,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3309,7 +3310,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3318,10 +3319,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3389,15 +3390,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3579,7 +3580,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3599,6 +3600,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3647,7 +3649,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3696,7 +3698,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3913,7 +3915,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3933,6 +3935,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4055,7 +4058,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2018/Marc_tools/run_damask_mp b/installation/mods_MarcMentat/2018/Marc_tools/run_damask_mp index 3e99d3068..5261654e3 100644 --- a/installation/mods_MarcMentat/2018/Marc_tools/run_damask_mp +++ b/installation/mods_MarcMentat/2018/Marc_tools/run_damask_mp @@ -63,7 +63,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -177,16 +177,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -203,7 +203,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -226,7 +226,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -246,7 +246,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -269,7 +269,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -333,7 +333,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -523,7 +523,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -543,7 +543,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -613,7 +613,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -624,7 +624,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -635,7 +635,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -651,7 +651,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -665,7 +665,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -676,7 +676,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -847,7 +847,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -898,7 +898,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -934,7 +934,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -943,7 +943,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1030,7 +1030,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1093,14 +1093,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1108,7 +1108,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $nauto -gt 2 then - error="$error + error="$error incorrect option for auto restart " fi fi @@ -1299,7 +1299,7 @@ incorrect option for auto restart " then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1307,7 +1307,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2039,42 +2039,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2327,7 +2327,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2360,7 +2360,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2474,9 +2474,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2560,7 +2560,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2569,7 +2569,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2729,7 +2729,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2859,7 +2859,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2870,7 +2870,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3267,6 +3267,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3309,7 +3310,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3318,10 +3319,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3389,15 +3390,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3579,7 +3580,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3599,6 +3600,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3647,7 +3649,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3696,7 +3698,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3913,7 +3915,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3933,6 +3935,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4055,7 +4058,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_hmp b/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_hmp index 36ced6543..2e6f44b77 100644 --- a/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_hmp +++ b/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_hmp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_lmp b/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_lmp index 8a0c1255d..d908d68ed 100644 --- a/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_lmp +++ b/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_lmp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_mp b/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_mp index 986d9ae04..b31d84d48 100644 --- a/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_mp +++ b/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_mp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2019/Marc_tools/run_damask_hmp b/installation/mods_MarcMentat/2019/Marc_tools/run_damask_hmp index 2a35ecb37..4a9200e8b 100644 --- a/installation/mods_MarcMentat/2019/Marc_tools/run_damask_hmp +++ b/installation/mods_MarcMentat/2019/Marc_tools/run_damask_hmp @@ -62,7 +62,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -176,16 +176,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -202,7 +202,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -225,7 +225,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -245,7 +245,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -268,7 +268,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -332,7 +332,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -387,7 +387,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -497,7 +497,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -522,7 +522,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -542,7 +542,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -612,7 +612,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -623,7 +623,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -634,7 +634,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -650,7 +650,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -664,7 +664,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -675,7 +675,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -777,7 +777,7 @@ do ;; -au* | -AU*) nauto=$value - echo + echo echo warning: the option -au is no longer supported and will be ignored echo ;; @@ -849,7 +849,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -900,7 +900,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -936,7 +936,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -945,7 +945,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -1000,24 +1000,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1032,7 +1032,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1061,7 +1061,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1095,14 +1095,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1110,7 +1110,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1224,11 +1224,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1293,7 +1293,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1301,7 +1301,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1309,7 +1309,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1626,7 +1626,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1644,7 +1644,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1767,7 +1767,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1809,7 +1809,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1959,7 +1959,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2017,42 +2017,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2305,7 +2305,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2338,7 +2338,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2452,9 +2452,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2538,7 +2538,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2547,7 +2547,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2707,7 +2707,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2731,23 +2731,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2787,7 +2787,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2837,7 +2837,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2848,7 +2848,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2953,7 +2953,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3241,6 +3241,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3283,7 +3284,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3292,10 +3293,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3363,15 +3364,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3553,7 +3554,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3573,6 +3574,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3621,7 +3623,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3670,7 +3672,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3887,7 +3889,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3907,6 +3909,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3946,7 +3949,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4029,7 +4032,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2019/Marc_tools/run_damask_lmp b/installation/mods_MarcMentat/2019/Marc_tools/run_damask_lmp index 32f115dc6..ea6872059 100644 --- a/installation/mods_MarcMentat/2019/Marc_tools/run_damask_lmp +++ b/installation/mods_MarcMentat/2019/Marc_tools/run_damask_lmp @@ -62,7 +62,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -176,16 +176,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -202,7 +202,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -225,7 +225,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -245,7 +245,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -268,7 +268,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -332,7 +332,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -387,7 +387,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -497,7 +497,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -522,7 +522,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -542,7 +542,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -612,7 +612,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -623,7 +623,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -634,7 +634,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -650,7 +650,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -664,7 +664,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -675,7 +675,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -777,7 +777,7 @@ do ;; -au* | -AU*) nauto=$value - echo + echo echo warning: the option -au is no longer supported and will be ignored echo ;; @@ -849,7 +849,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -900,7 +900,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -936,7 +936,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -945,7 +945,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -1000,24 +1000,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1032,7 +1032,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1061,7 +1061,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1095,14 +1095,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1110,7 +1110,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1224,11 +1224,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1293,7 +1293,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1301,7 +1301,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1309,7 +1309,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1626,7 +1626,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1644,7 +1644,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1767,7 +1767,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1809,7 +1809,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1959,7 +1959,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2017,42 +2017,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2305,7 +2305,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2338,7 +2338,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2452,9 +2452,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2538,7 +2538,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2547,7 +2547,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2707,7 +2707,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2731,23 +2731,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2787,7 +2787,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2837,7 +2837,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2848,7 +2848,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2953,7 +2953,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3241,6 +3241,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3283,7 +3284,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3292,10 +3293,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3363,15 +3364,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3553,7 +3554,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3573,6 +3574,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3621,7 +3623,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3670,7 +3672,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3887,7 +3889,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3907,6 +3909,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3946,7 +3949,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4029,7 +4032,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2019/Marc_tools/run_damask_mp b/installation/mods_MarcMentat/2019/Marc_tools/run_damask_mp index 471a63eaf..8aa27505c 100644 --- a/installation/mods_MarcMentat/2019/Marc_tools/run_damask_mp +++ b/installation/mods_MarcMentat/2019/Marc_tools/run_damask_mp @@ -62,7 +62,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -176,16 +176,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -202,7 +202,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -225,7 +225,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -245,7 +245,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -268,7 +268,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -332,7 +332,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -387,7 +387,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -497,7 +497,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -522,7 +522,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -542,7 +542,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -612,7 +612,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -623,7 +623,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -634,7 +634,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -650,7 +650,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -664,7 +664,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -675,7 +675,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -777,7 +777,7 @@ do ;; -au* | -AU*) nauto=$value - echo + echo echo warning: the option -au is no longer supported and will be ignored echo ;; @@ -849,7 +849,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -900,7 +900,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -936,7 +936,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -945,7 +945,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -1000,24 +1000,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1032,7 +1032,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1061,7 +1061,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1095,14 +1095,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1110,7 +1110,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1224,11 +1224,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1293,7 +1293,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1301,7 +1301,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1309,7 +1309,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1626,7 +1626,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1644,7 +1644,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1767,7 +1767,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1809,7 +1809,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1959,7 +1959,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2017,42 +2017,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2305,7 +2305,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2338,7 +2338,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2452,9 +2452,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2538,7 +2538,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2547,7 +2547,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2707,7 +2707,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2731,23 +2731,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2787,7 +2787,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2837,7 +2837,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2848,7 +2848,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2953,7 +2953,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3241,6 +3241,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3283,7 +3284,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3292,10 +3293,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3363,15 +3364,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3553,7 +3554,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3573,6 +3574,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3621,7 +3623,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3670,7 +3672,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3887,7 +3889,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3907,6 +3909,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3946,7 +3949,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4029,7 +4032,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi From b5a10f23868f00a7fefc0914b4d97b9de49b5639 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 9 Jul 2020 01:01:08 +0200 Subject: [PATCH 356/958] sources and kinematics modules under submodules --- src/constitutive.f90 | 592 ++++++++++----------- src/constitutive_damage.f90 | 163 ++++++ src/constitutive_plastic.f90 | 274 ++++++++++ src/constitutive_plastic_disloUCLA.f90 | 2 +- src/constitutive_plastic_dislotwin.f90 | 2 +- src/constitutive_plastic_isotropic.f90 | 2 +- src/constitutive_plastic_kinehardening.f90 | 2 +- src/constitutive_plastic_none.f90 | 2 +- src/constitutive_plastic_nonlocal.f90 | 2 +- src/constitutive_plastic_phenopowerlaw.f90 | 2 +- src/constitutive_thermal.f90 | 112 ++++ src/damage_local.f90 | 40 +- src/damage_nonlocal.f90 | 41 +- src/kinematics_cleavage_opening.f90 | 20 +- src/kinematics_slipplane_opening.f90 | 20 +- src/kinematics_thermal_expansion.f90 | 57 +- src/source_damage_anisoBrittle.f90 | 29 +- src/source_damage_anisoDuctile.f90 | 33 +- src/source_damage_isoBrittle.f90 | 31 +- src/source_damage_isoDuctile.f90 | 31 +- src/source_thermal_dissipation.f90 | 19 +- src/source_thermal_externalheat.f90 | 21 +- src/thermal_adiabatic.f90 | 44 +- src/thermal_conduction.f90 | 43 +- 24 files changed, 937 insertions(+), 647 deletions(-) create mode 100644 src/constitutive_damage.f90 create mode 100644 src/constitutive_plastic.f90 create mode 100644 src/constitutive_thermal.f90 diff --git a/src/constitutive.f90 b/src/constitutive.f90 index d920c481f..5f509b0ba 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -16,15 +16,6 @@ module constitutive use lattice use discretization use geometry_plastic_nonlocal - use source_thermal_dissipation - use source_thermal_externalheat - use source_damage_isoBrittle - use source_damage_isoDuctile - use source_damage_anisoBrittle - use source_damage_anisoDuctile - use kinematics_cleavage_opening - use kinematics_slipplane_opening - use kinematics_thermal_expansion implicit none private @@ -35,114 +26,31 @@ module constitutive interface - module subroutine plastic_none_init - end subroutine plastic_none_init + module subroutine plastic_init + end subroutine plastic_init - module subroutine plastic_isotropic_init - end subroutine plastic_isotropic_init + module subroutine damage_init + end subroutine damage_init - module subroutine plastic_phenopowerlaw_init - end subroutine plastic_phenopowerlaw_init + module subroutine thermal_init + end subroutine thermal_init - module subroutine plastic_kinehardening_init - end subroutine plastic_kinehardening_init +! module pure function kinematics_thermal_expansion_initialStrain(homog,phase,offset) +! +! integer, intent(in) :: & +! phase, & +! homog, & +! offset +! end function kinematics_thermal_expansion_initialStrain - module subroutine plastic_dislotwin_init - end subroutine plastic_dislotwin_init - - module subroutine plastic_disloUCLA_init - end subroutine plastic_disloUCLA_init - - module subroutine plastic_nonlocal_init - end subroutine plastic_nonlocal_init - - - module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) - real(pReal), dimension(3,3), intent(out) :: & - Lp !< plastic velocity gradient - real(pReal), dimension(3,3,3,3), intent(out) :: & - dLp_dMp !< derivative of Lp with respect to the Mandel stress - - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - integer, intent(in) :: & - instance, & - of - end subroutine plastic_isotropic_LpAndItsTangent - - pure module subroutine plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) - real(pReal), dimension(3,3), intent(out) :: & - Lp !< plastic velocity gradient - real(pReal), dimension(3,3,3,3), intent(out) :: & - dLp_dMp !< derivative of Lp with respect to the Mandel stress - - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - integer, intent(in) :: & - instance, & - of - end subroutine plastic_phenopowerlaw_LpAndItsTangent - - pure module subroutine plastic_kinehardening_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) - real(pReal), dimension(3,3), intent(out) :: & - Lp !< plastic velocity gradient - real(pReal), dimension(3,3,3,3), intent(out) :: & - dLp_dMp !< derivative of Lp with respect to the Mandel stress - - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - integer, intent(in) :: & - instance, & - of - end subroutine plastic_kinehardening_LpAndItsTangent - - module subroutine plastic_dislotwin_LpAndItsTangent(Lp,dLp_dMp,Mp,T,instance,of) - real(pReal), dimension(3,3), intent(out) :: & - Lp !< plastic velocity gradient - real(pReal), dimension(3,3,3,3), intent(out) :: & - dLp_dMp !< derivative of Lp with respect to the Mandel stress - - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - real(pReal), intent(in) :: & - T - integer, intent(in) :: & - instance, & - of - end subroutine plastic_dislotwin_LpAndItsTangent - - pure module subroutine plastic_disloUCLA_LpAndItsTangent(Lp,dLp_dMp,Mp,T,instance,of) - real(pReal), dimension(3,3), intent(out) :: & - Lp !< plastic velocity gradient - real(pReal), dimension(3,3,3,3), intent(out) :: & - dLp_dMp !< derivative of Lp with respect to the Mandel stress - - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - real(pReal), intent(in) :: & - T - integer, intent(in) :: & - instance, & - of - end subroutine plastic_disloUCLA_LpAndItsTangent - - module subroutine plastic_nonlocal_LpAndItsTangent(Lp,dLp_dMp, & - Mp,Temperature,instance,of,ip,el) - real(pReal), dimension(3,3), intent(out) :: & - Lp !< plastic velocity gradient - real(pReal), dimension(3,3,3,3), intent(out) :: & - dLp_dMp !< derivative of Lp with respect to the Mandel stress - - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - real(pReal), intent(in) :: & - Temperature - integer, intent(in) :: & - instance, & - of, & - ip, & !< current integration point - el !< current element number - end subroutine plastic_nonlocal_LpAndItsTangent + module function plastic_dislotwin_homogenizedC(ipc,ip,el) result(homogenizedC) + real(pReal), dimension(6,6) :: & + homogenizedC + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + end function plastic_dislotwin_homogenizedC module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) @@ -158,6 +66,45 @@ module constitutive of end subroutine plastic_isotropic_LiAndItsTangent + module subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< grain number + ip, & !< integration point number + el !< element number + real(pReal), intent(in), dimension(3,3) :: & + S + real(pReal), intent(out), dimension(3,3) :: & + Ld !< damage velocity gradient + real(pReal), intent(out), dimension(3,3,3,3) :: & + dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor) + end subroutine kinematics_cleavage_opening_LiAndItsTangent + + module subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< grain number + ip, & !< integration point number + el !< element number + real(pReal), intent(in), dimension(3,3) :: & + S + real(pReal), intent(out), dimension(3,3) :: & + Ld !< damage velocity gradient + real(pReal), intent(out), dimension(3,3,3,3) :: & + dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor) + end subroutine kinematics_slipplane_opening_LiAndItsTangent + + module subroutine kinematics_thermal_expansion_LiAndItsTangent(Li, dLi_dTstar, ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< grain number + ip, & !< integration point number + el !< element number + real(pReal), intent(out), dimension(3,3) :: & + Li !< thermal velocity gradient + real(pReal), intent(out), dimension(3,3,3,3) :: & + dLi_dTstar !< derivative of Li with respect to Tstar (4th-order tensor defined to be zero) + end subroutine kinematics_thermal_expansion_LiAndItsTangent module subroutine plastic_isotropic_dotState(Mp,instance,of) real(pReal), dimension(3,3), intent(in) :: & @@ -220,31 +167,39 @@ module constitutive el !< current element number end subroutine plastic_nonlocal_dotState + + module subroutine source_damage_anisoBrittle_dotState(S, ipc, ip, el) - module subroutine plastic_dislotwin_dependentState(T,instance,of) - integer, intent(in) :: & - instance, & - of - real(pReal), intent(in) :: & - T - end subroutine plastic_dislotwin_dependentState - - module subroutine plastic_disloUCLA_dependentState(instance,of) - integer, intent(in) :: & - instance, & - of - end subroutine plastic_disloUCLA_dependentState - - module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) - real(pReal), dimension(3,3), intent(in) :: & - F, & - Fp integer, intent(in) :: & - instance, & - of, & - ip, & - el - end subroutine plastic_nonlocal_dependentState + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + S + end subroutine source_damage_anisoBrittle_dotState + + module subroutine source_damage_anisoDuctile_dotState(ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + end subroutine source_damage_anisoDuctile_dotState + + module subroutine source_damage_isoDuctile_dotState(ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + end subroutine source_damage_isoDuctile_dotState + + module subroutine source_thermal_externalheat_dotState(phase, of) + + integer, intent(in) :: & + phase, & + of + end subroutine source_thermal_externalheat_dotState module subroutine plastic_kinehardening_deltaState(Mp,instance,of) @@ -265,24 +220,17 @@ module constitutive el end subroutine plastic_nonlocal_deltaState - - module function plastic_dislotwin_homogenizedC(ipc,ip,el) result(homogenizedC) - real(pReal), dimension(6,6) :: & - homogenizedC - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - end function plastic_dislotwin_homogenizedC - - module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e) + module subroutine source_damage_isoBrittle_deltaState(C, Fe, ipc, ip, el) integer, intent(in) :: & - instance, & - i, & - e - type(rotation), dimension(1,discretization_nIP,discretization_nElem), intent(in) :: & - orientation !< crystal orientation - end subroutine plastic_nonlocal_updateCompatibility + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + Fe + real(pReal), intent(in), dimension(6,6) :: & + C + end subroutine source_damage_isoBrittle_deltaState + module subroutine plastic_isotropic_results(instance,group) @@ -315,6 +263,88 @@ module constitutive character(len=*), intent(in) :: group end subroutine plastic_nonlocal_results + module subroutine source_damage_anisoBrittle_results(phase,group) + integer, intent(in) :: phase + character(len=*), intent(in) :: group + end subroutine source_damage_anisoBrittle_results + + module subroutine source_damage_anisoDuctile_results(phase,group) + integer, intent(in) :: phase + character(len=*), intent(in) :: group + end subroutine source_damage_anisoDuctile_results + + module subroutine source_damage_isoBrittle_results(phase,group) + integer, intent(in) :: phase + character(len=*), intent(in) :: group + end subroutine source_damage_isoBrittle_results + + module subroutine source_damage_isoDuctile_results(phase,group) + integer, intent(in) :: phase + character(len=*), intent(in) :: group + end subroutine source_damage_isoDuctile_results + + module subroutine plastic_dependentState(F, Fp, ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + F, & !< elastic deformation gradient + Fp !< plastic deformation gradient + end subroutine plastic_dependentState + + module subroutine plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & + S, Fi, ipc, ip, el) + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + S, & !< 2nd Piola-Kirchhoff stress + Fi !< intermediate deformation gradient + real(pReal), intent(out), dimension(3,3) :: & + Lp !< plastic velocity gradient + real(pReal), intent(out), dimension(3,3,3,3) :: & + dLp_dS, & + dLp_dFi !< derivative of Lp with respect to Fi + + end subroutine plastic_LpAndItsTangents + + module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e) + integer, intent(in) :: & + instance, & + i, & + e + type(rotation), dimension(1,discretization_nIP,discretization_nElem), intent(in) :: & + orientation !< crystal orientation + end subroutine plastic_nonlocal_updateCompatibility + + module subroutine damage_source_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) + integer, intent(in) :: & + ip, & !< integration point number + el !< element number + real(pReal), intent(in) :: & + phi + real(pReal), intent(inout) :: & + phiDot, & + dPhiDot_dPhi + end subroutine damage_source_getRateAndItsTangents + + module subroutine thermal_source_getRateAndItsTangents(TDot, dTDot_dT, T, Tstar, Lp, ip, el) + integer, intent(in) :: & + ip, & !< integration point number + el !< element number + real(pReal), intent(in) :: & + T + real(pReal), intent(in), dimension(:,:,:,:,:) :: & + Tstar, & + Lp + real(pReal), intent(inout) :: & + TDot, & + dTDot_dT + end subroutine thermal_source_getRateAndItsTangents + end interface @@ -332,16 +362,18 @@ module constitutive type(tDebugOptions) :: debugConstitutive public :: & - plastic_nonlocal_updateCompatibility, & constitutive_init, & constitutive_homogenizedC, & - constitutive_dependentState, & constitutive_LpAndItsTangents, & + constitutive_dependentState, & constitutive_LiAndItsTangents, & constitutive_initialFi, & constitutive_SandItsTangents, & constitutive_collectDotState, & constitutive_deltaState, & + plastic_nonlocal_updateCompatibility, & + constitutive_damage_getRateAndItsTangents, & + constitutive_thermal_getRateAndItsTangents, & constitutive_results contains @@ -368,31 +400,9 @@ subroutine constitutive_init !-------------------------------------------------------------------------------------------------- ! initialized plasticity - if (any(phase_plasticity == PLASTICITY_NONE_ID)) call plastic_none_init - if (any(phase_plasticity == PLASTICITY_ISOTROPIC_ID)) call plastic_isotropic_init - if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init - if (any(phase_plasticity == PLASTICITY_KINEHARDENING_ID)) call plastic_kinehardening_init - if (any(phase_plasticity == PLASTICITY_DISLOTWIN_ID)) call plastic_dislotwin_init - if (any(phase_plasticity == PLASTICITY_DISLOUCLA_ID)) call plastic_disloucla_init - if (any(phase_plasticity == PLASTICITY_NONLOCAL_ID)) then - call plastic_nonlocal_init - else - call geometry_plastic_nonlocal_disable - endif -!-------------------------------------------------------------------------------------------------- -! initialize source mechanisms - if (any(phase_source == SOURCE_thermal_dissipation_ID)) call source_thermal_dissipation_init - if (any(phase_source == SOURCE_thermal_externalheat_ID)) call source_thermal_externalheat_init - if (any(phase_source == SOURCE_damage_isoBrittle_ID)) call source_damage_isoBrittle_init - if (any(phase_source == SOURCE_damage_isoDuctile_ID)) call source_damage_isoDuctile_init - if (any(phase_source == SOURCE_damage_anisoBrittle_ID)) call source_damage_anisoBrittle_init - if (any(phase_source == SOURCE_damage_anisoDuctile_ID)) call source_damage_anisoDuctile_init - -!-------------------------------------------------------------------------------------------------- -! initialize kinematic mechanisms - if (any(phase_kinematics == KINEMATICS_cleavage_opening_ID)) call kinematics_cleavage_opening_init - if (any(phase_kinematics == KINEMATICS_slipplane_opening_ID)) call kinematics_slipplane_opening_init - if (any(phase_kinematics == KINEMATICS_thermal_expansion_ID)) call kinematics_thermal_expansion_init + call plastic_init + call damage_init + call thermal_init write(6,'(/,a)') ' <<<+- constitutive init -+>>>'; flush(6) @@ -416,6 +426,43 @@ subroutine constitutive_init end subroutine constitutive_init +subroutine constitutive_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & + S, Fi, ipc, ip, el) + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + S, & !< 2nd Piola-Kirchhoff stress + Fi !< intermediate deformation gradient + real(pReal), intent(out), dimension(3,3) :: & + Lp !< plastic velocity gradient + real(pReal), intent(out), dimension(3,3,3,3) :: & + dLp_dS, & + dLp_dFi !< derivative of Lp with respect to Fi + + call plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, S, Fi, ipc, ip, el) + +end subroutine constitutive_LpAndItsTangents + +!-------------------------------------------------------------------------------------------------- +!> @brief calls microstructure function of the different constitutive models +!-------------------------------------------------------------------------------------------------- +subroutine constitutive_dependentState(F, Fp, ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + F, & !< elastic deformation gradient + Fp !< plastic deformation gradient + + call plastic_dependentState(F,Fp,ipc,ip,el) + +end subroutine constitutive_dependentState + + !-------------------------------------------------------------------------------------------------- !> @brief returns the homogenize elasticity matrix !> ToDo: homogenizedC66 would be more consistent @@ -438,111 +485,6 @@ function constitutive_homogenizedC(ipc,ip,el) end function constitutive_homogenizedC -!-------------------------------------------------------------------------------------------------- -!> @brief calls microstructure function of the different constitutive models -!-------------------------------------------------------------------------------------------------- -subroutine constitutive_dependentState(F, Fp, ipc, ip, el) - - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - real(pReal), intent(in), dimension(3,3) :: & - F, & !< elastic deformation gradient - Fp !< plastic deformation gradient - integer :: & - ho, & !< homogenization - tme, & !< thermal member position - instance, of - - ho = material_homogenizationAt(el) - tme = thermalMapping(ho)%p(ip,el) - of = material_phasememberAt(ipc,ip,el) - instance = phase_plasticityInstance(material_phaseAt(ipc,el)) - - plasticityType: select case (phase_plasticity(material_phaseAt(ipc,el))) - case (PLASTICITY_DISLOTWIN_ID) plasticityType - call plastic_dislotwin_dependentState(temperature(ho)%p(tme),instance,of) - case (PLASTICITY_DISLOUCLA_ID) plasticityType - call plastic_disloUCLA_dependentState(instance,of) - case (PLASTICITY_NONLOCAL_ID) plasticityType - call plastic_nonlocal_dependentState (F,Fp,instance,of,ip,el) - end select plasticityType - -end subroutine constitutive_dependentState - - -!-------------------------------------------------------------------------------------------------- -!> @brief contains the constitutive equation for calculating the velocity gradient -! ToDo: Discuss whether it makes sense if crystallite handles the configuration conversion, i.e. -! Mp in, dLp_dMp out -!-------------------------------------------------------------------------------------------------- -subroutine constitutive_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & - S, Fi, ipc, ip, el) - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - real(pReal), intent(in), dimension(3,3) :: & - S, & !< 2nd Piola-Kirchhoff stress - Fi !< intermediate deformation gradient - real(pReal), intent(out), dimension(3,3) :: & - Lp !< plastic velocity gradient - real(pReal), intent(out), dimension(3,3,3,3) :: & - dLp_dS, & - dLp_dFi !< derivative of Lp with respect to Fi - real(pReal), dimension(3,3,3,3) :: & - dLp_dMp !< derivative of Lp with respect to Mandel stress - real(pReal), dimension(3,3) :: & - Mp !< Mandel stress work conjugate with Lp - integer :: & - ho, & !< homogenization - tme !< thermal member position - integer :: & - i, j, instance, of - - ho = material_homogenizationAt(el) - tme = thermalMapping(ho)%p(ip,el) - - Mp = matmul(matmul(transpose(Fi),Fi),S) - of = material_phasememberAt(ipc,ip,el) - instance = phase_plasticityInstance(material_phaseAt(ipc,el)) - - plasticityType: select case (phase_plasticity(material_phaseAt(ipc,el))) - - case (PLASTICITY_NONE_ID) plasticityType - Lp = 0.0_pReal - dLp_dMp = 0.0_pReal - - case (PLASTICITY_ISOTROPIC_ID) plasticityType - call plastic_isotropic_LpAndItsTangent (Lp,dLp_dMp,Mp,instance,of) - - case (PLASTICITY_PHENOPOWERLAW_ID) plasticityType - call plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) - - case (PLASTICITY_KINEHARDENING_ID) plasticityType - call plastic_kinehardening_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) - - case (PLASTICITY_NONLOCAL_ID) plasticityType - call plastic_nonlocal_LpAndItsTangent (Lp,dLp_dMp,Mp, temperature(ho)%p(tme),instance,of,ip,el) - - case (PLASTICITY_DISLOTWIN_ID) plasticityType - call plastic_dislotwin_LpAndItsTangent (Lp,dLp_dMp,Mp,temperature(ho)%p(tme),instance,of) - - case (PLASTICITY_DISLOUCLA_ID) plasticityType - call plastic_disloucla_LpAndItsTangent (Lp,dLp_dMp,Mp,temperature(ho)%p(tme),instance,of) - - end select plasticityType - - do i=1,3; do j=1,3 - dLp_dFi(i,j,1:3,1:3) = matmul(matmul(Fi,S),transpose(dLp_dMp(i,j,1:3,1:3))) + & - matmul(matmul(Fi,dLp_dMp(i,j,1:3,1:3)),S) - dLp_dS(i,j,1:3,1:3) = matmul(matmul(transpose(Fi),Fi),dLp_dMp(i,j,1:3,1:3)) ! ToDo: @PS: why not: dLp_dMp:(FiT Fi) - enddo; enddo - -end subroutine constitutive_LpAndItsTangents - - !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the velocity gradient ! ToDo: MD: S is Mi? @@ -649,7 +591,7 @@ pure function constitutive_initialFi(ipc, ip, el) homog = material_homogenizationAt(el) offset = thermalMapping(homog)%p(ip,el) constitutive_initialFi = & - constitutive_initialFi + kinematics_thermal_expansion_initialStrain(homog,phase,offset) + constitutive_initialFi !+ kinematics_thermal_expansion_initialStrain(homog,phase,offset) end select kinematicsType enddo KinematicsLoop @@ -890,43 +832,97 @@ function constitutive_deltaState(S, Fe, Fi, ipc, ip, el, phase, of) result(broke end function constitutive_deltaState +subroutine constitutive_thermal_getRateAndItsTangents(Tdot, dTDot_dT, T, Tstar, Lp, ip, el) + + integer, intent(in) :: & + ip, & !< integration point number + el !< element number + real(pReal), intent(in) :: & + T + real(pReal), intent(in), dimension(:,:,:,:,:) :: & + Tstar, & + Lp + real(pReal), intent(inout) :: & + Tdot, & + dTdot_dT + + call thermal_source_getRateAndItsTangents(Tdot, dTdot_dT, T, Tstar, Lp, ip, el) + +end subroutine constitutive_thermal_getRateAndItsTangents + +subroutine constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) + + integer, intent(in) :: & + ip, & !< integration point number + el !< element number + real(pReal), intent(in) :: & + phi + real(pReal), intent(inout) :: & + phiDot, & + dPhiDot_dPhi + + call damage_source_getRateAndItsTangents(phiDot,dPhiDot_dPhi,phi,ip,el) + +end subroutine constitutive_damage_getRateAndItsTangents + !-------------------------------------------------------------------------------------------------- !> @brief writes constitutive results to HDF5 output file !-------------------------------------------------------------------------------------------------- subroutine constitutive_results - integer :: p - character(len=pStringLen) :: group - do p=1,size(config_name_phase) + integer :: p,i + character(len=pStringLen) :: group,group_plastic,group_sources + + plasticityLoop: do p=1,size(config_name_phase) group = trim('current/constituent')//'/'//trim(config_name_phase(p)) call results_closeGroup(results_addGroup(group)) - group = trim(group)//'/plastic' + group_plastic = trim(group)//'/plastic' - call results_closeGroup(results_addGroup(group)) + call results_closeGroup(results_addGroup(group_plastic)) select case(phase_plasticity(p)) case(PLASTICITY_ISOTROPIC_ID) - call plastic_isotropic_results(phase_plasticityInstance(p),group) + call plastic_isotropic_results(phase_plasticityInstance(p),group_plastic) case(PLASTICITY_PHENOPOWERLAW_ID) - call plastic_phenopowerlaw_results(phase_plasticityInstance(p),group) + call plastic_phenopowerlaw_results(phase_plasticityInstance(p),group_plastic) case(PLASTICITY_KINEHARDENING_ID) - call plastic_kinehardening_results(phase_plasticityInstance(p),group) + call plastic_kinehardening_results(phase_plasticityInstance(p),group_plastic) case(PLASTICITY_DISLOTWIN_ID) - call plastic_dislotwin_results(phase_plasticityInstance(p),group) + call plastic_dislotwin_results(phase_plasticityInstance(p),group_plastic) case(PLASTICITY_DISLOUCLA_ID) - call plastic_disloUCLA_results(phase_plasticityInstance(p),group) + call plastic_disloUCLA_results(phase_plasticityInstance(p),group_plastic) case(PLASTICITY_NONLOCAL_ID) - call plastic_nonlocal_results(phase_plasticityInstance(p),group) + call plastic_nonlocal_results(phase_plasticityInstance(p),group_plastic) end select - enddo + sourceLoop: do i = 1, phase_Nsources(p) + group_sources = trim(group)//'/sources' + + call results_closeGroup(results_addGroup(group_sources)) + + sourceType: select case (phase_source(i,p)) + + case (SOURCE_damage_anisoBrittle_ID) sourceType + call source_damage_anisoBrittle_results(p,group_sources) + case (SOURCE_damage_anisoDuctile_ID) sourceType + call source_damage_anisoDuctile_results(p,group_sources) + case (SOURCE_damage_isoBrittle_ID) sourceType + call source_damage_isoBrittle_results(p,group_sources) + case (SOURCE_damage_isoDuctile_ID) sourceType + call source_damage_isoDuctile_results(p,group_sources) + end select sourceType + + enddo SourceLoop + + enddo plasticityLoop + end subroutine constitutive_results diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 new file mode 100644 index 000000000..cb81c252d --- /dev/null +++ b/src/constitutive_damage.f90 @@ -0,0 +1,163 @@ +submodule(constitutive) constitutive_damage + + implicit none + + interface + + module subroutine source_damage_anisoBrittle_init + end subroutine source_damage_anisoBrittle_init + + module subroutine source_damage_anisoDuctile_init + end subroutine source_damage_anisoDuctile_init + + module subroutine source_damage_isoBrittle_init + end subroutine source_damage_isoBrittle_init + + module subroutine source_damage_isoDuctile_init + end subroutine source_damage_isoDuctile_init + + module subroutine kinematics_cleavage_opening_init + end subroutine kinematics_cleavage_opening_init + + module subroutine kinematics_slipplane_opening_init + end subroutine kinematics_slipplane_opening_init + + module subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) + + integer, intent(in) :: & + phase, & + constituent + real(pReal), intent(in) :: & + phi + real(pReal), intent(out) :: & + localphiDot, & + dLocalphiDot_dPhi + + end subroutine source_damage_anisoBrittle_getRateAndItsTangent + + module subroutine source_damage_anisoDuctile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) + + integer, intent(in) :: & + phase, & + constituent + real(pReal), intent(in) :: & + phi + real(pReal), intent(out) :: & + localphiDot, & + dLocalphiDot_dPhi + + end subroutine source_damage_anisoDuctile_getRateAndItsTangent + + module subroutine source_damage_isoBrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) + + integer, intent(in) :: & + phase, & + constituent + real(pReal), intent(in) :: & + phi + real(pReal), intent(out) :: & + localphiDot, & + dLocalphiDot_dPhi + + end subroutine source_damage_isoBrittle_getRateAndItsTangent + + module subroutine source_damage_isoDuctile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) + + integer, intent(in) :: & + phase, & + constituent + real(pReal), intent(in) :: & + phi + real(pReal), intent(out) :: & + localphiDot, & + dLocalphiDot_dPhi + + end subroutine source_damage_isoDuctile_getRateAndItsTangent + + module subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDot_dT, Tstar, Lp, phase) + + integer, intent(in) :: & + phase + real(pReal), intent(in), dimension(3,3) :: & + Tstar + real(pReal), intent(in), dimension(3,3) :: & + Lp + + real(pReal), intent(out) :: & + TDot, & + dTDot_dT + + end subroutine source_thermal_dissipation_getRateAndItsTangent + end interface + +contains + +module subroutine damage_init + +! initialize source mechanisms + if (any(phase_source == SOURCE_damage_isoBrittle_ID)) call source_damage_isoBrittle_init + if (any(phase_source == SOURCE_damage_isoDuctile_ID)) call source_damage_isoDuctile_init + if (any(phase_source == SOURCE_damage_anisoBrittle_ID)) call source_damage_anisoBrittle_init + if (any(phase_source == SOURCE_damage_anisoDuctile_ID)) call source_damage_anisoDuctile_init + +!-------------------------------------------------------------------------------------------------- +! initialize kinematic mechanisms + if (any(phase_kinematics == KINEMATICS_cleavage_opening_ID)) call kinematics_cleavage_opening_init + if (any(phase_kinematics == KINEMATICS_slipplane_opening_ID)) call kinematics_slipplane_opening_init + +end subroutine damage_init + + +module subroutine damage_source_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) + + integer, intent(in) :: & + ip, & !< integration point number + el !< element number + real(pReal), intent(in) :: & + phi + real(pReal), intent(inout) :: & + phiDot, & + dPhiDot_dPhi + + real(pReal) :: & + localphiDot, & + dLocalphiDot_dPhi + integer :: & + phase, & + grain, & + source, & + constituent + + phiDot = 0.0_pReal + dPhiDot_dPhi = 0.0_pReal + + do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) + phase = material_phaseAt(grain,el) + constituent = material_phasememberAt(grain,ip,el) + do source = 1, phase_Nsources(phase) + select case(phase_source(source,phase)) + case (SOURCE_damage_isoBrittle_ID) + call source_damage_isobrittle_getRateAndItsTangent (localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) + + case (SOURCE_damage_isoDuctile_ID) + call source_damage_isoductile_getRateAndItsTangent (localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) + + case (SOURCE_damage_anisoBrittle_ID) + call source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) + + case (SOURCE_damage_anisoDuctile_ID) + call source_damage_anisoductile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) + + case default + localphiDot = 0.0_pReal + dLocalphiDot_dPhi = 0.0_pReal + + end select + phiDot = phiDot + localphiDot + dPhiDot_dPhi = dPhiDot_dPhi + dLocalphiDot_dPhi + enddo + enddo + +end subroutine damage_source_getRateAndItsTangents + +end submodule diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 new file mode 100644 index 000000000..d4d0f19a2 --- /dev/null +++ b/src/constitutive_plastic.f90 @@ -0,0 +1,274 @@ +submodule(constitutive) constitutive_plastic + + implicit none + + interface + + module subroutine plastic_none_init + end subroutine plastic_none_init + + module subroutine plastic_isotropic_init + end subroutine plastic_isotropic_init + + module subroutine plastic_phenopowerlaw_init + end subroutine plastic_phenopowerlaw_init + + module subroutine plastic_kinehardening_init + end subroutine plastic_kinehardening_init + + module subroutine plastic_dislotwin_init + end subroutine plastic_dislotwin_init + + module subroutine plastic_disloUCLA_init + end subroutine plastic_disloUCLA_init + + module subroutine plastic_nonlocal_init + end subroutine plastic_nonlocal_init + + + module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) + real(pReal), dimension(3,3), intent(out) :: & + Lp !< plastic velocity gradient + real(pReal), dimension(3,3,3,3), intent(out) :: & + dLp_dMp !< derivative of Lp with respect to the Mandel stress + + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + integer, intent(in) :: & + instance, & + of + end subroutine plastic_isotropic_LpAndItsTangent + + pure module subroutine plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) + real(pReal), dimension(3,3), intent(out) :: & + Lp !< plastic velocity gradient + real(pReal), dimension(3,3,3,3), intent(out) :: & + dLp_dMp !< derivative of Lp with respect to the Mandel stress + + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + integer, intent(in) :: & + instance, & + of + end subroutine plastic_phenopowerlaw_LpAndItsTangent + + pure module subroutine plastic_kinehardening_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) + real(pReal), dimension(3,3), intent(out) :: & + Lp !< plastic velocity gradient + real(pReal), dimension(3,3,3,3), intent(out) :: & + dLp_dMp !< derivative of Lp with respect to the Mandel stress + + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + integer, intent(in) :: & + instance, & + of + end subroutine plastic_kinehardening_LpAndItsTangent + + module subroutine plastic_dislotwin_LpAndItsTangent(Lp,dLp_dMp,Mp,T,instance,of) + real(pReal), dimension(3,3), intent(out) :: & + Lp !< plastic velocity gradient + real(pReal), dimension(3,3,3,3), intent(out) :: & + dLp_dMp !< derivative of Lp with respect to the Mandel stress + + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + real(pReal), intent(in) :: & + T + integer, intent(in) :: & + instance, & + of + end subroutine plastic_dislotwin_LpAndItsTangent + + pure module subroutine plastic_disloUCLA_LpAndItsTangent(Lp,dLp_dMp,Mp,T,instance,of) + real(pReal), dimension(3,3), intent(out) :: & + Lp !< plastic velocity gradient + real(pReal), dimension(3,3,3,3), intent(out) :: & + dLp_dMp !< derivative of Lp with respect to the Mandel stress + + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + real(pReal), intent(in) :: & + T + integer, intent(in) :: & + instance, & + of + end subroutine plastic_disloUCLA_LpAndItsTangent + + module subroutine plastic_nonlocal_LpAndItsTangent(Lp,dLp_dMp, & + Mp,Temperature,instance,of,ip,el) + real(pReal), dimension(3,3), intent(out) :: & + Lp !< plastic velocity gradient + real(pReal), dimension(3,3,3,3), intent(out) :: & + dLp_dMp !< derivative of Lp with respect to the Mandel stress + + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + real(pReal), intent(in) :: & + Temperature + integer, intent(in) :: & + instance, & + of, & + ip, & !< current integration point + el !< current element number + end subroutine plastic_nonlocal_LpAndItsTangent + + + module subroutine plastic_dislotwin_dependentState(T,instance,of) + integer, intent(in) :: & + instance, & + of + real(pReal), intent(in) :: & + T + end subroutine plastic_dislotwin_dependentState + + module subroutine plastic_disloUCLA_dependentState(instance,of) + integer, intent(in) :: & + instance, & + of + end subroutine plastic_disloUCLA_dependentState + + module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) + real(pReal), dimension(3,3), intent(in) :: & + F, & + Fp + integer, intent(in) :: & + instance, & + of, & + ip, & + el + end subroutine plastic_nonlocal_dependentState + + end interface + + +contains + + +!-------------------------------------------------------------------------------------------------- +!> @brief allocates arrays pointing to array of the various constitutive modules +!-------------------------------------------------------------------------------------------------- +module subroutine plastic_init + +!-------------------------------------------------------------------------------------------------- +! initialized plasticity + if (any(phase_plasticity == PLASTICITY_NONE_ID)) call plastic_none_init + if (any(phase_plasticity == PLASTICITY_ISOTROPIC_ID)) call plastic_isotropic_init + if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init + if (any(phase_plasticity == PLASTICITY_KINEHARDENING_ID)) call plastic_kinehardening_init + if (any(phase_plasticity == PLASTICITY_DISLOTWIN_ID)) call plastic_dislotwin_init + if (any(phase_plasticity == PLASTICITY_DISLOUCLA_ID)) call plastic_disloucla_init + if (any(phase_plasticity == PLASTICITY_NONLOCAL_ID)) then + call plastic_nonlocal_init + else + call geometry_plastic_nonlocal_disable + endif + +end subroutine plastic_init + + +!-------------------------------------------------------------------------------------------------- +!> @brief calls microstructure function of the different constitutive models +!-------------------------------------------------------------------------------------------------- +module subroutine plastic_dependentState(F, Fp, ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + F, & !< elastic deformation gradient + Fp !< plastic deformation gradient + integer :: & + ho, & !< homogenization + tme, & !< thermal member position + instance, of + + ho = material_homogenizationAt(el) + tme = thermalMapping(ho)%p(ip,el) + of = material_phasememberAt(ipc,ip,el) + instance = phase_plasticityInstance(material_phaseAt(ipc,el)) + + plasticityType: select case (phase_plasticity(material_phaseAt(ipc,el))) + case (PLASTICITY_DISLOTWIN_ID) plasticityType + call plastic_dislotwin_dependentState(temperature(ho)%p(tme),instance,of) + case (PLASTICITY_DISLOUCLA_ID) plasticityType + call plastic_disloUCLA_dependentState(instance,of) + case (PLASTICITY_NONLOCAL_ID) plasticityType + call plastic_nonlocal_dependentState (F,Fp,instance,of,ip,el) + end select plasticityType + +end subroutine plastic_dependentState + +!-------------------------------------------------------------------------------------------------- +!> @brief contains the constitutive equation for calculating the velocity gradient +! ToDo: Discuss whether it makes sense if crystallite handles the configuration conversion, i.e. +! Mp in, dLp_dMp out +!-------------------------------------------------------------------------------------------------- +module subroutine plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & + S, Fi, ipc, ip, el) + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + S, & !< 2nd Piola-Kirchhoff stress + Fi !< intermediate deformation gradient + real(pReal), intent(out), dimension(3,3) :: & + Lp !< plastic velocity gradient + real(pReal), intent(out), dimension(3,3,3,3) :: & + dLp_dS, & + dLp_dFi !< derivative of Lp with respect to Fi + real(pReal), dimension(3,3,3,3) :: & + dLp_dMp !< derivative of Lp with respect to Mandel stress + real(pReal), dimension(3,3) :: & + Mp !< Mandel stress work conjugate with Lp + integer :: & + ho, & !< homogenization + tme !< thermal member position + integer :: & + i, j, instance, of + + ho = material_homogenizationAt(el) + tme = thermalMapping(ho)%p(ip,el) + + Mp = matmul(matmul(transpose(Fi),Fi),S) + of = material_phasememberAt(ipc,ip,el) + instance = phase_plasticityInstance(material_phaseAt(ipc,el)) + + plasticityType: select case (phase_plasticity(material_phaseAt(ipc,el))) + + case (PLASTICITY_NONE_ID) plasticityType + Lp = 0.0_pReal + dLp_dMp = 0.0_pReal + + case (PLASTICITY_ISOTROPIC_ID) plasticityType + call plastic_isotropic_LpAndItsTangent (Lp,dLp_dMp,Mp,instance,of) + + case (PLASTICITY_PHENOPOWERLAW_ID) plasticityType + call plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) + + case (PLASTICITY_KINEHARDENING_ID) plasticityType + call plastic_kinehardening_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) + + case (PLASTICITY_NONLOCAL_ID) plasticityType + call plastic_nonlocal_LpAndItsTangent (Lp,dLp_dMp,Mp, temperature(ho)%p(tme),instance,of,ip,el) + + case (PLASTICITY_DISLOTWIN_ID) plasticityType + call plastic_dislotwin_LpAndItsTangent (Lp,dLp_dMp,Mp,temperature(ho)%p(tme),instance,of) + + case (PLASTICITY_DISLOUCLA_ID) plasticityType + call plastic_disloucla_LpAndItsTangent (Lp,dLp_dMp,Mp,temperature(ho)%p(tme),instance,of) + + end select plasticityType + + do i=1,3; do j=1,3 + dLp_dFi(i,j,1:3,1:3) = matmul(matmul(Fi,S),transpose(dLp_dMp(i,j,1:3,1:3))) + & + matmul(matmul(Fi,dLp_dMp(i,j,1:3,1:3)),S) + dLp_dS(i,j,1:3,1:3) = matmul(matmul(transpose(Fi),Fi),dLp_dMp(i,j,1:3,1:3)) ! ToDo: @PS: why not: dLp_dMp:(FiT Fi) + enddo; enddo + +end subroutine plastic_LpAndItsTangents + +end submodule constitutive_plastic + diff --git a/src/constitutive_plastic_disloUCLA.f90 b/src/constitutive_plastic_disloUCLA.f90 index 8c94817b9..71f8f4a27 100644 --- a/src/constitutive_plastic_disloUCLA.f90 +++ b/src/constitutive_plastic_disloUCLA.f90 @@ -5,7 +5,7 @@ !> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH !> @brief crystal plasticity model for bcc metals, especially Tungsten !-------------------------------------------------------------------------------------------------- -submodule(constitutive) plastic_disloUCLA +submodule(constitutive:constitutive_plastic) plastic_disloUCLA real(pReal), parameter :: & kB = 1.38e-23_pReal !< Boltzmann constant in J/Kelvin diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index 09294ecd9..004238817 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -7,7 +7,7 @@ !> @brief material subroutine incoprorating dislocation and twinning physics !> @details to be done !-------------------------------------------------------------------------------------------------- -submodule(constitutive) plastic_dislotwin +submodule(constitutive:constitutive_plastic) plastic_dislotwin real(pReal), parameter :: & kB = 1.38e-23_pReal !< Boltzmann constant in J/Kelvin diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index 60f40fe37..3484b6f64 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -7,7 +7,7 @@ !! resolving the stress on the slip systems. Will give the response of phenopowerlaw for an !! untextured polycrystal !-------------------------------------------------------------------------------------------------- -submodule(constitutive) plastic_isotropic +submodule(constitutive:constitutive_plastic) plastic_isotropic type :: tParameters real(pReal) :: & diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index d3e84cfe2..163b5794a 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -5,7 +5,7 @@ !> @brief Phenomenological crystal plasticity using a power law formulation for the shear rates !! and a Voce-type kinematic hardening rule !-------------------------------------------------------------------------------------------------- -submodule(constitutive) plastic_kinehardening +submodule(constitutive:constitutive_plastic) plastic_kinehardening type :: tParameters real(pReal) :: & diff --git a/src/constitutive_plastic_none.f90 b/src/constitutive_plastic_none.f90 index da3ee9796..4e6033499 100644 --- a/src/constitutive_plastic_none.f90 +++ b/src/constitutive_plastic_none.f90 @@ -4,7 +4,7 @@ !> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH !> @brief Dummy plasticity for purely elastic material !-------------------------------------------------------------------------------------------------- -submodule(constitutive) plastic_none +submodule(constitutive:constitutive_plastic) plastic_none contains diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index ea55024b9..53b173db3 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -4,7 +4,7 @@ !> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH !> @brief material subroutine for plasticity including dislocation flux !-------------------------------------------------------------------------------------------------- -submodule(constitutive) plastic_nonlocal +submodule(constitutive:constitutive_plastic) plastic_nonlocal use geometry_plastic_nonlocal, only: & nIPneighbors => geometry_plastic_nonlocal_nIPneighbors, & IPneighborhood => geometry_plastic_nonlocal_IPneighborhood, & diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index 53e55b319..3f6ade8d2 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -4,7 +4,7 @@ !> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH !> @brief phenomenological crystal plasticity formulation using a powerlaw fitting !-------------------------------------------------------------------------------------------------- -submodule(constitutive) plastic_phenopowerlaw +submodule(constitutive:constitutive_plastic) plastic_phenopowerlaw type :: tParameters real(pReal) :: & diff --git a/src/constitutive_thermal.f90 b/src/constitutive_thermal.f90 new file mode 100644 index 000000000..f1cd12d7f --- /dev/null +++ b/src/constitutive_thermal.f90 @@ -0,0 +1,112 @@ +submodule(constitutive) constitutive_thermal + + implicit none + + interface + + module subroutine source_thermal_dissipation_init + end subroutine source_thermal_dissipation_init + + module subroutine source_thermal_externalheat_init + end subroutine source_thermal_externalheat_init + + module subroutine kinematics_thermal_expansion_init + end subroutine kinematics_thermal_expansion_init + + module subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDot_dT, Tstar, Lp, phase) + + integer, intent(in) :: & + phase + real(pReal), intent(in), dimension(3,3) :: & + Tstar + real(pReal), intent(in), dimension(3,3) :: & + Lp + + real(pReal), intent(out) :: & + TDot, & + dTDot_dT + + end subroutine source_thermal_dissipation_getRateAndItsTangent + + module subroutine source_thermal_externalheat_getRateAndItsTangent(TDot, dTDot_dT, phase, of) + + integer, intent(in) :: & + phase, & + of + real(pReal), intent(out) :: & + TDot, & + dTDot_dT + + end subroutine source_thermal_externalheat_getRateAndItsTangent + + end interface +contains + +module subroutine thermal_init + +! initialize source mechanisms + if (any(phase_source == SOURCE_thermal_dissipation_ID)) call source_thermal_dissipation_init + if (any(phase_source == SOURCE_thermal_externalheat_ID)) call source_thermal_externalheat_init + +!-------------------------------------------------------------------------------------------------- +!initialize kinematic mechanisms + if (any(phase_kinematics == KINEMATICS_thermal_expansion_ID)) call kinematics_thermal_expansion_init + +end subroutine thermal_init + + +module subroutine thermal_source_getRateAndItsTangents(Tdot, dTdot_dT, T, Tstar, Lp, ip, el) + + integer, intent(in) :: & + ip, & !< integration point number + el !< element number + real(pReal), intent(in) :: & + T + real(pReal), intent(in), dimension(:,:,:,:,:) :: & + Tstar, & + Lp + real(pReal), intent(inout) :: & + Tdot, & + dTdot_dT + + real(pReal) :: & + my_Tdot, & + my_dTdot_dT + integer :: & + phase, & + homog, & + instance, & + grain, & + source, & + constituent + + homog = material_homogenizationAt(el) + instance = thermal_typeInstance(homog) + + do grain = 1, homogenization_Ngrains(homog) + phase = material_phaseAt(grain,el) + constituent = material_phasememberAt(grain,ip,el) + do source = 1, phase_Nsources(phase) + select case(phase_source(source,phase)) + case (SOURCE_thermal_dissipation_ID) + call source_thermal_dissipation_getRateAndItsTangent(my_Tdot, my_dTdot_dT, & + Tstar(1:3,1:3,grain,ip,el), & + Lp(1:3,1:3,grain,ip,el), & + phase) + + case (SOURCE_thermal_externalheat_ID) + call source_thermal_externalheat_getRateAndItsTangent(my_Tdot, my_dTdot_dT, & + phase, constituent) + + case default + my_Tdot = 0.0_pReal + my_dTdot_dT = 0.0_pReal + end select + Tdot = Tdot + my_Tdot + dTdot_dT = dTdot_dT + my_dTdot_dT + enddo + enddo + +end subroutine thermal_source_getRateAndItsTangents + +end submodule diff --git a/src/damage_local.f90 b/src/damage_local.f90 index 85701acee..66b50064b 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -9,10 +9,7 @@ module damage_local use config use numerics use YAML_types - use source_damage_isoBrittle - use source_damage_isoDuctile - use source_damage_anisoBrittle - use source_damage_anisoDuctile + use constitutive use results implicit none @@ -128,42 +125,13 @@ subroutine damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el el !< element number real(pReal), intent(in) :: & phi - integer :: & - phase, & - grain, & - source, & - constituent real(pReal) :: & - phiDot, dPhiDot_dPhi, localphiDot, dLocalphiDot_dPhi + phiDot, dPhiDot_dPhi phiDot = 0.0_pReal dPhiDot_dPhi = 0.0_pReal - do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) - phase = material_phaseAt(grain,el) - constituent = material_phasememberAt(grain,ip,el) - do source = 1, phase_Nsources(phase) - select case(phase_source(source,phase)) - case (SOURCE_damage_isoBrittle_ID) - call source_damage_isobrittle_getRateAndItsTangent (localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) - - case (SOURCE_damage_isoDuctile_ID) - call source_damage_isoductile_getRateAndItsTangent (localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) - - case (SOURCE_damage_anisoBrittle_ID) - call source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) - - case (SOURCE_damage_anisoDuctile_ID) - call source_damage_anisoductile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) - - case default - localphiDot = 0.0_pReal - dLocalphiDot_dPhi = 0.0_pReal - - end select - phiDot = phiDot + localphiDot - dPhiDot_dPhi = dPhiDot_dPhi + dLocalphiDot_dPhi - enddo - enddo + + call constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) phiDot = phiDot/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) diff --git a/src/damage_nonlocal.f90 b/src/damage_nonlocal.f90 index d3c3c07a2..914133de7 100644 --- a/src/damage_nonlocal.f90 +++ b/src/damage_nonlocal.f90 @@ -10,10 +10,7 @@ module damage_nonlocal use YAML_types use crystallite use lattice - use source_damage_isoBrittle - use source_damage_isoDuctile - use source_damage_anisoBrittle - use source_damage_anisoDuctile + use constitutive use results implicit none @@ -97,43 +94,13 @@ subroutine damage_nonlocal_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el !< element number real(pReal), intent(in) :: & phi - integer :: & - phase, & - grain, & - source, & - constituent real(pReal) :: & - phiDot, dPhiDot_dPhi, localphiDot, dLocalphiDot_dPhi + phiDot, dPhiDot_dPhi phiDot = 0.0_pReal dPhiDot_dPhi = 0.0_pReal - do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) - phase = material_phaseAt(grain,el) - constituent = material_phasememberAt(grain,ip,el) - do source = 1, phase_Nsources(phase) - select case(phase_source(source,phase)) - case (SOURCE_damage_isoBrittle_ID) - call source_damage_isobrittle_getRateAndItsTangent (localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) - - case (SOURCE_damage_isoDuctile_ID) - call source_damage_isoductile_getRateAndItsTangent (localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) - - case (SOURCE_damage_anisoBrittle_ID) - call source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) - - case (SOURCE_damage_anisoDuctile_ID) - call source_damage_anisoductile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) - - case default - localphiDot = 0.0_pReal - dLocalphiDot_dPhi = 0.0_pReal - - end select - phiDot = phiDot + localphiDot - dPhiDot_dPhi = dPhiDot_dPhi + dLocalphiDot_dPhi - enddo - enddo - + + call constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) phiDot = phiDot/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) diff --git a/src/kinematics_cleavage_opening.f90 b/src/kinematics_cleavage_opening.f90 index e35f37e0e..2e314024c 100644 --- a/src/kinematics_cleavage_opening.f90 +++ b/src/kinematics_cleavage_opening.f90 @@ -4,16 +4,7 @@ !> @brief material subroutine incorporating kinematics resulting from opening of cleavage planes !> @details to be done !-------------------------------------------------------------------------------------------------- -module kinematics_cleavage_opening - use prec - use IO - use config - use math - use lattice - use material - - implicit none - private +submodule(constitutive:constitutive_damage) kinematics_cleavage_opening integer, dimension(:), allocatable :: kinematics_cleavage_opening_instance @@ -31,9 +22,6 @@ module kinematics_cleavage_opening type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) - public :: & - kinematics_cleavage_opening_init, & - kinematics_cleavage_opening_LiAndItsTangent contains @@ -42,7 +30,7 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine kinematics_cleavage_opening_init +module subroutine kinematics_cleavage_opening_init integer :: Ninstance,p integer, dimension(:), allocatable :: N_cl !< active number of cleavage systems per family @@ -95,7 +83,7 @@ end subroutine kinematics_cleavage_opening_init !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the velocity gradient !-------------------------------------------------------------------------------------------------- -subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ipc, ip, el) +module subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ipc, ip, el) integer, intent(in) :: & ipc, & !< grain number @@ -158,4 +146,4 @@ subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ipc, i end subroutine kinematics_cleavage_opening_LiAndItsTangent -end module kinematics_cleavage_opening +end submodule kinematics_cleavage_opening diff --git a/src/kinematics_slipplane_opening.f90 b/src/kinematics_slipplane_opening.f90 index 847dc6c72..b15d206d3 100644 --- a/src/kinematics_slipplane_opening.f90 +++ b/src/kinematics_slipplane_opening.f90 @@ -4,16 +4,7 @@ !> @brief material subroutine incorporating kinematics resulting from opening of slip planes !> @details to be done !-------------------------------------------------------------------------------------------------- -module kinematics_slipplane_opening - use prec - use config - use IO - use math - use lattice - use material - - implicit none - private +submodule(constitutive:constitutive_damage) kinematics_slipplane_opening integer, dimension(:), allocatable :: kinematics_slipplane_opening_instance @@ -33,9 +24,6 @@ module kinematics_slipplane_opening type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) - public :: & - kinematics_slipplane_opening_init, & - kinematics_slipplane_opening_LiAndItsTangent contains @@ -44,7 +32,7 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine kinematics_slipplane_opening_init +module subroutine kinematics_slipplane_opening_init integer :: Ninstance,p,i character(len=pStringLen) :: extmsg = '' @@ -107,7 +95,7 @@ end subroutine kinematics_slipplane_opening_init !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the velocity gradient !-------------------------------------------------------------------------------------------------- -subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ipc, ip, el) +module subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ipc, ip, el) integer, intent(in) :: & ipc, & !< grain number @@ -183,4 +171,4 @@ subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ipc, end subroutine kinematics_slipplane_opening_LiAndItsTangent -end module kinematics_slipplane_opening +end submodule kinematics_slipplane_opening diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index 63da6eb51..00871e94f 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -3,16 +3,7 @@ !> @brief material subroutine incorporating kinematics resulting from thermal expansion !> @details to be done !-------------------------------------------------------------------------------------------------- -module kinematics_thermal_expansion - use prec - use IO - use config - use math - use lattice - use material - - implicit none - private +submodule(constitutive:constitutive_thermal) kinematics_thermal_expansion integer, dimension(:), allocatable :: kinematics_thermal_expansion_instance @@ -25,10 +16,6 @@ module kinematics_thermal_expansion type(tParameters), dimension(:), allocatable :: param - public :: & - kinematics_thermal_expansion_init, & - kinematics_thermal_expansion_initialStrain, & - kinematics_thermal_expansion_LiAndItsTangent contains @@ -37,7 +24,7 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine kinematics_thermal_expansion_init +module subroutine kinematics_thermal_expansion_init integer :: Ninstance,p,i real(pReal), dimension(:), allocatable :: temp @@ -79,30 +66,30 @@ end subroutine kinematics_thermal_expansion_init !-------------------------------------------------------------------------------------------------- !> @brief report initial thermal strain based on current temperature deviation from reference !-------------------------------------------------------------------------------------------------- -pure function kinematics_thermal_expansion_initialStrain(homog,phase,offset) - - integer, intent(in) :: & - phase, & - homog, & - offset - - real(pReal), dimension(3,3) :: & - kinematics_thermal_expansion_initialStrain !< initial thermal strain (should be small strain, though) - - associate(prm => param(kinematics_thermal_expansion_instance(phase))) - kinematics_thermal_expansion_initialStrain = & - (temperature(homog)%p(offset) - prm%T_ref)**1 / 1. * prm%expansion(1:3,1:3,1) + & ! constant coefficient - (temperature(homog)%p(offset) - prm%T_ref)**2 / 2. * prm%expansion(1:3,1:3,2) + & ! linear coefficient - (temperature(homog)%p(offset) - prm%T_ref)**3 / 3. * prm%expansion(1:3,1:3,3) ! quadratic coefficient - end associate - -end function kinematics_thermal_expansion_initialStrain +!pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) +! +! integer, intent(in) :: & +! phase, & +! homog, & +! offset +! +! real(pReal), dimension(3,3) :: & +! kinematics_thermal_expansion_initialStrain !< initial thermal strain (should be small strain, though) +! +! associate(prm => param(kinematics_thermal_expansion_instance(phase))) +! kinematics_thermal_expansion_initialStrain = & +! (temperature(homog)%p(offset) - prm%T_ref)**1 / 1. * prm%expansion(1:3,1:3,1) + & ! constant coefficient +! (temperature(homog)%p(offset) - prm%T_ref)**2 / 2. * prm%expansion(1:3,1:3,2) + & ! linear coefficient +! (temperature(homog)%p(offset) - prm%T_ref)**3 / 3. * prm%expansion(1:3,1:3,3) ! quadratic coefficient +! end associate +! +!end function kinematics_thermal_expansion_initialStrain !-------------------------------------------------------------------------------------------------- !> @brief constitutive equation for calculating the velocity gradient !-------------------------------------------------------------------------------------------------- -subroutine kinematics_thermal_expansion_LiAndItsTangent(Li, dLi_dTstar, ipc, ip, el) +module subroutine kinematics_thermal_expansion_LiAndItsTangent(Li, dLi_dTstar, ipc, ip, el) integer, intent(in) :: & ipc, & !< grain number @@ -140,4 +127,4 @@ subroutine kinematics_thermal_expansion_LiAndItsTangent(Li, dLi_dTstar, ipc, ip, end subroutine kinematics_thermal_expansion_LiAndItsTangent -end module kinematics_thermal_expansion +end submodule kinematics_thermal_expansion diff --git a/src/source_damage_anisoBrittle.f90 b/src/source_damage_anisoBrittle.f90 index c5ff1f906..20cf3a914 100644 --- a/src/source_damage_anisoBrittle.f90 +++ b/src/source_damage_anisoBrittle.f90 @@ -4,18 +4,7 @@ !> @brief material subroutine incorporating anisotropic brittle damage source mechanism !> @details to be done !-------------------------------------------------------------------------------------------------- -module source_damage_anisoBrittle - use prec - use IO - use math - use discretization - use material - use config - use lattice - use results - - implicit none - private +submodule (constitutive:constitutive_damage) source_damage_anisoBrittle integer, dimension(:), allocatable :: & source_damage_anisoBrittle_offset, & !< which source is my current source mechanism? @@ -39,12 +28,6 @@ module source_damage_anisoBrittle type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) - public :: & - source_damage_anisoBrittle_init, & - source_damage_anisoBrittle_dotState, & - source_damage_anisobrittle_getRateAndItsTangent, & - source_damage_anisoBrittle_results - contains @@ -52,7 +35,7 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_damage_anisoBrittle_init +module subroutine source_damage_anisoBrittle_init integer :: Ninstance,sourceOffset,NipcMyPhase,p integer, dimension(:), allocatable :: N_cl @@ -123,7 +106,7 @@ end subroutine source_damage_anisoBrittle_init !-------------------------------------------------------------------------------------------------- !> @brief calculates derived quantities from state !-------------------------------------------------------------------------------------------------- -subroutine source_damage_anisoBrittle_dotState(S, ipc, ip, el) +module subroutine source_damage_anisoBrittle_dotState(S, ipc, ip, el) integer, intent(in) :: & ipc, & !< component-ID of integration point @@ -172,7 +155,7 @@ end subroutine source_damage_anisoBrittle_dotState !-------------------------------------------------------------------------------------------------- !> @brief returns local part of nonlocal damage driving force !-------------------------------------------------------------------------------------------------- -subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) +module subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) integer, intent(in) :: & phase, & @@ -199,7 +182,7 @@ end subroutine source_damage_anisoBrittle_getRateAndItsTangent !-------------------------------------------------------------------------------------------------- !> @brief writes results to HDF5 output file !-------------------------------------------------------------------------------------------------- -subroutine source_damage_anisoBrittle_results(phase,group) +module subroutine source_damage_anisoBrittle_results(phase,group) integer, intent(in) :: phase character(len=*), intent(in) :: group @@ -218,4 +201,4 @@ subroutine source_damage_anisoBrittle_results(phase,group) end subroutine source_damage_anisoBrittle_results -end module source_damage_anisoBrittle +end submodule source_damage_anisoBrittle diff --git a/src/source_damage_anisoDuctile.f90 b/src/source_damage_anisoDuctile.f90 index e8a76dc3a..3722f8b1c 100644 --- a/src/source_damage_anisoDuctile.f90 +++ b/src/source_damage_anisoDuctile.f90 @@ -4,23 +4,13 @@ !> @brief material subroutine incorporating anisotropic ductile damage source mechanism !> @details to be done !-------------------------------------------------------------------------------------------------- -module source_damage_anisoDuctile - use prec - use IO - use math - use discretization - use material - use config - use results - - implicit none - private +submodule(constitutive:constitutive_damage) source_damage_anisoDuctile integer, dimension(:), allocatable :: & source_damage_anisoDuctile_offset, & !< which source is my current damage mechanism? source_damage_anisoDuctile_instance !< instance of damage source mechanism - type, private :: tParameters !< container type for internal constitutive parameters + type :: tParameters !< container type for internal constitutive parameters real(pReal) :: & n real(pReal), dimension(:), allocatable :: & @@ -29,14 +19,7 @@ module source_damage_anisoDuctile output end type tParameters - type(tParameters), dimension(:), allocatable, private :: param !< containers of constitutive parameters (len Ninstance) - - - public :: & - source_damage_anisoDuctile_init, & - source_damage_anisoDuctile_dotState, & - source_damage_anisoDuctile_getRateAndItsTangent, & - source_damage_anisoDuctile_results + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) contains @@ -45,7 +28,7 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_damage_anisoDuctile_init +module subroutine source_damage_anisoDuctile_init integer :: Ninstance,sourceOffset,NipcMyPhase,p integer, dimension(:), allocatable :: N_sl @@ -105,7 +88,7 @@ end subroutine source_damage_anisoDuctile_init !-------------------------------------------------------------------------------------------------- !> @brief calculates derived quantities from state !-------------------------------------------------------------------------------------------------- -subroutine source_damage_anisoDuctile_dotState(ipc, ip, el) +module subroutine source_damage_anisoDuctile_dotState(ipc, ip, el) integer, intent(in) :: & ipc, & !< component-ID of integration point @@ -136,7 +119,7 @@ end subroutine source_damage_anisoDuctile_dotState !-------------------------------------------------------------------------------------------------- !> @brief returns local part of nonlocal damage driving force !-------------------------------------------------------------------------------------------------- -subroutine source_damage_anisoDuctile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) +module subroutine source_damage_anisoDuctile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) integer, intent(in) :: & phase, & @@ -163,7 +146,7 @@ end subroutine source_damage_anisoDuctile_getRateAndItsTangent !-------------------------------------------------------------------------------------------------- !> @brief writes results to HDF5 output file !-------------------------------------------------------------------------------------------------- -subroutine source_damage_anisoDuctile_results(phase,group) +module subroutine source_damage_anisoDuctile_results(phase,group) integer, intent(in) :: phase character(len=*), intent(in) :: group @@ -182,4 +165,4 @@ subroutine source_damage_anisoDuctile_results(phase,group) end subroutine source_damage_anisoDuctile_results -end module source_damage_anisoDuctile +end submodule source_damage_anisoDuctile diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index c4c4c72a4..00704fe26 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -4,23 +4,13 @@ !> @brief material subroutine incoprorating isotropic brittle damage source mechanism !> @details to be done !-------------------------------------------------------------------------------------------------- -module source_damage_isoBrittle - use prec - use IO - use math - use discretization - use material - use config - use results - - implicit none - private +submodule(constitutive:constitutive_damage) source_damage_isoBrittle integer, dimension(:), allocatable :: & source_damage_isoBrittle_offset, & source_damage_isoBrittle_instance - type, private :: tParameters !< container type for internal constitutive parameters + type :: tParameters !< container type for internal constitutive parameters real(pReal) :: & critStrainEnergy, & N @@ -30,13 +20,6 @@ module source_damage_isoBrittle type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) - - public :: & - source_damage_isoBrittle_init, & - source_damage_isoBrittle_deltaState, & - source_damage_isoBrittle_getRateAndItsTangent, & - source_damage_isoBrittle_results - contains @@ -44,7 +27,7 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_damage_isoBrittle_init +module subroutine source_damage_isoBrittle_init integer :: Ninstance,sourceOffset,NipcMyPhase,p character(len=pStringLen) :: extmsg = '' @@ -99,7 +82,7 @@ end subroutine source_damage_isoBrittle_init !-------------------------------------------------------------------------------------------------- !> @brief calculates derived quantities from state !-------------------------------------------------------------------------------------------------- -subroutine source_damage_isoBrittle_deltaState(C, Fe, ipc, ip, el) +module subroutine source_damage_isoBrittle_deltaState(C, Fe, ipc, ip, el) integer, intent(in) :: & ipc, & !< component-ID of integration point @@ -145,7 +128,7 @@ end subroutine source_damage_isoBrittle_deltaState !-------------------------------------------------------------------------------------------------- !> @brief returns local part of nonlocal damage driving force !-------------------------------------------------------------------------------------------------- -subroutine source_damage_isoBrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) +module subroutine source_damage_isoBrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) integer, intent(in) :: & phase, & @@ -174,7 +157,7 @@ end subroutine source_damage_isoBrittle_getRateAndItsTangent !-------------------------------------------------------------------------------------------------- !> @brief writes results to HDF5 output file !-------------------------------------------------------------------------------------------------- -subroutine source_damage_isoBrittle_results(phase,group) +module subroutine source_damage_isoBrittle_results(phase,group) integer, intent(in) :: phase character(len=*), intent(in) :: group @@ -193,4 +176,4 @@ subroutine source_damage_isoBrittle_results(phase,group) end subroutine source_damage_isoBrittle_results -end module source_damage_isoBrittle +end submodule source_damage_isoBrittle diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index cf392fdc4..517332316 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -4,22 +4,13 @@ !> @brief material subroutine incorporating isotropic ductile damage source mechanism !> @details to be done !-------------------------------------------------------------------------------------------------- -module source_damage_isoDuctile - use prec - use IO - use discretization - use material - use config - use results - - implicit none - private +submodule (constitutive:constitutive_damage) source_damage_isoDuctile integer, dimension(:), allocatable :: & source_damage_isoDuctile_offset, & !< which source is my current damage mechanism? source_damage_isoDuctile_instance !< instance of damage source mechanism - type, private :: tParameters !< container type for internal constitutive parameters + type:: tParameters !< container type for internal constitutive parameters real(pReal) :: & critPlasticStrain, & N @@ -27,15 +18,9 @@ module source_damage_isoDuctile output end type tParameters - type(tParameters), dimension(:), allocatable, private :: param !< containers of constitutive parameters (len Ninstance) + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) - public :: & - source_damage_isoDuctile_init, & - source_damage_isoDuctile_dotState, & - source_damage_isoDuctile_getRateAndItsTangent, & - source_damage_isoDuctile_Results - contains @@ -43,7 +28,7 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_damage_isoDuctile_init +module subroutine source_damage_isoDuctile_init integer :: Ninstance,sourceOffset,NipcMyPhase,p character(len=pStringLen) :: extmsg = '' @@ -98,7 +83,7 @@ end subroutine source_damage_isoDuctile_init !-------------------------------------------------------------------------------------------------- !> @brief calculates derived quantities from state !-------------------------------------------------------------------------------------------------- -subroutine source_damage_isoDuctile_dotState(ipc, ip, el) +module subroutine source_damage_isoDuctile_dotState(ipc, ip, el) integer, intent(in) :: & ipc, & !< component-ID of integration point @@ -129,7 +114,7 @@ end subroutine source_damage_isoDuctile_dotState !-------------------------------------------------------------------------------------------------- !> @brief returns local part of nonlocal damage driving force !-------------------------------------------------------------------------------------------------- -subroutine source_damage_isoDuctile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) +module subroutine source_damage_isoDuctile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) integer, intent(in) :: & phase, & @@ -156,7 +141,7 @@ end subroutine source_damage_isoDuctile_getRateAndItsTangent !-------------------------------------------------------------------------------------------------- !> @brief writes results to HDF5 output file !-------------------------------------------------------------------------------------------------- -subroutine source_damage_isoDuctile_results(phase,group) +module subroutine source_damage_isoDuctile_results(phase,group) integer, intent(in) :: phase character(len=*), intent(in) :: group @@ -175,4 +160,4 @@ subroutine source_damage_isoDuctile_results(phase,group) end subroutine source_damage_isoDuctile_results -end module source_damage_isoDuctile +end submodule source_damage_isoDuctile diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index 8fa5ae0c7..58a0c6b3c 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -4,14 +4,7 @@ !> @brief material subroutine for thermal source due to plastic dissipation !> @details to be done !-------------------------------------------------------------------------------------------------- -module source_thermal_dissipation - use prec - use discretization - use material - use config - - implicit none - private +submodule(constitutive:constitutive_thermal) source_thermal_dissipation integer, dimension(:), allocatable :: & source_thermal_dissipation_offset, & !< which source is my current thermal dissipation mechanism? @@ -25,10 +18,6 @@ module source_thermal_dissipation type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) - public :: & - source_thermal_dissipation_init, & - source_thermal_dissipation_getRateAndItsTangent - contains @@ -36,7 +25,7 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_thermal_dissipation_init +module subroutine source_thermal_dissipation_init integer :: Ninstance,sourceOffset,NipcMyPhase,p @@ -76,7 +65,7 @@ end subroutine source_thermal_dissipation_init !-------------------------------------------------------------------------------------------------- !> @brief Ninstances dissipation rate !-------------------------------------------------------------------------------------------------- -subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDot_dT, Tstar, Lp, phase) +module subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDot_dT, Tstar, Lp, phase) integer, intent(in) :: & phase @@ -96,4 +85,4 @@ subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDot_dT, Tstar end subroutine source_thermal_dissipation_getRateAndItsTangent -end module source_thermal_dissipation +end submodule source_thermal_dissipation diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index b83b29596..8ffc7a4fb 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -4,14 +4,8 @@ !> @author Philip Eisenlohr, Michigan State University !> @brief material subroutine for variable heat source !-------------------------------------------------------------------------------------------------- -module source_thermal_externalheat - use prec - use discretization - use material - use config +submodule(constitutive:constitutive_thermal) source_thermal_externalheat - implicit none - private integer, dimension(:), allocatable :: & source_thermal_externalheat_offset, & !< which source is my current thermal dissipation mechanism? @@ -28,11 +22,6 @@ module source_thermal_externalheat type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) - public :: & - source_thermal_externalheat_init, & - source_thermal_externalheat_dotState, & - source_thermal_externalheat_getRateAndItsTangent - contains @@ -40,7 +29,7 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -subroutine source_thermal_externalheat_init +module subroutine source_thermal_externalheat_init integer :: Ninstance,sourceOffset,NipcMyPhase,p @@ -84,7 +73,7 @@ end subroutine source_thermal_externalheat_init !> @brief rate of change of state !> @details state only contains current time to linearly interpolate given heat powers !-------------------------------------------------------------------------------------------------- -subroutine source_thermal_externalheat_dotState(phase, of) +module subroutine source_thermal_externalheat_dotState(phase, of) integer, intent(in) :: & phase, & @@ -103,7 +92,7 @@ end subroutine source_thermal_externalheat_dotState !-------------------------------------------------------------------------------------------------- !> @brief returns local heat generation rate !-------------------------------------------------------------------------------------------------- -subroutine source_thermal_externalheat_getRateAndItsTangent(TDot, dTDot_dT, phase, of) +module subroutine source_thermal_externalheat_getRateAndItsTangent(TDot, dTDot_dT, phase, of) integer, intent(in) :: & phase, & @@ -135,4 +124,4 @@ subroutine source_thermal_externalheat_getRateAndItsTangent(TDot, dTDot_dT, phas end subroutine source_thermal_externalheat_getRateAndItsTangent -end module source_thermal_externalheat +end submodule source_thermal_externalheat diff --git a/src/thermal_adiabatic.f90 b/src/thermal_adiabatic.f90 index a11e7b0a1..c52f0a3d0 100644 --- a/src/thermal_adiabatic.f90 +++ b/src/thermal_adiabatic.f90 @@ -8,8 +8,7 @@ module thermal_adiabatic use numerics use material use results - use source_thermal_dissipation - use source_thermal_externalheat + use constitutive use crystallite use lattice @@ -125,46 +124,15 @@ subroutine thermal_adiabatic_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el) T real(pReal), intent(out) :: & Tdot, dTdot_dT - - real(pReal) :: & - my_Tdot, my_dTdot_dT integer :: & - phase, & - homog, & - instance, & - grain, & - source, & - constituent - - homog = material_homogenizationAt(el) - instance = thermal_typeInstance(homog) - + homog + Tdot = 0.0_pReal dTdot_dT = 0.0_pReal - do grain = 1, homogenization_Ngrains(homog) - phase = material_phaseAt(grain,el) - constituent = material_phasememberAt(grain,ip,el) - do source = 1, phase_Nsources(phase) - select case(phase_source(source,phase)) - case (SOURCE_thermal_dissipation_ID) - call source_thermal_dissipation_getRateAndItsTangent(my_Tdot, my_dTdot_dT, & - crystallite_S(1:3,1:3,grain,ip,el), & - crystallite_Lp(1:3,1:3,grain,ip,el), & - phase) - case (SOURCE_thermal_externalheat_ID) - call source_thermal_externalheat_getRateAndItsTangent(my_Tdot, my_dTdot_dT, & - phase, constituent) - - case default - my_Tdot = 0.0_pReal - my_dTdot_dT = 0.0_pReal - end select - Tdot = Tdot + my_Tdot - dTdot_dT = dTdot_dT + my_dTdot_dT - enddo - enddo - + homog = material_homogenizationAt(el) + call constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S, crystallite_Lp, ip, el) + Tdot = Tdot/real(homogenization_Ngrains(homog),pReal) dTdot_dT = dTdot_dT/real(homogenization_Ngrains(homog),pReal) diff --git a/src/thermal_conduction.f90 b/src/thermal_conduction.f90 index 82eed4cc4..60766710d 100644 --- a/src/thermal_conduction.f90 +++ b/src/thermal_conduction.f90 @@ -9,8 +9,7 @@ module thermal_conduction use lattice use results use crystallite - use source_thermal_dissipation - use source_thermal_externalheat + use constitutive implicit none private @@ -84,46 +83,14 @@ subroutine thermal_conduction_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el) T real(pReal), intent(out) :: & Tdot, dTdot_dT - real(pReal) :: & - my_Tdot, my_dTdot_dT integer :: & - phase, & - homog, & - offset, & - instance, & - grain, & - source, & - constituent - - homog = material_homogenizationAt(el) - offset = material_homogenizationMemberAt(ip,el) - instance = thermal_typeInstance(homog) - + homog + Tdot = 0.0_pReal dTdot_dT = 0.0_pReal - do grain = 1, homogenization_Ngrains(homog) - phase = material_phaseAt(grain,el) - constituent = material_phasememberAt(grain,ip,el) - do source = 1, phase_Nsources(phase) - select case(phase_source(source,phase)) - case (SOURCE_thermal_dissipation_ID) - call source_thermal_dissipation_getRateAndItsTangent(my_Tdot, my_dTdot_dT, & - crystallite_S(1:3,1:3,grain,ip,el), & - crystallite_Lp(1:3,1:3,grain,ip,el), & - phase) - case (SOURCE_thermal_externalheat_ID) - call source_thermal_externalheat_getRateAndItsTangent(my_Tdot, my_dTdot_dT, & - phase, constituent) - case default - my_Tdot = 0.0_pReal - my_dTdot_dT = 0.0_pReal - - end select - Tdot = Tdot + my_Tdot - dTdot_dT = dTdot_dT + my_dTdot_dT - enddo - enddo + homog = material_homogenizationAt(el) + call constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S,crystallite_Lp ,ip, el) Tdot = Tdot/real(homogenization_Ngrains(homog),pReal) dTdot_dT = dTdot_dT/real(homogenization_Ngrains(homog),pReal) From bc1d73c03b5bdbd11f7a833eaddcda91e0aa2d50 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 9 Jul 2020 01:49:48 +0200 Subject: [PATCH 357/958] trying new structure for all constitutive modules --- src/commercialFEM_fileList.f90 | 19 ++++++++------- src/constitutive.f90 | 19 ++++++++------- src/kinematics_thermal_expansion.f90 | 36 ++++++++++++++-------------- 3 files changed, 40 insertions(+), 34 deletions(-) diff --git a/src/commercialFEM_fileList.f90 b/src/commercialFEM_fileList.f90 index 942363a9f..f02d7bc92 100644 --- a/src/commercialFEM_fileList.f90 +++ b/src/commercialFEM_fileList.f90 @@ -26,6 +26,17 @@ #endif #include "material.f90" #include "lattice.f90" +#include "constitutive.f90" +#include "constitutive_plastic.f90" +#include "constitutive_damage.f90" +#include "constitutive_thermal.f90" +#include "constitutive_plastic_none.f90" +#include "constitutive_plastic_isotropic.f90" +#include "constitutive_plastic_phenopowerlaw.f90" +#include "constitutive_plastic_kinehardening.f90" +#include "constitutive_plastic_dislotwin.f90" +#include "constitutive_plastic_disloUCLA.f90" +#include "constitutive_plastic_nonlocal.f90" #include "source_thermal_dissipation.f90" #include "source_thermal_externalheat.f90" #include "source_damage_isoBrittle.f90" @@ -35,14 +46,6 @@ #include "kinematics_cleavage_opening.f90" #include "kinematics_slipplane_opening.f90" #include "kinematics_thermal_expansion.f90" -#include "constitutive.f90" -#include "constitutive_plastic_none.f90" -#include "constitutive_plastic_isotropic.f90" -#include "constitutive_plastic_phenopowerlaw.f90" -#include "constitutive_plastic_kinehardening.f90" -#include "constitutive_plastic_dislotwin.f90" -#include "constitutive_plastic_disloUCLA.f90" -#include "constitutive_plastic_nonlocal.f90" #include "crystallite.f90" #include "thermal_isothermal.f90" #include "thermal_adiabatic.f90" diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 5f509b0ba..2af434df5 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -35,13 +35,16 @@ module constitutive module subroutine thermal_init end subroutine thermal_init -! module pure function kinematics_thermal_expansion_initialStrain(homog,phase,offset) -! -! integer, intent(in) :: & -! phase, & -! homog, & -! offset -! end function kinematics_thermal_expansion_initialStrain + pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain) + + integer, intent(in) :: & + phase, & + homog, & + offset + real(pReal), dimension(3,3) :: & + initialStrain + + end function kinematics_thermal_expansion_initialStrain module function plastic_dislotwin_homogenizedC(ipc,ip,el) result(homogenizedC) real(pReal), dimension(6,6) :: & @@ -591,7 +594,7 @@ pure function constitutive_initialFi(ipc, ip, el) homog = material_homogenizationAt(el) offset = thermalMapping(homog)%p(ip,el) constitutive_initialFi = & - constitutive_initialFi !+ kinematics_thermal_expansion_initialStrain(homog,phase,offset) + constitutive_initialFi + kinematics_thermal_expansion_initialStrain(homog,phase,offset) end select kinematicsType enddo KinematicsLoop diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index 00871e94f..8fc2dc704 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -66,24 +66,24 @@ end subroutine kinematics_thermal_expansion_init !-------------------------------------------------------------------------------------------------- !> @brief report initial thermal strain based on current temperature deviation from reference !-------------------------------------------------------------------------------------------------- -!pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) -! -! integer, intent(in) :: & -! phase, & -! homog, & -! offset -! -! real(pReal), dimension(3,3) :: & -! kinematics_thermal_expansion_initialStrain !< initial thermal strain (should be small strain, though) -! -! associate(prm => param(kinematics_thermal_expansion_instance(phase))) -! kinematics_thermal_expansion_initialStrain = & -! (temperature(homog)%p(offset) - prm%T_ref)**1 / 1. * prm%expansion(1:3,1:3,1) + & ! constant coefficient -! (temperature(homog)%p(offset) - prm%T_ref)**2 / 2. * prm%expansion(1:3,1:3,2) + & ! linear coefficient -! (temperature(homog)%p(offset) - prm%T_ref)**3 / 3. * prm%expansion(1:3,1:3,3) ! quadratic coefficient -! end associate -! -!end function kinematics_thermal_expansion_initialStrain +pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain) + + integer, intent(in) :: & + phase, & + homog, & + offset + + real(pReal), dimension(3,3) :: & + initialStrain !< initial thermal strain (should be small strain, though) + + associate(prm => param(kinematics_thermal_expansion_instance(phase))) + initialStrain = & + (temperature(homog)%p(offset) - prm%T_ref)**1 / 1. * prm%expansion(1:3,1:3,1) + & ! constant coefficient + (temperature(homog)%p(offset) - prm%T_ref)**2 / 2. * prm%expansion(1:3,1:3,2) + & ! linear coefficient + (temperature(homog)%p(offset) - prm%T_ref)**3 / 3. * prm%expansion(1:3,1:3,3) ! quadratic coefficient + end associate + +end function kinematics_thermal_expansion_initialStrain !-------------------------------------------------------------------------------------------------- From 76ae16035260eb15a9c93e982e9d2756cf587f14 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 9 Jul 2020 12:26:35 +0200 Subject: [PATCH 358/958] [skip ci] example numerics and debug yaml files added --- examples/ConfigFiles/debug.config | 24 -------- examples/ConfigFiles/debug.yaml | 20 +++++++ examples/ConfigFiles/numerics.config | 75 ----------------------- examples/ConfigFiles/numerics.yaml | 89 ++++++++++++++++++++++++++++ 4 files changed, 109 insertions(+), 99 deletions(-) delete mode 100644 examples/ConfigFiles/debug.config create mode 100644 examples/ConfigFiles/debug.yaml delete mode 100644 examples/ConfigFiles/numerics.config create mode 100644 examples/ConfigFiles/numerics.yaml diff --git a/examples/ConfigFiles/debug.config b/examples/ConfigFiles/debug.config deleted file mode 100644 index 4736c87e1..000000000 --- a/examples/ConfigFiles/debug.config +++ /dev/null @@ -1,24 +0,0 @@ -### debugging parameters ### - -# example: -# -------- -# mesh basic extensive # switches on the "basic" and "extensive" debugging in mesh-related functions/subroutines -# - -debug # debug.f90, possible values: basic, extensive -math # math.f90, possible value: basic -FEsolving # FEsolving.f90, possible value: basic -mesh # mesh.f90, possible value: basic, extensive -material # material.f90, possible values: basic, extensive -lattice # lattice.f90, possible value: basic -constitutive # constitutive_*.f90 possible values: basic, extensive, selective -crystallite # crystallite.f90 possible values: basic, extensive, selective -homogenization # homogenization_*.f90 possible values: basic, extensive, selective -CPFEM # CPFEM.f90 possible values: basic, extensive, selective -spectral # DAMASK_spectral.f90 possible values: basic, fft, restart, divergence, rotation, petsc -marc # MSC.MARC FEM solver possible values: basic -# -# Parameters for selective -element 1 # selected element for debugging (synonymous: "el", "e") -integrationpoint 1 # selected integration point for debugging (synonymous: "ip", "i") -grain 1 # selected grain at ip for debugging (synonymous: "gr", "g") diff --git a/examples/ConfigFiles/debug.yaml b/examples/ConfigFiles/debug.yaml new file mode 100644 index 000000000..49e863695 --- /dev/null +++ b/examples/ConfigFiles/debug.yaml @@ -0,0 +1,20 @@ +### debugging parameters ### +## case sensitive keys +# example: +# -------- +# mesh: [basic, extensive] # switches on the "basic" and "extensive" debugging in mesh-related functions/subroutines +# + +mesh: [basic,extensive] # mesh.f90, possible value: basic, extensive +material: [basic, extensive] # material.f90, possible values: basic, extensive +constitutive: [basic, extensive, selective] # constitutive_*.f90 possible values: basic, extensive, selective +crystallite: [basic, extensive, selective] # crystallite.f90 possible values: basic, extensive, selective +homogenization: [basic, extensive, selective] # homogenization_*.f90 possible values: basic, extensive, selective +cpfem: [basic, extensive, selective] # CPFEM.f90 possible values: basic, extensive, selective +grid: [basic, fft, restart, divergence, rotation, petsc] # DAMASK_spectral.f90 possible values: basic, fft, restart, divergence, rotation, petsc +marc: [basic] # MSC.MARC FEM solver possible values: basic +# +# Parameters for selective +element: 1 # selected element for debugging +integrationpoint: 1 # selected integration point for debugging +grain: 1 # selected grain at ip for debugging diff --git a/examples/ConfigFiles/numerics.config b/examples/ConfigFiles/numerics.config deleted file mode 100644 index ced4ec6f1..000000000 --- a/examples/ConfigFiles/numerics.config +++ /dev/null @@ -1,75 +0,0 @@ -### numerical parameters ### - -relevantStrain 1.0e-7 # strain increment considered significant (used by crystallite to determine whether strain inc is considered significant) -defgradTolerance 1.0e-7 # deviation of deformation gradient that is still allowed (used by CPFEM to determine outdated ffn1) -iJacoStiffness 1 # frequency of stiffness update -iJacoLpresiduum 1 # frequency of Jacobian update of residuum in Lp -pert_Fg 1.0e-7 # deformation gradient perturbation for grain tangent -pert_method 1 # perturbation method (1 = forward, 2 = backward or 3 = central) -integrator 1 # integration method (1 = Fixed Point Iteration, 2 = Euler, 3 = Adaptive Euler, 4 = classical 4th order Runge-Kutta, 5 = 5th order Runge-Kutta Cash-Karp) -integratorStiffness 1 # integration method used for stiffness (1 = Fixed Point Iteration, 2 = Euler, 3 = Adaptive Euler, 4 = classical 4th order Runge-Kutta, 5 = 5th order Runge-Kutta Cash-Karp) -unitlength 1 # physical length of one computational length unit -usepingpong 1 # use the ping pong (collect <-> calc) scheme - -## crystallite numerical parameters ## -nCryst 20 # crystallite loop limit (only for debugging info, loop limit is determined by "subStepMinCryst") -subStepMinCryst 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in crystallite -subStepSizeCryst 0.25 # size of substep when cutback introduced in crystallite (value between 0 and 1) -stepIncreaseCryst 1.5 # increase of next substep size when previous substep converged in crystallite (value higher than 1) -nState 10 # state loop limit -nStress 40 # stress loop limit -rTol_crystalliteState 1.0e-6 # relative tolerance in crystallite state loop (abs tol provided by constitutive law) -rTol_crystalliteStress 1.0e-6 # relative tolerance in crystallite stress loop (Lp residuum) -aTol_crystalliteStress 1.0e-8 # absolute tolerance in crystallite stress loop (Lp residuum!) -rTol_crystalliteTemperature 1.0e-6 # relative tolerance in crystallite state/temperature loop - -## homogenization numerical parameters ## -nHomog 20 # homogenization loop limit (only for debugging info, loop limit is determined by "subStepMinHomog") -subStepMinHomog 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in homogenization -subStepSizeHomog 0.25 # size of substep when cutback introduced in homogenization (value between 0 and 1) -stepIncreaseHomog 1.5 # increase of next substep size when previous substep converged in homogenization (value higher than 1) -nMPstate 10 # materialpoint state loop limit - -## RGC scheme numerical parameters ## -aTol_RGC 1.0e+4 # absolute tolerance of RGC residuum (in Pa) -rTol_RGC 1.0e-3 # relative ... -aMax_RGC 1.0e+10 # absolute upper-limit of RGC residuum (in Pa) -rMax_RGC 1.0e+2 # relative ... -perturbPenalty_RGC 1.0e-7 # perturbation for computing penalty tangent -maxRelaxation_RGC 1.0e+0 # threshold of maximum relaxation vector increment (if exceed this then cutback) - -relevantMismatch_RGC 1.0e-5 # minimum threshold of mismatch - -viscosityPower_RGC 1.0e+0 # power (sensitivity rate) of numerical viscosity in RGC scheme -viscosityModulus_RGC 0.0e+0 # stress modulus of RGC numerical viscosity (zero = without numerical viscosity) - # suggestion: larger than the aTol_RGC but still far below the expected flow stress of material -refRelaxationRate_RGC 1.0e-3 # reference rate of relaxation (about the same magnitude as straining rate, possibly a bit higher) - -maxVolDiscrepancy_RGC 1.0e-5 # maximum allowable relative volume discrepancy -volDiscrepancyMod_RGC 1.0e+12 -discrepancyPower_RGC 5.0 - -random_seed 0 # any integer larger than zero seeds the random generator, otherwise random seeding - -## spectral parameters ## -err_div_tolAbs 1.0e-3 # absolute tolerance for fulfillment of stress equilibrium -err_div_tolRel 5.0e-4 # relative tolerance for fulfillment of stress equilibrium -err_curl_tolAbs 1.0e-12 # absolute tolerance for fulfillment of strain compatibility -err_curl_tolRel 5.0e-4 # relative tolerance for fulfillment of strain compatibility -err_stress_tolAbs 1.0e3 # absolute tolerance for fulfillment of stress BC -err_stress_tolRel 0.01 # relative tolerance for fulfillment of stress BC -fftw_timelimit -1.0 # timelimit of plan creation for FFTW, see manual on www.fftw.org, Default -1.0: disable timelimit -rotation_tol 1.0e-12 # tolerance of rotation specified in loadcase, Default 1.0e-12: first guess -fftw_plan_mode FFTW_PATIENT # reads the planing-rigor flag, see manual on www.fftw.org, Default FFTW_PATIENT: use patient planner flag -itmax 250 # Maximum iteration number -itmin 2 # Minimum iteration number -maxCutBack 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc) -memory_efficient 1 # Precalculate Gamma-operator (81 double per point) -update_gamma 0 # Update Gamma-operator with current dPdF (not possible if memory_efficient=1) -divergence_correction 2 # Use size-independent divergence criterion -spectralsolver basicPETSc # Type of spectral solver (basicPETSc/polarisation) -spectralfilter none # Type of filtering method to mitigate Gibb's phenomenon (none, cosine, ...) -petsc_options -snes_type ngmres -snes_ngmres_anderson # PetSc solver options -regridMode 0 # 0: no regrid; 1: regrid if DAMASK doesn't converge; 2: regrid if DAMASK or BVP Solver doesn't converge -polarAlpha 1.0 # polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme -polarBeta 1.0 # polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme diff --git a/examples/ConfigFiles/numerics.yaml b/examples/ConfigFiles/numerics.yaml new file mode 100644 index 000000000..4180a7d8a --- /dev/null +++ b/examples/ConfigFiles/numerics.yaml @@ -0,0 +1,89 @@ +# Available numerical parameters +# Case sensitive keys + +homogenization: + mech: + RGC: + atol: 1.0e+4 # absolute tolerance of RGC residuum (in Pa) + rtol: 1.0e-3 # relative ... + amax: 1.0e+10 # absolute upper-limit of RGC residuum (in Pa) + rmax: 1.0e+2 # relative ... + perturbpenalty: 1.0e-7 # perturbation for computing penalty tangent + relevantmismatch: 1.0e-5 # minimum threshold of mismatch + viscositypower: 1.0e+0 # power (sensitivity rate) of numerical viscosity in RGC scheme + viscositymodulus: 0.0e+0 # stress modulus of RGC numerical viscosity (zero = without numerical viscosity) + # suggestion: larger than the aTol_RGC but still far below the expected flow stress of material + refrelaxationrate: 1.0e-3 # reference rate of relaxation (about the same magnitude as straining rate, possibly a bit higher) + maxrelaxationrate: 1.0e+0 # threshold of maximum relaxation vector increment (if exceed this then cutback) + maxvoldiscrepancy: 1.0e-5 # maximum allowable relative volume discrepancy + voldiscrepancymod: 1.0e+12 + discrepancypower: 5.0 + + generic: + subStepMin: 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in homogenization + subStepSize: 0.25 # size of substep when cutback introduced in homogenization (value between 0 and 1) + stepIncrease: 1.5 # increase of next substep size when previous substep converged in homogenization (value higher than 1) + nMPstate: 10 # materialpoint state loop limit + +grid: + eps_div_atol: 1.0e-3 # absolute tolerance for fulfillment of stress equilibrium + eps_div_rtol: 5.0e-4 # relative tolerance for fulfillment of stress equilibrium + eps_curl_atol: 1.0e-12 # absolute tolerance for fulfillment of strain compatibility + eps_curl_rtol: 5.0e-4 # relative tolerance for fulfillment of strain compatibility + eps_stress_atol: 1.0e3 # absolute tolerance for fulfillment of stress BC + eps_stress_rtol: 0.01 # relative tolerance for fulfillment of stress BC + eps_damage_atol: 1.0e-2 # absolute tolerance for damage evolution + eps_damage_rtol: 1.0e-6 # relative tolerance for damage evolution + eps_thermal_atol: 1.0e-2 # absolute tolerance for thermal equilibrium + eps_thermal_rtol: 1.0e-6 # relative tolerance for thermal equilibrium + itmax: 250 # Maximum iteration number + itmin: 2 # Minimum iteration number + fftw_timelimit: -1.0 # timelimit of plan creation for FFTW, see manual on www.fftw.org, Default -1.0: disable timelimit + fftw_plan_mode: FFTW_PATIENT # reads the planing-rigor flag, see manual on www.fftw.org, Default FFTW_PATIENT: use patient planner flag + maxCutBack: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc) + maxStaggeredIter: 10 # max number of field level staggered iterations + + memory_efficient: 1 # Precalculate Gamma-operator (81 double per point) + update_gamma: false # Update Gamma-operator with current dPdF (not possible if memory_efficient=1) + divergence_correction: 2 # Use size-independent divergence criterion + derivative: continuous # Approximation used for derivatives in Fourier space + solver: Basic # Type of spectral solver (BasicPETSc/Polarisation/FEM) + petsc_options: -snes_type ngmres -snes_ngmres_anderson # PetSc solver options + alpha: 1.0 # polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme + beta: 1.0 # polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme + +mesh: + maxCutBack: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc) + maxStaggeredIter: 10 # max number of field level staggered iterations + structorder: 2 # order of displacement shape functions (when mesh is defined) + bbarstabilisation: false + integrationorder: 2 # order of quadrature rule required (when mesh is defined) + itmax: 250 # Maximum iteration number + itmin: 2 # Minimum iteration number + eps_struct_atol: 1.0e-10 # absolute tolerance for mechanical equilibrium + eps_struct_rtol: 1.0e-4 # relative tolerance for mechanical equilibrium + +crystallite: + subStepMin: 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in crystallite + subStepSize: 0.25 # size of substep when cutback introduced in crystallite (value between 0 and 1) + stepIncrease: 1.5 # increase of next substep size when previous substep converged in crystallite (value higher than 1) + subStepSizeLp: 0.5 # size of first substep when cutback in Lp calculation + subStepSizeLi: 0.5 # size of first substep when cutback in Li calculation + nState: 10 # state loop limit + nStress: 40 # stress loop limit + rtol_State: 1.0e-6 # relative tolerance in crystallite state loop (abs tol provided by constitutive law) + rtol_Stress: 1.0e-6 # relative tolerance in crystallite stress loop (Lp residuum) + atol_Stress: 1.0e-8 # absolute tolerance in crystallite stress loop (Lp residuum!) + integrator: FPI # integration method (FPI = Fixed Point Iteration, Euler = Euler, AdaptiveEuler = Adaptive Euler, RK4 = classical 4th order Runge-Kutta, RKCK45 = 5th order Runge-Kutta Cash-Karp) + iJacoLpresiduum: 1 # frequency of Jacobian update of residuum in Lp + +commercialFEM: + ijacostiffness: 1 # frequency of stiffness update + unitlength: 1 # physical length of one computational length unit + +generic: + charLength: 1.0 # characteristic length scale for gradient problems. + random_seed: 0 # fixed seeding for pseudo-random number generator, Default 0: use random seed. + residualStiffness: 1.0e-6 # non-zero residual damage. + + From fd7110ce4516c4a87b345f6b095bf86a07ee00a9 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 10 Jul 2020 14:59:07 +0200 Subject: [PATCH 359/958] probably a more readable structure --- src/constitutive.f90 | 218 +++++++++++------------------------ src/constitutive_damage.f90 | 71 ++++++++++++ src/constitutive_plastic.f90 | 153 ++++++++++++++++++++++++ src/constitutive_thermal.f90 | 45 ++++++++ 4 files changed, 335 insertions(+), 152 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 2af434df5..e1e6ae47d 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -46,15 +46,15 @@ module constitutive end function kinematics_thermal_expansion_initialStrain - module function plastic_dislotwin_homogenizedC(ipc,ip,el) result(homogenizedC) + module function plastic_homogenizedC(ipc,ip,el) result(homogenizedC) real(pReal), dimension(6,6) :: & homogenizedC integer, intent(in) :: & ipc, & !< component-ID of integration point ip, & !< integration point el !< element - end function plastic_dislotwin_homogenizedC - + end function plastic_homogenizedC + module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) real(pReal), dimension(3,3), intent(out) :: & @@ -109,101 +109,65 @@ module constitutive dLi_dTstar !< derivative of Li with respect to Tstar (4th-order tensor defined to be zero) end subroutine kinematics_thermal_expansion_LiAndItsTangent - module subroutine plastic_isotropic_dotState(Mp,instance,of) - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - integer, intent(in) :: & - instance, & - of - end subroutine plastic_isotropic_dotState - - module subroutine plastic_phenopowerlaw_dotState(Mp,instance,of) - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - integer, intent(in) :: & - instance, & - of - end subroutine plastic_phenopowerlaw_dotState - - module subroutine plastic_kinehardening_dotState(Mp,instance,of) - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - integer, intent(in) :: & - instance, & - of - end subroutine plastic_kinehardening_dotState - - module subroutine plastic_dislotwin_dotState(Mp,T,instance,of) - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - real(pReal), intent(in) :: & - T - integer, intent(in) :: & - instance, & - of - end subroutine plastic_dislotwin_dotState - - module subroutine plastic_disloUCLA_dotState(Mp,T,instance,of) - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - real(pReal), intent(in) :: & - T - integer, intent(in) :: & - instance, & - of - end subroutine plastic_disloUCLA_dotState - - module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & - instance,of,ip,el) - real(pReal), dimension(3,3), intent(in) ::& - Mp !< MandelStress - real(pReal), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem), intent(in) :: & - F, & !< deformation gradient - Fp !< plastic deformation gradient - real(pReal), intent(in) :: & - Temperature, & !< temperature - timestep !< substepped crystallite time increment - integer, intent(in) :: & - instance, & - of, & - ip, & !< current integration point - el !< current element number - end subroutine plastic_nonlocal_dotState - - - module subroutine source_damage_anisoBrittle_dotState(S, ipc, ip, el) + module function plastic_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) result(broken_plastic) integer, intent(in) :: & ipc, & !< component-ID of integration point ip, & !< integration point - el !< element - real(pReal), intent(in), dimension(3,3) :: & - S - end subroutine source_damage_anisoBrittle_dotState - - module subroutine source_damage_anisoDuctile_dotState(ipc, ip, el) - - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - end subroutine source_damage_anisoDuctile_dotState - - module subroutine source_damage_isoDuctile_dotState(ipc, ip, el) - - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - end subroutine source_damage_isoDuctile_dotState - - module subroutine source_thermal_externalheat_dotState(phase, of) - - integer, intent(in) :: & + el, & !< element phase, & of - end subroutine source_thermal_externalheat_dotState + real(pReal), intent(in) :: & + subdt !< timestep + real(pReal), intent(in), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: & + FArray, & !< elastic deformation gradient + FpArray !< plastic deformation gradient + real(pReal), intent(in), dimension(3,3) :: & + Fi !< intermediate deformation gradient + real(pReal), intent(in), dimension(3,3) :: & + S !< 2nd Piola Kirchhoff stress (vector notation) + logical :: broken_plastic + end function plastic_dotState + module function damage_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) result(broken_damage) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el, & !< element + phase, & + of + real(pReal), intent(in) :: & + subdt !< timestep + real(pReal), intent(in), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: & + FArray, & !< elastic deformation gradient + FpArray !< plastic deformation gradient + real(pReal), intent(in), dimension(3,3) :: & + Fi !< intermediate deformation gradient + real(pReal), intent(in), dimension(3,3) :: & + S !< 2nd Piola Kirchhoff stress (vector notation) + logical :: broken_damage + end function damage_dotState + + module function thermal_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) result(broken_thermal) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el, & !< element + phase, & + of + real(pReal), intent(in) :: & + subdt !< timestep + real(pReal), intent(in), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: & + FArray, & !< elastic deformation gradient + FpArray !< plastic deformation gradient + real(pReal), intent(in), dimension(3,3) :: & + Fi !< intermediate deformation gradient + real(pReal), intent(in), dimension(3,3) :: & + S !< 2nd Piola Kirchhoff stress (vector notation) + logical :: broken_thermal + end function thermal_dotState module subroutine plastic_kinehardening_deltaState(Mp,instance,of) real(pReal), dimension(3,3), intent(in) :: & @@ -478,12 +442,7 @@ function constitutive_homogenizedC(ipc,ip,el) ip, & !< integration point el !< element - plasticityType: select case (phase_plasticity(material_phaseAt(ipc,el))) - case (PLASTICITY_DISLOTWIN_ID) plasticityType - constitutive_homogenizedC = plastic_dislotwin_homogenizedC(ipc,ip,el) - case default plasticityType - constitutive_homogenizedC = lattice_C66(1:6,1:6,material_phaseAt(ipc,el)) - end select plasticityType + constitutive_homogenizedC = plastic_homogenizedC(ipc,ip,el) end function constitutive_homogenizedC @@ -695,65 +654,20 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el Fi !< intermediate deformation gradient real(pReal), intent(in), dimension(3,3) :: & S !< 2nd Piola Kirchhoff stress (vector notation) - real(pReal), dimension(3,3) :: & - Mp - integer :: & - ho, & !< homogenization - tme, & !< thermal member position - i, & !< counter in source loop - instance logical :: broken + logical :: & + broken_plastic, & + broken_thermal, & + broken_damage - ho = material_homogenizationAt(el) - tme = thermalMapping(ho)%p(ip,el) - instance = phase_plasticityInstance(phase) - Mp = matmul(matmul(transpose(Fi),Fi),S) + broken_plastic = plastic_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) + broken = broken_plastic + broken_damage = damage_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) + broken = broken .or. broken_damage + broken_thermal = thermal_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) + broken = broken .or. broken_thermal - plasticityType: select case (phase_plasticity(phase)) - - case (PLASTICITY_ISOTROPIC_ID) plasticityType - call plastic_isotropic_dotState (Mp,instance,of) - - case (PLASTICITY_PHENOPOWERLAW_ID) plasticityType - call plastic_phenopowerlaw_dotState(Mp,instance,of) - - case (PLASTICITY_KINEHARDENING_ID) plasticityType - call plastic_kinehardening_dotState(Mp,instance,of) - - case (PLASTICITY_DISLOTWIN_ID) plasticityType - call plastic_dislotwin_dotState (Mp,temperature(ho)%p(tme),instance,of) - - case (PLASTICITY_DISLOUCLA_ID) plasticityType - call plastic_disloucla_dotState (Mp,temperature(ho)%p(tme),instance,of) - - case (PLASTICITY_NONLOCAL_ID) plasticityType - call plastic_nonlocal_dotState (Mp,FArray,FpArray,temperature(ho)%p(tme),subdt, & - instance,of,ip,el) - end select plasticityType - broken = any(IEEE_is_NaN(plasticState(phase)%dotState(:,of))) - - SourceLoop: do i = 1, phase_Nsources(phase) - - sourceType: select case (phase_source(i,phase)) - - case (SOURCE_damage_anisoBrittle_ID) sourceType - call source_damage_anisoBrittle_dotState (S, ipc, ip, el) !< correct stress? - - case (SOURCE_damage_isoDuctile_ID) sourceType - call source_damage_isoDuctile_dotState ( ipc, ip, el) - - case (SOURCE_damage_anisoDuctile_ID) sourceType - call source_damage_anisoDuctile_dotState ( ipc, ip, el) - - case (SOURCE_thermal_externalheat_ID) sourceType - call source_thermal_externalheat_dotState(phase,of) - - end select sourceType - - broken = broken .or. any(IEEE_is_NaN(sourceState(phase)%p(i)%dotState(:,of))) - - enddo SourceLoop end function constitutive_collectDotState diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 index cb81c252d..a6264d57d 100644 --- a/src/constitutive_damage.f90 +++ b/src/constitutive_damage.f90 @@ -22,6 +22,33 @@ submodule(constitutive) constitutive_damage module subroutine kinematics_slipplane_opening_init end subroutine kinematics_slipplane_opening_init + module subroutine source_damage_anisoBrittle_dotState(S, ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + S + end subroutine source_damage_anisoBrittle_dotState + + module subroutine source_damage_anisoDuctile_dotState(ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + end subroutine source_damage_anisoDuctile_dotState + + module subroutine source_damage_isoDuctile_dotState(ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + end subroutine source_damage_isoDuctile_dotState + + module subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) integer, intent(in) :: & @@ -107,6 +134,50 @@ module subroutine damage_init end subroutine damage_init +!-------------------------------------------------------------------------------------------------- +!> @brief contains the constitutive equation for calculating the rate of change of microstructure +!-------------------------------------------------------------------------------------------------- +module function damage_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) result(broken_damage) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el, & !< element + phase, & + of + real(pReal), intent(in) :: & + subdt !< timestep + real(pReal), intent(in), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: & + FArray, & !< elastic deformation gradient + FpArray !< plastic deformation gradient + real(pReal), intent(in), dimension(3,3) :: & + Fi !< intermediate deformation gradient + real(pReal), intent(in), dimension(3,3) :: & + S !< 2nd Piola Kirchhoff stress (vector notation) + logical :: broken_damage + integer :: i + + SourceLoop: do i = 1, phase_Nsources(phase) + + sourceType: select case (phase_source(i,phase)) + + case (SOURCE_damage_anisoBrittle_ID) sourceType + call source_damage_anisoBrittle_dotState (S, ipc, ip, el) !< correct stress? + + case (SOURCE_damage_isoDuctile_ID) sourceType + call source_damage_isoDuctile_dotState ( ipc, ip, el) + + case (SOURCE_damage_anisoDuctile_ID) sourceType + call source_damage_anisoDuctile_dotState ( ipc, ip, el) + + end select sourceType + + enddo sourceLoop + + broken_damage = any(IEEE_is_NaN(sourceState(phase)%p(i)%dotState(:,of))) + +end function damage_dotState + module subroutine damage_source_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index d4d0f19a2..5d190758a 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -25,6 +25,67 @@ submodule(constitutive) constitutive_plastic module subroutine plastic_nonlocal_init end subroutine plastic_nonlocal_init + module subroutine plastic_isotropic_dotState(Mp,instance,of) + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + integer, intent(in) :: & + instance, & + of + end subroutine plastic_isotropic_dotState + + module subroutine plastic_phenopowerlaw_dotState(Mp,instance,of) + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + integer, intent(in) :: & + instance, & + of + end subroutine plastic_phenopowerlaw_dotState + + module subroutine plastic_kinehardening_dotState(Mp,instance,of) + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + integer, intent(in) :: & + instance, & + of + end subroutine plastic_kinehardening_dotState + + module subroutine plastic_dislotwin_dotState(Mp,T,instance,of) + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + real(pReal), intent(in) :: & + T + integer, intent(in) :: & + instance, & + of + end subroutine plastic_dislotwin_dotState + + module subroutine plastic_disloUCLA_dotState(Mp,T,instance,of) + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + real(pReal), intent(in) :: & + T + integer, intent(in) :: & + instance, & + of + end subroutine plastic_disloUCLA_dotState + + module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & + instance,of,ip,el) + real(pReal), dimension(3,3), intent(in) ::& + Mp !< MandelStress + real(pReal), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem), intent(in) :: & + F, & !< deformation gradient + Fp !< plastic deformation gradient + real(pReal), intent(in) :: & + Temperature, & !< temperature + timestep !< substepped crystallite time increment + integer, intent(in) :: & + instance, & + of, & + ip, & !< current integration point + el !< current element number + end subroutine plastic_nonlocal_dotState + module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) real(pReal), dimension(3,3), intent(out) :: & @@ -113,6 +174,15 @@ submodule(constitutive) constitutive_plastic el !< current element number end subroutine plastic_nonlocal_LpAndItsTangent + module function plastic_dislotwin_homogenizedC(ipc,ip,el) result(homogenizedC) + real(pReal), dimension(6,6) :: & + homogenizedC + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + end function plastic_dislotwin_homogenizedC + module subroutine plastic_dislotwin_dependentState(T,instance,of) integer, intent(in) :: & @@ -166,6 +236,89 @@ module subroutine plastic_init end subroutine plastic_init +!-------------------------------------------------------------------------------------------------- +!> @brief contains the constitutive equation for calculating the rate of change of microstructure +!-------------------------------------------------------------------------------------------------- +module function plastic_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) result(broken_plastic) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el, & !< element + phase, & + of + real(pReal), intent(in) :: & + subdt !< timestep + real(pReal), intent(in), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: & + FArray, & !< elastic deformation gradient + FpArray !< plastic deformation gradient + real(pReal), intent(in), dimension(3,3) :: & + Fi !< intermediate deformation gradient + real(pReal), intent(in), dimension(3,3) :: & + S !< 2nd Piola Kirchhoff stress (vector notation) + real(pReal), dimension(3,3) :: & + Mp + integer :: & + ho, & !< homogenization + tme, & !< thermal member position + i, & !< counter in source loop + instance + logical :: broken_plastic + + + ho = material_homogenizationAt(el) + tme = thermalMapping(ho)%p(ip,el) + instance = phase_plasticityInstance(phase) + + Mp = matmul(matmul(transpose(Fi),Fi),S) + + plasticityType: select case (phase_plasticity(phase)) + + case (PLASTICITY_ISOTROPIC_ID) plasticityType + call plastic_isotropic_dotState (Mp,instance,of) + + case (PLASTICITY_PHENOPOWERLAW_ID) plasticityType + call plastic_phenopowerlaw_dotState(Mp,instance,of) + + case (PLASTICITY_KINEHARDENING_ID) plasticityType + call plastic_kinehardening_dotState(Mp,instance,of) + + case (PLASTICITY_DISLOTWIN_ID) plasticityType + call plastic_dislotwin_dotState (Mp,temperature(ho)%p(tme),instance,of) + + case (PLASTICITY_DISLOUCLA_ID) plasticityType + call plastic_disloucla_dotState (Mp,temperature(ho)%p(tme),instance,of) + + case (PLASTICITY_NONLOCAL_ID) plasticityType + call plastic_nonlocal_dotState (Mp,FArray,FpArray,temperature(ho)%p(tme),subdt, & + instance,of,ip,el) + end select plasticityType + broken_plastic = any(IEEE_is_NaN(plasticState(phase)%dotState(:,of))) + +end function plastic_dotState + + +!-------------------------------------------------------------------------------------------------- +!> @brief returns the homogenize elasticity matrix +!> ToDo: homogenizedC66 would be more consistent +!-------------------------------------------------------------------------------------------------- +module function plastic_homogenizedC(ipc,ip,el) result(homogenizedC) + + real(pReal), dimension(6,6) :: homogenizedC + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + + plasticityType: select case (phase_plasticity(material_phaseAt(ipc,el))) + case (PLASTICITY_DISLOTWIN_ID) plasticityType + homogenizedC = plastic_dislotwin_homogenizedC(ipc,ip,el) + case default plasticityType + homogenizedC = lattice_C66(1:6,1:6,material_phaseAt(ipc,el)) + end select plasticityType + +end function plastic_homogenizedC + !-------------------------------------------------------------------------------------------------- !> @brief calls microstructure function of the different constitutive models diff --git a/src/constitutive_thermal.f90 b/src/constitutive_thermal.f90 index f1cd12d7f..7891ebba4 100644 --- a/src/constitutive_thermal.f90 +++ b/src/constitutive_thermal.f90 @@ -13,6 +13,13 @@ submodule(constitutive) constitutive_thermal module subroutine kinematics_thermal_expansion_init end subroutine kinematics_thermal_expansion_init + module subroutine source_thermal_externalheat_dotState(phase, of) + integer, intent(in) :: & + phase, & + of + end subroutine source_thermal_externalheat_dotState + + module subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDot_dT, Tstar, Lp, phase) integer, intent(in) :: & @@ -54,6 +61,44 @@ module subroutine thermal_init end subroutine thermal_init +!-------------------------------------------------------------------------------------------------- +!> @brief contains the constitutive equation for calculating the rate of change of microstructure +!-------------------------------------------------------------------------------------------------- +module function thermal_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) result(broken_thermal) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el, & !< element + phase, & + of + real(pReal), intent(in) :: & + subdt !< timestep + real(pReal), intent(in), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: & + FArray, & !< elastic deformation gradient + FpArray !< plastic deformation gradient + real(pReal), intent(in), dimension(3,3) :: & + Fi !< intermediate deformation gradient + real(pReal), intent(in), dimension(3,3) :: & + S !< 2nd Piola Kirchhoff stress (vector notation) + logical :: broken_thermal + integer :: i + + SourceLoop: do i = 1, phase_Nsources(phase) + + sourceType: select case (phase_source(i,phase)) + + case (SOURCE_thermal_externalheat_ID) sourceType + call source_thermal_externalheat_dotState(phase,of) + + end select sourceType + + broken_thermal = any(IEEE_is_NaN(sourceState(phase)%p(i)%dotState(:,of))) + + enddo sourceLoop + +end function thermal_dotState + module subroutine thermal_source_getRateAndItsTangents(Tdot, dTdot_dT, T, Tstar, Lp, ip, el) From 957c51fb0783094f34d48e412ecf72ae31fd7ba1 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 10 Jul 2020 15:13:56 +0200 Subject: [PATCH 360/958] cleaner --- src/constitutive_damage.f90 | 33 +++---------------- src/constitutive_plastic.f90 | 61 ++++++------------------------------ src/constitutive_thermal.f90 | 40 ++++------------------- 3 files changed, 19 insertions(+), 115 deletions(-) diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 index a6264d57d..86ac47aab 100644 --- a/src/constitutive_damage.f90 +++ b/src/constitutive_damage.f90 @@ -137,24 +137,8 @@ end subroutine damage_init !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the rate of change of microstructure !-------------------------------------------------------------------------------------------------- -module function damage_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) result(broken_damage) +module procedure damage_dotState - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el, & !< element - phase, & - of - real(pReal), intent(in) :: & - subdt !< timestep - real(pReal), intent(in), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: & - FArray, & !< elastic deformation gradient - FpArray !< plastic deformation gradient - real(pReal), intent(in), dimension(3,3) :: & - Fi !< intermediate deformation gradient - real(pReal), intent(in), dimension(3,3) :: & - S !< 2nd Piola Kirchhoff stress (vector notation) - logical :: broken_damage integer :: i SourceLoop: do i = 1, phase_Nsources(phase) @@ -176,19 +160,10 @@ module function damage_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase broken_damage = any(IEEE_is_NaN(sourceState(phase)%p(i)%dotState(:,of))) -end function damage_dotState +end procedure damage_dotState -module subroutine damage_source_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) - - integer, intent(in) :: & - ip, & !< integration point number - el !< element number - real(pReal), intent(in) :: & - phi - real(pReal), intent(inout) :: & - phiDot, & - dPhiDot_dPhi +module procedure damage_source_getRateAndItsTangents real(pReal) :: & localphiDot, & @@ -229,6 +204,6 @@ module subroutine damage_source_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, enddo enddo -end subroutine damage_source_getRateAndItsTangents +end procedure damage_source_getRateAndItsTangents end submodule diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index 5d190758a..f33e7b32f 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -239,32 +239,14 @@ end subroutine plastic_init !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the rate of change of microstructure !-------------------------------------------------------------------------------------------------- -module function plastic_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) result(broken_plastic) +module procedure plastic_dotState - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el, & !< element - phase, & - of - real(pReal), intent(in) :: & - subdt !< timestep - real(pReal), intent(in), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: & - FArray, & !< elastic deformation gradient - FpArray !< plastic deformation gradient - real(pReal), intent(in), dimension(3,3) :: & - Fi !< intermediate deformation gradient - real(pReal), intent(in), dimension(3,3) :: & - S !< 2nd Piola Kirchhoff stress (vector notation) real(pReal), dimension(3,3) :: & Mp integer :: & ho, & !< homogenization tme, & !< thermal member position - i, & !< counter in source loop instance - logical :: broken_plastic - ho = material_homogenizationAt(el) tme = thermalMapping(ho)%p(ip,el) @@ -295,20 +277,14 @@ module function plastic_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phas end select plasticityType broken_plastic = any(IEEE_is_NaN(plasticState(phase)%dotState(:,of))) -end function plastic_dotState +end procedure plastic_dotState !-------------------------------------------------------------------------------------------------- !> @brief returns the homogenize elasticity matrix !> ToDo: homogenizedC66 would be more consistent !-------------------------------------------------------------------------------------------------- -module function plastic_homogenizedC(ipc,ip,el) result(homogenizedC) - - real(pReal), dimension(6,6) :: homogenizedC - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element +module procedure plastic_homogenizedC plasticityType: select case (phase_plasticity(material_phaseAt(ipc,el))) case (PLASTICITY_DISLOTWIN_ID) plasticityType @@ -317,21 +293,14 @@ module function plastic_homogenizedC(ipc,ip,el) result(homogenizedC) homogenizedC = lattice_C66(1:6,1:6,material_phaseAt(ipc,el)) end select plasticityType -end function plastic_homogenizedC +end procedure plastic_homogenizedC !-------------------------------------------------------------------------------------------------- !> @brief calls microstructure function of the different constitutive models !-------------------------------------------------------------------------------------------------- -module subroutine plastic_dependentState(F, Fp, ipc, ip, el) +module procedure plastic_dependentState - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - real(pReal), intent(in), dimension(3,3) :: & - F, & !< elastic deformation gradient - Fp !< plastic deformation gradient integer :: & ho, & !< homogenization tme, & !< thermal member position @@ -351,27 +320,15 @@ module subroutine plastic_dependentState(F, Fp, ipc, ip, el) call plastic_nonlocal_dependentState (F,Fp,instance,of,ip,el) end select plasticityType -end subroutine plastic_dependentState +end procedure plastic_dependentState !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the velocity gradient ! ToDo: Discuss whether it makes sense if crystallite handles the configuration conversion, i.e. ! Mp in, dLp_dMp out !-------------------------------------------------------------------------------------------------- -module subroutine plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & - S, Fi, ipc, ip, el) - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - real(pReal), intent(in), dimension(3,3) :: & - S, & !< 2nd Piola-Kirchhoff stress - Fi !< intermediate deformation gradient - real(pReal), intent(out), dimension(3,3) :: & - Lp !< plastic velocity gradient - real(pReal), intent(out), dimension(3,3,3,3) :: & - dLp_dS, & - dLp_dFi !< derivative of Lp with respect to Fi +module procedure plastic_LpAndItsTangents + real(pReal), dimension(3,3,3,3) :: & dLp_dMp !< derivative of Lp with respect to Mandel stress real(pReal), dimension(3,3) :: & @@ -421,7 +378,7 @@ module subroutine plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & dLp_dS(i,j,1:3,1:3) = matmul(matmul(transpose(Fi),Fi),dLp_dMp(i,j,1:3,1:3)) ! ToDo: @PS: why not: dLp_dMp:(FiT Fi) enddo; enddo -end subroutine plastic_LpAndItsTangents +end procedure plastic_LpAndItsTangents end submodule constitutive_plastic diff --git a/src/constitutive_thermal.f90 b/src/constitutive_thermal.f90 index 7891ebba4..4a34ac224 100644 --- a/src/constitutive_thermal.f90 +++ b/src/constitutive_thermal.f90 @@ -64,24 +64,8 @@ end subroutine thermal_init !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the rate of change of microstructure !-------------------------------------------------------------------------------------------------- -module function thermal_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) result(broken_thermal) +module procedure thermal_dotState - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el, & !< element - phase, & - of - real(pReal), intent(in) :: & - subdt !< timestep - real(pReal), intent(in), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: & - FArray, & !< elastic deformation gradient - FpArray !< plastic deformation gradient - real(pReal), intent(in), dimension(3,3) :: & - Fi !< intermediate deformation gradient - real(pReal), intent(in), dimension(3,3) :: & - S !< 2nd Piola Kirchhoff stress (vector notation) - logical :: broken_thermal integer :: i SourceLoop: do i = 1, phase_Nsources(phase) @@ -93,26 +77,14 @@ module function thermal_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phas end select sourceType - broken_thermal = any(IEEE_is_NaN(sourceState(phase)%p(i)%dotState(:,of))) - enddo sourceLoop -end function thermal_dotState + broken_thermal = any(IEEE_is_NaN(sourceState(phase)%p(i)%dotState(:,of))) + +end procedure thermal_dotState -module subroutine thermal_source_getRateAndItsTangents(Tdot, dTdot_dT, T, Tstar, Lp, ip, el) - - integer, intent(in) :: & - ip, & !< integration point number - el !< element number - real(pReal), intent(in) :: & - T - real(pReal), intent(in), dimension(:,:,:,:,:) :: & - Tstar, & - Lp - real(pReal), intent(inout) :: & - Tdot, & - dTdot_dT +module procedure thermal_source_getRateAndItsTangents real(pReal) :: & my_Tdot, & @@ -152,6 +124,6 @@ module subroutine thermal_source_getRateAndItsTangents(Tdot, dTdot_dT, T, Tstar, enddo enddo -end subroutine thermal_source_getRateAndItsTangents +end procedure thermal_source_getRateAndItsTangents end submodule From 80fb571fb4fbcbb30d01e76b235c7a363c40ef4a Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 10 Jul 2020 17:10:23 +0200 Subject: [PATCH 361/958] common functions to be clubbed together --- src/constitutive.f90 | 268 +++++++++++++++++++++-------------- src/constitutive_damage.f90 | 54 ------- src/constitutive_plastic.f90 | 112 +-------------- src/constitutive_thermal.f90 | 28 ---- src/crystallite.f90 | 4 +- 5 files changed, 164 insertions(+), 302 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index e1e6ae47d..a8070bd52 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -35,6 +35,103 @@ module constitutive module subroutine thermal_init end subroutine thermal_init + + module subroutine plastic_isotropic_dotState(Mp,instance,of) + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + integer, intent(in) :: & + instance, & + of + end subroutine plastic_isotropic_dotState + + module subroutine plastic_phenopowerlaw_dotState(Mp,instance,of) + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + integer, intent(in) :: & + instance, & + of + end subroutine plastic_phenopowerlaw_dotState + + module subroutine plastic_kinehardening_dotState(Mp,instance,of) + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + integer, intent(in) :: & + instance, & + of + end subroutine plastic_kinehardening_dotState + + module subroutine plastic_dislotwin_dotState(Mp,T,instance,of) + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + real(pReal), intent(in) :: & + T + integer, intent(in) :: & + instance, & + of + end subroutine plastic_dislotwin_dotState + + module subroutine plastic_disloUCLA_dotState(Mp,T,instance,of) + real(pReal), dimension(3,3), intent(in) :: & + Mp !< Mandel stress + real(pReal), intent(in) :: & + T + integer, intent(in) :: & + instance, & + of + end subroutine plastic_disloUCLA_dotState + + module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & + instance,of,ip,el) + real(pReal), dimension(3,3), intent(in) ::& + Mp !< MandelStress + real(pReal), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem), intent(in) :: & + F, & !< deformation gradient + Fp !< plastic deformation gradient + real(pReal), intent(in) :: & + Temperature, & !< temperature + timestep !< substepped crystallite time increment + integer, intent(in) :: & + instance, & + of, & + ip, & !< current integration point + el !< current element number + end subroutine plastic_nonlocal_dotState + + + module subroutine source_damage_anisoBrittle_dotState(S, ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + S + end subroutine source_damage_anisoBrittle_dotState + + module subroutine source_damage_anisoDuctile_dotState(ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + end subroutine source_damage_anisoDuctile_dotState + + module subroutine source_damage_isoDuctile_dotState(ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + end subroutine source_damage_isoDuctile_dotState + + module subroutine source_thermal_externalheat_dotState(phase, of) + + integer, intent(in) :: & + phase, & + of + end subroutine source_thermal_externalheat_dotState + + pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain) integer, intent(in) :: & @@ -46,14 +143,14 @@ module constitutive end function kinematics_thermal_expansion_initialStrain - module function plastic_homogenizedC(ipc,ip,el) result(homogenizedC) + module function constitutive_homogenizedC(ipc,ip,el) result(homogenizedC) real(pReal), dimension(6,6) :: & homogenizedC integer, intent(in) :: & ipc, & !< component-ID of integration point ip, & !< integration point el !< element - end function plastic_homogenizedC + end function constitutive_homogenizedC module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) @@ -109,65 +206,6 @@ module constitutive dLi_dTstar !< derivative of Li with respect to Tstar (4th-order tensor defined to be zero) end subroutine kinematics_thermal_expansion_LiAndItsTangent - module function plastic_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) result(broken_plastic) - - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el, & !< element - phase, & - of - real(pReal), intent(in) :: & - subdt !< timestep - real(pReal), intent(in), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: & - FArray, & !< elastic deformation gradient - FpArray !< plastic deformation gradient - real(pReal), intent(in), dimension(3,3) :: & - Fi !< intermediate deformation gradient - real(pReal), intent(in), dimension(3,3) :: & - S !< 2nd Piola Kirchhoff stress (vector notation) - logical :: broken_plastic - end function plastic_dotState - - module function damage_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) result(broken_damage) - - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el, & !< element - phase, & - of - real(pReal), intent(in) :: & - subdt !< timestep - real(pReal), intent(in), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: & - FArray, & !< elastic deformation gradient - FpArray !< plastic deformation gradient - real(pReal), intent(in), dimension(3,3) :: & - Fi !< intermediate deformation gradient - real(pReal), intent(in), dimension(3,3) :: & - S !< 2nd Piola Kirchhoff stress (vector notation) - logical :: broken_damage - end function damage_dotState - - module function thermal_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) result(broken_thermal) - - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el, & !< element - phase, & - of - real(pReal), intent(in) :: & - subdt !< timestep - real(pReal), intent(in), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: & - FArray, & !< elastic deformation gradient - FpArray !< plastic deformation gradient - real(pReal), intent(in), dimension(3,3) :: & - Fi !< intermediate deformation gradient - real(pReal), intent(in), dimension(3,3) :: & - S !< 2nd Piola Kirchhoff stress (vector notation) - logical :: broken_thermal - end function thermal_dotState module subroutine plastic_kinehardening_deltaState(Mp,instance,of) real(pReal), dimension(3,3), intent(in) :: & @@ -261,7 +299,7 @@ module constitutive Fp !< plastic deformation gradient end subroutine plastic_dependentState - module subroutine plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & + module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & S, Fi, ipc, ip, el) integer, intent(in) :: & ipc, & !< component-ID of integration point @@ -276,7 +314,7 @@ module constitutive dLp_dS, & dLp_dFi !< derivative of Lp with respect to Fi - end subroutine plastic_LpAndItsTangents + end subroutine constitutive_plastic_LpAndItsTangents module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e) integer, intent(in) :: & @@ -331,7 +369,7 @@ module constitutive public :: & constitutive_init, & constitutive_homogenizedC, & - constitutive_LpAndItsTangents, & + constitutive_plastic_LpAndItsTangents, & constitutive_dependentState, & constitutive_LiAndItsTangents, & constitutive_initialFi, & @@ -392,25 +430,6 @@ subroutine constitutive_init end subroutine constitutive_init - -subroutine constitutive_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & - S, Fi, ipc, ip, el) - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - real(pReal), intent(in), dimension(3,3) :: & - S, & !< 2nd Piola-Kirchhoff stress - Fi !< intermediate deformation gradient - real(pReal), intent(out), dimension(3,3) :: & - Lp !< plastic velocity gradient - real(pReal), intent(out), dimension(3,3,3,3) :: & - dLp_dS, & - dLp_dFi !< derivative of Lp with respect to Fi - - call plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, S, Fi, ipc, ip, el) - -end subroutine constitutive_LpAndItsTangents !-------------------------------------------------------------------------------------------------- !> @brief calls microstructure function of the different constitutive models @@ -430,23 +449,6 @@ subroutine constitutive_dependentState(F, Fp, ipc, ip, el) end subroutine constitutive_dependentState -!-------------------------------------------------------------------------------------------------- -!> @brief returns the homogenize elasticity matrix -!> ToDo: homogenizedC66 would be more consistent -!-------------------------------------------------------------------------------------------------- -function constitutive_homogenizedC(ipc,ip,el) - - real(pReal), dimension(6,6) :: constitutive_homogenizedC - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - - constitutive_homogenizedC = plastic_homogenizedC(ipc,ip,el) - -end function constitutive_homogenizedC - - !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the velocity gradient ! ToDo: MD: S is Mi? @@ -654,19 +656,65 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el Fi !< intermediate deformation gradient real(pReal), intent(in), dimension(3,3) :: & S !< 2nd Piola Kirchhoff stress (vector notation) + real(pReal), dimension(3,3) :: & + Mp + integer :: & + ho, & + tme, & + i, & + instance logical :: broken - logical :: & - broken_plastic, & - broken_thermal, & - broken_damage + ho = material_homogenizationAt(el) + tme = thermalMapping(ho)%p(ip,el) + instance = phase_plasticityInstance(phase) - broken_plastic = plastic_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) - broken = broken_plastic - broken_damage = damage_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) - broken = broken .or. broken_damage - broken_thermal = thermal_dotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) - broken = broken .or. broken_thermal + Mp = matmul(matmul(transpose(Fi),Fi),S) + + plasticityType: select case (phase_plasticity(phase)) + + case (PLASTICITY_ISOTROPIC_ID) plasticityType + call plastic_isotropic_dotState (Mp,instance,of) + + case (PLASTICITY_PHENOPOWERLAW_ID) plasticityType + call plastic_phenopowerlaw_dotState(Mp,instance,of) + + case (PLASTICITY_KINEHARDENING_ID) plasticityType + call plastic_kinehardening_dotState(Mp,instance,of) + + case (PLASTICITY_DISLOTWIN_ID) plasticityType + call plastic_dislotwin_dotState (Mp,temperature(ho)%p(tme),instance,of) + + case (PLASTICITY_DISLOUCLA_ID) plasticityType + call plastic_disloucla_dotState (Mp,temperature(ho)%p(tme),instance,of) + + case (PLASTICITY_NONLOCAL_ID) plasticityType + call plastic_nonlocal_dotState (Mp,FArray,FpArray,temperature(ho)%p(tme),subdt, & + instance,of,ip,el) + end select plasticityType + broken = any(IEEE_is_NaN(plasticState(phase)%dotState(:,of))) + + SourceLoop: do i = 1, phase_Nsources(phase) + + sourceType: select case (phase_source(i,phase)) + + case (SOURCE_damage_anisoBrittle_ID) sourceType + call source_damage_anisoBrittle_dotState (S, ipc, ip, el) !< correct stress? + + case (SOURCE_damage_isoDuctile_ID) sourceType + call source_damage_isoDuctile_dotState ( ipc, ip, el) + + case (SOURCE_damage_anisoDuctile_ID) sourceType + call source_damage_anisoDuctile_dotState ( ipc, ip, el) + + case (SOURCE_thermal_externalheat_ID) sourceType + call source_thermal_externalheat_dotState(phase,of) + + end select sourceType + + broken = broken .or. any(IEEE_is_NaN(sourceState(phase)%p(i)%dotState(:,of))) + + enddo SourceLoop end function constitutive_collectDotState diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 index 86ac47aab..b7d1632f8 100644 --- a/src/constitutive_damage.f90 +++ b/src/constitutive_damage.f90 @@ -22,32 +22,6 @@ submodule(constitutive) constitutive_damage module subroutine kinematics_slipplane_opening_init end subroutine kinematics_slipplane_opening_init - module subroutine source_damage_anisoBrittle_dotState(S, ipc, ip, el) - - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - real(pReal), intent(in), dimension(3,3) :: & - S - end subroutine source_damage_anisoBrittle_dotState - - module subroutine source_damage_anisoDuctile_dotState(ipc, ip, el) - - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - end subroutine source_damage_anisoDuctile_dotState - - module subroutine source_damage_isoDuctile_dotState(ipc, ip, el) - - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - end subroutine source_damage_isoDuctile_dotState - module subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) @@ -134,34 +108,6 @@ module subroutine damage_init end subroutine damage_init -!-------------------------------------------------------------------------------------------------- -!> @brief contains the constitutive equation for calculating the rate of change of microstructure -!-------------------------------------------------------------------------------------------------- -module procedure damage_dotState - - integer :: i - - SourceLoop: do i = 1, phase_Nsources(phase) - - sourceType: select case (phase_source(i,phase)) - - case (SOURCE_damage_anisoBrittle_ID) sourceType - call source_damage_anisoBrittle_dotState (S, ipc, ip, el) !< correct stress? - - case (SOURCE_damage_isoDuctile_ID) sourceType - call source_damage_isoDuctile_dotState ( ipc, ip, el) - - case (SOURCE_damage_anisoDuctile_ID) sourceType - call source_damage_anisoDuctile_dotState ( ipc, ip, el) - - end select sourceType - - enddo sourceLoop - - broken_damage = any(IEEE_is_NaN(sourceState(phase)%p(i)%dotState(:,of))) - -end procedure damage_dotState - module procedure damage_source_getRateAndItsTangents diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index f33e7b32f..c91db80ec 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -25,67 +25,6 @@ submodule(constitutive) constitutive_plastic module subroutine plastic_nonlocal_init end subroutine plastic_nonlocal_init - module subroutine plastic_isotropic_dotState(Mp,instance,of) - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - integer, intent(in) :: & - instance, & - of - end subroutine plastic_isotropic_dotState - - module subroutine plastic_phenopowerlaw_dotState(Mp,instance,of) - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - integer, intent(in) :: & - instance, & - of - end subroutine plastic_phenopowerlaw_dotState - - module subroutine plastic_kinehardening_dotState(Mp,instance,of) - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - integer, intent(in) :: & - instance, & - of - end subroutine plastic_kinehardening_dotState - - module subroutine plastic_dislotwin_dotState(Mp,T,instance,of) - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - real(pReal), intent(in) :: & - T - integer, intent(in) :: & - instance, & - of - end subroutine plastic_dislotwin_dotState - - module subroutine plastic_disloUCLA_dotState(Mp,T,instance,of) - real(pReal), dimension(3,3), intent(in) :: & - Mp !< Mandel stress - real(pReal), intent(in) :: & - T - integer, intent(in) :: & - instance, & - of - end subroutine plastic_disloUCLA_dotState - - module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & - instance,of,ip,el) - real(pReal), dimension(3,3), intent(in) ::& - Mp !< MandelStress - real(pReal), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem), intent(in) :: & - F, & !< deformation gradient - Fp !< plastic deformation gradient - real(pReal), intent(in) :: & - Temperature, & !< temperature - timestep !< substepped crystallite time increment - integer, intent(in) :: & - instance, & - of, & - ip, & !< current integration point - el !< current element number - end subroutine plastic_nonlocal_dotState - module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) real(pReal), dimension(3,3), intent(out) :: & @@ -236,55 +175,12 @@ module subroutine plastic_init end subroutine plastic_init -!-------------------------------------------------------------------------------------------------- -!> @brief contains the constitutive equation for calculating the rate of change of microstructure -!-------------------------------------------------------------------------------------------------- -module procedure plastic_dotState - - real(pReal), dimension(3,3) :: & - Mp - integer :: & - ho, & !< homogenization - tme, & !< thermal member position - instance - - ho = material_homogenizationAt(el) - tme = thermalMapping(ho)%p(ip,el) - instance = phase_plasticityInstance(phase) - - Mp = matmul(matmul(transpose(Fi),Fi),S) - - plasticityType: select case (phase_plasticity(phase)) - - case (PLASTICITY_ISOTROPIC_ID) plasticityType - call plastic_isotropic_dotState (Mp,instance,of) - - case (PLASTICITY_PHENOPOWERLAW_ID) plasticityType - call plastic_phenopowerlaw_dotState(Mp,instance,of) - - case (PLASTICITY_KINEHARDENING_ID) plasticityType - call plastic_kinehardening_dotState(Mp,instance,of) - - case (PLASTICITY_DISLOTWIN_ID) plasticityType - call plastic_dislotwin_dotState (Mp,temperature(ho)%p(tme),instance,of) - - case (PLASTICITY_DISLOUCLA_ID) plasticityType - call plastic_disloucla_dotState (Mp,temperature(ho)%p(tme),instance,of) - - case (PLASTICITY_NONLOCAL_ID) plasticityType - call plastic_nonlocal_dotState (Mp,FArray,FpArray,temperature(ho)%p(tme),subdt, & - instance,of,ip,el) - end select plasticityType - broken_plastic = any(IEEE_is_NaN(plasticState(phase)%dotState(:,of))) - -end procedure plastic_dotState - !-------------------------------------------------------------------------------------------------- !> @brief returns the homogenize elasticity matrix !> ToDo: homogenizedC66 would be more consistent !-------------------------------------------------------------------------------------------------- -module procedure plastic_homogenizedC +module procedure constitutive_homogenizedC plasticityType: select case (phase_plasticity(material_phaseAt(ipc,el))) case (PLASTICITY_DISLOTWIN_ID) plasticityType @@ -293,7 +189,7 @@ module procedure plastic_homogenizedC homogenizedC = lattice_C66(1:6,1:6,material_phaseAt(ipc,el)) end select plasticityType -end procedure plastic_homogenizedC +end procedure constitutive_homogenizedC !-------------------------------------------------------------------------------------------------- @@ -327,7 +223,7 @@ end procedure plastic_dependentState ! ToDo: Discuss whether it makes sense if crystallite handles the configuration conversion, i.e. ! Mp in, dLp_dMp out !-------------------------------------------------------------------------------------------------- -module procedure plastic_LpAndItsTangents +module procedure constitutive_plastic_LpAndItsTangents real(pReal), dimension(3,3,3,3) :: & dLp_dMp !< derivative of Lp with respect to Mandel stress @@ -378,7 +274,7 @@ module procedure plastic_LpAndItsTangents dLp_dS(i,j,1:3,1:3) = matmul(matmul(transpose(Fi),Fi),dLp_dMp(i,j,1:3,1:3)) ! ToDo: @PS: why not: dLp_dMp:(FiT Fi) enddo; enddo -end procedure plastic_LpAndItsTangents +end procedure constitutive_plastic_LpAndItsTangents end submodule constitutive_plastic diff --git a/src/constitutive_thermal.f90 b/src/constitutive_thermal.f90 index 4a34ac224..48908b997 100644 --- a/src/constitutive_thermal.f90 +++ b/src/constitutive_thermal.f90 @@ -13,12 +13,6 @@ submodule(constitutive) constitutive_thermal module subroutine kinematics_thermal_expansion_init end subroutine kinematics_thermal_expansion_init - module subroutine source_thermal_externalheat_dotState(phase, of) - integer, intent(in) :: & - phase, & - of - end subroutine source_thermal_externalheat_dotState - module subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDot_dT, Tstar, Lp, phase) @@ -61,28 +55,6 @@ module subroutine thermal_init end subroutine thermal_init -!-------------------------------------------------------------------------------------------------- -!> @brief contains the constitutive equation for calculating the rate of change of microstructure -!-------------------------------------------------------------------------------------------------- -module procedure thermal_dotState - - integer :: i - - SourceLoop: do i = 1, phase_Nsources(phase) - - sourceType: select case (phase_source(i,phase)) - - case (SOURCE_thermal_externalheat_ID) sourceType - call source_thermal_externalheat_dotState(phase,of) - - end select sourceType - - enddo sourceLoop - - broken_thermal = any(IEEE_is_NaN(sourceState(phase)%p(i)%dotState(:,of))) - -end procedure thermal_dotState - module procedure thermal_source_getRateAndItsTangents diff --git a/src/crystallite.f90 b/src/crystallite.f90 index fbce3ab47..eaa01270d 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -554,7 +554,7 @@ subroutine crystallite_stressTangent dLidS = math_mul3333xx3333(dLidFi,dFidS) + dLidS endif - call constitutive_LpAndItsTangents(devNull,dLpdS,dLpdFi, & + call constitutive_plastic_LpAndItsTangents(devNull,dLpdS,dLpdFi, & crystallite_S (1:3,1:3,c,i,e), & crystallite_Fi(1:3,1:3,c,i,e),c,i,e) ! call constitutive law to calculate Lp tangent in lattice configuration dLpdS = math_mul3333xx3333(dLpdFi,dFidS) + dLpdS @@ -915,7 +915,7 @@ function integrateStress(ipc,ip,el,timeFraction) result(broken) call constitutive_SandItsTangents(S, dS_dFe, dS_dFi, & Fe, Fi_new, ipc, ip, el) - call constitutive_LpAndItsTangents(Lp_constitutive, dLp_dS, dLp_dFi, & + call constitutive_plastic_LpAndItsTangents(Lp_constitutive, dLp_dS, dLp_dFi, & S, Fi_new, ipc, ip, el) !* update current residuum and check for convergence of loop From 4145ac90d785fba1e7dd8ea789915d4982b38f55 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 10 Jul 2020 18:19:07 +0200 Subject: [PATCH 362/958] more cleaning --- src/constitutive.f90 | 46 +++++++++++------------------------- src/constitutive_plastic.f90 | 4 ++-- src/crystallite.f90 | 4 ++-- 3 files changed, 18 insertions(+), 36 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index a8070bd52..c44c07de1 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -132,17 +132,6 @@ module constitutive end subroutine source_thermal_externalheat_dotState - pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain) - - integer, intent(in) :: & - phase, & - homog, & - offset - real(pReal), dimension(3,3) :: & - initialStrain - - end function kinematics_thermal_expansion_initialStrain - module function constitutive_homogenizedC(ipc,ip,el) result(homogenizedC) real(pReal), dimension(6,6) :: & homogenizedC @@ -288,7 +277,7 @@ module constitutive character(len=*), intent(in) :: group end subroutine source_damage_isoDuctile_results - module subroutine plastic_dependentState(F, Fp, ipc, ip, el) + module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el) integer, intent(in) :: & ipc, & !< component-ID of integration point @@ -297,7 +286,7 @@ module constitutive real(pReal), intent(in), dimension(3,3) :: & F, & !< elastic deformation gradient Fp !< plastic deformation gradient - end subroutine plastic_dependentState + end subroutine constitutive_plastic_dependentState module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & S, Fi, ipc, ip, el) @@ -315,6 +304,17 @@ module constitutive dLp_dFi !< derivative of Lp with respect to Fi end subroutine constitutive_plastic_LpAndItsTangents + + pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain) + + integer, intent(in) :: & + phase, & + homog, & + offset + real(pReal), dimension(3,3) :: & + initialStrain + + end function kinematics_thermal_expansion_initialStrain module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e) integer, intent(in) :: & @@ -370,7 +370,7 @@ module constitutive constitutive_init, & constitutive_homogenizedC, & constitutive_plastic_LpAndItsTangents, & - constitutive_dependentState, & + constitutive_plastic_dependentState, & constitutive_LiAndItsTangents, & constitutive_initialFi, & constitutive_SandItsTangents, & @@ -430,24 +430,6 @@ subroutine constitutive_init end subroutine constitutive_init - -!-------------------------------------------------------------------------------------------------- -!> @brief calls microstructure function of the different constitutive models -!-------------------------------------------------------------------------------------------------- -subroutine constitutive_dependentState(F, Fp, ipc, ip, el) - - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - real(pReal), intent(in), dimension(3,3) :: & - F, & !< elastic deformation gradient - Fp !< plastic deformation gradient - - call plastic_dependentState(F,Fp,ipc,ip,el) - -end subroutine constitutive_dependentState - !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the velocity gradient diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index c91db80ec..bfab42833 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -195,7 +195,7 @@ end procedure constitutive_homogenizedC !-------------------------------------------------------------------------------------------------- !> @brief calls microstructure function of the different constitutive models !-------------------------------------------------------------------------------------------------- -module procedure plastic_dependentState +module procedure constitutive_plastic_dependentState integer :: & ho, & !< homogenization @@ -216,7 +216,7 @@ module procedure plastic_dependentState call plastic_nonlocal_dependentState (F,Fp,instance,of,ip,el) end select plasticityType -end procedure plastic_dependentState +end procedure constitutive_plastic_dependentState !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the velocity gradient diff --git a/src/crystallite.f90 b/src/crystallite.f90 index eaa01270d..2ca9e8d00 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -279,7 +279,7 @@ subroutine crystallite_init do e = FEsolving_execElem(1),FEsolving_execElem(2) do i = FEsolving_execIP(1),FEsolving_execIP(2) do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) - call constitutive_dependentState(crystallite_partionedF0(1:3,1:3,c,i,e), & + call constitutive_plastic_dependentState(crystallite_partionedF0(1:3,1:3,c,i,e), & crystallite_partionedFp0(1:3,1:3,c,i,e), & c,i,e) ! update dependent state variables to be consistent with basic states enddo @@ -874,7 +874,7 @@ function integrateStress(ipc,ip,el,timeFraction) result(broken) F = crystallite_subF(1:3,1:3,ipc,ip,el) endif - call constitutive_dependentState(crystallite_partionedF(1:3,1:3,ipc,ip,el), & + call constitutive_plastic_dependentState(crystallite_partionedF(1:3,1:3,ipc,ip,el), & crystallite_Fp(1:3,1:3,ipc,ip,el),ipc,ip,el) Lpguess = crystallite_Lp(1:3,1:3,ipc,ip,el) ! take as first guess From 3563bce6cbeb0db53a524bf4c90bf68c16538e27 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 10 Jul 2020 18:29:36 +0200 Subject: [PATCH 363/958] better --- src/constitutive.f90 | 181 ++++++++++++++--------------------- src/constitutive_damage.f90 | 4 +- src/constitutive_thermal.f90 | 4 +- 3 files changed, 78 insertions(+), 111 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index c44c07de1..de735fe55 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -141,6 +141,80 @@ module constitutive el !< element end function constitutive_homogenizedC + module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el) + + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + F, & !< elastic deformation gradient + Fp !< plastic deformation gradient + end subroutine constitutive_plastic_dependentState + + module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & + S, Fi, ipc, ip, el) + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + S, & !< 2nd Piola-Kirchhoff stress + Fi !< intermediate deformation gradient + real(pReal), intent(out), dimension(3,3) :: & + Lp !< plastic velocity gradient + real(pReal), intent(out), dimension(3,3,3,3) :: & + dLp_dS, & + dLp_dFi !< derivative of Lp with respect to Fi + + end subroutine constitutive_plastic_LpAndItsTangents + + pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain) + + integer, intent(in) :: & + phase, & + homog, & + offset + real(pReal), dimension(3,3) :: & + initialStrain + + end function kinematics_thermal_expansion_initialStrain + + module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e) + integer, intent(in) :: & + instance, & + i, & + e + type(rotation), dimension(1,discretization_nIP,discretization_nElem), intent(in) :: & + orientation !< crystal orientation + end subroutine plastic_nonlocal_updateCompatibility + + module subroutine constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) + integer, intent(in) :: & + ip, & !< integration point number + el !< element number + real(pReal), intent(in) :: & + phi + real(pReal), intent(inout) :: & + phiDot, & + dPhiDot_dPhi + + end subroutine constitutive_damage_getRateAndItsTangents + + module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, Tstar, Lp, ip, el) + integer, intent(in) :: & + ip, & !< integration point number + el !< element number + real(pReal), intent(in) :: & + T + real(pReal), intent(in), dimension(:,:,:,:,:) :: & + Tstar, & + Lp + real(pReal), intent(inout) :: & + TDot, & + dTDot_dT + end subroutine constitutive_thermal_getRateAndItsTangents + module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) real(pReal), dimension(3,3), intent(out) :: & @@ -226,7 +300,6 @@ module constitutive end subroutine source_damage_isoBrittle_deltaState - module subroutine plastic_isotropic_results(instance,group) integer, intent(in) :: instance character(len=*), intent(in) :: group @@ -277,79 +350,6 @@ module constitutive character(len=*), intent(in) :: group end subroutine source_damage_isoDuctile_results - module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el) - - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - real(pReal), intent(in), dimension(3,3) :: & - F, & !< elastic deformation gradient - Fp !< plastic deformation gradient - end subroutine constitutive_plastic_dependentState - - module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & - S, Fi, ipc, ip, el) - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - real(pReal), intent(in), dimension(3,3) :: & - S, & !< 2nd Piola-Kirchhoff stress - Fi !< intermediate deformation gradient - real(pReal), intent(out), dimension(3,3) :: & - Lp !< plastic velocity gradient - real(pReal), intent(out), dimension(3,3,3,3) :: & - dLp_dS, & - dLp_dFi !< derivative of Lp with respect to Fi - - end subroutine constitutive_plastic_LpAndItsTangents - - pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain) - - integer, intent(in) :: & - phase, & - homog, & - offset - real(pReal), dimension(3,3) :: & - initialStrain - - end function kinematics_thermal_expansion_initialStrain - - module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e) - integer, intent(in) :: & - instance, & - i, & - e - type(rotation), dimension(1,discretization_nIP,discretization_nElem), intent(in) :: & - orientation !< crystal orientation - end subroutine plastic_nonlocal_updateCompatibility - - module subroutine damage_source_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) - integer, intent(in) :: & - ip, & !< integration point number - el !< element number - real(pReal), intent(in) :: & - phi - real(pReal), intent(inout) :: & - phiDot, & - dPhiDot_dPhi - end subroutine damage_source_getRateAndItsTangents - - module subroutine thermal_source_getRateAndItsTangents(TDot, dTDot_dT, T, Tstar, Lp, ip, el) - integer, intent(in) :: & - ip, & !< integration point number - el !< element number - real(pReal), intent(in) :: & - T - real(pReal), intent(in), dimension(:,:,:,:,:) :: & - Tstar, & - Lp - real(pReal), intent(inout) :: & - TDot, & - dTDot_dT - end subroutine thermal_source_getRateAndItsTangents - end interface @@ -779,39 +779,6 @@ function constitutive_deltaState(S, Fe, Fi, ipc, ip, el, phase, of) result(broke end function constitutive_deltaState -subroutine constitutive_thermal_getRateAndItsTangents(Tdot, dTDot_dT, T, Tstar, Lp, ip, el) - - integer, intent(in) :: & - ip, & !< integration point number - el !< element number - real(pReal), intent(in) :: & - T - real(pReal), intent(in), dimension(:,:,:,:,:) :: & - Tstar, & - Lp - real(pReal), intent(inout) :: & - Tdot, & - dTdot_dT - - call thermal_source_getRateAndItsTangents(Tdot, dTdot_dT, T, Tstar, Lp, ip, el) - -end subroutine constitutive_thermal_getRateAndItsTangents - -subroutine constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) - - integer, intent(in) :: & - ip, & !< integration point number - el !< element number - real(pReal), intent(in) :: & - phi - real(pReal), intent(inout) :: & - phiDot, & - dPhiDot_dPhi - - call damage_source_getRateAndItsTangents(phiDot,dPhiDot_dPhi,phi,ip,el) - -end subroutine constitutive_damage_getRateAndItsTangents - !-------------------------------------------------------------------------------------------------- !> @brief writes constitutive results to HDF5 output file diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 index b7d1632f8..6dae6e298 100644 --- a/src/constitutive_damage.f90 +++ b/src/constitutive_damage.f90 @@ -109,7 +109,7 @@ module subroutine damage_init end subroutine damage_init -module procedure damage_source_getRateAndItsTangents +module procedure constitutive_damage_getRateAndItsTangents real(pReal) :: & localphiDot, & @@ -150,6 +150,6 @@ module procedure damage_source_getRateAndItsTangents enddo enddo -end procedure damage_source_getRateAndItsTangents +end procedure constitutive_damage_getRateAndItsTangents end submodule diff --git a/src/constitutive_thermal.f90 b/src/constitutive_thermal.f90 index 48908b997..5526fb1d3 100644 --- a/src/constitutive_thermal.f90 +++ b/src/constitutive_thermal.f90 @@ -56,7 +56,7 @@ module subroutine thermal_init end subroutine thermal_init -module procedure thermal_source_getRateAndItsTangents +module procedure constitutive_thermal_getRateAndItsTangents real(pReal) :: & my_Tdot, & @@ -96,6 +96,6 @@ module procedure thermal_source_getRateAndItsTangents enddo enddo -end procedure thermal_source_getRateAndItsTangents +end procedure constitutive_thermal_getRateAndItsTangents end submodule From 77567bd3981094683f4329a5d9338b84ba022151 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 10 Jul 2020 23:41:56 +0200 Subject: [PATCH 364/958] To circumvent Marc internal compiler error --- src/constitutive.f90 | 29 +++++++++++++++++++++++++---- src/constitutive_plastic.f90 | 24 ------------------------ 2 files changed, 25 insertions(+), 28 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index de735fe55..8ecfb1759 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -131,16 +131,15 @@ module constitutive of end subroutine source_thermal_externalheat_dotState - - module function constitutive_homogenizedC(ipc,ip,el) result(homogenizedC) + module function plastic_dislotwin_homogenizedC(ipc,ip,el) result(homogenizedC) real(pReal), dimension(6,6) :: & homogenizedC integer, intent(in) :: & ipc, & !< component-ID of integration point ip, & !< integration point el !< element - end function constitutive_homogenizedC - + end function plastic_dislotwin_homogenizedC + module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el) integer, intent(in) :: & @@ -430,6 +429,28 @@ subroutine constitutive_init end subroutine constitutive_init +!-------------------------------------------------------------------------------------------------- +!> @brief returns the homogenize elasticity matrix +!> ToDo: homogenizedC66 would be more consistent +!-------------------------------------------------------------------------------------------------- +function constitutive_homogenizedC(ipc,ip,el) + + real(pReal) , dimension(6,6) :: & + constitutive_homogenizedC + integer, intent(in) :: & + ipc, & + ip, & + el + + plasticityType: select case (phase_plasticity(material_phaseAt(ipc,el))) + case (PLASTICITY_DISLOTWIN_ID) plasticityType + constitutive_homogenizedC = plastic_dislotwin_homogenizedC(ipc,ip,el) + case default plasticityType + constitutive_homogenizedC = lattice_C66(1:6,1:6,material_phaseAt(ipc,el)) + end select plasticityType + +end function constitutive_homogenizedC + !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the velocity gradient diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index bfab42833..ad7e5a54b 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -113,15 +113,6 @@ submodule(constitutive) constitutive_plastic el !< current element number end subroutine plastic_nonlocal_LpAndItsTangent - module function plastic_dislotwin_homogenizedC(ipc,ip,el) result(homogenizedC) - real(pReal), dimension(6,6) :: & - homogenizedC - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - end function plastic_dislotwin_homogenizedC - module subroutine plastic_dislotwin_dependentState(T,instance,of) integer, intent(in) :: & @@ -176,21 +167,6 @@ module subroutine plastic_init end subroutine plastic_init -!-------------------------------------------------------------------------------------------------- -!> @brief returns the homogenize elasticity matrix -!> ToDo: homogenizedC66 would be more consistent -!-------------------------------------------------------------------------------------------------- -module procedure constitutive_homogenizedC - - plasticityType: select case (phase_plasticity(material_phaseAt(ipc,el))) - case (PLASTICITY_DISLOTWIN_ID) plasticityType - homogenizedC = plastic_dislotwin_homogenizedC(ipc,ip,el) - case default plasticityType - homogenizedC = lattice_C66(1:6,1:6,material_phaseAt(ipc,el)) - end select plasticityType - -end procedure constitutive_homogenizedC - !-------------------------------------------------------------------------------------------------- !> @brief calls microstructure function of the different constitutive models From 3a5e3b36c10b0c9da51e5fbc554a13a804e708bd Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Sun, 12 Jul 2020 13:04:26 +0200 Subject: [PATCH 365/958] better function name, crystallite should not know which physics is involved --- src/constitutive.f90 | 12 ++++++------ src/constitutive_plastic.f90 | 8 ++++---- src/crystallite.f90 | 8 ++++---- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 8ecfb1759..62e9c661f 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -140,7 +140,7 @@ module constitutive el !< element end function plastic_dislotwin_homogenizedC - module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el) + module subroutine constitutive_dependentState(F, Fp, ipc, ip, el) integer, intent(in) :: & ipc, & !< component-ID of integration point @@ -149,9 +149,9 @@ module constitutive real(pReal), intent(in), dimension(3,3) :: & F, & !< elastic deformation gradient Fp !< plastic deformation gradient - end subroutine constitutive_plastic_dependentState + end subroutine constitutive_dependentState - module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & + module subroutine constitutive_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & S, Fi, ipc, ip, el) integer, intent(in) :: & ipc, & !< component-ID of integration point @@ -166,7 +166,7 @@ module constitutive dLp_dS, & dLp_dFi !< derivative of Lp with respect to Fi - end subroutine constitutive_plastic_LpAndItsTangents + end subroutine constitutive_LpAndItsTangents pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain) @@ -368,8 +368,8 @@ module constitutive public :: & constitutive_init, & constitutive_homogenizedC, & - constitutive_plastic_LpAndItsTangents, & - constitutive_plastic_dependentState, & + constitutive_LpAndItsTangents, & + constitutive_dependentState, & constitutive_LiAndItsTangents, & constitutive_initialFi, & constitutive_SandItsTangents, & diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index ad7e5a54b..7ede355e1 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -171,7 +171,7 @@ end subroutine plastic_init !-------------------------------------------------------------------------------------------------- !> @brief calls microstructure function of the different constitutive models !-------------------------------------------------------------------------------------------------- -module procedure constitutive_plastic_dependentState +module procedure constitutive_dependentState integer :: & ho, & !< homogenization @@ -192,14 +192,14 @@ module procedure constitutive_plastic_dependentState call plastic_nonlocal_dependentState (F,Fp,instance,of,ip,el) end select plasticityType -end procedure constitutive_plastic_dependentState +end procedure constitutive_dependentState !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the velocity gradient ! ToDo: Discuss whether it makes sense if crystallite handles the configuration conversion, i.e. ! Mp in, dLp_dMp out !-------------------------------------------------------------------------------------------------- -module procedure constitutive_plastic_LpAndItsTangents +module procedure constitutive_LpAndItsTangents real(pReal), dimension(3,3,3,3) :: & dLp_dMp !< derivative of Lp with respect to Mandel stress @@ -250,7 +250,7 @@ module procedure constitutive_plastic_LpAndItsTangents dLp_dS(i,j,1:3,1:3) = matmul(matmul(transpose(Fi),Fi),dLp_dMp(i,j,1:3,1:3)) ! ToDo: @PS: why not: dLp_dMp:(FiT Fi) enddo; enddo -end procedure constitutive_plastic_LpAndItsTangents +end procedure constitutive_LpAndItsTangents end submodule constitutive_plastic diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 2ca9e8d00..fbce3ab47 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -279,7 +279,7 @@ subroutine crystallite_init do e = FEsolving_execElem(1),FEsolving_execElem(2) do i = FEsolving_execIP(1),FEsolving_execIP(2) do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) - call constitutive_plastic_dependentState(crystallite_partionedF0(1:3,1:3,c,i,e), & + call constitutive_dependentState(crystallite_partionedF0(1:3,1:3,c,i,e), & crystallite_partionedFp0(1:3,1:3,c,i,e), & c,i,e) ! update dependent state variables to be consistent with basic states enddo @@ -554,7 +554,7 @@ subroutine crystallite_stressTangent dLidS = math_mul3333xx3333(dLidFi,dFidS) + dLidS endif - call constitutive_plastic_LpAndItsTangents(devNull,dLpdS,dLpdFi, & + call constitutive_LpAndItsTangents(devNull,dLpdS,dLpdFi, & crystallite_S (1:3,1:3,c,i,e), & crystallite_Fi(1:3,1:3,c,i,e),c,i,e) ! call constitutive law to calculate Lp tangent in lattice configuration dLpdS = math_mul3333xx3333(dLpdFi,dFidS) + dLpdS @@ -874,7 +874,7 @@ function integrateStress(ipc,ip,el,timeFraction) result(broken) F = crystallite_subF(1:3,1:3,ipc,ip,el) endif - call constitutive_plastic_dependentState(crystallite_partionedF(1:3,1:3,ipc,ip,el), & + call constitutive_dependentState(crystallite_partionedF(1:3,1:3,ipc,ip,el), & crystallite_Fp(1:3,1:3,ipc,ip,el),ipc,ip,el) Lpguess = crystallite_Lp(1:3,1:3,ipc,ip,el) ! take as first guess @@ -915,7 +915,7 @@ function integrateStress(ipc,ip,el,timeFraction) result(broken) call constitutive_SandItsTangents(S, dS_dFe, dS_dFi, & Fe, Fi_new, ipc, ip, el) - call constitutive_plastic_LpAndItsTangents(Lp_constitutive, dLp_dS, dLp_dFi, & + call constitutive_LpAndItsTangents(Lp_constitutive, dLp_dS, dLp_dFi, & S, Fi_new, ipc, ip, el) !* update current residuum and check for convergence of loop From 5602abe690b48c76b60c3c0d8d9fa841519e924c Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Sun, 12 Jul 2020 13:27:28 +0200 Subject: [PATCH 366/958] generic interfaces makes sense --- src/constitutive.f90 | 23 +++++++++++++++++------ src/constitutive_plastic.f90 | 8 ++++---- src/damage_local.f90 | 2 +- src/damage_nonlocal.f90 | 2 +- src/thermal_adiabatic.f90 | 2 +- src/thermal_conduction.f90 | 2 +- 6 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 62e9c661f..cb970957f 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -140,7 +140,7 @@ module constitutive el !< element end function plastic_dislotwin_homogenizedC - module subroutine constitutive_dependentState(F, Fp, ipc, ip, el) + module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el) integer, intent(in) :: & ipc, & !< component-ID of integration point @@ -149,9 +149,9 @@ module constitutive real(pReal), intent(in), dimension(3,3) :: & F, & !< elastic deformation gradient Fp !< plastic deformation gradient - end subroutine constitutive_dependentState + end subroutine constitutive_plastic_dependentState - module subroutine constitutive_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & + module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & S, Fi, ipc, ip, el) integer, intent(in) :: & ipc, & !< component-ID of integration point @@ -166,7 +166,7 @@ module constitutive dLp_dS, & dLp_dFi !< derivative of Lp with respect to Fi - end subroutine constitutive_LpAndItsTangents + end subroutine constitutive_plastic_LpAndItsTangents pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain) @@ -351,6 +351,18 @@ module constitutive end interface + interface constitutive_LpAndItsTangents + module procedure :: constitutive_plastic_LpAndItsTangents + end interface constitutive_LpAndItsTangents + + interface constitutive_dependentState + module procedure :: constitutive_plastic_dependentState + end interface constitutive_dependentState + + interface constitutive_getRateAndItsTangents + module procedure :: constitutive_damage_getRateAndItsTangents , & + constitutive_thermal_getRateAndItsTangents + end interface constitutive_getRateAndItsTangents type :: tDebugOptions logical :: & @@ -376,8 +388,7 @@ module constitutive constitutive_collectDotState, & constitutive_deltaState, & plastic_nonlocal_updateCompatibility, & - constitutive_damage_getRateAndItsTangents, & - constitutive_thermal_getRateAndItsTangents, & + constitutive_getRateAndItsTangents, & constitutive_results contains diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index 7ede355e1..ad7e5a54b 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -171,7 +171,7 @@ end subroutine plastic_init !-------------------------------------------------------------------------------------------------- !> @brief calls microstructure function of the different constitutive models !-------------------------------------------------------------------------------------------------- -module procedure constitutive_dependentState +module procedure constitutive_plastic_dependentState integer :: & ho, & !< homogenization @@ -192,14 +192,14 @@ module procedure constitutive_dependentState call plastic_nonlocal_dependentState (F,Fp,instance,of,ip,el) end select plasticityType -end procedure constitutive_dependentState +end procedure constitutive_plastic_dependentState !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the velocity gradient ! ToDo: Discuss whether it makes sense if crystallite handles the configuration conversion, i.e. ! Mp in, dLp_dMp out !-------------------------------------------------------------------------------------------------- -module procedure constitutive_LpAndItsTangents +module procedure constitutive_plastic_LpAndItsTangents real(pReal), dimension(3,3,3,3) :: & dLp_dMp !< derivative of Lp with respect to Mandel stress @@ -250,7 +250,7 @@ module procedure constitutive_LpAndItsTangents dLp_dS(i,j,1:3,1:3) = matmul(matmul(transpose(Fi),Fi),dLp_dMp(i,j,1:3,1:3)) ! ToDo: @PS: why not: dLp_dMp:(FiT Fi) enddo; enddo -end procedure constitutive_LpAndItsTangents +end procedure constitutive_plastic_LpAndItsTangents end submodule constitutive_plastic diff --git a/src/damage_local.f90 b/src/damage_local.f90 index 66b50064b..3d448f7a4 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -131,7 +131,7 @@ subroutine damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el phiDot = 0.0_pReal dPhiDot_dPhi = 0.0_pReal - call constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) + call constitutive_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) phiDot = phiDot/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) diff --git a/src/damage_nonlocal.f90 b/src/damage_nonlocal.f90 index 914133de7..530a79899 100644 --- a/src/damage_nonlocal.f90 +++ b/src/damage_nonlocal.f90 @@ -100,7 +100,7 @@ subroutine damage_nonlocal_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, phiDot = 0.0_pReal dPhiDot_dPhi = 0.0_pReal - call constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) + call constitutive_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) phiDot = phiDot/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) diff --git a/src/thermal_adiabatic.f90 b/src/thermal_adiabatic.f90 index c52f0a3d0..9e4710a1e 100644 --- a/src/thermal_adiabatic.f90 +++ b/src/thermal_adiabatic.f90 @@ -131,7 +131,7 @@ subroutine thermal_adiabatic_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el) dTdot_dT = 0.0_pReal homog = material_homogenizationAt(el) - call constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S, crystallite_Lp, ip, el) + call constitutive_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S, crystallite_Lp, ip, el) Tdot = Tdot/real(homogenization_Ngrains(homog),pReal) dTdot_dT = dTdot_dT/real(homogenization_Ngrains(homog),pReal) diff --git a/src/thermal_conduction.f90 b/src/thermal_conduction.f90 index 60766710d..2afe411f1 100644 --- a/src/thermal_conduction.f90 +++ b/src/thermal_conduction.f90 @@ -90,7 +90,7 @@ subroutine thermal_conduction_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el) dTdot_dT = 0.0_pReal homog = material_homogenizationAt(el) - call constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S,crystallite_Lp ,ip, el) + call constitutive_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S,crystallite_Lp ,ip, el) Tdot = Tdot/real(homogenization_Ngrains(homog),pReal) dTdot_dT = dTdot_dT/real(homogenization_Ngrains(homog),pReal) From debe096a538acf10f5d38ff718d07e78311a8888 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Sun, 12 Jul 2020 15:22:40 +0200 Subject: [PATCH 367/958] results placed where it belongs; cleaning --- src/constitutive.f90 | 109 +++-------------------------------- src/constitutive_damage.f90 | 70 ++++++++++++++++++---- src/constitutive_plastic.f90 | 72 ++++++++++++++++++++++- src/constitutive_thermal.f90 | 2 - 4 files changed, 135 insertions(+), 118 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index cb970957f..040858e3f 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -298,56 +298,11 @@ module constitutive C end subroutine source_damage_isoBrittle_deltaState - - module subroutine plastic_isotropic_results(instance,group) - integer, intent(in) :: instance - character(len=*), intent(in) :: group - end subroutine plastic_isotropic_results - - module subroutine plastic_phenopowerlaw_results(instance,group) - integer, intent(in) :: instance - character(len=*), intent(in) :: group - end subroutine plastic_phenopowerlaw_results - - module subroutine plastic_kinehardening_results(instance,group) - integer, intent(in) :: instance - character(len=*), intent(in) :: group - end subroutine plastic_kinehardening_results - - module subroutine plastic_dislotwin_results(instance,group) - integer, intent(in) :: instance - character(len=*), intent(in) :: group - end subroutine plastic_dislotwin_results - - module subroutine plastic_disloUCLA_results(instance,group) - integer, intent(in) :: instance - character(len=*), intent(in) :: group - end subroutine plastic_disloUCLA_results - - module subroutine plastic_nonlocal_results(instance,group) - integer, intent(in) :: instance - character(len=*), intent(in) :: group - end subroutine plastic_nonlocal_results - - module subroutine source_damage_anisoBrittle_results(phase,group) - integer, intent(in) :: phase - character(len=*), intent(in) :: group - end subroutine source_damage_anisoBrittle_results - - module subroutine source_damage_anisoDuctile_results(phase,group) - integer, intent(in) :: phase - character(len=*), intent(in) :: group - end subroutine source_damage_anisoDuctile_results - - module subroutine source_damage_isoBrittle_results(phase,group) - integer, intent(in) :: phase - character(len=*), intent(in) :: group - end subroutine source_damage_isoBrittle_results - - module subroutine source_damage_isoDuctile_results(phase,group) - integer, intent(in) :: phase - character(len=*), intent(in) :: group - end subroutine source_damage_isoDuctile_results + module subroutine plastic_results + end subroutine plastic_results + + module subroutine damage_results + end subroutine damage_results end interface @@ -817,58 +772,8 @@ end function constitutive_deltaState !-------------------------------------------------------------------------------------------------- subroutine constitutive_results - integer :: p,i - character(len=pStringLen) :: group,group_plastic,group_sources - - plasticityLoop: do p=1,size(config_name_phase) - group = trim('current/constituent')//'/'//trim(config_name_phase(p)) - call results_closeGroup(results_addGroup(group)) - - group_plastic = trim(group)//'/plastic' - - call results_closeGroup(results_addGroup(group_plastic)) - select case(phase_plasticity(p)) - - case(PLASTICITY_ISOTROPIC_ID) - call plastic_isotropic_results(phase_plasticityInstance(p),group_plastic) - - case(PLASTICITY_PHENOPOWERLAW_ID) - call plastic_phenopowerlaw_results(phase_plasticityInstance(p),group_plastic) - - case(PLASTICITY_KINEHARDENING_ID) - call plastic_kinehardening_results(phase_plasticityInstance(p),group_plastic) - - case(PLASTICITY_DISLOTWIN_ID) - call plastic_dislotwin_results(phase_plasticityInstance(p),group_plastic) - - case(PLASTICITY_DISLOUCLA_ID) - call plastic_disloUCLA_results(phase_plasticityInstance(p),group_plastic) - - case(PLASTICITY_NONLOCAL_ID) - call plastic_nonlocal_results(phase_plasticityInstance(p),group_plastic) - end select - - sourceLoop: do i = 1, phase_Nsources(p) - group_sources = trim(group)//'/sources' - - call results_closeGroup(results_addGroup(group_sources)) - - sourceType: select case (phase_source(i,p)) - - case (SOURCE_damage_anisoBrittle_ID) sourceType - call source_damage_anisoBrittle_results(p,group_sources) - case (SOURCE_damage_anisoDuctile_ID) sourceType - call source_damage_anisoDuctile_results(p,group_sources) - case (SOURCE_damage_isoBrittle_ID) sourceType - call source_damage_isoBrittle_results(p,group_sources) - case (SOURCE_damage_isoDuctile_ID) sourceType - call source_damage_isoDuctile_results(p,group_sources) - end select sourceType - - enddo SourceLoop - - enddo plasticityLoop - + call plastic_results + call damage_results end subroutine constitutive_results diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 index 6dae6e298..fe9eb4e41 100644 --- a/src/constitutive_damage.f90 +++ b/src/constitutive_damage.f90 @@ -1,7 +1,5 @@ submodule(constitutive) constitutive_damage - implicit none - interface module subroutine source_damage_anisoBrittle_init @@ -24,7 +22,6 @@ submodule(constitutive) constitutive_damage module subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) - integer, intent(in) :: & phase, & constituent @@ -33,11 +30,9 @@ submodule(constitutive) constitutive_damage real(pReal), intent(out) :: & localphiDot, & dLocalphiDot_dPhi - end subroutine source_damage_anisoBrittle_getRateAndItsTangent module subroutine source_damage_anisoDuctile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) - integer, intent(in) :: & phase, & constituent @@ -46,11 +41,9 @@ submodule(constitutive) constitutive_damage real(pReal), intent(out) :: & localphiDot, & dLocalphiDot_dPhi - end subroutine source_damage_anisoDuctile_getRateAndItsTangent module subroutine source_damage_isoBrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) - integer, intent(in) :: & phase, & constituent @@ -59,11 +52,9 @@ submodule(constitutive) constitutive_damage real(pReal), intent(out) :: & localphiDot, & dLocalphiDot_dPhi - end subroutine source_damage_isoBrittle_getRateAndItsTangent module subroutine source_damage_isoDuctile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) - integer, intent(in) :: & phase, & constituent @@ -72,11 +63,9 @@ submodule(constitutive) constitutive_damage real(pReal), intent(out) :: & localphiDot, & dLocalphiDot_dPhi - end subroutine source_damage_isoDuctile_getRateAndItsTangent module subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDot_dT, Tstar, Lp, phase) - integer, intent(in) :: & phase real(pReal), intent(in), dimension(3,3) :: & @@ -87,8 +76,28 @@ submodule(constitutive) constitutive_damage real(pReal), intent(out) :: & TDot, & dTDot_dT - end subroutine source_thermal_dissipation_getRateAndItsTangent + + module subroutine source_damage_anisoBrittle_results(phase,group) + integer, intent(in) :: phase + character(len=*), intent(in) :: group + end subroutine source_damage_anisoBrittle_results + + module subroutine source_damage_anisoDuctile_results(phase,group) + integer, intent(in) :: phase + character(len=*), intent(in) :: group + end subroutine source_damage_anisoDuctile_results + + module subroutine source_damage_isoBrittle_results(phase,group) + integer, intent(in) :: phase + character(len=*), intent(in) :: group + end subroutine source_damage_isoBrittle_results + + module subroutine source_damage_isoDuctile_results(phase,group) + integer, intent(in) :: phase + character(len=*), intent(in) :: group + end subroutine source_damage_isoDuctile_results + end interface contains @@ -152,4 +161,41 @@ module procedure constitutive_damage_getRateAndItsTangents end procedure constitutive_damage_getRateAndItsTangents + +module subroutine damage_results + + integer :: p,i + character(len=pStringLen) :: group + + do p = 1, size(config_name_phase) + sourceLoop: do i = 1, phase_Nsources(p) + group = trim('current/constituent')//'/'//trim(config_name_phase(p)) + group = trim(group)//'/sources' + + sourceType: select case (phase_source(i,p)) + + case (SOURCE_damage_anisoBrittle_ID) sourceType + group = trim(group)//'/damage_anisoBrittle' + call results_closeGroup(results_addGroup(group)) + call source_damage_anisoBrittle_results(p,group) + case (SOURCE_damage_anisoDuctile_ID) sourceType + group = trim(group)//'/damage_anisoDuctile' + call results_closeGroup(results_addGroup(group)) + call source_damage_anisoDuctile_results(p,group) + case (SOURCE_damage_isoBrittle_ID) sourceType + group = trim(group)//'/damage_isoBrittle' + call results_closeGroup(results_addGroup(group)) + call source_damage_isoBrittle_results(p,group) + case (SOURCE_damage_isoDuctile_ID) sourceType + group = trim(group)//'/damage_isoDuctile' + call results_closeGroup(results_addGroup(group)) + call source_damage_isoDuctile_results(p,group) + end select sourceType + + enddo SourceLoop + enddo + +end subroutine damage_results + + end submodule diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index ad7e5a54b..873887149 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -1,7 +1,5 @@ submodule(constitutive) constitutive_plastic - implicit none - interface module subroutine plastic_none_init @@ -139,6 +137,38 @@ submodule(constitutive) constitutive_plastic el end subroutine plastic_nonlocal_dependentState + module subroutine plastic_isotropic_results(instance,group) + integer, intent(in) :: instance + character(len=*), intent(in) :: group + end subroutine plastic_isotropic_results + + module subroutine plastic_phenopowerlaw_results(instance,group) + integer, intent(in) :: instance + character(len=*), intent(in) :: group + end subroutine plastic_phenopowerlaw_results + + module subroutine plastic_kinehardening_results(instance,group) + integer, intent(in) :: instance + character(len=*), intent(in) :: group + end subroutine plastic_kinehardening_results + + module subroutine plastic_dislotwin_results(instance,group) + integer, intent(in) :: instance + character(len=*), intent(in) :: group + end subroutine plastic_dislotwin_results + + module subroutine plastic_disloUCLA_results(instance,group) + integer, intent(in) :: instance + character(len=*), intent(in) :: group + end subroutine plastic_disloUCLA_results + + module subroutine plastic_nonlocal_results(instance,group) + integer, intent(in) :: instance + character(len=*), intent(in) :: group + end subroutine plastic_nonlocal_results + + + end interface @@ -252,5 +282,43 @@ module procedure constitutive_plastic_LpAndItsTangents end procedure constitutive_plastic_LpAndItsTangents +module subroutine plastic_results + + integer :: p + character(len=pStringLen) :: group + + plasticityLoop: do p=1,size(config_name_phase) + group = trim('current/constituent')//'/'//trim(config_name_phase(p)) + call results_closeGroup(results_addGroup(group)) + + group = trim(group)//'/plastic' + + call results_closeGroup(results_addGroup(group)) + select case(phase_plasticity(p)) + + case(PLASTICITY_ISOTROPIC_ID) + call plastic_isotropic_results(phase_plasticityInstance(p),group) + + case(PLASTICITY_PHENOPOWERLAW_ID) + call plastic_phenopowerlaw_results(phase_plasticityInstance(p),group) + + case(PLASTICITY_KINEHARDENING_ID) + call plastic_kinehardening_results(phase_plasticityInstance(p),group) + + case(PLASTICITY_DISLOTWIN_ID) + call plastic_dislotwin_results(phase_plasticityInstance(p),group) + + case(PLASTICITY_DISLOUCLA_ID) + call plastic_disloUCLA_results(phase_plasticityInstance(p),group) + + case(PLASTICITY_NONLOCAL_ID) + call plastic_nonlocal_results(phase_plasticityInstance(p),group) + end select + + enddo plasticityLoop + +end subroutine plastic_results + + end submodule constitutive_plastic diff --git a/src/constitutive_thermal.f90 b/src/constitutive_thermal.f90 index 5526fb1d3..ca40e21fa 100644 --- a/src/constitutive_thermal.f90 +++ b/src/constitutive_thermal.f90 @@ -1,7 +1,5 @@ submodule(constitutive) constitutive_thermal - implicit none - interface module subroutine source_thermal_dissipation_init From 70fb68d22490397be147df753ef169f038b160a9 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Sun, 12 Jul 2020 16:44:26 +0200 Subject: [PATCH 368/958] cleaning --- src/constitutive.f90 | 90 ++++++++++++++++++------------------ src/constitutive_damage.f90 | 28 +++++++++-- src/constitutive_plastic.f90 | 40 ++++++++++++---- src/constitutive_thermal.f90 | 22 ++++++++- 4 files changed, 120 insertions(+), 60 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 040858e3f..abff6e21d 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -101,9 +101,9 @@ module constitutive module subroutine source_damage_anisoBrittle_dotState(S, ipc, ip, el) integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element real(pReal), intent(in), dimension(3,3) :: & S end subroutine source_damage_anisoBrittle_dotState @@ -111,17 +111,17 @@ module constitutive module subroutine source_damage_anisoDuctile_dotState(ipc, ip, el) integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element end subroutine source_damage_anisoDuctile_dotState module subroutine source_damage_isoDuctile_dotState(ipc, ip, el) integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element end subroutine source_damage_isoDuctile_dotState module subroutine source_thermal_externalheat_dotState(phase, of) @@ -143,28 +143,28 @@ module constitutive module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el) integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element real(pReal), intent(in), dimension(3,3) :: & - F, & !< elastic deformation gradient - Fp !< plastic deformation gradient + F, & !< elastic deformation gradient + Fp !< plastic deformation gradient end subroutine constitutive_plastic_dependentState module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & S, Fi, ipc, ip, el) integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element real(pReal), intent(in), dimension(3,3) :: & - S, & !< 2nd Piola-Kirchhoff stress - Fi !< intermediate deformation gradient + S, & !< 2nd Piola-Kirchhoff stress + Fi !< intermediate deformation gradient real(pReal), intent(out), dimension(3,3) :: & - Lp !< plastic velocity gradient + Lp !< plastic velocity gradient real(pReal), intent(out), dimension(3,3,3,3) :: & dLp_dS, & - dLp_dFi !< derivative of Lp with respect to Fi + dLp_dFi !< derivative of Lp with respect to Fi end subroutine constitutive_plastic_LpAndItsTangents @@ -190,8 +190,8 @@ module constitutive module subroutine constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) integer, intent(in) :: & - ip, & !< integration point number - el !< element number + ip, & !< integration point number + el !< element number real(pReal), intent(in) :: & phi real(pReal), intent(inout) :: & @@ -202,8 +202,8 @@ module constitutive module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, Tstar, Lp, ip, el) integer, intent(in) :: & - ip, & !< integration point number - el !< element number + ip, & !< integration point number + el !< element number real(pReal), intent(in) :: & T real(pReal), intent(in), dimension(:,:,:,:,:) :: & @@ -231,41 +231,41 @@ module constitutive module subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ipc, ip, el) integer, intent(in) :: & - ipc, & !< grain number - ip, & !< integration point number - el !< element number + ipc, & !< grain number + ip, & !< integration point number + el !< element number real(pReal), intent(in), dimension(3,3) :: & S real(pReal), intent(out), dimension(3,3) :: & - Ld !< damage velocity gradient + Ld !< damage velocity gradient real(pReal), intent(out), dimension(3,3,3,3) :: & - dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor) + dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor) end subroutine kinematics_cleavage_opening_LiAndItsTangent module subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ipc, ip, el) integer, intent(in) :: & - ipc, & !< grain number - ip, & !< integration point number - el !< element number + ipc, & !< grain number + ip, & !< integration point number + el !< element number real(pReal), intent(in), dimension(3,3) :: & S real(pReal), intent(out), dimension(3,3) :: & - Ld !< damage velocity gradient + Ld !< damage velocity gradient real(pReal), intent(out), dimension(3,3,3,3) :: & - dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor) + dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor) end subroutine kinematics_slipplane_opening_LiAndItsTangent module subroutine kinematics_thermal_expansion_LiAndItsTangent(Li, dLi_dTstar, ipc, ip, el) integer, intent(in) :: & - ipc, & !< grain number - ip, & !< integration point number - el !< element number + ipc, & !< grain number + ip, & !< integration point number + el !< element number real(pReal), intent(out), dimension(3,3) :: & - Li !< thermal velocity gradient + Li !< thermal velocity gradient real(pReal), intent(out), dimension(3,3,3,3) :: & - dLi_dTstar !< derivative of Li with respect to Tstar (4th-order tensor defined to be zero) + dLi_dTstar !< derivative of Li with respect to Tstar (4th-order tensor defined to be zero) end subroutine kinematics_thermal_expansion_LiAndItsTangent @@ -289,9 +289,9 @@ module constitutive module subroutine source_damage_isoBrittle_deltaState(C, Fe, ipc, ip, el) integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element real(pReal), intent(in), dimension(3,3) :: & Fe real(pReal), intent(in), dimension(6,6) :: & @@ -613,7 +613,7 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el integer, intent(in) :: & ipc, & !< component-ID of integration point ip, & !< integration point - el, & !< element + el, & !< element phase, & of real(pReal), intent(in) :: & @@ -668,7 +668,7 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el sourceType: select case (phase_source(i,phase)) case (SOURCE_damage_anisoBrittle_ID) sourceType - call source_damage_anisoBrittle_dotState (S, ipc, ip, el) !< correct stress? + call source_damage_anisoBrittle_dotState (S, ipc, ip, el) ! correct stress? case (SOURCE_damage_isoDuctile_ID) sourceType call source_damage_isoDuctile_dotState ( ipc, ip, el) diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 index fe9eb4e41..5e1ed848d 100644 --- a/src/constitutive_damage.f90 +++ b/src/constitutive_damage.f90 @@ -23,10 +23,10 @@ submodule(constitutive) constitutive_damage module subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) integer, intent(in) :: & - phase, & - constituent + phase, & !< phase ID of element + constituent !< position of element within its phase instance real(pReal), intent(in) :: & - phi + phi !< damage value real(pReal), intent(out) :: & localphiDot, & dLocalphiDot_dPhi @@ -102,6 +102,9 @@ submodule(constitutive) constitutive_damage contains +!---------------------------------------------------------------------------------------------- +!< @brief initialize damage sources and kinematics mechanism +!---------------------------------------------------------------------------------------------- module subroutine damage_init ! initialize source mechanisms @@ -118,7 +121,19 @@ module subroutine damage_init end subroutine damage_init -module procedure constitutive_damage_getRateAndItsTangents +!---------------------------------------------------------------------------------------------- +!< @brief returns local part of nonlocal damage driving force +!---------------------------------------------------------------------------------------------- +module subroutine constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) + + integer, intent(in) :: & + ip, & !< integration point number + el !< element number + real(pReal), intent(in) :: & + phi + real(pReal), intent(inout) :: & + phiDot, & + dPhiDot_dPhi real(pReal) :: & localphiDot, & @@ -159,9 +174,12 @@ module procedure constitutive_damage_getRateAndItsTangents enddo enddo -end procedure constitutive_damage_getRateAndItsTangents +end subroutine constitutive_damage_getRateAndItsTangents +!---------------------------------------------------------------------------------------------- +!< @brief writes damage sources resultsvto HDF5 output file +!---------------------------------------------------------------------------------------------- module subroutine damage_results integer :: p,i diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index 873887149..f62bca60e 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -168,7 +168,6 @@ submodule(constitutive) constitutive_plastic end subroutine plastic_nonlocal_results - end interface @@ -197,11 +196,18 @@ module subroutine plastic_init end subroutine plastic_init +!-------------------------------------------------------------------------------------------------- +!> @brief calls microstructure function of the different plasticity constitutive models +!-------------------------------------------------------------------------------------------------- +module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el) -!-------------------------------------------------------------------------------------------------- -!> @brief calls microstructure function of the different constitutive models -!-------------------------------------------------------------------------------------------------- -module procedure constitutive_plastic_dependentState + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + F, & !< elastic deformation gradient + Fp !< plastic deformation gradient integer :: & ho, & !< homogenization @@ -222,14 +228,28 @@ module procedure constitutive_plastic_dependentState call plastic_nonlocal_dependentState (F,Fp,instance,of,ip,el) end select plasticityType -end procedure constitutive_plastic_dependentState +end subroutine constitutive_plastic_dependentState + !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the velocity gradient ! ToDo: Discuss whether it makes sense if crystallite handles the configuration conversion, i.e. ! Mp in, dLp_dMp out !-------------------------------------------------------------------------------------------------- -module procedure constitutive_plastic_LpAndItsTangents +module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & + S, Fi, ipc, ip, el) + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + S, & !< 2nd Piola-Kirchhoff stress + Fi !< intermediate deformation gradient + real(pReal), intent(out), dimension(3,3) :: & + Lp !< plastic velocity gradient + real(pReal), intent(out), dimension(3,3,3,3) :: & + dLp_dS, & + dLp_dFi !< derivative of Lp with respect to Fi real(pReal), dimension(3,3,3,3) :: & dLp_dMp !< derivative of Lp with respect to Mandel stress @@ -280,8 +300,12 @@ module procedure constitutive_plastic_LpAndItsTangents dLp_dS(i,j,1:3,1:3) = matmul(matmul(transpose(Fi),Fi),dLp_dMp(i,j,1:3,1:3)) ! ToDo: @PS: why not: dLp_dMp:(FiT Fi) enddo; enddo -end procedure constitutive_plastic_LpAndItsTangents +end subroutine constitutive_plastic_LpAndItsTangents + +!-------------------------------------------------------------------------------------------- +!> @brief writes plasticity constitutive results to HDF5 output file +!-------------------------------------------------------------------------------------------- module subroutine plastic_results integer :: p diff --git a/src/constitutive_thermal.f90 b/src/constitutive_thermal.f90 index ca40e21fa..5972f5dc3 100644 --- a/src/constitutive_thermal.f90 +++ b/src/constitutive_thermal.f90 @@ -39,8 +39,12 @@ submodule(constitutive) constitutive_thermal end subroutine source_thermal_externalheat_getRateAndItsTangent end interface + contains +!---------------------------------------------------------------------------------------------- +!< @brief initializes thermal sources and kinematics mechanism +!---------------------------------------------------------------------------------------------- module subroutine thermal_init ! initialize source mechanisms @@ -54,7 +58,21 @@ module subroutine thermal_init end subroutine thermal_init -module procedure constitutive_thermal_getRateAndItsTangents +!---------------------------------------------------------------------------------------------- +!< @brief calculates thermal dissipation rate +!---------------------------------------------------------------------------------------------- +module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, Tstar, Lp, ip, el) + integer, intent(in) :: & + ip, & !< integration point number + el !< element number + real(pReal), intent(in) :: & + T + real(pReal), intent(in), dimension(:,:,:,:,:) :: & + Tstar, & + Lp + real(pReal), intent(inout) :: & + TDot, & + dTDot_dT real(pReal) :: & my_Tdot, & @@ -94,6 +112,6 @@ module procedure constitutive_thermal_getRateAndItsTangents enddo enddo -end procedure constitutive_thermal_getRateAndItsTangents +end subroutine constitutive_thermal_getRateAndItsTangents end submodule From 0067b44a0df78b22f8976aeb1a0c8a12ab546bb2 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Sun, 12 Jul 2020 18:38:52 +0200 Subject: [PATCH 369/958] wrong logic --- src/constitutive_damage.f90 | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 index 5e1ed848d..8c36e4df2 100644 --- a/src/constitutive_damage.f90 +++ b/src/constitutive_damage.f90 @@ -189,24 +189,17 @@ module subroutine damage_results sourceLoop: do i = 1, phase_Nsources(p) group = trim('current/constituent')//'/'//trim(config_name_phase(p)) group = trim(group)//'/sources' + call results_closeGroup(results_addGroup(group)) sourceType: select case (phase_source(i,p)) case (SOURCE_damage_anisoBrittle_ID) sourceType - group = trim(group)//'/damage_anisoBrittle' - call results_closeGroup(results_addGroup(group)) call source_damage_anisoBrittle_results(p,group) case (SOURCE_damage_anisoDuctile_ID) sourceType - group = trim(group)//'/damage_anisoDuctile' - call results_closeGroup(results_addGroup(group)) call source_damage_anisoDuctile_results(p,group) case (SOURCE_damage_isoBrittle_ID) sourceType - group = trim(group)//'/damage_isoBrittle' - call results_closeGroup(results_addGroup(group)) call source_damage_isoBrittle_results(p,group) case (SOURCE_damage_isoDuctile_ID) sourceType - group = trim(group)//'/damage_isoDuctile' - call results_closeGroup(results_addGroup(group)) call source_damage_isoDuctile_results(p,group) end select sourceType From dbca47f113b64ad87ba1391a8a43bdd7bdf669e0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 13 Jul 2020 12:38:21 +0200 Subject: [PATCH 370/958] better handling of corner cases copy and paste from python code --- src/quaternions.f90 | 2 ++ src/rotations.f90 | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/quaternions.f90 b/src/quaternions.f90 index c337bd681..a396f7f67 100644 --- a/src/quaternions.f90 +++ b/src/quaternions.f90 @@ -464,6 +464,8 @@ subroutine selfTest real(pReal), dimension(4) :: qu type(quaternion) :: q, q_2 + if(dNeq(abs(P),1.0_pReal)) call IO_error(0,ext_msg='P not in {-1,+1}') + call random_number(qu) qu = (qu-0.5_pReal) * 2.0_pReal q = quaternion(qu) diff --git a/src/rotations.f90 b/src/rotations.f90 index f95c54e98..7879523d2 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -581,7 +581,7 @@ pure function om2eu(om) result(eu) real(pReal), dimension(3) :: eu real(pReal) :: zeta - if (abs(om(3,3)) < 1.0_pReal) then + if(dNeq(abs(om(3,3)),1.0_pReal,1.e-9_pReal)) then zeta = 1.0_pReal/sqrt(1.0_pReal-om(3,3)**2.0_pReal) eu = [atan2(om(3,1)*zeta,-om(3,2)*zeta), & acos(om(3,3)), & @@ -589,8 +589,8 @@ pure function om2eu(om) result(eu) else eu = [atan2(om(1,2),om(1,1)), 0.5_pReal*PI*(1.0_pReal-om(3,3)),0.0_pReal ] end if - - where(eu<0.0_pReal) eu = mod(eu+2.0_pReal*PI,[2.0_pReal*PI,PI,2.0_pReal*PI]) + where(abs(eu) < 1.e-8_pReal) eu = 0.0_pReal + where(eu<0.0_pReal) eu = mod(eu+2.0_pReal*PI,[2.0_pReal*PI,PI,2.0_pReal*PI]) end function om2eu From fcaa319f56adc6ff9bf1df48fdd304ddd9ae037e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 13 Jul 2020 14:48:23 +0200 Subject: [PATCH 371/958] polishing --- src/commercialFEM_fileList.f90 | 6 +++--- src/constitutive.f90 | 21 +++++++++------------ src/constitutive_plastic.f90 | 4 +--- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/commercialFEM_fileList.f90 b/src/commercialFEM_fileList.f90 index f02d7bc92..e98631fe4 100644 --- a/src/commercialFEM_fileList.f90 +++ b/src/commercialFEM_fileList.f90 @@ -28,8 +28,6 @@ #include "lattice.f90" #include "constitutive.f90" #include "constitutive_plastic.f90" -#include "constitutive_damage.f90" -#include "constitutive_thermal.f90" #include "constitutive_plastic_none.f90" #include "constitutive_plastic_isotropic.f90" #include "constitutive_plastic_phenopowerlaw.f90" @@ -37,15 +35,17 @@ #include "constitutive_plastic_dislotwin.f90" #include "constitutive_plastic_disloUCLA.f90" #include "constitutive_plastic_nonlocal.f90" +#include "constitutive_thermal.f90" #include "source_thermal_dissipation.f90" #include "source_thermal_externalheat.f90" +#include "kinematics_thermal_expansion.f90" +#include "constitutive_damage.f90" #include "source_damage_isoBrittle.f90" #include "source_damage_isoDuctile.f90" #include "source_damage_anisoBrittle.f90" #include "source_damage_anisoDuctile.f90" #include "kinematics_cleavage_opening.f90" #include "kinematics_slipplane_opening.f90" -#include "kinematics_thermal_expansion.f90" #include "crystallite.f90" #include "thermal_isothermal.f90" #include "thermal_adiabatic.f90" diff --git a/src/constitutive.f90 b/src/constitutive.f90 index abff6e21d..2d60f7e66 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -368,8 +368,7 @@ subroutine constitutive_init debugConstitutive%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) debugConstitutive%grain = debug_root%get_asInt('grain',defaultVal = 1) -!-------------------------------------------------------------------------------------------------- -! initialized plasticity + call plastic_init call damage_init call thermal_init @@ -386,8 +385,7 @@ subroutine constitutive_init sourceState(ph)%p(s)%partionedState0 = sourceState(ph)%p(s)%state0 sourceState(ph)%p(s)%state = sourceState(ph)%p(s)%partionedState0 end forall -!-------------------------------------------------------------------------------------------------- -! determine max size of source state + constitutive_source_maxSizeDotState = max(constitutive_source_maxSizeDotState, & maxval(sourceState(ph)%p%sizeDotState)) enddo PhaseLoop2 @@ -401,12 +399,12 @@ end subroutine constitutive_init !-------------------------------------------------------------------------------------------------- function constitutive_homogenizedC(ipc,ip,el) - real(pReal) , dimension(6,6) :: & + real(pReal), dimension(6,6) :: & constitutive_homogenizedC integer, intent(in) :: & - ipc, & - ip, & - el + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element plasticityType: select case (phase_plasticity(material_phaseAt(ipc,el))) case (PLASTICITY_DISLOTWIN_ID) plasticityType @@ -628,9 +626,9 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el real(pReal), dimension(3,3) :: & Mp integer :: & - ho, & - tme, & - i, & + ho, & !< homogenization + tme, & !< thermal member position + i, & !< counter in source loop instance logical :: broken @@ -685,7 +683,6 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el enddo SourceLoop - end function constitutive_collectDotState diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index f62bca60e..acd9d5a67 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -175,12 +175,10 @@ contains !-------------------------------------------------------------------------------------------------- -!> @brief allocates arrays pointing to array of the various constitutive modules +!> @brief Initialize constitutive models for plasticity !-------------------------------------------------------------------------------------------------- module subroutine plastic_init -!-------------------------------------------------------------------------------------------------- -! initialized plasticity if (any(phase_plasticity == PLASTICITY_NONE_ID)) call plastic_none_init if (any(phase_plasticity == PLASTICITY_ISOTROPIC_ID)) call plastic_isotropic_init if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init From 8de3b67c2694b2cf89a0137e3c784d5e075fa701 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 13 Jul 2020 21:13:53 +0200 Subject: [PATCH 372/958] no silent crash --- src/IO.f90 | 2 ++ src/constitutive_plastic_nonlocal.f90 | 6 +++++- src/grid/discretization_grid.f90 | 1 + src/marc/discretization_marc.f90 | 1 + 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/IO.f90 b/src/IO.f90 index aae5f69cc..0092fd1e2 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -529,6 +529,8 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'unknown material parameter:' case (211) msg = 'material parameter out of bounds:' + case (212) + msg = 'nonlocal model not supported' !-------------------------------------------------------------------------------------------------- ! numerics error messages diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index ea55024b9..19f9794d7 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -386,7 +386,11 @@ module subroutine plastic_nonlocal_init call material_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,sizeDeltaState) - plasticState(p)%nonlocal = config%KeyExists('/nonlocal/') + plasticState(p)%nonlocal = config%KeyExists('/nonlocal/') + if(plasticState(p)%nonlocal .and. .not. allocated(geometry_plastic_nonlocal_IPneighborhood)) & + call IO_error(212,ext_msg='IPneighborhood does not exist') + + plasticState(p)%offsetDeltaState = 0 ! ToDo: state structure does not follow convention st0%rho => plasticState(p)%state0 (0*prm%sum_N_sl+1:10*prm%sum_N_sl,:) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index dad7036cf..ce1c07fc2 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -118,6 +118,7 @@ subroutine discretization_grid_init(restart) call results_addAttribute('origin',origin, 'geometry') call results_closeJobFile endif + !-------------------------------------------------------------------------------------------------- ! geometry information required by the nonlocal CP model call geometry_plastic_nonlocal_setIPvolume(reshape([(product(mySize/real(myGrid,pReal)),j=1,product(myGrid))], & diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index eee635065..989c4aeb1 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -119,6 +119,7 @@ subroutine discretization_marc_init unscaledNormals = IPareaNormal(elem,nElems,connectivity_cell,node0_cell) call geometry_plastic_nonlocal_setIParea(norm2(unscaledNormals,1)) call geometry_plastic_nonlocal_setIPareaNormal(unscaledNormals/spread(norm2(unscaledNormals,1),1,3)) + !call geometry_plastic_nonlocal_setIPneighborhood ToDo: Support nonlocal call geometry_plastic_nonlocal_results end subroutine discretization_marc_init From 9f79faf819026061cb16e2e2aa210bc1bcbb5e68 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 13 Jul 2020 22:48:08 +0200 Subject: [PATCH 373/958] using tolerances as in python results in invalid operations --- src/rotations.f90 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/rotations.f90 b/src/rotations.f90 index 7879523d2..5d865c2c3 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -574,6 +574,7 @@ end function om2qu !--------------------------------------------------------------------------------------------------- !> @author Marc De Graef, Carnegie Mellon University !> @brief orientation matrix to Euler angles +!> @details Two step check for special cases to avoid invalid operations (not needed for python) !--------------------------------------------------------------------------------------------------- pure function om2eu(om) result(eu) @@ -581,11 +582,13 @@ pure function om2eu(om) result(eu) real(pReal), dimension(3) :: eu real(pReal) :: zeta - if(dNeq(abs(om(3,3)),1.0_pReal,1.e-9_pReal)) then + if (dNeq(abs(om(3,3)),1.0_pReal,1.e-5_pReal)) then zeta = 1.0_pReal/sqrt(1.0_pReal-om(3,3)**2.0_pReal) eu = [atan2(om(3,1)*zeta,-om(3,2)*zeta), & acos(om(3,3)), & atan2(om(1,3)*zeta, om(2,3)*zeta)] + elseif(dNeq(abs(om(3,3)),1.0_pReal,1.e-8_pReal)) then + eu = [PI*.75_pReal,acos(math_clip(om(3,3),-1.0_pReal,1.0_pReal)),PI*.25_pReal] else eu = [atan2(om(1,2),om(1,1)), 0.5_pReal*PI*(1.0_pReal-om(3,3)),0.0_pReal ] end if From b0e06f180a18941bf47d00b86987825393c1ee15 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 13 Jul 2020 22:48:29 +0200 Subject: [PATCH 374/958] reading numpy manual ... https://numpy.org/doc/stable/reference/generated/numpy.isclose.html rtol=1.e-8, b=1 gives atol+btol=1.e-8+1e-9, simplified to 1e-8 --- python/damask/_rotation.py | 2 +- python/tests/test_Rotation.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 9bb2d300a..4c01bd430 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -805,7 +805,7 @@ class Rotation: """Rotation matrix to Bunge-Euler angles.""" with np.errstate(invalid='ignore',divide='ignore'): zeta = 1.0/np.sqrt(1.0-om[...,2,2:3]**2) - eu = np.where(np.isclose(np.abs(om[...,2,2:3]),1.0,1e-9), + eu = np.where(np.isclose(np.abs(om[...,2,2:3]),1.0,0.0), np.block([np.arctan2(om[...,0,1:2],om[...,0,0:1]), np.pi*0.5*(1-om[...,2,2:3]), np.zeros(om.shape[:-2]+(1,)), diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 21d0b5fae..46c10d8c2 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -150,7 +150,7 @@ def om2qu(a): def om2eu(om): """Rotation matrix to Bunge-Euler angles.""" - if not np.isclose(np.abs(om[2,2]),1.0,1.e-9): + if not np.isclose(np.abs(om[2,2]),1.0,0.0): zeta = 1.0/np.sqrt(1.0-om[2,2]**2) eu = np.array([np.arctan2(om[2,0]*zeta,-om[2,1]*zeta), np.arccos(om[2,2]), From 2b58b3df971887b92396eb28ee7a533c7d8063c9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 14 Jul 2020 06:55:40 +0200 Subject: [PATCH 375/958] closer to thoroughly tested python code but with extra safety measures to prevent invalid operations --- src/rotations.f90 | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/rotations.f90 b/src/rotations.f90 index 5d865c2c3..07053545d 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -582,13 +582,11 @@ pure function om2eu(om) result(eu) real(pReal), dimension(3) :: eu real(pReal) :: zeta - if (dNeq(abs(om(3,3)),1.0_pReal,1.e-5_pReal)) then - zeta = 1.0_pReal/sqrt(1.0_pReal-om(3,3)**2.0_pReal) + if (dNeq(abs(om(3,3)),1.0_pReal,1.e-8_pReal)) then + zeta = 1.0_pReal/sqrt(math_clip(1.0_pReal-om(3,3)**2.0_pReal,1e-64_pReal,1.0_pReal)) eu = [atan2(om(3,1)*zeta,-om(3,2)*zeta), & - acos(om(3,3)), & + acos(math_clip(om(3,3),-1.0_pReal,1.0_pReal)), & atan2(om(1,3)*zeta, om(2,3)*zeta)] - elseif(dNeq(abs(om(3,3)),1.0_pReal,1.e-8_pReal)) then - eu = [PI*.75_pReal,acos(math_clip(om(3,3),-1.0_pReal,1.0_pReal)),PI*.25_pReal] else eu = [atan2(om(1,2),om(1,1)), 0.5_pReal*PI*(1.0_pReal-om(3,3)),0.0_pReal ] end if From 133aa9111c86f3cca0aa911b337b23c4c73dc744 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 14 Jul 2020 07:18:32 +0200 Subject: [PATCH 376/958] small polishing --- src/marc/discretization_marc.f90 | 159 +++++++++++++++---------------- 1 file changed, 79 insertions(+), 80 deletions(-) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index be16f5fc0..f0b77543b 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -21,24 +21,24 @@ module discretization_marc implicit none private - + type tCellNodeDefinition integer, dimension(:,:), allocatable :: parents integer, dimension(:,:), allocatable :: weights end type tCellNodeDefinition - + type(tCellNodeDefinition), dimension(:), allocatable :: cellNodeDefinition - + real(pReal), public, protected :: & mesh_unitlength !< physical length of one unit in mesh - + integer, dimension(:), allocatable, public :: & mesh_FEM2DAMASK_elem, & !< DAMASK element ID for Marc element ID mesh_FEM2DAMASK_node !< DAMASK node ID for Marc node ID public :: & discretization_marc_init - + contains !-------------------------------------------------------------------------------------------------- @@ -68,16 +68,16 @@ subroutine discretization_marc_init connectivity_elem real(pReal), dimension(:,:,:,:),allocatable :: & unscaledNormals - + class(tNode), pointer :: & num_commercialFEM - + write(6,'(/,a)') ' <<<+- discretization_marc init -+>>>'; flush(6) !--------------------------------------------------------------------------------- ! read debug parameters - debug_e = debug_root%get_asInt('element',defaultVal=1) - debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + debug_e = debug_root%get_asInt('element',defaultVal=1) + debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) !-------------------------------------------------------------------------------- ! read numerics parameter and do sanity check @@ -90,10 +90,10 @@ subroutine discretization_marc_init if (debug_e < 1 .or. debug_e > nElems) call IO_error(602,ext_msg='element') if (debug_i < 1 .or. debug_i > elem%nIPs) call IO_error(602,ext_msg='IP') - + FEsolving_execElem = [1,nElems] FEsolving_execIP = [1,elem%nIPs] - + allocate(cellNodeDefinition(elem%nNodes-1)) allocate(connectivity_cell(elem%NcellNodesPerCell,elem%nIPs,nElems)) call buildCells(connectivity_cell,cellNodeDefinition,& @@ -108,7 +108,7 @@ subroutine discretization_marc_init call discretization_init(microstructureAt,homogenizationAt,& IP_reshaped,& node0_cell) - + call writeGeometry(elem,connectivity_elem,& reshape(connectivity_cell,[elem%NcellNodesPerCell,elem%nIPs*nElems]),& node0_cell,IP_reshaped) @@ -120,7 +120,7 @@ subroutine discretization_marc_init call geometry_plastic_nonlocal_setIParea(norm2(unscaledNormals,1)) call geometry_plastic_nonlocal_setIPareaNormal(unscaledNormals/spread(norm2(unscaledNormals,1),1,3)) call geometry_plastic_nonlocal_results - + end subroutine discretization_marc_init @@ -139,7 +139,7 @@ subroutine writeGeometry(elem, & real(pReal), dimension(:,:), intent(in) :: & coordinates_nodes, & coordinates_points - + integer, dimension(:,:), allocatable :: & connectivity_temp real(pReal), dimension(:,:), allocatable :: & @@ -147,24 +147,24 @@ subroutine writeGeometry(elem, & call results_openJobFile call results_closeGroup(results_addGroup('geometry')) - + connectivity_temp = connectivity_elem call results_writeDataset('geometry',connectivity_temp,'T_e',& 'connectivity of the elements','-') - + connectivity_temp = connectivity_cell call results_writeDataset('geometry',connectivity_temp,'T_c', & 'connectivity of the cells','-') call results_addAttribute('VTK_TYPE',elem%vtkType,'geometry/T_c') - + coordinates_temp = coordinates_nodes call results_writeDataset('geometry',coordinates_temp,'x_n', & 'initial coordinates of the nodes','m') - + coordinates_temp = coordinates_points call results_writeDataset('geometry',coordinates_temp,'x_p', & 'initial coordinates of the materialpoints','m') - + call results_closeJobFile end subroutine writeGeometry @@ -183,7 +183,7 @@ subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt,homogeni integer, dimension(:), allocatable, intent(out) :: & microstructureAt, & homogenizationAt - + integer :: & fileFormatVersion, & hypoelasticTableStyle, & @@ -193,7 +193,7 @@ subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt,homogeni integer, dimension(:), allocatable :: & matNumber !< material numbers for hypoelastic material character(len=pStringLen), dimension(:), allocatable :: inputFile !< file content, separated per lines - + character(len=pStringLen), dimension(:), allocatable :: & nameElemSet integer, dimension(:,:), allocatable :: & @@ -209,8 +209,8 @@ subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt,homogeni hypoelasticTableStyle,inputFile) call inputRead_NnodesAndElements(nNodes,nElems,& inputFile) - - + + call inputRead_mapElemSets(nameElemSet,mapElemSet,& inputFile) @@ -239,13 +239,13 @@ end subroutine inputRead !> @brief Figures out version of Marc input file format !-------------------------------------------------------------------------------------------------- subroutine inputRead_fileFormat(fileFormat,fileContent) - + integer, intent(out) :: fileFormat character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines - + integer, allocatable, dimension(:) :: chunkPos integer :: l - + do l = 1, size(fileContent) chunkPos = IO_stringPos(fileContent(l)) if(chunkPos(1) < 2) cycle @@ -262,13 +262,13 @@ end subroutine inputRead_fileFormat !> @brief Figures out table styles for initial cond and hypoelastic !-------------------------------------------------------------------------------------------------- subroutine inputRead_tableStyles(initialcond,hypoelastic,fileContent) - + integer, intent(out) :: initialcond, hypoelastic character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines integer, allocatable, dimension(:) :: chunkPos integer :: l - + initialcond = 0 hypoelastic = 0 @@ -290,7 +290,7 @@ end subroutine inputRead_tableStyles !-------------------------------------------------------------------------------------------------- subroutine inputRead_matNumber(matNumber, & tableStyle,fileContent) - + integer, allocatable, dimension(:), intent(out) :: matNumber integer, intent(in) :: tableStyle character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines @@ -326,7 +326,7 @@ end subroutine inputRead_matNumber !-------------------------------------------------------------------------------------------------- subroutine inputRead_NnodesAndElements(nNodes,nElems,& fileContent) - + integer, intent(out) :: nNodes, nElems character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines @@ -355,7 +355,7 @@ end subroutine inputRead_NnodesAndElements !-------------------------------------------------------------------------------------------------- subroutine inputRead_NelemSets(nElemSets,maxNelemInSet,& fileContent) - + integer, intent(out) :: nElemSets, maxNelemInSet character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines @@ -401,7 +401,7 @@ end subroutine inputRead_NelemSets !-------------------------------------------------------------------------------------------------- subroutine inputRead_mapElemSets(nameElemSet,mapElemSet,& fileContent) - + character(len=pStringLen), dimension(:), allocatable, intent(out) :: nameElemSet integer, dimension(:,:), allocatable, intent(out) :: mapElemSet character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines @@ -434,7 +434,7 @@ end subroutine inputRead_mapElemSets !-------------------------------------------------------------------------------------------------- subroutine inputRead_mapElems(FEM2DAMASK, & nElems,nNodesPerElem,fileContent) - + integer, allocatable, dimension(:), intent(out) :: FEM2DAMASK integer, intent(in) :: nElems, & !< number of elements @@ -515,10 +515,10 @@ end subroutine inputRead_mapNodes subroutine inputRead_elemNodes(nodes, & nNode,fileContent) - real(pReal), allocatable, dimension(:,:), intent(out) :: nodes + real(pReal), allocatable, dimension(:,:), intent(out) :: nodes integer, intent(in) :: nNode character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines - + integer, allocatable, dimension(:) :: chunkPos integer :: i,j,m,l @@ -580,15 +580,15 @@ subroutine inputRead_elemType(elem, & endif enddo - contains + contains !-------------------------------------------------------------------------------------------------- !> @brief mapping of Marc element types to internal representation !-------------------------------------------------------------------------------------------------- integer function mapElemtype(what) - + character(len=*), intent(in) :: what - + select case (IO_lc(what)) case ( '6') mapElemtype = 1 ! Two-dimensional Plane Strain Triangle @@ -630,20 +630,20 @@ end subroutine inputRead_elemType !> @brief Stores node IDs !-------------------------------------------------------------------------------------------------- function inputRead_connectivityElem(nElem,nNodes,fileContent) - + integer, intent(in) :: & nElem, & nNodes !< number of nodes per element character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines - + integer, dimension(nNodes,nElem) :: & inputRead_connectivityElem - + integer, allocatable, dimension(:) :: chunkPos - + integer, dimension(1+nElem) :: contInts integer :: i,k,j,t,e,l,nNodesAlreadyRead - + do l = 1, size(fileContent) chunkPos = IO_stringPos(fileContent(l)) if(chunkPos(1) < 1) cycle @@ -694,7 +694,7 @@ subroutine inputRead_microstructureAndHomogenization(microstructureAt,homogeniza character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines integer, allocatable, dimension(:) :: chunkPos - + integer, dimension(1+nElem) :: contInts integer :: i,j,t,sv,myVal,e,nNodesAlreadyRead,l,k,m @@ -727,42 +727,41 @@ subroutine inputRead_microstructureAndHomogenization(microstructureAt,homogeniza endif endif enddo - + end subroutine inputRead_microstructureAndHomogenization !-------------------------------------------------------------------------------------------------- -!> @brief Calculates cell node coordinates from element node coordinates +!> @brief Determine cell connectivity and definition of cell nodes !-------------------------------------------------------------------------------------------------- subroutine buildCells(connectivity_cell,cellNodeDefinition, & elem,connectivity_elem) type(tCellNodeDefinition), dimension(:), intent(out) :: cellNodeDefinition ! definition of cell nodes for increasing number of parents integer, dimension(:,:,:),intent(out) :: connectivity_cell - + type(tElement), intent(in) :: elem ! element definition integer, dimension(:,:), intent(in) :: connectivity_elem ! connectivity of the elements - + integer,dimension(:), allocatable :: candidates_local integer,dimension(:,:), allocatable :: parentsAndWeights,candidates_global - - integer :: e, n, c, p, s,i,m,j,nParentNodes,nCellNode,Nelem,candidateID - + + integer :: e,n,c,p,s,i,m,j,& + nParentNodes,nCellNode,Nelem,candidateID + Nelem = size(connectivity_elem,2) !--------------------------------------------------------------------------------------------------- ! initialize global connectivity to negative local connectivity connectivity_cell = -spread(elem%cell,3,Nelem) ! local cell node ID - + !--------------------------------------------------------------------------------------------------- ! set connectivity of cell nodes that coincide with FE nodes (defined by 1 parent node) ! and renumber local (negative) to global (positive) node ID do e = 1, Nelem do c = 1, elem%NcellNodes realNode: if (count(elem%cellNodeParentNodeWeights(:,c) /= 0) == 1) then - where(connectivity_cell(:,:,e) == -c) - connectivity_cell(:,:,e) = connectivity_elem(c,e) - end where + where(connectivity_cell(:,:,e) == -c) connectivity_cell(:,:,e) = connectivity_elem(c,e) endif realNode enddo enddo @@ -772,7 +771,7 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & !--------------------------------------------------------------------------------------------------- ! set connectivity of cell nodes that are defined by 2,...,nNodes real nodes do nParentNodes = 2, elem%nNodes - + ! get IDs of local cell nodes that are defined by the current number of parent nodes candidates_local = [integer::] do c = 1, elem%NcellNodes @@ -780,11 +779,11 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & candidates_local = [candidates_local,c] enddo s = size(candidates_local) - + if (allocated(candidates_global)) deallocate(candidates_global) allocate(candidates_global(nParentNodes*2+2,s*Nelem)) ! stores parent node ID + weight together with element ID and cellnode id (local) parentsAndWeights = reshape([(0, i = 1,2*nParentNodes)],[nParentNodes,2]) ! (re)allocate - + do e = 1, Nelem do i = 1, size(candidates_local) candidateID = (e-1)*size(candidates_local)+i ! including duplicates, runs to (Nelem*size(candidates_local)) @@ -792,18 +791,18 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & p = 0 do j = 1, size(elem%cellNodeParentNodeWeights(:,c)) if (elem%cellNodeParentNodeWeights(j,c) /= 0) then ! real node 'j' partly defines cell node 'c' - p = p + 1 + p = p + 1 parentsAndWeights(p,1:2) = [connectivity_elem(j,e),elem%cellNodeParentNodeWeights(j,c)] endif enddo ! store (and order) real node IDs and their weights together with the element number and local ID do p = 1, nParentNodes m = maxloc(parentsAndWeights(:,1),1) - + candidates_global(p, candidateID) = parentsAndWeights(m,1) candidates_global(p+nParentNodes, candidateID) = parentsAndWeights(m,2) candidates_global(nParentNodes*2+1:nParentNodes*2+2,candidateID) = [e,c] - + parentsAndWeights(m,1) = -huge(parentsAndWeights(m,1)) ! out of the competition enddo enddo @@ -811,7 +810,7 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & ! sort according to real node IDs + weight (from left to right) call math_sort(candidates_global,sortDim=1) ! sort according to first column - + do p = 2, nParentNodes*2 n = 1 do while(n <= size(candidates_local)*Nelem) @@ -826,11 +825,11 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & n = e+1 enddo enddo - + i = uniqueRows(candidates_global(1:2*nParentNodes,:)) allocate(cellNodeDefinition(nParentNodes-1)%parents(i,nParentNodes)) allocate(cellNodeDefinition(nParentNodes-1)%weights(i,nParentNodes)) - + i = 1 n = 1 do while(n <= size(candidates_local)*Nelem) @@ -846,7 +845,7 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & where (connectivity_cell(:,:,candidates_global(nParentNodes*2+1,n+j)) == -candidates_global(nParentNodes*2+2,n+j)) ! still locally defined connectivity_cell(:,:,candidates_global(nParentNodes*2+1,n+j)) = nCellNode + 1 ! gets current new cell node id end where - + j = j+1 enddo nCellNode = nCellNode + 1 @@ -863,7 +862,7 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & !> @brief count unique rows (same rows need to be stored consecutively) !------------------------------------------------------------------------------------------------ pure function uniqueRows(A) result(u) - + integer, dimension(:,:), intent(in) :: A !< array, rows need to be sorted integer :: & @@ -882,14 +881,14 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & u = u+1 r = r+d enddo - + end function uniqueRows end subroutine buildCells !-------------------------------------------------------------------------------------------------- -!> @brief Calculates cell node coordinates from element node coordinates +!> @brief Calculate cell node coordinates from element node coordinates !-------------------------------------------------------------------------------------------------- subroutine buildCellNodes(node_cell, & definition,node_elem) @@ -897,9 +896,9 @@ subroutine buildCellNodes(node_cell, & real(pReal), dimension(:,:), intent(out) :: node_cell !< cell node coordinates type(tCellNodeDefinition), dimension(:), intent(in) :: definition !< cell node definition (weights and parents) real(pReal), dimension(:,:), intent(in) :: node_elem !< element nodes - + integer :: i, j, k, n - + n = size(node_elem,2) node_cell(:,1:n) = node_elem !< initial nodes coincide with element nodes @@ -914,12 +913,12 @@ subroutine buildCellNodes(node_cell, & node_cell(:,n) = node_cell(:,n)/real(sum(definition(i)%weights(j,:)),pReal) enddo enddo - + end subroutine buildCellNodes !-------------------------------------------------------------------------------------------------- -!> @brief Calculates IP coordinates as center of cell +!> @brief Calculate IP coordinates as center of cell !-------------------------------------------------------------------------------------------------- subroutine buildIPcoordinates(IPcoordinates, & connectivity_cell,node_cell) @@ -927,7 +926,7 @@ subroutine buildIPcoordinates(IPcoordinates, & real(pReal), dimension(:,:), intent(out):: IPcoordinates !< cell-center/IP coordinates integer, dimension(:,:), intent(in) :: connectivity_cell !< connectivity for each cell real(pReal), dimension(:,:), intent(in) :: node_cell !< cell node coordinates - + integer :: i, n do i = 1, size(connectivity_cell,2) @@ -938,7 +937,7 @@ subroutine buildIPcoordinates(IPcoordinates, & enddo IPcoordinates(:,i) = IPcoordinates(:,i)/real(size(connectivity_cell,1),pReal) enddo - + end subroutine buildIPcoordinates @@ -948,11 +947,11 @@ end subroutine buildIPcoordinates !> 2D cells assume an element depth of 1.0 !--------------------------------------------------------------------------------------------------- function IPvolume(elem,node,connectivity) - + type(tElement), intent(in) :: elem real(pReal), dimension(:,:), intent(in) :: node integer, dimension(:,:,:), intent(in) :: connectivity - + real(pReal), dimension(elem%nIPs,size(connectivity,3)) :: IPvolume real(pReal), dimension(3) :: x0,x1,x2,x3,x4,x5,x6,x7 @@ -1011,19 +1010,19 @@ function IPareaNormal(elem,nElem,connectivity,node) integer, intent(in) :: nElem integer, dimension(:,:,:), intent(in) :: connectivity real(pReal), dimension(:,:), intent(in) :: node - + real(pReal), dimension(3,elem%nIPneighbors,elem%nIPs,nElem) :: ipAreaNormal real(pReal), dimension (3,size(elem%cellFace,1)) :: nodePos integer :: e,i,f,n,m - + m = size(elem%cellFace,1) do e = 1,nElem do i = 1,elem%nIPs do f = 1,elem%nIPneighbors nodePos = node(1:3,connectivity(elem%cellface(1:m,f),i,e)) - + select case (elem%cellType) case (1,2) ! 2D 3 or 4 node IPareaNormal(1,f,i,e) = nodePos(2,2) - nodePos(2,1) ! x_normal = y_connectingVector @@ -1038,7 +1037,7 @@ function IPareaNormal(elem,nElem,connectivity,node) ! the sum has to be divided by two; this whole prcedure tries to compensate for ! probable non-planar cell surfaces IPareaNormal(1:3,f,i,e) = 0.0_pReal - do n = 1, m + do n = 1, m IPareaNormal(1:3,f,i,e) = IPareaNormal(1:3,f,i,e) & + math_cross(nodePos(1:3,mod(n+0,m)+1) - nodePos(1:3,n), & nodePos(1:3,mod(n+1,m)+1) - nodePos(1:3,n)) * 0.5_pReal From b16508dd6cd3cafc6f37f494311a8b310032cd62 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 14 Jul 2020 07:40:42 +0200 Subject: [PATCH 377/958] clean namespace --- src/constitutive.f90 | 3 ++- src/constitutive_plastic_nonlocal.f90 | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index d920c481f..128b45d53 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -15,7 +15,8 @@ module constitutive use results use lattice use discretization - use geometry_plastic_nonlocal + use geometry_plastic_nonlocal, only: & + geometry_plastic_nonlocal_disable use source_thermal_dissipation use source_thermal_externalheat use source_damage_isoBrittle diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 19f9794d7..dfd9dbaac 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -387,7 +387,7 @@ module subroutine plastic_nonlocal_init call material_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,sizeDeltaState) plasticState(p)%nonlocal = config%KeyExists('/nonlocal/') - if(plasticState(p)%nonlocal .and. .not. allocated(geometry_plastic_nonlocal_IPneighborhood)) & + if(plasticState(p)%nonlocal .and. .not. allocated(IPneighborhood)) & call IO_error(212,ext_msg='IPneighborhood does not exist') From 78c1b9c7455274f61dc1cdc6c707ffc6bc570f1a Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Tue, 14 Jul 2020 12:10:43 +0200 Subject: [PATCH 378/958] Marc 2019.1 is new standard version --- env/CONFIG | 2 +- .../2019.1/Marc_tools/comp_damask_hmp | 52 + .../2019.1/Marc_tools/comp_damask_lmp | 52 + .../2019.1/Marc_tools/comp_damask_mp | 52 + .../2019.1/Marc_tools/comp_user.original | 41 + .../2019.1/Marc_tools/include_linux64 | 818 ++++ .../Marc_tools/include_linux64.original | 788 ++++ .../2019.1/Marc_tools/run_damask_hmp | 4105 ++++++++++++++++ .../2019.1/Marc_tools/run_damask_lmp | 4105 ++++++++++++++++ .../2019.1/Marc_tools/run_damask_mp | 4105 ++++++++++++++++ .../2019.1/Marc_tools/run_marc.original | 4186 +++++++++++++++++ .../2019.1/Mentat_bin/edit_window | 5 + .../2019.1/Mentat_bin/edit_window.original | 18 + .../2019.1/Mentat_bin/kill1.original | 8 + .../mods_MarcMentat/2019.1/Mentat_bin/kill4 | 8 + .../mods_MarcMentat/2019.1/Mentat_bin/kill5 | 8 + .../mods_MarcMentat/2019.1/Mentat_bin/kill6 | 8 + .../2019.1/Mentat_bin/submit1.original | 189 + .../mods_MarcMentat/2019.1/Mentat_bin/submit4 | 191 + .../mods_MarcMentat/2019.1/Mentat_bin/submit5 | 191 + .../mods_MarcMentat/2019.1/Mentat_bin/submit6 | 191 + .../2019.1/Mentat_menus/job_run.ms | 2750 +++++++++++ .../2019.1/Mentat_menus/job_run.ms.original | 2615 ++++++++++ src/marc/include/concom2019.1 | 439 ++ src/marc/include/creeps2019.1 | 66 + 25 files changed, 24992 insertions(+), 1 deletion(-) create mode 100644 installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_hmp create mode 100644 installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_lmp create mode 100644 installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_mp create mode 100644 installation/mods_MarcMentat/2019.1/Marc_tools/comp_user.original create mode 100644 installation/mods_MarcMentat/2019.1/Marc_tools/include_linux64 create mode 100644 installation/mods_MarcMentat/2019.1/Marc_tools/include_linux64.original create mode 100644 installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_hmp create mode 100644 installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_lmp create mode 100644 installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_mp create mode 100644 installation/mods_MarcMentat/2019.1/Marc_tools/run_marc.original create mode 100644 installation/mods_MarcMentat/2019.1/Mentat_bin/edit_window create mode 100644 installation/mods_MarcMentat/2019.1/Mentat_bin/edit_window.original create mode 100644 installation/mods_MarcMentat/2019.1/Mentat_bin/kill1.original create mode 100644 installation/mods_MarcMentat/2019.1/Mentat_bin/kill4 create mode 100644 installation/mods_MarcMentat/2019.1/Mentat_bin/kill5 create mode 100644 installation/mods_MarcMentat/2019.1/Mentat_bin/kill6 create mode 100644 installation/mods_MarcMentat/2019.1/Mentat_bin/submit1.original create mode 100644 installation/mods_MarcMentat/2019.1/Mentat_bin/submit4 create mode 100644 installation/mods_MarcMentat/2019.1/Mentat_bin/submit5 create mode 100644 installation/mods_MarcMentat/2019.1/Mentat_bin/submit6 create mode 100644 installation/mods_MarcMentat/2019.1/Mentat_menus/job_run.ms create mode 100644 installation/mods_MarcMentat/2019.1/Mentat_menus/job_run.ms.original create mode 100644 src/marc/include/concom2019.1 create mode 100644 src/marc/include/creeps2019.1 diff --git a/env/CONFIG b/env/CONFIG index 1b3d801bc..343e21a60 100644 --- a/env/CONFIG +++ b/env/CONFIG @@ -2,4 +2,4 @@ set DAMASK_NUM_THREADS = 4 set MSC_ROOT = /opt/msc -set MARC_VERSION = 2019 +set MARC_VERSION = 2019.1 diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_hmp b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_hmp new file mode 100644 index 000000000..36ced6543 --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_hmp @@ -0,0 +1,52 @@ +#!/bin/ksh +# 1st arg: $DIR +# 2nd arg: $DIRJOB +# 3rd arg: $user +# 4th arg: $program +DIR=$1 +user=$3 +program=$4 +usernoext=$user +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + +# add BLAS options for linking + BLAS="%BLAS%" + +. $DIR/tools/include +DIRJOB=$2 +cd $DIRJOB +echo "Compiling and linking user subroutine $user on host `hostname`" +echo "program: $program" + $DFORTHIGHMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + userobj=$usernoext.o + + + $LOAD ${program} $DIR/lib/main.o\ + $DIR/lib/blkdta.o $DIR/lib/comm?.o \ + ${userobj-} \ + $DIR/lib/srclib.a \ + $MNFLIBS \ + $MDUSER \ + ../lib/mdsrc.a \ + ../lib/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $BLAS \ + $SYSLIBS || \ + { + echo "$0: link failed for $usernoext.o on host `hostname`" + exit 1 + } + /bin/rm $userobj + /bin/rm $DIRJOB/*.mod diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_lmp b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_lmp new file mode 100644 index 000000000..8a0c1255d --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_lmp @@ -0,0 +1,52 @@ +#!/bin/ksh +# 1st arg: $DIR +# 2nd arg: $DIRJOB +# 3rd arg: $user +# 4th arg: $program +DIR=$1 +user=$3 +program=$4 +usernoext=$user +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + +# add BLAS options for linking + BLAS="%BLAS%" + +. $DIR/tools/include +DIRJOB=$2 +cd $DIRJOB +echo "Compiling and linking user subroutine $user on host `hostname`" +echo "program: $program" + $DFORTRANLOWMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + userobj=$usernoext.o + + + $LOAD ${program} $DIR/lib/main.o\ + $DIR/lib/blkdta.o $DIR/lib/comm?.o \ + ${userobj-} \ + $DIR/lib/srclib.a \ + $MNFLIBS \ + $MDUSER \ + ../lib/mdsrc.a \ + ../lib/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $BLAS \ + $SYSLIBS || \ + { + echo "$0: link failed for $usernoext.o on host `hostname`" + exit 1 + } + /bin/rm $userobj + /bin/rm $DIRJOB/*.mod diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_mp b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_mp new file mode 100644 index 000000000..986d9ae04 --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_mp @@ -0,0 +1,52 @@ +#!/bin/ksh +# 1st arg: $DIR +# 2nd arg: $DIRJOB +# 3rd arg: $user +# 4th arg: $program +DIR=$1 +user=$3 +program=$4 +usernoext=$user +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + +# add BLAS options for linking + BLAS="%BLAS%" + +. $DIR/tools/include +DIRJOB=$2 +cd $DIRJOB +echo "Compiling and linking user subroutine $user on host `hostname`" +echo "program: $program" + $DFORTRANMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + userobj=$usernoext.o + + + $LOAD ${program} $DIR/lib/main.o\ + $DIR/lib/blkdta.o $DIR/lib/comm?.o \ + ${userobj-} \ + $DIR/lib/srclib.a \ + $MNFLIBS \ + $MDUSER \ + ../lib/mdsrc.a \ + ../lib/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $BLAS \ + $SYSLIBS || \ + { + echo "$0: link failed for $usernoext.o on host `hostname`" + exit 1 + } + /bin/rm $userobj + /bin/rm $DIRJOB/*.mod diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/comp_user.original b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_user.original new file mode 100644 index 000000000..8679bb041 --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_user.original @@ -0,0 +1,41 @@ +#!/bin/ksh +# 1st arg: $DIR +# 2nd arg: $DIRJOB +# 3rd arg: $user +# 4th arg: $program +DIR=$1 +user=$3 +program=$4 +. $DIR/tools/include +DIRJOB=$2 +cd $DIRJOB +echo "Compiling and linking user subroutine $user.f on host `hostname`" +echo "program: $program" + $FORTRAN $user.f || \ + { + echo "$0: compile failed for $user.f" + exit 1 + } + /bin/rm $program 2>/dev/null + userobj=$user.o + + + $LOAD ${program} $DIR/lib/main.o\ + $DIR/lib/blkdta.o $DIR/lib/comm?.o \ + ${userobj-} \ + $DIR/lib/srclib.a \ + $MNFLIBS \ + $MDUSER \ + ../lib/mdsrc.a \ + ../lib/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $SYSLIBS || \ + { + echo "$0: link failed for $user.o on host `hostname`" + exit 1 + } + /bin/rm $userobj diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/include_linux64 b/installation/mods_MarcMentat/2019.1/Marc_tools/include_linux64 new file mode 100644 index 000000000..e0178a9c8 --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/include_linux64 @@ -0,0 +1,818 @@ +# +# General definitions for the Marc 2019 FP1 version +# +# EM64T +# +# Linux RedHat 7.1, 7.3 / SuSE 11 SP4, 12 SP1 +# +# 64 bit MPI version +# +# Intel(R) Fortran Intel(R) 64 Compiler XE for applications +# running on Intel(R) 64, Version 17.0.5.239 Build 20170817 +# +# Intel(R) C Intel(R) 64 Compiler XE for applications +# running on Intel(R) 64, Version 17.0.5.239 Build 20170817 +# +# To check the O/S level, type: +# uname -a +# +# Distributed parallel MPI libraries: +# 1) HP MPI 2.3 +# To check the mpi version, type: +# mpirun -version +# 2) Intel MPI 2017.1 +# To check the mpi version, type: +# mpiexec.hydra -version +# +# To check the Compiler level, type using the compiler +# installation path: +# ifort -V +# icc -V +# +# REMARKS : This file contains the definitions of variables used during +# compilation loading and use of the MARC programmes . The +# current machine type is identified by means of the variable +# MACHINE , defined below. +# +# +# MPI_ROOT: root directory in which mpi shared libraries, etc. are located +# DIRJOB : directory in which spawned jobs should look for Marc input +# MPI_ARCH: system architecture +# MPI_EPATH: path where executable resides +# +REVISION="VERSION, BUILD" +HOSTNAME=`hostname` + +# find available memory in Mbyte on the machine +# can be set explicitly +MEMLIMIT=`free -m | awk '/Mem:/ {print $2}'` + +# set _OEM_NASTRAN to 1 for MD Nastran build +# override _OEM_NASTRAN setting with MARC_MD_NASTRAN environment variable +_OEM_NASTRAN="${MARC_MD_NASTRAN:-0}" + +# uncomment the following line for an autoforge build +#AUTOFORGE=1 +AUTOFORGE=0 +export AUTOFORGE + +# integer size +if test "$MARC_INTEGER_SIZE" = "" ; then + INTEGER_PATH= +else + INTEGER_PATH=/$MARC_INTEGER_SIZE +fi + +FCOMP=ifort +INTELPATH="/opt/intel/compilers_and_libraries_2017/linux" + +# find the root directory of the compiler installation: +# - if ifort is found in $PATH, then the root directory is derived +# from the path to ifort +# - if ifort is not found in $PATH, the root directory is assumed +# to be $INTELPATH and the directory in which ifort is found is +# added to $PATH +FCOMPPATH=`which "$FCOMP" 2>/dev/null` +if test -n "$FCOMPPATH"; then + # derive the root directory from $FCOMPPATH + FCOMPROOT="${FCOMPPATH%/bin/intel64/$FCOMP}" + if test "$FCOMPROOT" = "$FCOMPPATH"; then + FCOMPROOT="${FCOMPPATH%/bin/$FCOMP}" + fi + if test "$FCOMPROOT" = "$FCOMPPATH"; then + FCOMPROOT= + fi +elif test -d "$INTELPATH"; then + # check for compiler in $INTELPATH + if test -d "$INTELPATH/bin/intel64" -a \ + -x "$INTELPATH/bin/intel64/$FCOMP" ; then + FCOMPROOT="$INTELPATH" + PATH="$INTELPATH/bin/intel64:$PATH" + elif test -d "$INTELPATH/bin" -a \ + -x "$INTELPATH/bin/$FCOMP"; then + FCOMPROOT="$INTELPATH" + PATH="$INTELPATH/bin:$PATH" + else + FCOMPROOT= + fi +else + FCOMPROOT= +fi + +# DAMASK uses the HDF5 compiler wrapper around the Intel compiler +H5FC="$(h5fc -shlib -show)" +HDF5_LIB=${H5FC//ifort/} +FCOMP="$H5FC -DDAMASK_HDF5" + +# AEM +if test "$MARCDLLOUTDIR" = ""; then + DLLOUTDIR="$MARC_LIB" +else + DLLOUTDIR="$MARCDLLOUTDIR" +fi + +# settings for MKL +if test "$IMKLDIR" = ""; then + MARC_MKL="$FCOMPROOT/mkl/lib/intel64" +else + MARC_MKL=$IMKLDIR/lib/intel64 +fi + +# +# settings for Metis +# +METIS="-I$METIS_SOURCE/include" +METISLIBS="$METISLIB_DIR/libmarcddm.a $METISLIB_DIR/libmarcmetis.a " + +# +# settings for MPI +# +# RCP and RSH are used for parallel network runs +# replace with similar commands like rsh if needed +RCP=/usr/bin/scp +RSH=/usr/bin/ssh +# + + +MPI_DEFAULT=intelmpi +MPI_OTHER=hpmpi + +MPITYPE=$MPI_DEFAULT + +if test $AUTOFORGE +then + if test $AUTOFORGE = 1 + then + MPITYPE=none + fi +fi + + +# overrule MPITYPE setting with environmental variable MARC_MPITYPE +if test $MARC_MPITYPE +then + MPITYPE=$MARC_MPITYPE +fi + +# always set MPITYPE to none for MD Nastran +if test "$_OEM_NASTRAN" -ne 0 +then + MPITYPE=none +fi + +# Edit following lines to build with GPGPU version of BCS Solver for +# NVIDIA platforms +#BCSGPUSOLVER=NONE +BCSGPUSOLVER=BCSGPU + +# Edit following lines to set the openssl library +if test "$OPENSSL" != "NONE" +then + OPENSSL_LIB="$MARC_LIB/libcrypto.a" +fi +OPENSSL_INCLUDE=-I"$MARC_OPENSSL/include/" + +MARCHDF_HDF=HDF +#MARCHDF_HDF=NONE +if test "$MARCHDF_HDF" = "HDF"; then + HDF_INCLUDE="-I$MARC_HDF/include" + HDF_LIBS="$MARC_LIB/libhdf5_fortran.so.100 $MARC_LIB/libhdf5.so.101" +fi + +# activate contact component build if flagged +AEM_DLL=0 +if test "$AEM_BUILD" = "ON" ; then + AEM_DLL=1 + LINK_MARC_DLL="-shared -fPIC" + EXT_DLL="so" + MPITYPE=none + MPI_OTHER= + BCSGPUSOLVER=NONE + MUMPSSOLVER=NONE + CASISOLVER=NONE +fi + +SOLVERFLAGS= +if test "$BCSGPUSOLVER" = BCSGPU +then + SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA" + BCS_DIR=bcsgpusolver +else + BCS_DIR=bcssolver +fi +# +# settings for MPI +# +DDM= +if test $MPITYPE != none +then + if test $MPITYPE = hpmpi + then + FCOMPMPI=mpif90 + export MPI_ROOT=$MARC_HPMPI + export MPI_REMSH=$RSH + export MPI_F77=$FCOMP + ARCHITECTURE=linux_amd64 + DDM="-I$MPI_ROOT/include/64 -DDDM -DHPMPI" + MPI_CLEAN= + export MPI_EPATH=$MARC_BIN + export LD_LIBRARY_PATH=$MPI_ROOT/lib/$ARCHITECTURE:$MARC_LIB:$MARC_LIB_SHARED:$LD_LIBRARY_PATH + export MPIHPSPECIAL="-e MPI_FLAGS=E,T,y1" +# Below line is moved in run_marc file +# export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" + export MPIHPSPECIAL="$MPIHPSPECIAL -e BINDIR=$MARC_BIN" + if test -n "$MSC_LICENSE_FILE" + then + export MPIHPSPECIAL="$MPIHPSPECIAL -e MSC_LICENSE_FILE=$MSC_LICENSE_FILE" + fi + if test -n "$LM_LICENSE_FILE" + then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LM_LICENSE_FILE=$LM_LICENSE_FILE" + fi + export MPIHPSPECIAL="$MPIHPSPECIAL -e MPI_LIC_CHECKER=$MPI_ROOT/bin/licensing/amd64_s8/lichk.x" + RUN_JOB2="$MPI_ROOT/bin/mpirun ${MPIRUNOPTIONS} -prot -f " + RUN_JOB1="$MPI_ROOT/bin/mpirun ${MPIRUNOPTIONS} -prot -w $MPIHPSPECIAL -np " + RUN_JOB0= + fi + if test $MPITYPE = intelmpi + then + INTELMPI_VERSION=HYDRA + FCOMPMPI=mpiifort + MPI_ROOT=$MARC_INTELMPI + DDM="-I${MPI_ROOT}/include -DDDM" + PATH=$MPI_ROOT/bin:$PATH + export PATH + LD_LIBRARY_PATH=$MPI_ROOT/lib:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + if test $INTELMPI_VERSION = HYDRA + then + RUN_JOB1="${MPI_ROOT}/bin/mpiexec.hydra -genvall -n " + RUN_JOB2="${MPI_ROOT}/bin/mpiexec.hydra -genvall" + else + RUN_JOB1="${MPI_ROOT}/bin/mpiexec -n " + RUN_JOB2="${MPI_ROOT}/bin/mpiexec -configfile " + fi + RUN_JOB0= + MPI_CLEAN= + MPI_EPATH=$MARC_BIN + MPIR_HOME=$MPI_ROOT + MPICH_F77=$FCOMP + MPICH_F77LINKER=$FCOMP + export MPI_ROOT MPI_EPATH MPIR_HOME MPICH_F77 MPICH_F77LINKER + I_MPI_PIN_DOMAIN=node + export I_MPI_PIN_DOMAIN + fi +else + MPI_ROOT=$MARC_DUMMYMPI + export MPI_ROOT=$MARC_DUMMYMPI + DDM="-I$MPI_ROOT/include" +fi + +# +# variables for the "maintain" script +# + +MACHINENAME=LINUX +MACHINE64BIT=yes +MACHINE=Linux_EM64T +DEV=/dev/tape +GETLOG="whoami" +CLEAR="clear" +MY_UNAME=`uname -a` + +# Edit following 2 lines to build with VKI Solver +#VKISOLVER=VKI +VKISOLVER=NONE + +# Edit following 2 lines to build with CASI Solver +CASISOLVER=CASI +if test "$MARC_CASISOLVER" = "NONE" ; then + CASISOLVER=NONE +fi +#CASISOLVER=NONE + +# Edit following 2 lines to build with MF2 Solver +MF2SOLVER=NONE +#MF2SOLVER=SERIAL +#MF2SOLVER=MF2PARALLEL + +# Edit following lines to build with Intel(c) Multithreaded solver (PARDISO) +#INTELSOLVER=NONE +INTELSOLVER=PARDISO + +# Edit following lines to build with MUMPS +if test "$MARC_INTEGER_SIZE" = "i4" ; then + #MUMPSSOLVER=NONE + MUMPSSOLVER=MUMPS +else + #MUMPSSOLVER=NONE + MUMPSSOLVER=MUMPS +fi + +# Edit following 2 lines to build MARC dynamic shared library +MARC_DLL=MARC_DLL +MARC_DLL=NONE + +# always set VKISOLVER, CASISOLVER, BCSGPUSOLVER, and MARC_DLL to NONE for MD Nastran +if test "$_OEM_NASTRAN" -ne 0 +then + VKISOLVER=NONE + CASISOLVER=NONE + MF2SOLVER=NONE + INTELSOLVER=NONE + MUMPSSOLVER=NONE + BCSGPUSOLVER=NONE + MARC_DLL=NONE +fi +if test "$AEM_DLL" -eq 1 +then + VKISOLVER=NONE + CASISOLVER=NONE + MF2SOLVER=NONE + INTELSOLVER=NONE + MUMPSSOLVER=NONE + BCSGPUSOLVER=NONE +fi + +# +# define Fortran and C compile syntax +# +if test "$VKISOLVER" = VKI +then + SOLVERFLAGS="$SOLVERFLAGS -DVKI" +fi + +if test "$CASISOLVER" = CASI +then + SOLVERFLAGS="$SOLVERFLAGS -DCASI" +fi + +if test "$MF2SOLVER" = MF2PARALLEL +then + SOLVERFLAGS="$SOLVERFLAGS -DMF2PARALLEL" +fi +if test "$MF2SOLVER" = MF2SERIAL +then + SOLVERFLAGS="$SOLVERFLAGS -DMF2SERIAL" +fi + +if test "$INTELSOLVER" = PARDISO +then + SOLVERFLAGS="$SOLVERFLAGS -DPARDISO" +fi + +if test "$MUMPSSOLVER" = MUMPS +then + SOLVERFLAGS="$SOLVERFLAGS -DMUMPS" +fi + + +if test "$MARC_DLL" = MARC_DLL +then + SOLVERFLAGS="$SOLVERFLAGS -DMARC_DLL" +fi + +LINK_OPT= +DEBUG_OPT= +C_DEBUG_OPT= + +#Uncomment following line to build Marc in debuggable mode +MARCDEBUG= +#MARCDEBUG="ON" + +if test "$MARCDEBUG" = "ON" +then + LINK_OPT="-debug -traceback" + DEBUG_OPT="-debug -traceback" + C_DEBUG_OPT="-debug -traceback" +fi + + +MARCCHECK= +#MARCCHECK="ON" +if test "$MARCCHECK" = "ON" +then + DEBUG_OPT="$DEBUG_OPT -fpe0 -fp-stack-check -check all -ftrapuv " + C_DEBUG_OPT="$C_DEBUG_OPT -fp-stack-check -check-uninit -Wformat -ftrapuv " +fi + +MARCCODECOV= +#MARCCODECOV="ON" + +MARCCODEPROF= +#MARCCODEPROF="ON" + +if test "$MARC_INTEGER_SIZE" = "i4" ; then + I8FFLAGS= + I8DEFINES= + I8CDEFINES= +else + I8FFLAGS="-i8 -integer-size 64" + I8DEFINES="-DI64 -DINT=8" + I8CDEFINES="-U_DOUBLE -D_SINGLE" +fi + +MTHREAD=OPENMP +if test "$MARC_OPENMP" = "NONE" ; then + MTHREAD=NONE +fi +#MTHREAD=NONE +if test "$_OEM_NASTRAN" -ne 0 +then +MTHREAD=NONE +fi +if test "$AEM_DLL" -eq 1 +then + MTHREAD=NONE + CASISOLVER=NONE + VKISOLVER=NONE + MF2SOLVER=NONE + INTELSOLVER=NONE + BCSGPUSOLVER=NONE + OPENSSL_LIB= + MARC_DLL=NONE + METISLIBS= +fi + +OMP_COMPAT=NO +OMP_COMPAT=YES +if test "$MTHREAD" = "NONE" +then +OMP_COMPAT=NO +fi + +CDEFINES= +FDEFINES= + +if test "$_OEM_NASTRAN" -ne 0 +then + CDEFINES="$CDEFINES -D_OEM_NASTRAN" + FDEFINES="$FDEFINES -D_OEM_NASTRAN" +fi + +FDEFINES="$FDEFINES -D_IMPLICITNONE" + +if test "$_OEM_NASTRAN" -eq 0 +then + FDEFINES="$FDEFINES -DMKL -DOPENMP" +fi + +if test "$OMP_COMPAT" = "YES" +then + FDEFINES="$FDEFINES -DOMP_COMPAT" +fi + +# -D_MSCMARC +FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT $MARC_SIMUFACT" +CDEFINES="$CDEFINES -D_MSCMARC $C_DEBUG_OPT $I8CDEFINES" + +if test "$AEM_DLL" -eq 1 +then + FDEFINES="$FDEFINES -D_AEMNL -DAAA" + CDEFINES="$CDEFINES -D_AEMNL -DAAA" +fi + +CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource $METIS -I$LAPI_IMPORTS/common/include" +if test "$_OEM_NASTRAN" -ne 0 +then + CINCL="$CINCL -I../../include" +fi + +CC_OPT= +if test "$MTHREAD" = "OPENMP" +then + CC_OPT=" $CC_OPT -qopenmp" +fi + +CC="icc -c $CC_OPT -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " +CCLOW="icc -c $CC_OPT -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " +CCHIGH="icc -c $CC_OPT -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " + +if test "$MARCDEBUG" = "ON" +then + CC="icc -c $CC_OPT -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " + CCLOW="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " + CCHIGH="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " +fi + +LOAD_CC="icc $CC_OPT -O1 -DLinux -DLINUX -DLinux_intel" +CCT="$CC" +CCTLOW="$CCLOW" +CCTHIGH="$CCHIGH" + +#PROFILE="-Mprof=func" +#PROFILE="-Mprof=lines" +#PROFILE="-Mprof=func,mpi" +PROFILE= +#PROFILE="-init=snan,arrays -CB -traceback -fpe0 -fp-stack-check -check all -check uninit -ftrapuv" +if test "$MARCCODECOV" = "ON" +then +PROFILE="-prof-gen=srcpos" +fi +if test "$MARCCODEPROF" = "ON" +then +PROFILE=" $PROFILE -pg" +fi + +FORT_OPT="-c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr -mp1 -WB -fp-model source" +if test "$MTHREAD" = "OPENMP" +then + FORT_OPT=" $FORT_OPT -qopenmp" + if test "$OMP_COMPAT" = "YES" + then + FORT_OPT=" $FORT_OPT -qopenmp-threadprivate=compat" + fi +else +# FORT_OPT=" $FORT_OPT -auto " + FORT_OPT=" $FORT_OPT -save -zero" +fi +if test "$MARCHDF_HDF" = "HDF"; then + FORT_OPT="$FORT_OPT -DMARCHDF=$MARCHDF_HDF" +fi + +FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +FORTNA="$FCOMP $FORT_OPT -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM" +# for compiling free form f90 files. high opt, integer(4) +FORTF90="$FCOMP -c -O3" + +# determine DAMASK version +if test -n "$DAMASK_USER"; then + DAMASKROOT=`dirname $DAMASK_USER`/.. + read DAMASKVERSION < $DAMASKROOT/VERSION + DAMASKVERSION="'"$DAMASKVERSION"'" +else + DAMASKVERSION="'N/A'" +fi + + +# DAMASK compiler calls: additional flags are in line 2 OpenMP flags in line 3 +DFORTLOWMP="$FCOMP -c -O0 -qno-offload -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \ + -fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2019 -DDAMASKVERSION=$DAMASKVERSION \ + -qopenmp -qopenmp-threadprivate=compat\ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +DFORTRANMP="$FCOMP -c -O1 -qno-offload -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \ + -fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2019 -DDAMASKVERSION=$DAMASKVERSION \ + -qopenmp -qopenmp-threadprivate=compat\ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +DFORTHIGHMP="$FCOMP -c -O3 -qno-offload -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \ + -fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2019 -DDAMASKVERSION=$DAMASKVERSION \ + -qopenmp -qopenmp-threadprivate=compat\ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + +if test "$MARCDEBUG" = "ON" +then + FORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM" +fi + + +FORTLOWT="$FORTLOW" +FORTRANT="$FORTRAN" +FORTHIGHT="$FORTHIGH" + +FORTRANMNF="$FCOMP -c $FDEFINES " +CCMNF="icc -c -O1 -DLinux -DLINUX -DLinux_intel -Dport2egcs -I$MARC_SOURCE/marctoadams/mnf/include -D_LARGEFILE64_SOURCE" + +if test $MPITYPE != none +then + if test $MPITYPE = hpmpi + then + LOAD="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o " + LOADT="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o " + fi +# Uncomment the following lines to turn on the tracer and commnet out the next 5 lines +# if test $MPITYPE = intelmpi +# then +# INCLUDEMPI="-I$MPI_ROOT/include -I$VT_ROOT/include" +# LOAD="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o " +# LOADT="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o " +# fi + if test $MPITYPE = intelmpi + then + LOAD="ifort $PROFILE $LINK_OPT -o " + LOADT="ifort $PROFILE $LINK_OPT -o " + fi +else + LOAD="$FCOMP $LINK_OPT -o " + LOADT="$FCOMP $LINK_OPT -o " +fi + +if test "$MARC_DLL" = MARC_DLL +then + FORTLOW="$FORTLOW -fpp -fPIC" + FORTRAN="$FORTRAN -fpp -fPIC" + FORTHIGH="$FORTHIGH -fpp -fPIC" + FORTRANMNF="$FORTRANMNF -fpp -fPIC" + CC="$CC -fPIC" + CCMNF="$CCMNF -fPIC" + LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide -lpthread" + LINK_MARC_DLL="-shared -fPIC" + LOAD_DLL=$LOAD + LOADT_DLL=$LOADT + EXT_DLL="so" +fi + +if test "$AEM_DLL" -eq 1 +then + FORTLOW="$FORTLOW -fpp -fPIC" + FORTRAN="$FORTRAN -fpp -fPIC" + FORTHIGH="$FORTHIGH -fpp -fPIC" + FORTRANMNF="$FORTRANMNF -fpp -fPIC" + CC="$CC -fPIC" + CCMNF="$CCMNF -fPIC" + LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide" + LINK_MARC_DLL="-shared -fPIC" + LOAD_DLL=$LOAD + LOADT_DLL=$LOADT + EXT_DLL="so" +fi + + +XLIBS="-L/usr/X11/lib -lX11 " + +# +# define archive and ranlib syntax +# + +ARC="ar rvl" +ARD="ar dvl" +ARX="ar xl" +RAN="" + +# +# choose which libraries you want to use ( e.g. blas ) +# + +if test "$VKISOLVER" = VKI +then + VKISOLVERLIBS="$MARC_LIB/vkisolver.a" +else + VKISOLVERLIBS= +fi + +if test "$CASISOLVER" = CASI +then + CASISOLVERLIBS="$CASILIB_DIR/libmarccasi.a $CASILIB_DIR/libcasi.a" +else + CASISOLVERLIBS= +fi + +MF2SOLVERLIBS= +if test "$MF2SOLVER" = MF2PARALLEL +then + MF2SOLVERLIBS="$MARC_LIB/mf2parallel/libseq.a \ + $MARC_LIB/mf2parallel/libsym.a \ + $MARC_LIB/mf2parallel/libmet.a \ + $MARC_LIB/mf2parallel/libmf2.a \ + $MARC_LIB/mf2parallel/libgauss.a \ + $MARC_LIB/mf2parallel/libmf2.a \ + $MARC_LIB/mf2parallel/libgauss.a \ + $MARC_LIB/mf2parallel/libnum.a \ + $MARC_LIB/mf2parallel/libutl.a \ + $MARC_LIB/mf2parallel/libr8.a \ + $MARC_LIB/mf2parallel/libz.a " +fi + +if test "$MUMPSSOLVER" = MUMPS +then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a" + if test $MPITYPE = none + then + MUMPSSOLVERLIBS2= + echo hello > /dev/null + fi + if test $MPITYPE = intelmpi + then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a" + if test "$MARC_INTEGER_SIZE" = "i4" ; then + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a " + else + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a " + fi + fi + if test $MPITYPE = hpmpi + then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_hpmpi.a" + if test "$MARC_INTEGER_SIZE" = "i4" ; then + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a" + else + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a" + fi + fi +else + MUMPSSOLVERLIBS= + MUMPSSOLVERLIBS2= +fi + +if test "$BCSGPUSOLVER" = BCSGPU +then + BCSSOLVERLIBS="${BCSLIB_DIR}/bcsgpulib.a " + MARCCUDALIBS1="-L${BCSLIB_DIR}/cuda_dummy -lmarccuda " + MARCCUDALIBS2="-L${BCSLIB_DIR}/cuda -lmarccuda " + MARCCUDALIBS=$MARCCUDALIBS1 +else + BCSSOLVERLIBS="${MARC_LIB}/bcslib.a " +fi +if test "$AEM_DLL" -eq 1 +then + BCSSOLVERLIBS= +fi + +if test "$MARC_INTEGER_SIZE" = "i4" ; then + MKLLIB="$MARC_MKL/libmkl_scalapack_lp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_lp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MARC_MKL/libmkl_blacs_intelmpi_lp64.a $MUMPSSOLVERLIBS2 -Wl,--end-group" +else + MKLLIB="$MARC_MKL/libmkl_scalapack_ilp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_ilp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a $MUMPSSOLVERLIBS2 -Wl,--end-group" +fi + +SECLIBS="-L$MARC_LIB -llapi" + +SOLVERLIBS="${BCSSOLVERLIBS} ${VKISOLVERLIBS} ${CASISOLVERLIBS} ${MF2SOLVERLIBS} \ + $MKLLIB -L$MARC_MKL -liomp5 \ + $MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a $KDTREE2_LIB/kdtree2.a $HDF5_LIB" + +SOLVERLIBS_DLL=${SOLVERLIBS} +if test "$AEM_DLL" -eq 1 +then +SOLVERLIBS_DLL="$MKLLIB -L$MARC_MKL -liomp5 $MARC_LIB/blas_src.a" +fi +MRCLIBS="$MARC_LIB/clib.a ${CASISOLVERLIBS}" +MRCLIBSPAR="$MARC_LIB/clib.a" +STUBS="$MARC_LIB/stubs.a " +MNFLIBS="$MARC_LIB/libmnf.a" +MDUSER="$MARC_LIB/md_user.a" +if test "X$MARC_SIMUFACT" != "X" +then + SFLIB="-L$SFMATDIR -lMBA_Grain" +else + SFLIB=" " +fi +OPENMP="-qopenmp" + +if test "$AEM_DLL" -eq 1 +then + LOAD_DLL=$LOAD + OPENMP= + LIBMNF= + OPENSSL=NONE +fi + +SYSLIBS=" $OPENMP -lpthread -cxxlib" + +# Uncomment the following lines to turn on the trace and comment out the next 4 lines +# if test $MPITYPE = intelmpi +# then +# SYSLIBS="-L${VT_ROOT}/lib -lVT -ldwarf -lelf -lm -lpthread \ +# -L${MPI_ROOT}/lib64 -lmpi -lmpiif -lmpigi -lrt" +# fi +if test $MPITYPE = intelmpi +then + SYSLIBS="-L${MPI_ROOT}/lib -lmpi_mt -lmpifort -lrt $OPENMP -threads -lpthread -cxxlib" +fi + + +SYSLIBSPAR=" " + +MARC_DLL_CODES="runmarc.f" + + +BLAS_SRC="dzero.f icopy.f izero.f" +if test "$_OEM_NASTRAN" -ne 0 +then + if test "$MARC_INTEGER_SIZE" = "i4" ; then + BLAS_SRC="$BLAS_SRC dsctr.f zsctr.f dzasum.f daxpyi.f zaxpyi.f dgthr.f zgthr.f" + else + BLAS_SRC="ALL" + fi +fi + +LOW_OPT_CODES="are163.f contro.f ndext.f omarc.f omarca.f omarcb.f omarcc.f \ + omars.f fixbc.f triang.f bet049.f norst3.f eldata.f \ + elec*.f elct*.f fmeig.f oada00.f ogeig.f updtrbe2.f cycrota.f \ + cordef.f ogpk.f ogtan.f eldam.f formrbe3.f \ + inertie.f em_sso072.f cn_fol3d_qpatch6.f cosim_begin.f" +if test "$MARC_INTEGER_SIZE" = "i8" ; then + LOW_OPT_CODES="$LOW_OPT_CODES bbcseg.f" +fi + +HIGH_OPT_CODES="dpsmsa1.f dpsmsa2.f dpsmsa3.f dpsmsa4.f dpsmsa5.f dpsmsa6.f \ + dpsmsa7.f dpsmsa8.f dpsmsa9.f dpsmsa10.f dpsmsa11.f dpsmsa12.f \ + dpsmsa13.f dpsmsa14.f dpsmsa15.f dpsmsa16.f dpsmsah.f tpsmsah.f cn_qsort4_11.f \ + prei11.f prei12.f prei31.f prei32.f prei41.f prei42.f prei61.f prei62.f \ + prei1n.f prei2n.f cgfullnts1.f cgfullnts2.f cg1n.f cg2n.f cg3n.f \ + cg4n.f cg5n.f cg6n.f cgnn.f sortab.f sortab1.f triann1.f preinv_nts.f " + + + +MAXNUM=1000000 diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/include_linux64.original b/installation/mods_MarcMentat/2019.1/Marc_tools/include_linux64.original new file mode 100644 index 000000000..224d3b6d6 --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/include_linux64.original @@ -0,0 +1,788 @@ +# +# General definitions for the Marc 2019 FP1 version +# +# EM64T +# +# Linux RedHat 7.1, 7.3 / SuSE 11 SP4, 12 SP1 +# +# 64 bit MPI version +# +# Intel(R) Fortran Intel(R) 64 Compiler XE for applications +# running on Intel(R) 64, Version 17.0.5.239 Build 20170817 +# +# Intel(R) C Intel(R) 64 Compiler XE for applications +# running on Intel(R) 64, Version 17.0.5.239 Build 20170817 +# +# To check the O/S level, type: +# uname -a +# +# Distributed parallel MPI libraries: +# 1) HP MPI 2.3 +# To check the mpi version, type: +# mpirun -version +# 2) Intel MPI 2017.1 +# To check the mpi version, type: +# mpiexec.hydra -version +# +# To check the Compiler level, type using the compiler +# installation path: +# ifort -V +# icc -V +# +# REMARKS : This file contains the definitions of variables used during +# compilation loading and use of the MARC programmes . The +# current machine type is identified by means of the variable +# MACHINE , defined below. +# +# +# MPI_ROOT: root directory in which mpi shared libraries, etc. are located +# DIRJOB : directory in which spawned jobs should look for Marc input +# MPI_ARCH: system architecture +# MPI_EPATH: path where executable resides +# +REVISION="VERSION, BUILD" +HOSTNAME=`hostname` + +# find available memory in Mbyte on the machine +# can be set explicitly +MEMLIMIT=`free -m | awk '/Mem:/ {print $2}'` + +# set _OEM_NASTRAN to 1 for MD Nastran build +# override _OEM_NASTRAN setting with MARC_MD_NASTRAN environment variable +_OEM_NASTRAN="${MARC_MD_NASTRAN:-0}" + +# uncomment the following line for an autoforge build +#AUTOFORGE=1 +AUTOFORGE=0 +export AUTOFORGE + +# integer size +if test "$MARC_INTEGER_SIZE" = "" ; then + INTEGER_PATH= +else + INTEGER_PATH=/$MARC_INTEGER_SIZE +fi + +FCOMP=ifort +INTELPATH="/opt/intel/compilers_and_libraries_2017/linux" + +# find the root directory of the compiler installation: +# - if ifort is found in $PATH, then the root directory is derived +# from the path to ifort +# - if ifort is not found in $PATH, the root directory is assumed +# to be $INTELPATH and the directory in which ifort is found is +# added to $PATH +FCOMPPATH=`which "$FCOMP" 2>/dev/null` +if test -n "$FCOMPPATH"; then + # derive the root directory from $FCOMPPATH + FCOMPROOT="${FCOMPPATH%/bin/intel64/$FCOMP}" + if test "$FCOMPROOT" = "$FCOMPPATH"; then + FCOMPROOT="${FCOMPPATH%/bin/$FCOMP}" + fi + if test "$FCOMPROOT" = "$FCOMPPATH"; then + FCOMPROOT= + fi +elif test -d "$INTELPATH"; then + # check for compiler in $INTELPATH + if test -d "$INTELPATH/bin/intel64" -a \ + -x "$INTELPATH/bin/intel64/$FCOMP" ; then + FCOMPROOT="$INTELPATH" + PATH="$INTELPATH/bin/intel64:$PATH" + elif test -d "$INTELPATH/bin" -a \ + -x "$INTELPATH/bin/$FCOMP"; then + FCOMPROOT="$INTELPATH" + PATH="$INTELPATH/bin:$PATH" + else + FCOMPROOT= + fi +else + FCOMPROOT= +fi + +# AEM +if test "$MARCDLLOUTDIR" = ""; then + DLLOUTDIR="$MARC_LIB" +else + DLLOUTDIR="$MARCDLLOUTDIR" +fi + +# settings for MKL +if test "$IMKLDIR" = ""; then + MARC_MKL="$FCOMPROOT/mkl/lib/intel64" +else + MARC_MKL=$IMKLDIR/lib/intel64 +fi + +# +# settings for Metis +# +METIS="-I$METIS_SOURCE/include" +METISLIBS="$METISLIB_DIR/libmarcddm.a $METISLIB_DIR/libmarcmetis.a " + +# +# settings for MPI +# +# RCP and RSH are used for parallel network runs +# replace with similar commands like rsh if needed +RCP=/usr/bin/scp +RSH=/usr/bin/ssh +# + + +MPI_DEFAULT=intelmpi +MPI_OTHER=hpmpi + +MPITYPE=$MPI_DEFAULT + +if test $AUTOFORGE +then + if test $AUTOFORGE = 1 + then + MPITYPE=none + fi +fi + + +# overrule MPITYPE setting with environmental variable MARC_MPITYPE +if test $MARC_MPITYPE +then + MPITYPE=$MARC_MPITYPE +fi + +# always set MPITYPE to none for MD Nastran +if test "$_OEM_NASTRAN" -ne 0 +then + MPITYPE=none +fi + +# Edit following lines to build with GPGPU version of BCS Solver for +# NVIDIA platforms +#BCSGPUSOLVER=NONE +BCSGPUSOLVER=BCSGPU + +# Edit following lines to set the openssl library +if test "$OPENSSL" != "NONE" +then + OPENSSL_LIB="$MARC_LIB/libcrypto.a" +fi +OPENSSL_INCLUDE=-I"$MARC_OPENSSL/include/" + +MARCHDF_HDF=HDF +#MARCHDF_HDF=NONE +if test "$MARCHDF_HDF" = "HDF"; then + HDF_INCLUDE="-I$MARC_HDF/include" + HDF_LIBS="$MARC_LIB/libhdf5_fortran.so.100 $MARC_LIB/libhdf5.so.101" +fi + +# activate contact component build if flagged +AEM_DLL=0 +if test "$AEM_BUILD" = "ON" ; then + AEM_DLL=1 + LINK_MARC_DLL="-shared -fPIC" + EXT_DLL="so" + MPITYPE=none + MPI_OTHER= + BCSGPUSOLVER=NONE + MUMPSSOLVER=NONE + CASISOLVER=NONE +fi + +SOLVERFLAGS= +if test "$BCSGPUSOLVER" = BCSGPU +then + SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA" + BCS_DIR=bcsgpusolver +else + BCS_DIR=bcssolver +fi +# +# settings for MPI +# +DDM= +if test $MPITYPE != none +then + if test $MPITYPE = hpmpi + then + FCOMPMPI=mpif90 + export MPI_ROOT=$MARC_HPMPI + export MPI_REMSH=$RSH + export MPI_F77=$FCOMP + ARCHITECTURE=linux_amd64 + DDM="-I$MPI_ROOT/include/64 -DDDM -DHPMPI" + MPI_CLEAN= + export MPI_EPATH=$MARC_BIN + export LD_LIBRARY_PATH=$MPI_ROOT/lib/$ARCHITECTURE:$MARC_LIB:$MARC_LIB_SHARED:$LD_LIBRARY_PATH + export MPIHPSPECIAL="-e MPI_FLAGS=E,T,y1" +# Below line is moved in run_marc file +# export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" + export MPIHPSPECIAL="$MPIHPSPECIAL -e BINDIR=$MARC_BIN" + if test -n "$MSC_LICENSE_FILE" + then + export MPIHPSPECIAL="$MPIHPSPECIAL -e MSC_LICENSE_FILE=$MSC_LICENSE_FILE" + fi + if test -n "$LM_LICENSE_FILE" + then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LM_LICENSE_FILE=$LM_LICENSE_FILE" + fi + export MPIHPSPECIAL="$MPIHPSPECIAL -e MPI_LIC_CHECKER=$MPI_ROOT/bin/licensing/amd64_s8/lichk.x" + RUN_JOB2="$MPI_ROOT/bin/mpirun ${MPIRUNOPTIONS} -prot -f " + RUN_JOB1="$MPI_ROOT/bin/mpirun ${MPIRUNOPTIONS} -prot -w $MPIHPSPECIAL -np " + RUN_JOB0= + fi + if test $MPITYPE = intelmpi + then + INTELMPI_VERSION=HYDRA + FCOMPMPI=mpiifort + MPI_ROOT=$MARC_INTELMPI + DDM="-I${MPI_ROOT}/include -DDDM" + PATH=$MPI_ROOT/bin:$PATH + export PATH + LD_LIBRARY_PATH=$MPI_ROOT/lib:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + if test $INTELMPI_VERSION = HYDRA + then + RUN_JOB1="${MPI_ROOT}/bin/mpiexec.hydra -genvall -n " + RUN_JOB2="${MPI_ROOT}/bin/mpiexec.hydra -genvall" + else + RUN_JOB1="${MPI_ROOT}/bin/mpiexec -n " + RUN_JOB2="${MPI_ROOT}/bin/mpiexec -configfile " + fi + RUN_JOB0= + MPI_CLEAN= + MPI_EPATH=$MARC_BIN + MPIR_HOME=$MPI_ROOT + MPICH_F77=$FCOMP + MPICH_F77LINKER=$FCOMP + export MPI_ROOT MPI_EPATH MPIR_HOME MPICH_F77 MPICH_F77LINKER + I_MPI_PIN_DOMAIN=node + export I_MPI_PIN_DOMAIN + fi +else + MPI_ROOT=$MARC_DUMMYMPI + export MPI_ROOT=$MARC_DUMMYMPI + DDM="-I$MPI_ROOT/include" +fi + +# +# variables for the "maintain" script +# + +MACHINENAME=LINUX +MACHINE64BIT=yes +MACHINE=Linux_EM64T +DEV=/dev/tape +GETLOG="whoami" +CLEAR="clear" +MY_UNAME=`uname -a` + +# Edit following 2 lines to build with VKI Solver +#VKISOLVER=VKI +VKISOLVER=NONE + +# Edit following 2 lines to build with CASI Solver +CASISOLVER=CASI +if test "$MARC_CASISOLVER" = "NONE" ; then + CASISOLVER=NONE +fi +#CASISOLVER=NONE + +# Edit following 2 lines to build with MF2 Solver +MF2SOLVER=NONE +#MF2SOLVER=SERIAL +#MF2SOLVER=MF2PARALLEL + +# Edit following lines to build with Intel(c) Multithreaded solver (PARDISO) +#INTELSOLVER=NONE +INTELSOLVER=PARDISO + +# Edit following lines to build with MUMPS +if test "$MARC_INTEGER_SIZE" = "i4" ; then + #MUMPSSOLVER=NONE + MUMPSSOLVER=MUMPS +else + #MUMPSSOLVER=NONE + MUMPSSOLVER=MUMPS +fi + +# Edit following 2 lines to build MARC dynamic shared library +MARC_DLL=MARC_DLL +MARC_DLL=NONE + +# always set VKISOLVER, CASISOLVER, BCSGPUSOLVER, and MARC_DLL to NONE for MD Nastran +if test "$_OEM_NASTRAN" -ne 0 +then + VKISOLVER=NONE + CASISOLVER=NONE + MF2SOLVER=NONE + INTELSOLVER=NONE + MUMPSSOLVER=NONE + BCSGPUSOLVER=NONE + MARC_DLL=NONE +fi +if test "$AEM_DLL" -eq 1 +then + VKISOLVER=NONE + CASISOLVER=NONE + MF2SOLVER=NONE + INTELSOLVER=NONE + MUMPSSOLVER=NONE + BCSGPUSOLVER=NONE +fi + +# +# define Fortran and C compile syntax +# +if test "$VKISOLVER" = VKI +then + SOLVERFLAGS="$SOLVERFLAGS -DVKI" +fi + +if test "$CASISOLVER" = CASI +then + SOLVERFLAGS="$SOLVERFLAGS -DCASI" +fi + +if test "$MF2SOLVER" = MF2PARALLEL +then + SOLVERFLAGS="$SOLVERFLAGS -DMF2PARALLEL" +fi +if test "$MF2SOLVER" = MF2SERIAL +then + SOLVERFLAGS="$SOLVERFLAGS -DMF2SERIAL" +fi + +if test "$INTELSOLVER" = PARDISO +then + SOLVERFLAGS="$SOLVERFLAGS -DPARDISO" +fi + +if test "$MUMPSSOLVER" = MUMPS +then + SOLVERFLAGS="$SOLVERFLAGS -DMUMPS" +fi + + +if test "$MARC_DLL" = MARC_DLL +then + SOLVERFLAGS="$SOLVERFLAGS -DMARC_DLL" +fi + +LINK_OPT= +DEBUG_OPT= +C_DEBUG_OPT= + +#Uncomment following line to build Marc in debuggable mode +MARCDEBUG= +#MARCDEBUG="ON" + +if test "$MARCDEBUG" = "ON" +then + LINK_OPT="-debug -traceback" + DEBUG_OPT="-debug -traceback" + C_DEBUG_OPT="-debug -traceback" +fi + + +MARCCHECK= +#MARCCHECK="ON" +if test "$MARCCHECK" = "ON" +then + DEBUG_OPT="$DEBUG_OPT -fpe0 -fp-stack-check -check all -ftrapuv " + C_DEBUG_OPT="$C_DEBUG_OPT -fp-stack-check -check-uninit -Wformat -ftrapuv " +fi + +MARCCODECOV= +#MARCCODECOV="ON" + +MARCCODEPROF= +#MARCCODEPROF="ON" + +if test "$MARC_INTEGER_SIZE" = "i4" ; then + I8FFLAGS= + I8DEFINES= + I8CDEFINES= +else + I8FFLAGS="-i8" + I8DEFINES="-DI64" + I8CDEFINES="-U_DOUBLE -D_SINGLE" +fi + +MTHREAD=OPENMP +if test "$MARC_OPENMP" = "NONE" ; then + MTHREAD=NONE +fi +#MTHREAD=NONE +if test "$_OEM_NASTRAN" -ne 0 +then +MTHREAD=NONE +fi +if test "$AEM_DLL" -eq 1 +then + MTHREAD=NONE + CASISOLVER=NONE + VKISOLVER=NONE + MF2SOLVER=NONE + INTELSOLVER=NONE + BCSGPUSOLVER=NONE + OPENSSL_LIB= + MARC_DLL=NONE + METISLIBS= +fi + +OMP_COMPAT=NO +OMP_COMPAT=YES +if test "$MTHREAD" = "NONE" +then +OMP_COMPAT=NO +fi + +CDEFINES= +FDEFINES= + +if test "$_OEM_NASTRAN" -ne 0 +then + CDEFINES="$CDEFINES -D_OEM_NASTRAN" + FDEFINES="$FDEFINES -D_OEM_NASTRAN" +fi + +FDEFINES="$FDEFINES -D_IMPLICITNONE" + +if test "$_OEM_NASTRAN" -eq 0 +then + FDEFINES="$FDEFINES -DMKL -DOPENMP" +fi + +if test "$OMP_COMPAT" = "YES" +then + FDEFINES="$FDEFINES -DOMP_COMPAT" +fi + +# -D_MSCMARC +FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT $MARC_SIMUFACT" +CDEFINES="$CDEFINES -D_MSCMARC $C_DEBUG_OPT $I8CDEFINES" + +if test "$AEM_DLL" -eq 1 +then + FDEFINES="$FDEFINES -D_AEMNL -DAAA" + CDEFINES="$CDEFINES -D_AEMNL -DAAA" +fi + +CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource $METIS -I$LAPI_IMPORTS/common/include" +if test "$_OEM_NASTRAN" -ne 0 +then + CINCL="$CINCL -I../../include" +fi + +CC_OPT= +if test "$MTHREAD" = "OPENMP" +then + CC_OPT=" $CC_OPT -qopenmp" +fi + +CC="icc -c $CC_OPT -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " +CCLOW="icc -c $CC_OPT -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " +CCHIGH="icc -c $CC_OPT -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " + +if test "$MARCDEBUG" = "ON" +then + CC="icc -c $CC_OPT -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " + CCLOW="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " + CCHIGH="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " +fi + +LOAD_CC="icc $CC_OPT -O1 -DLinux -DLINUX -DLinux_intel" +CCT="$CC" +CCTLOW="$CCLOW" +CCTHIGH="$CCHIGH" + +#PROFILE="-Mprof=func" +#PROFILE="-Mprof=lines" +#PROFILE="-Mprof=func,mpi" +PROFILE= +#PROFILE="-init=snan,arrays -CB -traceback -fpe0 -fp-stack-check -check all -check uninit -ftrapuv" +if test "$MARCCODECOV" = "ON" +then +PROFILE="-prof-gen=srcpos" +fi +if test "$MARCCODEPROF" = "ON" +then +PROFILE=" $PROFILE -pg" +fi + +FORT_OPT="-c -assume byterecl -safe_cray_ptr -mp1 -WB -fp-model source" +if test "$MTHREAD" = "OPENMP" +then + FORT_OPT=" $FORT_OPT -qopenmp" + if test "$OMP_COMPAT" = "YES" + then + FORT_OPT=" $FORT_OPT -qopenmp-threadprivate=compat" + fi +else +# FORT_OPT=" $FORT_OPT -auto " + FORT_OPT=" $FORT_OPT -save -zero" +fi +if test "$MARCHDF_HDF" = "HDF"; then + FORT_OPT="$FORT_OPT -DMARCHDF_HDF=$MARCHDF_HDF $HDF_INCLUDE" +fi + +FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +FORTNA="$FCOMP $FORT_OPT -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM" +# for compiling free form f90 files. high opt, integer(4) +FORTF90="$FCOMP -c -O3" + +if test "$MARCDEBUG" = "ON" +then + FORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM" +fi + +FORTLOWT="$FORTLOW" +FORTRANT="$FORTRAN" +FORTHIGHT="$FORTHIGH" + +FORTRANMNF="$FCOMP -c $FDEFINES " +CCMNF="icc -c -O1 -DLinux -DLINUX -DLinux_intel -Dport2egcs -I$MARC_SOURCE/marctoadams/mnf/include -D_LARGEFILE64_SOURCE" + +if test $MPITYPE != none +then + if test $MPITYPE = hpmpi + then + LOAD="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o " + LOADT="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o " + fi +# Uncomment the following lines to turn on the tracer and commnet out the next 5 lines +# if test $MPITYPE = intelmpi +# then +# INCLUDEMPI="-I$MPI_ROOT/include -I$VT_ROOT/include" +# LOAD="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o " +# LOADT="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o " +# fi + if test $MPITYPE = intelmpi + then + LOAD="ifort $PROFILE $LINK_OPT -o " + LOADT="ifort $PROFILE $LINK_OPT -o " + fi +else + LOAD="$FCOMP $LINK_OPT -o " + LOADT="$FCOMP $LINK_OPT -o " +fi + +if test "$MARC_DLL" = MARC_DLL +then + FORTLOW="$FORTLOW -fpp -fPIC" + FORTRAN="$FORTRAN -fpp -fPIC" + FORTHIGH="$FORTHIGH -fpp -fPIC" + FORTRANMNF="$FORTRANMNF -fpp -fPIC" + CC="$CC -fPIC" + CCMNF="$CCMNF -fPIC" + LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide -lpthread" + LINK_MARC_DLL="-shared -fPIC" + LOAD_DLL=$LOAD + LOADT_DLL=$LOADT + EXT_DLL="so" +fi + +if test "$AEM_DLL" -eq 1 +then + FORTLOW="$FORTLOW -fpp -fPIC" + FORTRAN="$FORTRAN -fpp -fPIC" + FORTHIGH="$FORTHIGH -fpp -fPIC" + FORTRANMNF="$FORTRANMNF -fpp -fPIC" + CC="$CC -fPIC" + CCMNF="$CCMNF -fPIC" + LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide" + LINK_MARC_DLL="-shared -fPIC" + LOAD_DLL=$LOAD + LOADT_DLL=$LOADT + EXT_DLL="so" +fi + + +XLIBS="-L/usr/X11/lib -lX11 " + +# +# define archive and ranlib syntax +# + +ARC="ar rvl" +ARD="ar dvl" +ARX="ar xl" +RAN="" + +# +# choose which libraries you want to use ( e.g. blas ) +# + +if test "$VKISOLVER" = VKI +then + VKISOLVERLIBS="$MARC_LIB/vkisolver.a" +else + VKISOLVERLIBS= +fi + +if test "$CASISOLVER" = CASI +then + CASISOLVERLIBS="$CASILIB_DIR/libmarccasi.a $CASILIB_DIR/libcasi.a" +else + CASISOLVERLIBS= +fi + +MF2SOLVERLIBS= +if test "$MF2SOLVER" = MF2PARALLEL +then + MF2SOLVERLIBS="$MARC_LIB/mf2parallel/libseq.a \ + $MARC_LIB/mf2parallel/libsym.a \ + $MARC_LIB/mf2parallel/libmet.a \ + $MARC_LIB/mf2parallel/libmf2.a \ + $MARC_LIB/mf2parallel/libgauss.a \ + $MARC_LIB/mf2parallel/libmf2.a \ + $MARC_LIB/mf2parallel/libgauss.a \ + $MARC_LIB/mf2parallel/libnum.a \ + $MARC_LIB/mf2parallel/libutl.a \ + $MARC_LIB/mf2parallel/libr8.a \ + $MARC_LIB/mf2parallel/libz.a " +fi + +if test "$MUMPSSOLVER" = MUMPS +then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a" + if test $MPITYPE = none + then + MUMPSSOLVERLIBS2= + echo hello > /dev/null + fi + if test $MPITYPE = intelmpi + then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a" + if test "$MARC_INTEGER_SIZE" = "i4" ; then + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a " + else + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a " + fi + fi + if test $MPITYPE = hpmpi + then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_hpmpi.a" + if test "$MARC_INTEGER_SIZE" = "i4" ; then + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a" + else + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a" + fi + fi +else + MUMPSSOLVERLIBS= + MUMPSSOLVERLIBS2= +fi + +if test "$BCSGPUSOLVER" = BCSGPU +then + BCSSOLVERLIBS="${BCSLIB_DIR}/bcsgpulib.a " + MARCCUDALIBS1="-L${BCSLIB_DIR}/cuda_dummy -lmarccuda " + MARCCUDALIBS2="-L${BCSLIB_DIR}/cuda -lmarccuda " + MARCCUDALIBS=$MARCCUDALIBS1 +else + BCSSOLVERLIBS="${MARC_LIB}/bcslib.a " +fi +if test "$AEM_DLL" -eq 1 +then + BCSSOLVERLIBS= +fi + +if test "$MARC_INTEGER_SIZE" = "i4" ; then + MKLLIB="$MARC_MKL/libmkl_scalapack_lp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_lp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MUMPSSOLVERLIBS2 -Wl,--end-group" +else + MKLLIB="$MARC_MKL/libmkl_scalapack_ilp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_ilp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MUMPSSOLVERLIBS2 -Wl,--end-group" +fi + +SECLIBS="-L$MARC_LIB -llapi" + +SOLVERLIBS="${BCSSOLVERLIBS} ${VKISOLVERLIBS} ${CASISOLVERLIBS} ${MF2SOLVERLIBS} \ + $MKLLIB -L$MARC_MKL -liomp5 \ + $MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a $KDTREE2_LIB/kdtree2.a $HDF_LIBS" + +SOLVERLIBS_DLL=${SOLVERLIBS} +if test "$AEM_DLL" -eq 1 +then +SOLVERLIBS_DLL="$MKLLIB -L$MARC_MKL -liomp5 $MARC_LIB/blas_src.a" +fi +MRCLIBS="$MARC_LIB/clib.a ${CASISOLVERLIBS}" +MRCLIBSPAR="$MARC_LIB/clib.a" +STUBS="$MARC_LIB/stubs.a " +MNFLIBS="$MARC_LIB/libmnf.a" +MDUSER="$MARC_LIB/md_user.a" +if test "X$MARC_SIMUFACT" != "X" +then + SFLIB="-L$SFMATDIR -lMBA_Grain" +else + SFLIB=" " +fi +OPENMP="-qopenmp" + +if test "$AEM_DLL" -eq 1 +then + LOAD_DLL=$LOAD + OPENMP= + LIBMNF= + OPENSSL=NONE +fi + +SYSLIBS=" $OPENMP -lpthread -shared-intel -cxxlib" + +# Uncomment the following lines to turn on the trace and comment out the next 4 lines +# if test $MPITYPE = intelmpi +# then +# SYSLIBS="-L${VT_ROOT}/lib -lVT -ldwarf -lelf -lm -lpthread \ +# -L${MPI_ROOT}/lib64 -lmpi -lmpiif -lmpigi -lrt" +# fi +if test $MPITYPE = intelmpi +then + SYSLIBS="-L${MPI_ROOT}/lib -lmpi_mt -lmpifort -lrt $OPENMP -threads -lpthread -shared-intel -cxxlib" +fi + + +SYSLIBSPAR=" " + +MARC_DLL_CODES="runmarc.f" + + +BLAS_SRC="dzero.f icopy.f izero.f" +if test "$_OEM_NASTRAN" -ne 0 +then + if test "$MARC_INTEGER_SIZE" = "i4" ; then + BLAS_SRC="$BLAS_SRC dsctr.f zsctr.f dzasum.f daxpyi.f zaxpyi.f dgthr.f zgthr.f" + else + BLAS_SRC="ALL" + fi +fi + +LOW_OPT_CODES="are163.f contro.f ndext.f omarc.f omarca.f omarcb.f omarcc.f \ + omars.f fixbc.f triang.f bet049.f norst3.f eldata.f \ + elec*.f elct*.f fmeig.f oada00.f ogeig.f updtrbe2.f cycrota.f \ + cordef.f ogpk.f ogtan.f eldam.f formrbe3.f \ + inertie.f em_sso072.f cn_fol3d_qpatch6.f cosim_begin.f" +if test "$MARC_INTEGER_SIZE" = "i8" ; then + LOW_OPT_CODES="$LOW_OPT_CODES bbcseg.f" +fi + +HIGH_OPT_CODES="dpsmsa1.f dpsmsa2.f dpsmsa3.f dpsmsa4.f dpsmsa5.f dpsmsa6.f \ + dpsmsa7.f dpsmsa8.f dpsmsa9.f dpsmsa10.f dpsmsa11.f dpsmsa12.f \ + dpsmsa13.f dpsmsa14.f dpsmsa15.f dpsmsa16.f dpsmsah.f tpsmsah.f cn_qsort4_11.f \ + prei11.f prei12.f prei31.f prei32.f prei41.f prei42.f prei61.f prei62.f \ + prei1n.f prei2n.f cgfullnts1.f cgfullnts2.f cg1n.f cg2n.f cg3n.f \ + cg4n.f cg5n.f cg6n.f cgnn.f sortab.f sortab1.f triann1.f preinv_nts.f " + + + +MAXNUM=1000000 diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_hmp b/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_hmp new file mode 100644 index 000000000..3fc9a59a0 --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_hmp @@ -0,0 +1,4105 @@ +#!/bin/ksh +############################################################################## +# # +# run_marc - run a marc job # +# ------------------------- # +# # +# usage: run_marc -j jid { options } # +# # +# where standard options are: required: defaults: # +# -------------------------- # +# # +# -j* jid job id number. ** YES ** . # +# -pr* prog program name. . marc # +# -v* y|n do or do not verify inputs. . yes # +# -q* s|l|v|b|f batch queue name or background, . short # +# foreground. # +# -b* as alternative to option -q* # +# # +# ( batch queues only : # +# -pq* intra queue priority. . . # +# -at DATE/TIME delay start of job. . . # +# format : January,1,1990,12:31 # +# or : today,5pm # +# -cpu* secs job CPU limit . . ) # +# # +# -r* rid restart file job id. . . # +# -si* sid substructure file id. . . # +# -pi* post post file job id. . . # +# -de* did defaults file . no # +# -vf vid viewfactor . no # +# # +# -u* user user subroutine. . . # +# -obj obj user objects or libraries. . . # +# -sa* y|n do or do not save load module. . no # +# -me manual remeshing control . no # +# -ml memory limit in Mbyte # +# -mo This option is deprecated. As of Marc 2015, only # +# the integer*8 version is available. # +# -mpi selects MPI version # +# each platform has a default MPI version and some # +# have an alternative version. see the include file # +# for the respective platform # +# MPI_DEFAULT defines the default MPI version # +# MPI_OTHER defines versions one can switch to # +# -dcoup for contact decoupling # +# currently not supported # +# -dir directory where the job i/o should take place. # +# defaults to current directory. # +# -sdir directory where scratch files are created # +# defaults to current directory. # +# # +# -alloc only perform memory allocation test, no analysis # +# -list y only list options in the input file, no analysis # +# -fe num set feature number "num" for the run. only one allowed # +# -dytran flag to switch from Dytran to Marc # +# dytran = 0, program will run w/o Marc-Dytran Switch # +# = 1, program will restart Marc after Dytran run # +# >= 2, Not supported yet. # +# currently not supported # +# -ou force analysis to use out-of-core control # +# =0, not used # +# =1, element storage out-of-core # +# -dll run marc using shared library libmarc.so and exe_marc # +# =1, used # +# =2, do not free streaming input memory # +# =3, run with marc input deck # +# -trk run marc for post-tracking # +# -gpuid run marc using GPGPU capability # +# specify gpuid on to be used in the analysis. Multiple # +# IDs may be assigned for DDM runs. # +# Separate a list of IDs with a colon. Each DMP # +# process will be assigned a GPU ID in round robin fastion# +# = 0 # +# = 0:1 etc... # +# # +# where parallel options are: # +# -------------------------- # +# # +# itree, host, and comp options are available for the domain # +# decomposition only. # +# MARC_NUMBER_OF_THREADS, nthread, and dir options always available. # +# # +# # +# -nprocd number of domains. # +# defaults to single domain solution. # +# -nprocds number of domains if single input file. # +# defaults to single domain solution. # +# -nps same as -nprocds. # +# -nsolver number of solver tasks for solver types 12 and 13 # +# these are distributed tasks operating via MPI # +# -nthread_elem number of threads for element assembly and recovery # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by element assembly # +# recovery. # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_elem option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_elem specified. # +# -nthread_solver number of threads for solver types 6, 8, and 11 # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by 6, 8, and 11 # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_solver option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_solver specified. # +# -nthread Same as -nthread_solver. # +# -itree message passing tree type for domain decomposition. # +# for debugging purposes; should not normally be used. # +# -host hostfile name for distributed execution on network. # +# defaults to no hostfile, unless jobid.defhost exists. # +# if jobid.defhost exists, only -np(s) necessary # +# -comp* y|n to be used with user routines on a network of # +# incompatible machines. # +# if set to no, a separate executable will be created # +# for each machine on the network. # +# if set to yes, the executable located on the machine # +# from which marc is started will be used on all machines.# +# defaults to no if O/S versions different on machines. # +# # +# -ci y|n copy input files to remote hosts (default: yes) # +# if "yes", input files are automatically copied to # +# remote hosts for a network run if necessary. # +# -cr y|n copy post files from remote hosts (default: yes) # +# if "yes", post files are automatically copied back from # +# remote hosts for a network run if necessary. # +############################################################################## +# set DIR to the directory in which this script is +REALCOM="`/bin/ls -l $0 |awk '{ print $NF; }'`" +DIR=`dirname $REALCOM` +# make sure DIR has an absolute path +case $DIR in + \/*) + ;; + *) + DIR=`pwd`/$DIR + ;; +esac +DIRSCRIPT=$DIR +AWK=awk +ARCH=`uname -a | cut -f 1 -d " "` +# Sun has a bad awk, use nawk instead +if test $ARCH = "SunOS" +then + AWK=nawk +fi +BASENAME=basename +# Sun has an incorrect /bin/basename, check if /usr/ucb/basename exists +if test $ARCH = "SunOS" +then + if test -x /usr/ucb/basename + then + BASENAME=/usr/ucb/basename + fi +fi + +# echo command line in the case of ECHO_COMMAND is true +if test "$ECHO_COMMAND" = true ; then + echo command "$0" "$@" +fi + +# +# "mode" selects version, i4 or i8 +# default is i4 +# this can be changed by a file run_marc_defaults +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MODE i8 +# it can also be set by the environmental variable MARC_INTEGER_SIZE +# and by the command line option "-mo" +# +mode= +modeerror= +modeoption= +if test -f $DIRSCRIPT/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $DIRSCRIPT/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -f $HOME/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $HOME/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $HOME/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -n "$MARC_INTEGER_SIZE" ; then + mode=$MARC_INTEGER_SIZE +fi +if test -z "$mode" ; then + mode=i8 +fi +case $mode in + i4) + modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + modeoption=error + echo $modeerror + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo "bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + exit + ;; +esac + +setmode=false +for arg in $* ; do + if $setmode ; then + mode=$arg + case $mode in + i4) + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo " " + echo "error, version mode must be i8" + echo " " + echo " use -mo i8 " + echo " " + exit + ;; + esac + setmode=false + fi + if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then + echo + echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available + echo + setmode=true + fi + if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + fi + if [ ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + fi +done + +# set to i4 version for 32 bit Linux +if test "`uname -s`" = "Linux"; then + if test "`uname -m`" = "i686"; then + mode=i4 + MARC_INTEGER_SIZE=i4 + export MARC_INTEGER_SIZE + fi +fi + + +. "$DIR/getarch" + + +# getting user subroutine file name +found=0 +for i in "$@"; do + if test $found = 1; then + DAMASK_USER=$i + found=0 + fi + case $i in + -u* | -U*) + found=1 + ;; + esac +done +# sourcing include_linux64 (needs DAMASK_USER to be set) +. $MARC_INCLUDE + +# + +# +# Dynamically determine the echo syntax +# + +case "`echo '\c'`" in + '\c') + ECHO='echo -n' + ECHOTXT=' ' + ;; + *) + ECHO='echo' + ECHOTXT=' \c' + ;; +esac + +# +# Variables for the MARC environment +# + +PRODUCT="Marc" +EXITMSG=$MARC_TOOLS/MESSAGES +export EXITMSG +FLEXDIR=$DIR/../flexlm/licenses +export FLEXDIR +TIMCHK=3600 +export TIMCHK +BINDIR=$MARC_BIN +export BINDIR +AFMATDAT=$MARC_RUNTIME/AF_flowmat/ +export AFMATDAT +export MESHERDIR +MSC_LICENSE_FINPROC=0 +export MSC_LICENSE_FINPROC +# +# define directory path to global unified material database +# +MATFILE= +export MATFILE + +# +# define memory limit +# first set to MEMLIMIT from include +# -ml option overrules if specified +memlimit=$MEMLIMIT +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +# +if test $MACHINENAME = "HP" +then + SHLIB_PATH=$MARC_LIB:$MARC_LIB_SHARED:$SHLIB_PATH + export SHLIB_PATH +fi +# the one for IBM is defined futher down + +LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH:$SFMATDIR +if test -f "/etc/redhat-release"; then + ver=`cat /etc/redhat-release | sed 's/.* release \([0-9]\).\([0-9]\+\) .*/\1\2/'` + case "$ver" in + 6*) LD_LIBRARY_PATH="${MARC_LIB_SHARED}rh67:$LD_LIBRARY_PATH" ;; + esac +fi +LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$LD_LIBRARY_PATH +LD_LIBRARY64_PATH=$MARC_LIB:$LD_LIBRARY64_PATH +LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH +export LD_LIBRARY_PATH +export LD_LIBRARY64_PATH +export LD_LIBRARYN32_PATH + +atexit() { +kill -15 $$ +# +if test $MPITYPE = "myrinet" +then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi +fi +} + +trap "atexit" 2 + +# +# defaults +# + +prog=marc +exefile=marc +jid= +rid= +pid= +sid= +did= +vid= +user= +usernoext= +objs= +qid=background +cpu= +priority= +att= +trk= +verify=yes +prgsav=no +rmdll=no +cpdll=no +progdll= +pathdll= +error= +nprocd=0 +nprocdddm=1 +nprocdddmprint= +icreated=0 +nprocdarg= +nsolver=0 +nsolverarg=-ns +if test $nprocds +then + if test $nprocds -gt 1 + then + nprocdddm=$nprocds + nprocdddmprint=$nprocds + icreated=1 + nprocdarg=-nprocds + fi +fi +ntprint=0 +nt=-1 +nte=-1 +nts=-1 +ntarg=-nt +ntearg=-nte +ntsarg=-nts +nteprint= +ntsprint= +gpuids= +nauto= +ndcoup=0 +ndytran=0 +noutcore=0 +dllrun=0 +mesh=0 +itree=0 +iam= +ddm_arc=0 +link= +trkrun=0 +DIRJOB=`pwd` +DIRSCR=$DIRJOB +DIRSCRSET= +autoforge=0 +dotdat=.dat +dotdefhost=.defhost +host= +numhost= +mfile= +userhost= +makebdf= +cpinput=yes +cpresults=yes +marcdll=libmarc.$EXT_DLL +# define hostname and strip off extensions (alpha.aaa.com) +thishost=`hostname` +thishost=${thishost%%.*} +compatible=unknown +numfield=1 +justlist= +feature= +mpioption=false +iprintsimufact= +SRCLIB=$MARC_LIB/srclib.a +MDSRCLIB=$MARC_LIB/mdsrc.a +# +# check run_marc_defaults file for default MPI setting +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MPI +# +value= +file= +if test -f $DIRSCRIPT/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $DIRSCRIPT/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$DIRSCRIPT/run_marc_defaults + fi +fi +if test -f $HOME/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $HOME/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$HOME/run_marc_defaults + fi +fi +if test -n "$value"; then + MARC_MPITYPE=$value + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + echo " " + echo " error, incorrect option for MARC_MPI" + echo " defined in $file: $MARC_MPITYPE" + echo " valid options: $MPI_DEFAULT $MPI_OTHER" + echo " " + exit + fi + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + fi +fi +# +# +# allow scratch directory to be specified with environmental variable +# MARCSCRATCH +if test $MARCSCRATCH +then + if test -d $MARCSCRATCH + then + DIRSCR=$MARCSCRATCH + else + echo "error, scratch directory '$MARCSCRATCH'" + echo " specified via environmental variable MARCSCRATCH does not exist" + exit + fi +fi +# +############################################################################## +# parse input - arguments always come in pairs # +############################################################################## + +arg=$1 +if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + shift + arg=$1 +fi +while [ -n "$arg" ] +do + shift + value=$1 + case $arg in + -al* | -AL*) + LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + $MARC_BIN/marc -alloc 1 + exit + ;; + -li* | -LI*) + justlist=yes + ;; + -fe* | -FE*) + feature=$value + + ;; + -pr* | -PR*) + if test `dirname $value` = '.' + then + prog=`$BASENAME $value .marc` + progdll=`$BASENAME $value` + else + prog=`dirname $value`/`$BASENAME $value .marc` + progdll=`dirname $value`/`$BASENAME $value` + fi + prdir=`dirname $value` + case $prdir in + \/*) + ;; + *) + prog=`pwd`/$prdir/$prog + ;; + esac + ;; + -j* | -J*) + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + ;; + -r* | -R*) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + -si* | -SI*) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + -pi* | -PI*) + if test -f $value.t19 + then + pid=`$BASENAME $value .t19` + else + pid=`$BASENAME $value .t16` + fi + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + -bdf | -BDF) + makebdf=1 + ;; + -de* | -DE*) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + -vf | -VF) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + -u* | -U*) + user=$value + case $user in + \/*) + ;; + *) + user=`pwd`/$user + ;; + esac + usernoext=$user + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + ;; + -obj | -OBJ) + objs="$value" + ;; + -q* | -Q*) + qid=$value + ;; + -b* | -B*) + case $value in + y* | Y*) + qid=background + ;; + n* | N*) + qid=foreground + ;; + *) + ;; + esac + ;; + -at | -AT) + att=$value + ;; + -cpu* | -CPU*) + cpu=$value + ;; + -pq | -PQ*) + priority=$value + ;; + -v* | -V*) + verify=$value + ;; + -sa* | -SA*) + prgsav=$value + ;; + -np* | -NP*) + nprocdddm=$value + nprocdddmprint=$value + case $arg in + -nps* | -NPS* | -nprocds* | -NPROCDS*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + case $arg in + -np | -NP | -nprocd | -NPROCD) + icreated=0 + nprocdarg=-nprocd + ;; + esac + ;; + -ns* | -NS*) + nsolver=$value + ;; + -nt* | -NT*) + case $arg in + -nte | -NTE | -nthread_e* | -NTHREAD_E*) + nte=$value + ;; + esac + case $arg in + -nts | -NTS | -nthread_s* | -NTHREAD_S*) + nts=$value + ;; + esac + case $arg in + -nt | -NT | -nth* | -NTH* | -nthread* | -NTHREAD*) + nt=$value + ;; + esac + ;; + -gp* | -GP*) + gpuids=$value + ;; + -it* | -IT*) + itree=$value + ;; + -iam | -IAM) + iam=$value + case $value in + sfg | sfm | sim) + iprintsimufact=true + ;; + esac + ;; + -au* | -AU*) + nauto=$value + echo + echo warning: the option -au is no longer supported and will be ignored + echo + ;; + -dc* | -DC*) + ndcoup=$value + ;; + -dy* | -DY*) + ndytran=$value + ;; + -ou* | -OU*) + noutcore=$value + ;; + -dll | -DLL) + dllrun=$value + ;; + -trk | -TRK) + trkrun=$value + ;; + -ddm | -DDM) + ddm_arc=$value + ;; + -me | -ME ) + mesh=$value + ;; + -ml | -ML ) + memlimit=$value + ;; + -mo | -MO ) + ;; + -mpi | -MPI ) + mpioption=true + MARC_MPITYPE=$value + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + else + exefile=marc + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a" + fi + fi + ;; + -dir* | -DIR*) + DIRJOB=$value + case $DIRJOB in + \/*) + ;; + *) + DIRJOB=`pwd`/$DIRJOB + ;; + esac + if test -z "$DIRSCRSET" + then + DIRSCR=$DIRJOB + fi + ;; + -sd* | -SD*) + DIRSCR=$value + DIRSCRSET=yes + case $DIRSCR in + \/*) + ;; + *) + DIRSCR=`pwd`/$DIRSCR + ;; + esac + ;; + -ho* | -HO*) + host=$value + ;; + -co* | -CO*) + compatible=$value + ;; + -ci* | -CI*) + cpinput=$value + ;; + -cr* | -CR*) + cpresults=$value + ;; + *) + error="$error +$arg: invalid option" + break + ;; + esac + case $value in + -*) + error="$error +$arg: invalid name $value" + break + ;; + esac + shift + arg=$1 + if [ ${arg}X = -i8X -o ${arg}X = -I8X -o ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + shift + arg=$1 + fi +done +argc=`expr $# % 2` +if test $argc -eq 1 +then +# +# odd number of arguments +# + error="$error +argument list incomplete" +fi + +if test $nprocdddm -gt 0 +then +nprocd=$nprocdddm +fi + +if test $nsolver -gt 0 +then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi +fi +# Set defaults +if test $nt -eq -1 +then +nt=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nt -lt 0 +then +nt=0 +fi +if test $nte -eq -1 +then +nte=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nte -lt 0 +then +nte=0 +fi +if test $nts -eq -1 +then +nts=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nts -lt 0 +then +nts=0 +fi +# +# set number of element loop threads +# +ntprint=$nt +nteprint=$nte +# copy from -nprocd[s] +if test $nprocdddm -gt 1 +then + nteprint=$nprocdddm +fi +# override with -nthread_elem option +if test $nte -ne 0 +then +nteprint=$nte +fi +# check for minimum 1 threads per processes for DDM +if test $nprocdddm -gt 1 +then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi +fi +nte=$nteprint +# +# set number of Solver threads +# +ntsprint=$nts +# copy from -nthread or -nprocd[s] +if test $ntprint -ne 0 +then + ntsprint=$ntprint +else + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +fi +# override with -nthread_solver option +if test $nts -ne 0 +then + ntsprint=$nts +fi +# check for minimum 1 threads per solver process. +if test $nsolver -lt $nprocdddm +then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi +else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi +fi +if test $ntsprint -eq 1 +then + set ntsprint=0 +fi +nts=$ntsprint + +# set stack size for multi-threading. +export KMP_MONITOR_STACKSIZE=7M +export OMP_STACKSIZE=7M + +# +# deprecate -nthread option at arugment of marc +nt=0 +# Reset nprocdddmm, nsolver and threads if not given. +if test $nprocdddm -eq 0 +then + nprocdarg= +fi +if test $nprocdddm -eq 0 +then + nprocdddmprint= +fi +if test $nprocdddm -eq 0 +then + nprocdddm= +fi + +nsolverprint=$nsolver +if test $nsolver -eq 0 +then + nsolverprint= +fi +# end of threads setting. +gpuoption= +if test "$gpuids" = "" ; then + gpuoption= +else + gpuoption="-gp $gpuids" +fi + +if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH +else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH +fi +# Linux 64 + HPMPI, Below code is taken from include_linux64 +if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" +then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" +fi +if test "$iam" = sim ; then + SFLIB="-L$SFMATDIR -lMBA_Grain" +fi + +if test $nprocd -gt 1; then + if test -f $jid$dotdefhost; then + if test "$host" = ""; then + host=$jid$dotdefhost + fi + fi + if test -f hostfile_qa_$nprocd; then + if test "$host" = ""; then + host=hostfile_qa_$nprocd + fi + fi +fi + +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$dllrun" -eq 1 || test "$dllrun" -eq 2; then + dotdat=.inp + fi + + if test "$progdll"; then + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + rmdll=yes + pathdll=yes + progdll=${progdll}_$marcdll + else + progdll=$marcdll + fi + + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + pathdll=yes + fi +fi + +############################################################################## +# check parameter validity # +############################################################################## + +while test forever; do + +# +# check for input file existence +# +if test $nprocdddm -gt 1 -a $icreated -eq 0; then + if test ! -f $DIRJID/1$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/1$jid$dotdat not accessible" + fi + fi +else + if test ! -f $DIRJID/$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/$jid$dotdat not accessible" + fi + fi +fi + if test $nprocd -gt 1; then + if test "$host" ; then + if test ! -f $host; then + error="$error +host name file $host not accessible" + fi + fi + fi + +# +# check if the job is already running in the background +# +if test -f $DIRJOB/$jid.pid; then + error="$error +job is already running (the file $jid.pid exists)" +fi + +# +# if the program name is other than marc, then +# assume that this is a program in the users local directory +# + +bd=$MARC_BIN/ + +case $prog in + marc | MARC | $exefile) + program=$exefile + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 or $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + if test ! -f $user + then + error="$error +user subroutine file $user not accessible" + fi + fi + if test "$objs" + then + missingobjs= + for o in $objs + do + if test ! -f "$o" + then + if test -z "$missingobjs" + then + missingobjs="$o" + else + missingobjs="$missingobjs $o" + fi + fi + done + if test -n "$missingobjs" + then + error="$error +user object/library file(s) $missingobjs not accessible" + fi + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$vid" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRVID/1$vid.vfs + then + error="$error +view factor file $DIRVID/1$vid.vfs not accessible" + fi + else + if test ! -f $DIRVID/$vid.vfs + then + error="$error +view factor file $DIRVID/$vid.vfs not accessible" + fi + fi + fi + if $mpioption + then + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" + fi + fi + ;; + *) + program=$prog.marc + case $prog in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 and $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + error="$error +program option may not be used with user subroutine" + fi + if test "$objs" + then + error="$error +program option may not be used with user objects or libraries" + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$ndcoup" + then + if test $ndcoup -gt 3 + then + error="$error +incorrect option for contact decoupling " + fi + fi + if test "$ndytran" + then + if test $ndytran -gt 1 + then + error="$error +incorrect option for Marc-Dytran Switch " + fi + fi + if $mpioption + then + if test ! -x $MARC_BIN/$exefile + then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE " + fi + fi + ;; +esac + +############################################################################## +# check argument integrity # +############################################################################## + +if test "$jid" +then + : +else + if test "$user" + then +# allow user sub without giving job id + qid=foreground + verify=no + else + error="$error +job id required" +fi +fi + +case $qid in + S* | s*) + qid=short + ;; + L* | l*) + qid=long + ;; + V* | v*) + qid=verylong + ;; + B* | b*) + qid=background + ;; + F* | f*) + qid=foreground + ;; + A* | a*) + qid=at + ;; + *) + error="$error +bad value for queue_id option" + ;; +esac + +case $prgsav in + N* | n*) + prgsav=no + ;; + Y* | y*) + prgsav=yes + ;; + *) + error="$error +bad value for save option" + ;; +esac + +case $verify in + N* | n*) + verify=no + ;; + Y* | y*) + verify=yes + ;; + *) + error="$error +bad value for verify option" + ;; +esac + +case $nprocdddm in + -* ) + error="$error +bad value for nprocd option" + ;; +esac + +case $nt in + -* ) + error="$error +bad value for nt option" + ;; +esac + +case $itree in + -* ) + error="$error +bad value for itree option" + ;; +esac +case $iam in + -* ) + error="$error +bad value for iam option" + ;; +esac +case $compatible in + N* | n*) + compatible=no + ;; + Y* | y*) + compatible=yes + ;; + unknown) + ;; + *) + error="$error +bad value for comp option" + ;; +esac +case $cpinput in + N* | n*) + cpinput=no + ;; + Y* | y*) + cpinput=yes + ;; + *) + error="$error +bad value for copy input option" + ;; +esac +case $cpresults in + N* | n*) + cpresults=no + ;; + Y* | y*) + cpresults=yes + ;; + *) + error="$error +bad value for copy results option" + ;; +esac + +# +# check for external file to run +# +if test -f $MARC_TOOLS/run_marc_check +then + . $MARC_TOOLS/run_marc_check +fi + +############################################################################## +# interact with the user to get the required information to run marc or # +# other marc system program # +############################################################################## + +deletelog=yes +if test $qid = background -a $verify = no +then +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $user +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint +GPGPU option : $gpuids +Host file name : $host" > $jid.log +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" >> $jid.log +fi +echo \ +"Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" >> $jid.log +deletelog=no +fi +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $user +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint" +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" +fi +echo \ +"GPGPU option : $gpuids +Host file name : $host +Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" + + +case $qid in + s* | S* | l* | L* | v* | V* ) + echo \ +"Queue priority : $priority +Queue CPU limit : $cpu +Queue start time : $att" + ;; +# * ) +# echo \ +#" " +# ;; +esac + +if test "$modeoption" +then + error=$modeerror +fi + +if test "$error" +then + if test $verify = yes + then + $ECHO "$error + +Please correct or quit(correct,quit,): $ECHOTXT" + error= + read answer + case $answer in + q* | Q*) + answer=quit + ;; + *) + answer=correct + ;; + esac + else + $ECHO "$error + $ECHOTXT" + echo " " + if test "$deletelog" = no + then + $ECHO "$error + $ECHOTXT" >> $jid.log + echo " " >> $jid.log + fi + answer=quit + fi +else + if test $verify = yes + then + $ECHO " +Are these parameters correct (yes,no,quit,)? $ECHOTXT" + read answer + case $answer in + q* | Q*) + answer=quit + ;; + y* | Y*) + answer=yes + ;; + *) + answer=no + ;; + esac + else + answer=yes + fi +fi + +case $answer in + no | correct) + +############################################################################## +# prompt for each value # +############################################################################## + + $ECHO " +Program name ($prog)? $ECHOTXT" + read value + if test "$value" + then + prog=$value + fi + $ECHO "Job ID ($jid)? $ECHOTXT" + read value + if test "$value" + then + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + fi + $ECHO "User subroutine name ($user)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + user= + ;; + *) + user=$value + case $user in + \/*) + ;; + *) + user=`pwd`/$user + ;; + esac + usernoext=$user + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + ;; + esac + fi + $ECHO "User objects or libraries ($objs)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + objs= + ;; + *) + objs="$value" + ;; + esac + fi + $ECHO "Restart File Job ID ($rid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + rid= + ;; + *) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + esac + fi + $ECHO "Substructure File ID ($sid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + sid= + ;; + *) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + esac + fi + $ECHO "Post File Job ID ($pid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + pid= + ;; + *) + pid=$value + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + esac + fi + $ECHO "Defaults File ID ($did)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + did= + ;; + *) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + esac + fi + $ECHO "View Factor File ID ($vid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + vid= + ;; + *) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + esac + fi + $ECHO "Save generated module ($prgsav)? $ECHOTXT" + read value + if test "$value" + then + prgsav=$value + fi + $ECHO "Run on tasks ($nprocdddm) tasks? $ECHOTXT" + read value + if test "$value" + then + nprocdddm=$value + nprocdddmprint=$value + fi + $ECHO "Run on ($nte) Element loop threads ? $ECHOTXT" + read value + if test "$value" + then + nte=$value + fi + $ECHO "Run on ($nsolver) solvers ? $ECHOTXT" + read value + if test "$value" + then + nsolver=$value + fi + $ECHO "Run on ($nts) Solver threads ? $ECHOTXT" + read value + if test "$value" + then + nts=$value + fi +# + if test $nprocdddm -gt 0 + then + nprocd=$nprocdddm + fi + if test $nsolver -gt 0 + then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi + fi +# Element loop threads. + if test $nte -eq -1 + then + nte=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nte -lt 0 + then + nte=0 + fi + nteprint=$nte +# Copy from ddm + if test $nprocdddm -gt 1 + then + nteprint=$nprocdddm + fi +# override with -nthread_elem option + if test $nte -ne 0 + then + nteprint=$nte + fi +# check for minimum 1 threads per processes for DDM + if test $nprocdddm -ne 0 + then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi + fi + nte=$nteprint +# Solver threads. + if test $nts -eq -1 + then + nts=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nts -lt 0 + then + nts=0 + fi + ntsprint=$nts +# Copy from ddm + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +# override with -nthread_solver option + if test $nts -ne 0 + then + ntsprint=$nts + fi +# check for minimum 1 threads per solver process. + if test $nsolver -lt $nprocdddm + then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi + else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi + fi + if test $ntsprint -eq 1 + then + set ntsprint=0 + fi + nts=$ntsprint +# Update print variable for -nsolver option + nsolverprint=$nsolver + if test $nsolver -eq 0 + then + nsolverprint= + fi + $ECHO "GPGPU id option ($gpuids)? $ECHOTXT" + read value + if test "$value" + then + gpuids=$value + fi + if test "$gpuids" = "" ; then + gpuoption= + else + gpuoption="-gp $gpuids" + fi + if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH + fi + if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" + then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" + fi +# + if test $nprocd -gt 1 + then + $ECHO "Message passing type ($itree)? $ECHOTXT" + read value + if test "$value" + then + itree=$value + fi + $ECHO "Host file name ($host)? $ECHOTXT" + read value + if test "$value" + then + host=$value + fi + if test $nprocdddm -gt 1 + then + $ECHO "Single input file? $ECHOTXT" + read value + case $value in + y* | Y*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + $ECHO "Compatible machines for DDM ($compatible)? $ECHOTXT" + read value + if test "$value" + then + compatible=$value + fi + $ECHO "Copy input files to remote hosts ($cpinput)? $ECHOTXT" + read value + if test "$value" + then + cpinput=$value + fi + $ECHO "Copy post files from remote hosts ($cpresults)? $ECHOTXT" + read value + if test "$value" + then + cpresults=$value + fi + fi + fi + $ECHO "Run the job in the queue ($qid)? $ECHOTXT" + read value + if test "$value" + then + qid=$value + fi + case $qid in + s* | S* | l* | L* | v* | V* ) + $ECHO "Queue priority ($priority)? $ECHOTXT" + read value + if test "$value" + then + priority=$value + fi + $ECHO "Job starts at ($att)? $ECHOTXT" + read value + if test "$value" + then + att=$value + fi + $ECHO "Queue CPU limit ($cpu)? $ECHOTXT" + read value + if test "$value" + then + cpu=$value + fi + ;; + * ) + ;; + esac + $ECHO "Run directory ($DIRJOB)? $ECHOTXT" + read value + if test "$value" + then + DIRJOB=$value + DIRSCR=$DIRJOB + fi + $ECHO "Scratch directory ($DIRSCR)? $ECHOTXT" + read value + if test "$value" + then + DIRSCR=$value + fi + ;; + quit) + exit 1 + ;; + *) + break + ;; + +esac + + if test $nt -eq -1 + then + nt=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nt -lt 0 + then + nt=0 + fi + +done +# +if test $nt -eq 0 +then + ntarg= +fi +if test $nt -eq 0 +then + ntprint= +fi +if test $nt -eq 0 +then + nt= +fi + +if test $nte -eq 0 +then + ntearg= +fi +if test $nte -eq 0 +then + nteprint= +fi +if test $nte -eq 0 +then + nte= +fi + +if test $nts -eq 0 +then + ntsarg= +fi +if test $nts -eq 0 +then + ntsprint= +fi +if test $nts -eq 0 +then + nts= +fi +# +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + pathdll=yes + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + fi + + if test "$pathdll"; then +# +# reset share lib path +# + if test $MACHINENAME = "HP" + then + SHLIB_PATH=$DIRJOB:$SHLIB_PATH + export SHLIB_PATH + fi + if test $MACHINENAME = "IBM" + then + LIBPATH=$DIRJOB:$LIBPATH + export LIBPATH + fi +# + LD_LIBRARY_PATH=$DIRJOB:$LD_LIBRARY_PATH + LD_LIBRARY64_PATH=$DIRJOB:$LD_LIBRARY64_PATH + LD_LIBRARYN32_PATH=$DIRJOB:$LD_LIBRARYN32_PATH + export LD_LIBRARY_PATH + export LD_LIBRARY64_PATH + export LD_LIBRARYN32_PATH + fi +fi +# end of dllrun>0 + + +if test $program = $exefile -o $program = $prog.marc +then + +# delete the old .log file unless we run in the background +if test "$deletelog" = yes +then + if test "$jid" + then + /bin/rm $jid.log 2>/dev/null + fi +else + echo + echo running the job in the background, see $jid.log + echo +fi + +# +# check if this is an autoforge or rezoning or radiation job +# +if test $nprocd -eq 1 -a "$jid" + +then + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^autoforge"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^rezoning"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^radiation"` + if test "$line" + then + autoforge=1 + fi +fi +# +# check that jobname for restarted run is not the same +# as restart file basename +# +if test "$rid" +then + if test "$jid" = "$rid" + then + echo " " + echo "ERROR: job name of current run is the same as job name" + echo " of the restarted job" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "ERROR: job name of current run is the same as job name" >> $jid.log + echo " of the restarted job" >> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi +fi + +# +# user objects/libraries used +# + + if test "$objs" + then + program="$DIRJOB/$jid.marc" + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# user subroutine used +# +# add DAMASK options for linking + DAMASK="-lstdc++" + + if test "$user" + then + program=$usernoext.marc + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# Special case for IBM using POE but not an SP machine +# in this case we always need a host file, also for serial jobs. +# +if test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP +then + MP_HOSTFILE=${jid}.host + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $nprocd -gt 1 + then + numdom=$nprocd + while test $numdom -gt 0 + do + hostname -s >> $MP_HOSTFILE + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + else + hostname -s > $MP_HOSTFILE + fi +fi +# +# check ssh for all hosts in host file +# +if test $nprocd -gt 1 +then +if test $MPITYPE = "intelmpi" -a "$INTELMPI_VERSION" = "HYDRA" + then +# get host list + if test "$host" + then + line=`grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' | uniq` +# count failing hosts + counter=0 + for i in $line + do + $RSH -o BatchMode=yes -o ConnectTimeout=10 $i uname -n + status=$? + if [[ $status != 0 ]] ; then + counter=$((counter+1)) + if [ "$counter" = "1" ]; then + echo " " + echo " error - connection test failed... " + echo " " + fi + echo " " + echo " connection test with ssh failed on host $i" + echo " check the following command: ssh $i uname -n " + echo " " + fi + done +# echo error message and quit + if test $counter -ne 0 + then + echo " " + echo " A parallel job using IntelMPI cannot be started. " + echo " The ssh command must be working correctly between " + echo " the computers used in the analysis. Furthermore, " + echo " it must be set up such that it does not prompt the " + echo " user for a password. " + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo " A parallel job using IntelMPI cannot be started. ">> $jid.log + echo " The ssh command must be working correctly between ">> $jid.log + echo " the computers used in the analysis. Furthermore, ">> $jid.log + echo " it must be set up such that it does not prompt the ">> $jid.log + echo " user for a password. ">> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi +fi +fi +# +# check correctness of host file; fix for user sub +# + if test $nprocd -gt 1 + then + +# construct the path name to the executable (execpath) + execpath=$MARC_BIN/$exefile + usersub=0 + if test $program = $prog.marc + then + execpath=$prog.marc + usersub=1 + fi + if test "$objs" + then + execpath="$DIRJOB/$jid.marc" + usersub=1 + fi + if test "$user" + then + execpath=$usernoext.marc + usersub=1 + fi + export execpath + execname=`$BASENAME $execpath` + + if test "$host" + then + userhost=$host + case $userhost in + \/* | \.\/*) + ;; + *) + userhost=`pwd`/$userhost + ;; + esac + +# check that the number of processes specified in the hostfile is +# equal to nprocd specified by -nprocd. + numproc=`grep -v '^#' $host | $AWK -v sum=0 '{sum=sum+$2}; END {print sum}'` + if test $nprocd -ne $numproc + then + echo " " + echo "error, the number of processes specified in the host file" + echo "must be equal to the number of processes given by -nprocd/-nsolver" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, the number of processes specified in the host file" >> $jid.log + echo "must be equal to the number of processes given by -nprocd/-nsolver" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + +# check for Myrinet that the number of processes per host is +# less than number of available user ports, 5 +# .gmpi directory must exist in user's home directory +# and must have write permission from remote hosts + if test $MPITYPE = "myrinet" + then + numproc=`grep -v '^#' $host | $AWK -v sum=1 '{if( $2 > 5) sum=6}; END {print sum}'` + if test $numproc -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes specified " + echo "in the hostfile must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes specified " >> $jid.log + echo "in the hostfile must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + if test ! -d ~/.gmpi + then + echo " " + echo "error, for Myrinet a .gmpi directory must exist " + echo "under the user's home directory" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a .gmpi directory must exist " >> $jid.log + echo "under the user's home directory" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + homedir=`echo ~` + for i in `grep -v '^#' $host | $AWK '{if (NF > 0) print $1}'` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + $RSH $i /bin/touch $homedir/.gmpi/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + echo " " + echo "error, for Myrinet a shared .gmpi directory must exist " + echo "under the user's home directory " + echo "with remote write permission" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a shared .gmpi directory must exist " >> $jid.log + echo "under the user's home directory " >> $jid.log + echo "with remote write permission" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + else + /bin/rm tmp.$$ + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + fi + fi + done + fi + fi + +# construct the host file $jid.host which is used by mpirun +# skip lines starting with # and only consider lines with more than +# one word in them. Note that the hostfile given to this script +# has two columns: the host name and the number of shared processes +# to run on this host. mpirun wants the number of _other_ +# processes to run in addition to the one being run on the machine +# on which the job is started. hence the $2-1 for fnr == 1. + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then +# HPMPI or HP hardware MPI + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ + -v mpihpspecial="$MPIHPSPECIAL" \ +'{if ( NF > 0) {\ + fnr++ ; \ + printf("-h %s -np %s",$1,$2); \ + printf(" %s",mpihpspecial); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF >= 3 ) printf(" -e MPI_WORKDIR=%s", $3);\ + if ( NF >= 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) \ + }\ + }' > $jid.host +# end HPMPI or HP hardware MPI + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then +# IBM using hardware MPI (POE) + MP_HOSTFILE=$jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.host +# end IBM using hardware MPI (POE) +# for Intel MPI, need to create a machinefile for DMP + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then +# Intel MPI + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + /bin/cp $host $jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Intel MPI for DMP +# for Solaris HPC 7.1, need to create a machinefile for DMP + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then +# Solaris HPC 7.1 + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Solaris HPC 7.1 for DMP +# for Myrinet, construct a configuration file in ~/.gmpi +# this must be readable by each process +# format is (hostname) (port number) for each process + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + grep -v '^#' $host | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ +{if ( NF > 0 ) \ + for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc]); \ +}' >> ~/.gmpi/$jid.host + else +# this is for mpich-1.2.5 and later, using the -pg option +# format: host nproc executable user arguments +# the arguments are added later + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub -v user=`whoami` \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s %s\n",path,user);\ + if ( NF == 3 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s %s\n",path,user) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s/bin/%s %s\n",$4,en,user) \ + }\ + }' > $jid.host + fi +# end Myrinet + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then +# Compaq MPI via Memory Channel + grep -v '^#' $host | $AWK '{if (NF > 0) print $1}' > $jid.host +# end Compaq MPI + else +# MPICH + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF == 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s/bin/%s\n",$4,en) \ + }\ + }' > $jid.host + fi +# define the variable host and host_filt +# host_filt is used for loops over hosts +# for Myrinet we need to use a filtered variant of userhost +# for others we can use $host + if test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + host=~/.gmpi/$jid.host + host_filt=$jid.host_tMp + grep -v '^#' $userhost | $AWK '{if (NF > 0) print $1}' > $host_filt + else + host=$jid.host + host_filt=$host + fi + else + host=$jid.host + host_filt=$host + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + host_filt=$jid.mfile + fi + fi +# figure out if the machines in the hostfile are nfs mounted +# or distributed and set the variable "dirstatus" accordingly. +# only perform the check if user subroutine is used +# or a user subroutine executable is used + + numfield=1 + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + numfield=2 + fi + DIR1=$DIRJOB + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + counter=0 + echo " " + echo "checking if local or shared directories for host" + if test "$deletelog" = no + then + echo "checking if local or shared directories for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + dirstatus[$counter]="shared" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + $RSH $i /bin/touch $DIR1/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + dirstatus[$counter]="local" + /bin/rm tmp.$$ + else + if test ! -f $jid.$$ + then + dirstatus[$counter]="local" + $RSH $i /bin/rm $DIR1/$jid.$$ + else + /bin/rm $jid.$$ + fi + fi + if test -f tmp.$$ + then + /bin/rm tmp.$$ + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + echo " ${dirstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${dirstatus[$counter]}" >> $jid.log + fi + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + fi + +# figure out if this is a compatible set of machines +# unless explicitly specified with flag -comp +# only perform the check if user subroutine is used +# or a user subroutine executable is used +# Myrinet does not support heterogeneous + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + if test $compatible = "unknown" + then + thisname=$ARCH + compatible=yes + counter=0 + echo "checking if machines are compatible for host" + if test "$deletelog" = no + then + echo "checking if machines are compatible for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]="yes" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + othername=`$RSH $i uname -a | cut -f 1 -d " "` + if test $thisname != $othername + then + compatible=no + compstatus[$counter]="no" + fi + fi + echo " ${compstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${compstatus[$counter]}" >> $jid.log + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + else + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]=$compatible + fi + done + if test $compatible = "no" + then + echo "all machines assumed incompatible" + if test "$deletelog" = no + then + echo "all machines assumed incompatible" >> $jid.log + fi + else + echo "all machines compatible" + if test "$deletelog" = no + then + echo "all machines compatible" >> $jid.log + fi + fi + fi +# error out if user objects or libraries are used on incompatible machines + if test "$compatible" = "no" -a -n "$objs" + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" + if test "$deletelog" = no + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" >> $jid.log + fi + exit 1 + fi +# modify new host file if NFS mounted heterogeneous machine + doit= + if test $program = $prog.marc + then + doit=yes + fi + if test "$user" + then + doit=yes + fi + if test "$doit" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + $AWK -v hst=$i '{fnr++ ; \ +if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ +printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} + /bin/mv $jid.host{$$} $jid.host + host=$jid.host + fi + fi + done + fi + fi # if test $program = $prog.marc -o $user -o $obj + + else # if test $host + # assume shared memory machine if no hostfile given and + # MPITYPE is set to mpich or Myrinet + # check for Myrinet that the total number of processes is + # less than number of available user ports, 5 + if test $MPITYPE = "mpich" -o $MPITYPE = "scali" + then + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + host=$jid.host + elif test $MPITYPE = "myrinet" + then + if test $nprocd -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes " + echo "must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes " >> $jid.log + echo "must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + echo `hostname` $nprocd | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ + {for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc])} \ +' >> ~/.gmpi/$jid.host + host=~/.gmpi/$jid.host + else + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + + fi + fi # if test myrinet + + fi # if test $host + + fi # if test $nprocd -gt 1 + +fi # if test $program = $exefile -o $program = $prog.marc + +############################################################################## +# construct run stream (Marc only) # +############################################################################## + +# set maximum message length for ddm to a large number +# for vendor provided mpi +if test $itree -eq 0 -a $MPITYPE = hardware +then + itree=100000000 + if test $MACHINENAME = SGI + then + itree=100000001 + fi +fi +if test $itree -eq 0 -a $MPITYPE = hpmpi +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = myrinet +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = nec +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = scali +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = intelmpi +then + itree=100000000 +fi +if test $nprocdddm -lt 2 +then + nprocdarg= +else + nprocdarg="$nprocdarg $nprocdddm" +fi +if test $nsolver -eq 0 +then + nsolverarg= +else + nsolverarg="$nsolverarg $nsolver" +fi +if test $nprocdddm -lt 2 -a $nsolver -eq 0 +then +nprocd=0 +fi +if test $nprocd -gt 0 +then + if test "$host" + then + if test -z "$RUN_JOB2" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $host -- -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then + RUN_JOB="$RUN_JOB2 $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB_TMP="$RUN_JOB2 $host $bd$program" + RUN_JOB=" -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $nprocd -hf $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + numhost=`uniq $jid.mfile | wc -l` + if test "$INTELMPI_VERSION" = "HYDRA" + then + RUN_JOB_TMP="$RUN_JOB2 -configfile $jid.cfile" + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n $numhost -r $RSH -f $jid.mfile + RUN_JOB_TMP="$RUN_JOB2 $jid.cfile" + fi + +# intelmpi uses configfile. format: +# -host host1 -n n1 executable marcargs +# one such line per host +# collect the marcargs in RUN_JOB and construct the config file later +# collect the run stream in RUN_JOB_TMP + RUN_JOB="-jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + + + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then + RUN_JOB="$RUN_JOB2 $jid.mfile -n $nprocd $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test "$userhost" + then + RUN_JOB="$RUN_JOB -mhost $userhost" + fi + if test $MPITYPE = "scali" + then +# set default working directory to /tmp to allow +# different directory names + SCAMPI_WORKING_DIRECTORY=/tmp + export SCAMPI_WORKING_DIRECTORY + fi + else + if test -z "$RUN_JOB1" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + RUNNPROCD=$nprocd + if test $MACHINENAME = "IBM" -a $MPITYPE = "hardware" + then + RUNNPROCD= + MP_PROCS=$nprocd + export MP_PROCS + fi + if test $MPITYPE = "myrinet" + then + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + echo " " > /dev/null + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n 1 -f $jid.hosts + fi + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + fi +else + if test $ndcoup -gt 0 + then + RUN_JOB="$RUN_JOB0 $BINDIR/exe_auto $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else +# this is for a serial job without auto restart: + RUN_JOB="$RUN_JOB0 $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi +fi +if test "$rid" +then + RUN_JOB="$RUN_JOB -rid $rid -dirrid $DIRRID" +fi +if test "$pid" +then + RUN_JOB="$RUN_JOB -pid $pid -dirpid $DIRPID" +fi +if test "$sid" +then + RUN_JOB="$RUN_JOB -sid $sid -dirsid $DIRSID" +fi +if test "$did" +then + RUN_JOB="$RUN_JOB -def $did -dirdid $DIRDID" +fi +if test "$vid" +then + RUN_JOB="$RUN_JOB -vf $vid -dirvid $DIRVID" +fi +if test $ndcoup -gt 0 +then + RUN_JOB="$RUN_JOB -dcoup $ndcoup " +fi +if test $ndytran -gt 0 +then + RUN_JOB="$RUN_JOB -dytran $ndytran " +fi +if test $mesh -gt 0 +then + RUN_JOB="$RUN_JOB -me $mesh " +fi +if test $noutcore -gt 0 +then + RUN_JOB="$RUN_JOB -outcore $noutcore " +fi +if test "$dllrun" -gt 0 +then + RUN_JOB="$RUN_JOB -dll $dllrun " +fi +if test "$trkrun" -gt 0 +then + RUN_JOB="$RUN_JOB -trk $trkrun " +fi +if test "$iam" +then + RUN_JOB="$RUN_JOB -iam $iam " +fi +if test "$justlist" +then + RUN_JOB="$RUN_JOB -list 1 " +fi +if test "$feature" +then + RUN_JOB="$RUN_JOB -feature $feature " +fi +if test "$memlimit" -ne 0 +then + RUN_JOB="$RUN_JOB -ml $memlimit " +fi +if test "$cpinput" +then + RUN_JOB="$RUN_JOB -ci $cpinput " +fi +if test "$cpresults" +then + RUN_JOB="$RUN_JOB -cr $cpresults " +fi +if test "$DIRSCR" != "$DIRJOB" +then + RUN_JOB="$RUN_JOB -dirscr $DIRSCR" +else + DIRSCR=$DIRJOB +fi +if test "$makebdf" +then + RUN_JOB="$RUN_JOB -bdf $makebdf " +fi +if test $MPITYPE = "myrinet" -a "$host" -a "$MPIVERSION" != "MPICH-GM1.2.1..7" +then + # append $RUN_JOB to all lines of the host file + # and set RUN_JOB + $AWK -v args="$RUN_JOB" '{print $0,args}' $host > $host.$$ + /bin/mv $host.$$ $host + RUN_JOB=$RUN_JOB_TMP +fi +if test $MPITYPE = "intelmpi" -a "$host" +then + # construct config file, append $RUN_JOB to all lines of the config file + # and set RUN_JOB + if test "$INTELMPI_VERSION" = "HYDRA" + then + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf(" -host %s",$1); \ + printf(" -n %s",$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + else + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf("-host %s -n %s",$1,$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + fi + RUN_JOB=$RUN_JOB_TMP +fi +echo " " +echo "Final run stream value" +echo " RUNJOB="$RUN_JOB +if test "$deletelog" = no +then +echo " " >> $jid.log +echo "Final run stream value" >> $jid.log +echo " RUNJOB="$RUN_JOB >> $jid.log +fi + + +# +# check for external file to run using valgrind +# +if test -f $MARC_TOOLS/run_marc_valgrind +then + . $MARC_TOOLS/run_marc_valgrind +fi + + +############################################################################## +# run the requested program in a queue # +############################################################################## + +if test "$deletelog" = yes +then + echo + date +else + echo >> $jid.log + date >> $jid.log +fi +if [ $qid = short -o $qid = long -o $qid = verylong -o $qid = at ] +then + +/bin/rm -f $jid.runmarcscript + + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + userobj=$usermoext.o + fi + cat > $jid.runmarcscript << END4 + if test "$user" + then + if test $MACHINENAME = "CRAY" + then + $DFORTHIGHMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTHIGHMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + $SOLVERLIBS \ + $MARCCUDALIBS \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } +END4 +else + prgsav=yes +fi +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null + +# +# run marc +# + +cat >> $jid.runmarcscript << END5 + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# first remove all .out files and incremental restart files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + /bin/rm $DIRJOB/$numdom${jid}_i_*.t08 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null + /bin/rm $DIRJOB/${jid}_i_*.t08 2>/dev/null +fi + +if test $nprocdddm -gt 1 +then + $RUN_JOB 2>>$jid.log +else + $RUN_JOB 2>>$jid.log +fi + +if test $dllrun -eq 0; then + if test $prgsav = no + then + /bin/rm -f $bd$program 2>/dev/null + fi +else + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes + then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +fi +END5 + + +# Submit to marc batch queue +# +if [ $qid = at ] +then +QUENAME=at +SUBMCMD= +else +# +# Submit to qsub queue +# +QUENAME=qsub +SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" +if test "$priority" +then + SUBMCMD=$SUBMCMD" -p $priority" +fi +if test "$att" +then + SUBMCMD=$SUBMCMD" -a $att" +fi +if test "$cpu" +then + SUBMCMD=$SUBMCMD" -lt $cpu" +fi + +fi +echo $QUENAME $SUBMCMD +#cat $jid.runmarcscript +$QUENAME $SUBMCMD < $jid.runmarcscript + +/bin/rm -f $jid.runmarcscript + +############################################################################## +# run the requested program in the background # +############################################################################## + +else +if test $qid = background +then + +# +# first remove all old .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi +# +# compile user subroutine if present +# +( +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_damask_hmp $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user on host $i" + echo " $PRODUCT Exit number 3" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user on host `hostname`" + fi + userobj=$usernoext.o + if test $MACHINENAME = "CRAY" + then + $DFORTHIGHMP $user || \ + { + echo "$0: compile failed for $user" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTHIGHMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + echo " $PRODUCT Exit number 3" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null + +# +# run marc + +# + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + +$RUN_JOB & + +marcpid=$! +echo $marcpid > $DIRJOB/$jid.pid +wait $marcpid + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + fi + fi + fi +fi + + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi +fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi +) 1>>$jid.log 2>&1 & + + +############################################################################## +# run the requested program in the foreground # +############################################################################## + +else + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_damask_hmp $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user on host $i" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user on host `hostname`" + fi + userobj=$usernoext.o + if test $MACHINENAME = "CRAY" + then + $DFORTHIGHMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTHIGHMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null +# done if no job id given +if test -z "$jid" +then + echo + echo only compilation requested + echo + exit +fi +# +# run marc +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi +# first remove all .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + $RUN_JOB + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + else + echo " " > /dev/null + fi + else + if test "$host" + then + mpdcleanup -a -f $jid.mfile + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.mfile 2> /dev/null + else + mpdcleanup -a -f $jid.hosts + /bin/rm $jid.hosts 2> /dev/null + fi + fi + fi +fi + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi +fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi + + +fi +fi diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_lmp b/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_lmp new file mode 100644 index 000000000..e0b365c3c --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_lmp @@ -0,0 +1,4105 @@ +#!/bin/ksh +############################################################################## +# # +# run_marc - run a marc job # +# ------------------------- # +# # +# usage: run_marc -j jid { options } # +# # +# where standard options are: required: defaults: # +# -------------------------- # +# # +# -j* jid job id number. ** YES ** . # +# -pr* prog program name. . marc # +# -v* y|n do or do not verify inputs. . yes # +# -q* s|l|v|b|f batch queue name or background, . short # +# foreground. # +# -b* as alternative to option -q* # +# # +# ( batch queues only : # +# -pq* intra queue priority. . . # +# -at DATE/TIME delay start of job. . . # +# format : January,1,1990,12:31 # +# or : today,5pm # +# -cpu* secs job CPU limit . . ) # +# # +# -r* rid restart file job id. . . # +# -si* sid substructure file id. . . # +# -pi* post post file job id. . . # +# -de* did defaults file . no # +# -vf vid viewfactor . no # +# # +# -u* user user subroutine. . . # +# -obj obj user objects or libraries. . . # +# -sa* y|n do or do not save load module. . no # +# -me manual remeshing control . no # +# -ml memory limit in Mbyte # +# -mo This option is deprecated. As of Marc 2015, only # +# the integer*8 version is available. # +# -mpi selects MPI version # +# each platform has a default MPI version and some # +# have an alternative version. see the include file # +# for the respective platform # +# MPI_DEFAULT defines the default MPI version # +# MPI_OTHER defines versions one can switch to # +# -dcoup for contact decoupling # +# currently not supported # +# -dir directory where the job i/o should take place. # +# defaults to current directory. # +# -sdir directory where scratch files are created # +# defaults to current directory. # +# # +# -alloc only perform memory allocation test, no analysis # +# -list y only list options in the input file, no analysis # +# -fe num set feature number "num" for the run. only one allowed # +# -dytran flag to switch from Dytran to Marc # +# dytran = 0, program will run w/o Marc-Dytran Switch # +# = 1, program will restart Marc after Dytran run # +# >= 2, Not supported yet. # +# currently not supported # +# -ou force analysis to use out-of-core control # +# =0, not used # +# =1, element storage out-of-core # +# -dll run marc using shared library libmarc.so and exe_marc # +# =1, used # +# =2, do not free streaming input memory # +# =3, run with marc input deck # +# -trk run marc for post-tracking # +# -gpuid run marc using GPGPU capability # +# specify gpuid on to be used in the analysis. Multiple # +# IDs may be assigned for DDM runs. # +# Separate a list of IDs with a colon. Each DMP # +# process will be assigned a GPU ID in round robin fastion# +# = 0 # +# = 0:1 etc... # +# # +# where parallel options are: # +# -------------------------- # +# # +# itree, host, and comp options are available for the domain # +# decomposition only. # +# MARC_NUMBER_OF_THREADS, nthread, and dir options always available. # +# # +# # +# -nprocd number of domains. # +# defaults to single domain solution. # +# -nprocds number of domains if single input file. # +# defaults to single domain solution. # +# -nps same as -nprocds. # +# -nsolver number of solver tasks for solver types 12 and 13 # +# these are distributed tasks operating via MPI # +# -nthread_elem number of threads for element assembly and recovery # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by element assembly # +# recovery. # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_elem option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_elem specified. # +# -nthread_solver number of threads for solver types 6, 8, and 11 # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by 6, 8, and 11 # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_solver option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_solver specified. # +# -nthread Same as -nthread_solver. # +# -itree message passing tree type for domain decomposition. # +# for debugging purposes; should not normally be used. # +# -host hostfile name for distributed execution on network. # +# defaults to no hostfile, unless jobid.defhost exists. # +# if jobid.defhost exists, only -np(s) necessary # +# -comp* y|n to be used with user routines on a network of # +# incompatible machines. # +# if set to no, a separate executable will be created # +# for each machine on the network. # +# if set to yes, the executable located on the machine # +# from which marc is started will be used on all machines.# +# defaults to no if O/S versions different on machines. # +# # +# -ci y|n copy input files to remote hosts (default: yes) # +# if "yes", input files are automatically copied to # +# remote hosts for a network run if necessary. # +# -cr y|n copy post files from remote hosts (default: yes) # +# if "yes", post files are automatically copied back from # +# remote hosts for a network run if necessary. # +############################################################################## +# set DIR to the directory in which this script is +REALCOM="`/bin/ls -l $0 |awk '{ print $NF; }'`" +DIR=`dirname $REALCOM` +# make sure DIR has an absolute path +case $DIR in + \/*) + ;; + *) + DIR=`pwd`/$DIR + ;; +esac +DIRSCRIPT=$DIR +AWK=awk +ARCH=`uname -a | cut -f 1 -d " "` +# Sun has a bad awk, use nawk instead +if test $ARCH = "SunOS" +then + AWK=nawk +fi +BASENAME=basename +# Sun has an incorrect /bin/basename, check if /usr/ucb/basename exists +if test $ARCH = "SunOS" +then + if test -x /usr/ucb/basename + then + BASENAME=/usr/ucb/basename + fi +fi + +# echo command line in the case of ECHO_COMMAND is true +if test "$ECHO_COMMAND" = true ; then + echo command "$0" "$@" +fi + +# +# "mode" selects version, i4 or i8 +# default is i4 +# this can be changed by a file run_marc_defaults +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MODE i8 +# it can also be set by the environmental variable MARC_INTEGER_SIZE +# and by the command line option "-mo" +# +mode= +modeerror= +modeoption= +if test -f $DIRSCRIPT/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $DIRSCRIPT/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -f $HOME/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $HOME/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $HOME/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -n "$MARC_INTEGER_SIZE" ; then + mode=$MARC_INTEGER_SIZE +fi +if test -z "$mode" ; then + mode=i8 +fi +case $mode in + i4) + modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + modeoption=error + echo $modeerror + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo "bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + exit + ;; +esac + +setmode=false +for arg in $* ; do + if $setmode ; then + mode=$arg + case $mode in + i4) + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo " " + echo "error, version mode must be i8" + echo " " + echo " use -mo i8 " + echo " " + exit + ;; + esac + setmode=false + fi + if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then + echo + echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available + echo + setmode=true + fi + if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + fi + if [ ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + fi +done + +# set to i4 version for 32 bit Linux +if test "`uname -s`" = "Linux"; then + if test "`uname -m`" = "i686"; then + mode=i4 + MARC_INTEGER_SIZE=i4 + export MARC_INTEGER_SIZE + fi +fi + + +. "$DIR/getarch" + + +# getting user subroutine file name +found=0 +for i in "$@"; do + if test $found = 1; then + DAMASK_USER=$i + found=0 + fi + case $i in + -u* | -U*) + found=1 + ;; + esac +done +# sourcing include_linux64 (needs DAMASK_USER to be set) +. $MARC_INCLUDE + +# + +# +# Dynamically determine the echo syntax +# + +case "`echo '\c'`" in + '\c') + ECHO='echo -n' + ECHOTXT=' ' + ;; + *) + ECHO='echo' + ECHOTXT=' \c' + ;; +esac + +# +# Variables for the MARC environment +# + +PRODUCT="Marc" +EXITMSG=$MARC_TOOLS/MESSAGES +export EXITMSG +FLEXDIR=$DIR/../flexlm/licenses +export FLEXDIR +TIMCHK=3600 +export TIMCHK +BINDIR=$MARC_BIN +export BINDIR +AFMATDAT=$MARC_RUNTIME/AF_flowmat/ +export AFMATDAT +export MESHERDIR +MSC_LICENSE_FINPROC=0 +export MSC_LICENSE_FINPROC +# +# define directory path to global unified material database +# +MATFILE= +export MATFILE + +# +# define memory limit +# first set to MEMLIMIT from include +# -ml option overrules if specified +memlimit=$MEMLIMIT +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +# +if test $MACHINENAME = "HP" +then + SHLIB_PATH=$MARC_LIB:$MARC_LIB_SHARED:$SHLIB_PATH + export SHLIB_PATH +fi +# the one for IBM is defined futher down + +LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH:$SFMATDIR +if test -f "/etc/redhat-release"; then + ver=`cat /etc/redhat-release | sed 's/.* release \([0-9]\).\([0-9]\+\) .*/\1\2/'` + case "$ver" in + 6*) LD_LIBRARY_PATH="${MARC_LIB_SHARED}rh67:$LD_LIBRARY_PATH" ;; + esac +fi +LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$LD_LIBRARY_PATH +LD_LIBRARY64_PATH=$MARC_LIB:$LD_LIBRARY64_PATH +LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH +export LD_LIBRARY_PATH +export LD_LIBRARY64_PATH +export LD_LIBRARYN32_PATH + +atexit() { +kill -15 $$ +# +if test $MPITYPE = "myrinet" +then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi +fi +} + +trap "atexit" 2 + +# +# defaults +# + +prog=marc +exefile=marc +jid= +rid= +pid= +sid= +did= +vid= +user= +usernoext= +objs= +qid=background +cpu= +priority= +att= +trk= +verify=yes +prgsav=no +rmdll=no +cpdll=no +progdll= +pathdll= +error= +nprocd=0 +nprocdddm=1 +nprocdddmprint= +icreated=0 +nprocdarg= +nsolver=0 +nsolverarg=-ns +if test $nprocds +then + if test $nprocds -gt 1 + then + nprocdddm=$nprocds + nprocdddmprint=$nprocds + icreated=1 + nprocdarg=-nprocds + fi +fi +ntprint=0 +nt=-1 +nte=-1 +nts=-1 +ntarg=-nt +ntearg=-nte +ntsarg=-nts +nteprint= +ntsprint= +gpuids= +nauto= +ndcoup=0 +ndytran=0 +noutcore=0 +dllrun=0 +mesh=0 +itree=0 +iam= +ddm_arc=0 +link= +trkrun=0 +DIRJOB=`pwd` +DIRSCR=$DIRJOB +DIRSCRSET= +autoforge=0 +dotdat=.dat +dotdefhost=.defhost +host= +numhost= +mfile= +userhost= +makebdf= +cpinput=yes +cpresults=yes +marcdll=libmarc.$EXT_DLL +# define hostname and strip off extensions (alpha.aaa.com) +thishost=`hostname` +thishost=${thishost%%.*} +compatible=unknown +numfield=1 +justlist= +feature= +mpioption=false +iprintsimufact= +SRCLIB=$MARC_LIB/srclib.a +MDSRCLIB=$MARC_LIB/mdsrc.a +# +# check run_marc_defaults file for default MPI setting +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MPI +# +value= +file= +if test -f $DIRSCRIPT/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $DIRSCRIPT/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$DIRSCRIPT/run_marc_defaults + fi +fi +if test -f $HOME/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $HOME/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$HOME/run_marc_defaults + fi +fi +if test -n "$value"; then + MARC_MPITYPE=$value + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + echo " " + echo " error, incorrect option for MARC_MPI" + echo " defined in $file: $MARC_MPITYPE" + echo " valid options: $MPI_DEFAULT $MPI_OTHER" + echo " " + exit + fi + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + fi +fi +# +# +# allow scratch directory to be specified with environmental variable +# MARCSCRATCH +if test $MARCSCRATCH +then + if test -d $MARCSCRATCH + then + DIRSCR=$MARCSCRATCH + else + echo "error, scratch directory '$MARCSCRATCH'" + echo " specified via environmental variable MARCSCRATCH does not exist" + exit + fi +fi +# +############################################################################## +# parse input - arguments always come in pairs # +############################################################################## + +arg=$1 +if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + shift + arg=$1 +fi +while [ -n "$arg" ] +do + shift + value=$1 + case $arg in + -al* | -AL*) + LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + $MARC_BIN/marc -alloc 1 + exit + ;; + -li* | -LI*) + justlist=yes + ;; + -fe* | -FE*) + feature=$value + + ;; + -pr* | -PR*) + if test `dirname $value` = '.' + then + prog=`$BASENAME $value .marc` + progdll=`$BASENAME $value` + else + prog=`dirname $value`/`$BASENAME $value .marc` + progdll=`dirname $value`/`$BASENAME $value` + fi + prdir=`dirname $value` + case $prdir in + \/*) + ;; + *) + prog=`pwd`/$prdir/$prog + ;; + esac + ;; + -j* | -J*) + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + ;; + -r* | -R*) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + -si* | -SI*) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + -pi* | -PI*) + if test -f $value.t19 + then + pid=`$BASENAME $value .t19` + else + pid=`$BASENAME $value .t16` + fi + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + -bdf | -BDF) + makebdf=1 + ;; + -de* | -DE*) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + -vf | -VF) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + -u* | -U*) + user=$value + case $user in + \/*) + ;; + *) + user=`pwd`/$user + ;; + esac + usernoext=$user + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + ;; + -obj | -OBJ) + objs="$value" + ;; + -q* | -Q*) + qid=$value + ;; + -b* | -B*) + case $value in + y* | Y*) + qid=background + ;; + n* | N*) + qid=foreground + ;; + *) + ;; + esac + ;; + -at | -AT) + att=$value + ;; + -cpu* | -CPU*) + cpu=$value + ;; + -pq | -PQ*) + priority=$value + ;; + -v* | -V*) + verify=$value + ;; + -sa* | -SA*) + prgsav=$value + ;; + -np* | -NP*) + nprocdddm=$value + nprocdddmprint=$value + case $arg in + -nps* | -NPS* | -nprocds* | -NPROCDS*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + case $arg in + -np | -NP | -nprocd | -NPROCD) + icreated=0 + nprocdarg=-nprocd + ;; + esac + ;; + -ns* | -NS*) + nsolver=$value + ;; + -nt* | -NT*) + case $arg in + -nte | -NTE | -nthread_e* | -NTHREAD_E*) + nte=$value + ;; + esac + case $arg in + -nts | -NTS | -nthread_s* | -NTHREAD_S*) + nts=$value + ;; + esac + case $arg in + -nt | -NT | -nth* | -NTH* | -nthread* | -NTHREAD*) + nt=$value + ;; + esac + ;; + -gp* | -GP*) + gpuids=$value + ;; + -it* | -IT*) + itree=$value + ;; + -iam | -IAM) + iam=$value + case $value in + sfg | sfm | sim) + iprintsimufact=true + ;; + esac + ;; + -au* | -AU*) + nauto=$value + echo + echo warning: the option -au is no longer supported and will be ignored + echo + ;; + -dc* | -DC*) + ndcoup=$value + ;; + -dy* | -DY*) + ndytran=$value + ;; + -ou* | -OU*) + noutcore=$value + ;; + -dll | -DLL) + dllrun=$value + ;; + -trk | -TRK) + trkrun=$value + ;; + -ddm | -DDM) + ddm_arc=$value + ;; + -me | -ME ) + mesh=$value + ;; + -ml | -ML ) + memlimit=$value + ;; + -mo | -MO ) + ;; + -mpi | -MPI ) + mpioption=true + MARC_MPITYPE=$value + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + else + exefile=marc + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a" + fi + fi + ;; + -dir* | -DIR*) + DIRJOB=$value + case $DIRJOB in + \/*) + ;; + *) + DIRJOB=`pwd`/$DIRJOB + ;; + esac + if test -z "$DIRSCRSET" + then + DIRSCR=$DIRJOB + fi + ;; + -sd* | -SD*) + DIRSCR=$value + DIRSCRSET=yes + case $DIRSCR in + \/*) + ;; + *) + DIRSCR=`pwd`/$DIRSCR + ;; + esac + ;; + -ho* | -HO*) + host=$value + ;; + -co* | -CO*) + compatible=$value + ;; + -ci* | -CI*) + cpinput=$value + ;; + -cr* | -CR*) + cpresults=$value + ;; + *) + error="$error +$arg: invalid option" + break + ;; + esac + case $value in + -*) + error="$error +$arg: invalid name $value" + break + ;; + esac + shift + arg=$1 + if [ ${arg}X = -i8X -o ${arg}X = -I8X -o ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + shift + arg=$1 + fi +done +argc=`expr $# % 2` +if test $argc -eq 1 +then +# +# odd number of arguments +# + error="$error +argument list incomplete" +fi + +if test $nprocdddm -gt 0 +then +nprocd=$nprocdddm +fi + +if test $nsolver -gt 0 +then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi +fi +# Set defaults +if test $nt -eq -1 +then +nt=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nt -lt 0 +then +nt=0 +fi +if test $nte -eq -1 +then +nte=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nte -lt 0 +then +nte=0 +fi +if test $nts -eq -1 +then +nts=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nts -lt 0 +then +nts=0 +fi +# +# set number of element loop threads +# +ntprint=$nt +nteprint=$nte +# copy from -nprocd[s] +if test $nprocdddm -gt 1 +then + nteprint=$nprocdddm +fi +# override with -nthread_elem option +if test $nte -ne 0 +then +nteprint=$nte +fi +# check for minimum 1 threads per processes for DDM +if test $nprocdddm -gt 1 +then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi +fi +nte=$nteprint +# +# set number of Solver threads +# +ntsprint=$nts +# copy from -nthread or -nprocd[s] +if test $ntprint -ne 0 +then + ntsprint=$ntprint +else + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +fi +# override with -nthread_solver option +if test $nts -ne 0 +then + ntsprint=$nts +fi +# check for minimum 1 threads per solver process. +if test $nsolver -lt $nprocdddm +then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi +else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi +fi +if test $ntsprint -eq 1 +then + set ntsprint=0 +fi +nts=$ntsprint + +# set stack size for multi-threading. +export KMP_MONITOR_STACKSIZE=7M +export OMP_STACKSIZE=7M + +# +# deprecate -nthread option at arugment of marc +nt=0 +# Reset nprocdddmm, nsolver and threads if not given. +if test $nprocdddm -eq 0 +then + nprocdarg= +fi +if test $nprocdddm -eq 0 +then + nprocdddmprint= +fi +if test $nprocdddm -eq 0 +then + nprocdddm= +fi + +nsolverprint=$nsolver +if test $nsolver -eq 0 +then + nsolverprint= +fi +# end of threads setting. +gpuoption= +if test "$gpuids" = "" ; then + gpuoption= +else + gpuoption="-gp $gpuids" +fi + +if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH +else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH +fi +# Linux 64 + HPMPI, Below code is taken from include_linux64 +if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" +then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" +fi +if test "$iam" = sim ; then + SFLIB="-L$SFMATDIR -lMBA_Grain" +fi + +if test $nprocd -gt 1; then + if test -f $jid$dotdefhost; then + if test "$host" = ""; then + host=$jid$dotdefhost + fi + fi + if test -f hostfile_qa_$nprocd; then + if test "$host" = ""; then + host=hostfile_qa_$nprocd + fi + fi +fi + +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$dllrun" -eq 1 || test "$dllrun" -eq 2; then + dotdat=.inp + fi + + if test "$progdll"; then + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + rmdll=yes + pathdll=yes + progdll=${progdll}_$marcdll + else + progdll=$marcdll + fi + + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + pathdll=yes + fi +fi + +############################################################################## +# check parameter validity # +############################################################################## + +while test forever; do + +# +# check for input file existence +# +if test $nprocdddm -gt 1 -a $icreated -eq 0; then + if test ! -f $DIRJID/1$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/1$jid$dotdat not accessible" + fi + fi +else + if test ! -f $DIRJID/$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/$jid$dotdat not accessible" + fi + fi +fi + if test $nprocd -gt 1; then + if test "$host" ; then + if test ! -f $host; then + error="$error +host name file $host not accessible" + fi + fi + fi + +# +# check if the job is already running in the background +# +if test -f $DIRJOB/$jid.pid; then + error="$error +job is already running (the file $jid.pid exists)" +fi + +# +# if the program name is other than marc, then +# assume that this is a program in the users local directory +# + +bd=$MARC_BIN/ + +case $prog in + marc | MARC | $exefile) + program=$exefile + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 or $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + if test ! -f $user + then + error="$error +user subroutine file $user not accessible" + fi + fi + if test "$objs" + then + missingobjs= + for o in $objs + do + if test ! -f "$o" + then + if test -z "$missingobjs" + then + missingobjs="$o" + else + missingobjs="$missingobjs $o" + fi + fi + done + if test -n "$missingobjs" + then + error="$error +user object/library file(s) $missingobjs not accessible" + fi + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$vid" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRVID/1$vid.vfs + then + error="$error +view factor file $DIRVID/1$vid.vfs not accessible" + fi + else + if test ! -f $DIRVID/$vid.vfs + then + error="$error +view factor file $DIRVID/$vid.vfs not accessible" + fi + fi + fi + if $mpioption + then + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" + fi + fi + ;; + *) + program=$prog.marc + case $prog in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 and $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + error="$error +program option may not be used with user subroutine" + fi + if test "$objs" + then + error="$error +program option may not be used with user objects or libraries" + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$ndcoup" + then + if test $ndcoup -gt 3 + then + error="$error +incorrect option for contact decoupling " + fi + fi + if test "$ndytran" + then + if test $ndytran -gt 1 + then + error="$error +incorrect option for Marc-Dytran Switch " + fi + fi + if $mpioption + then + if test ! -x $MARC_BIN/$exefile + then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE " + fi + fi + ;; +esac + +############################################################################## +# check argument integrity # +############################################################################## + +if test "$jid" +then + : +else + if test "$user" + then +# allow user sub without giving job id + qid=foreground + verify=no + else + error="$error +job id required" +fi +fi + +case $qid in + S* | s*) + qid=short + ;; + L* | l*) + qid=long + ;; + V* | v*) + qid=verylong + ;; + B* | b*) + qid=background + ;; + F* | f*) + qid=foreground + ;; + A* | a*) + qid=at + ;; + *) + error="$error +bad value for queue_id option" + ;; +esac + +case $prgsav in + N* | n*) + prgsav=no + ;; + Y* | y*) + prgsav=yes + ;; + *) + error="$error +bad value for save option" + ;; +esac + +case $verify in + N* | n*) + verify=no + ;; + Y* | y*) + verify=yes + ;; + *) + error="$error +bad value for verify option" + ;; +esac + +case $nprocdddm in + -* ) + error="$error +bad value for nprocd option" + ;; +esac + +case $nt in + -* ) + error="$error +bad value for nt option" + ;; +esac + +case $itree in + -* ) + error="$error +bad value for itree option" + ;; +esac +case $iam in + -* ) + error="$error +bad value for iam option" + ;; +esac +case $compatible in + N* | n*) + compatible=no + ;; + Y* | y*) + compatible=yes + ;; + unknown) + ;; + *) + error="$error +bad value for comp option" + ;; +esac +case $cpinput in + N* | n*) + cpinput=no + ;; + Y* | y*) + cpinput=yes + ;; + *) + error="$error +bad value for copy input option" + ;; +esac +case $cpresults in + N* | n*) + cpresults=no + ;; + Y* | y*) + cpresults=yes + ;; + *) + error="$error +bad value for copy results option" + ;; +esac + +# +# check for external file to run +# +if test -f $MARC_TOOLS/run_marc_check +then + . $MARC_TOOLS/run_marc_check +fi + +############################################################################## +# interact with the user to get the required information to run marc or # +# other marc system program # +############################################################################## + +deletelog=yes +if test $qid = background -a $verify = no +then +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $user +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint +GPGPU option : $gpuids +Host file name : $host" > $jid.log +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" >> $jid.log +fi +echo \ +"Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" >> $jid.log +deletelog=no +fi +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $user +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint" +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" +fi +echo \ +"GPGPU option : $gpuids +Host file name : $host +Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" + + +case $qid in + s* | S* | l* | L* | v* | V* ) + echo \ +"Queue priority : $priority +Queue CPU limit : $cpu +Queue start time : $att" + ;; +# * ) +# echo \ +#" " +# ;; +esac + +if test "$modeoption" +then + error=$modeerror +fi + +if test "$error" +then + if test $verify = yes + then + $ECHO "$error + +Please correct or quit(correct,quit,): $ECHOTXT" + error= + read answer + case $answer in + q* | Q*) + answer=quit + ;; + *) + answer=correct + ;; + esac + else + $ECHO "$error + $ECHOTXT" + echo " " + if test "$deletelog" = no + then + $ECHO "$error + $ECHOTXT" >> $jid.log + echo " " >> $jid.log + fi + answer=quit + fi +else + if test $verify = yes + then + $ECHO " +Are these parameters correct (yes,no,quit,)? $ECHOTXT" + read answer + case $answer in + q* | Q*) + answer=quit + ;; + y* | Y*) + answer=yes + ;; + *) + answer=no + ;; + esac + else + answer=yes + fi +fi + +case $answer in + no | correct) + +############################################################################## +# prompt for each value # +############################################################################## + + $ECHO " +Program name ($prog)? $ECHOTXT" + read value + if test "$value" + then + prog=$value + fi + $ECHO "Job ID ($jid)? $ECHOTXT" + read value + if test "$value" + then + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + fi + $ECHO "User subroutine name ($user)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + user= + ;; + *) + user=$value + case $user in + \/*) + ;; + *) + user=`pwd`/$user + ;; + esac + usernoext=$user + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + ;; + esac + fi + $ECHO "User objects or libraries ($objs)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + objs= + ;; + *) + objs="$value" + ;; + esac + fi + $ECHO "Restart File Job ID ($rid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + rid= + ;; + *) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + esac + fi + $ECHO "Substructure File ID ($sid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + sid= + ;; + *) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + esac + fi + $ECHO "Post File Job ID ($pid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + pid= + ;; + *) + pid=$value + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + esac + fi + $ECHO "Defaults File ID ($did)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + did= + ;; + *) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + esac + fi + $ECHO "View Factor File ID ($vid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + vid= + ;; + *) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + esac + fi + $ECHO "Save generated module ($prgsav)? $ECHOTXT" + read value + if test "$value" + then + prgsav=$value + fi + $ECHO "Run on tasks ($nprocdddm) tasks? $ECHOTXT" + read value + if test "$value" + then + nprocdddm=$value + nprocdddmprint=$value + fi + $ECHO "Run on ($nte) Element loop threads ? $ECHOTXT" + read value + if test "$value" + then + nte=$value + fi + $ECHO "Run on ($nsolver) solvers ? $ECHOTXT" + read value + if test "$value" + then + nsolver=$value + fi + $ECHO "Run on ($nts) Solver threads ? $ECHOTXT" + read value + if test "$value" + then + nts=$value + fi +# + if test $nprocdddm -gt 0 + then + nprocd=$nprocdddm + fi + if test $nsolver -gt 0 + then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi + fi +# Element loop threads. + if test $nte -eq -1 + then + nte=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nte -lt 0 + then + nte=0 + fi + nteprint=$nte +# Copy from ddm + if test $nprocdddm -gt 1 + then + nteprint=$nprocdddm + fi +# override with -nthread_elem option + if test $nte -ne 0 + then + nteprint=$nte + fi +# check for minimum 1 threads per processes for DDM + if test $nprocdddm -ne 0 + then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi + fi + nte=$nteprint +# Solver threads. + if test $nts -eq -1 + then + nts=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nts -lt 0 + then + nts=0 + fi + ntsprint=$nts +# Copy from ddm + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +# override with -nthread_solver option + if test $nts -ne 0 + then + ntsprint=$nts + fi +# check for minimum 1 threads per solver process. + if test $nsolver -lt $nprocdddm + then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi + else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi + fi + if test $ntsprint -eq 1 + then + set ntsprint=0 + fi + nts=$ntsprint +# Update print variable for -nsolver option + nsolverprint=$nsolver + if test $nsolver -eq 0 + then + nsolverprint= + fi + $ECHO "GPGPU id option ($gpuids)? $ECHOTXT" + read value + if test "$value" + then + gpuids=$value + fi + if test "$gpuids" = "" ; then + gpuoption= + else + gpuoption="-gp $gpuids" + fi + if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH + fi + if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" + then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" + fi +# + if test $nprocd -gt 1 + then + $ECHO "Message passing type ($itree)? $ECHOTXT" + read value + if test "$value" + then + itree=$value + fi + $ECHO "Host file name ($host)? $ECHOTXT" + read value + if test "$value" + then + host=$value + fi + if test $nprocdddm -gt 1 + then + $ECHO "Single input file? $ECHOTXT" + read value + case $value in + y* | Y*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + $ECHO "Compatible machines for DDM ($compatible)? $ECHOTXT" + read value + if test "$value" + then + compatible=$value + fi + $ECHO "Copy input files to remote hosts ($cpinput)? $ECHOTXT" + read value + if test "$value" + then + cpinput=$value + fi + $ECHO "Copy post files from remote hosts ($cpresults)? $ECHOTXT" + read value + if test "$value" + then + cpresults=$value + fi + fi + fi + $ECHO "Run the job in the queue ($qid)? $ECHOTXT" + read value + if test "$value" + then + qid=$value + fi + case $qid in + s* | S* | l* | L* | v* | V* ) + $ECHO "Queue priority ($priority)? $ECHOTXT" + read value + if test "$value" + then + priority=$value + fi + $ECHO "Job starts at ($att)? $ECHOTXT" + read value + if test "$value" + then + att=$value + fi + $ECHO "Queue CPU limit ($cpu)? $ECHOTXT" + read value + if test "$value" + then + cpu=$value + fi + ;; + * ) + ;; + esac + $ECHO "Run directory ($DIRJOB)? $ECHOTXT" + read value + if test "$value" + then + DIRJOB=$value + DIRSCR=$DIRJOB + fi + $ECHO "Scratch directory ($DIRSCR)? $ECHOTXT" + read value + if test "$value" + then + DIRSCR=$value + fi + ;; + quit) + exit 1 + ;; + *) + break + ;; + +esac + + if test $nt -eq -1 + then + nt=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nt -lt 0 + then + nt=0 + fi + +done +# +if test $nt -eq 0 +then + ntarg= +fi +if test $nt -eq 0 +then + ntprint= +fi +if test $nt -eq 0 +then + nt= +fi + +if test $nte -eq 0 +then + ntearg= +fi +if test $nte -eq 0 +then + nteprint= +fi +if test $nte -eq 0 +then + nte= +fi + +if test $nts -eq 0 +then + ntsarg= +fi +if test $nts -eq 0 +then + ntsprint= +fi +if test $nts -eq 0 +then + nts= +fi +# +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + pathdll=yes + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + fi + + if test "$pathdll"; then +# +# reset share lib path +# + if test $MACHINENAME = "HP" + then + SHLIB_PATH=$DIRJOB:$SHLIB_PATH + export SHLIB_PATH + fi + if test $MACHINENAME = "IBM" + then + LIBPATH=$DIRJOB:$LIBPATH + export LIBPATH + fi +# + LD_LIBRARY_PATH=$DIRJOB:$LD_LIBRARY_PATH + LD_LIBRARY64_PATH=$DIRJOB:$LD_LIBRARY64_PATH + LD_LIBRARYN32_PATH=$DIRJOB:$LD_LIBRARYN32_PATH + export LD_LIBRARY_PATH + export LD_LIBRARY64_PATH + export LD_LIBRARYN32_PATH + fi +fi +# end of dllrun>0 + + +if test $program = $exefile -o $program = $prog.marc +then + +# delete the old .log file unless we run in the background +if test "$deletelog" = yes +then + if test "$jid" + then + /bin/rm $jid.log 2>/dev/null + fi +else + echo + echo running the job in the background, see $jid.log + echo +fi + +# +# check if this is an autoforge or rezoning or radiation job +# +if test $nprocd -eq 1 -a "$jid" + +then + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^autoforge"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^rezoning"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^radiation"` + if test "$line" + then + autoforge=1 + fi +fi +# +# check that jobname for restarted run is not the same +# as restart file basename +# +if test "$rid" +then + if test "$jid" = "$rid" + then + echo " " + echo "ERROR: job name of current run is the same as job name" + echo " of the restarted job" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "ERROR: job name of current run is the same as job name" >> $jid.log + echo " of the restarted job" >> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi +fi + +# +# user objects/libraries used +# + + if test "$objs" + then + program="$DIRJOB/$jid.marc" + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# user subroutine used +# +# add DAMASK options for linking + DAMASK="-lstdc++" + + if test "$user" + then + program=$usernoext.marc + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# Special case for IBM using POE but not an SP machine +# in this case we always need a host file, also for serial jobs. +# +if test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP +then + MP_HOSTFILE=${jid}.host + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $nprocd -gt 1 + then + numdom=$nprocd + while test $numdom -gt 0 + do + hostname -s >> $MP_HOSTFILE + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + else + hostname -s > $MP_HOSTFILE + fi +fi +# +# check ssh for all hosts in host file +# +if test $nprocd -gt 1 +then +if test $MPITYPE = "intelmpi" -a "$INTELMPI_VERSION" = "HYDRA" + then +# get host list + if test "$host" + then + line=`grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' | uniq` +# count failing hosts + counter=0 + for i in $line + do + $RSH -o BatchMode=yes -o ConnectTimeout=10 $i uname -n + status=$? + if [[ $status != 0 ]] ; then + counter=$((counter+1)) + if [ "$counter" = "1" ]; then + echo " " + echo " error - connection test failed... " + echo " " + fi + echo " " + echo " connection test with ssh failed on host $i" + echo " check the following command: ssh $i uname -n " + echo " " + fi + done +# echo error message and quit + if test $counter -ne 0 + then + echo " " + echo " A parallel job using IntelMPI cannot be started. " + echo " The ssh command must be working correctly between " + echo " the computers used in the analysis. Furthermore, " + echo " it must be set up such that it does not prompt the " + echo " user for a password. " + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo " A parallel job using IntelMPI cannot be started. ">> $jid.log + echo " The ssh command must be working correctly between ">> $jid.log + echo " the computers used in the analysis. Furthermore, ">> $jid.log + echo " it must be set up such that it does not prompt the ">> $jid.log + echo " user for a password. ">> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi +fi +fi +# +# check correctness of host file; fix for user sub +# + if test $nprocd -gt 1 + then + +# construct the path name to the executable (execpath) + execpath=$MARC_BIN/$exefile + usersub=0 + if test $program = $prog.marc + then + execpath=$prog.marc + usersub=1 + fi + if test "$objs" + then + execpath="$DIRJOB/$jid.marc" + usersub=1 + fi + if test "$user" + then + execpath=$usernoext.marc + usersub=1 + fi + export execpath + execname=`$BASENAME $execpath` + + if test "$host" + then + userhost=$host + case $userhost in + \/* | \.\/*) + ;; + *) + userhost=`pwd`/$userhost + ;; + esac + +# check that the number of processes specified in the hostfile is +# equal to nprocd specified by -nprocd. + numproc=`grep -v '^#' $host | $AWK -v sum=0 '{sum=sum+$2}; END {print sum}'` + if test $nprocd -ne $numproc + then + echo " " + echo "error, the number of processes specified in the host file" + echo "must be equal to the number of processes given by -nprocd/-nsolver" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, the number of processes specified in the host file" >> $jid.log + echo "must be equal to the number of processes given by -nprocd/-nsolver" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + +# check for Myrinet that the number of processes per host is +# less than number of available user ports, 5 +# .gmpi directory must exist in user's home directory +# and must have write permission from remote hosts + if test $MPITYPE = "myrinet" + then + numproc=`grep -v '^#' $host | $AWK -v sum=1 '{if( $2 > 5) sum=6}; END {print sum}'` + if test $numproc -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes specified " + echo "in the hostfile must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes specified " >> $jid.log + echo "in the hostfile must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + if test ! -d ~/.gmpi + then + echo " " + echo "error, for Myrinet a .gmpi directory must exist " + echo "under the user's home directory" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a .gmpi directory must exist " >> $jid.log + echo "under the user's home directory" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + homedir=`echo ~` + for i in `grep -v '^#' $host | $AWK '{if (NF > 0) print $1}'` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + $RSH $i /bin/touch $homedir/.gmpi/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + echo " " + echo "error, for Myrinet a shared .gmpi directory must exist " + echo "under the user's home directory " + echo "with remote write permission" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a shared .gmpi directory must exist " >> $jid.log + echo "under the user's home directory " >> $jid.log + echo "with remote write permission" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + else + /bin/rm tmp.$$ + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + fi + fi + done + fi + fi + +# construct the host file $jid.host which is used by mpirun +# skip lines starting with # and only consider lines with more than +# one word in them. Note that the hostfile given to this script +# has two columns: the host name and the number of shared processes +# to run on this host. mpirun wants the number of _other_ +# processes to run in addition to the one being run on the machine +# on which the job is started. hence the $2-1 for fnr == 1. + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then +# HPMPI or HP hardware MPI + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ + -v mpihpspecial="$MPIHPSPECIAL" \ +'{if ( NF > 0) {\ + fnr++ ; \ + printf("-h %s -np %s",$1,$2); \ + printf(" %s",mpihpspecial); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF >= 3 ) printf(" -e MPI_WORKDIR=%s", $3);\ + if ( NF >= 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) \ + }\ + }' > $jid.host +# end HPMPI or HP hardware MPI + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then +# IBM using hardware MPI (POE) + MP_HOSTFILE=$jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.host +# end IBM using hardware MPI (POE) +# for Intel MPI, need to create a machinefile for DMP + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then +# Intel MPI + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + /bin/cp $host $jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Intel MPI for DMP +# for Solaris HPC 7.1, need to create a machinefile for DMP + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then +# Solaris HPC 7.1 + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Solaris HPC 7.1 for DMP +# for Myrinet, construct a configuration file in ~/.gmpi +# this must be readable by each process +# format is (hostname) (port number) for each process + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + grep -v '^#' $host | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ +{if ( NF > 0 ) \ + for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc]); \ +}' >> ~/.gmpi/$jid.host + else +# this is for mpich-1.2.5 and later, using the -pg option +# format: host nproc executable user arguments +# the arguments are added later + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub -v user=`whoami` \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s %s\n",path,user);\ + if ( NF == 3 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s %s\n",path,user) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s/bin/%s %s\n",$4,en,user) \ + }\ + }' > $jid.host + fi +# end Myrinet + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then +# Compaq MPI via Memory Channel + grep -v '^#' $host | $AWK '{if (NF > 0) print $1}' > $jid.host +# end Compaq MPI + else +# MPICH + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF == 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s/bin/%s\n",$4,en) \ + }\ + }' > $jid.host + fi +# define the variable host and host_filt +# host_filt is used for loops over hosts +# for Myrinet we need to use a filtered variant of userhost +# for others we can use $host + if test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + host=~/.gmpi/$jid.host + host_filt=$jid.host_tMp + grep -v '^#' $userhost | $AWK '{if (NF > 0) print $1}' > $host_filt + else + host=$jid.host + host_filt=$host + fi + else + host=$jid.host + host_filt=$host + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + host_filt=$jid.mfile + fi + fi +# figure out if the machines in the hostfile are nfs mounted +# or distributed and set the variable "dirstatus" accordingly. +# only perform the check if user subroutine is used +# or a user subroutine executable is used + + numfield=1 + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + numfield=2 + fi + DIR1=$DIRJOB + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + counter=0 + echo " " + echo "checking if local or shared directories for host" + if test "$deletelog" = no + then + echo "checking if local or shared directories for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + dirstatus[$counter]="shared" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + $RSH $i /bin/touch $DIR1/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + dirstatus[$counter]="local" + /bin/rm tmp.$$ + else + if test ! -f $jid.$$ + then + dirstatus[$counter]="local" + $RSH $i /bin/rm $DIR1/$jid.$$ + else + /bin/rm $jid.$$ + fi + fi + if test -f tmp.$$ + then + /bin/rm tmp.$$ + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + echo " ${dirstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${dirstatus[$counter]}" >> $jid.log + fi + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + fi + +# figure out if this is a compatible set of machines +# unless explicitly specified with flag -comp +# only perform the check if user subroutine is used +# or a user subroutine executable is used +# Myrinet does not support heterogeneous + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + if test $compatible = "unknown" + then + thisname=$ARCH + compatible=yes + counter=0 + echo "checking if machines are compatible for host" + if test "$deletelog" = no + then + echo "checking if machines are compatible for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]="yes" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + othername=`$RSH $i uname -a | cut -f 1 -d " "` + if test $thisname != $othername + then + compatible=no + compstatus[$counter]="no" + fi + fi + echo " ${compstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${compstatus[$counter]}" >> $jid.log + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + else + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]=$compatible + fi + done + if test $compatible = "no" + then + echo "all machines assumed incompatible" + if test "$deletelog" = no + then + echo "all machines assumed incompatible" >> $jid.log + fi + else + echo "all machines compatible" + if test "$deletelog" = no + then + echo "all machines compatible" >> $jid.log + fi + fi + fi +# error out if user objects or libraries are used on incompatible machines + if test "$compatible" = "no" -a -n "$objs" + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" + if test "$deletelog" = no + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" >> $jid.log + fi + exit 1 + fi +# modify new host file if NFS mounted heterogeneous machine + doit= + if test $program = $prog.marc + then + doit=yes + fi + if test "$user" + then + doit=yes + fi + if test "$doit" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + $AWK -v hst=$i '{fnr++ ; \ +if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ +printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} + /bin/mv $jid.host{$$} $jid.host + host=$jid.host + fi + fi + done + fi + fi # if test $program = $prog.marc -o $user -o $obj + + else # if test $host + # assume shared memory machine if no hostfile given and + # MPITYPE is set to mpich or Myrinet + # check for Myrinet that the total number of processes is + # less than number of available user ports, 5 + if test $MPITYPE = "mpich" -o $MPITYPE = "scali" + then + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + host=$jid.host + elif test $MPITYPE = "myrinet" + then + if test $nprocd -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes " + echo "must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes " >> $jid.log + echo "must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + echo `hostname` $nprocd | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ + {for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc])} \ +' >> ~/.gmpi/$jid.host + host=~/.gmpi/$jid.host + else + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + + fi + fi # if test myrinet + + fi # if test $host + + fi # if test $nprocd -gt 1 + +fi # if test $program = $exefile -o $program = $prog.marc + +############################################################################## +# construct run stream (Marc only) # +############################################################################## + +# set maximum message length for ddm to a large number +# for vendor provided mpi +if test $itree -eq 0 -a $MPITYPE = hardware +then + itree=100000000 + if test $MACHINENAME = SGI + then + itree=100000001 + fi +fi +if test $itree -eq 0 -a $MPITYPE = hpmpi +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = myrinet +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = nec +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = scali +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = intelmpi +then + itree=100000000 +fi +if test $nprocdddm -lt 2 +then + nprocdarg= +else + nprocdarg="$nprocdarg $nprocdddm" +fi +if test $nsolver -eq 0 +then + nsolverarg= +else + nsolverarg="$nsolverarg $nsolver" +fi +if test $nprocdddm -lt 2 -a $nsolver -eq 0 +then +nprocd=0 +fi +if test $nprocd -gt 0 +then + if test "$host" + then + if test -z "$RUN_JOB2" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $host -- -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then + RUN_JOB="$RUN_JOB2 $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB_TMP="$RUN_JOB2 $host $bd$program" + RUN_JOB=" -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $nprocd -hf $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + numhost=`uniq $jid.mfile | wc -l` + if test "$INTELMPI_VERSION" = "HYDRA" + then + RUN_JOB_TMP="$RUN_JOB2 -configfile $jid.cfile" + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n $numhost -r $RSH -f $jid.mfile + RUN_JOB_TMP="$RUN_JOB2 $jid.cfile" + fi + +# intelmpi uses configfile. format: +# -host host1 -n n1 executable marcargs +# one such line per host +# collect the marcargs in RUN_JOB and construct the config file later +# collect the run stream in RUN_JOB_TMP + RUN_JOB="-jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + + + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then + RUN_JOB="$RUN_JOB2 $jid.mfile -n $nprocd $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test "$userhost" + then + RUN_JOB="$RUN_JOB -mhost $userhost" + fi + if test $MPITYPE = "scali" + then +# set default working directory to /tmp to allow +# different directory names + SCAMPI_WORKING_DIRECTORY=/tmp + export SCAMPI_WORKING_DIRECTORY + fi + else + if test -z "$RUN_JOB1" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + RUNNPROCD=$nprocd + if test $MACHINENAME = "IBM" -a $MPITYPE = "hardware" + then + RUNNPROCD= + MP_PROCS=$nprocd + export MP_PROCS + fi + if test $MPITYPE = "myrinet" + then + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + echo " " > /dev/null + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n 1 -f $jid.hosts + fi + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + fi +else + if test $ndcoup -gt 0 + then + RUN_JOB="$RUN_JOB0 $BINDIR/exe_auto $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else +# this is for a serial job without auto restart: + RUN_JOB="$RUN_JOB0 $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi +fi +if test "$rid" +then + RUN_JOB="$RUN_JOB -rid $rid -dirrid $DIRRID" +fi +if test "$pid" +then + RUN_JOB="$RUN_JOB -pid $pid -dirpid $DIRPID" +fi +if test "$sid" +then + RUN_JOB="$RUN_JOB -sid $sid -dirsid $DIRSID" +fi +if test "$did" +then + RUN_JOB="$RUN_JOB -def $did -dirdid $DIRDID" +fi +if test "$vid" +then + RUN_JOB="$RUN_JOB -vf $vid -dirvid $DIRVID" +fi +if test $ndcoup -gt 0 +then + RUN_JOB="$RUN_JOB -dcoup $ndcoup " +fi +if test $ndytran -gt 0 +then + RUN_JOB="$RUN_JOB -dytran $ndytran " +fi +if test $mesh -gt 0 +then + RUN_JOB="$RUN_JOB -me $mesh " +fi +if test $noutcore -gt 0 +then + RUN_JOB="$RUN_JOB -outcore $noutcore " +fi +if test "$dllrun" -gt 0 +then + RUN_JOB="$RUN_JOB -dll $dllrun " +fi +if test "$trkrun" -gt 0 +then + RUN_JOB="$RUN_JOB -trk $trkrun " +fi +if test "$iam" +then + RUN_JOB="$RUN_JOB -iam $iam " +fi +if test "$justlist" +then + RUN_JOB="$RUN_JOB -list 1 " +fi +if test "$feature" +then + RUN_JOB="$RUN_JOB -feature $feature " +fi +if test "$memlimit" -ne 0 +then + RUN_JOB="$RUN_JOB -ml $memlimit " +fi +if test "$cpinput" +then + RUN_JOB="$RUN_JOB -ci $cpinput " +fi +if test "$cpresults" +then + RUN_JOB="$RUN_JOB -cr $cpresults " +fi +if test "$DIRSCR" != "$DIRJOB" +then + RUN_JOB="$RUN_JOB -dirscr $DIRSCR" +else + DIRSCR=$DIRJOB +fi +if test "$makebdf" +then + RUN_JOB="$RUN_JOB -bdf $makebdf " +fi +if test $MPITYPE = "myrinet" -a "$host" -a "$MPIVERSION" != "MPICH-GM1.2.1..7" +then + # append $RUN_JOB to all lines of the host file + # and set RUN_JOB + $AWK -v args="$RUN_JOB" '{print $0,args}' $host > $host.$$ + /bin/mv $host.$$ $host + RUN_JOB=$RUN_JOB_TMP +fi +if test $MPITYPE = "intelmpi" -a "$host" +then + # construct config file, append $RUN_JOB to all lines of the config file + # and set RUN_JOB + if test "$INTELMPI_VERSION" = "HYDRA" + then + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf(" -host %s",$1); \ + printf(" -n %s",$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + else + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf("-host %s -n %s",$1,$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + fi + RUN_JOB=$RUN_JOB_TMP +fi +echo " " +echo "Final run stream value" +echo " RUNJOB="$RUN_JOB +if test "$deletelog" = no +then +echo " " >> $jid.log +echo "Final run stream value" >> $jid.log +echo " RUNJOB="$RUN_JOB >> $jid.log +fi + + +# +# check for external file to run using valgrind +# +if test -f $MARC_TOOLS/run_marc_valgrind +then + . $MARC_TOOLS/run_marc_valgrind +fi + + +############################################################################## +# run the requested program in a queue # +############################################################################## + +if test "$deletelog" = yes +then + echo + date +else + echo >> $jid.log + date >> $jid.log +fi +if [ $qid = short -o $qid = long -o $qid = verylong -o $qid = at ] +then + +/bin/rm -f $jid.runmarcscript + + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + userobj=$usermoext.o + fi + cat > $jid.runmarcscript << END4 + if test "$user" + then + if test $MACHINENAME = "CRAY" + then + $DFORTLOWMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTLOWMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + $SOLVERLIBS \ + $MARCCUDALIBS \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } +END4 +else + prgsav=yes +fi +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null + +# +# run marc +# + +cat >> $jid.runmarcscript << END5 + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# first remove all .out files and incremental restart files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + /bin/rm $DIRJOB/$numdom${jid}_i_*.t08 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null + /bin/rm $DIRJOB/${jid}_i_*.t08 2>/dev/null +fi + +if test $nprocdddm -gt 1 +then + $RUN_JOB 2>>$jid.log +else + $RUN_JOB 2>>$jid.log +fi + +if test $dllrun -eq 0; then + if test $prgsav = no + then + /bin/rm -f $bd$program 2>/dev/null + fi +else + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes + then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +fi +END5 + + +# Submit to marc batch queue +# +if [ $qid = at ] +then +QUENAME=at +SUBMCMD= +else +# +# Submit to qsub queue +# +QUENAME=qsub +SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" +if test "$priority" +then + SUBMCMD=$SUBMCMD" -p $priority" +fi +if test "$att" +then + SUBMCMD=$SUBMCMD" -a $att" +fi +if test "$cpu" +then + SUBMCMD=$SUBMCMD" -lt $cpu" +fi + +fi +echo $QUENAME $SUBMCMD +#cat $jid.runmarcscript +$QUENAME $SUBMCMD < $jid.runmarcscript + +/bin/rm -f $jid.runmarcscript + +############################################################################## +# run the requested program in the background # +############################################################################## + +else +if test $qid = background +then + +# +# first remove all old .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi +# +# compile user subroutine if present +# +( +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_damask_lmp $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user on host $i" + echo " $PRODUCT Exit number 3" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user on host `hostname`" + fi + userobj=$usernoext.o + if test $MACHINENAME = "CRAY" + then + $DFORTLOWMP $user || \ + { + echo "$0: compile failed for $user" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTLOWMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + echo " $PRODUCT Exit number 3" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null + +# +# run marc + +# + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + +$RUN_JOB & + +marcpid=$! +echo $marcpid > $DIRJOB/$jid.pid +wait $marcpid + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + fi + fi + fi +fi + + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi +fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi +) 1>>$jid.log 2>&1 & + + +############################################################################## +# run the requested program in the foreground # +############################################################################## + +else + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_damask_lmp $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user on host $i" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user on host `hostname`" + fi + userobj=$usernoext.o + if test $MACHINENAME = "CRAY" + then + $DFORTLOWMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTLOWMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null +# done if no job id given +if test -z "$jid" +then + echo + echo only compilation requested + echo + exit +fi +# +# run marc +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi +# first remove all .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + $RUN_JOB + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + else + echo " " > /dev/null + fi + else + if test "$host" + then + mpdcleanup -a -f $jid.mfile + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.mfile 2> /dev/null + else + mpdcleanup -a -f $jid.hosts + /bin/rm $jid.hosts 2> /dev/null + fi + fi + fi +fi + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi +fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi + + +fi +fi diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_mp b/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_mp new file mode 100644 index 000000000..06e0ed69c --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_mp @@ -0,0 +1,4105 @@ +#!/bin/ksh +############################################################################## +# # +# run_marc - run a marc job # +# ------------------------- # +# # +# usage: run_marc -j jid { options } # +# # +# where standard options are: required: defaults: # +# -------------------------- # +# # +# -j* jid job id number. ** YES ** . # +# -pr* prog program name. . marc # +# -v* y|n do or do not verify inputs. . yes # +# -q* s|l|v|b|f batch queue name or background, . short # +# foreground. # +# -b* as alternative to option -q* # +# # +# ( batch queues only : # +# -pq* intra queue priority. . . # +# -at DATE/TIME delay start of job. . . # +# format : January,1,1990,12:31 # +# or : today,5pm # +# -cpu* secs job CPU limit . . ) # +# # +# -r* rid restart file job id. . . # +# -si* sid substructure file id. . . # +# -pi* post post file job id. . . # +# -de* did defaults file . no # +# -vf vid viewfactor . no # +# # +# -u* user user subroutine. . . # +# -obj obj user objects or libraries. . . # +# -sa* y|n do or do not save load module. . no # +# -me manual remeshing control . no # +# -ml memory limit in Mbyte # +# -mo This option is deprecated. As of Marc 2015, only # +# the integer*8 version is available. # +# -mpi selects MPI version # +# each platform has a default MPI version and some # +# have an alternative version. see the include file # +# for the respective platform # +# MPI_DEFAULT defines the default MPI version # +# MPI_OTHER defines versions one can switch to # +# -dcoup for contact decoupling # +# currently not supported # +# -dir directory where the job i/o should take place. # +# defaults to current directory. # +# -sdir directory where scratch files are created # +# defaults to current directory. # +# # +# -alloc only perform memory allocation test, no analysis # +# -list y only list options in the input file, no analysis # +# -fe num set feature number "num" for the run. only one allowed # +# -dytran flag to switch from Dytran to Marc # +# dytran = 0, program will run w/o Marc-Dytran Switch # +# = 1, program will restart Marc after Dytran run # +# >= 2, Not supported yet. # +# currently not supported # +# -ou force analysis to use out-of-core control # +# =0, not used # +# =1, element storage out-of-core # +# -dll run marc using shared library libmarc.so and exe_marc # +# =1, used # +# =2, do not free streaming input memory # +# =3, run with marc input deck # +# -trk run marc for post-tracking # +# -gpuid run marc using GPGPU capability # +# specify gpuid on to be used in the analysis. Multiple # +# IDs may be assigned for DDM runs. # +# Separate a list of IDs with a colon. Each DMP # +# process will be assigned a GPU ID in round robin fastion# +# = 0 # +# = 0:1 etc... # +# # +# where parallel options are: # +# -------------------------- # +# # +# itree, host, and comp options are available for the domain # +# decomposition only. # +# MARC_NUMBER_OF_THREADS, nthread, and dir options always available. # +# # +# # +# -nprocd number of domains. # +# defaults to single domain solution. # +# -nprocds number of domains if single input file. # +# defaults to single domain solution. # +# -nps same as -nprocds. # +# -nsolver number of solver tasks for solver types 12 and 13 # +# these are distributed tasks operating via MPI # +# -nthread_elem number of threads for element assembly and recovery # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by element assembly # +# recovery. # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_elem option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_elem specified. # +# -nthread_solver number of threads for solver types 6, 8, and 11 # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by 6, 8, and 11 # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_solver option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_solver specified. # +# -nthread Same as -nthread_solver. # +# -itree message passing tree type for domain decomposition. # +# for debugging purposes; should not normally be used. # +# -host hostfile name for distributed execution on network. # +# defaults to no hostfile, unless jobid.defhost exists. # +# if jobid.defhost exists, only -np(s) necessary # +# -comp* y|n to be used with user routines on a network of # +# incompatible machines. # +# if set to no, a separate executable will be created # +# for each machine on the network. # +# if set to yes, the executable located on the machine # +# from which marc is started will be used on all machines.# +# defaults to no if O/S versions different on machines. # +# # +# -ci y|n copy input files to remote hosts (default: yes) # +# if "yes", input files are automatically copied to # +# remote hosts for a network run if necessary. # +# -cr y|n copy post files from remote hosts (default: yes) # +# if "yes", post files are automatically copied back from # +# remote hosts for a network run if necessary. # +############################################################################## +# set DIR to the directory in which this script is +REALCOM="`/bin/ls -l $0 |awk '{ print $NF; }'`" +DIR=`dirname $REALCOM` +# make sure DIR has an absolute path +case $DIR in + \/*) + ;; + *) + DIR=`pwd`/$DIR + ;; +esac +DIRSCRIPT=$DIR +AWK=awk +ARCH=`uname -a | cut -f 1 -d " "` +# Sun has a bad awk, use nawk instead +if test $ARCH = "SunOS" +then + AWK=nawk +fi +BASENAME=basename +# Sun has an incorrect /bin/basename, check if /usr/ucb/basename exists +if test $ARCH = "SunOS" +then + if test -x /usr/ucb/basename + then + BASENAME=/usr/ucb/basename + fi +fi + +# echo command line in the case of ECHO_COMMAND is true +if test "$ECHO_COMMAND" = true ; then + echo command "$0" "$@" +fi + +# +# "mode" selects version, i4 or i8 +# default is i4 +# this can be changed by a file run_marc_defaults +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MODE i8 +# it can also be set by the environmental variable MARC_INTEGER_SIZE +# and by the command line option "-mo" +# +mode= +modeerror= +modeoption= +if test -f $DIRSCRIPT/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $DIRSCRIPT/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -f $HOME/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $HOME/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $HOME/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -n "$MARC_INTEGER_SIZE" ; then + mode=$MARC_INTEGER_SIZE +fi +if test -z "$mode" ; then + mode=i8 +fi +case $mode in + i4) + modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + modeoption=error + echo $modeerror + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo "bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + exit + ;; +esac + +setmode=false +for arg in $* ; do + if $setmode ; then + mode=$arg + case $mode in + i4) + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo " " + echo "error, version mode must be i8" + echo " " + echo " use -mo i8 " + echo " " + exit + ;; + esac + setmode=false + fi + if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then + echo + echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available + echo + setmode=true + fi + if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + fi + if [ ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + fi +done + +# set to i4 version for 32 bit Linux +if test "`uname -s`" = "Linux"; then + if test "`uname -m`" = "i686"; then + mode=i4 + MARC_INTEGER_SIZE=i4 + export MARC_INTEGER_SIZE + fi +fi + + +. "$DIR/getarch" + + +# getting user subroutine file name +found=0 +for i in "$@"; do + if test $found = 1; then + DAMASK_USER=$i + found=0 + fi + case $i in + -u* | -U*) + found=1 + ;; + esac +done +# sourcing include_linux64 (needs DAMASK_USER to be set) +. $MARC_INCLUDE + +# + +# +# Dynamically determine the echo syntax +# + +case "`echo '\c'`" in + '\c') + ECHO='echo -n' + ECHOTXT=' ' + ;; + *) + ECHO='echo' + ECHOTXT=' \c' + ;; +esac + +# +# Variables for the MARC environment +# + +PRODUCT="Marc" +EXITMSG=$MARC_TOOLS/MESSAGES +export EXITMSG +FLEXDIR=$DIR/../flexlm/licenses +export FLEXDIR +TIMCHK=3600 +export TIMCHK +BINDIR=$MARC_BIN +export BINDIR +AFMATDAT=$MARC_RUNTIME/AF_flowmat/ +export AFMATDAT +export MESHERDIR +MSC_LICENSE_FINPROC=0 +export MSC_LICENSE_FINPROC +# +# define directory path to global unified material database +# +MATFILE= +export MATFILE + +# +# define memory limit +# first set to MEMLIMIT from include +# -ml option overrules if specified +memlimit=$MEMLIMIT +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +# +if test $MACHINENAME = "HP" +then + SHLIB_PATH=$MARC_LIB:$MARC_LIB_SHARED:$SHLIB_PATH + export SHLIB_PATH +fi +# the one for IBM is defined futher down + +LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH:$SFMATDIR +if test -f "/etc/redhat-release"; then + ver=`cat /etc/redhat-release | sed 's/.* release \([0-9]\).\([0-9]\+\) .*/\1\2/'` + case "$ver" in + 6*) LD_LIBRARY_PATH="${MARC_LIB_SHARED}rh67:$LD_LIBRARY_PATH" ;; + esac +fi +LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$LD_LIBRARY_PATH +LD_LIBRARY64_PATH=$MARC_LIB:$LD_LIBRARY64_PATH +LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH +export LD_LIBRARY_PATH +export LD_LIBRARY64_PATH +export LD_LIBRARYN32_PATH + +atexit() { +kill -15 $$ +# +if test $MPITYPE = "myrinet" +then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi +fi +} + +trap "atexit" 2 + +# +# defaults +# + +prog=marc +exefile=marc +jid= +rid= +pid= +sid= +did= +vid= +user= +usernoext= +objs= +qid=background +cpu= +priority= +att= +trk= +verify=yes +prgsav=no +rmdll=no +cpdll=no +progdll= +pathdll= +error= +nprocd=0 +nprocdddm=1 +nprocdddmprint= +icreated=0 +nprocdarg= +nsolver=0 +nsolverarg=-ns +if test $nprocds +then + if test $nprocds -gt 1 + then + nprocdddm=$nprocds + nprocdddmprint=$nprocds + icreated=1 + nprocdarg=-nprocds + fi +fi +ntprint=0 +nt=-1 +nte=-1 +nts=-1 +ntarg=-nt +ntearg=-nte +ntsarg=-nts +nteprint= +ntsprint= +gpuids= +nauto= +ndcoup=0 +ndytran=0 +noutcore=0 +dllrun=0 +mesh=0 +itree=0 +iam= +ddm_arc=0 +link= +trkrun=0 +DIRJOB=`pwd` +DIRSCR=$DIRJOB +DIRSCRSET= +autoforge=0 +dotdat=.dat +dotdefhost=.defhost +host= +numhost= +mfile= +userhost= +makebdf= +cpinput=yes +cpresults=yes +marcdll=libmarc.$EXT_DLL +# define hostname and strip off extensions (alpha.aaa.com) +thishost=`hostname` +thishost=${thishost%%.*} +compatible=unknown +numfield=1 +justlist= +feature= +mpioption=false +iprintsimufact= +SRCLIB=$MARC_LIB/srclib.a +MDSRCLIB=$MARC_LIB/mdsrc.a +# +# check run_marc_defaults file for default MPI setting +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MPI +# +value= +file= +if test -f $DIRSCRIPT/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $DIRSCRIPT/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$DIRSCRIPT/run_marc_defaults + fi +fi +if test -f $HOME/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $HOME/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$HOME/run_marc_defaults + fi +fi +if test -n "$value"; then + MARC_MPITYPE=$value + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + echo " " + echo " error, incorrect option for MARC_MPI" + echo " defined in $file: $MARC_MPITYPE" + echo " valid options: $MPI_DEFAULT $MPI_OTHER" + echo " " + exit + fi + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + fi +fi +# +# +# allow scratch directory to be specified with environmental variable +# MARCSCRATCH +if test $MARCSCRATCH +then + if test -d $MARCSCRATCH + then + DIRSCR=$MARCSCRATCH + else + echo "error, scratch directory '$MARCSCRATCH'" + echo " specified via environmental variable MARCSCRATCH does not exist" + exit + fi +fi +# +############################################################################## +# parse input - arguments always come in pairs # +############################################################################## + +arg=$1 +if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + shift + arg=$1 +fi +while [ -n "$arg" ] +do + shift + value=$1 + case $arg in + -al* | -AL*) + LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + $MARC_BIN/marc -alloc 1 + exit + ;; + -li* | -LI*) + justlist=yes + ;; + -fe* | -FE*) + feature=$value + + ;; + -pr* | -PR*) + if test `dirname $value` = '.' + then + prog=`$BASENAME $value .marc` + progdll=`$BASENAME $value` + else + prog=`dirname $value`/`$BASENAME $value .marc` + progdll=`dirname $value`/`$BASENAME $value` + fi + prdir=`dirname $value` + case $prdir in + \/*) + ;; + *) + prog=`pwd`/$prdir/$prog + ;; + esac + ;; + -j* | -J*) + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + ;; + -r* | -R*) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + -si* | -SI*) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + -pi* | -PI*) + if test -f $value.t19 + then + pid=`$BASENAME $value .t19` + else + pid=`$BASENAME $value .t16` + fi + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + -bdf | -BDF) + makebdf=1 + ;; + -de* | -DE*) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + -vf | -VF) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + -u* | -U*) + user=$value + case $user in + \/*) + ;; + *) + user=`pwd`/$user + ;; + esac + usernoext=$user + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + ;; + -obj | -OBJ) + objs="$value" + ;; + -q* | -Q*) + qid=$value + ;; + -b* | -B*) + case $value in + y* | Y*) + qid=background + ;; + n* | N*) + qid=foreground + ;; + *) + ;; + esac + ;; + -at | -AT) + att=$value + ;; + -cpu* | -CPU*) + cpu=$value + ;; + -pq | -PQ*) + priority=$value + ;; + -v* | -V*) + verify=$value + ;; + -sa* | -SA*) + prgsav=$value + ;; + -np* | -NP*) + nprocdddm=$value + nprocdddmprint=$value + case $arg in + -nps* | -NPS* | -nprocds* | -NPROCDS*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + case $arg in + -np | -NP | -nprocd | -NPROCD) + icreated=0 + nprocdarg=-nprocd + ;; + esac + ;; + -ns* | -NS*) + nsolver=$value + ;; + -nt* | -NT*) + case $arg in + -nte | -NTE | -nthread_e* | -NTHREAD_E*) + nte=$value + ;; + esac + case $arg in + -nts | -NTS | -nthread_s* | -NTHREAD_S*) + nts=$value + ;; + esac + case $arg in + -nt | -NT | -nth* | -NTH* | -nthread* | -NTHREAD*) + nt=$value + ;; + esac + ;; + -gp* | -GP*) + gpuids=$value + ;; + -it* | -IT*) + itree=$value + ;; + -iam | -IAM) + iam=$value + case $value in + sfg | sfm | sim) + iprintsimufact=true + ;; + esac + ;; + -au* | -AU*) + nauto=$value + echo + echo warning: the option -au is no longer supported and will be ignored + echo + ;; + -dc* | -DC*) + ndcoup=$value + ;; + -dy* | -DY*) + ndytran=$value + ;; + -ou* | -OU*) + noutcore=$value + ;; + -dll | -DLL) + dllrun=$value + ;; + -trk | -TRK) + trkrun=$value + ;; + -ddm | -DDM) + ddm_arc=$value + ;; + -me | -ME ) + mesh=$value + ;; + -ml | -ML ) + memlimit=$value + ;; + -mo | -MO ) + ;; + -mpi | -MPI ) + mpioption=true + MARC_MPITYPE=$value + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + else + exefile=marc + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a" + fi + fi + ;; + -dir* | -DIR*) + DIRJOB=$value + case $DIRJOB in + \/*) + ;; + *) + DIRJOB=`pwd`/$DIRJOB + ;; + esac + if test -z "$DIRSCRSET" + then + DIRSCR=$DIRJOB + fi + ;; + -sd* | -SD*) + DIRSCR=$value + DIRSCRSET=yes + case $DIRSCR in + \/*) + ;; + *) + DIRSCR=`pwd`/$DIRSCR + ;; + esac + ;; + -ho* | -HO*) + host=$value + ;; + -co* | -CO*) + compatible=$value + ;; + -ci* | -CI*) + cpinput=$value + ;; + -cr* | -CR*) + cpresults=$value + ;; + *) + error="$error +$arg: invalid option" + break + ;; + esac + case $value in + -*) + error="$error +$arg: invalid name $value" + break + ;; + esac + shift + arg=$1 + if [ ${arg}X = -i8X -o ${arg}X = -I8X -o ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + shift + arg=$1 + fi +done +argc=`expr $# % 2` +if test $argc -eq 1 +then +# +# odd number of arguments +# + error="$error +argument list incomplete" +fi + +if test $nprocdddm -gt 0 +then +nprocd=$nprocdddm +fi + +if test $nsolver -gt 0 +then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi +fi +# Set defaults +if test $nt -eq -1 +then +nt=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nt -lt 0 +then +nt=0 +fi +if test $nte -eq -1 +then +nte=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nte -lt 0 +then +nte=0 +fi +if test $nts -eq -1 +then +nts=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nts -lt 0 +then +nts=0 +fi +# +# set number of element loop threads +# +ntprint=$nt +nteprint=$nte +# copy from -nprocd[s] +if test $nprocdddm -gt 1 +then + nteprint=$nprocdddm +fi +# override with -nthread_elem option +if test $nte -ne 0 +then +nteprint=$nte +fi +# check for minimum 1 threads per processes for DDM +if test $nprocdddm -gt 1 +then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi +fi +nte=$nteprint +# +# set number of Solver threads +# +ntsprint=$nts +# copy from -nthread or -nprocd[s] +if test $ntprint -ne 0 +then + ntsprint=$ntprint +else + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +fi +# override with -nthread_solver option +if test $nts -ne 0 +then + ntsprint=$nts +fi +# check for minimum 1 threads per solver process. +if test $nsolver -lt $nprocdddm +then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi +else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi +fi +if test $ntsprint -eq 1 +then + set ntsprint=0 +fi +nts=$ntsprint + +# set stack size for multi-threading. +export KMP_MONITOR_STACKSIZE=7M +export OMP_STACKSIZE=7M + +# +# deprecate -nthread option at arugment of marc +nt=0 +# Reset nprocdddmm, nsolver and threads if not given. +if test $nprocdddm -eq 0 +then + nprocdarg= +fi +if test $nprocdddm -eq 0 +then + nprocdddmprint= +fi +if test $nprocdddm -eq 0 +then + nprocdddm= +fi + +nsolverprint=$nsolver +if test $nsolver -eq 0 +then + nsolverprint= +fi +# end of threads setting. +gpuoption= +if test "$gpuids" = "" ; then + gpuoption= +else + gpuoption="-gp $gpuids" +fi + +if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH +else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH +fi +# Linux 64 + HPMPI, Below code is taken from include_linux64 +if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" +then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" +fi +if test "$iam" = sim ; then + SFLIB="-L$SFMATDIR -lMBA_Grain" +fi + +if test $nprocd -gt 1; then + if test -f $jid$dotdefhost; then + if test "$host" = ""; then + host=$jid$dotdefhost + fi + fi + if test -f hostfile_qa_$nprocd; then + if test "$host" = ""; then + host=hostfile_qa_$nprocd + fi + fi +fi + +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$dllrun" -eq 1 || test "$dllrun" -eq 2; then + dotdat=.inp + fi + + if test "$progdll"; then + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + rmdll=yes + pathdll=yes + progdll=${progdll}_$marcdll + else + progdll=$marcdll + fi + + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + pathdll=yes + fi +fi + +############################################################################## +# check parameter validity # +############################################################################## + +while test forever; do + +# +# check for input file existence +# +if test $nprocdddm -gt 1 -a $icreated -eq 0; then + if test ! -f $DIRJID/1$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/1$jid$dotdat not accessible" + fi + fi +else + if test ! -f $DIRJID/$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/$jid$dotdat not accessible" + fi + fi +fi + if test $nprocd -gt 1; then + if test "$host" ; then + if test ! -f $host; then + error="$error +host name file $host not accessible" + fi + fi + fi + +# +# check if the job is already running in the background +# +if test -f $DIRJOB/$jid.pid; then + error="$error +job is already running (the file $jid.pid exists)" +fi + +# +# if the program name is other than marc, then +# assume that this is a program in the users local directory +# + +bd=$MARC_BIN/ + +case $prog in + marc | MARC | $exefile) + program=$exefile + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 or $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + if test ! -f $user + then + error="$error +user subroutine file $user not accessible" + fi + fi + if test "$objs" + then + missingobjs= + for o in $objs + do + if test ! -f "$o" + then + if test -z "$missingobjs" + then + missingobjs="$o" + else + missingobjs="$missingobjs $o" + fi + fi + done + if test -n "$missingobjs" + then + error="$error +user object/library file(s) $missingobjs not accessible" + fi + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$vid" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRVID/1$vid.vfs + then + error="$error +view factor file $DIRVID/1$vid.vfs not accessible" + fi + else + if test ! -f $DIRVID/$vid.vfs + then + error="$error +view factor file $DIRVID/$vid.vfs not accessible" + fi + fi + fi + if $mpioption + then + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" + fi + fi + ;; + *) + program=$prog.marc + case $prog in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 and $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + error="$error +program option may not be used with user subroutine" + fi + if test "$objs" + then + error="$error +program option may not be used with user objects or libraries" + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$ndcoup" + then + if test $ndcoup -gt 3 + then + error="$error +incorrect option for contact decoupling " + fi + fi + if test "$ndytran" + then + if test $ndytran -gt 1 + then + error="$error +incorrect option for Marc-Dytran Switch " + fi + fi + if $mpioption + then + if test ! -x $MARC_BIN/$exefile + then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE " + fi + fi + ;; +esac + +############################################################################## +# check argument integrity # +############################################################################## + +if test "$jid" +then + : +else + if test "$user" + then +# allow user sub without giving job id + qid=foreground + verify=no + else + error="$error +job id required" +fi +fi + +case $qid in + S* | s*) + qid=short + ;; + L* | l*) + qid=long + ;; + V* | v*) + qid=verylong + ;; + B* | b*) + qid=background + ;; + F* | f*) + qid=foreground + ;; + A* | a*) + qid=at + ;; + *) + error="$error +bad value for queue_id option" + ;; +esac + +case $prgsav in + N* | n*) + prgsav=no + ;; + Y* | y*) + prgsav=yes + ;; + *) + error="$error +bad value for save option" + ;; +esac + +case $verify in + N* | n*) + verify=no + ;; + Y* | y*) + verify=yes + ;; + *) + error="$error +bad value for verify option" + ;; +esac + +case $nprocdddm in + -* ) + error="$error +bad value for nprocd option" + ;; +esac + +case $nt in + -* ) + error="$error +bad value for nt option" + ;; +esac + +case $itree in + -* ) + error="$error +bad value for itree option" + ;; +esac +case $iam in + -* ) + error="$error +bad value for iam option" + ;; +esac +case $compatible in + N* | n*) + compatible=no + ;; + Y* | y*) + compatible=yes + ;; + unknown) + ;; + *) + error="$error +bad value for comp option" + ;; +esac +case $cpinput in + N* | n*) + cpinput=no + ;; + Y* | y*) + cpinput=yes + ;; + *) + error="$error +bad value for copy input option" + ;; +esac +case $cpresults in + N* | n*) + cpresults=no + ;; + Y* | y*) + cpresults=yes + ;; + *) + error="$error +bad value for copy results option" + ;; +esac + +# +# check for external file to run +# +if test -f $MARC_TOOLS/run_marc_check +then + . $MARC_TOOLS/run_marc_check +fi + +############################################################################## +# interact with the user to get the required information to run marc or # +# other marc system program # +############################################################################## + +deletelog=yes +if test $qid = background -a $verify = no +then +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $user +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint +GPGPU option : $gpuids +Host file name : $host" > $jid.log +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" >> $jid.log +fi +echo \ +"Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" >> $jid.log +deletelog=no +fi +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $user +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint" +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" +fi +echo \ +"GPGPU option : $gpuids +Host file name : $host +Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" + + +case $qid in + s* | S* | l* | L* | v* | V* ) + echo \ +"Queue priority : $priority +Queue CPU limit : $cpu +Queue start time : $att" + ;; +# * ) +# echo \ +#" " +# ;; +esac + +if test "$modeoption" +then + error=$modeerror +fi + +if test "$error" +then + if test $verify = yes + then + $ECHO "$error + +Please correct or quit(correct,quit,): $ECHOTXT" + error= + read answer + case $answer in + q* | Q*) + answer=quit + ;; + *) + answer=correct + ;; + esac + else + $ECHO "$error + $ECHOTXT" + echo " " + if test "$deletelog" = no + then + $ECHO "$error + $ECHOTXT" >> $jid.log + echo " " >> $jid.log + fi + answer=quit + fi +else + if test $verify = yes + then + $ECHO " +Are these parameters correct (yes,no,quit,)? $ECHOTXT" + read answer + case $answer in + q* | Q*) + answer=quit + ;; + y* | Y*) + answer=yes + ;; + *) + answer=no + ;; + esac + else + answer=yes + fi +fi + +case $answer in + no | correct) + +############################################################################## +# prompt for each value # +############################################################################## + + $ECHO " +Program name ($prog)? $ECHOTXT" + read value + if test "$value" + then + prog=$value + fi + $ECHO "Job ID ($jid)? $ECHOTXT" + read value + if test "$value" + then + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + fi + $ECHO "User subroutine name ($user)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + user= + ;; + *) + user=$value + case $user in + \/*) + ;; + *) + user=`pwd`/$user + ;; + esac + usernoext=$user + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + ;; + esac + fi + $ECHO "User objects or libraries ($objs)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + objs= + ;; + *) + objs="$value" + ;; + esac + fi + $ECHO "Restart File Job ID ($rid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + rid= + ;; + *) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + esac + fi + $ECHO "Substructure File ID ($sid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + sid= + ;; + *) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + esac + fi + $ECHO "Post File Job ID ($pid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + pid= + ;; + *) + pid=$value + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + esac + fi + $ECHO "Defaults File ID ($did)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + did= + ;; + *) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + esac + fi + $ECHO "View Factor File ID ($vid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + vid= + ;; + *) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + esac + fi + $ECHO "Save generated module ($prgsav)? $ECHOTXT" + read value + if test "$value" + then + prgsav=$value + fi + $ECHO "Run on tasks ($nprocdddm) tasks? $ECHOTXT" + read value + if test "$value" + then + nprocdddm=$value + nprocdddmprint=$value + fi + $ECHO "Run on ($nte) Element loop threads ? $ECHOTXT" + read value + if test "$value" + then + nte=$value + fi + $ECHO "Run on ($nsolver) solvers ? $ECHOTXT" + read value + if test "$value" + then + nsolver=$value + fi + $ECHO "Run on ($nts) Solver threads ? $ECHOTXT" + read value + if test "$value" + then + nts=$value + fi +# + if test $nprocdddm -gt 0 + then + nprocd=$nprocdddm + fi + if test $nsolver -gt 0 + then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi + fi +# Element loop threads. + if test $nte -eq -1 + then + nte=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nte -lt 0 + then + nte=0 + fi + nteprint=$nte +# Copy from ddm + if test $nprocdddm -gt 1 + then + nteprint=$nprocdddm + fi +# override with -nthread_elem option + if test $nte -ne 0 + then + nteprint=$nte + fi +# check for minimum 1 threads per processes for DDM + if test $nprocdddm -ne 0 + then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi + fi + nte=$nteprint +# Solver threads. + if test $nts -eq -1 + then + nts=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nts -lt 0 + then + nts=0 + fi + ntsprint=$nts +# Copy from ddm + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +# override with -nthread_solver option + if test $nts -ne 0 + then + ntsprint=$nts + fi +# check for minimum 1 threads per solver process. + if test $nsolver -lt $nprocdddm + then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi + else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi + fi + if test $ntsprint -eq 1 + then + set ntsprint=0 + fi + nts=$ntsprint +# Update print variable for -nsolver option + nsolverprint=$nsolver + if test $nsolver -eq 0 + then + nsolverprint= + fi + $ECHO "GPGPU id option ($gpuids)? $ECHOTXT" + read value + if test "$value" + then + gpuids=$value + fi + if test "$gpuids" = "" ; then + gpuoption= + else + gpuoption="-gp $gpuids" + fi + if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH + fi + if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" + then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" + fi +# + if test $nprocd -gt 1 + then + $ECHO "Message passing type ($itree)? $ECHOTXT" + read value + if test "$value" + then + itree=$value + fi + $ECHO "Host file name ($host)? $ECHOTXT" + read value + if test "$value" + then + host=$value + fi + if test $nprocdddm -gt 1 + then + $ECHO "Single input file? $ECHOTXT" + read value + case $value in + y* | Y*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + $ECHO "Compatible machines for DDM ($compatible)? $ECHOTXT" + read value + if test "$value" + then + compatible=$value + fi + $ECHO "Copy input files to remote hosts ($cpinput)? $ECHOTXT" + read value + if test "$value" + then + cpinput=$value + fi + $ECHO "Copy post files from remote hosts ($cpresults)? $ECHOTXT" + read value + if test "$value" + then + cpresults=$value + fi + fi + fi + $ECHO "Run the job in the queue ($qid)? $ECHOTXT" + read value + if test "$value" + then + qid=$value + fi + case $qid in + s* | S* | l* | L* | v* | V* ) + $ECHO "Queue priority ($priority)? $ECHOTXT" + read value + if test "$value" + then + priority=$value + fi + $ECHO "Job starts at ($att)? $ECHOTXT" + read value + if test "$value" + then + att=$value + fi + $ECHO "Queue CPU limit ($cpu)? $ECHOTXT" + read value + if test "$value" + then + cpu=$value + fi + ;; + * ) + ;; + esac + $ECHO "Run directory ($DIRJOB)? $ECHOTXT" + read value + if test "$value" + then + DIRJOB=$value + DIRSCR=$DIRJOB + fi + $ECHO "Scratch directory ($DIRSCR)? $ECHOTXT" + read value + if test "$value" + then + DIRSCR=$value + fi + ;; + quit) + exit 1 + ;; + *) + break + ;; + +esac + + if test $nt -eq -1 + then + nt=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nt -lt 0 + then + nt=0 + fi + +done +# +if test $nt -eq 0 +then + ntarg= +fi +if test $nt -eq 0 +then + ntprint= +fi +if test $nt -eq 0 +then + nt= +fi + +if test $nte -eq 0 +then + ntearg= +fi +if test $nte -eq 0 +then + nteprint= +fi +if test $nte -eq 0 +then + nte= +fi + +if test $nts -eq 0 +then + ntsarg= +fi +if test $nts -eq 0 +then + ntsprint= +fi +if test $nts -eq 0 +then + nts= +fi +# +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + pathdll=yes + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + fi + + if test "$pathdll"; then +# +# reset share lib path +# + if test $MACHINENAME = "HP" + then + SHLIB_PATH=$DIRJOB:$SHLIB_PATH + export SHLIB_PATH + fi + if test $MACHINENAME = "IBM" + then + LIBPATH=$DIRJOB:$LIBPATH + export LIBPATH + fi +# + LD_LIBRARY_PATH=$DIRJOB:$LD_LIBRARY_PATH + LD_LIBRARY64_PATH=$DIRJOB:$LD_LIBRARY64_PATH + LD_LIBRARYN32_PATH=$DIRJOB:$LD_LIBRARYN32_PATH + export LD_LIBRARY_PATH + export LD_LIBRARY64_PATH + export LD_LIBRARYN32_PATH + fi +fi +# end of dllrun>0 + + +if test $program = $exefile -o $program = $prog.marc +then + +# delete the old .log file unless we run in the background +if test "$deletelog" = yes +then + if test "$jid" + then + /bin/rm $jid.log 2>/dev/null + fi +else + echo + echo running the job in the background, see $jid.log + echo +fi + +# +# check if this is an autoforge or rezoning or radiation job +# +if test $nprocd -eq 1 -a "$jid" + +then + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^autoforge"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^rezoning"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^radiation"` + if test "$line" + then + autoforge=1 + fi +fi +# +# check that jobname for restarted run is not the same +# as restart file basename +# +if test "$rid" +then + if test "$jid" = "$rid" + then + echo " " + echo "ERROR: job name of current run is the same as job name" + echo " of the restarted job" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "ERROR: job name of current run is the same as job name" >> $jid.log + echo " of the restarted job" >> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi +fi + +# +# user objects/libraries used +# + + if test "$objs" + then + program="$DIRJOB/$jid.marc" + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# user subroutine used +# +# add DAMASK options for linking + DAMASK="-lstdc++" + + if test "$user" + then + program=$usernoext.marc + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# Special case for IBM using POE but not an SP machine +# in this case we always need a host file, also for serial jobs. +# +if test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP +then + MP_HOSTFILE=${jid}.host + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $nprocd -gt 1 + then + numdom=$nprocd + while test $numdom -gt 0 + do + hostname -s >> $MP_HOSTFILE + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + else + hostname -s > $MP_HOSTFILE + fi +fi +# +# check ssh for all hosts in host file +# +if test $nprocd -gt 1 +then +if test $MPITYPE = "intelmpi" -a "$INTELMPI_VERSION" = "HYDRA" + then +# get host list + if test "$host" + then + line=`grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' | uniq` +# count failing hosts + counter=0 + for i in $line + do + $RSH -o BatchMode=yes -o ConnectTimeout=10 $i uname -n + status=$? + if [[ $status != 0 ]] ; then + counter=$((counter+1)) + if [ "$counter" = "1" ]; then + echo " " + echo " error - connection test failed... " + echo " " + fi + echo " " + echo " connection test with ssh failed on host $i" + echo " check the following command: ssh $i uname -n " + echo " " + fi + done +# echo error message and quit + if test $counter -ne 0 + then + echo " " + echo " A parallel job using IntelMPI cannot be started. " + echo " The ssh command must be working correctly between " + echo " the computers used in the analysis. Furthermore, " + echo " it must be set up such that it does not prompt the " + echo " user for a password. " + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo " A parallel job using IntelMPI cannot be started. ">> $jid.log + echo " The ssh command must be working correctly between ">> $jid.log + echo " the computers used in the analysis. Furthermore, ">> $jid.log + echo " it must be set up such that it does not prompt the ">> $jid.log + echo " user for a password. ">> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi +fi +fi +# +# check correctness of host file; fix for user sub +# + if test $nprocd -gt 1 + then + +# construct the path name to the executable (execpath) + execpath=$MARC_BIN/$exefile + usersub=0 + if test $program = $prog.marc + then + execpath=$prog.marc + usersub=1 + fi + if test "$objs" + then + execpath="$DIRJOB/$jid.marc" + usersub=1 + fi + if test "$user" + then + execpath=$usernoext.marc + usersub=1 + fi + export execpath + execname=`$BASENAME $execpath` + + if test "$host" + then + userhost=$host + case $userhost in + \/* | \.\/*) + ;; + *) + userhost=`pwd`/$userhost + ;; + esac + +# check that the number of processes specified in the hostfile is +# equal to nprocd specified by -nprocd. + numproc=`grep -v '^#' $host | $AWK -v sum=0 '{sum=sum+$2}; END {print sum}'` + if test $nprocd -ne $numproc + then + echo " " + echo "error, the number of processes specified in the host file" + echo "must be equal to the number of processes given by -nprocd/-nsolver" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, the number of processes specified in the host file" >> $jid.log + echo "must be equal to the number of processes given by -nprocd/-nsolver" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + +# check for Myrinet that the number of processes per host is +# less than number of available user ports, 5 +# .gmpi directory must exist in user's home directory +# and must have write permission from remote hosts + if test $MPITYPE = "myrinet" + then + numproc=`grep -v '^#' $host | $AWK -v sum=1 '{if( $2 > 5) sum=6}; END {print sum}'` + if test $numproc -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes specified " + echo "in the hostfile must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes specified " >> $jid.log + echo "in the hostfile must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + if test ! -d ~/.gmpi + then + echo " " + echo "error, for Myrinet a .gmpi directory must exist " + echo "under the user's home directory" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a .gmpi directory must exist " >> $jid.log + echo "under the user's home directory" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + homedir=`echo ~` + for i in `grep -v '^#' $host | $AWK '{if (NF > 0) print $1}'` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + $RSH $i /bin/touch $homedir/.gmpi/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + echo " " + echo "error, for Myrinet a shared .gmpi directory must exist " + echo "under the user's home directory " + echo "with remote write permission" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a shared .gmpi directory must exist " >> $jid.log + echo "under the user's home directory " >> $jid.log + echo "with remote write permission" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + else + /bin/rm tmp.$$ + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + fi + fi + done + fi + fi + +# construct the host file $jid.host which is used by mpirun +# skip lines starting with # and only consider lines with more than +# one word in them. Note that the hostfile given to this script +# has two columns: the host name and the number of shared processes +# to run on this host. mpirun wants the number of _other_ +# processes to run in addition to the one being run on the machine +# on which the job is started. hence the $2-1 for fnr == 1. + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then +# HPMPI or HP hardware MPI + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ + -v mpihpspecial="$MPIHPSPECIAL" \ +'{if ( NF > 0) {\ + fnr++ ; \ + printf("-h %s -np %s",$1,$2); \ + printf(" %s",mpihpspecial); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF >= 3 ) printf(" -e MPI_WORKDIR=%s", $3);\ + if ( NF >= 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) \ + }\ + }' > $jid.host +# end HPMPI or HP hardware MPI + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then +# IBM using hardware MPI (POE) + MP_HOSTFILE=$jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.host +# end IBM using hardware MPI (POE) +# for Intel MPI, need to create a machinefile for DMP + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then +# Intel MPI + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + /bin/cp $host $jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Intel MPI for DMP +# for Solaris HPC 7.1, need to create a machinefile for DMP + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then +# Solaris HPC 7.1 + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Solaris HPC 7.1 for DMP +# for Myrinet, construct a configuration file in ~/.gmpi +# this must be readable by each process +# format is (hostname) (port number) for each process + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + grep -v '^#' $host | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ +{if ( NF > 0 ) \ + for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc]); \ +}' >> ~/.gmpi/$jid.host + else +# this is for mpich-1.2.5 and later, using the -pg option +# format: host nproc executable user arguments +# the arguments are added later + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub -v user=`whoami` \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s %s\n",path,user);\ + if ( NF == 3 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s %s\n",path,user) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s/bin/%s %s\n",$4,en,user) \ + }\ + }' > $jid.host + fi +# end Myrinet + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then +# Compaq MPI via Memory Channel + grep -v '^#' $host | $AWK '{if (NF > 0) print $1}' > $jid.host +# end Compaq MPI + else +# MPICH + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF == 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s/bin/%s\n",$4,en) \ + }\ + }' > $jid.host + fi +# define the variable host and host_filt +# host_filt is used for loops over hosts +# for Myrinet we need to use a filtered variant of userhost +# for others we can use $host + if test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + host=~/.gmpi/$jid.host + host_filt=$jid.host_tMp + grep -v '^#' $userhost | $AWK '{if (NF > 0) print $1}' > $host_filt + else + host=$jid.host + host_filt=$host + fi + else + host=$jid.host + host_filt=$host + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + host_filt=$jid.mfile + fi + fi +# figure out if the machines in the hostfile are nfs mounted +# or distributed and set the variable "dirstatus" accordingly. +# only perform the check if user subroutine is used +# or a user subroutine executable is used + + numfield=1 + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + numfield=2 + fi + DIR1=$DIRJOB + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + counter=0 + echo " " + echo "checking if local or shared directories for host" + if test "$deletelog" = no + then + echo "checking if local or shared directories for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + dirstatus[$counter]="shared" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + $RSH $i /bin/touch $DIR1/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + dirstatus[$counter]="local" + /bin/rm tmp.$$ + else + if test ! -f $jid.$$ + then + dirstatus[$counter]="local" + $RSH $i /bin/rm $DIR1/$jid.$$ + else + /bin/rm $jid.$$ + fi + fi + if test -f tmp.$$ + then + /bin/rm tmp.$$ + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + echo " ${dirstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${dirstatus[$counter]}" >> $jid.log + fi + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + fi + +# figure out if this is a compatible set of machines +# unless explicitly specified with flag -comp +# only perform the check if user subroutine is used +# or a user subroutine executable is used +# Myrinet does not support heterogeneous + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + if test $compatible = "unknown" + then + thisname=$ARCH + compatible=yes + counter=0 + echo "checking if machines are compatible for host" + if test "$deletelog" = no + then + echo "checking if machines are compatible for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]="yes" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + othername=`$RSH $i uname -a | cut -f 1 -d " "` + if test $thisname != $othername + then + compatible=no + compstatus[$counter]="no" + fi + fi + echo " ${compstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${compstatus[$counter]}" >> $jid.log + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + else + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]=$compatible + fi + done + if test $compatible = "no" + then + echo "all machines assumed incompatible" + if test "$deletelog" = no + then + echo "all machines assumed incompatible" >> $jid.log + fi + else + echo "all machines compatible" + if test "$deletelog" = no + then + echo "all machines compatible" >> $jid.log + fi + fi + fi +# error out if user objects or libraries are used on incompatible machines + if test "$compatible" = "no" -a -n "$objs" + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" + if test "$deletelog" = no + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" >> $jid.log + fi + exit 1 + fi +# modify new host file if NFS mounted heterogeneous machine + doit= + if test $program = $prog.marc + then + doit=yes + fi + if test "$user" + then + doit=yes + fi + if test "$doit" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + $AWK -v hst=$i '{fnr++ ; \ +if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ +printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} + /bin/mv $jid.host{$$} $jid.host + host=$jid.host + fi + fi + done + fi + fi # if test $program = $prog.marc -o $user -o $obj + + else # if test $host + # assume shared memory machine if no hostfile given and + # MPITYPE is set to mpich or Myrinet + # check for Myrinet that the total number of processes is + # less than number of available user ports, 5 + if test $MPITYPE = "mpich" -o $MPITYPE = "scali" + then + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + host=$jid.host + elif test $MPITYPE = "myrinet" + then + if test $nprocd -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes " + echo "must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes " >> $jid.log + echo "must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + echo `hostname` $nprocd | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ + {for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc])} \ +' >> ~/.gmpi/$jid.host + host=~/.gmpi/$jid.host + else + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + + fi + fi # if test myrinet + + fi # if test $host + + fi # if test $nprocd -gt 1 + +fi # if test $program = $exefile -o $program = $prog.marc + +############################################################################## +# construct run stream (Marc only) # +############################################################################## + +# set maximum message length for ddm to a large number +# for vendor provided mpi +if test $itree -eq 0 -a $MPITYPE = hardware +then + itree=100000000 + if test $MACHINENAME = SGI + then + itree=100000001 + fi +fi +if test $itree -eq 0 -a $MPITYPE = hpmpi +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = myrinet +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = nec +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = scali +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = intelmpi +then + itree=100000000 +fi +if test $nprocdddm -lt 2 +then + nprocdarg= +else + nprocdarg="$nprocdarg $nprocdddm" +fi +if test $nsolver -eq 0 +then + nsolverarg= +else + nsolverarg="$nsolverarg $nsolver" +fi +if test $nprocdddm -lt 2 -a $nsolver -eq 0 +then +nprocd=0 +fi +if test $nprocd -gt 0 +then + if test "$host" + then + if test -z "$RUN_JOB2" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $host -- -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then + RUN_JOB="$RUN_JOB2 $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB_TMP="$RUN_JOB2 $host $bd$program" + RUN_JOB=" -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $nprocd -hf $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + numhost=`uniq $jid.mfile | wc -l` + if test "$INTELMPI_VERSION" = "HYDRA" + then + RUN_JOB_TMP="$RUN_JOB2 -configfile $jid.cfile" + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n $numhost -r $RSH -f $jid.mfile + RUN_JOB_TMP="$RUN_JOB2 $jid.cfile" + fi + +# intelmpi uses configfile. format: +# -host host1 -n n1 executable marcargs +# one such line per host +# collect the marcargs in RUN_JOB and construct the config file later +# collect the run stream in RUN_JOB_TMP + RUN_JOB="-jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + + + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then + RUN_JOB="$RUN_JOB2 $jid.mfile -n $nprocd $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test "$userhost" + then + RUN_JOB="$RUN_JOB -mhost $userhost" + fi + if test $MPITYPE = "scali" + then +# set default working directory to /tmp to allow +# different directory names + SCAMPI_WORKING_DIRECTORY=/tmp + export SCAMPI_WORKING_DIRECTORY + fi + else + if test -z "$RUN_JOB1" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + RUNNPROCD=$nprocd + if test $MACHINENAME = "IBM" -a $MPITYPE = "hardware" + then + RUNNPROCD= + MP_PROCS=$nprocd + export MP_PROCS + fi + if test $MPITYPE = "myrinet" + then + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + echo " " > /dev/null + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n 1 -f $jid.hosts + fi + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + fi +else + if test $ndcoup -gt 0 + then + RUN_JOB="$RUN_JOB0 $BINDIR/exe_auto $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else +# this is for a serial job without auto restart: + RUN_JOB="$RUN_JOB0 $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi +fi +if test "$rid" +then + RUN_JOB="$RUN_JOB -rid $rid -dirrid $DIRRID" +fi +if test "$pid" +then + RUN_JOB="$RUN_JOB -pid $pid -dirpid $DIRPID" +fi +if test "$sid" +then + RUN_JOB="$RUN_JOB -sid $sid -dirsid $DIRSID" +fi +if test "$did" +then + RUN_JOB="$RUN_JOB -def $did -dirdid $DIRDID" +fi +if test "$vid" +then + RUN_JOB="$RUN_JOB -vf $vid -dirvid $DIRVID" +fi +if test $ndcoup -gt 0 +then + RUN_JOB="$RUN_JOB -dcoup $ndcoup " +fi +if test $ndytran -gt 0 +then + RUN_JOB="$RUN_JOB -dytran $ndytran " +fi +if test $mesh -gt 0 +then + RUN_JOB="$RUN_JOB -me $mesh " +fi +if test $noutcore -gt 0 +then + RUN_JOB="$RUN_JOB -outcore $noutcore " +fi +if test "$dllrun" -gt 0 +then + RUN_JOB="$RUN_JOB -dll $dllrun " +fi +if test "$trkrun" -gt 0 +then + RUN_JOB="$RUN_JOB -trk $trkrun " +fi +if test "$iam" +then + RUN_JOB="$RUN_JOB -iam $iam " +fi +if test "$justlist" +then + RUN_JOB="$RUN_JOB -list 1 " +fi +if test "$feature" +then + RUN_JOB="$RUN_JOB -feature $feature " +fi +if test "$memlimit" -ne 0 +then + RUN_JOB="$RUN_JOB -ml $memlimit " +fi +if test "$cpinput" +then + RUN_JOB="$RUN_JOB -ci $cpinput " +fi +if test "$cpresults" +then + RUN_JOB="$RUN_JOB -cr $cpresults " +fi +if test "$DIRSCR" != "$DIRJOB" +then + RUN_JOB="$RUN_JOB -dirscr $DIRSCR" +else + DIRSCR=$DIRJOB +fi +if test "$makebdf" +then + RUN_JOB="$RUN_JOB -bdf $makebdf " +fi +if test $MPITYPE = "myrinet" -a "$host" -a "$MPIVERSION" != "MPICH-GM1.2.1..7" +then + # append $RUN_JOB to all lines of the host file + # and set RUN_JOB + $AWK -v args="$RUN_JOB" '{print $0,args}' $host > $host.$$ + /bin/mv $host.$$ $host + RUN_JOB=$RUN_JOB_TMP +fi +if test $MPITYPE = "intelmpi" -a "$host" +then + # construct config file, append $RUN_JOB to all lines of the config file + # and set RUN_JOB + if test "$INTELMPI_VERSION" = "HYDRA" + then + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf(" -host %s",$1); \ + printf(" -n %s",$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + else + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf("-host %s -n %s",$1,$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + fi + RUN_JOB=$RUN_JOB_TMP +fi +echo " " +echo "Final run stream value" +echo " RUNJOB="$RUN_JOB +if test "$deletelog" = no +then +echo " " >> $jid.log +echo "Final run stream value" >> $jid.log +echo " RUNJOB="$RUN_JOB >> $jid.log +fi + + +# +# check for external file to run using valgrind +# +if test -f $MARC_TOOLS/run_marc_valgrind +then + . $MARC_TOOLS/run_marc_valgrind +fi + + +############################################################################## +# run the requested program in a queue # +############################################################################## + +if test "$deletelog" = yes +then + echo + date +else + echo >> $jid.log + date >> $jid.log +fi +if [ $qid = short -o $qid = long -o $qid = verylong -o $qid = at ] +then + +/bin/rm -f $jid.runmarcscript + + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + userobj=$usermoext.o + fi + cat > $jid.runmarcscript << END4 + if test "$user" + then + if test $MACHINENAME = "CRAY" + then + $DFORTRANMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTRANMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + $SOLVERLIBS \ + $MARCCUDALIBS \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } +END4 +else + prgsav=yes +fi +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null + +# +# run marc +# + +cat >> $jid.runmarcscript << END5 + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# first remove all .out files and incremental restart files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + /bin/rm $DIRJOB/$numdom${jid}_i_*.t08 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null + /bin/rm $DIRJOB/${jid}_i_*.t08 2>/dev/null +fi + +if test $nprocdddm -gt 1 +then + $RUN_JOB 2>>$jid.log +else + $RUN_JOB 2>>$jid.log +fi + +if test $dllrun -eq 0; then + if test $prgsav = no + then + /bin/rm -f $bd$program 2>/dev/null + fi +else + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes + then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +fi +END5 + + +# Submit to marc batch queue +# +if [ $qid = at ] +then +QUENAME=at +SUBMCMD= +else +# +# Submit to qsub queue +# +QUENAME=qsub +SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" +if test "$priority" +then + SUBMCMD=$SUBMCMD" -p $priority" +fi +if test "$att" +then + SUBMCMD=$SUBMCMD" -a $att" +fi +if test "$cpu" +then + SUBMCMD=$SUBMCMD" -lt $cpu" +fi + +fi +echo $QUENAME $SUBMCMD +#cat $jid.runmarcscript +$QUENAME $SUBMCMD < $jid.runmarcscript + +/bin/rm -f $jid.runmarcscript + +############################################################################## +# run the requested program in the background # +############################################################################## + +else +if test $qid = background +then + +# +# first remove all old .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi +# +# compile user subroutine if present +# +( +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_damask_mp $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user on host $i" + echo " $PRODUCT Exit number 3" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user on host `hostname`" + fi + userobj=$usernoext.o + if test $MACHINENAME = "CRAY" + then + $DFORTRANMP $user || \ + { + echo "$0: compile failed for $user" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTRANMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + echo " $PRODUCT Exit number 3" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null + +# +# run marc + +# + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + +$RUN_JOB & + +marcpid=$! +echo $marcpid > $DIRJOB/$jid.pid +wait $marcpid + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + fi + fi + fi +fi + + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi +fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi +) 1>>$jid.log 2>&1 & + + +############################################################################## +# run the requested program in the foreground # +############################################################################## + +else + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_damask_mp $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user on host $i" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user on host `hostname`" + fi + userobj=$usernoext.o + if test $MACHINENAME = "CRAY" + then + $DFORTRANMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTRANMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null +# done if no job id given +if test -z "$jid" +then + echo + echo only compilation requested + echo + exit +fi +# +# run marc +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi +# first remove all .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + $RUN_JOB + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + else + echo " " > /dev/null + fi + else + if test "$host" + then + mpdcleanup -a -f $jid.mfile + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.mfile 2> /dev/null + else + mpdcleanup -a -f $jid.hosts + /bin/rm $jid.hosts 2> /dev/null + fi + fi + fi +fi + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi +fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi + + +fi +fi diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/run_marc.original b/installation/mods_MarcMentat/2019.1/Marc_tools/run_marc.original new file mode 100644 index 000000000..c0bf00643 --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/run_marc.original @@ -0,0 +1,4186 @@ +#!/bin/ksh +############################################################################## +# # +# run_marc - run a marc job # +# ------------------------- # +# # +# usage: run_marc -j jid { options } # +# # +# where standard options are: required: defaults: # +# -------------------------- # +# # +# -j* jid job id number. ** YES ** . # +# -pr* prog program name. . marc # +# -v* y|n do or do not verify inputs. . yes # +# -q* s|l|v|b|f batch queue name or background, . short # +# foreground. # +# -b* as alternative to option -q* # +# # +# ( batch queues only : # +# -pq* intra queue priority. . . # +# -at DATE/TIME delay start of job. . . # +# format : January,1,1990,12:31 # +# or : today,5pm # +# -cpu* secs job CPU limit . . ) # +# # +# -r* rid restart file job id. . . # +# -si* sid substructure file id. . . # +# -pi* post post file job id. . . # +# -de* did defaults file . no # +# -vf vid viewfactor . no # +# # +# -u* user user subroutine. . . # +# -obj obj user objects or libraries. . . # +# -sa* y|n do or do not save load module. . no # +# -me manual remeshing control . no # +# -ml memory limit in Mbyte # +# -mo This option is deprecated. As of Marc 2015, only # +# the integer*8 version is available. # +# -mpi selects MPI version # +# each platform has a default MPI version and some # +# have an alternative version. see the include file # +# for the respective platform # +# MPI_DEFAULT defines the default MPI version # +# MPI_OTHER defines versions one can switch to # +# -dcoup for contact decoupling # +# currently not supported # +# -dir directory where the job i/o should take place. # +# defaults to current directory. # +# -sdir directory where scratch files are created # +# defaults to current directory. # +# # +# -alloc only perform memory allocation test, no analysis # +# -list y only list options in the input file, no analysis # +# -fe num set feature number "num" for the run. only one allowed # +# -dytran flag to switch from Dytran to Marc # +# dytran = 0, program will run w/o Marc-Dytran Switch # +# = 1, program will restart Marc after Dytran run # +# >= 2, Not supported yet. # +# currently not supported # +# -ou force analysis to use out-of-core control # +# =0, not used # +# =1, element storage out-of-core # +# -dll run marc using shared library libmarc.so and exe_marc # +# =1, used # +# =2, do not free streaming input memory # +# =3, run with marc input deck # +# -trk run marc for post-tracking # +# -gpuid run marc using GPGPU capability # +# specify gpuid on to be used in the analysis. Multiple # +# IDs may be assigned for DDM runs. # +# Separate a list of IDs with a colon. Each DMP # +# process will be assigned a GPU ID in round robin fastion# +# = 0 # +# = 0:1 etc... # +# # +# where parallel options are: # +# -------------------------- # +# # +# itree, host, and comp options are available for the domain # +# decomposition only. # +# MARC_NUMBER_OF_THREADS, nthread, and dir options always available. # +# # +# # +# -nprocd number of domains. # +# defaults to single domain solution. # +# -nprocds number of domains if single input file. # +# defaults to single domain solution. # +# -nps same as -nprocds. # +# -nsolver number of solver tasks for solver types 12 and 13 # +# these are distributed tasks operating via MPI # +# -nthread_elem number of threads for element assembly and recovery # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by element assembly # +# recovery. # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_elem option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_elem specified. # +# -nthread_solver number of threads for solver types 6, 8, and 11 # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by 6, 8, and 11 # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_solver option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_solver specified. # +# -nthread Same as -nthread_solver. # +# -itree message passing tree type for domain decomposition. # +# for debugging purposes; should not normally be used. # +# -host hostfile name for distributed execution on network. # +# defaults to no hostfile, unless jobid.defhost exists. # +# if jobid.defhost exists, only -np(s) necessary # +# -comp* y|n to be used with user routines on a network of # +# incompatible machines. # +# if set to no, a separate executable will be created # +# for each machine on the network. # +# if set to yes, the executable located on the machine # +# from which marc is started will be used on all machines.# +# defaults to no if O/S versions different on machines. # +# # +# -ci y|n copy input files to remote hosts (default: yes) # +# if "yes", input files are automatically copied to # +# remote hosts for a network run if necessary. # +# -cr y|n copy post files from remote hosts (default: yes) # +# if "yes", post files are automatically copied back from # +# remote hosts for a network run if necessary. # +############################################################################## +# set DIR to the directory in which this script is +REALCOM="`/bin/ls -l $0 |awk '{ print $NF; }'`" +DIR=`dirname $REALCOM` +# make sure DIR has an absolute path +case $DIR in + \/*) + ;; + *) + DIR=`pwd`/$DIR + ;; +esac +DIRSCRIPT=$DIR +AWK=awk +ARCH=`uname -a | cut -f 1 -d " "` +# Sun has a bad awk, use nawk instead +if test $ARCH = "SunOS" +then + AWK=nawk +fi +BASENAME=basename +# Sun has an incorrect /bin/basename, check if /usr/ucb/basename exists +if test $ARCH = "SunOS" +then + if test -x /usr/ucb/basename + then + BASENAME=/usr/ucb/basename + fi +fi + +# echo command line in the case of ECHO_COMMAND is true +if test "$ECHO_COMMAND" = true ; then + echo command "$0" "$@" +fi + +# +# "mode" selects version, i4 or i8 +# default is i4 +# this can be changed by a file run_marc_defaults +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MODE i8 +# it can also be set by the environmental variable MARC_INTEGER_SIZE +# and by the command line option "-mo" +# +mode= +modeerror= +modeoption= +if test -f $DIRSCRIPT/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $DIRSCRIPT/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -f $HOME/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $HOME/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $HOME/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -n "$MARC_INTEGER_SIZE" ; then + mode=$MARC_INTEGER_SIZE +fi +if test -z "$mode" ; then + mode=i8 +fi +case $mode in + i4) + modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + modeoption=error + echo $modeerror + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo "bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + exit + ;; +esac + +setmode=false +for arg in $* ; do + if $setmode ; then + mode=$arg + case $mode in + i4) + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo " " + echo "error, version mode must be i8" + echo " " + echo " use -mo i8 " + echo " " + exit + ;; + esac + setmode=false + fi + if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then + echo + echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available + echo + setmode=true + fi + if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + fi + if [ ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + fi +done + +# set to i4 version for 32 bit Linux +if test "`uname -s`" = "Linux"; then + if test "`uname -m`" = "i686"; then + mode=i4 + MARC_INTEGER_SIZE=i4 + export MARC_INTEGER_SIZE + fi +fi + + +. "$DIR/getarch" + +. $MARC_INCLUDE +# + +# +# Dynamically determine the echo syntax +# + +case "`echo '\c'`" in + '\c') + ECHO='echo -n' + ECHOTXT=' ' + ;; + *) + ECHO='echo' + ECHOTXT=' \c' + ;; +esac + +# +# Variables for the MARC environment +# + +PRODUCT="Marc" +EXITMSG=$MARC_TOOLS/MESSAGES +export EXITMSG +FLEXDIR=$DIR/../flexlm/licenses +export FLEXDIR +TIMCHK=3600 +export TIMCHK +BINDIR=$MARC_BIN +export BINDIR +AFMATDAT=$MARC_RUNTIME/AF_flowmat/ +export AFMATDAT +export MESHERDIR +MSC_LICENSE_FINPROC=0 +export MSC_LICENSE_FINPROC +# +# define directory path to global unified material database +# +MATFILE= +export MATFILE + +# +# define memory limit +# first set to MEMLIMIT from include +# -ml option overrules if specified +memlimit=$MEMLIMIT +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +# +if test $MACHINENAME = "HP" +then + SHLIB_PATH=$MARC_LIB:$MARC_LIB_SHARED:$SHLIB_PATH + export SHLIB_PATH +fi +# the one for IBM is defined futher down + +LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH:$SFMATDIR +if test -f "/etc/redhat-release"; then + ver=`cat /etc/redhat-release | sed 's/.* release \([0-9]\).\([0-9]\+\) .*/\1\2/'` + case "$ver" in + 6*) LD_LIBRARY_PATH="${MARC_LIB_SHARED}rh67:$LD_LIBRARY_PATH" ;; + esac +fi +LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$LD_LIBRARY_PATH +LD_LIBRARY64_PATH=$MARC_LIB:$LD_LIBRARY64_PATH +LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH +export LD_LIBRARY_PATH +export LD_LIBRARY64_PATH +export LD_LIBRARYN32_PATH + +atexit() { +kill -15 $$ +# +if test $MPITYPE = "myrinet" +then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi +fi +} + +trap "atexit" 2 + +# +# defaults +# + +prog=marc +exefile=marc +jid= +rid= +pid= +sid= +did= +vid= +user= +usersubname= +objs= +qid=background +cpu= +priority= +att= +trk= +verify=yes +prgsav=no +rmdll=no +cpdll=no +progdll= +pathdll= +error= +nprocd=0 +nprocdddm=1 +nprocdddmprint= +icreated=0 +nprocdarg= +nsolver=0 +nsolverarg=-ns +if test $nprocds +then + if test $nprocds -gt 1 + then + nprocdddm=$nprocds + nprocdddmprint=$nprocds + icreated=1 + nprocdarg=-nprocds + fi +fi +ntprint=0 +nt=-1 +nte=-1 +nts=-1 +ntarg=-nt +ntearg=-nte +ntsarg=-nts +nteprint= +ntsprint= +gpuids= +nauto= +ndcoup=0 +ndytran=0 +noutcore=0 +dllrun=0 +mesh=0 +itree=0 +iam= +ddm_arc=0 +link= +trkrun=0 +DIRJOB=`pwd` +DIRSCR=$DIRJOB +DIRSCRSET= +autoforge=0 +dotdat=.dat +dotdefhost=.defhost +host= +numhost= +mfile= +userhost= +makebdf= +cpinput=yes +cpresults=yes +marcdll=libmarc.$EXT_DLL +# define hostname and strip off extensions (alpha.aaa.com) +thishost=`hostname` +thishost=${thishost%%.*} +compatible=unknown +numfield=1 +justlist= +feature= +mpioption=false +iprintsimufact= +SRCLIB=$MARC_LIB/srclib.a +MDSRCLIB=$MARC_LIB/mdsrc.a +# +# check run_marc_defaults file for default MPI setting +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MPI +# +value= +file= +if test -f $DIRSCRIPT/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $DIRSCRIPT/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$DIRSCRIPT/run_marc_defaults + fi +fi +if test -f $HOME/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $HOME/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$HOME/run_marc_defaults + fi +fi +if test -n "$value"; then + MARC_MPITYPE=$value + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + echo " " + echo " error, incorrect option for MARC_MPI" + echo " defined in $file: $MARC_MPITYPE" + echo " valid options: $MPI_DEFAULT $MPI_OTHER" + echo " " + exit + fi + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + fi +fi +# +# +# allow scratch directory to be specified with environmental variable +# MARCSCRATCH +if test $MARCSCRATCH +then + if test -d $MARCSCRATCH + then + DIRSCR=$MARCSCRATCH + else + echo "error, scratch directory '$MARCSCRATCH'" + echo " specified via environmental variable MARCSCRATCH does not exist" + exit + fi +fi +# +############################################################################## +# parse input - arguments always come in pairs # +############################################################################## + +arg=$1 +if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + shift + arg=$1 +fi +while [ -n "$arg" ] +do + shift + value=$1 + case $arg in + -al* | -AL*) + LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + $MARC_BIN/marc -alloc 1 + exit + ;; + -li* | -LI*) + justlist=yes + ;; + -fe* | -FE*) + feature=$value + + ;; + -pr* | -PR*) + if test `dirname $value` = '.' + then + prog=`$BASENAME $value .marc` + progdll=`$BASENAME $value` + else + prog=`dirname $value`/`$BASENAME $value .marc` + progdll=`dirname $value`/`$BASENAME $value` + fi + prdir=`dirname $value` + case $prdir in + \/*) + ;; + *) + prog=`pwd`/$prdir/$prog + ;; + esac + ;; + -j* | -J*) + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + ;; + -r* | -R*) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + -si* | -SI*) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + -pi* | -PI*) + if test -f $value.t19 + then + pid=`$BASENAME $value .t19` + else + pid=`$BASENAME $value .t16` + fi + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + -bdf | -BDF) + makebdf=1 + ;; + -de* | -DE*) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + -vf | -VF) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + -u* | -U*) + user=`dirname $value`/`$BASENAME $value .f` + usersubname=$user + basefile=`$BASENAME $value` + if test ${basefile##*.} = f + then + user=`dirname $value`/`$BASENAME $value .f` + usersubname=$user.f + elif test ${basefile##*.} = F + then + user=`dirname $value`/`$BASENAME $value .F` + usersubname=$user.F + elif test ${basefile##*.} = f90 + then + user=`dirname $value`/`$BASENAME $value .f90` + usersubname=$user.f90 + elif test ${basefile##*.} = F90 + then + user=`dirname $value`/`$BASENAME $value .F90` + usersubname=$user.F90 + fi + case $user in + \/*) + ;; + *) + user=`pwd`/$user + usersubname=`pwd`/$usersubname + ;; + esac + if test ! -f $usersubname + then + if test -f $usersubname.f + then + usersubname=$usersubname.f + elif test -f $usersubname.F + then + usersubname=$usersubname.F + elif test -f $usersubname.f90 + then + usersubname=$usersubname.f90 + elif test -f $usersubname.F90 + then + usersubname=$usersubname.F90 + fi + fi + ;; + -obj | -OBJ) + objs="$value" + ;; + -q* | -Q*) + qid=$value + ;; + -b* | -B*) + case $value in + y* | Y*) + qid=background + ;; + n* | N*) + qid=foreground + ;; + *) + ;; + esac + ;; + -at | -AT) + att=$value + ;; + -cpu* | -CPU*) + cpu=$value + ;; + -pq | -PQ*) + priority=$value + ;; + -v* | -V*) + verify=$value + ;; + -sa* | -SA*) + prgsav=$value + ;; + -np* | -NP*) + nprocdddm=$value + nprocdddmprint=$value + case $arg in + -nps* | -NPS* | -nprocds* | -NPROCDS*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + case $arg in + -np | -NP | -nprocd | -NPROCD) + icreated=0 + nprocdarg=-nprocd + ;; + esac + ;; + -ns* | -NS*) + nsolver=$value + ;; + -nt* | -NT*) + case $arg in + -nte | -NTE | -nthread_e* | -NTHREAD_E*) + nte=$value + ;; + esac + case $arg in + -nts | -NTS | -nthread_s* | -NTHREAD_S*) + nts=$value + ;; + esac + case $arg in + -nt | -NT | -nth* | -NTH* | -nthread* | -NTHREAD*) + nt=$value + ;; + esac + ;; + -gp* | -GP*) + gpuids=$value + ;; + -it* | -IT*) + itree=$value + ;; + -iam | -IAM) + iam=$value + case $value in + sfg | sfm | sim) + iprintsimufact=true + ;; + esac + ;; + -au* | -AU*) + nauto=$value + echo + echo warning: the option -au is no longer supported and will be ignored + echo + ;; + -dc* | -DC*) + ndcoup=$value + ;; + -dy* | -DY*) + ndytran=$value + ;; + -ou* | -OU*) + noutcore=$value + ;; + -dll | -DLL) + dllrun=$value + ;; + -trk | -TRK) + trkrun=$value + ;; + -ddm | -DDM) + ddm_arc=$value + ;; + -me | -ME ) + mesh=$value + ;; + -ml | -ML ) + memlimit=$value + ;; + -mo | -MO ) + ;; + -mpi | -MPI ) + mpioption=true + MARC_MPITYPE=$value + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + else + exefile=marc + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a" + fi + fi + ;; + -dir* | -DIR*) + DIRJOB=$value + case $DIRJOB in + \/*) + ;; + *) + DIRJOB=`pwd`/$DIRJOB + ;; + esac + if test -z "$DIRSCRSET" + then + DIRSCR=$DIRJOB + fi + ;; + -sd* | -SD*) + DIRSCR=$value + DIRSCRSET=yes + case $DIRSCR in + \/*) + ;; + *) + DIRSCR=`pwd`/$DIRSCR + ;; + esac + ;; + -ho* | -HO*) + host=$value + ;; + -co* | -CO*) + compatible=$value + ;; + -ci* | -CI*) + cpinput=$value + ;; + -cr* | -CR*) + cpresults=$value + ;; + *) + error="$error +$arg: invalid option" + break + ;; + esac + case $value in + -*) + error="$error +$arg: invalid name $value" + break + ;; + esac + shift + arg=$1 + if [ ${arg}X = -i8X -o ${arg}X = -I8X -o ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + shift + arg=$1 + fi +done +argc=`expr $# % 2` +if test $argc -eq 1 +then +# +# odd number of arguments +# + error="$error +argument list incomplete" +fi + +if test $nprocdddm -gt 0 +then +nprocd=$nprocdddm +fi + +if test $nsolver -gt 0 +then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi +fi +# Set defaults +if test $nt -eq -1 +then +nt=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nt -lt 0 +then +nt=0 +fi +if test $nte -eq -1 +then +nte=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nte -lt 0 +then +nte=0 +fi +if test $nts -eq -1 +then +nts=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nts -lt 0 +then +nts=0 +fi +# +# set number of element loop threads +# +ntprint=$nt +nteprint=$nte +# copy from -nprocd[s] +if test $nprocdddm -gt 1 +then + nteprint=$nprocdddm +fi +# override with -nthread_elem option +if test $nte -ne 0 +then +nteprint=$nte +fi +# check for minimum 1 threads per processes for DDM +if test $nprocdddm -gt 1 +then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi +fi +nte=$nteprint +# +# set number of Solver threads +# +ntsprint=$nts +# copy from -nthread or -nprocd[s] +if test $ntprint -ne 0 +then + ntsprint=$ntprint +else + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +fi +# override with -nthread_solver option +if test $nts -ne 0 +then + ntsprint=$nts +fi +# check for minimum 1 threads per solver process. +if test $nsolver -lt $nprocdddm +then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi +else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi +fi +if test $ntsprint -eq 1 +then + set ntsprint=0 +fi +nts=$ntsprint + +# set stack size for multi-threading. +export KMP_MONITOR_STACKSIZE=7M +export OMP_STACKSIZE=7M + +# +# deprecate -nthread option at arugment of marc +nt=0 +# Reset nprocdddmm, nsolver and threads if not given. +if test $nprocdddm -eq 0 +then + nprocdarg= +fi +if test $nprocdddm -eq 0 +then + nprocdddmprint= +fi +if test $nprocdddm -eq 0 +then + nprocdddm= +fi + +nsolverprint=$nsolver +if test $nsolver -eq 0 +then + nsolverprint= +fi +# end of threads setting. +gpuoption= +if test "$gpuids" = "" ; then + gpuoption= +else + gpuoption="-gp $gpuids" +fi + +if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH +else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH +fi +# Linux 64 + HPMPI, Below code is taken from include_linux64 +if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" +then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" +fi +if test "$iam" = sim ; then + SFLIB="-L$SFMATDIR -lMBA_Grain" +fi + +if test $nprocd -gt 1; then + if test -f $jid$dotdefhost; then + if test "$host" = ""; then + host=$jid$dotdefhost + fi + fi + if test -f hostfile_qa_$nprocd; then + if test "$host" = ""; then + host=hostfile_qa_$nprocd + fi + fi +fi + +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$dllrun" -eq 1 || test "$dllrun" -eq 2; then + dotdat=.inp + fi + + if test "$progdll"; then + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + rmdll=yes + pathdll=yes + progdll=${progdll}_$marcdll + else + progdll=$marcdll + fi + + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + pathdll=yes + fi +fi + +############################################################################## +# check parameter validity # +############################################################################## + +while test forever; do + +# +# check for input file existence +# +if test $nprocdddm -gt 1 -a $icreated -eq 0; then + if test ! -f $DIRJID/1$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/1$jid$dotdat not accessible" + fi + fi +else + if test ! -f $DIRJID/$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/$jid$dotdat not accessible" + fi + fi +fi + if test $nprocd -gt 1; then + if test "$host" ; then + if test ! -f $host; then + error="$error +host name file $host not accessible" + fi + fi + fi + +# +# check if the job is already running in the background +# +if test -f $DIRJOB/$jid.pid; then + error="$error +job is already running (the file $jid.pid exists)" +fi + +# +# if the program name is other than marc, then +# assume that this is a program in the users local directory +# + +bd=$MARC_BIN/ + +case $prog in + marc | MARC | $exefile) + program=$exefile + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 or $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$usersubname" + then + if test ! -f $usersubname + then + error="$error +user subroutine file $usersubname not accessible" + fi + fi + if test "$objs" + then + missingobjs= + for o in $objs + do + if test ! -f "$o" + then + if test -z "$missingobjs" + then + missingobjs="$o" + else + missingobjs="$missingobjs $o" + fi + fi + done + if test -n "$missingobjs" + then + error="$error +user object/library file(s) $missingobjs not accessible" + fi + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$vid" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRVID/1$vid.vfs + then + error="$error +view factor file $DIRVID/1$vid.vfs not accessible" + fi + else + if test ! -f $DIRVID/$vid.vfs + then + error="$error +view factor file $DIRVID/$vid.vfs not accessible" + fi + fi + fi + if $mpioption + then + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" + fi + fi + ;; + *) + program=$prog.marc + case $prog in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 and $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + error="$error +program option may not be used with user subroutine" + fi + if test "$objs" + then + error="$error +program option may not be used with user objects or libraries" + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$ndcoup" + then + if test $ndcoup -gt 3 + then + error="$error +incorrect option for contact decoupling " + fi + fi + if test "$ndytran" + then + if test $ndytran -gt 1 + then + error="$error +incorrect option for Marc-Dytran Switch " + fi + fi + if $mpioption + then + if test ! -x $MARC_BIN/$exefile + then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE " + fi + fi + ;; +esac + +############################################################################## +# check argument integrity # +############################################################################## + +if test "$jid" +then + : +else + if test "$user" + then +# allow user sub without giving job id + qid=foreground + verify=no + else + error="$error +job id required" + fi +fi + +case $qid in + S* | s*) + qid=short + ;; + L* | l*) + qid=long + ;; + V* | v*) + qid=verylong + ;; + B* | b*) + qid=background + ;; + F* | f*) + qid=foreground + ;; + A* | a*) + qid=at + ;; + *) + error="$error +bad value for queue_id option" + ;; +esac + +case $prgsav in + N* | n*) + prgsav=no + ;; + Y* | y*) + prgsav=yes + ;; + *) + error="$error +bad value for save option" + ;; +esac + +case $verify in + N* | n*) + verify=no + ;; + Y* | y*) + verify=yes + ;; + *) + error="$error +bad value for verify option" + ;; +esac + +case $nprocdddm in + -* ) + error="$error +bad value for nprocd option" + ;; +esac + +case $nt in + -* ) + error="$error +bad value for nt option" + ;; +esac + +case $itree in + -* ) + error="$error +bad value for itree option" + ;; +esac +case $iam in + -* ) + error="$error +bad value for iam option" + ;; +esac +case $compatible in + N* | n*) + compatible=no + ;; + Y* | y*) + compatible=yes + ;; + unknown) + ;; + *) + error="$error +bad value for comp option" + ;; +esac +case $cpinput in + N* | n*) + cpinput=no + ;; + Y* | y*) + cpinput=yes + ;; + *) + error="$error +bad value for copy input option" + ;; +esac +case $cpresults in + N* | n*) + cpresults=no + ;; + Y* | y*) + cpresults=yes + ;; + *) + error="$error +bad value for copy results option" + ;; +esac + +# +# check for external file to run +# +if test -f $MARC_TOOLS/run_marc_check +then + . $MARC_TOOLS/run_marc_check +fi + +############################################################################## +# interact with the user to get the required information to run marc or # +# other marc system program # +############################################################################## + +deletelog=yes +if test $qid = background -a $verify = no +then +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $usersubname +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint +GPGPU option : $gpuids +Host file name : $host" > $jid.log +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" >> $jid.log +fi +echo \ +"Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" >> $jid.log +deletelog=no +fi +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $usersubname +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint" +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" +fi +echo \ +"GPGPU option : $gpuids +Host file name : $host +Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" + + +case $qid in + s* | S* | l* | L* | v* | V* ) + echo \ +"Queue priority : $priority +Queue CPU limit : $cpu +Queue start time : $att" + ;; +# * ) +# echo \ +#" " +# ;; +esac + +if test "$modeoption" +then + error=$modeerror +fi + +if test "$error" +then + if test $verify = yes + then + $ECHO "$error + +Please correct or quit(correct,quit,): $ECHOTXT" + error= + read answer + case $answer in + q* | Q*) + answer=quit + ;; + *) + answer=correct + ;; + esac + else + $ECHO "$error + $ECHOTXT" + echo " " + if test "$deletelog" = no + then + $ECHO "$error + $ECHOTXT" >> $jid.log + echo " " >> $jid.log + fi + answer=quit + fi +else + if test $verify = yes + then + $ECHO " +Are these parameters correct (yes,no,quit,)? $ECHOTXT" + read answer + case $answer in + q* | Q*) + answer=quit + ;; + y* | Y*) + answer=yes + ;; + *) + answer=no + ;; + esac + else + answer=yes + fi +fi + +case $answer in + no | correct) + +############################################################################## +# prompt for each value # +############################################################################## + + $ECHO " +Program name ($prog)? $ECHOTXT" + read value + if test "$value" + then + prog=$value + fi + $ECHO "Job ID ($jid)? $ECHOTXT" + read value + if test "$value" + then + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + fi + $ECHO "User subroutine name ($usersubname)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + user= + ;; + *) + user=`dirname $value`/`$BASENAME $value .f` + usersubname=$user + basefile=`$BASENAME $value` + if test ${basefile##*.} = f + then + user=`dirname $value`/`$BASENAME $value .f` + usersubname=$user.f + elif test ${basefile##*.} = F + then + user=`dirname $value`/`$BASENAME $value .F` + usersubname=$user.F + elif test ${basefile##*.} = f90 + then + user=`dirname $value`/`$BASENAME $value .f90` + usersubname=$user.f90 + elif test ${basefile##*.} = F90 + then + user=`dirname $value`/`$BASENAME $value .F90` + usersubname=$user.F90 + fi + case $user in + \/*) + ;; + *) + user=`pwd`/$user + usersubname=`pwd`/$usersubname + ;; + esac + if test ! -f $usersubname + then + if test -f $usersubname.f + then + usersubname=$usersubname.f + elif test -f $usersubname.F + then + usersubname=$usersubname.F + elif test -f $usersubname.f90 + then + usersubname=$usersubname.f90 + elif test -f $usersubname.F90 + then + usersubname=$usersubname.F90 + fi + fi + ;; + esac + fi + $ECHO "User objects or libraries ($objs)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + objs= + ;; + *) + objs="$value" + ;; + esac + fi + $ECHO "Restart File Job ID ($rid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + rid= + ;; + *) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + esac + fi + $ECHO "Substructure File ID ($sid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + sid= + ;; + *) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + esac + fi + $ECHO "Post File Job ID ($pid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + pid= + ;; + *) + pid=$value + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + esac + fi + $ECHO "Defaults File ID ($did)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + did= + ;; + *) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + esac + fi + $ECHO "View Factor File ID ($vid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + vid= + ;; + *) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + esac + fi + $ECHO "Save generated module ($prgsav)? $ECHOTXT" + read value + if test "$value" + then + prgsav=$value + fi + $ECHO "Run on tasks ($nprocdddm) tasks? $ECHOTXT" + read value + if test "$value" + then + nprocdddm=$value + nprocdddmprint=$value + fi + $ECHO "Run on ($nte) Element loop threads ? $ECHOTXT" + read value + if test "$value" + then + nte=$value + fi + $ECHO "Run on ($nsolver) solvers ? $ECHOTXT" + read value + if test "$value" + then + nsolver=$value + fi + $ECHO "Run on ($nts) Solver threads ? $ECHOTXT" + read value + if test "$value" + then + nts=$value + fi +# + if test $nprocdddm -gt 0 + then + nprocd=$nprocdddm + fi + if test $nsolver -gt 0 + then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi + fi +# Element loop threads. + if test $nte -eq -1 + then + nte=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nte -lt 0 + then + nte=0 + fi + nteprint=$nte +# Copy from ddm + if test $nprocdddm -gt 1 + then + nteprint=$nprocdddm + fi +# override with -nthread_elem option + if test $nte -ne 0 + then + nteprint=$nte + fi +# check for minimum 1 threads per processes for DDM + if test $nprocdddm -ne 0 + then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi + fi + nte=$nteprint +# Solver threads. + if test $nts -eq -1 + then + nts=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nts -lt 0 + then + nts=0 + fi + ntsprint=$nts +# Copy from ddm + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +# override with -nthread_solver option + if test $nts -ne 0 + then + ntsprint=$nts + fi +# check for minimum 1 threads per solver process. + if test $nsolver -lt $nprocdddm + then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi + else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi + fi + if test $ntsprint -eq 1 + then + set ntsprint=0 + fi + nts=$ntsprint +# Update print variable for -nsolver option + nsolverprint=$nsolver + if test $nsolver -eq 0 + then + nsolverprint= + fi + $ECHO "GPGPU id option ($gpuids)? $ECHOTXT" + read value + if test "$value" + then + gpuids=$value + fi + if test "$gpuids" = "" ; then + gpuoption= + else + gpuoption="-gp $gpuids" + fi + if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH + fi + if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" + then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" + fi +# + if test $nprocd -gt 1 + then + $ECHO "Message passing type ($itree)? $ECHOTXT" + read value + if test "$value" + then + itree=$value + fi + $ECHO "Host file name ($host)? $ECHOTXT" + read value + if test "$value" + then + host=$value + fi + if test $nprocdddm -gt 1 + then + $ECHO "Single input file? $ECHOTXT" + read value + case $value in + y* | Y*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + $ECHO "Compatible machines for DDM ($compatible)? $ECHOTXT" + read value + if test "$value" + then + compatible=$value + fi + $ECHO "Copy input files to remote hosts ($cpinput)? $ECHOTXT" + read value + if test "$value" + then + cpinput=$value + fi + $ECHO "Copy post files from remote hosts ($cpresults)? $ECHOTXT" + read value + if test "$value" + then + cpresults=$value + fi + fi + fi + $ECHO "Run the job in the queue ($qid)? $ECHOTXT" + read value + if test "$value" + then + qid=$value + fi + case $qid in + s* | S* | l* | L* | v* | V* ) + $ECHO "Queue priority ($priority)? $ECHOTXT" + read value + if test "$value" + then + priority=$value + fi + $ECHO "Job starts at ($att)? $ECHOTXT" + read value + if test "$value" + then + att=$value + fi + $ECHO "Queue CPU limit ($cpu)? $ECHOTXT" + read value + if test "$value" + then + cpu=$value + fi + ;; + * ) + ;; + esac + $ECHO "Run directory ($DIRJOB)? $ECHOTXT" + read value + if test "$value" + then + DIRJOB=$value + DIRSCR=$DIRJOB + fi + $ECHO "Scratch directory ($DIRSCR)? $ECHOTXT" + read value + if test "$value" + then + DIRSCR=$value + fi + ;; + quit) + exit 1 + ;; + *) + break + ;; + +esac + + if test $nt -eq -1 + then + nt=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nt -lt 0 + then + nt=0 + fi + +done +# +if test $nt -eq 0 +then + ntarg= +fi +if test $nt -eq 0 +then + ntprint= +fi +if test $nt -eq 0 +then + nt= +fi + +if test $nte -eq 0 +then + ntearg= +fi +if test $nte -eq 0 +then + nteprint= +fi +if test $nte -eq 0 +then + nte= +fi + +if test $nts -eq 0 +then + ntsarg= +fi +if test $nts -eq 0 +then + ntsprint= +fi +if test $nts -eq 0 +then + nts= +fi +# +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + pathdll=yes + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + fi + + if test "$pathdll"; then +# +# reset share lib path +# + if test $MACHINENAME = "HP" + then + SHLIB_PATH=$DIRJOB:$SHLIB_PATH + export SHLIB_PATH + fi + if test $MACHINENAME = "IBM" + then + LIBPATH=$DIRJOB:$LIBPATH + export LIBPATH + fi +# + LD_LIBRARY_PATH=$DIRJOB:$LD_LIBRARY_PATH + LD_LIBRARY64_PATH=$DIRJOB:$LD_LIBRARY64_PATH + LD_LIBRARYN32_PATH=$DIRJOB:$LD_LIBRARYN32_PATH + export LD_LIBRARY_PATH + export LD_LIBRARY64_PATH + export LD_LIBRARYN32_PATH + fi +fi +# end of dllrun>0 + + +if test $program = $exefile -o $program = $prog.marc +then + +# delete the old .log file unless we run in the background +if test "$deletelog" = yes +then + if test "$jid" + then + /bin/rm $jid.log 2>/dev/null + fi +else + echo + echo running the job in the background, see $jid.log + echo +fi + +# +# check if this is an autoforge or rezoning or radiation job +# +if test $nprocd -eq 1 -a "$jid" + +then + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^autoforge"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^rezoning"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^radiation"` + if test "$line" + then + autoforge=1 + fi +fi +# +# check that jobname for restarted run is not the same +# as restart file basename +# +if test "$rid" +then + if test "$jid" = "$rid" + then + echo " " + echo "ERROR: job name of current run is the same as job name" + echo " of the restarted job" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "ERROR: job name of current run is the same as job name" >> $jid.log + echo " of the restarted job" >> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi +fi + +# +# user objects/libraries used +# + + if test "$objs" + then + program="$DIRJOB/$jid.marc" + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# user subroutine used +# + + if test "$user" + then +# program=$user.marc + program=$DIRJOB/`$BASENAME $user .f`.marc + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# Special case for IBM using POE but not an SP machine +# in this case we always need a host file, also for serial jobs. +# +if test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP +then + MP_HOSTFILE=${jid}.host + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $nprocd -gt 1 + then + numdom=$nprocd + while test $numdom -gt 0 + do + hostname -s >> $MP_HOSTFILE + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + else + hostname -s > $MP_HOSTFILE + fi +fi +# +# check ssh for all hosts in host file +# +if test $nprocd -gt 1 +then +if test $MPITYPE = "intelmpi" -a "$INTELMPI_VERSION" = "HYDRA" + then +# get host list + if test "$host" + then + line=`grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' | uniq` +# count failing hosts + counter=0 + for i in $line + do + $RSH -o BatchMode=yes -o ConnectTimeout=10 $i uname -n + status=$? + if [[ $status != 0 ]] ; then + counter=$((counter+1)) + if [ "$counter" = "1" ]; then + echo " " + echo " error - connection test failed... " + echo " " + fi + echo " " + echo " connection test with ssh failed on host $i" + echo " check the following command: ssh $i uname -n " + echo " " + fi + done +# echo error message and quit + if test $counter -ne 0 + then + echo " " + echo " A parallel job using IntelMPI cannot be started. " + echo " The ssh command must be working correctly between " + echo " the computers used in the analysis. Furthermore, " + echo " it must be set up such that it does not prompt the " + echo " user for a password. " + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo " A parallel job using IntelMPI cannot be started. ">> $jid.log + echo " The ssh command must be working correctly between ">> $jid.log + echo " the computers used in the analysis. Furthermore, ">> $jid.log + echo " it must be set up such that it does not prompt the ">> $jid.log + echo " user for a password. ">> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi +fi +fi +# +# check correctness of host file; fix for user sub +# + if test $nprocd -gt 1 + then + +# construct the path name to the executable (execpath) + execpath=$MARC_BIN/$exefile + usersub=0 + if test $program = $prog.marc + then + execpath=$prog.marc + usersub=1 + fi + if test "$objs" + then + execpath="$DIRJOB/$jid.marc" + usersub=1 + fi + if test "$user" + then + execpath=$DIRJOB/`$BASENAME $user .f`.marc + usersub=1 + fi + export execpath + execname=`$BASENAME $execpath` + + if test "$host" + then + userhost=$host + case $userhost in + \/* | \.\/*) + ;; + *) + userhost=`pwd`/$userhost + ;; + esac + +# check that the number of processes specified in the hostfile is +# equal to nprocd specified by -nprocd. + numproc=`grep -v '^#' $host | $AWK -v sum=0 '{sum=sum+$2}; END {print sum}'` + if test $nprocd -ne $numproc + then + echo " " + echo "error, the number of processes specified in the host file" + echo "must be equal to the number of processes given by -nprocd/-nsolver" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, the number of processes specified in the host file" >> $jid.log + echo "must be equal to the number of processes given by -nprocd/-nsolver" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + +# check for Myrinet that the number of processes per host is +# less than number of available user ports, 5 +# .gmpi directory must exist in user's home directory +# and must have write permission from remote hosts + if test $MPITYPE = "myrinet" + then + numproc=`grep -v '^#' $host | $AWK -v sum=1 '{if( $2 > 5) sum=6}; END {print sum}'` + if test $numproc -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes specified " + echo "in the hostfile must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes specified " >> $jid.log + echo "in the hostfile must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + if test ! -d ~/.gmpi + then + echo " " + echo "error, for Myrinet a .gmpi directory must exist " + echo "under the user's home directory" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a .gmpi directory must exist " >> $jid.log + echo "under the user's home directory" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + homedir=`echo ~` + for i in `grep -v '^#' $host | $AWK '{if (NF > 0) print $1}'` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + $RSH $i /bin/touch $homedir/.gmpi/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + echo " " + echo "error, for Myrinet a shared .gmpi directory must exist " + echo "under the user's home directory " + echo "with remote write permission" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a shared .gmpi directory must exist " >> $jid.log + echo "under the user's home directory " >> $jid.log + echo "with remote write permission" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + else + /bin/rm tmp.$$ + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + fi + fi + done + fi + fi + +# construct the host file $jid.host which is used by mpirun +# skip lines starting with # and only consider lines with more than +# one word in them. Note that the hostfile given to this script +# has two columns: the host name and the number of shared processes +# to run on this host. mpirun wants the number of _other_ +# processes to run in addition to the one being run on the machine +# on which the job is started. hence the $2-1 for fnr == 1. + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then +# HPMPI or HP hardware MPI + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ + -v mpihpspecial="$MPIHPSPECIAL" \ +'{if ( NF > 0) {\ + fnr++ ; \ + printf("-h %s -np %s",$1,$2); \ + printf(" %s",mpihpspecial); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF >= 3 ) printf(" -e MPI_WORKDIR=%s", $3);\ + if ( NF >= 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) \ + }\ + }' > $jid.host +# end HPMPI or HP hardware MPI + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then +# IBM using hardware MPI (POE) + MP_HOSTFILE=$jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.host +# end IBM using hardware MPI (POE) +# for Intel MPI, need to create a machinefile for DMP + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then +# Intel MPI + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + /bin/cp $host $jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Intel MPI for DMP +# for Solaris HPC 7.1, need to create a machinefile for DMP + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then +# Solaris HPC 7.1 + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Solaris HPC 7.1 for DMP +# for Myrinet, construct a configuration file in ~/.gmpi +# this must be readable by each process +# format is (hostname) (port number) for each process + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + grep -v '^#' $host | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ +{if ( NF > 0 ) \ + for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc]); \ +}' >> ~/.gmpi/$jid.host + else +# this is for mpich-1.2.5 and later, using the -pg option +# format: host nproc executable user arguments +# the arguments are added later + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub -v user=`whoami` \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s %s\n",path,user);\ + if ( NF == 3 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s %s\n",path,user) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s/bin/%s %s\n",$4,en,user) \ + }\ + }' > $jid.host + fi +# end Myrinet + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then +# Compaq MPI via Memory Channel + grep -v '^#' $host | $AWK '{if (NF > 0) print $1}' > $jid.host +# end Compaq MPI + else +# MPICH + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF == 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s/bin/%s\n",$4,en) \ + }\ + }' > $jid.host + fi +# define the variable host and host_filt +# host_filt is used for loops over hosts +# for Myrinet we need to use a filtered variant of userhost +# for others we can use $host + if test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + host=~/.gmpi/$jid.host + host_filt=$jid.host_tMp + grep -v '^#' $userhost | $AWK '{if (NF > 0) print $1}' > $host_filt + else + host=$jid.host + host_filt=$host + fi + else + host=$jid.host + host_filt=$host + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + host_filt=$jid.mfile + fi + fi +# figure out if the machines in the hostfile are nfs mounted +# or distributed and set the variable "dirstatus" accordingly. +# only perform the check if user subroutine is used +# or a user subroutine executable is used + + numfield=1 + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + numfield=2 + fi + DIR1=$DIRJOB + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + counter=0 + echo " " + echo "checking if local or shared directories for host" + if test "$deletelog" = no + then + echo "checking if local or shared directories for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + dirstatus[$counter]="shared" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + $RSH $i /bin/touch $DIR1/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + dirstatus[$counter]="local" + /bin/rm tmp.$$ + else + if test ! -f $jid.$$ + then + dirstatus[$counter]="local" + $RSH $i /bin/rm $DIR1/$jid.$$ + else + /bin/rm $jid.$$ + fi + fi + if test -f tmp.$$ + then + /bin/rm tmp.$$ + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + echo " ${dirstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${dirstatus[$counter]}" >> $jid.log + fi + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + fi + +# figure out if this is a compatible set of machines +# unless explicitly specified with flag -comp +# only perform the check if user subroutine is used +# or a user subroutine executable is used +# Myrinet does not support heterogeneous + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + if test $compatible = "unknown" + then + thisname=$ARCH + compatible=yes + counter=0 + echo "checking if machines are compatible for host" + if test "$deletelog" = no + then + echo "checking if machines are compatible for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]="yes" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + othername=`$RSH $i uname -a | cut -f 1 -d " "` + if test $thisname != $othername + then + compatible=no + compstatus[$counter]="no" + fi + fi + echo " ${compstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${compstatus[$counter]}" >> $jid.log + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + else + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]=$compatible + fi + done + if test $compatible = "no" + then + echo "all machines assumed incompatible" + if test "$deletelog" = no + then + echo "all machines assumed incompatible" >> $jid.log + fi + else + echo "all machines compatible" + if test "$deletelog" = no + then + echo "all machines compatible" >> $jid.log + fi + fi + fi +# error out if user objects or libraries are used on incompatible machines + if test "$compatible" = "no" -a -n "$objs" + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" + if test "$deletelog" = no + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" >> $jid.log + fi + exit 1 + fi +# modify new host file if NFS mounted heterogeneous machine + doit= + if test $program = $prog.marc + then + doit=yes + fi + if test "$user" + then + doit=yes + fi + if test "$doit" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + $AWK -v hst=$i '{fnr++ ; \ +if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ +printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} + /bin/mv $jid.host{$$} $jid.host + host=$jid.host + fi + fi + done + fi + fi # if test $program = $prog.marc -o $user -o $obj + + else # if test $host + # assume shared memory machine if no hostfile given and + # MPITYPE is set to mpich or Myrinet + # check for Myrinet that the total number of processes is + # less than number of available user ports, 5 + if test $MPITYPE = "mpich" -o $MPITYPE = "scali" + then + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + host=$jid.host + elif test $MPITYPE = "myrinet" + then + if test $nprocd -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes " + echo "must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes " >> $jid.log + echo "must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + echo `hostname` $nprocd | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ + {for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc])} \ +' >> ~/.gmpi/$jid.host + host=~/.gmpi/$jid.host + else + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + + fi + fi # if test myrinet + + fi # if test $host + + fi # if test $nprocd -gt 1 + +fi # if test $program = $exefile -o $program = $prog.marc + +############################################################################## +# construct run stream (Marc only) # +############################################################################## + +# set maximum message length for ddm to a large number +# for vendor provided mpi +if test $itree -eq 0 -a $MPITYPE = hardware +then + itree=100000000 + if test $MACHINENAME = SGI + then + itree=100000001 + fi +fi +if test $itree -eq 0 -a $MPITYPE = hpmpi +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = myrinet +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = nec +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = scali +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = intelmpi +then + itree=100000000 +fi +if test $nprocdddm -lt 2 +then + nprocdarg= +else + nprocdarg="$nprocdarg $nprocdddm" +fi +if test $nsolver -eq 0 +then + nsolverarg= +else + nsolverarg="$nsolverarg $nsolver" +fi +if test $nprocdddm -lt 2 -a $nsolver -eq 0 +then +nprocd=0 +fi +if test $nprocd -gt 0 +then + if test "$host" + then + if test -z "$RUN_JOB2" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $host -- -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then + RUN_JOB="$RUN_JOB2 $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB_TMP="$RUN_JOB2 $host $bd$program" + RUN_JOB=" -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $nprocd -hf $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + numhost=`uniq $jid.mfile | wc -l` + if test "$INTELMPI_VERSION" = "HYDRA" + then + RUN_JOB_TMP="$RUN_JOB2 -configfile $jid.cfile" + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n $numhost -r $RSH -f $jid.mfile + RUN_JOB_TMP="$RUN_JOB2 $jid.cfile" + fi + +# intelmpi uses configfile. format: +# -host host1 -n n1 executable marcargs +# one such line per host +# collect the marcargs in RUN_JOB and construct the config file later +# collect the run stream in RUN_JOB_TMP + RUN_JOB="-jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + + + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then + RUN_JOB="$RUN_JOB2 $jid.mfile -n $nprocd $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test "$userhost" + then + RUN_JOB="$RUN_JOB -mhost $userhost" + fi + if test $MPITYPE = "scali" + then +# set default working directory to /tmp to allow +# different directory names + SCAMPI_WORKING_DIRECTORY=/tmp + export SCAMPI_WORKING_DIRECTORY + fi + else + if test -z "$RUN_JOB1" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + RUNNPROCD=$nprocd + if test $MACHINENAME = "IBM" -a $MPITYPE = "hardware" + then + RUNNPROCD= + MP_PROCS=$nprocd + export MP_PROCS + fi + if test $MPITYPE = "myrinet" + then + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + echo " " > /dev/null + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n 1 -f $jid.hosts + fi + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + fi +else + if test $ndcoup -gt 0 + then + RUN_JOB="$RUN_JOB0 $BINDIR/exe_auto $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else +# this is for a serial job without auto restart: + RUN_JOB="$RUN_JOB0 $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi +fi +if test "$rid" +then + RUN_JOB="$RUN_JOB -rid $rid -dirrid $DIRRID" +fi +if test "$pid" +then + RUN_JOB="$RUN_JOB -pid $pid -dirpid $DIRPID" +fi +if test "$sid" +then + RUN_JOB="$RUN_JOB -sid $sid -dirsid $DIRSID" +fi +if test "$did" +then + RUN_JOB="$RUN_JOB -def $did -dirdid $DIRDID" +fi +if test "$vid" +then + RUN_JOB="$RUN_JOB -vf $vid -dirvid $DIRVID" +fi +if test $ndcoup -gt 0 +then + RUN_JOB="$RUN_JOB -dcoup $ndcoup " +fi +if test $ndytran -gt 0 +then + RUN_JOB="$RUN_JOB -dytran $ndytran " +fi +if test $mesh -gt 0 +then + RUN_JOB="$RUN_JOB -me $mesh " +fi +if test $noutcore -gt 0 +then + RUN_JOB="$RUN_JOB -outcore $noutcore " +fi +if test "$dllrun" -gt 0 +then + RUN_JOB="$RUN_JOB -dll $dllrun " +fi +if test "$trkrun" -gt 0 +then + RUN_JOB="$RUN_JOB -trk $trkrun " +fi +if test "$iam" +then + RUN_JOB="$RUN_JOB -iam $iam " +fi +if test "$justlist" +then + RUN_JOB="$RUN_JOB -list 1 " +fi +if test "$feature" +then + RUN_JOB="$RUN_JOB -feature $feature " +fi +if test "$memlimit" -ne 0 +then + RUN_JOB="$RUN_JOB -ml $memlimit " +fi +if test "$cpinput" +then + RUN_JOB="$RUN_JOB -ci $cpinput " +fi +if test "$cpresults" +then + RUN_JOB="$RUN_JOB -cr $cpresults " +fi +if test "$DIRSCR" != "$DIRJOB" +then + RUN_JOB="$RUN_JOB -dirscr $DIRSCR" +else + DIRSCR=$DIRJOB +fi +if test "$makebdf" +then + RUN_JOB="$RUN_JOB -bdf $makebdf " +fi +if test $MPITYPE = "myrinet" -a "$host" -a "$MPIVERSION" != "MPICH-GM1.2.1..7" +then + # append $RUN_JOB to all lines of the host file + # and set RUN_JOB + $AWK -v args="$RUN_JOB" '{print $0,args}' $host > $host.$$ + /bin/mv $host.$$ $host + RUN_JOB=$RUN_JOB_TMP +fi +if test $MPITYPE = "intelmpi" -a "$host" +then + # construct config file, append $RUN_JOB to all lines of the config file + # and set RUN_JOB + if test "$INTELMPI_VERSION" = "HYDRA" + then + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf(" -host %s",$1); \ + printf(" -n %s",$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + else + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf("-host %s -n %s",$1,$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + fi + RUN_JOB=$RUN_JOB_TMP +fi +echo " " +echo "Final run stream value" +echo " RUNJOB="$RUN_JOB +if test "$deletelog" = no +then +echo " " >> $jid.log +echo "Final run stream value" >> $jid.log +echo " RUNJOB="$RUN_JOB >> $jid.log +fi + + +# +# check for external file to run using valgrind +# +if test -f $MARC_TOOLS/run_marc_valgrind +then + . $MARC_TOOLS/run_marc_valgrind +fi + + +############################################################################## +# run the requested program in a queue # +############################################################################## + +if test "$deletelog" = yes +then + echo + date +else + echo >> $jid.log + date >> $jid.log +fi +if [ $qid = short -o $qid = long -o $qid = verylong -o $qid = at ] +then + +/bin/rm -f $jid.runmarcscript + + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + userobj=$DIRJOB/`$BASENAME $user .f`.o + basefile=`$BASENAME $usersubname` + if test ${basefile##*.} = f + then + usersub=$DIRJOB/`$BASENAME $user .f`.F + ln -sf "$user.f" "$usersub" + else + usersub=$usersubname + fi + + fi + cat > $jid.runmarcscript << END4 + if test "$user" + then + if test ${basefile##*.} = f + then + ln -sf "$user.f" "$usersub" + fi + if test $MACHINENAME = "CRAY" + then + $FORTRAN $usersub || \ + { + echo "$0: compile failed for $user.f" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $FORTRAN $usersub -o $userobj || \ + { + echo "$0: compile failed for $user.f" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + if test ${basefile##*.} = f + then + /bin/rm -f "$usersub" + fi + fi + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + $SOLVERLIBS \ + $MARCCUDALIBS \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } +END4 +else + prgsav=yes +fi +/bin/rm $userobj 2>/dev/null + +# +# run marc +# + +cat >> $jid.runmarcscript << END5 + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# first remove all .out files and incremental restart files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + /bin/rm $DIRJOB/$numdom${jid}_i_*.t08 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null + /bin/rm $DIRJOB/${jid}_i_*.t08 2>/dev/null +fi + +if test $nprocdddm -gt 1 +then + $RUN_JOB 2>>$jid.log +else + $RUN_JOB 2>>$jid.log +fi + +if test $dllrun -eq 0; then + if test $prgsav = no + then + /bin/rm -f $bd$program 2>/dev/null + fi +else + if test $cpdll = yes; then + filename=`basename $usersubname .f` + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes + then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +fi +END5 + + +# Submit to marc batch queue +# +if [ $qid = at ] +then +QUENAME=at +SUBMCMD= +else +# +# Submit to qsub queue +# +QUENAME=qsub +SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" +if test "$priority" +then + SUBMCMD=$SUBMCMD" -p $priority" +fi +if test "$att" +then + SUBMCMD=$SUBMCMD" -a $att" +fi +if test "$cpu" +then + SUBMCMD=$SUBMCMD" -lt $cpu" +fi + +fi +echo $QUENAME $SUBMCMD +#cat $jid.runmarcscript +$QUENAME $SUBMCMD < $jid.runmarcscript + +/bin/rm -f $jid.runmarcscript + +############################################################################## +# run the requested program in the background # +############################################################################## + +else +if test $qid = background +then + +# +# first remove all old .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi +# +# compile user subroutine if present +# +( +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user.f $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_user $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user.f on host $i" + echo " $PRODUCT Exit number 3" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser.f 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user.f on host `hostname`" + fi + userobj=$DIRJOB/`$BASENAME $user .f`.o + basefile=`$BASENAME $usersubname` + if test ${basefile##*.} = f + then + usersub=$DIRJOB/`$BASENAME $user .f`.F + ln -sf "$user.f" "$usersub" + else + usersub=$usersubname + fi + if test $MACHINENAME = "CRAY" + then + $FORTRAN $usersub || \ + { + echo "$0: compile failed for $user.f" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $FORTRAN $usersub -o $userobj || \ + { + echo "$0: compile failed for $user.f" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + if test ${basefile##*.} = f + then + /bin/rm -f "$usersub" + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + echo " $PRODUCT Exit number 3" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null + +# +# run marc + +# + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + +$RUN_JOB & + +marcpid=$! +echo $marcpid > $DIRJOB/$jid.pid +wait $marcpid + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + fi + fi + fi +fi + + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi + fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=`basename $usersubname .f` + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi +) 1>>$jid.log 2>&1 & + + +############################################################################## +# run the requested program in the foreground # +############################################################################## + +else + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user.f $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_user $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user.f on host $i" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser.f 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user.f on host `hostname`" + fi + userobj=$DIRJOB/`$BASENAME $user .f`.o + basefile=`$BASENAME $usersubname` + if test ${basefile##*.} = f + then + usersub=$DIRJOB/`$BASENAME $user .f`.F + ln -sf "$user.f" "$usersub" + else + usersub=$usersubname + fi + if test $MACHINENAME = "CRAY" + then + $FORTRAN $usersub || \ + { + echo "$0: compile failed for $user.f" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $FORTRAN $usersub -o $userobj || \ + { + echo "$0: compile failed for $user.f" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + if test ${basefile##*.} = f + then + /bin/rm -f "$usersub" + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null + +# done if no job id given +if test -z "$jid" +then + echo + echo only compilation requested + echo + exit +fi +# +# run marc +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi +# first remove all .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + +$RUN_JOB + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + else + echo " " > /dev/null + fi + else + if test "$host" + then + mpdcleanup -a -f $jid.mfile + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.mfile 2> /dev/null + else + mpdcleanup -a -f $jid.hosts + /bin/rm $jid.hosts 2> /dev/null + fi + fi + fi +fi + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi + fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=`basename $usersubname .f` + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi + + +fi +fi diff --git a/installation/mods_MarcMentat/2019.1/Mentat_bin/edit_window b/installation/mods_MarcMentat/2019.1/Mentat_bin/edit_window new file mode 100644 index 000000000..b732a7694 --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Mentat_bin/edit_window @@ -0,0 +1,5 @@ +#!/bin/sh +# This script opens a window running an editor. +# The command to invoke the editor is specified during DAMASK installation + +%EDITOR% $* \ No newline at end of file diff --git a/installation/mods_MarcMentat/2019.1/Mentat_bin/edit_window.original b/installation/mods_MarcMentat/2019.1/Mentat_bin/edit_window.original new file mode 100644 index 000000000..64c0a68d0 --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Mentat_bin/edit_window.original @@ -0,0 +1,18 @@ +#!/bin/sh +# This script opens a window running an editor. The default window is an +# xterm, and the default editor is vi. These may be customized. + +dir= +for d in /usr/bin /usr/bin/X11; do + if test -x "$d/xterm"; then + dir="$d" + break + fi +done + +if test -z "$dir"; then + echo "$0: Could not find xterm" + exit 1 +fi + +"$dir/xterm" -T "vi $*" -n "vi $*" -e vi $* diff --git a/installation/mods_MarcMentat/2019.1/Mentat_bin/kill1.original b/installation/mods_MarcMentat/2019.1/Mentat_bin/kill1.original new file mode 100644 index 000000000..6d1ff84bf --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Mentat_bin/kill1.original @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ "$1" = "" ]; then + echo "usage: $0 job_name" + exit 1 +fi + +echo STOP > $1.cnt diff --git a/installation/mods_MarcMentat/2019.1/Mentat_bin/kill4 b/installation/mods_MarcMentat/2019.1/Mentat_bin/kill4 new file mode 100644 index 000000000..6d1ff84bf --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Mentat_bin/kill4 @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ "$1" = "" ]; then + echo "usage: $0 job_name" + exit 1 +fi + +echo STOP > $1.cnt diff --git a/installation/mods_MarcMentat/2019.1/Mentat_bin/kill5 b/installation/mods_MarcMentat/2019.1/Mentat_bin/kill5 new file mode 100644 index 000000000..6d1ff84bf --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Mentat_bin/kill5 @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ "$1" = "" ]; then + echo "usage: $0 job_name" + exit 1 +fi + +echo STOP > $1.cnt diff --git a/installation/mods_MarcMentat/2019.1/Mentat_bin/kill6 b/installation/mods_MarcMentat/2019.1/Mentat_bin/kill6 new file mode 100644 index 000000000..6d1ff84bf --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Mentat_bin/kill6 @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ "$1" = "" ]; then + echo "usage: $0 job_name" + exit 1 +fi + +echo STOP > $1.cnt diff --git a/installation/mods_MarcMentat/2019.1/Mentat_bin/submit1.original b/installation/mods_MarcMentat/2019.1/Mentat_bin/submit1.original new file mode 100644 index 000000000..7defd832f --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Mentat_bin/submit1.original @@ -0,0 +1,189 @@ +#!/bin/sh +# +# The exit status of this script is read by Mentat. +# Normal exit status is 0. +# + +DIR=/nethome/f.roters/temp/msc/marc2019.1 +if test $MARCDIR1 +then + DIR=$MARCDIR1 +fi + +if test -z "$DIR"; then + REALCOM="`ls -l $0 |awk '{ print $NF; }'`" + DIRSCRIPT=`dirname $REALCOM` + case $DIRSCRIPT in + \/*) + ;; + *) + DIRSCRIPT=`pwd`/$DIRSCRIPT + ;; + esac + . $DIRSCRIPT/getarch + + DIR="$MENTAT_MARCDIR" +fi + +SRCEXT=.f +SRCEXTC=.F +RSTEXT=.t08 +PSTEXT=.t19 +PSTEXTB=.t16 +VWFCEXT=.vfs + +slv=$1 +version=$2 +ndom_fea_solver=$3 +ndom_preprocessor=$4 +hostfile=$5 +compat=$6 +job=$7 +srcfile=$8 +srcmeth=$9 +shift 9 # cannot use $10, $11, ... +restart=$1 +postfile=$2 +viewfactorsfile=$3 +copy_datfile="-ci $4" +copy_postfile="-cr $5" +scr_dir=$6 +dcoup=$7 +assem_recov_nthread=$8 +nthread=$9 +shift 9 # cannot use $10, $11, ... +nsolver=$1 +mode=$2 +gpu=$3 + +if [ "$slv" != "" -a "$slv" != "marc" -a "$slv" != "datfit" ]; then + slv="-iam sfm" +fi +if [ "$slv" == "marc" ]; then + slv="" +fi +if [ "$slv" == "datfit" ]; then + slv="-iam datfit" +fi + +if [ "$ndom_fea_solver" != "" -a "$ndom_fea_solver" != "1" ]; then + nprocds="-nprocds $ndom_fea_solver" +else + nprocd="" + if [ "$ndom_preprocessor" != "" -a "$ndom_preprocessor" != "1" ]; then + nprocd="-nprocd $ndom_preprocessor" + else + nprocd="" + fi +fi + +if [ "$srcfile" != "" -a "$srcfile" != "-" ]; then + srcfile=`echo $srcfile | sed "s/$SRCEXT$//" | sed "s/$SRCEXTC$//"` + case "$srcmeth" in + -) + srcfile="-u $srcfile" + ;; + compsave) + srcfile="-u $srcfile -save y" + ;; + runsaved) + srcfile="-prog $srcfile" + ;; + esac +else + srcfile="" +fi + +if [ "$restart" != "" -a "$restart" != "-" ]; then + restart=`echo $restart | sed "s/$RSTEXT$//"` + restart="-r $restart" +else + restart="" +fi + +if [ "$postfile" != "" -a "$postfile" != "-" ]; then + postfile=`echo $postfile | sed "s/$PSTEXT$//"` + postfile=`echo $postfile | sed "s/$PSTEXTB$//"` + postfile="-pid $postfile" +else + postfile="" +fi + +if [ "$viewfactorsfile" != "" -a "$viewfactorsfile" != "-" ]; then + viewfactorsfile=`echo $viewfactorsfile | sed "s/$VWFCEXT$//"` + viewfactorsfile="-vf $viewfactorsfile" +else + viewfactorsfile="" +fi + +if [ "$hostfile" != "" -a "$hostfile" != "-" ]; then + hostfile="-ho $hostfile" +else + hostfile="" +fi + +if [ "$compat" != "" -a "$compat" != "-" ]; then + compat="-co $compat" +else + compat="" +fi + +if [ "$scr_dir" != "" -a "$scr_dir" != "-" ]; then + scr_dir="-sd $scr_dir" +else + scr_dir="" +fi + +if [ "$dcoup" != "" -a "$dcoup" != "0" ]; then + dcoup="-dcoup $dcoup" +else + dcoup="" +fi + +if [ "$assem_recov_nthread" != "" -a "$assem_recov_nthread" != "1" ]; then + assem_recov_nthread="-nthread_elem $assem_recov_nthread" +else + assem_recov_nthread="" +fi + +if [ "$nthread" != "" -a "$nthread" != "0" -a "$nthread" != "1" ]; then + nthread="-nthread $nthread" +else + nthread="" +fi + +if [ "$nsolver" != "" -a "$nsolver" != "0" ]; then + nsolver="-nsolver $nsolver" +else + nsolver="" +fi + +case "$mode" in + 4) mode="-mo i4" ;; + 8) mode="-mo i8" ;; + *) mode= ;; +esac + +if [ "$gpu" != "" -a "$gpu" != "-" ]; then + gpu="-gpu $gpu" +else + gpu="" +fi + +rm -f $job.cnt +rm -f $job.sts +rm -f $job.out +rm -f $job.log + +# To prevent a mismatch with the python version used by the solver +# do *not* prepend $MENTAT_INSTALL_DIR/python/bin to environment variable PATH +# unset environment variables PYTHONHOME and PYTHONPATH +unset PYTHONHOME +unset PYTHONPATH + +"${DIR}/tools/run_marc" $slv -j $job -v n -b y $nprocds $nprocd \ + $srcfile $restart $postfile $viewfactorsfile $hostfile \ + $compat $copy_datfile $copy_postfile $scr_dir $dcoup \ + $assem_recov_nthread $nthread $nsolver $mode $gpu > /dev/null 2>&1 +sleep 1 +exit 0 diff --git a/installation/mods_MarcMentat/2019.1/Mentat_bin/submit4 b/installation/mods_MarcMentat/2019.1/Mentat_bin/submit4 new file mode 100644 index 000000000..55e3bcf03 --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Mentat_bin/submit4 @@ -0,0 +1,191 @@ +#!/bin/sh +# +# The exit status of this script is read by Mentat. +# Normal exit status is 0. +# + +DIR=%INSTALLDIR%/marc%VERSION% + +if test $MARCDIR1 +then + DIR=$MARCDIR1 +fi + +if test -z "$DIR"; then + REALCOM="`ls -l $0 |awk '{ print $NF; }'`" + DIRSCRIPT=`dirname $REALCOM` + case $DIRSCRIPT in + \/*) + ;; + *) + DIRSCRIPT=`pwd`/$DIRSCRIPT + ;; + esac + . $DIRSCRIPT/getarch + + DIR="$MENTAT_MARCDIR" +fi + +SRCEXT=.f +SRCEXTC=.F +RSTEXT=.t08 +PSTEXT=.t19 +PSTEXTB=.t16 +VWFCEXT=.vfs + +slv=$1 +version=$2 +ndom_fea_solver=$3 +ndom_preprocessor=$4 +hostfile=$5 +compat=$6 +job=$7 +srcfile=$8 +srcmeth=$9 +shift 9 # cannot use $10, $11, ... +restart=$1 +postfile=$2 +viewfactorsfile=$3 +copy_datfile="-ci $4" +copy_postfile="-cr $5" +scr_dir=$6 +dcoup=$7 +assem_recov_nthread=$8 +nthread=$9 +shift 9 # cannot use $10, $11, ... +nsolver=$1 +mode=$2 +gpu=$3 + +if [ "$slv" != "" -a "$slv" != "marc" -a "$slv" != "datfit" ]; then + slv="-iam sfm" +fi +if [ "$slv" = "marc" ]; then + slv="" +fi +if [ "$slv" = "datfit" ]; then + slv="-iam datfit" +fi + +if [ "$ndom_fea_solver" != "" -a "$ndom_fea_solver" != "1" ]; then + nprocds="-nprocds $ndom_fea_solver" +else + nprocd="" + if [ "$ndom_preprocessor" != "" -a "$ndom_preprocessor" != "1" ]; then + nprocd="-nprocd $ndom_preprocessor" + else + nprocd="" + fi +fi + +if [ "$srcfile" != "" -a "$srcfile" != "-" ]; then + srcfile=`echo $srcfile | sed "s/$SRCEXT$//" | sed "s/$SRCEXTC$//"` + case "$srcmeth" in + -) + srcfile="-u $srcfile" + ;; + compsave) + srcfile="-u $srcfile -save y" + ;; + runsaved) + srcfile=${srcfile%.*}".marc" + srcfile="-prog $srcfile" + ;; + esac +else + srcfile="" +fi + +if [ "$restart" != "" -a "$restart" != "-" ]; then + restart=`echo $restart | sed "s/$RSTEXT$//"` + restart="-r $restart" +else + restart="" +fi + +if [ "$postfile" != "" -a "$postfile" != "-" ]; then + postfile=`echo $postfile | sed "s/$PSTEXT$//"` + postfile=`echo $postfile | sed "s/$PSTEXTB$//"` + postfile="-pid $postfile" +else + postfile="" +fi + +if [ "$viewfactorsfile" != "" -a "$viewfactorsfile" != "-" ]; then + viewfactorsfile=`echo $viewfactorsfile | sed "s/$VWFCEXT$//"` + viewfactorsfile="-vf $viewfactorsfile" +else + viewfactorsfile="" +fi + +if [ "$hostfile" != "" -a "$hostfile" != "-" ]; then + hostfile="-ho $hostfile" +else + hostfile="" +fi + +if [ "$compat" != "" -a "$compat" != "-" ]; then + compat="-co $compat" +else + compat="" +fi + +if [ "$scr_dir" != "" -a "$scr_dir" != "-" ]; then + scr_dir="-sd $scr_dir" +else + scr_dir="" +fi + +if [ "$dcoup" != "" -a "$dcoup" != "0" ]; then + dcoup="-dcoup $dcoup" +else + dcoup="" +fi + +if [ "$assem_recov_nthread" != "" -a "$assem_recov_nthread" != "1" ]; then + assem_recov_nthread="-nthread_elem $assem_recov_nthread" +else + assem_recov_nthread="" +fi + +if [ "$nthread" != "" -a "$nthread" != "0" -a "$nthread" != "1" ]; then + nthread="-nthread $nthread" +else + nthread="" +fi + +if [ "$nsolver" != "" -a "$nsolver" != "0" ]; then + nsolver="-nsolver $nsolver" +else + nsolver="" +fi + +case "$mode" in + 4) mode="-mo i4" ;; + 8) mode="-mo i8" ;; + *) mode= ;; +esac + +if [ "$gpu" != "" -a "$gpu" != "-" ]; then + gpu="-gpu $gpu" +else + gpu="" +fi + +rm -f $job.cnt +rm -f $job.sts +rm -f $job.out +rm -f $job.log + +# To prevent a mismatch with the python version used by the solver +# do *not* prepend $MENTAT_INSTALL_DIR/python/bin to environment variable PATH +# unset environment variables PYTHONHOME and PYTHONPATH +unset PYTHONHOME +unset PYTHONPATH + +"${DIR}/tools/run_damask_hmp" $slv -j $job -v n -b y $nprocds $nprocd \ + $srcfile $restart $postfile $viewfactorsfile $hostfile \ + $compat $copy_datfile $copy_postfile $scr_dir $dcoup \ + $assem_recov_nthread $nthread $nsolver $mode $gpu > /dev/null 2>&1 +sleep 1 +exit 0 diff --git a/installation/mods_MarcMentat/2019.1/Mentat_bin/submit5 b/installation/mods_MarcMentat/2019.1/Mentat_bin/submit5 new file mode 100644 index 000000000..8699cf076 --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Mentat_bin/submit5 @@ -0,0 +1,191 @@ +#!/bin/sh +# +# The exit status of this script is read by Mentat. +# Normal exit status is 0. +# + +DIR=%INSTALLDIR%/marc%VERSION% + +if test $MARCDIR1 +then + DIR=$MARCDIR1 +fi + +if test -z "$DIR"; then + REALCOM="`ls -l $0 |awk '{ print $NF; }'`" + DIRSCRIPT=`dirname $REALCOM` + case $DIRSCRIPT in + \/*) + ;; + *) + DIRSCRIPT=`pwd`/$DIRSCRIPT + ;; + esac + . $DIRSCRIPT/getarch + + DIR="$MENTAT_MARCDIR" +fi + +SRCEXT=.f +SRCEXTC=.F +RSTEXT=.t08 +PSTEXT=.t19 +PSTEXTB=.t16 +VWFCEXT=.vfs + +slv=$1 +version=$2 +ndom_fea_solver=$3 +ndom_preprocessor=$4 +hostfile=$5 +compat=$6 +job=$7 +srcfile=$8 +srcmeth=$9 +shift 9 # cannot use $10, $11, ... +restart=$1 +postfile=$2 +viewfactorsfile=$3 +copy_datfile="-ci $4" +copy_postfile="-cr $5" +scr_dir=$6 +dcoup=$7 +assem_recov_nthread=$8 +nthread=$9 +shift 9 # cannot use $10, $11, ... +nsolver=$1 +mode=$2 +gpu=$3 + +if [ "$slv" != "" -a "$slv" != "marc" -a "$slv" != "datfit" ]; then + slv="-iam sfm" +fi +if [ "$slv" = "marc" ]; then + slv="" +fi +if [ "$slv" = "datfit" ]; then + slv="-iam datfit" +fi + +if [ "$ndom_fea_solver" != "" -a "$ndom_fea_solver" != "1" ]; then + nprocds="-nprocds $ndom_fea_solver" +else + nprocd="" + if [ "$ndom_preprocessor" != "" -a "$ndom_preprocessor" != "1" ]; then + nprocd="-nprocd $ndom_preprocessor" + else + nprocd="" + fi +fi + +if [ "$srcfile" != "" -a "$srcfile" != "-" ]; then + srcfile=`echo $srcfile | sed "s/$SRCEXT$//" | sed "s/$SRCEXTC$//"` + case "$srcmeth" in + -) + srcfile="-u $srcfile" + ;; + compsave) + srcfile="-u $srcfile -save y" + ;; + runsaved) + srcfile=${srcfile%.*}".marc" + srcfile="-prog $srcfile" + ;; + esac +else + srcfile="" +fi + +if [ "$restart" != "" -a "$restart" != "-" ]; then + restart=`echo $restart | sed "s/$RSTEXT$//"` + restart="-r $restart" +else + restart="" +fi + +if [ "$postfile" != "" -a "$postfile" != "-" ]; then + postfile=`echo $postfile | sed "s/$PSTEXT$//"` + postfile=`echo $postfile | sed "s/$PSTEXTB$//"` + postfile="-pid $postfile" +else + postfile="" +fi + +if [ "$viewfactorsfile" != "" -a "$viewfactorsfile" != "-" ]; then + viewfactorsfile=`echo $viewfactorsfile | sed "s/$VWFCEXT$//"` + viewfactorsfile="-vf $viewfactorsfile" +else + viewfactorsfile="" +fi + +if [ "$hostfile" != "" -a "$hostfile" != "-" ]; then + hostfile="-ho $hostfile" +else + hostfile="" +fi + +if [ "$compat" != "" -a "$compat" != "-" ]; then + compat="-co $compat" +else + compat="" +fi + +if [ "$scr_dir" != "" -a "$scr_dir" != "-" ]; then + scr_dir="-sd $scr_dir" +else + scr_dir="" +fi + +if [ "$dcoup" != "" -a "$dcoup" != "0" ]; then + dcoup="-dcoup $dcoup" +else + dcoup="" +fi + +if [ "$assem_recov_nthread" != "" -a "$assem_recov_nthread" != "1" ]; then + assem_recov_nthread="-nthread_elem $assem_recov_nthread" +else + assem_recov_nthread="" +fi + +if [ "$nthread" != "" -a "$nthread" != "0" -a "$nthread" != "1" ]; then + nthread="-nthread $nthread" +else + nthread="" +fi + +if [ "$nsolver" != "" -a "$nsolver" != "0" ]; then + nsolver="-nsolver $nsolver" +else + nsolver="" +fi + +case "$mode" in + 4) mode="-mo i4" ;; + 8) mode="-mo i8" ;; + *) mode= ;; +esac + +if [ "$gpu" != "" -a "$gpu" != "-" ]; then + gpu="-gpu $gpu" +else + gpu="" +fi + +rm -f $job.cnt +rm -f $job.sts +rm -f $job.out +rm -f $job.log + +# To prevent a mismatch with the python version used by the solver +# do *not* prepend $MENTAT_INSTALL_DIR/python/bin to environment variable PATH +# unset environment variables PYTHONHOME and PYTHONPATH +unset PYTHONHOME +unset PYTHONPATH + +"${DIR}/tools/run_damask_mp" $slv -j $job -v n -b y $nprocds $nprocd \ + $srcfile $restart $postfile $viewfactorsfile $hostfile \ + $compat $copy_datfile $copy_postfile $scr_dir $dcoup \ + $assem_recov_nthread $nthread $nsolver $mode $gpu > /dev/null 2>&1 +sleep 1 +exit 0 diff --git a/installation/mods_MarcMentat/2019.1/Mentat_bin/submit6 b/installation/mods_MarcMentat/2019.1/Mentat_bin/submit6 new file mode 100644 index 000000000..a0179482f --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Mentat_bin/submit6 @@ -0,0 +1,191 @@ +#!/bin/sh +# +# The exit status of this script is read by Mentat. +# Normal exit status is 0. +# + +DIR=%INSTALLDIR%/marc%VERSION% + +if test $MARCDIR1 +then + DIR=$MARCDIR1 +fi + +if test -z "$DIR"; then + REALCOM="`ls -l $0 |awk '{ print $NF; }'`" + DIRSCRIPT=`dirname $REALCOM` + case $DIRSCRIPT in + \/*) + ;; + *) + DIRSCRIPT=`pwd`/$DIRSCRIPT + ;; + esac + . $DIRSCRIPT/getarch + + DIR="$MENTAT_MARCDIR" +fi + +SRCEXT=.f +SRCEXTC=.F +RSTEXT=.t08 +PSTEXT=.t19 +PSTEXTB=.t16 +VWFCEXT=.vfs + +slv=$1 +version=$2 +ndom_fea_solver=$3 +ndom_preprocessor=$4 +hostfile=$5 +compat=$6 +job=$7 +srcfile=$8 +srcmeth=$9 +shift 9 # cannot use $10, $11, ... +restart=$1 +postfile=$2 +viewfactorsfile=$3 +copy_datfile="-ci $4" +copy_postfile="-cr $5" +scr_dir=$6 +dcoup=$7 +assem_recov_nthread=$8 +nthread=$9 +shift 9 # cannot use $10, $11, ... +nsolver=$1 +mode=$2 +gpu=$3 + +if [ "$slv" != "" -a "$slv" != "marc" -a "$slv" != "datfit" ]; then + slv="-iam sfm" +fi +if [ "$slv" = "marc" ]; then + slv="" +fi +if [ "$slv" = "datfit" ]; then + slv="-iam datfit" +fi + +if [ "$ndom_fea_solver" != "" -a "$ndom_fea_solver" != "1" ]; then + nprocds="-nprocds $ndom_fea_solver" +else + nprocd="" + if [ "$ndom_preprocessor" != "" -a "$ndom_preprocessor" != "1" ]; then + nprocd="-nprocd $ndom_preprocessor" + else + nprocd="" + fi +fi + +if [ "$srcfile" != "" -a "$srcfile" != "-" ]; then + srcfile=`echo $srcfile | sed "s/$SRCEXT$//" | sed "s/$SRCEXTC$//"` + case "$srcmeth" in + -) + srcfile="-u $srcfile" + ;; + compsave) + srcfile="-u $srcfile -save y" + ;; + runsaved) + srcfile=${srcfile%.*}".marc" + srcfile="-prog $srcfile" + ;; + esac +else + srcfile="" +fi + +if [ "$restart" != "" -a "$restart" != "-" ]; then + restart=`echo $restart | sed "s/$RSTEXT$//"` + restart="-r $restart" +else + restart="" +fi + +if [ "$postfile" != "" -a "$postfile" != "-" ]; then + postfile=`echo $postfile | sed "s/$PSTEXT$//"` + postfile=`echo $postfile | sed "s/$PSTEXTB$//"` + postfile="-pid $postfile" +else + postfile="" +fi + +if [ "$viewfactorsfile" != "" -a "$viewfactorsfile" != "-" ]; then + viewfactorsfile=`echo $viewfactorsfile | sed "s/$VWFCEXT$//"` + viewfactorsfile="-vf $viewfactorsfile" +else + viewfactorsfile="" +fi + +if [ "$hostfile" != "" -a "$hostfile" != "-" ]; then + hostfile="-ho $hostfile" +else + hostfile="" +fi + +if [ "$compat" != "" -a "$compat" != "-" ]; then + compat="-co $compat" +else + compat="" +fi + +if [ "$scr_dir" != "" -a "$scr_dir" != "-" ]; then + scr_dir="-sd $scr_dir" +else + scr_dir="" +fi + +if [ "$dcoup" != "" -a "$dcoup" != "0" ]; then + dcoup="-dcoup $dcoup" +else + dcoup="" +fi + +if [ "$assem_recov_nthread" != "" -a "$assem_recov_nthread" != "1" ]; then + assem_recov_nthread="-nthread_elem $assem_recov_nthread" +else + assem_recov_nthread="" +fi + +if [ "$nthread" != "" -a "$nthread" != "0" -a "$nthread" != "1" ]; then + nthread="-nthread $nthread" +else + nthread="" +fi + +if [ "$nsolver" != "" -a "$nsolver" != "0" ]; then + nsolver="-nsolver $nsolver" +else + nsolver="" +fi + +case "$mode" in + 4) mode="-mo i4" ;; + 8) mode="-mo i8" ;; + *) mode= ;; +esac + +if [ "$gpu" != "" -a "$gpu" != "-" ]; then + gpu="-gpu $gpu" +else + gpu="" +fi + +rm -f $job.cnt +rm -f $job.sts +rm -f $job.out +rm -f $job.log + +# To prevent a mismatch with the python version used by the solver +# do *not* prepend $MENTAT_INSTALL_DIR/python/bin to environment variable PATH +# unset environment variables PYTHONHOME and PYTHONPATH +unset PYTHONHOME +unset PYTHONPATH + +"${DIR}/tools/run_damask_lmp" $slv -j $job -v n -b y $nprocds $nprocd \ + $srcfile $restart $postfile $viewfactorsfile $hostfile \ + $compat $copy_datfile $copy_postfile $scr_dir $dcoup \ + $assem_recov_nthread $nthread $nsolver $mode $gpu > /dev/null 2>&1 +sleep 1 +exit 0 diff --git a/installation/mods_MarcMentat/2019.1/Mentat_menus/job_run.ms b/installation/mods_MarcMentat/2019.1/Mentat_menus/job_run.ms new file mode 100644 index 000000000..5a6d6b1a8 --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Mentat_menus/job_run.ms @@ -0,0 +1,2750 @@ +#ifndef AUTOFORGE +popmenu job_title_pm file jobs.ms +popdown job_title_ok file jobs.ms + +group user_domains_gr file domain_decomposition.ms +group user_domains_generate_gr file domain_decomposition.ms +group user_domains_tail_gr file domain_decomposition.ms +group matrix_solver_gr file job_common.ms +popmenu ddm_options file job_common.ms + +browser edit_browser file file.ms +browser directory_browser file file.ms +screen domains file domain_decomposition.ms + + + + browser usersub_file_browser { + position 0 0 + size 82 72 + text "$usersub_file_browser_label" ($usersub_file_browser_label) + filter "*.f *.F *.f90 *.F90" + nvisible 10 + select_files true + cancel_action popdown + ok_action popdown + command "$usersub_file_browser_command" ($usersub_file_browser_command) + } + + + + browser host_file_browser { + position 0 0 + size 82 72 + text "$host_file_browser_label" ($host_file_browser_label) + filter "*" + nvisible 10 + select_files true + cancel_action popdown + ok_action popdown + command "$host_file_browser_command" ($host_file_browser_command) + } + + +#-------------------------------------------------------------------------------------------------- +popmenu job_run_popmenu { + + text "RUN JOB" + + group { + + + label { + position 0 0 + size 6 4 + text "NAME" + } + + display { + position +6 = + size 26 4 + display "job_name" + } + + label { + position 0 +4 + size 6 4 + text "TYPE" + } + + display { + position +6 = + size 26 4 + display job_class_label + } + + button { + position 1 9 + size 24 4 + text "USER SUBROUTINE FILE" + browser usersub_file_browser + settext $usersub_file_browser_label "SELECT USER SUBROUTINE FILE" + set $usersub_file_browser_command "*job_usersub_file" + help job_usersub_file + } + + toggle { + position +26 = + size 22 4 + text "SELECTED USER SUBS" + toggle job_usersubs + help job_run_seluser + visible job_usersubs + popmenu job_usersub_pm + } + + display { + position 1 +4 + size 50 4 + display job_usersub_file + } + + button { + position 1 +4 + size 12 4 + text "EDIT" + command "*job_edit_usersub_file" + visible job_usersub_file + } + + button { + position +12 = + size 12 4 + text "CLEAR" + command "*job_clear_usersub_file" + visible job_usersub_file + } + + roller { + position +12 = + size 26 4 + nvalues 3 + texts "COMPILE / NO SAVE" + "COMPILE AND SAVE" + "RUN SAVED EXECUTABLE" + help job_run_compile + roller "job_option user_source" + visible job_usersub_file + commands "*job_option user_source:compile_nosave" + "*job_option user_source:compile_save" + "*job_option user_source:run_saved" + } + + button { + position 1 +6 + size 24 4 + text "SOLVER/PARALLELIZATION" + help job_run_parallel + popmenu job_run_parallelization_pm + set $popname2 "job_run_parallelization_pm" + } + frame { + position 1 +4 + size 48 16 + border_width 1 + border_color black + + group{ + layout hbox + frame { + position 0 0 + size 24 16 + group { + layout vbox + + display { + position 0 0 + size 24 4 + display job_solver_solution + } + + display { + position = +4 + size 24 4 + display job_solver_type + } + spacer { + stretch 1 + } + + } + } + + frame { + position +22 = + size 24 16 + border_width 1 + border_color black + + group { + #layout vbox + display { + position = +4 + size 24 4 + display job_ddm_domains + } + + display { + position = +4 + size 24 4 + display job_assem_recov_nthreads + } + + display { + position = +4 + size 24 4 + display job_solver_procs + visible solver_allows_multi_procs + } + + display { + position = = + size 24 4 + display job_solver_threads + visible "and(solver_allows_multi_threads,\ + not(and(job_solver_mfront_sparse,\ + *job_option parallel:on)))" + } + + display { + position = +4 + size 24 4 + display job_solver_gpu + visible "and(job_solver_mfront_sparse,job_nonsym_off)" + } + } + } + } + } + + button { + position 1 +18 + size 8 4 + text "TITLE" + popmenu job_title_pm + command "*job_title" + } + +# see also job_common.ms +# see also the ADVANCED JOB SUBMISSION popmenu in this file + + label { + position +10 = + size 7 4 + text "STYLE" + border_width 1 + border_color black + } + + roller { + position +7 = + size 18 4 + nvalues 3 + texts "TABLE-DRIVEN" + "MULTI-PHYSICS" + "OLD" + rollers "job_input_style_table_driven" + "job_input_style_multi_physics" + "job_input_style_old" + commands "*job_option input_style:new *job_option input_physics_style:old" + "*job_option input_physics_style:new *job_option input_style:new" + "*job_option input_style:old *job_option input_physics_style:old" + visibles "job_allows_input_style_table_driven" + "job_allows_input_style_multi_physics" + "job_allows_input_style_old" + help job_option_input_style + } + + button { + position +20 = + size 13 4 + text "SAVE MODEL" + command "*save_model" + } + + button { + position 1 +6 + size 16 6 + text "SUBMIT (1)" + command "*submit_job 1 *monitor_job" + } + + button { + position +16 = + size 16 6 + text "ADVANCED JOB SUBMISSION" + popmenu job_submit_adv_pm + } + + button { + position +16 = + size 18 6 + text "DAMASK" + popmenu damask + } + + button { + position 1 +6 + size 16 6 + text "UPDATE" + command "*update_job" + } + + button { + position +16 = + size 16 6 + text "MONITOR" + command "*monitor_job" + } + + button { + position +16 = + size 18 6 + text "KILL" + command "*kill_job *monitor_job" + } + + label { + position 1 +7 + size 32 4 + text "STATUS" + border_width 1 + border_color black + } + + display { + position +32 = + size 18 4 + display "job_status" + } + + label { + position -32 +4 + size 32 4 + text "CURRENT INCREMENT (CYCLE)" + border_width 1 + border_color black + } + + display { + position +32 = + size 18 4 + display "job_increment" + } + + label { + position -32 +4 + size 32 4 + text "SINGULARITY RATIO" + border_width 1 + border_color black + } + + float { + position +32 = + size 18 4 + display "job_singularity_ratio" + } + + label { + position -32 +4 + size 32 4 + text "CONVERGENCE RATIO" + border_width 1 + border_color black + } + + float { + position +32 = + size 18 4 + display "job_convergence_ratio" + } + + label { + position 1 +4 + size 32 4 + text "ANALYSIS TIME" + border_width 1 + border_color black + } + + float { + position +32 = + size 18 4 + display "job_analysis_time" + } + + label { + position -32 +4 + size 32 4 + text "WALL TIME" + border_width 1 + border_color black + } + + display { + position +32 = + size 18 4 + display "job_time" + } + + frame { + position 1 +4 + size 50 8 + + group { + + frame { + position 0 0 + size 50 8 + text "TOTAL" + border_width 1 + border_color black + group { + + label { + position +6 = + size 13 4 + text "CYCLES" + border_width 1 + border_color black + } + + integer { + position +13 = + size 10 4 + display "acc_job_cycles" + border_width 1 + border_color black + } + + label { + position -13 +4 + size 13 4 + text "SEPARATIONS" + border_width 1 + border_color black + } + + integer { + position +13 = + size 10 4 + display "acc_job_separations" + border_width 1 + border_color black + } + + label { + position +10 -4 + size 11 4 + text "CUT BACKS" + border_width 1 + border_color black + } + + integer { + position +11 = + size 10 4 + display "acc_job_cut_backs" + border_width 1 + border_color black + } + + label { + position -11 +4 + size 11 4 + text "REMESHES" + border_width 1 + border_color black + } + + integer { + position +11 = + size 10 4 + display "acc_job_remeshes" + border_width 1 + border_color black + } + } + } + } + } + + label { + position 1 +8 + size 19 4 + text "EXIT NUMBER" + border_width 1 + border_color black + } + + integer { + position +19 = + size 10 4 + display "job_exit" + } + + button { + position +10 = + size 21 4 + text "EXIT MESSAGE" + popmenu job_exit_msg_pm + help exit_message + } + + label { + position 1 +6 + size 7 4 + text "EDIT" + border_width 1 + border_color black + } + + button { + position +7 = + size 12 4 + text "OUTPUT FILE" + command "*job_edit_output" + } + + button { + position +12 = + size 9 4 + text "LOG FILE" + command "*job_edit_log_file" + } + + button { + position +9 = + size 12 4 + text "STATUS FILE" + command "*job_edit_status_file" + } + + button { + position +12 = + size 10 4 + text "ANY FILE" + settext $edit_browser_label "EDIT FILE" + set $edit_browser_command "*edit_file" + browser edit_browser + help edit_file + } + + popdown { + position 1 +6 + size 32 4 + text "OPEN POST FILE (MODEL PLOT RESULTS MENU)" + command "@popdown(job_properties_pm) @main(results) @popup(modelplot_pm) *post_open_default" + } + + button { + position 1 +6 + size 12 8 + text "RESET" + command "*job_submit_reset" + } + + popdown { + position +38 = + size 12 8 + text "OK" + } + } + + window job_run_wi { + parent mentat + origin 35 1 + size 52 115 + background_color body + border_width 1 + border_color border + buffering single + } + + mode permanent +} + + +#-------------------------------------------------------------------------------------------------- +popmenu job_usersub_pm { + + text "CURRENTLY SELECTED USER SUBROUTINES" + + group { + + + display { + position 1 +5 + size 64 86 + display "job_usersubs" + } + + popdown { + position 27 +88 + size 12 8 + text "OK" + } + } + + window { + parent mentat + origin 38 8 + size 66 102 + background_color body + border_width 1 + border_color border + buffering single + } + + mode dialog +} + + +#-------------------------------------------------------------------------------------------------- +popmenu job_submit_adv_pm { + + text "ADVANCED JOB SUBMISSION" + + group { + + + label { + position 0 0 + size 6 4 + text "NAME" + } + + display { + position +6 = + size 26 4 + display "job_name" + } + + label { + position 0 +4 + size 6 4 + text "TYPE" + } + + display { + position +6 = + size 26 4 + display job_class_label + } + + label { + position 1 9 + size 19 4 + text "INITIAL ALLOCATION" + border_width 1 + border_color black + } + label { + position +19 = + size 15 4 + text "GENERAL MEMORY" + help job_param_general_init_allocation + } + text { + position +15 = + size 10 4 + display "job_param_value_general_init_allocation" + command "*job_param general_init_allocation" + help job_param_general_init_allocation + } + + label { + position +10 = + size 4 4 + text "MB" + border_width 1 + border_color black + } + + toggle { + position 1 +5 + size 32 4 + text "OUT-OF-CORE ELEMENT STORAGE" + help job_param_elsto + toggle "*job_option elsto:on" + true_command "*job_option elsto:on" + false_command "*job_option elsto:off" + } + + toggle { + position 1 +4 + size 32 4 + text "OUT-OF-CORE INCREMENTAL BACKUP" + help job_param_inc_backup_storage + toggle "*job_option inc_backup_storage:out_of_core" + true_command "*job_option inc_backup_storage:out_of_core" + false_command "*job_option inc_backup_storage:in_core" + } + + toggle { + position +34 = + size 14 4 + text "CHECK SIZES" + help job_run_check + toggle "*job_option check:on" + true_command "*job_option check:on" + false_command "*job_option check:off" + } + + frame { + position 1 +6 + size 48 12 + text "MARC INPUT FILE" + border_width 1 + border_color black + + group { + + label { + position 0 4 + size 9 4 + text "VERSION" + border_width 1 + border_color black + } + + roller { + position +9 = + size 14 4 + nvalues 28 + nvisible 28 + texts "DEFAULT" +#if 0 + "2019.1" +#endif + "2019" + "2018.1" + "2018" + "2017.1" + "2017" + "2016" + "2015" + "2014.2" + "2014.1" + "2014" + "2013.1" + "2013" + "2012" + "2011" + "2010.2" + "2010" + "2008" + "2007" + "2005R3" + "2005" + "2003" + "2001" + "2000" +#if 0 + "8" +#endif + "K7" + "K6.2" + "K5" + "K4" + help job_param_version + rollers "job_input_version_default" +#if 0 + "job_input_version_2019.1" +#endif + "job_input_version_2019" + "job_input_version_2018.1" + "job_input_version_2018" + "job_input_version_2017.1" + "job_input_version_2017" + "job_input_version_2016" + "job_input_version_2015" + "job_input_version_2014.2" + "job_input_version_2014.1" + "job_input_version_2014" + "job_input_version_2013.1" + "job_input_version_2013" + "job_input_version_2012" + "job_input_version_2011" + "job_input_version_2010.2" + "job_input_version_2010" + "job_input_version_2008" + "job_input_version_2007" + "job_input_version_2005r3" + "job_input_version_2005" + "job_input_version_2003" + "job_input_version_2001" + "job_input_version_2000" +#if 0 + "job_input_version_8" +#endif + "job_input_version_k7" + "job_input_version_k6" + "job_input_version_k5" + "job_input_version_k4" + commands "*job_option version:default" +#if 0 + "*job_option version:2019.1" +#endif + "*job_option version:2019" + "*job_option version:2018.1" + "*job_option version:2018" + "*job_option version:2017.1" + "*job_option version:2017" + "*job_option version:2016" + "*job_option version:2015" + "*job_option version:2014.2" + "*job_option version:2014.1" + "*job_option version:2014" + "*job_option version:2013.1" + "*job_option version:2013" + "*job_option version:2012" + "*job_option version:2011" + "*job_option version:2010.2" + "*job_option version:2010" + "*job_option version:2008" + "*job_option version:2007" + "*job_option version:2005r3" + "*job_option version:2005" + "*job_option version:2003" + "*job_option version:2001" + "*job_option version:2000" +#if 0 + "*job_option version:8" +#endif + "*job_option version:k7" + "*job_option version:k6" + "*job_option version:k5" + "*job_option version:k4" + visibles "job_allows_input_version_default" +#if 0 + "job_allows_input_version_2019.1" +#endif + "job_allows_input_version_2019" + "job_allows_input_version_2018.1" + "job_allows_input_version_2018" + "job_allows_input_version_2017.1" + "job_allows_input_version_2017" + "job_allows_input_version_2016" + "job_allows_input_version_2015" + "job_allows_input_version_2014.2" + "job_allows_input_version_2014.1" + "job_allows_input_version_2014" + "job_allows_input_version_2013.1" + "job_allows_input_version_2013" + "job_allows_input_version_2012" + "job_allows_input_version_2011" + "job_allows_input_version_2010.2" + "job_allows_input_version_2010" + "job_allows_input_version_2008" + "job_allows_input_version_2007" + "job_allows_input_version_2005r3" + "job_allows_input_version_2005" + "job_allows_input_version_2003" + "job_allows_input_version_2001" + "job_allows_input_version_2000" +#if 0 + "job_allows_input_version_8" +#endif + "job_allows_input_version_k7" + "job_allows_input_version_k6" + "job_allows_input_version_k5" + "job_allows_input_version_k4" + } + +# see also job_common.ms +# see also the RUN JOB popmenu in this file + + label { + position +14 = + size 7 4 + text "STYLE" + border_width 1 + border_color black + } + + roller { + position +7 = + size 18 4 + nvalues 3 + texts "TABLE-DRIVEN" + "MULTI-PHYSICS" + "OLD" + rollers "job_input_style_table_driven" + "job_input_style_multi_physics" + "job_input_style_old" + commands "*job_option input_style:new *job_option input_physics_style:old" + "*job_option input_physics_style:new *job_option input_style:new" + "*job_option input_style:old *job_option input_physics_style:old" + visibles "job_allows_input_style_table_driven" + "job_allows_input_style_multi_physics" + "job_allows_input_style_old" + help job_option_input_style + } + + toggle { + position 0 +4 + size 24 4 + text "EXTENDED PRECISION" + help job_run_precision + toggle "*job_option inp_file_prec:extended" + true_command "*job_option inp_file_prec:extended" + false_command "*job_option inp_file_prec:normal" + } + toggle { + position +24 = + size 24 4 + text "INCLUDE UNUSED TABLES" + toggle "*job_option input_file_tables:all" + true_command "*job_option input_file_tables:all" + false_command "*job_option input_file_tables:used" + } + } + } + + button { + position 1 +14 + size 24 4 + text "SCRATCH DIRECTORY" + settext $directory_browser_label "JOB SCRATCH DIRECTORY" + set $directory_browser_command "*job_scratch_directory" + browser directory_browser + help job_scratch_directory + } + + button { + position +24 = + size 24 4 + text "CLEAR" + command "*job_clear_scratch_directory" + visible job_scratch_directory + } + + text { + position 1 +4 + size 48 4 + display job_scratch_dir + command "*job_scratch_directory" + } + +#ifdef DCOM + toggle { + position 1 +6 + size 8 4 + text "\{DCOM}" + toggle "*job_option dcom:on" + help job_run_dcom + true_command "*job_option dcom:on" + false_command "*job_option dcom:off" + visible win32_available + } + + button { + position +8 = + size 12 4 + text "HOSTNAME" + command "*job_dcom_hostname" + visible "and(win32_available, *job_option dcom:on)" + } + + text job_dcom_hostname { + position +12 = + size 28 4 + display "job_dcom_hostname" + command "*job_dcom_hostname" + visible "and(win32_available, *job_option dcom:on)" + } +#endif + + button { + position 1 +6 + size 24 4 + text "TITLE" + popmenu job_title_pm + command "*job_title" + } + + button { + position +24 = + size 24 4 + text "SAVE MODEL" + command "*save_model" + } + + button { + position +4 +6 + size 20 4 + text "WRITE INPUT FILE" + command "*job_write_input" + } + + button { + position = +4 + size 20 4 + text "EDIT INPUT FILE" + command "*job_edit_input" + } + + popdown { + position 1 +5 + size 20 6 + text "SUBMIT 1" + command "*submit_job 1 *monitor_job" + } + + popdown { + position +28 = + size 20 6 + text "EXECUTE 1" + command "*execute_job 1 *monitor_job" + } + + popdown { + position -28 +6 + size 20 6 + text "SUBMIT 2" + command "*submit_job 2 *monitor_job" + } + + popdown { + position +28 = + size 20 6 + text "EXECUTE 2" + command "*execute_job 2 *monitor_job" + } + + popdown { + position -28 +6 + size 20 6 + text "SUBMIT 3" + command "*submit_job 3 *monitor_job" + } + + popdown { + position +28 = + size 20 6 + text "EXECUTE 3" + command "*execute_job 3 *monitor_job" + } + + popdown { + position 19 +8 + size 12 8 + text "OK" + } + } + + window { + parent mentat + origin 38 8 +#ifdef DCOM + size 50 100 +#else + size 50 94 +#endif + background_color body + border_width 1 + border_color border + buffering single + } + + mode permanent +} + +#-------------------------------------------------------------------------------------------------- +popmenu damask { + +#ifdef QT_MENTAT + text "DAMASK.MPIE.DE" +#endif + + group { +#ifndef QT_MENTAT + label { + position 0 0 + size 50 4 + text "DAMASK.MPIE.DE" + } +#endif + + label { + position 1 6 + size 13 6 + text "Optimzation" + border_width 1 + border_color black + } + + label { + position +13 = + size 20 6 + text "write Input" + border_width 1 + border_color black + } + + label { + position +18 = + size 30 6 + text "do not write Inp." + border_width 1 + border_color black + } + + label { + position -32 +6 + size 12 6 + text "O2 / OpenMP" + border_width 1 + border_color black + } + + popdown { + position +12 = + size 20 6 + text "Submit" + command "*submit_job 4 *monitor_job" + } + + popdown { + position +20 = + size 20 6 + text "Execute" + command "*execute_job 4 *monitor_job" + } + + label { + position -32 +6 + size 12 6 + text "O1 / OpenMP" + border_width 1 + border_color black + } + + popdown { + position +12 = + size 20 6 + text "Submit" + command "*submit_job 5 *monitor_job" + } + + popdown { + position +20 = + size 20 6 + text "Execute" + command "*execute_job 5 *monitor_job" + } + + label { + position -32 +6 + size 12 6 + text "O0 / OpenMP" + border_width 1 + border_color black + } + + popdown { + position +12 = + size 20 6 + text "Submit" + command "*submit_job 6 *monitor_job" + } + + popdown { + position +20 = + size 20 6 + text "Execute" + command "*execute_job 6 *monitor_job" + } + + popdown { + position 19 +8 + size 12 8 + text "CANCEL" + } +} + + window { + parent mentat + origin 38 8 +#ifdef DCOM + size 50 100 +#else + size 50 94 +#endif + background_color body + border_width 1 + border_color border + buffering single + } + mode permanent +} + +#-------------------------------------------------------------------------------------------------- +popmenu job_exit_msg_pm { + + text "EXIT MESSAGE" + + group { + + + + text { + position 1 5 + size 84 74 + multiline + readonly + display "job_exit_msg" + } + + popdown { + position 37 +76 + size 12 8 + text "OK" + } + } + + window { + parent mentat + origin 38 8 + size 86 90 + background_color body + border_width 1 + border_color border + buffering single + } + + mode dialog +} + + + + +#-------------------------------------------------------------------------------------------------- +popmenu job_run_parallelization_pm { + + text "SOLVER/PARALLELIZATION" + + group { + layout vbox + frame { + position 0 0 + size 42 8 + group { + + label { + position 0 0 + size 6 4 + text "NAME" + } + + display { + position +6 = + size 36 4 + display "job_name" + } + + label { + position 0 +4 + size 6 4 + text "TYPE" + } + + display { + position +6 = + size 36 4 + display job_class_label + } + } + } + frame { + position 0 8 + size 42 20 + group job_ddm_gr + text "DOMAIN DECOMPOSITION" + border_width 1 + border_color black + } + + frame { + position 0 +20 + size 42 13 + group job_assem_recov_gr + text "ASSEMBLY AND RECOVERY" + border_width 1 + border_color black + } + + frame { + position 0 +14 + size 42 31 + group job_parallel_matrix_solver_gr + text "MATRIX SOLVER" + border_width 1 + border_color black + } + + frame { + position 0 +32 + size 42 28 + group job_parallel_env_gr + text "PARALLELIZATION ENVIRONMENT" + border_width 1 + border_color black + visible "or(*job_option parallel:on, \ + solver_multi_procs)" + } + frame { + position 15 +30 + size 42 8 + group { + layout hbox + + spacer { + stretch 1 + } + popdown { + position 15 0 + size 12 8 + text "OK" + } + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + stretch 1 + } + } + + window { + parent mentat + origin 38 1 + size 60 119 + background_color body + border_width 1 + border_color border + buffering single + } + mode permanent +} + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_gr { + + toggle { + position 1 4 + size 42 4 + text "USE \{DDM}" + toggle "*job_option parallel:on" + help job_run_ddm_use + true_command "*job_option parallel:on" + false_command "*job_option parallel:off" + active "and(not(job_solver_it_ext),\ + not(job_solver_mixed_direct_iterative))" + } + + frame { + position = +5 + size 42 4 + group job_ddm_use_gr + visible "*job_option parallel:on" + } +} + +group job_ddm_use_gr { + layout vbox + frame{ + position 0 0 + size 30 4 + group { + layout hbox + label { + position 0 0 + size 12 4 + text "DECOMPOSITION IN" + help job_run_ddm_generator + } + oneonly{ + position +12 = + size 8 4 + text "MARC" + oneonly "*job_option ddm_generator:fea_solver" + command "*job_option ddm_generator:fea_solver" + help job_run_ddm_generator + } + oneonly{ + position +12 = + size 8 4 + text "MENTAT" + oneonly "*job_option ddm_generator:preprocessor" + command "*job_option ddm_generator:preprocessor" + help job_run_ddm_generator + } + } + } + + frame { + position 0 +5 + size 44 8 + group job_ddm_fea_solver_gr + visible "*job_option ddm_generator:fea_solver" + } + + frame { + position = = + size 44 8 + group job_ddm_preprocessor_gr + visible "*job_option ddm_generator:preprocessor" + } + + frame{ + position 0 +5 + size 40 4 + group{ + layout hbox + text { + position 0 0 + size 22 4 + text "Single Input File" + readonly + visible "*job_option ddm_generator:fea_solver" + } + + roller { + position = = + size 22 4 + nvalues 2 + texts "MULTIPLE INPUT FILES" + "SINGLE INPUT FILE" + roller "job_option ddm_single_input" + commands "*job_option ddm_single_input:off" + "*job_option ddm_single_input:on" + visible "*job_option ddm_generator:preprocessor" + help job_run_ddm_single_input + } + + roller { + position +23 = + size 21 4 + nvalues 2 + texts "MULTIPLE POST FILES" + "SINGLE POST FILE" + roller "job_option ddm_single_post" + commands "*job_option ddm_single_post:off" + "*job_option ddm_single_post:on" + help job_run_ddm_single_post + } + } + } +} + + + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_fea_solver_gr { + + label { + position 0 0 + size 10 4 + text "# DOMAINS" + help job_param + } + + text { + position +10 = + size 4 4 + display "job_param_value_ndomains" + command "*job_param ndomains" + } + + label { + position 0 +4 + size 7 4 + text "METHOD" + border_width 1 + border_color black + } + + roller { + position +7 = + size 18 4 + nvalues 7 + texts "METIS BEST" + "METIS ELEMENT" + "METIS NODE" + "REC. COORD. BISECTION" + "VECTOR" + "RADIAL" + "ANGULAR" + help set_job_decomp_type + rollers "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + commands "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + } + + button { + position +18 = + size 12 4 + text "ADV. SETTINGS" + popmenu job_ddm_fea_solver_pm + } +} + + + + +#-------------------------------------------------------------------------------------------------- +popmenu job_ddm_fea_solver_pm { + + text "JOB PARALLELIZATION" + + group { + units 32 120 + + + label { + position 0 5 + size 6 4 + text "NAME" + } + + display { + position +6 = + size 26 4 + display "job_name" + } + + label { + position 0 +4 + size 6 4 + text "TYPE" + } + + display { + position +6 = + size 26 4 + display job_class_label + } + + frame { + + position 0 +9 + size 32 76 + text "ADVANCED DECOMPOSITION IN MARC" + border_width 1 + border_color black + + group { + + label { + position 1 4 + size 16 4 + text "# DOMAINS" + help job_param + } + + text { + position +16 = + size 14 4 + display "job_param_value_ndomains" + command "*job_param ndomains" + } + + label { + position 1 +4 + size 7 4 + text "METHOD" + border_width 1 + border_color black + } + + roller { + position +7 = + size 23 4 + nvalues 7 + texts "METIS BEST" + "METIS ELEMENT" + "METIS NODE" + "REC. COORD. BISECTION" + "VECTOR" + "RADIAL" + "ANGULAR" + help set_job_decomp_type + rollers "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + commands "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + } + + frame { + position 1 +5 + size 30 20 + group job_ddm_direction_gr + visible "or(*job_option ddm_method:vector, \ + *job_option ddm_method:radial, \ + *job_option ddm_method:angular)" + } + + toggle { + position 1 +21 + size 30 4 + text "DOMAIN ISLAND REMOVAL" + toggle "*job_option ddm_island_removal:on" + true_command "*job_option ddm_island_removal:on" + false_command "*job_option ddm_island_removal:off" + } + + label { + position 1 +4 + size 15 4 + border_width 1 + border_color black + text "GRAPH" + } + + roller { + position +15 = + size 15 4 + nvalues 2 + texts "COARSE" + "FINE" + help ddm_decomp_coarse_graph + rollers "*job_option ddm_graph:coarse" + "*job_option ddm_graph:fine" + commands "*job_option ddm_graph:coarse" + "*job_option ddm_graph:fine" + visible "or(*job_option ddm_method:metis_best, \ + *job_option ddm_method:metis_element_based, \ + *job_option ddm_method:metis_node_based)" + } + + label { + position 1 +4 + size 15 4 + border_width 1 + border_color black + text "QUADRATIC ELEMENTS" + } + + roller { + position +15 = + size 15 4 + nvalues 2 + texts "GENUINE" + "LINEARIZED" + help job_run_ddm_decomp_linearized + rollers "*job_option ddm_quadr_elems:genuine" + "*job_option ddm_quadr_elems:linearized" + commands "*job_option ddm_quadr_elems:genuine" + "*job_option ddm_quadr_elems:linearized" + } + + label { + position 1 +5 + size 15 4 + text "ELEMENT WEIGHT FACTOR" + help job_param + } + + text { + position +15 = + size 15 4 + display "job_param_value_ddm_elem_weight_factor" + command "*job_param ddm_elem_weight_factor" + help job_run_ddm_decomp_element_weight_factor + } + + toggle { + position 1 +5 + size 30 4 + text "DETECT CONTACT" + toggle "*job_option ddm_detect_contact:on" + true_command "*job_option ddm_detect_contact:on" + false_command "*job_option ddm_detect_contact:off" + visible "or(*job_option ddm_method:metis_best, \ + *job_option ddm_method:metis_element_based, \ + *job_option ddm_method:metis_node_based)" + help job_run_ddm_decomp_detect_contact + } + + label { + position = +5 + size 15 4 + text "CONTACT TOLERANCE" + visible "*job_option ddm_detect_contact:on" + } + + text { + position +15 = + size 15 4 + command "*set_ddm_contact_tolerance" + display "job_param_value_ddm_contact_tolerance" + command "*job_param ddm_contact_tolerance" + visible "*job_option ddm_detect_contact:on" + help job_run_ddm_decomp_contact_tolerance + } + + label { + position -15 +4 + size 15 4 + text "CONTACT CONSTR FACTOR" + visible "*job_option ddm_detect_contact:on" + } + + text { + position +15 = + size 15 4 + display "job_param_value_ddm_contact_constr_factor" + command "*job_param ddm_contact_constr_factor" + visible "*job_option ddm_detect_contact:on" + help job_run_ddm_decomp_contact_constraint_factor + } + } + } + + popdown { + position 0 +77 + size 32 8 + text "OK" + } + } + mode permanent +} # job_ddm_fea_solver_pm + + + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_direction_gr { + + button { + position 0 0 + size 15 4 + text "DIRECTION" + command "*job_vector ddm_sort_direction_x" + visible "*job_option ddm_method:vector" + } + + button { + position = = + size 15 4 + text "DIRECTION" + command "*job_vector ddm_sort_direction_x" + visible "not(*job_option ddm_method:vector)" + } + + button { + position +15 = + size 15 4 + text "FROM / TO" + command "*job_vector_from_to ddm_sort_direction_x" + } + + text { + position -15 +4 + size 10 4 + command "*job_param ddm_sort_direction_x" + display "job_param_value_ddm_sort_direction_x" + help ddm_job_decomp_user_direction_x + } + + text { + position +10 = + size 10 4 + command "*job_param ddm_sort_direction_y" + display "job_param_value_ddm_sort_direction_y" + } + + text { + position +10 = + size 10 4 + command "*job_param ddm_sort_direction_z" + display "job_param_value_ddm_sort_direction_z" + } + + frame { + position 0 +4 + size 30 8 + group job_ddm_sort_point_gr + visible "not(*job_option ddm_method:vector)" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_sort_point_gr { + + label { + position 0 0 + size 14 4 + border_width 1 + border_color black + text "POINT ON AXIS" + } + + roller { + position +14 = + size 10 4 + nvalues 2 + texts "DEFAULT" + "USER" + roller "job_option ddm_sort_point" + commands "*job_option ddm_sort_point:default" + "*job_option ddm_sort_point:user" + } + + button { + position +10 = + size 6 4 + text "SET" + command "*job_position ddm_sort_point_x" + visible "*job_option ddm_sort_point:user" + } + + text { + position 0 +4 + size 10 4 + command "*job_param ddm_sort_point_x" + display "job_param_value_ddm_sort_point_x" + visible "*job_option ddm_sort_point:user" + } + + text { + position +10 = + size 10 4 + command "*job_param ddm_sort_point_y" + display "job_param_value_ddm_sort_point_y" + visible "*job_option ddm_sort_point:user" + } + + text { + position +10 = + size 10 4 + command "*job_param ddm_sort_point_z" + display "job_param_value_ddm_sort_point_z" + visible "*job_option ddm_sort_point:user" + } +} + + + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_preprocessor_gr { + + label { + position 0 0 + size 10 4 + text "# DOMAINS" + border_width 1 + border_color black + } + + integer { + position +10 = + size 4 4 + display valid_domains + } + + button { + position 0 +4 + size 30 4 + text "USER DOMAINS" + popmenu domains_pm + help job_run_ddm_user_domains + } +} + + + + +#-------------------------------------------------------------------------------------------------- +group job_assem_recov_gr { + + toggle { + position 1 +4 + size 30 4 + text "MULTIPLE THREADS" + true_command "*job_option assem_recov_multi_threading:on" + false_command "*job_option assem_recov_multi_threading:off" + toggle "*job_option assem_recov_multi_threading:on" + } + + label { + position = +4 + size 12 4 + text "# THREADS" + visible "*job_option assem_recov_multi_threading:on" + } + + text { + position +12 = + size 4 4 + display "job_param_value_assem_recov_nthreads" + command "*job_param assem_recov_nthreads" + visible "*job_option assem_recov_multi_threading:on" + } + + label { + position +4 = + size 10 4 + visible "and(*job_option assem_recov_multi_threading:on, \ + *job_option parallel:on)" + text "PER DOMAIN" + border_width 1 + border_color black + } + + display { + position +12 = + size 4 4 + display "job_assem_recov_nthreads_dom" + visible "and(*job_option assem_recov_multi_threading:on, \ + *job_option parallel:on)" + } + spacer{ + stretch 2 + } + +} + + +#-------------------------------------------------------------------------------------------------- +group job_parallel_matrix_solver_gr { + layout vbox + frame { + position 1 0 + size 36 31 + group { + layout hbox + label { + position 3 4 + size 12 4 + text "SOLUTION" + border_width 1 + border_color black + } + oneonly { + position +12 = + size 12 4 + text "SYMMETRIC" + help job_param_solver_method + oneonly "job_nonsym_off" + command "*job_option solver_nonsym:off" + } + oneonly { + position +12 = + size 12 4 + text "NONSYMMETRIC" + help job_param_solver_method + oneonly "job_nonsym_on" + command "*job_option solver_nonsym:on" + } + spacer { + stretch 1 + } + } + } + + frame { + position 1 +5 + size 42 23 + group matrix_solver_gr + help job_param_solver + } + + frame { + position +1 = + size 42 4 + group job_run_solver_ddm_opts_gr + visible "*job_option parallel:on" + } + + frame { + position 1 +23 + size 42 8 + group job_solver_multi_procs_gr + visible solver_allows_multi_procs + } + + frame { + position = = + size 42 8 + group job_solver_multi_threads_gr + visible solver_allows_multi_threads + } + + frame { + position 1 +9 + size 42 8 + group job_solver_gpu_gr + visible "and(job_solver_mfront_sparse,job_nonsym_off)" + } + +} + + +#-------------------------------------------------------------------------------------------------- +group job_run_solver_ddm_opts_gr { + + button { + position 0 0 + size 14 4 + text "\{DDM} OPTIONS" + popmenu ddm_options +# see also job_common.ms! + visible "not(or(job_solver_it_sparse, \ + job_solver_it_ext, \ + job_solver_mixed_direct_iterative, \ + job_solver_pardiso,\ + job_solver_mumps))" + } + button { + position = = + size 14 4 + text "\{DDM} OPTIONS" + popmenu ddm_options_mumps + visible "job_solver_mumps" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_procs_gr { + frame { + position 0 0 + size 42 8 + group job_solver_multi_procs_parallel_off_gr + visible "*job_option parallel:off" + } + + frame { + position = = + size 42 8 + group job_solver_multi_procs_parallel_on_gr + visible "*job_option parallel:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_procs_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE SOLVER PROCESSES" + true_command "*job_option nsolver_procs_serial:on" + false_command "*job_option nsolver_procs_serial:off" + toggle "*job_option nsolver_procs_serial:on" + help job_run_multithreading + } + + label { + position +2 +4 + size 14 4 + text "# PROCESSES" + visible "*job_option nsolver_procs_serial:on" + help job_param + } + + text { + position +14 = + size 14 4 + display "job_param_value_nsolver_procs" + command "*job_param nsolver_procs" + visible "*job_option nsolver_procs_serial:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_procs_parallel_on_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE SOLVER PROCESSES" + help job_run_multithreading + toggle true + set $dummy dummy + } + + label { + position +2 +4 + size 14 4 + text "# PROCESSES" + border_width 1 + border_color black + } + + roller { + position +14 = + size 14 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option nsolver_procs_ddm:automatic" + "*job_option nsolver_procs_ddm:user" + help job_run_multithreading + rollers "*job_option nsolver_procs_ddm:automatic" + "*job_option nsolver_procs_ddm:user" + } + + frame { + position +14 = + size 16 4 + group job_nsolver_procs_ddm_automatic_gr + visible "*job_option nsolver_procs_ddm:automatic" + } + + frame { + position = = + size 16 4 + group job_nsolver_procs_ddm_user_gr + visible "*job_option nsolver_procs_ddm:user" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_nsolver_procs_ddm_automatic_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + border_width 1 + border_color black + } + + integer { + position +8 = + size 8 4 + display valid_domains + visible "*job_option ddm_generator:preprocessor" + } + + integer { + position = = + size 8 4 + display "job_param_ndomains" + visible "*job_option ddm_generator:fea_solver" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_nsolver_procs_ddm_user_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + help job_param + } + + text { + position +8 = + size 8 4 + display "job_param_value_nsolver_procs" + command "*job_param nsolver_procs" + } +} + +group job_solver_multi_threads_gr { + layout vbox + spacing 0 + + frame { + size 46 8 + group job_solver_multi_threads_it_sparse_parallel_off_gr + visible "and(job_solver_it_sparse,*job_option parallel:off)" + } + + frame { + size 46 8 + group job_solver_multi_threads_mfront_sparse_parallel_off_gr + visible "and(job_solver_mfront_sparse,*job_option parallel:off)" + } + + frame { + size 46 8 + group job_solver_multi_threads_mfront_sparse_parallel_on_gr + visible "and(job_solver_mfront_sparse,*job_option parallel:on)" + } + + frame { + size 46 8 + group job_solver_multi_threads_pardiso_parallel_off_gr + visible "and(job_solver_pardiso,*job_option parallel:off)" + } + + frame { + size 46 8 + group job_solver_multi_threads_pardiso_parallel_on_gr + visible "and(job_solver_pardiso,*job_option parallel:on)" + } + + frame { + size 46 8 + group job_solver_multi_threads_it_ext_off_gr + visible "and(job_solver_it_ext,*job_option parallel:off)" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_it_sparse_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option it_sparse_multi_threading:on" + true_command "*job_option it_sparse_multi_threading:on" + false_command "*job_option it_sparse_multi_threading:off" + help job_run_multithreading + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option it_sparse_multi_threading:on" + help job_run_multithreading + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option it_sparse_multi_threading:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_mfront_sparse_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option mfront_sparse_multi_threading:on" + true_command "*job_option mfront_sparse_multi_threading:on" + false_command "*job_option mfront_sparse_multi_threading:off" + help job_run_multithreading + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option mfront_sparse_multi_threading:on" + help job_run_multithreading + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option mfront_sparse_multi_threading:on" + } +} + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_mfront_sparse_parallel_on_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + help job_run_multithreading + toggle true + set $dummy dummy + } + + label { + position +30 0 + size 12 4 + visible "and( not(*job_option ddm_precond:direct)\ + *job_option parallel:on)" + text "PER DOMAIN" + border_width 1 + border_color black + help job_run_multithreading + } + + display { + position +12 0 + size 4 4 + display "job_mfront_sparse_nthreads_dom" + visible "and( not(*job_option ddm_precond:direct)\ + *job_option parallel:on)" + } + + label { + position 0 +4 + size 14 4 + text "# THREADS" + border_color black + border_width 1 + help job_run_multithreading + } + + roller { + position +14 = + size 14 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option mfront_sparse_multi_threading_ddm:automatic" + "*job_option mfront_sparse_multi_threading_ddm:user" + help job_run_multithreading + rollers "*job_option mfront_sparse_multi_threading_ddm:automatic" + "*job_option mfront_sparse_multi_threading_ddm:user" + } + + frame { + position +14 = + size 16 4 + group job_mfront_sparse_multi_threads_ddm_automatic_gr + visible "*job_option mfront_sparse_multi_threading_ddm:automatic" + } + + frame { + position = = + size 16 4 + group job_mfront_sparse_multi_threads_ddm_user_gr + visible "*job_option mfront_sparse_multi_threading_ddm:user" + } +} +#-------------------------------------------------------------------------------------------------- +group job_mfront_sparse_multi_threads_ddm_automatic_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + border_width 1 + border_color black + } + + integer { + position +8 = + size 8 4 + display valid_domains + visible "*job_option ddm_generator:preprocessor" + } + + integer { + position = = + size 8 4 + display "job_param_ndomains" + visible "*job_option ddm_generator:fea_solver" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_mfront_sparse_multi_threads_ddm_user_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + help job_run_multithreading + } + + text { + position +8 = + size 8 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + } +} + + + +#-------------------------------------------------------------------------------------------------- +group job_solver_gpu_gr { + + toggle { + position 0 0 + size 30 4 + text "USE \{GPU(s)}" + toggle "*job_option solver_use_gpu:on" + true_command "*job_option solver_use_gpu:on" + false_command "*job_option solver_use_gpu:off" + help job_solver_gpu + } + frame{ + position 0 +4 + size 28 4 + group{ + layout hbox + + label { + position 0 0 + size 16 4 + text "\{GPU} SELECTION" + border_width 1 + border_color black + visible "*job_option solver_use_gpu:on" + } + + roller { + position +16 = + size 12 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option solver_gpus:automatic" + "*job_option solver_gpus:user" + rollers "*job_option solver_gpus:automatic" + "*job_option solver_gpus:user" + visible "*job_option solver_use_gpu:on" + help job_solver_gpu + } + + text { + position +12 = + size 12 4 + display job_solver_gpus + command "*clear_job_solver_gpus *job_solver_gpus" + visible "and(*job_option solver_use_gpu:on,*job_option solver_gpus:user)" + } + spacer { + stretch 1 + } + } + } +} + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_pardiso_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option pardiso_multi_threading:on" + true_command "*job_option pardiso_multi_threading:on" + false_command "*job_option pardiso_multi_threading:off" + help job_run_multithreading + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option pardiso_multi_threading:on" + help job_param + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option pardiso_multi_threading:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_pardiso_parallel_on_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + help job_run_multithreading + toggle true + set $dummy dummy + } + + label { + position = +4 + size 14 4 + text "# THREADS" + border_color black + border_width 1 + } + + roller { + position +14 = + size 14 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option pardiso_multi_threading_ddm:automatic" + "*job_option pardiso_multi_threading_ddm:user" + help job_run_multithreading + rollers "*job_option pardiso_multi_threading_ddm:automatic" + "*job_option pardiso_multi_threading_ddm:user" + } + + frame { + position +14 = + size 16 4 + group job_pardiso_multi_threads_ddm_automatic_gr + visible "*job_option pardiso_multi_threading_ddm:automatic" + } + + frame { + position = = + size 16 4 + group job_pardiso_multi_threads_ddm_user_gr + visible "*job_option pardiso_multi_threading_ddm:user" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_pardiso_multi_threads_ddm_automatic_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + border_width 1 + border_color black + } + + integer { + position +8 = + size 8 4 + display valid_domains + visible "*job_option ddm_generator:preprocessor" + } + + integer { + position = = + size 8 4 + display "job_param_ndomains" + visible "*job_option ddm_generator:fea_solver" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_pardiso_multi_threads_ddm_user_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + help job_param + } + + text { + position +8 = + size 8 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + } +} + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_it_ext_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option it_ext_multi_threading:on" + true_command "*job_option it_ext_multi_threading:on" + false_command "*job_option it_ext_multi_threading:off" + help job_run_multithreading + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option it_ext_multi_threading:on" + help job_param + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option it_ext_multi_threading:on" + } +} + +#-------------------------------------------------------------------------------------------------- +group job_parallel_env_gr { + + frame{ + position 0 +4 + size 40 4 + group{ + layout hbox + label{ + position 0 0 + size 8 4 + text "SETUP" + help job_run_ddm_setup + } + oneonly { + position +12 = + size 12 4 + text "SINGLE MACHINE" + oneonly "*job_option parallel_setup:single" + command "*job_option parallel_setup:single" + help job_run_ddm_setup + } + oneonly { + position +8 = + size 12 4 + text "NETWORK" + oneonly "*job_option parallel_setup:network" + command "*job_option parallel_setup:network" + help job_run_ddm_setup + } + + spacer { + stretch 1 + } + } + } + + + frame { + position +1 +5 + size 40 16 + group job_parallel_env_network_gr + visible "*job_option parallel_setup:network" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_parallel_env_network_gr { + + button { + position 0 0 + size 28 4 + text "HOST FILE" + browser host_file_browser + settext $host_file_browser_label "SELECT HOST FILE" + set $host_file_browser_command "*job_host_file" + help job_host_file + } + + button { + position +28 = + size 8 4 + text "EDIT" + command "*job_edit_host_file" + help job_edit_host_file + visible job_host_file + } + + button { + position +8 = + size 8 4 + text "CLEAR" + command "*job_clear_host_file" + help job_clear_host_file + visible job_host_file + } + + display { + position 0 +4 + size 44 4 + display job_host_file + } + + frame { + position 0 +5 + size 44 9 + group job_parallel_env_network_ddm_gr + visible "*job_option parallel:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_parallel_env_network_ddm_gr { + + toggle { + position 0 0 + size 22 4 + text "COPY INPUT FILE" + toggle "*job_option copy_input_file:on" + true_command "*job_option copy_input_file:on" + false_command "*job_option copy_input_file:off" + help job_host_copy_inputfile + } + + toggle { + position +23 = + size 21 4 + text "COPY POST FILE" + toggle "*job_option copy_post_file:on" + true_command "*job_option copy_post_file:on" + false_command "*job_option copy_post_file:off" + help job_host_copy_inputfile + } + + label { + position 0 +5 + size 10 4 + text "HOSTS" + border_width 1 + border_color black + visible job_usersub_file + } + + roller { + position +10 = + size 18 4 + nvalues 2 + texts "COMPATIBLE" + "INCOMPATIBLE" + roller "job_option network_hosts" + commands "*job_option network_hosts:compatible" + "*job_option network_hosts:incompatible" + help job_host_comp + visible job_usersub_file + } +} + + +#endif diff --git a/installation/mods_MarcMentat/2019.1/Mentat_menus/job_run.ms.original b/installation/mods_MarcMentat/2019.1/Mentat_menus/job_run.ms.original new file mode 100644 index 000000000..67fe07ee5 --- /dev/null +++ b/installation/mods_MarcMentat/2019.1/Mentat_menus/job_run.ms.original @@ -0,0 +1,2615 @@ +#ifndef AUTOFORGE +popmenu job_title_pm file jobs.ms +popdown job_title_ok file jobs.ms + +group user_domains_gr file domain_decomposition.ms +group user_domains_generate_gr file domain_decomposition.ms +group user_domains_tail_gr file domain_decomposition.ms +group matrix_solver_gr file job_common.ms +popmenu ddm_options file job_common.ms + +browser edit_browser file file.ms +browser directory_browser file file.ms +screen domains file domain_decomposition.ms + + + + browser usersub_file_browser { + position 0 0 + size 82 72 + text "$usersub_file_browser_label" ($usersub_file_browser_label) + filter "*.f *.F *.f90 *.F90" + nvisible 10 + select_files true + cancel_action popdown + ok_action popdown + command "$usersub_file_browser_command" ($usersub_file_browser_command) + } + + + + browser host_file_browser { + position 0 0 + size 82 72 + text "$host_file_browser_label" ($host_file_browser_label) + filter "*" + nvisible 10 + select_files true + cancel_action popdown + ok_action popdown + command "$host_file_browser_command" ($host_file_browser_command) + } + + +#-------------------------------------------------------------------------------------------------- +popmenu job_run_popmenu { + + text "RUN JOB" + + group { + + + label { + position 0 0 + size 6 4 + text "NAME" + } + + display { + position +6 = + size 26 4 + display "job_name" + } + + label { + position 0 +4 + size 6 4 + text "TYPE" + } + + display { + position +6 = + size 26 4 + display job_class_label + } + + button { + position 1 9 + size 24 4 + text "USER SUBROUTINE FILE" + browser usersub_file_browser + settext $usersub_file_browser_label "SELECT USER SUBROUTINE FILE" + set $usersub_file_browser_command "*job_usersub_file" + help job_usersub_file + } + + toggle { + position +26 = + size 22 4 + text "SELECTED USER SUBS" + toggle job_usersubs + help job_run_seluser + visible job_usersubs + popmenu job_usersub_pm + } + + display { + position 1 +4 + size 50 4 + display job_usersub_file + } + + button { + position 1 +4 + size 12 4 + text "EDIT" + command "*job_edit_usersub_file" + visible job_usersub_file + } + + button { + position +12 = + size 12 4 + text "CLEAR" + command "*job_clear_usersub_file" + visible job_usersub_file + } + + roller { + position +12 = + size 26 4 + nvalues 3 + texts "COMPILE / NO SAVE" + "COMPILE AND SAVE" + "RUN SAVED EXECUTABLE" + help job_run_compile + roller "job_option user_source" + visible job_usersub_file + commands "*job_option user_source:compile_nosave" + "*job_option user_source:compile_save" + "*job_option user_source:run_saved" + } + + button { + position 1 +6 + size 24 4 + text "SOLVER/PARALLELIZATION" + help job_run_parallel + popmenu job_run_parallelization_pm + set $popname2 "job_run_parallelization_pm" + } + frame { + position 1 +4 + size 48 16 + border_width 1 + border_color black + + group{ + layout hbox + frame { + position 0 0 + size 24 16 + group { + layout vbox + + display { + position 0 0 + size 24 4 + display job_solver_solution + } + + display { + position = +4 + size 24 4 + display job_solver_type + } + spacer { + stretch 1 + } + + } + } + + frame { + position +22 = + size 24 16 + border_width 1 + border_color black + + group { + #layout vbox + display { + position = +4 + size 24 4 + display job_ddm_domains + } + + display { + position = +4 + size 24 4 + display job_assem_recov_nthreads + } + + display { + position = +4 + size 24 4 + display job_solver_procs + visible solver_allows_multi_procs + } + + display { + position = = + size 24 4 + display job_solver_threads + visible "and(solver_allows_multi_threads,\ + not(and(job_solver_mfront_sparse,\ + *job_option parallel:on)))" + } + + display { + position = +4 + size 24 4 + display job_solver_gpu + visible "and(job_solver_mfront_sparse,job_nonsym_off)" + } + } + } + } + } + + button { + position 1 +18 + size 8 4 + text "TITLE" + popmenu job_title_pm + command "*job_title" + } + +# see also job_common.ms +# see also the ADVANCED JOB SUBMISSION popmenu in this file + + label { + position +10 = + size 7 4 + text "STYLE" + border_width 1 + border_color black + } + + roller { + position +7 = + size 18 4 + nvalues 3 + texts "TABLE-DRIVEN" + "MULTI-PHYSICS" + "OLD" + rollers "job_input_style_table_driven" + "job_input_style_multi_physics" + "job_input_style_old" + commands "*job_option input_style:new *job_option input_physics_style:old" + "*job_option input_physics_style:new *job_option input_style:new" + "*job_option input_style:old *job_option input_physics_style:old" + visibles "job_allows_input_style_table_driven" + "job_allows_input_style_multi_physics" + "job_allows_input_style_old" + help job_option_input_style + } + + button { + position +20 = + size 13 4 + text "SAVE MODEL" + command "*save_model" + } + + button { + position 1 +6 + size 16 6 + text "SUBMIT (1)" + command "*submit_job 1 *monitor_job" + } + + button { + position +16 = + size 34 6 + text "ADVANCED JOB SUBMISSION" + popmenu job_submit_adv_pm + } + + button { + position 1 +6 + size 16 6 + text "UPDATE" + command "*update_job" + } + + button { + position +16 = + size 16 6 + text "MONITOR" + command "*monitor_job" + } + + button { + position +16 = + size 18 6 + text "KILL" + command "*kill_job *monitor_job" + } + + label { + position 1 +7 + size 32 4 + text "STATUS" + border_width 1 + border_color black + } + + display { + position +32 = + size 18 4 + display "job_status" + } + + label { + position -32 +4 + size 32 4 + text "CURRENT INCREMENT (CYCLE)" + border_width 1 + border_color black + } + + display { + position +32 = + size 18 4 + display "job_increment" + } + + label { + position -32 +4 + size 32 4 + text "SINGULARITY RATIO" + border_width 1 + border_color black + } + + float { + position +32 = + size 18 4 + display "job_singularity_ratio" + } + + label { + position -32 +4 + size 32 4 + text "CONVERGENCE RATIO" + border_width 1 + border_color black + } + + float { + position +32 = + size 18 4 + display "job_convergence_ratio" + } + + label { + position 1 +4 + size 32 4 + text "ANALYSIS TIME" + border_width 1 + border_color black + } + + float { + position +32 = + size 18 4 + display "job_analysis_time" + } + + label { + position -32 +4 + size 32 4 + text "WALL TIME" + border_width 1 + border_color black + } + + display { + position +32 = + size 18 4 + display "job_time" + } + + frame { + position 1 +4 + size 50 8 + + group { + + frame { + position 0 0 + size 50 8 + text "TOTAL" + border_width 1 + border_color black + group { + + label { + position +6 = + size 13 4 + text "CYCLES" + border_width 1 + border_color black + } + + integer { + position +13 = + size 10 4 + display "acc_job_cycles" + border_width 1 + border_color black + } + + label { + position -13 +4 + size 13 4 + text "SEPARATIONS" + border_width 1 + border_color black + } + + integer { + position +13 = + size 10 4 + display "acc_job_separations" + border_width 1 + border_color black + } + + label { + position +10 -4 + size 11 4 + text "CUT BACKS" + border_width 1 + border_color black + } + + integer { + position +11 = + size 10 4 + display "acc_job_cut_backs" + border_width 1 + border_color black + } + + label { + position -11 +4 + size 11 4 + text "REMESHES" + border_width 1 + border_color black + } + + integer { + position +11 = + size 10 4 + display "acc_job_remeshes" + border_width 1 + border_color black + } + } + } + } + } + + label { + position 1 +8 + size 19 4 + text "EXIT NUMBER" + border_width 1 + border_color black + } + + integer { + position +19 = + size 10 4 + display "job_exit" + } + + button { + position +10 = + size 21 4 + text "EXIT MESSAGE" + popmenu job_exit_msg_pm + help exit_message + } + + label { + position 1 +6 + size 7 4 + text "EDIT" + border_width 1 + border_color black + } + + button { + position +7 = + size 12 4 + text "OUTPUT FILE" + command "*job_edit_output" + } + + button { + position +12 = + size 9 4 + text "LOG FILE" + command "*job_edit_log_file" + } + + button { + position +9 = + size 12 4 + text "STATUS FILE" + command "*job_edit_status_file" + } + + button { + position +12 = + size 10 4 + text "ANY FILE" + settext $edit_browser_label "EDIT FILE" + set $edit_browser_command "*edit_file" + browser edit_browser + help edit_file + } + + popdown { + position 1 +6 + size 32 4 + text "OPEN POST FILE (MODEL PLOT RESULTS MENU)" + command "@popdown(job_properties_pm) @main(results) @popup(modelplot_pm) *post_open_default" + } + + button { + position 1 +6 + size 12 8 + text "RESET" + command "*job_submit_reset" + } + + popdown { + position +38 = + size 12 8 + text "OK" + } + } + + window job_run_wi { + parent mentat + origin 35 1 + size 52 115 + background_color body + border_width 1 + border_color border + buffering single + } + + mode permanent +} + + +#-------------------------------------------------------------------------------------------------- +popmenu job_usersub_pm { + + text "CURRENTLY SELECTED USER SUBROUTINES" + + group { + + + display { + position 1 +5 + size 64 86 + display "job_usersubs" + } + + popdown { + position 27 +88 + size 12 8 + text "OK" + } + } + + window { + parent mentat + origin 38 8 + size 66 102 + background_color body + border_width 1 + border_color border + buffering single + } + + mode dialog +} + + +#-------------------------------------------------------------------------------------------------- +popmenu job_submit_adv_pm { + + text "ADVANCED JOB SUBMISSION" + + group { + + + label { + position 0 0 + size 6 4 + text "NAME" + } + + display { + position +6 = + size 26 4 + display "job_name" + } + + label { + position 0 +4 + size 6 4 + text "TYPE" + } + + display { + position +6 = + size 26 4 + display job_class_label + } + + label { + position 1 9 + size 19 4 + text "INITIAL ALLOCATION" + border_width 1 + border_color black + } + label { + position +19 = + size 15 4 + text "GENERAL MEMORY" + help job_param_general_init_allocation + } + text { + position +15 = + size 10 4 + display "job_param_value_general_init_allocation" + command "*job_param general_init_allocation" + help job_param_general_init_allocation + } + + label { + position +10 = + size 4 4 + text "MB" + border_width 1 + border_color black + } + + toggle { + position 1 +5 + size 32 4 + text "OUT-OF-CORE ELEMENT STORAGE" + help job_param_elsto + toggle "*job_option elsto:on" + true_command "*job_option elsto:on" + false_command "*job_option elsto:off" + } + + toggle { + position 1 +4 + size 32 4 + text "OUT-OF-CORE INCREMENTAL BACKUP" + help job_param_inc_backup_storage + toggle "*job_option inc_backup_storage:out_of_core" + true_command "*job_option inc_backup_storage:out_of_core" + false_command "*job_option inc_backup_storage:in_core" + } + + toggle { + position +34 = + size 14 4 + text "CHECK SIZES" + help job_run_check + toggle "*job_option check:on" + true_command "*job_option check:on" + false_command "*job_option check:off" + } + + frame { + position 1 +6 + size 48 12 + text "MARC INPUT FILE" + border_width 1 + border_color black + + group { + + label { + position 0 4 + size 9 4 + text "VERSION" + border_width 1 + border_color black + } + + roller { + position +9 = + size 14 4 + nvalues 28 + nvisible 28 + texts "DEFAULT" +#if 0 + "2019.1" +#endif + "2019" + "2018.1" + "2018" + "2017.1" + "2017" + "2016" + "2015" + "2014.2" + "2014.1" + "2014" + "2013.1" + "2013" + "2012" + "2011" + "2010.2" + "2010" + "2008" + "2007" + "2005R3" + "2005" + "2003" + "2001" + "2000" +#if 0 + "8" +#endif + "K7" + "K6.2" + "K5" + "K4" + help job_param_version + rollers "job_input_version_default" +#if 0 + "job_input_version_2019.1" +#endif + "job_input_version_2019" + "job_input_version_2018.1" + "job_input_version_2018" + "job_input_version_2017.1" + "job_input_version_2017" + "job_input_version_2016" + "job_input_version_2015" + "job_input_version_2014.2" + "job_input_version_2014.1" + "job_input_version_2014" + "job_input_version_2013.1" + "job_input_version_2013" + "job_input_version_2012" + "job_input_version_2011" + "job_input_version_2010.2" + "job_input_version_2010" + "job_input_version_2008" + "job_input_version_2007" + "job_input_version_2005r3" + "job_input_version_2005" + "job_input_version_2003" + "job_input_version_2001" + "job_input_version_2000" +#if 0 + "job_input_version_8" +#endif + "job_input_version_k7" + "job_input_version_k6" + "job_input_version_k5" + "job_input_version_k4" + commands "*job_option version:default" +#if 0 + "*job_option version:2019.1" +#endif + "*job_option version:2019" + "*job_option version:2018.1" + "*job_option version:2018" + "*job_option version:2017.1" + "*job_option version:2017" + "*job_option version:2016" + "*job_option version:2015" + "*job_option version:2014.2" + "*job_option version:2014.1" + "*job_option version:2014" + "*job_option version:2013.1" + "*job_option version:2013" + "*job_option version:2012" + "*job_option version:2011" + "*job_option version:2010.2" + "*job_option version:2010" + "*job_option version:2008" + "*job_option version:2007" + "*job_option version:2005r3" + "*job_option version:2005" + "*job_option version:2003" + "*job_option version:2001" + "*job_option version:2000" +#if 0 + "*job_option version:8" +#endif + "*job_option version:k7" + "*job_option version:k6" + "*job_option version:k5" + "*job_option version:k4" + visibles "job_allows_input_version_default" +#if 0 + "job_allows_input_version_2019.1" +#endif + "job_allows_input_version_2019" + "job_allows_input_version_2018.1" + "job_allows_input_version_2018" + "job_allows_input_version_2017.1" + "job_allows_input_version_2017" + "job_allows_input_version_2016" + "job_allows_input_version_2015" + "job_allows_input_version_2014.2" + "job_allows_input_version_2014.1" + "job_allows_input_version_2014" + "job_allows_input_version_2013.1" + "job_allows_input_version_2013" + "job_allows_input_version_2012" + "job_allows_input_version_2011" + "job_allows_input_version_2010.2" + "job_allows_input_version_2010" + "job_allows_input_version_2008" + "job_allows_input_version_2007" + "job_allows_input_version_2005r3" + "job_allows_input_version_2005" + "job_allows_input_version_2003" + "job_allows_input_version_2001" + "job_allows_input_version_2000" +#if 0 + "job_allows_input_version_8" +#endif + "job_allows_input_version_k7" + "job_allows_input_version_k6" + "job_allows_input_version_k5" + "job_allows_input_version_k4" + } + +# see also job_common.ms +# see also the RUN JOB popmenu in this file + + label { + position +14 = + size 7 4 + text "STYLE" + border_width 1 + border_color black + } + + roller { + position +7 = + size 18 4 + nvalues 3 + texts "TABLE-DRIVEN" + "MULTI-PHYSICS" + "OLD" + rollers "job_input_style_table_driven" + "job_input_style_multi_physics" + "job_input_style_old" + commands "*job_option input_style:new *job_option input_physics_style:old" + "*job_option input_physics_style:new *job_option input_style:new" + "*job_option input_style:old *job_option input_physics_style:old" + visibles "job_allows_input_style_table_driven" + "job_allows_input_style_multi_physics" + "job_allows_input_style_old" + help job_option_input_style + } + + toggle { + position 0 +4 + size 24 4 + text "EXTENDED PRECISION" + help job_run_precision + toggle "*job_option inp_file_prec:extended" + true_command "*job_option inp_file_prec:extended" + false_command "*job_option inp_file_prec:normal" + } + toggle { + position +24 = + size 24 4 + text "INCLUDE UNUSED TABLES" + toggle "*job_option input_file_tables:all" + true_command "*job_option input_file_tables:all" + false_command "*job_option input_file_tables:used" + } + } + } + + button { + position 1 +14 + size 24 4 + text "SCRATCH DIRECTORY" + settext $directory_browser_label "JOB SCRATCH DIRECTORY" + set $directory_browser_command "*job_scratch_directory" + browser directory_browser + help job_scratch_directory + } + + button { + position +24 = + size 24 4 + text "CLEAR" + command "*job_clear_scratch_directory" + visible job_scratch_directory + } + + text { + position 1 +4 + size 48 4 + display job_scratch_dir + command "*job_scratch_directory" + } + +#ifdef DCOM + toggle { + position 1 +6 + size 8 4 + text "\{DCOM}" + toggle "*job_option dcom:on" + help job_run_dcom + true_command "*job_option dcom:on" + false_command "*job_option dcom:off" + visible win32_available + } + + button { + position +8 = + size 12 4 + text "HOSTNAME" + command "*job_dcom_hostname" + visible "and(win32_available, *job_option dcom:on)" + } + + text job_dcom_hostname { + position +12 = + size 28 4 + display "job_dcom_hostname" + command "*job_dcom_hostname" + visible "and(win32_available, *job_option dcom:on)" + } +#endif + + button { + position 1 +6 + size 24 4 + text "TITLE" + popmenu job_title_pm + command "*job_title" + } + + button { + position +24 = + size 24 4 + text "SAVE MODEL" + command "*save_model" + } + + button { + position +4 +6 + size 20 4 + text "WRITE INPUT FILE" + command "*job_write_input" + } + + button { + position = +4 + size 20 4 + text "EDIT INPUT FILE" + command "*job_edit_input" + } + + popdown { + position 1 +5 + size 20 6 + text "SUBMIT 1" + command "*submit_job 1 *monitor_job" + } + + popdown { + position +28 = + size 20 6 + text "EXECUTE 1" + command "*execute_job 1 *monitor_job" + } + + popdown { + position -28 +6 + size 20 6 + text "SUBMIT 2" + command "*submit_job 2 *monitor_job" + } + + popdown { + position +28 = + size 20 6 + text "EXECUTE 2" + command "*execute_job 2 *monitor_job" + } + + popdown { + position -28 +6 + size 20 6 + text "SUBMIT 3" + command "*submit_job 3 *monitor_job" + } + + popdown { + position +28 = + size 20 6 + text "EXECUTE 3" + command "*execute_job 3 *monitor_job" + } + + popdown { + position 19 +8 + size 12 8 + text "OK" + } + } + + window { + parent mentat + origin 38 8 +#ifdef DCOM + size 50 100 +#else + size 50 94 +#endif + background_color body + border_width 1 + border_color border + buffering single + } + + mode permanent +} + + +#-------------------------------------------------------------------------------------------------- +popmenu job_exit_msg_pm { + + text "EXIT MESSAGE" + + group { + + + + text { + position 1 5 + size 84 74 + multiline + readonly + display "job_exit_msg" + } + + popdown { + position 37 +76 + size 12 8 + text "OK" + } + } + + window { + parent mentat + origin 38 8 + size 86 90 + background_color body + border_width 1 + border_color border + buffering single + } + + mode dialog +} + + + + +#-------------------------------------------------------------------------------------------------- +popmenu job_run_parallelization_pm { + + text "SOLVER/PARALLELIZATION" + + group { + layout vbox + frame { + position 0 0 + size 42 8 + group { + + label { + position 0 0 + size 6 4 + text "NAME" + } + + display { + position +6 = + size 36 4 + display "job_name" + } + + label { + position 0 +4 + size 6 4 + text "TYPE" + } + + display { + position +6 = + size 36 4 + display job_class_label + } + } + } + frame { + position 0 8 + size 42 20 + group job_ddm_gr + text "DOMAIN DECOMPOSITION" + border_width 1 + border_color black + } + + frame { + position 0 +20 + size 42 13 + group job_assem_recov_gr + text "ASSEMBLY AND RECOVERY" + border_width 1 + border_color black + } + + frame { + position 0 +14 + size 42 31 + group job_parallel_matrix_solver_gr + text "MATRIX SOLVER" + border_width 1 + border_color black + } + + frame { + position 0 +32 + size 42 28 + group job_parallel_env_gr + text "PARALLELIZATION ENVIRONMENT" + border_width 1 + border_color black + visible "or(*job_option parallel:on, \ + solver_multi_procs)" + } + frame { + position 15 +30 + size 42 8 + group { + layout hbox + + spacer { + stretch 1 + } + popdown { + position 15 0 + size 12 8 + text "OK" + } + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + stretch 1 + } + } + + window { + parent mentat + origin 38 1 + size 60 119 + background_color body + border_width 1 + border_color border + buffering single + } + mode permanent +} + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_gr { + + toggle { + position 1 4 + size 42 4 + text "USE \{DDM}" + toggle "*job_option parallel:on" + help job_run_ddm_use + true_command "*job_option parallel:on" + false_command "*job_option parallel:off" + active "and(not(job_solver_it_ext),\ + not(job_solver_mixed_direct_iterative))" + } + + frame { + position = +5 + size 42 4 + group job_ddm_use_gr + visible "*job_option parallel:on" + } +} + +group job_ddm_use_gr { + layout vbox + frame{ + position 0 0 + size 30 4 + group { + layout hbox + label { + position 0 0 + size 12 4 + text "DECOMPOSITION IN" + help job_run_ddm_generator + } + oneonly{ + position +12 = + size 8 4 + text "MARC" + oneonly "*job_option ddm_generator:fea_solver" + command "*job_option ddm_generator:fea_solver" + help job_run_ddm_generator + } + oneonly{ + position +12 = + size 8 4 + text "MENTAT" + oneonly "*job_option ddm_generator:preprocessor" + command "*job_option ddm_generator:preprocessor" + help job_run_ddm_generator + } + } + } + + frame { + position 0 +5 + size 44 8 + group job_ddm_fea_solver_gr + visible "*job_option ddm_generator:fea_solver" + } + + frame { + position = = + size 44 8 + group job_ddm_preprocessor_gr + visible "*job_option ddm_generator:preprocessor" + } + + frame{ + position 0 +5 + size 40 4 + group{ + layout hbox + text { + position 0 0 + size 22 4 + text "Single Input File" + readonly + visible "*job_option ddm_generator:fea_solver" + } + + roller { + position = = + size 22 4 + nvalues 2 + texts "MULTIPLE INPUT FILES" + "SINGLE INPUT FILE" + roller "job_option ddm_single_input" + commands "*job_option ddm_single_input:off" + "*job_option ddm_single_input:on" + visible "*job_option ddm_generator:preprocessor" + help job_run_ddm_single_input + } + + roller { + position +23 = + size 21 4 + nvalues 2 + texts "MULTIPLE POST FILES" + "SINGLE POST FILE" + roller "job_option ddm_single_post" + commands "*job_option ddm_single_post:off" + "*job_option ddm_single_post:on" + help job_run_ddm_single_post + } + } + } +} + + + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_fea_solver_gr { + + label { + position 0 0 + size 10 4 + text "# DOMAINS" + help job_param + } + + text { + position +10 = + size 4 4 + display "job_param_value_ndomains" + command "*job_param ndomains" + } + + label { + position 0 +4 + size 7 4 + text "METHOD" + border_width 1 + border_color black + } + + roller { + position +7 = + size 18 4 + nvalues 7 + texts "METIS BEST" + "METIS ELEMENT" + "METIS NODE" + "REC. COORD. BISECTION" + "VECTOR" + "RADIAL" + "ANGULAR" + help set_job_decomp_type + rollers "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + commands "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + } + + button { + position +18 = + size 12 4 + text "ADV. SETTINGS" + popmenu job_ddm_fea_solver_pm + } +} + + + + +#-------------------------------------------------------------------------------------------------- +popmenu job_ddm_fea_solver_pm { + + text "JOB PARALLELIZATION" + + group { + units 32 120 + + + label { + position 0 5 + size 6 4 + text "NAME" + } + + display { + position +6 = + size 26 4 + display "job_name" + } + + label { + position 0 +4 + size 6 4 + text "TYPE" + } + + display { + position +6 = + size 26 4 + display job_class_label + } + + frame { + + position 0 +9 + size 32 76 + text "ADVANCED DECOMPOSITION IN MARC" + border_width 1 + border_color black + + group { + + label { + position 1 4 + size 16 4 + text "# DOMAINS" + help job_param + } + + text { + position +16 = + size 14 4 + display "job_param_value_ndomains" + command "*job_param ndomains" + } + + label { + position 1 +4 + size 7 4 + text "METHOD" + border_width 1 + border_color black + } + + roller { + position +7 = + size 23 4 + nvalues 7 + texts "METIS BEST" + "METIS ELEMENT" + "METIS NODE" + "REC. COORD. BISECTION" + "VECTOR" + "RADIAL" + "ANGULAR" + help set_job_decomp_type + rollers "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + commands "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + } + + frame { + position 1 +5 + size 30 20 + group job_ddm_direction_gr + visible "or(*job_option ddm_method:vector, \ + *job_option ddm_method:radial, \ + *job_option ddm_method:angular)" + } + + toggle { + position 1 +21 + size 30 4 + text "DOMAIN ISLAND REMOVAL" + toggle "*job_option ddm_island_removal:on" + true_command "*job_option ddm_island_removal:on" + false_command "*job_option ddm_island_removal:off" + } + + label { + position 1 +4 + size 15 4 + border_width 1 + border_color black + text "GRAPH" + } + + roller { + position +15 = + size 15 4 + nvalues 2 + texts "COARSE" + "FINE" + help ddm_decomp_coarse_graph + rollers "*job_option ddm_graph:coarse" + "*job_option ddm_graph:fine" + commands "*job_option ddm_graph:coarse" + "*job_option ddm_graph:fine" + visible "or(*job_option ddm_method:metis_best, \ + *job_option ddm_method:metis_element_based, \ + *job_option ddm_method:metis_node_based)" + } + + label { + position 1 +4 + size 15 4 + border_width 1 + border_color black + text "QUADRATIC ELEMENTS" + } + + roller { + position +15 = + size 15 4 + nvalues 2 + texts "GENUINE" + "LINEARIZED" + help job_run_ddm_decomp_linearized + rollers "*job_option ddm_quadr_elems:genuine" + "*job_option ddm_quadr_elems:linearized" + commands "*job_option ddm_quadr_elems:genuine" + "*job_option ddm_quadr_elems:linearized" + } + + label { + position 1 +5 + size 15 4 + text "ELEMENT WEIGHT FACTOR" + help job_param + } + + text { + position +15 = + size 15 4 + display "job_param_value_ddm_elem_weight_factor" + command "*job_param ddm_elem_weight_factor" + help job_run_ddm_decomp_element_weight_factor + } + + toggle { + position 1 +5 + size 30 4 + text "DETECT CONTACT" + toggle "*job_option ddm_detect_contact:on" + true_command "*job_option ddm_detect_contact:on" + false_command "*job_option ddm_detect_contact:off" + visible "or(*job_option ddm_method:metis_best, \ + *job_option ddm_method:metis_element_based, \ + *job_option ddm_method:metis_node_based)" + help job_run_ddm_decomp_detect_contact + } + + label { + position = +5 + size 15 4 + text "CONTACT TOLERANCE" + visible "*job_option ddm_detect_contact:on" + } + + text { + position +15 = + size 15 4 + command "*set_ddm_contact_tolerance" + display "job_param_value_ddm_contact_tolerance" + command "*job_param ddm_contact_tolerance" + visible "*job_option ddm_detect_contact:on" + help job_run_ddm_decomp_contact_tolerance + } + + label { + position -15 +4 + size 15 4 + text "CONTACT CONSTR FACTOR" + visible "*job_option ddm_detect_contact:on" + } + + text { + position +15 = + size 15 4 + display "job_param_value_ddm_contact_constr_factor" + command "*job_param ddm_contact_constr_factor" + visible "*job_option ddm_detect_contact:on" + help job_run_ddm_decomp_contact_constraint_factor + } + } + } + + popdown { + position 0 +77 + size 32 8 + text "OK" + } + } + mode permanent +} # job_ddm_fea_solver_pm + + + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_direction_gr { + + button { + position 0 0 + size 15 4 + text "DIRECTION" + command "*job_vector ddm_sort_direction_x" + visible "*job_option ddm_method:vector" + } + + button { + position = = + size 15 4 + text "DIRECTION" + command "*job_vector ddm_sort_direction_x" + visible "not(*job_option ddm_method:vector)" + } + + button { + position +15 = + size 15 4 + text "FROM / TO" + command "*job_vector_from_to ddm_sort_direction_x" + } + + text { + position -15 +4 + size 10 4 + command "*job_param ddm_sort_direction_x" + display "job_param_value_ddm_sort_direction_x" + help ddm_job_decomp_user_direction_x + } + + text { + position +10 = + size 10 4 + command "*job_param ddm_sort_direction_y" + display "job_param_value_ddm_sort_direction_y" + } + + text { + position +10 = + size 10 4 + command "*job_param ddm_sort_direction_z" + display "job_param_value_ddm_sort_direction_z" + } + + frame { + position 0 +4 + size 30 8 + group job_ddm_sort_point_gr + visible "not(*job_option ddm_method:vector)" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_sort_point_gr { + + label { + position 0 0 + size 14 4 + border_width 1 + border_color black + text "POINT ON AXIS" + } + + roller { + position +14 = + size 10 4 + nvalues 2 + texts "DEFAULT" + "USER" + roller "job_option ddm_sort_point" + commands "*job_option ddm_sort_point:default" + "*job_option ddm_sort_point:user" + } + + button { + position +10 = + size 6 4 + text "SET" + command "*job_position ddm_sort_point_x" + visible "*job_option ddm_sort_point:user" + } + + text { + position 0 +4 + size 10 4 + command "*job_param ddm_sort_point_x" + display "job_param_value_ddm_sort_point_x" + visible "*job_option ddm_sort_point:user" + } + + text { + position +10 = + size 10 4 + command "*job_param ddm_sort_point_y" + display "job_param_value_ddm_sort_point_y" + visible "*job_option ddm_sort_point:user" + } + + text { + position +10 = + size 10 4 + command "*job_param ddm_sort_point_z" + display "job_param_value_ddm_sort_point_z" + visible "*job_option ddm_sort_point:user" + } +} + + + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_preprocessor_gr { + + label { + position 0 0 + size 10 4 + text "# DOMAINS" + border_width 1 + border_color black + } + + integer { + position +10 = + size 4 4 + display valid_domains + } + + button { + position 0 +4 + size 30 4 + text "USER DOMAINS" + popmenu domains_pm + help job_run_ddm_user_domains + } +} + + + + +#-------------------------------------------------------------------------------------------------- +group job_assem_recov_gr { + + toggle { + position 1 +4 + size 30 4 + text "MULTIPLE THREADS" + true_command "*job_option assem_recov_multi_threading:on" + false_command "*job_option assem_recov_multi_threading:off" + toggle "*job_option assem_recov_multi_threading:on" + } + + label { + position = +4 + size 12 4 + text "# THREADS" + visible "*job_option assem_recov_multi_threading:on" + } + + text { + position +12 = + size 4 4 + display "job_param_value_assem_recov_nthreads" + command "*job_param assem_recov_nthreads" + visible "*job_option assem_recov_multi_threading:on" + } + + label { + position +4 = + size 10 4 + visible "and(*job_option assem_recov_multi_threading:on, \ + *job_option parallel:on)" + text "PER DOMAIN" + border_width 1 + border_color black + } + + display { + position +12 = + size 4 4 + display "job_assem_recov_nthreads_dom" + visible "and(*job_option assem_recov_multi_threading:on, \ + *job_option parallel:on)" + } + spacer{ + stretch 2 + } + +} + + +#-------------------------------------------------------------------------------------------------- +group job_parallel_matrix_solver_gr { + layout vbox + frame { + position 1 0 + size 36 31 + group { + layout hbox + label { + position 3 4 + size 12 4 + text "SOLUTION" + border_width 1 + border_color black + } + oneonly { + position +12 = + size 12 4 + text "SYMMETRIC" + help job_param_solver_method + oneonly "job_nonsym_off" + command "*job_option solver_nonsym:off" + } + oneonly { + position +12 = + size 12 4 + text "NONSYMMETRIC" + help job_param_solver_method + oneonly "job_nonsym_on" + command "*job_option solver_nonsym:on" + } + spacer { + stretch 1 + } + } + } + + frame { + position 1 +5 + size 42 23 + group matrix_solver_gr + help job_param_solver + } + + frame { + position +1 = + size 42 4 + group job_run_solver_ddm_opts_gr + visible "*job_option parallel:on" + } + + frame { + position 1 +23 + size 42 8 + group job_solver_multi_procs_gr + visible solver_allows_multi_procs + } + + frame { + position = = + size 42 8 + group job_solver_multi_threads_gr + visible solver_allows_multi_threads + } + + frame { + position 1 +9 + size 42 8 + group job_solver_gpu_gr + visible "and(job_solver_mfront_sparse,job_nonsym_off)" + } + +} + + +#-------------------------------------------------------------------------------------------------- +group job_run_solver_ddm_opts_gr { + + button { + position 0 0 + size 14 4 + text "\{DDM} OPTIONS" + popmenu ddm_options +# see also job_common.ms! + visible "not(or(job_solver_it_sparse, \ + job_solver_it_ext, \ + job_solver_mixed_direct_iterative, \ + job_solver_pardiso,\ + job_solver_mumps))" + } + button { + position = = + size 14 4 + text "\{DDM} OPTIONS" + popmenu ddm_options_mumps + visible "job_solver_mumps" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_procs_gr { + frame { + position 0 0 + size 42 8 + group job_solver_multi_procs_parallel_off_gr + visible "*job_option parallel:off" + } + + frame { + position = = + size 42 8 + group job_solver_multi_procs_parallel_on_gr + visible "*job_option parallel:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_procs_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE SOLVER PROCESSES" + true_command "*job_option nsolver_procs_serial:on" + false_command "*job_option nsolver_procs_serial:off" + toggle "*job_option nsolver_procs_serial:on" + help job_run_multithreading + } + + label { + position +2 +4 + size 14 4 + text "# PROCESSES" + visible "*job_option nsolver_procs_serial:on" + help job_param + } + + text { + position +14 = + size 14 4 + display "job_param_value_nsolver_procs" + command "*job_param nsolver_procs" + visible "*job_option nsolver_procs_serial:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_procs_parallel_on_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE SOLVER PROCESSES" + help job_run_multithreading + toggle true + set $dummy dummy + } + + label { + position +2 +4 + size 14 4 + text "# PROCESSES" + border_width 1 + border_color black + } + + roller { + position +14 = + size 14 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option nsolver_procs_ddm:automatic" + "*job_option nsolver_procs_ddm:user" + help job_run_multithreading + rollers "*job_option nsolver_procs_ddm:automatic" + "*job_option nsolver_procs_ddm:user" + } + + frame { + position +14 = + size 16 4 + group job_nsolver_procs_ddm_automatic_gr + visible "*job_option nsolver_procs_ddm:automatic" + } + + frame { + position = = + size 16 4 + group job_nsolver_procs_ddm_user_gr + visible "*job_option nsolver_procs_ddm:user" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_nsolver_procs_ddm_automatic_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + border_width 1 + border_color black + } + + integer { + position +8 = + size 8 4 + display valid_domains + visible "*job_option ddm_generator:preprocessor" + } + + integer { + position = = + size 8 4 + display "job_param_ndomains" + visible "*job_option ddm_generator:fea_solver" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_nsolver_procs_ddm_user_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + help job_param + } + + text { + position +8 = + size 8 4 + display "job_param_value_nsolver_procs" + command "*job_param nsolver_procs" + } +} + +group job_solver_multi_threads_gr { + layout vbox + spacing 0 + + frame { + size 46 8 + group job_solver_multi_threads_it_sparse_parallel_off_gr + visible "and(job_solver_it_sparse,*job_option parallel:off)" + } + + frame { + size 46 8 + group job_solver_multi_threads_mfront_sparse_parallel_off_gr + visible "and(job_solver_mfront_sparse,*job_option parallel:off)" + } + + frame { + size 46 8 + group job_solver_multi_threads_mfront_sparse_parallel_on_gr + visible "and(job_solver_mfront_sparse,*job_option parallel:on)" + } + + frame { + size 46 8 + group job_solver_multi_threads_pardiso_parallel_off_gr + visible "and(job_solver_pardiso,*job_option parallel:off)" + } + + frame { + size 46 8 + group job_solver_multi_threads_pardiso_parallel_on_gr + visible "and(job_solver_pardiso,*job_option parallel:on)" + } + + frame { + size 46 8 + group job_solver_multi_threads_it_ext_off_gr + visible "and(job_solver_it_ext,*job_option parallel:off)" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_it_sparse_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option it_sparse_multi_threading:on" + true_command "*job_option it_sparse_multi_threading:on" + false_command "*job_option it_sparse_multi_threading:off" + help job_run_multithreading + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option it_sparse_multi_threading:on" + help job_run_multithreading + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option it_sparse_multi_threading:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_mfront_sparse_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option mfront_sparse_multi_threading:on" + true_command "*job_option mfront_sparse_multi_threading:on" + false_command "*job_option mfront_sparse_multi_threading:off" + help job_run_multithreading + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option mfront_sparse_multi_threading:on" + help job_run_multithreading + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option mfront_sparse_multi_threading:on" + } +} + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_mfront_sparse_parallel_on_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + help job_run_multithreading + toggle true + set $dummy dummy + } + + label { + position +30 0 + size 12 4 + visible "and( not(*job_option ddm_precond:direct)\ + *job_option parallel:on)" + text "PER DOMAIN" + border_width 1 + border_color black + help job_run_multithreading + } + + display { + position +12 0 + size 4 4 + display "job_mfront_sparse_nthreads_dom" + visible "and( not(*job_option ddm_precond:direct)\ + *job_option parallel:on)" + } + + label { + position 0 +4 + size 14 4 + text "# THREADS" + border_color black + border_width 1 + help job_run_multithreading + } + + roller { + position +14 = + size 14 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option mfront_sparse_multi_threading_ddm:automatic" + "*job_option mfront_sparse_multi_threading_ddm:user" + help job_run_multithreading + rollers "*job_option mfront_sparse_multi_threading_ddm:automatic" + "*job_option mfront_sparse_multi_threading_ddm:user" + } + + frame { + position +14 = + size 16 4 + group job_mfront_sparse_multi_threads_ddm_automatic_gr + visible "*job_option mfront_sparse_multi_threading_ddm:automatic" + } + + frame { + position = = + size 16 4 + group job_mfront_sparse_multi_threads_ddm_user_gr + visible "*job_option mfront_sparse_multi_threading_ddm:user" + } +} +#-------------------------------------------------------------------------------------------------- +group job_mfront_sparse_multi_threads_ddm_automatic_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + border_width 1 + border_color black + } + + integer { + position +8 = + size 8 4 + display valid_domains + visible "*job_option ddm_generator:preprocessor" + } + + integer { + position = = + size 8 4 + display "job_param_ndomains" + visible "*job_option ddm_generator:fea_solver" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_mfront_sparse_multi_threads_ddm_user_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + help job_run_multithreading + } + + text { + position +8 = + size 8 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + } +} + + + +#-------------------------------------------------------------------------------------------------- +group job_solver_gpu_gr { + + toggle { + position 0 0 + size 30 4 + text "USE \{GPU(s)}" + toggle "*job_option solver_use_gpu:on" + true_command "*job_option solver_use_gpu:on" + false_command "*job_option solver_use_gpu:off" + help job_solver_gpu + } + frame{ + position 0 +4 + size 28 4 + group{ + layout hbox + + label { + position 0 0 + size 16 4 + text "\{GPU} SELECTION" + border_width 1 + border_color black + visible "*job_option solver_use_gpu:on" + } + + roller { + position +16 = + size 12 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option solver_gpus:automatic" + "*job_option solver_gpus:user" + rollers "*job_option solver_gpus:automatic" + "*job_option solver_gpus:user" + visible "*job_option solver_use_gpu:on" + help job_solver_gpu + } + + text { + position +12 = + size 12 4 + display job_solver_gpus + command "*clear_job_solver_gpus *job_solver_gpus" + visible "and(*job_option solver_use_gpu:on,*job_option solver_gpus:user)" + } + spacer { + stretch 1 + } + } + } +} + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_pardiso_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option pardiso_multi_threading:on" + true_command "*job_option pardiso_multi_threading:on" + false_command "*job_option pardiso_multi_threading:off" + help job_run_multithreading + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option pardiso_multi_threading:on" + help job_param + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option pardiso_multi_threading:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_pardiso_parallel_on_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + help job_run_multithreading + toggle true + set $dummy dummy + } + + label { + position = +4 + size 14 4 + text "# THREADS" + border_color black + border_width 1 + } + + roller { + position +14 = + size 14 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option pardiso_multi_threading_ddm:automatic" + "*job_option pardiso_multi_threading_ddm:user" + help job_run_multithreading + rollers "*job_option pardiso_multi_threading_ddm:automatic" + "*job_option pardiso_multi_threading_ddm:user" + } + + frame { + position +14 = + size 16 4 + group job_pardiso_multi_threads_ddm_automatic_gr + visible "*job_option pardiso_multi_threading_ddm:automatic" + } + + frame { + position = = + size 16 4 + group job_pardiso_multi_threads_ddm_user_gr + visible "*job_option pardiso_multi_threading_ddm:user" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_pardiso_multi_threads_ddm_automatic_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + border_width 1 + border_color black + } + + integer { + position +8 = + size 8 4 + display valid_domains + visible "*job_option ddm_generator:preprocessor" + } + + integer { + position = = + size 8 4 + display "job_param_ndomains" + visible "*job_option ddm_generator:fea_solver" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_pardiso_multi_threads_ddm_user_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + help job_param + } + + text { + position +8 = + size 8 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + } +} + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_it_ext_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option it_ext_multi_threading:on" + true_command "*job_option it_ext_multi_threading:on" + false_command "*job_option it_ext_multi_threading:off" + help job_run_multithreading + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option it_ext_multi_threading:on" + help job_param + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option it_ext_multi_threading:on" + } +} + +#-------------------------------------------------------------------------------------------------- +group job_parallel_env_gr { + + frame{ + position 0 +4 + size 40 4 + group{ + layout hbox + label{ + position 0 0 + size 8 4 + text "SETUP" + help job_run_ddm_setup + } + oneonly { + position +12 = + size 12 4 + text "SINGLE MACHINE" + oneonly "*job_option parallel_setup:single" + command "*job_option parallel_setup:single" + help job_run_ddm_setup + } + oneonly { + position +8 = + size 12 4 + text "NETWORK" + oneonly "*job_option parallel_setup:network" + command "*job_option parallel_setup:network" + help job_run_ddm_setup + } + + spacer { + stretch 1 + } + } + } + + + frame { + position +1 +5 + size 40 16 + group job_parallel_env_network_gr + visible "*job_option parallel_setup:network" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_parallel_env_network_gr { + + button { + position 0 0 + size 28 4 + text "HOST FILE" + browser host_file_browser + settext $host_file_browser_label "SELECT HOST FILE" + set $host_file_browser_command "*job_host_file" + help job_host_file + } + + button { + position +28 = + size 8 4 + text "EDIT" + command "*job_edit_host_file" + help job_edit_host_file + visible job_host_file + } + + button { + position +8 = + size 8 4 + text "CLEAR" + command "*job_clear_host_file" + help job_clear_host_file + visible job_host_file + } + + display { + position 0 +4 + size 44 4 + display job_host_file + } + + frame { + position 0 +5 + size 44 9 + group job_parallel_env_network_ddm_gr + visible "*job_option parallel:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_parallel_env_network_ddm_gr { + + toggle { + position 0 0 + size 22 4 + text "COPY INPUT FILE" + toggle "*job_option copy_input_file:on" + true_command "*job_option copy_input_file:on" + false_command "*job_option copy_input_file:off" + help job_host_copy_inputfile + } + + toggle { + position +23 = + size 21 4 + text "COPY POST FILE" + toggle "*job_option copy_post_file:on" + true_command "*job_option copy_post_file:on" + false_command "*job_option copy_post_file:off" + help job_host_copy_inputfile + } + + label { + position 0 +5 + size 10 4 + text "HOSTS" + border_width 1 + border_color black + visible job_usersub_file + } + + roller { + position +10 = + size 18 4 + nvalues 2 + texts "COMPATIBLE" + "INCOMPATIBLE" + roller "job_option network_hosts" + commands "*job_option network_hosts:compatible" + "*job_option network_hosts:incompatible" + help job_host_comp + visible job_usersub_file + } +} + + +#endif diff --git a/src/marc/include/concom2019.1 b/src/marc/include/concom2019.1 new file mode 100644 index 000000000..73e8eb992 --- /dev/null +++ b/src/marc/include/concom2019.1 @@ -0,0 +1,439 @@ +! common block definition file taken from respective MSC.Marc release and reformated to free format +!*********************************************************************** +! +! File: concom.cmn +! +! MSC.Marc include file +! +integer & + iacous, iasmbl, iautth, ibear, icompl, iconj, icreep, ideva, idyn, idynt,& + ielas, ielcma, ielect, iform, ifour, iharm, ihcps, iheat, iheatt, ihresp,& + ijoule, ilem, ilnmom, iloren, inc, incext, incsub, ipass, iplres, ipois,& + ipoist, irpflo, ismall, ismalt, isoil, ispect, ispnow, istore, iswep, ithcrp,& + itherm, iupblg, iupdat, jacflg, jel, jparks, largst, lfond, loadup, loaduq,& + lodcor, lovl, lsub, magnet, ncycle, newtnt, newton, noshr, linear, ivscpl,& + icrpim, iradrt, ipshft, itshr, iangin, iupmdr, iconjf, jincfl, jpermg, jhour,& + isolvr, jritz, jtable, jshell, jdoubl, jform, jcentr, imini, kautth, iautof,& + ibukty, iassum, icnstd, icnstt, kmakmas, imethvp, iradrte, iradrtp, iupdate, iupdatp,& + ncycnt, marmen , idynme, ihavca, ispf, kmini, imixex, largtt, kdoela, iautofg,& + ipshftp, idntrc, ipore, jtablm, jtablc, isnecma, itrnspo, imsdif, jtrnspo, mcnear,& + imech, imecht, ielcmat, ielectt, magnett, imsdift, noplas, jtabls, jactch, jtablth,& + kgmsto , jpzo, ifricsh, iremkin, iremfor, ishearp, jspf, machining, jlshell, icompsol,& + iupblgfo, jcondir, nstcrp, nactive, ipassref, nstspnt, ibeart, icheckmpc, noline, icuring,& + ishrink, ioffsflg, isetoff, ioffsetm,iharmt, inc_incdat, iautspc, ibrake, icbush, istream_input,& + iprsinp, ivlsinp, ifirst_time,ipin_m, jgnstr_glb, imarc_return,iqvcinp, nqvceid, istpnx, imicro1,& + iaxisymm, jbreakglue,iglstif, jfastasm,iwear, iwearcf, imixmeth, ielcmadyn, idinout, igena_meth,& + magf_meth, non_assumed, iredoboudry, ioffsz0,icomplt, mesh_dual, iactrp, mgnewton, iusedens,igsigd0,& + iaem, icosim, inodels, nlharm, iampini, iphasetr, inonlcl, inonlct, iforminp,ispecerror,& + icsprg, imol, imolt, idatafit,iharmpar, inclcase, imultifreq,init_elas +dimension :: ideva(60) +integer num_concom +parameter(num_concom=258) +common/marc_concom/& + iacous, iasmbl, iautth, ibear, icompl, iconj, icreep, ideva, idyn, idynt,& + ielas, ielcma, ielect, iform, ifour, iharm, ihcps, iheat, iheatt, ihresp,& + ijoule, ilem, ilnmom, iloren, inc, incext, incsub, ipass, iplres, ipois,& + ipoist, irpflo, ismall, ismalt, isoil, ispect, ispnow, istore, iswep, ithcrp,& + itherm, iupblg, iupdat, jacflg, jel, jparks, largst, lfond, loadup, loaduq,& + lodcor, lovl, lsub, magnet, ncycle, newtnt, newton, noshr, linear, ivscpl,& + icrpim, iradrt, ipshft, itshr, iangin, iupmdr, iconjf, jincfl, jpermg, jhour,& + isolvr, jritz, jtable, jshell, jdoubl, jform, jcentr, imini, kautth, iautof,& + ibukty, iassum, icnstd, icnstt, kmakmas, imethvp, iradrte, iradrtp, iupdate, iupdatp,& + ncycnt, marmen, idynme, ihavca, ispf, kmini, imixex, largtt, kdoela, iautofg,& + ipshftp, idntrc, ipore, jtablm, jtablc, isnecma, itrnspo, imsdif, jtrnspo, mcnear,& + imech, imecht, ielcmat, ielectt, magnett, imsdift, noplas, jtabls, jactch, jtablth,& + kgmsto , jpzo, ifricsh, iremkin, iremfor, ishearp, jspf, machining, jlshell, icompsol,& + iupblgfo, jcondir, nstcrp, nactive, ipassref, nstspnt, ibeart, icheckmpc, noline, icuring,& + ishrink, ioffsflg, isetoff, ioffsetm,iharmt, inc_incdat, iautspc, ibrake, icbush, istream_input,& + iprsinp, ivlsinp, ifirst_time,ipin_m, jgnstr_glb, imarc_return,iqvcinp, nqvceid, istpnx, imicro1,& + iaxisymm, jbreakglue,iglstif, jfastasm,iwear, iwearcf, imixmeth, ielcmadyn, idinout, igena_meth,& + magf_meth, non_assumed, iredoboudry, ioffsz0,icomplt, mesh_dual, iactrp, mgnewton, iusedens,igsigd0,& + iaem, icosim, inodels, nlharm, iampini, iphasetr, inonlcl, inonlct, iforminp,ispecerror,& + icsprg, imol, imolt, idatafit,iharmpar, inclcase, imultifreq,init_elas +! +! comments of variables: +! +! iacous Control flag for acoustic analysis. Input data. +! iacous=1 modal acoustic analysis. +! iacous=2 harmonic acoustic-structural analysis. +! iasmbl Control flag to indicate that operator matrix should be +! recalculated. +! iautth Control flag for AUTO THERM option. +! ibear Control flag for bearing analysis. Input data. +! icompl Control variable to indicate that a complex analysis is +! being performed. Either a Harmonic analysis with damping, +! or a harmonic electro-magnetic analysis. Input data. +! iconj Flag for EBE conjugate gradient solver (=solver 1, retired) +! Also used for VKI iterative solver. +! icreep Control flag for creep analysis. Input data. +! ideva(60) - debug print out flag +! 1 print element stiffness matrices, mass matrix +! 2 output matrices used in tying +! 3 force the solution of a nonpositive definite matrix +! 4 print info of connections to each node +! 5 info of gap convergence, internal heat generated, contact +! touching and separation +! 6 nodal value array during rezoning +! 7 tying info in CONRAD GAP option, fluid element numbers in +! CHANNEL option +! 8 output incremental displacements in local coord. system +! 9 latent heat output +! 10 stress-strain in local coord. system +! 11 additional info on interlaminar stress +! 12 output right hand side and solution vector +! 13 info of CPU resources used and memory available on NT +! 14 info of mesh adaption process, 2D outline information +! info of penetration checking for remeshing +! save .fem files after afmesh3d meshing +! 15 surface energy balance flag +! 16 print info regarding pyrolysis +! 17 print info of "streamline topology" +! 18 print mesh data changes after remeshing +! 19 print material flow stress data read in from *.mat file +! if unit flag is on, print out flow stress after conversion +! 20 print information on table input +! 21 print out information regarding kinematic boundary conditions +! 22 print out information regarding dist loads, point loads, film +! and foundations +! 23 print out information about automatic domain decomposition +! 24 print out iteration information in SuperForm status report file +! 25 print out information for ablation +! 26 print out information for films - Table input +! 27 print out the tying forces +! 28 print out for CASI solver, convection, +! 29 DDM single file debug printout +! 30 print out cavity debug info +! 31 print out welding related info +! 32 prints categorized DDM memory usage +! 33 print out the cutting info regarding machining feature +! 34 print out the list of quantities which can be defined via a table +! and for each quantity the supported independent variables +! 35 print out detailed coupling region info +! 36 print out solver debug info level 1 (Least Detailed) +! 37 print out solver debug info level 1 (Medium Detailed) +! 38 print out solver debug info level 1 (Very Detailed) +! 39 print detailed memory allocation info +! 40 print out marc-adams debug info +! 41 output rezone mapping post file for debugging +! 42 output post file after calling oprofos() for debugging +! 43 debug printout for vcct +! 44 debug printout for progressive failure +! 45 print out automatically generated midside node coordinates (arecrd) +! 46 print out message about routine and location, where the ibort is raised (ibort_inc) +! 47 print out summary message of element variables on a +! group-basis after all the automatic changes have been +! made (em_ellibp) +! 48 Automatically generate check results based on max and min vals. +! These vals are stored in the checkr file, which is inserted +! into the *dat file by the generate_check_results script from /marc/tools +! 49 Automatically generate check results based on the real calculated values +! at the sppecified check result locations. +! These vals are stored in the checkr file, which is inserted +! into the *dat file by the update_check_results script from /marc/tools +! 50 generate a file containing the resistance or capacity matrix; +! this file can be used to compare results with a reference file +! 51 print out detailed information for segment-to-segment contact +! 52 print out detailed relative displacement information +! for uniaxial sliding contact +! 53 print out detailed sliding direction information for +! uniaxial sliding contact +! 54 print out detailed information for edges attached to a curve +! 55 print information related to viscoelasticity calculations +! 56 print out detailed information for element coloring for multithreading +! 57 print out extra overheads due to multi-threading. +! These overhead includes (i) time and (ii) memory. +! The memory report will be summed over all the children. +! +! +! 58 debug output for ELSTO usage +! +! idyn Control flag for dynamics. Input data. +! 1 = eigenvalue extraction and / or modal superposition +! 2 = Newmark Beta and Single Step Houbolt (ssh with idynme=1) +! 3 = Houbolt +! 4 = Central difference +! 5 = Newer central difference +! idynt Copy of idyn at begining of increment +! ielas Control flag for ELASTIC analysis. Input data. +! Set by user or automatically turned on by Fourier option. +! Implies that each load case is treated separately. +! In Adaptive meshing analysis , forces re-analysis until +! convergence obtained. +! Also seriously misused to indicate no convergence. +! = 1 elastic option with fourier analysis +! = 2 elastic option without fourier analysis +! =-1 no convergence in recycles or max # increments reached +! Set to 1 if ELASTIC or SUBSTRUC parameter cards are used, +! or if fourier option is used. +! Then set to 2 if not fourier analysis. +! ielcma Control flag for electromagnetic analysis. Input data. +! ielcma = 1 Harmonic formulation +! ielcma = 2 Transient formulation +! ielect Control flag for electrostatic option. Input data. +! iform Control flag indicating that contact will be performed. +! ifour Control flag for Fourier analysis. +! 0 = Odd and even terms. +! 1 = symmetric (cosine) terms +! 2 = antisymmetric (sine) terms. +! iharm Control flag to indicate that a harmonic analysis will +! be performed. May change between passes. +! ihcps Control flag for coupled thermal - stress analysis. +! iheat Control flag for heat transfer analysis. Input data. +! iheatt Permanent control flag for heat transfer analysis. +! Note in coupled analysis iheatt will remain as one, +! but iheat will be zero in stress pass. +! ihresp Control flag to indicate to perform a harmonic subincrement. +! ijoule Control flag for Joule heating. +! ilem Control flag to determin which vector is to be transformed. +! Control flag to see where one is: +! ilem = 1 - elem.f +! ilem = 2 - initst.f +! ilem = 3 - pressr.f +! ilem = 3 - fstif.f +! ilem = 4 - jflux.f +! ilem = 4 - strass.f +! ilem = 5 - mass.f +! ilem = 5 - osolty.f +! ilnmom Control flag for soil - pore pressure calculation. Input data. +! ilnmom = 0 - perform only pore pressure calculation. +! = 1 - couples pore pressure - displacement analysis +! iloren Control flag for DeLorenzi J-Integral evaluation. Input data. +! inc Increment number. +! incext Control flag indicating that currently working on a +! subincrement. +! Could be due to harmonics , damping component (bearing), +! stiffness component (bearing), auto therm creep or +! old viscoplaticity +! incsub Sub-increment number. +! ipass Control flag for which part of coupled analysis. +! ipass = -1 - reset to base values +! ipass = 0 - do nothing +! ipass = 1 - stress part +! ipass = 2 - heat transfer part +! iplres Flag indicating that either second matrix is stored. +! dynamic analysis - mass matrix +! heat transfer - specific heat matrix +! buckle - initial stress stiffness +! ipois Control flag indicating Poisson type analysis +! ipois = 1 for heat transfer +! = 1 for heat transfer part of coupled +! = 1 for bearing +! = 1 for electrostatic +! = 1 for magnetostatic +! ipoist Permanent copy of ipois. In coupled analysis , ipois = 0 +! in stress portion, yet ipoist will still =1. +! irpflo global flag for rigid plastic flow analysis +! = 1 eularian formulation +! = 2 regular formulation; rigid material present in the analysis + +! ismall control flag to indicate small displacement analysis. input data. +! ismall = 0 - large disp included. +! ismall = 1 - small displacement. +! the flag is changing between passes. +! ismalt permanent copy of ismall . in heat transfer portion of +! coupled analysis ismall =0 , but ismalt remains the same. +! isoil control flag indicating that soil / pore pressure +! calculation . input data. +! ispect control flag for response spectrum calculation. input data. +! ispnow control flag to indicate to perform a spectrum response +! calculation now. +! istore store stresses flag. +! istore = 0 in elem.f and if first pass of creep +! convergence checking in ogetst.f +! or harmonic analysis or thruc.f if not +! converged. +! iswep control flag for eigenvalue analysis. +! iswep=1 - go do extraction process +! ithcrp control flag for auto therm creep option. input data. +! itherm control flag for either temperature dependent material +! properties and/or thermal loads. +! iupblg control flag for follower force option. input data. +! iupdat control flag for update lagrange option for current element. +! jacflg control flag for lanczos iteration method. input data. +! jel control flag indicating that total load applied in +! increment, ignore previous solution. +! jel = 1 in increment 0 +! = 1 if elastic or fourier +! = 1 in subincrements with elastic and adaptive +! jparks control flag for j integral by parks method. input data. +! largst control flag for finite strain plasticity. input data. +! lfond control variable that indicates if doing elastic +! foundation or film calculation. influences whether +! this is volumetric or surface integration. +! loadup control flag that indicates that nonlinearity occurred +! during previous increment. +! loaduq control flag that indicates that nonlinearity occurred. +! lodcor control flag for switching on the residual load correction. +! notice in input stage lodcor=0 means no loadcor, +! after omarc lodcor=1 means no loadcor +! lovl control flag for determining which "overlay" is to +! be called from ellib. +! lovl = 1 omarc +! = 2 oaread +! = 3 opress +! = 4 oasemb +! = 5 osolty +! = 6 ogetst +! = 7 oscinc +! = 8 odynam +! = 9 opmesh +! = 10 omesh2 +! = 11 osetz +! = 12 oass +! = 13 oincdt +! = 14 oasmas +! = 15 ofluas +! = 16 ofluso +! = 17 oshtra +! = 18 ocass +! = 19 osoltc +! = 20 orezon +! = 21 otest +! = 22 oeigen +! lsub control variable to determine which part of element +! assembly function is being done. +! lsub = 1 - no longer used +! = 2 - beta* +! = 3 - cons* +! = 4 - ldef* +! = 5 - posw* +! = 6 - theta* +! = 7 - tmarx* +! = 8 - geom* +! magnet control flag for magnetostatic analysis. input data. +! ncycle cycle number. accumulated in osolty.f +! note first time through oasemb.f , ncycle = 0. +! newtnt control flag for permanent copy of newton. +! newton iteration type. input data. +! newton : = 1 full newton raphson +! 2 modified newton raphson +! 3 newton raphson with strain correct. +! 4 direct substitution +! 5 direct substitution followed by n.r. +! 6 direct substitution with line search +! 7 full newton raphson with secant initial stress +! 8 secant method +! 9 full newton raphson with line search +! noshr control flag for calculation interlaminar shears for +! elements 22,45, and 75. input data. +!ees +! +! jactch = 1 or 2 if elements are activated or deactivated +! = 3 if elements are adaptively remeshed or rezoned +! = 0 normally / reset to 0 when assembly is done +! ifricsh = 0 call to fricsh in otest not needed +! = 1 call to fricsh (nodal friction) in otest needed +! iremkin = 0 remove deactivated kinematic boundary conditions +! immediately - only in new input format (this is default) +! = 1 remove deactivated kinematic boundary conditions +! gradually - only in new input format +! iremfor = 0 remove force boundary conditions immediately - +! only in new input format (this is default) +! = 1 remove force boundary conditions gradually - +! only in new input format (this is default) +! ishearp set to 1 if shear panel elements are present in the model +! +! jspf = 0 not in spf loadcase +! > 0 in spf loadcase (jspf=1 during first increment) +! machining = 1 if the metal cutting feature is used, for memory allocation purpose +! = 0 (default) if no metal cutting feature required +! +! jlshell = 1 if there is a shell element in the mesh +! icompsol = 1 if there is a composite solid element in the mesh +! iupblgfo = 1 if follower force for point loads +! jcondir = 1 if contact priority option is used +! nstcrp = 0 (default) steady state creep flag (undocumented feature. +! if not 0, turns off special ncycle = 0 code in radial.f) +! nactive = number of active passes, if =1 then it's not a coupled analysis +! ipassref = reference ipass, if not in a multiphysics pass ipass=ipassref +! icheckmpc = value of mpc-check parameter option +! noline = set to 1 in osolty if no line seacrh should be done in ogetst +! icuring = set to 1 if the curing is included for the heat transfer analysis. +! ishrink = set to 1 if shrinkage strain is included for mechancial analysis. +! ioffsflg = 1 for small displacement beam/shell offsets +! = 2 for large displacement beam/shell offsets +! isetoff = 0 - do not apply beam/shell offsets +! = 1 - apply beam/shell offsets +! ioffsetm = min. value of offset flag +! iharmt = 1 global flag if a coupled analysis contains an harmonic pass +! inc_incdat = flag to record increment number of a new loadcase in incdat.f +! iautspc = flag for AutoSPC option +! ibrake = brake squeal in this increment +! icbush = set to 1 if cbush elements present in model +! istream_input = set to 1 for streaming input calling Marc as library +! iprsinp = set to 1 if pressure input, introduced so other variables +! such as h could be a function of pressure +! ivlsinp = set to 1 if velocity input, introduced so other variables +! such as h could be a function of velocity +! ipin_m = # of beam element with PIN flag +! jgnstr_glb = global control over pre or fast integrated composite shells +! imarc_return = Marc return flag for streaming input control +! iqvcimp = if non-zero, then the number of QVECT boundary conditions +! nqvceid = number of QVECT boundary conditions, where emisivity/absorbtion id entered +! istpnx = 1 if to stop at end of increment +! imicro1 = 1 if micro1 interface is used +! iaxisymm = set to 1 if axisymmetric analysis +! jbreakglue = set to 1 if breaking glued option is used +! iglstif = 1 if ddm and global stiffness matrix formed (sgi solver 6 or solver9) +! jfastasm = 1 do fast assembly using SuperForm code +! iwear = set to 1 if wear model, set to 2 if wear model and coordinates updated +! iwearcf = set to 1 to store nodal coefficient of friction for wear calculation +! imixmeth = set=1 then use nonlinear mixture material - allocate memory +! ielcmadyn = flag for magnetodynamics +! 0 - electromagnetics using newmark beta +! 1 - transient magnetics using backward euler +! idinout = flag to control if inside out elements should be deactivated +! igena_meth = 0 - generalized alpha parameters depend on whether or not contact +! is flagged (dynamic,7) +! 10 - generalized alpha parameters are optimized for a contact +! analysis (dynamic,8) +! 11 - generalized alpha parameters are optimized for an analysis +! without contact (dynamic,8) +! magf_meth = - Method to compute force in magnetostatic - structural +! = 1 - Virtual work method based on finite difference for the force computation +! = 2 - Maxwell stress tensor +! = 3 - Virtual work method based on local derivative for the force computation +! non_assumed = 1 no assumed strain formulation (forced) +! iredoboudry set to 1 if contact boundary needs to be recalculated +! ioffsz0 = 1 if composite are used with reference position.ne.0 +! icomplt = 1 global flag if a coupled analysis contains an complex pass +! mesh_dual = 1 two independent meshes are used in magnetodynamic/thermal/structural +! one for magnetodynamic and the other for the remaining passes +! iactrp = 1 in an analysis with global remeshing, include inactive +! rigid bodies on post file +! mgnewton = 1 Use full Newton Raphson iteration for magnetostatic pass +! +! iusedens > 0 if mass density is used in the analysis (dynamics, mass dependent loading) +! igsigd0 = 1 set varselem(igsigd) to zero in next oasemb +! iaem = 1 if marc is called from aem (0 - off - default) +! icosim = 1 if marc is used in co-simulation software (ADAMS-MARC) +! inodels = 1 nodal integration elements 239/240/241 present +! nlharm = 0 harmonic subincrements are linear +! = 1 harmonic subincrements are nonlinear +! iampini = 0 amplitude of previous harmonic subinc is initial estimate (default) +! = 1 zero amplitude is initial estimate +! iphasetr = 1 phase transformation material model is used +! iforminp flag indicating that contact is switched on via the CONTACT +! option in the input file (as opposed to the case that contact +! is switched on internally due to cyclic symmetry or model +! section creation) +! ispecerror = a+10*b (only for spectrum response analysis with missing mass option) +! a=0 or a=1 (modal shape with non-zero shift) +! b=0 or b=1 (recover with new assembly of stiffness matrix) +! icsprg = set to 1 if spring elements present in model +! imol Control flag for molecualr diffusion pass +! imolt Permanent control flag for molecualr diffusion pass +! Note in coupled analysis imolt will remain as one, +! but imol will be zero in stress pass or thermal pass. +! idatafit = run Marc to fit parameters +! iharmpar = 1 if harmonic parameter option is used +! inclcase load case increment use for cyclic plasticity data fitting +! imultifreq flag to indicate how many harmonic magnetodynamic passes are computed in coupled +! magnetodynamic/thermal(/structural) analyses. +! 0 or 1 one pass 2 two passes 3 or more is not supported +! init_elas use elastic stress-strain law as the material tangent for +! the first cycle of an increment +! +!*********************************************************************** +!$omp threadprivate(/marc_concom/) +!! diff --git a/src/marc/include/creeps2019.1 b/src/marc/include/creeps2019.1 new file mode 100644 index 000000000..09550f501 --- /dev/null +++ b/src/marc/include/creeps2019.1 @@ -0,0 +1,66 @@ +! common block definition file taken from respective MSC.Marc release and reformated to free format +!*********************************************************************** +! +! File: creeps.cmn +! +! MSC.Marc include file +! +real(pReal) cptim,timinc,timinc_p,timinc_s,timincm,timinc_a,timinc_b +integer icfte,icfst,icfeq,icftm,icetem,mcreep,jcreep,icpa,icftmp,icfstr,& + icfqcp,icfcpm,icrppr,icrcha,icpb,iicpmt,iicpa +real(pReal) time_beg_lcase,time_beg_inc,fractol,time_beg_pst +real(pReal) fraction_donn,timinc_ol2 +! +integer num_creepsr,num_creepsi,num_creeps2r +parameter(num_creepsr=7) +parameter(num_creepsi=17) +parameter(num_creeps2r=6) +common/marc_creeps/cptim,timinc,timinc_p,timinc_s,timincm,timinc_a,timinc_b,icfte,icfst,& + icfeq,icftm,icetem,mcreep,jcreep,icpa,icftmp,icfstr,icfqcp,icfcpm,icrppr,icrcha,icpb,iicpmt,iicpa +common/marc_creeps2/time_beg_lcase,time_beg_inc,fractol,time_beg_pst,fraction_donn,timinc_ol2 +! +! cptim Total time at begining of increment. +! timinc Incremental time for this step. +! icfte Local copy number of slopes of creep strain rate function +! versus temperature. Is -1 if exponent law used. +! icfst Local copy number of slopes of creep strain rate function +! versus equivalent stress. Is -1 if exponent law used. +! icfeq Local copy number of slopes of creep strain rate function +! versus equivalent strain. Is -1 if exponent law used. +! icftm Local copy number of slopes of creep strain rate function +! versus time. Is -1 if exponent law used. +! icetem Element number that needs to be checked for creep convergence +! or, if negative, the number of elements that need to +! be checked. In the latter case the elements to check +! are stored in ielcp. +! mcreep Maximum nuber of iterations for explicit creep. +! jcreep Counter of number of iterations for explicit creep +! procedure. jcreep must be .le. mcreep +! icpa Pointer to constant in creep strain rate expression. +! icftmp Pointer to temperature dependent creep strain rate data. +! icfstr Pointer to equivalent stress dependent creep strain rate data. +! icfqcp Pointer to equivalent creep strain dependent creep strain +! rate data. +! icfcpm Pointer to equivalent creep strain rate dependent +! creep strain rate data. +! icrppr Permanent copy of icreep +! icrcha Control flag for creep convergence checking , if set to +! 1 then testing on absolute change in stress and creep +! strain, not relative testing. Input data. +! icpb Pointer to storage of material id cross reference numbers. +! iicpmt +! iicpa Pointer to constant in creep strain rate expression +! +! time_beg_lcase time at the beginning of the current load case +! time_beg_inc time at the beginning of the current increment +! fractol fraction of loadcase or increment time when we +! consider it to be finished +! time_beg_pst time corresponding to first increment to be +! read in from thermal post file for auto step +! +! timinc_old Time step of the previous increment +! +!*********************************************************************** +!!$omp threadprivate(/marc_creeps/) +!!$omp threadprivate(/marc_creeps2/) +!! From 78eee9fe962d80b8a9dbc94ed41fd84469e305e3 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 15 Jul 2020 00:54:16 +0200 Subject: [PATCH 379/958] unnecessary debug output --- src/CPFEM.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index e257f8e55..f2b906b89 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -248,7 +248,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS endif validCalculation if (debugCPFEM%extensive & - .and. (debugCPFEM%element == elCP .and. debugCPFEM%ip == ip) .or. .not. debugCPFEM%selective) then + .and. ((debugCPFEM%element == elCP .and. debugCPFEM%ip == ip) .or. .not. debugCPFEM%selective)) then write(6,'(a,i8,1x,i2,/,12x,6(f10.3,1x)/)') & '<< CPFEM >> stress/MPa at elFE ip ', elFE, ip, CPFEM_cs(1:6,ip,elCP)*1.0e-6_pReal write(6,'(a,i8,1x,i2,/,6(12x,6(f10.3,1x)/))') & From 50a7caa61a6ef39656e04a9cc5c7c527c44c96ca Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 15 Jul 2020 14:35:21 +0200 Subject: [PATCH 380/958] cleaning --- src/constitutive.f90 | 136 ++++++++++++++++------------------- src/constitutive_damage.f90 | 52 ++++++-------- src/constitutive_plastic.f90 | 12 ++-- src/constitutive_thermal.f90 | 29 ++++---- src/damage_local.f90 | 2 +- src/damage_nonlocal.f90 | 2 +- src/thermal_adiabatic.f90 | 2 +- src/thermal_conduction.f90 | 2 +- 8 files changed, 106 insertions(+), 131 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 2d60f7e66..fadd9fdd6 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -1,7 +1,7 @@ !-------------------------------------------------------------------------------------------------- !> @author Franz Roters, Max-Planck-Institut für Eisenforschung GmbH !> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH -!> @brief elasticity, plasticity, internal microstructure state +!> @brief elasticity, plasticity, damage & thermal internal microstructure state !-------------------------------------------------------------------------------------------------- module constitutive use prec @@ -81,8 +81,8 @@ module constitutive end subroutine plastic_disloUCLA_dotState module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & - instance,of,ip,el) - real(pReal), dimension(3,3), intent(in) ::& + instance,of,ip,el) + real(pReal), dimension(3,3), intent(in) :: & Mp !< MandelStress real(pReal), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem), intent(in) :: & F, & !< deformation gradient @@ -99,7 +99,6 @@ module constitutive module subroutine source_damage_anisoBrittle_dotState(S, ipc, ip, el) - integer, intent(in) :: & ipc, & !< component-ID of integration point ip, & !< integration point @@ -109,7 +108,6 @@ module constitutive end subroutine source_damage_anisoBrittle_dotState module subroutine source_damage_anisoDuctile_dotState(ipc, ip, el) - integer, intent(in) :: & ipc, & !< component-ID of integration point ip, & !< integration point @@ -117,7 +115,6 @@ module constitutive end subroutine source_damage_anisoDuctile_dotState module subroutine source_damage_isoDuctile_dotState(ipc, ip, el) - integer, intent(in) :: & ipc, & !< component-ID of integration point ip, & !< integration point @@ -125,12 +122,36 @@ module constitutive end subroutine source_damage_isoDuctile_dotState module subroutine source_thermal_externalheat_dotState(phase, of) - integer, intent(in) :: & phase, & of end subroutine source_thermal_externalheat_dotState + module subroutine constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) + integer, intent(in) :: & + ip, & !< integration point number + el !< element number + real(pReal), intent(in) :: & + phi !< damage parameter + real(pReal), intent(inout) :: & + phiDot, & + dPhiDot_dPhi + end subroutine constitutive_damage_getRateAndItsTangents + + module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, S, Lp, ip, el) + integer, intent(in) :: & + ip, & !< integration point number + el !< element number + real(pReal), intent(in) :: & + T + real(pReal), intent(in), dimension(:,:,:,:,:) :: & + S, & !< current 2nd Piola Kitchoff stress vector + Lp !< plastic velocity gradient + real(pReal), intent(inout) :: & + TDot, & + dTDot_dT + end subroutine constitutive_thermal_getRateAndItsTangents + module function plastic_dislotwin_homogenizedC(ipc,ip,el) result(homogenizedC) real(pReal), dimension(6,6) :: & homogenizedC @@ -140,43 +161,13 @@ module constitutive el !< element end function plastic_dislotwin_homogenizedC - module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el) - - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - real(pReal), intent(in), dimension(3,3) :: & - F, & !< elastic deformation gradient - Fp !< plastic deformation gradient - end subroutine constitutive_plastic_dependentState - - module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & - S, Fi, ipc, ip, el) - integer, intent(in) :: & - ipc, & !< component-ID of integration point - ip, & !< integration point - el !< element - real(pReal), intent(in), dimension(3,3) :: & - S, & !< 2nd Piola-Kirchhoff stress - Fi !< intermediate deformation gradient - real(pReal), intent(out), dimension(3,3) :: & - Lp !< plastic velocity gradient - real(pReal), intent(out), dimension(3,3,3,3) :: & - dLp_dS, & - dLp_dFi !< derivative of Lp with respect to Fi - - end subroutine constitutive_plastic_LpAndItsTangents - pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain) - integer, intent(in) :: & phase, & homog, & offset real(pReal), dimension(3,3) :: & initialStrain - end function kinematics_thermal_expansion_initialStrain module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e) @@ -188,39 +179,11 @@ module constitutive orientation !< crystal orientation end subroutine plastic_nonlocal_updateCompatibility - module subroutine constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) - integer, intent(in) :: & - ip, & !< integration point number - el !< element number - real(pReal), intent(in) :: & - phi - real(pReal), intent(inout) :: & - phiDot, & - dPhiDot_dPhi - - end subroutine constitutive_damage_getRateAndItsTangents - - module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, Tstar, Lp, ip, el) - integer, intent(in) :: & - ip, & !< integration point number - el !< element number - real(pReal), intent(in) :: & - T - real(pReal), intent(in), dimension(:,:,:,:,:) :: & - Tstar, & - Lp - real(pReal), intent(inout) :: & - TDot, & - dTDot_dT - end subroutine constitutive_thermal_getRateAndItsTangents - - module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) real(pReal), dimension(3,3), intent(out) :: & Li !< inleastic velocity gradient real(pReal), dimension(3,3,3,3), intent(out) :: & dLi_dMi !< derivative of Li with respect to Mandel stress - real(pReal), dimension(3,3), intent(in) :: & Mi !< Mandel stress integer, intent(in) :: & @@ -229,7 +192,6 @@ module constitutive end subroutine plastic_isotropic_LiAndItsTangent module subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ipc, ip, el) - integer, intent(in) :: & ipc, & !< grain number ip, & !< integration point number @@ -243,7 +205,6 @@ module constitutive end subroutine kinematics_cleavage_opening_LiAndItsTangent module subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ipc, ip, el) - integer, intent(in) :: & ipc, & !< grain number ip, & !< integration point number @@ -257,7 +218,6 @@ module constitutive end subroutine kinematics_slipplane_opening_LiAndItsTangent module subroutine kinematics_thermal_expansion_LiAndItsTangent(Li, dLi_dTstar, ipc, ip, el) - integer, intent(in) :: & ipc, & !< grain number ip, & !< integration point number @@ -307,17 +267,40 @@ module constitutive end interface interface constitutive_LpAndItsTangents - module procedure :: constitutive_plastic_LpAndItsTangents + + module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & + S, Fi, ipc, ip, el) + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + S, & !< 2nd Piola-Kirchhoff stress + Fi !< intermediate deformation gradient + real(pReal), intent(out), dimension(3,3) :: & + Lp !< plastic velocity gradient + real(pReal), intent(out), dimension(3,3,3,3) :: & + dLp_dS, & + dLp_dFi !< derivative of Lp with respect to Fi + end subroutine constitutive_plastic_LpAndItsTangents + end interface constitutive_LpAndItsTangents + interface constitutive_dependentState - module procedure :: constitutive_plastic_dependentState + + module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el) + integer, intent(in) :: & + ipc, & !< component-ID of integration point + ip, & !< integration point + el !< element + real(pReal), intent(in), dimension(3,3) :: & + F, & !< elastic deformation gradient + Fp !< plastic deformation gradient + end subroutine constitutive_plastic_dependentState + end interface constitutive_dependentState - interface constitutive_getRateAndItsTangents - module procedure :: constitutive_damage_getRateAndItsTangents , & - constitutive_thermal_getRateAndItsTangents - end interface constitutive_getRateAndItsTangents type :: tDebugOptions logical :: & @@ -343,14 +326,15 @@ module constitutive constitutive_collectDotState, & constitutive_deltaState, & plastic_nonlocal_updateCompatibility, & - constitutive_getRateAndItsTangents, & + constitutive_damage_getRateAndItsTangents, & + constitutive_thermal_getRateAndItsTangents, & constitutive_results contains !-------------------------------------------------------------------------------------------------- -!> @brief allocates arrays pointing to array of the various constitutive modules +!> @brief Initialze constitutive models for individual physics !-------------------------------------------------------------------------------------------------- subroutine constitutive_init diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 index 8c36e4df2..9e0c686b0 100644 --- a/src/constitutive_damage.f90 +++ b/src/constitutive_damage.f90 @@ -1,3 +1,6 @@ +!---------------------------------------------------------------------------------------------------- +!> @brief internal microstructure state for all damage sources and kinematics constitutive models +!---------------------------------------------------------------------------------------------------- submodule(constitutive) constitutive_damage interface @@ -26,7 +29,7 @@ submodule(constitutive) constitutive_damage phase, & !< phase ID of element constituent !< position of element within its phase instance real(pReal), intent(in) :: & - phi !< damage value + phi !< damage parameter real(pReal), intent(out) :: & localphiDot, & dLocalphiDot_dPhi @@ -34,10 +37,10 @@ submodule(constitutive) constitutive_damage module subroutine source_damage_anisoDuctile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) integer, intent(in) :: & - phase, & - constituent + phase, & !< phase ID of element + constituent !< position of element within its phase instance real(pReal), intent(in) :: & - phi + phi !< damage parameter real(pReal), intent(out) :: & localphiDot, & dLocalphiDot_dPhi @@ -45,10 +48,10 @@ submodule(constitutive) constitutive_damage module subroutine source_damage_isoBrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) integer, intent(in) :: & - phase, & - constituent + phase, & !< phase ID of element + constituent !< position of element within its phase instance real(pReal), intent(in) :: & - phi + phi !< damage parameter real(pReal), intent(out) :: & localphiDot, & dLocalphiDot_dPhi @@ -56,28 +59,15 @@ submodule(constitutive) constitutive_damage module subroutine source_damage_isoDuctile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) integer, intent(in) :: & - phase, & - constituent + phase, & !< phase ID of element + constituent !< position of element within its phase instance real(pReal), intent(in) :: & - phi + phi !< damage parameter real(pReal), intent(out) :: & localphiDot, & dLocalphiDot_dPhi end subroutine source_damage_isoDuctile_getRateAndItsTangent - module subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDot_dT, Tstar, Lp, phase) - integer, intent(in) :: & - phase - real(pReal), intent(in), dimension(3,3) :: & - Tstar - real(pReal), intent(in), dimension(3,3) :: & - Lp - - real(pReal), intent(out) :: & - TDot, & - dTDot_dT - end subroutine source_thermal_dissipation_getRateAndItsTangent - module subroutine source_damage_anisoBrittle_results(phase,group) integer, intent(in) :: phase character(len=*), intent(in) :: group @@ -108,10 +98,10 @@ contains module subroutine damage_init ! initialize source mechanisms - if (any(phase_source == SOURCE_damage_isoBrittle_ID)) call source_damage_isoBrittle_init - if (any(phase_source == SOURCE_damage_isoDuctile_ID)) call source_damage_isoDuctile_init - if (any(phase_source == SOURCE_damage_anisoBrittle_ID)) call source_damage_anisoBrittle_init - if (any(phase_source == SOURCE_damage_anisoDuctile_ID)) call source_damage_anisoDuctile_init + if (any(phase_source == SOURCE_damage_isoBrittle_ID)) call source_damage_isoBrittle_init + if (any(phase_source == SOURCE_damage_isoDuctile_ID)) call source_damage_isoDuctile_init + if (any(phase_source == SOURCE_damage_anisoBrittle_ID)) call source_damage_anisoBrittle_init + if (any(phase_source == SOURCE_damage_anisoDuctile_ID)) call source_damage_anisoDuctile_init !-------------------------------------------------------------------------------------------------- ! initialize kinematic mechanisms @@ -127,10 +117,10 @@ end subroutine damage_init module subroutine constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) integer, intent(in) :: & - ip, & !< integration point number - el !< element number + ip, & !< integration point number + el !< element number real(pReal), intent(in) :: & - phi + phi !< damage parameter real(pReal), intent(inout) :: & phiDot, & dPhiDot_dPhi @@ -209,4 +199,4 @@ module subroutine damage_results end subroutine damage_results -end submodule +end submodule constitutive_damage diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index acd9d5a67..f7b1569d2 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -1,3 +1,6 @@ +!---------------------------------------------------------------------------------------------------- +!> @brief internal microstructure state for all plasticity constitutive models +!---------------------------------------------------------------------------------------------------- submodule(constitutive) constitutive_plastic interface @@ -42,7 +45,6 @@ submodule(constitutive) constitutive_plastic Lp !< plastic velocity gradient real(pReal), dimension(3,3,3,3), intent(out) :: & dLp_dMp !< derivative of Lp with respect to the Mandel stress - real(pReal), dimension(3,3), intent(in) :: & Mp !< Mandel stress integer, intent(in) :: & @@ -128,13 +130,13 @@ submodule(constitutive) constitutive_plastic module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) real(pReal), dimension(3,3), intent(in) :: & - F, & - Fp + F, & !< deformation gradient + Fp !< plastic deformation gradient integer, intent(in) :: & instance, & of, & - ip, & - el + ip, & !< current integration point + el !< current element number end subroutine plastic_nonlocal_dependentState module subroutine plastic_isotropic_results(instance,group) diff --git a/src/constitutive_thermal.f90 b/src/constitutive_thermal.f90 index 5972f5dc3..3b3398ce2 100644 --- a/src/constitutive_thermal.f90 +++ b/src/constitutive_thermal.f90 @@ -1,3 +1,6 @@ +!---------------------------------------------------------------------------------------------------- +!> @brief internal microstructure state for all thermal sources and kinematics constitutive models +!---------------------------------------------------------------------------------------------------- submodule(constitutive) constitutive_thermal interface @@ -13,29 +16,24 @@ submodule(constitutive) constitutive_thermal module subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDot_dT, Tstar, Lp, phase) - integer, intent(in) :: & - phase + phase !< phase ID of element real(pReal), intent(in), dimension(3,3) :: & - Tstar + Tstar !< 2nd Piola Kirchoff stress tensor for a given element real(pReal), intent(in), dimension(3,3) :: & - Lp - + Lp !< plastic velocuty gradient for a given element real(pReal), intent(out) :: & TDot, & dTDot_dT - end subroutine source_thermal_dissipation_getRateAndItsTangent module subroutine source_thermal_externalheat_getRateAndItsTangent(TDot, dTDot_dT, phase, of) - integer, intent(in) :: & phase, & of real(pReal), intent(out) :: & TDot, & dTDot_dT - end subroutine source_thermal_externalheat_getRateAndItsTangent end interface @@ -61,15 +59,15 @@ end subroutine thermal_init !---------------------------------------------------------------------------------------------- !< @brief calculates thermal dissipation rate !---------------------------------------------------------------------------------------------- -module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, Tstar, Lp, ip, el) +module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, S, Lp, ip, el) integer, intent(in) :: & - ip, & !< integration point number - el !< element number + ip, & !< integration point number + el !< element number real(pReal), intent(in) :: & T real(pReal), intent(in), dimension(:,:,:,:,:) :: & - Tstar, & - Lp + S, & !< current 2nd Piola Kirchoff stress + Lp !< plastic velocity gradient real(pReal), intent(inout) :: & TDot, & dTDot_dT @@ -95,7 +93,7 @@ module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, select case(phase_source(source,phase)) case (SOURCE_thermal_dissipation_ID) call source_thermal_dissipation_getRateAndItsTangent(my_Tdot, my_dTdot_dT, & - Tstar(1:3,1:3,grain,ip,el), & + S(1:3,1:3,grain,ip,el), & Lp(1:3,1:3,grain,ip,el), & phase) @@ -114,4 +112,5 @@ module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, end subroutine constitutive_thermal_getRateAndItsTangents -end submodule + +end submodule constitutive_thermal diff --git a/src/damage_local.f90 b/src/damage_local.f90 index 3d448f7a4..66b50064b 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -131,7 +131,7 @@ subroutine damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el phiDot = 0.0_pReal dPhiDot_dPhi = 0.0_pReal - call constitutive_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) + call constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) phiDot = phiDot/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) diff --git a/src/damage_nonlocal.f90 b/src/damage_nonlocal.f90 index 530a79899..914133de7 100644 --- a/src/damage_nonlocal.f90 +++ b/src/damage_nonlocal.f90 @@ -100,7 +100,7 @@ subroutine damage_nonlocal_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, phiDot = 0.0_pReal dPhiDot_dPhi = 0.0_pReal - call constitutive_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) + call constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) phiDot = phiDot/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) diff --git a/src/thermal_adiabatic.f90 b/src/thermal_adiabatic.f90 index 9e4710a1e..c52f0a3d0 100644 --- a/src/thermal_adiabatic.f90 +++ b/src/thermal_adiabatic.f90 @@ -131,7 +131,7 @@ subroutine thermal_adiabatic_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el) dTdot_dT = 0.0_pReal homog = material_homogenizationAt(el) - call constitutive_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S, crystallite_Lp, ip, el) + call constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S, crystallite_Lp, ip, el) Tdot = Tdot/real(homogenization_Ngrains(homog),pReal) dTdot_dT = dTdot_dT/real(homogenization_Ngrains(homog),pReal) diff --git a/src/thermal_conduction.f90 b/src/thermal_conduction.f90 index 2afe411f1..60766710d 100644 --- a/src/thermal_conduction.f90 +++ b/src/thermal_conduction.f90 @@ -90,7 +90,7 @@ subroutine thermal_conduction_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el) dTdot_dT = 0.0_pReal homog = material_homogenizationAt(el) - call constitutive_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S,crystallite_Lp ,ip, el) + call constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S,crystallite_Lp ,ip, el) Tdot = Tdot/real(homogenization_Ngrains(homog),pReal) dTdot_dT = dTdot_dT/real(homogenization_Ngrains(homog),pReal) From 633836b5fa5a4e1ed6e79e125ecce3a30199a27e Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 15 Jul 2020 14:46:41 +0200 Subject: [PATCH 381/958] [skip ci] relevant file added --- examples/SpectralMethod/Polycrystal/numerics.config | 2 -- examples/SpectralMethod/Polycrystal/numerics.yaml | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) delete mode 100644 examples/SpectralMethod/Polycrystal/numerics.config create mode 100644 examples/SpectralMethod/Polycrystal/numerics.yaml diff --git a/examples/SpectralMethod/Polycrystal/numerics.config b/examples/SpectralMethod/Polycrystal/numerics.config deleted file mode 100644 index 5008d45a7..000000000 --- a/examples/SpectralMethod/Polycrystal/numerics.config +++ /dev/null @@ -1,2 +0,0 @@ -itmin 4 -itmax 40 diff --git a/examples/SpectralMethod/Polycrystal/numerics.yaml b/examples/SpectralMethod/Polycrystal/numerics.yaml new file mode 100644 index 000000000..1a069cb76 --- /dev/null +++ b/examples/SpectralMethod/Polycrystal/numerics.yaml @@ -0,0 +1,3 @@ +grid: + itmin: 4 + itmax: 40 From 04aecba3f2bd9e2368d198cc868b42de3627889e Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 15 Jul 2020 19:54:17 +0200 Subject: [PATCH 382/958] [skip ci] updated version information after successful test of v2.0.3-2881-gc07efe84 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index b76d77510..e78e2c589 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2872-g0a2d3046 +v2.0.3-2881-gc07efe84 From 6259984e93dbb2c9d93b0f9f44e61b5b9076fa99 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 15 Jul 2020 20:54:37 +0200 Subject: [PATCH 383/958] simplified complicated, but allows to use functions as properties --- python/damask/__init__.py | 4 +++- python/damask/_geom.py | 4 ++-- python/damask/_result.py | 3 +-- python/damask/_test.py | 2 +- python/damask/_vtk.py | 3 +-- python/damask/solver/_marc.py | 12 +++++------- 6 files changed, 13 insertions(+), 15 deletions(-) diff --git a/python/damask/__init__.py b/python/damask/__init__.py index b2b94b6a5..4c031758f 100644 --- a/python/damask/__init__.py +++ b/python/damask/__init__.py @@ -7,7 +7,8 @@ with open(_Path(__file__).parent/_Path('VERSION')) as _f: version = _re.sub(r'^v','',_f.readline().strip()) # make classes directly accessible as damask.Class -from ._environment import Environment # noqa +from ._environment import Environment as _ # noqa +environment = _() from ._table import Table # noqa from ._vtk import VTK # noqa from ._colormap import Colormap # noqa @@ -19,6 +20,7 @@ from ._geom import Geom # noqa from . import solver # noqa # deprecated +Environment = _ from ._asciitable import ASCIItable # noqa from ._test import Test # noqa from .config import Material # noqa diff --git a/python/damask/_geom.py b/python/damask/_geom.py index bbdcaf9f8..59da5e117 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -6,9 +6,9 @@ from functools import partial import numpy as np from scipy import ndimage,spatial +import damask from . import VTK from . import util -from . import Environment from . import grid_filters @@ -362,7 +362,7 @@ class Geom: seeds_p = seeds coords = grid_filters.cell_coord0(grid,size).reshape(-1,3) - pool = multiprocessing.Pool(processes = int(Environment().options['DAMASK_NUM_THREADS'])) + pool = multiprocessing.Pool(processes = int(damask.environment.options['DAMASK_NUM_THREADS'])) result = pool.map_async(partial(Geom._find_closest_seed,seeds_p,weights_p), [coord for coord in coords]) pool.close() pool.join() diff --git a/python/damask/_result.py b/python/damask/_result.py index 4b32798f1..a12ee467a 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -18,7 +18,6 @@ from . import VTK from . import Table from . import Rotation from . import Orientation -from . import Environment from . import grid_filters from . import mechanics from . import util @@ -1060,7 +1059,7 @@ class Result: Arguments parsed to func. """ - num_threads = Environment().options['DAMASK_NUM_THREADS'] + num_threads = damask.environment.options['DAMASK_NUM_THREADS'] pool = mp.Pool(int(num_threads) if num_threads is not None else None) lock = mp.Manager().Lock() diff --git a/python/damask/_test.py b/python/damask/_test.py index 9c4c7ad3d..78616fabf 100644 --- a/python/damask/_test.py +++ b/python/damask/_test.py @@ -180,7 +180,7 @@ class Test: def fileInRoot(self,dir,file): """Path to a file in the root directory of DAMASK.""" - return os.path.join(damask.Environment().rootDir(),dir,file) + return str(damask.environment.root_dir/dir/file) def fileInReference(self,file): diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 656d68412..51175fdd7 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -9,7 +9,6 @@ from vtk.util.numpy_support import numpy_to_vtkIdTypeArray as np_to_vtkIdTypeArr import damask from . import Table -from . import Environment class VTK: @@ -258,7 +257,7 @@ class VTK: ren.AddActor(actor) ren.SetBackground(0.2,0.2,0.2) - window.SetSize(Environment().screen_size[0],Environment().screen_size[1]) + window.SetSize(damask.environment.screen_size[0],damask.environment.screen_size[1]) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(window) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index 23ae5639d..d0d8cc2fb 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -3,12 +3,12 @@ import shlex import string from pathlib import Path -from .._environment import Environment +import damask class Marc: """Wrapper to run DAMASK with MSCMarc.""" - def __init__(self,version=Environment().options['MARC_VERSION']): + def __init__(self,version=damask.environment.options['MARC_VERSION']): """ Create a Marc solver object. @@ -24,7 +24,7 @@ class Marc: @property def library_path(self): - path_MSC = Environment().options['MSC_ROOT'] + path_MSC = damask.environment.options['MSC_ROOT'] path_lib = Path(f'{path_MSC}/mentat{self.version}/shlib/linux64') return path_lib if path_lib.is_dir() else None @@ -33,7 +33,7 @@ class Marc: @property def tools_path(self): - path_MSC = Environment().options['MSC_ROOT'] + path_MSC = damsk.environment.options['MSC_ROOT'] path_tools = Path(f'{path_MSC}/marc{self.version}/tools') return path_tools if path_tools.is_dir() else None @@ -49,9 +49,7 @@ class Marc: ): - env = Environment() - - usersub = env.root_dir/Path(f'src/DAMASK_marc{self.version}').with_suffix('.f90' if compile else '.marc') + usersub = damask.environment.root_dir/Path(f'src/DAMASK_marc{self.version}').with_suffix('.f90' if compile else '.marc') if not usersub.is_file(): raise FileNotFoundError("DAMASK4Marc ({}) '{}' not found".format(('source' if compile else 'binary'),usersub)) From 333e840b09433cb1796390441748b6f38e2cb894 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 15 Jul 2020 20:57:56 +0200 Subject: [PATCH 384/958] standard behavior most modules have an __version__ attribute --- python/damask/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/damask/__init__.py b/python/damask/__init__.py index 4c031758f..b0feee4ac 100644 --- a/python/damask/__init__.py +++ b/python/damask/__init__.py @@ -5,6 +5,7 @@ import re as _re name = 'damask' with open(_Path(__file__).parent/_Path('VERSION')) as _f: version = _re.sub(r'^v','',_f.readline().strip()) + __version__ = version # make classes directly accessible as damask.Class from ._environment import Environment as _ # noqa From fa7f7e6fa433307bd0d1230f0e5c1f065bed16a5 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 15 Jul 2020 21:19:09 +0200 Subject: [PATCH 385/958] don't complain if ssh without -X/-Y --- python/damask/_colormap.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 9d57f234b..b95253189 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -3,6 +3,8 @@ import functools import numpy as np import matplotlib as mpl +if os.name == 'posix' and 'DISPLAY' not in os.environ: + mpl.use('Agg') import matplotlib.pyplot as plt from matplotlib import cm From 9225d439ab46a7a05014949c961e477d5bb201d3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 15 Jul 2020 21:58:24 +0200 Subject: [PATCH 386/958] object oriented path handling --- python/damask/_colormap.py | 1 + python/setup.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index b95253189..73e7d0936 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -1,3 +1,4 @@ +import os import json import functools diff --git a/python/setup.py b/python/setup.py index a1b5ea166..798d8e4bf 100644 --- a/python/setup.py +++ b/python/setup.py @@ -1,8 +1,8 @@ import setuptools -import os +from pathlib import Path import re -with open(os.path.join(os.path.dirname(__file__),'damask/VERSION')) as f: +with open(Path(__file__).parent/'damask/VERSION') as f: version = re.sub(r'(-([^-]*)).*$',r'.\2',re.sub(r'^v(\d+\.\d+(\.\d+)?)',r'\1',f.readline().strip())) setuptools.setup( From 199ec51bf818deee0c1ade4db4d31a34ae4d4166 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 15 Jul 2020 21:59:43 +0200 Subject: [PATCH 387/958] typo --- python/damask/solver/_marc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index d0d8cc2fb..e148ed362 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -33,7 +33,7 @@ class Marc: @property def tools_path(self): - path_MSC = damsk.environment.options['MSC_ROOT'] + path_MSC = damask.environment.options['MSC_ROOT'] path_tools = Path(f'{path_MSC}/marc{self.version}/tools') return path_tools if path_tools.is_dir() else None From 33d42265f2ab5bb7b9a6be2255be6c75a5c9d400 Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 15 Jul 2020 22:31:40 +0200 Subject: [PATCH 388/958] [skip ci] updated version information after successful test of v2.0.3-2889-gf0fdcd0d --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index b76d77510..403eb9a88 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2872-g0a2d3046 +v2.0.3-2889-gf0fdcd0d From ffb0512077e2d966ea195ac19481c8fb40be4e52 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 15 Jul 2020 23:02:47 +0200 Subject: [PATCH 389/958] 2019.1 is available --- .gitlab-ci.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a421c6e79..a37313dc6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -50,7 +50,6 @@ variables: # Names of module files to load # =============================================================================================== # ++++++++++++ Compiler +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - IntelCompiler16_4: "Compiler/Intel/16.4 Libraries/IMKL/2016" IntelCompiler17_8: "Compiler/Intel/17.8 Libraries/IMKL/2017" IntelCompiler18_4: "Compiler/Intel/18.4 Libraries/IMKL/2018" GNUCompiler8_2: "Compiler/GNU/8.2" @@ -70,10 +69,9 @@ variables: PETSc_MPICH_Intel: "$PETSc3_10_3IMPI2018Intel18_4" PETSc_MPICH_GNU: "$PETSc3_10_3MPICH3_3GNU8_2" # ++++++++++++ commercial FEM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - MSC2018_1: "FEM/MSC/2018.1" - MSC2019: "FEM/MSC/2019" + MSC2019_1: "FEM/MSC/2019.1" # ------------ Defaults ---------------------------------------------- - MSC: "$MSC2019" + MSC: "$MSC2019_1" IntelMarc: "$IntelCompiler17_8" HDF5Marc: "HDF5/1.10.5/Intel-17.8" # ++++++++++++ Documentation ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ From 35a446f75c52bbcb9ce91e0f2efb6417a03898b0 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Thu, 16 Jul 2020 09:15:48 +0200 Subject: [PATCH 390/958] remove intermediate submodule files after compilation --- installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_hmp | 1 + installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_lmp | 1 + installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_mp | 1 + installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_hmp | 3 +++ installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_lmp | 3 +++ installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_mp | 3 +++ 6 files changed, 12 insertions(+) diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_hmp b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_hmp index 36ced6543..de6fce745 100644 --- a/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_hmp +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_hmp @@ -50,3 +50,4 @@ echo "program: $program" } /bin/rm $userobj /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_lmp b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_lmp index 8a0c1255d..6d063adf3 100644 --- a/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_lmp +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_lmp @@ -50,3 +50,4 @@ echo "program: $program" } /bin/rm $userobj /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_mp b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_mp index 986d9ae04..871b8a449 100644 --- a/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_mp +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/comp_damask_mp @@ -50,3 +50,4 @@ echo "program: $program" } /bin/rm $userobj /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_hmp b/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_hmp index 3fc9a59a0..93bb6fe92 100644 --- a/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_hmp +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_hmp @@ -3244,6 +3244,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3576,6 +3577,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3910,6 +3912,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_lmp b/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_lmp index e0b365c3c..1d4dbd0c3 100644 --- a/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_lmp +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_lmp @@ -3244,6 +3244,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3576,6 +3577,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3910,6 +3912,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then diff --git a/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_mp b/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_mp index 06e0ed69c..36c393444 100644 --- a/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_mp +++ b/installation/mods_MarcMentat/2019.1/Marc_tools/run_damask_mp @@ -3244,6 +3244,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3576,6 +3577,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3910,6 +3912,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then From 2bbd68d96488e307d769d9784a8577078226beb0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 16 Jul 2020 09:33:17 +0200 Subject: [PATCH 391/958] with_suffix strips .1 from 2019.1 --- python/damask/solver/_marc.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index e148ed362..8cf888295 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -49,7 +49,8 @@ class Marc: ): - usersub = damask.environment.root_dir/Path(f'src/DAMASK_marc{self.version}').with_suffix('.f90' if compile else '.marc') + usersub = damask.environment.root_dir/Path(f'src/DAMASK_marc{self.version}') + usersub = usersub.parent/(usersub.name + ('.f90' if compile else '.marc')) if not usersub.is_file(): raise FileNotFoundError("DAMASK4Marc ({}) '{}' not found".format(('source' if compile else 'binary'),usersub)) From e1b018c47a8f6af4db2a7b74660946a04ad2d8f5 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 16 Jul 2020 09:34:53 +0200 Subject: [PATCH 392/958] symlink was missing --- src/DAMASK_marc2019.1.f90 | 1 + 1 file changed, 1 insertion(+) create mode 120000 src/DAMASK_marc2019.1.f90 diff --git a/src/DAMASK_marc2019.1.f90 b/src/DAMASK_marc2019.1.f90 new file mode 120000 index 000000000..2c5bec706 --- /dev/null +++ b/src/DAMASK_marc2019.1.f90 @@ -0,0 +1 @@ +DAMASK_marc.f90 \ No newline at end of file From ec56316683f17f63bed7c753b155237ec2667809 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 16 Jul 2020 15:26:00 +0200 Subject: [PATCH 393/958] IPneighborhood for MSC.Marc tested for 8 ip hexahedaron --- src/marc/discretization_marc.f90 | 88 ++++++++++++++++++++++++++------ src/math.f90 | 18 ++++--- 2 files changed, 83 insertions(+), 23 deletions(-) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index 365bbbff7..d53dccf75 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -119,7 +119,7 @@ subroutine discretization_marc_init unscaledNormals = IPareaNormal(elem,nElems,connectivity_cell,node0_cell) call geometry_plastic_nonlocal_setIParea(norm2(unscaledNormals,1)) call geometry_plastic_nonlocal_setIPareaNormal(unscaledNormals/spread(norm2(unscaledNormals,1),1,3)) - !call geometry_plastic_nonlocal_setIPneighborhood ToDo: Support nonlocal + call geometry_plastic_nonlocal_setIPneighborhood(IPneighborhood(elem,connectivity_cell)) call geometry_plastic_nonlocal_results end subroutine discretization_marc_init @@ -733,10 +733,10 @@ end subroutine inputRead_microstructureAndHomogenization !-------------------------------------------------------------------------------------------------- -!> @brief Determine cell connectivity and definition of cell nodes +!> @brief Calculates cell node coordinates from element node coordinates !-------------------------------------------------------------------------------------------------- -subroutine buildCells(connectivity_cell,cellNodeDefinition, & - elem,connectivity_elem) +pure subroutine buildCells(connectivity_cell,cellNodeDefinition, & + elem,connectivity_elem) type(tCellNodeDefinition), dimension(:), intent(out) :: cellNodeDefinition ! definition of cell nodes for increasing number of parents integer, dimension(:,:,:),intent(out) :: connectivity_cell @@ -747,8 +747,7 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & integer,dimension(:), allocatable :: candidates_local integer,dimension(:,:), allocatable :: parentsAndWeights,candidates_global - integer :: e,n,c,p,s,i,m,j,& - nParentNodes,nCellNode,Nelem,candidateID + integer :: e, n, c, p, s,i,m,j,nParentNodes,nCellNode,Nelem,candidateID Nelem = size(connectivity_elem,2) @@ -762,7 +761,9 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & do e = 1, Nelem do c = 1, elem%NcellNodes realNode: if (count(elem%cellNodeParentNodeWeights(:,c) /= 0) == 1) then - where(connectivity_cell(:,:,e) == -c) connectivity_cell(:,:,e) = connectivity_elem(c,e) + where(connectivity_cell(:,:,e) == -c) + connectivity_cell(:,:,e) = connectivity_elem(c,e) + end where endif realNode enddo enddo @@ -889,10 +890,10 @@ end subroutine buildCells !-------------------------------------------------------------------------------------------------- -!> @brief Calculate cell node coordinates from element node coordinates +!> @brief Calculates cell node coordinates from element node coordinates !-------------------------------------------------------------------------------------------------- -subroutine buildCellNodes(node_cell, & - definition,node_elem) +pure subroutine buildCellNodes(node_cell, & + definition,node_elem) real(pReal), dimension(:,:), intent(out) :: node_cell !< cell node coordinates type(tCellNodeDefinition), dimension(:), intent(in) :: definition !< cell node definition (weights and parents) @@ -919,10 +920,10 @@ end subroutine buildCellNodes !-------------------------------------------------------------------------------------------------- -!> @brief Calculate IP coordinates as center of cell +!> @brief Calculates IP coordinates as center of cell !-------------------------------------------------------------------------------------------------- -subroutine buildIPcoordinates(IPcoordinates, & - connectivity_cell,node_cell) +pure subroutine buildIPcoordinates(IPcoordinates, & + connectivity_cell,node_cell) real(pReal), dimension(:,:), intent(out):: IPcoordinates !< cell-center/IP coordinates integer, dimension(:,:), intent(in) :: connectivity_cell !< connectivity for each cell @@ -947,7 +948,7 @@ end subroutine buildIPcoordinates !> @details The IP volume is calculated differently depending on the cell type. !> 2D cells assume an element depth of 1.0 !--------------------------------------------------------------------------------------------------- -function IPvolume(elem,node,connectivity) +pure function IPvolume(elem,node,connectivity) type(tElement), intent(in) :: elem real(pReal), dimension(:,:), intent(in) :: node @@ -1005,7 +1006,7 @@ end function IPvolume !-------------------------------------------------------------------------------------------------- !> @brief calculation of IP interface areas !-------------------------------------------------------------------------------------------------- -function IPareaNormal(elem,nElem,connectivity,node) +pure function IPareaNormal(elem,nElem,connectivity,node) type(tElement), intent(in) :: elem integer, intent(in) :: nElem @@ -1051,6 +1052,63 @@ function IPareaNormal(elem,nElem,connectivity,node) end function IPareaNormal +!-------------------------------------------------------------------------------------------------- +!> @brief IP neighborhood +!-------------------------------------------------------------------------------------------------- +function IPneighborhood(elem,connectivity) + + type(tElement), intent(in) :: elem ! definition of the element in use + integer, dimension(:,:,:), intent(in) :: connectivity ! cell connectivity + integer, dimension(3,size(elem%cellFace,2), & + size(connectivity,2),size(connectivity,3)) :: IPneighborhood ! neighboring IPs as [element ID, IP ID, face ID] + + integer, dimension(size(elem%cellFace,1)+3,& + size(elem%cellFace,2)*size(connectivity,2)*size(connectivity,3)) :: face + integer, dimension(size(connectivity,1)) :: myConnectivity + integer, dimension(size(elem%cellFace,1)) :: face_unordered + integer :: e,i,f,n,c,s + + c = 0 + do e = 1, size(connectivity,3) + do i = 1, size(connectivity,2) + myConnectivity = connectivity(:,i,e) + do f = 1, size(elem%cellFace,2) + c = c + 1 + face_unordered = myConnectivity(elem%cellFace(:,f)) + do n = 1, size(face_unordered) + face(n,c) = minval(face_unordered) + face_unordered(minloc(face_unordered)) = huge(face_unordered) + enddo + face(n:n+3,c) = [e,i,f] + enddo + enddo; enddo + +!-------------------------------------------------------------------------------------------------- +! sort face definitions + call math_sort(face,sortDim=1) + do c=2, size(face,1)-4 + s = 1 + e = 1 + do while (e < size(face,2)) + e = e + 1 + if(any(face(:c,s) /= face(:c,e))) then + if(e-1/=s) call math_sort(face(:,s:e-1),sortDim=c) + s = e + endif + enddo + enddo + + IPneighborhood = 0 + do c=1, size(face,2) - 1 + if(all(face(:n-1,c) == face(:n-1,c+1))) then + IPneighborhood(:,face(n+2,c+1),face(n+1,c+1),face(n+0,c+1)) = face(n:n+3,c+0) + IPneighborhood(:,face(n+2,c+0),face(n+1,c+0),face(n+0,c+0)) = face(n:n+3,c+1) + endif + enddo + +end function IPneighborhood + + !-------------------------------------------------------------------------------------------------- !> @brief return integer list corresponding to items in consecutive lines. !! First integer in array is counter diff --git a/src/math.f90 b/src/math.f90 index 7abb39424..0ef13cc3f 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -126,11 +126,12 @@ end subroutine math_init !-------------------------------------------------------------------------------------------------- -!> @brief Quicksort algorithm for two-dimensional integer arrays -! Sorting is done with respect to array(sort,:) and keeps array(/=sort,:) linked to it. -! default: sort=1 +!> @brief Sorting of two-dimensional integer arrays +!> @details Based on quicksort. +! Sorting is done with respect to array(sortDim,:) and keeps array(/=sortDim,:) linked to it. +! Default: sortDim=1 !-------------------------------------------------------------------------------------------------- -recursive subroutine math_sort(a, istart, iend, sortDim) +pure recursive subroutine math_sort(a, istart, iend, sortDim) integer, dimension(:,:), intent(inout) :: a integer, intent(in),optional :: istart,iend, sortDim @@ -155,7 +156,7 @@ recursive subroutine math_sort(a, istart, iend, sortDim) endif if (s < e) then - ipivot = qsort_partition(a,s, e, d) + call qsort_partition(a,ipivot, s,e, d) call math_sort(a, s, ipivot-1, d) call math_sort(a, ipivot+1, e, d) endif @@ -166,9 +167,10 @@ recursive subroutine math_sort(a, istart, iend, sortDim) !------------------------------------------------------------------------------------------------- !> @brief Partitioning required for quicksort !------------------------------------------------------------------------------------------------- - integer function qsort_partition(a, istart, iend, sort) + pure subroutine qsort_partition(a,p, istart, iend, sort) integer, dimension(:,:), intent(inout) :: a + integer, intent(out) :: p ! Pivot element integer, intent(in) :: istart,iend,sort integer, dimension(size(a,1)) :: tmp integer :: i,j @@ -186,7 +188,7 @@ recursive subroutine math_sort(a, istart, iend, sortDim) tmp = a(:,istart) a(:,istart) = a(:,j) a(:,j) = tmp - qsort_partition = j + p = j return else cross ! exchange values tmp = a(:,i) @@ -195,7 +197,7 @@ recursive subroutine math_sort(a, istart, iend, sortDim) endif cross enddo - end function qsort_partition + end subroutine qsort_partition end subroutine math_sort From d8e112c04262083697bcbf12a33edd973e3c2a9d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 16 Jul 2020 23:38:37 +0200 Subject: [PATCH 394/958] phaseAt needs constituent/element tuple constituent is always 1 for nonlocal --- src/crystallite.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index fbce3ab47..f33f392a2 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -641,7 +641,7 @@ subroutine crystallite_orientations if (plasticState(material_phaseAt(1,e))%nonlocal) then do i = FEsolving_execIP(1),FEsolving_execIP(2) call plastic_nonlocal_updateCompatibility(crystallite_orientation, & - phase_plasticityInstance(material_phaseAt(i,e)),i,e) + phase_plasticityInstance(material_phaseAt(1,e)),i,e) enddo endif enddo From 63cb5f1c9cdfc7361f5114efb3bd4cf1c7d6b960 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 17 Jul 2020 13:06:46 +0200 Subject: [PATCH 395/958] [skip ci] updated version information after successful test of v2.0.3-2912-g361c35b8 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index e78e2c589..e00afd09a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2881-gc07efe84 +v2.0.3-2912-g361c35b8 From 4b94a8c27f75827d2b83ef33237278bb5f820d2c Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 17 Jul 2020 18:43:22 +0200 Subject: [PATCH 396/958] [skip ci] updated version information after successful test of v2.0.3-2925-gd47273f5 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index e00afd09a..60fe3e0e3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2912-g361c35b8 +v2.0.3-2925-gd47273f5 From 4860f9c9cef3a2178f5860125886b2f6425208bb Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 18 Jul 2020 09:51:53 +0200 Subject: [PATCH 397/958] drop support for parallel marc versions can still be handled by the user, but is a niche use case --- env/CONFIG | 6 +++--- python/damask/_environment.py | 1 - python/damask/solver/_marc.py | 2 +- src/DAMASK_marc2018.1.f90 | 1 - src/DAMASK_marc2018.f90 | 1 - src/DAMASK_marc2019.1.f90 | 1 - src/DAMASK_marc2019.f90 | 1 - 7 files changed, 4 insertions(+), 9 deletions(-) delete mode 120000 src/DAMASK_marc2018.1.f90 delete mode 120000 src/DAMASK_marc2018.f90 delete mode 120000 src/DAMASK_marc2019.1.f90 delete mode 120000 src/DAMASK_marc2019.f90 diff --git a/env/CONFIG b/env/CONFIG index 343e21a60..380197583 100644 --- a/env/CONFIG +++ b/env/CONFIG @@ -1,5 +1,5 @@ # "set"-syntax needed only for tcsh (but works with bash and zsh) -set DAMASK_NUM_THREADS = 4 +set DAMASK_NUM_THREADS = 4 -set MSC_ROOT = /opt/msc -set MARC_VERSION = 2019.1 +set MSC_ROOT = /opt/msc +set MARC_VERSION = 2019.1 diff --git a/python/damask/_environment.py b/python/damask/_environment.py index 7b8b8487e..d4b7abe51 100644 --- a/python/damask/_environment.py +++ b/python/damask/_environment.py @@ -3,7 +3,6 @@ from pathlib import Path class Environment: - # ToDo: Probably, we don't need a class (just a module with a few functions) def __init__(self): """Do Nothing.""" pass diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index 8cf888295..8e96f1b90 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -49,7 +49,7 @@ class Marc: ): - usersub = damask.environment.root_dir/Path(f'src/DAMASK_marc{self.version}') + usersub = damask.environment.root_dir/'src/DAMASK_marc' usersub = usersub.parent/(usersub.name + ('.f90' if compile else '.marc')) if not usersub.is_file(): raise FileNotFoundError("DAMASK4Marc ({}) '{}' not found".format(('source' if compile else 'binary'),usersub)) diff --git a/src/DAMASK_marc2018.1.f90 b/src/DAMASK_marc2018.1.f90 deleted file mode 120000 index 2c5bec706..000000000 --- a/src/DAMASK_marc2018.1.f90 +++ /dev/null @@ -1 +0,0 @@ -DAMASK_marc.f90 \ No newline at end of file diff --git a/src/DAMASK_marc2018.f90 b/src/DAMASK_marc2018.f90 deleted file mode 120000 index 2c5bec706..000000000 --- a/src/DAMASK_marc2018.f90 +++ /dev/null @@ -1 +0,0 @@ -DAMASK_marc.f90 \ No newline at end of file diff --git a/src/DAMASK_marc2019.1.f90 b/src/DAMASK_marc2019.1.f90 deleted file mode 120000 index 2c5bec706..000000000 --- a/src/DAMASK_marc2019.1.f90 +++ /dev/null @@ -1 +0,0 @@ -DAMASK_marc.f90 \ No newline at end of file diff --git a/src/DAMASK_marc2019.f90 b/src/DAMASK_marc2019.f90 deleted file mode 120000 index 2c5bec706..000000000 --- a/src/DAMASK_marc2019.f90 +++ /dev/null @@ -1 +0,0 @@ -DAMASK_marc.f90 \ No newline at end of file From 888e7028f9ecef1042a0260e59f4f723d6f81b55 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 18 Jul 2020 10:12:22 +0200 Subject: [PATCH 398/958] python is more convenient --- .../apply_DAMASK_modifications.py | 65 ++++++++ .../apply_DAMASK_modifications.sh | 144 ------------------ installation/mods_MarcMentat/installation.txt | 2 +- 3 files changed, 66 insertions(+), 145 deletions(-) create mode 100755 installation/mods_MarcMentat/apply_DAMASK_modifications.py delete mode 100755 installation/mods_MarcMentat/apply_DAMASK_modifications.sh diff --git a/installation/mods_MarcMentat/apply_DAMASK_modifications.py b/installation/mods_MarcMentat/apply_DAMASK_modifications.py new file mode 100755 index 000000000..deea560ac --- /dev/null +++ b/installation/mods_MarcMentat/apply_DAMASK_modifications.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 + +import os +import glob +import argparse +from pathlib import Path + +import damask + +marc_version = float(damask.environment.options['MARC_VERSION']) +msc_root = Path(damask.environment.options['MSC_ROOT']) +damask_root = damask.environment.root_dir + +parser = argparse.ArgumentParser( + description='Apply DAMASK modification to MSC.Marc/Mentat', + epilog = f'MSC_ROOT={msc_root} and MARC_VERSION={marc_version} (from {damask_root}/env/CONFIG)') +parser.add_argument('--editor', dest='editor', metavar='string', default='vi', + help='Name of the editor for MSC.Mentat (executable)') + + +def copy_and_replace(in_file,dst): + with open(in_file) as f: + content = f.read() + content = content.replace('%INSTALLDIR%',str(damask_root/'bin')) + content = content.replace('%VERSION%',str(marc_version).replace('.0','')) + content = content.replace('%EDITOR%', parser.parse_args().editor) + with open(dst/Path(in_file).name,'w') as f: + f.write(content) + + +print('adapting Marc tools...\n') + +src = damask_root/f'installation/mods_MarcMentat/{marc_version}/Marc_tools' +dst = msc_root/f'marc{marc_version}/tools' +for in_file in glob.glob(str(src/'*damask*')) + [str(src/'include_linux64')]: + copy_and_replace(in_file,dst) + + +print('adapting Mentat scripts and menus...\n') + +src = damask_root/f'installation/mods_MarcMentat/{marc_version}/Mentat_bin' +dst = msc_root/f'mentat{marc_version}/bin' +for in_file in glob.glob(str(src/'*[!.original]')): + copy_and_replace(in_file,dst) + +src = damask_root/f'installation/mods_MarcMentat/{marc_version}/Mentat_menus' +dst = msc_root/f'mentat{marc_version}/menus' +for in_file in glob.glob(str(src/'job_run.ms')): + copy_and_replace(in_file,dst) + + +print('compiling Mentat menu binaries...') + +executable = str(msc_root/f'mentat{marc_version}/bin/mentat') +menu_file = str(msc_root/f'mentat{marc_version}/menus/linux64/main.msb') +os.system(f'xvfb-run {executable} -compile {menu_file}') + + +print('setting file access rights...\n') + +for pattern in [msc_root/f'marc{marc_version}/tools/*damask*', + msc_root/f'mentat{marc_version}/bin/submit?', + msc_root/f'mentat{marc_version}/bin/kill?']: + for f in glob.glob(str(pattern)): + os.chmod(f,0o755) diff --git a/installation/mods_MarcMentat/apply_DAMASK_modifications.sh b/installation/mods_MarcMentat/apply_DAMASK_modifications.sh deleted file mode 100755 index ac0daf036..000000000 --- a/installation/mods_MarcMentat/apply_DAMASK_modifications.sh +++ /dev/null @@ -1,144 +0,0 @@ -#!/usr/bin/env bash - -SCRIPTLOCATION="$( cd "$( dirname "$0" )" && pwd )" -DAMASK_ROOT=$SCRIPTLOCATION/../../ - -if [ "x$MSC_ROOT" != "x" ]; then - DEFAULT_DIR=$MSC_ROOT -fi -if [ "x$MARC_VERSION" != "x" ]; then - DEFAULT_VERSION=$MARC_VERSION -fi -if [ "x$DAMASK_BIN" != "x" ]; then - BIN_DIR=$DAMASK_ROOT/bin -fi - -while [ ! -d "$SCRIPTLOCATION/$VERSION" ] || [ -z "$VERSION" ] -do - echo "Input version of MARC/MENTAT installation: [${DEFAULT_VERSION}]" - read VERSION - if [ -z "$VERSION" ]; then - VERSION=${DEFAULT_VERSION} - fi - [[ -d "$SCRIPTLOCATION/$VERSION" ]] || echo -e "$VERSION not supported..!\n" -done -echo "MSC version: $VERSION" - -while [ ! -d "$INSTALLDIR" ] || [ -z "$INSTALLDIR" ] -do - echo "Input path of MARC/MENTAT installation: [${DEFAULT_DIR}]" - read INSTALLDIR - if [ -z "$INSTALLDIR" ]; then - INSTALLDIR=${DEFAULT_DIR} - fi - [[ -d "$INSTALLDIR" ]] || echo -e "$INSTALLDIR not found..!\n" -done - -INSTALLDIR=${INSTALLDIR%/} # remove trailing slash -echo "MSC installation path: $INSTALLDIR" - -DEFAULT_EDITOR='vi' -EDITOR='' -while [ -z "$EDITOR" ] -do - echo "Input command to invoke your preferred editor: [${DEFAULT_EDITOR}]" - read EDITOR - if [ -z "$EDITOR" ]; then - EDITOR=${DEFAULT_EDITOR} - fi -done -echo "Editor: $EDITOR" - -# tools -echo '' -echo 'adapting Marc tools...' -theDIR=$INSTALLDIR/marc$VERSION/tools -for filename in 'comp_damask_mp' \ - 'comp_damask_lmp' \ - 'comp_damask_hmp' \ - 'run_damask_mp' \ - 'run_damask_lmp' \ - 'run_damask_hmp' \ - 'include_linux64'; do - cp $SCRIPTLOCATION/$VERSION/Marc_tools/$filename $theDIR - echo $theDIR/$filename | xargs perl -pi -e "s:%INSTALLDIR%:${INSTALLDIR}:g" - echo $theDIR/$filename | xargs perl -pi -e "s:%VERSION%:${VERSION}:g" - echo $filename -done - -# Mentat scripts -echo '' -echo 'adapting Mentat scripts...' -theDIR=$INSTALLDIR/mentat$VERSION/bin -for filename in 'edit_window' \ - 'submit4' \ - 'submit5' \ - 'submit6' \ - 'kill4' \ - 'kill5' \ - 'kill6'; do - cp $SCRIPTLOCATION/$VERSION/Mentat_bin/$filename $theDIR - echo $theDIR/$filename | xargs perl -pi -e "s:%INSTALLDIR%:${INSTALLDIR}:g" - echo $theDIR/$filename | xargs perl -pi -e "s:%VERSION%:${VERSION}:g" - echo $theDIR/$filename | xargs perl -pi -e "s:%EDITOR%:${EDITOR}:g" - echo $filename -done - -# Mentat scripts -echo -e '\nadapting Mentat menus...' -theDIR=$INSTALLDIR/mentat$VERSION/menus -for filename in 'job_run.ms'; do - cp $SCRIPTLOCATION/$VERSION/Mentat_menus/$filename $theDIR - echo $theDIR/$filename | xargs perl -pi -e "s:%INSTALLDIR%:${INSTALLDIR}:g" - echo $theDIR/$filename | xargs perl -pi -e "s:%VERSION%:${VERSION}:g" - echo $filename -done - -# compile menus -echo '' -echo 'compiling Mentat menu binaries...' -$(which xvfb-run 2>/dev/null) $INSTALLDIR/mentat$VERSION/bin/mentat -compile $INSTALLDIR/mentat$VERSION/menus/linux64/main.msb -[[ $? != 0 ]] && echo '...failed. Try installing xvfb-run on your system.' - -# setting access rights -echo '' -echo 'setting file access rights...' -for filename in marc$VERSION/tools/run_damask* \ - marc$VERSION/tools/comp_damask* \ - mentat$VERSION/bin/submit{4..6} \ - mentat$VERSION/bin/kill{4..6} ; do - chmod 755 $INSTALLDIR/${filename} -done - -#creating symlinks for run_damask_scripts - -if [ -d "$BIN_DIR" ]; then - echo '' - echo "Do you want to create symlinks for run_damask scripts in ${BIN_DIR} [YES/no] ?" - read YESNO - if [ -z "$YESNO" ]; then - YESNO=yes - fi - case $YESNO in - y* | Y* ) - echo'' - echo 'creating symlinks ...' - echo'' - theDIR=$INSTALLDIR/marc$VERSION/tools - for filename in 'run_damask_mp' \ - 'run_damask_lmp' \ - 'run_damask_hmp'; do - echo ${filename:4}$VERSION - [ -f $BIN_DIR/${filename:4}$VERSION ] && rm $BIN_DIR/${filename:4}$VERSION - ln -s $theDIR/$filename $BIN_DIR/${filename:4}$VERSION - done - ;; - esac -fi - -# precompiling user subroutine -echo '' -echo 'precompiling $VERSION HYPELA2 user subroutine...' -echo 'not yet implemented..!' - -echo -e '\ndone.' diff --git a/installation/mods_MarcMentat/installation.txt b/installation/mods_MarcMentat/installation.txt index fc81408cc..cff143d9f 100644 --- a/installation/mods_MarcMentat/installation.txt +++ b/installation/mods_MarcMentat/installation.txt @@ -11,7 +11,7 @@ The Intel Fortran compiler needs to be installed. 1) Install Marc, Mentat and Documentation as usual Run the test example including subroutines to confirm that the installation of both Marc/Mentat and the Intel Fortran Compiler is ok! -2) Run the apply_DAMASK_modifications.sh script from this directory. +2) Run the apply_DAMASK_modifications.py script from this directory. APPENDIX: From 83504b417d339559779613ac84377223005ceb3d Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 20 Jul 2020 13:41:54 +0200 Subject: [PATCH 399/958] [skip ci] updated version information after successful test of v2.0.3-2929-gfb02c69a --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 60fe3e0e3..fc6f90a9e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2925-gd47273f5 +v2.0.3-2929-gfb02c69a From 4b4b579a9aa6263e8a5e50d6ca0cd83dc3282acb Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 22 Jul 2020 19:54:31 +0200 Subject: [PATCH 400/958] [skip ci] updated version information after successful test of v2.0.3-2934-g709d1e98 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index fc6f90a9e..e8348dd00 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2929-gfb02c69a +v2.0.3-2934-g709d1e98 From 326b82b3aaf0dcce275dafa4406ba8c99dbd72bd Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 24 Jul 2020 22:41:41 +0200 Subject: [PATCH 401/958] symmetric scatter around nominal value --- python/tests/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tests/conftest.py b/python/tests/conftest.py index 97c8ee44e..87aa9a363 100644 --- a/python/tests/conftest.py +++ b/python/tests/conftest.py @@ -104,7 +104,7 @@ def set_of_quaternions(): [1.0,-1.0,-1.0,-1.0], ]) specials /= np.linalg.norm(specials,axis=1).reshape(-1,1) - specials_scatter = specials + np.broadcast_to(np.random.rand(4)*scatter,specials.shape) + specials_scatter = specials + np.broadcast_to((np.random.rand(4)*2.-1.)*scatter,specials.shape) specials_scatter /= np.linalg.norm(specials_scatter,axis=1).reshape(-1,1) specials_scatter[specials_scatter[:,0]<0]*=-1 From daab5a89524f9b4065d7aa310603d30d05208529 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 24 Jul 2020 22:42:16 +0200 Subject: [PATCH 402/958] polishing --- python/tests/test_Rotation.py | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 46c10d8c2..49f57f67f 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -130,21 +130,21 @@ def qu2ho(qu): #---------- Rotation matrix ---------- -def om2qu(a): - trace = a[0,0] + a[1,1] + a[2,2] +def om2qu(om): + trace = om.trace() if trace > 0: s = 0.5 / np.sqrt(trace+ 1.0) - qu = np.array([0.25 / s,( a[2,1] - a[1,2] ) * s,( a[0,2] - a[2,0] ) * s,( a[1,0] - a[0,1] ) * s]) + qu = np.array([0.25 / s,( om[2,1] - om[1,2] ) * s,( om[0,2] - om[2,0] ) * s,( om[1,0] - om[0,1] ) * s]) else: - if ( a[0,0] > a[1,1] and a[0,0] > a[2,2] ): - s = 2.0 * np.sqrt( 1.0 + a[0,0] - a[1,1] - a[2,2]) - qu = np.array([ (a[2,1] - a[1,2]) / s,0.25 * s,(a[0,1] + a[1,0]) / s,(a[0,2] + a[2,0]) / s]) - elif (a[1,1] > a[2,2]): - s = 2.0 * np.sqrt( 1.0 + a[1,1] - a[0,0] - a[2,2]) - qu = np.array([ (a[0,2] - a[2,0]) / s,(a[0,1] + a[1,0]) / s,0.25 * s,(a[1,2] + a[2,1]) / s]) + if ( om[0,0] > om[1,1] and om[0,0] > om[2,2] ): + s = 2.0 * np.sqrt( 1.0 + om[0,0] - om[1,1] - om[2,2]) + qu = np.array([ (om[2,1] - om[1,2]) / s,0.25 * s,(om[0,1] + om[1,0]) / s,(om[0,2] + om[2,0]) / s]) + elif (om[1,1] > om[2,2]): + s = 2.0 * np.sqrt( 1.0 + om[1,1] - om[0,0] - om[2,2]) + qu = np.array([ (om[0,2] - om[2,0]) / s,(om[0,1] + om[1,0]) / s,0.25 * s,(om[1,2] + om[2,1]) / s]) else: - s = 2.0 * np.sqrt( 1.0 + a[2,2] - a[0,0] - a[1,1] ) - qu = np.array([ (a[1,0] - a[0,1]) / s,(a[0,2] + a[2,0]) / s,(a[1,2] + a[2,1]) / s,0.25 * s]) + s = 2.0 * np.sqrt( 1.0 + om[2,2] - om[0,0] - om[1,1] ) + qu = np.array([ (om[1,0] - om[0,1]) / s,(om[0,2] + om[2,0]) / s,(om[1,2] + om[2,1]) / s,0.25 * s]) if qu[0]<0: qu*=-1 return qu*np.array([1.,_P,_P,_P]) @@ -163,7 +163,6 @@ def om2eu(om): def om2ax(om): """Rotation matrix to axis angle pair.""" - #return qu2ax(om2qu(om)) # HOTFIX ax=np.empty(4) # first get the rotation angle @@ -446,11 +445,6 @@ def mul(me, other): other : numpy.ndarray or Rotation Vector, second or fourth order tensor, or rotation object that is rotated. - Todo - ---- - Document details active/passive) - consider rotation of (3,3,3,3)-matrix - """ if me.quaternion.shape != (4,): raise NotImplementedError('Support for multiple rotations missing') From 57b4236be8a87cc0f0a5558e583add7933777f86 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 24 Jul 2020 22:43:59 +0200 Subject: [PATCH 403/958] more stable version tests need to consider that quaternion definition is not unique for Re(q) = 0. --- src/rotations.f90 | 91 ++++++++++++++++++++++++++++------------------- 1 file changed, 55 insertions(+), 36 deletions(-) diff --git a/src/rotations.f90 b/src/rotations.f90 index 07053545d..85f901f5d 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -34,7 +34,7 @@ !> @details: rotation is internally stored as quaternion. It can be inialized from different !> representations and also returns itself in different representations. ! -! All methods and naming conventions based on Rowenhorst_etal2015 +! All methods and naming conventions based on Rowenhorst et al. 2015 ! Convention 1: coordinate frames are right-handed ! Convention 2: a rotation angle ω is taken to be positive for a counterclockwise rotation ! when viewing from the end point of the rotation axis towards the origin @@ -566,7 +566,26 @@ pure function om2qu(om) result(qu) real(pReal), intent(in), dimension(3,3) :: om real(pReal), dimension(4) :: qu - qu = eu2qu(om2eu(om)) + real(pReal) :: trace,s + trace = math_trace33(om) + + if(trace > 0.0_pReal) then + s = 0.5_pReal / sqrt(trace+1.0_pReal) + qu = [0.25_pReal/s, (om(3,2)-om(2,3))*s,(om(1,3)-om(3,1))*s,(om(2,1)-om(1,2))*s] + else + if( om(1,1) > om(2,2) .and. om(1,1) > om(3,3) ) then + s = 2.0_pReal * sqrt( 1.0_pReal + om(1,1) - om(2,2) - om(3,3)) + qu = [ (om(3,2) - om(2,3)) /s,0.25_pReal * s,(om(1,2) + om(2,1)) / s,(om(1,3) + om(3,1)) / s] + elseif (om(2,2) > om(3,3)) then + s = 2.0_pReal * sqrt( 1.0_pReal + om(2,2) - om(1,1) - om(3,3)) + qu = [ (om(1,3) - om(3,1)) /s,(om(1,2) + om(2,1)) / s,0.25_pReal * s,(om(2,3) + om(3,2)) / s] + else + s = 2.0_pReal * sqrt( 1.0_pReal + om(3,3) - om(1,1) - om(2,2) ) + qu = [ (om(2,1) - om(1,2)) /s,(om(1,3) + om(3,1)) / s,(om(2,3) + om(3,2)) / s,0.25_pReal * s] + endif + endif + if(qu(1)<0._pReal) qu =-1.0_pReal * qu + qu = qu*[1.0_pReal,P,P,P] end function om2qu @@ -727,7 +746,7 @@ pure function eu2om(eu) result(om) om(3,2) = -c(1)*s(2) om(3,3) = c(2) - where(dEq0(om)) om = 0.0_pReal + where(abs(om)<1.0e-12_pReal) om = 0.0_pReal end function eu2om @@ -1386,49 +1405,37 @@ subroutine selfTest sin(2.0_pReal*PI*x(1))*A] if(qu(1)<0.0_pReal) qu = qu * (-1.0_pReal) endif -#ifndef __PGI - if(dNeq0(norm2(om2qu(qu2om(qu))-qu),1.0e-12_pReal)) msg = trim(msg)//'om2qu/qu2om,' - if(dNeq0(norm2(eu2qu(qu2eu(qu))-qu),1.0e-12_pReal)) msg = trim(msg)//'eu2qu/qu2eu,' - if(dNeq0(norm2(ax2qu(qu2ax(qu))-qu),1.0e-12_pReal)) msg = trim(msg)//'ax2qu/qu2ax,' - if(dNeq0(norm2(ro2qu(qu2ro(qu))-qu),1.0e-12_pReal)) msg = trim(msg)//'ro2qu/qu2ro,' - if(dNeq0(norm2(ho2qu(qu2ho(qu))-qu),1.0e-7_pReal)) msg = trim(msg)//'ho2qu/qu2ho,' - if(dNeq0(norm2(cu2qu(qu2cu(qu))-qu),1.0e-7_pReal)) msg = trim(msg)//'cu2qu/qu2cu,' -#endif + if(.not. quaternion_equal(om2qu(qu2om(qu)),qu)) msg = trim(msg)//'om2qu/qu2om,' + if(.not. quaternion_equal(eu2qu(qu2eu(qu)),qu)) msg = trim(msg)//'eu2qu/qu2eu,' + if(.not. quaternion_equal(ax2qu(qu2ax(qu)),qu)) msg = trim(msg)//'ax2qu/qu2ax,' + if(.not. quaternion_equal(ro2qu(qu2ro(qu)),qu)) msg = trim(msg)//'ro2qu/qu2ro,' + if(.not. quaternion_equal(ho2qu(qu2ho(qu)),qu)) msg = trim(msg)//'ho2qu/qu2ho,' + if(.not. quaternion_equal(cu2qu(qu2cu(qu)),qu)) msg = trim(msg)//'cu2qu/qu2cu,' om = qu2om(qu) -#ifndef __PGI - if(dNeq0(norm2(om2qu(eu2om(om2eu(om)))-qu),1.0e-7_pReal)) msg = trim(msg)//'eu2om/om2eu,' - if(dNeq0(norm2(om2qu(ax2om(om2ax(om)))-qu),1.0e-7_pReal)) msg = trim(msg)//'ax2om/om2ax,' - if(dNeq0(norm2(om2qu(ro2om(om2ro(om)))-qu),1.0e-12_pReal)) msg = trim(msg)//'ro2om/om2ro,' - if(dNeq0(norm2(om2qu(ho2om(om2ho(om)))-qu),1.0e-7_pReal)) msg = trim(msg)//'ho2om/om2ho,' - if(dNeq0(norm2(om2qu(cu2om(om2cu(om)))-qu),1.0e-7_pReal)) msg = trim(msg)//'cu2om/om2cu,' -#endif + if(.not. quaternion_equal(om2qu(eu2om(om2eu(om))),qu)) msg = trim(msg)//'eu2om/om2eu,' + if(.not. quaternion_equal(om2qu(ax2om(om2ax(om))),qu)) msg = trim(msg)//'ax2om/om2ax,' + if(.not. quaternion_equal(om2qu(ro2om(om2ro(om))),qu)) msg = trim(msg)//'ro2om/om2ro,' + if(.not. quaternion_equal(om2qu(ho2om(om2ho(om))),qu)) msg = trim(msg)//'ho2om/om2ho,' + if(.not. quaternion_equal(om2qu(cu2om(om2cu(om))),qu)) msg = trim(msg)//'cu2om/om2cu,' eu = qu2eu(qu) -#ifndef __PGI - if(dNeq0(norm2(eu2qu(ax2eu(eu2ax(eu)))-qu),1.0e-12_pReal)) msg = trim(msg)//'ax2eu/eu2ax,' - if(dNeq0(norm2(eu2qu(ro2eu(eu2ro(eu)))-qu),1.0e-12_pReal)) msg = trim(msg)//'ro2eu/eu2ro,' - if(dNeq0(norm2(eu2qu(ho2eu(eu2ho(eu)))-qu),1.0e-7_pReal)) msg = trim(msg)//'ho2eu/eu2ho,' - if(dNeq0(norm2(eu2qu(cu2eu(eu2cu(eu)))-qu),1.0e-7_pReal)) msg = trim(msg)//'cu2eu/eu2cu,' -#endif + if(.not. quaternion_equal(eu2qu(ax2eu(eu2ax(eu))),qu)) msg = trim(msg)//'ax2eu/eu2ax,' + if(.not. quaternion_equal(eu2qu(ro2eu(eu2ro(eu))),qu)) msg = trim(msg)//'ro2eu/eu2ro,' + if(.not. quaternion_equal(eu2qu(ho2eu(eu2ho(eu))),qu)) msg = trim(msg)//'ho2eu/eu2ho,' + if(.not. quaternion_equal(eu2qu(cu2eu(eu2cu(eu))),qu)) msg = trim(msg)//'cu2eu/eu2cu,' ax = qu2ax(qu) -#ifndef __PGI - if(dNeq0(norm2(ax2qu(ro2ax(ax2ro(ax)))-qu),1.0e-12_pReal)) msg = trim(msg)//'ro2ax/ax2ro,' - if(dNeq0(norm2(ax2qu(ho2ax(ax2ho(ax)))-qu),1.0e-7_pReal)) msg = trim(msg)//'ho2ax/ax2ho,' - if(dNeq0(norm2(ax2qu(cu2ax(ax2cu(ax)))-qu),1.0e-7_pReal)) msg = trim(msg)//'cu2ax/ax2cu,' -#endif + if(.not. quaternion_equal(ax2qu(ro2ax(ax2ro(ax))),qu)) msg = trim(msg)//'ro2ax/ax2ro,' + if(.not. quaternion_equal(ax2qu(ho2ax(ax2ho(ax))),qu)) msg = trim(msg)//'ho2ax/ax2ho,' + if(.not. quaternion_equal(ax2qu(cu2ax(ax2cu(ax))),qu)) msg = trim(msg)//'cu2ax/ax2cu,' ro = qu2ro(qu) -#ifndef __PGI - if(dNeq0(norm2(ro2qu(ho2ro(ro2ho(ro)))-qu),1.0e-7_pReal)) msg = trim(msg)//'ho2ro/ro2ho,' - if(dNeq0(norm2(ro2qu(cu2ro(ro2cu(ro)))-qu),1.0e-7_pReal)) msg = trim(msg)//'cu2ro/ro2cu,' -#endif + if(.not. quaternion_equal(ro2qu(ho2ro(ro2ho(ro))),qu)) msg = trim(msg)//'ho2ro/ro2ho,' + if(.not. quaternion_equal(ro2qu(cu2ro(ro2cu(ro))),qu)) msg = trim(msg)//'cu2ro/ro2cu,' ho = qu2ho(qu) -#ifndef __PGI - if(dNeq0(norm2(ho2qu(cu2ho(ho2cu(ho)))-qu),1.0e-7_pReal)) msg = trim(msg)//'cu2ho/ho2cu,' -#endif + if(.not. quaternion_equal(ho2qu(cu2ho(ho2cu(ho))),qu)) msg = trim(msg)//'cu2ho/ho2cu,' call R%fromMatrix(om) @@ -1447,6 +1454,18 @@ subroutine selfTest if(len_trim(msg) /= 0) call IO_error(0,ext_msg=msg) enddo + contains + + function quaternion_equal(qu1,qu2) result(ok) + + real(pReal), intent(in), dimension(4) :: qu1,qu2 + logical :: ok + + ok = all(dEq(qu1,qu2,1.0e-7_pReal)) + if(dEq0(qu1(1),1.0e-12_pReal)) & + ok = ok .or. all(dEq(-1.0_pReal*qu1,qu2,1.0e-7_pReal)) + + end function quaternion_equal end subroutine selfTest From 0f2c0cf4b206709d407509a1adcf086f369207f7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 24 Jul 2020 22:44:41 +0200 Subject: [PATCH 404/958] indentation fix --- src/system_routines.f90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/system_routines.f90 b/src/system_routines.f90 index 450dfe5b1..6dc1318e4 100644 --- a/src/system_routines.f90 +++ b/src/system_routines.f90 @@ -29,7 +29,7 @@ module system_routines integer(C_INT) :: isDirectory_C character(kind=C_CHAR), dimension(pPathLen), intent(in) :: path ! C string is an array - end function isDirectory_C + end function isDirectory_C subroutine getCurrentWorkDir_C(path, stat) bind(C) use, intrinsic :: ISO_C_Binding, only: & @@ -40,7 +40,7 @@ module system_routines character(kind=C_CHAR), dimension(pPathLen), intent(out) :: path ! C string is an array integer(C_INT), intent(out) :: stat - end subroutine getCurrentWorkDir_C + end subroutine getCurrentWorkDir_C subroutine getHostName_C(str, stat) bind(C) use, intrinsic :: ISO_C_Binding, only: & @@ -51,7 +51,7 @@ module system_routines character(kind=C_CHAR), dimension(pStringLen), intent(out) :: str ! C string is an array integer(C_INT), intent(out) :: stat - end subroutine getHostName_C + end subroutine getHostName_C function chdir_C(path) bind(C) use, intrinsic :: ISO_C_Binding, only: & From 3ed1850d68c0931a276ca4ddb388dc283d8d2e20 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 24 Jul 2020 23:08:05 +0200 Subject: [PATCH 405/958] calculate R directly from F no detour via inverse of U/V needed. Determinant of R seems to deviate less from 1.0 with this version --- src/math.f90 | 111 +++++++++++++++++---------------------------------- 1 file changed, 37 insertions(+), 74 deletions(-) diff --git a/src/math.f90 b/src/math.f90 index 0ef13cc3f..510d9aed6 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -946,87 +946,50 @@ subroutine math_eigh33(m,w,v) end subroutine math_eigh33 - - !-------------------------------------------------------------------------------------------------- -!> @brief rotational part from polar decomposition of 3x3 tensor +!> @brief Calculate rotational part of a deformation gradient +!> @details https://www.jstor.org/stable/43637254 +!! https://www.jstor.org/stable/43637372 +!! https://doi.org/10.1023/A:1007407802076 !-------------------------------------------------------------------------------------------------- -function math_rotationalPart(m) +pure function math_rotationalPart(F) result(R) - real(pReal), intent(in), dimension(3,3) :: m - real(pReal), dimension(3,3) :: math_rotationalPart - real(pReal), dimension(3,3) :: U , Uinv + real(pReal), dimension(3,3), intent(in) :: & + F ! deformation gradient + real(pReal), dimension(3,3) :: & + C, & ! right Cauchy-Green tensor + R ! rotational part + real(pReal), dimension(3) :: & + lambda, & ! principal stretches + I_C, & ! invariants of C + I_U ! invariants of U + real(pReal), dimension(2) :: & + I_F ! first two invariants of F + real(pReal) :: x,Phi + integer :: i - U = eigenvectorBasis(matmul(transpose(m),m)) - Uinv = math_inv33(U) + C = matmul(transpose(F),F) + I_C = math_invariantsSym33(C) + I_F = [math_trace33(F), 0.5*(math_trace33(F)**2 - math_trace33(matmul(F,F)))] - inversionFailed: if (all(dEq0(Uinv))) then - math_rotationalPart = math_I3 - call IO_warning(650) - else inversionFailed - math_rotationalPart = matmul(m,Uinv) - endif inversionFailed + x = math_clip(I_C(1)**2 -3.0_pReal*I_C(2),0.0_pReal)**(3.0_pReal/2.0_pReal) + if(dNeq0(x)) then + Phi = acos(math_clip((I_C(1)**3 -4.5_pReal*I_C(1)*I_C(2) +13.5_pReal*I_C(3))/x,-1.0_pReal,1.0_pReal)) + lambda = I_C(1) +(2.0_pReal * sqrt(math_clip(I_C(1)**2-3.0_pReal*I_C(2),0.0_pReal))) & + *cos((Phi-2.0_pReal * PI*[1.0_pReal,2.0_pReal,3.0_pReal])/3.0_pReal) + lambda = sqrt(math_clip(lambda,0.0_pReal)/3.0_pReal) + else + lambda = sqrt(I_C(1)/3.0_pReal) + endif -contains - !-------------------------------------------------------------------------------------------------- - !> @brief eigenvector basis of positive-definite 3x3 matrix - !-------------------------------------------------------------------------------------------------- - pure function eigenvectorBasis(m) + I_U = [sum(lambda), lambda(1)*lambda(2)+lambda(2)*lambda(3)+lambda(3)*lambda(1), product(lambda)] - real(pReal), dimension(3,3) :: eigenvectorBasis - real(pReal), dimension(3,3), intent(in) :: m !< positive-definite matrix of which the basis is computed - - real(pReal), dimension(3) :: I, v - real(pReal) :: P, Q, rho, phi - real(pReal), parameter :: TOL=1.e-14_pReal - real(pReal), dimension(3,3,3) :: N, EB - - I = math_invariantsSym33(m) - - P = I(2)-I(1)**2.0_pReal/3.0_pReal - Q = -2.0_pReal/27.0_pReal*I(1)**3.0_pReal+product(I(1:2))/3.0_pReal-I(3) - - threeSimilarEigVals: if(all(abs([P,Q]) < TOL)) then - v = I(1)/3.0_pReal - ! this is not really correct, but at least the basis is correct - EB = 0.0_pReal - EB(1,1,1)=1.0_pReal - EB(2,2,2)=1.0_pReal - EB(3,3,3)=1.0_pReal - else threeSimilarEigVals - rho=sqrt(-3.0_pReal*P**3.0_pReal)/9.0_pReal - phi=acos(math_clip(-Q/rho*0.5_pReal,-1.0_pReal,1.0_pReal)) - v = 2.0_pReal*rho**(1.0_pReal/3.0_pReal)* [cos((phi )/3.0_pReal), & - cos((phi+2.0_pReal*PI)/3.0_pReal), & - cos((phi+4.0_pReal*PI)/3.0_pReal) & - ] + I(1)/3.0_pReal - N(1:3,1:3,1) = m-v(1)*math_I3 - N(1:3,1:3,2) = m-v(2)*math_I3 - N(1:3,1:3,3) = m-v(3)*math_I3 - twoSimilarEigVals: if(abs(v(1)-v(2)) < TOL) then - EB(1:3,1:3,3) = matmul(N(1:3,1:3,1),N(1:3,1:3,2))/((v(3)-v(1))*(v(3)-v(2))) - EB(1:3,1:3,1) = math_I3-EB(1:3,1:3,3) - EB(1:3,1:3,2) = 0.0_pReal - elseif (abs(v(2)-v(3)) < TOL) then twoSimilarEigVals - EB(1:3,1:3,1) = matmul(N(1:3,1:3,2),N(1:3,1:3,3))/((v(1)-v(2))*(v(1)-v(3))) - EB(1:3,1:3,2) = math_I3-EB(1:3,1:3,1) - EB(1:3,1:3,3) = 0.0_pReal - elseif (abs(v(3)-v(1)) < TOL) then twoSimilarEigVals - EB(1:3,1:3,2) = matmul(N(1:3,1:3,3),N(1:3,1:3,1))/((v(2)-v(3))*(v(2)-v(1))) - EB(1:3,1:3,3) = math_I3-EB(1:3,1:3,2) - EB(1:3,1:3,1) = 0.0_pReal - else twoSimilarEigVals - EB(1:3,1:3,1) = matmul(N(1:3,1:3,2),N(1:3,1:3,3))/((v(1)-v(2))*(v(1)-v(3))) - EB(1:3,1:3,2) = matmul(N(1:3,1:3,3),N(1:3,1:3,1))/((v(2)-v(3))*(v(2)-v(1))) - EB(1:3,1:3,3) = matmul(N(1:3,1:3,1),N(1:3,1:3,2))/((v(3)-v(1))*(v(3)-v(2))) - endif twoSimilarEigVals - endif threeSimilarEigVals - - eigenvectorBasis = sqrt(v(1)) * EB(1:3,1:3,1) & - + sqrt(v(2)) * EB(1:3,1:3,2) & - + sqrt(v(3)) * EB(1:3,1:3,3) - - end function eigenvectorBasis + R = I_U(1)*I_F(2) * math_I3 & + +(I_U(1)**2-I_U(2)) * F & + - I_U(1)*I_F(1) * transpose(F) & + + I_U(1) * transpose(matmul(F,F)) & + - matmul(F,C) + R = R /(I_U(1)*I_U(2)-I_U(3)) end function math_rotationalPart From 86bef605e35c663e7803914a2f5a85309ce566cd Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 24 Jul 2020 23:40:42 +0200 Subject: [PATCH 406/958] polishing --- src/constitutive_plastic_dislotwin.f90 | 2 +- src/math.f90 | 17 +++++++---------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index 004238817..c9550ecd6 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -588,7 +588,7 @@ module subroutine plastic_dislotwin_LpAndItsTangent(Lp,dLp_dMp,Mp,T,instance,of) shearBandingContribution: if(dNeq0(prm%sbVelocity)) then BoltzmannRatio = prm%E_sb/(kB*T) - call math_eigh33(Mp,eigValues,eigVectors) ! is Mp symmetric by design? + call math_eigh33(eigValues,eigVectors,Mp) ! is Mp symmetric by design? do i = 1,6 P_sb = 0.5_pReal * math_outer(matmul(eigVectors,sb_sComposition(1:3,i)),& diff --git a/src/math.f90 b/src/math.f90 index 510d9aed6..c6e609c63 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -877,15 +877,14 @@ end function math_sampleGaussVar !-------------------------------------------------------------------------------------------------- !> @brief eigenvalues and eigenvectors of symmetric matrix -! ToDo: has wrong oder of arguments !-------------------------------------------------------------------------------------------------- -subroutine math_eigh(m,w,v,error) +subroutine math_eigh(w,v,error,m) real(pReal), dimension(:,:), intent(in) :: m !< quadratic matrix to compute eigenvectors and values of real(pReal), dimension(size(m,1)), intent(out) :: w !< eigenvalues real(pReal), dimension(size(m,1),size(m,1)), intent(out) :: v !< eigenvectors - - logical, intent(out) :: error + logical, intent(out) :: error + integer :: ierr real(pReal), dimension(size(m,1)**2) :: work @@ -902,9 +901,8 @@ end subroutine math_eigh !> @author Joachim Kopp, Max-Planck-Institut für Kernphysik, Heidelberg (Copyright (C) 2006) !> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH !> @details See http://arxiv.org/abs/physics/0610206 (DSYEVH3) -! ToDo: has wrong oder of arguments !-------------------------------------------------------------------------------------------------- -subroutine math_eigh33(m,w,v) +subroutine math_eigh33(w,v,m) real(pReal), dimension(3,3),intent(in) :: m !< 3x3 matrix to compute eigenvectors and values of real(pReal), dimension(3), intent(out) :: w !< eigenvalues @@ -928,7 +926,7 @@ subroutine math_eigh33(m,w,v) (m(1,1) - w(1)) * (m(2,2) - w(1)) - v(3,2)] norm = norm2(v(1:3, 1)) fallback1: if(norm < threshold) then - call math_eigh(m,w,v,error) + call math_eigh(w,v,error,m) else fallback1 v(1:3,1) = v(1:3, 1) / norm v(1:3,2) = [ v(1,2) + m(1, 3) * w(2), & @@ -936,7 +934,7 @@ subroutine math_eigh33(m,w,v) (m(1,1) - w(2)) * (m(2,2) - w(2)) - v(3,2)] norm = norm2(v(1:3, 2)) fallback2: if(norm < threshold) then - call math_eigh(m,w,v,error) + call math_eigh(w,v,error,m) else fallback2 v(1:3,2) = v(1:3, 2) / norm v(1:3,3) = math_cross(v(1:3,1),v(1:3,2)) @@ -966,7 +964,6 @@ pure function math_rotationalPart(F) result(R) real(pReal), dimension(2) :: & I_F ! first two invariants of F real(pReal) :: x,Phi - integer :: i C = matmul(transpose(F),F) I_C = math_invariantsSym33(C) @@ -1041,7 +1038,7 @@ function math_eigvalsh33(m) rho=sqrt(-3.0_pReal*P**3.0_pReal)/9.0_pReal phi=acos(math_clip(-Q/rho*0.5_pReal,-1.0_pReal,1.0_pReal)) math_eigvalsh33 = 2.0_pReal*rho**(1.0_pReal/3.0_pReal)* & - [cos(phi/3.0_pReal), & + [cos( phi /3.0_pReal), & cos((phi+2.0_pReal*PI)/3.0_pReal), & cos((phi+4.0_pReal*PI)/3.0_pReal) & ] & From c55e6edbf375fde92e7f1ff3b8df2d82eadf8a64 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 25 Jul 2020 09:59:22 +0200 Subject: [PATCH 407/958] removed duplicate --- src/C_routines.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/C_routines.c b/src/C_routines.c index f8187bb56..723c2978d 100644 --- a/src/C_routines.c +++ b/src/C_routines.c @@ -2,11 +2,10 @@ #include #include #include -#include -#include -#include #include #include +#include +#include /* http://stackoverflow.com/questions/30279228/is-there-an-alternative-to-getcwd-in-fortran-2003-2008 */ From ade8730871e31dc22ae097c77ea82b17b71a2e28 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Fri, 31 Jul 2020 09:12:32 +0200 Subject: [PATCH 408/958] corrected table header --- examples/ConfigFiles/rollingTexture.linearODF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ConfigFiles/rollingTexture.linearODF b/examples/ConfigFiles/rollingTexture.linearODF index 5212fb121..445242e36 100644 --- a/examples/ConfigFiles/rollingTexture.linearODF +++ b/examples/ConfigFiles/rollingTexture.linearODF @@ -2,7 +2,7 @@ # Header: Project1::test1000::All data::Binned: Size=5.0, HW=5.0 4/15/2015 # Bin Size: 5.0 # Gaussian Smoothing: 5.0 -phi1 Phi phi2 intensity +1_euler 2_euler 3_euler intensity 2.50 2.50 2.50 0.980476 2.50 2.50 7.50 0.773179 2.50 2.50 12.50 0.393272 From db82494bb23587773664e2097c039b5185ddafa8 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 31 Jul 2020 11:45:00 +0200 Subject: [PATCH 409/958] [skip ci] updated version information after successful test of v2.0.3-2936-gade87308 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index e8348dd00..9a95d7758 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2934-g709d1e98 +v2.0.3-2936-gade87308 From 50d7842dbef3a6adebac3e613743404b11bfc875 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 31 Jul 2020 16:50:01 +0200 Subject: [PATCH 410/958] more tests --- python/damask/_result.py | 3 ++- python/tests/test_Result.py | 34 +++++++++++++++++++++++++++------- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 152e648a5..45a0c2056 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -509,7 +509,7 @@ class Result: else: return dataset - + @property def cell_coordinates(self): """Return initial coordinates of the cell centers.""" if self.structured: @@ -518,6 +518,7 @@ class Result: with h5py.File(self.fname,'r') as f: return f['geometry/x_c'][()] + @property def node_coordinates(self): """Return initial coordinates of the cell centers.""" if self.structured: diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 20c27649b..c6dbfb5bd 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -10,13 +10,14 @@ import h5py import damask from damask import Result from damask import mechanics +from damask import grid_filters @pytest.fixture def default(tmp_path,reference_dir): """Small Result file in temp location for modification.""" fname = '12grains6x7x8_tensionY.hdf5' - shutil.copy(os.path.join(reference_dir,fname),tmp_path) - f = Result(os.path.join(tmp_path,fname)) + shutil.copy(reference_dir/fname,tmp_path) + f = Result(tmp_path/fname) f.pick('times',20.0) return f @@ -24,13 +25,13 @@ def default(tmp_path,reference_dir): def single_phase(tmp_path,reference_dir): """Single phase Result file in temp location for modification.""" fname = '6grains6x7x8_single_phase_tensionY.hdf5' - shutil.copy(os.path.join(reference_dir,fname),tmp_path) - return Result(os.path.join(tmp_path,fname)) + shutil.copy(reference_dir/fname,tmp_path) + return Result(tmp_path/fname) @pytest.fixture def reference_dir(reference_dir_base): """Directory containing reference results.""" - return os.path.join(reference_dir_base,'Result') + return reference_dir_base/'Result' class TestResult: @@ -98,8 +99,17 @@ class TestResult: in_file = default.read_dataset(loc['|Fe|'],0) assert np.allclose(in_memory,in_file) - def test_add_calculation(self,default): - default.add_calculation('x','2.0*np.abs(#F#)-1.0','-','my notes') + @pytest.mark.parametrize('mode',['direct','function']) + def test_add_calculation(self,default,mode): + def my_func(field): + return 2.0*np.abs(field)-1.0 + + if mode == 'direct': + default.add_calculation('x','2.0*np.abs(#F#)-1.0','-','my notes') + else: + default.enable_user_function(my_func) + default.add_calculation('x','my_func(#F#)','-','my notes') + loc = {'F': default.get_dataset_location('F'), 'x': default.get_dataset_location('x')} in_memory = 2.0*np.abs(default.read_dataset(loc['F'],0))-1.0 @@ -312,6 +322,16 @@ class TestResult: with pytest.raises(PermissionError): default.rename('P','another_new_name') + @pytest.mark.parametrize('mode',['cell','node']) + def test_coordinates(self,default,mode): + if mode == 'cell': + a = grid_filters.cell_coord0(default.grid,default.size,default.origin) + b = default.cell_coordinates.reshape(tuple(default.grid)+(3,),order='F') + elif mode == 'node': + a = grid_filters.node_coord0(default.grid,default.size,default.origin) + b = default.node_coordinates.reshape(tuple(default.grid+1)+(3,),order='F') + assert np.allclose(a,b) + @pytest.mark.parametrize('output',['F',[],['F','P']]) def test_vtk(self,tmp_path,default,output): os.chdir(tmp_path) From a9f53f482267c60584f32f45c509cf2523131a1c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 31 Jul 2020 17:04:14 +0200 Subject: [PATCH 411/958] non-vectorized formulas can be implemented in a user functionc --- python/damask/_result.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 45a0c2056..bf3ee67b9 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -567,7 +567,7 @@ class Result: 'Creator': inspect.stack()[0][3][1:] } } - def add_calculation(self,label,formula,unit='n/a',description=None,vectorized=True): + def add_calculation(self,label,formula,unit='n/a',description=None): """ Add result of a general formula. @@ -581,13 +581,8 @@ class Result: Physical unit of the result. description : str, optional Human-readable description of the result. - vectorized : bool, optional - Indicate whether the formula can be used in vectorized form. Defaults to ‘True’. """ - if not vectorized: - raise NotImplementedError - dataset_mapping = {d:d for d in set(re.findall(r'#(.*?)#',formula))} # datasets used in the formula args = {'formula':formula,'label':label,'unit':unit,'description':description} self._add_generic_pointwise(self._add_calculation,dataset_mapping,args) From e40ac13cad90043406daf8cac86f106f1bd678ee Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 31 Jul 2020 17:13:06 +0200 Subject: [PATCH 412/958] [skip ci] updated version information after successful test of v2.0.3-2945-gb7e03364 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 9a95d7758..f5754c664 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2936-gade87308 +v2.0.3-2945-gb7e03364 From 72ea9a5cec90e9388e67eaf8bdd3229c201fc505 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 31 Jul 2020 17:04:14 +0200 Subject: [PATCH 413/958] non-vectorized formulas can be implemented in a user function --- python/tests/test_Geom.py | 10 +++++----- python/tests/test_Orientation.py | 2 +- python/tests/test_Result.py | 11 +++++++---- python/tests/test_Rotation.py | 2 +- python/tests/test_Table.py | 25 +++++++++++++++++-------- 5 files changed, 31 insertions(+), 19 deletions(-) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 28c9d14b0..480c74788 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -26,7 +26,7 @@ def default(): @pytest.fixture def reference_dir(reference_dir_base): """Directory containing reference results.""" - return os.path.join(reference_dir_base,'Geom') + return reference_dir_base/'Geom' class TestGeom: @@ -87,7 +87,7 @@ class TestGeom: modified = copy.deepcopy(default) modified.mirror(directions,reflect) tag = f'directions={"-".join(directions)}_reflect={reflect}' - reference = os.path.join(reference_dir,f'mirror_{tag}.geom') + reference = reference_dir/f'mirror_{tag}.geom' if update: modified.to_file(reference) assert geom_equal(modified,Geom.from_file(reference)) @@ -96,7 +96,7 @@ class TestGeom: modified = copy.deepcopy(default) modified.clean(stencil) tag = f'stencil={stencil}' - reference = os.path.join(reference_dir,f'clean_{tag}.geom') + reference = reference_dir/f'clean_{tag}.geom' if update: modified.to_file(reference) assert geom_equal(modified,Geom.from_file(reference)) @@ -113,7 +113,7 @@ class TestGeom: modified = copy.deepcopy(default) modified.scale(grid) tag = f'grid={util.srepr(grid,"-")}' - reference = os.path.join(reference_dir,f'scale_{tag}.geom') + reference = reference_dir/f'scale_{tag}.geom' if update: modified.to_file(reference) assert geom_equal(modified,Geom.from_file(reference)) @@ -152,7 +152,7 @@ class TestGeom: modified = copy.deepcopy(default) modified.rotate(Rotation.from_Eulers(Eulers,degrees=True)) tag = f'Eulers={util.srepr(Eulers,"-")}' - reference = os.path.join(reference_dir,f'rotate_{tag}.geom') + reference = reference_dir/f'rotate_{tag}.geom' if update: modified.to_file(reference) assert geom_equal(modified,Geom.from_file(reference)) diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index 84414a343..4987f1f1f 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -33,7 +33,7 @@ def inverse_pole(orientation,axis,proper=False,SST=True): @pytest.fixture def reference_dir(reference_dir_base): """Directory containing reference results.""" - return os.path.join(reference_dir_base,'Rotation') + return reference_dir_base/'Rotation' class TestOrientation: diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index c6dbfb5bd..53bcdda9d 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -1,6 +1,7 @@ import time import shutil import os +import sys from datetime import datetime import pytest @@ -100,14 +101,16 @@ class TestResult: assert np.allclose(in_memory,in_file) @pytest.mark.parametrize('mode',['direct','function']) - def test_add_calculation(self,default,mode): - def my_func(field): - return 2.0*np.abs(field)-1.0 + def test_add_calculation(self,default,tmp_path,mode): if mode == 'direct': default.add_calculation('x','2.0*np.abs(#F#)-1.0','-','my notes') else: - default.enable_user_function(my_func) + with open(tmp_path/'f.py','w') as f: + f.write("import numpy as np\ndef my_func(field):\n return 2.0*np.abs(field)-1.0\n") + sys.path.insert(0,str(tmp_path)) + import f + default.enable_user_function(f.my_func) default.add_calculation('x','my_func(#F#)','-','my notes') loc = {'F': default.get_dataset_location('F'), diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 49f57f67f..8b26a7472 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -6,7 +6,7 @@ import numpy as np from damask import Rotation from damask import _rotation -n = 1100 +n = 1000 atol=1.e-4 @pytest.fixture diff --git a/python/tests/test_Table.py b/python/tests/test_Table.py index ac7444808..2f7c14bae 100644 --- a/python/tests/test_Table.py +++ b/python/tests/test_Table.py @@ -15,7 +15,7 @@ def default(): @pytest.fixture def reference_dir(reference_dir_base): """Directory containing reference results.""" - return os.path.join(reference_dir_base,'Table') + return reference_dir_base/'Table' class TestTable: @@ -35,9 +35,13 @@ class TestTable: d = default.get('5_F') assert np.allclose(d,1.0) and d.shape[1:] == (1,) - def test_write_read_str(self,default,tmpdir): - default.to_ASCII(str(tmpdir.join('default.txt'))) - new = Table.from_ASCII(str(tmpdir.join('default.txt'))) + @pytest.mark.parametrize('mode',['str','path']) + def test_write_read(self,default,tmpdir,mode): + default.to_ASCII(tmpdir/'default.txt') + if mode == 'path': + new = Table.from_ASCII(tmpdir/'default.txt') + elif mode == 'str': + new = Table.from_ASCII(str(tmpdir/'default.txt')) assert all(default.data==new.data) and default.shapes == new.shapes def test_write_read_file(self,default,tmpdir): @@ -54,20 +58,25 @@ class TestTable: new = Table.from_ASCII(f) assert all(default.data==new.data) and default.shapes == new.shapes - def test_read_ang_str(self,reference_dir): - new = Table.from_ang(os.path.join(reference_dir,'simple.ang')) + + @pytest.mark.parametrize('mode',['str','path']) + def test_read_ang(self,reference_dir,mode): + if mode == 'path': + new = Table.from_ang(reference_dir/'simple.ang') + elif mode == 'str': + new = Table.from_ang(str(reference_dir/'simple.ang')) assert new.data.shape == (4,10) and \ new.labels == ['eu', 'pos', 'IQ', 'CI', 'ID', 'intensity', 'fit'] def test_read_ang_file(self,reference_dir): - f = open(os.path.join(reference_dir,'simple.ang')) + f = open(reference_dir/'simple.ang') new = Table.from_ang(f) assert new.data.shape == (4,10) and \ new.labels == ['eu', 'pos', 'IQ', 'CI', 'ID', 'intensity', 'fit'] @pytest.mark.parametrize('fname',['datatype-mix.txt','whitespace-mix.txt']) def test_read_strange(self,reference_dir,fname): - with open(os.path.join(reference_dir,fname)) as f: + with open(reference_dir/fname) as f: Table.from_ASCII(f) def test_set(self,default): From 3f2e63977d622c1358f31b5fe823ad6dfbc37ab0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 31 Jul 2020 19:46:44 +0200 Subject: [PATCH 414/958] not needed anymore --- python/tests/test_Geom.py | 1 - python/tests/test_Table.py | 2 -- 2 files changed, 3 deletions(-) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 480c74788..155178322 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -1,5 +1,4 @@ import copy -import os import pytest import numpy as np diff --git a/python/tests/test_Table.py b/python/tests/test_Table.py index 2f7c14bae..f23d2f842 100644 --- a/python/tests/test_Table.py +++ b/python/tests/test_Table.py @@ -1,5 +1,3 @@ -import os - import pytest import numpy as np From 8f79338889bc5e81c47c170d37ad1455ae6aa578 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Sat, 1 Aug 2020 12:03:12 +0200 Subject: [PATCH 415/958] support for Marc2020 Mentat does not work for now --- env/CONFIG | 2 +- .../2020/Marc_tools/comp_damask_hmp | 53 + .../2020/Marc_tools/comp_damask_lmp | 53 + .../2020/Marc_tools/comp_damask_mp | 53 + .../2020/Marc_tools/comp_user.original | 41 + .../2020/Marc_tools/include_linux64 | 814 ++++ .../2020/Marc_tools/include_linux64.original | 785 +++ .../2020/Marc_tools/run_damask_hmp | 4130 ++++++++++++++++ .../2020/Marc_tools/run_damask_lmp | 4130 ++++++++++++++++ .../2020/Marc_tools/run_damask_mp | 4130 ++++++++++++++++ .../2020/Marc_tools/run_marc.original | 4208 +++++++++++++++++ .../2020/Mentat_bin/edit_window | 5 + .../2020/Mentat_bin/edit_window.original | 18 + .../2020/Mentat_bin/kill1.original | 8 + .../mods_MarcMentat/2020/Mentat_bin/kill4 | 8 + .../mods_MarcMentat/2020/Mentat_bin/kill5 | 8 + .../mods_MarcMentat/2020/Mentat_bin/kill6 | 8 + .../2020/Mentat_bin/submit1.original | 189 + .../mods_MarcMentat/2020/Mentat_bin/submit4 | 191 + .../mods_MarcMentat/2020/Mentat_bin/submit5 | 191 + .../mods_MarcMentat/2020/Mentat_bin/submit6 | 191 + .../2020/Mentat_menus/job_run.ms.original | 2838 +++++++++++ src/marc/include/concom2020 | 443 ++ src/marc/include/creeps2020 | 66 + 24 files changed, 22562 insertions(+), 1 deletion(-) create mode 100644 installation/mods_MarcMentat/2020/Marc_tools/comp_damask_hmp create mode 100644 installation/mods_MarcMentat/2020/Marc_tools/comp_damask_lmp create mode 100644 installation/mods_MarcMentat/2020/Marc_tools/comp_damask_mp create mode 100644 installation/mods_MarcMentat/2020/Marc_tools/comp_user.original create mode 100644 installation/mods_MarcMentat/2020/Marc_tools/include_linux64 create mode 100644 installation/mods_MarcMentat/2020/Marc_tools/include_linux64.original create mode 100644 installation/mods_MarcMentat/2020/Marc_tools/run_damask_hmp create mode 100644 installation/mods_MarcMentat/2020/Marc_tools/run_damask_lmp create mode 100644 installation/mods_MarcMentat/2020/Marc_tools/run_damask_mp create mode 100644 installation/mods_MarcMentat/2020/Marc_tools/run_marc.original create mode 100644 installation/mods_MarcMentat/2020/Mentat_bin/edit_window create mode 100644 installation/mods_MarcMentat/2020/Mentat_bin/edit_window.original create mode 100644 installation/mods_MarcMentat/2020/Mentat_bin/kill1.original create mode 100644 installation/mods_MarcMentat/2020/Mentat_bin/kill4 create mode 100644 installation/mods_MarcMentat/2020/Mentat_bin/kill5 create mode 100644 installation/mods_MarcMentat/2020/Mentat_bin/kill6 create mode 100644 installation/mods_MarcMentat/2020/Mentat_bin/submit1.original create mode 100644 installation/mods_MarcMentat/2020/Mentat_bin/submit4 create mode 100644 installation/mods_MarcMentat/2020/Mentat_bin/submit5 create mode 100644 installation/mods_MarcMentat/2020/Mentat_bin/submit6 create mode 100644 installation/mods_MarcMentat/2020/Mentat_menus/job_run.ms.original create mode 100644 src/marc/include/concom2020 create mode 100644 src/marc/include/creeps2020 diff --git a/env/CONFIG b/env/CONFIG index 380197583..33cea6c9a 100644 --- a/env/CONFIG +++ b/env/CONFIG @@ -2,4 +2,4 @@ set DAMASK_NUM_THREADS = 4 set MSC_ROOT = /opt/msc -set MARC_VERSION = 2019.1 +set MARC_VERSION = 2020 diff --git a/installation/mods_MarcMentat/2020/Marc_tools/comp_damask_hmp b/installation/mods_MarcMentat/2020/Marc_tools/comp_damask_hmp new file mode 100644 index 000000000..de6fce745 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Marc_tools/comp_damask_hmp @@ -0,0 +1,53 @@ +#!/bin/ksh +# 1st arg: $DIR +# 2nd arg: $DIRJOB +# 3rd arg: $user +# 4th arg: $program +DIR=$1 +user=$3 +program=$4 +usernoext=$user +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + +# add BLAS options for linking + BLAS="%BLAS%" + +. $DIR/tools/include +DIRJOB=$2 +cd $DIRJOB +echo "Compiling and linking user subroutine $user on host `hostname`" +echo "program: $program" + $DFORTHIGHMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + userobj=$usernoext.o + + + $LOAD ${program} $DIR/lib/main.o\ + $DIR/lib/blkdta.o $DIR/lib/comm?.o \ + ${userobj-} \ + $DIR/lib/srclib.a \ + $MNFLIBS \ + $MDUSER \ + ../lib/mdsrc.a \ + ../lib/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $BLAS \ + $SYSLIBS || \ + { + echo "$0: link failed for $usernoext.o on host `hostname`" + exit 1 + } + /bin/rm $userobj + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2020/Marc_tools/comp_damask_lmp b/installation/mods_MarcMentat/2020/Marc_tools/comp_damask_lmp new file mode 100644 index 000000000..6d063adf3 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Marc_tools/comp_damask_lmp @@ -0,0 +1,53 @@ +#!/bin/ksh +# 1st arg: $DIR +# 2nd arg: $DIRJOB +# 3rd arg: $user +# 4th arg: $program +DIR=$1 +user=$3 +program=$4 +usernoext=$user +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + +# add BLAS options for linking + BLAS="%BLAS%" + +. $DIR/tools/include +DIRJOB=$2 +cd $DIRJOB +echo "Compiling and linking user subroutine $user on host `hostname`" +echo "program: $program" + $DFORTRANLOWMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + userobj=$usernoext.o + + + $LOAD ${program} $DIR/lib/main.o\ + $DIR/lib/blkdta.o $DIR/lib/comm?.o \ + ${userobj-} \ + $DIR/lib/srclib.a \ + $MNFLIBS \ + $MDUSER \ + ../lib/mdsrc.a \ + ../lib/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $BLAS \ + $SYSLIBS || \ + { + echo "$0: link failed for $usernoext.o on host `hostname`" + exit 1 + } + /bin/rm $userobj + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2020/Marc_tools/comp_damask_mp b/installation/mods_MarcMentat/2020/Marc_tools/comp_damask_mp new file mode 100644 index 000000000..871b8a449 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Marc_tools/comp_damask_mp @@ -0,0 +1,53 @@ +#!/bin/ksh +# 1st arg: $DIR +# 2nd arg: $DIRJOB +# 3rd arg: $user +# 4th arg: $program +DIR=$1 +user=$3 +program=$4 +usernoext=$user +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` +usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + +# add BLAS options for linking + BLAS="%BLAS%" + +. $DIR/tools/include +DIRJOB=$2 +cd $DIRJOB +echo "Compiling and linking user subroutine $user on host `hostname`" +echo "program: $program" + $DFORTRANMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + userobj=$usernoext.o + + + $LOAD ${program} $DIR/lib/main.o\ + $DIR/lib/blkdta.o $DIR/lib/comm?.o \ + ${userobj-} \ + $DIR/lib/srclib.a \ + $MNFLIBS \ + $MDUSER \ + ../lib/mdsrc.a \ + ../lib/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $BLAS \ + $SYSLIBS || \ + { + echo "$0: link failed for $usernoext.o on host `hostname`" + exit 1 + } + /bin/rm $userobj + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2020/Marc_tools/comp_user.original b/installation/mods_MarcMentat/2020/Marc_tools/comp_user.original new file mode 100644 index 000000000..8679bb041 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Marc_tools/comp_user.original @@ -0,0 +1,41 @@ +#!/bin/ksh +# 1st arg: $DIR +# 2nd arg: $DIRJOB +# 3rd arg: $user +# 4th arg: $program +DIR=$1 +user=$3 +program=$4 +. $DIR/tools/include +DIRJOB=$2 +cd $DIRJOB +echo "Compiling and linking user subroutine $user.f on host `hostname`" +echo "program: $program" + $FORTRAN $user.f || \ + { + echo "$0: compile failed for $user.f" + exit 1 + } + /bin/rm $program 2>/dev/null + userobj=$user.o + + + $LOAD ${program} $DIR/lib/main.o\ + $DIR/lib/blkdta.o $DIR/lib/comm?.o \ + ${userobj-} \ + $DIR/lib/srclib.a \ + $MNFLIBS \ + $MDUSER \ + ../lib/mdsrc.a \ + ../lib/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $SYSLIBS || \ + { + echo "$0: link failed for $user.o on host `hostname`" + exit 1 + } + /bin/rm $userobj diff --git a/installation/mods_MarcMentat/2020/Marc_tools/include_linux64 b/installation/mods_MarcMentat/2020/Marc_tools/include_linux64 new file mode 100644 index 000000000..7d768846a --- /dev/null +++ b/installation/mods_MarcMentat/2020/Marc_tools/include_linux64 @@ -0,0 +1,814 @@ +# +# General definitions for the Marc 2020 version +# +# EM64T +# +# Linux RedHat 7.3 / SuSE 12 SP1 +# +# 64 bit MPI version +# +# Intel(R) Fortran Intel(R) 64 Compiler XE for applications +# running on Intel(R) 64, Version 19.0.4.243 Build 20190416 +# +# Intel(R) C Intel(R) 64 Compiler XE for applications +# running on Intel(R) 64, Version 19.0.4.243 Build 20190416 +# +# To check the O/S level, type: +# uname -a +# +# Distributed parallel MPI libraries: +# Intel MPI 2019 Update 4 +# To check the mpi version, type: +# mpiexec.hydra -version +# +# To check the Compiler level, type using the compiler +# installation path: +# ifort -V +# icc -V +# +# REMARKS : This file contains the definitions of variables used during +# compilation loading and use of the MARC programmes . The +# current machine type is identified by means of the variable +# MACHINE , defined below. +# +# +# MPI_ROOT: root directory in which mpi shared libraries, etc. are located +# DIRJOB : directory in which spawned jobs should look for Marc input +# MPI_ARCH: system architecture +# MPI_EPATH: path where executable resides +# +REVISION="VERSION, BUILD" +HOSTNAME=`hostname` + +# find available memory in Mbyte on the machine +# can be set explicitly +MEMLIMIT=`free -m | awk '/Mem:/ {print $2}'` + +# set _OEM_NASTRAN to 1 for MD Nastran build +# override _OEM_NASTRAN setting with MARC_MD_NASTRAN environment variable +_OEM_NASTRAN="${MARC_MD_NASTRAN:-0}" + +# uncomment the following line for an autoforge build +#AUTOFORGE=1 +AUTOFORGE=0 +export AUTOFORGE + +# integer size +if test "$MARC_INTEGER_SIZE" = "" ; then + INTEGER_PATH= +else + INTEGER_PATH=/$MARC_INTEGER_SIZE +fi + +FCOMP=ifort +INTELPATH="/opt/intel/compilers_and_libraries_2019/linux" + +# find the root directory of the compiler installation: +# - if ifort is found in $PATH, then the root directory is derived +# from the path to ifort +# - if ifort is not found in $PATH, the root directory is assumed +# to be $INTELPATH and the directory in which ifort is found is +# added to $PATH +FCOMPPATH=`which "$FCOMP" 2>/dev/null` +if test -n "$FCOMPPATH"; then + # derive the root directory from $FCOMPPATH + FCOMPROOT="${FCOMPPATH%/bin/intel64/$FCOMP}" + if test "$FCOMPROOT" = "$FCOMPPATH"; then + FCOMPROOT="${FCOMPPATH%/bin/$FCOMP}" + fi + if test "$FCOMPROOT" = "$FCOMPPATH"; then + FCOMPROOT= + fi +elif test -d "$INTELPATH"; then + # check for compiler in $INTELPATH + if test -d "$INTELPATH/bin/intel64" -a \ + -x "$INTELPATH/bin/intel64/$FCOMP" ; then + FCOMPROOT="$INTELPATH" + PATH="$INTELPATH/bin/intel64:$PATH" + elif test -d "$INTELPATH/bin" -a \ + -x "$INTELPATH/bin/$FCOMP"; then + FCOMPROOT="$INTELPATH" + PATH="$INTELPATH/bin:$PATH" + else + FCOMPROOT= + fi +else + FCOMPROOT= +fi + +# DAMASK uses the HDF5 compiler wrapper around the Intel compiler +H5FC="$(h5fc -shlib -show)" +HDF5_LIB=${H5FC//ifort/} +FCOMP="$H5FC -DDAMASK_HDF5" + +# AEM +if test "$MARCDLLOUTDIR" = ""; then + DLLOUTDIR="$MARC_LIB" +else + DLLOUTDIR="$MARCDLLOUTDIR" +fi + +# settings for MKL +if test "$IMKLDIR" = ""; then + MARC_MKL="$FCOMPROOT/mkl/lib/intel64" +else + MARC_MKL=$IMKLDIR/lib/intel64 +fi + +# +# settings for Metis +# +METIS="-I$METIS_SOURCE/include" +METISLIBS="$METISLIB_DIR/libmarcddm.a $METISLIB_DIR/libmarcmetis.a " + +# +# settings for MPI +# +# RCP and RSH are used for parallel network runs +# replace with similar commands like rsh if needed +RCP=/usr/bin/scp +RSH=/usr/bin/ssh +# + + +MPI_DEFAULT=intelmpi +MPI_OTHER= + +MPITYPE=$MPI_DEFAULT + +if test $AUTOFORGE +then + if test $AUTOFORGE = 1 + then + MPITYPE=none + fi +fi + + +# overrule MPITYPE setting with environmental variable MARC_MPITYPE +if test $MARC_MPITYPE +then + MPITYPE=$MARC_MPITYPE +fi + +# always set MPITYPE to none for MD Nastran +if test "$_OEM_NASTRAN" -ne 0 +then + MPITYPE=none +fi + +# Edit following lines to build with GPGPU version of BCS Solver for +# NVIDIA platforms +#BCSGPUSOLVER=NONE +BCSGPUSOLVER=BCSGPU + +# Edit following lines to build solver 2 with GPU support +SOLVER2GPU=GPU +#SOLVER2GPU=NONE + +# Edit following lines to set the openssl library +if test "$OPENSSL" != "NONE" +then + OPENSSL_LIB="$MARC_LIB/libcrypto.a" +fi +OPENSSL_INCLUDE=-I"$MARC_OPENSSL/include/" + +MARCHDF_HDF=HDF +#MARCHDF_HDF=NONE + +# activate contact component build if flagged +AEM_DLL=0 +if test "$AEM_BUILD" = "ON" ; then + AEM_DLL=1 + LINK_MARC_DLL="-shared -fPIC" + EXT_DLL="so" + MPITYPE=none + MPI_OTHER= + MARCHDF_HDF=NONE + BCSGPUSOLVER=NONE + SOLVER2GPU=NONE + MUMPSSOLVER=NONE + CASISOLVER=NONE +fi + +if test "$MARCHDF_HDF" = "HDF"; then + HDF_INCLUDE="-I$MARC_HDF/include" + HDF_LIBS="$MARC_LIB/libhdf5_fortran.so.100 $MARC_LIB/libhdf5.so.103" +fi + +SOLVERFLAGS= +if test "$BCSGPUSOLVER" = BCSGPU +then + SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA" + BCS_DIR=bcsgpusolver +else + BCS_DIR=bcssolver +fi +# +# settings for MPI +# +DDM= +if test $MPITYPE != none +then + if test $MPITYPE = intelmpi + then + INTELMPI_VERSION=HYDRA + FCOMPMPI=mpiifort + if test -n "$MARC_INTELMPI" ; then + MPI_ROOT=$MARC_INTELMPI + else + MPI_ROOT=/opt/intel/compilers_and_libraries_2019/linux/mpi/intel64 + MARC_INTELMPI=$MPI_ROOT + fi + DDM="-I${MPI_ROOT}/include -DDDM" + PATH=$MPI_ROOT/bin:$PATH + export PATH + LD_LIBRARY_PATH=$MPI_ROOT/lib:$MPI_ROOT/lib/release:$MPI_ROOT/libfabric/lib:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + if test $INTELMPI_VERSION = HYDRA + then + RUN_JOB1="${MPI_ROOT}/bin/mpiexec.hydra -genvall -n " + RUN_JOB2="${MPI_ROOT}/bin/mpiexec.hydra -genvall" + else + RUN_JOB1="${MPI_ROOT}/bin/mpiexec -n " + RUN_JOB2="${MPI_ROOT}/bin/mpiexec -configfile " + fi + RUN_JOB0= + MPI_CLEAN= + MPI_EPATH=$MARC_BIN + MPIR_HOME=$MPI_ROOT + MPICH_F77=$FCOMP + MPICH_F77LINKER=$FCOMP + export MPI_ROOT MPI_EPATH MPIR_HOME MPICH_F77 MPICH_F77LINKER + FI_PROVIDER_PATH=$MPI_ROOT/libfabric/lib/prov + export FI_PROVIDER_PATH + fi +else + MPI_ROOT=$MARC_DUMMYMPI + export MPI_ROOT=$MARC_DUMMYMPI + DDM="-I$MPI_ROOT/include" +fi + +# +# variables for the "maintain" script +# + +MACHINENAME=LINUX +MACHINE64BIT=yes +MACHINE=Linux_EM64T +DEV=/dev/tape +GETLOG="whoami" +CLEAR="clear" +MY_UNAME=`uname -a` + +# Edit following 2 lines to build with VKI Solver +#VKISOLVER=VKI +VKISOLVER=NONE + +# Edit following 2 lines to build with CASI Solver +CASISOLVER=CASI +if test "$MARC_CASISOLVER" = "NONE" ; then + CASISOLVER=NONE +fi +#CASISOLVER=NONE + +# Edit following 2 lines to build with MF2 Solver +MF2SOLVER=NONE +#MF2SOLVER=SERIAL +#MF2SOLVER=MF2PARALLEL + +# Edit following lines to build with Intel(c) Multithreaded solver (PARDISO) +#INTELSOLVER=NONE +INTELSOLVER=PARDISO + +# Edit following lines to build with MUMPS +if test "$MARC_INTEGER_SIZE" = "i4" ; then + #MUMPSSOLVER=NONE + MUMPSSOLVER=MUMPS +else + #MUMPSSOLVER=NONE + MUMPSSOLVER=MUMPS +fi + +# Edit following 2 lines to build MARC dynamic shared library +MARC_DLL=MARC_DLL +MARC_DLL=NONE + +# always set VKISOLVER, CASISOLVER, BCSGPUSOLVER, and MARC_DLL to NONE for MD Nastran +if test "$_OEM_NASTRAN" -ne 0 +then + VKISOLVER=NONE + CASISOLVER=NONE + MF2SOLVER=NONE + INTELSOLVER=NONE + MUMPSSOLVER=NONE + BCSGPUSOLVER=NONE + SOLVER2GPU=NONE + MARC_DLL=NONE +fi +if test "$AEM_DLL" -eq 1 +then + VKISOLVER=NONE + CASISOLVER=NONE + MF2SOLVER=NONE + INTELSOLVER=NONE + MUMPSSOLVER=NONE + BCSGPUSOLVER=NONE + SOLVER2GPU=NONE +fi + +# +# define Fortran and C compile syntax +# +if test "$VKISOLVER" = VKI +then + SOLVERFLAGS="$SOLVERFLAGS -DVKI" +fi + +if test "$CASISOLVER" = CASI +then + SOLVERFLAGS="$SOLVERFLAGS -DCASI" +fi + +if test "$MF2SOLVER" = MF2PARALLEL +then + SOLVERFLAGS="$SOLVERFLAGS -DMF2PARALLEL" +fi +if test "$MF2SOLVER" = MF2SERIAL +then + SOLVERFLAGS="$SOLVERFLAGS -DMF2SERIAL" +fi + +if test "$INTELSOLVER" = PARDISO +then + SOLVERFLAGS="$SOLVERFLAGS -DPARDISO" +fi + +if test "$MUMPSSOLVER" = MUMPS +then + SOLVERFLAGS="$SOLVERFLAGS -DMUMPS" +fi + + +if test "$MARC_DLL" = MARC_DLL +then + SOLVERFLAGS="$SOLVERFLAGS -DMARC_DLL" +fi + +if test "$SOLVER2GPU" = GPU +then + SOLVERFLAGS="$SOLVERFLAGS -DSOLVER2GPU" +fi + +LINK_OPT= +DEBUG_OPT= +C_DEBUG_OPT= + +#Uncomment following line to build Marc in debuggable mode +MARCDEBUG= +#MARCDEBUG="ON" + +if test "$MARCDEBUG" = "ON" +then + LINK_OPT="-debug -traceback" + DEBUG_OPT="-debug -traceback" + C_DEBUG_OPT="-debug -traceback" +fi + + +MARCCHECK= +#MARCCHECK="ON" +if test "$MARCCHECK" = "ON" +then + DEBUG_OPT="$DEBUG_OPT -fpe0 -fp-stack-check -check all -ftrapuv " + C_DEBUG_OPT="$C_DEBUG_OPT -fp-stack-check -check-uninit -Wformat -ftrapuv " +fi + +MARCCODECOV= +#MARCCODECOV="ON" + +MARCCODEPROF= +#MARCCODEPROF="ON" + +if test "$MARC_INTEGER_SIZE" = "i4" ; then + I8FFLAGS= + I8DEFINES= + I8CDEFINES= +else + I8FFLAGS="-i8 -integer-size 64" + I8DEFINES="-DI64 -DINT=8" + I8CDEFINES="-U_DOUBLE -D_SINGLE" +fi + +MTHREAD=OPENMP +if test "$MARC_OPENMP" = "NONE" ; then + MTHREAD=NONE +fi +#MTHREAD=NONE +if test "$_OEM_NASTRAN" -ne 0 +then +MTHREAD=NONE +fi +if test "$AEM_DLL" -eq 1 +then + MTHREAD=NONE + CASISOLVER=NONE + VKISOLVER=NONE + MF2SOLVER=NONE + INTELSOLVER=NONE + BCSGPUSOLVER=NONE + SOLVER2GPU=NONE + OPENSSL_LIB= + MARC_DLL=NONE + METISLIBS= +fi + +OMP_COMPAT=NO +OMP_COMPAT=YES +if test "$MTHREAD" = "NONE" +then +OMP_COMPAT=NO +fi + +CDEFINES= +FDEFINES= + +if test "$_OEM_NASTRAN" -ne 0 +then + CDEFINES="$CDEFINES -D_OEM_NASTRAN" + FDEFINES="$FDEFINES -D_OEM_NASTRAN" +fi + +FDEFINES="$FDEFINES -D_IMPLICITNONE" + +if test "$_OEM_NASTRAN" -eq 0 +then + FDEFINES="$FDEFINES -DMKL -DOPENMP" +fi + +if test "$OMP_COMPAT" = "YES" +then + FDEFINES="$FDEFINES -DOMP_COMPAT" +fi + +# -D_MSCMARC +FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT $MARC_SIMUFACT" +CDEFINES="$CDEFINES -D_MSCMARC $C_DEBUG_OPT $I8CDEFINES" + +if test "$AEM_DLL" -eq 1 +then + FDEFINES="$FDEFINES -D_AEMNL -DAAA" + CDEFINES="$CDEFINES -D_AEMNL -DAAA" +fi + +CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource $METIS -I$LAPI_IMPORTS/common/include" +if test "$_OEM_NASTRAN" -ne 0 +then + CINCL="$CINCL -I../../include" +fi + +CC_OPT= +if test "$MTHREAD" = "OPENMP" +then + CC_OPT=" $CC_OPT -qopenmp" +fi + +CC="icc -c $CC_OPT -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " +CCLOW="icc -c $CC_OPT -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " +CCHIGH="icc -c $CC_OPT -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " + +if test "$MARCDEBUG" = "ON" +then + CC="icc -c $CC_OPT -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " + CCLOW="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " + CCHIGH="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " +fi + +LOAD_CC="icc $CC_OPT -O1 -DLinux -DLINUX -DLinux_intel" +CCT="$CC" +CCTLOW="$CCLOW" +CCTHIGH="$CCHIGH" + +#PROFILE="-Mprof=func" +#PROFILE="-Mprof=lines" +#PROFILE="-Mprof=func,mpi" +PROFILE= +#PROFILE="-init=snan,arrays -CB -traceback -fpe0 -fp-stack-check -check all -check uninit -ftrapuv" +if test "$MARCCODECOV" = "ON" +then +PROFILE="-prof-gen=srcpos" +fi +if test "$MARCCODEPROF" = "ON" +then +PROFILE=" $PROFILE -pg" +fi + +FORT_OPT="-c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr -mp1 -WB -fp-model source" +if test "$MTHREAD" = "OPENMP" +then + FORT_OPT=" $FORT_OPT -qopenmp" + if test "$OMP_COMPAT" = "YES" + then + FORT_OPT=" $FORT_OPT -qopenmp-threadprivate=compat" + fi +else +# FORT_OPT=" $FORT_OPT -auto " + FORT_OPT=" $FORT_OPT -save -zero" +fi +if test "$MARCHDF_HDF" = "HDF"; then + FORT_OPT="$FORT_OPT -DMARCHDF=$MARCHDF_HDF" +fi + +FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +FORTNA="$FCOMP $FORT_OPT -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM" +# for compiling free form f90 files. high opt, integer(4) +FORTF90="$FCOMP -c -O3" + +# determine DAMASK version +if test -n "$DAMASK_USER"; then + DAMASKROOT=`dirname $DAMASK_USER`/.. + read DAMASKVERSION < $DAMASKROOT/VERSION + DAMASKVERSION="'"$DAMASKVERSION"'" +else + DAMASKVERSION="'N/A'" +fi + + +# DAMASK compiler calls: additional flags are in line 2 OpenMP flags in line 3 +DFORTLOWMP="$FCOMP -c -O0 -qno-offload -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \ + -fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2019 -DDAMASKVERSION=$DAMASKVERSION \ + -qopenmp -qopenmp-threadprivate=compat\ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +DFORTRANMP="$FCOMP -c -O1 -qno-offload -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \ + -fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2019 -DDAMASKVERSION=$DAMASKVERSION \ + -qopenmp -qopenmp-threadprivate=compat\ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +DFORTHIGHMP="$FCOMP -c -O3 -qno-offload -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \ + -fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2019 -DDAMASKVERSION=$DAMASKVERSION \ + -qopenmp -qopenmp-threadprivate=compat\ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + +if test "$MARCDEBUG" = "ON" +then + FORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM" +fi + +FORTLOWT="$FORTLOW" +FORTRANT="$FORTRAN" +FORTHIGHT="$FORTHIGH" + +FORTRANMNF="$FCOMP -c $FDEFINES " +CCMNF="icc -c -O1 -DLinux -DLINUX -DLinux_intel -Dport2egcs -I$MARC_SOURCE/marctoadams/mnf/include -D_LARGEFILE64_SOURCE" + +if test $MPITYPE != none +then + if test $MPITYPE = hpmpi + then + LOAD="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o " + LOADT="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o " + fi +# Uncomment the following lines to turn on the tracer and commnet out the next 5 lines +# if test $MPITYPE = intelmpi +# then +# INCLUDEMPI="-I$MPI_ROOT/include -I$VT_ROOT/include" +# LOAD="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o " +# LOADT="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o " +# fi + if test $MPITYPE = intelmpi + then + LOAD="ifort $PROFILE $LINK_OPT -o " + LOADT="ifort $PROFILE $LINK_OPT -o " + fi +else + LOAD="$FCOMP $LINK_OPT -o " + LOADT="$FCOMP $LINK_OPT -o " +fi + +if test "$MARC_DLL" = MARC_DLL +then + FORTLOW="$FORTLOW -fpp -fPIC" + FORTRAN="$FORTRAN -fpp -fPIC" + FORTHIGH="$FORTHIGH -fpp -fPIC" + FORTRANMNF="$FORTRANMNF -fpp -fPIC" + CC="$CC -fPIC" + CCMNF="$CCMNF -fPIC" + LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide -lpthread" + LINK_MARC_DLL="-shared -fPIC" + LOAD_DLL=$LOAD + LOADT_DLL=$LOADT + EXT_DLL="so" +fi + +if test "$AEM_DLL" -eq 1 +then + FORTLOW="$FORTLOW -fpp -fPIC" + FORTRAN="$FORTRAN -fpp -fPIC" + FORTHIGH="$FORTHIGH -fpp -fPIC" + FORTRANMNF="$FORTRANMNF -fpp -fPIC" + CC="$CC -fPIC" + CCMNF="$CCMNF -fPIC" + LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide" + LINK_MARC_DLL="-shared -fPIC" + LOAD_DLL=$LOAD + LOADT_DLL=$LOADT + EXT_DLL="so" +fi + + +XLIBS="-L/usr/X11/lib -lX11 " + +# +# define archive and ranlib syntax +# + +ARC="ar rvl" +ARD="ar dvl" +ARX="ar xl" +RAN="" + +# +# choose which libraries you want to use ( e.g. blas ) +# + +if test "$VKISOLVER" = VKI +then + VKISOLVERLIBS="$MARC_LIB/vkisolver.a" +else + VKISOLVERLIBS= +fi + +if test "$CASISOLVER" = CASI +then + CASISOLVERLIBS="$CASILIB_DIR/libmarccasi.a $CASILIB_DIR/libcasi.a" +else + CASISOLVERLIBS= +fi + +MF2SOLVERLIBS= +if test "$MF2SOLVER" = MF2PARALLEL +then + MF2SOLVERLIBS="$MARC_LIB/mf2parallel/libseq.a \ + $MARC_LIB/mf2parallel/libsym.a \ + $MARC_LIB/mf2parallel/libmet.a \ + $MARC_LIB/mf2parallel/libmf2.a \ + $MARC_LIB/mf2parallel/libgauss.a \ + $MARC_LIB/mf2parallel/libmf2.a \ + $MARC_LIB/mf2parallel/libgauss.a \ + $MARC_LIB/mf2parallel/libnum.a \ + $MARC_LIB/mf2parallel/libutl.a \ + $MARC_LIB/mf2parallel/libr8.a \ + $MARC_LIB/mf2parallel/libz.a " +fi + +if test "$MUMPSSOLVER" = MUMPS +then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a" + if test $MPITYPE = none + then + MUMPSSOLVERLIBS2= + echo hello > /dev/null + fi + if test $MPITYPE = intelmpi + then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a" + if test "$MARC_INTEGER_SIZE" = "i4" ; then + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a " + else + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a " + fi + fi + if test $MPITYPE = hpmpi + then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_hpmpi.a" + if test "$MARC_INTEGER_SIZE" = "i4" ; then + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a" + else + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a" + fi + fi +else + MUMPSSOLVERLIBS= + MUMPSSOLVERLIBS2= +fi + +if test "$BCSGPUSOLVER" = BCSGPU +then + BCSSOLVERLIBS="${MARC_LIB}/bcsgpulib.a " + MARCCUDALIBS1="-L${MARC_LIB}/cuda_dummy -lmarccuda " + MARCCUDALIBS2="-L${MARC_LIB}/cuda -lmarccuda " + MARCCUDALIBS=$MARCCUDALIBS1 +else + BCSSOLVERLIBS="${MARC_LIB}/bcslib.a " +fi + +SOLVER2LIBS= +if test "$SOLVER2GPU" = GPU +then + SOLVER2LIBS="-L$MARC_LIB/cuda_dummy -lsolver2gpu" +fi + +if test "$AEM_DLL" -eq 1 +then + BCSSOLVERLIBS= +fi + +if test "$MARC_INTEGER_SIZE" = "i4" ; then + MKLLIB="$MARC_MKL/libmkl_scalapack_lp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_lp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MARC_MKL/libmkl_blacs_intelmpi_lp64.a $MUMPSSOLVERLIBS2 -Wl,--end-group" +else + MKLLIB="$MARC_MKL/libmkl_scalapack_ilp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_ilp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a $MUMPSSOLVERLIBS2 -Wl,--end-group" +fi + +SECLIBS="-L$MARC_LIB -llapi" + +SOLVERLIBS="${BCSSOLVERLIBS} ${VKISOLVERLIBS} ${CASISOLVERLIBS} ${MF2SOLVERLIBS} \ + $MKLLIB -L$MARC_MKL -liomp5 \ + $MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a $KDTREE2_LIB/libkdtree2.a $HDF5_LIB $SOLVER2LIBS" + +SOLVERLIBS_DLL=${SOLVERLIBS} +if test "$AEM_DLL" -eq 1 +then +SOLVERLIBS_DLL="$MKLLIB -L$MARC_MKL -liomp5 $MARC_LIB/blas_src.a" +fi +MRCLIBS="$MARC_LIB/clib.a ${CASISOLVERLIBS}" +MRCLIBSPAR="$MARC_LIB/clib.a" +STUBS="$MARC_LIB/stubs.a " +MNFLIBS="$MARC_LIB/libmnf.a" +MDUSER="$MARC_LIB/md_user.a" +if test "X$MARC_SIMUFACT" != "X" +then + SFLIB="-L$SFMATDIR -lMBA_Grain" +else + SFLIB=" " +fi +OPENMP="-qopenmp" + +if test "$AEM_DLL" -eq 1 +then + LOAD_DLL=$LOAD + OPENMP= + LIBMNF= + OPENSSL=NONE +fi + +SYSLIBS=" $OPENMP -lpthread -cxxlib" + +# Uncomment the following lines to turn on the trace and comment out the next 4 lines +# if test $MPITYPE = intelmpi +# then +# SYSLIBS="-L${VT_ROOT}/lib -lVT -ldwarf -lelf -lm -lpthread \ +# -L${MPI_ROOT}/lib64 -lmpi -lmpiif -lmpigi -lrt" +# fi +if test $MPITYPE = intelmpi +then + SYSLIBS="-L${MPI_ROOT}/lib/release -lmpi -L${MPI_ROOT}/lib -lmpifort -lrt $OPENMP -threads -lpthread -cxxlib" +fi + + +SYSLIBSPAR=" " + +MARC_DLL_CODES="runmarc.f" + + +BLAS_SRC="dzero.f icopy.f izero.f" +if test "$_OEM_NASTRAN" -ne 0 +then + if test "$MARC_INTEGER_SIZE" = "i4" ; then + BLAS_SRC="$BLAS_SRC dsctr.f zsctr.f dzasum.f daxpyi.f zaxpyi.f dgthr.f zgthr.f" + else + BLAS_SRC="ALL" + fi +fi + +LOW_OPT_CODES="are163.f contro.f ndext.f omarc.f omarca.f omarcb.f omarcc.f \ + omars.f fixbc.f triang.f bet049.f norst3.f eldata.f \ + elec*.f elct*.f fmeig.f oada00.f ogeig.f updtrbe2.f cycrota.f \ + cordef.f ogpk.f ogtan.f eldam.f formrbe3.f \ + inertie.f em_sso072.f cn_fol3d_qpatch6.f cosim_begin.f" +if test "$MARC_INTEGER_SIZE" = "i8" ; then + LOW_OPT_CODES="$LOW_OPT_CODES bbcseg.f" +fi + +HIGH_OPT_CODES="dpsmsa1.f dpsmsa2.f dpsmsa3.f dpsmsa4.f dpsmsa5.f dpsmsa6.f \ + dpsmsa7.f dpsmsa8.f dpsmsa9.f dpsmsa10.f dpsmsa11.f dpsmsa12.f \ + dpsmsa13.f dpsmsa14.f dpsmsa15.f dpsmsa16.f dpsmsah.f tpsmsah.f cn_qsort4_11.f \ + prei11.f prei12.f prei31.f prei32.f prei41.f prei42.f prei61.f prei62.f \ + prei1n.f prei2n.f cgfullnts1.f cgfullnts2.f cg1n.f cg2n.f cg3n.f \ + cg4n.f cg5n.f cg6n.f cgnn.f sortab.f sortab1.f triann1.f preinv_nts.f \ + cn_sur_patchl.f cn_quad_3e.f" + + + +MAXNUM=1000000 diff --git a/installation/mods_MarcMentat/2020/Marc_tools/include_linux64.original b/installation/mods_MarcMentat/2020/Marc_tools/include_linux64.original new file mode 100644 index 000000000..82cac9991 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Marc_tools/include_linux64.original @@ -0,0 +1,785 @@ +# +# General definitions for the Marc 2020 version +# +# EM64T +# +# Linux RedHat 7.3 / SuSE 12 SP1 +# +# 64 bit MPI version +# +# Intel(R) Fortran Intel(R) 64 Compiler XE for applications +# running on Intel(R) 64, Version 19.0.4.243 Build 20190416 +# +# Intel(R) C Intel(R) 64 Compiler XE for applications +# running on Intel(R) 64, Version 19.0.4.243 Build 20190416 +# +# To check the O/S level, type: +# uname -a +# +# Distributed parallel MPI libraries: +# Intel MPI 2019 Update 4 +# To check the mpi version, type: +# mpiexec.hydra -version +# +# To check the Compiler level, type using the compiler +# installation path: +# ifort -V +# icc -V +# +# REMARKS : This file contains the definitions of variables used during +# compilation loading and use of the MARC programmes . The +# current machine type is identified by means of the variable +# MACHINE , defined below. +# +# +# MPI_ROOT: root directory in which mpi shared libraries, etc. are located +# DIRJOB : directory in which spawned jobs should look for Marc input +# MPI_ARCH: system architecture +# MPI_EPATH: path where executable resides +# +REVISION="VERSION, BUILD" +HOSTNAME=`hostname` + +# find available memory in Mbyte on the machine +# can be set explicitly +MEMLIMIT=`free -m | awk '/Mem:/ {print $2}'` + +# set _OEM_NASTRAN to 1 for MD Nastran build +# override _OEM_NASTRAN setting with MARC_MD_NASTRAN environment variable +_OEM_NASTRAN="${MARC_MD_NASTRAN:-0}" + +# uncomment the following line for an autoforge build +#AUTOFORGE=1 +AUTOFORGE=0 +export AUTOFORGE + +# integer size +if test "$MARC_INTEGER_SIZE" = "" ; then + INTEGER_PATH= +else + INTEGER_PATH=/$MARC_INTEGER_SIZE +fi + +FCOMP=ifort +INTELPATH="/opt/intel/compilers_and_libraries_2019/linux" + +# find the root directory of the compiler installation: +# - if ifort is found in $PATH, then the root directory is derived +# from the path to ifort +# - if ifort is not found in $PATH, the root directory is assumed +# to be $INTELPATH and the directory in which ifort is found is +# added to $PATH +FCOMPPATH=`which "$FCOMP" 2>/dev/null` +if test -n "$FCOMPPATH"; then + # derive the root directory from $FCOMPPATH + FCOMPROOT="${FCOMPPATH%/bin/intel64/$FCOMP}" + if test "$FCOMPROOT" = "$FCOMPPATH"; then + FCOMPROOT="${FCOMPPATH%/bin/$FCOMP}" + fi + if test "$FCOMPROOT" = "$FCOMPPATH"; then + FCOMPROOT= + fi +elif test -d "$INTELPATH"; then + # check for compiler in $INTELPATH + if test -d "$INTELPATH/bin/intel64" -a \ + -x "$INTELPATH/bin/intel64/$FCOMP" ; then + FCOMPROOT="$INTELPATH" + PATH="$INTELPATH/bin/intel64:$PATH" + elif test -d "$INTELPATH/bin" -a \ + -x "$INTELPATH/bin/$FCOMP"; then + FCOMPROOT="$INTELPATH" + PATH="$INTELPATH/bin:$PATH" + else + FCOMPROOT= + fi +else + FCOMPROOT= +fi + +# AEM +if test "$MARCDLLOUTDIR" = ""; then + DLLOUTDIR="$MARC_LIB" +else + DLLOUTDIR="$MARCDLLOUTDIR" +fi + +# settings for MKL +if test "$IMKLDIR" = ""; then + MARC_MKL="$FCOMPROOT/mkl/lib/intel64" +else + MARC_MKL=$IMKLDIR/lib/intel64 +fi + +# +# settings for Metis +# +METIS="-I$METIS_SOURCE/include" +METISLIBS="$METISLIB_DIR/libmarcddm.a $METISLIB_DIR/libmarcmetis.a " + +# +# settings for MPI +# +# RCP and RSH are used for parallel network runs +# replace with similar commands like rsh if needed +RCP=/usr/bin/scp +RSH=/usr/bin/ssh +# + + +MPI_DEFAULT=intelmpi +MPI_OTHER= + +MPITYPE=$MPI_DEFAULT + +if test $AUTOFORGE +then + if test $AUTOFORGE = 1 + then + MPITYPE=none + fi +fi + + +# overrule MPITYPE setting with environmental variable MARC_MPITYPE +if test $MARC_MPITYPE +then + MPITYPE=$MARC_MPITYPE +fi + +# always set MPITYPE to none for MD Nastran +if test "$_OEM_NASTRAN" -ne 0 +then + MPITYPE=none +fi + +# Edit following lines to build with GPGPU version of BCS Solver for +# NVIDIA platforms +#BCSGPUSOLVER=NONE +BCSGPUSOLVER=BCSGPU + +# Edit following lines to build solver 2 with GPU support +SOLVER2GPU=GPU +#SOLVER2GPU=NONE + +# Edit following lines to set the openssl library +if test "$OPENSSL" != "NONE" +then + OPENSSL_LIB="$MARC_LIB/libcrypto.a" +fi +OPENSSL_INCLUDE=-I"$MARC_OPENSSL/include/" + +MARCHDF_HDF=HDF +#MARCHDF_HDF=NONE + +# activate contact component build if flagged +AEM_DLL=0 +if test "$AEM_BUILD" = "ON" ; then + AEM_DLL=1 + LINK_MARC_DLL="-shared -fPIC" + EXT_DLL="so" + MPITYPE=none + MPI_OTHER= + MARCHDF_HDF=NONE + BCSGPUSOLVER=NONE + SOLVER2GPU=NONE + MUMPSSOLVER=NONE + CASISOLVER=NONE +fi + +if test "$MARCHDF_HDF" = "HDF"; then + HDF_INCLUDE="-I$MARC_HDF/include" + HDF_LIBS="$MARC_LIB/libhdf5_fortran.so.100 $MARC_LIB/libhdf5.so.103" +fi + +SOLVERFLAGS= +if test "$BCSGPUSOLVER" = BCSGPU +then + SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA" + BCS_DIR=bcsgpusolver +else + BCS_DIR=bcssolver +fi +# +# settings for MPI +# +DDM= +if test $MPITYPE != none +then + if test $MPITYPE = intelmpi + then + INTELMPI_VERSION=HYDRA + FCOMPMPI=mpiifort + if test -n "$MARC_INTELMPI" ; then + MPI_ROOT=$MARC_INTELMPI + else + MPI_ROOT=/opt/intel/compilers_and_libraries_2019/linux/mpi/intel64 + MARC_INTELMPI=$MPI_ROOT + fi + DDM="-I${MPI_ROOT}/include -DDDM" + PATH=$MPI_ROOT/bin:$PATH + export PATH + LD_LIBRARY_PATH=$MPI_ROOT/lib:$MPI_ROOT/lib/release:$MPI_ROOT/libfabric/lib:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + if test $INTELMPI_VERSION = HYDRA + then + RUN_JOB1="${MPI_ROOT}/bin/mpiexec.hydra -genvall -n " + RUN_JOB2="${MPI_ROOT}/bin/mpiexec.hydra -genvall" + else + RUN_JOB1="${MPI_ROOT}/bin/mpiexec -n " + RUN_JOB2="${MPI_ROOT}/bin/mpiexec -configfile " + fi + RUN_JOB0= + MPI_CLEAN= + MPI_EPATH=$MARC_BIN + MPIR_HOME=$MPI_ROOT + MPICH_F77=$FCOMP + MPICH_F77LINKER=$FCOMP + export MPI_ROOT MPI_EPATH MPIR_HOME MPICH_F77 MPICH_F77LINKER + FI_PROVIDER_PATH=$MPI_ROOT/libfabric/lib/prov + export FI_PROVIDER_PATH + fi +else + MPI_ROOT=$MARC_DUMMYMPI + export MPI_ROOT=$MARC_DUMMYMPI + DDM="-I$MPI_ROOT/include" +fi + +# +# variables for the "maintain" script +# + +MACHINENAME=LINUX +MACHINE64BIT=yes +MACHINE=Linux_EM64T +DEV=/dev/tape +GETLOG="whoami" +CLEAR="clear" +MY_UNAME=`uname -a` + +# Edit following 2 lines to build with VKI Solver +#VKISOLVER=VKI +VKISOLVER=NONE + +# Edit following 2 lines to build with CASI Solver +CASISOLVER=CASI +if test "$MARC_CASISOLVER" = "NONE" ; then + CASISOLVER=NONE +fi +#CASISOLVER=NONE + +# Edit following 2 lines to build with MF2 Solver +MF2SOLVER=NONE +#MF2SOLVER=SERIAL +#MF2SOLVER=MF2PARALLEL + +# Edit following lines to build with Intel(c) Multithreaded solver (PARDISO) +#INTELSOLVER=NONE +INTELSOLVER=PARDISO + +# Edit following lines to build with MUMPS +if test "$MARC_INTEGER_SIZE" = "i4" ; then + #MUMPSSOLVER=NONE + MUMPSSOLVER=MUMPS +else + #MUMPSSOLVER=NONE + MUMPSSOLVER=MUMPS +fi + +# Edit following 2 lines to build MARC dynamic shared library +MARC_DLL=MARC_DLL +MARC_DLL=NONE + +# always set VKISOLVER, CASISOLVER, BCSGPUSOLVER, and MARC_DLL to NONE for MD Nastran +if test "$_OEM_NASTRAN" -ne 0 +then + VKISOLVER=NONE + CASISOLVER=NONE + MF2SOLVER=NONE + INTELSOLVER=NONE + MUMPSSOLVER=NONE + BCSGPUSOLVER=NONE + SOLVER2GPU=NONE + MARC_DLL=NONE +fi +if test "$AEM_DLL" -eq 1 +then + VKISOLVER=NONE + CASISOLVER=NONE + MF2SOLVER=NONE + INTELSOLVER=NONE + MUMPSSOLVER=NONE + BCSGPUSOLVER=NONE + SOLVER2GPU=NONE +fi + +# +# define Fortran and C compile syntax +# +if test "$VKISOLVER" = VKI +then + SOLVERFLAGS="$SOLVERFLAGS -DVKI" +fi + +if test "$CASISOLVER" = CASI +then + SOLVERFLAGS="$SOLVERFLAGS -DCASI" +fi + +if test "$MF2SOLVER" = MF2PARALLEL +then + SOLVERFLAGS="$SOLVERFLAGS -DMF2PARALLEL" +fi +if test "$MF2SOLVER" = MF2SERIAL +then + SOLVERFLAGS="$SOLVERFLAGS -DMF2SERIAL" +fi + +if test "$INTELSOLVER" = PARDISO +then + SOLVERFLAGS="$SOLVERFLAGS -DPARDISO" +fi + +if test "$MUMPSSOLVER" = MUMPS +then + SOLVERFLAGS="$SOLVERFLAGS -DMUMPS" +fi + + +if test "$MARC_DLL" = MARC_DLL +then + SOLVERFLAGS="$SOLVERFLAGS -DMARC_DLL" +fi + +if test "$SOLVER2GPU" = GPU +then + SOLVERFLAGS="$SOLVERFLAGS -DSOLVER2GPU" +fi + +LINK_OPT= +DEBUG_OPT= +C_DEBUG_OPT= + +#Uncomment following line to build Marc in debuggable mode +MARCDEBUG= +#MARCDEBUG="ON" + +if test "$MARCDEBUG" = "ON" +then + LINK_OPT="-debug -traceback" + DEBUG_OPT="-debug -traceback" + C_DEBUG_OPT="-debug -traceback" +fi + + +MARCCHECK= +#MARCCHECK="ON" +if test "$MARCCHECK" = "ON" +then + DEBUG_OPT="$DEBUG_OPT -fpe0 -fp-stack-check -check all -ftrapuv " + C_DEBUG_OPT="$C_DEBUG_OPT -fp-stack-check -check-uninit -Wformat -ftrapuv " +fi + +MARCCODECOV= +#MARCCODECOV="ON" + +MARCCODEPROF= +#MARCCODEPROF="ON" + +if test "$MARC_INTEGER_SIZE" = "i4" ; then + I8FFLAGS= + I8DEFINES= + I8CDEFINES= +else + I8FFLAGS="-i8" + I8DEFINES="-DI64" + I8CDEFINES="-U_DOUBLE -D_SINGLE" +fi + +MTHREAD=OPENMP +if test "$MARC_OPENMP" = "NONE" ; then + MTHREAD=NONE +fi +#MTHREAD=NONE +if test "$_OEM_NASTRAN" -ne 0 +then +MTHREAD=NONE +fi +if test "$AEM_DLL" -eq 1 +then + MTHREAD=NONE + CASISOLVER=NONE + VKISOLVER=NONE + MF2SOLVER=NONE + INTELSOLVER=NONE + BCSGPUSOLVER=NONE + SOLVER2GPU=NONE + OPENSSL_LIB= + MARC_DLL=NONE + METISLIBS= +fi + +OMP_COMPAT=NO +OMP_COMPAT=YES +if test "$MTHREAD" = "NONE" +then +OMP_COMPAT=NO +fi + +CDEFINES= +FDEFINES= + +if test "$_OEM_NASTRAN" -ne 0 +then + CDEFINES="$CDEFINES -D_OEM_NASTRAN" + FDEFINES="$FDEFINES -D_OEM_NASTRAN" +fi + +FDEFINES="$FDEFINES -D_IMPLICITNONE" + +if test "$_OEM_NASTRAN" -eq 0 +then + FDEFINES="$FDEFINES -DMKL -DOPENMP" +fi + +if test "$OMP_COMPAT" = "YES" +then + FDEFINES="$FDEFINES -DOMP_COMPAT" +fi + +# -D_MSCMARC +FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT $MARC_SIMUFACT" +CDEFINES="$CDEFINES -D_MSCMARC $C_DEBUG_OPT $I8CDEFINES" + +if test "$AEM_DLL" -eq 1 +then + FDEFINES="$FDEFINES -D_AEMNL -DAAA" + CDEFINES="$CDEFINES -D_AEMNL -DAAA" +fi + +CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource $METIS -I$LAPI_IMPORTS/common/include" +if test "$_OEM_NASTRAN" -ne 0 +then + CINCL="$CINCL -I../../include" +fi + +CC_OPT= +if test "$MTHREAD" = "OPENMP" +then + CC_OPT=" $CC_OPT -qopenmp" +fi + +CC="icc -c $CC_OPT -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " +CCLOW="icc -c $CC_OPT -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " +CCHIGH="icc -c $CC_OPT -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " + +if test "$MARCDEBUG" = "ON" +then + CC="icc -c $CC_OPT -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " + CCLOW="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " + CCHIGH="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE " +fi + +LOAD_CC="icc $CC_OPT -O1 -DLinux -DLINUX -DLinux_intel" +CCT="$CC" +CCTLOW="$CCLOW" +CCTHIGH="$CCHIGH" + +#PROFILE="-Mprof=func" +#PROFILE="-Mprof=lines" +#PROFILE="-Mprof=func,mpi" +PROFILE= +#PROFILE="-init=snan,arrays -CB -traceback -fpe0 -fp-stack-check -check all -check uninit -ftrapuv" +if test "$MARCCODECOV" = "ON" +then +PROFILE="-prof-gen=srcpos" +fi +if test "$MARCCODEPROF" = "ON" +then +PROFILE=" $PROFILE -pg" +fi + +FORT_OPT="-c -assume byterecl -safe_cray_ptr -mp1 -WB -fp-model source" +if test "$MTHREAD" = "OPENMP" +then + FORT_OPT=" $FORT_OPT -qopenmp" + if test "$OMP_COMPAT" = "YES" + then + FORT_OPT=" $FORT_OPT -qopenmp-threadprivate=compat" + fi +else +# FORT_OPT=" $FORT_OPT -auto " + FORT_OPT=" $FORT_OPT -save -zero" +fi +if test "$MARCHDF_HDF" = "HDF"; then + FORT_OPT="$FORT_OPT -DMARCHDF_HDF=$MARCHDF_HDF $HDF_INCLUDE" +fi + +FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" +FORTNA="$FCOMP $FORT_OPT -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM" +# for compiling free form f90 files. high opt, integer(4) +FORTF90="$FCOMP -c -O3" + +if test "$MARCDEBUG" = "ON" +then + FORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD" + FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \ + $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM" +fi + +FORTLOWT="$FORTLOW" +FORTRANT="$FORTRAN" +FORTHIGHT="$FORTHIGH" + +FORTRANMNF="$FCOMP -c $FDEFINES " +CCMNF="icc -c -O1 -DLinux -DLINUX -DLinux_intel -Dport2egcs -I$MARC_SOURCE/marctoadams/mnf/include -D_LARGEFILE64_SOURCE" + +if test $MPITYPE != none +then + if test $MPITYPE = hpmpi + then + LOAD="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o " + LOADT="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o " + fi +# Uncomment the following lines to turn on the tracer and commnet out the next 5 lines +# if test $MPITYPE = intelmpi +# then +# INCLUDEMPI="-I$MPI_ROOT/include -I$VT_ROOT/include" +# LOAD="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o " +# LOADT="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o " +# fi + if test $MPITYPE = intelmpi + then + LOAD="ifort $PROFILE $LINK_OPT -o " + LOADT="ifort $PROFILE $LINK_OPT -o " + fi +else + LOAD="$FCOMP $LINK_OPT -o " + LOADT="$FCOMP $LINK_OPT -o " +fi + +if test "$MARC_DLL" = MARC_DLL +then + FORTLOW="$FORTLOW -fpp -fPIC" + FORTRAN="$FORTRAN -fpp -fPIC" + FORTHIGH="$FORTHIGH -fpp -fPIC" + FORTRANMNF="$FORTRANMNF -fpp -fPIC" + CC="$CC -fPIC" + CCMNF="$CCMNF -fPIC" + LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide -lpthread" + LINK_MARC_DLL="-shared -fPIC" + LOAD_DLL=$LOAD + LOADT_DLL=$LOADT + EXT_DLL="so" +fi + +if test "$AEM_DLL" -eq 1 +then + FORTLOW="$FORTLOW -fpp -fPIC" + FORTRAN="$FORTRAN -fpp -fPIC" + FORTHIGH="$FORTHIGH -fpp -fPIC" + FORTRANMNF="$FORTRANMNF -fpp -fPIC" + CC="$CC -fPIC" + CCMNF="$CCMNF -fPIC" + LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide" + LINK_MARC_DLL="-shared -fPIC" + LOAD_DLL=$LOAD + LOADT_DLL=$LOADT + EXT_DLL="so" +fi + + +XLIBS="-L/usr/X11/lib -lX11 " + +# +# define archive and ranlib syntax +# + +ARC="ar rvl" +ARD="ar dvl" +ARX="ar xl" +RAN="" + +# +# choose which libraries you want to use ( e.g. blas ) +# + +if test "$VKISOLVER" = VKI +then + VKISOLVERLIBS="$MARC_LIB/vkisolver.a" +else + VKISOLVERLIBS= +fi + +if test "$CASISOLVER" = CASI +then + CASISOLVERLIBS="$CASILIB_DIR/libmarccasi.a $CASILIB_DIR/libcasi.a" +else + CASISOLVERLIBS= +fi + +MF2SOLVERLIBS= +if test "$MF2SOLVER" = MF2PARALLEL +then + MF2SOLVERLIBS="$MARC_LIB/mf2parallel/libseq.a \ + $MARC_LIB/mf2parallel/libsym.a \ + $MARC_LIB/mf2parallel/libmet.a \ + $MARC_LIB/mf2parallel/libmf2.a \ + $MARC_LIB/mf2parallel/libgauss.a \ + $MARC_LIB/mf2parallel/libmf2.a \ + $MARC_LIB/mf2parallel/libgauss.a \ + $MARC_LIB/mf2parallel/libnum.a \ + $MARC_LIB/mf2parallel/libutl.a \ + $MARC_LIB/mf2parallel/libr8.a \ + $MARC_LIB/mf2parallel/libz.a " +fi + +if test "$MUMPSSOLVER" = MUMPS +then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a" + if test $MPITYPE = none + then + MUMPSSOLVERLIBS2= + echo hello > /dev/null + fi + if test $MPITYPE = intelmpi + then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a" + if test "$MARC_INTEGER_SIZE" = "i4" ; then + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a " + else + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a " + fi + fi + if test $MPITYPE = hpmpi + then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_hpmpi.a" + if test "$MARC_INTEGER_SIZE" = "i4" ; then + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a" + else + MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a" + fi + fi +else + MUMPSSOLVERLIBS= + MUMPSSOLVERLIBS2= +fi + +if test "$BCSGPUSOLVER" = BCSGPU +then + BCSSOLVERLIBS="${MARC_LIB}/bcsgpulib.a " + MARCCUDALIBS1="-L${MARC_LIB}/cuda_dummy -lmarccuda " + MARCCUDALIBS2="-L${MARC_LIB}/cuda -lmarccuda " + MARCCUDALIBS=$MARCCUDALIBS1 +else + BCSSOLVERLIBS="${MARC_LIB}/bcslib.a " +fi + +SOLVER2LIBS= +if test "$SOLVER2GPU" = GPU +then + SOLVER2LIBS="-L$MARC_LIB/cuda_dummy -lsolver2gpu" +fi + +if test "$AEM_DLL" -eq 1 +then + BCSSOLVERLIBS= +fi + +if test "$MARC_INTEGER_SIZE" = "i4" ; then + MKLLIB="$MARC_MKL/libmkl_scalapack_lp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_lp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MUMPSSOLVERLIBS2 -Wl,--end-group" +else + MKLLIB="$MARC_MKL/libmkl_scalapack_ilp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_ilp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MUMPSSOLVERLIBS2 -Wl,--end-group" +fi + +SECLIBS="-L$MARC_LIB -llapi" + +SOLVERLIBS="${BCSSOLVERLIBS} ${VKISOLVERLIBS} ${CASISOLVERLIBS} ${MF2SOLVERLIBS} \ + $MKLLIB -L$MARC_MKL -liomp5 \ + $MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a $KDTREE2_LIB/libkdtree2.a $HDF_LIBS $SOLVER2LIBS" + +SOLVERLIBS_DLL=${SOLVERLIBS} +if test "$AEM_DLL" -eq 1 +then +SOLVERLIBS_DLL="$MKLLIB -L$MARC_MKL -liomp5 $MARC_LIB/blas_src.a" +fi +MRCLIBS="$MARC_LIB/clib.a ${CASISOLVERLIBS}" +MRCLIBSPAR="$MARC_LIB/clib.a" +STUBS="$MARC_LIB/stubs.a " +MNFLIBS="$MARC_LIB/libmnf.a" +MDUSER="$MARC_LIB/md_user.a" +if test "X$MARC_SIMUFACT" != "X" +then + SFLIB="-L$SFMATDIR -lMBA_Grain" +else + SFLIB=" " +fi +OPENMP="-qopenmp" + +if test "$AEM_DLL" -eq 1 +then + LOAD_DLL=$LOAD + OPENMP= + LIBMNF= + OPENSSL=NONE +fi + +SYSLIBS=" $OPENMP -lpthread -shared-intel -cxxlib" + +# Uncomment the following lines to turn on the trace and comment out the next 4 lines +# if test $MPITYPE = intelmpi +# then +# SYSLIBS="-L${VT_ROOT}/lib -lVT -ldwarf -lelf -lm -lpthread \ +# -L${MPI_ROOT}/lib64 -lmpi -lmpiif -lmpigi -lrt" +# fi +if test $MPITYPE = intelmpi +then + SYSLIBS="-L${MPI_ROOT}/lib/release -lmpi -L${MPI_ROOT}/lib -lmpifort -lrt $OPENMP -threads -lpthread -shared-intel -cxxlib" +fi + + +SYSLIBSPAR=" " + +MARC_DLL_CODES="runmarc.f" + + +BLAS_SRC="dzero.f icopy.f izero.f" +if test "$_OEM_NASTRAN" -ne 0 +then + if test "$MARC_INTEGER_SIZE" = "i4" ; then + BLAS_SRC="$BLAS_SRC dsctr.f zsctr.f dzasum.f daxpyi.f zaxpyi.f dgthr.f zgthr.f" + else + BLAS_SRC="ALL" + fi +fi + +LOW_OPT_CODES="are163.f contro.f ndext.f omarc.f omarca.f omarcb.f omarcc.f \ + omars.f fixbc.f triang.f bet049.f norst3.f eldata.f \ + elec*.f elct*.f fmeig.f oada00.f ogeig.f updtrbe2.f cycrota.f \ + cordef.f ogpk.f ogtan.f eldam.f formrbe3.f \ + inertie.f em_sso072.f cn_fol3d_qpatch6.f cosim_begin.f" +if test "$MARC_INTEGER_SIZE" = "i8" ; then + LOW_OPT_CODES="$LOW_OPT_CODES bbcseg.f" +fi + +HIGH_OPT_CODES="dpsmsa1.f dpsmsa2.f dpsmsa3.f dpsmsa4.f dpsmsa5.f dpsmsa6.f \ + dpsmsa7.f dpsmsa8.f dpsmsa9.f dpsmsa10.f dpsmsa11.f dpsmsa12.f \ + dpsmsa13.f dpsmsa14.f dpsmsa15.f dpsmsa16.f dpsmsah.f tpsmsah.f cn_qsort4_11.f \ + prei11.f prei12.f prei31.f prei32.f prei41.f prei42.f prei61.f prei62.f \ + prei1n.f prei2n.f cgfullnts1.f cgfullnts2.f cg1n.f cg2n.f cg3n.f \ + cg4n.f cg5n.f cg6n.f cgnn.f sortab.f sortab1.f triann1.f preinv_nts.f \ + cn_sur_patchl.f cn_quad_3e.f" + + + +MAXNUM=1000000 diff --git a/installation/mods_MarcMentat/2020/Marc_tools/run_damask_hmp b/installation/mods_MarcMentat/2020/Marc_tools/run_damask_hmp new file mode 100644 index 000000000..2b7641304 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Marc_tools/run_damask_hmp @@ -0,0 +1,4130 @@ +#!/bin/ksh +############################################################################## +# # +# run_marc - run a marc job # +# ------------------------- # +# # +# usage: run_marc -j jid { options } # +# # +# where standard options are: required: defaults: # +# -------------------------- # +# # +# -j* jid job id number. ** YES ** . # +# -pr* prog program name. . marc # +# -v* y|n do or do not verify inputs. . yes # +# -q* s|l|v|b|f batch queue name or background, . short # +# foreground. # +# -b* as alternative to option -q* # +# # +# ( batch queues only : # +# -pq* intra queue priority. . . # +# -at DATE/TIME delay start of job. . . # +# format : January,1,1990,12:31 # +# or : today,5pm # +# -cpu* secs job CPU limit . . ) # +# # +# -r* rid restart file job id. . . # +# -si* sid substructure file id. . . # +# -pi* post post file job id. . . # +# -de* did defaults file . no # +# -vf vid viewfactor . no # +# # +# -u* user user subroutine. . . # +# -obj obj user objects or libraries. . . # +# -sa* y|n do or do not save load module. . no # +# -me manual remeshing control . no # +# -ml memory limit in Mbyte # +# -mo This option is deprecated. As of Marc 2015, only # +# the integer*8 version is available. # +# -mpi selects MPI version # +# each platform has a default MPI version and some # +# have an alternative version. see the include file # +# for the respective platform # +# MPI_DEFAULT defines the default MPI version # +# MPI_OTHER defines versions one can switch to # +# -dcoup for contact decoupling # +# currently not supported # +# -dir directory where the job i/o should take place. # +# defaults to current directory. # +# -sdir directory where scratch files are created # +# defaults to current directory. # +# # +# -alloc only perform memory allocation test, no analysis # +# -list y only list options in the input file, no analysis # +# -fe num set feature number "num" for the run. only one allowed # +# -dytran flag to switch from Dytran to Marc # +# dytran = 0, program will run w/o Marc-Dytran Switch # +# = 1, program will restart Marc after Dytran run # +# >= 2, Not supported yet. # +# currently not supported # +# -ou force analysis to use out-of-core control # +# =0, not used # +# =1, element storage out-of-core # +# -dll run marc using shared library libmarc.so and exe_marc # +# =1, used # +# =2, do not free streaming input memory # +# =3, run with marc input deck # +# -trk run marc for post-tracking # +# -gpuid run marc using GPGPU capability # +# specify gpuid on to be used in the analysis. Multiple # +# IDs may be assigned for DDM runs. # +# Separate a list of IDs with a colon. Each DMP # +# process will be assigned a GPU ID in round robin fastion# +# = 0 # +# = 0:1 etc... # +# # +# where parallel options are: # +# -------------------------- # +# # +# itree, host, and comp options are available for the domain # +# decomposition only. # +# MARC_NUMBER_OF_THREADS, nthread, and dir options always available. # +# # +# # +# -nprocd number of domains. # +# defaults to single domain solution. # +# -nprocds number of domains if single input file. # +# defaults to single domain solution. # +# -nps same as -nprocds. # +# -nsolver number of solver tasks for solver types 12 and 13 # +# these are distributed tasks operating via MPI # +# -nthread_elem number of threads for element assembly and recovery # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by element assembly # +# recovery. # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_elem option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_elem specified. # +# -nthread_solver number of threads for solver types 6, 8, and 11 # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by 6, 8, and 11 # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_solver option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_solver specified. # +# -nthread Same as -nthread_solver. # +# -itree message passing tree type for domain decomposition. # +# for debugging purposes; should not normally be used. # +# -host hostfile name for distributed execution on network. # +# defaults to no hostfile, unless jobid.defhost exists. # +# if jobid.defhost exists, only -np(s) necessary # +# -comp* y|n to be used with user routines on a network of # +# incompatible machines. # +# if set to no, a separate executable will be created # +# for each machine on the network. # +# if set to yes, the executable located on the machine # +# from which marc is started will be used on all machines.# +# defaults to no if O/S versions different on machines. # +# # +# -ci y|n copy input files to remote hosts (default: yes) # +# if "yes", input files are automatically copied to # +# remote hosts for a network run if necessary. # +# -cr y|n copy post files from remote hosts (default: yes) # +# if "yes", post files are automatically copied back from # +# remote hosts for a network run if necessary. # +############################################################################## +# set DIR to the directory in which this script is +REALCOM="`/bin/ls -l $0 |awk '{ print $NF; }'`" +DIR=`dirname $REALCOM` +# make sure DIR has an absolute path +case $DIR in + \/*) + ;; + *) + DIR=`pwd`/$DIR + ;; +esac +DIRSCRIPT=$DIR +AWK=awk +ARCH=`uname -a | cut -f 1 -d " "` +# Sun has a bad awk, use nawk instead +if test $ARCH = "SunOS" +then + AWK=nawk +fi +BASENAME=basename +# Sun has an incorrect /bin/basename, check if /usr/ucb/basename exists +if test $ARCH = "SunOS" +then + if test -x /usr/ucb/basename + then + BASENAME=/usr/ucb/basename + fi +fi + +# echo command line in the case of ECHO_COMMAND is true +if test "$ECHO_COMMAND" = true ; then + echo command "$0" "$@" +fi + +# +# "mode" selects version, i4 or i8 +# default is i4 +# this can be changed by a file run_marc_defaults +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MODE i8 +# it can also be set by the environmental variable MARC_INTEGER_SIZE +# and by the command line option "-mo" +# +mode= +modeerror= +modeoption= +if test -f $DIRSCRIPT/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $DIRSCRIPT/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -f $HOME/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $HOME/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $HOME/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -n "$MARC_INTEGER_SIZE" ; then + mode=$MARC_INTEGER_SIZE +fi +if test -z "$mode" ; then + mode=i8 +fi +case $mode in + i4) + modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + modeoption=error + echo $modeerror + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo "bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + exit + ;; +esac + +setmode=false +for arg in $* ; do + if $setmode ; then + mode=$arg + case $mode in + i4) + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo " " + echo "error, version mode must be i8" + echo " " + echo " use -mo i8 " + echo " " + exit + ;; + esac + setmode=false + fi + if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then + echo + echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available + echo + setmode=true + fi + if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + fi + if [ ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + fi +done + +# set to i4 version for 32 bit Linux +if test "`uname -s`" = "Linux"; then + if test "`uname -m`" = "i686"; then + mode=i4 + MARC_INTEGER_SIZE=i4 + export MARC_INTEGER_SIZE + fi +fi + + +. "$DIR/getarch" + + +# getting user subroutine file name +found=0 +for i in "$@"; do + if test $found = 1; then + DAMASK_USER=$i + found=0 + fi + case $i in + -u* | -U*) + found=1 + ;; + esac +done +# sourcing include_linux64 (needs DAMASK_USER to be set) +. $MARC_INCLUDE + +# + +# +# Dynamically determine the echo syntax +# + +case "`echo '\c'`" in + '\c') + ECHO='echo -n' + ECHOTXT=' ' + ;; + *) + ECHO='echo' + ECHOTXT=' \c' + ;; +esac + +# +# Variables for the MARC environment +# + +PRODUCT="Marc" +EXITMSG=$MARC_TOOLS/MESSAGES +export EXITMSG +FLEXDIR=$DIR/../flexlm/licenses +export FLEXDIR +TIMCHK=3600 +export TIMCHK +BINDIR=$MARC_BIN +export BINDIR +AFMATDAT=$MARC_RUNTIME/AF_flowmat/ +export AFMATDAT +export MESHERDIR +MSC_LICENSE_FINPROC=0 +export MSC_LICENSE_FINPROC +# +# define directory path to global unified material database +# +MATFILE= +export MATFILE + +# +# define memory limit +# first set to MEMLIMIT from include +# -ml option overrules if specified +memlimit=$MEMLIMIT +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +# +if test $MACHINENAME = "HP" +then + SHLIB_PATH=$MARC_LIB:$MARC_LIB_SHARED:$SHLIB_PATH + export SHLIB_PATH +fi +# the one for IBM is defined futher down + +LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH:$SFMATDIR +if test -f "/etc/redhat-release"; then + ver=`cat /etc/redhat-release | sed 's/.* release \([0-9]\).\([0-9]\+\) .*/\1\2/'` + case "$ver" in + 6*) LD_LIBRARY_PATH="${MARC_LIB_SHARED}rh67:$LD_LIBRARY_PATH" ;; + esac +fi +LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$LD_LIBRARY_PATH +LD_LIBRARY64_PATH=$MARC_LIB:$LD_LIBRARY64_PATH +LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH +export LD_LIBRARY_PATH +export LD_LIBRARY64_PATH +export LD_LIBRARYN32_PATH + +atexit() { +kill -15 $$ +# +if test $MPITYPE = "myrinet" +then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi +fi +} + +trap "atexit" 2 + +# +# defaults +# + +prog=marc +exefile=marc +jid= +rid= +pid= +sid= +did= +vid= +user= +usernoext= +objs= +qid=background +cpu= +priority= +att= +trk= +verify=yes +prgsav=no +rmdll=no +cpdll=no +progdll= +pathdll= +error= +nprocd=0 +nprocdddm=1 +nprocdddmprint= +icreated=0 +nprocdarg= +nsolver=0 +nsolverarg=-ns +if test $nprocds +then + if test $nprocds -gt 1 + then + nprocdddm=$nprocds + nprocdddmprint=$nprocds + icreated=1 + nprocdarg=-nprocds + fi +fi +ntprint=0 +nt=-1 +nte=-1 +nts=-1 +ntarg=-nt +ntearg=-nte +ntsarg=-nts +nteprint= +ntsprint= +oversubscribe=false +gpuids= +nauto= +ndcoup=0 +ndytran=0 +noutcore=0 +dllrun=0 +mesh=0 +itree=0 +iam= +ddm_arc=0 +link= +trkrun=0 +DIRJOB=`pwd` +DIRSCR=$DIRJOB +DIRSCRSET= +autoforge=0 +dotdat=.dat +dotdefhost=.defhost +host= +numhost= +mfile= +userhost= +makebdf= +cpinput=yes +cpresults=yes +marcdll=libmarc.$EXT_DLL +# define hostname and strip off extensions (alpha.aaa.com) +thishost=`hostname` +thishost=${thishost%%.*} +compatible=unknown +numfield=1 +justlist= +feature= +mpioption=false +iprintsimufact= +SRCLIB=$MARC_LIB/srclib.a +MDSRCLIB=$MARC_LIB/mdsrc.a +# +# check run_marc_defaults file for default MPI setting +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MPI +# +value= +file= +if test -f $DIRSCRIPT/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $DIRSCRIPT/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$DIRSCRIPT/run_marc_defaults + fi +fi +if test -f $HOME/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $HOME/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$HOME/run_marc_defaults + fi +fi +if test -n "$value"; then + MARC_MPITYPE=$value + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + echo " " + echo " error, incorrect option for MARC_MPI" + echo " defined in $file: $MARC_MPITYPE" + echo " valid options: $MPI_OTHER $MPI_DEFAULT" + echo " " + exit + fi + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + fi +fi +# +# +# allow scratch directory to be specified with environmental variable +# MARCSCRATCH +if test $MARCSCRATCH +then + if test -d $MARCSCRATCH + then + DIRSCR=$MARCSCRATCH + else + echo "error, scratch directory '$MARCSCRATCH'" + echo " specified via environmental variable MARCSCRATCH does not exist" + exit + fi +fi +# +############################################################################## +# parse input - arguments always come in pairs # +############################################################################## + +arg=$1 +if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + shift + arg=$1 +fi +while [ -n "$arg" ] +do + shift + value=$1 + case $arg in + -al* | -AL*) + LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + $MARC_BIN/marc -alloc 1 + exit + ;; + -li* | -LI*) + justlist=yes + ;; + -fe* | -FE*) + feature=$value + + ;; + -pr* | -PR*) + if test `dirname $value` = '.' + then + prog=`$BASENAME $value .marc` + progdll=`$BASENAME $value` + else + prog=`dirname $value`/`$BASENAME $value .marc` + progdll=`dirname $value`/`$BASENAME $value` + fi + prdir=`dirname $value` + case $prdir in + \/*) + ;; + *) + prog=`pwd`/$prdir/$prog + ;; + esac + ;; + -j* | -J*) + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + ;; + -r* | -R*) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + -si* | -SI*) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + -pi* | -PI*) + if test -f $value.t19 + then + pid=`$BASENAME $value .t19` + else + pid=`$BASENAME $value .t16` + fi + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + -bdf | -BDF) + makebdf=1 + ;; + -de* | -DE*) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + -vf | -VF) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + -u* | -U*) + user=$value + case $user in + \/*) + ;; + *) + user=`pwd`/$user + ;; + esac + usernoext=$user + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + ;; + -obj | -OBJ) + objs="$value" + ;; + -q* | -Q*) + qid=$value + ;; + -b* | -B*) + case $value in + y* | Y*) + qid=background + ;; + n* | N*) + qid=foreground + ;; + *) + ;; + esac + ;; + -at | -AT) + att=$value + ;; + -cpu* | -CPU*) + cpu=$value + ;; + -pq | -PQ*) + priority=$value + ;; + -v* | -V*) + verify=$value + ;; + -sa* | -SA*) + prgsav=$value + ;; + -np* | -NP*) + nprocdddm=$value + nprocdddmprint=$value + case $arg in + -nps* | -NPS* | -nprocds* | -NPROCDS*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + case $arg in + -np | -NP | -nprocd | -NPROCD) + icreated=0 + nprocdarg=-nprocd + ;; + esac + ;; + -ns* | -NS*) + nsolver=$value + ;; + -nt* | -NT*) + case $arg in + -nte | -NTE | -nthread_e* | -NTHREAD_E*) + nte=$value + ;; + esac + case $arg in + -nts | -NTS | -nthread_s* | -NTHREAD_S*) + nts=$value + ;; + esac + case $arg in + -nt | -NT | -nth* | -NTH* | -nthread* | -NTHREAD*) + nt=$value + ;; + esac + ;; + -gp* | -GP*) + gpuids=$value + ;; + -it* | -IT*) + itree=$value + ;; + -iam | -IAM) + iam=$value + case $value in + sfg | sfm | sim) + iprintsimufact=true + ;; + esac + ;; + -au* | -AU*) + nauto=$value + echo + echo warning: the option -au is no longer supported and will be ignored + echo + ;; + -dc* | -DC*) + ndcoup=$value + ;; + -dy* | -DY*) + ndytran=$value + ;; + -ou* | -OU*) + noutcore=$value + ;; + -dll | -DLL) + dllrun=$value + ;; + -trk | -TRK) + trkrun=$value + ;; + -ddm | -DDM) + ddm_arc=$value + ;; + -me | -ME ) + mesh=$value + ;; + -ml | -ML ) + memlimit=$value + ;; + -mo | -MO ) + ;; + -mpi | -MPI ) + mpioption=true + MARC_MPITYPE=$value + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + else + exefile=marc + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a" + fi + fi + ;; + -dir* | -DIR*) + DIRJOB=$value + case $DIRJOB in + \/*) + ;; + *) + DIRJOB=`pwd`/$DIRJOB + ;; + esac + if test -z "$DIRSCRSET" + then + DIRSCR=$DIRJOB + fi + ;; + -sd* | -SD*) + DIRSCR=$value + DIRSCRSET=yes + case $DIRSCR in + \/*) + ;; + *) + DIRSCR=`pwd`/$DIRSCR + ;; + esac + ;; + -ho* | -HO*) + host=$value + ;; + -co* | -CO*) + compatible=$value + ;; + -ci* | -CI*) + cpinput=$value + ;; + -cr* | -CR*) + cpresults=$value + ;; + *) + error="$error +$arg: invalid option" + break + ;; + esac + case $value in + -*) + error="$error +$arg: invalid name $value" + break + ;; + esac + shift + arg=$1 + if [ ${arg}X = -i8X -o ${arg}X = -I8X -o ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + shift + arg=$1 + fi +done +argc=`expr $# % 2` +if test $argc -eq 1 +then +# +# odd number of arguments +# + error="$error +argument list incomplete" +fi + +if test $nprocdddm -gt 0 +then +nprocd=$nprocdddm +fi + +if test $nsolver -gt 0 +then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi +fi + +# oversubscribe case +if test $nprocd -gt $(/usr/bin/nproc); then + if test "$ALLOWMPIOVERSUBSCRIBE" != "true"; then + error="$error + The requested number of domains ($nprocd) is larger than the number + of processors ($(/usr/bin/nproc)). As such an oversubscription may result in + very poor performance, the analysis will not be started. + Running an analysis in case of oversubscription can be forced + by defining an environment variable \"ALLOWMPIOVERSUBSCRIBE\" + with the value \"true\"." + oversubscribe=true + fi +fi + +# Set defaults +if test $nt -eq -1 +then +nt=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nt -lt 0 +then +nt=0 +fi +if test $nte -eq -1 +then +nte=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nte -lt 0 +then +nte=0 +fi +if test $nts -eq -1 +then +nts=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nts -lt 0 +then +nts=0 +fi +# +# set number of element loop threads +# +ntprint=$nt +nteprint=$nte +# copy from -nprocd[s] +if test $nprocdddm -gt 1 +then + nteprint=$nprocdddm +fi +# override with -nthread_elem option +if test $nte -ne 0 +then +nteprint=$nte +fi +# check for minimum 1 threads per processes for DDM +if test $nprocdddm -gt 1 +then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi +fi +nte=$nteprint +# +# set number of Solver threads +# +ntsprint=$nts +# copy from -nthread or -nprocd[s] +if test $ntprint -ne 0 +then + ntsprint=$ntprint +else + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +fi +# override with -nthread_solver option +if test $nts -ne 0 +then + ntsprint=$nts +fi +# check for minimum 1 threads per solver process. +if test $nsolver -lt $nprocdddm +then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi +else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi +fi +if test $ntsprint -eq 1 +then + set ntsprint=0 +fi +nts=$ntsprint + +# set stack size for multi-threading. +export KMP_MONITOR_STACKSIZE=7M +export OMP_STACKSIZE=7M + +# +# deprecate -nthread option at arugment of marc +nt=0 +# Reset nprocdddmm, nsolver and threads if not given. +if test $nprocdddm -eq 0 +then + nprocdarg= +fi +if test $nprocdddm -eq 0 +then + nprocdddmprint= +fi +if test $nprocdddm -eq 0 +then + nprocdddm= +fi + +nsolverprint=$nsolver +if test $nsolver -eq 0 +then + nsolverprint= +fi +# end of threads setting. +gpuoption= +if test "$gpuids" = "" ; then + gpuoption= +else + gpuoption="-gp $gpuids" +fi + +if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH +else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH +fi +# Linux 64 + HPMPI, Below code is taken from include_linux64 +if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" +then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" +fi +if test "$iam" = sim ; then + SFLIB="-L$SFMATDIR -lMBA_Grain" +fi + +if test $nprocd -gt 1; then + if test -f $jid$dotdefhost; then + if test "$host" = ""; then + host=$jid$dotdefhost + fi + fi + if test -f hostfile_qa_$nprocd; then + if test "$host" = ""; then + host=hostfile_qa_$nprocd + fi + fi +fi + +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$dllrun" -eq 1 || test "$dllrun" -eq 2; then + dotdat=.inp + fi + + if test "$progdll"; then + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + rmdll=yes + pathdll=yes + progdll=${progdll}_$marcdll + else + progdll=$marcdll + fi + + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + pathdll=yes + fi +fi + +############################################################################## +# check parameter validity # +############################################################################## + +while test forever; do + +# +# check for input file existence +# +if test $nprocdddm -gt 1 -a $icreated -eq 0; then + if test ! -f $DIRJID/1$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/1$jid$dotdat not accessible" + fi + fi +else + if test ! -f $DIRJID/$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/$jid$dotdat not accessible" + fi + fi +fi + if test $nprocd -gt 1; then + if test "$host" ; then + if test ! -f $host; then + error="$error +host name file $host not accessible" + fi + fi + fi + +# +# check if the job is already running in the background +# +if test -f $DIRJOB/$jid.pid; then + error="$error +job is already running (the file $jid.pid exists)" +fi + +# +# if the program name is other than marc, then +# assume that this is a program in the users local directory +# + +bd=$MARC_BIN/ + +case $prog in + marc | MARC | $exefile) + program=$exefile + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 or $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + if test ! -f $user + then + error="$error +user subroutine file $user not accessible" + fi + fi + if test "$objs" + then + missingobjs= + for o in $objs + do + if test ! -f "$o" + then + if test -z "$missingobjs" + then + missingobjs="$o" + else + missingobjs="$missingobjs $o" + fi + fi + done + if test -n "$missingobjs" + then + error="$error +user object/library file(s) $missingobjs not accessible" + fi + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$vid" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRVID/1$vid.vfs + then + error="$error +view factor file $DIRVID/1$vid.vfs not accessible" + fi + else + if test ! -f $DIRVID/$vid.vfs + then + error="$error +view factor file $DIRVID/$vid.vfs not accessible" + fi + fi + fi + if $mpioption + then + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER $MPI_DEFAULT)" + fi + fi + ;; + *) + program=$prog.marc + case $prog in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 and $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + error="$error +program option may not be used with user subroutine" + fi + if test "$objs" + then + error="$error +program option may not be used with user objects or libraries" + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$ndcoup" + then + if test $ndcoup -gt 3 + then + error="$error +incorrect option for contact decoupling " + fi + fi + if test "$ndytran" + then + if test $ndytran -gt 1 + then + error="$error +incorrect option for Marc-Dytran Switch " + fi + fi + if $mpioption + then + if test ! -x $MARC_BIN/$exefile + then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE " + fi + fi + ;; +esac + +############################################################################## +# check argument integrity # +############################################################################## + +if test "$jid" +then + : +else + if test "$user" + then +# allow user sub without giving job id + qid=foreground + verify=no + else + error="$error +job id required" +fi +fi + +case $qid in + S* | s*) + qid=short + ;; + L* | l*) + qid=long + ;; + V* | v*) + qid=verylong + ;; + B* | b*) + qid=background + ;; + F* | f*) + qid=foreground + ;; + A* | a*) + qid=at + ;; + *) + error="$error +bad value for queue_id option" + ;; +esac + +case $prgsav in + N* | n*) + prgsav=no + ;; + Y* | y*) + prgsav=yes + ;; + *) + error="$error +bad value for save option" + ;; +esac + +case $verify in + N* | n*) + verify=no + ;; + Y* | y*) + verify=yes + ;; + *) + error="$error +bad value for verify option" + ;; +esac + +case $nprocdddm in + -* ) + error="$error +bad value for nprocd option" + ;; +esac + +case $nt in + -* ) + error="$error +bad value for nt option" + ;; +esac + +case $itree in + -* ) + error="$error +bad value for itree option" + ;; +esac +case $iam in + -* ) + error="$error +bad value for iam option" + ;; +esac +case $compatible in + N* | n*) + compatible=no + ;; + Y* | y*) + compatible=yes + ;; + unknown) + ;; + *) + error="$error +bad value for comp option" + ;; +esac +case $cpinput in + N* | n*) + cpinput=no + ;; + Y* | y*) + cpinput=yes + ;; + *) + error="$error +bad value for copy input option" + ;; +esac +case $cpresults in + N* | n*) + cpresults=no + ;; + Y* | y*) + cpresults=yes + ;; + *) + error="$error +bad value for copy results option" + ;; +esac + +# +# check for external file to run +# +if test -f $MARC_TOOLS/run_marc_check +then + . $MARC_TOOLS/run_marc_check +fi + +############################################################################## +# interact with the user to get the required information to run marc or # +# other marc system program # +############################################################################## + +deletelog=yes +if test $qid = background -a $verify = no +then +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $user +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint +GPGPU option : $gpuids +Host file name : $host" > $jid.log +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" >> $jid.log +fi +echo \ +"Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" >> $jid.log +deletelog=no +fi +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $user +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint" +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" +fi +echo \ +"GPGPU option : $gpuids +Host file name : $host +Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" + + +case $qid in + s* | S* | l* | L* | v* | V* ) + echo \ +"Queue priority : $priority +Queue CPU limit : $cpu +Queue start time : $att" + ;; +# * ) +# echo \ +#" " +# ;; +esac + +if test "$modeoption" +then + error=$modeerror +fi + +if test "$error" +then + if test $verify = yes + then + $ECHO "$error + +Please correct or quit(correct,quit,): $ECHOTXT" + error= + read answer + case $answer in + q* | Q*) + answer=quit + ;; + *) + answer=correct + ;; + esac + else + $ECHO "$error + $ECHOTXT" + echo " " + if test "$deletelog" = no + then + $ECHO "$error + $ECHOTXT" >> $jid.log + echo " " >> $jid.log + fi + answer=quit + fi +else + if test $verify = yes + then + $ECHO " +Are these parameters correct (yes,no,quit,)? $ECHOTXT" + read answer + case $answer in + q* | Q*) + answer=quit + ;; + y* | Y*) + answer=yes + ;; + *) + answer=no + ;; + esac + else + answer=yes + fi +fi + +case $answer in + no | correct) + +############################################################################## +# prompt for each value # +############################################################################## + + $ECHO " +Program name ($prog)? $ECHOTXT" + read value + if test "$value" + then + prog=$value + fi + $ECHO "Job ID ($jid)? $ECHOTXT" + read value + if test "$value" + then + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + fi + $ECHO "User subroutine name ($user)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + user= + ;; + *) + user=$value + case $user in + \/*) + ;; + *) + user=`pwd`/$user + ;; + esac + usernoext=$user + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + ;; + esac + fi + $ECHO "User objects or libraries ($objs)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + objs= + ;; + *) + objs="$value" + ;; + esac + fi + $ECHO "Restart File Job ID ($rid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + rid= + ;; + *) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + esac + fi + $ECHO "Substructure File ID ($sid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + sid= + ;; + *) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + esac + fi + $ECHO "Post File Job ID ($pid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + pid= + ;; + *) + pid=$value + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + esac + fi + $ECHO "Defaults File ID ($did)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + did= + ;; + *) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + esac + fi + $ECHO "View Factor File ID ($vid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + vid= + ;; + *) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + esac + fi + $ECHO "Save generated module ($prgsav)? $ECHOTXT" + read value + if test "$value" + then + prgsav=$value + fi + $ECHO "Run on tasks ($nprocdddm) tasks? $ECHOTXT" + read value + if test "$value" + then + nprocdddm=$value + nprocdddmprint=$value + fi + $ECHO "Run on ($nte) Element loop threads ? $ECHOTXT" + read value + if test "$value" + then + nte=$value + fi + $ECHO "Run on ($nsolver) solvers ? $ECHOTXT" + read value + if test "$value" + then + nsolver=$value + fi + $ECHO "Run on ($nts) Solver threads ? $ECHOTXT" + read value + if test "$value" + then + nts=$value + fi +# + if test $nprocdddm -gt 0 + then + nprocd=$nprocdddm + fi + if test $nsolver -gt 0 + then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi + fi +# Element loop threads. + if test $nte -eq -1 + then + nte=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nte -lt 0 + then + nte=0 + fi + nteprint=$nte +# Copy from ddm + if test $nprocdddm -gt 1 + then + nteprint=$nprocdddm + fi +# override with -nthread_elem option + if test $nte -ne 0 + then + nteprint=$nte + fi +# check for minimum 1 threads per processes for DDM + if test $nprocdddm -ne 0 + then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi + fi + nte=$nteprint +# Solver threads. + if test $nts -eq -1 + then + nts=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nts -lt 0 + then + nts=0 + fi + ntsprint=$nts +# Copy from ddm + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +# override with -nthread_solver option + if test $nts -ne 0 + then + ntsprint=$nts + fi +# check for minimum 1 threads per solver process. + if test $nsolver -lt $nprocdddm + then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi + else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi + fi + if test $ntsprint -eq 1 + then + set ntsprint=0 + fi + nts=$ntsprint +# Update print variable for -nsolver option + nsolverprint=$nsolver + if test $nsolver -eq 0 + then + nsolverprint= + fi + $ECHO "GPGPU id option ($gpuids)? $ECHOTXT" + read value + if test "$value" + then + gpuids=$value + fi + if test "$gpuids" = "" ; then + gpuoption= + else + gpuoption="-gp $gpuids" + fi + if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH + fi + if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" + then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" + fi +# + if test $nprocd -gt 1 + then + $ECHO "Message passing type ($itree)? $ECHOTXT" + read value + if test "$value" + then + itree=$value + fi + $ECHO "Host file name ($host)? $ECHOTXT" + read value + if test "$value" + then + host=$value + fi + if test $nprocdddm -gt 1 + then + $ECHO "Single input file? $ECHOTXT" + read value + case $value in + y* | Y*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + $ECHO "Compatible machines for DDM ($compatible)? $ECHOTXT" + read value + if test "$value" + then + compatible=$value + fi + $ECHO "Copy input files to remote hosts ($cpinput)? $ECHOTXT" + read value + if test "$value" + then + cpinput=$value + fi + $ECHO "Copy post files from remote hosts ($cpresults)? $ECHOTXT" + read value + if test "$value" + then + cpresults=$value + fi + fi + fi + $ECHO "Run the job in the queue ($qid)? $ECHOTXT" + read value + if test "$value" + then + qid=$value + fi + case $qid in + s* | S* | l* | L* | v* | V* ) + $ECHO "Queue priority ($priority)? $ECHOTXT" + read value + if test "$value" + then + priority=$value + fi + $ECHO "Job starts at ($att)? $ECHOTXT" + read value + if test "$value" + then + att=$value + fi + $ECHO "Queue CPU limit ($cpu)? $ECHOTXT" + read value + if test "$value" + then + cpu=$value + fi + ;; + * ) + ;; + esac + $ECHO "Run directory ($DIRJOB)? $ECHOTXT" + read value + if test "$value" + then + DIRJOB=$value + DIRSCR=$DIRJOB + fi + $ECHO "Scratch directory ($DIRSCR)? $ECHOTXT" + read value + if test "$value" + then + DIRSCR=$value + fi + ;; + quit) + if test "$deletelog" = no -a $oversubscribe = true + then + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + ;; + *) + break + ;; + +esac + + if test $nt -eq -1 + then + nt=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nt -lt 0 + then + nt=0 + fi + +done +# +if test $nt -eq 0 +then + ntarg= +fi +if test $nt -eq 0 +then + ntprint= +fi +if test $nt -eq 0 +then + nt= +fi + +if test $nte -eq 0 +then + ntearg= +fi +if test $nte -eq 0 +then + nteprint= +fi +if test $nte -eq 0 +then + nte= +fi + +if test $nts -eq 0 +then + ntsarg= +fi +if test $nts -eq 0 +then + ntsprint= +fi +if test $nts -eq 0 +then + nts= +fi +# +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + pathdll=yes + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + fi + + if test "$pathdll"; then +# +# reset share lib path +# + if test $MACHINENAME = "HP" + then + SHLIB_PATH=$DIRJOB:$SHLIB_PATH + export SHLIB_PATH + fi + if test $MACHINENAME = "IBM" + then + LIBPATH=$DIRJOB:$LIBPATH + export LIBPATH + fi +# + LD_LIBRARY_PATH=$DIRJOB:$LD_LIBRARY_PATH + LD_LIBRARY64_PATH=$DIRJOB:$LD_LIBRARY64_PATH + LD_LIBRARYN32_PATH=$DIRJOB:$LD_LIBRARYN32_PATH + export LD_LIBRARY_PATH + export LD_LIBRARY64_PATH + export LD_LIBRARYN32_PATH + fi +fi +# end of dllrun>0 + + +if test $program = $exefile -o $program = $prog.marc +then + +# delete the old .log file unless we run in the background +if test "$deletelog" = yes +then + if test "$jid" + then + /bin/rm $jid.log 2>/dev/null + fi +else + echo + echo running the job in the background, see $jid.log + echo +fi + +# +# check if this is an autoforge or rezoning or radiation job +# +if test $nprocd -eq 1 -a "$jid" + +then + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^autoforge"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^rezoning"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^radiation"` + if test "$line" + then + autoforge=1 + fi +fi +# +# check that jobname for restarted run is not the same +# as restart file basename +# +if test "$rid" +then + if test "$jid" = "$rid" + then + echo " " + echo "ERROR: job name of current run is the same as job name" + echo " of the restarted job" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "ERROR: job name of current run is the same as job name" >> $jid.log + echo " of the restarted job" >> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi +fi + +# +# user objects/libraries used +# + + if test "$objs" + then + program="$DIRJOB/$jid.marc" + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# user subroutine used +# +# add DAMASK options for linking + DAMASK="-lstdc++" + + if test "$user" + then + program=$usernoext.marc + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# Special case for IBM using POE but not an SP machine +# in this case we always need a host file, also for serial jobs. +# +if test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP +then + MP_HOSTFILE=${jid}.host + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $nprocd -gt 1 + then + numdom=$nprocd + while test $numdom -gt 0 + do + hostname -s >> $MP_HOSTFILE + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + else + hostname -s > $MP_HOSTFILE + fi +fi +# +# check ssh for all hosts in host file +# +if test $nprocd -gt 1 +then +if test $MPITYPE = "intelmpi" -a "$INTELMPI_VERSION" = "HYDRA" + then +# get host list + if test "$host" + then + line=`grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' | uniq` +# count failing hosts + counter=0 + for i in $line + do + $RSH -o BatchMode=yes -o ConnectTimeout=10 $i uname -n + status=$? + if [[ $status != 0 ]] ; then + counter=$((counter+1)) + if [ "$counter" = "1" ]; then + echo " " + echo " error - connection test failed... " + echo " " + fi + echo " " + echo " connection test with ssh failed on host $i" + echo " check the following command: ssh $i uname -n " + echo " " + fi + done +# echo error message and quit + if test $counter -ne 0 + then + echo " " + echo " A parallel job using IntelMPI cannot be started. " + echo " The ssh command must be working correctly between " + echo " the computers used in the analysis. Furthermore, " + echo " it must be set up such that it does not prompt the " + echo " user for a password. " + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo " A parallel job using IntelMPI cannot be started. ">> $jid.log + echo " The ssh command must be working correctly between ">> $jid.log + echo " the computers used in the analysis. Furthermore, ">> $jid.log + echo " it must be set up such that it does not prompt the ">> $jid.log + echo " user for a password. ">> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi +fi +fi +# +# check correctness of host file; fix for user sub +# + if test $nprocd -gt 1 + then + +# construct the path name to the executable (execpath) + execpath=$MARC_BIN/$exefile + usersub=0 + if test $program = $prog.marc + then + execpath=$prog.marc + usersub=1 + fi + if test "$objs" + then + execpath="$DIRJOB/$jid.marc" + usersub=1 + fi + if test "$user" + then + execpath=$usernoext.marc + usersub=1 + fi + export execpath + execname=`$BASENAME $execpath` + + if test "$host" + then + userhost=$host + case $userhost in + \/* | \.\/*) + ;; + *) + userhost=`pwd`/$userhost + ;; + esac + +# check that the number of processes specified in the hostfile is +# equal to nprocd specified by -nprocd. + numproc=`grep -v '^#' $host | $AWK -v sum=0 '{sum=sum+$2}; END {print sum}'` + if test $nprocd -ne $numproc + then + echo " " + echo "error, the number of processes specified in the host file" + echo "must be equal to the number of processes given by -nprocd/-nsolver" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, the number of processes specified in the host file" >> $jid.log + echo "must be equal to the number of processes given by -nprocd/-nsolver" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + +# check for Myrinet that the number of processes per host is +# less than number of available user ports, 5 +# .gmpi directory must exist in user's home directory +# and must have write permission from remote hosts + if test $MPITYPE = "myrinet" + then + numproc=`grep -v '^#' $host | $AWK -v sum=1 '{if( $2 > 5) sum=6}; END {print sum}'` + if test $numproc -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes specified " + echo "in the hostfile must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes specified " >> $jid.log + echo "in the hostfile must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + if test ! -d ~/.gmpi + then + echo " " + echo "error, for Myrinet a .gmpi directory must exist " + echo "under the user's home directory" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a .gmpi directory must exist " >> $jid.log + echo "under the user's home directory" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + homedir=`echo ~` + for i in `grep -v '^#' $host | $AWK '{if (NF > 0) print $1}'` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + $RSH $i /bin/touch $homedir/.gmpi/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + echo " " + echo "error, for Myrinet a shared .gmpi directory must exist " + echo "under the user's home directory " + echo "with remote write permission" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a shared .gmpi directory must exist " >> $jid.log + echo "under the user's home directory " >> $jid.log + echo "with remote write permission" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + else + /bin/rm tmp.$$ + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + fi + fi + done + fi + fi + +# construct the host file $jid.host which is used by mpirun +# skip lines starting with # and only consider lines with more than +# one word in them. Note that the hostfile given to this script +# has two columns: the host name and the number of shared processes +# to run on this host. mpirun wants the number of _other_ +# processes to run in addition to the one being run on the machine +# on which the job is started. hence the $2-1 for fnr == 1. + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then +# HPMPI or HP hardware MPI + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ + -v mpihpspecial="$MPIHPSPECIAL" \ +'{if ( NF > 0) {\ + fnr++ ; \ + printf("-h %s -np %s",$1,$2); \ + printf(" %s",mpihpspecial); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF >= 3 ) printf(" -e MPI_WORKDIR=%s", $3);\ + if ( NF >= 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) \ + }\ + }' > $jid.host +# end HPMPI or HP hardware MPI + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then +# IBM using hardware MPI (POE) + MP_HOSTFILE=$jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.host +# end IBM using hardware MPI (POE) +# for Intel MPI, need to create a machinefile for DMP + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then +# Intel MPI + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + /bin/cp $host $jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Intel MPI for DMP +# for Solaris HPC 7.1, need to create a machinefile for DMP + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then +# Solaris HPC 7.1 + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Solaris HPC 7.1 for DMP +# for Myrinet, construct a configuration file in ~/.gmpi +# this must be readable by each process +# format is (hostname) (port number) for each process + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + grep -v '^#' $host | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ +{if ( NF > 0 ) \ + for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc]); \ +}' >> ~/.gmpi/$jid.host + else +# this is for mpich-1.2.5 and later, using the -pg option +# format: host nproc executable user arguments +# the arguments are added later + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub -v user=`whoami` \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s %s\n",path,user);\ + if ( NF == 3 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s %s\n",path,user) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s/bin/%s %s\n",$4,en,user) \ + }\ + }' > $jid.host + fi +# end Myrinet + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then +# Compaq MPI via Memory Channel + grep -v '^#' $host | $AWK '{if (NF > 0) print $1}' > $jid.host +# end Compaq MPI + else +# MPICH + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF == 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s/bin/%s\n",$4,en) \ + }\ + }' > $jid.host + fi +# define the variable host and host_filt +# host_filt is used for loops over hosts +# for Myrinet we need to use a filtered variant of userhost +# for others we can use $host + if test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + host=~/.gmpi/$jid.host + host_filt=$jid.host_tMp + grep -v '^#' $userhost | $AWK '{if (NF > 0) print $1}' > $host_filt + else + host=$jid.host + host_filt=$host + fi + else + host=$jid.host + host_filt=$host + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + host_filt=$jid.mfile + fi + fi +# figure out if the machines in the hostfile are nfs mounted +# or distributed and set the variable "dirstatus" accordingly. +# only perform the check if user subroutine is used +# or a user subroutine executable is used + + numfield=1 + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + numfield=2 + fi + DIR1=$DIRJOB + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + counter=0 + echo " " + echo "checking if local or shared directories for host" + if test "$deletelog" = no + then + echo "checking if local or shared directories for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + dirstatus[$counter]="shared" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + $RSH $i /bin/touch $DIR1/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + dirstatus[$counter]="local" + /bin/rm tmp.$$ + else + if test ! -f $jid.$$ + then + dirstatus[$counter]="local" + $RSH $i /bin/rm $DIR1/$jid.$$ + else + /bin/rm $jid.$$ + fi + fi + if test -f tmp.$$ + then + /bin/rm tmp.$$ + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + echo " ${dirstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${dirstatus[$counter]}" >> $jid.log + fi + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + fi + +# figure out if this is a compatible set of machines +# unless explicitly specified with flag -comp +# only perform the check if user subroutine is used +# or a user subroutine executable is used +# Myrinet does not support heterogeneous + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + if test $compatible = "unknown" + then + thisname=$ARCH + compatible=yes + counter=0 + echo "checking if machines are compatible for host" + if test "$deletelog" = no + then + echo "checking if machines are compatible for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]="yes" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + othername=`$RSH $i uname -a | cut -f 1 -d " "` + if test $thisname != $othername + then + compatible=no + compstatus[$counter]="no" + fi + fi + echo " ${compstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${compstatus[$counter]}" >> $jid.log + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + else + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]=$compatible + fi + done + if test $compatible = "no" + then + echo "all machines assumed incompatible" + if test "$deletelog" = no + then + echo "all machines assumed incompatible" >> $jid.log + fi + else + echo "all machines compatible" + if test "$deletelog" = no + then + echo "all machines compatible" >> $jid.log + fi + fi + fi +# error out if user objects or libraries are used on incompatible machines + if test "$compatible" = "no" -a -n "$objs" + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" + if test "$deletelog" = no + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" >> $jid.log + fi + exit 1 + fi +# modify new host file if NFS mounted heterogeneous machine + doit= + if test $program = $prog.marc + then + doit=yes + fi + if test "$user" + then + doit=yes + fi + if test "$doit" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + $AWK -v hst=$i '{fnr++ ; \ +if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ +printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} + /bin/mv $jid.host{$$} $jid.host + host=$jid.host + fi + fi + done + fi + fi # if test $program = $prog.marc -o $user -o $obj + + else # if test $host + # assume shared memory machine if no hostfile given and + # MPITYPE is set to mpich or Myrinet + # check for Myrinet that the total number of processes is + # less than number of available user ports, 5 + if test $MPITYPE = "mpich" -o $MPITYPE = "scali" + then + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + host=$jid.host + elif test $MPITYPE = "myrinet" + then + if test $nprocd -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes " + echo "must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes " >> $jid.log + echo "must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + echo `hostname` $nprocd | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ + {for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc])} \ +' >> ~/.gmpi/$jid.host + host=~/.gmpi/$jid.host + else + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + + fi + fi # if test myrinet + + fi # if test $host + + fi # if test $nprocd -gt 1 + +fi # if test $program = $exefile -o $program = $prog.marc + +############################################################################## +# construct run stream (Marc only) # +############################################################################## + +# set maximum message length for ddm to a large number +# for vendor provided mpi +if test $itree -eq 0 -a $MPITYPE = hardware +then + itree=100000000 + if test $MACHINENAME = SGI + then + itree=100000001 + fi +fi +if test $itree -eq 0 -a $MPITYPE = hpmpi +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = myrinet +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = nec +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = scali +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = intelmpi +then + itree=100000000 +fi +if test $nprocdddm -lt 2 +then + nprocdarg= +else + nprocdarg="$nprocdarg $nprocdddm" +fi +if test $nsolver -eq 0 +then + nsolverarg= +else + nsolverarg="$nsolverarg $nsolver" +fi +if test $nprocdddm -lt 2 -a $nsolver -eq 0 +then +nprocd=0 +fi +if test $nprocd -gt 0 +then + if test "$host" + then + if test -z "$RUN_JOB2" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $host -- -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then + RUN_JOB="$RUN_JOB2 $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB_TMP="$RUN_JOB2 $host $bd$program" + RUN_JOB=" -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $nprocd -hf $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + numhost=`uniq $jid.mfile | wc -l` + if test "$INTELMPI_VERSION" = "HYDRA" + then + RUN_JOB_TMP="$RUN_JOB2 -configfile $jid.cfile" + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n $numhost -r $RSH -f $jid.mfile + RUN_JOB_TMP="$RUN_JOB2 $jid.cfile" + fi + +# intelmpi uses configfile. format: +# -host host1 -n n1 executable marcargs +# one such line per host +# collect the marcargs in RUN_JOB and construct the config file later +# collect the run stream in RUN_JOB_TMP + RUN_JOB="-jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + + + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then + RUN_JOB="$RUN_JOB2 $jid.mfile -n $nprocd $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test "$userhost" + then + RUN_JOB="$RUN_JOB -mhost $userhost" + fi + if test $MPITYPE = "scali" + then +# set default working directory to /tmp to allow +# different directory names + SCAMPI_WORKING_DIRECTORY=/tmp + export SCAMPI_WORKING_DIRECTORY + fi + else + if test -z "$RUN_JOB1" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + RUNNPROCD=$nprocd + if test $MACHINENAME = "IBM" -a $MPITYPE = "hardware" + then + RUNNPROCD= + MP_PROCS=$nprocd + export MP_PROCS + fi + if test $MPITYPE = "myrinet" + then + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + echo " " > /dev/null + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n 1 -f $jid.hosts + fi + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + fi +else + if test $ndcoup -gt 0 + then + RUN_JOB="$RUN_JOB0 $BINDIR/exe_auto $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else +# this is for a serial job without auto restart: + RUN_JOB="$RUN_JOB0 $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi +fi +if test "$rid" +then + RUN_JOB="$RUN_JOB -rid $rid -dirrid $DIRRID" +fi +if test "$pid" +then + RUN_JOB="$RUN_JOB -pid $pid -dirpid $DIRPID" +fi +if test "$sid" +then + RUN_JOB="$RUN_JOB -sid $sid -dirsid $DIRSID" +fi +if test "$did" +then + RUN_JOB="$RUN_JOB -def $did -dirdid $DIRDID" +fi +if test "$vid" +then + RUN_JOB="$RUN_JOB -vf $vid -dirvid $DIRVID" +fi +if test $ndcoup -gt 0 +then + RUN_JOB="$RUN_JOB -dcoup $ndcoup " +fi +if test $ndytran -gt 0 +then + RUN_JOB="$RUN_JOB -dytran $ndytran " +fi +if test $mesh -gt 0 +then + RUN_JOB="$RUN_JOB -me $mesh " +fi +if test $noutcore -gt 0 +then + RUN_JOB="$RUN_JOB -outcore $noutcore " +fi +if test "$dllrun" -gt 0 +then + RUN_JOB="$RUN_JOB -dll $dllrun " +fi +if test "$trkrun" -gt 0 +then + RUN_JOB="$RUN_JOB -trk $trkrun " +fi +if test "$iam" +then + RUN_JOB="$RUN_JOB -iam $iam " +fi +if test "$justlist" +then + RUN_JOB="$RUN_JOB -list 1 " +fi +if test "$feature" +then + RUN_JOB="$RUN_JOB -feature $feature " +fi +if test "$memlimit" -ne 0 +then + RUN_JOB="$RUN_JOB -ml $memlimit " +fi +if test "$cpinput" +then + RUN_JOB="$RUN_JOB -ci $cpinput " +fi +if test "$cpresults" +then + RUN_JOB="$RUN_JOB -cr $cpresults " +fi +if test "$DIRSCR" != "$DIRJOB" +then + RUN_JOB="$RUN_JOB -dirscr $DIRSCR" +else + DIRSCR=$DIRJOB +fi +if test "$makebdf" +then + RUN_JOB="$RUN_JOB -bdf $makebdf " +fi +if test $MPITYPE = "myrinet" -a "$host" -a "$MPIVERSION" != "MPICH-GM1.2.1..7" +then + # append $RUN_JOB to all lines of the host file + # and set RUN_JOB + $AWK -v args="$RUN_JOB" '{print $0,args}' $host > $host.$$ + /bin/mv $host.$$ $host + RUN_JOB=$RUN_JOB_TMP +fi +if test $MPITYPE = "intelmpi" -a "$host" +then + # construct config file, append $RUN_JOB to all lines of the config file + # and set RUN_JOB + if test "$INTELMPI_VERSION" = "HYDRA" + then + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf(" -host %s",$1); \ + printf(" -n %s",$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + else + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf("-host %s -n %s",$1,$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + fi + RUN_JOB=$RUN_JOB_TMP +fi +echo " " +echo "Final run stream value" +echo " RUNJOB="$RUN_JOB +if test "$deletelog" = no +then +echo " " >> $jid.log +echo "Final run stream value" >> $jid.log +echo " RUNJOB="$RUN_JOB >> $jid.log +fi + + +# +# check for external file to run using valgrind +# +if test -f $MARC_TOOLS/run_marc_valgrind +then + . $MARC_TOOLS/run_marc_valgrind +fi + + +############################################################################## +# run the requested program in a queue # +############################################################################## + +if test "$deletelog" = yes +then + echo + date +else + echo >> $jid.log + date >> $jid.log +fi +if [ $qid = short -o $qid = long -o $qid = verylong -o $qid = at ] +then + +/bin/rm -f $jid.runmarcscript + + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + userobj=$usermoext.o + fi + cat > $jid.runmarcscript << END4 + if test "$user" + then + if test $MACHINENAME = "CRAY" + then + $DFORTHIGHMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTHIGHMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + $SOLVERLIBS \ + $MARCCUDALIBS \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } +END4 +else + prgsav=yes +fi +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null + +# +# run marc +# + +cat >> $jid.runmarcscript << END5 + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# first remove all .out files and incremental restart files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + /bin/rm $DIRJOB/$numdom${jid}_i_*.t08 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null + /bin/rm $DIRJOB/${jid}_i_*.t08 2>/dev/null +fi + +if test $nprocdddm -gt 1 +then + $RUN_JOB 2>>$jid.log +else + $RUN_JOB 2>>$jid.log +fi + +if test $dllrun -eq 0; then + if test $prgsav = no + then + /bin/rm -f $bd$program 2>/dev/null + fi +else + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes + then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +fi +END5 + + +# Submit to marc batch queue +# +if [ $qid = at ] +then +QUENAME=at +SUBMCMD= +else +# +# Submit to qsub queue +# +QUENAME=qsub +SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" +if test "$priority" +then + SUBMCMD=$SUBMCMD" -p $priority" +fi +if test "$att" +then + SUBMCMD=$SUBMCMD" -a $att" +fi +if test "$cpu" +then + SUBMCMD=$SUBMCMD" -lt $cpu" +fi + +fi +echo $QUENAME $SUBMCMD +#cat $jid.runmarcscript +$QUENAME $SUBMCMD < $jid.runmarcscript + +/bin/rm -f $jid.runmarcscript + +############################################################################## +# run the requested program in the background # +############################################################################## + +else +if test $qid = background +then + +# +# first remove all old .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi +# +# compile user subroutine if present +# +( +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_damask_hmp $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user on host $i" + echo " $PRODUCT Exit number 3" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user on host `hostname`" + fi + userobj=$usernoext.o + if test $MACHINENAME = "CRAY" + then + $DFORTHIGHMP $user || \ + { + echo "$0: compile failed for $user" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTHIGHMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + echo " $PRODUCT Exit number 3" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null + +# +# run marc + +# + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + +$RUN_JOB & + +marcpid=$! +echo $marcpid > $DIRJOB/$jid.pid +wait $marcpid + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + fi + fi + fi +fi + + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi +fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi +) 1>>$jid.log 2>&1 & + + +############################################################################## +# run the requested program in the foreground # +############################################################################## + +else + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_damask_hmp $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user on host $i" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user on host `hostname`" + fi + userobj=$usernoext.o + if test $MACHINENAME = "CRAY" + then + $DFORTHIGHMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTHIGHMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null +# done if no job id given +if test -z "$jid" +then + echo + echo only compilation requested + echo + exit +fi +# +# run marc +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi +# first remove all .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + $RUN_JOB + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + else + echo " " > /dev/null + fi + else + if test "$host" + then + mpdcleanup -a -f $jid.mfile + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.mfile 2> /dev/null + else + mpdcleanup -a -f $jid.hosts + /bin/rm $jid.hosts 2> /dev/null + fi + fi + fi +fi + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi +fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi + + +fi +fi diff --git a/installation/mods_MarcMentat/2020/Marc_tools/run_damask_lmp b/installation/mods_MarcMentat/2020/Marc_tools/run_damask_lmp new file mode 100644 index 000000000..cc6181325 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Marc_tools/run_damask_lmp @@ -0,0 +1,4130 @@ +#!/bin/ksh +############################################################################## +# # +# run_marc - run a marc job # +# ------------------------- # +# # +# usage: run_marc -j jid { options } # +# # +# where standard options are: required: defaults: # +# -------------------------- # +# # +# -j* jid job id number. ** YES ** . # +# -pr* prog program name. . marc # +# -v* y|n do or do not verify inputs. . yes # +# -q* s|l|v|b|f batch queue name or background, . short # +# foreground. # +# -b* as alternative to option -q* # +# # +# ( batch queues only : # +# -pq* intra queue priority. . . # +# -at DATE/TIME delay start of job. . . # +# format : January,1,1990,12:31 # +# or : today,5pm # +# -cpu* secs job CPU limit . . ) # +# # +# -r* rid restart file job id. . . # +# -si* sid substructure file id. . . # +# -pi* post post file job id. . . # +# -de* did defaults file . no # +# -vf vid viewfactor . no # +# # +# -u* user user subroutine. . . # +# -obj obj user objects or libraries. . . # +# -sa* y|n do or do not save load module. . no # +# -me manual remeshing control . no # +# -ml memory limit in Mbyte # +# -mo This option is deprecated. As of Marc 2015, only # +# the integer*8 version is available. # +# -mpi selects MPI version # +# each platform has a default MPI version and some # +# have an alternative version. see the include file # +# for the respective platform # +# MPI_DEFAULT defines the default MPI version # +# MPI_OTHER defines versions one can switch to # +# -dcoup for contact decoupling # +# currently not supported # +# -dir directory where the job i/o should take place. # +# defaults to current directory. # +# -sdir directory where scratch files are created # +# defaults to current directory. # +# # +# -alloc only perform memory allocation test, no analysis # +# -list y only list options in the input file, no analysis # +# -fe num set feature number "num" for the run. only one allowed # +# -dytran flag to switch from Dytran to Marc # +# dytran = 0, program will run w/o Marc-Dytran Switch # +# = 1, program will restart Marc after Dytran run # +# >= 2, Not supported yet. # +# currently not supported # +# -ou force analysis to use out-of-core control # +# =0, not used # +# =1, element storage out-of-core # +# -dll run marc using shared library libmarc.so and exe_marc # +# =1, used # +# =2, do not free streaming input memory # +# =3, run with marc input deck # +# -trk run marc for post-tracking # +# -gpuid run marc using GPGPU capability # +# specify gpuid on to be used in the analysis. Multiple # +# IDs may be assigned for DDM runs. # +# Separate a list of IDs with a colon. Each DMP # +# process will be assigned a GPU ID in round robin fastion# +# = 0 # +# = 0:1 etc... # +# # +# where parallel options are: # +# -------------------------- # +# # +# itree, host, and comp options are available for the domain # +# decomposition only. # +# MARC_NUMBER_OF_THREADS, nthread, and dir options always available. # +# # +# # +# -nprocd number of domains. # +# defaults to single domain solution. # +# -nprocds number of domains if single input file. # +# defaults to single domain solution. # +# -nps same as -nprocds. # +# -nsolver number of solver tasks for solver types 12 and 13 # +# these are distributed tasks operating via MPI # +# -nthread_elem number of threads for element assembly and recovery # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by element assembly # +# recovery. # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_elem option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_elem specified. # +# -nthread_solver number of threads for solver types 6, 8, and 11 # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by 6, 8, and 11 # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_solver option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_solver specified. # +# -nthread Same as -nthread_solver. # +# -itree message passing tree type for domain decomposition. # +# for debugging purposes; should not normally be used. # +# -host hostfile name for distributed execution on network. # +# defaults to no hostfile, unless jobid.defhost exists. # +# if jobid.defhost exists, only -np(s) necessary # +# -comp* y|n to be used with user routines on a network of # +# incompatible machines. # +# if set to no, a separate executable will be created # +# for each machine on the network. # +# if set to yes, the executable located on the machine # +# from which marc is started will be used on all machines.# +# defaults to no if O/S versions different on machines. # +# # +# -ci y|n copy input files to remote hosts (default: yes) # +# if "yes", input files are automatically copied to # +# remote hosts for a network run if necessary. # +# -cr y|n copy post files from remote hosts (default: yes) # +# if "yes", post files are automatically copied back from # +# remote hosts for a network run if necessary. # +############################################################################## +# set DIR to the directory in which this script is +REALCOM="`/bin/ls -l $0 |awk '{ print $NF; }'`" +DIR=`dirname $REALCOM` +# make sure DIR has an absolute path +case $DIR in + \/*) + ;; + *) + DIR=`pwd`/$DIR + ;; +esac +DIRSCRIPT=$DIR +AWK=awk +ARCH=`uname -a | cut -f 1 -d " "` +# Sun has a bad awk, use nawk instead +if test $ARCH = "SunOS" +then + AWK=nawk +fi +BASENAME=basename +# Sun has an incorrect /bin/basename, check if /usr/ucb/basename exists +if test $ARCH = "SunOS" +then + if test -x /usr/ucb/basename + then + BASENAME=/usr/ucb/basename + fi +fi + +# echo command line in the case of ECHO_COMMAND is true +if test "$ECHO_COMMAND" = true ; then + echo command "$0" "$@" +fi + +# +# "mode" selects version, i4 or i8 +# default is i4 +# this can be changed by a file run_marc_defaults +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MODE i8 +# it can also be set by the environmental variable MARC_INTEGER_SIZE +# and by the command line option "-mo" +# +mode= +modeerror= +modeoption= +if test -f $DIRSCRIPT/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $DIRSCRIPT/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -f $HOME/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $HOME/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $HOME/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -n "$MARC_INTEGER_SIZE" ; then + mode=$MARC_INTEGER_SIZE +fi +if test -z "$mode" ; then + mode=i8 +fi +case $mode in + i4) + modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + modeoption=error + echo $modeerror + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo "bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + exit + ;; +esac + +setmode=false +for arg in $* ; do + if $setmode ; then + mode=$arg + case $mode in + i4) + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo " " + echo "error, version mode must be i8" + echo " " + echo " use -mo i8 " + echo " " + exit + ;; + esac + setmode=false + fi + if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then + echo + echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available + echo + setmode=true + fi + if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + fi + if [ ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + fi +done + +# set to i4 version for 32 bit Linux +if test "`uname -s`" = "Linux"; then + if test "`uname -m`" = "i686"; then + mode=i4 + MARC_INTEGER_SIZE=i4 + export MARC_INTEGER_SIZE + fi +fi + + +. "$DIR/getarch" + + +# getting user subroutine file name +found=0 +for i in "$@"; do + if test $found = 1; then + DAMASK_USER=$i + found=0 + fi + case $i in + -u* | -U*) + found=1 + ;; + esac +done +# sourcing include_linux64 (needs DAMASK_USER to be set) +. $MARC_INCLUDE + +# + +# +# Dynamically determine the echo syntax +# + +case "`echo '\c'`" in + '\c') + ECHO='echo -n' + ECHOTXT=' ' + ;; + *) + ECHO='echo' + ECHOTXT=' \c' + ;; +esac + +# +# Variables for the MARC environment +# + +PRODUCT="Marc" +EXITMSG=$MARC_TOOLS/MESSAGES +export EXITMSG +FLEXDIR=$DIR/../flexlm/licenses +export FLEXDIR +TIMCHK=3600 +export TIMCHK +BINDIR=$MARC_BIN +export BINDIR +AFMATDAT=$MARC_RUNTIME/AF_flowmat/ +export AFMATDAT +export MESHERDIR +MSC_LICENSE_FINPROC=0 +export MSC_LICENSE_FINPROC +# +# define directory path to global unified material database +# +MATFILE= +export MATFILE + +# +# define memory limit +# first set to MEMLIMIT from include +# -ml option overrules if specified +memlimit=$MEMLIMIT +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +# +if test $MACHINENAME = "HP" +then + SHLIB_PATH=$MARC_LIB:$MARC_LIB_SHARED:$SHLIB_PATH + export SHLIB_PATH +fi +# the one for IBM is defined futher down + +LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH:$SFMATDIR +if test -f "/etc/redhat-release"; then + ver=`cat /etc/redhat-release | sed 's/.* release \([0-9]\).\([0-9]\+\) .*/\1\2/'` + case "$ver" in + 6*) LD_LIBRARY_PATH="${MARC_LIB_SHARED}rh67:$LD_LIBRARY_PATH" ;; + esac +fi +LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$LD_LIBRARY_PATH +LD_LIBRARY64_PATH=$MARC_LIB:$LD_LIBRARY64_PATH +LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH +export LD_LIBRARY_PATH +export LD_LIBRARY64_PATH +export LD_LIBRARYN32_PATH + +atexit() { +kill -15 $$ +# +if test $MPITYPE = "myrinet" +then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi +fi +} + +trap "atexit" 2 + +# +# defaults +# + +prog=marc +exefile=marc +jid= +rid= +pid= +sid= +did= +vid= +user= +usernoext= +objs= +qid=background +cpu= +priority= +att= +trk= +verify=yes +prgsav=no +rmdll=no +cpdll=no +progdll= +pathdll= +error= +nprocd=0 +nprocdddm=1 +nprocdddmprint= +icreated=0 +nprocdarg= +nsolver=0 +nsolverarg=-ns +if test $nprocds +then + if test $nprocds -gt 1 + then + nprocdddm=$nprocds + nprocdddmprint=$nprocds + icreated=1 + nprocdarg=-nprocds + fi +fi +ntprint=0 +nt=-1 +nte=-1 +nts=-1 +ntarg=-nt +ntearg=-nte +ntsarg=-nts +nteprint= +ntsprint= +oversubscribe=false +gpuids= +nauto= +ndcoup=0 +ndytran=0 +noutcore=0 +dllrun=0 +mesh=0 +itree=0 +iam= +ddm_arc=0 +link= +trkrun=0 +DIRJOB=`pwd` +DIRSCR=$DIRJOB +DIRSCRSET= +autoforge=0 +dotdat=.dat +dotdefhost=.defhost +host= +numhost= +mfile= +userhost= +makebdf= +cpinput=yes +cpresults=yes +marcdll=libmarc.$EXT_DLL +# define hostname and strip off extensions (alpha.aaa.com) +thishost=`hostname` +thishost=${thishost%%.*} +compatible=unknown +numfield=1 +justlist= +feature= +mpioption=false +iprintsimufact= +SRCLIB=$MARC_LIB/srclib.a +MDSRCLIB=$MARC_LIB/mdsrc.a +# +# check run_marc_defaults file for default MPI setting +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MPI +# +value= +file= +if test -f $DIRSCRIPT/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $DIRSCRIPT/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$DIRSCRIPT/run_marc_defaults + fi +fi +if test -f $HOME/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $HOME/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$HOME/run_marc_defaults + fi +fi +if test -n "$value"; then + MARC_MPITYPE=$value + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + echo " " + echo " error, incorrect option for MARC_MPI" + echo " defined in $file: $MARC_MPITYPE" + echo " valid options: $MPI_OTHER $MPI_DEFAULT" + echo " " + exit + fi + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + fi +fi +# +# +# allow scratch directory to be specified with environmental variable +# MARCSCRATCH +if test $MARCSCRATCH +then + if test -d $MARCSCRATCH + then + DIRSCR=$MARCSCRATCH + else + echo "error, scratch directory '$MARCSCRATCH'" + echo " specified via environmental variable MARCSCRATCH does not exist" + exit + fi +fi +# +############################################################################## +# parse input - arguments always come in pairs # +############################################################################## + +arg=$1 +if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + shift + arg=$1 +fi +while [ -n "$arg" ] +do + shift + value=$1 + case $arg in + -al* | -AL*) + LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + $MARC_BIN/marc -alloc 1 + exit + ;; + -li* | -LI*) + justlist=yes + ;; + -fe* | -FE*) + feature=$value + + ;; + -pr* | -PR*) + if test `dirname $value` = '.' + then + prog=`$BASENAME $value .marc` + progdll=`$BASENAME $value` + else + prog=`dirname $value`/`$BASENAME $value .marc` + progdll=`dirname $value`/`$BASENAME $value` + fi + prdir=`dirname $value` + case $prdir in + \/*) + ;; + *) + prog=`pwd`/$prdir/$prog + ;; + esac + ;; + -j* | -J*) + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + ;; + -r* | -R*) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + -si* | -SI*) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + -pi* | -PI*) + if test -f $value.t19 + then + pid=`$BASENAME $value .t19` + else + pid=`$BASENAME $value .t16` + fi + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + -bdf | -BDF) + makebdf=1 + ;; + -de* | -DE*) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + -vf | -VF) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + -u* | -U*) + user=$value + case $user in + \/*) + ;; + *) + user=`pwd`/$user + ;; + esac + usernoext=$user + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + ;; + -obj | -OBJ) + objs="$value" + ;; + -q* | -Q*) + qid=$value + ;; + -b* | -B*) + case $value in + y* | Y*) + qid=background + ;; + n* | N*) + qid=foreground + ;; + *) + ;; + esac + ;; + -at | -AT) + att=$value + ;; + -cpu* | -CPU*) + cpu=$value + ;; + -pq | -PQ*) + priority=$value + ;; + -v* | -V*) + verify=$value + ;; + -sa* | -SA*) + prgsav=$value + ;; + -np* | -NP*) + nprocdddm=$value + nprocdddmprint=$value + case $arg in + -nps* | -NPS* | -nprocds* | -NPROCDS*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + case $arg in + -np | -NP | -nprocd | -NPROCD) + icreated=0 + nprocdarg=-nprocd + ;; + esac + ;; + -ns* | -NS*) + nsolver=$value + ;; + -nt* | -NT*) + case $arg in + -nte | -NTE | -nthread_e* | -NTHREAD_E*) + nte=$value + ;; + esac + case $arg in + -nts | -NTS | -nthread_s* | -NTHREAD_S*) + nts=$value + ;; + esac + case $arg in + -nt | -NT | -nth* | -NTH* | -nthread* | -NTHREAD*) + nt=$value + ;; + esac + ;; + -gp* | -GP*) + gpuids=$value + ;; + -it* | -IT*) + itree=$value + ;; + -iam | -IAM) + iam=$value + case $value in + sfg | sfm | sim) + iprintsimufact=true + ;; + esac + ;; + -au* | -AU*) + nauto=$value + echo + echo warning: the option -au is no longer supported and will be ignored + echo + ;; + -dc* | -DC*) + ndcoup=$value + ;; + -dy* | -DY*) + ndytran=$value + ;; + -ou* | -OU*) + noutcore=$value + ;; + -dll | -DLL) + dllrun=$value + ;; + -trk | -TRK) + trkrun=$value + ;; + -ddm | -DDM) + ddm_arc=$value + ;; + -me | -ME ) + mesh=$value + ;; + -ml | -ML ) + memlimit=$value + ;; + -mo | -MO ) + ;; + -mpi | -MPI ) + mpioption=true + MARC_MPITYPE=$value + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + else + exefile=marc + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a" + fi + fi + ;; + -dir* | -DIR*) + DIRJOB=$value + case $DIRJOB in + \/*) + ;; + *) + DIRJOB=`pwd`/$DIRJOB + ;; + esac + if test -z "$DIRSCRSET" + then + DIRSCR=$DIRJOB + fi + ;; + -sd* | -SD*) + DIRSCR=$value + DIRSCRSET=yes + case $DIRSCR in + \/*) + ;; + *) + DIRSCR=`pwd`/$DIRSCR + ;; + esac + ;; + -ho* | -HO*) + host=$value + ;; + -co* | -CO*) + compatible=$value + ;; + -ci* | -CI*) + cpinput=$value + ;; + -cr* | -CR*) + cpresults=$value + ;; + *) + error="$error +$arg: invalid option" + break + ;; + esac + case $value in + -*) + error="$error +$arg: invalid name $value" + break + ;; + esac + shift + arg=$1 + if [ ${arg}X = -i8X -o ${arg}X = -I8X -o ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + shift + arg=$1 + fi +done +argc=`expr $# % 2` +if test $argc -eq 1 +then +# +# odd number of arguments +# + error="$error +argument list incomplete" +fi + +if test $nprocdddm -gt 0 +then +nprocd=$nprocdddm +fi + +if test $nsolver -gt 0 +then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi +fi + +# oversubscribe case +if test $nprocd -gt $(/usr/bin/nproc); then + if test "$ALLOWMPIOVERSUBSCRIBE" != "true"; then + error="$error + The requested number of domains ($nprocd) is larger than the number + of processors ($(/usr/bin/nproc)). As such an oversubscription may result in + very poor performance, the analysis will not be started. + Running an analysis in case of oversubscription can be forced + by defining an environment variable \"ALLOWMPIOVERSUBSCRIBE\" + with the value \"true\"." + oversubscribe=true + fi +fi + +# Set defaults +if test $nt -eq -1 +then +nt=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nt -lt 0 +then +nt=0 +fi +if test $nte -eq -1 +then +nte=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nte -lt 0 +then +nte=0 +fi +if test $nts -eq -1 +then +nts=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nts -lt 0 +then +nts=0 +fi +# +# set number of element loop threads +# +ntprint=$nt +nteprint=$nte +# copy from -nprocd[s] +if test $nprocdddm -gt 1 +then + nteprint=$nprocdddm +fi +# override with -nthread_elem option +if test $nte -ne 0 +then +nteprint=$nte +fi +# check for minimum 1 threads per processes for DDM +if test $nprocdddm -gt 1 +then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi +fi +nte=$nteprint +# +# set number of Solver threads +# +ntsprint=$nts +# copy from -nthread or -nprocd[s] +if test $ntprint -ne 0 +then + ntsprint=$ntprint +else + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +fi +# override with -nthread_solver option +if test $nts -ne 0 +then + ntsprint=$nts +fi +# check for minimum 1 threads per solver process. +if test $nsolver -lt $nprocdddm +then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi +else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi +fi +if test $ntsprint -eq 1 +then + set ntsprint=0 +fi +nts=$ntsprint + +# set stack size for multi-threading. +export KMP_MONITOR_STACKSIZE=7M +export OMP_STACKSIZE=7M + +# +# deprecate -nthread option at arugment of marc +nt=0 +# Reset nprocdddmm, nsolver and threads if not given. +if test $nprocdddm -eq 0 +then + nprocdarg= +fi +if test $nprocdddm -eq 0 +then + nprocdddmprint= +fi +if test $nprocdddm -eq 0 +then + nprocdddm= +fi + +nsolverprint=$nsolver +if test $nsolver -eq 0 +then + nsolverprint= +fi +# end of threads setting. +gpuoption= +if test "$gpuids" = "" ; then + gpuoption= +else + gpuoption="-gp $gpuids" +fi + +if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH +else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH +fi +# Linux 64 + HPMPI, Below code is taken from include_linux64 +if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" +then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" +fi +if test "$iam" = sim ; then + SFLIB="-L$SFMATDIR -lMBA_Grain" +fi + +if test $nprocd -gt 1; then + if test -f $jid$dotdefhost; then + if test "$host" = ""; then + host=$jid$dotdefhost + fi + fi + if test -f hostfile_qa_$nprocd; then + if test "$host" = ""; then + host=hostfile_qa_$nprocd + fi + fi +fi + +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$dllrun" -eq 1 || test "$dllrun" -eq 2; then + dotdat=.inp + fi + + if test "$progdll"; then + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + rmdll=yes + pathdll=yes + progdll=${progdll}_$marcdll + else + progdll=$marcdll + fi + + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + pathdll=yes + fi +fi + +############################################################################## +# check parameter validity # +############################################################################## + +while test forever; do + +# +# check for input file existence +# +if test $nprocdddm -gt 1 -a $icreated -eq 0; then + if test ! -f $DIRJID/1$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/1$jid$dotdat not accessible" + fi + fi +else + if test ! -f $DIRJID/$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/$jid$dotdat not accessible" + fi + fi +fi + if test $nprocd -gt 1; then + if test "$host" ; then + if test ! -f $host; then + error="$error +host name file $host not accessible" + fi + fi + fi + +# +# check if the job is already running in the background +# +if test -f $DIRJOB/$jid.pid; then + error="$error +job is already running (the file $jid.pid exists)" +fi + +# +# if the program name is other than marc, then +# assume that this is a program in the users local directory +# + +bd=$MARC_BIN/ + +case $prog in + marc | MARC | $exefile) + program=$exefile + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 or $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + if test ! -f $user + then + error="$error +user subroutine file $user not accessible" + fi + fi + if test "$objs" + then + missingobjs= + for o in $objs + do + if test ! -f "$o" + then + if test -z "$missingobjs" + then + missingobjs="$o" + else + missingobjs="$missingobjs $o" + fi + fi + done + if test -n "$missingobjs" + then + error="$error +user object/library file(s) $missingobjs not accessible" + fi + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$vid" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRVID/1$vid.vfs + then + error="$error +view factor file $DIRVID/1$vid.vfs not accessible" + fi + else + if test ! -f $DIRVID/$vid.vfs + then + error="$error +view factor file $DIRVID/$vid.vfs not accessible" + fi + fi + fi + if $mpioption + then + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER $MPI_DEFAULT)" + fi + fi + ;; + *) + program=$prog.marc + case $prog in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 and $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + error="$error +program option may not be used with user subroutine" + fi + if test "$objs" + then + error="$error +program option may not be used with user objects or libraries" + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$ndcoup" + then + if test $ndcoup -gt 3 + then + error="$error +incorrect option for contact decoupling " + fi + fi + if test "$ndytran" + then + if test $ndytran -gt 1 + then + error="$error +incorrect option for Marc-Dytran Switch " + fi + fi + if $mpioption + then + if test ! -x $MARC_BIN/$exefile + then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE " + fi + fi + ;; +esac + +############################################################################## +# check argument integrity # +############################################################################## + +if test "$jid" +then + : +else + if test "$user" + then +# allow user sub without giving job id + qid=foreground + verify=no + else + error="$error +job id required" +fi +fi + +case $qid in + S* | s*) + qid=short + ;; + L* | l*) + qid=long + ;; + V* | v*) + qid=verylong + ;; + B* | b*) + qid=background + ;; + F* | f*) + qid=foreground + ;; + A* | a*) + qid=at + ;; + *) + error="$error +bad value for queue_id option" + ;; +esac + +case $prgsav in + N* | n*) + prgsav=no + ;; + Y* | y*) + prgsav=yes + ;; + *) + error="$error +bad value for save option" + ;; +esac + +case $verify in + N* | n*) + verify=no + ;; + Y* | y*) + verify=yes + ;; + *) + error="$error +bad value for verify option" + ;; +esac + +case $nprocdddm in + -* ) + error="$error +bad value for nprocd option" + ;; +esac + +case $nt in + -* ) + error="$error +bad value for nt option" + ;; +esac + +case $itree in + -* ) + error="$error +bad value for itree option" + ;; +esac +case $iam in + -* ) + error="$error +bad value for iam option" + ;; +esac +case $compatible in + N* | n*) + compatible=no + ;; + Y* | y*) + compatible=yes + ;; + unknown) + ;; + *) + error="$error +bad value for comp option" + ;; +esac +case $cpinput in + N* | n*) + cpinput=no + ;; + Y* | y*) + cpinput=yes + ;; + *) + error="$error +bad value for copy input option" + ;; +esac +case $cpresults in + N* | n*) + cpresults=no + ;; + Y* | y*) + cpresults=yes + ;; + *) + error="$error +bad value for copy results option" + ;; +esac + +# +# check for external file to run +# +if test -f $MARC_TOOLS/run_marc_check +then + . $MARC_TOOLS/run_marc_check +fi + +############################################################################## +# interact with the user to get the required information to run marc or # +# other marc system program # +############################################################################## + +deletelog=yes +if test $qid = background -a $verify = no +then +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $user +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint +GPGPU option : $gpuids +Host file name : $host" > $jid.log +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" >> $jid.log +fi +echo \ +"Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" >> $jid.log +deletelog=no +fi +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $user +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint" +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" +fi +echo \ +"GPGPU option : $gpuids +Host file name : $host +Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" + + +case $qid in + s* | S* | l* | L* | v* | V* ) + echo \ +"Queue priority : $priority +Queue CPU limit : $cpu +Queue start time : $att" + ;; +# * ) +# echo \ +#" " +# ;; +esac + +if test "$modeoption" +then + error=$modeerror +fi + +if test "$error" +then + if test $verify = yes + then + $ECHO "$error + +Please correct or quit(correct,quit,): $ECHOTXT" + error= + read answer + case $answer in + q* | Q*) + answer=quit + ;; + *) + answer=correct + ;; + esac + else + $ECHO "$error + $ECHOTXT" + echo " " + if test "$deletelog" = no + then + $ECHO "$error + $ECHOTXT" >> $jid.log + echo " " >> $jid.log + fi + answer=quit + fi +else + if test $verify = yes + then + $ECHO " +Are these parameters correct (yes,no,quit,)? $ECHOTXT" + read answer + case $answer in + q* | Q*) + answer=quit + ;; + y* | Y*) + answer=yes + ;; + *) + answer=no + ;; + esac + else + answer=yes + fi +fi + +case $answer in + no | correct) + +############################################################################## +# prompt for each value # +############################################################################## + + $ECHO " +Program name ($prog)? $ECHOTXT" + read value + if test "$value" + then + prog=$value + fi + $ECHO "Job ID ($jid)? $ECHOTXT" + read value + if test "$value" + then + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + fi + $ECHO "User subroutine name ($user)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + user= + ;; + *) + user=$value + case $user in + \/*) + ;; + *) + user=`pwd`/$user + ;; + esac + usernoext=$user + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + ;; + esac + fi + $ECHO "User objects or libraries ($objs)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + objs= + ;; + *) + objs="$value" + ;; + esac + fi + $ECHO "Restart File Job ID ($rid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + rid= + ;; + *) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + esac + fi + $ECHO "Substructure File ID ($sid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + sid= + ;; + *) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + esac + fi + $ECHO "Post File Job ID ($pid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + pid= + ;; + *) + pid=$value + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + esac + fi + $ECHO "Defaults File ID ($did)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + did= + ;; + *) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + esac + fi + $ECHO "View Factor File ID ($vid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + vid= + ;; + *) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + esac + fi + $ECHO "Save generated module ($prgsav)? $ECHOTXT" + read value + if test "$value" + then + prgsav=$value + fi + $ECHO "Run on tasks ($nprocdddm) tasks? $ECHOTXT" + read value + if test "$value" + then + nprocdddm=$value + nprocdddmprint=$value + fi + $ECHO "Run on ($nte) Element loop threads ? $ECHOTXT" + read value + if test "$value" + then + nte=$value + fi + $ECHO "Run on ($nsolver) solvers ? $ECHOTXT" + read value + if test "$value" + then + nsolver=$value + fi + $ECHO "Run on ($nts) Solver threads ? $ECHOTXT" + read value + if test "$value" + then + nts=$value + fi +# + if test $nprocdddm -gt 0 + then + nprocd=$nprocdddm + fi + if test $nsolver -gt 0 + then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi + fi +# Element loop threads. + if test $nte -eq -1 + then + nte=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nte -lt 0 + then + nte=0 + fi + nteprint=$nte +# Copy from ddm + if test $nprocdddm -gt 1 + then + nteprint=$nprocdddm + fi +# override with -nthread_elem option + if test $nte -ne 0 + then + nteprint=$nte + fi +# check for minimum 1 threads per processes for DDM + if test $nprocdddm -ne 0 + then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi + fi + nte=$nteprint +# Solver threads. + if test $nts -eq -1 + then + nts=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nts -lt 0 + then + nts=0 + fi + ntsprint=$nts +# Copy from ddm + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +# override with -nthread_solver option + if test $nts -ne 0 + then + ntsprint=$nts + fi +# check for minimum 1 threads per solver process. + if test $nsolver -lt $nprocdddm + then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi + else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi + fi + if test $ntsprint -eq 1 + then + set ntsprint=0 + fi + nts=$ntsprint +# Update print variable for -nsolver option + nsolverprint=$nsolver + if test $nsolver -eq 0 + then + nsolverprint= + fi + $ECHO "GPGPU id option ($gpuids)? $ECHOTXT" + read value + if test "$value" + then + gpuids=$value + fi + if test "$gpuids" = "" ; then + gpuoption= + else + gpuoption="-gp $gpuids" + fi + if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH + fi + if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" + then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" + fi +# + if test $nprocd -gt 1 + then + $ECHO "Message passing type ($itree)? $ECHOTXT" + read value + if test "$value" + then + itree=$value + fi + $ECHO "Host file name ($host)? $ECHOTXT" + read value + if test "$value" + then + host=$value + fi + if test $nprocdddm -gt 1 + then + $ECHO "Single input file? $ECHOTXT" + read value + case $value in + y* | Y*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + $ECHO "Compatible machines for DDM ($compatible)? $ECHOTXT" + read value + if test "$value" + then + compatible=$value + fi + $ECHO "Copy input files to remote hosts ($cpinput)? $ECHOTXT" + read value + if test "$value" + then + cpinput=$value + fi + $ECHO "Copy post files from remote hosts ($cpresults)? $ECHOTXT" + read value + if test "$value" + then + cpresults=$value + fi + fi + fi + $ECHO "Run the job in the queue ($qid)? $ECHOTXT" + read value + if test "$value" + then + qid=$value + fi + case $qid in + s* | S* | l* | L* | v* | V* ) + $ECHO "Queue priority ($priority)? $ECHOTXT" + read value + if test "$value" + then + priority=$value + fi + $ECHO "Job starts at ($att)? $ECHOTXT" + read value + if test "$value" + then + att=$value + fi + $ECHO "Queue CPU limit ($cpu)? $ECHOTXT" + read value + if test "$value" + then + cpu=$value + fi + ;; + * ) + ;; + esac + $ECHO "Run directory ($DIRJOB)? $ECHOTXT" + read value + if test "$value" + then + DIRJOB=$value + DIRSCR=$DIRJOB + fi + $ECHO "Scratch directory ($DIRSCR)? $ECHOTXT" + read value + if test "$value" + then + DIRSCR=$value + fi + ;; + quit) + if test "$deletelog" = no -a $oversubscribe = true + then + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + ;; + *) + break + ;; + +esac + + if test $nt -eq -1 + then + nt=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nt -lt 0 + then + nt=0 + fi + +done +# +if test $nt -eq 0 +then + ntarg= +fi +if test $nt -eq 0 +then + ntprint= +fi +if test $nt -eq 0 +then + nt= +fi + +if test $nte -eq 0 +then + ntearg= +fi +if test $nte -eq 0 +then + nteprint= +fi +if test $nte -eq 0 +then + nte= +fi + +if test $nts -eq 0 +then + ntsarg= +fi +if test $nts -eq 0 +then + ntsprint= +fi +if test $nts -eq 0 +then + nts= +fi +# +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + pathdll=yes + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + fi + + if test "$pathdll"; then +# +# reset share lib path +# + if test $MACHINENAME = "HP" + then + SHLIB_PATH=$DIRJOB:$SHLIB_PATH + export SHLIB_PATH + fi + if test $MACHINENAME = "IBM" + then + LIBPATH=$DIRJOB:$LIBPATH + export LIBPATH + fi +# + LD_LIBRARY_PATH=$DIRJOB:$LD_LIBRARY_PATH + LD_LIBRARY64_PATH=$DIRJOB:$LD_LIBRARY64_PATH + LD_LIBRARYN32_PATH=$DIRJOB:$LD_LIBRARYN32_PATH + export LD_LIBRARY_PATH + export LD_LIBRARY64_PATH + export LD_LIBRARYN32_PATH + fi +fi +# end of dllrun>0 + + +if test $program = $exefile -o $program = $prog.marc +then + +# delete the old .log file unless we run in the background +if test "$deletelog" = yes +then + if test "$jid" + then + /bin/rm $jid.log 2>/dev/null + fi +else + echo + echo running the job in the background, see $jid.log + echo +fi + +# +# check if this is an autoforge or rezoning or radiation job +# +if test $nprocd -eq 1 -a "$jid" + +then + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^autoforge"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^rezoning"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^radiation"` + if test "$line" + then + autoforge=1 + fi +fi +# +# check that jobname for restarted run is not the same +# as restart file basename +# +if test "$rid" +then + if test "$jid" = "$rid" + then + echo " " + echo "ERROR: job name of current run is the same as job name" + echo " of the restarted job" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "ERROR: job name of current run is the same as job name" >> $jid.log + echo " of the restarted job" >> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi +fi + +# +# user objects/libraries used +# + + if test "$objs" + then + program="$DIRJOB/$jid.marc" + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# user subroutine used +# +# add DAMASK options for linking + DAMASK="-lstdc++" + + if test "$user" + then + program=$usernoext.marc + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# Special case for IBM using POE but not an SP machine +# in this case we always need a host file, also for serial jobs. +# +if test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP +then + MP_HOSTFILE=${jid}.host + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $nprocd -gt 1 + then + numdom=$nprocd + while test $numdom -gt 0 + do + hostname -s >> $MP_HOSTFILE + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + else + hostname -s > $MP_HOSTFILE + fi +fi +# +# check ssh for all hosts in host file +# +if test $nprocd -gt 1 +then +if test $MPITYPE = "intelmpi" -a "$INTELMPI_VERSION" = "HYDRA" + then +# get host list + if test "$host" + then + line=`grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' | uniq` +# count failing hosts + counter=0 + for i in $line + do + $RSH -o BatchMode=yes -o ConnectTimeout=10 $i uname -n + status=$? + if [[ $status != 0 ]] ; then + counter=$((counter+1)) + if [ "$counter" = "1" ]; then + echo " " + echo " error - connection test failed... " + echo " " + fi + echo " " + echo " connection test with ssh failed on host $i" + echo " check the following command: ssh $i uname -n " + echo " " + fi + done +# echo error message and quit + if test $counter -ne 0 + then + echo " " + echo " A parallel job using IntelMPI cannot be started. " + echo " The ssh command must be working correctly between " + echo " the computers used in the analysis. Furthermore, " + echo " it must be set up such that it does not prompt the " + echo " user for a password. " + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo " A parallel job using IntelMPI cannot be started. ">> $jid.log + echo " The ssh command must be working correctly between ">> $jid.log + echo " the computers used in the analysis. Furthermore, ">> $jid.log + echo " it must be set up such that it does not prompt the ">> $jid.log + echo " user for a password. ">> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi +fi +fi +# +# check correctness of host file; fix for user sub +# + if test $nprocd -gt 1 + then + +# construct the path name to the executable (execpath) + execpath=$MARC_BIN/$exefile + usersub=0 + if test $program = $prog.marc + then + execpath=$prog.marc + usersub=1 + fi + if test "$objs" + then + execpath="$DIRJOB/$jid.marc" + usersub=1 + fi + if test "$user" + then + execpath=$usernoext.marc + usersub=1 + fi + export execpath + execname=`$BASENAME $execpath` + + if test "$host" + then + userhost=$host + case $userhost in + \/* | \.\/*) + ;; + *) + userhost=`pwd`/$userhost + ;; + esac + +# check that the number of processes specified in the hostfile is +# equal to nprocd specified by -nprocd. + numproc=`grep -v '^#' $host | $AWK -v sum=0 '{sum=sum+$2}; END {print sum}'` + if test $nprocd -ne $numproc + then + echo " " + echo "error, the number of processes specified in the host file" + echo "must be equal to the number of processes given by -nprocd/-nsolver" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, the number of processes specified in the host file" >> $jid.log + echo "must be equal to the number of processes given by -nprocd/-nsolver" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + +# check for Myrinet that the number of processes per host is +# less than number of available user ports, 5 +# .gmpi directory must exist in user's home directory +# and must have write permission from remote hosts + if test $MPITYPE = "myrinet" + then + numproc=`grep -v '^#' $host | $AWK -v sum=1 '{if( $2 > 5) sum=6}; END {print sum}'` + if test $numproc -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes specified " + echo "in the hostfile must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes specified " >> $jid.log + echo "in the hostfile must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + if test ! -d ~/.gmpi + then + echo " " + echo "error, for Myrinet a .gmpi directory must exist " + echo "under the user's home directory" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a .gmpi directory must exist " >> $jid.log + echo "under the user's home directory" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + homedir=`echo ~` + for i in `grep -v '^#' $host | $AWK '{if (NF > 0) print $1}'` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + $RSH $i /bin/touch $homedir/.gmpi/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + echo " " + echo "error, for Myrinet a shared .gmpi directory must exist " + echo "under the user's home directory " + echo "with remote write permission" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a shared .gmpi directory must exist " >> $jid.log + echo "under the user's home directory " >> $jid.log + echo "with remote write permission" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + else + /bin/rm tmp.$$ + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + fi + fi + done + fi + fi + +# construct the host file $jid.host which is used by mpirun +# skip lines starting with # and only consider lines with more than +# one word in them. Note that the hostfile given to this script +# has two columns: the host name and the number of shared processes +# to run on this host. mpirun wants the number of _other_ +# processes to run in addition to the one being run on the machine +# on which the job is started. hence the $2-1 for fnr == 1. + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then +# HPMPI or HP hardware MPI + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ + -v mpihpspecial="$MPIHPSPECIAL" \ +'{if ( NF > 0) {\ + fnr++ ; \ + printf("-h %s -np %s",$1,$2); \ + printf(" %s",mpihpspecial); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF >= 3 ) printf(" -e MPI_WORKDIR=%s", $3);\ + if ( NF >= 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) \ + }\ + }' > $jid.host +# end HPMPI or HP hardware MPI + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then +# IBM using hardware MPI (POE) + MP_HOSTFILE=$jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.host +# end IBM using hardware MPI (POE) +# for Intel MPI, need to create a machinefile for DMP + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then +# Intel MPI + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + /bin/cp $host $jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Intel MPI for DMP +# for Solaris HPC 7.1, need to create a machinefile for DMP + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then +# Solaris HPC 7.1 + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Solaris HPC 7.1 for DMP +# for Myrinet, construct a configuration file in ~/.gmpi +# this must be readable by each process +# format is (hostname) (port number) for each process + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + grep -v '^#' $host | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ +{if ( NF > 0 ) \ + for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc]); \ +}' >> ~/.gmpi/$jid.host + else +# this is for mpich-1.2.5 and later, using the -pg option +# format: host nproc executable user arguments +# the arguments are added later + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub -v user=`whoami` \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s %s\n",path,user);\ + if ( NF == 3 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s %s\n",path,user) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s/bin/%s %s\n",$4,en,user) \ + }\ + }' > $jid.host + fi +# end Myrinet + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then +# Compaq MPI via Memory Channel + grep -v '^#' $host | $AWK '{if (NF > 0) print $1}' > $jid.host +# end Compaq MPI + else +# MPICH + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF == 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s/bin/%s\n",$4,en) \ + }\ + }' > $jid.host + fi +# define the variable host and host_filt +# host_filt is used for loops over hosts +# for Myrinet we need to use a filtered variant of userhost +# for others we can use $host + if test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + host=~/.gmpi/$jid.host + host_filt=$jid.host_tMp + grep -v '^#' $userhost | $AWK '{if (NF > 0) print $1}' > $host_filt + else + host=$jid.host + host_filt=$host + fi + else + host=$jid.host + host_filt=$host + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + host_filt=$jid.mfile + fi + fi +# figure out if the machines in the hostfile are nfs mounted +# or distributed and set the variable "dirstatus" accordingly. +# only perform the check if user subroutine is used +# or a user subroutine executable is used + + numfield=1 + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + numfield=2 + fi + DIR1=$DIRJOB + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + counter=0 + echo " " + echo "checking if local or shared directories for host" + if test "$deletelog" = no + then + echo "checking if local or shared directories for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + dirstatus[$counter]="shared" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + $RSH $i /bin/touch $DIR1/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + dirstatus[$counter]="local" + /bin/rm tmp.$$ + else + if test ! -f $jid.$$ + then + dirstatus[$counter]="local" + $RSH $i /bin/rm $DIR1/$jid.$$ + else + /bin/rm $jid.$$ + fi + fi + if test -f tmp.$$ + then + /bin/rm tmp.$$ + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + echo " ${dirstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${dirstatus[$counter]}" >> $jid.log + fi + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + fi + +# figure out if this is a compatible set of machines +# unless explicitly specified with flag -comp +# only perform the check if user subroutine is used +# or a user subroutine executable is used +# Myrinet does not support heterogeneous + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + if test $compatible = "unknown" + then + thisname=$ARCH + compatible=yes + counter=0 + echo "checking if machines are compatible for host" + if test "$deletelog" = no + then + echo "checking if machines are compatible for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]="yes" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + othername=`$RSH $i uname -a | cut -f 1 -d " "` + if test $thisname != $othername + then + compatible=no + compstatus[$counter]="no" + fi + fi + echo " ${compstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${compstatus[$counter]}" >> $jid.log + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + else + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]=$compatible + fi + done + if test $compatible = "no" + then + echo "all machines assumed incompatible" + if test "$deletelog" = no + then + echo "all machines assumed incompatible" >> $jid.log + fi + else + echo "all machines compatible" + if test "$deletelog" = no + then + echo "all machines compatible" >> $jid.log + fi + fi + fi +# error out if user objects or libraries are used on incompatible machines + if test "$compatible" = "no" -a -n "$objs" + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" + if test "$deletelog" = no + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" >> $jid.log + fi + exit 1 + fi +# modify new host file if NFS mounted heterogeneous machine + doit= + if test $program = $prog.marc + then + doit=yes + fi + if test "$user" + then + doit=yes + fi + if test "$doit" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + $AWK -v hst=$i '{fnr++ ; \ +if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ +printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} + /bin/mv $jid.host{$$} $jid.host + host=$jid.host + fi + fi + done + fi + fi # if test $program = $prog.marc -o $user -o $obj + + else # if test $host + # assume shared memory machine if no hostfile given and + # MPITYPE is set to mpich or Myrinet + # check for Myrinet that the total number of processes is + # less than number of available user ports, 5 + if test $MPITYPE = "mpich" -o $MPITYPE = "scali" + then + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + host=$jid.host + elif test $MPITYPE = "myrinet" + then + if test $nprocd -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes " + echo "must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes " >> $jid.log + echo "must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + echo `hostname` $nprocd | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ + {for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc])} \ +' >> ~/.gmpi/$jid.host + host=~/.gmpi/$jid.host + else + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + + fi + fi # if test myrinet + + fi # if test $host + + fi # if test $nprocd -gt 1 + +fi # if test $program = $exefile -o $program = $prog.marc + +############################################################################## +# construct run stream (Marc only) # +############################################################################## + +# set maximum message length for ddm to a large number +# for vendor provided mpi +if test $itree -eq 0 -a $MPITYPE = hardware +then + itree=100000000 + if test $MACHINENAME = SGI + then + itree=100000001 + fi +fi +if test $itree -eq 0 -a $MPITYPE = hpmpi +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = myrinet +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = nec +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = scali +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = intelmpi +then + itree=100000000 +fi +if test $nprocdddm -lt 2 +then + nprocdarg= +else + nprocdarg="$nprocdarg $nprocdddm" +fi +if test $nsolver -eq 0 +then + nsolverarg= +else + nsolverarg="$nsolverarg $nsolver" +fi +if test $nprocdddm -lt 2 -a $nsolver -eq 0 +then +nprocd=0 +fi +if test $nprocd -gt 0 +then + if test "$host" + then + if test -z "$RUN_JOB2" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $host -- -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then + RUN_JOB="$RUN_JOB2 $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB_TMP="$RUN_JOB2 $host $bd$program" + RUN_JOB=" -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $nprocd -hf $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + numhost=`uniq $jid.mfile | wc -l` + if test "$INTELMPI_VERSION" = "HYDRA" + then + RUN_JOB_TMP="$RUN_JOB2 -configfile $jid.cfile" + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n $numhost -r $RSH -f $jid.mfile + RUN_JOB_TMP="$RUN_JOB2 $jid.cfile" + fi + +# intelmpi uses configfile. format: +# -host host1 -n n1 executable marcargs +# one such line per host +# collect the marcargs in RUN_JOB and construct the config file later +# collect the run stream in RUN_JOB_TMP + RUN_JOB="-jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + + + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then + RUN_JOB="$RUN_JOB2 $jid.mfile -n $nprocd $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test "$userhost" + then + RUN_JOB="$RUN_JOB -mhost $userhost" + fi + if test $MPITYPE = "scali" + then +# set default working directory to /tmp to allow +# different directory names + SCAMPI_WORKING_DIRECTORY=/tmp + export SCAMPI_WORKING_DIRECTORY + fi + else + if test -z "$RUN_JOB1" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + RUNNPROCD=$nprocd + if test $MACHINENAME = "IBM" -a $MPITYPE = "hardware" + then + RUNNPROCD= + MP_PROCS=$nprocd + export MP_PROCS + fi + if test $MPITYPE = "myrinet" + then + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + echo " " > /dev/null + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n 1 -f $jid.hosts + fi + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + fi +else + if test $ndcoup -gt 0 + then + RUN_JOB="$RUN_JOB0 $BINDIR/exe_auto $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else +# this is for a serial job without auto restart: + RUN_JOB="$RUN_JOB0 $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi +fi +if test "$rid" +then + RUN_JOB="$RUN_JOB -rid $rid -dirrid $DIRRID" +fi +if test "$pid" +then + RUN_JOB="$RUN_JOB -pid $pid -dirpid $DIRPID" +fi +if test "$sid" +then + RUN_JOB="$RUN_JOB -sid $sid -dirsid $DIRSID" +fi +if test "$did" +then + RUN_JOB="$RUN_JOB -def $did -dirdid $DIRDID" +fi +if test "$vid" +then + RUN_JOB="$RUN_JOB -vf $vid -dirvid $DIRVID" +fi +if test $ndcoup -gt 0 +then + RUN_JOB="$RUN_JOB -dcoup $ndcoup " +fi +if test $ndytran -gt 0 +then + RUN_JOB="$RUN_JOB -dytran $ndytran " +fi +if test $mesh -gt 0 +then + RUN_JOB="$RUN_JOB -me $mesh " +fi +if test $noutcore -gt 0 +then + RUN_JOB="$RUN_JOB -outcore $noutcore " +fi +if test "$dllrun" -gt 0 +then + RUN_JOB="$RUN_JOB -dll $dllrun " +fi +if test "$trkrun" -gt 0 +then + RUN_JOB="$RUN_JOB -trk $trkrun " +fi +if test "$iam" +then + RUN_JOB="$RUN_JOB -iam $iam " +fi +if test "$justlist" +then + RUN_JOB="$RUN_JOB -list 1 " +fi +if test "$feature" +then + RUN_JOB="$RUN_JOB -feature $feature " +fi +if test "$memlimit" -ne 0 +then + RUN_JOB="$RUN_JOB -ml $memlimit " +fi +if test "$cpinput" +then + RUN_JOB="$RUN_JOB -ci $cpinput " +fi +if test "$cpresults" +then + RUN_JOB="$RUN_JOB -cr $cpresults " +fi +if test "$DIRSCR" != "$DIRJOB" +then + RUN_JOB="$RUN_JOB -dirscr $DIRSCR" +else + DIRSCR=$DIRJOB +fi +if test "$makebdf" +then + RUN_JOB="$RUN_JOB -bdf $makebdf " +fi +if test $MPITYPE = "myrinet" -a "$host" -a "$MPIVERSION" != "MPICH-GM1.2.1..7" +then + # append $RUN_JOB to all lines of the host file + # and set RUN_JOB + $AWK -v args="$RUN_JOB" '{print $0,args}' $host > $host.$$ + /bin/mv $host.$$ $host + RUN_JOB=$RUN_JOB_TMP +fi +if test $MPITYPE = "intelmpi" -a "$host" +then + # construct config file, append $RUN_JOB to all lines of the config file + # and set RUN_JOB + if test "$INTELMPI_VERSION" = "HYDRA" + then + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf(" -host %s",$1); \ + printf(" -n %s",$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + else + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf("-host %s -n %s",$1,$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + fi + RUN_JOB=$RUN_JOB_TMP +fi +echo " " +echo "Final run stream value" +echo " RUNJOB="$RUN_JOB +if test "$deletelog" = no +then +echo " " >> $jid.log +echo "Final run stream value" >> $jid.log +echo " RUNJOB="$RUN_JOB >> $jid.log +fi + + +# +# check for external file to run using valgrind +# +if test -f $MARC_TOOLS/run_marc_valgrind +then + . $MARC_TOOLS/run_marc_valgrind +fi + + +############################################################################## +# run the requested program in a queue # +############################################################################## + +if test "$deletelog" = yes +then + echo + date +else + echo >> $jid.log + date >> $jid.log +fi +if [ $qid = short -o $qid = long -o $qid = verylong -o $qid = at ] +then + +/bin/rm -f $jid.runmarcscript + + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + userobj=$usermoext.o + fi + cat > $jid.runmarcscript << END4 + if test "$user" + then + if test $MACHINENAME = "CRAY" + then + $DFORTLOWMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTLOWMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + $SOLVERLIBS \ + $MARCCUDALIBS \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } +END4 +else + prgsav=yes +fi +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null + +# +# run marc +# + +cat >> $jid.runmarcscript << END5 + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# first remove all .out files and incremental restart files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + /bin/rm $DIRJOB/$numdom${jid}_i_*.t08 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null + /bin/rm $DIRJOB/${jid}_i_*.t08 2>/dev/null +fi + +if test $nprocdddm -gt 1 +then + $RUN_JOB 2>>$jid.log +else + $RUN_JOB 2>>$jid.log +fi + +if test $dllrun -eq 0; then + if test $prgsav = no + then + /bin/rm -f $bd$program 2>/dev/null + fi +else + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes + then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +fi +END5 + + +# Submit to marc batch queue +# +if [ $qid = at ] +then +QUENAME=at +SUBMCMD= +else +# +# Submit to qsub queue +# +QUENAME=qsub +SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" +if test "$priority" +then + SUBMCMD=$SUBMCMD" -p $priority" +fi +if test "$att" +then + SUBMCMD=$SUBMCMD" -a $att" +fi +if test "$cpu" +then + SUBMCMD=$SUBMCMD" -lt $cpu" +fi + +fi +echo $QUENAME $SUBMCMD +#cat $jid.runmarcscript +$QUENAME $SUBMCMD < $jid.runmarcscript + +/bin/rm -f $jid.runmarcscript + +############################################################################## +# run the requested program in the background # +############################################################################## + +else +if test $qid = background +then + +# +# first remove all old .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi +# +# compile user subroutine if present +# +( +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_damask_lmp $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user on host $i" + echo " $PRODUCT Exit number 3" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user on host `hostname`" + fi + userobj=$usernoext.o + if test $MACHINENAME = "CRAY" + then + $DFORTLOWMP $user || \ + { + echo "$0: compile failed for $user" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTLOWMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + echo " $PRODUCT Exit number 3" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null + +# +# run marc + +# + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + +$RUN_JOB & + +marcpid=$! +echo $marcpid > $DIRJOB/$jid.pid +wait $marcpid + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + fi + fi + fi +fi + + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi +fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi +) 1>>$jid.log 2>&1 & + + +############################################################################## +# run the requested program in the foreground # +############################################################################## + +else + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_damask_lmp $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user on host $i" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user on host `hostname`" + fi + userobj=$usernoext.o + if test $MACHINENAME = "CRAY" + then + $DFORTLOWMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTLOWMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null +# done if no job id given +if test -z "$jid" +then + echo + echo only compilation requested + echo + exit +fi +# +# run marc +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi +# first remove all .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + $RUN_JOB + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + else + echo " " > /dev/null + fi + else + if test "$host" + then + mpdcleanup -a -f $jid.mfile + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.mfile 2> /dev/null + else + mpdcleanup -a -f $jid.hosts + /bin/rm $jid.hosts 2> /dev/null + fi + fi + fi +fi + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi +fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi + + +fi +fi diff --git a/installation/mods_MarcMentat/2020/Marc_tools/run_damask_mp b/installation/mods_MarcMentat/2020/Marc_tools/run_damask_mp new file mode 100644 index 000000000..2944bfe96 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Marc_tools/run_damask_mp @@ -0,0 +1,4130 @@ +#!/bin/ksh +############################################################################## +# # +# run_marc - run a marc job # +# ------------------------- # +# # +# usage: run_marc -j jid { options } # +# # +# where standard options are: required: defaults: # +# -------------------------- # +# # +# -j* jid job id number. ** YES ** . # +# -pr* prog program name. . marc # +# -v* y|n do or do not verify inputs. . yes # +# -q* s|l|v|b|f batch queue name or background, . short # +# foreground. # +# -b* as alternative to option -q* # +# # +# ( batch queues only : # +# -pq* intra queue priority. . . # +# -at DATE/TIME delay start of job. . . # +# format : January,1,1990,12:31 # +# or : today,5pm # +# -cpu* secs job CPU limit . . ) # +# # +# -r* rid restart file job id. . . # +# -si* sid substructure file id. . . # +# -pi* post post file job id. . . # +# -de* did defaults file . no # +# -vf vid viewfactor . no # +# # +# -u* user user subroutine. . . # +# -obj obj user objects or libraries. . . # +# -sa* y|n do or do not save load module. . no # +# -me manual remeshing control . no # +# -ml memory limit in Mbyte # +# -mo This option is deprecated. As of Marc 2015, only # +# the integer*8 version is available. # +# -mpi selects MPI version # +# each platform has a default MPI version and some # +# have an alternative version. see the include file # +# for the respective platform # +# MPI_DEFAULT defines the default MPI version # +# MPI_OTHER defines versions one can switch to # +# -dcoup for contact decoupling # +# currently not supported # +# -dir directory where the job i/o should take place. # +# defaults to current directory. # +# -sdir directory where scratch files are created # +# defaults to current directory. # +# # +# -alloc only perform memory allocation test, no analysis # +# -list y only list options in the input file, no analysis # +# -fe num set feature number "num" for the run. only one allowed # +# -dytran flag to switch from Dytran to Marc # +# dytran = 0, program will run w/o Marc-Dytran Switch # +# = 1, program will restart Marc after Dytran run # +# >= 2, Not supported yet. # +# currently not supported # +# -ou force analysis to use out-of-core control # +# =0, not used # +# =1, element storage out-of-core # +# -dll run marc using shared library libmarc.so and exe_marc # +# =1, used # +# =2, do not free streaming input memory # +# =3, run with marc input deck # +# -trk run marc for post-tracking # +# -gpuid run marc using GPGPU capability # +# specify gpuid on to be used in the analysis. Multiple # +# IDs may be assigned for DDM runs. # +# Separate a list of IDs with a colon. Each DMP # +# process will be assigned a GPU ID in round robin fastion# +# = 0 # +# = 0:1 etc... # +# # +# where parallel options are: # +# -------------------------- # +# # +# itree, host, and comp options are available for the domain # +# decomposition only. # +# MARC_NUMBER_OF_THREADS, nthread, and dir options always available. # +# # +# # +# -nprocd number of domains. # +# defaults to single domain solution. # +# -nprocds number of domains if single input file. # +# defaults to single domain solution. # +# -nps same as -nprocds. # +# -nsolver number of solver tasks for solver types 12 and 13 # +# these are distributed tasks operating via MPI # +# -nthread_elem number of threads for element assembly and recovery # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by element assembly # +# recovery. # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_elem option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_elem specified. # +# -nthread_solver number of threads for solver types 6, 8, and 11 # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by 6, 8, and 11 # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_solver option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_solver specified. # +# -nthread Same as -nthread_solver. # +# -itree message passing tree type for domain decomposition. # +# for debugging purposes; should not normally be used. # +# -host hostfile name for distributed execution on network. # +# defaults to no hostfile, unless jobid.defhost exists. # +# if jobid.defhost exists, only -np(s) necessary # +# -comp* y|n to be used with user routines on a network of # +# incompatible machines. # +# if set to no, a separate executable will be created # +# for each machine on the network. # +# if set to yes, the executable located on the machine # +# from which marc is started will be used on all machines.# +# defaults to no if O/S versions different on machines. # +# # +# -ci y|n copy input files to remote hosts (default: yes) # +# if "yes", input files are automatically copied to # +# remote hosts for a network run if necessary. # +# -cr y|n copy post files from remote hosts (default: yes) # +# if "yes", post files are automatically copied back from # +# remote hosts for a network run if necessary. # +############################################################################## +# set DIR to the directory in which this script is +REALCOM="`/bin/ls -l $0 |awk '{ print $NF; }'`" +DIR=`dirname $REALCOM` +# make sure DIR has an absolute path +case $DIR in + \/*) + ;; + *) + DIR=`pwd`/$DIR + ;; +esac +DIRSCRIPT=$DIR +AWK=awk +ARCH=`uname -a | cut -f 1 -d " "` +# Sun has a bad awk, use nawk instead +if test $ARCH = "SunOS" +then + AWK=nawk +fi +BASENAME=basename +# Sun has an incorrect /bin/basename, check if /usr/ucb/basename exists +if test $ARCH = "SunOS" +then + if test -x /usr/ucb/basename + then + BASENAME=/usr/ucb/basename + fi +fi + +# echo command line in the case of ECHO_COMMAND is true +if test "$ECHO_COMMAND" = true ; then + echo command "$0" "$@" +fi + +# +# "mode" selects version, i4 or i8 +# default is i4 +# this can be changed by a file run_marc_defaults +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MODE i8 +# it can also be set by the environmental variable MARC_INTEGER_SIZE +# and by the command line option "-mo" +# +mode= +modeerror= +modeoption= +if test -f $DIRSCRIPT/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $DIRSCRIPT/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -f $HOME/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $HOME/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $HOME/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -n "$MARC_INTEGER_SIZE" ; then + mode=$MARC_INTEGER_SIZE +fi +if test -z "$mode" ; then + mode=i8 +fi +case $mode in + i4) + modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + modeoption=error + echo $modeerror + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo "bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + exit + ;; +esac + +setmode=false +for arg in $* ; do + if $setmode ; then + mode=$arg + case $mode in + i4) + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo " " + echo "error, version mode must be i8" + echo " " + echo " use -mo i8 " + echo " " + exit + ;; + esac + setmode=false + fi + if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then + echo + echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available + echo + setmode=true + fi + if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + fi + if [ ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + fi +done + +# set to i4 version for 32 bit Linux +if test "`uname -s`" = "Linux"; then + if test "`uname -m`" = "i686"; then + mode=i4 + MARC_INTEGER_SIZE=i4 + export MARC_INTEGER_SIZE + fi +fi + + +. "$DIR/getarch" + + +# getting user subroutine file name +found=0 +for i in "$@"; do + if test $found = 1; then + DAMASK_USER=$i + found=0 + fi + case $i in + -u* | -U*) + found=1 + ;; + esac +done +# sourcing include_linux64 (needs DAMASK_USER to be set) +. $MARC_INCLUDE + +# + +# +# Dynamically determine the echo syntax +# + +case "`echo '\c'`" in + '\c') + ECHO='echo -n' + ECHOTXT=' ' + ;; + *) + ECHO='echo' + ECHOTXT=' \c' + ;; +esac + +# +# Variables for the MARC environment +# + +PRODUCT="Marc" +EXITMSG=$MARC_TOOLS/MESSAGES +export EXITMSG +FLEXDIR=$DIR/../flexlm/licenses +export FLEXDIR +TIMCHK=3600 +export TIMCHK +BINDIR=$MARC_BIN +export BINDIR +AFMATDAT=$MARC_RUNTIME/AF_flowmat/ +export AFMATDAT +export MESHERDIR +MSC_LICENSE_FINPROC=0 +export MSC_LICENSE_FINPROC +# +# define directory path to global unified material database +# +MATFILE= +export MATFILE + +# +# define memory limit +# first set to MEMLIMIT from include +# -ml option overrules if specified +memlimit=$MEMLIMIT +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +# +if test $MACHINENAME = "HP" +then + SHLIB_PATH=$MARC_LIB:$MARC_LIB_SHARED:$SHLIB_PATH + export SHLIB_PATH +fi +# the one for IBM is defined futher down + +LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH:$SFMATDIR +if test -f "/etc/redhat-release"; then + ver=`cat /etc/redhat-release | sed 's/.* release \([0-9]\).\([0-9]\+\) .*/\1\2/'` + case "$ver" in + 6*) LD_LIBRARY_PATH="${MARC_LIB_SHARED}rh67:$LD_LIBRARY_PATH" ;; + esac +fi +LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$LD_LIBRARY_PATH +LD_LIBRARY64_PATH=$MARC_LIB:$LD_LIBRARY64_PATH +LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH +export LD_LIBRARY_PATH +export LD_LIBRARY64_PATH +export LD_LIBRARYN32_PATH + +atexit() { +kill -15 $$ +# +if test $MPITYPE = "myrinet" +then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi +fi +} + +trap "atexit" 2 + +# +# defaults +# + +prog=marc +exefile=marc +jid= +rid= +pid= +sid= +did= +vid= +user= +usernoext= +objs= +qid=background +cpu= +priority= +att= +trk= +verify=yes +prgsav=no +rmdll=no +cpdll=no +progdll= +pathdll= +error= +nprocd=0 +nprocdddm=1 +nprocdddmprint= +icreated=0 +nprocdarg= +nsolver=0 +nsolverarg=-ns +if test $nprocds +then + if test $nprocds -gt 1 + then + nprocdddm=$nprocds + nprocdddmprint=$nprocds + icreated=1 + nprocdarg=-nprocds + fi +fi +ntprint=0 +nt=-1 +nte=-1 +nts=-1 +ntarg=-nt +ntearg=-nte +ntsarg=-nts +nteprint= +ntsprint= +oversubscribe=false +gpuids= +nauto= +ndcoup=0 +ndytran=0 +noutcore=0 +dllrun=0 +mesh=0 +itree=0 +iam= +ddm_arc=0 +link= +trkrun=0 +DIRJOB=`pwd` +DIRSCR=$DIRJOB +DIRSCRSET= +autoforge=0 +dotdat=.dat +dotdefhost=.defhost +host= +numhost= +mfile= +userhost= +makebdf= +cpinput=yes +cpresults=yes +marcdll=libmarc.$EXT_DLL +# define hostname and strip off extensions (alpha.aaa.com) +thishost=`hostname` +thishost=${thishost%%.*} +compatible=unknown +numfield=1 +justlist= +feature= +mpioption=false +iprintsimufact= +SRCLIB=$MARC_LIB/srclib.a +MDSRCLIB=$MARC_LIB/mdsrc.a +# +# check run_marc_defaults file for default MPI setting +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MPI +# +value= +file= +if test -f $DIRSCRIPT/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $DIRSCRIPT/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$DIRSCRIPT/run_marc_defaults + fi +fi +if test -f $HOME/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $HOME/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$HOME/run_marc_defaults + fi +fi +if test -n "$value"; then + MARC_MPITYPE=$value + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + echo " " + echo " error, incorrect option for MARC_MPI" + echo " defined in $file: $MARC_MPITYPE" + echo " valid options: $MPI_OTHER $MPI_DEFAULT" + echo " " + exit + fi + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + fi +fi +# +# +# allow scratch directory to be specified with environmental variable +# MARCSCRATCH +if test $MARCSCRATCH +then + if test -d $MARCSCRATCH + then + DIRSCR=$MARCSCRATCH + else + echo "error, scratch directory '$MARCSCRATCH'" + echo " specified via environmental variable MARCSCRATCH does not exist" + exit + fi +fi +# +############################################################################## +# parse input - arguments always come in pairs # +############################################################################## + +arg=$1 +if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + shift + arg=$1 +fi +while [ -n "$arg" ] +do + shift + value=$1 + case $arg in + -al* | -AL*) + LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + $MARC_BIN/marc -alloc 1 + exit + ;; + -li* | -LI*) + justlist=yes + ;; + -fe* | -FE*) + feature=$value + + ;; + -pr* | -PR*) + if test `dirname $value` = '.' + then + prog=`$BASENAME $value .marc` + progdll=`$BASENAME $value` + else + prog=`dirname $value`/`$BASENAME $value .marc` + progdll=`dirname $value`/`$BASENAME $value` + fi + prdir=`dirname $value` + case $prdir in + \/*) + ;; + *) + prog=`pwd`/$prdir/$prog + ;; + esac + ;; + -j* | -J*) + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + ;; + -r* | -R*) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + -si* | -SI*) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + -pi* | -PI*) + if test -f $value.t19 + then + pid=`$BASENAME $value .t19` + else + pid=`$BASENAME $value .t16` + fi + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + -bdf | -BDF) + makebdf=1 + ;; + -de* | -DE*) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + -vf | -VF) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + -u* | -U*) + user=$value + case $user in + \/*) + ;; + *) + user=`pwd`/$user + ;; + esac + usernoext=$user + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + ;; + -obj | -OBJ) + objs="$value" + ;; + -q* | -Q*) + qid=$value + ;; + -b* | -B*) + case $value in + y* | Y*) + qid=background + ;; + n* | N*) + qid=foreground + ;; + *) + ;; + esac + ;; + -at | -AT) + att=$value + ;; + -cpu* | -CPU*) + cpu=$value + ;; + -pq | -PQ*) + priority=$value + ;; + -v* | -V*) + verify=$value + ;; + -sa* | -SA*) + prgsav=$value + ;; + -np* | -NP*) + nprocdddm=$value + nprocdddmprint=$value + case $arg in + -nps* | -NPS* | -nprocds* | -NPROCDS*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + case $arg in + -np | -NP | -nprocd | -NPROCD) + icreated=0 + nprocdarg=-nprocd + ;; + esac + ;; + -ns* | -NS*) + nsolver=$value + ;; + -nt* | -NT*) + case $arg in + -nte | -NTE | -nthread_e* | -NTHREAD_E*) + nte=$value + ;; + esac + case $arg in + -nts | -NTS | -nthread_s* | -NTHREAD_S*) + nts=$value + ;; + esac + case $arg in + -nt | -NT | -nth* | -NTH* | -nthread* | -NTHREAD*) + nt=$value + ;; + esac + ;; + -gp* | -GP*) + gpuids=$value + ;; + -it* | -IT*) + itree=$value + ;; + -iam | -IAM) + iam=$value + case $value in + sfg | sfm | sim) + iprintsimufact=true + ;; + esac + ;; + -au* | -AU*) + nauto=$value + echo + echo warning: the option -au is no longer supported and will be ignored + echo + ;; + -dc* | -DC*) + ndcoup=$value + ;; + -dy* | -DY*) + ndytran=$value + ;; + -ou* | -OU*) + noutcore=$value + ;; + -dll | -DLL) + dllrun=$value + ;; + -trk | -TRK) + trkrun=$value + ;; + -ddm | -DDM) + ddm_arc=$value + ;; + -me | -ME ) + mesh=$value + ;; + -ml | -ML ) + memlimit=$value + ;; + -mo | -MO ) + ;; + -mpi | -MPI ) + mpioption=true + MARC_MPITYPE=$value + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + else + exefile=marc + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a" + fi + fi + ;; + -dir* | -DIR*) + DIRJOB=$value + case $DIRJOB in + \/*) + ;; + *) + DIRJOB=`pwd`/$DIRJOB + ;; + esac + if test -z "$DIRSCRSET" + then + DIRSCR=$DIRJOB + fi + ;; + -sd* | -SD*) + DIRSCR=$value + DIRSCRSET=yes + case $DIRSCR in + \/*) + ;; + *) + DIRSCR=`pwd`/$DIRSCR + ;; + esac + ;; + -ho* | -HO*) + host=$value + ;; + -co* | -CO*) + compatible=$value + ;; + -ci* | -CI*) + cpinput=$value + ;; + -cr* | -CR*) + cpresults=$value + ;; + *) + error="$error +$arg: invalid option" + break + ;; + esac + case $value in + -*) + error="$error +$arg: invalid name $value" + break + ;; + esac + shift + arg=$1 + if [ ${arg}X = -i8X -o ${arg}X = -I8X -o ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + shift + arg=$1 + fi +done +argc=`expr $# % 2` +if test $argc -eq 1 +then +# +# odd number of arguments +# + error="$error +argument list incomplete" +fi + +if test $nprocdddm -gt 0 +then +nprocd=$nprocdddm +fi + +if test $nsolver -gt 0 +then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi +fi + +# oversubscribe case +if test $nprocd -gt $(/usr/bin/nproc); then + if test "$ALLOWMPIOVERSUBSCRIBE" != "true"; then + error="$error + The requested number of domains ($nprocd) is larger than the number + of processors ($(/usr/bin/nproc)). As such an oversubscription may result in + very poor performance, the analysis will not be started. + Running an analysis in case of oversubscription can be forced + by defining an environment variable \"ALLOWMPIOVERSUBSCRIBE\" + with the value \"true\"." + oversubscribe=true + fi +fi + +# Set defaults +if test $nt -eq -1 +then +nt=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nt -lt 0 +then +nt=0 +fi +if test $nte -eq -1 +then +nte=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nte -lt 0 +then +nte=0 +fi +if test $nts -eq -1 +then +nts=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nts -lt 0 +then +nts=0 +fi +# +# set number of element loop threads +# +ntprint=$nt +nteprint=$nte +# copy from -nprocd[s] +if test $nprocdddm -gt 1 +then + nteprint=$nprocdddm +fi +# override with -nthread_elem option +if test $nte -ne 0 +then +nteprint=$nte +fi +# check for minimum 1 threads per processes for DDM +if test $nprocdddm -gt 1 +then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi +fi +nte=$nteprint +# +# set number of Solver threads +# +ntsprint=$nts +# copy from -nthread or -nprocd[s] +if test $ntprint -ne 0 +then + ntsprint=$ntprint +else + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +fi +# override with -nthread_solver option +if test $nts -ne 0 +then + ntsprint=$nts +fi +# check for minimum 1 threads per solver process. +if test $nsolver -lt $nprocdddm +then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi +else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi +fi +if test $ntsprint -eq 1 +then + set ntsprint=0 +fi +nts=$ntsprint + +# set stack size for multi-threading. +export KMP_MONITOR_STACKSIZE=7M +export OMP_STACKSIZE=7M + +# +# deprecate -nthread option at arugment of marc +nt=0 +# Reset nprocdddmm, nsolver and threads if not given. +if test $nprocdddm -eq 0 +then + nprocdarg= +fi +if test $nprocdddm -eq 0 +then + nprocdddmprint= +fi +if test $nprocdddm -eq 0 +then + nprocdddm= +fi + +nsolverprint=$nsolver +if test $nsolver -eq 0 +then + nsolverprint= +fi +# end of threads setting. +gpuoption= +if test "$gpuids" = "" ; then + gpuoption= +else + gpuoption="-gp $gpuids" +fi + +if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH +else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH +fi +# Linux 64 + HPMPI, Below code is taken from include_linux64 +if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" +then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" +fi +if test "$iam" = sim ; then + SFLIB="-L$SFMATDIR -lMBA_Grain" +fi + +if test $nprocd -gt 1; then + if test -f $jid$dotdefhost; then + if test "$host" = ""; then + host=$jid$dotdefhost + fi + fi + if test -f hostfile_qa_$nprocd; then + if test "$host" = ""; then + host=hostfile_qa_$nprocd + fi + fi +fi + +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$dllrun" -eq 1 || test "$dllrun" -eq 2; then + dotdat=.inp + fi + + if test "$progdll"; then + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + rmdll=yes + pathdll=yes + progdll=${progdll}_$marcdll + else + progdll=$marcdll + fi + + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + pathdll=yes + fi +fi + +############################################################################## +# check parameter validity # +############################################################################## + +while test forever; do + +# +# check for input file existence +# +if test $nprocdddm -gt 1 -a $icreated -eq 0; then + if test ! -f $DIRJID/1$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/1$jid$dotdat not accessible" + fi + fi +else + if test ! -f $DIRJID/$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/$jid$dotdat not accessible" + fi + fi +fi + if test $nprocd -gt 1; then + if test "$host" ; then + if test ! -f $host; then + error="$error +host name file $host not accessible" + fi + fi + fi + +# +# check if the job is already running in the background +# +if test -f $DIRJOB/$jid.pid; then + error="$error +job is already running (the file $jid.pid exists)" +fi + +# +# if the program name is other than marc, then +# assume that this is a program in the users local directory +# + +bd=$MARC_BIN/ + +case $prog in + marc | MARC | $exefile) + program=$exefile + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 or $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + if test ! -f $user + then + error="$error +user subroutine file $user not accessible" + fi + fi + if test "$objs" + then + missingobjs= + for o in $objs + do + if test ! -f "$o" + then + if test -z "$missingobjs" + then + missingobjs="$o" + else + missingobjs="$missingobjs $o" + fi + fi + done + if test -n "$missingobjs" + then + error="$error +user object/library file(s) $missingobjs not accessible" + fi + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$vid" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRVID/1$vid.vfs + then + error="$error +view factor file $DIRVID/1$vid.vfs not accessible" + fi + else + if test ! -f $DIRVID/$vid.vfs + then + error="$error +view factor file $DIRVID/$vid.vfs not accessible" + fi + fi + fi + if $mpioption + then + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER $MPI_DEFAULT)" + fi + fi + ;; + *) + program=$prog.marc + case $prog in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 and $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + error="$error +program option may not be used with user subroutine" + fi + if test "$objs" + then + error="$error +program option may not be used with user objects or libraries" + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$ndcoup" + then + if test $ndcoup -gt 3 + then + error="$error +incorrect option for contact decoupling " + fi + fi + if test "$ndytran" + then + if test $ndytran -gt 1 + then + error="$error +incorrect option for Marc-Dytran Switch " + fi + fi + if $mpioption + then + if test ! -x $MARC_BIN/$exefile + then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE " + fi + fi + ;; +esac + +############################################################################## +# check argument integrity # +############################################################################## + +if test "$jid" +then + : +else + if test "$user" + then +# allow user sub without giving job id + qid=foreground + verify=no + else + error="$error +job id required" +fi +fi + +case $qid in + S* | s*) + qid=short + ;; + L* | l*) + qid=long + ;; + V* | v*) + qid=verylong + ;; + B* | b*) + qid=background + ;; + F* | f*) + qid=foreground + ;; + A* | a*) + qid=at + ;; + *) + error="$error +bad value for queue_id option" + ;; +esac + +case $prgsav in + N* | n*) + prgsav=no + ;; + Y* | y*) + prgsav=yes + ;; + *) + error="$error +bad value for save option" + ;; +esac + +case $verify in + N* | n*) + verify=no + ;; + Y* | y*) + verify=yes + ;; + *) + error="$error +bad value for verify option" + ;; +esac + +case $nprocdddm in + -* ) + error="$error +bad value for nprocd option" + ;; +esac + +case $nt in + -* ) + error="$error +bad value for nt option" + ;; +esac + +case $itree in + -* ) + error="$error +bad value for itree option" + ;; +esac +case $iam in + -* ) + error="$error +bad value for iam option" + ;; +esac +case $compatible in + N* | n*) + compatible=no + ;; + Y* | y*) + compatible=yes + ;; + unknown) + ;; + *) + error="$error +bad value for comp option" + ;; +esac +case $cpinput in + N* | n*) + cpinput=no + ;; + Y* | y*) + cpinput=yes + ;; + *) + error="$error +bad value for copy input option" + ;; +esac +case $cpresults in + N* | n*) + cpresults=no + ;; + Y* | y*) + cpresults=yes + ;; + *) + error="$error +bad value for copy results option" + ;; +esac + +# +# check for external file to run +# +if test -f $MARC_TOOLS/run_marc_check +then + . $MARC_TOOLS/run_marc_check +fi + +############################################################################## +# interact with the user to get the required information to run marc or # +# other marc system program # +############################################################################## + +deletelog=yes +if test $qid = background -a $verify = no +then +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $user +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint +GPGPU option : $gpuids +Host file name : $host" > $jid.log +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" >> $jid.log +fi +echo \ +"Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" >> $jid.log +deletelog=no +fi +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $user +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint" +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" +fi +echo \ +"GPGPU option : $gpuids +Host file name : $host +Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" + + +case $qid in + s* | S* | l* | L* | v* | V* ) + echo \ +"Queue priority : $priority +Queue CPU limit : $cpu +Queue start time : $att" + ;; +# * ) +# echo \ +#" " +# ;; +esac + +if test "$modeoption" +then + error=$modeerror +fi + +if test "$error" +then + if test $verify = yes + then + $ECHO "$error + +Please correct or quit(correct,quit,): $ECHOTXT" + error= + read answer + case $answer in + q* | Q*) + answer=quit + ;; + *) + answer=correct + ;; + esac + else + $ECHO "$error + $ECHOTXT" + echo " " + if test "$deletelog" = no + then + $ECHO "$error + $ECHOTXT" >> $jid.log + echo " " >> $jid.log + fi + answer=quit + fi +else + if test $verify = yes + then + $ECHO " +Are these parameters correct (yes,no,quit,)? $ECHOTXT" + read answer + case $answer in + q* | Q*) + answer=quit + ;; + y* | Y*) + answer=yes + ;; + *) + answer=no + ;; + esac + else + answer=yes + fi +fi + +case $answer in + no | correct) + +############################################################################## +# prompt for each value # +############################################################################## + + $ECHO " +Program name ($prog)? $ECHOTXT" + read value + if test "$value" + then + prog=$value + fi + $ECHO "Job ID ($jid)? $ECHOTXT" + read value + if test "$value" + then + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + fi + $ECHO "User subroutine name ($user)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + user= + ;; + *) + user=$value + case $user in + \/*) + ;; + *) + user=`pwd`/$user + ;; + esac + usernoext=$user + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for` + usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90` + ;; + esac + fi + $ECHO "User objects or libraries ($objs)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + objs= + ;; + *) + objs="$value" + ;; + esac + fi + $ECHO "Restart File Job ID ($rid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + rid= + ;; + *) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + esac + fi + $ECHO "Substructure File ID ($sid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + sid= + ;; + *) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + esac + fi + $ECHO "Post File Job ID ($pid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + pid= + ;; + *) + pid=$value + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + esac + fi + $ECHO "Defaults File ID ($did)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + did= + ;; + *) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + esac + fi + $ECHO "View Factor File ID ($vid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + vid= + ;; + *) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + esac + fi + $ECHO "Save generated module ($prgsav)? $ECHOTXT" + read value + if test "$value" + then + prgsav=$value + fi + $ECHO "Run on tasks ($nprocdddm) tasks? $ECHOTXT" + read value + if test "$value" + then + nprocdddm=$value + nprocdddmprint=$value + fi + $ECHO "Run on ($nte) Element loop threads ? $ECHOTXT" + read value + if test "$value" + then + nte=$value + fi + $ECHO "Run on ($nsolver) solvers ? $ECHOTXT" + read value + if test "$value" + then + nsolver=$value + fi + $ECHO "Run on ($nts) Solver threads ? $ECHOTXT" + read value + if test "$value" + then + nts=$value + fi +# + if test $nprocdddm -gt 0 + then + nprocd=$nprocdddm + fi + if test $nsolver -gt 0 + then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi + fi +# Element loop threads. + if test $nte -eq -1 + then + nte=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nte -lt 0 + then + nte=0 + fi + nteprint=$nte +# Copy from ddm + if test $nprocdddm -gt 1 + then + nteprint=$nprocdddm + fi +# override with -nthread_elem option + if test $nte -ne 0 + then + nteprint=$nte + fi +# check for minimum 1 threads per processes for DDM + if test $nprocdddm -ne 0 + then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi + fi + nte=$nteprint +# Solver threads. + if test $nts -eq -1 + then + nts=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nts -lt 0 + then + nts=0 + fi + ntsprint=$nts +# Copy from ddm + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +# override with -nthread_solver option + if test $nts -ne 0 + then + ntsprint=$nts + fi +# check for minimum 1 threads per solver process. + if test $nsolver -lt $nprocdddm + then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi + else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi + fi + if test $ntsprint -eq 1 + then + set ntsprint=0 + fi + nts=$ntsprint +# Update print variable for -nsolver option + nsolverprint=$nsolver + if test $nsolver -eq 0 + then + nsolverprint= + fi + $ECHO "GPGPU id option ($gpuids)? $ECHOTXT" + read value + if test "$value" + then + gpuids=$value + fi + if test "$gpuids" = "" ; then + gpuoption= + else + gpuoption="-gp $gpuids" + fi + if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH + fi + if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" + then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" + fi +# + if test $nprocd -gt 1 + then + $ECHO "Message passing type ($itree)? $ECHOTXT" + read value + if test "$value" + then + itree=$value + fi + $ECHO "Host file name ($host)? $ECHOTXT" + read value + if test "$value" + then + host=$value + fi + if test $nprocdddm -gt 1 + then + $ECHO "Single input file? $ECHOTXT" + read value + case $value in + y* | Y*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + $ECHO "Compatible machines for DDM ($compatible)? $ECHOTXT" + read value + if test "$value" + then + compatible=$value + fi + $ECHO "Copy input files to remote hosts ($cpinput)? $ECHOTXT" + read value + if test "$value" + then + cpinput=$value + fi + $ECHO "Copy post files from remote hosts ($cpresults)? $ECHOTXT" + read value + if test "$value" + then + cpresults=$value + fi + fi + fi + $ECHO "Run the job in the queue ($qid)? $ECHOTXT" + read value + if test "$value" + then + qid=$value + fi + case $qid in + s* | S* | l* | L* | v* | V* ) + $ECHO "Queue priority ($priority)? $ECHOTXT" + read value + if test "$value" + then + priority=$value + fi + $ECHO "Job starts at ($att)? $ECHOTXT" + read value + if test "$value" + then + att=$value + fi + $ECHO "Queue CPU limit ($cpu)? $ECHOTXT" + read value + if test "$value" + then + cpu=$value + fi + ;; + * ) + ;; + esac + $ECHO "Run directory ($DIRJOB)? $ECHOTXT" + read value + if test "$value" + then + DIRJOB=$value + DIRSCR=$DIRJOB + fi + $ECHO "Scratch directory ($DIRSCR)? $ECHOTXT" + read value + if test "$value" + then + DIRSCR=$value + fi + ;; + quit) + if test "$deletelog" = no -a $oversubscribe = true + then + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + ;; + *) + break + ;; + +esac + + if test $nt -eq -1 + then + nt=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nt -lt 0 + then + nt=0 + fi + +done +# +if test $nt -eq 0 +then + ntarg= +fi +if test $nt -eq 0 +then + ntprint= +fi +if test $nt -eq 0 +then + nt= +fi + +if test $nte -eq 0 +then + ntearg= +fi +if test $nte -eq 0 +then + nteprint= +fi +if test $nte -eq 0 +then + nte= +fi + +if test $nts -eq 0 +then + ntsarg= +fi +if test $nts -eq 0 +then + ntsprint= +fi +if test $nts -eq 0 +then + nts= +fi +# +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + pathdll=yes + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + fi + + if test "$pathdll"; then +# +# reset share lib path +# + if test $MACHINENAME = "HP" + then + SHLIB_PATH=$DIRJOB:$SHLIB_PATH + export SHLIB_PATH + fi + if test $MACHINENAME = "IBM" + then + LIBPATH=$DIRJOB:$LIBPATH + export LIBPATH + fi +# + LD_LIBRARY_PATH=$DIRJOB:$LD_LIBRARY_PATH + LD_LIBRARY64_PATH=$DIRJOB:$LD_LIBRARY64_PATH + LD_LIBRARYN32_PATH=$DIRJOB:$LD_LIBRARYN32_PATH + export LD_LIBRARY_PATH + export LD_LIBRARY64_PATH + export LD_LIBRARYN32_PATH + fi +fi +# end of dllrun>0 + + +if test $program = $exefile -o $program = $prog.marc +then + +# delete the old .log file unless we run in the background +if test "$deletelog" = yes +then + if test "$jid" + then + /bin/rm $jid.log 2>/dev/null + fi +else + echo + echo running the job in the background, see $jid.log + echo +fi + +# +# check if this is an autoforge or rezoning or radiation job +# +if test $nprocd -eq 1 -a "$jid" + +then + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^autoforge"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^rezoning"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^radiation"` + if test "$line" + then + autoforge=1 + fi +fi +# +# check that jobname for restarted run is not the same +# as restart file basename +# +if test "$rid" +then + if test "$jid" = "$rid" + then + echo " " + echo "ERROR: job name of current run is the same as job name" + echo " of the restarted job" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "ERROR: job name of current run is the same as job name" >> $jid.log + echo " of the restarted job" >> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi +fi + +# +# user objects/libraries used +# + + if test "$objs" + then + program="$DIRJOB/$jid.marc" + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# user subroutine used +# +# add DAMASK options for linking + DAMASK="-lstdc++" + + if test "$user" + then + program=$usernoext.marc + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# Special case for IBM using POE but not an SP machine +# in this case we always need a host file, also for serial jobs. +# +if test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP +then + MP_HOSTFILE=${jid}.host + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $nprocd -gt 1 + then + numdom=$nprocd + while test $numdom -gt 0 + do + hostname -s >> $MP_HOSTFILE + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + else + hostname -s > $MP_HOSTFILE + fi +fi +# +# check ssh for all hosts in host file +# +if test $nprocd -gt 1 +then +if test $MPITYPE = "intelmpi" -a "$INTELMPI_VERSION" = "HYDRA" + then +# get host list + if test "$host" + then + line=`grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' | uniq` +# count failing hosts + counter=0 + for i in $line + do + $RSH -o BatchMode=yes -o ConnectTimeout=10 $i uname -n + status=$? + if [[ $status != 0 ]] ; then + counter=$((counter+1)) + if [ "$counter" = "1" ]; then + echo " " + echo " error - connection test failed... " + echo " " + fi + echo " " + echo " connection test with ssh failed on host $i" + echo " check the following command: ssh $i uname -n " + echo " " + fi + done +# echo error message and quit + if test $counter -ne 0 + then + echo " " + echo " A parallel job using IntelMPI cannot be started. " + echo " The ssh command must be working correctly between " + echo " the computers used in the analysis. Furthermore, " + echo " it must be set up such that it does not prompt the " + echo " user for a password. " + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo " A parallel job using IntelMPI cannot be started. ">> $jid.log + echo " The ssh command must be working correctly between ">> $jid.log + echo " the computers used in the analysis. Furthermore, ">> $jid.log + echo " it must be set up such that it does not prompt the ">> $jid.log + echo " user for a password. ">> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi +fi +fi +# +# check correctness of host file; fix for user sub +# + if test $nprocd -gt 1 + then + +# construct the path name to the executable (execpath) + execpath=$MARC_BIN/$exefile + usersub=0 + if test $program = $prog.marc + then + execpath=$prog.marc + usersub=1 + fi + if test "$objs" + then + execpath="$DIRJOB/$jid.marc" + usersub=1 + fi + if test "$user" + then + execpath=$usernoext.marc + usersub=1 + fi + export execpath + execname=`$BASENAME $execpath` + + if test "$host" + then + userhost=$host + case $userhost in + \/* | \.\/*) + ;; + *) + userhost=`pwd`/$userhost + ;; + esac + +# check that the number of processes specified in the hostfile is +# equal to nprocd specified by -nprocd. + numproc=`grep -v '^#' $host | $AWK -v sum=0 '{sum=sum+$2}; END {print sum}'` + if test $nprocd -ne $numproc + then + echo " " + echo "error, the number of processes specified in the host file" + echo "must be equal to the number of processes given by -nprocd/-nsolver" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, the number of processes specified in the host file" >> $jid.log + echo "must be equal to the number of processes given by -nprocd/-nsolver" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + +# check for Myrinet that the number of processes per host is +# less than number of available user ports, 5 +# .gmpi directory must exist in user's home directory +# and must have write permission from remote hosts + if test $MPITYPE = "myrinet" + then + numproc=`grep -v '^#' $host | $AWK -v sum=1 '{if( $2 > 5) sum=6}; END {print sum}'` + if test $numproc -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes specified " + echo "in the hostfile must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes specified " >> $jid.log + echo "in the hostfile must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + if test ! -d ~/.gmpi + then + echo " " + echo "error, for Myrinet a .gmpi directory must exist " + echo "under the user's home directory" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a .gmpi directory must exist " >> $jid.log + echo "under the user's home directory" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + homedir=`echo ~` + for i in `grep -v '^#' $host | $AWK '{if (NF > 0) print $1}'` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + $RSH $i /bin/touch $homedir/.gmpi/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + echo " " + echo "error, for Myrinet a shared .gmpi directory must exist " + echo "under the user's home directory " + echo "with remote write permission" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a shared .gmpi directory must exist " >> $jid.log + echo "under the user's home directory " >> $jid.log + echo "with remote write permission" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + else + /bin/rm tmp.$$ + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + fi + fi + done + fi + fi + +# construct the host file $jid.host which is used by mpirun +# skip lines starting with # and only consider lines with more than +# one word in them. Note that the hostfile given to this script +# has two columns: the host name and the number of shared processes +# to run on this host. mpirun wants the number of _other_ +# processes to run in addition to the one being run on the machine +# on which the job is started. hence the $2-1 for fnr == 1. + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then +# HPMPI or HP hardware MPI + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ + -v mpihpspecial="$MPIHPSPECIAL" \ +'{if ( NF > 0) {\ + fnr++ ; \ + printf("-h %s -np %s",$1,$2); \ + printf(" %s",mpihpspecial); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF >= 3 ) printf(" -e MPI_WORKDIR=%s", $3);\ + if ( NF >= 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) \ + }\ + }' > $jid.host +# end HPMPI or HP hardware MPI + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then +# IBM using hardware MPI (POE) + MP_HOSTFILE=$jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.host +# end IBM using hardware MPI (POE) +# for Intel MPI, need to create a machinefile for DMP + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then +# Intel MPI + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + /bin/cp $host $jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Intel MPI for DMP +# for Solaris HPC 7.1, need to create a machinefile for DMP + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then +# Solaris HPC 7.1 + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Solaris HPC 7.1 for DMP +# for Myrinet, construct a configuration file in ~/.gmpi +# this must be readable by each process +# format is (hostname) (port number) for each process + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + grep -v '^#' $host | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ +{if ( NF > 0 ) \ + for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc]); \ +}' >> ~/.gmpi/$jid.host + else +# this is for mpich-1.2.5 and later, using the -pg option +# format: host nproc executable user arguments +# the arguments are added later + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub -v user=`whoami` \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s %s\n",path,user);\ + if ( NF == 3 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s %s\n",path,user) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s/bin/%s %s\n",$4,en,user) \ + }\ + }' > $jid.host + fi +# end Myrinet + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then +# Compaq MPI via Memory Channel + grep -v '^#' $host | $AWK '{if (NF > 0) print $1}' > $jid.host +# end Compaq MPI + else +# MPICH + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF == 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s/bin/%s\n",$4,en) \ + }\ + }' > $jid.host + fi +# define the variable host and host_filt +# host_filt is used for loops over hosts +# for Myrinet we need to use a filtered variant of userhost +# for others we can use $host + if test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + host=~/.gmpi/$jid.host + host_filt=$jid.host_tMp + grep -v '^#' $userhost | $AWK '{if (NF > 0) print $1}' > $host_filt + else + host=$jid.host + host_filt=$host + fi + else + host=$jid.host + host_filt=$host + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + host_filt=$jid.mfile + fi + fi +# figure out if the machines in the hostfile are nfs mounted +# or distributed and set the variable "dirstatus" accordingly. +# only perform the check if user subroutine is used +# or a user subroutine executable is used + + numfield=1 + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + numfield=2 + fi + DIR1=$DIRJOB + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + counter=0 + echo " " + echo "checking if local or shared directories for host" + if test "$deletelog" = no + then + echo "checking if local or shared directories for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + dirstatus[$counter]="shared" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + $RSH $i /bin/touch $DIR1/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + dirstatus[$counter]="local" + /bin/rm tmp.$$ + else + if test ! -f $jid.$$ + then + dirstatus[$counter]="local" + $RSH $i /bin/rm $DIR1/$jid.$$ + else + /bin/rm $jid.$$ + fi + fi + if test -f tmp.$$ + then + /bin/rm tmp.$$ + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + echo " ${dirstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${dirstatus[$counter]}" >> $jid.log + fi + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + fi + +# figure out if this is a compatible set of machines +# unless explicitly specified with flag -comp +# only perform the check if user subroutine is used +# or a user subroutine executable is used +# Myrinet does not support heterogeneous + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + if test $compatible = "unknown" + then + thisname=$ARCH + compatible=yes + counter=0 + echo "checking if machines are compatible for host" + if test "$deletelog" = no + then + echo "checking if machines are compatible for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]="yes" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + othername=`$RSH $i uname -a | cut -f 1 -d " "` + if test $thisname != $othername + then + compatible=no + compstatus[$counter]="no" + fi + fi + echo " ${compstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${compstatus[$counter]}" >> $jid.log + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + else + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]=$compatible + fi + done + if test $compatible = "no" + then + echo "all machines assumed incompatible" + if test "$deletelog" = no + then + echo "all machines assumed incompatible" >> $jid.log + fi + else + echo "all machines compatible" + if test "$deletelog" = no + then + echo "all machines compatible" >> $jid.log + fi + fi + fi +# error out if user objects or libraries are used on incompatible machines + if test "$compatible" = "no" -a -n "$objs" + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" + if test "$deletelog" = no + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" >> $jid.log + fi + exit 1 + fi +# modify new host file if NFS mounted heterogeneous machine + doit= + if test $program = $prog.marc + then + doit=yes + fi + if test "$user" + then + doit=yes + fi + if test "$doit" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + $AWK -v hst=$i '{fnr++ ; \ +if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ +printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} + /bin/mv $jid.host{$$} $jid.host + host=$jid.host + fi + fi + done + fi + fi # if test $program = $prog.marc -o $user -o $obj + + else # if test $host + # assume shared memory machine if no hostfile given and + # MPITYPE is set to mpich or Myrinet + # check for Myrinet that the total number of processes is + # less than number of available user ports, 5 + if test $MPITYPE = "mpich" -o $MPITYPE = "scali" + then + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + host=$jid.host + elif test $MPITYPE = "myrinet" + then + if test $nprocd -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes " + echo "must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes " >> $jid.log + echo "must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + echo `hostname` $nprocd | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ + {for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc])} \ +' >> ~/.gmpi/$jid.host + host=~/.gmpi/$jid.host + else + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + + fi + fi # if test myrinet + + fi # if test $host + + fi # if test $nprocd -gt 1 + +fi # if test $program = $exefile -o $program = $prog.marc + +############################################################################## +# construct run stream (Marc only) # +############################################################################## + +# set maximum message length for ddm to a large number +# for vendor provided mpi +if test $itree -eq 0 -a $MPITYPE = hardware +then + itree=100000000 + if test $MACHINENAME = SGI + then + itree=100000001 + fi +fi +if test $itree -eq 0 -a $MPITYPE = hpmpi +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = myrinet +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = nec +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = scali +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = intelmpi +then + itree=100000000 +fi +if test $nprocdddm -lt 2 +then + nprocdarg= +else + nprocdarg="$nprocdarg $nprocdddm" +fi +if test $nsolver -eq 0 +then + nsolverarg= +else + nsolverarg="$nsolverarg $nsolver" +fi +if test $nprocdddm -lt 2 -a $nsolver -eq 0 +then +nprocd=0 +fi +if test $nprocd -gt 0 +then + if test "$host" + then + if test -z "$RUN_JOB2" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $host -- -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then + RUN_JOB="$RUN_JOB2 $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB_TMP="$RUN_JOB2 $host $bd$program" + RUN_JOB=" -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $nprocd -hf $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + numhost=`uniq $jid.mfile | wc -l` + if test "$INTELMPI_VERSION" = "HYDRA" + then + RUN_JOB_TMP="$RUN_JOB2 -configfile $jid.cfile" + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n $numhost -r $RSH -f $jid.mfile + RUN_JOB_TMP="$RUN_JOB2 $jid.cfile" + fi + +# intelmpi uses configfile. format: +# -host host1 -n n1 executable marcargs +# one such line per host +# collect the marcargs in RUN_JOB and construct the config file later +# collect the run stream in RUN_JOB_TMP + RUN_JOB="-jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + + + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then + RUN_JOB="$RUN_JOB2 $jid.mfile -n $nprocd $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test "$userhost" + then + RUN_JOB="$RUN_JOB -mhost $userhost" + fi + if test $MPITYPE = "scali" + then +# set default working directory to /tmp to allow +# different directory names + SCAMPI_WORKING_DIRECTORY=/tmp + export SCAMPI_WORKING_DIRECTORY + fi + else + if test -z "$RUN_JOB1" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + RUNNPROCD=$nprocd + if test $MACHINENAME = "IBM" -a $MPITYPE = "hardware" + then + RUNNPROCD= + MP_PROCS=$nprocd + export MP_PROCS + fi + if test $MPITYPE = "myrinet" + then + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + echo " " > /dev/null + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n 1 -f $jid.hosts + fi + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + fi +else + if test $ndcoup -gt 0 + then + RUN_JOB="$RUN_JOB0 $BINDIR/exe_auto $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else +# this is for a serial job without auto restart: + RUN_JOB="$RUN_JOB0 $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi +fi +if test "$rid" +then + RUN_JOB="$RUN_JOB -rid $rid -dirrid $DIRRID" +fi +if test "$pid" +then + RUN_JOB="$RUN_JOB -pid $pid -dirpid $DIRPID" +fi +if test "$sid" +then + RUN_JOB="$RUN_JOB -sid $sid -dirsid $DIRSID" +fi +if test "$did" +then + RUN_JOB="$RUN_JOB -def $did -dirdid $DIRDID" +fi +if test "$vid" +then + RUN_JOB="$RUN_JOB -vf $vid -dirvid $DIRVID" +fi +if test $ndcoup -gt 0 +then + RUN_JOB="$RUN_JOB -dcoup $ndcoup " +fi +if test $ndytran -gt 0 +then + RUN_JOB="$RUN_JOB -dytran $ndytran " +fi +if test $mesh -gt 0 +then + RUN_JOB="$RUN_JOB -me $mesh " +fi +if test $noutcore -gt 0 +then + RUN_JOB="$RUN_JOB -outcore $noutcore " +fi +if test "$dllrun" -gt 0 +then + RUN_JOB="$RUN_JOB -dll $dllrun " +fi +if test "$trkrun" -gt 0 +then + RUN_JOB="$RUN_JOB -trk $trkrun " +fi +if test "$iam" +then + RUN_JOB="$RUN_JOB -iam $iam " +fi +if test "$justlist" +then + RUN_JOB="$RUN_JOB -list 1 " +fi +if test "$feature" +then + RUN_JOB="$RUN_JOB -feature $feature " +fi +if test "$memlimit" -ne 0 +then + RUN_JOB="$RUN_JOB -ml $memlimit " +fi +if test "$cpinput" +then + RUN_JOB="$RUN_JOB -ci $cpinput " +fi +if test "$cpresults" +then + RUN_JOB="$RUN_JOB -cr $cpresults " +fi +if test "$DIRSCR" != "$DIRJOB" +then + RUN_JOB="$RUN_JOB -dirscr $DIRSCR" +else + DIRSCR=$DIRJOB +fi +if test "$makebdf" +then + RUN_JOB="$RUN_JOB -bdf $makebdf " +fi +if test $MPITYPE = "myrinet" -a "$host" -a "$MPIVERSION" != "MPICH-GM1.2.1..7" +then + # append $RUN_JOB to all lines of the host file + # and set RUN_JOB + $AWK -v args="$RUN_JOB" '{print $0,args}' $host > $host.$$ + /bin/mv $host.$$ $host + RUN_JOB=$RUN_JOB_TMP +fi +if test $MPITYPE = "intelmpi" -a "$host" +then + # construct config file, append $RUN_JOB to all lines of the config file + # and set RUN_JOB + if test "$INTELMPI_VERSION" = "HYDRA" + then + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf(" -host %s",$1); \ + printf(" -n %s",$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + else + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf("-host %s -n %s",$1,$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + fi + RUN_JOB=$RUN_JOB_TMP +fi +echo " " +echo "Final run stream value" +echo " RUNJOB="$RUN_JOB +if test "$deletelog" = no +then +echo " " >> $jid.log +echo "Final run stream value" >> $jid.log +echo " RUNJOB="$RUN_JOB >> $jid.log +fi + + +# +# check for external file to run using valgrind +# +if test -f $MARC_TOOLS/run_marc_valgrind +then + . $MARC_TOOLS/run_marc_valgrind +fi + + +############################################################################## +# run the requested program in a queue # +############################################################################## + +if test "$deletelog" = yes +then + echo + date +else + echo >> $jid.log + date >> $jid.log +fi +if [ $qid = short -o $qid = long -o $qid = verylong -o $qid = at ] +then + +/bin/rm -f $jid.runmarcscript + + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + userobj=$usermoext.o + fi + cat > $jid.runmarcscript << END4 + if test "$user" + then + if test $MACHINENAME = "CRAY" + then + $DFORTRANMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTRANMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + $SOLVERLIBS \ + $MARCCUDALIBS \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } +END4 +else + prgsav=yes +fi +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null + +# +# run marc +# + +cat >> $jid.runmarcscript << END5 + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# first remove all .out files and incremental restart files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + /bin/rm $DIRJOB/$numdom${jid}_i_*.t08 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null + /bin/rm $DIRJOB/${jid}_i_*.t08 2>/dev/null +fi + +if test $nprocdddm -gt 1 +then + $RUN_JOB 2>>$jid.log +else + $RUN_JOB 2>>$jid.log +fi + +if test $dllrun -eq 0; then + if test $prgsav = no + then + /bin/rm -f $bd$program 2>/dev/null + fi +else + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes + then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +fi +END5 + + +# Submit to marc batch queue +# +if [ $qid = at ] +then +QUENAME=at +SUBMCMD= +else +# +# Submit to qsub queue +# +QUENAME=qsub +SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" +if test "$priority" +then + SUBMCMD=$SUBMCMD" -p $priority" +fi +if test "$att" +then + SUBMCMD=$SUBMCMD" -a $att" +fi +if test "$cpu" +then + SUBMCMD=$SUBMCMD" -lt $cpu" +fi + +fi +echo $QUENAME $SUBMCMD +#cat $jid.runmarcscript +$QUENAME $SUBMCMD < $jid.runmarcscript + +/bin/rm -f $jid.runmarcscript + +############################################################################## +# run the requested program in the background # +############################################################################## + +else +if test $qid = background +then + +# +# first remove all old .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi +# +# compile user subroutine if present +# +( +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_damask_mp $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user on host $i" + echo " $PRODUCT Exit number 3" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user on host `hostname`" + fi + userobj=$usernoext.o + if test $MACHINENAME = "CRAY" + then + $DFORTRANMP $user || \ + { + echo "$0: compile failed for $user" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTRANMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + echo " $PRODUCT Exit number 3" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null + +# +# run marc + +# + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + +$RUN_JOB & + +marcpid=$! +echo $marcpid > $DIRJOB/$jid.pid +wait $marcpid + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + fi + fi + fi +fi + + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi +fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi +) 1>>$jid.log 2>&1 & + + +############################################################################## +# run the requested program in the foreground # +############################################################################## + +else + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_damask_mp $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user on host $i" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user on host `hostname`" + fi + userobj=$usernoext.o + if test $MACHINENAME = "CRAY" + then + $DFORTRANMP $user || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $DFORTRANMP $user -o $userobj || \ + { + echo "$0: compile failed for $user" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $DAMASK \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null +/bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null +# done if no job id given +if test -z "$jid" +then + echo + echo only compilation requested + echo + exit +fi +# +# run marc +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi +# first remove all .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + $RUN_JOB + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + else + echo " " > /dev/null + fi + else + if test "$host" + then + mpdcleanup -a -f $jid.mfile + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.mfile 2> /dev/null + else + mpdcleanup -a -f $jid.hosts + /bin/rm $jid.hosts 2> /dev/null + fi + fi + fi +fi + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi +fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=$usernoext + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi + + +fi +fi diff --git a/installation/mods_MarcMentat/2020/Marc_tools/run_marc.original b/installation/mods_MarcMentat/2020/Marc_tools/run_marc.original new file mode 100644 index 000000000..7f3f94730 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Marc_tools/run_marc.original @@ -0,0 +1,4208 @@ +#!/bin/ksh +############################################################################## +# # +# run_marc - run a marc job # +# ------------------------- # +# # +# usage: run_marc -j jid { options } # +# # +# where standard options are: required: defaults: # +# -------------------------- # +# # +# -j* jid job id number. ** YES ** . # +# -pr* prog program name. . marc # +# -v* y|n do or do not verify inputs. . yes # +# -q* s|l|v|b|f batch queue name or background, . short # +# foreground. # +# -b* as alternative to option -q* # +# # +# ( batch queues only : # +# -pq* intra queue priority. . . # +# -at DATE/TIME delay start of job. . . # +# format : January,1,1990,12:31 # +# or : today,5pm # +# -cpu* secs job CPU limit . . ) # +# # +# -r* rid restart file job id. . . # +# -si* sid substructure file id. . . # +# -pi* post post file job id. . . # +# -de* did defaults file . no # +# -vf vid viewfactor . no # +# # +# -u* user user subroutine. . . # +# -obj obj user objects or libraries. . . # +# -sa* y|n do or do not save load module. . no # +# -me manual remeshing control . no # +# -ml memory limit in Mbyte # +# -mo This option is deprecated. As of Marc 2015, only # +# the integer*8 version is available. # +# -mpi selects MPI version # +# each platform has a default MPI version and some # +# have an alternative version. see the include file # +# for the respective platform # +# MPI_DEFAULT defines the default MPI version # +# MPI_OTHER defines versions one can switch to # +# -dcoup for contact decoupling # +# currently not supported # +# -dir directory where the job i/o should take place. # +# defaults to current directory. # +# -sdir directory where scratch files are created # +# defaults to current directory. # +# # +# -alloc only perform memory allocation test, no analysis # +# -list y only list options in the input file, no analysis # +# -fe num set feature number "num" for the run. only one allowed # +# -dytran flag to switch from Dytran to Marc # +# dytran = 0, program will run w/o Marc-Dytran Switch # +# = 1, program will restart Marc after Dytran run # +# >= 2, Not supported yet. # +# currently not supported # +# -ou force analysis to use out-of-core control # +# =0, not used # +# =1, element storage out-of-core # +# -dll run marc using shared library libmarc.so and exe_marc # +# =1, used # +# =2, do not free streaming input memory # +# =3, run with marc input deck # +# -trk run marc for post-tracking # +# -gpuid run marc using GPGPU capability # +# specify gpuid on to be used in the analysis. Multiple # +# IDs may be assigned for DDM runs. # +# Separate a list of IDs with a colon. Each DMP # +# process will be assigned a GPU ID in round robin fastion# +# = 0 # +# = 0:1 etc... # +# # +# where parallel options are: # +# -------------------------- # +# # +# itree, host, and comp options are available for the domain # +# decomposition only. # +# MARC_NUMBER_OF_THREADS, nthread, and dir options always available. # +# # +# # +# -nprocd number of domains. # +# defaults to single domain solution. # +# -nprocds number of domains if single input file. # +# defaults to single domain solution. # +# -nps same as -nprocds. # +# -nsolver number of solver tasks for solver types 12 and 13 # +# these are distributed tasks operating via MPI # +# -nthread_elem number of threads for element assembly and recovery # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by element assembly # +# recovery. # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_elem option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_elem specified. # +# -nthread_solver number of threads for solver types 6, 8, and 11 # +# = 0: use defaults. # +# defaults to 1 for single domain solution. # +# defaults to number of domains for multi-domain # +# solution. # +# > 1: number of threads to be used by 6, 8, and 11 # +# Also can be set through MARC_NUMBER_OF_THREADS # +# environment variable. # +# if both specified, -nthread_solver option will be used. # +# defaults if neither MARC_NUMBER_OF_THREADS environment # +# variable set nor -nthread_solver specified. # +# -nthread Same as -nthread_solver. # +# -itree message passing tree type for domain decomposition. # +# for debugging purposes; should not normally be used. # +# -host hostfile name for distributed execution on network. # +# defaults to no hostfile, unless jobid.defhost exists. # +# if jobid.defhost exists, only -np(s) necessary # +# -comp* y|n to be used with user routines on a network of # +# incompatible machines. # +# if set to no, a separate executable will be created # +# for each machine on the network. # +# if set to yes, the executable located on the machine # +# from which marc is started will be used on all machines.# +# defaults to no if O/S versions different on machines. # +# # +# -ci y|n copy input files to remote hosts (default: yes) # +# if "yes", input files are automatically copied to # +# remote hosts for a network run if necessary. # +# -cr y|n copy post files from remote hosts (default: yes) # +# if "yes", post files are automatically copied back from # +# remote hosts for a network run if necessary. # +############################################################################## +# set DIR to the directory in which this script is +REALCOM="`/bin/ls -l $0 |awk '{ print $NF; }'`" +DIR=`dirname $REALCOM` +# make sure DIR has an absolute path +case $DIR in + \/*) + ;; + *) + DIR=`pwd`/$DIR + ;; +esac +DIRSCRIPT=$DIR +AWK=awk +ARCH=`uname -a | cut -f 1 -d " "` +# Sun has a bad awk, use nawk instead +if test $ARCH = "SunOS" +then + AWK=nawk +fi +BASENAME=basename +# Sun has an incorrect /bin/basename, check if /usr/ucb/basename exists +if test $ARCH = "SunOS" +then + if test -x /usr/ucb/basename + then + BASENAME=/usr/ucb/basename + fi +fi + +# echo command line in the case of ECHO_COMMAND is true +if test "$ECHO_COMMAND" = true ; then + echo command "$0" "$@" +fi + +# +# "mode" selects version, i4 or i8 +# default is i4 +# this can be changed by a file run_marc_defaults +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MODE i8 +# it can also be set by the environmental variable MARC_INTEGER_SIZE +# and by the command line option "-mo" +# +mode= +modeerror= +modeoption= +if test -f $DIRSCRIPT/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $DIRSCRIPT/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -f $HOME/run_marc_defaults; then + line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` + if test "$line" = "MARC_MODE"; then + echo + echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available + echo + line= + fi + line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $HOME/run_marc_defaults` + line=`echo $line | $AWK '{print $NF}'` + if test "$line" = "i4"; then + modeerror="defaults file $HOME/run_marc_defaults used mode $line ; this must be i8" + modeoption=error + echo $modeerror + fi + if test "$line" = "i8"; then + mode=i8 + fi +fi +if test -n "$MARC_INTEGER_SIZE" ; then + mode=$MARC_INTEGER_SIZE +fi +if test -z "$mode" ; then + mode=i8 +fi +case $mode in + i4) + modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + modeoption=error + echo $modeerror + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo "bad value for MARC_INTEGER_SIZE variable; only i8 is supported." + exit + ;; +esac + +setmode=false +for arg in $* ; do + if $setmode ; then + mode=$arg + case $mode in + i4) + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + ;; + i8) + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + ;; + *) + echo " " + echo "error, version mode must be i8" + echo " " + echo " use -mo i8 " + echo " " + exit + ;; + esac + setmode=false + fi + if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then + echo + echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available + echo + setmode=true + fi + if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + MARC_INTEGER_SIZE=i8 + export MARC_INTEGER_SIZE + fi + if [ ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + modeerror="bad value for mode option; only i8 is supported." + modeoption=error + echo + echo $modeerror + echo + fi +done + +# set to i4 version for 32 bit Linux +if test "`uname -s`" = "Linux"; then + if test "`uname -m`" = "i686"; then + mode=i4 + MARC_INTEGER_SIZE=i4 + export MARC_INTEGER_SIZE + fi +fi + + +. "$DIR/getarch" + +. $MARC_INCLUDE +# + +# +# Dynamically determine the echo syntax +# + +case "`echo '\c'`" in + '\c') + ECHO='echo -n' + ECHOTXT=' ' + ;; + *) + ECHO='echo' + ECHOTXT=' \c' + ;; +esac + +# +# Variables for the MARC environment +# + +PRODUCT="Marc" +EXITMSG=$MARC_TOOLS/MESSAGES +export EXITMSG +FLEXDIR=$DIR/../flexlm/licenses +export FLEXDIR +TIMCHK=3600 +export TIMCHK +BINDIR=$MARC_BIN +export BINDIR +AFMATDAT=$MARC_RUNTIME/AF_flowmat/ +export AFMATDAT +export MESHERDIR +MSC_LICENSE_FINPROC=0 +export MSC_LICENSE_FINPROC +# +# define directory path to global unified material database +# +MATFILE= +export MATFILE + +# +# define memory limit +# first set to MEMLIMIT from include +# -ml option overrules if specified +memlimit=$MEMLIMIT +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +# +if test $MACHINENAME = "HP" +then + SHLIB_PATH=$MARC_LIB:$MARC_LIB_SHARED:$SHLIB_PATH + export SHLIB_PATH +fi +# the one for IBM is defined futher down + +LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH:$SFMATDIR +if test -f "/etc/redhat-release"; then + ver=`cat /etc/redhat-release | sed 's/.* release \([0-9]\).\([0-9]\+\) .*/\1\2/'` + case "$ver" in + 6*) LD_LIBRARY_PATH="${MARC_LIB_SHARED}rh67:$LD_LIBRARY_PATH" ;; + esac +fi +LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=$LD_LIBRARY_PATH +LD_LIBRARY64_PATH=$MARC_LIB:$LD_LIBRARY64_PATH +LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH +export LD_LIBRARY_PATH +export LD_LIBRARY64_PATH +export LD_LIBRARYN32_PATH + +atexit() { +kill -15 $$ +# +if test $MPITYPE = "myrinet" +then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi +fi +} + +trap "atexit" 2 + +# +# defaults +# + +prog=marc +exefile=marc +jid= +rid= +pid= +sid= +did= +vid= +user= +usersubname= +objs= +qid=background +cpu= +priority= +att= +trk= +verify=yes +prgsav=no +rmdll=no +cpdll=no +progdll= +pathdll= +error= +nprocd=0 +nprocdddm=1 +nprocdddmprint= +icreated=0 +nprocdarg= +nsolver=0 +nsolverarg=-ns +if test $nprocds +then + if test $nprocds -gt 1 + then + nprocdddm=$nprocds + nprocdddmprint=$nprocds + icreated=1 + nprocdarg=-nprocds + fi +fi +ntprint=0 +nt=-1 +nte=-1 +nts=-1 +ntarg=-nt +ntearg=-nte +ntsarg=-nts +nteprint= +ntsprint= +oversubscribe=false +gpuids= +nauto= +ndcoup=0 +ndytran=0 +noutcore=0 +dllrun=0 +mesh=0 +itree=0 +iam= +ddm_arc=0 +link= +trkrun=0 +DIRJOB=`pwd` +DIRSCR=$DIRJOB +DIRSCRSET= +autoforge=0 +dotdat=.dat +dotdefhost=.defhost +host= +numhost= +mfile= +userhost= +makebdf= +cpinput=yes +cpresults=yes +marcdll=libmarc.$EXT_DLL +# define hostname and strip off extensions (alpha.aaa.com) +thishost=`hostname` +thishost=${thishost%%.*} +compatible=unknown +numfield=1 +justlist= +feature= +mpioption=false +iprintsimufact= +SRCLIB=$MARC_LIB/srclib.a +MDSRCLIB=$MARC_LIB/mdsrc.a +# +# check run_marc_defaults file for default MPI setting +# located in the tools directory of the Marc installation +# or in the user's home directory +# format: +# MARC_MPI +# +value= +file= +if test -f $DIRSCRIPT/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $DIRSCRIPT/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$DIRSCRIPT/run_marc_defaults + fi +fi +if test -f $HOME/run_marc_defaults; then + value=`$AWK '{if ($1 == "MARC_MPI") {print $2}}' $HOME/run_marc_defaults` + value=`echo $value | $AWK '{print $NF}'` + if test -n "$value"; then + file=$HOME/run_marc_defaults + fi +fi +if test -n "$value"; then + MARC_MPITYPE=$value + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + echo " " + echo " error, incorrect option for MARC_MPI" + echo " defined in $file: $MARC_MPITYPE" + echo " valid options: $MPI_OTHER $MPI_DEFAULT" + echo " " + exit + fi + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + fi +fi +# +# +# allow scratch directory to be specified with environmental variable +# MARCSCRATCH +if test $MARCSCRATCH +then + if test -d $MARCSCRATCH + then + DIRSCR=$MARCSCRATCH + else + echo "error, scratch directory '$MARCSCRATCH'" + echo " specified via environmental variable MARCSCRATCH does not exist" + exit + fi +fi +# +############################################################################## +# parse input - arguments always come in pairs # +############################################################################## + +arg=$1 +if [ ${arg}X = -i8X -o ${arg}X = -I8X ] ; then + shift + arg=$1 +fi +while [ -n "$arg" ] +do + shift + value=$1 + case $arg in + -al* | -AL*) + LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + $MARC_BIN/marc -alloc 1 + exit + ;; + -li* | -LI*) + justlist=yes + ;; + -fe* | -FE*) + feature=$value + + ;; + -pr* | -PR*) + if test `dirname $value` = '.' + then + prog=`$BASENAME $value .marc` + progdll=`$BASENAME $value` + else + prog=`dirname $value`/`$BASENAME $value .marc` + progdll=`dirname $value`/`$BASENAME $value` + fi + prdir=`dirname $value` + case $prdir in + \/*) + ;; + *) + prog=`pwd`/$prdir/$prog + ;; + esac + ;; + -j* | -J*) + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + ;; + -r* | -R*) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + -si* | -SI*) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + -pi* | -PI*) + if test -f $value.t19 + then + pid=`$BASENAME $value .t19` + else + pid=`$BASENAME $value .t16` + fi + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + -bdf | -BDF) + makebdf=1 + ;; + -de* | -DE*) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + -vf | -VF) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + -u* | -U*) + user=`dirname $value`/`$BASENAME $value .f` + usersubname=$user + basefile=`$BASENAME $value` + if test ${basefile##*.} = f + then + user=`dirname $value`/`$BASENAME $value .f` + usersubname=$user.f + elif test ${basefile##*.} = F + then + user=`dirname $value`/`$BASENAME $value .F` + usersubname=$user.F + elif test ${basefile##*.} = f90 + then + user=`dirname $value`/`$BASENAME $value .f90` + usersubname=$user.f90 + elif test ${basefile##*.} = F90 + then + user=`dirname $value`/`$BASENAME $value .F90` + usersubname=$user.F90 + fi + case $user in + \/*) + ;; + *) + user=`pwd`/$user + usersubname=`pwd`/$usersubname + ;; + esac + if test ! -f $usersubname + then + if test -f $usersubname.f + then + usersubname=$usersubname.f + elif test -f $usersubname.F + then + usersubname=$usersubname.F + elif test -f $usersubname.f90 + then + usersubname=$usersubname.f90 + elif test -f $usersubname.F90 + then + usersubname=$usersubname.F90 + fi + fi + ;; + -obj | -OBJ) + objs="$value" + ;; + -q* | -Q*) + qid=$value + ;; + -b* | -B*) + case $value in + y* | Y*) + qid=background + ;; + n* | N*) + qid=foreground + ;; + *) + ;; + esac + ;; + -at | -AT) + att=$value + ;; + -cpu* | -CPU*) + cpu=$value + ;; + -pq | -PQ*) + priority=$value + ;; + -v* | -V*) + verify=$value + ;; + -sa* | -SA*) + prgsav=$value + ;; + -np* | -NP*) + nprocdddm=$value + nprocdddmprint=$value + case $arg in + -nps* | -NPS* | -nprocds* | -NPROCDS*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + case $arg in + -np | -NP | -nprocd | -NPROCD) + icreated=0 + nprocdarg=-nprocd + ;; + esac + ;; + -ns* | -NS*) + nsolver=$value + ;; + -nt* | -NT*) + case $arg in + -nte | -NTE | -nthread_e* | -NTHREAD_E*) + nte=$value + ;; + esac + case $arg in + -nts | -NTS | -nthread_s* | -NTHREAD_S*) + nts=$value + ;; + esac + case $arg in + -nt | -NT | -nth* | -NTH* | -nthread* | -NTHREAD*) + nt=$value + ;; + esac + ;; + -gp* | -GP*) + gpuids=$value + ;; + -it* | -IT*) + itree=$value + ;; + -iam | -IAM) + iam=$value + case $value in + sfg | sfm | sim) + iprintsimufact=true + ;; + esac + ;; + -au* | -AU*) + nauto=$value + echo + echo warning: the option -au is no longer supported and will be ignored + echo + ;; + -dc* | -DC*) + ndcoup=$value + ;; + -dy* | -DY*) + ndytran=$value + ;; + -ou* | -OU*) + noutcore=$value + ;; + -dll | -DLL) + dllrun=$value + ;; + -trk | -TRK) + trkrun=$value + ;; + -ddm | -DDM) + ddm_arc=$value + ;; + -me | -ME ) + mesh=$value + ;; + -ml | -ML ) + memlimit=$value + ;; + -mo | -MO ) + ;; + -mpi | -MPI ) + mpioption=true + MARC_MPITYPE=$value + if test "$value" != "$MPI_DEFAULT"; then + exefile=marc_$value + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a_$value + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_$value.a" + fi + else + exefile=marc + . $MARC_INCLUDE + MDSRCLIB=$MARC_LIB/mdsrc.a + if test "$MUMPSSOLVER" = MUMPS; then + MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a" + fi + fi + ;; + -dir* | -DIR*) + DIRJOB=$value + case $DIRJOB in + \/*) + ;; + *) + DIRJOB=`pwd`/$DIRJOB + ;; + esac + if test -z "$DIRSCRSET" + then + DIRSCR=$DIRJOB + fi + ;; + -sd* | -SD*) + DIRSCR=$value + DIRSCRSET=yes + case $DIRSCR in + \/*) + ;; + *) + DIRSCR=`pwd`/$DIRSCR + ;; + esac + ;; + -ho* | -HO*) + host=$value + ;; + -co* | -CO*) + compatible=$value + ;; + -ci* | -CI*) + cpinput=$value + ;; + -cr* | -CR*) + cpresults=$value + ;; + *) + error="$error +$arg: invalid option" + break + ;; + esac + case $value in + -*) + error="$error +$arg: invalid name $value" + break + ;; + esac + shift + arg=$1 + if [ ${arg}X = -i8X -o ${arg}X = -I8X -o ${arg}X = -i4X -o ${arg}X = -I4X ] ; then + shift + arg=$1 + fi +done +argc=`expr $# % 2` +if test $argc -eq 1 +then +# +# odd number of arguments +# + error="$error +argument list incomplete" +fi + +if test $nprocdddm -gt 0 +then +nprocd=$nprocdddm +fi + +if test $nsolver -gt 0 +then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi +fi + +# oversubscribe case +if test $nprocd -gt $(/usr/bin/nproc); then + if test "$ALLOWMPIOVERSUBSCRIBE" != "true"; then + error="$error + The requested number of domains ($nprocd) is larger than the number + of processors ($(/usr/bin/nproc)). As such an oversubscription may result in + very poor performance, the analysis will not be started. + Running an analysis in case of oversubscription can be forced + by defining an environment variable \"ALLOWMPIOVERSUBSCRIBE\" + with the value \"true\"." + oversubscribe=true + fi +fi + +# Set defaults +if test $nt -eq -1 +then +nt=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nt -lt 0 +then +nt=0 +fi +if test $nte -eq -1 +then +nte=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nte -lt 0 +then +nte=0 +fi +if test $nts -eq -1 +then +nts=${MARC_NUMBER_OF_THREADS:-0} +fi +if test $nts -lt 0 +then +nts=0 +fi +# +# set number of element loop threads +# +ntprint=$nt +nteprint=$nte +# copy from -nprocd[s] +if test $nprocdddm -gt 1 +then + nteprint=$nprocdddm +fi +# override with -nthread_elem option +if test $nte -ne 0 +then +nteprint=$nte +fi +# check for minimum 1 threads per processes for DDM +if test $nprocdddm -gt 1 +then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi +fi +nte=$nteprint +# +# set number of Solver threads +# +ntsprint=$nts +# copy from -nthread or -nprocd[s] +if test $ntprint -ne 0 +then + ntsprint=$ntprint +else + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +fi +# override with -nthread_solver option +if test $nts -ne 0 +then + ntsprint=$nts +fi +# check for minimum 1 threads per solver process. +if test $nsolver -lt $nprocdddm +then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi +else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi +fi +if test $ntsprint -eq 1 +then + set ntsprint=0 +fi +nts=$ntsprint + +# set stack size for multi-threading. +export KMP_MONITOR_STACKSIZE=7M +export OMP_STACKSIZE=7M + +# +# deprecate -nthread option at arugment of marc +nt=0 +# Reset nprocdddmm, nsolver and threads if not given. +if test $nprocdddm -eq 0 +then + nprocdarg= +fi +if test $nprocdddm -eq 0 +then + nprocdddmprint= +fi +if test $nprocdddm -eq 0 +then + nprocdddm= +fi + +nsolverprint=$nsolver +if test $nsolver -eq 0 +then + nsolverprint= +fi +# end of threads setting. +gpuoption= +if test "$gpuids" = "" ; then + gpuoption= +else + gpuoption="-gp $gpuids" +fi + +if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH +else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH +fi +# Linux 64 + HPMPI, Below code is taken from include_linux64 +if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" +then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" +fi +if test "$iam" = sim ; then + SFLIB="-L$SFMATDIR -lMBA_Grain" +fi + +if test $nprocd -gt 1; then + if test -f $jid$dotdefhost; then + if test "$host" = ""; then + host=$jid$dotdefhost + fi + fi + if test -f hostfile_qa_$nprocd; then + if test "$host" = ""; then + host=hostfile_qa_$nprocd + fi + fi +fi + +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$dllrun" -eq 1 || test "$dllrun" -eq 2; then + dotdat=.inp + fi + + if test "$progdll"; then + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + rmdll=yes + pathdll=yes + progdll=${progdll}_$marcdll + else + progdll=$marcdll + fi + + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + pathdll=yes + fi +fi + +############################################################################## +# check parameter validity # +############################################################################## + +while test forever; do + +# +# check for input file existence +# +if test $nprocdddm -gt 1 -a $icreated -eq 0; then + if test ! -f $DIRJID/1$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/1$jid$dotdat not accessible" + fi + fi +else + if test ! -f $DIRJID/$jid$dotdat; then + if test "$jid" != "" ; then + error="$error +input file $DIRJID/$jid$dotdat not accessible" + fi + fi +fi + if test $nprocd -gt 1; then + if test "$host" ; then + if test ! -f $host; then + error="$error +host name file $host not accessible" + fi + fi + fi + +# +# check if the job is already running in the background +# +if test -f $DIRJOB/$jid.pid; then + error="$error +job is already running (the file $jid.pid exists)" +fi + +# +# if the program name is other than marc, then +# assume that this is a program in the users local directory +# + +bd=$MARC_BIN/ + +case $prog in + marc | MARC | $exefile) + program=$exefile + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 or $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$usersubname" + then + if test ! -f $usersubname + then + error="$error +user subroutine file $usersubname not accessible" + fi + fi + if test "$objs" + then + missingobjs= + for o in $objs + do + if test ! -f "$o" + then + if test -z "$missingobjs" + then + missingobjs="$o" + else + missingobjs="$missingobjs $o" + fi + fi + done + if test -n "$missingobjs" + then + error="$error +user object/library file(s) $missingobjs not accessible" + fi + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$vid" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRVID/1$vid.vfs + then + error="$error +view factor file $DIRVID/1$vid.vfs not accessible" + fi + else + if test ! -f $DIRVID/$vid.vfs + then + error="$error +view factor file $DIRVID/$vid.vfs not accessible" + fi + fi + fi + if $mpioption + then + notok=true + for i in "$MPI_OTHER"; do + if test "$MARC_MPITYPE" = "$i"; then + notok=false + fi + done + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + notok=false + fi + if $notok; then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER $MPI_DEFAULT)" + fi + fi + ;; + *) + program=$prog.marc + case $prog in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + if test "$rid" + then + if test ! -f $DIRRID/$rid.t08 + then + error="$error +restart file $DIRRID/$rid.t08 not accessible" + fi + fi + if test "$pid" + then + if test ! -f $DIRPID/$pid.t16 + then + if test ! -f $DIRPID/$pid.t19 + then + error="$error +post file $DIRPID/$pid.t16 and $DIRPID/$pid.t19 not accessible" + fi + fi + fi + if test "$user" + then + error="$error +program option may not be used with user subroutine" + fi + if test "$objs" + then + error="$error +program option may not be used with user objects or libraries" + fi + if test "$did" + then + if test $nprocdddm -gt 1 -a $icreated -eq 0 + then + if test ! -f $DIRDID/1$did$dotdat + then + error="$error +defaults file $DIRDID/1$did$dotdat not accessible" + fi + else + if test ! -f $DIRDID/$did$dotdat + then + error="$error +defaults file $DIRDID/$did$dotdat not accessible" + fi + fi + fi + if test "$ndcoup" + then + if test $ndcoup -gt 3 + then + error="$error +incorrect option for contact decoupling " + fi + fi + if test "$ndytran" + then + if test $ndytran -gt 1 + then + error="$error +incorrect option for Marc-Dytran Switch " + fi + fi + if $mpioption + then + if test ! -x $MARC_BIN/$exefile + then + error="$error +incorrect option for -mpi option: $MARC_MPITYPE " + fi + fi + ;; +esac + +############################################################################## +# check argument integrity # +############################################################################## + +if test "$jid" +then + : +else + if test "$user" + then +# allow user sub without giving job id + qid=foreground + verify=no + else + error="$error +job id required" + fi +fi + +case $qid in + S* | s*) + qid=short + ;; + L* | l*) + qid=long + ;; + V* | v*) + qid=verylong + ;; + B* | b*) + qid=background + ;; + F* | f*) + qid=foreground + ;; + A* | a*) + qid=at + ;; + *) + error="$error +bad value for queue_id option" + ;; +esac + +case $prgsav in + N* | n*) + prgsav=no + ;; + Y* | y*) + prgsav=yes + ;; + *) + error="$error +bad value for save option" + ;; +esac + +case $verify in + N* | n*) + verify=no + ;; + Y* | y*) + verify=yes + ;; + *) + error="$error +bad value for verify option" + ;; +esac + +case $nprocdddm in + -* ) + error="$error +bad value for nprocd option" + ;; +esac + +case $nt in + -* ) + error="$error +bad value for nt option" + ;; +esac + +case $itree in + -* ) + error="$error +bad value for itree option" + ;; +esac +case $iam in + -* ) + error="$error +bad value for iam option" + ;; +esac +case $compatible in + N* | n*) + compatible=no + ;; + Y* | y*) + compatible=yes + ;; + unknown) + ;; + *) + error="$error +bad value for comp option" + ;; +esac +case $cpinput in + N* | n*) + cpinput=no + ;; + Y* | y*) + cpinput=yes + ;; + *) + error="$error +bad value for copy input option" + ;; +esac +case $cpresults in + N* | n*) + cpresults=no + ;; + Y* | y*) + cpresults=yes + ;; + *) + error="$error +bad value for copy results option" + ;; +esac + +# +# check for external file to run +# +if test -f $MARC_TOOLS/run_marc_check +then + . $MARC_TOOLS/run_marc_check +fi + +############################################################################## +# interact with the user to get the required information to run marc or # +# other marc system program # +############################################################################## + +deletelog=yes +if test $qid = background -a $verify = no +then +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $usersubname +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint +GPGPU option : $gpuids +Host file name : $host" > $jid.log +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" >> $jid.log +fi +echo \ +"Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" >> $jid.log +deletelog=no +fi +echo \ +" +Program name : $prog +Marc shared lib : $progdll +Version type : $mode +Job ID : $DIRJID/$jid +User subroutine name : $usersubname +User objects/libs : $objs +Restart file job ID : $rid +Substructure file ID : $sid +Post file job ID : $pid +Defaults file ID : $did +View Factor file ID : $vid +Save generated module: $prgsav +MPI library : $MPITYPE +DDM processes : $nprocdddmprint +Element loop threads : $nteprint +Solver processes : $nsolverprint +Solver threads : $ntsprint" +if test "$iprintsimufact" = true ; then + echo "DDM with ARC Mapper : $ddm_arc" +fi +echo \ +"GPGPU option : $gpuids +Host file name : $host +Message passing type : $itree +Run job in queue : $qid +Run directory : $DIRJOB +Scratch directory : $DIRSCR +Memory limit in Mbyte: $memlimit" + + +case $qid in + s* | S* | l* | L* | v* | V* ) + echo \ +"Queue priority : $priority +Queue CPU limit : $cpu +Queue start time : $att" + ;; +# * ) +# echo \ +#" " +# ;; +esac + +if test "$modeoption" +then + error=$modeerror +fi + +if test "$error" +then + if test $verify = yes + then + $ECHO "$error + +Please correct or quit(correct,quit,): $ECHOTXT" + error= + read answer + case $answer in + q* | Q*) + answer=quit + ;; + *) + answer=correct + ;; + esac + else + $ECHO "$error + $ECHOTXT" + echo " " + if test "$deletelog" = no + then + $ECHO "$error + $ECHOTXT" >> $jid.log + echo " " >> $jid.log + fi + answer=quit + fi +else + if test $verify = yes + then + $ECHO " +Are these parameters correct (yes,no,quit,)? $ECHOTXT" + read answer + case $answer in + q* | Q*) + answer=quit + ;; + y* | Y*) + answer=yes + ;; + *) + answer=no + ;; + esac + else + answer=yes + fi +fi + +case $answer in + no | correct) + +############################################################################## +# prompt for each value # +############################################################################## + + $ECHO " +Program name ($prog)? $ECHOTXT" + read value + if test "$value" + then + prog=$value + fi + $ECHO "Job ID ($jid)? $ECHOTXT" + read value + if test "$value" + then + jid=`$BASENAME $value $dotdat` + DIRJID=`dirname $value` + case $DIRJID in + \/*) + ;; + *) + DIRJID=`pwd`/$DIRJID + ;; + esac + fi + $ECHO "User subroutine name ($usersubname)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + user= + ;; + *) + user=`dirname $value`/`$BASENAME $value .f` + usersubname=$user + basefile=`$BASENAME $value` + if test ${basefile##*.} = f + then + user=`dirname $value`/`$BASENAME $value .f` + usersubname=$user.f + elif test ${basefile##*.} = F + then + user=`dirname $value`/`$BASENAME $value .F` + usersubname=$user.F + elif test ${basefile##*.} = f90 + then + user=`dirname $value`/`$BASENAME $value .f90` + usersubname=$user.f90 + elif test ${basefile##*.} = F90 + then + user=`dirname $value`/`$BASENAME $value .F90` + usersubname=$user.F90 + fi + case $user in + \/*) + ;; + *) + user=`pwd`/$user + usersubname=`pwd`/$usersubname + ;; + esac + if test ! -f $usersubname + then + if test -f $usersubname.f + then + usersubname=$usersubname.f + elif test -f $usersubname.F + then + usersubname=$usersubname.F + elif test -f $usersubname.f90 + then + usersubname=$usersubname.f90 + elif test -f $usersubname.F90 + then + usersubname=$usersubname.F90 + fi + fi + ;; + esac + fi + $ECHO "User objects or libraries ($objs)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + objs= + ;; + *) + objs="$value" + ;; + esac + fi + $ECHO "Restart File Job ID ($rid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + rid= + ;; + *) + rid=`$BASENAME $value .t08` + DIRRID=`dirname $value` + case $DIRRID in + \/*) + ;; + *) + DIRRID=`pwd`/$DIRRID + ;; + esac + ;; + esac + fi + $ECHO "Substructure File ID ($sid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + sid= + ;; + *) + sid=$value + DIRSID=`dirname $value` + case $DIRSID in + \/*) + ;; + *) + DIRSID=`pwd`/$DIRSID + ;; + esac + ;; + esac + fi + $ECHO "Post File Job ID ($pid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + pid= + ;; + *) + pid=$value + DIRPID=`dirname $value` + case $DIRPID in + \/*) + ;; + *) + DIRPID=`pwd`/$DIRPID + ;; + esac + ;; + esac + fi + $ECHO "Defaults File ID ($did)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + did= + ;; + *) + did=`$BASENAME $value $dotdat` + DIRDID=`dirname $value` + case $DIRDID in + \/*) + ;; + *) + DIRDID=`pwd`/$DIRDID + ;; + esac + ;; + esac + fi + $ECHO "View Factor File ID ($vid)? $ECHOTXT" + read value + if test "$value" + then + case $value in + -*) + vid= + ;; + *) + vid=`$BASENAME $value .vfs` + DIRVID=`dirname $value` + case $DIRVID in + \/*) + ;; + *) + DIRVID=`pwd`/$DIRVID + ;; + esac + ;; + esac + fi + $ECHO "Save generated module ($prgsav)? $ECHOTXT" + read value + if test "$value" + then + prgsav=$value + fi + $ECHO "Run on tasks ($nprocdddm) tasks? $ECHOTXT" + read value + if test "$value" + then + nprocdddm=$value + nprocdddmprint=$value + fi + $ECHO "Run on ($nte) Element loop threads ? $ECHOTXT" + read value + if test "$value" + then + nte=$value + fi + $ECHO "Run on ($nsolver) solvers ? $ECHOTXT" + read value + if test "$value" + then + nsolver=$value + fi + $ECHO "Run on ($nts) Solver threads ? $ECHOTXT" + read value + if test "$value" + then + nts=$value + fi +# + if test $nprocdddm -gt 0 + then + nprocd=$nprocdddm + fi + if test $nsolver -gt 0 + then + if test $nsolver -gt $nprocd + then + nprocd=$nsolver + fi + fi +# Element loop threads. + if test $nte -eq -1 + then + nte=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nte -lt 0 + then + nte=0 + fi + nteprint=$nte +# Copy from ddm + if test $nprocdddm -gt 1 + then + nteprint=$nprocdddm + fi +# override with -nthread_elem option + if test $nte -ne 0 + then + nteprint=$nte + fi +# check for minimum 1 threads per processes for DDM + if test $nprocdddm -ne 0 + then + if test $nteprint -lt $nprocdddm + then + nteprint=$nprocdddm + fi + fi + nte=$nteprint +# Solver threads. + if test $nts -eq -1 + then + nts=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nts -lt 0 + then + nts=0 + fi + ntsprint=$nts +# Copy from ddm + if test $nprocdddm -gt 1 + then + ntsprint=$nprocdddm + fi +# override with -nthread_solver option + if test $nts -ne 0 + then + ntsprint=$nts + fi +# check for minimum 1 threads per solver process. + if test $nsolver -lt $nprocdddm + then + if test $ntsprint -lt $nsolver + then + ntsprint=$nsolver + fi + else + if test $ntsprint -lt $nprocdddm + then + ntsprint=$nprocdddm + fi + fi + if test $ntsprint -eq 1 + then + set ntsprint=0 + fi + nts=$ntsprint +# Update print variable for -nsolver option + nsolverprint=$nsolver + if test $nsolver -eq 0 + then + nsolverprint= + fi + $ECHO "GPGPU id option ($gpuids)? $ECHOTXT" + read value + if test "$value" + then + gpuids=$value + fi + if test "$gpuids" = "" ; then + gpuoption= + else + gpuoption="-gp $gpuids" + fi + if test "$gpuids" = "" ; then + export LD_LIBRARY_PATH=$CUDALIB1:$LD_LIBRARY_PATH + else + MARCCUDALIBS=$MARCCUDALIBS2 + export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH + fi + if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" + then + export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" + fi +# + if test $nprocd -gt 1 + then + $ECHO "Message passing type ($itree)? $ECHOTXT" + read value + if test "$value" + then + itree=$value + fi + $ECHO "Host file name ($host)? $ECHOTXT" + read value + if test "$value" + then + host=$value + fi + if test $nprocdddm -gt 1 + then + $ECHO "Single input file? $ECHOTXT" + read value + case $value in + y* | Y*) + icreated=1 + nprocdarg=-nprocds + ;; + esac + $ECHO "Compatible machines for DDM ($compatible)? $ECHOTXT" + read value + if test "$value" + then + compatible=$value + fi + $ECHO "Copy input files to remote hosts ($cpinput)? $ECHOTXT" + read value + if test "$value" + then + cpinput=$value + fi + $ECHO "Copy post files from remote hosts ($cpresults)? $ECHOTXT" + read value + if test "$value" + then + cpresults=$value + fi + fi + fi + $ECHO "Run the job in the queue ($qid)? $ECHOTXT" + read value + if test "$value" + then + qid=$value + fi + case $qid in + s* | S* | l* | L* | v* | V* ) + $ECHO "Queue priority ($priority)? $ECHOTXT" + read value + if test "$value" + then + priority=$value + fi + $ECHO "Job starts at ($att)? $ECHOTXT" + read value + if test "$value" + then + att=$value + fi + $ECHO "Queue CPU limit ($cpu)? $ECHOTXT" + read value + if test "$value" + then + cpu=$value + fi + ;; + * ) + ;; + esac + $ECHO "Run directory ($DIRJOB)? $ECHOTXT" + read value + if test "$value" + then + DIRJOB=$value + DIRSCR=$DIRJOB + fi + $ECHO "Scratch directory ($DIRSCR)? $ECHOTXT" + read value + if test "$value" + then + DIRSCR=$value + fi + ;; + quit) + if test "$deletelog" = no -a $oversubscribe = true + then + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + ;; + *) + break + ;; + +esac + + if test $nt -eq -1 + then + nt=${MARC_NUMBER_OF_THREADS:-0} + fi + if test $nt -lt 0 + then + nt=0 + fi + +done +# +if test $nt -eq 0 +then + ntarg= +fi +if test $nt -eq 0 +then + ntprint= +fi +if test $nt -eq 0 +then + nt= +fi + +if test $nte -eq 0 +then + ntearg= +fi +if test $nte -eq 0 +then + nteprint= +fi +if test $nte -eq 0 +then + nte= +fi + +if test $nts -eq 0 +then + ntsarg= +fi +if test $nts -eq 0 +then + ntsprint= +fi +if test $nts -eq 0 +then + nts= +fi +# +if test "$dllrun" -gt 0; then + exefile=exe_marc + prog=exe_marc + program=$exefile + bd=$MARC_BIN/ + if test "$user"; then + . $MARC_TOOLS/make_marc_user_dll $DIRJOB $user + user= + pathdll=yes + if test $prgsav = no; then + rmdll=yes + fi + if test $prgsav = yes; then + cpdll=yes + rmdll=yes + fi + fi + + if test "$pathdll"; then +# +# reset share lib path +# + if test $MACHINENAME = "HP" + then + SHLIB_PATH=$DIRJOB:$SHLIB_PATH + export SHLIB_PATH + fi + if test $MACHINENAME = "IBM" + then + LIBPATH=$DIRJOB:$LIBPATH + export LIBPATH + fi +# + LD_LIBRARY_PATH=$DIRJOB:$LD_LIBRARY_PATH + LD_LIBRARY64_PATH=$DIRJOB:$LD_LIBRARY64_PATH + LD_LIBRARYN32_PATH=$DIRJOB:$LD_LIBRARYN32_PATH + export LD_LIBRARY_PATH + export LD_LIBRARY64_PATH + export LD_LIBRARYN32_PATH + fi +fi +# end of dllrun>0 + + +if test $program = $exefile -o $program = $prog.marc +then + +# delete the old .log file unless we run in the background +if test "$deletelog" = yes +then + if test "$jid" + then + /bin/rm $jid.log 2>/dev/null + fi +else + echo + echo running the job in the background, see $jid.log + echo +fi + +# +# check if this is an autoforge or rezoning or radiation job +# +if test $nprocd -eq 1 -a "$jid" + +then + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^autoforge"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^rezoning"` + if test "$line" + then + autoforge=1 + fi + line=`$AWK '/^[eE][nN][dD]/ {exit} ; {print}' $DIRJID/${jid}$dotdat | grep -i "^radiation"` + if test "$line" + then + autoforge=1 + fi +fi +# +# check that jobname for restarted run is not the same +# as restart file basename +# +if test "$rid" +then + if test "$jid" = "$rid" + then + echo " " + echo "ERROR: job name of current run is the same as job name" + echo " of the restarted job" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "ERROR: job name of current run is the same as job name" >> $jid.log + echo " of the restarted job" >> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi +fi + +# +# user objects/libraries used +# + + if test "$objs" + then + program="$DIRJOB/$jid.marc" + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# user subroutine used +# + + if test "$user" + then +# program=$user.marc + program=$DIRJOB/`$BASENAME $user .f`.marc + case $program in + \/* | \.\/*) + bd= + ;; + *) + bd=`pwd`/ + ;; + esac + link=yes + fi + +# +# Special case for IBM using POE but not an SP machine +# in this case we always need a host file, also for serial jobs. +# +if test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP +then + MP_HOSTFILE=${jid}.host + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $nprocd -gt 1 + then + numdom=$nprocd + while test $numdom -gt 0 + do + hostname -s >> $MP_HOSTFILE + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + else + hostname -s > $MP_HOSTFILE + fi +fi +# +# check ssh for all hosts in host file +# +if test $nprocd -gt 1 +then +if test $MPITYPE = "intelmpi" -a "$INTELMPI_VERSION" = "HYDRA" + then +# get host list + if test "$host" + then + line=`grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' | uniq` +# count failing hosts + counter=0 + for i in $line + do + $RSH -o BatchMode=yes -o ConnectTimeout=10 $i uname -n + status=$? + if [[ $status != 0 ]] ; then + counter=$((counter+1)) + if [ "$counter" = "1" ]; then + echo " " + echo " error - connection test failed... " + echo " " + fi + echo " " + echo " connection test with ssh failed on host $i" + echo " check the following command: ssh $i uname -n " + echo " " + fi + done +# echo error message and quit + if test $counter -ne 0 + then + echo " " + echo " A parallel job using IntelMPI cannot be started. " + echo " The ssh command must be working correctly between " + echo " the computers used in the analysis. Furthermore, " + echo " it must be set up such that it does not prompt the " + echo " user for a password. " + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo " A parallel job using IntelMPI cannot be started. ">> $jid.log + echo " The ssh command must be working correctly between ">> $jid.log + echo " the computers used in the analysis. Furthermore, ">> $jid.log + echo " it must be set up such that it does not prompt the ">> $jid.log + echo " user for a password. ">> $jid.log + echo " " >> $jid.log + echo " Exit number 8" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi +fi +fi +# +# check correctness of host file; fix for user sub +# + if test $nprocd -gt 1 + then + +# construct the path name to the executable (execpath) + execpath=$MARC_BIN/$exefile + usersub=0 + if test $program = $prog.marc + then + execpath=$prog.marc + usersub=1 + fi + if test "$objs" + then + execpath="$DIRJOB/$jid.marc" + usersub=1 + fi + if test "$user" + then + execpath=$DIRJOB/`$BASENAME $user .f`.marc + usersub=1 + fi + export execpath + execname=`$BASENAME $execpath` + + if test "$host" + then + userhost=$host + case $userhost in + \/* | \.\/*) + ;; + *) + userhost=`pwd`/$userhost + ;; + esac + +# check that the number of processes specified in the hostfile is +# equal to nprocd specified by -nprocd. + numproc=`grep -v '^#' $host | $AWK -v sum=0 '{sum=sum+$2}; END {print sum}'` + if test $nprocd -ne $numproc + then + echo " " + echo "error, the number of processes specified in the host file" + echo "must be equal to the number of processes given by -nprocd/-nsolver" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, the number of processes specified in the host file" >> $jid.log + echo "must be equal to the number of processes given by -nprocd/-nsolver" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + +# check for Myrinet that the number of processes per host is +# less than number of available user ports, 5 +# .gmpi directory must exist in user's home directory +# and must have write permission from remote hosts + if test $MPITYPE = "myrinet" + then + numproc=`grep -v '^#' $host | $AWK -v sum=1 '{if( $2 > 5) sum=6}; END {print sum}'` + if test $numproc -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes specified " + echo "in the hostfile must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes specified " >> $jid.log + echo "in the hostfile must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + if test ! -d ~/.gmpi + then + echo " " + echo "error, for Myrinet a .gmpi directory must exist " + echo "under the user's home directory" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a .gmpi directory must exist " >> $jid.log + echo "under the user's home directory" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + homedir=`echo ~` + for i in `grep -v '^#' $host | $AWK '{if (NF > 0) print $1}'` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + $RSH $i /bin/touch $homedir/.gmpi/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + echo " " + echo "error, for Myrinet a shared .gmpi directory must exist " + echo "under the user's home directory " + echo "with remote write permission" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet a shared .gmpi directory must exist " >> $jid.log + echo "under the user's home directory " >> $jid.log + echo "with remote write permission" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + else + /bin/rm tmp.$$ + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + fi + fi + done + fi + fi + +# construct the host file $jid.host which is used by mpirun +# skip lines starting with # and only consider lines with more than +# one word in them. Note that the hostfile given to this script +# has two columns: the host name and the number of shared processes +# to run on this host. mpirun wants the number of _other_ +# processes to run in addition to the one being run on the machine +# on which the job is started. hence the $2-1 for fnr == 1. + if test -f $jid.host + then + /bin/rm $jid.host 2> /dev/null + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then +# HPMPI or HP hardware MPI + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ + -v mpihpspecial="$MPIHPSPECIAL" \ +'{if ( NF > 0) {\ + fnr++ ; \ + printf("-h %s -np %s",$1,$2); \ + printf(" %s",mpihpspecial); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF >= 3 ) printf(" -e MPI_WORKDIR=%s", $3);\ + if ( NF >= 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) \ + }\ + }' > $jid.host +# end HPMPI or HP hardware MPI + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then +# IBM using hardware MPI (POE) + MP_HOSTFILE=$jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.host +# end IBM using hardware MPI (POE) +# for Intel MPI, need to create a machinefile for DMP + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then +# Intel MPI + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + /bin/cp $host $jid.host + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Intel MPI for DMP +# for Solaris HPC 7.1, need to create a machinefile for DMP + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then +# Solaris HPC 7.1 + if test -f $jid.mfile + then + /bin/rm $jid.mfile 2> /dev/null + fi + grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile +# end Solaris HPC 7.1 for DMP +# for Myrinet, construct a configuration file in ~/.gmpi +# this must be readable by each process +# format is (hostname) (port number) for each process + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + grep -v '^#' $host | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ +{if ( NF > 0 ) \ + for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc]); \ +}' >> ~/.gmpi/$jid.host + else +# this is for mpich-1.2.5 and later, using the -pg option +# format: host nproc executable user arguments +# the arguments are added later + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub -v user=`whoami` \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s %s\n",path,user);\ + if ( NF == 3 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s %s\n",path,user) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s %s\n",$3,en,user); else printf(" %s/bin/%s %s\n",$4,en,user) \ + }\ + }' > $jid.host + fi +# end Myrinet + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then +# Compaq MPI via Memory Channel + grep -v '^#' $host | $AWK '{if (NF > 0) print $1}' > $jid.host +# end Compaq MPI + else +# MPICH + grep -v '^#' $host | $AWK -v path=$execpath -v en=$execname -v us=$usersub \ +'{if ( NF > 0) {\ + fnr++ ; \ + if ( fnr == 1 ) printf("%s %d",$1,$2-1); \ + else printf("%s %s",$1,$2); \ + if ( NF == 2 ) printf(" %s\n",path);\ + if ( NF == 3 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s\n",path) ;\ + if ( NF == 4 ) if (us) printf(" %s/%s\n",$3,en); else printf(" %s/bin/%s\n",$4,en) \ + }\ + }' > $jid.host + fi +# define the variable host and host_filt +# host_filt is used for loops over hosts +# for Myrinet we need to use a filtered variant of userhost +# for others we can use $host + if test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + host=~/.gmpi/$jid.host + host_filt=$jid.host_tMp + grep -v '^#' $userhost | $AWK '{if (NF > 0) print $1}' > $host_filt + else + host=$jid.host + host_filt=$host + fi + else + host=$jid.host + host_filt=$host + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + host_filt=$jid.mfile + fi + fi +# figure out if the machines in the hostfile are nfs mounted +# or distributed and set the variable "dirstatus" accordingly. +# only perform the check if user subroutine is used +# or a user subroutine executable is used + + numfield=1 + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + numfield=2 + fi + DIR1=$DIRJOB + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + counter=0 + echo " " + echo "checking if local or shared directories for host" + if test "$deletelog" = no + then + echo "checking if local or shared directories for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + dirstatus[$counter]="shared" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + $RSH $i /bin/touch $DIR1/$jid.$$ 2> tmp.$$ + if test -s tmp.$$ + then + dirstatus[$counter]="local" + /bin/rm tmp.$$ + else + if test ! -f $jid.$$ + then + dirstatus[$counter]="local" + $RSH $i /bin/rm $DIR1/$jid.$$ + else + /bin/rm $jid.$$ + fi + fi + if test -f tmp.$$ + then + /bin/rm tmp.$$ + fi + if test -f $jid.$$ + then + /bin/rm $jid.$$ + fi + echo " ${dirstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${dirstatus[$counter]}" >> $jid.log + fi + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + fi + +# figure out if this is a compatible set of machines +# unless explicitly specified with flag -comp +# only perform the check if user subroutine is used +# or a user subroutine executable is used +# Myrinet does not support heterogeneous + if test $program = $prog.marc -o -n "$user" -o -n "$objs" + then + if test $compatible = "unknown" + then + thisname=$ARCH + compatible=yes + counter=0 + echo "checking if machines are compatible for host" + if test "$deletelog" = no + then + echo "checking if machines are compatible for host" >> $jid.log + fi + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]="yes" + $ECHO " $i $ECHOTXT" + if test "$deletelog" = no + then + $ECHO " $i $ECHOTXT" >> $jid.log + fi + othername=`$RSH $i uname -a | cut -f 1 -d " "` + if test $thisname != $othername + then + compatible=no + compstatus[$counter]="no" + fi + fi + echo " ${compstatus[$counter]}" + if test "$deletelog" = no + then + echo " ${compstatus[$counter]}" >> $jid.log + fi + done + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + fi + else + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + compstatus[$counter]=$compatible + fi + done + if test $compatible = "no" + then + echo "all machines assumed incompatible" + if test "$deletelog" = no + then + echo "all machines assumed incompatible" >> $jid.log + fi + else + echo "all machines compatible" + if test "$deletelog" = no + then + echo "all machines compatible" >> $jid.log + fi + fi + fi +# error out if user objects or libraries are used on incompatible machines + if test "$compatible" = "no" -a -n "$objs" + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" + if test "$deletelog" = no + then + echo "User object/libraries cannot be used in a parallel job on incompatible machines" >> $jid.log + fi + exit 1 + fi +# modify new host file if NFS mounted heterogeneous machine + doit= + if test $program = $prog.marc + then + doit=yes + fi + if test "$user" + then + doit=yes + fi + if test "$doit" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + $AWK -v hst=$i '{fnr++ ; \ +if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ +printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} + /bin/mv $jid.host{$$} $jid.host + host=$jid.host + fi + fi + done + fi + fi # if test $program = $prog.marc -o $user -o $obj + + else # if test $host + # assume shared memory machine if no hostfile given and + # MPITYPE is set to mpich or Myrinet + # check for Myrinet that the total number of processes is + # less than number of available user ports, 5 + if test $MPITYPE = "mpich" -o $MPITYPE = "scali" + then + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + host=$jid.host + elif test $MPITYPE = "myrinet" + then + if test $nprocd -gt 5 + then + echo " " + echo "error, for Myrinet the number of processes " + echo "must not exceed 5 for a hostname" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error, for Myrinet the number of processes " >> $jid.log + echo "must not exceed 5 for a hostname" >> $jid.log + echo " " >> $jid.log + fi + exit 1 + fi + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + echo $nprocd > ~/.gmpi/$jid.host + echo `hostname` $nprocd | $AWK \ +'BEGIN {iport[0] = 2; \ + iport[1] = 4; \ + iport[2] = 5; \ + iport[3] = 6; \ + iport[4] = 7 \ + } \ + {for(iproc = 0; iproc < $2; iproc++) printf("%s %d\n",$1,iport[iproc])} \ +' >> ~/.gmpi/$jid.host + host=~/.gmpi/$jid.host + else + numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` + echo `hostname` $numproc $execpath > $jid.host + + fi + fi # if test myrinet + + fi # if test $host + + fi # if test $nprocd -gt 1 + +fi # if test $program = $exefile -o $program = $prog.marc + +############################################################################## +# construct run stream (Marc only) # +############################################################################## + +# set maximum message length for ddm to a large number +# for vendor provided mpi +if test $itree -eq 0 -a $MPITYPE = hardware +then + itree=100000000 + if test $MACHINENAME = SGI + then + itree=100000001 + fi +fi +if test $itree -eq 0 -a $MPITYPE = hpmpi +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = myrinet +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = nec +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = scali +then + itree=100000000 +fi +if test $itree -eq 0 -a $MPITYPE = intelmpi +then + itree=100000000 +fi +if test $nprocdddm -lt 2 +then + nprocdarg= +else + nprocdarg="$nprocdarg $nprocdddm" +fi +if test $nsolver -eq 0 +then + nsolverarg= +else + nsolverarg="$nsolverarg $nsolver" +fi +if test $nprocdddm -lt 2 -a $nsolver -eq 0 +then +nprocd=0 +fi +if test $nprocd -gt 0 +then + if test "$host" + then + if test -z "$RUN_JOB2" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $host -- -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = IBM -a $MPITYPE = hardware -a "$MACHINETYPE" = NONSP + then + RUN_JOB="$RUN_JOB2 $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MPITYPE = "myrinet" + then + if test $MPIVERSION = "MPICH-GM1.2.1..7" + then + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB_TMP="$RUN_JOB2 $host $bd$program" + RUN_JOB=" -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + elif test $MACHINENAME = DEC -a $MPITYPE = hardware + then + RUN_JOB="$RUN_JOB2 $nprocd -hf $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + elif test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + numhost=`uniq $jid.mfile | wc -l` + if test "$INTELMPI_VERSION" = "HYDRA" + then + RUN_JOB_TMP="$RUN_JOB2 -configfile $jid.cfile" + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n $numhost -r $RSH -f $jid.mfile + RUN_JOB_TMP="$RUN_JOB2 $jid.cfile" + fi + +# intelmpi uses configfile. format: +# -host host1 -n n1 executable marcargs +# one such line per host +# collect the marcargs in RUN_JOB and construct the config file later +# collect the run stream in RUN_JOB_TMP + RUN_JOB="-jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + + + elif test $MACHINENAME = "SUN" -a $MPITYPE = "hardware" + then + RUN_JOB="$RUN_JOB2 $jid.mfile -n $nprocd $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB2 $host $bd$program -jid $jid -dirjid $DIRJID \ +$nprocdarg \ +$nsolverarg \ +-maxnum $MAXNUM -itree $itree \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test "$userhost" + then + RUN_JOB="$RUN_JOB -mhost $userhost" + fi + if test $MPITYPE = "scali" + then +# set default working directory to /tmp to allow +# different directory names + SCAMPI_WORKING_DIRECTORY=/tmp + export SCAMPI_WORKING_DIRECTORY + fi + else + if test -z "$RUN_JOB1" + then + echo " " + echo "error: parallel job attempted on non-parallel version," + echo " or, if parallel version is installed, the include " + echo " file is probably corrupted" + echo " " + if test "$deletelog" = no + then + echo " " >> $jid.log + echo "error: parallel job attempted on non-parallel version," >> $jid.log + echo " or, if parallel version is installed, the include " >> $jid.log + echo " file is probably corrupted" >> $jid.log + echo " " >> $jid.log + fi + exit + fi + RUNNPROCD=$nprocd + if test $MACHINENAME = "IBM" -a $MPITYPE = "hardware" + then + RUNNPROCD= + MP_PROCS=$nprocd + export MP_PROCS + fi + if test $MPITYPE = "myrinet" + then + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + echo " " > /dev/null + else + export I_MPI_JOB_CONTEXT=$$ + mpdboot -n 1 -f $jid.hosts + fi + RUN_JOB="$RUN_JOB1 $RUNNPROCD $bd$program -jid $jid -dirjid $DIRJID \ + $nprocdarg \ + $nsolverarg \ + -maxnum $MAXNUM -itree $itree \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi + fi +else + if test $ndcoup -gt 0 + then + RUN_JOB="$RUN_JOB0 $BINDIR/exe_auto $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ + $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + else +# this is for a serial job without auto restart: + RUN_JOB="$RUN_JOB0 $bd$program -jid $jid -dirjid $DIRJID \ +-maxnum $MAXNUM \ +$ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " + fi +fi +if test "$rid" +then + RUN_JOB="$RUN_JOB -rid $rid -dirrid $DIRRID" +fi +if test "$pid" +then + RUN_JOB="$RUN_JOB -pid $pid -dirpid $DIRPID" +fi +if test "$sid" +then + RUN_JOB="$RUN_JOB -sid $sid -dirsid $DIRSID" +fi +if test "$did" +then + RUN_JOB="$RUN_JOB -def $did -dirdid $DIRDID" +fi +if test "$vid" +then + RUN_JOB="$RUN_JOB -vf $vid -dirvid $DIRVID" +fi +if test $ndcoup -gt 0 +then + RUN_JOB="$RUN_JOB -dcoup $ndcoup " +fi +if test $ndytran -gt 0 +then + RUN_JOB="$RUN_JOB -dytran $ndytran " +fi +if test $mesh -gt 0 +then + RUN_JOB="$RUN_JOB -me $mesh " +fi +if test $noutcore -gt 0 +then + RUN_JOB="$RUN_JOB -outcore $noutcore " +fi +if test "$dllrun" -gt 0 +then + RUN_JOB="$RUN_JOB -dll $dllrun " +fi +if test "$trkrun" -gt 0 +then + RUN_JOB="$RUN_JOB -trk $trkrun " +fi +if test "$iam" +then + RUN_JOB="$RUN_JOB -iam $iam " +fi +if test "$justlist" +then + RUN_JOB="$RUN_JOB -list 1 " +fi +if test "$feature" +then + RUN_JOB="$RUN_JOB -feature $feature " +fi +if test "$memlimit" -ne 0 +then + RUN_JOB="$RUN_JOB -ml $memlimit " +fi +if test "$cpinput" +then + RUN_JOB="$RUN_JOB -ci $cpinput " +fi +if test "$cpresults" +then + RUN_JOB="$RUN_JOB -cr $cpresults " +fi +if test "$DIRSCR" != "$DIRJOB" +then + RUN_JOB="$RUN_JOB -dirscr $DIRSCR" +else + DIRSCR=$DIRJOB +fi +if test "$makebdf" +then + RUN_JOB="$RUN_JOB -bdf $makebdf " +fi +if test $MPITYPE = "myrinet" -a "$host" -a "$MPIVERSION" != "MPICH-GM1.2.1..7" +then + # append $RUN_JOB to all lines of the host file + # and set RUN_JOB + $AWK -v args="$RUN_JOB" '{print $0,args}' $host > $host.$$ + /bin/mv $host.$$ $host + RUN_JOB=$RUN_JOB_TMP +fi +if test $MPITYPE = "intelmpi" -a "$host" +then + # construct config file, append $RUN_JOB to all lines of the config file + # and set RUN_JOB + if test "$INTELMPI_VERSION" = "HYDRA" + then + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf(" -host %s",$1); \ + printf(" -n %s",$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + else + grep -v '^#' $host | $AWK -v args="$RUN_JOB" -v path=$execpath -v en=$execname -v us=$usersub \ + '{if ( NF > 0) {\ + printf("-host %s -n %s",$1,$2); \ + if ( NF == 2 ) printf(" %s",path);\ + if ( NF >= 3 ) printf(" -wdir %s ",$3); \ + if ( NF >= 3 ) if (us) printf(" %s/%s",$3,en); else printf(" %s",path); \ + printf(" %s\n",args); \ + }\ + }' > $jid.cfile + fi + RUN_JOB=$RUN_JOB_TMP +fi +echo " " +echo "Final run stream value" +echo " RUNJOB="$RUN_JOB +if test "$deletelog" = no +then +echo " " >> $jid.log +echo "Final run stream value" >> $jid.log +echo " RUNJOB="$RUN_JOB >> $jid.log +fi + + +# +# check for external file to run using valgrind +# +if test -f $MARC_TOOLS/run_marc_valgrind +then + . $MARC_TOOLS/run_marc_valgrind +fi + + +############################################################################## +# run the requested program in a queue # +############################################################################## + +if test "$deletelog" = yes +then + echo + date +else + echo >> $jid.log + date >> $jid.log +fi +if [ $qid = short -o $qid = long -o $qid = verylong -o $qid = at ] +then + +/bin/rm -f $jid.runmarcscript + + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + userobj=$DIRJOB/`$BASENAME $user .f`.o + basefile=`$BASENAME $usersubname` + if test ${basefile##*.} = f + then + usersub=$DIRJOB/`$BASENAME $user .f`.F + ln -sf "$user.f" "$usersub" + else + usersub=$usersubname + fi + + fi + cat > $jid.runmarcscript << END4 + if test "$user" + then + if test ${basefile##*.} = f + then + ln -sf "$user.f" "$usersub" + fi + if test $MACHINENAME = "CRAY" + then + $FORTRAN $usersub || \ + { + echo "$0: compile failed for $user.f" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $FORTRAN $usersub -o $userobj || \ + { + echo "$0: compile failed for $user.f" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + if test ${basefile##*.} = f + then + /bin/rm -f "$usersub" + fi + fi + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + $SOLVERLIBS \ + $MARCCUDALIBS \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } +END4 +else + prgsav=yes +fi +/bin/rm $userobj 2>/dev/null + +# +# run marc +# + +cat >> $jid.runmarcscript << END5 + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# first remove all .out files and incremental restart files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + /bin/rm $DIRJOB/$numdom${jid}_i_*.t08 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null + /bin/rm $DIRJOB/${jid}_i_*.t08 2>/dev/null +fi + +if test $nprocdddm -gt 1 +then + $RUN_JOB 2>>$jid.log +else + $RUN_JOB 2>>$jid.log +fi + +if test $dllrun -eq 0; then + if test $prgsav = no + then + /bin/rm -f $bd$program 2>/dev/null + fi +else + if test $cpdll = yes; then + filename=`basename $usersubname .f` + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes + then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test \$numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + numdom=\`echo \$numdom | $AWK '{sum=\$1-1}; {print sum}'\` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null +fi +END5 + + +# Submit to marc batch queue +# +if [ $qid = at ] +then +QUENAME=at +SUBMCMD= +else +# +# Submit to qsub queue +# +QUENAME=qsub +SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" +if test "$priority" +then + SUBMCMD=$SUBMCMD" -p $priority" +fi +if test "$att" +then + SUBMCMD=$SUBMCMD" -a $att" +fi +if test "$cpu" +then + SUBMCMD=$SUBMCMD" -lt $cpu" +fi + +fi +echo $QUENAME $SUBMCMD +#cat $jid.runmarcscript +$QUENAME $SUBMCMD < $jid.runmarcscript + +/bin/rm -f $jid.runmarcscript + +############################################################################## +# run the requested program in the background # +############################################################################## + +else +if test $qid = background +then + +# +# first remove all old .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi +# +# compile user subroutine if present +# +( +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user.f $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_user $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user.f on host $i" + echo " $PRODUCT Exit number 3" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser.f 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user.f on host `hostname`" + fi + userobj=$DIRJOB/`$BASENAME $user .f`.o + basefile=`$BASENAME $usersubname` + if test ${basefile##*.} = f + then + usersub=$DIRJOB/`$BASENAME $user .f`.F + ln -sf "$user.f" "$usersub" + else + usersub=$usersubname + fi + if test $MACHINENAME = "CRAY" + then + $FORTRAN $usersub || \ + { + echo "$0: compile failed for $user.f" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $FORTRAN $usersub -o $userobj || \ + { + echo "$0: compile failed for $user.f" + echo " $PRODUCT Exit number 3" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + if test ${basefile##*.} = f + then + /bin/rm -f "$usersub" + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + echo " $PRODUCT Exit number 3" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null + +# +# run marc + +# + +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + + +$RUN_JOB & + +marcpid=$! +echo $marcpid > $DIRJOB/$jid.pid +wait $marcpid + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + fi + fi + fi +fi + + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi + fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=`basename $usersubname .f` + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi +) 1>>$jid.log 2>&1 & + + +############################################################################## +# run the requested program in the foreground # +############################################################################## + +else + +# +# compile user subroutine if present +# +if test "$link" +then + if test -z "$FCOMPROOT"; then + echo "$0: No compiler available" + echo + echo " $PRODUCT Exit number 3" + exit 1 + fi + echo + echo "Using compiler from: $FCOMPROOT" + echo + if test "$user" + then + # compile and link on other hosts in $host if compstatus=no + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${compstatus[$counter]} = "no" + then + DIR1=$DIRJOB + DIR2=$DIR + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + marcdir=`echo $line | $AWK '{print $4}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + if test -n "$marcdir" + then + DIR2=$marcdir + fi + # first copy over the user sub if local directories + if test ${dirstatus[$counter]} = "local" + then + $RCP $user.f $i:$DIR1/ + fi + # do the compilation on the other machine + if test ${dirstatus[$counter]} = "shared" + then + hname=_$ibase + else + hname= + fi + remoteprog=$DIR1/${execname}$hname + remoteuser=$DIR1/`$BASENAME $user` + $RSH $i /bin/rm $remoteprog 2> /dev/null + echo + $RSH $i $DIR2/tools/comp_user $DIR2 $DIR1 $remoteuser $remoteprog + # check if successful, the new executable should be there + line=`$RSH $i /bin/ls $remoteprog 2> /dev/null` + if test "$line" + then + echo compilation and linking successful on host $i + else + echo "$0: compile failed for $user.f on host $i" + exit 1 + fi + # remove the user subroutine on remote machine + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $remoteuser.f 2> /dev/null + fi + fi + fi + done + fi + fi + if test "$userhost" + then + echo + echo "Compiling and linking user subroutine $user.f on host `hostname`" + fi + userobj=$DIRJOB/`$BASENAME $user .f`.o + basefile=`$BASENAME $usersubname` + if test ${basefile##*.} = f + then + usersub=$DIRJOB/`$BASENAME $user .f`.F + ln -sf "$user.f" "$usersub" + else + usersub=$usersubname + fi + if test $MACHINENAME = "CRAY" + then + $FORTRAN $usersub || \ + { + echo "$0: compile failed for $user.f" + exit 1 + } + /bin/rm $program 2>/dev/null + else + $FORTRAN $usersub -o $userobj || \ + { + echo "$0: compile failed for $user.f" + exit 1 + } + /bin/rm $program 2>/dev/null + fi + if test ${basefile##*.} = f + then + /bin/rm -f "$usersub" + fi + fi # if test $user + + + $LOAD $bd${program} $MARC_LIB/main.o \ + $MARC_LIB/blkdta.o $MARC_LIB/comm?.o \ + ${userobj-} \ + $objs \ + $SRCLIB \ + $MNFLIBS \ + $MDUSER \ + ${MUMPSSOLVERLIBS} \ + $MDSRCLIB \ + $MARC_LIB/mcvfit.a \ + $STUBS \ + ${SOLVERLIBS} \ + ${MARCCUDALIBS} \ + $TKLIBS \ + $MRCLIBS \ + $METISLIBS \ + $SFLIB \ + $OPENSSL_LIB \ + $SYSLIBS \ + $SECLIBS || \ + { + echo "$0: link failed for ${user:+$userobj }$objs" + exit 1 + } + # copy user subroutine executable for hosts using local working dir + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" + then + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + echo "Copying executable to host ${i}" + $RCP $program ${i}:${DIR1}/ + fi + fi + done + fi + fi +else # if test $link + prgsav=yes +fi # if test $link +/bin/rm $userobj 2>/dev/null + +# done if no job id given +if test -z "$jid" +then + echo + echo only compilation requested + echo + exit +fi +# +# run marc +# +# Define share library path based on platforms +# This is required for using the Patran Mesher +if test $MACHINENAME = "IBM" +then + LIBPATH=$MARC_LIB:$MARC_LIB_SHARED:$LIBPATH + export LIBPATH +fi +# first remove all .out files +# the ones for ddm are removed in the code +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRJOB/$numdom$jid.out 2>/dev/null + /bin/rm $DIRJOB/$numdom$jid.log 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done +else + /bin/rm $DIRJOB/$jid.out 2>/dev/null +fi + +# for DDM with ARC support + +if test $ddm_arc -gt 0; then + RUN_JOB="$BINDIR/exeddm $RUN_JOB -ddm $ddm_arc " +fi + +$RUN_JOB + +if test $nprocd -gt 1 +then + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + then + if test "$INTELMPI_VERSION" = "HYDRA" + then + if test "$host" + then + /bin/rm $jid.mfile 2> /dev/null + /bin/rm $jid.hosts 2> /dev/null + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.cfile 2> /dev/null + else + echo " " > /dev/null + fi + else + if test "$host" + then + mpdcleanup -a -f $jid.mfile + /bin/rm $jid.host 2> /dev/null + /bin/rm $jid.mfile 2> /dev/null + else + mpdcleanup -a -f $jid.hosts + /bin/rm $jid.hosts 2> /dev/null + fi + fi + fi +fi + +if test $dllrun -eq 0; then +if test $prgsav = no +then + /bin/rm -f $bd$program 2>/dev/null + # for network run, remove executable on remote machines + # and executables with modified name + if test $nprocd -gt 1 + then + if test "$userhost" + then + counter=0 + if test -f "$host_filt" + then + for i in `$AWK -v n=$numfield '{print $n}' $host_filt` + do + ibase=${i%%.*} + if test $ibase != $thishost + then + counter=$((counter+1)) + DIR1=$DIRJOB + line=`grep -v '^#' $userhost | grep "^$ibase "` + workdir=`echo $line | $AWK '{print $3}'` + if test -n "$workdir" + then + DIR1=$workdir + fi + # if an incompatible host uses shared directory, + # then the root machine deletes the executable + if test ${dirstatus[$counter]} = "shared" -a ${compstatus[$counter]} = "no" + then + hname=_$ibase + /bin/rm ${execname}$hname + fi + # if local directory used, the remote machine + # deletes the executable + if test ${dirstatus[$counter]} = "local" + then + $RSH $i /bin/rm $DIR1/${execname} 2>/dev/null + fi + fi + done + fi + fi + fi +fi +else +#dllrun >0 + if test $cpdll = yes; then + filename=`basename $usersubname .f` + /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null + fi + if test $rmdll = yes;then + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + fi +fi + +if test $nprocdddm -gt 1 +then + numdom=$nprocdddm + while test $numdom -gt 0 + do + /bin/rm $DIRSCR/$numdom$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t74 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t75 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t76 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t77 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t78 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t79 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t84 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t85 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t86 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t87 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t88 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.t90 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sle 2>/dev/null + /bin/rm $DIRSCR/$numdom$jid.sin 2>/dev/null + numdom=`echo $numdom | $AWK '{sum=$1-1}; {print sum}'` + done + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + if test $MPITYPE = "myrinet" + then + if test -f "$host_filt" + then + /bin/rm $host_filt + fi + fi +else + /bin/rm $DIRSCR/$jid.t02 2>/dev/null + /bin/rm $DIRSCR/$jid.t03 2>/dev/null + /bin/rm $DIRSCR/$jid.t11 2>/dev/null + /bin/rm $DIRSCR/$jid.t12 2>/dev/null + /bin/rm $DIRSCR/$jid.t13 2>/dev/null + /bin/rm $DIRSCR/$jid.t14 2>/dev/null + /bin/rm $DIRSCR/$jid.t15 2>/dev/null + /bin/rm $DIRSCR/$jid.t22 2>/dev/null + /bin/rm $DIRSCR/$jid.t23 2>/dev/null + /bin/rm $DIRSCR/$jid.t32 2>/dev/null + /bin/rm $DIRSCR/$jid.t33 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t81* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t82* 2>/dev/null + /bin/rm $DIRSCR/$jid.*.t83* 2>/dev/null + /bin/rm $DIRSCR/$jid.t84 2>/dev/null + /bin/rm $DIRJOB/$jid.pid 2>/dev/null + /bin/rm $DIRJOB/$jid.sle 2>/dev/null + /bin/rm $DIRJOB/$jid.sin 2>/dev/null +fi + + +fi +fi diff --git a/installation/mods_MarcMentat/2020/Mentat_bin/edit_window b/installation/mods_MarcMentat/2020/Mentat_bin/edit_window new file mode 100644 index 000000000..b732a7694 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Mentat_bin/edit_window @@ -0,0 +1,5 @@ +#!/bin/sh +# This script opens a window running an editor. +# The command to invoke the editor is specified during DAMASK installation + +%EDITOR% $* \ No newline at end of file diff --git a/installation/mods_MarcMentat/2020/Mentat_bin/edit_window.original b/installation/mods_MarcMentat/2020/Mentat_bin/edit_window.original new file mode 100644 index 000000000..64c0a68d0 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Mentat_bin/edit_window.original @@ -0,0 +1,18 @@ +#!/bin/sh +# This script opens a window running an editor. The default window is an +# xterm, and the default editor is vi. These may be customized. + +dir= +for d in /usr/bin /usr/bin/X11; do + if test -x "$d/xterm"; then + dir="$d" + break + fi +done + +if test -z "$dir"; then + echo "$0: Could not find xterm" + exit 1 +fi + +"$dir/xterm" -T "vi $*" -n "vi $*" -e vi $* diff --git a/installation/mods_MarcMentat/2020/Mentat_bin/kill1.original b/installation/mods_MarcMentat/2020/Mentat_bin/kill1.original new file mode 100644 index 000000000..6d1ff84bf --- /dev/null +++ b/installation/mods_MarcMentat/2020/Mentat_bin/kill1.original @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ "$1" = "" ]; then + echo "usage: $0 job_name" + exit 1 +fi + +echo STOP > $1.cnt diff --git a/installation/mods_MarcMentat/2020/Mentat_bin/kill4 b/installation/mods_MarcMentat/2020/Mentat_bin/kill4 new file mode 100644 index 000000000..6d1ff84bf --- /dev/null +++ b/installation/mods_MarcMentat/2020/Mentat_bin/kill4 @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ "$1" = "" ]; then + echo "usage: $0 job_name" + exit 1 +fi + +echo STOP > $1.cnt diff --git a/installation/mods_MarcMentat/2020/Mentat_bin/kill5 b/installation/mods_MarcMentat/2020/Mentat_bin/kill5 new file mode 100644 index 000000000..6d1ff84bf --- /dev/null +++ b/installation/mods_MarcMentat/2020/Mentat_bin/kill5 @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ "$1" = "" ]; then + echo "usage: $0 job_name" + exit 1 +fi + +echo STOP > $1.cnt diff --git a/installation/mods_MarcMentat/2020/Mentat_bin/kill6 b/installation/mods_MarcMentat/2020/Mentat_bin/kill6 new file mode 100644 index 000000000..6d1ff84bf --- /dev/null +++ b/installation/mods_MarcMentat/2020/Mentat_bin/kill6 @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ "$1" = "" ]; then + echo "usage: $0 job_name" + exit 1 +fi + +echo STOP > $1.cnt diff --git a/installation/mods_MarcMentat/2020/Mentat_bin/submit1.original b/installation/mods_MarcMentat/2020/Mentat_bin/submit1.original new file mode 100644 index 000000000..b848dabc1 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Mentat_bin/submit1.original @@ -0,0 +1,189 @@ +#!/bin/sh +# +# The exit status of this script is read by Mentat. +# Normal exit status is 0. +# + +DIR=/nethome/f.roters/temp/msc/marc2020 +if test $MARCDIR1 +then + DIR=$MARCDIR1 +fi + +if test -z "$DIR"; then + REALCOM="`ls -l $0 |awk '{ print $NF; }'`" + DIRSCRIPT=`dirname $REALCOM` + case $DIRSCRIPT in + \/*) + ;; + *) + DIRSCRIPT=`pwd`/$DIRSCRIPT + ;; + esac + . $DIRSCRIPT/getarch + + DIR="$MENTAT_MARCDIR" +fi + +SRCEXT=.f +SRCEXTC=.F +RSTEXT=.t08 +PSTEXT=.t19 +PSTEXTB=.t16 +VWFCEXT=.vfs + +slv=$1 +version=$2 +ndom_fea_solver=$3 +ndom_preprocessor=$4 +hostfile=$5 +compat=$6 +job=$7 +srcfile=$8 +srcmeth=$9 +shift 9 # cannot use $10, $11, ... +restart=$1 +postfile=$2 +viewfactorsfile=$3 +copy_datfile="-ci $4" +copy_postfile="-cr $5" +scr_dir=$6 +dcoup=$7 +assem_recov_nthread=$8 +nthread=$9 +shift 9 # cannot use $10, $11, ... +nsolver=$1 +mode=$2 +gpu=$3 + +if [ "$slv" != "" -a "$slv" != "marc" -a "$slv" != "datfit" ]; then + slv="-iam sfm" +fi +if [ "$slv" == "marc" ]; then + slv="" +fi +if [ "$slv" == "datfit" ]; then + slv="-iam datfit" +fi + +if [ "$ndom_fea_solver" != "" -a "$ndom_fea_solver" != "1" ]; then + nprocds="-nprocds $ndom_fea_solver" +else + nprocd="" + if [ "$ndom_preprocessor" != "" -a "$ndom_preprocessor" != "1" ]; then + nprocd="-nprocd $ndom_preprocessor" + else + nprocd="" + fi +fi + +if [ "$srcfile" != "" -a "$srcfile" != "-" ]; then + srcfile=`echo $srcfile | sed "s/$SRCEXT$//" | sed "s/$SRCEXTC$//"` + case "$srcmeth" in + -) + srcfile="-u $srcfile" + ;; + compsave) + srcfile="-u $srcfile -save y" + ;; + runsaved) + srcfile="-prog $srcfile" + ;; + esac +else + srcfile="" +fi + +if [ "$restart" != "" -a "$restart" != "-" ]; then + restart=`echo $restart | sed "s/$RSTEXT$//"` + restart="-r $restart" +else + restart="" +fi + +if [ "$postfile" != "" -a "$postfile" != "-" ]; then + postfile=`echo $postfile | sed "s/$PSTEXT$//"` + postfile=`echo $postfile | sed "s/$PSTEXTB$//"` + postfile="-pid $postfile" +else + postfile="" +fi + +if [ "$viewfactorsfile" != "" -a "$viewfactorsfile" != "-" ]; then + viewfactorsfile=`echo $viewfactorsfile | sed "s/$VWFCEXT$//"` + viewfactorsfile="-vf $viewfactorsfile" +else + viewfactorsfile="" +fi + +if [ "$hostfile" != "" -a "$hostfile" != "-" ]; then + hostfile="-ho $hostfile" +else + hostfile="" +fi + +if [ "$compat" != "" -a "$compat" != "-" ]; then + compat="-co $compat" +else + compat="" +fi + +if [ "$scr_dir" != "" -a "$scr_dir" != "-" ]; then + scr_dir="-sd $scr_dir" +else + scr_dir="" +fi + +if [ "$dcoup" != "" -a "$dcoup" != "0" ]; then + dcoup="-dcoup $dcoup" +else + dcoup="" +fi + +if [ "$assem_recov_nthread" != "" -a "$assem_recov_nthread" != "1" ]; then + assem_recov_nthread="-nthread_elem $assem_recov_nthread" +else + assem_recov_nthread="" +fi + +if [ "$nthread" != "" -a "$nthread" != "0" -a "$nthread" != "1" ]; then + nthread="-nthread $nthread" +else + nthread="" +fi + +if [ "$nsolver" != "" -a "$nsolver" != "0" ]; then + nsolver="-nsolver $nsolver" +else + nsolver="" +fi + +case "$mode" in + 4) mode="-mo i4" ;; + 8) mode="-mo i8" ;; + *) mode= ;; +esac + +if [ "$gpu" != "" -a "$gpu" != "-" ]; then + gpu="-gpu $gpu" +else + gpu="" +fi + +rm -f $job.cnt +rm -f $job.sts +rm -f $job.out +rm -f $job.log + +# To prevent a mismatch with the python version used by the solver +# do *not* prepend $MENTAT_INSTALL_DIR/python/bin to environment variable PATH +# unset environment variables PYTHONHOME and PYTHONPATH +unset PYTHONHOME +unset PYTHONPATH + +"${DIR}/tools/run_marc" $slv -j $job -v n -b y $nprocds $nprocd \ + $srcfile $restart $postfile $viewfactorsfile $hostfile \ + $compat $copy_datfile $copy_postfile $scr_dir $dcoup \ + $assem_recov_nthread $nthread $nsolver $mode $gpu > /dev/null 2>&1 +sleep 1 +exit 0 diff --git a/installation/mods_MarcMentat/2020/Mentat_bin/submit4 b/installation/mods_MarcMentat/2020/Mentat_bin/submit4 new file mode 100644 index 000000000..55e3bcf03 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Mentat_bin/submit4 @@ -0,0 +1,191 @@ +#!/bin/sh +# +# The exit status of this script is read by Mentat. +# Normal exit status is 0. +# + +DIR=%INSTALLDIR%/marc%VERSION% + +if test $MARCDIR1 +then + DIR=$MARCDIR1 +fi + +if test -z "$DIR"; then + REALCOM="`ls -l $0 |awk '{ print $NF; }'`" + DIRSCRIPT=`dirname $REALCOM` + case $DIRSCRIPT in + \/*) + ;; + *) + DIRSCRIPT=`pwd`/$DIRSCRIPT + ;; + esac + . $DIRSCRIPT/getarch + + DIR="$MENTAT_MARCDIR" +fi + +SRCEXT=.f +SRCEXTC=.F +RSTEXT=.t08 +PSTEXT=.t19 +PSTEXTB=.t16 +VWFCEXT=.vfs + +slv=$1 +version=$2 +ndom_fea_solver=$3 +ndom_preprocessor=$4 +hostfile=$5 +compat=$6 +job=$7 +srcfile=$8 +srcmeth=$9 +shift 9 # cannot use $10, $11, ... +restart=$1 +postfile=$2 +viewfactorsfile=$3 +copy_datfile="-ci $4" +copy_postfile="-cr $5" +scr_dir=$6 +dcoup=$7 +assem_recov_nthread=$8 +nthread=$9 +shift 9 # cannot use $10, $11, ... +nsolver=$1 +mode=$2 +gpu=$3 + +if [ "$slv" != "" -a "$slv" != "marc" -a "$slv" != "datfit" ]; then + slv="-iam sfm" +fi +if [ "$slv" = "marc" ]; then + slv="" +fi +if [ "$slv" = "datfit" ]; then + slv="-iam datfit" +fi + +if [ "$ndom_fea_solver" != "" -a "$ndom_fea_solver" != "1" ]; then + nprocds="-nprocds $ndom_fea_solver" +else + nprocd="" + if [ "$ndom_preprocessor" != "" -a "$ndom_preprocessor" != "1" ]; then + nprocd="-nprocd $ndom_preprocessor" + else + nprocd="" + fi +fi + +if [ "$srcfile" != "" -a "$srcfile" != "-" ]; then + srcfile=`echo $srcfile | sed "s/$SRCEXT$//" | sed "s/$SRCEXTC$//"` + case "$srcmeth" in + -) + srcfile="-u $srcfile" + ;; + compsave) + srcfile="-u $srcfile -save y" + ;; + runsaved) + srcfile=${srcfile%.*}".marc" + srcfile="-prog $srcfile" + ;; + esac +else + srcfile="" +fi + +if [ "$restart" != "" -a "$restart" != "-" ]; then + restart=`echo $restart | sed "s/$RSTEXT$//"` + restart="-r $restart" +else + restart="" +fi + +if [ "$postfile" != "" -a "$postfile" != "-" ]; then + postfile=`echo $postfile | sed "s/$PSTEXT$//"` + postfile=`echo $postfile | sed "s/$PSTEXTB$//"` + postfile="-pid $postfile" +else + postfile="" +fi + +if [ "$viewfactorsfile" != "" -a "$viewfactorsfile" != "-" ]; then + viewfactorsfile=`echo $viewfactorsfile | sed "s/$VWFCEXT$//"` + viewfactorsfile="-vf $viewfactorsfile" +else + viewfactorsfile="" +fi + +if [ "$hostfile" != "" -a "$hostfile" != "-" ]; then + hostfile="-ho $hostfile" +else + hostfile="" +fi + +if [ "$compat" != "" -a "$compat" != "-" ]; then + compat="-co $compat" +else + compat="" +fi + +if [ "$scr_dir" != "" -a "$scr_dir" != "-" ]; then + scr_dir="-sd $scr_dir" +else + scr_dir="" +fi + +if [ "$dcoup" != "" -a "$dcoup" != "0" ]; then + dcoup="-dcoup $dcoup" +else + dcoup="" +fi + +if [ "$assem_recov_nthread" != "" -a "$assem_recov_nthread" != "1" ]; then + assem_recov_nthread="-nthread_elem $assem_recov_nthread" +else + assem_recov_nthread="" +fi + +if [ "$nthread" != "" -a "$nthread" != "0" -a "$nthread" != "1" ]; then + nthread="-nthread $nthread" +else + nthread="" +fi + +if [ "$nsolver" != "" -a "$nsolver" != "0" ]; then + nsolver="-nsolver $nsolver" +else + nsolver="" +fi + +case "$mode" in + 4) mode="-mo i4" ;; + 8) mode="-mo i8" ;; + *) mode= ;; +esac + +if [ "$gpu" != "" -a "$gpu" != "-" ]; then + gpu="-gpu $gpu" +else + gpu="" +fi + +rm -f $job.cnt +rm -f $job.sts +rm -f $job.out +rm -f $job.log + +# To prevent a mismatch with the python version used by the solver +# do *not* prepend $MENTAT_INSTALL_DIR/python/bin to environment variable PATH +# unset environment variables PYTHONHOME and PYTHONPATH +unset PYTHONHOME +unset PYTHONPATH + +"${DIR}/tools/run_damask_hmp" $slv -j $job -v n -b y $nprocds $nprocd \ + $srcfile $restart $postfile $viewfactorsfile $hostfile \ + $compat $copy_datfile $copy_postfile $scr_dir $dcoup \ + $assem_recov_nthread $nthread $nsolver $mode $gpu > /dev/null 2>&1 +sleep 1 +exit 0 diff --git a/installation/mods_MarcMentat/2020/Mentat_bin/submit5 b/installation/mods_MarcMentat/2020/Mentat_bin/submit5 new file mode 100644 index 000000000..8699cf076 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Mentat_bin/submit5 @@ -0,0 +1,191 @@ +#!/bin/sh +# +# The exit status of this script is read by Mentat. +# Normal exit status is 0. +# + +DIR=%INSTALLDIR%/marc%VERSION% + +if test $MARCDIR1 +then + DIR=$MARCDIR1 +fi + +if test -z "$DIR"; then + REALCOM="`ls -l $0 |awk '{ print $NF; }'`" + DIRSCRIPT=`dirname $REALCOM` + case $DIRSCRIPT in + \/*) + ;; + *) + DIRSCRIPT=`pwd`/$DIRSCRIPT + ;; + esac + . $DIRSCRIPT/getarch + + DIR="$MENTAT_MARCDIR" +fi + +SRCEXT=.f +SRCEXTC=.F +RSTEXT=.t08 +PSTEXT=.t19 +PSTEXTB=.t16 +VWFCEXT=.vfs + +slv=$1 +version=$2 +ndom_fea_solver=$3 +ndom_preprocessor=$4 +hostfile=$5 +compat=$6 +job=$7 +srcfile=$8 +srcmeth=$9 +shift 9 # cannot use $10, $11, ... +restart=$1 +postfile=$2 +viewfactorsfile=$3 +copy_datfile="-ci $4" +copy_postfile="-cr $5" +scr_dir=$6 +dcoup=$7 +assem_recov_nthread=$8 +nthread=$9 +shift 9 # cannot use $10, $11, ... +nsolver=$1 +mode=$2 +gpu=$3 + +if [ "$slv" != "" -a "$slv" != "marc" -a "$slv" != "datfit" ]; then + slv="-iam sfm" +fi +if [ "$slv" = "marc" ]; then + slv="" +fi +if [ "$slv" = "datfit" ]; then + slv="-iam datfit" +fi + +if [ "$ndom_fea_solver" != "" -a "$ndom_fea_solver" != "1" ]; then + nprocds="-nprocds $ndom_fea_solver" +else + nprocd="" + if [ "$ndom_preprocessor" != "" -a "$ndom_preprocessor" != "1" ]; then + nprocd="-nprocd $ndom_preprocessor" + else + nprocd="" + fi +fi + +if [ "$srcfile" != "" -a "$srcfile" != "-" ]; then + srcfile=`echo $srcfile | sed "s/$SRCEXT$//" | sed "s/$SRCEXTC$//"` + case "$srcmeth" in + -) + srcfile="-u $srcfile" + ;; + compsave) + srcfile="-u $srcfile -save y" + ;; + runsaved) + srcfile=${srcfile%.*}".marc" + srcfile="-prog $srcfile" + ;; + esac +else + srcfile="" +fi + +if [ "$restart" != "" -a "$restart" != "-" ]; then + restart=`echo $restart | sed "s/$RSTEXT$//"` + restart="-r $restart" +else + restart="" +fi + +if [ "$postfile" != "" -a "$postfile" != "-" ]; then + postfile=`echo $postfile | sed "s/$PSTEXT$//"` + postfile=`echo $postfile | sed "s/$PSTEXTB$//"` + postfile="-pid $postfile" +else + postfile="" +fi + +if [ "$viewfactorsfile" != "" -a "$viewfactorsfile" != "-" ]; then + viewfactorsfile=`echo $viewfactorsfile | sed "s/$VWFCEXT$//"` + viewfactorsfile="-vf $viewfactorsfile" +else + viewfactorsfile="" +fi + +if [ "$hostfile" != "" -a "$hostfile" != "-" ]; then + hostfile="-ho $hostfile" +else + hostfile="" +fi + +if [ "$compat" != "" -a "$compat" != "-" ]; then + compat="-co $compat" +else + compat="" +fi + +if [ "$scr_dir" != "" -a "$scr_dir" != "-" ]; then + scr_dir="-sd $scr_dir" +else + scr_dir="" +fi + +if [ "$dcoup" != "" -a "$dcoup" != "0" ]; then + dcoup="-dcoup $dcoup" +else + dcoup="" +fi + +if [ "$assem_recov_nthread" != "" -a "$assem_recov_nthread" != "1" ]; then + assem_recov_nthread="-nthread_elem $assem_recov_nthread" +else + assem_recov_nthread="" +fi + +if [ "$nthread" != "" -a "$nthread" != "0" -a "$nthread" != "1" ]; then + nthread="-nthread $nthread" +else + nthread="" +fi + +if [ "$nsolver" != "" -a "$nsolver" != "0" ]; then + nsolver="-nsolver $nsolver" +else + nsolver="" +fi + +case "$mode" in + 4) mode="-mo i4" ;; + 8) mode="-mo i8" ;; + *) mode= ;; +esac + +if [ "$gpu" != "" -a "$gpu" != "-" ]; then + gpu="-gpu $gpu" +else + gpu="" +fi + +rm -f $job.cnt +rm -f $job.sts +rm -f $job.out +rm -f $job.log + +# To prevent a mismatch with the python version used by the solver +# do *not* prepend $MENTAT_INSTALL_DIR/python/bin to environment variable PATH +# unset environment variables PYTHONHOME and PYTHONPATH +unset PYTHONHOME +unset PYTHONPATH + +"${DIR}/tools/run_damask_mp" $slv -j $job -v n -b y $nprocds $nprocd \ + $srcfile $restart $postfile $viewfactorsfile $hostfile \ + $compat $copy_datfile $copy_postfile $scr_dir $dcoup \ + $assem_recov_nthread $nthread $nsolver $mode $gpu > /dev/null 2>&1 +sleep 1 +exit 0 diff --git a/installation/mods_MarcMentat/2020/Mentat_bin/submit6 b/installation/mods_MarcMentat/2020/Mentat_bin/submit6 new file mode 100644 index 000000000..a0179482f --- /dev/null +++ b/installation/mods_MarcMentat/2020/Mentat_bin/submit6 @@ -0,0 +1,191 @@ +#!/bin/sh +# +# The exit status of this script is read by Mentat. +# Normal exit status is 0. +# + +DIR=%INSTALLDIR%/marc%VERSION% + +if test $MARCDIR1 +then + DIR=$MARCDIR1 +fi + +if test -z "$DIR"; then + REALCOM="`ls -l $0 |awk '{ print $NF; }'`" + DIRSCRIPT=`dirname $REALCOM` + case $DIRSCRIPT in + \/*) + ;; + *) + DIRSCRIPT=`pwd`/$DIRSCRIPT + ;; + esac + . $DIRSCRIPT/getarch + + DIR="$MENTAT_MARCDIR" +fi + +SRCEXT=.f +SRCEXTC=.F +RSTEXT=.t08 +PSTEXT=.t19 +PSTEXTB=.t16 +VWFCEXT=.vfs + +slv=$1 +version=$2 +ndom_fea_solver=$3 +ndom_preprocessor=$4 +hostfile=$5 +compat=$6 +job=$7 +srcfile=$8 +srcmeth=$9 +shift 9 # cannot use $10, $11, ... +restart=$1 +postfile=$2 +viewfactorsfile=$3 +copy_datfile="-ci $4" +copy_postfile="-cr $5" +scr_dir=$6 +dcoup=$7 +assem_recov_nthread=$8 +nthread=$9 +shift 9 # cannot use $10, $11, ... +nsolver=$1 +mode=$2 +gpu=$3 + +if [ "$slv" != "" -a "$slv" != "marc" -a "$slv" != "datfit" ]; then + slv="-iam sfm" +fi +if [ "$slv" = "marc" ]; then + slv="" +fi +if [ "$slv" = "datfit" ]; then + slv="-iam datfit" +fi + +if [ "$ndom_fea_solver" != "" -a "$ndom_fea_solver" != "1" ]; then + nprocds="-nprocds $ndom_fea_solver" +else + nprocd="" + if [ "$ndom_preprocessor" != "" -a "$ndom_preprocessor" != "1" ]; then + nprocd="-nprocd $ndom_preprocessor" + else + nprocd="" + fi +fi + +if [ "$srcfile" != "" -a "$srcfile" != "-" ]; then + srcfile=`echo $srcfile | sed "s/$SRCEXT$//" | sed "s/$SRCEXTC$//"` + case "$srcmeth" in + -) + srcfile="-u $srcfile" + ;; + compsave) + srcfile="-u $srcfile -save y" + ;; + runsaved) + srcfile=${srcfile%.*}".marc" + srcfile="-prog $srcfile" + ;; + esac +else + srcfile="" +fi + +if [ "$restart" != "" -a "$restart" != "-" ]; then + restart=`echo $restart | sed "s/$RSTEXT$//"` + restart="-r $restart" +else + restart="" +fi + +if [ "$postfile" != "" -a "$postfile" != "-" ]; then + postfile=`echo $postfile | sed "s/$PSTEXT$//"` + postfile=`echo $postfile | sed "s/$PSTEXTB$//"` + postfile="-pid $postfile" +else + postfile="" +fi + +if [ "$viewfactorsfile" != "" -a "$viewfactorsfile" != "-" ]; then + viewfactorsfile=`echo $viewfactorsfile | sed "s/$VWFCEXT$//"` + viewfactorsfile="-vf $viewfactorsfile" +else + viewfactorsfile="" +fi + +if [ "$hostfile" != "" -a "$hostfile" != "-" ]; then + hostfile="-ho $hostfile" +else + hostfile="" +fi + +if [ "$compat" != "" -a "$compat" != "-" ]; then + compat="-co $compat" +else + compat="" +fi + +if [ "$scr_dir" != "" -a "$scr_dir" != "-" ]; then + scr_dir="-sd $scr_dir" +else + scr_dir="" +fi + +if [ "$dcoup" != "" -a "$dcoup" != "0" ]; then + dcoup="-dcoup $dcoup" +else + dcoup="" +fi + +if [ "$assem_recov_nthread" != "" -a "$assem_recov_nthread" != "1" ]; then + assem_recov_nthread="-nthread_elem $assem_recov_nthread" +else + assem_recov_nthread="" +fi + +if [ "$nthread" != "" -a "$nthread" != "0" -a "$nthread" != "1" ]; then + nthread="-nthread $nthread" +else + nthread="" +fi + +if [ "$nsolver" != "" -a "$nsolver" != "0" ]; then + nsolver="-nsolver $nsolver" +else + nsolver="" +fi + +case "$mode" in + 4) mode="-mo i4" ;; + 8) mode="-mo i8" ;; + *) mode= ;; +esac + +if [ "$gpu" != "" -a "$gpu" != "-" ]; then + gpu="-gpu $gpu" +else + gpu="" +fi + +rm -f $job.cnt +rm -f $job.sts +rm -f $job.out +rm -f $job.log + +# To prevent a mismatch with the python version used by the solver +# do *not* prepend $MENTAT_INSTALL_DIR/python/bin to environment variable PATH +# unset environment variables PYTHONHOME and PYTHONPATH +unset PYTHONHOME +unset PYTHONPATH + +"${DIR}/tools/run_damask_lmp" $slv -j $job -v n -b y $nprocds $nprocd \ + $srcfile $restart $postfile $viewfactorsfile $hostfile \ + $compat $copy_datfile $copy_postfile $scr_dir $dcoup \ + $assem_recov_nthread $nthread $nsolver $mode $gpu > /dev/null 2>&1 +sleep 1 +exit 0 diff --git a/installation/mods_MarcMentat/2020/Mentat_menus/job_run.ms.original b/installation/mods_MarcMentat/2020/Mentat_menus/job_run.ms.original new file mode 100644 index 000000000..e54a95086 --- /dev/null +++ b/installation/mods_MarcMentat/2020/Mentat_menus/job_run.ms.original @@ -0,0 +1,2838 @@ +#ifndef AUTOFORGE +popmenu job_title_pm file jobs.ms +popdown job_title_ok file jobs.ms + +group user_domains_gr file domain_decomposition.ms +group user_domains_generate_gr file domain_decomposition.ms +group user_domains_tail_gr file domain_decomposition.ms +group matrix_solver_gr file job_common.ms +popmenu ddm_options file job_common.ms + +browser edit_browser file file.ms +browser directory_browser file file.ms +screen domains file domain_decomposition.ms + +frame job_properties_subm_header_fr file job_common.ms +frame job_properties_subm_footer_fr file job_common.ms + + +browser usersub_file_browser { + text "$usersub_file_browser_label" ($usersub_file_browser_label) + filter "*.f *.F *.f90 *.F90" + select_files true + command "$usersub_file_browser_command" ($usersub_file_browser_command) +} + + + +browser host_file_browser { + text "$host_file_browser_label" ($host_file_browser_label) + filter "*" + select_files true + command "$host_file_browser_command" ($host_file_browser_command) +} + + +#-------------------------------------------------------------------------------------------------- +popmenu job_run_popmenu { + + text "RUN JOB" + + group { + + frame { + position 1 1 + size 60 4 + group { + label { + position 0 1 + size 15 4 + text "NAME" + help job_run + } + display { + position +12 = + size 45 4 + display "job_name" + } + label { + position 0 +4 + size 15 4 + text "TYPE" + help job_run + } + display { + position +12 = + size 45 4 + display job_class_label + } + } + } + + frame { + text "USER SUBROUTINES" + position 1 +4 + size 60 4 + group { + button { + position 0 0 + size 30 4 + text "FORTRAN SOURCE FILE" + help "job_run#User Subroutines" + browser usersub_file_browser + settext $usersub_file_browser_label "SELECT USER SUBROUTINE FILE" + set $usersub_file_browser_command "*job_usersub_file" + } + toggle { + position +30 = + size 30 4 + text "SELECTED USER SUBS" + help "job_run#User Subroutines" + toggle job_usersubs + active job_usersubs + popmenu job_usersub_pm + } + display { + position 0 +4 + size 60 4 + display job_usersub_file + visible job_usersub_file + } + button { + position 0 +4 + size 15 4 + text "EDIT" + help "job_run#User Subroutines" + command "*job_edit_usersub_file" + visible job_usersub_file + } + button { + position +15 = + size 15 4 + text "CLEAR" + help "job_run#User Subroutines" + command "*job_clear_usersub_file" + visible job_usersub_file + } + roller { + position +15 = + size 30 4 + nvalues 3 + texts "COMPILE / NO SAVE" + "COMPILE AND SAVE" + "RUN SAVED EXECUTABLE" + help "job_run#User Subroutines" + roller "job_option user_source" + visible job_usersub_file + commands "*job_option user_source:compile_nosave" + "*job_option user_source:compile_save" + "*job_option user_source:run_saved" + } + } + } + + frame { + text "SOLVER/PARALLELIZATION" + position 1 +4 + size 60 4 + group { + button { + position 0 0 + size 30 4 + text "SETTINGS" + help "job_run#Solver/Parallelization" + popmenu job_run_parallelization_pm + set $popname2 "job_run_parallelization_pm" + } + display { + position 0 +4 + size 30 4 + display job_solver_solution + } + display { + position +30 = + size 30 4 + display job_ddm_domains + } + display { + position 0 +4 + size 30 4 + display job_solver_type + } + display { + position +30 = + size 30 4 + display job_assem_recov_nthreads + } + display { + position = +4 + size 30 4 + display job_solver_procs + visible solver_allows_multi_procs + } + display { + position = = + size 18 4 + display job_solver_threads + visible "and(solver_allows_multi_threads,\ + not(and(job_solver_mfront_sparse,\ + *job_option parallel:on)),\ + *job_option solver_use_gpu:off)" + } + display { + position +18 = + size 12 4 + display job_solver_gpu + visible "or(and(job_solver_mfront_sparse,job_nonsym_off), \ + and(job_solver_it_sparse,job_nonsym_off))" + } + } + } + + frame { + text "INPUT STYLE AND JOB TITLE" + position 1 +4 + size 60 4 + group { + +# see also job_common.ms +# see also the ADVANCED JOB SUBMISSION popmenu in this file + + label { + position 0 0 + size 8 4 + text "STYLE" + help "job_run#Input Style And Job Title" + border_width 1 + border_color black + } + roller { + position +8 = + size 22 4 + nvalues 3 + texts "TABLE-DRIVEN" + "MULTI-PHYSICS" + "OLD" + rollers "job_input_style_table_driven" + "job_input_style_multi_physics" + "job_input_style_old" + commands "*job_option input_style:new *job_option input_physics_style:old" + "*job_option input_physics_style:new *job_option input_style:new" + "*job_option input_style:old *job_option input_physics_style:old" + visibles "job_allows_input_style_table_driven" + "job_allows_input_style_multi_physics" + "job_allows_input_style_old" + help "job_run#Input Style And Job Title" + } + button { + position +22 = + size 15 4 + text "TITLE" + help "job_run#Input Style And Job Title" + popmenu job_title_pm + command "*job_title" + } + button { + position +15 = + size 15 4 + text "SAVE MODEL" + help "job_run#Input Style And Job Title" + command "*save_model" + } + } + } + + frame { + text "JOB SUBMISSION AND CONTROL" + position 1 +4 + size 60 4 + group { + frame { + position 1 1 + size 50 4 + group { + button { + position 0 0 + size 25 4 + text "SUBMIT (1)" + help "job_run#Job Submission And Control" + command "*submit_job 1 *monitor_job" + } + button { + position +25 = + size 25 4 + text "ADVANCED JOB SUBMISSION" + help "job_run#Job Submission And Control" + popmenu job_submit_adv_pm + } + button { + position 0 +4 + size 12 4 + text "UPDATE" + help "job_run#Job Submission And Control" + command "*update_job" + } + button { + position +12 = + size 13 4 + text "MONITOR" + help "job_run#Job Submission And Control" + command "*monitor_job" + } + button { + position +13 = + size 12 4 + text "RESET" + help "job_run#Job Submission And Control" + command "*job_submit_reset" + } + button { + position +12 = + size 13 4 + text "KILL" + help "job_run#Job Submission And Control" + command "*kill_job *monitor_job" + active "job_status_running" + } + } + } + + frame { + position 1 5 + size 50 4 + group { + label { + position 0 +4 + size 25 4 + text "STATUS" + help "job_run#Status" + border_width 1 + border_color black + } + display { + position +25 = + size 25 4 + display "job_status" + } + label { + position 0 +4 + size 25 4 + text "CURRENT INCREMENT (CYCLE)" + help "job_run#Current Increment" + border_width 1 + border_color black + } + display { + position +25 = + size 25 4 + display "job_increment" + } + label { + position 0 +4 + size 25 4 + text "SINGULARITY RATIO" + help "job_run#Singularity Ratio" + border_width 1 + border_color black + } + float { + position +25 = + size 25 4 + display "job_singularity_ratio" + } + label { + position 0 +4 + size 25 4 + text "CONVERGENCE RATIO" + help "job_run#Convergence Ratio" + border_width 1 + border_color black + } + float { + position +25 = + size 25 4 + display "job_convergence_ratio" + } + label { + position 0 +4 + size 25 4 + text "FRACTION OF INCREMENT (CONTACT)" + help "job_run#IPC" + border_width 1 + border_color black + } + float { + position +25 = + size 25 4 + display "job_ipc_fraction" + } + label { + position 0 +4 + size 25 4 + text "ANALYSIS TIME" + help "job_run#Analysis Time" + border_width 1 + border_color black + } + float { + position +25 = + size 25 4 + display "job_analysis_time" + } + } + } + + frame { + position 1 +4 + size 50 4 + group { + + frame { + position 0 0 + size 50 4 + text "ACCUMULATED ANALYSIS STATISTICS" + border_width 1 + border_color black + group { + label { + position 0 0 + size 12 4 + text "CYCLES" + help "job_run#Cycles" + border_width 1 + border_color black + } + integer { + position +12 = + size 12 4 + display "acc_job_cycles" + border_width 1 + border_color black + } + label { + position -12 +4 + size 12 4 + text "SEPARATIONS" + help "job_run#Separations" + border_width 1 + border_color black + } + integer { + position +12 = + size 12 4 + display "acc_job_separations" + border_width 1 + border_color black + } + label { + position -12 +4 + size 12 4 + text "WARNING MESSAGES" + help "job_run#Warnings" + border_width 1 + border_color black + } + integer { + position +12 = + size 12 4 + display "number_of_warning_messages" + border_width 1 + border_color black + } + label { + position +12 -8 + size 12 4 + text "CUT BACKS" + help "job_run#Cut Backs" + border_width 1 + border_color black + } + integer { + position +12 = + size 12 4 + display "acc_job_cut_backs" + border_width 1 + border_color black + } + label { + position -12 +4 + size 12 4 + text "REMESHES" + help "job_run#Remeshes" + border_width 1 + border_color black + } + integer { + position +12 = + size 12 4 + display "acc_job_remeshes" + border_width 1 + border_color black + } + label { + position -12 +4 + size 12 4 + text "WALL TIME" + help "job_run#Wall Time" + border_width 1 + border_color black + } + display { + position +12 = + size 12 4 + display "job_time" + } + } + } + + frame { + position 0 +4 + size 50 4 + text "JOB COMPLETION" + border_width 1 + border_color black + group { + label { + position 0 +4 + size 12 4 + text "EXIT NUMBER" + help "job_run#Exit Number" + border_width 1 + border_color black + } + integer { + position +12 = + size 13 4 + display "job_exit" + } + button { + position +13 = + size 25 4 + text "EXIT MESSAGE" + help "job_run#Exit Number" + popmenu job_exit_msg_pm + } + } + } + } + } + } + } + frame { + text "EDIT FILES" + position 1 +4 + size 60 4 + group { + frame { + position 1 1 + size 60 4 + group { + button { + position 0 +4 + size 15 4 + text "OUTPUT FILE" + help "job_run#Edit Files" + command "*job_edit_output" + } + button { + position +15 = + size 15 4 + text "LOG FILE" + help "job_run#Edit Files" + command "*job_edit_log_file" + } + button { + position +15 = + size 15 4 + text "STATUS FILE" + help "job_run#Edit Files" + command "*job_edit_status_file" + } + button { + position +15 = + size 15 4 + text "ANY FILE" + help "job_run#Edit Files" + settext $edit_browser_label "EDIT FILE" + set $edit_browser_command "*edit_file" + browser edit_browser + } + } + } + } + } + + frame { + position 1 +4 + size 60 4 + group { + layout hbox + spacer { + stretch 1 + } + popdown { + position 0 0 + size 60 4 + text "OPEN POST FILE" + help "job_run#Open Post File" + command "@popdown(job_properties_pm) @main(results) @popup(modelplot_pm) *post_open_default" + visible "not(*job_option write_cont_post_file:on)" + } + popdown { + position 0 0 + size 30 4 + text "OPEN POST FILE" + help "job_run#Open Post File" + command "@popdown(job_properties_pm) @main(results) @popup(modelplot_pm) *post_open_default" + visible "*job_option write_cont_post_file:on" + } + popdown { + position 0 0 + size 30 4 + text "OPEN EXPANDED BEAM POST FILE" + help "job_run#Open Expanded Beam Post File" + command "@popdown(job_properties_pm) @main(results) @popup(modelplot_pm) *post_open_con_default" + visible "*job_option write_cont_post_file:on" + } + spacer { + stretch 1 + } + } + } + + frame { + position 1 +5 + size 60 4 + group { + layout hbox + spacer { + stretch 1 + } + popdown { + size 12 4 + text "OK" + } + spacer { + stretch 1 + } + } + } + } + + window job_run_wi { + parent mentat + origin 35 1 + size 52 115 + background_color body + border_width 1 + border_color border + buffering single + } + + mode permanent +} + + +#-------------------------------------------------------------------------------------------------- +popmenu job_usersub_pm { + + text "CURRENTLY SELECTED USER SUBROUTINES" + + group { + + + display { + position 1 +5 + size 64 86 + display "job_usersubs" + } + + popdown { + position 27 +88 + size 12 8 + text "OK" + } + } + + window { + parent mentat + origin 38 8 + size 66 102 + background_color body + border_width 1 + border_color border + buffering single + } + + mode dialog +} + + +#-------------------------------------------------------------------------------------------------- +popmenu job_submit_adv_pm { + + text "ADVANCED JOB SUBMISSION" + + group { + + + label { + position 0 0 + size 6 4 + text "NAME" + } + + display { + position +6 = + size 26 4 + display "job_name" + } + + label { + position 0 +4 + size 6 4 + text "TYPE" + } + + display { + position +6 = + size 26 4 + display job_class_label + } + + label { + position 1 9 + size 19 4 + text "INITIAL ALLOCATION" + border_width 1 + border_color black + } + label { + position +19 = + size 15 4 + text "GENERAL MEMORY" + help job_param_general_init_allocation + } + text { + position +15 = + size 10 4 + display "job_param_value_general_init_allocation" + command "*job_param general_init_allocation" + help job_param_general_init_allocation + } + + label { + position +10 = + size 4 4 + text "MB" + border_width 1 + border_color black + } + + toggle { + position 1 +5 + size 32 4 + text "OUT-OF-CORE ELEMENT STORAGE" + help job_param_elsto + toggle "*job_option elsto:on" + true_command "*job_option elsto:on" + false_command "*job_option elsto:off" + } + + toggle { + position 1 +4 + size 32 4 + text "OUT-OF-CORE INCREMENTAL BACKUP" + help job_param_inc_backup_storage + toggle "*job_option inc_backup_storage:out_of_core" + true_command "*job_option inc_backup_storage:out_of_core" + false_command "*job_option inc_backup_storage:in_core" + } + + toggle { + position +34 = + size 14 4 + text "CHECK SIZES" + help job_run_check + toggle "*job_option check:on" + true_command "*job_option check:on" + false_command "*job_option check:off" + } + + frame { + position 1 +6 + size 48 12 + text "MARC INPUT FILE" + border_width 1 + border_color black + + group { + + label { + position 0 4 + size 9 4 + text "VERSION" + border_width 1 + border_color black + } + + roller { + position +9 = + size 14 4 + nvalues 29 + nvisible 29 + texts "DEFAULT" +#if 0 + "2020" +#endif + "2019.1" + "2019" + "2018.1" + "2018" + "2017.1" + "2017" + "2016" + "2015" + "2014.2" + "2014.1" + "2014" + "2013.1" + "2013" + "2012" + "2011" + "2010.2" + "2010" + "2008" + "2007" + "2005R3" + "2005" + "2003" + "2001" + "2000" +#if 0 + "8" +#endif + "K7" + "K6.2" + "K5" + "K4" + help job_param_version + rollers "job_input_version_default" +#if 0 + "job_input_version_2020" +#endif + "job_input_version_2019.1" + "job_input_version_2019" + "job_input_version_2018.1" + "job_input_version_2018" + "job_input_version_2017.1" + "job_input_version_2017" + "job_input_version_2016" + "job_input_version_2015" + "job_input_version_2014.2" + "job_input_version_2014.1" + "job_input_version_2014" + "job_input_version_2013.1" + "job_input_version_2013" + "job_input_version_2012" + "job_input_version_2011" + "job_input_version_2010.2" + "job_input_version_2010" + "job_input_version_2008" + "job_input_version_2007" + "job_input_version_2005r3" + "job_input_version_2005" + "job_input_version_2003" + "job_input_version_2001" + "job_input_version_2000" +#if 0 + "job_input_version_8" +#endif + "job_input_version_k7" + "job_input_version_k6" + "job_input_version_k5" + "job_input_version_k4" + commands "*job_option version:default" +#if 0 + "*job_option version:2020" +#endif + "*job_option version:2019.1" + "*job_option version:2019" + "*job_option version:2018.1" + "*job_option version:2018" + "*job_option version:2017.1" + "*job_option version:2017" + "*job_option version:2016" + "*job_option version:2015" + "*job_option version:2014.2" + "*job_option version:2014.1" + "*job_option version:2014" + "*job_option version:2013.1" + "*job_option version:2013" + "*job_option version:2012" + "*job_option version:2011" + "*job_option version:2010.2" + "*job_option version:2010" + "*job_option version:2008" + "*job_option version:2007" + "*job_option version:2005r3" + "*job_option version:2005" + "*job_option version:2003" + "*job_option version:2001" + "*job_option version:2000" +#if 0 + "*job_option version:8" +#endif + "*job_option version:k7" + "*job_option version:k6" + "*job_option version:k5" + "*job_option version:k4" + visibles "job_allows_input_version_default" +#if 0 + "job_allows_input_version_2020" +#endif + "job_allows_input_version_2019.1" + "job_allows_input_version_2019" + "job_allows_input_version_2018.1" + "job_allows_input_version_2018" + "job_allows_input_version_2017.1" + "job_allows_input_version_2017" + "job_allows_input_version_2016" + "job_allows_input_version_2015" + "job_allows_input_version_2014.2" + "job_allows_input_version_2014.1" + "job_allows_input_version_2014" + "job_allows_input_version_2013.1" + "job_allows_input_version_2013" + "job_allows_input_version_2012" + "job_allows_input_version_2011" + "job_allows_input_version_2010.2" + "job_allows_input_version_2010" + "job_allows_input_version_2008" + "job_allows_input_version_2007" + "job_allows_input_version_2005r3" + "job_allows_input_version_2005" + "job_allows_input_version_2003" + "job_allows_input_version_2001" + "job_allows_input_version_2000" +#if 0 + "job_allows_input_version_8" +#endif + "job_allows_input_version_k7" + "job_allows_input_version_k6" + "job_allows_input_version_k5" + "job_allows_input_version_k4" + } + +# see also job_common.ms +# see also the RUN JOB popmenu in this file + + label { + position +14 = + size 7 4 + text "STYLE" + border_width 1 + border_color black + } + + roller { + position +7 = + size 18 4 + nvalues 3 + texts "TABLE-DRIVEN" + "MULTI-PHYSICS" + "OLD" + rollers "job_input_style_table_driven" + "job_input_style_multi_physics" + "job_input_style_old" + commands "*job_option input_style:new *job_option input_physics_style:old" + "*job_option input_physics_style:new *job_option input_style:new" + "*job_option input_style:old *job_option input_physics_style:old" + visibles "job_allows_input_style_table_driven" + "job_allows_input_style_multi_physics" + "job_allows_input_style_old" + help job_option_input_style + } + + toggle { + position 0 +4 + size 24 4 + text "EXTENDED PRECISION" + help job_run_precision + toggle "*job_option inp_file_prec:extended" + true_command "*job_option inp_file_prec:extended" + false_command "*job_option inp_file_prec:normal" + } + toggle { + position +24 = + size 24 4 + text "INCLUDE UNUSED TABLES" + toggle "*job_option input_file_tables:all" + true_command "*job_option input_file_tables:all" + false_command "*job_option input_file_tables:used" + } + } + } + + button { + position 1 +14 + size 24 4 + text "SCRATCH DIRECTORY" + settext $directory_browser_label "JOB SCRATCH DIRECTORY" + set $directory_browser_command "*job_scratch_directory" + browser directory_browser + help job_scratch_directory + } + + button { + position +24 = + size 24 4 + text "CLEAR" + command "*job_clear_scratch_directory" + visible job_scratch_directory + } + + text { + position 1 +4 + size 48 4 + display job_scratch_dir + command "*job_scratch_directory" + } + +#ifdef DCOM + toggle { + position 1 +6 + size 8 4 + text "\{DCOM}" + toggle "*job_option dcom:on" + help job_run_dcom + true_command "*job_option dcom:on" + false_command "*job_option dcom:off" + visible win32_available + } + + button { + position +8 = + size 12 4 + text "HOSTNAME" + command "*job_dcom_hostname" + visible "and(win32_available, *job_option dcom:on)" + } + + text job_dcom_hostname { + position +12 = + size 28 4 + display "job_dcom_hostname" + command "*job_dcom_hostname" + visible "and(win32_available, *job_option dcom:on)" + } +#endif + + button { + position 1 +6 + size 24 4 + text "TITLE" + popmenu job_title_pm + command "*job_title" + } + + button { + position +24 = + size 24 4 + text "SAVE MODEL" + command "*save_model" + } + + button { + position +4 +6 + size 20 4 + text "WRITE INPUT FILE" + command "*job_write_input" + } + + button { + position = +4 + size 20 4 + text "EDIT INPUT FILE" + command "*job_edit_input" + } + + popdown { + position 1 +5 + size 20 6 + text "SUBMIT 1" + command "*submit_job 1 *monitor_job" + } + + popdown { + position +28 = + size 20 6 + text "EXECUTE 1" + command "*execute_job 1 *monitor_job" + } + + popdown { + position -28 +6 + size 20 6 + text "SUBMIT 2" + command "*submit_job 2 *monitor_job" + } + + popdown { + position +28 = + size 20 6 + text "EXECUTE 2" + command "*execute_job 2 *monitor_job" + } + + popdown { + position -28 +6 + size 20 6 + text "SUBMIT 3" + command "*submit_job 3 *monitor_job" + } + + popdown { + position +28 = + size 20 6 + text "EXECUTE 3" + command "*execute_job 3 *monitor_job" + } + + popdown { + position 19 +8 + size 12 8 + text "OK" + } + } + + window { + parent mentat + origin 38 8 +#ifdef DCOM + size 50 100 +#else + size 50 94 +#endif + background_color body + border_width 1 + border_color border + buffering single + } + + mode permanent +} + + +#-------------------------------------------------------------------------------------------------- +popmenu job_exit_msg_pm { + + text "EXIT MESSAGE" + + group { + + + + text { + position 1 5 + size 84 74 + multiline + readonly + display "job_exit_msg" + } + + popdown { + position 37 +76 + size 12 8 + text "OK" + } + } + + window { + parent mentat + origin 38 8 + size 86 90 + background_color body + border_width 1 + border_color border + buffering single + } + + mode dialog +} + + + + +#-------------------------------------------------------------------------------------------------- +popmenu job_run_parallelization_pm { + + text "SOLVER/PARALLELIZATION" + + group { + layout vbox + frame { + position 0 0 + size 42 8 + group { + + label { + position 0 0 + size 6 4 + text "NAME" + } + + display { + position +6 = + size 36 4 + display "job_name" + } + + label { + position 0 +4 + size 6 4 + text "TYPE" + } + + display { + position +6 = + size 36 4 + display job_class_label + } + } + } + frame { + position 0 8 + size 42 20 + group job_ddm_gr + text "DOMAIN DECOMPOSITION" + border_width 1 + border_color black + } + + frame { + position 0 +20 + size 42 13 + group job_assem_recov_gr + text "ASSEMBLY AND RECOVERY" + border_width 1 + border_color black + } + + frame { + position 0 +14 + size 42 31 + group job_parallel_matrix_solver_gr + text "MATRIX SOLVER" + border_width 1 + border_color black + } + + frame { + position 0 +32 + size 42 28 + group job_parallel_env_gr + text "PARALLELIZATION ENVIRONMENT" + border_width 1 + border_color black + visible "or(*job_option parallel:on, \ + solver_multi_procs)" + } + frame { + position 15 +30 + size 42 8 + group { + layout hbox + + spacer { + stretch 1 + } + popdown { + position 15 0 + size 12 8 + text "OK" + } + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + stretch 1 + } + } + + window { + parent mentat + origin 38 1 + size 60 119 + background_color body + border_width 1 + border_color border + buffering single + } + mode permanent +} + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_gr { + + toggle { + position 1 4 + size 42 4 + text "USE \{DDM}" + toggle "*job_option parallel:on" + help job_run_ddm_use + true_command "*job_option parallel:on" + false_command "*job_option parallel:off" + active "and(not(job_solver_it_ext),\ + not(job_solver_mixed_direct_iterative))" + } + + frame { + position = +5 + size 42 4 + group job_ddm_use_gr + visible "*job_option parallel:on" + } +} + +group job_ddm_use_gr { + layout vbox + frame{ + position 0 0 + size 30 4 + group { + layout hbox + label { + position 0 0 + size 12 4 + text "DECOMPOSITION IN" + help job_run_ddm_generator + } + oneonly{ + position +12 = + size 8 4 + text "MARC" + oneonly "*job_option ddm_generator:fea_solver" + command "*job_option ddm_generator:fea_solver" + help job_run_ddm_generator + } + oneonly{ + position +12 = + size 8 4 + text "MENTAT" + oneonly "*job_option ddm_generator:preprocessor" + command "*job_option ddm_generator:preprocessor" + help job_run_ddm_generator + } + } + } + + frame { + position 0 +5 + size 44 8 + group job_ddm_fea_solver_gr + visible "*job_option ddm_generator:fea_solver" + } + + frame { + position = = + size 44 8 + group job_ddm_preprocessor_gr + visible "*job_option ddm_generator:preprocessor" + } + + frame{ + position 0 +5 + size 40 4 + group{ + layout hbox + text { + position 0 0 + size 22 4 + text "Single Input File" + readonly + visible "*job_option ddm_generator:fea_solver" + } + + roller { + position = = + size 22 4 + nvalues 2 + texts "MULTIPLE INPUT FILES" + "SINGLE INPUT FILE" + roller "job_option ddm_single_input" + commands "*job_option ddm_single_input:off" + "*job_option ddm_single_input:on" + visible "*job_option ddm_generator:preprocessor" + help job_run_ddm_single_input + } + + roller { + position +23 = + size 21 4 + nvalues 2 + texts "MULTIPLE POST FILES" + "SINGLE POST FILE" + roller "job_option ddm_single_post" + commands "*job_option ddm_single_post:off" + "*job_option ddm_single_post:on" + help job_run_ddm_single_post + } + } + } +} + + + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_fea_solver_gr { + + label { + position 0 0 + size 10 4 + text "# DOMAINS" + help job_param + } + + text { + position +10 = + size 4 4 + display "job_param_value_ndomains" + command "*job_param ndomains" + } + + label { + position 0 +4 + size 7 4 + text "METHOD" + border_width 1 + border_color black + } + + roller { + position +7 = + size 18 4 + nvalues 7 + texts "METIS BEST" + "METIS ELEMENT" + "METIS NODE" + "REC. COORD. BISECTION" + "VECTOR" + "RADIAL" + "ANGULAR" + help set_job_decomp_type + rollers "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + commands "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + } + + button { + position +18 = + size 12 4 + text "ADV. SETTINGS" + popmenu job_ddm_fea_solver_pm + } +} + + + + +#-------------------------------------------------------------------------------------------------- +popmenu job_ddm_fea_solver_pm { + text "JOB PARALLELIZATION" + mode permanent + + group { + layout vbox + spacing 0 + + frame job_properties_subm_header_fr + + spacer { + spacing 2 + } + + frame { + + group { + layout hbox + spacing 0 + + frame { + text "ADVANCED DECOMPOSITION IN MARC" + + group { + layout vbox + spacing 0 + + frame { + + group { + layout hbox + spacing 0 + + label { + size 12 4 + text "# DOMAINS" + help job_param + } + + text { + size 14 4 + display "job_param_value_ndomains" + command "*job_param ndomains" + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + + group { + layout hbox + spacing 0 + + label { + size 8 4 + text "METHOD" + } + + roller { + size 32 4 + nvalues 7 + texts "METIS BEST" + "METIS ELEMENT" + "METIS NODE" + "RECURSIVE COORDINATE BISECTION" + "VECTOR" + "RADIAL" + "ANGULAR" + help set_job_decomp_type + rollers "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + commands "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + visible "or(*job_option ddm_method:vector, \ + *job_option ddm_method:radial, \ + *job_option ddm_method:angular)" + + group { + layout hbox + spacing 0 + + frame { + group job_ddm_direction_gr + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + + group { + layout hbox + spacing 0 + + toggle { + size 24 4 + text "DOMAIN ISLAND REMOVAL" + toggle "*job_option ddm_island_removal:on" + true_command "*job_option ddm_island_removal:on" + false_command "*job_option ddm_island_removal:off" + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + + group { + layout hbox + spacing 0 + + label { + size 8 4 + text "GRAPH" + visible "or(*job_option ddm_method:metis_best, \ + *job_option ddm_method:metis_element_based, \ + *job_option ddm_method:metis_node_based)" + } + + roller { + size 8 4 + nvalues 2 + texts "COARSE" + "FINE" + help ddm_decomp_coarse_graph + rollers "*job_option ddm_graph:coarse" + "*job_option ddm_graph:fine" + commands "*job_option ddm_graph:coarse" + "*job_option ddm_graph:fine" + visible "or(*job_option ddm_method:metis_best, \ + *job_option ddm_method:metis_element_based, \ + *job_option ddm_method:metis_node_based)" + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + + group { + layout hbox + spacing 0 + + label { + size 20 4 + text "QUADRATIC ELEMENTS" + } + + roller { + size 12 4 + nvalues 2 + texts "GENUINE" + "LINEARIZED" + help job_run_ddm_decomp_linearized + rollers "*job_option ddm_quadr_elems:genuine" + "*job_option ddm_quadr_elems:linearized" + commands "*job_option ddm_quadr_elems:genuine" + "*job_option ddm_quadr_elems:linearized" + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + + group { + layout hbox + spacing 0 + + label { + position 0 +5 + size 24 4 + text "ELEMENT WEIGHT FACTOR" + help job_param + } + + text { + position +24 = + size 14 4 + display "job_param_value_ddm_elem_weight_factor" + command "*job_param ddm_elem_weight_factor" + help job_run_ddm_decomp_element_weight_factor + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + visible "or(*job_option ddm_method:metis_best, \ + *job_option ddm_method:metis_element_based, \ + *job_option ddm_method:metis_node_based)" + + group { + layout hbox + spacing 0 + + frame { + + group { + + toggle { + position 0 0 + size 16 4 + text "DETECT CONTACT" + toggle "*job_option ddm_detect_contact:on" + true_command "*job_option ddm_detect_contact:on" + false_command "*job_option ddm_detect_contact:off" + help job_run_ddm_decomp_detect_contact + } + + label { + position = +5 + size 28 4 + text "CONTACT TOLERANCE" + visible "*job_option ddm_detect_contact:on" + } + + text { + position +28 = + size 14 4 + command "*set_ddm_contact_tolerance" + display "job_param_value_ddm_contact_tolerance" + command "*job_param ddm_contact_tolerance" + visible "*job_option ddm_detect_contact:on" + help job_run_ddm_decomp_contact_tolerance + } + + label { + position 0 +4 + size 28 4 + text "CONTACT CONSTRAINT FACTOR" + visible "*job_option ddm_detect_contact:on" + } + + text { + position +28 = + size 14 4 + display "job_param_value_ddm_contact_constr_factor" + command "*job_param ddm_contact_constr_factor" + visible "*job_option ddm_detect_contact:on" + help job_run_ddm_decomp_contact_constraint_factor + } + } + } + + spacer { + stretch 1 + } + } + } + } + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame job_properties_subm_footer_fr + } +} # job_ddm_fea_solver_pm + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_direction_gr { + + button { + position 0 0 + size 21 4 + text "DIRECTION" + command "*job_vector ddm_sort_direction_x" + visible "model_anadim_3d" + } + + button { + position = = + size 21 4 + text "DIRECTION" + command "*job_vector_2d ddm_sort_direction_x" + visible "not(model_anadim_3d)" + } + + button { + position +21 = + size 21 4 + text "FROM / TO" + command "*job_vector_from_to ddm_sort_direction_x" + visible "model_anadim_3d" + } + + button { + position = = + size 21 4 + text "FROM / TO" + command "*job_vector_from_to_2d ddm_sort_direction_x" + visible "not(model_anadim_3d)" + } + + frame { + position 0 +4 + size 42 4 + + group { + layout hbox + spacing 0 + + text { + size 14 4 + command "*job_param ddm_sort_direction_x" + display "job_param_value_ddm_sort_direction_x" + help ddm_job_decomp_user_direction_x + } + + text { + size 14 4 + command "*job_param ddm_sort_direction_y" + display "job_param_value_ddm_sort_direction_y" + } + + text { + size 14 4 + command "*job_param ddm_sort_direction_z" + display "job_param_value_ddm_sort_direction_z" + visible "model_anadim_3d" + } + } + } + + frame { + position 0 +4 + size 42 8 + group job_ddm_sort_point_gr + visible "not(*job_option ddm_method:vector)" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_sort_point_gr { + + label { + position 0 0 + size 16 4 + text "POINT ON AXIS" + } + + roller { + position +16 = + size 10 4 + nvalues 2 + texts "DEFAULT" + "USER" + roller "job_option ddm_sort_point" + commands "*job_option ddm_sort_point:default" + "*job_option ddm_sort_point:user" + } + + button { + position +20 = + size 6 4 + text "SET" + command "*job_position ddm_sort_point_x" + visible "and(*job_option ddm_sort_point:user, model_anadim_3d)" + } + + button { + position = = + size 6 4 + text "SET" + command "*job_position_2d ddm_sort_point_x" + visible "and(*job_option ddm_sort_point:user, not(model_anadim_3d))" + } + + frame { + position 0 +4 + size 42 4 + visible "*job_option ddm_sort_point:user" + + group { + layout hbox + spacing 0 + + text { + size 14 4 + command "*job_param ddm_sort_point_x" + display "job_param_value_ddm_sort_point_x" + } + + text { + size 14 4 + command "*job_param ddm_sort_point_y" + display "job_param_value_ddm_sort_point_y" + } + + text { + size 14 4 + command "*job_param ddm_sort_point_z" + display "job_param_value_ddm_sort_point_z" + visible "model_anadim_3d" + } + } + } +} + + + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_preprocessor_gr { + + label { + position 0 0 + size 10 4 + text "# DOMAINS" + border_width 1 + border_color black + } + + integer { + position +10 = + size 4 4 + display valid_domains + } + + button { + position 0 +4 + size 30 4 + text "USER DOMAINS" + popmenu domains_pm + help job_run_ddm_user_domains + } +} + + + + +#-------------------------------------------------------------------------------------------------- +group job_assem_recov_gr { + + toggle { + position 1 +4 + size 30 4 + text "MULTIPLE THREADS" + true_command "*job_option assem_recov_multi_threading:on" + false_command "*job_option assem_recov_multi_threading:off" + toggle "*job_option assem_recov_multi_threading:on" + } + + label { + position = +4 + size 12 4 + text "# THREADS" + visible "*job_option assem_recov_multi_threading:on" + } + + text { + position +12 = + size 4 4 + display "job_param_value_assem_recov_nthreads" + command "*job_param assem_recov_nthreads" + visible "*job_option assem_recov_multi_threading:on" + } + + label { + position +4 = + size 10 4 + visible "and(*job_option assem_recov_multi_threading:on, \ + *job_option parallel:on)" + text "PER DOMAIN" + border_width 1 + border_color black + } + + display { + position +12 = + size 4 4 + display "job_assem_recov_nthreads_dom" + visible "and(*job_option assem_recov_multi_threading:on, \ + *job_option parallel:on)" + } + spacer{ + stretch 2 + } + +} + + +#-------------------------------------------------------------------------------------------------- +group job_parallel_matrix_solver_gr { + layout vbox + frame { + position 1 0 + size 36 31 + group { + layout hbox + label { + position 3 4 + size 12 4 + text "SOLUTION" + border_width 1 + border_color black + } + oneonly { + position +12 = + size 12 4 + text "SYMMETRIC" + help "job_param_solver_method#symmetric" + oneonly "job_nonsym_off" + command "*job_option solver_nonsym:off" + } + oneonly { + position +12 = + size 12 4 + text "NONSYMMETRIC" + help "job_param_solver_method#symmetric" + oneonly "job_nonsym_on" + command "*job_option solver_nonsym:on" + } + spacer { + stretch 1 + } + } + } + + frame { + position 1 +5 + size 42 23 + group matrix_solver_gr + help job_param_solver + } + + frame { + position +1 = + size 42 4 + group job_run_solver_ddm_opts_gr + visible "*job_option parallel:on" + } + + frame { + position 1 +23 + size 42 8 + group job_solver_multi_procs_gr + visible solver_allows_multi_procs + } + + frame { + position = = + size 42 8 + group job_solver_multi_threads_gr + visible solver_allows_multi_threads + } + + frame { + position 1 +9 + size 42 8 + group job_solver_gpu_gr + visible "or(and(job_solver_mfront_sparse,job_nonsym_off), \ + and(job_solver_it_sparse,job_nonsym_off))" + } + +} + + +#-------------------------------------------------------------------------------------------------- +group job_run_solver_ddm_opts_gr { + + button { + position 0 0 + size 14 4 + text "\{DDM} OPTIONS" + popmenu ddm_options +# see also job_common.ms! + visible "not(or(job_solver_it_sparse, \ + job_solver_it_ext, \ + job_solver_mixed_direct_iterative, \ + job_solver_pardiso,\ + job_solver_mumps))" + } + button { + position = = + size 14 4 + text "\{DDM} OPTIONS" + popmenu ddm_options_mumps + visible "job_solver_mumps" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_procs_gr { + frame { + position 0 0 + size 42 8 + group job_solver_multi_procs_parallel_off_gr + visible "*job_option parallel:off" + } + + frame { + position = = + size 42 8 + group job_solver_multi_procs_parallel_on_gr + visible "*job_option parallel:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_procs_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE SOLVER PROCESSES" + true_command "*job_option nsolver_procs_serial:on" + false_command "*job_option nsolver_procs_serial:off" + toggle "*job_option nsolver_procs_serial:on" + help "job_param_solver_method#mumps" + } + + label { + position +2 +4 + size 14 4 + text "# PROCESSES" + visible "*job_option nsolver_procs_serial:on" + help job_param + } + + text { + position +14 = + size 14 4 + display "job_param_value_nsolver_procs" + command "*job_param nsolver_procs" + visible "*job_option nsolver_procs_serial:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_procs_parallel_on_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE SOLVER PROCESSES" + help "job_param_solver_method#mumps" + toggle true + set $dummy dummy + } + + label { + position +2 +4 + size 14 4 + text "# PROCESSES" + border_width 1 + border_color black + } + + roller { + position +14 = + size 14 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option nsolver_procs_ddm:automatic" + "*job_option nsolver_procs_ddm:user" + help "job_param_solver_method#mumps" + rollers "*job_option nsolver_procs_ddm:automatic" + "*job_option nsolver_procs_ddm:user" + } + + frame { + position +14 = + size 16 4 + group job_nsolver_procs_ddm_automatic_gr + visible "*job_option nsolver_procs_ddm:automatic" + } + + frame { + position = = + size 16 4 + group job_nsolver_procs_ddm_user_gr + visible "*job_option nsolver_procs_ddm:user" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_nsolver_procs_ddm_automatic_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + border_width 1 + border_color black + } + + integer { + position +8 = + size 8 4 + display valid_domains + visible "*job_option ddm_generator:preprocessor" + } + + integer { + position = = + size 8 4 + display "job_param_ndomains" + visible "*job_option ddm_generator:fea_solver" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_nsolver_procs_ddm_user_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + help job_param + } + + text { + position +8 = + size 8 4 + display "job_param_value_nsolver_procs" + command "*job_param nsolver_procs" + } +} + +group job_solver_multi_threads_gr { + layout vbox + spacing 0 + + frame { + size 46 8 + group job_solver_multi_threads_it_sparse_parallel_off_gr + visible "and(job_solver_it_sparse,*job_option parallel:off)" + active "*job_option solver_use_gpu:off" + } + + frame { + size 46 8 + group job_solver_multi_threads_mfront_sparse_parallel_off_gr + visible "and(job_solver_mfront_sparse,*job_option parallel:off)" + active "*job_option solver_use_gpu:off" + } + + frame { + size 46 8 + group job_solver_multi_threads_mfront_sparse_parallel_on_gr + visible "and(job_solver_mfront_sparse,*job_option parallel:on)" + } + + frame { + size 46 8 + group job_solver_multi_threads_pardiso_parallel_off_gr + visible "and(job_solver_pardiso,*job_option parallel:off)" + } + + frame { + size 46 8 + group job_solver_multi_threads_pardiso_parallel_on_gr + visible "and(job_solver_pardiso,*job_option parallel:on)" + } + + frame { + size 46 8 + group job_solver_multi_threads_it_ext_off_gr + visible "and(job_solver_it_ext,*job_option parallel:off)" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_it_sparse_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option it_sparse_multi_threading:on" + true_command "*job_option it_sparse_multi_threading:on" + false_command "*job_option it_sparse_multi_threading:off" + help "job_param_solver_method#iterative" + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option it_sparse_multi_threading:on" + help "job_param_solver_method#iterative" + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option it_sparse_multi_threading:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_mfront_sparse_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option mfront_sparse_multi_threading:on" + true_command "*job_option mfront_sparse_multi_threading:on" + false_command "*job_option mfront_sparse_multi_threading:off" + help "job_param_solver_method#multifrontal" + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option mfront_sparse_multi_threading:on" + help "job_param_solver_method#multifrontal" + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option mfront_sparse_multi_threading:on" + } +} + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_mfront_sparse_parallel_on_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + help "job_param_solver_method#multifrontal" + toggle true + set $dummy dummy + } + + label { + position +30 0 + size 12 4 + visible "and( not(*job_option ddm_precond:direct)\ + *job_option parallel:on)" + text "PER DOMAIN" + border_width 1 + border_color black + help "job_param_solver_method#multifrontal" + } + + display { + position +12 0 + size 4 4 + display "job_mfront_sparse_nthreads_dom" + visible "and( not(*job_option ddm_precond:direct)\ + *job_option parallel:on)" + } + + label { + position 0 +4 + size 14 4 + text "# THREADS" + border_color black + border_width 1 + help "job_param_solver_method#multifrontal" + } + + roller { + position +14 = + size 14 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option mfront_sparse_multi_threading_ddm:automatic" + "*job_option mfront_sparse_multi_threading_ddm:user" + help "job_param_solver_method#multifrontal" + rollers "*job_option mfront_sparse_multi_threading_ddm:automatic" + "*job_option mfront_sparse_multi_threading_ddm:user" + visible "not(*job_option solver_use_gpu:on)" + } + + display { + position = = + size 14 4 + text "AUTOMATIC" + visible "*job_option solver_use_gpu:on" + } + + frame { + position +14 = + size 16 4 + group job_mfront_sparse_multi_threads_ddm_automatic_gr + visible "*job_option mfront_sparse_multi_threading_ddm:automatic" + } + + frame { + position = = + size 16 4 + group job_mfront_sparse_multi_threads_ddm_user_gr + visible "*job_option mfront_sparse_multi_threading_ddm:user" + } +} +#-------------------------------------------------------------------------------------------------- +group job_mfront_sparse_multi_threads_ddm_automatic_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + border_width 1 + border_color black + } + + integer { + position +8 = + size 8 4 + display valid_domains + visible "*job_option ddm_generator:preprocessor" + } + + integer { + position = = + size 8 4 + display "job_param_ndomains" + visible "*job_option ddm_generator:fea_solver" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_mfront_sparse_multi_threads_ddm_user_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + help "job_param_solver_method#multifrontal" + } + + text { + position +8 = + size 8 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + } +} + + + +#-------------------------------------------------------------------------------------------------- +group job_solver_gpu_gr { + + toggle { + position 0 0 + size 30 4 + text "USE \{GPU(s)}" + toggle "*job_option solver_use_gpu:on" + true_command "*job_option solver_use_gpu:on" + false_command "*job_option solver_use_gpu:off" + help job_solver_gpu + } + frame{ + position 0 +4 + size 28 4 + group{ + layout hbox + + label { + position 0 0 + size 16 4 + text "\{GPU} SELECTION" + border_width 1 + border_color black + visible "*job_option solver_use_gpu:on" + } + + roller { + position +16 = + size 12 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option solver_gpus:automatic" + "*job_option solver_gpus:user" + rollers "*job_option solver_gpus:automatic" + "*job_option solver_gpus:user" + visible "*job_option solver_use_gpu:on" + help job_solver_gpu + } + + text { + position +12 = + size 12 4 + display job_solver_gpus + command "*clear_job_solver_gpus *job_solver_gpus" + visible "and(*job_option solver_use_gpu:on,*job_option solver_gpus:user)" + } + spacer { + stretch 1 + } + } + } +} + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_pardiso_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option pardiso_multi_threading:on" + true_command "*job_option pardiso_multi_threading:on" + false_command "*job_option pardiso_multi_threading:off" + help "job_param_solver_method#pardiso" + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option pardiso_multi_threading:on" + help "job_param_solver_method#pardiso" + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option pardiso_multi_threading:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_pardiso_parallel_on_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + help "job_param_solver_method#pardiso" + toggle true + set $dummy dummy + } + + label { + position = +4 + size 14 4 + text "# THREADS" + border_color black + border_width 1 + } + + roller { + position +14 = + size 14 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option pardiso_multi_threading_ddm:automatic" + "*job_option pardiso_multi_threading_ddm:user" + help "job_param_solver_method#pardiso" + rollers "*job_option pardiso_multi_threading_ddm:automatic" + "*job_option pardiso_multi_threading_ddm:user" + } + + frame { + position +14 = + size 16 4 + group job_pardiso_multi_threads_ddm_automatic_gr + visible "*job_option pardiso_multi_threading_ddm:automatic" + } + + frame { + position = = + size 16 4 + group job_pardiso_multi_threads_ddm_user_gr + visible "*job_option pardiso_multi_threading_ddm:user" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_pardiso_multi_threads_ddm_automatic_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + border_width 1 + border_color black + } + + integer { + position +8 = + size 8 4 + display valid_domains + visible "*job_option ddm_generator:preprocessor" + } + + integer { + position = = + size 8 4 + display "job_param_ndomains" + visible "*job_option ddm_generator:fea_solver" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_pardiso_multi_threads_ddm_user_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + help "job_param_solver_method#pardiso" + } + + text { + position +8 = + size 8 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + } +} + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_it_ext_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option it_ext_multi_threading:on" + true_command "*job_option it_ext_multi_threading:on" + false_command "*job_option it_ext_multi_threading:off" + help "job_param_solver_method#casi" + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option it_ext_multi_threading:on" + help "job_param_solver_method#casi" + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option it_ext_multi_threading:on" + } +} + +#-------------------------------------------------------------------------------------------------- +group job_parallel_env_gr { + + frame{ + position 0 +4 + size 40 4 + group{ + layout hbox + label{ + position 0 0 + size 8 4 + text "SETUP" + help job_run_ddm_setup + } + oneonly { + position +12 = + size 12 4 + text "SINGLE MACHINE" + oneonly "*job_option parallel_setup:single" + command "*job_option parallel_setup:single" + help job_run_ddm_setup + } + oneonly { + position +8 = + size 12 4 + text "NETWORK" + oneonly "*job_option parallel_setup:network" + command "*job_option parallel_setup:network" + help job_run_ddm_setup + } + + spacer { + stretch 1 + } + } + } + + + frame { + position +1 +5 + size 40 16 + group job_parallel_env_network_gr + visible "*job_option parallel_setup:network" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_parallel_env_network_gr { + + button { + position 0 0 + size 28 4 + text "HOST FILE" + browser host_file_browser + settext $host_file_browser_label "SELECT HOST FILE" + set $host_file_browser_command "*job_host_file" + help job_host_file + } + + button { + position +28 = + size 8 4 + text "EDIT" + command "*job_edit_host_file" + help job_edit_host_file + visible job_host_file + } + + button { + position +8 = + size 8 4 + text "CLEAR" + command "*job_clear_host_file" + help job_clear_host_file + visible job_host_file + } + + display { + position 0 +4 + size 44 4 + display job_host_file + } + + frame { + position 0 +5 + size 44 9 + group job_parallel_env_network_ddm_gr + visible "*job_option parallel:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_parallel_env_network_ddm_gr { + + toggle { + position 0 0 + size 22 4 + text "COPY INPUT FILE" + toggle "*job_option copy_input_file:on" + true_command "*job_option copy_input_file:on" + false_command "*job_option copy_input_file:off" + help job_host_copy_inputfile + } + + toggle { + position +23 = + size 21 4 + text "COPY POST FILE" + toggle "*job_option copy_post_file:on" + true_command "*job_option copy_post_file:on" + false_command "*job_option copy_post_file:off" + help job_host_copy_inputfile + } + + label { + position 0 +5 + size 10 4 + text "HOSTS" + border_width 1 + border_color black + visible job_usersub_file + } + + roller { + position +10 = + size 18 4 + nvalues 2 + texts "COMPATIBLE" + "INCOMPATIBLE" + roller "job_option network_hosts" + commands "*job_option network_hosts:compatible" + "*job_option network_hosts:incompatible" + help job_host_comp + visible job_usersub_file + } +} + + +#endif + diff --git a/src/marc/include/concom2020 b/src/marc/include/concom2020 new file mode 100644 index 000000000..0b218c7f2 --- /dev/null +++ b/src/marc/include/concom2020 @@ -0,0 +1,443 @@ +! common block definition file taken from respective MSC.Marc release and reformated to free format +!*********************************************************************** +! +! File: concom.cmn +! +! MSC.Marc include file +! +integer & + iacous, iasmbl, iautth, ibear, icompl, iconj, icreep, ideva, idyn, idynt,& + ielas, ielcma, ielect, iform, ifour, iharm, ihcps, iheat, iheatt, ihresp,& + ijoule, ilem, ilnmom, iloren, inc, incext, incsub, ipass, iplres, ipois,& + ipoist, irpflo, ismall, ismalt, isoil, ispect, ispnow, istore, iswep, ithcrp,& + itherm, iupblg, iupdat, jacflg, jel, jparks, largst, lfond, loadup, loaduq,& + lodcor, lovl, lsub, magnet, ncycle, newtnt, newton, noshr, linear, ivscpl,& + icrpim, iradrt, ipshft, itshr, iangin, iupmdr, iconjf, jincfl, jpermg, jhour,& + isolvr, jritz, jtable, jshell, jdoubl, jform, jcentr, imini, kautth, iautof,& + ibukty, iassum, icnstd, icnstt, kmakmas, imethvp, iradrte, iradrtp, iupdate, iupdatp,& + ncycnt, marmen , idynme, ihavca, ispf, kmini, imixex, largtt, kdoela, iautofg,& + ipshftp, idntrc, ipore, jtablm, jtablc, isnecma, itrnspo, imsdif, jtrnspo, mcnear,& + imech, imecht, ielcmat, ielectt, magnett, imsdift, noplas, jtabls, jactch, jtablth,& + kgmsto , jpzo, ifricsh, iremkin, iremfor, ishearp, jspf, machining, jlshell, icompsol,& + iupblgfo, jcondir, nstcrp, nactive, ipassref, nstspnt, ibeart, icheckmpc, noline, icuring,& + ishrink, ioffsflg, isetoff, ioffsetm,iharmt, inc_incdat, iautspc, ibrake, icbush, istream_input,& + iprsinp, ivlsinp, ifirst_time,ipin_m, jgnstr_glb, imarc_return,iqvcinp, nqvceid, istpnx, imicro1,& + iaxisymm, jbreakglue,iglstif, jfastasm,iwear, iwearcf, imixmeth, ielcmadyn, idinout, igena_meth,& + magf_meth, non_assumed, iredoboudry, ioffsz0,icomplt, mesh_dual, iactrp, mgnewton, iusedens,igsigd0,& + iaem, icosim, inodels, nlharm, iampini, iphasetr, inonlcl, inonlct, iforminp,ispecerror,& + icsprg, imol, imolt, idatafit,iharmpar, inclcase, imultifreq,init_elas, ifatig, iftgmat +dimension :: ideva(60) +integer num_concom +parameter(num_concom=260) +common/marc_concom/& + iacous, iasmbl, iautth, ibear, icompl, iconj, icreep, ideva, idyn, idynt,& + ielas, ielcma, ielect, iform, ifour, iharm, ihcps, iheat, iheatt, ihresp,& + ijoule, ilem, ilnmom, iloren, inc, incext, incsub, ipass, iplres, ipois,& + ipoist, irpflo, ismall, ismalt, isoil, ispect, ispnow, istore, iswep, ithcrp,& + itherm, iupblg, iupdat, jacflg, jel, jparks, largst, lfond, loadup, loaduq,& + lodcor, lovl, lsub, magnet, ncycle, newtnt, newton, noshr, linear, ivscpl,& + icrpim, iradrt, ipshft, itshr, iangin, iupmdr, iconjf, jincfl, jpermg, jhour,& + isolvr, jritz, jtable, jshell, jdoubl, jform, jcentr, imini, kautth, iautof,& + ibukty, iassum, icnstd, icnstt, kmakmas, imethvp, iradrte, iradrtp, iupdate, iupdatp,& + ncycnt, marmen, idynme, ihavca, ispf, kmini, imixex, largtt, kdoela, iautofg,& + ipshftp, idntrc, ipore, jtablm, jtablc, isnecma, itrnspo, imsdif, jtrnspo, mcnear,& + imech, imecht, ielcmat, ielectt, magnett, imsdift, noplas, jtabls, jactch, jtablth,& + kgmsto , jpzo, ifricsh, iremkin, iremfor, ishearp, jspf, machining, jlshell, icompsol,& + iupblgfo, jcondir, nstcrp, nactive, ipassref, nstspnt, ibeart, icheckmpc, noline, icuring,& + ishrink, ioffsflg, isetoff, ioffsetm,iharmt, inc_incdat, iautspc, ibrake, icbush, istream_input,& + iprsinp, ivlsinp, ifirst_time,ipin_m, jgnstr_glb, imarc_return,iqvcinp, nqvceid, istpnx, imicro1,& + iaxisymm, jbreakglue,iglstif, jfastasm,iwear, iwearcf, imixmeth, ielcmadyn, idinout, igena_meth,& + magf_meth, non_assumed, iredoboudry, ioffsz0,icomplt, mesh_dual, iactrp, mgnewton, iusedens,igsigd0,& + iaem, icosim, inodels, nlharm, iampini, iphasetr, inonlcl, inonlct, iforminp,ispecerror,& + icsprg, imol, imolt, idatafit,iharmpar, inclcase, imultifreq,init_elas, ifatig, iftgmat +! +! comments of variables: +! +! iacous Control flag for acoustic analysis. Input data. +! iacous=1 modal acoustic analysis. +! iacous=2 harmonic acoustic-structural analysis. +! iasmbl Control flag to indicate that operator matrix should be +! recalculated. +! iautth Control flag for AUTO THERM option. +! ibear Control flag for bearing analysis. Input data. +! icompl Control variable to indicate that a complex analysis is +! being performed. Either a Harmonic analysis with damping, +! or a harmonic electro-magnetic analysis. Input data. +! iconj Flag for EBE conjugate gradient solver (=solver 1, retired) +! Also used for VKI iterative solver. +! icreep Control flag for creep analysis. Input data. +! ideva(60) - debug print out flag +! 1 print element stiffness matrices, mass matrix +! 2 output matrices used in tying +! 3 force the solution of a nonpositive definite matrix +! 4 print info of connections to each node +! 5 info of gap convergence, internal heat generated, contact +! touching and separation +! 6 nodal value array during rezoning +! 7 tying info in CONRAD GAP option, fluid element numbers in +! CHANNEL option +! 8 output incremental displacements in local coord. system +! 9 latent heat output +! 10 stress-strain in local coord. system +! 11 additional info on interlaminar stress +! 12 output right hand side and solution vector +! 13 info of CPU resources used and memory available on NT +! 14 info of mesh adaption process, 2D outline information +! info of penetration checking for remeshing +! save .fem files after afmesh3d meshing +! 15 surface energy balance flag +! 16 print info regarding pyrolysis +! 17 print info of "streamline topology" +! 18 print mesh data changes after remeshing +! 19 print material flow stress data read in from *.mat file +! if unit flag is on, print out flow stress after conversion +! 20 print information on table input +! 21 print out information regarding kinematic boundary conditions +! 22 print out information regarding dist loads, point loads, film +! and foundations +! 23 print out information about automatic domain decomposition +! 24 print out iteration information in SuperForm status report file +! 25 print out information for ablation +! 26 print out information for films - Table input +! 27 print out the tying forces +! 28 print out for CASI solver, convection, +! 29 DDM single file debug printout +! 30 print out cavity debug info +! 31 print out welding related info +! 32 prints categorized DDM memory usage +! 33 print out the cutting info regarding machining feature +! 34 print out the list of quantities which can be defined via a table +! and for each quantity the supported independent variables +! 35 print out detailed coupling region info +! 36 print out solver debug info level 1 (Least Detailed) +! 37 print out solver debug info level 1 (Medium Detailed) +! 38 print out solver debug info level 1 (Very Detailed) +! 39 print detailed memory allocation info +! 40 print out marc-adams debug info +! 41 output rezone mapping post file for debugging +! 42 output post file after calling oprofos() for debugging +! 43 debug printout for vcct +! 44 debug printout for progressive failure +! 45 print out automatically generated midside node coordinates (arecrd) +! 46 print out message about routine and location, where the ibort is raised (ibort_inc) +! 47 print out summary message of element variables on a +! group-basis after all the automatic changes have been +! made (em_ellibp) +! 48 Automatically generate check results based on max and min vals. +! These vals are stored in the checkr file, which is inserted +! into the *dat file by the generate_check_results script from /marc/tools +! 49 Automatically generate check results based on the real calculated values +! at the sppecified check result locations. +! These vals are stored in the checkr file, which is inserted +! into the *dat file by the update_check_results script from /marc/tools +! 50 generate a file containing the resistance or capacity matrix; +! this file can be used to compare results with a reference file +! 51 print out detailed information for segment-to-segment contact +! 52 print out detailed relative displacement information +! for uniaxial sliding contact +! 53 print out detailed sliding direction information for +! uniaxial sliding contact +! 54 print out detailed information for edges attached to a curve +! 55 print information related to viscoelasticity calculations +! 56 print out detailed information for element coloring for multithreading +! 57 print out extra overheads due to multi-threading. +! These overhead includes (i) time and (ii) memory. +! The memory report will be summed over all the children. +! +! +! 58 debug output for ELSTO usage +! +! idyn Control flag for dynamics. Input data. +! 1 = eigenvalue extraction and / or modal superposition +! 2 = Newmark Beta and Single Step Houbolt (ssh with idynme=1) +! 3 = Houbolt +! 4 = Central difference +! 5 = Newer central difference +! idynt Copy of idyn at begining of increment +! ielas Control flag for ELASTIC analysis. Input data. +! Set by user or automatically turned on by Fourier option. +! Implies that each load case is treated separately. +! In Adaptive meshing analysis , forces re-analysis until +! convergence obtained. +! Also seriously misused to indicate no convergence. +! = 1 elastic option with fourier analysis +! = 2 elastic option without fourier analysis +! =-1 no convergence in recycles or max # increments reached +! Set to 1 if ELASTIC or SUBSTRUC parameter cards are used, +! or if fourier option is used. +! Then set to 2 if not fourier analysis. +! ielcma Control flag for electromagnetic analysis. Input data. +! ielcma = 1 Harmonic formulation +! ielcma = 2 Transient formulation +! ielect Control flag for electrostatic option. Input data. +! iform Control flag indicating that contact will be performed. +! ifour Control flag for Fourier analysis. +! 0 = Odd and even terms. +! 1 = symmetric (cosine) terms +! 2 = antisymmetric (sine) terms. +! iharm Control flag to indicate that a harmonic analysis will +! be performed. May change between passes. +! ihcps Control flag for coupled thermal - stress analysis. +! iheat Control flag for heat transfer analysis. Input data. +! iheatt Permanent control flag for heat transfer analysis. +! Note in coupled analysis iheatt will remain as one, +! but iheat will be zero in stress pass. +! ihresp Control flag to indicate to perform a harmonic subincrement. +! ijoule Control flag for Joule heating. +! ilem Control flag to determin which vector is to be transformed. +! Control flag to see where one is: +! ilem = 1 - elem.f +! ilem = 2 - initst.f +! ilem = 3 - pressr.f +! ilem = 3 - fstif.f +! ilem = 4 - jflux.f +! ilem = 4 - strass.f +! ilem = 5 - mass.f +! ilem = 5 - osolty.f +! ilnmom Control flag for soil - pore pressure calculation. Input data. +! ilnmom = 0 - perform only pore pressure calculation. +! = 1 - couples pore pressure - displacement analysis +! iloren Control flag for DeLorenzi J-Integral evaluation. Input data. +! inc Increment number. +! incext Control flag indicating that currently working on a +! subincrement. +! Could be due to harmonics , damping component (bearing), +! stiffness component (bearing), auto therm creep or +! old viscoplaticity +! incsub Sub-increment number. +! ipass Control flag for which part of coupled analysis. +! ipass = -1 - reset to base values +! ipass = 0 - do nothing +! ipass = 1 - stress part +! ipass = 2 - heat transfer part +! iplres Flag indicating that either second matrix is stored. +! dynamic analysis - mass matrix +! heat transfer - specific heat matrix +! buckle - initial stress stiffness +! ipois Control flag indicating Poisson type analysis +! ipois = 1 for heat transfer +! = 1 for heat transfer part of coupled +! = 1 for bearing +! = 1 for electrostatic +! = 1 for magnetostatic +! ipoist Permanent copy of ipois. In coupled analysis , ipois = 0 +! in stress portion, yet ipoist will still =1. +! irpflo global flag for rigid plastic flow analysis +! = 1 eularian formulation +! = 2 regular formulation; rigid material present in the analysis + +! ismall control flag to indicate small displacement analysis. input data. +! ismall = 0 - large disp included. +! ismall = 1 - small displacement. +! the flag is changing between passes. +! ismalt permanent copy of ismall . in heat transfer portion of +! coupled analysis ismall =0 , but ismalt remains the same. +! isoil control flag indicating that soil / pore pressure +! calculation . input data. +! ispect control flag for response spectrum calculation. input data. +! ispnow control flag to indicate to perform a spectrum response +! calculation now. +! istore store stresses flag. +! istore = 0 in elem.f and if first pass of creep +! convergence checking in ogetst.f +! or harmonic analysis or thruc.f if not +! converged. +! iswep control flag for eigenvalue analysis. +! iswep=1 - go do extraction process +! ithcrp control flag for auto therm creep option. input data. +! itherm control flag for either temperature dependent material +! properties and/or thermal loads. +! iupblg control flag for follower force option. input data. +! iupdat control flag for update lagrange option for current element. +! jacflg control flag for lanczos iteration method. input data. +! jel control flag indicating that total load applied in +! increment, ignore previous solution. +! jel = 1 in increment 0 +! = 1 if elastic or fourier +! = 1 in subincrements with elastic and adaptive +! jparks control flag for j integral by parks method. input data. +! largst control flag for finite strain plasticity. input data. +! lfond control variable that indicates if doing elastic +! foundation or film calculation. influences whether +! this is volumetric or surface integration. +! loadup control flag that indicates that nonlinearity occurred +! during previous increment. +! loaduq control flag that indicates that nonlinearity occurred. +! lodcor control flag for switching on the residual load correction. +! notice in input stage lodcor=0 means no loadcor, +! after omarc lodcor=1 means no loadcor +! lovl control flag for determining which "overlay" is to +! be called from ellib. +! lovl = 1 omarc +! = 2 oaread +! = 3 opress +! = 4 oasemb +! = 5 osolty +! = 6 ogetst +! = 7 oscinc +! = 8 odynam +! = 9 opmesh +! = 10 omesh2 +! = 11 osetz +! = 12 oass +! = 13 oincdt +! = 14 oasmas +! = 15 ofluas +! = 16 ofluso +! = 17 oshtra +! = 18 ocass +! = 19 osoltc +! = 20 orezon +! = 21 otest +! = 22 oeigen +! lsub control variable to determine which part of element +! assembly function is being done. +! lsub = 1 - no longer used +! = 2 - beta* +! = 3 - cons* +! = 4 - ldef* +! = 5 - posw* +! = 6 - theta* +! = 7 - tmarx* +! = 8 - geom* +! magnet control flag for magnetostatic analysis. input data. +! ncycle cycle number. accumulated in osolty.f +! note first time through oasemb.f , ncycle = 0. +! newtnt control flag for permanent copy of newton. +! newton iteration type. input data. +! newton : = 1 full newton raphson +! 2 modified newton raphson +! 3 newton raphson with strain correct. +! 4 direct substitution +! 5 direct substitution followed by n.r. +! 6 direct substitution with line search +! 7 full newton raphson with secant initial stress +! 8 secant method +! 9 full newton raphson with line search +! noshr control flag for calculation interlaminar shears for +! elements 22,45, and 75. input data. +!ees +! +! jactch = 1 or 2 if elements are activated or deactivated +! = 3 if elements are adaptively remeshed or rezoned +! = 0 normally / reset to 0 when assembly is done +! ifricsh = 0 call to fricsh in otest not needed +! = 1 call to fricsh (nodal friction) in otest needed +! iremkin = 0 remove deactivated kinematic boundary conditions +! immediately - only in new input format (this is default) +! = 1 remove deactivated kinematic boundary conditions +! gradually - only in new input format +! iremfor = 0 remove force boundary conditions immediately - +! only in new input format (this is default) +! = 1 remove force boundary conditions gradually - +! only in new input format (this is default) +! ishearp set to 1 if shear panel elements are present in the model +! +! jspf = 0 not in spf loadcase +! > 0 in spf loadcase (jspf=1 during first increment) +! machining = 1 if the metal cutting feature is used, for memory allocation purpose +! = 0 (default) if no metal cutting feature required +! +! jlshell = 1 if there is a shell element in the mesh +! icompsol = 1 if there is a composite solid element in the mesh +! iupblgfo = 1 if follower force for point loads +! jcondir = 1 if contact priority option is used +! nstcrp = 0 (default) steady state creep flag (undocumented feature. +! if not 0, turns off special ncycle = 0 code in radial.f) +! nactive = number of active passes, if =1 then it's not a coupled analysis +! ipassref = reference ipass, if not in a multiphysics pass ipass=ipassref +! icheckmpc = value of mpc-check parameter option +! noline = set to 1 in osolty if no line seacrh should be done in ogetst +! icuring = set to 1 if the curing is included for the heat transfer analysis. +! ishrink = set to 1 if shrinkage strain is included for mechancial analysis. +! ioffsflg = 1 for small displacement beam/shell offsets +! = 2 for large displacement beam/shell offsets +! isetoff = 0 - do not apply beam/shell offsets +! = 1 - apply beam/shell offsets +! ioffsetm = min. value of offset flag +! iharmt = 1 global flag if a coupled analysis contains an harmonic pass +! inc_incdat = flag to record increment number of a new loadcase in incdat.f +! iautspc = flag for AutoSPC option +! ibrake = brake squeal in this increment +! icbush = set to 1 if cbush elements present in model +! istream_input = set to 1 for streaming input calling Marc as library +! iprsinp = set to 1 if pressure input, introduced so other variables +! such as h could be a function of pressure +! ivlsinp = set to 1 if velocity input, introduced so other variables +! such as h could be a function of velocity +! ipin_m = # of beam element with PIN flag +! jgnstr_glb = global control over pre or fast integrated composite shells +! imarc_return = Marc return flag for streaming input control +! iqvcimp = if non-zero, then the number of QVECT boundary conditions +! nqvceid = number of QVECT boundary conditions, where emisivity/absorbtion id entered +! istpnx = 1 if to stop at end of increment +! imicro1 = 1 if micro1 interface is used +! iaxisymm = set to 1 if axisymmetric analysis +! jbreakglue = set to 1 if breaking glued option is used +! iglstif = 1 if ddm and global stiffness matrix formed (sgi solver 6 or solver9) +! jfastasm = 1 do fast assembly using SuperForm code +! iwear = set to 1 if wear model, set to 2 if wear model and coordinates updated +! iwearcf = set to 1 to store nodal coefficient of friction for wear calculation +! imixmeth = set=1 then use nonlinear mixture material - allocate memory +! ielcmadyn = flag for magnetodynamics +! 0 - electromagnetics using newmark beta +! 1 - transient magnetics using backward euler +! idinout = flag to control if inside out elements should be deactivated +! igena_meth = 0 - generalized alpha parameters depend on whether or not contact +! is flagged (dynamic,7) +! 10 - generalized alpha parameters are optimized for a contact +! analysis (dynamic,8) +! 11 - generalized alpha parameters are optimized for an analysis +! without contact (dynamic,8) +! magf_meth = - Method to compute force in magnetostatic - structural +! = 1 - Virtual work method based on finite difference for the force computation +! = 2 - Maxwell stress tensor +! = 3 - Virtual work method based on local derivative for the force computation +! non_assumed = 1 no assumed strain formulation (forced) +! iredoboudry set to 1 if contact boundary needs to be recalculated +! ioffsz0 = 1 if composite are used with reference position.ne.0 +! icomplt = 1 global flag if a coupled analysis contains an complex pass +! mesh_dual = 1 two independent meshes are used in magnetodynamic/thermal/structural +! one for magnetodynamic and the other for the remaining passes +! iactrp = 1 in an analysis with global remeshing, include inactive +! rigid bodies on post file +! mgnewton = 1 Use full Newton Raphson iteration for magnetostatic pass +! +! iusedens > 0 if mass density is used in the analysis (dynamics, mass dependent loading) +! igsigd0 = 1 set varselem(igsigd) to zero in next oasemb +! iaem = 1 if marc is called from aem (0 - off - default) +! icosim = 1 if marc is used in co-simulation software (ADAMS-MARC) +! inodels = 1 nodal integration elements 239/240/241 present +! nlharm = 0 harmonic subincrements are linear +! = 1 harmonic subincrements are nonlinear +! iampini = 0 amplitude of previous harmonic subinc is initial estimate (default) +! = 1 zero amplitude is initial estimate +! iphasetr = 1 phase transformation material model is used +! iforminp flag indicating that contact is switched on via the CONTACT +! option in the input file (as opposed to the case that contact +! is switched on internally due to cyclic symmetry or model +! section creation) +! ispecerror = a+10*b (only for spectrum response analysis with missing mass option) +! a=0 or a=1 (modal shape with non-zero shift) +! b=0 or b=1 (recover with new assembly of stiffness matrix) +! icsprg = set to 1 if spring elements present in model +! imol Control flag for molecualr diffusion pass +! imolt Permanent control flag for molecualr diffusion pass +! Note in coupled analysis imolt will remain as one, +! but imol will be zero in stress pass or thermal pass. +! idatafit = run Marc to fit parameters +! iharmpar = 1 if harmonic parameter option is used +! inclcase load case increment use for cyclic plasticity data fitting +! imultifreq flag to indicate how many harmonic magnetodynamic passes are computed in coupled +! magnetodynamic/thermal(/structural) analyses. +! 0 or 1 one pass 2 two passes 3 or more is not supported +! init_elas use elastic stress-strain law as the material tangent for +! the first cycle of an increment +! ifatig = 1 stress-life fatigue +! = 2 strain-life fatigue +! iftgmat = 0 no fatigue material properties in the dat file +! = 1 fatigue material properties in the dat file +! +!*********************************************************************** +!$omp threadprivate(/marc_concom/) +!! diff --git a/src/marc/include/creeps2020 b/src/marc/include/creeps2020 new file mode 100644 index 000000000..09550f501 --- /dev/null +++ b/src/marc/include/creeps2020 @@ -0,0 +1,66 @@ +! common block definition file taken from respective MSC.Marc release and reformated to free format +!*********************************************************************** +! +! File: creeps.cmn +! +! MSC.Marc include file +! +real(pReal) cptim,timinc,timinc_p,timinc_s,timincm,timinc_a,timinc_b +integer icfte,icfst,icfeq,icftm,icetem,mcreep,jcreep,icpa,icftmp,icfstr,& + icfqcp,icfcpm,icrppr,icrcha,icpb,iicpmt,iicpa +real(pReal) time_beg_lcase,time_beg_inc,fractol,time_beg_pst +real(pReal) fraction_donn,timinc_ol2 +! +integer num_creepsr,num_creepsi,num_creeps2r +parameter(num_creepsr=7) +parameter(num_creepsi=17) +parameter(num_creeps2r=6) +common/marc_creeps/cptim,timinc,timinc_p,timinc_s,timincm,timinc_a,timinc_b,icfte,icfst,& + icfeq,icftm,icetem,mcreep,jcreep,icpa,icftmp,icfstr,icfqcp,icfcpm,icrppr,icrcha,icpb,iicpmt,iicpa +common/marc_creeps2/time_beg_lcase,time_beg_inc,fractol,time_beg_pst,fraction_donn,timinc_ol2 +! +! cptim Total time at begining of increment. +! timinc Incremental time for this step. +! icfte Local copy number of slopes of creep strain rate function +! versus temperature. Is -1 if exponent law used. +! icfst Local copy number of slopes of creep strain rate function +! versus equivalent stress. Is -1 if exponent law used. +! icfeq Local copy number of slopes of creep strain rate function +! versus equivalent strain. Is -1 if exponent law used. +! icftm Local copy number of slopes of creep strain rate function +! versus time. Is -1 if exponent law used. +! icetem Element number that needs to be checked for creep convergence +! or, if negative, the number of elements that need to +! be checked. In the latter case the elements to check +! are stored in ielcp. +! mcreep Maximum nuber of iterations for explicit creep. +! jcreep Counter of number of iterations for explicit creep +! procedure. jcreep must be .le. mcreep +! icpa Pointer to constant in creep strain rate expression. +! icftmp Pointer to temperature dependent creep strain rate data. +! icfstr Pointer to equivalent stress dependent creep strain rate data. +! icfqcp Pointer to equivalent creep strain dependent creep strain +! rate data. +! icfcpm Pointer to equivalent creep strain rate dependent +! creep strain rate data. +! icrppr Permanent copy of icreep +! icrcha Control flag for creep convergence checking , if set to +! 1 then testing on absolute change in stress and creep +! strain, not relative testing. Input data. +! icpb Pointer to storage of material id cross reference numbers. +! iicpmt +! iicpa Pointer to constant in creep strain rate expression +! +! time_beg_lcase time at the beginning of the current load case +! time_beg_inc time at the beginning of the current increment +! fractol fraction of loadcase or increment time when we +! consider it to be finished +! time_beg_pst time corresponding to first increment to be +! read in from thermal post file for auto step +! +! timinc_old Time step of the previous increment +! +!*********************************************************************** +!!$omp threadprivate(/marc_creeps/) +!!$omp threadprivate(/marc_creeps2/) +!! From 56e9dc11ef87c5d796164d657b9fb2145a711a81 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 2 Aug 2020 20:43:30 +0200 Subject: [PATCH 416/958] "neutral" path --- installation/mods_MarcMentat/2018.1/Mentat_bin/submit1.original | 2 +- installation/mods_MarcMentat/2018/Mentat_bin/submit1.original | 2 +- installation/mods_MarcMentat/2019.1/Mentat_bin/submit1.original | 2 +- installation/mods_MarcMentat/2019/Mentat_bin/submit1.original | 2 +- installation/mods_MarcMentat/2020/Mentat_bin/submit1.original | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/installation/mods_MarcMentat/2018.1/Mentat_bin/submit1.original b/installation/mods_MarcMentat/2018.1/Mentat_bin/submit1.original index 0b79caa66..ff6ba14bd 100644 --- a/installation/mods_MarcMentat/2018.1/Mentat_bin/submit1.original +++ b/installation/mods_MarcMentat/2018.1/Mentat_bin/submit1.original @@ -4,7 +4,7 @@ # Normal exit status is 0. # -DIR=/nethome/f.roters/temp/msc/marc2018.1 +DIR=/tmp/msc/marc2018.1 if test $MARCDIR1 then DIR=$MARCDIR1 diff --git a/installation/mods_MarcMentat/2018/Mentat_bin/submit1.original b/installation/mods_MarcMentat/2018/Mentat_bin/submit1.original index 3174756ad..06a7b93b8 100644 --- a/installation/mods_MarcMentat/2018/Mentat_bin/submit1.original +++ b/installation/mods_MarcMentat/2018/Mentat_bin/submit1.original @@ -4,7 +4,7 @@ # Normal exit status is 0. # -DIR=/nethome/storage/raid3/f.roters/Software/MSC/Marc2018-RH7.1/marc2018 +DIR=/tmp/msc/marc2018 if test $MARCDIR1 then DIR=$MARCDIR1 diff --git a/installation/mods_MarcMentat/2019.1/Mentat_bin/submit1.original b/installation/mods_MarcMentat/2019.1/Mentat_bin/submit1.original index 7defd832f..8007af076 100644 --- a/installation/mods_MarcMentat/2019.1/Mentat_bin/submit1.original +++ b/installation/mods_MarcMentat/2019.1/Mentat_bin/submit1.original @@ -4,7 +4,7 @@ # Normal exit status is 0. # -DIR=/nethome/f.roters/temp/msc/marc2019.1 +DIR=/tmp/msc/marc2019.1 if test $MARCDIR1 then DIR=$MARCDIR1 diff --git a/installation/mods_MarcMentat/2019/Mentat_bin/submit1.original b/installation/mods_MarcMentat/2019/Mentat_bin/submit1.original index 577db012a..094dea194 100644 --- a/installation/mods_MarcMentat/2019/Mentat_bin/submit1.original +++ b/installation/mods_MarcMentat/2019/Mentat_bin/submit1.original @@ -4,7 +4,7 @@ # Normal exit status is 0. # -DIR=/nethome/f.roters/temp/msc/marc2019 +DIR=/tmp/msc/marc2019 if test $MARCDIR1 then DIR=$MARCDIR1 diff --git a/installation/mods_MarcMentat/2020/Mentat_bin/submit1.original b/installation/mods_MarcMentat/2020/Mentat_bin/submit1.original index b848dabc1..9f59cba3b 100644 --- a/installation/mods_MarcMentat/2020/Mentat_bin/submit1.original +++ b/installation/mods_MarcMentat/2020/Mentat_bin/submit1.original @@ -4,7 +4,7 @@ # Normal exit status is 0. # -DIR=/nethome/f.roters/temp/msc/marc2020 +DIR=/tmp/msc/marc2020 if test $MARCDIR1 then DIR=$MARCDIR1 From ae20f5ffe67f8d348b47a757b1e511eaa24c797f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 3 Aug 2020 18:19:38 +0200 Subject: [PATCH 417/958] attempt to fix parallel writing on MacOS should resolve TypeError: cannot pickle 'vtkmodules.vtkIOXML.vtkXMLRectilinearGridWriter' object error --- python/damask/_vtk.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 51175fdd7..00aa2f4e9 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -190,9 +190,13 @@ class VTK: writer.SetCompressorTypeToZLib() writer.SetDataModeToBinary() writer.SetInputData(self.geom) + if parallel: - mp_writer = mp.Process(target=self._write,args=(writer,)) - mp_writer.start() + try: + mp_writer = mp.Process(target=self._write,args=(writer,)) + mp_writer.start() + except TypeError: + writer.Write() else: writer.Write() From f557c076896f3e2a5ba511ad3371003b9779e87a Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 3 Aug 2020 20:52:08 +0200 Subject: [PATCH 418/958] [skip ci] updated version information after successful test of v2.0.3-2948-gb93078d9 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index f5754c664..2279ff194 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2945-gb7e03364 +v2.0.3-2948-gb93078d9 From 84551c9d1e24451b23066378eba4360da50a8449 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 4 Aug 2020 12:52:04 -0400 Subject: [PATCH 419/958] integrated former imageData functionality as "shade" method --- python/damask/_colormap.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 73e7d0936..8a31ceb3c 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -9,6 +9,8 @@ if os.name == 'posix' and 'DISPLAY' not in os.environ: import matplotlib.pyplot as plt from matplotlib import cm +from PIL import Image + import damask from . import Table @@ -161,6 +163,42 @@ class Colormap(mpl.colors.ListedColormap): print(' '+', '.join(cat[1])) + def shade(self,field,bounds=None,gap=None): + """ + Generate PIL image of 2D field using colormap. + + Parameters + ---------- + field : numpy 2D array + Data to be shaded. + bounds : array, optional + Lower and upper bound of value range. + gap : scalar, optional + Transparent value. NaN will always be rendered transparent. + + Returns + ------- + PIL.Image + RGBA image of shaded data. + + """ + N = len(self.colors) + mask = np.logical_not(np.isnan(field) if gap is None else \ + np.logical_or (np.isnan(field), field == gap)) # mask gap and NaN (if gap present) + + if bounds is None: + bounds = [field[mask].min(), + field[mask].max()] + hi,lo = max(bounds),min(bounds) + delta,avg = hi-lo,0.5*(hi+lo) + + if delta * 1e8 <= avg: # delta around numerical noise + hi,lo = hi+0.5*avg,lo-0.5*avg # extend range to have actual data centered within + + return Image.fromarray((np.dstack((self.colors[(np.clip((field-lo)/(hi-lo),0.0,1.0)*(N-1)).astype(np.uint8),:3], + mask.astype(float)))*255).astype(np.uint8), 'RGBA') + + def show(self,aspect=10,vertical=False): """Show colormap as matplotlib figure.""" fig = plt.figure(figsize=(5/aspect,5) if vertical else (5,5/aspect)) From e07c00a59262e884cfa75526064e9be282030589 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 4 Aug 2020 20:14:04 +0200 Subject: [PATCH 420/958] polishing + simple test autoscaling seems to be broken --- python/damask/_colormap.py | 20 ++++++++++---------- python/tests/reference/Colormap/shade.png | Bin 0 -> 143 bytes python/tests/test_Colormap.py | 12 ++++++++++++ 3 files changed, 22 insertions(+), 10 deletions(-) create mode 100644 python/tests/reference/Colormap/shade.png diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 8a31ceb3c..8bcb076d4 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -8,7 +8,6 @@ if os.name == 'posix' and 'DISPLAY' not in os.environ: mpl.use('Agg') import matplotlib.pyplot as plt from matplotlib import cm - from PIL import Image import damask @@ -169,11 +168,11 @@ class Colormap(mpl.colors.ListedColormap): Parameters ---------- - field : numpy 2D array + field : np.array of shape(:,:) Data to be shaded. - bounds : array, optional + bounds : iterable of len(2), optional Lower and upper bound of value range. - gap : scalar, optional + gap : field.dtype, optional Transparent value. NaN will always be rendered transparent. Returns @@ -184,16 +183,17 @@ class Colormap(mpl.colors.ListedColormap): """ N = len(self.colors) mask = np.logical_not(np.isnan(field) if gap is None else \ - np.logical_or (np.isnan(field), field == gap)) # mask gap and NaN (if gap present) + np.logical_or (np.isnan(field), field == gap)) # mask gap and NaN (if gap present) if bounds is None: - bounds = [field[mask].min(), - field[mask].max()] - hi,lo = max(bounds),min(bounds) + hi,lo = field[mask].min(),field[mask].max() + else: + hi,lo = bounds[::-1] + delta,avg = hi-lo,0.5*(hi+lo) - if delta * 1e8 <= avg: # delta around numerical noise - hi,lo = hi+0.5*avg,lo-0.5*avg # extend range to have actual data centered within + if delta * 1e8 <= avg: # delta around numerical noise + hi,lo = hi+0.5*avg,lo-0.5*avg # extend range to have actual data centered within return Image.fromarray((np.dstack((self.colors[(np.clip((field-lo)/(hi-lo),0.0,1.0)*(N-1)).astype(np.uint8),:3], mask.astype(float)))*255).astype(np.uint8), 'RGBA') diff --git a/python/tests/reference/Colormap/shade.png b/python/tests/reference/Colormap/shade.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e5eacea012a542f6f2ce8996be96d34f917f7a GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^+(695!3HFgJ}hYlQemDhjv*CudQVw%H5dpu9GreM zg2O2!$u8&Iqrd)3TRSoqT7TVfcH`$qOOs{QKgp~pT=>jIi*@6%6~E5J8*V9kzTYC| orbwt@_LA=%rc7Wo@1_JJA19Zn_gU_y9H0#hp00i_>zopr0366ORsaA1 literal 0 HcmV?d00001 diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index fbe65e2bd..8eebf63ee 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -4,6 +4,8 @@ import time import numpy as np import pytest +from PIL import Image +from PIL import ImageChops import damask from damask import Colormap @@ -129,6 +131,16 @@ class TestColormap: c += c assert (np.allclose(c.colors[:len(c.colors)//2],c.colors[len(c.colors)//2:])) + def test_shade(self,reference_dir,update): + data = np.add(*np.indices((10, 11))) + img_current = Colormap.from_predefined('orientation').shade(data) + if update: + img_current.save(reference_dir/'shade.png') + else: + img_reference = Image.open(reference_dir/'shade.png') + diff = ImageChops.difference(img_reference.convert('RGB'),img_current.convert('RGB')) + assert not diff.getbbox() + def test_list(self): Colormap.list_predefined() From e73ffd6da9e715a7fd37465702055ea14b94501c Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 4 Aug 2020 20:29:27 +0200 Subject: [PATCH 421/958] fixed and condensed lo,hi range assignment --- python/damask/_colormap.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 8bcb076d4..6d6fb437b 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -171,7 +171,7 @@ class Colormap(mpl.colors.ListedColormap): field : np.array of shape(:,:) Data to be shaded. bounds : iterable of len(2), optional - Lower and upper bound of value range. + Colormap value range (low,high). gap : field.dtype, optional Transparent value. NaN will always be rendered transparent. @@ -183,16 +183,14 @@ class Colormap(mpl.colors.ListedColormap): """ N = len(self.colors) mask = np.logical_not(np.isnan(field) if gap is None else \ - np.logical_or (np.isnan(field), field == gap)) # mask gap and NaN (if gap present) + np.logical_or (np.isnan(field), field == gap)) # mask NaN (and gap if present) + + lo,hi = (field[mask].min(),field[mask].max()) if bounds is None else \ + (min(bounds[:2]),max(bounds[:2])) - if bounds is None: - hi,lo = field[mask].min(),field[mask].max() - else: - hi,lo = bounds[::-1] - delta,avg = hi-lo,0.5*(hi+lo) - if delta * 1e8 <= avg: # delta around numerical noise + if delta * 1e8 <= avg: # delta is similar to numerical noise hi,lo = hi+0.5*avg,lo-0.5*avg # extend range to have actual data centered within return Image.fromarray((np.dstack((self.colors[(np.clip((field-lo)/(hi-lo),0.0,1.0)*(N-1)).astype(np.uint8),:3], From 7d49606597e76fc56944cf5bf36f5000577845a2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 4 Aug 2020 20:34:40 +0200 Subject: [PATCH 422/958] restored correct bound calculation test different bounds options --- python/damask/_colormap.py | 2 +- python/tests/reference/Colormap/shade.png | Bin 143 -> 0 bytes python/tests/reference/Colormap/shade_None.png | Bin 0 -> 146 bytes python/tests/reference/Colormap/shade_[2, 10].png | Bin 0 -> 136 bytes python/tests/test_Colormap.py | 9 +++++---- 5 files changed, 6 insertions(+), 5 deletions(-) delete mode 100644 python/tests/reference/Colormap/shade.png create mode 100644 python/tests/reference/Colormap/shade_None.png create mode 100644 python/tests/reference/Colormap/shade_[2, 10].png diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 8bcb076d4..5c0ca11d3 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -186,7 +186,7 @@ class Colormap(mpl.colors.ListedColormap): np.logical_or (np.isnan(field), field == gap)) # mask gap and NaN (if gap present) if bounds is None: - hi,lo = field[mask].min(),field[mask].max() + hi,lo = field[mask].max(),field[mask].min() else: hi,lo = bounds[::-1] diff --git a/python/tests/reference/Colormap/shade.png b/python/tests/reference/Colormap/shade.png deleted file mode 100644 index a9e5eacea012a542f6f2ce8996be96d34f917f7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^+(695!3HFgJ}hYlQemDhjv*CudQVw%H5dpu9GreM zg2O2!$u8&Iqrd)3TRSoqT7TVfcH`$qOOs{QKgp~pT=>jIi*@6%6~E5J8*V9kzTYC| orbwt@_LA=%rc7Wo@1_JJA19Zn_gU_y9H0#hp00i_>zopr0366ORsaA1 diff --git a/python/tests/reference/Colormap/shade_None.png b/python/tests/reference/Colormap/shade_None.png new file mode 100644 index 0000000000000000000000000000000000000000..2289910ae27a5d96cd99cf2400367fd8afa9a311 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^+(695!3HFgJ}hYlQjwl6jv*CudQTnXZE)alJ*fWo z`wGz+2hwkbCU0SVW^=pp&HZIhCRg08RN8STQt%8%8@qF(Q-pb%+O^(OM|K4+-jH`@ uR)qN~AlFj-TJKK1HPWx+BFy`i|6pvLX89&|fmz9*vXDv2;edFxsq+4aDKW>ecpX&CfSZLuTj;U@d lOq`YqYV`(WwsT literal 0 HcmV?d00001 diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index 8eebf63ee..b3309f12b 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -131,13 +131,14 @@ class TestColormap: c += c assert (np.allclose(c.colors[:len(c.colors)//2],c.colors[len(c.colors)//2:])) - def test_shade(self,reference_dir,update): + @pytest.mark.parametrize('bounds',[None,[2,10]]) + def test_shade(self,reference_dir,update,bounds): data = np.add(*np.indices((10, 11))) - img_current = Colormap.from_predefined('orientation').shade(data) + img_current = Colormap.from_predefined('orientation').shade(data,bounds=bounds) if update: - img_current.save(reference_dir/'shade.png') + img_current.save(reference_dir/f'shade_{bounds}.png') else: - img_reference = Image.open(reference_dir/'shade.png') + img_reference = Image.open(reference_dir/f'shade_{bounds}.png') diff = ImageChops.difference(img_reference.convert('RGB'),img_current.convert('RGB')) assert not diff.getbbox() From 0aaba487d7a27cb9623b0e7dd1e141bef72509f2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 5 Aug 2020 06:20:05 +0200 Subject: [PATCH 423/958] required packages --- python/setup.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python/setup.py b/python/setup.py index 798d8e4bf..360918b38 100644 --- a/python/setup.py +++ b/python/setup.py @@ -20,6 +20,8 @@ setuptools.setup( "scipy", "h5py", "vtk", + "matplotlib", + "PIL", ], classifiers = [ "Intended Audience :: Science/Research", From e4103564a982f6dd781b029506e4f1c4198805d1 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 5 Aug 2020 10:08:48 -0400 Subject: [PATCH 424/958] 16bit color index; proper rounding of index values --- python/damask/_colormap.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 6d6fb437b..0da9a564e 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -168,7 +168,7 @@ class Colormap(mpl.colors.ListedColormap): Parameters ---------- - field : np.array of shape(:,:) + field : numpy.array of shape(:,:) Data to be shaded. bounds : iterable of len(2), optional Colormap value range (low,high). @@ -193,8 +193,14 @@ class Colormap(mpl.colors.ListedColormap): if delta * 1e8 <= avg: # delta is similar to numerical noise hi,lo = hi+0.5*avg,lo-0.5*avg # extend range to have actual data centered within - return Image.fromarray((np.dstack((self.colors[(np.clip((field-lo)/(hi-lo),0.0,1.0)*(N-1)).astype(np.uint8),:3], - mask.astype(float)))*255).astype(np.uint8), 'RGBA') + return Image.fromarray( + (np.dstack(( + self.colors[(np.round(np.clip((field-lo)/(hi-lo),0.0,1.0))*(N-1)).astype(np.uint16),:3], + mask.astype(float) + ) + )*255 + ).astype(np.uint8), + mode='RGBA') def show(self,aspect=10,vertical=False): From ce00371f52f61a13589c29e73b42646e77933fb7 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 5 Aug 2020 10:44:10 -0400 Subject: [PATCH 425/958] fixed rounding bug and updated reference images --- python/damask/_colormap.py | 2 +- python/tests/reference/Colormap/shade_None.png | Bin 146 -> 147 bytes .../tests/reference/Colormap/shade_[2, 10].png | Bin 136 -> 138 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 0da9a564e..99332821d 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -195,7 +195,7 @@ class Colormap(mpl.colors.ListedColormap): return Image.fromarray( (np.dstack(( - self.colors[(np.round(np.clip((field-lo)/(hi-lo),0.0,1.0))*(N-1)).astype(np.uint16),:3], + self.colors[(np.round(np.clip((field-lo)/(hi-lo),0.0,1.0)*(N-1))).astype(np.uint16),:3], mask.astype(float) ) )*255 diff --git a/python/tests/reference/Colormap/shade_None.png b/python/tests/reference/Colormap/shade_None.png index 2289910ae27a5d96cd99cf2400367fd8afa9a311..1fe460cb0f557e34144f5db2599c1ada23cebc50 100644 GIT binary patch delta 118 zcmV-+0Ez#S0h0lcByUI8lxMV#=15(jrD148rQdZ Y0D@{c?6U0%$N&HU07*qoM6N<$f)OM#?EnA( delta 117 zcmV-*0E+*U0g?fbByL$rL_t(|oQ=xC4S+xhMZqWi_ox+^z-QT2W3&b4JllEf-=^e~ zc-?s-xZGJ0%m{`DLxDnAH)bZ*jmpHjQKPVK%$is?swUQrITzNAxh||5>t0wlj;Htm Xg_b$&U7$vN00000NkvXXu0mjfu1Phy diff --git a/python/tests/reference/Colormap/shade_[2, 10].png b/python/tests/reference/Colormap/shade_[2, 10].png index 25c1cebb8d5fcef42d67da42ebcaaf627e508efa..3fb795d83c44555fec0b8a62614990129b4f2054 100644 GIT binary patch delta 109 zcmV-z0FwWR0g3^TBxX@bL_t(|oQ=%E4TCTg1;OF>U!(2F5kw-%At?Y3P{7;sXqWHk zhr6Q>|JLlSS^F^O(_?#?`^WZss}$nG34}@^R0^R|2$e#p6hfu&I)@NWGg+e$JT%Wr P00000NkvXXu0mjf>a{S2 delta 107 zcmV-x0F?iV0f+&RBxFxXL_t(|oQ=w{4TC@w1u*mXpYb?A0wfX&L{Ew^z;o^4?BnD0 z^vT_tqc!W;>Z~cFXa#T_2T3{Bsha(g>ACs5C;Q5h{&PX@p86`~WNXqXjbDb5Q^Q N002ovPDHLkV1kD(Fq{AY From 5f759eae435bf2fba8a2d468c765831466d6896b Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 6 Aug 2020 05:41:54 +0200 Subject: [PATCH 426/958] [skip ci] updated version information after successful test of v2.0.3-2957-gce00371f --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 2279ff194..55ad31923 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2948-gb93078d9 +v2.0.3-2957-gce00371f From f379a5f0f164c16faaf3f786d385cc57d67a6285 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 6 Aug 2020 08:17:02 +0200 Subject: [PATCH 427/958] [skip ci] updated version information after successful test of v2.0.3-2964-g7824a61f --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 2279ff194..4509da1c9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2948-gb93078d9 +v2.0.3-2964-g7824a61f From 0ad189ea9d4b7a2967a04ec7561c393c2c64a4c0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 18:18:32 +0200 Subject: [PATCH 428/958] not needed anymore --- processing/legacy/imageData.py | 184 ------------------------------ processing/legacy/imageDataRGB.py | 134 ---------------------- 2 files changed, 318 deletions(-) delete mode 100755 processing/legacy/imageData.py delete mode 100755 processing/legacy/imageDataRGB.py diff --git a/processing/legacy/imageData.py b/processing/legacy/imageData.py deleted file mode 100755 index 51547d4eb..000000000 --- a/processing/legacy/imageData.py +++ /dev/null @@ -1,184 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from optparse import OptionParser - -import numpy as np -from PIL import Image - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [file[s]]', description = """ -Generate PNG image from data in given column (or 2D data of overall table). - -""", version = scriptID) - -parser.add_option('-l','--label', - dest = 'label', - type = 'string', metavar = 'string', - help = 'column containing data [all]') -parser.add_option('-r','--range', - dest = 'range', - type = 'float', nargs = 2, metavar = 'float float', - help = 'data range (min max) [auto]') -parser.add_option('--gap', '--transparent', - dest = 'gap', - type = 'float', metavar = 'float', - help = 'value to treat as transparent [%default]') -parser.add_option('-d','--dimension', - dest = 'dimension', - type = 'int', nargs = 2, metavar = 'int int', - help = 'data dimension (width height) [native]') -parser.add_option('--color', - dest = 'color', - type = 'string', metavar = 'string', - help = 'color scheme [%default]') -parser.add_option('--invert', - dest = 'invert', - action = 'store_true', - help = 'invert color scheme') -parser.add_option('--abs', - dest = 'abs', - action = 'store_true', - help = 'magnitude of values') -parser.add_option('--log', - dest = 'log', - action = 'store_true', - help = 'log10 of values') -parser.add_option('--fliplr', - dest = 'flipLR', - action = 'store_true', - help = 'flip around vertical axis') -parser.add_option('--flipud', - dest = 'flipUD', - action = 'store_true', - help = 'flip around horizontal axis') -parser.add_option('--crop', - dest = 'crop', - type = 'int', nargs = 4, metavar = 'int int int int', - help = 'pixels cropped on left, right, top, bottom') -parser.add_option('-N','--pixelsize', - dest = 'pixelsize', - type = 'int', metavar = 'int', - help = 'pixel per data point') -parser.add_option('-x','--pixelsizex', - dest = 'pixelsizex', - type = 'int', metavar = 'int', - help = 'pixel per data point along x') -parser.add_option('-y','--pixelsizey', - dest = 'pixelsizey', - type = 'int', metavar = 'int', - help = 'pixel per data point along y') -parser.add_option('--show', - dest = 'show', - action = 'store_true', - help = 'show resulting image') - -parser.set_defaults(label = None, - range = [0.0,0.0], - gap = None, - dimension = [], - abs = False, - log = False, - flipLR = False, - flipUD = False, - color = "gray", - invert = False, - crop = [0,0,0,0], - pixelsize = 1, - pixelsizex = 1, - pixelsizey = 1, - show = False, - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -if options.pixelsize > 1: (options.pixelsizex,options.pixelsizey) = [options.pixelsize]*2 - -# --- color palette --------------------------------------------------------------------------------- - -theMap = damask.Colormap(predefined = options.color) -if options.invert: theMap = theMap.invert() -theColors = np.uint8(np.array(theMap.export(format = 'list',steps = 256))*255) - -# --- loop over input files ------------------------------------------------------------------------- -for name in filenames: - try: - table = damask.ASCIItable(name = name, labeled = options.label is not None, readonly = True) - except IOError: - continue - damask.util.report(scriptName,name) - -# ------------------------------------------ read header ------------------------------------------ - - table.head_read() - -# ------------------------------------------ process data ------------------------------------------ - - missing_labels = table.data_readArray(options.label) - if len(missing_labels) > 0: - damask.util.croak('column {} not found.'.format(options.label)) - table.close(dismiss = True) # close ASCIItable and remove empty file - continue -# convert data to values between 0 and 1 and arrange according to given options - if options.dimension != []: table.data = table.data.reshape(options.dimension[1],options.dimension[0]) - if options.abs: table.data = np.abs(table.data) - if options.log: table.data = np.log10(table.data);options.range = np.log10(options.range) - if options.flipLR: table.data = np.fliplr(table.data) - if options.flipUD: table.data = np.flipud(table.data) - - mask = np.logical_or(table.data == options.gap, np.isnan(table.data))\ - if options.gap else np.logical_not(np.isnan(table.data)) # mask gap and NaN (if gap present) - if np.all(np.array(options.range) == 0.0): - options.range = [table.data[mask].min(), - table.data[mask].max()] - damask.util.croak('data range: {0} – {1}'.format(*options.range)) - - delta = max(options.range) - min(options.range) - avg = 0.5*(max(options.range) + min(options.range)) - - if delta * 1e8 <= avg: # delta around numerical noise - options.range = [min(options.range) - 0.5*avg, max(options.range) + 0.5*avg] # extend range to have actual data centered within - - table.data = (table.data - min(options.range)) / \ - (max(options.range) - min(options.range)) - - table.data = np.clip(table.data,0.0,1.0).\ - repeat(options.pixelsizex,axis = 1).\ - repeat(options.pixelsizey,axis = 0) - - mask = mask.\ - repeat(options.pixelsizex,axis = 1).\ - repeat(options.pixelsizey,axis = 0) - - (height,width) = table.data.shape - damask.util.croak('image dimension: {0} x {1}'.format(width,height)) - - im = Image.fromarray(np.dstack((theColors[np.array(255*table.data,dtype = np.uint8)], - 255*mask.astype(np.uint8))), 'RGBA').\ - crop(( options.crop[0], - options.crop[2], - width -options.crop[1], - height-options.crop[3])) - -# ------------------------------------------ output result ----------------------------------------- - - im.save(sys.stdout if not name else - os.path.splitext(name)[0]+ \ - ('' if options.label is None else '_'+options.label)+ \ - '.png', - format = "PNG") - - table.close() # close ASCII table - if options.show: im.show() diff --git a/processing/legacy/imageDataRGB.py b/processing/legacy/imageDataRGB.py deleted file mode 100755 index a34a48f4f..000000000 --- a/processing/legacy/imageDataRGB.py +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from optparse import OptionParser - -import numpy as np -from PIL import Image - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [file[s]]', description = """ -Generate PNG image from data in given column vector containing RGB tuples. - -""", version = scriptID) - -parser.add_option('-l','--label', - dest = 'label', - type = 'string', metavar = 'string', - help = 'column containing RGB triplet') -parser.add_option('-d','--dimension', - dest = 'dimension', - type = 'int', nargs = 2, metavar = 'int int', - help = 'data dimension (width height)') -parser.add_option('--fliplr', - dest = 'flipLR', - action = 'store_true', - help = 'flip around vertical axis') -parser.add_option('--flipud', - dest = 'flipUD', - action = 'store_true', - help = 'flip around horizontal axis') -parser.add_option('--crop', - dest = 'crop', - type = 'int', nargs = 4, metavar = ' '.join(['int']*4), - help = 'pixels cropped on left, right, top, bottom') -parser.add_option('-N','--pixelsize', - dest = 'pixelsize', - type = 'int', metavar = 'int', - help = 'pixels per data point') -parser.add_option('-x','--pixelsizex', - dest = 'pixelsizex', - type = 'int', metavar = 'int', - help = 'pixels per data point along x') -parser.add_option('-y','--pixelsizey', - dest = 'pixelsizey', - type = 'int', metavar = 'int', - help = 'pixels per data point along y') -parser.add_option('--show', - dest = 'show', - action = 'store_true', - help = 'show resulting image') - -parser.set_defaults(label = None, - dimension = [], - flipLR = False, - flipUD = False, - crop = [0,0,0,0], - pixelsize = 1, - pixelsizex = 1, - pixelsizey = 1, - show = False, - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -if options.dimension == []: parser.error('dimension of data array missing') -if options.pixelsize > 1: (options.pixelsizex,options.pixelsizey) = [options.pixelsize]*2 - -# --- loop over input files ------------------------------------------------------------------------- -for name in filenames: - try: - table = damask.ASCIItable(name = name, labeled = options.label is not None, readonly = True) - except IOError: - continue - damask.util.report(scriptName,name) - -# ------------------------------------------ read header ------------------------------------------ - - table.head_read() - -# ------------------------------------------ process data ------------------------------------------ - - errors = [] - - missing_labels = table.data_readArray(options.label) - if len(missing_labels) > 0: - errors.append('column{} {} not found'.format('s' if len(missing_labels) > 1 else '', - ', '.join(missing_labels))) - if table.label_dimension(options.label) != 3: - errors.append('column {} does not have dimension'.format(options.label)) - - if errors != []: - damask.util.croak(errors) - table.close(dismiss = True) # close ASCII table file handles and delete output file - continue -# convert data to shape and arrange according to given options - if options.dimension != []: table.data = table.data.reshape(options.dimension[1],options.dimension[0],3) - if options.flipLR: table.data = np.fliplr(table.data) - if options.flipUD: table.data = np.flipud(table.data) - - table.data = table.data.repeat(options.pixelsizex,axis=1).\ - repeat(options.pixelsizey,axis=0) - - table.data *= 1. if np.any(table.data > 1.0) else 255.0 # ensure 8 bit data range - - (height,width,bands) = table.data.shape - damask.util.croak('image dimension: {0} x {1}'.format(width,height)) - - im = Image.fromarray(table.data.astype('uint8'), 'RGB').\ - crop(( options.crop[0], - options.crop[2], - width -options.crop[1], - height-options.crop[3])) - -# ------------------------------------------ output result ----------------------------------------- - - im.save(os.path.splitext(name)[0]+ \ - ('_'+options.label if options.label else '')+ \ - '.png' if name else sys.stdout, - format = "PNG") - - table.close() # close ASCII table - if options.show: im.show() From 0878302961846dfd059113100d3c8c0790e5a9a5 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 18:19:04 +0200 Subject: [PATCH 429/958] WIP: making compatible with python3/vtk9 --- processing/post/vtk2ang.py | 130 ++++++++++++++++--------------------- 1 file changed, 56 insertions(+), 74 deletions(-) diff --git a/processing/post/vtk2ang.py b/processing/post/vtk2ang.py index eb94f7d8a..9ee19dac7 100755 --- a/processing/post/vtk2ang.py +++ b/processing/post/vtk2ang.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python3 import os import sys @@ -11,13 +11,13 @@ import vtk import damask - + scriptName = os.path.splitext(os.path.basename(__file__))[0] scriptID = ' '.join([scriptName,damask.version]) # ----------------------------- def getHeader(filename,sizeFastIndex,sizeSlowIndex,stepsize): - """Returns header for ang file step size in micrometer""" + """Returns header for ang file step size in micrometer.""" return '\n'.join([ \ '# TEM_PIXperUM 1.000000', \ '# x-star 1.000000', \ @@ -53,7 +53,7 @@ def getHeader(filename,sizeFastIndex,sizeSlowIndex,stepsize): # ----------------------------- def positiveRadians(angle): - """Returns positive angle in radians from angle in degrees""" + """Returns positive angle in radians from angle in degrees.""" angle = math.radians(float(angle)) while angle < 0.0: angle += 2.0 * math.pi @@ -67,7 +67,7 @@ def getDataLine(angles,x,y,validData=True): Returns string of one line in ang file. Convention in ang file: y coordinate comes first and is fastest index - positions in micrometer + positions in micrometer. """ info = {True: (9999.9, 1.0, 0,99999,0.0), False: ( -1.0,-1.0,-1, -1,1.0)} @@ -75,18 +75,16 @@ def getDataLine(angles,x,y,validData=True): %(tuple(map(positiveRadians,angles))+(y*1e6,x*1e6)+info[validData]) - # -------------------------------------------------------------------- # MAIN FUNCTION STARTS HERE # -------------------------------------------------------------------- - parser = OptionParser(usage='%prog options [file[s]]', description = """ Builds a ang files from a vtk file. """, version = scriptID) -parser.add_option('--disp','--displacement',dest='dispLabel', +parser.add_option('--disp','--displacement',dest='dispLabel', metavar ='string', help='label of displacements [%default]') parser.add_option('--euler', dest='eulerLabel', nargs=3, @@ -110,11 +108,6 @@ parser.add_option('-s','--scale', dest='scale', type='float', parser.add_option('-r','--resolution', dest='resolution', type='float', metavar ='float', help='scaling factor for resolution [%default]') -parser.add_option('--hex','--hexagonal', dest='hexagonal', action='store_true', - help='use in plane hexagonal grid') -parser.add_option('--interpolation', dest='interpolation', type='int', - metavar='float', - help='number of points for linear interpolation [%default]') parser.add_option('--verbose', dest='verbose', action='store_true', help='verbose mode') parser.add_option('--visualize', dest='visualize', action='store_true', @@ -122,7 +115,6 @@ parser.add_option('--visualize', dest='visualize', action='store_true parser.set_defaults(dispLabel = 'displacement') parser.set_defaults(eulerLabel = ['1_1_eulerangles','1_2_eulerangles','1_3_eulerangles']) -parser.set_defaults(hexagonal = False) parser.set_defaults(normal = [0.0,0.0,-1.0]) parser.set_defaults(up = [0.0,1.0,0.0]) parser.set_defaults(Nslices = 1) @@ -130,7 +122,6 @@ parser.set_defaults(distance = 0.0) parser.set_defaults(scale = 1.0) parser.set_defaults(resolution = 1.0) parser.set_defaults(dispScaling = 1.0) -parser.set_defaults(interpolation = 1) parser.set_defaults(verbose = False) parser.set_defaults(visualize = False) (options,filenames) = parser.parse_args() @@ -153,35 +144,26 @@ if np.dot(np.array(options.normal),np.array(options.up)) > 1e-3: parser.error('normal vector and up vector have to be orthogonal') -# check for options that are not yet implemented - -if options.interpolation > 1: - parser.error('interpolation not yet supported') -if options.hexagonal: - parser.error('hexagonal grid not yet supported') - - - #--- ITERATE OVER FILES AND PROCESS THEM for filename in filenames: - + if options.verbose: sys.stdout.write("\nREADING VTK FILE\n") # Read the source file reader = vtk.vtkUnstructuredGridReader() reader.SetFileName(filename) reader.ReadAllScalarsOn() reader.ReadAllVectorsOn() - reader.Update() + reader.Update() undeformedMesh = reader.GetOutput() - + # Get euler angles from cell data - + if options.verbose: sys.stdout.write("\nGETTING EULER ANGLES\n") angles = {} - for i in range(reader.GetNumberOfScalarsInFile()): - scalarName = reader.GetScalarsNameInFile(i) + for i in range(undeformedMesh.GetPointData().GetNumberOfArrays()): + scalarName = undeformedMesh.GetPointData().GetArrayName(i) if scalarName in options.eulerLabel: angles[scalarName] = undeformedMesh.GetCellData().GetScalars(scalarName) if options.verbose: sys.stdout.write(" found scalar with name %s\n"%scalarName) @@ -189,14 +171,14 @@ for filename in filenames: for label in options.eulerLabel: if label not in angles.keys(): parser.error('Could not find scalar data with name %s'%label) - - + + # Get deformed mesh - + if options.verbose: sys.stdout.write("\nDEFORM MESH\n") warpVector = vtk.vtkWarpVector() undeformedMesh.GetPointData().SetActiveVectors(options.dispLabel) - warpVector.SetInput(undeformedMesh) + warpVector.SetInputData(undeformedMesh) warpVector.Update() deformedMesh = warpVector.GetOutput() box = deformedMesh.GetBounds() # bounding box in mesh system @@ -208,24 +190,24 @@ for filename in filenames: # Get cell centers of deformed mesh (position of ips) - + if options.verbose: sys.stdout.write("\nGETTING CELL CENTERS OF DEFORMED MESH\n") cellCenter = vtk.vtkCellCenters() cellCenter.SetVertexCells(0) # do not generate vertex cells, just points - cellCenter.SetInput(deformedMesh) + cellCenter.SetInputData(deformedMesh) cellCenter.Update() meshIPs = cellCenter.GetOutput() # Get outer surface of deformed mesh - + if options.verbose: sys.stdout.write("\nGETTING OUTER SURFACE OF DEFORMED MESH\n") surfaceFilter = vtk.vtkDataSetSurfaceFilter() - surfaceFilter.SetInput(deformedMesh) + surfaceFilter.SetInputData(deformedMesh) surfaceFilter.Update() surface = surfaceFilter.GetOutput() - - + + # Get coordinate system for ang files # z-vector is normal to slices # x-vector corresponds to the up-direction @@ -249,10 +231,10 @@ for filename in filenames: if options.verbose: sys.stdout.write("\nGETTING BOUNDING BOX IN ROTATED SYSTEM\n") rotatedbox = [[np.inf,-np.inf] for i in range(3)] # bounding box in rotated TSL system - for n in range(8): # loop over eight vertices of mesh bounding box - vert = np.array([box[0+(n/1)%2], - box[2+(n/2)%2], - box[4+(n/4)%2]]) # vertex in mesh system + for n in range(8): # loop over eight vertices of mesh bounding box + vert = np.array([box[0+(n//1)%2], + box[2+(n//2)%2], + box[4+(n//4)%2]]) # vertex in mesh system rotatedvert = np.dot(R,vert) # vertex in rotated system for i in range(3): rotatedbox[i][0] = min(rotatedbox[i][0],rotatedvert[i]) @@ -274,7 +256,7 @@ for filename in filenames: for i in range(2): Npoints.extend([int(math.ceil(extent[i] / options.resolution))]) correction.extend([float(Npoints[i]) * options.resolution - extent[i]]) - if options.distance > 0.0: + if options.distance > 0.0: Npoints.extend([int(math.ceil(extent[2] / options.distance))]) correction.extend([float(Npoints[2]) * options.distance - extent[2]]) else: @@ -282,8 +264,8 @@ for filename in filenames: correction.extend([0.0]) options.distance = extent[2] / float(options.Nslices) for i in range(3): - rotatedbox[i][0] = rotatedbox[i][0] - 0.5 * correction[i] - rotatedbox[i][1] = rotatedbox[i][1] + 0.5 * correction[i] + rotatedbox[i][0] -= 0.5 * correction[i] + rotatedbox[i][1] += 0.5 * correction[i] extent[i] = rotatedbox[i][1] - rotatedbox[i][0] NpointsPerSlice = Npoints[0] * Npoints[1] totalNpoints = NpointsPerSlice * Npoints[2] @@ -301,20 +283,20 @@ for filename in filenames: if options.verbose: sys.stdout.write("\nGENERATING POINTS FOR POINT GRID") points = vtk.vtkPoints() for k in range(Npoints[2]): - for j in range(Npoints[0]): + for j in range(Npoints[0]): for i in range(Npoints[1]): # y is fastest index rotatedpoint = np.array([rotatedbox[0][0] + (float(j) + 0.5) * options.resolution, - rotatedbox[1][0] + (float(i) + 0.5) * options.resolution, - rotatedbox[2][0] + (float(k) + 0.5) * options.distance ]) # point in rotated system + rotatedbox[1][0] + (float(i) + 0.5) * options.resolution, + rotatedbox[2][0] + (float(k) + 0.5) * options.distance ]) # point in rotated system point = np.dot(R.T,rotatedpoint) # point in mesh system points.InsertNextPoint(list(point)) - if options.verbose: + if options.verbose: sys.stdout.write("\rGENERATING POINTS FOR POINT GRID %d%%" %(100*(Npoints[1]*(k*Npoints[0]+j)+i+1)/totalNpoints)) sys.stdout.flush() - if options.verbose: + if options.verbose: sys.stdout.write("\n number of slices: %i\n"%Npoints[2]) sys.stdout.write(" slice spacing: %.8f\n"%options.distance) - if Npoints[2] > 1: + if Npoints[2] > 1: sys.stdout.write(" number of points per slice: %i = %i rows * %i points in row\n"%(NpointsPerSlice,Npoints[0],Npoints[1])) sys.stdout.write(" grid resolution: %.8f\n"%options.resolution) @@ -324,7 +306,7 @@ for filename in filenames: vertex = vtk.vtkVertex() vertex.GetPointIds().SetId(0,i) # each vertex consists of exactly one (index 0) point with ID "i" vertices.InsertNextCell(vertex) - if options.verbose: + if options.verbose: sys.stdout.write("\rGENERATING VERTICES FOR POINT GRID %d%%" %(100*(i+1)/totalNpoints)) sys.stdout.flush() @@ -357,34 +339,34 @@ for filename in filenames: if enclosedPoints.IsInside(i): NenclosedPoints += 1 # here one could use faster(?) "FindClosestPoint" if only first nearest neighbor required - kdTree.FindClosestNPoints(options.interpolation,pointgrid.GetPoint(i),ids) - for j in range(ids.GetNumberOfIds()): + kdTree.FindClosestNPoints(1,pointgrid.GetPoint(i),ids) + for j in range(ids.GetNumberOfIds()): gridToMesh[-1].extend([ids.GetId(j)]) - if options.verbose: + if options.verbose: sys.stdout.write("\rBUILDING MAPPING OF GRID POINTS %d%%" %(100*(i+1)/totalNpoints)) sys.stdout.flush() if options.verbose: sys.stdout.write("\n Number of points inside mesh geometry %i\n"%NenclosedPoints) sys.stdout.write(" Number of points outside mesh geometry %i\n"%(totalNpoints - NenclosedPoints)) - + # ITERATE OVER SLICES AND CREATE ANG FILE - - if options.verbose: + + if options.verbose: sys.stdout.write("\nWRITING OUT ANG FILES\n") sys.stdout.write(" scaling all length with %f\n"%options.scale) x0,y0,z0 = np.dot(R,pointgrid.GetPoint(0)) # first point on slice defines origin for sliceN in range(Npoints[2]): - + # Open file and write header - + angfilename = eval('"'+eval("'%%s_slice%%0%ii.ang'%(math.log10(Npoints[2])+1)")+'"%(os.path.splitext(filename)[0],sliceN+1)') with open(angfilename,'w') as angfile: if options.verbose: sys.stdout.write(" %s\n"%angfilename) angfile.write(getHeader(filename,Npoints[1],Npoints[0],options.resolution*options.scale)) for i in range(sliceN*NpointsPerSlice,(sliceN+1)*NpointsPerSlice): # Iterate over points on slice - + # Get euler angles of closest IDs @@ -397,26 +379,26 @@ for filename in filenames: phi[-1].extend([angles[options.eulerLabel[k]].GetValue(IP)]) else: phi = [[720,720,720]] # fake angles - - + + # Interpolate Euler angle # NOT YET IMPLEMENTED, simply take the nearest neighbors values interpolatedPhi = phi[0] - - + + # write data to ang file x,y,z = np.dot(R,pointgrid.GetPoint(i)) # point in rotated TSL system - x -= x0 # first point on slice defines origin - y -= y0 # first point on slice defines origin + x -= x0 # first point on slice defines origin + y -= y0 # first point on slice defines origin x *= options.scale y *= options.scale angfile.write(getDataLine(interpolatedPhi,x,y,enclosedPoints.IsInside(i))) - + # Visualize slices - + if options.visualize: meshMapper = vtk.vtkDataSetMapper() meshMapper.SetInput(surface) @@ -426,11 +408,11 @@ for filename in filenames: meshActor.GetProperty().SetOpacity(0.2) meshActor.GetProperty().SetColor(1.0,1.0,0) meshActor.GetProperty().BackfaceCullingOn() - + boxpoints = vtk.vtkPoints() for n in range(8): P = [rotatedbox[0][(n/1)%2], - rotatedbox[1][(n/2)%2], + rotatedbox[1][(n/2)%2], rotatedbox[2][(n/4)%2]] boxpoints.InsertNextPoint(list(np.dot(R.T,np.array(P)))) box = vtk.vtkHexahedron() @@ -469,7 +451,7 @@ for filename in filenames: renderer.AddActor(boxActor) renderer.AddActor(gridActor) renderer.SetBackground(1,1,1) - + renderWindow.Render() renderWindowInteractor.SetInteractorStyle(vtk.vtkInteractorStyleTrackballCamera()) renderWindowInteractor.Start() From e4ad2ab82e90527f610464a5f8afacd650ba436c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 18:19:48 +0200 Subject: [PATCH 430/958] test is broken, consider the script to be broken. just keep the executable until the next cleanup in PRIVATE is done --- processing/pre/geom_addPrimitive.py | 62 +---------------------------- 1 file changed, 1 insertion(+), 61 deletions(-) diff --git a/processing/pre/geom_addPrimitive.py b/processing/pre/geom_addPrimitive.py index c04fcf565..318810a01 100755 --- a/processing/pre/geom_addPrimitive.py +++ b/processing/pre/geom_addPrimitive.py @@ -1,12 +1,8 @@ #!/usr/bin/env python3 import os -import sys -from io import StringIO from optparse import OptionParser -import numpy as np - import damask @@ -76,60 +72,4 @@ parser.set_defaults(center = (.0,.0,.0), inside = True, ) -(options, filenames) = parser.parse_args() - -if options.dimension is None: - parser.error('no dimension specified.') -if [options.angleaxis,options.quaternion].count(None) == 0: - parser.error('more than one rotation specified.') - -if options.angleaxis is not None: - rotation = damask.Rotation.from_axis_angle(np.array(options.angleaxis),options.degrees,normalise=True) -elif options.quaternion is not None: - rotation = damask.Rotation.from_quaternion(options.quaternion) -else: - rotation = damask.Rotation() - - -if filenames == []: filenames = [None] - -for name in filenames: - damask.util.report(scriptName,name) - - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - grid = geom.get_grid() - size = geom.get_size() - - # scale to box of size [1.0,1.0,1.0] - if options.realspace: - center = (np.array(options.center) - geom.get_origin())/size - r = np.array(options.dimension)/size/2.0 - else: - center = (np.array(options.center) + 0.5)/grid - r = np.array(options.dimension)/grid/2.0 - - if np.any(center<0.0) or np.any(center>=1.0): print('error') - - offset = np.ones(3)*0.5 if options.periodic else center - mask = np.full(grid,False) - # High exponents can cause underflow & overflow - okay here, just compare to 1, so +infinity and 0 are fine - np.seterr(over='ignore', under='ignore') - - e = 2.0**np.array(options.exponent) - for x in range(grid[0]): - for y in range(grid[1]): - for z in range(grid[2]): - coords = np.array([x+0.5,y+0.5,z+0.5])/grid - mask[x,y,z] = np.sum(np.abs((rotation*(coords-offset))/r)**e) < 1 - - if options.periodic: - shift = ((offset-center)*grid).astype(int) - mask = np.roll(mask,shift,(0,1,2)) - - if options.inside: mask = np.logical_not(mask) - fill = np.nanmax(geom.microstructure)+1 if options.fill is None else options.fill - - damask.util.croak(geom.update(np.where(mask,geom.microstructure,fill))) - geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - - geom.to_file(sys.stdout if name is None else name,pack=False) +print('This script is broken and does nothing') From 0bfe5903ad394edda386d80b224fde4b0bfc822d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 18:21:17 +0200 Subject: [PATCH 431/958] standard layout - standard libraries - space - external libraries - space - damask library --- processing/pre/mentat_pbcOnBoxMesh.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/processing/pre/mentat_pbcOnBoxMesh.py b/processing/pre/mentat_pbcOnBoxMesh.py index adf0b1aff..3677a5efa 100755 --- a/processing/pre/mentat_pbcOnBoxMesh.py +++ b/processing/pre/mentat_pbcOnBoxMesh.py @@ -1,9 +1,14 @@ #!/usr/bin/env python3 -# -*- coding: UTF-8 no BOM -*- -import sys,os,re,time,tempfile -import numpy as np +import sys +import os +import re +import time +import tempfile from optparse import OptionParser + +import numpy as np + import damask sys.path.append(str(damask.solver.Marc().library_path)) From ba4625c2a4a688f124b8d96389100bae95029f3b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 18:22:34 +0200 Subject: [PATCH 432/958] return not needed --- processing/pre/mentat_spectralBox.py | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/processing/pre/mentat_spectralBox.py b/processing/pre/mentat_spectralBox.py index e6d138952..b0694ec4a 100755 --- a/processing/pre/mentat_spectralBox.py +++ b/processing/pre/mentat_spectralBox.py @@ -20,7 +20,6 @@ def outMentat(cmd,locals): py_mentat.py_send(cmd) else: py_mentat.py_send(cmd) - return #------------------------------------------------------------------------------------------------- def outFile(cmd,locals,dest): @@ -31,7 +30,6 @@ def outFile(cmd,locals,dest): dest.write(cmd+'\n') else: dest.write(cmd+'\n') - return #------------------------------------------------------------------------------------------------- def output(cmds,locals,dest): @@ -43,8 +41,6 @@ def output(cmds,locals,dest): outMentat(str(cmd),locals) else: outFile(str(cmd),locals,dest) - return - #------------------------------------------------------------------------------------------------- @@ -105,7 +101,7 @@ def mesh(r,d): #------------------------------------------------------------------------------------------------- def material(): - cmds = [\ + return [\ "*new_mater standard", "*mater_option general:state:solid", "*mater_option structural:type:hypo_elast", @@ -119,12 +115,10 @@ def material(): "all_existing", ] - return cmds - #------------------------------------------------------------------------------------------------- def geometry(): - cmds = [\ + return [\ "*geometry_type mech_three_solid", # "*geometry_option red_integ_capacity:on", "*add_geometry_elements", @@ -134,8 +128,6 @@ def geometry(): "all_existing", ] - return cmds - #------------------------------------------------------------------------------------------------- def initial_conditions(homogenization,microstructures): From 56eb57d253f6dcfecc78537bdd38822ae6404cce Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 18:24:17 +0200 Subject: [PATCH 433/958] homogenization will be removed soon, stop reporting it --- python/damask/_geom.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 59da5e117..7ee923ad8 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -46,7 +46,6 @@ class Geom: f'grid a b c: {util.srepr(self.get_grid ()," x ")}', f'size x y z: {util.srepr(self.get_size ()," x ")}', f'origin x y z: {util.srepr(self.get_origin()," ")}', - f'homogenization: {self.get_homogenization()}', f'# microstructures: {self.N_microstructure}', f'max microstructure: {np.nanmax(self.microstructure)}', ]) @@ -100,8 +99,6 @@ class Geom: message[-1] = util.delete(message[-1]) message.append(util.emph(f'origin x y z: {util.srepr(self.get_origin()," ")}')) - message.append(f'homogenization: {self.get_homogenization()}') - message.append(f'# microstructures: {unique_old}') if unique_old != self.N_microstructure: message[-1] = util.delete(message[-1]) From 5fcff876f9f8ab4b5baa59013f3f38c2a3ef92c2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 18:41:47 +0200 Subject: [PATCH 434/958] replace selectively useful for vicinity_offset and add_primitive --- python/damask/_geom.py | 24 ++++++++++++++++-------- python/tests/test_Geom.py | 10 ++++++++++ 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 7ee923ad8..144a80b70 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -6,7 +6,7 @@ from functools import partial import numpy as np from scipy import ndimage,spatial -import damask +from . import environment from . import VTK from . import util from . import grid_filters @@ -143,20 +143,28 @@ class Geom: """ Replace the existing microstructure representation. + The complete microstructure is replaced (indcluding grid definition), + unless a masked array is provided in which case the grid dimensions + need to match and masked entries are not replaced. + Parameters ---------- - microstructure : numpy.ndarray - microstructure array (3D). + microstructure : numpy.ndarray or numpy.ma.core.MaskedArray of shape (:,:,:) + Microstructure indices. """ if microstructure is not None: - if len(microstructure.shape) != 3: - raise ValueError(f'Invalid microstructure shape {microstructure.shape}') - elif microstructure.dtype not in np.sctypes['float'] + np.sctypes['int']: - raise TypeError(f'Invalid microstructue data type {microstructure.dtype}') + if isinstance(microstructure,np.ma.core.MaskedArray): + self.microstructure = np.where(microstructure.mask, + self.microstructure,microstructure.data) else: self.microstructure = np.copy(microstructure) + if len(self.microstructure.shape) != 3: + raise ValueError(f'Invalid microstructure shape {microstructure.shape}') + elif self.microstructure.dtype not in np.sctypes['float'] + np.sctypes['int']: + raise TypeError(f'Invalid microstructue data type {microstructure.dtype}') + def set_size(self,size): """ @@ -359,7 +367,7 @@ class Geom: seeds_p = seeds coords = grid_filters.cell_coord0(grid,size).reshape(-1,3) - pool = multiprocessing.Pool(processes = int(damask.environment.options['DAMASK_NUM_THREADS'])) + pool = multiprocessing.Pool(processes = int(environment.options['DAMASK_NUM_THREADS'])) result = pool.map_async(partial(Geom._find_closest_seed,seeds_p,weights_p), [coord for coord in coords]) pool.close() pool.join() diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 155178322..f5ffbd6bf 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -40,6 +40,16 @@ class TestGeom: print(modified) assert geom_equal(modified,default) + @pytest.mark.parametrize('masked',[True,False]) + def test_set_microstructure(self,default,masked): + old = default.get_microstructure() + new = np.random.randint(200,size=default.grid) + default.set_microstructure(np.ma.MaskedArray(new,np.full_like(new,masked))) + if masked: + assert np.all(default.microstructure==old) + else: + assert np.all(default.microstructure==new) + def test_write_read_str(self,default,tmpdir): default.to_file(str(tmpdir.join('default.geom'))) From a0e0f28e51db223110cb87d0ebdb99c95804b341 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 19:42:34 +0200 Subject: [PATCH 435/958] migrating shell scripts to library --- processing/pre/geom_vicinityOffset.py | 32 ++------- python/damask/_geom.py | 97 ++++++++++++++++++++------- python/tests/test_Geom.py | 41 ++++++++++- 3 files changed, 117 insertions(+), 53 deletions(-) diff --git a/processing/pre/geom_vicinityOffset.py b/processing/pre/geom_vicinityOffset.py index e30779d31..650e0093a 100755 --- a/processing/pre/geom_vicinityOffset.py +++ b/processing/pre/geom_vicinityOffset.py @@ -5,7 +5,6 @@ import sys from io import StringIO from optparse import OptionParser -from scipy import ndimage import numpy as np import damask @@ -15,18 +14,6 @@ scriptName = os.path.splitext(os.path.basename(__file__))[0] scriptID = ' '.join([scriptName,damask.version]) -def taintedNeighborhood(stencil,trigger=[],size=1): - - me = stencil[stencil.shape[0]//2] - if len(trigger) == 0: - return np.any(stencil != me) - if me in trigger: - trigger = set(trigger) - trigger.remove(me) - trigger = list(trigger) - return np.any(np.in1d(stencil,np.array(trigger))) - - #-------------------------------------------------------------------------------------------------- # MAIN #-------------------------------------------------------------------------------------------------- @@ -67,19 +54,12 @@ options.trigger = np.array(options.trigger, dtype=int) if filenames == []: filenames = [None] for name in filenames: - damask.util.report(scriptName,name) + damask.util.report(scriptName,name) - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) + geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - offset = np.nanmax(geom.microstructure) if options.offset is None else options.offset + damask.util.croak(geom.vicinity_offset(options.vicinity,options.offset,options.trigger, + True if options.mode is 'wrap' else False)) + geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - damask.util.croak(geom.update(np.where(ndimage.filters.generic_filter( - geom.microstructure, - taintedNeighborhood, - size=1+2*options.vicinity,mode=options.mode, - extra_arguments=(), - extra_keywords={"trigger":options.trigger,"size":1+2*options.vicinity}), - geom.microstructure + offset,geom.microstructure))) - geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - - geom.to_file(sys.stdout if name is None else name,pack=False) + geom.to_file(sys.stdout if name is None else name,pack=False) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 144a80b70..4416be401 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -278,7 +278,7 @@ class Geom: Parameters ---------- fname : str or file handle - geometry file to read. + Geometry file to read. """ try: @@ -345,15 +345,15 @@ class Geom: Parameters ---------- grid : numpy.ndarray of shape (3) - number of grid points in x,y,z direction. + Number of grid points in x,y,z direction. size : list or numpy.ndarray of shape (3) - physical size of the microstructure in meter. + Physical size of the microstructure in meter. seeds : numpy.ndarray of shape (:,3) - position of the seed points in meter. All points need to lay within the box. + Position of the seed points in meter. All points need to lay within the box. weights : numpy.ndarray of shape (seeds.shape[0]) - weights of the seeds. Setting all weights to 1.0 gives a standard Voronoi tessellation. + Weights of the seeds. Setting all weights to 1.0 gives a standard Voronoi tessellation. periodic : Boolean, optional - perform a periodic tessellation. Defaults to True. + Perform a periodic tessellation. Defaults to True. """ if periodic: @@ -391,13 +391,13 @@ class Geom: Parameters ---------- grid : numpy.ndarray of shape (3) - number of grid points in x,y,z direction. + Number of grid points in x,y,z direction. size : list or numpy.ndarray of shape (3) - physical size of the microstructure in meter. + Physical size of the microstructure in meter. seeds : numpy.ndarray of shape (:,3) - position of the seed points in meter. All points need to lay within the box. + Position of the seed points in meter. All points need to lay within the box. periodic : Boolean, optional - perform a periodic tessellation. Defaults to True. + Perform a periodic tessellation. Defaults to True. """ coords = grid_filters.cell_coord0(grid,size).reshape(-1,3) @@ -415,9 +415,9 @@ class Geom: Parameters ---------- fname : str or file handle - geometry file to write. + Geometry file to write. pack : bool, optional - compress geometry with 'x of y' and 'a to b'. + Compress geometry with 'x of y' and 'a to b'. """ header = self.get_header() @@ -481,7 +481,7 @@ class Geom: Parameters ---------- fname : str, optional - vtk file to write. If no file is given, a string is returned. + Vtk file to write. If no file is given, a string is returned. """ v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) @@ -508,9 +508,9 @@ class Geom: Parameters ---------- directions : iterable containing str - direction(s) along which the microstructure is mirrored. Valid entries are 'x', 'y', 'z'. + Direction(s) along which the microstructure is mirrored. Valid entries are 'x', 'y', 'z'. reflect : bool, optional - reflect (include) outermost layers. + Reflect (include) outermost layers. """ valid = {'x','y','z'} @@ -540,7 +540,7 @@ class Geom: Parameters ---------- grid : numpy.ndarray of shape (3) - number of grid points in x,y,z direction. + Number of grid points in x,y,z direction. """ #ToDo: self.add_comments('geom.py:scale v{}'.format(version) @@ -563,7 +563,7 @@ class Geom: Parameters ---------- stencil : int, optional - size of smoothing stencil. + Size of smoothing stencil. """ def mostFrequent(arr): @@ -596,9 +596,9 @@ class Geom: Parameters ---------- R : damask.Rotation - rotation to apply to the microstructure. + Rotation to apply to the microstructure. fill : int or float, optional - microstructure index to fill the corners. Defaults to microstructure.max() + 1. + Microstructure index to fill the corners. Defaults to microstructure.max() + 1. """ if fill is None: fill = np.nanmax(self.microstructure) + 1 @@ -631,11 +631,11 @@ class Geom: Parameters ---------- grid : numpy.ndarray of shape (3) - number of grid points in x,y,z direction. + Number of grid points in x,y,z direction. offset : numpy.ndarray of shape (3) - offset (measured in grid points) from old to new microstructue[0,0,0]. + Offset (measured in grid points) from old to new microstructure[0,0,0]. fill : int or float, optional - microstructure index to fill the corners. Defaults to microstructure.max() + 1. + Microstructure index to fill the corners. Defaults to microstructure.max() + 1. """ if fill is None: fill = np.nanmax(self.microstructure) + 1 @@ -658,14 +658,14 @@ class Geom: def substitute(self,from_microstructure,to_microstructure): """ - Substitude microstructure indices. + Substitute microstructure indices. Parameters ---------- from_microstructure : iterable of ints - microstructure indices to be substituted. + Microstructure indices to be substituted. to_microstructure : iterable of ints - new microstructure indices. + New microstructure indices. """ substituted = self.get_microstructure() @@ -674,3 +674,50 @@ class Geom: #ToDo: self.add_comments('geom.py:substitute v{}'.format(version) return self.update(substituted) + + + def vicinity_offset(self,vicinity=1,offset=None,trigger=[],periodic=True): + """ + Offset microstructure index of points in the vicinity of xxx. + + Different from themselves (or listed as triggers) within a given (cubic) vicinity, + i.e. within the region close to a grain/phase boundary. + ToDo: use include/exclude as in seeds.from_geom + + Parameters + ---------- + vicinity : int, optional + Voxel distance checked for presence of other microstructure. + Defaults to 1. + offset : int, optional + Offset (positive or negative) to tag microstructure indices, + defaults to microstructure.max() + 1. + trigger : list of ints, optional + List of microstructure indices triggering a change. + Defaults to [], meaning that different neigboors trigger a change. + periodic : Boolean, optional + Assume geometry to be periodic. Defaults to True. + + """ + def tainted_neighborhood(stencil,trigger): + + me = stencil[stencil.shape[0]//2] + if len(trigger) == 0: + return np.any(stencil != me) + if me in trigger: + trigger = set(trigger) + trigger.remove(me) + trigger = list(trigger) + return np.any(np.in1d(stencil,np.array(trigger))) + + offset_ = np.nanmax(self.microstructure) if offset is None else offset + mask = ndimage.filters.generic_filter(self.microstructure, + tainted_neighborhood, + size=1+2*vicinity, + mode=('wrap' if periodic else 'nearest'), + extra_keywords={'trigger':trigger}) + microstructure = np.ma.MaskedArray(self.microstructure + offset_, np.logical_not(mask)) + + #ToDo: self.add_comments('geom.py:vicinity_offset v{}'.format(version) + return self.update(microstructure) + diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index f5ffbd6bf..1cb29e0b0 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -77,9 +77,19 @@ class TestGeom: with pytest.raises(ValueError): default.update(default.microstructure[1:,1:,1:],size=np.ones(2)) - def test_invalid_microstructure(self,default): + def test_invalid_origin(self,default): with pytest.raises(ValueError): - default.update(default.microstructure[1]) + default.update(default.microstructure[1:,1:,1:],origin=np.ones(4)) + + def test_invalid_microstructure_size(self,default): + microstructure=np.ones((3,3)) + with pytest.raises(ValueError): + default.update(microstructure) + + def test_invalid_microstructure_type(self,default): + microstructure=np.random.randint(1,300,(3,4,5))==1 + with pytest.raises(TypeError): + default.update(microstructure) def test_invalid_homogenization(self,default): with pytest.raises(TypeError): @@ -171,7 +181,34 @@ class TestGeom: modified.canvas(modified.grid + grid_add) e = default.grid assert np.all(modified.microstructure[:e[0],:e[1],:e[2]] == default.microstructure) + + @pytest.mark.parametrize('trigger',[[1],[]]) + def test_vicinity_offset(self,trigger): + offset = np.random.randint(2,4) + vicinity = np.random.randint(2,4) + + g=np.random.randint(28,40,(3)) + m=np.ones(g,'i') + x=(g*np.random.permutation(np.array([.5,1,1]))).astype('i') + m[slice(0,x[0]),slice(0,x[1]),slice(0,x[2])]=2 + m2=copy.deepcopy(m) + for i in [0,1,2]: + m2[(np.roll(m,+vicinity,i)-m)!=0] +=offset + m2[(np.roll(m,-vicinity,i)-m)!=0] +=offset + if len(trigger) > 0: + m2[m==1]=1 + + geom = Geom(m,np.random.rand(3)) + geom.vicinity_offset(vicinity,offset,trigger=trigger) + + assert np.all(m2==geom.microstructure) + @pytest.mark.parametrize('periodic',[True,False]) + def test_vicinity_offset_invariant(self,default,periodic): + old = default.get_microstructure() + default.vicinity_offset(trigger=[old.max()+1,old.min()-1]) + assert np.all(old==default.microstructure) + @pytest.mark.parametrize('periodic',[True,False]) def test_tessellation_approaches(self,periodic): grid = np.random.randint(10,20,3) From 2db8ba13fc81dbd3c27aecc2d9c28a6569f90ed6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 19:44:08 +0200 Subject: [PATCH 436/958] better reporting: show small values --- src/grid/grid_damage_spectral.f90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index 339a11a4a..65ca9b1dd 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -210,8 +210,8 @@ function grid_damage_spectral_solution(timeinc,timeinc_old) result(solution) call VecMax(solution_vec,devNull,phi_max,ierr); CHKERRQ(ierr) if (solution%converged) & write(6,'(/,a)') ' ... nonlocal damage converged .....................................' - write(6,'(/,a,f8.6,2x,f8.6,2x,f8.6,/)',advance='no') ' Minimum|Maximum|Delta Damage = ',& - phi_min, phi_max, stagNorm + write(6,'(/,a,f8.6,2x,f8.6,2x,e11.4,/)',advance='no') ' Minimum|Maximum|Delta Damage = ',& + phi_min, phi_max, stagNorm write(6,'(/,a)') ' ===========================================================================' flush(6) From 55a620b3783ce81ee71c3e759ad08a6f4b519147 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 20:14:30 +0200 Subject: [PATCH 437/958] migrating to library --- python/damask/_geom.py | 56 ++++++++++++++++++++++++++++++++++++++- python/tests/test_Geom.py | 15 +++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 4416be401..0aed3a113 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -7,6 +7,7 @@ import numpy as np from scipy import ndimage,spatial from . import environment +from . import Rotation from . import VTK from . import util from . import grid_filters @@ -501,6 +502,58 @@ class Geom: return ''.join(f.readlines()) + def add_primitive(self,dimension,center,exponent, + fill=None,R=Rotation(),inverse=False,periodic=True): + """ + Inserts a primitive geometric object at a given position. + + Parameters + ---------- + dimension : numpy.ndarray of shape(3) + Dimension (diameter/side length) of the primitive. If given as + integers, grid point locations (cell centers) are addressed. + If given as floats, coordinates are addressed. + center : numpy.ndarray of shape(3) + Center of the primitive. If given as integers, grid point + locations (cell centers) are addressed. + If given as floats, coordinates are addressed. + exponent : numpy.ndarray of shape(3) or float + Exponents for the three axis. + 0 gives octahedron (|x|^(2^0) + |y|^(2^0) + |z|^(2^0) < 1) + 1 gives a sphere (|x|^(2^1) + |y|^(2^1) + |z|^(2^1) < 1) + fill : integer, optional + Fill value for primitive. Defaults to microstructure.max() + 1. + R : damask.Rotation, optional + Rotation of primitive. Defaults to no rotation. + inverse : Boolean, optional + Retain original microstructure within primitive and fill + outside. Defaults to False. + periodic : Boolean, optional + Repeat primitive over boundaries. Defaults to False. + + """ + # normalized 'radius' and center + r = np.array(dimension)/self.grid/2.0 if np.array(dimension).dtype in np.sctypes['int'] else \ + np.array(dimension)/self.size/2.0 + c = (np.array(center) + .5)/self.grid if np.array(center).dtype in np.sctypes['int'] else \ + (np.array(center) - self.origin)/self.size + + coords = grid_filters.cell_coord0(self.grid,np.ones(3)) \ + - (np.ones(3)*0.5 if periodic else c) # center if periodic + coords_rot = R.broadcast_to(tuple(self.grid))@coords + + with np.errstate(over='ignore',under='ignore'): + mask = np.where(np.sum(np.abs(coords_rot/r)**(2.0**exponent),axis=-1) < 1,True,False) + + if periodic: # translate back to center + mask = np.roll(mask,((c-np.ones(3)*.5)*self.grid).astype(int),(0,1,2)) + + fill_ = np.full_like(self.microstructure,np.nanmax(self.microstructure)+1 if fill is None else fill) + ms = np.ma.MaskedArray(fill_,np.logical_not(mask) if inverse else mask) + + return self.update(ms) + + def mirror(self,directions,reflect=False): """ Mirror microstructure along given directions. @@ -508,7 +561,8 @@ class Geom: Parameters ---------- directions : iterable containing str - Direction(s) along which the microstructure is mirrored. Valid entries are 'x', 'y', 'z'. + Direction(s) along which the microstructure is mirrored. + Valid entries are 'x', 'y', 'z'. reflect : bool, optional Reflect (include) outermost layers. diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 1cb29e0b0..04fb323c1 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -182,6 +182,21 @@ class TestGeom: e = default.grid assert np.all(modified.microstructure[:e[0],:e[1],:e[2]] == default.microstructure) + @pytest.mark.parametrize('center',[np.random.random(3)*.5, + np.random.randint(4,10,(3))]) + @pytest.mark.parametrize('diameter',[np.random.random(3)*.5, + np.random.randint(4,10,(3))]) + def test_add_primitive(self,diameter,center): + """Same volume fraction for periodic microstructures and different center.""" + o = np.random.random(3)-.5 + g = np.random.randint(8,32,(3)) + s = np.random.random(3)+.5 + G_1 = Geom(np.ones(g,'i'),s,o) + G_2 = Geom(np.ones(g,'i'),s,o) + G_1.add_primitive(diameter,center,1) + G_2.add_primitive(diameter,center,1) + assert np.count_nonzero(G_1.microstructure!=2) == np.count_nonzero(G_2.microstructure!=2) + @pytest.mark.parametrize('trigger',[[1],[]]) def test_vicinity_offset(self,trigger): offset = np.random.randint(2,4) From 6a5471d2432e1458d89744c15a082306aa190dff Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 20:24:36 +0200 Subject: [PATCH 438/958] have microstructure with 'to' and 'of' --- .../tests/reference/Geom/clean_stencil=1.geom | 40 +-- .../tests/reference/Geom/clean_stencil=2.geom | 40 +-- .../tests/reference/Geom/clean_stencil=3.geom | 40 +-- .../tests/reference/Geom/clean_stencil=4.geom | 40 +-- .../mirror_directions=x-y-z_reflect=True.geom | 160 +++++------ .../mirror_directions=x_reflect=False.geom | 40 +-- .../mirror_directions=y-z_reflect=False.geom | 96 +++---- ...mirror_directions=z-x-y_reflect=False.geom | 96 +++---- .../Geom/rotate_Eulers=0.0-32.0-240.0.geom | 42 +-- .../Geom/rotate_Eulers=32.0-68.0-21.0.geom | 88 +++--- .../reference/Geom/scale_grid=10-10-10.geom | 200 +++++++------- .../reference/Geom/scale_grid=10-11-10.geom | 220 +++++++-------- .../reference/Geom/scale_grid=10-13-10.geom | 260 +++++++++--------- .../reference/Geom/scale_grid=10-20-2.geom | 80 +++--- .../reference/Geom/scale_grid=5-4-20.geom | 160 +++++------ .../reference/Geom/scale_grid=8-10-12.geom | 240 ++++++++-------- python/tests/test_Geom.py | 2 +- 17 files changed, 922 insertions(+), 922 deletions(-) diff --git a/python/tests/reference/Geom/clean_stencil=1.geom b/python/tests/reference/Geom/clean_stencil=1.geom index 2fe5314fe..3e6f6fe9c 100644 --- a/python/tests/reference/Geom/clean_stencil=1.geom +++ b/python/tests/reference/Geom/clean_stencil=1.geom @@ -3,23 +3,23 @@ grid a 8 b 5 c 4 size x 8e-06 y 5e-06 z 4e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 - 1 1 2 22 2 2 1 21 - 1 1 6 26 2 2 5 25 - 1 1 10 30 2 2 9 29 - 1 1 14 34 2 2 13 33 - 1 1 18 38 2 2 17 37 - 1 1 3 23 2 2 2 22 - 1 1 7 27 2 2 6 26 - 1 1 11 31 2 2 10 30 - 1 1 15 35 2 2 14 34 - 1 1 19 39 2 2 18 38 - 1 1 4 24 2 2 3 23 - 1 1 8 28 2 2 7 27 - 1 1 12 32 2 2 11 31 - 1 1 16 36 2 2 15 35 - 1 1 20 40 2 2 19 39 - 1 1 5 25 2 2 4 24 - 1 1 9 29 2 2 8 28 - 1 1 13 33 2 2 12 32 - 1 1 17 37 2 2 16 36 - 1 1 21 41 2 2 20 40 + 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 + 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 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 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 diff --git a/python/tests/reference/Geom/clean_stencil=2.geom b/python/tests/reference/Geom/clean_stencil=2.geom index f074fea56..14c1fa5e2 100644 --- a/python/tests/reference/Geom/clean_stencil=2.geom +++ b/python/tests/reference/Geom/clean_stencil=2.geom @@ -3,23 +3,23 @@ grid a 8 b 5 c 4 size x 8e-06 y 5e-06 z 4e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 - 1 1 1 2 2 2 1 1 - 1 1 1 2 2 2 2 1 - 1 1 1 6 2 2 2 5 - 1 1 1 10 2 2 2 9 - 1 1 1 14 2 2 2 13 - 1 1 1 2 2 2 2 1 - 1 1 1 2 2 2 2 1 - 1 1 1 6 2 2 2 5 - 1 1 1 10 2 2 2 9 - 1 1 1 14 2 2 2 13 - 1 1 1 3 2 2 2 2 - 1 1 1 3 2 2 2 2 - 1 1 1 7 2 2 2 6 - 1 1 1 11 2 2 2 10 - 1 1 1 15 2 2 2 14 - 1 1 1 4 2 2 2 3 - 1 1 1 4 2 2 2 3 - 1 1 1 8 2 2 2 7 - 1 1 1 12 2 2 2 11 - 1 1 1 16 2 2 2 15 +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 +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 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +1 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 diff --git a/python/tests/reference/Geom/clean_stencil=3.geom b/python/tests/reference/Geom/clean_stencil=3.geom index 63e1dce5a..3aea8ffa5 100644 --- a/python/tests/reference/Geom/clean_stencil=3.geom +++ b/python/tests/reference/Geom/clean_stencil=3.geom @@ -3,23 +3,23 @@ grid a 8 b 5 c 4 size x 8e-06 y 5e-06 z 4e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 - 1 1 1 2 2 2 2 21 - 1 1 1 2 2 2 2 21 - 1 1 1 2 2 2 2 25 - 1 1 1 2 2 2 2 29 - 1 1 1 2 2 2 2 37 - 1 1 1 2 2 2 2 21 - 1 1 1 2 2 2 2 21 - 1 1 1 2 2 2 2 25 - 1 1 1 2 2 2 2 29 - 1 1 1 2 2 2 2 37 - 1 1 1 2 2 2 2 22 - 1 1 1 2 2 2 2 22 - 1 1 1 2 2 2 2 26 - 1 1 1 2 2 2 2 30 - 1 1 1 2 2 2 2 38 - 1 1 1 2 2 2 2 24 - 1 1 1 2 2 2 2 24 - 1 1 1 2 2 2 2 28 - 1 1 1 2 2 2 2 32 - 1 1 1 2 2 2 2 40 +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 +2 2 1 1 1 1 1 1 +2 2 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 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 diff --git a/python/tests/reference/Geom/clean_stencil=4.geom b/python/tests/reference/Geom/clean_stencil=4.geom index eef322d3f..595e04b23 100644 --- a/python/tests/reference/Geom/clean_stencil=4.geom +++ b/python/tests/reference/Geom/clean_stencil=4.geom @@ -3,23 +3,23 @@ grid a 8 b 5 c 4 size x 8e-06 y 5e-06 z 4e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 -1 1 1 2 2 2 2 2 -1 1 1 2 2 2 2 2 -1 1 1 2 2 2 2 2 -1 1 1 1 2 2 2 2 -1 1 1 1 2 2 2 2 -1 1 1 2 2 2 2 2 -1 1 1 2 2 2 2 2 -1 1 1 2 2 2 2 2 -1 1 1 1 2 2 2 2 -1 1 1 1 2 2 2 2 -1 1 1 2 2 2 2 2 -1 1 1 2 2 2 2 2 -1 1 1 2 2 2 2 2 -1 1 1 1 2 2 2 2 -1 1 1 1 2 2 2 2 -1 1 1 1 2 2 2 2 -1 1 1 1 2 2 2 2 -1 1 1 1 2 2 2 2 -1 1 1 1 2 2 2 2 -1 1 1 1 2 2 2 2 +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 +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 +2 2 2 2 1 1 1 1 +2 2 2 2 1 1 1 1 +2 2 2 2 1 1 1 1 +1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 diff --git a/python/tests/reference/Geom/mirror_directions=x-y-z_reflect=True.geom b/python/tests/reference/Geom/mirror_directions=x-y-z_reflect=True.geom index 77ff709d7..851d4fb1c 100644 --- a/python/tests/reference/Geom/mirror_directions=x-y-z_reflect=True.geom +++ b/python/tests/reference/Geom/mirror_directions=x-y-z_reflect=True.geom @@ -3,83 +3,83 @@ grid a 16 b 10 c 8 size x 1.6e-05 y 1e-05 z 8e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 - 1 1 2 22 2 2 1 21 21 1 2 2 22 2 1 1 - 1 1 6 26 2 2 5 25 25 5 2 2 26 6 1 1 - 1 1 10 30 2 2 9 29 29 9 2 2 30 10 1 1 - 1 1 14 34 2 2 13 33 33 13 2 2 34 14 1 1 - 1 1 18 38 2 2 17 37 37 17 2 2 38 18 1 1 - 1 1 18 38 2 2 17 37 37 17 2 2 38 18 1 1 - 1 1 14 34 2 2 13 33 33 13 2 2 34 14 1 1 - 1 1 10 30 2 2 9 29 29 9 2 2 30 10 1 1 - 1 1 6 26 2 2 5 25 25 5 2 2 26 6 1 1 - 1 1 2 22 2 2 1 21 21 1 2 2 22 2 1 1 - 1 1 3 23 2 2 2 22 22 2 2 2 23 3 1 1 - 1 1 7 27 2 2 6 26 26 6 2 2 27 7 1 1 - 1 1 11 31 2 2 10 30 30 10 2 2 31 11 1 1 - 1 1 15 35 2 2 14 34 34 14 2 2 35 15 1 1 - 1 1 19 39 2 2 18 38 38 18 2 2 39 19 1 1 - 1 1 19 39 2 2 18 38 38 18 2 2 39 19 1 1 - 1 1 15 35 2 2 14 34 34 14 2 2 35 15 1 1 - 1 1 11 31 2 2 10 30 30 10 2 2 31 11 1 1 - 1 1 7 27 2 2 6 26 26 6 2 2 27 7 1 1 - 1 1 3 23 2 2 2 22 22 2 2 2 23 3 1 1 - 1 1 4 24 2 2 3 23 23 3 2 2 24 4 1 1 - 1 1 8 28 2 2 7 27 27 7 2 2 28 8 1 1 - 1 1 12 32 2 2 11 31 31 11 2 2 32 12 1 1 - 1 1 16 36 2 2 15 35 35 15 2 2 36 16 1 1 - 1 1 20 40 2 2 19 39 39 19 2 2 40 20 1 1 - 1 1 20 40 2 2 19 39 39 19 2 2 40 20 1 1 - 1 1 16 36 2 2 15 35 35 15 2 2 36 16 1 1 - 1 1 12 32 2 2 11 31 31 11 2 2 32 12 1 1 - 1 1 8 28 2 2 7 27 27 7 2 2 28 8 1 1 - 1 1 4 24 2 2 3 23 23 3 2 2 24 4 1 1 - 1 1 5 25 2 2 4 24 24 4 2 2 25 5 1 1 - 1 1 9 29 2 2 8 28 28 8 2 2 29 9 1 1 - 1 1 13 33 2 2 12 32 32 12 2 2 33 13 1 1 - 1 1 17 37 2 2 16 36 36 16 2 2 37 17 1 1 - 1 1 21 41 2 2 20 40 40 20 2 2 41 21 1 1 - 1 1 21 41 2 2 20 40 40 20 2 2 41 21 1 1 - 1 1 17 37 2 2 16 36 36 16 2 2 37 17 1 1 - 1 1 13 33 2 2 12 32 32 12 2 2 33 13 1 1 - 1 1 9 29 2 2 8 28 28 8 2 2 29 9 1 1 - 1 1 5 25 2 2 4 24 24 4 2 2 25 5 1 1 - 1 1 5 25 2 2 4 24 24 4 2 2 25 5 1 1 - 1 1 9 29 2 2 8 28 28 8 2 2 29 9 1 1 - 1 1 13 33 2 2 12 32 32 12 2 2 33 13 1 1 - 1 1 17 37 2 2 16 36 36 16 2 2 37 17 1 1 - 1 1 21 41 2 2 20 40 40 20 2 2 41 21 1 1 - 1 1 21 41 2 2 20 40 40 20 2 2 41 21 1 1 - 1 1 17 37 2 2 16 36 36 16 2 2 37 17 1 1 - 1 1 13 33 2 2 12 32 32 12 2 2 33 13 1 1 - 1 1 9 29 2 2 8 28 28 8 2 2 29 9 1 1 - 1 1 5 25 2 2 4 24 24 4 2 2 25 5 1 1 - 1 1 4 24 2 2 3 23 23 3 2 2 24 4 1 1 - 1 1 8 28 2 2 7 27 27 7 2 2 28 8 1 1 - 1 1 12 32 2 2 11 31 31 11 2 2 32 12 1 1 - 1 1 16 36 2 2 15 35 35 15 2 2 36 16 1 1 - 1 1 20 40 2 2 19 39 39 19 2 2 40 20 1 1 - 1 1 20 40 2 2 19 39 39 19 2 2 40 20 1 1 - 1 1 16 36 2 2 15 35 35 15 2 2 36 16 1 1 - 1 1 12 32 2 2 11 31 31 11 2 2 32 12 1 1 - 1 1 8 28 2 2 7 27 27 7 2 2 28 8 1 1 - 1 1 4 24 2 2 3 23 23 3 2 2 24 4 1 1 - 1 1 3 23 2 2 2 22 22 2 2 2 23 3 1 1 - 1 1 7 27 2 2 6 26 26 6 2 2 27 7 1 1 - 1 1 11 31 2 2 10 30 30 10 2 2 31 11 1 1 - 1 1 15 35 2 2 14 34 34 14 2 2 35 15 1 1 - 1 1 19 39 2 2 18 38 38 18 2 2 39 19 1 1 - 1 1 19 39 2 2 18 38 38 18 2 2 39 19 1 1 - 1 1 15 35 2 2 14 34 34 14 2 2 35 15 1 1 - 1 1 11 31 2 2 10 30 30 10 2 2 31 11 1 1 - 1 1 7 27 2 2 6 26 26 6 2 2 27 7 1 1 - 1 1 3 23 2 2 2 22 22 2 2 2 23 3 1 1 - 1 1 2 22 2 2 1 21 21 1 2 2 22 2 1 1 - 1 1 6 26 2 2 5 25 25 5 2 2 26 6 1 1 - 1 1 10 30 2 2 9 29 29 9 2 2 30 10 1 1 - 1 1 14 34 2 2 13 33 33 13 2 2 34 14 1 1 - 1 1 18 38 2 2 17 37 37 17 2 2 38 18 1 1 - 1 1 18 38 2 2 17 37 37 17 2 2 38 18 1 1 - 1 1 14 34 2 2 13 33 33 13 2 2 34 14 1 1 - 1 1 10 30 2 2 9 29 29 9 2 2 30 10 1 1 - 1 1 6 26 2 2 5 25 25 5 2 2 26 6 1 1 - 1 1 2 22 2 2 1 21 21 1 2 2 22 2 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 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 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 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 1 1 + 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 +10 11 12 13 14 15 16 17 17 16 15 14 13 12 11 10 +18 19 20 21 22 23 24 25 25 24 23 22 21 20 19 18 +26 27 28 29 30 31 32 33 33 32 31 30 29 28 27 26 +34 35 36 37 38 39 40 41 41 40 39 38 37 36 35 34 +34 35 36 37 38 39 40 41 41 40 39 38 37 36 35 34 +26 27 28 29 30 31 32 33 33 32 31 30 29 28 27 26 +18 19 20 21 22 23 24 25 25 24 23 22 21 20 19 18 +10 11 12 13 14 15 16 17 17 16 15 14 13 12 11 10 + 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 + 9 10 11 12 13 14 15 16 16 15 14 13 12 11 10 9 +17 18 19 20 21 22 23 24 24 23 22 21 20 19 18 17 +25 26 27 28 29 30 31 32 32 31 30 29 28 27 26 25 +33 34 35 36 37 38 39 40 40 39 38 37 36 35 34 33 +33 34 35 36 37 38 39 40 40 39 38 37 36 35 34 33 +25 26 27 28 29 30 31 32 32 31 30 29 28 27 26 25 +17 18 19 20 21 22 23 24 24 23 22 21 20 19 18 17 + 9 10 11 12 13 14 15 16 16 15 14 13 12 11 10 9 + 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 + 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 + 9 10 11 12 13 14 15 16 16 15 14 13 12 11 10 9 +17 18 19 20 21 22 23 24 24 23 22 21 20 19 18 17 +25 26 27 28 29 30 31 32 32 31 30 29 28 27 26 25 +33 34 35 36 37 38 39 40 40 39 38 37 36 35 34 33 +33 34 35 36 37 38 39 40 40 39 38 37 36 35 34 33 +25 26 27 28 29 30 31 32 32 31 30 29 28 27 26 25 +17 18 19 20 21 22 23 24 24 23 22 21 20 19 18 17 + 9 10 11 12 13 14 15 16 16 15 14 13 12 11 10 9 + 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 +10 11 12 13 14 15 16 17 17 16 15 14 13 12 11 10 +18 19 20 21 22 23 24 25 25 24 23 22 21 20 19 18 +26 27 28 29 30 31 32 33 33 32 31 30 29 28 27 26 +34 35 36 37 38 39 40 41 41 40 39 38 37 36 35 34 +34 35 36 37 38 39 40 41 41 40 39 38 37 36 35 34 +26 27 28 29 30 31 32 33 33 32 31 30 29 28 27 26 +18 19 20 21 22 23 24 25 25 24 23 22 21 20 19 18 +10 11 12 13 14 15 16 17 17 16 15 14 13 12 11 10 + 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 + 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 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 + 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 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 diff --git a/python/tests/reference/Geom/mirror_directions=x_reflect=False.geom b/python/tests/reference/Geom/mirror_directions=x_reflect=False.geom index afb3bb5f8..3a6558be1 100644 --- a/python/tests/reference/Geom/mirror_directions=x_reflect=False.geom +++ b/python/tests/reference/Geom/mirror_directions=x_reflect=False.geom @@ -3,23 +3,23 @@ grid a 14 b 5 c 4 size x 1.4e-05 y 5e-06 z 4e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 - 1 1 2 22 2 2 1 21 1 2 2 22 2 1 - 1 1 6 26 2 2 5 25 5 2 2 26 6 1 - 1 1 10 30 2 2 9 29 9 2 2 30 10 1 - 1 1 14 34 2 2 13 33 13 2 2 34 14 1 - 1 1 18 38 2 2 17 37 17 2 2 38 18 1 - 1 1 3 23 2 2 2 22 2 2 2 23 3 1 - 1 1 7 27 2 2 6 26 6 2 2 27 7 1 - 1 1 11 31 2 2 10 30 10 2 2 31 11 1 - 1 1 15 35 2 2 14 34 14 2 2 35 15 1 - 1 1 19 39 2 2 18 38 18 2 2 39 19 1 - 1 1 4 24 2 2 3 23 3 2 2 24 4 1 - 1 1 8 28 2 2 7 27 7 2 2 28 8 1 - 1 1 12 32 2 2 11 31 11 2 2 32 12 1 - 1 1 16 36 2 2 15 35 15 2 2 36 16 1 - 1 1 20 40 2 2 19 39 19 2 2 40 20 1 - 1 1 5 25 2 2 4 24 4 2 2 25 5 1 - 1 1 9 29 2 2 8 28 8 2 2 29 9 1 - 1 1 13 33 2 2 12 32 12 2 2 33 13 1 - 1 1 17 37 2 2 16 36 16 2 2 37 17 1 - 1 1 21 41 2 2 20 40 20 2 2 41 21 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 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 + 2 3 4 5 6 7 8 9 8 7 6 5 4 3 +10 11 12 13 14 15 16 17 16 15 14 13 12 11 +18 19 20 21 22 23 24 25 24 23 22 21 20 19 +26 27 28 29 30 31 32 33 32 31 30 29 28 27 +34 35 36 37 38 39 40 41 40 39 38 37 36 35 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 1 2 3 4 5 6 7 8 7 6 5 4 3 2 + 9 10 11 12 13 14 15 16 15 14 13 12 11 10 +17 18 19 20 21 22 23 24 23 22 21 20 19 18 +25 26 27 28 29 30 31 32 31 30 29 28 27 26 +33 34 35 36 37 38 39 40 39 38 37 36 35 34 diff --git a/python/tests/reference/Geom/mirror_directions=y-z_reflect=False.geom b/python/tests/reference/Geom/mirror_directions=y-z_reflect=False.geom index 37d8ae18e..6a451ba7a 100644 --- a/python/tests/reference/Geom/mirror_directions=y-z_reflect=False.geom +++ b/python/tests/reference/Geom/mirror_directions=y-z_reflect=False.geom @@ -3,51 +3,51 @@ grid a 8 b 8 c 6 size x 8e-06 y 8.000000000000001e-06 z 6e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 - 1 1 2 22 2 2 1 21 - 1 1 6 26 2 2 5 25 - 1 1 10 30 2 2 9 29 - 1 1 14 34 2 2 13 33 - 1 1 18 38 2 2 17 37 - 1 1 14 34 2 2 13 33 - 1 1 10 30 2 2 9 29 - 1 1 6 26 2 2 5 25 - 1 1 3 23 2 2 2 22 - 1 1 7 27 2 2 6 26 - 1 1 11 31 2 2 10 30 - 1 1 15 35 2 2 14 34 - 1 1 19 39 2 2 18 38 - 1 1 15 35 2 2 14 34 - 1 1 11 31 2 2 10 30 - 1 1 7 27 2 2 6 26 - 1 1 4 24 2 2 3 23 - 1 1 8 28 2 2 7 27 - 1 1 12 32 2 2 11 31 - 1 1 16 36 2 2 15 35 - 1 1 20 40 2 2 19 39 - 1 1 16 36 2 2 15 35 - 1 1 12 32 2 2 11 31 - 1 1 8 28 2 2 7 27 - 1 1 5 25 2 2 4 24 - 1 1 9 29 2 2 8 28 - 1 1 13 33 2 2 12 32 - 1 1 17 37 2 2 16 36 - 1 1 21 41 2 2 20 40 - 1 1 17 37 2 2 16 36 - 1 1 13 33 2 2 12 32 - 1 1 9 29 2 2 8 28 - 1 1 4 24 2 2 3 23 - 1 1 8 28 2 2 7 27 - 1 1 12 32 2 2 11 31 - 1 1 16 36 2 2 15 35 - 1 1 20 40 2 2 19 39 - 1 1 16 36 2 2 15 35 - 1 1 12 32 2 2 11 31 - 1 1 8 28 2 2 7 27 - 1 1 3 23 2 2 2 22 - 1 1 7 27 2 2 6 26 - 1 1 11 31 2 2 10 30 - 1 1 15 35 2 2 14 34 - 1 1 19 39 2 2 18 38 - 1 1 15 35 2 2 14 34 - 1 1 11 31 2 2 10 30 - 1 1 7 27 2 2 6 26 + 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 + 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 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 +26 27 28 29 30 31 32 33 +18 19 20 21 22 23 24 25 +10 11 12 13 14 15 16 17 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 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 +25 26 27 28 29 30 31 32 +17 18 19 20 21 22 23 24 + 9 10 11 12 13 14 15 16 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 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 +26 27 28 29 30 31 32 33 +18 19 20 21 22 23 24 25 +10 11 12 13 14 15 16 17 diff --git a/python/tests/reference/Geom/mirror_directions=z-x-y_reflect=False.geom b/python/tests/reference/Geom/mirror_directions=z-x-y_reflect=False.geom index 5d7c23eb0..57d110425 100644 --- a/python/tests/reference/Geom/mirror_directions=z-x-y_reflect=False.geom +++ b/python/tests/reference/Geom/mirror_directions=z-x-y_reflect=False.geom @@ -3,51 +3,51 @@ grid a 14 b 8 c 6 size x 1.4e-05 y 8.000000000000001e-06 z 6e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 - 1 1 2 22 2 2 1 21 1 2 2 22 2 1 - 1 1 6 26 2 2 5 25 5 2 2 26 6 1 - 1 1 10 30 2 2 9 29 9 2 2 30 10 1 - 1 1 14 34 2 2 13 33 13 2 2 34 14 1 - 1 1 18 38 2 2 17 37 17 2 2 38 18 1 - 1 1 14 34 2 2 13 33 13 2 2 34 14 1 - 1 1 10 30 2 2 9 29 9 2 2 30 10 1 - 1 1 6 26 2 2 5 25 5 2 2 26 6 1 - 1 1 3 23 2 2 2 22 2 2 2 23 3 1 - 1 1 7 27 2 2 6 26 6 2 2 27 7 1 - 1 1 11 31 2 2 10 30 10 2 2 31 11 1 - 1 1 15 35 2 2 14 34 14 2 2 35 15 1 - 1 1 19 39 2 2 18 38 18 2 2 39 19 1 - 1 1 15 35 2 2 14 34 14 2 2 35 15 1 - 1 1 11 31 2 2 10 30 10 2 2 31 11 1 - 1 1 7 27 2 2 6 26 6 2 2 27 7 1 - 1 1 4 24 2 2 3 23 3 2 2 24 4 1 - 1 1 8 28 2 2 7 27 7 2 2 28 8 1 - 1 1 12 32 2 2 11 31 11 2 2 32 12 1 - 1 1 16 36 2 2 15 35 15 2 2 36 16 1 - 1 1 20 40 2 2 19 39 19 2 2 40 20 1 - 1 1 16 36 2 2 15 35 15 2 2 36 16 1 - 1 1 12 32 2 2 11 31 11 2 2 32 12 1 - 1 1 8 28 2 2 7 27 7 2 2 28 8 1 - 1 1 5 25 2 2 4 24 4 2 2 25 5 1 - 1 1 9 29 2 2 8 28 8 2 2 29 9 1 - 1 1 13 33 2 2 12 32 12 2 2 33 13 1 - 1 1 17 37 2 2 16 36 16 2 2 37 17 1 - 1 1 21 41 2 2 20 40 20 2 2 41 21 1 - 1 1 17 37 2 2 16 36 16 2 2 37 17 1 - 1 1 13 33 2 2 12 32 12 2 2 33 13 1 - 1 1 9 29 2 2 8 28 8 2 2 29 9 1 - 1 1 4 24 2 2 3 23 3 2 2 24 4 1 - 1 1 8 28 2 2 7 27 7 2 2 28 8 1 - 1 1 12 32 2 2 11 31 11 2 2 32 12 1 - 1 1 16 36 2 2 15 35 15 2 2 36 16 1 - 1 1 20 40 2 2 19 39 19 2 2 40 20 1 - 1 1 16 36 2 2 15 35 15 2 2 36 16 1 - 1 1 12 32 2 2 11 31 11 2 2 32 12 1 - 1 1 8 28 2 2 7 27 7 2 2 28 8 1 - 1 1 3 23 2 2 2 22 2 2 2 23 3 1 - 1 1 7 27 2 2 6 26 6 2 2 27 7 1 - 1 1 11 31 2 2 10 30 10 2 2 31 11 1 - 1 1 15 35 2 2 14 34 14 2 2 35 15 1 - 1 1 19 39 2 2 18 38 18 2 2 39 19 1 - 1 1 15 35 2 2 14 34 14 2 2 35 15 1 - 1 1 11 31 2 2 10 30 10 2 2 31 11 1 - 1 1 7 27 2 2 6 26 6 2 2 27 7 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 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 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 + 2 3 4 5 6 7 8 9 8 7 6 5 4 3 +10 11 12 13 14 15 16 17 16 15 14 13 12 11 +18 19 20 21 22 23 24 25 24 23 22 21 20 19 +26 27 28 29 30 31 32 33 32 31 30 29 28 27 +34 35 36 37 38 39 40 41 40 39 38 37 36 35 +26 27 28 29 30 31 32 33 32 31 30 29 28 27 +18 19 20 21 22 23 24 25 24 23 22 21 20 19 +10 11 12 13 14 15 16 17 16 15 14 13 12 11 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 1 2 3 4 5 6 7 8 7 6 5 4 3 2 + 9 10 11 12 13 14 15 16 15 14 13 12 11 10 +17 18 19 20 21 22 23 24 23 22 21 20 19 18 +25 26 27 28 29 30 31 32 31 30 29 28 27 26 +33 34 35 36 37 38 39 40 39 38 37 36 35 34 +25 26 27 28 29 30 31 32 31 30 29 28 27 26 +17 18 19 20 21 22 23 24 23 22 21 20 19 18 + 9 10 11 12 13 14 15 16 15 14 13 12 11 10 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 2 3 4 5 6 7 8 9 8 7 6 5 4 3 +10 11 12 13 14 15 16 17 16 15 14 13 12 11 +18 19 20 21 22 23 24 25 24 23 22 21 20 19 +26 27 28 29 30 31 32 33 32 31 30 29 28 27 +34 35 36 37 38 39 40 41 40 39 38 37 36 35 +26 27 28 29 30 31 32 33 32 31 30 29 28 27 +18 19 20 21 22 23 24 25 24 23 22 21 20 19 +10 11 12 13 14 15 16 17 16 15 14 13 12 11 diff --git a/python/tests/reference/Geom/rotate_Eulers=0.0-32.0-240.0.geom b/python/tests/reference/Geom/rotate_Eulers=0.0-32.0-240.0.geom index a3d1de0b4..f76d931ad 100644 --- a/python/tests/reference/Geom/rotate_Eulers=0.0-32.0-240.0.geom +++ b/python/tests/reference/Geom/rotate_Eulers=0.0-32.0-240.0.geom @@ -15,8 +15,8 @@ homogenization 1 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 -42 42 30 14 18 42 42 42 -42 42 29 13 17 42 42 42 +42 42 25 32 40 42 42 42 +42 42 1 1 1 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 @@ -25,32 +25,32 @@ homogenization 1 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 -42 42 31 15 19 42 42 42 -42 6 10 2 2 42 42 42 -42 1 2 2 2 2 42 42 +42 42 2 2 2 42 42 42 +42 16 24 31 31 42 42 42 +42 1 1 1 1 1 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 -42 42 32 16 20 42 42 42 -42 7 11 2 2 42 42 42 -42 7 11 2 2 42 42 42 -42 2 2 2 2 2 42 42 -42 42 2 2 31 35 42 42 -42 42 22 26 10 14 1 42 +42 42 24 31 39 42 42 42 +42 2 2 2 2 42 42 42 +42 2 2 2 2 42 42 42 +42 8 15 23 30 38 42 42 +42 42 14 22 21 29 42 42 +42 42 1 1 1 1 1 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 -42 4 2 2 2 2 42 42 -42 42 2 2 32 36 42 42 -42 42 24 28 12 16 1 42 -42 42 42 7 7 1 1 42 -42 42 42 7 7 1 1 42 +42 7 14 22 29 37 42 42 +42 42 2 2 2 2 42 42 +42 42 2 2 2 2 2 42 +42 42 42 12 12 19 27 42 +42 42 42 12 12 19 27 42 42 42 42 1 1 1 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 @@ -58,9 +58,9 @@ homogenization 1 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 -42 42 25 29 13 17 1 42 -42 42 42 8 8 1 1 42 -42 42 42 1 1 1 42 42 +42 42 4 12 19 27 34 42 +42 42 42 2 2 2 2 42 +42 42 42 3 11 18 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 @@ -69,8 +69,8 @@ homogenization 1 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 -42 42 42 1 1 1 42 42 -42 42 42 1 1 1 42 42 +42 42 42 2 10 17 42 42 +42 42 42 2 2 2 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 diff --git a/python/tests/reference/Geom/rotate_Eulers=32.0-68.0-21.0.geom b/python/tests/reference/Geom/rotate_Eulers=32.0-68.0-21.0.geom index e29cd4266..31ac1a15c 100644 --- a/python/tests/reference/Geom/rotate_Eulers=32.0-68.0-21.0.geom +++ b/python/tests/reference/Geom/rotate_Eulers=32.0-68.0-21.0.geom @@ -18,66 +18,66 @@ homogenization 1 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 -42 42 42 1 2 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 1 42 42 42 42 42 42 -42 42 42 42 1 5 42 42 42 42 42 -42 42 42 1 7 4 42 42 42 42 42 -42 42 42 42 42 27 42 42 42 42 42 -42 42 42 42 42 42 2 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 42 42 42 1 1 42 42 42 42 42 42 -42 42 42 1 1 9 29 42 42 42 42 -42 42 1 1 11 8 28 2 42 42 42 -42 42 42 1 10 31 2 42 42 42 42 -42 42 42 42 30 2 2 2 42 42 42 -42 42 42 42 42 42 2 1 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 2 42 42 42 42 42 42 +42 42 42 42 2 3 42 42 42 42 42 +42 42 42 11 12 2 42 42 42 42 42 +42 42 42 42 42 13 42 42 42 42 42 +42 42 42 42 42 42 6 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 42 42 42 42 42 42 42 42 +42 42 42 2 10 42 42 42 42 42 42 +42 42 42 2 2 11 12 42 42 42 42 +42 42 1 19 20 2 2 5 42 42 42 +42 42 42 1 1 21 2 42 42 42 42 +42 42 42 42 1 1 14 15 42 42 42 +42 42 42 42 42 42 1 1 42 42 42 42 42 42 42 42 42 42 1 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 -42 42 42 1 42 42 42 42 42 42 42 -42 42 42 1 1 42 42 42 42 42 42 -42 42 1 16 36 12 32 42 42 42 42 -42 42 42 15 35 2 2 2 42 42 42 -42 42 42 42 2 2 2 11 3 42 42 -42 42 42 42 42 42 10 6 42 42 42 -42 42 42 42 42 42 42 6 42 42 42 +42 42 42 2 42 42 42 42 42 42 42 +42 42 42 2 2 42 42 42 42 42 42 +42 42 35 2 2 2 2 42 42 42 42 +42 42 42 28 29 2 2 2 42 42 42 +42 42 42 42 22 23 2 2 2 42 42 +42 42 42 42 42 42 24 16 42 42 42 +42 42 42 42 42 42 42 16 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 -42 42 42 1 42 42 42 42 42 42 42 -42 42 42 1 17 42 42 42 42 42 42 -42 42 42 16 36 37 2 42 42 42 42 -42 42 42 42 39 2 2 12 42 42 42 -42 42 42 38 2 2 2 11 8 42 42 -42 42 42 42 2 2 14 30 42 42 42 -42 42 42 42 42 42 13 30 42 42 42 +42 42 42 34 42 42 42 42 42 42 42 +42 42 42 34 27 42 42 42 42 42 42 +42 42 42 2 2 28 21 42 42 42 42 +42 42 42 42 37 2 22 23 42 42 42 +42 42 42 1 30 31 2 2 15 42 42 +42 42 42 42 1 1 32 25 42 42 42 +42 42 42 42 42 42 1 25 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 40 42 42 42 42 42 42 +42 42 42 42 2 42 42 42 42 42 42 42 42 42 42 42 2 42 42 42 42 42 -42 42 42 42 42 2 2 15 42 42 42 -42 42 42 42 42 2 18 42 42 42 42 -42 42 42 42 42 42 17 42 42 42 42 +42 42 42 42 42 39 2 2 42 42 42 +42 42 42 42 42 1 40 42 42 42 42 +42 42 42 42 42 42 1 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 @@ -86,7 +86,7 @@ homogenization 1 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 2 20 42 42 42 +42 42 42 42 42 42 38 39 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 diff --git a/python/tests/reference/Geom/scale_grid=10-10-10.geom b/python/tests/reference/Geom/scale_grid=10-10-10.geom index 43587a615..41f78c670 100644 --- a/python/tests/reference/Geom/scale_grid=10-10-10.geom +++ b/python/tests/reference/Geom/scale_grid=10-10-10.geom @@ -3,103 +3,103 @@ grid a 10 b 10 c 10 size x 8e-06 y 5e-06 z 4e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 - 1 1 2 2 22 2 2 2 1 21 - 1 1 2 2 22 2 2 2 1 21 - 1 1 6 6 26 2 2 2 5 25 - 1 1 6 6 26 2 2 2 5 25 - 1 1 10 10 30 2 2 2 9 29 - 1 1 10 10 30 2 2 2 9 29 - 1 1 14 14 34 2 2 2 13 33 - 1 1 14 14 34 2 2 2 13 33 - 1 1 18 18 38 2 2 2 17 37 - 1 1 18 18 38 2 2 2 17 37 - 1 1 2 2 22 2 2 2 1 21 - 1 1 2 2 22 2 2 2 1 21 - 1 1 6 6 26 2 2 2 5 25 - 1 1 6 6 26 2 2 2 5 25 - 1 1 10 10 30 2 2 2 9 29 - 1 1 10 10 30 2 2 2 9 29 - 1 1 14 14 34 2 2 2 13 33 - 1 1 14 14 34 2 2 2 13 33 - 1 1 18 18 38 2 2 2 17 37 - 1 1 18 18 38 2 2 2 17 37 - 1 1 3 3 23 2 2 2 2 22 - 1 1 3 3 23 2 2 2 2 22 - 1 1 7 7 27 2 2 2 6 26 - 1 1 7 7 27 2 2 2 6 26 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 15 15 35 2 2 2 14 34 - 1 1 15 15 35 2 2 2 14 34 - 1 1 19 19 39 2 2 2 18 38 - 1 1 19 19 39 2 2 2 18 38 - 1 1 3 3 23 2 2 2 2 22 - 1 1 3 3 23 2 2 2 2 22 - 1 1 7 7 27 2 2 2 6 26 - 1 1 7 7 27 2 2 2 6 26 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 15 15 35 2 2 2 14 34 - 1 1 15 15 35 2 2 2 14 34 - 1 1 19 19 39 2 2 2 18 38 - 1 1 19 19 39 2 2 2 18 38 - 1 1 3 3 23 2 2 2 2 22 - 1 1 3 3 23 2 2 2 2 22 - 1 1 7 7 27 2 2 2 6 26 - 1 1 7 7 27 2 2 2 6 26 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 15 15 35 2 2 2 14 34 - 1 1 15 15 35 2 2 2 14 34 - 1 1 19 19 39 2 2 2 18 38 - 1 1 19 19 39 2 2 2 18 38 - 1 1 4 4 24 2 2 2 3 23 - 1 1 4 4 24 2 2 2 3 23 - 1 1 8 8 28 2 2 2 7 27 - 1 1 8 8 28 2 2 2 7 27 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 16 16 36 2 2 2 15 35 - 1 1 16 16 36 2 2 2 15 35 - 1 1 20 20 40 2 2 2 19 39 - 1 1 20 20 40 2 2 2 19 39 - 1 1 4 4 24 2 2 2 3 23 - 1 1 4 4 24 2 2 2 3 23 - 1 1 8 8 28 2 2 2 7 27 - 1 1 8 8 28 2 2 2 7 27 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 16 16 36 2 2 2 15 35 - 1 1 16 16 36 2 2 2 15 35 - 1 1 20 20 40 2 2 2 19 39 - 1 1 20 20 40 2 2 2 19 39 - 1 1 4 4 24 2 2 2 3 23 - 1 1 4 4 24 2 2 2 3 23 - 1 1 8 8 28 2 2 2 7 27 - 1 1 8 8 28 2 2 2 7 27 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 16 16 36 2 2 2 15 35 - 1 1 16 16 36 2 2 2 15 35 - 1 1 20 20 40 2 2 2 19 39 - 1 1 20 20 40 2 2 2 19 39 - 1 1 5 5 25 2 2 2 4 24 - 1 1 5 5 25 2 2 2 4 24 - 1 1 9 9 29 2 2 2 8 28 - 1 1 9 9 29 2 2 2 8 28 - 1 1 13 13 33 2 2 2 12 32 - 1 1 13 13 33 2 2 2 12 32 - 1 1 17 17 37 2 2 2 16 36 - 1 1 17 17 37 2 2 2 16 36 - 1 1 21 21 41 2 2 2 20 40 - 1 1 21 21 41 2 2 2 20 40 - 1 1 5 5 25 2 2 2 4 24 - 1 1 5 5 25 2 2 2 4 24 - 1 1 9 9 29 2 2 2 8 28 - 1 1 9 9 29 2 2 2 8 28 - 1 1 13 13 33 2 2 2 12 32 - 1 1 13 13 33 2 2 2 12 32 - 1 1 17 17 37 2 2 2 16 36 - 1 1 17 17 37 2 2 2 16 36 - 1 1 21 21 41 2 2 2 20 40 - 1 1 21 21 41 2 2 2 20 40 + 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 + 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 + 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 + 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 + 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 + 2 3 4 4 5 6 7 7 8 9 + 2 3 4 4 5 6 7 7 8 9 +10 11 12 12 13 14 15 15 16 17 +10 11 12 12 13 14 15 15 16 17 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +26 27 28 28 29 30 31 31 32 33 +26 27 28 28 29 30 31 31 32 33 +34 35 36 36 37 38 39 39 40 41 +34 35 36 36 37 38 39 39 40 41 + 2 3 4 4 5 6 7 7 8 9 + 2 3 4 4 5 6 7 7 8 9 +10 11 12 12 13 14 15 15 16 17 +10 11 12 12 13 14 15 15 16 17 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +26 27 28 28 29 30 31 31 32 33 +26 27 28 28 29 30 31 31 32 33 +34 35 36 36 37 38 39 39 40 41 +34 35 36 36 37 38 39 39 40 41 + 2 3 4 4 5 6 7 7 8 9 + 2 3 4 4 5 6 7 7 8 9 +10 11 12 12 13 14 15 15 16 17 +10 11 12 12 13 14 15 15 16 17 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +26 27 28 28 29 30 31 31 32 33 +26 27 28 28 29 30 31 31 32 33 +34 35 36 36 37 38 39 39 40 41 +34 35 36 36 37 38 39 39 40 41 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 1 2 3 3 4 5 6 6 7 8 + 1 2 3 3 4 5 6 6 7 8 + 9 10 11 11 12 13 14 14 15 16 + 9 10 11 11 12 13 14 14 15 16 +17 18 19 19 20 21 22 22 23 24 +17 18 19 19 20 21 22 22 23 24 +25 26 27 27 28 29 30 30 31 32 +25 26 27 27 28 29 30 30 31 32 +33 34 35 35 36 37 38 38 39 40 +33 34 35 35 36 37 38 38 39 40 + 1 2 3 3 4 5 6 6 7 8 + 1 2 3 3 4 5 6 6 7 8 + 9 10 11 11 12 13 14 14 15 16 + 9 10 11 11 12 13 14 14 15 16 +17 18 19 19 20 21 22 22 23 24 +17 18 19 19 20 21 22 22 23 24 +25 26 27 27 28 29 30 30 31 32 +25 26 27 27 28 29 30 30 31 32 +33 34 35 35 36 37 38 38 39 40 +33 34 35 35 36 37 38 38 39 40 diff --git a/python/tests/reference/Geom/scale_grid=10-11-10.geom b/python/tests/reference/Geom/scale_grid=10-11-10.geom index e12fc64fc..fa0bf784c 100644 --- a/python/tests/reference/Geom/scale_grid=10-11-10.geom +++ b/python/tests/reference/Geom/scale_grid=10-11-10.geom @@ -3,113 +3,113 @@ grid a 10 b 11 c 10 size x 8e-06 y 5e-06 z 4e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 - 1 1 2 2 22 2 2 2 1 21 - 1 1 2 2 22 2 2 2 1 21 - 1 1 6 6 26 2 2 2 5 25 - 1 1 6 6 26 2 2 2 5 25 - 1 1 10 10 30 2 2 2 9 29 - 1 1 10 10 30 2 2 2 9 29 - 1 1 10 10 30 2 2 2 9 29 - 1 1 14 14 34 2 2 2 13 33 - 1 1 14 14 34 2 2 2 13 33 - 1 1 18 18 38 2 2 2 17 37 - 1 1 18 18 38 2 2 2 17 37 - 1 1 2 2 22 2 2 2 1 21 - 1 1 2 2 22 2 2 2 1 21 - 1 1 6 6 26 2 2 2 5 25 - 1 1 6 6 26 2 2 2 5 25 - 1 1 10 10 30 2 2 2 9 29 - 1 1 10 10 30 2 2 2 9 29 - 1 1 10 10 30 2 2 2 9 29 - 1 1 14 14 34 2 2 2 13 33 - 1 1 14 14 34 2 2 2 13 33 - 1 1 18 18 38 2 2 2 17 37 - 1 1 18 18 38 2 2 2 17 37 - 1 1 3 3 23 2 2 2 2 22 - 1 1 3 3 23 2 2 2 2 22 - 1 1 7 7 27 2 2 2 6 26 - 1 1 7 7 27 2 2 2 6 26 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 15 15 35 2 2 2 14 34 - 1 1 15 15 35 2 2 2 14 34 - 1 1 19 19 39 2 2 2 18 38 - 1 1 19 19 39 2 2 2 18 38 - 1 1 3 3 23 2 2 2 2 22 - 1 1 3 3 23 2 2 2 2 22 - 1 1 7 7 27 2 2 2 6 26 - 1 1 7 7 27 2 2 2 6 26 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 15 15 35 2 2 2 14 34 - 1 1 15 15 35 2 2 2 14 34 - 1 1 19 19 39 2 2 2 18 38 - 1 1 19 19 39 2 2 2 18 38 - 1 1 3 3 23 2 2 2 2 22 - 1 1 3 3 23 2 2 2 2 22 - 1 1 7 7 27 2 2 2 6 26 - 1 1 7 7 27 2 2 2 6 26 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 15 15 35 2 2 2 14 34 - 1 1 15 15 35 2 2 2 14 34 - 1 1 19 19 39 2 2 2 18 38 - 1 1 19 19 39 2 2 2 18 38 - 1 1 4 4 24 2 2 2 3 23 - 1 1 4 4 24 2 2 2 3 23 - 1 1 8 8 28 2 2 2 7 27 - 1 1 8 8 28 2 2 2 7 27 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 16 16 36 2 2 2 15 35 - 1 1 16 16 36 2 2 2 15 35 - 1 1 20 20 40 2 2 2 19 39 - 1 1 20 20 40 2 2 2 19 39 - 1 1 4 4 24 2 2 2 3 23 - 1 1 4 4 24 2 2 2 3 23 - 1 1 8 8 28 2 2 2 7 27 - 1 1 8 8 28 2 2 2 7 27 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 16 16 36 2 2 2 15 35 - 1 1 16 16 36 2 2 2 15 35 - 1 1 20 20 40 2 2 2 19 39 - 1 1 20 20 40 2 2 2 19 39 - 1 1 4 4 24 2 2 2 3 23 - 1 1 4 4 24 2 2 2 3 23 - 1 1 8 8 28 2 2 2 7 27 - 1 1 8 8 28 2 2 2 7 27 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 16 16 36 2 2 2 15 35 - 1 1 16 16 36 2 2 2 15 35 - 1 1 20 20 40 2 2 2 19 39 - 1 1 20 20 40 2 2 2 19 39 - 1 1 5 5 25 2 2 2 4 24 - 1 1 5 5 25 2 2 2 4 24 - 1 1 9 9 29 2 2 2 8 28 - 1 1 9 9 29 2 2 2 8 28 - 1 1 13 13 33 2 2 2 12 32 - 1 1 13 13 33 2 2 2 12 32 - 1 1 13 13 33 2 2 2 12 32 - 1 1 17 17 37 2 2 2 16 36 - 1 1 17 17 37 2 2 2 16 36 - 1 1 21 21 41 2 2 2 20 40 - 1 1 21 21 41 2 2 2 20 40 - 1 1 5 5 25 2 2 2 4 24 - 1 1 5 5 25 2 2 2 4 24 - 1 1 9 9 29 2 2 2 8 28 - 1 1 9 9 29 2 2 2 8 28 - 1 1 13 13 33 2 2 2 12 32 - 1 1 13 13 33 2 2 2 12 32 - 1 1 13 13 33 2 2 2 12 32 - 1 1 17 17 37 2 2 2 16 36 - 1 1 17 17 37 2 2 2 16 36 - 1 1 21 21 41 2 2 2 20 40 - 1 1 21 21 41 2 2 2 20 40 + 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 + 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 + 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 + 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 + 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 + 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 + 2 3 4 4 5 6 7 7 8 9 + 2 3 4 4 5 6 7 7 8 9 +10 11 12 12 13 14 15 15 16 17 +10 11 12 12 13 14 15 15 16 17 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +26 27 28 28 29 30 31 31 32 33 +26 27 28 28 29 30 31 31 32 33 +34 35 36 36 37 38 39 39 40 41 +34 35 36 36 37 38 39 39 40 41 + 2 3 4 4 5 6 7 7 8 9 + 2 3 4 4 5 6 7 7 8 9 +10 11 12 12 13 14 15 15 16 17 +10 11 12 12 13 14 15 15 16 17 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +26 27 28 28 29 30 31 31 32 33 +26 27 28 28 29 30 31 31 32 33 +34 35 36 36 37 38 39 39 40 41 +34 35 36 36 37 38 39 39 40 41 + 2 3 4 4 5 6 7 7 8 9 + 2 3 4 4 5 6 7 7 8 9 +10 11 12 12 13 14 15 15 16 17 +10 11 12 12 13 14 15 15 16 17 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +26 27 28 28 29 30 31 31 32 33 +26 27 28 28 29 30 31 31 32 33 +34 35 36 36 37 38 39 39 40 41 +34 35 36 36 37 38 39 39 40 41 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 1 2 3 3 4 5 6 6 7 8 + 1 2 3 3 4 5 6 6 7 8 + 9 10 11 11 12 13 14 14 15 16 + 9 10 11 11 12 13 14 14 15 16 +17 18 19 19 20 21 22 22 23 24 +17 18 19 19 20 21 22 22 23 24 +17 18 19 19 20 21 22 22 23 24 +25 26 27 27 28 29 30 30 31 32 +25 26 27 27 28 29 30 30 31 32 +33 34 35 35 36 37 38 38 39 40 +33 34 35 35 36 37 38 38 39 40 + 1 2 3 3 4 5 6 6 7 8 + 1 2 3 3 4 5 6 6 7 8 + 9 10 11 11 12 13 14 14 15 16 + 9 10 11 11 12 13 14 14 15 16 +17 18 19 19 20 21 22 22 23 24 +17 18 19 19 20 21 22 22 23 24 +17 18 19 19 20 21 22 22 23 24 +25 26 27 27 28 29 30 30 31 32 +25 26 27 27 28 29 30 30 31 32 +33 34 35 35 36 37 38 38 39 40 +33 34 35 35 36 37 38 38 39 40 diff --git a/python/tests/reference/Geom/scale_grid=10-13-10.geom b/python/tests/reference/Geom/scale_grid=10-13-10.geom index cbe4afc00..705d10ff3 100644 --- a/python/tests/reference/Geom/scale_grid=10-13-10.geom +++ b/python/tests/reference/Geom/scale_grid=10-13-10.geom @@ -3,133 +3,133 @@ grid a 10 b 13 c 10 size x 8e-06 y 5e-06 z 4e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 - 1 1 2 2 22 2 2 2 1 21 - 1 1 2 2 22 2 2 2 1 21 - 1 1 6 6 26 2 2 2 5 25 - 1 1 6 6 26 2 2 2 5 25 - 1 1 6 6 26 2 2 2 5 25 - 1 1 10 10 30 2 2 2 9 29 - 1 1 10 10 30 2 2 2 9 29 - 1 1 10 10 30 2 2 2 9 29 - 1 1 14 14 34 2 2 2 13 33 - 1 1 14 14 34 2 2 2 13 33 - 1 1 14 14 34 2 2 2 13 33 - 1 1 18 18 38 2 2 2 17 37 - 1 1 18 18 38 2 2 2 17 37 - 1 1 2 2 22 2 2 2 1 21 - 1 1 2 2 22 2 2 2 1 21 - 1 1 6 6 26 2 2 2 5 25 - 1 1 6 6 26 2 2 2 5 25 - 1 1 6 6 26 2 2 2 5 25 - 1 1 10 10 30 2 2 2 9 29 - 1 1 10 10 30 2 2 2 9 29 - 1 1 10 10 30 2 2 2 9 29 - 1 1 14 14 34 2 2 2 13 33 - 1 1 14 14 34 2 2 2 13 33 - 1 1 14 14 34 2 2 2 13 33 - 1 1 18 18 38 2 2 2 17 37 - 1 1 18 18 38 2 2 2 17 37 - 1 1 3 3 23 2 2 2 2 22 - 1 1 3 3 23 2 2 2 2 22 - 1 1 7 7 27 2 2 2 6 26 - 1 1 7 7 27 2 2 2 6 26 - 1 1 7 7 27 2 2 2 6 26 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 15 15 35 2 2 2 14 34 - 1 1 15 15 35 2 2 2 14 34 - 1 1 15 15 35 2 2 2 14 34 - 1 1 19 19 39 2 2 2 18 38 - 1 1 19 19 39 2 2 2 18 38 - 1 1 3 3 23 2 2 2 2 22 - 1 1 3 3 23 2 2 2 2 22 - 1 1 7 7 27 2 2 2 6 26 - 1 1 7 7 27 2 2 2 6 26 - 1 1 7 7 27 2 2 2 6 26 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 15 15 35 2 2 2 14 34 - 1 1 15 15 35 2 2 2 14 34 - 1 1 15 15 35 2 2 2 14 34 - 1 1 19 19 39 2 2 2 18 38 - 1 1 19 19 39 2 2 2 18 38 - 1 1 3 3 23 2 2 2 2 22 - 1 1 3 3 23 2 2 2 2 22 - 1 1 7 7 27 2 2 2 6 26 - 1 1 7 7 27 2 2 2 6 26 - 1 1 7 7 27 2 2 2 6 26 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 11 11 31 2 2 2 10 30 - 1 1 15 15 35 2 2 2 14 34 - 1 1 15 15 35 2 2 2 14 34 - 1 1 15 15 35 2 2 2 14 34 - 1 1 19 19 39 2 2 2 18 38 - 1 1 19 19 39 2 2 2 18 38 - 1 1 4 4 24 2 2 2 3 23 - 1 1 4 4 24 2 2 2 3 23 - 1 1 8 8 28 2 2 2 7 27 - 1 1 8 8 28 2 2 2 7 27 - 1 1 8 8 28 2 2 2 7 27 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 16 16 36 2 2 2 15 35 - 1 1 16 16 36 2 2 2 15 35 - 1 1 16 16 36 2 2 2 15 35 - 1 1 20 20 40 2 2 2 19 39 - 1 1 20 20 40 2 2 2 19 39 - 1 1 4 4 24 2 2 2 3 23 - 1 1 4 4 24 2 2 2 3 23 - 1 1 8 8 28 2 2 2 7 27 - 1 1 8 8 28 2 2 2 7 27 - 1 1 8 8 28 2 2 2 7 27 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 16 16 36 2 2 2 15 35 - 1 1 16 16 36 2 2 2 15 35 - 1 1 16 16 36 2 2 2 15 35 - 1 1 20 20 40 2 2 2 19 39 - 1 1 20 20 40 2 2 2 19 39 - 1 1 4 4 24 2 2 2 3 23 - 1 1 4 4 24 2 2 2 3 23 - 1 1 8 8 28 2 2 2 7 27 - 1 1 8 8 28 2 2 2 7 27 - 1 1 8 8 28 2 2 2 7 27 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 12 12 32 2 2 2 11 31 - 1 1 16 16 36 2 2 2 15 35 - 1 1 16 16 36 2 2 2 15 35 - 1 1 16 16 36 2 2 2 15 35 - 1 1 20 20 40 2 2 2 19 39 - 1 1 20 20 40 2 2 2 19 39 - 1 1 5 5 25 2 2 2 4 24 - 1 1 5 5 25 2 2 2 4 24 - 1 1 9 9 29 2 2 2 8 28 - 1 1 9 9 29 2 2 2 8 28 - 1 1 9 9 29 2 2 2 8 28 - 1 1 13 13 33 2 2 2 12 32 - 1 1 13 13 33 2 2 2 12 32 - 1 1 13 13 33 2 2 2 12 32 - 1 1 17 17 37 2 2 2 16 36 - 1 1 17 17 37 2 2 2 16 36 - 1 1 17 17 37 2 2 2 16 36 - 1 1 21 21 41 2 2 2 20 40 - 1 1 21 21 41 2 2 2 20 40 - 1 1 5 5 25 2 2 2 4 24 - 1 1 5 5 25 2 2 2 4 24 - 1 1 9 9 29 2 2 2 8 28 - 1 1 9 9 29 2 2 2 8 28 - 1 1 9 9 29 2 2 2 8 28 - 1 1 13 13 33 2 2 2 12 32 - 1 1 13 13 33 2 2 2 12 32 - 1 1 13 13 33 2 2 2 12 32 - 1 1 17 17 37 2 2 2 16 36 - 1 1 17 17 37 2 2 2 16 36 - 1 1 17 17 37 2 2 2 16 36 - 1 1 21 21 41 2 2 2 20 40 - 1 1 21 21 41 2 2 2 20 40 + 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 + 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 + 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 + 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 + 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 + 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 + 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 + 2 3 4 4 5 6 7 7 8 9 + 2 3 4 4 5 6 7 7 8 9 +10 11 12 12 13 14 15 15 16 17 +10 11 12 12 13 14 15 15 16 17 +10 11 12 12 13 14 15 15 16 17 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +26 27 28 28 29 30 31 31 32 33 +26 27 28 28 29 30 31 31 32 33 +26 27 28 28 29 30 31 31 32 33 +34 35 36 36 37 38 39 39 40 41 +34 35 36 36 37 38 39 39 40 41 + 2 3 4 4 5 6 7 7 8 9 + 2 3 4 4 5 6 7 7 8 9 +10 11 12 12 13 14 15 15 16 17 +10 11 12 12 13 14 15 15 16 17 +10 11 12 12 13 14 15 15 16 17 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +26 27 28 28 29 30 31 31 32 33 +26 27 28 28 29 30 31 31 32 33 +26 27 28 28 29 30 31 31 32 33 +34 35 36 36 37 38 39 39 40 41 +34 35 36 36 37 38 39 39 40 41 + 2 3 4 4 5 6 7 7 8 9 + 2 3 4 4 5 6 7 7 8 9 +10 11 12 12 13 14 15 15 16 17 +10 11 12 12 13 14 15 15 16 17 +10 11 12 12 13 14 15 15 16 17 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +18 19 20 20 21 22 23 23 24 25 +26 27 28 28 29 30 31 31 32 33 +26 27 28 28 29 30 31 31 32 33 +26 27 28 28 29 30 31 31 32 33 +34 35 36 36 37 38 39 39 40 41 +34 35 36 36 37 38 39 39 40 41 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 2 2 + 1 2 3 3 4 5 6 6 7 8 + 1 2 3 3 4 5 6 6 7 8 + 9 10 11 11 12 13 14 14 15 16 + 9 10 11 11 12 13 14 14 15 16 + 9 10 11 11 12 13 14 14 15 16 +17 18 19 19 20 21 22 22 23 24 +17 18 19 19 20 21 22 22 23 24 +17 18 19 19 20 21 22 22 23 24 +25 26 27 27 28 29 30 30 31 32 +25 26 27 27 28 29 30 30 31 32 +25 26 27 27 28 29 30 30 31 32 +33 34 35 35 36 37 38 38 39 40 +33 34 35 35 36 37 38 38 39 40 + 1 2 3 3 4 5 6 6 7 8 + 1 2 3 3 4 5 6 6 7 8 + 9 10 11 11 12 13 14 14 15 16 + 9 10 11 11 12 13 14 14 15 16 + 9 10 11 11 12 13 14 14 15 16 +17 18 19 19 20 21 22 22 23 24 +17 18 19 19 20 21 22 22 23 24 +17 18 19 19 20 21 22 22 23 24 +25 26 27 27 28 29 30 30 31 32 +25 26 27 27 28 29 30 30 31 32 +25 26 27 27 28 29 30 30 31 32 +33 34 35 35 36 37 38 38 39 40 +33 34 35 35 36 37 38 38 39 40 diff --git a/python/tests/reference/Geom/scale_grid=10-20-2.geom b/python/tests/reference/Geom/scale_grid=10-20-2.geom index 6b1888f17..3dcc4ff0c 100644 --- a/python/tests/reference/Geom/scale_grid=10-20-2.geom +++ b/python/tests/reference/Geom/scale_grid=10-20-2.geom @@ -3,43 +3,43 @@ grid a 10 b 20 c 2 size x 8e-06 y 5e-06 z 4e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 - 1 1 2 2 22 2 2 2 1 21 - 1 1 2 2 22 2 2 2 1 21 - 1 1 2 2 22 2 2 2 1 21 - 1 1 6 6 26 2 2 2 5 25 - 1 1 6 6 26 2 2 2 5 25 - 1 1 6 6 26 2 2 2 5 25 - 1 1 6 6 26 2 2 2 5 25 - 1 1 6 6 26 2 2 2 5 25 - 1 1 10 10 30 2 2 2 9 29 - 1 1 10 10 30 2 2 2 9 29 - 1 1 10 10 30 2 2 2 9 29 - 1 1 10 10 30 2 2 2 9 29 - 1 1 14 14 34 2 2 2 13 33 - 1 1 14 14 34 2 2 2 13 33 - 1 1 14 14 34 2 2 2 13 33 - 1 1 14 14 34 2 2 2 13 33 - 1 1 14 14 34 2 2 2 13 33 - 1 1 18 18 38 2 2 2 17 37 - 1 1 18 18 38 2 2 2 17 37 - 1 1 18 18 38 2 2 2 17 37 - 1 1 5 5 25 2 2 2 4 24 - 1 1 5 5 25 2 2 2 4 24 - 1 1 5 5 25 2 2 2 4 24 - 1 1 9 9 29 2 2 2 8 28 - 1 1 9 9 29 2 2 2 8 28 - 1 1 9 9 29 2 2 2 8 28 - 1 1 9 9 29 2 2 2 8 28 - 1 1 9 9 29 2 2 2 8 28 - 1 1 13 13 33 2 2 2 12 32 - 1 1 13 13 33 2 2 2 12 32 - 1 1 13 13 33 2 2 2 12 32 - 1 1 13 13 33 2 2 2 12 32 - 1 1 17 17 37 2 2 2 16 36 - 1 1 17 17 37 2 2 2 16 36 - 1 1 17 17 37 2 2 2 16 36 - 1 1 17 17 37 2 2 2 16 36 - 1 1 17 17 37 2 2 2 16 36 - 1 1 21 21 41 2 2 2 20 40 - 1 1 21 21 41 2 2 2 20 40 - 1 1 21 21 41 2 2 2 20 40 + 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 + 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 + 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 + 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 + 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 + 1 2 3 3 4 5 6 6 7 8 + 1 2 3 3 4 5 6 6 7 8 + 1 2 3 3 4 5 6 6 7 8 + 9 10 11 11 12 13 14 14 15 16 + 9 10 11 11 12 13 14 14 15 16 + 9 10 11 11 12 13 14 14 15 16 + 9 10 11 11 12 13 14 14 15 16 + 9 10 11 11 12 13 14 14 15 16 +17 18 19 19 20 21 22 22 23 24 +17 18 19 19 20 21 22 22 23 24 +17 18 19 19 20 21 22 22 23 24 +17 18 19 19 20 21 22 22 23 24 +25 26 27 27 28 29 30 30 31 32 +25 26 27 27 28 29 30 30 31 32 +25 26 27 27 28 29 30 30 31 32 +25 26 27 27 28 29 30 30 31 32 +25 26 27 27 28 29 30 30 31 32 +33 34 35 35 36 37 38 38 39 40 +33 34 35 35 36 37 38 38 39 40 +33 34 35 35 36 37 38 38 39 40 diff --git a/python/tests/reference/Geom/scale_grid=5-4-20.geom b/python/tests/reference/Geom/scale_grid=5-4-20.geom index 043683f6a..16f243bd2 100644 --- a/python/tests/reference/Geom/scale_grid=5-4-20.geom +++ b/python/tests/reference/Geom/scale_grid=5-4-20.geom @@ -3,83 +3,83 @@ grid a 5 b 4 c 20 size x 8e-06 y 5e-06 z 4e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 - 1 2 2 2 21 - 1 6 2 2 25 - 1 14 2 2 33 - 1 18 2 2 37 - 1 2 2 2 21 - 1 6 2 2 25 - 1 14 2 2 33 - 1 18 2 2 37 - 1 2 2 2 21 - 1 6 2 2 25 - 1 14 2 2 33 - 1 18 2 2 37 - 1 2 2 2 21 - 1 6 2 2 25 - 1 14 2 2 33 - 1 18 2 2 37 - 1 3 2 2 22 - 1 7 2 2 26 - 1 15 2 2 34 - 1 19 2 2 38 - 1 3 2 2 22 - 1 7 2 2 26 - 1 15 2 2 34 - 1 19 2 2 38 - 1 3 2 2 22 - 1 7 2 2 26 - 1 15 2 2 34 - 1 19 2 2 38 - 1 3 2 2 22 - 1 7 2 2 26 - 1 15 2 2 34 - 1 19 2 2 38 - 1 3 2 2 22 - 1 7 2 2 26 - 1 15 2 2 34 - 1 19 2 2 38 - 1 3 2 2 22 - 1 7 2 2 26 - 1 15 2 2 34 - 1 19 2 2 38 - 1 4 2 2 23 - 1 8 2 2 27 - 1 16 2 2 35 - 1 20 2 2 39 - 1 4 2 2 23 - 1 8 2 2 27 - 1 16 2 2 35 - 1 20 2 2 39 - 1 4 2 2 23 - 1 8 2 2 27 - 1 16 2 2 35 - 1 20 2 2 39 - 1 4 2 2 23 - 1 8 2 2 27 - 1 16 2 2 35 - 1 20 2 2 39 - 1 4 2 2 23 - 1 8 2 2 27 - 1 16 2 2 35 - 1 20 2 2 39 - 1 4 2 2 23 - 1 8 2 2 27 - 1 16 2 2 35 - 1 20 2 2 39 - 1 5 2 2 24 - 1 9 2 2 28 - 1 17 2 2 36 - 1 21 2 2 40 - 1 5 2 2 24 - 1 9 2 2 28 - 1 17 2 2 36 - 1 21 2 2 40 - 1 5 2 2 24 - 1 9 2 2 28 - 1 17 2 2 36 - 1 21 2 2 40 - 1 5 2 2 24 - 1 9 2 2 28 - 1 17 2 2 36 - 1 21 2 2 40 + 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 + 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 + 2 4 6 7 9 +10 12 14 15 17 +26 28 30 31 33 +34 36 38 39 41 + 2 4 6 7 9 +10 12 14 15 17 +26 28 30 31 33 +34 36 38 39 41 + 2 4 6 7 9 +10 12 14 15 17 +26 28 30 31 33 +34 36 38 39 41 + 2 4 6 7 9 +10 12 14 15 17 +26 28 30 31 33 +34 36 38 39 41 + 2 4 6 7 9 +10 12 14 15 17 +26 28 30 31 33 +34 36 38 39 41 + 2 4 6 7 9 +10 12 14 15 17 +26 28 30 31 33 +34 36 38 39 41 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 2 2 2 2 2 + 1 3 5 6 8 + 9 11 13 14 16 +25 27 29 30 32 +33 35 37 38 40 + 1 3 5 6 8 + 9 11 13 14 16 +25 27 29 30 32 +33 35 37 38 40 + 1 3 5 6 8 + 9 11 13 14 16 +25 27 29 30 32 +33 35 37 38 40 + 1 3 5 6 8 + 9 11 13 14 16 +25 27 29 30 32 +33 35 37 38 40 diff --git a/python/tests/reference/Geom/scale_grid=8-10-12.geom b/python/tests/reference/Geom/scale_grid=8-10-12.geom index 5cfe66aba..439c1bee0 100644 --- a/python/tests/reference/Geom/scale_grid=8-10-12.geom +++ b/python/tests/reference/Geom/scale_grid=8-10-12.geom @@ -3,123 +3,123 @@ grid a 8 b 10 c 12 size x 8e-06 y 5e-06 z 4e-06 origin x 0.0 y 0.0 z 0.0 homogenization 1 - 1 1 2 22 2 2 1 21 - 1 1 2 22 2 2 1 21 - 1 1 6 26 2 2 5 25 - 1 1 6 26 2 2 5 25 - 1 1 10 30 2 2 9 29 - 1 1 10 30 2 2 9 29 - 1 1 14 34 2 2 13 33 - 1 1 14 34 2 2 13 33 - 1 1 18 38 2 2 17 37 - 1 1 18 38 2 2 17 37 - 1 1 2 22 2 2 1 21 - 1 1 2 22 2 2 1 21 - 1 1 6 26 2 2 5 25 - 1 1 6 26 2 2 5 25 - 1 1 10 30 2 2 9 29 - 1 1 10 30 2 2 9 29 - 1 1 14 34 2 2 13 33 - 1 1 14 34 2 2 13 33 - 1 1 18 38 2 2 17 37 - 1 1 18 38 2 2 17 37 - 1 1 3 23 2 2 2 22 - 1 1 3 23 2 2 2 22 - 1 1 7 27 2 2 6 26 - 1 1 7 27 2 2 6 26 - 1 1 11 31 2 2 10 30 - 1 1 11 31 2 2 10 30 - 1 1 15 35 2 2 14 34 - 1 1 15 35 2 2 14 34 - 1 1 19 39 2 2 18 38 - 1 1 19 39 2 2 18 38 - 1 1 3 23 2 2 2 22 - 1 1 3 23 2 2 2 22 - 1 1 7 27 2 2 6 26 - 1 1 7 27 2 2 6 26 - 1 1 11 31 2 2 10 30 - 1 1 11 31 2 2 10 30 - 1 1 15 35 2 2 14 34 - 1 1 15 35 2 2 14 34 - 1 1 19 39 2 2 18 38 - 1 1 19 39 2 2 18 38 - 1 1 3 23 2 2 2 22 - 1 1 3 23 2 2 2 22 - 1 1 7 27 2 2 6 26 - 1 1 7 27 2 2 6 26 - 1 1 11 31 2 2 10 30 - 1 1 11 31 2 2 10 30 - 1 1 15 35 2 2 14 34 - 1 1 15 35 2 2 14 34 - 1 1 19 39 2 2 18 38 - 1 1 19 39 2 2 18 38 - 1 1 3 23 2 2 2 22 - 1 1 3 23 2 2 2 22 - 1 1 7 27 2 2 6 26 - 1 1 7 27 2 2 6 26 - 1 1 11 31 2 2 10 30 - 1 1 11 31 2 2 10 30 - 1 1 15 35 2 2 14 34 - 1 1 15 35 2 2 14 34 - 1 1 19 39 2 2 18 38 - 1 1 19 39 2 2 18 38 - 1 1 4 24 2 2 3 23 - 1 1 4 24 2 2 3 23 - 1 1 8 28 2 2 7 27 - 1 1 8 28 2 2 7 27 - 1 1 12 32 2 2 11 31 - 1 1 12 32 2 2 11 31 - 1 1 16 36 2 2 15 35 - 1 1 16 36 2 2 15 35 - 1 1 20 40 2 2 19 39 - 1 1 20 40 2 2 19 39 - 1 1 4 24 2 2 3 23 - 1 1 4 24 2 2 3 23 - 1 1 8 28 2 2 7 27 - 1 1 8 28 2 2 7 27 - 1 1 12 32 2 2 11 31 - 1 1 12 32 2 2 11 31 - 1 1 16 36 2 2 15 35 - 1 1 16 36 2 2 15 35 - 1 1 20 40 2 2 19 39 - 1 1 20 40 2 2 19 39 - 1 1 4 24 2 2 3 23 - 1 1 4 24 2 2 3 23 - 1 1 8 28 2 2 7 27 - 1 1 8 28 2 2 7 27 - 1 1 12 32 2 2 11 31 - 1 1 12 32 2 2 11 31 - 1 1 16 36 2 2 15 35 - 1 1 16 36 2 2 15 35 - 1 1 20 40 2 2 19 39 - 1 1 20 40 2 2 19 39 - 1 1 4 24 2 2 3 23 - 1 1 4 24 2 2 3 23 - 1 1 8 28 2 2 7 27 - 1 1 8 28 2 2 7 27 - 1 1 12 32 2 2 11 31 - 1 1 12 32 2 2 11 31 - 1 1 16 36 2 2 15 35 - 1 1 16 36 2 2 15 35 - 1 1 20 40 2 2 19 39 - 1 1 20 40 2 2 19 39 - 1 1 5 25 2 2 4 24 - 1 1 5 25 2 2 4 24 - 1 1 9 29 2 2 8 28 - 1 1 9 29 2 2 8 28 - 1 1 13 33 2 2 12 32 - 1 1 13 33 2 2 12 32 - 1 1 17 37 2 2 16 36 - 1 1 17 37 2 2 16 36 - 1 1 21 41 2 2 20 40 - 1 1 21 41 2 2 20 40 - 1 1 5 25 2 2 4 24 - 1 1 5 25 2 2 4 24 - 1 1 9 29 2 2 8 28 - 1 1 9 29 2 2 8 28 - 1 1 13 33 2 2 12 32 - 1 1 13 33 2 2 12 32 - 1 1 17 37 2 2 16 36 - 1 1 17 37 2 2 16 36 - 1 1 21 41 2 2 20 40 - 1 1 21 41 2 2 20 40 + 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 + 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 + 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 + 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 + 2 3 4 5 6 7 8 9 + 2 3 4 5 6 7 8 9 +10 11 12 13 14 15 16 17 +10 11 12 13 14 15 16 17 +18 19 20 21 22 23 24 25 +18 19 20 21 22 23 24 25 +26 27 28 29 30 31 32 33 +26 27 28 29 30 31 32 33 +34 35 36 37 38 39 40 41 +34 35 36 37 38 39 40 41 + 2 3 4 5 6 7 8 9 + 2 3 4 5 6 7 8 9 +10 11 12 13 14 15 16 17 +10 11 12 13 14 15 16 17 +18 19 20 21 22 23 24 25 +18 19 20 21 22 23 24 25 +26 27 28 29 30 31 32 33 +26 27 28 29 30 31 32 33 +34 35 36 37 38 39 40 41 +34 35 36 37 38 39 40 41 + 2 3 4 5 6 7 8 9 + 2 3 4 5 6 7 8 9 +10 11 12 13 14 15 16 17 +10 11 12 13 14 15 16 17 +18 19 20 21 22 23 24 25 +18 19 20 21 22 23 24 25 +26 27 28 29 30 31 32 33 +26 27 28 29 30 31 32 33 +34 35 36 37 38 39 40 41 +34 35 36 37 38 39 40 41 + 2 3 4 5 6 7 8 9 + 2 3 4 5 6 7 8 9 +10 11 12 13 14 15 16 17 +10 11 12 13 14 15 16 17 +18 19 20 21 22 23 24 25 +18 19 20 21 22 23 24 25 +26 27 28 29 30 31 32 33 +26 27 28 29 30 31 32 33 +34 35 36 37 38 39 40 41 +34 35 36 37 38 39 40 41 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 1 2 3 4 5 6 7 8 + 1 2 3 4 5 6 7 8 + 9 10 11 12 13 14 15 16 + 9 10 11 12 13 14 15 16 +17 18 19 20 21 22 23 24 +17 18 19 20 21 22 23 24 +25 26 27 28 29 30 31 32 +25 26 27 28 29 30 31 32 +33 34 35 36 37 38 39 40 +33 34 35 36 37 38 39 40 + 1 2 3 4 5 6 7 8 + 1 2 3 4 5 6 7 8 + 9 10 11 12 13 14 15 16 + 9 10 11 12 13 14 15 16 +17 18 19 20 21 22 23 24 +17 18 19 20 21 22 23 24 +25 26 27 28 29 30 31 32 +25 26 27 28 29 30 31 32 +33 34 35 36 37 38 39 40 +33 34 35 36 37 38 39 40 diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 04fb323c1..01e655823 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -19,7 +19,7 @@ def default(): x=np.concatenate((np.ones(40,dtype=int), np.arange(2,42), np.ones(40,dtype=int)*2, - np.arange(1,41))).reshape(8,5,4) + np.arange(1,41))).reshape(8,5,4,order='F') return Geom(x,[8e-6,5e-6,4e-6]) @pytest.fixture From 0c6ce390b5c5edbd575e110c159900c8056b7fd7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 20:35:50 +0200 Subject: [PATCH 439/958] simple IO tests can be improved ... --- python/tests/test_Geom.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 01e655823..95d1a8f98 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -44,12 +44,12 @@ class TestGeom: def test_set_microstructure(self,default,masked): old = default.get_microstructure() new = np.random.randint(200,size=default.grid) - default.set_microstructure(np.ma.MaskedArray(new,np.full_like(new,masked))) + default.set_microstructure(np.ma.MaskedArray(new,np.full_like(new,masked))) if masked: assert np.all(default.microstructure==old) else: assert np.all(default.microstructure==new) - + def test_write_read_str(self,default,tmpdir): default.to_file(str(tmpdir.join('default.geom'))) @@ -63,6 +63,16 @@ class TestGeom: new = Geom.from_file(f) assert geom_equal(new,default) + def test_write_show(self,default,tmpdir): + with open(tmpdir.join('str.geom'),'w') as f: + f.write(default.show()) + with open(tmpdir.join('str.geom')) as f: + new = Geom.from_file(f) + assert geom_equal(new,default) + + def test_export_vtk(self,default,tmpdir): + default.to_vtk(str(tmpdir.join('default'))) + @pytest.mark.parametrize('pack',[True,False]) def test_pack(self,default,tmpdir,pack): default.to_file(tmpdir.join('default.geom'),pack=pack) @@ -181,7 +191,7 @@ class TestGeom: modified.canvas(modified.grid + grid_add) e = default.grid assert np.all(modified.microstructure[:e[0],:e[1],:e[2]] == default.microstructure) - + @pytest.mark.parametrize('center',[np.random.random(3)*.5, np.random.randint(4,10,(3))]) @pytest.mark.parametrize('diameter',[np.random.random(3)*.5, @@ -201,7 +211,7 @@ class TestGeom: def test_vicinity_offset(self,trigger): offset = np.random.randint(2,4) vicinity = np.random.randint(2,4) - + g=np.random.randint(28,40,(3)) m=np.ones(g,'i') x=(g*np.random.permutation(np.array([.5,1,1]))).astype('i') @@ -212,18 +222,18 @@ class TestGeom: m2[(np.roll(m,-vicinity,i)-m)!=0] +=offset if len(trigger) > 0: m2[m==1]=1 - + geom = Geom(m,np.random.rand(3)) geom.vicinity_offset(vicinity,offset,trigger=trigger) - + assert np.all(m2==geom.microstructure) @pytest.mark.parametrize('periodic',[True,False]) def test_vicinity_offset_invariant(self,default,periodic): old = default.get_microstructure() - default.vicinity_offset(trigger=[old.max()+1,old.min()-1]) + default.vicinity_offset(trigger=[old.max()+1,old.min()-1]) assert np.all(old==default.microstructure) - + @pytest.mark.parametrize('periodic',[True,False]) def test_tessellation_approaches(self,periodic): grid = np.random.randint(10,20,3) From 309c53dc97e5fb9da4d883c5d1affbb67cfa383a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 20:46:46 +0200 Subject: [PATCH 440/958] now a library function --- PRIVATE | 2 +- processing/pre/geom_addPrimitive.py | 75 --------------------------- processing/pre/geom_vicinityOffset.py | 65 ----------------------- 3 files changed, 1 insertion(+), 141 deletions(-) delete mode 100755 processing/pre/geom_addPrimitive.py delete mode 100755 processing/pre/geom_vicinityOffset.py diff --git a/PRIVATE b/PRIVATE index 3fc9d58a3..a52584687 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 3fc9d58a35614fd8ffa1179e634431eb457d0150 +Subproject commit a52584687a93b9f007cf019861fce68eb31451ab diff --git a/processing/pre/geom_addPrimitive.py b/processing/pre/geom_addPrimitive.py deleted file mode 100755 index 318810a01..000000000 --- a/processing/pre/geom_addPrimitive.py +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env python3 - -import os -from optparse import OptionParser - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -#-------------------------------------------------------------------------------------------------- -# MAIN -#-------------------------------------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [geomfile(s)]', description = """ -Inserts a primitive geometric object at a given position. -These objects can be boxes, cylinders, or ellipsoids. - -""", version = scriptID) - -parser.add_option('-c', '--center', - dest='center', - type='float', nargs = 3, metavar=' '.join(['float']*3), - help='a,b,c origin of primitive %default') -parser.add_option('-d', '--dimension', - dest='dimension', - type='float', nargs = 3, metavar=' '.join(['float']*3), - help='a,b,c extension of hexahedral box') -parser.add_option('-e', '--exponent', - dest='exponent', - type='float', nargs = 3, metavar=' '.join(['float']*3), - help='i,j,k exponents for axes: '+ - '0 gives octahedron (|x|^(2^0) + |y|^(2^0) + |z|^(2^0) < 1), '+ - '1 gives a sphere (|x|^(2^1) + |y|^(2^1) + |z|^(2^1) < 1), '+ - 'large values produce boxes, negative turn concave.') -parser.add_option('-f', '--fill', - dest='fill', - type='float', metavar = 'int', - help='microstructure index to fill primitive, defaults to max microstructure index + 1') -parser.add_option('-q', '--quaternion', - dest='quaternion', - type='float', nargs = 4, metavar=' '.join(['float']*4), - help = 'rotation of primitive as quaternion') -parser.add_option('-a', '--angleaxis', - dest='angleaxis', - type=float, nargs = 4, metavar=' '.join(['float']*4), - help = 'axis and angle to rotate primitive') -parser.add_option( '--degrees', - dest='degrees', - action='store_true', - help = 'angle is given in degrees') -parser.add_option( '--nonperiodic', - dest='periodic', - action='store_false', - help = 'wrap around edges') -parser.add_option( '--realspace', - dest='realspace', - action='store_true', - help = '-c and -d span [origin,origin+size] instead of [0,grid] coordinates') -parser.add_option( '--invert', - dest='inside', - action='store_false', - help = 'invert the volume filled by the primitive (inside/outside)') - -parser.set_defaults(center = (.0,.0,.0), - degrees = False, - exponent = (20,20,20), # box shape by default - periodic = True, - realspace = False, - inside = True, - ) - -print('This script is broken and does nothing') diff --git a/processing/pre/geom_vicinityOffset.py b/processing/pre/geom_vicinityOffset.py deleted file mode 100755 index 650e0093a..000000000 --- a/processing/pre/geom_vicinityOffset.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -#-------------------------------------------------------------------------------------------------- -# MAIN -#-------------------------------------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [geomfile(s)]', description = """ -Offset microstructure index for points which see a microstructure different from themselves -(or listed as triggers) within a given (cubic) vicinity, i.e. within the region close to a grain/phase boundary. - -""", version = scriptID) - -parser.add_option('-v', '--vicinity', - dest = 'vicinity', - type = 'int', metavar = 'int', - help = 'voxel distance checked for presence of other microstructure [%default]') -parser.add_option('-o', '--offset', - dest='offset', - type = 'int', metavar = 'int', - help='offset (positive or negative) to tag microstructure indices, defaults to max microstructure index') -parser.add_option('-t', '--trigger', - dest = 'trigger', - action = 'extend', metavar = '', - help = 'list of microstructure indices triggering a change') -parser.add_option('-n', '--nonperiodic', - dest = 'mode', - action = 'store_const', const = 'nearest', - help = 'assume geometry to be non-periodic') - -parser.set_defaults(vicinity = 1, - trigger = [], - mode = 'wrap', - ) - -(options, filenames) = parser.parse_args() - -options.trigger = np.array(options.trigger, dtype=int) - - -if filenames == []: filenames = [None] - -for name in filenames: - damask.util.report(scriptName,name) - - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - - damask.util.croak(geom.vicinity_offset(options.vicinity,options.offset,options.trigger, - True if options.mode is 'wrap' else False)) - geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - - geom.to_file(sys.stdout if name is None else name,pack=False) From ff7eed4477c4c4496a5a6ac75d42eaf1af8506e0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 20:56:17 +0200 Subject: [PATCH 441/958] (unified) type hints --- python/damask/_colormap.py | 2 +- python/damask/_geom.py | 14 +++++++------- python/damask/_rotation.py | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 99332821d..ec4000018 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -51,7 +51,7 @@ class Colormap(mpl.colors.ListedColormap): Color definition for minimum value. high : numpy.ndarray of shape (3) Color definition for maximum value. - N : integer, optional + N : int, optional The number of color quantization levels. Defaults to 256. name : str, optional The name of the colormap. Defaults to `DAMASK colormap`. diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 0aed3a113..3fec15fdd 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -28,7 +28,7 @@ class Geom: physical size of the microstructure in meter. origin : list or numpy.ndarray, optional physical origin of the microstructure in meter. - homogenization : integer, optional + homogenization : int, optional homogenization index. comments : list of str, optional comments lines. @@ -210,7 +210,7 @@ class Geom: Parameters ---------- - homogenization : integer + homogenization : int homogenization index """ @@ -345,7 +345,7 @@ class Geom: Parameters ---------- - grid : numpy.ndarray of shape (3) + grid : int numpy.ndarray of shape (3) Number of grid points in x,y,z direction. size : list or numpy.ndarray of shape (3) Physical size of the microstructure in meter. @@ -391,7 +391,7 @@ class Geom: Parameters ---------- - grid : numpy.ndarray of shape (3) + grid : int numpy.ndarray of shape (3) Number of grid points in x,y,z direction. size : list or numpy.ndarray of shape (3) Physical size of the microstructure in meter. @@ -509,11 +509,11 @@ class Geom: Parameters ---------- - dimension : numpy.ndarray of shape(3) + dimension : int or float numpy.ndarray of shape(3) Dimension (diameter/side length) of the primitive. If given as integers, grid point locations (cell centers) are addressed. If given as floats, coordinates are addressed. - center : numpy.ndarray of shape(3) + center : int or float numpy.ndarray of shape(3) Center of the primitive. If given as integers, grid point locations (cell centers) are addressed. If given as floats, coordinates are addressed. @@ -521,7 +521,7 @@ class Geom: Exponents for the three axis. 0 gives octahedron (|x|^(2^0) + |y|^(2^0) + |z|^(2^0) < 1) 1 gives a sphere (|x|^(2^1) + |y|^(2^1) + |z|^(2^1) < 1) - fill : integer, optional + fill : int, optional Fill value for primitive. Defaults to microstructure.max() + 1. R : damask.Rotation, optional Rotation of primitive. Defaults to no rotation. diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 4c01bd430..9ee7fd5cc 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -357,7 +357,7 @@ class Rotation: accept_homomorph : boolean, optional Allow homomorphic variants, i.e. q_0 < 0 (negative real hemisphere). Defaults to False. - P : integer ∈ {-1,1}, optional + P : int ∈ {-1,1}, optional Convention used. Defaults to -1. """ @@ -422,7 +422,7 @@ class Rotation: Angle ω is given in degrees. Defaults to False. normalize: boolean, optional Allow |n| ≠ 1. Defaults to False. - P : integer ∈ {-1,1}, optional + P : int ∈ {-1,1}, optional Convention used. Defaults to -1. """ @@ -505,7 +505,7 @@ class Rotation: (n_1, n_2, n_3, tan(ω/2)), |n| = 1 and ω ∈ [0,π]. normalize : boolean, optional Allow |n| ≠ 1. Defaults to False. - P : integer ∈ {-1,1}, optional + P : int ∈ {-1,1}, optional Convention used. Defaults to -1. """ @@ -534,7 +534,7 @@ class Rotation: ---------- h : numpy.ndarray of shape (...,3) Homochoric vector: (h_1, h_2, h_3), |h| < (3/4*π)^(1/3). - P : integer ∈ {-1,1}, optional + P : int ∈ {-1,1}, optional Convention used. Defaults to -1. """ @@ -561,7 +561,7 @@ class Rotation: ---------- c : numpy.ndarray of shape (...,3) Cubochoric vector: (c_1, c_2, c_3), max(c_i) < 1/2*π^(2/3). - P : integer ∈ {-1,1}, optional + P : int ∈ {-1,1}, optional Convention used. Defaults to -1. """ From 2ef20df89f97432baea7dd1b26a8747a5d79a7c6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 22:34:19 +0200 Subject: [PATCH 442/958] same functionality is available in geom class is anyway just a call no scipy.ndimage --- processing/post/averageDown.py | 98 ---------------------------------- processing/post/blowUp.py | 72 ------------------------- 2 files changed, 170 deletions(-) delete mode 100755 processing/post/averageDown.py delete mode 100755 processing/post/blowUp.py diff --git a/processing/post/averageDown.py b/processing/post/averageDown.py deleted file mode 100755 index 341cc748d..000000000 --- a/processing/post/averageDown.py +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import numpy as np -import scipy.ndimage - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Average each data block of size 'packing' into single values thus reducing the former grid to grid/packing. - -""", version = scriptID) - -parser.add_option('-c','--coordinates', - dest = 'pos', - type = 'string', metavar = 'string', - help = 'column label of coordinates [%default]') -parser.add_option('-p','--packing', - dest = 'packing', - type = 'int', nargs = 3, metavar = 'int int int', - help = 'size of packed group [%default]') -parser.add_option('--shift', - dest = 'shift', - type = 'int', nargs = 3, metavar = 'int int int', - help = 'shift vector of packing stencil [%default]') -parser.add_option('-g', '--grid', - dest = 'grid', - type = 'int', nargs = 3, metavar = 'int int int', - help = 'grid in x,y,z (optional)') -parser.add_option('-s', '--size', - dest = 'size', - type = 'float', nargs = 3, metavar = 'float float float', - help = 'size in x,y,z (optional)') -parser.set_defaults(pos = 'pos', - packing = (2,2,2), - shift = (0,0,0), - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -packing = np.array(options.packing,dtype = int) -shift = np.array(options.shift, dtype = int) - -prefix = 'averagedDown{}x{}x{}_'.format(*packing) -if any(shift != 0): prefix += 'shift{:+}{:+}{:+}_'.format(*shift) - - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - - if (options.grid is None or options.size is None): - grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) - else: - grid = np.array(options.grid,'i') - size = np.array(options.size,'d') - - packing = np.where(grid == 1,1,packing) # reset packing to 1 where grid==1 - shift = np.where(grid == 1,0,shift) # reset shift to 0 where grid==1 - packedGrid = np.maximum(np.ones(3,'i'),grid//packing) - - data = table.data.values.reshape(tuple(grid)+(-1,),order = 'F') - averagedDown = scipy.ndimage.filters.uniform_filter( \ - np.roll( - np.roll( - np.roll(data, - -shift[0],axis = 0), - -shift[1],axis = 1), - -shift[2],axis = 2), - size = list(packing) + [1], - mode = 'wrap', - origin = list(-(packing//2)) + [0])\ - [::packing[0],::packing[1],::packing[2],:].reshape((packedGrid.prod(),-1),order = 'F') - - - table = damask.Table(averagedDown,table.shapes,table.comments) - - coords = damask.grid_filters.cell_coord0(packedGrid,size,shift/packedGrid*size+origin) - table.set(options.pos, coords.reshape(-1,3,order='F')) - - - outname = os.path.join(os.path.dirname(name),prefix+os.path.basename(name)) - table.to_ASCII(sys.stdout if name is None else outname) diff --git a/processing/post/blowUp.py b/processing/post/blowUp.py deleted file mode 100755 index 23c6b2ef2..000000000 --- a/processing/post/blowUp.py +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -from scipy import ndimage -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Blows up each value to a surrounding data block of size 'packing' thus increasing the former resolution -to resolution*packing. - -""", version = scriptID) - -parser.add_option('-c','--coordinates', - dest = 'pos', metavar = 'string', - help = 'column label of coordinates [%default]') -parser.add_option('-p','--packing', - dest = 'packing', type = 'int', nargs = 3, metavar = 'int int int', - help = 'dimension of packed group [%default]') -parser.add_option('-g','--grid', - dest = 'resolution', type = 'int', nargs = 3, metavar = 'int int int', - help = 'grid in x,y,z (optional)') -parser.add_option('-s','--size', - dest = 'dimension', type = 'float', nargs = 3, metavar = 'int int int', - help = 'size in x,y,z (optional)') -parser.set_defaults(pos = 'pos', - packing = (2,2,2), - grid = (0,0,0), - size = (0.0,0.0,0.0), - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -options.packing = np.array(options.packing) -prefix = 'blowUp{}x{}x{}_'.format(*options.packing) - - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) - - packing = np.array(options.packing,'i') - outSize = grid*packing - - data = table.data.values.reshape(tuple(grid)+(-1,),order='F') - blownUp = ndimage.interpolation.zoom(data,tuple(packing)+(1,),order=0,mode='nearest').reshape(outSize.prod(),-1,order='F') - - table = damask.Table(blownUp,table.shapes,table.comments) - - coords = damask.grid_filters.cell_coord0(outSize,size,origin) - table.set(options.pos,coords.reshape(-1,3,order='F')) - table.set('elem',np.arange(1,outSize.prod()+1)) - - outname = os.path.join(os.path.dirname(name),prefix+os.path.basename(name)) - table.to_ASCII(sys.stdout if name is None else outname) From 7499b57f1795a191d1c3d30a9c9f82178eda474c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 9 Aug 2020 05:59:58 +0200 Subject: [PATCH 443/958] test does not exist anymore --- .gitlab-ci.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a37313dc6..a88b330bd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -141,13 +141,6 @@ Pre_General: - release ################################################################################################### -Post_AverageDown: - stage: postprocessing - script: averageDown/test.py - except: - - master - - release - Post_ASCIItable: stage: postprocessing script: ASCIItable/test.py From 28bc1fae50f5362662b52d7444fa3b576d7e4bba Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 9 Aug 2020 06:17:14 +0200 Subject: [PATCH 444/958] don't repeat code --- src/system_routines.f90 | 102 ++++++++++++++++++++++------------------ 1 file changed, 55 insertions(+), 47 deletions(-) diff --git a/src/system_routines.f90 b/src/system_routines.f90 index 6dc1318e4..913fe82c8 100644 --- a/src/system_routines.f90 +++ b/src/system_routines.f90 @@ -95,14 +95,8 @@ contains logical function isDirectory(path) character(len=*), intent(in) :: path - character(kind=C_CHAR), dimension(pPathLen) :: strFixedLength ! C string as array - integer :: i - - strFixedLength = repeat(C_NULL_CHAR,len(strFixedLength)) - do i=1,len(path) ! copy array components - strFixedLength(i)=path(i:i) - enddo - isDirectory=merge(.True.,.False.,isDirectory_C(strFixedLength) /= 0_C_INT) + + isDirectory=merge(.True.,.False.,isDirectory_C(f_c_string(path)) /= 0_C_INT) end function isDirectory @@ -112,26 +106,15 @@ end function isDirectory !-------------------------------------------------------------------------------------------------- function getCWD() - character(kind=C_CHAR), dimension(pPathLen) :: charArray ! C string is an array + character(kind=C_CHAR), dimension(pPathLen) :: getCWD_Cstring character(len=:), allocatable :: getCWD integer(C_INT) :: stat - integer :: i - call getCurrentWorkDir_C(charArray,stat) + call getCurrentWorkDir_C(getCWD_Cstring,stat) - if (stat /= 0_C_INT) then - getCWD = 'Error occured when getting currend working directory' - else - allocate(character(len=pPathLen)::getCWD) - arrayToString: do i=1,len(getCWD) - if (charArray(i) /= C_NULL_CHAR) then - getCWD(i:i)=charArray(i) - else - getCWD = getCWD(:i-1) - exit - endif - enddo arrayToString - endif + getCWD = merge(c_f_string(getCWD_Cstring), & + 'Error occured when getting currend working directory', & + stat == 0_C_INT) end function getCWD @@ -141,26 +124,15 @@ end function getCWD !-------------------------------------------------------------------------------------------------- function getHostName() - character(kind=C_CHAR), dimension(pPathLen) :: charArray ! C string is an array + character(kind=C_CHAR), dimension(pPathLen) :: getHostName_Cstring character(len=:), allocatable :: getHostName integer(C_INT) :: stat - integer :: i - call getHostName_C(charArray,stat) + call getHostName_C(getHostName_Cstring,stat) - if (stat /= 0_C_INT) then - getHostName = 'Error occured when getting host name' - else - allocate(character(len=pPathLen)::getHostName) - arrayToString: do i=1,len(getHostName) - if (charArray(i) /= C_NULL_CHAR) then - getHostName(i:i)=charArray(i) - else - getHostName = getHostName(:i-1) - exit - endif - enddo arrayToString - endif + getHostName = merge(c_f_string(getHostName_Cstring), & + 'Error occured when getting host name', & + stat == 0_C_INT) end function getHostName @@ -171,16 +143,52 @@ end function getHostName logical function setCWD(path) character(len=*), intent(in) :: path - character(kind=C_CHAR), dimension(pPathLen) :: strFixedLength ! C string is an array - integer :: i - strFixedLength = repeat(C_NULL_CHAR,len(strFixedLength)) - do i=1,len(path) ! copy array components - strFixedLength(i)=path(i:i) - enddo - setCWD=merge(.True.,.False.,chdir_C(strFixedLength) /= 0_C_INT) + setCWD=merge(.True.,.False.,chdir_C(f_c_string(path)) /= 0_C_INT) end function setCWD + +!-------------------------------------------------------------------------------------------------- +!> @brief convert C string to Fortran string +!> @details: C string is NULL terminated and, hence, longer by one than the Fortran string +!-------------------------------------------------------------------------------------------------- +pure function c_f_string(c_string) result(f_string) + + character(kind=C_CHAR), dimension(:), intent(in) :: c_string + character(len=:), allocatable :: f_string + integer :: i + + allocate(character(len=size(c_string))::f_string) + arrayToString: do i=1,len(f_string) + if (c_string(i) /= C_NULL_CHAR) then + f_string(i:i)=c_string(i) + else + f_string = f_string(:i-1) + exit + endif + enddo arrayToString + +end function c_f_string + + +!-------------------------------------------------------------------------------------------------- +!> @brief convert Fortran string to C string +!> @details: C string is NULL terminated and, hence, longer by one than the Fortran string +!-------------------------------------------------------------------------------------------------- +pure function f_c_string(f_string) result(c_string) + + character(len=*), intent(in) :: f_string + character(kind=C_CHAR), dimension(len(f_string)+1) :: c_string + integer :: i + + do i=1,len(f_string) + c_string(i)=f_string(i:i) + enddo + c_string(i) = C_NULL_CHAR + +end function f_c_string + + end module system_routines From 93adee25813ececdee369a0142cf5bf14f1d61a6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 9 Aug 2020 06:27:29 +0200 Subject: [PATCH 445/958] no need to have fixed string here --- src/HDF5_utilities.f90 | 51 +++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/src/HDF5_utilities.f90 b/src/HDF5_utilities.f90 index a0c3b4e81..f099b0542 100644 --- a/src/HDF5_utilities.f90 +++ b/src/HDF5_utilities.f90 @@ -246,7 +246,8 @@ end function HDF5_openGroup subroutine HDF5_closeGroup(group_id) integer(HID_T), intent(in) :: group_id - integer :: hdferr + + integer :: hdferr call h5gclose_f(group_id, hdferr) if (hdferr < 0) call IO_error(1,ext_msg = 'HDF5_closeGroup: h5gclose_f (el is ID)', el = int(group_id)) @@ -262,8 +263,8 @@ logical function HDF5_objectExists(loc_id,path) integer(HID_T), intent(in) :: loc_id character(len=*), intent(in), optional :: path - integer :: hdferr - character(len=pStringLen) :: p + integer :: hdferr + character(len=:), allocatable :: p if (present(path)) then p = trim(path) @@ -291,10 +292,10 @@ subroutine HDF5_addAttribute_str(loc_id,attrLabel,attrValue,path) character(len=*), intent(in) :: attrLabel, attrValue character(len=*), intent(in), optional :: path - integer :: hdferr - integer(HID_T) :: attr_id, space_id, type_id - logical :: attrExists - character(len=pStringLen) :: p + integer(HID_T) :: attr_id, space_id, type_id + logical :: attrExists + integer :: hdferr + character(len=:), allocatable :: p if (present(path)) then p = trim(path) @@ -333,15 +334,15 @@ end subroutine HDF5_addAttribute_str !-------------------------------------------------------------------------------------------------- subroutine HDF5_addAttribute_int(loc_id,attrLabel,attrValue,path) - integer(HID_T), intent(in) :: loc_id - character(len=*), intent(in) :: attrLabel - integer, intent(in) :: attrValue - character(len=*), intent(in), optional :: path + integer(HID_T), intent(in) :: loc_id + character(len=*), intent(in) :: attrLabel + integer, intent(in) :: attrValue + character(len=*), intent(in), optional :: path - integer :: hdferr - integer(HID_T) :: attr_id, space_id - logical :: attrExists - character(len=pStringLen) :: p + integer(HID_T) :: attr_id, space_id + integer :: hdferr + logical :: attrExists + character(len=:), allocatable :: p if (present(path)) then p = trim(path) @@ -379,10 +380,10 @@ subroutine HDF5_addAttribute_real(loc_id,attrLabel,attrValue,path) real(pReal), intent(in) :: attrValue character(len=*), intent(in), optional :: path - integer :: hdferr - integer(HID_T) :: attr_id, space_id - logical :: attrExists - character(len=pStringLen) :: p + integer(HID_T) :: attr_id, space_id + integer :: hdferr + logical :: attrExists + character(len=:), allocatable :: p if (present(path)) then p = trim(path) @@ -420,11 +421,11 @@ subroutine HDF5_addAttribute_int_array(loc_id,attrLabel,attrValue,path) integer, intent(in), dimension(:) :: attrValue character(len=*), intent(in), optional :: path - integer :: hdferr - integer(HID_T) :: attr_id, space_id integer(HSIZE_T),dimension(1) :: array_size + integer(HID_T) :: attr_id, space_id + integer :: hdferr logical :: attrExists - character(len=pStringLen) :: p + character(len=:), allocatable :: p if (present(path)) then p = trim(path) @@ -464,11 +465,11 @@ subroutine HDF5_addAttribute_real_array(loc_id,attrLabel,attrValue,path) real(pReal), intent(in), dimension(:) :: attrValue character(len=*), intent(in), optional :: path - integer :: hdferr - integer(HID_T) :: attr_id, space_id integer(HSIZE_T),dimension(1) :: array_size + integer(HID_T) :: attr_id, space_id + integer :: hdferr logical :: attrExists - character(len=pStringLen) :: p + character(len=:), allocatable :: p if (present(path)) then p = trim(path) From 68bf21c9005b372a9057c6c05a803fe4f17de703 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 9 Aug 2020 06:37:50 +0200 Subject: [PATCH 446/958] can use string of dynamic length --- src/IO.f90 | 10 +++++----- src/grid/DAMASK_grid.f90 | 2 +- src/grid/grid_mech_FEM.f90 | 2 +- src/grid/grid_mech_spectral_basic.f90 | 2 +- src/grid/grid_mech_spectral_polarisation.f90 | 2 +- src/mesh/DAMASK_mesh.f90 | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index 0092fd1e2..aca887a22 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -413,9 +413,9 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) integer, optional, intent(in) :: el,ip,g,instance character(len=*), optional, intent(in) :: ext_msg - external :: quit - character(len=pStringLen) :: msg - character(len=pStringLen) :: formatString + external :: quit + character(len=:), allocatable :: msg + character(len=pStringLen) :: formatString select case (error_ID) @@ -661,8 +661,8 @@ subroutine IO_warning(warning_ID,el,ip,g,ext_msg) integer, optional, intent(in) :: el,ip,g character(len=*), optional, intent(in) :: ext_msg - character(len=pStringLen) :: msg - character(len=pStringLen) :: formatString + character(len=:), allocatable :: msg + character(len=pStringLen) :: formatString select case (warning_ID) case (1) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index af1eb1353..7c0f87078 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -36,7 +36,7 @@ program DAMASK_grid N_t = 0, & !< # of time indicators found in load case file N_n = 0, & !< # of increment specifiers found in load case file N_def = 0 !< # of rate of deformation specifiers found in load case file - character(len=pStringLen) :: & + character(len=:), allocatable :: & line !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 13382a444..43dbca00e 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -71,7 +71,7 @@ module grid_mech_FEM F_aim_lastInc = math_I3, & !< previous average deformation gradient P_av = 0.0_pReal !< average 1st Piola--Kirchhoff stress - character(len=pStringLen), private :: incInfo !< time and increment information + character(len=:), allocatable, private :: incInfo !< time and increment information real(pReal), private, dimension(3,3,3,3) :: & C_volAvg = 0.0_pReal, & !< current volume average stiffness diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 7300d9b39..ccbeb3c42 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -66,7 +66,7 @@ module grid_mech_spectral_basic F_aim_lastInc = math_I3, & !< previous average deformation gradient P_av = 0.0_pReal !< average 1st Piola--Kirchhoff stress - character(len=pStringLen) :: incInfo !< time and increment information + character(len=:), allocatable :: incInfo !< time and increment information real(pReal), private, dimension(3,3,3,3) :: & C_volAvg = 0.0_pReal, & !< current volume average stiffness C_volAvgLastInc = 0.0_pReal, & !< previous volume average stiffness diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index cad0751cd..347a2a832 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -74,7 +74,7 @@ module grid_mech_spectral_polarisation F_av = 0.0_pReal, & !< average incompatible def grad field P_av = 0.0_pReal !< average 1st Piola--Kirchhoff stress - character(len=pStringLen) :: incInfo !< time and increment information + character(len=:), allocatable :: incInfo !< time and increment information real(pReal), dimension(3,3,3,3) :: & C_volAvg = 0.0_pReal, & !< current volume average stiffness C_volAvgLastInc = 0.0_pReal, & !< previous volume average stiffness diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index 5cb7d5120..b6cb4b2d1 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -27,7 +27,7 @@ program DAMASK_mesh integer, allocatable, dimension(:) :: chunkPos ! this is longer than needed for geometry parsing integer :: & N_def = 0 !< # of rate of deformation specifiers found in load case file - character(len=pStringLen) :: & + character(len=:), allocatable :: & line !-------------------------------------------------------------------------------------------------- From e6f1b17149aa67d80c4ebc0b0f22c55e7694f07a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 9 Aug 2020 08:53:10 +0200 Subject: [PATCH 447/958] Gfortran 8 failed with At line 115 of file DAMASK/src/system_routines.f90 Fortran runtime error: Unequal character lengths (93/52) in MERGE intrinsic not sure whether this is a false alarm or not ... --- src/system_routines.f90 | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/system_routines.f90 b/src/system_routines.f90 index 913fe82c8..9a2442163 100644 --- a/src/system_routines.f90 +++ b/src/system_routines.f90 @@ -112,9 +112,11 @@ function getCWD() call getCurrentWorkDir_C(getCWD_Cstring,stat) - getCWD = merge(c_f_string(getCWD_Cstring), & - 'Error occured when getting currend working directory', & - stat == 0_C_INT) + if(stat == 0) then + getCWD = c_f_string(getCWD_Cstring) + else + getCWD = 'Error occured when getting currend working directory' + endif end function getCWD @@ -130,9 +132,11 @@ function getHostName() call getHostName_C(getHostName_Cstring,stat) - getHostName = merge(c_f_string(getHostName_Cstring), & - 'Error occured when getting host name', & - stat == 0_C_INT) + if(stat == 0) then + getHostName = c_f_string(getHostName_Cstring) + else + getHostName = 'Error occured when getting host name' + endif end function getHostName From 4bf3b926097bf85deb521242c043332d5e449235 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sun, 9 Aug 2020 22:40:04 +0200 Subject: [PATCH 448/958] polishing vtk2ang.py --- processing/post/vtk2ang.py | 74 ++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 39 deletions(-) diff --git a/processing/post/vtk2ang.py b/processing/post/vtk2ang.py index 9ee19dac7..7991251fb 100755 --- a/processing/post/vtk2ang.py +++ b/processing/post/vtk2ang.py @@ -18,47 +18,43 @@ scriptID = ' '.join([scriptName,damask.version]) # ----------------------------- def getHeader(filename,sizeFastIndex,sizeSlowIndex,stepsize): """Returns header for ang file step size in micrometer.""" - return '\n'.join([ \ - '# TEM_PIXperUM 1.000000', \ - '# x-star 1.000000', \ - '# y-star 1.000000', \ - '# z-star 1.000000', \ - '# WorkingDistance 18.000000', \ - '#', \ - '# Phase 1', \ - '# MaterialName XX', \ - '# Formula XX', \ - '# Info', \ - '# Symmetry 43', \ - '# LatticeConstants 2.870 2.870 2.870 90.000 90.000 90.000', \ - '# NumberFamilies 1', \ - '# hklFamilies 1 1 0 1 0.000000 1', \ - '# Categories 0 0 0 0 0 ', \ - '#', \ - '# GRID: SqrGrid', \ - '# XSTEP: ' + str(stepsize*1e6), \ - '# YSTEP: ' + str(stepsize*1e6), \ - '# NCOLS_ODD: ' + str(sizeFastIndex), \ - '# NCOLS_EVEN: ' + str(sizeFastIndex), \ - '# NROWS: ' + str(sizeSlowIndex), \ - '#', \ - '# OPERATOR: ' + string.replace('$Id$','\n','\\n'), \ - '#', \ - '# SAMPLEID: %s'%filename, \ - '#', \ - '# SCANID: ', \ - '#', \ + return '\n'.join([ + '# TEM_PIXperUM 1.000000', + '# x-star 1.000000', + '# y-star 1.000000', + '# z-star 1.000000', + '# WorkingDistance 18.000000', + '#', + '# Phase 1', + '# MaterialName XX', + '# Formula XX', + '# Info', + '# Symmetry 43', + '# LatticeConstants 2.870 2.870 2.870 90.000 90.000 90.000', + '# NumberFamilies 1', + '# hklFamilies 1 1 0 1 0.000000 1', + '# Categories 0 0 0 0 0 ', + '#', + '# GRID: SqrGrid', + '# XSTEP: ' + str(stepsize*1e6), + '# YSTEP: ' + str(stepsize*1e6), + '# NCOLS_ODD: ' + str(sizeFastIndex), + '# NCOLS_EVEN: ' + str(sizeFastIndex), + '# NROWS: ' + str(sizeSlowIndex), + '#', + '# OPERATOR: ' + string.replace('$Id$','\n','\\n'), + '#', + '# SAMPLEID: {}'.format(filename), + '#', + '# SCANID: ', + '#', ]) + '\n' # ----------------------------- def positiveRadians(angle): """Returns positive angle in radians from angle in degrees.""" - angle = math.radians(float(angle)) - while angle < 0.0: - angle += 2.0 * math.pi - - return angle + return math.radians(float(angle)) % (2.*math.pi) # ----------------------------- @@ -230,11 +226,11 @@ for filename in filenames: # Get bounding box in rotated system (x,y,z) if options.verbose: sys.stdout.write("\nGETTING BOUNDING BOX IN ROTATED SYSTEM\n") - rotatedbox = [[np.inf,-np.inf] for i in range(3)] # bounding box in rotated TSL system - for n in range(8): # loop over eight vertices of mesh bounding box + rotatedbox = [[np.inf,-np.inf] for i in range(3)] # bounding box in rotated TSL system + for n in range(8): # loop over eight vertices of mesh bounding box vert = np.array([box[0+(n//1)%2], - box[2+(n//2)%2], - box[4+(n//4)%2]]) # vertex in mesh system + box[2+(n//2)%2], + box[4+(n//4)%2]]) # vertex in mesh system rotatedvert = np.dot(R,vert) # vertex in rotated system for i in range(3): rotatedbox[i][0] = min(rotatedbox[i][0],rotatedvert[i]) From 752d6f773bb1ff8d4724fb5c2b85fbaa27611435 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sun, 9 Aug 2020 23:14:32 +0200 Subject: [PATCH 449/958] corrected add_primitive test --- python/tests/test_Geom.py | 49 ++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 95d1a8f98..4061c3ecf 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -45,10 +45,7 @@ class TestGeom: old = default.get_microstructure() new = np.random.randint(200,size=default.grid) default.set_microstructure(np.ma.MaskedArray(new,np.full_like(new,masked))) - if masked: - assert np.all(default.microstructure==old) - else: - assert np.all(default.microstructure==new) + assert np.all(default.microstructure==(old if masked else new)) def test_write_read_str(self,default,tmpdir): @@ -192,36 +189,36 @@ class TestGeom: e = default.grid assert np.all(modified.microstructure[:e[0],:e[1],:e[2]] == default.microstructure) - @pytest.mark.parametrize('center',[np.random.random(3)*.5, - np.random.randint(4,10,(3))]) - @pytest.mark.parametrize('diameter',[np.random.random(3)*.5, - np.random.randint(4,10,(3))]) - def test_add_primitive(self,diameter,center): - """Same volume fraction for periodic microstructures and different center.""" - o = np.random.random(3)-.5 - g = np.random.randint(8,32,(3)) - s = np.random.random(3)+.5 - G_1 = Geom(np.ones(g,'i'),s,o) - G_2 = Geom(np.ones(g,'i'),s,o) - G_1.add_primitive(diameter,center,1) - G_2.add_primitive(diameter,center,1) - assert np.count_nonzero(G_1.microstructure!=2) == np.count_nonzero(G_2.microstructure!=2) + @pytest.mark.parametrize('center1,center2',[(np.random.random(3)*.5,np.random.random(3)), + (np.random.randint(4,8,(3)),np.random.randint(9,12,(3)))]) + @pytest.mark.parametrize('diameter',[np.random.random(3)*.5, + np.random.randint(4,10,(3))]) + def test_add_primitive(self,diameter,center1,center2): + """Same volume fraction for periodic microstructures and different center.""" + o = np.random.random(3)-.5 + g = np.random.randint(8,32,(3)) + s = np.random.random(3)+.5 + G_1 = Geom(np.ones(g,'i'),s,o) + G_2 = Geom(np.ones(g,'i'),s,o) + G_1.add_primitive(diameter,center1,1) + G_2.add_primitive(diameter,center2,1) + assert np.count_nonzero(G_1.microstructure!=2) == np.count_nonzero(G_2.microstructure!=2) @pytest.mark.parametrize('trigger',[[1],[]]) def test_vicinity_offset(self,trigger): offset = np.random.randint(2,4) vicinity = np.random.randint(2,4) - g=np.random.randint(28,40,(3)) - m=np.ones(g,'i') - x=(g*np.random.permutation(np.array([.5,1,1]))).astype('i') - m[slice(0,x[0]),slice(0,x[1]),slice(0,x[2])]=2 - m2=copy.deepcopy(m) + g = np.random.randint(28,40,(3)) + m = np.ones(g,'i') + x = (g*np.random.permutation(np.array([.5,1,1]))).astype('i') + m[slice(0,x[0]),slice(0,x[1]),slice(0,x[2])] = 2 + m2 = copy.deepcopy(m) for i in [0,1,2]: - m2[(np.roll(m,+vicinity,i)-m)!=0] +=offset - m2[(np.roll(m,-vicinity,i)-m)!=0] +=offset + m2[(np.roll(m,+vicinity,i)-m)!=0] += offset + m2[(np.roll(m,-vicinity,i)-m)!=0] += offset if len(trigger) > 0: - m2[m==1]=1 + m2[m==1] = 1 geom = Geom(m,np.random.rand(3)) geom.vicinity_offset(vicinity,offset,trigger=trigger) From fdb0bcf8afe2f2029d01bf8e53df7da8d40bc669 Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 10 Aug 2020 06:20:56 +0200 Subject: [PATCH 450/958] [skip ci] updated version information after successful test of v2.0.3-2992-g4b45c37e --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 55ad31923..16d400581 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2957-gce00371f +v2.0.3-2992-g4b45c37e From c1358294f7908a4e3ba81c9da16ceee12a740a46 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 12 Aug 2020 15:14:00 -0400 Subject: [PATCH 451/958] Corrected Kirchoff --> Kirchhoff --- src/constitutive_thermal.f90 | 26 +++++++++++++------------- src/crystallite.f90 | 8 ++++---- src/homogenization.f90 | 12 ++++++------ 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/constitutive_thermal.f90 b/src/constitutive_thermal.f90 index 3b3398ce2..96d4c03ee 100644 --- a/src/constitutive_thermal.f90 +++ b/src/constitutive_thermal.f90 @@ -1,5 +1,5 @@ !---------------------------------------------------------------------------------------------------- -!> @brief internal microstructure state for all thermal sources and kinematics constitutive models +!> @brief internal microstructure state for all thermal sources and kinematics constitutive models !---------------------------------------------------------------------------------------------------- submodule(constitutive) constitutive_thermal @@ -7,7 +7,7 @@ submodule(constitutive) constitutive_thermal module subroutine source_thermal_dissipation_init end subroutine source_thermal_dissipation_init - + module subroutine source_thermal_externalheat_init end subroutine source_thermal_externalheat_init @@ -19,7 +19,7 @@ submodule(constitutive) constitutive_thermal integer, intent(in) :: & phase !< phase ID of element real(pReal), intent(in), dimension(3,3) :: & - Tstar !< 2nd Piola Kirchoff stress tensor for a given element + Tstar !< 2nd Piola Kirchhoff stress tensor for a given element real(pReal), intent(in), dimension(3,3) :: & Lp !< plastic velocuty gradient for a given element real(pReal), intent(out) :: & @@ -48,7 +48,7 @@ module subroutine thermal_init ! initialize source mechanisms if (any(phase_source == SOURCE_thermal_dissipation_ID)) call source_thermal_dissipation_init if (any(phase_source == SOURCE_thermal_externalheat_ID)) call source_thermal_externalheat_init - + !-------------------------------------------------------------------------------------------------- !initialize kinematic mechanisms if (any(phase_kinematics == KINEMATICS_thermal_expansion_ID)) call kinematics_thermal_expansion_init @@ -66,7 +66,7 @@ module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, real(pReal), intent(in) :: & T real(pReal), intent(in), dimension(:,:,:,:,:) :: & - S, & !< current 2nd Piola Kirchoff stress + S, & !< current 2nd Piola Kirchhoff stress Lp !< plastic velocity gradient real(pReal), intent(inout) :: & TDot, & @@ -82,34 +82,34 @@ module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, grain, & source, & constituent - + homog = material_homogenizationAt(el) instance = thermal_typeInstance(homog) - + do grain = 1, homogenization_Ngrains(homog) phase = material_phaseAt(grain,el) constituent = material_phasememberAt(grain,ip,el) do source = 1, phase_Nsources(phase) - select case(phase_source(source,phase)) + select case(phase_source(source,phase)) case (SOURCE_thermal_dissipation_ID) call source_thermal_dissipation_getRateAndItsTangent(my_Tdot, my_dTdot_dT, & S(1:3,1:3,grain,ip,el), & - Lp(1:3,1:3,grain,ip,el), & + Lp(1:3,1:3,grain,ip,el), & phase) - + case (SOURCE_thermal_externalheat_ID) call source_thermal_externalheat_getRateAndItsTangent(my_Tdot, my_dTdot_dT, & phase, constituent) - + case default my_Tdot = 0.0_pReal my_dTdot_dT = 0.0_pReal end select Tdot = Tdot + my_Tdot dTdot_dT = dTdot_dT + my_dTdot_dT - enddo + enddo enddo - + end subroutine constitutive_thermal_getRateAndItsTangents diff --git a/src/crystallite.f90 b/src/crystallite.f90 index f33f392a2..ee825d4ea 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -82,7 +82,7 @@ module crystallite iJacoLpresiduum, & !< frequency of Jacobian update of residuum in Lp nState, & !< state loop limit nStress !< stress loop limit - character(len=:), allocatable :: & + character(len=:), allocatable :: & integrator !< integration scheme real(pReal) :: & subStepMinCryst, & !< minimum (relative) size of sub-step allowed during cutback @@ -140,7 +140,7 @@ subroutine crystallite_init iMax, & !< maximum number of integration points eMax, & !< maximum number of elements myNcomponents !< number of components at current IP - + class(tNode), pointer :: & num_crystallite, & debug_crystallite ! pointer to debug options for crystallite @@ -715,11 +715,11 @@ subroutine crystallite_results case('p') selected_tensors = select_tensors(crystallite_P,p) call results_writeDataset(group,selected_tensors,'P',& - 'First Piola-Kirchoff stress','Pa') + 'First Piola-Kirchhoff stress','Pa') case('s') selected_tensors = select_tensors(crystallite_S,p) call results_writeDataset(group,selected_tensors,'S',& - 'Second Piola-Kirchoff stress','Pa') + 'Second Piola-Kirchhoff stress','Pa') case('orientation') select case(lattice_structure(p)) case(lattice_ISO_ID) diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 17b044ad5..d54e1f390 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -152,12 +152,12 @@ subroutine homogenization_init debug_homogenization debug_homogenization => debug_root%get('homogenization', defaultVal=emptyList) - debugHomog%basic = debug_homogenization%contains('basic') - debugHomog%extensive = debug_homogenization%contains('extensive') + debugHomog%basic = debug_homogenization%contains('basic') + debugHomog%extensive = debug_homogenization%contains('extensive') debugHomog%selective = debug_homogenization%contains('selective') - debugHomog%element = debug_root%get_asInt('element',defaultVal = 1) - debugHomog%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) - debugHomog%grain = debug_root%get_asInt('grain',defaultVal = 1) + debugHomog%element = debug_root%get_asInt('element',defaultVal = 1) + debugHomog%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) + debugHomog%grain = debug_root%get_asInt('grain',defaultVal = 1) if (debugHomog%grain < 1 & .or. debugHomog%grain > homogenization_Ngrains(material_homogenizationAt(debugHomog%element))) & @@ -618,7 +618,7 @@ subroutine homogenization_results ! 'deformation gradient','1') !temp = reshape(materialpoint_P,[3,3,discretization_nIP*discretization_nElem]) !call results_writeDataset(group,temp,'P',& - ! '1st Piola-Kirchoff stress','Pa') + ! '1st Piola-Kirchhoff stress','Pa') group = trim(group_base)//'/mech' call results_closeGroup(results_addGroup(group)) From 95092f3c5f7b4da3a91ac345ffba792bb6313eb8 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 13 Aug 2020 10:15:34 +0200 Subject: [PATCH 452/958] [skip ci] updated version information after successful test of v2.0.3-2995-gd00974b5 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 16d400581..b7a86ed59 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2992-g4b45c37e +v2.0.3-2995-gd00974b5 From 7754a1ea56d231e0b4ac5513a59fbc4a03f83d8b Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Sat, 15 Aug 2020 16:02:10 +0200 Subject: [PATCH 453/958] Restructuring for material.yaml --- PRIVATE | 2 +- .../Polycrystal/material.config | 126 ---- .../SpectralMethod/Polycrystal/material.yaml | 123 ++++ src/CPFEM.f90 | 5 +- src/CPFEM2.f90 | 5 +- src/DAMASK_marc.f90 | 3 +- src/HDF5_utilities.f90 | 2 +- src/IO.f90 | 10 +- src/YAML_parse.f90 | 50 +- src/YAML_types.f90 | 130 +++- src/commercialFEM_fileList.f90 | 5 +- src/config.f90 | 331 +++------ src/constitutive.f90 | 238 ++++++- src/constitutive_damage.f90 | 90 ++- src/constitutive_plastic.f90 | 134 ++-- ...=> constitutive_plastic_disloTungsten.f90} | 176 ++--- src/constitutive_plastic_dislotwin.f90 | 276 ++++---- src/constitutive_plastic_isotropic.f90 | 83 ++- src/constitutive_plastic_kinehardening.f90 | 123 ++-- src/constitutive_plastic_none.f90 | 38 +- src/constitutive_plastic_nonlocal.f90 | 365 +++++----- src/constitutive_plastic_phenopowerlaw.f90 | 156 ++-- src/constitutive_thermal.f90 | 31 +- src/crystallite.f90 | 70 +- src/damage_local.f90 | 26 +- src/damage_none.f90 | 4 +- src/damage_nonlocal.f90 | 25 +- src/debug.f90 | 50 -- src/grid/DAMASK_grid.f90 | 1 - src/grid/discretization_grid.f90 | 3 +- src/grid/grid_damage_spectral.f90 | 2 +- src/grid/grid_mech_FEM.f90 | 3 +- src/grid/grid_mech_spectral_basic.f90 | 2 - src/grid/grid_mech_spectral_polarisation.f90 | 2 - src/grid/grid_thermal_spectral.f90 | 2 +- src/grid/spectral_utilities.f90 | 2 - src/homogenization.f90 | 7 +- src/homogenization_mech_RGC.f90 | 56 +- src/homogenization_mech_isostrain.f90 | 24 +- src/homogenization_mech_none.f90 | 2 +- src/kinematics_cleavage_opening.f90 | 83 ++- src/kinematics_slipplane_opening.f90 | 101 +-- src/kinematics_thermal_expansion.f90 | 69 +- src/lattice.f90 | 64 +- src/marc/discretization_marc.f90 | 3 +- src/material.f90 | 670 +++++------------- src/math.f90 | 5 +- src/mesh/DAMASK_mesh.f90 | 2 +- src/mesh/FEM_utilities.f90 | 3 +- src/mesh/discretization_mesh.f90 | 3 +- src/mesh/mesh_mech_FEM.f90 | 3 +- src/numerics.f90 | 82 --- src/results.f90 | 2 +- src/rotations.f90 | 2 +- src/source_damage_anisoBrittle.f90 | 125 ++-- src/source_damage_anisoDuctile.f90 | 99 +-- src/source_damage_isoBrittle.f90 | 88 ++- src/source_damage_isoDuctile.f90 | 88 ++- src/source_thermal_dissipation.f90 | 58 +- src/source_thermal_externalheat.f90 | 66 +- src/thermal_adiabatic.f90 | 30 +- src/thermal_conduction.f90 | 24 +- src/thermal_isothermal.f90 | 4 +- 63 files changed, 2291 insertions(+), 2166 deletions(-) delete mode 100644 examples/SpectralMethod/Polycrystal/material.config create mode 100644 examples/SpectralMethod/Polycrystal/material.yaml rename src/{constitutive_plastic_disloUCLA.f90 => constitutive_plastic_disloTungsten.f90} (81%) delete mode 100644 src/debug.f90 delete mode 100644 src/numerics.f90 diff --git a/PRIVATE b/PRIVATE index a52584687..a16d1e45a 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit a52584687a93b9f007cf019861fce68eb31451ab +Subproject commit a16d1e45a2ed925e12244b0879b9d7e5a58d973b diff --git a/examples/SpectralMethod/Polycrystal/material.config b/examples/SpectralMethod/Polycrystal/material.config deleted file mode 100644 index ca2824301..000000000 --- a/examples/SpectralMethod/Polycrystal/material.config +++ /dev/null @@ -1,126 +0,0 @@ -#-------------------# - -#-------------------# - -[SX] -mech none - -#-------------------# - -#-------------------# -[Aluminum_phenopowerlaw] -elasticity hooke -plasticity phenopowerlaw - -(output) resistance_slip -(output) orientation # quaternion -(output) F # deformation gradient tensor -(output) Fe # elastic deformation gradient tensor -(output) Fp # plastic deformation gradient tensor -(output) P # first Piola-Kichhoff stress tensor -(output) Lp # plastic velocity gradient tensor - - -lattice_structure fcc -Nslip 12 # per family - -c11 106.75e9 -c12 60.41e9 -c44 28.34e9 - -gdot0_slip 0.001 -n_slip 20 -tau0_slip 31e6 # per family -tausat_slip 63e6 # per family -a_slip 2.25 -h0_slipslip 75e6 -interaction_slipslip 1 1 1.4 1.4 1.4 1.4 - -#-------------------# - -#-------------------# -[Grain01] -(constituent) phase 1 texture 01 fraction 1.0 -[Grain02] -(constituent) phase 1 texture 02 fraction 1.0 -[Grain03] -(constituent) phase 1 texture 03 fraction 1.0 -[Grain04] -(constituent) phase 1 texture 04 fraction 1.0 -[Grain05] -(constituent) phase 1 texture 05 fraction 1.0 -[Grain06] -(constituent) phase 1 texture 06 fraction 1.0 -[Grain07] -(constituent) phase 1 texture 07 fraction 1.0 -[Grain08] -(constituent) phase 1 texture 08 fraction 1.0 -[Grain09] -(constituent) phase 1 texture 09 fraction 1.0 -[Grain10] -(constituent) phase 1 texture 10 fraction 1.0 -[Grain11] -(constituent) phase 1 texture 11 fraction 1.0 -[Grain12] -(constituent) phase 1 texture 12 fraction 1.0 -[Grain13] -(constituent) phase 1 texture 13 fraction 1.0 -[Grain14] -(constituent) phase 1 texture 14 fraction 1.0 -[Grain15] -(constituent) phase 1 texture 15 fraction 1.0 -[Grain16] -(constituent) phase 1 texture 16 fraction 1.0 -[Grain17] -(constituent) phase 1 texture 17 fraction 1.0 -[Grain18] -(constituent) phase 1 texture 18 fraction 1.0 -[Grain19] -(constituent) phase 1 texture 19 fraction 1.0 -[Grain20] -(constituent) phase 1 texture 20 fraction 1.0 - - -#-------------------# - -#-------------------# -[Grain01] -(gauss) phi1 0.0 Phi 0.0 phi2 0.0 -[Grain02] -(gauss) phi1 257.468172 Phi 53.250534 phi2 157.331503 -[Grain03] -(gauss) phi1 216.994815 Phi 94.418518 phi2 251.147231 -[Grain04] -(gauss) phi1 196.157946 Phi 55.870978 phi2 21.68117 -[Grain05] -(gauss) phi1 152.515728 Phi 139.769395 phi2 240.036018 -[Grain06] -(gauss) phi1 232.521881 Phi 73.749222 phi2 241.429633 -[Grain07] -(gauss) phi1 157.531396 Phi 135.503513 phi2 75.737722 -[Grain08] -(gauss) phi1 321.03828 Phi 27.209843 phi2 46.413467 -[Grain09] -(gauss) phi1 346.918594 Phi 87.495569 phi2 113.554206 -[Grain10] -(gauss) phi1 138.038947 Phi 99.827132 phi2 130.935878 -[Grain11] -(gauss) phi1 285.021014 Phi 118.092004 phi2 205.270837 -[Grain12] -(gauss) phi1 190.402171 Phi 56.738068 phi2 157.896545 -[Grain13] -(gauss) phi1 204.496042 Phi 95.031265 phi2 355.814582 -[Grain14] -(gauss) phi1 333.21479 Phi 82.133355 phi2 36.736132 -[Grain15] -(gauss) phi1 25.572981 Phi 164.242648 phi2 75.195632 -[Grain16] -(gauss) phi1 31.366548 Phi 76.392403 phi2 58.071426 -[Grain17] -(gauss) phi1 7.278623 Phi 77.044663 phi2 235.118997 -[Grain18] -(gauss) phi1 299.743144 Phi 76.475096 phi2 91.184977 -[Grain19] -(gauss) phi1 280.13643 Phi 27.439718 phi2 167.871878 -[Grain20] -(gauss) phi1 313.204373 Phi 68.676053 phi2 87.993213 diff --git a/examples/SpectralMethod/Polycrystal/material.yaml b/examples/SpectralMethod/Polycrystal/material.yaml new file mode 100644 index 000000000..16c6042a6 --- /dev/null +++ b/examples/SpectralMethod/Polycrystal/material.yaml @@ -0,0 +1,123 @@ +homogenization: + SX: + mech: {type: none} +microstructure: +- constituents: + - fraction: 1.0 + orientation: [1.0, 0.0, 0.0, 0.0] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.7936696712125002, -0.28765777461664166, -0.3436487135089419, 0.4113964260949434] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.33012772942625784, -0.6781865350268957, 0.6494525351030648, 0.09638521992649676] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.43596817439583935, -0.5982537129781701, 0.046599032277502436, 0.6707106499919265] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.169734823419553, -0.699615227367322, -0.6059581215838098, -0.33844257746495854] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.9698864809294915, 0.1729052643205874, -0.15948307917616958, 0.06315956884687175] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.46205660912967883, 0.3105054068891252, -0.617849551030653, 0.555294529545738] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.4512443497461787, -0.7636045534540555, -0.04739348426715133, -0.45939142396805815] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.2161856212656443, -0.6581450184826598, -0.5498086209601588, 0.4667112513346289] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.8753220715350803, -0.4561599367657419, -0.13298279533852678, -0.08969369719975541] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.11908260752431069, 0.18266024809834172, -0.7144822594012615, -0.664807992845101] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.751104669484278, 0.5585633382623958, -0.34579336397009175, 0.06538900566860861] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.08740438971703973, 0.8991264096610437, -0.4156704205935976, 0.10559485570696363] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.5584325870096193, 0.6016408353068798, -0.14280340445801173, 0.5529814994483859] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.4052725440888093, 0.25253073423599154, 0.5693263597910454, -0.669215876471182] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.7570164606888676, 0.15265448024694664, -0.5998021466848317, 0.20942796551297105] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.6987659297138081, -0.132172211261028, -0.19693254724422338, 0.6748883269678543] + phase: Aluminum + homogenization: SX +- constituents: + - fraction: 1.0 + orientation: [0.7729330445886478, 0.21682179052722322, -0.5207379472917645, 0.2905078484066341] + phase: Aluminum + homogenization: SX +phase: + Aluminum: + elasticity: {C_11: 106.75e9, C_12: 60.41e9, C_44: 28.34e9, type: hooke} + generic: + output: [F, P, Fe, Fp, Lp] + lattice: fcc + plasticity: + N_sl: [12] + a_sl: 2.25 + atol_xi: 1.0 + dot_gamma_0_sl: 0.001 + h_0_sl_sl: 75e6 + h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + n_sl: 20 + output: [xi_sl] + xi_0_sl: [31e6] + xi_inf_sl: [63e6] + type: phenopowerlaw + diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index f2b906b89..8d31ea078 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -5,7 +5,6 @@ !-------------------------------------------------------------------------------------------------- module CPFEM use prec - use debug use FEsolving use math use rotations @@ -19,7 +18,6 @@ module CPFEM use IO use discretization use DAMASK_interface - use numerics use HDF5_utilities use results use lattice @@ -79,8 +77,6 @@ subroutine CPFEM_initAll call DAMASK_interface_init call prec_init call IO_init - call numerics_init - call debug_init call config_init call math_init call rotations_init @@ -95,6 +91,7 @@ subroutine CPFEM_initAll call crystallite_init call homogenization_init call CPFEM_init + call config_deallocate end subroutine CPFEM_initAll diff --git a/src/CPFEM2.f90 b/src/CPFEM2.f90 index 027c6dfad..b26ad65fd 100644 --- a/src/CPFEM2.f90 +++ b/src/CPFEM2.f90 @@ -5,8 +5,6 @@ !-------------------------------------------------------------------------------------------------- module CPFEM2 use prec - use numerics - use debug use config use FEsolving use math @@ -47,8 +45,6 @@ subroutine CPFEM_initAll #ifdef Mesh call FEM_quadrature_init #endif - call numerics_init - call debug_init call config_init call math_init call rotations_init @@ -67,6 +63,7 @@ subroutine CPFEM_initAll call crystallite_init call homogenization_init call CPFEM_init + call config_deallocate end subroutine CPFEM_initAll diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index 8f170f05d..78203ffa2 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -175,10 +175,9 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & jtype,lclass,ifr,ifu) use prec use DAMASK_interface - use numerics + use config use YAML_types use FEsolving - use debug use discretization_marc use homogenization use CPFEM diff --git a/src/HDF5_utilities.f90 b/src/HDF5_utilities.f90 index f099b0542..0ac32fd2e 100644 --- a/src/HDF5_utilities.f90 +++ b/src/HDF5_utilities.f90 @@ -13,7 +13,7 @@ module HDF5_utilities use prec use IO use rotations - use numerics + use config implicit none public diff --git a/src/IO.f90 b/src/IO.f90 index aca887a22..d4533f47c 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -392,9 +392,9 @@ logical function IO_stringAsBool(string) character(len=*), intent(in) :: string !< string for conversion to int value - if (trim(adjustl(string)) == 'True') then + if (trim(adjustl(string)) == 'True' .or. trim(adjustl(string)) == 'true') then IO_stringAsBool = .true. - elseif (trim(adjustl(string)) == 'False') then + elseif (trim(adjustl(string)) == 'False' .or. trim(adjustl(string)) == 'false') then IO_stringAsBool = .false. else IO_stringAsBool = .false. @@ -568,8 +568,6 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'Incorrect indent/Null value not allowed' case (702) msg = 'Invalid use of flow yaml' - case (703) - msg = 'Space expected after a list indicator - ' case (704) msg = 'Space expected after a colon for : pair' case (705) @@ -751,9 +749,9 @@ subroutine selfTest if(-3112019 /= IO_stringAsInt('-3112019')) call IO_error(0,ext_msg='IO_stringAsInt') if(3112019 /= IO_stringAsInt('+3112019 ')) call IO_error(0,ext_msg='IO_stringAsInt') - if(.not. IO_stringAsBool(' True')) call IO_error(0,ext_msg='IO_stringAsBool') + if(.not. IO_stringAsBool(' true')) call IO_error(0,ext_msg='IO_stringAsBool') if(.not. IO_stringAsBool(' True ')) call IO_error(0,ext_msg='IO_stringAsBool') - if( IO_stringAsBool(' False')) call IO_error(0,ext_msg='IO_stringAsBool') + if( IO_stringAsBool(' false')) call IO_error(0,ext_msg='IO_stringAsBool') if( IO_stringAsBool('False')) call IO_error(0,ext_msg='IO_stringAsBool') if(any([1,1,1] /= IO_stringPos('a'))) call IO_error(0,ext_msg='IO_stringPos') diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 01e383b05..88f49c060 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -4,19 +4,18 @@ !> @brief Parser for YAML files !> @details module converts a YAML input file to an equivalent YAML flow style which is then parsed. !---------------------------------------------------------------------------------------------------- - module YAML_parse - use prec use IO use YAML_types implicit none - private - public :: YAML_init - public :: parse_flow,to_flow + public :: & + YAML_init, & + parse_flow, & + to_flow contains @@ -34,19 +33,22 @@ end subroutine YAML_init !> @brief reads the flow style string and stores it in the form of dictionaries, lists and scalars. !> @details A node type pointer can either point to a dictionary, list or scalar type entities. !-------------------------------------------------------------------------------------------------- -recursive function parse_flow(flow_string) result(node) +recursive function parse_flow(YAML_flow) result(node) - character(len=*), intent(inout) :: flow_string !< YAML file in flow style + character(len=*), intent(in) :: YAML_flow !< YAML file in flow style class (tNode), pointer :: node - class (tNode), pointer :: myVal - character(len=pStringLen) :: key - - integer :: e, & ! end position of dictionary or list - s, & ! start position of dictionary or list - d ! position of key: value separator (':') - - flow_string = trim(adjustl(flow_string(:))) + class (tNode), pointer :: & + myVal + character(len=:), allocatable :: & + flow_string, & + key + integer :: & + e, & ! end position of dictionary or list + s, & ! start position of dictionary or list + d ! position of key: value separator (':') + + flow_string = trim(adjustl(YAML_flow(:))) if (len_trim(flow_string) == 0) then node => emptyDict return @@ -166,7 +168,12 @@ logical function isListItem(line) character(len=*), intent(in) :: line - isListItem = index(adjustl(line),'-') == 1 + isListItem = .false. + if(len_trim(adjustl(line))> 2 .and. index(trim(adjustl(line)), '-') == 1) then + isListItem = scan(trim(adjustl(line)),' ') == 2 + else + isListItem = trim(adjustl(line)) == '-' + endif end function isListItem @@ -337,7 +344,7 @@ recursive subroutine lst(blck,flow,s_blck,s_flow,offset) integer, intent(inout) :: s_blck, & !< start position in blck s_flow, & !< start position in flow offset !< stores leading '- ' in nested lists - character(len=pStringLen) :: line + character(len=:), allocatable :: line integer :: e_blck,indent indent = indentDepth(blck(s_blck:),offset) @@ -373,8 +380,6 @@ recursive subroutine lst(blck,flow,s_blck,s_flow,offset) offset = 0 endif else ! list item in the same line - if(line(indentDepth(line)+2:indentDepth(line)+2) /= ' ') & - call IO_error(703,ext_msg=line) line = line(indentDepth(line)+3:) if(isScalar(line)) then call line_toFlow(flow,s_flow,line) @@ -419,7 +424,7 @@ recursive subroutine dct(blck,flow,s_blck,s_flow,offset) s_flow, & !< start position in flow offset - character(len=pStringLen) :: line + character(len=:), allocatable :: line integer :: e_blck,indent logical :: previous_isKey @@ -490,7 +495,7 @@ recursive subroutine decide(blck,flow,s_blck,s_flow,offset) s_flow, & !< start position in flow offset integer :: e_blck - character(len=pStringLen) :: line + character(len=:), allocatable :: line if(s_blck <= len(blck)) then e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 @@ -564,8 +569,9 @@ subroutine selfTest() if (.not. isFlow(' [')) call IO_error(0,ext_msg='isFlow') if ( isListItem(' a')) call IO_error(0,ext_msg='isListItem') + if ( isListItem(' -b')) call IO_error(0,ext_msg='isListItem') if (.not. isListItem('- a ')) call IO_error(0,ext_msg='isListItem') - if (.not. isListItem(' -b')) call IO_error(0,ext_msg='isListItem') + if (.not. isListItem('- -a ')) call IO_error(0,ext_msg='isListItem') if ( isKeyValue(' a')) call IO_error(0,ext_msg='isKeyValue') if ( isKeyValue(' a: ')) call IO_error(0,ext_msg='isKeyValue') diff --git a/src/YAML_types.f90 b/src/YAML_types.f90 index ad3db9d47..9f82e622a 100644 --- a/src/YAML_types.f90 +++ b/src/YAML_types.f90 @@ -8,12 +8,10 @@ !-------------------------------------------------------------------------------------------------- module YAML_types - use IO use prec implicit none - private type, abstract, public :: tNode @@ -74,7 +72,7 @@ module YAML_types getKey => tNode_getKey_byIndex procedure :: & contains => tNode_contains - + generic :: & get => tNode_get_byIndex, & tNode_get_byKey @@ -181,6 +179,7 @@ module YAML_types public :: & YAML_types_init, & + output_asStrings, & !ToDo: Hack for GNU. Remove later assignment(=) contains @@ -210,9 +209,9 @@ subroutine selfTest s1 = '1' if(s1%asInt() /= 1) call IO_error(0,ext_msg='tScalar_asInt') if(dNeq(s1%asFloat(),1.0_pReal)) call IO_error(0,ext_msg='tScalar_asFloat') - s1 = 'True' + s1 = 'true' if(.not. s1%asBool()) call IO_error(0,ext_msg='tScalar_asBool') - if(s1%asString() /= 'True') call IO_error(0,ext_msg='tScalar_asString') + if(s1%asString() /= 'true') call IO_error(0,ext_msg='tScalar_asString') end select block @@ -259,7 +258,7 @@ subroutine selfTest allocate(tScalar::s2) s3 => s1%asScalar() s4 => s2%asScalar() - s3 = 'True' + s3 = 'true' s4 = 'False' call l1%append(s1) @@ -267,9 +266,9 @@ subroutine selfTest n => l1 if(any(l1%asBools() .neqv. [.true., .false.])) call IO_error(0,ext_msg='tList_asBools') - if(any(l1%asStrings() /= ['True ','False'])) call IO_error(0,ext_msg='tList_asStrings') + if(any(l1%asStrings() /= ['true ','False'])) call IO_error(0,ext_msg='tList_asStrings') if(n%get_asBool(2)) call IO_error(0,ext_msg='byIndex_asBool') - if(n%get_asString(1) /= 'True') call IO_error(0,ext_msg='byIndex_asString') + if(n%get_asString(1) /= 'true') call IO_error(0,ext_msg='byIndex_asString') end block end subroutine selfTest @@ -710,7 +709,6 @@ function tNode_get_byKey_asFloat(self,k,defaultVal) result(nodeAsFloat) else call IO_error(143,ext_msg=k) endif - end function tNode_get_byKey_asFloat @@ -764,7 +762,6 @@ function tNode_get_byKey_asBool(self,k,defaultVal) result(nodeAsBool) call IO_error(143,ext_msg=k) endif - end function tNode_get_byKey_asBool @@ -791,25 +788,37 @@ function tNode_get_byKey_asString(self,k,defaultVal) result(nodeAsString) call IO_error(143,ext_msg=k) endif - end function tNode_get_byKey_asString !-------------------------------------------------------------------------------------------------- !> @brief Access by key and convert to float array !-------------------------------------------------------------------------------------------------- -function tNode_get_byKey_asFloats(self,k) result(nodeAsFloats) +function tNode_get_byKey_asFloats(self,k,defaultVal,requiredSize) result(nodeAsFloats) + + class(tNode), intent(in), target :: self + character(len=*), intent(in) :: k + real(pReal), intent(in), dimension(:), optional :: defaultVal + integer, intent(in), optional :: requiredSize - class(tNode), intent(in), target :: self - character(len=*), intent(in) :: k real(pReal), dimension(:), allocatable :: nodeAsFloats class(tNode), pointer :: node type(tList), pointer :: list - node => self%get(k) - list => node%asList() - nodeAsFloats = list%asFloats() + if(self%contains(k)) then + node => self%get(k) + list => node%asList() + nodeAsFloats = list%asFloats() + elseif(present(defaultVal)) then + nodeAsFloats = defaultVal + else + call IO_error(143,ext_msg=k) + endif + + if(present(requiredSize)) then + if(requiredSize /= size(nodeAsFloats)) call IO_error(146,ext_msg=k) + endif end function tNode_get_byKey_asFloats @@ -817,18 +826,30 @@ end function tNode_get_byKey_asFloats !-------------------------------------------------------------------------------------------------- !> @brief Access by key and convert to int array !-------------------------------------------------------------------------------------------------- -function tNode_get_byKey_asInts(self,k) result(nodeAsInts) +function tNode_get_byKey_asInts(self,k,defaultVal,requiredSize) result(nodeAsInts) - class(tNode), intent(in), target :: self - character(len=*), intent(in) :: k + class(tNode), intent(in), target :: self + character(len=*), intent(in) :: k + integer, dimension(:), intent(in), optional :: defaultVal + integer, intent(in), optional :: requiredSize integer, dimension(:), allocatable :: nodeAsInts class(tNode), pointer :: node type(tList), pointer :: list - node => self%get(k) - list => node%asList() - nodeAsInts = list%asInts() + if(self%contains(k)) then + node => self%get(k) + list => node%asList() + nodeAsInts = list%asInts() + elseif(present(defaultVal)) then + nodeAsInts = defaultVal + else + call IO_error(143,ext_msg=k) + endif + + if(present(requiredSize)) then + if(requiredSize /= size(nodeAsInts)) call IO_error(146,ext_msg=k) + endif end function tNode_get_byKey_asInts @@ -836,18 +857,25 @@ end function tNode_get_byKey_asInts !-------------------------------------------------------------------------------------------------- !> @brief Access by key and convert to bool array !-------------------------------------------------------------------------------------------------- -function tNode_get_byKey_asBools(self,k) result(nodeAsBools) +function tNode_get_byKey_asBools(self,k,defaultVal) result(nodeAsBools) - class(tNode), intent(in), target :: self - character(len=*), intent(in) :: k - logical, dimension(:), allocatable :: nodeAsBools + class(tNode), intent(in), target :: self + character(len=*), intent(in) :: k + logical, dimension(:), intent(in), optional :: defaultVal + logical, dimension(:), allocatable :: nodeAsBools class(tNode), pointer :: node type(tList), pointer :: list - node => self%get(k) - list => node%asList() - nodeAsBools = list%asBools() + if(self%contains(k)) then + node => self%get(k) + list => node%asList() + nodeAsBools = list%asBools() + elseif(present(defaultVal)) then + nodeAsBools = defaultVal + else + call IO_error(143,ext_msg=k) + endif end function tNode_get_byKey_asBools @@ -855,22 +883,50 @@ end function tNode_get_byKey_asBools !-------------------------------------------------------------------------------------------------- !> @brief Access by key and convert to string array !-------------------------------------------------------------------------------------------------- -function tNode_get_byKey_asStrings(self,k) result(nodeAsStrings) +function tNode_get_byKey_asStrings(self,k,defaultVal) result(nodeAsStrings) - class(tNode), intent(in), target :: self - character(len=*), intent(in) :: k - character(len=:), allocatable, dimension(:) :: nodeAsStrings + class(tNode), intent(in), target :: self + character(len=*), intent(in) :: k + character(len=*), intent(in), dimension(:), optional :: defaultVal + character(len=:), allocatable, dimension(:) :: nodeAsStrings class(tNode), pointer :: node type(tList), pointer :: list - node => self%get(k) - list => node%asList() - nodeAsStrings = list%asStrings() + if(self%contains(k)) then + node => self%get(k) + list => node%asList() + nodeAsStrings = list%asStrings() + elseif(present(defaultVal)) then + nodeAsStrings = defaultVal + else + call IO_error(143,ext_msg=k) + endif end function tNode_get_byKey_asStrings +!-------------------------------------------------------------------------------------------------- +!> @brief Returns string output array (hack for GNU) +!-------------------------------------------------------------------------------------------------- +function output_asStrings(self) result(output) !ToDo: SR: Remove whenever GNU works + + class(tNode), pointer,intent(in) :: self + character(len=pStringLen), allocatable, dimension(:) :: output + + class(tNode), pointer :: output_list + integer :: o + + output_list => self%get('output',defaultVal=emptyList) + allocate(output(output_list%length)) + do o = 1, output_list%length + output(o) = output_list%get_asString(o) + enddo + + +end function output_asStrings + + !-------------------------------------------------------------------------------------------------- !> @brief Returns the index of a key in a dictionary !-------------------------------------------------------------------------------------------------- diff --git a/src/commercialFEM_fileList.f90 b/src/commercialFEM_fileList.f90 index e98631fe4..0e5066268 100644 --- a/src/commercialFEM_fileList.f90 +++ b/src/commercialFEM_fileList.f90 @@ -6,9 +6,6 @@ #include "IO.f90" #include "YAML_types.f90" #include "YAML_parse.f90" -#include "numerics.f90" -#include "debug.f90" -#include "list.f90" #include "future.f90" #include "config.f90" #include "LAPACK_interface.f90" @@ -33,7 +30,7 @@ #include "constitutive_plastic_phenopowerlaw.f90" #include "constitutive_plastic_kinehardening.f90" #include "constitutive_plastic_dislotwin.f90" -#include "constitutive_plastic_disloUCLA.f90" +#include "constitutive_plastic_disloTungsten.f90" #include "constitutive_plastic_nonlocal.f90" #include "constitutive_thermal.f90" #include "source_thermal_dissipation.f90" diff --git a/src/config.f90 b/src/config.f90 index 7cc40b7b2..c6c69ed48 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -1,35 +1,36 @@ !-------------------------------------------------------------------------------------------------- !> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH -!> @brief Reads in the material configuration from file -!> @details Reads the material configuration file, where solverJobName.materialConfig takes -!! precedence over material.config. Stores the raw strings and the positions of delimiters for the -!! parts 'homogenization', 'crystallite', 'phase', 'texture', and 'microstucture' +!> @brief Reads in the material, numerics & debug configuration from their respective file +!> @details Reads the material configuration file, where solverJobName.yaml takes +!! precedence over material.yaml. !-------------------------------------------------------------------------------------------------- module config use prec use DAMASK_interface use IO - use debug - use list use YAML_parse use YAML_types +#ifdef PETSc +#include + use petscsys +#endif +!$ use OMP_LIB + implicit none private - type(tPartitionedStringList), public, protected, allocatable, dimension(:) :: & - config_phase, & - config_microstructure, & - config_homogenization, & - config_texture, & - config_crystallite + class(tNode), pointer, public :: & + material_root, & + numerics_root, & + debug_root + + integer, protected, public :: & + worldrank = 0, & !< MPI worldrank (/=0 for MPI simulations only) + worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) + integer(4), protected, public :: & + DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive - character(len=pStringLen), public, protected, allocatable, dimension(:) :: & - config_name_phase, & !< name of each phase - config_name_homogenization, & !< name of each homogenization - config_name_crystallite, & !< name of each crystallite setting - config_name_microstructure, & !< name of each microstructure - config_name_texture !< name of each texture public :: & config_init, & @@ -38,227 +39,117 @@ module config contains !-------------------------------------------------------------------------------------------------- -!> @brief reads material.config and stores its content per part +!> @brief calls subroutines that reads material, numerics and debug configuration files !-------------------------------------------------------------------------------------------------- subroutine config_init - integer :: i - logical :: verbose - - character(len=pStringLen) :: & - line, & - part - character(len=pStringLen), dimension(:), allocatable :: fileContent - class(tNode), pointer :: & - debug_material - logical :: fileExists - write(6,'(/,a)') ' <<<+- config init -+>>>'; flush(6) - - debug_material => debug_root%get('material',defaultVal=emptyList) - verbose = debug_material%contains('basic') - - inquire(file=trim(getSolverJobName())//'.materialConfig',exist=fileExists) - if(fileExists) then - write(6,'(/,a)') ' reading '//trim(getSolverJobName())//'.materialConfig'; flush(6) - fileContent = read_materialConfig(trim(getSolverJobName())//'.materialConfig') - else - inquire(file='material.config',exist=fileExists) - if(.not. fileExists) call IO_error(100,ext_msg='material.config') - write(6,'(/,a)') ' reading material.config'; flush(6) - fileContent = read_materialConfig('material.config') - endif - - do i = 1, size(fileContent) - line = trim(fileContent(i)) - part = IO_lc(IO_getTag(line,'<','>')) - select case (trim(part)) - - case (trim('phase')) - call parse_materialConfig(config_name_phase,config_phase,line,fileContent(i+1:)) - if (verbose) write(6,'(a)') ' Phase parsed'; flush(6) - - case (trim('microstructure')) - call parse_materialConfig(config_name_microstructure,config_microstructure,line,fileContent(i+1:)) - if (verbose) write(6,'(a)') ' Microstructure parsed'; flush(6) - - case (trim('crystallite')) - call parse_materialConfig(config_name_crystallite,config_crystallite,line,fileContent(i+1:)) - if (verbose) write(6,'(a)') ' Crystallite parsed'; flush(6) - deallocate(config_crystallite) - - case (trim('homogenization')) - call parse_materialConfig(config_name_homogenization,config_homogenization,line,fileContent(i+1:)) - if (verbose) write(6,'(a)') ' Homogenization parsed'; flush(6) - - case (trim('texture')) - call parse_materialConfig(config_name_texture,config_texture,line,fileContent(i+1:)) - if (verbose) write(6,'(a)') ' Texture parsed'; flush(6) - - end select - - enddo - - if (.not. allocated(config_homogenization) .or. size(config_homogenization) < 1) & - call IO_error(160,ext_msg='') - if (.not. allocated(config_microstructure) .or. size(config_microstructure) < 1) & - call IO_error(160,ext_msg='') - if (.not. allocated(config_phase) .or. size(config_phase) < 1) & - call IO_error(160,ext_msg='') - if (.not. allocated(config_texture) .or. size(config_texture) < 1) & - call IO_error(160,ext_msg='') - - -contains - - -!-------------------------------------------------------------------------------------------------- -!> @brief reads material.config -!! Recursion is triggered by "{path/to/inputfile}" in a line -!-------------------------------------------------------------------------------------------------- -recursive function read_materialConfig(fileName,cnt) result(fileContent) - - character(len=*), intent(in) :: fileName !< name of the material configuration file - integer, intent(in), optional :: cnt !< recursion counter - character(len=pStringLen), dimension(:), allocatable :: fileContent !< file content, separated per lines - character(len=pStringLen), dimension(:), allocatable :: includedContent - character(len=pStringLen) :: line - character(len=pStringLen), parameter :: dummy = 'https://damask.mpie.de' !< to fill up remaining array - character(len=:), allocatable :: rawData - integer :: & - startPos, endPos, & - myTotalLines, & !< # lines read from file without include statements - l,i - logical :: warned - if (present(cnt)) then - if (cnt>10) call IO_error(106,ext_msg=trim(fileName)) - endif - - rawData = IO_read(fileName) ! read data as stream - -!-------------------------------------------------------------------------------------------------- -! count lines to allocate string array - myTotalLines = 1 - do l=1, len(rawData) - if (rawData(l:l) == IO_EOL) myTotalLines = myTotalLines+1 - enddo - allocate(fileContent(myTotalLines)) - -!-------------------------------------------------------------------------------------------------- -! split raw data at end of line and handle includes - warned = .false. - startPos = 1 - l = 1 - do while (l <= myTotalLines) - endPos = merge(startPos + scan(rawData(startPos:),IO_EOL) - 2,len(rawData),l /= myTotalLines) - if (endPos - startPos > pStringLen -1) then - line = rawData(startPos:startPos+pStringLen-1) - if (.not. warned) then - call IO_warning(207,ext_msg=trim(fileName),el=l) - warned = .true. - endif - else - line = rawData(startPos:endpos) - endif - startPos = endPos + 2 ! jump to next line start - - recursion: if (scan(trim(adjustl(line)),'{') == 1 .and. scan(trim(line),'}') > 2) then - includedContent = read_materialConfig(trim(line(scan(line,'{')+1:scan(line,'}')-1)), & - merge(cnt,1,present(cnt))) ! to track recursion depth - fileContent = [ fileContent(1:l-1), includedContent, [(dummy,i=1,myTotalLines-l)] ] ! add content and grow array - myTotalLines = myTotalLines - 1 + size(includedContent) - l = l - 1 + size(includedContent) - else recursion - fileContent(l) = line - l = l + 1 - endif recursion - - enddo - -end function read_materialConfig - - -!-------------------------------------------------------------------------------------------------- -!> @brief parses the material.config file -!-------------------------------------------------------------------------------------------------- -subroutine parse_materialConfig(sectionNames,part,line, & - fileContent) - - character(len=pStringLen), allocatable, dimension(:), intent(out) :: sectionNames - type(tPartitionedStringList), allocatable, dimension(:), intent(inout) :: part - character(len=pStringLen), intent(inout) :: line - character(len=pStringLen), dimension(:), intent(in) :: fileContent - - integer, allocatable, dimension(:) :: partPosition !< position of [] tags + last line in section - integer :: i, j - logical :: echo - character(len=pStringLen) :: sectionName - - echo = .false. - - if (allocated(part)) call IO_error(161,ext_msg=trim(line)) - allocate(partPosition(0)) - - do i = 1, size(fileContent) - line = trim(fileContent(i)) - if (IO_getTag(line,'<','>') /= '') exit - nextSection: if (IO_getTag(line,'[',']') /= '') then - partPosition = [partPosition, i] - cycle - endif nextSection - if (size(partPosition) < 1) & - echo = (trim(IO_getTag(line,'/','/')) == 'echo') .or. echo - enddo - - allocate(sectionNames(size(partPosition))) - allocate(part(size(partPosition))) - - partPosition = [partPosition, i] ! needed when actually storing content - - do i = 1, size(partPosition) -1 - write(sectionName,'(i0,a,a)') i,'_',trim(IO_getTag(fileContent(partPosition(i)),'[',']')) - sectionNames(i) = sectionName - do j = partPosition(i) + 1, partPosition(i+1) -1 - call part(i)%add(trim(adjustl(fileContent(j)))) - enddo - if (echo) then - write(6,*) 'section',i, '"'//trim(sectionNames(i))//'"' - call part(i)%show() - endif - enddo - -end subroutine parse_materialConfig + call parse_material + call parse_numerics + call parse_debug + end subroutine config_init !-------------------------------------------------------------------------------------------------- -!> @brief deallocates the linked lists that store the content of the configuration files +!> @brief reads material.yaml !-------------------------------------------------------------------------------------------------- -subroutine config_deallocate(what) +subroutine parse_material - character(len=*), intent(in) :: what + logical :: fileExists + character(len=:), allocatable :: fname,flow - select case(trim(what)) + fname = getSolverJobName()//'.yaml' + inquire(file=fname,exist=fileExists) + if(.not. fileExists) then + fname = 'material.yaml' + inquire(file=fname,exist=fileExists) + if(.not. fileExists) call IO_error(100,ext_msg=fname) + endif - case('material.config/phase') - deallocate(config_phase) + write(6,'(/,a)') ' reading '//fname; flush(6) + flow = to_flow(IO_read(fname)) + material_root => parse_flow(flow) - case('material.config/microstructure') - deallocate(config_microstructure) +end subroutine parse_material - case('material.config/homogenization') - deallocate(config_homogenization) - case('material.config/texture') - deallocate(config_texture) - - case default - call IO_error(0,ext_msg='config_deallocate') +!-------------------------------------------------------------------------------------------------- +!> @brief reads in parameters from numerics.yaml and sets openMP related parameters. Also does +! a sanity check +!-------------------------------------------------------------------------------------------------- +subroutine parse_numerics - end select +!$ integer :: gotDAMASK_NUM_THREADS = 1 + integer :: ierr + character(len=:), allocatable :: & + numerics_inFlow + logical :: fexist +!$ character(len=6) DAMASK_NumThreadsString ! environment variable DAMASK_NUM_THREADS +#ifdef PETSc + call MPI_Comm_rank(PETSC_COMM_WORLD,worldrank,ierr);CHKERRQ(ierr) + call MPI_Comm_size(PETSC_COMM_WORLD,worldsize,ierr);CHKERRQ(ierr) +#endif + +!$ call GET_ENVIRONMENT_VARIABLE(NAME='DAMASK_NUM_THREADS',VALUE=DAMASK_NumThreadsString,STATUS=gotDAMASK_NUM_THREADS) ! get environment variable DAMASK_NUM_THREADS... +!$ if(gotDAMASK_NUM_THREADS /= 0) then ! could not get number of threads, set it to 1 +!$ call IO_warning(35,ext_msg='BEGIN:'//DAMASK_NumThreadsString//':END') +!$ DAMASK_NumThreadsInt = 1_4 +!$ else +!$ read(DAMASK_NumThreadsString,'(i6)') DAMASK_NumThreadsInt ! read as integer +!$ if (DAMASK_NumThreadsInt < 1_4) DAMASK_NumThreadsInt = 1_4 ! in case of string conversion fails, set it to one +!$ endif +!$ call omp_set_num_threads(DAMASK_NumThreadsInt) ! set number of threads for parallel execution + + numerics_root => emptyDict + inquire(file='numerics.yaml', exist=fexist) + + if (fexist) then + write(6,'(a,/)') ' using values from config.yaml file' + flush(6) + numerics_inFlow = to_flow(IO_read('numerics.yaml')) + numerics_root => parse_flow(numerics_inFlow) + endif + +!-------------------------------------------------------------------------------------------------- +! openMP parameter + !$ write(6,'(a24,1x,i8,/)') ' number of threads: ',DAMASK_NumThreadsInt + +end subroutine parse_numerics + + +!-------------------------------------------------------------------------------------------------- +!> @brief reads in parameters from debug.yaml +!-------------------------------------------------------------------------------------------------- +subroutine parse_debug + + character(len=:), allocatable :: debug_inFlow + logical :: fexist + +#ifdef DEBUG + write(6,'(a)') achar(27)//'[31m <<<+- DEBUG version -+>>>'//achar(27)//'[0m' +#endif + + debug_root => emptyDict + inquire(file='debug.yaml', exist=fexist) + fileExists: if (fexist) then + debug_inFlow = to_flow(IO_read('debug.yaml')) + debug_root => parse_flow(debug_inFlow) + endif fileExists + +end subroutine parse_debug + + +!-------------------------------------------------------------------------------------------------- +!> @brief deallocates material.yaml structure +!-------------------------------------------------------------------------------------------------- +subroutine config_deallocate + + deallocate(material_root) !ToDo: deallocation of numerics and debug (slightly different for optional files) + end subroutine config_deallocate end module config diff --git a/src/constitutive.f90 b/src/constitutive.f90 index feff4af86..4ecae8e01 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -7,8 +7,6 @@ module constitutive use prec use math use rotations - use debug - use numerics use IO use config use material @@ -21,6 +19,33 @@ module constitutive implicit none private + integer(kind(ELASTICITY_undefined_ID)), dimension(:), allocatable, protected :: & + phase_elasticity !< elasticity of each phase + + integer(kind(PLASTICITY_undefined_ID)), dimension(:), allocatable :: & !ToDo: old intel compiler complains about protected + phase_plasticity !< plasticity of each phase + + integer(kind(SOURCE_undefined_ID)), dimension(:,:), allocatable :: & ! ToDo: old intel compiler complains about protected + phase_source, & !< active sources mechanisms of each phase + phase_kinematics, & !< active kinematic mechanisms of each phase + phase_stiffnessDegradation !< active stiffness degradation mechanisms of each phase + + integer, dimension(:), allocatable, public :: & ! ToDo: old intel compiler complains about protected + phase_Nsources, & !< number of source mechanisms active in each phase + phase_Nkinematics, & !< number of kinematic mechanisms active in each phase + phase_NstiffnessDegradations, & !< number of stiffness degradation mechanisms active in each phase + phase_plasticityInstance, & !< instance of particular plasticity of each phase + phase_elasticityInstance !< instance of particular elasticity of each phase + + logical, dimension(:), allocatable, public :: & ! ToDo: old intel compiler complains about protected + phase_localPlasticity !< flags phases with local constitutive law + + type(tPlasticState), allocatable, dimension(:), public :: & + plasticState + type(tSourceState), allocatable, dimension(:), public :: & + sourceState + + integer, public, protected :: & constitutive_plasticity_maxSizeDotState, & constitutive_source_maxSizeDotState @@ -37,6 +62,23 @@ module constitutive end subroutine thermal_init + module function plastic_active(plastic_label) result(active_plastic) + character(len=*), intent(in) :: plastic_label + logical, dimension(:), allocatable :: active_plastic + end function plastic_active + + module function source_active(source_label,src_length) result(active_source) + character(len=*), intent(in) :: source_label + integer, intent(in) :: src_length + logical, dimension(:,:), allocatable :: active_source + end function source_active + + module function kinematics_active(kinematics_label,kinematics_length) result(active_kinematics) + character(len=*), intent(in) :: kinematics_label + integer, intent(in) :: kinematics_length + logical, dimension(:,:), allocatable :: active_kinematics + end function kinematics_active + module subroutine plastic_isotropic_dotState(Mp,instance,of) real(pReal), dimension(3,3), intent(in) :: & Mp !< Mandel stress @@ -71,7 +113,7 @@ module constitutive of end subroutine plastic_dislotwin_dotState - module subroutine plastic_disloUCLA_dotState(Mp,T,instance,of) + module subroutine plastic_disloTungsten_dotState(Mp,T,instance,of) real(pReal), dimension(3,3), intent(in) :: & Mp !< Mandel stress real(pReal), intent(in) :: & @@ -79,7 +121,7 @@ module constitutive integer, intent(in) :: & instance, & of - end subroutine plastic_disloUCLA_dotState + end subroutine plastic_disloTungsten_dotState module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & instance,of,ip,el) @@ -286,7 +328,6 @@ module constitutive end subroutine constitutive_plastic_LpAndItsTangents end interface constitutive_LpAndItsTangents - interface constitutive_dependentState @@ -326,11 +367,14 @@ module constitutive constitutive_SandItsTangents, & constitutive_collectDotState, & constitutive_deltaState, & - plastic_nonlocal_updateCompatibility, & constitutive_damage_getRateAndItsTangents, & constitutive_thermal_getRateAndItsTangents, & - constitutive_results - + constitutive_results, & + constitutive_allocateState, & + plastic_nonlocal_updateCompatibility, & + plastic_active, & + source_active, & + kinematics_active contains @@ -340,10 +384,15 @@ contains subroutine constitutive_init integer :: & - ph, & !< counter in phase loop - s !< counter in source loop + p, & !< counter in phase loop + s, & !< counter in source loop + stiffDegradationCtr class (tNode), pointer :: & - debug_constitutive + debug_constitutive, & + phases, & + phase, & + elastic, & + stiffDegradation debug_constitutive => debug_root%get('constitutive', defaultVal=emptyList) debugConstitutive%basic = debug_constitutive%contains('basic') @@ -353,7 +402,46 @@ subroutine constitutive_init debugConstitutive%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) debugConstitutive%grain = debug_root%get_asInt('grain',defaultVal = 1) +!------------------------------------------------------------------------------------------------- +! initialize elasticity (hooke) !ToDO: Maybe move to elastic submodule along with function homogenizedC? + phases => material_root%get('phase') + allocate(phase_elasticity(phases%length), source = ELASTICITY_undefined_ID) + allocate(phase_elasticityInstance(phases%length), source = 0) + allocate(phase_NstiffnessDegradations(phases%length),source=0) + do p = 1, phases%length + phase => phases%get(p) + elastic => phase%get('elasticity') + if(elastic%get_asString('type') == 'hooke') then + phase_elasticity(p) = ELASTICITY_HOOKE_ID + else + call IO_error(200,ext_msg=elastic%get_asString('type')) + endif + stiffDegradation => phase%get('stiffness_degradation',defaultVal=emptyList) ! check for stiffness degradation mechanisms + phase_NstiffnessDegradations(p) = stiffDegradation%length + enddo + + allocate(phase_stiffnessDegradation(maxval(phase_NstiffnessDegradations),phases%length), & + source=STIFFNESS_DEGRADATION_undefined_ID) + + if(maxVal(phase_NstiffnessDegradations)/=0) then + do p = 1, phases%length + phase => phases%get(p) + stiffDegradation => phase%get('stiffness_degradation',defaultVal=emptyList) + do stiffDegradationCtr = 1, stiffDegradation%length + if(stiffDegradation%get_asString(stiffDegradationCtr) == 'damage') & + phase_stiffnessDegradation(stiffDegradationCtr,p) = STIFFNESS_DEGRADATION_damage_ID + enddo + enddo + endif + + do p = 1, phases%length + phase_elasticityInstance(p) = count(phase_elasticity(1:p) == phase_elasticity(p)) + enddo + + +!-------------------------------------------------------------------------------------------------- +! initialize constitutive laws call plastic_init call damage_init call thermal_init @@ -361,23 +449,87 @@ subroutine constitutive_init write(6,'(/,a)') ' <<<+- constitutive init -+>>>'; flush(6) constitutive_source_maxSizeDotState = 0 - PhaseLoop2:do ph = 1,material_Nphase + PhaseLoop2:do p = 1,phases%length !-------------------------------------------------------------------------------------------------- ! partition and initialize state - plasticState(ph)%partionedState0 = plasticState(ph)%state0 - plasticState(ph)%state = plasticState(ph)%partionedState0 - forall(s = 1:phase_Nsources(ph)) - sourceState(ph)%p(s)%partionedState0 = sourceState(ph)%p(s)%state0 - sourceState(ph)%p(s)%state = sourceState(ph)%p(s)%partionedState0 + plasticState(p)%partionedState0 = plasticState(p)%state0 + plasticState(p)%state = plasticState(p)%partionedState0 + forall(s = 1:phase_Nsources(p)) + sourceState(p)%p(s)%partionedState0 = sourceState(p)%p(s)%state0 + sourceState(p)%p(s)%state = sourceState(p)%p(s)%partionedState0 end forall constitutive_source_maxSizeDotState = max(constitutive_source_maxSizeDotState, & - maxval(sourceState(ph)%p%sizeDotState)) + maxval(sourceState(p)%p%sizeDotState)) enddo PhaseLoop2 constitutive_plasticity_maxSizeDotState = maxval(plasticState%sizeDotState) end subroutine constitutive_init + +!-------------------------------------------------------------------------------------------------- +!> @brief checks if a source mechanism is active or not +!-------------------------------------------------------------------------------------------------- +module function source_active(source_label,src_length) result(active_source) + + character(len=*), intent(in) :: source_label !< name of source mechanism + integer, intent(in) :: src_length !< max. number of sources in system + logical, dimension(:,:), allocatable :: active_source + + class(tNode), pointer :: & + phases, & + phase, & + sources, & + src + integer :: p,s + + phases => material_root%get('phase') + allocate(active_source(src_length,phases%length), source = .false. ) + do p = 1, phases%length + phase => phases%get(p) + sources => phase%get('source',defaultVal=emptyList) + do s = 1, sources%length + src => sources%get(s) + if(src%get_asString('type') == source_label) active_source(s,p) = .true. + enddo + enddo + + +end function source_active + + +!-------------------------------------------------------------------------------------------------- +!> @brief checks if a kinematic mechanism is active or not +!-------------------------------------------------------------------------------------------------- + +module function kinematics_active(kinematics_label,kinematics_length) result(active_kinematics) + + character(len=*), intent(in) :: kinematics_label !< name of kinematic mechanism + integer, intent(in) :: kinematics_length !< max. number of kinematics in system + logical, dimension(:,:), allocatable :: active_kinematics + + class(tNode), pointer :: & + phases, & + phase, & + kinematics, & + kinematics_type + integer :: p,k + + phases => material_root%get('phase') + allocate(active_kinematics(kinematics_length,phases%length), source = .false. ) + do p = 1, phases%length + phase => phases%get(p) + kinematics => phase%get('kinematics',defaultVal=emptyList) + do k = 1, kinematics%length + kinematics_type => kinematics%get(k) + if(kinematics_type%get_asString('type') == kinematics_label) active_kinematics(k,p) = .true. + enddo + enddo + + +end function kinematics_active + + !-------------------------------------------------------------------------------------------------- !> @brief returns the homogenize elasticity matrix !> ToDo: homogenizedC66 would be more consistent @@ -626,7 +778,7 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el plasticityType: select case (phase_plasticity(phase)) case (PLASTICITY_ISOTROPIC_ID) plasticityType - call plastic_isotropic_dotState (Mp,instance,of) + call plastic_isotropic_dotState(Mp,instance,of) case (PLASTICITY_PHENOPOWERLAW_ID) plasticityType call plastic_phenopowerlaw_dotState(Mp,instance,of) @@ -635,13 +787,13 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el call plastic_kinehardening_dotState(Mp,instance,of) case (PLASTICITY_DISLOTWIN_ID) plasticityType - call plastic_dislotwin_dotState (Mp,temperature(ho)%p(tme),instance,of) + call plastic_dislotwin_dotState(Mp,temperature(ho)%p(tme),instance,of) - case (PLASTICITY_DISLOUCLA_ID) plasticityType - call plastic_disloucla_dotState (Mp,temperature(ho)%p(tme),instance,of) + case (PLASTICITY_DISLOTUNGSTEN_ID) plasticityType + call plastic_disloTungsten_dotState(Mp,temperature(ho)%p(tme),instance,of) case (PLASTICITY_NONLOCAL_ID) plasticityType - call plastic_nonlocal_dotState (Mp,FArray,FpArray,temperature(ho)%p(tme),subdt, & + call plastic_nonlocal_dotState(Mp,FArray,FpArray,temperature(ho)%p(tme),subdt, & instance,of,ip,el) end select plasticityType broken = any(IEEE_is_NaN(plasticState(phase)%dotState(:,of))) @@ -651,13 +803,13 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el sourceType: select case (phase_source(i,phase)) case (SOURCE_damage_anisoBrittle_ID) sourceType - call source_damage_anisoBrittle_dotState (S, ipc, ip, el) ! correct stress? + call source_damage_anisoBrittle_dotState(S, ipc, ip, el) ! correct stress? case (SOURCE_damage_isoDuctile_ID) sourceType - call source_damage_isoDuctile_dotState ( ipc, ip, el) + call source_damage_isoDuctile_dotState(ipc, ip, el) case (SOURCE_damage_anisoDuctile_ID) sourceType - call source_damage_anisoDuctile_dotState ( ipc, ip, el) + call source_damage_anisoDuctile_dotState(ipc, ip, el) case (SOURCE_thermal_externalheat_ID) sourceType call source_thermal_externalheat_dotState(phase,of) @@ -749,6 +901,39 @@ function constitutive_deltaState(S, Fe, Fi, ipc, ip, el, phase, of) result(broke end function constitutive_deltaState +!-------------------------------------------------------------------------------------------------- +!> @brief Allocate the components of the state structure for a given phase +!-------------------------------------------------------------------------------------------------- +subroutine constitutive_allocateState(state, & + NipcMyPhase,sizeState,sizeDotState,sizeDeltaState) + + class(tState), intent(out) :: & + state + integer, intent(in) :: & + NipcMyPhase, & + sizeState, & + sizeDotState, & + sizeDeltaState + + state%sizeState = sizeState + state%sizeDotState = sizeDotState + state%sizeDeltaState = sizeDeltaState + state%offsetDeltaState = sizeState-sizeDeltaState ! deltaState occupies latter part of state by definition + + allocate(state%atol (sizeState), source=0.0_pReal) + allocate(state%state0 (sizeState,NipcMyPhase), source=0.0_pReal) + allocate(state%partionedState0(sizeState,NipcMyPhase), source=0.0_pReal) + allocate(state%subState0 (sizeState,NipcMyPhase), source=0.0_pReal) + allocate(state%state (sizeState,NipcMyPhase), source=0.0_pReal) + + allocate(state%dotState (sizeDotState,NipcMyPhase), source=0.0_pReal) + + allocate(state%deltaState(sizeDeltaState,NipcMyPhase), source=0.0_pReal) + + +end subroutine constitutive_allocateState + + !-------------------------------------------------------------------------------------------------- !> @brief writes constitutive results to HDF5 output file !-------------------------------------------------------------------------------------------------- @@ -759,4 +944,5 @@ subroutine constitutive_results end subroutine constitutive_results + end module constitutive diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 index 9e0c686b0..83b2c2384 100644 --- a/src/constitutive_damage.f90 +++ b/src/constitutive_damage.f90 @@ -5,23 +5,35 @@ submodule(constitutive) constitutive_damage interface - module subroutine source_damage_anisoBrittle_init - end subroutine source_damage_anisoBrittle_init + module function source_damage_anisoBrittle_init(source_length) result(mySources) + integer, intent(in) :: source_length + logical, dimension(:,:), allocatable :: mySources + end function source_damage_anisoBrittle_init - module subroutine source_damage_anisoDuctile_init - end subroutine source_damage_anisoDuctile_init + module function source_damage_anisoDuctile_init(source_length) result(mySources) + integer, intent(in) :: source_length + logical, dimension(:,:), allocatable :: mySources + end function source_damage_anisoDuctile_init - module subroutine source_damage_isoBrittle_init - end subroutine source_damage_isoBrittle_init + module function source_damage_isoBrittle_init(source_length) result(mySources) + integer, intent(in) :: source_length + logical, dimension(:,:), allocatable :: mySources + end function source_damage_isoBrittle_init - module subroutine source_damage_isoDuctile_init - end subroutine source_damage_isoDuctile_init + module function source_damage_isoDuctile_init(source_length) result(mySources) + integer, intent(in) :: source_length + logical, dimension(:,:), allocatable :: mySources + end function source_damage_isoDuctile_init - module subroutine kinematics_cleavage_opening_init - end subroutine kinematics_cleavage_opening_init + module function kinematics_cleavage_opening_init(kinematics_length) result(myKinematics) + integer, intent(in) :: kinematics_length + logical, dimension(:,:), allocatable :: myKinematics + end function kinematics_cleavage_opening_init - module subroutine kinematics_slipplane_opening_init - end subroutine kinematics_slipplane_opening_init + module function kinematics_slipplane_opening_init(kinematics_length) result(myKinematics) + integer, intent(in) :: kinematics_length + logical, dimension(:,:), allocatable :: myKinematics + end function kinematics_slipplane_opening_init module subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) @@ -97,16 +109,51 @@ contains !---------------------------------------------------------------------------------------------- module subroutine damage_init + integer :: & + ph !< counter in phase loop + class(tNode), pointer :: & + phases, & + phase, & + sources, & + kinematics + + phases => material_root%get('phase') + + allocate(sourceState (phases%length)) + allocate(phase_Nsources(phases%length),source = 0) ! same for kinematics + + do ph = 1,phases%length + phase => phases%get(ph) + sources => phase%get('source',defaultVal=emptyList) + phase_Nsources(ph) = sources%length + allocate(sourceState(ph)%p(phase_Nsources(ph))) + enddo + + allocate(phase_source(maxval(phase_Nsources),phases%length), source = SOURCE_undefined_ID) + ! initialize source mechanisms - if (any(phase_source == SOURCE_damage_isoBrittle_ID)) call source_damage_isoBrittle_init - if (any(phase_source == SOURCE_damage_isoDuctile_ID)) call source_damage_isoDuctile_init - if (any(phase_source == SOURCE_damage_anisoBrittle_ID)) call source_damage_anisoBrittle_init - if (any(phase_source == SOURCE_damage_anisoDuctile_ID)) call source_damage_anisoDuctile_init + if(maxval(phase_Nsources) /= 0) then + where(source_damage_isoBrittle_init (maxval(phase_Nsources))) phase_source = SOURCE_damage_isoBrittle_ID + where(source_damage_isoDuctile_init (maxval(phase_Nsources))) phase_source = SOURCE_damage_isoDuctile_ID + where(source_damage_anisoBrittle_init (maxval(phase_Nsources))) phase_source = SOURCE_damage_anisoBrittle_ID + where(source_damage_anisoDuctile_init (maxval(phase_Nsources))) phase_source = SOURCE_damage_anisoDuctile_ID + endif !-------------------------------------------------------------------------------------------------- ! initialize kinematic mechanisms - if (any(phase_kinematics == KINEMATICS_cleavage_opening_ID)) call kinematics_cleavage_opening_init - if (any(phase_kinematics == KINEMATICS_slipplane_opening_ID)) call kinematics_slipplane_opening_init + allocate(phase_Nkinematics(phases%length),source = 0) + do ph = 1,phases%length + phase => phases%get(ph) + kinematics => phase%get('kinematics',defaultVal=emptyList) + phase_Nkinematics(ph) = kinematics%length + enddo + + allocate(phase_kinematics(maxval(phase_Nkinematics),phases%length), source = KINEMATICS_undefined_ID) + + if(maxval(phase_Nkinematics) /= 0) then + where(kinematics_cleavage_opening_init(maxval(phase_Nkinematics))) phase_kinematics = KINEMATICS_cleavage_opening_ID + where(kinematics_slipplane_opening_init(maxval(phase_Nkinematics))) phase_kinematics = KINEMATICS_slipplane_opening_ID + endif end subroutine damage_init @@ -168,16 +215,17 @@ end subroutine constitutive_damage_getRateAndItsTangents !---------------------------------------------------------------------------------------------- -!< @brief writes damage sources resultsvto HDF5 output file +!< @brief writes damage sources results to HDF5 output file !---------------------------------------------------------------------------------------------- module subroutine damage_results integer :: p,i character(len=pStringLen) :: group - do p = 1, size(config_name_phase) + do p = 1, size(material_name_phase) + sourceLoop: do i = 1, phase_Nsources(p) - group = trim('current/constituent')//'/'//trim(config_name_phase(p)) + group = trim('current/constituent')//'/'//trim(material_name_phase(p)) group = trim(group)//'/sources' call results_closeGroup(results_addGroup(group)) diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index f7b1569d2..628a98d1a 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -5,26 +5,40 @@ submodule(constitutive) constitutive_plastic interface - module subroutine plastic_none_init - end subroutine plastic_none_init + module function plastic_none_init() result(myPlasticity) + logical, dimension(:), allocatable :: & + myPlasticity + end function plastic_none_init - module subroutine plastic_isotropic_init - end subroutine plastic_isotropic_init + module function plastic_isotropic_init() result(myPlasticity) + logical, dimension(:), allocatable :: & + myPlasticity + end function plastic_isotropic_init - module subroutine plastic_phenopowerlaw_init - end subroutine plastic_phenopowerlaw_init + module function plastic_phenopowerlaw_init() result(myPlasticity) + logical, dimension(:), allocatable :: & + myPlasticity + end function plastic_phenopowerlaw_init - module subroutine plastic_kinehardening_init - end subroutine plastic_kinehardening_init + module function plastic_kinehardening_init() result(myPlasticity) + logical, dimension(:), allocatable :: & + myPlasticity + end function plastic_kinehardening_init - module subroutine plastic_dislotwin_init - end subroutine plastic_dislotwin_init + module function plastic_dislotwin_init() result(myPlasticity) + logical, dimension(:), allocatable :: & + myPlasticity + end function plastic_dislotwin_init - module subroutine plastic_disloUCLA_init - end subroutine plastic_disloUCLA_init + module function plastic_disloTungsten_init() result(myPlasticity) + logical, dimension(:), allocatable :: & + myPlasticity + end function plastic_disloTungsten_init - module subroutine plastic_nonlocal_init - end subroutine plastic_nonlocal_init + module function plastic_nonlocal_init() result(myPlasticity) + logical, dimension(:), allocatable :: & + myPlasticity + end function plastic_nonlocal_init module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) @@ -80,7 +94,7 @@ submodule(constitutive) constitutive_plastic of end subroutine plastic_dislotwin_LpAndItsTangent - pure module subroutine plastic_disloUCLA_LpAndItsTangent(Lp,dLp_dMp,Mp,T,instance,of) + pure module subroutine plastic_disloTungsten_LpAndItsTangent(Lp,dLp_dMp,Mp,T,instance,of) real(pReal), dimension(3,3), intent(out) :: & Lp !< plastic velocity gradient real(pReal), dimension(3,3,3,3), intent(out) :: & @@ -93,7 +107,7 @@ submodule(constitutive) constitutive_plastic integer, intent(in) :: & instance, & of - end subroutine plastic_disloUCLA_LpAndItsTangent + end subroutine plastic_disloTungsten_LpAndItsTangent module subroutine plastic_nonlocal_LpAndItsTangent(Lp,dLp_dMp, & Mp,Temperature,instance,of,ip,el) @@ -122,11 +136,11 @@ submodule(constitutive) constitutive_plastic T end subroutine plastic_dislotwin_dependentState - module subroutine plastic_disloUCLA_dependentState(instance,of) + module subroutine plastic_disloTungsten_dependentState(instance,of) integer, intent(in) :: & instance, & of - end subroutine plastic_disloUCLA_dependentState + end subroutine plastic_disloTungsten_dependentState module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) real(pReal), dimension(3,3), intent(in) :: & @@ -159,10 +173,10 @@ submodule(constitutive) constitutive_plastic character(len=*), intent(in) :: group end subroutine plastic_dislotwin_results - module subroutine plastic_disloUCLA_results(instance,group) + module subroutine plastic_disloTungsten_results(instance,group) integer, intent(in) :: instance character(len=*), intent(in) :: group - end subroutine plastic_disloUCLA_results + end subroutine plastic_disloTungsten_results module subroutine plastic_nonlocal_results(instance,group) integer, intent(in) :: instance @@ -181,21 +195,57 @@ contains !-------------------------------------------------------------------------------------------------- module subroutine plastic_init - if (any(phase_plasticity == PLASTICITY_NONE_ID)) call plastic_none_init - if (any(phase_plasticity == PLASTICITY_ISOTROPIC_ID)) call plastic_isotropic_init - if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init - if (any(phase_plasticity == PLASTICITY_KINEHARDENING_ID)) call plastic_kinehardening_init - if (any(phase_plasticity == PLASTICITY_DISLOTWIN_ID)) call plastic_dislotwin_init - if (any(phase_plasticity == PLASTICITY_DISLOUCLA_ID)) call plastic_disloucla_init - if (any(phase_plasticity == PLASTICITY_NONLOCAL_ID)) then - call plastic_nonlocal_init - else - call geometry_plastic_nonlocal_disable - endif + integer :: p + class(tNode), pointer :: phases + + phases => material_root%get('phase') + + allocate(plasticState(phases%length)) + allocate(phase_plasticity(phases%length),source = PLASTICITY_undefined_ID) + allocate(phase_plasticityInstance(phases%length),source = 0) + allocate(phase_localPlasticity(phases%length), source=.true.) + + where(plastic_none_init()) phase_plasticity = PLASTICITY_NONE_ID + where(plastic_isotropic_init()) phase_plasticity = PLASTICITY_ISOTROPIC_ID + where(plastic_phenopowerlaw_init()) phase_plasticity = PLASTICITY_PHENOPOWERLAW_ID + where(plastic_kinehardening_init()) phase_plasticity = PLASTICITY_KINEHARDENING_ID + where(plastic_dislotwin_init()) phase_plasticity = PLASTICITY_DISLOTWIN_ID + where(plastic_disloTungsten_init()) phase_plasticity = PLASTICITY_DISLOTUNGSTEN_ID + where(plastic_nonlocal_init()) phase_plasticity = PLASTICITY_NONLOCAL_ID + + do p = 1, phases%length + phase_plasticityInstance(p) = count(phase_plasticity(1:p) == phase_plasticity(p)) + enddo + end subroutine plastic_init +!-------------------------------------------------------------------------------------------------- +!> @brief checks if a plastic module is active or not +!-------------------------------------------------------------------------------------------------- +module function plastic_active(plastic_label) result(active_plastic) + + character(len=*), intent(in) :: plastic_label !< type of plasticity model + logical, dimension(:), allocatable :: active_plastic + + class(tNode), pointer :: & + phases, & + phase, & + pl + integer :: p + + phases => material_root%get('phase') + allocate(active_plastic(phases%length), source = .false. ) + do p = 1, phases%length + phase => phases%get(p) + pl => phase%get('plasticity') + if(pl%get_asString('type') == plastic_label) active_plastic(p) = .true. + enddo + +end function plastic_active + + !-------------------------------------------------------------------------------------------------- !> @brief calls microstructure function of the different plasticity constitutive models !-------------------------------------------------------------------------------------------------- @@ -222,8 +272,8 @@ module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el) plasticityType: select case (phase_plasticity(material_phaseAt(ipc,el))) case (PLASTICITY_DISLOTWIN_ID) plasticityType call plastic_dislotwin_dependentState(temperature(ho)%p(tme),instance,of) - case (PLASTICITY_DISLOUCLA_ID) plasticityType - call plastic_disloUCLA_dependentState(instance,of) + case (PLASTICITY_DISLOTUNGSTEN_ID) plasticityType + call plastic_disloTungsten_dependentState(instance,of) case (PLASTICITY_NONLOCAL_ID) plasticityType call plastic_nonlocal_dependentState (F,Fp,instance,of,ip,el) end select plasticityType @@ -275,7 +325,7 @@ module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & dLp_dMp = 0.0_pReal case (PLASTICITY_ISOTROPIC_ID) plasticityType - call plastic_isotropic_LpAndItsTangent (Lp,dLp_dMp,Mp,instance,of) + call plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) case (PLASTICITY_PHENOPOWERLAW_ID) plasticityType call plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) @@ -284,13 +334,13 @@ module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, & call plastic_kinehardening_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) case (PLASTICITY_NONLOCAL_ID) plasticityType - call plastic_nonlocal_LpAndItsTangent (Lp,dLp_dMp,Mp, temperature(ho)%p(tme),instance,of,ip,el) + call plastic_nonlocal_LpAndItsTangent(Lp,dLp_dMp,Mp, temperature(ho)%p(tme),instance,of,ip,el) case (PLASTICITY_DISLOTWIN_ID) plasticityType - call plastic_dislotwin_LpAndItsTangent (Lp,dLp_dMp,Mp,temperature(ho)%p(tme),instance,of) + call plastic_dislotwin_LpAndItsTangent(Lp,dLp_dMp,Mp,temperature(ho)%p(tme),instance,of) - case (PLASTICITY_DISLOUCLA_ID) plasticityType - call plastic_disloucla_LpAndItsTangent (Lp,dLp_dMp,Mp,temperature(ho)%p(tme),instance,of) + case (PLASTICITY_DISLOTUNGSTEN_ID) plasticityType + call plastic_disloTungsten_LpAndItsTangent(Lp,dLp_dMp,Mp,temperature(ho)%p(tme),instance,of) end select plasticityType @@ -311,8 +361,8 @@ module subroutine plastic_results integer :: p character(len=pStringLen) :: group - plasticityLoop: do p=1,size(config_name_phase) - group = trim('current/constituent')//'/'//trim(config_name_phase(p)) + plasticityLoop: do p=1,size(material_name_phase) + group = trim('current/constituent')//'/'//trim(material_name_phase(p)) call results_closeGroup(results_addGroup(group)) group = trim(group)//'/plastic' @@ -332,8 +382,8 @@ module subroutine plastic_results case(PLASTICITY_DISLOTWIN_ID) call plastic_dislotwin_results(phase_plasticityInstance(p),group) - case(PLASTICITY_DISLOUCLA_ID) - call plastic_disloUCLA_results(phase_plasticityInstance(p),group) + case(PLASTICITY_DISLOTUNGSTEN_ID) + call plastic_disloTungsten_results(phase_plasticityInstance(p),group) case(PLASTICITY_NONLOCAL_ID) call plastic_nonlocal_results(phase_plasticityInstance(p),group) diff --git a/src/constitutive_plastic_disloUCLA.f90 b/src/constitutive_plastic_disloTungsten.f90 similarity index 81% rename from src/constitutive_plastic_disloUCLA.f90 rename to src/constitutive_plastic_disloTungsten.f90 index 71f8f4a27..a5cb45654 100644 --- a/src/constitutive_plastic_disloUCLA.f90 +++ b/src/constitutive_plastic_disloTungsten.f90 @@ -5,7 +5,7 @@ !> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH !> @brief crystal plasticity model for bcc metals, especially Tungsten !-------------------------------------------------------------------------------------------------- -submodule(constitutive:constitutive_plastic) plastic_disloUCLA +submodule(constitutive:constitutive_plastic) plastic_disloTungsten real(pReal), parameter :: & kB = 1.38e-23_pReal !< Boltzmann constant in J/Kelvin @@ -20,8 +20,8 @@ submodule(constitutive:constitutive_plastic) plastic_disloUCLA b_sl, & !< magnitude of burgers vector [m] D_a, & i_sl, & !< Adj. parameter for distance between 2 forest dislocations - atomicVolume, & - tau_0, & + atomicVolume, & !< factor to calculate atomic volume + tau_0, & !< Peierls stress !* mobility law parameters delta_F, & !< activation energy for glide [J] v0, & !< dislocation velocity prefactor [m/s] @@ -46,26 +46,26 @@ submodule(constitutive:constitutive_plastic) plastic_disloUCLA dipoleFormation !< flag indicating consideration of dipole formation end type !< container type for internal constitutive parameters - type :: tDisloUCLAState + type :: tDisloTungstenState real(pReal), dimension(:,:), pointer :: & rho_mob, & rho_dip, & gamma_sl - end type tDisloUCLAState + end type tDisloTungstenState - type :: tDisloUCLAdependentState + type :: tDisloTungstendependentState real(pReal), dimension(:,:), allocatable :: & Lambda_sl, & threshold_stress - end type tDisloUCLAdependentState + end type tDisloTungstendependentState !-------------------------------------------------------------------------------------------------- ! containers for parameters and state type(tParameters), allocatable, dimension(:) :: param - type(tDisloUCLAState), allocatable, dimension(:) :: & + type(tDisloTungstenState), allocatable, dimension(:) :: & dotState, & state - type(tDisloUCLAdependentState), allocatable, dimension(:) :: dependentState + type(tDisloTungstendependentState), allocatable, dimension(:) :: dependentState contains @@ -74,8 +74,9 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_disloUCLA_init +module function plastic_disloTungsten_init() result(myPlasticity) + logical, dimension(:), allocatable :: myPlasticity integer :: & Ninstance, & p, i, & @@ -90,43 +91,59 @@ module subroutine plastic_disloUCLA_init a !< non-Schmid coefficients character(len=pStringLen) :: & extmsg = '' + class(tNode), pointer :: & + phases, & + phase, & + pl - write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_DISLOUCLA_LABEL//' init -+>>>' + write(6,'(/,a)') ' <<<+- plastic_disloTungsten init -+>>>' write(6,'(/,a)') ' Cereceda et al., International Journal of Plasticity 78:242–256, 2016' write(6,'(a)') ' https://dx.doi.org/10.1016/j.ijplas.2015.09.002' - Ninstance = count(phase_plasticity == PLASTICITY_DISLOUCLA_ID) + myPlasticity = plastic_active('disloTungsten') + + Ninstance = count(myPlasticity) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) return allocate(param(Ninstance)) allocate(state(Ninstance)) allocate(dotState(Ninstance)) allocate(dependentState(Ninstance)) - do p = 1, size(phase_plasticity) - if (phase_plasticity(p) /= PLASTICITY_DISLOUCLA_ID) cycle - associate(prm => param(phase_plasticityInstance(p)), & - dot => dotState(phase_plasticityInstance(p)), & - stt => state(phase_plasticityInstance(p)), & - dst => dependentState(phase_plasticityInstance(p)), & - config => config_phase(p)) + phases => material_root%get('phase') + i = 0 + do p = 1, phases%length + phase => phases%get(p) - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) + if(.not. myPlasticity(p)) cycle + i = i + 1 + associate(prm => param(i), & + dot => dotState(i), & + stt => state(i), & + dst => dependentState(i)) + pl => phase%get('plasticity') + +#if defined (__GFORTRAN__) + prm%output = output_asStrings(pl) +#else + prm%output = pl%get_asStrings('output',defaultVal=emptyStringArray) +#endif ! This data is read in already in lattice prm%mu = lattice_mu(p) !-------------------------------------------------------------------------------------------------- ! slip related parameters - N_sl = config%getInts('nslip',defaultVal=emptyIntArray) + N_sl = pl%get_asInts('N_sl',defaultVal=emptyIntArray) prm%sum_N_sl = sum(abs(N_sl)) slipActive: if (prm%sum_N_sl > 0) then - prm%P_sl = lattice_SchmidMatrix_slip(N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + prm%P_sl = lattice_SchmidMatrix_slip(N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) - if(trim(config%getString('lattice_structure')) == 'bcc') then - a = config%getFloats('nonschmid_coefficients',defaultVal = emptyRealArray) + if(trim(phase%get_asString('lattice')) == 'bcc') then + a = pl%get_asFloats('nonSchmid_coefficients',defaultVal = emptyRealArray) prm%nonSchmid_pos = lattice_nonSchmidMatrix(N_sl,a,+1) prm%nonSchmid_neg = lattice_nonSchmidMatrix(N_sl,a,-1) else @@ -134,35 +151,36 @@ module subroutine plastic_disloUCLA_init prm%nonSchmid_neg = prm%P_sl endif - prm%h_sl_sl = lattice_interaction_SlipBySlip(N_sl,config%getFloats('interaction_slipslip'), & - config%getString('lattice_structure')) - prm%forestProjection = lattice_forestProjection_edge(N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + prm%h_sl_sl = lattice_interaction_SlipBySlip(N_sl,pl%get_asFloats('h_sl_sl'), & + phase%get_asString('lattice')) + prm%forestProjection = lattice_forestProjection_edge(N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) prm%forestProjection = transpose(prm%forestProjection) - rho_mob_0 = config%getFloats('rhoedge0', requiredSize=size(N_sl)) - rho_dip_0 = config%getFloats('rhoedgedip0', requiredSize=size(N_sl)) - prm%v0 = config%getFloats('v0', requiredSize=size(N_sl)) - prm%b_sl = config%getFloats('slipburgers', requiredSize=size(N_sl)) - prm%delta_F = config%getFloats('qedge', requiredSize=size(N_sl)) + rho_mob_0 = pl%get_asFloats('rho_mob_0', requiredSize=size(N_sl)) + rho_dip_0 = pl%get_asFloats('rho_dip_0', requiredSize=size(N_sl)) + prm%v0 = pl%get_asFloats('v_0', requiredSize=size(N_sl)) + prm%b_sl = pl%get_asFloats('b_sl', requiredSize=size(N_sl)) + prm%delta_F = pl%get_asFloats('Q_s', requiredSize=size(N_sl)) - prm%i_sl = config%getFloats('clambdaslip', requiredSize=size(N_sl)) - prm%tau_0 = config%getFloats('tau_peierls', requiredSize=size(N_sl)) - prm%p = config%getFloats('p_slip', requiredSize=size(N_sl), & + prm%i_sl = pl%get_asFloats('i_sl', requiredSize=size(N_sl)) + prm%tau_0 = pl%get_asFloats('tau_peierls', requiredSize=size(N_sl)) + prm%p = pl%get_asFloats('p_sl', requiredSize=size(N_sl), & defaultVal=[(1.0_pReal,i=1,size(N_sl))]) - prm%q = config%getFloats('q_slip', requiredSize=size(N_sl), & + prm%q = pl%get_asFloats('q_sl', requiredSize=size(N_sl), & defaultVal=[(1.0_pReal,i=1,size(N_sl))]) - prm%kink_height = config%getFloats('kink_height', requiredSize=size(N_sl)) - prm%w = config%getFloats('kink_width', requiredSize=size(N_sl)) - prm%omega = config%getFloats('omega', requiredSize=size(N_sl)) - prm%B = config%getFloats('friction_coeff', requiredSize=size(N_sl)) + prm%kink_height = pl%get_asFloats('h', requiredSize=size(N_sl)) + prm%w = pl%get_asFloats('w', requiredSize=size(N_sl)) + prm%omega = pl%get_asFloats('omega', requiredSize=size(N_sl)) + prm%B = pl%get_asFloats('B', requiredSize=size(N_sl)) - prm%D = config%getFloat('grainsize') - prm%D_0 = config%getFloat('d0') - prm%Q_cl = config%getFloat('qsd') - prm%atomicVolume = config%getFloat('catomicvolume') * prm%b_sl**3.0_pReal - prm%D_a = config%getFloat('cedgedipmindistance') * prm%b_sl - prm%dipoleformation = config%getFloat('dipoleformationfactor') > 0.0_pReal !should be on by default, ToDo: change to /key/-type key + prm%D = pl%get_asFloat('D') + prm%D_0 = pl%get_asFloat('D_0') + prm%Q_cl = pl%get_asFloat('Q_cl') + prm%atomicVolume = pl%get_asFloat('f_at') * prm%b_sl**3.0_pReal + prm%D_a = pl%get_asFloat('D_a') * prm%b_sl + + prm%dipoleformation = pl%get_asBool('dipole_formation_factor', defaultVal = .true.) ! expand: family => system rho_mob_0 = math_expand(rho_mob_0, N_sl) @@ -184,14 +202,14 @@ module subroutine plastic_disloUCLA_init ! sanity checks if ( prm%D_0 <= 0.0_pReal) extmsg = trim(extmsg)//' D_0' if ( prm%Q_cl <= 0.0_pReal) extmsg = trim(extmsg)//' Q_cl' - if (any(rho_mob_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rhoedge0' - if (any(rho_dip_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rhoedgedip0' - if (any(prm%v0 < 0.0_pReal)) extmsg = trim(extmsg)//' v0' + if (any(rho_mob_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_mob_0' + if (any(rho_dip_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_dip_0' + if (any(prm%v0 < 0.0_pReal)) extmsg = trim(extmsg)//' v_0' if (any(prm%b_sl <= 0.0_pReal)) extmsg = trim(extmsg)//' b_sl' - if (any(prm%delta_F <= 0.0_pReal)) extmsg = trim(extmsg)//' qedge' - if (any(prm%tau_0 < 0.0_pReal)) extmsg = trim(extmsg)//' tau_0' - if (any(prm%D_a <= 0.0_pReal)) extmsg = trim(extmsg)//' cedgedipmindistance or b_sl' - if (any(prm%atomicVolume <= 0.0_pReal)) extmsg = trim(extmsg)//' catomicvolume or b_sl' + if (any(prm%delta_F <= 0.0_pReal)) extmsg = trim(extmsg)//' Q_s' + if (any(prm%tau_0 < 0.0_pReal)) extmsg = trim(extmsg)//' tau_peierls' + if (any(prm%D_a <= 0.0_pReal)) extmsg = trim(extmsg)//' D_a or b_sl' + if (any(prm%atomicVolume <= 0.0_pReal)) extmsg = trim(extmsg)//' f_at or b_sl' else slipActive rho_mob_0= emptyRealArray; rho_dip_0 = emptyRealArray @@ -208,7 +226,7 @@ module subroutine plastic_disloUCLA_init sizeDotState = size(['rho_mob ','rho_dip ','gamma_sl']) * prm%sum_N_sl sizeState = sizeDotState - call material_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) + call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) !-------------------------------------------------------------------------------------------------- ! state aliases and initialization @@ -217,7 +235,7 @@ module subroutine plastic_disloUCLA_init stt%rho_mob => plasticState(p)%state(startIndex:endIndex,:) stt%rho_mob = spread(rho_mob_0,2,NipcMyPhase) dot%rho_mob => plasticState(p)%dotState(startIndex:endIndex,:) - plasticState(p)%atol(startIndex:endIndex) = config%getFloat('atol_rho',defaultVal=1.0_pReal) + plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_rho',defaultVal=1.0_pReal) if (any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_rho' startIndex = endIndex + 1 @@ -225,7 +243,7 @@ module subroutine plastic_disloUCLA_init stt%rho_dip => plasticState(p)%state(startIndex:endIndex,:) stt%rho_dip = spread(rho_dip_0,2,NipcMyPhase) dot%rho_dip => plasticState(p)%dotState(startIndex:endIndex,:) - plasticState(p)%atol(startIndex:endIndex) = config%getFloat('atol_rho',defaultVal=1.0_pReal) + plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_rho',defaultVal=1.0_pReal) startIndex = endIndex + 1 endIndex = endIndex + prm%sum_N_sl @@ -244,17 +262,17 @@ module subroutine plastic_disloUCLA_init !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range - if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'('//PLASTICITY_DISLOUCLA_LABEL//')') + if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'(disloTungsten)') enddo -end subroutine plastic_disloUCLA_init +end function plastic_disloTungsten_init !-------------------------------------------------------------------------------------------------- !> @brief Calculate plastic velocity gradient and its tangent. !-------------------------------------------------------------------------------------------------- -pure module subroutine plastic_disloUCLA_LpAndItsTangent(Lp,dLp_dMp, & +pure module subroutine plastic_disloTungsten_LpAndItsTangent(Lp,dLp_dMp, & Mp,T,instance,of) real(pReal), dimension(3,3), intent(out) :: & Lp !< plastic velocity gradient @@ -291,13 +309,13 @@ pure module subroutine plastic_disloUCLA_LpAndItsTangent(Lp,dLp_dMp, & end associate -end subroutine plastic_disloUCLA_LpAndItsTangent +end subroutine plastic_disloTungsten_LpAndItsTangent !-------------------------------------------------------------------------------------------------- !> @brief Calculate the rate of change of microstructure. !-------------------------------------------------------------------------------------------------- -module subroutine plastic_disloUCLA_dotState(Mp,T,instance,of) +module subroutine plastic_disloTungsten_dotState(Mp,T,instance,of) real(pReal), dimension(3,3), intent(in) :: & Mp !< Mandel stress @@ -351,13 +369,13 @@ module subroutine plastic_disloUCLA_dotState(Mp,T,instance,of) end associate -end subroutine plastic_disloUCLA_dotState +end subroutine plastic_disloTungsten_dotState !-------------------------------------------------------------------------------------------------- !> @brief Calculate derived quantities from state. !-------------------------------------------------------------------------------------------------- -module subroutine plastic_disloUCLA_dependentState(instance,of) +module subroutine plastic_disloTungsten_dependentState(instance,of) integer, intent(in) :: & instance, & @@ -376,13 +394,13 @@ module subroutine plastic_disloUCLA_dependentState(instance,of) end associate -end subroutine plastic_disloUCLA_dependentState +end subroutine plastic_disloTungsten_dependentState !-------------------------------------------------------------------------------------------------- !> @brief Write results to HDF5 output file. !-------------------------------------------------------------------------------------------------- -module subroutine plastic_disloUCLA_results(instance,group) +module subroutine plastic_disloTungsten_results(instance,group) integer, intent(in) :: instance character(len=*), intent(in) :: group @@ -392,26 +410,26 @@ module subroutine plastic_disloUCLA_results(instance,group) associate(prm => param(instance), stt => state(instance), dst => dependentState(instance)) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case('edge_density') ! ToDo: should be rho_mob - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_mob,'rho_mob',& + case('rho_mob') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_mob,trim(prm%output(o)), & 'mobile dislocation density','1/m²') - case('dipole_density') ! ToDo: should be rho_dip - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_dip,'rho_dip',& + case('rho_dip') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_dip,trim(prm%output(o)), & 'dislocation dipole density''1/m²') - case('shear_rate_slip') ! should be gamma - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma_sl,'dot_gamma_sl',& ! this is not dot!! + case('gamma_sl') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma_sl,trim(prm%output(o)), & 'plastic shear','1') - case('mfp_slip') !ToDo: should be Lambda - if(prm%sum_N_sl>0) call results_writeDataset(group,dst%Lambda_sl,'Lambda_sl',& + case('Lambda_sl') + if(prm%sum_N_sl>0) call results_writeDataset(group,dst%Lambda_sl,trim(prm%output(o)), & 'mean free path for slip','m') - case('threshold_stress_slip') !ToDo: should be tau_pass - if(prm%sum_N_sl>0) call results_writeDataset(group,dst%threshold_stress,'tau_pass',& + case('tau_pass') + if(prm%sum_N_sl>0) call results_writeDataset(group,dst%threshold_stress,trim(prm%output(o)), & 'threshold stress for slip','Pa') end select enddo outputsLoop end associate -end subroutine plastic_disloUCLA_results +end subroutine plastic_disloTungsten_results !-------------------------------------------------------------------------------------------------- @@ -529,4 +547,4 @@ pure subroutine kinetics(Mp,T,instance,of, & end subroutine kinetics -end submodule plastic_disloUCLA +end submodule plastic_disloTungsten diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index c9550ecd6..0f473b760 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -22,8 +22,8 @@ submodule(constitutive:constitutive_plastic) plastic_dislotwin D = 1.0_pReal, & !< grain size p_sb = 1.0_pReal, & !< p-exponent in shear band velocity q_sb = 1.0_pReal, & !< q-exponent in shear band velocity - CEdgeDipMinDistance = 1.0_pReal, & !< - i_tw = 1.0_pReal, & !< + CEdgeDipMinDistance = 1.0_pReal, & !< adjustment parameter to calculate minimum dipole distance + i_tw = 1.0_pReal, & !< adjustment parameter to calculate MFP for twinning tau_0 = 1.0_pReal, & !< strength due to elements in solid solution L_tw = 1.0_pReal, & !< Length of twin nuclei in Burgers vectors L_tr = 1.0_pReal, & !< Length of trans nuclei in Burgers vectors @@ -36,7 +36,7 @@ submodule(constitutive:constitutive_plastic) plastic_dislotwin SFE_0K = 1.0_pReal, & !< stacking fault energy at zero K dSFE_dT = 1.0_pReal, & !< temperature dependence of stacking fault energy gamma_fcc_hex = 1.0_pReal, & !< Free energy difference between austensite and martensite - i_tr = 1.0_pReal, & !< + i_tr = 1.0_pReal, & !< adjustment parameter to calculate MFP for transformation h = 1.0_pReal !< Stack height of hex nucleus real(pReal), allocatable, dimension(:) :: & b_sl, & !< absolute length of burgers vector [m] for each slip system @@ -56,11 +56,11 @@ submodule(constitutive:constitutive_plastic) plastic_dislotwin gamma_char, & !< characteristic shear for twins B !< drag coefficient real(pReal), allocatable, dimension(:,:) :: & - h_sl_sl, & !< - h_sl_tw, & !< - h_tw_tw, & !< - h_sl_tr, & !< - h_tr_tr, & !< + h_sl_sl, & !< components of slip-slip interaction matrix + h_sl_tw, & !< components of slip-twin interaction matrix + h_tw_tw, & !< components of twin-twin interaction matrix + h_sl_tr, & !< components of slip-trans interaction matrix + h_tr_tr, & !< components of trans-trans interaction matrix n0_sl, & !< slip system normal forestProjection, & C66 @@ -98,9 +98,9 @@ submodule(constitutive:constitutive_plastic) plastic_dislotwin Lambda_sl, & !< mean free path between 2 obstacles seen by a moving dislocation Lambda_tw, & !< mean free path between 2 obstacles seen by a growing twin Lambda_tr, & !< mean free path between 2 obstacles seen by a growing martensite - tau_pass, & - tau_hat_tw, & - tau_hat_tr, & + tau_pass, & !< threshold stress for slip + tau_hat_tw, & !< threshold stress for twinning + tau_hat_tr, & !< threshold stress for transformation V_tw, & !< volume of a new twin V_tr, & !< volume of a new martensite disc tau_r_tw, & !< stress to bring partials close together (twin) @@ -122,8 +122,9 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_dislotwin_init +module function plastic_dislotwin_init() result(myPlasticity) + logical, dimension(:), allocatable :: myPlasticity integer :: & Ninstance, & p, i, & @@ -137,8 +138,12 @@ module subroutine plastic_dislotwin_init rho_dip_0 !< initial dipole dislocation density per slip system character(len=pStringLen) :: & extmsg = '' + class(tNode), pointer :: & + phases, & + phase, & + pl - write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_DISLOTWIN_LABEL//' init -+>>>' + write(6,'(/,a)') ' <<<+- constitutive_dislotwin init -+>>>' write(6,'(/,a)') ' Ma and Roters, Acta Materialia 52(12):3603–3612, 2004' write(6,'(a)') ' https://doi.org/10.1016/j.actamat.2004.04.012' @@ -149,23 +154,35 @@ module subroutine plastic_dislotwin_init write(6,'(/,a)') ' Wong et al., Acta Materialia 118:140–151, 2016' write(6,'(a,/)') ' https://doi.org/10.1016/j.actamat.2016.07.032' - Ninstance = count(phase_plasticity == PLASTICITY_DISLOTWIN_ID) + myPlasticity = plastic_active('dislotwin') + + Ninstance = count(myPlasticity) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) return allocate(param(Ninstance)) allocate(state(Ninstance)) allocate(dotState(Ninstance)) allocate(dependentState(Ninstance)) - do p = 1, size(phase_plasticity) - if (phase_plasticity(p) /= PLASTICITY_DISLOTWIN_ID) cycle - associate(prm => param(phase_plasticityInstance(p)), & - dot => dotState(phase_plasticityInstance(p)), & - stt => state(phase_plasticityInstance(p)), & - dst => dependentState(phase_plasticityInstance(p)), & - config => config_phase(p)) + phases => material_root%get('phase') + i = 0 + do p = 1, phases%length + phase => phases%get(p) - prm%output = config%getStrings('(output)', defaultVal=emptyStringArray) + if(.not. myPlasticity(p)) cycle + i = i + 1 + associate(prm => param(i), & + dot => dotState(i), & + stt => state(i), & + dst => dependentState(i)) + pl => phase%get('plasticity') + +#if defined (__GFORTRAN__) + prm%output = output_asStrings(pl) +#else + prm%output = pl%get_asStrings('output',defaultVal=emptyStringArray) +#endif ! This data is read in already in lattice prm%mu = lattice_mu(p) @@ -174,49 +191,49 @@ module subroutine plastic_dislotwin_init !-------------------------------------------------------------------------------------------------- ! slip related parameters - N_sl = config%getInts('nslip',defaultVal=emptyIntArray) + N_sl = pl%get_asInts('N_sl',defaultVal=emptyIntArray) prm%sum_N_sl = sum(abs(N_sl)) slipActive: if (prm%sum_N_sl > 0) then - prm%P_sl = lattice_SchmidMatrix_slip(N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) - prm%h_sl_sl = lattice_interaction_SlipBySlip(N_sl,config%getFloats('interaction_slipslip'), & - config%getString('lattice_structure')) - prm%forestProjection = lattice_forestProjection_edge(N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + prm%P_sl = lattice_SchmidMatrix_slip(N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) + prm%h_sl_sl = lattice_interaction_SlipBySlip(N_sl,pl%get_asFloats('h_sl_sl'), & + phase%get_asString('lattice')) + prm%forestProjection = lattice_forestProjection_edge(N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) prm%forestProjection = transpose(prm%forestProjection) - prm%n0_sl = lattice_slip_normal(N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + prm%n0_sl = lattice_slip_normal(N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) prm%fccTwinTransNucleation = merge(.true., .false., lattice_structure(p) == lattice_FCC_ID) & .and. (N_sl(1) == 12) if(prm%fccTwinTransNucleation) prm%fcc_twinNucleationSlipPair = lattice_FCC_TWINNUCLEATIONSLIPPAIR - rho_mob_0 = config%getFloats('rhoedge0', requiredSize=size(N_sl)) - rho_dip_0 = config%getFloats('rhoedgedip0',requiredSize=size(N_sl)) - prm%v0 = config%getFloats('v0', requiredSize=size(N_sl)) - prm%b_sl = config%getFloats('slipburgers',requiredSize=size(N_sl)) - prm%Delta_F = config%getFloats('qedge', requiredSize=size(N_sl)) - prm%CLambdaSlip = config%getFloats('clambdaslip',requiredSize=size(N_sl)) - prm%p = config%getFloats('p_slip', requiredSize=size(N_sl)) - prm%q = config%getFloats('q_slip', requiredSize=size(N_sl)) - prm%B = config%getFloats('b', requiredSize=size(N_sl), & + rho_mob_0 = pl%get_asFloats('rho_mob_0', requiredSize=size(N_sl)) + rho_dip_0 = pl%get_asFloats('rho_dip_0', requiredSize=size(N_sl)) + prm%v0 = pl%get_asFloats('v_0', requiredSize=size(N_sl)) + prm%b_sl = pl%get_asFloats('b_sl', requiredSize=size(N_sl)) + prm%Delta_F = pl%get_asFloats('Q_s', requiredSize=size(N_sl)) + prm%CLambdaSlip = pl%get_asFloats('i_sl', requiredSize=size(N_sl)) + prm%p = pl%get_asFloats('p_sl', requiredSize=size(N_sl)) + prm%q = pl%get_asFloats('q_sl', requiredSize=size(N_sl)) + prm%B = pl%get_asFloats('B', requiredSize=size(N_sl), & defaultVal=[(0.0_pReal, i=1,size(N_sl))]) - prm%tau_0 = config%getFloat('solidsolutionstrength') - prm%CEdgeDipMinDistance = config%getFloat('cedgedipmindistance') - prm%D0 = config%getFloat('d0') - prm%Qsd = config%getFloat('qsd') - prm%ExtendedDislocations = config%keyExists('/extend_dislocations/') + prm%tau_0 = pl%get_asFloat('tau_0') + prm%CEdgeDipMinDistance = pl%get_asFloat('D_a') + prm%D0 = pl%get_asFloat('D_0') + prm%Qsd = pl%get_asFloat('Q_cl') + prm%ExtendedDislocations = pl%get_asBool('extend_dislocations',defaultVal = .false.) if (prm%ExtendedDislocations) then - prm%SFE_0K = config%getFloat('sfe_0k') - prm%dSFE_dT = config%getFloat('dsfe_dt') + prm%SFE_0K = pl%get_asFloat('Gamma_sf_0K') + prm%dSFE_dT = pl%get_asFloat('dGamma_sf_dT') endif - prm%dipoleformation = .not. config%keyExists('/nodipoleformation/') + prm%dipoleformation = .not. pl%get_asBool('no_dipole_formation',defaultVal = .false.) ! multiplication factor according to crystal structure (nearest neighbors bcc vs fcc/hex) ! details: Argon & Moffat, Acta Metallurgica, Vol. 29, pg 293 to 299, 1981 - prm%omega = config%getFloat('omega', defaultVal = 1000.0_pReal) & + prm%omega = pl%get_asFloat('omega', defaultVal = 1000.0_pReal) & * merge(12.0_pReal,8.0_pReal,any(lattice_structure(p) == [lattice_FCC_ID,lattice_HEX_ID])) ! expand: family => system @@ -231,17 +248,17 @@ module subroutine plastic_dislotwin_init prm%B = math_expand(prm%B, N_sl) ! sanity checks - if ( prm%D0 <= 0.0_pReal) extmsg = trim(extmsg)//' D0' - if ( prm%Qsd <= 0.0_pReal) extmsg = trim(extmsg)//' Qsd' + if ( prm%D0 <= 0.0_pReal) extmsg = trim(extmsg)//' D_0' + if ( prm%Qsd <= 0.0_pReal) extmsg = trim(extmsg)//' Q_cl' if (any(rho_mob_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_mob_0' if (any(rho_dip_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_dip_0' - if (any(prm%v0 < 0.0_pReal)) extmsg = trim(extmsg)//' v0' + if (any(prm%v0 < 0.0_pReal)) extmsg = trim(extmsg)//' v_0' if (any(prm%b_sl <= 0.0_pReal)) extmsg = trim(extmsg)//' b_sl' - if (any(prm%Delta_F <= 0.0_pReal)) extmsg = trim(extmsg)//' Delta_F' - if (any(prm%CLambdaSlip <= 0.0_pReal)) extmsg = trim(extmsg)//' CLambdaSlip' + if (any(prm%Delta_F <= 0.0_pReal)) extmsg = trim(extmsg)//' Q_s' + if (any(prm%CLambdaSlip <= 0.0_pReal)) extmsg = trim(extmsg)//' i_sl' if (any(prm%B < 0.0_pReal)) extmsg = trim(extmsg)//' B' - if (any(prm%p<=0.0_pReal .or. prm%p>1.0_pReal)) extmsg = trim(extmsg)//' p' - if (any(prm%q< 1.0_pReal .or. prm%q>2.0_pReal)) extmsg = trim(extmsg)//' q' + if (any(prm%p<=0.0_pReal .or. prm%p>1.0_pReal)) extmsg = trim(extmsg)//' p_sl' + if (any(prm%q< 1.0_pReal .or. prm%q>2.0_pReal)) extmsg = trim(extmsg)//' q_sl' else slipActive rho_mob_0 = emptyRealArray; rho_dip_0 = emptyRealArray allocate(prm%b_sl,prm%Delta_F,prm%v0,prm%CLambdaSlip,prm%p,prm%q,prm%B,source=emptyRealArray) @@ -250,31 +267,31 @@ module subroutine plastic_dislotwin_init !-------------------------------------------------------------------------------------------------- ! twin related parameters - N_tw = config%getInts('ntwin', defaultVal=emptyIntArray) + N_tw = pl%get_asInts('N_tw', defaultVal=emptyIntArray) prm%sum_N_tw = sum(abs(N_tw)) twinActive: if (prm%sum_N_tw > 0) then - prm%P_tw = lattice_SchmidMatrix_twin(N_tw,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + prm%P_tw = lattice_SchmidMatrix_twin(N_tw,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) prm%h_tw_tw = lattice_interaction_TwinByTwin(N_tw,& - config%getFloats('interaction_twintwin'), & - config%getString('lattice_structure')) + pl%get_asFloats('h_tw_tw'), & + phase%get_asString('lattice')) - prm%b_tw = config%getFloats('twinburgers', requiredSize=size(N_tw)) - prm%t_tw = config%getFloats('twinsize', requiredSize=size(N_tw)) - prm%r = config%getFloats('r_twin', requiredSize=size(N_tw)) + prm%b_tw = pl%get_asFloats('b_tw', requiredSize=size(N_tw)) + prm%t_tw = pl%get_asFloats('t_tw', requiredSize=size(N_tw)) + prm%r = pl%get_asFloats('p_tw', requiredSize=size(N_tw)) - prm%xc_twin = config%getFloat('xc_twin') - prm%L_tw = config%getFloat('l0_twin') - prm%i_tw = config%getFloat('cmfptwin') + prm%xc_twin = pl%get_asFloat('x_c_tw') + prm%L_tw = pl%get_asFloat('L_tw') + prm%i_tw = pl%get_asFloat('i_tw') - prm%gamma_char= lattice_characteristicShear_Twin(N_tw,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + prm%gamma_char= lattice_characteristicShear_Twin(N_tw,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) - prm%C66_tw = lattice_C66_twin(N_tw,prm%C66,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + prm%C66_tw = lattice_C66_twin(N_tw,prm%C66,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) if (.not. prm%fccTwinTransNucleation) then - prm%dot_N_0_tw = config%getFloats('ndot0_twin') + prm%dot_N_0_tw = pl%get_asFloats('dot_N_0_tw') prm%dot_N_0_tw = math_expand(prm%dot_N_0_tw,N_tw) endif @@ -284,12 +301,12 @@ module subroutine plastic_dislotwin_init prm%r = math_expand(prm%r,N_tw) ! sanity checks - if ( prm%xc_twin < 0.0_pReal) extmsg = trim(extmsg)//' xc_twin' + if ( prm%xc_twin < 0.0_pReal) extmsg = trim(extmsg)//' x_c_twin' if ( prm%L_tw < 0.0_pReal) extmsg = trim(extmsg)//' L_tw' if ( prm%i_tw < 0.0_pReal) extmsg = trim(extmsg)//' i_tw' if (any(prm%b_tw < 0.0_pReal)) extmsg = trim(extmsg)//' b_tw' if (any(prm%t_tw < 0.0_pReal)) extmsg = trim(extmsg)//' t_tw' - if (any(prm%r < 0.0_pReal)) extmsg = trim(extmsg)//' r' + if (any(prm%r < 0.0_pReal)) extmsg = trim(extmsg)//' p_tw' if (.not. prm%fccTwinTransNucleation) then if (any(prm%dot_N_0_tw < 0.0_pReal)) extmsg = trim(extmsg)//' dot_N_0_tw' endif @@ -300,46 +317,46 @@ module subroutine plastic_dislotwin_init !-------------------------------------------------------------------------------------------------- ! transformation related parameters - N_tr = config%getInts('ntrans', defaultVal=emptyIntArray) + N_tr = pl%get_asInts('N_tr', defaultVal=emptyIntArray) prm%sum_N_tr = sum(abs(N_tr)) transActive: if (prm%sum_N_tr > 0) then - prm%b_tr = config%getFloats('transburgers') + prm%b_tr = pl%get_asFloats('b_tr') prm%b_tr = math_expand(prm%b_tr,N_tr) - prm%h = config%getFloat('transstackheight', defaultVal=0.0_pReal) ! ToDo: How to handle that??? - prm%i_tr = config%getFloat('cmfptrans', defaultVal=0.0_pReal) ! ToDo: How to handle that??? - prm%gamma_fcc_hex = config%getFloat('deltag') - prm%xc_trans = config%getFloat('xc_trans', defaultVal=0.0_pReal) ! ToDo: How to handle that??? - prm%L_tr = config%getFloat('l0_trans') + prm%h = pl%get_asFloat('h', defaultVal=0.0_pReal) ! ToDo: How to handle that??? + prm%i_tr = pl%get_asFloat('i_tr', defaultVal=0.0_pReal) ! ToDo: How to handle that??? + prm%gamma_fcc_hex = pl%get_asFloat('delta_G') + prm%xc_trans = pl%get_asFloat('x_c_tr', defaultVal=0.0_pReal) ! ToDo: How to handle that??? + prm%L_tr = pl%get_asFloat('L_tr') - prm%h_tr_tr = lattice_interaction_TransByTrans(N_tr,config%getFloats('interaction_transtrans'), & - config%getString('lattice_structure')) + prm%h_tr_tr = lattice_interaction_TransByTrans(N_tr,pl%get_asFloats('h_tr_tr'), & + phase%get_asString('lattice')) - prm%C66_tr = lattice_C66_trans(N_tr,prm%C66,config%getString('trans_lattice_structure'), & + prm%C66_tr = lattice_C66_trans(N_tr,prm%C66,pl%get_asString('trans_lattice_structure'), & 0.0_pReal, & - config%getFloat('a_bcc', defaultVal=0.0_pReal), & - config%getFloat('a_fcc', defaultVal=0.0_pReal)) + pl%get_asFloat('a_bcc', defaultVal=0.0_pReal), & + pl%get_asFloat('a_fcc', defaultVal=0.0_pReal)) - prm%P_tr = lattice_SchmidMatrix_trans(N_tr,config%getString('trans_lattice_structure'), & + prm%P_tr = lattice_SchmidMatrix_trans(N_tr,pl%get_asString('trans_lattice_structure'), & 0.0_pReal, & - config%getFloat('a_bcc', defaultVal=0.0_pReal), & - config%getFloat('a_fcc', defaultVal=0.0_pReal)) + pl%get_asFloat('a_bcc', defaultVal=0.0_pReal), & + pl%get_asFloat('a_fcc', defaultVal=0.0_pReal)) if (lattice_structure(p) /= lattice_FCC_ID) then - prm%dot_N_0_tr = config%getFloats('ndot0_trans') + prm%dot_N_0_tr = pl%get_asFloats('dot_N_0_tr') prm%dot_N_0_tr = math_expand(prm%dot_N_0_tr,N_tr) endif - prm%t_tr = config%getFloats('lamellarsize') + prm%t_tr = pl%get_asFloats('t_tr') prm%t_tr = math_expand(prm%t_tr,N_tr) - prm%s = config%getFloats('s_trans',defaultVal=[0.0_pReal]) + prm%s = pl%get_asFloats('p_tr',defaultVal=[0.0_pReal]) prm%s = math_expand(prm%s,N_tr) ! sanity checks - if ( prm%xc_trans < 0.0_pReal) extmsg = trim(extmsg)//' xc_trans' + if ( prm%xc_trans < 0.0_pReal) extmsg = trim(extmsg)//' x_c_trans' if ( prm%L_tr < 0.0_pReal) extmsg = trim(extmsg)//' L_tr' if ( prm%i_tr < 0.0_pReal) extmsg = trim(extmsg)//' i_tr' if (any(prm%t_tr < 0.0_pReal)) extmsg = trim(extmsg)//' t_tr' - if (any(prm%s < 0.0_pReal)) extmsg = trim(extmsg)//' s' + if (any(prm%s < 0.0_pReal)) extmsg = trim(extmsg)//' p_tr' if (lattice_structure(p) /= lattice_FCC_ID) then if (any(prm%dot_N_0_tr < 0.0_pReal)) extmsg = trim(extmsg)//' dot_N_0_tr' endif @@ -350,42 +367,42 @@ module subroutine plastic_dislotwin_init !-------------------------------------------------------------------------------------------------- ! shearband related parameters - prm%sbVelocity = config%getFloat('shearbandvelocity',defaultVal=0.0_pReal) + prm%sbVelocity = pl%get_asFloat('v_sb',defaultVal=0.0_pReal) if (prm%sbVelocity > 0.0_pReal) then - prm%sbResistance = config%getFloat('shearbandresistance') - prm%E_sb = config%getFloat('qedgepersbsystem') - prm%p_sb = config%getFloat('p_shearband') - prm%q_sb = config%getFloat('q_shearband') + prm%sbResistance = pl%get_asFloat('xi_sb') + prm%E_sb = pl%get_asFloat('Q_sb') + prm%p_sb = pl%get_asFloat('p_sb') + prm%q_sb = pl%get_asFloat('q_sb') ! sanity checks - if (prm%sbResistance < 0.0_pReal) extmsg = trim(extmsg)//' shearbandresistance' - if (prm%E_sb < 0.0_pReal) extmsg = trim(extmsg)//' qedgepersbsystem' - if (prm%p_sb <= 0.0_pReal) extmsg = trim(extmsg)//' p_shearband' - if (prm%q_sb <= 0.0_pReal) extmsg = trim(extmsg)//' q_shearband' + if (prm%sbResistance < 0.0_pReal) extmsg = trim(extmsg)//' xi_sb' + if (prm%E_sb < 0.0_pReal) extmsg = trim(extmsg)//' Q_sb' + if (prm%p_sb <= 0.0_pReal) extmsg = trim(extmsg)//' p_sb' + if (prm%q_sb <= 0.0_pReal) extmsg = trim(extmsg)//' q_sb' endif !-------------------------------------------------------------------------------------------------- ! parameters required for several mechanisms and their interactions if(prm%sum_N_sl + prm%sum_N_tw + prm%sum_N_tw > 0) & - prm%D = config%getFloat('grainsize') + prm%D = pl%get_asFloat('D') twinOrSlipActive: if (prm%sum_N_tw + prm%sum_N_tr > 0) then - prm%SFE_0K = config%getFloat('sfe_0k') - prm%dSFE_dT = config%getFloat('dsfe_dt') - prm%V_cs = config%getFloat('vcrossslip') + prm%SFE_0K = pl%get_asFloat('Gamma_sf_0K') + prm%dSFE_dT = pl%get_asFloat('dGamma_sf_dT') + prm%V_cs = pl%get_asFloat('V_cs') endif twinOrSlipActive slipAndTwinActive: if (prm%sum_N_sl * prm%sum_N_tw > 0) then prm%h_sl_tw = lattice_interaction_SlipByTwin(N_sl,N_tw,& - config%getFloats('interaction_sliptwin'), & - config%getString('lattice_structure')) + pl%get_asFloats('h_sl_tw'), & + phase%get_asString('lattice')) if (prm%fccTwinTransNucleation .and. size(N_tw) /= 1) extmsg = trim(extmsg)//' interaction_sliptwin' endif slipAndTwinActive slipAndTransActive: if (prm%sum_N_sl * prm%sum_N_tr > 0) then prm%h_sl_tr = lattice_interaction_SlipByTrans(N_sl,N_tr,& - config%getFloats('interaction_sliptrans'), & - config%getString('lattice_structure')) + pl%get_asFloats('h_sl_tr'), & + phase%get_asString('lattice')) if (prm%fccTwinTransNucleation .and. size(N_tr) /= 1) extmsg = trim(extmsg)//' interaction_sliptrans' endif slipAndTransActive @@ -397,7 +414,8 @@ module subroutine plastic_dislotwin_init + size(['f_tr']) * prm%sum_N_tr sizeState = sizeDotState - call material_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) + + call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) !-------------------------------------------------------------------------------------------------- ! locally defined state aliases and initialization of state0 and atol @@ -406,7 +424,7 @@ module subroutine plastic_dislotwin_init stt%rho_mob=>plasticState(p)%state(startIndex:endIndex,:) stt%rho_mob= spread(rho_mob_0,2,NipcMyPhase) dot%rho_mob=>plasticState(p)%dotState(startIndex:endIndex,:) - plasticState(p)%atol(startIndex:endIndex) = config%getFloat('atol_rho',defaultVal=1.0_pReal) + plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_rho',defaultVal=1.0_pReal) if (any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_rho' startIndex = endIndex + 1 @@ -414,7 +432,7 @@ module subroutine plastic_dislotwin_init stt%rho_dip=>plasticState(p)%state(startIndex:endIndex,:) stt%rho_dip= spread(rho_dip_0,2,NipcMyPhase) dot%rho_dip=>plasticState(p)%dotState(startIndex:endIndex,:) - plasticState(p)%atol(startIndex:endIndex) = config%getFloat('atol_rho',defaultVal=1.0_pReal) + plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_rho',defaultVal=1.0_pReal) startIndex = endIndex + 1 endIndex = endIndex + prm%sum_N_sl @@ -428,14 +446,14 @@ module subroutine plastic_dislotwin_init endIndex = endIndex + prm%sum_N_tw stt%f_tw=>plasticState(p)%state(startIndex:endIndex,:) dot%f_tw=>plasticState(p)%dotState(startIndex:endIndex,:) - plasticState(p)%atol(startIndex:endIndex) = config%getFloat('f_twin',defaultVal=1.0e-7_pReal) + plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('f_twin',defaultVal=1.0e-7_pReal) if (any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' f_twin' startIndex = endIndex + 1 endIndex = endIndex + prm%sum_N_tr stt%f_tr=>plasticState(p)%state(startIndex:endIndex,:) dot%f_tr=>plasticState(p)%dotState(startIndex:endIndex,:) - plasticState(p)%atol(startIndex:endIndex) = config%getFloat('f_trans',defaultVal=1.0e-6_pReal) + plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('f_trans',defaultVal=1.0e-6_pReal) if (any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' f_trans' allocate(dst%Lambda_sl (prm%sum_N_sl,NipcMyPhase),source=0.0_pReal) @@ -457,11 +475,11 @@ module subroutine plastic_dislotwin_init !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range - if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'('//PLASTICITY_DISLOTWIN_LABEL//')') + if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'(dislotwin)') enddo -end subroutine plastic_dislotwin_init +end function plastic_dislotwin_init !-------------------------------------------------------------------------------------------------- @@ -824,33 +842,33 @@ module subroutine plastic_dislotwin_results(instance,group) select case(trim(prm%output(o))) case('rho_mob') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_mob,'rho_mob',& + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_mob,trim(prm%output(o)), & 'mobile dislocation density','1/m²') case('rho_dip') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_dip,'rho_dip',& + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_dip,trim(prm%output(o)), & 'dislocation dipole density','1/m²') case('gamma_sl') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma_sl,'gamma_sl',& + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma_sl,trim(prm%output(o)), & 'plastic shear','1') - case('lambda_sl') - if(prm%sum_N_sl>0) call results_writeDataset(group,dst%Lambda_sl,'Lambda_sl',& + case('Lambda_sl') + if(prm%sum_N_sl>0) call results_writeDataset(group,dst%Lambda_sl,trim(prm%output(o)), & 'mean free path for slip','m') case('tau_pass') - if(prm%sum_N_sl>0) call results_writeDataset(group,dst%tau_pass,'tau_pass',& + if(prm%sum_N_sl>0) call results_writeDataset(group,dst%tau_pass,trim(prm%output(o)), & 'passing stress for slip','Pa') case('f_tw') - if(prm%sum_N_tw>0) call results_writeDataset(group,stt%f_tw,'f_tw',& + if(prm%sum_N_tw>0) call results_writeDataset(group,stt%f_tw,trim(prm%output(o)), & 'twinned volume fraction','m³/m³') - case('lambda_tw') - if(prm%sum_N_tw>0) call results_writeDataset(group,dst%Lambda_tw,'Lambda_tw',& + case('Lambda_tw') + if(prm%sum_N_tw>0) call results_writeDataset(group,dst%Lambda_tw,trim(prm%output(o)), & 'mean free path for twinning','m') case('tau_hat_tw') - if(prm%sum_N_tw>0) call results_writeDataset(group,dst%tau_hat_tw,'tau_hat_tw',& + if(prm%sum_N_tw>0) call results_writeDataset(group,dst%tau_hat_tw,trim(prm%output(o)), & 'threshold stress for twinning','Pa') case('f_tr') - if(prm%sum_N_tr>0) call results_writeDataset(group,stt%f_tr,'f_tr',& + if(prm%sum_N_tr>0) call results_writeDataset(group,stt%f_tr,trim(prm%output(o)), & 'martensite volume fraction','m³/m³') end select diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index 3484b6f64..adb87c0b1 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -49,58 +49,78 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_isotropic_init +module function plastic_isotropic_init() result(myPlasticity) + logical, dimension(:), allocatable :: myPlasticity integer :: & Ninstance, & p, & + i, & NipcMyPhase, & sizeState, sizeDotState real(pReal) :: & xi_0 !< initial critical stress character(len=pStringLen) :: & extmsg = '' + class(tNode), pointer :: & + phases, & + phase, & + pl - write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_ISOTROPIC_LABEL//' init -+>>>' + write(6,'(/,a)') ' <<<+- plastic_isotropic init -+>>>' write(6,'(/,a)') ' Maiti and Eisenlohr, Scripta Materialia 145:37–40, 2018' write(6,'(a)') ' https://doi.org/10.1016/j.scriptamat.2017.09.047' - Ninstance = count(phase_plasticity == PLASTICITY_ISOTROPIC_ID) + + myPlasticity = plastic_active('isotropic') + + Ninstance = count(myPlasticity) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) return allocate(param(Ninstance)) allocate(state(Ninstance)) allocate(dotState(Ninstance)) - do p = 1, size(phase_plasticity) - if (phase_plasticity(p) /= PLASTICITY_ISOTROPIC_ID) cycle - associate(prm => param(phase_plasticityInstance(p)), & - dot => dotState(phase_plasticityInstance(p)), & - stt => state(phase_plasticityInstance(p)), & - config => config_phase(p)) + phases => material_root%get('phase') + i = 0 + do p = 1, phases%length + phase => phases%get(p) - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) + if(.not. myPlasticity(p)) cycle + i = i + 1 + associate(prm => param(i), & + dot => dotState(i), & + stt => state(i)) + pl => phase%get('plasticity') + + +#if defined (__GFORTRAN__) + prm%output = output_asStrings(pl) +#else + prm%output = pl%get_asStrings('output',defaultVal=emptyStringArray) +#endif #ifdef DEBUG if (p==material_phaseAt(debugConstitutive%grain,debugConstitutive%element)) & prm%of_debug = material_phasememberAt(debugConstitutive%grain,debugConstitutive%ip,debugConstitutive%element) #endif - xi_0 = config%getFloat('tau0') - prm%xi_inf = config%getFloat('tausat') - prm%dot_gamma_0 = config%getFloat('gdot0') - prm%n = config%getFloat('n') - prm%h0 = config%getFloat('h0') - prm%M = config%getFloat('m') - prm%h_ln = config%getFloat('h0_slopelnrate', defaultVal=0.0_pReal) - prm%c_1 = config%getFloat('tausat_sinhfita',defaultVal=0.0_pReal) - prm%c_4 = config%getFloat('tausat_sinhfitb',defaultVal=0.0_pReal) - prm%c_3 = config%getFloat('tausat_sinhfitc',defaultVal=0.0_pReal) - prm%c_2 = config%getFloat('tausat_sinhfitd',defaultVal=0.0_pReal) - prm%a = config%getFloat('a') + xi_0 = pl%get_asFloat('xi_0') + prm%xi_inf = pl%get_asFloat('xi_inf') + prm%dot_gamma_0 = pl%get_asFloat('dot_gamma_0') + prm%n = pl%get_asFloat('n') + prm%h0 = pl%get_asFloat('h_0') + prm%M = pl%get_asFloat('M') + prm%h_ln = pl%get_asFloat('h_ln', defaultVal=0.0_pReal) + prm%c_1 = pl%get_asFloat('c_1', defaultVal=0.0_pReal) + prm%c_4 = pl%get_asFloat('c_4', defaultVal=0.0_pReal) + prm%c_3 = pl%get_asFloat('c_3', defaultVal=0.0_pReal) + prm%c_2 = pl%get_asFloat('c_2', defaultVal=0.0_pReal) + prm%a = pl%get_asFloat('a') - prm%dilatation = config%keyExists('/dilatation/') + prm%dilatation = pl%get_AsBool('dilatation',defaultVal = .false.) !-------------------------------------------------------------------------------------------------- ! sanity checks @@ -113,22 +133,22 @@ module subroutine plastic_isotropic_init !-------------------------------------------------------------------------------------------------- ! allocate state arrays NipcMyPhase = count(material_phaseAt == p) * discretization_nIP - sizeDotState = size(['xi ','accumulated_shear']) + sizeDotState = size(['xi ','gamma']) sizeState = sizeDotState - call material_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) + call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) !-------------------------------------------------------------------------------------------------- ! state aliases and initialization stt%xi => plasticState(p)%state (1,:) stt%xi = xi_0 dot%xi => plasticState(p)%dotState(1,:) - plasticState(p)%atol(1) = config%getFloat('atol_xi',defaultVal=1.0_pReal) + plasticState(p)%atol(1) = pl%get_asFloat('atol_xi',defaultVal=1.0_pReal) if (plasticState(p)%atol(1) < 0.0_pReal) extmsg = trim(extmsg)//' atol_xi' stt%gamma => plasticState(p)%state (2,:) dot%gamma => plasticState(p)%dotState(2,:) - plasticState(p)%atol(2) = config%getFloat('atol_gamma',defaultVal=1.0e-6_pReal) + plasticState(p)%atol(2) = pl%get_asFloat('atol_gamma',defaultVal=1.0e-6_pReal) if (plasticState(p)%atol(2) < 0.0_pReal) extmsg = trim(extmsg)//' atol_gamma' ! global alias plasticState(p)%slipRate => plasticState(p)%dotState(2:2,:) @@ -139,11 +159,11 @@ module subroutine plastic_isotropic_init !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range - if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'('//PLASTICITY_ISOTROPIC_LABEL//')') + if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'(isotropic)') enddo -end subroutine plastic_isotropic_init +end function plastic_isotropic_init !-------------------------------------------------------------------------------------------------- @@ -319,8 +339,9 @@ module subroutine plastic_isotropic_results(instance,group) associate(prm => param(instance), stt => state(instance)) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case ('flowstress') ! ToDo: should be 'xi' - call results_writeDataset(group,stt%xi,'xi','resistance against plastic flow','Pa') + case ('xi') + call results_writeDataset(group,stt%xi,trim(prm%output(o)), & + 'resistance against plastic flow','Pa') end select enddo outputsLoop end associate diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index 163b5794a..ffbfb6a13 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -58,11 +58,12 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_kinehardening_init +module function plastic_kinehardening_init() result(myPlasticity) + logical, dimension(:), allocatable :: myPlasticity integer :: & Ninstance, & - p, o, & + p, i, o, & NipcMyPhase, & sizeState, sizeDeltaState, sizeDotState, & startIndex, endIndex @@ -73,26 +74,42 @@ module subroutine plastic_kinehardening_init a !< non-Schmid coefficients character(len=pStringLen) :: & extmsg = '' + class(tNode), pointer :: & + phases, & + phase, & + pl - write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_KINEHARDENING_LABEL//' init -+>>>' + write(6,'(/,a)') ' <<<+- plastic_kinehardening init -+>>>' - Ninstance = count(phase_plasticity == PLASTICITY_KINEHARDENING_ID) + myPlasticity = plastic_active('kinehardening') + + Ninstance = count(myPlasticity) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) return allocate(param(Ninstance)) allocate(state(Ninstance)) allocate(dotState(Ninstance)) allocate(deltaState(Ninstance)) - do p = 1, size(phase_plasticityInstance) - if (phase_plasticity(p) /= PLASTICITY_KINEHARDENING_ID) cycle - associate(prm => param(phase_plasticityInstance(p)), & - dot => dotState(phase_plasticityInstance(p)), & - dlt => deltaState(phase_plasticityInstance(p)), & - stt => state(phase_plasticityInstance(p)),& - config => config_phase(p)) + phases => material_root%get('phase') + i = 0 + do p = 1, phases%length + phase => phases%get(p) - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) + if(.not. myPlasticity(p)) cycle + i = i + 1 + associate(prm => param(i), & + dot => dotState(i), & + dlt => deltaState(i), & + stt => state(i)) + pl => phase%get('plasticity') + +#if defined (__GFORTRAN__) + prm%output = output_asStrings(pl) +#else + prm%output = pl%get_asStrings('output',defaultVal=emptyStringArray) +#endif #ifdef DEBUG if (p==material_phaseAt(debugConstitutive%grain,debugConstitutive%element)) then @@ -102,14 +119,14 @@ module subroutine plastic_kinehardening_init !-------------------------------------------------------------------------------------------------- ! slip related parameters - N_sl = config%getInts('nslip',defaultVal=emptyIntArray) + N_sl = pl%get_asInts('N_sl',defaultVal=emptyIntArray) prm%sum_N_sl = sum(abs(N_sl)) slipActive: if (prm%sum_N_sl > 0) then - prm%P = lattice_SchmidMatrix_slip(N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + prm%P = lattice_SchmidMatrix_slip(N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) - if(trim(config%getString('lattice_structure')) == 'bcc') then - a = config%getFloats('nonschmid_coefficients',defaultVal = emptyRealArray) + if(trim(phase%get_asString('lattice')) == 'bcc') then + a = pl%get_asFloats('nonSchmid_coefficients',defaultVal = emptyRealArray) if(size(a) > 0) prm%nonSchmidActive = .true. prm%nonSchmid_pos = lattice_nonSchmidMatrix(N_sl,a,+1) prm%nonSchmid_neg = lattice_nonSchmidMatrix(N_sl,a,-1) @@ -118,19 +135,19 @@ module subroutine plastic_kinehardening_init prm%nonSchmid_neg = prm%P endif prm%interaction_SlipSlip = lattice_interaction_SlipBySlip(N_sl, & - config%getFloats('interaction_slipslip'), & - config%getString('lattice_structure')) + pl%get_asFloats('h_sl_sl'), & + phase%get_asString('lattice')) - xi_0 = config%getFloats('crss0', requiredSize=size(N_sl)) - prm%tau1 = config%getFloats('tau1', requiredSize=size(N_sl)) - prm%tau1_b = config%getFloats('tau1_b', requiredSize=size(N_sl)) - prm%theta0 = config%getFloats('theta0', requiredSize=size(N_sl)) - prm%theta1 = config%getFloats('theta1', requiredSize=size(N_sl)) - prm%theta0_b = config%getFloats('theta0_b', requiredSize=size(N_sl)) - prm%theta1_b = config%getFloats('theta1_b', requiredSize=size(N_sl)) + xi_0 = pl%get_asFloats('xi_0', requiredSize=size(N_sl)) + prm%tau1 = pl%get_asFloats('xi_inf_f', requiredSize=size(N_sl)) + prm%tau1_b = pl%get_asFloats('xi_inf_b', requiredSize=size(N_sl)) + prm%theta0 = pl%get_asFloats('h_0_f', requiredSize=size(N_sl)) + prm%theta1 = pl%get_asFloats('h_inf_f', requiredSize=size(N_sl)) + prm%theta0_b = pl%get_asFloats('h_0_b', requiredSize=size(N_sl)) + prm%theta1_b = pl%get_asFloats('h_inf_b', requiredSize=size(N_sl)) - prm%gdot0 = config%getFloat('gdot0') - prm%n = config%getFloat('n_slip') + prm%gdot0 = pl%get_asFloat('dot_gamma_0') + prm%n = pl%get_asFloat('n') ! expand: family => system xi_0 = math_expand(xi_0, N_sl) @@ -143,11 +160,11 @@ module subroutine plastic_kinehardening_init !-------------------------------------------------------------------------------------------------- ! sanity checks - if ( prm%gdot0 <= 0.0_pReal) extmsg = trim(extmsg)//' gdot0' - if ( prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' n_slip' - if (any(xi_0 <= 0.0_pReal)) extmsg = trim(extmsg)//' crss0' - if (any(prm%tau1 <= 0.0_pReal)) extmsg = trim(extmsg)//' tau1' - if (any(prm%tau1_b <= 0.0_pReal)) extmsg = trim(extmsg)//' tau1_b' + if ( prm%gdot0 <= 0.0_pReal) extmsg = trim(extmsg)//' dot_gamma_0' + if ( prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' n' + if (any(xi_0 <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_0' + if (any(prm%tau1 <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_inf_f' + if (any(prm%tau1_b <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_inf_b' !ToDo: Any sensible checks for theta? else slipActive @@ -159,11 +176,11 @@ module subroutine plastic_kinehardening_init !-------------------------------------------------------------------------------------------------- ! allocate state arrays NipcMyPhase = count(material_phaseAt == p) * discretization_nIP - sizeDotState = size(['crss ','crss_back', 'accshear ']) * prm%sum_N_sl - sizeDeltaState = size(['sense ', 'chi0 ', 'gamma0' ]) * prm%sum_N_sl + sizeDotState = size(['crss ','crss_back', 'accshear ']) * prm%sum_N_sl!ToDo: adjust names, ask Philip + sizeDeltaState = size(['sense ', 'chi0 ', 'gamma0' ]) * prm%sum_N_sl !ToDo: adjust names sizeState = sizeDotState + sizeDeltaState - call material_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,sizeDeltaState) + call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,sizeDeltaState) !-------------------------------------------------------------------------------------------------- ! state aliases and initialization @@ -172,20 +189,20 @@ module subroutine plastic_kinehardening_init stt%crss => plasticState(p)%state (startIndex:endIndex,:) stt%crss = spread(xi_0, 2, NipcMyPhase) dot%crss => plasticState(p)%dotState(startIndex:endIndex,:) - plasticState(p)%atol(startIndex:endIndex) = config%getFloat('atol_xi',defaultVal=1.0_pReal) + plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_xi',defaultVal=1.0_pReal) if(any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_xi' startIndex = endIndex + 1 endIndex = endIndex + prm%sum_N_sl stt%crss_back => plasticState(p)%state (startIndex:endIndex,:) dot%crss_back => plasticState(p)%dotState(startIndex:endIndex,:) - plasticState(p)%atol(startIndex:endIndex) = config%getFloat('atol_xi',defaultVal=1.0_pReal) + plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_xi',defaultVal=1.0_pReal) startIndex = endIndex + 1 endIndex = endIndex + prm%sum_N_sl stt%accshear => plasticState(p)%state (startIndex:endIndex,:) dot%accshear => plasticState(p)%dotState(startIndex:endIndex,:) - plasticState(p)%atol(startIndex:endIndex) = config%getFloat('atol_gamma',defaultVal=1.0e-6_pReal) + plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_gamma',defaultVal=1.0e-6_pReal) if(any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_gamma' ! global alias plasticState(p)%slipRate => plasticState(p)%dotState(startIndex:endIndex,:) @@ -212,12 +229,12 @@ module subroutine plastic_kinehardening_init !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range - if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'('//PLASTICITY_KINEHARDENING_LABEL//')') + if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'(kinehardening)') enddo -end subroutine plastic_kinehardening_init +end function plastic_kinehardening_init !-------------------------------------------------------------------------------------------------- @@ -364,23 +381,23 @@ module subroutine plastic_kinehardening_results(instance,group) associate(prm => param(instance), stt => state(instance)) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case('resistance') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%crss,'xi_sl', & + case('xi') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%crss,trim(prm%output(o)), & 'resistance against plastic slip','Pa') - case('backstress') ! ToDo: should be 'tau_back' - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%crss_back,'tau_back', & + case('tau_b') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%crss_back,trim(prm%output(o)), & 'back stress against plastic slip','Pa') - case ('sense') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%sense,'sense_of_shear', & + case ('sgn(gamma)') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%sense,trim(prm%output(o)), & ! ToDo: could be int 'tbd','1') - case ('chi0') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%chi0,'chi0', & + case ('chi_0') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%chi0,trim(prm%output(o)), & 'tbd','Pa') - case ('gamma0') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma0,'gamma0', & + case ('gamma_0') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma0,trim(prm%output(o)), & 'tbd','1') - case ('accumulatedshear') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%accshear,'gamma_sl', & + case ('gamma') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%accshear,trim(prm%output(o)), & 'plastic shear','1') end select enddo outputsLoop diff --git a/src/constitutive_plastic_none.f90 b/src/constitutive_plastic_none.f90 index 4e6033499..283dac75b 100644 --- a/src/constitutive_plastic_none.f90 +++ b/src/constitutive_plastic_none.f90 @@ -12,26 +12,40 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_none_init +module function plastic_none_init() result(myPlasticity) + logical, dimension(:), allocatable :: myPlasticity integer :: & Ninstance, & p, & NipcMyPhase + class(tNode), pointer :: & + phases, & + phase, & + pl - write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_NONE_LABEL//' init -+>>>' - - Ninstance = count(phase_plasticity == PLASTICITY_NONE_ID) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) - - do p = 1, size(phase_plasticity) - if (phase_plasticity(p) /= PLASTICITY_NONE_ID) cycle - - NipcMyPhase = count(material_phaseAt == p) * discretization_nIP - call material_allocateState(plasticState(p),NipcMyPhase,0,0,0) + write(6,'(/,a)') ' <<<+- plastic_none init -+>>>' + phases => material_root%get('phase') + allocate(myPlasticity(phases%length), source = .false. ) + do p = 1, phases%length + phase => phases%get(p) + pl => phase%get('plasticity') + if(pl%get_asString('type') == 'none') myPlasticity(p) = .true. enddo -end subroutine plastic_none_init + Ninstance = count(myPlasticity) + write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) return + + do p = 1, phases%length + phase => phases%get(p) + if(.not. myPlasticity(p)) cycle + NipcMyPhase = count(material_phaseAt == p) * discretization_nIP + call constitutive_allocateState(plasticState(p),NipcMyPhase,0,0,0) + enddo + +end function plastic_none_init + end submodule plastic_none diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 4971b48f5..f16dbbf1a 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -163,11 +163,12 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_nonlocal_init +module function plastic_nonlocal_init() result(myPlasticity) + logical, dimension(:), allocatable :: myPlasticity integer :: & Ninstance, & - p, & + p, i, & NipcMyPhase, & sizeState, sizeDotState, sizeDependentState, sizeDeltaState, & s1, s2, & @@ -178,8 +179,12 @@ module subroutine plastic_nonlocal_init extmsg = '' type(tInitialParameters) :: & ini - - write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONLOCAL_LABEL//' init -+>>>' + class(tNode), pointer :: & + phases, & + phase, & + pl + + write(6,'(/,a)') ' <<<+- plastic_nonlocal init -+>>>' write(6,'(/,a)') ' Reuber et al., Acta Materialia 71:333–348, 2014' write(6,'(a)') ' https://doi.org/10.1016/j.actamat.2014.03.012' @@ -187,8 +192,15 @@ module subroutine plastic_nonlocal_init write(6,'(/,a)') ' Kords, Dissertation RWTH Aachen, 2014' write(6,'(a)') ' http://publications.rwth-aachen.de/record/229993' - Ninstance = count(phase_plasticity == PLASTICITY_NONLOCAL_ID) + myPlasticity = plastic_active('nonlocal') + + Ninstance = count(myPlasticity) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) then + call geometry_plastic_nonlocal_disable + return + endif + allocate(param(Ninstance)) allocate(state(Ninstance)) @@ -197,33 +209,43 @@ module subroutine plastic_nonlocal_init allocate(deltaState(Ninstance)) allocate(microstructure(Ninstance)) - do p=1, size(config_phase) - if (phase_plasticity(p) /= PLASTICITY_NONLOCAL_ID) cycle + phases => material_root%get('phase') + i = 0 + do p = 1, phases%length + phase => phases%get(p) - associate(prm => param(phase_plasticityInstance(p)), & - dot => dotState(phase_plasticityInstance(p)), & - stt => state(phase_plasticityInstance(p)), & - st0 => state0(phase_plasticityInstance(p)), & - del => deltaState(phase_plasticityInstance(p)), & - dst => microstructure(phase_plasticityInstance(p)), & - config => config_phase(p)) + if(.not. myPlasticity(p)) cycle + i = i + 1 + associate(prm => param(i), & + dot => dotState(i), & + stt => state(i), & + st0 => state0(i), & + del => deltaState(i), & + dst => microstructure(i)) + pl => phase%get('plasticity') - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) + phase_localPlasticity(p) = .not. pl%contains('nonlocal') - prm%atol_rho = config%getFloat('atol_rho',defaultVal=1.0e4_pReal) +#if defined (__GFORTRAN__) + prm%output = output_asStrings(pl) +#else + prm%output = pl%get_asStrings('output',defaultVal=emptyStringArray) +#endif + + prm%atol_rho = pl%get_asFloat('atol_rho',defaultVal=1.0e4_pReal) ! This data is read in already in lattice prm%mu = lattice_mu(p) prm%nu = lattice_nu(p) - ini%N_sl = config%getInts('nslip',defaultVal=emptyIntArray) + ini%N_sl = pl%get_asInts('N_sl',defaultVal=emptyIntArray) prm%sum_N_sl = sum(abs(ini%N_sl)) slipActive: if (prm%sum_N_sl > 0) then - prm%Schmid = lattice_SchmidMatrix_slip(ini%N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + prm%Schmid = lattice_SchmidMatrix_slip(ini%N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) - if(trim(config%getString('lattice_structure')) == 'bcc') then - a = config%getFloats('nonschmid_coefficients',defaultVal = emptyRealArray) + if(trim(phase%get_asString('lattice')) == 'bcc') then + a = pl%get_asFloats('nonSchmid_coefficients',defaultVal = emptyRealArray) if(size(a) > 0) prm%nonSchmidActive = .true. prm%nonSchmid_pos = lattice_nonSchmidMatrix(ini%N_sl,a,+1) prm%nonSchmid_neg = lattice_nonSchmidMatrix(ini%N_sl,a,-1) @@ -233,20 +255,20 @@ module subroutine plastic_nonlocal_init endif prm%interactionSlipSlip = lattice_interaction_SlipBySlip(ini%N_sl, & - config%getFloats('interaction_slipslip'), & - config%getString('lattice_structure')) + pl%get_asFloats('h_sl_sl'), & + phase%get_asString('lattice')) - prm%forestProjection_edge = lattice_forestProjection_edge (ini%N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) - prm%forestProjection_screw = lattice_forestProjection_screw(ini%N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + prm%forestProjection_edge = lattice_forestProjection_edge (ini%N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) + prm%forestProjection_screw = lattice_forestProjection_screw(ini%N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) - prm%slip_direction = lattice_slip_direction (ini%N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) - prm%slip_transverse = lattice_slip_transverse(ini%N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) - prm%slip_normal = lattice_slip_normal (ini%N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + prm%slip_direction = lattice_slip_direction (ini%N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) + prm%slip_transverse = lattice_slip_transverse(ini%N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) + prm%slip_normal = lattice_slip_normal (ini%N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) ! collinear systems (only for octahedral slip systems in fcc) allocate(prm%colinearSystem(prm%sum_N_sl), source = -1) @@ -258,113 +280,113 @@ module subroutine plastic_nonlocal_init enddo enddo - ini%rhoSglEdgePos0 = config%getFloats('rhosgledgepos0', requiredSize=size(ini%N_sl)) - ini%rhoSglEdgeNeg0 = config%getFloats('rhosgledgeneg0', requiredSize=size(ini%N_sl)) - ini%rhoSglScrewPos0 = config%getFloats('rhosglscrewpos0', requiredSize=size(ini%N_sl)) - ini%rhoSglScrewNeg0 = config%getFloats('rhosglscrewneg0', requiredSize=size(ini%N_sl)) - ini%rhoDipEdge0 = config%getFloats('rhodipedge0', requiredSize=size(ini%N_sl)) - ini%rhoDipScrew0 = config%getFloats('rhodipscrew0', requiredSize=size(ini%N_sl)) + ini%rhoSglEdgePos0 = pl%get_asFloats('rho_u_ed_pos_0', requiredSize=size(ini%N_sl)) + ini%rhoSglEdgeNeg0 = pl%get_asFloats('rho_u_ed_neg_0', requiredSize=size(ini%N_sl)) + ini%rhoSglScrewPos0 = pl%get_asFloats('rho_u_sc_pos_0', requiredSize=size(ini%N_sl)) + ini%rhoSglScrewNeg0 = pl%get_asFloats('rho_u_sc_neg_0', requiredSize=size(ini%N_sl)) + ini%rhoDipEdge0 = pl%get_asFloats('rho_d_ed_0', requiredSize=size(ini%N_sl)) + ini%rhoDipScrew0 = pl%get_asFloats('rho_d_sc_0', requiredSize=size(ini%N_sl)) - prm%lambda0 = config%getFloats('lambda0', requiredSize=size(ini%N_sl)) - prm%burgers = config%getFloats('burgers', requiredSize=size(ini%N_sl)) + prm%lambda0 = pl%get_asFloats('i_sl', requiredSize=size(ini%N_sl)) + prm%burgers = pl%get_asFloats('b_sl', requiredSize=size(ini%N_sl)) prm%lambda0 = math_expand(prm%lambda0,ini%N_sl) prm%burgers = math_expand(prm%burgers,ini%N_sl) - prm%minDipoleHeight_edge = config%getFloats('minimumdipoleheightedge', requiredSize=size(ini%N_sl)) - prm%minDipoleHeight_screw = config%getFloats('minimumdipoleheightscrew', requiredSize=size(ini%N_sl)) + prm%minDipoleHeight_edge = pl%get_asFloats('d_ed', requiredSize=size(ini%N_sl)) + prm%minDipoleHeight_screw = pl%get_asFloats('d_sc', requiredSize=size(ini%N_sl)) prm%minDipoleHeight_edge = math_expand(prm%minDipoleHeight_edge, ini%N_sl) prm%minDipoleHeight_screw = math_expand(prm%minDipoleHeight_screw,ini%N_sl) allocate(prm%minDipoleHeight(prm%sum_N_sl,2)) prm%minDipoleHeight(:,1) = prm%minDipoleHeight_edge prm%minDipoleHeight(:,2) = prm%minDipoleHeight_screw - prm%peierlsstress_edge = config%getFloats('peierlsstressedge', requiredSize=size(ini%N_sl)) - prm%peierlsstress_screw = config%getFloats('peierlsstressscrew', requiredSize=size(ini%N_sl)) + prm%peierlsstress_edge = pl%get_asFloats('tau_peierls_ed', requiredSize=size(ini%N_sl)) + prm%peierlsstress_screw = pl%get_asFloats('tau_peierls_sc', requiredSize=size(ini%N_sl)) prm%peierlsstress_edge = math_expand(prm%peierlsstress_edge, ini%N_sl) prm%peierlsstress_screw = math_expand(prm%peierlsstress_screw,ini%N_sl) allocate(prm%peierlsstress(prm%sum_N_sl,2)) prm%peierlsstress(:,1) = prm%peierlsstress_edge prm%peierlsstress(:,2) = prm%peierlsstress_screw - prm%significantRho = config%getFloat('significantrho') - prm%significantN = config%getFloat('significantn', 0.0_pReal) - prm%CFLfactor = config%getFloat('cflfactor',defaultVal=2.0_pReal) + prm%significantRho = pl%get_asFloat('rho_significant') + prm%significantN = pl%get_asFloat('rho_num_significant', 0.0_pReal) + prm%CFLfactor = pl%get_asFloat('f_c',defaultVal=2.0_pReal) - prm%atomicVolume = config%getFloat('atomicvolume') - prm%Dsd0 = config%getFloat('selfdiffusionprefactor') !,'dsd0' - prm%selfDiffusionEnergy = config%getFloat('selfdiffusionenergy') !,'qsd' - prm%linetensionEffect = config%getFloat('linetension') - prm%edgeJogFactor = config%getFloat('edgejog')!,'edgejogs' - prm%doublekinkwidth = config%getFloat('doublekinkwidth') - prm%solidSolutionEnergy = config%getFloat('solidsolutionenergy') - prm%solidSolutionSize = config%getFloat('solidsolutionsize') - prm%solidSolutionConcentration = config%getFloat('solidsolutionconcentration') + prm%atomicVolume = pl%get_asFloat('V_at') + prm%Dsd0 = pl%get_asFloat('D_0') !,'dsd0' + prm%selfDiffusionEnergy = pl%get_asFloat('Q_cl') !,'qsd' + prm%linetensionEffect = pl%get_asFloat('f_F') + prm%edgeJogFactor = pl%get_asFloat('f_ed') !,'edgejogs' + prm%doublekinkwidth = pl%get_asFloat('w') + prm%solidSolutionEnergy = pl%get_asFloat('Q_sol') + prm%solidSolutionSize = pl%get_asFloat('f_sol') + prm%solidSolutionConcentration = pl%get_asFloat('c_sol') - prm%p = config%getFloat('p') - prm%q = config%getFloat('q') - prm%viscosity = config%getFloat('viscosity') - prm%fattack = config%getFloat('attackfrequency') + prm%p = pl%get_asFloat('p_sl') + prm%q = pl%get_asFloat('q_sl') + prm%viscosity = pl%get_asFloat('eta') + prm%fattack = pl%get_asFloat('nu_a') ! ToDo: discuss logic - ini%rhoSglScatter = config%getFloat('rhosglscatter') - ini%rhoSglRandom = config%getFloat('rhosglrandom',0.0_pReal) - if (config%keyExists('/rhosglrandom/')) & - ini%rhoSglRandomBinning = config%getFloat('rhosglrandombinning',0.0_pReal) !ToDo: useful default? + ini%rhoSglScatter = pl%get_asFloat('sigma_rho_u') + ini%rhoSglRandom = pl%get_asFloat('random_rho_u',defaultVal= 0.0_pReal) + if (pl%contains('random_rho_u')) & + ini%rhoSglRandomBinning = pl%get_asFloat('random_rho_u_binning',defaultVal=0.0_pReal) !ToDo: useful default? ! if (rhoSglRandom(instance) < 0.0_pReal) & ! if (rhoSglRandomBinning(instance) <= 0.0_pReal) & - prm%surfaceTransmissivity = config%getFloat('surfacetransmissivity',defaultVal=1.0_pReal) - prm%grainboundaryTransmissivity = config%getFloat('grainboundarytransmissivity',defaultVal=-1.0_pReal) - prm%fEdgeMultiplication = config%getFloat('edgemultiplication') - prm%shortRangeStressCorrection = config%keyExists('/shortrangestresscorrection/') + prm%surfaceTransmissivity = pl%get_asFloat('chi_surface',defaultVal=1.0_pReal) + prm%grainboundaryTransmissivity = pl%get_asFloat('chi_GB', defaultVal=-1.0_pReal) + prm%fEdgeMultiplication = pl%get_asFloat('f_ed_mult') + prm%shortRangeStressCorrection = pl%get_asBool('short_range_stress_correction', defaultVal = .false.) !-------------------------------------------------------------------------------------------------- ! sanity checks - if (any(prm%burgers < 0.0_pReal)) extmsg = trim(extmsg)//' burgers' - if (any(prm%lambda0 <= 0.0_pReal)) extmsg = trim(extmsg)//' lambda0' + if (any(prm%burgers < 0.0_pReal)) extmsg = trim(extmsg)//' b_sl' + if (any(prm%lambda0 <= 0.0_pReal)) extmsg = trim(extmsg)//' i_sl' - if (any(ini%rhoSglEdgePos0 < 0.0_pReal)) extmsg = trim(extmsg)//' rhoSglEdgePos0' - if (any(ini%rhoSglEdgeNeg0 < 0.0_pReal)) extmsg = trim(extmsg)//' rhoSglEdgeNeg0' - if (any(ini%rhoSglScrewPos0 < 0.0_pReal)) extmsg = trim(extmsg)//' rhoSglScrewPos0' - if (any(ini%rhoSglScrewNeg0 < 0.0_pReal)) extmsg = trim(extmsg)//' rhoSglScrewNeg0' - if (any(ini%rhoDipEdge0 < 0.0_pReal)) extmsg = trim(extmsg)//' rhoDipEdge0' - if (any(ini%rhoDipScrew0 < 0.0_pReal)) extmsg = trim(extmsg)//' rhoDipScrew0' + if (any(ini%rhoSglEdgePos0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_ed_pos_0' + if (any(ini%rhoSglEdgeNeg0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_ed_neg_0' + if (any(ini%rhoSglScrewPos0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_sc_pos_0' + if (any(ini%rhoSglScrewNeg0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_sc_neg_0' + if (any(ini%rhoDipEdge0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_d_ed_0' + if (any(ini%rhoDipScrew0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_d_sc_0' - if (any(prm%peierlsstress < 0.0_pReal)) extmsg = trim(extmsg)//' peierlsstress' - if (any(prm%minDipoleHeight < 0.0_pReal)) extmsg = trim(extmsg)//' minDipoleHeight' + if (any(prm%peierlsstress < 0.0_pReal)) extmsg = trim(extmsg)//' tau_peierls' + if (any(prm%minDipoleHeight < 0.0_pReal)) extmsg = trim(extmsg)//' d_ed or d_sc' - if (prm%viscosity <= 0.0_pReal) extmsg = trim(extmsg)//' viscosity' - if (prm%selfDiffusionEnergy <= 0.0_pReal) extmsg = trim(extmsg)//' selfDiffusionEnergy' - if (prm%fattack <= 0.0_pReal) extmsg = trim(extmsg)//' fattack' - if (prm%doublekinkwidth <= 0.0_pReal) extmsg = trim(extmsg)//' doublekinkwidth' - if (prm%Dsd0 < 0.0_pReal) extmsg = trim(extmsg)//' Dsd0' - if (prm%atomicVolume <= 0.0_pReal) extmsg = trim(extmsg)//' atomicVolume' ! ToDo: in disloUCLA, the atomic volume is given as a factor + if (prm%viscosity <= 0.0_pReal) extmsg = trim(extmsg)//' eta' + if (prm%selfDiffusionEnergy <= 0.0_pReal) extmsg = trim(extmsg)//' Q_cl' + if (prm%fattack <= 0.0_pReal) extmsg = trim(extmsg)//' nu_a' + if (prm%doublekinkwidth <= 0.0_pReal) extmsg = trim(extmsg)//' w' + if (prm%Dsd0 < 0.0_pReal) extmsg = trim(extmsg)//' D_0' + if (prm%atomicVolume <= 0.0_pReal) extmsg = trim(extmsg)//' V_at' ! ToDo: in disloTungsten, the atomic volume is given as a factor - if (prm%significantN < 0.0_pReal) extmsg = trim(extmsg)//' significantN' - if (prm%significantrho < 0.0_pReal) extmsg = trim(extmsg)//' significantrho' + if (prm%significantN < 0.0_pReal) extmsg = trim(extmsg)//' rho_num_significant' + if (prm%significantrho < 0.0_pReal) extmsg = trim(extmsg)//' rho_significant' if (prm%atol_rho < 0.0_pReal) extmsg = trim(extmsg)//' atol_rho' - if (prm%CFLfactor < 0.0_pReal) extmsg = trim(extmsg)//' CFLfactor' + if (prm%CFLfactor < 0.0_pReal) extmsg = trim(extmsg)//' f_c' - if (prm%p <= 0.0_pReal .or. prm%p > 1.0_pReal) extmsg = trim(extmsg)//' p' - if (prm%q < 1.0_pReal .or. prm%q > 2.0_pReal) extmsg = trim(extmsg)//' q' + if (prm%p <= 0.0_pReal .or. prm%p > 1.0_pReal) extmsg = trim(extmsg)//' p_sl' + if (prm%q < 1.0_pReal .or. prm%q > 2.0_pReal) extmsg = trim(extmsg)//' q_sl' if (prm%linetensionEffect < 0.0_pReal .or. prm%linetensionEffect > 1.0_pReal) & - extmsg = trim(extmsg)//' linetensionEffect' + extmsg = trim(extmsg)//' f_F' if (prm%edgeJogFactor < 0.0_pReal .or. prm%edgeJogFactor > 1.0_pReal) & - extmsg = trim(extmsg)//' edgeJogFactor' + extmsg = trim(extmsg)//' f_ed' - if (prm%solidSolutionEnergy <= 0.0_pReal) extmsg = trim(extmsg)//' solidSolutionEnergy' - if (prm%solidSolutionSize <= 0.0_pReal) extmsg = trim(extmsg)//' solidSolutionSize' - if (prm%solidSolutionConcentration <= 0.0_pReal) extmsg = trim(extmsg)//' solidSolutionConcentration' + if (prm%solidSolutionEnergy <= 0.0_pReal) extmsg = trim(extmsg)//' Q_sol' + if (prm%solidSolutionSize <= 0.0_pReal) extmsg = trim(extmsg)//' f_sol' + if (prm%solidSolutionConcentration <= 0.0_pReal) extmsg = trim(extmsg)//' c_sol' - if (prm%grainboundaryTransmissivity > 1.0_pReal) extmsg = trim(extmsg)//' grainboundaryTransmissivity' + if (prm%grainboundaryTransmissivity > 1.0_pReal) extmsg = trim(extmsg)//' chi_GB' if (prm%surfaceTransmissivity < 0.0_pReal .or. prm%surfaceTransmissivity > 1.0_pReal) & - extmsg = trim(extmsg)//' surfaceTransmissivity' + extmsg = trim(extmsg)//' chi_surface' if (prm%fEdgeMultiplication < 0.0_pReal .or. prm%fEdgeMultiplication > 1.0_pReal) & - extmsg = trim(extmsg)//' fEdgeMultiplication' + extmsg = trim(extmsg)//' f_ed_mult' endif slipActive @@ -384,14 +406,14 @@ module subroutine plastic_nonlocal_init 'maxDipoleHeightEdge ','maxDipoleHeightScrew' ]) * prm%sum_N_sl !< other dependent state variables that are not updated by microstructure sizeDeltaState = sizeDotState - call material_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,sizeDeltaState) + call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,sizeDeltaState) - plasticState(p)%nonlocal = config%KeyExists('/nonlocal/') + plasticState(p)%nonlocal = pl%get_asBool('nonlocal') if(plasticState(p)%nonlocal .and. .not. allocated(IPneighborhood)) & call IO_error(212,ext_msg='IPneighborhood does not exist') - plasticState(p)%offsetDeltaState = 0 ! ToDo: state structure does not follow convention + plasticState(p)%offsetDeltaState = 0 ! ToDo: state structure does not follow convention st0%rho => plasticState(p)%state0 (0*prm%sum_N_sl+1:10*prm%sum_N_sl,:) stt%rho => plasticState(p)%state (0*prm%sum_N_sl+1:10*prm%sum_N_sl,:) @@ -458,7 +480,7 @@ module subroutine plastic_nonlocal_init stt%gamma => plasticState(p)%state (10*prm%sum_N_sl + 1:11*prm%sum_N_sl,1:NipcMyPhase) dot%gamma => plasticState(p)%dotState (10*prm%sum_N_sl + 1:11*prm%sum_N_sl,1:NipcMyPhase) del%gamma => plasticState(p)%deltaState (10*prm%sum_N_sl + 1:11*prm%sum_N_sl,1:NipcMyPhase) - plasticState(p)%atol(10*prm%sum_N_sl+1:11*prm%sum_N_sl ) = config%getFloat('atol_gamma', defaultVal = 1.0e-2_pReal) + plasticState(p)%atol(10*prm%sum_N_sl+1:11*prm%sum_N_sl ) = pl%get_asFloat('atol_gamma', defaultVal = 1.0e-2_pReal) if(any(plasticState(p)%atol(10*prm%sum_N_sl+1:11*prm%sum_N_sl) < 0.0_pReal)) & extmsg = trim(extmsg)//' atol_gamma' plasticState(p)%slipRate => plasticState(p)%dotState (10*prm%sum_N_sl + 1:11*prm%sum_N_sl,1:NipcMyPhase) @@ -474,12 +496,12 @@ module subroutine plastic_nonlocal_init allocate(dst%tau_back(prm%sum_N_sl,NipcMyPhase),source=0.0_pReal) end associate - if (NipcMyPhase > 0) call stateInit(ini,p,NipcMyPhase) + if (NipcMyPhase > 0) call stateInit(ini,p,NipcMyPhase,i) plasticState(p)%state0 = plasticState(p)%state !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range - if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'('//PLASTICITY_NONLOCAL_LABEL//')') + if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'(nonlocal)') enddo @@ -491,35 +513,39 @@ module subroutine plastic_nonlocal_init allocate(iV(maxval(param%sum_N_sl),4,Ninstance), source=0) allocate(iD(maxval(param%sum_N_sl),2,Ninstance), source=0) - initializeInstances: do p = 1, size(phase_plasticity) - NipcMyPhase = count(material_phaseAt==p) * discretization_nIP - myPhase2: if (phase_plasticity(p) == PLASTICITY_NONLOCAL_ID) then - l = 0 - do t = 1,4 - do s = 1,param(phase_plasticityInstance(p))%sum_N_sl - l = l + 1 - iRhoU(s,t,phase_plasticityInstance(p)) = l - enddo - enddo - l = l + (4+2+1+1)*param(phase_plasticityInstance(p))%sum_N_sl ! immobile(4), dipole(2), shear, forest - do t = 1,4 - do s = 1,param(phase_plasticityInstance(p))%sum_N_sl - l = l + 1 - iV(s,t,phase_plasticityInstance(p)) = l - enddo - enddo - do t = 1,2 - do s = 1,param(phase_plasticityInstance(p))%sum_N_sl - l = l + 1 - iD(s,t,phase_plasticityInstance(p)) = l - enddo - enddo - if (iD(param(phase_plasticityInstance(p))%sum_N_sl,2,phase_plasticityInstance(p)) /= plasticState(p)%sizeState) & - call IO_error(0, ext_msg = 'state indices not properly set ('//PLASTICITY_NONLOCAL_LABEL//')') - endif myPhase2 - enddo initializeInstances + i = 0 + do p = 1, phases%length + phase => phases%get(p) -end subroutine plastic_nonlocal_init + if(.not. myPlasticity(p)) cycle + i = i + 1 + + NipcMyPhase = count(material_phaseAt==p) * discretization_nIP + l = 0 + do t = 1,4 + do s = 1,param(i)%sum_N_sl + l = l + 1 + iRhoU(s,t,i) = l + enddo + enddo + l = l + (4+2+1+1)*param(i)%sum_N_sl ! immobile(4), dipole(2), shear, forest + do t = 1,4 + do s = 1,param(i)%sum_N_sl + l = l + 1 + iV(s,t,i) = l + enddo + enddo + do t = 1,2 + do s = 1,param(i)%sum_N_sl + l = l + 1 + iD(s,t,i) = l + enddo + enddo + if (iD(param(i)%sum_N_sl,2,i) /= plasticState(p)%sizeState) & + call IO_error(0, ext_msg = 'state indices not properly set (nonlocal)') + enddo + +end function plastic_nonlocal_init !-------------------------------------------------------------------------------------------------- @@ -1447,7 +1473,8 @@ module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e) elseif (prm%grainboundaryTransmissivity >= 0.0_pReal) then !* GRAIN BOUNDARY ! !* fixed transmissivity for adjacent ips with different texture (only if explicitly given in material.config) - if (material_texture(1,i,e) /= material_texture(1,neighbor_i,neighbor_e) .and. & + if (any(dNeq(material_orientation0(1,i,e)%asQuaternion(), & + material_orientation0(1,neighbor_i,neighbor_e)%asQuaternion())) .and. & (.not. phase_localPlasticity(neighbor_phase))) & forall(s1 = 1:ns) my_compatibility(:,s1,s1,n) = sqrt(prm%grainboundaryTransmissivity) else @@ -1514,56 +1541,56 @@ module subroutine plastic_nonlocal_results(instance,group) associate(prm => param(instance),dst => microstructure(instance),stt=>state(instance)) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case('rho_sgl_mob_edg_pos') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_mob_edg_pos, 'rho_sgl_mob_edg_pos', & + case('rho_u_ed_pos') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_mob_edg_pos, trim(prm%output(o)), & 'positive mobile edge density','1/m²') - case('rho_sgl_imm_edg_pos') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_imm_edg_pos, 'rho_sgl_imm_edg_pos',& + case('rho_b_ed_pos') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_imm_edg_pos, trim(prm%output(o)), & 'positive immobile edge density','1/m²') - case('rho_sgl_mob_edg_neg') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_mob_edg_neg, 'rho_sgl_mob_edg_neg',& + case('rho_u_ed_neg') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_mob_edg_neg, trim(prm%output(o)), & 'negative mobile edge density','1/m²') - case('rho_sgl_imm_edg_neg') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_imm_edg_neg, 'rho_sgl_imm_edg_neg',& + case('rho_b_ed_neg') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_imm_edg_neg, trim(prm%output(o)), & 'negative immobile edge density','1/m²') - case('rho_dip_edg') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_dip_edg, 'rho_dip_edg',& + case('rho_d_ed') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_dip_edg, trim(prm%output(o)), & 'edge dipole density','1/m²') - case('rho_sgl_mob_scr_pos') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_mob_scr_pos, 'rho_sgl_mob_scr_pos',& + case('rho_u_sc_pos') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_mob_scr_pos, trim(prm%output(o)), & 'positive mobile screw density','1/m²') - case('rho_sgl_imm_scr_pos') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_imm_scr_pos, 'rho_sgl_imm_scr_pos',& + case('rho_b_sc_pos') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_imm_scr_pos, trim(prm%output(o)), & 'positive immobile screw density','1/m²') - case('rho_sgl_mob_scr_neg') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_mob_scr_neg, 'rho_sgl_mob_scr_neg',& + case('rho_u_sc_neg') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_mob_scr_neg, trim(prm%output(o)), & 'negative mobile screw density','1/m²') - case('rho_sgl_imm_scr_neg') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_imm_scr_neg, 'rho_sgl_imm_scr_neg',& + case('rho_b_sc_neg') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_sgl_imm_scr_neg, trim(prm%output(o)), & 'negative immobile screw density','1/m²') - case('rho_dip_scr') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_dip_scr, 'rho_dip_scr',& + case('rho_d_sc') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_dip_scr, trim(prm%output(o)), & 'screw dipole density','1/m²') - case('rho_forest') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_forest, 'rho_forest',& + case('rho_f') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_forest, trim(prm%output(o)), & 'forest density','1/m²') - case('v_edg_pos') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%v_edg_pos, 'v_edg_pos',& + case('v_ed_pos') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%v_edg_pos, trim(prm%output(o)), & 'positive edge velocity','m/s') - case('v_edg_neg') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%v_edg_neg, 'v_edg_neg',& + case('v_ed_neg') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%v_edg_neg, trim(prm%output(o)), & 'negative edge velocity','m/s') - case('v_scr_pos') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%v_scr_pos, 'v_scr_pos',& + case('v_sc_pos') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%v_scr_pos, trim(prm%output(o)), & 'positive srew velocity','m/s') - case('v_scr_neg') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%v_scr_neg, 'v_scr_neg',& + case('v_sc_neg') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%v_scr_neg, trim(prm%output(o)), & 'negative screw velocity','m/s') case('gamma') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma,'gamma',& + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma, trim(prm%output(o)), & 'plastic shear','1') case('tau_pass') - if(prm%sum_N_sl>0) call results_writeDataset(group,dst%tau_pass,'tau_pass',& + if(prm%sum_N_sl>0) call results_writeDataset(group,dst%tau_pass, trim(prm%output(o)), & 'passing stress for slip','Pa') end select enddo outputsLoop @@ -1575,13 +1602,14 @@ end subroutine plastic_nonlocal_results !-------------------------------------------------------------------------------------------------- !> @brief populates the initial dislocation density !-------------------------------------------------------------------------------------------------- -subroutine stateInit(ini,phase,NipcMyPhase) +subroutine stateInit(ini,phase,NipcMyPhase,instance) type(tInitialParameters) :: & ini integer,intent(in) :: & phase, & - NipcMyPhase + NipcMyPhase, & + instance integer :: & e, & i, & @@ -1589,7 +1617,6 @@ subroutine stateInit(ini,phase,NipcMyPhase) from, & upto, & s, & - instance, & phasemember real(pReal), dimension(2) :: & noise, & @@ -1602,7 +1629,7 @@ subroutine stateInit(ini,phase,NipcMyPhase) real(pReal), dimension(NipcMyPhase) :: & volume - instance = phase_plasticityInstance(phase) + associate(stt => state(instance)) if (ini%rhoSglRandom > 0.0_pReal) then ! randomly distribute dislocation segments on random slip system and of random type in the volume diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index 3f6ade8d2..992949016 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -66,8 +66,9 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine plastic_phenopowerlaw_init +module function plastic_phenopowerlaw_init() result(myPlasticity) + logical, dimension(:), allocatable :: myPlasticity integer :: & Ninstance, & p, i, & @@ -82,33 +83,46 @@ module subroutine plastic_phenopowerlaw_init a !< non-Schmid coefficients character(len=pStringLen) :: & extmsg = '' + class(tNode), pointer :: & + phases, & + phase, & + pl - write(6,'(/,a)') ' <<<+- plastic_'//PLASTICITY_PHENOPOWERLAW_LABEL//' init -+>>>' + write(6,'(/,a)') ' <<<+- plastic_phenopowerlaw init -+>>>' - Ninstance = count(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID) + + myPlasticity = plastic_active('phenopowerlaw') + + Ninstance = count(myPlasticity) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) - + if(Ninstance == 0) return + allocate(param(Ninstance)) allocate(state(Ninstance)) allocate(dotState(Ninstance)) - do p = 1, size(phase_plasticity) - if (phase_plasticity(p) /= PLASTICITY_PHENOPOWERLAW_ID) cycle - associate(prm => param(phase_plasticityInstance(p)), & - dot => dotState(phase_plasticityInstance(p)), & - stt => state(phase_plasticityInstance(p)), & - config => config_phase(p)) + phases => material_root%get('phase') + i = 0 + do p = 1, phases%length + phase => phases%get(p) + + if(.not. myPlasticity(p)) cycle + i = i + 1 + associate(prm => param(i), & + dot => dotState(i), & + stt => state(i)) + pl => phase%get('plasticity') !-------------------------------------------------------------------------------------------------- ! slip related parameters - N_sl = config%getInts('nslip',defaultVal=emptyIntArray) + N_sl = pl%get_asInts('N_sl',defaultVal=emptyIntArray) prm%sum_N_sl = sum(abs(N_sl)) slipActive: if (prm%sum_N_sl > 0) then - prm%P_sl = lattice_SchmidMatrix_slip(N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + prm%P_sl = lattice_SchmidMatrix_slip(N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) - if(trim(config%getString('lattice_structure')) == 'bcc') then - a = config%getFloats('nonschmid_coefficients',defaultVal = emptyRealArray) + if(phase%get_asString('lattice') == 'bcc') then + a = pl%get_asFloats('nonSchmid_coefficients',defaultVal=emptyRealArray) if(size(a) > 0) prm%nonSchmidActive = .true. prm%nonSchmid_pos = lattice_nonSchmidMatrix(N_sl,a,+1) prm%nonSchmid_neg = lattice_nonSchmidMatrix(N_sl,a,-1) @@ -117,18 +131,18 @@ module subroutine plastic_phenopowerlaw_init prm%nonSchmid_neg = prm%P_sl endif prm%interaction_SlipSlip = lattice_interaction_SlipBySlip(N_sl, & - config%getFloats('interaction_slipslip'), & - config%getString('lattice_structure')) + pl%get_asFloats('h_sl_sl'), & + phase%get_asString('lattice')) - xi_slip_0 = config%getFloats('tau0_slip', requiredSize=size(N_sl)) - prm%xi_slip_sat = config%getFloats('tausat_slip', requiredSize=size(N_sl)) - prm%H_int = config%getFloats('h_int', requiredSize=size(N_sl), & + xi_slip_0 = pl%get_asFloats('xi_0_sl', requiredSize=size(N_sl)) + prm%xi_slip_sat = pl%get_asFloats('xi_inf_sl', requiredSize=size(N_sl)) + prm%H_int = pl%get_asFloats('h_int', requiredSize=size(N_sl), & defaultVal=[(0.0_pReal,i=1,size(N_sl))]) - prm%gdot0_slip = config%getFloat('gdot0_slip') - prm%n_slip = config%getFloat('n_slip') - prm%a_slip = config%getFloat('a_slip') - prm%h0_SlipSlip = config%getFloat('h0_slipslip') + prm%gdot0_slip = pl%get_asFloat('dot_gamma_0_sl') + prm%n_slip = pl%get_asFloat('n_sl') + prm%a_slip = pl%get_asFloat('a_sl') + prm%h0_SlipSlip = pl%get_asFloat('h_0_sl_sl') ! expand: family => system xi_slip_0 = math_expand(xi_slip_0, N_sl) @@ -136,11 +150,11 @@ module subroutine plastic_phenopowerlaw_init prm%H_int = math_expand(prm%H_int, N_sl) ! sanity checks - if ( prm%gdot0_slip <= 0.0_pReal) extmsg = trim(extmsg)//' gdot0_slip' - if ( prm%a_slip <= 0.0_pReal) extmsg = trim(extmsg)//' a_slip' - if ( prm%n_slip <= 0.0_pReal) extmsg = trim(extmsg)//' n_slip' - if (any(xi_slip_0 <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_slip_0' - if (any(prm%xi_slip_sat <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_slip_sat' + if ( prm%gdot0_slip <= 0.0_pReal) extmsg = trim(extmsg)//' dot_gamma_0_sl' + if ( prm%a_slip <= 0.0_pReal) extmsg = trim(extmsg)//' a_sl' + if ( prm%n_slip <= 0.0_pReal) extmsg = trim(extmsg)//' n_sl' + if (any(xi_slip_0 <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_0_sl' + if (any(prm%xi_slip_sat <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_inf_sl' else slipActive xi_slip_0 = emptyRealArray @@ -150,34 +164,34 @@ module subroutine plastic_phenopowerlaw_init !-------------------------------------------------------------------------------------------------- ! twin related parameters - N_tw = config%getInts('ntwin', defaultVal=emptyIntArray) + N_tw = pl%get_asInts('N_tw', defaultVal=emptyIntArray) prm%sum_N_tw = sum(abs(N_tw)) twinActive: if (prm%sum_N_tw > 0) then - prm%P_tw = lattice_SchmidMatrix_twin(N_tw,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + prm%P_tw = lattice_SchmidMatrix_twin(N_tw,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) prm%interaction_TwinTwin = lattice_interaction_TwinByTwin(N_tw,& - config%getFloats('interaction_twintwin'), & - config%getString('lattice_structure')) - prm%gamma_twin_char = lattice_characteristicShear_twin(N_tw,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + pl%get_asFloats('h_tw_tw'), & + phase%get_asString('lattice')) + prm%gamma_twin_char = lattice_characteristicShear_twin(N_tw,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) - xi_twin_0 = config%getFloats('tau0_twin',requiredSize=size(N_tw)) + xi_twin_0 = pl%get_asFloats('xi_0_tw',requiredSize=size(N_tw)) - prm%c_1 = config%getFloat('twin_c',defaultVal=0.0_pReal) - prm%c_2 = config%getFloat('twin_b',defaultVal=1.0_pReal) - prm%c_3 = config%getFloat('twin_e',defaultVal=0.0_pReal) - prm%c_4 = config%getFloat('twin_d',defaultVal=0.0_pReal) - prm%gdot0_twin = config%getFloat('gdot0_twin') - prm%n_twin = config%getFloat('n_twin') - prm%spr = config%getFloat('s_pr') - prm%h0_TwinTwin = config%getFloat('h0_twintwin') + prm%c_1 = pl%get_asFloat('c_1',defaultVal=0.0_pReal) + prm%c_2 = pl%get_asFloat('c_2',defaultVal=1.0_pReal) + prm%c_3 = pl%get_asFloat('c_3',defaultVal=0.0_pReal) + prm%c_4 = pl%get_asFloat('c_4',defaultVal=0.0_pReal) + prm%gdot0_twin = pl%get_asFloat('dot_gamma_0_tw') + prm%n_twin = pl%get_asFloat('n_tw') + prm%spr = pl%get_asFloat('f_sl_sat_tw') + prm%h0_TwinTwin = pl%get_asFloat('h_0_tw_tw') ! expand: family => system xi_twin_0 = math_expand(xi_twin_0,N_tw) ! sanity checks - if (prm%gdot0_twin <= 0.0_pReal) extmsg = trim(extmsg)//' gdot0_twin' - if (prm%n_twin <= 0.0_pReal) extmsg = trim(extmsg)//' n_twin' + if (prm%gdot0_twin <= 0.0_pReal) extmsg = trim(extmsg)//' dot_gamma_0_tw' + if (prm%n_twin <= 0.0_pReal) extmsg = trim(extmsg)//' n_tw' else twinActive xi_twin_0 = emptyRealArray @@ -188,13 +202,13 @@ module subroutine plastic_phenopowerlaw_init !-------------------------------------------------------------------------------------------------- ! slip-twin related parameters slipAndTwinActive: if (prm%sum_N_sl > 0 .and. prm%sum_N_tw > 0) then - prm%h0_TwinSlip = config%getFloat('h0_twinslip') + prm%h0_TwinSlip = pl%get_asFloat('h_0_tw_sl') prm%interaction_SlipTwin = lattice_interaction_SlipByTwin(N_sl,N_tw,& - config%getFloats('interaction_sliptwin'), & - config%getString('lattice_structure')) + pl%get_asFloats('h_sl_tw'), & + phase%get_asString('lattice')) prm%interaction_TwinSlip = lattice_interaction_TwinBySlip(N_tw,N_sl,& - config%getFloats('interaction_twinslip'), & - config%getString('lattice_structure')) + pl%get_asFloats('h_tw_sl'), & + phase%get_asString('lattice')) else slipAndTwinActive allocate(prm%interaction_SlipTwin(prm%sum_N_sl,prm%sum_N_tw)) ! at least one dimension is 0 allocate(prm%interaction_TwinSlip(prm%sum_N_tw,prm%sum_N_sl)) ! at least one dimension is 0 @@ -203,7 +217,12 @@ module subroutine plastic_phenopowerlaw_init !-------------------------------------------------------------------------------------------------- ! output pararameters - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) + +#if defined (__GFORTRAN__) + prm%output = output_asStrings(pl) +#else + prm%output = pl%get_asStrings('output',defaultVal=emptyStringArray) +#endif !-------------------------------------------------------------------------------------------------- ! allocate state arrays @@ -212,7 +231,8 @@ module subroutine plastic_phenopowerlaw_init + size(['xi_tw ','gamma_tw']) * prm%sum_N_tw sizeState = sizeDotState - call material_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) + + call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) !-------------------------------------------------------------------------------------------------- ! state aliases and initialization @@ -221,7 +241,7 @@ module subroutine plastic_phenopowerlaw_init stt%xi_slip => plasticState(p)%state (startIndex:endIndex,:) stt%xi_slip = spread(xi_slip_0, 2, NipcMyPhase) dot%xi_slip => plasticState(p)%dotState(startIndex:endIndex,:) - plasticState(p)%atol(startIndex:endIndex) = config%getFloat('atol_xi',defaultVal=1.0_pReal) + plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_xi',defaultVal=1.0_pReal) if(any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_xi' startIndex = endIndex + 1 @@ -229,14 +249,14 @@ module subroutine plastic_phenopowerlaw_init stt%xi_twin => plasticState(p)%state (startIndex:endIndex,:) stt%xi_twin = spread(xi_twin_0, 2, NipcMyPhase) dot%xi_twin => plasticState(p)%dotState(startIndex:endIndex,:) - plasticState(p)%atol(startIndex:endIndex) = config%getFloat('atol_xi',defaultVal=1.0_pReal) + plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_xi',defaultVal=1.0_pReal) if(any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_xi' startIndex = endIndex + 1 endIndex = endIndex + prm%sum_N_sl stt%gamma_slip => plasticState(p)%state (startIndex:endIndex,:) dot%gamma_slip => plasticState(p)%dotState(startIndex:endIndex,:) - plasticState(p)%atol(startIndex:endIndex) = config%getFloat('atol_gamma',defaultVal=1.0e-6_pReal) + plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_gamma',defaultVal=1.0e-6_pReal) if(any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_gamma' ! global alias plasticState(p)%slipRate => plasticState(p)%dotState(startIndex:endIndex,:) @@ -245,7 +265,7 @@ module subroutine plastic_phenopowerlaw_init endIndex = endIndex + prm%sum_N_tw stt%gamma_twin => plasticState(p)%state (startIndex:endIndex,:) dot%gamma_twin => plasticState(p)%dotState(startIndex:endIndex,:) - plasticState(p)%atol(startIndex:endIndex) = config%getFloat('atol_gamma',defaultVal=1.0e-6_pReal) + plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_gamma',defaultVal=1.0e-6_pReal) if(any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_gamma' plasticState(p)%state0 = plasticState(p)%state ! ToDo: this could be done centrally @@ -254,11 +274,11 @@ module subroutine plastic_phenopowerlaw_init !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range - if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'('//PLASTICITY_PHENOPOWERLAW_LABEL//')') + if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'(phenopowerlaw)') enddo -end subroutine plastic_phenopowerlaw_init +end function plastic_phenopowerlaw_init !-------------------------------------------------------------------------------------------------- @@ -384,18 +404,18 @@ module subroutine plastic_phenopowerlaw_results(instance,group) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case('resistance_slip') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%xi_slip, 'xi_sl', & + case('xi_sl') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%xi_slip, trim(prm%output(o)), & 'resistance against plastic slip','Pa') - case('accumulatedshear_slip') - if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma_slip,'gamma_sl', & + case('gamma_sl') + if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma_slip,trim(prm%output(o)), & 'plastic shear','1') - case('resistance_twin') - if(prm%sum_N_tw>0) call results_writeDataset(group,stt%xi_twin, 'xi_tw', & + case('xi_tw') + if(prm%sum_N_tw>0) call results_writeDataset(group,stt%xi_twin, trim(prm%output(o)), & 'resistance against twinning','Pa') - case('accumulatedshear_twin') - if(prm%sum_N_tw>0) call results_writeDataset(group,stt%gamma_twin,'gamma_tw', & + case('gamma_tw') + if(prm%sum_N_tw>0) call results_writeDataset(group,stt%gamma_twin,trim(prm%output(o)), & 'twinning shear','1') end select diff --git a/src/constitutive_thermal.f90 b/src/constitutive_thermal.f90 index 96d4c03ee..3aefb99a7 100644 --- a/src/constitutive_thermal.f90 +++ b/src/constitutive_thermal.f90 @@ -5,14 +5,20 @@ submodule(constitutive) constitutive_thermal interface - module subroutine source_thermal_dissipation_init - end subroutine source_thermal_dissipation_init + module function source_thermal_dissipation_init(source_length) result(mySources) + integer, intent(in) :: source_length + logical, dimension(:,:), allocatable :: mySources + end function source_thermal_dissipation_init + + module function source_thermal_externalheat_init(source_length) result(mySources) + integer, intent(in) :: source_length + logical, dimension(:,:), allocatable :: mySources + end function source_thermal_externalheat_init - module subroutine source_thermal_externalheat_init - end subroutine source_thermal_externalheat_init - - module subroutine kinematics_thermal_expansion_init - end subroutine kinematics_thermal_expansion_init + module function kinematics_thermal_expansion_init(kinematics_length) result(myKinematics) + integer, intent(in) :: kinematics_length + logical, dimension(:,:), allocatable :: myKinematics + end function kinematics_thermal_expansion_init module subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDot_dT, Tstar, Lp, phase) @@ -46,12 +52,15 @@ contains module subroutine thermal_init ! initialize source mechanisms - if (any(phase_source == SOURCE_thermal_dissipation_ID)) call source_thermal_dissipation_init - if (any(phase_source == SOURCE_thermal_externalheat_ID)) call source_thermal_externalheat_init - + if(maxval(phase_Nsources) /= 0) then + where(source_thermal_dissipation_init (maxval(phase_Nsources))) phase_source = SOURCE_thermal_dissipation_ID + where(source_thermal_externalheat_init(maxval(phase_Nsources))) phase_source = SOURCE_thermal_externalheat_ID + endif + !-------------------------------------------------------------------------------------------------- !initialize kinematic mechanisms - if (any(phase_kinematics == KINEMATICS_thermal_expansion_ID)) call kinematics_thermal_expansion_init + if(maxval(phase_Nkinematics) /= 0) where(kinematics_thermal_expansion_init(maxval(phase_Nkinematics))) & + phase_kinematics = KINEMATICS_thermal_expansion_ID end subroutine thermal_init diff --git a/src/crystallite.f90 b/src/crystallite.f90 index ee825d4ea..9d2d534d7 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -14,7 +14,6 @@ module crystallite use HDF5_utilities use DAMASK_interface use config - use debug use rotations use math use FEsolving @@ -143,7 +142,10 @@ subroutine crystallite_init class(tNode), pointer :: & num_crystallite, & - debug_crystallite ! pointer to debug options for crystallite + debug_crystallite, & ! pointer to debug options for crystallite + phases, & + phase, & + generic_param write(6,'(/,a)') ' <<<+- crystallite init -+>>>' @@ -233,19 +235,19 @@ subroutine crystallite_init call IO_error(301,ext_msg='integrator') end select - allocate(output_constituent(size(config_phase))) - do c = 1, size(config_phase) + phases => material_root%get('phase') + + allocate(output_constituent(phases%length)) + do c = 1, phases%length + phase => phases%get(c) + generic_param => phase%get('generic',defaultVal = emptyDict) #if defined(__GFORTRAN__) - allocate(output_constituent(c)%label(1)) - output_constituent(c)%label(1)= 'GfortranBug86277' - output_constituent(c)%label = config_phase(c)%getStrings('(output)',defaultVal=output_constituent(c)%label ) - if (output_constituent(c)%label (1) == 'GfortranBug86277') output_constituent(c)%label = [character(len=pStringLen)::] + output_constituent(c)%label = output_asStrings(generic_param) #else - output_constituent(c)%label = config_phase(c)%getStrings('(output)',defaultVal=[character(len=pStringLen)::]) + output_constituent(c)%label = generic_param%get_asStrings('output',defaultVal=emptyStringArray) #endif enddo - call config_deallocate('material.config/phase') !-------------------------------------------------------------------------------------------------- ! initialize @@ -681,46 +683,46 @@ subroutine crystallite_results type(rotation), allocatable, dimension(:) :: selected_rotations character(len=pStringLen) :: group,structureLabel - do p=1,size(config_name_phase) - group = trim('current/constituent')//'/'//trim(config_name_phase(p))//'/generic' + do p=1,size(material_name_phase) + group = trim('current/constituent')//'/'//trim(material_name_phase(p))//'/generic' call results_closeGroup(results_addGroup(group)) do o = 1, size(output_constituent(p)%label) select case (output_constituent(p)%label(o)) - case('f') + case('F') selected_tensors = select_tensors(crystallite_partionedF,p) - call results_writeDataset(group,selected_tensors,'F',& + call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& 'deformation gradient','1') - case('fe') + case('Fe') selected_tensors = select_tensors(crystallite_Fe,p) - call results_writeDataset(group,selected_tensors,'Fe',& + call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& 'elastic deformation gradient','1') - case('fp') + case('Fp') selected_tensors = select_tensors(crystallite_Fp,p) - call results_writeDataset(group,selected_tensors,'Fp',& + call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& 'plastic deformation gradient','1') - case('fi') + case('Fi') selected_tensors = select_tensors(crystallite_Fi,p) - call results_writeDataset(group,selected_tensors,'Fi',& + call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& 'inelastic deformation gradient','1') - case('lp') + case('Lp') selected_tensors = select_tensors(crystallite_Lp,p) - call results_writeDataset(group,selected_tensors,'Lp',& + call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& 'plastic velocity gradient','1/s') - case('li') + case('Li') selected_tensors = select_tensors(crystallite_Li,p) - call results_writeDataset(group,selected_tensors,'Li',& + call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& 'inelastic velocity gradient','1/s') - case('p') + case('P') selected_tensors = select_tensors(crystallite_P,p) - call results_writeDataset(group,selected_tensors,'P',& - 'First Piola-Kirchhoff stress','Pa') - case('s') + call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& + 'First Piola-Kirchoff stress','Pa') + case('S') selected_tensors = select_tensors(crystallite_S,p) - call results_writeDataset(group,selected_tensors,'S',& - 'Second Piola-Kirchhoff stress','Pa') - case('orientation') + call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& + 'Second Piola-Kirchoff stress','Pa') + case('O') select case(lattice_structure(p)) case(lattice_ISO_ID) structureLabel = 'iso' @@ -736,7 +738,7 @@ subroutine crystallite_results structureLabel = 'ort' end select selected_rotations = select_rotations(crystallite_orientation,p) - call results_writeDataset(group,selected_rotations,'orientation',& + call results_writeDataset(group,selected_rotations,output_constituent(p)%label(o),& 'crystal orientation as quaternion',structureLabel) end select enddo @@ -1575,7 +1577,7 @@ subroutine crystallite_restartWrite call HDF5_write(fileHandle,crystallite_S, 'S') groupHandle = HDF5_addGroup(fileHandle,'constituent') - do i = 1,size(phase_plasticity) + do i = 1,size(material_name_phase) write(datasetName,'(i0,a)') i,'_omega_plastic' call HDF5_write(groupHandle,plasticState(i)%state,datasetName) enddo @@ -1616,7 +1618,7 @@ subroutine crystallite_restartRead call HDF5_read(fileHandle,crystallite_S0, 'S') groupHandle = HDF5_openGroup(fileHandle,'constituent') - do i = 1,size(phase_plasticity) + do i = 1,size(material_name_phase) write(datasetName,'(i0,a)') i,'_omega_plastic' call HDF5_read(groupHandle,plasticState(i)%state0,datasetName) enddo diff --git a/src/damage_local.f90 b/src/damage_local.f90 index 66b50064b..296617039 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -7,7 +7,6 @@ module damage_local use IO use material use config - use numerics use YAML_types use constitutive use results @@ -44,9 +43,13 @@ contains subroutine damage_local_init integer :: Ninstance,NofMyHomog,h - class(tNode), pointer :: num_generic + class(tNode), pointer :: & + num_generic, & + material_homogenization, & + homog, & + homogDamage - write(6,'(/,a)') ' <<<+- damage_'//DAMAGE_local_label//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- damage_local init -+>>>'; flush(6) !---------------------------------------------------------------------------------------------- ! read numerics parameter and do sanity check @@ -57,11 +60,18 @@ subroutine damage_local_init Ninstance = count(damage_type == DAMAGE_local_ID) allocate(param(Ninstance)) - do h = 1, size(config_homogenization) + material_homogenization => material_root%get('homogenization') + do h = 1, material_homogenization%length if (damage_type(h) /= DAMAGE_LOCAL_ID) cycle - associate(prm => param(damage_typeInstance(h)),config => config_homogenization(h)) + homog => material_homogenization%get(h) + homogDamage => homog%get('damage') + associate(prm => param(damage_typeInstance(h))) - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) +#if defined (__GFORTRAN__) + prm%output = output_asStrings(homogDamage) +#else + prm%output = homogDamage%get_asStrings('output',defaultVal=emptyStringArray) +#endif NofMyHomog = count(material_homogenizationAt == h) damageState(h)%sizeState = 1 @@ -152,8 +162,8 @@ subroutine damage_local_results(homog,group) associate(prm => param(damage_typeInstance(homog))) outputsLoop: do o = 1,size(prm%output) select case(prm%output(o)) - case ('damage') - call results_writeDataset(group,damage(homog)%p,'phi',& + case ('phi') + call results_writeDataset(group,damage(homog)%p,prm%output(o),& 'damage indicator','-') end select enddo outputsLoop diff --git a/src/damage_none.f90 b/src/damage_none.f90 index b8a9bd7b5..00e3e132d 100644 --- a/src/damage_none.f90 +++ b/src/damage_none.f90 @@ -18,9 +18,9 @@ subroutine damage_none_init integer :: h,NofMyHomog - write(6,'(/,a)') ' <<<+- damage_'//DAMAGE_NONE_LABEL//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- damage_none init -+>>>'; flush(6) - do h = 1, size(config_homogenization) + do h = 1, material_Nhomogenization if (damage_type(h) /= DAMAGE_NONE_ID) cycle NofMyHomog = count(material_homogenizationAt == h) diff --git a/src/damage_nonlocal.f90 b/src/damage_nonlocal.f90 index 914133de7..93f8ab721 100644 --- a/src/damage_nonlocal.f90 +++ b/src/damage_nonlocal.f90 @@ -6,7 +6,6 @@ module damage_nonlocal use prec use material use config - use numerics use YAML_types use crystallite use lattice @@ -49,9 +48,12 @@ subroutine damage_nonlocal_init integer :: Ninstance,NofMyHomog,h class(tNode), pointer :: & - num_generic + num_generic, & + material_homogenization, & + homog, & + homogDamage - write(6,'(/,a)') ' <<<+- damage_'//DAMAGE_nonlocal_label//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- damage_nonlocal init -+>>>'; flush(6) !------------------------------------------------------------------------------------ ! read numerics parameter @@ -61,11 +63,18 @@ subroutine damage_nonlocal_init Ninstance = count(damage_type == DAMAGE_nonlocal_ID) allocate(param(Ninstance)) - do h = 1, size(config_homogenization) + material_homogenization => material_root%get('homogenization') + do h = 1, material_homogenization%length if (damage_type(h) /= DAMAGE_NONLOCAL_ID) cycle - associate(prm => param(damage_typeInstance(h)),config => config_homogenization(h)) + homog => material_homogenization%get(h) + homogDamage => homog%get('damage') + associate(prm => param(damage_typeInstance(h))) - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) +#if defined (__GFORTRAN__) + prm%output = output_asStrings(homogDamage) +#else + prm%output = homogDamage%get_asStrings('output',defaultVal=emptyStringArray) +#endif NofMyHomog = count(material_homogenizationAt == h) damageState(h)%sizeState = 1 @@ -191,8 +200,8 @@ subroutine damage_nonlocal_results(homog,group) associate(prm => param(damage_typeInstance(homog))) outputsLoop: do o = 1,size(prm%output) select case(prm%output(o)) - case ('damage') - call results_writeDataset(group,damage(homog)%p,'phi',& + case ('phi') + call results_writeDataset(group,damage(homog)%p,prm%output(o),& 'damage indicator','-') end select enddo outputsLoop diff --git a/src/debug.f90 b/src/debug.f90 deleted file mode 100644 index c26277f12..000000000 --- a/src/debug.f90 +++ /dev/null @@ -1,50 +0,0 @@ -!-------------------------------------------------------------------------------------------------- -!> @author Franz Roters, Max-Planck-Institut für Eisenforschung GmbH -!> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH -!> @author Christoph Kords, Max-Planck-Institut für Eisenforschung GmbH -!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH -!> @brief Reading in and interpretating the debugging settings for the various modules -!-------------------------------------------------------------------------------------------------- -module debug - use prec - use IO - use YAML_types - use YAML_parse - - implicit none - private - - class(tNode), pointer, protected, public :: & - debug_root !< root pointer storing the debug YAML structure - - public :: debug_init - -contains - - -!-------------------------------------------------------------------------------------------------- -!> @brief reads in parameters from debug.config and allocates arrays -!-------------------------------------------------------------------------------------------------- -subroutine debug_init - - character(len=:), allocatable :: & - debug_input, & - debug_inFlow - logical :: fexist - - write(6,'(/,a)') ' <<<+- debug init -+>>>' -#ifdef DEBUG - write(6,'(a)') achar(27)//'[31m <<<+- DEBUG version -+>>>'//achar(27)//'[0m' -#endif - - debug_root => emptyDict - inquire(file='debug.yaml', exist=fexist) - fileExists: if (fexist) then - debug_input = IO_read('debug.yaml') - debug_inFlow = to_flow(debug_input) - debug_root => parse_flow(debug_inFlow) - endif fileExists - -end subroutine debug_init - -end module debug diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 7c0f87078..0e30025d8 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -13,7 +13,6 @@ program DAMASK_grid use DAMASK_interface use IO use config - use debug use math use CPFEM2 use material diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index ce1c07fc2..6d128eb0b 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -12,8 +12,7 @@ module discretization_grid use system_routines use DAMASK_interface use IO - use debug - use numerics + use config use results use discretization use geometry_plastic_nonlocal diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index 65ca9b1dd..e7bbbff7f 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -15,7 +15,7 @@ module grid_damage_spectral use spectral_utilities use discretization_grid use damage_nonlocal - use numerics + use config use YAML_types implicit none diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 43dbca00e..e8e1345ef 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -16,11 +16,10 @@ module grid_mech_FEM use math use spectral_utilities use FEsolving - use numerics + use config use homogenization use discretization use discretization_grid - use debug implicit none private diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index ccbeb3c42..66694e516 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -17,10 +17,8 @@ module grid_mech_spectral_basic use spectral_utilities use FEsolving use config - use numerics use homogenization use discretization_grid - use debug implicit none private diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 347a2a832..f6d1b9ebb 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -18,10 +18,8 @@ module grid_mech_spectral_polarisation use spectral_utilities use FEsolving use config - use numerics use homogenization use discretization_grid - use debug implicit none private diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index 0b66ef3f0..58c89fdc4 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -16,7 +16,7 @@ module grid_thermal_spectral use discretization_grid use thermal_conduction use YAML_types - use numerics + use config use material implicit none diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 7f2066e4b..f1daf8f08 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -14,8 +14,6 @@ module spectral_utilities use rotations use IO use discretization_grid - use numerics - use debug use config use discretization use homogenization diff --git a/src/homogenization.f90 b/src/homogenization.f90 index d54e1f390..b2d75d9ee 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -8,10 +8,8 @@ module homogenization use prec use IO use config - use debug use math use material - use numerics use constitutive use crystallite use FEsolving @@ -180,7 +178,6 @@ subroutine homogenization_init if (any(damage_type == DAMAGE_local_ID)) call damage_local_init if (any(damage_type == DAMAGE_nonlocal_ID)) call damage_nonlocal_init - call config_deallocate('material.config/homogenization') !-------------------------------------------------------------------------------------------------- ! allocate and initialize global variables @@ -607,8 +604,8 @@ subroutine homogenization_results !real(pReal), dimension(:,:,:), allocatable :: temp - do p=1,size(config_name_homogenization) - group_base = 'current/materialpoint/'//trim(config_name_homogenization(p)) + do p=1,size(material_name_homogenization) + group_base = 'current/materialpoint/'//trim(material_name_homogenization(p)) call results_closeGroup(results_addGroup(group_base)) group = trim(group_base)//'/generic' diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index 3993cd609..1d1348d69 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -87,9 +87,12 @@ module subroutine mech_RGC_init(num_homogMech) sizeState, nIntFaceTot class (tNode), pointer :: & - num_RGC ! pointer to RGC numerics data + num_RGC, & ! pointer to RGC numerics data + material_homogenization, & + homog, & + homogMech - write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_RGC_label//' init -+>>>' + write(6,'(/,a)') ' <<<+- homogenization_mech_rgc init -+>>>' write(6,'(/,a)') ' Tjahjanto et al., International Journal of Material Forming 2(1):939–942, 2009' write(6,'(a)') ' https://doi.org/10.1007/s12289-009-0619-1' @@ -135,13 +138,16 @@ module subroutine mech_RGC_init(num_homogMech) if (num%volDiscrMod < 0.0_pReal) call IO_error(301,ext_msg='volDiscrMod_RGC') if (num%volDiscrPow <= 0.0_pReal) call IO_error(301,ext_msg='volDiscrPw_RGC') + + material_homogenization => material_root%get('homogenization') do h = 1, size(homogenization_type) if (homogenization_type(h) /= HOMOGENIZATION_RGC_ID) cycle + homog => material_homogenization%get(h) + homogMech => homog%get('mech') associate(prm => param(homogenization_typeInstance(h)), & stt => state(homogenization_typeInstance(h)), & st0 => state0(homogenization_typeInstance(h)), & - dst => dependentState(homogenization_typeInstance(h)), & - config => config_homogenization(h)) + dst => dependentState(homogenization_typeInstance(h))) #ifdef DEBUG if (h==material_homogenizationAt(debugHomog%element)) then @@ -149,17 +155,21 @@ module subroutine mech_RGC_init(num_homogMech) endif #endif - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) +#if defined (__GFORTRAN__) + prm%output = output_asStrings(homogMech) +#else + prm%output = homogMech%get_asStrings('output',defaultVal=emptyStringArray) +#endif - prm%Nconstituents = config%getInts('clustersize',requiredSize=3) + prm%Nconstituents = homogMech%get_asInts('cluster_size',requiredSize=3) if (homogenization_Ngrains(h) /= product(prm%Nconstituents)) & - call IO_error(211,ext_msg='clustersize ('//HOMOGENIZATION_RGC_label//')') + call IO_error(211,ext_msg='clustersize (mech_rgc)') - prm%xiAlpha = config%getFloat('scalingparameter') - prm%ciAlpha = config%getFloat('overproportionality') + prm%xiAlpha = homogMech%get_asFloat('xi_alpha') + prm%ciAlpha = homogMech%get_asFloat('c_alpha') - prm%dAlpha = config%getFloats('grainsize', requiredSize=3) - prm%angles = config%getFloats('clusterorientation',requiredSize=3) + prm%dAlpha = homogMech%get_asFloats('D_alpha', requiredSize=3) + prm%angles = homogMech%get_asFloats('a_g', requiredSize=3) NofMyHomog = count(material_homogenizationAt == h) nIntFaceTot = 3*( (prm%Nconstituents(1)-1)*prm%Nconstituents(2)*prm%Nconstituents(3) & @@ -946,23 +956,23 @@ module subroutine mech_RGC_results(instance,group) associate(stt => state(instance), dst => dependentState(instance), prm => param(instance)) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case('constitutivework') - call results_writeDataset(group,stt%work,'W',& + case('W') + call results_writeDataset(group,stt%work,trim(prm%output(o)), & 'work density','J/m³') - case('magnitudemismatch') - call results_writeDataset(group,dst%mismatch,'N',& + case('M') + call results_writeDataset(group,dst%mismatch,trim(prm%output(o)), & 'average mismatch tensor','1') - case('penaltyenergy') - call results_writeDataset(group,stt%penaltyEnergy,'R',& + case('R') + call results_writeDataset(group,stt%penaltyEnergy,trim(prm%output(o)), & 'mismatch penalty density','J/m³') - case('volumediscrepancy') - call results_writeDataset(group,dst%volumeDiscrepancy,'Delta_V',& + case('Delta_V') + call results_writeDataset(group,dst%volumeDiscrepancy,trim(prm%output(o)), & 'volume discrepancy','m³') - case('maximumrelaxrate') - call results_writeDataset(group,dst%relaxationrate_max,'max_alpha_dot',& + case('max_a_dot') + call results_writeDataset(group,dst%relaxationrate_max,trim(prm%output(o)), & 'maximum relaxation rate','m/s') - case('averagerelaxrate') - call results_writeDataset(group,dst%relaxationrate_avg,'avg_alpha_dot',& + case('avg_a_dot') + call results_writeDataset(group,dst%relaxationrate_avg,trim(prm%output(o)), & 'average relaxation rate','m/s') end select enddo outputsLoop diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index f85621804..91350e6b0 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -32,31 +32,33 @@ module subroutine mech_isostrain_init Ninstance, & h, & NofMyHomog - character(len=pStringLen) :: & - tag = '' + class(tNode), pointer :: & + material_homogenization, & + homog, & + homogMech - write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_ISOSTRAIN_LABEL//' init -+>>>' + write(6,'(/,a)') ' <<<+- homogenization_mech_isostrain init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) allocate(param(Ninstance)) ! one container of parameters per instance - + + material_homogenization => material_root%get('homogenization') do h = 1, size(homogenization_type) if (homogenization_type(h) /= HOMOGENIZATION_ISOSTRAIN_ID) cycle - - associate(prm => param(homogenization_typeInstance(h)),& - config => config_homogenization(h)) + homog => material_homogenization%get(h) + homogMech => homog%get('mech') + associate(prm => param(homogenization_typeInstance(h))) - prm%Nconstituents = config_homogenization(h)%getInt('nconstituents') - tag = 'sum' - select case(trim(config%getString('mapping',defaultVal = tag))) + prm%Nconstituents = homogMech%get_asInt('N_constituents') + select case(homogMech%get_asString('mapping',defaultVal = 'sum')) case ('sum') prm%mapping = parallel_ID case ('avg') prm%mapping = average_ID case default - call IO_error(211,ext_msg=trim(tag)//' ('//HOMOGENIZATION_ISOSTRAIN_LABEL//')') + call IO_error(211,ext_msg='sum'//' (mech_isostrain)') end select NofMyHomog = count(material_homogenizationAt == h) diff --git a/src/homogenization_mech_none.f90 b/src/homogenization_mech_none.f90 index 0633f9b8c..b3886bfba 100644 --- a/src/homogenization_mech_none.f90 +++ b/src/homogenization_mech_none.f90 @@ -18,7 +18,7 @@ module subroutine mech_none_init h, & NofMyHomog - write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_NONE_label//' init -+>>>' + write(6,'(/,a)') ' <<<+- homogenization_mech_none init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_NONE_ID) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) diff --git a/src/kinematics_cleavage_opening.f90 b/src/kinematics_cleavage_opening.f90 index 2e314024c..c682fd401 100644 --- a/src/kinematics_cleavage_opening.f90 +++ b/src/kinematics_cleavage_opening.f90 @@ -10,10 +10,10 @@ submodule(constitutive:constitutive_damage) kinematics_cleavage_opening type :: tParameters !< container type for internal constitutive parameters integer :: & - sum_N_cl + sum_N_cl !< total number of cleavage planes real(pReal) :: & - sdot0, & - n + sdot0, & !< opening rate of cleavage planes + n !< damage rate sensitivity real(pReal), dimension(:), allocatable :: & critLoad real(pReal), dimension(:,:,:,:), allocatable :: & @@ -30,54 +30,73 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine kinematics_cleavage_opening_init +module function kinematics_cleavage_opening_init(kinematics_length) result(myKinematics) + + integer, intent(in) :: kinematics_length + logical, dimension(:,:), allocatable :: myKinematics - integer :: Ninstance,p + integer :: Ninstance,p,k integer, dimension(:), allocatable :: N_cl !< active number of cleavage systems per family character(len=pStringLen) :: extmsg = '' + class(tNode), pointer :: & + phases, & + phase, & + pl, & + kinematics, & + kinematic_type + + write(6,'(/,a)') ' <<<+- kinematics_cleavage_opening init -+>>>' - write(6,'(/,a)') ' <<<+- kinematics_'//KINEMATICS_CLEAVAGE_OPENING_LABEL//' init -+>>>' - - Ninstance = count(phase_kinematics == KINEMATICS_CLEAVAGE_OPENING_ID) + myKinematics = kinematics_active('cleavage_opening',kinematics_length) + + Ninstance = count(myKinematics) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) return - allocate(kinematics_cleavage_opening_instance(size(config_phase)), source=0) + phases => material_root%get('phase') allocate(param(Ninstance)) + allocate(kinematics_cleavage_opening_instance(phases%length), source=0) - do p = 1, size(config_phase) - kinematics_cleavage_opening_instance(p) = count(phase_kinematics(:,1:p) == KINEMATICS_CLEAVAGE_OPENING_ID) - if (all(phase_kinematics(:,p) /= KINEMATICS_CLEAVAGE_OPENING_ID)) cycle + do p = 1, phases%length + if(any(myKinematics(:,p))) kinematics_cleavage_opening_instance(p) = count(myKinematics(:,1:p)) + phase => phases%get(p) + pl => phase%get('plasticity') + if(count(myKinematics(:,p)) == 0) cycle + kinematics => phase%get('kinematics') + do k = 1, kinematics%length + if(myKinematics(k,p)) then + associate(prm => param(kinematics_cleavage_opening_instance(p))) + kinematic_type => kinematics%get(k) - associate(prm => param(kinematics_cleavage_opening_instance(p)), & - config => config_phase(p)) + N_cl = kinematic_type%get_asInts('N_cl') + prm%sum_N_cl = sum(abs(N_cl)) - N_cl = config%getInts('ncleavage') - prm%sum_N_cl = sum(abs(N_cl)) + prm%n = kinematic_type%get_asFloat('q') + prm%sdot0 = kinematic_type%get_asFloat('dot_o') - prm%n = config%getFloat('anisobrittle_ratesensitivity') - prm%sdot0 = config%getFloat('anisobrittle_sdot0') + prm%critLoad = kinematic_type%get_asFloats('g_crit',requiredSize=size(N_cl)) - prm%critLoad = config%getFloats('anisobrittle_criticalload',requiredSize=size(N_cl)) + prm%cleavage_systems = lattice_SchmidMatrix_cleavage(N_cl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) - prm%cleavage_systems = lattice_SchmidMatrix_cleavage(N_cl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) + ! expand: family => system + prm%critLoad = math_expand(prm%critLoad,N_cl) - ! expand: family => system - prm%critLoad = math_expand(prm%critLoad,N_cl) - - ! sanity checks - if (prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' anisobrittle_n' - if (prm%sdot0 <= 0.0_pReal) extmsg = trim(extmsg)//' anisobrittle_sdot0' - if (any(prm%critLoad < 0.0_pReal)) extmsg = trim(extmsg)//' anisobrittle_critLoad' + ! sanity checks + if (prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' q' + if (prm%sdot0 <= 0.0_pReal) extmsg = trim(extmsg)//' dot_o' + if (any(prm%critLoad < 0.0_pReal)) extmsg = trim(extmsg)//' g_crit' !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range - if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'('//KINEMATICS_CLEAVAGE_OPENING_LABEL//')') - - end associate + if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'(cleavage_opening)') + end associate + endif + enddo enddo -end subroutine kinematics_cleavage_opening_init + +end function kinematics_cleavage_opening_init !-------------------------------------------------------------------------------------------------- diff --git a/src/kinematics_slipplane_opening.f90 b/src/kinematics_slipplane_opening.f90 index b15d206d3..406e8dce5 100644 --- a/src/kinematics_slipplane_opening.f90 +++ b/src/kinematics_slipplane_opening.f90 @@ -10,10 +10,10 @@ submodule(constitutive:constitutive_damage) kinematics_slipplane_opening type :: tParameters !< container type for internal constitutive parameters integer :: & - sum_N_sl + sum_N_sl !< total number of cleavage planes real(pReal) :: & - sdot0, & - n + sdot0, & !< opening rate of cleavage planes + n !< damage rate sensitivity real(pReal), dimension(:), allocatable :: & critLoad real(pReal), dimension(:,:,:), allocatable :: & @@ -32,64 +32,85 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine kinematics_slipplane_opening_init +module function kinematics_slipplane_opening_init(kinematics_length) result(myKinematics) - integer :: Ninstance,p,i + integer, intent(in) :: kinematics_length + logical, dimension(:,:), allocatable :: myKinematics + + integer :: Ninstance,p,i,k character(len=pStringLen) :: extmsg = '' integer, dimension(:), allocatable :: N_sl real(pReal), dimension(:,:), allocatable :: d,n,t + class(tNode), pointer :: & + phases, & + phase, & + pl, & + kinematics, & + kinematic_type + + write(6,'(/,a)') ' <<<+- kinematics_slipplane init -+>>>' - write(6,'(/,a)') ' <<<+- kinematics_'//KINEMATICS_SLIPPLANE_OPENING_LABEL//' init -+>>>' - - Ninstance = count(phase_kinematics == KINEMATICS_SLIPPLANE_OPENING_ID) + myKinematics = kinematics_active('slipplane_opening',kinematics_length) + + Ninstance = count(myKinematics) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) return - allocate(kinematics_slipplane_opening_instance(size(config_phase)), source=0) + phases => material_root%get('phase') + allocate(kinematics_slipplane_opening_instance(phases%length), source=0) allocate(param(Ninstance)) - do p = 1, size(config_phase) - kinematics_slipplane_opening_instance(p) = count(phase_kinematics(:,1:p) == KINEMATICS_SLIPPLANE_OPENING_ID) - if (all(phase_kinematics(:,p) /= KINEMATICS_SLIPPLANE_OPENING_ID)) cycle - associate(prm => param(kinematics_slipplane_opening_instance(p)), & - config => config_phase(p)) + do p = 1, phases%length + if(any(myKinematics(:,p))) kinematics_slipplane_opening_instance(p) = count(myKinematics(:,1:p)) + phase => phases%get(p) + pl => phase%get('plasticity') + if(count(myKinematics(:,p)) == 0) cycle + kinematics => phase%get('kinematics') + do k = 1, kinematics%length + if(myKinematics(k,p)) then + associate(prm => param(kinematics_slipplane_opening_instance(p))) + kinematic_type => kinematics%get(k) - prm%sdot0 = config%getFloat('anisoductile_sdot0') - prm%n = config%getFloat('anisoductile_ratesensitivity') - N_sl = config%getInts('nslip') - prm%sum_N_sl = sum(abs(N_sl)) + prm%sdot0 = kinematic_type%get_asFloat('dot_o') + prm%n = kinematic_type%get_asFloat('q') + N_sl = pl%get_asInts('N_sl') + prm%sum_N_sl = sum(abs(N_sl)) - d = lattice_slip_direction (N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) - t = lattice_slip_transverse(N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) - n = lattice_slip_normal (N_sl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) - allocate(prm%P_d(3,3,size(d,2)),prm%P_t(3,3,size(t,2)),prm%P_n(3,3,size(n,2))) + d = lattice_slip_direction (N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) + t = lattice_slip_transverse(N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) + n = lattice_slip_normal (N_sl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) + allocate(prm%P_d(3,3,size(d,2)),prm%P_t(3,3,size(t,2)),prm%P_n(3,3,size(n,2))) - do i=1, size(n,2) - prm%P_d(1:3,1:3,i) = math_outer(d(1:3,i), n(1:3,i)) - prm%P_t(1:3,1:3,i) = math_outer(t(1:3,i), n(1:3,i)) - prm%P_n(1:3,1:3,i) = math_outer(n(1:3,i), n(1:3,i)) - enddo + do i=1, size(n,2) + prm%P_d(1:3,1:3,i) = math_outer(d(1:3,i), n(1:3,i)) + prm%P_t(1:3,1:3,i) = math_outer(t(1:3,i), n(1:3,i)) + prm%P_n(1:3,1:3,i) = math_outer(n(1:3,i), n(1:3,i)) + enddo - prm%critLoad = config%getFloats('anisoductile_criticalload',requiredSize=size(N_sl)) + prm%critLoad = kinematic_type%get_asFloats('g_crit',requiredSize=size(N_sl)) - ! expand: family => system - prm%critLoad = math_expand(prm%critLoad,N_sl) + ! expand: family => system + prm%critLoad = math_expand(prm%critLoad,N_sl) - ! sanity checks - if (prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' anisoDuctile_n' - if (prm%sdot0 <= 0.0_pReal) extmsg = trim(extmsg)//' anisoDuctile_sdot0' - if (any(prm%critLoad < 0.0_pReal)) extmsg = trim(extmsg)//' anisoDuctile_critLoad' + ! sanity checks + if (prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' anisoDuctile_n' + if (prm%sdot0 <= 0.0_pReal) extmsg = trim(extmsg)//' anisoDuctile_sdot0' + if (any(prm%critLoad < 0.0_pReal)) extmsg = trim(extmsg)//' anisoDuctile_critLoad' !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range - if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'('//KINEMATICS_SLIPPLANE_OPENING_LABEL//')') + if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'(slipplane_opening)') - end associate + end associate + endif + enddo enddo -end subroutine kinematics_slipplane_opening_init + +end function kinematics_slipplane_opening_init !-------------------------------------------------------------------------------------------------- diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index 8fc2dc704..3c345f148 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -24,43 +24,64 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine kinematics_thermal_expansion_init +module function kinematics_thermal_expansion_init(kinematics_length) result(myKinematics) - integer :: Ninstance,p,i + integer, intent(in) :: kinematics_length + logical, dimension(:,:), allocatable :: myKinematics + + integer :: Ninstance,p,i,k real(pReal), dimension(:), allocatable :: temp + class(tNode), pointer :: & + phases, & + phase, & + pl, & + kinematics, & + kinematic_type + + write(6,'(/,a)') ' <<<+- kinematics_thermal_expansion init -+>>>' - write(6,'(/,a)') ' <<<+- kinematics_'//KINEMATICS_thermal_expansion_LABEL//' init -+>>>' - - Ninstance = count(phase_kinematics == KINEMATICS_thermal_expansion_ID) + myKinematics = kinematics_active('thermal_expansion',kinematics_length) + + Ninstance = count(myKinematics) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) return - allocate(kinematics_thermal_expansion_instance(size(config_phase)), source=0) + phases => material_root%get('phase') allocate(param(Ninstance)) + allocate(kinematics_thermal_expansion_instance(phases%length), source=0) - do p = 1, size(config_phase) - kinematics_thermal_expansion_instance(p) = count(phase_kinematics(:,1:p) == KINEMATICS_thermal_expansion_ID) - if (all(phase_kinematics(:,p) /= KINEMATICS_thermal_expansion_ID)) cycle + do p = 1, phases%length + if(any(myKinematics(:,p))) kinematics_thermal_expansion_instance(p) = count(myKinematics(:,1:p)) + phase => phases%get(p) + pl => phase%get('plasticity') + if(count(myKinematics(:,p)) == 0) cycle + kinematics => phase%get('kinematics') + do k = 1, kinematics%length + if(myKinematics(k,p)) then + associate(prm => param(kinematics_thermal_expansion_instance(p))) + kinematic_type => kinematics%get(k) - associate(prm => param(kinematics_thermal_expansion_instance(p)), & - config => config_phase(p)) + prm%T_ref = kinematic_type%get_asFloat('T_ref', defaultVal=0.0_pReal) - prm%T_ref = config%getFloat('reference_temperature', defaultVal=0.0_pReal) + ! read up to three parameters (constant, linear, quadratic with T) + temp = kinematic_type%get_asFloats('A_11') + prm%expansion(1,1,1:size(temp)) = temp + temp = kinematic_type%get_asFloats('A_22',defaultVal=[(0.0_pReal, i=1,size(temp))],requiredSize=size(temp)) + prm%expansion(2,2,1:size(temp)) = temp + temp = kinematic_type%get_asFloats('A_33',defaultVal=[(0.0_pReal, i=1,size(temp))],requiredSize=size(temp)) + prm%expansion(3,3,1:size(temp)) = temp + do i=1, size(prm%expansion,3) + prm%expansion(1:3,1:3,i) = lattice_applyLatticeSymmetry33(prm%expansion(1:3,1:3,i),& + phase%get_asString('lattice')) + enddo - ! read up to three parameters (constant, linear, quadratic with T) - temp = config%getFloats('thermal_expansion11') - prm%expansion(1,1,1:size(temp)) = temp - temp = config%getFloats('thermal_expansion22',defaultVal=[(0.0_pReal, i=1,size(temp))],requiredSize=size(temp)) - prm%expansion(2,2,1:size(temp)) = temp - temp = config%getFloats('thermal_expansion33',defaultVal=[(0.0_pReal, i=1,size(temp))],requiredSize=size(temp)) - prm%expansion(3,3,1:size(temp)) = temp - do i=1, size(prm%expansion,3) - prm%expansion(1:3,1:3,i) = lattice_applyLatticeSymmetry33(prm%expansion(1:3,1:3,i),config%getString('lattice_structure')) + end associate + endif enddo - - end associate enddo -end subroutine kinematics_thermal_expansion_init + +end function kinematics_thermal_expansion_init !-------------------------------------------------------------------------------------------------- diff --git a/src/lattice.f90 b/src/lattice.f90 index 7a732d2fd..503293237 100644 --- a/src/lattice.f90 +++ b/src/lattice.f90 @@ -452,11 +452,15 @@ contains subroutine lattice_init integer :: Nphases, p,i - character(len=pStringLen) :: structure = '' - + class(tNode), pointer :: & + phases, & + phase, & + elasticity + write(6,'(/,a)') ' <<<+- lattice init -+>>>'; flush(6) - Nphases = size(config_phase) + phases => material_root%get('phase') + Nphases = phases%length allocate(lattice_structure(Nphases),source = lattice_UNDEFINED_ID) allocate(lattice_C66(6,6,Nphases), source=0.0_pReal) @@ -469,21 +473,21 @@ subroutine lattice_init lattice_mu, lattice_nu,& source=[(0.0_pReal,i=1,Nphases)]) - do p = 1, size(config_phase) + do p = 1, phases%length + phase => phases%get(p) + elasticity => phase%get('elasticity') + lattice_C66(1,1,p) = elasticity%get_asFloat('C_11') + lattice_C66(1,2,p) = elasticity%get_asFloat('C_12') - lattice_C66(1,1,p) = config_phase(p)%getFloat('c11') - lattice_C66(1,2,p) = config_phase(p)%getFloat('c12') + lattice_C66(1,3,p) = elasticity%get_asFloat('C_13',defaultVal=0.0_pReal) + lattice_C66(2,2,p) = elasticity%get_asFloat('C_22',defaultVal=0.0_pReal) + lattice_C66(2,3,p) = elasticity%get_asFloat('C_23',defaultVal=0.0_pReal) + lattice_C66(3,3,p) = elasticity%get_asFloat('C_33',defaultVal=0.0_pReal) + lattice_C66(4,4,p) = elasticity%get_asFloat('C_44',defaultVal=0.0_pReal) + lattice_C66(5,5,p) = elasticity%get_asFloat('C_55',defaultVal=0.0_pReal) + lattice_C66(6,6,p) = elasticity%get_asFloat('C_66',defaultVal=0.0_pReal) - lattice_C66(1,3,p) = config_phase(p)%getFloat('c13',defaultVal=0.0_pReal) - lattice_C66(2,2,p) = config_phase(p)%getFloat('c22',defaultVal=0.0_pReal) - lattice_C66(2,3,p) = config_phase(p)%getFloat('c23',defaultVal=0.0_pReal) - lattice_C66(3,3,p) = config_phase(p)%getFloat('c33',defaultVal=0.0_pReal) - lattice_C66(4,4,p) = config_phase(p)%getFloat('c44',defaultVal=0.0_pReal) - lattice_C66(5,5,p) = config_phase(p)%getFloat('c55',defaultVal=0.0_pReal) - lattice_C66(6,6,p) = config_phase(p)%getFloat('c66',defaultVal=0.0_pReal) - - structure = config_phase(p)%getString('lattice_structure') - select case(trim(structure)) + select case(phase%get_asString('lattice')) case('iso') lattice_structure(p) = lattice_ISO_ID case('fcc') @@ -497,10 +501,10 @@ subroutine lattice_init case('ort') lattice_structure(p) = lattice_ORT_ID case default - call IO_error(130,ext_msg='lattice_init: '//trim(structure)) + call IO_error(130,ext_msg='lattice_init: '//phase%get_asString('lattice')) end select - lattice_C66(1:6,1:6,p) = applyLatticeSymmetryC66(lattice_C66(1:6,1:6,p),structure) + lattice_C66(1:6,1:6,p) = applyLatticeSymmetryC66(lattice_C66(1:6,1:6,p),phase%get_asString('lattice')) lattice_mu(p) = equivalent_mu(lattice_C66(1:6,1:6,p),'voigt') lattice_nu(p) = equivalent_nu(lattice_C66(1:6,1:6,p),'voigt') @@ -513,20 +517,22 @@ subroutine lattice_init ! SHOULD NOT BE PART OF LATTICE BEGIN - lattice_thermalConductivity(1,1,p) = config_phase(p)%getFloat('thermal_conductivity11',defaultVal=0.0_pReal) - lattice_thermalConductivity(2,2,p) = config_phase(p)%getFloat('thermal_conductivity22',defaultVal=0.0_pReal) - lattice_thermalConductivity(3,3,p) = config_phase(p)%getFloat('thermal_conductivity33',defaultVal=0.0_pReal) - lattice_thermalConductivity(1:3,1:3,p) = lattice_applyLatticeSymmetry33(lattice_thermalConductivity(1:3,1:3,p),structure) + lattice_thermalConductivity(1,1,p) = phase%get_asFloat('K_11',defaultVal=0.0_pReal) + lattice_thermalConductivity(2,2,p) = phase%get_asFloat('K_22',defaultVal=0.0_pReal) + lattice_thermalConductivity(3,3,p) = phase%get_asFloat('K_33',defaultVal=0.0_pReal) + lattice_thermalConductivity(1:3,1:3,p) = lattice_applyLatticeSymmetry33(lattice_thermalConductivity(1:3,1:3,p), & + phase%get_asString('lattice')) - lattice_specificHeat(p) = config_phase(p)%getFloat('specific_heat',defaultVal=0.0_pReal) - lattice_massDensity(p) = config_phase(p)%getFloat('mass_density', defaultVal=0.0_pReal) + lattice_specificHeat(p) = phase%get_asFloat('c_p',defaultVal=0.0_pReal) + lattice_massDensity(p) = phase%get_asFloat('rho', defaultVal=0.0_pReal) - lattice_DamageDiffusion(1,1,p) = config_phase(p)%getFloat('damage_diffusion11',defaultVal=0.0_pReal) - lattice_DamageDiffusion(2,2,p) = config_phase(p)%getFloat('damage_diffusion22',defaultVal=0.0_pReal) - lattice_DamageDiffusion(3,3,p) = config_phase(p)%getFloat('damage_diffusion33',defaultVal=0.0_pReal) - lattice_DamageDiffusion(1:3,1:3,p) = lattice_applyLatticeSymmetry33(lattice_DamageDiffusion(1:3,1:3,p),structure) + lattice_DamageDiffusion(1,1,p) = phase%get_asFloat('D_11',defaultVal=0.0_pReal) + lattice_DamageDiffusion(2,2,p) = phase%get_asFloat('D_22',defaultVal=0.0_pReal) + lattice_DamageDiffusion(3,3,p) = phase%get_asFloat('D_33',defaultVal=0.0_pReal) + lattice_DamageDiffusion(1:3,1:3,p) = lattice_applyLatticeSymmetry33(lattice_DamageDiffusion(1:3,1:3,p), & + phase%get_asString('lattice')) - lattice_DamageMobility(p) = config_phase(p)%getFloat('damage_mobility',defaultVal=0.0_pReal) + lattice_DamageMobility(p) = phase%get_asFloat('M',defaultVal=0.0_pReal) ! SHOULD NOT BE PART OF LATTICE END call selfTest diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index d53dccf75..e5c382fe1 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -11,8 +11,7 @@ module discretization_marc use math use DAMASK_interface use IO - use debug - use numerics + use config use FEsolving use element use discretization diff --git a/src/material.f90 b/src/material.f90 index ca2b0d49a..c89113311 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -10,52 +10,22 @@ module material use config use results use IO - use debug use rotations use discretization implicit none private - character(len=*), parameter, public :: & - ELASTICITY_hooke_label = 'hooke', & - PLASTICITY_none_label = 'none', & - PLASTICITY_isotropic_label = 'isotropic', & - PLASTICITY_phenopowerlaw_label = 'phenopowerlaw', & - PLASTICITY_kinehardening_label = 'kinehardening', & - PLASTICITY_dislotwin_label = 'dislotwin', & - PLASTICITY_disloucla_label = 'disloucla', & - PLASTICITY_nonlocal_label = 'nonlocal', & - SOURCE_thermal_dissipation_label = 'thermal_dissipation', & - SOURCE_thermal_externalheat_label = 'thermal_externalheat', & - SOURCE_damage_isoBrittle_label = 'damage_isobrittle', & - SOURCE_damage_isoDuctile_label = 'damage_isoductile', & - SOURCE_damage_anisoBrittle_label = 'damage_anisobrittle', & - SOURCE_damage_anisoDuctile_label = 'damage_anisoductile', & - KINEMATICS_thermal_expansion_label = 'thermal_expansion', & - KINEMATICS_cleavage_opening_label = 'cleavage_opening', & - KINEMATICS_slipplane_opening_label = 'slipplane_opening', & - STIFFNESS_DEGRADATION_damage_label = 'damage', & - THERMAL_isothermal_label = 'isothermal', & - THERMAL_adiabatic_label = 'adiabatic', & - THERMAL_conduction_label = 'conduction', & - DAMAGE_none_label = 'none', & - DAMAGE_local_label = 'local', & - DAMAGE_nonlocal_label = 'nonlocal', & - HOMOGENIZATION_none_label = 'none', & - HOMOGENIZATION_isostrain_label = 'isostrain', & - HOMOGENIZATION_rgc_label = 'rgc' - enum, bind(c); enumerator :: & - ELASTICITY_UNDEFINED_ID ,& - ELASTICITY_HOOKE_ID ,& - PLASTICITY_UNDEFINED_ID ,& + ELASTICITY_UNDEFINED_ID, & + ELASTICITY_HOOKE_ID, & + PLASTICITY_UNDEFINED_ID, & PLASTICITY_NONE_ID, & PLASTICITY_ISOTROPIC_ID, & PLASTICITY_PHENOPOWERLAW_ID, & PLASTICITY_KINEHARDENING_ID, & PLASTICITY_DISLOTWIN_ID, & - PLASTICITY_DISLOUCLA_ID, & + PLASTICITY_DISLOTUNGSTEN_ID, & PLASTICITY_NONLOCAL_ID, & SOURCE_UNDEFINED_ID ,& SOURCE_THERMAL_DISSIPATION_ID, & @@ -82,10 +52,10 @@ module material HOMOGENIZATION_RGC_ID end enum - integer(kind(ELASTICITY_undefined_ID)), dimension(:), allocatable, public, protected :: & - phase_elasticity !< elasticity of each phase - integer(kind(PLASTICITY_undefined_ID)), dimension(:), allocatable, public, protected :: & - phase_plasticity !< plasticity of each phase + character(len=pStringLen), public, protected, allocatable, dimension(:) :: & + material_name_phase, & !< name of each phase + material_name_homogenization !< name of each homogenization + integer(kind(THERMAL_isothermal_ID)), dimension(:), allocatable, public, protected :: & thermal_type !< thermal transport model integer(kind(DAMAGE_none_ID)), dimension(:), allocatable, public, protected :: & @@ -94,23 +64,12 @@ module material homogenization_type !< type of each homogenization integer, public, protected :: & - material_Nphase, & !< number of phases material_Nhomogenization !< number of homogenizations - integer(kind(SOURCE_undefined_ID)), dimension(:,:), allocatable, public, protected :: & - phase_source, & !< active sources mechanisms of each phase - phase_kinematics, & !< active kinematic mechanisms of each phase - phase_stiffnessDegradation !< active stiffness degradation mechanisms of each phase - integer, public, protected :: & homogenization_maxNgrains !< max number of grains in any USED homogenization integer, dimension(:), allocatable, public, protected :: & - phase_Nsources, & !< number of source mechanisms active in each phase - phase_Nkinematics, & !< number of kinematic mechanisms active in each phase - phase_NstiffnessDegradations, & !< number of stiffness degradation mechanisms active in each phase - phase_elasticityInstance, & !< instance of particular elasticity of each phase - phase_plasticityInstance, & !< instance of particular plasticity of each phase homogenization_Ngrains, & !< number of grains in each homogenization homogenization_typeInstance, & !< instance of particular type of each homogenization thermal_typeInstance, & !< instance of particular type of each thermal transport @@ -129,33 +88,17 @@ module material integer, dimension(:,:,:), allocatable, public, protected :: & ! (constituent,elem) material_phaseMemberAt !< position of the element within its phase instance - type(tPlasticState), allocatable, dimension(:), public :: & - plasticState - type(tSourceState), allocatable, dimension(:), public :: & - sourceState type(tState), allocatable, dimension(:), public :: & homogState, & thermalState, & damageState - integer, dimension(:,:,:), allocatable, public, protected :: & - material_texture !< texture (index) of each grain,IP,element. Only used by plastic_nonlocal - type(Rotation), dimension(:,:,:), allocatable, public, protected :: & material_orientation0 !< initial orientation of each grain,IP,element - logical, dimension(:), allocatable, public, protected :: & - phase_localPlasticity !< flags phases with local constitutive law - integer, dimension(:), allocatable, private :: & microstructure_Nconstituents !< number of constituents in each microstructure - integer, dimension(:,:), allocatable, private :: & - microstructure_phase, & !< phase IDs of each microstructure - microstructure_texture !< texture IDs of each microstructure - - type(Rotation), dimension(:), allocatable, private :: & - texture_orientation !< Euler angles in material.config (possibly rotated for alignment) ! BEGIN DEPRECATED @@ -173,24 +116,28 @@ module material public :: & material_init, & - material_allocateState, & - ELASTICITY_HOOKE_ID ,& + ELASTICITY_UNDEFINED_ID, & + ELASTICITY_HOOKE_ID, & + PLASTICITY_UNDEFINED_ID, & PLASTICITY_NONE_ID, & PLASTICITY_ISOTROPIC_ID, & PLASTICITY_PHENOPOWERLAW_ID, & PLASTICITY_KINEHARDENING_ID, & PLASTICITY_DISLOTWIN_ID, & - PLASTICITY_DISLOUCLA_ID, & + PLASTICITY_DISLOTUNGSTEN_ID, & PLASTICITY_NONLOCAL_ID, & + SOURCE_UNDEFINED_ID ,& SOURCE_THERMAL_DISSIPATION_ID, & SOURCE_THERMAL_EXTERNALHEAT_ID, & SOURCE_DAMAGE_ISOBRITTLE_ID, & SOURCE_DAMAGE_ISODUCTILE_ID, & SOURCE_DAMAGE_ANISOBRITTLE_ID, & SOURCE_DAMAGE_ANISODUCTILE_ID, & + KINEMATICS_UNDEFINED_ID ,& KINEMATICS_CLEAVAGE_OPENING_ID, & KINEMATICS_SLIPPLANE_OPENING_ID, & KINEMATICS_THERMAL_EXPANSION_ID, & + STIFFNESS_DEGRADATION_UNDEFINED_ID, & STIFFNESS_DEGRADATION_DAMAGE_ID, & THERMAL_ISOTHERMAL_ID, & THERMAL_ADIABATIC_ID, & @@ -211,18 +158,30 @@ subroutine material_init(restart) logical, intent(in) :: restart - integer :: i,e,m,c,h, myDebug, myPhase, myHomog, myMicro - integer, dimension(:), allocatable :: & - CounterPhase, & - CounterHomogenization + integer :: ph, myHomog class(tNode), pointer :: & - debug_material ! pointer to material debug options - + debug_material, & ! pointer to material debug options + phases, & + material_homogenization + character(len=pStringLen) :: sectionName + write(6,'(/,a)') ' <<<+- material init -+>>>'; flush(6) + phases => material_root%get('phase') + allocate(material_name_phase(phases%length)) + do ph = 1, phases%length + write(sectionName,'(i0,a)') ph,'_' + material_name_phase(ph) = trim(adjustl(sectionName))//phases%getKey(ph) !ToDO: No reason to do. Update damage tests + enddo + + material_homogenization => material_root%get('homogenization') + allocate(material_name_homogenization(material_homogenization%length)) + do myHomog = 1, material_homogenization%length + write(sectionName,'(i0,a)') myHomog,'_' + material_name_homogenization(myHomog) = trim(adjustl(sectionName))//material_homogenization%getKey(myHomog) + enddo + debug_material => debug_root%get('material',defaultVal=emptyList) - call material_parsePhase() - if (debug_material%contains('basic')) write(6,'(a)') ' Phase parsed'; flush(6) call material_parseMicrostructure() if (debug_material%contains('basic')) write(6,'(a)') ' Microstructure parsed'; flush(6) @@ -230,18 +189,8 @@ subroutine material_init(restart) call material_parseHomogenization() if (debug_material%contains('basic')) write(6,'(a)') ' Homogenization parsed'; flush(6) - call material_parseTexture() - if (debug_material%contains('basic')) write(6,'(a)') ' Texture parsed'; flush(6) - material_Nphase = size(config_phase) - material_Nhomogenization = size(config_homogenization) - - - allocate(plasticState(material_Nphase)) - allocate(sourceState (material_Nphase)) - do myPhase = 1,material_Nphase - allocate(sourceState(myPhase)%p(phase_Nsources(myPhase))) - enddo + if(homogenization_maxNgrains > size(material_phaseAt,1)) call IO_error(148) allocate(homogState (material_Nhomogenization)) allocate(thermalState (material_Nhomogenization)) @@ -255,97 +204,11 @@ subroutine material_init(restart) allocate(temperatureRate (material_Nhomogenization)) - do m = 1,size(config_microstructure) - if(minval(microstructure_phase(1:microstructure_Nconstituents(m),m)) < 1 .or. & - maxval(microstructure_phase(1:microstructure_Nconstituents(m),m)) > size(config_phase)) & - call IO_error(150,m,ext_msg='phase') - if(minval(microstructure_texture(1:microstructure_Nconstituents(m),m)) < 1 .or. & - maxval(microstructure_texture(1:microstructure_Nconstituents(m),m)) > size(config_texture)) & - call IO_error(150,m,ext_msg='texture') - if(microstructure_Nconstituents(m) < 1) & - call IO_error(151,m) - enddo - if(homogenization_maxNgrains > size(microstructure_phase,1)) call IO_error(148) - - debugOut: if (debug_material%contains('extensive')) then - write(6,'(/,a,/)') ' MATERIAL configuration' - write(6,'(a32,1x,a16,1x,a6)') 'homogenization ','type ','grains' - do h = 1,size(config_homogenization) - write(6,'(1x,a32,1x,a16,1x,i6)') config_name_homogenization(h),homogenization_type(h),homogenization_Ngrains(h) - enddo - write(6,'(/,a14,18x,1x,a11,1x,a12,1x,a13)') 'microstructure','constituents' - do m = 1,size(config_microstructure) - write(6,'(1x,a32,1x,i12)') config_name_microstructure(m), microstructure_Nconstituents(m) - if (microstructure_Nconstituents(m) > 0) then - do c = 1,microstructure_Nconstituents(m) - write(6,'(a1,1x,a32,1x,a32)') '>',config_name_phase(microstructure_phase(c,m)),& - config_name_texture(microstructure_texture(c,m)) - enddo - write(6,*) - endif - enddo - endif debugOut - - allocate(material_phaseAt(homogenization_maxNgrains,discretization_nElem), source=0) - allocate(material_texture(homogenization_maxNgrains,discretization_nIP,discretization_nElem),source=0) !this is only needed by plasticity nonlocal - allocate(material_orientation0(homogenization_maxNgrains,discretization_nIP,discretization_nElem)) - - do e = 1, discretization_nElem - do i = 1, discretization_nIP - myMicro = discretization_microstructureAt(e) - do c = 1, homogenization_Ngrains(discretization_homogenizationAt(e)) - if(microstructure_phase(c,myMicro) > 0) then - material_phaseAt(c,e) = microstructure_phase(c,myMicro) - else - call IO_error(150,ext_msg='phase') - endif - if(microstructure_texture(c,myMicro) > 0) then - material_texture(c,i,e) = microstructure_texture(c,myMicro) - material_orientation0(c,i,e) = texture_orientation(material_texture(c,i,e)) - else - call IO_error(150,ext_msg='texture') - endif - enddo - enddo - enddo - - deallocate(microstructure_phase) - deallocate(microstructure_texture) - deallocate(texture_orientation) - - - allocate(material_homogenizationAt,source=discretization_homogenizationAt) - allocate(material_homogenizationMemberAt(discretization_nIP,discretization_nElem),source=0) - - allocate(CounterHomogenization(size(config_homogenization)),source=0) - do e = 1, discretization_nElem - do i = 1, discretization_nIP - CounterHomogenization(material_homogenizationAt(e)) = & - CounterHomogenization(material_homogenizationAt(e)) + 1 - material_homogenizationMemberAt(i,e) = CounterHomogenization(material_homogenizationAt(e)) - enddo - enddo - - allocate(material_phaseMemberAt(homogenization_maxNgrains,discretization_nIP,discretization_nElem),source=0) - - allocate(CounterPhase(size(config_phase)),source=0) - do e = 1, discretization_nElem - do i = 1, discretization_nIP - do c = 1, homogenization_maxNgrains - CounterPhase(material_phaseAt(c,e)) = & - CounterPhase(material_phaseAt(c,e)) + 1 - material_phaseMemberAt(c,i,e) = CounterPhase(material_phaseAt(c,e)) - enddo - enddo - enddo - - call config_deallocate('material.config/microstructure') - call config_deallocate('material.config/texture') if (.not. restart) then call results_openJobFile - call results_mapping_constituent(material_phaseAt,material_phaseMemberAt,config_name_phase) - call results_mapping_materialpoint(material_homogenizationAt,material_homogenizationMemberAt,config_name_homogenization) + call results_mapping_constituent(material_phaseAt,material_phaseMemberAt,material_name_phase) + call results_mapping_materialpoint(material_homogenizationAt,material_homogenizationMemberAt,material_name_homogenization) call results_closeJobFile endif @@ -354,7 +217,7 @@ subroutine material_init(restart) allocate(mappingHomogenizationConst( discretization_nIP,discretization_nElem),source=1) ! hack needed to initialize field values used during constitutive initialization - do myHomog = 1,size(config_homogenization) + do myHomog = 1,material_Nhomogenization thermalMapping (myHomog)%p => mappingHomogenizationConst damageMapping (myHomog)%p => mappingHomogenizationConst allocate(temperature (myHomog)%p(1), source=thermal_initialT(myHomog)) @@ -370,82 +233,85 @@ end subroutine material_init !-------------------------------------------------------------------------------------------------- subroutine material_parseHomogenization - integer :: h - character(len=pStringLen) :: tag + class(tNode), pointer :: & + material_homogenization, & + homog, & + homogMech, & + homogThermal, & + homogDamage + integer :: h logical, dimension(:), allocatable :: homogenization_active - allocate(homogenization_type(size(config_homogenization)), source=HOMOGENIZATION_undefined_ID) - allocate(thermal_type(size(config_homogenization)), source=THERMAL_isothermal_ID) - allocate(damage_type (size(config_homogenization)), source=DAMAGE_none_ID) - allocate(homogenization_typeInstance(size(config_homogenization)), source=0) - allocate(thermal_typeInstance(size(config_homogenization)), source=0) - allocate(damage_typeInstance(size(config_homogenization)), source=0) - allocate(homogenization_Ngrains(size(config_homogenization)), source=0) - allocate(homogenization_active(size(config_homogenization)), source=.false.) !!!!!!!!!!!!!!! - allocate(thermal_initialT(size(config_homogenization)), source=300.0_pReal) - allocate(damage_initialPhi(size(config_homogenization)), source=1.0_pReal) + material_homogenization => material_root%get('homogenization') + material_Nhomogenization = material_homogenization%length - forall (h = 1:size(config_homogenization)) & - homogenization_active(h) = any(discretization_homogenizationAt == h) + allocate(homogenization_type(material_Nhomogenization), source=HOMOGENIZATION_undefined_ID) + allocate(thermal_type(material_Nhomogenization), source=THERMAL_isothermal_ID) + allocate(damage_type (material_Nhomogenization), source=DAMAGE_none_ID) + allocate(homogenization_typeInstance(material_Nhomogenization), source=0) + allocate(thermal_typeInstance(material_Nhomogenization), source=0) + allocate(damage_typeInstance(material_Nhomogenization), source=0) + allocate(homogenization_Ngrains(material_Nhomogenization), source=0) + allocate(homogenization_active(material_Nhomogenization), source=.false.) !!!!!!!!!!!!!!! + allocate(thermal_initialT(material_Nhomogenization), source=300.0_pReal) + allocate(damage_initialPhi(material_Nhomogenization), source=1.0_pReal) + forall (h = 1:material_Nhomogenization) & + homogenization_active(h) = any(discretization_homogenizationAt == h) !ToDo: SR: needed?? - do h=1, size(config_homogenization) - - tag = config_homogenization(h)%getString('mech') - select case (trim(tag)) - case(HOMOGENIZATION_NONE_label) + do h=1, material_Nhomogenization + homog => material_homogenization%get(h) + homogMech => homog%get('mech') + select case (homogMech%get_asString('type')) + case('none') homogenization_type(h) = HOMOGENIZATION_NONE_ID homogenization_Ngrains(h) = 1 - case(HOMOGENIZATION_ISOSTRAIN_label) + case('isostrain') homogenization_type(h) = HOMOGENIZATION_ISOSTRAIN_ID - homogenization_Ngrains(h) = config_homogenization(h)%getInt('nconstituents') - case(HOMOGENIZATION_RGC_label) + homogenization_Ngrains(h) = homogMech%get_asInt('N_constituents') + case('RGC') homogenization_type(h) = HOMOGENIZATION_RGC_ID - homogenization_Ngrains(h) = config_homogenization(h)%getInt('nconstituents') + homogenization_Ngrains(h) = homogMech%get_asInt('N_constituents') case default - call IO_error(500,ext_msg=trim(tag)) + call IO_error(500,ext_msg=homogMech%get_asString('type')) end select homogenization_typeInstance(h) = count(homogenization_type==homogenization_type(h)) - if (config_homogenization(h)%keyExists('thermal')) then - thermal_initialT(h) = config_homogenization(h)%getFloat('t0',defaultVal=300.0_pReal) - - tag = config_homogenization(h)%getString('thermal') - select case (trim(tag)) - case(THERMAL_isothermal_label) - thermal_type(h) = THERMAL_isothermal_ID - case(THERMAL_adiabatic_label) - thermal_type(h) = THERMAL_adiabatic_ID - case(THERMAL_conduction_label) - thermal_type(h) = THERMAL_conduction_ID - case default - call IO_error(500,ext_msg=trim(tag)) - end select + if(homog%contains('thermal')) then + homogThermal => homog%get('thermal') + thermal_initialT(h) = homogThermal%get_asFloat('T_0',defaultVal=300.0_pReal) + select case (homogThermal%get_asString('type')) + case('isothermal') + thermal_type(h) = THERMAL_isothermal_ID + case('adiabatic') + thermal_type(h) = THERMAL_adiabatic_ID + case('conduction') + thermal_type(h) = THERMAL_conduction_ID + case default + call IO_error(500,ext_msg=homogThermal%get_asString('type')) + end select endif - if (config_homogenization(h)%keyExists('damage')) then - damage_initialPhi(h) = config_homogenization(h)%getFloat('initialdamage',defaultVal=1.0_pReal) - - tag = config_homogenization(h)%getString('damage') - select case (trim(tag)) - case(DAMAGE_NONE_label) - damage_type(h) = DAMAGE_none_ID - case(DAMAGE_LOCAL_label) - damage_type(h) = DAMAGE_local_ID - case(DAMAGE_NONLOCAL_label) - damage_type(h) = DAMAGE_nonlocal_ID - case default - call IO_error(500,ext_msg=trim(tag)) - end select - + if(homog%contains('damage')) then + homogDamage => homog%get('damage') + damage_initialPhi(h) = homogDamage%get_asFloat('phi_0',defaultVal=1.0_pReal) + select case (homogDamage%get_asString('type')) + case('none') + damage_type(h) = DAMAGE_none_ID + case('local') + damage_type(h) = DAMAGE_local_ID + case('nonlocal') + damage_type(h) = DAMAGE_nonlocal_ID + case default + call IO_error(500,ext_msg=homogDamage%get_asString('type')) + end select endif - enddo - do h=1, size(config_homogenization) + do h=1, material_Nhomogenization homogenization_typeInstance(h) = count(homogenization_type(1:h) == homogenization_type(h)) thermal_typeInstance(h) = count(thermal_type (1:h) == thermal_type (h)) damage_typeInstance(h) = count(damage_type (1:h) == damage_type (h)) @@ -453,6 +319,7 @@ subroutine material_parseHomogenization homogenization_maxNgrains = maxval(homogenization_Ngrains,homogenization_active) + end subroutine material_parseHomogenization @@ -461,276 +328,101 @@ end subroutine material_parseHomogenization !-------------------------------------------------------------------------------------------------- subroutine material_parseMicrostructure - character(len=pStringLen), dimension(:), allocatable :: & - strings - integer, allocatable, dimension(:) :: chunkPos - integer :: m, c, i - character(len=pStringLen) :: & - tag + class(tNode), pointer :: microstructure, & !> pointer to microstructure list + constituentsInMicrostructure, & !> pointer to a microstructure list item + constituents, & !> pointer to constituents list + constituent, & !> pointer to each constituent + phases, & + homogenization + + integer, dimension(:), allocatable :: & + CounterPhase, & + CounterHomogenization + + real(pReal), dimension(:,:), allocatable :: & - microstructure_fraction !< vol fraction of each constituent in microstructure + microstructure_fraction !< vol fraction of each constituent in microstrcuture + integer :: & - maxNconstituents !< max number of constituents in any phase + e, & + i, & + m, & + c, & + microstructure_maxNconstituents - allocate(microstructure_Nconstituents(size(config_microstructure)), source=0) + real(pReal), dimension(4) :: phase_orientation - if(any(discretization_microstructureAt > size(config_microstructure))) & - call IO_error(155,ext_msg='More microstructures in geometry than sections in material.config') + homogenization => material_root%get('homogenization') + phases => material_root%get('phase') + microstructure => material_root%get('microstructure') + allocate(microstructure_Nconstituents(microstructure%length), source = 0) + + if(any(discretization_microstructureAt > microstructure%length)) & + call IO_error(155,ext_msg='More microstructures in geometry than sections in material.yaml') - do m=1, size(config_microstructure) - microstructure_Nconstituents(m) = config_microstructure(m)%countKeys('(constituent)') + do m = 1, microstructure%length + constituentsInMicrostructure => microstructure%get(m) + constituents => constituentsInMicrostructure%get('constituents') + microstructure_Nconstituents(m) = constituents%length + enddo + + microstructure_maxNconstituents = maxval(microstructure_Nconstituents) + allocate(microstructure_fraction(microstructure_maxNconstituents,microstructure%length), source =0.0_pReal) + allocate(material_phaseAt(microstructure_maxNconstituents,discretization_nElem), source =0) + allocate(material_orientation0(microstructure_maxNconstituents,discretization_nIP,discretization_nElem)) + allocate(material_homogenizationAt(discretization_nElem)) + allocate(material_homogenizationMemberAt(discretization_nIP,discretization_nElem),source=0) + allocate(material_phaseMemberAt(microstructure_maxNconstituents,discretization_nIP,discretization_nElem),source=0) + + allocate(CounterPhase(phases%length),source=0) + allocate(CounterHomogenization(homogenization%length),source=0) + + do m = 1, microstructure%length + constituentsInMicrostructure => microstructure%get(m) + constituents => constituentsInMicrostructure%get('constituents') + do c = 1, constituents%length + constituent => constituents%get(c) + microstructure_fraction(c,m) = constituent%get_asFloat('fraction') + enddo + if (dNeq(sum(microstructure_fraction(:,m)),1.0_pReal)) call IO_error(153,ext_msg='constituent') enddo - maxNconstituents = maxval(microstructure_Nconstituents) - allocate(microstructure_phase (maxNconstituents,size(config_microstructure)),source=0) - allocate(microstructure_texture (maxNconstituents,size(config_microstructure)),source=0) - allocate(microstructure_fraction(maxNconstituents,size(config_microstructure)),source=0.0_pReal) - - allocate(strings(1)) ! Intel 16.0 Bug - do m=1, size(config_microstructure) - strings = config_microstructure(m)%getStrings('(constituent)',raw=.true.) - do c = 1, size(strings) - chunkPos = IO_stringPos(strings(c)) - - do i = 1,5,2 - tag = IO_stringValue(strings(c),chunkPos,i) - - select case (tag) - case('phase') - microstructure_phase(c,m) = IO_intValue(strings(c),chunkPos,i+1) - case('texture') - microstructure_texture(c,m) = IO_intValue(strings(c),chunkPos,i+1) - case('fraction') - microstructure_fraction(c,m) = IO_floatValue(strings(c),chunkPos,i+1) - end select - + do e = 1, discretization_nElem + do i = 1, discretization_nIP + constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) + constituents => constituentsInMicrostructure%get('constituents') + do c = 1, constituents%length + constituent => constituents%get(c) + material_phaseAt(c,e) = phases%getIndex(constituent%get_asString('phase')) + phase_orientation = constituent%get_asFloats('orientation') + call material_orientation0(c,i,e)%fromQuaternion(phase_orientation) + enddo + enddo + enddo + + do e = 1, discretization_nElem + do i = 1, discretization_nIP + constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) + material_homogenizationAt(e) = homogenization%getIndex(constituentsInMicrostructure%get_asString('homogenization')) + CounterHomogenization(material_homogenizationAt(e)) = CounterHomogenization(material_homogenizationAt(e)) + 1 + material_homogenizationMemberAt(i,e) = CounterHomogenization(material_homogenizationAt(e)) + enddo + enddo + + do e = 1, discretization_nElem + do i = 1, discretization_nIP + constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) + constituents => constituentsInMicrostructure%get('constituents') + do c = 1, constituents%length + CounterPhase(material_phaseAt(c,e)) = & + CounterPhase(material_phaseAt(c,e)) + 1 + material_phaseMemberAt(c,i,e) = CounterPhase(material_phaseAt(c,e)) enddo enddo - if (dNeq(sum(microstructure_fraction(:,m)),1.0_pReal)) call IO_error(153,ext_msg=config_name_microstructure(m)) enddo end subroutine material_parseMicrostructure - -!-------------------------------------------------------------------------------------------------- -!> @brief parses the phase part in the material configuration file -!-------------------------------------------------------------------------------------------------- -subroutine material_parsePhase - - integer :: sourceCtr, kinematicsCtr, stiffDegradationCtr, p - character(len=pStringLen), dimension(:), allocatable :: str - - - allocate(phase_elasticity(size(config_phase)),source=ELASTICITY_undefined_ID) - allocate(phase_plasticity(size(config_phase)),source=PLASTICITY_undefined_ID) - allocate(phase_Nsources(size(config_phase)), source=0) - allocate(phase_Nkinematics(size(config_phase)), source=0) - allocate(phase_NstiffnessDegradations(size(config_phase)),source=0) - allocate(phase_localPlasticity(size(config_phase)), source=.false.) - - do p=1, size(config_phase) - phase_Nsources(p) = config_phase(p)%countKeys('(source)') - phase_Nkinematics(p) = config_phase(p)%countKeys('(kinematics)') - phase_NstiffnessDegradations(p) = config_phase(p)%countKeys('(stiffness_degradation)') - phase_localPlasticity(p) = .not. config_phase(p)%KeyExists('/nonlocal/') - - select case (config_phase(p)%getString('elasticity')) - case (ELASTICITY_HOOKE_label) - phase_elasticity(p) = ELASTICITY_HOOKE_ID - case default - call IO_error(200,ext_msg=trim(config_phase(p)%getString('elasticity'))) - end select - - select case (config_phase(p)%getString('plasticity')) - case (PLASTICITY_NONE_label) - phase_plasticity(p) = PLASTICITY_NONE_ID - case (PLASTICITY_ISOTROPIC_label) - phase_plasticity(p) = PLASTICITY_ISOTROPIC_ID - case (PLASTICITY_PHENOPOWERLAW_label) - phase_plasticity(p) = PLASTICITY_PHENOPOWERLAW_ID - case (PLASTICITY_KINEHARDENING_label) - phase_plasticity(p) = PLASTICITY_KINEHARDENING_ID - case (PLASTICITY_DISLOTWIN_label) - phase_plasticity(p) = PLASTICITY_DISLOTWIN_ID - case (PLASTICITY_DISLOUCLA_label) - phase_plasticity(p) = PLASTICITY_DISLOUCLA_ID - case (PLASTICITY_NONLOCAL_label) - phase_plasticity(p) = PLASTICITY_NONLOCAL_ID - case default - call IO_error(201,ext_msg=trim(config_phase(p)%getString('plasticity'))) - end select - - enddo - - allocate(phase_source(maxval(phase_Nsources),size(config_phase)), source=SOURCE_undefined_ID) - allocate(phase_kinematics(maxval(phase_Nkinematics),size(config_phase)), source=KINEMATICS_undefined_ID) - allocate(phase_stiffnessDegradation(maxval(phase_NstiffnessDegradations),size(config_phase)), & - source=STIFFNESS_DEGRADATION_undefined_ID) - do p=1, size(config_phase) -#if defined(__GFORTRAN__) || defined(__PGI) - str = ['GfortranBug86277'] - str = config_phase(p)%getStrings('(source)',defaultVal=str) - if (str(1) == 'GfortranBug86277') str = [character(len=pStringLen)::] -#else - str = config_phase(p)%getStrings('(source)',defaultVal=[character(len=pStringLen)::]) -#endif - do sourceCtr = 1, size(str) - select case (trim(str(sourceCtr))) - case (SOURCE_thermal_dissipation_label) - phase_source(sourceCtr,p) = SOURCE_thermal_dissipation_ID - case (SOURCE_thermal_externalheat_label) - phase_source(sourceCtr,p) = SOURCE_thermal_externalheat_ID - case (SOURCE_damage_isoBrittle_label) - phase_source(sourceCtr,p) = SOURCE_damage_isoBrittle_ID - case (SOURCE_damage_isoDuctile_label) - phase_source(sourceCtr,p) = SOURCE_damage_isoDuctile_ID - case (SOURCE_damage_anisoBrittle_label) - phase_source(sourceCtr,p) = SOURCE_damage_anisoBrittle_ID - case (SOURCE_damage_anisoDuctile_label) - phase_source(sourceCtr,p) = SOURCE_damage_anisoDuctile_ID - end select - enddo - -#if defined(__GFORTRAN__) || defined(__PGI) - str = ['GfortranBug86277'] - str = config_phase(p)%getStrings('(kinematics)',defaultVal=str) - if (str(1) == 'GfortranBug86277') str = [character(len=pStringLen)::] -#else - str = config_phase(p)%getStrings('(kinematics)',defaultVal=[character(len=pStringLen)::]) -#endif - do kinematicsCtr = 1, size(str) - select case (trim(str(kinematicsCtr))) - case (KINEMATICS_cleavage_opening_label) - phase_kinematics(kinematicsCtr,p) = KINEMATICS_cleavage_opening_ID - case (KINEMATICS_slipplane_opening_label) - phase_kinematics(kinematicsCtr,p) = KINEMATICS_slipplane_opening_ID - case (KINEMATICS_thermal_expansion_label) - phase_kinematics(kinematicsCtr,p) = KINEMATICS_thermal_expansion_ID - end select - enddo -#if defined(__GFORTRAN__) || defined(__PGI) - str = ['GfortranBug86277'] - str = config_phase(p)%getStrings('(stiffness_degradation)',defaultVal=str) - if (str(1) == 'GfortranBug86277') str = [character(len=pStringLen)::] -#else - str = config_phase(p)%getStrings('(stiffness_degradation)',defaultVal=[character(len=pStringLen)::]) -#endif - do stiffDegradationCtr = 1, size(str) - select case (trim(str(stiffDegradationCtr))) - case (STIFFNESS_DEGRADATION_damage_label) - phase_stiffnessDegradation(stiffDegradationCtr,p) = STIFFNESS_DEGRADATION_damage_ID - end select - enddo - enddo - - allocate(phase_plasticityInstance(size(config_phase)),source=0) - allocate(phase_elasticityInstance(size(config_phase)),source=0) - - do p=1, size(config_phase) - phase_elasticityInstance(p) = count(phase_elasticity(1:p) == phase_elasticity(p)) - phase_plasticityInstance(p) = count(phase_plasticity(1:p) == phase_plasticity(p)) - enddo - -end subroutine material_parsePhase - - -!-------------------------------------------------------------------------------------------------- -!> @brief parses the texture part in the material configuration file -!-------------------------------------------------------------------------------------------------- -subroutine material_parseTexture - - integer :: j,t - character(len=pStringLen), dimension(:), allocatable :: strings ! Values for given key in material config - integer, dimension(:), allocatable :: chunkPos - real(pReal), dimension(3,3) :: transformation ! maps texture to microstructure coordinate system - real(pReal), dimension(3) :: Eulers ! Euler angles in degrees from file - type(rotation) :: transformation_ - - do t=1, size(config_texture) - if (config_texture(t)%countKeys('(gauss)') /= 1) call IO_error(147,ext_msg='count((gauss)) != 1') - if (config_texture(t)%keyExists('symmetry')) call IO_error(147,ext_msg='symmetry') - if (config_texture(t)%keyExists('(random)')) call IO_error(147,ext_msg='(random)') - if (config_texture(t)%keyExists('(fiber)')) call IO_error(147,ext_msg='(fiber)') - enddo - - allocate(texture_orientation(size(config_texture))) - - do t=1, size(config_texture) - - strings = config_texture(t)%getStrings('(gauss)',raw= .true.) - chunkPos = IO_stringPos(strings(1)) - do j = 1,5,2 - select case (IO_stringValue(strings(1),chunkPos,j)) - case('phi1') - Eulers(1) = IO_floatValue(strings(1),chunkPos,j+1) - case('phi') - Eulers(2) = IO_floatValue(strings(1),chunkPos,j+1) - case('phi2') - Eulers(3) = IO_floatValue(strings(1),chunkPos,j+1) - end select - enddo - call texture_orientation(t)%fromEulers(Eulers,degrees=.true.) - - if (config_texture(t)%keyExists('axes')) then - strings = config_texture(t)%getStrings('axes') - do j = 1, 3 ! look for "x", "y", and "z" entries - select case (strings(j)) - case('x', '+x') - transformation(j,1:3) = [ 1.0_pReal, 0.0_pReal, 0.0_pReal] ! original axis is now +x-axis - case('-x') - transformation(j,1:3) = [-1.0_pReal, 0.0_pReal, 0.0_pReal] ! original axis is now -x-axis - case('y', '+y') - transformation(j,1:3) = [ 0.0_pReal, 1.0_pReal, 0.0_pReal] ! original axis is now +y-axis - case('-y') - transformation(j,1:3) = [ 0.0_pReal,-1.0_pReal, 0.0_pReal] ! original axis is now -y-axis - case('z', '+z') - transformation(j,1:3) = [ 0.0_pReal, 0.0_pReal, 1.0_pReal] ! original axis is now +z-axis - case('-z') - transformation(j,1:3) = [ 0.0_pReal, 0.0_pReal,-1.0_pReal] ! original axis is now -z-axis - case default - call IO_error(157,t) - end select - enddo - call transformation_%fromMatrix(transformation) - texture_orientation(t) = texture_orientation(t) * transformation_ - endif - - enddo - -end subroutine material_parseTexture - - -!-------------------------------------------------------------------------------------------------- -!> @brief Allocate the components of the state structure for a given phase -!-------------------------------------------------------------------------------------------------- -subroutine material_allocateState(state, & - NipcMyPhase,sizeState,sizeDotState,sizeDeltaState) - - class(tState), intent(out) :: & - state - integer, intent(in) :: & - NipcMyPhase, & - sizeState, & - sizeDotState, & - sizeDeltaState - - state%sizeState = sizeState - state%sizeDotState = sizeDotState - state%sizeDeltaState = sizeDeltaState - state%offsetDeltaState = sizeState-sizeDeltaState ! deltaState occupies latter part of state by definition - - allocate(state%atol (sizeState), source=0.0_pReal) - allocate(state%state0 (sizeState,NipcMyPhase), source=0.0_pReal) - allocate(state%partionedState0(sizeState,NipcMyPhase), source=0.0_pReal) - allocate(state%subState0 (sizeState,NipcMyPhase), source=0.0_pReal) - allocate(state%state (sizeState,NipcMyPhase), source=0.0_pReal) - - allocate(state%dotState (sizeDotState,NipcMyPhase), source=0.0_pReal) - - allocate(state%deltaState(sizeDeltaState,NipcMyPhase), source=0.0_pReal) - -end subroutine material_allocateState - - + end module material diff --git a/src/math.f90 b/src/math.f90 index c6e609c63..d485f2e4a 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -8,7 +8,7 @@ module math use prec use IO - use numerics + use config use YAML_types use LAPACK_interface @@ -18,8 +18,7 @@ module math ! do not make use associated entities available to other modules private :: & prec, & - IO, & - numerics + IO #endif real(pReal), parameter :: PI = acos(-1.0_pReal) !< ratio of a circle's circumference to its diameter diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index b6cb4b2d1..05339a280 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -15,7 +15,7 @@ program DAMASK_mesh use math use CPFEM2 use FEsolving - use numerics + use config use discretization_mesh use FEM_Utilities use mesh_mech_FEM diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index b66c1dfb0..b850c20e9 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -14,8 +14,7 @@ module FEM_utilities use prec use FEsolving use homogenization - use numerics - use debug + use config use math use discretization_mesh diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index 68c34be1f..7964e1220 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -14,9 +14,8 @@ module discretization_mesh use DAMASK_interface use IO - use debug + use config use discretization - use numerics use FEsolving use FEM_quadrature use YAML_types diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 235039112..4d843b7a0 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -18,7 +18,8 @@ module mesh_mech_FEM use FEM_utilities use discretization_mesh use DAMASK_interface - use numerics + use config + use IO use FEM_quadrature use homogenization use math diff --git a/src/numerics.f90 b/src/numerics.f90 deleted file mode 100644 index 35436296c..000000000 --- a/src/numerics.f90 +++ /dev/null @@ -1,82 +0,0 @@ -!-------------------------------------------------------------------------------------------------- -!> @author Franz Roters, Max-Planck-Institut für Eisenforschung GmbH -!> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH -!> @author Sharan Roongta, Max-Planck-Institut für Eisenforschung GmbH -!> @brief Managing of parameters related to numerics -!-------------------------------------------------------------------------------------------------- -module numerics - use prec - use IO - use YAML_types - use YAML_parse - -#ifdef PETSc -#include - use petscsys -#endif -!$ use OMP_LIB - - implicit none - private - - class(tNode), pointer, protected, public :: & - numerics_root !< root pointer storing the numerics YAML structure - integer, protected, public :: & - worldrank = 0, & !< MPI worldrank (/=0 for MPI simulations only) - worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) - integer(4), protected, public :: & - DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive - - public :: numerics_init - -contains - - -!-------------------------------------------------------------------------------------------------- -!> @brief reads in parameters from numerics.config and sets openMP related parameters. Also does -! a sanity check -!-------------------------------------------------------------------------------------------------- -subroutine numerics_init - -!$ integer :: gotDAMASK_NUM_THREADS = 1 - integer :: ierr - character(len=:), allocatable :: & - numerics_input, & - numerics_inFlow - logical :: fexist -!$ character(len=6) DAMASK_NumThreadsString ! environment variable DAMASK_NUM_THREADS - -#ifdef PETSc - call MPI_Comm_rank(PETSC_COMM_WORLD,worldrank,ierr);CHKERRQ(ierr) - call MPI_Comm_size(PETSC_COMM_WORLD,worldsize,ierr);CHKERRQ(ierr) -#endif - write(6,'(/,a)') ' <<<+- numerics init -+>>>' - -!$ call GET_ENVIRONMENT_VARIABLE(NAME='DAMASK_NUM_THREADS',VALUE=DAMASK_NumThreadsString,STATUS=gotDAMASK_NUM_THREADS) ! get environment variable DAMASK_NUM_THREADS... -!$ if(gotDAMASK_NUM_THREADS /= 0) then ! could not get number of threads, set it to 1 -!$ call IO_warning(35,ext_msg='BEGIN:'//DAMASK_NumThreadsString//':END') -!$ DAMASK_NumThreadsInt = 1_4 -!$ else -!$ read(DAMASK_NumThreadsString,'(i6)') DAMASK_NumThreadsInt ! read as integer -!$ if (DAMASK_NumThreadsInt < 1_4) DAMASK_NumThreadsInt = 1_4 ! in case of string conversion fails, set it to one -!$ endif -!$ call omp_set_num_threads(DAMASK_NumThreadsInt) ! set number of threads for parallel execution - - numerics_root => emptyDict - inquire(file='numerics.yaml', exist=fexist) - - if (fexist) then - write(6,'(a,/)') ' using values from config file' - flush(6) - numerics_input = IO_read('numerics.yaml') - numerics_inFlow = to_flow(numerics_input) - numerics_root => parse_flow(numerics_inFlow) - endif - -!-------------------------------------------------------------------------------------------------- -! openMP parameter - !$ write(6,'(a24,1x,i8,/)') ' number of threads: ',DAMASK_NumThreadsInt - -end subroutine numerics_init - -end module numerics diff --git a/src/results.f90 b/src/results.f90 index 21173c512..45c6263e4 100644 --- a/src/results.f90 +++ b/src/results.f90 @@ -7,7 +7,7 @@ module results use DAMASK_interface use rotations - use numerics + use config use HDF5_utilities #ifdef PETSc use PETSC diff --git a/src/rotations.f90 b/src/rotations.f90 index 85f901f5d..fc523e813 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -56,7 +56,7 @@ module rotations private type, public :: rotation - type(quaternion), private :: q + type(quaternion) :: q contains procedure, public :: asQuaternion procedure, public :: asEulers diff --git a/src/source_damage_anisoBrittle.f90 b/src/source_damage_anisoBrittle.f90 index 20cf3a914..65aedacd6 100644 --- a/src/source_damage_anisoBrittle.f90 +++ b/src/source_damage_anisoBrittle.f90 @@ -12,15 +12,15 @@ submodule (constitutive:constitutive_damage) source_damage_anisoBrittle type :: tParameters !< container type for internal constitutive parameters real(pReal) :: & - sdot_0, & - n + sdot_0, & !< opening rate of cleavage planes + n !< damage rate sensitivity real(pReal), dimension(:), allocatable :: & - critDisp, & - critLoad + critDisp, & !< critical displacement + critLoad !< critical load real(pReal), dimension(:,:,:,:), allocatable :: & cleavage_systems integer :: & - sum_N_cl + sum_N_cl !< total number of cleavage planes character(len=pStringLen), allocatable, dimension(:) :: & output end type tParameters @@ -35,72 +35,87 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine source_damage_anisoBrittle_init +module function source_damage_anisoBrittle_init(source_length) result(mySources) + integer, intent(in) :: source_length + logical, dimension(:,:), allocatable :: mySources + + class(tNode), pointer :: & + phases, & + phase, & + sources, & + src integer :: Ninstance,sourceOffset,NipcMyPhase,p integer, dimension(:), allocatable :: N_cl character(len=pStringLen) :: extmsg = '' - write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ANISOBRITTLE_LABEL//' init -+>>>' + write(6,'(/,a)') ' <<<+- source_damage_anisoBrittle init -+>>>' - Ninstance = count(phase_source == SOURCE_DAMAGE_ANISOBRITTLE_ID) + mySources = source_active('damage_anisoBrittle',source_length) + + Ninstance = count(mySources) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) return - allocate(source_damage_anisoBrittle_offset (size(config_phase)), source=0) - allocate(source_damage_anisoBrittle_instance(size(config_phase)), source=0) + phases => material_root%get('phase') allocate(param(Ninstance)) + allocate(source_damage_anisoBrittle_offset (phases%length), source=0) + allocate(source_damage_anisoBrittle_instance(phases%length), source=0) - do p = 1, size(config_phase) - source_damage_anisoBrittle_instance(p) = count(phase_source(:,1:p) == SOURCE_DAMAGE_ANISOBRITTLE_ID) - do sourceOffset = 1, phase_Nsources(p) - if (phase_source(sourceOffset,p) == SOURCE_DAMAGE_ANISOBRITTLE_ID) then + do p = 1, phases%length + phase => phases%get(p) + if(any(mySources(:,p))) source_damage_anisoBrittle_instance(p) = count(mySources(:,1:p)) + if(count(mySources(:,p)) == 0) cycle + sources => phase%get('source') + do sourceOffset = 1, sources%length + if(mySources(sourceOffset,p)) then source_damage_anisoBrittle_offset(p) = sourceOffset - exit - endif - enddo + associate(prm => param(source_damage_anisoBrittle_instance(p))) + src => sources%get(sourceOffset) + + N_cl = src%get_asInts('N_cl',defaultVal=emptyIntArray) + prm%sum_N_cl = sum(abs(N_cl)) + + prm%n = src%get_asFloat('q') + prm%sdot_0 = src%get_asFloat('dot_o') + + prm%critDisp = src%get_asFloats('s_crit', requiredSize=size(N_cl)) + prm%critLoad = src%get_asFloats('g_crit', requiredSize=size(N_cl)) + + prm%cleavage_systems = lattice_SchmidMatrix_cleavage(N_cl,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) + + ! expand: family => system + prm%critDisp = math_expand(prm%critDisp,N_cl) + prm%critLoad = math_expand(prm%critLoad,N_cl) - if (all(phase_source(:,p) /= SOURCE_DAMAGE_ANISOBRITTLE_ID)) cycle - associate(prm => param(source_damage_anisoBrittle_instance(p)), & - config => config_phase(p)) +#if defined (__GFORTRAN__) + prm%output = output_asStrings(src) +#else + prm%output = src%get_asStrings('output',defaultVal=emptyStringArray) +#endif + + ! sanity checks + if (prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' q' + if (prm%sdot_0 <= 0.0_pReal) extmsg = trim(extmsg)//' dot_o' + if (any(prm%critLoad < 0.0_pReal)) extmsg = trim(extmsg)//' g_crit' + if (any(prm%critDisp < 0.0_pReal)) extmsg = trim(extmsg)//' s_crit' - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) + NipcMyPhase = count(material_phaseAt==p) * discretization_nIP + call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) + sourceState(p)%p(sourceOffset)%atol = src%get_asFloat('anisobrittle_atol',defaultVal=1.0e-3_pReal) + if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' anisobrittle_atol' - N_cl = config%getInts('ncleavage',defaultVal=emptyIntArray) - prm%sum_N_cl = sum(abs(N_cl)) - - prm%n = config%getFloat('anisobrittle_ratesensitivity') - prm%sdot_0 = config%getFloat('anisobrittle_sdot0') - - prm%critDisp = config%getFloats('anisobrittle_criticaldisplacement',requiredSize=size(N_cl)) - prm%critLoad = config%getFloats('anisobrittle_criticalload', requiredSize=size(N_cl)) - - prm%cleavage_systems = lattice_SchmidMatrix_cleavage(N_cl,config%getString('lattice_structure'),& - config%getFloat('c/a',defaultVal=0.0_pReal)) - - ! expand: family => system - prm%critDisp = math_expand(prm%critDisp,N_cl) - prm%critLoad = math_expand(prm%critLoad,N_cl) - - ! sanity checks - if (prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' anisobrittle_n' - if (prm%sdot_0 <= 0.0_pReal) extmsg = trim(extmsg)//' anisobrittle_sdot0' - if (any(prm%critLoad < 0.0_pReal)) extmsg = trim(extmsg)//' anisobrittle_critLoad' - if (any(prm%critDisp < 0.0_pReal)) extmsg = trim(extmsg)//' anisobrittle_critDisp' - - NipcMyPhase = count(material_phaseAt==p) * discretization_nIP - call material_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) - sourceState(p)%p(sourceOffset)%atol = config%getFloat('anisobrittle_atol',defaultVal=1.0e-3_pReal) - if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' anisobrittle_atol' - - end associate + end associate !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range - if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'('//SOURCE_DAMAGE_ANISOBRITTLE_LABEL//')') + if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'(damage_anisoBrittle)') + endif + enddo + enddo -enddo - -end subroutine source_damage_anisoBrittle_init +end function source_damage_anisoBrittle_init !-------------------------------------------------------------------------------------------------- @@ -193,8 +208,8 @@ module subroutine source_damage_anisoBrittle_results(phase,group) stt => sourceState(phase)%p(source_damage_anisoBrittle_offset(phase))%state) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case ('anisobrittle_drivingforce') - call results_writeDataset(group,stt,'tbd','driving force','tbd') + case ('f_phi') + call results_writeDataset(group,stt,trim(prm%output(o)),'driving force','J/m³') end select enddo outputsLoop end associate diff --git a/src/source_damage_anisoDuctile.f90 b/src/source_damage_anisoDuctile.f90 index 3722f8b1c..26b653c3d 100644 --- a/src/source_damage_anisoDuctile.f90 +++ b/src/source_damage_anisoDuctile.f90 @@ -10,16 +10,16 @@ submodule(constitutive:constitutive_damage) source_damage_anisoDuctile source_damage_anisoDuctile_offset, & !< which source is my current damage mechanism? source_damage_anisoDuctile_instance !< instance of damage source mechanism - type :: tParameters !< container type for internal constitutive parameters + type :: tParameters !< container type for internal constitutive parameters real(pReal) :: & - n + n !< damage rate sensitivity real(pReal), dimension(:), allocatable :: & - critPlasticStrain + critPlasticStrain !< critical plastic strain per slip system character(len=pStringLen), allocatable, dimension(:) :: & output end type tParameters - type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) contains @@ -28,61 +28,80 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine source_damage_anisoDuctile_init +module function source_damage_anisoDuctile_init(source_length) result(mySources) + integer, intent(in) :: source_length + logical, dimension(:,:), allocatable :: mySources + + class(tNode), pointer :: & + phases, & + phase, & + pl, & + sources, & + src integer :: Ninstance,sourceOffset,NipcMyPhase,p integer, dimension(:), allocatable :: N_sl character(len=pStringLen) :: extmsg = '' - write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ANISODUCTILE_LABEL//' init -+>>>' + write(6,'(/,a)') ' <<<+- source_damage_anisoDuctile init -+>>>' - Ninstance = count(phase_source == SOURCE_DAMAGE_ANISODUCTILE_ID) + mySources = source_active('damage_anisoDuctile',source_length) + + Ninstance = count(mySources) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) - allocate(source_damage_anisoDuctile_offset (size(config_phase)), source=0) - allocate(source_damage_anisoDuctile_instance(size(config_phase)), source=0) + if(Ninstance == 0) return + + phases => material_root%get('phase') allocate(param(Ninstance)) + allocate(source_damage_anisoDuctile_offset (phases%length), source=0) + allocate(source_damage_anisoDuctile_instance(phases%length), source=0) - do p = 1, size(config_phase) - source_damage_anisoDuctile_instance(p) = count(phase_source(:,1:p) == SOURCE_DAMAGE_ANISODUCTILE_ID) - do sourceOffset = 1, phase_Nsources(p) - if (phase_source(sourceOffset,p) == SOURCE_DAMAGE_ANISODUCTILE_ID) then + do p = 1, phases%length + phase => phases%get(p) + if(any(mySources(:,p))) source_damage_anisoDuctile_instance(p) = count(mySources(:,1:p)) + if(count(mySources(:,p)) == 0) cycle + sources => phase%get('source') + pl => phase%get('plasticity') + do sourceOffset = 1, sources%length + if(mySources(sourceOffset,p)) then source_damage_anisoDuctile_offset(p) = sourceOffset - exit - endif - enddo + associate(prm => param(source_damage_anisoDuctile_instance(p))) + src => sources%get(sourceOffset) - if (all(phase_source(:,p) /= SOURCE_DAMAGE_ANISODUCTILE_ID)) cycle - associate(prm => param(source_damage_anisoDuctile_instance(p)), & - config => config_phase(p)) + N_sl = pl%get_asInts('N_sl',defaultVal=emptyIntArray) + prm%n = src%get_asFloat('q') + prm%critPlasticStrain = src%get_asFloats('gamma_crit',requiredSize=size(N_sl)) - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) + ! expand: family => system + prm%critPlasticStrain = math_expand(prm%critPlasticStrain,N_sl) - N_sl = config%getInts('nslip',defaultVal=emptyIntArray) - prm%n = config%getFloat('anisoductile_ratesensitivity') - prm%critPlasticStrain = config%getFloats('anisoductile_criticalplasticstrain',requiredSize=size(N_sl)) +#if defined (__GFORTRAN__) + prm%output = output_asStrings(src) +#else + prm%output = src%get_asStrings('output',defaultVal=emptyStringArray) +#endif + + ! sanity checks + if (prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' q' + if (any(prm%critPlasticStrain < 0.0_pReal)) extmsg = trim(extmsg)//' gamma_crit' - ! expand: family => system - prm%critPlasticStrain = math_expand(prm%critPlasticStrain,N_sl) + NipcMyPhase=count(material_phaseAt==p) * discretization_nIP + call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) + sourceState(p)%p(sourceOffset)%atol = src%get_asFloat('anisoDuctile_atol',defaultVal=1.0e-3_pReal) + if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' anisoductile_atol' - ! sanity checks - if (prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' anisoductile_ratesensitivity' - if (any(prm%critPlasticStrain < 0.0_pReal)) extmsg = trim(extmsg)//' anisoductile_criticalplasticstrain' - - NipcMyPhase=count(material_phaseAt==p) * discretization_nIP - call material_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) - sourceState(p)%p(sourceOffset)%atol = config%getFloat('anisoductile_atol',defaultVal=1.0e-3_pReal) - if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' anisoductile_atol' - - end associate + end associate !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range - if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'('//SOURCE_DAMAGE_ANISODUCTILE_LABEL//')') + if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'(damage_anisoDuctile)') + endif + enddo + enddo -enddo -end subroutine source_damage_anisoDuctile_init +end function source_damage_anisoDuctile_init !-------------------------------------------------------------------------------------------------- @@ -157,8 +176,8 @@ module subroutine source_damage_anisoDuctile_results(phase,group) stt => sourceState(phase)%p(source_damage_anisoDuctile_offset(phase))%state) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case ('anisoductile_drivingforce') - call results_writeDataset(group,stt,'tbd','driving force','tbd') + case ('f_phi') + call results_writeDataset(group,stt,trim(prm%output(o)),'driving force','J/m³') end select enddo outputsLoop end associate diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index 00704fe26..b1abcf14d 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -10,10 +10,10 @@ submodule(constitutive:constitutive_damage) source_damage_isoBrittle source_damage_isoBrittle_offset, & source_damage_isoBrittle_instance - type :: tParameters !< container type for internal constitutive parameters + type :: tParameters !< container type for internal constitutive parameters real(pReal) :: & - critStrainEnergy, & - N + critStrainEnergy, & !< critical elastic strain energy + N character(len=pStringLen), allocatable, dimension(:) :: & output end type tParameters @@ -27,56 +27,72 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine source_damage_isoBrittle_init +module function source_damage_isoBrittle_init(source_length) result(mySources) + integer, intent(in) :: source_length + logical, dimension(:,:), allocatable :: mySources + + class(tNode), pointer :: & + phases, & + phase, & + sources, & + src integer :: Ninstance,sourceOffset,NipcMyPhase,p character(len=pStringLen) :: extmsg = '' - write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ISOBRITTLE_LABEL//' init -+>>>' + write(6,'(/,a)') ' <<<+- source_damage_isoBrittle init -+>>>' - Ninstance = count(phase_source == SOURCE_DAMAGE_ISOBRITTLE_ID) + mySources = source_active('damage_isoBrittle',source_length) + + Ninstance = count(mySources) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) return - allocate(source_damage_isoBrittle_offset (size(config_phase)), source=0) - allocate(source_damage_isoBrittle_instance(size(config_phase)), source=0) + phases => material_root%get('phase') allocate(param(Ninstance)) + allocate(source_damage_isoBrittle_offset (phases%length), source=0) + allocate(source_damage_isoBrittle_instance(phases%length), source=0) - do p = 1, size(config_phase) - source_damage_isoBrittle_instance(p) = count(phase_source(:,1:p) == SOURCE_DAMAGE_ISOBRITTLE_ID) - do sourceOffset = 1, phase_Nsources(p) - if (phase_source(sourceOffset,p) == SOURCE_DAMAGE_ISOBRITTLE_ID) then + do p = 1, phases%length + phase => phases%get(p) + if(any(mySources(:,p))) source_damage_isoBrittle_instance(p) = count(mySources(:,1:p)) + if(count(mySources(:,p)) == 0) cycle + sources => phase%get('source') + do sourceOffset = 1, sources%length + if(mySources(sourceOffset,p)) then source_damage_isoBrittle_offset(p) = sourceOffset - exit - endif - enddo + associate(prm => param(source_damage_isoBrittle_instance(p))) + src => sources%get(sourceOffset) - if (all(phase_source(:,p) /= SOURCE_DAMAGE_ISOBRITTLE_ID)) cycle - associate(prm => param(source_damage_isoBrittle_instance(p)), & - config => config_phase(p)) + prm%N = src%get_asFloat('m') + prm%critStrainEnergy = src%get_asFloat('W_crit') - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) +#if defined (__GFORTRAN__) + prm%output = output_asStrings(src) +#else + prm%output = src%get_asStrings('output',defaultVal=emptyStringArray) +#endif + + ! sanity checks + if (prm%N <= 0.0_pReal) extmsg = trim(extmsg)//' m' + if (prm%critStrainEnergy <= 0.0_pReal) extmsg = trim(extmsg)//' W_crit' - prm%N = config%getFloat('isobrittle_n') - prm%critStrainEnergy = config%getFloat('isobrittle_criticalstrainenergy') + NipcMyPhase = count(material_phaseAt==p) * discretization_nIP + call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,1) + sourceState(p)%p(sourceOffset)%atol = src%get_asFloat('isoBrittle_atol',defaultVal=1.0e-3_pReal) + if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' isobrittle_atol' - ! sanity checks - if (prm%N <= 0.0_pReal) extmsg = trim(extmsg)//' isobrittle_n' - if (prm%critStrainEnergy <= 0.0_pReal) extmsg = trim(extmsg)//' isobrittle_criticalstrainenergy' - - NipcMyPhase = count(material_phaseAt==p) * discretization_nIP - call material_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,1) - sourceState(p)%p(sourceOffset)%atol = config%getFloat('isobrittle_atol',defaultVal=1.0e-3_pReal) - if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' isobrittle_atol' - - end associate + end associate !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range - if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'('//SOURCE_DAMAGE_ISOBRITTLE_LABEL//')') + if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'(damage_isoBrittle)') + endif + enddo + enddo -enddo -end subroutine source_damage_isoBrittle_init +end function source_damage_isoBrittle_init !-------------------------------------------------------------------------------------------------- @@ -168,8 +184,8 @@ module subroutine source_damage_isoBrittle_results(phase,group) stt => sourceState(phase)%p(source_damage_isoBrittle_offset(phase))%state) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case ('isobrittle_drivingforce') - call results_writeDataset(group,stt,'tbd','driving force','tbd') + case ('f_phi') + call results_writeDataset(group,stt,trim(prm%output(o)),'driving force','J/m³') end select enddo outputsLoop end associate diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index 517332316..dc102f539 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -10,15 +10,15 @@ submodule (constitutive:constitutive_damage) source_damage_isoDuctile source_damage_isoDuctile_offset, & !< which source is my current damage mechanism? source_damage_isoDuctile_instance !< instance of damage source mechanism - type:: tParameters !< container type for internal constitutive parameters + type:: tParameters !< container type for internal constitutive parameters real(pReal) :: & - critPlasticStrain, & + critPlasticStrain, & !< critical plastic strain N character(len=pStringLen), allocatable, dimension(:) :: & output end type tParameters - type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) contains @@ -28,56 +28,72 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine source_damage_isoDuctile_init +module function source_damage_isoDuctile_init(source_length) result(mySources) + integer, intent(in) :: source_length + logical, dimension(:,:), allocatable :: mySources + + class(tNode), pointer :: & + phases, & + phase, & + sources, & + src integer :: Ninstance,sourceOffset,NipcMyPhase,p character(len=pStringLen) :: extmsg = '' - write(6,'(/,a)') ' <<<+- source_'//SOURCE_DAMAGE_ISODUCTILE_LABEL//' init -+>>>' + write(6,'(/,a)') ' <<<+- source_damage_isoDuctile init -+>>>' - Ninstance = count(phase_source == SOURCE_DAMAGE_ISODUCTILE_ID) + mySources = source_active('damage_isoDuctile',source_length) + + Ninstance = count(mySources) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) return - allocate(source_damage_isoDuctile_offset (size(config_phase)), source=0) - allocate(source_damage_isoDuctile_instance(size(config_phase)), source=0) + phases => material_root%get('phase') allocate(param(Ninstance)) + allocate(source_damage_isoDuctile_offset (phases%length), source=0) + allocate(source_damage_isoDuctile_instance(phases%length), source=0) - do p = 1, size(config_phase) - source_damage_isoDuctile_instance(p) = count(phase_source(:,1:p) == SOURCE_DAMAGE_ISODUCTILE_ID) - do sourceOffset = 1, phase_Nsources(p) - if (phase_source(sourceOffset,p) == SOURCE_DAMAGE_ISODUCTILE_ID) then + do p = 1, phases%length + phase => phases%get(p) + if(count(mySources(:,p)) == 0) cycle + if(any(mySources(:,p))) source_damage_isoDuctile_instance(p) = count(mySources(:,1:p)) + sources => phase%get('source') + do sourceOffset = 1, sources%length + if(mySources(sourceOffset,p)) then source_damage_isoDuctile_offset(p) = sourceOffset - exit - endif - enddo + associate(prm => param(source_damage_isoDuctile_instance(p))) + src => sources%get(sourceOffset) - if (all(phase_source(:,p) /= SOURCE_DAMAGE_ISODUCTILE_ID)) cycle - associate(prm => param(source_damage_isoDuctile_instance(p)), & - config => config_phase(p)) + prm%N = src%get_asFloat('q') + prm%critPlasticStrain = src%get_asFloat('gamma_crit') - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) +#if defined (__GFORTRAN__) + prm%output = output_asStrings(src) +#else + prm%output = src%get_asStrings('output',defaultVal=emptyStringArray) +#endif + + ! sanity checks + if (prm%N <= 0.0_pReal) extmsg = trim(extmsg)//' q' + if (prm%critPlasticStrain <= 0.0_pReal) extmsg = trim(extmsg)//' gamma_crit' - prm%N = config%getFloat('isoductile_ratesensitivity') - prm%critPlasticStrain = config%getFloat('isoductile_criticalplasticstrain') + NipcMyPhase=count(material_phaseAt==p) * discretization_nIP + call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) + sourceState(p)%p(sourceOffset)%atol = src%get_asFloat('isoDuctile_atol',defaultVal=1.0e-3_pReal) + if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' isoductile_atol' - ! sanity checks - if (prm%N <= 0.0_pReal) extmsg = trim(extmsg)//' isoductile_ratesensitivity' - if (prm%critPlasticStrain <= 0.0_pReal) extmsg = trim(extmsg)//' isoductile_criticalplasticstrain' - - NipcMyPhase=count(material_phaseAt==p) * discretization_nIP - call material_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) - sourceState(p)%p(sourceOffset)%atol = config%getFloat('isoductile_atol',defaultVal=1.0e-3_pReal) - if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' isoductile_atol' - - end associate + end associate !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range - if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'('//SOURCE_DAMAGE_ISODUCTILE_LABEL//')') + if (extmsg /= '') call IO_error(211,ext_msg=trim(extmsg)//'(damage_isoDuctile)') + endif + enddo + enddo -enddo -end subroutine source_damage_isoDuctile_init +end function source_damage_isoDuctile_init !-------------------------------------------------------------------------------------------------- @@ -152,8 +168,8 @@ module subroutine source_damage_isoDuctile_results(phase,group) stt => sourceState(phase)%p(source_damage_isoDuctile_offset(phase))%state) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case ('isoductile_drivingforce') - call results_writeDataset(group,stt,'tbd','driving force','tbd') + case ('f_phi') + call results_writeDataset(group,stt,trim(prm%output(o)),'driving force','J/m³') end select enddo outputsLoop end associate diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index 58a0c6b3c..d75e7f654 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -12,7 +12,7 @@ submodule(constitutive:constitutive_thermal) source_thermal_dissipation type :: tParameters !< container type for internal constitutive parameters real(pReal) :: & - kappa + kappa !< TAYLOR-QUINNEY factor end type tParameters type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) @@ -25,41 +25,53 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine source_thermal_dissipation_init +module function source_thermal_dissipation_init(source_length) result(mySources) + integer, intent(in) :: source_length + logical, dimension(:,:), allocatable :: mySources + + class(tNode), pointer :: & + phases, & + phase, & + sources, & + src integer :: Ninstance,sourceOffset,NipcMyPhase,p - write(6,'(/,a)') ' <<<+- source_'//SOURCE_thermal_dissipation_label//' init -+>>>' + write(6,'(/,a)') ' <<<+- source_thermal_dissipation init -+>>>' - Ninstance = count(phase_source == SOURCE_THERMAL_DISSIPATION_ID) + mySources = source_active('thermal_dissipation',source_length) + + Ninstance = count(mySources) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) return - allocate(source_thermal_dissipation_offset (size(config_phase)), source=0) - allocate(source_thermal_dissipation_instance(size(config_phase)), source=0) + phases => material_root%get('phase') allocate(param(Ninstance)) + allocate(source_thermal_dissipation_offset (phases%length), source=0) + allocate(source_thermal_dissipation_instance(phases%length), source=0) - do p = 1, size(config_phase) - source_thermal_dissipation_instance(p) = count(phase_source(:,1:p) == SOURCE_THERMAL_DISSIPATION_ID) - do sourceOffset = 1, phase_Nsources(p) - if (phase_source(sourceOffset,p) == SOURCE_THERMAL_DISSIPATION_ID) then + do p = 1, phases%length + phase => phases%get(p) + if(count(mySources(:,p)) == 0) cycle + if(any(mySources(:,p))) source_thermal_dissipation_instance(p) = count(mySources(:,1:p)) + sources => phase%get('source') + do sourceOffset = 1, sources%length + if(mySources(sourceOffset,p)) then source_thermal_dissipation_offset(p) = sourceOffset - exit + associate(prm => param(source_thermal_dissipation_instance(p))) + + src => sources%get(sourceOffset) + prm%kappa = src%get_asFloat('kappa') + NipcMyPhase = count(material_phaseAt==p) * discretization_nIP + call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,0,0,0) + + end associate endif enddo - - if (all(phase_source(:,p) /= SOURCE_THERMAL_DISSIPATION_ID)) cycle - associate(prm => param(source_thermal_dissipation_instance(p)), & - config => config_phase(p)) - - prm%kappa = config%getFloat('dissipation_coldworkcoeff') - - NipcMyPhase = count(material_phaseAt==p) * discretization_nIP - call material_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,0,0,0) - - end associate enddo -end subroutine source_thermal_dissipation_init + +end function source_thermal_dissipation_init !-------------------------------------------------------------------------------------------------- diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index 8ffc7a4fb..45ed2086f 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -11,9 +11,9 @@ submodule(constitutive:constitutive_thermal) source_thermal_externalheat source_thermal_externalheat_offset, & !< which source is my current thermal dissipation mechanism? source_thermal_externalheat_instance !< instance of thermal dissipation source mechanism - type :: tParameters !< container type for internal constitutive parameters + type :: tParameters !< container type for internal constitutive parameters real(pReal), dimension(:), allocatable :: & - time, & + time, & heat_rate integer :: & nIntervals @@ -29,44 +29,56 @@ contains !> @brief module initialization !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module subroutine source_thermal_externalheat_init +module function source_thermal_externalheat_init(source_length) result(mySources) + integer, intent(in) :: source_length + logical, dimension(:,:), allocatable :: mySources + + class(tNode), pointer :: & + phases, & + phase, & + sources, & + src integer :: Ninstance,sourceOffset,NipcMyPhase,p - write(6,'(/,a)') ' <<<+- source_'//SOURCE_thermal_externalheat_label//' init -+>>>' + write(6,'(/,a)') ' <<<+- source_thermal_externalHeat init -+>>>' - Ninstance = count(phase_source == SOURCE_thermal_externalheat_ID) + mySources = source_active('thermal_externalheat',source_length) + + Ninstance = count(mySources) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + if(Ninstance == 0) return - allocate(source_thermal_externalheat_offset (size(config_phase)), source=0) - allocate(source_thermal_externalheat_instance(size(config_phase)), source=0) + phases => material_root%get('phase') allocate(param(Ninstance)) + allocate(source_thermal_externalheat_offset (phases%length), source=0) + allocate(source_thermal_externalheat_instance(phases%length), source=0) - do p = 1, size(config_phase) - source_thermal_externalheat_instance(p) = count(phase_source(:,1:p) == SOURCE_thermal_externalheat_ID) - do sourceOffset = 1, phase_Nsources(p) - if (phase_source(sourceOffset,p) == SOURCE_thermal_externalheat_ID) then + do p = 1, phases%length + phase => phases%get(p) + if(any(mySources(:,p))) source_thermal_externalheat_instance(p) = count(mySources(:,1:p)) + if(count(mySources(:,p)) == 0) cycle + sources => phase%get('source') + do sourceOffset = 1, sources%length + if(mySources(sourceOffset,p)) then source_thermal_externalheat_offset(p) = sourceOffset - exit + associate(prm => param(source_thermal_externalheat_instance(p))) + src => sources%get(sourceOffset) + + prm%time = src%get_asFloats('t_n') + prm%nIntervals = size(prm%time) - 1 + + prm%heat_rate = src%get_asFloats('f_T',requiredSize = size(prm%time)) + + NipcMyPhase = count(material_phaseAt==p) * discretization_nIP + call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) + end associate + endif enddo - - if (all(phase_source(:,p) /= SOURCE_thermal_externalheat_ID)) cycle - associate(prm => param(source_thermal_externalheat_instance(p)), & - config => config_phase(p)) - - prm%time = config%getFloats('externalheat_time') - prm%nIntervals = size(prm%time) - 1 - - prm%heat_rate = config%getFloats('externalheat_rate',requiredSize = size(prm%time)) - - NipcMyPhase = count(material_phaseAt==p) * discretization_nIP - call material_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) - - end associate enddo -end subroutine source_thermal_externalheat_init +end function source_thermal_externalheat_init !-------------------------------------------------------------------------------------------------- diff --git a/src/thermal_adiabatic.f90 b/src/thermal_adiabatic.f90 index c52f0a3d0..bd4a5f12c 100644 --- a/src/thermal_adiabatic.f90 +++ b/src/thermal_adiabatic.f90 @@ -5,10 +5,10 @@ module thermal_adiabatic use prec use config - use numerics use material use results use constitutive + use YAML_types use crystallite use lattice @@ -40,20 +40,32 @@ contains !-------------------------------------------------------------------------------------------------- subroutine thermal_adiabatic_init - integer :: maxNinstance,h,NofMyHomog - - write(6,'(/,a)') ' <<<+- thermal_'//THERMAL_ADIABATIC_label//' init -+>>>'; flush(6) + integer :: maxNinstance,h,NofMyHomog + class(tNode), pointer :: & + material_homogenization, & + homog, & + homogThermal + + write(6,'(/,a)') ' <<<+- thermal_adiabatic init -+>>>'; flush(6) maxNinstance = count(thermal_type == THERMAL_adiabatic_ID) if (maxNinstance == 0) return allocate(param(maxNinstance)) - do h = 1, size(thermal_type) + material_homogenization => material_root%get('homogenization') + do h = 1, material_Nhomogenization if (thermal_type(h) /= THERMAL_adiabatic_ID) cycle - associate(prm => param(thermal_typeInstance(h)),config => config_homogenization(h)) - - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) + homog => material_homogenization%get(h) + homogThermal => homog%get('thermal') + + associate(prm => param(thermal_typeInstance(h))) + +#if defined (__GFORTRAN__) + prm%output = output_asStrings(homogThermal) +#else + prm%output = homogThermal%get_asStrings('output',defaultVal=emptyStringArray) +#endif NofMyHomog=count(material_homogenizationAt==h) thermalState(h)%sizeState = 1 @@ -205,7 +217,7 @@ subroutine thermal_adiabatic_results(homog,group) associate(prm => param(damage_typeInstance(homog))) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case('temperature') ! ToDo: should be 'T' + case('T') call results_writeDataset(group,temperature(homog)%p,'T',& 'temperature','K') end select diff --git a/src/thermal_conduction.f90 b/src/thermal_conduction.f90 index 60766710d..9075c6d64 100644 --- a/src/thermal_conduction.f90 +++ b/src/thermal_conduction.f90 @@ -10,6 +10,7 @@ module thermal_conduction use results use crystallite use constitutive + use YAML_types implicit none private @@ -41,17 +42,28 @@ contains subroutine thermal_conduction_init integer :: Ninstance,NofMyHomog,h - - write(6,'(/,a)') ' <<<+- thermal_'//THERMAL_CONDUCTION_label//' init -+>>>'; flush(6) + class(tNode), pointer :: & + material_homogenization, & + homog, & + homogThermal + + write(6,'(/,a)') ' <<<+- thermal_conduction init -+>>>'; flush(6) Ninstance = count(thermal_type == THERMAL_conduction_ID) allocate(param(Ninstance)) - do h = 1, size(config_homogenization) + material_homogenization => material_root%get('homogenization') + do h = 1, material_Nhomogenization if (thermal_type(h) /= THERMAL_conduction_ID) cycle - associate(prm => param(thermal_typeInstance(h)),config => config_homogenization(h)) + homog => material_homogenization%get(h) + homogThermal => homog%get('thermal') + associate(prm => param(thermal_typeInstance(h))) - prm%output = config%getStrings('(output)',defaultVal=emptyStringArray) +#if defined (__GFORTRAN__) + prm%output = output_asStrings(homogThermal) +#else + prm%output = homogThermal%get_asStrings('output',defaultVal=emptyStringArray) +#endif NofMyHomog=count(material_homogenizationAt==h) thermalState(h)%sizeState = 0 @@ -213,7 +225,7 @@ subroutine thermal_conduction_results(homog,group) associate(prm => param(damage_typeInstance(homog))) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case('temperature') ! ToDo: should be 'T' + case('T') call results_writeDataset(group,temperature(homog)%p,'T',& 'temperature','K') end select diff --git a/src/thermal_isothermal.f90 b/src/thermal_isothermal.f90 index ceb714740..38aa99136 100644 --- a/src/thermal_isothermal.f90 +++ b/src/thermal_isothermal.f90 @@ -18,9 +18,9 @@ subroutine thermal_isothermal_init integer :: h,NofMyHomog - write(6,'(/,a)') ' <<<+- thermal_'//THERMAL_isothermal_label//' init -+>>>'; flush(6) + write(6,'(/,a)') ' <<<+- thermal_isothermal init -+>>>'; flush(6) - do h = 1, size(config_homogenization) + do h = 1, material_Nhomogenization if (thermal_type(h) /= THERMAL_isothermal_ID) cycle NofMyHomog = count(material_homogenizationAt == h) From 0c3a81e1667339b813562ed514f4442465632f2d Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 20 Aug 2020 19:08:12 +0200 Subject: [PATCH 454/958] [skip ci] updated version information after successful test of v2.0.3-2998-ga691e410 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index b7a86ed59..39f3e7155 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2995-gd00974b5 +v2.0.3-2998-ga691e410 From bd78bf9d1d709797e47d3d4221c4db2a48556c44 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 21 Aug 2020 22:20:41 +0200 Subject: [PATCH 455/958] preparing first 3.0 series alpha release --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 39f3e7155..6e46bbb25 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2998-ga691e410 +v3.0.0-alpha From 34a08bd8b8939d786d0ce1fda1015e0eff0e2243 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 22 Aug 2020 17:04:21 +0200 Subject: [PATCH 456/958] pip package is pillow, not PIL --- python/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/setup.py b/python/setup.py index 360918b38..c13ddbae0 100644 --- a/python/setup.py +++ b/python/setup.py @@ -21,7 +21,7 @@ setuptools.setup( "h5py", "vtk", "matplotlib", - "PIL", + "pillow", ], classifiers = [ "Intended Audience :: Science/Research", From 499ce01748b533f17a3dd109f7549356fadc6ae9 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sat, 22 Aug 2020 13:55:18 -0400 Subject: [PATCH 457/958] added Geom.copy() method --- python/damask/_geom.py | 12 ++++++++- python/tests/test_Geom.py | 54 +++++++++++++++++++-------------------- 2 files changed, 37 insertions(+), 29 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 3fec15fdd..b0e917a59 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -1,4 +1,5 @@ import sys +import copy from io import StringIO import multiprocessing from functools import partial @@ -52,6 +53,16 @@ class Geom: ]) + def __copy__(self): + """Copy geometry.""" + return copy.deepcopy(self) + + + def copy(self): + """Copy geometry.""" + return self.__copy__() + + def update(self,microstructure=None,size=None,origin=None,rescale=False): """ Update microstructure and size. @@ -774,4 +785,3 @@ class Geom: #ToDo: self.add_comments('geom.py:vicinity_offset v{}'.format(version) return self.update(microstructure) - diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 4061c3ecf..4fb1ae00a 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -1,5 +1,3 @@ -import copy - import pytest import numpy as np @@ -31,7 +29,7 @@ def reference_dir(reference_dir_base): class TestGeom: def test_update(self,default): - modified = copy.deepcopy(default) + modified = default.copy() modified.update( default.get_microstructure(), default.get_size(), @@ -89,12 +87,12 @@ class TestGeom: default.update(default.microstructure[1:,1:,1:],origin=np.ones(4)) def test_invalid_microstructure_size(self,default): - microstructure=np.ones((3,3)) + microstructure = np.ones((3,3)) with pytest.raises(ValueError): default.update(microstructure) def test_invalid_microstructure_type(self,default): - microstructure=np.random.randint(1,300,(3,4,5))==1 + microstructure = np.random.randint(1,300,(3,4,5))==1 with pytest.raises(TypeError): default.update(microstructure) @@ -110,7 +108,7 @@ class TestGeom: ] ) def test_mirror(self,default,update,reference_dir,directions,reflect): - modified = copy.deepcopy(default) + modified = default.copy() modified.mirror(directions,reflect) tag = f'directions={"-".join(directions)}_reflect={reflect}' reference = reference_dir/f'mirror_{tag}.geom' @@ -119,7 +117,7 @@ class TestGeom: @pytest.mark.parametrize('stencil',[1,2,3,4]) def test_clean(self,default,update,reference_dir,stencil): - modified = copy.deepcopy(default) + modified = default.copy() modified.clean(stencil) tag = f'stencil={stencil}' reference = reference_dir/f'clean_{tag}.geom' @@ -136,7 +134,7 @@ class TestGeom: ] ) def test_scale(self,default,update,reference_dir,grid): - modified = copy.deepcopy(default) + modified = default.copy() modified.scale(grid) tag = f'grid={util.srepr(grid,"-")}' reference = reference_dir/f'scale_{tag}.geom' @@ -144,7 +142,7 @@ class TestGeom: assert geom_equal(modified,Geom.from_file(reference)) def test_renumber(self,default): - modified = copy.deepcopy(default) + modified = default.copy() microstructure = modified.get_microstructure() for m in np.unique(microstructure): microstructure[microstructure==m] = microstructure.max() + np.random.randint(1,30) @@ -154,10 +152,10 @@ class TestGeom: assert geom_equal(modified,default) def test_substitute(self,default): - modified = copy.deepcopy(default) + modified = default.copy() microstructure = modified.get_microstructure() offset = np.random.randint(1,500) - microstructure+=offset + microstructure += offset modified.update(microstructure) assert not geom_equal(modified,default) modified.substitute(np.arange(default.microstructure.max())+1+offset, @@ -167,7 +165,7 @@ class TestGeom: @pytest.mark.parametrize('axis_angle',[np.array([1,0,0,86.7]), np.array([0,1,0,90.4]), np.array([0,0,1,90]), np.array([1,0,0,175]),np.array([0,-1,0,178]),np.array([0,0,1,180])]) def test_rotate360(self,default,axis_angle): - modified = copy.deepcopy(default) + modified = default.copy() for i in range(np.rint(360/axis_angle[3]).astype(int)): modified.rotate(Rotation.from_axis_angle(axis_angle,degrees=True)) assert geom_equal(modified,default) @@ -175,7 +173,7 @@ class TestGeom: @pytest.mark.parametrize('Eulers',[[32.0,68.0,21.0], [0.0,32.0,240.0]]) def test_rotate(self,default,update,reference_dir,Eulers): - modified = copy.deepcopy(default) + modified = default.copy() modified.rotate(Rotation.from_Eulers(Eulers,degrees=True)) tag = f'Eulers={util.srepr(Eulers,"-")}' reference = reference_dir/f'rotate_{tag}.geom' @@ -184,25 +182,25 @@ class TestGeom: def test_canvas(self,default): grid_add = np.random.randint(0,30,(3)) - modified = copy.deepcopy(default) + modified = default.copy() modified.canvas(modified.grid + grid_add) e = default.grid assert np.all(modified.microstructure[:e[0],:e[1],:e[2]] == default.microstructure) - @pytest.mark.parametrize('center1,center2',[(np.random.random(3)*.5,np.random.random(3)), + @pytest.mark.parametrize('center1,center2',[(np.random.random(3)*.5,np.random.random(3)), (np.random.randint(4,8,(3)),np.random.randint(9,12,(3)))]) - @pytest.mark.parametrize('diameter',[np.random.random(3)*.5, - np.random.randint(4,10,(3))]) - def test_add_primitive(self,diameter,center1,center2): - """Same volume fraction for periodic microstructures and different center.""" - o = np.random.random(3)-.5 - g = np.random.randint(8,32,(3)) - s = np.random.random(3)+.5 - G_1 = Geom(np.ones(g,'i'),s,o) - G_2 = Geom(np.ones(g,'i'),s,o) - G_1.add_primitive(diameter,center1,1) - G_2.add_primitive(diameter,center2,1) - assert np.count_nonzero(G_1.microstructure!=2) == np.count_nonzero(G_2.microstructure!=2) + @pytest.mark.parametrize('diameter',[np.random.random(3)*.5, + np.random.randint(4,10,(3))]) + def test_add_primitive(self,diameter,center1,center2): + """Same volume fraction for periodic microstructures and different center.""" + o = np.random.random(3)-.5 + g = np.random.randint(8,32,(3)) + s = np.random.random(3)+.5 + G_1 = Geom(np.ones(g,'i'),s,o) + G_2 = Geom(np.ones(g,'i'),s,o) + G_1.add_primitive(diameter,center1,1) + G_2.add_primitive(diameter,center2,1) + assert np.count_nonzero(G_1.microstructure!=2) == np.count_nonzero(G_2.microstructure!=2) @pytest.mark.parametrize('trigger',[[1],[]]) def test_vicinity_offset(self,trigger): @@ -213,7 +211,7 @@ class TestGeom: m = np.ones(g,'i') x = (g*np.random.permutation(np.array([.5,1,1]))).astype('i') m[slice(0,x[0]),slice(0,x[1]),slice(0,x[2])] = 2 - m2 = copy.deepcopy(m) + m2 = m.copy() for i in [0,1,2]: m2[(np.roll(m,+vicinity,i)-m)!=0] += offset m2[(np.roll(m,-vicinity,i)-m)!=0] += offset From 9ca0e409661661d09a97413b0cd17c2ef956d97a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 22 Aug 2020 20:22:34 +0200 Subject: [PATCH 458/958] simplified --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index 7fc372881..81ea47599 100644 --- a/README +++ b/README @@ -8,6 +8,6 @@ Max-Planck-Str. 1 40237 Düsseldorf Germany -Email: DAMASK@mpie.de +damask@mpie.de https://damask.mpie.de https://magit1.mpie.de From bd4fb562bcbc6b983abd17f89d25d6e07559458c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 22 Aug 2020 20:57:42 +0200 Subject: [PATCH 459/958] make use of inhereted dependencies --- python/setup.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/python/setup.py b/python/setup.py index c13ddbae0..ac2363160 100644 --- a/python/setup.py +++ b/python/setup.py @@ -16,12 +16,11 @@ setuptools.setup( packages=setuptools.find_packages(), include_package_data=True, install_requires = [ - "pandas", + "pandas", # requires numpy "scipy", - "h5py", + "h5py", # requires numpy "vtk", - "matplotlib", - "pillow", + "matplotlib", # requires numpy, pillow ], classifiers = [ "Intended Audience :: Science/Research", From 70d1b0b987c906c2bd8424a03eaad3d49c32ced1 Mon Sep 17 00:00:00 2001 From: Test User Date: Sat, 22 Aug 2020 22:31:05 +0200 Subject: [PATCH 460/958] [skip ci] updated version information after successful test of v3.0.0-alpha-1-g499ce017 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 6e46bbb25..c744aa5d0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha +v3.0.0-alpha-1-g499ce017 From 2b09a7d31d1918265b4432b6946d994cbaf8e5a4 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sat, 22 Aug 2020 21:33:38 -0400 Subject: [PATCH 461/958] fixed Geom.canvas bug, added Geom.from_vtk, added mode,selection options to Geom.clean --- python/damask/_geom.py | 64 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 52 insertions(+), 12 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index b0e917a59..0f1c35e42 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -175,7 +175,7 @@ class Geom: if len(self.microstructure.shape) != 3: raise ValueError(f'Invalid microstructure shape {microstructure.shape}') elif self.microstructure.dtype not in np.sctypes['float'] + np.sctypes['int']: - raise TypeError(f'Invalid microstructue data type {microstructure.dtype}') + raise TypeError(f'Invalid microstructure data type {microstructure.dtype}') def set_size(self,size): @@ -345,6 +345,34 @@ class Geom: return Geom(microstructure.reshape(grid,order='F'),size,origin,homogenization,comments) + @staticmethod + def from_vtk(fname): + """ + Read a geom from a VTK file. + + Parameters + ---------- + fname : str or file handle + Geometry file to read. + + """ + g = VTK.from_file(fname).geom + N_cells = g.GetNumberOfCells() + microstructure = np.zeros(N_cells) + grid = np.array(g.GetDimensions())-1 + bbox = np.array(g.GetBounds()).reshape(3,2).T + size = bbox[1] - bbox[0] + + celldata = g.GetCellData() + for a in range(celldata.GetNumberOfArrays()): + if celldata.GetArrayName(a) == 'microstructure': + array = celldata.GetArray(a) + for c in range(N_cells): + microstructure[c] = array.GetValue(c) + + return Geom(microstructure.reshape(grid,order='F'),size,bbox[0]) + + @staticmethod def _find_closest_seed(seeds, weights, point): return np.argmin(np.sum((np.broadcast_to(point,(len(seeds),3))-seeds)**2,axis=1) - weights) @@ -621,7 +649,7 @@ class Geom: ) - def clean(self,stencil=3): + def clean(self,stencil=3,mode='nearest',selection=None): """ Smooth microstructure by selecting most frequent index within given stencil at each location. @@ -629,17 +657,28 @@ class Geom: ---------- stencil : int, optional Size of smoothing stencil. + mode : string, optional + The mode parameter determines how the input array is extended beyond its boundaries. + Default is 'nearest'. See scipy.ndimage.generic_filter for all options. + selection : list, optional + Field values that can be altered. Defaults to all. """ - def mostFrequent(arr): - unique, inverse = np.unique(arr, return_inverse=True) - return unique[np.argmax(np.bincount(inverse))] + def mostFrequent(arr,selection=None): + me = arr[arr.size//2] + if selection is None or me in selection: + unique, inverse = np.unique(arr, return_inverse=True) + return unique[np.argmax(np.bincount(inverse))] + else: + return me #ToDo: self.add_comments('geom.py:clean v{}'.format(version) return self.update(ndimage.filters.generic_filter( self.microstructure, mostFrequent, - size=(stencil,)*3 + size=(stencil if selection is None else stencil//2*2+1,)*3, + mode=mode, + extra_keywords=dict(selection=selection), ).astype(self.microstructure.dtype) ) @@ -708,14 +747,15 @@ class Geom: dtype = float if int(fill) != fill or self.microstructure.dtype==np.float else int canvas = np.full(self.grid if grid is None else grid, - fill if fill is not None else np.nanmax(self.microstructure)+1,dtype) + np.nanmax(self.microstructure)+1 if fill is None else fill, + dtype) - l = np.clip( offset, 0,np.minimum(self.grid +offset,grid)) # noqa - r = np.clip( offset+self.grid,0,np.minimum(self.grid*2+offset,grid)) - L = np.clip(-offset, 0,np.minimum(grid -offset,self.grid)) - R = np.clip(-offset+grid, 0,np.minimum(grid*2 -offset,self.grid)) + LL = np.clip( offset, 0,np.minimum(self.grid, grid+offset)) # noqa + UR = np.clip( offset+grid, 0,np.minimum(self.grid, grid+offset)) + ll = np.clip(-offset, 0,np.minimum( grid,self.grid-offset)) + ur = np.clip(-offset+self.grid,0,np.minimum( grid,self.grid-offset)) - canvas[l[0]:r[0],l[1]:r[1],l[2]:r[2]] = self.microstructure[L[0]:R[0],L[1]:R[1],L[2]:R[2]] + canvas[ll[0]:ur[0],ll[1]:ur[1],ll[2]:ur[2]] = self.microstructure[LL[0]:UR[0],LL[1]:UR[1],LL[2]:UR[2]] #ToDo: self.add_comments('geom.py:canvas v{}'.format(version) return self.update(canvas,origin=self.origin+offset*self.size/self.grid,rescale=True) From a1f1b91c7f346131fdeac9db8403d930731f427c Mon Sep 17 00:00:00 2001 From: Test User Date: Sun, 23 Aug 2020 06:06:38 +0200 Subject: [PATCH 462/958] [skip ci] updated version information after successful test of v3.0.0-alpha-3-g2b09a7d3 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index c744aa5d0..a8dd6cb0f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-1-g499ce017 +v3.0.0-alpha-3-g2b09a7d3 From b731b1e7684a6bdfb873b31a04a91d7499bd0081 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 23 Aug 2020 08:49:49 +0200 Subject: [PATCH 463/958] Geom.to_vtk improvements - should be integer - should have a test --- python/damask/_geom.py | 2 +- python/tests/test_Geom.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 0f1c35e42..de0b04c79 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -358,7 +358,7 @@ class Geom: """ g = VTK.from_file(fname).geom N_cells = g.GetNumberOfCells() - microstructure = np.zeros(N_cells) + microstructure = np.zeros(N_cells,'i') grid = np.array(g.GetDimensions())-1 bbox = np.array(g.GetBounds()).reshape(3,2).T size = bbox[1] - bbox[0] diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 4fb1ae00a..60a4f4fef 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -1,3 +1,6 @@ +import os +import time + import pytest import numpy as np @@ -65,8 +68,14 @@ class TestGeom: new = Geom.from_file(f) assert geom_equal(new,default) - def test_export_vtk(self,default,tmpdir): + def test_read_write_vtk(self,default,tmpdir): default.to_vtk(str(tmpdir.join('default'))) + for _ in range(3): + if os.path.exists(tmpdir.join('default.vtr')): break + time.sleep(1) + new = Geom.from_vtk(str(tmpdir.join('default.vtr'))) + assert geom_equal(new,default) + @pytest.mark.parametrize('pack',[True,False]) def test_pack(self,default,tmpdir,pack): From 5fb2d30ee4a9adc539ce071cbe2defe74fab5e11 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 23 Aug 2020 09:02:17 +0200 Subject: [PATCH 464/958] fast and for arbitrary type --- python/damask/_geom.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index de0b04c79..382ae4d32 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -6,6 +6,7 @@ from functools import partial import numpy as np from scipy import ndimage,spatial +from vtk.util.numpy_support import vtk_to_numpy as vtk_to_np from . import environment from . import Rotation @@ -357,8 +358,6 @@ class Geom: """ g = VTK.from_file(fname).geom - N_cells = g.GetNumberOfCells() - microstructure = np.zeros(N_cells,'i') grid = np.array(g.GetDimensions())-1 bbox = np.array(g.GetBounds()).reshape(3,2).T size = bbox[1] - bbox[0] @@ -366,9 +365,7 @@ class Geom: celldata = g.GetCellData() for a in range(celldata.GetNumberOfArrays()): if celldata.GetArrayName(a) == 'microstructure': - array = celldata.GetArray(a) - for c in range(N_cells): - microstructure[c] = array.GetValue(c) + microstructure = vtk_to_np(celldata.GetArray(a)) return Geom(microstructure.reshape(grid,order='F'),size,bbox[0]) From 975db01f31613d16ae16f4b68912a1c08127f037 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 23 Aug 2020 09:17:08 +0200 Subject: [PATCH 465/958] microstructure -> materialpoint at least for new functionality --- python/damask/_geom.py | 22 ++++++++++++---------- python/tests/test_Geom.py | 37 ++++++++++++++++++++++++------------- 2 files changed, 36 insertions(+), 23 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 382ae4d32..30aebe254 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -46,11 +46,11 @@ class Geom: def __repr__(self): """Basic information on geometry definition.""" return util.srepr([ - f'grid a b c: {util.srepr(self.get_grid ()," x ")}', - f'size x y z: {util.srepr(self.get_size ()," x ")}', - f'origin x y z: {util.srepr(self.get_origin()," ")}', - f'# microstructures: {self.N_microstructure}', - f'max microstructure: {np.nanmax(self.microstructure)}', + f'grid a b c: {util.srepr(self.get_grid ()," x ")}', + f'size x y z: {util.srepr(self.get_size ()," x ")}', + f'origin x y z: {util.srepr(self.get_origin()," ")}', + f'# materialpoints: {self.N_microstructure}', + f'max materialpoint: {np.nanmax(self.microstructure)}', ]) @@ -364,10 +364,12 @@ class Geom: celldata = g.GetCellData() for a in range(celldata.GetNumberOfArrays()): - if celldata.GetArrayName(a) == 'microstructure': - microstructure = vtk_to_np(celldata.GetArray(a)) + if celldata.GetArrayName(a) == 'materialpoint': + materialpoint = vtk_to_np(celldata.GetArray(a)) + return Geom(materialpoint.reshape(grid,order='F'),size,bbox[0]) + + raise ValueError(f'"materialpoint" array not found in {fname}') - return Geom(microstructure.reshape(grid,order='F'),size,bbox[0]) @staticmethod @@ -522,7 +524,7 @@ class Geom: """ v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) - v.add(self.microstructure.flatten(order='F'),'microstructure') + v.add(self.microstructure.flatten(order='F'),'materialpoint') if fname: v.write(fname) @@ -747,7 +749,7 @@ class Geom: np.nanmax(self.microstructure)+1 if fill is None else fill, dtype) - LL = np.clip( offset, 0,np.minimum(self.grid, grid+offset)) # noqa + LL = np.clip( offset, 0,np.minimum(self.grid, grid+offset)) UR = np.clip( offset+grid, 0,np.minimum(self.grid, grid+offset)) ll = np.clip(-offset, 0,np.minimum( grid,self.grid-offset)) ur = np.clip(-offset+self.grid,0,np.minimum( grid,self.grid-offset)) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 60a4f4fef..d037a2a65 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -4,6 +4,7 @@ import time import pytest import numpy as np +from damask import VTK from damask import Geom from damask import Rotation from damask import util @@ -50,37 +51,47 @@ class TestGeom: def test_write_read_str(self,default,tmpdir): - default.to_file(str(tmpdir.join('default.geom'))) - new = Geom.from_file(str(tmpdir.join('default.geom'))) + default.to_file(str(tmpdir/'default.geom')) + new = Geom.from_file(str(tmpdir/'default.geom')) assert geom_equal(new,default) def test_write_read_file(self,default,tmpdir): - with open(tmpdir.join('default.geom'),'w') as f: + with open(tmpdir/'default.geom','w') as f: default.to_file(f) - with open(tmpdir.join('default.geom')) as f: + with open(tmpdir/'default.geom') as f: new = Geom.from_file(f) assert geom_equal(new,default) def test_write_show(self,default,tmpdir): - with open(tmpdir.join('str.geom'),'w') as f: + with open(tmpdir/'str.geom','w') as f: f.write(default.show()) - with open(tmpdir.join('str.geom')) as f: + with open(tmpdir/'str.geom') as f: new = Geom.from_file(f) assert geom_equal(new,default) def test_read_write_vtk(self,default,tmpdir): - default.to_vtk(str(tmpdir.join('default'))) - for _ in range(3): - if os.path.exists(tmpdir.join('default.vtr')): break - time.sleep(1) - new = Geom.from_vtk(str(tmpdir.join('default.vtr'))) + default.to_vtk(tmpdir/'default') + for _ in range(10): + time.sleep(.2) + if os.path.exists(tmpdir/'default.vtr'): break + + new = Geom.from_vtk(tmpdir/'default.vtr') assert geom_equal(new,default) + def test_invalid_vtk(self,tmpdir): + v = VTK.from_rectilinearGrid(np.random.randint(5,10,3)*2,np.random.random(3) + 1.0) + v.write(tmpdir/'no_materialpoint.vtr') + for _ in range(10): + time.sleep(.2) + if os.path.exists(tmpdir/'no_materialpoint.vtr'): break + with pytest.raises(ValueError): + Geom.from_vtk(tmpdir/'no_materialpoint.vtr') + @pytest.mark.parametrize('pack',[True,False]) def test_pack(self,default,tmpdir,pack): - default.to_file(tmpdir.join('default.geom'),pack=pack) - new = Geom.from_file(tmpdir.join('default.geom')) + default.to_file(tmpdir/'default.geom',pack=pack) + new = Geom.from_file(tmpdir/'default.geom') assert geom_equal(new,default) def test_invalid_combination(self,default): From 64e7582e8e621e2bc50c1bf68c661436de40a206 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 23 Aug 2020 10:02:22 +0200 Subject: [PATCH 466/958] consistent interface to ndimage filters Boolean 'periodic' sets mode to 'wrap' or 'nearest' --- python/damask/_geom.py | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 30aebe254..2f7f18066 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -621,11 +621,10 @@ class Geom: if 'x' in directions: ms = np.concatenate([ms,ms[limits[0]:limits[1]:-1,:,:]],0) - #ToDo: self.add_comments('geom.py:mirror v{}'.format(version) return self.update(ms,rescale=True) - def scale(self,grid): + def scale(self,grid,periodic=True): """ Scale microstructure to new grid. @@ -633,22 +632,23 @@ class Geom: ---------- grid : numpy.ndarray of shape (3) Number of grid points in x,y,z direction. + periodic : Boolean, optional + Assume geometry to be periodic. Defaults to True. """ - #ToDo: self.add_comments('geom.py:scale v{}'.format(version) return self.update( ndimage.interpolation.zoom( self.microstructure, grid/self.get_grid(), output=self.microstructure.dtype, order=0, - mode='nearest', + mode=('wrap' if periodic else 'nearest'), prefilter=False ) ) - def clean(self,stencil=3,mode='nearest',selection=None): + def clean(self,stencil=3,selection=None,periodic=True): """ Smooth microstructure by selecting most frequent index within given stencil at each location. @@ -656,11 +656,10 @@ class Geom: ---------- stencil : int, optional Size of smoothing stencil. - mode : string, optional - The mode parameter determines how the input array is extended beyond its boundaries. - Default is 'nearest'. See scipy.ndimage.generic_filter for all options. selection : list, optional Field values that can be altered. Defaults to all. + periodic : Boolean, optional + Assume geometry to be periodic. Defaults to True. """ def mostFrequent(arr,selection=None): @@ -671,12 +670,11 @@ class Geom: else: return me - #ToDo: self.add_comments('geom.py:clean v{}'.format(version) return self.update(ndimage.filters.generic_filter( self.microstructure, mostFrequent, size=(stencil if selection is None else stencil//2*2+1,)*3, - mode=mode, + mode=('wrap' if periodic else 'nearest'), extra_keywords=dict(selection=selection), ).astype(self.microstructure.dtype) ) @@ -688,7 +686,6 @@ class Geom: for i, oldID in enumerate(np.unique(self.microstructure)): renumbered = np.where(self.microstructure == oldID, i+1, renumbered) - #ToDo: self.add_comments('geom.py:renumber v{}'.format(version) return self.update(renumbered) @@ -723,7 +720,6 @@ class Geom: origin = self.origin-(np.asarray(microstructure_in.shape)-self.grid)*.5 * self.size/self.grid - #ToDo: self.add_comments('geom.py:rotate v{}'.format(version) return self.update(microstructure_in,origin=origin,rescale=True) @@ -756,7 +752,6 @@ class Geom: canvas[ll[0]:ur[0],ll[1]:ur[1],ll[2]:ur[2]] = self.microstructure[LL[0]:UR[0],LL[1]:UR[1],LL[2]:UR[2]] - #ToDo: self.add_comments('geom.py:canvas v{}'.format(version) return self.update(canvas,origin=self.origin+offset*self.size/self.grid,rescale=True) @@ -776,7 +771,6 @@ class Geom: for from_ms,to_ms in zip(from_microstructure,to_microstructure): substituted[self.microstructure==from_ms] = to_ms - #ToDo: self.add_comments('geom.py:substitute v{}'.format(version) return self.update(substituted) @@ -822,5 +816,4 @@ class Geom: extra_keywords={'trigger':trigger}) microstructure = np.ma.MaskedArray(self.microstructure + offset_, np.logical_not(mask)) - #ToDo: self.add_comments('geom.py:vicinity_offset v{}'.format(version) return self.update(microstructure) From 07af7b2f988fb548ad6d134337aecc51984a9f48 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 23 Aug 2020 10:46:15 +0200 Subject: [PATCH 467/958] geom is written to vtr exlcusively, not to general vtk base tests on vtr --- python/damask/_geom.py | 20 +++++++------ python/tests/reference/Geom/clean.vtr | 25 ++++++++++++++++ .../tests/reference/Geom/clean_2_1_False.vtr | 25 ++++++++++++++++ .../tests/reference/Geom/clean_2_1_True.vtr | 25 ++++++++++++++++ .../reference/Geom/clean_2_None_False.vtr | 25 ++++++++++++++++ .../reference/Geom/clean_2_None_True.vtr | 25 ++++++++++++++++ .../tests/reference/Geom/clean_3_1_False.vtr | 25 ++++++++++++++++ .../tests/reference/Geom/clean_3_1_True.vtr | 25 ++++++++++++++++ .../reference/Geom/clean_3_None_False.vtr | 25 ++++++++++++++++ .../reference/Geom/clean_3_None_True.vtr | 25 ++++++++++++++++ .../tests/reference/Geom/clean_4_1_False.vtr | 25 ++++++++++++++++ .../tests/reference/Geom/clean_4_1_True.vtr | 25 ++++++++++++++++ .../reference/Geom/clean_4_None_False.vtr | 25 ++++++++++++++++ .../reference/Geom/clean_4_None_True.vtr | 25 ++++++++++++++++ .../tests/reference/Geom/clean_stencil=1.geom | 25 ---------------- .../tests/reference/Geom/clean_stencil=2.geom | 25 ---------------- .../tests/reference/Geom/clean_stencil=3.geom | 25 ---------------- .../tests/reference/Geom/clean_stencil=4.geom | 25 ---------------- python/tests/test_Geom.py | 30 +++++++++++-------- 19 files changed, 354 insertions(+), 121 deletions(-) create mode 100644 python/tests/reference/Geom/clean.vtr create mode 100644 python/tests/reference/Geom/clean_2_1_False.vtr create mode 100644 python/tests/reference/Geom/clean_2_1_True.vtr create mode 100644 python/tests/reference/Geom/clean_2_None_False.vtr create mode 100644 python/tests/reference/Geom/clean_2_None_True.vtr create mode 100644 python/tests/reference/Geom/clean_3_1_False.vtr create mode 100644 python/tests/reference/Geom/clean_3_1_True.vtr create mode 100644 python/tests/reference/Geom/clean_3_None_False.vtr create mode 100644 python/tests/reference/Geom/clean_3_None_True.vtr create mode 100644 python/tests/reference/Geom/clean_4_1_False.vtr create mode 100644 python/tests/reference/Geom/clean_4_1_True.vtr create mode 100644 python/tests/reference/Geom/clean_4_None_False.vtr create mode 100644 python/tests/reference/Geom/clean_4_None_True.vtr delete mode 100644 python/tests/reference/Geom/clean_stencil=1.geom delete mode 100644 python/tests/reference/Geom/clean_stencil=2.geom delete mode 100644 python/tests/reference/Geom/clean_stencil=3.geom delete mode 100644 python/tests/reference/Geom/clean_stencil=4.geom diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 2f7f18066..722df2524 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -347,17 +347,18 @@ class Geom: @staticmethod - def from_vtk(fname): + def from_vtr(fname): """ - Read a geom from a VTK file. + Read a VTK rectilinear grid. Parameters ---------- - fname : str or file handle + fname : str or or pathlib.Path Geometry file to read. + Valid extension is .vtr, it will be appended if not given. """ - g = VTK.from_file(fname).geom + g = VTK.from_file(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr').geom grid = np.array(g.GetDimensions())-1 bbox = np.array(g.GetBounds()).reshape(3,2).T size = bbox[1] - bbox[0] @@ -513,21 +514,22 @@ class Geom: f.write(f'{reps} of {former}\n') - def to_vtk(self,fname=None): + def to_vtr(self,fname=None): """ - Generates vtk file. + Generates vtk rectilinear grid. Parameters ---------- fname : str, optional - Vtk file to write. If no file is given, a string is returned. + Filename to write. If no file is given, a string is returned. + Valid extension is .vtr, it will be appended if not given. """ v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) v.add(self.microstructure.flatten(order='F'),'materialpoint') if fname: - v.write(fname) + v.write(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') else: sys.stdout.write(v.__repr__()) @@ -642,7 +644,7 @@ class Geom: grid/self.get_grid(), output=self.microstructure.dtype, order=0, - mode=('wrap' if periodic else 'nearest'), + mode=('wrap' if periodic else 'nearest'), prefilter=False ) ) diff --git a/python/tests/reference/Geom/clean.vtr b/python/tests/reference/Geom/clean.vtr new file mode 100644 index 000000000..c76ce3988 --- /dev/null +++ b/python/tests/reference/Geom/clean.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAANQAAAA==eF7t1CECACAMxLBj/380fhYwIyK2spWkmnWgt6b3AF65/avfegAAAAAAAAAAAMy0AfYtC2k= + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_2_1_False.vtr b/python/tests/reference/Geom/clean_2_1_False.vtr new file mode 100644 index 000000000..c76ce3988 --- /dev/null +++ b/python/tests/reference/Geom/clean_2_1_False.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAANQAAAA==eF7t1CECACAMxLBj/380fhYwIyK2spWkmnWgt6b3AF65/avfegAAAAAAAAAAAMy0AfYtC2k= + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_2_1_True.vtr b/python/tests/reference/Geom/clean_2_1_True.vtr new file mode 100644 index 000000000..c76ce3988 --- /dev/null +++ b/python/tests/reference/Geom/clean_2_1_True.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAANQAAAA==eF7t1CECACAMxLBj/380fhYwIyK2spWkmnWgt6b3AF65/avfegAAAAAAAAAAAMy0AfYtC2k= + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_2_None_False.vtr b/python/tests/reference/Geom/clean_2_None_False.vtr new file mode 100644 index 000000000..c76ce3988 --- /dev/null +++ b/python/tests/reference/Geom/clean_2_None_False.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAANQAAAA==eF7t1CECACAMxLBj/380fhYwIyK2spWkmnWgt6b3AF65/avfegAAAAAAAAAAAMy0AfYtC2k= + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_2_None_True.vtr b/python/tests/reference/Geom/clean_2_None_True.vtr new file mode 100644 index 000000000..fe04087d2 --- /dev/null +++ b/python/tests/reference/Geom/clean_2_None_True.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAAMQAAAA==eF7tzCEOADAMxLDr/v/o8pLSaTMwi1JJCoAvnGHrN7f/AAAAAAAAAAAAeE8DQvkLTQ== + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_3_1_False.vtr b/python/tests/reference/Geom/clean_3_1_False.vtr new file mode 100644 index 000000000..c76ce3988 --- /dev/null +++ b/python/tests/reference/Geom/clean_3_1_False.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAANQAAAA==eF7t1CECACAMxLBj/380fhYwIyK2spWkmnWgt6b3AF65/avfegAAAAAAAAAAAMy0AfYtC2k= + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_3_1_True.vtr b/python/tests/reference/Geom/clean_3_1_True.vtr new file mode 100644 index 000000000..c76ce3988 --- /dev/null +++ b/python/tests/reference/Geom/clean_3_1_True.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAANQAAAA==eF7t1CECACAMxLBj/380fhYwIyK2spWkmnWgt6b3AF65/avfegAAAAAAAAAAAMy0AfYtC2k= + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_3_None_False.vtr b/python/tests/reference/Geom/clean_3_None_False.vtr new file mode 100644 index 000000000..c2ad86f43 --- /dev/null +++ b/python/tests/reference/Geom/clean_3_None_False.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAAOgAAAA==eF7t1CEOACAMBMHS/z8aXwNJSagYMe6y8jIislgNtTW9d9oD/PL6r6b3AAAAAAAAAAAA4MYGlRYLYA== + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_3_None_True.vtr b/python/tests/reference/Geom/clean_3_None_True.vtr new file mode 100644 index 000000000..b4d19ebcf --- /dev/null +++ b/python/tests/reference/Geom/clean_3_None_True.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAANwAAAA==eF7t1KERADAMA7Gk+w9dWpYCswiI+R66q6rDzmPa/kj3ALZK/2m6BwAAAAAAAAAAAJMLZrELTQ== + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_4_1_False.vtr b/python/tests/reference/Geom/clean_4_1_False.vtr new file mode 100644 index 000000000..c76ce3988 --- /dev/null +++ b/python/tests/reference/Geom/clean_4_1_False.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAANQAAAA==eF7t1CECACAMxLBj/380fhYwIyK2spWkmnWgt6b3AF65/avfegAAAAAAAAAAAMy0AfYtC2k= + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_4_1_True.vtr b/python/tests/reference/Geom/clean_4_1_True.vtr new file mode 100644 index 000000000..c76ce3988 --- /dev/null +++ b/python/tests/reference/Geom/clean_4_1_True.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAANQAAAA==eF7t1CECACAMxLBj/380fhYwIyK2spWkmnWgt6b3AF65/avfegAAAAAAAAAAAMy0AfYtC2k= + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_4_None_False.vtr b/python/tests/reference/Geom/clean_4_None_False.vtr new file mode 100644 index 000000000..811d7dc8f --- /dev/null +++ b/python/tests/reference/Geom/clean_4_None_False.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAAOQAAAA==eF7t1CESACAMA8HS/z8aX4OgCGDFuszJZERkMTbU1us9gFO6/+q23moPAAAAAAAAAADAnybPzQto + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_4_None_True.vtr b/python/tests/reference/Geom/clean_4_None_True.vtr new file mode 100644 index 000000000..88a8643d9 --- /dev/null +++ b/python/tests/reference/Geom/clean_4_None_True.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAAJAAAAA==eF7twwEJAAAMBKH7/qWXY6DgqqmqqqqqqqqqqqqqPnhyUwtB + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_stencil=1.geom b/python/tests/reference/Geom/clean_stencil=1.geom deleted file mode 100644 index 3e6f6fe9c..000000000 --- a/python/tests/reference/Geom/clean_stencil=1.geom +++ /dev/null @@ -1,25 +0,0 @@ -4 header -grid a 8 b 5 c 4 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 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 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 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 diff --git a/python/tests/reference/Geom/clean_stencil=2.geom b/python/tests/reference/Geom/clean_stencil=2.geom deleted file mode 100644 index 14c1fa5e2..000000000 --- a/python/tests/reference/Geom/clean_stencil=2.geom +++ /dev/null @@ -1,25 +0,0 @@ -4 header -grid a 8 b 5 c 4 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 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 1 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -1 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 diff --git a/python/tests/reference/Geom/clean_stencil=3.geom b/python/tests/reference/Geom/clean_stencil=3.geom deleted file mode 100644 index 3aea8ffa5..000000000 --- a/python/tests/reference/Geom/clean_stencil=3.geom +++ /dev/null @@ -1,25 +0,0 @@ -4 header -grid a 8 b 5 c 4 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 1 -2 2 1 1 1 1 1 1 -2 2 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 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 diff --git a/python/tests/reference/Geom/clean_stencil=4.geom b/python/tests/reference/Geom/clean_stencil=4.geom deleted file mode 100644 index 595e04b23..000000000 --- a/python/tests/reference/Geom/clean_stencil=4.geom +++ /dev/null @@ -1,25 +0,0 @@ -4 header -grid a 8 b 5 c 4 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 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 1 -2 2 2 2 1 1 1 1 -2 2 2 2 1 1 1 1 -2 2 2 2 1 1 1 1 -1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index d037a2a65..0ac633152 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -69,23 +69,23 @@ class TestGeom: new = Geom.from_file(f) assert geom_equal(new,default) - def test_read_write_vtk(self,default,tmpdir): - default.to_vtk(tmpdir/'default') + def test_read_write_vtr(self,default,tmpdir): + default.to_vtr(tmpdir/'default') for _ in range(10): time.sleep(.2) if os.path.exists(tmpdir/'default.vtr'): break - new = Geom.from_vtk(tmpdir/'default.vtr') + new = Geom.from_vtr(tmpdir/'default.vtr') assert geom_equal(new,default) - def test_invalid_vtk(self,tmpdir): + def test_invalid_vtr(self,tmpdir): v = VTK.from_rectilinearGrid(np.random.randint(5,10,3)*2,np.random.random(3) + 1.0) v.write(tmpdir/'no_materialpoint.vtr') for _ in range(10): time.sleep(.2) if os.path.exists(tmpdir/'no_materialpoint.vtr'): break with pytest.raises(ValueError): - Geom.from_vtk(tmpdir/'no_materialpoint.vtr') + Geom.from_vtr(tmpdir/'no_materialpoint.vtr') @pytest.mark.parametrize('pack',[True,False]) @@ -136,13 +136,19 @@ class TestGeom: assert geom_equal(modified,Geom.from_file(reference)) @pytest.mark.parametrize('stencil',[1,2,3,4]) - def test_clean(self,default,update,reference_dir,stencil): - modified = default.copy() - modified.clean(stencil) - tag = f'stencil={stencil}' - reference = reference_dir/f'clean_{tag}.geom' - if update: modified.to_file(reference) - assert geom_equal(modified,Geom.from_file(reference)) + @pytest.mark.parametrize('selection',[None,1]) + @pytest.mark.parametrize('periodic',[True,False]) + def test_clean(self,update,reference_dir,stencil,selection,periodic): + current = Geom.from_vtr((reference_dir/'clean').with_suffix('.vtr')) + current.clean(stencil,None if selection is None else [selection],periodic) + reference = reference_dir/f'clean_{stencil}_{selection}_{periodic}' + altered = stencil !=1 and selection is not None + if update and stencil !=1: + current.to_vtr(reference) + for _ in range(10): + time.sleep(.2) + if os.path.exists(reference.with_suffix('.vtr')): break + assert geom_equal(current,Geom.from_vtr(reference if stencil !=1 else reference_dir/'clean')) @pytest.mark.parametrize('grid',[ (10,11,10), From 6f79573140f9a3b601cc94e17e13576c68baab76 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 23 Aug 2020 11:05:56 +0200 Subject: [PATCH 468/958] more test coverage --- python/damask/_geom.py | 4 +-- .../tests/reference/Geom/clean_2_2_False.vtr | 25 +++++++++++++++++++ .../tests/reference/Geom/clean_2_2_True.vtr | 25 +++++++++++++++++++ .../tests/reference/Geom/clean_3_2_False.vtr | 25 +++++++++++++++++++ .../tests/reference/Geom/clean_3_2_True.vtr | 25 +++++++++++++++++++ .../tests/reference/Geom/clean_4_2_False.vtr | 25 +++++++++++++++++++ .../tests/reference/Geom/clean_4_2_True.vtr | 25 +++++++++++++++++++ python/tests/test_Geom.py | 8 ++++-- 8 files changed, 157 insertions(+), 5 deletions(-) create mode 100644 python/tests/reference/Geom/clean_2_2_False.vtr create mode 100644 python/tests/reference/Geom/clean_2_2_True.vtr create mode 100644 python/tests/reference/Geom/clean_3_2_False.vtr create mode 100644 python/tests/reference/Geom/clean_3_2_True.vtr create mode 100644 python/tests/reference/Geom/clean_4_2_False.vtr create mode 100644 python/tests/reference/Geom/clean_4_2_True.vtr diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 722df2524..c8963b616 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -608,9 +608,7 @@ class Geom: """ valid = {'x','y','z'} - if not all(isinstance(d, str) for d in directions): - raise TypeError('Directions are not of type str.') - elif not set(directions).issubset(valid): + if not set(directions).issubset(valid): raise ValueError(f'Invalid direction {set(directions).difference(valid)} specified.') limits = [None,None] if reflect else [-2,0] diff --git a/python/tests/reference/Geom/clean_2_2_False.vtr b/python/tests/reference/Geom/clean_2_2_False.vtr new file mode 100644 index 000000000..c2ad86f43 --- /dev/null +++ b/python/tests/reference/Geom/clean_2_2_False.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAAOgAAAA==eF7t1CEOACAMBMHS/z8aXwNJSagYMe6y8jIislgNtTW9d9oD/PL6r6b3AAAAAAAAAAAA4MYGlRYLYA== + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_2_2_True.vtr b/python/tests/reference/Geom/clean_2_2_True.vtr new file mode 100644 index 000000000..b4d19ebcf --- /dev/null +++ b/python/tests/reference/Geom/clean_2_2_True.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAANwAAAA==eF7t1KERADAMA7Gk+w9dWpYCswiI+R66q6rDzmPa/kj3ALZK/2m6BwAAAAAAAAAAAJMLZrELTQ== + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_3_2_False.vtr b/python/tests/reference/Geom/clean_3_2_False.vtr new file mode 100644 index 000000000..c2ad86f43 --- /dev/null +++ b/python/tests/reference/Geom/clean_3_2_False.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAAOgAAAA==eF7t1CEOACAMBMHS/z8aXwNJSagYMe6y8jIislgNtTW9d9oD/PL6r6b3AAAAAAAAAAAA4MYGlRYLYA== + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_3_2_True.vtr b/python/tests/reference/Geom/clean_3_2_True.vtr new file mode 100644 index 000000000..b4d19ebcf --- /dev/null +++ b/python/tests/reference/Geom/clean_3_2_True.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAANwAAAA==eF7t1KERADAMA7Gk+w9dWpYCswiI+R66q6rDzmPa/kj3ALZK/2m6BwAAAAAAAAAAAJMLZrELTQ== + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_4_2_False.vtr b/python/tests/reference/Geom/clean_4_2_False.vtr new file mode 100644 index 000000000..7665bdde2 --- /dev/null +++ b/python/tests/reference/Geom/clean_4_2_False.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAANQAAAA==eF7t1CEOACAMBMGj/380Fk+TQjJi7MqtJHVYlypv9wB+0f2+7h4AAAAAAAAAAABM2HWwC1M= + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Geom/clean_4_2_True.vtr b/python/tests/reference/Geom/clean_4_2_True.vtr new file mode 100644 index 000000000..88a8643d9 --- /dev/null +++ b/python/tests/reference/Geom/clean_4_2_True.vtr @@ -0,0 +1,25 @@ + + + + + + + + + AQAAAACAAAAALQAAJAAAAA==eF7twwEJAAAMBKH7/qWXY6DgqqmqqqqqqqqqqqqqPnhyUwtB + + + + + AQAAAACAAACoAAAAVQAAAA==eF5jYICAWTNBYKU9hN5pb2IMAoeh/JP2EFUXoOKX7dPTQOAaVP6m/dkzIHAHqu4BVPwhVP1jqPwTqL5nUHUvoOpeQtW9hqp7A1X3Dqrugz0ASSZF3Q== + + + AQAAAACAAACYAAAAVgAAAA==eF5jYIAAmeOFQLTGHkLvsQ8Fg6NQ/hn7IjDjIlT8qr1F32MgugGVv2MPMeUBVN1D+8cQBVD1T+3BymSeQ/W9sF8FBq+g+t/Yg4Ut3kHN+WAPAAVdQE4= + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 0ac633152..479dd43fc 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -135,14 +135,18 @@ class TestGeom: if update: modified.to_file(reference) assert geom_equal(modified,Geom.from_file(reference)) + @pytest.mark.parametrize('directions',[(1,2,'y'),('a','b','x'),[1]]) + def test_mirror_invalid(self,default,directions): + with pytest.raises(ValueError): + default.mirror(directions) + @pytest.mark.parametrize('stencil',[1,2,3,4]) - @pytest.mark.parametrize('selection',[None,1]) + @pytest.mark.parametrize('selection',[None,1,2]) @pytest.mark.parametrize('periodic',[True,False]) def test_clean(self,update,reference_dir,stencil,selection,periodic): current = Geom.from_vtr((reference_dir/'clean').with_suffix('.vtr')) current.clean(stencil,None if selection is None else [selection],periodic) reference = reference_dir/f'clean_{stencil}_{selection}_{periodic}' - altered = stencil !=1 and selection is not None if update and stencil !=1: current.to_vtr(reference) for _ in range(10): From d65371d42f8471ed255d2685a46a913a2100b4b8 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 23 Aug 2020 12:55:55 +0200 Subject: [PATCH 469/958] removed unused and untested functionality PEP 20: Explicit is better than implicit. --- python/damask/_geom.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index c8963b616..571ae12eb 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -189,10 +189,7 @@ class Geom: physical size of the microstructure in meter. """ - if size is None: - grid = np.asarray(self.microstructure.shape) - self.size = grid/np.max(grid) - else: + if size is not None: if len(size) != 3 or any(np.array(size) <= 0): raise ValueError(f'Invalid size {size}') else: From e007aed407af44a3af2ca617540df7080c68f652 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 23 Aug 2020 13:28:15 +0200 Subject: [PATCH 470/958] updates in PRIVATE - lightweigth tarball: no examples, no Makefile (explicit cmake) - improved build instructions for ubuntu/debian package --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index a16d1e45a..8d7f2b665 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit a16d1e45a2ed925e12244b0879b9d7e5a58d973b +Subproject commit 8d7f2b665cfee7fbafb387201558bd27c54b2abb From 7b50a3b36436acb9e442e8bdb6af58f51f7d5af2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 23 Aug 2020 15:20:11 +0200 Subject: [PATCH 471/958] material.config is not used anymore --- python/.coveragerc | 1 - python/damask/__init__.py | 1 - python/damask/config/__init__.py | 3 - python/damask/config/material.py | 282 ------------------------------- 4 files changed, 287 deletions(-) delete mode 100644 python/damask/config/__init__.py delete mode 100644 python/damask/config/material.py diff --git a/python/.coveragerc b/python/.coveragerc index 5daa25bb2..97114fb82 100644 --- a/python/.coveragerc +++ b/python/.coveragerc @@ -2,4 +2,3 @@ omit = tests/* damask/_asciitable.py damask/_test.py - damask/config/* diff --git a/python/damask/__init__.py b/python/damask/__init__.py index b0feee4ac..1404e88d1 100644 --- a/python/damask/__init__.py +++ b/python/damask/__init__.py @@ -24,5 +24,4 @@ from . import solver # noqa Environment = _ from ._asciitable import ASCIItable # noqa from ._test import Test # noqa -from .config import Material # noqa from .util import extendableOption # noqa diff --git a/python/damask/config/__init__.py b/python/damask/config/__init__.py deleted file mode 100644 index f5c57a879..000000000 --- a/python/damask/config/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Aggregator for configuration file handling.""" - -from .material import Material # noqa diff --git a/python/damask/config/material.py b/python/damask/config/material.py deleted file mode 100644 index 433c70d03..000000000 --- a/python/damask/config/material.py +++ /dev/null @@ -1,282 +0,0 @@ -import re -import os - -from damask import util - -class Section(): - def __init__(self,data = {'__order__':[]},part = ''): - """New material.config section.""" - classes = { - 'homogenization':Homogenization, - 'microstructure':Microstructure, - 'crystallite':Crystallite, - 'phase':Phase, - 'texture':Texture, - } - self.parameters = {} - for key in data: - self.parameters[key] = data[key] if isinstance(data[key], list) else [data[key]] - - if '__order__' not in self.parameters: - self.parameters['__order__'] = list(self.parameters.keys()) - if part.lower() in classes: - self.__class__ = classes[part.lower()] - self.__init__(data) - - def add_multiKey(self,key,data): - multiKey = '(%s)'%key - if multiKey not in self.parameters: self.parameters[multiKey] = [] - if multiKey not in self.parameters['__order__']: self.parameters['__order__'] += [multiKey] - self.parameters[multiKey] += [[item] for item in data] if isinstance(data, list) else [[data]] - - def data(self): - return self.parameters - - -class Homogenization(Section): - def __init__(self,data = {'__order__':[]}): - """New material.config section.""" - Section.__init__(self,data) - - -class Crystallite(Section): - def __init__(self,data = {'__order__':[]}): - """New material.config section.""" - Section.__init__(self,data) - - -class Phase(Section): - def __init__(self,data = {'__order__':[]}): - """New material.config section.""" - Section.__init__(self,data) - - -class Microstructure(Section): - def __init__(self,data = {'__order__':[]}): - """New material.config section.""" - Section.__init__(self,data) - - -class Texture(Section): - def __init__(self,data = {'__order__':[]}): - """New material.config section.""" - Section.__init__(self,data) - - def add_component(self,theType,properties): - - scatter = properties['scatter'] if 'scatter' in list(map(str.lower,list(properties.keys()))) else 0.0 - fraction = properties['fraction'] if 'fraction' in list(map(str.lower,list(properties.keys()))) else 1.0 - - try: - multiKey = theType.lower() - except AttributeError: - pass - - if multiKey == 'gauss': - self.add_multiKey(multiKey,'phi1 %g\tPhi %g\tphi2 %g\tscatter %g\tfraction %g'%( - properties['eulers'][0], - properties['eulers'][1], - properties['eulers'][2], - scatter, - fraction, - ) - ) - - -class Material(): - """Read, manipulate, and write material.config files.""" - - def __init__(self,verbose=True): - """Generates ordered list of parts.""" - self.parts = [ - 'homogenization', - 'crystallite', - 'phase', - 'texture', - 'microstructure', - ] - self.data = { - 'homogenization': {'__order__': []}, - 'microstructure': {'__order__': []}, - 'crystallite': {'__order__': []}, - 'phase': {'__order__': []}, - 'texture': {'__order__': []}, - } - self.verbose = verbose - - def __repr__(self): - """Returns current data structure in material.config format.""" - me = [] - for part in self.parts: - if self.verbose: print(f'processing <{part}>') - me += ['', - '#'*100, - f'<{part}>', - '#'*100, - ] - for section in self.data[part]['__order__']: - me += [f'[{section}] {"#"+"-"*max(0,96-len(section))}'] - for key in self.data[part][section]['__order__']: - if key.startswith('(') and key.endswith(')'): # multiple (key) - me += [f'{key}\t{" ".join(values)}' for values in self.data[part][section][key]] - else: # plain key - me += [f'{key}\t{util.srepr(self.data[part][section][key]," ")}'] - return '\n'.join(me) + '\n' - - def parse(self, part=None, sections=[], content=None): - - re_part = re.compile(r'^<(.+)>$') # pattern for part - re_sec = re.compile(r'^\[(.+)\]$') # pattern for section - - name_section = '' - active = False - - for line in content: - line = line.split('#')[0].strip() # kill comments and extra whitespace - line = line.split('/echo/')[0].strip() # remove '/echo/' tags - line = line.lower() # be case insensitive - - if line: # content survives... - match_part = re_part.match(line) - if match_part: # found <...> separator - active = (match_part.group(1) == part) # only active in - continue - if active: - match_sec = re_sec.match(line) - if match_sec: # found [section] - name_section = match_sec.group(1) # remember name ... - if '__order__' not in self.data[part]: self.data[part]['__order__'] = [] - self.data[part]['__order__'].append(name_section) # ... and position - self.data[part][name_section] = {'__order__':[]} - continue - - if sections == [] or name_section in sections: # possibly restrict to subset - items = line.split() - if items[0] not in self.data[part][name_section]: # first encounter of key? - self.data[part][name_section][items[0]] = [] # create item - self.data[part][name_section]['__order__'].append(items[0]) - if items[0].startswith('(') and items[0].endswith(')'): # multiple "(key)" - self.data[part][name_section][items[0]].append(items[1:]) - else: # plain key - self.data[part][name_section][items[0]] = items[1:] - - - - def read(self,filename=None): - """Read material.config file.""" - def recursiveRead(filename): - """Takes care of include statements like '{}'.""" - result = [] - re_include = re.compile(r'^{(.+)}$') - with open(filename) as f: lines = f.readlines() - for line in lines: - match = re_include.match(line.split()[0]) if line.strip() else False - result += [line] if not match else \ - recursiveRead(match.group(1) if match.group(1).startswith('/') else - os.path.normpath(os.path.join(os.path.dirname(filename),match.group(1)))) - return result - - c = recursiveRead(filename) - for p in self.parts: - self.parse(part=p, content=c) - - def write(self,filename='material.config', overwrite=False): - """Write to material.config.""" - i = 0 - outname = filename - while os.path.exists(outname) and not overwrite: - i += 1 - outname = f'{filename}_{i}' - - if self.verbose: print(f'Writing material data to {outname}') - with open(outname,'w') as f: - f.write(str(self)) - return outname - - def add_section(self, part=None, section=None, initialData=None, merge=False): - """Add Update.""" - part = part.lower() - section = section.lower() - if part not in self.parts: raise Exception(f'invalid part {part}') - - if not isinstance(initialData, dict): - initialData = initialData.data() - - if section not in self.data[part]: self.data[part]['__order__'] += [section] - if section in self.data[part] and merge: - for existing in self.data[part][section]['__order__']: # replace existing - if existing in initialData['__order__']: - if existing.startswith('(') and existing.endswith(')'): # multiple (key) - self.data[part][section][existing] += initialData[existing] # add new multiple entries to existing ones - else: # regular key - self.data[part][section][existing] = initialData[existing] # plain replice - for new in initialData['__order__']: # merge new content - if new not in self.data[part][section]['__order__']: - self.data[part][section][new] = initialData[new] - self.data[part][section]['__order__'] += [new] - else: - self.data[part][section] = initialData - - - - - def add_microstructure(self, section='', - components={}, # dict of phase,texture, and fraction lists - ): - """Experimental! Needs expansion to multi-constituent microstructures...""" - microstructure = Microstructure() - # make keys lower case (http://stackoverflow.com/questions/764235/dictionary-to-lowercase-in-python) - components=dict((k.lower(), v) for k,v in components.items()) - - for key in ['phase','texture','fraction','crystallite']: - if isinstance(components[key], list): - for i, x in enumerate(components[key]): - try: - components[key][i] = x.lower() - except AttributeError: - pass - else: - try: - components[key] = [components[key].lower()] - except AttributeError: - components[key] = [components[key]] - - for (phase,texture,fraction,crystallite) in zip(components['phase'],components['texture'], - components['fraction'],components['crystallite']): - microstructure.add_multiKey('constituent','phase %i\ttexture %i\tfraction %g\ncrystallite %i'%( - self.data['phase']['__order__'].index(phase)+1, - self.data['texture']['__order__'].index(texture)+1, - fraction, - self.data['crystallite']['__order__'].index(crystallite)+1)) - - self.add_section('microstructure',section,microstructure) - - - def change_value(self, part=None, - section=None, - key=None, - value=None): - if not isinstance(value,list): - if not isinstance(value,str): - value = '%s'%value - value = [value] - newlen = len(value) - oldval = self.data[part.lower()][section.lower()][key.lower()] - oldlen = len(oldval) - print('changing %s:%s:%s from %s to %s '%(part.lower(),section.lower(),key.lower(),oldval,value)) - self.data[part.lower()][section.lower()][key.lower()] = value - if newlen is not oldlen: - print('Length of value was changed from %i to %i!'%(oldlen,newlen)) - - - def add_value(self, part=None, - section=None, - key=None, - value=None): - if not isinstance(value,list): - if not isinstance(value,str): - value = '%s'%value - value = [value] - print('adding %s:%s:%s with value %s '%(part.lower(),section.lower(),key.lower(),value)) - self.data[part.lower()][section.lower()][key.lower()] = value - self.data[part.lower()][section.lower()]['__order__'] += [key.lower()] From a814db5b643c016c5936e5497c6180913591bd3c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 23 Aug 2020 19:31:30 +0200 Subject: [PATCH 472/958] PRIVATE: Master includes yaml changes --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 8d7f2b665..4715b68a1 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 8d7f2b665cfee7fbafb387201558bd27c54b2abb +Subproject commit 4715b68a1b55d8f18fe6b405e312785489d9c9d0 From a1c78b778a1bed0faf40dd8078a05a2deeb77e21 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 23 Aug 2020 23:22:53 +0200 Subject: [PATCH 473/958] WIP: track history in VTK objects --- python/damask/_vtk.py | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 00aa2f4e9..d12e80e32 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -232,6 +232,33 @@ class VTK: raise TypeError + def get_comments(self): + """Return the comments.""" + fielddata = self.geom.GetFieldData() + for a in range(fielddata.GetNumberOfArrays()): + if fielddata.GetArrayName(a) == 'comments': + comments = fielddata.GetAbstractArray(a) + return [comments.GetValue(i) for i in range(comments.GetNumberOfValues())] + return [] + + + def set_comments(self,comments): + """ + Add Comments. + + Parameters + ---------- + comments : str or list of str + Comments to add + + """ + s = vtk.vtkStringArray() + s.SetName('comments') + for c in [comments] if isinstance(comments,str) else comments: + s.InsertNextValue(c) + self.geom.GetFieldData().AddArray(s) + + def __repr__(self): """ASCII representation of the VTK data.""" writer = vtk.vtkDataSetWriter() @@ -240,7 +267,10 @@ class VTK: writer.SetInputData(self.geom) writer.Write() return writer.GetOutputString() - + celldata = g.GetCellData() + for a in range(celldata.GetNumberOfArrays()): + if celldata.GetArrayName(a) == 'materialpoint': + materialpoint = vtk_to_np(celldata.GetArray(a)) def show(self): """ From 9867830d684921502f734765aa7f8d0c5340fd67 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 23 Aug 2020 23:23:23 +0200 Subject: [PATCH 474/958] store history of geometry modifications --- python/damask/_geom.py | 20 +++++++++++++++----- python/damask/util.py | 8 ++++++++ 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 571ae12eb..8039a0038 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -1,7 +1,8 @@ import sys import copy -from io import StringIO +import inspect import multiprocessing +from io import StringIO from functools import partial import numpy as np @@ -416,8 +417,8 @@ class Geom: else: microstructure = microstructure.reshape(grid) - #ToDo: comments = 'geom.py:from_Laguerre_tessellation v{}'.format(version) - return Geom(microstructure+1,size,homogenization=1) + creator = util.edit_info('damask.Result.'+inspect.stack()[0][3]) + return Geom(microstructure+1,size,homogenization=1,comments=creator) @staticmethod @@ -441,8 +442,8 @@ class Geom: KDTree = spatial.cKDTree(seeds,boxsize=size) if periodic else spatial.cKDTree(seeds) devNull,microstructure = KDTree.query(coords) - #ToDo: comments = 'geom.py:from_Voronoi_tessellation v{}'.format(version) - return Geom(microstructure.reshape(grid)+1,size,homogenization=1) + creator = util.edit_info('damask.Result.'+inspect.stack()[0][3]) + return Geom(microstructure.reshape(grid)+1,size,homogenization=1,comments=creator) def to_file(self,fname,pack=None): @@ -588,6 +589,7 @@ class Geom: fill_ = np.full_like(self.microstructure,np.nanmax(self.microstructure)+1 if fill is None else fill) ms = np.ma.MaskedArray(fill_,np.logical_not(mask) if inverse else mask) + self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) return self.update(ms) @@ -618,6 +620,7 @@ class Geom: if 'x' in directions: ms = np.concatenate([ms,ms[limits[0]:limits[1]:-1,:,:]],0) + self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) return self.update(ms,rescale=True) @@ -633,6 +636,7 @@ class Geom: Assume geometry to be periodic. Defaults to True. """ + self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) return self.update( ndimage.interpolation.zoom( self.microstructure, @@ -667,6 +671,7 @@ class Geom: else: return me + self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) return self.update(ndimage.filters.generic_filter( self.microstructure, mostFrequent, @@ -683,6 +688,7 @@ class Geom: for i, oldID in enumerate(np.unique(self.microstructure)): renumbered = np.where(self.microstructure == oldID, i+1, renumbered) + self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) return self.update(renumbered) @@ -717,6 +723,7 @@ class Geom: origin = self.origin-(np.asarray(microstructure_in.shape)-self.grid)*.5 * self.size/self.grid + self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) return self.update(microstructure_in,origin=origin,rescale=True) @@ -749,6 +756,7 @@ class Geom: canvas[ll[0]:ur[0],ll[1]:ur[1],ll[2]:ur[2]] = self.microstructure[LL[0]:UR[0],LL[1]:UR[1],LL[2]:UR[2]] + self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) return self.update(canvas,origin=self.origin+offset*self.size/self.grid,rescale=True) @@ -768,6 +776,7 @@ class Geom: for from_ms,to_ms in zip(from_microstructure,to_microstructure): substituted[self.microstructure==from_ms] = to_ms + self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) return self.update(substituted) @@ -813,4 +822,5 @@ class Geom: extra_keywords={'trigger':trigger}) microstructure = np.ma.MaskedArray(self.microstructure + offset_, np.logical_not(mask)) + self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) return self.update(microstructure) diff --git a/python/damask/util.py b/python/damask/util.py index 733fd0010..f83fc4c62 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -9,6 +9,8 @@ from optparse import Option import numpy as np +import damask + # limit visibility __all__=[ 'srepr', @@ -20,6 +22,7 @@ __all__=[ 'scale_to_coprime', 'return_message', 'extendableOption', + 'edit_info' ] #################################################################################################### @@ -175,6 +178,11 @@ def scale_to_coprime(v): return m +def edit_info(who): + now = datetime.datetime.now().astimezone().strftime('%Y-%m-%d %H:%M:%S%z') + return f'{who} v{damask.version} ({now})' + + #################################################################################################### # Classes #################################################################################################### From c7cbd961a1e771bd6b925f4a3e7d5a000dd3d767 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 00:31:38 +0200 Subject: [PATCH 475/958] more systematic monkeypatching allows comparison of reference files (log/history does not contain information about damask.version and datetime.datetime.now) --- python/tests/conftest.py | 26 ++++++++++++++++++++++---- python/tests/test_Colormap.py | 8 +++++--- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/python/tests/conftest.py b/python/tests/conftest.py index 87aa9a363..a6f6e62ad 100644 --- a/python/tests/conftest.py +++ b/python/tests/conftest.py @@ -1,11 +1,29 @@ from pathlib import Path +import datetime + import numpy as np - import pytest +from _pytest.monkeypatch import MonkeyPatch -# Use to monkeypatch damask.version (for comparsion to reference files that contain version information) -def pytest_configure(): - pytest.dummy_version = '99.99.99-9999-pytest' +import damask + + +patched_version = '99.99.99-9999-pytest' +@pytest.fixture +def patch_damask_version(monkeysession): + """Set damask.version for reproducible tests results.""" + monkeysession.setattr(damask, 'version', patched_version) + +patched_date = datetime.datetime(2019, 11, 2, 11, 58, 0) +@pytest.fixture +def patch_datetime_now(monkeysession): + """Set datetime.datetime.now for reproducible tests results.""" + class mydatetime: + @classmethod + def now(cls): + return patched_date + + monkeysession.setattr(datetime, 'datetime', mydatetime) def pytest_addoption(parser): diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index b3309f12b..4fe0cc9fb 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -17,6 +17,10 @@ def reference_dir(reference_dir_base): class TestColormap: + @pytest.fixture(autouse=True) + def _patch_damask_version(self, patch_damask_version): + print('patched damask.version') + def test_conversion(self): specials = np.array([[0.,0.,0.], @@ -29,7 +33,6 @@ class TestColormap: [1.,1.,1.] ]) rgbs = np.vstack((specials,np.random.rand(100,3))) - pass # class not integrated for rgb in rgbs: print('rgb',rgb) @@ -150,8 +153,7 @@ class TestColormap: ('GOM','.legend'), ('Gmsh','.msh') ]) - def test_compare_reference(self,format,ext,tmpdir,reference_dir,update,monkeypatch): - monkeypatch.setattr(damask, 'version', pytest.dummy_version) + def test_compare_reference(self,format,ext,tmpdir,reference_dir,update): name = 'binary' c = Colormap.from_predefined(name) if update: From 44015082a3b4d3302964ac081a8aebba25473fab Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 00:34:07 +0200 Subject: [PATCH 476/958] dead code (copy and paste error) --- python/damask/_vtk.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index d12e80e32..22621ceaa 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -267,10 +267,7 @@ class VTK: writer.SetInputData(self.geom) writer.Write() return writer.GetOutputString() - celldata = g.GetCellData() - for a in range(celldata.GetNumberOfArrays()): - if celldata.GetArrayName(a) == 'materialpoint': - materialpoint = vtk_to_np(celldata.GetArray(a)) + def show(self): """ From 22da3af92eb4f2fa81d2ae0c2073c44b8bb26138 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 00:42:58 +0200 Subject: [PATCH 477/958] cleaning (prospector complaint) --- python/tests/conftest.py | 10 +++++----- python/tests/test_Colormap.py | 2 -- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/python/tests/conftest.py b/python/tests/conftest.py index a6f6e62ad..2912373a5 100644 --- a/python/tests/conftest.py +++ b/python/tests/conftest.py @@ -3,27 +3,27 @@ import datetime import numpy as np import pytest -from _pytest.monkeypatch import MonkeyPatch import damask patched_version = '99.99.99-9999-pytest' @pytest.fixture -def patch_damask_version(monkeysession): +def patch_damask_version(monkeypatch): """Set damask.version for reproducible tests results.""" - monkeysession.setattr(damask, 'version', patched_version) + monkeypatch.setattr(damask, 'version', patched_version) + patched_date = datetime.datetime(2019, 11, 2, 11, 58, 0) @pytest.fixture -def patch_datetime_now(monkeysession): +def patch_datetime_now(monkeypatch): """Set datetime.datetime.now for reproducible tests results.""" class mydatetime: @classmethod def now(cls): return patched_date - monkeysession.setattr(datetime, 'datetime', mydatetime) + monkeypatch.setattr(datetime, 'datetime', mydatetime) def pytest_addoption(parser): diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index 4fe0cc9fb..d3f5e45c8 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -7,7 +7,6 @@ import pytest from PIL import Image from PIL import ImageChops -import damask from damask import Colormap @pytest.fixture @@ -22,7 +21,6 @@ class TestColormap: print('patched damask.version') def test_conversion(self): - specials = np.array([[0.,0.,0.], [1.,0.,0.], [0.,1.,0.], From 446ac03b072117ec8979973027df0667206084ed Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sun, 23 Aug 2020 18:46:01 -0400 Subject: [PATCH 478/958] All geom methods are now out-of-place, i.e. return an updated duplicate (to allow for daisy chaining). * Added comments when methods acted. * Added diff method * Added flip method * Fixed add_primitive inversion bug (again...) * Fixed cell centering bug in add_primitive * Added missing tests --- python/damask/_geom.py | 255 ++++++++++++++++++++++++++++---------- python/tests/test_Geom.py | 124 ++++++++++-------- 2 files changed, 263 insertions(+), 116 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 0f1c35e42..c4bbbbdef 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -7,6 +7,7 @@ from functools import partial import numpy as np from scipy import ndimage,spatial +from . import version from . import environment from . import Rotation from . import VTK @@ -24,15 +25,15 @@ class Geom: Parameters ---------- microstructure : numpy.ndarray - microstructure array (3D) + Microstructure array (3D) size : list or numpy.ndarray - physical size of the microstructure in meter. + Physical size of the microstructure in meter. origin : list or numpy.ndarray, optional - physical origin of the microstructure in meter. + Physical origin of the microstructure in meter. homogenization : int, optional - homogenization index. + Homogenization index. comments : list of str, optional - comments lines. + Comment lines. """ self.set_microstructure(microstructure) @@ -50,7 +51,7 @@ class Geom: f'origin x y z: {util.srepr(self.get_origin()," ")}', f'# microstructures: {self.N_microstructure}', f'max microstructure: {np.nanmax(self.microstructure)}', - ]) + ]+self.get_comments()) def __copy__(self): @@ -63,20 +64,57 @@ class Geom: return self.__copy__() - def update(self,microstructure=None,size=None,origin=None,rescale=False): + def duplicate(self,microstructure=None,size=None,origin=None,comments=None,autosize=False): + """ + Create a duplicate having updated microstructure, size, and origin. + + Parameters + ---------- + microstructure : numpy.ndarray, optional + Microstructure array (3D). + size : list or numpy.ndarray, optional + Physical size of the microstructure in meter. + origin : list or numpy.ndarray, optional + Physical origin of the microstructure in meter. + comments : list of str, optional + Comment lines. + autosize : bool, optional + Ignore size parameter and rescale according to change of grid points. + + """ + if size is not None and autosize: + raise ValueError('Auto sizing conflicts with explicit size parameter.') + + grid_old = self.get_grid() + dup = self.copy() + dup.set_microstructure(microstructure) + dup.set_origin(origin) + + if comments is not None: + dup.set_comments(comments) + + if size is not None: + dup.set_size(size) + elif autosize: + dup.set_size(dup.get_grid()/grid_old*self.get_size()) + + return dup + + + def update(self,microstructure=None,size=None,origin=None,autosize=False): """ Update microstructure and size. Parameters ---------- microstructure : numpy.ndarray, optional - microstructure array (3D). + Microstructure array (3D). size : list or numpy.ndarray, optional - physical size of the microstructure in meter. + Physical size of the microstructure in meter. origin : list or numpy.ndarray, optional - physical origin of the microstructure in meter. - rescale : bool, optional - ignore size parameter and rescale according to change of grid points. + Physical origin of the microstructure in meter. + autosize : bool, optional + Ignore size parameter and rescale according to change of grid points. """ grid_old = self.get_grid() @@ -85,15 +123,15 @@ class Geom: unique_old = self.N_microstructure max_old = np.nanmax(self.microstructure) - if size is not None and rescale: - raise ValueError('Either set size explicitly or rescale automatically') + if size is not None and autosize: + raise ValueError('Auto sizing conflicts with explicit size parameter.') self.set_microstructure(microstructure) self.set_origin(origin) if size is not None: self.set_size(size) - elif rescale: + elif autosize: self.set_size(self.get_grid()/grid_old*self.size) message = [f'grid a b c: {util.srepr(grid_old," x ")}'] @@ -124,6 +162,40 @@ class Geom: return util.return_message(message) + def diff(self,other): + """ + Report property differences of self relative to other. + + Parameters + ---------- + other : Geom + Geometry to compare self against. + + """ + message = [] + if np.any(other.get_grid() != self.get_grid()): + message.append(util.delete(f'grid a b c: {util.srepr(other.get_grid()," x ")}')) + message.append(util.emph( f'grid a b c: {util.srepr( self.get_grid()," x ")}')) + + if np.any(other.get_size() != self.get_size()): + message.append(util.delete(f'size x y z: {util.srepr(other.get_size()," x ")}')) + message.append(util.emph( f'size x y z: {util.srepr( self.get_size()," x ")}')) + + if np.any(other.get_origin() != self.get_origin()): + message.append(util.delete(f'origin x y z: {util.srepr(other.get_origin()," ")}')) + message.append(util.emph( f'origin x y z: {util.srepr( self.get_origin()," ")}')) + + if other.N_microstructure != self.N_microstructure: + message.append(util.delete(f'# microstructures: {other.N_microstructure}')) + message.append(util.emph( f'# microstructures: { self.N_microstructure}')) + + if np.nanmax(other.microstructure) != np.nanmax(self.microstructure): + message.append(util.delete(f'max microstructure: {np.nanmax(other.microstructure)}')) + message.append(util.emph( f'max microstructure: {np.nanmax( self.microstructure)}')) + + return util.return_message(message) + + def set_comments(self,comments): """ Replace all existing comments. @@ -131,7 +203,7 @@ class Geom: Parameters ---------- comments : list of str - new comments. + All comments. """ self.comments = [] @@ -145,7 +217,7 @@ class Geom: Parameters ---------- comments : list of str - new comments. + New comments. """ self.comments += [str(c) for c in comments] if isinstance(comments,list) else [str(comments)] @@ -172,6 +244,10 @@ class Geom: else: self.microstructure = np.copy(microstructure) + if self.microstructure.dtype == float and \ + np.all(self.microstructure == self.microstructure.astype(int).astype(float)): + self.microstructure = self.microstructure.astype(int) + if len(self.microstructure.shape) != 3: raise ValueError(f'Invalid microstructure shape {microstructure.shape}') elif self.microstructure.dtype not in np.sctypes['float'] + np.sctypes['int']: @@ -185,7 +261,7 @@ class Geom: Parameters ---------- size : list or numpy.ndarray - physical size of the microstructure in meter. + Physical size of the microstructure in meter. """ if size is None: @@ -205,7 +281,7 @@ class Geom: Parameters ---------- origin : list or numpy.ndarray - physical origin of the microstructure in meter + Physical origin of the microstructure in meter. """ if origin is not None: @@ -222,12 +298,12 @@ class Geom: Parameters ---------- homogenization : int - homogenization index + Homogenization index. """ if homogenization is not None: if not isinstance(homogenization,int) or homogenization < 1: - raise TypeError(f'Invalid homogenization {homogenization}') + raise TypeError(f'Invalid homogenization {homogenization}.') else: self.homogenization = homogenization @@ -419,8 +495,11 @@ class Geom: else: microstructure = microstructure.reshape(grid) - #ToDo: comments = 'geom.py:from_Laguerre_tessellation v{}'.format(version) - return Geom(microstructure+1,size,homogenization=1) + return Geom(microstructure+1, + size, + homogenization=1, + comments=f'geom.py:from_Laguerre_tessellation v{version}', + ) @staticmethod @@ -444,8 +523,11 @@ class Geom: KDTree = spatial.cKDTree(seeds,boxsize=size) if periodic else spatial.cKDTree(seeds) devNull,microstructure = KDTree.query(coords) - #ToDo: comments = 'geom.py:from_Voronoi_tessellation v{}'.format(version) - return Geom(microstructure.reshape(grid)+1,size,homogenization=1) + return Geom(microstructure.reshape(grid)+1, + size, + homogenization=1, + comments=f'geom.py:from_Voronoi_tessellation v{version}', + ) def to_file(self,fname,pack=None): @@ -535,7 +617,7 @@ class Geom: def show(self): """Show raw content (as in file).""" - f=StringIO() + f = StringIO() self.to_file(f) f.seek(0) return ''.join(f.readlines()) @@ -565,10 +647,10 @@ class Geom: R : damask.Rotation, optional Rotation of primitive. Defaults to no rotation. inverse : Boolean, optional - Retain original microstructure within primitive and fill - outside. Defaults to False. + Retain original microstructure within primitive and fill outside. + Defaults to False. periodic : Boolean, optional - Repeat primitive over boundaries. Defaults to False. + Repeat primitive over boundaries. Defaults to True. """ # normalized 'radius' and center @@ -578,11 +660,11 @@ class Geom: (np.array(center) - self.origin)/self.size coords = grid_filters.cell_coord0(self.grid,np.ones(3)) \ - - (np.ones(3)*0.5 if periodic else c) # center if periodic + - ((np.ones(3)-(1./self.grid if np.array(center).dtype in np.sctypes['int'] else 0))*0.5 if periodic else c) # periodic center is always at CoG coords_rot = R.broadcast_to(tuple(self.grid))@coords with np.errstate(over='ignore',under='ignore'): - mask = np.where(np.sum(np.abs(coords_rot/r)**(2.0**exponent),axis=-1) < 1,True,False) + mask = np.where(np.sum(np.abs(coords_rot/r)**(2.0**exponent),axis=-1) <= 1.0,False,True) if periodic: # translate back to center mask = np.roll(mask,((c-np.ones(3)*.5)*self.grid).astype(int),(0,1,2)) @@ -590,7 +672,9 @@ class Geom: fill_ = np.full_like(self.microstructure,np.nanmax(self.microstructure)+1 if fill is None else fill) ms = np.ma.MaskedArray(fill_,np.logical_not(mask) if inverse else mask) - return self.update(ms) + return self.duplicate(ms, + comments=self.get_comments()+[f'geom.py:add_primitive v{version}'], + ) def mirror(self,directions,reflect=False): @@ -622,8 +706,41 @@ class Geom: if 'x' in directions: ms = np.concatenate([ms,ms[limits[0]:limits[1]:-1,:,:]],0) - #ToDo: self.add_comments('geom.py:mirror v{}'.format(version) - return self.update(ms,rescale=True) + return self.duplicate(ms, + comments=self.get_comments()+[f'geom.py:mirror {set(directions)} v{version}'], + autosize=True) + + + def flip(self,directions): + """ + Flip microstructure along given directions. + + Parameters + ---------- + directions : iterable containing str + Direction(s) along which the microstructure is flipped. + Valid entries are 'x', 'y', 'z'. + + """ + valid = {'x','y','z'} + if not all(isinstance(d, str) for d in directions): + raise TypeError('Directions are not of type str.') + elif not set(directions).issubset(valid): + raise ValueError(f'Invalid direction {set(directions).difference(valid)} specified.') + + limits = [None,None] + ms = self.get_microstructure() + + if 'z' in directions: + ms = ms[:,:,limits[0]:limits[1]:-1] + if 'y' in directions: + ms = ms[:,limits[0]:limits[1]:-1,:] + if 'x' in directions: + ms = ms[limits[0]:limits[1]:-1,:,:] + + return self.duplicate(ms, + comments=self.get_comments()+[f'geom.py:flip {set(directions)} v{version}'], + ) def scale(self,grid): @@ -636,17 +753,16 @@ class Geom: Number of grid points in x,y,z direction. """ - #ToDo: self.add_comments('geom.py:scale v{}'.format(version) - return self.update( - ndimage.interpolation.zoom( - self.microstructure, - grid/self.get_grid(), - output=self.microstructure.dtype, - order=0, - mode='nearest', - prefilter=False - ) - ) + return self.duplicate(ndimage.interpolation.zoom( + self.microstructure, + grid/self.get_grid(), + output=self.microstructure.dtype, + order=0, + mode='nearest', + prefilter=False + ), + comments=self.get_comments()+[f'geom.py:scale {grid} v{version}'], + ) def clean(self,stencil=3,mode='nearest',selection=None): @@ -672,15 +788,15 @@ class Geom: else: return me - #ToDo: self.add_comments('geom.py:clean v{}'.format(version) - return self.update(ndimage.filters.generic_filter( - self.microstructure, - mostFrequent, - size=(stencil if selection is None else stencil//2*2+1,)*3, - mode=mode, - extra_keywords=dict(selection=selection), - ).astype(self.microstructure.dtype) - ) + return self.duplicate(ndimage.filters.generic_filter( + self.microstructure, + mostFrequent, + size=(stencil if selection is None else stencil//2*2+1,)*3, + mode=mode, + extra_keywords=dict(selection=selection), + ).astype(self.microstructure.dtype), + comments=self.get_comments()+[f'geom.py:clean {stencil} {mode} v{version}'], + ) def renumber(self): @@ -689,8 +805,9 @@ class Geom: for i, oldID in enumerate(np.unique(self.microstructure)): renumbered = np.where(self.microstructure == oldID, i+1, renumbered) - #ToDo: self.add_comments('geom.py:renumber v{}'.format(version) - return self.update(renumbered) + return self.duplicate(renumbered, + comments=self.get_comments()+[f'geom.py:renumber v{version}'], + ) def rotate(self,R,fill=None): @@ -724,8 +841,11 @@ class Geom: origin = self.origin-(np.asarray(microstructure_in.shape)-self.grid)*.5 * self.size/self.grid - #ToDo: self.add_comments('geom.py:rotate v{}'.format(version) - return self.update(microstructure_in,origin=origin,rescale=True) + return self.duplicate(microstructure_in, + origin=origin, + comments=self.get_comments()+[f'geom.py:rotate {R.as_quaternion()} v{version}'], + autosize=True, + ) def canvas(self,grid=None,offset=None,fill=None): @@ -757,8 +877,11 @@ class Geom: canvas[ll[0]:ur[0],ll[1]:ur[1],ll[2]:ur[2]] = self.microstructure[LL[0]:UR[0],LL[1]:UR[1],LL[2]:UR[2]] - #ToDo: self.add_comments('geom.py:canvas v{}'.format(version) - return self.update(canvas,origin=self.origin+offset*self.size/self.grid,rescale=True) + return self.duplicate(canvas, + origin=self.origin+offset*self.size/self.grid, + comments=self.get_comments()+[f'geom.py:canvas {grid} {offset} {fill} v{version}'], + autosize=True, + ) def substitute(self,from_microstructure,to_microstructure): @@ -777,8 +900,9 @@ class Geom: for from_ms,to_ms in zip(from_microstructure,to_microstructure): substituted[self.microstructure==from_ms] = to_ms - #ToDo: self.add_comments('geom.py:substitute v{}'.format(version) - return self.update(substituted) + return self.duplicate(substituted, + comments=self.get_comments()+[f'geom.py:substitute v{version}'], + ) def vicinity_offset(self,vicinity=1,offset=None,trigger=[],periodic=True): @@ -819,9 +943,10 @@ class Geom: mask = ndimage.filters.generic_filter(self.microstructure, tainted_neighborhood, size=1+2*vicinity, - mode=('wrap' if periodic else 'nearest'), + mode='wrap' if periodic else 'nearest', extra_keywords={'trigger':trigger}) microstructure = np.ma.MaskedArray(self.microstructure + offset_, np.logical_not(mask)) - #ToDo: self.add_comments('geom.py:vicinity_offset v{}'.format(version) - return self.update(microstructure) + return self.duplicate(microstructure, + comments=self.get_comments()+[f'geom.py:vicinity_offset {vicinity} v{version}'], + ) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 4fb1ae00a..e568b4a53 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -28,6 +28,19 @@ def reference_dir(reference_dir_base): class TestGeom: + @pytest.mark.parametrize('flavor',['plain','explicit']) + def test_duplicate(self,default,flavor): + if flavor == 'plain': + modified = default.duplicate() + elif flavor == 'explicit': + modified = default.duplicate( + default.get_microstructure(), + default.get_size(), + default.get_origin() + ) + print(modified) + assert geom_equal(default,modified) + def test_update(self,default): modified = default.copy() modified.update( @@ -36,7 +49,7 @@ class TestGeom: default.get_origin() ) print(modified) - assert geom_equal(modified,default) + assert geom_equal(default,modified) @pytest.mark.parametrize('masked',[True,False]) def test_set_microstructure(self,default,masked): @@ -47,36 +60,38 @@ class TestGeom: def test_write_read_str(self,default,tmpdir): - default.to_file(str(tmpdir.join('default.geom'))) - new = Geom.from_file(str(tmpdir.join('default.geom'))) - assert geom_equal(new,default) + default.to_file(tmpdir/'default.geom') + new = Geom.from_file(tmpdir/'default.geom') + assert geom_equal(default,new) def test_write_read_file(self,default,tmpdir): - with open(tmpdir.join('default.geom'),'w') as f: + with open(tmpdir/'default.geom','w') as f: default.to_file(f) - with open(tmpdir.join('default.geom')) as f: + with open(tmpdir/'default.geom') as f: new = Geom.from_file(f) - assert geom_equal(new,default) + assert geom_equal(default,new) def test_write_show(self,default,tmpdir): - with open(tmpdir.join('str.geom'),'w') as f: + with open(tmpdir/'str.geom','w') as f: f.write(default.show()) - with open(tmpdir.join('str.geom')) as f: + with open(tmpdir/'str.geom') as f: new = Geom.from_file(f) - assert geom_equal(new,default) + assert geom_equal(default,new) + + def test_export_import_vtk(self,default,tmpdir): + default.to_vtk(tmpdir/'default') + assert geom_equal(default,Geom.from_vtk(tmpdir/'default.vtr')) - def test_export_vtk(self,default,tmpdir): - default.to_vtk(str(tmpdir.join('default'))) @pytest.mark.parametrize('pack',[True,False]) def test_pack(self,default,tmpdir,pack): - default.to_file(tmpdir.join('default.geom'),pack=pack) - new = Geom.from_file(tmpdir.join('default.geom')) + default.to_file(tmpdir/'default.geom',pack=pack) + new = Geom.from_file(tmpdir/'default.geom') assert geom_equal(new,default) def test_invalid_combination(self,default): with pytest.raises(ValueError): - default.update(default.microstructure[1:,1:,1:],size=np.ones(3), rescale=True) + default.update(default.microstructure[1:,1:,1:],size=np.ones(3), autosize=True) def test_invalid_size(self,default): with pytest.raises(ValueError): @@ -108,21 +123,36 @@ class TestGeom: ] ) def test_mirror(self,default,update,reference_dir,directions,reflect): - modified = default.copy() - modified.mirror(directions,reflect) + modified = default.mirror(directions,reflect) tag = f'directions={"-".join(directions)}_reflect={reflect}' reference = reference_dir/f'mirror_{tag}.geom' if update: modified.to_file(reference) - assert geom_equal(modified,Geom.from_file(reference)) + assert geom_equal(Geom.from_file(reference), + modified) + + @pytest.mark.parametrize('directions',[ + ['x'], + ['x','y','z'], + ['z','x','y'], + ['y','z'], + ] + ) + def test_flip(self,default,update,reference_dir,directions): + modified = default.flip(directions) + tag = f'directions={"-".join(directions)}' + reference = reference_dir/f'flip_{tag}.geom' + if update: modified.to_file(reference) + assert geom_equal(Geom.from_file(reference), + modified) @pytest.mark.parametrize('stencil',[1,2,3,4]) def test_clean(self,default,update,reference_dir,stencil): - modified = default.copy() - modified.clean(stencil) + modified = default.clean(stencil) tag = f'stencil={stencil}' reference = reference_dir/f'clean_{tag}.geom' if update: modified.to_file(reference) - assert geom_equal(modified,Geom.from_file(reference)) + assert geom_equal(Geom.from_file(reference), + modified) @pytest.mark.parametrize('grid',[ (10,11,10), @@ -134,33 +164,29 @@ class TestGeom: ] ) def test_scale(self,default,update,reference_dir,grid): - modified = default.copy() - modified.scale(grid) + modified = default.scale(grid) tag = f'grid={util.srepr(grid,"-")}' reference = reference_dir/f'scale_{tag}.geom' if update: modified.to_file(reference) - assert geom_equal(modified,Geom.from_file(reference)) + assert geom_equal(Geom.from_file(reference), + modified) def test_renumber(self,default): - modified = default.copy() - microstructure = modified.get_microstructure() + microstructure = default.get_microstructure() for m in np.unique(microstructure): microstructure[microstructure==m] = microstructure.max() + np.random.randint(1,30) - modified.update(microstructure) + modified = default.duplicate(microstructure) assert not geom_equal(modified,default) - modified.renumber() - assert geom_equal(modified,default) + assert geom_equal(default, + modified.renumber()) def test_substitute(self,default): - modified = default.copy() - microstructure = modified.get_microstructure() offset = np.random.randint(1,500) - microstructure += offset - modified.update(microstructure) + modified = default.duplicate(default.get_microstructure() + offset) assert not geom_equal(modified,default) - modified.substitute(np.arange(default.microstructure.max())+1+offset, - np.arange(default.microstructure.max())+1) - assert geom_equal(modified,default) + assert geom_equal(default, + modified.substitute(np.arange(default.microstructure.max())+1+offset, + np.arange(default.microstructure.max())+1)) @pytest.mark.parametrize('axis_angle',[np.array([1,0,0,86.7]), np.array([0,1,0,90.4]), np.array([0,0,1,90]), np.array([1,0,0,175]),np.array([0,-1,0,178]),np.array([0,0,1,180])]) @@ -168,38 +194,35 @@ class TestGeom: modified = default.copy() for i in range(np.rint(360/axis_angle[3]).astype(int)): modified.rotate(Rotation.from_axis_angle(axis_angle,degrees=True)) - assert geom_equal(modified,default) + assert geom_equal(default,modified) @pytest.mark.parametrize('Eulers',[[32.0,68.0,21.0], [0.0,32.0,240.0]]) def test_rotate(self,default,update,reference_dir,Eulers): - modified = default.copy() - modified.rotate(Rotation.from_Eulers(Eulers,degrees=True)) + modified = default.rotate(Rotation.from_Eulers(Eulers,degrees=True)) tag = f'Eulers={util.srepr(Eulers,"-")}' reference = reference_dir/f'rotate_{tag}.geom' if update: modified.to_file(reference) - assert geom_equal(modified,Geom.from_file(reference)) + assert geom_equal(Geom.from_file(reference), + modified) def test_canvas(self,default): + grid = default.grid grid_add = np.random.randint(0,30,(3)) - modified = default.copy() - modified.canvas(modified.grid + grid_add) - e = default.grid - assert np.all(modified.microstructure[:e[0],:e[1],:e[2]] == default.microstructure) + modified = default.canvas(grid + grid_add) + assert np.all(modified.microstructure[:grid[0],:grid[1],:grid[2]] == default.microstructure) @pytest.mark.parametrize('center1,center2',[(np.random.random(3)*.5,np.random.random(3)), (np.random.randint(4,8,(3)),np.random.randint(9,12,(3)))]) @pytest.mark.parametrize('diameter',[np.random.random(3)*.5, - np.random.randint(4,10,(3))]) + np.random.randint(4,10,(3))]) def test_add_primitive(self,diameter,center1,center2): """Same volume fraction for periodic microstructures and different center.""" o = np.random.random(3)-.5 g = np.random.randint(8,32,(3)) s = np.random.random(3)+.5 - G_1 = Geom(np.ones(g,'i'),s,o) - G_2 = Geom(np.ones(g,'i'),s,o) - G_1.add_primitive(diameter,center1,1) - G_2.add_primitive(diameter,center2,1) + G_1 = Geom(np.ones(g,'i'),s,o).add_primitive(diameter,center1,1) + G_2 = Geom(np.ones(g,'i'),s,o).add_primitive(diameter,center2,1) assert np.count_nonzero(G_1.microstructure!=2) == np.count_nonzero(G_2.microstructure!=2) @pytest.mark.parametrize('trigger',[[1],[]]) @@ -218,8 +241,7 @@ class TestGeom: if len(trigger) > 0: m2[m==1] = 1 - geom = Geom(m,np.random.rand(3)) - geom.vicinity_offset(vicinity,offset,trigger=trigger) + geom = Geom(m,np.random.rand(3)).vicinity_offset(vicinity,offset,trigger=trigger) assert np.all(m2==geom.microstructure) From 3738002e4a77ad9c99f99d603e3bc871de231a79 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sun, 23 Aug 2020 22:27:53 -0400 Subject: [PATCH 479/958] forgot the new reference files... --- .../reference/Geom/flip_directions=x-y-z.geom | 25 +++++++++++++++++++ .../reference/Geom/flip_directions=x.geom | 25 +++++++++++++++++++ .../reference/Geom/flip_directions=y-z.geom | 25 +++++++++++++++++++ .../reference/Geom/flip_directions=z-x-y.geom | 25 +++++++++++++++++++ 4 files changed, 100 insertions(+) create mode 100644 python/tests/reference/Geom/flip_directions=x-y-z.geom create mode 100644 python/tests/reference/Geom/flip_directions=x.geom create mode 100644 python/tests/reference/Geom/flip_directions=y-z.geom create mode 100644 python/tests/reference/Geom/flip_directions=z-x-y.geom diff --git a/python/tests/reference/Geom/flip_directions=x-y-z.geom b/python/tests/reference/Geom/flip_directions=x-y-z.geom new file mode 100644 index 000000000..99e55ad7f --- /dev/null +++ b/python/tests/reference/Geom/flip_directions=x-y-z.geom @@ -0,0 +1,25 @@ +4 header +grid a 8 b 5 c 4 +size x 8e-06 y 5e-06 z 4e-06 +origin x 0.0 y 0.0 z 0.0 +homogenization 1 +40 39 38 37 36 35 34 33 +32 31 30 29 28 27 26 25 +24 23 22 21 20 19 18 17 +16 15 14 13 12 11 10 9 + 8 7 6 5 4 3 2 1 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 +41 40 39 38 37 36 35 34 +33 32 31 30 29 28 27 26 +25 24 23 22 21 20 19 18 +17 16 15 14 13 12 11 10 + 9 8 7 6 5 4 3 2 + 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 diff --git a/python/tests/reference/Geom/flip_directions=x.geom b/python/tests/reference/Geom/flip_directions=x.geom new file mode 100644 index 000000000..9d4ee74a9 --- /dev/null +++ b/python/tests/reference/Geom/flip_directions=x.geom @@ -0,0 +1,25 @@ +4 header +grid a 8 b 5 c 4 +size x 8e-06 y 5e-06 z 4e-06 +origin x 0.0 y 0.0 z 0.0 +homogenization 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 1 + 9 8 7 6 5 4 3 2 +17 16 15 14 13 12 11 10 +25 24 23 22 21 20 19 18 +33 32 31 30 29 28 27 26 +41 40 39 38 37 36 35 34 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 8 7 6 5 4 3 2 1 +16 15 14 13 12 11 10 9 +24 23 22 21 20 19 18 17 +32 31 30 29 28 27 26 25 +40 39 38 37 36 35 34 33 diff --git a/python/tests/reference/Geom/flip_directions=y-z.geom b/python/tests/reference/Geom/flip_directions=y-z.geom new file mode 100644 index 000000000..ecd22f902 --- /dev/null +++ b/python/tests/reference/Geom/flip_directions=y-z.geom @@ -0,0 +1,25 @@ +4 header +grid a 8 b 5 c 4 +size x 8e-06 y 5e-06 z 4e-06 +origin x 0.0 y 0.0 z 0.0 +homogenization 1 +33 34 35 36 37 38 39 40 +25 26 27 28 29 30 31 32 +17 18 19 20 21 22 23 24 + 9 10 11 12 13 14 15 16 + 1 2 3 4 5 6 7 8 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 +34 35 36 37 38 39 40 41 +26 27 28 29 30 31 32 33 +18 19 20 21 22 23 24 25 +10 11 12 13 14 15 16 17 + 2 3 4 5 6 7 8 9 + 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 diff --git a/python/tests/reference/Geom/flip_directions=z-x-y.geom b/python/tests/reference/Geom/flip_directions=z-x-y.geom new file mode 100644 index 000000000..99e55ad7f --- /dev/null +++ b/python/tests/reference/Geom/flip_directions=z-x-y.geom @@ -0,0 +1,25 @@ +4 header +grid a 8 b 5 c 4 +size x 8e-06 y 5e-06 z 4e-06 +origin x 0.0 y 0.0 z 0.0 +homogenization 1 +40 39 38 37 36 35 34 33 +32 31 30 29 28 27 26 25 +24 23 22 21 20 19 18 17 +16 15 14 13 12 11 10 9 + 8 7 6 5 4 3 2 1 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 + 2 2 2 2 2 2 2 2 +41 40 39 38 37 36 35 34 +33 32 31 30 29 28 27 26 +25 24 23 22 21 20 19 18 +17 16 15 14 13 12 11 10 + 9 8 7 6 5 4 3 2 + 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 From 507a165733bc351fb9cb1d7bca052100d691199d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 06:40:36 +0200 Subject: [PATCH 480/958] functionality for getting data - handy for Geom class, but could be of general interest - add/set/get comments: follows same functions as for Geom class --- python/damask/_vtk.py | 58 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 55 insertions(+), 3 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 22621ceaa..52dd52754 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -6,6 +6,7 @@ import numpy as np import vtk from vtk.util.numpy_support import numpy_to_vtk as np_to_vtk from vtk.util.numpy_support import numpy_to_vtkIdTypeArray as np_to_vtkIdTypeArray +from vtk.util.numpy_support import vtk_to_numpy as vtk_to_np import damask from . import Table @@ -204,7 +205,18 @@ class VTK: # Check https://blog.kitware.com/ghost-and-blanking-visibility-changes/ for missing data # Needs support for pd.DataFrame and/or table def add(self,data,label=None): - """Add data to either cells or points.""" + """ + Add data to either cells or points. + + Parameters + ---------- + data : numpy.ndarray + Data to add. First dimension need to match either + number of cells or number of points + label : str + Data label. + + """ N_points = self.geom.GetNumberOfPoints() N_cells = self.geom.GetNumberOfCells() @@ -232,6 +244,33 @@ class VTK: raise TypeError + def get(self,label): + """ + Get either cell or point data. + + Cell data takes precedence over point data, i.e. this + function assumes that labels are unique among cell and + point data. + + Parameters + ---------- + label : str + Data label. + + """ + celldata = self.geom.GetCellData() + for a in range(celldata.GetNumberOfArrays()): + if celldata.GetArrayName(a) == label: + return vtk_to_np(celldata.GetArray(a)) + + pointdata = self.geom.GetPointData() + for a in range(celldata.GetNumberOfArrays()): + if pointdata.GetArrayName(a) == label: + return vtk_to_np(pointdata.GetArray(a)) + + raise ValueError(f'array "{label}" not found') + + def get_comments(self): """Return the comments.""" fielddata = self.geom.GetFieldData() @@ -244,12 +283,12 @@ class VTK: def set_comments(self,comments): """ - Add Comments. + Set Comments. Parameters ---------- comments : str or list of str - Comments to add + Comments. """ s = vtk.vtkStringArray() @@ -259,6 +298,19 @@ class VTK: self.geom.GetFieldData().AddArray(s) + def add_comments(self,comments): + """ + Add Comments. + + Parameters + ---------- + comments : str or list of str + Comments to add. + + """ + self.set_comments(self.get_comments + ([comments] if isinstance(comments,str) else comments)) + + def __repr__(self): """ASCII representation of the VTK data.""" writer = vtk.vtkDataSetWriter() From 0d3ef295548c53b9fa6632154b1bc3887f42d3a3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 06:46:22 +0200 Subject: [PATCH 481/958] more logical encapsulation - getting data out of VTK is a functionality of the VTK class. Need to discuss whether the VTK class should also provide grid and size (works only for rectilinear grid, so hiding VTK type is not possible anymore), but the current situation requires the Geom class to rely on 'internals' of the VTK class - header is specific to *.geom format, not to Geom objects. --- python/damask/_geom.py | 59 ++++++++++++++++-------------------------- 1 file changed, 23 insertions(+), 36 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 8039a0038..17cd49b08 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -7,7 +7,6 @@ from functools import partial import numpy as np from scipy import ndimage,spatial -from vtk.util.numpy_support import vtk_to_numpy as vtk_to_np from . import environment from . import Rotation @@ -271,16 +270,6 @@ class Geom: return self.comments[:] - def get_header(self): - """Return the full header (grid, size, origin, homogenization, comments).""" - header = [f'{len(self.comments)+4} header'] + self.comments - header.append('grid a {} b {} c {}'.format(*self.get_grid())) - header.append('size x {} y {} z {}'.format(*self.get_size())) - header.append('origin x {} y {} z {}'.format(*self.get_origin())) - header.append(f'homogenization {self.get_homogenization()}') - return header - - @staticmethod def from_file(fname): """ @@ -356,19 +345,12 @@ class Geom: Valid extension is .vtr, it will be appended if not given. """ - g = VTK.from_file(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr').geom - grid = np.array(g.GetDimensions())-1 - bbox = np.array(g.GetBounds()).reshape(3,2).T + v = VTK.from_file(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') + grid = np.array(v.geom.GetDimensions())-1 + bbox = np.array(v.geom.GetBounds()).reshape(3,2).T size = bbox[1] - bbox[0] - celldata = g.GetCellData() - for a in range(celldata.GetNumberOfArrays()): - if celldata.GetArrayName(a) == 'materialpoint': - materialpoint = vtk_to_np(celldata.GetArray(a)) - return Geom(materialpoint.reshape(grid,order='F'),size,bbox[0]) - - raise ValueError(f'"materialpoint" array not found in {fname}') - + return Geom(v.get('materialpoint').reshape(grid,order='F'),size,bbox[0]) @staticmethod @@ -417,7 +399,7 @@ class Geom: else: microstructure = microstructure.reshape(grid) - creator = util.edit_info('damask.Result.'+inspect.stack()[0][3]) + creator = util.edit_info('damask.Geom.'+inspect.stack()[0][3]) return Geom(microstructure+1,size,homogenization=1,comments=creator) @@ -442,7 +424,7 @@ class Geom: KDTree = spatial.cKDTree(seeds,boxsize=size) if periodic else spatial.cKDTree(seeds) devNull,microstructure = KDTree.query(coords) - creator = util.edit_info('damask.Result.'+inspect.stack()[0][3]) + creator = util.edit_info('damask.Geom.'+inspect.stack()[0][3]) return Geom(microstructure.reshape(grid)+1,size,homogenization=1,comments=creator) @@ -458,8 +440,13 @@ class Geom: Compress geometry with 'x of y' and 'a to b'. """ - header = self.get_header() - grid = self.get_grid() + header = [f'{len(self.comments)+4} header'] + self.comments + header.append('grid a {} b {} c {}'.format(*self.get_grid())) + header.append('size x {} y {} z {}'.format(*self.get_size())) + header.append('origin x {} y {} z {}'.format(*self.get_origin())) + header.append(f'homogenization {self.get_homogenization()}') + + grid = self.get_grid() if pack is None: plain = grid.prod()/self.N_microstructure < 250 @@ -490,7 +477,7 @@ class Geom: reps += 1 else: if compressType is None: - f.write('\n'.join(self.get_header())+'\n') + f.write('\n'.join(header)+'\n') elif compressType == '.': f.write(f'{former}\n') elif compressType == 'to': @@ -589,7 +576,7 @@ class Geom: fill_ = np.full_like(self.microstructure,np.nanmax(self.microstructure)+1 if fill is None else fill) ms = np.ma.MaskedArray(fill_,np.logical_not(mask) if inverse else mask) - self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) + self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) return self.update(ms) @@ -620,7 +607,7 @@ class Geom: if 'x' in directions: ms = np.concatenate([ms,ms[limits[0]:limits[1]:-1,:,:]],0) - self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) + self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) return self.update(ms,rescale=True) @@ -636,7 +623,7 @@ class Geom: Assume geometry to be periodic. Defaults to True. """ - self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) + self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) return self.update( ndimage.interpolation.zoom( self.microstructure, @@ -671,7 +658,7 @@ class Geom: else: return me - self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) + self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) return self.update(ndimage.filters.generic_filter( self.microstructure, mostFrequent, @@ -688,7 +675,7 @@ class Geom: for i, oldID in enumerate(np.unique(self.microstructure)): renumbered = np.where(self.microstructure == oldID, i+1, renumbered) - self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) + self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) return self.update(renumbered) @@ -723,7 +710,7 @@ class Geom: origin = self.origin-(np.asarray(microstructure_in.shape)-self.grid)*.5 * self.size/self.grid - self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) + self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) return self.update(microstructure_in,origin=origin,rescale=True) @@ -756,7 +743,7 @@ class Geom: canvas[ll[0]:ur[0],ll[1]:ur[1],ll[2]:ur[2]] = self.microstructure[LL[0]:UR[0],LL[1]:UR[1],LL[2]:UR[2]] - self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) + self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) return self.update(canvas,origin=self.origin+offset*self.size/self.grid,rescale=True) @@ -776,7 +763,7 @@ class Geom: for from_ms,to_ms in zip(from_microstructure,to_microstructure): substituted[self.microstructure==from_ms] = to_ms - self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) + self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) return self.update(substituted) @@ -822,5 +809,5 @@ class Geom: extra_keywords={'trigger':trigger}) microstructure = np.ma.MaskedArray(self.microstructure + offset_, np.logical_not(mask)) - self.add_comments(util.edit_info('damask.Result.'+inspect.stack()[0][3])) + self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) return self.update(microstructure) From b393da4955cefac766af183c5bd3d59182143de4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 07:28:10 +0200 Subject: [PATCH 482/958] relative imports ... it's all about damask.XXX --- python/tests/test_Orientation.py | 7 +++---- python/tests/test_Result.py | 7 ++++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index 4987f1f1f..eb2ccfd56 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -4,7 +4,6 @@ from itertools import permutations import pytest import numpy as np -import damask from damask import Rotation from damask import Orientation from damask import Lattice @@ -68,7 +67,7 @@ class TestOrientation: {'label':'blue', 'RGB':[0,0,1],'direction':[1,1,1]}]) @pytest.mark.parametrize('lattice',['fcc','bcc']) def test_IPF_cubic(self,color,lattice): - cube = damask.Orientation(damask.Rotation(),lattice) + cube = Orientation(Rotation(),lattice) for direction in set(permutations(np.array(color['direction']))): assert np.allclose(cube.IPF_color(np.array(direction)),np.array(color['RGB'])) @@ -112,7 +111,7 @@ class TestOrientation: @pytest.mark.parametrize('lattice',Lattice.lattices) def test_disorientation360(self,lattice): R_1 = Orientation(Rotation(),lattice) - R_2 = Orientation(damask.Rotation.from_Eulers([360,0,0],degrees=True),lattice) + R_2 = Orientation(Rotation.from_Eulers([360,0,0],degrees=True),lattice) assert np.allclose(R_1.disorientation(R_2).as_matrix(),np.eye(3)) @pytest.mark.parametrize('lattice',Lattice.lattices) @@ -127,6 +126,6 @@ class TestOrientation: def test_from_average(self,lattice): R_1 = Orientation(Rotation.from_random(),lattice) eqs = [r for r in R_1.equivalent] - R_2 = damask.Orientation.from_average(eqs) + R_2 = Orientation.from_average(eqs) assert np.allclose(R_1.rotation.quaternion,R_2.rotation.quaternion) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 53bcdda9d..6000f50f9 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -8,8 +8,9 @@ import pytest import numpy as np import h5py -import damask from damask import Result +from damask import Rotation +from damask import Orientation from damask import mechanics from damask import grid_filters @@ -174,7 +175,7 @@ class TestResult: crystal_structure = default.get_crystal_structure() in_memory = np.empty((qu.shape[0],3),np.uint8) for i,q in enumerate(qu): - o = damask.Orientation(q,crystal_structure).reduced + o = Orientation(q,crystal_structure).reduced in_memory[i] = np.uint8(o.IPF_color(np.array(d))*255) in_file = default.read_dataset(loc['color']) assert np.allclose(in_memory,in_file) @@ -233,7 +234,7 @@ class TestResult: default.add_pole('orientation',pole,polar) loc = {'orientation': default.get_dataset_location('orientation'), 'pole': default.get_dataset_location('p^{}_[1 0 0)'.format(u'rφ' if polar else 'xy'))} - rot = damask.Rotation(default.read_dataset(loc['orientation']).view(np.double)) + rot = Rotation(default.read_dataset(loc['orientation']).view(np.double)) rotated_pole = rot * np.broadcast_to(pole,rot.shape+(3,)) xy = rotated_pole[:,0:2]/(1.+abs(pole[2])) in_memory = xy if not polar else \ From 9d505c851835eb648feb8c3dd32248cfb2a56a06 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 09:55:41 +0200 Subject: [PATCH 483/958] better readable - more explicit reporting - always relative import for DAMASK --- python/damask/_colormap.py | 6 +++--- python/damask/_geom.py | 23 ++++++++++----------- python/damask/_vtk.py | 7 ++++--- python/damask/solver/_marc.py | 10 ++++----- python/damask/util.py | 10 +++++---- python/tests/conftest.py | 9 ++++++++ python/tests/reference/Colormap/binary.json | 2 +- python/tests/reference/Colormap/binary.txt | 2 +- python/tests/test_Colormap.py | 4 ++-- python/tests/test_Orientation.py | 5 +++-- 10 files changed, 45 insertions(+), 33 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index ec4000018..e2b317d63 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -10,7 +10,7 @@ import matplotlib.pyplot as plt from matplotlib import cm from PIL import Image -import damask +from . import util from . import Table _eps = 216./24389. @@ -280,7 +280,7 @@ class Colormap(mpl.colors.ListedColormap): colors+=[i]+c out = [{ - 'Creator':f'damask.Colormap v{damask.version}', + 'Creator':util.version_date('Colormap'), 'ColorSpace':'RGB', 'Name':colormap.name, 'DefaultMap':True, @@ -296,7 +296,7 @@ class Colormap(mpl.colors.ListedColormap): def _export_ASCII(colormap,fhandle=None): """Write colormap to ASCII table.""" labels = {'RGBA':4} if colormap.colors.shape[1] == 4 else {'RGB': 3} - t = Table(colormap.colors,labels,f'Creator: damask.Colormap v{damask.version}') + t = Table(colormap.colors,labels,f'Creator: {util.version_date("Colormap")}') if fhandle is None: with open(colormap.name.replace(' ','_')+'.txt', 'w') as f: diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 17cd49b08..6632eb5ed 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -1,6 +1,5 @@ import sys import copy -import inspect import multiprocessing from io import StringIO from functools import partial @@ -399,7 +398,7 @@ class Geom: else: microstructure = microstructure.reshape(grid) - creator = util.edit_info('damask.Geom.'+inspect.stack()[0][3]) + creator = util.version_date('Geom','from_Laguerre_tessellation') return Geom(microstructure+1,size,homogenization=1,comments=creator) @@ -424,7 +423,7 @@ class Geom: KDTree = spatial.cKDTree(seeds,boxsize=size) if periodic else spatial.cKDTree(seeds) devNull,microstructure = KDTree.query(coords) - creator = util.edit_info('damask.Geom.'+inspect.stack()[0][3]) + creator = util.version_date('Geom','from_Voronoi_tessellation') return Geom(microstructure.reshape(grid)+1,size,homogenization=1,comments=creator) @@ -576,7 +575,7 @@ class Geom: fill_ = np.full_like(self.microstructure,np.nanmax(self.microstructure)+1 if fill is None else fill) ms = np.ma.MaskedArray(fill_,np.logical_not(mask) if inverse else mask) - self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) + self.add_comments(util.version_date('Geom','add_primitive')) return self.update(ms) @@ -607,7 +606,7 @@ class Geom: if 'x' in directions: ms = np.concatenate([ms,ms[limits[0]:limits[1]:-1,:,:]],0) - self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) + self.add_comments(util.version_date('Geom','mirror')) return self.update(ms,rescale=True) @@ -623,7 +622,7 @@ class Geom: Assume geometry to be periodic. Defaults to True. """ - self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) + self.add_comments(util.version_date('Geom','scale')) return self.update( ndimage.interpolation.zoom( self.microstructure, @@ -658,7 +657,7 @@ class Geom: else: return me - self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) + self.add_comments(util.version_date('Geom','clean')) return self.update(ndimage.filters.generic_filter( self.microstructure, mostFrequent, @@ -675,7 +674,7 @@ class Geom: for i, oldID in enumerate(np.unique(self.microstructure)): renumbered = np.where(self.microstructure == oldID, i+1, renumbered) - self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) + self.add_comments(util.version_date('Geom','renumber')) return self.update(renumbered) @@ -710,7 +709,7 @@ class Geom: origin = self.origin-(np.asarray(microstructure_in.shape)-self.grid)*.5 * self.size/self.grid - self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) + self.add_comments(util.version_date('Geom','rotate')) return self.update(microstructure_in,origin=origin,rescale=True) @@ -743,7 +742,7 @@ class Geom: canvas[ll[0]:ur[0],ll[1]:ur[1],ll[2]:ur[2]] = self.microstructure[LL[0]:UR[0],LL[1]:UR[1],LL[2]:UR[2]] - self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) + self.add_comments(util.version_date('Geom','canvas')) return self.update(canvas,origin=self.origin+offset*self.size/self.grid,rescale=True) @@ -763,7 +762,7 @@ class Geom: for from_ms,to_ms in zip(from_microstructure,to_microstructure): substituted[self.microstructure==from_ms] = to_ms - self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) + self.add_comments(util.version_date('Geom','substitute')) return self.update(substituted) @@ -809,5 +808,5 @@ class Geom: extra_keywords={'trigger':trigger}) microstructure = np.ma.MaskedArray(self.microstructure + offset_, np.logical_not(mask)) - self.add_comments(util.edit_info('damask.Geom.'+inspect.stack()[0][3])) + self.add_comments(util.version_date('Geom','vicinity_offset')) return self.update(microstructure) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 52dd52754..349e158ca 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -8,7 +8,8 @@ from vtk.util.numpy_support import numpy_to_vtk as np_to_vtk from vtk.util.numpy_support import numpy_to_vtkIdTypeArray as np_to_vtkIdTypeArray from vtk.util.numpy_support import vtk_to_numpy as vtk_to_np -import damask +from . import util +from . import environment from . import Table @@ -314,7 +315,7 @@ class VTK: def __repr__(self): """ASCII representation of the VTK data.""" writer = vtk.vtkDataSetWriter() - writer.SetHeader(f'# damask.VTK v{damask.version}') + writer.SetHeader(f'# {util.version_date("VTK")}') writer.WriteToOutputStringOn() writer.SetInputData(self.geom) writer.Write() @@ -340,7 +341,7 @@ class VTK: ren.AddActor(actor) ren.SetBackground(0.2,0.2,0.2) - window.SetSize(damask.environment.screen_size[0],damask.environment.screen_size[1]) + window.SetSize(environment.screen_size[0],environment.screen_size[1]) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(window) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index 8e96f1b90..12e36f7ed 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -3,12 +3,12 @@ import shlex import string from pathlib import Path -import damask +from .. import environment class Marc: """Wrapper to run DAMASK with MSCMarc.""" - def __init__(self,version=damask.environment.options['MARC_VERSION']): + def __init__(self,version=environment.options['MARC_VERSION']): """ Create a Marc solver object. @@ -24,7 +24,7 @@ class Marc: @property def library_path(self): - path_MSC = damask.environment.options['MSC_ROOT'] + path_MSC = environment.options['MSC_ROOT'] path_lib = Path(f'{path_MSC}/mentat{self.version}/shlib/linux64') return path_lib if path_lib.is_dir() else None @@ -33,7 +33,7 @@ class Marc: @property def tools_path(self): - path_MSC = damask.environment.options['MSC_ROOT'] + path_MSC = environment.options['MSC_ROOT'] path_tools = Path(f'{path_MSC}/marc{self.version}/tools') return path_tools if path_tools.is_dir() else None @@ -49,7 +49,7 @@ class Marc: ): - usersub = damask.environment.root_dir/'src/DAMASK_marc' + usersub = environment.root_dir/'src/DAMASK_marc' usersub = usersub.parent/(usersub.name + ('.f90' if compile else '.marc')) if not usersub.is_file(): raise FileNotFoundError("DAMASK4Marc ({}) '{}' not found".format(('source' if compile else 'binary'),usersub)) diff --git a/python/damask/util.py b/python/damask/util.py index f83fc4c62..f7c40416e 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -9,7 +9,7 @@ from optparse import Option import numpy as np -import damask +from . import version # limit visibility __all__=[ @@ -22,7 +22,7 @@ __all__=[ 'scale_to_coprime', 'return_message', 'extendableOption', - 'edit_info' + 'version_date' ] #################################################################################################### @@ -178,9 +178,11 @@ def scale_to_coprime(v): return m -def edit_info(who): +def version_date(class_name,function_name=None): + """tbd.""" + _function_name = '' if function_name is None else f'.{function_name}' now = datetime.datetime.now().astimezone().strftime('%Y-%m-%d %H:%M:%S%z') - return f'{who} v{damask.version} ({now})' + return f'damask.{class_name}{_function_name} v{version} ({now})' #################################################################################################### diff --git a/python/tests/conftest.py b/python/tests/conftest.py index 2912373a5..51da90671 100644 --- a/python/tests/conftest.py +++ b/python/tests/conftest.py @@ -25,6 +25,15 @@ def patch_datetime_now(monkeypatch): monkeypatch.setattr(datetime, 'datetime', mydatetime) +@pytest.fixture +def version_date(monkeypatch): + """Set damask.util.version_date for reproducible tests results.""" + def version_date(class_name,function_name=None): + _function_name = '' if function_name is None else f'.{function_name}' + return f'damask.{class_name}{_function_name} v{patched_version} ({patched_date})' + + monkeypatch.setattr(damask.util, 'version_date', version_date) + def pytest_addoption(parser): parser.addoption("--update", diff --git a/python/tests/reference/Colormap/binary.json b/python/tests/reference/Colormap/binary.json index c71d3649b..b8b85f80f 100644 --- a/python/tests/reference/Colormap/binary.json +++ b/python/tests/reference/Colormap/binary.json @@ -1,6 +1,6 @@ [ { - "Creator": "damask.Colormap v99.99.99-9999-pytest", + "Creator": "damask.Colormap v99.99.99-9999-pytest (2019-11-02 11:58:00)", "ColorSpace": "RGB", "Name": "binary", "DefaultMap": true, diff --git a/python/tests/reference/Colormap/binary.txt b/python/tests/reference/Colormap/binary.txt index 976c0202a..ca1d2401f 100644 --- a/python/tests/reference/Colormap/binary.txt +++ b/python/tests/reference/Colormap/binary.txt @@ -1,4 +1,4 @@ -# Creator: damask.Colormap v99.99.99-9999-pytest +# Creator: damask.Colormap v99.99.99-9999-pytest (2019-11-02 11:58:00) 1_RGBA 2_RGBA 3_RGBA 4_RGBA 1.0 1.0 1.0 1.0 0.996078431372549 0.996078431372549 0.996078431372549 1.0 diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index d3f5e45c8..870ff9761 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -17,8 +17,8 @@ def reference_dir(reference_dir_base): class TestColormap: @pytest.fixture(autouse=True) - def _patch_damask_version(self, patch_damask_version): - print('patched damask.version') + def _version_date(self, version_date): + print('patched damask.util.version_date') def test_conversion(self): specials = np.array([[0.,0.,0.], diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index eb2ccfd56..636eeb0c4 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -4,6 +4,7 @@ from itertools import permutations import pytest import numpy as np +from damask import Table from damask import Rotation from damask import Orientation from damask import Lattice @@ -103,10 +104,10 @@ class TestOrientation: eu = np.array([o.rotation.as_Eulers(degrees=True) for o in ori.related(model)]) if update: coords = np.array([(1,i+1) for i,x in enumerate(eu)]) - table = damask.Table(eu,{'Eulers':(3,)}) + table = Table(eu,{'Eulers':(3,)}) table.add('pos',coords) table.to_ASCII(reference) - assert np.allclose(eu,damask.Table.from_ASCII(reference).get('Eulers')) + assert np.allclose(eu,Table.from_ASCII(reference).get('Eulers')) @pytest.mark.parametrize('lattice',Lattice.lattices) def test_disorientation360(self,lattice): From 279d43ccc64d79137805a9e75edc3e0d7b2259ba Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 19:04:59 +0200 Subject: [PATCH 484/958] include version info + date in comments (Table class) --- python/damask/_table.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/python/damask/_table.py b/python/damask/_table.py index e8d35c545..b4822bea9 100644 --- a/python/damask/_table.py +++ b/python/damask/_table.py @@ -3,7 +3,6 @@ import re import pandas as pd import numpy as np -from . import version from . import util class Table: @@ -49,7 +48,9 @@ class Table: def _add_comment(self,label,shape,info): if info is not None: - self.comments.append(f'{label}{" "+str(shape) if np.prod(shape,dtype=int) > 1 else ""}: {info}') + specific = f'{label}{" "+str(shape) if np.prod(shape,dtype=int) > 1 else ""}: {info}' + general = util.version_date('Table') + self.comments.append(f'{specific} / {general}') @staticmethod @@ -135,7 +136,7 @@ class Table: content = f.readlines() - comments = [f'table.py:from_ang v{version}'] + comments = [util.version_date('Table','from_ang')] for line in content: if line.startswith('#'): comments.append(line.strip()) From 56157af7db80f85774605901b4e6c9441143aab7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 19:03:27 +0200 Subject: [PATCH 485/958] updated script for building fedora (rpm) package --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 4715b68a1..1ca2223c6 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 4715b68a1b55d8f18fe6b405e312785489d9c9d0 +Subproject commit 1ca2223c68475bbcb9da633353dbe4a98c18db0d From 8ef473b71c029d66ac4218d129747ed69875f717 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 19:22:53 +0200 Subject: [PATCH 486/958] new names in output - constituent -> phase - materialpoint -> homogenization this gives a one-to-one correspondence to the material.yaml definition next steps 1) adjust damask.Result python class 2) implement materialpoint output (homogeneous over the whole domain) for homogenized quantities (currently T,F,P,phi) --- src/results.f90 | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/results.f90 b/src/results.f90 index 45c6263e4..793d6bd3a 100644 --- a/src/results.f90 +++ b/src/results.f90 @@ -118,8 +118,14 @@ subroutine results_addIncrement(inc,time) call results_closeGroup(results_addGroup(trim('inc'//trim(adjustl(incChar))))) call results_setLink(trim('inc'//trim(adjustl(incChar))),'current') call results_addAttribute('time/s',time,trim('inc'//trim(adjustl(incChar)))) - call results_closeGroup(results_addGroup('current/constituent')) - call results_closeGroup(results_addGroup('current/materialpoint')) + call results_closeGroup(results_addGroup('current/phase')) + call results_closeGroup(results_addGroup('current/homogenization')) + + ! for backward compatibility + call results_setLink(trim('/inc'//trim(adjustl(incChar)))//'/phase',& + trim('/inc'//trim(adjustl(incChar)))//'/constituent') + call results_setLink(trim('/inc'//trim(adjustl(incChar)))//'/homogenization',& + trim('/inc'//trim(adjustl(incChar)))//'/materialpoint') end subroutine results_addIncrement @@ -182,7 +188,6 @@ subroutine results_setLink(path,link) end subroutine results_setLink - !-------------------------------------------------------------------------------------------------- !> @brief adds a string attribute to an object in the results file !-------------------------------------------------------------------------------------------------- From 55443a3ff5b3e17b394d2ff141478015ce535d5a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 22:54:09 +0200 Subject: [PATCH 487/958] reflect change of variable names in file layout version --- python/damask/_result.py | 2 +- src/results.f90 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index bf3ee67b9..8e5bb2e8b 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -49,7 +49,7 @@ class Result: self.version_major = f.attrs['DADF5-major'] self.version_minor = f.attrs['DADF5-minor'] - if self.version_major != 0 or not 2 <= self.version_minor <= 6: + if self.version_major != 0 or not 2 <= self.version_minor <= 7: raise TypeError(f'Unsupported DADF5 version {self.version_major}.{self.version_minor}') self.structured = 'grid' in f['geometry'].attrs.keys() diff --git a/src/results.f90 b/src/results.f90 index 793d6bd3a..3999a396c 100644 --- a/src/results.f90 +++ b/src/results.f90 @@ -73,7 +73,7 @@ subroutine results_init(restart) if(.not. restart) then resultsFile = HDF5_openFile(trim(getSolverJobName())//'.hdf5','w',.true.) call results_addAttribute('DADF5_version_major',0) - call results_addAttribute('DADF5_version_minor',6) + call results_addAttribute('DADF5_version_minor',7) call results_addAttribute('DAMASK_version',DAMASKVERSION) call get_command(commandLine) call results_addAttribute('call',trim(commandLine)) From 71e08ea66aa1d5c425430acf12c25f8197afcf99 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 23:23:47 +0200 Subject: [PATCH 488/958] small fixes: - numpy has multiple float variants - start renaming microstructure -> materialpoint where it does not hurt - no need for type check if comparing against set of valid directions (or I miss some corner cases) --- python/damask/_geom.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 083e0ec0d..8d98700c4 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -45,12 +45,12 @@ class Geom: def __repr__(self): """Basic information on geometry definition.""" return util.srepr([ - f'grid a b c: {util.srepr(self.get_grid ()," x ")}', - f'size x y z: {util.srepr(self.get_size ()," x ")}', - f'origin x y z: {util.srepr(self.get_origin()," ")}', - f'# microstructures: {self.N_microstructure}', - f'max microstructure: {np.nanmax(self.microstructure)}', - ]+self.get_comments()) + f'grid a b c: {util.srepr(self.get_grid ()," x ")}', + f'size x y z: {util.srepr(self.get_size ()," x ")}', + f'origin x y z: {util.srepr(self.get_origin()," ")}', + f'# materialpoints: {self.N_microstructure}', + f'max materialpoint: {np.nanmax(self.microstructure)}', + ]) def __copy__(self): @@ -182,7 +182,7 @@ class Geom: else: self.microstructure = np.copy(microstructure) - if self.microstructure.dtype == float and \ + if self.microstructure.dtype in np.sctypes['float'] and \ np.all(self.microstructure == self.microstructure.astype(int).astype(float)): self.microstructure = self.microstructure.astype(int) @@ -640,9 +640,7 @@ class Geom: """ valid = {'x','y','z'} - if not all(isinstance(d, str) for d in directions): - raise TypeError('Directions are not of type str.') - elif not set(directions).issubset(valid): + if not set(directions).issubset(valid): raise ValueError(f'Invalid direction {set(directions).difference(valid)} specified.') limits = [None,None] From 0ceba2a6d31e1653e636c4ed16640232ef31828c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 23:28:26 +0200 Subject: [PATCH 489/958] use central functionality --- python/damask/_table.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/python/damask/_table.py b/python/damask/_table.py index e8d35c545..fd8cf0fe3 100644 --- a/python/damask/_table.py +++ b/python/damask/_table.py @@ -3,7 +3,6 @@ import re import pandas as pd import numpy as np -from . import version from . import util class Table: @@ -49,7 +48,9 @@ class Table: def _add_comment(self,label,shape,info): if info is not None: - self.comments.append(f'{label}{" "+str(shape) if np.prod(shape,dtype=int) > 1 else ""}: {info}') + specific = f'{label}{" "+str(shape) if np.prod(shape,dtype=int) > 1 else ""}: {info}' + general = util.execution_stamp('Table') + self.comments.append(f'{specific} / {general}') @staticmethod @@ -135,7 +136,7 @@ class Table: content = f.readlines() - comments = [f'table.py:from_ang v{version}'] + comments = [util.execution_stamp('Table','from_ang')] for line in content: if line.startswith('#'): comments.append(line.strip()) From 9a2ac3154550731752f145de277d9f205cf1b897 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 24 Aug 2020 23:35:46 +0200 Subject: [PATCH 490/958] explicit is better then implicit --- python/damask/_result.py | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index bf3ee67b9..5d0da804d 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1,6 +1,5 @@ import multiprocessing as mp import re -import inspect import glob import os import datetime @@ -536,7 +535,7 @@ class Result: 'meta': { 'Unit': x['meta']['Unit'], 'Description': f"Absolute value of {x['label']} ({x['meta']['Description']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_absolute' } } def add_absolute(self,x): @@ -564,7 +563,7 @@ class Result: 'meta': { 'Unit': kwargs['unit'], 'Description': f"{kwargs['description']} (formula: {kwargs['formula']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_calculation' } } def add_calculation(self,label,formula,unit='n/a',description=None): @@ -598,7 +597,7 @@ class Result: 'Description': "Cauchy stress calculated " f"from {P['label']} ({P['meta']['Description']})" f" and {F['label']} ({F['meta']['Description']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_Cauchy' } } def add_Cauchy(self,P='P',F='F'): @@ -624,7 +623,7 @@ class Result: 'meta': { 'Unit': T['meta']['Unit'], 'Description': f"Determinant of tensor {T['label']} ({T['meta']['Description']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_determinant' } } def add_determinant(self,T): @@ -648,7 +647,7 @@ class Result: 'meta': { 'Unit': T['meta']['Unit'], 'Description': f"Deviator of tensor {T['label']} ({T['meta']['Description']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_deviator' } } def add_deviator(self,T): @@ -679,7 +678,7 @@ class Result: 'meta' : { 'Unit': T_sym['meta']['Unit'], 'Description': f"{label} eigenvalue of {T_sym['label']} ({T_sym['meta']['Description']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_eigenvalue' } } def add_eigenvalue(self,T_sym,eigenvalue='max'): @@ -712,7 +711,7 @@ class Result: 'Unit': '1', 'Description': f"Eigenvector corresponding to {label} eigenvalue" f" of {T_sym['label']} ({T_sym['meta']['Description']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_eigenvector' } } def add_eigenvector(self,T_sym,eigenvalue='max'): @@ -745,7 +744,7 @@ class Result: 'Unit': '8-bit RGB', 'Lattice': q['meta']['Lattice'], 'Description': 'Inverse Pole Figure (IPF) colors along sample direction [{} {} {}]'.format(*m), - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_IPF_color' } } def add_IPF_color(self,q,l): @@ -771,7 +770,7 @@ class Result: 'meta': { 'Unit': T_sym['meta']['Unit'], 'Description': f"Maximum shear component of {T_sym['label']} ({T_sym['meta']['Description']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_maximum_shear' } } def add_maximum_shear(self,T_sym): @@ -798,7 +797,7 @@ class Result: 'meta': { 'Unit': T_sym['meta']['Unit'], 'Description': f"Mises equivalent {t} of {T_sym['label']} ({T_sym['meta']['Description']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_Mises' } } def add_Mises(self,T_sym): @@ -834,7 +833,7 @@ class Result: 'meta': { 'Unit': x['meta']['Unit'], 'Description': f"{o}-norm of {t} {x['label']} ({x['meta']['Description']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_norm' } } def add_norm(self,x,ord=None): @@ -862,7 +861,7 @@ class Result: 'Description': "2. Piola-Kirchhoff stress calculated " f"from {P['label']} ({P['meta']['Description']})" f" and {F['label']} ({F['meta']['Description']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_PK2' } } def add_PK2(self,P='P',F='F'): @@ -898,7 +897,7 @@ class Result: 'Unit': '1', 'Description': '{} coordinates of stereographic projection of pole (direction/plane) in crystal frame'\ .format('Polar' if polar else 'Cartesian'), - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_pole' } } def add_pole(self,q,p,polar=False): @@ -926,7 +925,7 @@ class Result: 'meta': { 'Unit': F['meta']['Unit'], 'Description': f"Rotational part of {F['label']} ({F['meta']['Description']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_rotational_part' } } def add_rotational_part(self,F): @@ -950,7 +949,7 @@ class Result: 'meta': { 'Unit': T['meta']['Unit'], 'Description': f"Spherical component of tensor {T['label']} ({T['meta']['Description']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_spherical' } } def add_spherical(self,T): @@ -974,7 +973,7 @@ class Result: 'meta': { 'Unit': F['meta']['Unit'], 'Description': f"Strain tensor of {F['label']} ({F['meta']['Description']})", - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_strain_tensor' } } def add_strain_tensor(self,F='F',t='V',m=0.0): @@ -1006,7 +1005,7 @@ class Result: 'Unit': F['meta']['Unit'], 'Description': '{} stretch tensor of {} ({})'.format('Left' if t.upper() == 'V' else 'Right', F['label'],F['meta']['Description']), - 'Creator': inspect.stack()[0][3][1:] + 'Creator': 'add_stretch_tensor' } } def add_stretch_tensor(self,F='F',t='V'): From 2751cdb6afb4c0c9adcdd8308682d65214448bb4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 25 Aug 2020 00:40:14 +0200 Subject: [PATCH 491/958] support comments also in vtr --- python/damask/_geom.py | 4 +++- python/damask/_vtk.py | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 8d98700c4..7185f0963 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -359,11 +359,12 @@ class Geom: """ v = VTK.from_file(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') + comments = v.get_comments() grid = np.array(v.geom.GetDimensions())-1 bbox = np.array(v.geom.GetBounds()).reshape(3,2).T size = bbox[1] - bbox[0] - return Geom(v.get('materialpoint').reshape(grid,order='F'),size,bbox[0]) + return Geom(v.get('materialpoint').reshape(grid,order='F'),size,bbox[0],comments=comments) @staticmethod @@ -527,6 +528,7 @@ class Geom: """ v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) v.add(self.microstructure.flatten(order='F'),'materialpoint') + v.add_comments(self.comments) if fname: v.write(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 15a571f4f..cccfc5524 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -284,7 +284,7 @@ class VTK: def set_comments(self,comments): """ - Set Comments. + Set comments. Parameters ---------- @@ -301,7 +301,7 @@ class VTK: def add_comments(self,comments): """ - Add Comments. + Add comments. Parameters ---------- @@ -309,7 +309,7 @@ class VTK: Comments to add. """ - self.set_comments(self.get_comments + ([comments] if isinstance(comments,str) else comments)) + self.set_comments(self.get_comments() + ([comments] if isinstance(comments,str) else comments)) def __repr__(self): From 453f5a14c539d5211c1ee6530a977e312400dd32 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 25 Aug 2020 00:53:05 +0200 Subject: [PATCH 492/958] duplicated test (w/o wait for parallel out) --- python/tests/test_Geom.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index d1657f1df..4fe07fe54 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -73,10 +73,6 @@ class TestGeom: new = Geom.from_file(f) assert geom_equal(default,new) - def test_export_import_vtk(self,default,tmpdir): - default.to_vtr(tmpdir/'default') - assert geom_equal(default,Geom.from_vtr(tmpdir/'default.vtr')) - def test_read_write_vtr(self,default,tmpdir): default.to_vtr(tmpdir/'default') for _ in range(10): From 2d98325fa4de0dfc741c8ad880c59c7be07d8fb2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 25 Aug 2020 00:59:41 +0200 Subject: [PATCH 493/958] increasing test coverage --- python/damask/_geom.py | 20 ++++++++++---------- python/tests/test_Geom.py | 25 ++++++++++++++++++++----- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 7185f0963..07d3a73a9 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -112,24 +112,24 @@ class Geom: """ message = [] if np.any(other.get_grid() != self.get_grid()): - message.append(util.delete(f'grid a b c: {util.srepr(other.get_grid()," x ")}')) - message.append(util.emph( f'grid a b c: {util.srepr( self.get_grid()," x ")}')) + message.append(util.delete(f'grid a b c: {util.srepr(other.get_grid()," x ")}')) + message.append(util.emph( f'grid a b c: {util.srepr( self.get_grid()," x ")}')) if np.any(other.get_size() != self.get_size()): - message.append(util.delete(f'size x y z: {util.srepr(other.get_size()," x ")}')) - message.append(util.emph( f'size x y z: {util.srepr( self.get_size()," x ")}')) + message.append(util.delete(f'size x y z: {util.srepr(other.get_size()," x ")}')) + message.append(util.emph( f'size x y z: {util.srepr( self.get_size()," x ")}')) if np.any(other.get_origin() != self.get_origin()): - message.append(util.delete(f'origin x y z: {util.srepr(other.get_origin()," ")}')) - message.append(util.emph( f'origin x y z: {util.srepr( self.get_origin()," ")}')) + message.append(util.delete(f'origin x y z: {util.srepr(other.get_origin()," ")}')) + message.append(util.emph( f'origin x y z: {util.srepr( self.get_origin()," ")}')) if other.N_microstructure != self.N_microstructure: - message.append(util.delete(f'# microstructures: {other.N_microstructure}')) - message.append(util.emph( f'# microstructures: { self.N_microstructure}')) + message.append(util.delete(f'# materialpoints: {other.N_microstructure}')) + message.append(util.emph( f'# materialpoints: { self.N_microstructure}')) if np.nanmax(other.microstructure) != np.nanmax(self.microstructure): - message.append(util.delete(f'max microstructure: {np.nanmax(other.microstructure)}')) - message.append(util.emph( f'max microstructure: {np.nanmax( self.microstructure)}')) + message.append(util.delete(f'max materialpoint: {np.nanmax(other.microstructure)}')) + message.append(util.emph( f'max materialpoint: {np.nanmax( self.microstructure)}')) return util.return_message(message) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 4fe07fe54..4b7f05f91 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -13,7 +13,8 @@ from damask import util def geom_equal(a,b): return np.all(a.get_microstructure() == b.get_microstructure()) and \ np.all(a.get_grid() == b.get_grid()) and \ - np.allclose(a.get_size(), b.get_size()) + np.allclose(a.get_size(), b.get_size()) and \ + str(a.diff(b)) == str(b.diff(a)) @pytest.fixture def default(): @@ -45,6 +46,13 @@ class TestGeom: print(modified) assert geom_equal(default,modified) + def test_diff_equal(self,default): + assert str(default.diff(default)) == '' + + def test_diff_not_equal(self,default): + new = Geom(default.microstructure[1:,1:,1:]+1,default.size*.9,np.ones(3)-default.origin,comments=['modified']) + assert str(default.diff(new)) != '' + @pytest.mark.parametrize('masked',[True,False]) def test_set_microstructure(self,default,masked): @@ -55,8 +63,8 @@ class TestGeom: def test_write_read_str(self,default,tmpdir): - default.to_file(tmpdir/'default.geom') - new = Geom.from_file(tmpdir/'default.geom') + default.to_file(str(tmpdir/'default.geom')) + new = Geom.from_file(str(tmpdir/'default.geom')) assert geom_equal(default,new) def test_write_read_file(self,default,tmpdir): @@ -139,6 +147,12 @@ class TestGeom: assert geom_equal(Geom.from_file(reference), modified) + @pytest.mark.parametrize('directions',[(1,2,'y'),('a','b','x'),[1]]) + def test_mirror_invalid(self,default,directions): + with pytest.raises(ValueError): + default.mirror(directions) + + @pytest.mark.parametrize('directions',[ ['x'], ['x','y','z'], @@ -155,9 +169,10 @@ class TestGeom: modified) @pytest.mark.parametrize('directions',[(1,2,'y'),('a','b','x'),[1]]) - def test_mirror_invalid(self,default,directions): + def test_flip_invalid(self,default,directions): with pytest.raises(ValueError): - default.mirror(directions) + default.flip(directions) + @pytest.mark.parametrize('stencil',[1,2,3,4]) @pytest.mark.parametrize('selection',[None,[1],[1,2,3]]) From 51da63210876708198495fb8de79a3e53232a619 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 25 Aug 2020 07:49:56 +0200 Subject: [PATCH 494/958] aiming at testing each individual statement --- python/damask/_vtk.py | 22 ++++++++++--------- python/tests/test_VTK.py | 46 +++++++++++++++++++++++++++++++++++----- 2 files changed, 53 insertions(+), 15 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index cccfc5524..60e556f84 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -131,17 +131,19 @@ class VTK: """ ext = Path(fname).suffix - if ext == '.vtk' or dataset_type: + if ext == '.vtk' or dataset_type is not None: reader = vtk.vtkGenericDataObjectReader() reader.SetFileName(str(fname)) - reader.Update() if dataset_type is None: raise TypeError('Dataset type for *.vtk file not given.') elif dataset_type.lower().endswith('rectilineargrid'): + reader.Update() geom = reader.GetRectilinearGridOutput() elif dataset_type.lower().endswith('unstructuredgrid'): + reader.Update() geom = reader.GetUnstructuredGridOutput() elif dataset_type.lower().endswith('polydata'): + reader.Update() geom = reader.GetPolyDataOutput() else: raise TypeError(f'Unknown dataset type {dataset_type} for vtk file') @@ -259,15 +261,15 @@ class VTK: Data label. """ - celldata = self.geom.GetCellData() - for a in range(celldata.GetNumberOfArrays()): - if celldata.GetArrayName(a) == label: - return vtk_to_np(celldata.GetArray(a)) + cell_data = self.geom.GetCellData() + for a in range(cell_data.GetNumberOfArrays()): + if cell_data.GetArrayName(a) == label: + return vtk_to_np(cell_data.GetArray(a)) - pointdata = self.geom.GetPointData() - for a in range(celldata.GetNumberOfArrays()): - if pointdata.GetArrayName(a) == label: - return vtk_to_np(pointdata.GetArray(a)) + point_data = self.geom.GetPointData() + for a in range(point_data.GetNumberOfArrays()): + if point_data.GetArrayName(a) == label: + return vtk_to_np(point_data.GetArray(a)) raise ValueError(f'array "{label}" not found') diff --git a/python/tests/test_VTK.py b/python/tests/test_VTK.py index 91ff4033c..35155caa2 100644 --- a/python/tests/test_VTK.py +++ b/python/tests/test_VTK.py @@ -13,8 +13,19 @@ def reference_dir(reference_dir_base): """Directory containing reference results.""" return reference_dir_base/'VTK' +@pytest.fixture +def default(): + """Simple VTK.""" + grid = np.array([5,6,7],int) + size = np.array([.6,1.,.5]) + return VTK.from_rectilinearGrid(grid,size) + class TestVTK: + @pytest.fixture(autouse=True) + def _execution_stamp(self, execution_stamp): + print('patched damask.util.execution_stamp') + def test_rectilinearGrid(self,tmp_path): grid = np.random.randint(5,10,3)*2 size = np.random.random(3) + 1.0 @@ -77,9 +88,33 @@ class TestVTK: @pytest.mark.parametrize('name,dataset_type',[('this_file_does_not_exist.vtk', None), ('this_file_does_not_exist.vtk','vtk'), ('this_file_does_not_exist.vtx', None)]) - def test_invalid_dataset_type(self,dataset_type,name): + def test_invalid_dataset_type(self,name,dataset_type): with pytest.raises(TypeError): - VTK.from_file('this_file_does_not_exist.vtk',dataset_type) + VTK.from_file(name,dataset_type) + + def test_invalid_extension_write(self,default): + with pytest.raises(ValueError): + default.write('default.txt') + + def test_invalid_get(self,default): + with pytest.raises(ValueError): + default.get('does_not_exist') + + @pytest.mark.parametrize('data,label',[(np.ones(3),'valid'), + (np.ones(3),None)]) + def test_invalid_add(self,default,data,label): + with pytest.raises(ValueError): + default.add(np.ones(3),label) + + def test_invalid_add_type(self,default): + with pytest.raises(TypeError): + default.add('invalid_type','label') + + def test_comments(self,tmp_path,default): + default.add_comments(['this is a comment']) + default.write(tmp_path/'with_comments',parallel=False) + new = VTK.from_file(tmp_path/'with_comments.vtr') + assert new.get_comments() == ['this is a comment'] def test_compare_reference_polyData(self,update,reference_dir,tmp_path): @@ -90,7 +125,8 @@ class TestVTK: polyData.write(reference_dir/'polyData') else: reference = VTK.from_file(reference_dir/'polyData.vtp') - assert polyData.__repr__() == reference.__repr__() + assert polyData.__repr__() == reference.__repr__() and \ + np.allclose(polyData.get('coordinates'),points) def test_compare_reference_rectilinearGrid(self,update,reference_dir,tmp_path): grid = np.array([5,6,7],int) @@ -104,5 +140,5 @@ class TestVTK: rectilinearGrid.write(reference_dir/'rectilinearGrid') else: reference = VTK.from_file(reference_dir/'rectilinearGrid.vtr') - assert rectilinearGrid.__repr__() == reference.__repr__() - + assert rectilinearGrid.__repr__() == reference.__repr__() and \ + np.allclose(rectilinearGrid.get('cell'),c) From 96d4975fc4e0349cc7f82261f5fcdb0361514dc7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 25 Aug 2020 08:34:04 +0200 Subject: [PATCH 495/958] using numpy functionality --- python/damask/_geom.py | 16 ++++------------ python/tests/test_Geom.py | 3 +++ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 07d3a73a9..1dac0fa84 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -608,10 +608,10 @@ class Geom: Direction(s) along which the microstructure is mirrored. Valid entries are 'x', 'y', 'z'. reflect : bool, optional - Reflect (include) outermost layers. + Reflect (include) outermost layers. Defaults to False. """ - valid = {'x','y','z'} + valid = ['x','y','z'] if not set(directions).issubset(valid): raise ValueError(f'Invalid direction {set(directions).difference(valid)} specified.') @@ -641,19 +641,11 @@ class Geom: Valid entries are 'x', 'y', 'z'. """ - valid = {'x','y','z'} + valid = ['x','y','z'] if not set(directions).issubset(valid): raise ValueError(f'Invalid direction {set(directions).difference(valid)} specified.') - limits = [None,None] - ms = self.get_microstructure() - - if 'z' in directions: - ms = ms[:,:,limits[0]:limits[1]:-1] - if 'y' in directions: - ms = ms[:,limits[0]:limits[1]:-1,:] - if 'x' in directions: - ms = ms[limits[0]:limits[1]:-1,:,:] + ms = np.flip(self.microstructure, (valid.index(d) for d in directions if d in valid)) return self.duplicate(ms, comments=self.get_comments()+[util.execution_stamp('Geom','flip')], diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 4b7f05f91..68d727f11 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -168,6 +168,9 @@ class TestGeom: assert geom_equal(Geom.from_file(reference), modified) + def test_flip_invariant(self,default): + assert geom_equal(default,default.flip([])) + @pytest.mark.parametrize('directions',[(1,2,'y'),('a','b','x'),[1]]) def test_flip_invalid(self,default,directions): with pytest.raises(ValueError): From 800dac5d0171fb57bd92b75e6bb251a0e08d38d1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 25 Aug 2020 08:46:08 +0200 Subject: [PATCH 496/958] correct type handling no reason to calculate fill twice --- python/damask/_geom.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 1dac0fa84..8daf5f476 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -769,16 +769,14 @@ class Geom: offset : numpy.ndarray of shape (3) Offset (measured in grid points) from old to new microstructure[0,0,0]. fill : int or float, optional - Microstructure index to fill the corners. Defaults to microstructure.max() + 1. + Microstructure index to fill the background. Defaults to microstructure.max() + 1. """ - if fill is None: fill = np.nanmax(self.microstructure) + 1 if offset is None: offset = 0 - dtype = float if int(fill) != fill or self.microstructure.dtype==np.float else int + if fill is None: fill = np.nanmax(self.microstructure) + 1 + dtype = float if int(fill) != fill or self.microstructure.dtype in np.sctypes['float'] else int - canvas = np.full(self.grid if grid is None else grid, - np.nanmax(self.microstructure)+1 if fill is None else fill, - dtype) + canvas = np.full(self.grid if grid is None else grid,fill,dtype) LL = np.clip( offset, 0,np.minimum(self.grid, grid+offset)) UR = np.clip( offset+grid, 0,np.minimum(self.grid, grid+offset)) From bf401e56cfc9c4fe51d71f64496d8207cf7caf8b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 25 Aug 2020 09:56:24 +0200 Subject: [PATCH 497/958] avoid name clash with damask.Geom --- python/damask/_geom.py | 4 +-- python/damask/_vtk.py | 77 +++++++++++++++++++++--------------------- 2 files changed, 41 insertions(+), 40 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 8daf5f476..c9848e641 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -360,8 +360,8 @@ class Geom: """ v = VTK.from_file(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') comments = v.get_comments() - grid = np.array(v.geom.GetDimensions())-1 - bbox = np.array(v.geom.GetBounds()).reshape(3,2).T + grid = np.array(v.vtk_data.GetDimensions())-1 + bbox = np.array(v.vtk_data.GetBounds()).reshape(3,2).T size = bbox[1] - bbox[0] return Geom(v.get('materialpoint').reshape(grid,order='F'),size,bbox[0],comments=comments) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 60e556f84..bbc2d2e69 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -20,18 +20,19 @@ class VTK: High-level interface to VTK. """ - def __init__(self,geom): + def __init__(self,vtk_data): """ - Set geometry and topology. + Initialize from vtk dataset. Parameters ---------- - geom : subclass of vtk.vtkDataSet - Description of geometry and topology. Valid types are vtk.vtkRectilinearGrid, - vtk.vtkUnstructuredGrid, or vtk.vtkPolyData. + vtk_data : subclass of vtk.vtkDataSet + Description of geometry and topology, optionally with attached data. + Valid types are vtk.vtkRectilinearGrid, vtk.vtkUnstructuredGrid, + or vtk.vtkPolyData. """ - self.geom = geom + self.vtk_data = vtk_data @staticmethod @@ -51,15 +52,15 @@ class VTK: Spatial origin. """ - geom = vtk.vtkRectilinearGrid() - geom.SetDimensions(*(grid+1)) + vtk_data = vtk.vtkRectilinearGrid() + vtk_data.SetDimensions(*(grid+1)) coord = [np_to_vtk(np.linspace(origin[i],origin[i]+size[i],grid[i]+1),deep=True) for i in [0,1,2]] [coord[i].SetName(n) for i,n in enumerate(['x','y','z'])] - geom.SetXCoordinates(coord[0]) - geom.SetYCoordinates(coord[1]) - geom.SetZCoordinates(coord[2]) + vtk_data.SetXCoordinates(coord[0]) + vtk_data.SetYCoordinates(coord[1]) + vtk_data.SetZCoordinates(coord[2]) - return VTK(geom) + return VTK(vtk_data) @staticmethod @@ -87,11 +88,11 @@ class VTK: connectivity),axis=1).ravel() cells.SetCells(connectivity.shape[0],np_to_vtkIdTypeArray(T,deep=True)) - geom = vtk.vtkUnstructuredGrid() - geom.SetPoints(vtk_nodes) - geom.SetCells(eval(f'vtk.VTK_{cell_type.split("_",1)[-1].upper()}'),cells) + vtk_data = vtk.vtkUnstructuredGrid() + vtk_data.SetPoints(vtk_nodes) + vtk_data.SetCells(eval(f'vtk.VTK_{cell_type.split("_",1)[-1].upper()}'),cells) - return VTK(geom) + return VTK(vtk_data) @staticmethod @@ -110,10 +111,10 @@ class VTK: vtk_points = vtk.vtkPoints() vtk_points.SetData(np_to_vtk(points)) - geom = vtk.vtkPolyData() - geom.SetPoints(vtk_points) + vtk_data = vtk.vtkPolyData() + vtk_data.SetPoints(vtk_points) - return VTK(geom) + return VTK(vtk_data) @staticmethod @@ -138,13 +139,13 @@ class VTK: raise TypeError('Dataset type for *.vtk file not given.') elif dataset_type.lower().endswith('rectilineargrid'): reader.Update() - geom = reader.GetRectilinearGridOutput() + vtk_data = reader.GetRectilinearGridOutput() elif dataset_type.lower().endswith('unstructuredgrid'): reader.Update() - geom = reader.GetUnstructuredGridOutput() + vtk_data = reader.GetUnstructuredGridOutput() elif dataset_type.lower().endswith('polydata'): reader.Update() - geom = reader.GetPolyDataOutput() + vtk_data = reader.GetPolyDataOutput() else: raise TypeError(f'Unknown dataset type {dataset_type} for vtk file') else: @@ -159,9 +160,9 @@ class VTK: reader.SetFileName(str(fname)) reader.Update() - geom = reader.GetOutput() + vtk_data = reader.GetOutput() - return VTK(geom) + return VTK(vtk_data) @staticmethod def _write(writer): @@ -179,11 +180,11 @@ class VTK: Write data in parallel background process. Defaults to True. """ - if isinstance(self.geom,vtk.vtkRectilinearGrid): + if isinstance(self.vtk_data,vtk.vtkRectilinearGrid): writer = vtk.vtkXMLRectilinearGridWriter() - elif isinstance(self.geom,vtk.vtkUnstructuredGrid): + elif isinstance(self.vtk_data,vtk.vtkUnstructuredGrid): writer = vtk.vtkXMLUnstructuredGridWriter() - elif isinstance(self.geom,vtk.vtkPolyData): + elif isinstance(self.vtk_data,vtk.vtkPolyData): writer = vtk.vtkXMLPolyDataWriter() default_ext = writer.GetDefaultFileExtension() @@ -193,7 +194,7 @@ class VTK: writer.SetFileName(str(Path(fname).with_suffix('.'+default_ext))) writer.SetCompressorTypeToZLib() writer.SetDataModeToBinary() - writer.SetInputData(self.geom) + writer.SetInputData(self.vtk_data) if parallel: try: @@ -220,8 +221,8 @@ class VTK: Data label. """ - N_points = self.geom.GetNumberOfPoints() - N_cells = self.geom.GetNumberOfCells() + N_points = self.vtk_data.GetNumberOfPoints() + N_cells = self.vtk_data.GetNumberOfCells() if isinstance(data,np.ndarray): if label is None: @@ -234,9 +235,9 @@ class VTK: d.SetName(label) if data.shape[0] == N_cells: - self.geom.GetCellData().AddArray(d) + self.vtk_data.GetCellData().AddArray(d) elif data.shape[0] == N_points: - self.geom.GetPointData().AddArray(d) + self.vtk_data.GetPointData().AddArray(d) else: raise ValueError(f'Invalid shape {data.shape[0]}') elif isinstance(data,pd.DataFrame): @@ -261,12 +262,12 @@ class VTK: Data label. """ - cell_data = self.geom.GetCellData() + cell_data = self.vtk_data.GetCellData() for a in range(cell_data.GetNumberOfArrays()): if cell_data.GetArrayName(a) == label: return vtk_to_np(cell_data.GetArray(a)) - point_data = self.geom.GetPointData() + point_data = self.vtk_data.GetPointData() for a in range(point_data.GetNumberOfArrays()): if point_data.GetArrayName(a) == label: return vtk_to_np(point_data.GetArray(a)) @@ -276,7 +277,7 @@ class VTK: def get_comments(self): """Return the comments.""" - fielddata = self.geom.GetFieldData() + fielddata = self.vtk_data.GetFieldData() for a in range(fielddata.GetNumberOfArrays()): if fielddata.GetArrayName(a) == 'comments': comments = fielddata.GetAbstractArray(a) @@ -298,7 +299,7 @@ class VTK: s.SetName('comments') for c in [comments] if isinstance(comments,str) else comments: s.InsertNextValue(c) - self.geom.GetFieldData().AddArray(s) + self.vtk_data.GetFieldData().AddArray(s) def add_comments(self,comments): @@ -319,7 +320,7 @@ class VTK: writer = vtk.vtkDataSetWriter() writer.SetHeader(f'# {util.execution_stamp("VTK")}') writer.WriteToOutputStringOn() - writer.SetInputData(self.geom) + writer.SetInputData(self.vtk_data) writer.Write() return writer.GetOutputString() @@ -331,7 +332,7 @@ class VTK: See http://compilatrix.com/article/vtk-1 for further ideas. """ mapper = vtk.vtkDataSetMapper() - mapper.SetInputData(self.geom) + mapper.SetInputData(self.vtk_data) actor = vtk.vtkActor() actor.SetMapper(mapper) From 4fe4190ee0131cd5249959fa09ea676ccc94ca98 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 25 Aug 2020 11:02:51 +0200 Subject: [PATCH 498/958] mapping renamed now we have two mappings, 'phase' and 'homogenization'. They `unwind` the definition in 'materialpoint' in 'material.yaml'. Since we never introduced the inverse mapping, I have removed the cellResults subfolder. --- src/results.f90 | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/results.f90 b/src/results.f90 index 3999a396c..2e5b01937 100644 --- a/src/results.f90 +++ b/src/results.f90 @@ -613,8 +613,8 @@ subroutine results_mapping_constituent(phaseAt,memberAtLocal,label) ! write the components of the compound type individually call h5pset_preserve_f(plist_id, .TRUE., ierr) - loc_id = results_openGroup('/mapping/cellResults') - call h5dcreate_f(loc_id, 'constituent', dtype_id, filespace_id, dset_id, ierr) + loc_id = results_openGroup('/mapping') + call h5dcreate_f(loc_id, 'phase', dtype_id, filespace_id, dset_id, ierr) if (ierr < 0) call IO_error(1,ext_msg='results_mapping_constituent: h5dcreate_f') call h5dwrite_f(dset_id, name_id, reshape(label(pack(phaseAtMaterialpoint,.true.)),myShape), & @@ -635,6 +635,9 @@ subroutine results_mapping_constituent(phaseAt,memberAtLocal,label) call h5tclose_f(name_id, ierr) call h5tclose_f(position_id, ierr) + ! for backward compatibility + call results_setLink('/mapping/phase','/mapping/cellResults/constituent') + end subroutine results_mapping_constituent @@ -748,8 +751,8 @@ subroutine results_mapping_materialpoint(homogenizationAt,memberAtLocal,label) ! write the components of the compound type individually call h5pset_preserve_f(plist_id, .TRUE., ierr) - loc_id = results_openGroup('/mapping/cellResults') - call h5dcreate_f(loc_id, 'materialpoint', dtype_id, filespace_id, dset_id, ierr) + loc_id = results_openGroup('/mapping') + call h5dcreate_f(loc_id, 'homogenization', dtype_id, filespace_id, dset_id, ierr) if (ierr < 0) call IO_error(1,ext_msg='results_mapping_materialpoint: h5dcreate_f') call h5dwrite_f(dset_id, name_id, reshape(label(pack(homogenizationAtMaterialpoint,.true.)),myShape), & @@ -770,6 +773,9 @@ subroutine results_mapping_materialpoint(homogenizationAt,memberAtLocal,label) call h5tclose_f(name_id, ierr) call h5tclose_f(position_id, ierr) + ! for backward compatibility + call results_setLink('/mapping/homogenization','/mapping/cellResults/materialpoint') + end subroutine results_mapping_materialpoint From fee21cbd9c0c56f34d8204fc88a474b3ba93575f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 25 Aug 2020 17:17:49 +0200 Subject: [PATCH 499/958] more sensible tests --- python/tests/test_Geom.py | 4 ++++ python/tests/test_VTK.py | 14 ++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 68d727f11..1639d9819 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -171,6 +171,10 @@ class TestGeom: def test_flip_invariant(self,default): assert geom_equal(default,default.flip([])) + @pytest.mark.parametrize('direction',[['x'],['x','y']]) + def test_flip_double(self,default,direction): + assert geom_equal(default,default.flip(direction).flip(direction)) + @pytest.mark.parametrize('directions',[(1,2,'y'),('a','b','x'),[1]]) def test_flip_invalid(self,default,directions): with pytest.raises(ValueError): diff --git a/python/tests/test_VTK.py b/python/tests/test_VTK.py index 35155caa2..ab9c4fa8b 100644 --- a/python/tests/test_VTK.py +++ b/python/tests/test_VTK.py @@ -100,15 +100,18 @@ class TestVTK: with pytest.raises(ValueError): default.get('does_not_exist') - @pytest.mark.parametrize('data,label',[(np.ones(3),'valid'), - (np.ones(3),None)]) - def test_invalid_add(self,default,data,label): + def test_invalid_add_shape(self,default): with pytest.raises(ValueError): - default.add(np.ones(3),label) + default.add(np.ones(3),'valid') + + def test_invalid_add_missing_label(self,default): + data = np.random.randint(9,size=np.prod(np.array(default.vtk_data.GetDimensions())-1)) + with pytest.raises(ValueError): + default.add(data) def test_invalid_add_type(self,default): with pytest.raises(TypeError): - default.add('invalid_type','label') + default.add('invalid_type','valid') def test_comments(self,tmp_path,default): default.add_comments(['this is a comment']) @@ -116,7 +119,6 @@ class TestVTK: new = VTK.from_file(tmp_path/'with_comments.vtr') assert new.get_comments() == ['this is a comment'] - def test_compare_reference_polyData(self,update,reference_dir,tmp_path): points=np.dstack((np.linspace(0.,1.,10),np.linspace(0.,2.,10),np.linspace(-1.,1.,10))).squeeze() polyData = VTK.from_polyData(points) From cbf402c1a4c47797b06033cf76b4d0588df318e1 Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 25 Aug 2020 23:06:46 +0200 Subject: [PATCH 500/958] [skip ci] updated version information after successful test of v3.0.0-alpha-22-gcdc9f078 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index a8dd6cb0f..686de838c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-3-g2b09a7d3 +v3.0.0-alpha-22-gcdc9f078 From 7dba9518cc81f1986362b072a9b07eaf7c87c36e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 25 Aug 2020 18:08:23 +0200 Subject: [PATCH 501/958] adjust to new Geom behavior --- processing/pre/geom_grainGrowth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/processing/pre/geom_grainGrowth.py b/processing/pre/geom_grainGrowth.py index bdf8d8efe..6d1985ee3 100755 --- a/processing/pre/geom_grainGrowth.py +++ b/processing/pre/geom_grainGrowth.py @@ -169,7 +169,7 @@ for name in filenames: # undo any changes involving immutable microstructures microstructure = np.where(immutable, microstructure_original,microstructure) - damask.util.croak(geom.update(microstructure[0:grid_original[0],0:grid_original[1],0:grid_original[2]])) + geom=geom.duplicate(microstructure[0:grid_original[0],0:grid_original[1],0:grid_original[2]]) geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) geom.to_file(sys.stdout if name is None else name,pack=False) From e3f310fa16da4d071149cc07158439311bae4378 Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 26 Aug 2020 15:05:04 +0200 Subject: [PATCH 502/958] [skip ci] updated version information after successful test of v3.0.0-alpha-27-g68c2908b --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 686de838c..9aba6acf5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-22-gcdc9f078 +v3.0.0-alpha-27-g68c2908b From 06b524d13e267aeb88715e7d8ee7f4670f6c3c60 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 26 Aug 2020 21:39:20 +0200 Subject: [PATCH 503/958] added 'iso' as possible lattice (with no symmetry) --- python/damask/_lattice.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index 9df451c69..da8f76b64 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -321,6 +321,7 @@ class Lattice: # ToDo: Make a subclass of Symmetry! """ lattices = { + 'iso': {'system':None}, 'triclinic':{'system':None}, 'bct': {'system':'tetragonal'}, 'hex': {'system':'hexagonal'}, From da46e5ea9a79ef922deb39350991d14391d3b590 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 26 Aug 2020 15:32:48 -0400 Subject: [PATCH 504/958] cannot use np.linalg.norm when dealing with exponent triple --- python/damask/_geom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index c9848e641..08b0b8757 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -585,7 +585,7 @@ class Geom: coords_rot = R.broadcast_to(tuple(self.grid))@coords with np.errstate(over='ignore',under='ignore'): - mask = np.where(np.linalg.norm(coords_rot/r,2.0**exponent,axis=-1) <= 1.0,False,True) + mask = np.where(np.sum(np.power(coords_rot/r,2.0**exponent),axis=-1) <= 1.0,False,True) if periodic: # translate back to center mask = np.roll(mask,((c-np.ones(3)*.5)*self.grid).astype(int),(0,1,2)) From 3f24d16603739bf6cf52ef70c87cc0545857f525 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 26 Aug 2020 16:15:15 -0400 Subject: [PATCH 505/958] renamed VTK.write() to VTK.to_file() --- python/damask/_geom.py | 2 +- python/damask/_result.py | 2 +- python/damask/_vtk.py | 2 +- python/tests/test_Geom.py | 2 +- python/tests/test_VTK.py | 11 +++++------ 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 6632eb5ed..4e2764803 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -513,7 +513,7 @@ class Geom: v.add(self.microstructure.flatten(order='F'),'materialpoint') if fname: - v.write(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') + v.to_file(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') else: sys.stdout.write(v.__repr__()) diff --git a/python/damask/_result.py b/python/damask/_result.py index 8e5bb2e8b..b024da43e 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1264,4 +1264,4 @@ class Result: u = self.read_dataset(self.get_dataset_location('u_n' if mode.lower() == 'cell' else 'u_p')) v.add(u,'u') - v.write(f'{self.fname.stem}_inc{inc[3:].zfill(N_digits)}') + v.to_file(f'{self.fname.stem}_inc{inc[3:].zfill(N_digits)}') diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 349e158ca..53a674c46 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -165,7 +165,7 @@ class VTK: def _write(writer): """Wrapper for parallel writing.""" writer.Write() - def write(self,fname,parallel=True): + def to_file(self,fname,parallel=True): """ Write to file. diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 479dd43fc..d260bbacb 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -80,7 +80,7 @@ class TestGeom: def test_invalid_vtr(self,tmpdir): v = VTK.from_rectilinearGrid(np.random.randint(5,10,3)*2,np.random.random(3) + 1.0) - v.write(tmpdir/'no_materialpoint.vtr') + v.to_file(tmpdir/'no_materialpoint.vtr') for _ in range(10): time.sleep(.2) if os.path.exists(tmpdir/'no_materialpoint.vtr'): break diff --git a/python/tests/test_VTK.py b/python/tests/test_VTK.py index 91ff4033c..1c98522e4 100644 --- a/python/tests/test_VTK.py +++ b/python/tests/test_VTK.py @@ -21,7 +21,7 @@ class TestVTK: origin = np.random.random(3) v = VTK.from_rectilinearGrid(grid,size,origin) string = v.__repr__() - v.write(tmp_path/'rectilinearGrid',False) + v.to_file(tmp_path/'rectilinearGrid',False) vtr = VTK.from_file(tmp_path/'rectilinearGrid.vtr') with open(tmp_path/'rectilinearGrid.vtk','w') as f: f.write(string) @@ -32,7 +32,7 @@ class TestVTK: points = np.random.rand(100,3) v = VTK.from_polyData(points) string = v.__repr__() - v.write(tmp_path/'polyData',False) + v.to_file(tmp_path/'polyData',False) vtp = VTK.from_file(tmp_path/'polyData.vtp') with open(tmp_path/'polyData.vtk','w') as f: f.write(string) @@ -51,7 +51,7 @@ class TestVTK: connectivity = np.random.choice(np.arange(n),n,False).reshape(-1,n) v = VTK.from_unstructuredGrid(nodes,connectivity,cell_type) string = v.__repr__() - v.write(tmp_path/'unstructuredGrid',False) + v.to_file(tmp_path/'unstructuredGrid',False) vtu = VTK.from_file(tmp_path/'unstructuredGrid.vtu') with open(tmp_path/'unstructuredGrid.vtk','w') as f: f.write(string) @@ -64,8 +64,8 @@ class TestVTK: v = VTK.from_polyData(points) fname_s = tmp_path/'single.vtp' fname_p = tmp_path/'parallel.vtp' - v.write(fname_s,False) - v.write(fname_p,True) + v.to_file(fname_s,False) + v.to_file(fname_p,True) for i in range(10): if os.path.isfile(fname_p) and filecmp.cmp(fname_s,fname_p): assert(True) @@ -105,4 +105,3 @@ class TestVTK: else: reference = VTK.from_file(reference_dir/'rectilinearGrid.vtr') assert rectilinearGrid.__repr__() == reference.__repr__() - From b9f1421c6bd9c8edd06d542e041fbd7f1f8a63dd Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 26 Aug 2020 17:27:08 -0400 Subject: [PATCH 506/958] [skip ci] removed unnecessary line continuations "\" --- python/damask/_lattice.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/python/damask/_lattice.py b/python/damask/_lattice.py index da8f76b64..143fa50f1 100644 --- a/python/damask/_lattice.py +++ b/python/damask/_lattice.py @@ -164,16 +164,16 @@ class Symmetry: with np.errstate(invalid='ignore'): # using '*'/prod for 'and' if self.system == 'cubic': - return np.where(np.prod(np.sqrt(2)-1. >= rho_abs,axis=-1) * \ + return np.where(np.prod(np.sqrt(2)-1. >= rho_abs,axis=-1) * (1. >= np.sum(rho_abs,axis=-1)),True,False) elif self.system == 'hexagonal': - return np.where(np.prod(1. >= rho_abs,axis=-1) * \ - (2. >= np.sqrt(3)*rho_abs[...,0] + rho_abs[...,1]) * \ - (2. >= np.sqrt(3)*rho_abs[...,1] + rho_abs[...,0]) * \ + return np.where(np.prod(1. >= rho_abs,axis=-1) * + (2. >= np.sqrt(3)*rho_abs[...,0] + rho_abs[...,1]) * + (2. >= np.sqrt(3)*rho_abs[...,1] + rho_abs[...,0]) * (2. >= np.sqrt(3) + rho_abs[...,2]),True,False) elif self.system == 'tetragonal': - return np.where(np.prod(1. >= rho_abs[...,:2],axis=-1) * \ - (np.sqrt(2) >= rho_abs[...,0] + rho_abs[...,1]) * \ + return np.where(np.prod(1. >= rho_abs[...,:2],axis=-1) * + (np.sqrt(2) >= rho_abs[...,0] + rho_abs[...,1]) * (np.sqrt(2) >= rho_abs[...,2] + 1.),True,False) elif self.system == 'orthorhombic': return np.where(np.prod(1. >= rho_abs,axis=-1),True,False) From 229f6139c837d79321b13bc11a8039dcfafa9a5b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 26 Aug 2020 23:54:56 +0200 Subject: [PATCH 507/958] better user experience - no meaningless warnings regarding floating point precision - meaningful error message for invalid header --- python/damask/_geom.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 08b0b8757..1570c3a9f 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -300,13 +300,16 @@ class Geom: f = fname f.seek(0) - header_length,keyword = f.readline().split()[:2] - header_length = int(header_length) - content = f.readlines() - + try: + header_length,keyword = f.readline().split()[:2] + header_length = int(header_length) + except ValueError: + header_length,keyword = (-1, 'invalid') if not keyword.startswith('head') or header_length < 3: raise TypeError('Header length information missing or invalid') + content = f.readlines() + comments = [] for i,line in enumerate(content[:header_length]): items = line.split('#')[0].lower().strip().split() @@ -584,7 +587,7 @@ class Geom: - ((np.ones(3)-(1./self.grid if np.array(center).dtype in np.sctypes['int'] else 0))*0.5 if periodic else c) # periodic center is always at CoG coords_rot = R.broadcast_to(tuple(self.grid))@coords - with np.errstate(over='ignore',under='ignore'): + with np.errstate(over='ignore',under='ignore',invalid='ignore'): mask = np.where(np.sum(np.power(coords_rot/r,2.0**exponent),axis=-1) <= 1.0,False,True) if periodic: # translate back to center From 248ef8ef97f23ba7075ba026d554a3cedf83d75c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 26 Aug 2020 23:56:20 +0200 Subject: [PATCH 508/958] more tests - invalid files - scalar/array size,center,exponent for add_primitive - rotation invariance for add primitive --- python/tests/test_Geom.py | 40 +++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 1639d9819..665aa5d3b 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -69,7 +69,7 @@ class TestGeom: def test_write_read_file(self,default,tmpdir): with open(tmpdir/'default.geom','w') as f: - default.to_file(f) + default.to_file(f,pack=True) with open(tmpdir/'default.geom') as f: new = Geom.from_file(f) assert geom_equal(default,new) @@ -83,6 +83,7 @@ class TestGeom: def test_read_write_vtr(self,default,tmpdir): default.to_vtr(tmpdir/'default') + print(default.to_vtr()) for _ in range(10): time.sleep(.2) if os.path.exists(tmpdir/'default.vtr'): break @@ -90,6 +91,13 @@ class TestGeom: new = Geom.from_vtr(tmpdir/'default.vtr') assert geom_equal(new,default) + def test_invalid_geom(self,tmpdir): + with open('invalid_file','w') as f: + f.write('this is not a valid header') + with open('invalid_file','r') as f: + with pytest.raises(TypeError): + Geom.from_file(f) + def test_invalid_vtr(self,tmpdir): v = VTK.from_rectilinearGrid(np.random.randint(5,10,3)*2,np.random.random(3) + 1.0) v.write(tmpdir/'no_materialpoint.vtr') @@ -254,19 +262,39 @@ class TestGeom: modified = default.canvas(grid + grid_add) assert np.all(modified.microstructure[:grid[0],:grid[1],:grid[2]] == default.microstructure) - @pytest.mark.parametrize('center1,center2',[(np.random.random(3)*.5,np.random.random(3)), + @pytest.mark.parametrize('center1,center2',[(np.random.random(3)*.5,np.random.random()*8), (np.random.randint(4,8,(3)),np.random.randint(9,12,(3)))]) @pytest.mark.parametrize('diameter',[np.random.random(3)*.5, - np.random.randint(4,10,(3))]) - def test_add_primitive(self,diameter,center1,center2): + np.random.randint(4,10,(3)), + np.random.rand(), + np.random.randint(30)]) + @pytest.mark.parametrize('exponent',[np.random.random(3)*.5, + np.random.randint(4,10,(3)), + np.random.rand()*4, + np.random.randint(20)]) + def test_add_primitive(self,center1,center2,diameter,exponent): """Same volume fraction for periodic microstructures and different center.""" o = np.random.random(3)-.5 g = np.random.randint(8,32,(3)) s = np.random.random(3)+.5 - G_1 = Geom(np.ones(g,'i'),s,o).add_primitive(diameter,center1,1) - G_2 = Geom(np.ones(g,'i'),s,o).add_primitive(diameter,center2,1) + G_1 = Geom(np.ones(g,'i'),s,o).add_primitive(diameter,center1,exponent) + G_2 = Geom(np.ones(g,'i'),s,o).add_primitive(diameter,center2,exponent) assert np.count_nonzero(G_1.microstructure!=2) == np.count_nonzero(G_2.microstructure!=2) + @pytest.mark.parametrize('center',[np.random.randint(4,10,(3)), + np.random.randint(2,10), + np.random.rand()*4, + np.random.rand(3)*10]) + @pytest.mark.parametrize('inverse',[True,False]) + @pytest.mark.parametrize('periodic',[True,False]) + def test_add_primitive_rotation(self,center,inverse,periodic): + g = np.random.randint(8,32,(3)) + s = np.random.random()+.5 + fill = np.random.randint(10)+2 + G_1 = Geom(np.ones(g,'i'),[s,s,s]).add_primitive(s*.3,center,1,fill,inverse=inverse,periodic=periodic) + G_2 = Geom(np.ones(g,'i'),[s,s,s]).add_primitive(s*.3,center,1,fill,Rotation.from_random(),inverse,periodic=periodic) + assert geom_equal(G_1,G_2) + @pytest.mark.parametrize('trigger',[[1],[]]) def test_vicinity_offset(self,trigger): offset = np.random.randint(2,4) From c2191fd930bd8db39b542be977831ff4b1539d01 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 27 Aug 2020 00:06:52 +0200 Subject: [PATCH 509/958] Make logic to mask (outside of) primitive more apparent (hopefully). --- python/damask/_geom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 1570c3a9f..c5833af6c 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -588,7 +588,7 @@ class Geom: coords_rot = R.broadcast_to(tuple(self.grid))@coords with np.errstate(over='ignore',under='ignore',invalid='ignore'): - mask = np.where(np.sum(np.power(coords_rot/r,2.0**exponent),axis=-1) <= 1.0,False,True) + mask = np.where(np.sum(np.power(coords_rot/r,2.0**exponent),axis=-1) > 1.0,True,False) if periodic: # translate back to center mask = np.roll(mask,((c-np.ones(3)*.5)*self.grid).astype(int),(0,1,2)) From c5761831e23d17ac7cabed63ef646371bff951ec Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 27 Aug 2020 00:14:37 +0200 Subject: [PATCH 510/958] more meaningful message if add_xxx (Results) does not find matching datasets, inform the user about this fact instead of saying TypeError: object of type 'IMapUnorderedIterator' has no len() --- python/damask/_result.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/python/damask/_result.py b/python/damask/_result.py index 8e5bb2e8b..2ada4cd01 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1065,6 +1065,10 @@ class Result: lock = mp.Manager().Lock() groups = self.groups_with_datasets(datasets.values()) + if len(groups) == 0: + print('No matching dataset found, no data was added.') + return + default_arg = partial(self._job,func=func,datasets=datasets,args=args,lock=lock) for result in util.show_progress(pool.imap_unordered(default_arg,groups),len(groups)): From 94797f832580d55e2e5adc3a214bffee381eecb4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 27 Aug 2020 09:32:49 +0200 Subject: [PATCH 511/958] ignore all kinds of FPE --- python/damask/_geom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index c5833af6c..8a5dfcdc9 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -587,7 +587,7 @@ class Geom: - ((np.ones(3)-(1./self.grid if np.array(center).dtype in np.sctypes['int'] else 0))*0.5 if periodic else c) # periodic center is always at CoG coords_rot = R.broadcast_to(tuple(self.grid))@coords - with np.errstate(over='ignore',under='ignore',invalid='ignore'): + with np.errstate(all='ignore'): mask = np.where(np.sum(np.power(coords_rot/r,2.0**exponent),axis=-1) > 1.0,True,False) if periodic: # translate back to center From 0d5279863db1682159ae69492b3372e5d2d97f85 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 27 Aug 2020 09:33:09 +0200 Subject: [PATCH 512/958] avoid rounding errors related to rotation --- python/tests/test_Geom.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 665aa5d3b..423f1b961 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -272,7 +272,7 @@ class TestGeom: np.random.randint(4,10,(3)), np.random.rand()*4, np.random.randint(20)]) - def test_add_primitive(self,center1,center2,diameter,exponent): + def test_add_primitive_shift(self,center1,center2,diameter,exponent): """Same volume fraction for periodic microstructures and different center.""" o = np.random.random(3)-.5 g = np.random.randint(8,32,(3)) @@ -288,11 +288,12 @@ class TestGeom: @pytest.mark.parametrize('inverse',[True,False]) @pytest.mark.parametrize('periodic',[True,False]) def test_add_primitive_rotation(self,center,inverse,periodic): - g = np.random.randint(8,32,(3)) - s = np.random.random()+.5 + """Rotation should not chage result for sphere (avoid discretization errors.""" + g = np.array([32,32,32]) fill = np.random.randint(10)+2 - G_1 = Geom(np.ones(g,'i'),[s,s,s]).add_primitive(s*.3,center,1,fill,inverse=inverse,periodic=periodic) - G_2 = Geom(np.ones(g,'i'),[s,s,s]).add_primitive(s*.3,center,1,fill,Rotation.from_random(),inverse,periodic=periodic) + eu=np.array([np.random.randint(4),np.random.randint(2),np.random.randint(4)])*.5*np.pi + G_1 = Geom(np.ones(g,'i'),[1.,1.,1.]).add_primitive(.3,center,1,fill,inverse=inverse,periodic=periodic) + G_2 = Geom(np.ones(g,'i'),[1.,1.,1.]).add_primitive(.3,center,1,fill,Rotation.from_Eulers(eu),inverse,periodic=periodic) assert geom_equal(G_1,G_2) @pytest.mark.parametrize('trigger',[[1],[]]) From 4090fdb1dd53cc7b147528ff33e7a10dd52f0894 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 27 Aug 2020 15:51:27 +0200 Subject: [PATCH 513/958] [skip ci] updated version information after successful test of v3.0.0-alpha-32-g792db297 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 9aba6acf5..7fd44eedf 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-27-g68c2908b +v3.0.0-alpha-32-g792db297 From 338281e0abf5d6e3f70acd0f3df93d92ef04c70f Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 27 Aug 2020 19:32:28 +0200 Subject: [PATCH 514/958] [skip ci] updated version information after successful test of v3.0.0-alpha-41-g94574356 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 7fd44eedf..73dd90e38 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-32-g792db297 +v3.0.0-alpha-41-g94574356 From c58693328e7fdd2b71c9b5caf830c78b16b64ecb Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 28 Aug 2020 12:45:41 +0200 Subject: [PATCH 515/958] don't try to access folders that don't exist this happened in the case when different types of output exist in different phases, e.g. Aluminum: generic, plastic, sources Steel: generic, plastic We are a little bit inconsistent because 'generic' and 'plastic' are always created (even if empty) but 'sources' will only exist if it contains output. In future, we should have only folders that actually contain data --- python/damask/_result.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 2ada4cd01..d739db8f5 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -401,8 +401,9 @@ class Result: if sets is True: groups.append(group) else: - match = [e for e_ in [glob.fnmatch.filter(f[group].keys(),s) for s in sets] for e in e_] - if len(set(match)) == len(sets): groups.append(group) + if group in f.keys(): + match = [e for e_ in [glob.fnmatch.filter(f[group].keys(),s) for s in sets] for e in e_] + if len(set(match)) == len(sets): groups.append(group) return groups From 03b02ad641c428729b9e6334919b155fe05960cc Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 29 Aug 2020 16:06:10 +0200 Subject: [PATCH 516/958] typos/sentence --- python/tests/test_Geom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 423f1b961..91cb61591 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -288,7 +288,7 @@ class TestGeom: @pytest.mark.parametrize('inverse',[True,False]) @pytest.mark.parametrize('periodic',[True,False]) def test_add_primitive_rotation(self,center,inverse,periodic): - """Rotation should not chage result for sphere (avoid discretization errors.""" + """Rotation should not change result for sphere (except for discretization errors).""" g = np.array([32,32,32]) fill = np.random.randint(10)+2 eu=np.array([np.random.randint(4),np.random.randint(2),np.random.randint(4)])*.5*np.pi From 44bb99c57a3048723fb52222e21683aaa6506ecc Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 29 Aug 2020 16:34:19 +0200 Subject: [PATCH 517/958] not needed --- src/material.f90 | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/material.f90 b/src/material.f90 index c89113311..efdeeafcb 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -241,7 +241,6 @@ subroutine material_parseHomogenization homogDamage integer :: h - logical, dimension(:), allocatable :: homogenization_active material_homogenization => material_root%get('homogenization') material_Nhomogenization = material_homogenization%length @@ -253,13 +252,9 @@ subroutine material_parseHomogenization allocate(thermal_typeInstance(material_Nhomogenization), source=0) allocate(damage_typeInstance(material_Nhomogenization), source=0) allocate(homogenization_Ngrains(material_Nhomogenization), source=0) - allocate(homogenization_active(material_Nhomogenization), source=.false.) !!!!!!!!!!!!!!! allocate(thermal_initialT(material_Nhomogenization), source=300.0_pReal) allocate(damage_initialPhi(material_Nhomogenization), source=1.0_pReal) - forall (h = 1:material_Nhomogenization) & - homogenization_active(h) = any(discretization_homogenizationAt == h) !ToDo: SR: needed?? - do h=1, material_Nhomogenization homog => material_homogenization%get(h) homogMech => homog%get('mech') @@ -317,7 +312,7 @@ subroutine material_parseHomogenization damage_typeInstance(h) = count(damage_type (1:h) == damage_type (h)) enddo - homogenization_maxNgrains = maxval(homogenization_Ngrains,homogenization_active) + homogenization_maxNgrains = maxval(homogenization_Ngrains) end subroutine material_parseHomogenization From 23bf51cca0176664abdfe12912ef1f8e4c242cbc Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 29 Aug 2020 16:45:18 +0200 Subject: [PATCH 518/958] homogenizationAt from discretization not needed anymore --- src/discretization.f90 | 5 +---- src/grid/discretization_grid.f90 | 20 +++++--------------- src/marc/discretization_marc.f90 | 29 ++++++++++++----------------- src/material.f90 | 2 +- src/mesh/discretization_mesh.f90 | 4 +--- 5 files changed, 20 insertions(+), 40 deletions(-) diff --git a/src/discretization.f90 b/src/discretization.f90 index e52784c6d..4520bf2ca 100644 --- a/src/discretization.f90 +++ b/src/discretization.f90 @@ -15,7 +15,6 @@ module discretization discretization_nElem integer, public, protected, dimension(:), allocatable :: & - discretization_homogenizationAt, & discretization_microstructureAt real(pReal), public, protected, dimension(:,:), allocatable :: & @@ -38,12 +37,11 @@ contains !-------------------------------------------------------------------------------------------------- !> @brief stores the relevant information in globally accesible variables !-------------------------------------------------------------------------------------------------- -subroutine discretization_init(homogenizationAt,microstructureAt,& +subroutine discretization_init(microstructureAt,& IPcoords0,NodeCoords0,& sharedNodesBegin) integer, dimension(:), intent(in) :: & - homogenizationAt, & microstructureAt real(pReal), dimension(:,:), intent(in) :: & IPcoords0, & @@ -56,7 +54,6 @@ subroutine discretization_init(homogenizationAt,microstructureAt,& discretization_nElem = size(microstructureAt,1) discretization_nIP = size(IPcoords0,2)/discretization_nElem - discretization_homogenizationAt = homogenizationAt discretization_microstructureAt = microstructureAt discretization_IPcoords0 = IPcoords0 diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 6d128eb0b..995f9e104 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -53,8 +53,7 @@ subroutine discretization_grid_init(restart) myGrid !< domain grid of this process integer, dimension(:), allocatable :: & - microstructureAt, & - homogenizationAt + microstructureAt integer :: & j, & @@ -65,7 +64,7 @@ subroutine discretization_grid_init(restart) write(6,'(/,a)') ' <<<+- discretization_grid init -+>>>'; flush(6) - call readGeom(grid,geomSize,origin,microstructureAt,homogenizationAt) + call readGeom(grid,geomSize,origin,microstructureAt) !-------------------------------------------------------------------------------------------------- ! grid solver specific quantities @@ -94,10 +93,8 @@ subroutine discretization_grid_init(restart) ! general discretization microstructureAt = microstructureAt(product(grid(1:2))*grid3Offset+1: & product(grid(1:2))*(grid3Offset+grid3)) ! reallocate/shrink in case of MPI - homogenizationAt = homogenizationAt(product(grid(1:2))*grid3Offset+1: & - product(grid(1:2))*(grid3Offset+grid3)) ! reallocate/shrink in case of MPI - call discretization_init(homogenizationAt,microstructureAt, & + call discretization_init(microstructureAt, & IPcoordinates0(myGrid,mySize,grid3Offset), & Nodes0(myGrid,mySize,grid3Offset),& merge((grid(1)+1) * (grid(2)+1) * (grid3+1),& ! write bottom layer @@ -139,7 +136,7 @@ end subroutine discretization_grid_init !> @details important variables have an implicit "save" attribute. Therefore, this function is ! supposed to be called only once! !-------------------------------------------------------------------------------------------------- -subroutine readGeom(grid,geomSize,origin,microstructure,homogenization) +subroutine readGeom(grid,geomSize,origin,microstructure) integer, dimension(3), intent(out) :: & grid ! grid (for all processes!) @@ -147,8 +144,7 @@ subroutine readGeom(grid,geomSize,origin,microstructure,homogenization) geomSize, & ! size (for all processes!) origin ! origin (for all processes!) integer, dimension(:), intent(out), allocatable :: & - microstructure, & - homogenization + microstructure character(len=:), allocatable :: rawData character(len=65536) :: line @@ -249,24 +245,18 @@ subroutine readGeom(grid,geomSize,origin,microstructure,homogenization) enddo endif - case ('homogenization') - if (chunkPos(1) > 1) h = IO_intValue(line,chunkPos,2) - end select enddo !-------------------------------------------------------------------------------------------------- ! sanity checks - if(h < 1) & - call IO_error(error_ID = 842, ext_msg='homogenization (readGeom)') if(any(grid < 1)) & call IO_error(error_ID = 842, ext_msg='grid (readGeom)') if(any(geomSize < 0.0_pReal)) & call IO_error(error_ID = 842, ext_msg='size (readGeom)') allocate(microstructure(product(grid)), source = -1) ! too large in case of MPI (shrink later, not very elegant) - allocate(homogenization(product(grid)), source = h) ! too large in case of MPI (shrink later, not very elegant) !-------------------------------------------------------------------------------------------------- ! read and interpret content diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index e5c382fe1..618e3195b 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -52,8 +52,7 @@ subroutine discretization_marc_init type(tElement) :: elem integer, dimension(:), allocatable :: & - microstructureAt, & - homogenizationAt + microstructureAt integer:: & Nnodes, & !< total number of nodes in the mesh Nelems, & !< total number of elements in the mesh @@ -84,7 +83,7 @@ subroutine discretization_marc_init mesh_unitlength = num_commercialFEM%get_asFloat('unitlength',defaultVal=1.0_pReal) ! set physical extent of a length unit in mesh if (mesh_unitlength <= 0.0_pReal) call IO_error(301,ext_msg='unitlength') - call inputRead(elem,node0_elem,connectivity_elem,microstructureAt,homogenizationAt) + call inputRead(elem,node0_elem,connectivity_elem,microstructureAt) nElems = size(connectivity_elem,2) if (debug_e < 1 .or. debug_e > nElems) call IO_error(602,ext_msg='element') @@ -104,7 +103,7 @@ subroutine discretization_marc_init call buildIPcoordinates(IP_reshaped,reshape(connectivity_cell,[elem%NcellNodesPerCell,& elem%nIPs*nElems]),node0_cell) - call discretization_init(microstructureAt,homogenizationAt,& + call discretization_init(microstructureAt,& IP_reshaped,& node0_cell) @@ -173,7 +172,7 @@ end subroutine writeGeometry !-------------------------------------------------------------------------------------------------- !> @brief Read mesh from marc input file !-------------------------------------------------------------------------------------------------- -subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt,homogenizationAt) +subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt) type(tElement), intent(out) :: elem real(pReal), dimension(:,:), allocatable, intent(out) :: & @@ -181,8 +180,7 @@ subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt,homogeni integer, dimension(:,:), allocatable, intent(out) :: & connectivity_elem integer, dimension(:), allocatable, intent(out) :: & - microstructureAt, & - homogenizationAt + microstructureAt integer :: & fileFormatVersion, & @@ -228,9 +226,9 @@ subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt,homogeni connectivity_elem = inputRead_connectivityElem(nElems,elem%nNodes,inputFile) - call inputRead_microstructureAndHomogenization(microstructureAt,homogenizationAt, & - nElems,elem%nNodes,nameElemSet,mapElemSet,& - initialcondTableStyle,inputFile) + call inputRead_microstructureAnd(microstructureAt, & + nElems,elem%nNodes,nameElemSet,mapElemSet,& + initialcondTableStyle,inputFile) end subroutine inputRead @@ -677,14 +675,13 @@ end function inputRead_connectivityElem !-------------------------------------------------------------------------------------------------- -!> @brief Stores homogenization and microstructure ID +!> @brief Store microstructure ID !-------------------------------------------------------------------------------------------------- -subroutine inputRead_microstructureAndHomogenization(microstructureAt,homogenizationAt, & +subroutine inputRead_microstructure(microstructureAt,& nElem,nNodes,nameElemSet,mapElemSet,initialcondTableStyle,fileContent) integer, dimension(:), allocatable, intent(out) :: & - microstructureAt, & - homogenizationAt + microstructureAt integer, intent(in) :: & nElem, & nNodes, & !< number of nodes per element @@ -700,7 +697,6 @@ subroutine inputRead_microstructureAndHomogenization(microstructureAt,homogeniza allocate(microstructureAt(nElem),source=0) - allocate(homogenizationAt(nElem),source=0) do l = 1, size(fileContent) chunkPos = IO_stringPos(fileContent(l)) @@ -720,7 +716,6 @@ subroutine inputRead_microstructureAndHomogenization(microstructureAt,homogeniza do i = 1,contInts(1) e = mesh_FEM2DAMASK_elem(contInts(1+i)) if (sv == 2) microstructureAt(e) = myVal - if (sv == 3) homogenizationAt(e) = myVal enddo if (initialcondTableStyle == 0) m = m + 1 enddo @@ -728,7 +723,7 @@ subroutine inputRead_microstructureAndHomogenization(microstructureAt,homogeniza endif enddo -end subroutine inputRead_microstructureAndHomogenization +end subroutine inputRead_microstructure !-------------------------------------------------------------------------------------------------- diff --git a/src/material.f90 b/src/material.f90 index efdeeafcb..864760c76 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -80,7 +80,7 @@ module material damage_initialPhi !< initial damage per each homogenization integer, dimension(:), allocatable, public, protected :: & ! (elem) - material_homogenizationAt !< homogenization ID of each element (copy of discretization_homogenizationAt) + material_homogenizationAt !< homogenization ID of each element integer, dimension(:,:), allocatable, public, target :: & ! (ip,elem) ToDo: ugly target for mapping hack material_homogenizationMemberAt !< position of the element within its homogenization instance integer, dimension(:,:), allocatable, public, protected :: & ! (constituent,elem) diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index 7964e1220..ac6ccf528 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -77,7 +77,6 @@ subroutine discretization_mesh_init(restart) IS :: faceSetIS PetscErrorCode :: ierr integer, dimension(:), allocatable :: & - homogenizationAt, & microstructureAt class(tNode), pointer :: & num_mesh @@ -165,7 +164,6 @@ subroutine discretization_mesh_init(restart) call mesh_FEM_build_ipVolumes(dimPlex) allocate(microstructureAt(mesh_NcpElems)) - allocate(homogenizationAt(mesh_NcpElems),source=1) do j = 1, mesh_NcpElems call DMGetLabelValue(geomMesh,'material',j-1,microstructureAt(j),ierr) CHKERRQ(ierr) @@ -179,7 +177,7 @@ subroutine discretization_mesh_init(restart) allocate(mesh_node0(3,mesh_Nnodes),source=0.0_pReal) - call discretization_init(microstructureAt,homogenizationAt,& + call discretization_init(microstructureAt,& reshape(mesh_ipCoordinates,[3,mesh_maxNips*mesh_NcpElems]), & mesh_node0) From 80b84cf76a2bb9bc75bcb8f99eafca06197ad7fe Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 29 Aug 2020 23:37:59 +0200 Subject: [PATCH 519/958] fixed hickup of state variables two times the wrong location resulted in the correct behavior before --- src/marc/discretization_marc.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index 618e3195b..2930e02b1 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -715,7 +715,7 @@ subroutine inputRead_microstructure(microstructureAt,& contInts = continuousIntValues(fileContent(l+k+m+1:),nElem,nameElemSet,mapElemSet,size(nameElemSet)) ! get affected elements do i = 1,contInts(1) e = mesh_FEM2DAMASK_elem(contInts(1+i)) - if (sv == 2) microstructureAt(e) = myVal + if (sv == 3) microstructureAt(e) = myVal enddo if (initialcondTableStyle == 0) m = m + 1 enddo From d66cdc8324298abc0f3613a18a71a2d42171c788 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 30 Aug 2020 06:52:15 +0200 Subject: [PATCH 520/958] fixed incomplete rename --- src/marc/discretization_marc.f90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index 2930e02b1..fd0852257 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -226,9 +226,9 @@ subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt) connectivity_elem = inputRead_connectivityElem(nElems,elem%nNodes,inputFile) - call inputRead_microstructureAnd(microstructureAt, & - nElems,elem%nNodes,nameElemSet,mapElemSet,& - initialcondTableStyle,inputFile) + call inputRead_microstructure(microstructureAt, & + nElems,elem%nNodes,nameElemSet,mapElemSet,& + initialcondTableStyle,inputFile) end subroutine inputRead From ffd45aa5fcf5b6f5ea11e3c8998cf3e8ffcad440 Mon Sep 17 00:00:00 2001 From: Test User Date: Sun, 30 Aug 2020 20:54:25 +0200 Subject: [PATCH 521/958] [skip ci] updated version information after successful test of v3.0.0-alpha-47-g3ee8c471 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 73dd90e38..bcb442f66 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-41-g94574356 +v3.0.0-alpha-47-g3ee8c471 From 33527c126315b6f731bdcf7b597a1ea2ed65005a Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 31 Aug 2020 15:00:07 +0200 Subject: [PATCH 522/958] [skip ci] updated version information after successful test of v3.0.0-alpha-51-g31282973 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index bcb442f66..70c328358 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-47-g3ee8c471 +v3.0.0-alpha-51-g31282973 From 41f7c6597ac10a6667f9594d913377a4efbccc06 Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 31 Aug 2020 20:03:24 +0200 Subject: [PATCH 523/958] [skip ci] updated version information after successful test of v3.0.0-alpha-75-g6986d20b --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index bcb442f66..812818d60 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-47-g3ee8c471 +v3.0.0-alpha-75-g6986d20b From d645849bafff5c5c7e43cec968102b2acd898a53 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 2 Sep 2020 11:32:40 -0400 Subject: [PATCH 524/958] fixed remnant occurrences of .write() --> .to_file() --- python/tests/test_VTK.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python/tests/test_VTK.py b/python/tests/test_VTK.py index 197e7ccf6..f6be4da25 100644 --- a/python/tests/test_VTK.py +++ b/python/tests/test_VTK.py @@ -94,7 +94,7 @@ class TestVTK: def test_invalid_extension_write(self,default): with pytest.raises(ValueError): - default.write('default.txt') + default.to_file('default.txt') def test_invalid_get(self,default): with pytest.raises(ValueError): @@ -115,7 +115,7 @@ class TestVTK: def test_comments(self,tmp_path,default): default.add_comments(['this is a comment']) - default.write(tmp_path/'with_comments',parallel=False) + default.to_file(tmp_path/'with_comments',parallel=False) new = VTK.from_file(tmp_path/'with_comments.vtr') assert new.get_comments() == ['this is a comment'] @@ -124,7 +124,7 @@ class TestVTK: polyData = VTK.from_polyData(points) polyData.add(points,'coordinates') if update: - polyData.write(reference_dir/'polyData') + polyData.to_file(reference_dir/'polyData') else: reference = VTK.from_file(reference_dir/'polyData.vtp') assert polyData.__repr__() == reference.__repr__() and \ @@ -139,7 +139,7 @@ class TestVTK: rectilinearGrid.add(c,'cell') rectilinearGrid.add(n,'node') if update: - rectilinearGrid.write(reference_dir/'rectilinearGrid') + rectilinearGrid.to_file(reference_dir/'rectilinearGrid') else: reference = VTK.from_file(reference_dir/'rectilinearGrid.vtr') assert rectilinearGrid.__repr__() == reference.__repr__() and \ From 3954ccb6b4b1884520d99e0d9a3ab7b91f6a8cb0 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 3 Sep 2020 00:47:58 +0200 Subject: [PATCH 525/958] [skip ci] updated version information after successful test of v3.0.0-alpha-84-g2f1e0644 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 70c328358..45c1ab198 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-51-g31282973 +v3.0.0-alpha-84-g2f1e0644 From a4785ba562ae1b9900fd5955591343ed61edbd59 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 3 Sep 2020 10:41:22 -0400 Subject: [PATCH 526/958] modified file writing of geom and table to a general to_file() that takes a "format=" argument --- python/damask/_colormap.py | 4 +- python/damask/_geom.py | 186 +++++++++++++++++++++---------------- python/damask/_table.py | 67 ++++++++----- python/tests/test_Geom.py | 15 +-- python/tests/test_Table.py | 17 ++-- 5 files changed, 170 insertions(+), 119 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 59f3b749d..fccb8642b 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -300,9 +300,9 @@ class Colormap(mpl.colors.ListedColormap): if fhandle is None: with open(colormap.name.replace(' ','_')+'.txt', 'w') as f: - t.to_ASCII(f,True) + t.to_file(f,new_style=True) else: - t.to_ASCII(fhandle,True) + t.to_file(fhandle,new_style=True) @staticmethod def _export_GOM(colormap,fhandle=None): diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 93805734e..f5dc05f2f 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -447,7 +447,7 @@ class Geom: ) - def to_file(self,fname,pack=None): + def to_file(self,fname,format='vtr',pack=None): """ Writes a geom file. @@ -455,94 +455,120 @@ class Geom: ---------- fname : str or file handle Geometry file to write. + format : {'vtr', 'ASCII'}, optional + File format, defaults to 'vtr'. Available formats are: + - vtr: VTK rectilinear grid file, extension '.vtr'. + - ASCII: Plain text file, extension '.geom'. pack : bool, optional - Compress geometry with 'x of y' and 'a to b'. + Compress ASCII geometry with 'x of y' and 'a to b'. """ - header = [f'{len(self.comments)+4} header'] + self.comments - header.append('grid a {} b {} c {}'.format(*self.get_grid())) - header.append('size x {} y {} z {}'.format(*self.get_size())) - header.append('origin x {} y {} z {}'.format(*self.get_origin())) - header.append(f'homogenization {self.get_homogenization()}') + def _to_ASCII(geom,fname,pack=None): + """ + Writes a geom file. - grid = self.get_grid() + Parameters + ---------- + geom : Geom object + Geometry to write. + fname : str or file handle + Geometry file to write. + pack : bool, optional + Compress geometry with 'x of y' and 'a to b'. - if pack is None: - plain = grid.prod()/self.N_microstructure < 250 + """ + header = [f'{len(geom.comments)+4} header'] + geom.comments + header.append('grid a {} b {} c {}'.format(*geom.get_grid())) + header.append('size x {} y {} z {}'.format(*geom.get_size())) + header.append('origin x {} y {} z {}'.format(*geom.get_origin())) + header.append(f'homogenization {geom.get_homogenization()}') + + grid = geom.get_grid() + + if pack is None: + plain = grid.prod()/geom.N_microstructure < 250 + else: + plain = not pack + + if plain: + format_string = '%g' if geom.microstructure.dtype in np.sctypes['float'] else \ + '%{}i'.format(1+int(np.floor(np.log10(np.nanmax(geom.microstructure))))) + np.savetxt(fname, + geom.microstructure.reshape([grid[0],np.prod(grid[1:])],order='F').T, + header='\n'.join(header), fmt=format_string, comments='') + else: + try: + f = open(fname,'w') + except TypeError: + f = fname + + compressType = None + former = start = -1 + reps = 0 + for current in geom.microstructure.flatten('F'): + if abs(current - former) == 1 and (start - current) == reps*(former - current): + compressType = 'to' + reps += 1 + elif current == former and start == former: + compressType = 'of' + reps += 1 + else: + if compressType is None: + f.write('\n'.join(header)+'\n') + elif compressType == '.': + f.write(f'{former}\n') + elif compressType == 'to': + f.write(f'{start} to {former}\n') + elif compressType == 'of': + f.write(f'{reps} of {former}\n') + + compressType = '.' + start = current + reps = 1 + + former = current + + if compressType == '.': + f.write(f'{former}\n') + elif compressType == 'to': + f.write(f'{start} to {former}\n') + elif compressType == 'of': + f.write(f'{reps} of {former}\n') + + + def _to_vtr(geom,fname=None): + """ + Generates vtk rectilinear grid. + + Parameters + ---------- + geom : Geom object + Geometry to write. + fname : str, optional + Filename to write. If no file is given, a string is returned. + Valid extension is .vtr, it will be appended if not given. + + """ + v = VTK.from_rectilinearGrid(geom.grid,geom.size,geom.origin) + v.add(geom.microstructure.flatten(order='F'),'materialpoint') + v.add_comments(geom.comments) + + if fname: + v.to_file(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') + else: + sys.stdout.write(v.__repr__()) + + if format.lower() == 'ascii': + return _to_ASCII(self,fname,pack) + elif format.lower() == 'vtr': + return _to_vtr(self,fname) else: - plain = not pack + raise TypeError(f'Unknown format {format}.') - if plain: - format_string = '%g' if self.microstructure.dtype in np.sctypes['float'] else \ - '%{}i'.format(1+int(np.floor(np.log10(np.nanmax(self.microstructure))))) - np.savetxt(fname, - self.microstructure.reshape([grid[0],np.prod(grid[1:])],order='F').T, - header='\n'.join(header), fmt=format_string, comments='') - else: - try: - f = open(fname,'w') - except TypeError: - f = fname - - compressType = None - former = start = -1 - reps = 0 - for current in self.microstructure.flatten('F'): - if abs(current - former) == 1 and (start - current) == reps*(former - current): - compressType = 'to' - reps += 1 - elif current == former and start == former: - compressType = 'of' - reps += 1 - else: - if compressType is None: - f.write('\n'.join(header)+'\n') - elif compressType == '.': - f.write(f'{former}\n') - elif compressType == 'to': - f.write(f'{start} to {former}\n') - elif compressType == 'of': - f.write(f'{reps} of {former}\n') - - compressType = '.' - start = current - reps = 1 - - former = current - - if compressType == '.': - f.write(f'{former}\n') - elif compressType == 'to': - f.write(f'{start} to {former}\n') - elif compressType == 'of': - f.write(f'{reps} of {former}\n') - - - def to_vtr(self,fname=None): - """ - Generates vtk rectilinear grid. - - Parameters - ---------- - fname : str, optional - Filename to write. If no file is given, a string is returned. - Valid extension is .vtr, it will be appended if not given. - - """ - v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) - v.add(self.microstructure.flatten(order='F'),'materialpoint') - v.add_comments(self.comments) - - if fname: - v.to_file(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') - else: - sys.stdout.write(v.__repr__()) - - - def as_ASCII(self): + def as_ASCII(self,pack=False): """Format geometry as human-readable ASCII.""" f = StringIO() - self.to_file(f) + self.to_file(f,'ASCII',pack) f.seek(0) return ''.join(f.readlines()) diff --git a/python/damask/_table.py b/python/damask/_table.py index fd8cf0fe3..180c51f6f 100644 --- a/python/damask/_table.py +++ b/python/damask/_table.py @@ -313,7 +313,7 @@ class Table: self.shapes[key] = other.shapes[key] - def to_ASCII(self,fname,new_style=False): + def to_file(self,fname,format='ASCII',new_style=False): """ Store as plain text file. @@ -321,32 +321,51 @@ class Table: ---------- fname : file, str, or pathlib.Path Filename or file for writing. + format : {ASCII'}, optional + File format, defaults to 'ASCII'. Available formats are: + - ASCII: Plain text file, extension '.txt'. new_style : Boolean, optional Write table in new style, indicating header lines by comment sign ('#') only. """ - seen = set() - labels = [] - for l in [x for x in self.data.columns if not (x in seen or seen.add(x))]: - if self.shapes[l] == (1,): - labels.append(f'{l}') - elif len(self.shapes[l]) == 1: - labels += [f'{i+1}_{l}' \ - for i in range(self.shapes[l][0])] - else: - labels += [f'{util.srepr(self.shapes[l],"x")}:{i+1}_{l}' \ - for i in range(np.prod(self.shapes[l]))] + def _to_ASCII(table,fname,new_style=False): + """ + Store as plain text file. - if new_style: - header = [f'# {comment}' for comment in self.comments] + Parameters + ---------- + table : Table object + Table to write. + fname : file, str, or pathlib.Path + Filename or file for writing. + new_style : Boolean, optional + Write table in new style, indicating header lines by comment sign ('#') only. + + """ + seen = set() + labels = [] + for l in [x for x in table.data.columns if not (x in seen or seen.add(x))]: + if table.shapes[l] == (1,): + labels.append(f'{l}') + elif len(table.shapes[l]) == 1: + labels += [f'{i+1}_{l}' \ + for i in range(table.shapes[l][0])] + else: + labels += [f'{util.srepr(table.shapes[l],"x")}:{i+1}_{l}' \ + for i in range(np.prod(table.shapes[l]))] + + header = [f'# {comment}' for comment in table.comments] if new_style else \ + [f'{len(table.comments)+1} header'] + table.comments + + try: + f = open(fname,'w') + except TypeError: + f = fname + + for line in header + [' '.join(labels)]: f.write(line+'\n') + table.data.to_csv(f,sep=' ',na_rep='nan',index=False,header=False) + + if format.lower() == 'ascii': + return _to_ASCII(self,fname,new_style) else: - header = [f'{len(self.comments)+1} header'] \ - + self.comments \ - - try: - f = open(fname,'w') - except TypeError: - f = fname - - for line in header + [' '.join(labels)]: f.write(line+'\n') - self.data.to_csv(f,sep=' ',na_rep='nan',index=False,header=False) + raise TypeError(f'Unknown format {format}.') diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 9f419f3fb..870cc7469 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -63,13 +63,13 @@ class TestGeom: def test_write_read_str(self,default,tmpdir): - default.to_file(str(tmpdir/'default.geom')) + default.to_file(str(tmpdir/'default.geom'),format='ASCII') new = Geom.from_file(str(tmpdir/'default.geom')) assert geom_equal(default,new) def test_write_read_file(self,default,tmpdir): with open(tmpdir/'default.geom','w') as f: - default.to_file(f,pack=True) + default.to_file(f,format='ASCII',pack=True) with open(tmpdir/'default.geom') as f: new = Geom.from_file(f) assert geom_equal(default,new) @@ -82,8 +82,7 @@ class TestGeom: assert geom_equal(default,new) def test_read_write_vtr(self,default,tmpdir): - default.to_vtr(tmpdir/'default') - print(default.to_vtr()) + default.to_file(tmpdir/'default',format='vtr') for _ in range(10): time.sleep(.2) if os.path.exists(tmpdir/'default.vtr'): break @@ -110,7 +109,7 @@ class TestGeom: @pytest.mark.parametrize('pack',[True,False]) def test_pack(self,default,tmpdir,pack): - default.to_file(tmpdir/'default.geom',pack=pack) + default.to_file(tmpdir/'default.geom',format='ASCII',pack=pack) new = Geom.from_file(tmpdir/'default.geom') assert geom_equal(new,default) @@ -140,6 +139,10 @@ class TestGeom: with pytest.raises(TypeError): default.set_homogenization(homogenization=0) + def test_invalid_write_format(self,default): + with pytest.raises(TypeError): + default.to_file(format='invalid') + @pytest.mark.parametrize('directions,reflect',[ (['x'], False), (['x','y','z'],True), @@ -196,7 +199,7 @@ class TestGeom: current = default.clean(stencil,selection,periodic) reference = reference_dir/f'clean_{stencil}_{"+".join(map(str,[None] if selection is None else selection))}_{periodic}' if update and stencil > 1: - current.to_vtr(reference) + current.to_file(reference,format='vtr') for _ in range(10): time.sleep(.2) if os.path.exists(reference.with_suffix('.vtr')): break diff --git a/python/tests/test_Table.py b/python/tests/test_Table.py index f23d2f842..6f9eca2d5 100644 --- a/python/tests/test_Table.py +++ b/python/tests/test_Table.py @@ -35,7 +35,7 @@ class TestTable: @pytest.mark.parametrize('mode',['str','path']) def test_write_read(self,default,tmpdir,mode): - default.to_ASCII(tmpdir/'default.txt') + default.to_file(tmpdir/'default.txt') if mode == 'path': new = Table.from_ASCII(tmpdir/'default.txt') elif mode == 'str': @@ -43,19 +43,22 @@ class TestTable: assert all(default.data==new.data) and default.shapes == new.shapes def test_write_read_file(self,default,tmpdir): - with open(tmpdir.join('default.txt'),'w') as f: - default.to_ASCII(f) - with open(tmpdir.join('default.txt')) as f: + with open(tmpdir/'default.txt','w') as f: + default.to_file(f) + with open(tmpdir/'default.txt') as f: new = Table.from_ASCII(f) assert all(default.data==new.data) and default.shapes == new.shapes def test_write_read_new_style(self,default,tmpdir): - with open(tmpdir.join('new_style.txt'),'w') as f: - default.to_ASCII(f,new_style=True) - with open(tmpdir.join('new_style.txt')) as f: + with open(tmpdir/'new_style.txt','w') as f: + default.to_file(f,new_style=True) + with open(tmpdir/'new_style.txt') as f: new = Table.from_ASCII(f) assert all(default.data==new.data) and default.shapes == new.shapes + def test_write_invalid_format(self,default,tmpdir): + with pytest.raises(TypeError): + default.to_file(tmpdir/'shouldnotbethere.txt',format='invalid') @pytest.mark.parametrize('mode',['str','path']) def test_read_ang(self,reference_dir,mode): From be0668dc272ffaadce5fff61dc03a8ebf72a665e Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 3 Sep 2020 11:19:19 -0400 Subject: [PATCH 527/958] fixed all affected shell scripts --- processing/legacy/addAPS34IDEstrainCoords.py | 2 +- processing/legacy/addCumulative.py | 2 +- processing/post/DADF5_postResults.py | 2 +- processing/post/addCompatibilityMismatch.py | 2 +- processing/post/addCurl.py | 2 +- processing/post/addDerivative.py | 2 +- processing/post/addDisplacement.py | 4 ++-- processing/post/addDivergence.py | 2 +- processing/post/addEuclideanDistance.py | 2 +- processing/post/addGaussian.py | 2 +- processing/post/addGradient.py | 2 +- processing/post/addIndexed.py | 4 ++-- processing/post/addOrientations.py | 2 +- processing/post/addSchmidfactors.py | 2 +- processing/post/permuteData.py | 2 +- processing/pre/geom_fromDREAM3D.py | 2 +- processing/pre/geom_fromMinimalSurface.py | 2 +- processing/pre/geom_fromOsteonGeometry.py | 2 +- processing/pre/geom_fromTable.py | 3 ++- processing/pre/geom_fromVoronoiTessellation.py | 3 ++- processing/pre/geom_grainGrowth.py | 2 +- processing/pre/seeds_fromDistribution.py | 2 +- processing/pre/seeds_fromGeom.py | 4 ++-- processing/pre/seeds_fromPokes.py | 4 ++-- processing/pre/seeds_fromRandom.py | 2 +- 25 files changed, 31 insertions(+), 29 deletions(-) diff --git a/processing/legacy/addAPS34IDEstrainCoords.py b/processing/legacy/addAPS34IDEstrainCoords.py index d71116c6a..9ba51ada1 100755 --- a/processing/legacy/addAPS34IDEstrainCoords.py +++ b/processing/legacy/addAPS34IDEstrainCoords.py @@ -49,4 +49,4 @@ for name in filenames: table.add('coord',rot_to_TSL.broadcast_to(coord.shape[0]) @ coord,scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/legacy/addCumulative.py b/processing/legacy/addCumulative.py index 958c6a70a..f84828a89 100755 --- a/processing/legacy/addCumulative.py +++ b/processing/legacy/addCumulative.py @@ -45,4 +45,4 @@ for name in filenames: np.cumprod(table.get(label),0) if options.product else np.cumsum(table.get(label),0), scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/DADF5_postResults.py b/processing/post/DADF5_postResults.py index 2230ba563..08c8c7070 100755 --- a/processing/post/DADF5_postResults.py +++ b/processing/post/DADF5_postResults.py @@ -60,4 +60,4 @@ for filename in options.filenames: os.mkdir(dirname,0o755) file_out = '{}_inc{}.txt'.format(os.path.splitext(os.path.split(filename)[-1])[0], inc[3:].zfill(N_digits)) - table.to_ASCII(os.path.join(dirname,file_out)) + table.to_file(os.path.join(dirname,file_out)) diff --git a/processing/post/addCompatibilityMismatch.py b/processing/post/addCompatibilityMismatch.py index 59eafc077..bd55ab66a 100755 --- a/processing/post/addCompatibilityMismatch.py +++ b/processing/post/addCompatibilityMismatch.py @@ -191,4 +191,4 @@ for name in filenames: volumeMismatch.reshape(-1,1,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addCurl.py b/processing/post/addCurl.py index 17459a2df..a9ddc8ae8 100755 --- a/processing/post/addCurl.py +++ b/processing/post/addCurl.py @@ -55,4 +55,4 @@ for name in filenames: curl.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape),order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addDerivative.py b/processing/post/addDerivative.py index 4e9410794..9030ae83b 100755 --- a/processing/post/addDerivative.py +++ b/processing/post/addDerivative.py @@ -71,4 +71,4 @@ for name in filenames: derivative(table.get(options.coordinates),table.get(label)), scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addDisplacement.py b/processing/post/addDisplacement.py index 6f4a60192..80725410d 100755 --- a/processing/post/addDisplacement.py +++ b/processing/post/addDisplacement.py @@ -60,7 +60,7 @@ for name in filenames: table.add('fluct({}).{}'.format(options.f,options.pos), damask.grid_filters.node_displacement_fluct(size,F).reshape(-1,3,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'_nodal.txt') + table.to_file(sys.stdout if name is None else os.path.splitext(name)[0]+'_nodal.txt') else: table.add('avg({}).{}'.format(options.f,options.pos), damask.grid_filters.cell_displacement_avg(size,F).reshape(-1,3,order='F'), @@ -68,4 +68,4 @@ for name in filenames: table.add('fluct({}).{}'.format(options.f,options.pos), damask.grid_filters.cell_displacement_fluct(size,F).reshape(-1,3,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addDivergence.py b/processing/post/addDivergence.py index 50048b44e..9abe1e2c6 100755 --- a/processing/post/addDivergence.py +++ b/processing/post/addDivergence.py @@ -55,4 +55,4 @@ for name in filenames: div.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape)//3,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addEuclideanDistance.py b/processing/post/addEuclideanDistance.py index be820220a..921afc826 100755 --- a/processing/post/addEuclideanDistance.py +++ b/processing/post/addEuclideanDistance.py @@ -184,4 +184,4 @@ for name in filenames: distance[i,:], scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addGaussian.py b/processing/post/addGaussian.py index 86552deca..93397e215 100755 --- a/processing/post/addGaussian.py +++ b/processing/post/addGaussian.py @@ -73,4 +73,4 @@ for name in filenames: mode = 'wrap' if options.periodic else 'nearest'), scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addGradient.py b/processing/post/addGradient.py index f63f24789..3aee29374 100755 --- a/processing/post/addGradient.py +++ b/processing/post/addGradient.py @@ -55,4 +55,4 @@ for name in filenames: grad.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape)*3,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addIndexed.py b/processing/post/addIndexed.py index 98fed597b..50db36c20 100755 --- a/processing/post/addIndexed.py +++ b/processing/post/addIndexed.py @@ -57,8 +57,8 @@ for name in filenames: table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) indexedTable = damask.Table.from_ASCII(options.asciitable) idx = np.reshape(table.get(options.index).astype(int) + options.offset,(-1))-1 - + for data in options.label: table.add(data+'_addIndexed',indexedTable.get(data)[idx],scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addOrientations.py b/processing/post/addOrientations.py index 706a959ad..79da15fdd 100755 --- a/processing/post/addOrientations.py +++ b/processing/post/addOrientations.py @@ -147,4 +147,4 @@ for name in filenames: if 'axisangle' in options.output: table.add('om({})'.format(label),o.as_axisangle(options.degrees), scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addSchmidfactors.py b/processing/post/addSchmidfactors.py index d1899e9a0..26a0c5c93 100755 --- a/processing/post/addSchmidfactors.py +++ b/processing/post/addSchmidfactors.py @@ -189,4 +189,4 @@ for name in filenames: for i,label in enumerate(labels): table.add(label,S[:,i],scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/permuteData.py b/processing/post/permuteData.py index 1f4b80532..766558216 100755 --- a/processing/post/permuteData.py +++ b/processing/post/permuteData.py @@ -58,4 +58,4 @@ for name in filenames: rng.shuffle(uniques) table.set(label,uniques[inverse], scriptID+' '+' '.join(sys.argv[1:])) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) diff --git a/processing/pre/geom_fromDREAM3D.py b/processing/pre/geom_fromDREAM3D.py index c48698e53..6b7ccc21a 100755 --- a/processing/pre/geom_fromDREAM3D.py +++ b/processing/pre/geom_fromDREAM3D.py @@ -154,4 +154,4 @@ for name in filenames: homogenization=options.homogenization,comments=header) damask.util.croak(geom) - geom.to_file(os.path.splitext(name)[0]+'.geom',pack=False) + geom.to_file(os.path.splitext(name)[0]+'.geom',format='ASCII',pack=False) diff --git a/processing/pre/geom_fromMinimalSurface.py b/processing/pre/geom_fromMinimalSurface.py index bb6859b54..e6289ba0a 100755 --- a/processing/pre/geom_fromMinimalSurface.py +++ b/processing/pre/geom_fromMinimalSurface.py @@ -89,4 +89,4 @@ geom=damask.Geom(microstructure,options.size, comments=[scriptID + ' ' + ' '.join(sys.argv[1:])]) damask.util.croak(geom) -geom.to_file(sys.stdout if name is None else name,pack=False) +geom.to_file(sys.stdout if name is None else name,format='ASCII',pack=False) diff --git a/processing/pre/geom_fromOsteonGeometry.py b/processing/pre/geom_fromOsteonGeometry.py index 627d92728..6c6326163 100755 --- a/processing/pre/geom_fromOsteonGeometry.py +++ b/processing/pre/geom_fromOsteonGeometry.py @@ -142,4 +142,4 @@ geom = damask.Geom(microstructure.reshape(grid), homogenization=options.homogenization,comments=header) damask.util.croak(geom) -geom.to_file(sys.stdout if name is None else name,pack=False) +geom.to_file(sys.stdout if name is None else name,format='ASCII',pack=False) diff --git a/processing/pre/geom_fromTable.py b/processing/pre/geom_fromTable.py index be5b3a23c..dc968b82e 100755 --- a/processing/pre/geom_fromTable.py +++ b/processing/pre/geom_fromTable.py @@ -105,4 +105,5 @@ for name in filenames: homogenization=options.homogenization,comments=header) damask.util.croak(geom) - geom.to_file(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',pack=False) + geom.to_file(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom', + format='ASCII',pack=False) diff --git a/processing/pre/geom_fromVoronoiTessellation.py b/processing/pre/geom_fromVoronoiTessellation.py index e6755c28e..67a0dfecc 100755 --- a/processing/pre/geom_fromVoronoiTessellation.py +++ b/processing/pre/geom_fromVoronoiTessellation.py @@ -228,4 +228,5 @@ for name in filenames: homogenization=options.homogenization,comments=header) damask.util.croak(geom) - geom.to_file(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',pack=False) + geom.to_file(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom', + format='ASCII',pack=False) diff --git a/processing/pre/geom_grainGrowth.py b/processing/pre/geom_grainGrowth.py index 6d1985ee3..0652d0583 100755 --- a/processing/pre/geom_grainGrowth.py +++ b/processing/pre/geom_grainGrowth.py @@ -172,4 +172,4 @@ for name in filenames: geom=geom.duplicate(microstructure[0:grid_original[0],0:grid_original[1],0:grid_original[2]]) geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - geom.to_file(sys.stdout if name is None else name,pack=False) + geom.to_file(sys.stdout if name is None else name,format='ASCII',pack=False) diff --git a/processing/pre/seeds_fromDistribution.py b/processing/pre/seeds_fromDistribution.py index d00016865..1a4ec6971 100755 --- a/processing/pre/seeds_fromDistribution.py +++ b/processing/pre/seeds_fromDistribution.py @@ -90,7 +90,7 @@ class myThread (threading.Thread): direction[i]*=2. i+= 1 perturbedSeedsTable.set('pos',coords) - perturbedSeedsTable.to_ASCII(perturbedSeedsVFile) + perturbedSeedsTable.to_file(perturbedSeedsVFile) #--- do tesselation with perturbed seed file ------------------------------------------------------ perturbedGeomVFile.close() diff --git a/processing/pre/seeds_fromGeom.py b/processing/pre/seeds_fromGeom.py index 0b741a077..ab64c6b1e 100755 --- a/processing/pre/seeds_fromGeom.py +++ b/processing/pre/seeds_fromGeom.py @@ -65,5 +65,5 @@ for name in filenames: table = damask.Table(seeds[mask],{'pos':(3,)},comments) table.add('microstructure',microstructure[mask]) - table.to_ASCII(sys.stdout if name is None else \ - os.path.splitext(name)[0]+'.seeds') + table.to_file(sys.stdout if name is None else \ + os.path.splitext(name)[0]+'.seeds') diff --git a/processing/pre/seeds_fromPokes.py b/processing/pre/seeds_fromPokes.py index 49bbe3429..78172fc23 100755 --- a/processing/pre/seeds_fromPokes.py +++ b/processing/pre/seeds_fromPokes.py @@ -92,5 +92,5 @@ for name in filenames: table = damask.Table(seeds,{'pos':(3,),'microstructure':(1,)},comments) table.set('microstructure',table.get('microstructure').astype(np.int)) - table.to_ASCII(sys.stdout if name is None else \ - os.path.splitext(name)[0]+'_poked_{}.seeds'.format(options.N)) + table.to_file(sys.stdout if name is None else \ + os.path.splitext(name)[0]+f'_poked_{options.N}.seeds') diff --git a/processing/pre/seeds_fromRandom.py b/processing/pre/seeds_fromRandom.py index be690713c..b9e419391 100755 --- a/processing/pre/seeds_fromRandom.py +++ b/processing/pre/seeds_fromRandom.py @@ -162,4 +162,4 @@ for name in filenames: else np.random.normal(loc = options.mean, scale = options.sigma, size = options.N) table.add('weight',weights) - table.to_ASCII(sys.stdout if name is None else name) + table.to_file(sys.stdout if name is None else name) From 1393fe8b54f3cc5176ffdf1227cb46c8484b9587 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 3 Sep 2020 12:39:11 -0400 Subject: [PATCH 528/958] updated tests in PRIVATE to use Table.to_file() --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 1ca2223c6..c6dc3f116 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 1ca2223c68475bbcb9da633353dbe4a98c18db0d +Subproject commit c6dc3f116fc6007caf076772d5c29f0a0523544d From de4587c52e0107e4280405660074b65d7fd8dbb2 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 4 Sep 2020 13:03:16 +0200 Subject: [PATCH 529/958] [skip ci] updated version information after successful test of v3.0.0-alpha-89-g23d61511 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 45c1ab198..47c9c3f59 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-84-g2f1e0644 +v3.0.0-alpha-89-g23d61511 From 54207760db9c78a8fd37ed8b9b284cdcc0ae9d59 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 6 Sep 2020 17:36:05 +0200 Subject: [PATCH 530/958] conversion byte -> float/int with 4/8 byte length --- src/prec.f90 | 81 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 77 insertions(+), 4 deletions(-) diff --git a/src/prec.f90 b/src/prec.f90 index 73649f76b..6f0a2ab3d 100644 --- a/src/prec.f90 +++ b/src/prec.f90 @@ -8,6 +8,7 @@ !-------------------------------------------------------------------------------------------------- module prec use, intrinsic :: IEEE_arithmetic + use, intrinsic :: ISO_C_Binding implicit none public @@ -81,7 +82,7 @@ contains !-------------------------------------------------------------------------------------------------- -!> @brief reporting precision +!> @brief report precision and do self test !-------------------------------------------------------------------------------------------------- subroutine prec_init @@ -230,24 +231,96 @@ logical elemental pure function cNeq(a,b,tol) end function cNeq +!-------------------------------------------------------------------------------------------------- +!> @brief interprete array of bytes (C_SIGNED_CHAR) as C_FLOAT (4 byte float) +!-------------------------------------------------------------------------------------------------- +pure function bytes_to_C_FLOAT(bytes) + + integer(C_SIGNED_CHAR), dimension(:), intent(in) :: bytes !< byte-wise representation of a C_FLOAT array + real(C_FLOAT), dimension(size(bytes,kind=pLongInt)/(storage_size(0._C_FLOAT,pLongInt)/8_pLongInt)) :: & + bytes_to_C_FLOAT + + bytes_to_C_FLOAT = transfer(bytes,bytes_to_C_FLOAT,size(bytes_to_C_FLOAT)) + +end function bytes_to_C_FLOAT + + +!-------------------------------------------------------------------------------------------------- +!> @brief interprete array of bytes (C_SIGNED_CHAR) as C_DOUBLE (8 byte float) +!-------------------------------------------------------------------------------------------------- +pure function bytes_to_C_DOUBLE(bytes) + + integer(C_SIGNED_CHAR), dimension(:), intent(in) :: bytes !< byte-wise representation of a C_DOUBLE array + real(C_DOUBLE), dimension(size(bytes,kind=pLongInt)/(storage_size(0._C_DOUBLE,pLongInt)/8_pLongInt)) :: & + bytes_to_C_DOUBLE + + bytes_to_C_DOUBLE = transfer(bytes,bytes_to_C_DOUBLE,size(bytes_to_C_DOUBLE)) + +end function bytes_to_C_DOUBLE + + +!-------------------------------------------------------------------------------------------------- +!> @brief interprete array of bytes (C_SIGNED_CHAR) as C_INT32_T (4 byte signed integer) +!-------------------------------------------------------------------------------------------------- +pure function bytes_to_C_INT32_T(bytes) + + integer(C_SIGNED_CHAR), dimension(:), intent(in) :: bytes !< byte-wise representation of a C_INT32_T array + integer(C_INT32_T), dimension(size(bytes,kind=pLongInt)/(storage_size(0_C_INT32_T,pLongInt)/8_pLongInt)) :: & + bytes_to_C_INT32_T + + bytes_to_C_INT32_T = transfer(bytes,bytes_to_C_INT32_T,size(bytes_to_C_INT32_T)) + +end function bytes_to_C_INT32_T + + +!-------------------------------------------------------------------------------------------------- +!> @brief interprete array of bytes (C_SIGNED_CHAR) as C_INT64_T (8 byte signed integer) +!-------------------------------------------------------------------------------------------------- +pure function bytes_to_C_INT64_T(bytes) + + integer(C_SIGNED_CHAR), dimension(:), intent(in) :: bytes !< byte-wise representation of a C_INT64_T array + integer(C_INT64_T), dimension(size(bytes,kind=pLongInt)/(storage_size(0_C_INT64_T,pLongInt)/8_pLongInt)) :: & + bytes_to_C_INT64_T + + bytes_to_C_INT64_T = transfer(bytes,bytes_to_C_INT64_T,size(bytes_to_C_INT64_T)) + +end function bytes_to_C_INT64_T + + !-------------------------------------------------------------------------------------------------- !> @brief check correctness of some prec functions !-------------------------------------------------------------------------------------------------- subroutine selfTest integer, allocatable, dimension(:) :: realloc_lhs_test - real(pReal), dimension(2) :: r + real(pReal), dimension(1) :: f + integer(pInt), dimension(1) :: i + real(pReal), dimension(2) :: r external :: & quit + realloc_lhs_test = [1,2] + if (any(realloc_lhs_test/=[1,2])) call quit(9000) + call random_number(r) r = r/minval(r) if(.not. all(dEq(r,r+PREAL_EPSILON))) call quit(9000) if(dEq(r(1),r(2)) .and. dNeq(r(1),r(2))) call quit(9000) if(.not. all(dEq0(r-(r+PREAL_MIN)))) call quit(9000) - realloc_lhs_test = [1,2] - if (any(realloc_lhs_test/=[1,2])) call quit(9000) + ! https://www.binaryconvert.com + ! https://www.rapidtables.com/convert/number/binary-to-decimal.html + f = real(bytes_to_C_FLOAT(int([-65,+11,-102,+75],C_SIGNED_CHAR)),pReal) + if(dNeq(f(1),20191102.0_pReal,0.0_pReal)) call quit(9000) + + f = real(bytes_to_C_DOUBLE(int([0,0,0,-32,+119,+65,+115,65],C_SIGNED_CHAR)),pReal) + if(dNeq(f(1),20191102.0_pReal,0.0_pReal)) call quit(9000) + + i = int(bytes_to_C_INT32_T(int([+126,+23,+52,+1],C_SIGNED_CHAR)),pInt) + if(i(1) /= 20191102_pInt) call quit(9000) + + i = int(bytes_to_C_INT64_T(int([+126,+23,+52,+1,0,0,0,0],C_SIGNED_CHAR)),pInt) + if(i(1) /= 20191102_pInt) call quit(9000) end subroutine selfTest From a931625be06e1ca4de372ca1a10da08da657d46a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 6 Sep 2020 17:38:30 +0200 Subject: [PATCH 531/958] functionality to decode base64 strings into bytes --- src/CPFEM2.f90 | 2 + src/base64.f90 | 180 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 182 insertions(+) create mode 100644 src/base64.f90 diff --git a/src/CPFEM2.f90 b/src/CPFEM2.f90 index b26ad65fd..adeb00955 100644 --- a/src/CPFEM2.f90 +++ b/src/CPFEM2.f90 @@ -14,6 +14,7 @@ module CPFEM2 use material use lattice use IO + use base64 use DAMASK_interface use results use discretization @@ -42,6 +43,7 @@ subroutine CPFEM_initAll call DAMASK_interface_init ! Spectral and FEM interface to commandline call prec_init call IO_init + call base64_init #ifdef Mesh call FEM_quadrature_init #endif diff --git a/src/base64.f90 b/src/base64.f90 new file mode 100644 index 000000000..32ead69cd --- /dev/null +++ b/src/base64.f90 @@ -0,0 +1,180 @@ +!-------------------------------------------------------------------------------------------------- +!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH +!> @brief Decode Base64 strings +!-------------------------------------------------------------------------------------------------- +module base64 + use prec + use IO + + implicit none + private + + public :: & + base64_init, & + base64_to_bytes, & + base64_nBase64, & + base64_nByte + +contains + + +!-------------------------------------------------------------------------------------------------- +!> @brief do self test +!-------------------------------------------------------------------------------------------------- +subroutine base64_init + + write(6,'(/,a)') ' <<<+- base64 init -+>>>'; flush(6) + + call selfTest + +end subroutine base64_init + + +!-------------------------------------------------------------------------------------------------- +!> @brief calculate number of Base64 characters required for storage of N bytes +!-------------------------------------------------------------------------------------------------- +pure function base64_nBase64(nByte) + + integer(pLongInt), intent(in) :: nByte + integer(pLongInt) :: base64_nBase64 + + base64_nBase64 = 4_pLongInt * (nByte/3_pLongInt + merge(1_pLongInt,0_pLongInt,mod(nByte,3_pLongInt) /= 0_pLongInt)) + +end function base64_nBase64 + + +!-------------------------------------------------------------------------------------------------- +!> @brief calculate number of bytes required for storage of N Base64 characters +!-------------------------------------------------------------------------------------------------- +pure function base64_nByte(nBase64) + + integer(pLongInt), intent(in) :: nBase64 + integer(pLongInt) :: base64_nByte + + base64_nByte = 3_pLongInt * (nBase64/4_pLongInt) + +end function base64_nByte + + +!-------------------------------------------------------------------------------------------------- +!> @brief return byte-wise binary representation of a (part of a) Base64 ASCII string +!-------------------------------------------------------------------------------------------------- +pure function base64_to_bytes(base64_str,s,e) result(bytes) + + character(len=*), intent(in) :: base64_str !< Base64 string representation + integer(pLongInt), intent(in), optional :: & + s, & !< start (in bytes) + e !< end (in bytes) + + integer(pLongInt) :: s_, e_ + integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes, bytes_raw + + allocate(bytes_raw(base64_nByte(len_trim(base64_str,pLongInt)))) + + if(present(s)) then + s_ = s + else + s_ = 1 + endif + + if(present(e)) then + e_ = e + else + e_ = size(bytes_raw,kind=pLongInt) + endif + + ! ToDo: inefficient for s_>>1 or e_< @brief convert a Base64 ASCII string into its byte-wise binary representation +!> @details https://en.wikipedia.org/wiki/Base64 +!-------------------------------------------------------------------------------------------------- +pure subroutine decode_base64(bytes,base64_str) + + integer(C_SIGNED_CHAR), intent(out),dimension(:) :: bytes !< byte-wise representation + character(len=*), intent(in) :: base64_str !< Base64 string representation + + integer(C_SIGNED_CHAR), dimension(0:3) :: charPos + integer(pLongInt) :: c, b, bytesLen,base64Len, p + character(len=*), parameter :: encoding='ABCDEFGHIJKLMNOPQRSTUVWXYZ& + &abcdefghijklmnopqrstuvwxyz0123456789+/' + + bytes = 0_C_SIGNED_CHAR + + bytesLen = size(bytes,kind=pLongInt) + base64Len = len_trim(base64_str,kind=pLongInt) + + c = 1_pLongInt + b = 1_pLongInt + + do while(.True.) + do p=0_pLongInt,3_pLongInt + if(c+p<=len(base64_str,kind=pLongInt)) then + charPos(p) = int(merge(index(encoding,base64_str(c+p:c+p))-1, 0, base64_str(c+p:c+p) /= '='),C_SIGNED_CHAR) + else + charPos(p) = 0_C_SIGNED_CHAR + endif + enddo + + if (b+0<=bytesLen) then + call mvbits(charPos(0),0,6,bytes(b+0),2) + call mvbits(charPos(1),4,2,bytes(b+0),0) + endif + if (b+1<=bytesLen) then + call mvbits(charPos(1),0,4,bytes(b+1),4) + call mvbits(charPos(2),2,4,bytes(b+1),0) + endif + if (b+2<=bytesLen) then + call mvbits(charPos(2),0,2,bytes(b+2),6) + call mvbits(charPos(3),0,6,bytes(b+2),0) + endif + b = b+3_pLongInt + c = c+4_pLongInt + if(b>bytesLen+3_pLongInt .or. c > base64Len+4_pLongInt) exit + enddo + +end subroutine decode_base64 + + +!-------------------------------------------------------------------------------------------------- +!> @brief check correctness of base64 functions +!-------------------------------------------------------------------------------------------------- +subroutine selfTest + + integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes + character(len=*), parameter :: zero_to_three = 'AAECAw==' + + allocate(bytes(7), source = -1_C_SIGNED_CHAR) + call decode_base64(bytes,zero_to_three) + if(any(bytes /= int([0,1,2,3,0,0,0],C_SIGNED_CHAR)) .or. size(bytes) /= 7) call IO_error(0,ext_msg='base64_decode') + + bytes = base64_to_bytes(zero_to_three) + if(any(bytes /= int([0,1,2,3,0,0],C_SIGNED_CHAR)) .or. size(bytes) /= 6) call IO_error(0,ext_msg='base64_to_bytes') + + bytes = base64_to_bytes(zero_to_three,s=2_pLongInt) + if(any(bytes /= int([1,2,3,0,0],C_SIGNED_CHAR)) .or. size(bytes) /= 5) call IO_error(0,ext_msg='base64_to_bytes/s') + + bytes = base64_to_bytes(zero_to_three,s=2_pLongInt,e=3_pLongInt) + if(any(bytes /= int([1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/s/e') + + bytes = base64_to_bytes(zero_to_three,e=2_pLongInt) + if(any(bytes /= int([0,1],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/e') + + ! https://en.wikipedia.org/wiki/Base64#Output_padding + if(base64_nBase64(20_pLongInt) /= 28_pLongInt) call IO_error(0,ext_msg='base64_nBase64/20/28') + if(base64_nBase64(19_pLongInt) /= 28_pLongInt) call IO_error(0,ext_msg='base64_nBase64/19/28') + if(base64_nBase64(18_pLongInt) /= 24_pLongInt) call IO_error(0,ext_msg='base64_nBase64/18/24') + if(base64_nBase64(17_pLongInt) /= 24_pLongInt) call IO_error(0,ext_msg='base64_nBase64/17/24') + if(base64_nBase64(16_pLongInt) /= 24_pLongInt) call IO_error(0,ext_msg='base64_nBase64/16/24') + + if(base64_nByte(4_pLongInt) /= 3_pLongInt) call IO_error(0,ext_msg='base64_nByte/4/3') + if(base64_nByte(8_pLongInt) /= 6_pLongInt) call IO_error(0,ext_msg='base64_nByte/8/6') + +end subroutine selfTest + +end module base64 From 9ce406ed11919c25a24c040041e5d46a775af360 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 6 Sep 2020 17:49:00 +0200 Subject: [PATCH 532/958] wrapper for zlib library assume that zlib is available for linking. This is usually the case (zlib is a stable standard library), but there is currently no check that gives a nice error message or the possibility to use zlib from a non-standard location --- CMakeLists.txt | 2 +- src/C_routines.c | 15 +++++++++++++++ src/zlib.f90 | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 src/zlib.f90 diff --git a/CMakeLists.txt b/CMakeLists.txt index 708d8aa3c..dd2348fd1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -184,7 +184,7 @@ if (CMAKE_BUILD_TYPE STREQUAL "DEBUG") endif () set (CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}} ${PETSC_INCLUDES} ${BUILDCMD_POST}") -set (CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} -o ${PETSC_EXTERNAL_LIB} ${BUILDCMD_POST}") +set (CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} -o ${PETSC_EXTERNAL_LIB} -lz ${BUILDCMD_POST}") message ("Fortran Compiler Flags:\n${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}}\n") message ("C Compiler Flags:\n${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}}\n") diff --git a/src/C_routines.c b/src/C_routines.c index 723c2978d..927b26412 100644 --- a/src/C_routines.c +++ b/src/C_routines.c @@ -6,6 +6,7 @@ #include #include #include +#include "zlib.h" /* http://stackoverflow.com/questions/30279228/is-there-an-alternative-to-getcwd-in-fortran-2003-2008 */ @@ -57,3 +58,17 @@ void signalusr1_c(void (*handler)(int)){ void signalusr2_c(void (*handler)(int)){ signal(SIGUSR2, handler); } + +void inflate_c(const uLong *s_deflated, const uLong *s_inflated, const Byte deflated[], Byte inflated[]){ + /* make writable copy, uncompress will write to it */ + uLong s_inflated_; + s_inflated_ = *s_inflated; + + if(uncompress((Bytef *)inflated, &s_inflated_, (Bytef *)deflated, *s_deflated) == Z_OK) + return; + else{ + for(uLong i=0;i<*s_inflated;i++){ + inflated[i] = 0; + } + } +} diff --git a/src/zlib.f90 b/src/zlib.f90 new file mode 100644 index 000000000..670131334 --- /dev/null +++ b/src/zlib.f90 @@ -0,0 +1,44 @@ +!-------------------------------------------------------------------------------------------------- +!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH +!> @brief Inflate zlib compressed data +!-------------------------------------------------------------------------------------------------- +module zlib + use prec + + implicit none + private + + public :: & + zlib_inflate + + interface + + subroutine inflate_C(s_deflated,s_inflated,deflated,inflated) bind(C) + use, intrinsic :: ISO_C_Binding, only: & + C_SIGNED_CHAR, C_INT64_T + + integer(C_INT64_T), intent(in) :: s_deflated,s_inflated + integer(C_SIGNED_CHAR), dimension(s_deflated), intent(in) :: deflated + integer(C_SIGNED_CHAR), dimension(s_inflated), intent(out) :: inflated + + end subroutine inflate_C + + end interface + +contains + +!-------------------------------------------------------------------------------------------------- +!> @brief Inflate byte-wise representation +!-------------------------------------------------------------------------------------------------- +function zlib_inflate(deflated,size_inflated) + + integer(C_SIGNED_CHAR), dimension(:), intent(in) :: deflated + integer(pLongInt), intent(in) :: size_inflated + + integer(C_SIGNED_CHAR), dimension(size_inflated) :: zlib_inflate + + call inflate_C(size(deflated,kind=C_INT64_T),int(size_inflated,C_INT64_T),deflated,zlib_inflate) + +end function zlib_inflate + +end module zlib From 3fdcebc0a08b247f80ff9e7593563fd32656a4d7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 6 Sep 2020 17:50:32 +0200 Subject: [PATCH 533/958] following python recommendation functions have "active" docstring --- src/IO.f90 | 3 ++- src/rotations.f90 | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index d4533f47c..5dbbf8563 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -10,6 +10,7 @@ module IO implicit none private + character(len=*), parameter, public :: & IO_WHITESPACE = achar(44)//achar(32)//achar(9)//achar(10)//achar(13) !< whitespace characters character, parameter, public :: & @@ -50,7 +51,7 @@ contains !-------------------------------------------------------------------------------------------------- -!> @brief does nothing. +!> @brief do self test !-------------------------------------------------------------------------------------------------- subroutine IO_init diff --git a/src/rotations.f90 b/src/rotations.f90 index fc523e813..ee1cf6b96 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -99,7 +99,7 @@ module rotations contains !-------------------------------------------------------------------------------------------------- -!> @brief doing self test +!> @brief do self test !-------------------------------------------------------------------------------------------------- subroutine rotations_init From 2f7414de229aaffb3135078a0eb4152f3f0e2862 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 7 Sep 2020 11:46:12 +0200 Subject: [PATCH 534/958] only m=1 makes sense for isobrittle --- src/source_damage_isoBrittle.f90 | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index b1abcf14d..7d21ba8af 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -12,8 +12,7 @@ submodule(constitutive:constitutive_damage) source_damage_isoBrittle type :: tParameters !< container type for internal constitutive parameters real(pReal) :: & - critStrainEnergy, & !< critical elastic strain energy - N + critStrainEnergy !< critical elastic strain energy character(len=pStringLen), allocatable, dimension(:) :: & output end type tParameters @@ -64,7 +63,6 @@ module function source_damage_isoBrittle_init(source_length) result(mySources) associate(prm => param(source_damage_isoBrittle_instance(p))) src => sources%get(sourceOffset) - prm%N = src%get_asFloat('m') prm%critStrainEnergy = src%get_asFloat('W_crit') #if defined (__GFORTRAN__) @@ -74,7 +72,6 @@ module function source_damage_isoBrittle_init(source_length) result(mySources) #endif ! sanity checks - if (prm%N <= 0.0_pReal) extmsg = trim(extmsg)//' m' if (prm%critStrainEnergy <= 0.0_pReal) extmsg = trim(extmsg)//' W_crit' NipcMyPhase = count(material_phaseAt==p) * discretization_nIP @@ -161,10 +158,9 @@ module subroutine source_damage_isoBrittle_getRateAndItsTangent(localphiDot, dLo sourceOffset = source_damage_isoBrittle_offset(phase) associate(prm => param(source_damage_isoBrittle_instance(phase))) - localphiDot = (1.0_pReal - phi)**(prm%n - 1.0_pReal) & + localphiDot = 1.0_pReal & - phi*sourceState(phase)%p(sourceOffset)%state(1,constituent) - dLocalphiDot_dPhi = - (prm%n - 1.0_pReal)* (1.0_pReal - phi)**max(0.0_pReal,prm%n - 2.0_pReal) & - - sourceState(phase)%p(sourceOffset)%state(1,constituent) + dLocalphiDot_dPhi = - sourceState(phase)%p(sourceOffset)%state(1,constituent) end associate end subroutine source_damage_isoBrittle_getRateAndItsTangent From 751bf7862d19e13e6ea1e3f0d5dd5bd59555637e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 7 Sep 2020 11:48:26 +0200 Subject: [PATCH 535/958] variable name = parameter name --- src/source_damage_isoBrittle.f90 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index 7d21ba8af..4156e9213 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -12,7 +12,7 @@ submodule(constitutive:constitutive_damage) source_damage_isoBrittle type :: tParameters !< container type for internal constitutive parameters real(pReal) :: & - critStrainEnergy !< critical elastic strain energy + W_crit !< critical elastic strain energy character(len=pStringLen), allocatable, dimension(:) :: & output end type tParameters @@ -63,7 +63,7 @@ module function source_damage_isoBrittle_init(source_length) result(mySources) associate(prm => param(source_damage_isoBrittle_instance(p))) src => sources%get(sourceOffset) - prm%critStrainEnergy = src%get_asFloat('W_crit') + prm%W_crit = src%get_asFloat('W_crit') #if defined (__GFORTRAN__) prm%output = output_asStrings(src) @@ -72,7 +72,7 @@ module function source_damage_isoBrittle_init(source_length) result(mySources) #endif ! sanity checks - if (prm%critStrainEnergy <= 0.0_pReal) extmsg = trim(extmsg)//' W_crit' + if (prm%W_crit <= 0.0_pReal) extmsg = trim(extmsg)//' W_crit' NipcMyPhase = count(material_phaseAt==p) * discretization_nIP call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,1) @@ -122,8 +122,8 @@ module subroutine source_damage_isoBrittle_deltaState(C, Fe, ipc, ip, el) strain = 0.5_pReal*math_sym33to6(matmul(transpose(Fe),Fe)-math_I3) associate(prm => param(source_damage_isoBrittle_instance(phase))) - strainenergy = 2.0_pReal*sum(strain*matmul(C,strain))/prm%critStrainEnergy - ! ToDo: check strainenergy = 2.0_pReal*dot_product(strain,matmul(C,strain))/param(instance)%critStrainEnergy + strainenergy = 2.0_pReal*sum(strain*matmul(C,strain))/prm%W_crit + ! ToDo: check strainenergy = 2.0_pReal*dot_product(strain,matmul(C,strain))/prm%W_crit if (strainenergy > sourceState(phase)%p(sourceOffset)%subState0(1,constituent)) then sourceState(phase)%p(sourceOffset)%deltaState(1,constituent) = & From 715a55b4c81f3704607a42040c00e294d8e6cb6c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 7 Sep 2020 13:19:38 +0200 Subject: [PATCH 536/958] geom file format will be removed soon. No need to test --- .gitlab-ci.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a88b330bd..4c33f83e7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -251,13 +251,6 @@ Thermal: - master - release -grid_packedGeometry: - stage: grid - script: grid_packedGeometry/test.py - except: - - master - - release - grid_parsingArguments: stage: grid script: grid_parsingArguments/test.py From d176a89c78e5cfc7c802d22be9d4337d4f369627 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 7 Sep 2020 13:20:00 +0200 Subject: [PATCH 537/958] ensure defined initital state --- src/homogenization_mech_RGC.f90 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index 1d1348d69..d3990e266 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -85,7 +85,7 @@ module subroutine mech_RGC_init(num_homogMech) h, & NofMyHomog, & sizeState, nIntFaceTot - + class (tNode), pointer :: & num_RGC, & ! pointer to RGC numerics data material_homogenization, & @@ -107,7 +107,7 @@ module subroutine mech_RGC_init(num_homogMech) allocate(state(Ninstance)) allocate(state0(Ninstance)) allocate(dependentState(Ninstance)) - + num_RGC => num_homogMech%get('RGC',defaultVal=emptyDict) num%atol = num_RGC%get_asFloat('atol', defaultVal=1.0e+4_pReal) @@ -139,7 +139,7 @@ module subroutine mech_RGC_init(num_homogMech) if (num%volDiscrPow <= 0.0_pReal) call IO_error(301,ext_msg='volDiscrPw_RGC') - material_homogenization => material_root%get('homogenization') + material_homogenization => material_root%get('homogenization') do h = 1, size(homogenization_type) if (homogenization_type(h) /= HOMOGENIZATION_RGC_ID) cycle homog => material_homogenization%get(h) @@ -188,10 +188,10 @@ module subroutine mech_RGC_init(num_homogMech) stt%work => homogState(h)%state(nIntFaceTot+1,:) stt%penaltyEnergy => homogState(h)%state(nIntFaceTot+2,:) - allocate(dst%volumeDiscrepancy( NofMyHomog)) - allocate(dst%relaxationRate_avg( NofMyHomog)) - allocate(dst%relaxationRate_max( NofMyHomog)) - allocate(dst%mismatch( 3,NofMyHomog)) + allocate(dst%volumeDiscrepancy( NofMyHomog), source=0.0_pReal) + allocate(dst%relaxationRate_avg( NofMyHomog), source=0.0_pReal) + allocate(dst%relaxationRate_max( NofMyHomog), source=0.0_pReal) + allocate(dst%mismatch( 3,NofMyHomog), source=0.0_pReal) !-------------------------------------------------------------------------------------------------- ! assigning cluster orientations @@ -959,7 +959,7 @@ module subroutine mech_RGC_results(instance,group) case('W') call results_writeDataset(group,stt%work,trim(prm%output(o)), & 'work density','J/m³') - case('M') + case('M') call results_writeDataset(group,dst%mismatch,trim(prm%output(o)), & 'average mismatch tensor','1') case('R') From 774cf7658ef485608d3df166e8fd817fc1814dff Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 7 Sep 2020 13:23:42 +0200 Subject: [PATCH 538/958] pytest now includes RGC test --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index c6dc3f116..49677b603 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit c6dc3f116fc6007caf076772d5c29f0a0523544d +Subproject commit 49677b603263c3838e1702e2dd521c680b0162ad From 44f5f2cc0182738140e446943653f56ff44ad42b Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Mon, 7 Sep 2020 17:01:38 +0200 Subject: [PATCH 539/958] only statevar 2 is used for material definition --- examples/MSC.Marc/rotation.mud | Bin 14640 -> 20700 bytes processing/pre/mentat_spectralBox.py | 13 +++---------- src/marc/discretization_marc.f90 | 4 ++-- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/examples/MSC.Marc/rotation.mud b/examples/MSC.Marc/rotation.mud index bdcda99d4861edcb812cce0e03ba1a874d6f3850..21eff797487e1eb32b16d7463f7543ecb34797f0 100644 GIT binary patch delta 4769 zcmc)Odvp}l9l-IK>?6CIY;_DbA|%M8peW|CKp-R`iAq4a z0jWnV2+2hYSZxAYK?_DB3biWG9&Jy1MD0VZw#HYhR*!*dTOZYa@9fMH?9rot^`7(D zxpU`t@66n}b7yAz+g|BYcV@cFd{vR!j%(T?zM9(lHNIf?sEcw+6h$eIG&hth<#myj z?id_hX+?#na{h0NW39*r=)8u7U3#8yJlrATZ`1Hi57KOJ)3A%wa|Ro67u*<&@nW6JYx$U5idda6 zMg3586&4AfeY9}S}(tRBBL#TKrsZI2M6CE+xUQB%chW-q%62sd5wq-B%{r%w|# zmei#6Mx2r$T&8?WD(fauVV?Ovk)82KlZ>Rznydoa^y!hgVuR`weoM%11e*1@6Xty4 z{CeEl3pvrXwH=YR#@Z&%HJR`PsQPlGzLe)aLNAxw2IRV^wq{#al3OD#$j%nK@^i#$ zYoN#P7K8aVQF5Lw`q{zL&(E!^2@yk@7}gdnx4(a+_g_!-Pv4k!c-CthwuVlxdgG=e z|9*42u|2kQ>+yqn{fzM5Ju)2&?IggsBpJMW@9eqp&B((GXFbl^H{z$SFz2Hc37u?;)08+|BA;xeL&VLXW;I~h|j6=jG{=7RH6#Aa0zDPJD7t@F&FbtjT+3yWmtfPScEH4kF~hP$@TvMnQhpP zTd@PXa65Km5BB0t^kO@M_g3t{PIRLO0=sY036L;aq=uP4J_mSC$ z{kR+V;3v2j2XGMg;ePxShj17VpdSz7Aq?PQ9Kj=a6i0CkKf`1AIUdIocoN6${G7na zl!35qv`KXNeg6mP;@yimo7_!+^MVzn|h*n3dR{ATOkNo8|?{4cYTROeyDScVh zd-Cs}&$;B`vaeca&LIuy6V*`YvBzI{>DB9BF4rflC&hanUv%Vzot5`?z8;D#&*;I% z>~=v|Yhzd=UmM>w`P;=S)1%+A!r8O=+5=JMeZzL6`k4;ae8UQQ{PD}aUHn(|prbS1 z#*s~+QOnPDQveXu~a&6e^MwRDxZQfF|BAxK2l^#k1e!EjLb51X-`ZOOP&}? zc-xWnBOe%XFo`2(&D@;;~RB!ZMwevS^P z?oZX|GpwG%vv>~A<9GNy{(wK?1-ytq;bpvnKjSZW6@z#Uuj388iMJs8_-}X{AK*03 z;6r?bf6}>LSL)(V$$y6b;B$Ndd7LT|V1gMISdj>348;xyl8_81Qs9DH9rz^mj7gld zjg{|$iTW#$sC8_X?}bIjLdHvs+!;^ku(pU@IkLuGXA{f)6~^q?Puq2y}~Jn znM^epB~-U3Dof-QmxEOfA~!scgEbR5$i--kK_SNB0t7J;Qy^b;%Mr#*RADwQMKxk+ zMp#>RT^m~}etimk$W<0-h^*8$${$r+oj1YmCntw*q6p^|@T%KTAzz~9ku>2Z$Wi$| zW+j&SYINVjsEvIE2Ia1rn&5FAlgav23Ti_Q@eK z@Obu7HCoAP73Sbl7&AaM`5MTX;4&=0LM*~!$l2jae0hdwplk&iu^Ma8hIVw|8eEI( zuwGS0DV=0CU?b!u-h}TViY{>~(QCh%+%4EPuw|q$d5tfGb8nifv=QgCpOK4A3v-xH_&IfB=I4mp5NrCwfaxOKJJUDxIpI4mp=Z;|)O^wZKXx%t= zW9Z7_SObdjW!>FxYJBRdmJu>i9ecLWY!tQ+E3_De zZw)J?Uab0e3l@tL1!*GL;*hQVx?n|o7d9hiPT>mUutk62)_8zJ28ckhLo6&>5HC%N zmp(nLG+8fga0Uau!p8cR<_3DhE&7VR+N`JD;NpCDzEjS_UgRNP`hMjkT~OZx)~T zZi}2(6xo8?*uN|wg=wrts3mD7vBrkKP)sP5|JkfOs z=9J`!yGnBgo+wQ=4ctEd*#xbl>RZ~`-R4YhEND~dC_U&E%lWbehDD^dE!Gyl@{A=p v$Yhc&Gg}0e72-kv2#Y+j1o86J>hW^p@FScwDG=lc`B$l_NN$U_5)1k-EzXc& delta 1651 zcmZ8hUrbw77(eH>_x6^y6b37FZN~*hNmXjg)6IiArqxD;PVMDs394$;pgCqH40z*+#Q+{yl5<kJ@ z_?JU^z*GHEd1!GDt2uqy+=oVHho_d4t`5}d5R^_k{194)t!}HUfU~QJ-w}U;5pRK+ z(CWuqAr8NFcQx#9UoEOeA?8@PtEHo%crR@8+VL_kf&#-HHl;v1R@CP-oln=A5Pk~JLZr8kJJC06=HA9; z?A?Nq$thXvEllfe+~C3gWK{9v}J{ljwUY!>GNU*`VpaJ&=2d-~fF)U{tIZSnw8MF+k z^v>W9O9v>TbsjHFCeI&u{Mrlj=$3V3MX!|dr8Dv{wjPKFJoI}@)ZOnIO@{n*_21IeW; znZ*KCr<^YysKSEArr1;zzMt?5OHnv}I>1@=zlq0UOV%jwF)6NHCO>_AKhtfgzIbL! oNMbqkOlfZiwg1iz>|Bj4v88Cuy?tNupN=-u2C2ETQte^>4{{T7MF0Q* diff --git a/processing/pre/mentat_spectralBox.py b/processing/pre/mentat_spectralBox.py index b0694ec4a..027240044 100755 --- a/processing/pre/mentat_spectralBox.py +++ b/processing/pre/mentat_spectralBox.py @@ -130,7 +130,7 @@ def geometry(): #------------------------------------------------------------------------------------------------- -def initial_conditions(homogenization,microstructures): +def initial_conditions(microstructures): elements = [] element = 0 for id in microstructures: @@ -148,13 +148,6 @@ def initial_conditions(homogenization,microstructures): "*icond_dof_value var 300", "*add_icond_elements", "all_existing", - "*new_icond", - "*icond_name _homogenization", - "*icond_type state_variable", - "*icond_param_value state_var_id 2", - "*icond_dof_value var %i"%homogenization, - "*add_icond_elements", - "all_existing", ] for grain,elementList in enumerate(elements): @@ -162,7 +155,7 @@ def initial_conditions(homogenization,microstructures): "*new_icond", "*icond_name microstructure_%i"%(grain+1), "*icond_type state_variable", - "*icond_param_value state_var_id 3", + "*icond_param_value state_var_id 2", "*icond_dof_value var %i"%(grain+1), "*add_icond_elements", elementList, @@ -211,7 +204,7 @@ for name in filenames: mesh(geom.grid,geom.size), material(), geometry(), - initial_conditions(geom.homogenization,microstructure), + initial_conditions(microstructure), '*identify_sets', '*show_model', '*redraw', diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index fd0852257..edf99523c 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -706,7 +706,7 @@ subroutine inputRead_microstructure(microstructureAt,& k = merge(2,1,initialcondTableStyle == 2) chunkPos = IO_stringPos(fileContent(l+k)) sv = IO_IntValue(fileContent(l+k),chunkPos,1) ! figure state variable index - if( (sv == 2) .or. (sv == 3) ) then ! only state vars 2 and 3 of interest + if( (sv == 2)) then ! state var 2 is used to identify material from material.yaml m = 1 chunkPos = IO_stringPos(fileContent(l+k+m)) do while (scan(IO_stringValue(fileContent(l+k+m),chunkPos,1),'+-',back=.true.)>1) ! is noEfloat value? @@ -715,7 +715,7 @@ subroutine inputRead_microstructure(microstructureAt,& contInts = continuousIntValues(fileContent(l+k+m+1:),nElem,nameElemSet,mapElemSet,size(nameElemSet)) ! get affected elements do i = 1,contInts(1) e = mesh_FEM2DAMASK_elem(contInts(1+i)) - if (sv == 3) microstructureAt(e) = myVal + microstructureAt(e) = myVal enddo if (initialcondTableStyle == 0) m = m + 1 enddo From e43d8d208fe0ac88e53de8cab24247e4bfc46387 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Mon, 7 Sep 2020 17:20:59 +0200 Subject: [PATCH 540/958] updated tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index c6dc3f116..0cac68845 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit c6dc3f116fc6007caf076772d5c29f0a0523544d +Subproject commit 0cac6884550edbf22dec0e69b642fef8cf35e175 From 5c02fdae297d6028392dca80db8ffe580e10c36f Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Mon, 7 Sep 2020 18:22:29 +0200 Subject: [PATCH 541/958] updated reference --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 0cac68845..3b8e2de27 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 0cac6884550edbf22dec0e69b642fef8cf35e175 +Subproject commit 3b8e2de2769317b19559a376cff659e4545914e0 From d78bc8102695a0196b7297ad5bf413d6438cfa9f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 7 Sep 2020 18:27:06 +0200 Subject: [PATCH 542/958] use test which is insensitive to numerical noise --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 49677b603..e92df7d5a 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 49677b603263c3838e1702e2dd521c680b0162ad +Subproject commit e92df7d5a475d1e3d382517f49b6569cdcbd9b80 From e270b5fe5fdaa8d0390146c34e644b98a930b3c9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 7 Sep 2020 18:29:08 +0200 Subject: [PATCH 543/958] cleaned tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index e92df7d5a..a13f94880 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit e92df7d5a475d1e3d382517f49b6569cdcbd9b80 +Subproject commit a13f94880aeae06c14bde50c15f00d7f076d23ad From cfad4a71f653a87a930ff70a646b96ad5ac4e63e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 8 Sep 2020 05:56:01 +0200 Subject: [PATCH 544/958] clearer logic --- src/base64.f90 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/base64.f90 b/src/base64.f90 index 32ead69cd..3a02e9491 100644 --- a/src/base64.f90 +++ b/src/base64.f90 @@ -112,7 +112,7 @@ pure subroutine decode_base64(bytes,base64_str) c = 1_pLongInt b = 1_pLongInt - do while(.True.) + do while(b <= bytesLen+3_pLongInt .and. c <= base64Len+4_pLongInt) do p=0_pLongInt,3_pLongInt if(c+p<=len(base64_str,kind=pLongInt)) then charPos(p) = int(merge(index(encoding,base64_str(c+p:c+p))-1, 0, base64_str(c+p:c+p) /= '='),C_SIGNED_CHAR) @@ -135,7 +135,6 @@ pure subroutine decode_base64(bytes,base64_str) endif b = b+3_pLongInt c = c+4_pLongInt - if(b>bytesLen+3_pLongInt .or. c > base64Len+4_pLongInt) exit enddo end subroutine decode_base64 From 43e9ea352aa0b096e30aeab8717c38c265f36254 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 8 Sep 2020 05:56:10 +0200 Subject: [PATCH 545/958] typo --- src/prec.f90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/prec.f90 b/src/prec.f90 index 6f0a2ab3d..8fe38b5ef 100644 --- a/src/prec.f90 +++ b/src/prec.f90 @@ -232,7 +232,7 @@ end function cNeq !-------------------------------------------------------------------------------------------------- -!> @brief interprete array of bytes (C_SIGNED_CHAR) as C_FLOAT (4 byte float) +!> @brief interpret array of bytes (C_SIGNED_CHAR) as C_FLOAT (4 byte float) !-------------------------------------------------------------------------------------------------- pure function bytes_to_C_FLOAT(bytes) @@ -246,7 +246,7 @@ end function bytes_to_C_FLOAT !-------------------------------------------------------------------------------------------------- -!> @brief interprete array of bytes (C_SIGNED_CHAR) as C_DOUBLE (8 byte float) +!> @brief interpret array of bytes (C_SIGNED_CHAR) as C_DOUBLE (8 byte float) !-------------------------------------------------------------------------------------------------- pure function bytes_to_C_DOUBLE(bytes) @@ -260,7 +260,7 @@ end function bytes_to_C_DOUBLE !-------------------------------------------------------------------------------------------------- -!> @brief interprete array of bytes (C_SIGNED_CHAR) as C_INT32_T (4 byte signed integer) +!> @brief interpret array of bytes (C_SIGNED_CHAR) as C_INT32_T (4 byte signed integer) !-------------------------------------------------------------------------------------------------- pure function bytes_to_C_INT32_T(bytes) @@ -274,7 +274,7 @@ end function bytes_to_C_INT32_T !-------------------------------------------------------------------------------------------------- -!> @brief interprete array of bytes (C_SIGNED_CHAR) as C_INT64_T (8 byte signed integer) +!> @brief interpret array of bytes (C_SIGNED_CHAR) as C_INT64_T (8 byte signed integer) !-------------------------------------------------------------------------------------------------- pure function bytes_to_C_INT64_T(bytes) From 1f28592fcdbbccef98d133ab431bfb83b51b76fe Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 8 Sep 2020 06:55:04 +0200 Subject: [PATCH 546/958] improved documentation Python/numpy style: Active description, start with capital, end with full stop --- src/prec.f90 | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/prec.f90 b/src/prec.f90 index 8fe38b5ef..8bb3332f3 100644 --- a/src/prec.f90 +++ b/src/prec.f90 @@ -101,7 +101,7 @@ end subroutine prec_init !-------------------------------------------------------------------------------------------------- -!> @brief equality comparison for float with double precision +!> @brief Test floating point numbers with double precision for equality. ! replaces "==" but for certain (relative) tolerance. Counterpart to dNeq ! https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ ! AlmostEqualRelative @@ -124,7 +124,7 @@ end function dEq !-------------------------------------------------------------------------------------------------- -!> @brief inequality comparison for float with double precision +!> @brief Test floating point numbers with double precision for inequality. ! replaces "!=" but for certain (relative) tolerance. Counterpart to dEq ! https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ ! AlmostEqualRelative NOT @@ -144,7 +144,7 @@ end function dNeq !-------------------------------------------------------------------------------------------------- -!> @brief equality to 0 comparison for float with double precision +!> @brief Test floating point number with double precision for equality to 0. ! replaces "==0" but everything not representable as a normal number is treated as 0. Counterpart to dNeq0 ! https://de.mathworks.com/help/matlab/ref/realmin.html ! https://docs.oracle.com/cd/E19957-01/806-3568/ncg_math.html @@ -167,7 +167,7 @@ end function dEq0 !-------------------------------------------------------------------------------------------------- -!> @brief inequality to 0 comparison for float with double precision +!> @brief Test floating point number with double precision for inequality to 0. ! replaces "!=0" but everything not representable as a normal number is treated as 0. Counterpart to dEq0 ! https://de.mathworks.com/help/matlab/ref/realmin.html ! https://docs.oracle.com/cd/E19957-01/806-3568/ncg_math.html @@ -187,7 +187,7 @@ end function dNeq0 !-------------------------------------------------------------------------------------------------- -!> @brief equality comparison for complex with double precision +!> @brief Test complex floating point numbers with double precision for equality. ! replaces "==" but for certain (relative) tolerance. Counterpart to cNeq ! https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ ! probably a component wise comparison would be more accurate than the comparsion of the absolute @@ -211,7 +211,7 @@ end function cEq !-------------------------------------------------------------------------------------------------- -!> @brief inequality comparison for complex with double precision +!> @brief Test complex floating point numbers with double precision for inequality. ! replaces "!=" but for certain (relative) tolerance. Counterpart to cEq ! https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ ! probably a component wise comparison would be more accurate than the comparsion of the absolute @@ -232,7 +232,7 @@ end function cNeq !-------------------------------------------------------------------------------------------------- -!> @brief interpret array of bytes (C_SIGNED_CHAR) as C_FLOAT (4 byte float) +!> @brief Decode byte array (C_SIGNED_CHAR) as C_FLOAT array (4 byte float). !-------------------------------------------------------------------------------------------------- pure function bytes_to_C_FLOAT(bytes) @@ -246,7 +246,7 @@ end function bytes_to_C_FLOAT !-------------------------------------------------------------------------------------------------- -!> @brief interpret array of bytes (C_SIGNED_CHAR) as C_DOUBLE (8 byte float) +!> @brief Decode byte array (C_SIGNED_CHAR) as C_DOUBLE array (8 byte float). !-------------------------------------------------------------------------------------------------- pure function bytes_to_C_DOUBLE(bytes) @@ -260,7 +260,7 @@ end function bytes_to_C_DOUBLE !-------------------------------------------------------------------------------------------------- -!> @brief interpret array of bytes (C_SIGNED_CHAR) as C_INT32_T (4 byte signed integer) +!> @brief Decode byte array (C_SIGNED_CHAR) as C_INT32_T array (4 byte signed integer). !-------------------------------------------------------------------------------------------------- pure function bytes_to_C_INT32_T(bytes) @@ -274,7 +274,7 @@ end function bytes_to_C_INT32_T !-------------------------------------------------------------------------------------------------- -!> @brief interpret array of bytes (C_SIGNED_CHAR) as C_INT64_T (8 byte signed integer) +!> @brief Decode byte array (C_SIGNED_CHAR) as C_INT64_T array (8 byte signed integer). !-------------------------------------------------------------------------------------------------- pure function bytes_to_C_INT64_T(bytes) @@ -288,7 +288,7 @@ end function bytes_to_C_INT64_T !-------------------------------------------------------------------------------------------------- -!> @brief check correctness of some prec functions +!> @brief Check correctness of some prec functions. !-------------------------------------------------------------------------------------------------- subroutine selfTest From 049ad4e202989401095400141c981339ac2b5880 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 8 Sep 2020 06:34:21 +0200 Subject: [PATCH 547/958] simplify base64 handling require valid base64 string, which allows to calculate output size automatically --- src/base64.f90 | 44 +++++++++++++++----------------------------- 1 file changed, 15 insertions(+), 29 deletions(-) diff --git a/src/base64.f90 b/src/base64.f90 index 3a02e9491..a93f64340 100644 --- a/src/base64.f90 +++ b/src/base64.f90 @@ -84,7 +84,7 @@ pure function base64_to_bytes(base64_str,s,e) result(bytes) endif ! ToDo: inefficient for s_>>1 or e_< @brief convert a Base64 ASCII string into its byte-wise binary representation -!> @details https://en.wikipedia.org/wiki/Base64 +!> @details see https://en.wikipedia.org/wiki/Base64. Input string must be properly padded. !-------------------------------------------------------------------------------------------------- -pure subroutine decode_base64(bytes,base64_str) +pure function decode_base64(base64_str) result(bytes) - integer(C_SIGNED_CHAR), intent(out),dimension(:) :: bytes !< byte-wise representation - character(len=*), intent(in) :: base64_str !< Base64 string representation + character(len=*), intent(in) :: base64_str !< Base64 string representation + + integer(C_SIGNED_CHAR), dimension(base64_nByte(len_trim(base64_str,pLongInt))) :: bytes integer(C_SIGNED_CHAR), dimension(0:3) :: charPos - integer(pLongInt) :: c, b, bytesLen,base64Len, p + integer(pLongInt) :: c, b, p character(len=*), parameter :: encoding='ABCDEFGHIJKLMNOPQRSTUVWXYZ& &abcdefghijklmnopqrstuvwxyz0123456789+/' - bytes = 0_C_SIGNED_CHAR - - bytesLen = size(bytes,kind=pLongInt) - base64Len = len_trim(base64_str,kind=pLongInt) - c = 1_pLongInt b = 1_pLongInt - do while(b <= bytesLen+3_pLongInt .and. c <= base64Len+4_pLongInt) + do while(c + 3_pInt <= len_trim(base64_str,kind=pLongInt)) !ToDo: Confusing + 3 do p=0_pLongInt,3_pLongInt if(c+p<=len(base64_str,kind=pLongInt)) then charPos(p) = int(merge(index(encoding,base64_str(c+p:c+p))-1, 0, base64_str(c+p:c+p) /= '='),C_SIGNED_CHAR) @@ -121,23 +117,17 @@ pure subroutine decode_base64(bytes,base64_str) endif enddo - if (b+0<=bytesLen) then - call mvbits(charPos(0),0,6,bytes(b+0),2) - call mvbits(charPos(1),4,2,bytes(b+0),0) - endif - if (b+1<=bytesLen) then - call mvbits(charPos(1),0,4,bytes(b+1),4) - call mvbits(charPos(2),2,4,bytes(b+1),0) - endif - if (b+2<=bytesLen) then - call mvbits(charPos(2),0,2,bytes(b+2),6) - call mvbits(charPos(3),0,6,bytes(b+2),0) - endif + call mvbits(charPos(0),0,6,bytes(b+0),2) + call mvbits(charPos(1),4,2,bytes(b+0),0) + call mvbits(charPos(1),0,4,bytes(b+1),4) + call mvbits(charPos(2),2,4,bytes(b+1),0) + call mvbits(charPos(2),0,2,bytes(b+2),6) + call mvbits(charPos(3),0,6,bytes(b+2),0) b = b+3_pLongInt c = c+4_pLongInt enddo -end subroutine decode_base64 +end function decode_base64 !-------------------------------------------------------------------------------------------------- @@ -148,10 +138,6 @@ subroutine selfTest integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes character(len=*), parameter :: zero_to_three = 'AAECAw==' - allocate(bytes(7), source = -1_C_SIGNED_CHAR) - call decode_base64(bytes,zero_to_three) - if(any(bytes /= int([0,1,2,3,0,0,0],C_SIGNED_CHAR)) .or. size(bytes) /= 7) call IO_error(0,ext_msg='base64_decode') - bytes = base64_to_bytes(zero_to_three) if(any(bytes /= int([0,1,2,3,0,0],C_SIGNED_CHAR)) .or. size(bytes) /= 6) call IO_error(0,ext_msg='base64_to_bytes') From a70819e4585379a00b9f3eb870b1d0994f6543ba Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 8 Sep 2020 10:36:22 +0200 Subject: [PATCH 548/958] simplified base64 encoding - ensure valid Base64 string (needs to be padded correctly) - background routine expects proper Base64 string (length = N*4) - user routine ensures correct length of byte representation --- src/base64.f90 | 77 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 52 insertions(+), 25 deletions(-) diff --git a/src/base64.f90 b/src/base64.f90 index a93f64340..743afb5a7 100644 --- a/src/base64.f90 +++ b/src/base64.f90 @@ -1,6 +1,7 @@ !-------------------------------------------------------------------------------------------------- !> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH -!> @brief Decode Base64 strings +!> @brief Decode Base64 strings. +!> @details See https://en.wikipedia.org/wiki/Base64. !-------------------------------------------------------------------------------------------------- module base64 use prec @@ -9,6 +10,9 @@ module base64 implicit none private + character(len=*), parameter :: & + base64_encoding='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' + public :: & base64_init, & base64_to_bytes, & @@ -19,7 +23,7 @@ contains !-------------------------------------------------------------------------------------------------- -!> @brief do self test +!> @brief Do self test. !-------------------------------------------------------------------------------------------------- subroutine base64_init @@ -31,7 +35,7 @@ end subroutine base64_init !-------------------------------------------------------------------------------------------------- -!> @brief calculate number of Base64 characters required for storage of N bytes +!> @brief Calculate number of Base64 characters required for storage of N bytes. !-------------------------------------------------------------------------------------------------- pure function base64_nBase64(nByte) @@ -44,7 +48,7 @@ end function base64_nBase64 !-------------------------------------------------------------------------------------------------- -!> @brief calculate number of bytes required for storage of N Base64 characters +!> @brief Calculate number of bytes required for storage of N Base64 characters. !-------------------------------------------------------------------------------------------------- pure function base64_nByte(nBase64) @@ -57,61 +61,64 @@ end function base64_nByte !-------------------------------------------------------------------------------------------------- -!> @brief return byte-wise binary representation of a (part of a) Base64 ASCII string +!> @brief Decode Base64 ASCII string into byte-wise binary representation. !-------------------------------------------------------------------------------------------------- -pure function base64_to_bytes(base64_str,s,e) result(bytes) +function base64_to_bytes(base64_str,s,e) result(bytes) character(len=*), intent(in) :: base64_str !< Base64 string representation integer(pLongInt), intent(in), optional :: & s, & !< start (in bytes) e !< end (in bytes) - integer(pLongInt) :: s_, e_ + integer(pLongInt) :: s_bytes, e_bytes integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes, bytes_raw - allocate(bytes_raw(base64_nByte(len_trim(base64_str,pLongInt)))) + if(.not. valid_base64(base64_str)) error stop 'invalid base64' if(present(s)) then - s_ = s + if(s<1_pLongInt) error stop 'invalid s' + s_bytes = s else - s_ = 1 + s_bytes = 1 endif if(present(e)) then - e_ = e + if(e>base64_nByte(len(base64_str,kind=pLongInt))) error stop 'invalid e' + e_bytes = e else - e_ = size(bytes_raw,kind=pLongInt) + e_bytes = base64_nByte(len(base64_str,kind=pLongInt)) + if(base64_str(len(base64_str)-0_pLongInt:len(base64_str)-0_pLongInt) == '=') & + e_bytes = e_bytes -1_pLongInt + if(base64_str(len(base64_str)-1_pLongInt:len(base64_str)-1_pLongInt) == '=') & + e_bytes = e_bytes -1_pLongInt endif ! ToDo: inefficient for s_>>1 or e_< @brief convert a Base64 ASCII string into its byte-wise binary representation -!> @details see https://en.wikipedia.org/wiki/Base64. Input string must be properly padded. +!> @brief Convert a Base64 ASCII string into its byte-wise binary representation. !-------------------------------------------------------------------------------------------------- pure function decode_base64(base64_str) result(bytes) character(len=*), intent(in) :: base64_str !< Base64 string representation - integer(C_SIGNED_CHAR), dimension(base64_nByte(len_trim(base64_str,pLongInt))) :: bytes + integer(C_SIGNED_CHAR), dimension(base64_nByte(len(base64_str,pLongInt))) :: bytes integer(C_SIGNED_CHAR), dimension(0:3) :: charPos integer(pLongInt) :: c, b, p - character(len=*), parameter :: encoding='ABCDEFGHIJKLMNOPQRSTUVWXYZ& - &abcdefghijklmnopqrstuvwxyz0123456789+/' c = 1_pLongInt b = 1_pLongInt - do while(c + 3_pInt <= len_trim(base64_str,kind=pLongInt)) !ToDo: Confusing + 3 + do while(c < len(base64_str,kind=pLongInt)) do p=0_pLongInt,3_pLongInt if(c+p<=len(base64_str,kind=pLongInt)) then - charPos(p) = int(merge(index(encoding,base64_str(c+p:c+p))-1, 0, base64_str(c+p:c+p) /= '='),C_SIGNED_CHAR) + charPos(p) = int(index(base64_encoding,base64_str(c+p:c+p))-1,C_SIGNED_CHAR) else charPos(p) = 0_C_SIGNED_CHAR endif @@ -131,7 +138,27 @@ end function decode_base64 !-------------------------------------------------------------------------------------------------- -!> @brief check correctness of base64 functions +!> @brief Test for valid Base64 encoded string. +!> @details Input string must be properly padded. +!-------------------------------------------------------------------------------------------------- +pure logical function valid_base64(base64_str) + + character(len=*), intent(in) :: base64_str !< Base64 string representation + + integer(pLongInt) :: l + + l = len(base64_str,pLongInt) + valid_base64 = .true. + + if(mod(l,4_pLongInt)/=0_pLongInt .or. l < 4_pInt) valid_base64 = .false. + if(verify(base64_str(:l-2_pLongInt),base64_encoding, kind=pLongInt) /= 0_pLongInt) valid_base64 = .false. + if(verify(base64_str(l-1_pLongInt:),base64_encoding//'=',kind=pLongInt) /= 0_pLongInt) valid_base64 = .false. + +end function valid_base64 + + +!-------------------------------------------------------------------------------------------------- +!> @brief Check correctness of base64 functions. !-------------------------------------------------------------------------------------------------- subroutine selfTest @@ -139,16 +166,16 @@ subroutine selfTest character(len=*), parameter :: zero_to_three = 'AAECAw==' bytes = base64_to_bytes(zero_to_three) - if(any(bytes /= int([0,1,2,3,0,0],C_SIGNED_CHAR)) .or. size(bytes) /= 6) call IO_error(0,ext_msg='base64_to_bytes') + if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes') bytes = base64_to_bytes(zero_to_three,s=2_pLongInt) - if(any(bytes /= int([1,2,3,0,0],C_SIGNED_CHAR)) .or. size(bytes) /= 5) call IO_error(0,ext_msg='base64_to_bytes/s') + if(any(bytes /= int([1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 3) call IO_error(0,ext_msg='base64_to_bytes/s') bytes = base64_to_bytes(zero_to_three,s=2_pLongInt,e=3_pLongInt) - if(any(bytes /= int([1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/s/e') + if(any(bytes /= int([1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/s/e') bytes = base64_to_bytes(zero_to_three,e=2_pLongInt) - if(any(bytes /= int([0,1],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/e') + if(any(bytes /= int([0,1],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/e') ! https://en.wikipedia.org/wiki/Base64#Output_padding if(base64_nBase64(20_pLongInt) /= 28_pLongInt) call IO_error(0,ext_msg='base64_nBase64/20/28') From a6503fe5955fc6a799d34af7e25196cdd2c7c950 Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 8 Sep 2020 13:04:39 +0200 Subject: [PATCH 549/958] [skip ci] updated version information after successful test of v3.0.0-alpha-92-g751bf786 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 47c9c3f59..a76c23653 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-89-g23d61511 +v3.0.0-alpha-92-g751bf786 From c6b1a6feed39ab500a85f492ea10e4cb7c9df420 Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 8 Sep 2020 15:36:39 +0200 Subject: [PATCH 550/958] [skip ci] updated version information after successful test of v3.0.0-alpha-98-gf38e3257 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 47c9c3f59..24663499f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-89-g23d61511 +v3.0.0-alpha-98-gf38e3257 From 9fb3fef4b08d54abd0ebc289374f4d1c512e292c Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 8 Sep 2020 10:39:31 -0400 Subject: [PATCH 551/958] changed British "normalise" to US "normalize" as we (should) follow US English everywhere else. --- processing/post/addOrientations.py | 4 ++-- python/damask/_rotation.py | 8 ++++---- python/tests/test_Rotation.py | 12 ++++++------ 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/processing/post/addOrientations.py b/processing/post/addOrientations.py index 79da15fdd..51d668eb9 100755 --- a/processing/post/addOrientations.py +++ b/processing/post/addOrientations.py @@ -104,8 +104,8 @@ input = [options.eulers is not None, if np.sum(input) != 1: parser.error('needs exactly one input format.') -r = damask.Rotation.from_axis_angle(np.array(options.crystalrotation),options.degrees,normalise=True) -R = damask.Rotation.from_axis_angle(np.array(options.labrotation),options.degrees,normalise=True) +r = damask.Rotation.from_axis_angle(np.array(options.crystalrotation),options.degrees,normalize=True) +R = damask.Rotation.from_axis_angle(np.array(options.labrotation),options.degrees,normalize=True) for name in filenames: damask.util.report(scriptName,name) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 9ee7fd5cc..ac7b3ace8 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -408,7 +408,7 @@ class Rotation: @staticmethod def from_axis_angle(axis_angle, degrees = False, - normalise = False, + normalize = False, P = -1): """ Initialize from Axis angle pair. @@ -434,7 +434,7 @@ class Rotation: if P == 1: ax[...,0:3] *= -1 if degrees: ax[..., 3] = np.radians(ax[...,3]) - if normalise: ax[...,0:3] /= np.linalg.norm(ax[...,0:3],axis=-1) + if normalize: ax[...,0:3] /= np.linalg.norm(ax[...,0:3],axis=-1) if np.any(ax[...,3] < 0.0) or np.any(ax[...,3] > np.pi): raise ValueError('Axis angle rotation angle outside of [0..π].') if not np.all(np.isclose(np.linalg.norm(ax[...,0:3],axis=-1), 1.0)): @@ -493,7 +493,7 @@ class Rotation: @staticmethod def from_Rodrigues(rho, - normalise = False, + normalize = False, P = -1): """ Initialize from Rodrigues-Frank vector. @@ -516,7 +516,7 @@ class Rotation: raise ValueError('P ∉ {-1,1}') if P == 1: ro[...,0:3] *= -1 - if normalise: ro[...,0:3] /= np.linalg.norm(ro[...,0:3],axis=-1) + if normalize: ro[...,0:3] /= np.linalg.norm(ro[...,0:3],axis=-1) if np.any(ro[...,3] < 0.0): raise ValueError('Rodrigues vector rotation angle not positive.') if not np.all(np.isclose(np.linalg.norm(ro[...,0:3],axis=-1), 1.0)): diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 8b26a7472..3ed1f27c6 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -698,13 +698,13 @@ class TestRotation: assert ok and np.isclose(np.linalg.norm(o),1.0) @pytest.mark.parametrize('P',[1,-1]) - @pytest.mark.parametrize('normalise',[True,False]) + @pytest.mark.parametrize('normalize',[True,False]) @pytest.mark.parametrize('degrees',[True,False]) - def test_axis_angle(self,set_of_rotations,degrees,normalise,P): + def test_axis_angle(self,set_of_rotations,degrees,normalize,P): c = np.array([P*-1,P*-1,P*-1,1.]) for rot in set_of_rotations: m = rot.as_Eulers() - o = Rotation.from_axis_angle(rot.as_axis_angle(degrees)*c,degrees,normalise,P).as_Eulers() + o = Rotation.from_axis_angle(rot.as_axis_angle(degrees)*c,degrees,normalize,P).as_Eulers() u = np.array([np.pi*2,np.pi,np.pi*2]) ok = np.allclose(m,o,atol=atol) ok = ok or np.allclose(np.where(np.isclose(m,u),m-u,m),np.where(np.isclose(o,u),o-u,o),atol=atol) @@ -725,12 +725,12 @@ class TestRotation: assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) and o[3]<=np.pi+1.e-9 @pytest.mark.parametrize('P',[1,-1]) - @pytest.mark.parametrize('normalise',[True,False]) - def test_Rodrigues(self,set_of_rotations,normalise,P): + @pytest.mark.parametrize('normalize',[True,False]) + def test_Rodrigues(self,set_of_rotations,normalize,P): c = np.array([P*-1,P*-1,P*-1,1.]) for rot in set_of_rotations: m = rot.as_matrix() - o = Rotation.from_Rodrigues(rot.as_Rodrigues()*c,normalise,P).as_matrix() + o = Rotation.from_Rodrigues(rot.as_Rodrigues()*c,normalize,P).as_matrix() ok = np.allclose(m,o,atol=atol) print(m,o) assert ok and np.isclose(np.linalg.det(o),1.0) From 2fa84b5c70ef0a4cea4eb9146976228dee4784d3 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Tue, 8 Sep 2020 18:06:57 +0200 Subject: [PATCH 552/958] coreccted line endings of Marc input files --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 3b8e2de27..0cbe1cdb1 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 3b8e2de2769317b19559a376cff659e4545914e0 +Subproject commit 0cbe1cdb13388e33ecc0427d83aab0e090ca8f9d From fb68d430ec7a975401741a559e7c6f6c3547c4a3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 8 Sep 2020 22:44:01 +0200 Subject: [PATCH 553/958] decode only relevant part of the base64 string --- src/IO.f90 | 3 +++ src/base64.f90 | 68 ++++++++++++++++++++++++++++++++++---------------- 2 files changed, 49 insertions(+), 22 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index 5dbbf8563..2884eab33 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -448,6 +448,9 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'invalid character for float:' case (113) msg = 'invalid character for logical:' + case (114) + msg = 'cannot decode base64 string:' + !-------------------------------------------------------------------------------------------------- ! lattice error messages case (130) diff --git a/src/base64.f90 b/src/base64.f90 index 743afb5a7..2d2d4d010 100644 --- a/src/base64.f90 +++ b/src/base64.f90 @@ -70,22 +70,26 @@ function base64_to_bytes(base64_str,s,e) result(bytes) s, & !< start (in bytes) e !< end (in bytes) - integer(pLongInt) :: s_bytes, e_bytes - integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes, bytes_raw + integer(pLongInt) :: s_bytes, e_bytes, s_str, e_str + integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes - if(.not. valid_base64(base64_str)) error stop 'invalid base64' + if(.not. valid_base64(base64_str)) call IO_error(114,'invalid character') if(present(s)) then - if(s<1_pLongInt) error stop 'invalid s' - s_bytes = s + if(s<1_pLongInt) call IO_error(114, 's out of range') + s_str = ((s-1_pLongInt)/3_pLongInt)*4_pLongInt + 1_pLongInt + s_bytes = mod(s-1_pLongInt,3_pLongInt) + 1_pLongInt else - s_bytes = 1 + s_str = 1_pLongInt + s_bytes = 1_pLongInt endif if(present(e)) then - if(e>base64_nByte(len(base64_str,kind=pLongInt))) error stop 'invalid e' + if(e>base64_nByte(len(base64_str,kind=pLongInt))) call IO_error(114, 'e out of range') + e_str = ((e-1_pLongInt)/3_pLongInt)*4_pLongInt + 4_pLongInt e_bytes = e else + e_str = len(base64_str,kind=pLongInt) e_bytes = base64_nByte(len(base64_str,kind=pLongInt)) if(base64_str(len(base64_str)-0_pLongInt:len(base64_str)-0_pLongInt) == '=') & e_bytes = e_bytes -1_pLongInt @@ -93,9 +97,10 @@ function base64_to_bytes(base64_str,s,e) result(bytes) e_bytes = e_bytes -1_pLongInt endif - ! ToDo: inefficient for s_>>1 or e_< Date: Tue, 8 Sep 2020 23:21:45 +0200 Subject: [PATCH 554/958] keyword was missing --- src/base64.f90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/base64.f90 b/src/base64.f90 index 2d2d4d010..735a19a34 100644 --- a/src/base64.f90 +++ b/src/base64.f90 @@ -73,10 +73,10 @@ function base64_to_bytes(base64_str,s,e) result(bytes) integer(pLongInt) :: s_bytes, e_bytes, s_str, e_str integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes - if(.not. valid_base64(base64_str)) call IO_error(114,'invalid character') + if(.not. valid_base64(base64_str)) call IO_error(114,ext_msg='invalid character') if(present(s)) then - if(s<1_pLongInt) call IO_error(114, 's out of range') + if(s<1_pLongInt) call IO_error(114, ext_msg='s out of range') s_str = ((s-1_pLongInt)/3_pLongInt)*4_pLongInt + 1_pLongInt s_bytes = mod(s-1_pLongInt,3_pLongInt) + 1_pLongInt else @@ -85,7 +85,7 @@ function base64_to_bytes(base64_str,s,e) result(bytes) endif if(present(e)) then - if(e>base64_nByte(len(base64_str,kind=pLongInt))) call IO_error(114, 'e out of range') + if(e>base64_nByte(len(base64_str,kind=pLongInt))) call IO_error(114, ext_msg='e out of range') e_str = ((e-1_pLongInt)/3_pLongInt)*4_pLongInt + 4_pLongInt e_bytes = e else From 95af422d5fb2722174419d892c170e5111d83c45 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 8 Sep 2020 23:41:30 +0200 Subject: [PATCH 555/958] complain about invalid microstructure many error messages are not needed any more --- src/IO.f90 | 24 +----------------------- src/marc/discretization_marc.f90 | 12 +++++++----- 2 files changed, 8 insertions(+), 28 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index d4533f47c..fd3b5bb48 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -484,8 +484,6 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'too many systems requested' case (146) msg = 'number of values does not match' - case (147) - msg = 'not supported anymore' case (148) msg = 'Nconstituents mismatch between homogenization and microstructure' @@ -497,22 +495,10 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'microstructure has no constituents' case (153) msg = 'sum of phase fractions differs from 1' - case (154) - msg = 'homogenization index out of bounds' case (155) msg = 'microstructure index out of bounds' - case (157) - msg = 'invalid texture transformation specified' - case (160) - msg = 'no entries in config part' - case (161) - msg = 'config part found twice' - case (165) - msg = 'homogenization configuration' - case (170) - msg = 'no homogenization specified via State Variable 2' case (180) - msg = 'no microstructure specified via State Variable 3' + msg = 'missing/invalid microstructure definition via State Variable 2' case (190) msg = 'unknown element type:' case (191) @@ -525,8 +511,6 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) case (201) msg = 'unknown plasticity specified:' - case (210) - msg = 'unknown material parameter:' case (211) msg = 'material parameter out of bounds:' case (212) @@ -534,8 +518,6 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) !-------------------------------------------------------------------------------------------------- ! numerics error messages - case (300) - msg = 'unknown numerics parameter:' case (301) msg = 'numerics parameter out of bounds:' @@ -555,10 +537,6 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) !-------------------------------------------------------------------------------------------------- ! user errors - case (600) - msg = 'Ping-Pong not possible when using non-DAMASK elements' - case (601) - msg = 'Ping-Pong needed when using non-local plasticity' case (602) msg = 'invalid selection for debug' diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index edf99523c..397e7514c 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -723,6 +723,8 @@ subroutine inputRead_microstructure(microstructureAt,& endif enddo + if(any(microstructureAt < 1)) call IO_error(190) + end subroutine inputRead_microstructure @@ -1061,7 +1063,7 @@ function IPneighborhood(elem,connectivity) integer, dimension(size(connectivity,1)) :: myConnectivity integer, dimension(size(elem%cellFace,1)) :: face_unordered integer :: e,i,f,n,c,s - + c = 0 do e = 1, size(connectivity,3) do i = 1, size(connectivity,2) @@ -1078,9 +1080,9 @@ function IPneighborhood(elem,connectivity) enddo; enddo !-------------------------------------------------------------------------------------------------- -! sort face definitions +! sort face definitions call math_sort(face,sortDim=1) - do c=2, size(face,1)-4 + do c=2, size(face,1)-4 s = 1 e = 1 do while (e < size(face,2)) @@ -1091,8 +1093,8 @@ function IPneighborhood(elem,connectivity) endif enddo enddo - - IPneighborhood = 0 + + IPneighborhood = 0 do c=1, size(face,2) - 1 if(all(face(:n-1,c) == face(:n-1,c+1))) then IPneighborhood(:,face(n+2,c+1),face(n+1,c+1),face(n+0,c+1)) = face(n:n+3,c+0) From 0f9fb7e68356ff0cb23c23e6b6fdc928dcb22853 Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 8 Sep 2020 23:53:27 +0200 Subject: [PATCH 556/958] [skip ci] updated version information after successful test of v3.0.0-alpha-105-gf57cb8b7 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index a76c23653..ec915dcad 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-92-g751bf786 +v3.0.0-alpha-105-gf57cb8b7 From 85d9e843f02d933a2dafa21cc2b072aead518c9e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 9 Sep 2020 07:50:12 +0200 Subject: [PATCH 557/958] better readable --- src/base64.f90 | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/base64.f90 b/src/base64.f90 index 735a19a34..fac08f80e 100644 --- a/src/base64.f90 +++ b/src/base64.f90 @@ -87,18 +87,14 @@ function base64_to_bytes(base64_str,s,e) result(bytes) if(present(e)) then if(e>base64_nByte(len(base64_str,kind=pLongInt))) call IO_error(114, ext_msg='e out of range') e_str = ((e-1_pLongInt)/3_pLongInt)*4_pLongInt + 4_pLongInt - e_bytes = e + e_bytes = e - base64_nByte(s_str) else e_str = len(base64_str,kind=pLongInt) - e_bytes = base64_nByte(len(base64_str,kind=pLongInt)) - if(base64_str(len(base64_str)-0_pLongInt:len(base64_str)-0_pLongInt) == '=') & - e_bytes = e_bytes -1_pLongInt - if(base64_str(len(base64_str)-1_pLongInt:len(base64_str)-1_pLongInt) == '=') & - e_bytes = e_bytes -1_pLongInt + e_bytes = base64_nByte(len(base64_str,kind=pLongInt)) - base64_nByte(s_str) + if(base64_str(e_str-0_pLongInt:e_str-0_pLongInt) == '=') e_bytes = e_bytes - 1_pLongInt + if(base64_str(e_str-1_pLongInt:e_str-1_pLongInt) == '=') e_bytes = e_bytes - 1_pLongInt endif - e_bytes = e_bytes - base64_nByte(s_str) - bytes = decode_base64(base64_str(s_str:e_str)) bytes = bytes(s_bytes:e_bytes) From edf16de7b6255e9d402a256f4f0084a11a551fbc Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 9 Sep 2020 11:53:25 +0200 Subject: [PATCH 558/958] include pytest-based state integration test --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 1b82ac397..3bc603489 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 1b82ac39703fdea70962aea47a0381d50bd1d44e +Subproject commit 3bc60348981a68bc22a5ebaafe4173b7513ac264 From a5f9ef118a6e162cfe2133fc90a10e57c3c9535b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 9 Sep 2020 12:38:02 +0200 Subject: [PATCH 559/958] feature complete test --- src/base64.f90 | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/base64.f90 b/src/base64.f90 index fac08f80e..eb2a1e929 100644 --- a/src/base64.f90 +++ b/src/base64.f90 @@ -178,7 +178,7 @@ subroutine selfTest bytes = base64_to_bytes(zero_to_three) if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes//') - + bytes = base64_to_bytes(zero_to_three,e=1_pLongInt) if(any(bytes /= int([0],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes//1') bytes = base64_to_bytes(zero_to_three,e=2_pLongInt) @@ -187,7 +187,7 @@ subroutine selfTest if(any(bytes /= int([0,1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 3) call IO_error(0,ext_msg='base64_to_bytes//3') bytes = base64_to_bytes(zero_to_three,e=4_pLongInt) if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes//4') - + bytes = base64_to_bytes(zero_to_three,s=1_pLongInt) if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes/1/') bytes = base64_to_bytes(zero_to_three,s=2_pLongInt) @@ -196,7 +196,7 @@ subroutine selfTest if(any(bytes /= int([2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/3/') bytes = base64_to_bytes(zero_to_three,s=4_pLongInt) if(any(bytes /= int([3],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/4/') - + bytes = base64_to_bytes(zero_to_three,s=1_pLongInt,e=1_pLongInt) if(any(bytes /= int([0],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/1/1') bytes = base64_to_bytes(zero_to_three,s=2_pLongInt,e=2_pLongInt) @@ -205,7 +205,21 @@ subroutine selfTest if(any(bytes /= int([2],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/3/3') bytes = base64_to_bytes(zero_to_three,s=4_pLongInt,e=4_pLongInt) if(any(bytes /= int([3],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/4/4') - + + bytes = base64_to_bytes(zero_to_three,s=1_pLongInt,e=2_pLongInt) + if(any(bytes /= int([0,1],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/1/2') + bytes = base64_to_bytes(zero_to_three,s=2_pLongInt,e=3_pLongInt) + if(any(bytes /= int([1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/2/3') + bytes = base64_to_bytes(zero_to_three,s=3_pLongInt,e=4_pLongInt) + if(any(bytes /= int([2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/3/4') + + bytes = base64_to_bytes(zero_to_three,s=1_pLongInt,e=3_pLongInt) + if(any(bytes /= int([0,1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 3) call IO_error(0,ext_msg='base64_to_bytes/1/3') + bytes = base64_to_bytes(zero_to_three,s=2_pLongInt,e=4_pLongInt) + if(any(bytes /= int([1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 3) call IO_error(0,ext_msg='base64_to_bytes/2/4') + + bytes = base64_to_bytes(zero_to_three,s=1_pLongInt,e=4_pLongInt) + if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes/1/4') end subroutine selfTest From c189d35df6fd5ffddb0f299e1d1f6781c0e714a2 Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 9 Sep 2020 13:08:31 +0200 Subject: [PATCH 560/958] [skip ci] updated version information after successful test of v3.0.0-alpha-113-g3352a5a1 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index ec915dcad..22da2ccfb 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-105-gf57cb8b7 +v3.0.0-alpha-113-g3352a5a1 From e0b4bc6d1ecedf374bd4d438f900d0c945fe6742 Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 9 Sep 2020 21:09:23 +0200 Subject: [PATCH 561/958] [skip ci] updated version information after successful test of v3.0.0-alpha-129-gd7932aea --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 22da2ccfb..72f7156f8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-113-g3352a5a1 +v3.0.0-alpha-129-gd7932aea From 7d9a4c08ce083a6ac0ecdee315ab4c89849ea475 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 10 Sep 2020 00:59:40 +0200 Subject: [PATCH 562/958] Do not strictly require np.ndarrays for grid, size, or origin when not essential for functionality. --- python/damask/_vtk.py | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 2fd374f7c..4a2f7540a 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -40,20 +40,20 @@ class VTK: """ Create VTK of type vtk.vtkRectilinearGrid. - This is the common type for results from the grid solver. + This is the common type for grid solver results. Parameters ---------- - grid : numpy.ndarray of shape (3) of np.dtype = int - Number of cells. - size : numpy.ndarray of shape (3) - Physical length. - origin : numpy.ndarray of shape (3), optional - Spatial origin. + grid : iterable of int, len (3) + Number of cells along each dimension. + size : iterable of float, len (3) + Physical lengths along each dimension. + origin : iterable of float, len (3), optional + Spatial origin coordinates. """ vtk_data = vtk.vtkRectilinearGrid() - vtk_data.SetDimensions(*(grid+1)) + vtk_data.SetDimensions(*(np.array(grid)+1)) coord = [np_to_vtk(np.linspace(origin[i],origin[i]+size[i],grid[i]+1),deep=True) for i in [0,1,2]] [coord[i].SetName(n) for i,n in enumerate(['x','y','z'])] vtk_data.SetXCoordinates(coord[0]) @@ -68,7 +68,7 @@ class VTK: """ Create VTK of type vtk.vtkUnstructuredGrid. - This is the common type for results from FEM solvers. + This is the common type for FEM solver results. Parameters ---------- @@ -127,7 +127,7 @@ class VTK: fname : str or pathlib.Path Filename for reading. Valid extensions are .vtr, .vtu, .vtp, and .vtk. dataset_type : str, optional - Name of the vtk.vtkDataSet subclass when opening an .vtk file. Valid types are vtkRectilinearGrid, + Name of the vtk.vtkDataSet subclass when opening a .vtk file. Valid types are vtkRectilinearGrid, vtkUnstructuredGrid, and vtkPolyData. """ @@ -215,31 +215,30 @@ class VTK: Parameters ---------- data : numpy.ndarray - Data to add. First dimension need to match either - number of cells or number of points + Data to add. First dimension needs to match either + number of cells or number of points. label : str Data label. """ + N_data = data.shape[0] N_points = self.vtk_data.GetNumberOfPoints() N_cells = self.vtk_data.GetNumberOfCells() - if isinstance(data,np.ndarray): + if isinstance(data,np.ndarray): if label is None: raise ValueError('No label defined for numpy.ndarray') - if data.dtype in [np.float64, np.float128]: # avoid large files - d = np_to_vtk(num_array=data.astype(np.float32).reshape(data.shape[0],-1),deep=True) - else: - d = np_to_vtk(num_array=data.reshape(data.shape[0],-1),deep=True) + d = np_to_vtk((data.astype(np.float32) if data.dtype in [np.float64, np.float128] + else data).reshape(N_data,-1),deep=True) # avoid large files d.SetName(label) - if data.shape[0] == N_cells: + if N_data == N_cells: self.vtk_data.GetCellData().AddArray(d) - elif data.shape[0] == N_points: + elif N_data == N_points: self.vtk_data.GetPointData().AddArray(d) else: - raise ValueError(f'Invalid shape {data.shape[0]}') + raise ValueError(f'Cell / point count ({N_cells} / {N_points}) differs from data ({N_data}).') elif isinstance(data,pd.DataFrame): raise NotImplementedError('pd.DataFrame') elif isinstance(data,Table): @@ -272,7 +271,7 @@ class VTK: if point_data.GetArrayName(a) == label: return vtk_to_np(point_data.GetArray(a)) - raise ValueError(f'array "{label}" not found') + raise ValueError(f'Array "{label}" not found.') def get_comments(self): From 865c90d00bfc8e2f2cc83f3a11f8d9f891131467 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 9 Sep 2020 19:10:03 -0400 Subject: [PATCH 563/958] first check data type, then determine length of data... --- python/damask/_vtk.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 4a2f7540a..7f3e64aef 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -221,7 +221,6 @@ class VTK: Data label. """ - N_data = data.shape[0] N_points = self.vtk_data.GetNumberOfPoints() N_cells = self.vtk_data.GetNumberOfCells() @@ -229,7 +228,8 @@ class VTK: if label is None: raise ValueError('No label defined for numpy.ndarray') - d = np_to_vtk((data.astype(np.float32) if data.dtype in [np.float64, np.float128] + N_data = data.shape[0] + d = np_to_vtk((data.astype(np.float32) if data.dtype in [np.float64, np.float128] else data).reshape(N_data,-1),deep=True) # avoid large files d.SetName(label) From f4f67cb403765c24d81655563bf2a6ddc0245bd9 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 10 Sep 2020 08:43:59 +0200 Subject: [PATCH 564/958] [skip ci] updated version information after successful test of v3.0.0-alpha-133-ga70150c6 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 72f7156f8..c14a5099b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-129-gd7932aea +v3.0.0-alpha-133-ga70150c6 From c5bce78fafa42ef2f836d24eba9ebc8a7f7ec79d Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Thu, 10 Sep 2020 08:55:56 +0200 Subject: [PATCH 565/958] [skip ci] corrected error number --- src/marc/discretization_marc.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index 397e7514c..648554ed8 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -723,7 +723,7 @@ subroutine inputRead_microstructure(microstructureAt,& endif enddo - if(any(microstructureAt < 1)) call IO_error(190) + if(any(microstructureAt < 1)) call IO_error(180) end subroutine inputRead_microstructure From 062d9986fe04b90e8266b7239e710dda9c816732 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 10 Sep 2020 14:08:36 +0200 Subject: [PATCH 566/958] [skip ci] updated version information after successful test of v3.0.0-alpha-136-gc0ea8e3f --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index c14a5099b..5dac27a44 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-133-ga70150c6 +v3.0.0-alpha-136-gc0ea8e3f From 7a6ada9ad74412ee196dc3e5e7ea9e16f0dc666b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 12 Sep 2020 08:47:46 +0200 Subject: [PATCH 567/958] clearer name --- src/base64.f90 | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/base64.f90 b/src/base64.f90 index eb2a1e929..89696f53d 100644 --- a/src/base64.f90 +++ b/src/base64.f90 @@ -16,7 +16,7 @@ module base64 public :: & base64_init, & base64_to_bytes, & - base64_nBase64, & + base64_nChar, & base64_nByte contains @@ -37,14 +37,14 @@ end subroutine base64_init !-------------------------------------------------------------------------------------------------- !> @brief Calculate number of Base64 characters required for storage of N bytes. !-------------------------------------------------------------------------------------------------- -pure function base64_nBase64(nByte) +pure function base64_nChar(nByte) integer(pLongInt), intent(in) :: nByte - integer(pLongInt) :: base64_nBase64 + integer(pLongInt) :: base64_nChar - base64_nBase64 = 4_pLongInt * (nByte/3_pLongInt + merge(1_pLongInt,0_pLongInt,mod(nByte,3_pLongInt) /= 0_pLongInt)) + base64_nChar = 4_pLongInt * (nByte/3_pLongInt + merge(1_pLongInt,0_pLongInt,mod(nByte,3_pLongInt) /= 0_pLongInt)) -end function base64_nBase64 +end function base64_nChar !-------------------------------------------------------------------------------------------------- @@ -167,14 +167,14 @@ subroutine selfTest character(len=*), parameter :: zero_to_three = 'AAECAw==' ! https://en.wikipedia.org/wiki/Base64#Output_padding - if(base64_nBase64(20_pLongInt) /= 28_pLongInt) call IO_error(0,ext_msg='base64_nBase64/20/28') - if(base64_nBase64(19_pLongInt) /= 28_pLongInt) call IO_error(0,ext_msg='base64_nBase64/19/28') - if(base64_nBase64(18_pLongInt) /= 24_pLongInt) call IO_error(0,ext_msg='base64_nBase64/18/24') - if(base64_nBase64(17_pLongInt) /= 24_pLongInt) call IO_error(0,ext_msg='base64_nBase64/17/24') - if(base64_nBase64(16_pLongInt) /= 24_pLongInt) call IO_error(0,ext_msg='base64_nBase64/16/24') + if(base64_nChar(20_pLongInt) /= 28_pLongInt) call IO_error(0,ext_msg='base64_nChar/20/28') + if(base64_nChar(19_pLongInt) /= 28_pLongInt) call IO_error(0,ext_msg='base64_nChar/19/28') + if(base64_nChar(18_pLongInt) /= 24_pLongInt) call IO_error(0,ext_msg='base64_nChar/18/24') + if(base64_nChar(17_pLongInt) /= 24_pLongInt) call IO_error(0,ext_msg='base64_nChar/17/24') + if(base64_nChar(16_pLongInt) /= 24_pLongInt) call IO_error(0,ext_msg='base64_nChar/16/24') - if(base64_nByte(4_pLongInt) /= 3_pLongInt) call IO_error(0,ext_msg='base64_nByte/4/3') - if(base64_nByte(8_pLongInt) /= 6_pLongInt) call IO_error(0,ext_msg='base64_nByte/8/6') + if(base64_nByte(4_pLongInt) /= 3_pLongInt) call IO_error(0,ext_msg='base64_nByte/4/3') + if(base64_nByte(8_pLongInt) /= 6_pLongInt) call IO_error(0,ext_msg='base64_nByte/8/6') bytes = base64_to_bytes(zero_to_three) if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes//') From a6ac875db8be547aa77ba0fe0c41c008050eafb9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 12 Sep 2020 09:14:33 +0200 Subject: [PATCH 568/958] short and clear names for integer precision --- src/base64.f90 | 130 ++++++++++++++++++++++++------------------------- src/prec.f90 | 15 +++--- src/zlib.f90 | 2 +- 3 files changed, 74 insertions(+), 73 deletions(-) diff --git a/src/base64.f90 b/src/base64.f90 index 89696f53d..3d7a51987 100644 --- a/src/base64.f90 +++ b/src/base64.f90 @@ -39,10 +39,10 @@ end subroutine base64_init !-------------------------------------------------------------------------------------------------- pure function base64_nChar(nByte) - integer(pLongInt), intent(in) :: nByte - integer(pLongInt) :: base64_nChar + integer(pI64), intent(in) :: nByte + integer(pI64) :: base64_nChar - base64_nChar = 4_pLongInt * (nByte/3_pLongInt + merge(1_pLongInt,0_pLongInt,mod(nByte,3_pLongInt) /= 0_pLongInt)) + base64_nChar = 4_pI64 * (nByte/3_pI64 + merge(1_pI64,0_pI64,mod(nByte,3_pI64) /= 0_pI64)) end function base64_nChar @@ -52,10 +52,10 @@ end function base64_nChar !-------------------------------------------------------------------------------------------------- pure function base64_nByte(nBase64) - integer(pLongInt), intent(in) :: nBase64 - integer(pLongInt) :: base64_nByte + integer(pI64), intent(in) :: nBase64 + integer(pI64) :: base64_nByte - base64_nByte = 3_pLongInt * (nBase64/4_pLongInt) + base64_nByte = 3_pI64 * (nBase64/4_pI64) end function base64_nByte @@ -66,36 +66,36 @@ end function base64_nByte function base64_to_bytes(base64_str,s,e) result(bytes) character(len=*), intent(in) :: base64_str !< Base64 string representation - integer(pLongInt), intent(in), optional :: & + integer(pI64), intent(in), optional :: & s, & !< start (in bytes) e !< end (in bytes) - integer(pLongInt) :: s_bytes, e_bytes, s_str, e_str + integer(pI64) :: s_bytes, e_bytes, s_str, e_str integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes - if(.not. valid_base64(base64_str)) call IO_error(114,ext_msg='invalid character') + if(.not. validBase64(base64_str)) call IO_error(114,ext_msg='invalid character') if(present(s)) then - if(s<1_pLongInt) call IO_error(114, ext_msg='s out of range') - s_str = ((s-1_pLongInt)/3_pLongInt)*4_pLongInt + 1_pLongInt - s_bytes = mod(s-1_pLongInt,3_pLongInt) + 1_pLongInt + if(s<1_pI64) call IO_error(114, ext_msg='s out of range') + s_str = ((s-1_pI64)/3_pI64)*4_pI64 + 1_pI64 + s_bytes = mod(s-1_pI64,3_pI64) + 1_pI64 else - s_str = 1_pLongInt - s_bytes = 1_pLongInt + s_str = 1_pI64 + s_bytes = 1_pI64 endif if(present(e)) then - if(e>base64_nByte(len(base64_str,kind=pLongInt))) call IO_error(114, ext_msg='e out of range') - e_str = ((e-1_pLongInt)/3_pLongInt)*4_pLongInt + 4_pLongInt + if(e>base64_nByte(len(base64_str,kind=pI64))) call IO_error(114, ext_msg='e out of range') + e_str = ((e-1_pI64)/3_pI64)*4_pI64 + 4_pI64 e_bytes = e - base64_nByte(s_str) else - e_str = len(base64_str,kind=pLongInt) - e_bytes = base64_nByte(len(base64_str,kind=pLongInt)) - base64_nByte(s_str) - if(base64_str(e_str-0_pLongInt:e_str-0_pLongInt) == '=') e_bytes = e_bytes - 1_pLongInt - if(base64_str(e_str-1_pLongInt:e_str-1_pLongInt) == '=') e_bytes = e_bytes - 1_pLongInt + e_str = len(base64_str,kind=pI64) + e_bytes = base64_nByte(len(base64_str,kind=pI64)) - base64_nByte(s_str) + if(base64_str(e_str-0_pI64:e_str-0_pI64) == '=') e_bytes = e_bytes - 1_pI64 + if(base64_str(e_str-1_pI64:e_str-1_pI64) == '=') e_bytes = e_bytes - 1_pI64 endif - bytes = decode_base64(base64_str(s_str:e_str)) + bytes = decodeBase64(base64_str(s_str:e_str)) bytes = bytes(s_bytes:e_bytes) end function base64_to_bytes @@ -104,21 +104,21 @@ end function base64_to_bytes !-------------------------------------------------------------------------------------------------- !> @brief Convert a Base64 ASCII string into its byte-wise binary representation. !-------------------------------------------------------------------------------------------------- -pure function decode_base64(base64_str) result(bytes) +pure function decodeBase64(base64_str) result(bytes) character(len=*), intent(in) :: base64_str !< Base64 string representation - integer(C_SIGNED_CHAR), dimension(base64_nByte(len(base64_str,pLongInt))) :: bytes + integer(C_SIGNED_CHAR), dimension(base64_nByte(len(base64_str,pI64))) :: bytes integer(C_SIGNED_CHAR), dimension(0:3) :: charPos - integer(pLongInt) :: c, b, p + integer(pI64) :: c, b, p - c = 1_pLongInt - b = 1_pLongInt + c = 1_pI64 + b = 1_pI64 - do while(c < len(base64_str,kind=pLongInt)) - do p=0_pLongInt,3_pLongInt - if(c+p<=len(base64_str,kind=pLongInt)) then + do while(c < len(base64_str,kind=pI64)) + do p=0_pI64,3_pI64 + if(c+p<=len(base64_str,kind=pI64)) then charPos(p) = int(index(base64_encoding,base64_str(c+p:c+p))-1,C_SIGNED_CHAR) else charPos(p) = 0_C_SIGNED_CHAR @@ -131,31 +131,31 @@ pure function decode_base64(base64_str) result(bytes) call mvbits(charPos(2),2,4,bytes(b+1),0) call mvbits(charPos(2),0,2,bytes(b+2),6) call mvbits(charPos(3),0,6,bytes(b+2),0) - b = b+3_pLongInt - c = c+4_pLongInt + b = b+3_pI64 + c = c+4_pI64 enddo -end function decode_base64 +end function decodeBase64 !-------------------------------------------------------------------------------------------------- !> @brief Test for valid Base64 encoded string. !> @details Input string must be properly padded. !-------------------------------------------------------------------------------------------------- -pure logical function valid_base64(base64_str) +pure logical function validBase64(base64_str) character(len=*), intent(in) :: base64_str !< Base64 string representation - integer(pLongInt) :: l + integer(pI64) :: l - l = len(base64_str,pLongInt) - valid_base64 = .true. + l = len(base64_str,pI64) + validBase64 = .true. - if(mod(l,4_pLongInt)/=0_pLongInt .or. l < 4_pInt) valid_base64 = .false. - if(verify(base64_str(:l-2_pLongInt),base64_encoding, kind=pLongInt) /= 0_pLongInt) valid_base64 = .false. - if(verify(base64_str(l-1_pLongInt:),base64_encoding//'=',kind=pLongInt) /= 0_pLongInt) valid_base64 = .false. + if(mod(l,4_pI64)/=0_pI64 .or. l < 4_pInt) validBase64 = .false. + if(verify(base64_str(:l-2_pI64),base64_encoding, kind=pI64) /= 0_pI64) validBase64 = .false. + if(verify(base64_str(l-1_pI64:),base64_encoding//'=',kind=pI64) /= 0_pI64) validBase64 = .false. -end function valid_base64 +end function validBase64 !-------------------------------------------------------------------------------------------------- @@ -167,58 +167,58 @@ subroutine selfTest character(len=*), parameter :: zero_to_three = 'AAECAw==' ! https://en.wikipedia.org/wiki/Base64#Output_padding - if(base64_nChar(20_pLongInt) /= 28_pLongInt) call IO_error(0,ext_msg='base64_nChar/20/28') - if(base64_nChar(19_pLongInt) /= 28_pLongInt) call IO_error(0,ext_msg='base64_nChar/19/28') - if(base64_nChar(18_pLongInt) /= 24_pLongInt) call IO_error(0,ext_msg='base64_nChar/18/24') - if(base64_nChar(17_pLongInt) /= 24_pLongInt) call IO_error(0,ext_msg='base64_nChar/17/24') - if(base64_nChar(16_pLongInt) /= 24_pLongInt) call IO_error(0,ext_msg='base64_nChar/16/24') + if(base64_nChar(20_pI64) /= 28_pI64) call IO_error(0,ext_msg='base64_nChar/20/28') + if(base64_nChar(19_pI64) /= 28_pI64) call IO_error(0,ext_msg='base64_nChar/19/28') + if(base64_nChar(18_pI64) /= 24_pI64) call IO_error(0,ext_msg='base64_nChar/18/24') + if(base64_nChar(17_pI64) /= 24_pI64) call IO_error(0,ext_msg='base64_nChar/17/24') + if(base64_nChar(16_pI64) /= 24_pI64) call IO_error(0,ext_msg='base64_nChar/16/24') - if(base64_nByte(4_pLongInt) /= 3_pLongInt) call IO_error(0,ext_msg='base64_nByte/4/3') - if(base64_nByte(8_pLongInt) /= 6_pLongInt) call IO_error(0,ext_msg='base64_nByte/8/6') + if(base64_nByte(4_pI64) /= 3_pI64) call IO_error(0,ext_msg='base64_nByte/4/3') + if(base64_nByte(8_pI64) /= 6_pI64) call IO_error(0,ext_msg='base64_nByte/8/6') bytes = base64_to_bytes(zero_to_three) if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes//') - bytes = base64_to_bytes(zero_to_three,e=1_pLongInt) + bytes = base64_to_bytes(zero_to_three,e=1_pI64) if(any(bytes /= int([0],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes//1') - bytes = base64_to_bytes(zero_to_three,e=2_pLongInt) + bytes = base64_to_bytes(zero_to_three,e=2_pI64) if(any(bytes /= int([0,1],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes//2') - bytes = base64_to_bytes(zero_to_three,e=3_pLongInt) + bytes = base64_to_bytes(zero_to_three,e=3_pI64) if(any(bytes /= int([0,1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 3) call IO_error(0,ext_msg='base64_to_bytes//3') - bytes = base64_to_bytes(zero_to_three,e=4_pLongInt) + bytes = base64_to_bytes(zero_to_three,e=4_pI64) if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes//4') - bytes = base64_to_bytes(zero_to_three,s=1_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=1_pI64) if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes/1/') - bytes = base64_to_bytes(zero_to_three,s=2_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=2_pI64) if(any(bytes /= int([1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 3) call IO_error(0,ext_msg='base64_to_bytes/2/') - bytes = base64_to_bytes(zero_to_three,s=3_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=3_pI64) if(any(bytes /= int([2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/3/') - bytes = base64_to_bytes(zero_to_three,s=4_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=4_pI64) if(any(bytes /= int([3],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/4/') - bytes = base64_to_bytes(zero_to_three,s=1_pLongInt,e=1_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=1_pI64,e=1_pI64) if(any(bytes /= int([0],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/1/1') - bytes = base64_to_bytes(zero_to_three,s=2_pLongInt,e=2_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=2_pI64,e=2_pI64) if(any(bytes /= int([1],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/2/2') - bytes = base64_to_bytes(zero_to_three,s=3_pLongInt,e=3_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=3_pI64,e=3_pI64) if(any(bytes /= int([2],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/3/3') - bytes = base64_to_bytes(zero_to_three,s=4_pLongInt,e=4_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=4_pI64,e=4_pI64) if(any(bytes /= int([3],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/4/4') - bytes = base64_to_bytes(zero_to_three,s=1_pLongInt,e=2_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=1_pI64,e=2_pI64) if(any(bytes /= int([0,1],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/1/2') - bytes = base64_to_bytes(zero_to_three,s=2_pLongInt,e=3_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=2_pI64,e=3_pI64) if(any(bytes /= int([1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/2/3') - bytes = base64_to_bytes(zero_to_three,s=3_pLongInt,e=4_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=3_pI64,e=4_pI64) if(any(bytes /= int([2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/3/4') - bytes = base64_to_bytes(zero_to_three,s=1_pLongInt,e=3_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=1_pI64,e=3_pI64) if(any(bytes /= int([0,1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 3) call IO_error(0,ext_msg='base64_to_bytes/1/3') - bytes = base64_to_bytes(zero_to_three,s=2_pLongInt,e=4_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=2_pI64,e=4_pI64) if(any(bytes /= int([1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 3) call IO_error(0,ext_msg='base64_to_bytes/2/4') - bytes = base64_to_bytes(zero_to_three,s=1_pLongInt,e=4_pLongInt) + bytes = base64_to_bytes(zero_to_three,s=1_pI64,e=4_pI64) if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes/1/4') end subroutine selfTest diff --git a/src/prec.f90 b/src/prec.f90 index 8bb3332f3..d3ec108fe 100644 --- a/src/prec.f90 +++ b/src/prec.f90 @@ -15,12 +15,13 @@ module prec ! https://software.intel.com/en-us/blogs/2017/03/27/doctor-fortran-in-it-takes-all-kinds integer, parameter :: pReal = IEEE_selected_real_kind(15,307) !< number with 15 significant digits, up to 1e+-307 (typically 64 bit) + integer, parameter :: pI32 = selected_int_kind(9) !< number with at least up to +-1e9 (typically 32 bit) + integer, parameter :: pI64 = selected_int_kind(18) !< number with at least up to +-1e18 (typically 64 bit) #if(INT==8) - integer, parameter :: pInt = selected_int_kind(18) !< number with at least up to +-1e18 (typically 64 bit) + integer, parameter :: pInt = pI64 #else - integer, parameter :: pInt = selected_int_kind(9) !< number with at least up to +-1e9 (typically 32 bit) + integer, parameter :: pInt = pI32 #endif - integer, parameter :: pLongInt = selected_int_kind(18) !< number with at least up to +-1e18 (typically 64 bit) integer, parameter :: pStringLen = 256 !< default string length integer, parameter :: pPathLen = 4096 !< maximum length of a path name on linux @@ -237,7 +238,7 @@ end function cNeq pure function bytes_to_C_FLOAT(bytes) integer(C_SIGNED_CHAR), dimension(:), intent(in) :: bytes !< byte-wise representation of a C_FLOAT array - real(C_FLOAT), dimension(size(bytes,kind=pLongInt)/(storage_size(0._C_FLOAT,pLongInt)/8_pLongInt)) :: & + real(C_FLOAT), dimension(size(bytes,kind=pI64)/(storage_size(0._C_FLOAT,pI64)/8_pI64)) :: & bytes_to_C_FLOAT bytes_to_C_FLOAT = transfer(bytes,bytes_to_C_FLOAT,size(bytes_to_C_FLOAT)) @@ -251,7 +252,7 @@ end function bytes_to_C_FLOAT pure function bytes_to_C_DOUBLE(bytes) integer(C_SIGNED_CHAR), dimension(:), intent(in) :: bytes !< byte-wise representation of a C_DOUBLE array - real(C_DOUBLE), dimension(size(bytes,kind=pLongInt)/(storage_size(0._C_DOUBLE,pLongInt)/8_pLongInt)) :: & + real(C_DOUBLE), dimension(size(bytes,kind=pI64)/(storage_size(0._C_DOUBLE,pI64)/8_pI64)) :: & bytes_to_C_DOUBLE bytes_to_C_DOUBLE = transfer(bytes,bytes_to_C_DOUBLE,size(bytes_to_C_DOUBLE)) @@ -265,7 +266,7 @@ end function bytes_to_C_DOUBLE pure function bytes_to_C_INT32_T(bytes) integer(C_SIGNED_CHAR), dimension(:), intent(in) :: bytes !< byte-wise representation of a C_INT32_T array - integer(C_INT32_T), dimension(size(bytes,kind=pLongInt)/(storage_size(0_C_INT32_T,pLongInt)/8_pLongInt)) :: & + integer(C_INT32_T), dimension(size(bytes,kind=pI64)/(storage_size(0_C_INT32_T,pI64)/8_pI64)) :: & bytes_to_C_INT32_T bytes_to_C_INT32_T = transfer(bytes,bytes_to_C_INT32_T,size(bytes_to_C_INT32_T)) @@ -279,7 +280,7 @@ end function bytes_to_C_INT32_T pure function bytes_to_C_INT64_T(bytes) integer(C_SIGNED_CHAR), dimension(:), intent(in) :: bytes !< byte-wise representation of a C_INT64_T array - integer(C_INT64_T), dimension(size(bytes,kind=pLongInt)/(storage_size(0_C_INT64_T,pLongInt)/8_pLongInt)) :: & + integer(C_INT64_T), dimension(size(bytes,kind=pI64)/(storage_size(0_C_INT64_T,pI64)/8_pI64)) :: & bytes_to_C_INT64_T bytes_to_C_INT64_T = transfer(bytes,bytes_to_C_INT64_T,size(bytes_to_C_INT64_T)) diff --git a/src/zlib.f90 b/src/zlib.f90 index 670131334..21428255c 100644 --- a/src/zlib.f90 +++ b/src/zlib.f90 @@ -33,7 +33,7 @@ contains function zlib_inflate(deflated,size_inflated) integer(C_SIGNED_CHAR), dimension(:), intent(in) :: deflated - integer(pLongInt), intent(in) :: size_inflated + integer(pI64), intent(in) :: size_inflated integer(C_SIGNED_CHAR), dimension(size_inflated) :: zlib_inflate From a5d5638e4afb8339f11322bc1e28a50e4c1c0588 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 12 Sep 2020 13:46:55 +0200 Subject: [PATCH 569/958] allow uncompressed files --- python/damask/_vtk.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 7f3e64aef..d23bfd22e 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -168,7 +168,7 @@ class VTK: def _write(writer): """Wrapper for parallel writing.""" writer.Write() - def to_file(self,fname,parallel=True): + def to_file(self,fname,parallel=True,compress=True): """ Write to file. @@ -192,7 +192,10 @@ class VTK: if ext and ext != '.'+default_ext: raise ValueError(f'Given extension {ext} does not match default .{default_ext}') writer.SetFileName(str(Path(fname).with_suffix('.'+default_ext))) - writer.SetCompressorTypeToZLib() + if compress: + writer.SetCompressorTypeToZLib() + else: + writer.SetCompressorTypeToNone() writer.SetDataModeToBinary() writer.SetInputData(self.vtk_data) From 566ab7e7d9ddcc3a2bcef129e140bd6003e396b1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 12 Sep 2020 14:43:04 +0200 Subject: [PATCH 570/958] reading in VTR files will replace geom file in the near future --- PRIVATE | 2 +- src/IO.f90 | 2 + src/grid/discretization_grid.f90 | 375 ++++++++++++++++++++++++++++++- 3 files changed, 376 insertions(+), 3 deletions(-) diff --git a/PRIVATE b/PRIVATE index 3bc603489..92ca3e83b 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 3bc60348981a68bc22a5ebaafe4173b7513ac264 +Subproject commit 92ca3e83b6093c1af277cfc06a504e4bb09fe8bc diff --git a/src/IO.f90 b/src/IO.f90 index 23f70eb8c..f434539b0 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -585,6 +585,8 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'incomplete information in grid mesh header' case (843) msg = 'microstructure count mismatch' + case (844) + msg = 'invalid VTR file' case (846) msg = 'rotation for load case rotation ill-defined (R:RT != I)' case (891) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 995f9e104..1fdb6c922 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -10,6 +10,8 @@ module discretization_grid use prec use system_routines + use base64 + use zlib use DAMASK_interface use IO use config @@ -64,7 +66,11 @@ subroutine discretization_grid_init(restart) write(6,'(/,a)') ' <<<+- discretization_grid init -+>>>'; flush(6) - call readGeom(grid,geomSize,origin,microstructureAt) + if(index(geometryFile,'.vtr') /= 0) then + call readVTR(grid,geomSize,origin,microstructureAt) + else + call readGeom(grid,geomSize,origin,microstructureAt) + endif !-------------------------------------------------------------------------------------------------- ! grid solver specific quantities @@ -150,7 +156,6 @@ subroutine readGeom(grid,geomSize,origin,microstructure) character(len=65536) :: line integer, allocatable, dimension(:) :: chunkPos integer :: & - h =- 1, & headerLength = -1, & !< length of header (in lines) fileLength, & !< length of the geom file (in characters) fileUnit, & @@ -294,6 +299,372 @@ subroutine readGeom(grid,geomSize,origin,microstructure) end subroutine readGeom +!-------------------------------------------------------------------------------------------------- +!> @brief Parse vtk rectilinear grid (.vtr) +!> @details https://vtk.org/Wiki/VTK_XML_Formats +!-------------------------------------------------------------------------------------------------- +subroutine readVTR(grid,geomSize,origin,microstructure) + + integer, dimension(3), intent(out) :: & + grid ! grid (for all processes!) + real(pReal), dimension(3), intent(out) :: & + geomSize, & ! size (for all processes!) + origin ! origin (for all processes!) + integer, dimension(:), intent(out), allocatable :: & + microstructure + + character(len=:), allocatable :: fileContent, data_type, header_type + logical :: inFile,inGrid,readCoordinates,readCellData,compressed + integer :: fileUnit, myStat, coord + integer(pI64) :: & + fileLength, & !< length of the geom file (in characters) + startPos, endPos, & + s + + grid = -1 + geomSize = -1.0_pReal + +!-------------------------------------------------------------------------------------------------- +! read raw data as stream + inquire(file = trim(geometryFile), size=fileLength) + open(newunit=fileUnit, file=trim(geometryFile), access='stream',& + status='old', position='rewind', action='read',iostat=myStat) + if(myStat /= 0) call IO_error(100,ext_msg=trim(geometryFile)) + allocate(character(len=fileLength)::fileContent) + read(fileUnit) fileContent + close(fileUnit) + + inFile = .false. + inGrid = .false. + readCoordinates = .false. + readCelldata = .false. + +!-------------------------------------------------------------------------------------------------- +! interprete XML file + startPos = 1_pI64 + do while (startPos < len(fileContent,kind=pI64)) + endPos = startPos + index(fileContent(startPos:),IO_EOL,kind=pI64) - 2_pI64 + if (endPos < startPos) endPos = len(fileContent,kind=pI64) ! end of file without new line + + if(.not. inFile) then + if(index(fileContent(startPos:endPos),'',kind=pI64) /= 0_pI64) then + readCellData = .true. + startPos = endPos + 2_pI64 + do while (index(fileContent(startPos:endPos),'',kind=pI64) == 0_pI64) + endPos = startPos + index(fileContent(startPos:),IO_EOL,kind=pI64) - 2_pI64 + if(index(fileContent(startPos:endPos),'',kind=pI64) /= 0_pI64) then + readCoordinates = .true. + startPos = endPos + 2_pI64 + + coord = 0 + do while (startPos',kind=pI64) /= 0_pI64) exit + startPos = endPos + 2_pI64 + enddo + endif + endif + endif + + if(readCellData .and. readCoordinates) exit + startPos = endPos + 2_pI64 + + end do + + if(.not. allocated(microstructure)) call IO_error(error_ID = 844, ext_msg='materialpoint not found') + if(size(microstructure) /= product(grid)) call IO_error(error_ID = 844, ext_msg='size(materialpoint)') + if(any(geomSize<=0)) call IO_error(error_ID = 844, ext_msg='size') + if(any(grid<1)) call IO_error(error_ID = 844, ext_msg='grid') + + contains + + !------------------------------------------------------------------------------------------------ + !> @brief determine size and origin from coordinates + !------------------------------------------------------------------------------------------------ + !ToDo: check for regular spacing + subroutine origin_and_size(base64_str,header_type,compressed,data_type,direction) + + character(len=*), intent(in) :: base64_str, & ! base64 encoded string of 1D coordinates + header_type, & ! header type (UInt32 or Uint64) + data_type ! data type (Int32, Int64, Float32, Float64) + logical, intent(in) :: compressed ! indicate whether data is zlib compressed + integer, intent(in) :: direction ! direction (1=x,2=y,3=z) + + real(pReal), dimension(:), allocatable :: coords + + coords = as_pReal(base64_str,header_type,compressed,data_type) + + origin(direction) = coords(1) + geomSize(direction) = coords(size(coords)) - coords(1) + + end subroutine + + + !------------------------------------------------------------------------------------------------ + !> @brief Interpret Base64 string in vtk XML file as integer of default kind + !------------------------------------------------------------------------------------------------ + function as_Int(base64_str,header_type,compressed,data_type) + + character(len=*), intent(in) :: base64_str, & ! base64 encoded string + header_type, & ! header type (UInt32 or Uint64) + data_type ! data type (Int32, Int64, Float32, Float64) + logical, intent(in) :: compressed ! indicate whether data is zlib compressed + + integer, dimension(:), allocatable :: as_Int + + select case(data_type) + case('Int32') + as_Int = int(bytes_to_C_INT32_T(asBytes(base64_str,header_type,compressed))) + case('Int64') + as_Int = int(bytes_to_C_INT64_T(asBytes(base64_str,header_type,compressed))) + case('Float32') + as_Int = int(bytes_to_C_FLOAT (asBytes(base64_str,header_type,compressed))) + case('Float64') + as_Int = int(bytes_to_C_DOUBLE (asBytes(base64_str,header_type,compressed))) + case default + allocate(as_Int(0)) + end select + + end function as_Int + + + !------------------------------------------------------------------------------------------------ + !> @brief Interpret Base64 string in vtk XML file as integer of pReal kind + !------------------------------------------------------------------------------------------------ + function as_pReal(base64_str,header_type,compressed,data_type) + + character(len=*), intent(in) :: base64_str, & ! base64 encoded string + header_type, & ! header type (UInt32 or Uint64) + data_type ! data type (Int32, Int64, Float32, Float64) + logical, intent(in) :: compressed ! indicate whether data is zlib compressed + + real(pReal), dimension(:), allocatable :: as_pReal + + select case(data_type) + case('Int32') + as_pReal = real(bytes_to_C_INT32_T(asBytes(base64_str,header_type,compressed)),pReal) + case('Int64') + as_pReal = real(bytes_to_C_INT64_T(asBytes(base64_str,header_type,compressed)),pReal) + case('Float32') + as_pReal = real(bytes_to_C_FLOAT (asBytes(base64_str,header_type,compressed)),pReal) + case('Float64') + as_pReal = real(bytes_to_C_DOUBLE (asBytes(base64_str,header_type,compressed)),pReal) + case default + allocate(as_pReal(0)) + end select + + end function as_pReal + + + !------------------------------------------------------------------------------------------------ + !> @brief Interpret Base64 string in vtk XML file as bytes + !------------------------------------------------------------------------------------------------ + function asBytes(base64_str,header_type,compressed) result(bytes) + + character(len=*), intent(in) :: base64_str, & ! base64 encoded string + header_type ! header type (UInt32 or Uint64) + logical, intent(in) :: compressed ! indicate whether data is zlib compressed + + integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes + + if(compressed) then + bytes = asBytes_compressed(base64_str,header_type) + else + bytes = asBytes_uncompressed(base64_str,header_type) + endif + + end function asBytes + + !------------------------------------------------------------------------------------------------ + !> @brief Interpret compressed Base64 string in vtk XML file as bytes + !> @details A compressed Base64 string consists of a header block and a data block + ! [#blocks/#u-size/#p-size/#c-size-1/#c-size-2/.../#c-size-#blocks][DATA-1/DATA-2...] + ! #blocks = Number of blocks + ! #u-size = Block size before compression + ! #p-size = Size of last partial block (zero if it not needed) + ! #c-size-i = Size in bytes of block i after compression + !------------------------------------------------------------------------------------------------ + function asBytes_compressed(base64_str,header_type) result(bytes) + + character(len=*), intent(in) :: base64_str, & ! base64 encoded string + header_type ! header type (UInt32 or Uint64) + + integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes + + integer(pI64), dimension(:), allocatable :: temp, size_inflated, size_deflated + integer(pI64) :: header_len, N_blocks, b,s,e + + if (header_type == 'UInt32') then + temp = int(bytes_to_C_INT32_T(base64_to_bytes(base64_str(:base64_nChar(4_pI64)))),pI64) + N_blocks = int(temp(1),pI64) + header_len = 4_pI64 * (3_pI64 + N_blocks) + temp = int(bytes_to_C_INT32_T(base64_to_bytes(base64_str(:base64_nChar(header_len)))),pI64) + elseif(header_type == 'UInt64') then + temp = int(bytes_to_C_INT64_T(base64_to_bytes(base64_str(:base64_nChar(8_pI64)))),pI64) + N_blocks = int(temp(1),pI64) + header_len = 8_pI64 * (3_pI64 + N_blocks) + temp = int(bytes_to_C_INT64_T(base64_to_bytes(base64_str(:base64_nChar(header_len)))),pI64) + endif + + allocate(size_inflated(N_blocks),source=temp(2)) + size_inflated(N_blocks) = merge(temp(3),temp(2),temp(3)/=0_pI64) + size_deflated = temp(4:) + allocate(bytes(0)) + + e = 0_pI64 + do b = 1, N_blocks + s = e + 1_pI64 + e = s + size_deflated(b) - 1_pI64 + bytes = [bytes,zlib_inflate(base64_to_bytes(base64_str(base64_nChar(header_len)+1:),s,e),size_inflated(b))] + enddo + + end function asBytes_compressed + + + !------------------------------------------------------------------------------------------------ + !> @brief Interprete uncompressed Base64 string in vtk XML file as bytes + !> @details An uncompressed Base64 string consists of N headers blocks and a N data blocks + ![#bytes-1/DATA-1][#bytes-2/DATA-2]... + !------------------------------------------------------------------------------------------------ + function asBytes_uncompressed(base64_str,header_type) result(bytes) + + character(len=*), intent(in) :: base64_str, & ! base64 encoded string + header_type ! header type (UInt32 or Uint64) + + integer(pI64) :: s + integer(pI64), dimension(1) :: N_bytes + + integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes + allocate(bytes(0)) + + s=0_pI64 + if (header_type == 'UInt32') then + do while(s+base64_nChar(4_pI64)<(len(base64_str,pI64))) + N_bytes = int(bytes_to_C_INT32_T(base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(4_pI64)))),pI64) + bytes = [bytes,base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(4_pI64+N_bytes(1))),5_pI64)] + s = s + base64_nChar(4_pI64+N_bytes(1)) + enddo + elseif(header_type == 'UInt64') then + do while(s+base64_nChar(8_pI64)<(len(base64_str,pI64))) + N_bytes = int(bytes_to_C_INT64_T(base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(8_pI64)))),pI64) + bytes = [bytes,base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(8_pI64+N_bytes(1))),9_pI64)] + s = s + base64_nChar(8_pI64+N_bytes(1)) + enddo + endif + + end function asBytes_uncompressed + + !------------------------------------------------------------------------------------------------ + !> @brief Get XML string value for given key + !------------------------------------------------------------------------------------------------ + ! ToDo: check if "=" is between key and value + pure function getXMLValue(line,key) + + character(len=*), intent(in) :: line, key + + character(len=:), allocatable :: getXMLValue + + integer :: s,e +#ifdef __INTEL_COMPILER + character :: q +#endif + + s = index(line," "//key,back=.true.) + if(s==0) then + getXMLValue = '' + else + s = s + 1 + scan(line(s+1:),"'"//'"') +#ifdef __INTEL_COMPILER + q = str(s-1:s-1) + e = s + index(line(s:),q) - 1 +#else + e = s + index(line(s:),merge("'",'"',line(s-1:s-1)=="'")) - 1 +#endif + getXMLValue = line(s:e-1) + endif + + end function + + + !------------------------------------------------------------------------------------------------ + !> @brief figure out if file format is understandable + !------------------------------------------------------------------------------------------------ + pure function fileOk(line) + + character(len=*),intent(in) :: line + logical :: fileOk + + fileOk = getXMLValue(line,'type') == 'RectilinearGrid' .and. & + getXMLValue(line,'byte_order') == 'LittleEndian' .and. & + getXMLValue(line,'compressor') /= 'vtkLZ4DataCompressor' .and. & + getXMLValue(line,'compressor') /= 'vtkLZMADataCompressor' + + end function fileOk + + + !------------------------------------------------------------------------------------------------ + !> @brief get grid information from '' + !------------------------------------------------------------------------------------------------ + function getGrid(line) + + character(len=*),intent(in) :: line + + integer,dimension(3) :: getGrid + + integer :: s,e,i + + s=scan(line,'"'//"'",back=.False.) + e=scan(line,'"'//"'",back=.True.) + + getGrid = [(IO_intValue(line(s+1:e-1),IO_stringPos(line(s+1:e-1)),i*2),i=1,3)] + + end function getGrid + +end subroutine readVTR + + !--------------------------------------------------------------------------------------------------- !> @brief Calculate undeformed position of IPs/cell centers (pretend to be an element) !--------------------------------------------------------------------------------------------------- From 767e0506df6964b67cd1d8d60fe296fe2833fd0a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 12 Sep 2020 15:05:07 +0200 Subject: [PATCH 571/958] older Fortran compilers are not supported anymore --- src/DAMASK_interface.f90 | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index 1ebae3401..e07d8e413 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -139,15 +139,12 @@ subroutine DAMASK_interface_init write(6,'(/,a)') ' Version: '//DAMASKVERSION ! https://github.com/jeffhammond/HPCInfo/blob/master/docs/Preprocessor-Macros.md -#if defined(__GFORTRAN__) || __INTEL_COMPILER >= 1800 +#if defined(__PGI) + write(6,'(/,a,i4.4,a,i8.8)') ' Compiled with PGI fortran version :', __PGIC__,& + '.', __PGIC_MINOR__ +#else write(6,'(/,a)') ' Compiled with: '//compiler_version() write(6,'(a)') ' Compiler options: '//compiler_options() -#elif defined(__INTEL_COMPILER) - write(6,'(/,a,i4.4,a,i8.8)') ' Compiled with Intel fortran version :', __INTEL_COMPILER,& - ', build date :', __INTEL_COMPILER_BUILD_DATE -#elif defined(__PGI) - write(6,'(a,i4.4,a,i8.8)') ' Compiled with PGI fortran version :', __PGIC__,& - '.', __PGIC_MINOR__ #endif write(6,'(/,a)') ' Compiled on: '//__DATE__//' at '//__TIME__ From faac9883a5392eac02a89514c863e20e44ae959b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 12 Sep 2020 15:25:37 +0200 Subject: [PATCH 572/958] more verbose GitLab CI --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4c33f83e7..03aee2abe 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -499,7 +499,7 @@ mergeIntoMaster: removeData: stage: clean before_script: - - echo 'Do nothing' + - echo "Removing data and lock of pipeline $CI_PIPELINE_ID" script: - rm -rf $TESTROOT/GitLabCI_Pipeline_$CI_PIPELINE_ID - sed -i "/$CI_PIPELINE_ID/d" $TESTROOT/GitLabCI.queue # in case pipeline was manually (web GUI) restarted and releaseLock was performed already @@ -511,7 +511,7 @@ removeData: removeLock: stage: releaseLock before_script: - - echo 'Do nothing' + - echo "Removing lock of pipeline $CI_PIPELINE_ID" when: always script: sed -i "/$CI_PIPELINE_ID/d" $TESTROOT/GitLabCI.queue except: From 307b1b20cc5de287ebb23dcd815efebcdef55616 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 12 Sep 2020 15:26:16 +0200 Subject: [PATCH 573/958] forgotten rename for ifort workaround --- src/grid/discretization_grid.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 1fdb6c922..fb6e7f1aa 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -617,7 +617,7 @@ subroutine readVTR(grid,geomSize,origin,microstructure) else s = s + 1 + scan(line(s+1:),"'"//'"') #ifdef __INTEL_COMPILER - q = str(s-1:s-1) + q = line(s-1:s-1) e = s + index(line(s:),q) - 1 #else e = s + index(line(s:),merge("'",'"',line(s-1:s-1)=="'")) - 1 From 7b414454f0c4c290483df55ec74cb0c7ba570212 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 12 Sep 2020 15:42:03 +0200 Subject: [PATCH 574/958] nicer reporting --- src/DAMASK_interface.f90 | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index e07d8e413..5b65b51c3 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -124,16 +124,24 @@ subroutine DAMASK_interface_init write(6,'(/,a)') ' <<<+- DAMASK_interface init -+>>>' - ! http://patorjk.com/software/taag/#p=display&f=Lean&t=DAMASK + ! http://patorjk.com/software/taag/#p=display&f=Lean&t=DAMASK%203 +#ifdef DEBUG + write(6,*) achar(27)//'[31m' + write(6,'(a,/)') ' debug version - debug version - debug version - debug version - debug version' +#else write(6,*) achar(27)//'[94m' - write(6,*) ' _/_/_/ _/_/ _/ _/ _/_/ _/_/_/ _/ _/' - write(6,*) ' _/ _/ _/ _/ _/_/ _/_/ _/ _/ _/ _/ _/' - write(6,*) ' _/ _/ _/_/_/_/ _/ _/ _/ _/_/_/_/ _/_/ _/_/' - write(6,*) ' _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/' - write(6,*) ' _/_/_/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/' +#endif + write(6,*) ' _/_/_/ _/_/ _/ _/ _/_/ _/_/_/ _/ _/ _/_/_/' + write(6,*) ' _/ _/ _/ _/ _/_/ _/_/ _/ _/ _/ _/ _/ _/' + write(6,*) ' _/ _/ _/_/_/_/ _/ _/ _/ _/_/_/_/ _/_/ _/_/ _/_/' + write(6,*) ' _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/' + write(6,*) ' _/_/_/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/_/_/' +#ifdef DEBUG + write(6,'(/,a)') ' debug version - debug version - debug version - debug version - debug version' +#endif write(6,*) achar(27)//'[0m' - write(6,'(/,a)') ' Roters et al., Computational Materials Science 158:420–478, 2019' + write(6,'(a)') ' Roters et al., Computational Materials Science 158:420–478, 2019' write(6,'(a)') ' https://doi.org/10.1016/j.commatsci.2018.04.030' write(6,'(/,a)') ' Version: '//DAMASKVERSION From 3f9e9a120acdd900cc5feb5a463e67b04f2d1918 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 12 Sep 2020 15:56:59 +0200 Subject: [PATCH 575/958] simplified --- src/config.f90 | 38 ++++++++++++-------------------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/src/config.f90 b/src/config.f90 index c6c69ed48..96dc7f36d 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -29,8 +29,7 @@ module config worldrank = 0, & !< MPI worldrank (/=0 for MPI simulations only) worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) integer(4), protected, public :: & - DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive - + DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive public :: & config_init, & @@ -49,7 +48,6 @@ subroutine config_init call parse_numerics call parse_debug - end subroutine config_init @@ -59,7 +57,7 @@ end subroutine config_init subroutine parse_material logical :: fileExists - character(len=:), allocatable :: fname,flow + character(len=:), allocatable :: fname fname = getSolverJobName()//'.yaml' inquire(file=fname,exist=fileExists) @@ -68,10 +66,8 @@ subroutine parse_material inquire(file=fname,exist=fileExists) if(.not. fileExists) call IO_error(100,ext_msg=fname) endif - - write(6,'(/,a)') ' reading '//fname; flush(6) - flow = to_flow(IO_read(fname)) - material_root => parse_flow(flow) + write(6,*) 'reading '//fname; flush(6) + material_root => parse_flow(to_flow(IO_read(fname))) end subroutine parse_material @@ -82,11 +78,9 @@ end subroutine parse_material !-------------------------------------------------------------------------------------------------- subroutine parse_numerics -!$ integer :: gotDAMASK_NUM_THREADS = 1 - integer :: ierr - character(len=:), allocatable :: & - numerics_inFlow logical :: fexist + integer :: ierr +!$ integer :: gotDAMASK_NUM_THREADS = 1 !$ character(len=6) DAMASK_NumThreadsString ! environment variable DAMASK_NUM_THREADS #ifdef PETSc @@ -106,12 +100,9 @@ subroutine parse_numerics numerics_root => emptyDict inquire(file='numerics.yaml', exist=fexist) - if (fexist) then - write(6,'(a,/)') ' using values from config.yaml file' - flush(6) - numerics_inFlow = to_flow(IO_read('numerics.yaml')) - numerics_root => parse_flow(numerics_inFlow) + write(6,*) 'reading numerics.yaml'; flush(6) + numerics_root => parse_flow(to_flow(IO_read('numerics.yaml'))) endif !-------------------------------------------------------------------------------------------------- @@ -126,18 +117,13 @@ end subroutine parse_numerics !-------------------------------------------------------------------------------------------------- subroutine parse_debug - character(len=:), allocatable :: debug_inFlow logical :: fexist -#ifdef DEBUG - write(6,'(a)') achar(27)//'[31m <<<+- DEBUG version -+>>>'//achar(27)//'[0m' -#endif - debug_root => emptyDict inquire(file='debug.yaml', exist=fexist) fileExists: if (fexist) then - debug_inFlow = to_flow(IO_read('debug.yaml')) - debug_root => parse_flow(debug_inFlow) + write(6,*) 'reading debug.yaml'; flush(6) + debug_root => parse_flow(to_flow(IO_read('debug.yaml'))) endif fileExists end subroutine parse_debug @@ -148,8 +134,8 @@ end subroutine parse_debug !-------------------------------------------------------------------------------------------------- subroutine config_deallocate - deallocate(material_root) !ToDo: deallocation of numerics and debug (slightly different for optional files) - + deallocate(material_root) !ToDo: deallocation of numerics debug (optional) + end subroutine config_deallocate end module config From a46b888cff4c3645202d6fe3a8e8665a3783b5cd Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 12 Sep 2020 16:06:33 +0200 Subject: [PATCH 576/958] WIP: introducing separate module for parallelization --- src/CPFEM.f90 | 1 - src/CPFEM2.f90 | 1 - src/DAMASK_interface.f90 | 3 +++ src/DAMASK_marc.f90 | 6 +++++- src/parallelization.f90 | 31 +++++++++++++++++++++++++++++++ 5 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 src/parallelization.f90 diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 8d31ea078..b2fccca26 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -75,7 +75,6 @@ contains subroutine CPFEM_initAll call DAMASK_interface_init - call prec_init call IO_init call config_init call math_init diff --git a/src/CPFEM2.f90 b/src/CPFEM2.f90 index adeb00955..b2bdebcc6 100644 --- a/src/CPFEM2.f90 +++ b/src/CPFEM2.f90 @@ -41,7 +41,6 @@ contains subroutine CPFEM_initAll call DAMASK_interface_init ! Spectral and FEM interface to commandline - call prec_init call IO_init call base64_init #ifdef Mesh diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index 5b65b51c3..f08e06f31 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -19,6 +19,7 @@ module DAMASK_interface use PETScSys use prec + use parallelization use system_routines implicit none @@ -268,6 +269,8 @@ subroutine DAMASK_interface_init call setSIGUSR1(.false.) call setSIGUSR2(.false.) + call prec_init + call parallelization_init end subroutine DAMASK_interface_init diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index 78203ffa2..4db1f4f15 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -26,6 +26,7 @@ #define PASTE(x,y) x ## y #include "prec.f90" +#include "parallelization.f90" module DAMASK_interface use prec @@ -42,7 +43,7 @@ module DAMASK_interface logical, protected, public :: symmetricSolver character(len=*), parameter, public :: INPUTFILEEXTENSION = '.dat' - + public :: & DAMASK_interface_init, & @@ -90,6 +91,9 @@ subroutine DAMASK_interface_init endif symmetricSolver = solverIsSymmetric() + call prec_init + call parallelization_init + end subroutine DAMASK_interface_init diff --git a/src/parallelization.f90 b/src/parallelization.f90 new file mode 100644 index 000000000..8e569dcb9 --- /dev/null +++ b/src/parallelization.f90 @@ -0,0 +1,31 @@ +!-------------------------------------------------------------------------------------------------- +!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH +!> @brief Inquires variables related to parallelization (openMP, MPI) +!-------------------------------------------------------------------------------------------------- +module parallelization + use prec + +#ifdef PETSc +#include + use petscsys +#endif +!$ use OMP_LIB + + implicit none + private + + public :: & + parallelization_init + +contains + +!-------------------------------------------------------------------------------------------------- +!> @brief calls subroutines that reads material, numerics and debug configuration files +!-------------------------------------------------------------------------------------------------- +subroutine parallelization_init + + write(6,'(/,a)') ' <<<+- parallelization init -+>>>'; flush(6) + +end subroutine parallelization_init + +end module parallelization From 126ef8be9fe44dc0d7437333b4266a7537142e71 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 12 Sep 2020 16:25:58 +0200 Subject: [PATCH 577/958] separating functionality - config: reads config files - parallelization: determines parallelization environment --- src/config.f90 | 18 ------------------ src/parallelization.f90 | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/config.f90 b/src/config.f90 index 96dc7f36d..342ac6a1b 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -15,7 +15,6 @@ module config #include use petscsys #endif -!$ use OMP_LIB implicit none private @@ -28,8 +27,6 @@ module config integer, protected, public :: & worldrank = 0, & !< MPI worldrank (/=0 for MPI simulations only) worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) - integer(4), protected, public :: & - DAMASK_NumThreadsInt = 0 !< value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive public :: & config_init, & @@ -80,24 +77,12 @@ subroutine parse_numerics logical :: fexist integer :: ierr -!$ integer :: gotDAMASK_NUM_THREADS = 1 -!$ character(len=6) DAMASK_NumThreadsString ! environment variable DAMASK_NUM_THREADS #ifdef PETSc call MPI_Comm_rank(PETSC_COMM_WORLD,worldrank,ierr);CHKERRQ(ierr) call MPI_Comm_size(PETSC_COMM_WORLD,worldsize,ierr);CHKERRQ(ierr) #endif -!$ call GET_ENVIRONMENT_VARIABLE(NAME='DAMASK_NUM_THREADS',VALUE=DAMASK_NumThreadsString,STATUS=gotDAMASK_NUM_THREADS) ! get environment variable DAMASK_NUM_THREADS... -!$ if(gotDAMASK_NUM_THREADS /= 0) then ! could not get number of threads, set it to 1 -!$ call IO_warning(35,ext_msg='BEGIN:'//DAMASK_NumThreadsString//':END') -!$ DAMASK_NumThreadsInt = 1_4 -!$ else -!$ read(DAMASK_NumThreadsString,'(i6)') DAMASK_NumThreadsInt ! read as integer -!$ if (DAMASK_NumThreadsInt < 1_4) DAMASK_NumThreadsInt = 1_4 ! in case of string conversion fails, set it to one -!$ endif -!$ call omp_set_num_threads(DAMASK_NumThreadsInt) ! set number of threads for parallel execution - numerics_root => emptyDict inquire(file='numerics.yaml', exist=fexist) if (fexist) then @@ -105,9 +90,6 @@ subroutine parse_numerics numerics_root => parse_flow(to_flow(IO_read('numerics.yaml'))) endif -!-------------------------------------------------------------------------------------------------- -! openMP parameter - !$ write(6,'(a24,1x,i8,/)') ' number of threads: ',DAMASK_NumThreadsInt end subroutine parse_numerics diff --git a/src/parallelization.f90 b/src/parallelization.f90 index 8e569dcb9..bb32baf77 100644 --- a/src/parallelization.f90 +++ b/src/parallelization.f90 @@ -24,7 +24,24 @@ contains !-------------------------------------------------------------------------------------------------- subroutine parallelization_init +!$ integer :: got_env, DAMASK_NUM_THREADS +!$ character(len=6) NumThreadsString + write(6,'(/,a)') ' <<<+- parallelization init -+>>>'; flush(6) + +!$ call get_environment_variable(name='DAMASK_NUM_THREADS',value=NumThreadsString,STATUS=got_env) ! get environment variable DAMASK_NUM_THREADS... +!$ if(got_env /= 0) then ! could not get number of threads, set it to 1 +!$ write(6,*) 'Could not determine value of $DAMASK_NUM_THREADS' +!$ DAMASK_NUM_THREADS = 1_pI32 +!$ else +!$ read(NumThreadsString,'(i6)') DAMASK_NUM_THREADS +!$ if (DAMASK_NUM_THREADS < 1_pI32) then +!$ write(6,*) 'Invalid DAMASK_NUM_THREADS: '//trim(NumThreadsString) +!$ DAMASK_NUM_THREADS = 1_pI32 +!$ endif +!$ endif +!$ write(6,'(a,i8,/)') ' DAMASK_NUM_THREADS: ',DAMASK_NUM_THREADS +!$ call omp_set_num_threads(DAMASK_NUM_THREADS) end subroutine parallelization_init From 81063046c485c4cdd8ae37acaae64e4a7c3161a7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 12 Sep 2020 22:55:30 +0200 Subject: [PATCH 578/958] improved error handling, potentially faster algorithm --- src/grid/discretization_grid.f90 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index fb6e7f1aa..3f36ff4f8 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -435,7 +435,6 @@ subroutine readVTR(grid,geomSize,origin,microstructure) real(pReal), dimension(:), allocatable :: coords coords = as_pReal(base64_str,header_type,compressed,data_type) - origin(direction) = coords(1) geomSize(direction) = coords(size(coords)) - coords(1) @@ -464,7 +463,7 @@ subroutine readVTR(grid,geomSize,origin,microstructure) case('Float64') as_Int = int(bytes_to_C_DOUBLE (asBytes(base64_str,header_type,compressed))) case default - allocate(as_Int(0)) + call IO_error(844_pInt,ext_msg='unknown data type: '//trim(data_type)) end select end function as_Int @@ -492,7 +491,7 @@ subroutine readVTR(grid,geomSize,origin,microstructure) case('Float64') as_pReal = real(bytes_to_C_DOUBLE (asBytes(base64_str,header_type,compressed)),pReal) case default - allocate(as_pReal(0)) + call IO_error(844_pInt,ext_msg='unknown data type: '//trim(data_type)) end select end function as_pReal @@ -531,7 +530,7 @@ subroutine readVTR(grid,geomSize,origin,microstructure) character(len=*), intent(in) :: base64_str, & ! base64 encoded string header_type ! header type (UInt32 or Uint64) - integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes + integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes, bytes_inflated integer(pI64), dimension(:), allocatable :: temp, size_inflated, size_deflated integer(pI64) :: header_len, N_blocks, b,s,e @@ -551,13 +550,14 @@ subroutine readVTR(grid,geomSize,origin,microstructure) allocate(size_inflated(N_blocks),source=temp(2)) size_inflated(N_blocks) = merge(temp(3),temp(2),temp(3)/=0_pI64) size_deflated = temp(4:) - allocate(bytes(0)) + bytes_inflated = base64_to_bytes(base64_str(base64_nChar(header_len)+1_pI64:)) + allocate(bytes(0)) e = 0_pI64 do b = 1, N_blocks s = e + 1_pI64 e = s + size_deflated(b) - 1_pI64 - bytes = [bytes,zlib_inflate(base64_to_bytes(base64_str(base64_nChar(header_len)+1:),s,e),size_inflated(b))] + bytes = [bytes,zlib_inflate(bytes_inflated(s:e),size_inflated(b))] enddo end function asBytes_compressed From e2ded43636585690e04a61408c2a4f92ec541289 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 06:58:34 +0200 Subject: [PATCH 579/958] polishing - unified style (CamelCase) - more sanity checks - simplified determination of grid --- src/grid/discretization_grid.f90 | 168 ++++++++++++++----------------- 1 file changed, 78 insertions(+), 90 deletions(-) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 3f36ff4f8..e440042dc 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -313,7 +313,7 @@ subroutine readVTR(grid,geomSize,origin,microstructure) integer, dimension(:), intent(out), allocatable :: & microstructure - character(len=:), allocatable :: fileContent, data_type, header_type + character(len=:), allocatable :: fileContent, dataType, headerType logical :: inFile,inGrid,readCoordinates,readCellData,compressed integer :: fileUnit, myStat, coord integer(pI64) :: & @@ -350,15 +350,12 @@ subroutine readVTR(grid,geomSize,origin,microstructure) if(index(fileContent(startPos:endPos),'',kind=pI64) /= 0_pI64) then readCellData = .true. @@ -370,12 +367,12 @@ subroutine readVTR(grid,geomSize,origin,microstructure) if(getXMLValue(fileContent(startPos:endPos),'format') /= 'binary') & call IO_error(error_ID = 844, ext_msg='format (materialpoint)') - data_type = getXMLValue(fileContent(startPos:endPos),'type') + dataType = getXMLValue(fileContent(startPos:endPos),'type') startPos = endPos + 2_pI64 endPos = startPos + index(fileContent(startPos:),IO_EOL,kind=pI64) - 2_pI64 s = startPos + verify(fileContent(startPos:endPos),IO_WHITESPACE,kind=pI64) -1_pI64 ! start (no leading whitespace) - microstructure = as_Int(fileContent(s:endPos),header_type,compressed,data_type) + microstructure = as_Int(fileContent(s:endPos),headerType,compressed,dataType) exit endif startPos = endPos + 2_pI64 @@ -391,7 +388,7 @@ subroutine readVTR(grid,geomSize,origin,microstructure) if(getXMLValue(fileContent(startPos:endPos),'format') /= 'binary') & call IO_error(error_ID = 844, ext_msg='format (coordinates)') - data_type = getXMLValue(fileContent(startPos:endPos),'type') + dataType = getXMLValue(fileContent(startPos:endPos),'type') startPos = endPos + 2_pI64 endPos = startPos + index(fileContent(startPos:),IO_EOL,kind=pI64) - 2_pI64 @@ -399,7 +396,7 @@ subroutine readVTR(grid,geomSize,origin,microstructure) coord = coord + 1 - call origin_and_size(fileContent(s:endPos),header_type,compressed,data_type,coord) + call gridSizeOrigin(fileContent(s:endPos),headerType,compressed,dataType,coord) endif if(index(fileContent(startPos:endPos),'',kind=pI64) /= 0_pI64) exit startPos = endPos + 2_pI64 @@ -423,19 +420,24 @@ subroutine readVTR(grid,geomSize,origin,microstructure) !------------------------------------------------------------------------------------------------ !> @brief determine size and origin from coordinates !------------------------------------------------------------------------------------------------ - !ToDo: check for regular spacing - subroutine origin_and_size(base64_str,header_type,compressed,data_type,direction) + subroutine gridSizeOrigin(base64_str,headerType,compressed,dataType,direction) character(len=*), intent(in) :: base64_str, & ! base64 encoded string of 1D coordinates - header_type, & ! header type (UInt32 or Uint64) - data_type ! data type (Int32, Int64, Float32, Float64) + headerType, & ! header type (UInt32 or Uint64) + dataType ! data type (Int32, Int64, Float32, Float64) logical, intent(in) :: compressed ! indicate whether data is zlib compressed integer, intent(in) :: direction ! direction (1=x,2=y,3=z) - real(pReal), dimension(:), allocatable :: coords + real(pReal), dimension(:), allocatable :: coords,delta - coords = as_pReal(base64_str,header_type,compressed,data_type) - origin(direction) = coords(1) + coords = as_pReal(base64_str,headerType,compressed,dataType) + + delta = coords(2:) - coords(:size(coords)-1) + if(any(delta<0.0_pReal) .or. dNeq(maxval(delta),minval(delta))) & + call IO_error(error_ID = 844, ext_msg = 'grid spacing') + + grid(direction) = size(coords)-1 + origin(direction) = coords(1) geomSize(direction) = coords(size(coords)) - coords(1) end subroutine @@ -444,26 +446,26 @@ subroutine readVTR(grid,geomSize,origin,microstructure) !------------------------------------------------------------------------------------------------ !> @brief Interpret Base64 string in vtk XML file as integer of default kind !------------------------------------------------------------------------------------------------ - function as_Int(base64_str,header_type,compressed,data_type) + function as_Int(base64_str,headerType,compressed,dataType) character(len=*), intent(in) :: base64_str, & ! base64 encoded string - header_type, & ! header type (UInt32 or Uint64) - data_type ! data type (Int32, Int64, Float32, Float64) + headerType, & ! header type (UInt32 or Uint64) + dataType ! data type (Int32, Int64, Float32, Float64) logical, intent(in) :: compressed ! indicate whether data is zlib compressed integer, dimension(:), allocatable :: as_Int - select case(data_type) + select case(dataType) case('Int32') - as_Int = int(bytes_to_C_INT32_T(asBytes(base64_str,header_type,compressed))) + as_Int = int(bytes_to_C_INT32_T(asBytes(base64_str,headerType,compressed))) case('Int64') - as_Int = int(bytes_to_C_INT64_T(asBytes(base64_str,header_type,compressed))) + as_Int = int(bytes_to_C_INT64_T(asBytes(base64_str,headerType,compressed))) case('Float32') - as_Int = int(bytes_to_C_FLOAT (asBytes(base64_str,header_type,compressed))) + as_Int = int(bytes_to_C_FLOAT (asBytes(base64_str,headerType,compressed))) case('Float64') - as_Int = int(bytes_to_C_DOUBLE (asBytes(base64_str,header_type,compressed))) + as_Int = int(bytes_to_C_DOUBLE (asBytes(base64_str,headerType,compressed))) case default - call IO_error(844_pInt,ext_msg='unknown data type: '//trim(data_type)) + call IO_error(844_pInt,ext_msg='unknown data type: '//trim(dataType)) end select end function as_Int @@ -472,26 +474,26 @@ subroutine readVTR(grid,geomSize,origin,microstructure) !------------------------------------------------------------------------------------------------ !> @brief Interpret Base64 string in vtk XML file as integer of pReal kind !------------------------------------------------------------------------------------------------ - function as_pReal(base64_str,header_type,compressed,data_type) + function as_pReal(base64_str,headerType,compressed,dataType) character(len=*), intent(in) :: base64_str, & ! base64 encoded string - header_type, & ! header type (UInt32 or Uint64) - data_type ! data type (Int32, Int64, Float32, Float64) + headerType, & ! header type (UInt32 or Uint64) + dataType ! data type (Int32, Int64, Float32, Float64) logical, intent(in) :: compressed ! indicate whether data is zlib compressed real(pReal), dimension(:), allocatable :: as_pReal - select case(data_type) + select case(dataType) case('Int32') - as_pReal = real(bytes_to_C_INT32_T(asBytes(base64_str,header_type,compressed)),pReal) + as_pReal = real(bytes_to_C_INT32_T(asBytes(base64_str,headerType,compressed)),pReal) case('Int64') - as_pReal = real(bytes_to_C_INT64_T(asBytes(base64_str,header_type,compressed)),pReal) + as_pReal = real(bytes_to_C_INT64_T(asBytes(base64_str,headerType,compressed)),pReal) case('Float32') - as_pReal = real(bytes_to_C_FLOAT (asBytes(base64_str,header_type,compressed)),pReal) + as_pReal = real(bytes_to_C_FLOAT (asBytes(base64_str,headerType,compressed)),pReal) case('Float64') - as_pReal = real(bytes_to_C_DOUBLE (asBytes(base64_str,header_type,compressed)),pReal) + as_pReal = real(bytes_to_C_DOUBLE (asBytes(base64_str,headerType,compressed)),pReal) case default - call IO_error(844_pInt,ext_msg='unknown data type: '//trim(data_type)) + call IO_error(844_pInt,ext_msg='unknown data type: '//trim(dataType)) end select end function as_pReal @@ -500,18 +502,18 @@ subroutine readVTR(grid,geomSize,origin,microstructure) !------------------------------------------------------------------------------------------------ !> @brief Interpret Base64 string in vtk XML file as bytes !------------------------------------------------------------------------------------------------ - function asBytes(base64_str,header_type,compressed) result(bytes) + function asBytes(base64_str,headerType,compressed) result(bytes) character(len=*), intent(in) :: base64_str, & ! base64 encoded string - header_type ! header type (UInt32 or Uint64) + headerType ! header type (UInt32 or Uint64) logical, intent(in) :: compressed ! indicate whether data is zlib compressed integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes if(compressed) then - bytes = asBytes_compressed(base64_str,header_type) + bytes = asBytes_compressed(base64_str,headerType) else - bytes = asBytes_uncompressed(base64_str,header_type) + bytes = asBytes_uncompressed(base64_str,headerType) endif end function asBytes @@ -525,36 +527,36 @@ subroutine readVTR(grid,geomSize,origin,microstructure) ! #p-size = Size of last partial block (zero if it not needed) ! #c-size-i = Size in bytes of block i after compression !------------------------------------------------------------------------------------------------ - function asBytes_compressed(base64_str,header_type) result(bytes) + function asBytes_compressed(base64_str,headerType) result(bytes) character(len=*), intent(in) :: base64_str, & ! base64 encoded string - header_type ! header type (UInt32 or Uint64) + headerType ! header type (UInt32 or Uint64) integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes, bytes_inflated integer(pI64), dimension(:), allocatable :: temp, size_inflated, size_deflated - integer(pI64) :: header_len, N_blocks, b,s,e + integer(pI64) :: headerLen, nBlock, b,s,e - if (header_type == 'UInt32') then + if (headerType == 'UInt32') then temp = int(bytes_to_C_INT32_T(base64_to_bytes(base64_str(:base64_nChar(4_pI64)))),pI64) - N_blocks = int(temp(1),pI64) - header_len = 4_pI64 * (3_pI64 + N_blocks) - temp = int(bytes_to_C_INT32_T(base64_to_bytes(base64_str(:base64_nChar(header_len)))),pI64) - elseif(header_type == 'UInt64') then + nBlock = int(temp(1),pI64) + headerLen = 4_pI64 * (3_pI64 + nBlock) + temp = int(bytes_to_C_INT32_T(base64_to_bytes(base64_str(:base64_nChar(headerLen)))),pI64) + elseif(headerType == 'UInt64') then temp = int(bytes_to_C_INT64_T(base64_to_bytes(base64_str(:base64_nChar(8_pI64)))),pI64) - N_blocks = int(temp(1),pI64) - header_len = 8_pI64 * (3_pI64 + N_blocks) - temp = int(bytes_to_C_INT64_T(base64_to_bytes(base64_str(:base64_nChar(header_len)))),pI64) + nBlock = int(temp(1),pI64) + headerLen = 8_pI64 * (3_pI64 + nBlock) + temp = int(bytes_to_C_INT64_T(base64_to_bytes(base64_str(:base64_nChar(headerLen)))),pI64) endif - allocate(size_inflated(N_blocks),source=temp(2)) - size_inflated(N_blocks) = merge(temp(3),temp(2),temp(3)/=0_pI64) + allocate(size_inflated(nBlock),source=temp(2)) + size_inflated(nBlock) = merge(temp(3),temp(2),temp(3)/=0_pI64) size_deflated = temp(4:) - bytes_inflated = base64_to_bytes(base64_str(base64_nChar(header_len)+1_pI64:)) + bytes_inflated = base64_to_bytes(base64_str(base64_nChar(headerLen)+1_pI64:)) allocate(bytes(0)) e = 0_pI64 - do b = 1, N_blocks + do b = 1, nBlock s = e + 1_pI64 e = s + size_deflated(b) - 1_pI64 bytes = [bytes,zlib_inflate(bytes_inflated(s:e),size_inflated(b))] @@ -568,29 +570,29 @@ subroutine readVTR(grid,geomSize,origin,microstructure) !> @details An uncompressed Base64 string consists of N headers blocks and a N data blocks ![#bytes-1/DATA-1][#bytes-2/DATA-2]... !------------------------------------------------------------------------------------------------ - function asBytes_uncompressed(base64_str,header_type) result(bytes) + function asBytes_uncompressed(base64_str,headerType) result(bytes) character(len=*), intent(in) :: base64_str, & ! base64 encoded string - header_type ! header type (UInt32 or Uint64) + headerType ! header type (UInt32 or Uint64) integer(pI64) :: s - integer(pI64), dimension(1) :: N_bytes + integer(pI64), dimension(1) :: nByte integer(C_SIGNED_CHAR), dimension(:), allocatable :: bytes allocate(bytes(0)) s=0_pI64 - if (header_type == 'UInt32') then + if (headerType == 'UInt32') then do while(s+base64_nChar(4_pI64)<(len(base64_str,pI64))) - N_bytes = int(bytes_to_C_INT32_T(base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(4_pI64)))),pI64) - bytes = [bytes,base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(4_pI64+N_bytes(1))),5_pI64)] - s = s + base64_nChar(4_pI64+N_bytes(1)) + nByte = int(bytes_to_C_INT32_T(base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(4_pI64)))),pI64) + bytes = [bytes,base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(4_pI64+nByte(1))),5_pI64)] + s = s + base64_nChar(4_pI64+nByte(1)) enddo - elseif(header_type == 'UInt64') then + elseif(headerType == 'UInt64') then do while(s+base64_nChar(8_pI64)<(len(base64_str,pI64))) - N_bytes = int(bytes_to_C_INT64_T(base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(8_pI64)))),pI64) - bytes = [bytes,base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(8_pI64+N_bytes(1))),9_pI64)] - s = s + base64_nChar(8_pI64+N_bytes(1)) + nByte = int(bytes_to_C_INT64_T(base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(8_pI64)))),pI64) + bytes = [bytes,base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(8_pI64+nByte(1))),9_pI64)] + s = s + base64_nChar(8_pI64+nByte(1)) enddo endif @@ -599,7 +601,6 @@ subroutine readVTR(grid,geomSize,origin,microstructure) !------------------------------------------------------------------------------------------------ !> @brief Get XML string value for given key !------------------------------------------------------------------------------------------------ - ! ToDo: check if "=" is between key and value pure function getXMLValue(line,key) character(len=*), intent(in) :: line, key @@ -615,14 +616,20 @@ subroutine readVTR(grid,geomSize,origin,microstructure) if(s==0) then getXMLValue = '' else - s = s + 1 + scan(line(s+1:),"'"//'"') + e = s + 1 + scan(line(s+1:),"'"//'"') + if(scan(line(s:e-2),'=') == 0) then + getXMLValue = '' + else + s = e +! https://community.intel.com/t5/Intel-Fortran-Compiler/ICE-for-merge-with-strings/m-p/1207204#M151657 #ifdef __INTEL_COMPILER - q = line(s-1:s-1) - e = s + index(line(s:),q) - 1 + q = line(s-1:s-1) + e = s + index(line(s:),q) - 1 #else - e = s + index(line(s:),merge("'",'"',line(s-1:s-1)=="'")) - 1 + e = s + index(line(s:),merge("'",'"',line(s-1:s-1)=="'")) - 1 #endif - getXMLValue = line(s:e-1) + getXMLValue = line(s:e-1) + endif endif end function @@ -643,25 +650,6 @@ subroutine readVTR(grid,geomSize,origin,microstructure) end function fileOk - - !------------------------------------------------------------------------------------------------ - !> @brief get grid information from '' - !------------------------------------------------------------------------------------------------ - function getGrid(line) - - character(len=*),intent(in) :: line - - integer,dimension(3) :: getGrid - - integer :: s,e,i - - s=scan(line,'"'//"'",back=.False.) - e=scan(line,'"'//"'",back=.True.) - - getGrid = [(IO_intValue(line(s+1:e-1),IO_stringPos(line(s+1:e-1)),i*2),i=1,3)] - - end function getGrid - end subroutine readVTR From 875d599b5d182afe4775cfce13bd8f318a7caf71 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 07:44:55 +0200 Subject: [PATCH 580/958] using simplified test --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 1b82ac397..4301cb854 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 1b82ac39703fdea70962aea47a0381d50bd1d44e +Subproject commit 4301cb854d79e4ad206af16b2570877113cd24ec From da0e16520c29d7a6cf231e9811d9af410fa9f65b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 10:19:38 +0200 Subject: [PATCH 581/958] handling of MPI in 'parallelization' --- src/CPFEM.f90 | 12 ++-- src/CPFEM2.f90 | 2 + src/DAMASK_interface.f90 | 63 +------------------- src/DAMASK_marc.f90 | 5 -- src/HDF5_utilities.f90 | 2 +- src/commercialFEM_fileList.f90 | 1 + src/config.f90 | 20 ++----- src/crystallite.f90 | 1 + src/grid/DAMASK_grid.f90 | 1 + src/grid/discretization_grid.f90 | 1 + src/grid/grid_damage_spectral.f90 | 3 +- src/grid/grid_mech_FEM.f90 | 1 + src/grid/grid_mech_spectral_basic.f90 | 1 + src/grid/grid_mech_spectral_polarisation.f90 | 1 + src/grid/grid_thermal_spectral.f90 | 1 + src/grid/spectral_utilities.f90 | 2 +- src/mesh/DAMASK_mesh.f90 | 1 + src/mesh/discretization_mesh.f90 | 1 + src/parallelization.f90 | 56 +++++++++++++++-- src/results.f90 | 2 +- 20 files changed, 84 insertions(+), 93 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index b2fccca26..8549046bd 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -48,7 +48,7 @@ module CPFEM end type tNumerics type(tNumerics), private :: num - + type, private :: tDebugOptions logical :: & basic, & @@ -58,9 +58,9 @@ module CPFEM element, & ip end type tDebugOptions - + type(tDebugOptions), private :: debugCPFEM - + public :: & CPFEM_general, & CPFEM_initAll, & @@ -74,7 +74,9 @@ contains !-------------------------------------------------------------------------------------------------- subroutine CPFEM_initAll + call parallelization_init call DAMASK_interface_init + call prec_init call IO_init call config_init call math_init @@ -112,13 +114,13 @@ subroutine CPFEM_init allocate(CPFEM_dcsdE_knownGood(6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) !------------------------------------------------------------------------------ -! read numerical parameters and do sanity check +! read numerical parameters and do sanity check num_commercialFEM => numerics_root%get('commercialFEM',defaultVal=emptyDict) num%iJacoStiffness = num_commercialFEM%get_asInt('ijacostiffness',defaultVal=1) if (num%iJacoStiffness < 1) call IO_error(301,ext_msg='iJacoStiffness') !------------------------------------------------------------------------------ -! read debug options +! read debug options debug_CPFEM => debug_root%get('cpfem',defaultVal=emptyList) debugCPFEM%basic = debug_CPFEM%contains('basic') diff --git a/src/CPFEM2.f90 b/src/CPFEM2.f90 index b2bdebcc6..645fcf59d 100644 --- a/src/CPFEM2.f90 +++ b/src/CPFEM2.f90 @@ -40,7 +40,9 @@ contains !-------------------------------------------------------------------------------------------------- subroutine CPFEM_initAll + call parallelization_init call DAMASK_interface_init ! Spectral and FEM interface to commandline + call prec_init call IO_init call base64_init #ifdef Mesh diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index f08e06f31..4a9761c48 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -73,13 +73,7 @@ subroutine DAMASK_interface_init userName !< name of user calling the executable integer :: & stat, & - i, & -#ifdef _OPENMP - threadLevel, & -#endif - worldrank = 0, & - worldsize = 0, & - typeSize + i integer, dimension(8) :: & dateAndTime integer :: err @@ -87,44 +81,10 @@ subroutine DAMASK_interface_init external :: & quit - open(6, encoding='UTF-8') ! for special characters in output - -!-------------------------------------------------------------------------------------------------- -! PETSc Init -#ifdef _OPENMP - ! If openMP is enabled, check if the MPI libary supports it and initialize accordingly. - ! Otherwise, the first call to PETSc will do the initialization. - call MPI_Init_Thread(MPI_THREAD_FUNNELED,threadLevel,err) - if (err /= 0) call quit(1) - if (threadLevel>>' + open(6, encoding='UTF-8') ! for special characters in output + ! http://patorjk.com/software/taag/#p=display&f=Lean&t=DAMASK%203 #ifdef DEBUG write(6,*) achar(27)//'[31m' @@ -162,20 +122,6 @@ subroutine DAMASK_interface_init write(6,'(/,a,2(i2.2,a),i4.4)') ' Date: ',dateAndTime(3),'/',dateAndTime(2),'/', dateAndTime(1) write(6,'(a,2(i2.2,a),i2.2)') ' Time: ',dateAndTime(5),':', dateAndTime(6),':', dateAndTime(7) - call MPI_Type_size(MPI_INTEGER,typeSize,err) - if (err /= 0) call quit(1) - if (typeSize*8 /= bit_size(0)) then - write(6,'(a)') ' Mismatch between MPI and DAMASK integer' - call quit(1) - endif - - call MPI_Type_size(MPI_DOUBLE,typeSize,err) - if (err /= 0) call quit(1) - if (typeSize*8 /= storage_size(0.0_pReal)) then - write(6,'(a)') ' Mismatch between MPI and DAMASK real' - call quit(1) - endif - do i = 1, command_argument_count() call get_command_argument(i,arg,status=err) if (err /= 0) call quit(1) @@ -269,9 +215,6 @@ subroutine DAMASK_interface_init call setSIGUSR1(.false.) call setSIGUSR2(.false.) - call prec_init - call parallelization_init - end subroutine DAMASK_interface_init diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index 4db1f4f15..d61031023 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -26,7 +26,6 @@ #define PASTE(x,y) x ## y #include "prec.f90" -#include "parallelization.f90" module DAMASK_interface use prec @@ -44,7 +43,6 @@ module DAMASK_interface logical, protected, public :: symmetricSolver character(len=*), parameter, public :: INPUTFILEEXTENSION = '.dat' - public :: & DAMASK_interface_init, & getSolverJobName @@ -91,9 +89,6 @@ subroutine DAMASK_interface_init endif symmetricSolver = solverIsSymmetric() - call prec_init - call parallelization_init - end subroutine DAMASK_interface_init diff --git a/src/HDF5_utilities.f90 b/src/HDF5_utilities.f90 index 0ac32fd2e..d50ff6aa5 100644 --- a/src/HDF5_utilities.f90 +++ b/src/HDF5_utilities.f90 @@ -11,9 +11,9 @@ module HDF5_utilities #endif use prec + use parallelization use IO use rotations - use config implicit none public diff --git a/src/commercialFEM_fileList.f90 b/src/commercialFEM_fileList.f90 index 0e5066268..f4eb5d78c 100644 --- a/src/commercialFEM_fileList.f90 +++ b/src/commercialFEM_fileList.f90 @@ -3,6 +3,7 @@ !> @brief all DAMASK files without solver !> @details List of files needed by MSC.Marc !-------------------------------------------------------------------------------------------------- +#include "parallelization.f90" #include "IO.f90" #include "YAML_types.f90" #include "YAML_parse.f90" diff --git a/src/config.f90 b/src/config.f90 index 342ac6a1b..ac62101ae 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -2,7 +2,7 @@ !> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH !> @brief Reads in the material, numerics & debug configuration from their respective file !> @details Reads the material configuration file, where solverJobName.yaml takes -!! precedence over material.yaml. +!! precedence over material.yaml. !-------------------------------------------------------------------------------------------------- module config use prec @@ -24,10 +24,6 @@ module config numerics_root, & debug_root - integer, protected, public :: & - worldrank = 0, & !< MPI worldrank (/=0 for MPI simulations only) - worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) - public :: & config_init, & config_deallocate @@ -40,7 +36,7 @@ contains subroutine config_init write(6,'(/,a)') ' <<<+- config init -+>>>'; flush(6) - + call parse_material call parse_numerics call parse_debug @@ -76,12 +72,6 @@ end subroutine parse_material subroutine parse_numerics logical :: fexist - integer :: ierr - -#ifdef PETSc - call MPI_Comm_rank(PETSC_COMM_WORLD,worldrank,ierr);CHKERRQ(ierr) - call MPI_Comm_size(PETSC_COMM_WORLD,worldsize,ierr);CHKERRQ(ierr) -#endif numerics_root => emptyDict inquire(file='numerics.yaml', exist=fexist) @@ -90,7 +80,6 @@ subroutine parse_numerics numerics_root => parse_flow(to_flow(IO_read('numerics.yaml'))) endif - end subroutine parse_numerics @@ -99,7 +88,7 @@ end subroutine parse_numerics !-------------------------------------------------------------------------------------------------- subroutine parse_debug - logical :: fexist + logical :: fexist debug_root => emptyDict inquire(file='debug.yaml', exist=fexist) @@ -113,10 +102,11 @@ end subroutine parse_debug !-------------------------------------------------------------------------------------------------- !> @brief deallocates material.yaml structure +!ToDo: deallocation of numerics debug (optional) !-------------------------------------------------------------------------------------------------- subroutine config_deallocate - deallocate(material_root) !ToDo: deallocation of numerics debug (optional) + deallocate(material_root) end subroutine config_deallocate diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 9d2d534d7..595c0f2c1 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -10,6 +10,7 @@ module crystallite use prec + use parallelization use IO use HDF5_utilities use DAMASK_interface diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 0e30025d8..edef00fa0 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -10,6 +10,7 @@ program DAMASK_grid #include use PETScsys use prec + use parallelization use DAMASK_interface use IO use config diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 1fdb6c922..d9db8dbb3 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -9,6 +9,7 @@ module discretization_grid use PETScsys use prec + use parallelization use system_routines use base64 use zlib diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index e7bbbff7f..aaa3c2172 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -11,12 +11,13 @@ module grid_damage_spectral use PETScsnes use prec + use parallelization use IO use spectral_utilities use discretization_grid use damage_nonlocal - use config use YAML_types + use config implicit none private diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index e8e1345ef..9d3af8ae0 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -11,6 +11,7 @@ module grid_mech_FEM use PETScsnes use prec + use parallelization use DAMASK_interface use HDF5_utilities use math diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 66694e516..664c9d7ae 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -11,6 +11,7 @@ module grid_mech_spectral_basic use PETScsnes use prec + use parallelization use DAMASK_interface use HDF5_utilities use math diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index f6d1b9ebb..53013f0cf 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -11,6 +11,7 @@ module grid_mech_spectral_polarisation use PETScsnes use prec + use parallelization use DAMASK_interface use HDF5_utilities use math diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index 58c89fdc4..a0bcd99ee 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -11,6 +11,7 @@ module grid_thermal_spectral use PETScsnes use prec + use parallelization use IO use spectral_utilities use discretization_grid diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index f1daf8f08..9ccce2617 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -10,11 +10,11 @@ module spectral_utilities use prec use DAMASK_interface + use parallelization use math use rotations use IO use discretization_grid - use config use discretization use homogenization diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index 05339a280..132cc4f3e 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -11,6 +11,7 @@ program DAMASK_mesh use PetscDM use prec use DAMASK_interface + use parallelization use IO use math use CPFEM2 diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index ac6ccf528..8d24896ee 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -13,6 +13,7 @@ module discretization_mesh use PETScis use DAMASK_interface + use parallelization use IO use config use discretization diff --git a/src/parallelization.f90 b/src/parallelization.f90 index bb32baf77..fb0fb9f30 100644 --- a/src/parallelization.f90 +++ b/src/parallelization.f90 @@ -4,6 +4,7 @@ !-------------------------------------------------------------------------------------------------- module parallelization use prec + use, intrinsic :: iso_fortran_env #ifdef PETSc #include @@ -14,6 +15,10 @@ module parallelization implicit none private + integer, protected, public :: & + worldrank = 0, & !< MPI worldrank (/=0 for MPI simulations only) + worldsize = 1 !< MPI worldsize (/=1 for MPI simulations only) + public :: & parallelization_init @@ -24,13 +29,56 @@ contains !-------------------------------------------------------------------------------------------------- subroutine parallelization_init -!$ integer :: got_env, DAMASK_NUM_THREADS + integer :: err, typeSize +!$ integer :: got_env, DAMASK_NUM_THREADS, threadLevel !$ character(len=6) NumThreadsString +#ifdef PETSc + PetscErrorCode :: petsc_err +#else write(6,'(/,a)') ' <<<+- parallelization init -+>>>'; flush(6) +#endif -!$ call get_environment_variable(name='DAMASK_NUM_THREADS',value=NumThreadsString,STATUS=got_env) ! get environment variable DAMASK_NUM_THREADS... -!$ if(got_env /= 0) then ! could not get number of threads, set it to 1 +#ifdef PETSc +#ifdef _OPENMP + ! If openMP is enabled, check if the MPI libary supports it and initialize accordingly. + ! Otherwise, the first call to PETSc will do the initialization. + call MPI_Init_Thread(MPI_THREAD_FUNNELED,threadLevel,err) + if (err /= 0) error stop 'MPI init failed' + if (threadLevel>>'; flush(6) + + call MPI_Comm_size(PETSC_COMM_WORLD,worldsize,err) + if (err /= 0) error stop 'Could not determine worldsize' + + call MPI_Type_size(MPI_INTEGER,typeSize,err) + if (err /= 0) error stop 'Could not determine MPI integer size' + if (typeSize*8 /= bit_size(0)) error stop 'Mismatch between MPI and DAMASK integer' + + call MPI_Type_size(MPI_DOUBLE,typeSize,err) + if (err /= 0) error stop 'Could not determine MPI real size' + if (typeSize*8 /= storage_size(0.0_pReal)) error stop 'Mismatch between MPI and DAMASK real' +#endif + + mainProcess: if (worldrank == 0) then + if (output_unit /= 6) error stop 'STDOUT != 6' + if (error_unit /= 0) error stop 'STDERR != 0' + else mainProcess + close(6) ! disable output for non-master processes (open 6 to rank specific file for debug) + open(6,file='/dev/null',status='replace') ! close(6) alone will leave some temp files in cwd + endif mainProcess + + +!$ call get_environment_variable(name='DAMASK_NUM_THREADS',value=NumThreadsString,STATUS=got_env) +!$ if(got_env /= 0) then !$ write(6,*) 'Could not determine value of $DAMASK_NUM_THREADS' !$ DAMASK_NUM_THREADS = 1_pI32 !$ else @@ -42,7 +90,7 @@ subroutine parallelization_init !$ endif !$ write(6,'(a,i8,/)') ' DAMASK_NUM_THREADS: ',DAMASK_NUM_THREADS !$ call omp_set_num_threads(DAMASK_NUM_THREADS) - + end subroutine parallelization_init end module parallelization diff --git a/src/results.f90 b/src/results.f90 index 2e5b01937..a4c90f41b 100644 --- a/src/results.f90 +++ b/src/results.f90 @@ -6,8 +6,8 @@ !-------------------------------------------------------------------------------------------------- module results use DAMASK_interface + use parallelization use rotations - use config use HDF5_utilities #ifdef PETSc use PETSC From b499578a9589da48e8c4629d0365ad25600227f5 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 10:39:17 +0200 Subject: [PATCH 582/958] prefix should be name of the module poor substitute for namespace --- src/CPFEM.f90 | 8 ++-- src/DAMASK_marc.f90 | 2 +- src/config.f90 | 18 ++++---- src/constitutive.f90 | 40 ++++++++-------- src/constitutive_damage.f90 | 2 +- src/constitutive_plastic.f90 | 4 +- src/constitutive_plastic_disloTungsten.f90 | 2 +- src/constitutive_plastic_dislotwin.f90 | 2 +- src/constitutive_plastic_isotropic.f90 | 2 +- src/constitutive_plastic_kinehardening.f90 | 2 +- src/constitutive_plastic_none.f90 | 2 +- src/constitutive_plastic_nonlocal.f90 | 2 +- src/constitutive_plastic_phenopowerlaw.f90 | 2 +- src/crystallite.f90 | 12 ++--- src/damage_local.f90 | 4 +- src/damage_nonlocal.f90 | 4 +- src/grid/DAMASK_grid.f90 | 4 +- src/grid/discretization_grid.f90 | 4 +- src/grid/grid_damage_spectral.f90 | 4 +- src/grid/grid_mech_FEM.f90 | 4 +- src/grid/grid_mech_spectral_basic.f90 | 4 +- src/grid/grid_mech_spectral_polarisation.f90 | 4 +- src/grid/grid_thermal_spectral.f90 | 2 +- src/grid/spectral_utilities.f90 | 4 +- src/homogenization.f90 | 10 ++-- src/homogenization_mech_RGC.f90 | 2 +- src/homogenization_mech_isostrain.f90 | 42 ++++++++--------- src/kinematics_cleavage_opening.f90 | 2 +- src/kinematics_slipplane_opening.f90 | 2 +- src/kinematics_thermal_expansion.f90 | 2 +- src/lattice.f90 | 2 +- src/material.f90 | 48 ++++++++++---------- src/math.f90 | 2 +- src/source_damage_anisoBrittle.f90 | 2 +- src/source_damage_anisoDuctile.f90 | 2 +- src/source_damage_isoBrittle.f90 | 2 +- src/source_damage_isoDuctile.f90 | 2 +- src/source_thermal_dissipation.f90 | 2 +- src/source_thermal_externalheat.f90 | 2 +- src/thermal_adiabatic.f90 | 2 +- src/thermal_conduction.f90 | 2 +- 41 files changed, 133 insertions(+), 133 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 8549046bd..a70061a45 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -115,19 +115,19 @@ subroutine CPFEM_init !------------------------------------------------------------------------------ ! read numerical parameters and do sanity check - num_commercialFEM => numerics_root%get('commercialFEM',defaultVal=emptyDict) + num_commercialFEM => config_numerics%get('commercialFEM',defaultVal=emptyDict) num%iJacoStiffness = num_commercialFEM%get_asInt('ijacostiffness',defaultVal=1) if (num%iJacoStiffness < 1) call IO_error(301,ext_msg='iJacoStiffness') !------------------------------------------------------------------------------ ! read debug options - debug_CPFEM => debug_root%get('cpfem',defaultVal=emptyList) + debug_CPFEM => config_debug%get('cpfem',defaultVal=emptyList) debugCPFEM%basic = debug_CPFEM%contains('basic') debugCPFEM%extensive = debug_CPFEM%contains('extensive') debugCPFEM%selective = debug_CPFEM%contains('selective') - debugCPFEM%element = debug_root%get_asInt('element',defaultVal = 1) - debugCPFEM%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) + debugCPFEM%element = config_debug%get_asInt('element',defaultVal = 1) + debugCPFEM%ip = config_debug%get_asInt('integrationpoint',defaultVal = 1) if(debugCPFEM%basic) then write(6,'(a32,1x,6(i8,1x))') 'CPFEM_cs: ', shape(CPFEM_cs) diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index d61031023..e497c65a9 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -277,7 +277,7 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & if (.not. CPFEM_init_done) then CPFEM_init_done = .true. call CPFEM_initAll - debug_Marc => debug_root%get('marc',defaultVal=emptyList) + debug_Marc => config_debug%get('marc',defaultVal=emptyList) debug_basic = debug_Marc%contains('basic') endif diff --git a/src/config.f90 b/src/config.f90 index ac62101ae..fab5721c5 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -20,9 +20,9 @@ module config private class(tNode), pointer, public :: & - material_root, & - numerics_root, & - debug_root + config_material, & + config_numerics, & + config_debug public :: & config_init, & @@ -60,7 +60,7 @@ subroutine parse_material if(.not. fileExists) call IO_error(100,ext_msg=fname) endif write(6,*) 'reading '//fname; flush(6) - material_root => parse_flow(to_flow(IO_read(fname))) + config_material => parse_flow(to_flow(IO_read(fname))) end subroutine parse_material @@ -73,11 +73,11 @@ subroutine parse_numerics logical :: fexist - numerics_root => emptyDict + config_numerics => emptyDict inquire(file='numerics.yaml', exist=fexist) if (fexist) then write(6,*) 'reading numerics.yaml'; flush(6) - numerics_root => parse_flow(to_flow(IO_read('numerics.yaml'))) + config_numerics => parse_flow(to_flow(IO_read('numerics.yaml'))) endif end subroutine parse_numerics @@ -90,11 +90,11 @@ subroutine parse_debug logical :: fexist - debug_root => emptyDict + config_debug => emptyDict inquire(file='debug.yaml', exist=fexist) fileExists: if (fexist) then write(6,*) 'reading debug.yaml'; flush(6) - debug_root => parse_flow(to_flow(IO_read('debug.yaml'))) + config_debug => parse_flow(to_flow(IO_read('debug.yaml'))) endif fileExists end subroutine parse_debug @@ -106,7 +106,7 @@ end subroutine parse_debug !-------------------------------------------------------------------------------------------------- subroutine config_deallocate - deallocate(material_root) + deallocate(config_material) end subroutine config_deallocate diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 4ecae8e01..e39c405cf 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -140,7 +140,7 @@ module constitutive el !< current element number end subroutine plastic_nonlocal_dotState - + module subroutine source_damage_anisoBrittle_dotState(S, ipc, ip, el) integer, intent(in) :: & ipc, & !< component-ID of integration point @@ -212,7 +212,7 @@ module constitutive real(pReal), dimension(3,3) :: & initialStrain end function kinematics_thermal_expansion_initialStrain - + module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e) integer, intent(in) :: & instance, & @@ -269,7 +269,7 @@ module constitutive Li !< thermal velocity gradient real(pReal), intent(out), dimension(3,3,3,3) :: & dLi_dTstar !< derivative of Li with respect to Tstar (4th-order tensor defined to be zero) - end subroutine kinematics_thermal_expansion_LiAndItsTangent + end subroutine kinematics_thermal_expansion_LiAndItsTangent module subroutine plastic_kinehardening_deltaState(Mp,instance,of) @@ -303,7 +303,7 @@ module constitutive module subroutine plastic_results end subroutine plastic_results - + module subroutine damage_results end subroutine damage_results @@ -339,7 +339,7 @@ module constitutive real(pReal), intent(in), dimension(3,3) :: & F, & !< elastic deformation gradient Fp !< plastic deformation gradient - end subroutine constitutive_plastic_dependentState + end subroutine constitutive_plastic_dependentState end interface constitutive_dependentState @@ -356,7 +356,7 @@ module constitutive end type tDebugOptions type(tDebugOptions) :: debugConstitutive - + public :: & constitutive_init, & constitutive_homogenizedC, & @@ -379,7 +379,7 @@ contains !-------------------------------------------------------------------------------------------------- -!> @brief Initialze constitutive models for individual physics +!> @brief Initialze constitutive models for individual physics !-------------------------------------------------------------------------------------------------- subroutine constitutive_init @@ -394,17 +394,17 @@ subroutine constitutive_init elastic, & stiffDegradation - debug_constitutive => debug_root%get('constitutive', defaultVal=emptyList) - debugConstitutive%basic = debug_constitutive%contains('basic') - debugConstitutive%extensive = debug_constitutive%contains('extensive') + debug_constitutive => config_debug%get('constitutive', defaultVal=emptyList) + debugConstitutive%basic = debug_constitutive%contains('basic') + debugConstitutive%extensive = debug_constitutive%contains('extensive') debugConstitutive%selective = debug_constitutive%contains('selective') - debugConstitutive%element = debug_root%get_asInt('element',defaultVal = 1) - debugConstitutive%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) - debugConstitutive%grain = debug_root%get_asInt('grain',defaultVal = 1) + debugConstitutive%element = config_debug%get_asInt('element',defaultVal = 1) + debugConstitutive%ip = config_debug%get_asInt('integrationpoint',defaultVal = 1) + debugConstitutive%grain = config_debug%get_asInt('grain',defaultVal = 1) !------------------------------------------------------------------------------------------------- ! initialize elasticity (hooke) !ToDO: Maybe move to elastic submodule along with function homogenizedC? - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(phase_elasticity(phases%length), source = ELASTICITY_undefined_ID) allocate(phase_elasticityInstance(phases%length), source = 0) allocate(phase_NstiffnessDegradations(phases%length),source=0) @@ -472,7 +472,7 @@ end subroutine constitutive_init !-------------------------------------------------------------------------------------------------- module function source_active(source_label,src_length) result(active_source) - character(len=*), intent(in) :: source_label !< name of source mechanism + character(len=*), intent(in) :: source_label !< name of source mechanism integer, intent(in) :: src_length !< max. number of sources in system logical, dimension(:,:), allocatable :: active_source @@ -480,10 +480,10 @@ module function source_active(source_label,src_length) result(active_source) phases, & phase, & sources, & - src + src integer :: p,s - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(active_source(src_length,phases%length), source = .false. ) do p = 1, phases%length phase => phases%get(p) @@ -512,10 +512,10 @@ module function kinematics_active(kinematics_label,kinematics_length) result(ac phases, & phase, & kinematics, & - kinematics_type + kinematics_type integer :: p,k - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(active_kinematics(kinematics_length,phases%length), source = .false. ) do p = 1, phases%length phase => phases%get(p) @@ -528,7 +528,7 @@ module function kinematics_active(kinematics_label,kinematics_length) result(ac end function kinematics_active - + !-------------------------------------------------------------------------------------------------- !> @brief returns the homogenize elasticity matrix diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 index 83b2c2384..5572192f7 100644 --- a/src/constitutive_damage.f90 +++ b/src/constitutive_damage.f90 @@ -117,7 +117,7 @@ module subroutine damage_init sources, & kinematics - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(sourceState (phases%length)) allocate(phase_Nsources(phases%length),source = 0) ! same for kinematics diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index 628a98d1a..bf831ba98 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -198,7 +198,7 @@ module subroutine plastic_init integer :: p class(tNode), pointer :: phases - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(plasticState(phases%length)) allocate(phase_plasticity(phases%length),source = PLASTICITY_undefined_ID) @@ -235,7 +235,7 @@ module function plastic_active(plastic_label) result(active_plastic) pl integer :: p - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(active_plastic(phases%length), source = .false. ) do p = 1, phases%length phase => phases%get(p) diff --git a/src/constitutive_plastic_disloTungsten.f90 b/src/constitutive_plastic_disloTungsten.f90 index a5cb45654..adf07df21 100644 --- a/src/constitutive_plastic_disloTungsten.f90 +++ b/src/constitutive_plastic_disloTungsten.f90 @@ -112,7 +112,7 @@ module function plastic_disloTungsten_init() result(myPlasticity) allocate(dotState(Ninstance)) allocate(dependentState(Ninstance)) - phases => material_root%get('phase') + phases => config_material%get('phase') i = 0 do p = 1, phases%length phase => phases%get(p) diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index 0f473b760..6791c6dd0 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -165,7 +165,7 @@ module function plastic_dislotwin_init() result(myPlasticity) allocate(dotState(Ninstance)) allocate(dependentState(Ninstance)) - phases => material_root%get('phase') + phases => config_material%get('phase') i = 0 do p = 1, phases%length phase => phases%get(p) diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index adb87c0b1..f561e9dd0 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -83,7 +83,7 @@ module function plastic_isotropic_init() result(myPlasticity) allocate(state(Ninstance)) allocate(dotState(Ninstance)) - phases => material_root%get('phase') + phases => config_material%get('phase') i = 0 do p = 1, phases%length phase => phases%get(p) diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index ffbfb6a13..21215220c 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -92,7 +92,7 @@ module function plastic_kinehardening_init() result(myPlasticity) allocate(dotState(Ninstance)) allocate(deltaState(Ninstance)) - phases => material_root%get('phase') + phases => config_material%get('phase') i = 0 do p = 1, phases%length phase => phases%get(p) diff --git a/src/constitutive_plastic_none.f90 b/src/constitutive_plastic_none.f90 index 283dac75b..1fee0a079 100644 --- a/src/constitutive_plastic_none.f90 +++ b/src/constitutive_plastic_none.f90 @@ -26,7 +26,7 @@ module function plastic_none_init() result(myPlasticity) write(6,'(/,a)') ' <<<+- plastic_none init -+>>>' - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(myPlasticity(phases%length), source = .false. ) do p = 1, phases%length phase => phases%get(p) diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index f16dbbf1a..a56e109f2 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -209,7 +209,7 @@ module function plastic_nonlocal_init() result(myPlasticity) allocate(deltaState(Ninstance)) allocate(microstructure(Ninstance)) - phases => material_root%get('phase') + phases => config_material%get('phase') i = 0 do p = 1, phases%length phase => phases%get(p) diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index 992949016..270352585 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -101,7 +101,7 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) allocate(state(Ninstance)) allocate(dotState(Ninstance)) - phases => material_root%get('phase') + phases => config_material%get('phase') i = 0 do p = 1, phases%length phase => phases%get(p) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 595c0f2c1..b41613c74 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -150,13 +150,13 @@ subroutine crystallite_init write(6,'(/,a)') ' <<<+- crystallite init -+>>>' - debug_crystallite => debug_root%get('crystallite', defaultVal=emptyList) + debug_crystallite => config_debug%get('crystallite', defaultVal=emptyList) debugCrystallite%basic = debug_crystallite%contains('basic') debugCrystallite%extensive = debug_crystallite%contains('extensive') debugCrystallite%selective = debug_crystallite%contains('selective') - debugCrystallite%element = debug_root%get_asInt('element', defaultVal=1) - debugCrystallite%ip = debug_root%get_asInt('integrationpoint', defaultVal=1) - debugCrystallite%grain = debug_root%get_asInt('grain', defaultVal=1) + debugCrystallite%element = config_debug%get_asInt('element', defaultVal=1) + debugCrystallite%ip = config_debug%get_asInt('integrationpoint', defaultVal=1) + debugCrystallite%grain = config_debug%get_asInt('grain', defaultVal=1) cMax = homogenization_maxNgrains iMax = discretization_nIP @@ -189,7 +189,7 @@ subroutine crystallite_init allocate(crystallite_requested(cMax,iMax,eMax), source=.false.) allocate(crystallite_converged(cMax,iMax,eMax), source=.true.) - num_crystallite => numerics_root%get('crystallite',defaultVal=emptyDict) + num_crystallite => config_numerics%get('crystallite',defaultVal=emptyDict) num%subStepMinCryst = num_crystallite%get_asFloat ('subStepMin', defaultVal=1.0e-3_pReal) num%subStepSizeCryst = num_crystallite%get_asFloat ('subStepSize', defaultVal=0.25_pReal) @@ -236,7 +236,7 @@ subroutine crystallite_init call IO_error(301,ext_msg='integrator') end select - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(output_constituent(phases%length)) do c = 1, phases%length diff --git a/src/damage_local.f90 b/src/damage_local.f90 index 296617039..f55dcf52e 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -53,14 +53,14 @@ subroutine damage_local_init !---------------------------------------------------------------------------------------------- ! read numerics parameter and do sanity check - num_generic => numerics_root%get('generic',defaultVal=emptyDict) + num_generic => config_numerics%get('generic',defaultVal=emptyDict) num%residualStiffness = num_generic%get_asFloat('residualStiffness', defaultVal=1.0e-6_pReal) if (num%residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') Ninstance = count(damage_type == DAMAGE_local_ID) allocate(param(Ninstance)) - material_homogenization => material_root%get('homogenization') + material_homogenization => config_material%get('homogenization') do h = 1, material_homogenization%length if (damage_type(h) /= DAMAGE_LOCAL_ID) cycle homog => material_homogenization%get(h) diff --git a/src/damage_nonlocal.f90 b/src/damage_nonlocal.f90 index 93f8ab721..b9b800555 100644 --- a/src/damage_nonlocal.f90 +++ b/src/damage_nonlocal.f90 @@ -57,13 +57,13 @@ subroutine damage_nonlocal_init !------------------------------------------------------------------------------------ ! read numerics parameter - num_generic => numerics_root%get('generic',defaultVal= emptyDict) + num_generic => config_numerics%get('generic',defaultVal= emptyDict) num%charLength = num_generic%get_asFloat('charLength',defaultVal=1.0_pReal) Ninstance = count(damage_type == DAMAGE_nonlocal_ID) allocate(param(Ninstance)) - material_homogenization => material_root%get('homogenization') + material_homogenization => config_material%get('homogenization') do h = 1, material_homogenization%length if (damage_type(h) /= DAMAGE_NONLOCAL_ID) cycle homog => material_homogenization%get(h) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index edef00fa0..0f46790a8 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -114,7 +114,7 @@ program DAMASK_grid !------------------------------------------------------------------------------------------------- ! reading field paramters from numerics file and do sanity checks - num_grid => numerics_root%get('grid', defaultVal=emptyDict) + num_grid => config_numerics%get('grid', defaultVal=emptyDict) stagItMax = num_grid%get_asInt('maxStaggeredIter',defaultVal=10) maxCutBack = num_grid%get_asInt('maxCutBack',defaultVal=3) @@ -124,7 +124,7 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! assign mechanics solver depending on selected type - debug_grid => debug_root%get('grid',defaultVal=emptyList) + debug_grid => config_debug%get('grid',defaultVal=emptyList) select case (trim(num_grid%get_asString('solver', defaultVal = 'Basic'))) case ('Basic') mech_init => grid_mech_spectral_basic_init diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index d9db8dbb3..3521533c0 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -93,8 +93,8 @@ subroutine discretization_grid_init(restart) !------------------------------------------------------------------------------------------------- ! debug parameters - debug_element = debug_root%get_asInt('element',defaultVal=1) - debug_ip = debug_root%get_asInt('integrationpoint',defaultVal=1) + debug_element = config_debug%get_asInt('element',defaultVal=1) + debug_ip = config_debug%get_asInt('integrationpoint',defaultVal=1) !-------------------------------------------------------------------------------------------------- ! general discretization diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index aaa3c2172..f0d65a4a6 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -84,12 +84,12 @@ subroutine grid_damage_spectral_init !------------------------------------------------------------------------------------------------- ! read numerical parameters and do sanity checks - num_grid => numerics_root%get('grid',defaultVal=emptyDict) + num_grid => config_numerics%get('grid',defaultVal=emptyDict) num%itmax = num_grid%get_asInt ('itmax',defaultVal=250) num%eps_damage_atol = num_grid%get_asFloat ('eps_damage_atol',defaultVal=1.0e-2_pReal) num%eps_damage_rtol = num_grid%get_asFloat ('eps_damage_rtol',defaultVal=1.0e-6_pReal) - num_generic => numerics_root%get('generic',defaultVal=emptyDict) + num_generic => config_numerics%get('generic',defaultVal=emptyDict) num%residualStiffness = num_generic%get_asFloat('residualStiffness', defaultVal=1.0e-6_pReal) if (num%residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 9d3af8ae0..748692b3c 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -126,12 +126,12 @@ subroutine grid_mech_FEM_init !----------------------------------------------------------------------------------------------- ! debugging options - debug_grid => debug_root%get('grid', defaultVal=emptyList) + debug_grid => config_debug%get('grid', defaultVal=emptyList) debugRotation = debug_grid%contains('rotation') !------------------------------------------------------------------------------------------------- ! read numerical parameter and do sanity checks - num_grid => numerics_root%get('grid',defaultVal=emptyDict) + num_grid => config_numerics%get('grid',defaultVal=emptyDict) num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) num%eps_stress_atol = num_grid%get_asFloat ('eps_stress_atol', defaultVal=1.0e3_pReal) diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 664c9d7ae..9d301b30f 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -120,12 +120,12 @@ subroutine grid_mech_spectral_basic_init !------------------------------------------------------------------------------------------------- ! debugging options - debug_grid => debug_root%get('grid', defaultVal=emptyList) + debug_grid => config_debug%get('grid', defaultVal=emptyList) debugRotation = debug_grid%contains('rotation') !------------------------------------------------------------------------------------------------- ! read numerical parameters and do sanity checks - num_grid => numerics_root%get('grid',defaultVal=emptyDict) + num_grid => config_numerics%get('grid',defaultVal=emptyDict) num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 53013f0cf..5414d02a8 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -130,12 +130,12 @@ subroutine grid_mech_spectral_polarisation_init !------------------------------------------------------------------------------------------------ ! debugging options - debug_grid => debug_root%get('grid',defaultVal=emptyList) + debug_grid => config_debug%get('grid',defaultVal=emptyList) debugRotation = debug_grid%contains('rotation') !------------------------------------------------------------------------------------------------- ! read numerical parameters - num_grid => numerics_root%get('grid',defaultVal=emptyDict) + num_grid => config_numerics%get('grid',defaultVal=emptyDict) num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index a0bcd99ee..5456f40eb 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -81,7 +81,7 @@ subroutine grid_thermal_spectral_init !------------------------------------------------------------------------------------------------- ! read numerical parameter and do sanity checks - num_grid => numerics_root%get('grid',defaultVal=emptyDict) + num_grid => config_numerics%get('grid',defaultVal=emptyDict) num%itmax = num_grid%get_asInt ('itmax', defaultVal=250) num%eps_thermal_atol = num_grid%get_asFloat ('eps_thermal_atol',defaultVal=1.0e-2_pReal) num%eps_thermal_rtol = num_grid%get_asFloat ('eps_thermal_rtol',defaultVal=1.0e-6_pReal) diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 9ccce2617..c4aaae7bc 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -207,7 +207,7 @@ subroutine spectral_utilities_init !-------------------------------------------------------------------------------------------------- ! set debugging parameters - debug_grid => debug_root%get('grid',defaultVal=emptyList) + debug_grid => config_debug%get('grid',defaultVal=emptyList) debugGeneral = debug_grid%contains('basic') debugRotation = debug_grid%contains('rotation') debugPETSc = debug_grid%contains('petsc') @@ -218,7 +218,7 @@ subroutine spectral_utilities_init trim(PETScDebug), & ' add more using the PETSc_Options keyword in numerics.yaml '; flush(6) - num_grid => numerics_root%get('grid',defaultVal=emptyDict) + num_grid => config_numerics%get('grid',defaultVal=emptyDict) call PETScOptionsClear(PETSC_NULL_OPTIONS,ierr) CHKERRQ(ierr) diff --git a/src/homogenization.f90 b/src/homogenization.f90 index b2d75d9ee..ebdca24d0 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -149,20 +149,20 @@ subroutine homogenization_init num_homogGeneric, & debug_homogenization - debug_homogenization => debug_root%get('homogenization', defaultVal=emptyList) + debug_homogenization => config_debug%get('homogenization', defaultVal=emptyList) debugHomog%basic = debug_homogenization%contains('basic') debugHomog%extensive = debug_homogenization%contains('extensive') debugHomog%selective = debug_homogenization%contains('selective') - debugHomog%element = debug_root%get_asInt('element',defaultVal = 1) - debugHomog%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1) - debugHomog%grain = debug_root%get_asInt('grain',defaultVal = 1) + debugHomog%element = config_debug%get_asInt('element',defaultVal = 1) + debugHomog%ip = config_debug%get_asInt('integrationpoint',defaultVal = 1) + debugHomog%grain = config_debug%get_asInt('grain',defaultVal = 1) if (debugHomog%grain < 1 & .or. debugHomog%grain > homogenization_Ngrains(material_homogenizationAt(debugHomog%element))) & call IO_error(602,ext_msg='constituent', el=debugHomog%element, g=debugHomog%grain) - num_homog => numerics_root%get('homogenization',defaultVal=emptyDict) + num_homog => config_numerics%get('homogenization',defaultVal=emptyDict) num_homogMech => num_homog%get('mech',defaultVal=emptyDict) num_homogGeneric => num_homog%get('generic',defaultVal=emptyDict) diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index d3990e266..335c97f28 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -139,7 +139,7 @@ module subroutine mech_RGC_init(num_homogMech) if (num%volDiscrPow <= 0.0_pReal) call IO_error(301,ext_msg='volDiscrPw_RGC') - material_homogenization => material_root%get('homogenization') + material_homogenization => config_material%get('homogenization') do h = 1, size(homogenization_type) if (homogenization_type(h) /= HOMOGENIZATION_RGC_ID) cycle homog => material_homogenization%get(h) diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index 91350e6b0..4b4614cff 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -10,16 +10,16 @@ submodule(homogenization) homogenization_mech_isostrain parallel_ID, & average_ID end enum - + type :: tParameters !< container type for internal constitutive parameters integer :: & Nconstituents integer(kind(average_ID)) :: & mapping end type - + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) - + contains @@ -36,21 +36,21 @@ module subroutine mech_isostrain_init material_homogenization, & homog, & homogMech - + write(6,'(/,a)') ' <<<+- homogenization_mech_isostrain init -+>>>' - + Ninstance = count(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) - + allocate(param(Ninstance)) ! one container of parameters per instance - material_homogenization => material_root%get('homogenization') + material_homogenization => config_material%get('homogenization') do h = 1, size(homogenization_type) if (homogenization_type(h) /= HOMOGENIZATION_ISOSTRAIN_ID) cycle homog => material_homogenization%get(h) homogMech => homog%get('mech') associate(prm => param(homogenization_typeInstance(h))) - + prm%Nconstituents = homogMech%get_asInt('N_constituents') select case(homogMech%get_asString('mapping',defaultVal = 'sum')) case ('sum') @@ -60,15 +60,15 @@ module subroutine mech_isostrain_init case default call IO_error(211,ext_msg='sum'//' (mech_isostrain)') end select - + NofMyHomog = count(material_homogenizationAt == h) homogState(h)%sizeState = 0 allocate(homogState(h)%state0 (0,NofMyHomog)) allocate(homogState(h)%subState0(0,NofMyHomog)) allocate(homogState(h)%state (0,NofMyHomog)) - + end associate - + enddo end subroutine mech_isostrain_init @@ -78,30 +78,30 @@ end subroutine mech_isostrain_init !> @brief partitions the deformation gradient onto the constituents !-------------------------------------------------------------------------------------------------- module subroutine mech_isostrain_partitionDeformation(F,avgF) - + real(pReal), dimension (:,:,:), intent(out) :: F !< partitioned deformation gradient - + real(pReal), dimension (3,3), intent(in) :: avgF !< average deformation gradient at material point - + F = spread(avgF,3,size(F,3)) end subroutine mech_isostrain_partitionDeformation !-------------------------------------------------------------------------------------------------- -!> @brief derive average stress and stiffness from constituent quantities +!> @brief derive average stress and stiffness from constituent quantities !-------------------------------------------------------------------------------------------------- module subroutine mech_isostrain_averageStressAndItsTangent(avgP,dAvgPdAvgF,P,dPdF,instance) - + real(pReal), dimension (3,3), intent(out) :: avgP !< average stress at material point real(pReal), dimension (3,3,3,3), intent(out) :: dAvgPdAvgF !< average stiffness at material point - + real(pReal), dimension (:,:,:), intent(in) :: P !< partitioned stresses real(pReal), dimension (:,:,:,:,:), intent(in) :: dPdF !< partitioned stiffnesses - integer, intent(in) :: instance - + integer, intent(in) :: instance + associate(prm => param(instance)) - + select case (prm%mapping) case (parallel_ID) avgP = sum(P,3) @@ -110,7 +110,7 @@ module subroutine mech_isostrain_averageStressAndItsTangent(avgP,dAvgPdAvgF,P,dP avgP = sum(P,3) /real(prm%Nconstituents,pReal) dAvgPdAvgF = sum(dPdF,5)/real(prm%Nconstituents,pReal) end select - + end associate end subroutine mech_isostrain_averageStressAndItsTangent diff --git a/src/kinematics_cleavage_opening.f90 b/src/kinematics_cleavage_opening.f90 index c682fd401..865376e02 100644 --- a/src/kinematics_cleavage_opening.f90 +++ b/src/kinematics_cleavage_opening.f90 @@ -53,7 +53,7 @@ module function kinematics_cleavage_opening_init(kinematics_length) result(myKin write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) if(Ninstance == 0) return - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(param(Ninstance)) allocate(kinematics_cleavage_opening_instance(phases%length), source=0) diff --git a/src/kinematics_slipplane_opening.f90 b/src/kinematics_slipplane_opening.f90 index 406e8dce5..8fabdd78f 100644 --- a/src/kinematics_slipplane_opening.f90 +++ b/src/kinematics_slipplane_opening.f90 @@ -56,7 +56,7 @@ module function kinematics_slipplane_opening_init(kinematics_length) result(myKi write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) if(Ninstance == 0) return - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(kinematics_slipplane_opening_instance(phases%length), source=0) allocate(param(Ninstance)) diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index 3c345f148..5d404c913 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -46,7 +46,7 @@ module function kinematics_thermal_expansion_init(kinematics_length) result(myKi write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) if(Ninstance == 0) return - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(param(Ninstance)) allocate(kinematics_thermal_expansion_instance(phases%length), source=0) diff --git a/src/lattice.f90 b/src/lattice.f90 index 503293237..659025bb1 100644 --- a/src/lattice.f90 +++ b/src/lattice.f90 @@ -459,7 +459,7 @@ subroutine lattice_init write(6,'(/,a)') ' <<<+- lattice init -+>>>'; flush(6) - phases => material_root%get('phase') + phases => config_material%get('phase') Nphases = phases%length allocate(lattice_structure(Nphases),source = lattice_UNDEFINED_ID) diff --git a/src/material.f90 b/src/material.f90 index 864760c76..3d8f3fc31 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -55,7 +55,7 @@ module material character(len=pStringLen), public, protected, allocatable, dimension(:) :: & material_name_phase, & !< name of each phase material_name_homogenization !< name of each homogenization - + integer(kind(THERMAL_isothermal_ID)), dimension(:), allocatable, public, protected :: & thermal_type !< thermal transport model integer(kind(DAMAGE_none_ID)), dimension(:), allocatable, public, protected :: & @@ -164,24 +164,24 @@ subroutine material_init(restart) phases, & material_homogenization character(len=pStringLen) :: sectionName - + write(6,'(/,a)') ' <<<+- material init -+>>>'; flush(6) - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(material_name_phase(phases%length)) do ph = 1, phases%length write(sectionName,'(i0,a)') ph,'_' - material_name_phase(ph) = trim(adjustl(sectionName))//phases%getKey(ph) !ToDO: No reason to do. Update damage tests + material_name_phase(ph) = trim(adjustl(sectionName))//phases%getKey(ph) !ToDO: No reason to do. Update damage tests enddo - - material_homogenization => material_root%get('homogenization') + + material_homogenization => config_material%get('homogenization') allocate(material_name_homogenization(material_homogenization%length)) do myHomog = 1, material_homogenization%length - write(sectionName,'(i0,a)') myHomog,'_' + write(sectionName,'(i0,a)') myHomog,'_' material_name_homogenization(myHomog) = trim(adjustl(sectionName))//material_homogenization%getKey(myHomog) enddo - debug_material => debug_root%get('material',defaultVal=emptyList) + debug_material => config_debug%get('material',defaultVal=emptyList) call material_parseMicrostructure() if (debug_material%contains('basic')) write(6,'(a)') ' Microstructure parsed'; flush(6) @@ -242,7 +242,7 @@ subroutine material_parseHomogenization integer :: h - material_homogenization => material_root%get('homogenization') + material_homogenization => config_material%get('homogenization') material_Nhomogenization = material_homogenization%length allocate(homogenization_type(material_Nhomogenization), source=HOMOGENIZATION_undefined_ID) @@ -325,18 +325,18 @@ subroutine material_parseMicrostructure class(tNode), pointer :: microstructure, & !> pointer to microstructure list constituentsInMicrostructure, & !> pointer to a microstructure list item - constituents, & !> pointer to constituents list - constituent, & !> pointer to each constituent + constituents, & !> pointer to constituents list + constituent, & !> pointer to each constituent phases, & homogenization integer, dimension(:), allocatable :: & CounterPhase, & CounterHomogenization - - + + real(pReal), dimension(:,:), allocatable :: & - microstructure_fraction !< vol fraction of each constituent in microstrcuture + microstructure_fraction !< vol fraction of each constituent in microstrcuture integer :: & e, & @@ -347,11 +347,11 @@ subroutine material_parseMicrostructure real(pReal), dimension(4) :: phase_orientation - homogenization => material_root%get('homogenization') - phases => material_root%get('phase') - microstructure => material_root%get('microstructure') + homogenization => config_material%get('homogenization') + phases => config_material%get('phase') + microstructure => config_material%get('microstructure') allocate(microstructure_Nconstituents(microstructure%length), source = 0) - + if(any(discretization_microstructureAt > microstructure%length)) & call IO_error(155,ext_msg='More microstructures in geometry than sections in material.yaml') @@ -360,7 +360,7 @@ subroutine material_parseMicrostructure constituents => constituentsInMicrostructure%get('constituents') microstructure_Nconstituents(m) = constituents%length enddo - + microstructure_maxNconstituents = maxval(microstructure_Nconstituents) allocate(microstructure_fraction(microstructure_maxNconstituents,microstructure%length), source =0.0_pReal) allocate(material_phaseAt(microstructure_maxNconstituents,discretization_nElem), source =0) @@ -379,7 +379,7 @@ subroutine material_parseMicrostructure constituent => constituents%get(c) microstructure_fraction(c,m) = constituent%get_asFloat('fraction') enddo - if (dNeq(sum(microstructure_fraction(:,m)),1.0_pReal)) call IO_error(153,ext_msg='constituent') + if (dNeq(sum(microstructure_fraction(:,m)),1.0_pReal)) call IO_error(153,ext_msg='constituent') enddo do e = 1, discretization_nElem @@ -394,11 +394,11 @@ subroutine material_parseMicrostructure enddo enddo enddo - + do e = 1, discretization_nElem do i = 1, discretization_nIP - constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) - material_homogenizationAt(e) = homogenization%getIndex(constituentsInMicrostructure%get_asString('homogenization')) + constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) + material_homogenizationAt(e) = homogenization%getIndex(constituentsInMicrostructure%get_asString('homogenization')) CounterHomogenization(material_homogenizationAt(e)) = CounterHomogenization(material_homogenizationAt(e)) + 1 material_homogenizationMemberAt(i,e) = CounterHomogenization(material_homogenizationAt(e)) enddo @@ -419,5 +419,5 @@ subroutine material_parseMicrostructure end subroutine material_parseMicrostructure - + end module material diff --git a/src/math.f90 b/src/math.f90 index d485f2e4a..080e82873 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -97,7 +97,7 @@ subroutine math_init write(6,'(/,a)') ' <<<+- math init -+>>>'; flush(6) - num_generic => numerics_root%get('generic',defaultVal=emptyDict) + num_generic => config_numerics%get('generic',defaultVal=emptyDict) randomSeed = num_generic%get_asInt('random_seed', defaultVal = 0) call random_seed(size=randSize) diff --git a/src/source_damage_anisoBrittle.f90 b/src/source_damage_anisoBrittle.f90 index 65aedacd6..ed8ce74c8 100644 --- a/src/source_damage_anisoBrittle.f90 +++ b/src/source_damage_anisoBrittle.f90 @@ -57,7 +57,7 @@ module function source_damage_anisoBrittle_init(source_length) result(mySources) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) if(Ninstance == 0) return - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(param(Ninstance)) allocate(source_damage_anisoBrittle_offset (phases%length), source=0) allocate(source_damage_anisoBrittle_instance(phases%length), source=0) diff --git a/src/source_damage_anisoDuctile.f90 b/src/source_damage_anisoDuctile.f90 index 26b653c3d..a81573038 100644 --- a/src/source_damage_anisoDuctile.f90 +++ b/src/source_damage_anisoDuctile.f90 @@ -52,7 +52,7 @@ module function source_damage_anisoDuctile_init(source_length) result(mySources) if(Ninstance == 0) return - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(param(Ninstance)) allocate(source_damage_anisoDuctile_offset (phases%length), source=0) allocate(source_damage_anisoDuctile_instance(phases%length), source=0) diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index 4156e9213..97dd89900 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -47,7 +47,7 @@ module function source_damage_isoBrittle_init(source_length) result(mySources) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) if(Ninstance == 0) return - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(param(Ninstance)) allocate(source_damage_isoBrittle_offset (phases%length), source=0) allocate(source_damage_isoBrittle_instance(phases%length), source=0) diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index dc102f539..48b465105 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -49,7 +49,7 @@ module function source_damage_isoDuctile_init(source_length) result(mySources) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) if(Ninstance == 0) return - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(param(Ninstance)) allocate(source_damage_isoDuctile_offset (phases%length), source=0) allocate(source_damage_isoDuctile_instance(phases%length), source=0) diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index d75e7f654..5d6211c6c 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -45,7 +45,7 @@ module function source_thermal_dissipation_init(source_length) result(mySources) write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) if(Ninstance == 0) return - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(param(Ninstance)) allocate(source_thermal_dissipation_offset (phases%length), source=0) allocate(source_thermal_dissipation_instance(phases%length), source=0) diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index 45ed2086f..3862e90e7 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -49,7 +49,7 @@ module function source_thermal_externalheat_init(source_length) result(mySources write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) if(Ninstance == 0) return - phases => material_root%get('phase') + phases => config_material%get('phase') allocate(param(Ninstance)) allocate(source_thermal_externalheat_offset (phases%length), source=0) allocate(source_thermal_externalheat_instance(phases%length), source=0) diff --git a/src/thermal_adiabatic.f90 b/src/thermal_adiabatic.f90 index bd4a5f12c..f6291a25b 100644 --- a/src/thermal_adiabatic.f90 +++ b/src/thermal_adiabatic.f90 @@ -53,7 +53,7 @@ subroutine thermal_adiabatic_init allocate(param(maxNinstance)) - material_homogenization => material_root%get('homogenization') + material_homogenization => config_material%get('homogenization') do h = 1, material_Nhomogenization if (thermal_type(h) /= THERMAL_adiabatic_ID) cycle homog => material_homogenization%get(h) diff --git a/src/thermal_conduction.f90 b/src/thermal_conduction.f90 index 9075c6d64..b14fe4a22 100644 --- a/src/thermal_conduction.f90 +++ b/src/thermal_conduction.f90 @@ -52,7 +52,7 @@ subroutine thermal_conduction_init Ninstance = count(thermal_type == THERMAL_conduction_ID) allocate(param(Ninstance)) - material_homogenization => material_root%get('homogenization') + material_homogenization => config_material%get('homogenization') do h = 1, material_Nhomogenization if (thermal_type(h) /= THERMAL_conduction_ID) cycle homog => material_homogenization%get(h) From 38a4118dc5eaf1d347951bb3dcd2b7cc1c17cec9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 11:05:42 +0200 Subject: [PATCH 583/958] prefix to global variables increases readability --- src/DAMASK_interface.f90 | 87 +++++++++++++++++--------------- src/grid/DAMASK_grid.f90 | 4 +- src/grid/discretization_grid.f90 | 14 ++--- src/mesh/DAMASK_mesh.f90 | 2 +- src/mesh/discretization_mesh.f90 | 4 +- 5 files changed, 57 insertions(+), 54 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index 4a9761c48..4dec06c0f 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -25,21 +25,21 @@ module DAMASK_interface implicit none private logical, volatile, public, protected :: & - SIGTERM, & !< termination signal - SIGUSR1, & !< 1. user-defined signal - SIGUSR2 !< 2. user-defined signal + interface_SIGTERM, & !< termination signal + interface_SIGUSR1, & !< 1. user-defined signal + interface_SIGUSR2 !< 2. user-defined signal integer, public, protected :: & interface_restartInc = 0 !< Increment at which calculation starts character(len=:), allocatable, public, protected :: & - geometryFile, & !< parameter given for geometry file - loadCaseFile !< parameter given for load case file + interface_geomFile, & !< parameter given for geometry file + interface_loadFile !< parameter given for load case file public :: & getSolverJobName, & DAMASK_interface_init, & - setSIGTERM, & - setSIGUSR1, & - setSIGUSR2 + interface_setSIGTERM, & + interface_setSIGUSR1, & + interface_setSIGUSR2 contains @@ -186,8 +186,8 @@ subroutine DAMASK_interface_init endif if (len_trim(workingDirArg) > 0) call setWorkingDirectory(trim(workingDirArg)) - geometryFile = getGeometryFile(geometryArg) - loadCaseFile = getLoadCaseFile(loadCaseArg) + interface_geomFile = getGeometryFile(geometryArg) + interface_loadFile = getLoadCaseFile(loadCaseArg) call get_command(commandLine) call get_environment_variable('USER',userName) @@ -202,8 +202,8 @@ subroutine DAMASK_interface_init write(6,'(a,a)') ' Geometry argument: ', trim(geometryArg) write(6,'(a,a)') ' Load case argument: ', trim(loadcaseArg) write(6,'(a,a)') ' Working directory: ', getCWD() - write(6,'(a,a)') ' Geometry file: ', geometryFile - write(6,'(a,a)') ' Loadcase file: ', loadCaseFile + write(6,'(a,a)') ' Geometry file: ', interface_geomFile + write(6,'(a,a)') ' Loadcase file: ', interface_loadFile write(6,'(a,a)') ' Solver job name: ', getSolverJobName() if (interface_restartInc > 0) & write(6,'(a,i6.6)') ' Restart from increment: ', interface_restartInc @@ -211,9 +211,9 @@ subroutine DAMASK_interface_init !call signalterm_c(c_funloc(catchSIGTERM)) call signalusr1_c(c_funloc(catchSIGUSR1)) call signalusr2_c(c_funloc(catchSIGUSR2)) - call setSIGTERM(.false.) - call setSIGUSR1(.false.) - call setSIGUSR2(.false.) + call interface_setSIGTERM(.false.) + call interface_setSIGUSR1(.false.) + call interface_setSIGUSR2(.false.) end subroutine DAMASK_interface_init @@ -254,15 +254,15 @@ function getSolverJobName() character(len=:), allocatable :: getSolverJobName integer :: posExt,posSep - posExt = scan(geometryFile,'.',back=.true.) - posSep = scan(geometryFile,'/',back=.true.) + posExt = scan(interface_geomFile,'.',back=.true.) + posSep = scan(interface_geomFile,'/',back=.true.) - getSolverJobName = geometryFile(posSep+1:posExt-1) + getSolverJobName = interface_geomFile(posSep+1:posExt-1) - posExt = scan(loadCaseFile,'.',back=.true.) - posSep = scan(loadCaseFile,'/',back=.true.) + posExt = scan(interface_loadFile,'.',back=.true.) + posSep = scan(interface_loadFile,'/',back=.true.) - getSolverJobName = getSolverJobName//'_'//loadCaseFile(posSep+1:posExt-1) + getSolverJobName = getSolverJobName//'_'//interface_loadFile(posSep+1:posExt-1) end function getSolverJobName @@ -389,75 +389,78 @@ end function makeRelativePath !-------------------------------------------------------------------------------------------------- -!> @brief sets global variable SIGTERM to .true. +!> @brief Set global variable interface_SIGTERM to .true. +!> @details This function can be registered to catch signals send to the executable. !-------------------------------------------------------------------------------------------------- subroutine catchSIGTERM(signal) bind(C) integer(C_INT), value :: signal - SIGTERM = .true. + interface_SIGTERM = .true. - write(6,'(a,i2.2,a)') ' received signal ',signal, ', set SIGTERM' + write(6,'(a,i2.2,a)') ' received signal ',signal, ', set SIGTERM=TRUE' end subroutine catchSIGTERM !-------------------------------------------------------------------------------------------------- -!> @brief sets global variable SIGTERM +!> @brief Set global variable interface_SIGTERM. !-------------------------------------------------------------------------------------------------- -subroutine setSIGTERM(state) +subroutine interface_setSIGTERM(state) logical, intent(in) :: state - SIGTERM = state + interface_SIGTERM = state -end subroutine setSIGTERM +end subroutine interface_setSIGTERM !-------------------------------------------------------------------------------------------------- -!> @brief sets global variable SIGUSR1 to .true. +!> @brief Set global variable interface_SIGUSR1 to .true. +!> @details This function can be registered to catch signals send to the executable. !-------------------------------------------------------------------------------------------------- subroutine catchSIGUSR1(signal) bind(C) integer(C_INT), value :: signal - SIGUSR1 = .true. + interface_SIGUSR1 = .true. - write(6,'(a,i2.2,a)') ' received signal ',signal, ', set SIGUSR1' + write(6,'(a,i2.2,a)') ' received signal ',signal, ', set SIGUSR1=TRUE' end subroutine catchSIGUSR1 !-------------------------------------------------------------------------------------------------- -!> @brief sets global variable SIGUSR1 +!> @brief Set global variable interface_SIGUSR. !-------------------------------------------------------------------------------------------------- -subroutine setSIGUSR1(state) +subroutine interface_setSIGUSR1(state) logical, intent(in) :: state - SIGUSR1 = state + interface_SIGUSR1 = state -end subroutine setSIGUSR1 +end subroutine interface_setSIGUSR1 !-------------------------------------------------------------------------------------------------- -!> @brief sets global variable SIGUSR2 to .true. if program receives SIGUSR2 +!> @brief Set global variable interface_SIGUSR2 to .true. +!> @details This function can be registered to catch signals send to the executable. !-------------------------------------------------------------------------------------------------- subroutine catchSIGUSR2(signal) bind(C) integer(C_INT), value :: signal - SIGUSR2 = .true. + interface_SIGUSR2 = .true. - write(6,'(a,i2.2,a)') ' received signal ',signal, ', set SIGUSR2' + write(6,'(a,i2.2,a)') ' received signal ',signal, ', set SIGUSR2=TRUE' end subroutine catchSIGUSR2 !-------------------------------------------------------------------------------------------------- -!> @brief sets global variable SIGUSR2 +!> @brief Set global variable interface_SIGUSR2. !-------------------------------------------------------------------------------------------------- -subroutine setSIGUSR2(state) +subroutine interface_setSIGUSR2(state) logical, intent(in) :: state - SIGUSR2 = state + interface_SIGUSR2 = state -end subroutine setSIGUSR2 +end subroutine interface_setSIGUSR2 end module diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 0f46790a8..a5001de44 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -159,7 +159,7 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! reading information from load case file and to sanity checks - fileContent = IO_readlines(trim(loadCaseFile)) + fileContent = IO_readlines(trim(interface_loadFile)) if(size(fileContent) == 0) call IO_error(307,ext_msg='No load case specified') allocate (loadCases(0)) ! array of load cases @@ -179,7 +179,7 @@ program DAMASK_grid end select enddo if ((N_def /= N_n) .or. (N_n /= N_t) .or. N_n < 1) & ! sanity check - call IO_error(error_ID=837,el=currentLoadCase,ext_msg = trim(loadCaseFile)) ! error message for incomplete loadcase + call IO_error(error_ID=837,el=currentLoadCase,ext_msg = trim(interface_loadFile)) ! error message for incomplete loadcase newLoadCase%stress%myType='stress' field = 1 diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 3521533c0..3dc2b1c94 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -67,7 +67,7 @@ subroutine discretization_grid_init(restart) write(6,'(/,a)') ' <<<+- discretization_grid init -+>>>'; flush(6) - if(index(geometryFile,'.vtr') /= 0) then + if(index(interface_geomFile,'.vtr') /= 0) then call readVTR(grid,geomSize,origin,microstructureAt) else call readGeom(grid,geomSize,origin,microstructureAt) @@ -173,10 +173,10 @@ subroutine readGeom(grid,geomSize,origin,microstructure) !-------------------------------------------------------------------------------------------------- ! read raw data as stream - inquire(file = trim(geometryFile), size=fileLength) - open(newunit=fileUnit, file=trim(geometryFile), access='stream',& + inquire(file = trim(interface_geomFile), size=fileLength) + open(newunit=fileUnit, file=trim(interface_geomFile), access='stream',& status='old', position='rewind', action='read',iostat=myStat) - if(myStat /= 0) call IO_error(100,ext_msg=trim(geometryFile)) + if(myStat /= 0) call IO_error(100,ext_msg=trim(interface_geomFile)) allocate(character(len=fileLength)::rawData) read(fileUnit) rawData close(fileUnit) @@ -327,10 +327,10 @@ subroutine readVTR(grid,geomSize,origin,microstructure) !-------------------------------------------------------------------------------------------------- ! read raw data as stream - inquire(file = trim(geometryFile), size=fileLength) - open(newunit=fileUnit, file=trim(geometryFile), access='stream',& + inquire(file = trim(interface_geomFile), size=fileLength) + open(newunit=fileUnit, file=trim(interface_geomFile), access='stream',& status='old', position='rewind', action='read',iostat=myStat) - if(myStat /= 0) call IO_error(100,ext_msg=trim(geometryFile)) + if(myStat /= 0) call IO_error(100,ext_msg=trim(interface_geomFile)) allocate(character(len=fileLength)::fileContent) read(fileUnit) fileContent close(fileUnit) diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index 132cc4f3e..cacf5f248 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -96,7 +96,7 @@ program DAMASK_mesh !-------------------------------------------------------------------------------------------------- ! reading basic information from load case file and allocate data structure containing load cases - fileContent = IO_read_ASCII(trim(loadCaseFile)) + fileContent = IO_readline(trim(interface_loadFile)) do l = 1, size(fileContent) line = fileContent(l) if (IO_isBlank(line)) cycle ! skip empty lines diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index 8d24896ee..84e0b75e6 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -96,7 +96,7 @@ subroutine discretization_mesh_init(restart) debug_ip = debug_root%get_asInt('integrationpoint',defaultVal=1) - call DMPlexCreateFromFile(PETSC_COMM_WORLD,geometryFile,PETSC_TRUE,globalMesh,ierr) + call DMPlexCreateFromFile(PETSC_COMM_WORLD,interface_geomFile,PETSC_TRUE,globalMesh,ierr) CHKERRQ(ierr) call DMGetDimension(globalMesh,dimPlex,ierr) CHKERRQ(ierr) @@ -124,7 +124,7 @@ subroutine discretization_mesh_init(restart) call MPI_Bcast(mesh_boundaries,mesh_Nboundaries,MPI_INTEGER,0,PETSC_COMM_WORLD,ierr) if (worldrank == 0) then - fileContent = IO_readlines(geometryFile) + fileContent = IO_readlines(interface_geomFile) l = 0 do l = l + 1 From e5c2382f73610cda2b7701dbe1a7226c82c69b58 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 11:17:49 +0200 Subject: [PATCH 584/958] missing renames ... --- src/mesh/DAMASK_mesh.f90 | 2 +- src/mesh/FEM_utilities.f90 | 12 +++++------- src/mesh/discretization_mesh.f90 | 8 ++++---- src/mesh/mesh_mech_FEM.f90 | 4 ++-- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index cacf5f248..86ff63b5d 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -82,7 +82,7 @@ program DAMASK_mesh !--------------------------------------------------------------------- ! reading field information from numerics file and do sanity checks - num_mesh => numerics_root%get('mesh', defaultVal=emptyDict) + num_mesh => config_numerics%get('mesh', defaultVal=emptyDict) stagItMax = num_mesh%get_asInt('maxStaggeredIter',defaultVal=10) maxCutBack = num_mesh%get_asInt('maxCutBack',defaultVal=3) diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index b850c20e9..551a863b6 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -110,15 +110,13 @@ subroutine FEM_utilities_init PetscErrorCode :: ierr - write(6,'(/,a)') ' <<<+- DAMASK_FEM_utilities init -+>>>' + write(6,'(/,a)') ' <<<+- FEM_utilities init -+>>>' - num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) - structOrder = num_mesh%get_asInt('structOrder', defaultVal = 2) + num_mesh => config_numerics%get('mesh',defaultVal=emptyDict) + structOrder = num_mesh%get_asInt('structOrder', defaultVal = 2) -!-------------------------------------------------------------------------------------------------- -! set debugging parameters - debug_mesh => debug_root%get('mesh',defaultVal=emptyList) - debugPETSc = debug_mesh%contains('petsc') + debug_mesh => config_debug%get('mesh',defaultVal=emptyList) + debugPETSc = debug_mesh%contains('petsc') if(debugPETSc) write(6,'(3(/,a),/)') & ' Initializing PETSc with debug options: ', & diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index 84e0b75e6..54854ce68 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -83,17 +83,17 @@ subroutine discretization_mesh_init(restart) num_mesh integer :: integrationOrder !< order of quadrature rule required - write(6,'(/,a)') ' <<<+- mesh init -+>>>' + write(6,'(/,a)') ' <<<+- discretization_mesh init -+>>>' !-------------------------------------------------------------------------------- ! read numerics parameter - num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + num_mesh => config_numerics%get('mesh',defaultVal=emptyDict) integrationOrder = num_mesh%get_asInt('integrationorder',defaultVal = 2) !--------------------------------------------------------------------------------- ! read debug parameters - debug_element = debug_root%get_asInt('element',defaultVal=1) - debug_ip = debug_root%get_asInt('integrationpoint',defaultVal=1) + debug_element = config_debug%get_asInt('element',defaultVal=1) + debug_ip = config_debug%get_asInt('integrationpoint',defaultVal=1) call DMPlexCreateFromFile(PETSC_COMM_WORLD,interface_geomFile,PETSC_TRUE,globalMesh,ierr) diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 4d843b7a0..546897c5b 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -114,7 +114,7 @@ subroutine FEM_mech_init(fieldBC) !----------------------------------------------------------------------------- ! read numerical parametes and do sanity checks - num_mesh => numerics_root%get('mesh',defaultVal=emptyDict) + num_mesh => config_numerics%get('mesh',defaultVal=emptyDict) num%integrationOrder = num_mesh%get_asInt('integrationorder',defaultVal = 2) num%itmax = num_mesh%get_asInt('itmax',defaultVal=250) num%BBarStabilisation = num_mesh%get_asBool('bbarstabilisation',defaultVal = .false.) @@ -574,7 +574,7 @@ subroutine FEM_mech_formJacobian(dm_local,xx_local,Jac_pre,Jac,dummy,ierr) else K_e = K_eA endif - K_e = (K_e + eps*math_identity2nd(cellDof)) * abs(detJ) + K_e = (K_e + eps*math_eye(cellDof)) * abs(detJ) #ifndef __INTEL_COMPILER pK_e(1:cellDOF**2) => K_e #else From 74b35f5612e250e4d176a188a4c70ba3b63d328b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 11:18:09 +0200 Subject: [PATCH 585/958] short numpy name --- src/CPFEM.f90 | 4 ++-- src/crystallite.f90 | 6 +++--- src/grid/spectral_utilities.f90 | 2 +- src/math.f90 | 30 +++++++++++++----------------- src/mesh/DAMASK_mesh.f90 | 2 +- 5 files changed, 20 insertions(+), 24 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index a70061a45..2e8817015 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -202,7 +202,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS call random_number(rnd) if (rnd < 0.5_pReal) rnd = rnd - 1.0_pReal CPFEM_cs(1:6,ip,elCP) = ODD_STRESS * rnd - CPFEM_dcsde(1:6,1:6,ip,elCP) = ODD_JACOBIAN * math_identity2nd(6) + CPFEM_dcsde(1:6,1:6,ip,elCP) = ODD_JACOBIAN * math_eye(6) else validCalculation updateJaco = mod(cycleCounter,num%iJacoStiffness) == 0 @@ -217,7 +217,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS call random_number(rnd) if (rnd < 0.5_pReal) rnd = rnd - 1.0_pReal CPFEM_cs(1:6,ip,elCP) = ODD_STRESS * rnd - CPFEM_dcsde(1:6,1:6,ip,elCP) = ODD_JACOBIAN * math_identity2nd(6) + CPFEM_dcsde(1:6,1:6,ip,elCP) = ODD_JACOBIAN * math_eye(6) else terminalIllness diff --git a/src/crystallite.f90 b/src/crystallite.f90 index b41613c74..daa86d114 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -576,7 +576,7 @@ subroutine crystallite_stressTangent lhs_3333 = crystallite_subdt(c,i,e)*math_mul3333xx3333(dSdFe,temp_3333) & + math_mul3333xx3333(dSdFi,dFidS) - call math_invert(temp_99,error,math_identity2nd(9)+math_3333to99(lhs_3333)) + call math_invert(temp_99,error,math_eye(9)+math_3333to99(lhs_3333)) if (error) then call IO_warning(warning_ID=600,el=e,ip=i,g=c, & ext_msg='inversion error in analytic tangent calculation') @@ -947,7 +947,7 @@ function integrateStress(ipc,ip,el,timeFraction) result(broken) do o=1,3; do p=1,3 dFe_dLp(o,1:3,p,1:3) = - dt * A(o,p)*transpose(invFi_new) ! dFe_dLp(i,j,k,l) = -dt * A(i,k) invFi(l,j) enddo; enddo - dRLp_dLp = math_identity2nd(9) & + dRLp_dLp = math_eye(9) & - math_3333to99(math_mul3333xx3333(math_mul3333xx3333(dLp_dS,dS_dFe),dFe_dLp)) temp_9 = math_33to9(residuumLp) call dgesv(9,1,dRLp_dLp,9,devNull_9,temp_9,9,ierr) ! solve dRLp/dLp * delta Lp = -res for delta Lp @@ -992,7 +992,7 @@ function integrateStress(ipc,ip,el,timeFraction) result(broken) do o=1,3; do p=1,3 dFi_dLi(1:3,1:3,o,p) = matmul(matmul(Fi_new,dFi_dLi(1:3,1:3,o,p)),Fi_new) enddo; enddo - dRLi_dLi = math_identity2nd(9) & + dRLi_dLi = math_eye(9) & - math_3333to99(math_mul3333xx3333(dLi_dS, math_mul3333xx3333(dS_dFe, dFe_dLi) & + math_mul3333xx3333(dS_dFi, dFi_dLi))) & - math_3333to99(math_mul3333xx3333(dLi_dFi, dFi_dLi)) diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index c4aaae7bc..7253e9e4c 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -731,7 +731,7 @@ function utilities_maskedCompliance(rot_BC,mask_stress,C) !-------------------------------------------------------------------------------------------------- ! check if inversion was successful sTimesC = matmul(c_reduced,s_reduced) - errmatinv = errmatinv .or. any(dNeq(sTimesC,math_identity2nd(size_reduced),1.0e-12_pReal)) + errmatinv = errmatinv .or. any(dNeq(sTimesC,math_eye(size_reduced),1.0e-12_pReal)) if (debugGeneral .or. errmatinv) then write(formatString, '(i2)') size_reduced formatString = '(/,a,/,'//trim(formatString)//'('//trim(formatString)//'(2x,es9.2,1x)/))' diff --git a/src/math.f90 b/src/math.f90 index 080e82873..d41226ed2 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -72,10 +72,6 @@ module math 3,3 & ],shape(MAPPLAIN)) !< arrangement in Plain notation - interface math_eye - module procedure math_identity2nd - end interface math_eye - !--------------------------------------------------------------------------------------------------- private :: & selfTest @@ -239,18 +235,18 @@ end function math_range !-------------------------------------------------------------------------------------------------- !> @brief second rank identity tensor of specified dimension !-------------------------------------------------------------------------------------------------- -pure function math_identity2nd(d) +pure function math_eye(d) integer, intent(in) :: d !< tensor dimension integer :: i - real(pReal), dimension(d,d) :: math_identity2nd + real(pReal), dimension(d,d) :: math_eye - math_identity2nd = 0.0_pReal + math_eye = 0.0_pReal do i=1,d - math_identity2nd(i,i) = 1.0_pReal + math_eye(i,i) = 1.0_pReal enddo -end function math_identity2nd +end function math_eye !-------------------------------------------------------------------------------------------------- @@ -264,7 +260,7 @@ pure function math_identity4th(d) real(pReal), dimension(d,d,d,d) :: math_identity4th real(pReal), dimension(d,d) :: identity2nd - identity2nd = math_identity2nd(d) + identity2nd = math_eye(d) do i=1,d; do j=1,d; do k=1,d; do l=1,d math_identity4th(i,j,k,l) = 0.5_pReal & *(identity2nd(i,k)*identity2nd(j,l)+identity2nd(i,l)*identity2nd(j,k)) @@ -1240,23 +1236,23 @@ subroutine selfTest if(dNeq(math_det33(math_symmetric33(t33)),math_detSym33(math_symmetric33(t33)),tol=1.0e-12_pReal)) & call IO_error(0,ext_msg='math_det33/math_detSym33') - if(any(dNeq0(math_identity2nd(3),math_inv33(math_I3)))) & + if(any(dNeq0(math_eye(3),math_inv33(math_I3)))) & call IO_error(0,ext_msg='math_inv33(math_I3)') do while(abs(math_det33(t33))<1.0e-9_pReal) call random_number(t33) enddo - if(any(dNeq0(matmul(t33,math_inv33(t33)) - math_identity2nd(3),tol=1.0e-9_pReal))) & + if(any(dNeq0(matmul(t33,math_inv33(t33)) - math_eye(3),tol=1.0e-9_pReal))) & call IO_error(0,ext_msg='math_inv33') call math_invert33(t33_2,det,e,t33) - if(any(dNeq0(matmul(t33,t33_2) - math_identity2nd(3),tol=1.0e-9_pReal)) .or. e) & + if(any(dNeq0(matmul(t33,t33_2) - math_eye(3),tol=1.0e-9_pReal)) .or. e) & call IO_error(0,ext_msg='math_invert33: T:T^-1 != I') if(dNeq(det,math_det33(t33),tol=1.0e-12_pReal)) & call IO_error(0,ext_msg='math_invert33 (determinant)') call math_invert(t33_2,e,t33) - if(any(dNeq0(matmul(t33,t33_2) - math_identity2nd(3),tol=1.0e-9_pReal)) .or. e) & + if(any(dNeq0(matmul(t33,t33_2) - math_eye(3),tol=1.0e-9_pReal)) .or. e) & call IO_error(0,ext_msg='math_invert t33') do while(math_det33(t33)<1.0e-2_pReal) ! O(det(F)) = 1 @@ -1269,14 +1265,14 @@ subroutine selfTest call random_number(r) d = int(r*5.0_pReal) + 1 - txx = math_identity2nd(d) + txx = math_eye(d) allocate(txx_2(d,d)) call math_invert(txx_2,e,txx) if(any(dNeq0(txx_2,txx) .or. e)) & - call IO_error(0,ext_msg='math_invert(txx)/math_identity2nd') + call IO_error(0,ext_msg='math_invert(txx)/math_eye') call math_invert(t99_2,e,t99) ! not sure how likely it is that we get a singular matrix - if(any(dNeq0(matmul(t99_2,t99)-math_identity2nd(9),tol=1.0e-9_pReal)) .or. e) & + if(any(dNeq0(matmul(t99_2,t99)-math_eye(9),tol=1.0e-9_pReal)) .or. e) & call IO_error(0,ext_msg='math_invert(t99)') if(any(dNeq(math_clip([4.0_pReal,9.0_pReal],5.0_pReal,6.5_pReal),[5.0_pReal,6.5_pReal]))) & diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index 86ff63b5d..2fefe73a9 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -96,7 +96,7 @@ program DAMASK_mesh !-------------------------------------------------------------------------------------------------- ! reading basic information from load case file and allocate data structure containing load cases - fileContent = IO_readline(trim(interface_loadFile)) + fileContent = IO_readlines(trim(interface_loadFile)) do l = 1, size(fileContent) line = fileContent(l) if (IO_isBlank(line)) cycle ! skip empty lines From 07f23d3d1d28bb9a07b8f7843888a38e2664abf4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 11:21:43 +0200 Subject: [PATCH 586/958] no need for alias --- src/IO.f90 | 6 ------ src/marc/discretization_marc.f90 | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index f434539b0..3589ebba7 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -22,16 +22,10 @@ module IO '───────────────────'//& '────────────' - ! Obsolete alias - interface IO_read_ASCII - module procedure IO_readlines - end interface IO_read_ASCII - public :: & IO_init, & IO_read, & IO_readlines, & - IO_read_ASCII, & IO_open_binary, & IO_isBlank, & IO_getTag, & diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index 397e7514c..fab090b91 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -197,7 +197,7 @@ subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt) integer, dimension(:,:), allocatable :: & mapElemSet !< list of elements in elementSet - inputFile = IO_read_ASCII(trim(getSolverJobName())//trim(InputFileExtension)) + inputFile = IO_readlines(trim(getSolverJobName())//trim(InputFileExtension)) call inputRead_fileFormat(fileFormatVersion, & inputFile) call inputRead_tableStyles(initialcondTableStyle,hypoelasticTableStyle, & From 3c5b89ac78d8dfc6f15f3296c77251f9e3829cd0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 11:28:48 +0200 Subject: [PATCH 587/958] not needed anymore --- src/IO.f90 | 61 --------------------------------- src/grid/spectral_utilities.f90 | 6 ++-- 2 files changed, 4 insertions(+), 63 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index 3589ebba7..e79cee0a7 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -26,9 +26,7 @@ module IO IO_init, & IO_read, & IO_readlines, & - IO_open_binary, & IO_isBlank, & - IO_getTag, & IO_stringPos, & IO_stringValue, & IO_intValue, & @@ -139,39 +137,6 @@ function IO_read(fileName) result(fileContent) end function IO_read -!-------------------------------------------------------------------------------------------------- -!> @brief opens an existing file for reading or a new file for writing. -!> @details replaces an existing file when writing -!-------------------------------------------------------------------------------------------------- -integer function IO_open_binary(fileName,mode) - - character(len=*), intent(in) :: fileName - character, intent(in), optional :: mode - - character :: m - integer :: ierr - - if (present(mode)) then - m = mode - else - m = 'r' - endif - - if (m == 'w') then - open(newunit=IO_open_binary, file=trim(fileName),& - status='replace',access='stream',action='write',iostat=ierr) - if (ierr /= 0) call IO_error(100,ext_msg='could not open file (w): '//trim(fileName)) - elseif(m == 'r') then - open(newunit=IO_open_binary, file=trim(fileName),& - status='old', access='stream',action='read', iostat=ierr) - if (ierr /= 0) call IO_error(100,ext_msg='could not open file (r): '//trim(fileName)) - else - call IO_error(100,ext_msg='unknown access mode: '//m) - endif - -end function IO_open_binary - - !-------------------------------------------------------------------------------------------------- !> @brief identifies strings without content !-------------------------------------------------------------------------------------------------- @@ -187,32 +152,6 @@ logical pure function IO_isBlank(string) end function IO_isBlank -!-------------------------------------------------------------------------------------------------- -!> @brief get tagged content of string -!-------------------------------------------------------------------------------------------------- -pure function IO_getTag(string,openChar,closeChar) - - character(len=*), intent(in) :: string !< string to check for tag - character, intent(in) :: openChar, & !< indicates beginning of tag - closeChar !< indicates end of tag - character(len=:), allocatable :: IO_getTag - - integer :: left,right - - left = scan(string,openChar) - right = merge(scan(string,closeChar), & - left + merge(scan(string(left+1:),openChar),0,len(string) > left), & - openChar /= closeChar) - - foundTag: if (left == verify(string,IO_WHITESPACE) .and. right > left) then - IO_getTag = string(left+1:right-1) - else foundTag - IO_getTag = '' - endif foundTag - -end function IO_getTag - - !-------------------------------------------------------------------------------------------------- !> @brief locates all whitespace-separated chunks in given string and returns array containing !! number them and the left/right position to be used by IO_xxxVal diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 7253e9e4c..022d29d0a 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -1104,11 +1104,13 @@ end subroutine utilities_updateCoords subroutine utilities_saveReferenceStiffness integer :: & - fileUnit + fileUnit,ierr if (worldrank == 0) then write(6,'(a)') ' writing reference stiffness data required for restart to file'; flush(6) - fileUnit = IO_open_binary(trim(getSolverJobName())//'.C_ref','w') + open(newunit=fileUnit, file=getSolverJobName()//'.C_ref',& + status='replace',access='stream',action='write',iostat=ierr) + if(ierr /=0) call IO_error(100,ext_msg='could not open file '//getSolverJobName()//'.C_ref') write(fileUnit) C_ref close(fileUnit) endif From 16f8df34200eff36a0c0f5128ea29bf7dd40c932 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 11:32:36 +0200 Subject: [PATCH 588/958] standard "docstring" - start with capital - active form - end with full stop --- src/IO.f90 | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index e79cee0a7..23e2c7c1b 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -43,7 +43,7 @@ contains !-------------------------------------------------------------------------------------------------- -!> @brief do self test +!> @brief Do self test. !-------------------------------------------------------------------------------------------------- subroutine IO_init @@ -55,7 +55,7 @@ end subroutine IO_init !-------------------------------------------------------------------------------------------------- -!> @brief read ASCII file and split at EOL +!> @brief Read ASCII file and split at EOL. !-------------------------------------------------------------------------------------------------- function IO_readlines(fileName) result(fileContent) @@ -106,7 +106,7 @@ end function IO_readlines !-------------------------------------------------------------------------------------------------- -!> @brief read ASCII file into a string +!> @brief Read whole file. !> @details ensures that the string ends with a new line (expected UNIX behavior) !-------------------------------------------------------------------------------------------------- function IO_read(fileName) result(fileContent) @@ -138,7 +138,7 @@ end function IO_read !-------------------------------------------------------------------------------------------------- -!> @brief identifies strings without content +!> @brief Identifiy strings without content. !-------------------------------------------------------------------------------------------------- logical pure function IO_isBlank(string) @@ -153,8 +153,8 @@ end function IO_isBlank !-------------------------------------------------------------------------------------------------- -!> @brief locates all whitespace-separated chunks in given string and returns array containing -!! number them and the left/right position to be used by IO_xxxVal +!> @brief Locate all whitespace-separated chunks in given string and returns array containing +!! number them and the left/right position to be used by IO_xxxVal. !! Array size is dynamically adjusted to number of chunks found in string !! IMPORTANT: first element contains number of chunks! !-------------------------------------------------------------------------------------------------- @@ -184,7 +184,7 @@ end function IO_stringPos !-------------------------------------------------------------------------------------------------- -!> @brief reads string value at myChunk from string +!> @brief Read string value at myChunk from string. !-------------------------------------------------------------------------------------------------- function IO_stringValue(string,chunkPos,myChunk) @@ -204,7 +204,7 @@ end function IO_stringValue !-------------------------------------------------------------------------------------------------- -!> @brief reads integer value at myChunk from string +!> @brief Read integer value at myChunk from string. !-------------------------------------------------------------------------------------------------- integer function IO_intValue(string,chunkPos,myChunk) @@ -218,7 +218,7 @@ end function IO_intValue !-------------------------------------------------------------------------------------------------- -!> @brief reads float value at myChunk from string +!> @brief Read float value at myChunk from string. !-------------------------------------------------------------------------------------------------- real(pReal) function IO_floatValue(string,chunkPos,myChunk) @@ -232,7 +232,7 @@ end function IO_floatValue !-------------------------------------------------------------------------------------------------- -!> @brief changes characters in string to lower case +!> @brief Convert characters in string to lower case. !-------------------------------------------------------------------------------------------------- pure function IO_lc(string) @@ -257,7 +257,7 @@ end function IO_lc !-------------------------------------------------------------------------------------------------- -! @brief Remove comments (characters beyond '#') and trailing space +! @brief Remove comments (characters beyond '#') and trailing space. ! ToDo: Discuss name (the trim aspect is not clear) !-------------------------------------------------------------------------------------------------- function IO_rmComment(line) @@ -278,7 +278,7 @@ end function IO_rmComment !-------------------------------------------------------------------------------------------------- -!> @brief return verified integer value in given string +!> @brief Return integer value from given string. !-------------------------------------------------------------------------------------------------- integer function IO_stringAsInt(string) @@ -299,7 +299,7 @@ end function IO_stringAsInt !-------------------------------------------------------------------------------------------------- -!> @brief return verified float value in given string +!> @brief Return float value from given string. !-------------------------------------------------------------------------------------------------- real(pReal) function IO_stringAsFloat(string) @@ -320,7 +320,7 @@ end function IO_stringAsFloat !-------------------------------------------------------------------------------------------------- -!> @brief return verified logical value in given string +!> @brief Return logical value from given string. !-------------------------------------------------------------------------------------------------- logical function IO_stringAsBool(string) @@ -339,7 +339,7 @@ end function IO_stringAsBool !-------------------------------------------------------------------------------------------------- -!> @brief write error statements to standard out and terminate the Marc/spectral run with exit #9xxx +!> @brief Write error statements to standard out and terminate the run with exit #9xxx !-------------------------------------------------------------------------------------------------- subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) @@ -568,7 +568,7 @@ end subroutine IO_error !-------------------------------------------------------------------------------------------------- -!> @brief writes warning statement to standard out +!> @brief Write warning statement to standard out. !-------------------------------------------------------------------------------------------------- subroutine IO_warning(warning_ID,el,ip,g,ext_msg) @@ -650,7 +650,7 @@ end subroutine IO_warning !-------------------------------------------------------------------------------------------------- -!> @brief check correctness of some IO functions +!> @brief Check correctness of some IO functions. !-------------------------------------------------------------------------------------------------- subroutine selfTest From 5b83c8ad3ca20eef6b9fcd1cd82713a0f0e9cb12 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 12:09:32 +0200 Subject: [PATCH 589/958] use 'error stop' - does not require IO - prints stack trace --- src/HDF5_utilities.f90 | 4 +- src/IO.f90 | 50 ++++++++--------- src/YAML_parse.f90 | 120 +++++++++++++++++++++-------------------- src/YAML_types.f90 | 28 +++++----- src/base64.f90 | 52 +++++++++--------- src/lattice.f90 | 16 +++--- src/math.f90 | 62 ++++++++++----------- src/prec.f90 | 18 +++---- src/quaternions.f90 | 53 +++++++++--------- src/rotations.f90 | 54 +++++++++---------- 10 files changed, 225 insertions(+), 232 deletions(-) diff --git a/src/HDF5_utilities.f90 b/src/HDF5_utilities.f90 index d50ff6aa5..faeff03e3 100644 --- a/src/HDF5_utilities.f90 +++ b/src/HDF5_utilities.f90 @@ -98,12 +98,12 @@ subroutine HDF5_utilities_init call h5tget_size_f(H5T_NATIVE_INTEGER,typeSize, hdferr) if (hdferr < 0) call IO_error(1,ext_msg='HDF5_Utilities_init: h5tget_size_f (int)') if (int(bit_size(0),SIZE_T)/=typeSize*8) & - call IO_error(0,ext_msg='Default integer size does not match H5T_NATIVE_INTEGER') + error stop 'Default integer size does not match H5T_NATIVE_INTEGER' call h5tget_size_f(H5T_NATIVE_DOUBLE,typeSize, hdferr) if (hdferr < 0) call IO_error(1,ext_msg='HDF5_Utilities_init: h5tget_size_f (double)') if (int(storage_size(0.0_pReal),SIZE_T)/=typeSize*8) & - call IO_error(0,ext_msg='pReal does not match H5T_NATIVE_DOUBLE') + error stop 'pReal does not match H5T_NATIVE_DOUBLE' end subroutine HDF5_utilities_init diff --git a/src/IO.f90 b/src/IO.f90 index 23e2c7c1b..53781653e 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -657,49 +657,49 @@ subroutine selfTest integer, dimension(:), allocatable :: chunkPos character(len=:), allocatable :: str - if(dNeq(1.0_pReal, IO_stringAsFloat('1.0'))) call IO_error(0,ext_msg='IO_stringAsFloat') - if(dNeq(1.0_pReal, IO_stringAsFloat('1e0'))) call IO_error(0,ext_msg='IO_stringAsFloat') - if(dNeq(0.1_pReal, IO_stringAsFloat('1e-1'))) call IO_error(0,ext_msg='IO_stringAsFloat') + if(dNeq(1.0_pReal, IO_stringAsFloat('1.0'))) error stop 'IO_stringAsFloat' + if(dNeq(1.0_pReal, IO_stringAsFloat('1e0'))) error stop 'IO_stringAsFloat' + if(dNeq(0.1_pReal, IO_stringAsFloat('1e-1'))) error stop 'IO_stringAsFloat' - if(3112019 /= IO_stringAsInt( '3112019')) call IO_error(0,ext_msg='IO_stringAsInt') - if(3112019 /= IO_stringAsInt(' 3112019')) call IO_error(0,ext_msg='IO_stringAsInt') - if(-3112019 /= IO_stringAsInt('-3112019')) call IO_error(0,ext_msg='IO_stringAsInt') - if(3112019 /= IO_stringAsInt('+3112019 ')) call IO_error(0,ext_msg='IO_stringAsInt') + if(3112019 /= IO_stringAsInt( '3112019')) error stop 'IO_stringAsInt' + if(3112019 /= IO_stringAsInt(' 3112019')) error stop 'IO_stringAsInt' + if(-3112019 /= IO_stringAsInt('-3112019')) error stop 'IO_stringAsInt' + if(3112019 /= IO_stringAsInt('+3112019 ')) error stop 'IO_stringAsInt' - if(.not. IO_stringAsBool(' true')) call IO_error(0,ext_msg='IO_stringAsBool') - if(.not. IO_stringAsBool(' True ')) call IO_error(0,ext_msg='IO_stringAsBool') - if( IO_stringAsBool(' false')) call IO_error(0,ext_msg='IO_stringAsBool') - if( IO_stringAsBool('False')) call IO_error(0,ext_msg='IO_stringAsBool') + if(.not. IO_stringAsBool(' true')) error stop 'IO_stringAsBool' + if(.not. IO_stringAsBool(' True ')) error stop 'IO_stringAsBool' + if( IO_stringAsBool(' false')) error stop 'IO_stringAsBool' + if( IO_stringAsBool('False')) error stop 'IO_stringAsBool' - if(any([1,1,1] /= IO_stringPos('a'))) call IO_error(0,ext_msg='IO_stringPos') - if(any([2,2,3,5,5] /= IO_stringPos(' aa b'))) call IO_error(0,ext_msg='IO_stringPos') + if(any([1,1,1] /= IO_stringPos('a'))) error stop 'IO_stringPos' + if(any([2,2,3,5,5] /= IO_stringPos(' aa b'))) error stop 'IO_stringPos' str=' 1.0 xxx' chunkPos = IO_stringPos(str) - if(dNeq(1.0_pReal,IO_floatValue(str,chunkPos,1))) call IO_error(0,ext_msg='IO_floatValue') + if(dNeq(1.0_pReal,IO_floatValue(str,chunkPos,1))) error stop 'IO_floatValue' str='M 3112019 F' chunkPos = IO_stringPos(str) - if(3112019 /= IO_intValue(str,chunkPos,2)) call IO_error(0,ext_msg='IO_intValue') + if(3112019 /= IO_intValue(str,chunkPos,2)) error stop 'IO_intValue' - if(.not. IO_isBlank(' ')) call IO_error(0,ext_msg='IO_isBlank/1') - if(.not. IO_isBlank(' #isBlank')) call IO_error(0,ext_msg='IO_isBlank/2') - if( IO_isBlank(' i#s')) call IO_error(0,ext_msg='IO_isBlank/3') + if(.not. IO_isBlank(' ')) error stop 'IO_isBlank/1' + if(.not. IO_isBlank(' #isBlank')) error stop 'IO_isBlank/2' + if( IO_isBlank(' i#s')) error stop 'IO_isBlank/3' str = IO_rmComment('#') - if (str /= '' .or. len(str) /= 0) call IO_error(0,ext_msg='IO_rmComment/1') + if (str /= '' .or. len(str) /= 0) error stop 'IO_rmComment/1' str = IO_rmComment(' #') - if (str /= '' .or. len(str) /= 0) call IO_error(0,ext_msg='IO_rmComment/2') + if (str /= '' .or. len(str) /= 0) error stop 'IO_rmComment/2' str = IO_rmComment(' # ') - if (str /= '' .or. len(str) /= 0) call IO_error(0,ext_msg='IO_rmComment/3') + if (str /= '' .or. len(str) /= 0) error stop 'IO_rmComment/3' str = IO_rmComment(' # a') - if (str /= '' .or. len(str) /= 0) call IO_error(0,ext_msg='IO_rmComment/4') + if (str /= '' .or. len(str) /= 0) error stop 'IO_rmComment/4' str = IO_rmComment(' # a') - if (str /= '' .or. len(str) /= 0) call IO_error(0,ext_msg='IO_rmComment/5') + if (str /= '' .or. len(str) /= 0) error stop 'IO_rmComment/5' str = IO_rmComment(' a#') - if (str /= ' a' .or. len(str) /= 2) call IO_error(0,ext_msg='IO_rmComment/6') + if (str /= ' a' .or. len(str) /= 2) error stop 'IO_rmComment/6' str = IO_rmComment(' ab #') - if (str /= ' ab'.or. len(str) /= 3) call IO_error(0,ext_msg='IO_rmComment/7') + if (str /= ' ab'.or. len(str) /= 3) error stop 'IO_rmComment/7' end subroutine selfTest diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 88f49c060..85ec508ab 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -11,7 +11,7 @@ module YAML_parse implicit none private - + public :: & YAML_init, & parse_flow, & @@ -47,7 +47,7 @@ recursive function parse_flow(YAML_flow) result(node) e, & ! end position of dictionary or list s, & ! start position of dictionary or list d ! position of key: value separator (':') - + flow_string = trim(adjustl(YAML_flow(:))) if (len_trim(flow_string) == 0) then node => emptyDict @@ -57,12 +57,12 @@ recursive function parse_flow(YAML_flow) result(node) allocate(tDict::node) do while (e < len_trim(flow_string)) s = e - d = s + scan(flow_string(s+1:),':') - e = d + find_end(flow_string(d+1:),'}') + d = s + scan(flow_string(s+1:),':') + e = d + find_end(flow_string(d+1:),'}') key = trim(adjustl(flow_string(s+1:d-1))) myVal => parse_flow(flow_string(d+1:e-1)) ! parse items (recursively) - + select type (node) class is (tDict) call node%set(key,myVal) @@ -208,7 +208,7 @@ logical function isKey(line) if(len(IO_rmComment(line)) == 0) then isKey = .false. else - isKey = IO_rmComment(line(len(IO_rmComment(line)):len(IO_rmComment(line)))) == ':' & + isKey = IO_rmComment(line(len(IO_rmComment(line)):len(IO_rmComment(line)))) == ':' & .and. .not. isFlow(line) endif @@ -224,19 +224,19 @@ recursive subroutine line_isFlow(flow,s_flow,line) character(len=*), intent(inout) :: flow !< YAML in flow style only integer, intent(inout) :: s_flow !< start position in flow character(len=*), intent(in) :: line - + integer :: & s, & list_chunk, & dict_chunk - + if(index(adjustl(line),'[') == 1) then s = index(line,'[') flow(s_flow:s_flow) = '[' s_flow = s_flow +1 do while(s < len_trim(line)) list_chunk = s + find_end(line(s+1:),']') - if(iskeyValue(line(s+1:list_chunk-1))) then + if(iskeyValue(line(s+1:list_chunk-1))) then flow(s_flow:s_flow) = '{' s_flow = s_flow +1 call keyValue_toFlow(flow,s_flow,line(s+1:list_chunk-1)) @@ -252,10 +252,10 @@ recursive subroutine line_isFlow(flow,s_flow,line) s = s + find_end(line(s+1:),']') enddo s_flow = s_flow - 1 - if (flow(s_flow-1:s_flow-1) == ',') s_flow = s_flow - 1 + if (flow(s_flow-1:s_flow-1) == ',') s_flow = s_flow - 1 flow(s_flow:s_flow) = ']' s_flow = s_flow+1 - + elseif(index(adjustl(line),'{') == 1) then s = index(line,'{') flow(s_flow:s_flow) = '{' @@ -275,21 +275,21 @@ recursive subroutine line_isFlow(flow,s_flow,line) else call line_toFlow(flow,s_flow,line) endif - + end subroutine line_isFlow !------------------------------------------------------------------------------------------------- ! @brief reads a line of YAML block of type : and places it in the YAML flow style structure -! @details Makes sure that the is consistent with the input required in DAMASK YAML parser +! @details Makes sure that the is consistent with the input required in DAMASK YAML parser !------------------------------------------------------------------------------------------------- recursive subroutine keyValue_toFlow(flow,s_flow,line) - + character(len=*), intent(inout) :: flow !< YAML in flow style only integer, intent(inout) :: s_flow !< start position in flow character(len=*), intent(in) :: line - - character(len=:), allocatable :: line_asStandard ! standard form of : + + character(len=:), allocatable :: line_asStandard ! standard form of : integer :: & d_flow, & col_pos, & @@ -318,7 +318,7 @@ subroutine line_toFlow(flow,s_flow,line) character(len=*), intent(inout) :: flow !< YAML in flow style only integer, intent(inout) :: s_flow !< start position in flow character(len=*), intent(in) :: line - + integer :: & d_flow @@ -398,7 +398,7 @@ recursive subroutine lst(blck,flow,s_blck,s_flow,offset) if(isScalar(line) .or. isFlow(line)) then flow(s_flow:s_flow+1) = ', ' - s_flow = s_flow +2 + s_flow = s_flow + 2 endif end do @@ -441,7 +441,7 @@ recursive subroutine dct(blck,flow,s_blck,s_flow,offset) elseif(indentDepth(line,offset) < indent) then if(isScalar(line) .or. isFlow(line) .and. previous_isKey) & call IO_error(701,ext_msg=line) - offset = 0 + offset = 0 exit ! job done (lower level) elseif(indentDepth(line,offset) > indent .or. isListItem(line)) then offset = 0 @@ -455,20 +455,20 @@ recursive subroutine dct(blck,flow,s_blck,s_flow,offset) flow(s_flow-1:s_flow) = ', ' s_flow = s_flow + 1 endif - + if(isKeyValue(line)) then call keyValue_toFlow(flow,s_flow,line) else call line_toFlow(flow,s_flow,line) endif - + s_blck = e_blck +2 end if if(isScalar(line) .or. isKeyValue(line)) then flow(s_flow:s_flow) = ',' s_flow = s_flow + 1 - previous_isKey = .false. + previous_isKey = .false. else previous_isKey = .true. endif @@ -540,7 +540,7 @@ function to_flow(blck) s_flow, & !< start position in flow offset, & !< counts leading '- ' in nested lists end_line - if(isFlow(blck)) then + if(isFlow(blck)) then to_flow = trim(adjustl(blck)) else allocate(character(len=len(blck)*2)::to_flow) @@ -552,43 +552,45 @@ function to_flow(blck) to_flow = trim(to_flow(:s_flow-1)) endif end_line = index(to_flow,IO_EOL) - if(end_line > 0) to_flow = to_flow(:end_line-1) + if(end_line > 0) to_flow = to_flow(:end_line-1) end function to_flow !-------------------------------------------------------------------------------------------------- -subroutine selfTest() +!> @brief Check correctness of some YAML functions. +!-------------------------------------------------------------------------------------------------- +subroutine selfTest - if (indentDepth(' a') /= 1) call IO_error(0,ext_msg='indentDepth') - if (indentDepth('a') /= 0) call IO_error(0,ext_msg='indentDepth') - if (indentDepth('x ') /= 0) call IO_error(0,ext_msg='indentDepth') + if (indentDepth(' a') /= 1) error stop 'indentDepth' + if (indentDepth('a') /= 0) error stop 'indentDepth' + if (indentDepth('x ') /= 0) error stop 'indentDepth' - if ( isFlow(' a')) call IO_error(0,ext_msg='isFLow') - if (.not. isFlow('{')) call IO_error(0,ext_msg='isFlow') - if (.not. isFlow(' [')) call IO_error(0,ext_msg='isFlow') + if ( isFlow(' a')) error stop 'isFLow' + if (.not. isFlow('{')) error stop 'isFlow' + if (.not. isFlow(' [')) error stop 'isFlow' - if ( isListItem(' a')) call IO_error(0,ext_msg='isListItem') - if ( isListItem(' -b')) call IO_error(0,ext_msg='isListItem') - if (.not. isListItem('- a ')) call IO_error(0,ext_msg='isListItem') - if (.not. isListItem('- -a ')) call IO_error(0,ext_msg='isListItem') + if ( isListItem(' a')) error stop 'isListItem' + if ( isListItem(' -b')) error stop 'isListItem' + if (.not. isListItem('- a ')) error stop 'isListItem' + if (.not. isListItem('- -a ')) error stop 'isListItem' - if ( isKeyValue(' a')) call IO_error(0,ext_msg='isKeyValue') - if ( isKeyValue(' a: ')) call IO_error(0,ext_msg='isKeyValue') - if (.not. isKeyValue(' a: b')) call IO_error(0,ext_msg='isKeyValue') + if ( isKeyValue(' a')) error stop 'isKeyValue' + if ( isKeyValue(' a: ')) error stop 'isKeyValue' + if (.not. isKeyValue(' a: b')) error stop 'isKeyValue' - if ( isKey(' a')) call IO_error(0,ext_msg='isKey') - if ( isKey('{a:b}')) call IO_error(0,ext_msg='isKey') - if ( isKey(' a:b')) call IO_error(0,ext_msg='isKey') - if (.not. isKey(' a: ')) call IO_error(0,ext_msg='isKey') - if (.not. isKey(' a:')) call IO_error(0,ext_msg='isKey') - if (.not. isKey(' a: #')) call IO_error(0,ext_msg='isKey') + if ( isKey(' a')) error stop 'isKey' + if ( isKey('{a:b}')) error stop 'isKey' + if ( isKey(' a:b')) error stop 'isKey' + if (.not. isKey(' a: ')) error stop 'isKey' + if (.not. isKey(' a:')) error stop 'isKey' + if (.not. isKey(' a: #')) error stop 'isKey' - if( isScalar('a: ')) call IO_error(0,ext_msg='isScalar') - if( isScalar('a: b')) call IO_error(0,ext_msg='isScalar') - if( isScalar('{a:b}')) call IO_error(0,ext_msg='isScalar') - if( isScalar('- a:')) call IO_error(0,ext_msg='isScalar') - if(.not. isScalar(' a')) call IO_error(0,ext_msg='isScalar') + if( isScalar('a: ')) error stop 'isScalar' + if( isScalar('a: b')) error stop 'isScalar' + if( isScalar('{a:b}')) error stop 'isScalar' + if( isScalar('- a:')) error stop 'isScalar' + if(.not. isScalar(' a')) error stop 'isScalar' basic_list: block character(len=*), parameter :: block_list = & @@ -602,8 +604,8 @@ subroutine selfTest() character(len=*), parameter :: flow_list = & "[Casablanca, North by Northwest]" - if (.not. to_flow(block_list) == flow_list) call IO_error(0,ext_msg='to_flow') - if (.not. to_flow(block_list_newline) == flow_list) call IO_error(0,ext_msg='to_flow') + if (.not. to_flow(block_list) == flow_list) error stop 'to_flow' + if (.not. to_flow(block_list_newline) == flow_list) error stop 'to_flow' end block basic_list basic_dict: block @@ -618,10 +620,10 @@ subroutine selfTest() character(len=*), parameter :: flow_dict = & "{aa: Casablanca, bb: North by Northwest}" - if (.not. to_flow(block_dict) == flow_dict) call IO_error(0,ext_msg='to_flow') - if (.not. to_flow(block_dict_newline) == flow_dict) call IO_error(0,ext_msg='to_flow') + if (.not. to_flow(block_dict) == flow_dict) error stop 'to_flow' + if (.not. to_flow(block_dict_newline) == flow_dict) error stop 'to_flow' end block basic_dict - + basic_flow: block character(len=*), parameter :: flow_braces = & " source: [{param: 1}, {param: 2}, {param: 3}, {param: 4}]"//IO_EOL @@ -629,9 +631,9 @@ subroutine selfTest() " source: [param: 1, {param: 2}, param: 3, {param: 4}]"//IO_EOL character(len=*), parameter :: flow = & "{source: [{param: 1}, {param: 2}, {param: 3}, {param: 4}]}" - - if (.not. to_flow(flow_braces) == flow) call IO_error(0,ext_msg='to_flow') - if (.not. to_flow(flow_mixed_braces) == flow) call IO_error(0,ext_msg='to_flow') + + if (.not. to_flow(flow_braces) == flow) error stop 'to_flow' + if (.not. to_flow(flow_mixed_braces) == flow) error stop 'to_flow' end block basic_flow basic_mixed: block @@ -644,8 +646,8 @@ subroutine selfTest() " - {param_1: [{a: b}, c, {d: {e: [{f: g}, h]}}]}"//IO_EOL character(len=*), parameter :: mixed_flow = & "{aa: [{param_1: [{a: b}, c, {d: {e: [{f: g}, h]}}]}, {c: d}], bb: [{param_1: [{a: b}, c, {d: {e: [{f: g}, h]}}]}]}" - - if(.not. to_flow(block_flow) == mixed_flow) call IO_error(0,ext_msg='to_flow') + + if(.not. to_flow(block_flow) == mixed_flow) error stop 'to_flow' end block basic_mixed end subroutine selfTest diff --git a/src/YAML_types.f90 b/src/YAML_types.f90 index 9f82e622a..eb16ce260 100644 --- a/src/YAML_types.f90 +++ b/src/YAML_types.f90 @@ -207,11 +207,11 @@ subroutine selfTest select type(s1) class is(tScalar) s1 = '1' - if(s1%asInt() /= 1) call IO_error(0,ext_msg='tScalar_asInt') - if(dNeq(s1%asFloat(),1.0_pReal)) call IO_error(0,ext_msg='tScalar_asFloat') + if(s1%asInt() /= 1) error stop 'tScalar_asInt' + if(dNeq(s1%asFloat(),1.0_pReal)) error stop 'tScalar_asFloat' s1 = 'true' - if(.not. s1%asBool()) call IO_error(0,ext_msg='tScalar_asBool') - if(s1%asString() /= 'true') call IO_error(0,ext_msg='tScalar_asString') + if(.not. s1%asBool()) error stop 'tScalar_asBool' + if(s1%asString() /= 'true') error stop 'tScalar_asString' end select block @@ -232,18 +232,18 @@ subroutine selfTest call l1%append(s1) call l1%append(s2) n => l1 - if(any(l1%asInts() /= [2,3])) call IO_error(0,ext_msg='tList_asInts') - if(any(dNeq(l1%asFloats(),[2.0_pReal,3.0_pReal]))) call IO_error(0,ext_msg='tList_asFloats') - if(n%get_asInt(1) /= 2) call IO_error(0,ext_msg='byIndex_asInt') - if(dNeq(n%get_asFloat(2),3.0_pReal)) call IO_error(0,ext_msg='byIndex_asFloat') + if(any(l1%asInts() /= [2,3])) error stop 'tList_asInts' + if(any(dNeq(l1%asFloats(),[2.0_pReal,3.0_pReal]))) error stop 'tList_asFloats' + if(n%get_asInt(1) /= 2) error stop 'byIndex_asInt' + if(dNeq(n%get_asFloat(2),3.0_pReal)) error stop 'byIndex_asFloat' endselect allocate(tList::l2) select type(l2) class is(tList) call l2%append(l1) - if(any(l2%get_asInts(1) /= [2,3])) call IO_error(0,ext_msg='byIndex_asInts') - if(any(dNeq(l2%get_asFloats(1),[2.0_pReal,3.0_pReal]))) call IO_error(0,ext_msg='byIndex_asFloats') + if(any(l2%get_asInts(1) /= [2,3])) error stop 'byIndex_asInts' + if(any(dNeq(l2%get_asFloats(1),[2.0_pReal,3.0_pReal]))) error stop 'byIndex_asFloats' n => l2 end select deallocate(n) @@ -265,10 +265,10 @@ subroutine selfTest call l1%append(s2) n => l1 - if(any(l1%asBools() .neqv. [.true., .false.])) call IO_error(0,ext_msg='tList_asBools') - if(any(l1%asStrings() /= ['true ','False'])) call IO_error(0,ext_msg='tList_asStrings') - if(n%get_asBool(2)) call IO_error(0,ext_msg='byIndex_asBool') - if(n%get_asString(1) /= 'true') call IO_error(0,ext_msg='byIndex_asString') + if(any(l1%asBools() .neqv. [.true., .false.])) error stop 'tList_asBools' + if(any(l1%asStrings() /= ['true ','False'])) error stop 'tList_asStrings' + if(n%get_asBool(2)) error stop 'byIndex_asBool' + if(n%get_asString(1) /= 'true') error stop 'byIndex_asString' end block end subroutine selfTest diff --git a/src/base64.f90 b/src/base64.f90 index 3d7a51987..a9cd4eacf 100644 --- a/src/base64.f90 +++ b/src/base64.f90 @@ -167,59 +167,59 @@ subroutine selfTest character(len=*), parameter :: zero_to_three = 'AAECAw==' ! https://en.wikipedia.org/wiki/Base64#Output_padding - if(base64_nChar(20_pI64) /= 28_pI64) call IO_error(0,ext_msg='base64_nChar/20/28') - if(base64_nChar(19_pI64) /= 28_pI64) call IO_error(0,ext_msg='base64_nChar/19/28') - if(base64_nChar(18_pI64) /= 24_pI64) call IO_error(0,ext_msg='base64_nChar/18/24') - if(base64_nChar(17_pI64) /= 24_pI64) call IO_error(0,ext_msg='base64_nChar/17/24') - if(base64_nChar(16_pI64) /= 24_pI64) call IO_error(0,ext_msg='base64_nChar/16/24') + if(base64_nChar(20_pI64) /= 28_pI64) error stop 'base64_nChar/20/28' + if(base64_nChar(19_pI64) /= 28_pI64) error stop 'base64_nChar/19/28' + if(base64_nChar(18_pI64) /= 24_pI64) error stop 'base64_nChar/18/24' + if(base64_nChar(17_pI64) /= 24_pI64) error stop 'base64_nChar/17/24' + if(base64_nChar(16_pI64) /= 24_pI64) error stop 'base64_nChar/16/24' - if(base64_nByte(4_pI64) /= 3_pI64) call IO_error(0,ext_msg='base64_nByte/4/3') - if(base64_nByte(8_pI64) /= 6_pI64) call IO_error(0,ext_msg='base64_nByte/8/6') + if(base64_nByte(4_pI64) /= 3_pI64) error stop 'base64_nByte/4/3' + if(base64_nByte(8_pI64) /= 6_pI64) error stop 'base64_nByte/8/6' bytes = base64_to_bytes(zero_to_three) - if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes//') + if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) error stop 'base64_to_bytes//' bytes = base64_to_bytes(zero_to_three,e=1_pI64) - if(any(bytes /= int([0],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes//1') + if(any(bytes /= int([0],C_SIGNED_CHAR)) .or. size(bytes) /= 1) error stop 'base64_to_bytes//1' bytes = base64_to_bytes(zero_to_three,e=2_pI64) - if(any(bytes /= int([0,1],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes//2') + if(any(bytes /= int([0,1],C_SIGNED_CHAR)) .or. size(bytes) /= 2) error stop 'base64_to_bytes//2' bytes = base64_to_bytes(zero_to_three,e=3_pI64) - if(any(bytes /= int([0,1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 3) call IO_error(0,ext_msg='base64_to_bytes//3') + if(any(bytes /= int([0,1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 3) error stop 'base64_to_bytes//3' bytes = base64_to_bytes(zero_to_three,e=4_pI64) - if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes//4') + if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) error stop 'base64_to_bytes//4' bytes = base64_to_bytes(zero_to_three,s=1_pI64) - if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes/1/') + if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) error stop 'base64_to_bytes/1/' bytes = base64_to_bytes(zero_to_three,s=2_pI64) - if(any(bytes /= int([1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 3) call IO_error(0,ext_msg='base64_to_bytes/2/') + if(any(bytes /= int([1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 3) error stop 'base64_to_bytes/2/' bytes = base64_to_bytes(zero_to_three,s=3_pI64) - if(any(bytes /= int([2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/3/') + if(any(bytes /= int([2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 2) error stop 'base64_to_bytes/3/' bytes = base64_to_bytes(zero_to_three,s=4_pI64) - if(any(bytes /= int([3],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/4/') + if(any(bytes /= int([3],C_SIGNED_CHAR)) .or. size(bytes) /= 1) error stop 'base64_to_bytes/4/' bytes = base64_to_bytes(zero_to_three,s=1_pI64,e=1_pI64) - if(any(bytes /= int([0],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/1/1') + if(any(bytes /= int([0],C_SIGNED_CHAR)) .or. size(bytes) /= 1) error stop 'base64_to_bytes/1/1' bytes = base64_to_bytes(zero_to_three,s=2_pI64,e=2_pI64) - if(any(bytes /= int([1],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/2/2') + if(any(bytes /= int([1],C_SIGNED_CHAR)) .or. size(bytes) /= 1) error stop 'base64_to_bytes/2/2' bytes = base64_to_bytes(zero_to_three,s=3_pI64,e=3_pI64) - if(any(bytes /= int([2],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/3/3') + if(any(bytes /= int([2],C_SIGNED_CHAR)) .or. size(bytes) /= 1) error stop 'base64_to_bytes/3/3' bytes = base64_to_bytes(zero_to_three,s=4_pI64,e=4_pI64) - if(any(bytes /= int([3],C_SIGNED_CHAR)) .or. size(bytes) /= 1) call IO_error(0,ext_msg='base64_to_bytes/4/4') + if(any(bytes /= int([3],C_SIGNED_CHAR)) .or. size(bytes) /= 1) error stop 'base64_to_bytes/4/4' bytes = base64_to_bytes(zero_to_three,s=1_pI64,e=2_pI64) - if(any(bytes /= int([0,1],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/1/2') + if(any(bytes /= int([0,1],C_SIGNED_CHAR)) .or. size(bytes) /= 2) error stop 'base64_to_bytes/1/2' bytes = base64_to_bytes(zero_to_three,s=2_pI64,e=3_pI64) - if(any(bytes /= int([1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/2/3') + if(any(bytes /= int([1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 2) error stop 'base64_to_bytes/2/3' bytes = base64_to_bytes(zero_to_three,s=3_pI64,e=4_pI64) - if(any(bytes /= int([2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 2) call IO_error(0,ext_msg='base64_to_bytes/3/4') + if(any(bytes /= int([2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 2) error stop 'base64_to_bytes/3/4' bytes = base64_to_bytes(zero_to_three,s=1_pI64,e=3_pI64) - if(any(bytes /= int([0,1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 3) call IO_error(0,ext_msg='base64_to_bytes/1/3') + if(any(bytes /= int([0,1,2],C_SIGNED_CHAR)) .or. size(bytes) /= 3) error stop 'base64_to_bytes/1/3' bytes = base64_to_bytes(zero_to_three,s=2_pI64,e=4_pI64) - if(any(bytes /= int([1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 3) call IO_error(0,ext_msg='base64_to_bytes/2/4') + if(any(bytes /= int([1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 3) error stop 'base64_to_bytes/2/4' bytes = base64_to_bytes(zero_to_three,s=1_pI64,e=4_pI64) - if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) call IO_error(0,ext_msg='base64_to_bytes/1/4') + if(any(bytes /= int([0,1,2,3],C_SIGNED_CHAR)) .or. size(bytes) /= 4) error stop 'base64_to_bytes/1/4' end subroutine selfTest diff --git a/src/lattice.f90 b/src/lattice.f90 index 659025bb1..e046bc091 100644 --- a/src/lattice.f90 +++ b/src/lattice.f90 @@ -2299,7 +2299,7 @@ end function equivalent_mu !-------------------------------------------------------------------------------------------------- -!> @brief check correctness of some lattice functions +!> @brief Check correctness of some lattice functions. !-------------------------------------------------------------------------------------------------- subroutine selfTest @@ -2314,21 +2314,19 @@ subroutine selfTest system = reshape([1.0_pReal+r(1),0.0_pReal,0.0_pReal, 0.0_pReal,1.0_pReal+r(2),0.0_pReal],[6,1]) CoSy = buildCoordinateSystem([1],[1],system,'fcc',0.0_pReal) - if(any(dNeq(CoSy(1:3,1:3,1),math_I3))) & - call IO_error(0) + if(any(dNeq(CoSy(1:3,1:3,1),math_I3))) error stop 'buildCoordinateSystem' call random_number(C) C(1,1) = C(1,1) + 1.0_pReal C = applyLatticeSymmetryC66(C,'iso') - if(dNeq(C(6,6),equivalent_mu(C,'voigt'),1.0e-12_pReal)) & - call IO_error(0,ext_msg='equivalent_mu/voigt') - if(dNeq(C(6,6),equivalent_mu(C,'voigt'),1.0e-12_pReal)) & - call IO_error(0,ext_msg='equivalent_mu/reuss') + if(dNeq(C(6,6),equivalent_mu(C,'voigt'),1.0e-12_pReal)) error stop 'equivalent_mu/voigt' + if(dNeq(C(6,6),equivalent_mu(C,'voigt'),1.0e-12_pReal)) error stop 'equivalent_mu/reuss' + lambda = C(1,2) if(dNeq(lambda*0.5_pReal/(lambda+equivalent_mu(C,'voigt')),equivalent_nu(C,'voigt'),1.0e-12_pReal)) & - call IO_error(0,ext_msg='equivalent_nu/voigt') + error stop 'equivalent_nu/voigt' if(dNeq(lambda*0.5_pReal/(lambda+equivalent_mu(C,'reuss')),equivalent_nu(C,'reuss'),1.0e-12_pReal)) & - call IO_error(0,ext_msg='equivalent_nu/reuss') + error stop 'equivalent_nu/reuss' end subroutine selfTest diff --git a/src/math.f90 b/src/math.f90 index d41226ed2..5b0e2b987 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -1154,7 +1154,7 @@ end function math_clip !-------------------------------------------------------------------------------------------------- -!> @brief check correctness of some math functions +!> @brief Check correctness of some math functions. !-------------------------------------------------------------------------------------------------- subroutine selfTest @@ -1181,47 +1181,47 @@ subroutine selfTest if (any(abs([1.0_pReal,2.0_pReal,2.0_pReal,3.0_pReal,3.0_pReal,3.0_pReal] - & math_expand([1.0_pReal,2.0_pReal,3.0_pReal],[1,2,3,0])) > tol_math_check)) & - call IO_error(0,ext_msg='math_expand [1,2,3] by [1,2,3,0] => [1,2,2,3,3,3]') + error stop 'math_expand [1,2,3] by [1,2,3,0] => [1,2,2,3,3,3]' if (any(abs([1.0_pReal,2.0_pReal,2.0_pReal] - & math_expand([1.0_pReal,2.0_pReal,3.0_pReal],[1,2])) > tol_math_check)) & - call IO_error(0,ext_msg='math_expand [1,2,3] by [1,2] => [1,2,2]') + error stop 'math_expand [1,2,3] by [1,2] => [1,2,2]' if (any(abs([1.0_pReal,2.0_pReal,2.0_pReal,1.0_pReal,1.0_pReal,1.0_pReal] - & math_expand([1.0_pReal,2.0_pReal],[1,2,3])) > tol_math_check)) & - call IO_error(0,ext_msg='math_expand [1,2] by [1,2,3] => [1,2,2,1,1,1]') + error stop 'math_expand [1,2] by [1,2,3] => [1,2,2,1,1,1]' call math_sort(sort_in_,1,3,2) if(any(sort_in_ /= sort_out_)) & - call IO_error(0,ext_msg='math_sort') + error stop 'math_sort' if(any(math_range(5) /= range_out_)) & - call IO_error(0,ext_msg='math_range') + error stop 'math_range' - if(any(dNeq(math_exp33(math_I3,0),math_I3))) & - call IO_error(0,ext_msg='math_exp33(math_I3,1)') + if(any(dNeq(math_exp33(math_I3,0),math_I3))) & + error stop 'math_exp33(math_I3,1)' if(any(dNeq(math_exp33(math_I3,256),exp(1.0_pReal)*math_I3))) & - call IO_error(0,ext_msg='math_exp33(math_I3,256)') + error stop 'math_exp33(math_I3,256)' call random_number(v9) if(any(dNeq(math_33to9(math_9to33(v9)),v9))) & - call IO_error(0,ext_msg='math_33to9/math_9to33') + error stop 'math_33to9/math_9to33' call random_number(t99) if(any(dNeq(math_3333to99(math_99to3333(t99)),t99))) & - call IO_error(0,ext_msg='math_3333to99/math_99to3333') + error stop 'math_3333to99/math_99to3333' call random_number(v6) if(any(dNeq(math_sym33to6(math_6toSym33(v6)),v6))) & - call IO_error(0,ext_msg='math_sym33to6/math_6toSym33') + error stop 'math_sym33to6/math_6toSym33' call random_number(t66) if(any(dNeq(math_sym3333to66(math_66toSym3333(t66)),t66))) & - call IO_error(0,ext_msg='math_sym3333to66/math_66toSym3333') + error stop 'math_sym3333to66/math_66toSym3333' call random_number(v6) if(any(dNeq0(math_6toSym33(v6) - math_symmetric33(math_6toSym33(v6))))) & - call IO_error(0,ext_msg='math_symmetric33') + error stop 'math_symmetric33' call random_number(v3_1) call random_number(v3_2) @@ -1230,30 +1230,30 @@ subroutine selfTest if(dNeq(abs(dot_product(math_cross(v3_1-v3_4,v3_2-v3_4),v3_3-v3_4))/6.0, & math_volTetrahedron(v3_1,v3_2,v3_3,v3_4),tol=1.0e-12_pReal)) & - call IO_error(0,ext_msg='math_volTetrahedron') + error stop 'math_volTetrahedron' call random_number(t33) if(dNeq(math_det33(math_symmetric33(t33)),math_detSym33(math_symmetric33(t33)),tol=1.0e-12_pReal)) & - call IO_error(0,ext_msg='math_det33/math_detSym33') + error stop 'math_det33/math_detSym33' if(any(dNeq0(math_eye(3),math_inv33(math_I3)))) & - call IO_error(0,ext_msg='math_inv33(math_I3)') + error stop 'math_inv33(math_I3)' do while(abs(math_det33(t33))<1.0e-9_pReal) call random_number(t33) enddo if(any(dNeq0(matmul(t33,math_inv33(t33)) - math_eye(3),tol=1.0e-9_pReal))) & - call IO_error(0,ext_msg='math_inv33') + error stop 'math_inv33' call math_invert33(t33_2,det,e,t33) if(any(dNeq0(matmul(t33,t33_2) - math_eye(3),tol=1.0e-9_pReal)) .or. e) & - call IO_error(0,ext_msg='math_invert33: T:T^-1 != I') + error stop 'math_invert33: T:T^-1 != I' if(dNeq(det,math_det33(t33),tol=1.0e-12_pReal)) & - call IO_error(0,ext_msg='math_invert33 (determinant)') + error stop 'math_invert33 (determinant)' call math_invert(t33_2,e,t33) if(any(dNeq0(matmul(t33,t33_2) - math_eye(3),tol=1.0e-9_pReal)) .or. e) & - call IO_error(0,ext_msg='math_invert t33') + error stop 'math_invert t33' do while(math_det33(t33)<1.0e-2_pReal) ! O(det(F)) = 1 call random_number(t33) @@ -1261,7 +1261,7 @@ subroutine selfTest t33_2 = math_rotationalPart(transpose(t33)) t33 = math_rotationalPart(t33) if(any(dNeq0(matmul(t33_2,t33) - math_I3,tol=1.0e-10_pReal))) & - call IO_error(0,ext_msg='math_rotationalPart') + error stop 'math_rotationalPart' call random_number(r) d = int(r*5.0_pReal) + 1 @@ -1269,30 +1269,30 @@ subroutine selfTest allocate(txx_2(d,d)) call math_invert(txx_2,e,txx) if(any(dNeq0(txx_2,txx) .or. e)) & - call IO_error(0,ext_msg='math_invert(txx)/math_eye') + error stop 'math_invert(txx)/math_eye' call math_invert(t99_2,e,t99) ! not sure how likely it is that we get a singular matrix if(any(dNeq0(matmul(t99_2,t99)-math_eye(9),tol=1.0e-9_pReal)) .or. e) & - call IO_error(0,ext_msg='math_invert(t99)') + error stop 'math_invert(t99)' if(any(dNeq(math_clip([4.0_pReal,9.0_pReal],5.0_pReal,6.5_pReal),[5.0_pReal,6.5_pReal]))) & - call IO_error(0,ext_msg='math_clip') + error stop 'math_clip' if(math_factorial(10) /= 3628800) & - call IO_error(0,ext_msg='math_factorial') + error stop 'math_factorial' if(math_binomial(49,6) /= 13983816) & - call IO_error(0,ext_msg='math_binomial') + error stop 'math_binomial' ijk = cshift([1,2,3],int(r*1.0e2_pReal)) if(dNeq(math_LeviCivita(ijk(1),ijk(2),ijk(3)),+1.0_pReal)) & - call IO_error(0,ext_msg='math_LeviCivita(even)') + error stop 'math_LeviCivita(even)' ijk = cshift([3,2,1],int(r*2.0e2_pReal)) if(dNeq(math_LeviCivita(ijk(1),ijk(2),ijk(3)),-1.0_pReal)) & - call IO_error(0,ext_msg='math_LeviCivita(odd)') + error stop 'math_LeviCivita(odd)' ijk = cshift([2,2,1],int(r*2.0e2_pReal)) - if(dNeq0(math_LeviCivita(ijk(1),ijk(2),ijk(3))))& - call IO_error(0,ext_msg='math_LeviCivita') + if(dNeq0(math_LeviCivita(ijk(1),ijk(2),ijk(3)))) & + error stop 'math_LeviCivita' end subroutine selfTest diff --git a/src/prec.f90 b/src/prec.f90 index d3ec108fe..6ee3a7e79 100644 --- a/src/prec.f90 +++ b/src/prec.f90 @@ -297,31 +297,29 @@ subroutine selfTest real(pReal), dimension(1) :: f integer(pInt), dimension(1) :: i real(pReal), dimension(2) :: r - external :: & - quit realloc_lhs_test = [1,2] - if (any(realloc_lhs_test/=[1,2])) call quit(9000) + if (any(realloc_lhs_test/=[1,2])) error stop 'LHS allocation' call random_number(r) r = r/minval(r) - if(.not. all(dEq(r,r+PREAL_EPSILON))) call quit(9000) - if(dEq(r(1),r(2)) .and. dNeq(r(1),r(2))) call quit(9000) - if(.not. all(dEq0(r-(r+PREAL_MIN)))) call quit(9000) + if(.not. all(dEq(r,r+PREAL_EPSILON))) error stop 'dEq' + if(dEq(r(1),r(2)) .and. dNeq(r(1),r(2))) error stop 'dNeq' + if(.not. all(dEq0(r-(r+PREAL_MIN)))) error stop 'dEq0' ! https://www.binaryconvert.com ! https://www.rapidtables.com/convert/number/binary-to-decimal.html f = real(bytes_to_C_FLOAT(int([-65,+11,-102,+75],C_SIGNED_CHAR)),pReal) - if(dNeq(f(1),20191102.0_pReal,0.0_pReal)) call quit(9000) + if(dNeq(f(1),20191102.0_pReal,0.0_pReal)) error stop 'bytes_to_C_FLOAT' f = real(bytes_to_C_DOUBLE(int([0,0,0,-32,+119,+65,+115,65],C_SIGNED_CHAR)),pReal) - if(dNeq(f(1),20191102.0_pReal,0.0_pReal)) call quit(9000) + if(dNeq(f(1),20191102.0_pReal,0.0_pReal)) error stop 'bytes_to_C_DOUBLE' i = int(bytes_to_C_INT32_T(int([+126,+23,+52,+1],C_SIGNED_CHAR)),pInt) - if(i(1) /= 20191102_pInt) call quit(9000) + if(i(1) /= 20191102_pInt) error stop 'bytes_to_C_INT32_T' i = int(bytes_to_C_INT64_T(int([+126,+23,+52,+1,0,0,0,0],C_SIGNED_CHAR)),pInt) - if(i(1) /= 20191102_pInt) call quit(9000) + if(i(1) /= 20191102_pInt) error stop 'bytes_to_C_INT64_T' end subroutine selfTest diff --git a/src/quaternions.f90 b/src/quaternions.f90 index a396f7f67..b5478d634 100644 --- a/src/quaternions.f90 +++ b/src/quaternions.f90 @@ -7,7 +7,6 @@ !--------------------------------------------------------------------------------------------------- module quaternions use prec - use IO implicit none private @@ -464,67 +463,67 @@ subroutine selfTest real(pReal), dimension(4) :: qu type(quaternion) :: q, q_2 - if(dNeq(abs(P),1.0_pReal)) call IO_error(0,ext_msg='P not in {-1,+1}') + if(dNeq(abs(P),1.0_pReal)) error stop 'P not in {-1,+1}' call random_number(qu) qu = (qu-0.5_pReal) * 2.0_pReal q = quaternion(qu) q_2= qu - if(any(dNeq(q%asArray(),q_2%asArray()))) call IO_error(0,ext_msg='assign_vec__') + if(any(dNeq(q%asArray(),q_2%asArray()))) error stop 'assign_vec__' q_2 = q + q - if(any(dNeq(q_2%asArray(),2.0_pReal*qu))) call IO_error(0,ext_msg='add__') + if(any(dNeq(q_2%asArray(),2.0_pReal*qu))) error stop 'add__' q_2 = q - q - if(any(dNeq0(q_2%asArray()))) call IO_error(0,ext_msg='sub__') + if(any(dNeq0(q_2%asArray()))) error stop 'sub__' q_2 = q * 5.0_pReal - if(any(dNeq(q_2%asArray(),5.0_pReal*qu))) call IO_error(0,ext_msg='mul__') + if(any(dNeq(q_2%asArray(),5.0_pReal*qu))) error stop 'mul__' q_2 = q / 0.5_pReal - if(any(dNeq(q_2%asArray(),2.0_pReal*qu))) call IO_error(0,ext_msg='div__') + if(any(dNeq(q_2%asArray(),2.0_pReal*qu))) error stop 'div__' q_2 = q * 0.3_pReal - if(dNeq0(abs(q)) .and. q_2 == q) call IO_error(0,ext_msg='eq__') + if(dNeq0(abs(q)) .and. q_2 == q) error stop 'eq__' q_2 = q - if(q_2 /= q) call IO_error(0,ext_msg='neq__') + if(q_2 /= q) error stop 'neq__' - if(dNeq(abs(q),norm2(qu))) call IO_error(0,ext_msg='abs__') + if(dNeq(abs(q),norm2(qu))) error stop 'abs__' if(dNeq(abs(q)**2.0_pReal, real(q*q%conjg()),1.0e-14_pReal)) & - call IO_error(0,ext_msg='abs__/*conjg') + error stop 'abs__/*conjg' - if(any(dNeq(q%asArray(),qu))) call IO_error(0,ext_msg='eq__') - if(dNeq(q%real(), qu(1))) call IO_error(0,ext_msg='real()') - if(any(dNeq(q%aimag(), qu(2:4)))) call IO_error(0,ext_msg='aimag()') + if(any(dNeq(q%asArray(),qu))) error stop 'eq__' + if(dNeq(q%real(), qu(1))) error stop 'real()' + if(any(dNeq(q%aimag(), qu(2:4)))) error stop 'aimag()' q_2 = q%homomorphed() - if(q /= q_2* (-1.0_pReal)) call IO_error(0,ext_msg='homomorphed') - if(dNeq(q_2%real(), qu(1)* (-1.0_pReal))) call IO_error(0,ext_msg='homomorphed/real') - if(any(dNeq(q_2%aimag(),qu(2:4)*(-1.0_pReal)))) call IO_error(0,ext_msg='homomorphed/aimag') + if(q /= q_2* (-1.0_pReal)) error stop 'homomorphed' + if(dNeq(q_2%real(), qu(1)* (-1.0_pReal))) error stop 'homomorphed/real' + if(any(dNeq(q_2%aimag(),qu(2:4)*(-1.0_pReal)))) error stop 'homomorphed/aimag' q_2 = conjg(q) - if(dNeq(abs(q),abs(q_2))) call IO_error(0,ext_msg='conjg/abs') - if(q /= conjg(q_2)) call IO_error(0,ext_msg='conjg/involution') - if(dNeq(q_2%real(), q%real())) call IO_error(0,ext_msg='conjg/real') - if(any(dNeq(q_2%aimag(),q%aimag()*(-1.0_pReal)))) call IO_error(0,ext_msg='conjg/aimag') + if(dNeq(abs(q),abs(q_2))) error stop 'conjg/abs' + if(q /= conjg(q_2)) error stop 'conjg/involution' + if(dNeq(q_2%real(), q%real())) error stop 'conjg/real' + if(any(dNeq(q_2%aimag(),q%aimag()*(-1.0_pReal)))) error stop 'conjg/aimag' if(abs(q) > 0.0_pReal) then q_2 = q * q%inverse() - if( dNeq(real(q_2), 1.0_pReal,1.0e-15_pReal)) call IO_error(0,ext_msg='inverse/real') - if(any(dNeq0(aimag(q_2), 1.0e-15_pReal))) call IO_error(0,ext_msg='inverse/aimag') + if( dNeq(real(q_2), 1.0_pReal,1.0e-15_pReal)) error stop 'inverse/real' + if(any(dNeq0(aimag(q_2), 1.0e-15_pReal))) error stop 'inverse/aimag' q_2 = q/abs(q) q_2 = conjg(q_2) - inverse(q_2) - if(any(dNeq0(q_2%asArray(),1.0e-15_pReal))) call IO_error(0,ext_msg='inverse/conjg') + if(any(dNeq0(q_2%asArray(),1.0e-15_pReal))) error stop 'inverse/conjg' endif - if(dNeq(dot_product(qu,qu),dot_product(q,q))) call IO_error(0,ext_msg='dot_product') + if(dNeq(dot_product(qu,qu),dot_product(q,q))) error stop 'dot_product' #if !(defined(__GFORTRAN__) && __GNUC__ < 9) if (norm2(aimag(q)) > 0.0_pReal) then - if (dNeq0(abs(q-exp(log(q))),1.0e-13_pReal)) call IO_error(0,ext_msg='exp/log') - if (dNeq0(abs(q-log(exp(q))),1.0e-13_pReal)) call IO_error(0,ext_msg='log/exp') + if (dNeq0(abs(q-exp(log(q))),1.0e-13_pReal)) error stop 'exp/log' + if (dNeq0(abs(q-log(exp(q))),1.0e-13_pReal)) error stop 'log/exp' endif #endif diff --git a/src/rotations.f90 b/src/rotations.f90 index ee1cf6b96..baa8cff38 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -1371,14 +1371,11 @@ subroutine selfTest real(pReal), dimension(3) :: x, eu, ho, v3 real(pReal), dimension(3,3) :: om, t33 real(pReal), dimension(3,3,3,3) :: t3333 - character(len=pStringLen) :: msg real :: A,B integer :: i do i=1,10 - msg = '' - #if defined(__GFORTRAN__) && __GNUC__<9 if(i<7) cycle #endif @@ -1405,55 +1402,54 @@ subroutine selfTest sin(2.0_pReal*PI*x(1))*A] if(qu(1)<0.0_pReal) qu = qu * (-1.0_pReal) endif - if(.not. quaternion_equal(om2qu(qu2om(qu)),qu)) msg = trim(msg)//'om2qu/qu2om,' - if(.not. quaternion_equal(eu2qu(qu2eu(qu)),qu)) msg = trim(msg)//'eu2qu/qu2eu,' - if(.not. quaternion_equal(ax2qu(qu2ax(qu)),qu)) msg = trim(msg)//'ax2qu/qu2ax,' - if(.not. quaternion_equal(ro2qu(qu2ro(qu)),qu)) msg = trim(msg)//'ro2qu/qu2ro,' - if(.not. quaternion_equal(ho2qu(qu2ho(qu)),qu)) msg = trim(msg)//'ho2qu/qu2ho,' - if(.not. quaternion_equal(cu2qu(qu2cu(qu)),qu)) msg = trim(msg)//'cu2qu/qu2cu,' + if(.not. quaternion_equal(om2qu(qu2om(qu)),qu)) error stop 'om2qu/qu2om' + if(.not. quaternion_equal(eu2qu(qu2eu(qu)),qu)) error stop 'eu2qu/qu2eu' + if(.not. quaternion_equal(ax2qu(qu2ax(qu)),qu)) error stop 'ax2qu/qu2ax' + if(.not. quaternion_equal(ro2qu(qu2ro(qu)),qu)) error stop 'ro2qu/qu2ro' + if(.not. quaternion_equal(ho2qu(qu2ho(qu)),qu)) error stop 'ho2qu/qu2ho' + if(.not. quaternion_equal(cu2qu(qu2cu(qu)),qu)) error stop 'cu2qu/qu2cu' om = qu2om(qu) - if(.not. quaternion_equal(om2qu(eu2om(om2eu(om))),qu)) msg = trim(msg)//'eu2om/om2eu,' - if(.not. quaternion_equal(om2qu(ax2om(om2ax(om))),qu)) msg = trim(msg)//'ax2om/om2ax,' - if(.not. quaternion_equal(om2qu(ro2om(om2ro(om))),qu)) msg = trim(msg)//'ro2om/om2ro,' - if(.not. quaternion_equal(om2qu(ho2om(om2ho(om))),qu)) msg = trim(msg)//'ho2om/om2ho,' - if(.not. quaternion_equal(om2qu(cu2om(om2cu(om))),qu)) msg = trim(msg)//'cu2om/om2cu,' + if(.not. quaternion_equal(om2qu(eu2om(om2eu(om))),qu)) error stop 'eu2om/om2eu' + if(.not. quaternion_equal(om2qu(ax2om(om2ax(om))),qu)) error stop 'ax2om/om2ax' + if(.not. quaternion_equal(om2qu(ro2om(om2ro(om))),qu)) error stop 'ro2om/om2ro' + if(.not. quaternion_equal(om2qu(ho2om(om2ho(om))),qu)) error stop 'ho2om/om2ho' + if(.not. quaternion_equal(om2qu(cu2om(om2cu(om))),qu)) error stop 'cu2om/om2cu' eu = qu2eu(qu) - if(.not. quaternion_equal(eu2qu(ax2eu(eu2ax(eu))),qu)) msg = trim(msg)//'ax2eu/eu2ax,' - if(.not. quaternion_equal(eu2qu(ro2eu(eu2ro(eu))),qu)) msg = trim(msg)//'ro2eu/eu2ro,' - if(.not. quaternion_equal(eu2qu(ho2eu(eu2ho(eu))),qu)) msg = trim(msg)//'ho2eu/eu2ho,' - if(.not. quaternion_equal(eu2qu(cu2eu(eu2cu(eu))),qu)) msg = trim(msg)//'cu2eu/eu2cu,' + if(.not. quaternion_equal(eu2qu(ax2eu(eu2ax(eu))),qu)) error stop 'ax2eu/eu2ax' + if(.not. quaternion_equal(eu2qu(ro2eu(eu2ro(eu))),qu)) error stop 'ro2eu/eu2ro' + if(.not. quaternion_equal(eu2qu(ho2eu(eu2ho(eu))),qu)) error stop 'ho2eu/eu2ho' + if(.not. quaternion_equal(eu2qu(cu2eu(eu2cu(eu))),qu)) error stop 'cu2eu/eu2cu' ax = qu2ax(qu) - if(.not. quaternion_equal(ax2qu(ro2ax(ax2ro(ax))),qu)) msg = trim(msg)//'ro2ax/ax2ro,' - if(.not. quaternion_equal(ax2qu(ho2ax(ax2ho(ax))),qu)) msg = trim(msg)//'ho2ax/ax2ho,' - if(.not. quaternion_equal(ax2qu(cu2ax(ax2cu(ax))),qu)) msg = trim(msg)//'cu2ax/ax2cu,' + if(.not. quaternion_equal(ax2qu(ro2ax(ax2ro(ax))),qu)) error stop 'ro2ax/ax2ro' + if(.not. quaternion_equal(ax2qu(ho2ax(ax2ho(ax))),qu)) error stop 'ho2ax/ax2ho' + if(.not. quaternion_equal(ax2qu(cu2ax(ax2cu(ax))),qu)) error stop 'cu2ax/ax2cu' ro = qu2ro(qu) - if(.not. quaternion_equal(ro2qu(ho2ro(ro2ho(ro))),qu)) msg = trim(msg)//'ho2ro/ro2ho,' - if(.not. quaternion_equal(ro2qu(cu2ro(ro2cu(ro))),qu)) msg = trim(msg)//'cu2ro/ro2cu,' + if(.not. quaternion_equal(ro2qu(ho2ro(ro2ho(ro))),qu)) error stop 'ho2ro/ro2ho' + if(.not. quaternion_equal(ro2qu(cu2ro(ro2cu(ro))),qu)) error stop 'cu2ro/ro2cu' ho = qu2ho(qu) - if(.not. quaternion_equal(ho2qu(cu2ho(ho2cu(ho))),qu)) msg = trim(msg)//'cu2ho/ho2cu,' + if(.not. quaternion_equal(ho2qu(cu2ho(ho2cu(ho))),qu)) error stop 'cu2ho/ho2cu' call R%fromMatrix(om) call random_number(v3) if(all(dNeq(R%rotVector(R%rotVector(v3),active=.true.),v3,1.0e-12_pReal))) & - msg = trim(msg)//'rotVector,' + error stop 'rotVector' call random_number(t33) if(all(dNeq(R%rotTensor2(R%rotTensor2(t33),active=.true.),t33,1.0e-12_pReal))) & - msg = trim(msg)//'rotTensor2,' + error stop 'rotTensor2' call random_number(t3333) if(all(dNeq(R%rotTensor4(R%rotTensor4(t3333),active=.true.),t3333,1.0e-12_pReal))) & - msg = trim(msg)//'rotTensor4,' - - if(len_trim(msg) /= 0) call IO_error(0,ext_msg=msg) + error stop 'rotTensor4' enddo + contains function quaternion_equal(qu1,qu2) result(ok) From e6dd118a1d6b7e77d3b8314a3ae140b37f7dfb0a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 12:11:26 +0200 Subject: [PATCH 590/958] not needed anymore --- src/list.f90 | 453 --------------------------------------------------- 1 file changed, 453 deletions(-) delete mode 100644 src/list.f90 diff --git a/src/list.f90 b/src/list.f90 deleted file mode 100644 index 901bb4d7c..000000000 --- a/src/list.f90 +++ /dev/null @@ -1,453 +0,0 @@ -!------------------------------------------------------------------------------------------------- -!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH -!> @brief Linked list -!-------------------------------------------------------------------------------------------------- -module list - use prec - use IO - - implicit none - private - type, private :: tPartitionedString - character(len=:), allocatable :: val - integer, dimension(:), allocatable :: pos - end type tPartitionedString - - type, public :: tPartitionedStringList - type(tPartitionedString) :: string - type(tPartitionedStringList), pointer :: next => null() - contains - procedure :: add => add - procedure :: show => show - procedure :: free => free - - ! currently, a finalize is needed for all shapes of tPartitionedStringList. - ! with Fortran 2015, we can define one recursive elemental function - ! https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/543326 - final :: finalize, & - finalizeArray - - procedure :: keyExists => keyExists - procedure :: countKeys => countKeys - - procedure :: getFloat => getFloat - procedure :: getInt => getInt - procedure :: getString => getString - - procedure :: getFloats => getFloats - procedure :: getInts => getInts - procedure :: getStrings => getStrings - - end type tPartitionedStringList - -contains - -!-------------------------------------------------------------------------------------------------- -!> @brief add element -!> @details Adds a string together with the start/end position of chunks in this string. The new -!! element is added at the end of the list. Empty strings are not added. All strings are converted -!! to lower case. The data is not stored in the new element but in the current. -!-------------------------------------------------------------------------------------------------- -subroutine add(this,string) - - class(tPartitionedStringList), target, intent(in) :: this - character(len=*), intent(in) :: string - type(tPartitionedStringList), pointer :: new, temp - - if (IO_isBlank(string)) return - - allocate(new) - temp => this - do while (associated(temp%next)) - temp => temp%next - enddo - temp%string%val = IO_lc (trim(string)) - temp%string%pos = IO_stringPos(trim(string)) - temp%next => new - -end subroutine add - - -!-------------------------------------------------------------------------------------------------- -!> @brief prints all elements -!> @details Strings are printed in order of insertion (FIFO) -!-------------------------------------------------------------------------------------------------- -subroutine show(this) - - class(tPartitionedStringList), target, intent(in) :: this - type(tPartitionedStringList), pointer :: item - - item => this - do while (associated(item%next)) - write(6,'(a)') ' '//trim(item%string%val) - item => item%next - enddo - -end subroutine show - - -!-------------------------------------------------------------------------------------------------- -!> @brief empties list and frees associated memory -!> @details explicit interface to reset list. Triggers final statement (and following chain reaction) -!-------------------------------------------------------------------------------------------------- -subroutine free(this) - - class(tPartitionedStringList), intent(inout) :: this - - if(associated(this%next)) deallocate(this%next) - -end subroutine free - - -!-------------------------------------------------------------------------------------------------- -!> @brief empties list and frees associated memory -!> @details called when variable goes out of scope. Triggers chain reaction for list -!-------------------------------------------------------------------------------------------------- -recursive subroutine finalize(this) - - type(tPartitionedStringList), intent(inout) :: this - - if(associated(this%next)) deallocate(this%next) - -end subroutine finalize - - -!-------------------------------------------------------------------------------------------------- -!> @brief cleans entire array of linke lists -!> @details called when variable goes out of scope and deallocates the list at each array entry -!-------------------------------------------------------------------------------------------------- -subroutine finalizeArray(this) - - integer :: i - type(tPartitionedStringList), intent(inout), dimension(:) :: this - type(tPartitionedStringList), pointer :: temp ! bug in Gfortran? - - do i=1, size(this) - if (associated(this(i)%next)) then - temp => this(i)%next - !deallocate(this(i)) !internal compiler error: in gfc_build_final_call, at fortran/trans.c:975 - deallocate(temp) - endif - enddo - -end subroutine finalizeArray - - -!-------------------------------------------------------------------------------------------------- -!> @brief reports wether a given key (string value at first position) exists in the list -!-------------------------------------------------------------------------------------------------- -logical function keyExists(this,key) - - class(tPartitionedStringList), target, intent(in) :: this - character(len=*), intent(in) :: key - type(tPartitionedStringList), pointer :: item - - keyExists = .false. - - item => this - do while (associated(item%next) .and. .not. keyExists) - keyExists = trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key) - item => item%next - enddo - -end function keyExists - - -!-------------------------------------------------------------------------------------------------- -!> @brief count number of key appearances -!> @details traverses list and counts each occurrence of specified key -!-------------------------------------------------------------------------------------------------- -integer function countKeys(this,key) - - class(tPartitionedStringList), target, intent(in) :: this - character(len=*), intent(in) :: key - type(tPartitionedStringList), pointer :: item - - countKeys = 0 - - item => this - do while (associated(item%next)) - if (trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key)) & - countKeys = countKeys + 1 - item => item%next - enddo - -end function countKeys - - -!-------------------------------------------------------------------------------------------------- -!> @brief gets float value of for a given key from a linked list -!> @details gets the last value if the key occurs more than once. If key is not found exits with -!! error unless default is given -!-------------------------------------------------------------------------------------------------- -real(pReal) function getFloat(this,key,defaultVal) - - class(tPartitionedStringList), target, intent(in) :: this - character(len=*), intent(in) :: key - real(pReal), intent(in), optional :: defaultVal - type(tPartitionedStringList), pointer :: item - logical :: found - - getFloat = huge(1.0) ! suppress warning about unitialized value - found = present(defaultVal) - if (found) getFloat = defaultVal - - item => this - do while (associated(item%next)) - if (trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key)) then - found = .true. - if (item%string%pos(1) < 2) call IO_error(143,ext_msg=key) - getFloat = IO_FloatValue(item%string%val,item%string%pos,2) - endif - item => item%next - enddo - - if (.not. found) call IO_error(140,ext_msg=key) - -end function getFloat - - -!-------------------------------------------------------------------------------------------------- -!> @brief gets integer value of for a given key from a linked list -!> @details gets the last value if the key occurs more than once. If key is not found exits with -!! error unless default is given -!-------------------------------------------------------------------------------------------------- -integer function getInt(this,key,defaultVal) - - class(tPartitionedStringList), target, intent(in) :: this - character(len=*), intent(in) :: key - integer, intent(in), optional :: defaultVal - type(tPartitionedStringList), pointer :: item - logical :: found - - getInt = huge(1) ! suppress warning about unitialized value - found = present(defaultVal) - if (found) getInt = defaultVal - - item => this - do while (associated(item%next)) - if (trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key)) then - found = .true. - if (item%string%pos(1) < 2) call IO_error(143,ext_msg=key) - getInt = IO_IntValue(item%string%val,item%string%pos,2) - endif - item => item%next - enddo - - if (.not. found) call IO_error(140,ext_msg=key) - -end function getInt - - -!-------------------------------------------------------------------------------------------------- -!> @brief gets string value of for a given key from a linked list -!> @details gets the last value if the key occurs more than once. If key is not found exits with -!! error unless default is given. If raw is true, the the complete string is returned, otherwise -!! the individual chunks are returned -!-------------------------------------------------------------------------------------------------- -character(len=pStringLen) function getString(this,key,defaultVal,raw) - - class(tPartitionedStringList), target, intent(in) :: this - character(len=*), intent(in) :: key - character(len=*), intent(in), optional :: defaultVal - logical, intent(in), optional :: raw - type(tPartitionedStringList), pointer :: item - logical :: found, & - whole - if (present(raw)) then - whole = raw - else - whole = .false. - endif - - found = present(defaultVal) - if (found) then - if (len_trim(defaultVal) > len(getString)) call IO_error(0,ext_msg='getString') - getString = trim(defaultVal) - endif - - item => this - do while (associated(item%next)) - if (trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key)) then - found = .true. - if (item%string%pos(1) < 2) call IO_error(143,ext_msg=key) - - if (whole) then - getString = trim(item%string%val(item%string%pos(4):)) ! raw string starting a second chunk - else - getString = IO_StringValue(item%string%val,item%string%pos,2) - endif - endif - item => item%next - enddo - - if (.not. found) call IO_error(140,ext_msg=key) - -end function getString - - -!-------------------------------------------------------------------------------------------------- -!> @brief gets array of float values of for a given key from a linked list -!> @details for cumulative keys, "()", values from all occurrences are return. Otherwise only all -!! values from the last occurrence. If key is not found exits with error unless default is given. -!-------------------------------------------------------------------------------------------------- -function getFloats(this,key,defaultVal,requiredSize) - - real(pReal), dimension(:), allocatable :: getFloats - class(tPartitionedStringList), target, intent(in) :: this - character(len=*), intent(in) :: key - real(pReal), dimension(:), intent(in), optional :: defaultVal - integer, intent(in), optional :: requiredSize - type(tPartitionedStringList), pointer :: item - integer :: i - logical :: found, & - cumulative - - cumulative = (key(1:1) == '(' .and. key(len_trim(key):len_trim(key)) == ')') - found = .false. - - allocate(getFloats(0)) - - item => this - do while (associated(item%next)) - if (trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key)) then - found = .true. - if (.not. cumulative) getFloats = [real(pReal)::] - if (item%string%pos(1) < 2) call IO_error(143,ext_msg=key) - do i = 2, item%string%pos(1) - getFloats = [getFloats,IO_FloatValue(item%string%val,item%string%pos,i)] - enddo - endif - item => item%next - enddo - - if (.not. found) then - if (present(defaultVal)) then; getFloats = defaultVal; else; call IO_error(140,ext_msg=key); endif - endif - if (present(requiredSize)) then - if(requiredSize /= size(getFloats)) call IO_error(146,ext_msg=key) - endif - -end function getFloats - - -!-------------------------------------------------------------------------------------------------- -!> @brief gets array of integer values of for a given key from a linked list -!> @details for cumulative keys, "()", values from all occurrences are return. Otherwise only all -!! values from the last occurrence. If key is not found exits with error unless default is given. -!-------------------------------------------------------------------------------------------------- -function getInts(this,key,defaultVal,requiredSize) - - integer, dimension(:), allocatable :: getInts - class(tPartitionedStringList), target, intent(in) :: this - character(len=*), intent(in) :: key - integer, dimension(:), intent(in), optional :: defaultVal - integer, intent(in), optional :: requiredSize - type(tPartitionedStringList), pointer :: item - integer :: i - logical :: found, & - cumulative - - cumulative = (key(1:1) == '(' .and. key(len_trim(key):len_trim(key)) == ')') - found = .false. - - allocate(getInts(0)) - - item => this - do while (associated(item%next)) - if (trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key)) then - found = .true. - if (.not. cumulative) getInts = [integer::] - if (item%string%pos(1) < 2) call IO_error(143,ext_msg=key) - do i = 2, item%string%pos(1) - getInts = [getInts,IO_IntValue(item%string%val,item%string%pos,i)] - enddo - endif - item => item%next - enddo - - if (.not. found) then - if (present(defaultVal)) then; getInts = defaultVal; else; call IO_error(140,ext_msg=key); endif - endif - if (present(requiredSize)) then - if(requiredSize /= size(getInts)) call IO_error(146,ext_msg=key) - endif - -end function getInts - - -!-------------------------------------------------------------------------------------------------- -!> @brief gets array of string values of for a given key from a linked list -!> @details for cumulative keys, "()", values from all occurrences are return. Otherwise only all -!! values from the last occurrence. If key is not found exits with error unless default is given. -!! If raw is true, the the complete string is returned, otherwise the individual chunks are returned -!-------------------------------------------------------------------------------------------------- -function getStrings(this,key,defaultVal,raw) - - character(len=pStringLen),dimension(:), allocatable :: getStrings - class(tPartitionedStringList),target, intent(in) :: this - character(len=*), intent(in) :: key - character(len=*), dimension(:), intent(in), optional :: defaultVal - logical, intent(in), optional :: raw - type(tPartitionedStringList), pointer :: item - character(len=pStringLen) :: str - integer :: i - logical :: found, & - whole, & - cumulative - - cumulative = (key(1:1) == '(' .and. key(len_trim(key):len_trim(key)) == ')') - if (present(raw)) then - whole = raw - else - whole = .false. - endif - found = .false. - - item => this - do while (associated(item%next)) - if (trim(IO_stringValue(item%string%val,item%string%pos,1)) == trim(key)) then - found = .true. - if (allocated(getStrings) .and. .not. cumulative) deallocate(getStrings) - if (item%string%pos(1) < 2) call IO_error(143,ext_msg=key) - - notAllocated: if (.not. allocated(getStrings)) then - if (whole) then - str = item%string%val(item%string%pos(4):) - getStrings = [str] - else - str = IO_StringValue(item%string%val,item%string%pos,2) - allocate(getStrings(1),source=str) - do i=3,item%string%pos(1) - str = IO_StringValue(item%string%val,item%string%pos,i) - getStrings = [getStrings,str] - enddo - endif - else notAllocated - if (whole) then - str = item%string%val(item%string%pos(4):) - getStrings = [getStrings,str] - else - do i=2,item%string%pos(1) - str = IO_StringValue(item%string%val,item%string%pos,i) - getStrings = [getStrings,str] - enddo - endif - endif notAllocated - endif - item => item%next - enddo - - if (.not. found) then - if (present(defaultVal)) then - if (len(defaultVal) > len(getStrings)) call IO_error(0,ext_msg='getStrings') - getStrings = defaultVal - else - call IO_error(140,ext_msg=key) - endif - endif - -end function getStrings - - -end module list From 0f0dfb4c048a1fd62d806a2177b87219ac2dba44 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 12:13:59 +0200 Subject: [PATCH 591/958] 0-base counting for MPI --- src/parallelization.f90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/parallelization.f90 b/src/parallelization.f90 index fb0fb9f30..36861ae22 100644 --- a/src/parallelization.f90 +++ b/src/parallelization.f90 @@ -54,7 +54,7 @@ subroutine parallelization_init call MPI_Comm_rank(PETSC_COMM_WORLD,worldrank,err) if (err /= 0) error stop 'Could not determine worldrank' - if (worldrank == 1) write(6,'(/,a)') ' <<<+- parallelization init -+>>>'; flush(6) + if (worldrank == 0) write(6,'(/,a)') ' <<<+- parallelization init -+>>>'; flush(6) call MPI_Comm_size(PETSC_COMM_WORLD,worldsize,err) if (err /= 0) error stop 'Could not determine worldsize' @@ -88,7 +88,7 @@ subroutine parallelization_init !$ DAMASK_NUM_THREADS = 1_pI32 !$ endif !$ endif -!$ write(6,'(a,i8,/)') ' DAMASK_NUM_THREADS: ',DAMASK_NUM_THREADS +!$ write(6,'(a,i8)') ' DAMASK_NUM_THREADS: ',DAMASK_NUM_THREADS !$ call omp_set_num_threads(DAMASK_NUM_THREADS) end subroutine parallelization_init From 316c5f7d20910b51e945d563cd94c9f907eb04bc Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 12:20:44 +0200 Subject: [PATCH 592/958] internal errors (do not depend on user input) --- src/grid/spectral_utilities.f90 | 5 ++--- src/lattice.f90 | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 022d29d0a..387923f83 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -272,7 +272,6 @@ subroutine spectral_utilities_init scaledGeomSize = geomSize endif - select case(IO_lc(num%FFTW_plan_mode)) ! setting parameters for the plan creation of FFTW. Basically a translation from fftw3.f case('fftw_estimate') ! ordered from slow execution (but fast plan creation) to fast execution FFTW_planner_flag = FFTW_ESTIMATE @@ -289,8 +288,8 @@ subroutine spectral_utilities_init !-------------------------------------------------------------------------------------------------- ! general initialization of FFTW (see manual on fftw.org for more details) - if (pReal /= C_DOUBLE .or. kind(1) /= C_INT) call IO_error(0,ext_msg='Fortran to C') ! check for correct precision in C - call fftw_set_timelimit(num%FFTW_timelimit) ! set timelimit for plan creation + if (pReal /= C_DOUBLE .or. kind(1) /= C_INT) error stop 'C and Fortran datatypes do not match' + call fftw_set_timelimit(num%FFTW_timelimit) if (debugGeneral) write(6,'(/,a)') ' FFTW initialized'; flush(6) diff --git a/src/lattice.f90 b/src/lattice.f90 index e046bc091..8b8e0f686 100644 --- a/src/lattice.f90 +++ b/src/lattice.f90 @@ -738,7 +738,7 @@ function lattice_nonSchmidMatrix(Nslip,nonSchmidCoefficients,sense) result(nonSc type(rotation) :: R integer :: i - if (abs(sense) /= 1) call IO_error(0,ext_msg='lattice_nonSchmidMatrix') + if (abs(sense) /= 1) error stop 'Sense in lattice_nonSchmidMatrix' coordinateSystem = buildCoordinateSystem(Nslip,BCC_NSLIPSYSTEM,BCC_SYSTEMSLIP,& 'bcc',0.0_pReal) From c14241a8e975dcd9e5cfea321660b7c2f9447ca4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 12:31:01 +0200 Subject: [PATCH 593/958] no need to store variables that are used only during init --- src/crystallite.f90 | 6 +----- src/grid/spectral_utilities.f90 | 22 +++++++--------------- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index daa86d114..02e46df7e 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -82,8 +82,6 @@ module crystallite iJacoLpresiduum, & !< frequency of Jacobian update of residuum in Lp nState, & !< state loop limit nStress !< stress loop limit - character(len=:), allocatable :: & - integrator !< integration scheme real(pReal) :: & subStepMinCryst, & !< minimum (relative) size of sub-step allowed during cutback subStepSizeCryst, & !< size of first substep when cutback @@ -200,7 +198,6 @@ subroutine crystallite_init num%rtol_crystalliteStress = num_crystallite%get_asFloat ('rtol_Stress', defaultVal=1.0e-6_pReal) num%atol_crystalliteStress = num_crystallite%get_asFloat ('atol_Stress', defaultVal=1.0e-8_pReal) num%iJacoLpresiduum = num_crystallite%get_asInt ('iJacoLpresiduum', defaultVal=1) - num%integrator = num_crystallite%get_asString('integrator', defaultVal='FPI') num%nState = num_crystallite%get_asInt ('nState', defaultVal=20) num%nStress = num_crystallite%get_asInt ('nStress', defaultVal=40) @@ -220,8 +217,7 @@ subroutine crystallite_init if(num%nState < 1) call IO_error(301,ext_msg='nState') if(num%nStress< 1) call IO_error(301,ext_msg='nStress') - - select case(num%integrator) + select case(num_crystallite%get_asString('integrator',defaultVal='FPI')) case('FPI') integrateState => integrateStateFPI case('Euler') diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 387923f83..0e5aabc85 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -109,15 +109,10 @@ module spectral_utilities end type tSolutionParams type, private :: tNumerics - real(pReal) :: & - FFTW_timelimit !< timelimit for FFTW plan creation, see www.fftw.org integer :: & divergence_correction !< scale divergence/curl calculation: [0: no correction, 1: size scaled to 1, 2: size scaled to Npoints] logical :: & memory_efficient !< calculate gamma operator on the fly - character(len=:), allocatable :: & - spectral_derivative, & !< approximation used for derivatives in Fourier space - FFTW_plan_mode !< FFTW plan mode, see www.fftw.org end type tNumerics type(tNumerics), private :: num ! numerics parameters. Better name? @@ -234,16 +229,13 @@ subroutine spectral_utilities_init write(6,'(/,a,3(i12 ))') ' grid a b c: ', grid write(6,'(a,3(es12.5))') ' size x y z: ', geomSize - num%memory_efficient = num_grid%get_asInt ('memory_efficient', defaultVal=1) > 0 - num%FFTW_timelimit = num_grid%get_asFloat ('fftw_timelimit', defaultVal=-1.0_pReal) - num%divergence_correction = num_grid%get_asInt ('divergence_correction', defaultVal=2) - num%spectral_derivative = num_grid%get_asString('derivative', defaultVal='continuous') - num%FFTW_plan_mode = num_grid%get_asString('fftw_plan_mode', defaultVal='FFTW_MEASURE') + num%memory_efficient = num_grid%get_asInt('memory_efficient', defaultVal=1) > 0 ! ToDo: should be logical in YAML file + num%divergence_correction = num_grid%get_asInt('divergence_correction', defaultVal=2) if (num%divergence_correction < 0 .or. num%divergence_correction > 2) & call IO_error(301,ext_msg='divergence_correction') - select case (num%spectral_derivative) + select case (num_grid%get_asString('derivative',defaultVal='continuous')) case ('continuous') spectral_derivative_ID = DERIVATIVE_CONTINUOUS_ID case ('central_difference') @@ -251,7 +243,7 @@ subroutine spectral_utilities_init case ('FWBW_difference') spectral_derivative_ID = DERIVATIVE_FWBW_DIFF_ID case default - call IO_error(892,ext_msg=trim(num%spectral_derivative)) + call IO_error(892,ext_msg=trim(num_grid%get_asString('derivative'))) end select !-------------------------------------------------------------------------------------------------- @@ -272,7 +264,7 @@ subroutine spectral_utilities_init scaledGeomSize = geomSize endif - select case(IO_lc(num%FFTW_plan_mode)) ! setting parameters for the plan creation of FFTW. Basically a translation from fftw3.f + select case(IO_lc(num_grid%get_asString('fftw_plan_mode',defaultVal='FFTW_MEASURE'))) case('fftw_estimate') ! ordered from slow execution (but fast plan creation) to fast execution FFTW_planner_flag = FFTW_ESTIMATE case('fftw_measure') @@ -282,14 +274,14 @@ subroutine spectral_utilities_init case('fftw_exhaustive') FFTW_planner_flag = FFTW_EXHAUSTIVE case default - call IO_warning(warning_ID=47,ext_msg=trim(IO_lc(num%FFTW_plan_mode))) + call IO_warning(warning_ID=47,ext_msg=trim(IO_lc(num_grid%get_asString('fftw_plan_mode')))) FFTW_planner_flag = FFTW_MEASURE end select !-------------------------------------------------------------------------------------------------- ! general initialization of FFTW (see manual on fftw.org for more details) if (pReal /= C_DOUBLE .or. kind(1) /= C_INT) error stop 'C and Fortran datatypes do not match' - call fftw_set_timelimit(num%FFTW_timelimit) + call fftw_set_timelimit(num_grid%get_asFloat('fftw_timelimit',defaultVal=-1.0_pReal)) if (debugGeneral) write(6,'(/,a)') ' FFTW initialized'; flush(6) From 22544d6978c5bade0f5ea9b52afc773561f57dbf Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 12:43:49 +0200 Subject: [PATCH 594/958] systematic naming --- src/CPFEM.f90 | 2 +- src/CPFEM2.f90 | 2 +- src/YAML_parse.f90 | 26 +++++++++++++++++++------- src/YAML_types.f90 | 4 ++-- src/config.f90 | 6 +++--- 5 files changed, 26 insertions(+), 14 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 2e8817015..6c820b248 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -82,7 +82,7 @@ subroutine CPFEM_initAll call math_init call rotations_init call YAML_types_init - call YAML_init + call YAML_parse_init call HDF5_utilities_init call results_init(.false.) call discretization_marc_init diff --git a/src/CPFEM2.f90 b/src/CPFEM2.f90 index 645fcf59d..ab70acbe8 100644 --- a/src/CPFEM2.f90 +++ b/src/CPFEM2.f90 @@ -52,7 +52,7 @@ subroutine CPFEM_initAll call math_init call rotations_init call YAML_types_init - call YAML_init + call YAML_parse_init call lattice_init call HDF5_utilities_init call results_init(restart=interface_restartInc>0) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 85ec508ab..d655bc2dc 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -13,25 +13,37 @@ module YAML_parse private public :: & - YAML_init, & - parse_flow, & - to_flow + YAML_parse_init, & + YAML_parse_file contains !-------------------------------------------------------------------------------------------------- -!> @brief do sanity checks +!> @brief Do sanity checks. !-------------------------------------------------------------------------------------------------- -subroutine YAML_init +subroutine YAML_parse_init call selfTest -end subroutine YAML_init +end subroutine YAML_parse_init + + +!-------------------------------------------------------------------------------------------------- +!> @brief Parse a YAML file into a a structure of nodes. +!-------------------------------------------------------------------------------------------------- +function YAML_parse_file(fname) result(node) + + character(len=*), intent(in) :: fname + class (tNode), pointer :: node + + node => parse_flow(to_flow(IO_read(fname))) + +end function YAML_parse_file !-------------------------------------------------------------------------------------------------- !> @brief reads the flow style string and stores it in the form of dictionaries, lists and scalars. -!> @details A node type pointer can either point to a dictionary, list or scalar type entities. +!> @details A node type pointer can either point to a dictionary, list or scalar type entities. !-------------------------------------------------------------------------------------------------- recursive function parse_flow(YAML_flow) result(node) diff --git a/src/YAML_types.f90 b/src/YAML_types.f90 index eb16ce260..1752474ad 100644 --- a/src/YAML_types.f90 +++ b/src/YAML_types.f90 @@ -185,7 +185,7 @@ module YAML_types contains !-------------------------------------------------------------------------------------------------- -!> @brief do sanity checks +!> @brief Do sanity checks. !-------------------------------------------------------------------------------------------------- subroutine YAML_types_init @@ -197,7 +197,7 @@ end subroutine YAML_types_init !-------------------------------------------------------------------------------------------------- -!> @brief check correctness of some type bound procedures +!> @brief Check correctness of some type bound procedures. !-------------------------------------------------------------------------------------------------- subroutine selfTest diff --git a/src/config.f90 b/src/config.f90 index fab5721c5..11f23ef77 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -60,7 +60,7 @@ subroutine parse_material if(.not. fileExists) call IO_error(100,ext_msg=fname) endif write(6,*) 'reading '//fname; flush(6) - config_material => parse_flow(to_flow(IO_read(fname))) + config_material => YAML_parse_file(fname) end subroutine parse_material @@ -77,7 +77,7 @@ subroutine parse_numerics inquire(file='numerics.yaml', exist=fexist) if (fexist) then write(6,*) 'reading numerics.yaml'; flush(6) - config_numerics => parse_flow(to_flow(IO_read('numerics.yaml'))) + config_numerics => YAML_parse_file('numerics.yaml') endif end subroutine parse_numerics @@ -94,7 +94,7 @@ subroutine parse_debug inquire(file='debug.yaml', exist=fexist) fileExists: if (fexist) then write(6,*) 'reading debug.yaml'; flush(6) - config_debug => parse_flow(to_flow(IO_read('debug.yaml'))) + config_debug => YAML_parse_file('debug.yaml') endif fileExists end subroutine parse_debug From 7d929122afd7ae1c2fe4902588d4451aa71b7bbe Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 12:45:35 +0200 Subject: [PATCH 595/958] forgotten renames --- src/marc/discretization_marc.f90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index fab090b91..b2f5f8905 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -74,12 +74,12 @@ subroutine discretization_marc_init !--------------------------------------------------------------------------------- ! read debug parameters - debug_e = debug_root%get_asInt('element',defaultVal=1) - debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + debug_e = config_debug%get_asInt('element',defaultVal=1) + debug_i = config_debug%get_asInt('integrationpoint',defaultVal=1) !-------------------------------------------------------------------------------- ! read numerics parameter and do sanity check - num_commercialFEM => numerics_root%get('commercialFEM',defaultVal = emptyDict) + num_commercialFEM => config_numerics%get('commercialFEM',defaultVal = emptyDict) mesh_unitlength = num_commercialFEM%get_asFloat('unitlength',defaultVal=1.0_pReal) ! set physical extent of a length unit in mesh if (mesh_unitlength <= 0.0_pReal) call IO_error(301,ext_msg='unitlength') From b497ec4371798ae617e39ed3af819ede847509fe Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 13:01:38 +0200 Subject: [PATCH 596/958] use print instead of write https://www.scivision.dev/print-vs-write-fortran/ --- src/DAMASK_interface.f90 | 16 ++-- src/config.f90 | 6 +- src/element.f90 | 154 ++++++++++++++++---------------- src/homogenization_mech_RGC.f90 | 28 +++--- src/parallelization.f90 | 10 +-- 5 files changed, 107 insertions(+), 107 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index 4dec06c0f..a28bfb025 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -87,20 +87,20 @@ subroutine DAMASK_interface_init ! http://patorjk.com/software/taag/#p=display&f=Lean&t=DAMASK%203 #ifdef DEBUG - write(6,*) achar(27)//'[31m' + print*, achar(27)//'[31m' write(6,'(a,/)') ' debug version - debug version - debug version - debug version - debug version' #else - write(6,*) achar(27)//'[94m' + print*, achar(27)//'[94m' #endif - write(6,*) ' _/_/_/ _/_/ _/ _/ _/_/ _/_/_/ _/ _/ _/_/_/' - write(6,*) ' _/ _/ _/ _/ _/_/ _/_/ _/ _/ _/ _/ _/ _/' - write(6,*) ' _/ _/ _/_/_/_/ _/ _/ _/ _/_/_/_/ _/_/ _/_/ _/_/' - write(6,*) ' _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/' - write(6,*) ' _/_/_/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/_/_/' + print*, ' _/_/_/ _/_/ _/ _/ _/_/ _/_/_/ _/ _/ _/_/_/' + print*, ' _/ _/ _/ _/ _/_/ _/_/ _/ _/ _/ _/ _/ _/' + print*, ' _/ _/ _/_/_/_/ _/ _/ _/ _/_/_/_/ _/_/ _/_/ _/_/' + print*, ' _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/' + print*, ' _/_/_/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/_/_/' #ifdef DEBUG write(6,'(/,a)') ' debug version - debug version - debug version - debug version - debug version' #endif - write(6,*) achar(27)//'[0m' + print*, achar(27)//'[0m' write(6,'(a)') ' Roters et al., Computational Materials Science 158:420–478, 2019' write(6,'(a)') ' https://doi.org/10.1016/j.commatsci.2018.04.030' diff --git a/src/config.f90 b/src/config.f90 index 11f23ef77..c3378c242 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -59,7 +59,7 @@ subroutine parse_material inquire(file=fname,exist=fileExists) if(.not. fileExists) call IO_error(100,ext_msg=fname) endif - write(6,*) 'reading '//fname; flush(6) + print*, 'reading '//fname; flush(6) config_material => YAML_parse_file(fname) end subroutine parse_material @@ -76,7 +76,7 @@ subroutine parse_numerics config_numerics => emptyDict inquire(file='numerics.yaml', exist=fexist) if (fexist) then - write(6,*) 'reading numerics.yaml'; flush(6) + print*, 'reading numerics.yaml'; flush(6) config_numerics => YAML_parse_file('numerics.yaml') endif @@ -93,7 +93,7 @@ subroutine parse_debug config_debug => emptyDict inquire(file='debug.yaml', exist=fexist) fileExists: if (fexist) then - write(6,*) 'reading debug.yaml'; flush(6) + print*, 'reading debug.yaml'; flush(6) config_debug => YAML_parse_file('debug.yaml') endif fileExists diff --git a/src/element.f90 b/src/element.f90 index b474d2e37..836c8b2b1 100644 --- a/src/element.f90 +++ b/src/element.f90 @@ -4,9 +4,9 @@ !-------------------------------------------------------------------------------------------------- module element use IO - + implicit none - private + private !--------------------------------------------------------------------------------------------------- !> Properties of a single element @@ -39,7 +39,7 @@ module element integer, parameter :: & NELEMTYPE = 13 - + integer, dimension(NELEMTYPE), parameter :: NNODE = & [ & 3, & ! 2D, 1 IP @@ -57,7 +57,7 @@ module element 20, & ! 3D, 8 IP 20 & ! 3D, 27 IP ] !< number of nodes that constitute a specific type of element - + integer, dimension(NELEMTYPE), parameter :: GEOMTYPE = & [ & 1, & ! 1 triangle @@ -75,7 +75,7 @@ module element 9, & ! 8 hexahedrons 10 & ! 27 hexahedrons ] !< geometry type (same number of cell nodes and IPs) - + integer, dimension(maxval(GEOMTYPE)), parameter :: NCELLNODE = & [ & 3, & @@ -89,21 +89,21 @@ module element 27, & 64 & ] !< number of cell nodes - + integer, dimension(maxval(GEOMTYPE)), parameter :: NIP = & [ & - 1, & - 3, & - 4, & - 9, & - 1, & - 4, & - 6, & - 1, & - 8, & - 27 & + 1, & + 3, & + 4, & + 9, & + 1, & + 4, & + 6, & + 1, & + 8, & + 27 & ] !< number of IPs - + integer, dimension(maxval(GEOMTYPE)), parameter :: CELLTYPE = & [ & 1, & ! 2D, 3 node (Triangle) @@ -147,7 +147,7 @@ module element ! It is sorted in (local) +x,-x, +y,-y, +z,-z direction. ! Positive integers denote an intra-element IP identifier. ! Negative integers denote the interface behind which the neighboring (extra-element) IP will be located. - + integer, dimension(NIPNEIGHBOR(CELLTYPE(1)),NIP(1)), parameter :: IPNEIGHBOR1 = & reshape([& -2,-3,-1 & @@ -156,7 +156,7 @@ module element #else ],[NIPNEIGHBOR(CELLTYPE(1)),NIP(1)]) #endif - + integer, dimension(NIPNEIGHBOR(CELLTYPE(2)),NIP(2)), parameter :: IPNEIGHBOR2 = & reshape([& 2,-3, 3,-1, & @@ -167,7 +167,7 @@ module element #else ],[NIPNEIGHBOR(CELLTYPE(2)),NIP(2)]) #endif - + integer, dimension(NIPNEIGHBOR(CELLTYPE(3)),NIP(3)), parameter :: IPNEIGHBOR3 = & reshape([& 2,-4, 3,-1, & @@ -179,7 +179,7 @@ module element #else ],[NIPNEIGHBOR(CELLTYPE(3)),NIP(3)]) #endif - + integer, dimension(NIPNEIGHBOR(CELLTYPE(4)),NIP(4)), parameter :: IPNEIGHBOR4 = & reshape([& 2,-4, 4,-1, & @@ -196,7 +196,7 @@ module element #else ],[NIPNEIGHBOR(CELLTYPE(4)),NIP(4)]) #endif - + integer, dimension(NIPNEIGHBOR(CELLTYPE(5)),NIP(5)), parameter :: IPNEIGHBOR5 = & reshape([& -1,-2,-3,-4 & @@ -205,7 +205,7 @@ module element #else ],[NIPNEIGHBOR(CELLTYPE(5)),NIP(5)]) #endif - + integer, dimension(NIPNEIGHBOR(CELLTYPE(6)),NIP(6)), parameter :: IPNEIGHBOR6 = & reshape([& 2,-4, 3,-2, 4,-1, & @@ -217,7 +217,7 @@ module element #else ],[NIPNEIGHBOR(CELLTYPE(6)),NIP(6)]) #endif - + integer, dimension(NIPNEIGHBOR(CELLTYPE(7)),NIP(7)), parameter :: IPNEIGHBOR7 = & reshape([& 2,-4, 3,-2, 4,-1, & @@ -231,7 +231,7 @@ module element #else ],[NIPNEIGHBOR(CELLTYPE(7)),NIP(7)]) #endif - + integer, dimension(NIPNEIGHBOR(CELLTYPE(8)),NIP(8)), parameter :: IPNEIGHBOR8 = & reshape([& -3,-5,-4,-2,-6,-1 & @@ -240,7 +240,7 @@ module element #else ],[NIPNEIGHBOR(CELLTYPE(8)),NIP(8)]) #endif - + integer, dimension(NIPNEIGHBOR(CELLTYPE(9)),NIP(9)), parameter :: IPNEIGHBOR9 = & reshape([& 2,-5, 3,-2, 5,-1, & @@ -256,7 +256,7 @@ module element #else ],[NIPNEIGHBOR(CELLTYPE(9)),NIP(9)]) #endif - + integer, dimension(NIPNEIGHBOR(CELLTYPE(10)),NIP(10)), parameter :: IPNEIGHBOR10 = & reshape([& 2,-5, 4,-2,10,-1, & @@ -292,7 +292,7 @@ module element ],[NIPNEIGHBOR(CELLTYPE(10)),NIP(10)]) #endif - + integer, dimension(NNODE(1),NCELLNODE(GEOMTYPE(1))), parameter :: CELLNODEPARENTNODEWEIGHTS1 = & reshape([& 1, 0, 0, & @@ -303,7 +303,7 @@ module element #else ],[NNODE(1),NCELLNODE(GEOMTYPE(1))]) #endif - + integer, dimension(NNODE(2),NCELLNODE(GEOMTYPE(2))), parameter :: CELLNODEPARENTNODEWEIGHTS2 = & reshape([& 1, 0, 0, 0, 0, 0, & @@ -318,7 +318,7 @@ module element #else ],[NNODE(2),NCELLNODE(GEOMTYPE(2))]) #endif - + integer, dimension(NNODE(3),NCELLNODE(GEOMTYPE(3))), parameter :: CELLNODEPARENTNODEWEIGHTS3 = & reshape([& 1, 0, 0, 0, & @@ -335,7 +335,7 @@ module element #else ],[NNODE(3),NCELLNODE(GEOMTYPE(3))]) #endif - + integer, dimension(NNODE(4),NCELLNODE(GEOMTYPE(4))), parameter :: CELLNODEPARENTNODEWEIGHTS4 = & reshape([& 1, 0, 0, 0, 0, 0, 0, 0, & @@ -359,7 +359,7 @@ module element #else ],[NNODE(4),NCELLNODE(GEOMTYPE(4))]) #endif - + integer, dimension(NNODE(5),NCELLNODE(GEOMTYPE(5))), parameter :: CELLNODEPARENTNODEWEIGHTS5 = & reshape([& 1, 0, 0, 0, 0, 0, 0, 0, & @@ -376,7 +376,7 @@ module element #else ],[NNODE(5),NCELLNODE(GEOMTYPE(5))]) #endif - + integer, dimension(NNODE(6),NcellNode(GEOMTYPE(6))), parameter :: CELLNODEPARENTNODEWEIGHTS6 = & reshape([& 1, 0, 0, 0, & @@ -388,7 +388,7 @@ module element #else ],[NNODE(6),NcellNode(GEOMTYPE(6))]) #endif - + integer, dimension(NNODE(7),NCELLNODE(GEOMTYPE(7))), parameter :: CELLNODEPARENTNODEWEIGHTS7 = & reshape([& 1, 0, 0, 0, 0, & @@ -411,7 +411,7 @@ module element #else ],[NNODE(7),NCELLNODE(GEOMTYPE(7))]) #endif - + integer, dimension(NNODE(8),NCELLNODE(GEOMTYPE(8))), parameter :: CELLNODEPARENTNODEWEIGHTS8 = & reshape([& 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, & @@ -434,7 +434,7 @@ module element #else ],[NNODE(8),NCELLNODE(GEOMTYPE(8))]) #endif - + integer, dimension(NNODE(9),NCELLNODE(GEOMTYPE(9))), parameter :: CELLNODEPARENTNODEWEIGHTS9 = & reshape([& 1, 0, 0, 0, 0, 0, & @@ -463,7 +463,7 @@ module element #else ],[NNODE(9),NCELLNODE(GEOMTYPE(9))]) #endif - + integer, dimension(NNODE(10),NCELLNODE(GEOMTYPE(10))), parameter :: CELLNODEPARENTNODEWEIGHTS10 = & reshape([& 1, 0, 0, 0, 0, 0, 0, 0, & @@ -479,7 +479,7 @@ module element #else ],[NNODE(10),NCELLNODE(GEOMTYPE(10))]) #endif - + integer, dimension(NNODE(11),NCELLNODE(GEOMTYPE(11))), parameter :: CELLNODEPARENTNODEWEIGHTS11 = & reshape([& 1, 0, 0, 0, 0, 0, 0, 0, & ! @@ -514,7 +514,7 @@ module element #else ],[NNODE(11),NCELLNODE(GEOMTYPE(11))]) #endif - + integer, dimension(NNODE(12),NCELLNODE(GEOMTYPE(12))), parameter :: CELLNODEPARENTNODEWEIGHTS12 = & reshape([& 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & ! @@ -549,7 +549,7 @@ module element #else ],[NNODE(12),NCELLNODE(GEOMTYPE(12))]) #endif - + integer, dimension(NNODE(13),NCELLNODE(GEOMTYPE(13))), parameter :: CELLNODEPARENTNODEWEIGHTS13 = & reshape([& 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & ! @@ -621,8 +621,8 @@ module element #else ],[NNODE(13),NCELLNODE(GEOMTYPE(13))]) #endif - - + + integer, dimension(NCELLNODEPERCELL(CELLTYPE(1)),NIP(1)), parameter :: CELL1 = & reshape([& 1,2,3 & @@ -631,7 +631,7 @@ module element #else ],[NCELLNODEPERCELL(CELLTYPE(1)),NIP(1)]) #endif - + integer, dimension(NCELLNODEPERCELL(CELLTYPE(2)),NIP(2)), parameter :: CELL2 = & reshape([& 1, 4, 7, 6, & @@ -642,7 +642,7 @@ module element #else ],[NCELLNODEPERCELL(CELLTYPE(2)),NIP(2)]) #endif - + integer, dimension(NCELLNODEPERCELL(CELLTYPE(3)),NIP(3)), parameter :: CELL3 = & reshape([& 1, 5, 9, 8, & @@ -654,7 +654,7 @@ module element #else ],[NCELLNODEPERCELL(CELLTYPE(3)),NIP(3)]) #endif - + integer, dimension(NCELLNODEPERCELL(CELLTYPE(4)),NIP(4)), parameter :: CELL4 = & reshape([& 1, 5,13,12, & @@ -671,7 +671,7 @@ module element #else ],[NCELLNODEPERCELL(CELLTYPE(4)),NIP(4)]) #endif - + integer, dimension(NCELLNODEPERCELL(CELLTYPE(5)),NIP(5)), parameter :: CELL5 = & reshape([& 1, 2, 3, 4 & @@ -680,7 +680,7 @@ module element #else ],[NCELLNODEPERCELL(CELLTYPE(5)),NIP(5)]) #endif - + integer, dimension(NCELLNODEPERCELL(CELLTYPE(6)),NIP(6)), parameter :: CELL6 = & reshape([& 1, 5,11, 7, 8,12,15,14, & @@ -692,7 +692,7 @@ module element #else ],[NCELLNODEPERCELL(CELLTYPE(6)),NIP(6)]) #endif - + integer, dimension(NCELLNODEPERCELL(CELLTYPE(7)),NIP(7)), parameter :: CELL7 = & reshape([& 1, 7,16, 9,10,17,21,19, & @@ -706,7 +706,7 @@ module element #else ],[NCELLNODEPERCELL(CELLTYPE(7)),NIP(7)]) #endif - + integer, dimension(NCELLNODEPERCELL(CELLTYPE(8)),NIP(8)), parameter :: CELL8 = & reshape([& 1, 2, 3, 4, 5, 6, 7, 8 & @@ -715,7 +715,7 @@ module element #else ],[NCELLNODEPERCELL(CELLTYPE(8)),NIP(8)]) #endif - + integer, dimension(NCELLNODEPERCELL(CELLTYPE(9)),NIP(9)), parameter :: CELL9 = & reshape([& 1, 9,21,12,17,22,27,25, & @@ -731,7 +731,7 @@ module element #else ],[NCELLNODEPERCELL(CELLTYPE(9)),NIP(9)]) #endif - + integer, dimension(NCELLNODEPERCELL(CELLTYPE(10)),NIP(10)), parameter :: CELL10 = & reshape([& 1, 9,33,16,17,37,57,44, & @@ -766,8 +766,8 @@ module element #else ],[NCELLNODEPERCELL(CELLTYPE(10)),NIP(10)]) #endif - - + + integer, dimension(NCELLNODEPERCELLFACE(1),NIPNEIGHBOR(1)), parameter :: CELLFACE1 = & reshape([& 2,3, & @@ -778,7 +778,7 @@ module element #else ],[NCELLNODEPERCELLFACE(1),NIPNEIGHBOR(1)]) #endif - + integer, dimension(NCELLNODEPERCELLFACE(2),NIPNEIGHBOR(2)), parameter :: CELLFACE2 = & reshape([& 2,3, & @@ -790,7 +790,7 @@ module element #else ],[NCELLNODEPERCELLFACE(2),NIPNEIGHBOR(2)]) #endif - + integer, dimension(NCELLNODEPERCELLFACE(3),NIPNEIGHBOR(3)), parameter :: CELLFACE3 = & reshape([& 1,3,2, & @@ -802,7 +802,7 @@ module element #else ],[NCELLNODEPERCELLFACE(3),NIPNEIGHBOR(3)]) #endif - + integer, dimension(NCELLNODEPERCELLFACE(4),NIPNEIGHBOR(4)), parameter :: CELLFACE4 = & reshape([& 2,3,7,6, & @@ -816,10 +816,10 @@ module element #else ],[NCELLNODEPERCELLFACE(4),NIPNEIGHBOR(4)]) #endif - - + + contains - + !--------------------------------------------------------------------------------------------------- !> define properties of an element @@ -828,9 +828,9 @@ subroutine tElement_init(self,elemType) class(tElement) :: self integer, intent(in) :: elemType - + self%elemType = elemType - + self%Nnodes = NNODE (self%elemType) self%geomType = GEOMTYPE(self%elemType) @@ -864,12 +864,12 @@ subroutine tElement_init(self,elemType) case default call IO_error(0,ext_msg='invalid element type') end select - - + + self%NcellNodes = NCELLNODE(self%geomType) self%nIPs = NIP (self%geomType) self%cellType = CELLTYPE (self%geomType) - + select case (self%geomType) case(1) self%IPneighbor = IPNEIGHBOR1 @@ -904,7 +904,7 @@ subroutine tElement_init(self,elemType) end select self%NcellnodesPerCell = NCELLNODEPERCELL(self%cellType) - + select case(self%cellType) case(1) self%cellFace = CELLFACE1 @@ -919,20 +919,20 @@ subroutine tElement_init(self,elemType) self%cellFace = CELLFACE4 self%vtkType = 'HEXAHEDRON' end select - + self%nIPneighbors = size(self%IPneighbor,1) - + write(6,'(/,a)') ' <<<+- element_init -+>>>'; flush(6) - - write(6,*) ' element type: ',self%elemType - write(6,*) ' geom type: ',self%geomType - write(6,*) ' cell type: ',self%cellType - write(6,*) ' # node: ',self%Nnodes - write(6,*) ' # IP: ',self%nIPs - write(6,*) ' # cellnode: ',self%Ncellnodes - write(6,*) ' # cellnode/cell: ',self%NcellnodesPerCell - write(6,*) ' # IP neighbor: ',self%nIPneighbors - + + print*, 'element type: ',self%elemType + print*, ' geom type: ',self%geomType + print*, ' cell type: ',self%cellType + print*, ' # node: ',self%Nnodes + print*, ' # IP: ',self%nIPs + print*, ' # cellnode: ',self%Ncellnodes + print*, ' # cellnode/cell: ',self%NcellnodesPerCell + print*, ' # IP neighbor: ',self%nIPneighbors + end subroutine tElement_init end module element diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index 335c97f28..940d597cc 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -244,7 +244,7 @@ module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of) do i = 1,3 write(6,'(1x,3(e15.8,1x))')(F(i,j,iGrain), j = 1,3) enddo - write(6,*)' ' + print*,' ' flush(6) endif #endif @@ -307,7 +307,7 @@ module procedure mech_RGC_updateState do i = 1,size(stt%relaxationVector(:,of)) write(6,'(1x,2(e15.8,1x))') stt%relaxationVector(i,of) enddo - write(6,*)' ' + print*,' ' endif #endif @@ -330,7 +330,7 @@ module procedure mech_RGC_updateState (R(i,j,iGrain), j = 1,3), & (D(i,j,iGrain), j = 1,3) enddo - write(6,*)' ' + print*,' ' enddo endif #endif @@ -371,7 +371,7 @@ module procedure mech_RGC_updateState if (debugHomog%extensive) then write(6,'(1x,a30,1x,i3)')'Traction at interface: ',iNum write(6,'(1x,3(e15.8,1x))')(tract(iNum,j), j = 1,3) - write(6,*)' ' + print*,' ' endif #endif enddo @@ -513,7 +513,7 @@ module procedure mech_RGC_updateState do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(smatrix(i,j), j = 1,3*nIntFaceTot) enddo - write(6,*)' ' + print*,' ' flush(6) endif #endif @@ -573,7 +573,7 @@ module procedure mech_RGC_updateState do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(pmatrix(i,j), j = 1,3*nIntFaceTot) enddo - write(6,*)' ' + print*,' ' flush(6) endif #endif @@ -592,7 +592,7 @@ module procedure mech_RGC_updateState do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(rmatrix(i,j), j = 1,3*nIntFaceTot) enddo - write(6,*)' ' + print*,' ' flush(6) endif #endif @@ -607,7 +607,7 @@ module procedure mech_RGC_updateState do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(jmatrix(i,j), j = 1,3*nIntFaceTot) enddo - write(6,*)' ' + print*,' ' flush(6) endif #endif @@ -623,7 +623,7 @@ module procedure mech_RGC_updateState do i = 1,3*nIntFaceTot write(6,'(1x,100(e11.4,1x))')(jnverse(i,j), j = 1,3*nIntFaceTot) enddo - write(6,*)' ' + print*,' ' flush(6) endif #endif @@ -650,7 +650,7 @@ module procedure mech_RGC_updateState do i = 1,size(stt%relaxationVector(:,of)) write(6,'(1x,2(e15.8,1x))') stt%relaxationVector(i,of) enddo - write(6,*)' ' + print*,' ' flush(6) endif #endif @@ -699,7 +699,7 @@ module procedure mech_RGC_updateState if (debugActive) then write(6,'(1x,a20,2(1x,i3))')'Correction factor: ',ip,el - write(6,*) surfCorr + print*, surfCorr endif #endif @@ -740,7 +740,7 @@ module procedure mech_RGC_updateState #ifdef DEBUG if (debugActive) then write(6,'(1x,a20,i2,1x,a20,1x,i3)')'Mismatch to face: ',intFace(1),'neighbor grain: ',iGNghb - write(6,*) transpose(nDef) + print*, transpose(nDef) write(6,'(1x,a20,e11.4)')'with magnitude: ',nDefNorm endif #endif @@ -758,7 +758,7 @@ module procedure mech_RGC_updateState #ifdef DEBUG if (debugActive) then write(6,'(1x,a20,i2)')'Penalty of grain: ',iGrain - write(6,*) transpose(rPen(1:3,1:3,iGrain)) + print*, transpose(rPen(1:3,1:3,iGrain)) endif #endif @@ -808,7 +808,7 @@ module procedure mech_RGC_updateState if (debugHomog%extensive & .and. param(instance)%of_debug == of) then write(6,'(1x,a30,i2)')'Volume penalty of grain: ',i - write(6,*) transpose(vPen(:,:,i)) + print*, transpose(vPen(:,:,i)) endif #endif enddo diff --git a/src/parallelization.f90 b/src/parallelization.f90 index 36861ae22..fc1effd54 100644 --- a/src/parallelization.f90 +++ b/src/parallelization.f90 @@ -47,15 +47,15 @@ subroutine parallelization_init if (err /= 0) error stop 'MPI init failed' if (threadLevel>>'; flush(6) - + call MPI_Comm_size(PETSC_COMM_WORLD,worldsize,err) if (err /= 0) error stop 'Could not determine worldsize' @@ -79,12 +79,12 @@ subroutine parallelization_init !$ call get_environment_variable(name='DAMASK_NUM_THREADS',value=NumThreadsString,STATUS=got_env) !$ if(got_env /= 0) then -!$ write(6,*) 'Could not determine value of $DAMASK_NUM_THREADS' +!$ print*, 'Could not determine value of $DAMASK_NUM_THREADS' !$ DAMASK_NUM_THREADS = 1_pI32 !$ else !$ read(NumThreadsString,'(i6)') DAMASK_NUM_THREADS !$ if (DAMASK_NUM_THREADS < 1_pI32) then -!$ write(6,*) 'Invalid DAMASK_NUM_THREADS: '//trim(NumThreadsString) +!$ print*, 'Invalid DAMASK_NUM_THREADS: '//trim(NumThreadsString) !$ DAMASK_NUM_THREADS = 1_pI32 !$ endif !$ endif From bb6b91e857adb661d2c04e91bcb5179baf71cab3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 13:04:54 +0200 Subject: [PATCH 597/958] simpler --- src/DAMASK_interface.f90 | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index a28bfb025..95e87f191 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -193,18 +193,18 @@ subroutine DAMASK_interface_init call get_environment_variable('USER',userName) ! ToDo: https://stackoverflow.com/questions/8953424/how-to-get-the-username-in-c-c-in-linux write(6,'(/,a,i4.1)') ' MPI processes: ',worldsize - write(6,'(a,a)') ' Host name: ', trim(getHostName()) - write(6,'(a,a)') ' User name: ', trim(userName) + write(6,'(a)') ' Host name: '//trim(getHostName()) + write(6,'(a)') ' User name: '//trim(userName) - write(6,'(/a,a)') ' Command line call: ', trim(commandLine) + write(6,'(/a)') ' Command line call: '//trim(commandLine) if (len_trim(workingDirArg) > 0) & - write(6,'(a,a)') ' Working dir argument: ', trim(workingDirArg) - write(6,'(a,a)') ' Geometry argument: ', trim(geometryArg) - write(6,'(a,a)') ' Load case argument: ', trim(loadcaseArg) - write(6,'(a,a)') ' Working directory: ', getCWD() - write(6,'(a,a)') ' Geometry file: ', interface_geomFile - write(6,'(a,a)') ' Loadcase file: ', interface_loadFile - write(6,'(a,a)') ' Solver job name: ', getSolverJobName() + write(6,'(a)') ' Working dir argument: '//trim(workingDirArg) + write(6,'(a)') ' Geometry argument: '//trim(geometryArg) + write(6,'(a)') ' Load case argument: '//trim(loadcaseArg) + write(6,'(a)') ' Working directory: '//getCWD() + write(6,'(a)') ' Geometry file: '//interface_geomFile + write(6,'(a)') ' Loadcase file: '//interface_loadFile + write(6,'(a)') ' Solver job name: '//getSolverJobName() if (interface_restartInc > 0) & write(6,'(a,i6.6)') ' Restart from increment: ', interface_restartInc From 507910ffcda8d4cecad79e707100fbb018eb8af2 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sun, 13 Sep 2020 18:32:49 +0200 Subject: [PATCH 598/958] improved language/descriptions --- src/grid/discretization_grid.f90 | 50 ++++++++++++++++---------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index e440042dc..7c089cc88 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -145,10 +145,10 @@ end subroutine discretization_grid_init subroutine readGeom(grid,geomSize,origin,microstructure) integer, dimension(3), intent(out) :: & - grid ! grid (for all processes!) + grid ! grid (across all processes!) real(pReal), dimension(3), intent(out) :: & - geomSize, & ! size (for all processes!) - origin ! origin (for all processes!) + geomSize, & ! size (across all processes!) + origin ! origin (across all processes!) integer, dimension(:), intent(out), allocatable :: & microstructure @@ -194,7 +194,7 @@ subroutine readGeom(grid,geomSize,origin,microstructure) endif !-------------------------------------------------------------------------------------------------- -! read and interprete header +! read and interpret header origin = 0.0_pReal l = 0 do while (l < headerLength .and. startPos < len(rawData)) @@ -306,15 +306,15 @@ end subroutine readGeom subroutine readVTR(grid,geomSize,origin,microstructure) integer, dimension(3), intent(out) :: & - grid ! grid (for all processes!) + grid ! grid (across all processes!) real(pReal), dimension(3), intent(out) :: & - geomSize, & ! size (for all processes!) - origin ! origin (for all processes!) + geomSize, & ! size (across all processes!) + origin ! origin (across all processes!) integer, dimension(:), intent(out), allocatable :: & microstructure character(len=:), allocatable :: fileContent, dataType, headerType - logical :: inFile,inGrid,readCoordinates,readCellData,compressed + logical :: inFile,inGrid,gotCoordinates,gotCellData,compressed integer :: fileUnit, myStat, coord integer(pI64) :: & fileLength, & !< length of the geom file (in characters) @@ -334,13 +334,13 @@ subroutine readVTR(grid,geomSize,origin,microstructure) read(fileUnit) fileContent close(fileUnit) - inFile = .false. - inGrid = .false. - readCoordinates = .false. - readCelldata = .false. + inFile = .false. + inGrid = .false. + gotCoordinates = .false. + gotCelldata = .false. !-------------------------------------------------------------------------------------------------- -! interprete XML file +! interpret XML file startPos = 1_pI64 do while (startPos < len(fileContent,kind=pI64)) endPos = startPos + index(fileContent(startPos:),IO_EOL,kind=pI64) - 2_pI64 @@ -349,7 +349,7 @@ subroutine readVTR(grid,geomSize,origin,microstructure) if(.not. inFile) then if(index(fileContent(startPos:endPos),'',kind=pI64) /= 0_pI64) then - readCellData = .true. + gotCellData = .true. startPos = endPos + 2_pI64 do while (index(fileContent(startPos:endPos),'',kind=pI64) == 0_pI64) endPos = startPos + index(fileContent(startPos:),IO_EOL,kind=pI64) - 2_pI64 @@ -378,7 +378,7 @@ subroutine readVTR(grid,geomSize,origin,microstructure) startPos = endPos + 2_pI64 enddo elseif(index(fileContent(startPos:endPos),'',kind=pI64) /= 0_pI64) then - readCoordinates = .true. + gotCoordinates = .true. startPos = endPos + 2_pI64 coord = 0 @@ -405,7 +405,7 @@ subroutine readVTR(grid,geomSize,origin,microstructure) endif endif - if(readCellData .and. readCoordinates) exit + if(gotCellData .and. gotCoordinates) exit startPos = endPos + 2_pI64 end do @@ -636,19 +636,19 @@ subroutine readVTR(grid,geomSize,origin,microstructure) !------------------------------------------------------------------------------------------------ - !> @brief figure out if file format is understandable + !> @brief check for supported file format !------------------------------------------------------------------------------------------------ - pure function fileOk(line) + pure function fileFormatOk(line) character(len=*),intent(in) :: line - logical :: fileOk + logical :: fileFormatOk - fileOk = getXMLValue(line,'type') == 'RectilinearGrid' .and. & - getXMLValue(line,'byte_order') == 'LittleEndian' .and. & - getXMLValue(line,'compressor') /= 'vtkLZ4DataCompressor' .and. & - getXMLValue(line,'compressor') /= 'vtkLZMADataCompressor' + fileFormatOk = getXMLValue(line,'type') == 'RectilinearGrid' .and. & + getXMLValue(line,'byte_order') == 'LittleEndian' .and. & + getXMLValue(line,'compressor') /= 'vtkLZ4DataCompressor' .and. & + getXMLValue(line,'compressor') /= 'vtkLZMADataCompressor' - end function fileOk + end function fileFormatOk end subroutine readVTR From 84b9104302bb34755de8c959f1e627c024c49ecb Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 20:14:34 +0200 Subject: [PATCH 599/958] clearly indicate origin of functions also supresses (flawed) error message of gfortran related to non-standard type 'bytes' --- src/grid/discretization_grid.f90 | 28 +++++++++---------- src/prec.f90 | 48 ++++++++++++++++---------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index c6f117a97..fa732863a 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -458,13 +458,13 @@ subroutine readVTR(grid,geomSize,origin,microstructure) select case(dataType) case('Int32') - as_Int = int(bytes_to_C_INT32_T(asBytes(base64_str,headerType,compressed))) + as_Int = int(prec_bytesToC_INT32_T(asBytes(base64_str,headerType,compressed))) case('Int64') - as_Int = int(bytes_to_C_INT64_T(asBytes(base64_str,headerType,compressed))) + as_Int = int(prec_bytesToC_INT64_T(asBytes(base64_str,headerType,compressed))) case('Float32') - as_Int = int(bytes_to_C_FLOAT (asBytes(base64_str,headerType,compressed))) + as_Int = int(prec_bytesToC_FLOAT (asBytes(base64_str,headerType,compressed))) case('Float64') - as_Int = int(bytes_to_C_DOUBLE (asBytes(base64_str,headerType,compressed))) + as_Int = int(prec_bytesToC_DOUBLE (asBytes(base64_str,headerType,compressed))) case default call IO_error(844_pInt,ext_msg='unknown data type: '//trim(dataType)) end select @@ -486,13 +486,13 @@ subroutine readVTR(grid,geomSize,origin,microstructure) select case(dataType) case('Int32') - as_pReal = real(bytes_to_C_INT32_T(asBytes(base64_str,headerType,compressed)),pReal) + as_pReal = real(prec_bytesToC_INT32_T(asBytes(base64_str,headerType,compressed)),pReal) case('Int64') - as_pReal = real(bytes_to_C_INT64_T(asBytes(base64_str,headerType,compressed)),pReal) + as_pReal = real(prec_bytesToC_INT64_T(asBytes(base64_str,headerType,compressed)),pReal) case('Float32') - as_pReal = real(bytes_to_C_FLOAT (asBytes(base64_str,headerType,compressed)),pReal) + as_pReal = real(prec_bytesToC_FLOAT (asBytes(base64_str,headerType,compressed)),pReal) case('Float64') - as_pReal = real(bytes_to_C_DOUBLE (asBytes(base64_str,headerType,compressed)),pReal) + as_pReal = real(prec_bytesToC_DOUBLE (asBytes(base64_str,headerType,compressed)),pReal) case default call IO_error(844_pInt,ext_msg='unknown data type: '//trim(dataType)) end select @@ -539,15 +539,15 @@ subroutine readVTR(grid,geomSize,origin,microstructure) integer(pI64) :: headerLen, nBlock, b,s,e if (headerType == 'UInt32') then - temp = int(bytes_to_C_INT32_T(base64_to_bytes(base64_str(:base64_nChar(4_pI64)))),pI64) + temp = int(prec_bytesToC_INT32_T(base64_to_bytes(base64_str(:base64_nChar(4_pI64)))),pI64) nBlock = int(temp(1),pI64) headerLen = 4_pI64 * (3_pI64 + nBlock) - temp = int(bytes_to_C_INT32_T(base64_to_bytes(base64_str(:base64_nChar(headerLen)))),pI64) + temp = int(prec_bytesToC_INT32_T(base64_to_bytes(base64_str(:base64_nChar(headerLen)))),pI64) elseif(headerType == 'UInt64') then - temp = int(bytes_to_C_INT64_T(base64_to_bytes(base64_str(:base64_nChar(8_pI64)))),pI64) + temp = int(prec_bytesToC_INT64_T(base64_to_bytes(base64_str(:base64_nChar(8_pI64)))),pI64) nBlock = int(temp(1),pI64) headerLen = 8_pI64 * (3_pI64 + nBlock) - temp = int(bytes_to_C_INT64_T(base64_to_bytes(base64_str(:base64_nChar(headerLen)))),pI64) + temp = int(prec_bytesToC_INT64_T(base64_to_bytes(base64_str(:base64_nChar(headerLen)))),pI64) endif allocate(size_inflated(nBlock),source=temp(2)) @@ -585,13 +585,13 @@ subroutine readVTR(grid,geomSize,origin,microstructure) s=0_pI64 if (headerType == 'UInt32') then do while(s+base64_nChar(4_pI64)<(len(base64_str,pI64))) - nByte = int(bytes_to_C_INT32_T(base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(4_pI64)))),pI64) + nByte = int(prec_bytesToC_INT32_T(base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(4_pI64)))),pI64) bytes = [bytes,base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(4_pI64+nByte(1))),5_pI64)] s = s + base64_nChar(4_pI64+nByte(1)) enddo elseif(headerType == 'UInt64') then do while(s+base64_nChar(8_pI64)<(len(base64_str,pI64))) - nByte = int(bytes_to_C_INT64_T(base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(8_pI64)))),pI64) + nByte = int(prec_bytesToC_INT64_T(base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(8_pI64)))),pI64) bytes = [bytes,base64_to_bytes(base64_str(s+1_pI64:s+base64_nChar(8_pI64+nByte(1))),9_pI64)] s = s + base64_nChar(8_pI64+nByte(1)) enddo diff --git a/src/prec.f90 b/src/prec.f90 index 6ee3a7e79..87c2f6848 100644 --- a/src/prec.f90 +++ b/src/prec.f90 @@ -235,57 +235,57 @@ end function cNeq !-------------------------------------------------------------------------------------------------- !> @brief Decode byte array (C_SIGNED_CHAR) as C_FLOAT array (4 byte float). !-------------------------------------------------------------------------------------------------- -pure function bytes_to_C_FLOAT(bytes) +pure function prec_bytesToC_FLOAT(bytes) integer(C_SIGNED_CHAR), dimension(:), intent(in) :: bytes !< byte-wise representation of a C_FLOAT array real(C_FLOAT), dimension(size(bytes,kind=pI64)/(storage_size(0._C_FLOAT,pI64)/8_pI64)) :: & - bytes_to_C_FLOAT + prec_bytesToC_FLOAT - bytes_to_C_FLOAT = transfer(bytes,bytes_to_C_FLOAT,size(bytes_to_C_FLOAT)) + prec_bytesToC_FLOAT = transfer(bytes,prec_bytesToC_FLOAT,size(prec_bytesToC_FLOAT)) -end function bytes_to_C_FLOAT +end function prec_bytesToC_FLOAT !-------------------------------------------------------------------------------------------------- !> @brief Decode byte array (C_SIGNED_CHAR) as C_DOUBLE array (8 byte float). !-------------------------------------------------------------------------------------------------- -pure function bytes_to_C_DOUBLE(bytes) +pure function prec_bytesToC_DOUBLE(bytes) integer(C_SIGNED_CHAR), dimension(:), intent(in) :: bytes !< byte-wise representation of a C_DOUBLE array real(C_DOUBLE), dimension(size(bytes,kind=pI64)/(storage_size(0._C_DOUBLE,pI64)/8_pI64)) :: & - bytes_to_C_DOUBLE + prec_bytesToC_DOUBLE - bytes_to_C_DOUBLE = transfer(bytes,bytes_to_C_DOUBLE,size(bytes_to_C_DOUBLE)) + prec_bytesToC_DOUBLE = transfer(bytes,prec_bytesToC_DOUBLE,size(prec_bytesToC_DOUBLE)) -end function bytes_to_C_DOUBLE +end function prec_bytesToC_DOUBLE !-------------------------------------------------------------------------------------------------- !> @brief Decode byte array (C_SIGNED_CHAR) as C_INT32_T array (4 byte signed integer). !-------------------------------------------------------------------------------------------------- -pure function bytes_to_C_INT32_T(bytes) +pure function prec_bytesToC_INT32_T(bytes) integer(C_SIGNED_CHAR), dimension(:), intent(in) :: bytes !< byte-wise representation of a C_INT32_T array integer(C_INT32_T), dimension(size(bytes,kind=pI64)/(storage_size(0_C_INT32_T,pI64)/8_pI64)) :: & - bytes_to_C_INT32_T + prec_bytesToC_INT32_T - bytes_to_C_INT32_T = transfer(bytes,bytes_to_C_INT32_T,size(bytes_to_C_INT32_T)) + prec_bytesToC_INT32_T = transfer(bytes,prec_bytesToC_INT32_T,size(prec_bytesToC_INT32_T)) -end function bytes_to_C_INT32_T +end function prec_bytesToC_INT32_T !-------------------------------------------------------------------------------------------------- !> @brief Decode byte array (C_SIGNED_CHAR) as C_INT64_T array (8 byte signed integer). !-------------------------------------------------------------------------------------------------- -pure function bytes_to_C_INT64_T(bytes) +pure function prec_bytesToC_INT64_T(bytes) integer(C_SIGNED_CHAR), dimension(:), intent(in) :: bytes !< byte-wise representation of a C_INT64_T array integer(C_INT64_T), dimension(size(bytes,kind=pI64)/(storage_size(0_C_INT64_T,pI64)/8_pI64)) :: & - bytes_to_C_INT64_T + prec_bytesToC_INT64_T - bytes_to_C_INT64_T = transfer(bytes,bytes_to_C_INT64_T,size(bytes_to_C_INT64_T)) + prec_bytesToC_INT64_T = transfer(bytes,prec_bytesToC_INT64_T,size(prec_bytesToC_INT64_T)) -end function bytes_to_C_INT64_T +end function prec_bytesToC_INT64_T !-------------------------------------------------------------------------------------------------- @@ -309,17 +309,17 @@ subroutine selfTest ! https://www.binaryconvert.com ! https://www.rapidtables.com/convert/number/binary-to-decimal.html - f = real(bytes_to_C_FLOAT(int([-65,+11,-102,+75],C_SIGNED_CHAR)),pReal) - if(dNeq(f(1),20191102.0_pReal,0.0_pReal)) error stop 'bytes_to_C_FLOAT' + f = real(prec_bytesToC_FLOAT(int([-65,+11,-102,+75],C_SIGNED_CHAR)),pReal) + if(dNeq(f(1),20191102.0_pReal,0.0_pReal)) error stop 'prec_bytesToC_FLOAT' - f = real(bytes_to_C_DOUBLE(int([0,0,0,-32,+119,+65,+115,65],C_SIGNED_CHAR)),pReal) - if(dNeq(f(1),20191102.0_pReal,0.0_pReal)) error stop 'bytes_to_C_DOUBLE' + f = real(prec_bytesToC_DOUBLE(int([0,0,0,-32,+119,+65,+115,65],C_SIGNED_CHAR)),pReal) + if(dNeq(f(1),20191102.0_pReal,0.0_pReal)) error stop 'prec_bytesToC_DOUBLE' - i = int(bytes_to_C_INT32_T(int([+126,+23,+52,+1],C_SIGNED_CHAR)),pInt) - if(i(1) /= 20191102_pInt) error stop 'bytes_to_C_INT32_T' + i = int(prec_bytesToC_INT32_T(int([+126,+23,+52,+1],C_SIGNED_CHAR)),pInt) + if(i(1) /= 20191102_pInt) error stop 'prec_bytesToC_INT32_T' - i = int(bytes_to_C_INT64_T(int([+126,+23,+52,+1,0,0,0,0],C_SIGNED_CHAR)),pInt) - if(i(1) /= 20191102_pInt) error stop 'bytes_to_C_INT64_T' + i = int(prec_bytesToC_INT64_T(int([+126,+23,+52,+1,0,0,0,0],C_SIGNED_CHAR)),pInt) + if(i(1) /= 20191102_pInt) error stop 'prec_bytesToC_INT64_T' end subroutine selfTest From 0153bca277e07ceb8df29edaaaba5bcee6417106 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 21:00:34 +0200 Subject: [PATCH 600/958] better print then write - shorter, always writes to STDOUT also, report only details (paper) of active models --- src/constitutive.f90 | 2 +- src/constitutive_plastic.f90 | 8 ++++--- src/constitutive_plastic_disloTungsten.f90 | 23 +++++++++--------- src/constitutive_plastic_dislotwin.f90 | 25 ++++++++++---------- src/constitutive_plastic_isotropic.f90 | 18 +++++++-------- src/constitutive_plastic_kinehardening.f90 | 9 ++++---- src/constitutive_plastic_none.f90 | 14 +++++------ src/constitutive_plastic_nonlocal.f90 | 27 +++++++++++----------- src/constitutive_plastic_phenopowerlaw.f90 | 12 ++++------ 9 files changed, 66 insertions(+), 72 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index e39c405cf..3b342e3e6 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -446,7 +446,7 @@ subroutine constitutive_init call damage_init call thermal_init - write(6,'(/,a)') ' <<<+- constitutive init -+>>>'; flush(6) + print'(/,a)', ' <<<+- constitutive init -+>>>'; flush(6) constitutive_source_maxSizeDotState = 0 PhaseLoop2:do p = 1,phases%length diff --git a/src/constitutive_plastic.f90 b/src/constitutive_plastic.f90 index bf831ba98..bf6bc079e 100644 --- a/src/constitutive_plastic.f90 +++ b/src/constitutive_plastic.f90 @@ -1,5 +1,5 @@ !---------------------------------------------------------------------------------------------------- -!> @brief internal microstructure state for all plasticity constitutive models +!> @brief internal microstructure state for all plasticity constitutive models !---------------------------------------------------------------------------------------------------- submodule(constitutive) constitutive_plastic @@ -198,6 +198,8 @@ module subroutine plastic_init integer :: p class(tNode), pointer :: phases + print'(/,a)', ' <<<+- constitutive_plastic init -+>>>' + phases => config_material%get('phase') allocate(plasticState(phases%length)) @@ -215,7 +217,7 @@ module subroutine plastic_init do p = 1, phases%length phase_plasticityInstance(p) = count(phase_plasticity(1:p) == phase_plasticity(p)) - enddo + enddo end subroutine plastic_init @@ -355,7 +357,7 @@ end subroutine constitutive_plastic_LpAndItsTangents !-------------------------------------------------------------------------------------------- !> @brief writes plasticity constitutive results to HDF5 output file -!-------------------------------------------------------------------------------------------- +!-------------------------------------------------------------------------------------------- module subroutine plastic_results integer :: p diff --git a/src/constitutive_plastic_disloTungsten.f90 b/src/constitutive_plastic_disloTungsten.f90 index adf07df21..2bf4fd48e 100644 --- a/src/constitutive_plastic_disloTungsten.f90 +++ b/src/constitutive_plastic_disloTungsten.f90 @@ -96,16 +96,15 @@ module function plastic_disloTungsten_init() result(myPlasticity) phase, & pl - write(6,'(/,a)') ' <<<+- plastic_disloTungsten init -+>>>' - - write(6,'(/,a)') ' Cereceda et al., International Journal of Plasticity 78:242–256, 2016' - write(6,'(a)') ' https://dx.doi.org/10.1016/j.ijplas.2015.09.002' + print'(/,a)', ' <<<+- plastic_dislotungsten init -+>>>' myPlasticity = plastic_active('disloTungsten') - Ninstance = count(myPlasticity) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return + + print*, 'Cereceda et al., International Journal of Plasticity 78:242–256, 2016' + print*, 'https://dx.doi.org/10.1016/j.ijplas.2015.09.002' allocate(param(Ninstance)) allocate(state(Ninstance)) @@ -179,7 +178,7 @@ module function plastic_disloTungsten_init() result(myPlasticity) prm%Q_cl = pl%get_asFloat('Q_cl') prm%atomicVolume = pl%get_asFloat('f_at') * prm%b_sl**3.0_pReal prm%D_a = pl%get_asFloat('D_a') * prm%b_sl - + prm%dipoleformation = pl%get_asBool('dipole_formation_factor', defaultVal = .true.) ! expand: family => system @@ -410,19 +409,19 @@ module subroutine plastic_disloTungsten_results(instance,group) associate(prm => param(instance), stt => state(instance), dst => dependentState(instance)) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case('rho_mob') + case('rho_mob') if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_mob,trim(prm%output(o)), & 'mobile dislocation density','1/m²') - case('rho_dip') + case('rho_dip') if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_dip,trim(prm%output(o)), & 'dislocation dipole density''1/m²') - case('gamma_sl') + case('gamma_sl') if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma_sl,trim(prm%output(o)), & 'plastic shear','1') - case('Lambda_sl') + case('Lambda_sl') if(prm%sum_N_sl>0) call results_writeDataset(group,dst%Lambda_sl,trim(prm%output(o)), & 'mean free path for slip','m') - case('tau_pass') + case('tau_pass') if(prm%sum_N_sl>0) call results_writeDataset(group,dst%threshold_stress,trim(prm%output(o)), & 'threshold stress for slip','Pa') end select diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index 6791c6dd0..a25815899 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -143,22 +143,21 @@ module function plastic_dislotwin_init() result(myPlasticity) phase, & pl - write(6,'(/,a)') ' <<<+- constitutive_dislotwin init -+>>>' - - write(6,'(/,a)') ' Ma and Roters, Acta Materialia 52(12):3603–3612, 2004' - write(6,'(a)') ' https://doi.org/10.1016/j.actamat.2004.04.012' - - write(6,'(/,a)') ' Roters et al., Computational Materials Science 39:91–95, 2007' - write(6,'(a)') ' https://doi.org/10.1016/j.commatsci.2006.04.014' - - write(6,'(/,a)') ' Wong et al., Acta Materialia 118:140–151, 2016' - write(6,'(a,/)') ' https://doi.org/10.1016/j.actamat.2016.07.032' + print'(/,a)', ' <<<+- plastic_dislotwin init -+>>>' myPlasticity = plastic_active('dislotwin') - Ninstance = count(myPlasticity) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return + + print*, 'Ma and Roters, Acta Materialia 52(12):3603–3612, 2004' + print*, 'https://doi.org/10.1016/j.actamat.2004.04.012'//IO_EOL + + print*, 'Roters et al., Computational Materials Science 39:91–95, 2007' + print*, 'https://doi.org/10.1016/j.commatsci.2006.04.014'//IO_EOL + + print*, 'Wong et al., Acta Materialia 118:140–151, 2016' + print*, 'https://doi.org/10.1016/j.actamat.2016.07.032' allocate(param(Ninstance)) allocate(state(Ninstance)) @@ -414,7 +413,7 @@ module function plastic_dislotwin_init() result(myPlasticity) + size(['f_tr']) * prm%sum_N_tr sizeState = sizeDotState - + call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) !-------------------------------------------------------------------------------------------------- diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index f561e9dd0..382b641b3 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -49,7 +49,7 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module function plastic_isotropic_init() result(myPlasticity) +module function plastic_isotropic_init() result(myPlasticity) logical, dimension(:), allocatable :: myPlasticity integer :: & @@ -67,18 +67,16 @@ module function plastic_isotropic_init() result(myPlasticity) phase, & pl - write(6,'(/,a)') ' <<<+- plastic_isotropic init -+>>>' - - write(6,'(/,a)') ' Maiti and Eisenlohr, Scripta Materialia 145:37–40, 2018' - write(6,'(a)') ' https://doi.org/10.1016/j.scriptamat.2017.09.047' - + print'(/,a)', ' <<<+- plastic_isotropic init -+>>>' myPlasticity = plastic_active('isotropic') - Ninstance = count(myPlasticity) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return + print*, 'Maiti and Eisenlohr, Scripta Materialia 145:37–40, 2018' + print*, 'https://doi.org/10.1016/j.scriptamat.2017.09.047' + allocate(param(Ninstance)) allocate(state(Ninstance)) allocate(dotState(Ninstance)) @@ -96,7 +94,7 @@ module function plastic_isotropic_init() result(myPlasticity) pl => phase%get('plasticity') -#if defined (__GFORTRAN__) +#if defined (__GFORTRAN__) prm%output = output_asStrings(pl) #else prm%output = pl%get_asStrings('output',defaultVal=emptyStringArray) @@ -339,7 +337,7 @@ module subroutine plastic_isotropic_results(instance,group) associate(prm => param(instance), stt => state(instance)) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) - case ('xi') + case ('xi') call results_writeDataset(group,stt%xi,trim(prm%output(o)), & 'resistance against plastic flow','Pa') end select diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index 21215220c..d3ffd2c85 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -58,7 +58,7 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module function plastic_kinehardening_init() result(myPlasticity) +module function plastic_kinehardening_init() result(myPlasticity) logical, dimension(:), allocatable :: myPlasticity integer :: & @@ -79,12 +79,11 @@ module function plastic_kinehardening_init() result(myPlasticity) phase, & pl - write(6,'(/,a)') ' <<<+- plastic_kinehardening init -+>>>' + print'(/,a)', ' <<<+- plastic_kinehardening init -+>>>' myPlasticity = plastic_active('kinehardening') - Ninstance = count(myPlasticity) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return allocate(param(Ninstance)) @@ -384,7 +383,7 @@ module subroutine plastic_kinehardening_results(instance,group) case('xi') if(prm%sum_N_sl>0) call results_writeDataset(group,stt%crss,trim(prm%output(o)), & 'resistance against plastic slip','Pa') - case('tau_b') + case('tau_b') if(prm%sum_N_sl>0) call results_writeDataset(group,stt%crss_back,trim(prm%output(o)), & 'back stress against plastic slip','Pa') case ('sgn(gamma)') diff --git a/src/constitutive_plastic_none.f90 b/src/constitutive_plastic_none.f90 index 1fee0a079..d62a798cc 100644 --- a/src/constitutive_plastic_none.f90 +++ b/src/constitutive_plastic_none.f90 @@ -9,10 +9,10 @@ submodule(constitutive:constitutive_plastic) plastic_none contains !-------------------------------------------------------------------------------------------------- -!> @brief module initialization +!> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module function plastic_none_init() result(myPlasticity) +module function plastic_none_init() result(myPlasticity) logical, dimension(:), allocatable :: myPlasticity integer :: & @@ -24,20 +24,20 @@ module function plastic_none_init() result(myPlasticity) phase, & pl - write(6,'(/,a)') ' <<<+- plastic_none init -+>>>' + print'(/,a)', ' <<<+- plastic_none init -+>>>' phases => config_material%get('phase') - allocate(myPlasticity(phases%length), source = .false. ) + allocate(myPlasticity(phases%length), source = .false.) do p = 1, phases%length phase => phases%get(p) pl => phase%get('plasticity') if(pl%get_asString('type') == 'none') myPlasticity(p) = .true. enddo - Ninstance = count(myPlasticity) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + Ninstance = count(myPlasticity) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return - + do p = 1, phases%length phase => phases%get(p) if(.not. myPlasticity(p)) cycle diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index a56e109f2..152cde43e 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -159,8 +159,9 @@ submodule(constitutive:constitutive_plastic) plastic_nonlocal contains + !-------------------------------------------------------------------------------------------------- -!> @brief module initialization +!> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- module function plastic_nonlocal_init() result(myPlasticity) @@ -183,24 +184,22 @@ module function plastic_nonlocal_init() result(myPlasticity) phases, & phase, & pl - - write(6,'(/,a)') ' <<<+- plastic_nonlocal init -+>>>' - write(6,'(/,a)') ' Reuber et al., Acta Materialia 71:333–348, 2014' - write(6,'(a)') ' https://doi.org/10.1016/j.actamat.2014.03.012' - - write(6,'(/,a)') ' Kords, Dissertation RWTH Aachen, 2014' - write(6,'(a)') ' http://publications.rwth-aachen.de/record/229993' + print'(/,a)', ' <<<+- plastic_nonlocal init -+>>>' myPlasticity = plastic_active('nonlocal') - Ninstance = count(myPlasticity) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) then call geometry_plastic_nonlocal_disable return endif + + print*, 'Reuber et al., Acta Materialia 71:333–348, 2014' + print*, 'https://doi.org/10.1016/j.actamat.2014.03.012'//IO_EOL + print*, 'Kords, Dissertation RWTH Aachen, 2014' + print*, 'http://publications.rwth-aachen.de/record/229993'//IO_EOL allocate(param(Ninstance)) allocate(state(Ninstance)) @@ -224,14 +223,14 @@ module function plastic_nonlocal_init() result(myPlasticity) dst => microstructure(i)) pl => phase%get('plasticity') - phase_localPlasticity(p) = .not. pl%contains('nonlocal') + phase_localPlasticity(p) = .not. pl%contains('nonlocal') #if defined (__GFORTRAN__) prm%output = output_asStrings(pl) #else prm%output = pl%get_asStrings('output',defaultVal=emptyStringArray) #endif - + prm%atol_rho = pl%get_asFloat('atol_rho',defaultVal=1.0e4_pReal) ! This data is read in already in lattice @@ -519,7 +518,7 @@ module function plastic_nonlocal_init() result(myPlasticity) if(.not. myPlasticity(p)) cycle i = i + 1 - + NipcMyPhase = count(material_phaseAt==p) * discretization_nIP l = 0 do t = 1,4 @@ -543,7 +542,7 @@ module function plastic_nonlocal_init() result(myPlasticity) enddo if (iD(param(i)%sum_N_sl,2,i) /= plasticState(p)%sizeState) & call IO_error(0, ext_msg = 'state indices not properly set (nonlocal)') - enddo + enddo end function plastic_nonlocal_init diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index 270352585..b30a4d9df 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -66,7 +66,7 @@ contains !> @brief Perform module initialization. !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- -module function plastic_phenopowerlaw_init() result(myPlasticity) +module function plastic_phenopowerlaw_init() result(myPlasticity) logical, dimension(:), allocatable :: myPlasticity integer :: & @@ -88,15 +88,13 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) phase, & pl - write(6,'(/,a)') ' <<<+- plastic_phenopowerlaw init -+>>>' - + print'(/,a)', ' <<<+- plastic_phenopowerlaw init -+>>>' myPlasticity = plastic_active('phenopowerlaw') - Ninstance = count(myPlasticity) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return - + allocate(param(Ninstance)) allocate(state(Ninstance)) allocate(dotState(Ninstance)) @@ -231,7 +229,7 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) + size(['xi_tw ','gamma_tw']) * prm%sum_N_tw sizeState = sizeDotState - + call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) !-------------------------------------------------------------------------------------------------- From 5558d95886715b30fb67bb45572f734125a15189 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 21:15:08 +0200 Subject: [PATCH 601/958] print is better suited for output to screen then write --- src/DAMASK_interface.f90 | 135 ++++++++++++++++---------------- src/grid/spectral_utilities.f90 | 22 +++--- 2 files changed, 78 insertions(+), 79 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index 95e87f191..fbd6f02ce 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -77,18 +77,17 @@ subroutine DAMASK_interface_init integer, dimension(8) :: & dateAndTime integer :: err - PetscErrorCode :: petsc_err external :: & quit - write(6,'(/,a)') ' <<<+- DAMASK_interface init -+>>>' + print'(/,a)', ' <<<+- DAMASK_interface init -+>>>' open(6, encoding='UTF-8') ! for special characters in output ! http://patorjk.com/software/taag/#p=display&f=Lean&t=DAMASK%203 #ifdef DEBUG print*, achar(27)//'[31m' - write(6,'(a,/)') ' debug version - debug version - debug version - debug version - debug version' + print'(a,/)', ' debug version - debug version - debug version - debug version - debug version' #else print*, achar(27)//'[94m' #endif @@ -98,70 +97,70 @@ subroutine DAMASK_interface_init print*, ' _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/' print*, ' _/_/_/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/_/_/' #ifdef DEBUG - write(6,'(/,a)') ' debug version - debug version - debug version - debug version - debug version' + print'(/,a)', ' debug version - debug version - debug version - debug version - debug version' #endif print*, achar(27)//'[0m' - write(6,'(a)') ' Roters et al., Computational Materials Science 158:420–478, 2019' - write(6,'(a)') ' https://doi.org/10.1016/j.commatsci.2018.04.030' + print'(a)', ' Roters et al., Computational Materials Science 158:420–478, 2019' + print'(a)', ' https://doi.org/10.1016/j.commatsci.2018.04.030' - write(6,'(/,a)') ' Version: '//DAMASKVERSION + print'(/,a)', ' Version: '//DAMASKVERSION ! https://github.com/jeffhammond/HPCInfo/blob/master/docs/Preprocessor-Macros.md #if defined(__PGI) - write(6,'(/,a,i4.4,a,i8.8)') ' Compiled with PGI fortran version :', __PGIC__,& + print'(/,a,i4.4,a,i8.8)', ' Compiled with PGI fortran version :', __PGIC__,& '.', __PGIC_MINOR__ #else - write(6,'(/,a)') ' Compiled with: '//compiler_version() - write(6,'(a)') ' Compiler options: '//compiler_options() + print'(/,a)', ' Compiled with: '//compiler_version() + print'(a)', ' Compiler options: '//compiler_options() #endif - write(6,'(/,a)') ' Compiled on: '//__DATE__//' at '//__TIME__ + print'(/,a)', ' Compiled on: '//__DATE__//' at '//__TIME__ call date_and_time(values = dateAndTime) - write(6,'(/,a,2(i2.2,a),i4.4)') ' Date: ',dateAndTime(3),'/',dateAndTime(2),'/', dateAndTime(1) - write(6,'(a,2(i2.2,a),i2.2)') ' Time: ',dateAndTime(5),':', dateAndTime(6),':', dateAndTime(7) + print'(/,a,2(i2.2,a),i4.4)', ' Date: ',dateAndTime(3),'/',dateAndTime(2),'/', dateAndTime(1) + print'(a,2(i2.2,a),i2.2)', ' Time: ',dateAndTime(5),':', dateAndTime(6),':', dateAndTime(7) do i = 1, command_argument_count() call get_command_argument(i,arg,status=err) if (err /= 0) call quit(1) select case(trim(arg)) ! extract key case ('-h','--help') - write(6,'(a)') ' #######################################################################' - write(6,'(a)') ' DAMASK Command Line Interface:' - write(6,'(a)') ' For PETSc-based solvers for the Düsseldorf Advanced Material Simulation Kit' - write(6,'(a,/)')' #######################################################################' - write(6,'(a,/)')' Valid command line switches:' - write(6,'(a)') ' --geom (-g, --geometry)' - write(6,'(a)') ' --load (-l, --loadcase)' - write(6,'(a)') ' --workingdir (-w, --wd, --workingdirectory)' - write(6,'(a)') ' --restart (-r, --rs)' - write(6,'(a)') ' --help (-h)' - write(6,'(/,a)')' -----------------------------------------------------------------------' - write(6,'(a)') ' Mandatory arguments:' - write(6,'(/,a)')' --geom PathToGeomFile/NameOfGeom' - write(6,'(a)') ' Specifies the location of the geometry definition file.' - write(6,'(/,a)')' --load PathToLoadFile/NameOfLoadFile' - write(6,'(a)') ' Specifies the location of the load case definition file.' - write(6,'(/,a)')' -----------------------------------------------------------------------' - write(6,'(a)') ' Optional arguments:' - write(6,'(/,a)')' --workingdirectory PathToWorkingDirectory' - write(6,'(a)') ' Specifies the working directory and overwrites the default ./' - write(6,'(a)') ' Make sure the file "material.config" exists in the working' - write(6,'(a)') ' directory.' - write(6,'(a)') ' For further configuration place "numerics.config"' - write(6,'(a)')' and "debug.config" in that directory.' - write(6,'(/,a)')' --restart N' - write(6,'(a)') ' Reads in increment N and continues with calculating' - write(6,'(a)') ' increment N+1 based on this.' - write(6,'(a)') ' Appends to existing results file' - write(6,'(a)') ' "NameOfGeom_NameOfLoadFile.hdf5".' - write(6,'(a)') ' Works only if the restart information for increment N' - write(6,'(a)') ' is available in the working directory.' - write(6,'(/,a)')' -----------------------------------------------------------------------' - write(6,'(a)') ' Help:' - write(6,'(/,a)')' --help' - write(6,'(a,/)')' Prints this message and exits' + print'(a)', ' #######################################################################' + print'(a)', ' DAMASK Command Line Interface:' + print'(a)', ' For PETSc-based solvers for the Düsseldorf Advanced Material Simulation Kit' + print'(a,/)',' #######################################################################' + print'(a,/)',' Valid command line switches:' + print'(a)', ' --geom (-g, --geometry)' + print'(a)', ' --load (-l, --loadcase)' + print'(a)', ' --workingdir (-w, --wd, --workingdirectory)' + print'(a)', ' --restart (-r, --rs)' + print'(a)', ' --help (-h)' + print'(/,a)',' -----------------------------------------------------------------------' + print'(a)', ' Mandatory arguments:' + print'(/,a)',' --geom PathToGeomFile/NameOfGeom' + print'(a)', ' Specifies the location of the geometry definition file.' + print'(/,a)',' --load PathToLoadFile/NameOfLoadFile' + print'(a)', ' Specifies the location of the load case definition file.' + print'(/,a)',' -----------------------------------------------------------------------' + print'(a)', ' Optional arguments:' + print'(/,a)',' --workingdirectory PathToWorkingDirectory' + print'(a)', ' Specifies the working directory and overwrites the default ./' + print'(a)', ' Make sure the file "material.config" exists in the working' + print'(a)', ' directory.' + print'(a)', ' For further configuration place "numerics.config"' + print'(a)',' and "debug.config" in that directory.' + print'(/,a)',' --restart N' + print'(a)', ' Reads in increment N and continues with calculating' + print'(a)', ' increment N+1 based on this.' + print'(a)', ' Appends to existing results file' + print'(a)', ' "NameOfGeom_NameOfLoadFile.hdf5".' + print'(a)', ' Works only if the restart information for increment N' + print'(a)', ' is available in the working directory.' + print'(/,a)',' -----------------------------------------------------------------------' + print'(a)', ' Help:' + print'(/,a)',' --help' + print'(a,/)',' Prints this message and exits' call quit(0) ! normal Termination case ('-l', '--load', '--loadcase') call get_command_argument(i+1,loadCaseArg,status=err) @@ -173,7 +172,7 @@ subroutine DAMASK_interface_init call get_command_argument(i+1,arg,status=err) read(arg,*,iostat=stat) interface_restartInc if (interface_restartInc < 0 .or. stat /=0) then - write(6,'(/,a)') ' ERROR: Could not parse restart increment: '//trim(arg) + print'(/,a)', ' ERROR: Could not parse restart increment: '//trim(arg) call quit(1) endif end select @@ -181,7 +180,7 @@ subroutine DAMASK_interface_init enddo if (len_trim(loadcaseArg) == 0 .or. len_trim(geometryArg) == 0) then - write(6,'(/,a)') ' ERROR: Please specify geometry AND load case (-h for help)' + print'(/,a)', ' ERROR: Please specify geometry AND load case (-h for help)' call quit(1) endif @@ -192,21 +191,21 @@ subroutine DAMASK_interface_init call get_command(commandLine) call get_environment_variable('USER',userName) ! ToDo: https://stackoverflow.com/questions/8953424/how-to-get-the-username-in-c-c-in-linux - write(6,'(/,a,i4.1)') ' MPI processes: ',worldsize - write(6,'(a)') ' Host name: '//trim(getHostName()) - write(6,'(a)') ' User name: '//trim(userName) + print'(/,a,i4.1)', ' MPI processes: ',worldsize + print'(a)', ' Host name: '//trim(getHostName()) + print'(a)', ' User name: '//trim(userName) - write(6,'(/a)') ' Command line call: '//trim(commandLine) + print'(/a)', ' Command line call: '//trim(commandLine) if (len_trim(workingDirArg) > 0) & - write(6,'(a)') ' Working dir argument: '//trim(workingDirArg) - write(6,'(a)') ' Geometry argument: '//trim(geometryArg) - write(6,'(a)') ' Load case argument: '//trim(loadcaseArg) - write(6,'(a)') ' Working directory: '//getCWD() - write(6,'(a)') ' Geometry file: '//interface_geomFile - write(6,'(a)') ' Loadcase file: '//interface_loadFile - write(6,'(a)') ' Solver job name: '//getSolverJobName() + print'(a)', ' Working dir argument: '//trim(workingDirArg) + print'(a)', ' Geometry argument: '//trim(geometryArg) + print'(a)', ' Load case argument: '//trim(loadcaseArg) + print'(a)', ' Working directory: '//getCWD() + print'(a)', ' Geometry file: '//interface_geomFile + print'(a)', ' Loadcase file: '//interface_loadFile + print'(a)', ' Solver job name: '//getSolverJobName() if (interface_restartInc > 0) & - write(6,'(a,i6.6)') ' Restart from increment: ', interface_restartInc + print'(a,i6.6)', ' Restart from increment: ', interface_restartInc !call signalterm_c(c_funloc(catchSIGTERM)) call signalusr1_c(c_funloc(catchSIGUSR1)) @@ -239,7 +238,7 @@ subroutine setWorkingDirectory(workingDirectoryArg) workingDirectory = trim(rectifyPath(workingDirectory)) error = setCWD(trim(workingDirectory)) if(error) then - write(6,'(/,a)') ' ERROR: Invalid Working directory: '//trim(workingDirectory) + print*, 'ERROR: Invalid Working directory: '//trim(workingDirectory) call quit(1) endif @@ -283,7 +282,7 @@ function getGeometryFile(geometryParameter) inquire(file=getGeometryFile, exist=file_exists) if (.not. file_exists) then - write(6,'(/,a)') ' ERROR: Geometry file does not exists ('//trim(getGeometryFile)//')' + print*, 'ERROR: Geometry file does not exists: '//trim(getGeometryFile) call quit(1) endif @@ -306,7 +305,7 @@ function getLoadCaseFile(loadCaseParameter) inquire(file=getLoadCaseFile, exist=file_exists) if (.not. file_exists) then - write(6,'(/,a)') ' ERROR: Load case file does not exists ('//trim(getLoadCaseFile)//')' + print*, 'ERROR: Load case file does not exists: '//trim(getLoadCaseFile) call quit(1) endif @@ -397,7 +396,7 @@ subroutine catchSIGTERM(signal) bind(C) integer(C_INT), value :: signal interface_SIGTERM = .true. - write(6,'(a,i2.2,a)') ' received signal ',signal, ', set SIGTERM=TRUE' + print'(a,i2.2,a)', ' received signal ',signal, ', set SIGTERM=TRUE' end subroutine catchSIGTERM @@ -422,7 +421,7 @@ subroutine catchSIGUSR1(signal) bind(C) integer(C_INT), value :: signal interface_SIGUSR1 = .true. - write(6,'(a,i2.2,a)') ' received signal ',signal, ', set SIGUSR1=TRUE' + print'(a,i2.2,a)', ' received signal ',signal, ', set SIGUSR1=TRUE' end subroutine catchSIGUSR1 @@ -447,7 +446,7 @@ subroutine catchSIGUSR2(signal) bind(C) integer(C_INT), value :: signal interface_SIGUSR2 = .true. - write(6,'(a,i2.2,a)') ' received signal ',signal, ', set SIGUSR2=TRUE' + print'(a,i2.2,a)', ' received signal ',signal, ', set SIGUSR2=TRUE' end subroutine catchSIGUSR2 diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 0e5aabc85..9a81a441b 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -186,19 +186,19 @@ subroutine spectral_utilities_init num_grid, & debug_grid ! pointer to grid debug options - write(6,'(/,a)') ' <<<+- spectral_utilities init -+>>>' + print'(/,a)', ' <<<+- spectral_utilities init -+>>>' - write(6,'(/,a)') ' Diehl, Diploma Thesis TU München, 2010' - write(6,'(a)') ' https://doi.org/10.13140/2.1.3234.3840' + print*, 'Diehl, Diploma Thesis TU München, 2010' + print*, 'https://doi.org/10.13140/2.1.3234.3840'//IO_EOL - write(6,'(/,a)') ' Eisenlohr et al., International Journal of Plasticity 46:37–53, 2013' - write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2012.09.012' + print*, 'Eisenlohr et al., International Journal of Plasticity 46:37–53, 2013' + print*, 'https://doi.org/10.1016/j.ijplas.2012.09.012'//IO_EOL - write(6,'(/,a)') ' Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' - write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2014.02.006' + print*, 'Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' + print*, 'https://doi.org/10.1016/j.ijplas.2014.02.006'//IO_EOL - write(6,'(/,a)') ' Shanthraj et al., Handbook of Mechanics of Materials, 2019' - write(6,'(a)') ' https://doi.org/10.1007/978-981-10-6855-3_80' + print*, 'Shanthraj et al., Handbook of Mechanics of Materials, 2019' + print*, 'https://doi.org/10.1007/978-981-10-6855-3_80' !-------------------------------------------------------------------------------------------------- ! set debugging parameters @@ -226,8 +226,8 @@ subroutine spectral_utilities_init grid1Red = grid(1)/2 + 1 wgt = 1.0/real(product(grid),pReal) - write(6,'(/,a,3(i12 ))') ' grid a b c: ', grid - write(6,'(a,3(es12.5))') ' size x y z: ', geomSize + print'(/,a,3(i12 ))', ' grid a b c: ', grid + print'(a,3(es12.5))', ' size x y z: ', geomSize num%memory_efficient = num_grid%get_asInt('memory_efficient', defaultVal=1) > 0 ! ToDo: should be logical in YAML file num%divergence_correction = num_grid%get_asInt('divergence_correction', defaultVal=2) From 3ebba9b3c0e55f9bfddb355b357de1e11f91dec7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 21:21:55 +0200 Subject: [PATCH 602/958] more sensible locations for reporting --- src/DAMASK_interface.f90 | 1 - src/grid/discretization_grid.f90 | 4 ++++ src/grid/spectral_utilities.f90 | 3 --- src/parallelization.f90 | 7 ++++--- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index fbd6f02ce..46ecd4da0 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -191,7 +191,6 @@ subroutine DAMASK_interface_init call get_command(commandLine) call get_environment_variable('USER',userName) ! ToDo: https://stackoverflow.com/questions/8953424/how-to-get-the-username-in-c-c-in-linux - print'(/,a,i4.1)', ' MPI processes: ',worldsize print'(a)', ' Host name: '//trim(getHostName()) print'(a)', ' User name: '//trim(userName) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index fa732863a..2b6199a33 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -73,6 +73,10 @@ subroutine discretization_grid_init(restart) call readGeom(grid,geomSize,origin,microstructureAt) endif + print'(/,a,3(i12 ))', ' grid a b c: ', grid + print'(a,3(es12.5))', ' size x y z: ', geomSize + print'(a,3(es12.5))', ' origin x y z: ', origin + !-------------------------------------------------------------------------------------------------- ! grid solver specific quantities if(worldsize>grid(3)) call IO_error(894, ext_msg='number of processes exceeds grid(3)') diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 9a81a441b..1dc66a23f 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -226,9 +226,6 @@ subroutine spectral_utilities_init grid1Red = grid(1)/2 + 1 wgt = 1.0/real(product(grid),pReal) - print'(/,a,3(i12 ))', ' grid a b c: ', grid - print'(a,3(es12.5))', ' size x y z: ', geomSize - num%memory_efficient = num_grid%get_asInt('memory_efficient', defaultVal=1) > 0 ! ToDo: should be logical in YAML file num%divergence_correction = num_grid%get_asInt('divergence_correction', defaultVal=2) diff --git a/src/parallelization.f90 b/src/parallelization.f90 index fc1effd54..341b620c9 100644 --- a/src/parallelization.f90 +++ b/src/parallelization.f90 @@ -36,7 +36,7 @@ subroutine parallelization_init PetscErrorCode :: petsc_err #else - write(6,'(/,a)') ' <<<+- parallelization init -+>>>'; flush(6) + print'(/,a)', ' <<<+- parallelization init -+>>>'; flush(6) #endif #ifdef PETSc @@ -54,7 +54,8 @@ subroutine parallelization_init call MPI_Comm_rank(PETSC_COMM_WORLD,worldrank,err) if (err /= 0) error stop 'Could not determine worldrank' - if (worldrank == 0) write(6,'(/,a)') ' <<<+- parallelization init -+>>>'; flush(6) + if (worldrank == 0) print'(/,a)', ' <<<+- parallelization init -+>>>' + if (worldrank == 0) print'(a,i3)', ' MPI processes: ',worldsize call MPI_Comm_size(PETSC_COMM_WORLD,worldsize,err) if (err /= 0) error stop 'Could not determine worldsize' @@ -88,7 +89,7 @@ subroutine parallelization_init !$ DAMASK_NUM_THREADS = 1_pI32 !$ endif !$ endif -!$ write(6,'(a,i8)') ' DAMASK_NUM_THREADS: ',DAMASK_NUM_THREADS +!$ print'(a,i2)', ' DAMASK_NUM_THREADS: ',DAMASK_NUM_THREADS !$ call omp_set_num_threads(DAMASK_NUM_THREADS) end subroutine parallelization_init From c6907bfa4b7442289618ef46009e766c578173df Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 14 Sep 2020 06:13:58 +0200 Subject: [PATCH 603/958] [skip ci] updated version information after successful test of v3.0.0-alpha-147-gf0806a9e --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 5dac27a44..2d2d2952b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-136-gc0ea8e3f +v3.0.0-alpha-147-gf0806a9e From f6758ecc283a3d71e9144c967c13c32dbad119e9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 14 Sep 2020 07:04:01 +0200 Subject: [PATCH 604/958] table class operates out of place --- .gitlab-ci.yml | 7 - processing/post/DADF5_postResults.py | 4 +- processing/post/addCompatibilityMismatch.py | 12 +- processing/post/addCurl.py | 6 +- processing/post/addDerivative.py | 6 +- processing/post/addDisplacement.py | 20 +-- processing/post/addDivergence.py | 6 +- processing/post/addEuclideanDistance.py | 6 +- processing/post/addGaussian.py | 10 +- processing/post/addGradient.py | 6 +- processing/post/addIndexed.py | 64 --------- processing/post/addLinked.py | 118 ---------------- processing/post/addOrientations.py | 10 +- processing/post/addSchmidfactors.py | 2 +- processing/post/groupTable.py | 142 -------------------- processing/post/permuteData.py | 2 +- processing/pre/seeds_fromGeom.py | 5 +- processing/pre/seeds_fromRandom.py | 4 +- python/damask/_table.py | 77 +++++++---- python/tests/test_Orientation.py | 2 +- python/tests/test_Table.py | 47 +++---- 21 files changed, 121 insertions(+), 435 deletions(-) delete mode 100755 processing/post/addIndexed.py delete mode 100755 processing/post/addLinked.py delete mode 100755 processing/post/groupTable.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4c33f83e7..9407ffc7c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -141,13 +141,6 @@ Pre_General: - release ################################################################################################### -Post_ASCIItable: - stage: postprocessing - script: ASCIItable/test.py - except: - - master - - release - Post_General: stage: postprocessing script: PostProcessing/test.py diff --git a/processing/post/DADF5_postResults.py b/processing/post/DADF5_postResults.py index 08c8c7070..9c520ac33 100755 --- a/processing/post/DADF5_postResults.py +++ b/processing/post/DADF5_postResults.py @@ -39,7 +39,7 @@ for filename in options.filenames: N_digits = 5 # hack to keep test intact for inc in damask.util.show_progress(results.iterate('increments'),len(results.increments)): table = damask.Table(np.ones(np.product(results.grid),dtype=int)*int(inc[3:]),{'inc':(1,)}) - table.add('pos',coords.reshape(-1,3)) + table = table.add('pos',coords.reshape(-1,3)) results.pick('materialpoints',False) results.pick('constituents', True) @@ -53,7 +53,7 @@ for filename in options.filenames: for label in options.mat: x = results.get_dataset_location(label) if len(x) != 0: - table.add(label,results.read_dataset(x,0,plain=True).reshape(results.grid.prod(),-1)) + table = table.add(label,results.read_dataset(x,0,plain=True).reshape(results.grid.prod(),-1)) dirname = os.path.abspath(os.path.join(os.path.dirname(filename),options.dir)) if not os.path.isdir(dirname): diff --git a/processing/post/addCompatibilityMismatch.py b/processing/post/addCompatibilityMismatch.py index bd55ab66a..5009d44a0 100755 --- a/processing/post/addCompatibilityMismatch.py +++ b/processing/post/addCompatibilityMismatch.py @@ -181,14 +181,14 @@ for name in filenames: if options.shape: centers = damask.grid_filters.cell_coord(size,F) shapeMismatch = shapeMismatch(size,F,nodes,centers) - table.add('shapeMismatch(({}))'.format(options.defgrad), - shapeMismatch.reshape(-1,1,order='F'), - scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('shapeMismatch(({}))'.format(options.defgrad), + shapeMismatch.reshape(-1,1,order='F'), + scriptID+' '+' '.join(sys.argv[1:])) if options.volume: volumeMismatch = volumeMismatch(size,F,nodes) - table.add('volMismatch(({}))'.format(options.defgrad), - volumeMismatch.reshape(-1,1,order='F'), - scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('volMismatch(({}))'.format(options.defgrad), + volumeMismatch.reshape(-1,1,order='F'), + scriptID+' '+' '.join(sys.argv[1:])) table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addCurl.py b/processing/post/addCurl.py index a9ddc8ae8..1033e3303 100755 --- a/processing/post/addCurl.py +++ b/processing/post/addCurl.py @@ -51,8 +51,8 @@ for name in filenames: shape = (3,) if np.prod(field.shape)//np.prod(grid) == 3 else (3,3) # vector or tensor field = field.reshape(tuple(grid)+(-1,),order='F').reshape(tuple(grid)+shape) curl = damask.grid_filters.curl(size,field) - table.add('curlFFT({})'.format(label), - curl.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape),order='F'), - scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('curlFFT({})'.format(label), + curl.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape),order='F'), + scriptID+' '+' '.join(sys.argv[1:])) table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addDerivative.py b/processing/post/addDerivative.py index 9030ae83b..b6b19c98a 100755 --- a/processing/post/addDerivative.py +++ b/processing/post/addDerivative.py @@ -67,8 +67,8 @@ for name in filenames: table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) for label in options.labels: - table.add('d({})/d({})'.format(label,options.coordinates), - derivative(table.get(options.coordinates),table.get(label)), - scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('d({})/d({})'.format(label,options.coordinates), + derivative(table.get(options.coordinates),table.get(label)), + scriptID+' '+' '.join(sys.argv[1:])) table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addDisplacement.py b/processing/post/addDisplacement.py index 80725410d..f1ab565b0 100755 --- a/processing/post/addDisplacement.py +++ b/processing/post/addDisplacement.py @@ -53,19 +53,19 @@ for name in filenames: F = table.get(options.f).reshape(tuple(grid)+(-1,),order='F').reshape(tuple(grid)+(3,3)) if options.nodal: table = damask.Table(damask.grid_filters.node_coord0(grid,size).reshape(-1,3,order='F'), - {'pos':(3,)}) - table.add('avg({}).{}'.format(options.f,options.pos), - damask.grid_filters.node_displacement_avg(size,F).reshape(-1,3,order='F'), - scriptID+' '+' '.join(sys.argv[1:])) - table.add('fluct({}).{}'.format(options.f,options.pos), - damask.grid_filters.node_displacement_fluct(size,F).reshape(-1,3,order='F'), - scriptID+' '+' '.join(sys.argv[1:])) + {'pos':(3,)})\ + .add('avg({}).{}'.format(options.f,options.pos), + damask.grid_filters.node_displacement_avg(size,F).reshape(-1,3,order='F'), + scriptID+' '+' '.join(sys.argv[1:]))\ + .add('fluct({}).{}'.format(options.f,options.pos), + damask.grid_filters.node_displacement_fluct(size,F).reshape(-1,3,order='F'), + scriptID+' '+' '.join(sys.argv[1:])) table.to_file(sys.stdout if name is None else os.path.splitext(name)[0]+'_nodal.txt') else: - table.add('avg({}).{}'.format(options.f,options.pos), + table = table.add('avg({}).{}'.format(options.f,options.pos), damask.grid_filters.cell_displacement_avg(size,F).reshape(-1,3,order='F'), - scriptID+' '+' '.join(sys.argv[1:])) - table.add('fluct({}).{}'.format(options.f,options.pos), + scriptID+' '+' '.join(sys.argv[1:]))\ + .add('fluct({}).{}'.format(options.f,options.pos), damask.grid_filters.cell_displacement_fluct(size,F).reshape(-1,3,order='F'), scriptID+' '+' '.join(sys.argv[1:])) table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addDivergence.py b/processing/post/addDivergence.py index 9abe1e2c6..6495793cf 100755 --- a/processing/post/addDivergence.py +++ b/processing/post/addDivergence.py @@ -51,8 +51,8 @@ for name in filenames: shape = (3,) if np.prod(field.shape)//np.prod(grid) == 3 else (3,3) # vector or tensor field = field.reshape(tuple(grid)+(-1,),order='F').reshape(tuple(grid)+shape) div = damask.grid_filters.divergence(size,field) - table.add('divFFT({})'.format(label), - div.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape)//3,order='F'), - scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('divFFT({})'.format(label), + div.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape)//3,order='F'), + scriptID+' '+' '.join(sys.argv[1:])) table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addEuclideanDistance.py b/processing/post/addEuclideanDistance.py index 921afc826..f5cf58ab3 100755 --- a/processing/post/addEuclideanDistance.py +++ b/processing/post/addEuclideanDistance.py @@ -180,8 +180,8 @@ for name in filenames: for i,feature in enumerate(feature_list): - table.add('ED_{}({})'.format(features[feature]['names'][0],options.id), - distance[i,:], - scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('ED_{}({})'.format(features[feature]['names'][0],options.id), + distance[i,:], + scriptID+' '+' '.join(sys.argv[1:])) table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addGaussian.py b/processing/post/addGaussian.py index 93397e215..8e58da884 100755 --- a/processing/post/addGaussian.py +++ b/processing/post/addGaussian.py @@ -67,10 +67,10 @@ for name in filenames: damask.grid_filters.coord0_check(table.get(options.pos)) for label in options.labels: - table.add('Gauss{}({})'.format(options.sigma,label), - ndimage.filters.gaussian_filter(table.get(label).reshape(-1), - options.sigma,options.order, - mode = 'wrap' if options.periodic else 'nearest'), - scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('Gauss{}({})'.format(options.sigma,label), + ndimage.filters.gaussian_filter(table.get(label).reshape(-1), + options.sigma,options.order, + mode = 'wrap' if options.periodic else 'nearest'), + scriptID+' '+' '.join(sys.argv[1:])) table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addGradient.py b/processing/post/addGradient.py index 3aee29374..718a972f3 100755 --- a/processing/post/addGradient.py +++ b/processing/post/addGradient.py @@ -51,8 +51,8 @@ for name in filenames: shape = (1,) if np.prod(field.shape)//np.prod(grid) == 1 else (3,) # scalar or vector field = field.reshape(tuple(grid)+(-1,),order='F') grad = damask.grid_filters.gradient(size,field) - table.add('gradFFT({})'.format(label), - grad.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape)*3,order='F'), - scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('gradFFT({})'.format(label), + grad.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape)*3,order='F'), + scriptID+' '+' '.join(sys.argv[1:])) table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addIndexed.py b/processing/post/addIndexed.py deleted file mode 100755 index 50db36c20..000000000 --- a/processing/post/addIndexed.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Add data in column(s) of mapped ASCIItable selected from the row indexed by the value in a mapping column. -Row numbers start at 1. - -""", version = scriptID) - -parser.add_option('--index', - dest = 'index', - type = 'string', metavar = 'string', - help = 'column label containing row index') -parser.add_option('-o','--offset', - dest = 'offset', - type = 'int', metavar = 'int', - help = 'constant offset for index column value [%default]') -parser.add_option('-l','--label', - dest = 'label', - action = 'extend', metavar = '', - help = 'column label(s) to be appended') -parser.add_option('-a','--asciitable', - dest = 'asciitable', - type = 'string', metavar = 'string', - help = 'indexed ASCIItable') - -parser.set_defaults(offset = 0, - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -if options.label is None: - parser.error('no data columns specified.') -if options.index is None: - parser.error('no index column given.') - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - indexedTable = damask.Table.from_ASCII(options.asciitable) - idx = np.reshape(table.get(options.index).astype(int) + options.offset,(-1))-1 - - for data in options.label: - table.add(data+'_addIndexed',indexedTable.get(data)[idx],scriptID+' '+' '.join(sys.argv[1:])) - - table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addLinked.py b/processing/post/addLinked.py deleted file mode 100755 index 9b09cb7c7..000000000 --- a/processing/post/addLinked.py +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from optparse import OptionParser - -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Add data of selected column(s) from (first) row of linked ASCIItable that shares the linking column value. - -""", version = scriptID) - -parser.add_option('--link', - dest = 'link', nargs = 2, - type = 'string', metavar = 'string string', - help = 'column labels of table and linked table containing linking values') -parser.add_option('-l','--label', - dest = 'label', - action = 'extend', metavar = '', - help = 'column label(s) to add from linked ASCIItable') -parser.add_option('-a','--asciitable', - dest = 'asciitable', - type = 'string', metavar = 'string', - help = 'linked ASCIItable') - -parser.set_defaults() - -(options,filenames) = parser.parse_args() - -if options.label is None: - parser.error('no data columns specified.') -if options.link is None: - parser.error('no linking columns given.') - -# -------------------------------------- process linked ASCIItable -------------------------------- - -if options.asciitable is not None and os.path.isfile(options.asciitable): - - linkedTable = damask.ASCIItable(name = options.asciitable, readonly = True) - linkedTable.head_read() # read ASCII header info of linked table - linkDim = linkedTable.label_dimension(options.link[1]) # dimension of linking column - - missing_labels = linkedTable.data_readArray([options.link[1]]+options.label) # try reading linked ASCII table - linkedTable.close() # close linked ASCII table - - if len(missing_labels) > 0: - damask.util.croak('column{} {} not found...'.format('s' if len(missing_labels) > 1 else '',', '.join(missing_labels))) - if len(missing_labels) >= len(options.label): - damask.util.croak('aborting...') - sys.exit() - - index = linkedTable.data[:,:linkDim] - data = linkedTable.data[:,linkDim:] -else: - parser.error('no linked ASCIItable given.') - -# --- loop over input files ----------------------------------------------------------------------- - -if filenames == []: filenames = [None] - -for name in filenames: - try: - table = damask.ASCIItable(name = name) - except IOError: - continue - damask.util.report(scriptName,"{} {} <== {} {}".format(name,damask.util.deemph('@ '+options.link[0]), - options.asciitable,damask.util.deemph('@ '+options.link[1]))) - -# ------------------------------------------ read header ------------------------------------------ - - table.head_read() - -# ------------------------------------------ sanity checks ---------------------------------------- - - errors = [] - - myLink = table.label_index (options.link[0]) - myLinkDim = table.label_dimension(options.link[0]) - if myLink < 0: errors.append('linking column {} not found.'.format(options.link[0])) - if myLinkDim != linkDim: errors.append('dimension mismatch for column {}.'.format(options.link[0])) - - if errors != []: - damask.util.croak(errors) - table.close(dismiss = True) - continue - -# ------------------------------------------ assemble header -------------------------------------- - - table.info_append(scriptID + '\t' + ' '.join(sys.argv[1:])) - table.labels_append(linkedTable.labels(raw = True)[linkDim:]) # extend with new labels (except for linked column) - - table.head_write() - -# ------------------------------------------ process data ------------------------------------------ - - outputAlive = True - while outputAlive and table.data_read(): # read next data line of ASCII table - try: - table.data_append(data[np.argwhere(np.all((list(map(float,table.data[myLink:myLink+myLinkDim])) - index)==0, - axis=1))[0]]) # add data of first matching line - except IndexError: - table.data_append(np.nan*np.ones_like(data[0])) # or add NaNs - outputAlive = table.data_write() # output processed line - -# ------------------------------------------ output finalization ----------------------------------- - - table.close() # close ASCII tables diff --git a/processing/post/addOrientations.py b/processing/post/addOrientations.py index 51d668eb9..dddc14193 100755 --- a/processing/post/addOrientations.py +++ b/processing/post/addOrientations.py @@ -137,14 +137,14 @@ for name in filenames: if 'rodrigues' in options.output: - table.add('ro({})'.format(label),o.as_Rodrigues(), scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('ro({})'.format(label),o.as_Rodrigues(), scriptID+' '+' '.join(sys.argv[1:])) if 'eulers' in options.output: - table.add('eu({})'.format(label),o.as_Eulers(options.degrees), scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('eu({})'.format(label),o.as_Eulers(options.degrees), scriptID+' '+' '.join(sys.argv[1:])) if 'quaternion' in options.output: - table.add('qu({})'.format(label),o.as_quaternion(), scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('qu({})'.format(label),o.as_quaternion(), scriptID+' '+' '.join(sys.argv[1:])) if 'matrix' in options.output: - table.add('om({})'.format(label),o.as_matrix(), scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('om({})'.format(label),o.as_matrix(), scriptID+' '+' '.join(sys.argv[1:])) if 'axisangle' in options.output: - table.add('om({})'.format(label),o.as_axisangle(options.degrees), scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('om({})'.format(label),o.as_axisangle(options.degrees), scriptID+' '+' '.join(sys.argv[1:])) table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/addSchmidfactors.py b/processing/post/addSchmidfactors.py index 26a0c5c93..dc4117d78 100755 --- a/processing/post/addSchmidfactors.py +++ b/processing/post/addSchmidfactors.py @@ -187,6 +187,6 @@ for name in filenames: np.einsum('ijk,ik->ij',slip_normal, (o@normal))) for i,label in enumerate(labels): - table.add(label,S[:,i],scriptID+' '+' '.join(sys.argv[1:])) + table = table.add(label,S[:,i],scriptID+' '+' '.join(sys.argv[1:])) table.to_file(sys.stdout if name is None else name) diff --git a/processing/post/groupTable.py b/processing/post/groupTable.py deleted file mode 100755 index a73e7d505..000000000 --- a/processing/post/groupTable.py +++ /dev/null @@ -1,142 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from optparse import OptionParser, OptionGroup -import math # noqa - -import numpy as np - -import damask - - -def periodicAverage(coords, limits): - """Centroid in periodic domain, see https://en.wikipedia.org/wiki/Center_of_mass#Systems_with_periodic_boundary_conditions.""" - theta = 2.0*np.pi * (coords - limits[0])/(limits[1] - limits[0]) - theta_avg = np.pi + np.arctan2(-np.sin(theta).mean(axis=0), -np.cos(theta).mean(axis=0)) - return limits[0] + theta_avg * (limits[1] - limits[0])/2.0/np.pi - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Apply a user-specified function to condense into a single row all those rows for which columns 'label' have identical values. -Output table will contain as many rows as there are different (unique) values in the grouping column(s). -Periodic domain averaging of coordinate values is supported. - -Examples: -For grain averaged values, replace all rows of particular 'texture' with a single row containing their average. -{name} --label texture --function np.average data.txt -""".format(name = scriptName), version = scriptID) - -parser.add_option('-l','--label', - dest = 'label', - action = 'extend', metavar = '', - help = 'column label(s) for grouping rows') -parser.add_option('-f','--function', - dest = 'function', - type = 'string', metavar = 'string', - help = 'mapping function [%default]') -parser.add_option('-a','--all', - dest = 'all', - action = 'store_true', - help = 'apply mapping function also to grouping column(s)') - -group = OptionGroup(parser, "periodic averaging", "") - -group.add_option ('-p','--periodic', - dest = 'periodic', - action = 'extend', metavar = '', - help = 'coordinate label(s) to average across periodic domain') -group.add_option ('--limits', - dest = 'boundary', - type = 'float', metavar = 'float float', nargs = 2, - help = 'min and max of periodic domain %default') - -parser.add_option_group(group) - -parser.set_defaults(function = 'np.average', - all = False, - label = [], - boundary = [0.0, 1.0]) - -(options,filenames) = parser.parse_args() - -funcModule,funcName = options.function.split('.') - -try: - mapFunction = getattr(locals().get(funcModule) or - globals().get(funcModule) or - __import__(funcModule), - funcName) -except Exception: - mapFunction = None - -if options.label is []: - parser.error('no grouping column specified.') -if not hasattr(mapFunction,'__call__'): - parser.error('function "{}" is not callable.'.format(options.function)) - - -# --- loop over input files ------------------------------------------------------------------------- - -if filenames == []: filenames = [None] - -for name in filenames: - try: - table = damask.ASCIItable(name = name) - except IOError: - continue - damask.util.report(scriptName,name) - -# ------------------------------------------ sanity checks --------------------------------------- - - remarks = [] - errors = [] - - table.head_read() - grpColumns = table.label_index(options.label)[::-1] - grpColumns = grpColumns[np.where(grpColumns>=0)] - - if len(grpColumns) == 0: errors.append('no valid grouping column present.') - - if remarks != []: damask.util.croak(remarks) - if errors != []: - damask.util.croak(errors) - table.close(dismiss=True) - continue - -# ------------------------------------------ assemble info --------------------------------------- - - table.info_append(scriptID + '\t' + ' '.join(sys.argv[1:])) - table.head_write() - -# ------------------------------------------ process data -------------------------------- - - table.data_readArray() - indexrange = table.label_indexrange(options.periodic) if options.periodic is not None else [] - rows,cols = table.data.shape - - table.data = table.data[np.lexsort(table.data[:,grpColumns].T)] # sort data by grpColumn(s) - values,index = np.unique(table.data[:,grpColumns], axis=0, return_index=True) # unique grpColumn values and their positions - index = sorted(np.append(index,rows)) # add termination position - grpTable = np.empty((len(values), cols)) # initialize output - - for i in range(len(values)): # iterate over groups (unique values in grpColumn) - grpTable[i] = np.apply_along_axis(mapFunction,0,table.data[index[i]:index[i+1]]) # apply (general) mapping function - grpTable[i,indexrange] = \ - periodicAverage(table.data[index[i]:index[i+1],indexrange],options.boundary) # apply periodicAverage mapping function - - if not options.all: grpTable[i,grpColumns] = table.data[index[i],grpColumns] # restore grouping column value - - table.data = grpTable - -# ------------------------------------------ output result ------------------------------- - - table.data_writeArray() - table.close() # close ASCII table diff --git a/processing/post/permuteData.py b/processing/post/permuteData.py index 766558216..316fdd3da 100755 --- a/processing/post/permuteData.py +++ b/processing/post/permuteData.py @@ -56,6 +56,6 @@ for name in filenames: data = table.get(label) uniques,inverse = np.unique(data,return_inverse=True,axis=0) if options.unique else (data,np.arange(len(data))) rng.shuffle(uniques) - table.set(label,uniques[inverse], scriptID+' '+' '.join(sys.argv[1:])) + table = table.set(label,uniques[inverse], scriptID+' '+' '.join(sys.argv[1:])) table.to_file(sys.stdout if name is None else name) diff --git a/processing/pre/seeds_fromGeom.py b/processing/pre/seeds_fromGeom.py index ab64c6b1e..97550ce13 100755 --- a/processing/pre/seeds_fromGeom.py +++ b/processing/pre/seeds_fromGeom.py @@ -64,6 +64,5 @@ for name in filenames: 'homogenization\t{}'.format(geom.homogenization)] table = damask.Table(seeds[mask],{'pos':(3,)},comments) - table.add('microstructure',microstructure[mask]) - table.to_file(sys.stdout if name is None else \ - os.path.splitext(name)[0]+'.seeds') + table = table.add('microstructure',microstructure[mask]) + table.to_file(sys.stdout if name is None else os.path.splitext(name)[0]+'.seeds') diff --git a/processing/pre/seeds_fromRandom.py b/processing/pre/seeds_fromRandom.py index b9e419391..a544528cf 100755 --- a/processing/pre/seeds_fromRandom.py +++ b/processing/pre/seeds_fromRandom.py @@ -155,11 +155,11 @@ for name in filenames: ] table = damask.Table(np.hstack((seeds,eulers)),{'pos':(3,),'euler':(3,)},comments) - table.add('microstructure',np.arange(options.microstructure,options.microstructure + options.N,dtype=int)) + table = table.add('microstructure',np.arange(options.microstructure,options.microstructure + options.N,dtype=int)) if options.weights: weights = np.random.uniform(low = 0, high = options.max, size = options.N) if options.max > 0.0 \ else np.random.normal(loc = options.mean, scale = options.sigma, size = options.N) - table.add('weight',weights) + table = table.add('weight',weights) table.to_file(sys.stdout if name is None else name) diff --git a/python/damask/_table.py b/python/damask/_table.py index 180c51f6f..b4fd2975a 100644 --- a/python/damask/_table.py +++ b/python/damask/_table.py @@ -1,4 +1,5 @@ import re +import copy import pandas as pd import numpy as np @@ -29,6 +30,15 @@ class Table: self._label_condensed() + def __copy__(self): + """Copy Table.""" + return copy.deepcopy(self) + + def copy(self): + """Copy Table.""" + return self.__copy__() + + def _label_flat(self): """Label data individually, e.g. v v v ==> 1_v 2_v 3_v.""" labels = [] @@ -191,15 +201,16 @@ class Table: Human-readable information about the new data. """ - self._add_comment(label,data.shape[1:],info) + dup = self.copy() + dup._add_comment(label,data.shape[1:],info) if re.match(r'[0-9]*?_',label): idx,key = label.split('_',1) - iloc = self.data.columns.get_loc(key).tolist().index(True) + int(idx) -1 - self.data.iloc[:,iloc] = data + iloc = dup.data.columns.get_loc(key).tolist().index(True) + int(idx) -1 + dup.data.iloc[:,iloc] = data else: - self.data[label] = data.reshape(self.data[label].shape) - + dup.data[label] = data.reshape(dup.data[label].shape) + return dup def add(self,label,data,info=None): """ @@ -215,15 +226,17 @@ class Table: Human-readable information about the modified data. """ - self._add_comment(label,data.shape[1:],info) + dup = self.copy() + dup._add_comment(label,data.shape[1:],info) - self.shapes[label] = data.shape[1:] if len(data.shape) > 1 else (1,) + dup.shapes[label] = data.shape[1:] if len(data.shape) > 1 else (1,) size = np.prod(data.shape[1:],dtype=int) new = pd.DataFrame(data=data.reshape(-1,size), columns=[label]*size, ) - new.index = self.data.index - self.data = pd.concat([self.data,new],axis=1) + new.index = dup.data.index + dup.data = pd.concat([dup.data,new],axis=1) + return dup def delete(self,label): @@ -236,25 +249,31 @@ class Table: Column label. """ - self.data.drop(columns=label,inplace=True) - del self.shapes[label] + dup = self.copy() + dup.data.drop(columns=label,inplace=True) + del dup.shapes[label] + return dup - def rename(self,label_old,label_new,info=None): + def rename(self,old,new,info=None): """ Rename column data. Parameters ---------- - label_old : str - Old column label. - label_new : str - New column label. + label_old : str or iterable of str + Old column label(s). + label_new : str or iterable of str + New column label(s). """ - self.data.rename(columns={label_old:label_new},inplace=True) - self.comments.append(f'{label_old} => {label_new}'+('' if info is None else f': {info}')) - self.shapes = {(label if label != label_old else label_new):self.shapes[label] for label in self.shapes} + dup = self.copy() + columns = dict(zip([old] if isinstance(old,str) else old, + [new] if isinstance(new,str) else new)) + dup.data.rename(columns=columns,inplace=True) + dup.comments.append(f'{old} => {new}'+('' if info is None else f': {info}')) + dup.shapes = {(label if label not in columns else columns[label]):dup.shapes[label] for label in dup.shapes} + return dup def sort_by(self,labels,ascending=True): @@ -269,10 +288,12 @@ class Table: Set sort order. """ - self._label_flat() - self.data.sort_values(labels,axis=0,inplace=True,ascending=ascending) - self._label_condensed() - self.comments.append(f'sorted by [{", ".join(labels)}]') + dup = self.copy() + dup._label_flat() + dup.data.sort_values(labels,axis=0,inplace=True,ascending=ascending) + dup._label_condensed() + dup.comments.append(f'sorted {"ascending" if ascending else "descending"} by {labels}') + return dup def append(self,other): @@ -290,7 +311,9 @@ class Table: if self.shapes != other.shapes or not self.data.columns.equals(other.data.columns): raise KeyError('Labels or shapes or order do not match') else: - self.data = self.data.append(other.data,ignore_index=True) + dup = self.copy() + dup.data = dup.data.append(other.data,ignore_index=True) + return dup def join(self,other): @@ -308,9 +331,11 @@ class Table: if set(self.shapes) & set(other.shapes) or self.data.shape[0] != other.data.shape[0]: raise KeyError('Dublicated keys or row count mismatch') else: - self.data = self.data.join(other.data) + dup = self.copy() + dup.data = dup.data.join(other.data) for key in other.shapes: - self.shapes[key] = other.shapes[key] + dup.shapes[key] = other.shapes[key] + return dup def to_file(self,fname,format='ASCII',new_style=False): diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index 636eeb0c4..9a23dc0ed 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -105,7 +105,7 @@ class TestOrientation: if update: coords = np.array([(1,i+1) for i,x in enumerate(eu)]) table = Table(eu,{'Eulers':(3,)}) - table.add('pos',coords) + table = table.add('pos',coords) table.to_ASCII(reference) assert np.allclose(eu,Table.from_ASCII(reference).get('Eulers')) diff --git a/python/tests/test_Table.py b/python/tests/test_Table.py index 6f9eca2d5..1763e27ef 100644 --- a/python/tests/test_Table.py +++ b/python/tests/test_Table.py @@ -81,13 +81,11 @@ class TestTable: Table.from_ASCII(f) def test_set(self,default): - default.set('F',np.zeros((5,3,3)),'set to zero') - d=default.get('F') + d = default.set('F',np.zeros((5,3,3)),'set to zero').get('F') assert np.allclose(d,0.0) and d.shape[1:] == (3,3) def test_set_component(self,default): - default.set('1_F',np.zeros((5)),'set to zero') - d=default.get('F') + d = default.set('1_F',np.zeros((5)),'set to zero').get('F') assert np.allclose(d[...,0,0],0.0) and d.shape[1:] == (3,3) def test_labels(self,default): @@ -95,36 +93,34 @@ class TestTable: def test_add(self,default): d = np.random.random((5,9)) - default.add('nine',d,'random data') - assert np.allclose(d,default.get('nine')) + assert np.allclose(d,default.add('nine',d,'random data').get('nine')) def test_rename_equivalent(self): x = np.random.random((5,13)) t = Table(x,{'F':(3,3),'v':(3,),'s':(1,)},['random test data']) s = t.get('s') - t.rename('s','u') - u = t.get('u') + u = t.rename('s','u').get('u') assert np.all(s == u) def test_rename_gone(self,default): - default.rename('v','V') - assert 'v' not in default.shapes and 'v' not in default.data.columns + gone = default.rename('v','V') + assert 'v' not in gone.shapes and 'v' not in gone.data.columns with pytest.raises(KeyError): - default.get('v') + gone.get('v') def test_delete(self,default): - default.delete('v') - assert 'v' not in default.shapes and 'v' not in default.data.columns + delete = default.delete('v') + assert 'v' not in delete.shapes and 'v' not in delete.data.columns with pytest.raises(KeyError): - default.get('v') + delete.get('v') def test_join(self): x = np.random.random((5,13)) a = Table(x,{'F':(3,3),'v':(3,),'s':(1,)},['random test data']) y = np.random.random((5,3)) b = Table(y,{'u':(3,)},['random test data']) - a.join(b) - assert np.array_equal(a.get('u'), b.get('u')) + c = a.join(b) + assert np.array_equal(c.get('u'), b.get('u')) def test_join_invalid(self): x = np.random.random((5,13)) @@ -135,8 +131,8 @@ class TestTable: def test_append(self): x = np.random.random((5,13)) a = Table(x,{'F':(3,3),'v':(3,),'s':(1,)},['random test data']) - a.append(a) - assert np.array_equal(a.data[:5].to_numpy(),a.data[5:].to_numpy()) + b = a.append(a) + assert np.array_equal(b.data[:5].to_numpy(),b.data[5:].to_numpy()) def test_append_invalid(self): x = np.random.random((5,13)) @@ -163,29 +159,26 @@ class TestTable: x = np.random.random((5,13)) t = Table(x,{'F':(3,3),'v':(3,),'s':(1,)},['random test data']) unsort = t.get('s') - t.sort_by('s') - sort = t.get('s') + sort = t.sort_by('s').get('s') assert np.all(np.sort(unsort,0)==sort) def test_sort_component(self): x = np.random.random((5,12)) t = Table(x,{'F':(3,3),'v':(3,)},['random test data']) unsort = t.get('4_F') - t.sort_by('4_F') - sort = t.get('4_F') + sort = t.sort_by('4_F').get('4_F') assert np.all(np.sort(unsort,0)==sort) def test_sort_revert(self): x = np.random.random((5,12)) t = Table(x,{'F':(3,3),'v':(3,)},['random test data']) - t.sort_by('4_F',ascending=False) - sort = t.get('4_F') + sort = t.sort_by('4_F',ascending=False).get('4_F') assert np.all(np.sort(sort,0)==sort[::-1,:]) def test_sort(self): t = Table(np.array([[0,1,],[2,1,]]), {'v':(2,)}, - ['test data']) - t.add('s',np.array(['b','a'])) - t.sort_by('s') + ['test data'])\ + .add('s',np.array(['b','a']))\ + .sort_by('s') assert np.all(t.get('1_v') == np.array([2,0]).reshape(2,1)) From e0375ef5ddcfaba9043c2dcbde94af18da5aa8ac Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 14 Sep 2020 08:09:49 +0200 Subject: [PATCH 605/958] testset without tests for old shell scripts --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 92ca3e83b..1e398d1e3 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 92ca3e83b6093c1af277cfc06a504e4bb09fe8bc +Subproject commit 1e398d1e3a4cd627d1902285159c7711a4a4e9d4 From 1da0c64fd41e0f746a7497aef9d8ae70d31435a6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 14 Sep 2020 10:52:59 +0200 Subject: [PATCH 606/958] fixed tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 1e398d1e3..dc3aa7b20 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 1e398d1e3a4cd627d1902285159c7711a4a4e9d4 +Subproject commit dc3aa7b20590f9f72afc6a3d2c4cbee0424208a6 From 7d6a1dc58373672b8ae08e0934c488e606cac732 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 14 Sep 2020 11:52:54 +0200 Subject: [PATCH 607/958] 'fixed' broken test actually, old pandas version was broken. Now (after an update) it should work --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index dc3aa7b20..8e3ca0385 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit dc3aa7b20590f9f72afc6a3d2c4cbee0424208a6 +Subproject commit 8e3ca03857b569ffa73baf78ac0cffd288e4eec2 From 8a32a1529929399a1c26f9ef3ca3fa01a02b43ca Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 14 Sep 2020 12:17:43 +0200 Subject: [PATCH 608/958] changed to out-of-place mode --- PRIVATE | 2 +- processing/post/DADF5_postResults.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PRIVATE b/PRIVATE index 8e3ca0385..3a43b550b 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 8e3ca03857b569ffa73baf78ac0cffd288e4eec2 +Subproject commit 3a43b550b5a0054c708e7cc5b70af9dd6a41d141 diff --git a/processing/post/DADF5_postResults.py b/processing/post/DADF5_postResults.py index 9c520ac33..e81330581 100755 --- a/processing/post/DADF5_postResults.py +++ b/processing/post/DADF5_postResults.py @@ -46,7 +46,7 @@ for filename in options.filenames: for label in options.con: x = results.get_dataset_location(label) if len(x) != 0: - table.add(label,results.read_dataset(x,0,plain=True).reshape(results.grid.prod(),-1)) + table = table.add(label,results.read_dataset(x,0,plain=True).reshape(results.grid.prod(),-1)) results.pick('constituents', False) results.pick('materialpoints',True) From 2b51dc43fae3144cf24ece644b74517fd674b100 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Mon, 14 Sep 2020 12:45:03 +0200 Subject: [PATCH 609/958] updated remaining models --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 4301cb854..8a35b8834 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 4301cb854d79e4ad206af16b2570877113cd24ec +Subproject commit 8a35b8834010dedb453b9e5ad7bbc5791ab25e11 From 89f25eb7d7932306294023ad11f0374eb2e46f2e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 14 Sep 2020 14:06:09 +0200 Subject: [PATCH 610/958] use reasonable tolerances for checking regular grid spacing --- src/grid/discretization_grid.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 7c089cc88..89e0cce23 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -433,7 +433,7 @@ subroutine readVTR(grid,geomSize,origin,microstructure) coords = as_pReal(base64_str,headerType,compressed,dataType) delta = coords(2:) - coords(:size(coords)-1) - if(any(delta<0.0_pReal) .or. dNeq(maxval(delta),minval(delta))) & + if(any(delta<0.0_pReal) .or. dNeq(maxval(delta),minval(delta),1.0e-8_pReal*maxval(abs(coords)))) & call IO_error(error_ID = 844, ext_msg = 'grid spacing') grid(direction) = size(coords)-1 From 4738ab6a5997263aaf0ca5d3fb4f54098135584b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 14 Sep 2020 14:15:55 +0200 Subject: [PATCH 611/958] out-of place example test --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 3a43b550b..6abc9c275 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 3a43b550b5a0054c708e7cc5b70af9dd6a41d141 +Subproject commit 6abc9c2757794b345bcf81d7c966de312b8fb93d From a2e942033607a9d764aa5d64154001b364d7b5ff Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 14 Sep 2020 14:58:44 +0200 Subject: [PATCH 612/958] boundary conditions to not change during iteration --- src/grid/DAMASK_grid.f90 | 90 ++++++++++---------- src/grid/grid_mech_FEM.f90 | 21 +++-- src/grid/grid_mech_spectral_basic.f90 | 21 ++--- src/grid/grid_mech_spectral_polarisation.f90 | 21 ++--- 4 files changed, 73 insertions(+), 80 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 0e30025d8..08f2e3f88 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -23,7 +23,7 @@ program DAMASK_grid use grid_damage_spectral use grid_thermal_spectral use results - + implicit none !-------------------------------------------------------------------------------------------------- @@ -87,7 +87,7 @@ program DAMASK_grid mech_updateCoords procedure(grid_mech_spectral_basic_restartWrite), pointer :: & mech_restartWrite - + external :: & quit class (tNode), pointer :: & @@ -96,10 +96,10 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! init DAMASK (all modules) - - call CPFEM_initAll + + call CPFEM_initAll write(6,'(/,a)') ' <<<+- DAMASK_spectral init -+>>>'; flush(6) - + write(6,'(/,a)') ' Shanthraj et al., Handbook of Mechanics of Materials, 2019' write(6,'(a)') ' https://doi.org/10.1007/978-981-10-6855-3_80' @@ -122,16 +122,16 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! assign mechanics solver depending on selected type - + debug_grid => debug_root%get('grid',defaultVal=emptyList) - select case (trim(num_grid%get_asString('solver', defaultVal = 'Basic'))) + select case (trim(num_grid%get_asString('solver', defaultVal = 'Basic'))) case ('Basic') mech_init => grid_mech_spectral_basic_init mech_forward => grid_mech_spectral_basic_forward mech_solution => grid_mech_spectral_basic_solution mech_updateCoords => grid_mech_spectral_basic_updateCoords mech_restartWrite => grid_mech_spectral_basic_restartWrite - + case ('Polarisation') if(debug_grid%contains('basic')) & call IO_warning(42, ext_msg='debug Divergence') @@ -140,7 +140,7 @@ program DAMASK_grid mech_solution => grid_mech_spectral_polarisation_solution mech_updateCoords => grid_mech_spectral_polarisation_updateCoords mech_restartWrite => grid_mech_spectral_polarisation_restartWrite - + case ('FEM') if(debug_grid%contains('basic')) & call IO_warning(42, ext_msg='debug Divergence') @@ -149,24 +149,24 @@ program DAMASK_grid mech_solution => grid_mech_FEM_solution mech_updateCoords => grid_mech_FEM_updateCoords mech_restartWrite => grid_mech_FEM_restartWrite - + case default call IO_error(error_ID = 891, ext_msg = trim(num_grid%get_asString('solver'))) - + end select - + !-------------------------------------------------------------------------------------------------- -! reading information from load case file and to sanity checks +! reading information from load case file and to sanity checks fileContent = IO_readlines(trim(loadCaseFile)) if(size(fileContent) == 0) call IO_error(307,ext_msg='No load case specified') - + allocate (loadCases(0)) ! array of load cases do currentLoadCase = 1, size(fileContent) line = fileContent(currentLoadCase) if (IO_isBlank(line)) cycle chunkPos = IO_stringPos(line) - + do i = 1, chunkPos(1) ! reading compulsory parameters for loadcase select case (IO_lc(IO_stringValue(line,chunkPos,i))) case('l','fdot','dotf','f') @@ -179,7 +179,7 @@ program DAMASK_grid enddo if ((N_def /= N_n) .or. (N_n /= N_t) .or. N_n < 1) & ! sanity check call IO_error(error_ID=837,el=currentLoadCase,ext_msg = trim(loadCaseFile)) ! error message for incomplete loadcase - + newLoadCase%stress%myType='stress' field = 1 newLoadCase%ID(field) = FIELD_MECH_ID ! mechanical active by default @@ -191,7 +191,7 @@ program DAMASK_grid field = field + 1 newLoadCase%ID(field) = FIELD_DAMAGE_ID endif damageActive - + call newLoadCase%rot%fromEulers(real([0.0,0.0,0.0],pReal)) readIn: do i = 1, chunkPos(1) select case (IO_lc(IO_stringValue(line,chunkPos,i))) @@ -257,9 +257,9 @@ program DAMASK_grid call newLoadCase%rot%fromMatrix(math_9to33(temp_valueVector)) end select enddo readIn - + newLoadCase%followFormerTrajectory = merge(.true.,.false.,currentLoadCase > 1) ! by default, guess from previous load case - + reportAndCheck: if (worldrank == 0) then write (loadcase_string, '(i0)' ) currentLoadCase write(6,'(/,1x,a,i0)') 'load case: ', currentLoadCase @@ -324,13 +324,13 @@ program DAMASK_grid select case (loadCases(1)%ID(field)) case(FIELD_MECH_ID) call mech_init - + case(FIELD_THERMAL_ID) call grid_thermal_spectral_init - + case(FIELD_DAMAGE_ID) call grid_damage_spectral_init - + end select enddo @@ -348,16 +348,16 @@ program DAMASK_grid '.sta',form='FORMATTED', position='APPEND', status='OLD') endif writeHeader endif - + writeUndeformed: if (interface_restartInc < 1) then write(6,'(1/,a)') ' ... writing initial configuration to file ........................' call CPFEM_results(0,0.0_pReal) endif writeUndeformed - + loadCaseLooping: do currentLoadCase = 1, size(loadCases) time0 = time ! load case start time guess = loadCases(currentLoadCase)%followFormerTrajectory ! change of load case? homogeneous guess for the first inc - + incLooping: do inc = 1, loadCases(currentLoadCase)%incs totalIncsCounter = totalIncsCounter + 1 @@ -382,13 +382,13 @@ program DAMASK_grid endif endif timeinc = timeinc * real(subStepFactor,pReal)**real(-cutBackLevel,pReal) ! depending on cut back level, decrease time step - + skipping: if (totalIncsCounter <= interface_restartInc) then ! not yet at restart inc? time = time + timeinc ! just advance time, skip already performed calculation guess = .true. ! QUESTION:why forced guessing instead of inheriting loadcase preference else skipping stepFraction = 0 ! fraction scaled by stepFactor**cutLevel - + subStepLooping: do while (stepFraction < subStepFactor**cutBackLevel) remainingLoadCaseTime = loadCases(currentLoadCase)%time+time0 - time time = time + timeinc ! forward target time @@ -417,7 +417,7 @@ program DAMASK_grid deformation_BC = loadCases(currentLoadCase)%deformation, & stress_BC = loadCases(currentLoadCase)%stress, & rotation_BC = loadCases(currentLoadCase)%rot) - + case(FIELD_THERMAL_ID); call grid_thermal_spectral_forward(cutBack) case(FIELD_DAMAGE_ID); call grid_damage_spectral_forward(cutBack) end select @@ -432,21 +432,21 @@ program DAMASK_grid do field = 1, nActiveFields select case(loadCases(currentLoadCase)%ID(field)) case(FIELD_MECH_ID) - solres(field) = mech_solution (& - incInfo,timeinc,timeIncOld, & + solres(field) = mech_solution(& + incInfo, & stress_BC = loadCases(currentLoadCase)%stress, & rotation_BC = loadCases(currentLoadCase)%rot) - + case(FIELD_THERMAL_ID) solres(field) = grid_thermal_spectral_solution(timeinc,timeIncOld) - + case(FIELD_DAMAGE_ID) solres(field) = grid_damage_spectral_solution(timeinc,timeIncOld) - + end select - + if (.not. solres(field)%converged) exit ! no solution found - + enddo stagIter = stagIter + 1 stagIterate = stagIter < stagItMax & @@ -480,17 +480,17 @@ program DAMASK_grid if (worldrank == 0) close(statUnit) call quit(0) ! quit endif - + enddo subStepLooping - + cutBackLevel = max(0, cutBackLevel - 1) ! try half number of subincs next inc - + if (all(solres(:)%converged)) then write(6,'(/,a,i0,a)') ' increment ', totalIncsCounter, ' converged' else write(6,'(/,a,i0,a)') ' increment ', totalIncsCounter, ' NOT converged' endif; flush(6) - + if (mod(inc,loadCases(currentLoadCase)%outputFrequency) == 0) then ! at output frequency write(6,'(1/,a)') ' ... writing results to file ......................................' flush(6) @@ -501,17 +501,17 @@ program DAMASK_grid call CPFEM_restartWrite endif endif skipping - + enddo incLooping - + enddo loadCaseLooping - - + + !-------------------------------------------------------------------------------------------------- ! report summary of whole calculation write(6,'(/,a)') ' ###########################################################################' if (worldrank == 0) close(statUnit) - + call quit(0) ! no complains ;) - + end program DAMASK_grid diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index e8e1345ef..f89e4fec9 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -268,15 +268,12 @@ end subroutine grid_mech_FEM_init !-------------------------------------------------------------------------------------------------- !> @brief solution for the FEM scheme with internal iterations !-------------------------------------------------------------------------------------------------- -function grid_mech_FEM_solution(incInfoIn,timeinc,timeinc_old,stress_BC,rotation_BC) result(solution) +function grid_mech_FEM_solution(incInfoIn,stress_BC,rotation_BC) result(solution) !-------------------------------------------------------------------------------------------------- ! input data for solution character(len=*), intent(in) :: & incInfoIn - real(pReal), intent(in) :: & - timeinc, & !< time increment of current solution - timeinc_old !< time increment of last successful increment type(tBoundaryCondition), intent(in) :: & stress_BC type(rotation), intent(in) :: & @@ -293,13 +290,6 @@ function grid_mech_FEM_solution(incInfoIn,timeinc,timeinc_old,stress_BC,rotation !-------------------------------------------------------------------------------------------------- ! update stiffness (and gamma operator) S = utilities_maskedCompliance(rotation_BC,stress_BC%maskLogical,C_volAvg) -!-------------------------------------------------------------------------------------------------- -! set module wide available data - params%stress_mask = stress_BC%maskFloat - params%stress_BC = stress_BC%values - params%rotation_BC = rotation_BC - params%timeinc = timeinc - params%timeincOld = timeinc_old !-------------------------------------------------------------------------------------------------- ! solve BVP @@ -341,6 +331,15 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, PetscScalar, pointer, dimension(:,:,:,:) :: & u_current,u_lastInc +!-------------------------------------------------------------------------------------------------- +! set module wide available data + params%stress_mask = stress_BC%maskFloat + params%stress_BC = stress_BC%values + params%rotation_BC = rotation_BC + params%timeinc = timeinc + params%timeincOld = timeinc_old + + call DMDAVecGetArrayF90(mech_grid,solution_current,u_current,ierr); CHKERRQ(ierr) call DMDAVecGetArrayF90(mech_grid,solution_lastInc,u_lastInc,ierr); CHKERRQ(ierr) diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 66694e516..2b5e55e45 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -232,15 +232,12 @@ end subroutine grid_mech_spectral_basic_init !-------------------------------------------------------------------------------------------------- !> @brief solution for the basic scheme with internal iterations !-------------------------------------------------------------------------------------------------- -function grid_mech_spectral_basic_solution(incInfoIn,timeinc,timeinc_old,stress_BC,rotation_BC) result(solution) +function grid_mech_spectral_basic_solution(incInfoIn,stress_BC,rotation_BC) result(solution) !-------------------------------------------------------------------------------------------------- ! input data for solution character(len=*), intent(in) :: & incInfoIn - real(pReal), intent(in) :: & - timeinc, & !< time increment of current solution - timeinc_old !< time increment of last successful increment type(tBoundaryCondition), intent(in) :: & stress_BC type(rotation), intent(in) :: & @@ -259,14 +256,6 @@ function grid_mech_spectral_basic_solution(incInfoIn,timeinc,timeinc_old,stress_ S = utilities_maskedCompliance(rotation_BC,stress_BC%maskLogical,C_volAvg) if(num%update_gamma) call utilities_updateGamma(C_minMaxAvg) -!-------------------------------------------------------------------------------------------------- -! set module wide available data - params%stress_mask = stress_BC%maskFloat - params%stress_BC = stress_BC%values - params%rotation_BC = rotation_BC - params%timeinc = timeinc - params%timeincOld = timeinc_old - !-------------------------------------------------------------------------------------------------- ! solve BVP call SNESsolve(snes,PETSC_NULL_VEC,solution_vec,ierr); CHKERRQ(ierr) @@ -306,6 +295,14 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo PetscErrorCode :: ierr PetscScalar, dimension(:,:,:,:), pointer :: F +!-------------------------------------------------------------------------------------------------- +! set module wide available data + params%stress_mask = stress_BC%maskFloat + params%stress_BC = stress_BC%values + params%rotation_BC = rotation_BC + params%timeinc = timeinc + params%timeincOld = timeinc_old + call DMDAVecGetArrayF90(da,solution_vec,F,ierr); CHKERRQ(ierr) if (cutBack) then diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index f6d1b9ebb..0cd40545d 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -259,15 +259,12 @@ end subroutine grid_mech_spectral_polarisation_init !-------------------------------------------------------------------------------------------------- !> @brief solution for the Polarisation scheme with internal iterations !-------------------------------------------------------------------------------------------------- -function grid_mech_spectral_polarisation_solution(incInfoIn,timeinc,timeinc_old,stress_BC,rotation_BC) result(solution) +function grid_mech_spectral_polarisation_solution(incInfoIn,stress_BC,rotation_BC) result(solution) !-------------------------------------------------------------------------------------------------- ! input data for solution character(len=*), intent(in) :: & incInfoIn - real(pReal), intent(in) :: & - timeinc, & !< time increment of current solution - timeinc_old !< time increment of last successful increment type(tBoundaryCondition), intent(in) :: & stress_BC type(rotation), intent(in) :: & @@ -290,14 +287,6 @@ function grid_mech_spectral_polarisation_solution(incInfoIn,timeinc,timeinc_old, S_scale = math_invSym3333(C_minMaxAvg) endif -!-------------------------------------------------------------------------------------------------- -! set module wide available data - params%stress_mask = stress_BC%maskFloat - params%stress_BC = stress_BC%values - params%rotation_BC = rotation_BC - params%timeinc = timeinc - params%timeincOld = timeinc_old - !-------------------------------------------------------------------------------------------------- ! solve BVP call SNESsolve(snes,PETSC_NULL_VEC,solution_vec,ierr); CHKERRQ(ierr) @@ -339,6 +328,14 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc integer :: i, j, k real(pReal), dimension(3,3) :: F_lambda33 +!-------------------------------------------------------------------------------------------------- +! set module wide available data + params%stress_mask = stress_BC%maskFloat + params%stress_BC = stress_BC%values + params%rotation_BC = rotation_BC + params%timeinc = timeinc + params%timeincOld = timeinc_old + call DMDAVecGetArrayF90(da,solution_vec,FandF_tau,ierr); CHKERRQ(ierr) F => FandF_tau(0: 8,:,:,:) F_tau => FandF_tau(9:17,:,:,:) From df548e95fc70894b7b11a4ea0eee0e859d826a81 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Mon, 14 Sep 2020 15:11:48 +0200 Subject: [PATCH 613/958] [skip ci] added reference to explain Fp_0 = O_0 --- src/crystallite.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 9d2d534d7..018293f63 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -255,7 +255,7 @@ subroutine crystallite_init do e = FEsolving_execElem(1),FEsolving_execElem(2) myNcomponents = homogenization_Ngrains(material_homogenizationAt(e)) do i = FEsolving_execIP(1), FEsolving_execIP(2); do c = 1, myNcomponents - crystallite_Fp0(1:3,1:3,c,i,e) = material_orientation0(c,i,e)%asMatrix() ! plastic def gradient reflects init orientation + crystallite_Fp0(1:3,1:3,c,i,e) = material_orientation0(c,i,e)%asMatrix() ! Fp reflects initial orientation (see 10.1016/j.actamat.2006.01.005) crystallite_Fp0(1:3,1:3,c,i,e) = crystallite_Fp0(1:3,1:3,c,i,e) & / math_det33(crystallite_Fp0(1:3,1:3,c,i,e))**(1.0_pReal/3.0_pReal) crystallite_Fi0(1:3,1:3,c,i,e) = constitutive_initialFi(c,i,e) From 4406493def1370208ccacde0479f07444f989be2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 14 Sep 2020 17:08:31 +0200 Subject: [PATCH 614/958] non-dot versions are handled as integers --- installation/mods_MarcMentat/apply_DAMASK_modifications.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/installation/mods_MarcMentat/apply_DAMASK_modifications.py b/installation/mods_MarcMentat/apply_DAMASK_modifications.py index deea560ac..909dfa35a 100755 --- a/installation/mods_MarcMentat/apply_DAMASK_modifications.py +++ b/installation/mods_MarcMentat/apply_DAMASK_modifications.py @@ -8,6 +8,8 @@ from pathlib import Path import damask marc_version = float(damask.environment.options['MARC_VERSION']) +if int(marc_version) == marc_version: + marc_version = int(marc_version) msc_root = Path(damask.environment.options['MSC_ROOT']) damask_root = damask.environment.root_dir From dbb6c8f8676dba23277a95f045b2a7a666ab0f9f Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Mon, 14 Sep 2020 18:26:41 +0200 Subject: [PATCH 615/958] missing menu file --- .../2020/Mentat_menus/job_run.ms | 2973 +++++++++++++++++ 1 file changed, 2973 insertions(+) create mode 100644 installation/mods_MarcMentat/2020/Mentat_menus/job_run.ms diff --git a/installation/mods_MarcMentat/2020/Mentat_menus/job_run.ms b/installation/mods_MarcMentat/2020/Mentat_menus/job_run.ms new file mode 100644 index 000000000..2429f1f3a --- /dev/null +++ b/installation/mods_MarcMentat/2020/Mentat_menus/job_run.ms @@ -0,0 +1,2973 @@ +#ifndef AUTOFORGE +popmenu job_title_pm file jobs.ms +popdown job_title_ok file jobs.ms + +group user_domains_gr file domain_decomposition.ms +group user_domains_generate_gr file domain_decomposition.ms +group user_domains_tail_gr file domain_decomposition.ms +group matrix_solver_gr file job_common.ms +popmenu ddm_options file job_common.ms + +browser edit_browser file file.ms +browser directory_browser file file.ms +screen domains file domain_decomposition.ms + +frame job_properties_subm_header_fr file job_common.ms +frame job_properties_subm_footer_fr file job_common.ms + + +browser usersub_file_browser { + text "$usersub_file_browser_label" ($usersub_file_browser_label) + filter "*.f *.F *.f90 *.F90" + select_files true + command "$usersub_file_browser_command" ($usersub_file_browser_command) +} + + + +browser host_file_browser { + text "$host_file_browser_label" ($host_file_browser_label) + filter "*" + select_files true + command "$host_file_browser_command" ($host_file_browser_command) +} + + +#-------------------------------------------------------------------------------------------------- +popmenu job_run_popmenu { + + text "RUN JOB" + + group { + + frame { + position 1 1 + size 60 4 + group { + label { + position 0 1 + size 15 4 + text "NAME" + help job_run + } + display { + position +12 = + size 45 4 + display "job_name" + } + label { + position 0 +4 + size 15 4 + text "TYPE" + help job_run + } + display { + position +12 = + size 45 4 + display job_class_label + } + } + } + + frame { + text "USER SUBROUTINES" + position 1 +4 + size 60 4 + group { + button { + position 0 0 + size 30 4 + text "FORTRAN SOURCE FILE" + help "job_run#User Subroutines" + browser usersub_file_browser + settext $usersub_file_browser_label "SELECT USER SUBROUTINE FILE" + set $usersub_file_browser_command "*job_usersub_file" + } + toggle { + position +30 = + size 30 4 + text "SELECTED USER SUBS" + help "job_run#User Subroutines" + toggle job_usersubs + active job_usersubs + popmenu job_usersub_pm + } + display { + position 0 +4 + size 60 4 + display job_usersub_file + visible job_usersub_file + } + button { + position 0 +4 + size 15 4 + text "EDIT" + help "job_run#User Subroutines" + command "*job_edit_usersub_file" + visible job_usersub_file + } + button { + position +15 = + size 15 4 + text "CLEAR" + help "job_run#User Subroutines" + command "*job_clear_usersub_file" + visible job_usersub_file + } + roller { + position +15 = + size 30 4 + nvalues 3 + texts "COMPILE / NO SAVE" + "COMPILE AND SAVE" + "RUN SAVED EXECUTABLE" + help "job_run#User Subroutines" + roller "job_option user_source" + visible job_usersub_file + commands "*job_option user_source:compile_nosave" + "*job_option user_source:compile_save" + "*job_option user_source:run_saved" + } + } + } + + frame { + text "SOLVER/PARALLELIZATION" + position 1 +4 + size 60 4 + group { + button { + position 0 0 + size 30 4 + text "SETTINGS" + help "job_run#Solver/Parallelization" + popmenu job_run_parallelization_pm + set $popname2 "job_run_parallelization_pm" + } + display { + position 0 +4 + size 30 4 + display job_solver_solution + } + display { + position +30 = + size 30 4 + display job_ddm_domains + } + display { + position 0 +4 + size 30 4 + display job_solver_type + } + display { + position +30 = + size 30 4 + display job_assem_recov_nthreads + } + display { + position = +4 + size 30 4 + display job_solver_procs + visible solver_allows_multi_procs + } + display { + position = = + size 18 4 + display job_solver_threads + visible "and(solver_allows_multi_threads,\ + not(and(job_solver_mfront_sparse,\ + *job_option parallel:on)),\ + *job_option solver_use_gpu:off)" + } + display { + position +18 = + size 12 4 + display job_solver_gpu + visible "or(and(job_solver_mfront_sparse,job_nonsym_off), \ + and(job_solver_it_sparse,job_nonsym_off))" + } + } + } + + frame { + text "INPUT STYLE AND JOB TITLE" + position 1 +4 + size 60 4 + group { + +# see also job_common.ms +# see also the ADVANCED JOB SUBMISSION popmenu in this file + + label { + position 0 0 + size 8 4 + text "STYLE" + help "job_run#Input Style And Job Title" + border_width 1 + border_color black + } + roller { + position +8 = + size 22 4 + nvalues 3 + texts "TABLE-DRIVEN" + "MULTI-PHYSICS" + "OLD" + rollers "job_input_style_table_driven" + "job_input_style_multi_physics" + "job_input_style_old" + commands "*job_option input_style:new *job_option input_physics_style:old" + "*job_option input_physics_style:new *job_option input_style:new" + "*job_option input_style:old *job_option input_physics_style:old" + visibles "job_allows_input_style_table_driven" + "job_allows_input_style_multi_physics" + "job_allows_input_style_old" + help "job_run#Input Style And Job Title" + } + button { + position +22 = + size 15 4 + text "TITLE" + help "job_run#Input Style And Job Title" + popmenu job_title_pm + command "*job_title" + } + button { + position +15 = + size 15 4 + text "SAVE MODEL" + help "job_run#Input Style And Job Title" + command "*save_model" + } + } + } + + frame { + text "JOB SUBMISSION AND CONTROL" + position 1 +4 + size 60 4 + group { + frame { + position 1 1 + size 50 4 + group { + button { + position 0 0 + size 25 4 + text "SUBMIT (1)" + help "job_run#Job Submission And Control" + command "*submit_job 1 *monitor_job" + } + button { + position +25 = + size 18 4 + text "ADVANCED JOB SUBMISSION" + help "job_run#Job Submission And Control" + popmenu job_submit_adv_pm + } + button { + position +18 = + size 7 4 + text "DAMASK" + help "damask_run#Job Submission And Control" + popmenu damask + } + button { + position 0 +4 + size 12 4 + text "UPDATE" + help "job_run#Job Submission And Control" + command "*update_job" + } + button { + position +12 = + size 13 4 + text "MONITOR" + help "job_run#Job Submission And Control" + command "*monitor_job" + } + button { + position +13 = + size 12 4 + text "RESET" + help "job_run#Job Submission And Control" + command "*job_submit_reset" + } + button { + position +12 = + size 13 4 + text "KILL" + help "job_run#Job Submission And Control" + command "*kill_job *monitor_job" + active "job_status_running" + } + } + } + + frame { + position 1 5 + size 50 4 + group { + label { + position 0 +4 + size 25 4 + text "STATUS" + help "job_run#Status" + border_width 1 + border_color black + } + display { + position +25 = + size 25 4 + display "job_status" + } + label { + position 0 +4 + size 25 4 + text "CURRENT INCREMENT (CYCLE)" + help "job_run#Current Increment" + border_width 1 + border_color black + } + display { + position +25 = + size 25 4 + display "job_increment" + } + label { + position 0 +4 + size 25 4 + text "SINGULARITY RATIO" + help "job_run#Singularity Ratio" + border_width 1 + border_color black + } + float { + position +25 = + size 25 4 + display "job_singularity_ratio" + } + label { + position 0 +4 + size 25 4 + text "CONVERGENCE RATIO" + help "job_run#Convergence Ratio" + border_width 1 + border_color black + } + float { + position +25 = + size 25 4 + display "job_convergence_ratio" + } + label { + position 0 +4 + size 25 4 + text "FRACTION OF INCREMENT (CONTACT)" + help "job_run#IPC" + border_width 1 + border_color black + } + float { + position +25 = + size 25 4 + display "job_ipc_fraction" + } + label { + position 0 +4 + size 25 4 + text "ANALYSIS TIME" + help "job_run#Analysis Time" + border_width 1 + border_color black + } + float { + position +25 = + size 25 4 + display "job_analysis_time" + } + } + } + + frame { + position 1 +4 + size 50 4 + group { + + frame { + position 0 0 + size 50 4 + text "ACCUMULATED ANALYSIS STATISTICS" + border_width 1 + border_color black + group { + label { + position 0 0 + size 12 4 + text "CYCLES" + help "job_run#Cycles" + border_width 1 + border_color black + } + integer { + position +12 = + size 12 4 + display "acc_job_cycles" + border_width 1 + border_color black + } + label { + position -12 +4 + size 12 4 + text "SEPARATIONS" + help "job_run#Separations" + border_width 1 + border_color black + } + integer { + position +12 = + size 12 4 + display "acc_job_separations" + border_width 1 + border_color black + } + label { + position -12 +4 + size 12 4 + text "WARNING MESSAGES" + help "job_run#Warnings" + border_width 1 + border_color black + } + integer { + position +12 = + size 12 4 + display "number_of_warning_messages" + border_width 1 + border_color black + } + label { + position +12 -8 + size 12 4 + text "CUT BACKS" + help "job_run#Cut Backs" + border_width 1 + border_color black + } + integer { + position +12 = + size 12 4 + display "acc_job_cut_backs" + border_width 1 + border_color black + } + label { + position -12 +4 + size 12 4 + text "REMESHES" + help "job_run#Remeshes" + border_width 1 + border_color black + } + integer { + position +12 = + size 12 4 + display "acc_job_remeshes" + border_width 1 + border_color black + } + label { + position -12 +4 + size 12 4 + text "WALL TIME" + help "job_run#Wall Time" + border_width 1 + border_color black + } + display { + position +12 = + size 12 4 + display "job_time" + } + } + } + + frame { + position 0 +4 + size 50 4 + text "JOB COMPLETION" + border_width 1 + border_color black + group { + label { + position 0 +4 + size 12 4 + text "EXIT NUMBER" + help "job_run#Exit Number" + border_width 1 + border_color black + } + integer { + position +12 = + size 13 4 + display "job_exit" + } + button { + position +13 = + size 25 4 + text "EXIT MESSAGE" + help "job_run#Exit Number" + popmenu job_exit_msg_pm + } + } + } + } + } + } + } + frame { + text "EDIT FILES" + position 1 +4 + size 60 4 + group { + frame { + position 1 1 + size 60 4 + group { + button { + position 0 +4 + size 15 4 + text "OUTPUT FILE" + help "job_run#Edit Files" + command "*job_edit_output" + } + button { + position +15 = + size 15 4 + text "LOG FILE" + help "job_run#Edit Files" + command "*job_edit_log_file" + } + button { + position +15 = + size 15 4 + text "STATUS FILE" + help "job_run#Edit Files" + command "*job_edit_status_file" + } + button { + position +15 = + size 15 4 + text "ANY FILE" + help "job_run#Edit Files" + settext $edit_browser_label "EDIT FILE" + set $edit_browser_command "*edit_file" + browser edit_browser + } + } + } + } + } + + frame { + position 1 +4 + size 60 4 + group { + layout hbox + spacer { + stretch 1 + } + popdown { + position 0 0 + size 60 4 + text "OPEN POST FILE" + help "job_run#Open Post File" + command "@popdown(job_properties_pm) @main(results) @popup(modelplot_pm) *post_open_default" + visible "not(*job_option write_cont_post_file:on)" + } + popdown { + position 0 0 + size 30 4 + text "OPEN POST FILE" + help "job_run#Open Post File" + command "@popdown(job_properties_pm) @main(results) @popup(modelplot_pm) *post_open_default" + visible "*job_option write_cont_post_file:on" + } + popdown { + position 0 0 + size 30 4 + text "OPEN EXPANDED BEAM POST FILE" + help "job_run#Open Expanded Beam Post File" + command "@popdown(job_properties_pm) @main(results) @popup(modelplot_pm) *post_open_con_default" + visible "*job_option write_cont_post_file:on" + } + spacer { + stretch 1 + } + } + } + + frame { + position 1 +5 + size 60 4 + group { + layout hbox + spacer { + stretch 1 + } + popdown { + size 12 4 + text "OK" + } + spacer { + stretch 1 + } + } + } + } + + window job_run_wi { + parent mentat + origin 35 1 + size 52 115 + background_color body + border_width 1 + border_color border + buffering single + } + + mode permanent +} + + +#-------------------------------------------------------------------------------------------------- +popmenu job_usersub_pm { + + text "CURRENTLY SELECTED USER SUBROUTINES" + + group { + + + display { + position 1 +5 + size 64 86 + display "job_usersubs" + } + + popdown { + position 27 +88 + size 12 8 + text "OK" + } + } + + window { + parent mentat + origin 38 8 + size 66 102 + background_color body + border_width 1 + border_color border + buffering single + } + + mode dialog +} + + +#-------------------------------------------------------------------------------------------------- +popmenu job_submit_adv_pm { + + text "ADVANCED JOB SUBMISSION" + + group { + + + label { + position 0 0 + size 6 4 + text "NAME" + } + + display { + position +6 = + size 26 4 + display "job_name" + } + + label { + position 0 +4 + size 6 4 + text "TYPE" + } + + display { + position +6 = + size 26 4 + display job_class_label + } + + label { + position 1 9 + size 19 4 + text "INITIAL ALLOCATION" + border_width 1 + border_color black + } + label { + position +19 = + size 15 4 + text "GENERAL MEMORY" + help job_param_general_init_allocation + } + text { + position +15 = + size 10 4 + display "job_param_value_general_init_allocation" + command "*job_param general_init_allocation" + help job_param_general_init_allocation + } + + label { + position +10 = + size 4 4 + text "MB" + border_width 1 + border_color black + } + + toggle { + position 1 +5 + size 32 4 + text "OUT-OF-CORE ELEMENT STORAGE" + help job_param_elsto + toggle "*job_option elsto:on" + true_command "*job_option elsto:on" + false_command "*job_option elsto:off" + } + + toggle { + position 1 +4 + size 32 4 + text "OUT-OF-CORE INCREMENTAL BACKUP" + help job_param_inc_backup_storage + toggle "*job_option inc_backup_storage:out_of_core" + true_command "*job_option inc_backup_storage:out_of_core" + false_command "*job_option inc_backup_storage:in_core" + } + + toggle { + position +34 = + size 14 4 + text "CHECK SIZES" + help job_run_check + toggle "*job_option check:on" + true_command "*job_option check:on" + false_command "*job_option check:off" + } + + frame { + position 1 +6 + size 48 12 + text "MARC INPUT FILE" + border_width 1 + border_color black + + group { + + label { + position 0 4 + size 9 4 + text "VERSION" + border_width 1 + border_color black + } + + roller { + position +9 = + size 14 4 + nvalues 29 + nvisible 29 + texts "DEFAULT" +#if 0 + "2020" +#endif + "2019.1" + "2019" + "2018.1" + "2018" + "2017.1" + "2017" + "2016" + "2015" + "2014.2" + "2014.1" + "2014" + "2013.1" + "2013" + "2012" + "2011" + "2010.2" + "2010" + "2008" + "2007" + "2005R3" + "2005" + "2003" + "2001" + "2000" +#if 0 + "8" +#endif + "K7" + "K6.2" + "K5" + "K4" + help job_param_version + rollers "job_input_version_default" +#if 0 + "job_input_version_2020" +#endif + "job_input_version_2019.1" + "job_input_version_2019" + "job_input_version_2018.1" + "job_input_version_2018" + "job_input_version_2017.1" + "job_input_version_2017" + "job_input_version_2016" + "job_input_version_2015" + "job_input_version_2014.2" + "job_input_version_2014.1" + "job_input_version_2014" + "job_input_version_2013.1" + "job_input_version_2013" + "job_input_version_2012" + "job_input_version_2011" + "job_input_version_2010.2" + "job_input_version_2010" + "job_input_version_2008" + "job_input_version_2007" + "job_input_version_2005r3" + "job_input_version_2005" + "job_input_version_2003" + "job_input_version_2001" + "job_input_version_2000" +#if 0 + "job_input_version_8" +#endif + "job_input_version_k7" + "job_input_version_k6" + "job_input_version_k5" + "job_input_version_k4" + commands "*job_option version:default" +#if 0 + "*job_option version:2020" +#endif + "*job_option version:2019.1" + "*job_option version:2019" + "*job_option version:2018.1" + "*job_option version:2018" + "*job_option version:2017.1" + "*job_option version:2017" + "*job_option version:2016" + "*job_option version:2015" + "*job_option version:2014.2" + "*job_option version:2014.1" + "*job_option version:2014" + "*job_option version:2013.1" + "*job_option version:2013" + "*job_option version:2012" + "*job_option version:2011" + "*job_option version:2010.2" + "*job_option version:2010" + "*job_option version:2008" + "*job_option version:2007" + "*job_option version:2005r3" + "*job_option version:2005" + "*job_option version:2003" + "*job_option version:2001" + "*job_option version:2000" +#if 0 + "*job_option version:8" +#endif + "*job_option version:k7" + "*job_option version:k6" + "*job_option version:k5" + "*job_option version:k4" + visibles "job_allows_input_version_default" +#if 0 + "job_allows_input_version_2020" +#endif + "job_allows_input_version_2019.1" + "job_allows_input_version_2019" + "job_allows_input_version_2018.1" + "job_allows_input_version_2018" + "job_allows_input_version_2017.1" + "job_allows_input_version_2017" + "job_allows_input_version_2016" + "job_allows_input_version_2015" + "job_allows_input_version_2014.2" + "job_allows_input_version_2014.1" + "job_allows_input_version_2014" + "job_allows_input_version_2013.1" + "job_allows_input_version_2013" + "job_allows_input_version_2012" + "job_allows_input_version_2011" + "job_allows_input_version_2010.2" + "job_allows_input_version_2010" + "job_allows_input_version_2008" + "job_allows_input_version_2007" + "job_allows_input_version_2005r3" + "job_allows_input_version_2005" + "job_allows_input_version_2003" + "job_allows_input_version_2001" + "job_allows_input_version_2000" +#if 0 + "job_allows_input_version_8" +#endif + "job_allows_input_version_k7" + "job_allows_input_version_k6" + "job_allows_input_version_k5" + "job_allows_input_version_k4" + } + +# see also job_common.ms +# see also the RUN JOB popmenu in this file + + label { + position +14 = + size 7 4 + text "STYLE" + border_width 1 + border_color black + } + + roller { + position +7 = + size 18 4 + nvalues 3 + texts "TABLE-DRIVEN" + "MULTI-PHYSICS" + "OLD" + rollers "job_input_style_table_driven" + "job_input_style_multi_physics" + "job_input_style_old" + commands "*job_option input_style:new *job_option input_physics_style:old" + "*job_option input_physics_style:new *job_option input_style:new" + "*job_option input_style:old *job_option input_physics_style:old" + visibles "job_allows_input_style_table_driven" + "job_allows_input_style_multi_physics" + "job_allows_input_style_old" + help job_option_input_style + } + + toggle { + position 0 +4 + size 24 4 + text "EXTENDED PRECISION" + help job_run_precision + toggle "*job_option inp_file_prec:extended" + true_command "*job_option inp_file_prec:extended" + false_command "*job_option inp_file_prec:normal" + } + toggle { + position +24 = + size 24 4 + text "INCLUDE UNUSED TABLES" + toggle "*job_option input_file_tables:all" + true_command "*job_option input_file_tables:all" + false_command "*job_option input_file_tables:used" + } + } + } + + button { + position 1 +14 + size 24 4 + text "SCRATCH DIRECTORY" + settext $directory_browser_label "JOB SCRATCH DIRECTORY" + set $directory_browser_command "*job_scratch_directory" + browser directory_browser + help job_scratch_directory + } + + button { + position +24 = + size 24 4 + text "CLEAR" + command "*job_clear_scratch_directory" + visible job_scratch_directory + } + + text { + position 1 +4 + size 48 4 + display job_scratch_dir + command "*job_scratch_directory" + } + +#ifdef DCOM + toggle { + position 1 +6 + size 8 4 + text "\{DCOM}" + toggle "*job_option dcom:on" + help job_run_dcom + true_command "*job_option dcom:on" + false_command "*job_option dcom:off" + visible win32_available + } + + button { + position +8 = + size 12 4 + text "HOSTNAME" + command "*job_dcom_hostname" + visible "and(win32_available, *job_option dcom:on)" + } + + text job_dcom_hostname { + position +12 = + size 28 4 + display "job_dcom_hostname" + command "*job_dcom_hostname" + visible "and(win32_available, *job_option dcom:on)" + } +#endif + + button { + position 1 +6 + size 24 4 + text "TITLE" + popmenu job_title_pm + command "*job_title" + } + + button { + position +24 = + size 24 4 + text "SAVE MODEL" + command "*save_model" + } + + button { + position +4 +6 + size 20 4 + text "WRITE INPUT FILE" + command "*job_write_input" + } + + button { + position = +4 + size 20 4 + text "EDIT INPUT FILE" + command "*job_edit_input" + } + + popdown { + position 1 +5 + size 20 6 + text "SUBMIT 1" + command "*submit_job 1 *monitor_job" + } + + popdown { + position +28 = + size 20 6 + text "EXECUTE 1" + command "*execute_job 1 *monitor_job" + } + + popdown { + position -28 +6 + size 20 6 + text "SUBMIT 2" + command "*submit_job 2 *monitor_job" + } + + popdown { + position +28 = + size 20 6 + text "EXECUTE 2" + command "*execute_job 2 *monitor_job" + } + + popdown { + position -28 +6 + size 20 6 + text "SUBMIT 3" + command "*submit_job 3 *monitor_job" + } + + popdown { + position +28 = + size 20 6 + text "EXECUTE 3" + command "*execute_job 3 *monitor_job" + } + + popdown { + position 19 +8 + size 12 8 + text "OK" + } + } + + window { + parent mentat + origin 38 8 +#ifdef DCOM + size 50 100 +#else + size 50 94 +#endif + background_color body + border_width 1 + border_color border + buffering single + } + + mode permanent +} + +#-------------------------------------------------------------------------------------------------- +popmenu damask { + +#ifdef QT_MENTAT + text "DAMASK.MPIE.DE" +#endif + + group { +#ifndef QT_MENTAT + label { + position 0 0 + size 50 4 + text "DAMASK.MPIE.DE" + } +#endif + + label { + position 1 6 + size 13 6 + text "Optimzation" + border_width 1 + border_color black + } + + label { + position +13 = + size 20 6 + text "write Input" + border_width 1 + border_color black + } + + label { + position +18 = + size 30 6 + text "do not write Inp." + border_width 1 + border_color black + } + + label { + position -32 +6 + size 12 6 + text "O2 / OpenMP" + border_width 1 + border_color black + } + + popdown { + position +12 = + size 20 6 + text "Submit" + command "*submit_job 4 *monitor_job" + } + + popdown { + position +20 = + size 20 6 + text "Execute" + command "*execute_job 4 *monitor_job" + } + + label { + position -32 +6 + size 12 6 + text "O1 / OpenMP" + border_width 1 + border_color black + } + + popdown { + position +12 = + size 20 6 + text "Submit" + command "*submit_job 5 *monitor_job" + } + + popdown { + position +20 = + size 20 6 + text "Execute" + command "*execute_job 5 *monitor_job" + } + + label { + position -32 +6 + size 12 6 + text "O0 / OpenMP" + border_width 1 + border_color black + } + + popdown { + position +12 = + size 20 6 + text "Submit" + command "*submit_job 6 *monitor_job" + } + + popdown { + position +20 = + size 20 6 + text "Execute" + command "*execute_job 6 *monitor_job" + } + + popdown { + position 19 +8 + size 12 8 + text "CANCEL" + } +} + + window { + parent mentat + origin 38 8 +#ifdef DCOM + size 50 100 +#else + size 50 94 +#endif + background_color body + border_width 1 + border_color border + buffering single + } + mode permanent +} + +#-------------------------------------------------------------------------------------------------- +popmenu job_exit_msg_pm { + + text "EXIT MESSAGE" + + group { + + + + text { + position 1 5 + size 84 74 + multiline + readonly + display "job_exit_msg" + } + + popdown { + position 37 +76 + size 12 8 + text "OK" + } + } + + window { + parent mentat + origin 38 8 + size 86 90 + background_color body + border_width 1 + border_color border + buffering single + } + + mode dialog +} + + + + +#-------------------------------------------------------------------------------------------------- +popmenu job_run_parallelization_pm { + + text "SOLVER/PARALLELIZATION" + + group { + layout vbox + frame { + position 0 0 + size 42 8 + group { + + label { + position 0 0 + size 6 4 + text "NAME" + } + + display { + position +6 = + size 36 4 + display "job_name" + } + + label { + position 0 +4 + size 6 4 + text "TYPE" + } + + display { + position +6 = + size 36 4 + display job_class_label + } + } + } + frame { + position 0 8 + size 42 20 + group job_ddm_gr + text "DOMAIN DECOMPOSITION" + border_width 1 + border_color black + } + + frame { + position 0 +20 + size 42 13 + group job_assem_recov_gr + text "ASSEMBLY AND RECOVERY" + border_width 1 + border_color black + } + + frame { + position 0 +14 + size 42 31 + group job_parallel_matrix_solver_gr + text "MATRIX SOLVER" + border_width 1 + border_color black + } + + frame { + position 0 +32 + size 42 28 + group job_parallel_env_gr + text "PARALLELIZATION ENVIRONMENT" + border_width 1 + border_color black + visible "or(*job_option parallel:on, \ + solver_multi_procs)" + } + frame { + position 15 +30 + size 42 8 + group { + layout hbox + + spacer { + stretch 1 + } + popdown { + position 15 0 + size 12 8 + text "OK" + } + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + stretch 1 + } + } + + window { + parent mentat + origin 38 1 + size 60 119 + background_color body + border_width 1 + border_color border + buffering single + } + mode permanent +} + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_gr { + + toggle { + position 1 4 + size 42 4 + text "USE \{DDM}" + toggle "*job_option parallel:on" + help job_run_ddm_use + true_command "*job_option parallel:on" + false_command "*job_option parallel:off" + active "and(not(job_solver_it_ext),\ + not(job_solver_mixed_direct_iterative))" + } + + frame { + position = +5 + size 42 4 + group job_ddm_use_gr + visible "*job_option parallel:on" + } +} + +group job_ddm_use_gr { + layout vbox + frame{ + position 0 0 + size 30 4 + group { + layout hbox + label { + position 0 0 + size 12 4 + text "DECOMPOSITION IN" + help job_run_ddm_generator + } + oneonly{ + position +12 = + size 8 4 + text "MARC" + oneonly "*job_option ddm_generator:fea_solver" + command "*job_option ddm_generator:fea_solver" + help job_run_ddm_generator + } + oneonly{ + position +12 = + size 8 4 + text "MENTAT" + oneonly "*job_option ddm_generator:preprocessor" + command "*job_option ddm_generator:preprocessor" + help job_run_ddm_generator + } + } + } + + frame { + position 0 +5 + size 44 8 + group job_ddm_fea_solver_gr + visible "*job_option ddm_generator:fea_solver" + } + + frame { + position = = + size 44 8 + group job_ddm_preprocessor_gr + visible "*job_option ddm_generator:preprocessor" + } + + frame{ + position 0 +5 + size 40 4 + group{ + layout hbox + text { + position 0 0 + size 22 4 + text "Single Input File" + readonly + visible "*job_option ddm_generator:fea_solver" + } + + roller { + position = = + size 22 4 + nvalues 2 + texts "MULTIPLE INPUT FILES" + "SINGLE INPUT FILE" + roller "job_option ddm_single_input" + commands "*job_option ddm_single_input:off" + "*job_option ddm_single_input:on" + visible "*job_option ddm_generator:preprocessor" + help job_run_ddm_single_input + } + + roller { + position +23 = + size 21 4 + nvalues 2 + texts "MULTIPLE POST FILES" + "SINGLE POST FILE" + roller "job_option ddm_single_post" + commands "*job_option ddm_single_post:off" + "*job_option ddm_single_post:on" + help job_run_ddm_single_post + } + } + } +} + + + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_fea_solver_gr { + + label { + position 0 0 + size 10 4 + text "# DOMAINS" + help job_param + } + + text { + position +10 = + size 4 4 + display "job_param_value_ndomains" + command "*job_param ndomains" + } + + label { + position 0 +4 + size 7 4 + text "METHOD" + border_width 1 + border_color black + } + + roller { + position +7 = + size 18 4 + nvalues 7 + texts "METIS BEST" + "METIS ELEMENT" + "METIS NODE" + "REC. COORD. BISECTION" + "VECTOR" + "RADIAL" + "ANGULAR" + help set_job_decomp_type + rollers "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + commands "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + } + + button { + position +18 = + size 12 4 + text "ADV. SETTINGS" + popmenu job_ddm_fea_solver_pm + } +} + + + + +#-------------------------------------------------------------------------------------------------- +popmenu job_ddm_fea_solver_pm { + text "JOB PARALLELIZATION" + mode permanent + + group { + layout vbox + spacing 0 + + frame job_properties_subm_header_fr + + spacer { + spacing 2 + } + + frame { + + group { + layout hbox + spacing 0 + + frame { + text "ADVANCED DECOMPOSITION IN MARC" + + group { + layout vbox + spacing 0 + + frame { + + group { + layout hbox + spacing 0 + + label { + size 12 4 + text "# DOMAINS" + help job_param + } + + text { + size 14 4 + display "job_param_value_ndomains" + command "*job_param ndomains" + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + + group { + layout hbox + spacing 0 + + label { + size 8 4 + text "METHOD" + } + + roller { + size 32 4 + nvalues 7 + texts "METIS BEST" + "METIS ELEMENT" + "METIS NODE" + "RECURSIVE COORDINATE BISECTION" + "VECTOR" + "RADIAL" + "ANGULAR" + help set_job_decomp_type + rollers "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + commands "*job_option ddm_method:metis_best" + "*job_option ddm_method:metis_element_based" + "*job_option ddm_method:metis_node_based" + "*job_option ddm_method:recur_coord_bisect" + "*job_option ddm_method:vector" + "*job_option ddm_method:radial" + "*job_option ddm_method:angular" + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + visible "or(*job_option ddm_method:vector, \ + *job_option ddm_method:radial, \ + *job_option ddm_method:angular)" + + group { + layout hbox + spacing 0 + + frame { + group job_ddm_direction_gr + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + + group { + layout hbox + spacing 0 + + toggle { + size 24 4 + text "DOMAIN ISLAND REMOVAL" + toggle "*job_option ddm_island_removal:on" + true_command "*job_option ddm_island_removal:on" + false_command "*job_option ddm_island_removal:off" + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + + group { + layout hbox + spacing 0 + + label { + size 8 4 + text "GRAPH" + visible "or(*job_option ddm_method:metis_best, \ + *job_option ddm_method:metis_element_based, \ + *job_option ddm_method:metis_node_based)" + } + + roller { + size 8 4 + nvalues 2 + texts "COARSE" + "FINE" + help ddm_decomp_coarse_graph + rollers "*job_option ddm_graph:coarse" + "*job_option ddm_graph:fine" + commands "*job_option ddm_graph:coarse" + "*job_option ddm_graph:fine" + visible "or(*job_option ddm_method:metis_best, \ + *job_option ddm_method:metis_element_based, \ + *job_option ddm_method:metis_node_based)" + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + + group { + layout hbox + spacing 0 + + label { + size 20 4 + text "QUADRATIC ELEMENTS" + } + + roller { + size 12 4 + nvalues 2 + texts "GENUINE" + "LINEARIZED" + help job_run_ddm_decomp_linearized + rollers "*job_option ddm_quadr_elems:genuine" + "*job_option ddm_quadr_elems:linearized" + commands "*job_option ddm_quadr_elems:genuine" + "*job_option ddm_quadr_elems:linearized" + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + + group { + layout hbox + spacing 0 + + label { + position 0 +5 + size 24 4 + text "ELEMENT WEIGHT FACTOR" + help job_param + } + + text { + position +24 = + size 14 4 + display "job_param_value_ddm_elem_weight_factor" + command "*job_param ddm_elem_weight_factor" + help job_run_ddm_decomp_element_weight_factor + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame { + visible "or(*job_option ddm_method:metis_best, \ + *job_option ddm_method:metis_element_based, \ + *job_option ddm_method:metis_node_based)" + + group { + layout hbox + spacing 0 + + frame { + + group { + + toggle { + position 0 0 + size 16 4 + text "DETECT CONTACT" + toggle "*job_option ddm_detect_contact:on" + true_command "*job_option ddm_detect_contact:on" + false_command "*job_option ddm_detect_contact:off" + help job_run_ddm_decomp_detect_contact + } + + label { + position = +5 + size 28 4 + text "CONTACT TOLERANCE" + visible "*job_option ddm_detect_contact:on" + } + + text { + position +28 = + size 14 4 + command "*set_ddm_contact_tolerance" + display "job_param_value_ddm_contact_tolerance" + command "*job_param ddm_contact_tolerance" + visible "*job_option ddm_detect_contact:on" + help job_run_ddm_decomp_contact_tolerance + } + + label { + position 0 +4 + size 28 4 + text "CONTACT CONSTRAINT FACTOR" + visible "*job_option ddm_detect_contact:on" + } + + text { + position +28 = + size 14 4 + display "job_param_value_ddm_contact_constr_factor" + command "*job_param ddm_contact_constr_factor" + visible "*job_option ddm_detect_contact:on" + help job_run_ddm_decomp_contact_constraint_factor + } + } + } + + spacer { + stretch 1 + } + } + } + } + } + + spacer { + stretch 1 + } + } + } + + spacer { + spacing 2 + } + + frame job_properties_subm_footer_fr + } +} # job_ddm_fea_solver_pm + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_direction_gr { + + button { + position 0 0 + size 21 4 + text "DIRECTION" + command "*job_vector ddm_sort_direction_x" + visible "model_anadim_3d" + } + + button { + position = = + size 21 4 + text "DIRECTION" + command "*job_vector_2d ddm_sort_direction_x" + visible "not(model_anadim_3d)" + } + + button { + position +21 = + size 21 4 + text "FROM / TO" + command "*job_vector_from_to ddm_sort_direction_x" + visible "model_anadim_3d" + } + + button { + position = = + size 21 4 + text "FROM / TO" + command "*job_vector_from_to_2d ddm_sort_direction_x" + visible "not(model_anadim_3d)" + } + + frame { + position 0 +4 + size 42 4 + + group { + layout hbox + spacing 0 + + text { + size 14 4 + command "*job_param ddm_sort_direction_x" + display "job_param_value_ddm_sort_direction_x" + help ddm_job_decomp_user_direction_x + } + + text { + size 14 4 + command "*job_param ddm_sort_direction_y" + display "job_param_value_ddm_sort_direction_y" + } + + text { + size 14 4 + command "*job_param ddm_sort_direction_z" + display "job_param_value_ddm_sort_direction_z" + visible "model_anadim_3d" + } + } + } + + frame { + position 0 +4 + size 42 8 + group job_ddm_sort_point_gr + visible "not(*job_option ddm_method:vector)" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_sort_point_gr { + + label { + position 0 0 + size 16 4 + text "POINT ON AXIS" + } + + roller { + position +16 = + size 10 4 + nvalues 2 + texts "DEFAULT" + "USER" + roller "job_option ddm_sort_point" + commands "*job_option ddm_sort_point:default" + "*job_option ddm_sort_point:user" + } + + button { + position +20 = + size 6 4 + text "SET" + command "*job_position ddm_sort_point_x" + visible "and(*job_option ddm_sort_point:user, model_anadim_3d)" + } + + button { + position = = + size 6 4 + text "SET" + command "*job_position_2d ddm_sort_point_x" + visible "and(*job_option ddm_sort_point:user, not(model_anadim_3d))" + } + + frame { + position 0 +4 + size 42 4 + visible "*job_option ddm_sort_point:user" + + group { + layout hbox + spacing 0 + + text { + size 14 4 + command "*job_param ddm_sort_point_x" + display "job_param_value_ddm_sort_point_x" + } + + text { + size 14 4 + command "*job_param ddm_sort_point_y" + display "job_param_value_ddm_sort_point_y" + } + + text { + size 14 4 + command "*job_param ddm_sort_point_z" + display "job_param_value_ddm_sort_point_z" + visible "model_anadim_3d" + } + } + } +} + + + + +#-------------------------------------------------------------------------------------------------- +group job_ddm_preprocessor_gr { + + label { + position 0 0 + size 10 4 + text "# DOMAINS" + border_width 1 + border_color black + } + + integer { + position +10 = + size 4 4 + display valid_domains + } + + button { + position 0 +4 + size 30 4 + text "USER DOMAINS" + popmenu domains_pm + help job_run_ddm_user_domains + } +} + + + + +#-------------------------------------------------------------------------------------------------- +group job_assem_recov_gr { + + toggle { + position 1 +4 + size 30 4 + text "MULTIPLE THREADS" + true_command "*job_option assem_recov_multi_threading:on" + false_command "*job_option assem_recov_multi_threading:off" + toggle "*job_option assem_recov_multi_threading:on" + } + + label { + position = +4 + size 12 4 + text "# THREADS" + visible "*job_option assem_recov_multi_threading:on" + } + + text { + position +12 = + size 4 4 + display "job_param_value_assem_recov_nthreads" + command "*job_param assem_recov_nthreads" + visible "*job_option assem_recov_multi_threading:on" + } + + label { + position +4 = + size 10 4 + visible "and(*job_option assem_recov_multi_threading:on, \ + *job_option parallel:on)" + text "PER DOMAIN" + border_width 1 + border_color black + } + + display { + position +12 = + size 4 4 + display "job_assem_recov_nthreads_dom" + visible "and(*job_option assem_recov_multi_threading:on, \ + *job_option parallel:on)" + } + spacer{ + stretch 2 + } + +} + + +#-------------------------------------------------------------------------------------------------- +group job_parallel_matrix_solver_gr { + layout vbox + frame { + position 1 0 + size 36 31 + group { + layout hbox + label { + position 3 4 + size 12 4 + text "SOLUTION" + border_width 1 + border_color black + } + oneonly { + position +12 = + size 12 4 + text "SYMMETRIC" + help "job_param_solver_method#symmetric" + oneonly "job_nonsym_off" + command "*job_option solver_nonsym:off" + } + oneonly { + position +12 = + size 12 4 + text "NONSYMMETRIC" + help "job_param_solver_method#symmetric" + oneonly "job_nonsym_on" + command "*job_option solver_nonsym:on" + } + spacer { + stretch 1 + } + } + } + + frame { + position 1 +5 + size 42 23 + group matrix_solver_gr + help job_param_solver + } + + frame { + position +1 = + size 42 4 + group job_run_solver_ddm_opts_gr + visible "*job_option parallel:on" + } + + frame { + position 1 +23 + size 42 8 + group job_solver_multi_procs_gr + visible solver_allows_multi_procs + } + + frame { + position = = + size 42 8 + group job_solver_multi_threads_gr + visible solver_allows_multi_threads + } + + frame { + position 1 +9 + size 42 8 + group job_solver_gpu_gr + visible "or(and(job_solver_mfront_sparse,job_nonsym_off), \ + and(job_solver_it_sparse,job_nonsym_off))" + } + +} + + +#-------------------------------------------------------------------------------------------------- +group job_run_solver_ddm_opts_gr { + + button { + position 0 0 + size 14 4 + text "\{DDM} OPTIONS" + popmenu ddm_options +# see also job_common.ms! + visible "not(or(job_solver_it_sparse, \ + job_solver_it_ext, \ + job_solver_mixed_direct_iterative, \ + job_solver_pardiso,\ + job_solver_mumps))" + } + button { + position = = + size 14 4 + text "\{DDM} OPTIONS" + popmenu ddm_options_mumps + visible "job_solver_mumps" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_procs_gr { + frame { + position 0 0 + size 42 8 + group job_solver_multi_procs_parallel_off_gr + visible "*job_option parallel:off" + } + + frame { + position = = + size 42 8 + group job_solver_multi_procs_parallel_on_gr + visible "*job_option parallel:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_procs_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE SOLVER PROCESSES" + true_command "*job_option nsolver_procs_serial:on" + false_command "*job_option nsolver_procs_serial:off" + toggle "*job_option nsolver_procs_serial:on" + help "job_param_solver_method#mumps" + } + + label { + position +2 +4 + size 14 4 + text "# PROCESSES" + visible "*job_option nsolver_procs_serial:on" + help job_param + } + + text { + position +14 = + size 14 4 + display "job_param_value_nsolver_procs" + command "*job_param nsolver_procs" + visible "*job_option nsolver_procs_serial:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_procs_parallel_on_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE SOLVER PROCESSES" + help "job_param_solver_method#mumps" + toggle true + set $dummy dummy + } + + label { + position +2 +4 + size 14 4 + text "# PROCESSES" + border_width 1 + border_color black + } + + roller { + position +14 = + size 14 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option nsolver_procs_ddm:automatic" + "*job_option nsolver_procs_ddm:user" + help "job_param_solver_method#mumps" + rollers "*job_option nsolver_procs_ddm:automatic" + "*job_option nsolver_procs_ddm:user" + } + + frame { + position +14 = + size 16 4 + group job_nsolver_procs_ddm_automatic_gr + visible "*job_option nsolver_procs_ddm:automatic" + } + + frame { + position = = + size 16 4 + group job_nsolver_procs_ddm_user_gr + visible "*job_option nsolver_procs_ddm:user" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_nsolver_procs_ddm_automatic_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + border_width 1 + border_color black + } + + integer { + position +8 = + size 8 4 + display valid_domains + visible "*job_option ddm_generator:preprocessor" + } + + integer { + position = = + size 8 4 + display "job_param_ndomains" + visible "*job_option ddm_generator:fea_solver" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_nsolver_procs_ddm_user_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + help job_param + } + + text { + position +8 = + size 8 4 + display "job_param_value_nsolver_procs" + command "*job_param nsolver_procs" + } +} + +group job_solver_multi_threads_gr { + layout vbox + spacing 0 + + frame { + size 46 8 + group job_solver_multi_threads_it_sparse_parallel_off_gr + visible "and(job_solver_it_sparse,*job_option parallel:off)" + active "*job_option solver_use_gpu:off" + } + + frame { + size 46 8 + group job_solver_multi_threads_mfront_sparse_parallel_off_gr + visible "and(job_solver_mfront_sparse,*job_option parallel:off)" + active "*job_option solver_use_gpu:off" + } + + frame { + size 46 8 + group job_solver_multi_threads_mfront_sparse_parallel_on_gr + visible "and(job_solver_mfront_sparse,*job_option parallel:on)" + } + + frame { + size 46 8 + group job_solver_multi_threads_pardiso_parallel_off_gr + visible "and(job_solver_pardiso,*job_option parallel:off)" + } + + frame { + size 46 8 + group job_solver_multi_threads_pardiso_parallel_on_gr + visible "and(job_solver_pardiso,*job_option parallel:on)" + } + + frame { + size 46 8 + group job_solver_multi_threads_it_ext_off_gr + visible "and(job_solver_it_ext,*job_option parallel:off)" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_it_sparse_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option it_sparse_multi_threading:on" + true_command "*job_option it_sparse_multi_threading:on" + false_command "*job_option it_sparse_multi_threading:off" + help "job_param_solver_method#iterative" + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option it_sparse_multi_threading:on" + help "job_param_solver_method#iterative" + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option it_sparse_multi_threading:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_mfront_sparse_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option mfront_sparse_multi_threading:on" + true_command "*job_option mfront_sparse_multi_threading:on" + false_command "*job_option mfront_sparse_multi_threading:off" + help "job_param_solver_method#multifrontal" + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option mfront_sparse_multi_threading:on" + help "job_param_solver_method#multifrontal" + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option mfront_sparse_multi_threading:on" + } +} + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_mfront_sparse_parallel_on_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + help "job_param_solver_method#multifrontal" + toggle true + set $dummy dummy + } + + label { + position +30 0 + size 12 4 + visible "and( not(*job_option ddm_precond:direct)\ + *job_option parallel:on)" + text "PER DOMAIN" + border_width 1 + border_color black + help "job_param_solver_method#multifrontal" + } + + display { + position +12 0 + size 4 4 + display "job_mfront_sparse_nthreads_dom" + visible "and( not(*job_option ddm_precond:direct)\ + *job_option parallel:on)" + } + + label { + position 0 +4 + size 14 4 + text "# THREADS" + border_color black + border_width 1 + help "job_param_solver_method#multifrontal" + } + + roller { + position +14 = + size 14 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option mfront_sparse_multi_threading_ddm:automatic" + "*job_option mfront_sparse_multi_threading_ddm:user" + help "job_param_solver_method#multifrontal" + rollers "*job_option mfront_sparse_multi_threading_ddm:automatic" + "*job_option mfront_sparse_multi_threading_ddm:user" + visible "not(*job_option solver_use_gpu:on)" + } + + display { + position = = + size 14 4 + text "AUTOMATIC" + visible "*job_option solver_use_gpu:on" + } + + frame { + position +14 = + size 16 4 + group job_mfront_sparse_multi_threads_ddm_automatic_gr + visible "*job_option mfront_sparse_multi_threading_ddm:automatic" + } + + frame { + position = = + size 16 4 + group job_mfront_sparse_multi_threads_ddm_user_gr + visible "*job_option mfront_sparse_multi_threading_ddm:user" + } +} +#-------------------------------------------------------------------------------------------------- +group job_mfront_sparse_multi_threads_ddm_automatic_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + border_width 1 + border_color black + } + + integer { + position +8 = + size 8 4 + display valid_domains + visible "*job_option ddm_generator:preprocessor" + } + + integer { + position = = + size 8 4 + display "job_param_ndomains" + visible "*job_option ddm_generator:fea_solver" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_mfront_sparse_multi_threads_ddm_user_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + help "job_param_solver_method#multifrontal" + } + + text { + position +8 = + size 8 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + } +} + + + +#-------------------------------------------------------------------------------------------------- +group job_solver_gpu_gr { + + toggle { + position 0 0 + size 30 4 + text "USE \{GPU(s)}" + toggle "*job_option solver_use_gpu:on" + true_command "*job_option solver_use_gpu:on" + false_command "*job_option solver_use_gpu:off" + help job_solver_gpu + } + frame{ + position 0 +4 + size 28 4 + group{ + layout hbox + + label { + position 0 0 + size 16 4 + text "\{GPU} SELECTION" + border_width 1 + border_color black + visible "*job_option solver_use_gpu:on" + } + + roller { + position +16 = + size 12 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option solver_gpus:automatic" + "*job_option solver_gpus:user" + rollers "*job_option solver_gpus:automatic" + "*job_option solver_gpus:user" + visible "*job_option solver_use_gpu:on" + help job_solver_gpu + } + + text { + position +12 = + size 12 4 + display job_solver_gpus + command "*clear_job_solver_gpus *job_solver_gpus" + visible "and(*job_option solver_use_gpu:on,*job_option solver_gpus:user)" + } + spacer { + stretch 1 + } + } + } +} + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_pardiso_parallel_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option pardiso_multi_threading:on" + true_command "*job_option pardiso_multi_threading:on" + false_command "*job_option pardiso_multi_threading:off" + help "job_param_solver_method#pardiso" + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option pardiso_multi_threading:on" + help "job_param_solver_method#pardiso" + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option pardiso_multi_threading:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_pardiso_parallel_on_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + help "job_param_solver_method#pardiso" + toggle true + set $dummy dummy + } + + label { + position = +4 + size 14 4 + text "# THREADS" + border_color black + border_width 1 + } + + roller { + position +14 = + size 14 4 + nvalues 2 + texts "AUTOMATIC" + "USER" + commands "*job_option pardiso_multi_threading_ddm:automatic" + "*job_option pardiso_multi_threading_ddm:user" + help "job_param_solver_method#pardiso" + rollers "*job_option pardiso_multi_threading_ddm:automatic" + "*job_option pardiso_multi_threading_ddm:user" + } + + frame { + position +14 = + size 16 4 + group job_pardiso_multi_threads_ddm_automatic_gr + visible "*job_option pardiso_multi_threading_ddm:automatic" + } + + frame { + position = = + size 16 4 + group job_pardiso_multi_threads_ddm_user_gr + visible "*job_option pardiso_multi_threading_ddm:user" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_pardiso_multi_threads_ddm_automatic_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + border_width 1 + border_color black + } + + integer { + position +8 = + size 8 4 + display valid_domains + visible "*job_option ddm_generator:preprocessor" + } + + integer { + position = = + size 8 4 + display "job_param_ndomains" + visible "*job_option ddm_generator:fea_solver" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_pardiso_multi_threads_ddm_user_gr { + + label { + position 0 0 + size 8 4 + text "VALUE" + help "job_param_solver_method#pardiso" + } + + text { + position +8 = + size 8 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + } +} + +#-------------------------------------------------------------------------------------------------- +group job_solver_multi_threads_it_ext_off_gr { + + toggle { + position 0 0 + size 30 4 + text "MULTIPLE THREADS" + toggle "*job_option it_ext_multi_threading:on" + true_command "*job_option it_ext_multi_threading:on" + false_command "*job_option it_ext_multi_threading:off" + help "job_param_solver_method#casi" + } + + label { + position = +4 + size 14 4 + text "# THREADS" + visible "*job_option it_ext_multi_threading:on" + help "job_param_solver_method#casi" + } + + text { + position +14 = + size 14 4 + display "job_param_value_nthreads" + command "*job_param nthreads" + visible "*job_option it_ext_multi_threading:on" + } +} + +#-------------------------------------------------------------------------------------------------- +group job_parallel_env_gr { + + frame{ + position 0 +4 + size 40 4 + group{ + layout hbox + label{ + position 0 0 + size 8 4 + text "SETUP" + help job_run_ddm_setup + } + oneonly { + position +12 = + size 12 4 + text "SINGLE MACHINE" + oneonly "*job_option parallel_setup:single" + command "*job_option parallel_setup:single" + help job_run_ddm_setup + } + oneonly { + position +8 = + size 12 4 + text "NETWORK" + oneonly "*job_option parallel_setup:network" + command "*job_option parallel_setup:network" + help job_run_ddm_setup + } + + spacer { + stretch 1 + } + } + } + + + frame { + position +1 +5 + size 40 16 + group job_parallel_env_network_gr + visible "*job_option parallel_setup:network" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_parallel_env_network_gr { + + button { + position 0 0 + size 28 4 + text "HOST FILE" + browser host_file_browser + settext $host_file_browser_label "SELECT HOST FILE" + set $host_file_browser_command "*job_host_file" + help job_host_file + } + + button { + position +28 = + size 8 4 + text "EDIT" + command "*job_edit_host_file" + help job_edit_host_file + visible job_host_file + } + + button { + position +8 = + size 8 4 + text "CLEAR" + command "*job_clear_host_file" + help job_clear_host_file + visible job_host_file + } + + display { + position 0 +4 + size 44 4 + display job_host_file + } + + frame { + position 0 +5 + size 44 9 + group job_parallel_env_network_ddm_gr + visible "*job_option parallel:on" + } +} + + +#-------------------------------------------------------------------------------------------------- +group job_parallel_env_network_ddm_gr { + + toggle { + position 0 0 + size 22 4 + text "COPY INPUT FILE" + toggle "*job_option copy_input_file:on" + true_command "*job_option copy_input_file:on" + false_command "*job_option copy_input_file:off" + help job_host_copy_inputfile + } + + toggle { + position +23 = + size 21 4 + text "COPY POST FILE" + toggle "*job_option copy_post_file:on" + true_command "*job_option copy_post_file:on" + false_command "*job_option copy_post_file:off" + help job_host_copy_inputfile + } + + label { + position 0 +5 + size 10 4 + text "HOSTS" + border_width 1 + border_color black + visible job_usersub_file + } + + roller { + position +10 = + size 18 4 + nvalues 2 + texts "COMPATIBLE" + "INCOMPATIBLE" + roller "job_option network_hosts" + commands "*job_option network_hosts:compatible" + "*job_option network_hosts:incompatible" + help job_host_comp + visible job_usersub_file + } +} + + +#endif + From 89875c900d84203ea264f6ee592868088e9ef6df Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Mon, 14 Sep 2020 13:19:49 -0400 Subject: [PATCH 616/958] adopted fixed runtime/memory plotting in tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 6abc9c275..8d5e08a8a 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 6abc9c2757794b345bcf81d7c966de312b8fb93d +Subproject commit 8d5e08a8a4dab7ed61f50ee37efb3fd115483437 From 2cb9b86353071a13b2ff5c162d131c5cbf7c3740 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Mon, 14 Sep 2020 15:59:49 -0400 Subject: [PATCH 617/958] use corrected testing --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 8d5e08a8a..313467be7 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 8d5e08a8a4dab7ed61f50ee37efb3fd115483437 +Subproject commit 313467be79a420a03985e0a04ecd72283380725f From 117f85ecd9be067c360447f45b76b93d73dd44ce Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 15 Sep 2020 01:02:04 +0200 Subject: [PATCH 618/958] missing from merge of 'table-out-of-place-only' server side problems with plotting are hopefully fixed now --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 313467be7..65ec74c07 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 313467be79a420a03985e0a04ecd72283380725f +Subproject commit 65ec74c07052e77f35a4b5e80bf110aff1f5ae61 From 77026e5d53dbcffc2a9935844e049ced4ff36a4c Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 15 Sep 2020 03:43:40 +0200 Subject: [PATCH 619/958] [skip ci] updated version information after successful test of v3.0.0-alpha-160-g117f85ec --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 2d2d2952b..6f2aeecd0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-147-gf0806a9e +v3.0.0-alpha-160-g117f85ec From 96ad358f83ebcf5d561fb0d33855b45564635289 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 15 Sep 2020 00:58:06 -0400 Subject: [PATCH 620/958] modified file reading/writing methods to load_X, save_X formalism --- PRIVATE | 2 +- processing/legacy/addAPS34IDEstrainCoords.py | 9 +- processing/legacy/addCumulative.py | 10 +- processing/post/DADF5_postResults.py | 6 +- processing/post/addCompatibilityMismatch.py | 4 +- processing/post/addCurl.py | 4 +- processing/post/addDerivative.py | 10 +- processing/post/addDisplacement.py | 14 +- processing/post/addDivergence.py | 4 +- processing/post/addEuclideanDistance.py | 6 +- processing/post/addGaussian.py | 4 +- processing/post/addGradient.py | 4 +- processing/post/addOrientations.py | 4 +- processing/post/addSchmidfactors.py | 4 +- processing/post/filterTable.py | 18 +- processing/post/permuteData.py | 4 +- processing/pre/geom_fromDREAM3D.py | 2 +- processing/pre/geom_fromMinimalSurface.py | 2 +- processing/pre/geom_fromOsteonGeometry.py | 2 +- processing/pre/geom_fromTable.py | 5 +- .../pre/geom_fromVoronoiTessellation.py | 5 +- processing/pre/geom_grainGrowth.py | 6 +- processing/pre/hybridIA_linODFsampling.py | 48 +-- processing/pre/mentat_spectralBox.py | 14 +- processing/pre/seeds_fromDistribution.py | 19 +- processing/pre/seeds_fromGeom.py | 8 +- processing/pre/seeds_fromPokes.py | 8 +- processing/pre/seeds_fromRandom.py | 6 +- python/damask/_colormap.py | 128 ++++---- python/damask/_geom.py | 196 ++++++------- python/damask/_result.py | 4 +- python/damask/_table.py | 92 +++--- python/damask/_test.py | 59 ++-- python/damask/_vtk.py | 4 +- ...sualize_hybridIA_sampling-checkpoint.ipynb | 6 + .../Visualize_hybridIA_sampling.ipynb | 276 ++++++++++++++++++ python/tests/test_Colormap.py | 39 ++- python/tests/test_Geom.py | 48 ++- python/tests/test_Orientation.py | 3 +- python/tests/test_Result.py | 2 +- python/tests/test_Table.py | 36 +-- python/tests/test_VTK.py | 38 +-- 42 files changed, 708 insertions(+), 455 deletions(-) create mode 100644 python/tests/reference/Rotation/.ipynb_checkpoints/Visualize_hybridIA_sampling-checkpoint.ipynb create mode 100644 python/tests/reference/Rotation/Visualize_hybridIA_sampling.ipynb diff --git a/PRIVATE b/PRIVATE index 65ec74c07..5b7c34e58 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 65ec74c07052e77f35a4b5e80bf110aff1f5ae61 +Subproject commit 5b7c34e586589141d1e061f021512e65308fc1f7 diff --git a/processing/legacy/addAPS34IDEstrainCoords.py b/processing/legacy/addAPS34IDEstrainCoords.py index 9ba51ada1..c82ff35a3 100755 --- a/processing/legacy/addAPS34IDEstrainCoords.py +++ b/processing/legacy/addAPS34IDEstrainCoords.py @@ -42,11 +42,10 @@ rot_to_TSL = damask.Rotation.from_axis_angle([-1,0,0,.75*np.pi]) for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + coord = - table.get(options.frame) coord[:,2] += table.get(options.depth)[:,0] - table.add('coord',rot_to_TSL.broadcast_to(coord.shape[0]) @ coord,scriptID+' '+' '.join(sys.argv[1:])) - - table.to_file(sys.stdout if name is None else name) + table.add('coord',rot_to_TSL.broadcast_to(coord.shape[0]) @ coord,scriptID+' '+' '.join(sys.argv[1:]))\ + .save_ASCII(sys.stdout if name is None else name) diff --git a/processing/legacy/addCumulative.py b/processing/legacy/addCumulative.py index f84828a89..14d8bcfea 100755 --- a/processing/legacy/addCumulative.py +++ b/processing/legacy/addCumulative.py @@ -39,10 +39,10 @@ if options.labels is None: for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) for label in options.labels: - table.add('cum_{}({})'.format('prod' if options.product else 'sum',label), - np.cumprod(table.get(label),0) if options.product else np.cumsum(table.get(label),0), - scriptID+' '+' '.join(sys.argv[1:])) + table = table.add('cum_{}({})'.format('prod' if options.product else 'sum',label), + np.cumprod(table.get(label),0) if options.product else np.cumsum(table.get(label),0), + scriptID+' '+' '.join(sys.argv[1:])) - table.to_file(sys.stdout if name is None else name) + table.save_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/DADF5_postResults.py b/processing/post/DADF5_postResults.py index e81330581..fa9df27b0 100755 --- a/processing/post/DADF5_postResults.py +++ b/processing/post/DADF5_postResults.py @@ -38,8 +38,8 @@ for filename in options.filenames: N_digits = int(np.floor(np.log10(int(results.increments[-1][3:]))))+1 N_digits = 5 # hack to keep test intact for inc in damask.util.show_progress(results.iterate('increments'),len(results.increments)): - table = damask.Table(np.ones(np.product(results.grid),dtype=int)*int(inc[3:]),{'inc':(1,)}) - table = table.add('pos',coords.reshape(-1,3)) + table = damask.Table(np.ones(np.product(results.grid),dtype=int)*int(inc[3:]),{'inc':(1,)})\ + .add('pos',coords.reshape(-1,3)) results.pick('materialpoints',False) results.pick('constituents', True) @@ -60,4 +60,4 @@ for filename in options.filenames: os.mkdir(dirname,0o755) file_out = '{}_inc{}.txt'.format(os.path.splitext(os.path.split(filename)[-1])[0], inc[3:].zfill(N_digits)) - table.to_file(os.path.join(dirname,file_out)) + table.save_ASCII(os.path.join(dirname,file_out)) diff --git a/processing/post/addCompatibilityMismatch.py b/processing/post/addCompatibilityMismatch.py index 5009d44a0..e274092d2 100755 --- a/processing/post/addCompatibilityMismatch.py +++ b/processing/post/addCompatibilityMismatch.py @@ -172,7 +172,7 @@ if filenames == []: filenames = [None] for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) F = table.get(options.defgrad).reshape(tuple(grid)+(-1,),order='F').reshape(tuple(grid)+(3,3)) @@ -191,4 +191,4 @@ for name in filenames: volumeMismatch.reshape(-1,1,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.to_file(sys.stdout if name is None else name) + table.save_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/addCurl.py b/processing/post/addCurl.py index 1033e3303..9adb06a00 100755 --- a/processing/post/addCurl.py +++ b/processing/post/addCurl.py @@ -43,7 +43,7 @@ if options.labels is None: parser.error('no data column specified.') for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) for label in options.labels: @@ -55,4 +55,4 @@ for name in filenames: curl.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape),order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.to_file(sys.stdout if name is None else name) + table.save_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/addDerivative.py b/processing/post/addDerivative.py index b6b19c98a..179715e23 100755 --- a/processing/post/addDerivative.py +++ b/processing/post/addDerivative.py @@ -14,9 +14,9 @@ scriptName = os.path.splitext(os.path.basename(__file__))[0] scriptID = ' '.join([scriptName,damask.version]) def derivative(coordinates,what): - + result = np.empty_like(what) - + # use differentiation by interpolation # as described in http://www2.math.umd.edu/~dlevy/classes/amsc466/lecture-notes/differentiation-chap.pdf @@ -31,7 +31,7 @@ def derivative(coordinates,what): (coordinates[0] - coordinates[1]) result[-1,:] = (what[-1,:] - what[-2,:]) / \ (coordinates[-1] - coordinates[-2]) - + return result @@ -65,10 +65,10 @@ if options.labels is None: for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) for label in options.labels: table = table.add('d({})/d({})'.format(label,options.coordinates), derivative(table.get(options.coordinates),table.get(label)), scriptID+' '+' '.join(sys.argv[1:])) - table.to_file(sys.stdout if name is None else name) + table.save_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/addDisplacement.py b/processing/post/addDisplacement.py index f1ab565b0..8dc3051d3 100755 --- a/processing/post/addDisplacement.py +++ b/processing/post/addDisplacement.py @@ -47,25 +47,25 @@ parser.set_defaults(f = 'f', for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) F = table.get(options.f).reshape(tuple(grid)+(-1,),order='F').reshape(tuple(grid)+(3,3)) if options.nodal: - table = damask.Table(damask.grid_filters.node_coord0(grid,size).reshape(-1,3,order='F'), + damask.Table(damask.grid_filters.node_coord0(grid,size).reshape(-1,3,order='F'), {'pos':(3,)})\ .add('avg({}).{}'.format(options.f,options.pos), damask.grid_filters.node_displacement_avg(size,F).reshape(-1,3,order='F'), scriptID+' '+' '.join(sys.argv[1:]))\ .add('fluct({}).{}'.format(options.f,options.pos), damask.grid_filters.node_displacement_fluct(size,F).reshape(-1,3,order='F'), - scriptID+' '+' '.join(sys.argv[1:])) - table.to_file(sys.stdout if name is None else os.path.splitext(name)[0]+'_nodal.txt') + scriptID+' '+' '.join(sys.argv[1:]))\ + .save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'_nodal.txt') else: - table = table.add('avg({}).{}'.format(options.f,options.pos), + table.add('avg({}).{}'.format(options.f,options.pos), damask.grid_filters.cell_displacement_avg(size,F).reshape(-1,3,order='F'), scriptID+' '+' '.join(sys.argv[1:]))\ .add('fluct({}).{}'.format(options.f,options.pos), damask.grid_filters.cell_displacement_fluct(size,F).reshape(-1,3,order='F'), - scriptID+' '+' '.join(sys.argv[1:])) - table.to_file(sys.stdout if name is None else name) + scriptID+' '+' '.join(sys.argv[1:]))\ + .save_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/addDivergence.py b/processing/post/addDivergence.py index 6495793cf..b4c0bb7b4 100755 --- a/processing/post/addDivergence.py +++ b/processing/post/addDivergence.py @@ -43,7 +43,7 @@ if options.labels is None: parser.error('no data column specified.') for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) for label in options.labels: @@ -55,4 +55,4 @@ for name in filenames: div.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape)//3,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.to_file(sys.stdout if name is None else name) + table.save_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/addEuclideanDistance.py b/processing/post/addEuclideanDistance.py index f5cf58ab3..305fc2ad5 100755 --- a/processing/post/addEuclideanDistance.py +++ b/processing/post/addEuclideanDistance.py @@ -142,7 +142,7 @@ for i,feature in enumerate(features): for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) neighborhood = neighborhoods[options.neighborhood] @@ -158,7 +158,7 @@ for name in filenames: diffToNeighbor[:,:,:,i] = ndimage.convolve(microstructure,stencil) # compare ID at each point... # ...to every one in the specified neighborhood # for same IDs at both locations ==> 0 - + diffToNeighbor = np.sort(diffToNeighbor) # sort diff such that number of changes in diff (steps)... # ...reflects number of unique neighbors uniques = np.where(diffToNeighbor[1:-1,1:-1,1:-1,0] != 0, 1,0) # initialize unique value counter (exclude myself [= 0]) @@ -184,4 +184,4 @@ for name in filenames: distance[i,:], scriptID+' '+' '.join(sys.argv[1:])) - table.to_file(sys.stdout if name is None else name) + table.save_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/addGaussian.py b/processing/post/addGaussian.py index 8e58da884..708617c1f 100755 --- a/processing/post/addGaussian.py +++ b/processing/post/addGaussian.py @@ -63,7 +63,7 @@ if options.labels is None: parser.error('no data column specified.') for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) damask.grid_filters.coord0_check(table.get(options.pos)) for label in options.labels: @@ -73,4 +73,4 @@ for name in filenames: mode = 'wrap' if options.periodic else 'nearest'), scriptID+' '+' '.join(sys.argv[1:])) - table.to_file(sys.stdout if name is None else name) + table.save_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/addGradient.py b/processing/post/addGradient.py index 718a972f3..e216ed34c 100755 --- a/processing/post/addGradient.py +++ b/processing/post/addGradient.py @@ -43,7 +43,7 @@ if options.labels is None: parser.error('no data column specified.') for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) for label in options.labels: @@ -55,4 +55,4 @@ for name in filenames: grad.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape)*3,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.to_file(sys.stdout if name is None else name) + table.save_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/addOrientations.py b/processing/post/addOrientations.py index dddc14193..3a320241c 100755 --- a/processing/post/addOrientations.py +++ b/processing/post/addOrientations.py @@ -110,7 +110,7 @@ R = damask.Rotation.from_axis_angle(np.array(options.labrotation),options.degree for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) if options.eulers is not None: label = options.eulers @@ -147,4 +147,4 @@ for name in filenames: if 'axisangle' in options.output: table = table.add('om({})'.format(label),o.as_axisangle(options.degrees), scriptID+' '+' '.join(sys.argv[1:])) - table.to_file(sys.stdout if name is None else name) + table.save_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/addSchmidfactors.py b/processing/post/addSchmidfactors.py index dc4117d78..40db4da34 100755 --- a/processing/post/addSchmidfactors.py +++ b/processing/post/addSchmidfactors.py @@ -175,7 +175,7 @@ labels = ['S[{direction[0]:.1g}_{direction[1]:.1g}_{direction[2]:.1g}]' for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) o = damask.Rotation.from_quaternion(table.get(options.quaternion)) @@ -189,4 +189,4 @@ for name in filenames: for i,label in enumerate(labels): table = table.add(label,S[:,i],scriptID+' '+' '.join(sys.argv[1:])) - table.to_file(sys.stdout if name is None else name) + table.save_ASCII(sys.stdout if name is None else name) diff --git a/processing/post/filterTable.py b/processing/post/filterTable.py index 494257a60..4f4af088b 100755 --- a/processing/post/filterTable.py +++ b/processing/post/filterTable.py @@ -27,7 +27,7 @@ def sortingList(labels,whitelistitems): else: indices.append(0) names.append(label) - + return [indices,names,whitelistitems] @@ -72,11 +72,11 @@ for name in filenames: continue damask.util.report(scriptName,name) -# ------------------------------------------ assemble info --------------------------------------- +# ------------------------------------------ assemble info --------------------------------------- table.head_read() -# ------------------------------------------ process data --------------------------------------- +# ------------------------------------------ process data --------------------------------------- specials = { \ '_row_': 0, @@ -103,12 +103,12 @@ for name in filenames: else np.lexsort(sortingList(labels,whitelistitem)) # reorder if unique, i.e. no "-1" in whitelistitem else: order = range(len(labels)) # maintain original order of labels - + # --------------------------------------- evaluate condition --------------------------------------- if options.condition is not None: condition = options.condition # copy per file, since might be altered inline breaker = False - + for position,(all,marker,column) in enumerate(set(re.findall(r'#(([s]#)?(.+?))#',condition))): # find three groups idx = table.label_index(column) dim = table.label_dimension(column) @@ -123,11 +123,11 @@ for name in filenames: 's#':'str'}[marker],idx) # take float or string value of data column elif dim > 1: # multidimensional input (vector, tensor, etc.) replacement = 'np.array(table.data[{}:{}],dtype=float)'.format(idx,idx+dim) # use (flat) array representation - + condition = condition.replace('#'+all+'#',replacement) - + if breaker: continue # found mistake in condition evaluation --> next file - + # ------------------------------------------ assemble header --------------------------------------- table.info_append(scriptID + '\t' + ' '.join(sys.argv[1:])) @@ -138,7 +138,7 @@ for name in filenames: # ------------------------------------------ process and output data ------------------------------------------ positions = np.array(positions)[order] - + atOnce = options.condition is None if atOnce: # read full array and filter columns try: diff --git a/processing/post/permuteData.py b/processing/post/permuteData.py index 316fdd3da..af184924d 100755 --- a/processing/post/permuteData.py +++ b/processing/post/permuteData.py @@ -47,7 +47,7 @@ if filenames == []: filenames = [None] for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) randomSeed = int(os.urandom(4).hex(), 16) if options.randomSeed is None else options.randomSeed # random seed per file rng = np.random.default_rng(randomSeed) @@ -58,4 +58,4 @@ for name in filenames: rng.shuffle(uniques) table = table.set(label,uniques[inverse], scriptID+' '+' '.join(sys.argv[1:])) - table.to_file(sys.stdout if name is None else name) + table.save_ASCII(sys.stdout if name is None else name) diff --git a/processing/pre/geom_fromDREAM3D.py b/processing/pre/geom_fromDREAM3D.py index 6b7ccc21a..471435766 100755 --- a/processing/pre/geom_fromDREAM3D.py +++ b/processing/pre/geom_fromDREAM3D.py @@ -154,4 +154,4 @@ for name in filenames: homogenization=options.homogenization,comments=header) damask.util.croak(geom) - geom.to_file(os.path.splitext(name)[0]+'.geom',format='ASCII',pack=False) + geom.save_ASCII(os.path.splitext(name)[0]+'.geom',pack=False) diff --git a/processing/pre/geom_fromMinimalSurface.py b/processing/pre/geom_fromMinimalSurface.py index e6289ba0a..b64bac417 100755 --- a/processing/pre/geom_fromMinimalSurface.py +++ b/processing/pre/geom_fromMinimalSurface.py @@ -89,4 +89,4 @@ geom=damask.Geom(microstructure,options.size, comments=[scriptID + ' ' + ' '.join(sys.argv[1:])]) damask.util.croak(geom) -geom.to_file(sys.stdout if name is None else name,format='ASCII',pack=False) +geom.save_ASCII(sys.stdout if name is None else name,pack=False) diff --git a/processing/pre/geom_fromOsteonGeometry.py b/processing/pre/geom_fromOsteonGeometry.py index 6c6326163..c2583d0ed 100755 --- a/processing/pre/geom_fromOsteonGeometry.py +++ b/processing/pre/geom_fromOsteonGeometry.py @@ -142,4 +142,4 @@ geom = damask.Geom(microstructure.reshape(grid), homogenization=options.homogenization,comments=header) damask.util.croak(geom) -geom.to_file(sys.stdout if name is None else name,format='ASCII',pack=False) +geom.save_ASCII(sys.stdout if name is None else name,pack=False) diff --git a/processing/pre/geom_fromTable.py b/processing/pre/geom_fromTable.py index dc968b82e..11c0761b5 100755 --- a/processing/pre/geom_fromTable.py +++ b/processing/pre/geom_fromTable.py @@ -68,7 +68,7 @@ if options.axes is not None and not set(options.axes).issubset(set(['x','+x','-x for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) table.sort_by(['{}_{}'.format(i,options.pos) for i in range(3,0,-1)]) # x fast, y slow grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) @@ -105,5 +105,4 @@ for name in filenames: homogenization=options.homogenization,comments=header) damask.util.croak(geom) - geom.to_file(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom', - format='ASCII',pack=False) + geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',pack=False) diff --git a/processing/pre/geom_fromVoronoiTessellation.py b/processing/pre/geom_fromVoronoiTessellation.py index 67a0dfecc..a3a54882a 100755 --- a/processing/pre/geom_fromVoronoiTessellation.py +++ b/processing/pre/geom_fromVoronoiTessellation.py @@ -171,7 +171,7 @@ if filenames == []: filenames = [None] for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) size = np.ones(3) origin = np.zeros(3) @@ -228,5 +228,4 @@ for name in filenames: homogenization=options.homogenization,comments=header) damask.util.croak(geom) - geom.to_file(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom', - format='ASCII',pack=False) + geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',pack=False) diff --git a/processing/pre/geom_grainGrowth.py b/processing/pre/geom_grainGrowth.py index 0652d0583..dbe1f1a74 100755 --- a/processing/pre/geom_grainGrowth.py +++ b/processing/pre/geom_grainGrowth.py @@ -62,7 +62,7 @@ if filenames == []: filenames = [None] for name in filenames: damask.util.report(scriptName,name) - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) + geom = damask.Geom.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) grid_original = geom.get_grid() damask.util.croak(geom) @@ -169,7 +169,7 @@ for name in filenames: # undo any changes involving immutable microstructures microstructure = np.where(immutable, microstructure_original,microstructure) - geom=geom.duplicate(microstructure[0:grid_original[0],0:grid_original[1],0:grid_original[2]]) + geom = geom.duplicate(microstructure[0:grid_original[0],0:grid_original[1],0:grid_original[2]]) geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - geom.to_file(sys.stdout if name is None else name,format='ASCII',pack=False) + geom.save_ASCII(sys.stdout if name is None else name,pack=False) diff --git a/processing/pre/hybridIA_linODFsampling.py b/processing/pre/hybridIA_linODFsampling.py index 6f5827f8b..01704197e 100755 --- a/processing/pre/hybridIA_linODFsampling.py +++ b/processing/pre/hybridIA_linODFsampling.py @@ -31,7 +31,7 @@ def binAsBins(bin,intervals): bins[1] = (bin//intervals[2]) % intervals[1] bins[2] = bin % intervals[2] return bins - + def binsAsBin(bins,intervals): """Implode 3D bins into compound bin.""" return (bins[0]*intervals[1] + bins[1])*intervals[2] + bins[2] @@ -95,7 +95,7 @@ def directInversion (ODF,nSamples): float(nInvSamples)/nOptSamples-1.0, scale,nSamples)) repetition = [None]*ODF['nBins'] # preallocate and clear - + for bin in range(ODF['nBins']): # loop over bins repetition[bin] = int(round(ODF['dV_V'][bin]*scale)) # calc repetition @@ -105,7 +105,7 @@ def directInversion (ODF,nSamples): for bin in range(ODF['nBins']): set[i:i+repetition[bin]] = [bin]*repetition[bin] # fill set with bin, i.e. orientation i += repetition[bin] # advance set counter - + orientations = np.zeros((nSamples,3),'f') reconstructedODF = np.zeros(ODF['nBins'],'f') unitInc = 1.0/nSamples @@ -117,7 +117,7 @@ def directInversion (ODF,nSamples): orientations[j] = np.degrees(Eulers) reconstructedODF[bin] += unitInc set[ex] = set[j] # exchange orientations - + return orientations, reconstructedODF @@ -130,7 +130,7 @@ def MonteCarloEulers (ODF,nSamples): orientations = np.zeros((nSamples,3),'f') reconstructedODF = np.zeros(ODF['nBins'],'f') unitInc = 1.0/nSamples - + for j in range(nSamples): MC = maxdV_V*2.0 bin = 0 @@ -153,7 +153,7 @@ def MonteCarloBins (ODF,nSamples): orientations = np.zeros((nSamples,3),'f') reconstructedODF = np.zeros(ODF['nBins'],'f') unitInc = 1.0/nSamples - + for j in range(nSamples): MC = maxdV_V*2.0 bin = 0 @@ -173,14 +173,14 @@ def TothVanHoutteSTAT (ODF,nSamples): orientations = np.zeros((nSamples,3),'f') reconstructedODF = np.zeros(ODF['nBins'],'f') unitInc = 1.0/nSamples - + selectors = [random.random() for i in range(nSamples)] selectors.sort() indexSelector = 0 - + cumdV_V = 0.0 countSamples = 0 - + for bin in range(ODF['nBins']) : cumdV_V += ODF['dV_V'][bin] while indexSelector < nSamples and selectors[indexSelector] < cumdV_V: @@ -191,7 +191,7 @@ def TothVanHoutteSTAT (ODF,nSamples): indexSelector += 1 damask.util.croak('created set of %i when asked to deliver %i'%(countSamples,nSamples)) - + return orientations, reconstructedODF @@ -233,8 +233,8 @@ if filenames == []: filenames = [None] for name in filenames: damask.util.report(scriptName,name) - - table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + + table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) randomSeed = int(os.urandom(4).hex(),16) if options.randomSeed is None else options.randomSeed # random seed per file random.seed(randomSeed) @@ -253,7 +253,7 @@ for name in filenames: if eulers.shape[0] != ODF['nBins']: damask.util.croak('expecting %i values but got %i'%(ODF['nBins'],eulers.shape[0])) continue - + # ----- build binnedODF array and normalize ------------------------------------------------------ sumdV_V = 0.0 ODF['dV_V'] = [None]*ODF['nBins'] @@ -267,7 +267,7 @@ for name in filenames: if ODF['dV_V'][b] > 0.0: sumdV_V += ODF['dV_V'][b] ODF['nNonZero'] += 1 - + for b in range(ODF['nBins']): ODF['dV_V'][b] /= sumdV_V # normalize dV/V @@ -277,19 +277,19 @@ for name in filenames: 'Volume integral of ODF: %12.11f\n'%sumdV_V, 'Reference Integral: %12.11f\n'%(ODF['limit'][0]*ODF['limit'][2]*(1-math.cos(ODF['limit'][1]))), ]) - + Functions = {'IA': 'directInversion', 'STAT': 'TothVanHoutteSTAT', 'MC': 'MonteCarloBins'} method = Functions[options.algorithm] Orientations, ReconstructedODF = (globals()[method])(ODF,options.number) - + # calculate accuracy of sample squaredDiff = {'orig':0.0,method:0.0} squaredRelDiff = {'orig':0.0,method:0.0} mutualProd = {'orig':0.0,method:0.0} indivSum = {'orig':0.0,method:0.0} indivSquaredSum = {'orig':0.0,method:0.0} - + for bin in range(ODF['nBins']): squaredDiff[method] += (ODF['dV_V'][bin] - ReconstructedODF[bin])**2 if ODF['dV_V'][bin] > 0.0: @@ -299,7 +299,7 @@ for name in filenames: indivSquaredSum[method] += ReconstructedODF[bin]**2 indivSum['orig'] += ODF['dV_V'][bin] indivSquaredSum['orig'] += ODF['dV_V'][bin]**2 - + damask.util.croak(['sqrt(N*)RMSD of ODFs:\t %12.11f'% math.sqrt(options.number*squaredDiff[method]), 'RMSrD of ODFs:\t %12.11f'%math.sqrt(squaredRelDiff[method]), 'rMSD of ODFs:\t %12.11f'%(squaredDiff[method]/indivSquaredSum['orig']), @@ -311,10 +311,10 @@ for name in filenames: (ODF['nNonZero']*math.sqrt((indivSquaredSum['orig']/ODF['nNonZero']-(indivSum['orig']/ODF['nNonZero'])**2)*\ (indivSquaredSum[method]/ODF['nNonZero']-(indivSum[method]/ODF['nNonZero'])**2)))), ]) - + if method == 'IA' and options.number < ODF['nNonZero']: strOpt = '(%i)'%ODF['nNonZero'] - + formatwidth = 1+int(math.log10(options.number)) materialConfig = [ @@ -324,12 +324,12 @@ for name in filenames: '', '#-------------------#', ] - + for i,ID in enumerate(range(options.number)): materialConfig += ['[Grain%s]'%(str(ID+1).zfill(formatwidth)), '(constituent) phase %i texture %s fraction 1.0'%(options.phase,str(ID+1).rjust(formatwidth)), ] - + materialConfig += [ '#-------------------#', '', @@ -338,12 +338,12 @@ for name in filenames: for ID in range(options.number): eulers = Orientations[ID] - + materialConfig += ['[Grain%s]'%(str(ID+1).zfill(formatwidth)), '(gauss) phi1 {} Phi {} phi2 {} scatter 0.0 fraction 1.0'.format(*eulers), ] -#--- output finalization -------------------------------------------------------------------------- +#--- output finalization -------------------------------------------------------------------------- with (open(os.path.splitext(name)[0]+'_'+method+'_'+str(options.number)+'_material.config','w')) as outfile: outfile.write('\n'.join(materialConfig)+'\n') diff --git a/processing/pre/mentat_spectralBox.py b/processing/pre/mentat_spectralBox.py index 027240044..e9a246f8f 100755 --- a/processing/pre/mentat_spectralBox.py +++ b/processing/pre/mentat_spectralBox.py @@ -42,7 +42,7 @@ def output(cmds,locals,dest): else: outFile(str(cmd),locals,dest) - + #------------------------------------------------------------------------------------------------- def init(): return [ @@ -114,7 +114,7 @@ def material(): "*add_geometry_elements", "all_existing", ] - + #------------------------------------------------------------------------------------------------- def geometry(): @@ -127,14 +127,14 @@ def geometry(): "*element_type 7", "all_existing", ] - + #------------------------------------------------------------------------------------------------- def initial_conditions(microstructures): elements = [] element = 0 for id in microstructures: - element += 1 + element += 1 if len(elements) < id: for i in range(id-len(elements)): elements.append([]) @@ -195,8 +195,8 @@ if filenames == []: filenames = [None] for name in filenames: damask.util.report(scriptName,name) - - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) + + geom = damask.Geom.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) microstructure = geom.get_microstructure().flatten(order='F') cmds = [\ @@ -210,7 +210,7 @@ for name in filenames: '*redraw', '*draw_automatic', ] - + outputLocals = {} if options.port: py_mentat.py_connect('',options.port) diff --git a/processing/pre/seeds_fromDistribution.py b/processing/pre/seeds_fromDistribution.py index 1a4ec6971..1cf35450c 100755 --- a/processing/pre/seeds_fromDistribution.py +++ b/processing/pre/seeds_fromDistribution.py @@ -78,7 +78,7 @@ class myThread (threading.Thread): perturbedSeedsVFile = StringIO() myBestSeedsVFile.seek(0) - perturbedSeedsTable = damask.Table.from_ASCII(myBestSeedsVFile) + perturbedSeedsTable = damask.Table.load_ASCII(myBestSeedsVFile) coords = perturbedSeedsTable.get('pos') i = 0 for ms,coord in enumerate(coords): @@ -89,8 +89,7 @@ class myThread (threading.Thread): coords[i]=newCoords direction[i]*=2. i+= 1 - perturbedSeedsTable.set('pos',coords) - perturbedSeedsTable.to_file(perturbedSeedsVFile) + perturbedSeedsTable.set('pos',coords).save_ASCII(perturbedSeedsVFile) #--- do tesselation with perturbed seed file ------------------------------------------------------ perturbedGeomVFile.close() @@ -101,7 +100,7 @@ class myThread (threading.Thread): perturbedGeomVFile.seek(0) #--- evaluate current seeds file ------------------------------------------------------------------ - perturbedGeom = damask.Geom.from_file(perturbedGeomVFile) + perturbedGeom = damask.Geom.load_ASCII(perturbedGeomVFile) myNmicrostructures = len(np.unique(perturbedGeom.microstructure)) currentData=np.bincount(perturbedGeom.microstructure.ravel())[1:]/points currentError=[] @@ -213,14 +212,14 @@ if options.randomSeed is None: options.randomSeed = int(os.urandom(4).hex(),16) damask.util.croak(options.randomSeed) delta = options.scale/np.array(options.grid) -baseFile=os.path.splitext(os.path.basename(options.seedFile))[0] +baseFile = os.path.splitext(os.path.basename(options.seedFile))[0] points = np.array(options.grid).prod().astype('float') # ----------- calculate target distribution and bin edges -targetGeom = damask.Geom.from_file(os.path.splitext(os.path.basename(options.target))[0]+'.geom') +targetGeom = damask.Geom.load_ASCII(os.path.splitext(os.path.basename(options.target))[0]+'.geom') nMicrostructures = len(np.unique(targetGeom.microstructure)) targetVolFrac = np.bincount(targetGeom.microstructure.flatten())/targetGeom.grid.prod().astype(np.float) -target=[] +target = [] for i in range(1,nMicrostructures+1): targetHist,targetBins = np.histogram(targetVolFrac,bins=i) #bin boundaries target.append({'histogram':targetHist,'bins':targetBins}) @@ -243,7 +242,7 @@ initialGeomVFile = StringIO() initialGeomVFile.write(damask.util.execute('geom_fromVoronoiTessellation '+ ' -g '+' '.join(list(map(str, options.grid))),bestSeedsVFile)[0]) initialGeomVFile.seek(0) -initialGeom = damask.Geom.from_file(initialGeomVFile) +initialGeom = damask.Geom.load_ASCII(initialGeomVFile) if len(np.unique(targetGeom.microstructure)) != nMicrostructures: damask.util.croak('error. Microstructure count mismatch') @@ -273,8 +272,8 @@ sys.stdout.flush() initialGeomVFile.close() # start mulithreaded monte carlo simulation -threads=[] -s=threading.Semaphore(1) +threads = [] +s = threading.Semaphore(1) for i in range(options.threads): threads.append(myThread(i)) diff --git a/processing/pre/seeds_fromGeom.py b/processing/pre/seeds_fromGeom.py index 97550ce13..95f0d3815 100755 --- a/processing/pre/seeds_fromGeom.py +++ b/processing/pre/seeds_fromGeom.py @@ -46,7 +46,7 @@ options.blacklist = [int(i) for i in options.blacklist] for name in filenames: damask.util.report(scriptName,name) - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) + geom = damask.Geom.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) microstructure = geom.get_microstructure().reshape((-1,1),order='F') mask = np.logical_and(np.in1d(microstructure,options.whitelist,invert=False) if options.whitelist else \ @@ -63,6 +63,6 @@ for name in filenames: 'origin\tx {}\ty {}\tz {}'.format(*geom.origin), 'homogenization\t{}'.format(geom.homogenization)] - table = damask.Table(seeds[mask],{'pos':(3,)},comments) - table = table.add('microstructure',microstructure[mask]) - table.to_file(sys.stdout if name is None else os.path.splitext(name)[0]+'.seeds') + damask.Table(seeds[mask],{'pos':(3,)},comments)\ + .add('microstructure',microstructure[mask].astype(int))\ + .save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.seeds') diff --git a/processing/pre/seeds_fromPokes.py b/processing/pre/seeds_fromPokes.py index 78172fc23..5deb0ab1a 100755 --- a/processing/pre/seeds_fromPokes.py +++ b/processing/pre/seeds_fromPokes.py @@ -52,7 +52,7 @@ options.box = np.array(options.box).reshape(3,2) for name in filenames: damask.util.report(scriptName,name) - geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) + geom = damask.Geom.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) offset =(np.amin(options.box, axis=1)*geom.grid/geom.size).astype(int) box = np.amax(options.box, axis=1) \ @@ -91,6 +91,6 @@ for name in filenames: 'homogenization\t{}'.format(geom.homogenization)] table = damask.Table(seeds,{'pos':(3,),'microstructure':(1,)},comments) - table.set('microstructure',table.get('microstructure').astype(np.int)) - table.to_file(sys.stdout if name is None else \ - os.path.splitext(name)[0]+f'_poked_{options.N}.seeds') + table.set('microstructure',table.get('microstructure').astype(np.int))\ + .save_ASCII(sys.stdout if name is None else \ + os.path.splitext(name)[0]+f'_poked_{options.N}.seeds') diff --git a/processing/pre/seeds_fromRandom.py b/processing/pre/seeds_fromRandom.py index a544528cf..c1d454f67 100755 --- a/processing/pre/seeds_fromRandom.py +++ b/processing/pre/seeds_fromRandom.py @@ -154,12 +154,12 @@ for name in filenames: 'randomSeed\t{}'.format(options.randomSeed), ] - table = damask.Table(np.hstack((seeds,eulers)),{'pos':(3,),'euler':(3,)},comments) - table = table.add('microstructure',np.arange(options.microstructure,options.microstructure + options.N,dtype=int)) + table = damask.Table(np.hstack((seeds,eulers)),{'pos':(3,),'euler':(3,)},comments)\ + .add('microstructure',np.arange(options.microstructure,options.microstructure + options.N,dtype=int)) if options.weights: weights = np.random.uniform(low = 0, high = options.max, size = options.N) if options.max > 0.0 \ else np.random.normal(loc = options.mean, scale = options.sigma, size = options.N) table = table.add('weight',weights) - table.to_file(sys.stdout if name is None else name) + table.save_ASCII(sys.stdout if name is None else name) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index fccb8642b..f3065ebc8 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -235,100 +235,128 @@ class Colormap(mpl.colors.ListedColormap): return Colormap(np.array(rev.colors),rev.name[:-4] if rev.name.endswith('_r_r') else rev.name) - def to_file(self,fname=None,format='ParaView'): + + def save_paraview(self,fname=None): """ - Export colormap to file for use in external programs. + Write colormap to JSON file for Paraview. Parameters ---------- fname : file, str, or pathlib.Path, optional. Filename to store results. If not given, the filename will - consist of the name of the colormap and an extension that - depends on the file format. - format : {'ParaView', 'ASCII', 'GOM', 'gmsh'}, optional - File format, defaults to 'ParaView'. Available formats are: - - ParaView: JSON file, extension '.json'. - - ASCII: Plain text file, extension '.txt'. - - GOM: Aramis GOM (DIC), extension '.legend'. - - Gmsh: Gmsh FEM mesh-generator, extension '.msh'. + consist of the name of the colormap and extension '.json'. """ if fname is not None: try: - f = open(fname,'w') + fhandle = open(fname,'w') except TypeError: - f = fname + fhandle = fname else: - f = None + fhandle = None - if format.lower() == 'paraview': - Colormap._export_paraview(self,f) - elif format.lower() == 'ascii': - Colormap._export_ASCII(self,f) - elif format.lower() == 'gom': - Colormap._export_GOM(self,f) - elif format.lower() == 'gmsh': - Colormap._export_gmsh(self,f) - else: - raise ValueError('Unknown output format: {format}.') - - @staticmethod - def _export_paraview(colormap,fhandle=None): - """Write colormap to JSON file for Paraview.""" colors = [] - for i,c in enumerate(np.round(colormap.colors,6).tolist()): + for i,c in enumerate(np.round(self.colors,6).tolist()): colors+=[i]+c out = [{ 'Creator':util.execution_stamp('Colormap'), 'ColorSpace':'RGB', - 'Name':colormap.name, + 'Name':self.name, 'DefaultMap':True, 'RGBPoints':colors }] if fhandle is None: - with open(colormap.name.replace(' ','_')+'.json', 'w') as f: + with open(self.name.replace(' ','_')+'.json', 'w') as f: json.dump(out, f,indent=4) else: json.dump(out,fhandle,indent=4) - @staticmethod - def _export_ASCII(colormap,fhandle=None): - """Write colormap to ASCII table.""" - labels = {'RGBA':4} if colormap.colors.shape[1] == 4 else {'RGB': 3} - t = Table(colormap.colors,labels,f'Creator: {util.execution_stamp("Colormap")}') + + def save_ASCII(self,fname=None): + """ + Write colormap to ASCII table. + + Parameters + ---------- + fname : file, str, or pathlib.Path, optional. + Filename to store results. If not given, the filename will + consist of the name of the colormap and extension '.txt'. + + """ + if fname is not None: + try: + fhandle = open(fname,'w') + except TypeError: + fhandle = fname + else: + fhandle = None + + labels = {'RGBA':4} if self.colors.shape[1] == 4 else {'RGB': 3} + t = Table(self.colors,labels,f'Creator: {util.execution_stamp("Colormap")}') if fhandle is None: - with open(colormap.name.replace(' ','_')+'.txt', 'w') as f: - t.to_file(f,new_style=True) + with open(self.name.replace(' ','_')+'.txt', 'w') as f: + t.save_ASCII(f) else: - t.to_file(fhandle,new_style=True) + t.save_ASCII(fhandle) - @staticmethod - def _export_GOM(colormap,fhandle=None): - """Write colormap to GOM Aramis compatible format.""" + + def save_GOM(self,fname=None): + """ + Write colormap to GOM Aramis compatible format. + + Parameters + ---------- + fname : file, str, or pathlib.Path, optional. + Filename to store results. If not given, the filename will + consist of the name of the colormap and extension '.legend'. + + """ + if fname is not None: + try: + fhandle = open(fname,'w') + except TypeError: + fhandle = fname + else: + fhandle = None # ToDo: test in GOM - GOM_str = f'1 1 {colormap.name.replace(" ","_")} 9 {colormap.name.replace(" ","_")} ' \ + GOM_str = '1 1 {name} 9 {name} '.format(name=self.name.replace(" ","_")) \ + '0 1 0 3 0 0 -1 9 \\ 0 0 0 255 255 255 0 0 255 ' \ - + f'30 NO_UNIT 1 1 64 64 64 255 1 0 0 0 0 0 0 3 0 {len(colormap.colors)}' \ - + ' '.join([f' 0 {c[0]} {c[1]} {c[2]} 255 1' for c in reversed((colormap.colors*255).astype(int))]) \ + + f'30 NO_UNIT 1 1 64 64 64 255 1 0 0 0 0 0 0 3 0 {len(self.colors)}' \ + + ' '.join([f' 0 {c[0]} {c[1]} {c[2]} 255 1' for c in reversed((self.colors*255).astype(int))]) \ + '\n' if fhandle is None: - with open(colormap.name.replace(' ','_')+'.legend', 'w') as f: + with open(self.name.replace(' ','_')+'.legend', 'w') as f: f.write(GOM_str) else: fhandle.write(GOM_str) - @staticmethod - def _export_gmsh(colormap,fhandle=None): - """Write colormap to Gmsh compatible format.""" + def save_gmsh(self,fname=None): + """ + Write colormap to Gmsh compatible format. + + Parameters + ---------- + fname : file, str, or pathlib.Path, optional. + Filename to store results. If not given, the filename will + consist of the name of the colormap and extension '.msh'. + + """ + if fname is not None: + try: + fhandle = open(fname,'w') + except TypeError: + fhandle = fname + else: + fhandle = None # ToDo: test in gmsh gmsh_str = 'View.ColorTable = {\n' \ - +'\n'.join([f'{c[0]},{c[1]},{c[2]},' for c in colormap.colors[:,:3]*255]) \ + +'\n'.join([f'{c[0]},{c[1]},{c[2]},' for c in self.colors[:,:3]*255]) \ +'\n}\n' if fhandle is None: - with open(colormap.name.replace(' ','_')+'.msh', 'w') as f: + with open(self.name.replace(' ','_')+'.msh', 'w') as f: f.write(gmsh_str) else: fhandle.write(gmsh_str) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index f5dc05f2f..8fa0b533a 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -284,7 +284,7 @@ class Geom: @staticmethod - def from_file(fname): + def load_ASCII(fname): """ Read a geom file. @@ -350,7 +350,7 @@ class Geom: @staticmethod - def from_vtr(fname): + def load_vtr(fname): """ Read a VTK rectilinear grid. @@ -361,7 +361,7 @@ class Geom: Valid extension is .vtr, it will be appended if not given. """ - v = VTK.from_file(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') + v = VTK.load(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') comments = v.get_comments() grid = np.array(v.vtk_data.GetDimensions())-1 bbox = np.array(v.vtk_data.GetBounds()).reshape(3,2).T @@ -447,128 +447,106 @@ class Geom: ) - def to_file(self,fname,format='vtr',pack=None): + def save_ASCII(self,fname,pack=None): """ Writes a geom file. Parameters ---------- + geom : Geom object + Geometry to write. fname : str or file handle - Geometry file to write. - format : {'vtr', 'ASCII'}, optional - File format, defaults to 'vtr'. Available formats are: - - vtr: VTK rectilinear grid file, extension '.vtr'. - - ASCII: Plain text file, extension '.geom'. + Geometry file to write with extension '.geom'. pack : bool, optional - Compress ASCII geometry with 'x of y' and 'a to b'. + Compress geometry with 'x of y' and 'a to b'. """ - def _to_ASCII(geom,fname,pack=None): - """ - Writes a geom file. + header = [f'{len(self.comments)+4} header'] + self.comments + header.append('grid a {} b {} c {}'.format(*self.get_grid())) + header.append('size x {} y {} z {}'.format(*self.get_size())) + header.append('origin x {} y {} z {}'.format(*self.get_origin())) + header.append(f'homogenization {self.get_homogenization()}') - Parameters - ---------- - geom : Geom object - Geometry to write. - fname : str or file handle - Geometry file to write. - pack : bool, optional - Compress geometry with 'x of y' and 'a to b'. + grid = self.get_grid() - """ - header = [f'{len(geom.comments)+4} header'] + geom.comments - header.append('grid a {} b {} c {}'.format(*geom.get_grid())) - header.append('size x {} y {} z {}'.format(*geom.get_size())) - header.append('origin x {} y {} z {}'.format(*geom.get_origin())) - header.append(f'homogenization {geom.get_homogenization()}') - - grid = geom.get_grid() - - if pack is None: - plain = grid.prod()/geom.N_microstructure < 250 - else: - plain = not pack - - if plain: - format_string = '%g' if geom.microstructure.dtype in np.sctypes['float'] else \ - '%{}i'.format(1+int(np.floor(np.log10(np.nanmax(geom.microstructure))))) - np.savetxt(fname, - geom.microstructure.reshape([grid[0],np.prod(grid[1:])],order='F').T, - header='\n'.join(header), fmt=format_string, comments='') - else: - try: - f = open(fname,'w') - except TypeError: - f = fname - - compressType = None - former = start = -1 - reps = 0 - for current in geom.microstructure.flatten('F'): - if abs(current - former) == 1 and (start - current) == reps*(former - current): - compressType = 'to' - reps += 1 - elif current == former and start == former: - compressType = 'of' - reps += 1 - else: - if compressType is None: - f.write('\n'.join(header)+'\n') - elif compressType == '.': - f.write(f'{former}\n') - elif compressType == 'to': - f.write(f'{start} to {former}\n') - elif compressType == 'of': - f.write(f'{reps} of {former}\n') - - compressType = '.' - start = current - reps = 1 - - former = current - - if compressType == '.': - f.write(f'{former}\n') - elif compressType == 'to': - f.write(f'{start} to {former}\n') - elif compressType == 'of': - f.write(f'{reps} of {former}\n') - - - def _to_vtr(geom,fname=None): - """ - Generates vtk rectilinear grid. - - Parameters - ---------- - geom : Geom object - Geometry to write. - fname : str, optional - Filename to write. If no file is given, a string is returned. - Valid extension is .vtr, it will be appended if not given. - - """ - v = VTK.from_rectilinearGrid(geom.grid,geom.size,geom.origin) - v.add(geom.microstructure.flatten(order='F'),'materialpoint') - v.add_comments(geom.comments) - - if fname: - v.to_file(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') - else: - sys.stdout.write(v.__repr__()) - - if format.lower() == 'ascii': - return _to_ASCII(self,fname,pack) - elif format.lower() == 'vtr': - return _to_vtr(self,fname) + if pack is None: + plain = grid.prod()/self.N_microstructure < 250 else: - raise TypeError(f'Unknown format {format}.') + plain = not pack + + if plain: + format_string = '%g' if self.microstructure.dtype in np.sctypes['float'] else \ + '%{}i'.format(1+int(np.floor(np.log10(np.nanmax(self.microstructure))))) + np.savetxt(fname, + self.microstructure.reshape([grid[0],np.prod(grid[1:])],order='F').T, + header='\n'.join(header), fmt=format_string, comments='') + else: + try: + f = open(fname,'w') + except TypeError: + f = fname + + compressType = None + former = start = -1 + reps = 0 + for current in self.microstructure.flatten('F'): + if abs(current - former) == 1 and (start - current) == reps*(former - current): + compressType = 'to' + reps += 1 + elif current == former and start == former: + compressType = 'of' + reps += 1 + else: + if compressType is None: + f.write('\n'.join(header)+'\n') + elif compressType == '.': + f.write(f'{former}\n') + elif compressType == 'to': + f.write(f'{start} to {former}\n') + elif compressType == 'of': + f.write(f'{reps} of {former}\n') + + compressType = '.' + start = current + reps = 1 + + former = current + + if compressType == '.': + f.write(f'{former}\n') + elif compressType == 'to': + f.write(f'{start} to {former}\n') + elif compressType == 'of': + f.write(f'{reps} of {former}\n') + + + def save_vtr(self,fname=None): + """ + Generates vtk rectilinear grid. + + Parameters + ---------- + geom : Geom object + Geometry to write with extension '.vtr'. + fname : str, optional + Filename to write. If no file is given, a string is returned. + Valid extension is .vtr, it will be appended if not given. + + """ + v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) + v.add(self.microstructure.flatten(order='F'),'materialpoint') + v.add_comments(self.comments) + + if fname: + v.save(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') + else: + sys.stdout.write(v.__repr__()) + def as_ASCII(self,pack=False): """Format geometry as human-readable ASCII.""" f = StringIO() - self.to_file(f,'ASCII',pack) + self.save_ASCII(f,pack) f.seek(0) return ''.join(f.readlines()) diff --git a/python/damask/_result.py b/python/damask/_result.py index 723a9f3eb..02d0c0abe 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1196,7 +1196,7 @@ class Result: f.write(xml.dom.minidom.parseString(ET.tostring(xdmf).decode()).toprettyxml()) - def to_vtk(self,labels=[],mode='cell'): + def save_vtk(self,labels=[],mode='cell'): """ Export to vtk cell/point data. @@ -1268,4 +1268,4 @@ class Result: u = self.read_dataset(self.get_dataset_location('u_n' if mode.lower() == 'cell' else 'u_p')) v.add(u,'u') - v.to_file(f'{self.fname.stem}_inc{inc[3:].zfill(N_digits)}') + v.save(f'{self.fname.stem}_inc{inc[3:].zfill(N_digits)}') diff --git a/python/damask/_table.py b/python/damask/_table.py index b4fd2975a..987233153 100644 --- a/python/damask/_table.py +++ b/python/damask/_table.py @@ -27,7 +27,7 @@ class Table: self.comments = [] if comments_ is None else [c for c in comments_] self.data = pd.DataFrame(data=data) self.shapes = { k:(v,) if isinstance(v,(np.int,int)) else v for k,v in shapes.items() } - self._label_condensed() + self._label_uniform() def __copy__(self): @@ -39,7 +39,7 @@ class Table: return self.__copy__() - def _label_flat(self): + def _label_discrete(self): """Label data individually, e.g. v v v ==> 1_v 2_v 3_v.""" labels = [] for label,shape in self.shapes.items(): @@ -48,8 +48,8 @@ class Table: self.data.columns = labels - def _label_condensed(self): - """Label data condensed, e.g. 1_v 2_v 3_v ==> v v v.""" + def _label_uniform(self): + """Label data uniformly, e.g. 1_v 2_v 3_v ==> v v v.""" labels = [] for label,shape in self.shapes.items(): labels += [label] * int(np.prod(shape)) @@ -64,12 +64,15 @@ class Table: @staticmethod - def from_ASCII(fname): + def load_ASCII(fname): """ Create table from ASCII file. - The first line can indicate the number of subsequent header lines as 'n header', - alternatively first line is the header and comments are marked by '#' ('new style'). + In legacy style, the first line indicates the number of + subsequent header lines as "N header", with the last header line being + interpreted as column labels. + Alternatively, initial comments are marked by '#', with the first non-comment line + containing the column labels. Vector data column labels are indicated by '1_v, 2_v, ..., n_v'. Tensor data column labels are indicated by '3x3:1_T, 3x3:2_T, ..., 3x3:9_T'. @@ -119,7 +122,7 @@ class Table: return Table(data,shapes,comments) @staticmethod - def from_ang(fname): + def load_ang(fname): """ Create table from TSL ang file. @@ -289,9 +292,9 @@ class Table: """ dup = self.copy() - dup._label_flat() + dup._label_discrete() dup.data.sort_values(labels,axis=0,inplace=True,ascending=ascending) - dup._label_condensed() + dup._label_uniform() dup.comments.append(f'sorted {"ascending" if ascending else "descending"} by {labels}') return dup @@ -338,59 +341,40 @@ class Table: return dup - def to_file(self,fname,format='ASCII',new_style=False): + def save_ASCII(table,fname,legacy=False): """ Store as plain text file. Parameters ---------- + table : Table object + Table to write. fname : file, str, or pathlib.Path Filename or file for writing. - format : {ASCII'}, optional - File format, defaults to 'ASCII'. Available formats are: - - ASCII: Plain text file, extension '.txt'. - new_style : Boolean, optional - Write table in new style, indicating header lines by comment sign ('#') only. + legacy : Boolean, optional + Write table in legacy style, indicating header lines by "N header" + in contrast to using comment sign ('#') at beginning of lines. """ - def _to_ASCII(table,fname,new_style=False): - """ - Store as plain text file. + seen = set() + labels = [] + for l in [x for x in table.data.columns if not (x in seen or seen.add(x))]: + if table.shapes[l] == (1,): + labels.append(f'{l}') + elif len(table.shapes[l]) == 1: + labels += [f'{i+1}_{l}' \ + for i in range(table.shapes[l][0])] + else: + labels += [f'{util.srepr(table.shapes[l],"x")}:{i+1}_{l}' \ + for i in range(np.prod(table.shapes[l]))] - Parameters - ---------- - table : Table object - Table to write. - fname : file, str, or pathlib.Path - Filename or file for writing. - new_style : Boolean, optional - Write table in new style, indicating header lines by comment sign ('#') only. + header = ([f'{len(table.comments)+1} header'] + table.comments) if legacy else \ + [f'# {comment}' for comment in table.comments] - """ - seen = set() - labels = [] - for l in [x for x in table.data.columns if not (x in seen or seen.add(x))]: - if table.shapes[l] == (1,): - labels.append(f'{l}') - elif len(table.shapes[l]) == 1: - labels += [f'{i+1}_{l}' \ - for i in range(table.shapes[l][0])] - else: - labels += [f'{util.srepr(table.shapes[l],"x")}:{i+1}_{l}' \ - for i in range(np.prod(table.shapes[l]))] + try: + f = open(fname,'w') + except TypeError: + f = fname - header = [f'# {comment}' for comment in table.comments] if new_style else \ - [f'{len(table.comments)+1} header'] + table.comments - - try: - f = open(fname,'w') - except TypeError: - f = fname - - for line in header + [' '.join(labels)]: f.write(line+'\n') - table.data.to_csv(f,sep=' ',na_rep='nan',index=False,header=False) - - if format.lower() == 'ascii': - return _to_ASCII(self,fname,new_style) - else: - raise TypeError(f'Unknown format {format}.') + for line in header + [' '.join(labels)]: f.write(line+'\n') + table.data.to_csv(f,sep=' ',na_rep='nan',index=False,header=False) diff --git a/python/damask/_test.py b/python/damask/_test.py index 78616fabf..c75266e72 100644 --- a/python/damask/_test.py +++ b/python/damask/_test.py @@ -228,7 +228,7 @@ class Test: def copy_Base2Current(self,sourceDir,sourcefiles=[],targetfiles=[]): - source=os.path.normpath(os.path.join(self.dirBase,'../../..',sourceDir)) + source = os.path.normpath(os.path.join(self.dirBase,'../../..',sourceDir)) if len(targetfiles) == 0: targetfiles = sourcefiles for i,f in enumerate(sourcefiles): try: @@ -287,30 +287,30 @@ class Test: import numpy as np logging.info('\n '.join(['comparing',File1,File2])) - table = damask.Table.from_ASCII(File1) - len1=len(table.comments)+2 - table = damask.Table.from_ASCII(File2) - len2=len(table.comments)+2 + table = damask.Table.load_ASCII(File1) + len1 = len(table.comments)+1 + table = damask.Table.load_ASCII(File2) + len2 = len(table.comments)+1 refArray = np.nan_to_num(np.genfromtxt(File1,missing_values='n/a',skip_header = len1,autostrip=True)) curArray = np.nan_to_num(np.genfromtxt(File2,missing_values='n/a',skip_header = len2,autostrip=True)) if len(curArray) == len(refArray): refArrayNonZero = refArray[refArray.nonzero()] - curArray = curArray[refArray.nonzero()] - max_err=np.max(abs(refArrayNonZero[curArray.nonzero()]/curArray[curArray.nonzero()]-1.)) - max_loc=np.argmax(abs(refArrayNonZero[curArray.nonzero()]/curArray[curArray.nonzero()]-1.)) + curArray = curArray[refArray.nonzero()] + max_err = np. max(abs(refArrayNonZero[curArray.nonzero()]/curArray[curArray.nonzero()]-1.)) + max_loc = np.argmax(abs(refArrayNonZero[curArray.nonzero()]/curArray[curArray.nonzero()]-1.)) refArrayNonZero = refArrayNonZero[curArray.nonzero()] - curArray = curArray[curArray.nonzero()] + curArray = curArray[curArray.nonzero()] print(f' ********\n * maximum relative error {max_err} between {refArrayNonZero[max_loc]} and {curArray[max_loc]}\n ********') return max_err else: - raise Exception('mismatch in array size to compare') + raise Exception(f'mismatch in array sizes ({len(refArray)} and {len(curArray)}) to compare') def compare_ArrayRefCur(self,ref,cur=''): - if cur =='': cur = ref + if cur == '': cur = ref refName = self.fileInReference(ref) curName = self.fileInCurrent(cur) return self.compare_Array(refName,curName) @@ -399,10 +399,8 @@ class Test: if any(norm[i]) == 0.0 or absTol[i]: norm[i] = [1.0 for j in range(line0-len(skipLines))] absTol[i] = True - if perLine: - logging.warning(f"At least one norm of \"{headings0[i]['label']}\" in first table is 0.0, using absolute tolerance") - else: - logging.warning(f"Maximum norm of \"{headings0[i]['label']}\" in first table is 0.0, using absolute tolerance") + logging.warning(f'''{"At least one" if perLine else "Maximum"} norm of + "{headings0[i]['label']}" in first table is 0.0, using absolute tolerance''') line1 = 0 while table1.data_read(): # read next data line of ASCII table @@ -418,20 +416,18 @@ class Test: logging.info(' ********') for i in range(dataLength): - if absTol[i]: - logging.info(f" * maximum absolute error {maxError[i]} between {headings0[i]['label']} and {headings1[i]['label']}") - else: - logging.info(f" * maximum relative error {maxError[i]} between {headings0[i]['label']} and {headings1[i]['label']}") + logging.info(f''' * maximum {'absolute' if absTol[i] else 'relative'} error {maxError[i]} + between {headings0[i]['label']} and {headings1[i]['label']}''') logging.info(' ********') return maxError def compare_TablesStatistically(self, - files = [None,None], # list of file names - columns = [None], # list of list of column labels (per file) - meanTol = 1.0e-4, - stdTol = 1.0e-6, - preFilter = 1.0e-9): + files = [None,None], # list of file names + columns = [None], # list of list of column labels (per file) + meanTol = 1.0e-4, + stdTol = 1.0e-6, + preFilter = 1.0e-9): """ Calculate statistics of tables. @@ -440,9 +436,9 @@ class Test: if not (isinstance(files, Iterable) and not isinstance(files, str)): # check whether list of files is requested files = [str(files)] - tables = [damask.Table.from_ASCII(filename) for filename in files] + tables = [damask.Table.load_ASCII(filename) for filename in files] for table in tables: - table._label_flat() + table._label_discrete() columns += [columns[0]]*(len(files)-len(columns)) # extend to same length as files columns = columns[:len(files)] # truncate to same length as files @@ -462,7 +458,7 @@ class Test: data = [] for table,labels in zip(tables,columns): - table._label_condensed() + table._label_uniform() data.append(np.hstack(list(table.get(label) for label in labels))) @@ -471,12 +467,11 @@ class Test: normBy = (np.abs(data[i]) + np.abs(data[i-1]))*0.5 normedDelta = np.where(normBy>preFilter,delta/normBy,0.0) mean = np.amax(np.abs(np.mean(normedDelta,0))) - std = np.amax(np.std(normedDelta,0)) + std = np.amax(np.std(normedDelta,0)) logging.info(f'mean: {mean:f}') logging.info(f'std: {std:f}') - return (mean 1: - current.to_file(reference,format='vtr') + current.save_vtr(reference) for _ in range(10): time.sleep(.2) if os.path.exists(reference.with_suffix('.vtr')): break - assert geom_equal(Geom.from_vtr(reference) if stencil > 1 else default, + assert geom_equal(Geom.load_vtr(reference) if stencil > 1 else default, current ) @@ -220,8 +216,8 @@ class TestGeom: modified = default.scale(grid) tag = f'grid={util.srepr(grid,"-")}' reference = reference_dir/f'scale_{tag}.geom' - if update: modified.to_file(reference) - assert geom_equal(Geom.from_file(reference), + if update: modified.save_ASCII(reference) + assert geom_equal(Geom.load_ASCII(reference), modified) def test_renumber(self,default): @@ -255,8 +251,8 @@ class TestGeom: modified = default.rotate(Rotation.from_Eulers(Eulers,degrees=True)) tag = f'Eulers={util.srepr(Eulers,"-")}' reference = reference_dir/f'rotate_{tag}.geom' - if update: modified.to_file(reference) - assert geom_equal(Geom.from_file(reference), + if update: modified.save_ASCII(reference) + assert geom_equal(Geom.load_ASCII(reference), modified) def test_canvas(self,default): diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index 9a23dc0ed..1c92340bf 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -107,7 +107,7 @@ class TestOrientation: table = Table(eu,{'Eulers':(3,)}) table = table.add('pos',coords) table.to_ASCII(reference) - assert np.allclose(eu,Table.from_ASCII(reference).get('Eulers')) + assert np.allclose(eu,Table.load_ASCII(reference).get('Eulers')) @pytest.mark.parametrize('lattice',Lattice.lattices) def test_disorientation360(self,lattice): @@ -129,4 +129,3 @@ class TestOrientation: eqs = [r for r in R_1.equivalent] R_2 = Orientation.from_average(eqs) assert np.allclose(R_1.rotation.quaternion,R_2.rotation.quaternion) - diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 6000f50f9..c25bf7a4c 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -339,7 +339,7 @@ class TestResult: @pytest.mark.parametrize('output',['F',[],['F','P']]) def test_vtk(self,tmp_path,default,output): os.chdir(tmp_path) - default.to_vtk(output) + default.save_vtk(output) def test_XDMF(self,tmp_path,single_phase): os.chdir(tmp_path) diff --git a/python/tests/test_Table.py b/python/tests/test_Table.py index 1763e27ef..af940a037 100644 --- a/python/tests/test_Table.py +++ b/python/tests/test_Table.py @@ -35,50 +35,50 @@ class TestTable: @pytest.mark.parametrize('mode',['str','path']) def test_write_read(self,default,tmpdir,mode): - default.to_file(tmpdir/'default.txt') + default.save_ASCII(tmpdir/'default.txt') if mode == 'path': - new = Table.from_ASCII(tmpdir/'default.txt') + new = Table.load_ASCII(tmpdir/'default.txt') elif mode == 'str': - new = Table.from_ASCII(str(tmpdir/'default.txt')) + new = Table.load_ASCII(str(tmpdir/'default.txt')) assert all(default.data==new.data) and default.shapes == new.shapes def test_write_read_file(self,default,tmpdir): with open(tmpdir/'default.txt','w') as f: - default.to_file(f) + default.save_ASCII(f) with open(tmpdir/'default.txt') as f: - new = Table.from_ASCII(f) + new = Table.load_ASCII(f) assert all(default.data==new.data) and default.shapes == new.shapes - def test_write_read_new_style(self,default,tmpdir): - with open(tmpdir/'new_style.txt','w') as f: - default.to_file(f,new_style=True) - with open(tmpdir/'new_style.txt') as f: - new = Table.from_ASCII(f) + def test_write_read_legacy_style(self,default,tmpdir): + with open(tmpdir/'legacy.txt','w') as f: + default.save_ASCII(f,legacy=True) + with open(tmpdir/'legacy.txt') as f: + new = Table.load_ASCII(f) assert all(default.data==new.data) and default.shapes == new.shapes def test_write_invalid_format(self,default,tmpdir): with pytest.raises(TypeError): - default.to_file(tmpdir/'shouldnotbethere.txt',format='invalid') + default.save_ASCII(tmpdir/'shouldnotbethere.txt',format='invalid') @pytest.mark.parametrize('mode',['str','path']) def test_read_ang(self,reference_dir,mode): if mode == 'path': - new = Table.from_ang(reference_dir/'simple.ang') + new = Table.load_ang(reference_dir/'simple.ang') elif mode == 'str': - new = Table.from_ang(str(reference_dir/'simple.ang')) + new = Table.load_ang(str(reference_dir/'simple.ang')) assert new.data.shape == (4,10) and \ new.labels == ['eu', 'pos', 'IQ', 'CI', 'ID', 'intensity', 'fit'] def test_read_ang_file(self,reference_dir): f = open(reference_dir/'simple.ang') - new = Table.from_ang(f) + new = Table.load_ang(f) assert new.data.shape == (4,10) and \ new.labels == ['eu', 'pos', 'IQ', 'CI', 'ID', 'intensity', 'fit'] @pytest.mark.parametrize('fname',['datatype-mix.txt','whitespace-mix.txt']) def test_read_strange(self,reference_dir,fname): with open(reference_dir/fname) as f: - Table.from_ASCII(f) + Table.load_ASCII(f) def test_set(self,default): d = default.set('F',np.zeros((5,3,3)),'set to zero').get('F') @@ -166,7 +166,7 @@ class TestTable: x = np.random.random((5,12)) t = Table(x,{'F':(3,3),'v':(3,)},['random test data']) unsort = t.get('4_F') - sort = t.sort_by('4_F').get('4_F') + sort = t.sort_by('4_F').get('4_F') assert np.all(np.sort(unsort,0)==sort) def test_sort_revert(self): @@ -179,6 +179,6 @@ class TestTable: t = Table(np.array([[0,1,],[2,1,]]), {'v':(2,)}, ['test data'])\ - .add('s',np.array(['b','a']))\ - .sort_by('s') + .add('s',np.array(['b','a']))\ + .sort_by('s') assert np.all(t.get('1_v') == np.array([2,0]).reshape(2,1)) diff --git a/python/tests/test_VTK.py b/python/tests/test_VTK.py index f6be4da25..81c9eb772 100644 --- a/python/tests/test_VTK.py +++ b/python/tests/test_VTK.py @@ -32,22 +32,22 @@ class TestVTK: origin = np.random.random(3) v = VTK.from_rectilinearGrid(grid,size,origin) string = v.__repr__() - v.to_file(tmp_path/'rectilinearGrid',False) - vtr = VTK.from_file(tmp_path/'rectilinearGrid.vtr') + v.save(tmp_path/'rectilinearGrid',False) + vtr = VTK.load(tmp_path/'rectilinearGrid.vtr') with open(tmp_path/'rectilinearGrid.vtk','w') as f: f.write(string) - vtk = VTK.from_file(tmp_path/'rectilinearGrid.vtk','VTK_rectilinearGrid') + vtk = VTK.load(tmp_path/'rectilinearGrid.vtk','VTK_rectilinearGrid') assert(string == vtr.__repr__() == vtk.__repr__()) def test_polyData(self,tmp_path): points = np.random.rand(100,3) v = VTK.from_polyData(points) string = v.__repr__() - v.to_file(tmp_path/'polyData',False) - vtp = VTK.from_file(tmp_path/'polyData.vtp') + v.save(tmp_path/'polyData',False) + vtp = VTK.load(tmp_path/'polyData.vtp') with open(tmp_path/'polyData.vtk','w') as f: f.write(string) - vtk = VTK.from_file(tmp_path/'polyData.vtk','polyData') + vtk = VTK.load(tmp_path/'polyData.vtk','polyData') assert(string == vtp.__repr__() == vtk.__repr__()) @pytest.mark.parametrize('cell_type,n',[ @@ -62,11 +62,11 @@ class TestVTK: connectivity = np.random.choice(np.arange(n),n,False).reshape(-1,n) v = VTK.from_unstructuredGrid(nodes,connectivity,cell_type) string = v.__repr__() - v.to_file(tmp_path/'unstructuredGrid',False) - vtu = VTK.from_file(tmp_path/'unstructuredGrid.vtu') + v.save(tmp_path/'unstructuredGrid',False) + vtu = VTK.load(tmp_path/'unstructuredGrid.vtu') with open(tmp_path/'unstructuredGrid.vtk','w') as f: f.write(string) - vtk = VTK.from_file(tmp_path/'unstructuredGrid.vtk','unstructuredgrid') + vtk = VTK.load(tmp_path/'unstructuredGrid.vtk','unstructuredgrid') assert(string == vtu.__repr__() == vtk.__repr__()) @@ -75,8 +75,8 @@ class TestVTK: v = VTK.from_polyData(points) fname_s = tmp_path/'single.vtp' fname_p = tmp_path/'parallel.vtp' - v.to_file(fname_s,False) - v.to_file(fname_p,True) + v.save(fname_s,False) + v.save(fname_p,True) for i in range(10): if os.path.isfile(fname_p) and filecmp.cmp(fname_s,fname_p): assert(True) @@ -90,11 +90,11 @@ class TestVTK: ('this_file_does_not_exist.vtx', None)]) def test_invalid_dataset_type(self,name,dataset_type): with pytest.raises(TypeError): - VTK.from_file(name,dataset_type) + VTK.load(name,dataset_type) def test_invalid_extension_write(self,default): with pytest.raises(ValueError): - default.to_file('default.txt') + default.save('default.txt') def test_invalid_get(self,default): with pytest.raises(ValueError): @@ -115,8 +115,8 @@ class TestVTK: def test_comments(self,tmp_path,default): default.add_comments(['this is a comment']) - default.to_file(tmp_path/'with_comments',parallel=False) - new = VTK.from_file(tmp_path/'with_comments.vtr') + default.save(tmp_path/'with_comments',parallel=False) + new = VTK.load(tmp_path/'with_comments.vtr') assert new.get_comments() == ['this is a comment'] def test_compare_reference_polyData(self,update,reference_dir,tmp_path): @@ -124,9 +124,9 @@ class TestVTK: polyData = VTK.from_polyData(points) polyData.add(points,'coordinates') if update: - polyData.to_file(reference_dir/'polyData') + polyData.save(reference_dir/'polyData') else: - reference = VTK.from_file(reference_dir/'polyData.vtp') + reference = VTK.load(reference_dir/'polyData.vtp') assert polyData.__repr__() == reference.__repr__() and \ np.allclose(polyData.get('coordinates'),points) @@ -139,8 +139,8 @@ class TestVTK: rectilinearGrid.add(c,'cell') rectilinearGrid.add(n,'node') if update: - rectilinearGrid.to_file(reference_dir/'rectilinearGrid') + rectilinearGrid.save(reference_dir/'rectilinearGrid') else: - reference = VTK.from_file(reference_dir/'rectilinearGrid.vtr') + reference = VTK.load(reference_dir/'rectilinearGrid.vtr') assert rectilinearGrid.__repr__() == reference.__repr__() and \ np.allclose(rectilinearGrid.get('cell'),c) From 2114c510983bf56aa6eaf9896a9a994884bdc2a8 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 15 Sep 2020 01:47:26 -0400 Subject: [PATCH 621/958] revert mistakenly made header length change in array-comparison --- python/damask/_test.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/damask/_test.py b/python/damask/_test.py index c75266e72..ab4df6d68 100644 --- a/python/damask/_test.py +++ b/python/damask/_test.py @@ -288,9 +288,9 @@ class Test: import numpy as np logging.info('\n '.join(['comparing',File1,File2])) table = damask.Table.load_ASCII(File1) - len1 = len(table.comments)+1 + len1 = len(table.comments)+2 table = damask.Table.load_ASCII(File2) - len2 = len(table.comments)+1 + len2 = len(table.comments)+2 refArray = np.nan_to_num(np.genfromtxt(File1,missing_values='n/a',skip_header = len1,autostrip=True)) curArray = np.nan_to_num(np.genfromtxt(File2,missing_values='n/a',skip_header = len2,autostrip=True)) @@ -331,7 +331,7 @@ class Test: logging.info('\n '.join(['comparing ASCII Tables',file0,file1])) if normHeadings == '': normHeadings = headings0 -# check if comparison is possible and determine lenght of columns +# check if comparison is possible and determine length of columns if len(headings0) == len(headings1) == len(normHeadings): dataLength = len(headings0) length = [1 for i in range(dataLength)] From 82e41d92ce2483da05243dccfa2d5c932e462054 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 15 Sep 2020 08:12:02 +0200 Subject: [PATCH 622/958] new style for numpy random numbers https://numpy.org/doc/stable/reference/random/index.html?highlight=random#quick-start https://albertcthomas.github.io/good-practices-random-number-generators/ --- python/damask/_rotation.py | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index ac7b3ace8..a2f3cba69 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -613,13 +613,29 @@ class Rotation: return Rotation.from_quaternion(np.real(vec.T[eig.argmax()]),accept_homomorph = True) @staticmethod - def from_random(shape=None): + def from_random(shape=None,seed=None): + """ + Draw random rotation. + + Rotations are uniformly distributed. + + Parameters + ---------- + shape : tuple of ints, optional + Shape of the sample. Defaults to None which gives a + single rotation + seed : {None, int, array_like[ints], SeedSequence, BitGenerator, Generator}, optional + A seed to initialize the BitGenerator. Defaults to None. + If None, then fresh, unpredictable entropy will be pulled from the OS. + + """ + rng = np.random.default_rng(seed) if shape is None: - r = np.random.random(3) + r = rng.random(3) elif hasattr(shape, '__iter__'): - r = np.random.random(tuple(shape)+(3,)) + r = rng.random(tuple(shape)+(3,)) else: - r = np.random.rand(shape,3) + r = rng.random((shape,3)) A = np.sqrt(r[...,2]) B = np.sqrt(1.0-r[...,2]) From 2a082b7983313d12f4558e80a8ccc432716b0f69 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 15 Sep 2020 11:56:13 +0200 Subject: [PATCH 623/958] methods for texture component calculations --- python/damask/_rotation.py | 128 ++++++++++++++++++++++++++++++++++ python/tests/test_Rotation.py | 37 ++++++++++ 2 files changed, 165 insertions(+) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index ac7b3ace8..6a94405ee 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -636,6 +636,134 @@ class Rotation: asAxisAngle = as_axis_angle __mul__ = __matmul__ + + @staticmethod + def from_spherical_component(center,FWHM,N_samples=500,degrees=True,seed=None): + """ + Calculate set of rotations with Gaussian distribution around center. + + References + ---------- + K. Helming, Texturapproximation durch Modellkomponenten + Cuvillier Verlag, 1996 + + Parameters + ---------- + center : Rotation + Central Rotation. + FWHM : float + Full width at half maximum of the Gaussian distribution. + N_samples : int, optional + Number of samples, defaults to 500. + degrees : boolean, optional + FWHM is given in degrees. + seed : {None, int, array_like[ints], SeedSequence, BitGenerator, Generator}, optional + A seed to initialize the BitGenerator. Defaults to None. + If None, then fresh, unpredictable entropy will be pulled from the OS. + + """ + rng = np.random.default_rng(seed) + _FWHM = np.radians(FWHM) if degrees else FWHM + if _FWHM > np.radians(0.1): + rotations = [] + for i in range(N_samples): + while True: + rnd = rng.random(4) + a = rnd[0]*2.0 -1.0 # uniform + ax = np.array([a, + np.sqrt(1.0-a**2.0)*np.cos(rnd[1]*2.0*np.pi), # random axis + np.sqrt(1.0-a**2.0)*np.sin(rnd[1]*2.0*np.pi), # random axis + (rnd[2]-0.5) * 4 *_FWHM]) # rotation by [0, +-2 FWHM] + if ax[3] < 0.0: ax*=-1.0 + R = Rotation.from_axis_angle(ax,normalize=True) + angle = R.misorientation(Rotation()).as_axis_angle()[3] # misorientation to unity + if rnd[3] <= np.exp(-4.0*np.log(2.0)*(angle/_FWHM)**2): # rejection sampling (Gaussian) + break + rotations.append((center @ R).as_quaternion()) + else: + rotations = [center.as_quaternion() for i in range(N_samples)] + + return Rotation.from_quaternion(rotations) + + + @staticmethod + def from_fiber_component(alpha,beta,FWHM,N_samples=500,degrees=True,seed=None): + """ + Calculate set of rotations with Gaussian distribution around direction. + + References + ---------- + K. Helming, Texturapproximation durch Modellkomponenten + Cuvillier Verlag, 1996 + + Parameters + ---------- + alpha : numpy.ndarray of size 2 + tbd. + beta : numpy.ndarray of size 2 + tbd. + FWHM : float + Full width at half maximum of the Gaussian distribution. + N_samples : int, optional + Number of samples, defaults to 500. + degrees : boolean, optional + FWHM, alpha, and beta are given in degrees. + seed : {None, int, array_like[ints], SeedSequence, BitGenerator, Generator}, optional + A seed to initialize the BitGenerator. Defaults to None. + If None, then fresh, unpredictable entropy will be pulled from the OS. + + """ + rng = np.random.default_rng(seed) + FWHM_,alpha_,beta_ = map(np.radians,(FWHM,alpha,beta)) if degrees else (FWHM,alpha,beta) + + f_in_C = np.array([np.sin(alpha_[0])*np.cos(alpha_[1]), np.sin(alpha_[0])*np.sin(alpha_[1]), np.cos(alpha_[0])]) + f_in_S = np.array([np.sin(beta_[0] )*np.cos(beta_[1] ), np.sin(beta_[0] )*np.sin(beta_[1] ), np.cos(beta_[0] )]) + + rotations = [] + for i in range(N_samples): + rnd = rng.random(3) + ax = np.append(np.cross(f_in_C,f_in_S), - np.arccos(np.dot(f_in_C,f_in_S))) + if ax[3] < 0.0: ax *= -1.0 + R = Rotation.from_axis_angle(ax,normalize=True) # rotation to align fiber axis in crystal and sample system + + ax = np.append(f_in_S,rnd[0]*np.pi*2.0) + if ax[3] > np.pi: ax = np.append(ax[:3]*-1,np.pi*2-ax[3]) + R = R @ Rotation.from_axis_angle(ax) # rotation (0..360deg) perpendicular to fiber axis + + if FWHM_ > np.radians(0.1): + + i_smallest = np.argmin(np.abs(f_in_S)) + i_non_smallest = list(filter(lambda x: x!=i_smallest, [0,1,2])) + + s = f_in_S[i_smallest] + a = f_in_S[i_non_smallest] + x = sum([x**2 for x in a]) + + u = np.empty(3) + while True: # rejection sampling + angle = (rnd[1] - 0.5)*4 *FWHM_ + # solve cos(angle) = dot_product(fInS,u) for u. This is underdetermined, hence assume that + # they share the smallest component. + + c = np.cos(angle) - s**2 + + u[i_non_smallest[1]] = -(2.0*c*a[1] + np.sqrt(4*((c*a[1])**2.0-x*(c**2.0-a[0]**2*(1.0-s**2)))))/(2*x) + u[i_non_smallest[0]] = np.sqrt(1.0-u[i_non_smallest[1]]**2.0-s**2.0) + u[i_smallest] = s + + if (rnd[2] <= np.exp(-4.0*np.log(2.0)*(angle/FWHM_)**2)): + ax = np.append(np.cross(u,f_in_S),angle) + if ax[3]<0.0: ax *= -1.0 + R = R * Rotation.from_axis_angle(ax,normalize=True) # tilt around direction of smallest component + break + else: + rnd = rng.random(3) + rotations.append(R.as_quaternion()) + + return Rotation.from_quaternion(rotations) + + + #################################################################################################### # Code below available according to the following conditions on https://github.com/MarDiehl/3Drotations #################################################################################################### diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 3ed1f27c6..409e569c0 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -2,6 +2,7 @@ import os import pytest import numpy as np +from scipy import stats from damask import Rotation from damask import _rotation @@ -911,3 +912,39 @@ class TestRotation: R_2 = Rotation.from_axis_angle([0,0,1,angle],degrees=True) avg_angle = R_1.average(R_2).as_axis_angle(degrees=True,pair=True)[1] assert np.isclose(avg_angle,10+(angle-10)/2.) + + + @pytest.mark.parametrize('FWHM',[5,10,15]) + @pytest.mark.parametrize('N_samples',[600,1200,2400]) + def test_spherical_component(self,N_samples,FWHM): + """https://en.wikipedia.org/wiki/Full_width_at_half_maximum.""" + c = Rotation.from_random() + o = Rotation.from_spherical_component(c,FWHM,N_samples) + m = c.broadcast_to(N_samples).misorientation(o) + _, angles = m.as_axis_angle(pair=True,degrees=True) + dist = angles * (np.random.randint(0,2,N_samples)*2-1) + + p = stats.normaltest(dist)[1] + FWHM_out = np.std(dist) * (2*np.sqrt(2*np.log(2))) + print(f'\np: {p}, FWHM ratio {FWHM/FWHM_out}') + assert (.9 < FWHM/FWHM_out < 1.1) and p > 0.001 + + + @pytest.mark.parametrize('FWHM',[10,15,20]) + @pytest.mark.parametrize('N_samples',[500,1000,2000]) + def test_from_fiber_component(self,N_samples,FWHM): + """https://en.wikipedia.org/wiki/Full_width_at_half_maximum.""" + alpha = np.array([15.0,4.6]) + beta = np.ones(2) + n = Rotation.from_quaternion([0.9914448613738086,-0.01046806021254377,0.13010575149028156,7.146345858741878e-08]) + o = Rotation.from_fiber_component(alpha,beta,FWHM,N_samples,True) + angles=[] + for i in range(N_samples): + cos = np.dot(np.dot(n.as_matrix(),np.array([0.0,0.0,1.0])), + np.dot(o[i].as_matrix(),np.array([0.0, 0.0, 1.0]))) + angles.append(np.arccos(np.clip(cos,-1,1))) + dist = np.array(angles) * (np.random.randint(0,2,N_samples)*2-1) + + FWHM_out = np.degrees(np.std(dist)) * (2*np.sqrt(2*np.log(2))) + print(f'\n FWHM ratio {FWHM/FWHM_out}') + assert .85 < FWHM/FWHM_out < 1.1 From 18c38f1284f8df9e4304ac260d295fc40833deb4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 15 Sep 2020 12:27:06 +0200 Subject: [PATCH 624/958] polishing --- python/damask/_rotation.py | 28 +++++++++++----------------- python/tests/test_Rotation.py | 22 ++++++++++++++-------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 6a94405ee..425e7aeef 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -663,8 +663,8 @@ class Rotation: """ rng = np.random.default_rng(seed) - _FWHM = np.radians(FWHM) if degrees else FWHM - if _FWHM > np.radians(0.1): + FWHM_ = np.radians(FWHM) if degrees else FWHM + if FWHM_ > np.radians(0.1): rotations = [] for i in range(N_samples): while True: @@ -673,11 +673,10 @@ class Rotation: ax = np.array([a, np.sqrt(1.0-a**2.0)*np.cos(rnd[1]*2.0*np.pi), # random axis np.sqrt(1.0-a**2.0)*np.sin(rnd[1]*2.0*np.pi), # random axis - (rnd[2]-0.5) * 4 *_FWHM]) # rotation by [0, +-2 FWHM] - if ax[3] < 0.0: ax*=-1.0 - R = Rotation.from_axis_angle(ax,normalize=True) + (rnd[2]-0.5) * 4 *FWHM_]) # rotation by [0, +-2 FWHM] + R = Rotation.from_axis_angle(ax if ax[3] > 0.0 else ax*-1.0,normalize=True) angle = R.misorientation(Rotation()).as_axis_angle()[3] # misorientation to unity - if rnd[3] <= np.exp(-4.0*np.log(2.0)*(angle/_FWHM)**2): # rejection sampling (Gaussian) + if rnd[3] <= np.exp(-4.0*np.log(2.0)*(angle/FWHM_)**2): # rejection sampling (Gaussian) break rotations.append((center @ R).as_quaternion()) else: @@ -714,21 +713,19 @@ class Rotation: """ rng = np.random.default_rng(seed) - FWHM_,alpha_,beta_ = map(np.radians,(FWHM,alpha,beta)) if degrees else (FWHM,alpha,beta) + FWHM_,alpha_,beta_ = np.radians((FWHM,alpha,beta)) if degrees else (FWHM,alpha,beta) f_in_C = np.array([np.sin(alpha_[0])*np.cos(alpha_[1]), np.sin(alpha_[0])*np.sin(alpha_[1]), np.cos(alpha_[0])]) f_in_S = np.array([np.sin(beta_[0] )*np.cos(beta_[1] ), np.sin(beta_[0] )*np.sin(beta_[1] ), np.cos(beta_[0] )]) + ax = np.append(np.cross(f_in_C,f_in_S), - np.arccos(np.dot(f_in_C,f_in_S))) + R_align = Rotation.from_axis_angle(ax if ax[3] > 0.0 else ax*-1.0 ,normalize=True) # rotation to align fiber axis in crystal and sample system rotations = [] for i in range(N_samples): rnd = rng.random(3) - ax = np.append(np.cross(f_in_C,f_in_S), - np.arccos(np.dot(f_in_C,f_in_S))) - if ax[3] < 0.0: ax *= -1.0 - R = Rotation.from_axis_angle(ax,normalize=True) # rotation to align fiber axis in crystal and sample system - ax = np.append(f_in_S,rnd[0]*np.pi*2.0) if ax[3] > np.pi: ax = np.append(ax[:3]*-1,np.pi*2-ax[3]) - R = R @ Rotation.from_axis_angle(ax) # rotation (0..360deg) perpendicular to fiber axis + R = R_align @ Rotation.from_axis_angle(ax) # rotation (0..360deg) perpendicular to fiber axis if FWHM_ > np.radians(0.1): @@ -737,24 +734,21 @@ class Rotation: s = f_in_S[i_smallest] a = f_in_S[i_non_smallest] - x = sum([x**2 for x in a]) + x = np.sum(a**2) u = np.empty(3) while True: # rejection sampling angle = (rnd[1] - 0.5)*4 *FWHM_ # solve cos(angle) = dot_product(fInS,u) for u. This is underdetermined, hence assume that # they share the smallest component. - c = np.cos(angle) - s**2 - u[i_non_smallest[1]] = -(2.0*c*a[1] + np.sqrt(4*((c*a[1])**2.0-x*(c**2.0-a[0]**2*(1.0-s**2)))))/(2*x) u[i_non_smallest[0]] = np.sqrt(1.0-u[i_non_smallest[1]]**2.0-s**2.0) u[i_smallest] = s if (rnd[2] <= np.exp(-4.0*np.log(2.0)*(angle/FWHM_)**2)): ax = np.append(np.cross(u,f_in_S),angle) - if ax[3]<0.0: ax *= -1.0 - R = R * Rotation.from_axis_angle(ax,normalize=True) # tilt around direction of smallest component + R = R @ Rotation.from_axis_angle(ax if ax[3] > 0.0 else ax*-1.0,normalize=True) # tilt around direction of smallest component break else: rnd = rng.random(3) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 409e569c0..b00f661ae 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -934,17 +934,23 @@ class TestRotation: @pytest.mark.parametrize('N_samples',[500,1000,2000]) def test_from_fiber_component(self,N_samples,FWHM): """https://en.wikipedia.org/wiki/Full_width_at_half_maximum.""" - alpha = np.array([15.0,4.6]) - beta = np.ones(2) - n = Rotation.from_quaternion([0.9914448613738086,-0.01046806021254377,0.13010575149028156,7.146345858741878e-08]) - o = Rotation.from_fiber_component(alpha,beta,FWHM,N_samples,True) + alpha = np.random.random(2)*np.pi + beta = np.zeros(2) + + f_in_C = np.array([np.sin(alpha[0])*np.cos(alpha[1]), np.sin(alpha[0])*np.sin(alpha[1]), np.cos(alpha[0])]) + f_in_S = np.array([np.sin(beta[0] )*np.cos(beta[1] ), np.sin(beta[0] )*np.sin(beta[1] ), np.cos(beta[0] )]) + ax = np.append(np.cross(f_in_C,f_in_S), - np.arccos(np.dot(f_in_C,f_in_S))) + n = Rotation.from_axis_angle(ax if ax[3] > 0.0 else ax*-1.0 ,normalize=True) # rotation to align fiber axis in crystal and sample system + + o = Rotation.from_fiber_component(alpha,beta,np.radians(FWHM),N_samples,False) angles=[] for i in range(N_samples): - cos = np.dot(np.dot(n.as_matrix(),np.array([0.0,0.0,1.0])), - np.dot(o[i].as_matrix(),np.array([0.0, 0.0, 1.0]))) + cos = np.dot(n@np.array([0.0,0.0,1.0]),o[i]@np.array([0.0, 0.0, 1.0])) angles.append(np.arccos(np.clip(cos,-1,1))) dist = np.array(angles) * (np.random.randint(0,2,N_samples)*2-1) + p = stats.normaltest(dist)[1] FWHM_out = np.degrees(np.std(dist)) * (2*np.sqrt(2*np.log(2))) - print(f'\n FWHM ratio {FWHM/FWHM_out}') - assert .85 < FWHM/FWHM_out < 1.1 + print(f'\np: {p}, FWHM ratio {FWHM/FWHM_out}') + assert (.85 < FWHM/FWHM_out < 1.15) and p > 0.001 + From 3f823ca717eb5326352cf5e86d32b0f7176bd719 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 15 Sep 2020 14:39:05 +0200 Subject: [PATCH 625/958] testing general case --- python/tests/test_Rotation.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index b00f661ae..92566b42c 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -935,7 +935,7 @@ class TestRotation: def test_from_fiber_component(self,N_samples,FWHM): """https://en.wikipedia.org/wiki/Full_width_at_half_maximum.""" alpha = np.random.random(2)*np.pi - beta = np.zeros(2) + beta = np.random.random(2)*np.pi f_in_C = np.array([np.sin(alpha[0])*np.cos(alpha[1]), np.sin(alpha[0])*np.sin(alpha[1]), np.cos(alpha[0])]) f_in_S = np.array([np.sin(beta[0] )*np.cos(beta[1] ), np.sin(beta[0] )*np.sin(beta[1] ), np.cos(beta[0] )]) @@ -943,10 +943,7 @@ class TestRotation: n = Rotation.from_axis_angle(ax if ax[3] > 0.0 else ax*-1.0 ,normalize=True) # rotation to align fiber axis in crystal and sample system o = Rotation.from_fiber_component(alpha,beta,np.radians(FWHM),N_samples,False) - angles=[] - for i in range(N_samples): - cos = np.dot(n@np.array([0.0,0.0,1.0]),o[i]@np.array([0.0, 0.0, 1.0])) - angles.append(np.arccos(np.clip(cos,-1,1))) + angles=[np.arccos(np.clip(np.dot(n@f_in_S,o[i]@f_in_S),-1,1)) for i in range(N_samples)] dist = np.array(angles) * (np.random.randint(0,2,N_samples)*2-1) p = stats.normaltest(dist)[1] From f52aae3c29ca6e165c6a37244b7fb72895da4ae9 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 15 Sep 2020 10:19:19 -0400 Subject: [PATCH 626/958] legacy shell scripts again output legacy ASCIItables --- processing/post/addCompatibilityMismatch.py | 2 +- processing/post/addCurl.py | 2 +- processing/post/addDerivative.py | 2 +- processing/post/addDisplacement.py | 4 ++-- processing/post/addDivergence.py | 2 +- processing/post/addEuclideanDistance.py | 2 +- processing/post/addGaussian.py | 2 +- processing/post/addGradient.py | 2 +- processing/post/addOrientations.py | 2 +- processing/post/addSchmidfactors.py | 2 +- processing/post/permuteData.py | 2 +- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/processing/post/addCompatibilityMismatch.py b/processing/post/addCompatibilityMismatch.py index e274092d2..40a1391e0 100755 --- a/processing/post/addCompatibilityMismatch.py +++ b/processing/post/addCompatibilityMismatch.py @@ -191,4 +191,4 @@ for name in filenames: volumeMismatch.reshape(-1,1,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII(sys.stdout if name is None else name) + table.save_ASCII((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addCurl.py b/processing/post/addCurl.py index 9adb06a00..5a5f4c074 100755 --- a/processing/post/addCurl.py +++ b/processing/post/addCurl.py @@ -55,4 +55,4 @@ for name in filenames: curl.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape),order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII(sys.stdout if name is None else name) + table.save_ASCII((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addDerivative.py b/processing/post/addDerivative.py index 179715e23..63a5bf73e 100755 --- a/processing/post/addDerivative.py +++ b/processing/post/addDerivative.py @@ -71,4 +71,4 @@ for name in filenames: derivative(table.get(options.coordinates),table.get(label)), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII(sys.stdout if name is None else name) + table.save_ASCII((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addDisplacement.py b/processing/post/addDisplacement.py index 8dc3051d3..079bcd970 100755 --- a/processing/post/addDisplacement.py +++ b/processing/post/addDisplacement.py @@ -60,7 +60,7 @@ for name in filenames: .add('fluct({}).{}'.format(options.f,options.pos), damask.grid_filters.node_displacement_fluct(size,F).reshape(-1,3,order='F'), scriptID+' '+' '.join(sys.argv[1:]))\ - .save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'_nodal.txt') + .save_ASCII((sys.stdout if name is None else os.path.splitext(name)[0]+'_nodal.txt'), legacy=True) else: table.add('avg({}).{}'.format(options.f,options.pos), damask.grid_filters.cell_displacement_avg(size,F).reshape(-1,3,order='F'), @@ -68,4 +68,4 @@ for name in filenames: .add('fluct({}).{}'.format(options.f,options.pos), damask.grid_filters.cell_displacement_fluct(size,F).reshape(-1,3,order='F'), scriptID+' '+' '.join(sys.argv[1:]))\ - .save_ASCII(sys.stdout if name is None else name) + .save_ASCII((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addDivergence.py b/processing/post/addDivergence.py index b4c0bb7b4..bc4880788 100755 --- a/processing/post/addDivergence.py +++ b/processing/post/addDivergence.py @@ -55,4 +55,4 @@ for name in filenames: div.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape)//3,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII(sys.stdout if name is None else name) + table.save_ASCII((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addEuclideanDistance.py b/processing/post/addEuclideanDistance.py index 305fc2ad5..7e99dc3d5 100755 --- a/processing/post/addEuclideanDistance.py +++ b/processing/post/addEuclideanDistance.py @@ -184,4 +184,4 @@ for name in filenames: distance[i,:], scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII(sys.stdout if name is None else name) + table.save_ASCII((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addGaussian.py b/processing/post/addGaussian.py index 708617c1f..095a17bc2 100755 --- a/processing/post/addGaussian.py +++ b/processing/post/addGaussian.py @@ -73,4 +73,4 @@ for name in filenames: mode = 'wrap' if options.periodic else 'nearest'), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII(sys.stdout if name is None else name) + table.save_ASCII((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addGradient.py b/processing/post/addGradient.py index e216ed34c..69241598c 100755 --- a/processing/post/addGradient.py +++ b/processing/post/addGradient.py @@ -55,4 +55,4 @@ for name in filenames: grad.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape)*3,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII(sys.stdout if name is None else name) + table.save_ASCII((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addOrientations.py b/processing/post/addOrientations.py index 3a320241c..16f8d62d6 100755 --- a/processing/post/addOrientations.py +++ b/processing/post/addOrientations.py @@ -147,4 +147,4 @@ for name in filenames: if 'axisangle' in options.output: table = table.add('om({})'.format(label),o.as_axisangle(options.degrees), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII(sys.stdout if name is None else name) + table.save_ASCII((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addSchmidfactors.py b/processing/post/addSchmidfactors.py index 40db4da34..beaf18331 100755 --- a/processing/post/addSchmidfactors.py +++ b/processing/post/addSchmidfactors.py @@ -189,4 +189,4 @@ for name in filenames: for i,label in enumerate(labels): table = table.add(label,S[:,i],scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII(sys.stdout if name is None else name) + table.save_ASCII((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/permuteData.py b/processing/post/permuteData.py index af184924d..34451404c 100755 --- a/processing/post/permuteData.py +++ b/processing/post/permuteData.py @@ -58,4 +58,4 @@ for name in filenames: rng.shuffle(uniques) table = table.set(label,uniques[inverse], scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII(sys.stdout if name is None else name) + table.save_ASCII((sys.stdout if name is None else name), legacy=True) From b7e85b6873112dd9d13135a3af4ff6b68175d15d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 15 Sep 2020 17:13:13 +0200 Subject: [PATCH 627/958] bugfix: wrong path --- installation/mods_MarcMentat/apply_DAMASK_modifications.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installation/mods_MarcMentat/apply_DAMASK_modifications.py b/installation/mods_MarcMentat/apply_DAMASK_modifications.py index 909dfa35a..38a6078b3 100755 --- a/installation/mods_MarcMentat/apply_DAMASK_modifications.py +++ b/installation/mods_MarcMentat/apply_DAMASK_modifications.py @@ -23,8 +23,8 @@ parser.add_argument('--editor', dest='editor', metavar='string', default='vi', def copy_and_replace(in_file,dst): with open(in_file) as f: content = f.read() - content = content.replace('%INSTALLDIR%',str(damask_root/'bin')) - content = content.replace('%VERSION%',str(marc_version).replace('.0','')) + content = content.replace('%INSTALLDIR%',msc_root) + content = content.replace('%VERSION%',str(marc_version)) content = content.replace('%EDITOR%', parser.parse_args().editor) with open(dst/Path(in_file).name,'w') as f: f.write(content) From 2610e920e75f217be52459761e87f2d3104b5483 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Tue, 15 Sep 2020 18:05:08 +0200 Subject: [PATCH 628/958] leave standard Marc version at 2019.1 as matesting does not have 2020 installed --- env/CONFIG | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env/CONFIG b/env/CONFIG index 33cea6c9a..380197583 100644 --- a/env/CONFIG +++ b/env/CONFIG @@ -2,4 +2,4 @@ set DAMASK_NUM_THREADS = 4 set MSC_ROOT = /opt/msc -set MARC_VERSION = 2020 +set MARC_VERSION = 2019.1 From dca895d14d7b0c21a8b44127aae291caa6c6bc5c Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 15 Sep 2020 18:18:20 +0200 Subject: [PATCH 629/958] [skip ci] updated version information after successful test of v3.0.0-alpha-164-g7cda092a --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 6f2aeecd0..7ed5d9358 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-160-g117f85ec +v3.0.0-alpha-164-g7cda092a From d02617c9616e7fdc309b80500fb70f39a1b9282f Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 15 Sep 2020 13:09:24 -0400 Subject: [PATCH 630/958] fixed normalization of multidimensional axes (from_Rodrigues, from_axis_angle) --- python/damask/_rotation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index ac7b3ace8..c023984e6 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -434,7 +434,7 @@ class Rotation: if P == 1: ax[...,0:3] *= -1 if degrees: ax[..., 3] = np.radians(ax[...,3]) - if normalize: ax[...,0:3] /= np.linalg.norm(ax[...,0:3],axis=-1) + if normalize: ax[...,0:3] /= np.linalg.norm(ax[...,0:3],axis=-1,keepdims=True) if np.any(ax[...,3] < 0.0) or np.any(ax[...,3] > np.pi): raise ValueError('Axis angle rotation angle outside of [0..π].') if not np.all(np.isclose(np.linalg.norm(ax[...,0:3],axis=-1), 1.0)): @@ -516,7 +516,7 @@ class Rotation: raise ValueError('P ∉ {-1,1}') if P == 1: ro[...,0:3] *= -1 - if normalize: ro[...,0:3] /= np.linalg.norm(ro[...,0:3],axis=-1) + if normalize: ro[...,0:3] /= np.linalg.norm(ro[...,0:3],axis=-1,keepdims=True) if np.any(ro[...,3] < 0.0): raise ValueError('Rodrigues vector rotation angle not positive.') if not np.all(np.isclose(np.linalg.norm(ro[...,0:3],axis=-1), 1.0)): From 5b104417a9b823304785fdc39e6e46f8aca9f049 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 13 Sep 2020 21:28:53 +0200 Subject: [PATCH 631/958] polishing --- src/config.f90 | 13 ++++++------- src/quaternions.f90 | 5 +++-- src/rotations.f90 | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/config.f90 b/src/config.f90 index c3378c242..50d4e96e8 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -31,11 +31,11 @@ module config contains !-------------------------------------------------------------------------------------------------- -!> @brief calls subroutines that reads material, numerics and debug configuration files +!> @brief Real *.yaml configuration files. !-------------------------------------------------------------------------------------------------- subroutine config_init - write(6,'(/,a)') ' <<<+- config init -+>>>'; flush(6) + print'(/,a)', ' <<<+- config init -+>>>'; flush(6) call parse_material call parse_numerics @@ -45,7 +45,7 @@ end subroutine config_init !-------------------------------------------------------------------------------------------------- -!> @brief reads material.yaml +!> @brief Read material.yaml or .yaml. !-------------------------------------------------------------------------------------------------- subroutine parse_material @@ -66,8 +66,7 @@ end subroutine parse_material !-------------------------------------------------------------------------------------------------- -!> @brief reads in parameters from numerics.yaml and sets openMP related parameters. Also does -! a sanity check +!> @brief Read numerics.yaml. !-------------------------------------------------------------------------------------------------- subroutine parse_numerics @@ -84,7 +83,7 @@ end subroutine parse_numerics !-------------------------------------------------------------------------------------------------- -!> @brief reads in parameters from debug.yaml +!> @brief Read debug.yaml. !-------------------------------------------------------------------------------------------------- subroutine parse_debug @@ -101,7 +100,7 @@ end subroutine parse_debug !-------------------------------------------------------------------------------------------------- -!> @brief deallocates material.yaml structure +!> @brief Deallocate config_material. !ToDo: deallocation of numerics debug (optional) !-------------------------------------------------------------------------------------------------- subroutine config_deallocate diff --git a/src/quaternions.f90 b/src/quaternions.f90 index b5478d634..c5c43e3c1 100644 --- a/src/quaternions.f90 +++ b/src/quaternions.f90 @@ -108,11 +108,12 @@ contains !-------------------------------------------------------------------------------------------------- -!> @brief do self test +!> @brief Do self test. !-------------------------------------------------------------------------------------------------- subroutine quaternions_init - write(6,'(/,a)') ' <<<+- quaternions init -+>>>'; flush(6) + print'(/,a)', ' <<<+- quaternions init -+>>>'; flush(6) + call selfTest end subroutine quaternions_init diff --git a/src/rotations.f90 b/src/rotations.f90 index baa8cff38..72046a965 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -99,15 +99,15 @@ module rotations contains !-------------------------------------------------------------------------------------------------- -!> @brief do self test +!> @brief Do self test. !-------------------------------------------------------------------------------------------------- subroutine rotations_init call quaternions_init - write(6,'(/,a)') ' <<<+- rotations init -+>>>'; flush(6) + print'(/,a)', ' <<<+- rotations init -+>>>'; flush(6) - write(6,'(/,a)') ' Rowenhorst et al., Modelling and Simulation in Materials Science and Engineering 23:083501, 2015' - write(6,'(a)') ' https://doi.org/10.1088/0965-0393/23/8/083501' + print*, 'Rowenhorst et al., Modelling and Simulation in Materials Science and Engineering 23:083501, 2015' + print*, 'https://doi.org/10.1088/0965-0393/23/8/083501' call selfTest From 9e93e8b7102986b1bdd75a5d5a59f925727b6ce8 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 15 Sep 2020 19:59:03 +0200 Subject: [PATCH 632/958] test for last commit --- python/tests/test_Rotation.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 3ed1f27c6..1696ef247 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -686,6 +686,15 @@ class TestRotation: print(u,c) assert np.allclose(single(u),c) and np.allclose(single(u),vectorized(u)) + @pytest.mark.parametrize('func',[Rotation.from_axis_angle]) + def test_normalization_vectorization(self,func): + """Check vectorized implementation normalization.""" + vec = np.random.rand(5,4) + ori = func(vec,normalize=True) + for v,o in zip(vec,ori): + assert np.allclose(func(v,normalize=True).as_quaternion(),o.as_quaternion()) + + @pytest.mark.parametrize('degrees',[True,False]) def test_Eulers(self,set_of_rotations,degrees): for rot in set_of_rotations: From ad2badd3bebefcb73e01fbc5bc6c1315b26ac9e1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 15 Sep 2020 22:13:28 +0200 Subject: [PATCH 633/958] [skip ci] vectorized and simplified based on Philips ideas. Test requires from_axis_angle fix --- python/damask/_rotation.py | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 425e7aeef..a43c79e24 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -663,26 +663,13 @@ class Rotation: """ rng = np.random.default_rng(seed) - FWHM_ = np.radians(FWHM) if degrees else FWHM - if FWHM_ > np.radians(0.1): - rotations = [] - for i in range(N_samples): - while True: - rnd = rng.random(4) - a = rnd[0]*2.0 -1.0 # uniform - ax = np.array([a, - np.sqrt(1.0-a**2.0)*np.cos(rnd[1]*2.0*np.pi), # random axis - np.sqrt(1.0-a**2.0)*np.sin(rnd[1]*2.0*np.pi), # random axis - (rnd[2]-0.5) * 4 *FWHM_]) # rotation by [0, +-2 FWHM] - R = Rotation.from_axis_angle(ax if ax[3] > 0.0 else ax*-1.0,normalize=True) - angle = R.misorientation(Rotation()).as_axis_angle()[3] # misorientation to unity - if rnd[3] <= np.exp(-4.0*np.log(2.0)*(angle/FWHM_)**2): # rejection sampling (Gaussian) - break - rotations.append((center @ R).as_quaternion()) - else: - rotations = [center.as_quaternion() for i in range(N_samples)] - - return Rotation.from_quaternion(rotations) + sigma = (np.radians(FWHM) if degrees else FWHM)/np.sqrt(2*np.log(2))*.5 + u = rng.random(N_samples) * 2.0 - 1.0 + Theta = rng.random(N_samples) * 2.0 * np.pi + omega = rng.normal(scale=sigma,size=N_samples) + ax = np.column_stack([np.sqrt(1-u**2)*np.cos(Theta),np.sqrt(1-u**2)*np.sin(Theta),u,omega]) + ax[ax[:,3]<0]*=-1 + return Rotation.from_axis_angle(ax) @ center.broadcast_to(N_samples) @staticmethod From d6378ec9bcf5319a6561443f0483e52b8c957d1e Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 15 Sep 2020 16:34:19 -0400 Subject: [PATCH 634/958] shortened from_fiber_component algorithm --- python/damask/_rotation.py | 66 +++++++++++++------------------------- 1 file changed, 23 insertions(+), 43 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 425e7aeef..8950ee38c 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -434,10 +434,11 @@ class Rotation: if P == 1: ax[...,0:3] *= -1 if degrees: ax[..., 3] = np.radians(ax[...,3]) - if normalize: ax[...,0:3] /= np.linalg.norm(ax[...,0:3],axis=-1) + if normalize: ax[...,0:3] /= np.linalg.norm(ax[...,0:3],axis=-1,keepdims=True) if np.any(ax[...,3] < 0.0) or np.any(ax[...,3] > np.pi): raise ValueError('Axis angle rotation angle outside of [0..π].') if not np.all(np.isclose(np.linalg.norm(ax[...,0:3],axis=-1), 1.0)): + print(np.linalg.norm(ax[...,0:3],axis=-1)) raise ValueError('Axis angle rotation axis is not of unit length.') return Rotation(Rotation._ax2qu(ax)) @@ -516,7 +517,7 @@ class Rotation: raise ValueError('P ∉ {-1,1}') if P == 1: ro[...,0:3] *= -1 - if normalize: ro[...,0:3] /= np.linalg.norm(ro[...,0:3],axis=-1) + if normalize: ro[...,0:3] /= np.linalg.norm(ro[...,0:3],axis=-1,keepdims=True) if np.any(ro[...,3] < 0.0): raise ValueError('Rodrigues vector rotation angle not positive.') if not np.all(np.isclose(np.linalg.norm(ro[...,0:3],axis=-1), 1.0)): @@ -686,7 +687,7 @@ class Rotation: @staticmethod - def from_fiber_component(alpha,beta,FWHM,N_samples=500,degrees=True,seed=None): + def from_fiber_component(alpha,beta,FWHM=0.0,N=500,degrees=True,seed=None): """ Calculate set of rotations with Gaussian distribution around direction. @@ -701,8 +702,9 @@ class Rotation: tbd. beta : numpy.ndarray of size 2 tbd. - FWHM : float + FWHM : float, optional Full width at half maximum of the Gaussian distribution. + Defaults to 0. N_samples : int, optional Number of samples, defaults to 500. degrees : boolean, optional @@ -713,48 +715,26 @@ class Rotation: """ rng = np.random.default_rng(seed) - FWHM_,alpha_,beta_ = np.radians((FWHM,alpha,beta)) if degrees else (FWHM,alpha,beta) + FWHM_,alpha_,beta_ = map(np.radians,(FWHM,alpha,beta)) if degrees else (FWHM,alpha,beta) - f_in_C = np.array([np.sin(alpha_[0])*np.cos(alpha_[1]), np.sin(alpha_[0])*np.sin(alpha_[1]), np.cos(alpha_[0])]) - f_in_S = np.array([np.sin(beta_[0] )*np.cos(beta_[1] ), np.sin(beta_[0] )*np.sin(beta_[1] ), np.cos(beta_[0] )]) - ax = np.append(np.cross(f_in_C,f_in_S), - np.arccos(np.dot(f_in_C,f_in_S))) - R_align = Rotation.from_axis_angle(ax if ax[3] > 0.0 else ax*-1.0 ,normalize=True) # rotation to align fiber axis in crystal and sample system + d_cr = np.array([np.sin(alpha_[0])*np.cos(alpha_[1]), np.sin(alpha_[0])*np.sin(alpha_[1]), np.cos(alpha_[0])]) + d_lab = np.array([np.sin(beta_[0] )*np.cos(beta_[1] ), np.sin(beta_[0] )*np.sin(beta_[1] ), np.cos(beta_[0] )]) + ax_align = np.append(np.cross(d_lab,d_cr), np.arccos(np.dot(d_lab,d_cr))) + if np.isclose(ax_align[3],0.0): ax_align[:3] = np.array([1,0,0]) + R_align = Rotation.from_axis_angle(ax_align if ax_align[3] > 0.0 else -ax_align,normalize=True) # rotation to align fiber axis in crystal and sample system - rotations = [] - for i in range(N_samples): - rnd = rng.random(3) - ax = np.append(f_in_S,rnd[0]*np.pi*2.0) - if ax[3] > np.pi: ax = np.append(ax[:3]*-1,np.pi*2-ax[3]) - R = R_align @ Rotation.from_axis_angle(ax) # rotation (0..360deg) perpendicular to fiber axis + u,v,b = (np.random.random((N,3)) * 2 * np.array([1,np.pi,np.pi]) - np.array([1,0,np.pi])).T + a = abs(np.random.normal(scale=FWHM_,size=N)) + p = np.vstack((np.sqrt(1-u**2)*np.cos(v), + np.sqrt(1-u**2)*np.sin(v), + u, + a)).T - if FWHM_ > np.radians(0.1): - - i_smallest = np.argmin(np.abs(f_in_S)) - i_non_smallest = list(filter(lambda x: x!=i_smallest, [0,1,2])) - - s = f_in_S[i_smallest] - a = f_in_S[i_non_smallest] - x = np.sum(a**2) - - u = np.empty(3) - while True: # rejection sampling - angle = (rnd[1] - 0.5)*4 *FWHM_ - # solve cos(angle) = dot_product(fInS,u) for u. This is underdetermined, hence assume that - # they share the smallest component. - c = np.cos(angle) - s**2 - u[i_non_smallest[1]] = -(2.0*c*a[1] + np.sqrt(4*((c*a[1])**2.0-x*(c**2.0-a[0]**2*(1.0-s**2)))))/(2*x) - u[i_non_smallest[0]] = np.sqrt(1.0-u[i_non_smallest[1]]**2.0-s**2.0) - u[i_smallest] = s - - if (rnd[2] <= np.exp(-4.0*np.log(2.0)*(angle/FWHM_)**2)): - ax = np.append(np.cross(u,f_in_S),angle) - R = R @ Rotation.from_axis_angle(ax if ax[3] > 0.0 else ax*-1.0,normalize=True) # tilt around direction of smallest component - break - else: - rnd = rng.random(3) - rotations.append(R.as_quaternion()) - - return Rotation.from_quaternion(rotations) + f = np.hstack((np.broadcast_to(d_cr,(N,3)),b.reshape(N,1))) + f[f[:,3]<0] *= -1. + return Rotation.from_axis_angle(p) \ + * Rotation.from_axis_angle(f) \ + * R_align From 0a34e342e4e1f6815eae75922325e3ec1e1736ca Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 15 Sep 2020 18:14:15 -0400 Subject: [PATCH 635/958] fixed fiber component sampling and testing --- python/damask/_rotation.py | 40 +++++++++++++++-------------------- python/tests/test_Rotation.py | 21 +++++++++--------- 2 files changed, 27 insertions(+), 34 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 8950ee38c..ab22c8a6f 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -687,55 +687,49 @@ class Rotation: @staticmethod - def from_fiber_component(alpha,beta,FWHM=0.0,N=500,degrees=True,seed=None): + def from_fiber_component(alpha,beta,sigma=0.0,N=500,degrees=True,seed=None): """ Calculate set of rotations with Gaussian distribution around direction. - References - ---------- - K. Helming, Texturapproximation durch Modellkomponenten - Cuvillier Verlag, 1996 - Parameters ---------- alpha : numpy.ndarray of size 2 - tbd. + Polar coordinates (phi from x,theta from z) of fiber direction in crystal frame. beta : numpy.ndarray of size 2 - tbd. - FWHM : float, optional - Full width at half maximum of the Gaussian distribution. + Polar coordinates (phi from x,theta from z) of fiber direction in sample frame. + sigma : float, optional + Standard deviation of (Gaussian) misorientation distribution. Defaults to 0. - N_samples : int, optional + N : int, optional Number of samples, defaults to 500. degrees : boolean, optional - FWHM, alpha, and beta are given in degrees. + sigma, alpha, and beta are given in degrees. seed : {None, int, array_like[ints], SeedSequence, BitGenerator, Generator}, optional - A seed to initialize the BitGenerator. Defaults to None. - If None, then fresh, unpredictable entropy will be pulled from the OS. + A seed to initialize the BitGenerator. Defaults to None, i.e. unpredictable entropy + will be pulled from the OS. """ rng = np.random.default_rng(seed) - FWHM_,alpha_,beta_ = map(np.radians,(FWHM,alpha,beta)) if degrees else (FWHM,alpha,beta) + sigma_,alpha_,beta_ = map(np.radians,(sigma,alpha,beta)) if degrees else (sigma,alpha,beta) d_cr = np.array([np.sin(alpha_[0])*np.cos(alpha_[1]), np.sin(alpha_[0])*np.sin(alpha_[1]), np.cos(alpha_[0])]) - d_lab = np.array([np.sin(beta_[0] )*np.cos(beta_[1] ), np.sin(beta_[0] )*np.sin(beta_[1] ), np.cos(beta_[0] )]) + d_lab = np.array([np.sin( beta_[0])*np.cos( beta_[1]), np.sin( beta_[0])*np.sin( beta_[1]), np.cos( beta_[0])]) ax_align = np.append(np.cross(d_lab,d_cr), np.arccos(np.dot(d_lab,d_cr))) if np.isclose(ax_align[3],0.0): ax_align[:3] = np.array([1,0,0]) R_align = Rotation.from_axis_angle(ax_align if ax_align[3] > 0.0 else -ax_align,normalize=True) # rotation to align fiber axis in crystal and sample system u,v,b = (np.random.random((N,3)) * 2 * np.array([1,np.pi,np.pi]) - np.array([1,0,np.pi])).T - a = abs(np.random.normal(scale=FWHM_,size=N)) + a = abs(np.random.normal(scale=sigma_,size=N)) p = np.vstack((np.sqrt(1-u**2)*np.cos(v), np.sqrt(1-u**2)*np.sin(v), u, a)).T - - f = np.hstack((np.broadcast_to(d_cr,(N,3)),b.reshape(N,1))) + p[:,:3] = np.einsum('ij,...j->...i',np.eye(3)-np.outer(d_lab,d_lab),p[:,:3]) + f = np.hstack((np.broadcast_to(d_lab,(N,3)),b.reshape(N,1))) f[f[:,3]<0] *= -1. - return Rotation.from_axis_angle(p) \ - * Rotation.from_axis_angle(f) \ - * R_align - + return R_align.broadcast_to(N) \ + @ Rotation.from_axis_angle(p,normalize=True) \ + @ Rotation.from_axis_angle(f) #################################################################################################### diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 92566b42c..1ddc03ef6 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -925,14 +925,14 @@ class TestRotation: dist = angles * (np.random.randint(0,2,N_samples)*2-1) p = stats.normaltest(dist)[1] - FWHM_out = np.std(dist) * (2*np.sqrt(2*np.log(2))) + FWHM_out = np.std(dist) # * (2*np.sqrt(2*np.log(2))) print(f'\np: {p}, FWHM ratio {FWHM/FWHM_out}') assert (.9 < FWHM/FWHM_out < 1.1) and p > 0.001 - @pytest.mark.parametrize('FWHM',[10,15,20]) - @pytest.mark.parametrize('N_samples',[500,1000,2000]) - def test_from_fiber_component(self,N_samples,FWHM): + @pytest.mark.parametrize('sigma',[5,10,15,20]) + @pytest.mark.parametrize('N',[1000,10000,100000]) + def test_from_fiber_component(self,N,sigma): """https://en.wikipedia.org/wiki/Full_width_at_half_maximum.""" alpha = np.random.random(2)*np.pi beta = np.random.random(2)*np.pi @@ -942,12 +942,11 @@ class TestRotation: ax = np.append(np.cross(f_in_C,f_in_S), - np.arccos(np.dot(f_in_C,f_in_S))) n = Rotation.from_axis_angle(ax if ax[3] > 0.0 else ax*-1.0 ,normalize=True) # rotation to align fiber axis in crystal and sample system - o = Rotation.from_fiber_component(alpha,beta,np.radians(FWHM),N_samples,False) - angles=[np.arccos(np.clip(np.dot(n@f_in_S,o[i]@f_in_S),-1,1)) for i in range(N_samples)] - dist = np.array(angles) * (np.random.randint(0,2,N_samples)*2-1) + o = Rotation.from_fiber_component(alpha,beta,np.radians(sigma),N,False) + angles = np.arccos(np.clip(np.dot(o@np.broadcast_to(f_in_S,(N,3)),n@f_in_S),-1,1)) + dist = np.array(angles) * (np.random.randint(0,2,N)*2-1) p = stats.normaltest(dist)[1] - FWHM_out = np.degrees(np.std(dist)) * (2*np.sqrt(2*np.log(2))) - print(f'\np: {p}, FWHM ratio {FWHM/FWHM_out}') - assert (.85 < FWHM/FWHM_out < 1.15) and p > 0.001 - + sigma_out = np.degrees(np.std(dist)) + print(f'\np: {p}, sigma ratio {sigma/sigma_out}') + assert (.85 < sigma/sigma_out < 1.15) and p > 0.001 From c6be6fe87f47b38147055835c970c58a2b9cb452 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 15 Sep 2020 18:40:05 -0400 Subject: [PATCH 636/958] fixed spherical component sampling and testing --- python/damask/_rotation.py | 42 +++++++++++++++++------------------ python/tests/test_Rotation.py | 24 +++++++++----------- 2 files changed, 32 insertions(+), 34 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 98421e963..6ec465349 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -639,7 +639,7 @@ class Rotation: @staticmethod - def from_spherical_component(center,FWHM,N_samples=500,degrees=True,seed=None): + def from_spherical_component(center,sigma,N=500,degrees=True,seed=None): """ Calculate set of rotations with Gaussian distribution around center. @@ -652,25 +652,26 @@ class Rotation: ---------- center : Rotation Central Rotation. - FWHM : float - Full width at half maximum of the Gaussian distribution. - N_samples : int, optional + sigma : float + Standard deviation of (Gaussian) misorientation distribution. + N : int, optional Number of samples, defaults to 500. degrees : boolean, optional - FWHM is given in degrees. + sigma is given in degrees. seed : {None, int, array_like[ints], SeedSequence, BitGenerator, Generator}, optional - A seed to initialize the BitGenerator. Defaults to None. - If None, then fresh, unpredictable entropy will be pulled from the OS. + A seed to initialize the BitGenerator. Defaults to None, i.e. unpredictable entropy + will be pulled from the OS. """ rng = np.random.default_rng(seed) - sigma = (np.radians(FWHM) if degrees else FWHM)/np.sqrt(2*np.log(2))*.5 - u = rng.random(N_samples) * 2.0 - 1.0 - Theta = rng.random(N_samples) * 2.0 * np.pi - omega = rng.normal(scale=sigma,size=N_samples) - ax = np.column_stack([np.sqrt(1-u**2)*np.cos(Theta),np.sqrt(1-u**2)*np.sin(Theta),u,omega]) - ax[ax[:,3]<0]*=-1 - return Rotation.from_axis_angle(ax) @ center.broadcast_to(N_samples) + sigma = np.radians(sigma) if degrees else sigma + u,Theta = (rng.random((N,2)) * 2.0 * np.array([1,np.pi]) - np.array([1.0, 0])).T + omega = rng.normal(scale=sigma,size=N) + p = np.column_stack([np.sqrt(1-u**2)*np.cos(Theta), + np.sqrt(1-u**2)*np.sin(Theta), + u, omega]) + p[p[:,3]<0] *= -1 + return Rotation.from_axis_angle(p) @ center @staticmethod @@ -705,14 +706,13 @@ class Rotation: if np.isclose(ax_align[3],0.0): ax_align[:3] = np.array([1,0,0]) R_align = Rotation.from_axis_angle(ax_align if ax_align[3] > 0.0 else -ax_align,normalize=True) # rotation to align fiber axis in crystal and sample system - u,v,b = (np.random.random((N,3)) * 2 * np.array([1,np.pi,np.pi]) - np.array([1,0,np.pi])).T - a = abs(np.random.normal(scale=sigma_,size=N)) - p = np.vstack((np.sqrt(1-u**2)*np.cos(v), - np.sqrt(1-u**2)*np.sin(v), - u, - a)).T + u,Theta,b = (np.random.random((N,3)) * 2 * np.array([1,np.pi,np.pi]) - np.array([1,0,np.pi])).T + omega = abs(np.random.normal(scale=sigma_,size=N)) + p = np.column_stack([np.sqrt(1-u**2)*np.cos(Theta), + np.sqrt(1-u**2)*np.sin(Theta), + u, omega]) p[:,:3] = np.einsum('ij,...j->...i',np.eye(3)-np.outer(d_lab,d_lab),p[:,:3]) - f = np.hstack((np.broadcast_to(d_lab,(N,3)),b.reshape(N,1))) + f = np.column_stack((np.broadcast_to(d_lab,(N,3)),b)) f[f[:,3]<0] *= -1. return R_align.broadcast_to(N) \ @ Rotation.from_axis_angle(p,normalize=True) \ diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 1ddc03ef6..448a8261c 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -914,20 +914,18 @@ class TestRotation: assert np.isclose(avg_angle,10+(angle-10)/2.) - @pytest.mark.parametrize('FWHM',[5,10,15]) - @pytest.mark.parametrize('N_samples',[600,1200,2400]) - def test_spherical_component(self,N_samples,FWHM): - """https://en.wikipedia.org/wiki/Full_width_at_half_maximum.""" + @pytest.mark.parametrize('sigma',[5,10,15,20]) + @pytest.mark.parametrize('N',[1000,10000,100000]) + def test_spherical_component(self,N,sigma): c = Rotation.from_random() - o = Rotation.from_spherical_component(c,FWHM,N_samples) - m = c.broadcast_to(N_samples).misorientation(o) - _, angles = m.as_axis_angle(pair=True,degrees=True) - dist = angles * (np.random.randint(0,2,N_samples)*2-1) + o = Rotation.from_spherical_component(c,sigma,N) + _, angles = c.misorientation(o).as_axis_angle(pair=True,degrees=True) + angles[::2] *= -1 # flip angle for every second to symmetrize distribution - p = stats.normaltest(dist)[1] - FWHM_out = np.std(dist) # * (2*np.sqrt(2*np.log(2))) - print(f'\np: {p}, FWHM ratio {FWHM/FWHM_out}') - assert (.9 < FWHM/FWHM_out < 1.1) and p > 0.001 + p = stats.normaltest(angles)[1] + sigma_out = np.std(angles) + print(f'\np: {p}, sigma ratio {sigma/sigma_out}') + assert (.9 < sigma/sigma_out < 1.1) and p > 0.001 @pytest.mark.parametrize('sigma',[5,10,15,20]) @@ -949,4 +947,4 @@ class TestRotation: p = stats.normaltest(dist)[1] sigma_out = np.degrees(np.std(dist)) print(f'\np: {p}, sigma ratio {sigma/sigma_out}') - assert (.85 < sigma/sigma_out < 1.15) and p > 0.001 + assert (.9 < sigma/sigma_out < 1.1) and p > 0.001 From ed006d1a89c06b583cad2f1e9e44c18ee7fd4180 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 15 Sep 2020 19:12:30 -0400 Subject: [PATCH 637/958] streamlined fiber/spherical component sampling --- python/damask/_rotation.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 6ec465349..2f6817d9c 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -665,12 +665,11 @@ class Rotation: """ rng = np.random.default_rng(seed) sigma = np.radians(sigma) if degrees else sigma - u,Theta = (rng.random((N,2)) * 2.0 * np.array([1,np.pi]) - np.array([1.0, 0])).T - omega = rng.normal(scale=sigma,size=N) + u,Theta = (rng.random((N,2)) * 2.0 * np.array([1,np.pi]) - np.array([1.0, 0])).T + omega = abs(rng.normal(scale=sigma,size=N)) p = np.column_stack([np.sqrt(1-u**2)*np.cos(Theta), np.sqrt(1-u**2)*np.sin(Theta), u, omega]) - p[p[:,3]<0] *= -1 return Rotation.from_axis_angle(p) @ center @@ -704,16 +703,16 @@ class Rotation: d_lab = np.array([np.sin( beta_[0])*np.cos( beta_[1]), np.sin( beta_[0])*np.sin( beta_[1]), np.cos( beta_[0])]) ax_align = np.append(np.cross(d_lab,d_cr), np.arccos(np.dot(d_lab,d_cr))) if np.isclose(ax_align[3],0.0): ax_align[:3] = np.array([1,0,0]) - R_align = Rotation.from_axis_angle(ax_align if ax_align[3] > 0.0 else -ax_align,normalize=True) # rotation to align fiber axis in crystal and sample system + R_align = Rotation.from_axis_angle(ax_align if ax_align[3] > 0.0 else -ax_align,normalize=True) # rotate fiber axis from sample to crystal frame - u,Theta,b = (np.random.random((N,3)) * 2 * np.array([1,np.pi,np.pi]) - np.array([1,0,np.pi])).T - omega = abs(np.random.normal(scale=sigma_,size=N)) + u,Theta,b = (rng.random((N,3)) * np.array([2,2*np.pi,np.pi]) - np.array([1,0,0])).T + omega = abs(rng.normal(scale=sigma_,size=N)) p = np.column_stack([np.sqrt(1-u**2)*np.cos(Theta), np.sqrt(1-u**2)*np.sin(Theta), u, omega]) p[:,:3] = np.einsum('ij,...j->...i',np.eye(3)-np.outer(d_lab,d_lab),p[:,:3]) f = np.column_stack((np.broadcast_to(d_lab,(N,3)),b)) - f[f[:,3]<0] *= -1. + f[::2,:3] *= -1 # flip half the rotation axes to negative sense return R_align.broadcast_to(N) \ @ Rotation.from_axis_angle(p,normalize=True) \ @ Rotation.from_axis_angle(f) From b57e8e69a87f66e1fb81eca0e1236125fd5432b4 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 15 Sep 2020 22:38:50 -0400 Subject: [PATCH 638/958] switched save_ASCII() in more legacy scripts to legacy mode --- PRIVATE | 2 +- processing/legacy/addAPS34IDEstrainCoords.py | 2 +- processing/legacy/addCumulative.py | 2 +- processing/post/DADF5_postResults.py | 2 +- processing/pre/seeds_fromDistribution.py | 2 +- processing/pre/seeds_fromGeom.py | 2 +- processing/pre/seeds_fromPokes.py | 2 +- processing/pre/seeds_fromRandom.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/PRIVATE b/PRIVATE index 5b7c34e58..3e789fc51 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 5b7c34e586589141d1e061f021512e65308fc1f7 +Subproject commit 3e789fc515dc2bdc63e042286dc06d8d072d096f diff --git a/processing/legacy/addAPS34IDEstrainCoords.py b/processing/legacy/addAPS34IDEstrainCoords.py index c82ff35a3..8f566b614 100755 --- a/processing/legacy/addAPS34IDEstrainCoords.py +++ b/processing/legacy/addAPS34IDEstrainCoords.py @@ -48,4 +48,4 @@ for name in filenames: coord[:,2] += table.get(options.depth)[:,0] table.add('coord',rot_to_TSL.broadcast_to(coord.shape[0]) @ coord,scriptID+' '+' '.join(sys.argv[1:]))\ - .save_ASCII(sys.stdout if name is None else name) + .save_ASCII((sys.stdout if name is None else name),legacy=True) diff --git a/processing/legacy/addCumulative.py b/processing/legacy/addCumulative.py index 14d8bcfea..0d88cc575 100755 --- a/processing/legacy/addCumulative.py +++ b/processing/legacy/addCumulative.py @@ -45,4 +45,4 @@ for name in filenames: np.cumprod(table.get(label),0) if options.product else np.cumsum(table.get(label),0), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII(sys.stdout if name is None else name) + table.save_ASCII((sys.stdout if name is None else name),legacy=True) diff --git a/processing/post/DADF5_postResults.py b/processing/post/DADF5_postResults.py index fa9df27b0..0226ad551 100755 --- a/processing/post/DADF5_postResults.py +++ b/processing/post/DADF5_postResults.py @@ -60,4 +60,4 @@ for filename in options.filenames: os.mkdir(dirname,0o755) file_out = '{}_inc{}.txt'.format(os.path.splitext(os.path.split(filename)[-1])[0], inc[3:].zfill(N_digits)) - table.save_ASCII(os.path.join(dirname,file_out)) + table.save_ASCII(os.path.join(dirname,file_out),legacy=True) diff --git a/processing/pre/seeds_fromDistribution.py b/processing/pre/seeds_fromDistribution.py index 1cf35450c..cc72920d3 100755 --- a/processing/pre/seeds_fromDistribution.py +++ b/processing/pre/seeds_fromDistribution.py @@ -89,7 +89,7 @@ class myThread (threading.Thread): coords[i]=newCoords direction[i]*=2. i+= 1 - perturbedSeedsTable.set('pos',coords).save_ASCII(perturbedSeedsVFile) + perturbedSeedsTable.set('pos',coords).save_ASCII(perturbedSeedsVFile,legacy=True) #--- do tesselation with perturbed seed file ------------------------------------------------------ perturbedGeomVFile.close() diff --git a/processing/pre/seeds_fromGeom.py b/processing/pre/seeds_fromGeom.py index 95f0d3815..4110405d6 100755 --- a/processing/pre/seeds_fromGeom.py +++ b/processing/pre/seeds_fromGeom.py @@ -65,4 +65,4 @@ for name in filenames: damask.Table(seeds[mask],{'pos':(3,)},comments)\ .add('microstructure',microstructure[mask].astype(int))\ - .save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.seeds') + .save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.seeds',legacy=True) diff --git a/processing/pre/seeds_fromPokes.py b/processing/pre/seeds_fromPokes.py index 5deb0ab1a..fdff40da3 100755 --- a/processing/pre/seeds_fromPokes.py +++ b/processing/pre/seeds_fromPokes.py @@ -93,4 +93,4 @@ for name in filenames: table = damask.Table(seeds,{'pos':(3,),'microstructure':(1,)},comments) table.set('microstructure',table.get('microstructure').astype(np.int))\ .save_ASCII(sys.stdout if name is None else \ - os.path.splitext(name)[0]+f'_poked_{options.N}.seeds') + os.path.splitext(name)[0]+f'_poked_{options.N}.seeds',legacy=True) diff --git a/processing/pre/seeds_fromRandom.py b/processing/pre/seeds_fromRandom.py index c1d454f67..8700a4648 100755 --- a/processing/pre/seeds_fromRandom.py +++ b/processing/pre/seeds_fromRandom.py @@ -162,4 +162,4 @@ for name in filenames: else np.random.normal(loc = options.mean, scale = options.sigma, size = options.N) table = table.add('weight',weights) - table.save_ASCII(sys.stdout if name is None else name) + table.save_ASCII(sys.stdout if name is None else name,legacy=True) From c71768a37a2800def5a338b710781c21d7c85f75 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 16 Sep 2020 06:33:17 +0200 Subject: [PATCH 639/958] polishing --- python/damask/_rotation.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 2f6817d9c..92b922083 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -643,11 +643,6 @@ class Rotation: """ Calculate set of rotations with Gaussian distribution around center. - References - ---------- - K. Helming, Texturapproximation durch Modellkomponenten - Cuvillier Verlag, 1996 - Parameters ---------- center : Rotation @@ -670,6 +665,7 @@ class Rotation: p = np.column_stack([np.sqrt(1-u**2)*np.cos(Theta), np.sqrt(1-u**2)*np.sin(Theta), u, omega]) + return Rotation.from_axis_angle(p) @ center @@ -705,14 +701,15 @@ class Rotation: if np.isclose(ax_align[3],0.0): ax_align[:3] = np.array([1,0,0]) R_align = Rotation.from_axis_angle(ax_align if ax_align[3] > 0.0 else -ax_align,normalize=True) # rotate fiber axis from sample to crystal frame - u,Theta,b = (rng.random((N,3)) * np.array([2,2*np.pi,np.pi]) - np.array([1,0,0])).T + u,Theta = (rng.random((N,2)) * 2.0 * np.array([1,np.pi]) - np.array([1.0, 0])).T omega = abs(rng.normal(scale=sigma_,size=N)) p = np.column_stack([np.sqrt(1-u**2)*np.cos(Theta), np.sqrt(1-u**2)*np.sin(Theta), u, omega]) - p[:,:3] = np.einsum('ij,...j->...i',np.eye(3)-np.outer(d_lab,d_lab),p[:,:3]) - f = np.column_stack((np.broadcast_to(d_lab,(N,3)),b)) - f[::2,:3] *= -1 # flip half the rotation axes to negative sense + p[:,:3] = np.einsum('ij,...j',np.eye(3)-np.outer(d_lab,d_lab),p[:,:3]) # remove component along fiber axis + f = np.column_stack((np.broadcast_to(d_lab,(N,3)),rng.random(N)*np.pi)) + f[::2,:3] *= -1 # flip half the rotation axes to negative sense + return R_align.broadcast_to(N) \ @ Rotation.from_axis_angle(p,normalize=True) \ @ Rotation.from_axis_angle(f) From b9c3d097b7ee69083b7ead735250cbc75df4cdcf Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Wed, 16 Sep 2020 09:03:37 +0200 Subject: [PATCH 640/958] updated tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index c6dc3f116..65ec74c07 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit c6dc3f116fc6007caf076772d5c29f0a0523544d +Subproject commit 65ec74c07052e77f35a4b5e80bf110aff1f5ae61 From 7a74830452583feb0000b0f3d674e825235b6544 Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 16 Sep 2020 15:04:20 +0200 Subject: [PATCH 641/958] [skip ci] updated version information after successful test of v3.0.0-alpha-168-g9cdf5066 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 7ed5d9358..2547fef89 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-164-g7cda092a +v3.0.0-alpha-168-g9cdf5066 From 505d8fef21c01308e77bade1a91edb2493d7eecd Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 16 Sep 2020 09:22:49 -0400 Subject: [PATCH 642/958] reverted references of seed_fromX tests to legacy ASCII style in PRIVATE --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 3e789fc51..52b0af920 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 3e789fc515dc2bdc63e042286dc06d8d072d096f +Subproject commit 52b0af9208bfcd988a2d8152d2c2dfd7dea42e30 From 2c741455f09c5ebe259a2d2d7e46d63ced0e599d Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 16 Sep 2020 19:30:09 -0400 Subject: [PATCH 643/958] fixed left-over to_vtk --> save_vtk in PRIVATE --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 52b0af920..0b5204381 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 52b0af9208bfcd988a2d8152d2c2dfd7dea42e30 +Subproject commit 0b5204381cc8b86212ed8c0de43110d0175badd4 From 76415146bba854d0e19e808781608fe7ea534740 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 17 Sep 2020 03:52:38 +0200 Subject: [PATCH 644/958] [skip ci] updated version information after successful test of v3.0.0-alpha-203-g3e990489 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 2547fef89..428961dd5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-168-g9cdf5066 +v3.0.0-alpha-203-g3e990489 From 3af5ee240087966e7436ed146fe5308aac4dae14 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 17 Sep 2020 13:24:17 +0200 Subject: [PATCH 645/958] [skip ci] updated version information after successful test of v3.0.0-alpha-216-gb51a1b7b --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 428961dd5..fa691fc66 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-203-g3e990489 +v3.0.0-alpha-216-gb51a1b7b From 797073b0156bada767241885b556c61cc248b97c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 17 Sep 2020 19:28:41 +0200 Subject: [PATCH 646/958] print choses output unit automatically, no need to rely on 6 also shorter... --- src/CPFEM.f90 | 29 +++++++------- src/CPFEM2.f90 | 2 +- src/DAMASK_marc.f90 | 46 +++++++++++----------- src/IO.f90 | 2 +- src/YAML_types.f90 | 2 +- src/base64.f90 | 2 +- src/constitutive_plastic_isotropic.f90 | 10 ++--- src/constitutive_plastic_kinehardening.f90 | 4 +- src/constitutive_plastic_nonlocal.f90 | 2 +- src/crystallite.f90 | 36 ++++++++--------- src/damage_local.f90 | 2 +- src/damage_none.f90 | 2 +- src/damage_nonlocal.f90 | 2 +- src/lattice.f90 | 2 +- src/material.f90 | 13 +++--- src/math.f90 | 8 ++-- src/prec.f90 | 14 +++---- src/thermal_adiabatic.f90 | 2 +- src/thermal_conduction.f90 | 2 +- src/thermal_isothermal.f90 | 2 +- 20 files changed, 90 insertions(+), 94 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 6c820b248..d0fc6413e 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -106,8 +106,7 @@ subroutine CPFEM_init num_commercialFEM, & debug_CPFEM - write(6,'(/,a)') ' <<<+- CPFEM init -+>>>' - flush(6) + print'(/,a)', ' <<<+- CPFEM init -+>>>'; flush(6) allocate(CPFEM_cs( 6,discretization_nIP,discretization_nElem), source= 0.0_pReal) allocate(CPFEM_dcsdE( 6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) @@ -130,9 +129,9 @@ subroutine CPFEM_init debugCPFEM%ip = config_debug%get_asInt('integrationpoint',defaultVal = 1) if(debugCPFEM%basic) then - write(6,'(a32,1x,6(i8,1x))') 'CPFEM_cs: ', shape(CPFEM_cs) - write(6,'(a32,1x,6(i8,1x))') 'CPFEM_dcsdE: ', shape(CPFEM_dcsdE) - write(6,'(a32,1x,6(i8,1x),/)') 'CPFEM_dcsdE_knownGood: ', shape(CPFEM_dcsdE_knownGood) + print'(a32,1x,6(i8,1x))', 'CPFEM_cs: ', shape(CPFEM_cs) + print'(a32,1x,6(i8,1x))', 'CPFEM_dcsdE: ', shape(CPFEM_dcsdE) + print'(a32,1x,6(i8,1x),/)', 'CPFEM_dcsdE_knownGood: ', shape(CPFEM_dcsdE_knownGood) flush(6) endif @@ -171,14 +170,14 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS elCP = mesh_FEM2DAMASK_elem(elFE) if (debugCPFEM%basic .and. elCP == debugCPFEM%element .and. ip == debugCPFEM%ip) then - write(6,'(/,a)') '#############################################' - write(6,'(a1,a22,1x,i8,a13)') '#','element', elCP, '#' - write(6,'(a1,a22,1x,i8,a13)') '#','ip', ip, '#' - write(6,'(a1,a22,1x,i8,a13)') '#','cycleCounter', cycleCounter, '#' - write(6,'(a1,a22,1x,i8,a13)') '#','computationMode',mode, '#' + print'(/,a)', '#############################################' + print'(a1,a22,1x,i8,a13)', '#','element', elCP, '#' + print'(a1,a22,1x,i8,a13)', '#','ip', ip, '#' + print'(a1,a22,1x,i8,a13)', '#','cycleCounter', cycleCounter, '#' + print'(a1,a22,1x,i8,a13)', '#','computationMode',mode, '#' if (terminallyIll) & - write(6,'(a,/)') '# --- terminallyIll --- #' - write(6,'(a,/)') '#############################################'; flush (6) + print'(a,/)', '# --- terminallyIll --- #' + print'(a,/)', '#############################################'; flush (6) endif if (iand(mode, CPFEM_BACKUPJACOBIAN) /= 0_pInt) & @@ -209,7 +208,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS FEsolving_execElem = elCP FEsolving_execIP = ip if (debugCPFEM%extensive) & - write(6,'(a,i8,1x,i2)') '<< CPFEM >> calculation for elFE ip ',elFE,ip + print'(a,i8,1x,i2)', '<< CPFEM >> calculation for elFE ip ',elFE,ip call materialpoint_stressAndItsTangent(updateJaco, dt) terminalIllness: if (terminallyIll) then @@ -247,9 +246,9 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS if (debugCPFEM%extensive & .and. ((debugCPFEM%element == elCP .and. debugCPFEM%ip == ip) .or. .not. debugCPFEM%selective)) then - write(6,'(a,i8,1x,i2,/,12x,6(f10.3,1x)/)') & + print'(a,i8,1x,i2,/,12x,6(f10.3,1x)/)', & '<< CPFEM >> stress/MPa at elFE ip ', elFE, ip, CPFEM_cs(1:6,ip,elCP)*1.0e-6_pReal - write(6,'(a,i8,1x,i2,/,6(12x,6(f10.3,1x)/))') & + print'(a,i8,1x,i2,/,6(12x,6(f10.3,1x)/))', & '<< CPFEM >> Jacobian/GPa at elFE ip ', elFE, ip, transpose(CPFEM_dcsdE(1:6,1:6,ip,elCP))*1.0e-9_pReal flush(6) endif diff --git a/src/CPFEM2.f90 b/src/CPFEM2.f90 index ab70acbe8..c87f361c2 100644 --- a/src/CPFEM2.f90 +++ b/src/CPFEM2.f90 @@ -76,7 +76,7 @@ end subroutine CPFEM_initAll !-------------------------------------------------------------------------------------------------- subroutine CPFEM_init - write(6,'(/,a)') ' <<<+- CPFEM init -+>>>'; flush(6) + print'(/,a)', ' <<<+- CPFEM init -+>>>'; flush(6) if (interface_restartInc > 0) call crystallite_restartRead diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index e497c65a9..b6f9436ff 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -58,33 +58,33 @@ subroutine DAMASK_interface_init integer :: ierr character(len=pPathLen) :: wd - write(6,'(/,a)') ' <<<+- DAMASK_marc init -+>>>' + print'(/,a)', ' <<<+- DAMASK_marc init -+>>>' - write(6,'(/,a)') ' Roters et al., Computational Materials Science 158:420–478, 2019' - write(6,'(a)') ' https://doi.org/10.1016/j.commatsci.2018.04.030' + print*, 'Roters et al., Computational Materials Science 158:420–478, 2019' + print*, 'https://doi.org/10.1016/j.commatsci.2018.04.030' - write(6,'(/,a)') ' Version: '//DAMASKVERSION + print'(/,a)', ' Version: '//DAMASKVERSION ! https://github.com/jeffhammond/HPCInfo/blob/master/docs/Preprocessor-Macros.md #if __INTEL_COMPILER >= 1800 - write(6,'(/,a)') ' Compiled with: '//compiler_version() - write(6,'(a)') ' Compiler options: '//compiler_options() + print'(/,a)', ' Compiled with: '//compiler_version() + print'(a)', ' Compiler options: '//compiler_options() #else - write(6,'(/,a,i4.4,a,i8.8)') ' Compiled with Intel fortran version :', __INTEL_COMPILER,& + print'(/,a,i4.4,a,i8.8)', ' Compiled with Intel fortran version :', __INTEL_COMPILER,& ', build date :', __INTEL_COMPILER_BUILD_DATE #endif - write(6,'(/,a)') ' Compiled on: '//__DATE__//' at '//__TIME__ + print'(/,a)', ' Compiled on: '//__DATE__//' at '//__TIME__ call date_and_time(values = dateAndTime) - write(6,'(/,a,2(i2.2,a),i4.4)') ' Date: ',dateAndTime(3),'/',dateAndTime(2),'/', dateAndTime(1) - write(6,'(a,2(i2.2,a),i2.2)') ' Time: ',dateAndTime(5),':', dateAndTime(6),':', dateAndTime(7) + print'(/,a,2(i2.2,a),i4.4)', ' Date: ',dateAndTime(3),'/',dateAndTime(2),'/', dateAndTime(1) + print'(a,2(i2.2,a),i2.2)', ' Time: ',dateAndTime(5),':', dateAndTime(6),':', dateAndTime(7) inquire(5, name=wd) wd = wd(1:scan(wd,'/',back=.true.)) ierr = CHDIR(wd) if (ierr /= 0) then - write(6,'(a20,a,a16)') ' working directory "',trim(wd),'" does not exist' + print*, 'working directory "'//trim(wd)//'" does not exist' call quit(1) endif symmetricSolver = solverIsSymmetric() @@ -257,14 +257,14 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & debug_Marc ! pointer to Marc debug options if(debug_basic) then - write(6,'(a,/,i8,i8,i2)') ' MSC.MARC information on shape of element(2), IP:', m, nn - write(6,'(a,2(i1))') ' Jacobian: ', ngens,ngens - write(6,'(a,i1)') ' Direct stress: ', ndi - write(6,'(a,i1)') ' Shear stress: ', nshear - write(6,'(a,i2)') ' DoF: ', ndeg - write(6,'(a,i2)') ' Coordinates: ', ncrd - write(6,'(a,i12)') ' Nodes: ', nnode - write(6,'(a,i1)') ' Deformation gradient: ', itel + print'(a,/,i8,i8,i2)', ' MSC.MARC information on shape of element(2), IP:', m, nn + print'(a,2(i1))', ' Jacobian: ', ngens,ngens + print'(a,i1)', ' Direct stress: ', ndi + print'(a,i1)', ' Shear stress: ', nshear + print'(a,i2)', ' DoF: ', ndeg + print'(a,i2)', ' Coordinates: ', ncrd + print'(a,i12)', ' Nodes: ', nnode + print'(a,i1)', ' Deformation gradient: ', itel write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') ' Deformation gradient at t=n:', & transpose(ffn) write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') ' Deformation gradient at t=n+1:', & @@ -295,22 +295,22 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & lastIncConverged = .false. outdatedByNewInc = .false. lastLovl = lovl ! pretend that this is NOT the first after a lovl change - write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> start of analysis..! ',m(1),nn + print'(a,i6,1x,i2)', '<< HYPELA2 >> start of analysis..! ',m(1),nn else if (inc - theInc > 1) then ! >> restart of broken analysis << lastIncConverged = .false. outdatedByNewInc = .false. - write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> restart of analysis..! ',m(1),nn + print'(a,i6,1x,i2)', '<< HYPELA2 >> restart of analysis..! ',m(1),nn else ! >> just the next inc << lastIncConverged = .true. outdatedByNewInc = .true. - write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> new increment..! ',m(1),nn + print'(a,i6,1x,i2)', '<< HYPELA2 >> new increment..! ',m(1),nn endif else if ( timinc < theDelta ) then ! >> cutBack << lastIncConverged = .false. outdatedByNewInc = .false. terminallyIll = .false. cycleCounter = -1 ! first calc step increments this to cycle = 0 - write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> cutback detected..! ',m(1),nn + print'(a,i6,1x,i2)', '<< HYPELA2 >> cutback detected..! ',m(1),nn endif ! convergence treatment end flush(6) diff --git a/src/IO.f90 b/src/IO.f90 index 53781653e..6da7a10c8 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -47,7 +47,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine IO_init - write(6,'(/,a)') ' <<<+- IO init -+>>>'; flush(6) + print'(/,a)', ' <<<+- IO init -+>>>'; flush(6) call selfTest diff --git a/src/YAML_types.f90 b/src/YAML_types.f90 index 1752474ad..cc1c85efd 100644 --- a/src/YAML_types.f90 +++ b/src/YAML_types.f90 @@ -189,7 +189,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine YAML_types_init - write(6,'(/,a)') ' <<<+- YAML_types init -+>>>' + print'(/,a)', ' <<<+- YAML_types init -+>>>' call selfTest diff --git a/src/base64.f90 b/src/base64.f90 index a9cd4eacf..3a59b7049 100644 --- a/src/base64.f90 +++ b/src/base64.f90 @@ -27,7 +27,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine base64_init - write(6,'(/,a)') ' <<<+- base64 init -+>>>'; flush(6) + print'(/,a)', ' <<<+- base64 init -+>>>'; flush(6) call selfTest diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index 382b641b3..c78d497d6 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -201,10 +201,10 @@ module subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dMp,Mp,instance,of) Lp = dot_gamma/prm%M * Mp_dev/norm_Mp_dev #ifdef DEBUG if (debugConstitutive%extensive .and. (of == prm%of_debug .or. .not. debugConstitutive%selective)) then - write(6,'(/,a,/,3(12x,3(f12.4,1x)/))') '<< CONST isotropic >> Tstar (dev) / MPa', & + print'(/,a,/,3(12x,3(f12.4,1x)/))', '<< CONST isotropic >> Tstar (dev) / MPa', & transpose(Mp_dev)*1.0e-6_pReal - write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> norm Tstar / MPa', norm_Mp_dev*1.0e-6_pReal - write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> gdot', dot_gamma + print'(/,a,/,f12.5)', '<< CONST isotropic >> norm Tstar / MPa', norm_Mp_dev*1.0e-6_pReal + print'(/,a,/,f12.5)', '<< CONST isotropic >> gdot', dot_gamma end if #endif forall (k=1:3,l=1:3,m=1:3,n=1:3) & @@ -256,8 +256,8 @@ module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of) #ifdef DEBUG if (debugConstitutive%extensive .and. (of == prm%of_debug .or. .not. debugConstitutive%selective)) then - write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> pressure / MPa', tr/3.0_pReal*1.0e-6_pReal - write(6,'(/,a,/,f12.5)') '<< CONST isotropic >> gdot', prm%dot_gamma_0 * (3.0_pReal*prm%M*stt%xi(of))**(-prm%n) & + print'(/,a,/,f12.5)', '<< CONST isotropic >> pressure / MPa', tr/3.0_pReal*1.0e-6_pReal + print'(/,a,/,f12.5)', '<< CONST isotropic >> gdot', prm%dot_gamma_0 * (3.0_pReal*prm%M*stt%xi(of))**(-prm%n) & * tr * abs(tr)**(prm%n-1.0_pReal) end if #endif diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index d3ffd2c85..fe17b090e 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -345,8 +345,8 @@ module subroutine plastic_kinehardening_deltaState(Mp,instance,of) #ifdef DEBUG if (debugConstitutive%extensive & .and. (of == prm%of_debug .or. .not. debugConstitutive%selective)) then - write(6,'(a)') '======= kinehardening delta state =======' - write(6,*) sense,state(instance)%sense(:,of) + print*, '======= kinehardening delta state =======' + print*, sense,state(instance)%sense(:,of) endif #endif diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 152cde43e..c96301691 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -1274,7 +1274,7 @@ function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) .and. prm%CFLfactor * abs(v0) * timestep & > IPvolume(ip,el) / maxval(IParea(:,ip,el))), & ' at a timestep of ',timestep - write(6,'(a)') '<< CONST >> enforcing cutback !!!' + print*, '<< CONST >> enforcing cutback !!!' endif #endif rhoDotFlux = IEEE_value(1.0_pReal,IEEE_quiet_NaN) ! enforce cutback diff --git a/src/crystallite.f90 b/src/crystallite.f90 index def98bf23..bed36d79b 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -146,7 +146,7 @@ subroutine crystallite_init phase, & generic_param - write(6,'(/,a)') ' <<<+- crystallite init -+>>>' + print'(/,a)', ' <<<+- crystallite init -+>>>' debug_crystallite => config_debug%get('crystallite', defaultVal=emptyList) debugCrystallite%basic = debug_crystallite%contains('basic') @@ -291,9 +291,9 @@ subroutine crystallite_init #ifdef DEBUG if (debugCrystallite%basic) then - write(6,'(a42,1x,i10)') ' # of elements: ', eMax - write(6,'(a42,1x,i10)') ' # of integration points/element: ', iMax - write(6,'(a42,1x,i10)') 'max # of constituents/integration point: ', cMax + print'(a42,1x,i10)', ' # of elements: ', eMax + print'(a42,1x,i10)', ' # of integration points/element: ', iMax + print'(a42,1x,i10)', 'max # of constituents/integration point: ', cMax flush(6) endif @@ -324,24 +324,24 @@ function crystallite_stress() if (debugCrystallite%selective & .and. FEsolving_execElem(1) <= debugCrystallite%element & .and. debugCrystallite%element <= FEsolving_execElem(2)) then - write(6,'(/,a,i8,1x,i2,1x,i3)') '<< CRYST stress >> boundary and initial values at el ip ipc ', & + print'(/,a,i8,1x,i2,1x,i3)', '<< CRYST stress >> boundary and initial values at el ip ipc ', & debugCrystallite%element,debugCrystallite%ip, debugCrystallite%grain - write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> F ', & + print'(a,/,3(12x,3(f14.9,1x)/))', '<< CRYST stress >> F ', & transpose(crystallite_partionedF(1:3,1:3,debugCrystallite%grain, & debugCrystallite%ip,debugCrystallite%element)) - write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> F0 ', & + print'(a,/,3(12x,3(f14.9,1x)/))', '<< CRYST stress >> F0 ', & transpose(crystallite_partionedF0(1:3,1:3,debugCrystallite%grain, & debugCrystallite%ip,debugCrystallite%element)) - write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> Fp0', & + print'(a,/,3(12x,3(f14.9,1x)/))', '<< CRYST stress >> Fp0', & transpose(crystallite_partionedFp0(1:3,1:3,debugCrystallite%grain, & debugCrystallite%ip,debugCrystallite%element)) - write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> Fi0', & + print'(a,/,3(12x,3(f14.9,1x)/))', '<< CRYST stress >> Fi0', & transpose(crystallite_partionedFi0(1:3,1:3,debugCrystallite%grain, & debugCrystallite%ip,debugCrystallite%element)) - write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> Lp0', & + print'(a,/,3(12x,3(f14.9,1x)/))', '<< CRYST stress >> Lp0', & transpose(crystallite_partionedLp0(1:3,1:3,debugCrystallite%grain, & debugCrystallite%ip,debugCrystallite%element)) - write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< CRYST stress >> Li0', & + print'(a,/,3(12x,3(f14.9,1x)/))', '<< CRYST stress >> Li0', & transpose(crystallite_partionedLi0(1:3,1:3,debugCrystallite%grain, & debugCrystallite%ip,debugCrystallite%element)) endif @@ -390,7 +390,7 @@ function crystallite_stress() #ifdef DEBUG if (debugCrystallite%extensive) & - write(6,'(a,i6)') '<< CRYST stress >> crystallite iteration ',NiterationCrystallite + print'(a,i6)', '<< CRYST stress >> crystallite iteration ',NiterationCrystallite #endif !$OMP PARALLEL DO PRIVATE(formerSubStep) elementLooping3: do e = FEsolving_execElem(1),FEsolving_execElem(2) @@ -1561,9 +1561,9 @@ subroutine crystallite_restartWrite integer(HID_T) :: fileHandle, groupHandle character(len=pStringLen) :: fileName, datasetName - write(6,'(a)') ' writing field and constitutive data required for restart to file';flush(6) + print'(a)', ' writing field and constitutive data required for restart to file';flush(6) - write(fileName,'(a,i0,a)') trim(getSolverJobName())//'_',worldrank,'.hdf5' + write(fileName,'(a,i0,a)', trim(getSolverJobName())//'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'a') call HDF5_write(fileHandle,crystallite_partionedF,'F') @@ -1575,14 +1575,14 @@ subroutine crystallite_restartWrite groupHandle = HDF5_addGroup(fileHandle,'constituent') do i = 1,size(material_name_phase) - write(datasetName,'(i0,a)') i,'_omega_plastic' + write(datasetName,'(i0,a)', i,'_omega_plastic' call HDF5_write(groupHandle,plasticState(i)%state,datasetName) enddo call HDF5_closeGroup(groupHandle) groupHandle = HDF5_addGroup(fileHandle,'materialpoint') do i = 1, material_Nhomogenization - write(datasetName,'(i0,a)') i,'_omega_homogenization' + write(datasetName,'(i0,a)', i,'_omega_homogenization' call HDF5_write(groupHandle,homogState(i)%state,datasetName) enddo call HDF5_closeGroup(groupHandle) @@ -1602,9 +1602,9 @@ subroutine crystallite_restartRead integer(HID_T) :: fileHandle, groupHandle character(len=pStringLen) :: fileName, datasetName - write(6,'(/,a,i0,a)') ' reading restart information of increment from file' + print'(/,a,i0,a)', ' reading restart information of increment from file' - write(fileName,'(a,i0,a)') trim(getSolverJobName())//'_',worldrank,'.hdf5' + write(fileName,'(a,i0,a)', trim(getSolverJobName())//'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName) call HDF5_read(fileHandle,crystallite_F0, 'F') diff --git a/src/damage_local.f90 b/src/damage_local.f90 index f55dcf52e..3588010b2 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -49,7 +49,7 @@ subroutine damage_local_init homog, & homogDamage - write(6,'(/,a)') ' <<<+- damage_local init -+>>>'; flush(6) + print'(/,a)', ' <<<+- damage_local init -+>>>'; flush(6) !---------------------------------------------------------------------------------------------- ! read numerics parameter and do sanity check diff --git a/src/damage_none.f90 b/src/damage_none.f90 index 00e3e132d..4e01998bc 100644 --- a/src/damage_none.f90 +++ b/src/damage_none.f90 @@ -18,7 +18,7 @@ subroutine damage_none_init integer :: h,NofMyHomog - write(6,'(/,a)') ' <<<+- damage_none init -+>>>'; flush(6) + print'(/,a)', ' <<<+- damage_none init -+>>>'; flush(6) do h = 1, material_Nhomogenization if (damage_type(h) /= DAMAGE_NONE_ID) cycle diff --git a/src/damage_nonlocal.f90 b/src/damage_nonlocal.f90 index b9b800555..a4ea54493 100644 --- a/src/damage_nonlocal.f90 +++ b/src/damage_nonlocal.f90 @@ -53,7 +53,7 @@ subroutine damage_nonlocal_init homog, & homogDamage - write(6,'(/,a)') ' <<<+- damage_nonlocal init -+>>>'; flush(6) + print'(/,a)', ' <<<+- damage_nonlocal init -+>>>'; flush(6) !------------------------------------------------------------------------------------ ! read numerics parameter diff --git a/src/lattice.f90 b/src/lattice.f90 index 8b8e0f686..d0ac07ed6 100644 --- a/src/lattice.f90 +++ b/src/lattice.f90 @@ -457,7 +457,7 @@ subroutine lattice_init phase, & elasticity - write(6,'(/,a)') ' <<<+- lattice init -+>>>'; flush(6) + print'(/,a)', ' <<<+- lattice init -+>>>'; flush(6) phases => config_material%get('phase') Nphases = phases%length diff --git a/src/material.f90 b/src/material.f90 index 3d8f3fc31..835de2fc1 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -160,12 +160,11 @@ subroutine material_init(restart) integer :: ph, myHomog class(tNode), pointer :: & - debug_material, & ! pointer to material debug options phases, & material_homogenization character(len=pStringLen) :: sectionName - write(6,'(/,a)') ' <<<+- material init -+>>>'; flush(6) + print'(/,a)', ' <<<+- material init -+>>>'; flush(6) phases => config_material%get('phase') allocate(material_name_phase(phases%length)) @@ -181,13 +180,11 @@ subroutine material_init(restart) material_name_homogenization(myHomog) = trim(adjustl(sectionName))//material_homogenization%getKey(myHomog) enddo - debug_material => config_debug%get('material',defaultVal=emptyList) + call material_parseMicrostructure + print*, ' Microstructure parsed' - call material_parseMicrostructure() - if (debug_material%contains('basic')) write(6,'(a)') ' Microstructure parsed'; flush(6) - - call material_parseHomogenization() - if (debug_material%contains('basic')) write(6,'(a)') ' Homogenization parsed'; flush(6) + call material_parseHomogenization + print*, ' Homogenization parsed' if(homogenization_maxNgrains > size(material_phaseAt,1)) call IO_error(148) diff --git a/src/math.f90 b/src/math.f90 index 5b0e2b987..b835a35b2 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -91,7 +91,7 @@ subroutine math_init class(tNode), pointer :: & num_generic - write(6,'(/,a)') ' <<<+- math init -+>>>'; flush(6) + print'(/,a)', ' <<<+- math init -+>>>'; flush(6) num_generic => config_numerics%get('generic',defaultVal=emptyDict) randomSeed = num_generic%get_asInt('random_seed', defaultVal = 0) @@ -109,9 +109,9 @@ subroutine math_init call random_seed(put = randInit) call random_number(randTest) - write(6,'(a,i2)') ' size of random seed: ', randSize - write(6,'(a,i0)') ' value of random seed: ', randInit(1) - write(6,'(a,4(/,26x,f17.14),/)') ' start of random sequence: ', randTest + print'(a,i2)', ' size of random seed: ', randSize + print'(a,i0)', ' value of random seed: ', randInit(1) + print'(a,4(/,26x,f17.14),/)', ' start of random sequence: ', randTest call random_seed(put = randInit) diff --git a/src/prec.f90 b/src/prec.f90 index 87c2f6848..c8700089b 100644 --- a/src/prec.f90 +++ b/src/prec.f90 @@ -87,14 +87,14 @@ contains !-------------------------------------------------------------------------------------------------- subroutine prec_init - write(6,'(/,a)') ' <<<+- prec init -+>>>' + print'(/,a)', ' <<<+- prec init -+>>>' - write(6,'(a,i3)') ' Size of integer in bit: ',bit_size(0) - write(6,'(a,i19)') ' Maximum value: ',huge(0) - write(6,'(/,a,i3)') ' Size of float in bit: ',storage_size(0.0_pReal) - write(6,'(a,e10.3)') ' Maximum value: ',huge(0.0_pReal) - write(6,'(a,e10.3)') ' Minimum value: ',tiny(0.0_pReal) - write(6,'(a,i3)') ' Decimal precision: ',precision(0.0_pReal) + print'(a,i3)', ' Size of integer in bit: ',bit_size(0) + print'(a,i19)', ' Maximum value: ',huge(0) + print'(/,a,i3)', ' Size of float in bit: ',storage_size(0.0_pReal) + print'(a,e10.3)', ' Maximum value: ',huge(0.0_pReal) + print'(a,e10.3)', ' Minimum value: ',tiny(0.0_pReal) + print'(a,i3)', ' Decimal precision: ',precision(0.0_pReal) call selfTest diff --git a/src/thermal_adiabatic.f90 b/src/thermal_adiabatic.f90 index f6291a25b..1601a9b4f 100644 --- a/src/thermal_adiabatic.f90 +++ b/src/thermal_adiabatic.f90 @@ -46,7 +46,7 @@ subroutine thermal_adiabatic_init homog, & homogThermal - write(6,'(/,a)') ' <<<+- thermal_adiabatic init -+>>>'; flush(6) + print'(/,a)', ' <<<+- thermal_adiabatic init -+>>>'; flush(6) maxNinstance = count(thermal_type == THERMAL_adiabatic_ID) if (maxNinstance == 0) return diff --git a/src/thermal_conduction.f90 b/src/thermal_conduction.f90 index b14fe4a22..5556a54e1 100644 --- a/src/thermal_conduction.f90 +++ b/src/thermal_conduction.f90 @@ -47,7 +47,7 @@ subroutine thermal_conduction_init homog, & homogThermal - write(6,'(/,a)') ' <<<+- thermal_conduction init -+>>>'; flush(6) + print'(/,a)', ' <<<+- thermal_conduction init -+>>>'; flush(6) Ninstance = count(thermal_type == THERMAL_conduction_ID) allocate(param(Ninstance)) diff --git a/src/thermal_isothermal.f90 b/src/thermal_isothermal.f90 index 38aa99136..2dda358ac 100644 --- a/src/thermal_isothermal.f90 +++ b/src/thermal_isothermal.f90 @@ -18,7 +18,7 @@ subroutine thermal_isothermal_init integer :: h,NofMyHomog - write(6,'(/,a)') ' <<<+- thermal_isothermal init -+>>>'; flush(6) + print'(/,a)', ' <<<+- thermal_isothermal init -+>>>'; flush(6) do h = 1, material_Nhomogenization if (thermal_type(h) /= THERMAL_isothermal_ID) cycle From 4a913c83e597f82d1c771110d1ec537070f9f6ed Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 17 Sep 2020 22:57:56 +0200 Subject: [PATCH 647/958] simplified print and format strings --- src/homogenization.f90 | 34 +++---- src/homogenization_mech_RGC.f90 | 131 +++++++++++--------------- src/homogenization_mech_isostrain.f90 | 4 +- src/homogenization_mech_none.f90 | 4 +- src/kinematics_cleavage_opening.f90 | 5 +- src/kinematics_slipplane_opening.f90 | 5 +- src/kinematics_thermal_expansion.f90 | 5 +- src/results.f90 | 6 +- src/source_damage_anisoBrittle.f90 | 5 +- src/source_damage_anisoDuctile.f90 | 6 +- src/source_damage_isoBrittle.f90 | 5 +- src/source_damage_isoDuctile.f90 | 5 +- src/source_thermal_dissipation.f90 | 5 +- src/source_thermal_externalheat.f90 | 5 +- 14 files changed, 95 insertions(+), 130 deletions(-) diff --git a/src/homogenization.f90 b/src/homogenization.f90 index ebdca24d0..cc8df77f4 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -186,7 +186,7 @@ subroutine homogenization_init materialpoint_F = materialpoint_F0 ! initialize to identity allocate(materialpoint_P(3,3,discretization_nIP,discretization_nElem), source=0.0_pReal) - write(6,'(/,a)') ' <<<+- homogenization init -+>>>'; flush(6) + print'(/,a)', ' <<<+- homogenization init -+>>>'; flush(6) num%nMPstate = num_homogGeneric%get_asInt ('nMPstate', defaultVal=10) num%subStepMinHomog = num_homogGeneric%get_asFloat('subStepMin', defaultVal=1.0e-3_pReal) @@ -228,11 +228,11 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) #ifdef DEBUG if (debugHomog%basic) then - write(6,'(/a,i5,1x,i2)') '<< HOMOG >> Material Point start at el ip ', debugHomog%element, debugHomog%ip + print'(/a,i5,1x,i2)', ' << HOMOG >> Material Point start at el ip ', debugHomog%element, debugHomog%ip - write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< HOMOG >> F0', & + print'(a,/,3(12x,3(f14.9,1x)/))', ' << HOMOG >> F0', & transpose(materialpoint_F0(1:3,1:3,debugHomog%ip,debugHomog%element)) - write(6,'(a,/,3(12x,3(f14.9,1x)/))') '<< HOMOG >> F', & + print'(a,/,3(12x,3(f14.9,1x)/))', ' << HOMOG >> F', & transpose(materialpoint_F(1:3,1:3,debugHomog%ip,debugHomog%element)) endif #endif @@ -292,12 +292,11 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) if (converged(i,e)) then #ifdef DEBUG - if (debugHomog%extensive & - .and. ((e == debugHomog%element .and. i == debugHomog%ip) & - .or. .not. debugHomog%selective)) then - write(6,'(a,1x,f12.8,1x,a,1x,f12.8,1x,a,i8,1x,i2/)') '<< HOMOG >> winding forward from', & - subFrac(i,e), 'to current subFrac', & - subFrac(i,e)+subStep(i,e),'in materialpoint_stressAndItsTangent at el ip',e,i + if (debugHomog%extensive .and. ((e == debugHomog%element .and. i == debugHomog%ip) & + .or. .not. debugHomog%selective)) then + print'(a,f12.8,a,f12.8,a,i8,1x,i2/)', ' << HOMOG >> winding forward from ', & + subFrac(i,e), ' to current subFrac ', & + subFrac(i,e)+subStep(i,e),' in materialpoint_stressAndItsTangent at el ip ',e,i endif #endif @@ -342,20 +341,17 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) num%subStepSizeHomog * subStep(i,e) <= num%subStepMinHomog ) then ! would require too small subStep ! cutback makes no sense if (.not. terminallyIll) then ! so first signals terminally ill... - !$OMP CRITICAL (write2out) - write(6,*) 'Integration point ', i,' at element ', e, ' terminally ill' - !$OMP END CRITICAL (write2out) + print*, ' Integration point ', i,' at element ', e, ' terminally ill' endif terminallyIll = .true. ! ...and kills all others else ! cutback makes sense subStep(i,e) = num%subStepSizeHomog * subStep(i,e) ! crystallite had severe trouble, so do a significant cutback #ifdef DEBUG - if (debugHomog%extensive & - .and. ((e == debugHomog%element .and. i == debugHomog%ip) & - .or. .not. debugHomog%selective)) then - write(6,'(a,1x,f12.8,a,i8,1x,i2/)') & - '<< HOMOG >> cutback step in materialpoint_stressAndItsTangent with new subStep:',& + if (debugHomog%extensive .and. ((e == debugHomog%element .and. i == debugHomog%ip) & + .or. .not. debugHomog%selective)) then + print'(a,f12.8,a,i8,1x,i2/)', & + '<< HOMOG >> cutback step in materialpoint_stressAndItsTangent with new subStep: ',& subStep(i,e),' at el ip',e,i endif #endif @@ -469,7 +465,7 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) enddo elementLooping4 !$OMP END PARALLEL DO else - write(6,'(/,a,/)') '<< HOMOG >> Material Point terminally ill' + print'(/,a,/)', ' << HOMOG >> Material Point terminally ill' endif end subroutine materialpoint_stressAndItsTangent diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index 940d597cc..cdd7c05dd 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -92,16 +92,18 @@ module subroutine mech_RGC_init(num_homogMech) homog, & homogMech - write(6,'(/,a)') ' <<<+- homogenization_mech_rgc init -+>>>' - - write(6,'(/,a)') ' Tjahjanto et al., International Journal of Material Forming 2(1):939–942, 2009' - write(6,'(a)') ' https://doi.org/10.1007/s12289-009-0619-1' - - write(6,'(/,a)') ' Tjahjanto et al., Modelling and Simulation in Materials Science and Engineering 18:015006, 2010' - write(6,'(a)') ' https://doi.org/10.1088/0965-0393/18/1/015006' + print'(/,a)', ' <<<+- homogenization_mech_rgc init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_RGC_ID) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) + + print*, 'Tjahjanto et al., International Journal of Material Forming 2(1):939–942, 2009' + print*, 'https://doi.org/10.1007/s12289-009-0619-1'//IO_EOL + + print*, 'Tjahjanto et al., Modelling and Simulation in Materials Science and Engineering 18:015006, 2010' + print*, 'https://doi.org/10.1088/0965-0393/18/1/015006'//IO_EOL + + allocate(param(Ninstance)) allocate(state(Ninstance)) @@ -240,9 +242,9 @@ module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of) #ifdef DEBUG if (debugHomog%extensive) then - write(6,'(1x,a32,1x,i3)')'Deformation gradient of grain: ',iGrain + print'(a,i3)',' Deformation gradient of grain: ',iGrain do i = 1,3 - write(6,'(1x,3(e15.8,1x))')(F(i,j,iGrain), j = 1,3) + print'(1x,3(e15.8,1x))',(F(i,j,iGrain), j = 1,3) enddo print*,' ' flush(6) @@ -303,9 +305,9 @@ module procedure mech_RGC_updateState #ifdef DEBUG if (debugHomog%extensive) then - write(6,'(1x,a30)')'Obtained state: ' + print*, 'Obtained state: ' do i = 1,size(stt%relaxationVector(:,of)) - write(6,'(1x,2(e15.8,1x))') stt%relaxationVector(i,of) + print'(1x,2(e15.8,1x))', stt%relaxationVector(i,of) enddo print*,' ' endif @@ -319,22 +321,6 @@ module procedure mech_RGC_updateState ! calculating volume discrepancy and stress penalty related to overall volume discrepancy call volumePenalty(D,dst%volumeDiscrepancy(of),avgF,F,nGrain,instance,of) -#ifdef DEBUG - if (debugHomog%extensive) then - do iGrain = 1,nGrain - write(6,'(1x,a30,1x,i3,1x,a4,3(1x,e15.8))')'Mismatch magnitude of grain(',iGrain,') :',& - NN(1,iGrain),NN(2,iGrain),NN(3,iGrain) - write(6,'(/,1x,a30,1x,i3)')'Stress and penalties of grain: ',iGrain - do i = 1,3 - write(6,'(1x,3(e15.8,1x),1x,3(e15.8,1x),1x,3(e15.8,1x))')(P(i,j,iGrain), j = 1,3), & - (R(i,j,iGrain), j = 1,3), & - (D(i,j,iGrain), j = 1,3) - enddo - print*,' ' - enddo - endif -#endif - !------------------------------------------------------------------------------------------------ ! computing the residual stress from the balance of traction at all (interior) interfaces do iNum = 1,nIntFaceTot @@ -369,8 +355,8 @@ module procedure mech_RGC_updateState #ifdef DEBUG if (debugHomog%extensive) then - write(6,'(1x,a30,1x,i3)')'Traction at interface: ',iNum - write(6,'(1x,3(e15.8,1x))')(tract(iNum,j), j = 1,3) + print'(a,i3)',' Traction at interface: ',iNum + print'(1x,3(e15.8,1x))',(tract(iNum,j), j = 1,3) print*,' ' endif #endif @@ -385,12 +371,11 @@ module procedure mech_RGC_updateState if (debugHomog%extensive .and. prm%of_debug == of) then stresLoc = maxloc(abs(P)) residLoc = maxloc(abs(tract)) - write(6,'(1x,a)')' ' - write(6,'(1x,a,1x,i2,1x,i4)')'RGC residual check ...',ip,el - write(6,'(1x,a15,1x,e15.8,1x,a7,i3,1x,a12,i2,i2)')'Max stress: ',stresMax, & - '@ grain',stresLoc(3),'in component',stresLoc(1),stresLoc(2) - write(6,'(1x,a15,1x,e15.8,1x,a7,i3,1x,a12,i2)')'Max residual: ',residMax, & - '@ iface',residLoc(1),'in direction',residLoc(2) + print'(a,i2,1x,i4)',' RGC residual check ... ',ip,el + print'(a,e15.8,a,i3,a,i2,i2)', ' Max stress: ',stresMax, & + '@ grain ',stresLoc(3),' in component ',stresLoc(1),stresLoc(2) + print'(a,e15.8,a,i3,a,i2)',' Max residual: ',residMax, & + ' @ iface ',residLoc(1),' in direction ',residLoc(2) flush(6) endif #endif @@ -403,7 +388,7 @@ module procedure mech_RGC_updateState mech_RGC_updateState = .true. #ifdef DEBUG if (debugHomog%extensive .and. prm%of_debug == of) & - write(6,'(1x,a55,/)')'... done and happy'; flush(6) + print*, '... done and happy'; flush(6) #endif !-------------------------------------------------------------------------------------------------- @@ -423,14 +408,14 @@ module procedure mech_RGC_updateState #ifdef DEBUG if (debugHomog%extensive .and. prm%of_debug == of) then - write(6,'(1x,a30,1x,e15.8)') 'Constitutive work: ',stt%work(of) - write(6,'(1x,a30,3(1x,e15.8))')'Magnitude mismatch: ',dst%mismatch(1,of), & - dst%mismatch(2,of), & - dst%mismatch(3,of) - write(6,'(1x,a30,1x,e15.8)') 'Penalty energy: ', stt%penaltyEnergy(of) - write(6,'(1x,a30,1x,e15.8,/)') 'Volume discrepancy: ', dst%volumeDiscrepancy(of) - write(6,'(1x,a30,1x,e15.8)') 'Maximum relaxation rate: ', dst%relaxationRate_max(of) - write(6,'(1x,a30,1x,e15.8,/)') 'Average relaxation rate: ', dst%relaxationRate_avg(of) + print'(a,e15.8)', ' Constitutive work: ',stt%work(of) + print'(a,3(1x,e15.8))', ' Magnitude mismatch: ',dst%mismatch(1,of), & + dst%mismatch(2,of), & + dst%mismatch(3,of) + print'(a,e15.8)', ' Penalty energy: ', stt%penaltyEnergy(of) + print'(a,e15.8,/)', ' Volume discrepancy: ', dst%volumeDiscrepancy(of) + print'(a,e15.8)', ' Maximum relaxation rate: ', dst%relaxationRate_max(of) + print'(a,e15.8,/)', ' Average relaxation rate: ', dst%relaxationRate_avg(of) flush(6) endif #endif @@ -444,7 +429,7 @@ module procedure mech_RGC_updateState #ifdef DEBUG if (debugHomog%extensive .and. prm%of_debug == of) & - write(6,'(1x,a,/)') '... broken'; flush(6) + print'(a,/)', ' ... broken'; flush(6) #endif return @@ -452,7 +437,7 @@ module procedure mech_RGC_updateState else ! proceed with computing the Jacobian and state update #ifdef DEBUG if (debugHomog%extensive .and. prm%of_debug == of) & - write(6,'(1x,a,/)') '... not yet done'; flush(6) + print'(a,/)', ' ... not yet done'; flush(6) #endif endif @@ -509,9 +494,9 @@ module procedure mech_RGC_updateState #ifdef DEBUG if (debugHomog%extensive) then - write(6,'(1x,a30)')'Jacobian matrix of stress' + print*, 'Jacobian matrix of stress' do i = 1,3*nIntFaceTot - write(6,'(1x,100(e11.4,1x))')(smatrix(i,j), j = 1,3*nIntFaceTot) + print'(1x,100(e11.4,1x))',(smatrix(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' flush(6) @@ -569,9 +554,9 @@ module procedure mech_RGC_updateState #ifdef DEBUG if (debugHomog%extensive) then - write(6,'(1x,a30)')'Jacobian matrix of penalty' + print*, 'Jacobian matrix of penalty' do i = 1,3*nIntFaceTot - write(6,'(1x,100(e11.4,1x))')(pmatrix(i,j), j = 1,3*nIntFaceTot) + print'(1x,100(e11.4,1x))',(pmatrix(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' flush(6) @@ -588,9 +573,9 @@ module procedure mech_RGC_updateState #ifdef DEBUG if (debugHomog%extensive) then - write(6,'(1x,a30)')'Jacobian matrix of penalty' + print*, 'Jacobian matrix of penalty' do i = 1,3*nIntFaceTot - write(6,'(1x,100(e11.4,1x))')(rmatrix(i,j), j = 1,3*nIntFaceTot) + print'(1x,100(e11.4,1x))',(rmatrix(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' flush(6) @@ -603,9 +588,9 @@ module procedure mech_RGC_updateState #ifdef DEBUG if (debugHomog%extensive) then - write(6,'(1x,a30)')'Jacobian matrix (total)' + print*, 'Jacobian matrix (total)' do i = 1,3*nIntFaceTot - write(6,'(1x,100(e11.4,1x))')(jmatrix(i,j), j = 1,3*nIntFaceTot) + print'(1x,100(e11.4,1x))',(jmatrix(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' flush(6) @@ -619,9 +604,9 @@ module procedure mech_RGC_updateState #ifdef DEBUG if (debugHomog%extensive) then - write(6,'(1x,a30)')'Jacobian inverse' + print*, 'Jacobian inverse' do i = 1,3*nIntFaceTot - write(6,'(1x,100(e11.4,1x))')(jnverse(i,j), j = 1,3*nIntFaceTot) + print'(1x,100(e11.4,1x))',(jnverse(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' flush(6) @@ -638,17 +623,17 @@ module procedure mech_RGC_updateState if (any(abs(drelax) > num%maxdRelax)) then ! Forcing cutback when the incremental change of relaxation vector becomes too large mech_RGC_updateState = [.true.,.false.] !$OMP CRITICAL (write2out) - write(6,'(1x,a,1x,i3,1x,a,1x,i3,1x,a)')'RGC_updateState: ip',ip,'| el',el,'enforces cutback' - write(6,'(1x,a,1x,e15.8)')'due to large relaxation change =',maxval(abs(drelax)) + print'(a,i3,a,i3,a)',' RGC_updateState: ip ',ip,' | el ',el,' enforces cutback' + print'(a,e15.8)',' due to large relaxation change = ',maxval(abs(drelax)) flush(6) !$OMP END CRITICAL (write2out) endif #ifdef DEBUG if (debugHomog%extensive) then - write(6,'(1x,a30)')'Returned state: ' + print*, 'Returned state: ' do i = 1,size(stt%relaxationVector(:,of)) - write(6,'(1x,2(e15.8,1x))') stt%relaxationVector(i,of) + print'(1x,2(e15.8,1x))', stt%relaxationVector(i,of) enddo print*,' ' flush(6) @@ -678,9 +663,6 @@ module procedure mech_RGC_updateState integer :: iGrain,iGNghb,iFace,i,j,k,l real(pReal) :: muGrain,muGNghb,nDefNorm,bgGrain,bgGNghb real(pReal), parameter :: nDefToler = 1.0e-10_pReal -#ifdef DEBUG - logical :: debugActive -#endif nGDim = param(instance)%Nconstituents rPen = 0.0_pReal @@ -695,10 +677,8 @@ module procedure mech_RGC_updateState associate(prm => param(instance)) #ifdef DEBUG - debugActive = debugHomog%extensive .and. prm%of_debug == of - - if (debugActive) then - write(6,'(1x,a20,2(1x,i3))')'Correction factor: ',ip,el + if (debugHomog%extensive .and. prm%of_debug == of) then + print'(a,2(1x,i3))', ' Correction factor: ',ip,el print*, surfCorr endif #endif @@ -738,10 +718,10 @@ module procedure mech_RGC_updateState nDefNorm = max(nDefToler,sqrt(nDefNorm)) ! approximation to zero mismatch if mismatch is zero (singularity) nMis(abs(intFace(1)),iGrain) = nMis(abs(intFace(1)),iGrain) + nDefNorm ! total amount of mismatch experienced by the grain (at all six interfaces) #ifdef DEBUG - if (debugActive) then - write(6,'(1x,a20,i2,1x,a20,1x,i3)')'Mismatch to face: ',intFace(1),'neighbor grain: ',iGNghb + if (debugHomog%extensive .and. prm%of_debug == of) then + print'(a,i2,a,i3)',' Mismatch to face: ',intFace(1),' neighbor grain: ',iGNghb print*, transpose(nDef) - write(6,'(1x,a20,e11.4)')'with magnitude: ',nDefNorm + print'(a,e11.4)', ' with magnitude: ',nDefNorm endif #endif @@ -756,8 +736,8 @@ module procedure mech_RGC_updateState enddo; enddo;enddo; enddo enddo interfaceLoop #ifdef DEBUG - if (debugActive) then - write(6,'(1x,a20,i2)')'Penalty of grain: ',iGrain + if (debugHomog%extensive .and. prm%of_debug == of) then + print'(a,i2)', ' Penalty of grain: ',iGrain print*, transpose(rPen(1:3,1:3,iGrain)) endif #endif @@ -805,9 +785,8 @@ module procedure mech_RGC_updateState gVol(i)*transpose(math_inv33(fDef(:,:,i))) #ifdef DEBUG - if (debugHomog%extensive & - .and. param(instance)%of_debug == of) then - write(6,'(1x,a30,i2)')'Volume penalty of grain: ',i + if (debugHomog%extensive .and. param(instance)%of_debug == of) then + print'(a,i2)',' Volume penalty of grain: ',i print*, transpose(vPen(:,:,i)) endif #endif diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index 4b4614cff..6c5f50b99 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -37,10 +37,10 @@ module subroutine mech_isostrain_init homog, & homogMech - write(6,'(/,a)') ' <<<+- homogenization_mech_isostrain init -+>>>' + print'(/,a)', ' <<<+- homogenization_mech_isostrain init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) allocate(param(Ninstance)) ! one container of parameters per instance diff --git a/src/homogenization_mech_none.f90 b/src/homogenization_mech_none.f90 index b3886bfba..d9426ef50 100644 --- a/src/homogenization_mech_none.f90 +++ b/src/homogenization_mech_none.f90 @@ -18,10 +18,10 @@ module subroutine mech_none_init h, & NofMyHomog - write(6,'(/,a)') ' <<<+- homogenization_mech_none init -+>>>' + print'(/,a)', ' <<<+- homogenization_mech_none init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_NONE_ID) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) do h = 1, size(homogenization_type) if (homogenization_type(h) /= HOMOGENIZATION_NONE_ID) cycle diff --git a/src/kinematics_cleavage_opening.f90 b/src/kinematics_cleavage_opening.f90 index 865376e02..d8f25f8b8 100644 --- a/src/kinematics_cleavage_opening.f90 +++ b/src/kinematics_cleavage_opening.f90 @@ -45,12 +45,11 @@ module function kinematics_cleavage_opening_init(kinematics_length) result(myKin kinematics, & kinematic_type - write(6,'(/,a)') ' <<<+- kinematics_cleavage_opening init -+>>>' + print'(/,a)', ' <<<+- kinematics_cleavage_opening init -+>>>' myKinematics = kinematics_active('cleavage_opening',kinematics_length) - Ninstance = count(myKinematics) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/kinematics_slipplane_opening.f90 b/src/kinematics_slipplane_opening.f90 index 8fabdd78f..3b04e37c1 100644 --- a/src/kinematics_slipplane_opening.f90 +++ b/src/kinematics_slipplane_opening.f90 @@ -48,12 +48,11 @@ module function kinematics_slipplane_opening_init(kinematics_length) result(myKi kinematics, & kinematic_type - write(6,'(/,a)') ' <<<+- kinematics_slipplane init -+>>>' + print'(/,a)', ' <<<+- kinematics_slipplane init -+>>>' myKinematics = kinematics_active('slipplane_opening',kinematics_length) - Ninstance = count(myKinematics) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index 5d404c913..652713aa4 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -38,12 +38,11 @@ module function kinematics_thermal_expansion_init(kinematics_length) result(myKi kinematics, & kinematic_type - write(6,'(/,a)') ' <<<+- kinematics_thermal_expansion init -+>>>' + print'(/,a)', ' <<<+- kinematics_thermal_expansion init -+>>>' myKinematics = kinematics_active('thermal_expansion',kinematics_length) - Ninstance = count(myKinematics) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/results.f90 b/src/results.f90 index a4c90f41b..686183919 100644 --- a/src/results.f90 +++ b/src/results.f90 @@ -65,10 +65,10 @@ subroutine results_init(restart) character(len=pStringLen) :: commandLine - write(6,'(/,a)') ' <<<+- results init -+>>>'; flush(6) + print'(/,a)', ' <<<+- results init -+>>>'; flush(6) - write(6,'(/,a)') ' Diehl et al., Integrating Materials and Manufacturing Innovation 6(1):83–91, 2017' - write(6,'(a)') ' https://doi.org/10.1007/s40192-017-0084-5' + print*, 'Diehl et al., Integrating Materials and Manufacturing Innovation 6(1):83–91, 2017' + print*, 'https://doi.org/10.1007/s40192-017-0084-5'//IO_EOL if(.not. restart) then resultsFile = HDF5_openFile(trim(getSolverJobName())//'.hdf5','w',.true.) diff --git a/src/source_damage_anisoBrittle.f90 b/src/source_damage_anisoBrittle.f90 index ed8ce74c8..6dd58fe5b 100644 --- a/src/source_damage_anisoBrittle.f90 +++ b/src/source_damage_anisoBrittle.f90 @@ -49,12 +49,11 @@ module function source_damage_anisoBrittle_init(source_length) result(mySources) integer, dimension(:), allocatable :: N_cl character(len=pStringLen) :: extmsg = '' - write(6,'(/,a)') ' <<<+- source_damage_anisoBrittle init -+>>>' + print'(/,a)', ' <<<+- source_damage_anisoBrittle init -+>>>' mySources = source_active('damage_anisoBrittle',source_length) - Ninstance = count(mySources) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_damage_anisoDuctile.f90 b/src/source_damage_anisoDuctile.f90 index a81573038..37681a23f 100644 --- a/src/source_damage_anisoDuctile.f90 +++ b/src/source_damage_anisoDuctile.f90 @@ -43,13 +43,11 @@ module function source_damage_anisoDuctile_init(source_length) result(mySources) integer, dimension(:), allocatable :: N_sl character(len=pStringLen) :: extmsg = '' - write(6,'(/,a)') ' <<<+- source_damage_anisoDuctile init -+>>>' + print'(/,a)', ' <<<+- source_damage_anisoDuctile init -+>>>' mySources = source_active('damage_anisoDuctile',source_length) - Ninstance = count(mySources) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) - + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index 97dd89900..c6d0ada99 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -39,12 +39,11 @@ module function source_damage_isoBrittle_init(source_length) result(mySources) integer :: Ninstance,sourceOffset,NipcMyPhase,p character(len=pStringLen) :: extmsg = '' - write(6,'(/,a)') ' <<<+- source_damage_isoBrittle init -+>>>' + print'(/,a)', ' <<<+- source_damage_isoBrittle init -+>>>' mySources = source_active('damage_isoBrittle',source_length) - Ninstance = count(mySources) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index 48b465105..1c1c53fd0 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -41,12 +41,11 @@ module function source_damage_isoDuctile_init(source_length) result(mySources) integer :: Ninstance,sourceOffset,NipcMyPhase,p character(len=pStringLen) :: extmsg = '' - write(6,'(/,a)') ' <<<+- source_damage_isoDuctile init -+>>>' + print'(/,a)', ' <<<+- source_damage_isoDuctile init -+>>>' mySources = source_active('damage_isoDuctile',source_length) - Ninstance = count(mySources) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index 5d6211c6c..60fde7f28 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -37,12 +37,11 @@ module function source_thermal_dissipation_init(source_length) result(mySources) src integer :: Ninstance,sourceOffset,NipcMyPhase,p - write(6,'(/,a)') ' <<<+- source_thermal_dissipation init -+>>>' + print'(/,a)', ' <<<+- source_thermal_dissipation init -+>>>' mySources = source_active('thermal_dissipation',source_length) - Ninstance = count(mySources) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index 3862e90e7..e7bfea254 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -41,12 +41,11 @@ module function source_thermal_externalheat_init(source_length) result(mySources src integer :: Ninstance,sourceOffset,NipcMyPhase,p - write(6,'(/,a)') ' <<<+- source_thermal_externalHeat init -+>>>' + print'(/,a)', ' <<<+- source_thermal_externalHeat init -+>>>' mySources = source_active('thermal_externalheat',source_length) - Ninstance = count(mySources) - write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(6) if(Ninstance == 0) return phases => config_material%get('phase') From 5b800203e9108aeff33f61882c3383d0fb08debc Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 18 Sep 2020 10:25:05 +0200 Subject: [PATCH 648/958] [skip ci] updated version information after successful test of v3.0.0-alpha-220-g4a913c83 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index fa691fc66..98491cfa3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-216-gb51a1b7b +v3.0.0-alpha-220-g4a913c83 From 4d4283a03249be87a9e6a955da66e80aad428489 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 18 Sep 2020 12:03:21 +0200 Subject: [PATCH 649/958] report next pipeline --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ed5e762b7..c412b0abe 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -87,6 +87,7 @@ checkout: - echo $CI_PIPELINE_ID >> $TESTROOT/GitLabCI.queue - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue) != 1 ]; do sleep 5m; + echo 'next pipeline $(head -n 1 $TESTROOT/GitLabCI.queue)'; done script: - mkdir -p $DAMASKROOT From f34525fd3ac30dc61fffb5909bfa26be7452919e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 18 Sep 2020 12:33:54 +0200 Subject: [PATCH 650/958] allow shell substitution --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c412b0abe..ff58727d5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -87,7 +87,7 @@ checkout: - echo $CI_PIPELINE_ID >> $TESTROOT/GitLabCI.queue - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue) != 1 ]; do sleep 5m; - echo 'next pipeline $(head -n 1 $TESTROOT/GitLabCI.queue)'; + echo "next pipeline $(head -n 1 $TESTROOT/GitLabCI.queue)"; done script: - mkdir -p $DAMASKROOT From beb8f07a91f5cfc21e2abe283db8bfb860913f7f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 18 Sep 2020 12:58:37 +0200 Subject: [PATCH 651/958] more helpful information --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ff58727d5..fb0f17030 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,6 +25,7 @@ before_script: fi - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue) != 1 ]; do sleep 5m; + echo "next pipeline in queue has ID $(head -n 1 $TESTROOT/GitLabCI.queue)"; done - source $DAMASKROOT/env/DAMASK.sh - cd $DAMASKROOT/PRIVATE/testing @@ -87,7 +88,7 @@ checkout: - echo $CI_PIPELINE_ID >> $TESTROOT/GitLabCI.queue - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue) != 1 ]; do sleep 5m; - echo "next pipeline $(head -n 1 $TESTROOT/GitLabCI.queue)"; + echo "next pipeline in queue has ID $(head -n 1 $TESTROOT/GitLabCI.queue)"; done script: - mkdir -p $DAMASKROOT From 25ad07764081f27f4f774db79afdfc7a8c5fe2f9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 18 Sep 2020 14:19:23 +0200 Subject: [PATCH 652/958] report all pipelines in front of me --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fb0f17030..bb4a2e7a0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,7 +25,7 @@ before_script: fi - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue) != 1 ]; do sleep 5m; - echo "next pipeline in queue has ID $(head -n 1 $TESTROOT/GitLabCI.queue)"; + echo -e "Currently queued pipelines:\n$(cat $TESTROOT/GitLabCI.queue)\n"; done - source $DAMASKROOT/env/DAMASK.sh - cd $DAMASKROOT/PRIVATE/testing @@ -88,7 +88,7 @@ checkout: - echo $CI_PIPELINE_ID >> $TESTROOT/GitLabCI.queue - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue) != 1 ]; do sleep 5m; - echo "next pipeline in queue has ID $(head -n 1 $TESTROOT/GitLabCI.queue)"; + echo -e "Currently queued pipelines:\n$(cat $TESTROOT/GitLabCI.queue)\n"; done script: - mkdir -p $DAMASKROOT From ec7dbb4c9ade601fcd4475ed0c6b61fd1b1f4259 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 18 Sep 2020 14:21:30 +0200 Subject: [PATCH 653/958] do not store temp files --- .../Visualize_hybridIA_sampling-checkpoint.ipynb | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 python/tests/reference/Rotation/.ipynb_checkpoints/Visualize_hybridIA_sampling-checkpoint.ipynb diff --git a/python/tests/reference/Rotation/.ipynb_checkpoints/Visualize_hybridIA_sampling-checkpoint.ipynb b/python/tests/reference/Rotation/.ipynb_checkpoints/Visualize_hybridIA_sampling-checkpoint.ipynb deleted file mode 100644 index 7fec51502..000000000 --- a/python/tests/reference/Rotation/.ipynb_checkpoints/Visualize_hybridIA_sampling-checkpoint.ipynb +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cells": [], - "metadata": {}, - "nbformat": 4, - "nbformat_minor": 4 -} From e2cd3da29551233d5068acc249c20838726ac2d9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 18 Sep 2020 14:29:27 +0200 Subject: [PATCH 654/958] remaning to_xx --- python/tests/test_Orientation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index 1c92340bf..bee3c8c59 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -106,7 +106,7 @@ class TestOrientation: coords = np.array([(1,i+1) for i,x in enumerate(eu)]) table = Table(eu,{'Eulers':(3,)}) table = table.add('pos',coords) - table.to_ASCII(reference) + table.write(reference) assert np.allclose(eu,Table.load_ASCII(reference).get('Eulers')) @pytest.mark.parametrize('lattice',Lattice.lattices) From 1849ff0330bc7fa0e06e5d3c6102d3e86536d666 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 18 Sep 2020 15:03:51 +0200 Subject: [PATCH 655/958] polishing --- python/damask/_geom.py | 4 ---- python/damask/_table.py | 34 +++++++++++++++----------------- python/tests/test_Orientation.py | 2 +- 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 8fa0b533a..60f7b90a5 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -453,8 +453,6 @@ class Geom: Parameters ---------- - geom : Geom object - Geometry to write. fname : str or file handle Geometry file to write with extension '.geom'. pack : bool, optional @@ -526,8 +524,6 @@ class Geom: Parameters ---------- - geom : Geom object - Geometry to write with extension '.vtr'. fname : str, optional Filename to write. If no file is given, a string is returned. Valid extension is .vtr, it will be appended if not given. diff --git a/python/damask/_table.py b/python/damask/_table.py index 987233153..3215cd8db 100644 --- a/python/damask/_table.py +++ b/python/damask/_table.py @@ -66,7 +66,7 @@ class Table: @staticmethod def load_ASCII(fname): """ - Create table from ASCII file. + Load ASCII table file. In legacy style, the first line indicates the number of subsequent header lines as "N header", with the last header line being @@ -124,7 +124,7 @@ class Table: @staticmethod def load_ang(fname): """ - Create table from TSL ang file. + Load ang file. A valid TSL ang file needs to contains the following columns: * Euler angles (Bunge notation) in radians, 3 floats, label 'eu'. @@ -341,14 +341,12 @@ class Table: return dup - def save_ASCII(table,fname,legacy=False): + def save_ASCII(self,fname,legacy=False): """ - Store as plain text file. + Save as plain text file. Parameters ---------- - table : Table object - Table to write. fname : file, str, or pathlib.Path Filename or file for writing. legacy : Boolean, optional @@ -358,23 +356,23 @@ class Table: """ seen = set() labels = [] - for l in [x for x in table.data.columns if not (x in seen or seen.add(x))]: - if table.shapes[l] == (1,): + for l in [x for x in self.data.columns if not (x in seen or seen.add(x))]: + if self.shapes[l] == (1,): labels.append(f'{l}') - elif len(table.shapes[l]) == 1: + elif len(self.shapes[l]) == 1: labels += [f'{i+1}_{l}' \ - for i in range(table.shapes[l][0])] + for i in range(self.shapes[l][0])] else: - labels += [f'{util.srepr(table.shapes[l],"x")}:{i+1}_{l}' \ - for i in range(np.prod(table.shapes[l]))] + labels += [f'{util.srepr(self.shapes[l],"x")}:{i+1}_{l}' \ + for i in range(np.prod(self.shapes[l]))] - header = ([f'{len(table.comments)+1} header'] + table.comments) if legacy else \ - [f'# {comment}' for comment in table.comments] + header = ([f'{len(self.comments)+1} header'] + self.comments) if legacy else \ + [f'# {comment}' for comment in self.comments] try: - f = open(fname,'w') + fhandle = open(fname,'w') except TypeError: - f = fname + fhandle = fname - for line in header + [' '.join(labels)]: f.write(line+'\n') - table.data.to_csv(f,sep=' ',na_rep='nan',index=False,header=False) + for line in header + [' '.join(labels)]: fhandle.write(line+'\n') + self.data.to_csv(fhandle,sep=' ',na_rep='nan',index=False,header=False) diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index bee3c8c59..3a7425ddb 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -106,7 +106,7 @@ class TestOrientation: coords = np.array([(1,i+1) for i,x in enumerate(eu)]) table = Table(eu,{'Eulers':(3,)}) table = table.add('pos',coords) - table.write(reference) + table.save_ASCII(reference) assert np.allclose(eu,Table.load_ASCII(reference).get('Eulers')) @pytest.mark.parametrize('lattice',Lattice.lattices) From c935ba12153161f4abc90985e760642e40a315c9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 18 Sep 2020 16:23:23 +0200 Subject: [PATCH 656/958] user friendly self reporting --- python/damask/_table.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/python/damask/_table.py b/python/damask/_table.py index 3215cd8db..9789c8be6 100644 --- a/python/damask/_table.py +++ b/python/damask/_table.py @@ -29,6 +29,9 @@ class Table: self.shapes = { k:(v,) if isinstance(v,(np.int,int)) else v for k,v in shapes.items() } self._label_uniform() + def __repr__(self): + """Brief overview.""" + return util.srepr(self.comments)+'\n'+self.data.__repr__() def __copy__(self): """Copy Table.""" From f23b89f05596b952b5b58c3e84bcb38b13014acd Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 18 Sep 2020 16:30:22 +0200 Subject: [PATCH 657/958] get rid of annoying warning during test --- python/damask/util.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/python/damask/util.py b/python/damask/util.py index a04ee47de..655f75879 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -172,8 +172,9 @@ def scale_to_coprime(v): m = (np.array(v) * reduce(lcm, map(lambda x: int(get_square_denominator(x)),v)) ** 0.5).astype(np.int) m = m//reduce(np.gcd,m) - if not np.allclose(v[v.nonzero()]/m[v.nonzero()],v[v.nonzero()][0]/m[m.nonzero()][0]): - raise ValueError(f'Invalid result {m} for input {v}. Insufficient precision?') + with np.errstate(divide='ignore'): + if not np.allclose(v/m,v[0]/m[0]): + raise ValueError(f'Invalid result {m} for input {v}. Insufficient precision?') return m From c42511f101c9607ffa2d80efee1c6dfadde548ec Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 18 Sep 2020 16:32:08 +0200 Subject: [PATCH 658/958] small polishing --- python/damask/_geom.py | 33 ++++++++++++++------------------- python/damask/_vtk.py | 2 ++ python/tests/test_Geom.py | 15 ++++----------- 3 files changed, 20 insertions(+), 30 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 60f7b90a5..be4f596c1 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -1,7 +1,5 @@ -import sys import copy -import multiprocessing -from io import StringIO +import multiprocessing as mp from functools import partial import numpy as np @@ -404,7 +402,7 @@ class Geom: seeds_p = seeds coords = grid_filters.cell_coord0(grid,size).reshape(-1,3) - pool = multiprocessing.Pool(processes = int(environment.options['DAMASK_NUM_THREADS'])) + pool = mp.Pool(processes = int(environment.options['DAMASK_NUM_THREADS'])) result = pool.map_async(partial(Geom._find_closest_seed,seeds_p,weights_p), [coord for coord in coords]) pool.close() pool.join() @@ -447,7 +445,7 @@ class Geom: ) - def save_ASCII(self,fname,pack=None): + def save_ASCII(self,fname,compress=None): """ Writes a geom file. @@ -455,7 +453,7 @@ class Geom: ---------- fname : str or file handle Geometry file to write with extension '.geom'. - pack : bool, optional + compress : bool, optional Compress geometry with 'x of y' and 'a to b'. """ @@ -467,10 +465,10 @@ class Geom: grid = self.get_grid() - if pack is None: + if compress is None: plain = grid.prod()/self.N_microstructure < 250 else: - plain = not pack + plain = not compress if plain: format_string = '%g' if self.microstructure.dtype in np.sctypes['float'] else \ @@ -518,7 +516,7 @@ class Geom: f.write(f'{reps} of {former}\n') - def save_vtr(self,fname=None): + def save_vtr(self,fname,compress=True): """ Generates vtk rectilinear grid. @@ -527,24 +525,21 @@ class Geom: fname : str, optional Filename to write. If no file is given, a string is returned. Valid extension is .vtr, it will be appended if not given. + compress : bool, optional + Compress with zlib algorithm. Defaults to True. """ v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) v.add(self.microstructure.flatten(order='F'),'materialpoint') v.add_comments(self.comments) - if fname: - v.save(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') - else: - sys.stdout.write(v.__repr__()) + v.save(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr',parallel=False,compress=compress) - def as_ASCII(self,pack=False): - """Format geometry as human-readable ASCII.""" - f = StringIO() - self.save_ASCII(f,pack) - f.seek(0) - return ''.join(f.readlines()) + def show(self): + """Show on screen.""" + v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) + v.show() def add_primitive(self,dimension,center,exponent, diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 2e424aefc..c1fe52f38 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -178,6 +178,8 @@ class VTK: Filename for writing. parallel : boolean, optional Write data in parallel background process. Defaults to True. + compress : bool, optional + Compress with zlib algorithm. Defaults to True. """ if isinstance(self.vtk_data,vtk.vtkRectilinearGrid): diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 8c9e84c1f..12f50be96 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -69,18 +69,11 @@ class TestGeom: def test_write_read_file(self,default,tmpdir): with open(tmpdir/'default.geom','w') as f: - default.save_ASCII(f,pack=True) + default.save_ASCII(f,compress=True) with open(tmpdir/'default.geom') as f: new = Geom.load_ASCII(f) assert geom_equal(default,new) - def test_write_as_ASCII(self,default,tmpdir): - with open(tmpdir/'str.geom','w') as f: - f.write(default.as_ASCII()) - with open(tmpdir/'str.geom') as f: - new = Geom.load_ASCII(f) - assert geom_equal(default,new) - def test_read_write_vtr(self,default,tmpdir): default.save_vtr(tmpdir/'default') for _ in range(10): @@ -107,9 +100,9 @@ class TestGeom: Geom.load_vtr(tmpdir/'no_materialpoint.vtr') - @pytest.mark.parametrize('pack',[True,False]) - def test_pack(self,default,tmpdir,pack): - default.save_ASCII(tmpdir/'default.geom',pack=pack) + @pytest.mark.parametrize('compress',[True,False]) + def test_compress(self,default,tmpdir,compress): + default.save_ASCII(tmpdir/'default.geom',compress=compress) new = Geom.load_ASCII(tmpdir/'default.geom') assert geom_equal(new,default) From d6b681569326ba2d0602020d0efb0f1dbf053ed1 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Fri, 18 Sep 2020 11:35:58 -0400 Subject: [PATCH 659/958] resolve conflicting PRIVATE/master changes --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 0b5204381..576f3af61 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 0b5204381cc8b86212ed8c0de43110d0175badd4 +Subproject commit 576f3af61c3d893b608809cc91e46647809010f1 From d8117dc166a3257b239a233a1d8c1cf7710cd841 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 18 Sep 2020 19:43:35 +0200 Subject: [PATCH 660/958] [skip ci] updated version information after successful test of v3.0.0-alpha-233-g190f8a82 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 98491cfa3..bebbc79d0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-220-g4a913c83 +v3.0.0-alpha-233-g190f8a82 From ae0216fafe191c5d94e2317104f3761c8d9fa561 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 18 Sep 2020 22:20:38 +0200 Subject: [PATCH 661/958] [skip ci] updated version information after successful test of v3.0.0-alpha-238-g6880ad42 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 98491cfa3..b2a634a3c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-220-g4a913c83 +v3.0.0-alpha-238-g6880ad42 From cc92b0ad84dc6a48ac60fa7c885e33aa70281bba Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 08:20:29 +0200 Subject: [PATCH 662/958] print is more appropriate than write --- src/DAMASK_interface.f90 | 4 +- src/constitutive_plastic_nonlocal.f90 | 2 +- src/grid/DAMASK_grid.f90 | 40 ++++++++++---------- src/grid/discretization_grid.f90 | 2 +- src/grid/grid_damage_spectral.f90 | 38 ++++++++----------- src/grid/grid_mech_FEM.f90 | 29 +++++++------- src/grid/grid_mech_spectral_basic.f90 | 30 +++++++-------- src/grid/grid_mech_spectral_polarisation.f90 | 27 +++++++------ src/grid/grid_thermal_spectral.f90 | 30 ++++++--------- src/grid/spectral_utilities.f90 | 14 +++---- src/marc/discretization_marc.f90 | 2 +- src/mesh/DAMASK_mesh.f90 | 30 +++++++-------- src/mesh/FEM_quadrature.f90 | 2 +- src/mesh/FEM_utilities.f90 | 6 +-- src/mesh/discretization_mesh.f90 | 2 +- src/mesh/mesh_mech_FEM.f90 | 6 +-- 16 files changed, 124 insertions(+), 140 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index 46ecd4da0..4c3258556 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -101,8 +101,8 @@ subroutine DAMASK_interface_init #endif print*, achar(27)//'[0m' - print'(a)', ' Roters et al., Computational Materials Science 158:420–478, 2019' - print'(a)', ' https://doi.org/10.1016/j.commatsci.2018.04.030' + print*, 'Roters et al., Computational Materials Science 158:420–478, 2019' + print*, 'https://doi.org/10.1016/j.commatsci.2018.04.030' print'(/,a)', ' Version: '//DAMASKVERSION diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index c96301691..9eef17719 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -199,7 +199,7 @@ module function plastic_nonlocal_init() result(myPlasticity) print*, 'https://doi.org/10.1016/j.actamat.2014.03.012'//IO_EOL print*, 'Kords, Dissertation RWTH Aachen, 2014' - print*, 'http://publications.rwth-aachen.de/record/229993'//IO_EOL + print*, 'http://publications.rwth-aachen.de/record/229993' allocate(param(Ninstance)) allocate(state(Ninstance)) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index a5001de44..341210afc 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -99,10 +99,10 @@ program DAMASK_grid ! init DAMASK (all modules) call CPFEM_initAll - write(6,'(/,a)') ' <<<+- DAMASK_spectral init -+>>>'; flush(6) + print'(/,a)', ' <<<+- DAMASK_spectral init -+>>>'; flush(6) - write(6,'(/,a)') ' Shanthraj et al., Handbook of Mechanics of Materials, 2019' - write(6,'(a)') ' https://doi.org/10.1007/978-981-10-6855-3_80' + print*, 'Shanthraj et al., Handbook of Mechanics of Materials, 2019' + print*, 'https://doi.org/10.1007/978-981-10-6855-3_80' !-------------------------------------------------------------------------------------------------- ! initialize field solver information @@ -263,19 +263,19 @@ program DAMASK_grid reportAndCheck: if (worldrank == 0) then write (loadcase_string, '(i0)' ) currentLoadCase - write(6,'(/,1x,a,i0)') 'load case: ', currentLoadCase + print'(/,a,i0)', ' load case: ', currentLoadCase if (.not. newLoadCase%followFormerTrajectory) & - write(6,'(2x,a)') 'drop guessing along trajectory' + print*, ' drop guessing along trajectory' if (newLoadCase%deformation%myType == 'l') then do j = 1, 3 if (any(newLoadCase%deformation%maskLogical(j,1:3) .eqv. .true.) .and. & any(newLoadCase%deformation%maskLogical(j,1:3) .eqv. .false.)) errorID = 832 ! each row should be either fully or not at all defined enddo - write(6,'(2x,a)') 'velocity gradient:' + print*, ' velocity gradient:' else if (newLoadCase%deformation%myType == 'f') then - write(6,'(2x,a)') 'deformation gradient at end of load case:' + print*, ' deformation gradient at end of load case:' else - write(6,'(2x,a)') 'deformation gradient rate:' + print*, ' deformation gradient rate:' endif do i = 1, 3; do j = 1, 3 if(newLoadCase%deformation%maskLogical(i,j)) then @@ -289,7 +289,7 @@ program DAMASK_grid newLoadCase%deformation%maskLogical)) errorID = 831 ! exclusive or masking only if (any(newLoadCase%stress%maskLogical .and. transpose(newLoadCase%stress%maskLogical) & .and. (math_I3<1))) errorID = 838 ! no rotation is allowed by stress BC - write(6,'(2x,a)') 'stress / GPa:' + print*, ' stress / GPa:' do i = 1, 3; do j = 1, 3 if(newLoadCase%stress%maskLogical(i,j)) then write(6,'(2x,f12.7)',advance='no') newLoadCase%stress%values(i,j)*1e-9_pReal @@ -305,14 +305,14 @@ program DAMASK_grid write(6,'(2x,a,/,3(3(3x,f12.7,1x)/))',advance='no') 'rotation of loadframe:',& transpose(newLoadCase%rot%asMatrix()) if (newLoadCase%time < 0.0_pReal) errorID = 834 ! negative time increment - write(6,'(2x,a,f0.3)') 'time: ', newLoadCase%time + print'(a,f0.3)', ' time: ', newLoadCase%time if (newLoadCase%incs < 1) errorID = 835 ! non-positive incs count - write(6,'(2x,a,i0)') 'increments: ', newLoadCase%incs + print'(a,i0)', ' increments: ', newLoadCase%incs if (newLoadCase%outputfrequency < 1) errorID = 836 ! non-positive result frequency - write(6,'(2x,a,i0)') 'output frequency: ', newLoadCase%outputfrequency + print'(a,i0)', ' output frequency: ', newLoadCase%outputfrequency if (newLoadCase%restartfrequency < 1) errorID = 839 ! non-positive restart frequency if (newLoadCase%restartfrequency < huge(0)) & - write(6,'(2x,a,i0)') 'restart frequency: ', newLoadCase%restartfrequency + print'(a,i0)', ' restart frequency: ', newLoadCase%restartfrequency if (errorID > 0) call IO_error(error_ID = errorID, ext_msg = loadcase_string) ! exit with error message endif reportAndCheck loadCases = [loadCases,newLoadCase] ! load case is ok, append it @@ -397,8 +397,8 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! report begin of new step - write(6,'(/,a)') ' ###########################################################################' - write(6,'(1x,a,es12.5,6(a,i0))') & + print'(/,a)', ' ###########################################################################' + print'(1x,a,es12.5,6(a,i0))', & 'Time', time, & 's: Increment ', inc,'/',loadCases(currentLoadCase)%incs,& '-', stepFraction,'/',subStepFactor**cutBackLevel,& @@ -475,7 +475,7 @@ program DAMASK_grid cutBackLevel = cutBackLevel + 1 time = time - timeinc ! rewind time timeinc = timeinc/real(subStepFactor,pReal) ! cut timestep - write(6,'(/,a)') ' cutting back ' + print'(/,a)', ' cutting back ' else ! no more options to continue call IO_warning(850) if (worldrank == 0) close(statUnit) @@ -487,13 +487,13 @@ program DAMASK_grid cutBackLevel = max(0, cutBackLevel - 1) ! try half number of subincs next inc if (all(solres(:)%converged)) then - write(6,'(/,a,i0,a)') ' increment ', totalIncsCounter, ' converged' + print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' converged' else - write(6,'(/,a,i0,a)') ' increment ', totalIncsCounter, ' NOT converged' + print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' NOT converged' endif; flush(6) if (mod(inc,loadCases(currentLoadCase)%outputFrequency) == 0) then ! at output frequency - write(6,'(1/,a)') ' ... writing results to file ......................................' + print'(1/,a)', ' ... writing results to file ......................................' flush(6) call CPFEM_results(totalIncsCounter,time) endif @@ -510,7 +510,7 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! report summary of whole calculation - write(6,'(/,a)') ' ###########################################################################' + print'(/,a)', ' ###########################################################################' if (worldrank == 0) close(statUnit) call quit(0) ! no complains ;) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 276dd566f..576aaea60 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -65,7 +65,7 @@ subroutine discretization_grid_init(restart) integer(C_INTPTR_T) :: & devNull, z, z_offset - write(6,'(/,a)') ' <<<+- discretization_grid init -+>>>'; flush(6) + print'(/,a)', ' <<<+- discretization_grid init -+>>>'; flush(6) if(index(interface_geomFile,'.vtr') /= 0) then call readVTR(grid,geomSize,origin,microstructureAt) diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index f0d65a4a6..2a0754c66 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -22,42 +22,38 @@ module grid_damage_spectral implicit none private - type, private :: tNumerics + type :: tNumerics integer :: & - itmax !< max number of iterations + itmax !< maximum number of iterations real(pReal) :: & residualStiffness, & !< non-zero residual damage eps_damage_atol, & !< absolute tolerance for damage evolution eps_damage_rtol !< relative tolerance for damage evolution end type tNumerics - type(tNumerics), private :: num -!-------------------------------------------------------------------------------------------------- -! derived types - type(tSolutionParams), private :: params + type(tNumerics) :: num + type(tSolutionParams) :: params !-------------------------------------------------------------------------------------------------- ! PETSc data - SNES, private :: damage_snes - Vec, private :: solution_vec - PetscInt, private :: xstart, xend, ystart, yend, zstart, zend - real(pReal), private, dimension(:,:,:), allocatable :: & + SNES :: damage_snes + Vec :: solution_vec + PetscInt :: xstart, xend, ystart, yend, zstart, zend + real(pReal), dimension(:,:,:), allocatable :: & phi_current, & !< field of current damage phi_lastInc, & !< field of previous damage phi_stagInc !< field of staggered damage !-------------------------------------------------------------------------------------------------- ! reference diffusion tensor, mobility etc. - integer, private :: totalIter = 0 !< total iteration in current increment - real(pReal), dimension(3,3), private :: K_ref - real(pReal), private :: mu_ref + integer :: totalIter = 0 !< total iteration in current increment + real(pReal), dimension(3,3) :: K_ref + real(pReal) :: mu_ref public :: & grid_damage_spectral_init, & grid_damage_spectral_solution, & grid_damage_spectral_forward - private :: & - formResidual contains @@ -77,10 +73,10 @@ subroutine grid_damage_spectral_init character(len=pStringLen) :: & snes_type - write(6,'(/,a)') ' <<<+- grid_spectral_damage init -+>>>' + print'(/,a)', ' <<<+- grid_spectral_damage init -+>>>' - write(6,'(/,a)') ' Shanthraj et al., Handbook of Mechanics of Materials, 2019' - write(6,'(a)') ' https://doi.org/10.1007/978-981-10-6855-3_80' + print*, 'Shanthraj et al., Handbook of Mechanics of Materials, 2019' + print*, 'https://doi.org/10.1007/978-981-10-6855-3_80' !------------------------------------------------------------------------------------------------- ! read numerical parameters and do sanity checks @@ -152,8 +148,6 @@ subroutine grid_damage_spectral_init allocate(phi_stagInc(grid(1),grid(2),grid3), source=1.0_pReal) call VecSet(solution_vec,1.0_pReal,ierr); CHKERRQ(ierr) -!-------------------------------------------------------------------------------------------------- -! damage reference diffusion update call updateReference end subroutine grid_damage_spectral_init @@ -210,10 +204,10 @@ function grid_damage_spectral_solution(timeinc,timeinc_old) result(solution) call VecMin(solution_vec,devNull,phi_min,ierr); CHKERRQ(ierr) call VecMax(solution_vec,devNull,phi_max,ierr); CHKERRQ(ierr) if (solution%converged) & - write(6,'(/,a)') ' ... nonlocal damage converged .....................................' + print'(/,a)', ' ... nonlocal damage converged .....................................' write(6,'(/,a,f8.6,2x,f8.6,2x,e11.4,/)',advance='no') ' Minimum|Maximum|Delta Damage = ',& phi_min, phi_max, stagNorm - write(6,'(/,a)') ' ===========================================================================' + print'(/,a)', ' ===========================================================================' flush(6) end function grid_damage_spectral_solution diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 748692b3c..3923e1898 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -122,7 +122,7 @@ subroutine grid_mech_FEM_init PetscScalar, pointer, dimension(:,:,:,:) :: & u_current,u_lastInc - write(6,'(/,a)') ' <<<+- grid_mech_FEM init -+>>>'; flush(6) + print'(/,a)', ' <<<+- grid_mech_FEM init -+>>>'; flush(6) !----------------------------------------------------------------------------------------------- ! debugging options @@ -130,13 +130,12 @@ subroutine grid_mech_FEM_init debugRotation = debug_grid%contains('rotation') !------------------------------------------------------------------------------------------------- -! read numerical parameter and do sanity checks +! read numerical parameters and do sanity checks num_grid => config_numerics%get('grid',defaultVal=emptyDict) num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) num%eps_stress_atol = num_grid%get_asFloat ('eps_stress_atol', defaultVal=1.0e3_pReal) num%eps_stress_rtol = num_grid%get_asFloat ('eps_stress_rtol', defaultVal=0.01_pReal) - num%itmin = num_grid%get_asInt ('itmin',defaultVal=1) num%itmax = num_grid%get_asInt ('itmax',defaultVal=250) @@ -225,7 +224,7 @@ subroutine grid_mech_FEM_init !-------------------------------------------------------------------------------------------------- ! init fields restartRead: if (interface_restartInc > 0) then - write(6,'(/,a,i0,a)') ' reading restart data of increment ', interface_restartInc, ' from file' + print'(/,a,i0,a)', ' reading restart data of increment ', interface_restartInc, ' from file' write(fileName,'(a,a,i0,a)') trim(getSolverJobName()),'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName) @@ -254,7 +253,7 @@ subroutine grid_mech_FEM_init CHKERRQ(ierr) restartRead2: if (interface_restartInc > 0) then - write(6,'(/,a,i0,a)') ' reading more restart data of increment ', interface_restartInc, ' from file' + print'(a,i0,a)', ' reading more restart data of increment ', interface_restartInc, ' from file' call HDF5_read(groupHandle,C_volAvg, 'C_volAvg') call HDF5_read(groupHandle,C_volAvgLastInc,'C_volAvgLastInc') @@ -304,11 +303,11 @@ function grid_mech_FEM_solution(incInfoIn,timeinc,timeinc_old,stress_BC,rotation !-------------------------------------------------------------------------------------------------- ! solve BVP - call SNESsolve(mech_snes,PETSC_NULL_VEC,solution_current,ierr);CHKERRQ(ierr) + call SNESsolve(mech_snes,PETSC_NULL_VEC,solution_current,ierr); CHKERRQ(ierr) !-------------------------------------------------------------------------------------------------- ! check convergence - call SNESGetConvergedReason(mech_snes,reason,ierr);CHKERRQ(ierr) + call SNESGetConvergedReason(mech_snes,reason,ierr); CHKERRQ(ierr) solution%converged = reason > 0 solution%iterationsNeeded = totalIter @@ -353,7 +352,7 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, F_aimDot = merge(stress_BC%maskFloat*(F_aim-F_aim_lastInc)/timeinc_old, 0.0_pReal, guess) F_aim_lastInc = F_aim - !-------------------------------------------------------------------------------------------------- + !----------------------------------------------------------------------------------------------- ! calculate rate for aim if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F F_aimDot = & @@ -414,7 +413,7 @@ subroutine grid_mech_FEM_restartWrite call DMDAVecGetArrayF90(mech_grid,solution_current,u_current,ierr); CHKERRQ(ierr) call DMDAVecGetArrayF90(mech_grid,solution_lastInc,u_lastInc,ierr); CHKERRQ(ierr) - write(6,'(a)') ' writing solver data required for restart to file'; flush(6) + print*, 'writing solver data required for restart to file'; flush(6) write(fileName,'(a,a,i0,a)') trim(getSolverJobName()),'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'w') @@ -476,12 +475,12 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,fnorm,reason,dummy,i !-------------------------------------------------------------------------------------------------- ! report - write(6,'(1/,a)') ' ... reporting .............................................................' - write(6,'(1/,a,f12.2,a,es8.2,a,es9.2,a)') ' error divergence = ', & + print'(1/,a)', ' ... reporting .............................................................' + print'(1/,a,f12.2,a,es8.2,a,es9.2,a)', ' error divergence = ', & err_div/divTol, ' (',err_div,' / m, tol = ',divTol,')' - write(6,'(a,f12.2,a,es8.2,a,es9.2,a)') ' error stress BC = ', & + print'(a,f12.2,a,es8.2,a,es9.2,a)', ' error stress BC = ', & err_BC/BCTol, ' (',err_BC, ' Pa, tol = ',BCTol,')' - write(6,'(/,a)') ' ===========================================================================' + print'(/,a)', ' ===========================================================================' flush(6) end subroutine converged @@ -516,7 +515,7 @@ subroutine formResidual(da_local,x_local, & ! begin of new iteration newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 - write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter+1, '≤', num%itmax + print'(1x,a,3(a,i0))', trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter+1, '≤', num%itmax if (debugRotation) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) @@ -541,7 +540,7 @@ subroutine formResidual(da_local,x_local, & !-------------------------------------------------------------------------------------------------- ! evaluate constitutive response - call Utilities_constitutiveResponse(P_current,& + call utilities_constitutiveResponse(P_current,& P_av,C_volAvg,devNull, & F,params%timeinc,params%rotation_BC) call MPI_Allreduce(MPI_IN_PLACE,terminallyIll,1,MPI_LOGICAL,MPI_LOR,PETSC_COMM_WORLD,ierr) diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 9d301b30f..14d317c73 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -42,8 +42,7 @@ module grid_mech_spectral_basic type(tNumerics) :: num ! numerics parameters. Better name? - logical, private:: & - debugRotation + logical, private :: debugRotation !-------------------------------------------------------------------------------------------------- ! PETSc data @@ -110,13 +109,13 @@ subroutine grid_mech_spectral_basic_init character(len=pStringLen) :: & fileName - write(6,'(/,a)') ' <<<+- grid_mech_spectral_basic init -+>>>'; flush(6) + print'(/,a)', ' <<<+- grid_mech_spectral_basic init -+>>>'; flush(6) - write(6,'(/,a)') ' Eisenlohr et al., International Journal of Plasticity 46:37–53, 2013' - write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2012.09.012' + print*, 'Eisenlohr et al., International Journal of Plasticity 46:37–53, 2013' + print*, 'https://doi.org/10.1016/j.ijplas.2012.09.012'//IO_EOL - write(6,'(/,a)') ' Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' - write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2014.02.006' + print*, 'Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' + print*, 'https://doi.org/10.1016/j.ijplas.2014.02.006' !------------------------------------------------------------------------------------------------- ! debugging options @@ -132,7 +131,6 @@ subroutine grid_mech_spectral_basic_init num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) num%eps_stress_atol = num_grid%get_asFloat ('eps_stress_atol',defaultVal=1.0e3_pReal) num%eps_stress_rtol = num_grid%get_asFloat ('eps_stress_rtol',defaultVal=0.01_pReal) - num%itmin = num_grid%get_asInt ('itmin',defaultVal=1) num%itmax = num_grid%get_asInt ('itmax',defaultVal=250) @@ -186,7 +184,7 @@ subroutine grid_mech_spectral_basic_init call DMDAVecGetArrayF90(da,solution_vec,F,ierr); CHKERRQ(ierr) ! places pointer on PETSc data restartRead: if (interface_restartInc > 0) then - write(6,'(/,a,i0,a)') ' reading restart data of increment ', interface_restartInc, ' from file' + print'(/,a,i0,a)', ' reading restart data of increment ', interface_restartInc, ' from file' write(fileName,'(a,a,i0,a)') trim(getSolverJobName()),'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName) @@ -211,7 +209,7 @@ subroutine grid_mech_spectral_basic_init call DMDAVecRestoreArrayF90(da,solution_vec,F,ierr); CHKERRQ(ierr) ! deassociate pointer restartRead2: if (interface_restartInc > 0) then - write(6,'(/,a,i0,a)') ' reading more restart data of increment ', interface_restartInc, ' from file' + print'(a,i0,a)', ' reading more restart data of increment ', interface_restartInc, ' from file' call HDF5_read(groupHandle,C_volAvg, 'C_volAvg') call HDF5_read(groupHandle,C_volAvgLastInc,'C_volAvgLastInc') @@ -377,7 +375,7 @@ subroutine grid_mech_spectral_basic_restartWrite call DMDAVecGetArrayF90(da,solution_vec,F,ierr); CHKERRQ(ierr) - write(6,'(a)') ' writing solver data required for restart to file'; flush(6) + print'(a)', ' writing solver data required for restart to file'; flush(6) write(fileName,'(a,a,i0,a)') trim(getSolverJobName()),'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'w') @@ -437,12 +435,12 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm !-------------------------------------------------------------------------------------------------- ! report - write(6,'(1/,a)') ' ... reporting .............................................................' - write(6,'(1/,a,f12.2,a,es8.2,a,es9.2,a)') ' error divergence = ', & + print'(1/,a)', ' ... reporting .............................................................' + print'(1/,a,f12.2,a,es8.2,a,es9.2,a)', ' error divergence = ', & err_div/divTol, ' (',err_div,' / m, tol = ',divTol,')' - write(6,'(a,f12.2,a,es8.2,a,es9.2,a)') ' error stress BC = ', & + print'(a,f12.2,a,es8.2,a,es9.2,a)', ' error stress BC = ', & err_BC/BCTol, ' (',err_BC, ' Pa, tol = ',BCTol,')' - write(6,'(/,a)') ' ===========================================================================' + print'(/,a)', ' ===========================================================================' flush(6) end subroutine converged @@ -475,7 +473,7 @@ subroutine formResidual(in, F, & ! begin of new iteration newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 - write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax + print'(1x,a,3(a,i0))', trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax if (debugRotation) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 5414d02a8..f83ebed75 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -123,10 +123,10 @@ subroutine grid_mech_spectral_polarisation_init character(len=pStringLen) :: & fileName - write(6,'(/,a)') ' <<<+- grid_mech_spectral_polarisation init -+>>>'; flush(6) + print'(/,a)', ' <<<+- grid_mech_spectral_polarisation init -+>>>'; flush(6) - write(6,'(/,a)') ' Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' - write(6,'(a)') ' https://doi.org/10.1016/j.ijplas.2014.02.006' + print*, 'Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' + print*, 'https://doi.org/10.1016/j.ijplas.2014.02.006' !------------------------------------------------------------------------------------------------ ! debugging options @@ -134,9 +134,8 @@ subroutine grid_mech_spectral_polarisation_init debugRotation = debug_grid%contains('rotation') !------------------------------------------------------------------------------------------------- -! read numerical parameters +! read numerical parameters and do sanity checks num_grid => config_numerics%get('grid',defaultVal=emptyDict) - num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) @@ -207,7 +206,7 @@ subroutine grid_mech_spectral_polarisation_init F_tau => FandF_tau(9:17,:,:,:) restartRead: if (interface_restartInc > 0) then - write(6,'(/,a,i0,a)') ' reading restart data of increment ', interface_restartInc, ' from file' + print'(/,a,i0,a)', ' reading restart data of increment ', interface_restartInc, ' from file' write(fileName,'(a,a,i0,a)') trim(getSolverJobName()),'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName) @@ -236,7 +235,7 @@ subroutine grid_mech_spectral_polarisation_init call DMDAVecRestoreArrayF90(da,solution_vec,FandF_tau,ierr); CHKERRQ(ierr) ! deassociate pointer restartRead2: if (interface_restartInc > 0) then - write(6,'(/,a,i0,a)') ' reading more restart data of increment ', interface_restartInc, ' from file' + print'(a,i0,a)', ' reading more restart data of increment ', interface_restartInc, ' from file' call HDF5_read(groupHandle,C_volAvg, 'C_volAvg') call HDF5_read(groupHandle,C_volAvgLastInc,'C_volAvgLastInc') @@ -434,7 +433,7 @@ subroutine grid_mech_spectral_polarisation_restartWrite F => FandF_tau(0: 8,:,:,:) F_tau => FandF_tau(9:17,:,:,:) - write(6,'(a)') ' writing solver data required for restart to file'; flush(6) + print*, 'writing solver data required for restart to file'; flush(6) write(fileName,'(a,a,i0,a)') trim(getSolverJobName()),'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'w') @@ -498,14 +497,14 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm !-------------------------------------------------------------------------------------------------- ! report - write(6,'(1/,a)') ' ... reporting .............................................................' - write(6,'(1/,a,f12.2,a,es8.2,a,es9.2,a)') ' error divergence = ', & + print'(1/,a)', ' ... reporting .............................................................' + print'(1/,a,f12.2,a,es8.2,a,es9.2,a)', ' error divergence = ', & err_div/divTol, ' (',err_div, ' / m, tol = ',divTol,')' - write(6, '(a,f12.2,a,es8.2,a,es9.2,a)') ' error curl = ', & + print '(a,f12.2,a,es8.2,a,es9.2,a)', ' error curl = ', & err_curl/curlTol,' (',err_curl,' -, tol = ',curlTol,')' - write(6, '(a,f12.2,a,es8.2,a,es9.2,a)') ' error BC = ', & + print '(a,f12.2,a,es8.2,a,es9.2,a)', ' error stress BC = ', & err_BC/BCTol, ' (',err_BC, ' Pa, tol = ',BCTol,')' - write(6,'(/,a)') ' ===========================================================================' + print'(/,a)', ' ===========================================================================' flush(6) end subroutine converged @@ -558,7 +557,7 @@ subroutine formResidual(in, FandF_tau, & ! begin of new iteration newIteration: if (totalIter <= PETScIter) then totalIter = totalIter + 1 - write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax + print'(1x,a,3(a,i0))', trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax if(debugRotation) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index 5456f40eb..eeff8c9d6 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -23,20 +23,17 @@ module grid_thermal_spectral implicit none private -!-------------------------------------------------------------------------------------------------- -! derived types - type(tSolutionParams) :: params - type :: tNumerics integer :: & - itmax !< maximum number of iterations + itmax !< maximum number of iterations real(pReal) :: & - eps_thermal_atol, & !< absolute tolerance for thermal equilibrium - eps_thermal_rtol !< relative tolerance for thermal equilibrium + eps_thermal_atol, & !< absolute tolerance for thermal equilibrium + eps_thermal_rtol !< relative tolerance for thermal equilibrium end type tNumerics type(tNumerics) :: num + type(tSolutionParams) :: params !-------------------------------------------------------------------------------------------------- ! PETSc data SNES :: thermal_snes @@ -74,13 +71,13 @@ subroutine grid_thermal_spectral_init class(tNode), pointer :: & num_grid - write(6,'(/,a)') ' <<<+- grid_thermal_spectral init -+>>>' + print'(/,a)', ' <<<+- grid_thermal_spectral init -+>>>' - write(6,'(/,a)') ' Shanthraj et al., Handbook of Mechanics of Materials, 2019' - write(6,'(a)') ' https://doi.org/10.1007/978-981-10-6855-3_80' + print*, 'Shanthraj et al., Handbook of Mechanics of Materials, 2019' + print*, 'https://doi.org/10.1007/978-981-10-6855-3_80' !------------------------------------------------------------------------------------------------- -! read numerical parameter and do sanity checks +! read numerical parameters and do sanity checks num_grid => config_numerics%get('grid',defaultVal=emptyDict) num%itmax = num_grid%get_asInt ('itmax', defaultVal=250) num%eps_thermal_atol = num_grid%get_asFloat ('eps_thermal_atol',defaultVal=1.0e-2_pReal) @@ -94,8 +91,7 @@ subroutine grid_thermal_spectral_init ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-thermal_snes_type ngmres',ierr) CHKERRQ(ierr) - call PETScOptionsInsertString(PETSC_NULL_OPTIONS,& - num_grid%get_asString('petsc_options',defaultVal=''),ierr) + call PETScOptionsInsertString(PETSC_NULL_OPTIONS,num_grid%get_asString('petsc_options',defaultVal=''),ierr) CHKERRQ(ierr) !-------------------------------------------------------------------------------------------------- @@ -110,7 +106,7 @@ subroutine grid_thermal_spectral_init DMDA_STENCIL_BOX, & ! Moore (26) neighborhood around central point grid(1),grid(2),grid(3), & ! global grid 1, 1, worldsize, & - 1, 0, & ! #dof (thermal phase field), ghost boundary width (domain overlap) + 1, 0, & ! #dof (T field), ghost boundary width (domain overlap) [grid(1)],[grid(2)],localK, & ! local grid thermal_grid,ierr) ! handle, error CHKERRQ(ierr) @@ -159,8 +155,6 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) timeinc_old !< increment in time of last increment integer :: i, j, k, cell type(tSolutionState) :: solution - class(tNode), pointer :: & - num_grid PetscInt :: devNull PetscReal :: T_min, T_max, stagNorm, solnNorm @@ -204,10 +198,10 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) call VecMin(solution_vec,devNull,T_min,ierr); CHKERRQ(ierr) call VecMax(solution_vec,devNull,T_max,ierr); CHKERRQ(ierr) if (solution%converged) & - write(6,'(/,a)') ' ... thermal conduction converged ..................................' + print'(/,a)', ' ... thermal conduction converged ..................................' write(6,'(/,a,f8.4,2x,f8.4,2x,f8.4,/)',advance='no') ' Minimum|Maximum|Delta Temperature / K = ',& T_min, T_max, stagNorm - write(6,'(/,a)') ' ===========================================================================' + print'(/,a)', ' ===========================================================================' flush(6) end function grid_thermal_spectral_solution diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 1dc66a23f..764e8adb6 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -208,7 +208,7 @@ subroutine spectral_utilities_init debugPETSc = debug_grid%contains('petsc') - if(debugPETSc) write(6,'(3(/,a),/)') & + if(debugPETSc) print'(3(/,a),/)', & ' Initializing PETSc with debug options: ', & trim(PETScDebug), & ' add more using the PETSc_Options keyword in numerics.yaml '; flush(6) @@ -280,7 +280,7 @@ subroutine spectral_utilities_init if (pReal /= C_DOUBLE .or. kind(1) /= C_INT) error stop 'C and Fortran datatypes do not match' call fftw_set_timelimit(num_grid%get_asFloat('fftw_timelimit',defaultVal=-1.0_pReal)) - if (debugGeneral) write(6,'(/,a)') ' FFTW initialized'; flush(6) + print*, 'FFTW initialized'; flush(6) !-------------------------------------------------------------------------------------------------- ! MPI allocation @@ -506,7 +506,7 @@ subroutine utilities_fourierGammaConvolution(fieldAim) logical :: err - write(6,'(/,a)') ' ... doing gamma convolution ...............................................' + print'(/,a)', ' ... doing gamma convolution ...............................................' flush(6) !-------------------------------------------------------------------------------------------------- @@ -576,7 +576,7 @@ real(pReal) function utilities_divergenceRMS() integer :: i, j, k, ierr complex(pReal), dimension(3) :: rescaledGeom - write(6,'(/,a)') ' ... calculating divergence ................................................' + print'(/,a)', ' ... calculating divergence ................................................' flush(6) rescaledGeom = cmplx(geomSize/scaledGeomSize,0.0_pReal) @@ -620,7 +620,7 @@ real(pReal) function utilities_curlRMS() complex(pReal), dimension(3,3) :: curl_fourier complex(pReal), dimension(3) :: rescaledGeom - write(6,'(/,a)') ' ... calculating curl ......................................................' + print'(/,a)', ' ... calculating curl ......................................................' flush(6) rescaledGeom = cmplx(geomSize/scaledGeomSize,0.0_pReal) @@ -822,7 +822,7 @@ subroutine utilities_constitutiveResponse(P,P_av,C_volAvg,C_minmaxAvg,& real(pReal) :: dPdF_norm_max, dPdF_norm_min real(pReal), dimension(2) :: valueAndRank !< pair of min/max norm of dPdF to synchronize min/max of dPdF - write(6,'(/,a)') ' ... evaluating constitutive response ......................................' + print'(/,a)', ' ... evaluating constitutive response ......................................' flush(6) materialpoint_F = reshape(F,[3,3,1,product(grid(1:2))*grid3]) ! set materialpoint target F to estimated field @@ -1095,7 +1095,7 @@ subroutine utilities_saveReferenceStiffness fileUnit,ierr if (worldrank == 0) then - write(6,'(a)') ' writing reference stiffness data required for restart to file'; flush(6) + print'(a)', ' writing reference stiffness data required for restart to file'; flush(6) open(newunit=fileUnit, file=getSolverJobName()//'.C_ref',& status='replace',access='stream',action='write',iostat=ierr) if(ierr /=0) call IO_error(100,ext_msg='could not open file '//getSolverJobName()//'.C_ref') diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index b2f5f8905..30d1bd9fc 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -70,7 +70,7 @@ subroutine discretization_marc_init class(tNode), pointer :: & num_commercialFEM - write(6,'(/,a)') ' <<<+- discretization_marc init -+>>>'; flush(6) + print'(/,a)', ' <<<+- discretization_marc init -+>>>'; flush(6) !--------------------------------------------------------------------------------- ! read debug parameters diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index 2fefe73a9..0ba56bef3 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -78,7 +78,7 @@ program DAMASK_mesh !-------------------------------------------------------------------------------------------------- ! init DAMASK (all modules) call CPFEM_initAll - write(6,'(/,a)') ' <<<+- DAMASK_FEM init -+>>>'; flush(6) + print'(/,a)', ' <<<+- DAMASK_mesh init -+>>>'; flush(6) !--------------------------------------------------------------------- ! reading field information from numerics file and do sanity checks @@ -208,30 +208,30 @@ program DAMASK_mesh errorID = 0 checkLoadcases: do currentLoadCase = 1, size(loadCases) write (loadcase_string, '(i0)' ) currentLoadCase - write(6,'(1x,a,i6)') 'load case: ', currentLoadCase + print'(a,i0)', ' load case: ', currentLoadCase if (.not. loadCases(currentLoadCase)%followFormerTrajectory) & - write(6,'(2x,a)') 'drop guessing along trajectory' + print'(a)', ' drop guessing along trajectory' do field = 1, nActiveFields select case (loadCases(currentLoadCase)%fieldBC(field)%ID) case(FIELD_MECH_ID) - write(6,'(2x,a)') 'Field '//trim(FIELD_MECH_label) + print'(a)', ' Field '//trim(FIELD_MECH_label) end select do faceSet = 1, mesh_Nboundaries do component = 1, loadCases(currentLoadCase)%fieldBC(field)%nComponents if (loadCases(currentLoadCase)%fieldBC(field)%componentBC(component)%Mask(faceSet)) & - write(6,'(4x,a,i2,a,i2,a,f12.7)') 'Face ', mesh_boundaries(faceSet), & + print'(a,i2,a,i2,a,f12.7)', ' Face ', mesh_boundaries(faceSet), & ' Component ', component, & ' Value ', loadCases(currentLoadCase)%fieldBC(field)% & componentBC(component)%Value(faceSet) enddo enddo enddo - write(6,'(2x,a,f12.6)') 'time: ', loadCases(currentLoadCase)%time + print'(a,f12.6)', ' time: ', loadCases(currentLoadCase)%time if (loadCases(currentLoadCase)%incs < 1) errorID = 835 ! non-positive incs count - write(6,'(2x,a,i5)') 'increments: ', loadCases(currentLoadCase)%incs + print'(a,i5)', ' increments: ', loadCases(currentLoadCase)%incs if (loadCases(currentLoadCase)%outputfrequency < 1) errorID = 836 ! non-positive result frequency - write(6,'(2x,a,i5)') 'output frequency: ', & + print'(a,i5)', ' output frequency: ', & loadCases(currentLoadCase)%outputfrequency if (errorID > 0) call IO_error(error_ID = errorID, ext_msg = loadcase_string) ! exit with error message enddo checkLoadcases @@ -290,8 +290,8 @@ program DAMASK_mesh !-------------------------------------------------------------------------------------------------- ! report begin of new step - write(6,'(/,a)') ' ###########################################################################' - write(6,'(1x,a,es12.5,6(a,i0))')& + print'(/,a)', ' ###########################################################################' + print'(1x,a,es12.5,6(a,i0))',& 'Time', time, & 's: Increment ', inc, '/', loadCases(currentLoadCase)%incs,& '-', stepFraction, '/', subStepFactor**cutBackLevel,& @@ -338,7 +338,7 @@ program DAMASK_mesh cutBack = .False. if(.not. all(solres(:)%converged .and. solres(:)%stagConverged)) then ! no solution found if (cutBackLevel < maxCutBack) then ! do cut back - write(6,'(/,a)') ' cut back detected' + print'(/,a)', ' cut back detected' cutBack = .True. stepFraction = (stepFraction - 1) * subStepFactor ! adjust to new denominator cutBackLevel = cutBackLevel + 1 @@ -360,13 +360,13 @@ program DAMASK_mesh cutBackLevel = max(0, cutBackLevel - 1) ! try half number of subincs next inc if (all(solres(:)%converged)) then - write(6,'(/,a,i0,a)') ' increment ', totalIncsCounter, ' converged' + print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' converged' else - write(6,'(/,a,i0,a)') ' increment ', totalIncsCounter, ' NOT converged' + print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' NOT converged' endif; flush(6) if (mod(inc,loadCases(currentLoadCase)%outputFrequency) == 0) then ! at output frequency - write(6,'(1/,a)') ' ... writing results to file ......................................' + print'(/,a)', ' ... writing results to file ......................................' call CPFEM_results(totalIncsCounter,time) endif @@ -378,7 +378,7 @@ program DAMASK_mesh !-------------------------------------------------------------------------------------------------- ! report summary of whole calculation - write(6,'(/,a)') ' ###########################################################################' + print'(/,a)', ' ###########################################################################' if (worldrank == 0) close(statUnit) call quit(0) ! no complains ;) diff --git a/src/mesh/FEM_quadrature.f90 b/src/mesh/FEM_quadrature.f90 index 65b0bc6fe..4cc5e5468 100644 --- a/src/mesh/FEM_quadrature.f90 +++ b/src/mesh/FEM_quadrature.f90 @@ -37,7 +37,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine FEM_quadrature_init - write(6,'(/,a)') ' <<<+- FEM_quadrature init -+>>>'; flush(6) + print'(/,a)', ' <<<+- FEM_quadrature init -+>>>'; flush(6) !-------------------------------------------------------------------------------------------------- ! 2D linear diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 551a863b6..1e154e533 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -110,7 +110,7 @@ subroutine FEM_utilities_init PetscErrorCode :: ierr - write(6,'(/,a)') ' <<<+- FEM_utilities init -+>>>' + print'(/,a)', ' <<<+- FEM_utilities init -+>>>' num_mesh => config_numerics%get('mesh',defaultVal=emptyDict) structOrder = num_mesh%get_asInt('structOrder', defaultVal = 2) @@ -118,7 +118,7 @@ subroutine FEM_utilities_init debug_mesh => config_debug%get('mesh',defaultVal=emptyList) debugPETSc = debug_mesh%contains('petsc') - if(debugPETSc) write(6,'(3(/,a),/)') & + if(debugPETSc) print'(3(/,a),/)', & ' Initializing PETSc with debug options: ', & trim(PETScDebug), & ' add more using the PETSc_Options keyword in numerics.yaml ' @@ -158,7 +158,7 @@ subroutine utilities_constitutiveResponse(timeinc,P_av,forwardData) PetscErrorCode :: ierr - write(6,'(/,a)') ' ... evaluating constitutive response ......................................' + print'(/,a)', ' ... evaluating constitutive response ......................................' call materialpoint_stressAndItsTangent(.true.,timeinc) ! calculate P field diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index 54854ce68..b57a4b332 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -83,7 +83,7 @@ subroutine discretization_mesh_init(restart) num_mesh integer :: integrationOrder !< order of quadrature rule required - write(6,'(/,a)') ' <<<+- discretization_mesh init -+>>>' + print'(/,a)', ' <<<+- discretization_mesh init -+>>>' !-------------------------------------------------------------------------------- ! read numerics parameter diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 546897c5b..6c8d4667d 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -110,7 +110,7 @@ subroutine FEM_mech_init(fieldBC) class(tNode), pointer :: & num_mesh - write(6,'(/,a)') ' <<<+- FEM_mech init -+>>>'; flush(6) + print'(/,a)', ' <<<+- FEM_mech init -+>>>'; flush(6) !----------------------------------------------------------------------------- ! read numerical parametes and do sanity checks @@ -318,7 +318,7 @@ type(tSolutionState) function FEM_mech_solution( & CHKERRQ(ierr) endif - write(6,'(/,a)') ' ===========================================================================' + print'(/,a)', ' ===========================================================================' flush(6) end function FEM_mech_solution @@ -679,7 +679,7 @@ subroutine FEM_mech_converged(snes_local,PETScIter,xnorm,snorm,fnorm,reason,dumm call SNESConvergedDefault(snes_local,PETScIter,xnorm,snorm,fnorm/divTol,reason,dummy,ierr) CHKERRQ(ierr) if (terminallyIll) reason = SNES_DIVERGED_FUNCTION_DOMAIN - write(6,'(1/,1x,a,a,i0,a,i0,f0.3)') trim(incInfo), & + print'(/,1x,a,a,i0,a,i0,f0.3)', trim(incInfo), & ' @ Iteration ',PETScIter,' mechanical residual norm = ', & int(fnorm/divTol),fnorm/divTol-int(fnorm/divTol) write(6,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress / MPa =',& From 0746a2f3a4295a94adf5c54ff2344d7809349299 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 08:33:15 +0200 Subject: [PATCH 663/958] give visual feedback in most tests, this is done manually --- python/damask/util.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/damask/util.py b/python/damask/util.py index a04ee47de..bd3e97534 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -117,6 +117,7 @@ def execute(cmd, initialPath = os.getcwd() myEnv = os.environ if env is None else env os.chdir(wd) + print(f"executing '{cmd}' in '{wd}'") process = subprocess.Popen(shlex.split(cmd), stdout = subprocess.PIPE, stderr = subprocess.PIPE, @@ -128,7 +129,7 @@ def execute(cmd, stdout = stdout.decode('utf-8').replace('\x08','') stderr = stderr.decode('utf-8').replace('\x08','') if process.returncode != 0: - raise RuntimeError(f'{cmd} failed with returncode {process.returncode}') + raise RuntimeError(f"'{cmd}' failed with returncode {process.returncode}") return stdout, stderr From 0f5a5a61aa7f0ebe7e899ec2c3c23294b40bed36 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 08:41:14 +0200 Subject: [PATCH 664/958] pytests simplifies writing of tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 555f3e01f..df9a16a89 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 555f3e01f2b5cf43ade1bd48423b890adca21771 +Subproject commit df9a16a89c069a3d1076447fce90d759c45248a3 From 51f43ddc09d0462c8c5844c698702059e63d4117 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 09:24:27 +0200 Subject: [PATCH 665/958] small polishing --- src/material.f90 | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/material.f90 b/src/material.f90 index 835de2fc1..628952129 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -181,10 +181,10 @@ subroutine material_init(restart) enddo call material_parseMicrostructure - print*, ' Microstructure parsed' + print*, 'Microstructure parsed' call material_parseHomogenization - print*, ' Homogenization parsed' + print*, 'Homogenization parsed' if(homogenization_maxNgrains > size(material_phaseAt,1)) call IO_error(148) @@ -331,7 +331,6 @@ subroutine material_parseMicrostructure CounterPhase, & CounterHomogenization - real(pReal), dimension(:,:), allocatable :: & microstructure_fraction !< vol fraction of each constituent in microstrcuture @@ -342,15 +341,13 @@ subroutine material_parseMicrostructure c, & microstructure_maxNconstituents - real(pReal), dimension(4) :: phase_orientation - homogenization => config_material%get('homogenization') phases => config_material%get('phase') microstructure => config_material%get('microstructure') - allocate(microstructure_Nconstituents(microstructure%length), source = 0) + allocate(microstructure_Nconstituents(microstructure%length),source=0) if(any(discretization_microstructureAt > microstructure%length)) & - call IO_error(155,ext_msg='More microstructures in geometry than sections in material.yaml') + call IO_error(155,ext_msg='More microstructures requested than found in material.yaml') do m = 1, microstructure%length constituentsInMicrostructure => microstructure%get(m) @@ -360,10 +357,11 @@ subroutine material_parseMicrostructure microstructure_maxNconstituents = maxval(microstructure_Nconstituents) allocate(microstructure_fraction(microstructure_maxNconstituents,microstructure%length), source =0.0_pReal) - allocate(material_phaseAt(microstructure_maxNconstituents,discretization_nElem), source =0) allocate(material_orientation0(microstructure_maxNconstituents,discretization_nIP,discretization_nElem)) - allocate(material_homogenizationAt(discretization_nElem)) + + allocate(material_homogenizationAt(discretization_nElem),source=0) allocate(material_homogenizationMemberAt(discretization_nIP,discretization_nElem),source=0) + allocate(material_phaseAt(microstructure_maxNconstituents,discretization_nElem),source=0) allocate(material_phaseMemberAt(microstructure_maxNconstituents,discretization_nIP,discretization_nElem),source=0) allocate(CounterPhase(phases%length),source=0) @@ -386,8 +384,7 @@ subroutine material_parseMicrostructure do c = 1, constituents%length constituent => constituents%get(c) material_phaseAt(c,e) = phases%getIndex(constituent%get_asString('phase')) - phase_orientation = constituent%get_asFloats('orientation') - call material_orientation0(c,i,e)%fromQuaternion(phase_orientation) + call material_orientation0(c,i,e)%fromQuaternion(constituent%get_asFloats('orientation',requiredSize=4)) enddo enddo enddo @@ -413,7 +410,6 @@ subroutine material_parseMicrostructure enddo enddo - end subroutine material_parseMicrostructure From c4ce28e63f99ef7e928a2bdd45bb041fd6c0ad6a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 09:41:48 +0200 Subject: [PATCH 666/958] untangling --- src/material.f90 | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/material.f90 b/src/material.f90 index 628952129..e531cae83 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -378,9 +378,9 @@ subroutine material_parseMicrostructure enddo do e = 1, discretization_nElem + constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) + constituents => constituentsInMicrostructure%get('constituents') do i = 1, discretization_nIP - constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) - constituents => constituentsInMicrostructure%get('constituents') do c = 1, constituents%length constituent => constituents%get(c) material_phaseAt(c,e) = phases%getIndex(constituent%get_asString('phase')) @@ -390,24 +390,26 @@ subroutine material_parseMicrostructure enddo do e = 1, discretization_nElem + constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) + material_homogenizationAt(e) = homogenization%getIndex(constituentsInMicrostructure%get_asString('homogenization')) do i = 1, discretization_nIP - constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) - material_homogenizationAt(e) = homogenization%getIndex(constituentsInMicrostructure%get_asString('homogenization')) CounterHomogenization(material_homogenizationAt(e)) = CounterHomogenization(material_homogenizationAt(e)) + 1 material_homogenizationMemberAt(i,e) = CounterHomogenization(material_homogenizationAt(e)) enddo enddo do e = 1, discretization_nElem + constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) + constituents => constituentsInMicrostructure%get('constituents') + do i = 1, discretization_nIP - constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) - constituents => constituentsInMicrostructure%get('constituents') do c = 1, constituents%length CounterPhase(material_phaseAt(c,e)) = & CounterPhase(material_phaseAt(c,e)) + 1 material_phaseMemberAt(c,i,e) = CounterPhase(material_phaseAt(c,e)) enddo enddo + enddo end subroutine material_parseMicrostructure From 201303f35f17c86f1474cda5c0342ca61c9bdbe2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 10:00:49 +0200 Subject: [PATCH 667/958] clarified logic --- src/material.f90 | 88 +++++++++++++++++++----------------------------- 1 file changed, 34 insertions(+), 54 deletions(-) diff --git a/src/material.f90 b/src/material.f90 index e531cae83..95ce78739 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -328,88 +328,68 @@ subroutine material_parseMicrostructure homogenization integer, dimension(:), allocatable :: & - CounterPhase, & - CounterHomogenization - - real(pReal), dimension(:,:), allocatable :: & - microstructure_fraction !< vol fraction of each constituent in microstrcuture + counterPhase, & + counterHomogenization + real(pReal) :: & + frac integer :: & e, & i, & m, & c, & - microstructure_maxNconstituents + maxNconstituents - homogenization => config_material%get('homogenization') - phases => config_material%get('phase') microstructure => config_material%get('microstructure') - allocate(microstructure_Nconstituents(microstructure%length),source=0) - if(any(discretization_microstructureAt > microstructure%length)) & call IO_error(155,ext_msg='More microstructures requested than found in material.yaml') + allocate(microstructure_Nconstituents(microstructure%length),source=0) do m = 1, microstructure%length constituentsInMicrostructure => microstructure%get(m) constituents => constituentsInMicrostructure%get('constituents') microstructure_Nconstituents(m) = constituents%length enddo - - microstructure_maxNconstituents = maxval(microstructure_Nconstituents) - allocate(microstructure_fraction(microstructure_maxNconstituents,microstructure%length), source =0.0_pReal) - allocate(material_orientation0(microstructure_maxNconstituents,discretization_nIP,discretization_nElem)) - + maxNconstituents = maxval(microstructure_Nconstituents) + + allocate(material_orientation0(maxNconstituents,discretization_nIP,discretization_nElem)) allocate(material_homogenizationAt(discretization_nElem),source=0) allocate(material_homogenizationMemberAt(discretization_nIP,discretization_nElem),source=0) - allocate(material_phaseAt(microstructure_maxNconstituents,discretization_nElem),source=0) - allocate(material_phaseMemberAt(microstructure_maxNconstituents,discretization_nIP,discretization_nElem),source=0) + allocate(material_phaseAt(maxNconstituents,discretization_nElem),source=0) + allocate(material_phaseMemberAt(maxNconstituents,discretization_nIP,discretization_nElem),source=0) - allocate(CounterPhase(phases%length),source=0) - allocate(CounterHomogenization(homogenization%length),source=0) - - do m = 1, microstructure%length - constituentsInMicrostructure => microstructure%get(m) - constituents => constituentsInMicrostructure%get('constituents') - do c = 1, constituents%length - constituent => constituents%get(c) - microstructure_fraction(c,m) = constituent%get_asFloat('fraction') - enddo - if (dNeq(sum(microstructure_fraction(:,m)),1.0_pReal)) call IO_error(153,ext_msg='constituent') - enddo - - do e = 1, discretization_nElem - constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) - constituents => constituentsInMicrostructure%get('constituents') - do i = 1, discretization_nIP - do c = 1, constituents%length - constituent => constituents%get(c) - material_phaseAt(c,e) = phases%getIndex(constituent%get_asString('phase')) - call material_orientation0(c,i,e)%fromQuaternion(constituent%get_asFloats('orientation',requiredSize=4)) - enddo - enddo - enddo + phases => config_material%get('phase') + allocate(counterPhase(phases%length),source=0) + homogenization => config_material%get('homogenization') + allocate(counterHomogenization(homogenization%length),source=0) do e = 1, discretization_nElem constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) + constituents => constituentsInMicrostructure%get('constituents') + material_homogenizationAt(e) = homogenization%getIndex(constituentsInMicrostructure%get_asString('homogenization')) do i = 1, discretization_nIP - CounterHomogenization(material_homogenizationAt(e)) = CounterHomogenization(material_homogenizationAt(e)) + 1 - material_homogenizationMemberAt(i,e) = CounterHomogenization(material_homogenizationAt(e)) + counterHomogenization(material_homogenizationAt(e)) = counterHomogenization(material_homogenizationAt(e)) + 1 + material_homogenizationMemberAt(i,e) = counterHomogenization(material_homogenizationAt(e)) enddo - enddo - - do e = 1, discretization_nElem - constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) - constituents => constituentsInMicrostructure%get('constituents') - do i = 1, discretization_nIP - do c = 1, constituents%length - CounterPhase(material_phaseAt(c,e)) = & - CounterPhase(material_phaseAt(c,e)) + 1 - material_phaseMemberAt(c,i,e) = CounterPhase(material_phaseAt(c,e)) + frac = 0.0_pReal + do c = 1, constituents%length + constituent => constituents%get(c) + frac = frac + constituent%get_asFloat('fraction') + + material_phaseAt(c,e) = phases%getIndex(constituent%get_asString('phase')) + + do i = 1, discretization_nIP + counterPhase(material_phaseAt(c,e)) = counterPhase(material_phaseAt(c,e)) + 1 + material_phaseMemberAt(c,i,e) = counterPhase(material_phaseAt(c,e)) + + call material_orientation0(c,i,e)%fromQuaternion(constituent%get_asFloats('orientation',requiredSize=4)) enddo + enddo - + if (dNeq(frac,1.0_pReal)) call IO_error(153,ext_msg='constituent') + enddo end subroutine material_parseMicrostructure From c34bf83e35aeb64a852556e8b25a83839fe2ffc8 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 10:27:15 +0200 Subject: [PATCH 668/958] variable names better reflect their content --- src/material.f90 | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/material.f90 b/src/material.f90 index 95ce78739..f8e487b66 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -227,6 +227,7 @@ end subroutine material_init !-------------------------------------------------------------------------------------------------- !> @brief parses the homogenization part from the material configuration +! ToDo: This should be done in homogenization !-------------------------------------------------------------------------------------------------- subroutine material_parseHomogenization @@ -320,10 +321,10 @@ end subroutine material_parseHomogenization !-------------------------------------------------------------------------------------------------- subroutine material_parseMicrostructure - class(tNode), pointer :: microstructure, & !> pointer to microstructure list - constituentsInMicrostructure, & !> pointer to a microstructure list item - constituents, & !> pointer to constituents list - constituent, & !> pointer to each constituent + class(tNode), pointer :: microstructures, & !> list of microstructures + microstructure, & !> microstructure definition + constituents, & !> list of constituents + constituent, & !> constituent definition phases, & homogenization @@ -340,34 +341,35 @@ subroutine material_parseMicrostructure c, & maxNconstituents - microstructure => config_material%get('microstructure') - if(any(discretization_microstructureAt > microstructure%length)) & + microstructures => config_material%get('microstructure') + if(any(discretization_microstructureAt > microstructures%length)) & call IO_error(155,ext_msg='More microstructures requested than found in material.yaml') - allocate(microstructure_Nconstituents(microstructure%length),source=0) - do m = 1, microstructure%length - constituentsInMicrostructure => microstructure%get(m) - constituents => constituentsInMicrostructure%get('constituents') + allocate(microstructure_Nconstituents(microstructures%length),source=0) + do m = 1, microstructures%length + microstructure => microstructures%get(m) + constituents => microstructure%get('constituents') microstructure_Nconstituents(m) = constituents%length enddo maxNconstituents = maxval(microstructure_Nconstituents) - allocate(material_orientation0(maxNconstituents,discretization_nIP,discretization_nElem)) allocate(material_homogenizationAt(discretization_nElem),source=0) allocate(material_homogenizationMemberAt(discretization_nIP,discretization_nElem),source=0) allocate(material_phaseAt(maxNconstituents,discretization_nElem),source=0) allocate(material_phaseMemberAt(maxNconstituents,discretization_nIP,discretization_nElem),source=0) + allocate(material_orientation0(maxNconstituents,discretization_nIP,discretization_nElem)) + phases => config_material%get('phase') allocate(counterPhase(phases%length),source=0) homogenization => config_material%get('homogenization') allocate(counterHomogenization(homogenization%length),source=0) do e = 1, discretization_nElem - constituentsInMicrostructure => microstructure%get(discretization_microstructureAt(e)) - constituents => constituentsInMicrostructure%get('constituents') + microstructure => microstructures%get(discretization_microstructureAt(e)) + constituents => microstructure%get('constituents') - material_homogenizationAt(e) = homogenization%getIndex(constituentsInMicrostructure%get_asString('homogenization')) + material_homogenizationAt(e) = homogenization%getIndex(microstructure%get_asString('homogenization')) do i = 1, discretization_nIP counterHomogenization(material_homogenizationAt(e)) = counterHomogenization(material_homogenizationAt(e)) + 1 material_homogenizationMemberAt(i,e) = counterHomogenization(material_homogenizationAt(e)) @@ -379,7 +381,6 @@ subroutine material_parseMicrostructure frac = frac + constituent%get_asFloat('fraction') material_phaseAt(c,e) = phases%getIndex(constituent%get_asString('phase')) - do i = 1, discretization_nIP counterPhase(material_phaseAt(c,e)) = counterPhase(material_phaseAt(c,e)) + 1 material_phaseMemberAt(c,i,e) = counterPhase(material_phaseAt(c,e)) From 1d2e9324f183913fd8af92d59b3c5e49ef9cd9c0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 10:50:32 +0200 Subject: [PATCH 669/958] do not rely on 6=STDOUT, 0=STDERR --- src/DAMASK_interface.f90 | 2 +- src/DAMASK_marc.f90 | 2 +- src/IO.f90 | 57 ++++++++++++++++++++++------------------ src/parallelization.f90 | 22 +++++++--------- src/prec.f90 | 2 +- 5 files changed, 44 insertions(+), 41 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index 4c3258556..05702a54d 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -14,7 +14,7 @@ #define PETSC_MINOR_MAX 13 module DAMASK_interface - use, intrinsic :: iso_fortran_env + use, intrinsic :: ISO_fortran_env use PETScSys diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index b6f9436ff..ea7430c6b 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -30,7 +30,7 @@ module DAMASK_interface use prec #if __INTEL_COMPILER >= 1800 - use, intrinsic :: iso_fortran_env, only: & + use, intrinsic :: ISO_fortran_env, only: & compiler_version, & compiler_options #endif diff --git a/src/IO.f90 b/src/IO.f90 index 6da7a10c8..9137372d3 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -6,6 +6,10 @@ !> @brief input/output functions !-------------------------------------------------------------------------------------------------- module IO + use, intrinsic :: ISO_fortran_env, only: & + OUTPUT_UNIT, & + ERROR_UNIT + use prec implicit none @@ -37,7 +41,8 @@ module IO IO_stringAsFloat, & IO_stringAsBool, & IO_error, & - IO_warning + IO_warning, & + OUTPUT_UNIT contains @@ -538,29 +543,29 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) end select !$OMP CRITICAL (write2out) - write(0,'(/,a)') ' ┌'//IO_DIVIDER//'┐' - write(0,'(a,24x,a,40x,a)') ' │','error', '│' - write(0,'(a,24x,i3,42x,a)') ' │',error_ID, '│' - write(0,'(a)') ' ├'//IO_DIVIDER//'┤' + write(ERROR_UNIT,'(/,a)') ' ┌'//IO_DIVIDER//'┐' + write(ERROR_UNIT,'(a,24x,a,40x,a)') ' │','error', '│' + write(ERROR_UNIT,'(a,24x,i3,42x,a)') ' │',error_ID, '│' + write(ERROR_UNIT,'(a)') ' ├'//IO_DIVIDER//'┤' write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a4,a',max(1,len_trim(msg)),',',& max(1,72-len_trim(msg)-4),'x,a)' - write(0,formatString) '│ ',trim(msg), '│' + write(ERROR_UNIT,formatString) '│ ',trim(msg), '│' if (present(ext_msg)) then write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a4,a',max(1,len_trim(ext_msg)),',',& max(1,72-len_trim(ext_msg)-4),'x,a)' - write(0,formatString) '│ ',trim(ext_msg), '│' + write(ERROR_UNIT,formatString) '│ ',trim(ext_msg), '│' endif if (present(el)) & - write(0,'(a19,1x,i9,44x,a3)') ' │ at element ',el, '│' + write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at element ',el, '│' if (present(ip)) & - write(0,'(a19,1x,i9,44x,a3)') ' │ at IP ',ip, '│' + write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at IP ',ip, '│' if (present(g)) & - write(0,'(a19,1x,i9,44x,a3)') ' │ at constituent',g, '│' + write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at constituent',g, '│' if (present(instance)) & - write(0,'(a19,1x,i9,44x,a3)') ' │ at instance ',instance, '│' - write(0,'(a,69x,a)') ' │', '│' - write(0,'(a)') ' └'//IO_DIVIDER//'┘' - flush(0) + write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at instance ',instance, '│' + write(ERROR_UNIT,'(a,69x,a)') ' │', '│' + write(ERROR_UNIT,'(a)') ' └'//IO_DIVIDER//'┘' + flush(ERROR_UNIT) call quit(9000+error_ID) !$OMP END CRITICAL (write2out) @@ -623,27 +628,27 @@ subroutine IO_warning(warning_ID,el,ip,g,ext_msg) end select !$OMP CRITICAL (write2out) - write(6,'(/,a)') ' ┌'//IO_DIVIDER//'┐' - write(6,'(a,24x,a,38x,a)') ' │','warning', '│' - write(6,'(a,24x,i3,42x,a)') ' │',warning_ID, '│' - write(6,'(a)') ' ├'//IO_DIVIDER//'┤' + write(ERROR_UNIT,'(/,a)') ' ┌'//IO_DIVIDER//'┐' + write(ERROR_UNIT,'(a,24x,a,38x,a)') ' │','warning', '│' + write(ERROR_UNIT,'(a,24x,i3,42x,a)') ' │',warning_ID, '│' + write(ERROR_UNIT,'(a)') ' ├'//IO_DIVIDER//'┤' write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a4,a',max(1,len_trim(msg)),',',& max(1,72-len_trim(msg)-4),'x,a)' - write(6,formatString) '│ ',trim(msg), '│' + write(ERROR_UNIT,formatString) '│ ',trim(msg), '│' if (present(ext_msg)) then write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a4,a',max(1,len_trim(ext_msg)),',',& max(1,72-len_trim(ext_msg)-4),'x,a)' - write(6,formatString) '│ ',trim(ext_msg), '│' + write(ERROR_UNIT,formatString) '│ ',trim(ext_msg), '│' endif if (present(el)) & - write(6,'(a19,1x,i9,44x,a3)') ' │ at element ',el, '│' + write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at element ',el, '│' if (present(ip)) & - write(6,'(a19,1x,i9,44x,a3)') ' │ at IP ',ip, '│' + write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at IP ',ip, '│' if (present(g)) & - write(6,'(a19,1x,i9,44x,a3)') ' │ at constituent',g, '│' - write(6,'(a,69x,a)') ' │', '│' - write(6,'(a)') ' └'//IO_DIVIDER//'┘' - flush(6) + write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at constituent',g, '│' + write(ERROR_UNIT,'(a,69x,a)') ' │', '│' + write(ERROR_UNIT,'(a)') ' └'//IO_DIVIDER//'┘' + flush(ERROR_UNIT) !$OMP END CRITICAL (write2out) end subroutine IO_warning diff --git a/src/parallelization.f90 b/src/parallelization.f90 index 341b620c9..3bb1f6af5 100644 --- a/src/parallelization.f90 +++ b/src/parallelization.f90 @@ -3,8 +3,8 @@ !> @brief Inquires variables related to parallelization (openMP, MPI) !-------------------------------------------------------------------------------------------------- module parallelization - use prec - use, intrinsic :: iso_fortran_env + use, intrinsic :: ISO_fortran_env, only: & + OUTPUT_UNIT #ifdef PETSc #include @@ -12,6 +12,8 @@ module parallelization #endif !$ use OMP_LIB + use prec + implicit none private @@ -29,14 +31,14 @@ contains !-------------------------------------------------------------------------------------------------- subroutine parallelization_init - integer :: err, typeSize + integer :: err, typeSize !$ integer :: got_env, DAMASK_NUM_THREADS, threadLevel !$ character(len=6) NumThreadsString #ifdef PETSc PetscErrorCode :: petsc_err #else - print'(/,a)', ' <<<+- parallelization init -+>>>'; flush(6) + print'(/,a)', ' <<<+- parallelization init -+>>>'; flush(OUTPUT_UNIT) #endif #ifdef PETSc @@ -69,14 +71,10 @@ subroutine parallelization_init if (typeSize*8 /= storage_size(0.0_pReal)) error stop 'Mismatch between MPI and DAMASK real' #endif - mainProcess: if (worldrank == 0) then - if (output_unit /= 6) error stop 'STDOUT != 6' - if (error_unit /= 0) error stop 'STDERR != 0' - else mainProcess - close(6) ! disable output for non-master processes (open 6 to rank specific file for debug) - open(6,file='/dev/null',status='replace') ! close(6) alone will leave some temp files in cwd - endif mainProcess - + if (worldrank /= 0) then + close(OUTPUT_UNIT) ! disable output + open(OUTPUT_UNIT,file='/dev/null',status='replace') ! close() alone will leave some temp files in cwd + endif !$ call get_environment_variable(name='DAMASK_NUM_THREADS',value=NumThreadsString,STATUS=got_env) !$ if(got_env /= 0) then diff --git a/src/prec.f90 b/src/prec.f90 index c8700089b..cec4928ba 100644 --- a/src/prec.f90 +++ b/src/prec.f90 @@ -8,7 +8,7 @@ !-------------------------------------------------------------------------------------------------- module prec use, intrinsic :: IEEE_arithmetic - use, intrinsic :: ISO_C_Binding + use, intrinsic :: ISO_C_binding implicit none public From 139eecec0ae6c6b0d72fb0f7b941fdd49f456ef1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 10:56:41 +0200 Subject: [PATCH 670/958] polishing --- src/DAMASK_interface.f90 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index 05702a54d..d34034d0d 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -82,7 +82,7 @@ subroutine DAMASK_interface_init print'(/,a)', ' <<<+- DAMASK_interface init -+>>>' - open(6, encoding='UTF-8') ! for special characters in output + open(OUTPUT_unit, encoding='UTF-8') ! for special characters in output ! http://patorjk.com/software/taag/#p=display&f=Lean&t=DAMASK%203 #ifdef DEBUG @@ -373,7 +373,7 @@ function makeRelativePath(a,b) a_cleaned = rectifyPath(trim(a)//'/') b_cleaned = rectifyPath(b) - do i = 1, min(1024,len_trim(a_cleaned),len_trim(rectifyPath(b_cleaned))) + do i = 1, min(len_trim(a_cleaned),len_trim(rectifyPath(b_cleaned))) if (a_cleaned(i:i) /= b_cleaned(i:i)) exit if (a_cleaned(i:i) == '/') posLastCommonSlash = i enddo @@ -395,7 +395,7 @@ subroutine catchSIGTERM(signal) bind(C) integer(C_INT), value :: signal interface_SIGTERM = .true. - print'(a,i2.2,a)', ' received signal ',signal, ', set SIGTERM=TRUE' + print'(a,i0,a)', ' received signal ',signal, ', set SIGTERM=TRUE' end subroutine catchSIGTERM @@ -420,7 +420,7 @@ subroutine catchSIGUSR1(signal) bind(C) integer(C_INT), value :: signal interface_SIGUSR1 = .true. - print'(a,i2.2,a)', ' received signal ',signal, ', set SIGUSR1=TRUE' + print'(a,i0,a)', ' received signal ',signal, ', set SIGUSR1=TRUE' end subroutine catchSIGUSR1 @@ -445,7 +445,7 @@ subroutine catchSIGUSR2(signal) bind(C) integer(C_INT), value :: signal interface_SIGUSR2 = .true. - print'(a,i2.2,a)', ' received signal ',signal, ', set SIGUSR2=TRUE' + print'(a,i0,a)', ' received signal ',signal, ', set SIGUSR2=TRUE' end subroutine catchSIGUSR2 From d0b5905544ded27703bd7f58fe4d4b726b38a993 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 11:01:43 +0200 Subject: [PATCH 671/958] remaining write(6,...) without advance='no' --- src/constitutive_plastic_nonlocal.f90 | 24 ++++++++++++------------ src/grid/DAMASK_grid.f90 | 5 ++--- src/grid/spectral_utilities.f90 | 2 +- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 9eef17719..81e1887c6 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -741,10 +741,10 @@ module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) if (debugConstitutive%extensive & .and. ((debugConstitutive%element == el .and. debugConstitutive%ip == ip)& .or. .not. debugConstitutive%selective)) then - write(6,'(/,a,i8,1x,i2,1x,i1,/)') '<< CONST >> nonlocal_microstructure at el ip ',el,ip - write(6,'(a,/,12x,12(e10.3,1x))') '<< CONST >> rhoForest', stt%rho_forest(:,of) - write(6,'(a,/,12x,12(f10.5,1x))') '<< CONST >> tauThreshold / MPa', dst%tau_pass(:,of)*1e-6 - write(6,'(a,/,12x,12(f10.5,1x),/)') '<< CONST >> tauBack / MPa', dst%tau_back(:,of)*1e-6 + print'(/,a,i8,1x,i2,1x,i1,/)', '<< CONST >> nonlocal_microstructure at el ip ',el,ip + print'(a,/,12x,12(e10.3,1x))', '<< CONST >> rhoForest', stt%rho_forest(:,of) + print'(a,/,12x,12(f10.5,1x))', '<< CONST >> tauThreshold / MPa', dst%tau_pass(:,of)*1e-6 + print'(a,/,12x,12(f10.5,1x),/)', '<< CONST >> tauBack / MPa', dst%tau_back(:,of)*1e-6 endif #endif @@ -958,8 +958,8 @@ module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el) if (debugConstitutive%extensive & .and. ((debugConstitutive%element == el .and. debugConstitutive%ip == ip)& .or. .not. debugConstitutive%selective)) then - write(6,'(a,/,8(12x,12(e12.5,1x),/))') '<< CONST >> dislocation remobilization', deltaRhoRemobilization(:,1:8) - write(6,'(a,/,10(12x,12(e12.5,1x),/),/)') '<< CONST >> dipole dissociation by stress increase', deltaRhoDipole2SingleStress + print'(a,/,8(12x,12(e12.5,1x),/))', '<< CONST >> dislocation remobilization', deltaRhoRemobilization(:,1:8) + print'(a,/,10(12x,12(e12.5,1x),/),/)', '<< CONST >> dipole dissociation by stress increase', deltaRhoDipole2SingleStress endif #endif @@ -1047,8 +1047,8 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & if (debugConstitutive%basic & .and. ((debugConstitutive%element == el .and. debugConstitutive%ip == ip) & .or. .not. debugConstitutive%selective)) then - write(6,'(a,/,10(12x,12(e12.5,1x),/))') '<< CONST >> rho / 1/m^2', rhoSgl, rhoDip - write(6,'(a,/,4(12x,12(e12.5,1x),/))') '<< CONST >> gdot / 1/s',gdot + print'(a,/,10(12x,12(e12.5,1x),/))', '<< CONST >> rho / 1/m^2', rhoSgl, rhoDip + print'(a,/,4(12x,12(e12.5,1x),/))', '<< CONST >> gdot / 1/s',gdot endif #endif @@ -1156,8 +1156,8 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & .or. any(rho(:,dip) + rhoDot(:,9:10) * timestep < -prm%atol_rho)) then #ifdef DEBUG if (debugConstitutive%extensive) then - write(6,'(a,i5,a,i2)') '<< CONST >> evolution rate leads to negative density at el ',el,' ip ',ip - write(6,'(a)') '<< CONST >> enforcing cutback !!!' + print'(a,i5,a,i2)', '<< CONST >> evolution rate leads to negative density at el ',el,' ip ',ip + print'(a)', '<< CONST >> enforcing cutback !!!' endif #endif plasticState(ph)%dotState = IEEE_value(1.0_pReal,IEEE_quiet_NaN) @@ -1268,8 +1268,8 @@ function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) > IPvolume(ip,el) / maxval(IParea(:,ip,el)))) then ! ...with velocity above critical value (we use the reference volume and area for simplicity here) #ifdef DEBUG if (debugConstitutive%extensive) then - write(6,'(a,i5,a,i2)') '<< CONST >> CFL condition not fullfilled at el ',el,' ip ',ip - write(6,'(a,e10.3,a,e10.3)') '<< CONST >> velocity is at ', & + print'(a,i5,a,i2)', '<< CONST >> CFL condition not fullfilled at el ',el,' ip ',ip + print'(a,e10.3,a,e10.3)', '<< CONST >> velocity is at ', & maxval(abs(v0), abs(gdot) > 0.0_pReal & .and. prm%CFLfactor * abs(v0) * timestep & > IPvolume(ip,el) / maxval(IParea(:,ip,el))), & diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 341210afc..213322278 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -341,8 +341,7 @@ program DAMASK_grid writeHeader: if (interface_restartInc < 1) then open(newunit=statUnit,file=trim(getSolverJobName())//'.sta',form='FORMATTED',status='REPLACE') write(statUnit,'(a)') 'Increment Time CutbackLevel Converged IterationsNeeded' ! statistics file - if (debug_grid%contains('basic')) & - write(6,'(/,a)') ' header of statistics file written out' + if (debug_grid%contains('basic')) print'(/,a)', ' header of statistics file written out' flush(6) else writeHeader open(newunit=statUnit,file=trim(getSolverJobName())//& @@ -351,7 +350,7 @@ program DAMASK_grid endif writeUndeformed: if (interface_restartInc < 1) then - write(6,'(1/,a)') ' ... writing initial configuration to file ........................' + print'(/,a)', ' ... writing initial configuration to file ........................' call CPFEM_results(0,0.0_pReal) endif writeUndeformed diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 764e8adb6..5e53fe2a5 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -700,7 +700,7 @@ function utilities_maskedCompliance(rot_BC,mask_stress,C) temp99_real = math_3333to99(rot_BC%rotate(C)) if(debugGeneral) then - write(6,'(/,a)') ' ... updating masked compliance ............................................' + print'(/,a)', ' ... updating masked compliance ............................................' write(6,'(/,a,/,9(9(2x,f12.7,1x)/))',advance='no') ' Stiffness C (load) / GPa =',& transpose(temp99_Real)*1.0e-9_pReal flush(6) From ea426ba47ac160951dffa0206bcac2385b6f8f86 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 11:25:53 +0200 Subject: [PATCH 672/958] fixed test --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index df9a16a89..423e1389b 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit df9a16a89c069a3d1076447fce90d759c45248a3 +Subproject commit 423e1389bdacd72de123049a2cada0ccbbe2fa6f From c108b4df66695824382d6c7d94b1614bc6a26f8f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 11:41:16 +0200 Subject: [PATCH 673/958] concise description --- src/marc/discretization_marc.f90 | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index cbfc40995..41f089b52 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -1030,10 +1030,9 @@ pure function IPareaNormal(elem,nElem,connectivity,node) IPareaNormal(1:3,f,i,e) = math_cross(nodePos(1:3,2) - nodePos(1:3,1), & nodePos(1:3,3) - nodePos(1:3,1)) case (4) ! 3D 8node - ! for this cell type we get the normal of the quadrilateral face as an average of - ! four normals of triangular subfaces; since the face consists only of two triangles, - ! the sum has to be divided by two; this whole prcedure tries to compensate for - ! probable non-planar cell surfaces + ! Get the normal of the quadrilateral face as the average of four normals of triangular + ! subfaces. Since the face consists only of two triangles, the sum has to be divided + ! by two. This procedure tries to compensate forprobable non-planar cell surfaces IPareaNormal(1:3,f,i,e) = 0.0_pReal do n = 1, m IPareaNormal(1:3,f,i,e) = IPareaNormal(1:3,f,i,e) & From 6f45203c98c342571258790d703ffcf7ef60a578 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 13:01:19 +0200 Subject: [PATCH 674/958] first version of a pyaml based class for material configuration pyaml is (again) actively maintained and the ruamel.pyaml API is instable --- python/damask/__init__.py | 1 + python/damask/_material.py | 156 ++++++++++++++++++ python/tests/reference/Material/material.yaml | 42 +++++ python/tests/test_Material.py | 61 +++++++ 4 files changed, 260 insertions(+) create mode 100644 python/damask/_material.py create mode 100644 python/tests/reference/Material/material.yaml create mode 100644 python/tests/test_Material.py diff --git a/python/damask/__init__.py b/python/damask/__init__.py index 1404e88d1..3f2ff6813 100644 --- a/python/damask/__init__.py +++ b/python/damask/__init__.py @@ -18,6 +18,7 @@ from ._lattice import Symmetry, Lattice# noqa from ._orientation import Orientation # noqa from ._result import Result # noqa from ._geom import Geom # noqa +from ._material import Material # noqa from . import solver # noqa # deprecated diff --git a/python/damask/_material.py b/python/damask/_material.py new file mode 100644 index 000000000..476a46149 --- /dev/null +++ b/python/damask/_material.py @@ -0,0 +1,156 @@ +from io import StringIO +import copy + +import yaml +import numpy as np + +from . import Lattice +from . import Rotation + +class NiceDumper(yaml.SafeDumper): + """Make YAML readable for humans.""" + + def write_line_break(self, data=None): + super().write_line_break(data) + + if len(self.indents) == 1: + super().write_line_break() + + def increase_indent(self, flow=False, indentless=False): + return super().increase_indent(flow, False) + + +class Material(dict): + """Material configuration.""" + + def __repr__(self): + """Show as in file.""" + output = StringIO() + self.save(output) + output.seek(0) + return ''.join(output.readlines()) + + @staticmethod + def load(fname): + """Load from yaml file.""" + try: + fhandle = open(fname) + except TypeError: + fhandle = fname + return Material(yaml.safe_load(fhandle)) + + def save(self,fname='material.yaml'): + """ + Save to yaml file. + + Parameters + ---------- + fname : file, str, or pathlib.Path + Filename or file for reading. + + """ + try: + fhandle = open(fname,'w') + except TypeError: + fhandle = fname + fhandle.write(yaml.dump(dict(self),width=256,default_flow_style=None,Dumper=NiceDumper)) + + + @property + def is_complete(self): + """Check for completeness.""" + try: + ok = len(self['microstructure']) > 0 + for m in self['microstructure']: + ok &= m['homogenization'] in self['homogenization'] + for c in m['constituents']: + c['orientation'] + ok &= c['phase'] in self['phase'] + for p in self['phase'].values(): + ok &= 'lattice' in p + return ok + except KeyError: + return False + + + @property + def is_valid(self): + """Check for valid file layout.""" + ok = True + + if 'phase' in self: + for k,v in zip(self['phase'].keys(),self['phase'].values()): + if 'lattice' in v: + try: + Lattice(v['lattice']) + except KeyError: + s = v['lattice'] + print(f"Invalid lattice: '{s}' in phase '{k}'") + ok = False + + if 'microstructure' in self: + for i,v in enumerate(self['microstructure']): + if 'constituents' in v: + f = 0.0 + for c in v['constituents']: + f+= float(c['fraction']) + if 'orientation' in c: + try: + Rotation.from_quaternion(c['orientation']) + except ValueError: + o = c['orientation'] + print(f"Invalid orientation: '{o}' in microstructure '{i}'") + ok = False + if not np.isclose(f,1.0): + print(f"Invalid total fraction '{f}' in microstructure '{i}'") + ok = False + + return ok + + + def microstructure_rename_phase(self,mapping,ID=None,constituent=None): + """ + Change phase name in microstructure. + + Parameters + ---------- + mapping: dictionary + Mapping from old name to new name + ID: list of ints, optional + Limit renaming to selected microstructure IDs. + constituent: list of ints, optional + Limit renaming to selected constituents. + + """ + dup = copy.deepcopy(self) + for i,m in enumerate(dup['microstructure']): + if ID and i not in ID: continue + for c in m['constituents']: + if constituent is not None and c not in constituent: continue + try: + c['phase'] = mapping[c['phase']] + except KeyError: + continue + return dup + + + def microstructure_rename_homogenization(self,mapping,ID=None): + """ + Change homogenization name in microstructure. + + Parameters + ---------- + mapping: dictionary + Mapping from old name to new name + ID: list of ints, optional + Limit renaming to selected homogenization IDs. + + """ + dup = copy.deepcopy(self) + for i,m in enumerate(dup['microstructure']): + if ID and i not in ID: continue + try: + m['homogenization'] = mapping[m['homogenization']] + except KeyError: + continue + return dup diff --git a/python/tests/reference/Material/material.yaml b/python/tests/reference/Material/material.yaml new file mode 100644 index 000000000..1d3cf08a8 --- /dev/null +++ b/python/tests/reference/Material/material.yaml @@ -0,0 +1,42 @@ +homogenization: + SX: + mech: {type: none} + Taylor: + mech: {type: isostrain, N_constituents: 2} + +microstructure: + - constituents: + - fraction: 1.0 + orientation: [1.0, 0.0, 0.0, 0.0] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.7936696712125002, -0.28765777461664166, -0.3436487135089419, 0.4113964260949434] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] + phase: Aluminum + homogenization: SX + - homogenization: Taylor + constituents: + - fraction: .5 + orientation: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106] + phase: Aluminum + - fraction: .5 + orientation: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] + phase: Steel + +phase: + Aluminum: + elasticity: {C_11: 106.75e9, C_12: 60.41e9, C_44: 28.34e9, type: hooke} + generic: + output: [F, P, Fe, Fp, Lp] + lattice: fcc + Steel: + elasticity: {C_11: 233.3e9, C_12: 135.5e9, C_44: 118.0e9, type: hooke} + generic: + output: [F, P, Fe, Fp, Lp] + lattice: bcc diff --git a/python/tests/test_Material.py b/python/tests/test_Material.py new file mode 100644 index 000000000..567dfe646 --- /dev/null +++ b/python/tests/test_Material.py @@ -0,0 +1,61 @@ +import os + +import pytest + +from damask import Material + +@pytest.fixture +def reference_dir(reference_dir_base): + """Directory containing reference results.""" + return reference_dir_base/'Material' + + +class TestMaterial: + + @pytest.mark.parametrize('fname',[None,'test.yaml']) + def test_load_save(self,reference_dir,tmp_path,fname): + reference = Material.load(reference_dir/'material.yaml') + os.chdir(tmp_path) + if fname is None: + reference.save() + new = Material.load('material.yaml') + else: + reference.save(fname) + new = Material.load(fname) + assert reference == new + + def test_valid_complete(self,reference_dir): + material_config = Material.load(reference_dir/'material.yaml') + assert material_config.is_valid and material_config.is_complete + + def test_invalid_lattice(self,reference_dir): + material_config = Material.load(reference_dir/'material.yaml') + material_config['phase']['Aluminum']['lattice']='fxc' + assert not material_config.is_valid + + def test_invalid_orientation(self,reference_dir): + material_config = Material.load(reference_dir/'material.yaml') + material_config['microstructure'][0]['constituents'][0]['orientation']=[0,0,0,0] + assert not material_config.is_valid + + def test_invalid_fraction(self,reference_dir): + material_config = Material.load(reference_dir/'material.yaml') + material_config['microstructure'][0]['constituents'][0]['fraction']=.9 + assert not material_config.is_valid + + + @pytest.mark.parametrize('item',['homogenization','phase','microstructure']) + def test_incomplete_missing(self,reference_dir,item): + material_config = Material.load(reference_dir/'material.yaml') + del material_config[item] + assert not material_config.is_complete + + def test_incomplete_wrong_phase(self,reference_dir): + material_config = Material.load(reference_dir/'material.yaml') + new = material_config.microstructure_rename_phase({'Steel':'FeNbC'}) + assert not new.is_complete + + def test_incomplete_wrong_homogenization(self,reference_dir): + material_config = Material.load(reference_dir/'material.yaml') + new = material_config.microstructure_rename_homogenization({'Taylor':'isostrain'}) + assert not new.is_complete From 7cbd422ae38d22b741831663081c66f2c5ae3e06 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sat, 19 Sep 2020 13:38:32 -0400 Subject: [PATCH 675/958] fixed coprime error when encountering NaN --- python/damask/util.py | 2 +- python/tests/test_util.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/python/damask/util.py b/python/damask/util.py index 655f75879..6432ed4e1 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -173,7 +173,7 @@ def scale_to_coprime(v): m = m//reduce(np.gcd,m) with np.errstate(divide='ignore'): - if not np.allclose(v/m,v[0]/m[0]): + if not np.allclose(np.ma.masked_invalid(v/m),v[np.argmax(abs(v))]/m[np.argmax(abs(v))]): raise ValueError(f'Invalid result {m} for input {v}. Insufficient precision?') return m diff --git a/python/tests/test_util.py b/python/tests/test_util.py index c786e0de1..588cc823f 100644 --- a/python/tests/test_util.py +++ b/python/tests/test_util.py @@ -18,16 +18,17 @@ class TestUtil: @pytest.mark.parametrize('input,output', [ - ([2,0],[1,0]), - ([0.5,0.5],[1,1]), + ([0,-2],[0,-1]), + ([-0.5,0.5],[-1,1]), ([1./2.,1./3.],[3,2]), ([2./3.,1./2.,1./3.],[4,3,2]), ]) def test_scale2coprime(self,input,output): + print(util.scale_to_coprime(np.array(input))) assert np.allclose(util.scale_to_coprime(np.array(input)), np.array(output).astype(int)) def test_lackofprecision(self): with pytest.raises(ValueError): - util.scale_to_coprime(np.array([1/3333,1,1])) + util.scale_to_coprime(np.array([1/333.333,1,1])) From 3cc319ef08471ac6a2a6f6dd7f2fb3b34fec92fe Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sat, 19 Sep 2020 14:30:58 -0400 Subject: [PATCH 676/958] removed debug print statement in test_util --- python/tests/test_util.py | 1 - 1 file changed, 1 deletion(-) diff --git a/python/tests/test_util.py b/python/tests/test_util.py index 588cc823f..053045741 100644 --- a/python/tests/test_util.py +++ b/python/tests/test_util.py @@ -25,7 +25,6 @@ class TestUtil: ]) def test_scale2coprime(self,input,output): - print(util.scale_to_coprime(np.array(input))) assert np.allclose(util.scale_to_coprime(np.array(input)), np.array(output).astype(int)) From 3e829eb610b553f9e4f2bda5c8cfeb5a60897f7a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 22:05:45 +0200 Subject: [PATCH 677/958] improved homogenization test - do actual comparison - avoid line breaks in yaml --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 423e1389b..b743be478 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 423e1389bdacd72de123049a2cada0ccbbe2fa6f +Subproject commit b743be47898365af917ef57686c26a3a750c651b From 42186b9f87f2fd474a581b925ee577455f32ca3b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 22:08:38 +0200 Subject: [PATCH 678/958] fixed typo --- src/marc/discretization_marc.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index 41f089b52..91aa0106c 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -1032,7 +1032,7 @@ pure function IPareaNormal(elem,nElem,connectivity,node) case (4) ! 3D 8node ! Get the normal of the quadrilateral face as the average of four normals of triangular ! subfaces. Since the face consists only of two triangles, the sum has to be divided - ! by two. This procedure tries to compensate forprobable non-planar cell surfaces + ! by two. This procedure tries to compensate for probable non-planar cell surfaces IPareaNormal(1:3,f,i,e) = 0.0_pReal do n = 1, m IPareaNormal(1:3,f,i,e) = IPareaNormal(1:3,f,i,e) & From 053c3f39ea1e0bd014baa20c93cf70934e7b1fd0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 23:40:17 +0200 Subject: [PATCH 679/958] solution completely relies on state defined by 'forward' --- src/grid/DAMASK_grid.f90 | 8 +------- src/grid/grid_mech_FEM.f90 | 8 ++------ src/grid/grid_mech_spectral_basic.f90 | 8 ++------ src/grid/grid_mech_spectral_polarisation.f90 | 8 ++------ 4 files changed, 7 insertions(+), 25 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 878ed868b..7bc737ecd 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -433,17 +433,11 @@ program DAMASK_grid do field = 1, nActiveFields select case(loadCases(currentLoadCase)%ID(field)) case(FIELD_MECH_ID) - solres(field) = mech_solution (& - incInfo, & - stress_BC = loadCases(currentLoadCase)%stress, & - rotation_BC = loadCases(currentLoadCase)%rot) - + solres(field) = mech_solution(incInfo) case(FIELD_THERMAL_ID) solres(field) = grid_thermal_spectral_solution(timeinc,timeIncOld) - case(FIELD_DAMAGE_ID) solres(field) = grid_damage_spectral_solution(timeinc,timeIncOld) - end select if (.not. solres(field)%converged) exit ! no solution found diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 749c1b43e..18f66e9c0 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -269,16 +269,12 @@ end subroutine grid_mech_FEM_init !-------------------------------------------------------------------------------------------------- !> @brief solution for the FEM scheme with internal iterations !-------------------------------------------------------------------------------------------------- -function grid_mech_FEM_solution(incInfoIn,stress_BC,rotation_BC) result(solution) +function grid_mech_FEM_solution(incInfoIn) result(solution) !-------------------------------------------------------------------------------------------------- ! input data for solution character(len=*), intent(in) :: & incInfoIn - type(tBoundaryCondition), intent(in) :: & - stress_BC - type(rotation), intent(in) :: & - rotation_BC type(tSolutionState) :: & solution !-------------------------------------------------------------------------------------------------- @@ -290,7 +286,7 @@ function grid_mech_FEM_solution(incInfoIn,stress_BC,rotation_BC) result(solution !-------------------------------------------------------------------------------------------------- ! update stiffness (and gamma operator) - S = utilities_maskedCompliance(rotation_BC,stress_BC%maskLogical,C_volAvg) + S = utilities_maskedCompliance(params%rotation_BC,params%stress_mask>.5_pReal,C_volAvg) !-------------------------------------------------------------------------------------------------- ! solve BVP diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 33ee1ff97..3b814ee44 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -233,16 +233,12 @@ end subroutine grid_mech_spectral_basic_init !-------------------------------------------------------------------------------------------------- !> @brief solution for the basic scheme with internal iterations !-------------------------------------------------------------------------------------------------- -function grid_mech_spectral_basic_solution(incInfoIn,stress_BC,rotation_BC) result(solution) +function grid_mech_spectral_basic_solution(incInfoIn) result(solution) !-------------------------------------------------------------------------------------------------- ! input data for solution character(len=*), intent(in) :: & incInfoIn - type(tBoundaryCondition), intent(in) :: & - stress_BC - type(rotation), intent(in) :: & - rotation_BC type(tSolutionState) :: & solution !-------------------------------------------------------------------------------------------------- @@ -254,7 +250,7 @@ function grid_mech_spectral_basic_solution(incInfoIn,stress_BC,rotation_BC) resu !-------------------------------------------------------------------------------------------------- ! update stiffness (and gamma operator) - S = utilities_maskedCompliance(rotation_BC,stress_BC%maskLogical,C_volAvg) + S = utilities_maskedCompliance(params%rotation_BC,params%stress_mask>.5_pReal,C_volAvg) if(num%update_gamma) call utilities_updateGamma(C_minMaxAvg) !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 5470cf0b3..3c02d62c0 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -260,16 +260,12 @@ end subroutine grid_mech_spectral_polarisation_init !-------------------------------------------------------------------------------------------------- !> @brief solution for the Polarisation scheme with internal iterations !-------------------------------------------------------------------------------------------------- -function grid_mech_spectral_polarisation_solution(incInfoIn,stress_BC,rotation_BC) result(solution) +function grid_mech_spectral_polarisation_solution(incInfoIn) result(solution) !-------------------------------------------------------------------------------------------------- ! input data for solution character(len=*), intent(in) :: & incInfoIn - type(tBoundaryCondition), intent(in) :: & - stress_BC - type(rotation), intent(in) :: & - rotation_BC type(tSolutionState) :: & solution !-------------------------------------------------------------------------------------------------- @@ -281,7 +277,7 @@ function grid_mech_spectral_polarisation_solution(incInfoIn,stress_BC,rotation_B !-------------------------------------------------------------------------------------------------- ! update stiffness (and gamma operator) - S = utilities_maskedCompliance(rotation_BC,stress_BC%maskLogical,C_volAvg) + S = utilities_maskedCompliance(params%rotation_BC,params%stress_mask>.5_pReal,C_volAvg) if (num%update_gamma) then call utilities_updateGamma(C_minMaxAvg) C_scale = C_minMaxAvg From 8dfb972ac11e4392e2f07090402e339e6903c994 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 20 Sep 2020 11:49:20 +0200 Subject: [PATCH 680/958] private is already default (module wide) --- src/grid/grid_mech_FEM.f90 | 36 ++++++++++---------- src/grid/grid_mech_spectral_basic.f90 | 6 ++-- src/grid/grid_mech_spectral_polarisation.f90 | 2 +- src/grid/spectral_utilities.f90 | 16 ++++----- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 4e181cf09..57afecb20 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -27,9 +27,9 @@ module grid_mech_FEM !-------------------------------------------------------------------------------------------------- ! derived types - type(tSolutionParams), private :: params + type(tSolutionParams) :: params - type, private :: tNumerics + type :: tNumerics integer :: & itmin, & !< minimum number of iterations itmax !< maximum number of iterations @@ -43,45 +43,45 @@ module grid_mech_FEM eps_stress_rtol !< relative tolerance for fullfillment of stress BC end type tNumerics - type(tNumerics), private :: num - logical, private:: & + type(tNumerics) :: num + logical :: & debugRotation !-------------------------------------------------------------------------------------------------- ! PETSc data - DM, private :: mech_grid - SNES, private :: mech_snes - Vec, private :: solution_current, solution_lastInc, solution_rate + DM :: mech_grid + SNES :: mech_snes + Vec :: solution_current, solution_lastInc, solution_rate !-------------------------------------------------------------------------------------------------- ! common pointwise data - real(pReal), private, dimension(:,:,:,:,:), allocatable :: F, P_current, F_lastInc - real(pReal), private :: detJ - real(pReal), private, dimension(3) :: delta - real(pReal), private, dimension(3,8) :: BMat - real(pReal), private, dimension(8,8) :: HGMat - PetscInt, private :: xstart,ystart,zstart,xend,yend,zend + real(pReal), dimension(:,:,:,:,:), allocatable :: F, P_current, F_lastInc + real(pReal) :: detJ + real(pReal), dimension(3) :: delta + real(pReal), dimension(3,8) :: BMat + real(pReal), dimension(8,8) :: HGMat + PetscInt :: xstart,ystart,zstart,xend,yend,zend !-------------------------------------------------------------------------------------------------- ! stress, stiffness and compliance average etc. - real(pReal), private, dimension(3,3) :: & + real(pReal), dimension(3,3) :: & F_aimDot = 0.0_pReal, & !< assumed rate of average deformation gradient F_aim = math_I3, & !< current prescribed deformation gradient F_aim_lastIter = math_I3, & F_aim_lastInc = math_I3, & !< previous average deformation gradient P_av = 0.0_pReal !< average 1st Piola--Kirchhoff stress - character(len=:), allocatable, private :: incInfo !< time and increment information + character(len=:), allocatable :: incInfo !< time and increment information - real(pReal), private, dimension(3,3,3,3) :: & + real(pReal), dimension(3,3,3,3) :: & C_volAvg = 0.0_pReal, & !< current volume average stiffness C_volAvgLastInc = 0.0_pReal, & !< previous volume average stiffness S = 0.0_pReal !< current compliance (filled up with zeros) - real(pReal), private :: & + real(pReal) :: & err_BC !< deviation from stress BC - integer, private :: & + integer :: & totalIter = 0 !< total iteration in current increment public :: & diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 133b8f3ed..8ec6172b4 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -28,7 +28,7 @@ module grid_mech_spectral_basic ! derived types type(tSolutionParams) :: params - type, private :: tNumerics + type :: tNumerics logical :: update_gamma !< update gamma operator with current stiffness integer :: & itmin, & !< minimum number of iterations @@ -42,7 +42,7 @@ module grid_mech_spectral_basic type(tNumerics) :: num ! numerics parameters. Better name? - logical, private :: debugRotation + logical :: debugRotation !-------------------------------------------------------------------------------------------------- ! PETSc data @@ -65,7 +65,7 @@ module grid_mech_spectral_basic P_av = 0.0_pReal !< average 1st Piola--Kirchhoff stress character(len=:), allocatable :: incInfo !< time and increment information - real(pReal), private, dimension(3,3,3,3) :: & + real(pReal), dimension(3,3,3,3) :: & C_volAvg = 0.0_pReal, & !< current volume average stiffness C_volAvgLastInc = 0.0_pReal, & !< previous volume average stiffness C_minMaxAvg = 0.0_pReal, & !< current (min+max)/2 stiffness diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 475f278a4..c61f71b27 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -48,7 +48,7 @@ module grid_mech_spectral_polarisation type(tNumerics) :: num ! numerics parameters. Better name? - logical, private :: debugRotation + logical :: debugRotation !-------------------------------------------------------------------------------------------------- ! PETSc data diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 5e53fe2a5..52df30c39 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -47,15 +47,15 @@ module spectral_utilities complex(C_DOUBLE_COMPLEX),public, dimension(:,:,:,:), pointer :: vectorField_fourier !< vector field fourier representation for fftw real(C_DOUBLE), public, dimension(:,:,:), pointer :: scalarField_real !< scalar field real representation for fftw complex(C_DOUBLE_COMPLEX),public, dimension(:,:,:), pointer :: scalarField_fourier !< scalar field fourier representation for fftw - complex(pReal), private, dimension(:,:,:,:,:,:,:), allocatable :: gamma_hat !< gamma operator (field) for spectral method - complex(pReal), private, dimension(:,:,:,:), allocatable :: xi1st !< wave vector field for first derivatives - complex(pReal), private, dimension(:,:,:,:), allocatable :: xi2nd !< wave vector field for second derivatives - real(pReal), private, dimension(3,3,3,3) :: C_ref !< mechanic reference stiffness + complex(pReal), dimension(:,:,:,:,:,:,:), allocatable :: gamma_hat !< gamma operator (field) for spectral method + complex(pReal), dimension(:,:,:,:), allocatable :: xi1st !< wave vector field for first derivatives + complex(pReal), dimension(:,:,:,:), allocatable :: xi2nd !< wave vector field for second derivatives + real(pReal), dimension(3,3,3,3) :: C_ref !< mechanic reference stiffness !-------------------------------------------------------------------------------------------------- ! plans for FFTW - type(C_PTR), private :: & + type(C_PTR) :: & planTensorForth, & !< FFTW MPI plan P(x) to P(k) planTensorBack, & !< FFTW MPI plan F(k) to F(x) planVectorForth, & !< FFTW MPI plan v(x) to v(k) @@ -65,7 +65,7 @@ module spectral_utilities !-------------------------------------------------------------------------------------------------- ! variables controlling debugging - logical, private :: & + logical :: & debugGeneral, & !< general debugging of spectral solver debugRotation, & !< also printing out results in lab frame debugPETSc !< use some in debug defined options for more verbose PETSc solution @@ -108,14 +108,14 @@ module spectral_utilities real(pReal) :: timeincOld end type tSolutionParams - type, private :: tNumerics + type :: tNumerics integer :: & divergence_correction !< scale divergence/curl calculation: [0: no correction, 1: size scaled to 1, 2: size scaled to Npoints] logical :: & memory_efficient !< calculate gamma operator on the fly end type tNumerics - type(tNumerics), private :: num ! numerics parameters. Better name? + type(tNumerics) :: num ! numerics parameters. Better name? enum, bind(c); enumerator :: & DERIVATIVE_CONTINUOUS_ID, & From d584207e0abc29156ec2fe35b529a5bd9adb7942 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 20 Sep 2020 12:11:48 +0200 Subject: [PATCH 681/958] same layout for easy diff --- src/grid/grid_mech_FEM.f90 | 23 ++++++------- src/grid/grid_mech_spectral_basic.f90 | 34 ++++++++++---------- src/grid/grid_mech_spectral_polarisation.f90 | 25 +++++++------- 3 files changed, 39 insertions(+), 43 deletions(-) diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 57afecb20..bd6f862b2 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -34,18 +34,15 @@ module grid_mech_FEM itmin, & !< minimum number of iterations itmax !< maximum number of iterations real(pReal) :: & - err_div, & - divTol, & - BCTol, & eps_div_atol, & !< absolute tolerance for equilibrium eps_div_rtol, & !< relative tolerance for equilibrium eps_stress_atol, & !< absolute tolerance for fullfillment of stress BC eps_stress_rtol !< relative tolerance for fullfillment of stress BC end type tNumerics - type(tNumerics) :: num - logical :: & - debugRotation + type(tNumerics) :: num ! numerics parameters. Better name? + + logical :: debugRotation !-------------------------------------------------------------------------------------------------- ! PETSc data @@ -72,7 +69,6 @@ module grid_mech_FEM P_av = 0.0_pReal !< average 1st Piola--Kirchhoff stress character(len=:), allocatable :: incInfo !< time and increment information - real(pReal), dimension(3,3,3,3) :: & C_volAvg = 0.0_pReal, & !< current volume average stiffness C_volAvgLastInc = 0.0_pReal, & !< previous volume average stiffness @@ -99,7 +95,6 @@ contains subroutine grid_mech_FEM_init real(pReal) :: HGCoeff = 0.0e-2_pReal - PetscInt, dimension(0:worldsize-1) :: localK real(pReal), dimension(3,3) :: & temp33_Real = 0.0_pReal real(pReal), dimension(4,8) :: & @@ -111,24 +106,25 @@ subroutine grid_mech_FEM_init -1.0_pReal, 1.0_pReal,-1.0_pReal,-1.0_pReal, & 1.0_pReal,-1.0_pReal,-1.0_pReal,-1.0_pReal, & 1.0_pReal, 1.0_pReal, 1.0_pReal, 1.0_pReal], [4,8]) + real(pReal), dimension(3,3,3,3) :: devNull PetscErrorCode :: ierr + PetscScalar, pointer, dimension(:,:,:,:) :: & + u_current,u_lastInc + PetscInt, dimension(0:worldsize-1) :: localK integer(HID_T) :: fileHandle, groupHandle character(len=pStringLen) :: & fileName class(tNode), pointer :: & num_grid, & debug_grid - real(pReal), dimension(3,3,3,3) :: devNull - PetscScalar, pointer, dimension(:,:,:,:) :: & - u_current,u_lastInc print'(/,a)', ' <<<+- grid_mech_FEM init -+>>>'; flush(6) -!----------------------------------------------------------------------------------------------- +!------------------------------------------------------------------------------------------------- ! debugging options debug_grid => config_debug%get('grid', defaultVal=emptyList) debugRotation = debug_grid%contains('rotation') - + !------------------------------------------------------------------------------------------------- ! read numerical parameters and do sanity checks num_grid => config_numerics%get('grid',defaultVal=emptyDict) @@ -242,6 +238,7 @@ subroutine grid_mech_FEM_init F_lastInc = spread(spread(spread(math_I3,3,grid(1)),4,grid(2)),5,grid3) ! initialize to identity F = spread(spread(spread(math_I3,3,grid(1)),4,grid(2)),5,grid3) endif restartRead + materialpoint_F0 = reshape(F_lastInc, [3,3,1,product(grid(1:2))*grid3]) ! set starting condition for materialpoint_stressAndItsTangent call utilities_updateCoords(F) call utilities_constitutiveResponse(P_current,temp33_Real,C_volAvg,devNull, & ! stress field, stress avg, global average of stiffness and (min+max)/2 diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 8ec6172b4..b199c723f 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -96,18 +96,17 @@ subroutine grid_mech_spectral_basic_init real(pReal), dimension(3,3,grid(1),grid(2),grid3) :: P real(pReal), dimension(3,3) :: & temp33_Real = 0.0_pReal - class (tNode), pointer :: & - num_grid, & - debug_grid - PetscErrorCode :: ierr PetscScalar, pointer, dimension(:,:,:,:) :: & F ! pointer to solution data - PetscInt, dimension(worldsize) :: localK + PetscInt, dimension(0:worldsize-1) :: localK integer(HID_T) :: fileHandle, groupHandle integer :: fileUnit character(len=pStringLen) :: & fileName + class (tNode), pointer :: & + num_grid, & + debug_grid print'(/,a)', ' <<<+- grid_mech_spectral_basic init -+>>>'; flush(6) @@ -121,7 +120,7 @@ subroutine grid_mech_spectral_basic_init ! debugging options debug_grid => config_debug%get('grid', defaultVal=emptyList) debugRotation = debug_grid%contains('rotation') - + !------------------------------------------------------------------------------------------------- ! read numerical parameters and do sanity checks num_grid => config_numerics%get('grid',defaultVal=emptyDict) @@ -140,7 +139,7 @@ subroutine grid_mech_spectral_basic_init if (num%eps_stress_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_stress_rtol') if (num%itmax <= 1) call IO_error(301,ext_msg='itmax') if (num%itmin > num%itmax .or. num%itmin < 1) call IO_error(301,ext_msg='itmin') - + !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc call PETScOptionsInsertString(PETSC_NULL_OPTIONS,'-mech_snes_type ngmres',ierr) @@ -157,8 +156,8 @@ subroutine grid_mech_spectral_basic_init ! initialize solver specific parts of PETSc call SNESCreate(PETSC_COMM_WORLD,snes,ierr); CHKERRQ(ierr) call SNESSetOptionsPrefix(snes,'mech_',ierr);CHKERRQ(ierr) - localK = 0 - localK(worldrank+1) = grid3 + localK = 0 + localK(worldrank) = grid3 call MPI_Allreduce(MPI_IN_PLACE,localK,worldsize,MPI_INTEGER,MPI_SUM,PETSC_COMM_WORLD,ierr) call DMDACreate3d(PETSC_COMM_WORLD, & DM_BOUNDARY_NONE, DM_BOUNDARY_NONE, DM_BOUNDARY_NONE, & ! cut off stencil at boundary @@ -202,8 +201,8 @@ subroutine grid_mech_spectral_basic_init endif restartRead materialpoint_F0 = reshape(F_lastInc, [3,3,1,product(grid(1:2))*grid3]) ! set starting condition for materialpoint_stressAndItsTangent - call Utilities_updateCoords(reshape(F,shape(F_lastInc))) - call Utilities_constitutiveResponse(P,temp33_Real,C_volAvg,C_minMaxAvg, & ! stress field, stress avg, global average of stiffness and (min+max)/2 + call utilities_updateCoords(reshape(F,shape(F_lastInc))) + call utilities_constitutiveResponse(P,temp33_Real,C_volAvg,C_minMaxAvg, & ! stress field, stress avg, global average of stiffness and (min+max)/2 reshape(F,shape(F_lastInc)), & ! target F 0.0_pReal) ! time increment call DMDAVecRestoreArrayF90(da,solution_vec,F,ierr); CHKERRQ(ierr) ! deassociate pointer @@ -288,7 +287,7 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo type(rotation), intent(in) :: & rotation_BC PetscErrorCode :: ierr - PetscScalar, dimension(:,:,:,:), pointer :: F + PetscScalar, pointer, dimension(:,:,:,:) :: F !-------------------------------------------------------------------------------------------------- ! set module wide available data @@ -334,7 +333,7 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo !-------------------------------------------------------------------------------------------------- ! update average and local deformation gradients F_aim = F_aim_lastInc + F_aimDot * timeinc - F = reshape(Utilities_forwardField(timeinc,F_lastInc,Fdot, & ! estimate of F at end of time+timeinc that matches rotated F_aim on average + F = reshape(utilities_forwardField(timeinc,F_lastInc,Fdot, & ! estimate of F at end of time+timeinc that matches rotated F_aim on average rotation_BC%rotate(F_aim,active=.true.)),[9,grid(1),grid(2),grid3]) call DMDAVecRestoreArrayF90(da,solution_vec,F,ierr); CHKERRQ(ierr) @@ -368,7 +367,7 @@ subroutine grid_mech_spectral_basic_restartWrite call DMDAVecGetArrayF90(da,solution_vec,F,ierr); CHKERRQ(ierr) - print'(a)', ' writing solver data required for restart to file'; flush(6) + print*, 'writing solver data required for restart to file'; flush(6) write(fileName,'(a,a,i0,a)') trim(getSolverJobName()),'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'w') @@ -462,6 +461,7 @@ subroutine formResidual(in, F, & call SNESGetIterationNumber(snes,PETScIter,ierr); CHKERRQ(ierr) if (nfuncs == 0 .and. PETScIter == 0) totalIter = -1 ! new increment + !-------------------------------------------------------------------------------------------------- ! begin of new iteration newIteration: if (totalIter <= PETScIter) then @@ -484,8 +484,8 @@ subroutine formResidual(in, F, & !-------------------------------------------------------------------------------------------------- ! stress BC handling - deltaF_aim = math_mul3333xx33(S, P_av - params%stress_BC) - F_aim = F_aim - deltaF_aim + deltaF_aim = math_mul3333xx33(S, P_av - params%stress_BC) ! S = 0.0 for no bc + F_aim = F_aim -deltaF_aim err_BC = maxval(abs(params%stress_mask * (P_av - params%stress_BC))) ! mask = 0.0 when no stress bc !-------------------------------------------------------------------------------------------------- @@ -493,7 +493,7 @@ subroutine formResidual(in, F, & tensorField_real = 0.0_pReal tensorField_real(1:3,1:3,1:grid(1),1:grid(2),1:grid3) = residuum ! store fPK field for subsequent FFT forward transform call utilities_FFTtensorForward ! FFT forward of global "tensorField_real" - err_div = Utilities_divergenceRMS() ! divRMS of tensorField_fourier for later use + err_div = utilities_divergenceRMS() ! divRMS of tensorField_fourier for later use call utilities_fourierGammaConvolution(params%rotation_BC%rotate(deltaF_aim,active=.true.)) ! convolution of Gamma and tensorField_fourier call utilities_FFTtensorBackward ! FFT backward of global tensorField_fourier diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index c61f71b27..393f8f3f7 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -15,7 +15,6 @@ module grid_mech_spectral_polarisation use DAMASK_interface use HDF5_utilities use math - use rotations use spectral_utilities use FEsolving use config @@ -108,10 +107,6 @@ subroutine grid_mech_spectral_polarisation_init real(pReal), dimension(3,3,grid(1),grid(2),grid3) :: P real(pReal), dimension(3,3) :: & temp33_Real = 0.0_pReal - class (tNode), pointer :: & - num_grid, & - debug_grid - PetscErrorCode :: ierr PetscScalar, pointer, dimension(:,:,:,:) :: & FandF_tau, & ! overall pointer to solution data @@ -122,13 +117,16 @@ subroutine grid_mech_spectral_polarisation_init integer :: fileUnit character(len=pStringLen) :: & fileName + class (tNode), pointer :: & + num_grid, & + debug_grid print'(/,a)', ' <<<+- grid_mech_spectral_polarisation init -+>>>'; flush(6) print*, 'Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' print*, 'https://doi.org/10.1016/j.ijplas.2014.02.006' -!------------------------------------------------------------------------------------------------ +!------------------------------------------------------------------------------------------------- ! debugging options debug_grid => config_debug%get('grid',defaultVal=emptyList) debugRotation = debug_grid%contains('rotation') @@ -136,6 +134,7 @@ subroutine grid_mech_spectral_polarisation_init !------------------------------------------------------------------------------------------------- ! read numerical parameters and do sanity checks num_grid => config_numerics%get('grid',defaultVal=emptyDict) + num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) @@ -228,8 +227,8 @@ subroutine grid_mech_spectral_polarisation_init endif restartRead materialpoint_F0 = reshape(F_lastInc, [3,3,1,product(grid(1:2))*grid3]) ! set starting condition for materialpoint_stressAndItsTangent - call Utilities_updateCoords(reshape(F,shape(F_lastInc))) - call Utilities_constitutiveResponse(P,temp33_Real,C_volAvg,C_minMaxAvg, & ! stress field, stress avg, global average of stiffness and (min+max)/2 + call utilities_updateCoords(reshape(F,shape(F_lastInc))) + call utilities_constitutiveResponse(P,temp33_Real,C_volAvg,C_minMaxAvg, & ! stress field, stress avg, global average of stiffness and (min+max)/2 reshape(F,shape(F_lastInc)), & ! target F 0.0_pReal) ! time increment call DMDAVecRestoreArrayF90(da,solution_vec,FandF_tau,ierr); CHKERRQ(ierr) ! deassociate pointer @@ -277,7 +276,7 @@ function grid_mech_spectral_polarisation_solution(incInfoIn) result(solution) !-------------------------------------------------------------------------------------------------- ! update stiffness (and gamma operator) S = utilities_maskedCompliance(params%rotation_BC,params%stress_mask>.5_pReal,C_volAvg) - if (num%update_gamma) then + if(num%update_gamma) then call utilities_updateGamma(C_minMaxAvg) C_scale = C_minMaxAvg S_scale = math_invSym3333(C_minMaxAvg) @@ -320,7 +319,7 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc type(rotation), intent(in) :: & rotation_BC PetscErrorCode :: ierr - PetscScalar, dimension(:,:,:,:), pointer :: FandF_tau, F, F_tau + PetscScalar, pointer, dimension(:,:,:,:) :: FandF_tau, F, F_tau integer :: i, j, k real(pReal), dimension(3,3) :: F_lambda33 @@ -588,7 +587,7 @@ subroutine formResidual(in, FandF_tau, & !-------------------------------------------------------------------------------------------------- ! stress BC handling - F_aim = F_aim - math_mul3333xx33(S, ((P_av - params%stress_BC))) ! S = 0.0 for no bc + F_aim = F_aim - math_mul3333xx33(S, P_av - params%stress_BC) ! S = 0.0 for no bc err_BC = maxval(abs((1.0_pReal-params%stress_mask) * math_mul3333xx33(C_scale,F_aim & -params%rotation_BC%rotate(F_av)) + & params%stress_mask * (P_av-params%stress_BC))) ! mask = 0.0 for no bc @@ -596,7 +595,7 @@ subroutine formResidual(in, FandF_tau, & tensorField_real = 0.0_pReal tensorField_real(1:3,1:3,1:grid(1),1:grid(2),1:grid3) = residual_F !< stress field in disguise call utilities_FFTtensorForward - err_div = Utilities_divergenceRMS() !< root mean squared error in divergence of stress + err_div = utilities_divergenceRMS() !< root mean squared error in divergence of stress !-------------------------------------------------------------------------------------------------- ! constructing residual @@ -615,7 +614,7 @@ subroutine formResidual(in, FandF_tau, & tensorField_real = 0.0_pReal tensorField_real(1:3,1:3,1:grid(1),1:grid(2),1:grid3) = F call utilities_FFTtensorForward - err_curl = Utilities_curlRMS() + err_curl = utilities_curlRMS() end subroutine formResidual From 6367cb8fcba017330d762273e4ee38fc514fe187 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 20 Sep 2020 13:29:51 +0200 Subject: [PATCH 682/958] consistent handling of boundary conditions A stress boundary condition 'P' indicates the stress at the end of the load case (same as for 'F') 'Pdot' for given increase of (technical) strain is not implemented. Does not change anything for the most common case of zero-stress boundary conditions, but simplifies the specification of stress ramps --- src/grid/DAMASK_grid.f90 | 6 +++--- src/grid/grid_mech_FEM.f90 | 19 +++++++++--------- src/grid/grid_mech_spectral_basic.f90 | 21 ++++++++++++-------- src/grid/grid_mech_spectral_polarisation.f90 | 15 +++++++++----- 4 files changed, 36 insertions(+), 25 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 59a5b452c..54d080744 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -107,8 +107,8 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! initialize field solver information nActiveFields = 1 - if (any(thermal_type == THERMAL_conduction_ID )) nActiveFields = nActiveFields + 1 - if (any(damage_type == DAMAGE_nonlocal_ID )) nActiveFields = nActiveFields + 1 + if(any(thermal_type == THERMAL_conduction_ID)) nActiveFields = nActiveFields + 1 + if(any(damage_type == DAMAGE_nonlocal_ID )) nActiveFields = nActiveFields + 1 allocate(solres(nActiveFields)) allocate(newLoadCase%ID(nActiveFields)) @@ -181,7 +181,7 @@ program DAMASK_grid if ((N_def /= N_n) .or. (N_n /= N_t) .or. N_n < 1) & ! sanity check call IO_error(error_ID=837,el=currentLoadCase,ext_msg = trim(interface_loadFile)) ! error message for incomplete loadcase - newLoadCase%stress%myType='stress' + newLoadCase%stress%myType='p' field = 1 newLoadCase%ID(field) = FIELD_MECH_ID ! mechanical active by default thermalActive: if (any(thermal_type == THERMAL_conduction_ID)) then diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index bd6f862b2..9efd88505 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -66,8 +66,8 @@ module grid_mech_FEM F_aim = math_I3, & !< current prescribed deformation gradient F_aim_lastIter = math_I3, & F_aim_lastInc = math_I3, & !< previous average deformation gradient - P_av = 0.0_pReal !< average 1st Piola--Kirchhoff stress - + P_av = 0.0_pReal, & !< average 1st Piola--Kirchhoff stress + P_aim = 0.0_pReal character(len=:), allocatable :: incInfo !< time and increment information real(pReal), dimension(3,3,3,3) :: & C_volAvg = 0.0_pReal, & !< current volume average stiffness @@ -327,7 +327,6 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, !-------------------------------------------------------------------------------------------------- ! set module wide available data params%stress_mask = stress_BC%maskFloat - params%stress_BC = stress_BC%values params%rotation_BC = rotation_BC params%timeinc = timeinc params%timeincOld = timeinc_old @@ -374,6 +373,12 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, !-------------------------------------------------------------------------------------------------- ! update average and local deformation gradients F_aim = F_aim_lastInc + F_aimDot * timeinc + if (stress_BC%myType=='p') then + P_aim = P_aim + stress_BC%maskFloat*(stress_BC%values - P_aim)/loadCaseTime*timeinc + elseif (stress_BC%myType=='pdot') then !UNTESTED + P_aim = P_aim + stress_BC%maskFloat*stress_BC%values*timeinc + endif + call VecAXPY(solution_current,timeinc,solution_rate,ierr); CHKERRQ(ierr) call DMDAVecRestoreArrayF90(mech_grid,solution_current,u_current,ierr);CHKERRQ(ierr) @@ -489,8 +494,6 @@ subroutine formResidual(da_local,x_local, & PetscScalar, pointer,dimension(:,:,:,:) :: x_scal, f_scal PetscScalar, dimension(8,3) :: x_elem, f_elem PetscInt :: i, ii, j, jj, k, kk, ctr, ele - real(pReal), dimension(3,3) :: & - deltaF_aim PetscInt :: & PETScIter, & nfuncs @@ -539,10 +542,8 @@ subroutine formResidual(da_local,x_local, & !-------------------------------------------------------------------------------------------------- ! stress BC handling - F_aim_lastIter = F_aim - deltaF_aim = math_mul3333xx33(S, P_av - params%stress_BC) - F_aim = F_aim - deltaF_aim - err_BC = maxval(abs(params%stress_mask * (P_av - params%stress_BC))) ! mask = 0.0 when no stress bc + F_aim = F_aim - math_mul3333xx33(S, P_av - P_aim) ! S = 0.0 for no bc + err_BC = maxval(abs(params%stress_mask * (P_av - P_aim))) ! mask = 0.0 when no stress bc !-------------------------------------------------------------------------------------------------- ! constructing residual diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index b199c723f..cd795f005 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -62,8 +62,8 @@ module grid_mech_spectral_basic F_aimDot = 0.0_pReal, & !< assumed rate of average deformation gradient F_aim = math_I3, & !< current prescribed deformation gradient F_aim_lastInc = math_I3, & !< previous average deformation gradient - P_av = 0.0_pReal !< average 1st Piola--Kirchhoff stress - + P_av = 0.0_pReal, & !< average 1st Piola--Kirchhoff stress + P_aim = 0.0_pReal character(len=:), allocatable :: incInfo !< time and increment information real(pReal), dimension(3,3,3,3) :: & C_volAvg = 0.0_pReal, & !< current volume average stiffness @@ -129,7 +129,7 @@ subroutine grid_mech_spectral_basic_init num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) num%eps_stress_atol = num_grid%get_asFloat ('eps_stress_atol',defaultVal=1.0e3_pReal) - num%eps_stress_rtol = num_grid%get_asFloat ('eps_stress_rtol',defaultVal=0.01_pReal) + num%eps_stress_rtol = num_grid%get_asFloat ('eps_stress_rtol',defaultVal=0.001_pReal) num%itmin = num_grid%get_asInt ('itmin',defaultVal=1) num%itmax = num_grid%get_asInt ('itmax',defaultVal=250) @@ -292,7 +292,6 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo !-------------------------------------------------------------------------------------------------- ! set module wide available data params%stress_mask = stress_BC%maskFloat - params%stress_BC = stress_BC%values params%rotation_BC = rotation_BC params%timeinc = timeinc params%timeincOld = timeinc_old @@ -333,6 +332,12 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo !-------------------------------------------------------------------------------------------------- ! update average and local deformation gradients F_aim = F_aim_lastInc + F_aimDot * timeinc + if (stress_BC%myType=='p') then + P_aim = P_aim + stress_BC%maskFloat*(stress_BC%values - P_aim)/loadCaseTime*timeinc + elseif (stress_BC%myType=='pdot') then !UNTESTED + P_aim = P_aim + stress_BC%maskFloat*stress_BC%values*timeinc + endif + F = reshape(utilities_forwardField(timeinc,F_lastInc,Fdot, & ! estimate of F at end of time+timeinc that matches rotated F_aim on average rotation_BC%rotate(F_aim,active=.true.)),[9,grid(1),grid(2),grid3]) call DMDAVecRestoreArrayF90(da,solution_vec,F,ierr); CHKERRQ(ierr) @@ -484,9 +489,9 @@ subroutine formResidual(in, F, & !-------------------------------------------------------------------------------------------------- ! stress BC handling - deltaF_aim = math_mul3333xx33(S, P_av - params%stress_BC) ! S = 0.0 for no bc - F_aim = F_aim -deltaF_aim - err_BC = maxval(abs(params%stress_mask * (P_av - params%stress_BC))) ! mask = 0.0 when no stress bc + deltaF_aim = math_mul3333xx33(S, P_av - P_aim) ! S = 0.0 for no bc + F_aim = F_aim - deltaF_aim + err_BC = maxval(abs(params%stress_mask * (P_av - P_aim))) ! mask = 0.0 when no stress bc !-------------------------------------------------------------------------------------------------- ! updated deformation gradient using fix point algorithm of basic scheme @@ -499,7 +504,7 @@ subroutine formResidual(in, F, & !-------------------------------------------------------------------------------------------------- ! constructing residual - residuum = tensorField_real(1:3,1:3,1:grid(1),1:grid(2),1:grid3) ! Gamma*P gives correction towards div(P) = 0, so needs to be zero, too + residuum = tensorField_real(1:3,1:3,1:grid(1),1:grid(2),1:grid3) ! Gamma*P gives correction towards div(P) = 0, so needs to be zero, too end subroutine formResidual diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 393f8f3f7..4dc9d6d7c 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -70,8 +70,8 @@ module grid_mech_spectral_polarisation F_aim = math_I3, & !< current prescribed deformation gradient F_aim_lastInc = math_I3, & !< previous average deformation gradient F_av = 0.0_pReal, & !< average incompatible def grad field - P_av = 0.0_pReal !< average 1st Piola--Kirchhoff stress - + P_av = 0.0_pReal, & !< average 1st Piola--Kirchhoff stress + P_aim = 0.0_pReal character(len=:), allocatable :: incInfo !< time and increment information real(pReal), dimension(3,3,3,3) :: & C_volAvg = 0.0_pReal, & !< current volume average stiffness @@ -326,7 +326,6 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc !-------------------------------------------------------------------------------------------------- ! set module wide available data params%stress_mask = stress_BC%maskFloat - params%stress_BC = stress_BC%values params%rotation_BC = rotation_BC params%timeinc = timeinc params%timeincOld = timeinc_old @@ -373,6 +372,12 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc !-------------------------------------------------------------------------------------------------- ! update average and local deformation gradients F_aim = F_aim_lastInc + F_aimDot * timeinc + if (stress_BC%myType=='p') then + P_aim = P_aim + stress_BC%maskFloat*(stress_BC%values - P_aim)/loadCaseTime*timeinc + elseif (stress_BC%myType=='pdot') then !UNTESTED + P_aim = P_aim + stress_BC%maskFloat*stress_BC%values*timeinc + endif + F = reshape(utilities_forwardField(timeinc,F_lastInc,Fdot, & ! estimate of F at end of time+timeinc that matches rotated F_aim on average rotation_BC%rotate(F_aim,active=.true.)),& [9,grid(1),grid(2),grid3]) @@ -587,10 +592,10 @@ subroutine formResidual(in, FandF_tau, & !-------------------------------------------------------------------------------------------------- ! stress BC handling - F_aim = F_aim - math_mul3333xx33(S, P_av - params%stress_BC) ! S = 0.0 for no bc + F_aim = F_aim - math_mul3333xx33(S, P_av - P_aim) ! S = 0.0 for no bc err_BC = maxval(abs((1.0_pReal-params%stress_mask) * math_mul3333xx33(C_scale,F_aim & -params%rotation_BC%rotate(F_av)) + & - params%stress_mask * (P_av-params%stress_BC))) ! mask = 0.0 for no bc + params%stress_mask * (P_av-P_aim))) ! mask = 0.0 for no bc ! calculate divergence tensorField_real = 0.0_pReal tensorField_real(1:3,1:3,1:grid(1),1:grid(2),1:grid3) = residual_F !< stress field in disguise From 0a7d4f61acfce1de1c7deb2b7962802641b0163b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 20 Sep 2020 16:24:08 +0200 Subject: [PATCH 683/958] Need only logical mask 'merge' substitutes multiplication with float mask --- src/grid/DAMASK_grid.f90 | 105 +++++++++---------- src/grid/grid_mech_FEM.f90 | 26 +++-- src/grid/grid_mech_spectral_basic.f90 | 26 +++-- src/grid/grid_mech_spectral_polarisation.f90 | 30 +++--- src/grid/spectral_utilities.f90 | 15 ++- 5 files changed, 96 insertions(+), 106 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 54d080744..d33d136f7 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -24,7 +24,7 @@ program DAMASK_grid use grid_damage_spectral use grid_thermal_spectral use results - + implicit none !-------------------------------------------------------------------------------------------------- @@ -88,7 +88,7 @@ program DAMASK_grid mech_updateCoords procedure(grid_mech_spectral_basic_restartWrite), pointer :: & mech_restartWrite - + external :: & quit class (tNode), pointer :: & @@ -97,10 +97,10 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! init DAMASK (all modules) - - call CPFEM_initAll + + call CPFEM_initAll print'(/,a)', ' <<<+- DAMASK_spectral init -+>>>'; flush(6) - + print*, 'Shanthraj et al., Handbook of Mechanics of Materials, 2019' print*, 'https://doi.org/10.1007/978-981-10-6855-3_80' @@ -123,16 +123,16 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! assign mechanics solver depending on selected type - + debug_grid => config_debug%get('grid',defaultVal=emptyList) - select case (trim(num_grid%get_asString('solver', defaultVal = 'Basic'))) + select case (trim(num_grid%get_asString('solver', defaultVal = 'Basic'))) case ('Basic') mech_init => grid_mech_spectral_basic_init mech_forward => grid_mech_spectral_basic_forward mech_solution => grid_mech_spectral_basic_solution mech_updateCoords => grid_mech_spectral_basic_updateCoords mech_restartWrite => grid_mech_spectral_basic_restartWrite - + case ('Polarisation') if(debug_grid%contains('basic')) & call IO_warning(42, ext_msg='debug Divergence') @@ -141,7 +141,7 @@ program DAMASK_grid mech_solution => grid_mech_spectral_polarisation_solution mech_updateCoords => grid_mech_spectral_polarisation_updateCoords mech_restartWrite => grid_mech_spectral_polarisation_restartWrite - + case ('FEM') if(debug_grid%contains('basic')) & call IO_warning(42, ext_msg='debug Divergence') @@ -150,24 +150,24 @@ program DAMASK_grid mech_solution => grid_mech_FEM_solution mech_updateCoords => grid_mech_FEM_updateCoords mech_restartWrite => grid_mech_FEM_restartWrite - + case default call IO_error(error_ID = 891, ext_msg = trim(num_grid%get_asString('solver'))) - + end select - + !-------------------------------------------------------------------------------------------------- -! reading information from load case file and to sanity checks +! reading information from load case file and to sanity checks fileContent = IO_readlines(trim(interface_loadFile)) if(size(fileContent) == 0) call IO_error(307,ext_msg='No load case specified') - + allocate (loadCases(0)) ! array of load cases do currentLoadCase = 1, size(fileContent) line = fileContent(currentLoadCase) if (IO_isBlank(line)) cycle chunkPos = IO_stringPos(line) - + do i = 1, chunkPos(1) ! reading compulsory parameters for loadcase select case (IO_lc(IO_stringValue(line,chunkPos,i))) case('l','fdot','dotf','f') @@ -180,7 +180,7 @@ program DAMASK_grid enddo if ((N_def /= N_n) .or. (N_n /= N_t) .or. N_n < 1) & ! sanity check call IO_error(error_ID=837,el=currentLoadCase,ext_msg = trim(interface_loadFile)) ! error message for incomplete loadcase - + newLoadCase%stress%myType='p' field = 1 newLoadCase%ID(field) = FIELD_MECH_ID ! mechanical active by default @@ -192,7 +192,7 @@ program DAMASK_grid field = field + 1 newLoadCase%ID(field) = FIELD_DAMAGE_ID endif damageActive - + call newLoadCase%rot%fromEulers(real([0.0,0.0,0.0],pReal)) readIn: do i = 1, chunkPos(1) select case (IO_lc(IO_stringValue(line,chunkPos,i))) @@ -210,18 +210,16 @@ program DAMASK_grid temp_maskVector(j) = IO_stringValue(line,chunkPos,i+j) /= '*' ! true if not a * if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable enddo - newLoadCase%deformation%maskLogical = transpose(reshape(temp_maskVector,[ 3,3])) ! logical mask in 3x3 notation - newLoadCase%deformation%maskFloat = merge(ones,zeros,newLoadCase%deformation%maskLogical) ! float (1.0/0.0) mask in 3x3 notation - newLoadCase%deformation%values = math_9to33(temp_valueVector) ! values in 3x3 notation + newLoadCase%deformation%mask = transpose(reshape(temp_maskVector,[ 3,3])) ! mask in 3x3 notation + newLoadCase%deformation%values = math_9to33(temp_valueVector) ! values in 3x3 notation case('p','stress', 's') temp_valueVector = 0.0_pReal do j = 1, 9 temp_maskVector(j) = IO_stringValue(line,chunkPos,i+j) /= '*' ! true if not an asterisk if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable enddo - newLoadCase%stress%maskLogical = transpose(reshape(temp_maskVector,[ 3,3])) - newLoadCase%stress%maskFloat = merge(ones,zeros,newLoadCase%stress%maskLogical) - newLoadCase%stress%values = math_9to33(temp_valueVector) + newLoadCase%stress%mask = transpose(reshape(temp_maskVector,[ 3,3])) + newLoadCase%stress%values = math_9to33(temp_valueVector) case('t','time','delta') ! increment time newLoadCase%time = IO_floatValue(line,chunkPos,i+1) case('n','incs','increments') ! number of increments @@ -258,9 +256,9 @@ program DAMASK_grid call newLoadCase%rot%fromMatrix(math_9to33(temp_valueVector)) end select enddo readIn - + newLoadCase%followFormerTrajectory = merge(.true.,.false.,currentLoadCase > 1) ! by default, guess from previous load case - + reportAndCheck: if (worldrank == 0) then write (loadcase_string, '(i0)' ) currentLoadCase print'(/,a,i0)', ' load case: ', currentLoadCase @@ -268,8 +266,8 @@ program DAMASK_grid print*, ' drop guessing along trajectory' if (newLoadCase%deformation%myType == 'l') then do j = 1, 3 - if (any(newLoadCase%deformation%maskLogical(j,1:3) .eqv. .true.) .and. & - any(newLoadCase%deformation%maskLogical(j,1:3) .eqv. .false.)) errorID = 832 ! each row should be either fully or not at all defined + if (any(newLoadCase%deformation%mask(j,1:3) .eqv. .true.) .and. & + any(newLoadCase%deformation%mask(j,1:3) .eqv. .false.)) errorID = 832 ! each row should be either fully or not at all defined enddo print*, ' velocity gradient:' else if (newLoadCase%deformation%myType == 'f') then @@ -278,20 +276,19 @@ program DAMASK_grid print*, ' deformation gradient rate:' endif do i = 1, 3; do j = 1, 3 - if(newLoadCase%deformation%maskLogical(i,j)) then + if(newLoadCase%deformation%mask(i,j)) then write(6,'(2x,f12.7)',advance='no') newLoadCase%deformation%values(i,j) else write(6,'(2x,12a)',advance='no') ' * ' endif enddo; write(6,'(/)',advance='no') enddo - if (any(newLoadCase%stress%maskLogical .eqv. & - newLoadCase%deformation%maskLogical)) errorID = 831 ! exclusive or masking only - if (any(newLoadCase%stress%maskLogical .and. transpose(newLoadCase%stress%maskLogical) & - .and. (math_I3<1))) errorID = 838 ! no rotation is allowed by stress BC + if (any(newLoadCase%stress%mask .eqv. newLoadCase%deformation%mask)) errorID = 831 ! exclusive or masking only + if (any(newLoadCase%stress%mask .and. transpose(newLoadCase%stress%mask) .and. (math_I3<1))) & + errorID = 838 ! no rotation is allowed by stress BC print*, ' stress / GPa:' do i = 1, 3; do j = 1, 3 - if(newLoadCase%stress%maskLogical(i,j)) then + if(newLoadCase%stress%mask(i,j)) then write(6,'(2x,f12.7)',advance='no') newLoadCase%stress%values(i,j)*1e-9_pReal else write(6,'(2x,12a)',advance='no') ' * ' @@ -325,13 +322,13 @@ program DAMASK_grid select case (loadCases(1)%ID(field)) case(FIELD_MECH_ID) call mech_init - + case(FIELD_THERMAL_ID) call grid_thermal_spectral_init - + case(FIELD_DAMAGE_ID) call grid_damage_spectral_init - + end select enddo @@ -348,16 +345,16 @@ program DAMASK_grid '.sta',form='FORMATTED', position='APPEND', status='OLD') endif writeHeader endif - + writeUndeformed: if (interface_restartInc < 1) then print'(/,a)', ' ... writing initial configuration to file ........................' call CPFEM_results(0,0.0_pReal) endif writeUndeformed - + loadCaseLooping: do currentLoadCase = 1, size(loadCases) time0 = time ! load case start time guess = loadCases(currentLoadCase)%followFormerTrajectory ! change of load case? homogeneous guess for the first inc - + incLooping: do inc = 1, loadCases(currentLoadCase)%incs totalIncsCounter = totalIncsCounter + 1 @@ -382,13 +379,13 @@ program DAMASK_grid endif endif timeinc = timeinc * real(subStepFactor,pReal)**real(-cutBackLevel,pReal) ! depending on cut back level, decrease time step - + skipping: if (totalIncsCounter <= interface_restartInc) then ! not yet at restart inc? time = time + timeinc ! just advance time, skip already performed calculation guess = .true. ! QUESTION:why forced guessing instead of inheriting loadcase preference else skipping stepFraction = 0 ! fraction scaled by stepFactor**cutLevel - + subStepLooping: do while (stepFraction < subStepFactor**cutBackLevel) remainingLoadCaseTime = loadCases(currentLoadCase)%time+time0 - time time = time + timeinc ! forward target time @@ -417,7 +414,7 @@ program DAMASK_grid deformation_BC = loadCases(currentLoadCase)%deformation, & stress_BC = loadCases(currentLoadCase)%stress, & rotation_BC = loadCases(currentLoadCase)%rot) - + case(FIELD_THERMAL_ID); call grid_thermal_spectral_forward(cutBack) case(FIELD_DAMAGE_ID); call grid_damage_spectral_forward(cutBack) end select @@ -438,9 +435,9 @@ program DAMASK_grid case(FIELD_DAMAGE_ID) solres(field) = grid_damage_spectral_solution(timeinc,timeIncOld) end select - + if (.not. solres(field)%converged) exit ! no solution found - + enddo stagIter = stagIter + 1 stagIterate = stagIter < stagItMax & @@ -474,17 +471,17 @@ program DAMASK_grid if (worldrank == 0) close(statUnit) call quit(0) ! quit endif - + enddo subStepLooping - + cutBackLevel = max(0, cutBackLevel - 1) ! try half number of subincs next inc - + if (all(solres(:)%converged)) then print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' converged' else print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' NOT converged' endif; flush(6) - + if (mod(inc,loadCases(currentLoadCase)%outputFrequency) == 0) then ! at output frequency print'(1/,a)', ' ... writing results to file ......................................' flush(6) @@ -495,17 +492,17 @@ program DAMASK_grid call CPFEM_restartWrite endif endif skipping - + enddo incLooping - + enddo loadCaseLooping - - + + !-------------------------------------------------------------------------------------------------- ! report summary of whole calculation print'(/,a)', ' ###########################################################################' if (worldrank == 0) close(statUnit) - + call quit(0) ! no complains ;) - + end program DAMASK_grid diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 9efd88505..9d9c962e1 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -25,8 +25,6 @@ module grid_mech_FEM implicit none private -!-------------------------------------------------------------------------------------------------- -! derived types type(tSolutionParams) :: params type :: tNumerics @@ -282,7 +280,7 @@ function grid_mech_FEM_solution(incInfoIn) result(solution) !-------------------------------------------------------------------------------------------------- ! update stiffness (and gamma operator) - S = utilities_maskedCompliance(params%rotation_BC,params%stress_mask>.5_pReal,C_volAvg) + S = utilities_maskedCompliance(params%rotation_BC,params%stress_mask,C_volAvg) !-------------------------------------------------------------------------------------------------- ! solve BVP @@ -326,7 +324,7 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, !-------------------------------------------------------------------------------------------------- ! set module wide available data - params%stress_mask = stress_BC%maskFloat + params%stress_mask = stress_BC%mask params%rotation_BC = rotation_BC params%timeinc = timeinc params%timeincOld = timeinc_old @@ -340,20 +338,20 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, else C_volAvgLastInc = C_volAvg - F_aimDot = merge(stress_BC%maskFloat*(F_aim-F_aim_lastInc)/timeinc_old, 0.0_pReal, guess) + F_aimDot = merge(merge((F_aim-F_aim_lastInc)/timeinc_old,0.0_pReal,stress_BC%mask), 0.0_pReal, guess) F_aim_lastInc = F_aim !----------------------------------------------------------------------------------------------- ! calculate rate for aim if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F - F_aimDot = & - F_aimDot + deformation_BC%maskFloat * matmul(deformation_BC%values, F_aim_lastInc) + F_aimDot = F_aimDot & + + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) elseif(deformation_BC%myType=='fdot') then ! F_aimDot is prescribed - F_aimDot = & - F_aimDot + deformation_BC%maskFloat * deformation_BC%values + F_aimDot = F_aimDot & + + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed - F_aimDot = & - F_aimDot + deformation_BC%maskFloat * (deformation_BC%values - F_aim_lastInc)/loadCaseTime + F_aimDot = F_aimDot & + + merge((deformation_BC%values - F_aim_lastInc)/loadCaseTime,.0_pReal,deformation_BC%mask) endif if (guess) then @@ -374,9 +372,9 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, ! update average and local deformation gradients F_aim = F_aim_lastInc + F_aimDot * timeinc if (stress_BC%myType=='p') then - P_aim = P_aim + stress_BC%maskFloat*(stress_BC%values - P_aim)/loadCaseTime*timeinc + P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) elseif (stress_BC%myType=='pdot') then !UNTESTED - P_aim = P_aim + stress_BC%maskFloat*stress_BC%values*timeinc + P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif call VecAXPY(solution_current,timeinc,solution_rate,ierr); CHKERRQ(ierr) @@ -543,7 +541,7 @@ subroutine formResidual(da_local,x_local, & !-------------------------------------------------------------------------------------------------- ! stress BC handling F_aim = F_aim - math_mul3333xx33(S, P_av - P_aim) ! S = 0.0 for no bc - err_BC = maxval(abs(params%stress_mask * (P_av - P_aim))) ! mask = 0.0 when no stress bc + err_BC = maxval(abs(merge(P_av - P_aim,.0_pReal,params%stress_mask))) !-------------------------------------------------------------------------------------------------- ! constructing residual diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index cd795f005..fd5e63663 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -24,8 +24,6 @@ module grid_mech_spectral_basic implicit none private -!-------------------------------------------------------------------------------------------------- -! derived types type(tSolutionParams) :: params type :: tNumerics @@ -247,7 +245,7 @@ function grid_mech_spectral_basic_solution(incInfoIn) result(solution) !-------------------------------------------------------------------------------------------------- ! update stiffness (and gamma operator) - S = utilities_maskedCompliance(params%rotation_BC,params%stress_mask>.5_pReal,C_volAvg) + S = utilities_maskedCompliance(params%rotation_BC,params%stress_mask,C_volAvg) if(num%update_gamma) call utilities_updateGamma(C_minMaxAvg) !-------------------------------------------------------------------------------------------------- @@ -291,7 +289,7 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo !-------------------------------------------------------------------------------------------------- ! set module wide available data - params%stress_mask = stress_BC%maskFloat + params%stress_mask = stress_BC%mask params%rotation_BC = rotation_BC params%timeinc = timeinc params%timeincOld = timeinc_old @@ -305,20 +303,20 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo C_volAvgLastInc = C_volAvg C_minMaxAvgLastInc = C_minMaxAvg - F_aimDot = merge(stress_BC%maskFloat*(F_aim-F_aim_lastInc)/timeinc_old, 0.0_pReal, guess) + F_aimDot = merge(merge((F_aim-F_aim_lastInc)/timeinc_old,0.0_pReal,stress_BC%mask), 0.0_pReal, guess) F_aim_lastInc = F_aim !----------------------------------------------------------------------------------------------- ! calculate rate for aim if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F - F_aimDot = & - F_aimDot + deformation_BC%maskFloat * matmul(deformation_BC%values, F_aim_lastInc) + F_aimDot = F_aimDot & + + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) elseif(deformation_BC%myType=='fdot') then ! F_aimDot is prescribed - F_aimDot = & - F_aimDot + deformation_BC%maskFloat * deformation_BC%values + F_aimDot = F_aimDot & + + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed - F_aimDot = & - F_aimDot + deformation_BC%maskFloat * (deformation_BC%values - F_aim_lastInc)/loadCaseTime + F_aimDot = F_aimDot & + + merge((deformation_BC%values - F_aim_lastInc)/loadCaseTime,.0_pReal,deformation_BC%mask) endif Fdot = utilities_calculateRate(guess, & @@ -333,9 +331,9 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo ! update average and local deformation gradients F_aim = F_aim_lastInc + F_aimDot * timeinc if (stress_BC%myType=='p') then - P_aim = P_aim + stress_BC%maskFloat*(stress_BC%values - P_aim)/loadCaseTime*timeinc + P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) elseif (stress_BC%myType=='pdot') then !UNTESTED - P_aim = P_aim + stress_BC%maskFloat*stress_BC%values*timeinc + P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif F = reshape(utilities_forwardField(timeinc,F_lastInc,Fdot, & ! estimate of F at end of time+timeinc that matches rotated F_aim on average @@ -491,7 +489,7 @@ subroutine formResidual(in, F, & ! stress BC handling deltaF_aim = math_mul3333xx33(S, P_av - P_aim) ! S = 0.0 for no bc F_aim = F_aim - deltaF_aim - err_BC = maxval(abs(params%stress_mask * (P_av - P_aim))) ! mask = 0.0 when no stress bc + err_BC = maxval(abs(merge(P_av - P_aim,.0_pReal,params%stress_mask))) !-------------------------------------------------------------------------------------------------- ! updated deformation gradient using fix point algorithm of basic scheme diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 4dc9d6d7c..91632f3b9 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -24,8 +24,6 @@ module grid_mech_spectral_polarisation implicit none private -!-------------------------------------------------------------------------------------------------- -! derived types type(tSolutionParams) :: params type :: tNumerics @@ -275,7 +273,7 @@ function grid_mech_spectral_polarisation_solution(incInfoIn) result(solution) !-------------------------------------------------------------------------------------------------- ! update stiffness (and gamma operator) - S = utilities_maskedCompliance(params%rotation_BC,params%stress_mask>.5_pReal,C_volAvg) + S = utilities_maskedCompliance(params%rotation_BC,params%stress_mask,C_volAvg) if(num%update_gamma) then call utilities_updateGamma(C_minMaxAvg) C_scale = C_minMaxAvg @@ -325,7 +323,7 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc !-------------------------------------------------------------------------------------------------- ! set module wide available data - params%stress_mask = stress_BC%maskFloat + params%stress_mask = stress_BC%mask params%rotation_BC = rotation_BC params%timeinc = timeinc params%timeincOld = timeinc_old @@ -341,20 +339,20 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc C_volAvgLastInc = C_volAvg C_minMaxAvgLastInc = C_minMaxAvg - F_aimDot = merge(stress_BC%maskFloat*(F_aim-F_aim_lastInc)/timeinc_old, 0.0_pReal, guess) + F_aimDot = merge(merge((F_aim-F_aim_lastInc)/timeinc_old,0.0_pReal,stress_BC%mask), 0.0_pReal, guess) F_aim_lastInc = F_aim !----------------------------------------------------------------------------------------------- ! calculate rate for aim if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F - F_aimDot = & - F_aimDot + deformation_BC%maskFloat * matmul(deformation_BC%values, F_aim_lastInc) + F_aimDot = F_aimDot & + + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) elseif(deformation_BC%myType=='fdot') then ! F_aimDot is prescribed - F_aimDot = & - F_aimDot + deformation_BC%maskFloat * deformation_BC%values + F_aimDot = F_aimDot & + + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed - F_aimDot = & - F_aimDot + deformation_BC%maskFloat * (deformation_BC%values - F_aim_lastInc)/loadCaseTime + F_aimDot = F_aimDot & + + merge((deformation_BC%values - F_aim_lastInc)/loadCaseTime,.0_pReal,deformation_BC%mask) endif Fdot = utilities_calculateRate(guess, & @@ -373,9 +371,9 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc ! update average and local deformation gradients F_aim = F_aim_lastInc + F_aimDot * timeinc if (stress_BC%myType=='p') then - P_aim = P_aim + stress_BC%maskFloat*(stress_BC%values - P_aim)/loadCaseTime*timeinc + P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) elseif (stress_BC%myType=='pdot') then !UNTESTED - P_aim = P_aim + stress_BC%maskFloat*stress_BC%values*timeinc + P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif F = reshape(utilities_forwardField(timeinc,F_lastInc,Fdot, & ! estimate of F at end of time+timeinc that matches rotated F_aim on average @@ -593,9 +591,9 @@ subroutine formResidual(in, FandF_tau, & !-------------------------------------------------------------------------------------------------- ! stress BC handling F_aim = F_aim - math_mul3333xx33(S, P_av - P_aim) ! S = 0.0 for no bc - err_BC = maxval(abs((1.0_pReal-params%stress_mask) * math_mul3333xx33(C_scale,F_aim & - -params%rotation_BC%rotate(F_av)) + & - params%stress_mask * (P_av-P_aim))) ! mask = 0.0 for no bc + err_BC = maxval(abs(merge(P_av-P_aim, & + math_mul3333xx33(C_scale,F_aim-params%rotation_BC%rotate(F_av)),& + params%stress_mask))) ! calculate divergence tensorField_real = 0.0_pReal tensorField_real(1:3,1:3,1:grid(1),1:grid(2),1:grid3) = residual_F !< stress field in disguise diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 52df30c39..896337bf6 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -82,10 +82,9 @@ module spectral_utilities end type tSolutionState type, public :: tBoundaryCondition !< set of parameters defining a boundary condition - real(pReal), dimension(3,3) :: values = 0.0_pReal, & - maskFloat = 0.0_pReal - logical, dimension(3,3) :: maskLogical = .false. - character(len=pStringLen) :: myType = 'None' + real(pReal), dimension(3,3) :: values = 0.0_pReal + logical, dimension(3,3) :: mask = .false. + character(len=pStringLen) :: myType = 'None' end type tBoundaryCondition type, public :: tLoadCase @@ -101,11 +100,11 @@ module spectral_utilities integer(kind(FIELD_UNDEFINED_ID)), allocatable :: ID(:) end type tLoadCase - type, public :: tSolutionParams !< @todo use here the type definition for a full loadcase - real(pReal), dimension(3,3) :: stress_mask, stress_BC + type, public :: tSolutionParams + real(pReal), dimension(3,3) :: stress_BC + logical, dimension(3,3) :: stress_mask type(rotation) :: rotation_BC - real(pReal) :: timeinc - real(pReal) :: timeincOld + real(pReal) :: timeinc, timeincOld end type tSolutionParams type :: tNumerics From c4d0ac71a999c8d10220f3748d84f35505fd6936 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 20 Sep 2020 17:15:39 +0200 Subject: [PATCH 684/958] silences GNU10 compilation warning only for 'DEFENSIVE'. Does not cause any harm --- src/rotations.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rotations.f90 b/src/rotations.f90 index 72046a965..04490fe3c 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -1452,7 +1452,7 @@ subroutine selfTest contains - function quaternion_equal(qu1,qu2) result(ok) + pure recursive function quaternion_equal(qu1,qu2) result(ok) real(pReal), intent(in), dimension(4) :: qu1,qu2 logical :: ok From 329cc1c953cd24cccaa0002152f8cfdc546415e4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 20 Sep 2020 17:36:11 +0200 Subject: [PATCH 685/958] tighter tolerance for stress --- src/grid/grid_mech_FEM.f90 | 12 +++++------ src/grid/grid_mech_spectral_basic.f90 | 14 ++++++------- src/grid/grid_mech_spectral_polarisation.f90 | 22 ++++++++++---------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 9d9c962e1..a6f713adc 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -126,12 +126,12 @@ subroutine grid_mech_FEM_init !------------------------------------------------------------------------------------------------- ! read numerical parameters and do sanity checks num_grid => config_numerics%get('grid',defaultVal=emptyDict) - num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) - num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) - num%eps_stress_atol = num_grid%get_asFloat ('eps_stress_atol', defaultVal=1.0e3_pReal) - num%eps_stress_rtol = num_grid%get_asFloat ('eps_stress_rtol', defaultVal=0.01_pReal) - num%itmin = num_grid%get_asInt ('itmin',defaultVal=1) - num%itmax = num_grid%get_asInt ('itmax',defaultVal=250) + num%eps_div_atol = num_grid%get_asFloat('eps_div_atol', defaultVal=1.0e-4_pReal) + num%eps_div_rtol = num_grid%get_asFloat('eps_div_rtol', defaultVal=5.0e-4_pReal) + num%eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) + num%eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=1.0e-3_pReal) + num%itmin = num_grid%get_asInt ('itmin', defaultVal=1) + num%itmax = num_grid%get_asInt ('itmax', defaultVal=250) if (num%eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') if (num%eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index fd5e63663..4ed41cb7b 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -123,13 +123,13 @@ subroutine grid_mech_spectral_basic_init ! read numerical parameters and do sanity checks num_grid => config_numerics%get('grid',defaultVal=emptyDict) - num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) - num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) - num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) - num%eps_stress_atol = num_grid%get_asFloat ('eps_stress_atol',defaultVal=1.0e3_pReal) - num%eps_stress_rtol = num_grid%get_asFloat ('eps_stress_rtol',defaultVal=0.001_pReal) - num%itmin = num_grid%get_asInt ('itmin',defaultVal=1) - num%itmax = num_grid%get_asInt ('itmax',defaultVal=250) + num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) + num%eps_div_atol = num_grid%get_asFloat('eps_div_atol', defaultVal=1.0e-4_pReal) + num%eps_div_rtol = num_grid%get_asFloat('eps_div_rtol', defaultVal=5.0e-4_pReal) + num%eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) + num%eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=1.0e-3_pReal) + num%itmin = num_grid%get_asInt ('itmin', defaultVal=1) + num%itmax = num_grid%get_asInt ('itmax', defaultVal=250) if (num%eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') if (num%eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 91632f3b9..b8bbcacd8 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -133,17 +133,17 @@ subroutine grid_mech_spectral_polarisation_init ! read numerical parameters and do sanity checks num_grid => config_numerics%get('grid',defaultVal=emptyDict) - num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) - num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) - num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) - num%eps_curl_atol = num_grid%get_asFloat ('eps_curl_atol', defaultVal=1.0e-10_pReal) - num%eps_curl_rtol = num_grid%get_asFloat ('eps_curl_rtol', defaultVal=5.0e-4_pReal) - num%eps_stress_atol = num_grid%get_asFloat ('eps_stress_atol', defaultVal=1.0e3_pReal) - num%eps_stress_rtol = num_grid%get_asFloat ('eps_stress_rtol', defaultVal=0.01_pReal) - num%itmin = num_grid%get_asInt ('itmin', defaultVal=1) - num%itmax = num_grid%get_asInt ('itmax', defaultVal=250) - num%alpha = num_grid%get_asFloat ('alpha', defaultVal=1.0_pReal) - num%beta = num_grid%get_asFloat ('beta', defaultVal=1.0_pReal) + num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) + num%eps_div_atol = num_grid%get_asFloat('eps_div_atol', defaultVal=1.0e-4_pReal) + num%eps_div_rtol = num_grid%get_asFloat('eps_div_rtol', defaultVal=5.0e-4_pReal) + num%eps_curl_atol = num_grid%get_asFloat('eps_curl_atol', defaultVal=1.0e-10_pReal) + num%eps_curl_rtol = num_grid%get_asFloat('eps_curl_rtol', defaultVal=5.0e-4_pReal) + num%eps_stress_atol = num_grid%get_asFloat('eps_stress_atol',defaultVal=1.0e3_pReal) + num%eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=1.0e-3_pReal) + num%itmin = num_grid%get_asInt ('itmin', defaultVal=1) + num%itmax = num_grid%get_asInt ('itmax', defaultVal=250) + num%alpha = num_grid%get_asFloat('alpha', defaultVal=1.0_pReal) + num%beta = num_grid%get_asFloat('beta', defaultVal=1.0_pReal) if (num%eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') if (num%eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') From 5b0b0de6b4018d9678a8a6a8ff38859b9c55d695 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sun, 20 Sep 2020 12:22:41 -0400 Subject: [PATCH 686/958] assertion reports offense; fixed seeds for spherical and fiber --- python/tests/test_Rotation.py | 99 ++++++++++++++--------------------- 1 file changed, 39 insertions(+), 60 deletions(-) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 5435895a2..45dfc4f5e 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -461,7 +461,7 @@ def mul(me, other): if other.shape == (3,): A = me.quaternion[0]**2.0 - np.dot(me.quaternion[1:],me.quaternion[1:]) B = 2.0 * np.dot(me.quaternion[1:],other) - C = 2.0 * _P*me.quaternion[0] + C = 2.0 * _P * me.quaternion[0] return A*other + B*me.quaternion[1:] + C * np.cross(me.quaternion[1:],other) @@ -496,9 +496,8 @@ class TestRotation: o = backward(forward(m)) ok = np.allclose(m,o,atol=atol) if np.isclose(rot.as_quaternion()[0],0.0,atol=atol): - ok = ok or np.allclose(m*-1.,o,atol=atol) - print(m,o,rot.as_quaternion()) - assert ok and np.isclose(np.linalg.norm(o),1.0) + ok |= np.allclose(m*-1.,o,atol=atol) + assert ok and np.isclose(np.linalg.norm(o),1.0), f'{m},{o},{rot.as_quaternion()}' @pytest.mark.parametrize('forward,backward',[(Rotation._om2qu,Rotation._qu2om), (Rotation._om2eu,Rotation._eu2om), @@ -512,8 +511,7 @@ class TestRotation: m = rot.as_matrix() o = backward(forward(m)) ok = np.allclose(m,o,atol=atol) - print(m,o,rot.as_quaternion()) - assert ok and np.isclose(np.linalg.det(o),1.0) + assert ok and np.isclose(np.linalg.det(o),1.0), f'{m},{o},{rot.as_quaternion()}' @pytest.mark.parametrize('forward,backward',[(Rotation._eu2qu,Rotation._qu2eu), (Rotation._eu2om,Rotation._om2eu), @@ -531,9 +529,9 @@ class TestRotation: ok = ok or np.allclose(np.where(np.isclose(m,u),m-u,m),np.where(np.isclose(o,u),o-u,o),atol=atol) if np.isclose(m[1],0.0,atol=atol) or np.isclose(m[1],np.pi,atol=atol): sum_phi = np.unwrap([m[0]+m[2],o[0]+o[2]]) - ok = ok or np.isclose(sum_phi[0],sum_phi[1],atol=atol) - print(m,o,rot.as_quaternion()) - assert ok and (np.zeros(3)-1.e-9 <= o).all() and (o <= np.array([np.pi*2.,np.pi,np.pi*2.])+1.e-9).all() + ok |= np.isclose(sum_phi[0],sum_phi[1],atol=atol) + assert ok and (np.zeros(3)-1.e-9 <= o).all() \ + and (o <= np.array([np.pi*2.,np.pi,np.pi*2.])+1.e-9).all(), f'{m},{o},{rot.as_quaternion()}' @pytest.mark.parametrize('forward,backward',[(Rotation._ax2qu,Rotation._qu2ax), (Rotation._ax2om,Rotation._om2ax), @@ -548,9 +546,8 @@ class TestRotation: o = backward(forward(m)) ok = np.allclose(m,o,atol=atol) if np.isclose(m[3],np.pi,atol=atol): - ok = ok or np.allclose(m*np.array([-1.,-1.,-1.,1.]),o,atol=atol) - print(m,o,rot.as_quaternion()) - assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) and o[3]<=np.pi+1.e-9 + ok |= np.allclose(m*np.array([-1.,-1.,-1.,1.]),o,atol=atol) + assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) and o[3]<=np.pi+1.e-9, f'{m},{o},{rot.as_quaternion()}' @pytest.mark.parametrize('forward,backward',[(Rotation._ro2qu,Rotation._qu2ro), #(Rotation._ro2om,Rotation._om2ro), @@ -566,8 +563,7 @@ class TestRotation: o = backward(forward(m)) ok = np.allclose(np.clip(m,None,cutoff),np.clip(o,None,cutoff),atol=atol) ok = ok or np.isclose(m[3],0.0,atol=atol) - print(m,o,rot.as_quaternion()) - assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) + assert ok and np.isclose(np.linalg.norm(o[:3]),1.0), f'{m},{o},{rot.as_quaternion()}' @pytest.mark.parametrize('forward,backward',[(Rotation._ho2qu,Rotation._qu2ho), (Rotation._ho2om,Rotation._om2ho), @@ -581,8 +577,7 @@ class TestRotation: m = rot.as_homochoric() o = backward(forward(m)) ok = np.allclose(m,o,atol=atol) - print(m,o,rot.as_quaternion()) - assert ok and np.linalg.norm(o) < _R1 + 1.e-9 + assert ok and np.linalg.norm(o) < _R1 + 1.e-9, f'{m},{o},{rot.as_quaternion()}' @pytest.mark.parametrize('forward,backward',[(Rotation._cu2qu,Rotation._qu2cu), (Rotation._cu2om,Rotation._om2cu), @@ -598,8 +593,7 @@ class TestRotation: ok = np.allclose(m,o,atol=atol) if np.count_nonzero(np.isclose(np.abs(o),np.pi**(2./3.)*.5)): ok = ok or np.allclose(m*-1.,o,atol=atol) - print(m,o,rot.as_quaternion()) - assert ok and np.max(np.abs(o)) < np.pi**(2./3.) * 0.5 + 1.e-9 + assert ok and np.max(np.abs(o)) < np.pi**(2./3.) * 0.5 + 1.e-9, f'{m},{o},{rot.as_quaternion()}' @pytest.mark.parametrize('vectorized, single',[(Rotation._qu2om,qu2om), (Rotation._qu2eu,qu2eu), @@ -612,8 +606,7 @@ class TestRotation: vectorized(qu.reshape(qu.shape[0]//2,-1,4)) co = vectorized(qu) for q,c in zip(qu,co): - print(q,c) - assert np.allclose(single(q),c) and np.allclose(single(q),vectorized(q)) + assert np.allclose(single(q),c) and np.allclose(single(q),vectorized(q)), f'{q},{c}' @pytest.mark.parametrize('vectorized, single',[(Rotation._om2qu,om2qu), @@ -625,8 +618,7 @@ class TestRotation: vectorized(om.reshape(om.shape[0]//2,-1,3,3)) co = vectorized(om) for o,c in zip(om,co): - print(o,c) - assert np.allclose(single(o),c) and np.allclose(single(o),vectorized(o)) + assert np.allclose(single(o),c) and np.allclose(single(o),vectorized(o)), f'{o},{c}' @pytest.mark.parametrize('vectorized, single',[(Rotation._eu2qu,eu2qu), (Rotation._eu2om,eu2om), @@ -638,8 +630,7 @@ class TestRotation: vectorized(eu.reshape(eu.shape[0]//2,-1,3)) co = vectorized(eu) for e,c in zip(eu,co): - print(e,c) - assert np.allclose(single(e),c) and np.allclose(single(e),vectorized(e)) + assert np.allclose(single(e),c) and np.allclose(single(e),vectorized(e)), f'{e},{c}' @pytest.mark.parametrize('vectorized, single',[(Rotation._ax2qu,ax2qu), (Rotation._ax2om,ax2om), @@ -651,8 +642,7 @@ class TestRotation: vectorized(ax.reshape(ax.shape[0]//2,-1,4)) co = vectorized(ax) for a,c in zip(ax,co): - print(a,c) - assert np.allclose(single(a),c) and np.allclose(single(a),vectorized(a)) + assert np.allclose(single(a),c) and np.allclose(single(a),vectorized(a)), f'{a},{c}' @pytest.mark.parametrize('vectorized, single',[(Rotation._ro2ax,ro2ax), @@ -663,8 +653,7 @@ class TestRotation: vectorized(ro.reshape(ro.shape[0]//2,-1,4)) co = vectorized(ro) for r,c in zip(ro,co): - print(r,c) - assert np.allclose(single(r),c) and np.allclose(single(r),vectorized(r)) + assert np.allclose(single(r),c) and np.allclose(single(r),vectorized(r)), f'{r},{c}' @pytest.mark.parametrize('vectorized, single',[(Rotation._ho2ax,ho2ax), (Rotation._ho2cu,ho2cu)]) @@ -674,8 +663,7 @@ class TestRotation: vectorized(ho.reshape(ho.shape[0]//2,-1,3)) co = vectorized(ho) for h,c in zip(ho,co): - print(h,c) - assert np.allclose(single(h),c) and np.allclose(single(h),vectorized(h)) + assert np.allclose(single(h),c) and np.allclose(single(h),vectorized(h)), f'{h},{c}' @pytest.mark.parametrize('vectorized, single',[(Rotation._cu2ho,cu2ho)]) def test_cubochoric_vectorization(self,set_of_rotations,vectorized,single): @@ -684,8 +672,7 @@ class TestRotation: vectorized(cu.reshape(cu.shape[0]//2,-1,3)) co = vectorized(cu) for u,c in zip(cu,co): - print(u,c) - assert np.allclose(single(u),c) and np.allclose(single(u),vectorized(u)) + assert np.allclose(single(u),c) and np.allclose(single(u),vectorized(u)), f'{u},{c}' @pytest.mark.parametrize('func',[Rotation.from_axis_angle]) def test_normalization_vectorization(self,func): @@ -703,9 +690,8 @@ class TestRotation: o = Rotation.from_Eulers(rot.as_Eulers(degrees),degrees).as_quaternion() ok = np.allclose(m,o,atol=atol) if np.isclose(rot.as_quaternion()[0],0.0,atol=atol): - ok = ok or np.allclose(m*-1.,o,atol=atol) - print(m,o,rot.as_quaternion()) - assert ok and np.isclose(np.linalg.norm(o),1.0) + ok |= np.allclose(m*-1.,o,atol=atol) + assert ok and np.isclose(np.linalg.norm(o),1.0), f'{m},{o},{rot.as_quaternion()}' @pytest.mark.parametrize('P',[1,-1]) @pytest.mark.parametrize('normalize',[True,False]) @@ -717,12 +703,12 @@ class TestRotation: o = Rotation.from_axis_angle(rot.as_axis_angle(degrees)*c,degrees,normalize,P).as_Eulers() u = np.array([np.pi*2,np.pi,np.pi*2]) ok = np.allclose(m,o,atol=atol) - ok = ok or np.allclose(np.where(np.isclose(m,u),m-u,m),np.where(np.isclose(o,u),o-u,o),atol=atol) + ok |= np.allclose(np.where(np.isclose(m,u),m-u,m),np.where(np.isclose(o,u),o-u,o),atol=atol) if np.isclose(m[1],0.0,atol=atol) or np.isclose(m[1],np.pi,atol=atol): sum_phi = np.unwrap([m[0]+m[2],o[0]+o[2]]) - ok = ok or np.isclose(sum_phi[0],sum_phi[1],atol=atol) - print(m,o,rot.as_quaternion()) - assert ok and (np.zeros(3)-1.e-9 <= o).all() and (o <= np.array([np.pi*2.,np.pi,np.pi*2.])+1.e-9).all() + ok |= np.isclose(sum_phi[0],sum_phi[1],atol=atol) + assert ok and (np.zeros(3)-1.e-9 <= o).all() \ + and (o <= np.array([np.pi*2.,np.pi,np.pi*2.])+1.e-9).all(), f'{m},{o},{rot.as_quaternion()}' def test_matrix(self,set_of_rotations): for rot in set_of_rotations: @@ -731,8 +717,8 @@ class TestRotation: ok = np.allclose(m,o,atol=atol) if np.isclose(m[3],np.pi,atol=atol): ok = ok or np.allclose(m*np.array([-1.,-1.,-1.,1.]),o,atol=atol) - print(m,o,rot.as_quaternion()) - assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) and o[3]<=np.pi+1.e-9 + assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) \ + and o[3]<=np.pi+1.e-9, f'{m},{o},{rot.as_quaternion()}' @pytest.mark.parametrize('P',[1,-1]) @pytest.mark.parametrize('normalize',[True,False]) @@ -742,8 +728,7 @@ class TestRotation: m = rot.as_matrix() o = Rotation.from_Rodrigues(rot.as_Rodrigues()*c,normalize,P).as_matrix() ok = np.allclose(m,o,atol=atol) - print(m,o) - assert ok and np.isclose(np.linalg.det(o),1.0) + assert ok and np.isclose(np.linalg.det(o),1.0), f'{m},{o}' @pytest.mark.parametrize('P',[1,-1]) def test_homochoric(self,set_of_rotations,P): @@ -753,8 +738,7 @@ class TestRotation: o = Rotation.from_homochoric(rot.as_homochoric()*P*-1,P).as_Rodrigues() ok = np.allclose(np.clip(m,None,cutoff),np.clip(o,None,cutoff),atol=atol) ok = ok or np.isclose(m[3],0.0,atol=atol) - print(m,o,rot.as_quaternion()) - assert ok and np.isclose(np.linalg.norm(o[:3]),1.0) + assert ok and np.isclose(np.linalg.norm(o[:3]),1.0), f'{m},{o},{rot.as_quaternion()}' @pytest.mark.parametrize('P',[1,-1]) def test_cubochoric(self,set_of_rotations,P): @@ -762,8 +746,7 @@ class TestRotation: m = rot.as_homochoric() o = Rotation.from_cubochoric(rot.as_cubochoric()*P*-1,P).as_homochoric() ok = np.allclose(m,o,atol=atol) - print(m,o,rot.as_quaternion()) - assert ok and np.linalg.norm(o) < (3.*np.pi/4.)**(1./3.) + 1.e-9 + assert ok and np.linalg.norm(o) < (3.*np.pi/4.)**(1./3.) + 1.e-9, f'{m},{o},{rot.as_quaternion()}' @pytest.mark.parametrize('P',[1,-1]) @pytest.mark.parametrize('accept_homomorph',[True,False]) @@ -774,9 +757,8 @@ class TestRotation: o = Rotation.from_quaternion(rot.as_quaternion()*c,accept_homomorph,P).as_cubochoric() ok = np.allclose(m,o,atol=atol) if np.count_nonzero(np.isclose(np.abs(o),np.pi**(2./3.)*.5)): - ok = ok or np.allclose(m*-1.,o,atol=atol) - print(m,o,rot.as_quaternion()) - assert ok and o.max() < np.pi**(2./3.)*0.5+1.e-9 + ok |= np.allclose(m*-1.,o,atol=atol) + assert ok and o.max() < np.pi**(2./3.)*0.5+1.e-9, f'{m},{o},{rot.as_quaternion()}' @pytest.mark.parametrize('reciprocal',[True,False]) def test_basis(self,set_of_rotations,reciprocal): @@ -858,8 +840,7 @@ class TestRotation: for rot in set_of_rotations: v = rot.broadcast_to((5,)) @ data for i in range(data.shape[0]): - print(i-data[i]) - assert np.allclose(mul(rot,data[i]),v[i]) + assert np.allclose(mul(rot,data[i]),v[i]), f'{i-data[i]}' @pytest.mark.parametrize('data',[np.random.rand(3), @@ -927,33 +908,31 @@ class TestRotation: @pytest.mark.parametrize('N',[1000,10000,100000]) def test_spherical_component(self,N,sigma): c = Rotation.from_random() - o = Rotation.from_spherical_component(c,sigma,N) + o = Rotation.from_spherical_component(c,sigma,N,seed=N+sigma) _, angles = c.misorientation(o).as_axis_angle(pair=True,degrees=True) angles[::2] *= -1 # flip angle for every second to symmetrize distribution p = stats.normaltest(angles)[1] sigma_out = np.std(angles) - print(f'\np: {p}, sigma ratio {sigma/sigma_out}') - assert (.9 < sigma/sigma_out < 1.1) and p > 0.001 + assert (.9 < sigma/sigma_out < 1.1) and p > 1, f'{sigma/sigma_out},{p}' @pytest.mark.parametrize('sigma',[5,10,15,20]) @pytest.mark.parametrize('N',[1000,10000,100000]) def test_from_fiber_component(self,N,sigma): """https://en.wikipedia.org/wiki/Full_width_at_half_maximum.""" - alpha = np.random.random(2)*np.pi - beta = np.random.random(2)*np.pi + alpha = np.random.random()*2*np.pi,np.arccos(np.random.random()) + beta = np.random.random()*2*np.pi,np.arccos(np.random.random()) f_in_C = np.array([np.sin(alpha[0])*np.cos(alpha[1]), np.sin(alpha[0])*np.sin(alpha[1]), np.cos(alpha[0])]) f_in_S = np.array([np.sin(beta[0] )*np.cos(beta[1] ), np.sin(beta[0] )*np.sin(beta[1] ), np.cos(beta[0] )]) ax = np.append(np.cross(f_in_C,f_in_S), - np.arccos(np.dot(f_in_C,f_in_S))) n = Rotation.from_axis_angle(ax if ax[3] > 0.0 else ax*-1.0 ,normalize=True) # rotation to align fiber axis in crystal and sample system - o = Rotation.from_fiber_component(alpha,beta,np.radians(sigma),N,False) + o = Rotation.from_fiber_component(alpha,beta,np.radians(sigma),N,False,seed=N+sigma) angles = np.arccos(np.clip(np.dot(o@np.broadcast_to(f_in_S,(N,3)),n@f_in_S),-1,1)) dist = np.array(angles) * (np.random.randint(0,2,N)*2-1) p = stats.normaltest(dist)[1] sigma_out = np.degrees(np.std(dist)) - print(f'\np: {p}, sigma ratio {sigma/sigma_out}') - assert (.9 < sigma/sigma_out < 1.1) and p > 0.001 + assert (.9 < sigma/sigma_out < 1.1) and p > 0.001, f'{sigma/sigma_out},{p}' From 5895e740290429dca0a7d8d9e54b63af0920d8c9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 20 Sep 2020 19:13:54 +0200 Subject: [PATCH 687/958] p is never above 1 1e-4 is quite low, usually we are far above. 1e-3 from https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.normaltest.html is not too far away. --- python/tests/test_Rotation.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 45dfc4f5e..3785e8da1 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -908,13 +908,13 @@ class TestRotation: @pytest.mark.parametrize('N',[1000,10000,100000]) def test_spherical_component(self,N,sigma): c = Rotation.from_random() - o = Rotation.from_spherical_component(c,sigma,N,seed=N+sigma) + o = Rotation.from_spherical_component(c,sigma,N) _, angles = c.misorientation(o).as_axis_angle(pair=True,degrees=True) angles[::2] *= -1 # flip angle for every second to symmetrize distribution p = stats.normaltest(angles)[1] sigma_out = np.std(angles) - assert (.9 < sigma/sigma_out < 1.1) and p > 1, f'{sigma/sigma_out},{p}' + assert (.9 < sigma/sigma_out < 1.1) and p > 1e-4, f'{sigma/sigma_out},{p}' @pytest.mark.parametrize('sigma',[5,10,15,20]) @@ -929,10 +929,10 @@ class TestRotation: ax = np.append(np.cross(f_in_C,f_in_S), - np.arccos(np.dot(f_in_C,f_in_S))) n = Rotation.from_axis_angle(ax if ax[3] > 0.0 else ax*-1.0 ,normalize=True) # rotation to align fiber axis in crystal and sample system - o = Rotation.from_fiber_component(alpha,beta,np.radians(sigma),N,False,seed=N+sigma) + o = Rotation.from_fiber_component(alpha,beta,np.radians(sigma),N,False) angles = np.arccos(np.clip(np.dot(o@np.broadcast_to(f_in_S,(N,3)),n@f_in_S),-1,1)) dist = np.array(angles) * (np.random.randint(0,2,N)*2-1) p = stats.normaltest(dist)[1] sigma_out = np.degrees(np.std(dist)) - assert (.9 < sigma/sigma_out < 1.1) and p > 0.001, f'{sigma/sigma_out},{p}' + assert (.9 < sigma/sigma_out < 1.1) and p > 1.e-4, f'{sigma/sigma_out},{p}' From 9ed92781833fdd25b6b95c23fa60f9c37bb828a2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 20 Sep 2020 19:46:33 +0200 Subject: [PATCH 688/958] polishing --- src/material.f90 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/material.f90 b/src/material.f90 index f8e487b66..cabc57835 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -2,7 +2,7 @@ !> @author Franz Roters, Max-Planck-Institut für Eisenforschung GmbH !> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH !> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH -!> @brief Parses material config file, either solverJobName.materialConfig or material.config +!> @brief Defines phase and homogenization !-------------------------------------------------------------------------------------------------- module material use prec @@ -83,7 +83,7 @@ module material material_homogenizationAt !< homogenization ID of each element integer, dimension(:,:), allocatable, public, target :: & ! (ip,elem) ToDo: ugly target for mapping hack material_homogenizationMemberAt !< position of the element within its homogenization instance - integer, dimension(:,:), allocatable, public, protected :: & ! (constituent,elem) + integer, dimension(:,:), allocatable, public, protected :: & ! (constituent,elem) material_phaseAt !< phase ID of each element integer, dimension(:,:,:), allocatable, public, protected :: & ! (constituent,elem) material_phaseMemberAt !< position of the element within its phase instance @@ -326,7 +326,7 @@ subroutine material_parseMicrostructure constituents, & !> list of constituents constituent, & !> constituent definition phases, & - homogenization + homogenizations integer, dimension(:), allocatable :: & counterPhase, & @@ -362,8 +362,8 @@ subroutine material_parseMicrostructure phases => config_material%get('phase') allocate(counterPhase(phases%length),source=0) - homogenization => config_material%get('homogenization') - allocate(counterHomogenization(homogenization%length),source=0) + homogenizations => config_material%get('homogenization') + allocate(counterHomogenization(homogenizations%length),source=0) do e = 1, discretization_nElem microstructure => microstructures%get(discretization_microstructureAt(e)) From 6ab88aad2b946dfc2f050f0b7f6ba56c14627668 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 20 Sep 2020 20:45:06 +0200 Subject: [PATCH 689/958] default format for Table is ASCII hence, renamed load_ASCII/save_ASCII to load/save --- PRIVATE | 2 +- processing/legacy/addAPS34IDEstrainCoords.py | 4 ++-- processing/legacy/addCumulative.py | 4 ++-- processing/post/DADF5_postResults.py | 2 +- processing/post/addCompatibilityMismatch.py | 4 ++-- processing/post/addCurl.py | 4 ++-- processing/post/addDerivative.py | 4 ++-- processing/post/addDisplacement.py | 6 +++--- processing/post/addDivergence.py | 4 ++-- processing/post/addEuclideanDistance.py | 4 ++-- processing/post/addGaussian.py | 4 ++-- processing/post/addGradient.py | 4 ++-- processing/post/addOrientations.py | 4 ++-- processing/post/addSchmidfactors.py | 4 ++-- processing/post/permuteData.py | 4 ++-- processing/pre/geom_fromDREAM3D.py | 2 +- processing/pre/geom_fromTable.py | 2 +- processing/pre/geom_fromVoronoiTessellation.py | 4 ++-- processing/pre/geom_grainGrowth.py | 2 +- processing/pre/hybridIA_linODFsampling.py | 2 +- processing/pre/seeds_fromDistribution.py | 4 ++-- processing/pre/seeds_fromGeom.py | 2 +- processing/pre/seeds_fromPokes.py | 2 +- processing/pre/seeds_fromRandom.py | 2 +- python/damask/_colormap.py | 4 ++-- python/damask/_table.py | 4 ++-- python/damask/_test.py | 8 ++++---- python/tests/test_Orientation.py | 4 ++-- python/tests/test_Table.py | 18 +++++++++--------- 29 files changed, 59 insertions(+), 59 deletions(-) diff --git a/PRIVATE b/PRIVATE index 576f3af61..7c543a98e 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 576f3af61c3d893b608809cc91e46647809010f1 +Subproject commit 7c543a98e89840f1f1540c7af8c62a19084dab6e diff --git a/processing/legacy/addAPS34IDEstrainCoords.py b/processing/legacy/addAPS34IDEstrainCoords.py index 8f566b614..465f03e4e 100755 --- a/processing/legacy/addAPS34IDEstrainCoords.py +++ b/processing/legacy/addAPS34IDEstrainCoords.py @@ -42,10 +42,10 @@ rot_to_TSL = damask.Rotation.from_axis_angle([-1,0,0,.75*np.pi]) for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) coord = - table.get(options.frame) coord[:,2] += table.get(options.depth)[:,0] table.add('coord',rot_to_TSL.broadcast_to(coord.shape[0]) @ coord,scriptID+' '+' '.join(sys.argv[1:]))\ - .save_ASCII((sys.stdout if name is None else name),legacy=True) + .save((sys.stdout if name is None else name),legacy=True) diff --git a/processing/legacy/addCumulative.py b/processing/legacy/addCumulative.py index 0d88cc575..3ba527acd 100755 --- a/processing/legacy/addCumulative.py +++ b/processing/legacy/addCumulative.py @@ -39,10 +39,10 @@ if options.labels is None: for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) for label in options.labels: table = table.add('cum_{}({})'.format('prod' if options.product else 'sum',label), np.cumprod(table.get(label),0) if options.product else np.cumsum(table.get(label),0), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII((sys.stdout if name is None else name),legacy=True) + table.save((sys.stdout if name is None else name),legacy=True) diff --git a/processing/post/DADF5_postResults.py b/processing/post/DADF5_postResults.py index 0226ad551..02eb72d87 100755 --- a/processing/post/DADF5_postResults.py +++ b/processing/post/DADF5_postResults.py @@ -60,4 +60,4 @@ for filename in options.filenames: os.mkdir(dirname,0o755) file_out = '{}_inc{}.txt'.format(os.path.splitext(os.path.split(filename)[-1])[0], inc[3:].zfill(N_digits)) - table.save_ASCII(os.path.join(dirname,file_out),legacy=True) + table.save(os.path.join(dirname,file_out),legacy=True) diff --git a/processing/post/addCompatibilityMismatch.py b/processing/post/addCompatibilityMismatch.py index 40a1391e0..0e7d3ea42 100755 --- a/processing/post/addCompatibilityMismatch.py +++ b/processing/post/addCompatibilityMismatch.py @@ -172,7 +172,7 @@ if filenames == []: filenames = [None] for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) F = table.get(options.defgrad).reshape(tuple(grid)+(-1,),order='F').reshape(tuple(grid)+(3,3)) @@ -191,4 +191,4 @@ for name in filenames: volumeMismatch.reshape(-1,1,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII((sys.stdout if name is None else name), legacy=True) + table.save((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addCurl.py b/processing/post/addCurl.py index 5a5f4c074..699fc945f 100755 --- a/processing/post/addCurl.py +++ b/processing/post/addCurl.py @@ -43,7 +43,7 @@ if options.labels is None: parser.error('no data column specified.') for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) for label in options.labels: @@ -55,4 +55,4 @@ for name in filenames: curl.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape),order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII((sys.stdout if name is None else name), legacy=True) + table.save((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addDerivative.py b/processing/post/addDerivative.py index 63a5bf73e..99016f4ef 100755 --- a/processing/post/addDerivative.py +++ b/processing/post/addDerivative.py @@ -65,10 +65,10 @@ if options.labels is None: for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) for label in options.labels: table = table.add('d({})/d({})'.format(label,options.coordinates), derivative(table.get(options.coordinates),table.get(label)), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII((sys.stdout if name is None else name), legacy=True) + table.save((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addDisplacement.py b/processing/post/addDisplacement.py index 079bcd970..a6cff86ab 100755 --- a/processing/post/addDisplacement.py +++ b/processing/post/addDisplacement.py @@ -47,7 +47,7 @@ parser.set_defaults(f = 'f', for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) F = table.get(options.f).reshape(tuple(grid)+(-1,),order='F').reshape(tuple(grid)+(3,3)) @@ -60,7 +60,7 @@ for name in filenames: .add('fluct({}).{}'.format(options.f,options.pos), damask.grid_filters.node_displacement_fluct(size,F).reshape(-1,3,order='F'), scriptID+' '+' '.join(sys.argv[1:]))\ - .save_ASCII((sys.stdout if name is None else os.path.splitext(name)[0]+'_nodal.txt'), legacy=True) + .save((sys.stdout if name is None else os.path.splitext(name)[0]+'_nodal.txt'), legacy=True) else: table.add('avg({}).{}'.format(options.f,options.pos), damask.grid_filters.cell_displacement_avg(size,F).reshape(-1,3,order='F'), @@ -68,4 +68,4 @@ for name in filenames: .add('fluct({}).{}'.format(options.f,options.pos), damask.grid_filters.cell_displacement_fluct(size,F).reshape(-1,3,order='F'), scriptID+' '+' '.join(sys.argv[1:]))\ - .save_ASCII((sys.stdout if name is None else name), legacy=True) + .save((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addDivergence.py b/processing/post/addDivergence.py index bc4880788..208a0f7b6 100755 --- a/processing/post/addDivergence.py +++ b/processing/post/addDivergence.py @@ -43,7 +43,7 @@ if options.labels is None: parser.error('no data column specified.') for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) for label in options.labels: @@ -55,4 +55,4 @@ for name in filenames: div.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape)//3,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII((sys.stdout if name is None else name), legacy=True) + table.save((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addEuclideanDistance.py b/processing/post/addEuclideanDistance.py index 7e99dc3d5..fc43542bd 100755 --- a/processing/post/addEuclideanDistance.py +++ b/processing/post/addEuclideanDistance.py @@ -142,7 +142,7 @@ for i,feature in enumerate(features): for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) neighborhood = neighborhoods[options.neighborhood] @@ -184,4 +184,4 @@ for name in filenames: distance[i,:], scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII((sys.stdout if name is None else name), legacy=True) + table.save((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addGaussian.py b/processing/post/addGaussian.py index 095a17bc2..f00122c63 100755 --- a/processing/post/addGaussian.py +++ b/processing/post/addGaussian.py @@ -63,7 +63,7 @@ if options.labels is None: parser.error('no data column specified.') for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) damask.grid_filters.coord0_check(table.get(options.pos)) for label in options.labels: @@ -73,4 +73,4 @@ for name in filenames: mode = 'wrap' if options.periodic else 'nearest'), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII((sys.stdout if name is None else name), legacy=True) + table.save((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addGradient.py b/processing/post/addGradient.py index 69241598c..d049b65d7 100755 --- a/processing/post/addGradient.py +++ b/processing/post/addGradient.py @@ -43,7 +43,7 @@ if options.labels is None: parser.error('no data column specified.') for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) for label in options.labels: @@ -55,4 +55,4 @@ for name in filenames: grad.reshape(tuple(grid)+(-1,)).reshape(-1,np.prod(shape)*3,order='F'), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII((sys.stdout if name is None else name), legacy=True) + table.save((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addOrientations.py b/processing/post/addOrientations.py index 16f8d62d6..6a02cca08 100755 --- a/processing/post/addOrientations.py +++ b/processing/post/addOrientations.py @@ -110,7 +110,7 @@ R = damask.Rotation.from_axis_angle(np.array(options.labrotation),options.degree for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) if options.eulers is not None: label = options.eulers @@ -147,4 +147,4 @@ for name in filenames: if 'axisangle' in options.output: table = table.add('om({})'.format(label),o.as_axisangle(options.degrees), scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII((sys.stdout if name is None else name), legacy=True) + table.save((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/addSchmidfactors.py b/processing/post/addSchmidfactors.py index beaf18331..8f43308cb 100755 --- a/processing/post/addSchmidfactors.py +++ b/processing/post/addSchmidfactors.py @@ -175,7 +175,7 @@ labels = ['S[{direction[0]:.1g}_{direction[1]:.1g}_{direction[2]:.1g}]' for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) o = damask.Rotation.from_quaternion(table.get(options.quaternion)) @@ -189,4 +189,4 @@ for name in filenames: for i,label in enumerate(labels): table = table.add(label,S[:,i],scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII((sys.stdout if name is None else name), legacy=True) + table.save((sys.stdout if name is None else name), legacy=True) diff --git a/processing/post/permuteData.py b/processing/post/permuteData.py index 34451404c..073ccfd9f 100755 --- a/processing/post/permuteData.py +++ b/processing/post/permuteData.py @@ -47,7 +47,7 @@ if filenames == []: filenames = [None] for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) randomSeed = int(os.urandom(4).hex(), 16) if options.randomSeed is None else options.randomSeed # random seed per file rng = np.random.default_rng(randomSeed) @@ -58,4 +58,4 @@ for name in filenames: rng.shuffle(uniques) table = table.set(label,uniques[inverse], scriptID+' '+' '.join(sys.argv[1:])) - table.save_ASCII((sys.stdout if name is None else name), legacy=True) + table.save((sys.stdout if name is None else name), legacy=True) diff --git a/processing/pre/geom_fromDREAM3D.py b/processing/pre/geom_fromDREAM3D.py index 471435766..3faa07a17 100755 --- a/processing/pre/geom_fromDREAM3D.py +++ b/processing/pre/geom_fromDREAM3D.py @@ -154,4 +154,4 @@ for name in filenames: homogenization=options.homogenization,comments=header) damask.util.croak(geom) - geom.save_ASCII(os.path.splitext(name)[0]+'.geom',pack=False) + geom.save_ASCII(os.path.splitext(name)[0]+'.geom',compress=False) diff --git a/processing/pre/geom_fromTable.py b/processing/pre/geom_fromTable.py index 11c0761b5..3d6618bd2 100755 --- a/processing/pre/geom_fromTable.py +++ b/processing/pre/geom_fromTable.py @@ -68,7 +68,7 @@ if options.axes is not None and not set(options.axes).issubset(set(['x','+x','-x for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) table.sort_by(['{}_{}'.format(i,options.pos) for i in range(3,0,-1)]) # x fast, y slow grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) diff --git a/processing/pre/geom_fromVoronoiTessellation.py b/processing/pre/geom_fromVoronoiTessellation.py index a3a54882a..5586d3bc8 100755 --- a/processing/pre/geom_fromVoronoiTessellation.py +++ b/processing/pre/geom_fromVoronoiTessellation.py @@ -171,7 +171,7 @@ if filenames == []: filenames = [None] for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) size = np.ones(3) origin = np.zeros(3) @@ -228,4 +228,4 @@ for name in filenames: homogenization=options.homogenization,comments=header) damask.util.croak(geom) - geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',pack=False) + geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',compress=False) diff --git a/processing/pre/geom_grainGrowth.py b/processing/pre/geom_grainGrowth.py index dbe1f1a74..5fa0ed0b5 100755 --- a/processing/pre/geom_grainGrowth.py +++ b/processing/pre/geom_grainGrowth.py @@ -172,4 +172,4 @@ for name in filenames: geom = geom.duplicate(microstructure[0:grid_original[0],0:grid_original[1],0:grid_original[2]]) geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - geom.save_ASCII(sys.stdout if name is None else name,pack=False) + geom.save_ASCII(sys.stdout if name is None else name,compress=False) diff --git a/processing/pre/hybridIA_linODFsampling.py b/processing/pre/hybridIA_linODFsampling.py index 01704197e..f99a2dd89 100755 --- a/processing/pre/hybridIA_linODFsampling.py +++ b/processing/pre/hybridIA_linODFsampling.py @@ -234,7 +234,7 @@ if filenames == []: filenames = [None] for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) + table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) randomSeed = int(os.urandom(4).hex(),16) if options.randomSeed is None else options.randomSeed # random seed per file random.seed(randomSeed) diff --git a/processing/pre/seeds_fromDistribution.py b/processing/pre/seeds_fromDistribution.py index cc72920d3..e1e4726c2 100755 --- a/processing/pre/seeds_fromDistribution.py +++ b/processing/pre/seeds_fromDistribution.py @@ -78,7 +78,7 @@ class myThread (threading.Thread): perturbedSeedsVFile = StringIO() myBestSeedsVFile.seek(0) - perturbedSeedsTable = damask.Table.load_ASCII(myBestSeedsVFile) + perturbedSeedsTable = damask.Table.load(myBestSeedsVFile) coords = perturbedSeedsTable.get('pos') i = 0 for ms,coord in enumerate(coords): @@ -89,7 +89,7 @@ class myThread (threading.Thread): coords[i]=newCoords direction[i]*=2. i+= 1 - perturbedSeedsTable.set('pos',coords).save_ASCII(perturbedSeedsVFile,legacy=True) + perturbedSeedsTable.set('pos',coords).save(perturbedSeedsVFile,legacy=True) #--- do tesselation with perturbed seed file ------------------------------------------------------ perturbedGeomVFile.close() diff --git a/processing/pre/seeds_fromGeom.py b/processing/pre/seeds_fromGeom.py index 4110405d6..962c1dbce 100755 --- a/processing/pre/seeds_fromGeom.py +++ b/processing/pre/seeds_fromGeom.py @@ -65,4 +65,4 @@ for name in filenames: damask.Table(seeds[mask],{'pos':(3,)},comments)\ .add('microstructure',microstructure[mask].astype(int))\ - .save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.seeds',legacy=True) + .save(sys.stdout if name is None else os.path.splitext(name)[0]+'.seeds',legacy=True) diff --git a/processing/pre/seeds_fromPokes.py b/processing/pre/seeds_fromPokes.py index fdff40da3..c804cd285 100755 --- a/processing/pre/seeds_fromPokes.py +++ b/processing/pre/seeds_fromPokes.py @@ -92,5 +92,5 @@ for name in filenames: table = damask.Table(seeds,{'pos':(3,),'microstructure':(1,)},comments) table.set('microstructure',table.get('microstructure').astype(np.int))\ - .save_ASCII(sys.stdout if name is None else \ + .save(sys.stdout if name is None else \ os.path.splitext(name)[0]+f'_poked_{options.N}.seeds',legacy=True) diff --git a/processing/pre/seeds_fromRandom.py b/processing/pre/seeds_fromRandom.py index 8700a4648..451e218aa 100755 --- a/processing/pre/seeds_fromRandom.py +++ b/processing/pre/seeds_fromRandom.py @@ -162,4 +162,4 @@ for name in filenames: else np.random.normal(loc = options.mean, scale = options.sigma, size = options.N) table = table.add('weight',weights) - table.save_ASCII(sys.stdout if name is None else name,legacy=True) + table.save(sys.stdout if name is None else name,legacy=True) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index f3065ebc8..fa7d36ec2 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -297,9 +297,9 @@ class Colormap(mpl.colors.ListedColormap): if fhandle is None: with open(self.name.replace(' ','_')+'.txt', 'w') as f: - t.save_ASCII(f) + t.save(f) else: - t.save_ASCII(fhandle) + t.save(fhandle) def save_GOM(self,fname=None): diff --git a/python/damask/_table.py b/python/damask/_table.py index 9789c8be6..431cf1886 100644 --- a/python/damask/_table.py +++ b/python/damask/_table.py @@ -67,7 +67,7 @@ class Table: @staticmethod - def load_ASCII(fname): + def load(fname): """ Load ASCII table file. @@ -344,7 +344,7 @@ class Table: return dup - def save_ASCII(self,fname,legacy=False): + def save(self,fname,legacy=False): """ Save as plain text file. diff --git a/python/damask/_test.py b/python/damask/_test.py index ab4df6d68..5cadc9dfe 100644 --- a/python/damask/_test.py +++ b/python/damask/_test.py @@ -287,9 +287,9 @@ class Test: import numpy as np logging.info('\n '.join(['comparing',File1,File2])) - table = damask.Table.load_ASCII(File1) + table = damask.Table.load(File1) len1 = len(table.comments)+2 - table = damask.Table.load_ASCII(File2) + table = damask.Table.load(File2) len2 = len(table.comments)+2 refArray = np.nan_to_num(np.genfromtxt(File1,missing_values='n/a',skip_header = len1,autostrip=True)) @@ -436,7 +436,7 @@ class Test: if not (isinstance(files, Iterable) and not isinstance(files, str)): # check whether list of files is requested files = [str(files)] - tables = [damask.Table.load_ASCII(filename) for filename in files] + tables = [damask.Table.load(filename) for filename in files] for table in tables: table._label_discrete() @@ -486,7 +486,7 @@ class Test: if len(files) < 2: return True # single table is always close to itself... - tables = [damask.Table.load_ASCII(filename) for filename in files] + tables = [damask.Table.load(filename) for filename in files] columns += [columns[0]]*(len(files)-len(columns)) # extend to same length as files columns = columns[:len(files)] # truncate to same length as files diff --git a/python/tests/test_Orientation.py b/python/tests/test_Orientation.py index 3a7425ddb..669f73e91 100644 --- a/python/tests/test_Orientation.py +++ b/python/tests/test_Orientation.py @@ -106,8 +106,8 @@ class TestOrientation: coords = np.array([(1,i+1) for i,x in enumerate(eu)]) table = Table(eu,{'Eulers':(3,)}) table = table.add('pos',coords) - table.save_ASCII(reference) - assert np.allclose(eu,Table.load_ASCII(reference).get('Eulers')) + table.save(reference) + assert np.allclose(eu,Table.load(reference).get('Eulers')) @pytest.mark.parametrize('lattice',Lattice.lattices) def test_disorientation360(self,lattice): diff --git a/python/tests/test_Table.py b/python/tests/test_Table.py index af940a037..7a86c7fed 100644 --- a/python/tests/test_Table.py +++ b/python/tests/test_Table.py @@ -35,30 +35,30 @@ class TestTable: @pytest.mark.parametrize('mode',['str','path']) def test_write_read(self,default,tmpdir,mode): - default.save_ASCII(tmpdir/'default.txt') + default.save(tmpdir/'default.txt') if mode == 'path': - new = Table.load_ASCII(tmpdir/'default.txt') + new = Table.load(tmpdir/'default.txt') elif mode == 'str': - new = Table.load_ASCII(str(tmpdir/'default.txt')) + new = Table.load(str(tmpdir/'default.txt')) assert all(default.data==new.data) and default.shapes == new.shapes def test_write_read_file(self,default,tmpdir): with open(tmpdir/'default.txt','w') as f: - default.save_ASCII(f) + default.save(f) with open(tmpdir/'default.txt') as f: - new = Table.load_ASCII(f) + new = Table.load(f) assert all(default.data==new.data) and default.shapes == new.shapes def test_write_read_legacy_style(self,default,tmpdir): with open(tmpdir/'legacy.txt','w') as f: - default.save_ASCII(f,legacy=True) + default.save(f,legacy=True) with open(tmpdir/'legacy.txt') as f: - new = Table.load_ASCII(f) + new = Table.load(f) assert all(default.data==new.data) and default.shapes == new.shapes def test_write_invalid_format(self,default,tmpdir): with pytest.raises(TypeError): - default.save_ASCII(tmpdir/'shouldnotbethere.txt',format='invalid') + default.save(tmpdir/'shouldnotbethere.txt',format='invalid') @pytest.mark.parametrize('mode',['str','path']) def test_read_ang(self,reference_dir,mode): @@ -78,7 +78,7 @@ class TestTable: @pytest.mark.parametrize('fname',['datatype-mix.txt','whitespace-mix.txt']) def test_read_strange(self,reference_dir,fname): with open(reference_dir/fname) as f: - Table.load_ASCII(f) + Table.load(f) def test_set(self,default): d = default.set('F',np.zeros((5,3,3)),'set to zero').get('F') From d33507866d3f71a1d450178f8c4ae82811b55212 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 20 Sep 2020 21:50:52 +0200 Subject: [PATCH 690/958] statistically more valid test --- python/tests/test_Rotation.py | 43 ++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 3785e8da1..66cabfbd4 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -907,32 +907,39 @@ class TestRotation: @pytest.mark.parametrize('sigma',[5,10,15,20]) @pytest.mark.parametrize('N',[1000,10000,100000]) def test_spherical_component(self,N,sigma): - c = Rotation.from_random() - o = Rotation.from_spherical_component(c,sigma,N) - _, angles = c.misorientation(o).as_axis_angle(pair=True,degrees=True) - angles[::2] *= -1 # flip angle for every second to symmetrize distribution + p = [] + for run in range(5): + c = Rotation.from_random() + o = Rotation.from_spherical_component(c,sigma,N) + _, angles = c.misorientation(o).as_axis_angle(pair=True,degrees=True) + angles[::2] *= -1 # flip angle for every second to symmetrize distribution + + p.append(stats.normaltest(angles)[1]) - p = stats.normaltest(angles)[1] sigma_out = np.std(angles) - assert (.9 < sigma/sigma_out < 1.1) and p > 1e-4, f'{sigma/sigma_out},{p}' + p = np.average(p) + assert (.9 < sigma/sigma_out < 1.1) and p > 1e-2, f'{sigma/sigma_out},{p}' @pytest.mark.parametrize('sigma',[5,10,15,20]) @pytest.mark.parametrize('N',[1000,10000,100000]) def test_from_fiber_component(self,N,sigma): - """https://en.wikipedia.org/wiki/Full_width_at_half_maximum.""" - alpha = np.random.random()*2*np.pi,np.arccos(np.random.random()) - beta = np.random.random()*2*np.pi,np.arccos(np.random.random()) + p = [] + for run in range(5): + alpha = np.random.random()*2*np.pi,np.arccos(np.random.random()) + beta = np.random.random()*2*np.pi,np.arccos(np.random.random()) - f_in_C = np.array([np.sin(alpha[0])*np.cos(alpha[1]), np.sin(alpha[0])*np.sin(alpha[1]), np.cos(alpha[0])]) - f_in_S = np.array([np.sin(beta[0] )*np.cos(beta[1] ), np.sin(beta[0] )*np.sin(beta[1] ), np.cos(beta[0] )]) - ax = np.append(np.cross(f_in_C,f_in_S), - np.arccos(np.dot(f_in_C,f_in_S))) - n = Rotation.from_axis_angle(ax if ax[3] > 0.0 else ax*-1.0 ,normalize=True) # rotation to align fiber axis in crystal and sample system + f_in_C = np.array([np.sin(alpha[0])*np.cos(alpha[1]), np.sin(alpha[0])*np.sin(alpha[1]), np.cos(alpha[0])]) + f_in_S = np.array([np.sin(beta[0] )*np.cos(beta[1] ), np.sin(beta[0] )*np.sin(beta[1] ), np.cos(beta[0] )]) + ax = np.append(np.cross(f_in_C,f_in_S), - np.arccos(np.dot(f_in_C,f_in_S))) + n = Rotation.from_axis_angle(ax if ax[3] > 0.0 else ax*-1.0 ,normalize=True) # rotation to align fiber axis in crystal and sample system - o = Rotation.from_fiber_component(alpha,beta,np.radians(sigma),N,False) - angles = np.arccos(np.clip(np.dot(o@np.broadcast_to(f_in_S,(N,3)),n@f_in_S),-1,1)) - dist = np.array(angles) * (np.random.randint(0,2,N)*2-1) + o = Rotation.from_fiber_component(alpha,beta,np.radians(sigma),N,False) + angles = np.arccos(np.clip(np.dot(o@np.broadcast_to(f_in_S,(N,3)),n@f_in_S),-1,1)) + dist = np.array(angles) * (np.random.randint(0,2,N)*2-1) + + p.append(stats.normaltest(dist)[1]) - p = stats.normaltest(dist)[1] sigma_out = np.degrees(np.std(dist)) - assert (.9 < sigma/sigma_out < 1.1) and p > 1.e-4, f'{sigma/sigma_out},{p}' + p = np.average(p) + assert (.9 < sigma/sigma_out < 1.1) and p > 1e-2, f'{sigma/sigma_out},{p}' From 24febcd15b9244d66b033a42ef76d95f29c208bb Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 20 Sep 2020 21:51:09 +0200 Subject: [PATCH 691/958] forgotten rename --- processing/pre/geom_fromMinimalSurface.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/processing/pre/geom_fromMinimalSurface.py b/processing/pre/geom_fromMinimalSurface.py index b64bac417..b52003d79 100755 --- a/processing/pre/geom_fromMinimalSurface.py +++ b/processing/pre/geom_fromMinimalSurface.py @@ -89,4 +89,4 @@ geom=damask.Geom(microstructure,options.size, comments=[scriptID + ' ' + ' '.join(sys.argv[1:])]) damask.util.croak(geom) -geom.save_ASCII(sys.stdout if name is None else name,pack=False) +geom.save_ASCII(sys.stdout if name is None else name,compress=False) From 7bdd44a3d9f9132f2d2b811bb4ec11cd8d9dd424 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 20 Sep 2020 22:04:28 +0200 Subject: [PATCH 692/958] consistent names: default file operations: save/load, non-default save_xx/load_xx --- PRIVATE | 2 +- processing/pre/geom_fromOsteonGeometry.py | 2 +- python/damask/_geom.py | 4 ++-- python/damask/_result.py | 2 +- python/tests/test_Geom.py | 10 +++++----- python/tests/test_Result.py | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/PRIVATE b/PRIVATE index 7c543a98e..bb3011806 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 7c543a98e89840f1f1540c7af8c62a19084dab6e +Subproject commit bb30118067c33a2b8ba3e0f1cee52ca4a0b786d8 diff --git a/processing/pre/geom_fromOsteonGeometry.py b/processing/pre/geom_fromOsteonGeometry.py index c2583d0ed..0b1440d63 100755 --- a/processing/pre/geom_fromOsteonGeometry.py +++ b/processing/pre/geom_fromOsteonGeometry.py @@ -142,4 +142,4 @@ geom = damask.Geom(microstructure.reshape(grid), homogenization=options.homogenization,comments=header) damask.util.croak(geom) -geom.save_ASCII(sys.stdout if name is None else name,pack=False) +geom.save_ASCII(sys.stdout if name is None else name,compress=False) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index be4f596c1..41e1e22da 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -348,7 +348,7 @@ class Geom: @staticmethod - def load_vtr(fname): + def load(fname): """ Read a VTK rectilinear grid. @@ -516,7 +516,7 @@ class Geom: f.write(f'{reps} of {former}\n') - def save_vtr(self,fname,compress=True): + def save(self,fname,compress=True): """ Generates vtk rectilinear grid. diff --git a/python/damask/_result.py b/python/damask/_result.py index 02d0c0abe..5e8a9a9d0 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1100,7 +1100,7 @@ class Result: pool.join() - def write_XDMF(self): + def save_XDMF(self): """ Write XDMF file to directly visualize data in DADF5 file. diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 12f50be96..dbd2f795b 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -75,12 +75,12 @@ class TestGeom: assert geom_equal(default,new) def test_read_write_vtr(self,default,tmpdir): - default.save_vtr(tmpdir/'default') + default.save(tmpdir/'default') for _ in range(10): time.sleep(.2) if os.path.exists(tmpdir/'default.vtr'): break - new = Geom.load_vtr(tmpdir/'default.vtr') + new = Geom.load(tmpdir/'default.vtr') assert geom_equal(new,default) def test_invalid_geom(self,tmpdir): @@ -97,7 +97,7 @@ class TestGeom: time.sleep(.2) if os.path.exists(tmpdir/'no_materialpoint.vtr'): break with pytest.raises(ValueError): - Geom.load_vtr(tmpdir/'no_materialpoint.vtr') + Geom.load(tmpdir/'no_materialpoint.vtr') @pytest.mark.parametrize('compress',[True,False]) @@ -188,11 +188,11 @@ class TestGeom: current = default.clean(stencil,selection,periodic) reference = reference_dir/f'clean_{stencil}_{"+".join(map(str,[None] if selection is None else selection))}_{periodic}' if update and stencil > 1: - current.save_vtr(reference) + current.save(reference) for _ in range(10): time.sleep(.2) if os.path.exists(reference.with_suffix('.vtr')): break - assert geom_equal(Geom.load_vtr(reference) if stencil > 1 else default, + assert geom_equal(Geom.load(reference) if stencil > 1 else default, current ) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index c25bf7a4c..68b72badf 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -343,4 +343,4 @@ class TestResult: def test_XDMF(self,tmp_path,single_phase): os.chdir(tmp_path) - single_phase.write_XDMF() + single_phase.save_XDMF() From 783b74966213284bc2de2de213309f127cbf5e06 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 20 Sep 2020 22:25:08 +0200 Subject: [PATCH 693/958] compress instead of pack (same name for vtk/geom) --- processing/pre/geom_fromTable.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/processing/pre/geom_fromTable.py b/processing/pre/geom_fromTable.py index 3d6618bd2..6f2cb5b4d 100755 --- a/processing/pre/geom_fromTable.py +++ b/processing/pre/geom_fromTable.py @@ -105,4 +105,4 @@ for name in filenames: homogenization=options.homogenization,comments=header) damask.util.croak(geom) - geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',pack=False) + geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',compress=False) From ca2f3f9493490fca7e8db63512ac21e54914debb Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Mon, 21 Sep 2020 10:29:07 -0400 Subject: [PATCH 694/958] set_X and add_comments methods now default to out-of-place --- python/damask/_geom.py | 73 ++++++++++++++++++++++----------------- python/tests/test_Geom.py | 26 +++++++++++++- 2 files changed, 67 insertions(+), 32 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index f5dc05f2f..0c9a4d9e4 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -35,11 +35,11 @@ class Geom: Comment lines. """ - self.set_microstructure(microstructure) - self.set_size(size) - self.set_origin(origin) - self.set_homogenization(homogenization) - self.set_comments(comments) + self.set_microstructure(microstructure,inplace=True) + self.set_size(size,inplace=True) + self.set_origin(origin,inplace=True) + self.set_homogenization(homogenization,inplace=True) + self.set_comments(comments,inplace=True) def __repr__(self): @@ -85,17 +85,16 @@ class Geom: raise ValueError('Auto-sizing conflicts with explicit size parameter.') grid_old = self.get_grid() - dup = self.copy() - dup.set_microstructure(microstructure) - dup.set_origin(origin) + dup = self.set_microstructure(microstructure)\ + .set_origin(origin) if comments is not None: - dup.set_comments(comments) + dup.set_comments(comments,inplace=True) if size is not None: - dup.set_size(size) + dup.set_size(size,inplace=True) elif autosize: - dup.set_size(dup.get_grid()/grid_old*self.get_size()) + dup.set_size(dup.get_grid()/grid_old*self.get_size(),inplace=True) return dup @@ -134,7 +133,7 @@ class Geom: return util.return_message(message) - def set_comments(self,comments): + def set_comments(self,comments,inplace=False): """ Replace all existing comments. @@ -144,11 +143,13 @@ class Geom: All comments. """ - self.comments = [] - self.add_comments(comments) + target = self if inplace else self.copy() + target.comments = [] + target.add_comments(comments,inplace=True) + if not inplace: return target - def add_comments(self,comments): + def add_comments(self,comments,inplace=False): """ Append comments to existing comments. @@ -158,10 +159,12 @@ class Geom: New comments. """ - self.comments += [str(c) for c in comments] if isinstance(comments,list) else [str(comments)] + target = self if inplace else self.copy() + target.comments += [str(c) for c in comments] if isinstance(comments,list) else [str(comments)] + if not inplace: return target - def set_microstructure(self,microstructure): + def set_microstructure(self,microstructure,inplace=False): """ Replace the existing microstructure representation. @@ -175,24 +178,26 @@ class Geom: Microstructure indices. """ + target = self if inplace else self.copy() if microstructure is not None: if isinstance(microstructure,np.ma.core.MaskedArray): - self.microstructure = np.where(microstructure.mask, - self.microstructure,microstructure.data) + target.microstructure = np.where(microstructure.mask, + target.microstructure,microstructure.data) else: - self.microstructure = np.copy(microstructure) + target.microstructure = np.copy(microstructure) - if self.microstructure.dtype in np.sctypes['float'] and \ - np.all(self.microstructure == self.microstructure.astype(int).astype(float)): - self.microstructure = self.microstructure.astype(int) + if target.microstructure.dtype in np.sctypes['float'] and \ + np.all(target.microstructure == target.microstructure.astype(int).astype(float)): + target.microstructure = target.microstructure.astype(int) - if len(self.microstructure.shape) != 3: + if len(target.microstructure.shape) != 3: raise ValueError(f'Invalid microstructure shape {microstructure.shape}') - elif self.microstructure.dtype not in np.sctypes['float'] + np.sctypes['int']: + elif target.microstructure.dtype not in np.sctypes['float'] + np.sctypes['int']: raise TypeError(f'Invalid microstructure data type {microstructure.dtype}') + if not inplace: return target - def set_size(self,size): + def set_size(self,size,inplace=False): """ Replace the existing size information. @@ -202,14 +207,16 @@ class Geom: Physical size of the microstructure in meter. """ + target = self if inplace else self.copy() if size is not None: if len(size) != 3 or any(np.array(size) <= 0): raise ValueError(f'Invalid size {size}') else: - self.size = np.array(size) + target.size = np.array(size) + if not inplace: return target - def set_origin(self,origin): + def set_origin(self,origin,inplace=False): """ Replace the existing origin information. @@ -219,14 +226,16 @@ class Geom: Physical origin of the microstructure in meter. """ + target = self if inplace else self.copy() if origin is not None: if len(origin) != 3: raise ValueError(f'Invalid origin {origin}') else: - self.origin = np.array(origin) + target.origin = np.array(origin) + if not inplace: return target - def set_homogenization(self,homogenization): + def set_homogenization(self,homogenization,inplace=False): """ Replace the existing homogenization index. @@ -236,11 +245,13 @@ class Geom: Homogenization index. """ + target = self if inplace else self.copy() if homogenization is not None: if not isinstance(homogenization,int) or homogenization < 1: raise TypeError(f'Invalid homogenization {homogenization}.') else: - self.homogenization = homogenization + target.homogenization = homogenization + if not inplace: return target @property diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 870cc7469..ff9c80057 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -54,11 +54,35 @@ class TestGeom: assert str(default.diff(new)) != '' + def test_set_inplace_outofplace_homogenization(self,default): + default.set_homogenization(123,inplace=True) + outofplace = default.set_homogenization(321,inplace=False) + assert default.get_homogenization() == 123 and outofplace.get_homogenization() == 321 + + + def test_set_inplace_outofplace_microstructure(self,default): + default.set_microstructure(np.arange(72).reshape((2,4,9)),inplace=True) + outofplace = default.set_microstructure(np.arange(72).reshape((8,3,3)),inplace=False) + assert np.array_equal(default.grid,[2,4,9]) and np.array_equal(outofplace.grid,[8,3,3]) + + + def test_set_inplace_outofplace_size(self,default): + default.set_size(np.array([1,2,3]),inplace=True) + outofplace = default.set_size(np.array([3,2,1]),inplace=False) + assert np.array_equal(default.get_size(),[1,2,3]) and np.array_equal(outofplace.get_size(),[3,2,1]) + + + def test_set_inplace_outofplace_comments(self,default): + default.set_comments(['a','and','b'],inplace=True) + outofplace = default.set_comments(['b','or','a'],inplace=False) + assert default.get_comments() == ['a','and','b'] and outofplace.get_comments() == ['b','or','a'] + + @pytest.mark.parametrize('masked',[True,False]) def test_set_microstructure(self,default,masked): old = default.get_microstructure() new = np.random.randint(200,size=default.grid) - default.set_microstructure(np.ma.MaskedArray(new,np.full_like(new,masked))) + default.set_microstructure(np.ma.MaskedArray(new,np.full_like(new,masked)),inplace=True) assert np.all(default.microstructure==(old if masked else new)) From 188905766fc284cdf7b58b427c2da2257c77efc1 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Mon, 21 Sep 2020 11:13:53 -0400 Subject: [PATCH 695/958] removed Geom.get_X() methods in favor of direct property access --- processing/pre/mentat_spectralBox.py | 14 ++-- processing/pre/seeds_fromGeom.py | 2 +- python/damask/_geom.py | 103 ++++++++++----------------- python/tests/test_Geom.py | 30 ++++---- 4 files changed, 60 insertions(+), 89 deletions(-) diff --git a/processing/pre/mentat_spectralBox.py b/processing/pre/mentat_spectralBox.py index 027240044..76649aa1a 100755 --- a/processing/pre/mentat_spectralBox.py +++ b/processing/pre/mentat_spectralBox.py @@ -42,7 +42,7 @@ def output(cmds,locals,dest): else: outFile(str(cmd),locals,dest) - + #------------------------------------------------------------------------------------------------- def init(): return [ @@ -114,7 +114,7 @@ def material(): "*add_geometry_elements", "all_existing", ] - + #------------------------------------------------------------------------------------------------- def geometry(): @@ -127,14 +127,14 @@ def geometry(): "*element_type 7", "all_existing", ] - + #------------------------------------------------------------------------------------------------- def initial_conditions(microstructures): elements = [] element = 0 for id in microstructures: - element += 1 + element += 1 if len(elements) < id: for i in range(id-len(elements)): elements.append([]) @@ -195,9 +195,9 @@ if filenames == []: filenames = [None] for name in filenames: damask.util.report(scriptName,name) - + geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - microstructure = geom.get_microstructure().flatten(order='F') + microstructure = geom.microstructure.flatten(order='F') cmds = [\ init(), @@ -210,7 +210,7 @@ for name in filenames: '*redraw', '*draw_automatic', ] - + outputLocals = {} if options.port: py_mentat.py_connect('',options.port) diff --git a/processing/pre/seeds_fromGeom.py b/processing/pre/seeds_fromGeom.py index 97550ce13..7773f6f53 100755 --- a/processing/pre/seeds_fromGeom.py +++ b/processing/pre/seeds_fromGeom.py @@ -47,7 +47,7 @@ for name in filenames: damask.util.report(scriptName,name) geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - microstructure = geom.get_microstructure().reshape((-1,1),order='F') + microstructure = geom.microstructure.reshape((-1,1),order='F') mask = np.logical_and(np.in1d(microstructure,options.whitelist,invert=False) if options.whitelist else \ np.full(geom.grid.prod(),True,dtype=bool), diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 0c9a4d9e4..7e6b6a1d3 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -45,9 +45,9 @@ class Geom: def __repr__(self): """Basic information on geometry definition.""" return util.srepr([ - f'grid a b c: {util.srepr(self.get_grid ()," x ")}', - f'size x y z: {util.srepr(self.get_size ()," x ")}', - f'origin x y z: {util.srepr(self.get_origin()," ")}', + f'grid a b c: {util.srepr(self.grid, " x ")}', + f'size x y z: {util.srepr(self.size, " x ")}', + f'origin x y z: {util.srepr(self.origin," ")}', f'# materialpoints: {self.N_microstructure}', f'max materialpoint: {np.nanmax(self.microstructure)}', ]) @@ -84,7 +84,7 @@ class Geom: if size is not None and autosize: raise ValueError('Auto-sizing conflicts with explicit size parameter.') - grid_old = self.get_grid() + grid_old = self.grid dup = self.set_microstructure(microstructure)\ .set_origin(origin) @@ -94,7 +94,7 @@ class Geom: if size is not None: dup.set_size(size,inplace=True) elif autosize: - dup.set_size(dup.get_grid()/grid_old*self.get_size(),inplace=True) + dup.set_size(dup.grid/grid_old*self.size,inplace=True) return dup @@ -110,17 +110,17 @@ class Geom: """ message = [] - if np.any(other.get_grid() != self.get_grid()): - message.append(util.delete(f'grid a b c: {util.srepr(other.get_grid()," x ")}')) - message.append(util.emph( f'grid a b c: {util.srepr( self.get_grid()," x ")}')) + if np.any(other.grid != self.grid): + message.append(util.delete(f'grid a b c: {util.srepr(other.grid," x ")}')) + message.append(util.emph( f'grid a b c: {util.srepr( self.grid," x ")}')) - if np.any(other.get_size() != self.get_size()): - message.append(util.delete(f'size x y z: {util.srepr(other.get_size()," x ")}')) - message.append(util.emph( f'size x y z: {util.srepr( self.get_size()," x ")}')) + if np.any(other.size != self.size): + message.append(util.delete(f'size x y z: {util.srepr(other.size," x ")}')) + message.append(util.emph( f'size x y z: {util.srepr( self.size," x ")}')) - if np.any(other.get_origin() != self.get_origin()): - message.append(util.delete(f'origin x y z: {util.srepr(other.get_origin()," ")}')) - message.append(util.emph( f'origin x y z: {util.srepr( self.get_origin()," ")}')) + if np.any(other.origin != self.origin): + message.append(util.delete(f'origin x y z: {util.srepr(other.origin," ")}')) + message.append(util.emph( f'origin x y z: {util.srepr( self.origin," ")}')) if other.N_microstructure != self.N_microstructure: message.append(util.delete(f'# materialpoints: {other.N_microstructure}')) @@ -256,7 +256,7 @@ class Geom: @property def grid(self): - return self.get_grid() + return np.asarray(self.microstructure.shape) @property @@ -264,36 +264,6 @@ class Geom: return np.unique(self.microstructure).size - def get_microstructure(self): - """Return the microstructure representation.""" - return np.copy(self.microstructure) - - - def get_size(self): - """Return the physical size in meter.""" - return np.copy(self.size) - - - def get_origin(self): - """Return the origin in meter.""" - return np.copy(self.origin) - - - def get_grid(self): - """Return the grid discretization.""" - return np.asarray(self.microstructure.shape) - - - def get_homogenization(self): - """Return the homogenization index.""" - return self.homogenization - - - def get_comments(self): - """Return the comments.""" - return self.comments[:] - - @staticmethod def from_file(fname): """ @@ -488,13 +458,14 @@ class Geom: Compress geometry with 'x of y' and 'a to b'. """ - header = [f'{len(geom.comments)+4} header'] + geom.comments - header.append('grid a {} b {} c {}'.format(*geom.get_grid())) - header.append('size x {} y {} z {}'.format(*geom.get_size())) - header.append('origin x {} y {} z {}'.format(*geom.get_origin())) - header.append(f'homogenization {geom.get_homogenization()}') + header = [f'{len(geom.comments)+4} header'] + geom.comments \ + +[ 'grid a {} b {} c {}'.format(*geom.grid), + 'size x {} y {} z {}'.format(*geom.size), + 'origin x {} y {} z {}'.format(*geom.origin), + f'homogenization {geom.homogenization}', + ] - grid = geom.get_grid() + grid = geom.grid if pack is None: plain = grid.prod()/geom.N_microstructure < 250 @@ -634,7 +605,7 @@ class Geom: ms = np.ma.MaskedArray(fill_,np.logical_not(mask) if inverse else mask) return self.duplicate(ms, - comments=self.get_comments()+[util.execution_stamp('Geom','add_primitive')], + comments=self.comments+[util.execution_stamp('Geom','add_primitive')], ) @@ -656,7 +627,7 @@ class Geom: raise ValueError(f'Invalid direction {set(directions).difference(valid)} specified.') limits = [None,None] if reflect else [-2,0] - ms = self.get_microstructure() + ms = self.microstructure.copy() if 'z' in directions: ms = np.concatenate([ms,ms[:,:,limits[0]:limits[1]:-1]],2) @@ -666,7 +637,7 @@ class Geom: ms = np.concatenate([ms,ms[limits[0]:limits[1]:-1,:,:]],0) return self.duplicate(ms, - comments=self.get_comments()+[util.execution_stamp('Geom','mirror')], + comments=self.comments+[util.execution_stamp('Geom','mirror')], autosize=True) @@ -688,7 +659,7 @@ class Geom: ms = np.flip(self.microstructure, (valid.index(d) for d in directions if d in valid)) return self.duplicate(ms, - comments=self.get_comments()+[util.execution_stamp('Geom','flip')], + comments=self.comments+[util.execution_stamp('Geom','flip')], ) @@ -706,13 +677,13 @@ class Geom: """ return self.duplicate(ndimage.interpolation.zoom( self.microstructure, - grid/self.get_grid(), + grid/self.grid, output=self.microstructure.dtype, order=0, mode=('wrap' if periodic else 'nearest'), prefilter=False ), - comments=self.get_comments()+[util.execution_stamp('Geom','scale')], + comments=self.comments+[util.execution_stamp('Geom','scale')], ) @@ -745,18 +716,18 @@ class Geom: mode=('wrap' if periodic else 'nearest'), extra_keywords=dict(selection=selection), ).astype(self.microstructure.dtype), - comments=self.get_comments()+[util.execution_stamp('Geom','clean')], + comments=self.comments+[util.execution_stamp('Geom','clean')], ) def renumber(self): """Renumber sorted microstructure indices to 1,...,N.""" - renumbered = np.empty(self.get_grid(),dtype=self.microstructure.dtype) + renumbered = np.empty(self.grid,dtype=self.microstructure.dtype) for i, oldID in enumerate(np.unique(self.microstructure)): renumbered = np.where(self.microstructure == oldID, i+1, renumbered) return self.duplicate(renumbered, - comments=self.get_comments()+[util.execution_stamp('Geom','renumber')], + comments=self.comments+[util.execution_stamp('Geom','renumber')], ) @@ -776,7 +747,7 @@ class Geom: dtype = float if np.isnan(fill) or int(fill) != fill or self.microstructure.dtype==np.float else int Eulers = R.as_Eulers(degrees=True) - microstructure_in = self.get_microstructure() + microstructure_in = self.microstructure.copy() # These rotations are always applied in the reference coordinate system, i.e. (z,x,z) not (z,x',z'') # see https://www.cs.utexas.edu/~theshark/courses/cs354/lectures/cs354-14.pdf @@ -793,7 +764,7 @@ class Geom: return self.duplicate(microstructure_in, origin=origin, - comments=self.get_comments()+[util.execution_stamp('Geom','rotate')], + comments=self.comments+[util.execution_stamp('Geom','rotate')], autosize=True, ) @@ -827,7 +798,7 @@ class Geom: return self.duplicate(canvas, origin=self.origin+offset*self.size/self.grid, - comments=self.get_comments()+[util.execution_stamp('Geom','canvas')], + comments=self.comments+[util.execution_stamp('Geom','canvas')], autosize=True, ) @@ -844,12 +815,12 @@ class Geom: New microstructure indices. """ - substituted = self.get_microstructure() + substituted = self.microstructure.copy() for from_ms,to_ms in zip(from_microstructure,to_microstructure): substituted[self.microstructure==from_ms] = to_ms return self.duplicate(substituted, - comments=self.get_comments()+[util.execution_stamp('Geom','substitute')], + comments=self.comments+[util.execution_stamp('Geom','substitute')], ) @@ -896,5 +867,5 @@ class Geom: microstructure = np.ma.MaskedArray(self.microstructure + offset_, np.logical_not(mask)) return self.duplicate(microstructure, - comments=self.get_comments()+[util.execution_stamp('Geom','vicinity_offset')], + comments=self.comments+[util.execution_stamp('Geom','vicinity_offset')], ) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index ff9c80057..f82272362 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -11,9 +11,9 @@ from damask import util def geom_equal(a,b): - return np.all(a.get_microstructure() == b.get_microstructure()) and \ - np.all(a.get_grid() == b.get_grid()) and \ - np.allclose(a.get_size(), b.get_size()) and \ + return np.all(a.microstructure == b.microstructure) and \ + np.all(a.grid == b.grid) and \ + np.allclose(a.size, b.size) and \ str(a.diff(b)) == str(b.diff(a)) @pytest.fixture @@ -39,9 +39,9 @@ class TestGeom: modified = default.duplicate() elif flavor == 'explicit': modified = default.duplicate( - default.get_microstructure(), - default.get_size(), - default.get_origin() + default.microstructure, + default.size, + default.origin ) print(modified) assert geom_equal(default,modified) @@ -57,7 +57,7 @@ class TestGeom: def test_set_inplace_outofplace_homogenization(self,default): default.set_homogenization(123,inplace=True) outofplace = default.set_homogenization(321,inplace=False) - assert default.get_homogenization() == 123 and outofplace.get_homogenization() == 321 + assert default.homogenization == 123 and outofplace.homogenization == 321 def test_set_inplace_outofplace_microstructure(self,default): @@ -69,18 +69,18 @@ class TestGeom: def test_set_inplace_outofplace_size(self,default): default.set_size(np.array([1,2,3]),inplace=True) outofplace = default.set_size(np.array([3,2,1]),inplace=False) - assert np.array_equal(default.get_size(),[1,2,3]) and np.array_equal(outofplace.get_size(),[3,2,1]) + assert np.array_equal(default.size,[1,2,3]) and np.array_equal(outofplace.size,[3,2,1]) def test_set_inplace_outofplace_comments(self,default): default.set_comments(['a','and','b'],inplace=True) outofplace = default.set_comments(['b','or','a'],inplace=False) - assert default.get_comments() == ['a','and','b'] and outofplace.get_comments() == ['b','or','a'] + assert default.comments == ['a','and','b'] and outofplace.comments == ['b','or','a'] @pytest.mark.parametrize('masked',[True,False]) def test_set_microstructure(self,default,masked): - old = default.get_microstructure() + old = default.microstructure new = np.random.randint(200,size=default.grid) default.set_microstructure(np.ma.MaskedArray(new,np.full_like(new,masked)),inplace=True) assert np.all(default.microstructure==(old if masked else new)) @@ -249,7 +249,7 @@ class TestGeom: modified) def test_renumber(self,default): - microstructure = default.get_microstructure() + microstructure = default.microstructure.copy() for m in np.unique(microstructure): microstructure[microstructure==m] = microstructure.max() + np.random.randint(1,30) modified = default.duplicate(microstructure) @@ -259,7 +259,7 @@ class TestGeom: def test_substitute(self,default): offset = np.random.randint(1,500) - modified = default.duplicate(default.get_microstructure() + offset) + modified = default.duplicate(default.microstructure + offset) assert not geom_equal(modified,default) assert geom_equal(default, modified.substitute(np.arange(default.microstructure.max())+1+offset, @@ -345,9 +345,9 @@ class TestGeom: @pytest.mark.parametrize('periodic',[True,False]) def test_vicinity_offset_invariant(self,default,periodic): - old = default.get_microstructure() - default.vicinity_offset(trigger=[old.max()+1,old.min()-1]) - assert np.all(old==default.microstructure) + offset = default.vicinity_offset(trigger=[default.microstructure.max()+1, + default.microstructure.min()-1]) + assert np.all(offset.microstructure==default.microstructure) @pytest.mark.parametrize('periodic',[True,False]) def test_tessellation_approaches(self,periodic): From e683cbef69dc9439d7b667d61f0cb8ad77f9c6eb Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Mon, 21 Sep 2020 11:30:27 -0400 Subject: [PATCH 696/958] replaced a stray get_grid() in geom_grainGrowth --- processing/pre/geom_grainGrowth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/processing/pre/geom_grainGrowth.py b/processing/pre/geom_grainGrowth.py index 0652d0583..ea9331317 100755 --- a/processing/pre/geom_grainGrowth.py +++ b/processing/pre/geom_grainGrowth.py @@ -64,7 +64,7 @@ for name in filenames: geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name) - grid_original = geom.get_grid() + grid_original = geom.grid damask.util.croak(geom) microstructure = np.tile(geom.microstructure,np.where(grid_original == 1, 2,1)) # make one copy along dimensions with grid == 1 grid = np.array(microstructure.shape) From 5ef761fb985ffb2af5015115ec966481bf6bb284 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 21 Sep 2020 19:10:20 +0200 Subject: [PATCH 697/958] inform the user about missing items in material.yaml --- python/damask/_material.py | 63 ++++++++++++++++++++++++++++++-------- 1 file changed, 50 insertions(+), 13 deletions(-) diff --git a/python/damask/_material.py b/python/damask/_material.py index 476a46149..106d1582e 100644 --- a/python/damask/_material.py +++ b/python/damask/_material.py @@ -59,18 +59,55 @@ class Material(dict): @property def is_complete(self): """Check for completeness.""" - try: - ok = len(self['microstructure']) > 0 - for m in self['microstructure']: - ok &= m['homogenization'] in self['homogenization'] - for c in m['constituents']: - c['orientation'] - ok &= c['phase'] in self['phase'] - for p in self['phase'].values(): - ok &= 'lattice' in p - return ok - except KeyError: - return False + ok = True + for top_level in ['homogenization','phase','microstructure']: + # ToDo: With python 3.8 as prerequisite we can shorten with := + ok &= top_level in self + if top_level not in self: print(f'{top_level} entry missing') + + if ok: + ok &= len(self['microstructure']) > 0 + if len(self['microstructure']) < 1: print('Incomplete microstructure definition') + + if ok: + homogenization = set() + phase = set() + for i,v in enumerate(self['microstructure']): + if 'homogenization' in v: + homogenization.add(v['homogenization']) + else: + print(f'No homogenization specified in microstructure {i}') + ok = False + + if 'constituents' in v: + for ii,vv in enumerate(v['constituents']): + if 'orientation' not in vv: + print('No orientation specified in constituent {ii} of microstructure {i}') + ok = False + if 'phase' in vv: + phase.add(vv['phase']) + else: + print(f'No phase specified in constituent {ii} of microstructure {i}') + ok = False + + for k,v in self['phase'].items(): + if 'lattice' not in v: + print(f'No lattice specified in phase {k}') + ok = False + + #for k,v in self['homogenization'].items(): + # if 'N_constituents' not in v: + # print(f'No. of constituents not specified in homogenization {k}'} + # ok = False + + if phase - set(self['phase']): + print(f'Phase(s) {phase-set(self["phase"])} missing') + ok = False + if homogenization - set(self['homogenization']): + print(f'Homogenization(s) {homogenization-set(self["homogenization"])} missing') + ok = False + + return ok @property @@ -79,7 +116,7 @@ class Material(dict): ok = True if 'phase' in self: - for k,v in zip(self['phase'].keys(),self['phase'].values()): + for k,v in self['phase'].items(): if 'lattice' in v: try: Lattice(v['lattice']) From 03cf971f55294172df4f7a9ab5f9aa9a4947f88c Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 22 Sep 2020 01:56:52 +0200 Subject: [PATCH 698/958] [skip ci] updated version information after successful test of v3.0.0-alpha-245-g5ef761fb9 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index bebbc79d0..e073be898 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-233-g190f8a82 +v3.0.0-alpha-245-g5ef761fb9 From 63f9078f04f24a7d8ce6cd3ba85cf09110c42fcd Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 22 Sep 2020 12:13:50 +0200 Subject: [PATCH 699/958] don' hardcode output unit replaced remaining write(6,..), flush(6) with write(OUTPUT_UNIT,...), flush(OUTPUT_UNIT) --- src/CPFEM.f90 | 6 ++--- src/CPFEM2.f90 | 2 +- src/DAMASK_marc.f90 | 6 ++--- src/IO.f90 | 2 +- src/base64.f90 | 2 +- src/config.f90 | 8 +++---- src/constitutive.f90 | 2 +- src/constitutive_plastic_disloTungsten.f90 | 2 +- src/constitutive_plastic_dislotwin.f90 | 2 +- src/constitutive_plastic_isotropic.f90 | 2 +- src/constitutive_plastic_kinehardening.f90 | 2 +- src/constitutive_plastic_none.f90 | 2 +- src/constitutive_plastic_nonlocal.f90 | 2 +- src/constitutive_plastic_phenopowerlaw.f90 | 2 +- src/crystallite.f90 | 4 ++-- src/damage_local.f90 | 2 +- src/element.f90 | 2 +- src/homogenization.f90 | 2 +- src/homogenization_mech_RGC.f90 | 28 +++++++++++----------- src/homogenization_mech_isostrain.f90 | 2 +- src/homogenization_mech_none.f90 | 2 +- src/kinematics_cleavage_opening.f90 | 2 +- src/kinematics_slipplane_opening.f90 | 2 +- src/kinematics_thermal_expansion.f90 | 2 +- src/lattice.f90 | 2 +- src/material.f90 | 2 +- src/math.f90 | 2 +- src/results.f90 | 2 +- src/rotations.f90 | 2 +- src/source_damage_anisoBrittle.f90 | 2 +- src/source_damage_anisoDuctile.f90 | 2 +- src/source_damage_isoBrittle.f90 | 2 +- src/source_damage_isoDuctile.f90 | 2 +- src/source_thermal_dissipation.f90 | 2 +- src/source_thermal_externalheat.f90 | 2 +- 35 files changed, 56 insertions(+), 56 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index d0fc6413e..09e028f6c 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -106,7 +106,7 @@ subroutine CPFEM_init num_commercialFEM, & debug_CPFEM - print'(/,a)', ' <<<+- CPFEM init -+>>>'; flush(6) + print'(/,a)', ' <<<+- CPFEM init -+>>>'; flush(OUTPUT_UNIT) allocate(CPFEM_cs( 6,discretization_nIP,discretization_nElem), source= 0.0_pReal) allocate(CPFEM_dcsdE( 6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) @@ -132,7 +132,7 @@ subroutine CPFEM_init print'(a32,1x,6(i8,1x))', 'CPFEM_cs: ', shape(CPFEM_cs) print'(a32,1x,6(i8,1x))', 'CPFEM_dcsdE: ', shape(CPFEM_dcsdE) print'(a32,1x,6(i8,1x),/)', 'CPFEM_dcsdE_knownGood: ', shape(CPFEM_dcsdE_knownGood) - flush(6) + flush(OUTPUT_UNIT) endif end subroutine CPFEM_init @@ -250,7 +250,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS '<< CPFEM >> stress/MPa at elFE ip ', elFE, ip, CPFEM_cs(1:6,ip,elCP)*1.0e-6_pReal print'(a,i8,1x,i2,/,6(12x,6(f10.3,1x)/))', & '<< CPFEM >> Jacobian/GPa at elFE ip ', elFE, ip, transpose(CPFEM_dcsdE(1:6,1:6,ip,elCP))*1.0e-9_pReal - flush(6) + flush(OUTPUT_UNIT) endif endif diff --git a/src/CPFEM2.f90 b/src/CPFEM2.f90 index c87f361c2..fc68778c8 100644 --- a/src/CPFEM2.f90 +++ b/src/CPFEM2.f90 @@ -76,7 +76,7 @@ end subroutine CPFEM_initAll !-------------------------------------------------------------------------------------------------- subroutine CPFEM_init - print'(/,a)', ' <<<+- CPFEM init -+>>>'; flush(6) + print'(/,a)', ' <<<+- CPFEM init -+>>>'; flush(OUTPUT_UNIT) if (interface_restartInc > 0) call crystallite_restartRead diff --git a/src/DAMASK_marc.f90 b/src/DAMASK_marc.f90 index ea7430c6b..c34538ad9 100644 --- a/src/DAMASK_marc.f90 +++ b/src/DAMASK_marc.f90 @@ -265,9 +265,9 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & print'(a,i2)', ' Coordinates: ', ncrd print'(a,i12)', ' Nodes: ', nnode print'(a,i1)', ' Deformation gradient: ', itel - write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') ' Deformation gradient at t=n:', & + write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') ' Deformation gradient at t=n:', & transpose(ffn) - write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') ' Deformation gradient at t=n+1:', & + write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') ' Deformation gradient at t=n+1:', & transpose(ffn1) endif @@ -312,7 +312,7 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, & cycleCounter = -1 ! first calc step increments this to cycle = 0 print'(a,i6,1x,i2)', '<< HYPELA2 >> cutback detected..! ',m(1),nn endif ! convergence treatment end - flush(6) + flush(OUTPUT_UNIT) if (lastLovl /= lovl) then cycleCounter = cycleCounter + 1 diff --git a/src/IO.f90 b/src/IO.f90 index 9137372d3..72eb2011f 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -52,7 +52,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine IO_init - print'(/,a)', ' <<<+- IO init -+>>>'; flush(6) + print'(/,a)', ' <<<+- IO init -+>>>'; flush(OUTPUT_UNIT) call selfTest diff --git a/src/base64.f90 b/src/base64.f90 index 3a59b7049..c04221f21 100644 --- a/src/base64.f90 +++ b/src/base64.f90 @@ -27,7 +27,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine base64_init - print'(/,a)', ' <<<+- base64 init -+>>>'; flush(6) + print'(/,a)', ' <<<+- base64 init -+>>>'; flush(OUTPUT_UNIT) call selfTest diff --git a/src/config.f90 b/src/config.f90 index 50d4e96e8..dc395762f 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -35,7 +35,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine config_init - print'(/,a)', ' <<<+- config init -+>>>'; flush(6) + print'(/,a)', ' <<<+- config init -+>>>'; flush(OUTPUT_UNIT) call parse_material call parse_numerics @@ -59,7 +59,7 @@ subroutine parse_material inquire(file=fname,exist=fileExists) if(.not. fileExists) call IO_error(100,ext_msg=fname) endif - print*, 'reading '//fname; flush(6) + print*, 'reading '//fname; flush(OUTPUT_UNIT) config_material => YAML_parse_file(fname) end subroutine parse_material @@ -75,7 +75,7 @@ subroutine parse_numerics config_numerics => emptyDict inquire(file='numerics.yaml', exist=fexist) if (fexist) then - print*, 'reading numerics.yaml'; flush(6) + print*, 'reading numerics.yaml'; flush(OUTPUT_UNIT) config_numerics => YAML_parse_file('numerics.yaml') endif @@ -92,7 +92,7 @@ subroutine parse_debug config_debug => emptyDict inquire(file='debug.yaml', exist=fexist) fileExists: if (fexist) then - print*, 'reading debug.yaml'; flush(6) + print*, 'reading debug.yaml'; flush(OUTPUT_UNIT) config_debug => YAML_parse_file('debug.yaml') endif fileExists diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 3b342e3e6..008579214 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -446,7 +446,7 @@ subroutine constitutive_init call damage_init call thermal_init - print'(/,a)', ' <<<+- constitutive init -+>>>'; flush(6) + print'(/,a)', ' <<<+- constitutive init -+>>>'; flush(OUTPUT_UNIT) constitutive_source_maxSizeDotState = 0 PhaseLoop2:do p = 1,phases%length diff --git a/src/constitutive_plastic_disloTungsten.f90 b/src/constitutive_plastic_disloTungsten.f90 index 2bf4fd48e..eb7297aca 100644 --- a/src/constitutive_plastic_disloTungsten.f90 +++ b/src/constitutive_plastic_disloTungsten.f90 @@ -100,7 +100,7 @@ module function plastic_disloTungsten_init() result(myPlasticity) myPlasticity = plastic_active('disloTungsten') Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return print*, 'Cereceda et al., International Journal of Plasticity 78:242–256, 2016' diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index a25815899..1b52862d4 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -147,7 +147,7 @@ module function plastic_dislotwin_init() result(myPlasticity) myPlasticity = plastic_active('dislotwin') Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return print*, 'Ma and Roters, Acta Materialia 52(12):3603–3612, 2004' diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index c78d497d6..945c43cad 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -71,7 +71,7 @@ module function plastic_isotropic_init() result(myPlasticity) myPlasticity = plastic_active('isotropic') Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return print*, 'Maiti and Eisenlohr, Scripta Materialia 145:37–40, 2018' diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index fe17b090e..86c1dc263 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -83,7 +83,7 @@ module function plastic_kinehardening_init() result(myPlasticity) myPlasticity = plastic_active('kinehardening') Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return allocate(param(Ninstance)) diff --git a/src/constitutive_plastic_none.f90 b/src/constitutive_plastic_none.f90 index d62a798cc..2b0da4c9f 100644 --- a/src/constitutive_plastic_none.f90 +++ b/src/constitutive_plastic_none.f90 @@ -35,7 +35,7 @@ module function plastic_none_init() result(myPlasticity) enddo Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return do p = 1, phases%length diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 81e1887c6..f0b62eb58 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -189,7 +189,7 @@ module function plastic_nonlocal_init() result(myPlasticity) myPlasticity = plastic_active('nonlocal') Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) then call geometry_plastic_nonlocal_disable return diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index b30a4d9df..adb827a02 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -92,7 +92,7 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) myPlasticity = plastic_active('phenopowerlaw') Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return allocate(param(Ninstance)) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 2ee85024b..850b369a2 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -294,7 +294,7 @@ subroutine crystallite_init print'(a42,1x,i10)', ' # of elements: ', eMax print'(a42,1x,i10)', ' # of integration points/element: ', iMax print'(a42,1x,i10)', 'max # of constituents/integration point: ', cMax - flush(6) + flush(OUTPUT_UNIT) endif #endif @@ -1561,7 +1561,7 @@ subroutine crystallite_restartWrite integer(HID_T) :: fileHandle, groupHandle character(len=pStringLen) :: fileName, datasetName - print*, ' writing field and constitutive data required for restart to file';flush(6) + print*, ' writing field and constitutive data required for restart to file';flush(OUTPUT_UNIT) write(fileName,'(a,i0,a)') trim(getSolverJobName())//'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'a') diff --git a/src/damage_local.f90 b/src/damage_local.f90 index 3588010b2..d9c6e2d22 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -49,7 +49,7 @@ subroutine damage_local_init homog, & homogDamage - print'(/,a)', ' <<<+- damage_local init -+>>>'; flush(6) + print'(/,a)', ' <<<+- damage_local init -+>>>'; flush(OUTPUT_UNIT) !---------------------------------------------------------------------------------------------- ! read numerics parameter and do sanity check diff --git a/src/element.f90 b/src/element.f90 index 3ccc2fb78..2a2e81d00 100644 --- a/src/element.f90 +++ b/src/element.f90 @@ -922,7 +922,7 @@ subroutine tElement_init(self,elemType) self%nIPneighbors = size(self%IPneighbor,1) - print'(/,a)', ' <<<+- element_init -+>>>'; flush(6) + print'(/,a)', ' <<<+- element_init -+>>>'; flush(OUTPUT_UNIT) print*, 'element type: ',self%elemType print*, ' geom type: ',self%geomType diff --git a/src/homogenization.f90 b/src/homogenization.f90 index cc8df77f4..1c2b9bc38 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -186,7 +186,7 @@ subroutine homogenization_init materialpoint_F = materialpoint_F0 ! initialize to identity allocate(materialpoint_P(3,3,discretization_nIP,discretization_nElem), source=0.0_pReal) - print'(/,a)', ' <<<+- homogenization init -+>>>'; flush(6) + print'(/,a)', ' <<<+- homogenization init -+>>>'; flush(OUTPUT_UNIT) num%nMPstate = num_homogGeneric%get_asInt ('nMPstate', defaultVal=10) num%subStepMinHomog = num_homogGeneric%get_asFloat('subStepMin', defaultVal=1.0e-3_pReal) diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index cdd7c05dd..d954b0b9f 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -95,7 +95,7 @@ module subroutine mech_RGC_init(num_homogMech) print'(/,a)', ' <<<+- homogenization_mech_rgc init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_RGC_ID) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) print*, 'Tjahjanto et al., International Journal of Material Forming 2(1):939–942, 2009' print*, 'https://doi.org/10.1007/s12289-009-0619-1'//IO_EOL @@ -247,7 +247,7 @@ module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of) print'(1x,3(e15.8,1x))',(F(i,j,iGrain), j = 1,3) enddo print*,' ' - flush(6) + flush(OUTPUT_UNIT) endif #endif enddo @@ -376,7 +376,7 @@ module procedure mech_RGC_updateState '@ grain ',stresLoc(3),' in component ',stresLoc(1),stresLoc(2) print'(a,e15.8,a,i3,a,i2)',' Max residual: ',residMax, & ' @ iface ',residLoc(1),' in direction ',residLoc(2) - flush(6) + flush(OUTPUT_UNIT) endif #endif @@ -388,7 +388,7 @@ module procedure mech_RGC_updateState mech_RGC_updateState = .true. #ifdef DEBUG if (debugHomog%extensive .and. prm%of_debug == of) & - print*, '... done and happy'; flush(6) + print*, '... done and happy'; flush(OUTPUT_UNIT) #endif !-------------------------------------------------------------------------------------------------- @@ -416,7 +416,7 @@ module procedure mech_RGC_updateState print'(a,e15.8,/)', ' Volume discrepancy: ', dst%volumeDiscrepancy(of) print'(a,e15.8)', ' Maximum relaxation rate: ', dst%relaxationRate_max(of) print'(a,e15.8,/)', ' Average relaxation rate: ', dst%relaxationRate_avg(of) - flush(6) + flush(OUTPUT_UNIT) endif #endif @@ -429,7 +429,7 @@ module procedure mech_RGC_updateState #ifdef DEBUG if (debugHomog%extensive .and. prm%of_debug == of) & - print'(a,/)', ' ... broken'; flush(6) + print'(a,/)', ' ... broken'; flush(OUTPUT_UNIT) #endif return @@ -437,7 +437,7 @@ module procedure mech_RGC_updateState else ! proceed with computing the Jacobian and state update #ifdef DEBUG if (debugHomog%extensive .and. prm%of_debug == of) & - print'(a,/)', ' ... not yet done'; flush(6) + print'(a,/)', ' ... not yet done'; flush(OUTPUT_UNIT) #endif endif @@ -499,7 +499,7 @@ module procedure mech_RGC_updateState print'(1x,100(e11.4,1x))',(smatrix(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' - flush(6) + flush(OUTPUT_UNIT) endif #endif @@ -559,7 +559,7 @@ module procedure mech_RGC_updateState print'(1x,100(e11.4,1x))',(pmatrix(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' - flush(6) + flush(OUTPUT_UNIT) endif #endif @@ -578,7 +578,7 @@ module procedure mech_RGC_updateState print'(1x,100(e11.4,1x))',(rmatrix(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' - flush(6) + flush(OUTPUT_UNIT) endif #endif @@ -593,7 +593,7 @@ module procedure mech_RGC_updateState print'(1x,100(e11.4,1x))',(jmatrix(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' - flush(6) + flush(OUTPUT_UNIT) endif #endif @@ -609,7 +609,7 @@ module procedure mech_RGC_updateState print'(1x,100(e11.4,1x))',(jnverse(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' - flush(6) + flush(OUTPUT_UNIT) endif #endif @@ -625,7 +625,7 @@ module procedure mech_RGC_updateState !$OMP CRITICAL (write2out) print'(a,i3,a,i3,a)',' RGC_updateState: ip ',ip,' | el ',el,' enforces cutback' print'(a,e15.8)',' due to large relaxation change = ',maxval(abs(drelax)) - flush(6) + flush(OUTPUT_UNIT) !$OMP END CRITICAL (write2out) endif @@ -636,7 +636,7 @@ module procedure mech_RGC_updateState print'(1x,2(e15.8,1x))', stt%relaxationVector(i,of) enddo print*,' ' - flush(6) + flush(OUTPUT_UNIT) endif #endif diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index 6c5f50b99..eefb3ad64 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -40,7 +40,7 @@ module subroutine mech_isostrain_init print'(/,a)', ' <<<+- homogenization_mech_isostrain init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) allocate(param(Ninstance)) ! one container of parameters per instance diff --git a/src/homogenization_mech_none.f90 b/src/homogenization_mech_none.f90 index d9426ef50..52143a3d2 100644 --- a/src/homogenization_mech_none.f90 +++ b/src/homogenization_mech_none.f90 @@ -21,7 +21,7 @@ module subroutine mech_none_init print'(/,a)', ' <<<+- homogenization_mech_none init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_NONE_ID) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) do h = 1, size(homogenization_type) if (homogenization_type(h) /= HOMOGENIZATION_NONE_ID) cycle diff --git a/src/kinematics_cleavage_opening.f90 b/src/kinematics_cleavage_opening.f90 index d8f25f8b8..37513d0e1 100644 --- a/src/kinematics_cleavage_opening.f90 +++ b/src/kinematics_cleavage_opening.f90 @@ -49,7 +49,7 @@ module function kinematics_cleavage_opening_init(kinematics_length) result(myKin myKinematics = kinematics_active('cleavage_opening',kinematics_length) Ninstance = count(myKinematics) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/kinematics_slipplane_opening.f90 b/src/kinematics_slipplane_opening.f90 index 3b04e37c1..46ff59da5 100644 --- a/src/kinematics_slipplane_opening.f90 +++ b/src/kinematics_slipplane_opening.f90 @@ -52,7 +52,7 @@ module function kinematics_slipplane_opening_init(kinematics_length) result(myKi myKinematics = kinematics_active('slipplane_opening',kinematics_length) Ninstance = count(myKinematics) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index 652713aa4..d3516862d 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -42,7 +42,7 @@ module function kinematics_thermal_expansion_init(kinematics_length) result(myKi myKinematics = kinematics_active('thermal_expansion',kinematics_length) Ninstance = count(myKinematics) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/lattice.f90 b/src/lattice.f90 index d0ac07ed6..ba7631142 100644 --- a/src/lattice.f90 +++ b/src/lattice.f90 @@ -457,7 +457,7 @@ subroutine lattice_init phase, & elasticity - print'(/,a)', ' <<<+- lattice init -+>>>'; flush(6) + print'(/,a)', ' <<<+- lattice init -+>>>'; flush(OUTPUT_UNIT) phases => config_material%get('phase') Nphases = phases%length diff --git a/src/material.f90 b/src/material.f90 index f8e487b66..9bc2bbbc5 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -164,7 +164,7 @@ subroutine material_init(restart) material_homogenization character(len=pStringLen) :: sectionName - print'(/,a)', ' <<<+- material init -+>>>'; flush(6) + print'(/,a)', ' <<<+- material init -+>>>'; flush(OUTPUT_UNIT) phases => config_material%get('phase') allocate(material_name_phase(phases%length)) diff --git a/src/math.f90 b/src/math.f90 index b835a35b2..63e539e48 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -91,7 +91,7 @@ subroutine math_init class(tNode), pointer :: & num_generic - print'(/,a)', ' <<<+- math init -+>>>'; flush(6) + print'(/,a)', ' <<<+- math init -+>>>'; flush(OUTPUT_UNIT) num_generic => config_numerics%get('generic',defaultVal=emptyDict) randomSeed = num_generic%get_asInt('random_seed', defaultVal = 0) diff --git a/src/results.f90 b/src/results.f90 index 686183919..6dd84fb78 100644 --- a/src/results.f90 +++ b/src/results.f90 @@ -65,7 +65,7 @@ subroutine results_init(restart) character(len=pStringLen) :: commandLine - print'(/,a)', ' <<<+- results init -+>>>'; flush(6) + print'(/,a)', ' <<<+- results init -+>>>'; flush(OUTPUT_UNIT) print*, 'Diehl et al., Integrating Materials and Manufacturing Innovation 6(1):83–91, 2017' print*, 'https://doi.org/10.1007/s40192-017-0084-5'//IO_EOL diff --git a/src/rotations.f90 b/src/rotations.f90 index 72046a965..723cced61 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -104,7 +104,7 @@ contains subroutine rotations_init call quaternions_init - print'(/,a)', ' <<<+- rotations init -+>>>'; flush(6) + print'(/,a)', ' <<<+- rotations init -+>>>'; flush(OUTPUT_UNIT) print*, 'Rowenhorst et al., Modelling and Simulation in Materials Science and Engineering 23:083501, 2015' print*, 'https://doi.org/10.1088/0965-0393/23/8/083501' diff --git a/src/source_damage_anisoBrittle.f90 b/src/source_damage_anisoBrittle.f90 index 6dd58fe5b..5377f3373 100644 --- a/src/source_damage_anisoBrittle.f90 +++ b/src/source_damage_anisoBrittle.f90 @@ -53,7 +53,7 @@ module function source_damage_anisoBrittle_init(source_length) result(mySources) mySources = source_active('damage_anisoBrittle',source_length) Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_damage_anisoDuctile.f90 b/src/source_damage_anisoDuctile.f90 index 37681a23f..abbd90ca3 100644 --- a/src/source_damage_anisoDuctile.f90 +++ b/src/source_damage_anisoDuctile.f90 @@ -47,7 +47,7 @@ module function source_damage_anisoDuctile_init(source_length) result(mySources) mySources = source_active('damage_anisoDuctile',source_length) Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index c6d0ada99..45f6abf3a 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -43,7 +43,7 @@ module function source_damage_isoBrittle_init(source_length) result(mySources) mySources = source_active('damage_isoBrittle',source_length) Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index 1c1c53fd0..e74f187de 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -45,7 +45,7 @@ module function source_damage_isoDuctile_init(source_length) result(mySources) mySources = source_active('damage_isoDuctile',source_length) Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index 60fde7f28..307d211b3 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -41,7 +41,7 @@ module function source_thermal_dissipation_init(source_length) result(mySources) mySources = source_active('thermal_dissipation',source_length) Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index e7bfea254..95d994e11 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -45,7 +45,7 @@ module function source_thermal_externalheat_init(source_length) result(mySources mySources = source_active('thermal_externalheat',source_length) Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(6) + print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) if(Ninstance == 0) return phases => config_material%get('phase') From 53ce4e07d2d40ec381ada8195bf2e369d8d3a148 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 22 Sep 2020 13:02:33 +0200 Subject: [PATCH 700/958] forgotten renames in subfolders --- src/grid/DAMASK_grid.f90 | 24 +++++++-------- src/grid/discretization_grid.f90 | 2 +- src/grid/grid_damage_spectral.f90 | 4 +-- src/grid/grid_mech_FEM.f90 | 12 ++++---- src/grid/grid_mech_spectral_basic.f90 | 12 ++++---- src/grid/grid_mech_spectral_polarisation.f90 | 12 ++++---- src/grid/grid_thermal_spectral.f90 | 4 +-- src/grid/spectral_utilities.f90 | 32 ++++++++++---------- src/mesh/DAMASK_mesh.f90 | 6 ++-- src/mesh/FEM_utilities.f90 | 2 +- src/mesh/mesh_mech_FEM.f90 | 8 ++--- 11 files changed, 59 insertions(+), 59 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 213322278..03dfd2e77 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -99,7 +99,7 @@ program DAMASK_grid ! init DAMASK (all modules) call CPFEM_initAll - print'(/,a)', ' <<<+- DAMASK_spectral init -+>>>'; flush(6) + print'(/,a)', ' <<<+- DAMASK_spectral init -+>>>'; flush(OUTPUT_UNIT) print*, 'Shanthraj et al., Handbook of Mechanics of Materials, 2019' print*, 'https://doi.org/10.1007/978-981-10-6855-3_80' @@ -279,11 +279,11 @@ program DAMASK_grid endif do i = 1, 3; do j = 1, 3 if(newLoadCase%deformation%maskLogical(i,j)) then - write(6,'(2x,f12.7)',advance='no') newLoadCase%deformation%values(i,j) + write(OUTPUT_UNIT,'(2x,f12.7)',advance='no') newLoadCase%deformation%values(i,j) else - write(6,'(2x,12a)',advance='no') ' * ' + write(OUTPUT_UNIT,'(2x,12a)',advance='no') ' * ' endif - enddo; write(6,'(/)',advance='no') + enddo; write(OUTPUT_UNIT,'(/)',advance='no') enddo if (any(newLoadCase%stress%maskLogical .eqv. & newLoadCase%deformation%maskLogical)) errorID = 831 ! exclusive or masking only @@ -292,17 +292,17 @@ program DAMASK_grid print*, ' stress / GPa:' do i = 1, 3; do j = 1, 3 if(newLoadCase%stress%maskLogical(i,j)) then - write(6,'(2x,f12.7)',advance='no') newLoadCase%stress%values(i,j)*1e-9_pReal + write(OUTPUT_UNIT,'(2x,f12.7)',advance='no') newLoadCase%stress%values(i,j)*1e-9_pReal else - write(6,'(2x,12a)',advance='no') ' * ' + write(OUTPUT_UNIT,'(2x,12a)',advance='no') ' * ' endif - enddo; write(6,'(/)',advance='no') + enddo; write(OUTPUT_UNIT,'(/)',advance='no') enddo if (any(abs(matmul(newLoadCase%rot%asMatrix(), & transpose(newLoadCase%rot%asMatrix()))-math_I3) > & reshape(spread(tol_math_check,1,9),[ 3,3]))) errorID = 846 ! given rotation matrix contains strain if (any(dNeq(newLoadCase%rot%asMatrix(), math_I3))) & - write(6,'(2x,a,/,3(3(3x,f12.7,1x)/))',advance='no') 'rotation of loadframe:',& + write(OUTPUT_UNIT,'(2x,a,/,3(3(3x,f12.7,1x)/))',advance='no') 'rotation of loadframe:',& transpose(newLoadCase%rot%asMatrix()) if (newLoadCase%time < 0.0_pReal) errorID = 834 ! negative time increment print'(a,f0.3)', ' time: ', newLoadCase%time @@ -342,7 +342,7 @@ program DAMASK_grid open(newunit=statUnit,file=trim(getSolverJobName())//'.sta',form='FORMATTED',status='REPLACE') write(statUnit,'(a)') 'Increment Time CutbackLevel Converged IterationsNeeded' ! statistics file if (debug_grid%contains('basic')) print'(/,a)', ' header of statistics file written out' - flush(6) + flush(OUTPUT_UNIT) else writeHeader open(newunit=statUnit,file=trim(getSolverJobName())//& '.sta',form='FORMATTED', position='APPEND', status='OLD') @@ -405,7 +405,7 @@ program DAMASK_grid write(incInfo,'(4(a,i0))') & 'Increment ',totalIncsCounter,'/',sum(loadCases%incs),& '-', stepFraction,'/',subStepFactor**cutBackLevel - flush(6) + flush(OUTPUT_UNIT) !-------------------------------------------------------------------------------------------------- ! forward fields @@ -489,11 +489,11 @@ program DAMASK_grid print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' converged' else print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' NOT converged' - endif; flush(6) + endif; flush(OUTPUT_UNIT) if (mod(inc,loadCases(currentLoadCase)%outputFrequency) == 0) then ! at output frequency print'(1/,a)', ' ... writing results to file ......................................' - flush(6) + flush(OUTPUT_UNIT) call CPFEM_results(totalIncsCounter,time) endif if (mod(inc,loadCases(currentLoadCase)%restartFrequency) == 0) then diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 576aaea60..32cd996db 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -65,7 +65,7 @@ subroutine discretization_grid_init(restart) integer(C_INTPTR_T) :: & devNull, z, z_offset - print'(/,a)', ' <<<+- discretization_grid init -+>>>'; flush(6) + print'(/,a)', ' <<<+- discretization_grid init -+>>>'; flush(OUTPUT_UNIT) if(index(interface_geomFile,'.vtr') /= 0) then call readVTR(grid,geomSize,origin,microstructureAt) diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index 2a0754c66..3d6a9c431 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -205,10 +205,10 @@ function grid_damage_spectral_solution(timeinc,timeinc_old) result(solution) call VecMax(solution_vec,devNull,phi_max,ierr); CHKERRQ(ierr) if (solution%converged) & print'(/,a)', ' ... nonlocal damage converged .....................................' - write(6,'(/,a,f8.6,2x,f8.6,2x,e11.4,/)',advance='no') ' Minimum|Maximum|Delta Damage = ',& + write(OUTPUT_UNIT,'(/,a,f8.6,2x,f8.6,2x,e11.4,/)',advance='no') ' Minimum|Maximum|Delta Damage = ',& phi_min, phi_max, stagNorm print'(/,a)', ' ===========================================================================' - flush(6) + flush(OUTPUT_UNIT) end function grid_damage_spectral_solution diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 3923e1898..0fcb08480 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -122,7 +122,7 @@ subroutine grid_mech_FEM_init PetscScalar, pointer, dimension(:,:,:,:) :: & u_current,u_lastInc - print'(/,a)', ' <<<+- grid_mech_FEM init -+>>>'; flush(6) + print'(/,a)', ' <<<+- grid_mech_FEM init -+>>>'; flush(OUTPUT_UNIT) !----------------------------------------------------------------------------------------------- ! debugging options @@ -413,7 +413,7 @@ subroutine grid_mech_FEM_restartWrite call DMDAVecGetArrayF90(mech_grid,solution_current,u_current,ierr); CHKERRQ(ierr) call DMDAVecGetArrayF90(mech_grid,solution_lastInc,u_lastInc,ierr); CHKERRQ(ierr) - print*, 'writing solver data required for restart to file'; flush(6) + print*, 'writing solver data required for restart to file'; flush(OUTPUT_UNIT) write(fileName,'(a,a,i0,a)') trim(getSolverJobName()),'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'w') @@ -481,7 +481,7 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,fnorm,reason,dummy,i print'(a,f12.2,a,es8.2,a,es9.2,a)', ' error stress BC = ', & err_BC/BCTol, ' (',err_BC, ' Pa, tol = ',BCTol,')' print'(/,a)', ' ===========================================================================' - flush(6) + flush(OUTPUT_UNIT) end subroutine converged @@ -517,11 +517,11 @@ subroutine formResidual(da_local,x_local, & totalIter = totalIter + 1 print'(1x,a,3(a,i0))', trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter+1, '≤', num%itmax if (debugRotation) & - write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & + write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) - write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & + write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim =', transpose(F_aim) - flush(6) + flush(OUTPUT_UNIT) endif newIteration !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 14d317c73..819e9eded 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -109,7 +109,7 @@ subroutine grid_mech_spectral_basic_init character(len=pStringLen) :: & fileName - print'(/,a)', ' <<<+- grid_mech_spectral_basic init -+>>>'; flush(6) + print'(/,a)', ' <<<+- grid_mech_spectral_basic init -+>>>'; flush(OUTPUT_UNIT) print*, 'Eisenlohr et al., International Journal of Plasticity 46:37–53, 2013' print*, 'https://doi.org/10.1016/j.ijplas.2012.09.012'//IO_EOL @@ -375,7 +375,7 @@ subroutine grid_mech_spectral_basic_restartWrite call DMDAVecGetArrayF90(da,solution_vec,F,ierr); CHKERRQ(ierr) - print'(a)', ' writing solver data required for restart to file'; flush(6) + print'(a)', ' writing solver data required for restart to file'; flush(OUTPUT_UNIT) write(fileName,'(a,a,i0,a)') trim(getSolverJobName()),'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'w') @@ -441,7 +441,7 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm print'(a,f12.2,a,es8.2,a,es9.2,a)', ' error stress BC = ', & err_BC/BCTol, ' (',err_BC, ' Pa, tol = ',BCTol,')' print'(/,a)', ' ===========================================================================' - flush(6) + flush(OUTPUT_UNIT) end subroutine converged @@ -475,11 +475,11 @@ subroutine formResidual(in, F, & totalIter = totalIter + 1 print'(1x,a,3(a,i0))', trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax if (debugRotation) & - write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & + write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) - write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & + write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim =', transpose(F_aim) - flush(6) + flush(OUTPUT_UNIT) endif newIteration !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index f83ebed75..021c2291e 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -123,7 +123,7 @@ subroutine grid_mech_spectral_polarisation_init character(len=pStringLen) :: & fileName - print'(/,a)', ' <<<+- grid_mech_spectral_polarisation init -+>>>'; flush(6) + print'(/,a)', ' <<<+- grid_mech_spectral_polarisation init -+>>>'; flush(OUTPUT_UNIT) print*, 'Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' print*, 'https://doi.org/10.1016/j.ijplas.2014.02.006' @@ -433,7 +433,7 @@ subroutine grid_mech_spectral_polarisation_restartWrite F => FandF_tau(0: 8,:,:,:) F_tau => FandF_tau(9:17,:,:,:) - print*, 'writing solver data required for restart to file'; flush(6) + print*, 'writing solver data required for restart to file'; flush(OUTPUT_UNIT) write(fileName,'(a,a,i0,a)') trim(getSolverJobName()),'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'w') @@ -505,7 +505,7 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm print '(a,f12.2,a,es8.2,a,es9.2,a)', ' error stress BC = ', & err_BC/BCTol, ' (',err_BC, ' Pa, tol = ',BCTol,')' print'(/,a)', ' ===========================================================================' - flush(6) + flush(OUTPUT_UNIT) end subroutine converged @@ -559,11 +559,11 @@ subroutine formResidual(in, FandF_tau, & totalIter = totalIter + 1 print'(1x,a,3(a,i0))', trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax if(debugRotation) & - write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & + write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) - write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & + write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim =', transpose(F_aim) - flush(6) + flush(OUTPUT_UNIT) endif newIteration !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index eeff8c9d6..b12d67843 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -199,10 +199,10 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) call VecMax(solution_vec,devNull,T_max,ierr); CHKERRQ(ierr) if (solution%converged) & print'(/,a)', ' ... thermal conduction converged ..................................' - write(6,'(/,a,f8.4,2x,f8.4,2x,f8.4,/)',advance='no') ' Minimum|Maximum|Delta Temperature / K = ',& + write(OUTPUT_UNIT,'(/,a,f8.4,2x,f8.4,2x,f8.4,/)',advance='no') ' Minimum|Maximum|Delta Temperature / K = ',& T_min, T_max, stagNorm print'(/,a)', ' ===========================================================================' - flush(6) + flush(OUTPUT_UNIT) end function grid_thermal_spectral_solution diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 5e53fe2a5..bfd05b6f5 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -211,7 +211,7 @@ subroutine spectral_utilities_init if(debugPETSc) print'(3(/,a),/)', & ' Initializing PETSc with debug options: ', & trim(PETScDebug), & - ' add more using the PETSc_Options keyword in numerics.yaml '; flush(6) + ' add more using the PETSc_Options keyword in numerics.yaml '; flush(OUTPUT_UNIT) num_grid => config_numerics%get('grid',defaultVal=emptyDict) @@ -280,7 +280,7 @@ subroutine spectral_utilities_init if (pReal /= C_DOUBLE .or. kind(1) /= C_INT) error stop 'C and Fortran datatypes do not match' call fftw_set_timelimit(num_grid%get_asFloat('fftw_timelimit',defaultVal=-1.0_pReal)) - print*, 'FFTW initialized'; flush(6) + print*, 'FFTW initialized'; flush(OUTPUT_UNIT) !-------------------------------------------------------------------------------------------------- ! MPI allocation @@ -507,7 +507,7 @@ subroutine utilities_fourierGammaConvolution(fieldAim) print'(/,a)', ' ... doing gamma convolution ...............................................' - flush(6) + flush(OUTPUT_UNIT) !-------------------------------------------------------------------------------------------------- ! do the actual spectral method calculation (mechanical equilibrium) @@ -577,7 +577,7 @@ real(pReal) function utilities_divergenceRMS() complex(pReal), dimension(3) :: rescaledGeom print'(/,a)', ' ... calculating divergence ................................................' - flush(6) + flush(OUTPUT_UNIT) rescaledGeom = cmplx(geomSize/scaledGeomSize,0.0_pReal) @@ -621,7 +621,7 @@ real(pReal) function utilities_curlRMS() complex(pReal), dimension(3) :: rescaledGeom print'(/,a)', ' ... calculating curl ......................................................' - flush(6) + flush(OUTPUT_UNIT) rescaledGeom = cmplx(geomSize/scaledGeomSize,0.0_pReal) @@ -701,9 +701,9 @@ function utilities_maskedCompliance(rot_BC,mask_stress,C) if(debugGeneral) then print'(/,a)', ' ... updating masked compliance ............................................' - write(6,'(/,a,/,9(9(2x,f12.7,1x)/))',advance='no') ' Stiffness C (load) / GPa =',& + write(OUTPUT_UNIT,'(/,a,/,9(9(2x,f12.7,1x)/))',advance='no') ' Stiffness C (load) / GPa =',& transpose(temp99_Real)*1.0e-9_pReal - flush(6) + flush(OUTPUT_UNIT) endif do i = 1,9; do j = 1,9 @@ -723,9 +723,9 @@ function utilities_maskedCompliance(rot_BC,mask_stress,C) if (debugGeneral .or. errmatinv) then write(formatString, '(i2)') size_reduced formatString = '(/,a,/,'//trim(formatString)//'('//trim(formatString)//'(2x,es9.2,1x)/))' - write(6,trim(formatString),advance='no') ' C * S (load) ', & + write(OUTPUT_UNIT,trim(formatString),advance='no') ' C * S (load) ', & transpose(matmul(c_reduced,s_reduced)) - write(6,trim(formatString),advance='no') ' S (load) ', transpose(s_reduced) + write(OUTPUT_UNIT,trim(formatString),advance='no') ' S (load) ', transpose(s_reduced) if(errmatinv) call IO_error(error_ID=400,ext_msg='utilities_maskedCompliance') endif temp99_real = reshape(unpack(reshape(s_reduced,[size_reduced**2]),reshape(mask,[81]),0.0_pReal),[9,9]) @@ -736,9 +736,9 @@ function utilities_maskedCompliance(rot_BC,mask_stress,C) utilities_maskedCompliance = math_99to3333(temp99_Real) if(debugGeneral) then - write(6,'(/,a,/,9(9(2x,f10.5,1x)/),/)',advance='no') & + write(OUTPUT_UNIT,'(/,a,/,9(9(2x,f10.5,1x)/),/)',advance='no') & ' Masked Compliance (load) * GPa =', transpose(temp99_Real)*1.0e9_pReal - flush(6) + flush(OUTPUT_UNIT) endif end function utilities_maskedCompliance @@ -823,7 +823,7 @@ subroutine utilities_constitutiveResponse(P,P_av,C_volAvg,C_minmaxAvg,& real(pReal), dimension(2) :: valueAndRank !< pair of min/max norm of dPdF to synchronize min/max of dPdF print'(/,a)', ' ... evaluating constitutive response ......................................' - flush(6) + flush(OUTPUT_UNIT) materialpoint_F = reshape(F,[3,3,1,product(grid(1:2))*grid3]) ! set materialpoint target F to estimated field @@ -833,13 +833,13 @@ subroutine utilities_constitutiveResponse(P,P_av,C_volAvg,C_minmaxAvg,& P_av = sum(sum(sum(P,dim=5),dim=4),dim=3) * wgt ! average of P call MPI_Allreduce(MPI_IN_PLACE,P_av,9,MPI_DOUBLE,MPI_SUM,PETSC_COMM_WORLD,ierr) if (debugRotation) & - write(6,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress (lab) / MPa =',& + write(OUTPUT_UNIT,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress (lab) / MPa =',& transpose(P_av)*1.e-6_pReal if(present(rotation_BC)) & P_av = rotation_BC%rotate(P_av) - write(6,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress / MPa =',& + write(OUTPUT_UNIT,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress / MPa =',& transpose(P_av)*1.e-6_pReal - flush(6) + flush(OUTPUT_UNIT) dPdF_max = 0.0_pReal dPdF_norm_max = 0.0_pReal @@ -1095,7 +1095,7 @@ subroutine utilities_saveReferenceStiffness fileUnit,ierr if (worldrank == 0) then - print'(a)', ' writing reference stiffness data required for restart to file'; flush(6) + print'(a)', ' writing reference stiffness data required for restart to file'; flush(OUTPUT_UNIT) open(newunit=fileUnit, file=getSolverJobName()//'.C_ref',& status='replace',access='stream',action='write',iostat=ierr) if(ierr /=0) call IO_error(100,ext_msg='could not open file '//getSolverJobName()//'.C_ref') diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index 0ba56bef3..acee51394 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -78,7 +78,7 @@ program DAMASK_mesh !-------------------------------------------------------------------------------------------------- ! init DAMASK (all modules) call CPFEM_initAll - print'(/,a)', ' <<<+- DAMASK_mesh init -+>>>'; flush(6) + print'(/,a)', ' <<<+- DAMASK_mesh init -+>>>'; flush(OUTPUT_UNIT) !--------------------------------------------------------------------- ! reading field information from numerics file and do sanity checks @@ -299,7 +299,7 @@ program DAMASK_mesh write(incInfo,'(4(a,i0))') & 'Increment ',totalIncsCounter,'/',sum(loadCases%incs),& '-',stepFraction, '/', subStepFactor**cutBackLevel - flush(6) + flush(OUTPUT_UNIT) !-------------------------------------------------------------------------------------------------- ! forward fields @@ -363,7 +363,7 @@ program DAMASK_mesh print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' converged' else print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' NOT converged' - endif; flush(6) + endif; flush(OUTPUT_UNIT) if (mod(inc,loadCases(currentLoadCase)%outputFrequency) == 0) then ! at output frequency print'(/,a)', ' ... writing results to file ......................................' diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 1e154e533..91e1bd5b6 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -122,7 +122,7 @@ subroutine FEM_utilities_init ' Initializing PETSc with debug options: ', & trim(PETScDebug), & ' add more using the PETSc_Options keyword in numerics.yaml ' - flush(6) + flush(OUTPUT_UNIT) call PetscOptionsClear(PETSC_NULL_OPTIONS,ierr) CHKERRQ(ierr) if(debugPETSc) call PetscOptionsInsertString(PETSC_NULL_OPTIONS,trim(PETSCDEBUG),ierr) diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index 6c8d4667d..f7a177929 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -110,7 +110,7 @@ subroutine FEM_mech_init(fieldBC) class(tNode), pointer :: & num_mesh - print'(/,a)', ' <<<+- FEM_mech init -+>>>'; flush(6) + print'(/,a)', ' <<<+- FEM_mech init -+>>>'; flush(OUTPUT_UNIT) !----------------------------------------------------------------------------- ! read numerical parametes and do sanity checks @@ -319,7 +319,7 @@ type(tSolutionState) function FEM_mech_solution( & endif print'(/,a)', ' ===========================================================================' - flush(6) + flush(OUTPUT_UNIT) end function FEM_mech_solution @@ -682,9 +682,9 @@ subroutine FEM_mech_converged(snes_local,PETScIter,xnorm,snorm,fnorm,reason,dumm print'(/,1x,a,a,i0,a,i0,f0.3)', trim(incInfo), & ' @ Iteration ',PETScIter,' mechanical residual norm = ', & int(fnorm/divTol),fnorm/divTol-int(fnorm/divTol) - write(6,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress / MPa =',& + write(OUTPUT_UNIT,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress / MPa =',& transpose(P_av)*1.e-6_pReal - flush(6) + flush(OUTPUT_UNIT) end subroutine FEM_mech_converged From 41fbc58c1b0b45c6584e27e1990fcb53be725b60 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 22 Sep 2020 13:09:12 +0200 Subject: [PATCH 701/958] standard conforming name --- src/CPFEM.f90 | 6 +- src/CPFEM2.f90 | 2 +- src/IO.f90 | 60 ++++++++++---------- src/base64.f90 | 2 +- src/config.f90 | 8 +-- src/constitutive.f90 | 2 +- src/constitutive_plastic_disloTungsten.f90 | 2 +- src/constitutive_plastic_dislotwin.f90 | 2 +- src/constitutive_plastic_isotropic.f90 | 2 +- src/constitutive_plastic_kinehardening.f90 | 2 +- src/constitutive_plastic_none.f90 | 2 +- src/constitutive_plastic_nonlocal.f90 | 2 +- src/constitutive_plastic_phenopowerlaw.f90 | 2 +- src/crystallite.f90 | 4 +- src/damage_local.f90 | 2 +- src/element.f90 | 2 +- src/grid/DAMASK_grid.f90 | 24 ++++---- src/grid/discretization_grid.f90 | 2 +- src/grid/grid_damage_spectral.f90 | 4 +- src/grid/grid_mech_FEM.f90 | 12 ++-- src/grid/grid_mech_spectral_basic.f90 | 12 ++-- src/grid/grid_mech_spectral_polarisation.f90 | 12 ++-- src/grid/grid_thermal_spectral.f90 | 4 +- src/grid/spectral_utilities.f90 | 32 +++++------ src/homogenization.f90 | 2 +- src/homogenization_mech_RGC.f90 | 28 ++++----- src/homogenization_mech_isostrain.f90 | 2 +- src/homogenization_mech_none.f90 | 2 +- src/kinematics_cleavage_opening.f90 | 2 +- src/kinematics_slipplane_opening.f90 | 2 +- src/kinematics_thermal_expansion.f90 | 2 +- src/lattice.f90 | 2 +- src/material.f90 | 2 +- src/math.f90 | 2 +- src/mesh/DAMASK_mesh.f90 | 6 +- src/mesh/FEM_utilities.f90 | 2 +- src/mesh/mesh_mech_FEM.f90 | 8 +-- src/results.f90 | 2 +- src/rotations.f90 | 2 +- src/source_damage_anisoBrittle.f90 | 2 +- src/source_damage_anisoDuctile.f90 | 2 +- src/source_damage_isoBrittle.f90 | 2 +- src/source_damage_isoDuctile.f90 | 2 +- src/source_thermal_dissipation.f90 | 2 +- src/source_thermal_externalheat.f90 | 2 +- 45 files changed, 141 insertions(+), 141 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 09e028f6c..05255e2a1 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -106,7 +106,7 @@ subroutine CPFEM_init num_commercialFEM, & debug_CPFEM - print'(/,a)', ' <<<+- CPFEM init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- CPFEM init -+>>>'; flush(IO_STDOUT) allocate(CPFEM_cs( 6,discretization_nIP,discretization_nElem), source= 0.0_pReal) allocate(CPFEM_dcsdE( 6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) @@ -132,7 +132,7 @@ subroutine CPFEM_init print'(a32,1x,6(i8,1x))', 'CPFEM_cs: ', shape(CPFEM_cs) print'(a32,1x,6(i8,1x))', 'CPFEM_dcsdE: ', shape(CPFEM_dcsdE) print'(a32,1x,6(i8,1x),/)', 'CPFEM_dcsdE_knownGood: ', shape(CPFEM_dcsdE_knownGood) - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif end subroutine CPFEM_init @@ -250,7 +250,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS '<< CPFEM >> stress/MPa at elFE ip ', elFE, ip, CPFEM_cs(1:6,ip,elCP)*1.0e-6_pReal print'(a,i8,1x,i2,/,6(12x,6(f10.3,1x)/))', & '<< CPFEM >> Jacobian/GPa at elFE ip ', elFE, ip, transpose(CPFEM_dcsdE(1:6,1:6,ip,elCP))*1.0e-9_pReal - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif endif diff --git a/src/CPFEM2.f90 b/src/CPFEM2.f90 index fc68778c8..fed43ba78 100644 --- a/src/CPFEM2.f90 +++ b/src/CPFEM2.f90 @@ -76,7 +76,7 @@ end subroutine CPFEM_initAll !-------------------------------------------------------------------------------------------------- subroutine CPFEM_init - print'(/,a)', ' <<<+- CPFEM init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- CPFEM init -+>>>'; flush(IO_STDOUT) if (interface_restartInc > 0) call crystallite_restartRead diff --git a/src/IO.f90 b/src/IO.f90 index 72eb2011f..f9e708ead 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -7,8 +7,8 @@ !-------------------------------------------------------------------------------------------------- module IO use, intrinsic :: ISO_fortran_env, only: & - OUTPUT_UNIT, & - ERROR_UNIT + IO_STDOUT => OUTPUT_UNIT, & + IO_STDERR => ERROR_UNIT use prec @@ -20,7 +20,7 @@ module IO character, parameter, public :: & IO_EOL = new_line('DAMASK'), & !< end of line character IO_COMMENT = '#' - character(len=*), parameter, private :: & + character(len=*), parameter :: & IO_DIVIDER = '───────────────────'//& '───────────────────'//& '───────────────────'//& @@ -42,7 +42,7 @@ module IO IO_stringAsBool, & IO_error, & IO_warning, & - OUTPUT_UNIT + IO_STDOUT contains @@ -52,7 +52,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine IO_init - print'(/,a)', ' <<<+- IO init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- IO init -+>>>'; flush(IO_STDOUT) call selfTest @@ -543,29 +543,29 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) end select !$OMP CRITICAL (write2out) - write(ERROR_UNIT,'(/,a)') ' ┌'//IO_DIVIDER//'┐' - write(ERROR_UNIT,'(a,24x,a,40x,a)') ' │','error', '│' - write(ERROR_UNIT,'(a,24x,i3,42x,a)') ' │',error_ID, '│' - write(ERROR_UNIT,'(a)') ' ├'//IO_DIVIDER//'┤' + write(IO_STDERR,'(/,a)') ' ┌'//IO_DIVIDER//'┐' + write(IO_STDERR,'(a,24x,a,40x,a)') ' │','error', '│' + write(IO_STDERR,'(a,24x,i3,42x,a)') ' │',error_ID, '│' + write(IO_STDERR,'(a)') ' ├'//IO_DIVIDER//'┤' write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a4,a',max(1,len_trim(msg)),',',& max(1,72-len_trim(msg)-4),'x,a)' - write(ERROR_UNIT,formatString) '│ ',trim(msg), '│' + write(IO_STDERR,formatString) '│ ',trim(msg), '│' if (present(ext_msg)) then write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a4,a',max(1,len_trim(ext_msg)),',',& max(1,72-len_trim(ext_msg)-4),'x,a)' - write(ERROR_UNIT,formatString) '│ ',trim(ext_msg), '│' + write(IO_STDERR,formatString) '│ ',trim(ext_msg), '│' endif if (present(el)) & - write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at element ',el, '│' + write(IO_STDERR,'(a19,1x,i9,44x,a3)') ' │ at element ',el, '│' if (present(ip)) & - write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at IP ',ip, '│' + write(IO_STDERR,'(a19,1x,i9,44x,a3)') ' │ at IP ',ip, '│' if (present(g)) & - write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at constituent',g, '│' + write(IO_STDERR,'(a19,1x,i9,44x,a3)') ' │ at constituent',g, '│' if (present(instance)) & - write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at instance ',instance, '│' - write(ERROR_UNIT,'(a,69x,a)') ' │', '│' - write(ERROR_UNIT,'(a)') ' └'//IO_DIVIDER//'┘' - flush(ERROR_UNIT) + write(IO_STDERR,'(a19,1x,i9,44x,a3)') ' │ at instance ',instance, '│' + write(IO_STDERR,'(a,69x,a)') ' │', '│' + write(IO_STDERR,'(a)') ' └'//IO_DIVIDER//'┘' + flush(IO_STDERR) call quit(9000+error_ID) !$OMP END CRITICAL (write2out) @@ -628,27 +628,27 @@ subroutine IO_warning(warning_ID,el,ip,g,ext_msg) end select !$OMP CRITICAL (write2out) - write(ERROR_UNIT,'(/,a)') ' ┌'//IO_DIVIDER//'┐' - write(ERROR_UNIT,'(a,24x,a,38x,a)') ' │','warning', '│' - write(ERROR_UNIT,'(a,24x,i3,42x,a)') ' │',warning_ID, '│' - write(ERROR_UNIT,'(a)') ' ├'//IO_DIVIDER//'┤' + write(IO_STDERR,'(/,a)') ' ┌'//IO_DIVIDER//'┐' + write(IO_STDERR,'(a,24x,a,38x,a)') ' │','warning', '│' + write(IO_STDERR,'(a,24x,i3,42x,a)') ' │',warning_ID, '│' + write(IO_STDERR,'(a)') ' ├'//IO_DIVIDER//'┤' write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a4,a',max(1,len_trim(msg)),',',& max(1,72-len_trim(msg)-4),'x,a)' - write(ERROR_UNIT,formatString) '│ ',trim(msg), '│' + write(IO_STDERR,formatString) '│ ',trim(msg), '│' if (present(ext_msg)) then write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a4,a',max(1,len_trim(ext_msg)),',',& max(1,72-len_trim(ext_msg)-4),'x,a)' - write(ERROR_UNIT,formatString) '│ ',trim(ext_msg), '│' + write(IO_STDERR,formatString) '│ ',trim(ext_msg), '│' endif if (present(el)) & - write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at element ',el, '│' + write(IO_STDERR,'(a19,1x,i9,44x,a3)') ' │ at element ',el, '│' if (present(ip)) & - write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at IP ',ip, '│' + write(IO_STDERR,'(a19,1x,i9,44x,a3)') ' │ at IP ',ip, '│' if (present(g)) & - write(ERROR_UNIT,'(a19,1x,i9,44x,a3)') ' │ at constituent',g, '│' - write(ERROR_UNIT,'(a,69x,a)') ' │', '│' - write(ERROR_UNIT,'(a)') ' └'//IO_DIVIDER//'┘' - flush(ERROR_UNIT) + write(IO_STDERR,'(a19,1x,i9,44x,a3)') ' │ at constituent',g, '│' + write(IO_STDERR,'(a,69x,a)') ' │', '│' + write(IO_STDERR,'(a)') ' └'//IO_DIVIDER//'┘' + flush(IO_STDERR) !$OMP END CRITICAL (write2out) end subroutine IO_warning diff --git a/src/base64.f90 b/src/base64.f90 index c04221f21..2f91334b7 100644 --- a/src/base64.f90 +++ b/src/base64.f90 @@ -27,7 +27,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine base64_init - print'(/,a)', ' <<<+- base64 init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- base64 init -+>>>'; flush(IO_STDOUT) call selfTest diff --git a/src/config.f90 b/src/config.f90 index dc395762f..b10edf013 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -35,7 +35,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine config_init - print'(/,a)', ' <<<+- config init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- config init -+>>>'; flush(IO_STDOUT) call parse_material call parse_numerics @@ -59,7 +59,7 @@ subroutine parse_material inquire(file=fname,exist=fileExists) if(.not. fileExists) call IO_error(100,ext_msg=fname) endif - print*, 'reading '//fname; flush(OUTPUT_UNIT) + print*, 'reading '//fname; flush(IO_STDOUT) config_material => YAML_parse_file(fname) end subroutine parse_material @@ -75,7 +75,7 @@ subroutine parse_numerics config_numerics => emptyDict inquire(file='numerics.yaml', exist=fexist) if (fexist) then - print*, 'reading numerics.yaml'; flush(OUTPUT_UNIT) + print*, 'reading numerics.yaml'; flush(IO_STDOUT) config_numerics => YAML_parse_file('numerics.yaml') endif @@ -92,7 +92,7 @@ subroutine parse_debug config_debug => emptyDict inquire(file='debug.yaml', exist=fexist) fileExists: if (fexist) then - print*, 'reading debug.yaml'; flush(OUTPUT_UNIT) + print*, 'reading debug.yaml'; flush(IO_STDOUT) config_debug => YAML_parse_file('debug.yaml') endif fileExists diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 008579214..62846359d 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -446,7 +446,7 @@ subroutine constitutive_init call damage_init call thermal_init - print'(/,a)', ' <<<+- constitutive init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- constitutive init -+>>>'; flush(IO_STDOUT) constitutive_source_maxSizeDotState = 0 PhaseLoop2:do p = 1,phases%length diff --git a/src/constitutive_plastic_disloTungsten.f90 b/src/constitutive_plastic_disloTungsten.f90 index eb7297aca..98a9ce2f6 100644 --- a/src/constitutive_plastic_disloTungsten.f90 +++ b/src/constitutive_plastic_disloTungsten.f90 @@ -100,7 +100,7 @@ module function plastic_disloTungsten_init() result(myPlasticity) myPlasticity = plastic_active('disloTungsten') Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return print*, 'Cereceda et al., International Journal of Plasticity 78:242–256, 2016' diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index 1b52862d4..4890316b8 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -147,7 +147,7 @@ module function plastic_dislotwin_init() result(myPlasticity) myPlasticity = plastic_active('dislotwin') Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return print*, 'Ma and Roters, Acta Materialia 52(12):3603–3612, 2004' diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index 945c43cad..477938145 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -71,7 +71,7 @@ module function plastic_isotropic_init() result(myPlasticity) myPlasticity = plastic_active('isotropic') Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return print*, 'Maiti and Eisenlohr, Scripta Materialia 145:37–40, 2018' diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index 86c1dc263..55e482db6 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -83,7 +83,7 @@ module function plastic_kinehardening_init() result(myPlasticity) myPlasticity = plastic_active('kinehardening') Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return allocate(param(Ninstance)) diff --git a/src/constitutive_plastic_none.f90 b/src/constitutive_plastic_none.f90 index 2b0da4c9f..ab5f32d3f 100644 --- a/src/constitutive_plastic_none.f90 +++ b/src/constitutive_plastic_none.f90 @@ -35,7 +35,7 @@ module function plastic_none_init() result(myPlasticity) enddo Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return do p = 1, phases%length diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index f0b62eb58..21523161b 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -189,7 +189,7 @@ module function plastic_nonlocal_init() result(myPlasticity) myPlasticity = plastic_active('nonlocal') Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) then call geometry_plastic_nonlocal_disable return diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index adb827a02..8cf63a54d 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -92,7 +92,7 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) myPlasticity = plastic_active('phenopowerlaw') Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return allocate(param(Ninstance)) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 850b369a2..392dba277 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -294,7 +294,7 @@ subroutine crystallite_init print'(a42,1x,i10)', ' # of elements: ', eMax print'(a42,1x,i10)', ' # of integration points/element: ', iMax print'(a42,1x,i10)', 'max # of constituents/integration point: ', cMax - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif #endif @@ -1561,7 +1561,7 @@ subroutine crystallite_restartWrite integer(HID_T) :: fileHandle, groupHandle character(len=pStringLen) :: fileName, datasetName - print*, ' writing field and constitutive data required for restart to file';flush(OUTPUT_UNIT) + print*, ' writing field and constitutive data required for restart to file';flush(IO_STDOUT) write(fileName,'(a,i0,a)') trim(getSolverJobName())//'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'a') diff --git a/src/damage_local.f90 b/src/damage_local.f90 index d9c6e2d22..af2532184 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -49,7 +49,7 @@ subroutine damage_local_init homog, & homogDamage - print'(/,a)', ' <<<+- damage_local init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- damage_local init -+>>>'; flush(IO_STDOUT) !---------------------------------------------------------------------------------------------- ! read numerics parameter and do sanity check diff --git a/src/element.f90 b/src/element.f90 index 2a2e81d00..722a7fd96 100644 --- a/src/element.f90 +++ b/src/element.f90 @@ -922,7 +922,7 @@ subroutine tElement_init(self,elemType) self%nIPneighbors = size(self%IPneighbor,1) - print'(/,a)', ' <<<+- element_init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- element_init -+>>>'; flush(IO_STDOUT) print*, 'element type: ',self%elemType print*, ' geom type: ',self%geomType diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 03dfd2e77..8158996d6 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -99,7 +99,7 @@ program DAMASK_grid ! init DAMASK (all modules) call CPFEM_initAll - print'(/,a)', ' <<<+- DAMASK_spectral init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- DAMASK_spectral init -+>>>'; flush(IO_STDOUT) print*, 'Shanthraj et al., Handbook of Mechanics of Materials, 2019' print*, 'https://doi.org/10.1007/978-981-10-6855-3_80' @@ -279,11 +279,11 @@ program DAMASK_grid endif do i = 1, 3; do j = 1, 3 if(newLoadCase%deformation%maskLogical(i,j)) then - write(OUTPUT_UNIT,'(2x,f12.7)',advance='no') newLoadCase%deformation%values(i,j) + write(IO_STDOUT,'(2x,f12.7)',advance='no') newLoadCase%deformation%values(i,j) else - write(OUTPUT_UNIT,'(2x,12a)',advance='no') ' * ' + write(IO_STDOUT,'(2x,12a)',advance='no') ' * ' endif - enddo; write(OUTPUT_UNIT,'(/)',advance='no') + enddo; write(IO_STDOUT,'(/)',advance='no') enddo if (any(newLoadCase%stress%maskLogical .eqv. & newLoadCase%deformation%maskLogical)) errorID = 831 ! exclusive or masking only @@ -292,17 +292,17 @@ program DAMASK_grid print*, ' stress / GPa:' do i = 1, 3; do j = 1, 3 if(newLoadCase%stress%maskLogical(i,j)) then - write(OUTPUT_UNIT,'(2x,f12.7)',advance='no') newLoadCase%stress%values(i,j)*1e-9_pReal + write(IO_STDOUT,'(2x,f12.7)',advance='no') newLoadCase%stress%values(i,j)*1e-9_pReal else - write(OUTPUT_UNIT,'(2x,12a)',advance='no') ' * ' + write(IO_STDOUT,'(2x,12a)',advance='no') ' * ' endif - enddo; write(OUTPUT_UNIT,'(/)',advance='no') + enddo; write(IO_STDOUT,'(/)',advance='no') enddo if (any(abs(matmul(newLoadCase%rot%asMatrix(), & transpose(newLoadCase%rot%asMatrix()))-math_I3) > & reshape(spread(tol_math_check,1,9),[ 3,3]))) errorID = 846 ! given rotation matrix contains strain if (any(dNeq(newLoadCase%rot%asMatrix(), math_I3))) & - write(OUTPUT_UNIT,'(2x,a,/,3(3(3x,f12.7,1x)/))',advance='no') 'rotation of loadframe:',& + write(IO_STDOUT,'(2x,a,/,3(3(3x,f12.7,1x)/))',advance='no') 'rotation of loadframe:',& transpose(newLoadCase%rot%asMatrix()) if (newLoadCase%time < 0.0_pReal) errorID = 834 ! negative time increment print'(a,f0.3)', ' time: ', newLoadCase%time @@ -342,7 +342,7 @@ program DAMASK_grid open(newunit=statUnit,file=trim(getSolverJobName())//'.sta',form='FORMATTED',status='REPLACE') write(statUnit,'(a)') 'Increment Time CutbackLevel Converged IterationsNeeded' ! statistics file if (debug_grid%contains('basic')) print'(/,a)', ' header of statistics file written out' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) else writeHeader open(newunit=statUnit,file=trim(getSolverJobName())//& '.sta',form='FORMATTED', position='APPEND', status='OLD') @@ -405,7 +405,7 @@ program DAMASK_grid write(incInfo,'(4(a,i0))') & 'Increment ',totalIncsCounter,'/',sum(loadCases%incs),& '-', stepFraction,'/',subStepFactor**cutBackLevel - flush(OUTPUT_UNIT) + flush(IO_STDOUT) !-------------------------------------------------------------------------------------------------- ! forward fields @@ -489,11 +489,11 @@ program DAMASK_grid print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' converged' else print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' NOT converged' - endif; flush(OUTPUT_UNIT) + endif; flush(IO_STDOUT) if (mod(inc,loadCases(currentLoadCase)%outputFrequency) == 0) then ! at output frequency print'(1/,a)', ' ... writing results to file ......................................' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) call CPFEM_results(totalIncsCounter,time) endif if (mod(inc,loadCases(currentLoadCase)%restartFrequency) == 0) then diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 32cd996db..76739a8d2 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -65,7 +65,7 @@ subroutine discretization_grid_init(restart) integer(C_INTPTR_T) :: & devNull, z, z_offset - print'(/,a)', ' <<<+- discretization_grid init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- discretization_grid init -+>>>'; flush(IO_STDOUT) if(index(interface_geomFile,'.vtr') /= 0) then call readVTR(grid,geomSize,origin,microstructureAt) diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index 3d6a9c431..27dc5c1bd 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -205,10 +205,10 @@ function grid_damage_spectral_solution(timeinc,timeinc_old) result(solution) call VecMax(solution_vec,devNull,phi_max,ierr); CHKERRQ(ierr) if (solution%converged) & print'(/,a)', ' ... nonlocal damage converged .....................................' - write(OUTPUT_UNIT,'(/,a,f8.6,2x,f8.6,2x,e11.4,/)',advance='no') ' Minimum|Maximum|Delta Damage = ',& + write(IO_STDOUT,'(/,a,f8.6,2x,f8.6,2x,e11.4,/)',advance='no') ' Minimum|Maximum|Delta Damage = ',& phi_min, phi_max, stagNorm print'(/,a)', ' ===========================================================================' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) end function grid_damage_spectral_solution diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 0fcb08480..e1ceb42b0 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -122,7 +122,7 @@ subroutine grid_mech_FEM_init PetscScalar, pointer, dimension(:,:,:,:) :: & u_current,u_lastInc - print'(/,a)', ' <<<+- grid_mech_FEM init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- grid_mech_FEM init -+>>>'; flush(IO_STDOUT) !----------------------------------------------------------------------------------------------- ! debugging options @@ -413,7 +413,7 @@ subroutine grid_mech_FEM_restartWrite call DMDAVecGetArrayF90(mech_grid,solution_current,u_current,ierr); CHKERRQ(ierr) call DMDAVecGetArrayF90(mech_grid,solution_lastInc,u_lastInc,ierr); CHKERRQ(ierr) - print*, 'writing solver data required for restart to file'; flush(OUTPUT_UNIT) + print*, 'writing solver data required for restart to file'; flush(IO_STDOUT) write(fileName,'(a,a,i0,a)') trim(getSolverJobName()),'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'w') @@ -481,7 +481,7 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,fnorm,reason,dummy,i print'(a,f12.2,a,es8.2,a,es9.2,a)', ' error stress BC = ', & err_BC/BCTol, ' (',err_BC, ' Pa, tol = ',BCTol,')' print'(/,a)', ' ===========================================================================' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) end subroutine converged @@ -517,11 +517,11 @@ subroutine formResidual(da_local,x_local, & totalIter = totalIter + 1 print'(1x,a,3(a,i0))', trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter+1, '≤', num%itmax if (debugRotation) & - write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & + write(IO_STDOUT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) - write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & + write(IO_STDOUT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim =', transpose(F_aim) - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif newIteration !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 819e9eded..e7fb9bd19 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -109,7 +109,7 @@ subroutine grid_mech_spectral_basic_init character(len=pStringLen) :: & fileName - print'(/,a)', ' <<<+- grid_mech_spectral_basic init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- grid_mech_spectral_basic init -+>>>'; flush(IO_STDOUT) print*, 'Eisenlohr et al., International Journal of Plasticity 46:37–53, 2013' print*, 'https://doi.org/10.1016/j.ijplas.2012.09.012'//IO_EOL @@ -375,7 +375,7 @@ subroutine grid_mech_spectral_basic_restartWrite call DMDAVecGetArrayF90(da,solution_vec,F,ierr); CHKERRQ(ierr) - print'(a)', ' writing solver data required for restart to file'; flush(OUTPUT_UNIT) + print'(a)', ' writing solver data required for restart to file'; flush(IO_STDOUT) write(fileName,'(a,a,i0,a)') trim(getSolverJobName()),'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'w') @@ -441,7 +441,7 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm print'(a,f12.2,a,es8.2,a,es9.2,a)', ' error stress BC = ', & err_BC/BCTol, ' (',err_BC, ' Pa, tol = ',BCTol,')' print'(/,a)', ' ===========================================================================' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) end subroutine converged @@ -475,11 +475,11 @@ subroutine formResidual(in, F, & totalIter = totalIter + 1 print'(1x,a,3(a,i0))', trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax if (debugRotation) & - write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & + write(IO_STDOUT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) - write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & + write(IO_STDOUT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim =', transpose(F_aim) - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif newIteration !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 021c2291e..5cc7d1602 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -123,7 +123,7 @@ subroutine grid_mech_spectral_polarisation_init character(len=pStringLen) :: & fileName - print'(/,a)', ' <<<+- grid_mech_spectral_polarisation init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- grid_mech_spectral_polarisation init -+>>>'; flush(IO_STDOUT) print*, 'Shanthraj et al., International Journal of Plasticity 66:31–45, 2015' print*, 'https://doi.org/10.1016/j.ijplas.2014.02.006' @@ -433,7 +433,7 @@ subroutine grid_mech_spectral_polarisation_restartWrite F => FandF_tau(0: 8,:,:,:) F_tau => FandF_tau(9:17,:,:,:) - print*, 'writing solver data required for restart to file'; flush(OUTPUT_UNIT) + print*, 'writing solver data required for restart to file'; flush(IO_STDOUT) write(fileName,'(a,a,i0,a)') trim(getSolverJobName()),'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'w') @@ -505,7 +505,7 @@ subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dumm print '(a,f12.2,a,es8.2,a,es9.2,a)', ' error stress BC = ', & err_BC/BCTol, ' (',err_BC, ' Pa, tol = ',BCTol,')' print'(/,a)', ' ===========================================================================' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) end subroutine converged @@ -559,11 +559,11 @@ subroutine formResidual(in, FandF_tau, & totalIter = totalIter + 1 print'(1x,a,3(a,i0))', trim(incInfo), ' @ Iteration ', num%itmin, '≤',totalIter, '≤', num%itmax if(debugRotation) & - write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & + write(IO_STDOUT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.)) - write(OUTPUT_UNIT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & + write(IO_STDOUT,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & ' deformation gradient aim =', transpose(F_aim) - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif newIteration !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index b12d67843..49be5ad7e 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -199,10 +199,10 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) call VecMax(solution_vec,devNull,T_max,ierr); CHKERRQ(ierr) if (solution%converged) & print'(/,a)', ' ... thermal conduction converged ..................................' - write(OUTPUT_UNIT,'(/,a,f8.4,2x,f8.4,2x,f8.4,/)',advance='no') ' Minimum|Maximum|Delta Temperature / K = ',& + write(IO_STDOUT,'(/,a,f8.4,2x,f8.4,2x,f8.4,/)',advance='no') ' Minimum|Maximum|Delta Temperature / K = ',& T_min, T_max, stagNorm print'(/,a)', ' ===========================================================================' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) end function grid_thermal_spectral_solution diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index bfd05b6f5..dc6430c72 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -211,7 +211,7 @@ subroutine spectral_utilities_init if(debugPETSc) print'(3(/,a),/)', & ' Initializing PETSc with debug options: ', & trim(PETScDebug), & - ' add more using the PETSc_Options keyword in numerics.yaml '; flush(OUTPUT_UNIT) + ' add more using the PETSc_Options keyword in numerics.yaml '; flush(IO_STDOUT) num_grid => config_numerics%get('grid',defaultVal=emptyDict) @@ -280,7 +280,7 @@ subroutine spectral_utilities_init if (pReal /= C_DOUBLE .or. kind(1) /= C_INT) error stop 'C and Fortran datatypes do not match' call fftw_set_timelimit(num_grid%get_asFloat('fftw_timelimit',defaultVal=-1.0_pReal)) - print*, 'FFTW initialized'; flush(OUTPUT_UNIT) + print*, 'FFTW initialized'; flush(IO_STDOUT) !-------------------------------------------------------------------------------------------------- ! MPI allocation @@ -507,7 +507,7 @@ subroutine utilities_fourierGammaConvolution(fieldAim) print'(/,a)', ' ... doing gamma convolution ...............................................' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) !-------------------------------------------------------------------------------------------------- ! do the actual spectral method calculation (mechanical equilibrium) @@ -577,7 +577,7 @@ real(pReal) function utilities_divergenceRMS() complex(pReal), dimension(3) :: rescaledGeom print'(/,a)', ' ... calculating divergence ................................................' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) rescaledGeom = cmplx(geomSize/scaledGeomSize,0.0_pReal) @@ -621,7 +621,7 @@ real(pReal) function utilities_curlRMS() complex(pReal), dimension(3) :: rescaledGeom print'(/,a)', ' ... calculating curl ......................................................' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) rescaledGeom = cmplx(geomSize/scaledGeomSize,0.0_pReal) @@ -701,9 +701,9 @@ function utilities_maskedCompliance(rot_BC,mask_stress,C) if(debugGeneral) then print'(/,a)', ' ... updating masked compliance ............................................' - write(OUTPUT_UNIT,'(/,a,/,9(9(2x,f12.7,1x)/))',advance='no') ' Stiffness C (load) / GPa =',& + write(IO_STDOUT,'(/,a,/,9(9(2x,f12.7,1x)/))',advance='no') ' Stiffness C (load) / GPa =',& transpose(temp99_Real)*1.0e-9_pReal - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif do i = 1,9; do j = 1,9 @@ -723,9 +723,9 @@ function utilities_maskedCompliance(rot_BC,mask_stress,C) if (debugGeneral .or. errmatinv) then write(formatString, '(i2)') size_reduced formatString = '(/,a,/,'//trim(formatString)//'('//trim(formatString)//'(2x,es9.2,1x)/))' - write(OUTPUT_UNIT,trim(formatString),advance='no') ' C * S (load) ', & + write(IO_STDOUT,trim(formatString),advance='no') ' C * S (load) ', & transpose(matmul(c_reduced,s_reduced)) - write(OUTPUT_UNIT,trim(formatString),advance='no') ' S (load) ', transpose(s_reduced) + write(IO_STDOUT,trim(formatString),advance='no') ' S (load) ', transpose(s_reduced) if(errmatinv) call IO_error(error_ID=400,ext_msg='utilities_maskedCompliance') endif temp99_real = reshape(unpack(reshape(s_reduced,[size_reduced**2]),reshape(mask,[81]),0.0_pReal),[9,9]) @@ -736,9 +736,9 @@ function utilities_maskedCompliance(rot_BC,mask_stress,C) utilities_maskedCompliance = math_99to3333(temp99_Real) if(debugGeneral) then - write(OUTPUT_UNIT,'(/,a,/,9(9(2x,f10.5,1x)/),/)',advance='no') & + write(IO_STDOUT,'(/,a,/,9(9(2x,f10.5,1x)/),/)',advance='no') & ' Masked Compliance (load) * GPa =', transpose(temp99_Real)*1.0e9_pReal - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif end function utilities_maskedCompliance @@ -823,7 +823,7 @@ subroutine utilities_constitutiveResponse(P,P_av,C_volAvg,C_minmaxAvg,& real(pReal), dimension(2) :: valueAndRank !< pair of min/max norm of dPdF to synchronize min/max of dPdF print'(/,a)', ' ... evaluating constitutive response ......................................' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) materialpoint_F = reshape(F,[3,3,1,product(grid(1:2))*grid3]) ! set materialpoint target F to estimated field @@ -833,13 +833,13 @@ subroutine utilities_constitutiveResponse(P,P_av,C_volAvg,C_minmaxAvg,& P_av = sum(sum(sum(P,dim=5),dim=4),dim=3) * wgt ! average of P call MPI_Allreduce(MPI_IN_PLACE,P_av,9,MPI_DOUBLE,MPI_SUM,PETSC_COMM_WORLD,ierr) if (debugRotation) & - write(OUTPUT_UNIT,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress (lab) / MPa =',& + write(IO_STDOUT,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress (lab) / MPa =',& transpose(P_av)*1.e-6_pReal if(present(rotation_BC)) & P_av = rotation_BC%rotate(P_av) - write(OUTPUT_UNIT,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress / MPa =',& + write(IO_STDOUT,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress / MPa =',& transpose(P_av)*1.e-6_pReal - flush(OUTPUT_UNIT) + flush(IO_STDOUT) dPdF_max = 0.0_pReal dPdF_norm_max = 0.0_pReal @@ -1095,7 +1095,7 @@ subroutine utilities_saveReferenceStiffness fileUnit,ierr if (worldrank == 0) then - print'(a)', ' writing reference stiffness data required for restart to file'; flush(OUTPUT_UNIT) + print'(a)', ' writing reference stiffness data required for restart to file'; flush(IO_STDOUT) open(newunit=fileUnit, file=getSolverJobName()//'.C_ref',& status='replace',access='stream',action='write',iostat=ierr) if(ierr /=0) call IO_error(100,ext_msg='could not open file '//getSolverJobName()//'.C_ref') diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 1c2b9bc38..0e7f1bf3a 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -186,7 +186,7 @@ subroutine homogenization_init materialpoint_F = materialpoint_F0 ! initialize to identity allocate(materialpoint_P(3,3,discretization_nIP,discretization_nElem), source=0.0_pReal) - print'(/,a)', ' <<<+- homogenization init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- homogenization init -+>>>'; flush(IO_STDOUT) num%nMPstate = num_homogGeneric%get_asInt ('nMPstate', defaultVal=10) num%subStepMinHomog = num_homogGeneric%get_asFloat('subStepMin', defaultVal=1.0e-3_pReal) diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index d954b0b9f..f0485b244 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -95,7 +95,7 @@ module subroutine mech_RGC_init(num_homogMech) print'(/,a)', ' <<<+- homogenization_mech_rgc init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_RGC_ID) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) print*, 'Tjahjanto et al., International Journal of Material Forming 2(1):939–942, 2009' print*, 'https://doi.org/10.1007/s12289-009-0619-1'//IO_EOL @@ -247,7 +247,7 @@ module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of) print'(1x,3(e15.8,1x))',(F(i,j,iGrain), j = 1,3) enddo print*,' ' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif #endif enddo @@ -376,7 +376,7 @@ module procedure mech_RGC_updateState '@ grain ',stresLoc(3),' in component ',stresLoc(1),stresLoc(2) print'(a,e15.8,a,i3,a,i2)',' Max residual: ',residMax, & ' @ iface ',residLoc(1),' in direction ',residLoc(2) - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif #endif @@ -388,7 +388,7 @@ module procedure mech_RGC_updateState mech_RGC_updateState = .true. #ifdef DEBUG if (debugHomog%extensive .and. prm%of_debug == of) & - print*, '... done and happy'; flush(OUTPUT_UNIT) + print*, '... done and happy'; flush(IO_STDOUT) #endif !-------------------------------------------------------------------------------------------------- @@ -416,7 +416,7 @@ module procedure mech_RGC_updateState print'(a,e15.8,/)', ' Volume discrepancy: ', dst%volumeDiscrepancy(of) print'(a,e15.8)', ' Maximum relaxation rate: ', dst%relaxationRate_max(of) print'(a,e15.8,/)', ' Average relaxation rate: ', dst%relaxationRate_avg(of) - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif #endif @@ -429,7 +429,7 @@ module procedure mech_RGC_updateState #ifdef DEBUG if (debugHomog%extensive .and. prm%of_debug == of) & - print'(a,/)', ' ... broken'; flush(OUTPUT_UNIT) + print'(a,/)', ' ... broken'; flush(IO_STDOUT) #endif return @@ -437,7 +437,7 @@ module procedure mech_RGC_updateState else ! proceed with computing the Jacobian and state update #ifdef DEBUG if (debugHomog%extensive .and. prm%of_debug == of) & - print'(a,/)', ' ... not yet done'; flush(OUTPUT_UNIT) + print'(a,/)', ' ... not yet done'; flush(IO_STDOUT) #endif endif @@ -499,7 +499,7 @@ module procedure mech_RGC_updateState print'(1x,100(e11.4,1x))',(smatrix(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif #endif @@ -559,7 +559,7 @@ module procedure mech_RGC_updateState print'(1x,100(e11.4,1x))',(pmatrix(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif #endif @@ -578,7 +578,7 @@ module procedure mech_RGC_updateState print'(1x,100(e11.4,1x))',(rmatrix(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif #endif @@ -593,7 +593,7 @@ module procedure mech_RGC_updateState print'(1x,100(e11.4,1x))',(jmatrix(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif #endif @@ -609,7 +609,7 @@ module procedure mech_RGC_updateState print'(1x,100(e11.4,1x))',(jnverse(i,j), j = 1,3*nIntFaceTot) enddo print*,' ' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif #endif @@ -625,7 +625,7 @@ module procedure mech_RGC_updateState !$OMP CRITICAL (write2out) print'(a,i3,a,i3,a)',' RGC_updateState: ip ',ip,' | el ',el,' enforces cutback' print'(a,e15.8)',' due to large relaxation change = ',maxval(abs(drelax)) - flush(OUTPUT_UNIT) + flush(IO_STDOUT) !$OMP END CRITICAL (write2out) endif @@ -636,7 +636,7 @@ module procedure mech_RGC_updateState print'(1x,2(e15.8,1x))', stt%relaxationVector(i,of) enddo print*,' ' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) endif #endif diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index eefb3ad64..5138afa73 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -40,7 +40,7 @@ module subroutine mech_isostrain_init print'(/,a)', ' <<<+- homogenization_mech_isostrain init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) allocate(param(Ninstance)) ! one container of parameters per instance diff --git a/src/homogenization_mech_none.f90 b/src/homogenization_mech_none.f90 index 52143a3d2..3cbec5911 100644 --- a/src/homogenization_mech_none.f90 +++ b/src/homogenization_mech_none.f90 @@ -21,7 +21,7 @@ module subroutine mech_none_init print'(/,a)', ' <<<+- homogenization_mech_none init -+>>>' Ninstance = count(homogenization_type == HOMOGENIZATION_NONE_ID) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) do h = 1, size(homogenization_type) if (homogenization_type(h) /= HOMOGENIZATION_NONE_ID) cycle diff --git a/src/kinematics_cleavage_opening.f90 b/src/kinematics_cleavage_opening.f90 index 37513d0e1..23f348831 100644 --- a/src/kinematics_cleavage_opening.f90 +++ b/src/kinematics_cleavage_opening.f90 @@ -49,7 +49,7 @@ module function kinematics_cleavage_opening_init(kinematics_length) result(myKin myKinematics = kinematics_active('cleavage_opening',kinematics_length) Ninstance = count(myKinematics) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/kinematics_slipplane_opening.f90 b/src/kinematics_slipplane_opening.f90 index 46ff59da5..660483b90 100644 --- a/src/kinematics_slipplane_opening.f90 +++ b/src/kinematics_slipplane_opening.f90 @@ -52,7 +52,7 @@ module function kinematics_slipplane_opening_init(kinematics_length) result(myKi myKinematics = kinematics_active('slipplane_opening',kinematics_length) Ninstance = count(myKinematics) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index d3516862d..93a48e035 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -42,7 +42,7 @@ module function kinematics_thermal_expansion_init(kinematics_length) result(myKi myKinematics = kinematics_active('thermal_expansion',kinematics_length) Ninstance = count(myKinematics) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/lattice.f90 b/src/lattice.f90 index ba7631142..69305c839 100644 --- a/src/lattice.f90 +++ b/src/lattice.f90 @@ -457,7 +457,7 @@ subroutine lattice_init phase, & elasticity - print'(/,a)', ' <<<+- lattice init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- lattice init -+>>>'; flush(IO_STDOUT) phases => config_material%get('phase') Nphases = phases%length diff --git a/src/material.f90 b/src/material.f90 index 9bc2bbbc5..6688a0ae5 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -164,7 +164,7 @@ subroutine material_init(restart) material_homogenization character(len=pStringLen) :: sectionName - print'(/,a)', ' <<<+- material init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- material init -+>>>'; flush(IO_STDOUT) phases => config_material%get('phase') allocate(material_name_phase(phases%length)) diff --git a/src/math.f90 b/src/math.f90 index 63e539e48..163f4df6a 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -91,7 +91,7 @@ subroutine math_init class(tNode), pointer :: & num_generic - print'(/,a)', ' <<<+- math init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- math init -+>>>'; flush(IO_STDOUT) num_generic => config_numerics%get('generic',defaultVal=emptyDict) randomSeed = num_generic%get_asInt('random_seed', defaultVal = 0) diff --git a/src/mesh/DAMASK_mesh.f90 b/src/mesh/DAMASK_mesh.f90 index acee51394..bfa8d22ce 100644 --- a/src/mesh/DAMASK_mesh.f90 +++ b/src/mesh/DAMASK_mesh.f90 @@ -78,7 +78,7 @@ program DAMASK_mesh !-------------------------------------------------------------------------------------------------- ! init DAMASK (all modules) call CPFEM_initAll - print'(/,a)', ' <<<+- DAMASK_mesh init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- DAMASK_mesh init -+>>>'; flush(IO_STDOUT) !--------------------------------------------------------------------- ! reading field information from numerics file and do sanity checks @@ -299,7 +299,7 @@ program DAMASK_mesh write(incInfo,'(4(a,i0))') & 'Increment ',totalIncsCounter,'/',sum(loadCases%incs),& '-',stepFraction, '/', subStepFactor**cutBackLevel - flush(OUTPUT_UNIT) + flush(IO_STDOUT) !-------------------------------------------------------------------------------------------------- ! forward fields @@ -363,7 +363,7 @@ program DAMASK_mesh print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' converged' else print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' NOT converged' - endif; flush(OUTPUT_UNIT) + endif; flush(IO_STDOUT) if (mod(inc,loadCases(currentLoadCase)%outputFrequency) == 0) then ! at output frequency print'(/,a)', ' ... writing results to file ......................................' diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 91e1bd5b6..4d9786112 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -122,7 +122,7 @@ subroutine FEM_utilities_init ' Initializing PETSc with debug options: ', & trim(PETScDebug), & ' add more using the PETSc_Options keyword in numerics.yaml ' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) call PetscOptionsClear(PETSC_NULL_OPTIONS,ierr) CHKERRQ(ierr) if(debugPETSc) call PetscOptionsInsertString(PETSC_NULL_OPTIONS,trim(PETSCDEBUG),ierr) diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index f7a177929..de1f0c687 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -110,7 +110,7 @@ subroutine FEM_mech_init(fieldBC) class(tNode), pointer :: & num_mesh - print'(/,a)', ' <<<+- FEM_mech init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- FEM_mech init -+>>>'; flush(IO_STDOUT) !----------------------------------------------------------------------------- ! read numerical parametes and do sanity checks @@ -319,7 +319,7 @@ type(tSolutionState) function FEM_mech_solution( & endif print'(/,a)', ' ===========================================================================' - flush(OUTPUT_UNIT) + flush(IO_STDOUT) end function FEM_mech_solution @@ -682,9 +682,9 @@ subroutine FEM_mech_converged(snes_local,PETScIter,xnorm,snorm,fnorm,reason,dumm print'(/,1x,a,a,i0,a,i0,f0.3)', trim(incInfo), & ' @ Iteration ',PETScIter,' mechanical residual norm = ', & int(fnorm/divTol),fnorm/divTol-int(fnorm/divTol) - write(OUTPUT_UNIT,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress / MPa =',& + write(IO_STDOUT,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress / MPa =',& transpose(P_av)*1.e-6_pReal - flush(OUTPUT_UNIT) + flush(IO_STDOUT) end subroutine FEM_mech_converged diff --git a/src/results.f90 b/src/results.f90 index 6dd84fb78..aec90d7be 100644 --- a/src/results.f90 +++ b/src/results.f90 @@ -65,7 +65,7 @@ subroutine results_init(restart) character(len=pStringLen) :: commandLine - print'(/,a)', ' <<<+- results init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- results init -+>>>'; flush(IO_STDOUT) print*, 'Diehl et al., Integrating Materials and Manufacturing Innovation 6(1):83–91, 2017' print*, 'https://doi.org/10.1007/s40192-017-0084-5'//IO_EOL diff --git a/src/rotations.f90 b/src/rotations.f90 index 723cced61..e19513866 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -104,7 +104,7 @@ contains subroutine rotations_init call quaternions_init - print'(/,a)', ' <<<+- rotations init -+>>>'; flush(OUTPUT_UNIT) + print'(/,a)', ' <<<+- rotations init -+>>>'; flush(IO_STDOUT) print*, 'Rowenhorst et al., Modelling and Simulation in Materials Science and Engineering 23:083501, 2015' print*, 'https://doi.org/10.1088/0965-0393/23/8/083501' diff --git a/src/source_damage_anisoBrittle.f90 b/src/source_damage_anisoBrittle.f90 index 5377f3373..7911d6d0a 100644 --- a/src/source_damage_anisoBrittle.f90 +++ b/src/source_damage_anisoBrittle.f90 @@ -53,7 +53,7 @@ module function source_damage_anisoBrittle_init(source_length) result(mySources) mySources = source_active('damage_anisoBrittle',source_length) Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_damage_anisoDuctile.f90 b/src/source_damage_anisoDuctile.f90 index abbd90ca3..52189c839 100644 --- a/src/source_damage_anisoDuctile.f90 +++ b/src/source_damage_anisoDuctile.f90 @@ -47,7 +47,7 @@ module function source_damage_anisoDuctile_init(source_length) result(mySources) mySources = source_active('damage_anisoDuctile',source_length) Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index 45f6abf3a..714e71ef1 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -43,7 +43,7 @@ module function source_damage_isoBrittle_init(source_length) result(mySources) mySources = source_active('damage_isoBrittle',source_length) Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index e74f187de..493183d75 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -45,7 +45,7 @@ module function source_damage_isoDuctile_init(source_length) result(mySources) mySources = source_active('damage_isoDuctile',source_length) Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index 307d211b3..5cc740424 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -41,7 +41,7 @@ module function source_thermal_dissipation_init(source_length) result(mySources) mySources = source_active('thermal_dissipation',source_length) Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return phases => config_material%get('phase') diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index 95d994e11..4a644f53b 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -45,7 +45,7 @@ module function source_thermal_externalheat_init(source_length) result(mySources mySources = source_active('thermal_externalheat',source_length) Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(OUTPUT_UNIT) + print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) if(Ninstance == 0) return phases => config_material%get('phase') From 87ae2447b9cf76752d66870801875a33b89dfd11 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 22 Sep 2020 14:35:05 +0200 Subject: [PATCH 702/958] variable name = parameter name --- src/constitutive_plastic_disloTungsten.f90 | 64 +++++++++++----------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/src/constitutive_plastic_disloTungsten.f90 b/src/constitutive_plastic_disloTungsten.f90 index 2bf4fd48e..bef25f420 100644 --- a/src/constitutive_plastic_disloTungsten.f90 +++ b/src/constitutive_plastic_disloTungsten.f90 @@ -20,15 +20,15 @@ submodule(constitutive:constitutive_plastic) plastic_disloTungsten b_sl, & !< magnitude of burgers vector [m] D_a, & i_sl, & !< Adj. parameter for distance between 2 forest dislocations - atomicVolume, & !< factor to calculate atomic volume - tau_0, & !< Peierls stress + f_at, & !< factor to calculate atomic volume + tau_peierls, & !< Peierls stress !* mobility law parameters - delta_F, & !< activation energy for glide [J] - v0, & !< dislocation velocity prefactor [m/s] + Q_s, & !< activation energy for glide [J] + v_0, & !< dislocation velocity prefactor [m/s] p, & !< p-exponent in glide velocity q, & !< q-exponent in glide velocity B, & !< friction coefficient - kink_height, & !< height of the kink pair + h, & !< height of the kink pair w, & !< width of the kink pair omega !< attempt frequency for kink pair nucleation real(pReal), allocatable, dimension(:,:) :: & @@ -158,17 +158,17 @@ module function plastic_disloTungsten_init() result(myPlasticity) rho_mob_0 = pl%get_asFloats('rho_mob_0', requiredSize=size(N_sl)) rho_dip_0 = pl%get_asFloats('rho_dip_0', requiredSize=size(N_sl)) - prm%v0 = pl%get_asFloats('v_0', requiredSize=size(N_sl)) + prm%v_0 = pl%get_asFloats('v_0', requiredSize=size(N_sl)) prm%b_sl = pl%get_asFloats('b_sl', requiredSize=size(N_sl)) - prm%delta_F = pl%get_asFloats('Q_s', requiredSize=size(N_sl)) + prm%Q_s = pl%get_asFloats('Q_s', requiredSize=size(N_sl)) prm%i_sl = pl%get_asFloats('i_sl', requiredSize=size(N_sl)) - prm%tau_0 = pl%get_asFloats('tau_peierls', requiredSize=size(N_sl)) + prm%tau_peierls = pl%get_asFloats('tau_peierls', requiredSize=size(N_sl)) prm%p = pl%get_asFloats('p_sl', requiredSize=size(N_sl), & defaultVal=[(1.0_pReal,i=1,size(N_sl))]) prm%q = pl%get_asFloats('q_sl', requiredSize=size(N_sl), & defaultVal=[(1.0_pReal,i=1,size(N_sl))]) - prm%kink_height = pl%get_asFloats('h', requiredSize=size(N_sl)) + prm%h = pl%get_asFloats('h', requiredSize=size(N_sl)) prm%w = pl%get_asFloats('w', requiredSize=size(N_sl)) prm%omega = pl%get_asFloats('omega', requiredSize=size(N_sl)) prm%B = pl%get_asFloats('B', requiredSize=size(N_sl)) @@ -176,7 +176,7 @@ module function plastic_disloTungsten_init() result(myPlasticity) prm%D = pl%get_asFloat('D') prm%D_0 = pl%get_asFloat('D_0') prm%Q_cl = pl%get_asFloat('Q_cl') - prm%atomicVolume = pl%get_asFloat('f_at') * prm%b_sl**3.0_pReal + prm%f_at = pl%get_asFloat('f_at') * prm%b_sl**3.0_pReal prm%D_a = pl%get_asFloat('D_a') * prm%b_sl prm%dipoleformation = pl%get_asBool('dipole_formation_factor', defaultVal = .true.) @@ -186,16 +186,16 @@ module function plastic_disloTungsten_init() result(myPlasticity) rho_dip_0 = math_expand(rho_dip_0, N_sl) prm%q = math_expand(prm%q, N_sl) prm%p = math_expand(prm%p, N_sl) - prm%delta_F = math_expand(prm%delta_F, N_sl) + prm%Q_s = math_expand(prm%Q_s, N_sl) prm%b_sl = math_expand(prm%b_sl, N_sl) - prm%kink_height = math_expand(prm%kink_height, N_sl) + prm%h = math_expand(prm%h, N_sl) prm%w = math_expand(prm%w, N_sl) prm%omega = math_expand(prm%omega, N_sl) - prm%tau_0 = math_expand(prm%tau_0, N_sl) - prm%v0 = math_expand(prm%v0, N_sl) + prm%tau_peierls = math_expand(prm%tau_peierls, N_sl) + prm%v_0 = math_expand(prm%v_0, N_sl) prm%B = math_expand(prm%B, N_sl) prm%i_sl = math_expand(prm%i_sl, N_sl) - prm%atomicVolume = math_expand(prm%atomicVolume, N_sl) + prm%f_at = math_expand(prm%f_at, N_sl) prm%D_a = math_expand(prm%D_a, N_sl) ! sanity checks @@ -203,17 +203,17 @@ module function plastic_disloTungsten_init() result(myPlasticity) if ( prm%Q_cl <= 0.0_pReal) extmsg = trim(extmsg)//' Q_cl' if (any(rho_mob_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_mob_0' if (any(rho_dip_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_dip_0' - if (any(prm%v0 < 0.0_pReal)) extmsg = trim(extmsg)//' v_0' + if (any(prm%v_0 < 0.0_pReal)) extmsg = trim(extmsg)//' v_0' if (any(prm%b_sl <= 0.0_pReal)) extmsg = trim(extmsg)//' b_sl' - if (any(prm%delta_F <= 0.0_pReal)) extmsg = trim(extmsg)//' Q_s' - if (any(prm%tau_0 < 0.0_pReal)) extmsg = trim(extmsg)//' tau_peierls' + if (any(prm%Q_s <= 0.0_pReal)) extmsg = trim(extmsg)//' Q_s' + if (any(prm%tau_peierls < 0.0_pReal)) extmsg = trim(extmsg)//' tau_peierls' if (any(prm%D_a <= 0.0_pReal)) extmsg = trim(extmsg)//' D_a or b_sl' - if (any(prm%atomicVolume <= 0.0_pReal)) extmsg = trim(extmsg)//' f_at or b_sl' + if (any(prm%f_at <= 0.0_pReal)) extmsg = trim(extmsg)//' f_at or b_sl' else slipActive rho_mob_0= emptyRealArray; rho_dip_0 = emptyRealArray - allocate(prm%b_sl,prm%D_a,prm%i_sl,prm%atomicVolume,prm%tau_0, & - prm%delta_F,prm%v0,prm%p,prm%q,prm%B,prm%kink_height,prm%w,prm%omega, & + allocate(prm%b_sl,prm%D_a,prm%i_sl,prm%f_at,prm%tau_peierls, & + prm%Q_s,prm%v_0,prm%p,prm%q,prm%B,prm%h,prm%w,prm%omega, & source = emptyRealArray) allocate(prm%forestProjection(0,0)) allocate(prm%h_sl_sl (0,0)) @@ -354,7 +354,7 @@ module subroutine plastic_disloTungsten_dotState(Mp,T,instance,of) dot_rho_dip_formation = merge(2.0_pReal*dip_distance* stt%rho_mob(:,of)*abs(dot%gamma_sl(:,of))/prm%b_sl, & ! ToDo: ignore region of spontaneous annihilation 0.0_pReal, & prm%dipoleformation) - v_cl = (3.0_pReal*prm%mu*VacancyDiffusion*prm%atomicVolume/(2.0_pReal*pi*kB*T)) & + v_cl = (3.0_pReal*prm%mu*VacancyDiffusion*prm%f_at/(2.0_pReal*pi*kB*T)) & * (1.0_pReal/(dip_distance+prm%D_a)) dot_rho_dip_climb = (4.0_pReal*v_cl*stt%rho_dip(:,of))/(dip_distance-prm%D_a) ! ToDo: Discuss with Franz: Stress dependency? end where @@ -477,12 +477,12 @@ pure subroutine kinetics(Mp,T,instance,of, & if (present(tau_pos_out)) tau_pos_out = tau_pos if (present(tau_neg_out)) tau_neg_out = tau_neg - associate(BoltzmannRatio => prm%delta_F/(kB*T), & - dot_gamma_0 => stt%rho_mob(:,of)*prm%b_sl*prm%v0, & + associate(BoltzmannRatio => prm%Q_s/(kB*T), & + dot_gamma_0 => stt%rho_mob(:,of)*prm%b_sl*prm%v_0, & effectiveLength => dst%Lambda_sl(:,of) - prm%w) significantPositiveTau: where(abs(tau_pos)-dst%threshold_stress(:,of) > tol_math_check) - StressRatio = (abs(tau_pos)-dst%threshold_stress(:,of))/prm%tau_0 + StressRatio = (abs(tau_pos)-dst%threshold_stress(:,of))/prm%tau_peierls StressRatio_p = StressRatio** prm%p StressRatio_pminus1 = StressRatio**(prm%p-1.0_pReal) needsGoodName = exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q) @@ -490,7 +490,7 @@ pure subroutine kinetics(Mp,T,instance,of, & t_n = prm%b_sl/(needsGoodName*prm%omega*effectiveLength) t_k = effectiveLength * prm%B /(2.0_pReal*prm%b_sl*tau_pos) - vel = prm%kink_height/(t_n + t_k) + vel = prm%h/(t_n + t_k) dot_gamma_pos = dot_gamma_0 * sign(vel,tau_pos) * 0.5_pReal else where significantPositiveTau @@ -500,10 +500,10 @@ pure subroutine kinetics(Mp,T,instance,of, & if (present(ddot_gamma_dtau_pos)) then significantPositiveTau2: where(abs(tau_pos)-dst%threshold_stress(:,of) > tol_math_check) dtn = -1.0_pReal * t_n * BoltzmannRatio * prm%p * prm%q * (1.0_pReal-StressRatio_p)**(prm%q - 1.0_pReal) & - * (StressRatio)**(prm%p - 1.0_pReal) / prm%tau_0 + * (StressRatio)**(prm%p - 1.0_pReal) / prm%tau_peierls dtk = -1.0_pReal * t_k / tau_pos - dvel = -1.0_pReal * prm%kink_height * (dtk + dtn) / (t_n + t_k)**2.0_pReal + dvel = -1.0_pReal * prm%h * (dtk + dtn) / (t_n + t_k)**2.0_pReal ddot_gamma_dtau_pos = dot_gamma_0 * dvel* 0.5_pReal else where significantPositiveTau2 @@ -512,7 +512,7 @@ pure subroutine kinetics(Mp,T,instance,of, & endif significantNegativeTau: where(abs(tau_neg)-dst%threshold_stress(:,of) > tol_math_check) - StressRatio = (abs(tau_neg)-dst%threshold_stress(:,of))/prm%tau_0 + StressRatio = (abs(tau_neg)-dst%threshold_stress(:,of))/prm%tau_peierls StressRatio_p = StressRatio** prm%p StressRatio_pminus1 = StressRatio**(prm%p-1.0_pReal) needsGoodName = exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q) @@ -520,7 +520,7 @@ pure subroutine kinetics(Mp,T,instance,of, & t_n = prm%b_sl/(needsGoodName*prm%omega*effectiveLength) t_k = effectiveLength * prm%B /(2.0_pReal*prm%b_sl*tau_pos) - vel = prm%kink_height/(t_n + t_k) + vel = prm%h/(t_n + t_k) dot_gamma_neg = dot_gamma_0 * sign(vel,tau_neg) * 0.5_pReal else where significantNegativeTau @@ -530,10 +530,10 @@ pure subroutine kinetics(Mp,T,instance,of, & if (present(ddot_gamma_dtau_neg)) then significantNegativeTau2: where(abs(tau_neg)-dst%threshold_stress(:,of) > tol_math_check) dtn = -1.0_pReal * t_n * BoltzmannRatio * prm%p * prm%q * (1.0_pReal-StressRatio_p)**(prm%q - 1.0_pReal) & - * (StressRatio)**(prm%p - 1.0_pReal) / prm%tau_0 + * (StressRatio)**(prm%p - 1.0_pReal) / prm%tau_peierls dtk = -1.0_pReal * t_k / tau_neg - dvel = -1.0_pReal * prm%kink_height * (dtk + dtn) / (t_n + t_k)**2.0_pReal + dvel = -1.0_pReal * prm%h * (dtk + dtn) / (t_n + t_k)**2.0_pReal ddot_gamma_dtau_neg = dot_gamma_0 * dvel * 0.5_pReal else where significantNegativeTau2 From 8f3bb82b27e8e7c1a3598e98446edaea4aaeb9d3 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 22 Sep 2020 15:02:24 +0200 Subject: [PATCH 703/958] continue with parameter name change Names with conflicts not changed yet --- src/constitutive_plastic_dislotwin.f90 | 132 ++++++++++++------------- src/constitutive_plastic_isotropic.f90 | 6 +- 2 files changed, 69 insertions(+), 69 deletions(-) diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index a25815899..0a14c64e1 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -16,38 +16,38 @@ submodule(constitutive:constitutive_plastic) plastic_dislotwin real(pReal) :: & mu = 1.0_pReal, & !< equivalent shear modulus nu = 1.0_pReal, & !< equivalent shear Poisson's ratio - D0 = 1.0_pReal, & !< prefactor for self-diffusion coefficient - Qsd = 1.0_pReal, & !< activation energy for dislocation climb + D_0 = 1.0_pReal, & !< prefactor for self-diffusion coefficient + Q_cl = 1.0_pReal, & !< activation energy for dislocation climb omega = 1.0_pReal, & !< frequency factor for dislocation climb D = 1.0_pReal, & !< grain size p_sb = 1.0_pReal, & !< p-exponent in shear band velocity q_sb = 1.0_pReal, & !< q-exponent in shear band velocity - CEdgeDipMinDistance = 1.0_pReal, & !< adjustment parameter to calculate minimum dipole distance + D_a = 1.0_pReal, & !< adjustment parameter to calculate minimum dipole distance i_tw = 1.0_pReal, & !< adjustment parameter to calculate MFP for twinning tau_0 = 1.0_pReal, & !< strength due to elements in solid solution L_tw = 1.0_pReal, & !< Length of twin nuclei in Burgers vectors L_tr = 1.0_pReal, & !< Length of trans nuclei in Burgers vectors - xc_twin = 1.0_pReal, & !< critical distance for formation of twin nucleus - xc_trans = 1.0_pReal, & !< critical distance for formation of trans nucleus + x_c_tw = 1.0_pReal, & !< critical distance for formation of twin nucleus + x_c_tr = 1.0_pReal, & !< critical distance for formation of trans nucleus V_cs = 1.0_pReal, & !< cross slip volume - sbResistance = 1.0_pReal, & !< value for shearband resistance - sbVelocity = 1.0_pReal, & !< value for shearband velocity_0 + xi_sb = 1.0_pReal, & !< value for shearband resistance + v_sb = 1.0_pReal, & !< value for shearband velocity_0 E_sb = 1.0_pReal, & !< activation energy for shear bands - SFE_0K = 1.0_pReal, & !< stacking fault energy at zero K - dSFE_dT = 1.0_pReal, & !< temperature dependence of stacking fault energy - gamma_fcc_hex = 1.0_pReal, & !< Free energy difference between austensite and martensite + Gamma_sf_0K = 1.0_pReal, & !< stacking fault energy at zero K + dGamma_sf_dT = 1.0_pReal, & !< temperature dependence of stacking fault energy + delta_G = 1.0_pReal, & !< Free energy difference between austensite and martensite i_tr = 1.0_pReal, & !< adjustment parameter to calculate MFP for transformation h = 1.0_pReal !< Stack height of hex nucleus real(pReal), allocatable, dimension(:) :: & b_sl, & !< absolute length of burgers vector [m] for each slip system b_tw, & !< absolute length of burgers vector [m] for each twin system b_tr, & !< absolute length of burgers vector [m] for each transformation system - Delta_F,& !< activation energy for glide [J] for each slip system - v0, & !< dislocation velocity prefactor [m/s] for each slip system + Q_s,& !< activation energy for glide [J] for each slip system + v_0, & !< dislocation velocity prefactor [m/s] for each slip system dot_N_0_tw, & !< twin nucleation rate [1/m³s] for each twin system dot_N_0_tr, & !< trans nucleation rate [1/m³s] for each trans system t_tw, & !< twin thickness [m] for each twin system - CLambdaSlip, & !< Adj. parameter for distance between 2 forest dislocations for each slip system + i_sl, & !< Adj. parameter for distance between 2 forest dislocations for each slip system t_tr, & !< martensite lamellar thickness [m] for each trans system and instance p, & !< p-exponent in glide velocity q, & !< q-exponent in glide velocity @@ -209,23 +209,23 @@ module function plastic_dislotwin_init() result(myPlasticity) rho_mob_0 = pl%get_asFloats('rho_mob_0', requiredSize=size(N_sl)) rho_dip_0 = pl%get_asFloats('rho_dip_0', requiredSize=size(N_sl)) - prm%v0 = pl%get_asFloats('v_0', requiredSize=size(N_sl)) - prm%b_sl = pl%get_asFloats('b_sl', requiredSize=size(N_sl)) - prm%Delta_F = pl%get_asFloats('Q_s', requiredSize=size(N_sl)) - prm%CLambdaSlip = pl%get_asFloats('i_sl', requiredSize=size(N_sl)) - prm%p = pl%get_asFloats('p_sl', requiredSize=size(N_sl)) - prm%q = pl%get_asFloats('q_sl', requiredSize=size(N_sl)) - prm%B = pl%get_asFloats('B', requiredSize=size(N_sl), & + prm%v_0 = pl%get_asFloats('v_0', requiredSize=size(N_sl)) + prm%b_sl = pl%get_asFloats('b_sl', requiredSize=size(N_sl)) + prm%Q_s = pl%get_asFloats('Q_s', requiredSize=size(N_sl)) + prm%i_sl = pl%get_asFloats('i_sl', requiredSize=size(N_sl)) + prm%p = pl%get_asFloats('p_sl', requiredSize=size(N_sl)) + prm%q = pl%get_asFloats('q_sl', requiredSize=size(N_sl)) + prm%B = pl%get_asFloats('B', requiredSize=size(N_sl), & defaultVal=[(0.0_pReal, i=1,size(N_sl))]) prm%tau_0 = pl%get_asFloat('tau_0') - prm%CEdgeDipMinDistance = pl%get_asFloat('D_a') - prm%D0 = pl%get_asFloat('D_0') - prm%Qsd = pl%get_asFloat('Q_cl') + prm%D_a = pl%get_asFloat('D_a') + prm%D_0 = pl%get_asFloat('D_0') + prm%Q_cl = pl%get_asFloat('Q_cl') prm%ExtendedDislocations = pl%get_asBool('extend_dislocations',defaultVal = .false.) if (prm%ExtendedDislocations) then - prm%SFE_0K = pl%get_asFloat('Gamma_sf_0K') - prm%dSFE_dT = pl%get_asFloat('dGamma_sf_dT') + prm%Gamma_sf_0K = pl%get_asFloat('Gamma_sf_0K') + prm%dGamma_sf_dT = pl%get_asFloat('dGamma_sf_dT') endif prm%dipoleformation = .not. pl%get_asBool('no_dipole_formation',defaultVal = .false.) @@ -238,29 +238,29 @@ module function plastic_dislotwin_init() result(myPlasticity) ! expand: family => system rho_mob_0 = math_expand(rho_mob_0, N_sl) rho_dip_0 = math_expand(rho_dip_0, N_sl) - prm%v0 = math_expand(prm%v0, N_sl) + prm%v_0 = math_expand(prm%v_0, N_sl) prm%b_sl = math_expand(prm%b_sl, N_sl) - prm%Delta_F = math_expand(prm%Delta_F, N_sl) - prm%CLambdaSlip = math_expand(prm%CLambdaSlip, N_sl) + prm%Q_s = math_expand(prm%Q_s, N_sl) + prm%i_sl = math_expand(prm%i_sl, N_sl) prm%p = math_expand(prm%p, N_sl) prm%q = math_expand(prm%q, N_sl) prm%B = math_expand(prm%B, N_sl) ! sanity checks - if ( prm%D0 <= 0.0_pReal) extmsg = trim(extmsg)//' D_0' - if ( prm%Qsd <= 0.0_pReal) extmsg = trim(extmsg)//' Q_cl' - if (any(rho_mob_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_mob_0' - if (any(rho_dip_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_dip_0' - if (any(prm%v0 < 0.0_pReal)) extmsg = trim(extmsg)//' v_0' - if (any(prm%b_sl <= 0.0_pReal)) extmsg = trim(extmsg)//' b_sl' - if (any(prm%Delta_F <= 0.0_pReal)) extmsg = trim(extmsg)//' Q_s' - if (any(prm%CLambdaSlip <= 0.0_pReal)) extmsg = trim(extmsg)//' i_sl' - if (any(prm%B < 0.0_pReal)) extmsg = trim(extmsg)//' B' - if (any(prm%p<=0.0_pReal .or. prm%p>1.0_pReal)) extmsg = trim(extmsg)//' p_sl' - if (any(prm%q< 1.0_pReal .or. prm%q>2.0_pReal)) extmsg = trim(extmsg)//' q_sl' + if ( prm%D_0 <= 0.0_pReal) extmsg = trim(extmsg)//' D_0' + if ( prm%Q_cl <= 0.0_pReal) extmsg = trim(extmsg)//' Q_cl' + if (any(rho_mob_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_mob_0' + if (any(rho_dip_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_dip_0' + if (any(prm%v_0 < 0.0_pReal)) extmsg = trim(extmsg)//' v_0' + if (any(prm%b_sl <= 0.0_pReal)) extmsg = trim(extmsg)//' b_sl' + if (any(prm%Q_s <= 0.0_pReal)) extmsg = trim(extmsg)//' Q_s' + if (any(prm%i_sl <= 0.0_pReal)) extmsg = trim(extmsg)//' i_sl' + if (any(prm%B < 0.0_pReal)) extmsg = trim(extmsg)//' B' + if (any(prm%p<=0.0_pReal .or. prm%p>1.0_pReal)) extmsg = trim(extmsg)//' p_sl' + if (any(prm%q< 1.0_pReal .or. prm%q>2.0_pReal)) extmsg = trim(extmsg)//' q_sl' else slipActive rho_mob_0 = emptyRealArray; rho_dip_0 = emptyRealArray - allocate(prm%b_sl,prm%Delta_F,prm%v0,prm%CLambdaSlip,prm%p,prm%q,prm%B,source=emptyRealArray) + allocate(prm%b_sl,prm%Q_s,prm%v_0,prm%i_sl,prm%p,prm%q,prm%B,source=emptyRealArray) allocate(prm%forestProjection(0,0),prm%h_sl_sl(0,0)) endif slipActive @@ -279,7 +279,7 @@ module function plastic_dislotwin_init() result(myPlasticity) prm%t_tw = pl%get_asFloats('t_tw', requiredSize=size(N_tw)) prm%r = pl%get_asFloats('p_tw', requiredSize=size(N_tw)) - prm%xc_twin = pl%get_asFloat('x_c_tw') + prm%x_c_tw = pl%get_asFloat('x_c_tw') prm%L_tw = pl%get_asFloat('L_tw') prm%i_tw = pl%get_asFloat('i_tw') @@ -300,7 +300,7 @@ module function plastic_dislotwin_init() result(myPlasticity) prm%r = math_expand(prm%r,N_tw) ! sanity checks - if ( prm%xc_twin < 0.0_pReal) extmsg = trim(extmsg)//' x_c_twin' + if ( prm%x_c_tw < 0.0_pReal) extmsg = trim(extmsg)//' x_c_twin' if ( prm%L_tw < 0.0_pReal) extmsg = trim(extmsg)//' L_tw' if ( prm%i_tw < 0.0_pReal) extmsg = trim(extmsg)//' i_tw' if (any(prm%b_tw < 0.0_pReal)) extmsg = trim(extmsg)//' b_tw' @@ -324,8 +324,8 @@ module function plastic_dislotwin_init() result(myPlasticity) prm%h = pl%get_asFloat('h', defaultVal=0.0_pReal) ! ToDo: How to handle that??? prm%i_tr = pl%get_asFloat('i_tr', defaultVal=0.0_pReal) ! ToDo: How to handle that??? - prm%gamma_fcc_hex = pl%get_asFloat('delta_G') - prm%xc_trans = pl%get_asFloat('x_c_tr', defaultVal=0.0_pReal) ! ToDo: How to handle that??? + prm%delta_G = pl%get_asFloat('delta_G') + prm%x_c_tr = pl%get_asFloat('x_c_tr', defaultVal=0.0_pReal) ! ToDo: How to handle that??? prm%L_tr = pl%get_asFloat('L_tr') prm%h_tr_tr = lattice_interaction_TransByTrans(N_tr,pl%get_asFloats('h_tr_tr'), & @@ -351,7 +351,7 @@ module function plastic_dislotwin_init() result(myPlasticity) prm%s = math_expand(prm%s,N_tr) ! sanity checks - if ( prm%xc_trans < 0.0_pReal) extmsg = trim(extmsg)//' x_c_trans' + if ( prm%x_c_tr < 0.0_pReal) extmsg = trim(extmsg)//' x_c_trans' if ( prm%L_tr < 0.0_pReal) extmsg = trim(extmsg)//' L_tr' if ( prm%i_tr < 0.0_pReal) extmsg = trim(extmsg)//' i_tr' if (any(prm%t_tr < 0.0_pReal)) extmsg = trim(extmsg)//' t_tr' @@ -366,15 +366,15 @@ module function plastic_dislotwin_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! shearband related parameters - prm%sbVelocity = pl%get_asFloat('v_sb',defaultVal=0.0_pReal) - if (prm%sbVelocity > 0.0_pReal) then - prm%sbResistance = pl%get_asFloat('xi_sb') + prm%v_sb = pl%get_asFloat('v_sb',defaultVal=0.0_pReal) + if (prm%v_sb > 0.0_pReal) then + prm%xi_sb = pl%get_asFloat('xi_sb') prm%E_sb = pl%get_asFloat('Q_sb') prm%p_sb = pl%get_asFloat('p_sb') prm%q_sb = pl%get_asFloat('q_sb') ! sanity checks - if (prm%sbResistance < 0.0_pReal) extmsg = trim(extmsg)//' xi_sb' + if (prm%xi_sb < 0.0_pReal) extmsg = trim(extmsg)//' xi_sb' if (prm%E_sb < 0.0_pReal) extmsg = trim(extmsg)//' Q_sb' if (prm%p_sb <= 0.0_pReal) extmsg = trim(extmsg)//' p_sb' if (prm%q_sb <= 0.0_pReal) extmsg = trim(extmsg)//' q_sb' @@ -386,8 +386,8 @@ module function plastic_dislotwin_init() result(myPlasticity) prm%D = pl%get_asFloat('D') twinOrSlipActive: if (prm%sum_N_tw + prm%sum_N_tr > 0) then - prm%SFE_0K = pl%get_asFloat('Gamma_sf_0K') - prm%dSFE_dT = pl%get_asFloat('dGamma_sf_dT') + prm%Gamma_sf_0K = pl%get_asFloat('Gamma_sf_0K') + prm%dGamma_sf_dT = pl%get_asFloat('dGamma_sf_dT') prm%V_cs = pl%get_asFloat('V_cs') endif twinOrSlipActive @@ -602,7 +602,7 @@ module subroutine plastic_dislotwin_LpAndItsTangent(Lp,dLp_dMp,Mp,T,instance,of) Lp = Lp * f_unrotated dLp_dMp = dLp_dMp * f_unrotated - shearBandingContribution: if(dNeq0(prm%sbVelocity)) then + shearBandingContribution: if(dNeq0(prm%v_sb)) then BoltzmannRatio = prm%E_sb/(kB*T) call math_eigh33(eigValues,eigVectors,Mp) ! is Mp symmetric by design? @@ -613,10 +613,10 @@ module subroutine plastic_dislotwin_LpAndItsTangent(Lp,dLp_dMp,Mp,T,instance,of) tau = math_tensordot(Mp,P_sb) significantShearBandStress: if (abs(tau) > tol_math_check) then - StressRatio_p = (abs(tau)/prm%sbResistance)**prm%p_sb - dot_gamma_sb = sign(prm%sbVelocity*exp(-BoltzmannRatio*(1-StressRatio_p)**prm%q_sb), tau) - ddot_gamma_dtau = abs(dot_gamma_sb)*BoltzmannRatio* prm%p_sb*prm%q_sb/ prm%sbResistance & - * (abs(tau)/prm%sbResistance)**(prm%p_sb-1.0_pReal) & + StressRatio_p = (abs(tau)/prm%xi_sb)**prm%p_sb + dot_gamma_sb = sign(prm%v_sb*exp(-BoltzmannRatio*(1-StressRatio_p)**prm%q_sb), tau) + ddot_gamma_dtau = abs(dot_gamma_sb)*BoltzmannRatio* prm%p_sb*prm%q_sb/ prm%xi_sb & + * (abs(tau)/prm%xi_sb)**(prm%p_sb-1.0_pReal) & * (1.0_pReal-StressRatio_p)**(prm%q_sb-1.0_pReal) Lp = Lp + dot_gamma_sb * P_sb @@ -675,7 +675,7 @@ module subroutine plastic_dislotwin_dotState(Mp,T,instance,of) call kinetics_slip(Mp,T,instance,of,dot_gamma_sl) dot%gamma_sl(:,of) = abs(dot_gamma_sl) - rho_dip_distance_min = prm%CEdgeDipMinDistance*prm%b_sl + rho_dip_distance_min = prm%D_a*prm%b_sl slipState: do i = 1, prm%sum_N_sl tau = math_tensordot(Mp,prm%P_sl(1:3,1:3,i)) @@ -701,12 +701,12 @@ module subroutine plastic_dislotwin_dotState(Mp,T,instance,of) !@details: Refer: Argon & Moffat, Acta Metallurgica, Vol. 29, pg 293 to 299, 1981 sigma_cl = dot_product(prm%n0_sl(1:3,i),matmul(Mp,prm%n0_sl(1:3,i))) if (prm%ExtendedDislocations) then - Gamma = prm%SFE_0K + prm%dSFE_dT * T + Gamma = prm%Gamma_sf_0K + prm%dGamma_sf_dT * T b_d = 24.0_pReal*PI*(1.0_pReal - prm%nu)/(2.0_pReal + prm%nu)* Gamma/(prm%mu*prm%b_sl(i)) else b_d = 1.0_pReal endif - v_cl = 2.0_pReal*prm%omega*b_d**2.0_pReal*exp(-prm%Qsd/(kB*T)) & + v_cl = 2.0_pReal*prm%omega*b_d**2.0_pReal*exp(-prm%Q_cl/(kB*T)) & * (exp(abs(sigma_cl)*prm%b_sl(i)**3.0_pReal/(kB*T)) - 1.0_pReal) dot_rho_dip_climb(i) = 4.0_pReal*v_cl*stt%rho_dip(i,of) & @@ -768,7 +768,7 @@ module subroutine plastic_dislotwin_dependentState(T,instance,of) sumf_twin = sum(stt%f_tw(1:prm%sum_N_tw,of)) sumf_trans = sum(stt%f_tr(1:prm%sum_N_tr,of)) - Gamma = prm%SFE_0K + prm%dSFE_dT * T + Gamma = prm%Gamma_sf_0K + prm%dGamma_sf_dT * T !* rescaled volume fraction for topology f_over_t_tw = stt%f_tw(1:prm%sum_N_tw,of)/prm%t_tw ! this is per system ... @@ -776,7 +776,7 @@ module subroutine plastic_dislotwin_dependentState(T,instance,of) ! ToDo ...Physically correct, but naming could be adjusted inv_lambda_sl_sl = sqrt(matmul(prm%forestProjection, & - stt%rho_mob(:,of)+stt%rho_dip(:,of)))/prm%CLambdaSlip + stt%rho_mob(:,of)+stt%rho_dip(:,of)))/prm%i_sl if (prm%sum_N_tw > 0 .and. prm%sum_N_sl > 0) & inv_lambda_sl_tw = matmul(prm%h_sl_tw,f_over_t_tw)/(1.0_pReal-sumf_twin) @@ -809,17 +809,17 @@ module subroutine plastic_dislotwin_dependentState(T,instance,of) if(prm%sum_N_tr == prm%sum_N_sl) & dst%tau_hat_tr(:,of) = Gamma/(3.0_pReal*prm%b_tr) & + 3.0_pReal*prm%b_tr*prm%mu/(prm%L_tr*prm%b_sl) & ! slip burgers here correct? - + prm%h*prm%gamma_fcc_hex/ (3.0_pReal*prm%b_tr) + + prm%h*prm%delta_G/ (3.0_pReal*prm%b_tr) dst%V_tw(:,of) = (PI/4.0_pReal)*prm%t_tw*dst%Lambda_tw(:,of)**2.0_pReal dst%V_tr(:,of) = (PI/4.0_pReal)*prm%t_tr*dst%Lambda_tr(:,of)**2.0_pReal x0 = prm%mu*prm%b_tw**2.0_pReal/(Gamma*8.0_pReal*PI)*(2.0_pReal+prm%nu)/(1.0_pReal-prm%nu) ! ToDo: In the paper, this is the burgers vector for slip and is the same for twin and trans - dst%tau_r_tw(:,of) = prm%mu*prm%b_tw/(2.0_pReal*PI)*(1.0_pReal/(x0+prm%xc_twin)+cos(pi/3.0_pReal)/x0) + dst%tau_r_tw(:,of) = prm%mu*prm%b_tw/(2.0_pReal*PI)*(1.0_pReal/(x0+prm%x_c_tw)+cos(pi/3.0_pReal)/x0) x0 = prm%mu*prm%b_tr**2.0_pReal/(Gamma*8.0_pReal*PI)*(2.0_pReal+prm%nu)/(1.0_pReal-prm%nu) ! ToDo: In the paper, this is the burgers vector for slip - dst%tau_r_tr(:,of) = prm%mu*prm%b_tr/(2.0_pReal*PI)*(1.0_pReal/(x0+prm%xc_trans)+cos(pi/3.0_pReal)/x0) + dst%tau_r_tr(:,of) = prm%mu*prm%b_tr/(2.0_pReal*PI)*(1.0_pReal/(x0+prm%x_c_tr)+cos(pi/3.0_pReal)/x0) end associate @@ -927,8 +927,8 @@ pure subroutine kinetics_slip(Mp,T,instance,of, & significantStress: where(tau_eff > tol_math_check) stressRatio = tau_eff/prm%tau_0 StressRatio_p = stressRatio** prm%p - BoltzmannRatio = prm%Delta_F/(kB*T) - v_wait_inverse = prm%v0**(-1.0_pReal) * exp(BoltzmannRatio*(1.0_pReal-StressRatio_p)** prm%q) + BoltzmannRatio = prm%Q_s/(kB*T) + v_wait_inverse = prm%v_0**(-1.0_pReal) * exp(BoltzmannRatio*(1.0_pReal-StressRatio_p)** prm%q) v_run_inverse = prm%B/(tau_eff*prm%b_sl) dot_gamma_sl = sign(stt%rho_mob(:,of)*prm%b_sl/(v_wait_inverse+v_run_inverse),tau) diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index c78d497d6..102635801 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -14,7 +14,7 @@ submodule(constitutive:constitutive_plastic) plastic_isotropic M, & !< Taylor factor dot_gamma_0, & !< reference strain rate n, & !< stress exponent - h0, & + h_0, & h_ln, & xi_inf, & !< maximum critical stress a, & @@ -109,7 +109,7 @@ module function plastic_isotropic_init() result(myPlasticity) prm%xi_inf = pl%get_asFloat('xi_inf') prm%dot_gamma_0 = pl%get_asFloat('dot_gamma_0') prm%n = pl%get_asFloat('n') - prm%h0 = pl%get_asFloat('h_0') + prm%h_0 = pl%get_asFloat('h_0') prm%M = pl%get_asFloat('M') prm%h_ln = pl%get_asFloat('h_ln', defaultVal=0.0_pReal) prm%c_1 = pl%get_asFloat('c_1', defaultVal=0.0_pReal) @@ -310,7 +310,7 @@ module subroutine plastic_isotropic_dotState(Mp,instance,of) / prm%c_4 * (dot_gamma / prm%dot_gamma_0)**(1.0_pReal / prm%n) endif dot%xi(of) = dot_gamma & - * ( prm%h0 + prm%h_ln * log(dot_gamma) ) & + * ( prm%h_0 + prm%h_ln * log(dot_gamma) ) & * abs( 1.0_pReal - stt%xi(of)/xi_inf_star )**prm%a & * sign(1.0_pReal, 1.0_pReal - stt%xi(of)/xi_inf_star) else From ac54bd7eb5f38b005b8e7e75c6f48e119106d239 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 22 Sep 2020 15:26:34 +0200 Subject: [PATCH 704/958] extended to kinehardening --- src/constitutive_plastic_kinehardening.f90 | 78 +++++++++++----------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index fe17b090e..9783f27ad 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -9,15 +9,15 @@ submodule(constitutive:constitutive_plastic) plastic_kinehardening type :: tParameters real(pReal) :: & - gdot0 = 1.0_pReal, & !< reference shear strain rate for slip - n = 1.0_pReal !< stress exponent for slip + n = 1.0_pReal, & !< stress exponent for slip + dot_gamma_0 = 1.0_pReal !< reference shear strain rate for slip real(pReal), allocatable, dimension(:) :: & - theta0, & !< initial hardening rate of forward stress for each slip - theta1, & !< asymptotic hardening rate of forward stress for each slip - theta0_b, & !< initial hardening rate of back stress for each slip - theta1_b, & !< asymptotic hardening rate of back stress for each slip - tau1, & - tau1_b + h_0_f, & !< initial hardening rate of forward stress for each slip + h_inf_f, & !< asymptotic hardening rate of forward stress for each slip + h_0_b, & !< initial hardening rate of back stress for each slip + h_inf_b, & !< asymptotic hardening rate of back stress for each slip + xi_inf_f, & + xi_inf_b real(pReal), allocatable, dimension(:,:) :: & interaction_slipslip !< slip resistance from slip activity real(pReal), allocatable, dimension(:,:,:) :: & @@ -137,38 +137,38 @@ module function plastic_kinehardening_init() result(myPlasticity) pl%get_asFloats('h_sl_sl'), & phase%get_asString('lattice')) - xi_0 = pl%get_asFloats('xi_0', requiredSize=size(N_sl)) - prm%tau1 = pl%get_asFloats('xi_inf_f', requiredSize=size(N_sl)) - prm%tau1_b = pl%get_asFloats('xi_inf_b', requiredSize=size(N_sl)) - prm%theta0 = pl%get_asFloats('h_0_f', requiredSize=size(N_sl)) - prm%theta1 = pl%get_asFloats('h_inf_f', requiredSize=size(N_sl)) - prm%theta0_b = pl%get_asFloats('h_0_b', requiredSize=size(N_sl)) - prm%theta1_b = pl%get_asFloats('h_inf_b', requiredSize=size(N_sl)) + xi_0 = pl%get_asFloats('xi_0', requiredSize=size(N_sl)) + prm%xi_inf_f = pl%get_asFloats('xi_inf_f', requiredSize=size(N_sl)) + prm%xi_inf_b = pl%get_asFloats('xi_inf_b', requiredSize=size(N_sl)) + prm%h_0_f = pl%get_asFloats('h_0_f', requiredSize=size(N_sl)) + prm%h_inf_f = pl%get_asFloats('h_inf_f', requiredSize=size(N_sl)) + prm%h_0_b = pl%get_asFloats('h_0_b', requiredSize=size(N_sl)) + prm%h_inf_b = pl%get_asFloats('h_inf_b', requiredSize=size(N_sl)) - prm%gdot0 = pl%get_asFloat('dot_gamma_0') - prm%n = pl%get_asFloat('n') + prm%dot_gamma_0 = pl%get_asFloat('dot_gamma_0') + prm%n = pl%get_asFloat('n') ! expand: family => system - xi_0 = math_expand(xi_0, N_sl) - prm%tau1 = math_expand(prm%tau1, N_sl) - prm%tau1_b = math_expand(prm%tau1_b, N_sl) - prm%theta0 = math_expand(prm%theta0, N_sl) - prm%theta1 = math_expand(prm%theta1, N_sl) - prm%theta0_b = math_expand(prm%theta0_b,N_sl) - prm%theta1_b = math_expand(prm%theta1_b,N_sl) + xi_0 = math_expand(xi_0, N_sl) + prm%xi_inf_f = math_expand(prm%xi_inf_f, N_sl) + prm%xi_inf_b = math_expand(prm%xi_inf_b, N_sl) + prm%h_0_f = math_expand(prm%h_0_f, N_sl) + prm%h_inf_f = math_expand(prm%h_inf_f, N_sl) + prm%h_0_b = math_expand(prm%h_0_b, N_sl) + prm%h_inf_b = math_expand(prm%h_inf_b, N_sl) !-------------------------------------------------------------------------------------------------- ! sanity checks - if ( prm%gdot0 <= 0.0_pReal) extmsg = trim(extmsg)//' dot_gamma_0' - if ( prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' n' - if (any(xi_0 <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_0' - if (any(prm%tau1 <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_inf_f' - if (any(prm%tau1_b <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_inf_b' + if ( prm%dot_gamma_0 <= 0.0_pReal) extmsg = trim(extmsg)//' dot_gamma_0' + if ( prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' n' + if (any(xi_0 <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_0' + if (any(prm%xi_inf_f <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_inf_f' + if (any(prm%xi_inf_b <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_inf_b' !ToDo: Any sensible checks for theta? else slipActive xi_0 = emptyRealArray - allocate(prm%tau1,prm%tau1_b,prm%theta0,prm%theta1,prm%theta0_b,prm%theta1_b,source=emptyRealArray) + allocate(prm%xi_inf_f,prm%xi_inf_b,prm%h_0_f,prm%h_inf_f,prm%h_0_b,prm%h_inf_b,source=emptyRealArray) allocate(prm%interaction_SlipSlip(0,0)) endif slipActive @@ -303,16 +303,16 @@ module subroutine plastic_kinehardening_dotState(Mp,instance,of) dot%crss(:,of) = matmul(prm%interaction_SlipSlip,dot%accshear(:,of)) & - * ( prm%theta1 & - + (prm%theta0 - prm%theta1 + prm%theta0*prm%theta1*sumGamma/prm%tau1) & - * exp(-sumGamma*prm%theta0/prm%tau1) & + * ( prm%h_inf_f & + + (prm%h_0_f - prm%h_inf_f + prm%h_0_f*prm%h_inf_f*sumGamma/prm%xi_inf_f) & + * exp(-sumGamma*prm%h_0_f/prm%xi_inf_f) & ) dot%crss_back(:,of) = stt%sense(:,of)*dot%accshear(:,of) * & - ( prm%theta1_b + & - (prm%theta0_b - prm%theta1_b & - + prm%theta0_b*prm%theta1_b/(prm%tau1_b+stt%chi0(:,of))*(stt%accshear(:,of)-stt%gamma0(:,of))& - ) *exp(-(stt%accshear(:,of)-stt%gamma0(:,of)) *prm%theta0_b/(prm%tau1_b+stt%chi0(:,of))) & + ( prm%h_inf_b + & + (prm%h_0_b - prm%h_inf_b & + + prm%h_0_b*prm%h_inf_b/(prm%xi_inf_b+stt%chi0(:,of))*(stt%accshear(:,of)-stt%gamma0(:,of))& + ) *exp(-(stt%accshear(:,of)-stt%gamma0(:,of)) *prm%h_0_b/(prm%xi_inf_b+stt%chi0(:,of))) & ) end associate @@ -442,14 +442,14 @@ pure subroutine kinetics(Mp,instance,of, & enddo where(dNeq0(tau_pos)) - gdot_pos = prm%gdot0 * merge(0.5_pReal,1.0_pReal, prm%nonSchmidActive) & ! 1/2 if non-Schmid active + gdot_pos = prm%dot_gamma_0 * merge(0.5_pReal,1.0_pReal, prm%nonSchmidActive) & ! 1/2 if non-Schmid active * sign(abs(tau_pos/stt%crss(:,of))**prm%n, tau_pos) else where gdot_pos = 0.0_pReal end where where(dNeq0(tau_neg)) - gdot_neg = prm%gdot0 * 0.5_pReal & ! only used if non-Schmid active, always 1/2 + gdot_neg = prm%dot_gamma_0 * 0.5_pReal & ! only used if non-Schmid active, always 1/2 * sign(abs(tau_neg/stt%crss(:,of))**prm%n, tau_neg) else where gdot_neg = 0.0_pReal From 711506df37e2117d11734140cba3c2c95e2f9af2 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 22 Sep 2020 16:04:14 +0200 Subject: [PATCH 705/958] extended to phenopower law --- src/constitutive_plastic_phenopowerlaw.f90 | 198 ++++++++++----------- 1 file changed, 99 insertions(+), 99 deletions(-) diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index b30a4d9df..669778007 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -8,28 +8,28 @@ submodule(constitutive:constitutive_plastic) plastic_phenopowerlaw type :: tParameters real(pReal) :: & - gdot0_slip = 1.0_pReal, & !< reference shear strain rate for slip - gdot0_twin = 1.0_pReal, & !< reference shear strain rate for twin - n_slip = 1.0_pReal, & !< stress exponent for slip - n_twin = 1.0_pReal, & !< stress exponent for twin - spr = 1.0_pReal, & !< push-up factor for slip saturation due to twinning - c_1 = 1.0_pReal, & - c_2 = 1.0_pReal, & - c_3 = 1.0_pReal, & - c_4 = 1.0_pReal, & - h0_SlipSlip = 1.0_pReal, & !< reference hardening slip - slip - h0_TwinSlip = 1.0_pReal, & !< reference hardening twin - slip - h0_TwinTwin = 1.0_pReal, & !< reference hardening twin - twin - a_slip = 1.0_pReal + dot_gamma_0_sl = 1.0_pReal, & !< reference shear strain rate for slip + dot_gamma_0_tw = 1.0_pReal, & !< reference shear strain rate for twin + n_sl = 1.0_pReal, & !< stress exponent for slip + n_tw = 1.0_pReal, & !< stress exponent for twin + f_sl_sat_tw = 1.0_pReal, & !< push-up factor for slip saturation due to twinning + c_1 = 1.0_pReal, & + c_2 = 1.0_pReal, & + c_3 = 1.0_pReal, & + c_4 = 1.0_pReal, & + h_0_sl_sl = 1.0_pReal, & !< reference hardening slip - slip + h_0_tw_sl = 1.0_pReal, & !< reference hardening twin - slip + h_0_tw_tw = 1.0_pReal, & !< reference hardening twin - twin + a_sl = 1.0_pReal real(pReal), allocatable, dimension(:) :: & - xi_slip_sat, & !< maximum critical shear stress for slip - H_int, & !< per family hardening activity (optional) - gamma_twin_char !< characteristic shear for twins + xi_inf_sl, & !< maximum critical shear stress for slip + h_int, & !< per family hardening activity (optional) + gamma_tw_char !< characteristic shear for twins real(pReal), allocatable, dimension(:,:) :: & - interaction_SlipSlip, & !< slip resistance from slip activity - interaction_SlipTwin, & !< slip resistance from twin activity - interaction_TwinSlip, & !< twin resistance from slip activity - interaction_TwinTwin !< twin resistance from twin activity + h_sl_sl, & !< slip resistance from slip activity + h_sl_tw, & !< slip resistance from twin activity + h_tw_sl, & !< twin resistance from slip activity + h_tw_tw !< twin resistance from twin activity real(pReal), allocatable, dimension(:,:,:) :: & P_sl, & P_tw, & @@ -78,8 +78,8 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) integer, dimension(:), allocatable :: & N_sl, N_tw real(pReal), dimension(:), allocatable :: & - xi_slip_0, & !< initial critical shear stress for slip - xi_twin_0, & !< initial critical shear stress for twin + xi_0_sl, & !< initial critical shear stress for slip + xi_0_tw, & !< initial critical shear stress for twin a !< non-Schmid coefficients character(len=pStringLen) :: & extmsg = '' @@ -128,36 +128,36 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) prm%nonSchmid_pos = prm%P_sl prm%nonSchmid_neg = prm%P_sl endif - prm%interaction_SlipSlip = lattice_interaction_SlipBySlip(N_sl, & - pl%get_asFloats('h_sl_sl'), & - phase%get_asString('lattice')) + prm%h_sl_sl = lattice_interaction_SlipBySlip(N_sl, & + pl%get_asFloats('h_sl_sl'), & + phase%get_asString('lattice')) - xi_slip_0 = pl%get_asFloats('xi_0_sl', requiredSize=size(N_sl)) - prm%xi_slip_sat = pl%get_asFloats('xi_inf_sl', requiredSize=size(N_sl)) - prm%H_int = pl%get_asFloats('h_int', requiredSize=size(N_sl), & - defaultVal=[(0.0_pReal,i=1,size(N_sl))]) + xi_0_sl = pl%get_asFloats('xi_0_sl', requiredSize=size(N_sl)) + prm%xi_inf_sl = pl%get_asFloats('xi_inf_sl', requiredSize=size(N_sl)) + prm%h_int = pl%get_asFloats('h_int', requiredSize=size(N_sl), & + defaultVal=[(0.0_pReal,i=1,size(N_sl))]) - prm%gdot0_slip = pl%get_asFloat('dot_gamma_0_sl') - prm%n_slip = pl%get_asFloat('n_sl') - prm%a_slip = pl%get_asFloat('a_sl') - prm%h0_SlipSlip = pl%get_asFloat('h_0_sl_sl') + prm%dot_gamma_0_sl = pl%get_asFloat('dot_gamma_0_sl') + prm%n_sl = pl%get_asFloat('n_sl') + prm%a_sl = pl%get_asFloat('a_sl') + prm%h_0_sl_sl = pl%get_asFloat('h_0_sl_sl') ! expand: family => system - xi_slip_0 = math_expand(xi_slip_0, N_sl) - prm%xi_slip_sat = math_expand(prm%xi_slip_sat,N_sl) - prm%H_int = math_expand(prm%H_int, N_sl) + xi_0_sl = math_expand(xi_0_sl, N_sl) + prm%xi_inf_sl = math_expand(prm%xi_inf_sl,N_sl) + prm%h_int = math_expand(prm%h_int, N_sl) ! sanity checks - if ( prm%gdot0_slip <= 0.0_pReal) extmsg = trim(extmsg)//' dot_gamma_0_sl' - if ( prm%a_slip <= 0.0_pReal) extmsg = trim(extmsg)//' a_sl' - if ( prm%n_slip <= 0.0_pReal) extmsg = trim(extmsg)//' n_sl' - if (any(xi_slip_0 <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_0_sl' - if (any(prm%xi_slip_sat <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_inf_sl' + if ( prm%dot_gamma_0_sl <= 0.0_pReal) extmsg = trim(extmsg)//' dot_gamma_0_sl' + if ( prm%a_sl <= 0.0_pReal) extmsg = trim(extmsg)//' a_sl' + if ( prm%n_sl <= 0.0_pReal) extmsg = trim(extmsg)//' n_sl' + if (any(xi_0_sl <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_0_sl' + if (any(prm%xi_inf_sl <= 0.0_pReal)) extmsg = trim(extmsg)//' xi_inf_sl' else slipActive - xi_slip_0 = emptyRealArray - allocate(prm%xi_slip_sat,prm%H_int,source=emptyRealArray) - allocate(prm%interaction_SlipSlip(0,0)) + xi_0_sl = emptyRealArray + allocate(prm%xi_inf_sl,prm%h_int,source=emptyRealArray) + allocate(prm%h_sl_sl(0,0)) endif slipActive !-------------------------------------------------------------------------------------------------- @@ -165,52 +165,52 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) N_tw = pl%get_asInts('N_tw', defaultVal=emptyIntArray) prm%sum_N_tw = sum(abs(N_tw)) twinActive: if (prm%sum_N_tw > 0) then - prm%P_tw = lattice_SchmidMatrix_twin(N_tw,phase%get_asString('lattice'),& - phase%get_asFloat('c/a',defaultVal=0.0_pReal)) - prm%interaction_TwinTwin = lattice_interaction_TwinByTwin(N_tw,& - pl%get_asFloats('h_tw_tw'), & - phase%get_asString('lattice')) - prm%gamma_twin_char = lattice_characteristicShear_twin(N_tw,phase%get_asString('lattice'),& - phase%get_asFloat('c/a',defaultVal=0.0_pReal)) + prm%P_tw = lattice_SchmidMatrix_twin(N_tw,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) + prm%h_tw_tw = lattice_interaction_TwinByTwin(N_tw,& + pl%get_asFloats('h_tw_tw'), & + phase%get_asString('lattice')) + prm%gamma_tw_char = lattice_characteristicShear_twin(N_tw,phase%get_asString('lattice'),& + phase%get_asFloat('c/a',defaultVal=0.0_pReal)) - xi_twin_0 = pl%get_asFloats('xi_0_tw',requiredSize=size(N_tw)) + xi_0_tw = pl%get_asFloats('xi_0_tw',requiredSize=size(N_tw)) - prm%c_1 = pl%get_asFloat('c_1',defaultVal=0.0_pReal) - prm%c_2 = pl%get_asFloat('c_2',defaultVal=1.0_pReal) - prm%c_3 = pl%get_asFloat('c_3',defaultVal=0.0_pReal) - prm%c_4 = pl%get_asFloat('c_4',defaultVal=0.0_pReal) - prm%gdot0_twin = pl%get_asFloat('dot_gamma_0_tw') - prm%n_twin = pl%get_asFloat('n_tw') - prm%spr = pl%get_asFloat('f_sl_sat_tw') - prm%h0_TwinTwin = pl%get_asFloat('h_0_tw_tw') + prm%c_1 = pl%get_asFloat('c_1',defaultVal=0.0_pReal) + prm%c_2 = pl%get_asFloat('c_2',defaultVal=1.0_pReal) + prm%c_3 = pl%get_asFloat('c_3',defaultVal=0.0_pReal) + prm%c_4 = pl%get_asFloat('c_4',defaultVal=0.0_pReal) + prm%dot_gamma_0_tw = pl%get_asFloat('dot_gamma_0_tw') + prm%n_tw = pl%get_asFloat('n_tw') + prm%f_sl_sat_tw = pl%get_asFloat('f_sl_sat_tw') + prm%h_0_tw_tw = pl%get_asFloat('h_0_tw_tw') ! expand: family => system - xi_twin_0 = math_expand(xi_twin_0,N_tw) + xi_0_tw = math_expand(xi_0_tw,N_tw) ! sanity checks - if (prm%gdot0_twin <= 0.0_pReal) extmsg = trim(extmsg)//' dot_gamma_0_tw' - if (prm%n_twin <= 0.0_pReal) extmsg = trim(extmsg)//' n_tw' + if (prm%dot_gamma_0_tw <= 0.0_pReal) extmsg = trim(extmsg)//' dot_gamma_0_tw' + if (prm%n_tw <= 0.0_pReal) extmsg = trim(extmsg)//' n_tw' else twinActive - xi_twin_0 = emptyRealArray - allocate(prm%gamma_twin_char,source=emptyRealArray) - allocate(prm%interaction_TwinTwin(0,0)) + xi_0_tw = emptyRealArray + allocate(prm%gamma_tw_char,source=emptyRealArray) + allocate(prm%h_tw_tw(0,0)) endif twinActive !-------------------------------------------------------------------------------------------------- ! slip-twin related parameters slipAndTwinActive: if (prm%sum_N_sl > 0 .and. prm%sum_N_tw > 0) then - prm%h0_TwinSlip = pl%get_asFloat('h_0_tw_sl') - prm%interaction_SlipTwin = lattice_interaction_SlipByTwin(N_sl,N_tw,& - pl%get_asFloats('h_sl_tw'), & - phase%get_asString('lattice')) - prm%interaction_TwinSlip = lattice_interaction_TwinBySlip(N_tw,N_sl,& - pl%get_asFloats('h_tw_sl'), & - phase%get_asString('lattice')) + prm%h_0_tw_sl = pl%get_asFloat('h_0_tw_sl') + prm%h_sl_tw = lattice_interaction_SlipByTwin(N_sl,N_tw,& + pl%get_asFloats('h_sl_tw'), & + phase%get_asString('lattice')) + prm%h_tw_sl = lattice_interaction_TwinBySlip(N_tw,N_sl,& + pl%get_asFloats('h_tw_sl'), & + phase%get_asString('lattice')) else slipAndTwinActive - allocate(prm%interaction_SlipTwin(prm%sum_N_sl,prm%sum_N_tw)) ! at least one dimension is 0 - allocate(prm%interaction_TwinSlip(prm%sum_N_tw,prm%sum_N_sl)) ! at least one dimension is 0 - prm%h0_TwinSlip = 0.0_pReal + allocate(prm%h_sl_tw(prm%sum_N_sl,prm%sum_N_tw)) ! at least one dimension is 0 + allocate(prm%h_tw_sl(prm%sum_N_tw,prm%sum_N_sl)) ! at least one dimension is 0 + prm%h_0_tw_sl = 0.0_pReal endif slipAndTwinActive !-------------------------------------------------------------------------------------------------- @@ -237,7 +237,7 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) startIndex = 1 endIndex = prm%sum_N_sl stt%xi_slip => plasticState(p)%state (startIndex:endIndex,:) - stt%xi_slip = spread(xi_slip_0, 2, NipcMyPhase) + stt%xi_slip = spread(xi_0_sl, 2, NipcMyPhase) dot%xi_slip => plasticState(p)%dotState(startIndex:endIndex,:) plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_xi',defaultVal=1.0_pReal) if(any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_xi' @@ -245,7 +245,7 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) startIndex = endIndex + 1 endIndex = endIndex + prm%sum_N_tw stt%xi_twin => plasticState(p)%state (startIndex:endIndex,:) - stt%xi_twin = spread(xi_twin_0, 2, NipcMyPhase) + stt%xi_twin = spread(xi_0_tw, 2, NipcMyPhase) dot%xi_twin => plasticState(p)%dotState(startIndex:endIndex,:) plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_xi',defaultVal=1.0_pReal) if(any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_xi' @@ -354,20 +354,20 @@ module subroutine plastic_phenopowerlaw_dotState(Mp,instance,of) associate(prm => param(instance), stt => state(instance), dot => dotState(instance)) sumGamma = sum(stt%gamma_slip(:,of)) - sumF = sum(stt%gamma_twin(:,of)/prm%gamma_twin_char) + sumF = sum(stt%gamma_twin(:,of)/prm%gamma_tw_char) !-------------------------------------------------------------------------------------------------- ! system-independent (nonlinear) prefactors to M_Xx (X influenced by x) matrices - c_SlipSlip = prm%h0_slipslip * (1.0_pReal + prm%c_1*sumF** prm%c_2) - c_TwinSlip = prm%h0_TwinSlip * sumGamma**prm%c_3 - c_TwinTwin = prm%h0_TwinTwin * sumF**prm%c_4 + c_SlipSlip = prm%h_0_sl_sl * (1.0_pReal + prm%c_1*sumF** prm%c_2) + c_TwinSlip = prm%h_0_tw_sl * sumGamma**prm%c_3 + c_TwinTwin = prm%h_0_tw_tw * sumF**prm%c_4 !-------------------------------------------------------------------------------------------------- ! calculate left and right vectors - left_SlipSlip = 1.0_pReal + prm%H_int - xi_slip_sat_offset = prm%spr*sqrt(sumF) - right_SlipSlip = abs(1.0_pReal-stt%xi_slip(:,of) / (prm%xi_slip_sat+xi_slip_sat_offset)) **prm%a_slip & - * sign(1.0_pReal,1.0_pReal-stt%xi_slip(:,of) / (prm%xi_slip_sat+xi_slip_sat_offset)) + left_SlipSlip = 1.0_pReal + prm%h_int + xi_slip_sat_offset = prm%f_sl_sat_tw*sqrt(sumF) + right_SlipSlip = abs(1.0_pReal-stt%xi_slip(:,of) / (prm%xi_inf_sl+xi_slip_sat_offset)) **prm%a_sl & + * sign(1.0_pReal,1.0_pReal-stt%xi_slip(:,of) / (prm%xi_inf_sl+xi_slip_sat_offset)) !-------------------------------------------------------------------------------------------------- ! shear rates @@ -378,11 +378,11 @@ module subroutine plastic_phenopowerlaw_dotState(Mp,instance,of) !-------------------------------------------------------------------------------------------------- ! hardening dot%xi_slip(:,of) = c_SlipSlip * left_SlipSlip * & - matmul(prm%interaction_SlipSlip,dot%gamma_slip(:,of)*right_SlipSlip) & - + matmul(prm%interaction_SlipTwin,dot%gamma_twin(:,of)) + matmul(prm%h_sl_sl,dot%gamma_slip(:,of)*right_SlipSlip) & + + matmul(prm%h_sl_tw,dot%gamma_twin(:,of)) - dot%xi_twin(:,of) = c_TwinSlip * matmul(prm%interaction_TwinSlip,dot%gamma_slip(:,of)) & - + c_TwinTwin * matmul(prm%interaction_TwinTwin,dot%gamma_twin(:,of)) + dot%xi_twin(:,of) = c_TwinSlip * matmul(prm%h_tw_sl,dot%gamma_slip(:,of)) & + + c_TwinTwin * matmul(prm%h_tw_tw,dot%gamma_twin(:,of)) end associate end subroutine plastic_phenopowerlaw_dotState @@ -460,29 +460,29 @@ pure subroutine kinetics_slip(Mp,instance,of, & enddo where(dNeq0(tau_slip_pos)) - gdot_slip_pos = prm%gdot0_slip * merge(0.5_pReal,1.0_pReal, prm%nonSchmidActive) & ! 1/2 if non-Schmid active - * sign(abs(tau_slip_pos/stt%xi_slip(:,of))**prm%n_slip, tau_slip_pos) + gdot_slip_pos = prm%dot_gamma_0_sl * merge(0.5_pReal,1.0_pReal, prm%nonSchmidActive) & ! 1/2 if non-Schmid active + * sign(abs(tau_slip_pos/stt%xi_slip(:,of))**prm%n_sl, tau_slip_pos) else where gdot_slip_pos = 0.0_pReal end where where(dNeq0(tau_slip_neg)) - gdot_slip_neg = prm%gdot0_slip * 0.5_pReal & ! only used if non-Schmid active, always 1/2 - * sign(abs(tau_slip_neg/stt%xi_slip(:,of))**prm%n_slip, tau_slip_neg) + gdot_slip_neg = prm%dot_gamma_0_sl * 0.5_pReal & ! only used if non-Schmid active, always 1/2 + * sign(abs(tau_slip_neg/stt%xi_slip(:,of))**prm%n_sl, tau_slip_neg) else where gdot_slip_neg = 0.0_pReal end where if (present(dgdot_dtau_slip_pos)) then where(dNeq0(gdot_slip_pos)) - dgdot_dtau_slip_pos = gdot_slip_pos*prm%n_slip/tau_slip_pos + dgdot_dtau_slip_pos = gdot_slip_pos*prm%n_sl/tau_slip_pos else where dgdot_dtau_slip_pos = 0.0_pReal end where endif if (present(dgdot_dtau_slip_neg)) then where(dNeq0(gdot_slip_neg)) - dgdot_dtau_slip_neg = gdot_slip_neg*prm%n_slip/tau_slip_neg + dgdot_dtau_slip_neg = gdot_slip_neg*prm%n_sl/tau_slip_neg else where dgdot_dtau_slip_neg = 0.0_pReal end where @@ -524,15 +524,15 @@ pure subroutine kinetics_twin(Mp,instance,of,& enddo where(tau_twin > 0.0_pReal) - gdot_twin = (1.0_pReal-sum(stt%gamma_twin(:,of)/prm%gamma_twin_char)) & ! only twin in untwinned volume fraction - * prm%gdot0_twin*(abs(tau_twin)/stt%xi_twin(:,of))**prm%n_twin + gdot_twin = (1.0_pReal-sum(stt%gamma_twin(:,of)/prm%gamma_tw_char)) & ! only twin in untwinned volume fraction + * prm%dot_gamma_0_tw*(abs(tau_twin)/stt%xi_twin(:,of))**prm%n_tw else where gdot_twin = 0.0_pReal end where if (present(dgdot_dtau_twin)) then where(dNeq0(gdot_twin)) - dgdot_dtau_twin = gdot_twin*prm%n_twin/tau_twin + dgdot_dtau_twin = gdot_twin*prm%n_tw/tau_twin else where dgdot_dtau_twin = 0.0_pReal end where From d888c894dff777cfd67c3255fd20021a604dda8e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 22 Sep 2020 16:52:23 +0200 Subject: [PATCH 706/958] updated tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index b743be478..69371a32f 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit b743be47898365af917ef57686c26a3a750c651b +Subproject commit 69371a32fc375343a92f9f70c5e263502bb0a80b From 0eef0cad0ceab400002e3e8216cd5a90a1a0dcae Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 22 Sep 2020 18:11:09 +0200 Subject: [PATCH 707/958] all plastic laws covered --- src/constitutive_plastic_nonlocal.f90 | 358 +++++++++++++------------- 1 file changed, 179 insertions(+), 179 deletions(-) diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index c96301691..b4113a5c6 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -46,58 +46,58 @@ submodule(constitutive:constitutive_plastic) plastic_nonlocal type :: tInitialParameters !< container type for internal constitutive parameters real(pReal) :: & - rhoSglScatter, & !< standard deviation of scatter in initial dislocation density - rhoSglRandom, & - rhoSglRandomBinning + sigma_rho_u, & !< standard deviation of scatter in initial dislocation density + random_rho_u, & + random_rho_u_binning real(pReal), dimension(:), allocatable :: & - rhoSglEdgePos0, & !< initial edge_pos dislocation density - rhoSglEdgeNeg0, & !< initial edge_neg dislocation density - rhoSglScrewPos0, & !< initial screw_pos dislocation density - rhoSglScrewNeg0, & !< initial screw_neg dislocation density - rhoDipEdge0, & !< initial edge dipole dislocation density - rhoDipScrew0 !< initial screw dipole dislocation density + rho_u_ed_pos_0, & !< initial edge_pos dislocation density + rho_u_ed_neg_0, & !< initial edge_neg dislocation density + rho_u_sc_pos_0, & !< initial screw_pos dislocation density + rho_u_sc_neg_0, & !< initial screw_neg dislocation density + rho_d_ed_0, & !< initial edge dipole dislocation density + rho_d_sc_0 !< initial screw dipole dislocation density integer, dimension(:), allocatable :: & N_sl end type tInitialParameters type :: tParameters !< container type for internal constitutive parameters real(pReal) :: & - atomicVolume, & !< atomic volume - Dsd0, & !< prefactor for self-diffusion coefficient - selfDiffusionEnergy, & !< activation enthalpy for diffusion + V_at, & !< atomic volume + D_0, & !< prefactor for self-diffusion coefficient + Q_cl, & !< activation enthalpy for diffusion atol_rho, & !< absolute tolerance for dislocation density in state integration - significantRho, & !< density considered significant - significantN, & !< number of dislocations considered significant - doublekinkwidth, & !< width of a doubkle kink in multiples of the burgers vector length b - solidSolutionEnergy, & !< activation energy for solid solution in J - solidSolutionSize, & !< solid solution obstacle size in multiples of the burgers vector length - solidSolutionConcentration, & !< concentration of solid solution in atomic parts + rho_significant, & !< density considered significant + rho_num_significant, & !< number of dislocations considered significant + w, & !< width of a doubkle kink in multiples of the burgers vector length b + Q_sol, & !< activation energy for solid solution in J + f_sol, & !< solid solution obstacle size in multiples of the burgers vector length + c_sol, & !< concentration of solid solution in atomic parts p, & !< parameter for kinetic law (Kocks,Argon,Ashby) q, & !< parameter for kinetic law (Kocks,Argon,Ashby) - viscosity, & !< viscosity for dislocation glide in Pa s - fattack, & !< attack frequency in Hz - surfaceTransmissivity, & !< transmissivity at free surface - grainboundaryTransmissivity, & !< transmissivity at grain boundary (identified by different texture) - CFLfactor, & !< safety factor for CFL flux condition - fEdgeMultiplication, & !< factor that determines how much edge dislocations contribute to multiplication (0...1) - linetensionEffect, & - edgeJogFactor, & + eta, & !< viscosity for dislocation glide in Pa s + nu_a, & !< attack frequency in Hz + chi_surface, & !< transmissivity at free surface + chi_GB, & !< transmissivity at grain boundary (identified by different texture) + f_c, & !< safety factor for CFL flux condition + f_ed_mult, & !< factor that determines how much edge dislocations contribute to multiplication (0...1) + f_F, & + f_ed, & mu, & nu real(pReal), dimension(:), allocatable :: & - minDipoleHeight_edge, & !< minimum stable edge dipole height - minDipoleHeight_screw, & !< minimum stable screw dipole height - peierlsstress_edge, & - peierlsstress_screw, & - lambda0, & !< mean free path prefactor for each - burgers !< absolute length of burgers vector [m] + d_ed, & !< minimum stable edge dipole height + d_sc, & !< minimum stable screw dipole height + tau_peierls_ed, & + tau_peierls_sc, & + i_sl, & !< mean free path prefactor for each + b_sl !< absolute length of burgers vector [m] real(pReal), dimension(:,:), allocatable :: & slip_normal, & slip_direction, & slip_transverse, & minDipoleHeight, & ! edge and screw peierlsstress, & ! edge and screw - interactionSlipSlip ,& !< coefficients for slip-slip interaction + h_sl_sl ,& !< coefficients for slip-slip interaction forestProjection_Edge, & !< matrix of forest projections of edge dislocations forestProjection_Screw !< matrix of forest projections of screw dislocations real(pReal), dimension(:,:,:), allocatable :: & @@ -253,9 +253,9 @@ module function plastic_nonlocal_init() result(myPlasticity) prm%nonSchmid_neg = prm%Schmid endif - prm%interactionSlipSlip = lattice_interaction_SlipBySlip(ini%N_sl, & - pl%get_asFloats('h_sl_sl'), & - phase%get_asString('lattice')) + prm%h_sl_sl = lattice_interaction_SlipBySlip(ini%N_sl, & + pl%get_asFloats('h_sl_sl'), & + phase%get_asString('lattice')) prm%forestProjection_edge = lattice_forestProjection_edge (ini%N_sl,phase%get_asString('lattice'),& phase%get_asFloat('c/a',defaultVal=0.0_pReal)) @@ -279,113 +279,113 @@ module function plastic_nonlocal_init() result(myPlasticity) enddo enddo - ini%rhoSglEdgePos0 = pl%get_asFloats('rho_u_ed_pos_0', requiredSize=size(ini%N_sl)) - ini%rhoSglEdgeNeg0 = pl%get_asFloats('rho_u_ed_neg_0', requiredSize=size(ini%N_sl)) - ini%rhoSglScrewPos0 = pl%get_asFloats('rho_u_sc_pos_0', requiredSize=size(ini%N_sl)) - ini%rhoSglScrewNeg0 = pl%get_asFloats('rho_u_sc_neg_0', requiredSize=size(ini%N_sl)) - ini%rhoDipEdge0 = pl%get_asFloats('rho_d_ed_0', requiredSize=size(ini%N_sl)) - ini%rhoDipScrew0 = pl%get_asFloats('rho_d_sc_0', requiredSize=size(ini%N_sl)) + ini%rho_u_ed_pos_0 = pl%get_asFloats('rho_u_ed_pos_0', requiredSize=size(ini%N_sl)) + ini%rho_u_ed_neg_0 = pl%get_asFloats('rho_u_ed_neg_0', requiredSize=size(ini%N_sl)) + ini%rho_u_sc_pos_0 = pl%get_asFloats('rho_u_sc_pos_0', requiredSize=size(ini%N_sl)) + ini%rho_u_sc_neg_0 = pl%get_asFloats('rho_u_sc_neg_0', requiredSize=size(ini%N_sl)) + ini%rho_d_ed_0 = pl%get_asFloats('rho_d_ed_0', requiredSize=size(ini%N_sl)) + ini%rho_d_sc_0 = pl%get_asFloats('rho_d_sc_0', requiredSize=size(ini%N_sl)) - prm%lambda0 = pl%get_asFloats('i_sl', requiredSize=size(ini%N_sl)) - prm%burgers = pl%get_asFloats('b_sl', requiredSize=size(ini%N_sl)) + prm%i_sl = pl%get_asFloats('i_sl', requiredSize=size(ini%N_sl)) + prm%b_sl = pl%get_asFloats('b_sl', requiredSize=size(ini%N_sl)) - prm%lambda0 = math_expand(prm%lambda0,ini%N_sl) - prm%burgers = math_expand(prm%burgers,ini%N_sl) + prm%i_sl = math_expand(prm%i_sl,ini%N_sl) + prm%b_sl = math_expand(prm%b_sl,ini%N_sl) - prm%minDipoleHeight_edge = pl%get_asFloats('d_ed', requiredSize=size(ini%N_sl)) - prm%minDipoleHeight_screw = pl%get_asFloats('d_sc', requiredSize=size(ini%N_sl)) - prm%minDipoleHeight_edge = math_expand(prm%minDipoleHeight_edge, ini%N_sl) - prm%minDipoleHeight_screw = math_expand(prm%minDipoleHeight_screw,ini%N_sl) + prm%d_ed = pl%get_asFloats('d_ed', requiredSize=size(ini%N_sl)) + prm%d_sc = pl%get_asFloats('d_sc', requiredSize=size(ini%N_sl)) + prm%d_ed = math_expand(prm%d_ed,ini%N_sl) + prm%d_sc = math_expand(prm%d_sc,ini%N_sl) allocate(prm%minDipoleHeight(prm%sum_N_sl,2)) - prm%minDipoleHeight(:,1) = prm%minDipoleHeight_edge - prm%minDipoleHeight(:,2) = prm%minDipoleHeight_screw + prm%minDipoleHeight(:,1) = prm%d_ed + prm%minDipoleHeight(:,2) = prm%d_sc - prm%peierlsstress_edge = pl%get_asFloats('tau_peierls_ed', requiredSize=size(ini%N_sl)) - prm%peierlsstress_screw = pl%get_asFloats('tau_peierls_sc', requiredSize=size(ini%N_sl)) - prm%peierlsstress_edge = math_expand(prm%peierlsstress_edge, ini%N_sl) - prm%peierlsstress_screw = math_expand(prm%peierlsstress_screw,ini%N_sl) + prm%tau_peierls_ed = pl%get_asFloats('tau_peierls_ed', requiredSize=size(ini%N_sl)) + prm%tau_peierls_sc = pl%get_asFloats('tau_peierls_sc', requiredSize=size(ini%N_sl)) + prm%tau_peierls_ed = math_expand(prm%tau_peierls_ed,ini%N_sl) + prm%tau_peierls_sc = math_expand(prm%tau_peierls_sc,ini%N_sl) allocate(prm%peierlsstress(prm%sum_N_sl,2)) - prm%peierlsstress(:,1) = prm%peierlsstress_edge - prm%peierlsstress(:,2) = prm%peierlsstress_screw + prm%peierlsstress(:,1) = prm%tau_peierls_ed + prm%peierlsstress(:,2) = prm%tau_peierls_sc - prm%significantRho = pl%get_asFloat('rho_significant') - prm%significantN = pl%get_asFloat('rho_num_significant', 0.0_pReal) - prm%CFLfactor = pl%get_asFloat('f_c',defaultVal=2.0_pReal) + prm%rho_significant = pl%get_asFloat('rho_significant') + prm%rho_num_significant = pl%get_asFloat('rho_num_significant', 0.0_pReal) + prm%f_c = pl%get_asFloat('f_c',defaultVal=2.0_pReal) - prm%atomicVolume = pl%get_asFloat('V_at') - prm%Dsd0 = pl%get_asFloat('D_0') !,'dsd0' - prm%selfDiffusionEnergy = pl%get_asFloat('Q_cl') !,'qsd' - prm%linetensionEffect = pl%get_asFloat('f_F') - prm%edgeJogFactor = pl%get_asFloat('f_ed') !,'edgejogs' - prm%doublekinkwidth = pl%get_asFloat('w') - prm%solidSolutionEnergy = pl%get_asFloat('Q_sol') - prm%solidSolutionSize = pl%get_asFloat('f_sol') - prm%solidSolutionConcentration = pl%get_asFloat('c_sol') + prm%V_at = pl%get_asFloat('V_at') + prm%D_0 = pl%get_asFloat('D_0') !,'dsd0' + prm%Q_cl = pl%get_asFloat('Q_cl') !,'qsd' + prm%f_F = pl%get_asFloat('f_F') + prm%f_ed = pl%get_asFloat('f_ed') !,'edgejogs' + prm%w = pl%get_asFloat('w') + prm%Q_sol = pl%get_asFloat('Q_sol') + prm%f_sol = pl%get_asFloat('f_sol') + prm%c_sol = pl%get_asFloat('c_sol') - prm%p = pl%get_asFloat('p_sl') - prm%q = pl%get_asFloat('q_sl') - prm%viscosity = pl%get_asFloat('eta') - prm%fattack = pl%get_asFloat('nu_a') + prm%p = pl%get_asFloat('p_sl') + prm%q = pl%get_asFloat('q_sl') + prm%eta = pl%get_asFloat('eta') + prm%nu_a = pl%get_asFloat('nu_a') ! ToDo: discuss logic - ini%rhoSglScatter = pl%get_asFloat('sigma_rho_u') - ini%rhoSglRandom = pl%get_asFloat('random_rho_u',defaultVal= 0.0_pReal) + ini%sigma_rho_u = pl%get_asFloat('sigma_rho_u') + ini%random_rho_u = pl%get_asFloat('random_rho_u',defaultVal= 0.0_pReal) if (pl%contains('random_rho_u')) & - ini%rhoSglRandomBinning = pl%get_asFloat('random_rho_u_binning',defaultVal=0.0_pReal) !ToDo: useful default? + ini%random_rho_u_binning = pl%get_asFloat('random_rho_u_binning',defaultVal=0.0_pReal) !ToDo: useful default? ! if (rhoSglRandom(instance) < 0.0_pReal) & ! if (rhoSglRandomBinning(instance) <= 0.0_pReal) & - prm%surfaceTransmissivity = pl%get_asFloat('chi_surface',defaultVal=1.0_pReal) - prm%grainboundaryTransmissivity = pl%get_asFloat('chi_GB', defaultVal=-1.0_pReal) - prm%fEdgeMultiplication = pl%get_asFloat('f_ed_mult') + prm%chi_surface = pl%get_asFloat('chi_surface',defaultVal=1.0_pReal) + prm%chi_GB = pl%get_asFloat('chi_GB', defaultVal=-1.0_pReal) + prm%f_ed_mult = pl%get_asFloat('f_ed_mult') prm%shortRangeStressCorrection = pl%get_asBool('short_range_stress_correction', defaultVal = .false.) !-------------------------------------------------------------------------------------------------- ! sanity checks - if (any(prm%burgers < 0.0_pReal)) extmsg = trim(extmsg)//' b_sl' - if (any(prm%lambda0 <= 0.0_pReal)) extmsg = trim(extmsg)//' i_sl' + if (any(prm%b_sl < 0.0_pReal)) extmsg = trim(extmsg)//' b_sl' + if (any(prm%i_sl <= 0.0_pReal)) extmsg = trim(extmsg)//' i_sl' - if (any(ini%rhoSglEdgePos0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_ed_pos_0' - if (any(ini%rhoSglEdgeNeg0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_ed_neg_0' - if (any(ini%rhoSglScrewPos0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_sc_pos_0' - if (any(ini%rhoSglScrewNeg0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_sc_neg_0' - if (any(ini%rhoDipEdge0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_d_ed_0' - if (any(ini%rhoDipScrew0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_d_sc_0' + if (any(ini%rho_u_ed_pos_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_ed_pos_0' + if (any(ini%rho_u_ed_neg_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_ed_neg_0' + if (any(ini%rho_u_sc_pos_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_sc_pos_0' + if (any(ini%rho_u_sc_neg_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_sc_neg_0' + if (any(ini%rho_d_ed_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_d_ed_0' + if (any(ini%rho_d_sc_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_d_sc_0' - if (any(prm%peierlsstress < 0.0_pReal)) extmsg = trim(extmsg)//' tau_peierls' - if (any(prm%minDipoleHeight < 0.0_pReal)) extmsg = trim(extmsg)//' d_ed or d_sc' + if (any(prm%peierlsstress < 0.0_pReal)) extmsg = trim(extmsg)//' tau_peierls' + if (any(prm%minDipoleHeight < 0.0_pReal)) extmsg = trim(extmsg)//' d_ed or d_sc' - if (prm%viscosity <= 0.0_pReal) extmsg = trim(extmsg)//' eta' - if (prm%selfDiffusionEnergy <= 0.0_pReal) extmsg = trim(extmsg)//' Q_cl' - if (prm%fattack <= 0.0_pReal) extmsg = trim(extmsg)//' nu_a' - if (prm%doublekinkwidth <= 0.0_pReal) extmsg = trim(extmsg)//' w' - if (prm%Dsd0 < 0.0_pReal) extmsg = trim(extmsg)//' D_0' - if (prm%atomicVolume <= 0.0_pReal) extmsg = trim(extmsg)//' V_at' ! ToDo: in disloTungsten, the atomic volume is given as a factor + if (prm%eta <= 0.0_pReal) extmsg = trim(extmsg)//' eta' + if (prm%Q_cl <= 0.0_pReal) extmsg = trim(extmsg)//' Q_cl' + if (prm%nu_a <= 0.0_pReal) extmsg = trim(extmsg)//' nu_a' + if (prm%w <= 0.0_pReal) extmsg = trim(extmsg)//' w' + if (prm%D_0 < 0.0_pReal) extmsg = trim(extmsg)//' D_0' + if (prm%V_at <= 0.0_pReal) extmsg = trim(extmsg)//' V_at' ! ToDo: in disloTungsten, the atomic volume is given as a factor - if (prm%significantN < 0.0_pReal) extmsg = trim(extmsg)//' rho_num_significant' - if (prm%significantrho < 0.0_pReal) extmsg = trim(extmsg)//' rho_significant' - if (prm%atol_rho < 0.0_pReal) extmsg = trim(extmsg)//' atol_rho' - if (prm%CFLfactor < 0.0_pReal) extmsg = trim(extmsg)//' f_c' + if (prm%rho_num_significant < 0.0_pReal) extmsg = trim(extmsg)//' rho_num_significant' + if (prm%rho_significant < 0.0_pReal) extmsg = trim(extmsg)//' rho_significant' + if (prm%atol_rho < 0.0_pReal) extmsg = trim(extmsg)//' atol_rho' + if (prm%f_c < 0.0_pReal) extmsg = trim(extmsg)//' f_c' - if (prm%p <= 0.0_pReal .or. prm%p > 1.0_pReal) extmsg = trim(extmsg)//' p_sl' - if (prm%q < 1.0_pReal .or. prm%q > 2.0_pReal) extmsg = trim(extmsg)//' q_sl' + if (prm%p <= 0.0_pReal .or. prm%p > 1.0_pReal) extmsg = trim(extmsg)//' p_sl' + if (prm%q < 1.0_pReal .or. prm%q > 2.0_pReal) extmsg = trim(extmsg)//' q_sl' - if (prm%linetensionEffect < 0.0_pReal .or. prm%linetensionEffect > 1.0_pReal) & + if (prm%f_F < 0.0_pReal .or. prm%f_F > 1.0_pReal) & extmsg = trim(extmsg)//' f_F' - if (prm%edgeJogFactor < 0.0_pReal .or. prm%edgeJogFactor > 1.0_pReal) & + if (prm%f_ed < 0.0_pReal .or. prm%f_ed > 1.0_pReal) & extmsg = trim(extmsg)//' f_ed' - if (prm%solidSolutionEnergy <= 0.0_pReal) extmsg = trim(extmsg)//' Q_sol' - if (prm%solidSolutionSize <= 0.0_pReal) extmsg = trim(extmsg)//' f_sol' - if (prm%solidSolutionConcentration <= 0.0_pReal) extmsg = trim(extmsg)//' c_sol' + if (prm%Q_sol <= 0.0_pReal) extmsg = trim(extmsg)//' Q_sol' + if (prm%f_sol <= 0.0_pReal) extmsg = trim(extmsg)//' f_sol' + if (prm%c_sol <= 0.0_pReal) extmsg = trim(extmsg)//' c_sol' - if (prm%grainboundaryTransmissivity > 1.0_pReal) extmsg = trim(extmsg)//' chi_GB' - if (prm%surfaceTransmissivity < 0.0_pReal .or. prm%surfaceTransmissivity > 1.0_pReal) & - extmsg = trim(extmsg)//' chi_surface' + if (prm%chi_GB > 1.0_pReal) extmsg = trim(extmsg)//' chi_GB' + if (prm%chi_surface < 0.0_pReal .or. prm%chi_surface > 1.0_pReal) & + extmsg = trim(extmsg)//' chi_surface' - if (prm%fEdgeMultiplication < 0.0_pReal .or. prm%fEdgeMultiplication > 1.0_pReal) & - extmsg = trim(extmsg)//' f_ed_mult' + if (prm%f_ed_mult < 0.0_pReal .or. prm%f_ed_mult > 1.0_pReal) & + extmsg = trim(extmsg)//' f_ed_mult' endif slipActive @@ -412,7 +412,7 @@ module function plastic_nonlocal_init() result(myPlasticity) call IO_error(212,ext_msg='IPneighborhood does not exist') - plasticState(p)%offsetDeltaState = 0 ! ToDo: state structure does not follow convention + plasticState(p)%offsetDeltaState = 0 ! ToDo: state structure does not follow convention st0%rho => plasticState(p)%state0 (0*prm%sum_N_sl+1:10*prm%sum_N_sl,:) stt%rho => plasticState(p)%state (0*prm%sum_N_sl+1:10*prm%sum_N_sl,:) @@ -620,16 +620,16 @@ module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) ! coefficients are corrected for the line tension effect ! (see Kubin,Devincre,Hoc; 2008; Modeling dislocation storage rates and mean free paths in face-centered cubic crystals) if (any(lattice_structure(material_phaseAt(1,el)) == [LATTICE_bcc_ID,LATTICE_fcc_ID])) then - myInteractionMatrix = prm%interactionSlipSlip & - * spread(( 1.0_pReal - prm%linetensionEffect & - + prm%linetensionEffect & - * log(0.35_pReal * prm%burgers * sqrt(max(stt%rho_forest(:,of),prm%significantRho))) & - / log(0.35_pReal * prm%burgers * 1e6_pReal))** 2.0_pReal,2,prm%sum_N_sl) + myInteractionMatrix = prm%h_sl_sl & + * spread(( 1.0_pReal - prm%f_F & + + prm%f_F & + * log(0.35_pReal * prm%b_sl * sqrt(max(stt%rho_forest(:,of),prm%rho_significant))) & + / log(0.35_pReal * prm%b_sl * 1e6_pReal))** 2.0_pReal,2,prm%sum_N_sl) else - myInteractionMatrix = prm%interactionSlipSlip + myInteractionMatrix = prm%h_sl_sl endif - dst%tau_pass(:,of) = prm%mu * prm%burgers & + dst%tau_pass(:,of) = prm%mu * prm%b_sl & * sqrt(matmul(myInteractionMatrix,sum(abs(rho),2))) !*** calculate the dislocation stress of the neighboring excess dislocation densities @@ -731,7 +731,7 @@ module subroutine plastic_nonlocal_dependentState(F, Fp, instance, of, ip, el) where(rhoTotal > 0.0_pReal) rhoExcessGradient_over_rho = rhoExcessGradient / rhoTotal ! ... gives the local stress correction when multiplied with a factor - dst%tau_back(s,of) = - prm%mu * prm%burgers(s) / (2.0_pReal * PI) & + dst%tau_back(s,of) = - prm%mu * prm%b_sl(s) / (2.0_pReal * PI) & * ( rhoExcessGradient_over_rho(1) / (1.0_pReal - prm%nu) & + rhoExcessGradient_over_rho(2)) enddo @@ -841,7 +841,7 @@ module subroutine plastic_nonlocal_LpAndItsTangent(Lp,dLp_dMp, & forall (s = 1:ns, t = 5:8, rhoSgl(s,t) * v(s,t-4) < 0.0_pReal) & rhoSgl(s,t-4) = rhoSgl(s,t-4) + abs(rhoSgl(s,t)) - gdotTotal = sum(rhoSgl(:,1:4) * v, 2) * prm%burgers + gdotTotal = sum(rhoSgl(:,1:4) * v, 2) * prm%b_sl Lp = 0.0_pReal dLp_dMp = 0.0_pReal @@ -850,10 +850,10 @@ module subroutine plastic_nonlocal_LpAndItsTangent(Lp,dLp_dMp, & forall (i=1:3,j=1:3,k=1:3,l=1:3) & dLp_dMp(i,j,k,l) = dLp_dMp(i,j,k,l) & + prm%Schmid(i,j,s) * prm%Schmid(k,l,s) & - * sum(rhoSgl(s,1:4) * dv_dtau(s,1:4)) * prm%burgers(s) & + * sum(rhoSgl(s,1:4) * dv_dtau(s,1:4)) * prm%b_sl(s) & + prm%Schmid(i,j,s) & * ( prm%nonSchmid_pos(k,l,s) * rhoSgl(s,3) * dv_dtauNS(s,3) & - - prm%nonSchmid_neg(k,l,s) * rhoSgl(s,4) * dv_dtauNS(s,4)) * prm%burgers(s) + - prm%nonSchmid_neg(k,l,s) * rhoSgl(s,4) * dv_dtauNS(s,4)) * prm%b_sl(s) enddo end associate @@ -929,8 +929,8 @@ module subroutine plastic_nonlocal_deltaState(Mp,instance,of,ip,el) if (abs(tau(s)) < 1.0e-15_pReal) tau(s) = 1.0e-15_pReal enddo - dUpper(:,1) = prm%mu * prm%burgers/(8.0_pReal * PI * (1.0_pReal - prm%nu) * abs(tau)) - dUpper(:,2) = prm%mu * prm%burgers/(4.0_pReal * PI * abs(tau)) + dUpper(:,1) = prm%mu * prm%b_sl/(8.0_pReal * PI * (1.0_pReal - prm%nu) * abs(tau)) + dUpper(:,2) = prm%mu * prm%b_sl/(4.0_pReal * PI * abs(tau)) where(dNeq0(sqrt(sum(abs(rho(:,edg)),2)))) & dUpper(:,1) = min(1.0_pReal/sqrt(sum(abs(rho(:,edg)),2)),dUpper(:,1)) @@ -1041,7 +1041,7 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & my_rhoSgl0 = rho0(:,sgl) forall (s = 1:ns, t = 1:4) v(s,t) = plasticState(ph)%state(iV(s,t,instance),of) - gdot = rhoSgl(:,1:4) * v * spread(prm%burgers,2,4) + gdot = rhoSgl(:,1:4) * v * spread(prm%b_sl,2,4) #ifdef DEBUG if (debugConstitutive%basic & @@ -1060,8 +1060,8 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & enddo dLower = prm%minDipoleHeight - dUpper(:,1) = prm%mu * prm%burgers/(8.0_pReal * PI * (1.0_pReal - prm%nu) * abs(tau)) - dUpper(:,2) = prm%mu * prm%burgers/(4.0_pReal * PI * abs(tau)) + dUpper(:,1) = prm%mu * prm%b_sl/(8.0_pReal * PI * (1.0_pReal - prm%nu) * abs(tau)) + dUpper(:,2) = prm%mu * prm%b_sl/(4.0_pReal * PI * abs(tau)) where(dNeq0(sqrt(sum(abs(rho(:,edg)),2)))) & dUpper(:,1) = min(1.0_pReal/sqrt(sum(abs(rho(:,edg)),2)),dUpper(:,1)) @@ -1075,18 +1075,18 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & rhoDotMultiplication = 0.0_pReal isBCC: if (lattice_structure(ph) == LATTICE_bcc_ID) then forall (s = 1:ns, sum(abs(v(s,1:4))) > 0.0_pReal) - rhoDotMultiplication(s,1:2) = sum(abs(gdot(s,3:4))) / prm%burgers(s) & ! assuming double-cross-slip of screws to be decisive for multiplication - * sqrt(stt%rho_forest(s,of)) / prm%lambda0(s) ! & ! mean free path + rhoDotMultiplication(s,1:2) = sum(abs(gdot(s,3:4))) / prm%b_sl(s) & ! assuming double-cross-slip of screws to be decisive for multiplication + * sqrt(stt%rho_forest(s,of)) / prm%i_sl(s) ! & ! mean free path ! * 2.0_pReal * sum(abs(v(s,3:4))) / sum(abs(v(s,1:4))) ! ratio of screw to overall velocity determines edge generation - rhoDotMultiplication(s,3:4) = sum(abs(gdot(s,3:4))) /prm%burgers(s) & ! assuming double-cross-slip of screws to be decisive for multiplication - * sqrt(stt%rho_forest(s,of)) / prm%lambda0(s) ! & ! mean free path + rhoDotMultiplication(s,3:4) = sum(abs(gdot(s,3:4))) /prm%b_sl(s) & ! assuming double-cross-slip of screws to be decisive for multiplication + * sqrt(stt%rho_forest(s,of)) / prm%i_sl(s) ! & ! mean free path ! * 2.0_pReal * sum(abs(v(s,1:2))) / sum(abs(v(s,1:4))) ! ratio of edge to overall velocity determines screw generation endforall else isBCC rhoDotMultiplication(:,1:4) = spread( & - (sum(abs(gdot(:,1:2)),2) * prm%fEdgeMultiplication + sum(abs(gdot(:,3:4)),2)) & - * sqrt(stt%rho_forest(:,of)) / prm%lambda0 / prm%burgers, 2, 4) + (sum(abs(gdot(:,1:2)),2) * prm%f_ed_mult + sum(abs(gdot(:,3:4)),2)) & + * sqrt(stt%rho_forest(:,of)) / prm%i_sl / prm%b_sl, 2, 4) endif isBCC forall (s = 1:ns, t = 1:4) v0(s,t) = plasticState(ph)%state0(iV(s,t,instance),of) @@ -1097,20 +1097,20 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & !*** formation by glide do c = 1,2 - rhoDotSingle2DipoleGlide(:,2*c-1) = -2.0_pReal * dUpper(:,c) / prm%burgers & + rhoDotSingle2DipoleGlide(:,2*c-1) = -2.0_pReal * dUpper(:,c) / prm%b_sl & * ( rhoSgl(:,2*c-1) * abs(gdot(:,2*c)) & ! negative mobile --> positive mobile + rhoSgl(:,2*c) * abs(gdot(:,2*c-1)) & ! positive mobile --> negative mobile + abs(rhoSgl(:,2*c+4)) * abs(gdot(:,2*c-1))) ! positive mobile --> negative immobile - rhoDotSingle2DipoleGlide(:,2*c) = -2.0_pReal * dUpper(:,c) / prm%burgers & + rhoDotSingle2DipoleGlide(:,2*c) = -2.0_pReal * dUpper(:,c) / prm%b_sl & * ( rhoSgl(:,2*c-1) * abs(gdot(:,2*c)) & ! negative mobile --> positive mobile + rhoSgl(:,2*c) * abs(gdot(:,2*c-1)) & ! positive mobile --> negative mobile + abs(rhoSgl(:,2*c+3)) * abs(gdot(:,2*c))) ! negative mobile --> positive immobile - rhoDotSingle2DipoleGlide(:,2*c+3) = -2.0_pReal * dUpper(:,c) / prm%burgers & + rhoDotSingle2DipoleGlide(:,2*c+3) = -2.0_pReal * dUpper(:,c) / prm%b_sl & * rhoSgl(:,2*c+3) * abs(gdot(:,2*c)) ! negative mobile --> positive immobile - rhoDotSingle2DipoleGlide(:,2*c+4) = -2.0_pReal * dUpper(:,c) / prm%burgers & + rhoDotSingle2DipoleGlide(:,2*c+4) = -2.0_pReal * dUpper(:,c) / prm%b_sl & * rhoSgl(:,2*c+4) * abs(gdot(:,2*c-1)) ! positive mobile --> negative immobile rhoDotSingle2DipoleGlide(:,c+8) = abs(rhoDotSingle2DipoleGlide(:,2*c+3)) & @@ -1123,27 +1123,27 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & !*** athermal annihilation rhoDotAthermalAnnihilation = 0.0_pReal forall (c=1:2) & - rhoDotAthermalAnnihilation(:,c+8) = -2.0_pReal * dLower(:,c) / prm%burgers & - * ( 2.0_pReal * (rhoSgl(:,2*c-1) * abs(gdot(:,2*c)) + rhoSgl(:,2*c) * abs(gdot(:,2*c-1))) & ! was single hitting single + rhoDotAthermalAnnihilation(:,c+8) = -2.0_pReal * dLower(:,c) / prm%b_sl & + * ( 2.0_pReal * (rhoSgl(:,2*c-1) * abs(gdot(:,2*c)) + rhoSgl(:,2*c) * abs(gdot(:,2*c-1))) & ! was single hitting single + 2.0_pReal * (abs(rhoSgl(:,2*c+3)) * abs(gdot(:,2*c)) + abs(rhoSgl(:,2*c+4)) * abs(gdot(:,2*c-1))) & ! was single hitting immobile single or was immobile single hit by single - + rhoDip(:,c) * (abs(gdot(:,2*c-1)) + abs(gdot(:,2*c)))) ! single knocks dipole constituent + + rhoDip(:,c) * (abs(gdot(:,2*c-1)) + abs(gdot(:,2*c)))) ! single knocks dipole constituent ! annihilated screw dipoles leave edge jogs behind on the colinear system if (lattice_structure(ph) == LATTICE_fcc_ID) & forall (s = 1:ns, prm%colinearSystem(s) > 0) & rhoDotAthermalAnnihilation(prm%colinearSystem(s),1:2) = - rhoDotAthermalAnnihilation(s,10) & - * 0.25_pReal * sqrt(stt%rho_forest(s,of)) * (dUpper(s,2) + dLower(s,2)) * prm%edgeJogFactor + * 0.25_pReal * sqrt(stt%rho_forest(s,of)) * (dUpper(s,2) + dLower(s,2)) * prm%f_ed !*** thermally activated annihilation of edge dipoles by climb rhoDotThermalAnnihilation = 0.0_pReal - selfDiffusion = prm%Dsd0 * exp(-prm%selfDiffusionEnergy / (kB * Temperature)) - vClimb = prm%atomicVolume * selfDiffusion * prm%mu & + selfDiffusion = prm%D_0 * exp(-prm%Q_cl / (kB * Temperature)) + vClimb = prm%V_at * selfDiffusion * prm%mu & / ( kB * Temperature * PI * (1.0_pReal-prm%nu) * (dUpper(:,1) + dLower(:,1))) forall (s = 1:ns, dUpper(s,1) > dLower(s,1)) & rhoDotThermalAnnihilation(s,9) = max(- 4.0_pReal * rhoDip(s,1) * vClimb(s) / (dUpper(s,1) - dLower(s,1)), & - rhoDip(s,1) / timestep - rhoDotAthermalAnnihilation(s,9) & - - rhoDotSingle2DipoleGlide(s,9)) ! make sure that we do not annihilate more dipoles than we have + - rhoDotSingle2DipoleGlide(s,9)) ! make sure that we do not annihilate more dipoles than we have rhoDot = rhoDotFlux(F,Fp,timestep, instance,of,ip,el) & + rhoDotMultiplication & @@ -1252,7 +1252,7 @@ function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) my_rhoSgl0 = rho0(:,sgl) forall (s = 1:ns, t = 1:4) v(s,t) = plasticState(ph)%state(iV(s,t,instance),of) !ToDo: MD: I think we should use state0 here - gdot = rhoSgl(:,1:4) * v * spread(prm%burgers,2,4) + gdot = rhoSgl(:,1:4) * v * spread(prm%b_sl,2,4) forall (s = 1:ns, t = 1:4) v0(s,t) = plasticState(ph)%state0(iV(s,t,instance),of) @@ -1264,14 +1264,14 @@ function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) !*** check CFL (Courant-Friedrichs-Lewy) condition for flux if (any( abs(gdot) > 0.0_pReal & ! any active slip system ... - .and. prm%CFLfactor * abs(v0) * timestep & + .and. prm%f_c * abs(v0) * timestep & > IPvolume(ip,el) / maxval(IParea(:,ip,el)))) then ! ...with velocity above critical value (we use the reference volume and area for simplicity here) #ifdef DEBUG if (debugConstitutive%extensive) then write(6,'(a,i5,a,i2)') '<< CONST >> CFL condition not fullfilled at el ',el,' ip ',ip write(6,'(a,e10.3,a,e10.3)') '<< CONST >> velocity is at ', & maxval(abs(v0), abs(gdot) > 0.0_pReal & - .and. prm%CFLfactor * abs(v0) * timestep & + .and. prm%f_c * abs(v0) * timestep & > IPvolume(ip,el) / maxval(IParea(:,ip,el))), & ' at a timestep of ',timestep print*, '<< CONST >> enforcing cutback !!!' @@ -1334,8 +1334,8 @@ function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) neighbor_rhoSgl0(s,t) = max(plasticState(np)%state0(iRhoU(s,t,neighbor_instance),no),0.0_pReal) endforall - where (neighbor_rhoSgl0 * IPvolume(neighbor_ip,neighbor_el) ** 0.667_pReal < prm%significantN & - .or. neighbor_rhoSgl0 < prm%significantRho) & + where (neighbor_rhoSgl0 * IPvolume(neighbor_ip,neighbor_el) ** 0.667_pReal < prm%rho_num_significant & + .or. neighbor_rhoSgl0 < prm%rho_significant) & neighbor_rhoSgl0 = 0.0_pReal normal_neighbor2me_defConf = math_det33(Favg) * matmul(math_inv33(transpose(Favg)), & IPareaNormal(1:3,neighbor_n,neighbor_ip,neighbor_el)) ! normal of the interface in (average) deformed configuration (pointing neighbor => me) @@ -1460,7 +1460,7 @@ module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e) if (neighbor_e <= 0 .or. neighbor_i <= 0) then !* FREE SURFACE !* Set surface transmissivity to the value specified in the material.config - forall(s1 = 1:ns) my_compatibility(:,s1,s1,n) = sqrt(prm%surfaceTransmissivity) + forall(s1 = 1:ns) my_compatibility(:,s1,s1,n) = sqrt(prm%chi_surface) elseif (neighbor_phase /= ph) then !* PHASE BOUNDARY !* If we encounter a different nonlocal phase at the neighbor, @@ -1469,13 +1469,13 @@ module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e) !* we do not consider this to be a phase boundary, so completely compatible. if (.not. phase_localPlasticity(neighbor_phase) .and. .not. phase_localPlasticity(ph)) & forall(s1 = 1:ns) my_compatibility(:,s1,s1,n) = 0.0_pReal - elseif (prm%grainboundaryTransmissivity >= 0.0_pReal) then + elseif (prm%chi_GB >= 0.0_pReal) then !* GRAIN BOUNDARY ! !* fixed transmissivity for adjacent ips with different texture (only if explicitly given in material.config) if (any(dNeq(material_orientation0(1,i,e)%asQuaternion(), & material_orientation0(1,neighbor_i,neighbor_e)%asQuaternion())) .and. & (.not. phase_localPlasticity(neighbor_phase))) & - forall(s1 = 1:ns) my_compatibility(:,s1,s1,n) = sqrt(prm%grainboundaryTransmissivity) + forall(s1 = 1:ns) my_compatibility(:,s1,s1,n) = sqrt(prm%chi_GB) else !* GRAIN BOUNDARY ? !* Compatibility defined by relative orientation of slip systems: @@ -1631,7 +1631,7 @@ subroutine stateInit(ini,phase,NipcMyPhase,instance) associate(stt => state(instance)) - if (ini%rhoSglRandom > 0.0_pReal) then ! randomly distribute dislocation segments on random slip system and of random type in the volume + if (ini%random_rho_u > 0.0_pReal) then ! randomly distribute dislocation segments on random slip system and of random type in the volume do e = 1,discretization_nElem do i = 1,discretization_nIP if (material_phaseAt(1,e) == phase) volume(material_phasememberAt(1,i,e)) = IPvolume(i,e) @@ -1639,11 +1639,11 @@ subroutine stateInit(ini,phase,NipcMyPhase,instance) enddo totalVolume = sum(volume) minimumIPVolume = minval(volume) - densityBinning = ini%rhoSglRandomBinning / minimumIpVolume ** (2.0_pReal / 3.0_pReal) + densityBinning = ini%random_rho_u_binning / minimumIpVolume ** (2.0_pReal / 3.0_pReal) ! fill random material points with dislocation segments until the desired overall density is reached meanDensity = 0.0_pReal - do while(meanDensity < ini%rhoSglRandom) + do while(meanDensity < ini%random_rho_u) call random_number(rnd) phasemember = nint(rnd(1)*real(NipcMyPhase,pReal) + 0.5_pReal) s = nint(rnd(2)*real(sum(ini%N_sl),pReal)*4.0_pReal + 0.5_pReal) @@ -1656,15 +1656,15 @@ subroutine stateInit(ini,phase,NipcMyPhase,instance) from = 1 + sum(ini%N_sl(1:f-1)) upto = sum(ini%N_sl(1:f)) do s = from,upto - noise = [math_sampleGaussVar(0.0_pReal, ini%rhoSglScatter), & - math_sampleGaussVar(0.0_pReal, ini%rhoSglScatter)] - stt%rho_sgl_mob_edg_pos(s,e) = ini%rhoSglEdgePos0(f) + noise(1) - stt%rho_sgl_mob_edg_neg(s,e) = ini%rhoSglEdgeNeg0(f) + noise(1) - stt%rho_sgl_mob_scr_pos(s,e) = ini%rhoSglScrewPos0(f) + noise(2) - stt%rho_sgl_mob_scr_neg(s,e) = ini%rhoSglScrewNeg0(f) + noise(2) + noise = [math_sampleGaussVar(0.0_pReal, ini%sigma_rho_u), & + math_sampleGaussVar(0.0_pReal, ini%sigma_rho_u)] + stt%rho_sgl_mob_edg_pos(s,e) = ini%rho_u_ed_pos_0(f) + noise(1) + stt%rho_sgl_mob_edg_neg(s,e) = ini%rho_u_ed_neg_0(f) + noise(1) + stt%rho_sgl_mob_scr_pos(s,e) = ini%rho_u_sc_pos_0(f) + noise(2) + stt%rho_sgl_mob_scr_neg(s,e) = ini%rho_u_sc_neg_0(f) + noise(2) enddo - stt%rho_dip_edg(from:upto,e) = ini%rhoDipEdge0(f) - stt%rho_dip_scr(from:upto,e) = ini%rhoDipScrew0(f) + stt%rho_dip_edg(from:upto,e) = ini%rho_d_ed_0(f) + stt%rho_dip_scr(from:upto,e) = ini%rho_d_sc_0(f) enddo enddo endif @@ -1732,14 +1732,14 @@ pure subroutine kinetics(v, dv_dtau, dv_dtauNS, tau, tauNS, tauThreshold, c, Tem !* Effective stress includes non Schmid constributions !* The derivative only gives absolute values; the correct sign is taken care of in the formula for the derivative of the velocity tauEff = max(0.0_pReal, abs(tauNS(s)) - tauThreshold(s)) ! ensure that the effective stress is positive - meanfreepath_P = prm%burgers(s) - jumpWidth_P = prm%burgers(s) - activationLength_P = prm%doublekinkwidth *prm%burgers(s) - activationVolume_P = activationLength_P * jumpWidth_P * prm%burgers(s) + meanfreepath_P = prm%b_sl(s) + jumpWidth_P = prm%b_sl(s) + activationLength_P = prm%w *prm%b_sl(s) + activationVolume_P = activationLength_P * jumpWidth_P * prm%b_sl(s) criticalStress_P = prm%peierlsStress(s,c) activationEnergy_P = criticalStress_P * activationVolume_P tauRel_P = min(1.0_pReal, tauEff / criticalStress_P) ! ensure that the activation probability cannot become greater than one - tPeierls = 1.0_pReal / prm%fattack & + tPeierls = 1.0_pReal / prm%nu_a & * exp(activationEnergy_P / (kB * Temperature) & * (1.0_pReal - tauRel_P**prm%p)**prm%q) if (tauEff < criticalStress_P) then @@ -1752,14 +1752,14 @@ pure subroutine kinetics(v, dv_dtau, dv_dtauNS, tau, tauNS, tauThreshold, c, Tem !* Contribution from solid solution strengthening !* The derivative only gives absolute values; the correct sign is taken care of in the formula for the derivative of the velocity tauEff = abs(tau(s)) - tauThreshold(s) - meanfreepath_S = prm%burgers(s) / sqrt(prm%solidSolutionConcentration) - jumpWidth_S = prm%solidSolutionSize * prm%burgers(s) - activationLength_S = prm%burgers(s) / sqrt(prm%solidSolutionConcentration) - activationVolume_S = activationLength_S * jumpWidth_S * prm%burgers(s) - activationEnergy_S = prm%solidSolutionEnergy + meanfreepath_S = prm%b_sl(s) / sqrt(prm%c_sol) + jumpWidth_S = prm%f_sol * prm%b_sl(s) + activationLength_S = prm%b_sl(s) / sqrt(prm%c_sol) + activationVolume_S = activationLength_S * jumpWidth_S * prm%b_sl(s) + activationEnergy_S = prm%Q_sol criticalStress_S = activationEnergy_S / activationVolume_S tauRel_S = min(1.0_pReal, tauEff / criticalStress_S) ! ensure that the activation probability cannot become greater than one - tSolidSolution = 1.0_pReal / prm%fattack & + tSolidSolution = 1.0_pReal / prm%nu_a & * exp(activationEnergy_S / (kB * Temperature)* (1.0_pReal - tauRel_S**prm%p)**prm%q) if (tauEff < criticalStress_S) then dtSolidSolution_dtau = tSolidSolution * prm%p * prm%q * activationVolume_S / (kB * Temperature) & @@ -1770,7 +1770,7 @@ pure subroutine kinetics(v, dv_dtau, dv_dtauNS, tau, tauNS, tauThreshold, c, Tem !* viscous glide velocity tauEff = abs(tau(s)) - tauThreshold(s) - mobility = prm%burgers(s) / prm%viscosity + mobility = prm%b_sl(s) / prm%eta vViscous = mobility * tauEff !* Mean velocity results from waiting time at peierls barriers and solid solution obstacles with respective meanfreepath of @@ -1805,7 +1805,7 @@ pure function getRho(instance,of,ip,el) getRho(:,mob) = max(getRho(:,mob),0.0_pReal) getRho(:,dip) = max(getRho(:,dip),0.0_pReal) - where(abs(getRho) < max(prm%significantN/IPvolume(ip,el)**(2.0_pReal/3.0_pReal),prm%significantRho)) & + where(abs(getRho) < max(prm%rho_num_significant/IPvolume(ip,el)**(2.0_pReal/3.0_pReal),prm%rho_significant)) & getRho = 0.0_pReal end associate @@ -1830,7 +1830,7 @@ pure function getRho0(instance,of,ip,el) getRho0(:,mob) = max(getRho0(:,mob),0.0_pReal) getRho0(:,dip) = max(getRho0(:,dip),0.0_pReal) - where(abs(getRho0) < max(prm%significantN/IPvolume(ip,el)**(2.0_pReal/3.0_pReal),prm%significantRho)) & + where(abs(getRho0) < max(prm%rho_num_significant/IPvolume(ip,el)**(2.0_pReal/3.0_pReal),prm%rho_significant)) & getRho0 = 0.0_pReal end associate From df6db037f8a81825a5ed349b28fd5f0841e91014 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 22 Sep 2020 19:10:03 +0200 Subject: [PATCH 708/958] cleaned tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 69371a32f..3444f5334 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 69371a32fc375343a92f9f70c5e263502bb0a80b +Subproject commit 3444f5334c1c6c05b781e0e25bbcb658d9ce7c5d From 881167a37cf06785213d62a9fcd512368f920718 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 22 Sep 2020 19:26:39 +0200 Subject: [PATCH 709/958] [skip ci] small whitespace adjustments --- src/constitutive_plastic_kinehardening.f90 | 4 +- src/constitutive_plastic_nonlocal.f90 | 44 +++++++++++----------- src/constitutive_plastic_phenopowerlaw.f90 | 26 ++++++------- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index 9783f27ad..813b5554f 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -442,14 +442,14 @@ pure subroutine kinetics(Mp,instance,of, & enddo where(dNeq0(tau_pos)) - gdot_pos = prm%dot_gamma_0 * merge(0.5_pReal,1.0_pReal, prm%nonSchmidActive) & ! 1/2 if non-Schmid active + gdot_pos = prm%dot_gamma_0 * merge(0.5_pReal,1.0_pReal, prm%nonSchmidActive) & ! 1/2 if non-Schmid active * sign(abs(tau_pos/stt%crss(:,of))**prm%n, tau_pos) else where gdot_pos = 0.0_pReal end where where(dNeq0(tau_neg)) - gdot_neg = prm%dot_gamma_0 * 0.5_pReal & ! only used if non-Schmid active, always 1/2 + gdot_neg = prm%dot_gamma_0 * 0.5_pReal & ! only used if non-Schmid active, always 1/2 * sign(abs(tau_neg/stt%crss(:,of))**prm%n, tau_neg) else where gdot_neg = 0.0_pReal diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index b4113a5c6..6d03f8dae 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -313,8 +313,8 @@ module function plastic_nonlocal_init() result(myPlasticity) prm%f_c = pl%get_asFloat('f_c',defaultVal=2.0_pReal) prm%V_at = pl%get_asFloat('V_at') - prm%D_0 = pl%get_asFloat('D_0') !,'dsd0' - prm%Q_cl = pl%get_asFloat('Q_cl') !,'qsd' + prm%D_0 = pl%get_asFloat('D_0') + prm%Q_cl = pl%get_asFloat('Q_cl') prm%f_F = pl%get_asFloat('f_F') prm%f_ed = pl%get_asFloat('f_ed') !,'edgejogs' prm%w = pl%get_asFloat('w') @@ -343,30 +343,30 @@ module function plastic_nonlocal_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! sanity checks - if (any(prm%b_sl < 0.0_pReal)) extmsg = trim(extmsg)//' b_sl' - if (any(prm%i_sl <= 0.0_pReal)) extmsg = trim(extmsg)//' i_sl' + if (any(prm%b_sl < 0.0_pReal)) extmsg = trim(extmsg)//' b_sl' + if (any(prm%i_sl <= 0.0_pReal)) extmsg = trim(extmsg)//' i_sl' - if (any(ini%rho_u_ed_pos_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_ed_pos_0' - if (any(ini%rho_u_ed_neg_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_ed_neg_0' - if (any(ini%rho_u_sc_pos_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_sc_pos_0' - if (any(ini%rho_u_sc_neg_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_sc_neg_0' - if (any(ini%rho_d_ed_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_d_ed_0' - if (any(ini%rho_d_sc_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_d_sc_0' + if (any(ini%rho_u_ed_pos_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_ed_pos_0' + if (any(ini%rho_u_ed_neg_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_ed_neg_0' + if (any(ini%rho_u_sc_pos_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_sc_pos_0' + if (any(ini%rho_u_sc_neg_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_u_sc_neg_0' + if (any(ini%rho_d_ed_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_d_ed_0' + if (any(ini%rho_d_sc_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_d_sc_0' - if (any(prm%peierlsstress < 0.0_pReal)) extmsg = trim(extmsg)//' tau_peierls' - if (any(prm%minDipoleHeight < 0.0_pReal)) extmsg = trim(extmsg)//' d_ed or d_sc' + if (any(prm%peierlsstress < 0.0_pReal)) extmsg = trim(extmsg)//' tau_peierls' + if (any(prm%minDipoleHeight < 0.0_pReal)) extmsg = trim(extmsg)//' d_ed or d_sc' - if (prm%eta <= 0.0_pReal) extmsg = trim(extmsg)//' eta' - if (prm%Q_cl <= 0.0_pReal) extmsg = trim(extmsg)//' Q_cl' - if (prm%nu_a <= 0.0_pReal) extmsg = trim(extmsg)//' nu_a' - if (prm%w <= 0.0_pReal) extmsg = trim(extmsg)//' w' - if (prm%D_0 < 0.0_pReal) extmsg = trim(extmsg)//' D_0' - if (prm%V_at <= 0.0_pReal) extmsg = trim(extmsg)//' V_at' ! ToDo: in disloTungsten, the atomic volume is given as a factor + if (prm%eta <= 0.0_pReal) extmsg = trim(extmsg)//' eta' + if (prm%Q_cl <= 0.0_pReal) extmsg = trim(extmsg)//' Q_cl' + if (prm%nu_a <= 0.0_pReal) extmsg = trim(extmsg)//' nu_a' + if (prm%w <= 0.0_pReal) extmsg = trim(extmsg)//' w' + if (prm%D_0 < 0.0_pReal) extmsg = trim(extmsg)//' D_0' + if (prm%V_at <= 0.0_pReal) extmsg = trim(extmsg)//' V_at' ! ToDo: in disloTungsten, the atomic volume is given as a factor - if (prm%rho_num_significant < 0.0_pReal) extmsg = trim(extmsg)//' rho_num_significant' - if (prm%rho_significant < 0.0_pReal) extmsg = trim(extmsg)//' rho_significant' - if (prm%atol_rho < 0.0_pReal) extmsg = trim(extmsg)//' atol_rho' - if (prm%f_c < 0.0_pReal) extmsg = trim(extmsg)//' f_c' + if (prm%rho_num_significant < 0.0_pReal) extmsg = trim(extmsg)//' rho_num_significant' + if (prm%rho_significant < 0.0_pReal) extmsg = trim(extmsg)//' rho_significant' + if (prm%atol_rho < 0.0_pReal) extmsg = trim(extmsg)//' atol_rho' + if (prm%f_c < 0.0_pReal) extmsg = trim(extmsg)//' f_c' if (prm%p <= 0.0_pReal .or. prm%p > 1.0_pReal) extmsg = trim(extmsg)//' p_sl' if (prm%q < 1.0_pReal .or. prm%q > 2.0_pReal) extmsg = trim(extmsg)//' q_sl' diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index 669778007..25a34997b 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -8,19 +8,19 @@ submodule(constitutive:constitutive_plastic) plastic_phenopowerlaw type :: tParameters real(pReal) :: & - dot_gamma_0_sl = 1.0_pReal, & !< reference shear strain rate for slip - dot_gamma_0_tw = 1.0_pReal, & !< reference shear strain rate for twin - n_sl = 1.0_pReal, & !< stress exponent for slip - n_tw = 1.0_pReal, & !< stress exponent for twin - f_sl_sat_tw = 1.0_pReal, & !< push-up factor for slip saturation due to twinning - c_1 = 1.0_pReal, & - c_2 = 1.0_pReal, & - c_3 = 1.0_pReal, & - c_4 = 1.0_pReal, & - h_0_sl_sl = 1.0_pReal, & !< reference hardening slip - slip - h_0_tw_sl = 1.0_pReal, & !< reference hardening twin - slip - h_0_tw_tw = 1.0_pReal, & !< reference hardening twin - twin - a_sl = 1.0_pReal + dot_gamma_0_sl = 1.0_pReal, & !< reference shear strain rate for slip + dot_gamma_0_tw = 1.0_pReal, & !< reference shear strain rate for twin + n_sl = 1.0_pReal, & !< stress exponent for slip + n_tw = 1.0_pReal, & !< stress exponent for twin + f_sl_sat_tw = 1.0_pReal, & !< push-up factor for slip saturation due to twinning + c_1 = 1.0_pReal, & + c_2 = 1.0_pReal, & + c_3 = 1.0_pReal, & + c_4 = 1.0_pReal, & + h_0_sl_sl = 1.0_pReal, & !< reference hardening slip - slip + h_0_tw_sl = 1.0_pReal, & !< reference hardening twin - slip + h_0_tw_tw = 1.0_pReal, & !< reference hardening twin - twin + a_sl = 1.0_pReal real(pReal), allocatable, dimension(:) :: & xi_inf_sl, & !< maximum critical shear stress for slip h_int, & !< per family hardening activity (optional) From 790d3a742eb98f270a5777ab1fc6972ecde78af6 Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 22 Sep 2020 20:32:28 +0200 Subject: [PATCH 710/958] [skip ci] updated version information after successful test of v3.0.0-alpha-275-g7801f527f --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index e073be898..a05ebe3cf 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-245-g5ef761fb9 +v3.0.0-alpha-275-g7801f527f From 05835bacd3bc8ccd4831f8b4d0534658c0fd4100 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 22 Sep 2020 14:47:08 -0400 Subject: [PATCH 711/958] removed set_X(), duplicate(), and .homogenization; renamed ".microstructure" to ".materials" --- python/damask/_geom.py | 492 ++++++++++++++------------------------ python/tests/test_Geom.py | 144 +++++------ 2 files changed, 246 insertions(+), 390 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 7e6b6a1d3..b7a7928ca 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -17,29 +17,44 @@ from . import grid_filters class Geom: """Geometry definition for grid solvers.""" - def __init__(self,microstructure,size,origin=[0.0,0.0,0.0],homogenization=1,comments=[]): + def __init__(self,materials,size,origin=[0.0,0.0,0.0],comments=[]): """ - New geometry definition from array of microstructures and size. + New geometry definition from array of materials, size, and origin. Parameters ---------- - microstructure : numpy.ndarray - Microstructure array (3D) + materials : numpy.ndarray + Material index array (3D). size : list or numpy.ndarray - Physical size of the microstructure in meter. + Physical size of the geometry in meter. origin : list or numpy.ndarray, optional - Physical origin of the microstructure in meter. - homogenization : int, optional - Homogenization index. + Physical origin of the geometry in meter. comments : list of str, optional Comment lines. """ - self.set_microstructure(microstructure,inplace=True) - self.set_size(size,inplace=True) - self.set_origin(origin,inplace=True) - self.set_homogenization(homogenization,inplace=True) - self.set_comments(comments,inplace=True) + if len(materials.shape) != 3: + raise ValueError(f'Invalid materials shape {materials.shape}.') + elif materials.dtype not in np.sctypes['float'] + np.sctypes['int']: + raise TypeError(f'Invalid materials data type {materials.dtype}.') + else: + self.materials = np.copy(materials) + + if self.materials.dtype in np.sctypes['float'] and \ + np.all(self.materials == self.materials.astype(int).astype(float)): + self.materials = self.materials.astype(int) + + if len(size) != 3 or any(np.array(size) <= 0): + raise ValueError(f'Invalid size {size}.') + else: + self.size = np.array(size) + + if len(origin) != 3: + raise ValueError(f'Invalid origin {origin}.') + else: + self.origin = np.array(origin) + + self.comments = [str(c) for c in comments] if isinstance(comments,list) else [str(comments)] def __repr__(self): @@ -48,8 +63,8 @@ class Geom: f'grid a b c: {util.srepr(self.grid, " x ")}', f'size x y z: {util.srepr(self.size, " x ")}', f'origin x y z: {util.srepr(self.origin," ")}', - f'# materialpoints: {self.N_microstructure}', - f'max materialpoint: {np.nanmax(self.microstructure)}', + f'# materialpoints: {self.N_materials}', + f'max materialpoint: {np.nanmax(self.materials)}', ]) @@ -63,42 +78,6 @@ class Geom: return self.__copy__() - def duplicate(self,microstructure=None,size=None,origin=None,comments=None,autosize=False): - """ - Create a duplicate having updated microstructure, size, and origin. - - Parameters - ---------- - microstructure : numpy.ndarray, optional - Microstructure array (3D). - size : list or numpy.ndarray, optional - Physical size of the microstructure in meter. - origin : list or numpy.ndarray, optional - Physical origin of the microstructure in meter. - comments : list of str, optional - Comment lines. - autosize : bool, optional - Ignore size parameter and rescale according to change of grid points. - - """ - if size is not None and autosize: - raise ValueError('Auto-sizing conflicts with explicit size parameter.') - - grid_old = self.grid - dup = self.set_microstructure(microstructure)\ - .set_origin(origin) - - if comments is not None: - dup.set_comments(comments,inplace=True) - - if size is not None: - dup.set_size(size,inplace=True) - elif autosize: - dup.set_size(dup.grid/grid_old*self.size,inplace=True) - - return dup - - def diff(self,other): """ Report property differences of self relative to other. @@ -114,154 +93,33 @@ class Geom: message.append(util.delete(f'grid a b c: {util.srepr(other.grid," x ")}')) message.append(util.emph( f'grid a b c: {util.srepr( self.grid," x ")}')) - if np.any(other.size != self.size): + if not np.allclose(other.size,self.size): message.append(util.delete(f'size x y z: {util.srepr(other.size," x ")}')) message.append(util.emph( f'size x y z: {util.srepr( self.size," x ")}')) - if np.any(other.origin != self.origin): + if not np.allclose(other.origin,self.origin): message.append(util.delete(f'origin x y z: {util.srepr(other.origin," ")}')) message.append(util.emph( f'origin x y z: {util.srepr( self.origin," ")}')) - if other.N_microstructure != self.N_microstructure: - message.append(util.delete(f'# materialpoints: {other.N_microstructure}')) - message.append(util.emph( f'# materialpoints: { self.N_microstructure}')) + if other.N_materials != self.N_materials: + message.append(util.delete(f'# materialpoints: {other.N_materials}')) + message.append(util.emph( f'# materialpoints: { self.N_materials}')) - if np.nanmax(other.microstructure) != np.nanmax(self.microstructure): - message.append(util.delete(f'max materialpoint: {np.nanmax(other.microstructure)}')) - message.append(util.emph( f'max materialpoint: {np.nanmax( self.microstructure)}')) + if np.nanmax(other.materials) != np.nanmax(self.materials): + message.append(util.delete(f'max materialpoint: {np.nanmax(other.materials)}')) + message.append(util.emph( f'max materialpoint: {np.nanmax( self.materials)}')) return util.return_message(message) - def set_comments(self,comments,inplace=False): - """ - Replace all existing comments. - - Parameters - ---------- - comments : list of str - All comments. - - """ - target = self if inplace else self.copy() - target.comments = [] - target.add_comments(comments,inplace=True) - if not inplace: return target - - - def add_comments(self,comments,inplace=False): - """ - Append comments to existing comments. - - Parameters - ---------- - comments : list of str - New comments. - - """ - target = self if inplace else self.copy() - target.comments += [str(c) for c in comments] if isinstance(comments,list) else [str(comments)] - if not inplace: return target - - - def set_microstructure(self,microstructure,inplace=False): - """ - Replace the existing microstructure representation. - - The complete microstructure is replaced (indcluding grid definition), - unless a masked array is provided in which case the grid dimensions - need to match and masked entries are not replaced. - - Parameters - ---------- - microstructure : numpy.ndarray or numpy.ma.core.MaskedArray of shape (:,:,:) - Microstructure indices. - - """ - target = self if inplace else self.copy() - if microstructure is not None: - if isinstance(microstructure,np.ma.core.MaskedArray): - target.microstructure = np.where(microstructure.mask, - target.microstructure,microstructure.data) - else: - target.microstructure = np.copy(microstructure) - - if target.microstructure.dtype in np.sctypes['float'] and \ - np.all(target.microstructure == target.microstructure.astype(int).astype(float)): - target.microstructure = target.microstructure.astype(int) - - if len(target.microstructure.shape) != 3: - raise ValueError(f'Invalid microstructure shape {microstructure.shape}') - elif target.microstructure.dtype not in np.sctypes['float'] + np.sctypes['int']: - raise TypeError(f'Invalid microstructure data type {microstructure.dtype}') - if not inplace: return target - - - def set_size(self,size,inplace=False): - """ - Replace the existing size information. - - Parameters - ---------- - size : list or numpy.ndarray - Physical size of the microstructure in meter. - - """ - target = self if inplace else self.copy() - if size is not None: - if len(size) != 3 or any(np.array(size) <= 0): - raise ValueError(f'Invalid size {size}') - else: - target.size = np.array(size) - if not inplace: return target - - - def set_origin(self,origin,inplace=False): - """ - Replace the existing origin information. - - Parameters - ---------- - origin : list or numpy.ndarray - Physical origin of the microstructure in meter. - - """ - target = self if inplace else self.copy() - if origin is not None: - if len(origin) != 3: - raise ValueError(f'Invalid origin {origin}') - else: - target.origin = np.array(origin) - if not inplace: return target - - - def set_homogenization(self,homogenization,inplace=False): - """ - Replace the existing homogenization index. - - Parameters - ---------- - homogenization : int - Homogenization index. - - """ - target = self if inplace else self.copy() - if homogenization is not None: - if not isinstance(homogenization,int) or homogenization < 1: - raise TypeError(f'Invalid homogenization {homogenization}.') - else: - target.homogenization = homogenization - if not inplace: return target - - @property def grid(self): - return np.asarray(self.microstructure.shape) + return np.asarray(self.materials.shape) @property - def N_microstructure(self): - return np.unique(self.microstructure).size + def N_materials(self): + return np.unique(self.materials).size @staticmethod @@ -301,12 +159,10 @@ class Geom: size = np.array([float(dict(zip(items[1::2],items[2::2]))[i]) for i in ['x','y','z']]) elif key == 'origin': origin = np.array([float(dict(zip(items[1::2],items[2::2]))[i]) for i in ['x','y','z']]) - elif key == 'homogenization': - homogenization = int(items[1]) else: comments.append(line.strip()) - microstructure = np.empty(grid.prod()) # initialize as flat array + materials = np.empty(grid.prod()) # initialize as flat array i = 0 for line in content[header_length:]: items = line.split('#')[0].split() @@ -318,16 +174,16 @@ class Geom: abs(int(items[2])-int(items[0]))+1,dtype=float) else: items = list(map(float,items)) else: items = list(map(float,items)) - microstructure[i:i+len(items)] = items + materials[i:i+len(items)] = items i += len(items) if i != grid.prod(): raise TypeError(f'Invalid file: expected {grid.prod()} entries, found {i}') - if not np.any(np.mod(microstructure,1) != 0.0): # no float present - microstructure = microstructure.astype('int') + if not np.any(np.mod(materials,1) != 0.0): # no float present + materials = materials.astype('int') - return Geom(microstructure.reshape(grid,order='F'),size,origin,homogenization,comments) + return Geom(materials.reshape(grid,order='F'),size,origin,comments) @staticmethod @@ -365,7 +221,7 @@ class Geom: grid : int numpy.ndarray of shape (3) Number of grid points in x,y,z direction. size : list or numpy.ndarray of shape (3) - Physical size of the microstructure in meter. + Physical size of the geometry in meter. seeds : numpy.ndarray of shape (:,3) Position of the seed points in meter. All points need to lay within the box. weights : numpy.ndarray of shape (seeds.shape[0]) @@ -389,16 +245,17 @@ class Geom: result = pool.map_async(partial(Geom._find_closest_seed,seeds_p,weights_p), [coord for coord in coords]) pool.close() pool.join() - microstructure = np.array(result.get()) + materials = np.array(result.get()) if periodic: - microstructure = microstructure.reshape(grid*3) - microstructure = microstructure[grid[0]:grid[0]*2,grid[1]:grid[1]*2,grid[2]:grid[2]*2]%seeds.shape[0] + materials = materials.reshape(grid*3) + materials = materials[grid[0]:grid[0]*2,grid[1]:grid[1]*2,grid[2]:grid[2]*2]%seeds.shape[0] else: - microstructure = microstructure.reshape(grid) + materials = materials.reshape(grid) - return Geom(microstructure+1,size,homogenization=1, - comments=util.execution_stamp('Geom','from_Laguerre_tessellation'), + return Geom(materials = materials+1, + size = size, + comments = util.execution_stamp('Geom','from_Laguerre_tessellation'), ) @@ -412,7 +269,7 @@ class Geom: grid : int numpy.ndarray of shape (3) Number of grid points in x,y,z direction. size : list or numpy.ndarray of shape (3) - Physical size of the microstructure in meter. + Physical size of the geometry in meter. seeds : numpy.ndarray of shape (:,3) Position of the seed points in meter. All points need to lay within the box. periodic : Boolean, optional @@ -421,10 +278,11 @@ class Geom: """ coords = grid_filters.cell_coord0(grid,size).reshape(-1,3) KDTree = spatial.cKDTree(seeds,boxsize=size) if periodic else spatial.cKDTree(seeds) - devNull,microstructure = KDTree.query(coords) + devNull,materials = KDTree.query(coords) - return Geom(microstructure.reshape(grid)+1,size,homogenization=1, - comments=util.execution_stamp('Geom','from_Voronoi_tessellation'), + return Geom(materials = materials.reshape(grid)+1, + size = size, + comments = util.execution_stamp('Geom','from_Voronoi_tessellation'), ) @@ -462,21 +320,21 @@ class Geom: +[ 'grid a {} b {} c {}'.format(*geom.grid), 'size x {} y {} z {}'.format(*geom.size), 'origin x {} y {} z {}'.format(*geom.origin), - f'homogenization {geom.homogenization}', + 'homogenization 1', ] grid = geom.grid if pack is None: - plain = grid.prod()/geom.N_microstructure < 250 + plain = grid.prod()/geom.N_materials < 250 else: plain = not pack if plain: - format_string = '%g' if geom.microstructure.dtype in np.sctypes['float'] else \ - '%{}i'.format(1+int(np.floor(np.log10(np.nanmax(geom.microstructure))))) + format_string = '%g' if geom.materials.dtype in np.sctypes['float'] else \ + '%{}i'.format(1+int(np.floor(np.log10(np.nanmax(geom.materials))))) np.savetxt(fname, - geom.microstructure.reshape([grid[0],np.prod(grid[1:])],order='F').T, + geom.materials.reshape([grid[0],np.prod(grid[1:])],order='F').T, header='\n'.join(header), fmt=format_string, comments='') else: try: @@ -487,7 +345,7 @@ class Geom: compressType = None former = start = -1 reps = 0 - for current in geom.microstructure.flatten('F'): + for current in geom.materials.flatten('F'): if abs(current - former) == 1 and (start - current) == reps*(former - current): compressType = 'to' reps += 1 @@ -532,7 +390,7 @@ class Geom: """ v = VTK.from_rectilinearGrid(geom.grid,geom.size,geom.origin) - v.add(geom.microstructure.flatten(order='F'),'materialpoint') + v.add(geom.materials.flatten(order='F'),'materialpoint') v.add_comments(geom.comments) if fname: @@ -575,11 +433,11 @@ class Geom: 0 gives octahedron (|x|^(2^0) + |y|^(2^0) + |z|^(2^0) < 1) 1 gives a sphere (|x|^(2^1) + |y|^(2^1) + |z|^(2^1) < 1) fill : int, optional - Fill value for primitive. Defaults to microstructure.max() + 1. + Fill value for primitive. Defaults to materials.max() + 1. R : damask.Rotation, optional Rotation of primitive. Defaults to no rotation. inverse : Boolean, optional - Retain original microstructure within primitive and fill outside. + Retain original materials within primitive and fill outside. Defaults to False. periodic : Boolean, optional Repeat primitive over boundaries. Defaults to True. @@ -601,22 +459,23 @@ class Geom: if periodic: # translate back to center mask = np.roll(mask,((c-np.ones(3)*.5)*self.grid).astype(int),(0,1,2)) - fill_ = np.full_like(self.microstructure,np.nanmax(self.microstructure)+1 if fill is None else fill) - ms = np.ma.MaskedArray(fill_,np.logical_not(mask) if inverse else mask) + fill_ = np.full_like(self.materials,np.nanmax(self.materials)+1 if fill is None else fill) - return self.duplicate(ms, - comments=self.comments+[util.execution_stamp('Geom','add_primitive')], - ) + return Geom(materials = np.where(np.logical_not(mask) if inverse else mask, self.materials,fill_), + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','add_primitive')], + ) def mirror(self,directions,reflect=False): """ - Mirror microstructure along given directions. + Mirror geometry along given directions. Parameters ---------- directions : iterable containing str - Direction(s) along which the microstructure is mirrored. + Direction(s) along which the geometry is mirrored. Valid entries are 'x', 'y', 'z'. reflect : bool, optional Reflect (include) outermost layers. Defaults to False. @@ -627,28 +486,30 @@ class Geom: raise ValueError(f'Invalid direction {set(directions).difference(valid)} specified.') limits = [None,None] if reflect else [-2,0] - ms = self.microstructure.copy() + ms = self.materials.copy() - if 'z' in directions: - ms = np.concatenate([ms,ms[:,:,limits[0]:limits[1]:-1]],2) - if 'y' in directions: - ms = np.concatenate([ms,ms[:,limits[0]:limits[1]:-1,:]],1) if 'x' in directions: ms = np.concatenate([ms,ms[limits[0]:limits[1]:-1,:,:]],0) + if 'y' in directions: + ms = np.concatenate([ms,ms[:,limits[0]:limits[1]:-1,:]],1) + if 'z' in directions: + ms = np.concatenate([ms,ms[:,:,limits[0]:limits[1]:-1]],2) - return self.duplicate(ms, - comments=self.comments+[util.execution_stamp('Geom','mirror')], - autosize=True) + return Geom(materials = ms, + size = self.size/self.grid*np.asarray(ms.shape), + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','mirror')], + ) def flip(self,directions): """ - Flip microstructure along given directions. + Flip geometry along given directions. Parameters ---------- directions : iterable containing str - Direction(s) along which the microstructure is flipped. + Direction(s) along which the geometry is flipped. Valid entries are 'x', 'y', 'z'. """ @@ -656,16 +517,18 @@ class Geom: if not set(directions).issubset(valid): raise ValueError(f'Invalid direction {set(directions).difference(valid)} specified.') - ms = np.flip(self.microstructure, (valid.index(d) for d in directions if d in valid)) + ms = np.flip(self.materials, (valid.index(d) for d in directions if d in valid)) - return self.duplicate(ms, - comments=self.comments+[util.execution_stamp('Geom','flip')], - ) + return Geom(materials = ms, + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','flip')], + ) def scale(self,grid,periodic=True): """ - Scale microstructure to new grid. + Scale geometry to new grid. Parameters ---------- @@ -675,21 +538,23 @@ class Geom: Assume geometry to be periodic. Defaults to True. """ - return self.duplicate(ndimage.interpolation.zoom( - self.microstructure, - grid/self.grid, - output=self.microstructure.dtype, - order=0, - mode=('wrap' if periodic else 'nearest'), - prefilter=False - ), - comments=self.comments+[util.execution_stamp('Geom','scale')], - ) + return Geom(materials = ndimage.interpolation.zoom( + self.materials, + grid/self.grid, + output=self.materials.dtype, + order=0, + mode=('wrap' if periodic else 'nearest'), + prefilter=False + ), + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','scale')], + ) def clean(self,stencil=3,selection=None,periodic=True): """ - Smooth microstructure by selecting most frequent index within given stencil at each location. + Smooth geometry by selecting most frequent material index within given stencil at each location. Parameters ---------- @@ -709,83 +574,87 @@ class Geom: else: return me - return self.duplicate(ndimage.filters.generic_filter( - self.microstructure, - mostFrequent, - size=(stencil if selection is None else stencil//2*2+1,)*3, - mode=('wrap' if periodic else 'nearest'), - extra_keywords=dict(selection=selection), - ).astype(self.microstructure.dtype), - comments=self.comments+[util.execution_stamp('Geom','clean')], - ) + return Geom(materials = ndimage.filters.generic_filter( + self.materials, + mostFrequent, + size=(stencil if selection is None else stencil//2*2+1,)*3, + mode=('wrap' if periodic else 'nearest'), + extra_keywords=dict(selection=selection), + ).astype(self.materials.dtype), + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','clean')], + ) def renumber(self): - """Renumber sorted microstructure indices to 1,...,N.""" - renumbered = np.empty(self.grid,dtype=self.microstructure.dtype) - for i, oldID in enumerate(np.unique(self.microstructure)): - renumbered = np.where(self.microstructure == oldID, i+1, renumbered) + """Renumber sorted material indices to 1,...,N.""" + renumbered = np.empty(self.grid,dtype=self.materials.dtype) + for i, oldID in enumerate(np.unique(self.materials)): + renumbered = np.where(self.materials == oldID, i+1, renumbered) - return self.duplicate(renumbered, - comments=self.comments+[util.execution_stamp('Geom','renumber')], - ) + return Geom(materials = renumbered, + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','renumber')], + ) def rotate(self,R,fill=None): """ - Rotate microstructure (pad if required). + Rotate geometry (pad if required). Parameters ---------- R : damask.Rotation - Rotation to apply to the microstructure. + Rotation to apply to the geometry. fill : int or float, optional - Microstructure index to fill the corners. Defaults to microstructure.max() + 1. + Material index to fill the corners. Defaults to materials.max() + 1. """ - if fill is None: fill = np.nanmax(self.microstructure) + 1 - dtype = float if np.isnan(fill) or int(fill) != fill or self.microstructure.dtype==np.float else int + if fill is None: fill = np.nanmax(self.materials) + 1 + dtype = float if np.isnan(fill) or int(fill) != fill or self.materials.dtype==np.float else int Eulers = R.as_Eulers(degrees=True) - microstructure_in = self.microstructure.copy() + materials_in = self.materials.copy() # These rotations are always applied in the reference coordinate system, i.e. (z,x,z) not (z,x',z'') # see https://www.cs.utexas.edu/~theshark/courses/cs354/lectures/cs354-14.pdf for angle,axes in zip(Eulers[::-1], [(0,1),(1,2),(0,1)]): - microstructure_out = ndimage.rotate(microstructure_in,angle,axes,order=0, + materials_out = ndimage.rotate(materials_in,angle,axes,order=0, prefilter=False,output=dtype,cval=fill) - if np.prod(microstructure_in.shape) == np.prod(microstructure_out.shape): + if np.prod(materials_in.shape) == np.prod(materials_out.shape): # avoid scipy interpolation errors for rotations close to multiples of 90° - microstructure_in = np.rot90(microstructure_in,k=np.rint(angle/90.).astype(int),axes=axes) + materials_in = np.rot90(materials_in,k=np.rint(angle/90.).astype(int),axes=axes) else: - microstructure_in = microstructure_out + materials_in = materials_out - origin = self.origin-(np.asarray(microstructure_in.shape)-self.grid)*.5 * self.size/self.grid + origin = self.origin-(np.asarray(materials_in.shape)-self.grid)*.5 * self.size/self.grid - return self.duplicate(microstructure_in, - origin=origin, - comments=self.comments+[util.execution_stamp('Geom','rotate')], - autosize=True, - ) + return Geom(materials = materials_in, + size = self.size/self.grid*np.asarray(materials_in.shape), + origin = origin, + comments = self.comments+[util.execution_stamp('Geom','rotate')], + ) def canvas(self,grid=None,offset=None,fill=None): """ - Crop or enlarge/pad microstructure. + Crop or enlarge/pad geometry. Parameters ---------- grid : numpy.ndarray of shape (3) Number of grid points in x,y,z direction. offset : numpy.ndarray of shape (3) - Offset (measured in grid points) from old to new microstructure[0,0,0]. + Offset (measured in grid points) from old to new geometry [0,0,0]. fill : int or float, optional - Microstructure index to fill the background. Defaults to microstructure.max() + 1. + Material index to fill the background. Defaults to materials.max() + 1. """ if offset is None: offset = 0 - if fill is None: fill = np.nanmax(self.microstructure) + 1 - dtype = float if int(fill) != fill or self.microstructure.dtype in np.sctypes['float'] else int + if fill is None: fill = np.nanmax(self.materials) + 1 + dtype = float if int(fill) != fill or self.materials.dtype in np.sctypes['float'] else int canvas = np.full(self.grid if grid is None else grid,fill,dtype) @@ -794,39 +663,41 @@ class Geom: ll = np.clip(-offset, 0,np.minimum( grid,self.grid-offset)) ur = np.clip(-offset+self.grid,0,np.minimum( grid,self.grid-offset)) - canvas[ll[0]:ur[0],ll[1]:ur[1],ll[2]:ur[2]] = self.microstructure[LL[0]:UR[0],LL[1]:UR[1],LL[2]:UR[2]] + canvas[ll[0]:ur[0],ll[1]:ur[1],ll[2]:ur[2]] = self.materials[LL[0]:UR[0],LL[1]:UR[1],LL[2]:UR[2]] - return self.duplicate(canvas, - origin=self.origin+offset*self.size/self.grid, - comments=self.comments+[util.execution_stamp('Geom','canvas')], - autosize=True, - ) + return Geom(materials = canvas, + size = self.size/self.grid*np.asarray(canvas.shape), + origin = self.origin+offset*self.size/self.grid, + comments = self.comments+[util.execution_stamp('Geom','canvas')], + ) - def substitute(self,from_microstructure,to_microstructure): + def substitute(self,from_materials,to_materials): """ - Substitute microstructure indices. + Substitute material indices. Parameters ---------- - from_microstructure : iterable of ints - Microstructure indices to be substituted. - to_microstructure : iterable of ints - New microstructure indices. + from_materials : iterable of ints + Material indices to be substituted. + to_materials : iterable of ints + New material indices. """ - substituted = self.microstructure.copy() - for from_ms,to_ms in zip(from_microstructure,to_microstructure): - substituted[self.microstructure==from_ms] = to_ms + substituted = self.materials.copy() + for from_ms,to_ms in zip(from_materials,to_materials): + substituted[self.materials==from_ms] = to_ms - return self.duplicate(substituted, - comments=self.comments+[util.execution_stamp('Geom','substitute')], - ) + return Geom(materials = substituted, + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','substitute')], + ) def vicinity_offset(self,vicinity=1,offset=None,trigger=[],periodic=True): """ - Offset microstructure index of points in the vicinity of xxx. + Offset material index of points in the vicinity of xxx. Different from themselves (or listed as triggers) within a given (cubic) vicinity, i.e. within the region close to a grain/phase boundary. @@ -835,14 +706,14 @@ class Geom: Parameters ---------- vicinity : int, optional - Voxel distance checked for presence of other microstructure. + Voxel distance checked for presence of other materials. Defaults to 1. offset : int, optional - Offset (positive or negative) to tag microstructure indices, - defaults to microstructure.max() + 1. + Offset (positive or negative) to tag material indices, + defaults to materials.max() + 1. trigger : list of ints, optional - List of microstructure indices triggering a change. - Defaults to [], meaning that different neigboors trigger a change. + List of material indices that trigger a change. + Defaults to [], meaning that any different neighbor triggers a change. periodic : Boolean, optional Assume geometry to be periodic. Defaults to True. @@ -858,14 +729,15 @@ class Geom: trigger = list(trigger) return np.any(np.in1d(stencil,np.array(trigger))) - offset_ = np.nanmax(self.microstructure) if offset is None else offset - mask = ndimage.filters.generic_filter(self.microstructure, + offset_ = np.nanmax(self.materials) if offset is None else offset + mask = ndimage.filters.generic_filter(self.materials, tainted_neighborhood, size=1+2*vicinity, mode='wrap' if periodic else 'nearest', extra_keywords={'trigger':trigger}) - microstructure = np.ma.MaskedArray(self.microstructure + offset_, np.logical_not(mask)) - return self.duplicate(microstructure, - comments=self.comments+[util.execution_stamp('Geom','vicinity_offset')], - ) + return Geom(materials = np.where(mask, self.materials + offset_,self.materials), + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','vicinity_offset')], + ) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index f82272362..809aee2f9 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -11,8 +11,8 @@ from damask import util def geom_equal(a,b): - return np.all(a.microstructure == b.microstructure) and \ - np.all(a.grid == b.grid) and \ + return np.all(a.materials == b.materials) and \ + np.all(a.grid == b.grid) and \ np.allclose(a.size, b.size) and \ str(a.diff(b)) == str(b.diff(a)) @@ -33,64 +33,21 @@ def reference_dir(reference_dir_base): class TestGeom: - @pytest.mark.parametrize('flavor',['plain','explicit']) - def test_duplicate(self,default,flavor): - if flavor == 'plain': - modified = default.duplicate() - elif flavor == 'explicit': - modified = default.duplicate( - default.microstructure, - default.size, - default.origin - ) - print(modified) - assert geom_equal(default,modified) - def test_diff_equal(self,default): assert str(default.diff(default)) == '' + def test_diff_not_equal(self,default): - new = Geom(default.microstructure[1:,1:,1:]+1,default.size*.9,np.ones(3)-default.origin,comments=['modified']) + new = Geom(default.materials[1:,1:,1:]+1,default.size*.9,np.ones(3)-default.origin,comments=['modified']) assert str(default.diff(new)) != '' - def test_set_inplace_outofplace_homogenization(self,default): - default.set_homogenization(123,inplace=True) - outofplace = default.set_homogenization(321,inplace=False) - assert default.homogenization == 123 and outofplace.homogenization == 321 - - - def test_set_inplace_outofplace_microstructure(self,default): - default.set_microstructure(np.arange(72).reshape((2,4,9)),inplace=True) - outofplace = default.set_microstructure(np.arange(72).reshape((8,3,3)),inplace=False) - assert np.array_equal(default.grid,[2,4,9]) and np.array_equal(outofplace.grid,[8,3,3]) - - - def test_set_inplace_outofplace_size(self,default): - default.set_size(np.array([1,2,3]),inplace=True) - outofplace = default.set_size(np.array([3,2,1]),inplace=False) - assert np.array_equal(default.size,[1,2,3]) and np.array_equal(outofplace.size,[3,2,1]) - - - def test_set_inplace_outofplace_comments(self,default): - default.set_comments(['a','and','b'],inplace=True) - outofplace = default.set_comments(['b','or','a'],inplace=False) - assert default.comments == ['a','and','b'] and outofplace.comments == ['b','or','a'] - - - @pytest.mark.parametrize('masked',[True,False]) - def test_set_microstructure(self,default,masked): - old = default.microstructure - new = np.random.randint(200,size=default.grid) - default.set_microstructure(np.ma.MaskedArray(new,np.full_like(new,masked)),inplace=True) - assert np.all(default.microstructure==(old if masked else new)) - - def test_write_read_str(self,default,tmpdir): default.to_file(str(tmpdir/'default.geom'),format='ASCII') new = Geom.from_file(str(tmpdir/'default.geom')) assert geom_equal(default,new) + def test_write_read_file(self,default,tmpdir): with open(tmpdir/'default.geom','w') as f: default.to_file(f,format='ASCII',pack=True) @@ -98,6 +55,7 @@ class TestGeom: new = Geom.from_file(f) assert geom_equal(default,new) + def test_write_as_ASCII(self,default,tmpdir): with open(tmpdir/'str.geom','w') as f: f.write(default.as_ASCII()) @@ -105,6 +63,7 @@ class TestGeom: new = Geom.from_file(f) assert geom_equal(default,new) + def test_read_write_vtr(self,default,tmpdir): default.to_file(tmpdir/'default',format='vtr') for _ in range(10): @@ -114,6 +73,7 @@ class TestGeom: new = Geom.from_vtr(tmpdir/'default.vtr') assert geom_equal(new,default) + def test_invalid_geom(self,tmpdir): with open('invalid_file','w') as f: f.write('this is not a valid header') @@ -121,6 +81,7 @@ class TestGeom: with pytest.raises(TypeError): Geom.from_file(f) + def test_invalid_vtr(self,tmpdir): v = VTK.from_rectilinearGrid(np.random.randint(5,10,3)*2,np.random.random(3) + 1.0) v.to_file(tmpdir/'no_materialpoint.vtr') @@ -137,36 +98,38 @@ class TestGeom: new = Geom.from_file(tmpdir/'default.geom') assert geom_equal(new,default) - def test_invalid_combination(self,default): - with pytest.raises(ValueError): - default.duplicate(default.microstructure[1:,1:,1:],size=np.ones(3), autosize=True) def test_invalid_size(self,default): with pytest.raises(ValueError): - default.duplicate(default.microstructure[1:,1:,1:],size=np.ones(2)) + Geom(default.materials[1:,1:,1:], + size=np.ones(2)) + def test_invalid_origin(self,default): with pytest.raises(ValueError): - default.duplicate(default.microstructure[1:,1:,1:],origin=np.ones(4)) + Geom(default.materials[1:,1:,1:], + size=np.ones(3), + origin=np.ones(4)) - def test_invalid_microstructure_size(self,default): - microstructure = np.ones((3,3)) + + def test_invalid_materials_shape(self,default): + materials = np.ones((3,3)) with pytest.raises(ValueError): - default.duplicate(microstructure) + Geom(materials, + size=np.ones(3)) - def test_invalid_microstructure_type(self,default): - microstructure = np.random.randint(1,300,(3,4,5))==1 - with pytest.raises(TypeError): - default.duplicate(microstructure) - def test_invalid_homogenization(self,default): + def test_invalid_materials_type(self,default): + materials = np.random.randint(1,300,(3,4,5))==1 with pytest.raises(TypeError): - default.set_homogenization(homogenization=0) + Geom(materials) + def test_invalid_write_format(self,default): with pytest.raises(TypeError): default.to_file(format='invalid') + @pytest.mark.parametrize('directions,reflect',[ (['x'], False), (['x','y','z'],True), @@ -182,6 +145,7 @@ class TestGeom: assert geom_equal(Geom.from_file(reference), modified) + @pytest.mark.parametrize('directions',[(1,2,'y'),('a','b','x'),[1]]) def test_mirror_invalid(self,default,directions): with pytest.raises(ValueError): @@ -203,13 +167,16 @@ class TestGeom: assert geom_equal(Geom.from_file(reference), modified) + def test_flip_invariant(self,default): assert geom_equal(default,default.flip([])) + @pytest.mark.parametrize('direction',[['x'],['x','y']]) def test_flip_double(self,default,direction): assert geom_equal(default,default.flip(direction).flip(direction)) + @pytest.mark.parametrize('directions',[(1,2,'y'),('a','b','x'),[1]]) def test_flip_invalid(self,default,directions): with pytest.raises(ValueError): @@ -231,6 +198,7 @@ class TestGeom: current ) + @pytest.mark.parametrize('grid',[ (10,11,10), [10,13,10], @@ -248,22 +216,29 @@ class TestGeom: assert geom_equal(Geom.from_file(reference), modified) + def test_renumber(self,default): - microstructure = default.microstructure.copy() - for m in np.unique(microstructure): - microstructure[microstructure==m] = microstructure.max() + np.random.randint(1,30) - modified = default.duplicate(microstructure) + materials = default.materials.copy() + for m in np.unique(materials): + materials[materials==m] = materials.max() + np.random.randint(1,30) + modified = Geom(materials, + default.size, + default.origin) assert not geom_equal(modified,default) assert geom_equal(default, modified.renumber()) + def test_substitute(self,default): offset = np.random.randint(1,500) - modified = default.duplicate(default.microstructure + offset) + modified = Geom(default.materials + offset, + default.size, + default.origin) assert not geom_equal(modified,default) assert geom_equal(default, - modified.substitute(np.arange(default.microstructure.max())+1+offset, - np.arange(default.microstructure.max())+1)) + modified.substitute(np.arange(default.materials.max())+1+offset, + np.arange(default.materials.max())+1)) + @pytest.mark.parametrize('axis_angle',[np.array([1,0,0,86.7]), np.array([0,1,0,90.4]), np.array([0,0,1,90]), np.array([1,0,0,175]),np.array([0,-1,0,178]),np.array([0,0,1,180])]) @@ -273,6 +248,7 @@ class TestGeom: modified.rotate(Rotation.from_axis_angle(axis_angle,degrees=True)) assert geom_equal(default,modified) + @pytest.mark.parametrize('Eulers',[[32.0,68.0,21.0], [0.0,32.0,240.0]]) def test_rotate(self,default,update,reference_dir,Eulers): @@ -283,11 +259,13 @@ class TestGeom: assert geom_equal(Geom.from_file(reference), modified) + def test_canvas(self,default): grid = default.grid grid_add = np.random.randint(0,30,(3)) modified = default.canvas(grid + grid_add) - assert np.all(modified.microstructure[:grid[0],:grid[1],:grid[2]] == default.microstructure) + assert np.all(modified.materials[:grid[0],:grid[1],:grid[2]] == default.materials) + @pytest.mark.parametrize('center1,center2',[(np.random.random(3)*.5,np.random.random()*8), (np.random.randint(4,8,(3)),np.random.randint(9,12,(3)))]) @@ -300,13 +278,14 @@ class TestGeom: np.random.rand()*4, np.random.randint(20)]) def test_add_primitive_shift(self,center1,center2,diameter,exponent): - """Same volume fraction for periodic microstructures and different center.""" + """Same volume fraction for periodic geometries and different center.""" o = np.random.random(3)-.5 g = np.random.randint(8,32,(3)) s = np.random.random(3)+.5 G_1 = Geom(np.ones(g,'i'),s,o).add_primitive(diameter,center1,exponent) G_2 = Geom(np.ones(g,'i'),s,o).add_primitive(diameter,center2,exponent) - assert np.count_nonzero(G_1.microstructure!=2) == np.count_nonzero(G_2.microstructure!=2) + assert np.count_nonzero(G_1.materials!=2) == np.count_nonzero(G_2.materials!=2) + @pytest.mark.parametrize('center',[np.random.randint(4,10,(3)), np.random.randint(2,10), @@ -323,6 +302,7 @@ class TestGeom: G_2 = Geom(np.ones(g,'i'),[1.,1.,1.]).add_primitive(.3,center,1,fill,Rotation.from_Eulers(eu),inverse,periodic=periodic) assert geom_equal(G_1,G_2) + @pytest.mark.parametrize('trigger',[[1],[]]) def test_vicinity_offset(self,trigger): offset = np.random.randint(2,4) @@ -341,13 +321,15 @@ class TestGeom: geom = Geom(m,np.random.rand(3)).vicinity_offset(vicinity,offset,trigger=trigger) - assert np.all(m2==geom.microstructure) + assert np.all(m2==geom.materials) + @pytest.mark.parametrize('periodic',[True,False]) def test_vicinity_offset_invariant(self,default,periodic): - offset = default.vicinity_offset(trigger=[default.microstructure.max()+1, - default.microstructure.min()-1]) - assert np.all(offset.microstructure==default.microstructure) + offset = default.vicinity_offset(trigger=[default.materials.max()+1, + default.materials.min()-1]) + assert np.all(offset.materials==default.materials) + @pytest.mark.parametrize('periodic',[True,False]) def test_tessellation_approaches(self,periodic): @@ -359,6 +341,7 @@ class TestGeom: Laguerre = Geom.from_Laguerre_tessellation(grid,size,seeds,np.ones(N_seeds),periodic) assert geom_equal(Laguerre,Voronoi) + def test_Laguerre_weights(self): grid = np.random.randint(10,20,3) size = np.random.random(3) + 1.0 @@ -368,17 +351,18 @@ class TestGeom: ms = np.random.randint(1, N_seeds+1) weights[ms-1] = np.random.random() Laguerre = Geom.from_Laguerre_tessellation(grid,size,seeds,weights,np.random.random()>0.5) - assert np.all(Laguerre.microstructure == ms) + assert np.all(Laguerre.materials == ms) + @pytest.mark.parametrize('approach',['Laguerre','Voronoi']) def test_tessellate_bicrystal(self,approach): grid = np.random.randint(5,10,3)*2 size = grid.astype(np.float) seeds = np.vstack((size*np.array([0.5,0.25,0.5]),size*np.array([0.5,0.75,0.5]))) - microstructure = np.ones(grid) - microstructure[:,grid[1]//2:,:] = 2 + materials = np.ones(grid) + materials[:,grid[1]//2:,:] = 2 if approach == 'Laguerre': geom = Geom.from_Laguerre_tessellation(grid,size,seeds,np.ones(2),np.random.random()>0.5) elif approach == 'Voronoi': geom = Geom.from_Voronoi_tessellation(grid,size,seeds, np.random.random()>0.5) - assert np.all(geom.microstructure == microstructure) + assert np.all(geom.materials == materials) From c8dcd4b4ae3658877e3c37781b2578ff3ae1e5da Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 22 Sep 2020 23:51:47 +0200 Subject: [PATCH 712/958] 'decide' function should handle everything bug fixed in case of only flow yaml --- src/YAML_parse.f90 | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index d655bc2dc..6cefc5443 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -552,19 +552,17 @@ function to_flow(blck) s_flow, & !< start position in flow offset, & !< counts leading '- ' in nested lists end_line - if(isFlow(blck)) then - to_flow = trim(adjustl(blck)) - else - allocate(character(len=len(blck)*2)::to_flow) - ! move forward here (skip empty lines) and remove '----' if found - s_flow = 1 - s_blck = 1 - offset = 0 - call decide(blck,to_flow,s_blck,s_flow,offset) - to_flow = trim(to_flow(:s_flow-1)) - endif - end_line = index(to_flow,IO_EOL) - if(end_line > 0) to_flow = to_flow(:end_line-1) + + allocate(character(len=len(blck)*2)::to_flow) + ! move forward here (skip empty lines) and remove '----' if found + s_flow = 1 + s_blck = 1 + offset = 0 + call decide(blck,to_flow,s_blck,s_flow,offset) + to_flow = trim(to_flow(:s_flow-1)) + + end_line = index(to_flow,IO_EOL) + if(end_line > 0) to_flow = to_flow(:end_line-1) end function to_flow @@ -636,6 +634,20 @@ subroutine selfTest if (.not. to_flow(block_dict_newline) == flow_dict) error stop 'to_flow' end block basic_dict + only_flow: block + character(len=*), parameter :: flow_dict = & + " {a: [b,c: {d: e}, f: g, e]}"//IO_EOL + character(len=*), parameter :: flow_list = & + " [a,b: c, d,e: {f: g}]"//IO_EOL + character(len=*), parameter :: flow_1 = & + "{a: [b, {c: {d: e}}, {f: g}, e]}" + character(len=*), parameter :: flow_2 = & + "[a, {b: c}, d, {e: {f: g}}]" + + if (.not. to_flow(flow_dict) == flow_1) error stop 'to_flow' + if (.not. to_flow(flow_list) == flow_2) error stop 'to_flow' + end block only_flow + basic_flow: block character(len=*), parameter :: flow_braces = & " source: [{param: 1}, {param: 2}, {param: 3}, {param: 4}]"//IO_EOL From de3e13df8862689457e43fef56792dd17f5186b6 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 23 Sep 2020 00:55:19 +0200 Subject: [PATCH 713/958] improved parameter names --- PRIVATE | 2 +- src/constitutive_plastic_disloTungsten.f90 | 20 +++++++------- src/constitutive_plastic_kinehardening.f90 | 2 +- src/constitutive_plastic_nonlocal.f90 | 32 +++++++++++----------- src/constitutive_plastic_phenopowerlaw.f90 | 2 +- 5 files changed, 29 insertions(+), 29 deletions(-) diff --git a/PRIVATE b/PRIVATE index 555f3e01f..f7b371f12 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 555f3e01f2b5cf43ade1bd48423b890adca21771 +Subproject commit f7b371f12950398b61b1ab41fe126c6045e4e686 diff --git a/src/constitutive_plastic_disloTungsten.f90 b/src/constitutive_plastic_disloTungsten.f90 index bef25f420..c5459c3af 100644 --- a/src/constitutive_plastic_disloTungsten.f90 +++ b/src/constitutive_plastic_disloTungsten.f90 @@ -21,7 +21,7 @@ submodule(constitutive:constitutive_plastic) plastic_disloTungsten D_a, & i_sl, & !< Adj. parameter for distance between 2 forest dislocations f_at, & !< factor to calculate atomic volume - tau_peierls, & !< Peierls stress + tau_Peierls, & !< Peierls stress !* mobility law parameters Q_s, & !< activation energy for glide [J] v_0, & !< dislocation velocity prefactor [m/s] @@ -142,7 +142,7 @@ module function plastic_disloTungsten_init() result(myPlasticity) phase%get_asFloat('c/a',defaultVal=0.0_pReal)) if(trim(phase%get_asString('lattice')) == 'bcc') then - a = pl%get_asFloats('nonSchmid_coefficients',defaultVal = emptyRealArray) + a = pl%get_asFloats('a_nonSchmid',defaultVal = emptyRealArray) prm%nonSchmid_pos = lattice_nonSchmidMatrix(N_sl,a,+1) prm%nonSchmid_neg = lattice_nonSchmidMatrix(N_sl,a,-1) else @@ -163,7 +163,7 @@ module function plastic_disloTungsten_init() result(myPlasticity) prm%Q_s = pl%get_asFloats('Q_s', requiredSize=size(N_sl)) prm%i_sl = pl%get_asFloats('i_sl', requiredSize=size(N_sl)) - prm%tau_peierls = pl%get_asFloats('tau_peierls', requiredSize=size(N_sl)) + prm%tau_Peierls = pl%get_asFloats('tau_Peierls', requiredSize=size(N_sl)) prm%p = pl%get_asFloats('p_sl', requiredSize=size(N_sl), & defaultVal=[(1.0_pReal,i=1,size(N_sl))]) prm%q = pl%get_asFloats('q_sl', requiredSize=size(N_sl), & @@ -191,7 +191,7 @@ module function plastic_disloTungsten_init() result(myPlasticity) prm%h = math_expand(prm%h, N_sl) prm%w = math_expand(prm%w, N_sl) prm%omega = math_expand(prm%omega, N_sl) - prm%tau_peierls = math_expand(prm%tau_peierls, N_sl) + prm%tau_Peierls = math_expand(prm%tau_Peierls, N_sl) prm%v_0 = math_expand(prm%v_0, N_sl) prm%B = math_expand(prm%B, N_sl) prm%i_sl = math_expand(prm%i_sl, N_sl) @@ -206,13 +206,13 @@ module function plastic_disloTungsten_init() result(myPlasticity) if (any(prm%v_0 < 0.0_pReal)) extmsg = trim(extmsg)//' v_0' if (any(prm%b_sl <= 0.0_pReal)) extmsg = trim(extmsg)//' b_sl' if (any(prm%Q_s <= 0.0_pReal)) extmsg = trim(extmsg)//' Q_s' - if (any(prm%tau_peierls < 0.0_pReal)) extmsg = trim(extmsg)//' tau_peierls' + if (any(prm%tau_Peierls < 0.0_pReal)) extmsg = trim(extmsg)//' tau_Peierls' if (any(prm%D_a <= 0.0_pReal)) extmsg = trim(extmsg)//' D_a or b_sl' if (any(prm%f_at <= 0.0_pReal)) extmsg = trim(extmsg)//' f_at or b_sl' else slipActive rho_mob_0= emptyRealArray; rho_dip_0 = emptyRealArray - allocate(prm%b_sl,prm%D_a,prm%i_sl,prm%f_at,prm%tau_peierls, & + allocate(prm%b_sl,prm%D_a,prm%i_sl,prm%f_at,prm%tau_Peierls, & prm%Q_s,prm%v_0,prm%p,prm%q,prm%B,prm%h,prm%w,prm%omega, & source = emptyRealArray) allocate(prm%forestProjection(0,0)) @@ -482,7 +482,7 @@ pure subroutine kinetics(Mp,T,instance,of, & effectiveLength => dst%Lambda_sl(:,of) - prm%w) significantPositiveTau: where(abs(tau_pos)-dst%threshold_stress(:,of) > tol_math_check) - StressRatio = (abs(tau_pos)-dst%threshold_stress(:,of))/prm%tau_peierls + StressRatio = (abs(tau_pos)-dst%threshold_stress(:,of))/prm%tau_Peierls StressRatio_p = StressRatio** prm%p StressRatio_pminus1 = StressRatio**(prm%p-1.0_pReal) needsGoodName = exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q) @@ -500,7 +500,7 @@ pure subroutine kinetics(Mp,T,instance,of, & if (present(ddot_gamma_dtau_pos)) then significantPositiveTau2: where(abs(tau_pos)-dst%threshold_stress(:,of) > tol_math_check) dtn = -1.0_pReal * t_n * BoltzmannRatio * prm%p * prm%q * (1.0_pReal-StressRatio_p)**(prm%q - 1.0_pReal) & - * (StressRatio)**(prm%p - 1.0_pReal) / prm%tau_peierls + * (StressRatio)**(prm%p - 1.0_pReal) / prm%tau_Peierls dtk = -1.0_pReal * t_k / tau_pos dvel = -1.0_pReal * prm%h * (dtk + dtn) / (t_n + t_k)**2.0_pReal @@ -512,7 +512,7 @@ pure subroutine kinetics(Mp,T,instance,of, & endif significantNegativeTau: where(abs(tau_neg)-dst%threshold_stress(:,of) > tol_math_check) - StressRatio = (abs(tau_neg)-dst%threshold_stress(:,of))/prm%tau_peierls + StressRatio = (abs(tau_neg)-dst%threshold_stress(:,of))/prm%tau_Peierls StressRatio_p = StressRatio** prm%p StressRatio_pminus1 = StressRatio**(prm%p-1.0_pReal) needsGoodName = exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q) @@ -530,7 +530,7 @@ pure subroutine kinetics(Mp,T,instance,of, & if (present(ddot_gamma_dtau_neg)) then significantNegativeTau2: where(abs(tau_neg)-dst%threshold_stress(:,of) > tol_math_check) dtn = -1.0_pReal * t_n * BoltzmannRatio * prm%p * prm%q * (1.0_pReal-StressRatio_p)**(prm%q - 1.0_pReal) & - * (StressRatio)**(prm%p - 1.0_pReal) / prm%tau_peierls + * (StressRatio)**(prm%p - 1.0_pReal) / prm%tau_Peierls dtk = -1.0_pReal * t_k / tau_neg dvel = -1.0_pReal * prm%h * (dtk + dtn) / (t_n + t_k)**2.0_pReal diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index 813b5554f..fc0b0f235 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -125,7 +125,7 @@ module function plastic_kinehardening_init() result(myPlasticity) phase%get_asFloat('c/a',defaultVal=0.0_pReal)) if(trim(phase%get_asString('lattice')) == 'bcc') then - a = pl%get_asFloats('nonSchmid_coefficients',defaultVal = emptyRealArray) + a = pl%get_asFloats('a_nonSchmid',defaultVal = emptyRealArray) if(size(a) > 0) prm%nonSchmidActive = .true. prm%nonSchmid_pos = lattice_nonSchmidMatrix(N_sl,a,+1) prm%nonSchmid_neg = lattice_nonSchmidMatrix(N_sl,a,-1) diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 6d03f8dae..c289e2d82 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -67,8 +67,8 @@ submodule(constitutive:constitutive_plastic) plastic_nonlocal Q_cl, & !< activation enthalpy for diffusion atol_rho, & !< absolute tolerance for dislocation density in state integration rho_significant, & !< density considered significant - rho_num_significant, & !< number of dislocations considered significant - w, & !< width of a doubkle kink in multiples of the burgers vector length b + rho_min, & !< number of dislocations considered significant + w, & !< width of a doubkle kink in multiples of the Burgers vector length b Q_sol, & !< activation energy for solid solution in J f_sol, & !< solid solution obstacle size in multiples of the burgers vector length c_sol, & !< concentration of solid solution in atomic parts @@ -87,8 +87,8 @@ submodule(constitutive:constitutive_plastic) plastic_nonlocal real(pReal), dimension(:), allocatable :: & d_ed, & !< minimum stable edge dipole height d_sc, & !< minimum stable screw dipole height - tau_peierls_ed, & - tau_peierls_sc, & + tau_Peierls_ed, & + tau_Peierls_sc, & i_sl, & !< mean free path prefactor for each b_sl !< absolute length of burgers vector [m] real(pReal), dimension(:,:), allocatable :: & @@ -244,7 +244,7 @@ module function plastic_nonlocal_init() result(myPlasticity) phase%get_asFloat('c/a',defaultVal=0.0_pReal)) if(trim(phase%get_asString('lattice')) == 'bcc') then - a = pl%get_asFloats('nonSchmid_coefficients',defaultVal = emptyRealArray) + a = pl%get_asFloats('a_nonSchmid',defaultVal = emptyRealArray) if(size(a) > 0) prm%nonSchmidActive = .true. prm%nonSchmid_pos = lattice_nonSchmidMatrix(ini%N_sl,a,+1) prm%nonSchmid_neg = lattice_nonSchmidMatrix(ini%N_sl,a,-1) @@ -300,16 +300,16 @@ module function plastic_nonlocal_init() result(myPlasticity) prm%minDipoleHeight(:,1) = prm%d_ed prm%minDipoleHeight(:,2) = prm%d_sc - prm%tau_peierls_ed = pl%get_asFloats('tau_peierls_ed', requiredSize=size(ini%N_sl)) - prm%tau_peierls_sc = pl%get_asFloats('tau_peierls_sc', requiredSize=size(ini%N_sl)) - prm%tau_peierls_ed = math_expand(prm%tau_peierls_ed,ini%N_sl) - prm%tau_peierls_sc = math_expand(prm%tau_peierls_sc,ini%N_sl) + prm%tau_Peierls_ed = pl%get_asFloats('tau_Peierls_ed', requiredSize=size(ini%N_sl)) + prm%tau_Peierls_sc = pl%get_asFloats('tau_Peierls_sc', requiredSize=size(ini%N_sl)) + prm%tau_Peierls_ed = math_expand(prm%tau_Peierls_ed,ini%N_sl) + prm%tau_Peierls_sc = math_expand(prm%tau_Peierls_sc,ini%N_sl) allocate(prm%peierlsstress(prm%sum_N_sl,2)) - prm%peierlsstress(:,1) = prm%tau_peierls_ed - prm%peierlsstress(:,2) = prm%tau_peierls_sc + prm%peierlsstress(:,1) = prm%tau_Peierls_ed + prm%peierlsstress(:,2) = prm%tau_Peierls_sc prm%rho_significant = pl%get_asFloat('rho_significant') - prm%rho_num_significant = pl%get_asFloat('rho_num_significant', 0.0_pReal) + prm%rho_min = pl%get_asFloat('rho_min', 0.0_pReal) prm%f_c = pl%get_asFloat('f_c',defaultVal=2.0_pReal) prm%V_at = pl%get_asFloat('V_at') @@ -363,7 +363,7 @@ module function plastic_nonlocal_init() result(myPlasticity) if (prm%D_0 < 0.0_pReal) extmsg = trim(extmsg)//' D_0' if (prm%V_at <= 0.0_pReal) extmsg = trim(extmsg)//' V_at' ! ToDo: in disloTungsten, the atomic volume is given as a factor - if (prm%rho_num_significant < 0.0_pReal) extmsg = trim(extmsg)//' rho_num_significant' + if (prm%rho_min < 0.0_pReal) extmsg = trim(extmsg)//' rho_min' if (prm%rho_significant < 0.0_pReal) extmsg = trim(extmsg)//' rho_significant' if (prm%atol_rho < 0.0_pReal) extmsg = trim(extmsg)//' atol_rho' if (prm%f_c < 0.0_pReal) extmsg = trim(extmsg)//' f_c' @@ -1334,7 +1334,7 @@ function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) neighbor_rhoSgl0(s,t) = max(plasticState(np)%state0(iRhoU(s,t,neighbor_instance),no),0.0_pReal) endforall - where (neighbor_rhoSgl0 * IPvolume(neighbor_ip,neighbor_el) ** 0.667_pReal < prm%rho_num_significant & + where (neighbor_rhoSgl0 * IPvolume(neighbor_ip,neighbor_el) ** 0.667_pReal < prm%rho_min & .or. neighbor_rhoSgl0 < prm%rho_significant) & neighbor_rhoSgl0 = 0.0_pReal normal_neighbor2me_defConf = math_det33(Favg) * matmul(math_inv33(transpose(Favg)), & @@ -1805,7 +1805,7 @@ pure function getRho(instance,of,ip,el) getRho(:,mob) = max(getRho(:,mob),0.0_pReal) getRho(:,dip) = max(getRho(:,dip),0.0_pReal) - where(abs(getRho) < max(prm%rho_num_significant/IPvolume(ip,el)**(2.0_pReal/3.0_pReal),prm%rho_significant)) & + where(abs(getRho) < max(prm%rho_min/IPvolume(ip,el)**(2.0_pReal/3.0_pReal),prm%rho_significant)) & getRho = 0.0_pReal end associate @@ -1830,7 +1830,7 @@ pure function getRho0(instance,of,ip,el) getRho0(:,mob) = max(getRho0(:,mob),0.0_pReal) getRho0(:,dip) = max(getRho0(:,dip),0.0_pReal) - where(abs(getRho0) < max(prm%rho_num_significant/IPvolume(ip,el)**(2.0_pReal/3.0_pReal),prm%rho_significant)) & + where(abs(getRho0) < max(prm%rho_min/IPvolume(ip,el)**(2.0_pReal/3.0_pReal),prm%rho_significant)) & getRho0 = 0.0_pReal end associate diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index 25a34997b..48137d94e 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -120,7 +120,7 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) phase%get_asFloat('c/a',defaultVal=0.0_pReal)) if(phase%get_asString('lattice') == 'bcc') then - a = pl%get_asFloats('nonSchmid_coefficients',defaultVal=emptyRealArray) + a = pl%get_asFloats('a_nonSchmid',defaultVal=emptyRealArray) if(size(a) > 0) prm%nonSchmidActive = .true. prm%nonSchmid_pos = lattice_nonSchmidMatrix(N_sl,a,+1) prm%nonSchmid_neg = lattice_nonSchmidMatrix(N_sl,a,-1) From 190b90d3d482e526b00d8b9787ad891f8f35f2db Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 23 Sep 2020 01:08:13 +0200 Subject: [PATCH 714/958] all source mechanisms covered --- src/source_damage_anisoBrittle.f90 | 38 ++++++++++++++--------------- src/source_damage_anisoDuctile.f90 | 18 +++++++------- src/source_damage_isoDuctile.f90 | 14 +++++------ src/source_thermal_externalheat.f90 | 18 +++++++------- 4 files changed, 44 insertions(+), 44 deletions(-) diff --git a/src/source_damage_anisoBrittle.f90 b/src/source_damage_anisoBrittle.f90 index 6dd58fe5b..cd6e3a5b0 100644 --- a/src/source_damage_anisoBrittle.f90 +++ b/src/source_damage_anisoBrittle.f90 @@ -12,11 +12,11 @@ submodule (constitutive:constitutive_damage) source_damage_anisoBrittle type :: tParameters !< container type for internal constitutive parameters real(pReal) :: & - sdot_0, & !< opening rate of cleavage planes - n !< damage rate sensitivity + dot_o, & !< opening rate of cleavage planes + q !< damage rate sensitivity real(pReal), dimension(:), allocatable :: & - critDisp, & !< critical displacement - critLoad !< critical load + s_crit, & !< critical displacement + g_crit !< critical load real(pReal), dimension(:,:,:,:), allocatable :: & cleavage_systems integer :: & @@ -75,18 +75,18 @@ module function source_damage_anisoBrittle_init(source_length) result(mySources) N_cl = src%get_asInts('N_cl',defaultVal=emptyIntArray) prm%sum_N_cl = sum(abs(N_cl)) - prm%n = src%get_asFloat('q') - prm%sdot_0 = src%get_asFloat('dot_o') + prm%q = src%get_asFloat('q') + prm%dot_o = src%get_asFloat('dot_o') - prm%critDisp = src%get_asFloats('s_crit', requiredSize=size(N_cl)) - prm%critLoad = src%get_asFloats('g_crit', requiredSize=size(N_cl)) + prm%s_crit = src%get_asFloats('s_crit', requiredSize=size(N_cl)) + prm%g_crit = src%get_asFloats('g_crit', requiredSize=size(N_cl)) prm%cleavage_systems = lattice_SchmidMatrix_cleavage(N_cl,phase%get_asString('lattice'),& phase%get_asFloat('c/a',defaultVal=0.0_pReal)) ! expand: family => system - prm%critDisp = math_expand(prm%critDisp,N_cl) - prm%critLoad = math_expand(prm%critLoad,N_cl) + prm%s_crit = math_expand(prm%s_crit,N_cl) + prm%g_crit = math_expand(prm%g_crit,N_cl) #if defined (__GFORTRAN__) prm%output = output_asStrings(src) @@ -95,10 +95,10 @@ module function source_damage_anisoBrittle_init(source_length) result(mySources) #endif ! sanity checks - if (prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' q' - if (prm%sdot_0 <= 0.0_pReal) extmsg = trim(extmsg)//' dot_o' - if (any(prm%critLoad < 0.0_pReal)) extmsg = trim(extmsg)//' g_crit' - if (any(prm%critDisp < 0.0_pReal)) extmsg = trim(extmsg)//' s_crit' + if (prm%q <= 0.0_pReal) extmsg = trim(extmsg)//' q' + if (prm%dot_o <= 0.0_pReal) extmsg = trim(extmsg)//' dot_o' + if (any(prm%g_crit < 0.0_pReal)) extmsg = trim(extmsg)//' g_crit' + if (any(prm%s_crit < 0.0_pReal)) extmsg = trim(extmsg)//' s_crit' NipcMyPhase = count(material_phaseAt==p) * discretization_nIP call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) @@ -152,14 +152,14 @@ module subroutine source_damage_anisoBrittle_dotState(S, ipc, ip, el) traction_t = math_tensordot(S,prm%cleavage_systems(1:3,1:3,2,i)) traction_n = math_tensordot(S,prm%cleavage_systems(1:3,1:3,3,i)) - traction_crit = prm%critLoad(i)*damage(homog)%p(damageOffset)**2.0_pReal + traction_crit = prm%g_crit(i)*damage(homog)%p(damageOffset)**2.0_pReal sourceState(phase)%p(sourceOffset)%dotState(1,constituent) & = sourceState(phase)%p(sourceOffset)%dotState(1,constituent) & - + prm%sdot_0 / prm%critDisp(i) & - * ((max(0.0_pReal, abs(traction_d) - traction_crit)/traction_crit)**prm%n + & - (max(0.0_pReal, abs(traction_t) - traction_crit)/traction_crit)**prm%n + & - (max(0.0_pReal, abs(traction_n) - traction_crit)/traction_crit)**prm%n) + + prm%dot_o / prm%s_crit(i) & + * ((max(0.0_pReal, abs(traction_d) - traction_crit)/traction_crit)**prm%q + & + (max(0.0_pReal, abs(traction_t) - traction_crit)/traction_crit)**prm%q + & + (max(0.0_pReal, abs(traction_n) - traction_crit)/traction_crit)**prm%q) enddo end associate diff --git a/src/source_damage_anisoDuctile.f90 b/src/source_damage_anisoDuctile.f90 index 37681a23f..a1826dc30 100644 --- a/src/source_damage_anisoDuctile.f90 +++ b/src/source_damage_anisoDuctile.f90 @@ -12,9 +12,9 @@ submodule(constitutive:constitutive_damage) source_damage_anisoDuctile type :: tParameters !< container type for internal constitutive parameters real(pReal) :: & - n !< damage rate sensitivity + q !< damage rate sensitivity real(pReal), dimension(:), allocatable :: & - critPlasticStrain !< critical plastic strain per slip system + gamma_crit !< critical plastic strain per slip system character(len=pStringLen), allocatable, dimension(:) :: & output end type tParameters @@ -67,12 +67,12 @@ module function source_damage_anisoDuctile_init(source_length) result(mySources) associate(prm => param(source_damage_anisoDuctile_instance(p))) src => sources%get(sourceOffset) - N_sl = pl%get_asInts('N_sl',defaultVal=emptyIntArray) - prm%n = src%get_asFloat('q') - prm%critPlasticStrain = src%get_asFloats('gamma_crit',requiredSize=size(N_sl)) + N_sl = pl%get_asInts('N_sl',defaultVal=emptyIntArray) + prm%q = src%get_asFloat('q') + prm%gamma_crit = src%get_asFloats('gamma_crit',requiredSize=size(N_sl)) ! expand: family => system - prm%critPlasticStrain = math_expand(prm%critPlasticStrain,N_sl) + prm%gamma_crit = math_expand(prm%gamma_crit,N_sl) #if defined (__GFORTRAN__) prm%output = output_asStrings(src) @@ -81,8 +81,8 @@ module function source_damage_anisoDuctile_init(source_length) result(mySources) #endif ! sanity checks - if (prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' q' - if (any(prm%critPlasticStrain < 0.0_pReal)) extmsg = trim(extmsg)//' gamma_crit' + if (prm%q <= 0.0_pReal) extmsg = trim(extmsg)//' q' + if (any(prm%gamma_crit < 0.0_pReal)) extmsg = trim(extmsg)//' gamma_crit' NipcMyPhase=count(material_phaseAt==p) * discretization_nIP call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) @@ -127,7 +127,7 @@ module subroutine source_damage_anisoDuctile_dotState(ipc, ip, el) associate(prm => param(source_damage_anisoDuctile_instance(phase))) sourceState(phase)%p(sourceOffset)%dotState(1,constituent) & - = sum(plasticState(phase)%slipRate(:,constituent)/(damage(homog)%p(damageOffset)**prm%n)/prm%critPlasticStrain) + = sum(plasticState(phase)%slipRate(:,constituent)/(damage(homog)%p(damageOffset)**prm%q)/prm%gamma_crit) end associate end subroutine source_damage_anisoDuctile_dotState diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index 1c1c53fd0..8f680018d 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -12,8 +12,8 @@ submodule (constitutive:constitutive_damage) source_damage_isoDuctile type:: tParameters !< container type for internal constitutive parameters real(pReal) :: & - critPlasticStrain, & !< critical plastic strain - N + gamma_crit, & !< critical plastic strain + q character(len=pStringLen), allocatable, dimension(:) :: & output end type tParameters @@ -64,8 +64,8 @@ module function source_damage_isoDuctile_init(source_length) result(mySources) associate(prm => param(source_damage_isoDuctile_instance(p))) src => sources%get(sourceOffset) - prm%N = src%get_asFloat('q') - prm%critPlasticStrain = src%get_asFloat('gamma_crit') + prm%q = src%get_asFloat('q') + prm%gamma_crit = src%get_asFloat('gamma_crit') #if defined (__GFORTRAN__) prm%output = output_asStrings(src) @@ -74,8 +74,8 @@ module function source_damage_isoDuctile_init(source_length) result(mySources) #endif ! sanity checks - if (prm%N <= 0.0_pReal) extmsg = trim(extmsg)//' q' - if (prm%critPlasticStrain <= 0.0_pReal) extmsg = trim(extmsg)//' gamma_crit' + if (prm%q <= 0.0_pReal) extmsg = trim(extmsg)//' q' + if (prm%gamma_crit <= 0.0_pReal) extmsg = trim(extmsg)//' gamma_crit' NipcMyPhase=count(material_phaseAt==p) * discretization_nIP call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) @@ -120,7 +120,7 @@ module subroutine source_damage_isoDuctile_dotState(ipc, ip, el) associate(prm => param(source_damage_isoDuctile_instance(phase))) sourceState(phase)%p(sourceOffset)%dotState(1,constituent) = & - sum(plasticState(phase)%slipRate(:,constituent))/(damage(homog)%p(damageOffset)**prm%N)/prm%critPlasticStrain + sum(plasticState(phase)%slipRate(:,constituent))/(damage(homog)%p(damageOffset)**prm%q)/prm%gamma_crit end associate end subroutine source_damage_isoDuctile_dotState diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index e7bfea254..753494a2d 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -13,8 +13,8 @@ submodule(constitutive:constitutive_thermal) source_thermal_externalheat type :: tParameters !< container type for internal constitutive parameters real(pReal), dimension(:), allocatable :: & - time, & - heat_rate + t_n, & + f_T integer :: & nIntervals end type tParameters @@ -64,10 +64,10 @@ module function source_thermal_externalheat_init(source_length) result(mySources associate(prm => param(source_thermal_externalheat_instance(p))) src => sources%get(sourceOffset) - prm%time = src%get_asFloats('t_n') - prm%nIntervals = size(prm%time) - 1 + prm%t_n = src%get_asFloats('t_n') + prm%nIntervals = size(prm%t_n) - 1 - prm%heat_rate = src%get_asFloats('f_T',requiredSize = size(prm%time)) + prm%f_T = src%get_asFloats('f_T',requiredSize = size(prm%t_n)) NipcMyPhase = count(material_phaseAt==p) * discretization_nIP call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) @@ -121,13 +121,13 @@ module subroutine source_thermal_externalheat_getRateAndItsTangent(TDot, dTDot_d associate(prm => param(source_thermal_externalheat_instance(phase))) do interval = 1, prm%nIntervals ! scan through all rate segments - frac_time = (sourceState(phase)%p(sourceOffset)%state(1,of) - prm%time(interval)) & - / (prm%time(interval+1) - prm%time(interval)) ! fractional time within segment + frac_time = (sourceState(phase)%p(sourceOffset)%state(1,of) - prm%t_n(interval)) & + / (prm%t_n(interval+1) - prm%t_n(interval)) ! fractional time within segment if ( (frac_time < 0.0_pReal .and. interval == 1) & .or. (frac_time >= 1.0_pReal .and. interval == prm%nIntervals) & .or. (frac_time >= 0.0_pReal .and. frac_time < 1.0_pReal) ) & - TDot = prm%heat_rate(interval ) * (1.0_pReal - frac_time) + & - prm%heat_rate(interval+1) * frac_time ! interpolate heat rate between segment boundaries... + TDot = prm%f_T(interval ) * (1.0_pReal - frac_time) + & + prm%f_T(interval+1) * frac_time ! interpolate heat rate between segment boundaries... ! ...or extrapolate if outside of bounds enddo dTDot_dT = 0.0 From 13cbd1c42e6e6a2335a9ba1be196d97d5dea1ed9 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 23 Sep 2020 01:16:12 +0200 Subject: [PATCH 715/958] all kinematics modules made consistent --- src/kinematics_cleavage_opening.f90 | 34 +++++++++++------------ src/kinematics_slipplane_opening.f90 | 40 ++++++++++++++-------------- src/kinematics_thermal_expansion.f90 | 32 +++++++++++----------- 3 files changed, 53 insertions(+), 53 deletions(-) diff --git a/src/kinematics_cleavage_opening.f90 b/src/kinematics_cleavage_opening.f90 index d8f25f8b8..9bcc7fc74 100644 --- a/src/kinematics_cleavage_opening.f90 +++ b/src/kinematics_cleavage_opening.f90 @@ -12,10 +12,10 @@ submodule(constitutive:constitutive_damage) kinematics_cleavage_opening integer :: & sum_N_cl !< total number of cleavage planes real(pReal) :: & - sdot0, & !< opening rate of cleavage planes - n !< damage rate sensitivity + dot_o, & !< opening rate of cleavage planes + q !< damage rate sensitivity real(pReal), dimension(:), allocatable :: & - critLoad + g_crit real(pReal), dimension(:,:,:,:), allocatable :: & cleavage_systems end type tParameters @@ -70,21 +70,21 @@ module function kinematics_cleavage_opening_init(kinematics_length) result(myKin N_cl = kinematic_type%get_asInts('N_cl') prm%sum_N_cl = sum(abs(N_cl)) - prm%n = kinematic_type%get_asFloat('q') - prm%sdot0 = kinematic_type%get_asFloat('dot_o') + prm%q = kinematic_type%get_asFloat('q') + prm%dot_o = kinematic_type%get_asFloat('dot_o') - prm%critLoad = kinematic_type%get_asFloats('g_crit',requiredSize=size(N_cl)) + prm%g_crit = kinematic_type%get_asFloats('g_crit',requiredSize=size(N_cl)) prm%cleavage_systems = lattice_SchmidMatrix_cleavage(N_cl,phase%get_asString('lattice'),& phase%get_asFloat('c/a',defaultVal=0.0_pReal)) ! expand: family => system - prm%critLoad = math_expand(prm%critLoad,N_cl) + prm%g_crit = math_expand(prm%g_crit,N_cl) ! sanity checks - if (prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' q' - if (prm%sdot0 <= 0.0_pReal) extmsg = trim(extmsg)//' dot_o' - if (any(prm%critLoad < 0.0_pReal)) extmsg = trim(extmsg)//' g_crit' + if (prm%q <= 0.0_pReal) extmsg = trim(extmsg)//' q' + if (prm%dot_o <= 0.0_pReal) extmsg = trim(extmsg)//' dot_o' + if (any(prm%g_crit < 0.0_pReal)) extmsg = trim(extmsg)//' g_crit' !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range @@ -128,13 +128,13 @@ module subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S, dLd_dTstar = 0.0_pReal associate(prm => param(kinematics_cleavage_opening_instance(material_phaseAt(ipc,el)))) do i = 1,prm%sum_N_cl - traction_crit = prm%critLoad(i)* damage(homog)%p(damageOffset)**2.0_pReal + traction_crit = prm%g_crit(i)* damage(homog)%p(damageOffset)**2.0_pReal traction_d = math_tensordot(S,prm%cleavage_systems(1:3,1:3,1,i)) if (abs(traction_d) > traction_crit + tol_math_check) then - udotd = sign(1.0_pReal,traction_d)* prm%sdot0 * ((abs(traction_d) - traction_crit)/traction_crit)**prm%n + udotd = sign(1.0_pReal,traction_d)* prm%dot_o * ((abs(traction_d) - traction_crit)/traction_crit)**prm%q Ld = Ld + udotd*prm%cleavage_systems(1:3,1:3,1,i) - dudotd_dt = sign(1.0_pReal,traction_d)*udotd*prm%n / (abs(traction_d) - traction_crit) + dudotd_dt = sign(1.0_pReal,traction_d)*udotd*prm%q / (abs(traction_d) - traction_crit) forall (k=1:3,l=1:3,m=1:3,n=1:3) & dLd_dTstar(k,l,m,n) = dLd_dTstar(k,l,m,n) & + dudotd_dt*prm%cleavage_systems(k,l,1,i) * prm%cleavage_systems(m,n,1,i) @@ -142,9 +142,9 @@ module subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S, traction_t = math_tensordot(S,prm%cleavage_systems(1:3,1:3,2,i)) if (abs(traction_t) > traction_crit + tol_math_check) then - udott = sign(1.0_pReal,traction_t)* prm%sdot0 * ((abs(traction_t) - traction_crit)/traction_crit)**prm%n + udott = sign(1.0_pReal,traction_t)* prm%dot_o * ((abs(traction_t) - traction_crit)/traction_crit)**prm%q Ld = Ld + udott*prm%cleavage_systems(1:3,1:3,2,i) - dudott_dt = sign(1.0_pReal,traction_t)*udott*prm%n / (abs(traction_t) - traction_crit) + dudott_dt = sign(1.0_pReal,traction_t)*udott*prm%q / (abs(traction_t) - traction_crit) forall (k=1:3,l=1:3,m=1:3,n=1:3) & dLd_dTstar(k,l,m,n) = dLd_dTstar(k,l,m,n) & + dudott_dt*prm%cleavage_systems(k,l,2,i) * prm%cleavage_systems(m,n,2,i) @@ -152,9 +152,9 @@ module subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S, traction_n = math_tensordot(S,prm%cleavage_systems(1:3,1:3,3,i)) if (abs(traction_n) > traction_crit + tol_math_check) then - udotn = sign(1.0_pReal,traction_n)* prm%sdot0 * ((abs(traction_n) - traction_crit)/traction_crit)**prm%n + udotn = sign(1.0_pReal,traction_n)* prm%dot_o * ((abs(traction_n) - traction_crit)/traction_crit)**prm%q Ld = Ld + udotn*prm%cleavage_systems(1:3,1:3,3,i) - dudotn_dt = sign(1.0_pReal,traction_n)*udotn*prm%n / (abs(traction_n) - traction_crit) + dudotn_dt = sign(1.0_pReal,traction_n)*udotn*prm%q / (abs(traction_n) - traction_crit) forall (k=1:3,l=1:3,m=1:3,n=1:3) & dLd_dTstar(k,l,m,n) = dLd_dTstar(k,l,m,n) & + dudotn_dt*prm%cleavage_systems(k,l,3,i) * prm%cleavage_systems(m,n,3,i) diff --git a/src/kinematics_slipplane_opening.f90 b/src/kinematics_slipplane_opening.f90 index 3b04e37c1..5b20a0486 100644 --- a/src/kinematics_slipplane_opening.f90 +++ b/src/kinematics_slipplane_opening.f90 @@ -12,10 +12,10 @@ submodule(constitutive:constitutive_damage) kinematics_slipplane_opening integer :: & sum_N_sl !< total number of cleavage planes real(pReal) :: & - sdot0, & !< opening rate of cleavage planes - n !< damage rate sensitivity + dot_o, & !< opening rate of cleavage planes + q !< damage rate sensitivity real(pReal), dimension(:), allocatable :: & - critLoad + g_crit real(pReal), dimension(:,:,:), allocatable :: & P_d, & P_t, & @@ -70,8 +70,8 @@ module function kinematics_slipplane_opening_init(kinematics_length) result(myKi associate(prm => param(kinematics_slipplane_opening_instance(p))) kinematic_type => kinematics%get(k) - prm%sdot0 = kinematic_type%get_asFloat('dot_o') - prm%n = kinematic_type%get_asFloat('q') + prm%dot_o = kinematic_type%get_asFloat('dot_o') + prm%q = kinematic_type%get_asFloat('q') N_sl = pl%get_asInts('N_sl') prm%sum_N_sl = sum(abs(N_sl)) @@ -89,15 +89,15 @@ module function kinematics_slipplane_opening_init(kinematics_length) result(myKi prm%P_n(1:3,1:3,i) = math_outer(n(1:3,i), n(1:3,i)) enddo - prm%critLoad = kinematic_type%get_asFloats('g_crit',requiredSize=size(N_sl)) + prm%g_crit = kinematic_type%get_asFloats('g_crit',requiredSize=size(N_sl)) ! expand: family => system - prm%critLoad = math_expand(prm%critLoad,N_sl) + prm%g_crit = math_expand(prm%g_crit,N_sl) ! sanity checks - if (prm%n <= 0.0_pReal) extmsg = trim(extmsg)//' anisoDuctile_n' - if (prm%sdot0 <= 0.0_pReal) extmsg = trim(extmsg)//' anisoDuctile_sdot0' - if (any(prm%critLoad < 0.0_pReal)) extmsg = trim(extmsg)//' anisoDuctile_critLoad' + if (prm%q <= 0.0_pReal) extmsg = trim(extmsg)//' anisoDuctile_n' + if (prm%dot_o <= 0.0_pReal) extmsg = trim(extmsg)//' anisoDuctile_sdot0' + if (any(prm%g_crit < 0.0_pReal)) extmsg = trim(extmsg)//' anisoDuctile_critLoad' !-------------------------------------------------------------------------------------------------- ! exit if any parameter is out of range @@ -150,27 +150,27 @@ module subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar, S traction_t = math_tensordot(S,prm%P_t(1:3,1:3,i)) traction_n = math_tensordot(S,prm%P_n(1:3,1:3,i)) - traction_crit = prm%critLoad(i)* damage(homog)%p(damageOffset) ! degrading critical load carrying capacity by damage + traction_crit = prm%g_crit(i)* damage(homog)%p(damageOffset) ! degrading critical load carrying capacity by damage - udotd = sign(1.0_pReal,traction_d)* prm%sdot0* ( abs(traction_d)/traction_crit & - - abs(traction_d)/prm%critLoad(i))**prm%n - udott = sign(1.0_pReal,traction_t)* prm%sdot0* ( abs(traction_t)/traction_crit & - - abs(traction_t)/prm%critLoad(i))**prm%n - udotn = prm%sdot0* ( max(0.0_pReal,traction_n)/traction_crit & - - max(0.0_pReal,traction_n)/prm%critLoad(i))**prm%n + udotd = sign(1.0_pReal,traction_d)* prm%dot_o* ( abs(traction_d)/traction_crit & + - abs(traction_d)/prm%g_crit(i))**prm%q + udott = sign(1.0_pReal,traction_t)* prm%dot_o* ( abs(traction_t)/traction_crit & + - abs(traction_t)/prm%g_crit(i))**prm%q + udotn = prm%dot_o* ( max(0.0_pReal,traction_n)/traction_crit & + - max(0.0_pReal,traction_n)/prm%g_crit(i))**prm%q if (dNeq0(traction_d)) then - dudotd_dt = udotd*prm%n/traction_d + dudotd_dt = udotd*prm%q/traction_d else dudotd_dt = 0.0_pReal endif if (dNeq0(traction_t)) then - dudott_dt = udott*prm%n/traction_t + dudott_dt = udott*prm%q/traction_t else dudott_dt = 0.0_pReal endif if (dNeq0(traction_n)) then - dudotn_dt = udotn*prm%n/traction_n + dudotn_dt = udotn*prm%q/traction_n else dudotn_dt = 0.0_pReal endif diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index 652713aa4..826064682 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -11,7 +11,7 @@ submodule(constitutive:constitutive_thermal) kinematics_thermal_expansion real(pReal) :: & T_ref real(pReal), dimension(3,3,3) :: & - expansion = 0.0_pReal + A = 0.0_pReal end type tParameters type(tParameters), dimension(:), allocatable :: param @@ -64,13 +64,13 @@ module function kinematics_thermal_expansion_init(kinematics_length) result(myKi ! read up to three parameters (constant, linear, quadratic with T) temp = kinematic_type%get_asFloats('A_11') - prm%expansion(1,1,1:size(temp)) = temp + prm%A(1,1,1:size(temp)) = temp temp = kinematic_type%get_asFloats('A_22',defaultVal=[(0.0_pReal, i=1,size(temp))],requiredSize=size(temp)) - prm%expansion(2,2,1:size(temp)) = temp + prm%A(2,2,1:size(temp)) = temp temp = kinematic_type%get_asFloats('A_33',defaultVal=[(0.0_pReal, i=1,size(temp))],requiredSize=size(temp)) - prm%expansion(3,3,1:size(temp)) = temp - do i=1, size(prm%expansion,3) - prm%expansion(1:3,1:3,i) = lattice_applyLatticeSymmetry33(prm%expansion(1:3,1:3,i),& + prm%A(3,3,1:size(temp)) = temp + do i=1, size(prm%A,3) + prm%A(1:3,1:3,i) = lattice_applyLatticeSymmetry33(prm%A(1:3,1:3,i),& phase%get_asString('lattice')) enddo @@ -94,13 +94,13 @@ pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offs offset real(pReal), dimension(3,3) :: & - initialStrain !< initial thermal strain (should be small strain, though) + initialStrain !< initial thermal strain (should be small strain, though) associate(prm => param(kinematics_thermal_expansion_instance(phase))) initialStrain = & - (temperature(homog)%p(offset) - prm%T_ref)**1 / 1. * prm%expansion(1:3,1:3,1) + & ! constant coefficient - (temperature(homog)%p(offset) - prm%T_ref)**2 / 2. * prm%expansion(1:3,1:3,2) + & ! linear coefficient - (temperature(homog)%p(offset) - prm%T_ref)**3 / 3. * prm%expansion(1:3,1:3,3) ! quadratic coefficient + (temperature(homog)%p(offset) - prm%T_ref)**1 / 1. * prm%A(1:3,1:3,1) + & ! constant coefficient + (temperature(homog)%p(offset) - prm%T_ref)**2 / 2. * prm%A(1:3,1:3,2) + & ! linear coefficient + (temperature(homog)%p(offset) - prm%T_ref)**3 / 3. * prm%A(1:3,1:3,3) ! quadratic coefficient end associate end function kinematics_thermal_expansion_initialStrain @@ -133,14 +133,14 @@ module subroutine kinematics_thermal_expansion_LiAndItsTangent(Li, dLi_dTstar, i associate(prm => param(kinematics_thermal_expansion_instance(phase))) Li = TDot * ( & - prm%expansion(1:3,1:3,1)*(T - prm%T_ref)**0 & ! constant coefficient - + prm%expansion(1:3,1:3,2)*(T - prm%T_ref)**1 & ! linear coefficient - + prm%expansion(1:3,1:3,3)*(T - prm%T_ref)**2 & ! quadratic coefficient + prm%A(1:3,1:3,1)*(T - prm%T_ref)**0 & ! constant coefficient + + prm%A(1:3,1:3,2)*(T - prm%T_ref)**1 & ! linear coefficient + + prm%A(1:3,1:3,3)*(T - prm%T_ref)**2 & ! quadratic coefficient ) / & (1.0_pReal & - + prm%expansion(1:3,1:3,1)*(T - prm%T_ref)**1 / 1. & - + prm%expansion(1:3,1:3,2)*(T - prm%T_ref)**2 / 2. & - + prm%expansion(1:3,1:3,3)*(T - prm%T_ref)**3 / 3. & + + prm%A(1:3,1:3,1)*(T - prm%T_ref)**1 / 1. & + + prm%A(1:3,1:3,2)*(T - prm%T_ref)**2 / 2. & + + prm%A(1:3,1:3,3)*(T - prm%T_ref)**3 / 3. & ) end associate dLi_dTstar = 0.0_pReal From fb908a5f568f3cfc7123360a57659041b437b611 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 23 Sep 2020 01:33:19 +0200 Subject: [PATCH 716/958] homogenization modules made consistent --- src/homogenization_mech_RGC.f90 | 88 +++++++++++++-------------- src/homogenization_mech_isostrain.f90 | 8 +-- 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index cdd7c05dd..349700879 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -4,20 +4,20 @@ !> @author Franz Roters, Max-Planck-Institut für Eisenforschung GmbH !> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH !> @brief Relaxed grain cluster (RGC) homogenization scheme -!> Nconstituents is defined as p x q x r (cluster) +!> N_constituents is defined as p x q x r (cluster) !-------------------------------------------------------------------------------------------------- submodule(homogenization) homogenization_mech_RGC use rotations type :: tParameters integer, dimension(:), allocatable :: & - Nconstituents + N_constituents real(pReal) :: & - xiAlpha, & - ciAlpha + xi_alpha, & + c_Alpha real(pReal), dimension(:), allocatable :: & - dAlpha, & - angles + D_alpha, & + a_g integer :: & of_debug = 0 character(len=pStringLen), allocatable, dimension(:) :: & @@ -163,20 +163,20 @@ module subroutine mech_RGC_init(num_homogMech) prm%output = homogMech%get_asStrings('output',defaultVal=emptyStringArray) #endif - prm%Nconstituents = homogMech%get_asInts('cluster_size',requiredSize=3) - if (homogenization_Ngrains(h) /= product(prm%Nconstituents)) & + prm%N_constituents = homogMech%get_asInts('cluster_size',requiredSize=3) + if (homogenization_Ngrains(h) /= product(prm%N_constituents)) & call IO_error(211,ext_msg='clustersize (mech_rgc)') - prm%xiAlpha = homogMech%get_asFloat('xi_alpha') - prm%ciAlpha = homogMech%get_asFloat('c_alpha') + prm%xi_alpha = homogMech%get_asFloat('xi_alpha') + prm%c_alpha = homogMech%get_asFloat('c_alpha') - prm%dAlpha = homogMech%get_asFloats('D_alpha', requiredSize=3) - prm%angles = homogMech%get_asFloats('a_g', requiredSize=3) + prm%D_alpha = homogMech%get_asFloats('D_alpha', requiredSize=3) + prm%a_g = homogMech%get_asFloats('a_g', requiredSize=3) NofMyHomog = count(material_homogenizationAt == h) - nIntFaceTot = 3*( (prm%Nconstituents(1)-1)*prm%Nconstituents(2)*prm%Nconstituents(3) & - + prm%Nconstituents(1)*(prm%Nconstituents(2)-1)*prm%Nconstituents(3) & - + prm%Nconstituents(1)*prm%Nconstituents(2)*(prm%Nconstituents(3)-1)) + nIntFaceTot = 3*( (prm%N_constituents(1)-1)*prm%N_constituents(2)*prm%N_constituents(3) & + + prm%N_constituents(1)*(prm%N_constituents(2)-1)*prm%N_constituents(3) & + + prm%N_constituents(1)*prm%N_constituents(2)*(prm%N_constituents(3)-1)) sizeState = nIntFaceTot & + size(['avg constitutive work ','average penalty energy']) @@ -197,8 +197,8 @@ module subroutine mech_RGC_init(num_homogMech) !-------------------------------------------------------------------------------------------------- ! assigning cluster orientations - dependentState(homogenization_typeInstance(h))%orientation = spread(eu2om(prm%angles*inRad),3,NofMyHomog) - !dst%orientation = spread(eu2om(prm%angles*inRad),3,NofMyHomog) ifort version 18.0.1 crashes (for whatever reason) + dependentState(homogenization_typeInstance(h))%orientation = spread(eu2om(prm%a_g*inRad),3,NofMyHomog) + !dst%orientation = spread(eu2om(prm%a_g*inRad),3,NofMyHomog) ifort version 18.0.1 crashes (for whatever reason) end associate @@ -229,8 +229,8 @@ module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of) !-------------------------------------------------------------------------------------------------- ! compute the deformation gradient of individual grains due to relaxations F = 0.0_pReal - do iGrain = 1,product(prm%Nconstituents) - iGrain3 = grain1to3(iGrain,prm%Nconstituents) + do iGrain = 1,product(prm%N_constituents) + iGrain3 = grain1to3(iGrain,prm%N_constituents) do iFace = 1,6 intFace = getInterface(iFace,iGrain3) ! identifying 6 interfaces of each grain aVect = relaxationVector(intFace,instance,of) ! get the relaxation vectors for each interface from global relaxation vector array @@ -290,7 +290,7 @@ module procedure mech_RGC_updateState !-------------------------------------------------------------------------------------------------- ! get the dimension of the cluster (grains and interfaces) - nGDim = prm%Nconstituents + nGDim = prm%N_constituents nGrain = product(nGDim) nIntFaceTot = (nGDim(1)-1)*nGDim(2)*nGDim(3) & + nGDim(1)*(nGDim(2)-1)*nGDim(3) & @@ -324,12 +324,12 @@ module procedure mech_RGC_updateState !------------------------------------------------------------------------------------------------ ! computing the residual stress from the balance of traction at all (interior) interfaces do iNum = 1,nIntFaceTot - faceID = interface1to4(iNum,param(instance)%Nconstituents) ! identifying the interface ID in local coordinate system (4-dimensional index) + faceID = interface1to4(iNum,param(instance)%N_constituents) ! identifying the interface ID in local coordinate system (4-dimensional index) !-------------------------------------------------------------------------------------------------- ! identify the left/bottom/back grain (-|N) iGr3N = faceID(2:4) ! identifying the grain ID in local coordinate system (3-dimensional index) - iGrN = grain3to1(iGr3N,param(instance)%Nconstituents) ! translate the local grain ID into global coordinate system (1-dimensional index) + iGrN = grain3to1(iGr3N,param(instance)%N_constituents) ! translate the local grain ID into global coordinate system (1-dimensional index) intFaceN = getInterface(2*faceID(1),iGr3N) normN = interfaceNormal(intFaceN,instance,of) @@ -337,7 +337,7 @@ module procedure mech_RGC_updateState ! identify the right/up/front grain (+|P) iGr3P = iGr3N iGr3P(faceID(1)) = iGr3N(faceID(1))+1 ! identifying the grain ID in local coordinate system (3-dimensional index) - iGrP = grain3to1(iGr3P,param(instance)%Nconstituents) ! translate the local grain ID into global coordinate system (1-dimensional index) + iGrP = grain3to1(iGr3P,param(instance)%N_constituents) ! translate the local grain ID into global coordinate system (1-dimensional index) intFaceP = getInterface(2*faceID(1)-1,iGr3P) normP = interfaceNormal(intFaceP,instance,of) @@ -393,7 +393,7 @@ module procedure mech_RGC_updateState !-------------------------------------------------------------------------------------------------- ! compute/update the state for postResult, i.e., all energy densities computed by time-integration - do iGrain = 1,product(prm%Nconstituents) + do iGrain = 1,product(prm%N_constituents) do i = 1,3;do j = 1,3 stt%work(of) = stt%work(of) & + P(i,j,iGrain)*(F(i,j,iGrain) - F0(i,j,iGrain))/real(nGrain,pReal) @@ -450,18 +450,18 @@ module procedure mech_RGC_updateState ! ... of the constitutive stress tangent, assembled from dPdF or material constitutive model "smatrix" allocate(smatrix(3*nIntFaceTot,3*nIntFaceTot), source=0.0_pReal) do iNum = 1,nIntFaceTot - faceID = interface1to4(iNum,param(instance)%Nconstituents) ! assembling of local dPdF into global Jacobian matrix + faceID = interface1to4(iNum,param(instance)%N_constituents) ! assembling of local dPdF into global Jacobian matrix !-------------------------------------------------------------------------------------------------- ! identify the left/bottom/back grain (-|N) iGr3N = faceID(2:4) ! identifying the grain ID in local coordinate sytem - iGrN = grain3to1(iGr3N,param(instance)%Nconstituents) ! translate into global grain ID + iGrN = grain3to1(iGr3N,param(instance)%N_constituents) ! translate into global grain ID intFaceN = getInterface(2*faceID(1),iGr3N) ! identifying the connecting interface in local coordinate system normN = interfaceNormal(intFaceN,instance,of) do iFace = 1,6 intFaceN = getInterface(iFace,iGr3N) ! identifying all interfaces that influence relaxation of the above interface mornN = interfaceNormal(intFaceN,instance,of) - iMun = interface4to1(intFaceN,param(instance)%Nconstituents) ! translate the interfaces ID into local 4-dimensional index + iMun = interface4to1(intFaceN,param(instance)%N_constituents) ! translate the interfaces ID into local 4-dimensional index if (iMun > 0) then ! get the corresponding tangent do i=1,3; do j=1,3; do k=1,3; do l=1,3 smatrix(3*(iNum-1)+i,3*(iMun-1)+j) = smatrix(3*(iNum-1)+i,3*(iMun-1)+j) & @@ -476,13 +476,13 @@ module procedure mech_RGC_updateState ! identify the right/up/front grain (+|P) iGr3P = iGr3N iGr3P(faceID(1)) = iGr3N(faceID(1))+1 ! identifying the grain ID in local coordinate sytem - iGrP = grain3to1(iGr3P,param(instance)%Nconstituents) ! translate into global grain ID + iGrP = grain3to1(iGr3P,param(instance)%N_constituents) ! translate into global grain ID intFaceP = getInterface(2*faceID(1)-1,iGr3P) ! identifying the connecting interface in local coordinate system normP = interfaceNormal(intFaceP,instance,of) do iFace = 1,6 intFaceP = getInterface(iFace,iGr3P) ! identifying all interfaces that influence relaxation of the above interface mornP = interfaceNormal(intFaceP,instance,of) - iMun = interface4to1(intFaceP,param(instance)%Nconstituents) ! translate the interfaces ID into local 4-dimensional index + iMun = interface4to1(intFaceP,param(instance)%N_constituents) ! translate the interfaces ID into local 4-dimensional index if (iMun > 0) then ! get the corresponding tangent do i=1,3; do j=1,3; do k=1,3; do l=1,3 smatrix(3*(iNum-1)+i,3*(iMun-1)+j) = smatrix(3*(iNum-1)+i,3*(iMun-1)+j) & @@ -522,12 +522,12 @@ module procedure mech_RGC_updateState ! computing the global stress residual array from the perturbed state p_resid = 0.0_pReal do iNum = 1,nIntFaceTot - faceID = interface1to4(iNum,param(instance)%Nconstituents) ! identifying the interface ID in local coordinate system (4-dimensional index) + faceID = interface1to4(iNum,param(instance)%N_constituents) ! identifying the interface ID in local coordinate system (4-dimensional index) !-------------------------------------------------------------------------------------------------- ! identify the left/bottom/back grain (-|N) iGr3N = faceID(2:4) ! identify the grain ID in local coordinate system (3-dimensional index) - iGrN = grain3to1(iGr3N,param(instance)%Nconstituents) ! translate the local grain ID into global coordinate system (1-dimensional index) + iGrN = grain3to1(iGr3N,param(instance)%N_constituents) ! translate the local grain ID into global coordinate system (1-dimensional index) intFaceN = getInterface(2*faceID(1),iGr3N) ! identify the interface ID of the grain normN = interfaceNormal(intFaceN,instance,of) @@ -535,7 +535,7 @@ module procedure mech_RGC_updateState ! identify the right/up/front grain (+|P) iGr3P = iGr3N iGr3P(faceID(1)) = iGr3N(faceID(1))+1 ! identify the grain ID in local coordinate system (3-dimensional index) - iGrP = grain3to1(iGr3P,param(instance)%Nconstituents) ! translate the local grain ID into global coordinate system (1-dimensional index) + iGrP = grain3to1(iGr3P,param(instance)%N_constituents) ! translate the local grain ID into global coordinate system (1-dimensional index) intFaceP = getInterface(2*faceID(1)-1,iGr3P) ! identify the interface ID of the grain normP = interfaceNormal(intFaceP,instance,of) @@ -664,7 +664,7 @@ module procedure mech_RGC_updateState real(pReal) :: muGrain,muGNghb,nDefNorm,bgGrain,bgGNghb real(pReal), parameter :: nDefToler = 1.0e-10_pReal - nGDim = param(instance)%Nconstituents + nGDim = param(instance)%N_constituents rPen = 0.0_pReal nMis = 0.0_pReal @@ -685,11 +685,11 @@ module procedure mech_RGC_updateState !----------------------------------------------------------------------------------------------- ! computing the mismatch and penalty stress tensor of all grains - grainLoop: do iGrain = 1,product(prm%Nconstituents) + grainLoop: do iGrain = 1,product(prm%N_constituents) Gmoduli = equivalentModuli(iGrain,ip,el) muGrain = Gmoduli(1) ! collecting the equivalent shear modulus of grain bgGrain = Gmoduli(2) ! and the lengthh of Burgers vector - iGrain3 = grain1to3(iGrain,prm%Nconstituents) ! get the grain ID in local 3-dimensional index (x,y,z)-position + iGrain3 = grain1to3(iGrain,prm%N_constituents) ! get the grain ID in local 3-dimensional index (x,y,z)-position interfaceLoop: do iFace = 1,6 intFace = getInterface(iFace,iGrain3) ! get the 4-dimensional index of the interface in local numbering system of the grain @@ -699,7 +699,7 @@ module procedure mech_RGC_updateState + int(real(intFace(1),pReal)/real(abs(intFace(1)),pReal)) where(iGNghb3 < 1) iGNghb3 = nGDim where(iGNghb3 >nGDim) iGNghb3 = 1 - iGNghb = grain3to1(iGNghb3,prm%Nconstituents) ! get the ID of the neighboring grain + iGNghb = grain3to1(iGNghb3,prm%N_constituents) ! get the ID of the neighboring grain Gmoduli = equivalentModuli(iGNghb,ip,el) ! collect the shear modulus and Burgers vector of the neighbor muGNghb = Gmoduli(1) bgGNghb = Gmoduli(2) @@ -728,9 +728,9 @@ module procedure mech_RGC_updateState !------------------------------------------------------------------------------------------- ! compute the stress penalty of all interfaces do i = 1,3; do j = 1,3; do k = 1,3; do l = 1,3 - rPen(i,j,iGrain) = rPen(i,j,iGrain) + 0.5_pReal*(muGrain*bgGrain + muGNghb*bgGNghb)*prm%xiAlpha & - *surfCorr(abs(intFace(1)))/prm%dAlpha(abs(intFace(1))) & - *cosh(prm%ciAlpha*nDefNorm) & + rPen(i,j,iGrain) = rPen(i,j,iGrain) + 0.5_pReal*(muGrain*bgGrain + muGNghb*bgGNghb)*prm%xi_alpha & + *surfCorr(abs(intFace(1)))/prm%D_alpha(abs(intFace(1))) & + *cosh(prm%c_alpha*nDefNorm) & *0.5_pReal*nVect(l)*nDef(i,k)/nDefNorm*math_LeviCivita(k,l,j) & *tanh(nDefNorm/num%xSmoo) enddo; enddo;enddo; enddo @@ -885,8 +885,8 @@ module procedure mech_RGC_updateState associate(prm => param(instance)) F = 0.0_pReal - do iGrain = 1,product(prm%Nconstituents) - iGrain3 = grain1to3(iGrain,prm%Nconstituents) + do iGrain = 1,product(prm%N_constituents) + iGrain3 = grain1to3(iGrain,prm%N_constituents) do iFace = 1,6 intFace = getInterface(iFace,iGrain3) aVect = relaxationVector(intFace,instance,of) @@ -916,8 +916,8 @@ module subroutine mech_RGC_averageStressAndItsTangent(avgP,dAvgPdAvgF,P,dPdF,ins real(pReal), dimension (:,:,:,:,:), intent(in) :: dPdF !< partitioned stiffnesses integer, intent(in) :: instance - avgP = sum(P,3) /real(product(param(instance)%Nconstituents),pReal) - dAvgPdAvgF = sum(dPdF,5)/real(product(param(instance)%Nconstituents),pReal) + avgP = sum(P,3) /real(product(param(instance)%N_constituents),pReal) + dAvgPdAvgF = sum(dPdF,5)/real(product(param(instance)%N_constituents),pReal) end subroutine mech_RGC_averageStressAndItsTangent @@ -975,7 +975,7 @@ pure function relaxationVector(intFace,instance,of) !-------------------------------------------------------------------------------------------------- ! collect the interface relaxation vector from the global state array - iNum = interface4to1(intFace,param(instance)%Nconstituents) ! identify the position of the interface in global state array + iNum = interface4to1(intFace,param(instance)%N_constituents) ! identify the position of the interface in global state array if (iNum > 0) then relaxationVector = state(instance)%relaxationVector((3*iNum-2):(3*iNum),of) else diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index 6c5f50b99..bfcf3590b 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -13,7 +13,7 @@ submodule(homogenization) homogenization_mech_isostrain type :: tParameters !< container type for internal constitutive parameters integer :: & - Nconstituents + N_constituents integer(kind(average_ID)) :: & mapping end type @@ -51,7 +51,7 @@ module subroutine mech_isostrain_init homogMech => homog%get('mech') associate(prm => param(homogenization_typeInstance(h))) - prm%Nconstituents = homogMech%get_asInt('N_constituents') + prm%N_constituents = homogMech%get_asInt('N_constituents') select case(homogMech%get_asString('mapping',defaultVal = 'sum')) case ('sum') prm%mapping = parallel_ID @@ -107,8 +107,8 @@ module subroutine mech_isostrain_averageStressAndItsTangent(avgP,dAvgPdAvgF,P,dP avgP = sum(P,3) dAvgPdAvgF = sum(dPdF,5) case (average_ID) - avgP = sum(P,3) /real(prm%Nconstituents,pReal) - dAvgPdAvgF = sum(dPdF,5)/real(prm%Nconstituents,pReal) + avgP = sum(P,3) /real(prm%N_constituents,pReal) + dAvgPdAvgF = sum(dPdF,5)/real(prm%N_constituents,pReal) end select end associate From c72240323e740c5e4b9669c907189cbf4f08aea9 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 23 Sep 2020 01:50:13 +0200 Subject: [PATCH 717/958] applied to lattice variables --- src/damage_nonlocal.f90 | 4 ++-- src/lattice.f90 | 44 +++++++++++++++++++------------------- src/thermal_adiabatic.f90 | 4 ++-- src/thermal_conduction.f90 | 6 +++--- 4 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/damage_nonlocal.f90 b/src/damage_nonlocal.f90 index a4ea54493..f31b10242 100644 --- a/src/damage_nonlocal.f90 +++ b/src/damage_nonlocal.f90 @@ -134,7 +134,7 @@ function damage_nonlocal_getDiffusion(ip,el) damage_nonlocal_getDiffusion = 0.0_pReal do grain = 1, homogenization_Ngrains(homog) damage_nonlocal_getDiffusion = damage_nonlocal_getDiffusion + & - crystallite_push33ToRef(grain,ip,el,lattice_DamageDiffusion(1:3,1:3,material_phaseAt(grain,el))) + crystallite_push33ToRef(grain,ip,el,lattice_D(1:3,1:3,material_phaseAt(grain,el))) enddo damage_nonlocal_getDiffusion = & @@ -157,7 +157,7 @@ real(pReal) function damage_nonlocal_getMobility(ip,el) damage_nonlocal_getMobility = 0.0_pReal do ipc = 1, homogenization_Ngrains(material_homogenizationAt(el)) - damage_nonlocal_getMobility = damage_nonlocal_getMobility + lattice_DamageMobility(material_phaseAt(ipc,el)) + damage_nonlocal_getMobility = damage_nonlocal_getMobility + lattice_M(material_phaseAt(ipc,el)) enddo damage_nonlocal_getMobility = damage_nonlocal_getMobility/& diff --git a/src/lattice.f90 b/src/lattice.f90 index d0ac07ed6..d3e800aa1 100644 --- a/src/lattice.f90 +++ b/src/lattice.f90 @@ -394,13 +394,13 @@ module lattice ! SHOULD NOT BE PART OF LATTICE BEGIN real(pReal), dimension(:), allocatable, public, protected :: & lattice_mu, lattice_nu, & - lattice_damageMobility, & - lattice_massDensity, & - lattice_specificHeat + lattice_M, & + lattice_rho, & + lattice_c_p real(pReal), dimension(:,:,:), allocatable, public, protected :: & lattice_C66, & - lattice_thermalConductivity, & - lattice_damageDiffusion + lattice_K, & + lattice_D integer(kind(lattice_UNDEFINED_ID)), dimension(:), allocatable, public, protected :: & lattice_structure ! SHOULD NOT BE PART OF LATTICE END @@ -465,11 +465,11 @@ subroutine lattice_init allocate(lattice_structure(Nphases),source = lattice_UNDEFINED_ID) allocate(lattice_C66(6,6,Nphases), source=0.0_pReal) - allocate(lattice_thermalConductivity (3,3,Nphases), source=0.0_pReal) - allocate(lattice_damageDiffusion (3,3,Nphases), source=0.0_pReal) + allocate(lattice_K (3,3,Nphases), source=0.0_pReal) + allocate(lattice_D (3,3,Nphases), source=0.0_pReal) - allocate(lattice_damageMobility,& - lattice_massDensity,lattice_specificHeat, & + allocate(lattice_M,& + lattice_rho,lattice_c_p, & lattice_mu, lattice_nu,& source=[(0.0_pReal,i=1,Nphases)]) @@ -517,22 +517,22 @@ subroutine lattice_init ! SHOULD NOT BE PART OF LATTICE BEGIN - lattice_thermalConductivity(1,1,p) = phase%get_asFloat('K_11',defaultVal=0.0_pReal) - lattice_thermalConductivity(2,2,p) = phase%get_asFloat('K_22',defaultVal=0.0_pReal) - lattice_thermalConductivity(3,3,p) = phase%get_asFloat('K_33',defaultVal=0.0_pReal) - lattice_thermalConductivity(1:3,1:3,p) = lattice_applyLatticeSymmetry33(lattice_thermalConductivity(1:3,1:3,p), & - phase%get_asString('lattice')) + lattice_K(1,1,p) = phase%get_asFloat('K_11',defaultVal=0.0_pReal) + lattice_K(2,2,p) = phase%get_asFloat('K_22',defaultVal=0.0_pReal) + lattice_K(3,3,p) = phase%get_asFloat('K_33',defaultVal=0.0_pReal) + lattice_K(1:3,1:3,p) = lattice_applyLatticeSymmetry33(lattice_K(1:3,1:3,p), & + phase%get_asString('lattice')) - lattice_specificHeat(p) = phase%get_asFloat('c_p',defaultVal=0.0_pReal) - lattice_massDensity(p) = phase%get_asFloat('rho', defaultVal=0.0_pReal) + lattice_c_p(p) = phase%get_asFloat('c_p', defaultVal=0.0_pReal) + lattice_rho(p) = phase%get_asFloat('rho', defaultVal=0.0_pReal) - lattice_DamageDiffusion(1,1,p) = phase%get_asFloat('D_11',defaultVal=0.0_pReal) - lattice_DamageDiffusion(2,2,p) = phase%get_asFloat('D_22',defaultVal=0.0_pReal) - lattice_DamageDiffusion(3,3,p) = phase%get_asFloat('D_33',defaultVal=0.0_pReal) - lattice_DamageDiffusion(1:3,1:3,p) = lattice_applyLatticeSymmetry33(lattice_DamageDiffusion(1:3,1:3,p), & - phase%get_asString('lattice')) + lattice_D(1,1,p) = phase%get_asFloat('D_11',defaultVal=0.0_pReal) + lattice_D(2,2,p) = phase%get_asFloat('D_22',defaultVal=0.0_pReal) + lattice_D(3,3,p) = phase%get_asFloat('D_33',defaultVal=0.0_pReal) + lattice_D(1:3,1:3,p) = lattice_applyLatticeSymmetry33(lattice_D(1:3,1:3,p), & + phase%get_asString('lattice')) - lattice_DamageMobility(p) = phase%get_asFloat('M',defaultVal=0.0_pReal) + lattice_M(p) = phase%get_asFloat('M',defaultVal=0.0_pReal) ! SHOULD NOT BE PART OF LATTICE END call selfTest diff --git a/src/thermal_adiabatic.f90 b/src/thermal_adiabatic.f90 index 1601a9b4f..63deb3cd5 100644 --- a/src/thermal_adiabatic.f90 +++ b/src/thermal_adiabatic.f90 @@ -169,7 +169,7 @@ function thermal_adiabatic_getSpecificHeat(ip,el) do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) thermal_adiabatic_getSpecificHeat = thermal_adiabatic_getSpecificHeat & - + lattice_specificHeat(material_phaseAt(grain,el)) + + lattice_c_p(material_phaseAt(grain,el)) enddo thermal_adiabatic_getSpecificHeat = thermal_adiabatic_getSpecificHeat & @@ -195,7 +195,7 @@ function thermal_adiabatic_getMassDensity(ip,el) do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) thermal_adiabatic_getMassDensity = thermal_adiabatic_getMassDensity & - + lattice_massDensity(material_phaseAt(grain,el)) + + lattice_rho(material_phaseAt(grain,el)) enddo thermal_adiabatic_getMassDensity = thermal_adiabatic_getMassDensity & diff --git a/src/thermal_conduction.f90 b/src/thermal_conduction.f90 index 5556a54e1..69ce8025e 100644 --- a/src/thermal_conduction.f90 +++ b/src/thermal_conduction.f90 @@ -127,7 +127,7 @@ function thermal_conduction_getConductivity(ip,el) thermal_conduction_getConductivity = 0.0_pReal do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) thermal_conduction_getConductivity = thermal_conduction_getConductivity + & - crystallite_push33ToRef(grain,ip,el,lattice_thermalConductivity(:,:,material_phaseAt(grain,el))) + crystallite_push33ToRef(grain,ip,el,lattice_K(:,:,material_phaseAt(grain,el))) enddo thermal_conduction_getConductivity = thermal_conduction_getConductivity & @@ -153,7 +153,7 @@ function thermal_conduction_getSpecificHeat(ip,el) do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) thermal_conduction_getSpecificHeat = thermal_conduction_getSpecificHeat & - + lattice_specificHeat(material_phaseAt(grain,el)) + + lattice_c_p(material_phaseAt(grain,el)) enddo thermal_conduction_getSpecificHeat = thermal_conduction_getSpecificHeat & @@ -180,7 +180,7 @@ function thermal_conduction_getMassDensity(ip,el) do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) thermal_conduction_getMassDensity = thermal_conduction_getMassDensity & - + lattice_massDensity(material_phaseAt(grain,el)) + + lattice_rho(material_phaseAt(grain,el)) enddo thermal_conduction_getMassDensity = thermal_conduction_getMassDensity & From cc019f9af44cde1ba4f19e68c44efc1c5f9e5867 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 23 Sep 2020 02:06:03 +0200 Subject: [PATCH 718/958] [skip ci] burgers ---> Burgers --- src/constitutive_plastic_disloTungsten.f90 | 2 +- src/constitutive_plastic_dislotwin.f90 | 16 ++++++++-------- src/constitutive_plastic_nonlocal.f90 | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/constitutive_plastic_disloTungsten.f90 b/src/constitutive_plastic_disloTungsten.f90 index c5459c3af..b698f4193 100644 --- a/src/constitutive_plastic_disloTungsten.f90 +++ b/src/constitutive_plastic_disloTungsten.f90 @@ -17,7 +17,7 @@ submodule(constitutive:constitutive_plastic) plastic_disloTungsten D_0 = 1.0_pReal, & !< prefactor for self-diffusion coefficient Q_cl = 1.0_pReal !< activation energy for dislocation climb real(pReal), allocatable, dimension(:) :: & - b_sl, & !< magnitude of burgers vector [m] + b_sl, & !< magnitude of Burgers vector [m] D_a, & i_sl, & !< Adj. parameter for distance between 2 forest dislocations f_at, & !< factor to calculate atomic volume diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index 0a14c64e1..6331c1a8a 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -39,9 +39,9 @@ submodule(constitutive:constitutive_plastic) plastic_dislotwin i_tr = 1.0_pReal, & !< adjustment parameter to calculate MFP for transformation h = 1.0_pReal !< Stack height of hex nucleus real(pReal), allocatable, dimension(:) :: & - b_sl, & !< absolute length of burgers vector [m] for each slip system - b_tw, & !< absolute length of burgers vector [m] for each twin system - b_tr, & !< absolute length of burgers vector [m] for each transformation system + b_sl, & !< absolute length of Burgers vector [m] for each slip system + b_tw, & !< absolute length of Burgers vector [m] for each twin system + b_tr, & !< absolute length of Burgers vector [m] for each transformation system Q_s,& !< activation energy for glide [J] for each slip system v_0, & !< dislocation velocity prefactor [m/s] for each slip system dot_N_0_tw, & !< twin nucleation rate [1/m³s] for each twin system @@ -654,7 +654,7 @@ module subroutine plastic_dislotwin_dotState(Mp,T,instance,of) Gamma, & !< stacking fault energy tau, & sigma_cl, & !< climb stress - b_d !< ratio of burgers vector to stacking fault width + b_d !< ratio of Burgers vector to stacking fault width real(pReal), dimension(param(instance)%sum_N_sl) :: & dot_rho_dip_formation, & dot_rho_dip_climb, & @@ -805,20 +805,20 @@ module subroutine plastic_dislotwin_dependentState(T,instance,of) !* threshold stress for growing twin/martensite if(prm%sum_N_tw == prm%sum_N_sl) & dst%tau_hat_tw(:,of) = Gamma/(3.0_pReal*prm%b_tw) & - + 3.0_pReal*prm%b_tw*prm%mu/(prm%L_tw*prm%b_sl) ! slip burgers here correct? + + 3.0_pReal*prm%b_tw*prm%mu/(prm%L_tw*prm%b_sl) ! slip Burgers here correct? if(prm%sum_N_tr == prm%sum_N_sl) & dst%tau_hat_tr(:,of) = Gamma/(3.0_pReal*prm%b_tr) & - + 3.0_pReal*prm%b_tr*prm%mu/(prm%L_tr*prm%b_sl) & ! slip burgers here correct? + + 3.0_pReal*prm%b_tr*prm%mu/(prm%L_tr*prm%b_sl) & ! slip Burgers here correct? + prm%h*prm%delta_G/ (3.0_pReal*prm%b_tr) dst%V_tw(:,of) = (PI/4.0_pReal)*prm%t_tw*dst%Lambda_tw(:,of)**2.0_pReal dst%V_tr(:,of) = (PI/4.0_pReal)*prm%t_tr*dst%Lambda_tr(:,of)**2.0_pReal - x0 = prm%mu*prm%b_tw**2.0_pReal/(Gamma*8.0_pReal*PI)*(2.0_pReal+prm%nu)/(1.0_pReal-prm%nu) ! ToDo: In the paper, this is the burgers vector for slip and is the same for twin and trans + x0 = prm%mu*prm%b_tw**2.0_pReal/(Gamma*8.0_pReal*PI)*(2.0_pReal+prm%nu)/(1.0_pReal-prm%nu) ! ToDo: In the paper, this is the Burgers vector for slip and is the same for twin and trans dst%tau_r_tw(:,of) = prm%mu*prm%b_tw/(2.0_pReal*PI)*(1.0_pReal/(x0+prm%x_c_tw)+cos(pi/3.0_pReal)/x0) - x0 = prm%mu*prm%b_tr**2.0_pReal/(Gamma*8.0_pReal*PI)*(2.0_pReal+prm%nu)/(1.0_pReal-prm%nu) ! ToDo: In the paper, this is the burgers vector for slip + x0 = prm%mu*prm%b_tr**2.0_pReal/(Gamma*8.0_pReal*PI)*(2.0_pReal+prm%nu)/(1.0_pReal-prm%nu) ! ToDo: In the paper, this is the Burgers vector for slip dst%tau_r_tr(:,of) = prm%mu*prm%b_tr/(2.0_pReal*PI)*(1.0_pReal/(x0+prm%x_c_tr)+cos(pi/3.0_pReal)/x0) end associate diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index c289e2d82..2c56bedbd 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -70,7 +70,7 @@ submodule(constitutive:constitutive_plastic) plastic_nonlocal rho_min, & !< number of dislocations considered significant w, & !< width of a doubkle kink in multiples of the Burgers vector length b Q_sol, & !< activation energy for solid solution in J - f_sol, & !< solid solution obstacle size in multiples of the burgers vector length + f_sol, & !< solid solution obstacle size in multiples of the Burgers vector length c_sol, & !< concentration of solid solution in atomic parts p, & !< parameter for kinetic law (Kocks,Argon,Ashby) q, & !< parameter for kinetic law (Kocks,Argon,Ashby) @@ -90,7 +90,7 @@ submodule(constitutive:constitutive_plastic) plastic_nonlocal tau_Peierls_ed, & tau_Peierls_sc, & i_sl, & !< mean free path prefactor for each - b_sl !< absolute length of burgers vector [m] + b_sl !< absolute length of Burgers vector [m] real(pReal), dimension(:,:), allocatable :: & slip_normal, & slip_direction, & From 997f7dfa0565b43be41ce148d8dfd10ee86d760b Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 22 Sep 2020 20:03:41 -0400 Subject: [PATCH 719/958] removed Geom.homogenization from shell scripts --- PRIVATE | 2 +- processing/pre/geom_fromDREAM3D.py | 8 +-- processing/pre/geom_fromMinimalSurface.py | 6 -- processing/pre/geom_fromOsteonGeometry.py | 8 +-- processing/pre/geom_fromTable.py | 9 +-- .../pre/geom_fromVoronoiTessellation.py | 7 +- processing/pre/geom_grainGrowth.py | 66 ++++++++++--------- processing/pre/seeds_fromDistribution.py | 46 ++++++------- processing/pre/seeds_fromGeom.py | 2 +- processing/pre/seeds_fromPokes.py | 8 +-- 10 files changed, 69 insertions(+), 93 deletions(-) diff --git a/PRIVATE b/PRIVATE index fa2885da8..86f77da4a 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit fa2885da8604c3ac46f64670393f04678dd1f45b +Subproject commit 86f77da4aec6cb52bbcc2724f00a6cf6a7dc6e91 diff --git a/processing/pre/geom_fromDREAM3D.py b/processing/pre/geom_fromDREAM3D.py index 3faa07a17..daf7d2ab9 100755 --- a/processing/pre/geom_fromDREAM3D.py +++ b/processing/pre/geom_fromDREAM3D.py @@ -52,16 +52,11 @@ parser.add_option('-q', '--quaternion', type = 'string', metavar='string', help = 'name of the dataset containing pointwise/average orientation as quaternion [%default]') -parser.add_option('--homogenization', - dest = 'homogenization', - type = 'int', metavar = 'int', - help = 'homogenization index to be used [%default]') parser.set_defaults(pointwise = 'CellData', quaternion = 'Quats', phase = 'Phases', microstructure = 'FeatureIds', - homogenization = 1, ) (options, filenames) = parser.parse_args() @@ -150,8 +145,7 @@ for name in filenames: header = [scriptID + ' ' + ' '.join(sys.argv[1:])]\ + config_header - geom = damask.Geom(microstructure,size,origin, - homogenization=options.homogenization,comments=header) + geom = damask.Geom(microstructure,size,origin,comments=header) damask.util.croak(geom) geom.save_ASCII(os.path.splitext(name)[0]+'.geom',compress=False) diff --git a/processing/pre/geom_fromMinimalSurface.py b/processing/pre/geom_fromMinimalSurface.py index b52003d79..83d1a3684 100755 --- a/processing/pre/geom_fromMinimalSurface.py +++ b/processing/pre/geom_fromMinimalSurface.py @@ -52,10 +52,6 @@ parser.add_option('-p', '--periods', dest = 'periods', type = 'int', metavar = 'int', help = 'number of repetitions of unit cell [%default]') -parser.add_option('--homogenization', - dest = 'homogenization', - type = 'int', metavar = 'int', - help = 'homogenization index to be used [%default]') parser.add_option('--m', dest = 'microstructure', type = 'int', nargs = 2, metavar = 'int int', @@ -66,7 +62,6 @@ parser.set_defaults(type = minimal_surfaces[0], periods = 1, grid = (16,16,16), size = (1.0,1.0,1.0), - homogenization = 1, microstructure = (1,2), ) @@ -85,7 +80,6 @@ microstructure = np.where(options.threshold < surface[options.type](x,y,z), options.microstructure[1],options.microstructure[0]) geom=damask.Geom(microstructure,options.size, - homogenization=options.homogenization, comments=[scriptID + ' ' + ' '.join(sys.argv[1:])]) damask.util.croak(geom) diff --git a/processing/pre/geom_fromOsteonGeometry.py b/processing/pre/geom_fromOsteonGeometry.py index 0b1440d63..2f9de712d 100755 --- a/processing/pre/geom_fromOsteonGeometry.py +++ b/processing/pre/geom_fromOsteonGeometry.py @@ -57,10 +57,6 @@ parser.add_option('-w', '--omega', dest='omega', type='float', metavar = 'float', help='rotation angle around normal of osteon [%default]') -parser.add_option( '--homogenization', - dest='homogenization', - type='int', metavar = 'int', - help='homogenization index to be used [%default]') parser.set_defaults(canal = 25e-6, osteon = 100e-6, @@ -70,7 +66,7 @@ parser.set_defaults(canal = 25e-6, amplitude = 60, size = (300e-6,300e-6), grid = (512,512), - homogenization = 1) + ) (options,filename) = parser.parse_args() @@ -139,7 +135,7 @@ header = [scriptID + ' ' + ' '.join(sys.argv[1:])]\ + config_header geom = damask.Geom(microstructure.reshape(grid), size,-size/2, - homogenization=options.homogenization,comments=header) + comments=header) damask.util.croak(geom) geom.save_ASCII(sys.stdout if name is None else name,compress=False) diff --git a/processing/pre/geom_fromTable.py b/processing/pre/geom_fromTable.py index 6f2cb5b4d..a0de6a4c5 100755 --- a/processing/pre/geom_fromTable.py +++ b/processing/pre/geom_fromTable.py @@ -44,14 +44,9 @@ parser.add_option('--axes', dest = 'axes', type = 'string', nargs = 3, metavar = ' '.join(['string']*3), help = 'orientation coordinate frame in terms of position coordinate frame [+x +y +z]') -parser.add_option('--homogenization', - dest = 'homogenization', - type = 'int', metavar = 'int', - help = 'homogenization index to be used [%default]') -parser.set_defaults(homogenization = 1, - pos = 'pos', +parser.set_defaults(pos = 'pos', ) (options,filenames) = parser.parse_args() @@ -102,7 +97,7 @@ for name in filenames: header = [scriptID + ' ' + ' '.join(sys.argv[1:])]\ + config_header geom = damask.Geom(microstructure,size,origin, - homogenization=options.homogenization,comments=header) + comments=header) damask.util.croak(geom) geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',compress=False) diff --git a/processing/pre/geom_fromVoronoiTessellation.py b/processing/pre/geom_fromVoronoiTessellation.py index 5586d3bc8..aee79cc05 100755 --- a/processing/pre/geom_fromVoronoiTessellation.py +++ b/processing/pre/geom_fromVoronoiTessellation.py @@ -142,10 +142,6 @@ group.add_option('--without-config', dest = 'config', action = 'store_false', help = 'omit material configuration header') -group.add_option('--homogenization', - dest = 'homogenization', - type = 'int', metavar = 'int', - help = 'homogenization index to be used [%default]') group.add_option('--phase', dest = 'phase', type = 'int', metavar = 'int', @@ -157,7 +153,6 @@ parser.set_defaults(pos = 'pos', weight = 'weight', microstructure = 'microstructure', eulers = 'euler', - homogenization = 1, phase = 1, cpus = 2, laguerre = False, @@ -225,7 +220,7 @@ for name in filenames: header = [scriptID + ' ' + ' '.join(sys.argv[1:])]\ + config_header geom = damask.Geom(indices.reshape(grid),size,origin, - homogenization=options.homogenization,comments=header) + comments=header) damask.util.croak(geom) geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',compress=False) diff --git a/processing/pre/geom_grainGrowth.py b/processing/pre/geom_grainGrowth.py index 88e75a841..a573a9fed 100755 --- a/processing/pre/geom_grainGrowth.py +++ b/processing/pre/geom_grainGrowth.py @@ -41,7 +41,7 @@ parser.add_option('-N', '--iterations', help = 'curvature flow iterations [%default]') parser.add_option('-i', '--immutable', action = 'extend', dest = 'immutable', metavar = '', - help = 'list of immutable microstructure indices') + help = 'list of immutable material indices') parser.add_option('--ndimage', dest = 'ndimage', action='store_true', help = 'use ndimage.gaussian_filter in lieu of explicit FFT') @@ -66,13 +66,13 @@ for name in filenames: grid_original = geom.grid damask.util.croak(geom) - microstructure = np.tile(geom.microstructure,np.where(grid_original == 1, 2,1)) # make one copy along dimensions with grid == 1 - grid = np.array(microstructure.shape) + materials = np.tile(geom.materials,np.where(grid_original == 1, 2,1)) # make one copy along dimensions with grid == 1 + grid = np.array(materials.shape) # --- initialize support data --------------------------------------------------------------------- -# store a copy the initial microstructure to find locations of immutable indices - microstructure_original = np.copy(microstructure) +# store a copy of the initial material indices to find locations of immutable indices + materials_original = np.copy(materials) if not options.ndimage: X,Y,Z = np.mgrid[0:grid[0],0:grid[1],0:grid[2]] @@ -88,14 +88,14 @@ for name in filenames: for smoothIter in range(options.N): - interfaceEnergy = np.zeros(microstructure.shape,dtype=np.float32) + interfaceEnergy = np.zeros(materials.shape,dtype=np.float32) for i in (-1,0,1): for j in (-1,0,1): for k in (-1,0,1): # assign interfacial energy to all voxels that have a differing neighbor (in Moore neighborhood) interfaceEnergy = np.maximum(interfaceEnergy, - getInterfaceEnergy(microstructure,np.roll(np.roll(np.roll( - microstructure,i,axis=0), j,axis=1), k,axis=2))) + getInterfaceEnergy(materials,np.roll(np.roll(np.roll( + materials,i,axis=0), j,axis=1), k,axis=2))) # periodically extend interfacial energy array by half a grid size in positive and negative directions periodic_interfaceEnergy = np.tile(interfaceEnergy,(3,3,3))[grid[0]//2:-grid[0]//2, @@ -129,13 +129,13 @@ for name in filenames: iterations = int(round(options.d*2.))-1),# fat boundary periodic_bulkEnergy[grid[0]//2:-grid[0]//2, # retain filled energy on fat boundary... grid[1]//2:-grid[1]//2, - grid[2]//2:-grid[2]//2], # ...and zero everywhere else + grid[2]//2:-grid[2]//2], # ...and zero everywhere else 0.)).astype(np.complex64) * gauss).astype(np.float32) periodic_diffusedEnergy = np.tile(diffusedEnergy,(3,3,3))[grid[0]//2:-grid[0]//2, grid[1]//2:-grid[1]//2, - grid[2]//2:-grid[2]//2] # periodically extend the smoothed bulk energy + grid[2]//2:-grid[2]//2] # periodically extend the smoothed bulk energy # transform voxels close to interface region @@ -143,33 +143,35 @@ for name in filenames: return_distances = False, return_indices = True) # want index of closest bulk grain - periodic_microstructure = np.tile(microstructure,(3,3,3))[grid[0]//2:-grid[0]//2, - grid[1]//2:-grid[1]//2, - grid[2]//2:-grid[2]//2] # periodically extend the microstructure + periodic_materials = np.tile(materials,(3,3,3))[grid[0]//2:-grid[0]//2, + grid[1]//2:-grid[1]//2, + grid[2]//2:-grid[2]//2] # periodically extend the geometry - microstructure = periodic_microstructure[index[0], - index[1], - index[2]].reshape(2*grid)[grid[0]//2:-grid[0]//2, - grid[1]//2:-grid[1]//2, - grid[2]//2:-grid[2]//2] # extent grains into interface region + materials = periodic_materials[index[0], + index[1], + index[2]].reshape(2*grid)[grid[0]//2:-grid[0]//2, + grid[1]//2:-grid[1]//2, + grid[2]//2:-grid[2]//2] # extent grains into interface region - # replace immutable microstructures with closest mutable ones - index = ndimage.morphology.distance_transform_edt(np.in1d(microstructure,options.immutable).reshape(grid), + # replace immutable materials with closest mutable ones + index = ndimage.morphology.distance_transform_edt(np.in1d(materials,options.immutable).reshape(grid), return_distances = False, return_indices = True) - microstructure = microstructure[index[0], - index[1], - index[2]] + materials = materials[index[0], + index[1], + index[2]] - immutable = np.zeros(microstructure.shape, dtype=np.bool) - # find locations where immutable microstructures have been in original structure + immutable = np.zeros(materials.shape, dtype=np.bool) + # find locations where immutable materials have been in original structure for micro in options.immutable: - immutable += microstructure_original == micro + immutable += materials_original == micro - # undo any changes involving immutable microstructures - microstructure = np.where(immutable, microstructure_original,microstructure) + # undo any changes involving immutable materials + materials = np.where(immutable, materials_original,materials) - geom = geom.duplicate(microstructure[0:grid_original[0],0:grid_original[1],0:grid_original[2]]) - geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:])) - - geom.save_ASCII(sys.stdout if name is None else name,compress=False) + damask.Geom(materials = materials[0:grid_original[0],0:grid_original[1],0:grid_original[2]], + size = geom.size, + origin = geom.origin, + comments = geom.comments + [scriptID + ' ' + ' '.join(sys.argv[1:])], + )\ + .save_ASCII(sys.stdout if name is None else name,compress=False) diff --git a/processing/pre/seeds_fromDistribution.py b/processing/pre/seeds_fromDistribution.py index e1e4726c2..030f3d6fa 100755 --- a/processing/pre/seeds_fromDistribution.py +++ b/processing/pre/seeds_fromDistribution.py @@ -30,7 +30,7 @@ class myThread (threading.Thread): def run(self): global bestSeedsUpdate global bestSeedsVFile - global nMicrostructures + global nMaterials global delta global points global target @@ -70,7 +70,7 @@ class myThread (threading.Thread): selectedMs = [] direction = [] for i in range(NmoveGrains): - selectedMs.append(random.randrange(1,nMicrostructures)) + selectedMs.append(random.randrange(1,nMaterials)) direction.append((np.random.random()-0.5)*delta) @@ -101,11 +101,11 @@ class myThread (threading.Thread): #--- evaluate current seeds file ------------------------------------------------------------------ perturbedGeom = damask.Geom.load_ASCII(perturbedGeomVFile) - myNmicrostructures = len(np.unique(perturbedGeom.microstructure)) - currentData=np.bincount(perturbedGeom.microstructure.ravel())[1:]/points + myNmaterials = len(np.unique(perturbedGeom.materials)) + currentData=np.bincount(perturbedGeom.materials.ravel())[1:]/points currentError=[] currentHist=[] - for i in range(nMicrostructures): # calculate the deviation in all bins per histogram + for i in range(nMaterials): # calculate the deviation in all bins per histogram currentHist.append(np.histogram(currentData,bins=target[i]['bins'])[0]) currentError.append(np.sqrt(np.square(np.array(target[i]['histogram']-currentHist[i])).sum())) @@ -117,12 +117,12 @@ class myThread (threading.Thread): bestMatch = match #--- count bin classes with no mismatch ---------------------------------------------------------------------- myMatch=0 - for i in range(nMicrostructures): + for i in range(nMaterials): if currentError[i] > 0.0: break myMatch = i+1 - if myNmicrostructures == nMicrostructures: - for i in range(min(nMicrostructures,myMatch+options.bins)): + if myNmaterials == nMaterials: + for i in range(min(nMaterials,myMatch+options.bins)): if currentError[i] > target[i]['error']: # worse fitting, next try randReset = True break @@ -141,25 +141,25 @@ class myThread (threading.Thread): for line in perturbedSeedsVFile: currentSeedsFile.write(line) bestSeedsVFile.write(line) - for j in range(nMicrostructures): # save new errors for all bins + for j in range(nMaterials): # save new errors for all bins target[j]['error'] = currentError[j] if myMatch > match: # one or more new bins have no deviation damask.util.croak( 'Stage {:d} cleared'.format(myMatch)) match=myMatch sys.stdout.flush() break - if i == min(nMicrostructures,myMatch+options.bins)-1: # same quality as before: take it to keep on moving + if i == min(nMaterials,myMatch+options.bins)-1: # same quality as before: take it to keep on moving bestSeedsUpdate = time.time() perturbedSeedsVFile.seek(0) bestSeedsVFile.close() bestSeedsVFile = StringIO() bestSeedsVFile.writelines(perturbedSeedsVFile.readlines()) - for j in range(nMicrostructures): + for j in range(nMaterials): target[j]['error'] = currentError[j] randReset = True else: #--- not all grains are tessellated - damask.util.croak('Thread {:d}: Microstructure mismatch ({:d} microstructures mapped)'\ - .format(self.threadID,myNmicrostructures)) + damask.util.croak('Thread {:d}: Material mismatch ({:d} material indices mapped)'\ + .format(self.threadID,myNmaterials)) randReset = True @@ -217,10 +217,10 @@ points = np.array(options.grid).prod().astype('float') # ----------- calculate target distribution and bin edges targetGeom = damask.Geom.load_ASCII(os.path.splitext(os.path.basename(options.target))[0]+'.geom') -nMicrostructures = len(np.unique(targetGeom.microstructure)) -targetVolFrac = np.bincount(targetGeom.microstructure.flatten())/targetGeom.grid.prod().astype(np.float) +nMaterials = len(np.unique(targetGeom.materials)) +targetVolFrac = np.bincount(targetGeom.materials.flatten())/targetGeom.grid.prod().astype(np.float) target = [] -for i in range(1,nMicrostructures+1): +for i in range(1,nMaterials+1): targetHist,targetBins = np.histogram(targetVolFrac,bins=i) #bin boundaries target.append({'histogram':targetHist,'bins':targetBins}) @@ -233,7 +233,7 @@ else: bestSeedsVFile.write(damask.util.execute('seeds_fromRandom'+\ ' -g '+' '.join(list(map(str, options.grid)))+\ ' -r {:d}'.format(options.randomSeed)+\ - ' -N '+str(nMicrostructures))[0]) + ' -N '+str(nMaterials))[0]) bestSeedsUpdate = time.time() # ----------- tessellate initial seed file to get and evaluate geom file @@ -244,11 +244,11 @@ initialGeomVFile.write(damask.util.execute('geom_fromVoronoiTessellation '+ initialGeomVFile.seek(0) initialGeom = damask.Geom.load_ASCII(initialGeomVFile) -if len(np.unique(targetGeom.microstructure)) != nMicrostructures: - damask.util.croak('error. Microstructure count mismatch') +if len(np.unique(targetGeom.materials)) != nMaterials: + damask.util.croak('error. Material count mismatch') -initialData = np.bincount(initialGeom.microstructure.flatten())/points -for i in range(nMicrostructures): +initialData = np.bincount(initialGeom.materials.flatten())/points +for i in range(nMaterials): initialHist = np.histogram(initialData,bins=target[i]['bins'])[0] target[i]['error']=np.sqrt(np.square(np.array(target[i]['histogram']-initialHist)).sum()) @@ -257,13 +257,13 @@ if target[0]['error'] > 0.0: target[0]['error'] *=((target[0]['bins'][0]-np.min(initialData))**2.0+ (target[0]['bins'][1]-np.max(initialData))**2.0)**0.5 match=0 -for i in range(nMicrostructures): +for i in range(nMaterials): if target[i]['error'] > 0.0: break match = i+1 if options.maxseeds < 1: - maxSeeds = len(np.unique(initialGeom.microstructure)) + maxSeeds = len(np.unique(initialGeom.materials)) else: maxSeeds = options.maxseeds diff --git a/processing/pre/seeds_fromGeom.py b/processing/pre/seeds_fromGeom.py index 99e7c0ca9..de95b439d 100755 --- a/processing/pre/seeds_fromGeom.py +++ b/processing/pre/seeds_fromGeom.py @@ -61,7 +61,7 @@ for name in filenames: 'grid\ta {}\tb {}\tc {}'.format(*geom.grid), 'size\tx {}\ty {}\tz {}'.format(*geom.size), 'origin\tx {}\ty {}\tz {}'.format(*geom.origin), - 'homogenization\t{}'.format(geom.homogenization)] + ] damask.Table(seeds[mask],{'pos':(3,)},comments)\ .add('material',materials[mask].astype(int))\ diff --git a/processing/pre/seeds_fromPokes.py b/processing/pre/seeds_fromPokes.py index c804cd285..ff9d250fc 100755 --- a/processing/pre/seeds_fromPokes.py +++ b/processing/pre/seeds_fromPokes.py @@ -76,7 +76,7 @@ for name in filenames: g[2] = k + offset[2] g %= geom.grid seeds[n,0:3] = (g+0.5)/geom.grid # normalize coordinates to box - seeds[n, 3] = geom.microstructure[g[0],g[1],g[2]] + seeds[n, 3] = geom.materials[g[0],g[1],g[2]] if options.x: g[0] += 1 if options.y: g[1] += 1 n += 1 @@ -88,9 +88,9 @@ for name in filenames: 'grid\ta {}\tb {}\tc {}'.format(*geom.grid), 'size\tx {}\ty {}\tz {}'.format(*geom.size), 'origin\tx {}\ty {}\tz {}'.format(*geom.origin), - 'homogenization\t{}'.format(geom.homogenization)] + ] - table = damask.Table(seeds,{'pos':(3,),'microstructure':(1,)},comments) - table.set('microstructure',table.get('microstructure').astype(np.int))\ + table = damask.Table(seeds,{'pos':(3,),'material':(1,)},comments) + table.set('material',table.get('material').astype(np.int))\ .save(sys.stdout if name is None else \ os.path.splitext(name)[0]+f'_poked_{options.N}.seeds',legacy=True) From ae579d8baa654623674fc6bef72061b41a20421f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 23 Sep 2020 09:23:30 +0200 Subject: [PATCH 720/958] allow to specify seed IDs explicitly --- python/damask/_geom.py | 34 +++++++++++++++++++++++++--------- python/tests/test_Geom.py | 10 +++++----- 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 86d11b9be..a89439028 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -210,7 +210,7 @@ class Geom: return np.argmin(np.sum((np.broadcast_to(point,(len(seeds),3))-seeds)**2,axis=1) - weights) @staticmethod - def from_Laguerre_tessellation(grid,size,seeds,weights,periodic=True): + def from_Laguerre_tessellation(grid,size,seeds,weights,materials=None,periodic=True): """ Generate geometry from Laguerre tessellation. @@ -224,6 +224,9 @@ class Geom: Position of the seed points in meter. All points need to lay within the box. weights : numpy.ndarray of shape (seeds.shape[0]) Weights of the seeds. Setting all weights to 1.0 gives a standard Voronoi tessellation. + materials : numpy.ndarray of shape (seeds.shape[0]), optional + Material ID of the seeds. Defaults to None, in which case materials are + consecutively numbered. periodic : Boolean, optional Perform a periodic tessellation. Defaults to True. @@ -243,22 +246,27 @@ class Geom: result = pool.map_async(partial(Geom._find_closest_seed,seeds_p,weights_p), [coord for coord in coords]) pool.close() pool.join() - materials = np.array(result.get()) + materials_ = np.array(result.get()) if periodic: - materials = materials.reshape(grid*3) - materials = materials[grid[0]:grid[0]*2,grid[1]:grid[1]*2,grid[2]:grid[2]*2]%seeds.shape[0] + materials_ = materials_.reshape(grid*3) + materials_ = materials_[grid[0]:grid[0]*2,grid[1]:grid[1]*2,grid[2]:grid[2]*2]%seeds.shape[0] else: - materials = materials.reshape(grid) + materials_ = materials_.reshape(grid) - return Geom(materials = materials+1, + geom = Geom(materials = materials_+1, size = size, comments = util.execution_stamp('Geom','from_Laguerre_tessellation'), ) + if materials is not None: + geom = geom.substitute(np.arange(seeds.shape[0])+1,materials) + geom.comments = geom.comments[:-1] + + return geom @staticmethod - def from_Voronoi_tessellation(grid,size,seeds,periodic=True): + def from_Voronoi_tessellation(grid,size,seeds,materials=None,periodic=True): """ Generate geometry from Voronoi tessellation. @@ -270,18 +278,26 @@ class Geom: Physical size of the geometry in meter. seeds : numpy.ndarray of shape (:,3) Position of the seed points in meter. All points need to lay within the box. + materials : numpy.ndarray of shape (seeds.shape[0]), optional + Material ID of the seeds. Defaults to None, in which case materials are + consecutively numbered. periodic : Boolean, optional Perform a periodic tessellation. Defaults to True. """ coords = grid_filters.cell_coord0(grid,size).reshape(-1,3) KDTree = spatial.cKDTree(seeds,boxsize=size) if periodic else spatial.cKDTree(seeds) - devNull,materials = KDTree.query(coords) + devNull,materials_ = KDTree.query(coords) - return Geom(materials = materials.reshape(grid)+1, + geom = Geom(materials = materials_.reshape(grid)+1, size = size, comments = util.execution_stamp('Geom','from_Voronoi_tessellation'), ) + if materials is not None: + geom = geom.substitute(np.arange(seeds.shape[0])+1,materials) + geom.comments = geom.comments[:-1] + + return geom def save_ASCII(self,fname,compress=None): diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 961d28713..957bc69e6 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -324,8 +324,8 @@ class TestGeom: size = np.random.random(3) + 1.0 N_seeds= np.random.randint(10,30) seeds = np.random.rand(N_seeds,3) * np.broadcast_to(size,(N_seeds,3)) - Voronoi = Geom.from_Voronoi_tessellation( grid,size,seeds, periodic) - Laguerre = Geom.from_Laguerre_tessellation(grid,size,seeds,np.ones(N_seeds),periodic) + Voronoi = Geom.from_Voronoi_tessellation( grid,size,seeds, periodic=periodic) + Laguerre = Geom.from_Laguerre_tessellation(grid,size,seeds,np.ones(N_seeds),periodic=periodic) assert geom_equal(Laguerre,Voronoi) @@ -337,7 +337,7 @@ class TestGeom: weights= np.full((N_seeds),-np.inf) ms = np.random.randint(1, N_seeds+1) weights[ms-1] = np.random.random() - Laguerre = Geom.from_Laguerre_tessellation(grid,size,seeds,weights,np.random.random()>0.5) + Laguerre = Geom.from_Laguerre_tessellation(grid,size,seeds,weights,periodic=np.random.random()>0.5) assert np.all(Laguerre.materials == ms) @@ -349,7 +349,7 @@ class TestGeom: materials = np.ones(grid) materials[:,grid[1]//2:,:] = 2 if approach == 'Laguerre': - geom = Geom.from_Laguerre_tessellation(grid,size,seeds,np.ones(2),np.random.random()>0.5) + geom = Geom.from_Laguerre_tessellation(grid,size,seeds,np.ones(2),periodic=np.random.random()>0.5) elif approach == 'Voronoi': - geom = Geom.from_Voronoi_tessellation(grid,size,seeds, np.random.random()>0.5) + geom = Geom.from_Voronoi_tessellation(grid,size,seeds, periodic=np.random.random()>0.5) assert np.all(geom.materials == materials) From c85d27baeced2c597d510fb4a4ad60132c367c72 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 23 Sep 2020 09:45:36 +0200 Subject: [PATCH 721/958] functionality for seed creation --- python/damask/__init__.py | 6 +++ python/damask/seeds.py | 90 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 python/damask/seeds.py diff --git a/python/damask/__init__.py b/python/damask/__init__.py index 3f2ff6813..e21ebd03d 100644 --- a/python/damask/__init__.py +++ b/python/damask/__init__.py @@ -20,6 +20,12 @@ from ._result import Result # noqa from ._geom import Geom # noqa from ._material import Material # noqa from . import solver # noqa +from . import util # noqa +from . import seeds # noqa +from . import grid_filters # noqa +from . import mechanics # noqa + + # deprecated Environment = _ diff --git a/python/damask/seeds.py b/python/damask/seeds.py new file mode 100644 index 000000000..e2cb5fc75 --- /dev/null +++ b/python/damask/seeds.py @@ -0,0 +1,90 @@ +from scipy import spatial as _spatial +import numpy as _np + +from . import util +from . import grid_filters + + +def from_random(size,N_seeds,grid=None,seed=None): + """ + Random seeding in space. + + Parameters + ---------- + size : numpy.ndarray of shape (3) + Physical size of the periodic field. + N_seeds : int + Number of seeds. + grid : numpy.ndarray of shape (3), optional. + If given, ensures that all seeds initiate one grain if using a + standard Voronoi tessellation. + seed : {None, int, array_like[ints], SeedSequence, BitGenerator, Generator}, optional + A seed to initialize the BitGenerator. Defaults to None. + If None, then fresh, unpredictable entropy will be pulled from the OS. + + """ + rng = _np.random.default_rng(seed) + if grid is None: + coords = rng.random((N_seeds,3)) * size + else: + grid_coords = grid_filters.cell_coord0(grid,size).reshape(-1,3,order='F') + coords = grid_coords[rng.choice(_np.prod(grid),N_seeds, replace=False)] \ + + _np.broadcast_to(size/grid,(N_seeds,3))*(rng.random((N_seeds,3))*.5-.25) # wobble without leaving grid + + return (coords,_np.arange(N_seeds,dtype='i')) + + +def from_poisson_disc(size,N_seeds,N_candidates,distance,seed=None): + """ + Seeding in space according to a Poisson disc distribution. + + Parameters + ---------- + size : numpy.ndarray of shape (3) + Physical size of the periodic field. + N_seeds : int + Number of seeds. + N_candidates : int + Number of candidates to consider for finding best candidate. + distance : float + Minimum acceptable distance to other seeds. + seed : {None, int, array_like[ints], SeedSequence, BitGenerator, Generator}, optional + A seed to initialize the BitGenerator. Defaults to None. + If None, then fresh, unpredictable entropy will be pulled from the OS. + + """ + rng = _np.random.default_rng(seed) + coords = _np.empty((N_seeds,3)) + coords[0] = rng.random(3) * size + + i = 1 + progress = util._ProgressBar(N_seeds+1,'',50) + while i < N_seeds: + candidates = rng.random((N_candidates,3))*_np.broadcast_to(size,(N_candidates,3)) + tree = _spatial.cKDTree(coords[:i]) + distances, dev_null = tree.query(candidates) + best = distances.argmax() + if distances[best] > distance: # require minimum separation + coords[i] = candidates[best] # maximum separation to existing point cloud + i += 1 + progress.update(i) + + return (coords,_np.arange(N_seeds,dtype='i')) + + +def from_geom(geom,selection=None,invert=False): + """ + Create seed from existing geometry description. + + Parameters + ---------- + geom : damask.Geom + ... + + """ + materials = geom.materials.reshape((-1,1),order='F') + mask = _np.isin(materials,selection,invert=invert) if selection is not None else \ + _np.full(geom.grid.prod(),True,dtype=bool) + coords = grid_filters.cell_coord0(geom.grid,geom.size).reshape(-1,3,order='F') + + return (coords[mask],materials[mask]) From 0850b4166b27bf439954be793dc1281ccd09d444 Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 23 Sep 2020 13:24:00 +0200 Subject: [PATCH 722/958] [skip ci] updated version information after successful test of v3.0.0-alpha-292-g14bfaa60c --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index a05ebe3cf..75b7b823b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-275-g7801f527f +v3.0.0-alpha-292-g14bfaa60c From 0cbb419b26647dcb6ba6a9e64464695b40f8ae26 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 23 Sep 2020 09:43:29 -0400 Subject: [PATCH 723/958] PRIVATE/testint/pytest grid missed some renaming of microstructure --> materials --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 86f77da4a..c7accae52 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 86f77da4aec6cb52bbcc2724f00a6cf6a7dc6e91 +Subproject commit c7accae5211531f4282285620df909b74fadd4af From a145f317bfcafb89fda98b4b0fed0e94d9d60c2f Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 23 Sep 2020 15:59:18 +0200 Subject: [PATCH 724/958] [skip ci] updated version information after successful test of v3.0.0-alpha-301-gc31482b1c --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index a05ebe3cf..63a86fac9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-275-g7801f527f +v3.0.0-alpha-301-gc31482b1c From 3612b172954e3a5cc6be2e60174187c1138b8c33 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Wed, 23 Sep 2020 16:21:20 +0200 Subject: [PATCH 725/958] corrected Sphinx warnings --- PRIVATE | 2 +- python/damask/_colormap.py | 12 ++++++------ python/damask/_geom.py | 4 ++-- python/damask/_rotation.py | 20 ++++++++++---------- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/PRIVATE b/PRIVATE index 3444f5334..7d2aaef23 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 3444f5334c1c6c05b781e0e25bbcb658d9ce7c5d +Subproject commit 7d2aaef2341b83db53b58c04c4bdd88a64d47765 diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index fa7d36ec2..6803f4c60 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -147,12 +147,12 @@ class Colormap(mpl.colors.ListedColormap): References ---------- - .. [1] DAMASK colormap theory - https://www.kennethmoreland.com/color-maps/ColorMapsExpanded.pdf - .. [2] DAMASK colormaps first use - https://doi.org/10.1016/j.ijplas.2012.09.012 - .. [3] Matplotlib colormaps overview - https://matplotlib.org/tutorials/colors/colormaps.html + [1] DAMASK colormap theory + https://www.kennethmoreland.com/color-maps/ColorMapsExpanded.pdf + [2] DAMASK colormaps first use + https://doi.org/10.1016/j.ijplas.2012.09.012 + [3] Matplotlib colormaps overview + https://matplotlib.org/tutorials/colors/colormaps.html """ print('DAMASK colormaps') diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 41e1e22da..65a5e916a 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -559,8 +559,8 @@ class Geom: If given as floats, coordinates are addressed. exponent : numpy.ndarray of shape(3) or float Exponents for the three axis. - 0 gives octahedron (|x|^(2^0) + |y|^(2^0) + |z|^(2^0) < 1) - 1 gives a sphere (|x|^(2^1) + |y|^(2^1) + |z|^(2^1) < 1) + 0 gives octahedron (ǀxǀ^(2^0) + ǀyǀ^(2^0) + ǀzǀ^(2^0) < 1) + 1 gives a sphere (ǀxǀ^(2^1) + ǀyǀ^(2^1) + ǀzǀ^(2^1) < 1) fill : int, optional Fill value for primitive. Defaults to microstructure.max() + 1. R : damask.Rotation, optional diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index d9237c7e2..363dbfce8 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -212,7 +212,7 @@ class Rotation: Returns ------- q : numpy.ndarray of shape (...,4) - Unit quaternion in positive real hemisphere: (q_0, q_1, q_2, q_3), |q|=1, q_0 ≥ 0. + Unit quaternion in positive real hemisphere: (q_0, q_1, q_2, q_3), ǀqǀ=1, q_0 ≥ 0. """ return self.quaternion.copy() @@ -255,7 +255,7 @@ class Rotation: ------- axis_angle : numpy.ndarray of shape (...,4) unless pair == True: tuple containing numpy.ndarray of shapes (...,3) and (...) - Axis angle pair: (n_1, n_2, n_3, ω), |n| = 1 and ω ∈ [0,π] + Axis angle pair: (n_1, n_2, n_3, ω), ǀnǀ = 1 and ω ∈ [0,π] unless degrees = True: ω ∈ [0,180]. """ @@ -290,7 +290,7 @@ class Rotation: ------- rho : numpy.ndarray of shape (...,4) unless vector == True: numpy.ndarray of shape (...,3) - Rodrigues-Frank vector: [n_1, n_2, n_3, tan(ω/2)], |n| = 1 and ω ∈ [0,π]. + Rodrigues-Frank vector: [n_1, n_2, n_3, tan(ω/2)], ǀnǀ = 1 and ω ∈ [0,π]. """ ro = Rotation._qu2ro(self.quaternion) @@ -307,7 +307,7 @@ class Rotation: Returns ------- h : numpy.ndarray of shape (...,3) - Homochoric vector: (h_1, h_2, h_3), |h| < 1/2*π^(2/3). + Homochoric vector: (h_1, h_2, h_3), ǀhǀ < 1/2*π^(2/3). """ return Rotation._qu2ho(self.quaternion) @@ -353,7 +353,7 @@ class Rotation: ---------- q : numpy.ndarray of shape (...,4) Unit quaternion in positive real hemisphere: (q_0, q_1, q_2, q_3), - |q|=1, q_0 ≥ 0. + ǀqǀ=1, q_0 ≥ 0. accept_homomorph : boolean, optional Allow homomorphic variants, i.e. q_0 < 0 (negative real hemisphere). Defaults to False. @@ -416,12 +416,12 @@ class Rotation: Parameters ---------- axis_angle : numpy.ndarray of shape (...,4) - Axis angle pair: [n_1, n_2, n_3, ω], |n| = 1 and ω ∈ [0,π] + Axis angle pair: [n_1, n_2, n_3, ω], ǀnǀ = 1 and ω ∈ [0,π] unless degrees = True: ω ∈ [0,180]. degrees : boolean, optional Angle ω is given in degrees. Defaults to False. normalize: boolean, optional - Allow |n| ≠ 1. Defaults to False. + Allow ǀnǀ ≠ 1. Defaults to False. P : int ∈ {-1,1}, optional Convention used. Defaults to -1. @@ -503,9 +503,9 @@ class Rotation: ---------- rho : numpy.ndarray of shape (...,4) Rodrigues-Frank vector (angle separated from axis). - (n_1, n_2, n_3, tan(ω/2)), |n| = 1 and ω ∈ [0,π]. + (n_1, n_2, n_3, tan(ω/2)), ǀnǀ = 1 and ω ∈ [0,π]. normalize : boolean, optional - Allow |n| ≠ 1. Defaults to False. + Allow ǀnǀ ≠ 1. Defaults to False. P : int ∈ {-1,1}, optional Convention used. Defaults to -1. @@ -534,7 +534,7 @@ class Rotation: Parameters ---------- h : numpy.ndarray of shape (...,3) - Homochoric vector: (h_1, h_2, h_3), |h| < (3/4*π)^(1/3). + Homochoric vector: (h_1, h_2, h_3), ǀhǀ < (3/4*π)^(1/3). P : int ∈ {-1,1}, optional Convention used. Defaults to -1. From 9bce1ddc29255b6ffdee6e377fb6883e9ae19e09 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 23 Sep 2020 20:48:34 +0200 Subject: [PATCH 726/958] simplified --- python/damask/seeds.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/python/damask/seeds.py b/python/damask/seeds.py index e2cb5fc75..10d247859 100644 --- a/python/damask/seeds.py +++ b/python/damask/seeds.py @@ -31,10 +31,10 @@ def from_random(size,N_seeds,grid=None,seed=None): coords = grid_coords[rng.choice(_np.prod(grid),N_seeds, replace=False)] \ + _np.broadcast_to(size/grid,(N_seeds,3))*(rng.random((N_seeds,3))*.5-.25) # wobble without leaving grid - return (coords,_np.arange(N_seeds,dtype='i')) + coords -def from_poisson_disc(size,N_seeds,N_candidates,distance,seed=None): +def from_Poisson_disc(size,N_seeds,N_candidates,distance,seed=None): """ Seeding in space according to a Poisson disc distribution. @@ -69,7 +69,7 @@ def from_poisson_disc(size,N_seeds,N_candidates,distance,seed=None): i += 1 progress.update(i) - return (coords,_np.arange(N_seeds,dtype='i')) + return coords def from_geom(geom,selection=None,invert=False): @@ -82,9 +82,9 @@ def from_geom(geom,selection=None,invert=False): ... """ - materials = geom.materials.reshape((-1,1),order='F') - mask = _np.isin(materials,selection,invert=invert) if selection is not None else \ - _np.full(geom.grid.prod(),True,dtype=bool) + material = geom.materials.reshape((-1,1),order='F') + mask = _np.full(geom.grid.prod(),True,dtype=bool) if selection is None else \ + _np.isin(material,selection,invert=invert) coords = grid_filters.cell_coord0(geom.grid,geom.size).reshape(-1,3,order='F') - return (coords[mask],materials[mask]) + return (coords[mask],material[mask]) From cfeec531780f9ce2d04cbac438b9f514f4cf83d8 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 23 Sep 2020 21:08:42 +0200 Subject: [PATCH 727/958] dataset is called 'material', not 'materialpoint' avoid infinite loop in case it is not found --- src/grid/discretization_grid.f90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 276dd566f..271f766e2 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -366,9 +366,8 @@ subroutine readVTR(grid,geomSize,origin,microstructure) gotCellData = .true. startPos = endPos + 2_pI64 do while (index(fileContent(startPos:endPos),'',kind=pI64) == 0_pI64) - endPos = startPos + index(fileContent(startPos:),IO_EOL,kind=pI64) - 2_pI64 if(index(fileContent(startPos:endPos),'',kind=pI64) /= 0_pI64) then gotCoordinates = .true. From 8c83566b71ff0f83049817584a44a58842d975cb Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 23 Sep 2020 21:10:10 +0200 Subject: [PATCH 728/958] suppress warning we already handle the invalid FPE --- python/damask/util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/util.py b/python/damask/util.py index 6432ed4e1..0a9303dce 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -172,7 +172,7 @@ def scale_to_coprime(v): m = (np.array(v) * reduce(lcm, map(lambda x: int(get_square_denominator(x)),v)) ** 0.5).astype(np.int) m = m//reduce(np.gcd,m) - with np.errstate(divide='ignore'): + with np.errstate(invalid='ignore'): if not np.allclose(np.ma.masked_invalid(v/m),v[np.argmax(abs(v))]/m[np.argmax(abs(v))]): raise ValueError(f'Invalid result {m} for input {v}. Insufficient precision?') From fa413efcbb88942145cc8e96bd34d7fbfe298727 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 23 Sep 2020 21:25:14 +0200 Subject: [PATCH 729/958] microstructure -> material --- PRIVATE | 2 +- src/grid/discretization_grid.f90 | 38 +++++++++++++++----------------- src/marc/discretization_marc.f90 | 32 +++++++++++++-------------- 3 files changed, 35 insertions(+), 37 deletions(-) diff --git a/PRIVATE b/PRIVATE index c7accae52..ff07e6d60 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit c7accae5211531f4282285620df909b74fadd4af +Subproject commit ff07e6d60bffff734572d46ab1dec1c2280dc4fe diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 271f766e2..e3c31c345 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -56,7 +56,7 @@ subroutine discretization_grid_init(restart) myGrid !< domain grid of this process integer, dimension(:), allocatable :: & - microstructureAt + materialAt integer :: & j, & @@ -68,9 +68,9 @@ subroutine discretization_grid_init(restart) write(6,'(/,a)') ' <<<+- discretization_grid init -+>>>'; flush(6) if(index(interface_geomFile,'.vtr') /= 0) then - call readVTR(grid,geomSize,origin,microstructureAt) + call readVTR(grid,geomSize,origin,materialAt) else - call readGeom(grid,geomSize,origin,microstructureAt) + call readGeom(grid,geomSize,origin,materialAt) endif print'(/,a,3(i12 ))', ' grid a b c: ', grid @@ -102,10 +102,9 @@ subroutine discretization_grid_init(restart) !-------------------------------------------------------------------------------------------------- ! general discretization - microstructureAt = microstructureAt(product(grid(1:2))*grid3Offset+1: & - product(grid(1:2))*(grid3Offset+grid3)) ! reallocate/shrink in case of MPI + materialAt = materialAt(product(grid(1:2))*grid3Offset+1:product(grid(1:2))*(grid3Offset+grid3)) ! reallocate/shrink in case of MPI - call discretization_init(microstructureAt, & + call discretization_init(materialAt, & IPcoordinates0(myGrid,mySize,grid3Offset), & Nodes0(myGrid,mySize,grid3Offset),& merge((grid(1)+1) * (grid(2)+1) * (grid3+1),& ! write bottom layer @@ -147,7 +146,7 @@ end subroutine discretization_grid_init !> @details important variables have an implicit "save" attribute. Therefore, this function is ! supposed to be called only once! !-------------------------------------------------------------------------------------------------- -subroutine readGeom(grid,geomSize,origin,microstructure) +subroutine readGeom(grid,geomSize,origin,material) integer, dimension(3), intent(out) :: & grid ! grid (across all processes!) @@ -155,7 +154,7 @@ subroutine readGeom(grid,geomSize,origin,microstructure) geomSize, & ! size (across all processes!) origin ! origin (across all processes!) integer, dimension(:), intent(out), allocatable :: & - microstructure + material character(len=:), allocatable :: rawData character(len=65536) :: line @@ -167,7 +166,7 @@ subroutine readGeom(grid,geomSize,origin,microstructure) startPos, endPos, & myStat, & l, & !< line counter - c, & !< counter for # microstructures in line + c, & !< counter for # materials in line o, & !< order of "to" packing e, & !< "element", i.e. spectral collocation point i, j @@ -266,7 +265,7 @@ subroutine readGeom(grid,geomSize,origin,microstructure) if(any(geomSize < 0.0_pReal)) & call IO_error(error_ID = 842, ext_msg='size (readGeom)') - allocate(microstructure(product(grid)), source = -1) ! too large in case of MPI (shrink later, not very elegant) + allocate(material(product(grid)), source = -1) ! too large in case of MPI (shrink later, not very elegant) !-------------------------------------------------------------------------------------------------- ! read and interpret content @@ -281,18 +280,18 @@ subroutine readGeom(grid,geomSize,origin,microstructure) noCompression: if (chunkPos(1) /= 3) then c = chunkPos(1) - microstructure(e:e+c-1) = [(IO_intValue(line,chunkPos,i+1), i=0, c-1)] + material(e:e+c-1) = [(IO_intValue(line,chunkPos,i+1), i=0, c-1)] else noCompression compression: if (IO_lc(IO_stringValue(line,chunkPos,2)) == 'of') then c = IO_intValue(line,chunkPos,1) - microstructure(e:e+c-1) = [(IO_intValue(line,chunkPos,3),i = 1,IO_intValue(line,chunkPos,1))] + material(e:e+c-1) = [(IO_intValue(line,chunkPos,3),i = 1,IO_intValue(line,chunkPos,1))] else if (IO_lc(IO_stringValue(line,chunkPos,2)) == 'to') then compression c = abs(IO_intValue(line,chunkPos,3) - IO_intValue(line,chunkPos,1)) + 1 o = merge(+1, -1, IO_intValue(line,chunkPos,3) > IO_intValue(line,chunkPos,1)) - microstructure(e:e+c-1) = [(i, i = IO_intValue(line,chunkPos,1),IO_intValue(line,chunkPos,3),o)] + material(e:e+c-1) = [(i, i = IO_intValue(line,chunkPos,1),IO_intValue(line,chunkPos,3),o)] else compression c = chunkPos(1) - microstructure(e:e+c-1) = [(IO_intValue(line,chunkPos,i+1), i=0, c-1)] + material(e:e+c-1) = [(IO_intValue(line,chunkPos,i+1), i=0, c-1)] endif compression endif noCompression @@ -308,7 +307,7 @@ end subroutine readGeom !> @brief Parse vtk rectilinear grid (.vtr) !> @details https://vtk.org/Wiki/VTK_XML_Formats !-------------------------------------------------------------------------------------------------- -subroutine readVTR(grid,geomSize,origin,microstructure) +subroutine readVTR(grid,geomSize,origin,material) integer, dimension(3), intent(out) :: & grid ! grid (across all processes!) @@ -316,7 +315,7 @@ subroutine readVTR(grid,geomSize,origin,microstructure) geomSize, & ! size (across all processes!) origin ! origin (across all processes!) integer, dimension(:), intent(out), allocatable :: & - microstructure + material character(len=:), allocatable :: fileContent, dataType, headerType logical :: inFile,inGrid,gotCoordinates,gotCellData,compressed @@ -364,7 +363,6 @@ subroutine readVTR(grid,geomSize,origin,microstructure) else if(index(fileContent(startPos:endPos),'',kind=pI64) /= 0_pI64) then gotCellData = .true. - startPos = endPos + 2_pI64 do while (index(fileContent(startPos:endPos),'',kind=pI64) == 0_pI64) if(index(fileContent(startPos:endPos),' nElems) call IO_error(602,ext_msg='element') @@ -103,7 +103,7 @@ subroutine discretization_marc_init call buildIPcoordinates(IP_reshaped,reshape(connectivity_cell,[elem%NcellNodesPerCell,& elem%nIPs*nElems]),node0_cell) - call discretization_init(microstructureAt,& + call discretization_init(materialAt,& IP_reshaped,& node0_cell) @@ -172,7 +172,7 @@ end subroutine writeGeometry !-------------------------------------------------------------------------------------------------- !> @brief Read mesh from marc input file !-------------------------------------------------------------------------------------------------- -subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt) +subroutine inputRead(elem,node0_elem,connectivity_elem,materialAt) type(tElement), intent(out) :: elem real(pReal), dimension(:,:), allocatable, intent(out) :: & @@ -180,7 +180,7 @@ subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt) integer, dimension(:,:), allocatable, intent(out) :: & connectivity_elem integer, dimension(:), allocatable, intent(out) :: & - microstructureAt + materialAt integer :: & fileFormatVersion, & @@ -226,9 +226,9 @@ subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt) connectivity_elem = inputRead_connectivityElem(nElems,elem%nNodes,inputFile) - call inputRead_microstructure(microstructureAt, & - nElems,elem%nNodes,nameElemSet,mapElemSet,& - initialcondTableStyle,inputFile) + call inputRead_material(materialAt, & + nElems,elem%nNodes,nameElemSet,mapElemSet,& + initialcondTableStyle,inputFile) end subroutine inputRead @@ -675,13 +675,13 @@ end function inputRead_connectivityElem !-------------------------------------------------------------------------------------------------- -!> @brief Store microstructure ID +!> @brief Store material ID !-------------------------------------------------------------------------------------------------- -subroutine inputRead_microstructure(microstructureAt,& - nElem,nNodes,nameElemSet,mapElemSet,initialcondTableStyle,fileContent) +subroutine inputRead_material(materialAt,& + nElem,nNodes,nameElemSet,mapElemSet,initialcondTableStyle,fileContent) integer, dimension(:), allocatable, intent(out) :: & - microstructureAt + materialAt integer, intent(in) :: & nElem, & nNodes, & !< number of nodes per element @@ -696,7 +696,7 @@ subroutine inputRead_microstructure(microstructureAt,& integer :: i,j,t,sv,myVal,e,nNodesAlreadyRead,l,k,m - allocate(microstructureAt(nElem),source=0) + allocate(materialAt(nElem),source=0) do l = 1, size(fileContent) chunkPos = IO_stringPos(fileContent(l)) @@ -715,7 +715,7 @@ subroutine inputRead_microstructure(microstructureAt,& contInts = continuousIntValues(fileContent(l+k+m+1:),nElem,nameElemSet,mapElemSet,size(nameElemSet)) ! get affected elements do i = 1,contInts(1) e = mesh_FEM2DAMASK_elem(contInts(1+i)) - microstructureAt(e) = myVal + materialAt(e) = myVal enddo if (initialcondTableStyle == 0) m = m + 1 enddo @@ -723,9 +723,9 @@ subroutine inputRead_microstructure(microstructureAt,& endif enddo - if(any(microstructureAt < 1)) call IO_error(180) + if(any(materialAt < 1)) call IO_error(180) -end subroutine inputRead_microstructure +end subroutine inputRead_material !-------------------------------------------------------------------------------------------------- From 8c8db5b99f0364c860c458b2c4df65ca74ee3a37 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 23 Sep 2020 17:27:15 -0400 Subject: [PATCH 730/958] switched "Geom.materials" to "Geom.material" --- processing/pre/geom_grainGrowth.py | 40 ++-- processing/pre/mentat_spectralBox.py | 12 +- processing/pre/seeds_fromDistribution.py | 14 +- processing/pre/seeds_fromGeom.py | 8 +- processing/pre/seeds_fromPokes.py | 2 +- python/damask/_geom.py | 234 ++++++++++++----------- python/tests/test_Geom.py | 52 ++--- 7 files changed, 182 insertions(+), 180 deletions(-) diff --git a/processing/pre/geom_grainGrowth.py b/processing/pre/geom_grainGrowth.py index a573a9fed..b5793f703 100755 --- a/processing/pre/geom_grainGrowth.py +++ b/processing/pre/geom_grainGrowth.py @@ -66,13 +66,13 @@ for name in filenames: grid_original = geom.grid damask.util.croak(geom) - materials = np.tile(geom.materials,np.where(grid_original == 1, 2,1)) # make one copy along dimensions with grid == 1 - grid = np.array(materials.shape) + material = np.tile(geom.material,np.where(grid_original == 1, 2,1)) # make one copy along dimensions with grid == 1 + grid = np.array(material.shape) # --- initialize support data --------------------------------------------------------------------- # store a copy of the initial material indices to find locations of immutable indices - materials_original = np.copy(materials) + material_original = np.copy(material) if not options.ndimage: X,Y,Z = np.mgrid[0:grid[0],0:grid[1],0:grid[2]] @@ -88,14 +88,14 @@ for name in filenames: for smoothIter in range(options.N): - interfaceEnergy = np.zeros(materials.shape,dtype=np.float32) + interfaceEnergy = np.zeros(material.shape,dtype=np.float32) for i in (-1,0,1): for j in (-1,0,1): for k in (-1,0,1): # assign interfacial energy to all voxels that have a differing neighbor (in Moore neighborhood) interfaceEnergy = np.maximum(interfaceEnergy, - getInterfaceEnergy(materials,np.roll(np.roll(np.roll( - materials,i,axis=0), j,axis=1), k,axis=2))) + getInterfaceEnergy(material,np.roll(np.roll(np.roll( + material,i,axis=0), j,axis=1), k,axis=2))) # periodically extend interfacial energy array by half a grid size in positive and negative directions periodic_interfaceEnergy = np.tile(interfaceEnergy,(3,3,3))[grid[0]//2:-grid[0]//2, @@ -143,33 +143,33 @@ for name in filenames: return_distances = False, return_indices = True) # want index of closest bulk grain - periodic_materials = np.tile(materials,(3,3,3))[grid[0]//2:-grid[0]//2, - grid[1]//2:-grid[1]//2, - grid[2]//2:-grid[2]//2] # periodically extend the geometry + periodic_material = np.tile(material,(3,3,3))[grid[0]//2:-grid[0]//2, + grid[1]//2:-grid[1]//2, + grid[2]//2:-grid[2]//2] # periodically extend the geometry - materials = periodic_materials[index[0], - index[1], - index[2]].reshape(2*grid)[grid[0]//2:-grid[0]//2, - grid[1]//2:-grid[1]//2, - grid[2]//2:-grid[2]//2] # extent grains into interface region + material = periodic_material[index[0], + index[1], + index[2]].reshape(2*grid)[grid[0]//2:-grid[0]//2, + grid[1]//2:-grid[1]//2, + grid[2]//2:-grid[2]//2] # extent grains into interface region # replace immutable materials with closest mutable ones - index = ndimage.morphology.distance_transform_edt(np.in1d(materials,options.immutable).reshape(grid), + index = ndimage.morphology.distance_transform_edt(np.in1d(material,options.immutable).reshape(grid), return_distances = False, return_indices = True) - materials = materials[index[0], + material = material[index[0], index[1], index[2]] - immutable = np.zeros(materials.shape, dtype=np.bool) + immutable = np.zeros(material.shape, dtype=np.bool) # find locations where immutable materials have been in original structure for micro in options.immutable: - immutable += materials_original == micro + immutable += material_original == micro # undo any changes involving immutable materials - materials = np.where(immutable, materials_original,materials) + material = np.where(immutable, material_original,material) - damask.Geom(materials = materials[0:grid_original[0],0:grid_original[1],0:grid_original[2]], + damask.Geom(material = material[0:grid_original[0],0:grid_original[1],0:grid_original[2]], size = geom.size, origin = geom.origin, comments = geom.comments + [scriptID + ' ' + ' '.join(sys.argv[1:])], diff --git a/processing/pre/mentat_spectralBox.py b/processing/pre/mentat_spectralBox.py index 98703219f..7d78cb973 100755 --- a/processing/pre/mentat_spectralBox.py +++ b/processing/pre/mentat_spectralBox.py @@ -100,7 +100,7 @@ def mesh(r,d): #------------------------------------------------------------------------------------------------- -def material(): +def materials(): return [\ "*new_mater standard", "*mater_option general:state:solid", @@ -130,10 +130,10 @@ def geometry(): #------------------------------------------------------------------------------------------------- -def initial_conditions(materials): +def initial_conditions(material): elements = [] element = 0 - for id in materials: + for id in material: element += 1 if len(elements) < id: for i in range(id-len(elements)): @@ -197,14 +197,14 @@ for name in filenames: damask.util.report(scriptName,name) geom = damask.Geom.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - materials = geom.materials.flatten(order='F') + material = geom.material.flatten(order='F') cmds = [\ init(), mesh(geom.grid,geom.size), - material(), + materials(), geometry(), - initial_conditions(materials), + initial_conditions(material), '*identify_sets', '*show_model', '*redraw', diff --git a/processing/pre/seeds_fromDistribution.py b/processing/pre/seeds_fromDistribution.py index 030f3d6fa..48f803d29 100755 --- a/processing/pre/seeds_fromDistribution.py +++ b/processing/pre/seeds_fromDistribution.py @@ -101,8 +101,8 @@ class myThread (threading.Thread): #--- evaluate current seeds file ------------------------------------------------------------------ perturbedGeom = damask.Geom.load_ASCII(perturbedGeomVFile) - myNmaterials = len(np.unique(perturbedGeom.materials)) - currentData=np.bincount(perturbedGeom.materials.ravel())[1:]/points + myNmaterials = len(np.unique(perturbedGeom.material)) + currentData = np.bincount(perturbedGeom.material.ravel())[1:]/points currentError=[] currentHist=[] for i in range(nMaterials): # calculate the deviation in all bins per histogram @@ -217,8 +217,8 @@ points = np.array(options.grid).prod().astype('float') # ----------- calculate target distribution and bin edges targetGeom = damask.Geom.load_ASCII(os.path.splitext(os.path.basename(options.target))[0]+'.geom') -nMaterials = len(np.unique(targetGeom.materials)) -targetVolFrac = np.bincount(targetGeom.materials.flatten())/targetGeom.grid.prod().astype(np.float) +nMaterials = len(np.unique(targetGeom.material)) +targetVolFrac = np.bincount(targetGeom.material.flatten())/targetGeom.grid.prod().astype(np.float) target = [] for i in range(1,nMaterials+1): targetHist,targetBins = np.histogram(targetVolFrac,bins=i) #bin boundaries @@ -244,10 +244,10 @@ initialGeomVFile.write(damask.util.execute('geom_fromVoronoiTessellation '+ initialGeomVFile.seek(0) initialGeom = damask.Geom.load_ASCII(initialGeomVFile) -if len(np.unique(targetGeom.materials)) != nMaterials: +if len(np.unique(targetGeom.material)) != nMaterials: damask.util.croak('error. Material count mismatch') -initialData = np.bincount(initialGeom.materials.flatten())/points +initialData = np.bincount(initialGeom.material.flatten())/points for i in range(nMaterials): initialHist = np.histogram(initialData,bins=target[i]['bins'])[0] target[i]['error']=np.sqrt(np.square(np.array(target[i]['histogram']-initialHist)).sum()) @@ -263,7 +263,7 @@ for i in range(nMaterials): if options.maxseeds < 1: - maxSeeds = len(np.unique(initialGeom.materials)) + maxSeeds = len(np.unique(initialGeom.material)) else: maxSeeds = options.maxseeds diff --git a/processing/pre/seeds_fromGeom.py b/processing/pre/seeds_fromGeom.py index de95b439d..b8d74b651 100755 --- a/processing/pre/seeds_fromGeom.py +++ b/processing/pre/seeds_fromGeom.py @@ -47,11 +47,11 @@ for name in filenames: damask.util.report(scriptName,name) geom = damask.Geom.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - materials = geom.materials.reshape((-1,1),order='F') + material = geom.material.reshape((-1,1),order='F') - mask = np.logical_and(np.in1d(materials,options.whitelist,invert=False) if options.whitelist else \ + mask = np.logical_and(np.in1d(material,options.whitelist,invert=False) if options.whitelist else \ np.full(geom.grid.prod(),True,dtype=bool), - np.in1d(materials,options.blacklist,invert=True) if options.blacklist else \ + np.in1d(material,options.blacklist,invert=True) if options.blacklist else \ np.full(geom.grid.prod(),True,dtype=bool)) seeds = damask.grid_filters.cell_coord0(geom.grid,geom.size).reshape(-1,3,order='F') @@ -64,5 +64,5 @@ for name in filenames: ] damask.Table(seeds[mask],{'pos':(3,)},comments)\ - .add('material',materials[mask].astype(int))\ + .add('material',material[mask].astype(int))\ .save(sys.stdout if name is None else os.path.splitext(name)[0]+'.seeds',legacy=True) diff --git a/processing/pre/seeds_fromPokes.py b/processing/pre/seeds_fromPokes.py index ff9d250fc..887d76392 100755 --- a/processing/pre/seeds_fromPokes.py +++ b/processing/pre/seeds_fromPokes.py @@ -76,7 +76,7 @@ for name in filenames: g[2] = k + offset[2] g %= geom.grid seeds[n,0:3] = (g+0.5)/geom.grid # normalize coordinates to box - seeds[n, 3] = geom.materials[g[0],g[1],g[2]] + seeds[n, 3] = geom.material[g[0],g[1],g[2]] if options.x: g[0] += 1 if options.y: g[1] += 1 n += 1 diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 86d11b9be..6af265021 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -15,13 +15,13 @@ from . import grid_filters class Geom: """Geometry definition for grid solvers.""" - def __init__(self,materials,size,origin=[0.0,0.0,0.0],comments=[]): + def __init__(self,material,size,origin=[0.0,0.0,0.0],comments=[]): """ - New geometry definition from array of materials, size, and origin. + New geometry definition from array of material, size, and origin. Parameters ---------- - materials : numpy.ndarray + material : numpy.ndarray Material index array (3D). size : list or numpy.ndarray Physical size of the geometry in meter. @@ -31,16 +31,16 @@ class Geom: Comment lines. """ - if len(materials.shape) != 3: - raise ValueError(f'Invalid materials shape {materials.shape}.') - elif materials.dtype not in np.sctypes['float'] + np.sctypes['int']: - raise TypeError(f'Invalid materials data type {materials.dtype}.') + if len(material.shape) != 3: + raise ValueError(f'Invalid material shape {material.shape}.') + elif material.dtype not in np.sctypes['float'] + np.sctypes['int']: + raise TypeError(f'Invalid material data type {material.dtype}.') else: - self.materials = np.copy(materials) + self.material = np.copy(material) - if self.materials.dtype in np.sctypes['float'] and \ - np.all(self.materials == self.materials.astype(int).astype(float)): - self.materials = self.materials.astype(int) + if self.material.dtype in np.sctypes['float'] and \ + np.all(self.material == self.material.astype(int).astype(float)): + self.material = self.material.astype(int) if len(size) != 3 or any(np.array(size) <= 0): raise ValueError(f'Invalid size {size}.') @@ -62,7 +62,7 @@ class Geom: f'size x y z: {util.srepr(self.size, " x ")}', f'origin x y z: {util.srepr(self.origin," ")}', f'# materials: {self.N_materials}', - f'max material: {np.nanmax(self.materials)}', + f'max material: {np.nanmax(self.material)}', ]) @@ -103,21 +103,21 @@ class Geom: message.append(util.delete(f'# materials: {other.N_materials}')) message.append(util.emph( f'# materials: { self.N_materials}')) - if np.nanmax(other.materials) != np.nanmax(self.materials): - message.append(util.delete(f'max material: {np.nanmax(other.materials)}')) - message.append(util.emph( f'max material: {np.nanmax( self.materials)}')) + if np.nanmax(other.material) != np.nanmax(self.material): + message.append(util.delete(f'max material: {np.nanmax(other.material)}')) + message.append(util.emph( f'max material: {np.nanmax( self.material)}')) return util.return_message(message) @property def grid(self): - return np.asarray(self.materials.shape) + return np.asarray(self.material.shape) @property def N_materials(self): - return np.unique(self.materials).size + return np.unique(self.material).size @staticmethod @@ -160,7 +160,7 @@ class Geom: else: comments.append(line.strip()) - materials = np.empty(grid.prod()) # initialize as flat array + material = np.empty(grid.prod()) # initialize as flat array i = 0 for line in content[header_length:]: items = line.split('#')[0].split() @@ -172,16 +172,16 @@ class Geom: abs(int(items[2])-int(items[0]))+1,dtype=float) else: items = list(map(float,items)) else: items = list(map(float,items)) - materials[i:i+len(items)] = items + material[i:i+len(items)] = items i += len(items) if i != grid.prod(): raise TypeError(f'Invalid file: expected {grid.prod()} entries, found {i}') - if not np.any(np.mod(materials,1) != 0.0): # no float present - materials = materials.astype('int') + if not np.any(np.mod(material,1) != 0.0): # no float present + material = material.astype('int') - return Geom(materials.reshape(grid,order='F'),size,origin,comments) + return Geom(material.reshape(grid,order='F'),size,origin,comments) @staticmethod @@ -200,9 +200,11 @@ class Geom: comments = v.get_comments() grid = np.array(v.vtk_data.GetDimensions())-1 bbox = np.array(v.vtk_data.GetBounds()).reshape(3,2).T - size = bbox[1] - bbox[0] - return Geom(v.get('material').reshape(grid,order='F'),size,bbox[0],comments=comments) + return Geom(material = v.get('material').reshape(grid,order='F'), + size = bbox[1] - bbox[0], + origin = bbox[0], + comments=comments) @staticmethod @@ -243,17 +245,17 @@ class Geom: result = pool.map_async(partial(Geom._find_closest_seed,seeds_p,weights_p), [coord for coord in coords]) pool.close() pool.join() - materials = np.array(result.get()) + material = np.array(result.get()) if periodic: - materials = materials.reshape(grid*3) - materials = materials[grid[0]:grid[0]*2,grid[1]:grid[1]*2,grid[2]:grid[2]*2]%seeds.shape[0] + material = material.reshape(grid*3) + material = material[grid[0]:grid[0]*2,grid[1]:grid[1]*2,grid[2]:grid[2]*2]%seeds.shape[0] else: - materials = materials.reshape(grid) + material = material.reshape(grid) - return Geom(materials = materials+1, - size = size, - comments = util.execution_stamp('Geom','from_Laguerre_tessellation'), + return Geom(material = material+1, + size = size, + comments = util.execution_stamp('Geom','from_Laguerre_tessellation'), ) @@ -276,11 +278,11 @@ class Geom: """ coords = grid_filters.cell_coord0(grid,size).reshape(-1,3) KDTree = spatial.cKDTree(seeds,boxsize=size) if periodic else spatial.cKDTree(seeds) - devNull,materials = KDTree.query(coords) + devNull,material = KDTree.query(coords) - return Geom(materials = materials.reshape(grid)+1, - size = size, - comments = util.execution_stamp('Geom','from_Voronoi_tessellation'), + return Geom(material = material.reshape(grid)+1, + size = size, + comments = util.execution_stamp('Geom','from_Voronoi_tessellation'), ) @@ -311,10 +313,10 @@ class Geom: plain = not compress if plain: - format_string = '%g' if self.materials.dtype in np.sctypes['float'] else \ - '%{}i'.format(1+int(np.floor(np.log10(np.nanmax(self.materials))))) + format_string = '%g' if self.material.dtype in np.sctypes['float'] else \ + '%{}i'.format(1+int(np.floor(np.log10(np.nanmax(self.material))))) np.savetxt(fname, - self.materials.reshape([grid[0],np.prod(grid[1:])],order='F').T, + self.material.reshape([grid[0],np.prod(grid[1:])],order='F').T, header='\n'.join(header), fmt=format_string, comments='') else: try: @@ -325,7 +327,7 @@ class Geom: compressType = None former = start = -1 reps = 0 - for current in self.materials.flatten('F'): + for current in self.material.flatten('F'): if abs(current - former) == 1 and (start - current) == reps*(former - current): compressType = 'to' reps += 1 @@ -370,7 +372,7 @@ class Geom: """ v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) - v.add(self.materials.flatten(order='F'),'material') + v.add(self.material.flatten(order='F'),'material') v.add_comments(self.comments) v.save(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr',parallel=False,compress=compress) @@ -402,7 +404,7 @@ class Geom: 0 gives octahedron (|x|^(2^0) + |y|^(2^0) + |z|^(2^0) < 1) 1 gives a sphere (|x|^(2^1) + |y|^(2^1) + |z|^(2^1) < 1) fill : int, optional - Fill value for primitive. Defaults to materials.max() + 1. + Fill value for primitive. Defaults to material.max() + 1. R : damask.Rotation, optional Rotation of primitive. Defaults to no rotation. inverse : Boolean, optional @@ -428,12 +430,12 @@ class Geom: if periodic: # translate back to center mask = np.roll(mask,((c-np.ones(3)*.5)*self.grid).astype(int),(0,1,2)) - fill_ = np.full_like(self.materials,np.nanmax(self.materials)+1 if fill is None else fill) + fill_ = np.full_like(self.material,np.nanmax(self.material)+1 if fill is None else fill) - return Geom(materials = np.where(np.logical_not(mask) if inverse else mask, self.materials,fill_), - size = self.size, - origin = self.origin, - comments = self.comments+[util.execution_stamp('Geom','add_primitive')], + return Geom(material = np.where(np.logical_not(mask) if inverse else mask, self.material,fill_), + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','add_primitive')], ) @@ -455,19 +457,19 @@ class Geom: raise ValueError(f'Invalid direction {set(directions).difference(valid)} specified.') limits = [None,None] if reflect else [-2,0] - ms = self.materials.copy() + mat = self.material.copy() if 'x' in directions: - ms = np.concatenate([ms,ms[limits[0]:limits[1]:-1,:,:]],0) + mat = np.concatenate([mat,mat[limits[0]:limits[1]:-1,:,:]],0) if 'y' in directions: - ms = np.concatenate([ms,ms[:,limits[0]:limits[1]:-1,:]],1) + mat = np.concatenate([mat,mat[:,limits[0]:limits[1]:-1,:]],1) if 'z' in directions: - ms = np.concatenate([ms,ms[:,:,limits[0]:limits[1]:-1]],2) + mat = np.concatenate([mat,mat[:,:,limits[0]:limits[1]:-1]],2) - return Geom(materials = ms, - size = self.size/self.grid*np.asarray(ms.shape), - origin = self.origin, - comments = self.comments+[util.execution_stamp('Geom','mirror')], + return Geom(material = mat, + size = self.size/self.grid*np.asarray(mat.shape), + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','mirror')], ) @@ -486,12 +488,12 @@ class Geom: if not set(directions).issubset(valid): raise ValueError(f'Invalid direction {set(directions).difference(valid)} specified.') - ms = np.flip(self.materials, (valid.index(d) for d in directions if d in valid)) + mat = np.flip(self.material, (valid.index(d) for d in directions if d in valid)) - return Geom(materials = ms, - size = self.size, - origin = self.origin, - comments = self.comments+[util.execution_stamp('Geom','flip')], + return Geom(material = mat, + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','flip')], ) @@ -507,17 +509,17 @@ class Geom: Assume geometry to be periodic. Defaults to True. """ - return Geom(materials = ndimage.interpolation.zoom( - self.materials, + return Geom(material = ndimage.interpolation.zoom( + self.material, grid/self.grid, - output=self.materials.dtype, + output=self.material.dtype, order=0, mode=('wrap' if periodic else 'nearest'), prefilter=False ), - size = self.size, - origin = self.origin, - comments = self.comments+[util.execution_stamp('Geom','scale')], + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','scale')], ) @@ -543,29 +545,29 @@ class Geom: else: return me - return Geom(materials = ndimage.filters.generic_filter( - self.materials, + return Geom(material = ndimage.filters.generic_filter( + self.material, mostFrequent, size=(stencil if selection is None else stencil//2*2+1,)*3, mode=('wrap' if periodic else 'nearest'), extra_keywords=dict(selection=selection), - ).astype(self.materials.dtype), - size = self.size, - origin = self.origin, - comments = self.comments+[util.execution_stamp('Geom','clean')], + ).astype(self.material.dtype), + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','clean')], ) def renumber(self): """Renumber sorted material indices to 1,...,N.""" - renumbered = np.empty(self.grid,dtype=self.materials.dtype) - for i, oldID in enumerate(np.unique(self.materials)): - renumbered = np.where(self.materials == oldID, i+1, renumbered) + renumbered = np.empty(self.grid,dtype=self.material.dtype) + for i, oldID in enumerate(np.unique(self.material)): + renumbered = np.where(self.material == oldID, i+1, renumbered) - return Geom(materials = renumbered, - size = self.size, - origin = self.origin, - comments = self.comments+[util.execution_stamp('Geom','renumber')], + return Geom(material = renumbered, + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','renumber')], ) @@ -578,32 +580,32 @@ class Geom: R : damask.Rotation Rotation to apply to the geometry. fill : int or float, optional - Material index to fill the corners. Defaults to materials.max() + 1. + Material index to fill the corners. Defaults to material.max() + 1. """ - if fill is None: fill = np.nanmax(self.materials) + 1 - dtype = float if np.isnan(fill) or int(fill) != fill or self.materials.dtype==np.float else int + if fill is None: fill = np.nanmax(self.material) + 1 + dtype = float if np.isnan(fill) or int(fill) != fill or self.material.dtype==np.float else int Eulers = R.as_Eulers(degrees=True) - materials_in = self.materials.copy() + material_in = self.material.copy() # These rotations are always applied in the reference coordinate system, i.e. (z,x,z) not (z,x',z'') # see https://www.cs.utexas.edu/~theshark/courses/cs354/lectures/cs354-14.pdf for angle,axes in zip(Eulers[::-1], [(0,1),(1,2),(0,1)]): - materials_out = ndimage.rotate(materials_in,angle,axes,order=0, + material_out = ndimage.rotate(material_in,angle,axes,order=0, prefilter=False,output=dtype,cval=fill) - if np.prod(materials_in.shape) == np.prod(materials_out.shape): + if np.prod(material_in.shape) == np.prod(material_out.shape): # avoid scipy interpolation errors for rotations close to multiples of 90° - materials_in = np.rot90(materials_in,k=np.rint(angle/90.).astype(int),axes=axes) + material_in = np.rot90(material_in,k=np.rint(angle/90.).astype(int),axes=axes) else: - materials_in = materials_out + material_in = material_out - origin = self.origin-(np.asarray(materials_in.shape)-self.grid)*.5 * self.size/self.grid + origin = self.origin-(np.asarray(material_in.shape)-self.grid)*.5 * self.size/self.grid - return Geom(materials = materials_in, - size = self.size/self.grid*np.asarray(materials_in.shape), - origin = origin, - comments = self.comments+[util.execution_stamp('Geom','rotate')], + return Geom(material = material_in, + size = self.size/self.grid*np.asarray(material_in.shape), + origin = origin, + comments = self.comments+[util.execution_stamp('Geom','rotate')], ) @@ -618,12 +620,12 @@ class Geom: offset : numpy.ndarray of shape (3) Offset (measured in grid points) from old to new geometry [0,0,0]. fill : int or float, optional - Material index to fill the background. Defaults to materials.max() + 1. + Material index to fill the background. Defaults to material.max() + 1. """ if offset is None: offset = 0 - if fill is None: fill = np.nanmax(self.materials) + 1 - dtype = float if int(fill) != fill or self.materials.dtype in np.sctypes['float'] else int + if fill is None: fill = np.nanmax(self.material) + 1 + dtype = float if int(fill) != fill or self.material.dtype in np.sctypes['float'] else int canvas = np.full(self.grid if grid is None else grid,fill,dtype) @@ -632,35 +634,35 @@ class Geom: ll = np.clip(-offset, 0,np.minimum( grid,self.grid-offset)) ur = np.clip(-offset+self.grid,0,np.minimum( grid,self.grid-offset)) - canvas[ll[0]:ur[0],ll[1]:ur[1],ll[2]:ur[2]] = self.materials[LL[0]:UR[0],LL[1]:UR[1],LL[2]:UR[2]] + canvas[ll[0]:ur[0],ll[1]:ur[1],ll[2]:ur[2]] = self.material[LL[0]:UR[0],LL[1]:UR[1],LL[2]:UR[2]] - return Geom(materials = canvas, - size = self.size/self.grid*np.asarray(canvas.shape), - origin = self.origin+offset*self.size/self.grid, - comments = self.comments+[util.execution_stamp('Geom','canvas')], + return Geom(material = canvas, + size = self.size/self.grid*np.asarray(canvas.shape), + origin = self.origin+offset*self.size/self.grid, + comments = self.comments+[util.execution_stamp('Geom','canvas')], ) - def substitute(self,from_materials,to_materials): + def substitute(self,from_material,to_material): """ Substitute material indices. Parameters ---------- - from_materials : iterable of ints + from_material : iterable of ints Material indices to be substituted. - to_materials : iterable of ints + to_material : iterable of ints New material indices. """ - substituted = self.materials.copy() - for from_ms,to_ms in zip(from_materials,to_materials): - substituted[self.materials==from_ms] = to_ms + substituted = self.material.copy() + for from_ms,to_ms in zip(from_material,to_material): + substituted[self.material==from_ms] = to_ms - return Geom(materials = substituted, - size = self.size, - origin = self.origin, - comments = self.comments+[util.execution_stamp('Geom','substitute')], + return Geom(material = substituted, + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','substitute')], ) @@ -679,7 +681,7 @@ class Geom: Defaults to 1. offset : int, optional Offset (positive or negative) to tag material indices, - defaults to materials.max() + 1. + defaults to material.max() + 1. trigger : list of ints, optional List of material indices that trigger a change. Defaults to [], meaning that any different neighbor triggers a change. @@ -698,15 +700,15 @@ class Geom: trigger = list(trigger) return np.any(np.in1d(stencil,np.array(trigger))) - offset_ = np.nanmax(self.materials) if offset is None else offset - mask = ndimage.filters.generic_filter(self.materials, + offset_ = np.nanmax(self.material) if offset is None else offset + mask = ndimage.filters.generic_filter(self.material, tainted_neighborhood, size=1+2*vicinity, mode='wrap' if periodic else 'nearest', extra_keywords={'trigger':trigger}) - return Geom(materials = np.where(mask, self.materials + offset_,self.materials), - size = self.size, - origin = self.origin, - comments = self.comments+[util.execution_stamp('Geom','vicinity_offset')], + return Geom(material = np.where(mask, self.material + offset_,self.material), + size = self.size, + origin = self.origin, + comments = self.comments+[util.execution_stamp('Geom','vicinity_offset')], ) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 961d28713..ac4a8eac3 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -11,8 +11,8 @@ from damask import util def geom_equal(a,b): - return np.all(a.materials == b.materials) and \ - np.all(a.grid == b.grid) and \ + return np.all(a.material == b.material) and \ + np.all(a.grid == b.grid) and \ np.allclose(a.size, b.size) and \ str(a.diff(b)) == str(b.diff(a)) @@ -38,7 +38,7 @@ class TestGeom: def test_diff_not_equal(self,default): - new = Geom(default.materials[1:,1:,1:]+1,default.size*.9,np.ones(3)-default.origin,comments=['modified']) + new = Geom(default.material[1:,1:,1:]+1,default.size*.9,np.ones(3)-default.origin,comments=['modified']) assert str(default.diff(new)) != '' @@ -93,28 +93,28 @@ class TestGeom: def test_invalid_size(self,default): with pytest.raises(ValueError): - Geom(default.materials[1:,1:,1:], + Geom(default.material[1:,1:,1:], size=np.ones(2)) def test_invalid_origin(self,default): with pytest.raises(ValueError): - Geom(default.materials[1:,1:,1:], + Geom(default.material[1:,1:,1:], size=np.ones(3), origin=np.ones(4)) def test_invalid_materials_shape(self,default): - materials = np.ones((3,3)) + material = np.ones((3,3)) with pytest.raises(ValueError): - Geom(materials, + Geom(material, size=np.ones(3)) def test_invalid_materials_type(self,default): - materials = np.random.randint(1,300,(3,4,5))==1 + material = np.random.randint(1,300,(3,4,5))==1 with pytest.raises(TypeError): - Geom(materials) + Geom(material) @pytest.mark.parametrize('directions,reflect',[ @@ -205,10 +205,10 @@ class TestGeom: def test_renumber(self,default): - materials = default.materials.copy() - for m in np.unique(materials): - materials[materials==m] = materials.max() + np.random.randint(1,30) - modified = Geom(materials, + material = default.material.copy() + for m in np.unique(material): + material[material==m] = material.max() + np.random.randint(1,30) + modified = Geom(material, default.size, default.origin) assert not geom_equal(modified,default) @@ -218,13 +218,13 @@ class TestGeom: def test_substitute(self,default): offset = np.random.randint(1,500) - modified = Geom(default.materials + offset, + modified = Geom(default.material + offset, default.size, default.origin) assert not geom_equal(modified,default) assert geom_equal(default, - modified.substitute(np.arange(default.materials.max())+1+offset, - np.arange(default.materials.max())+1)) + modified.substitute(np.arange(default.material.max())+1+offset, + np.arange(default.material.max())+1)) @pytest.mark.parametrize('axis_angle',[np.array([1,0,0,86.7]), np.array([0,1,0,90.4]), np.array([0,0,1,90]), @@ -251,7 +251,7 @@ class TestGeom: grid = default.grid grid_add = np.random.randint(0,30,(3)) modified = default.canvas(grid + grid_add) - assert np.all(modified.materials[:grid[0],:grid[1],:grid[2]] == default.materials) + assert np.all(modified.material[:grid[0],:grid[1],:grid[2]] == default.material) @pytest.mark.parametrize('center1,center2',[(np.random.random(3)*.5,np.random.random()*8), @@ -271,7 +271,7 @@ class TestGeom: s = np.random.random(3)+.5 G_1 = Geom(np.ones(g,'i'),s,o).add_primitive(diameter,center1,exponent) G_2 = Geom(np.ones(g,'i'),s,o).add_primitive(diameter,center2,exponent) - assert np.count_nonzero(G_1.materials!=2) == np.count_nonzero(G_2.materials!=2) + assert np.count_nonzero(G_1.material!=2) == np.count_nonzero(G_2.material!=2) @pytest.mark.parametrize('center',[np.random.randint(4,10,(3)), @@ -308,14 +308,14 @@ class TestGeom: geom = Geom(m,np.random.rand(3)).vicinity_offset(vicinity,offset,trigger=trigger) - assert np.all(m2==geom.materials) + assert np.all(m2==geom.material) @pytest.mark.parametrize('periodic',[True,False]) def test_vicinity_offset_invariant(self,default,periodic): - offset = default.vicinity_offset(trigger=[default.materials.max()+1, - default.materials.min()-1]) - assert np.all(offset.materials==default.materials) + offset = default.vicinity_offset(trigger=[default.material.max()+1, + default.material.min()-1]) + assert np.all(offset.material==default.material) @pytest.mark.parametrize('periodic',[True,False]) @@ -338,7 +338,7 @@ class TestGeom: ms = np.random.randint(1, N_seeds+1) weights[ms-1] = np.random.random() Laguerre = Geom.from_Laguerre_tessellation(grid,size,seeds,weights,np.random.random()>0.5) - assert np.all(Laguerre.materials == ms) + assert np.all(Laguerre.material == ms) @pytest.mark.parametrize('approach',['Laguerre','Voronoi']) @@ -346,10 +346,10 @@ class TestGeom: grid = np.random.randint(5,10,3)*2 size = grid.astype(np.float) seeds = np.vstack((size*np.array([0.5,0.25,0.5]),size*np.array([0.5,0.75,0.5]))) - materials = np.ones(grid) - materials[:,grid[1]//2:,:] = 2 + material = np.ones(grid) + material[:,grid[1]//2:,:] = 2 if approach == 'Laguerre': geom = Geom.from_Laguerre_tessellation(grid,size,seeds,np.ones(2),np.random.random()>0.5) elif approach == 'Voronoi': geom = Geom.from_Voronoi_tessellation(grid,size,seeds, np.random.random()>0.5) - assert np.all(geom.materials == materials) + assert np.all(geom.material == material) From fd70a038455a8ca12d7fa9c0396f27411c134caf Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 24 Sep 2020 06:59:48 +0200 Subject: [PATCH 731/958] test with consistent name 'material' --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index b48fdd1f1..45fc8ce40 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit b48fdd1f167ed22ae9deabe44ae31c73ff5a6c1d +Subproject commit 45fc8ce405de938e3ee17958a504cfa1820a7ed7 From e6ae5c9b6d9263e3fe440e227b1fe81d9ee9fe81 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 24 Sep 2020 08:14:14 +0200 Subject: [PATCH 732/958] failed test due to missing rename --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 45fc8ce40..2550bf655 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 45fc8ce405de938e3ee17958a504cfa1820a7ed7 +Subproject commit 2550bf655aebe61ce459718323ba38b1ac205a7f From 0f64954300684b96646ffbce2fc7287fbc8718f8 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 24 Sep 2020 09:36:19 +0200 Subject: [PATCH 733/958] whitespace adjustment --- src/grid/discretization_grid.f90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 09b3774aa..b226c3d0e 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -415,8 +415,8 @@ subroutine readVTR(grid,geomSize,origin,material) if(.not. allocated(material)) call IO_error(error_ID = 844, ext_msg='material data not found') if(size(material) /= product(grid)) call IO_error(error_ID = 844, ext_msg='size(material)') - if(any(geomSize<=0)) call IO_error(error_ID = 844, ext_msg='size') - if(any(grid<1)) call IO_error(error_ID = 844, ext_msg='grid') + if(any(geomSize<=0)) call IO_error(error_ID = 844, ext_msg='size') + if(any(grid<1)) call IO_error(error_ID = 844, ext_msg='grid') contains From 6e98406fe86ab0a8ffb1223d9df12826ab9b2f68 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 24 Sep 2020 13:13:06 +0200 Subject: [PATCH 734/958] merged with master --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index f7b371f12..b6bb155f7 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit f7b371f12950398b61b1ab41fe126c6045e4e686 +Subproject commit b6bb155f78b09c640a8988738e23d0aab184ccc2 From 2b9607b4c8f05ac6e2064cfb44a709e52cd0dc38 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 24 Sep 2020 13:20:50 +0200 Subject: [PATCH 735/958] [skip ci] updated version information after successful test of v3.0.0-alpha-321-g0f6495430 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 75b7b823b..a8cc04d22 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-292-g14bfaa60c +v3.0.0-alpha-321-g0f6495430 From 0746127634d05d7c96026e6bdb73a719529dc25b Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 24 Sep 2020 14:29:38 +0200 Subject: [PATCH 736/958] names updated in pytest --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index b6bb155f7..dc0e046b2 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit b6bb155f78b09c640a8988738e23d0aab184ccc2 +Subproject commit dc0e046b2bcaaa5da507e2d075a8336aacf6c96a From 79d672f4a77f53b9f1cb5d632daa7efc3a567a2e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 24 Sep 2020 17:04:06 +0200 Subject: [PATCH 737/958] cleaning --- src/grid/DAMASK_grid.f90 | 4 ++-- src/grid/grid_mech_FEM.f90 | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index f0589c3d7..ac30d487d 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -211,7 +211,7 @@ program DAMASK_grid if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable enddo newLoadCase%deformation%mask = transpose(reshape(temp_maskVector,[ 3,3])) ! mask in 3x3 notation - newLoadCase%deformation%values = math_9to33(temp_valueVector) ! values in 3x3 notation + newLoadCase%deformation%values = math_9to33(temp_valueVector) ! values in 3x3 notation case('p','stress', 's') temp_valueVector = 0.0_pReal do j = 1, 9 @@ -219,7 +219,7 @@ program DAMASK_grid if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable enddo newLoadCase%stress%mask = transpose(reshape(temp_maskVector,[ 3,3])) - newLoadCase%stress%values = math_9to33(temp_valueVector) + newLoadCase%stress%values = math_9to33(temp_valueVector) case('t','time','delta') ! increment time newLoadCase%time = IO_floatValue(line,chunkPos,i+1) case('n','incs','increments') ! number of increments diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 0fd7315a4..b680dafa9 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -62,7 +62,6 @@ module grid_mech_FEM real(pReal), dimension(3,3) :: & F_aimDot = 0.0_pReal, & !< assumed rate of average deformation gradient F_aim = math_I3, & !< current prescribed deformation gradient - F_aim_lastIter = math_I3, & F_aim_lastInc = math_I3, & !< previous average deformation gradient P_av = 0.0_pReal, & !< average 1st Piola--Kirchhoff stress P_aim = 0.0_pReal From 792e5045b8959476ee9b63694de0bca3ca3b0261 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 24 Sep 2020 19:05:10 +0200 Subject: [PATCH 738/958] fixed grid size assignments for MPI layers --- src/grid/discretization_grid.f90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index b226c3d0e..27df0acd5 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -107,9 +107,9 @@ subroutine discretization_grid_init(restart) call discretization_init(materialAt, & IPcoordinates0(myGrid,mySize,grid3Offset), & Nodes0(myGrid,mySize,grid3Offset),& - merge((grid(1)+1) * (grid(2)+1) * (grid3+1),& ! write bottom layer - (grid(1)+1) * (grid(2)+1) * grid3,& ! do not write bottom layer (is top of rank-1) - worldrank<1)) + merge((grid(1)+1) * (grid(2)+1) * (grid3+1),& ! write top layer... + (grid(1)+1) * (grid(2)+1) * grid3,& ! ...unless not last process + worldrank+1==worldsize)) FEsolving_execElem = [1,product(myGrid)] ! parallel loop bounds set to comprise all elements FEsolving_execIP = [1,1] ! parallel loop bounds set to comprise the only IP From 28cded366962a7d57e01df912b19881fed7f1f9f Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 24 Sep 2020 13:12:37 -0400 Subject: [PATCH 739/958] fixed "paralell" bug in PRIVATE --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 2550bf655..b73dcfe74 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 2550bf655aebe61ce459718323ba38b1ac205a7f +Subproject commit b73dcfe746eadce92ed0ab08a3bfbb19f5c8eb0a From ec23ab8b6105c1b79f045c499394967ecdf4bc22 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 24 Sep 2020 21:06:26 +0200 Subject: [PATCH 740/958] basic test for seeding --- python/tests/test_seeds.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 python/tests/test_seeds.py diff --git a/python/tests/test_seeds.py b/python/tests/test_seeds.py new file mode 100644 index 000000000..57631ccba --- /dev/null +++ b/python/tests/test_seeds.py @@ -0,0 +1,23 @@ +import pytest +import numpy as np +from scipy.spatial import cKDTree + +from damask import seeds + +class TestSeeds: + + @pytest.mark.parametrize('grid',[None,np.ones(3,dtype='i')*10]) + def test_from_random(self,grid): + N_seeds = np.random.randint(30,300) + size = np.ones(3) + np.random.random(3) + coords = seeds.from_random(size,N_seeds,grid) + assert (0<=coords).all() and (coords=distance From e5b414419a4557125eedcbc1ef02311152106ff9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 24 Sep 2020 21:26:16 +0200 Subject: [PATCH 741/958] Poisson disc for periodic situation --- python/damask/seeds.py | 21 ++++++++++++--------- python/tests/test_seeds.py | 8 +++++--- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/python/damask/seeds.py b/python/damask/seeds.py index 10d247859..76c0bbb26 100644 --- a/python/damask/seeds.py +++ b/python/damask/seeds.py @@ -8,7 +8,7 @@ from . import grid_filters def from_random(size,N_seeds,grid=None,seed=None): """ Random seeding in space. - + Parameters ---------- size : numpy.ndarray of shape (3) @@ -21,7 +21,7 @@ def from_random(size,N_seeds,grid=None,seed=None): seed : {None, int, array_like[ints], SeedSequence, BitGenerator, Generator}, optional A seed to initialize the BitGenerator. Defaults to None. If None, then fresh, unpredictable entropy will be pulled from the OS. - + """ rng = _np.random.default_rng(seed) if grid is None: @@ -31,13 +31,13 @@ def from_random(size,N_seeds,grid=None,seed=None): coords = grid_coords[rng.choice(_np.prod(grid),N_seeds, replace=False)] \ + _np.broadcast_to(size/grid,(N_seeds,3))*(rng.random((N_seeds,3))*.5-.25) # wobble without leaving grid - coords + return coords -def from_Poisson_disc(size,N_seeds,N_candidates,distance,seed=None): +def from_Poisson_disc(size,N_seeds,N_candidates,distance,periodic=True,seed=None): """ Seeding in space according to a Poisson disc distribution. - + Parameters ---------- size : numpy.ndarray of shape (3) @@ -48,10 +48,12 @@ def from_Poisson_disc(size,N_seeds,N_candidates,distance,seed=None): Number of candidates to consider for finding best candidate. distance : float Minimum acceptable distance to other seeds. + periodic : boolean, optional + Calculate minimum distance for periodically repeated grid. seed : {None, int, array_like[ints], SeedSequence, BitGenerator, Generator}, optional A seed to initialize the BitGenerator. Defaults to None. If None, then fresh, unpredictable entropy will be pulled from the OS. - + """ rng = _np.random.default_rng(seed) coords = _np.empty((N_seeds,3)) @@ -61,7 +63,8 @@ def from_Poisson_disc(size,N_seeds,N_candidates,distance,seed=None): progress = util._ProgressBar(N_seeds+1,'',50) while i < N_seeds: candidates = rng.random((N_candidates,3))*_np.broadcast_to(size,(N_candidates,3)) - tree = _spatial.cKDTree(coords[:i]) + tree = _spatial.cKDTree(coords[:i],boxsize=size) if periodic else \ + _spatial.cKDTree(coords[:i]) distances, dev_null = tree.query(candidates) best = distances.argmax() if distances[best] > distance: # require minimum separation @@ -75,12 +78,12 @@ def from_Poisson_disc(size,N_seeds,N_candidates,distance,seed=None): def from_geom(geom,selection=None,invert=False): """ Create seed from existing geometry description. - + Parameters ---------- geom : damask.Geom ... - + """ material = geom.materials.reshape((-1,1),order='F') mask = _np.full(geom.grid.prod(),True,dtype=bool) if selection is None else \ diff --git a/python/tests/test_seeds.py b/python/tests/test_seeds.py index 57631ccba..55b659ad1 100644 --- a/python/tests/test_seeds.py +++ b/python/tests/test_seeds.py @@ -13,11 +13,13 @@ class TestSeeds: coords = seeds.from_random(size,N_seeds,grid) assert (0<=coords).all() and (coords=distance From 4960cf43d4f69e9f9387f21508580c8178425259 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 24 Sep 2020 21:43:04 +0200 Subject: [PATCH 742/958] documented and tested --- python/damask/seeds.py | 8 ++++++-- python/tests/test_seeds.py | 11 +++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/python/damask/seeds.py b/python/damask/seeds.py index 76c0bbb26..46be722cd 100644 --- a/python/damask/seeds.py +++ b/python/damask/seeds.py @@ -82,10 +82,14 @@ def from_geom(geom,selection=None,invert=False): Parameters ---------- geom : damask.Geom - ... + Geometry, from which the material IDs are used as seeds + selection : iterable of integers, optional + Material IDs to consider + invert : boolean, false + Do not consider the material IDs given in selection. Defaults to False. """ - material = geom.materials.reshape((-1,1),order='F') + material = geom.material.reshape((-1,1),order='F') mask = _np.full(geom.grid.prod(),True,dtype=bool) if selection is None else \ _np.isin(material,selection,invert=invert) coords = grid_filters.cell_coord0(geom.grid,geom.size).reshape(-1,3,order='F') diff --git a/python/tests/test_seeds.py b/python/tests/test_seeds.py index 55b659ad1..49d9a6bfd 100644 --- a/python/tests/test_seeds.py +++ b/python/tests/test_seeds.py @@ -3,6 +3,7 @@ import numpy as np from scipy.spatial import cKDTree from damask import seeds +from damask import Geom class TestSeeds: @@ -23,3 +24,13 @@ class TestSeeds: min_dists, _ = cKDTree(coords,boxsize=size).query(coords, 2) if periodic else \ cKDTree(coords).query(coords, 2) assert (0<= coords).all() and (coords=distance + + def test_from_geom(self): + grid = np.random.randint(10,20,3) + N_seeds = np.random.randint(30,300) + size = np.ones(3) + np.random.random(3) + coords = seeds.from_random(size,N_seeds,grid) + geom_1 = Geom.from_Voronoi_tessellation(grid,size,coords) + coords,material = seeds.from_geom(geom_1) + geom_2 = Geom.from_Voronoi_tessellation(grid,size,coords,material) + assert (geom_2.material==geom_1.material).all() From 3ec3ba255ed9eb8fc145adb27dc8d50a479c9de3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 24 Sep 2020 22:00:23 +0200 Subject: [PATCH 743/958] need to have the correct mpirun in path --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bb4a2e7a0..40662cb40 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -344,6 +344,7 @@ Phenopowerlaw_singleSlip: Pytest_grid: stage: grid script: + - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel - cd pytest - pytest except: From e8454c40c7449eb547784161d774d12b97dd357b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 24 Sep 2020 22:59:31 +0200 Subject: [PATCH 744/958] more tests --- python/tests/test_Geom.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index a91365727..9aff60186 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -83,6 +83,13 @@ class TestGeom: with pytest.raises(ValueError): Geom.load(tmpdir/'no_materialpoint.vtr') + def test_invalid_material(self): + with pytest.raises(TypeError): + Geom(np.zeros((3,3,3),dtype='complex'),np.ones(3)) + + def test_cast_to_int(self): + g = Geom(np.zeros((3,3,3)),np.ones(3)) + assert g.material.dtype in np.sctypes['int'] @pytest.mark.parametrize('compress',[True,False]) def test_compress(self,default,tmpdir,compress): @@ -324,8 +331,8 @@ class TestGeom: size = np.random.random(3) + 1.0 N_seeds= np.random.randint(10,30) seeds = np.random.rand(N_seeds,3) * np.broadcast_to(size,(N_seeds,3)) - Voronoi = Geom.from_Voronoi_tessellation( grid,size,seeds, periodic=periodic) - Laguerre = Geom.from_Laguerre_tessellation(grid,size,seeds,np.ones(N_seeds),periodic=periodic) + Voronoi = Geom.from_Voronoi_tessellation( grid,size,seeds, np.arange(N_seeds)+5,periodic) + Laguerre = Geom.from_Laguerre_tessellation(grid,size,seeds,np.ones(N_seeds),np.arange(N_seeds)+5,periodic) assert geom_equal(Laguerre,Voronoi) From e58cc4bfa0433436cb7c729387596ea10d5615b9 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 24 Sep 2020 21:59:48 -0400 Subject: [PATCH 745/958] removed substitute call for direct mapping; added seed from averaging of material ID cloud --- python/damask/_geom.py | 14 ++------------ python/damask/seeds.py | 28 ++++++++++++++++++++++------ 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 55569ac14..50d4e2b33 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -256,15 +256,10 @@ class Geom: else: material_ = material_.reshape(grid) - geom = Geom(material = material_+1, + return Geom(material = material_+1 if material is None else material[material_], size = size, comments = util.execution_stamp('Geom','from_Laguerre_tessellation'), ) - if material is not None: - geom = geom.substitute(np.arange(seeds.shape[0])+1,material) - geom.comments = geom.comments[:-1] - - return geom @staticmethod @@ -291,15 +286,10 @@ class Geom: KDTree = spatial.cKDTree(seeds,boxsize=size) if periodic else spatial.cKDTree(seeds) devNull,material_ = KDTree.query(coords) - geom = Geom(material = material_.reshape(grid)+1, + return Geom(material = (material_+1 if material is None else material[material_]).reshape(grid), size = size, comments = util.execution_stamp('Geom','from_Voronoi_tessellation'), ) - if material is not None: - geom = geom.substitute(np.arange(seeds.shape[0])+1,material) - geom.comments = geom.comments[:-1] - - return geom def save_ASCII(self,fname,compress=None): diff --git a/python/damask/seeds.py b/python/damask/seeds.py index 46be722cd..ea40794da 100644 --- a/python/damask/seeds.py +++ b/python/damask/seeds.py @@ -12,7 +12,7 @@ def from_random(size,N_seeds,grid=None,seed=None): Parameters ---------- size : numpy.ndarray of shape (3) - Physical size of the periodic field. + Physical size of the seeding domain. N_seeds : int Number of seeds. grid : numpy.ndarray of shape (3), optional. @@ -41,7 +41,7 @@ def from_Poisson_disc(size,N_seeds,N_candidates,distance,periodic=True,seed=None Parameters ---------- size : numpy.ndarray of shape (3) - Physical size of the periodic field. + Physical size of the seeding domain. N_seeds : int Number of seeds. N_candidates : int @@ -75,18 +75,22 @@ def from_Poisson_disc(size,N_seeds,N_candidates,distance,periodic=True,seed=None return coords -def from_geom(geom,selection=None,invert=False): +def from_geom(geom,selection=None,invert=False,average=False,periodic=True): """ Create seed from existing geometry description. Parameters ---------- geom : damask.Geom - Geometry, from which the material IDs are used as seeds + Geometry, from which the material IDs are used as seeds. selection : iterable of integers, optional - Material IDs to consider + Material IDs to consider. invert : boolean, false Do not consider the material IDs given in selection. Defaults to False. + average : boolean, optional + Seed corresponds to center of gravity of material ID cloud. + periodic : boolean, optional + Center of gravity with periodic boundaries. """ material = geom.material.reshape((-1,1),order='F') @@ -94,4 +98,16 @@ def from_geom(geom,selection=None,invert=False): _np.isin(material,selection,invert=invert) coords = grid_filters.cell_coord0(geom.grid,geom.size).reshape(-1,3,order='F') - return (coords[mask],material[mask]) + if not average: + return (coords[mask],material[mask]) + else: + materials = _np.unique(material[mask]) + coords_ = _np.zeros((materials.size,3),dtype=float) + for i,mat in enumerate(materials): + pc = (2*_np.pi*coords[material[:,0]==mat,:]-geom.origin)/geom.size + coords_[i] = geom.origin + geom.size / 2 / _np.pi * (_np.pi + + _np.arctan2(-_np.average(_np.sin(pc),axis=0), + -_np.average(_np.cos(pc),axis=0))) \ + if periodic else \ + _np.average(coords[material[:,0]==mat,:],axis=0) + return (coords_,materials) From 0de54404ee38f53cca8c6cd20921bf0641f059a8 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 25 Sep 2020 04:07:40 +0200 Subject: [PATCH 746/958] skip empty lines; yaml file optional start/stop indicator can be added --- src/IO.f90 | 2 ++ src/YAML_parse.f90 | 71 ++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 64 insertions(+), 9 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index f9e708ead..eeb4ec8c6 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -494,6 +494,8 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'Unsupported feature' case (706) msg = 'Access by incorrect node type' + case (707) + msg = 'Abrupt end of file' !------------------------------------------------------------------------------------------------- ! errors related to the grid solver diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 6cefc5443..ade104cb2 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -227,6 +227,35 @@ logical function isKey(line) end function isKey +!-------------------------------------------------------------------------------------------------- +! @brief skip empty lines +! @details update start position in the block by skipping empty lines if present. +!-------------------------------------------------------------------------------------------------- +subroutine skip_empty_lines(blck,s_blck) + + character(len=*), intent(in) :: blck + integer, intent(inout) :: s_blck + + character(len=:), allocatable :: line + integer :: e_blck + logical :: not_empty + + not_empty = .false. + do while(.not. not_empty) + e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 + line = IO_rmComment(blck(s_blck:e_blck)) + if(len_trim(line) == 0) then + s_blck = e_blck + 2 + not_empty = .false. + else + not_empty = .true. + endif + enddo + + +end subroutine skip_empty_lines + + !-------------------------------------------------------------------------------------------------- ! @brief reads a line of YAML block which is already in flow style ! @details Dicts should be enlcosed within '{}' for it to be consistent with DAMASK YAML parser @@ -363,7 +392,9 @@ recursive subroutine lst(blck,flow,s_blck,s_flow,offset) do while (s_blck <= len_trim(blck)) e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 line = IO_rmComment(blck(s_blck:e_blck)) - if (len_trim(line) == 0) then + if(trim(line) == '---') then + exit + elseif (len_trim(line) == 0) then s_blck = e_blck + 2 ! forward to next line cycle elseif(indentDepth(line,offset) > indent) then @@ -377,8 +408,10 @@ recursive subroutine lst(blck,flow,s_blck,s_flow,offset) else if(trim(adjustl(line)) == '-') then ! list item in next line s_blck = e_blck + 2 - e_blck = e_blck + index(blck(e_blck+2:),IO_EOL) + call skip_empty_lines(blck,s_blck) + e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 line = IO_rmComment(blck(s_blck:e_blck)) + if(trim(line) == '---') call IO_error(707,ext_msg=line) if(indentDepth(line) < indent .or. indentDepth(line) == indent) & call IO_error(701,ext_msg=line) @@ -447,7 +480,9 @@ recursive subroutine dct(blck,flow,s_blck,s_flow,offset) do while (s_blck <= len_trim(blck)) e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 line = IO_rmComment(blck(s_blck:e_blck)) - if (len_trim(line) == 0) then + if(trim(line) == '---') then + exit + elseif (len_trim(line) == 0) then s_blck = e_blck + 2 ! forward to next line cycle elseif(indentDepth(line,offset) < indent) then @@ -510,10 +545,12 @@ recursive subroutine decide(blck,flow,s_blck,s_flow,offset) character(len=:), allocatable :: line if(s_blck <= len(blck)) then + call skip_empty_lines(blck,s_blck) e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 line = IO_rmComment(blck(s_blck:e_blck)) - - if(len_trim(line) == 0) then + if(trim(line) == '---') then + continue ! end parsing at this point but not stop the simulation + elseif(len_trim(line) == 0) then s_blck = e_blck +2 call decide(blck,flow,s_blck,s_flow,offset) elseif (isListItem(line)) then @@ -548,16 +585,24 @@ function to_flow(blck) character(len=:), allocatable :: to_flow character(len=*), intent(in) :: blck !< YAML mixed style + + character(len=:), allocatable :: line integer :: s_blck, & !< start position in blck + e_blck, & !< end position of a line s_flow, & !< start position in flow offset, & !< counts leading '- ' in nested lists end_line - + allocate(character(len=len(blck)*2)::to_flow) - ! move forward here (skip empty lines) and remove '----' if found s_flow = 1 s_blck = 1 offset = 0 + + call skip_empty_lines(blck,s_blck) + e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 + line = IO_rmComment(blck(s_blck:e_blck)) + if(trim(line) == '---') s_blck = e_blck + 2 + call decide(blck,to_flow,s_blck,s_flow,offset) to_flow = trim(to_flow(:s_flow-1)) @@ -662,12 +707,20 @@ subroutine selfTest basic_mixed: block character(len=*), parameter :: block_flow = & + " "//IO_EOL//& + " "//IO_EOL//& + "---"//IO_EOL//& " aa:"//IO_EOL//& " - "//IO_EOL//& - " param_1: [a: b, c, {d: {e: [f: g, h]}}]"//IO_EOL//& + " "//IO_EOL//& + " "//IO_EOL//& + " param_1: [a: b, c, {d: {e: [f: g, h]}}]"//IO_EOL//& " - c: d"//IO_EOL//& " bb:"//IO_EOL//& - " - {param_1: [{a: b}, c, {d: {e: [{f: g}, h]}}]}"//IO_EOL + " "//IO_EOL//& + " - "//IO_EOL//& + " {param_1: [{a: b}, c, {d: {e: [{f: g}, h]}}]}"//IO_EOL//& + "---"//IO_EOL character(len=*), parameter :: mixed_flow = & "{aa: [{param_1: [{a: b}, c, {d: {e: [{f: g}, h]}}]}, {c: d}], bb: [{param_1: [{a: b}, c, {d: {e: [{f: g}, h]}}]}]}" From 21ff587e1720c53eb7bf441860e05a29f3f7ed8d Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 25 Sep 2020 04:52:03 +0200 Subject: [PATCH 747/958] better logic --- src/YAML_parse.f90 | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index ade104cb2..218d4688b 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -238,18 +238,14 @@ subroutine skip_empty_lines(blck,s_blck) character(len=:), allocatable :: line integer :: e_blck - logical :: not_empty + logical :: empty - not_empty = .false. - do while(.not. not_empty) + empty = .true. + do while(empty) e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 line = IO_rmComment(blck(s_blck:e_blck)) - if(len_trim(line) == 0) then - s_blck = e_blck + 2 - not_empty = .false. - else - not_empty = .true. - endif + empty = len_trim(line) == 0 + if(empty) s_blck = e_blck + 2 enddo From 7dc8391c03d42425a806a51e22b6d8a18a104539 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 25 Sep 2020 07:40:12 +0200 Subject: [PATCH 748/958] not needed anymore --- .gitlab-ci.yml | 37 -- PRIVATE | 2 +- processing/{post => legacy}/vtk2ang.py | 0 processing/post/filterTable.py | 161 -------- .../pre/geom_fromVoronoiTessellation.py | 226 ------------ processing/pre/hybridIA_linODFsampling.py | 349 ------------------ processing/pre/seeds_fromGeom.py | 68 ---- processing/pre/seeds_fromRandom.py | 165 --------- 8 files changed, 1 insertion(+), 1007 deletions(-) rename processing/{post => legacy}/vtk2ang.py (100%) delete mode 100755 processing/post/filterTable.py delete mode 100755 processing/pre/geom_fromVoronoiTessellation.py delete mode 100755 processing/pre/hybridIA_linODFsampling.py delete mode 100755 processing/pre/seeds_fromGeom.py delete mode 100755 processing/pre/seeds_fromRandom.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 40662cb40..054e18ae2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -253,27 +253,6 @@ grid_parsingArguments: - master - release -StateIntegration_compareVariants: - stage: grid - script: StateIntegration_compareVariants/test.py - except: - - master - - release - -nonlocal_densityConservation: - stage: grid - script: nonlocal_densityConservation/test.py - except: - - master - - release - -RGC_DetectChanges: - stage: grid - script: RGC_DetectChanges/test.py - except: - - master - - release - Nonlocal_Damage_DetectChanges: stage: grid script: Nonlocal_Damage_DetectChanges/test.py @@ -302,15 +281,6 @@ grid_all_loadCaseRotation: - master - release -grid_mech_MPI: - stage: grid - script: - - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel - - grid_mech_MPI/test.py - except: - - master - - release - grid_all_restartMPI: stage: grid script: @@ -327,13 +297,6 @@ Plasticity_DetectChanges: - master - release -Homogenization: - stage: grid - script: Homogenization/test.py - except: - - master - - release - Phenopowerlaw_singleSlip: stage: grid script: Phenopowerlaw_singleSlip/test.py diff --git a/PRIVATE b/PRIVATE index b73dcfe74..b7c6e3a67 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit b73dcfe746eadce92ed0ab08a3bfbb19f5c8eb0a +Subproject commit b7c6e3a6742b6098530a6fa5121b23ec9487dd4f diff --git a/processing/post/vtk2ang.py b/processing/legacy/vtk2ang.py similarity index 100% rename from processing/post/vtk2ang.py rename to processing/legacy/vtk2ang.py diff --git a/processing/post/filterTable.py b/processing/post/filterTable.py deleted file mode 100755 index 4f4af088b..000000000 --- a/processing/post/filterTable.py +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from optparse import OptionParser -import re -import fnmatch -import math # noqa - -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - -def sortingList(labels,whitelistitems): - - indices = [] - names = [] - - for label in labels: - if re.match(r'^\d+_',label): - indices.append(int(label.split('_',1)[0])) - names.append(label.split('_',1)[1]) - else: - indices.append(0) - names.append(label) - - return [indices,names,whitelistitems] - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Filter rows according to condition and columns by either white or black listing. - -Examples: -Every odd row if x coordinate is positive -- " #ip.x# >= 0.0 and #_row_#%2 == 1 ). -All rows where label 'foo' equals 'bar' -- " #s#foo# == 'bar' " - -""", version = scriptID) - -parser.add_option('-w','--white', - dest = 'whitelist', - action = 'extend', metavar = '', - help = 'whitelist of column labels (a,b,c,...)') -parser.add_option('-b','--black', - dest = 'blacklist', - action = 'extend', metavar='', - help = 'blacklist of column labels (a,b,c,...)') -parser.add_option('-c','--condition', - dest = 'condition', metavar='string', - help = 'condition to filter rows') - -parser.set_defaults(condition = None, - ) - -(options,filenames) = parser.parse_args() - -# --- loop over input files ------------------------------------------------------------------------- - -if filenames == []: filenames = [None] - -for name in filenames: - try: - table = damask.ASCIItable(name = name) - except IOError: - continue - damask.util.report(scriptName,name) - -# ------------------------------------------ assemble info --------------------------------------- - - table.head_read() - -# ------------------------------------------ process data --------------------------------------- - - specials = { \ - '_row_': 0, - } - labels = [] - positions = [] - - for position,label in enumerate(table.labels(raw = True)): - if (options.whitelist is None or any([ position in table.label_indexrange(needle) \ - or fnmatch.fnmatch(label,needle) for needle in options.whitelist])) \ - and (options.blacklist is None or not any([ position in table.label_indexrange(needle) \ - or fnmatch.fnmatch(label,needle) for needle in options.blacklist])): # a label to keep? - labels.append(label) # remember name... - positions.append(position) # ...and position - - if len(labels) > 0 and options.whitelist is not None and options.blacklist is None: # check whether reordering is possible - whitelistitem = np.zeros(len(labels),dtype=int) - for i,label in enumerate(labels): # check each selected label - match = [ positions[i] in table.label_indexrange(needle) \ - or fnmatch.fnmatch(label,needle) for needle in options.whitelist] # which whitelist items do match it - whitelistitem[i] = match.index(True) if np.sum(match) == 1 else -1 # unique match to a whitelist item --> store which - - order = range(len(labels)) if np.any(whitelistitem < 0) \ - else np.lexsort(sortingList(labels,whitelistitem)) # reorder if unique, i.e. no "-1" in whitelistitem - else: - order = range(len(labels)) # maintain original order of labels - -# --------------------------------------- evaluate condition --------------------------------------- - if options.condition is not None: - condition = options.condition # copy per file, since might be altered inline - breaker = False - - for position,(all,marker,column) in enumerate(set(re.findall(r'#(([s]#)?(.+?))#',condition))): # find three groups - idx = table.label_index(column) - dim = table.label_dimension(column) - if idx < 0 and column not in specials: - damask.util.croak('column "{}" not found.'.format(column)) - breaker = True - else: - if column in specials: - replacement = 'specials["{}"]'.format(column) - elif dim == 1: # scalar input - replacement = '{}(table.data[{}])'.format({ '':'float', - 's#':'str'}[marker],idx) # take float or string value of data column - elif dim > 1: # multidimensional input (vector, tensor, etc.) - replacement = 'np.array(table.data[{}:{}],dtype=float)'.format(idx,idx+dim) # use (flat) array representation - - condition = condition.replace('#'+all+'#',replacement) - - if breaker: continue # found mistake in condition evaluation --> next file - -# ------------------------------------------ assemble header --------------------------------------- - - table.info_append(scriptID + '\t' + ' '.join(sys.argv[1:])) - table.labels_clear() - table.labels_append(np.array(labels)[order]) # update with new label set - table.head_write() - -# ------------------------------------------ process and output data ------------------------------------------ - - positions = np.array(positions)[order] - - atOnce = options.condition is None - if atOnce: # read full array and filter columns - try: - table.data_readArray(positions+1) # read desired columns (indexed 1,...) - table.data_writeArray() # directly write out - except Exception: - table.data_rewind() - atOnce = False # data contains items that prevent array chunking - - if not atOnce: # read data line by line - outputAlive = True - while outputAlive and table.data_read(): # read next data line of ASCII table - specials['_row_'] += 1 # count row - if options.condition is None or eval(condition): # valid row ? - table.data = [table.data[position] for position in positions] # retain filtered columns - outputAlive = table.data_write() # output processed line - -# ------------------------------------------ finalize output ----------------------------------------- - - table.close() # close input ASCII table (works for stdin) diff --git a/processing/pre/geom_fromVoronoiTessellation.py b/processing/pre/geom_fromVoronoiTessellation.py deleted file mode 100755 index aee79cc05..000000000 --- a/processing/pre/geom_fromVoronoiTessellation.py +++ /dev/null @@ -1,226 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -import multiprocessing -from io import StringIO -from functools import partial -from optparse import OptionParser,OptionGroup - -import numpy as np -from scipy import spatial - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -def findClosestSeed(seeds, weights, point): - return np.argmin(np.sum((np.broadcast_to(point,(len(seeds),3))-seeds)**2,axis=1) - weights) - - -def Laguerre_tessellation(grid, size, seeds, weights, origin = np.zeros(3), periodic = True, cpus = 2): - - if periodic: - weights_p = np.tile(weights.squeeze(),27) # Laguerre weights (1,2,3,1,2,3,...,1,2,3) - seeds_p = np.vstack((seeds -np.array([size[0],0.,0.]),seeds, seeds +np.array([size[0],0.,0.]))) - seeds_p = np.vstack((seeds_p-np.array([0.,size[1],0.]),seeds_p,seeds_p+np.array([0.,size[1],0.]))) - seeds_p = np.vstack((seeds_p-np.array([0.,0.,size[2]]),seeds_p,seeds_p+np.array([0.,0.,size[2]]))) - coords = damask.grid_filters.cell_coord0(grid*3,size*3,-origin-size).reshape(-1,3) - else: - weights_p = weights.squeeze() - seeds_p = seeds - coords = damask.grid_filters.cell_coord0(grid,size,-origin).reshape(-1,3) - - if cpus > 1: - pool = multiprocessing.Pool(processes = cpus) - result = pool.map_async(partial(findClosestSeed,seeds_p,weights_p), [coord for coord in coords]) - pool.close() - pool.join() - closest_seed = np.array(result.get()).reshape(-1,3) - else: - closest_seed= np.array([findClosestSeed(seeds_p,weights_p,coord) for coord in coords]) - - if periodic: - closest_seed = closest_seed.reshape(grid*3) - return closest_seed[grid[0]:grid[0]*2,grid[1]:grid[1]*2,grid[2]:grid[2]*2]%seeds.shape[0] - else: - return closest_seed - - -def Voronoi_tessellation(grid, size, seeds, origin = np.zeros(3), periodic = True): - - coords = damask.grid_filters.cell_coord0(grid,size,-origin).reshape(-1,3) - KDTree = spatial.cKDTree(seeds,boxsize=size) if periodic else spatial.cKDTree(seeds) - devNull,closest_seed = KDTree.query(coords) - - return closest_seed - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog option(s) [seedfile(s)]', description = """ -Generate geometry description and material configuration by tessellation of given seeds file. - -""", version = scriptID) - - -group = OptionGroup(parser, "Tessellation","") - -group.add_option('-l', - '--laguerre', - dest = 'laguerre', - action = 'store_true', - help = 'use Laguerre (weighted Voronoi) tessellation') -group.add_option('--cpus', - dest = 'cpus', - type = 'int', metavar = 'int', - help = 'number of parallel processes to use for Laguerre tessellation [%default]') -group.add_option('--nonperiodic', - dest = 'periodic', - action = 'store_false', - help = 'nonperiodic tessellation') - -parser.add_option_group(group) - -group = OptionGroup(parser, "Geometry","") - -group.add_option('-g', - '--grid', - dest = 'grid', - type = 'int', nargs = 3, metavar = ' '.join(['int']*3), - help = 'a,b,c grid of hexahedral box') -group.add_option('-s', - '--size', - dest = 'size', - type = 'float', nargs = 3, metavar=' '.join(['float']*3), - help = 'x,y,z size of hexahedral box [1.0 1.0 1.0]') -group.add_option('-o', - '--origin', - dest = 'origin', - type = 'float', nargs = 3, metavar=' '.join(['float']*3), - help = 'origin of grid [0.0 0.0 0.0]') - -parser.add_option_group(group) - -group = OptionGroup(parser, "Seeds","") - -group.add_option('-p', - '--pos', '--seedposition', - dest = 'pos', - type = 'string', metavar = 'string', - help = 'label of coordinates [%default]') -group.add_option('-w', - '--weight', - dest = 'weight', - type = 'string', metavar = 'string', - help = 'label of weights [%default]') -group.add_option('-m', - '--microstructure', - dest = 'microstructure', - type = 'string', metavar = 'string', - help = 'label of microstructures [%default]') -group.add_option('-e', - '--eulers', - dest = 'eulers', - type = 'string', metavar = 'string', - help = 'label of Euler angles [%default]') -group.add_option('--axes', - dest = 'axes', - type = 'string', nargs = 3, metavar = ' '.join(['string']*3), - help = 'orientation coordinate frame in terms of position coordinate frame') - -parser.add_option_group(group) - -group = OptionGroup(parser, "Configuration","") - -group.add_option('--without-config', - dest = 'config', - action = 'store_false', - help = 'omit material configuration header') -group.add_option('--phase', - dest = 'phase', - type = 'int', metavar = 'int', - help = 'phase index to be used [%default]') - -parser.add_option_group(group) - -parser.set_defaults(pos = 'pos', - weight = 'weight', - microstructure = 'microstructure', - eulers = 'euler', - phase = 1, - cpus = 2, - laguerre = False, - periodic = True, - config = True, - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) - - size = np.ones(3) - origin = np.zeros(3) - for line in table.comments: - items = line.lower().strip().split() - key = items[0] if items else '' - if key == 'grid': - grid = np.array([ int(dict(zip(items[1::2],items[2::2]))[i]) for i in ['a','b','c']]) - elif key == 'size': - size = np.array([float(dict(zip(items[1::2],items[2::2]))[i]) for i in ['x','y','z']]) - elif key == 'origin': - origin = np.array([float(dict(zip(items[1::2],items[2::2]))[i]) for i in ['x','y','z']]) - if options.grid: grid = np.array(options.grid) - if options.size: size = np.array(options.size) - if options.origin: origin = np.array(options.origin) - - seeds = table.get(options.pos) - - grains = table.get(options.microstructure) if options.microstructure in table.labels else np.arange(len(seeds))+1 - grainIDs = np.unique(grains).astype('i') - - if options.eulers in table.labels: - eulers = table.get(options.eulers) - - if options.laguerre: - indices = grains[Laguerre_tessellation(grid,size,seeds,table.get(options.weight),origin, - options.periodic,options.cpus)] - else: - indices = grains[Voronoi_tessellation (grid,size,seeds,origin,options.periodic)] - - config_header = [] - if options.config: - - if options.eulers in table.labels: - config_header += [''] - for ID in grainIDs: - eulerID = np.nonzero(grains == ID)[0][0] # find first occurrence of this grain id - config_header += ['[Grain{}]'.format(ID), - '(gauss)\tphi1 {:.2f}\tPhi {:.2f}\tphi2 {:.2f}'.format(*eulers[eulerID]) - ] - if options.axes: config_header += ['axes\t{} {} {}'.format(*options.axes)] - - config_header += [''] - for ID in grainIDs: - config_header += ['[Grain{}]'.format(ID), - '(constituent)\tphase {}\ttexture {}\tfraction 1.0'.format(options.phase,ID) - ] - - config_header += [''] - - header = [scriptID + ' ' + ' '.join(sys.argv[1:])]\ - + config_header - geom = damask.Geom(indices.reshape(grid),size,origin, - comments=header) - damask.util.croak(geom) - - geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',compress=False) diff --git a/processing/pre/hybridIA_linODFsampling.py b/processing/pre/hybridIA_linODFsampling.py deleted file mode 100755 index f99a2dd89..000000000 --- a/processing/pre/hybridIA_linODFsampling.py +++ /dev/null @@ -1,349 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -import math -import random -from io import StringIO -from optparse import OptionParser - -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# --- helper functions --- -def integerFactorization(i): - - j = int(math.floor(math.sqrt(float(i)))) - while j>1 and int(i)%j != 0: - j -= 1 - return j - -def binAsBins(bin,intervals): - """Explode compound bin into 3D bins list.""" - bins = [0]*3 - bins[0] = (bin//(intervals[1] * intervals[2])) % intervals[0] - bins[1] = (bin//intervals[2]) % intervals[1] - bins[2] = bin % intervals[2] - return bins - -def binsAsBin(bins,intervals): - """Implode 3D bins into compound bin.""" - return (bins[0]*intervals[1] + bins[1])*intervals[2] + bins[2] - -def EulersAsBins(Eulers,intervals,deltas,center): - """Return list of Eulers translated into 3D bins list.""" - return [int((euler+(0.5-center)*delta)//delta)%interval \ - for euler,delta,interval in zip(Eulers,deltas,intervals) \ - ] - -def binAsEulers(bin,intervals,deltas,center): - """Compound bin number translated into list of Eulers.""" - Eulers = [0.0]*3 - Eulers[2] = (bin%intervals[2] + center)*deltas[2] - Eulers[1] = (bin//intervals[2]%intervals[1] + center)*deltas[1] - Eulers[0] = (bin//(intervals[2]*intervals[1]) + center)*deltas[0] - return Eulers - -def directInvRepetitions(probability,scale): - """Calculate number of samples drawn by direct inversion.""" - nDirectInv = 0 - for bin in range(len(probability)): # loop over bins - nDirectInv += int(round(probability[bin]*scale)) # calc repetition - return nDirectInv - - -# ---------------------- sampling methods ----------------------------------------------------------------------- - -# ----- efficient algorithm --------- -def directInversion (ODF,nSamples): - """ODF contains 'dV_V' (normalized to 1), 'center', 'intervals', 'limits' (in radians).""" - nOptSamples = max(ODF['nNonZero'],nSamples) # random subsampling if too little samples requested - - nInvSamples = 0 - repetition = [None]*ODF['nBins'] - - scaleLower = 0.0 - nInvSamplesLower = 0 - scaleUpper = float(nOptSamples) - incFactor = 1.0 - nIter = 0 - nInvSamplesUpper = directInvRepetitions(ODF['dV_V'],scaleUpper) - while (\ - (scaleUpper-scaleLower > scaleUpper*1e-15 or nInvSamplesUpper < nOptSamples) and \ - nInvSamplesUpper != nOptSamples \ - ): # closer match required? - if nInvSamplesUpper < nOptSamples: - scaleLower,scaleUpper = scaleUpper,scaleUpper+incFactor*(scaleUpper-scaleLower)/2.0 - incFactor *= 2.0 - nInvSamplesLower,nInvSamplesUpper = nInvSamplesUpper,directInvRepetitions(ODF['dV_V'],scaleUpper) - else: - scaleUpper = (scaleLower+scaleUpper)/2.0 - incFactor = 1.0 - nInvSamplesUpper = directInvRepetitions(ODF['dV_V'],scaleUpper) - nIter += 1 - damask.util.croak('%i:(%12.11f,%12.11f) %i <= %i <= %i'%(nIter,scaleLower,scaleUpper, - nInvSamplesLower,nOptSamples,nInvSamplesUpper)) - nInvSamples = nInvSamplesUpper - scale = scaleUpper - damask.util.croak('created set of %i samples (%12.11f) with scaling %12.11f delivering %i'%(nInvSamples, - float(nInvSamples)/nOptSamples-1.0, - scale,nSamples)) - repetition = [None]*ODF['nBins'] # preallocate and clear - - for bin in range(ODF['nBins']): # loop over bins - repetition[bin] = int(round(ODF['dV_V'][bin]*scale)) # calc repetition - -# build set - set = [None]*nInvSamples - i = 0 - for bin in range(ODF['nBins']): - set[i:i+repetition[bin]] = [bin]*repetition[bin] # fill set with bin, i.e. orientation - i += repetition[bin] # advance set counter - - orientations = np.zeros((nSamples,3),'f') - reconstructedODF = np.zeros(ODF['nBins'],'f') - unitInc = 1.0/nSamples - for j in range(nSamples): - if (j == nInvSamples-1): ex = j - else: ex = int(round(random.uniform(j+0.5,nInvSamples-0.5))) - bin = set[ex] - Eulers = binAsEulers(bin,ODF['interval'],ODF['delta'],ODF['center']) - orientations[j] = np.degrees(Eulers) - reconstructedODF[bin] += unitInc - set[ex] = set[j] # exchange orientations - - return orientations, reconstructedODF - - -# ----- trial and error algorithms --------- - -def MonteCarloEulers (ODF,nSamples): - """ODF contains 'dV_V' (normalized to 1), 'center', 'intervals', 'limits' (in radians).""" - countMC = 0 - maxdV_V = max(ODF['dV_V']) - orientations = np.zeros((nSamples,3),'f') - reconstructedODF = np.zeros(ODF['nBins'],'f') - unitInc = 1.0/nSamples - - for j in range(nSamples): - MC = maxdV_V*2.0 - bin = 0 - while MC > ODF['dV_V'][bin]: - countMC += 1 - MC = maxdV_V*random.random() - Eulers = [limit*random.random() for limit in ODF['limit']] - bins = EulersAsBins(Eulers,ODF['interval'],ODF['delta'],ODF['center']) - bin = binsAsBin(bins,ODF['interval']) - orientations[j] = np.degrees(Eulers) - reconstructedODF[bin] += unitInc - - return orientations, reconstructedODF, countMC - - -def MonteCarloBins (ODF,nSamples): - """ODF contains 'dV_V' (normalized to 1), 'center', 'intervals', 'limits' (in radians).""" - countMC = 0 - maxdV_V = max(ODF['dV_V']) - orientations = np.zeros((nSamples,3),'f') - reconstructedODF = np.zeros(ODF['nBins'],'f') - unitInc = 1.0/nSamples - - for j in range(nSamples): - MC = maxdV_V*2.0 - bin = 0 - while MC > ODF['dV_V'][bin]: - countMC += 1 - MC = maxdV_V*random.random() - bin = int(ODF['nBins'] * random.random()) - Eulers = binAsEulers(bin,ODF['interval'],ODF['delta'],ODF['center']) - orientations[j] = np.degrees(Eulers) - reconstructedODF[bin] += unitInc - - return orientations, reconstructedODF - - -def TothVanHoutteSTAT (ODF,nSamples): - """ODF contains 'dV_V' (normalized to 1), 'center', 'intervals', 'limits' (in radians).""" - orientations = np.zeros((nSamples,3),'f') - reconstructedODF = np.zeros(ODF['nBins'],'f') - unitInc = 1.0/nSamples - - selectors = [random.random() for i in range(nSamples)] - selectors.sort() - indexSelector = 0 - - cumdV_V = 0.0 - countSamples = 0 - - for bin in range(ODF['nBins']) : - cumdV_V += ODF['dV_V'][bin] - while indexSelector < nSamples and selectors[indexSelector] < cumdV_V: - Eulers = binAsEulers(bin,ODF['interval'],ODF['delta'],ODF['center']) - orientations[countSamples] = np.degrees(Eulers) - reconstructedODF[bin] += unitInc - countSamples += 1 - indexSelector += 1 - - damask.util.croak('created set of %i when asked to deliver %i'%(countSamples,nSamples)) - - return orientations, reconstructedODF - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [file[s]]', description =""" -Transform linear binned ODF data into given number of orientations. -IA: integral approximation, STAT: Van Houtte, MC: Monte Carlo - -""", version = scriptID) - -algorithms = ['IA', 'STAT','MC'] -parser.add_option('-n', '--nsamples', - dest = 'number', - type = 'int', metavar = 'int', - help = 'number of orientations to be generated [%default]') -parser.add_option('-a','--algorithm', - dest = 'algorithm', - choices = algorithms, metavar = 'string', - help = 'sampling algorithm {%s} [IA]'%(', '.join(algorithms))) -parser.add_option('-p','--phase', - dest = 'phase', - type = 'int', metavar = 'int', - help = 'phase index to be used [%default]') -parser.add_option('-r', '--rnd', - dest = 'randomSeed', - type = 'int', metavar = 'int', \ - help = 'seed of random number generator [%default]') -parser.set_defaults(randomSeed = None, - number = 500, - algorithm = 'IA', - phase = 1, - ang = True, - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) - - randomSeed = int(os.urandom(4).hex(),16) if options.randomSeed is None else options.randomSeed # random seed per file - random.seed(randomSeed) - -# --------------- figure out limits (left/right), delta, and interval ----------------------------- - ODF = {} - eulers = table.get('euler') - limits = np.array([np.min(eulers,axis=0),np.max(eulers,axis=0)]) # min/max euler angles in degrees - ODF['limit'] = np.radians(limits[1,:]) # right hand limits in radians - ODF['center'] = 0.0 if all(limits[0,:]<1e-8) else 0.5 # vertex or cell centered - - ODF['interval'] = np.array(list(map(len,[np.unique(eulers[:,i]) for i in range(3)])),'i') # steps are number of distict values - ODF['nBins'] = ODF['interval'].prod() - ODF['delta'] = np.radians(np.array(limits[1,0:3]-limits[0,0:3])/(ODF['interval']-1)) # step size - - if eulers.shape[0] != ODF['nBins']: - damask.util.croak('expecting %i values but got %i'%(ODF['nBins'],eulers.shape[0])) - continue - -# ----- build binnedODF array and normalize ------------------------------------------------------ - sumdV_V = 0.0 - ODF['dV_V'] = [None]*ODF['nBins'] - ODF['nNonZero'] = 0 - dg = ODF['delta'][0]*2.0*math.sin(ODF['delta'][1]/2.0)*ODF['delta'][2] - intensity = table.get('intensity') - for b in range(ODF['nBins']): - ODF['dV_V'][b] = \ - max(0.0,intensity[b,0]) * dg * \ - math.sin(((b//ODF['interval'][2])%ODF['interval'][1]+ODF['center'])*ODF['delta'][1]) - if ODF['dV_V'][b] > 0.0: - sumdV_V += ODF['dV_V'][b] - ODF['nNonZero'] += 1 - - for b in range(ODF['nBins']): - ODF['dV_V'][b] /= sumdV_V # normalize dV/V - - damask.util.croak(['non-zero fraction: %12.11f (%i/%i)'%(float(ODF['nNonZero'])/ODF['nBins'], - ODF['nNonZero'], - ODF['nBins']), - 'Volume integral of ODF: %12.11f\n'%sumdV_V, - 'Reference Integral: %12.11f\n'%(ODF['limit'][0]*ODF['limit'][2]*(1-math.cos(ODF['limit'][1]))), - ]) - - Functions = {'IA': 'directInversion', 'STAT': 'TothVanHoutteSTAT', 'MC': 'MonteCarloBins'} - method = Functions[options.algorithm] - - Orientations, ReconstructedODF = (globals()[method])(ODF,options.number) - -# calculate accuracy of sample - squaredDiff = {'orig':0.0,method:0.0} - squaredRelDiff = {'orig':0.0,method:0.0} - mutualProd = {'orig':0.0,method:0.0} - indivSum = {'orig':0.0,method:0.0} - indivSquaredSum = {'orig':0.0,method:0.0} - - for bin in range(ODF['nBins']): - squaredDiff[method] += (ODF['dV_V'][bin] - ReconstructedODF[bin])**2 - if ODF['dV_V'][bin] > 0.0: - squaredRelDiff[method] += (ODF['dV_V'][bin] - ReconstructedODF[bin])**2/ODF['dV_V'][bin]**2 - mutualProd[method] += ODF['dV_V'][bin]*ReconstructedODF[bin] - indivSum[method] += ReconstructedODF[bin] - indivSquaredSum[method] += ReconstructedODF[bin]**2 - indivSum['orig'] += ODF['dV_V'][bin] - indivSquaredSum['orig'] += ODF['dV_V'][bin]**2 - - damask.util.croak(['sqrt(N*)RMSD of ODFs:\t %12.11f'% math.sqrt(options.number*squaredDiff[method]), - 'RMSrD of ODFs:\t %12.11f'%math.sqrt(squaredRelDiff[method]), - 'rMSD of ODFs:\t %12.11f'%(squaredDiff[method]/indivSquaredSum['orig']), - 'nNonZero correlation slope:\t %12.11f'\ - %((ODF['nNonZero']*mutualProd[method]-indivSum['orig']*indivSum[method])/\ - (ODF['nNonZero']*indivSquaredSum['orig']-indivSum['orig']**2)), - 'nNonZero correlation confidence:\t %12.11f'\ - %((mutualProd[method]-indivSum['orig']*indivSum[method]/ODF['nNonZero'])/\ - (ODF['nNonZero']*math.sqrt((indivSquaredSum['orig']/ODF['nNonZero']-(indivSum['orig']/ODF['nNonZero'])**2)*\ - (indivSquaredSum[method]/ODF['nNonZero']-(indivSum[method]/ODF['nNonZero'])**2)))), - ]) - - if method == 'IA' and options.number < ODF['nNonZero']: - strOpt = '(%i)'%ODF['nNonZero'] - - formatwidth = 1+int(math.log10(options.number)) - - materialConfig = [ - '#' + scriptID + ' ' + ' '.join(sys.argv[1:]), - '# random seed %i'%randomSeed, - '#-------------------#', - '', - '#-------------------#', - ] - - for i,ID in enumerate(range(options.number)): - materialConfig += ['[Grain%s]'%(str(ID+1).zfill(formatwidth)), - '(constituent) phase %i texture %s fraction 1.0'%(options.phase,str(ID+1).rjust(formatwidth)), - ] - - materialConfig += [ - '#-------------------#', - '', - '#-------------------#', - ] - - for ID in range(options.number): - eulers = Orientations[ID] - - materialConfig += ['[Grain%s]'%(str(ID+1).zfill(formatwidth)), - '(gauss) phi1 {} Phi {} phi2 {} scatter 0.0 fraction 1.0'.format(*eulers), - ] - -#--- output finalization -------------------------------------------------------------------------- - - with (open(os.path.splitext(name)[0]+'_'+method+'_'+str(options.number)+'_material.config','w')) as outfile: - outfile.write('\n'.join(materialConfig)+'\n') diff --git a/processing/pre/seeds_fromGeom.py b/processing/pre/seeds_fromGeom.py deleted file mode 100755 index b8d74b651..000000000 --- a/processing/pre/seeds_fromGeom.py +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import numpy as np - -import damask - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - -#-------------------------------------------------------------------------------------------------- -# MAIN -#-------------------------------------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [file[s]]', description = """ -Create seed file taking material indices from given geom file. -Indices can be black-listed or white-listed. - -""", version = scriptID) - -parser.add_option('-w', - '--white', - action = 'extend', metavar = '', - dest = 'whitelist', - help = 'whitelist of grain IDs') -parser.add_option('-b', - '--black', - action = 'extend', metavar = '', - dest = 'blacklist', - help = 'blacklist of grain IDs') - -parser.set_defaults(whitelist = [], - blacklist = [], - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -options.whitelist = [int(i) for i in options.whitelist] -options.blacklist = [int(i) for i in options.blacklist] - -for name in filenames: - damask.util.report(scriptName,name) - - geom = damask.Geom.load_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) - material = geom.material.reshape((-1,1),order='F') - - mask = np.logical_and(np.in1d(material,options.whitelist,invert=False) if options.whitelist else \ - np.full(geom.grid.prod(),True,dtype=bool), - np.in1d(material,options.blacklist,invert=True) if options.blacklist else \ - np.full(geom.grid.prod(),True,dtype=bool)) - - seeds = damask.grid_filters.cell_coord0(geom.grid,geom.size).reshape(-1,3,order='F') - - comments = geom.comments \ - + [scriptID + ' ' + ' '.join(sys.argv[1:]), - 'grid\ta {}\tb {}\tc {}'.format(*geom.grid), - 'size\tx {}\ty {}\tz {}'.format(*geom.size), - 'origin\tx {}\ty {}\tz {}'.format(*geom.origin), - ] - - damask.Table(seeds[mask],{'pos':(3,)},comments)\ - .add('material',material[mask].astype(int))\ - .save(sys.stdout if name is None else os.path.splitext(name)[0]+'.seeds',legacy=True) diff --git a/processing/pre/seeds_fromRandom.py b/processing/pre/seeds_fromRandom.py deleted file mode 100755 index 451e218aa..000000000 --- a/processing/pre/seeds_fromRandom.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from optparse import OptionParser,OptionGroup - -import numpy as np -from scipy import spatial - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options', description = """ -Distribute given number of points randomly within rectangular cuboid. -Reports positions with random crystal orientations in seeds file format to STDOUT. - -""", version = scriptID) - -parser.add_option('-N', - dest = 'N', - type = 'int', metavar = 'int', - help = 'number of seed points [%default]') -parser.add_option('-s', - '--size', - dest = 'size', - type = 'float', nargs = 3, metavar = 'float float float', - help='size x,y,z of unit cube to fill %default') -parser.add_option('-g', - '--grid', - dest = 'grid', - type = 'int', nargs = 3, metavar = 'int int int', - help='min a,b,c grid of hexahedral box %default') -parser.add_option('-m', - '--microstructure', - dest = 'microstructure', - type = 'int', metavar = 'int', - help = 'first microstructure index [%default]') -parser.add_option('-r', - '--rnd', - dest = 'randomSeed', type = 'int', metavar = 'int', - help = 'seed of random number generator [%default]') - -group = OptionGroup(parser, "Laguerre Tessellation", - "Parameters determining shape of weight distribution of seed points" - ) -group.add_option( '-w', - '--weights', - action = 'store_true', - dest = 'weights', - help = 'assign random weights to seed points for Laguerre tessellation [%default]') -group.add_option( '--max', - dest = 'max', - type = 'float', metavar = 'float', - help = 'max of uniform distribution for weights [%default]') -group.add_option( '--mean', - dest = 'mean', - type = 'float', metavar = 'float', - help = 'mean of normal distribution for weights [%default]') -group.add_option( '--sigma', - dest = 'sigma', - type = 'float', metavar = 'float', - help='standard deviation of normal distribution for weights [%default]') -parser.add_option_group(group) - -group = OptionGroup(parser, "Selective Seeding", - "More uniform distribution of seed points using Mitchell's Best Candidate Algorithm" - ) -group.add_option( '--selective', - action = 'store_true', - dest = 'selective', - help = 'selective picking of seed points from random seed points') -group.add_option( '--distance', - dest = 'distance', - type = 'float', metavar = 'float', - help = 'minimum distance to next neighbor [%default]') -group.add_option( '--numCandidates', - dest = 'numCandidates', - type = 'int', metavar = 'int', - help = 'size of point group to select best distance from [%default]') -parser.add_option_group(group) - -parser.set_defaults(randomSeed = None, - grid = (16,16,16), - size = (1.0,1.0,1.0), - N = 20, - weights = False, - max = 0.0, - mean = 0.2, - sigma = 0.05, - microstructure = 1, - selective = False, - distance = 0.2, - numCandidates = 10, - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -size = np.array(options.size) -grid = np.array(options.grid) -np.random.seed(int(os.urandom(4).hex(),16) if options.randomSeed is None else options.randomSeed) - -for name in filenames: - damask.util.report(scriptName,name) - - if options.N > np.prod(grid): - damask.util.croak('More seeds than grid positions.') - sys.exit() - if options.selective and options.distance < min(size/grid): - damask.util.croak('Distance must be larger than grid spacing.') - sys.exit() - if options.selective and options.distance**3*options.N > 0.5*np.prod(size): - damask.util.croak('Number of seeds for given size and distance should be < {}.'\ - .format(int(0.5*np.prod(size)/options.distance**3))) - - eulers = np.random.rand(options.N,3) # create random Euler triplets - eulers[:,0] *= 360.0 # phi_1 is uniformly distributed - eulers[:,1] = np.degrees(np.arccos(2*eulers[:,1]-1.0)) # cos(Phi) is uniformly distributed - eulers[:,2] *= 360.0 # phi_2 is uniformly distributed - - - if not options.selective: - coords = damask.grid_filters.cell_coord0(grid,size).reshape(-1,3,order='F') - seeds = coords[np.random.choice(np.prod(grid), options.N, replace=False)] \ - + np.broadcast_to(size/grid,(options.N,3))*(np.random.rand(options.N,3)*.5-.25) # wobble without leaving grid - else: - seeds = np.empty((options.N,3)) - seeds[0] = np.random.random(3) * size - - i = 1 - progress = damask.util._ProgressBar(options.N,'',50) - while i < options.N: - candidates = np.random.rand(options.numCandidates,3)*np.broadcast_to(size,(options.numCandidates,3)) - tree = spatial.cKDTree(seeds[:i]) - distances, dev_null = tree.query(candidates) - best = distances.argmax() - if distances[best] > options.distance: # require minimum separation - seeds[i] = candidates[best] # maximum separation to existing point cloud - i += 1 - progress.update(i) - - - comments = [scriptID + ' ' + ' '.join(sys.argv[1:]), - 'grid\ta {}\tb {}\tc {}'.format(*grid), - 'size\tx {}\ty {}\tz {}'.format(*size), - 'randomSeed\t{}'.format(options.randomSeed), - ] - - table = damask.Table(np.hstack((seeds,eulers)),{'pos':(3,),'euler':(3,)},comments)\ - .add('microstructure',np.arange(options.microstructure,options.microstructure + options.N,dtype=int)) - - if options.weights: - weights = np.random.uniform(low = 0, high = options.max, size = options.N) if options.max > 0.0 \ - else np.random.normal(loc = options.mean, scale = options.sigma, size = options.N) - table = table.add('weight',weights) - - table.save(sys.stdout if name is None else name,legacy=True) From 9e3506b8ef21e444cb7884b8cd05d69579e4f484 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 25 Sep 2020 07:41:58 +0200 Subject: [PATCH 749/958] thorougly testing seeding functionality --- python/damask/seeds.py | 2 +- python/tests/test_seeds.py | 28 +++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/python/damask/seeds.py b/python/damask/seeds.py index ea40794da..9aab953d0 100644 --- a/python/damask/seeds.py +++ b/python/damask/seeds.py @@ -95,7 +95,7 @@ def from_geom(geom,selection=None,invert=False,average=False,periodic=True): """ material = geom.material.reshape((-1,1),order='F') mask = _np.full(geom.grid.prod(),True,dtype=bool) if selection is None else \ - _np.isin(material,selection,invert=invert) + _np.isin(material,selection,invert=invert).flatten() coords = grid_filters.cell_coord0(geom.grid,geom.size).reshape(-1,3,order='F') if not average: diff --git a/python/tests/test_seeds.py b/python/tests/test_seeds.py index 49d9a6bfd..c9ad6f0e3 100644 --- a/python/tests/test_seeds.py +++ b/python/tests/test_seeds.py @@ -3,6 +3,7 @@ import numpy as np from scipy.spatial import cKDTree from damask import seeds +from damask import grid_filters from damask import Geom class TestSeeds: @@ -25,7 +26,7 @@ class TestSeeds: cKDTree(coords).query(coords, 2) assert (0<= coords).all() and (coords=distance - def test_from_geom(self): + def test_from_geom_reconstruct(self): grid = np.random.randint(10,20,3) N_seeds = np.random.randint(30,300) size = np.ones(3) + np.random.random(3) @@ -34,3 +35,28 @@ class TestSeeds: coords,material = seeds.from_geom(geom_1) geom_2 = Geom.from_Voronoi_tessellation(grid,size,coords,material) assert (geom_2.material==geom_1.material).all() + + @pytest.mark.parametrize('periodic',[True,False]) + @pytest.mark.parametrize('average',[True,False]) + def test_from_geom_grid(self,periodic,average): + grid = np.random.randint(10,20,3) + size = np.ones(3) + np.random.random(3) + coords = grid_filters.cell_coord0(grid,size).reshape(-1,3) + np.random.shuffle(coords) + geom_1 = Geom.from_Voronoi_tessellation(grid,size,coords) + coords,material = seeds.from_geom(geom_1,average=average,periodic=periodic) + geom_2 = Geom.from_Voronoi_tessellation(grid,size,coords,material) + assert (geom_2.material==geom_1.material).all() + + @pytest.mark.parametrize('periodic',[True,False]) + @pytest.mark.parametrize('average',[True,False]) + @pytest.mark.parametrize('invert',[True,False]) + def test_from_geom_selection(self,periodic,average,invert): + grid = np.random.randint(10,20,3) + N_seeds = np.random.randint(30,300) + size = np.ones(3) + np.random.random(3) + coords = seeds.from_random(size,N_seeds,grid) + geom = Geom.from_Voronoi_tessellation(grid,size,coords) + selection=np.random.randint(N_seeds)+1 + coords,material = seeds.from_geom(geom,average=average,periodic=periodic,invert=invert,selection=[selection]) + assert selection not in material if invert else (selection==material).all() From b4f4acb2632ce0b94931bb076caaa3901a8730ac Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 25 Sep 2020 08:14:54 +0200 Subject: [PATCH 750/958] more thorough test --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index b7c6e3a67..ca6b52222 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit b7c6e3a6742b6098530a6fa5121b23ec9487dd4f +Subproject commit ca6b52222924fe23501c8cdeb0446b2cdecabd71 From 1fd0ec99862025632ca870d747c2e57d87edb832 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 25 Sep 2020 08:15:22 +0200 Subject: [PATCH 751/958] start immediately with longest test --- .gitlab-ci.yml | 20 ++++++++++---------- PRIVATE | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 054e18ae2..4e83757e5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -239,6 +239,16 @@ Compile_Intel_Prepare: - release ################################################################################################### +Pytest_grid: + stage: grid + script: + - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel + - cd pytest + - pytest + except: + - master + - release + Thermal: stage: grid script: Thermal/test.py @@ -304,16 +314,6 @@ Phenopowerlaw_singleSlip: - master - release -Pytest_grid: - stage: grid - script: - - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel - - cd pytest - - pytest - except: - - master - - release - ################################################################################################### Marc_compileIfort: stage: compileMarc diff --git a/PRIVATE b/PRIVATE index ca6b52222..fe0a83c02 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit ca6b52222924fe23501c8cdeb0446b2cdecabd71 +Subproject commit fe0a83c023334167197dafeb6bf09d17574e2955 From 398afbcbe4fe846d1553b25d6e15355e408cd93b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 25 Sep 2020 10:47:50 +0200 Subject: [PATCH 752/958] removed aliases, users can symlink if they are afraid of changes DAMASK_spectral -> DAMASK_grid DAMASK_FEM -> DAMASK_mesh make spectral -> make grid make FEM -> make mesh --- Makefile | 8 -------- PRIVATE | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/Makefile b/Makefile index f7b783c61..418d70507 100644 --- a/Makefile +++ b/Makefile @@ -9,18 +9,10 @@ all: grid mesh processing .PHONY: grid grid: build/grid @(cd build/grid;make -j${DAMASK_NUM_THREADS} all install;) - @rm -f ${DAMASK_ROOT}/bin/DAMASK_spectral > /dev/null || true - @ln -s ${DAMASK_ROOT}/bin/DAMASK_grid ${DAMASK_ROOT}/bin/DAMASK_spectral || true -.PHONY: spectral -spectral: grid .PHONY: mesh mesh: build/mesh @(cd build/mesh; make -j${DAMASK_NUM_THREADS} all install;) - @rm -f ${DAMASK_ROOT}/bin/DAMASK_FEM > /dev/null || true - @ln -s ${DAMASK_ROOT}/bin/DAMASK_mesh ${DAMASK_ROOT}/bin/DAMASK_FEM || true -.PHONY: FEM -FEM: mesh .PHONY: build/grid build/grid: diff --git a/PRIVATE b/PRIVATE index fe0a83c02..f06c73c1e 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit fe0a83c023334167197dafeb6bf09d17574e2955 +Subproject commit f06c73c1eacb9b5939bc84de3b8224abf195fb80 From 08f5851c82771fb4365d898c62a104558ddf6d29 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 25 Sep 2020 10:59:03 +0200 Subject: [PATCH 753/958] take care of empty lines in this slightly new setup --- src/YAML_parse.f90 | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 218d4688b..65b9afe3d 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -594,12 +594,13 @@ function to_flow(blck) s_blck = 1 offset = 0 - call skip_empty_lines(blck,s_blck) - e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 - line = IO_rmComment(blck(s_blck:e_blck)) - if(trim(line) == '---') s_blck = e_blck + 2 - - call decide(blck,to_flow,s_blck,s_flow,offset) + if(len_trim(blck) /= 0) then + call skip_empty_lines(blck,s_blck) + e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 + line = IO_rmComment(blck(s_blck:e_blck)) + if(trim(line) == '---') s_blck = e_blck + 2 + call decide(blck,to_flow,s_blck,s_flow,offset) + endif to_flow = trim(to_flow(:s_flow-1)) end_line = index(to_flow,IO_EOL) From 5c78e7ed5b53a0aa24a3b681feff70234c90f24f Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 25 Sep 2020 13:30:30 +0200 Subject: [PATCH 754/958] [skip ci] updated version information after successful test of v3.0.0-alpha-335-gdb8f6400f --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index a8cc04d22..425e852a2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-321-g0f6495430 +v3.0.0-alpha-335-gdb8f6400f From d51a73958ec84d7c2d8d91a0d6403566bae0fe63 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 25 Sep 2020 14:08:29 +0200 Subject: [PATCH 755/958] don't rely on non-existing shell scripts --- processing/pre/seeds_fromDistribution.py | 26 ++++++------------------ 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/processing/pre/seeds_fromDistribution.py b/processing/pre/seeds_fromDistribution.py index 48f803d29..375f33ad3 100755 --- a/processing/pre/seeds_fromDistribution.py +++ b/processing/pre/seeds_fromDistribution.py @@ -48,7 +48,6 @@ class myThread (threading.Thread): myBestSeedsVFile = StringIO() # store local copy of best seeds file perturbedSeedsVFile = StringIO() # perturbed best seeds file - perturbedGeomVFile = StringIO() # tessellated geom file #--- still not matching desired bin class ---------------------------------------------------------- while bestMatch < options.threshold: @@ -92,15 +91,10 @@ class myThread (threading.Thread): perturbedSeedsTable.set('pos',coords).save(perturbedSeedsVFile,legacy=True) #--- do tesselation with perturbed seed file ------------------------------------------------------ - perturbedGeomVFile.close() - perturbedGeomVFile = StringIO() - perturbedSeedsVFile.seek(0) - perturbedGeomVFile.write(damask.util.execute('geom_fromVoronoiTessellation '+ - ' -g '+' '.join(list(map(str, options.grid))),streamIn=perturbedSeedsVFile)[0]) - perturbedGeomVFile.seek(0) + perturbedGeom = damask.Geom.from_Voronoi_tessellation(options.grid,np.ones(3),coords) + #--- evaluate current seeds file ------------------------------------------------------------------ - perturbedGeom = damask.Geom.load_ASCII(perturbedGeomVFile) myNmaterials = len(np.unique(perturbedGeom.material)) currentData = np.bincount(perturbedGeom.material.ravel())[1:]/points currentError=[] @@ -227,22 +221,15 @@ for i in range(1,nMaterials+1): # ----------- create initial seed file or open existing one bestSeedsVFile = StringIO() if os.path.isfile(os.path.splitext(options.seedFile)[0]+'.seeds'): - with open(os.path.splitext(options.seedFile)[0]+'.seeds') as initialSeedFile: - for line in initialSeedFile: bestSeedsVFile.write(line) + initial_seeds = damask.Table.load(os.path.splitext(options.seedFile)[0]+'.seeds').get('pos') else: - bestSeedsVFile.write(damask.util.execute('seeds_fromRandom'+\ - ' -g '+' '.join(list(map(str, options.grid)))+\ - ' -r {:d}'.format(options.randomSeed)+\ - ' -N '+str(nMaterials))[0]) + initial_seeds = damask.seeds.from_random(np.ones(3),nMaterials,options.grid,options.randomSeed) + bestSeedsUpdate = time.time() # ----------- tessellate initial seed file to get and evaluate geom file bestSeedsVFile.seek(0) -initialGeomVFile = StringIO() -initialGeomVFile.write(damask.util.execute('geom_fromVoronoiTessellation '+ - ' -g '+' '.join(list(map(str, options.grid))),bestSeedsVFile)[0]) -initialGeomVFile.seek(0) -initialGeom = damask.Geom.load_ASCII(initialGeomVFile) +initialGeom = damask.Geom.from_Voronoi_tessellation(options.grid,np.ones(3),initial_seeds) if len(np.unique(targetGeom.material)) != nMaterials: damask.util.croak('error. Material count mismatch') @@ -269,7 +256,6 @@ else: if match >0: damask.util.croak('Stage {:d} cleared'.format(match)) sys.stdout.flush() -initialGeomVFile.close() # start mulithreaded monte carlo simulation threads = [] From 421d4b8f37c33103bc9c696879ac8c0340204f4e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 25 Sep 2020 15:09:24 +0200 Subject: [PATCH 756/958] forgotten renames --- src/grid/DAMASK_grid.f90 | 2 +- src/material.f90 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index ac30d487d..d092fb477 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -288,7 +288,7 @@ program DAMASK_grid errorID = 838 ! no rotation is allowed by stress BC print*, ' stress / GPa:' do i = 1, 3; do j = 1, 3 - if(newLoadCase%stress%maskLogical(i,j)) then + if(newLoadCase%stress%mask(i,j)) then write(IO_STDOUT,'(2x,f12.7)',advance='no') newLoadCase%stress%values(i,j)*1e-9_pReal else write(IO_STDOUT,'(2x,12a)',advance='no') ' * ' diff --git a/src/material.f90 b/src/material.f90 index 30c5f09a0..b6d043183 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -369,7 +369,7 @@ subroutine material_parseMicrostructure microstructure => microstructures%get(discretization_microstructureAt(e)) constituents => microstructure%get('constituents') - material_homogenizationAt(e) = homogenization%getIndex(microstructure%get_asString('homogenization')) + material_homogenizationAt(e) = homogenizations%getIndex(microstructure%get_asString('homogenization')) do i = 1, discretization_nIP counterHomogenization(material_homogenizationAt(e)) = counterHomogenization(material_homogenizationAt(e)) + 1 material_homogenizationMemberAt(i,e) = counterHomogenization(material_homogenizationAt(e)) From 8396af5aec875916043edcd8510d600cf5d052ea Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 25 Sep 2020 15:19:31 +0200 Subject: [PATCH 757/958] not needed --- src/grid/DAMASK_grid.f90 | 4 ++-- src/grid/grid_damage_spectral.f90 | 6 ++---- src/grid/grid_thermal_spectral.f90 | 6 ++---- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index d092fb477..df7df4d3b 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -431,9 +431,9 @@ program DAMASK_grid case(FIELD_MECH_ID) solres(field) = mech_solution(incInfo) case(FIELD_THERMAL_ID) - solres(field) = grid_thermal_spectral_solution(timeinc,timeIncOld) + solres(field) = grid_thermal_spectral_solution(timeinc) case(FIELD_DAMAGE_ID) - solres(field) = grid_damage_spectral_solution(timeinc,timeIncOld) + solres(field) = grid_damage_spectral_solution(timeinc) end select if (.not. solres(field)%converged) exit ! no solution found diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index 27dc5c1bd..7e529fc68 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -156,11 +156,10 @@ end subroutine grid_damage_spectral_init !-------------------------------------------------------------------------------------------------- !> @brief solution for the spectral damage scheme with internal iterations !-------------------------------------------------------------------------------------------------- -function grid_damage_spectral_solution(timeinc,timeinc_old) result(solution) +function grid_damage_spectral_solution(timeinc) result(solution) real(pReal), intent(in) :: & - timeinc, & !< increment in time for current solution - timeinc_old !< increment in time of last increment + timeinc !< increment in time for current solution integer :: i, j, k, cell type(tSolutionState) :: solution PetscInt :: devNull @@ -174,7 +173,6 @@ function grid_damage_spectral_solution(timeinc,timeinc_old) result(solution) !-------------------------------------------------------------------------------------------------- ! set module wide availabe data params%timeinc = timeinc - params%timeincOld = timeinc_old call SNESSolve(damage_snes,PETSC_NULL_VEC,solution_vec,ierr); CHKERRQ(ierr) call SNESGetConvergedReason(damage_snes,reason,ierr); CHKERRQ(ierr) diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index 49be5ad7e..b4f9acddb 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -148,11 +148,10 @@ end subroutine grid_thermal_spectral_init !-------------------------------------------------------------------------------------------------- !> @brief solution for the spectral thermal scheme with internal iterations !-------------------------------------------------------------------------------------------------- -function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) +function grid_thermal_spectral_solution(timeinc) result(solution) real(pReal), intent(in) :: & - timeinc, & !< increment in time for current solution - timeinc_old !< increment in time of last increment + timeinc !< increment in time for current solution integer :: i, j, k, cell type(tSolutionState) :: solution PetscInt :: devNull @@ -166,7 +165,6 @@ function grid_thermal_spectral_solution(timeinc,timeinc_old) result(solution) !-------------------------------------------------------------------------------------------------- ! set module wide availabe data params%timeinc = timeinc - params%timeincOld = timeinc_old call SNESSolve(thermal_snes,PETSC_NULL_VEC,solution_vec,ierr); CHKERRQ(ierr) call SNESGetConvergedReason(thermal_snes,reason,ierr); CHKERRQ(ierr) From 239dc25a0d7d8efad3b9adedee01a6b7677e18e4 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 25 Sep 2020 16:20:49 +0200 Subject: [PATCH 758/958] [skip ci] updated version information after successful test of v3.0.0-alpha-351-g455e221a9 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index a8cc04d22..e12c9505f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-321-g0f6495430 +v3.0.0-alpha-351-g455e221a9 From 32b81770d9dcf043ad4dd4e9b1a416987c676ef5 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 25 Sep 2020 21:35:47 +0200 Subject: [PATCH 759/958] shorter --- src/grid/DAMASK_grid.f90 | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index df7df4d3b..a1bb23375 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -365,11 +365,7 @@ program DAMASK_grid timeinc = loadCases(currentLoadCase)%time/real(loadCases(currentLoadCase)%incs,pReal) else if (currentLoadCase == 1) then ! 1st load case of logarithmic scale - if (inc == 1) then ! 1st inc of 1st load case of logarithmic scale - timeinc = loadCases(1)%time*(2.0_pReal**real( 1-loadCases(1)%incs ,pReal)) ! assume 1st inc is equal to 2nd - else ! not-1st inc of 1st load case of logarithmic scale - timeinc = loadCases(1)%time*(2.0_pReal**real(inc-1-loadCases(1)%incs ,pReal)) - endif + timeinc = loadCases(1)%time*(2.0_pReal**real(max(inc-1,1)-loadCases(1)%incs ,pReal)) ! assume 1st inc is equal to 2nd else ! not-1st load case of logarithmic scale timeinc = time0 * & ( (1.0_pReal + loadCases(currentLoadCase)%time/time0 )**(real( inc ,pReal)/& From 002fe04d353b94d70a2aecd832f28ebf77a31aef Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 26 Sep 2020 12:09:45 +0200 Subject: [PATCH 760/958] test for stress ramp --- PRIVATE | 2 +- src/grid/grid_mech_spectral_basic.f90 | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/PRIVATE b/PRIVATE index dc568df60..96a564660 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit dc568df60e36b659d9a1f84ac93fd4abb1b8fe3c +Subproject commit 96a564660b1f109009039785ca6cc4c670867178 diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 8072f49b9..e7e544886 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -123,13 +123,13 @@ subroutine grid_mech_spectral_basic_init ! read numerical parameters and do sanity checks num_grid => config_numerics%get('grid',defaultVal=emptyDict) - num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) - num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) - num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) - num%eps_stress_atol = num_grid%get_asFloat ('eps_stress_atol',defaultVal=1.0e3_pReal) - num%eps_stress_rtol = num_grid%get_asFloat('eps_stress_rtol',defaultVal=1.0e-3_pReal) - num%itmin = num_grid%get_asInt ('itmin',defaultVal=1) - num%itmax = num_grid%get_asInt ('itmax',defaultVal=250) + num%update_gamma = num_grid%get_asBool ('update_gamma', defaultVal=.false.) + num%eps_div_atol = num_grid%get_asFloat ('eps_div_atol', defaultVal=1.0e-4_pReal) + num%eps_div_rtol = num_grid%get_asFloat ('eps_div_rtol', defaultVal=5.0e-4_pReal) + num%eps_stress_atol = num_grid%get_asFloat ('eps_stress_atol',defaultVal=1.0e3_pReal) + num%eps_stress_rtol = num_grid%get_asFloat ('eps_stress_rtol',defaultVal=1.0e-3_pReal) + num%itmin = num_grid%get_asInt ('itmin',defaultVal=1) + num%itmax = num_grid%get_asInt ('itmax',defaultVal=250) if (num%eps_div_atol <= 0.0_pReal) call IO_error(301,ext_msg='eps_div_atol') if (num%eps_div_rtol < 0.0_pReal) call IO_error(301,ext_msg='eps_div_rtol') From 6a7c47130e515d53e877f03ed4e02d897156344a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 26 Sep 2020 12:49:05 +0200 Subject: [PATCH 761/958] fix: test compatible with IntelMPI --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index f06c73c1e..d58fe610f 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit f06c73c1eacb9b5939bc84de3b8224abf195fb80 +Subproject commit d58fe610f5cb462b497c0e9de0ff57bafec5c8c7 From 4721743a57ac5b00a8cec00eec252fde8415eb40 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 26 Sep 2020 13:17:17 +0200 Subject: [PATCH 762/958] more thorough testing --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 96a564660..b1cb4c7f3 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 96a564660b1f109009039785ca6cc4c670867178 +Subproject commit b1cb4c7f306b3412704615793d6f61f4218ca24a From 26125eb9fe8f3bb3005e01797ccaebe4c633fe3f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 26 Sep 2020 15:14:06 +0200 Subject: [PATCH 763/958] fix: DAMASK_spectral was renamed to DAMASK_grid --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index d58fe610f..c8e12648f 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit d58fe610f5cb462b497c0e9de0ff57bafec5c8c7 +Subproject commit c8e12648fd5642f887ddca233f89591120dcf564 From e8e19603918b14d030a15e160a2ce60d5c022d7d Mon Sep 17 00:00:00 2001 From: Vitesh Shah Date: Sat, 26 Sep 2020 18:02:25 +0200 Subject: [PATCH 764/958] Consistency for docstrings --- python/damask/_geom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index b793baf6b..6a7bc3c0e 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -406,9 +406,9 @@ class Geom: locations (cell centers) are addressed. If given as floats, coordinates are addressed. exponent : numpy.ndarray of shape(3) or float - Exponents for the three axis. + Exponents for the three axes. 0 gives octahedron (ǀxǀ^(2^0) + ǀyǀ^(2^0) + ǀzǀ^(2^0) < 1) - 1 gives a sphere (ǀxǀ^(2^1) + ǀyǀ^(2^1) + ǀzǀ^(2^1) < 1) + 1 gives sphere (ǀxǀ^(2^1) + ǀyǀ^(2^1) + ǀzǀ^(2^1) < 1) fill : int, optional Fill value for primitive. Defaults to material.max() + 1. R : damask.Rotation, optional From 4dcb62d9ea9a199579b7e7a5f6209c449ea454cf Mon Sep 17 00:00:00 2001 From: Test User Date: Sun, 27 Sep 2020 19:00:49 +0200 Subject: [PATCH 765/958] [skip ci] updated version information after successful test of v3.0.0-alpha-360-g818974ee4 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 425e852a2..569d2723d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-335-gdb8f6400f +v3.0.0-alpha-360-g818974ee4 From 7786a9892e1f5358f5dcaf887641074d0a0924ac Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sun, 27 Sep 2020 22:28:22 +0200 Subject: [PATCH 766/958] [skip ci] Output 'worldsize' only after it has been determined... --- src/parallelization.f90 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/parallelization.f90 b/src/parallelization.f90 index 3bb1f6af5..fb50a1a23 100644 --- a/src/parallelization.f90 +++ b/src/parallelization.f90 @@ -46,21 +46,21 @@ subroutine parallelization_init ! If openMP is enabled, check if the MPI libary supports it and initialize accordingly. ! Otherwise, the first call to PETSc will do the initialization. call MPI_Init_Thread(MPI_THREAD_FUNNELED,threadLevel,err) - if (err /= 0) error stop 'MPI init failed' - if (threadLevel>>' - if (worldrank == 0) print'(a,i3)', ' MPI processes: ',worldsize call MPI_Comm_size(PETSC_COMM_WORLD,worldsize,err) - if (err /= 0) error stop 'Could not determine worldsize' + if (err /= 0) error stop 'Could not determine worldsize' + if (worldrank == 0) print'(a,i3)', ' MPI processes: ',worldsize call MPI_Type_size(MPI_INTEGER,typeSize,err) if (err /= 0) error stop 'Could not determine MPI integer size' From c982658b11bb39beaf28205e4b4ab9beaa7c940b Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sun, 27 Sep 2020 22:42:40 +0200 Subject: [PATCH 767/958] [skip ci] Avoid "error: type name is not allowed" --- src/C_routines.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/C_routines.c b/src/C_routines.c index 927b26412..98dc25e45 100644 --- a/src/C_routines.c +++ b/src/C_routines.c @@ -61,13 +61,13 @@ void signalusr2_c(void (*handler)(int)){ void inflate_c(const uLong *s_deflated, const uLong *s_inflated, const Byte deflated[], Byte inflated[]){ /* make writable copy, uncompress will write to it */ - uLong s_inflated_; + uLong s_inflated_,i; s_inflated_ = *s_inflated; if(uncompress((Bytef *)inflated, &s_inflated_, (Bytef *)deflated, *s_deflated) == Z_OK) return; else{ - for(uLong i=0;i<*s_inflated;i++){ + for(i=0;i<*s_inflated;i++){ inflated[i] = 0; } } From 7beed17a393693c27195202f94d8ce8b035d7bbd Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 28 Sep 2020 03:05:49 +0200 Subject: [PATCH 768/958] [skip ci] updated version information after successful test of v3.0.0-alpha-374-gc545ad869 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 569d2723d..9b2b9492e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-360-g818974ee4 +v3.0.0-alpha-374-gc545ad869 From 95b85626d894c82d3b10f8612dc109fe0bdbb9f1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 28 Sep 2020 07:40:43 +0200 Subject: [PATCH 769/958] general hybridIA functionality --- python/damask/util.py | 18 ++++++++++++++++++ python/tests/test_util.py | 13 +++++++++++++ 2 files changed, 31 insertions(+) diff --git a/python/damask/util.py b/python/damask/util.py index 43e86314e..12d4fd6cc 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -20,6 +20,7 @@ __all__=[ 'execute', 'show_progress', 'scale_to_coprime', + 'hybrid_IA', 'return_message', 'extendableOption', 'execution_stamp' @@ -187,6 +188,23 @@ def execution_stamp(class_name,function_name=None): return f'damask.{class_name}{_function_name} v{version} ({now})' +def hybrid_IA(dist,N,seed=None): + rng = np.random.default_rng(seed) + N_opt_samples = max(np.count_nonzero(dist),N) # random subsampling if too little samples requested + + scale_,scale,inc_factor = (0.0,float(N_opt_samples),1.0) + repeats = np.rint(scale*dist).astype(int) + N_inv_samples = np.sum(repeats) + while (not np.isclose(scale, scale_)) and (N_inv_samples != N_opt_samples): + scale_,scale,inc_factor = (scale,scale+inc_factor*0.5*(scale - scale_), inc_factor*2.0) \ + if N_inv_samples < N_opt_samples else \ + (scale_,0.5*(scale_ + scale), 1.0) + repeats = np.rint(scale*dist).astype(int) + N_inv_samples = np.sum(repeats) + + return np.repeat(np.arange(len(dist)),repeats)[rng.permutation(N_inv_samples)[:N]] + + #################################################################################################### # Classes #################################################################################################### diff --git a/python/tests/test_util.py b/python/tests/test_util.py index 053045741..0b5593e8e 100644 --- a/python/tests/test_util.py +++ b/python/tests/test_util.py @@ -1,5 +1,7 @@ import pytest import numpy as np +from scipy import stats + from damask import util @@ -31,3 +33,14 @@ class TestUtil: def test_lackofprecision(self): with pytest.raises(ValueError): util.scale_to_coprime(np.array([1/333.333,1,1])) + + + @pytest.mark.parametrize('rv',[stats.rayleigh(),stats.weibull_min(1.2),stats.halfnorm(),stats.pareto(2.62)]) + def test_hybridIA(self,rv): + bins = np.linspace(0,10,100000) + centers = (bins[1:]+bins[:-1])/2 + N_samples = bins.shape[0]-1000 + dist = rv.pdf(centers) + selected = util.hybrid_IA(dist,N_samples) + dist_sampled = np.histogram(centers[selected],bins)[0]/N_samples*np.sum(dist) + assert np.sqrt(((dist - dist_sampled) ** 2).mean()) < .025 and selected.shape[0]==N_samples From d2cfcdaca0578714a6eb7226c217c72eb7678539 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 28 Sep 2020 13:14:23 +0200 Subject: [PATCH 770/958] reference Data for ODF sampling (hybridIA) + skeleton of a test --- python/damask/_rotation.py | 53 +- .../reference/Rotation/ODF_experimental.odf | 1524 + .../reference/Rotation/ODF_experimental.txt | 198510 +++++++++++++++ .../Rotation/ODF_experimental_cell.txt | 186629 ++++++++++++++ python/tests/test_Rotation.py | 42 +- 5 files changed, 386751 insertions(+), 7 deletions(-) create mode 100644 python/tests/reference/Rotation/ODF_experimental.odf create mode 100644 python/tests/reference/Rotation/ODF_experimental.txt create mode 100644 python/tests/reference/Rotation/ODF_experimental_cell.txt diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 363dbfce8..495f0c7ec 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -1,6 +1,8 @@ import numpy as np from . import mechanics +from . import util +from . import grid_filters _P = -1 @@ -647,13 +649,56 @@ class Rotation: return Rotation(q.reshape(r.shape[:-1]+(4,)) if shape is not None else q)._standardize() - # for compatibility (old names do not follow convention) - fromEulers = from_Eulers - fromQuaternion = from_quaternion - asAxisAngle = as_axis_angle + # for compatibility __mul__ = __matmul__ + @staticmethod + def from_ODF(weights,Eulers,N=500,degrees=True,fractions=True,seed=None): + """ + Sample discrete orientations from a binned ODF. + + References + ---------- + P. Eisenlohr, F. Roters, Computational Materials Science 42(4), 670-678, 2008 + https://doi.org/10.1016/j.commatsci.2007.09.015 + + Parameters + ---------- + fname : file, str, or pathlib.Path + ODF file containing normalized probability (labeled 'intensity') + on a grid in Euler space (labeled 'euler'). + N : integer, optional + Number of discrete orientations to be sampled from the given ODF. + Defaults to 500. + degrees : boolean, optional + Euler grid values are in degrees. Defaults to True. + fractions : boolean, optional + ODF values correspond to volume fractions, not probability density. + Defaults to True. + seed: {None, int, array_like[ints], SeedSequence, BitGenerator, Generator}, optional + A seed to initialize the BitGenerator. Defaults to None, i.e. unpredictable entropy + will be pulled from the OS. + + Notes + ----- + Explain here the different things that need to be considered + + """ + def _dg(eu,deg): + """Return infinitesimal Euler space volume of bin(s).""" + Eulers_sorted = eu[np.lexsort((eu[:,0],eu[:,1],eu[:,2]))] + steps,size,_ = grid_filters.cell_coord0_gridSizeOrigin(Eulers_sorted) + delta = np.radians(size/steps) if deg else size/steps + return delta[0]*2.0*np.sin(delta[1]/2.0)*delta[2] / 8.0 / np.pi**2 * np.sin(np.radians(eu[:,1]) if deg else eu[:,1]) + + dg = 1.0 if fractions else _dg(Eulers,degrees) + dV_V = dg * np.maximum(0.0,weights.squeeze()) + orientations = Rotation.from_Eulers(Eulers[util.hybrid_IA(dV_V,N,seed)],degrees) + + return orientations + + @staticmethod def from_spherical_component(center,sigma,N=500,degrees=True,seed=None): """ diff --git a/python/tests/reference/Rotation/ODF_experimental.odf b/python/tests/reference/Rotation/ODF_experimental.odf new file mode 100644 index 000000000..5a56fe04f --- /dev/null +++ b/python/tests/reference/Rotation/ODF_experimental.odf @@ -0,0 +1,1524 @@ +MPIE Aluminum + 0.MODEL MINI 2 4 1 DATE 25:05:20 TIME 13:36:30 LACT= 22 +EXPERIMENTAL ODF 99 5 1PHI2 LEVELS: 2. 4. 7. 12. 20. 30. 40. 50. 60. 70. +MPIE Aluminum N........ EVEN(EXP) C-COEFFICIENTS C1=1.0000 LMAX= 22 + + 0.0 DEGREE - PHI2-SECTION ( FMAX ABS = 3.88 FMAX-I = 3.88 ) PHI2 = 0. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 0.0 + 2.5 2.31 2.24 2.07 1.83 1.57 1.33 1.10 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.87 1.08 1.31 1.54 1.78 2.00 2.16 2.22 2.16 2.00 1.78 1.54 1.31 1.08 0.87 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.10 1.33 1.57 1.83 2.07 2.24 2.31 2.24 2.07 1.83 1.57 1.33 1.10 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.87 1.08 1.31 1.54 1.78 2.00 2.16 2.22 2.16 2.00 1.78 1.54 1.31 1.08 0.87 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.10 1.33 1.57 1.83 2.07 2.24 2.31 2.5 + 5.0 2.47 2.40 2.18 1.89 1.58 1.30 1.05 0.82 0.60 0.42 0.30 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.45 0.48 0.44 0.42 0.46 0.56 0.74 0.96 1.21 1.46 1.71 1.94 2.09 2.14 2.09 1.94 1.71 1.46 1.21 0.96 0.74 0.56 0.46 0.42 0.44 0.48 0.45 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.30 0.42 0.60 0.82 1.05 1.30 1.58 1.89 2.18 2.40 2.47 2.40 2.18 1.89 1.58 1.30 1.05 0.82 0.60 0.42 0.30 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.45 0.48 0.44 0.42 0.46 0.56 0.74 0.96 1.21 1.46 1.71 1.94 2.09 2.14 2.09 1.94 1.71 1.46 1.21 0.96 0.74 0.56 0.46 0.42 0.44 0.48 0.45 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.30 0.42 0.60 0.82 1.05 1.30 1.58 1.89 2.18 2.40 2.47 5.0 + 7.5 2.60 2.50 2.24 1.89 1.53 1.20 0.93 0.70 0.49 0.31 0.17 0.12 0.14 0.20 0.23 0.19 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.46 0.40 0.32 0.28 0.33 0.49 0.72 0.99 1.27 1.53 1.75 1.88 1.93 1.88 1.75 1.53 1.27 0.99 0.72 0.49 0.33 0.28 0.32 0.40 0.46 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.19 0.23 0.20 0.14 0.12 0.17 0.31 0.49 0.70 0.93 1.20 1.53 1.89 2.24 2.50 2.60 2.50 2.24 1.89 1.53 1.20 0.93 0.70 0.49 0.31 0.17 0.12 0.14 0.20 0.23 0.19 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.46 0.40 0.32 0.28 0.33 0.49 0.72 0.99 1.27 1.53 1.75 1.88 1.93 1.88 1.75 1.53 1.27 0.99 0.72 0.49 0.33 0.28 0.32 0.40 0.46 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.19 0.23 0.20 0.14 0.12 0.17 0.31 0.49 0.70 0.93 1.20 1.53 1.89 2.24 2.50 2.60 7.5 + 10.0 2.57 2.46 2.17 1.77 1.36 1.02 0.76 0.55 0.37 0.19 0.05 0.00 0.00 0.06 0.15 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.33 0.25 0.11 0.01 0.00 0.13 0.37 0.67 0.97 1.23 1.42 1.53 1.57 1.53 1.42 1.23 0.97 0.67 0.37 0.13 0.00 0.01 0.11 0.25 0.33 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.17 0.15 0.06 0.00 0.00 0.05 0.19 0.37 0.55 0.76 1.02 1.36 1.77 2.17 2.46 2.57 2.46 2.17 1.77 1.36 1.02 0.76 0.55 0.37 0.19 0.05 0.00 0.00 0.06 0.15 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.33 0.25 0.11 0.01 0.00 0.13 0.37 0.67 0.97 1.23 1.42 1.53 1.57 1.53 1.42 1.23 0.97 0.67 0.37 0.13 0.00 0.01 0.11 0.25 0.33 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.17 0.15 0.06 0.00 0.00 0.05 0.19 0.37 0.55 0.76 1.02 1.36 1.77 2.17 2.46 2.57 10.0 + 12.5 2.40 2.28 1.96 1.53 1.11 0.78 0.56 0.41 0.28 0.13 0.00 0.00 0.00 0.00 0.02 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.03 0.34 0.65 0.89 1.05 1.13 1.15 1.13 1.05 0.89 0.65 0.34 0.03 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.02 0.00 0.00 0.00 0.00 0.13 0.28 0.41 0.56 0.78 1.11 1.53 1.96 2.28 2.40 2.28 1.96 1.53 1.11 0.78 0.56 0.41 0.28 0.13 0.00 0.00 0.00 0.00 0.02 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.03 0.34 0.65 0.89 1.05 1.13 1.15 1.13 1.05 0.89 0.65 0.34 0.03 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.02 0.00 0.00 0.00 0.00 0.13 0.28 0.41 0.56 0.78 1.11 1.53 1.96 2.28 2.40 12.5 + 15.0 2.19 2.07 1.73 1.29 0.87 0.58 0.42 0.34 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.47 0.68 0.79 0.83 0.84 0.83 0.79 0.68 0.47 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.34 0.42 0.58 0.87 1.29 1.73 2.07 2.19 2.07 1.73 1.29 0.87 0.58 0.42 0.34 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.47 0.68 0.79 0.83 0.84 0.83 0.79 0.68 0.47 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.34 0.42 0.58 0.87 1.29 1.73 2.07 2.19 15.0 + 17.5 2.10 1.96 1.61 1.17 0.76 0.50 0.39 0.37 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.24 0.53 0.70 0.77 0.78 0.77 0.78 0.77 0.70 0.53 0.24 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.37 0.39 0.50 0.76 1.17 1.61 1.96 2.10 1.96 1.61 1.17 0.76 0.50 0.39 0.37 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.24 0.53 0.70 0.77 0.78 0.77 0.78 0.77 0.70 0.53 0.24 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.37 0.39 0.50 0.76 1.17 1.61 1.96 2.10 17.5 + 20.0 2.19 2.05 1.69 1.24 0.84 0.59 0.52 0.54 0.55 0.46 0.28 0.09 0.00 0.02 0.15 0.27 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.34 0.51 0.46 0.24 0.00 0.00 0.00 0.22 0.53 0.80 0.95 0.99 0.97 0.96 0.97 0.99 0.95 0.80 0.53 0.22 0.00 0.00 0.00 0.24 0.46 0.51 0.34 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.27 0.15 0.02 0.00 0.09 0.28 0.46 0.55 0.54 0.52 0.59 0.84 1.24 1.69 2.05 2.19 2.05 1.69 1.24 0.84 0.59 0.52 0.54 0.55 0.46 0.28 0.09 0.00 0.02 0.15 0.27 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.34 0.51 0.46 0.24 0.00 0.00 0.00 0.22 0.53 0.80 0.95 0.99 0.97 0.96 0.97 0.99 0.95 0.80 0.53 0.22 0.00 0.00 0.00 0.24 0.46 0.51 0.34 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.27 0.15 0.02 0.00 0.09 0.28 0.46 0.55 0.54 0.52 0.59 0.84 1.24 1.69 2.05 2.19 20.0 + 22.5 2.42 2.28 1.91 1.45 1.05 0.82 0.77 0.80 0.81 0.71 0.52 0.31 0.22 0.28 0.45 0.62 0.65 0.49 0.21 0.00 0.00 0.12 0.46 0.78 0.93 0.85 0.61 0.34 0.22 0.30 0.55 0.86 1.12 1.25 1.28 1.24 1.22 1.24 1.28 1.25 1.12 0.86 0.55 0.30 0.22 0.34 0.61 0.85 0.93 0.78 0.46 0.12 0.00 0.00 0.21 0.49 0.65 0.62 0.45 0.28 0.22 0.31 0.52 0.71 0.81 0.80 0.77 0.82 1.05 1.45 1.91 2.28 2.42 2.28 1.91 1.45 1.05 0.82 0.77 0.80 0.81 0.71 0.52 0.31 0.22 0.28 0.45 0.62 0.65 0.49 0.21 0.00 0.00 0.12 0.46 0.78 0.93 0.85 0.61 0.34 0.22 0.30 0.55 0.86 1.12 1.25 1.28 1.24 1.22 1.24 1.28 1.25 1.12 0.86 0.55 0.30 0.22 0.34 0.61 0.85 0.93 0.78 0.46 0.12 0.00 0.00 0.21 0.49 0.65 0.62 0.45 0.28 0.22 0.31 0.52 0.71 0.81 0.80 0.77 0.82 1.05 1.45 1.91 2.28 2.42 22.5 + 25.0 2.64 2.50 2.12 1.67 1.28 1.08 1.05 1.09 1.09 0.97 0.76 0.55 0.47 0.57 0.80 1.00 1.04 0.87 0.58 0.33 0.27 0.44 0.76 1.06 1.17 1.04 0.77 0.49 0.36 0.44 0.68 0.99 1.23 1.36 1.38 1.34 1.32 1.34 1.38 1.36 1.23 0.99 0.68 0.44 0.36 0.49 0.77 1.04 1.17 1.06 0.76 0.44 0.27 0.33 0.58 0.87 1.04 1.00 0.80 0.57 0.47 0.55 0.76 0.97 1.09 1.09 1.05 1.08 1.28 1.67 2.12 2.50 2.64 2.50 2.12 1.67 1.28 1.08 1.05 1.09 1.09 0.97 0.76 0.55 0.47 0.57 0.80 1.00 1.04 0.87 0.58 0.33 0.27 0.44 0.76 1.06 1.17 1.04 0.77 0.49 0.36 0.44 0.68 0.99 1.23 1.36 1.38 1.34 1.32 1.34 1.38 1.36 1.23 0.99 0.68 0.44 0.36 0.49 0.77 1.04 1.17 1.06 0.76 0.44 0.27 0.33 0.58 0.87 1.04 1.00 0.80 0.57 0.47 0.55 0.76 0.97 1.09 1.09 1.05 1.08 1.28 1.67 2.12 2.50 2.64 25.0 + 27.5 2.67 2.53 2.17 1.74 1.40 1.24 1.26 1.33 1.33 1.20 0.97 0.77 0.72 0.87 1.12 1.32 1.33 1.09 0.73 0.42 0.31 0.45 0.74 0.99 1.05 0.89 0.58 0.29 0.17 0.25 0.50 0.79 1.02 1.14 1.15 1.11 1.09 1.11 1.15 1.14 1.02 0.79 0.50 0.25 0.17 0.29 0.58 0.89 1.05 0.99 0.74 0.45 0.31 0.42 0.73 1.09 1.33 1.32 1.12 0.87 0.72 0.77 0.97 1.20 1.33 1.33 1.26 1.24 1.40 1.74 2.17 2.53 2.67 2.53 2.17 1.74 1.40 1.24 1.26 1.33 1.33 1.20 0.97 0.77 0.72 0.87 1.12 1.32 1.33 1.09 0.73 0.42 0.31 0.45 0.74 0.99 1.05 0.89 0.58 0.29 0.17 0.25 0.50 0.79 1.02 1.14 1.15 1.11 1.09 1.11 1.15 1.14 1.02 0.79 0.50 0.25 0.17 0.29 0.58 0.89 1.05 0.99 0.74 0.45 0.31 0.42 0.73 1.09 1.33 1.32 1.12 0.87 0.72 0.77 0.97 1.20 1.33 1.33 1.26 1.24 1.40 1.74 2.17 2.53 2.67 27.5 + 30.0 2.47 2.33 1.99 1.60 1.32 1.24 1.33 1.45 1.47 1.35 1.13 0.96 0.97 1.15 1.42 1.58 1.49 1.13 0.64 0.22 0.04 0.14 0.39 0.61 0.63 0.43 0.11 0.00 0.00 0.00 0.07 0.34 0.55 0.63 0.62 0.58 0.55 0.58 0.62 0.63 0.55 0.34 0.07 0.00 0.00 0.00 0.11 0.43 0.63 0.61 0.39 0.14 0.04 0.22 0.64 1.13 1.49 1.58 1.42 1.15 0.97 0.96 1.13 1.35 1.47 1.45 1.33 1.24 1.32 1.60 1.99 2.33 2.47 2.33 1.99 1.60 1.32 1.24 1.33 1.45 1.47 1.35 1.13 0.96 0.97 1.15 1.42 1.58 1.49 1.13 0.64 0.22 0.04 0.14 0.39 0.61 0.63 0.43 0.11 0.00 0.00 0.00 0.07 0.34 0.55 0.63 0.62 0.58 0.55 0.58 0.62 0.63 0.55 0.34 0.07 0.00 0.00 0.00 0.11 0.43 0.63 0.61 0.39 0.14 0.04 0.22 0.64 1.13 1.49 1.58 1.42 1.15 0.97 0.96 1.13 1.35 1.47 1.45 1.33 1.24 1.32 1.60 1.99 2.33 2.47 30.0 + 32.5 2.08 1.95 1.63 1.28 1.07 1.07 1.24 1.43 1.51 1.43 1.26 1.15 1.23 1.48 1.75 1.85 1.63 1.10 0.44 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.44 1.10 1.63 1.85 1.75 1.48 1.23 1.15 1.26 1.43 1.51 1.43 1.24 1.07 1.07 1.28 1.63 1.95 2.08 1.95 1.63 1.28 1.07 1.07 1.24 1.43 1.51 1.43 1.26 1.15 1.23 1.48 1.75 1.85 1.63 1.10 0.44 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.44 1.10 1.63 1.85 1.75 1.48 1.23 1.15 1.26 1.43 1.51 1.43 1.24 1.07 1.07 1.28 1.63 1.95 2.08 32.5 + 35.0 1.67 1.54 1.22 0.89 0.72 0.79 1.04 1.31 1.46 1.44 1.35 1.35 1.54 1.87 2.18 2.22 1.86 1.17 0.34 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 1.17 1.86 2.22 2.18 1.87 1.54 1.35 1.35 1.44 1.46 1.31 1.04 0.79 0.72 0.89 1.22 1.54 1.67 1.54 1.22 0.89 0.72 0.79 1.04 1.31 1.46 1.44 1.35 1.35 1.54 1.87 2.18 2.22 1.86 1.17 0.34 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 1.17 1.86 2.22 2.18 1.87 1.54 1.35 1.35 1.44 1.46 1.31 1.04 0.79 0.72 0.89 1.22 1.54 1.67 35.0 + 37.5 1.37 1.23 0.90 0.55 0.39 0.50 0.80 1.13 1.35 1.42 1.44 1.57 1.89 2.34 2.70 2.72 2.27 1.43 0.48 0.00 0.00 0.00 0.00 0.02 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.00 0.00 0.00 0.00 0.48 1.43 2.27 2.72 2.70 2.34 1.89 1.57 1.44 1.42 1.35 1.13 0.80 0.50 0.39 0.55 0.90 1.23 1.37 1.23 0.90 0.55 0.39 0.50 0.80 1.13 1.35 1.42 1.44 1.57 1.89 2.34 2.70 2.72 2.27 1.43 0.48 0.00 0.00 0.00 0.00 0.02 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.00 0.00 0.00 0.00 0.48 1.43 2.27 2.72 2.70 2.34 1.89 1.57 1.44 1.42 1.35 1.13 0.80 0.50 0.39 0.55 0.90 1.23 1.37 37.5 + 40.0 1.24 1.09 0.72 0.34 0.15 0.26 0.58 0.95 1.23 1.38 1.51 1.78 2.25 2.82 3.24 3.27 2.76 1.84 0.82 0.04 0.00 0.00 0.18 0.46 0.49 0.29 0.00 0.00 0.00 0.03 0.31 0.50 0.51 0.35 0.11 0.00 0.00 0.00 0.11 0.35 0.51 0.50 0.31 0.03 0.00 0.00 0.00 0.29 0.49 0.46 0.18 0.00 0.00 0.04 0.82 1.84 2.76 3.27 3.24 2.82 2.25 1.78 1.51 1.38 1.23 0.95 0.58 0.26 0.15 0.34 0.72 1.09 1.24 1.09 0.72 0.34 0.15 0.26 0.58 0.95 1.23 1.38 1.51 1.78 2.25 2.82 3.24 3.27 2.76 1.84 0.82 0.04 0.00 0.00 0.18 0.46 0.49 0.29 0.00 0.00 0.00 0.03 0.31 0.50 0.51 0.35 0.11 0.00 0.00 0.00 0.11 0.35 0.51 0.50 0.31 0.03 0.00 0.00 0.00 0.29 0.49 0.46 0.18 0.00 0.00 0.04 0.82 1.84 2.76 3.27 3.24 2.82 2.25 1.78 1.51 1.38 1.23 0.95 0.58 0.26 0.15 0.34 0.72 1.09 1.24 40.0 + 42.5 1.23 1.06 0.66 0.24 0.02 0.11 0.44 0.83 1.15 1.36 1.57 1.93 2.51 3.17 3.67 3.71 3.18 2.23 1.17 0.37 0.07 0.23 0.61 0.92 0.98 0.78 0.49 0.31 0.35 0.58 0.86 1.03 1.01 0.81 0.52 0.27 0.18 0.27 0.52 0.81 1.01 1.03 0.86 0.58 0.35 0.31 0.49 0.78 0.98 0.92 0.61 0.23 0.07 0.37 1.17 2.23 3.18 3.71 3.67 3.17 2.51 1.93 1.57 1.36 1.15 0.83 0.44 0.11 0.02 0.24 0.66 1.06 1.23 1.06 0.66 0.24 0.02 0.11 0.44 0.83 1.15 1.36 1.57 1.93 2.51 3.17 3.67 3.71 3.18 2.23 1.17 0.37 0.07 0.23 0.61 0.92 0.98 0.78 0.49 0.31 0.35 0.58 0.86 1.03 1.01 0.81 0.52 0.27 0.18 0.27 0.52 0.81 1.01 1.03 0.86 0.58 0.35 0.31 0.49 0.78 0.98 0.92 0.61 0.23 0.07 0.37 1.17 2.23 3.18 3.71 3.67 3.17 2.51 1.93 1.57 1.36 1.15 0.83 0.44 0.11 0.02 0.24 0.66 1.06 1.23 42.5 + 45.0 1.23 1.06 0.65 0.21 0.00 0.06 0.39 0.79 1.11 1.35 1.59 1.99 2.61 3.31 3.82 3.88 3.35 2.38 1.31 0.52 0.22 0.40 0.80 1.12 1.18 0.98 0.70 0.52 0.56 0.80 1.08 1.26 1.22 1.00 0.69 0.44 0.34 0.44 0.69 1.00 1.22 1.26 1.08 0.80 0.56 0.52 0.70 0.98 1.18 1.12 0.80 0.40 0.22 0.52 1.31 2.38 3.35 3.88 3.82 3.31 2.61 1.99 1.59 1.35 1.11 0.79 0.39 0.06 0.00 0.21 0.65 1.06 1.23 1.06 0.65 0.21 0.00 0.06 0.39 0.79 1.11 1.35 1.59 1.99 2.61 3.31 3.82 3.88 3.35 2.38 1.31 0.52 0.22 0.40 0.80 1.12 1.18 0.98 0.70 0.52 0.56 0.80 1.08 1.26 1.22 1.00 0.69 0.44 0.34 0.44 0.69 1.00 1.22 1.26 1.08 0.80 0.56 0.52 0.70 0.98 1.18 1.12 0.80 0.40 0.22 0.52 1.31 2.38 3.35 3.88 3.82 3.31 2.61 1.99 1.59 1.35 1.11 0.79 0.39 0.06 0.00 0.21 0.65 1.06 1.23 45.0 + 47.5 1.23 1.06 0.66 0.24 0.02 0.11 0.44 0.83 1.15 1.36 1.57 1.93 2.51 3.17 3.67 3.71 3.18 2.23 1.17 0.37 0.07 0.23 0.61 0.92 0.98 0.78 0.49 0.31 0.35 0.58 0.86 1.03 1.01 0.81 0.52 0.27 0.18 0.27 0.52 0.81 1.01 1.03 0.86 0.58 0.35 0.31 0.49 0.78 0.98 0.92 0.61 0.23 0.07 0.37 1.17 2.23 3.18 3.71 3.67 3.17 2.51 1.93 1.57 1.36 1.15 0.83 0.44 0.11 0.02 0.24 0.66 1.06 1.23 1.06 0.66 0.24 0.02 0.11 0.44 0.83 1.15 1.36 1.57 1.93 2.51 3.17 3.67 3.71 3.18 2.23 1.17 0.37 0.07 0.23 0.61 0.92 0.98 0.78 0.49 0.31 0.35 0.58 0.86 1.03 1.01 0.81 0.52 0.27 0.18 0.27 0.52 0.81 1.01 1.03 0.86 0.58 0.35 0.31 0.49 0.78 0.98 0.92 0.61 0.23 0.07 0.37 1.17 2.23 3.18 3.71 3.67 3.17 2.51 1.93 1.57 1.36 1.15 0.83 0.44 0.11 0.02 0.24 0.66 1.06 1.23 47.5 + 50.0 1.24 1.09 0.72 0.34 0.15 0.26 0.58 0.95 1.23 1.38 1.51 1.78 2.25 2.82 3.24 3.27 2.76 1.84 0.82 0.04 0.00 0.00 0.18 0.46 0.49 0.29 0.00 0.00 0.00 0.03 0.31 0.50 0.51 0.35 0.11 0.00 0.00 0.00 0.11 0.35 0.51 0.50 0.31 0.03 0.00 0.00 0.00 0.29 0.49 0.46 0.18 0.00 0.00 0.04 0.82 1.84 2.76 3.27 3.24 2.82 2.25 1.78 1.51 1.38 1.23 0.95 0.58 0.26 0.15 0.34 0.72 1.09 1.24 1.09 0.72 0.34 0.15 0.26 0.58 0.95 1.23 1.38 1.51 1.78 2.25 2.82 3.24 3.27 2.76 1.84 0.82 0.04 0.00 0.00 0.18 0.46 0.49 0.29 0.00 0.00 0.00 0.03 0.31 0.50 0.51 0.35 0.11 0.00 0.00 0.00 0.11 0.35 0.51 0.50 0.31 0.03 0.00 0.00 0.00 0.29 0.49 0.46 0.18 0.00 0.00 0.04 0.82 1.84 2.76 3.27 3.24 2.82 2.25 1.78 1.51 1.38 1.23 0.95 0.58 0.26 0.15 0.34 0.72 1.09 1.24 50.0 + 52.5 1.37 1.23 0.90 0.55 0.39 0.50 0.80 1.13 1.35 1.42 1.44 1.57 1.89 2.34 2.70 2.72 2.27 1.43 0.48 0.00 0.00 0.00 0.00 0.02 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.00 0.00 0.00 0.00 0.48 1.43 2.27 2.72 2.70 2.34 1.89 1.57 1.44 1.42 1.35 1.13 0.80 0.50 0.39 0.55 0.90 1.23 1.37 1.23 0.90 0.55 0.39 0.50 0.80 1.13 1.35 1.42 1.44 1.57 1.89 2.34 2.70 2.72 2.27 1.43 0.48 0.00 0.00 0.00 0.00 0.02 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.00 0.00 0.00 0.00 0.48 1.43 2.27 2.72 2.70 2.34 1.89 1.57 1.44 1.42 1.35 1.13 0.80 0.50 0.39 0.55 0.90 1.23 1.37 52.5 + 55.0 1.67 1.54 1.22 0.89 0.72 0.79 1.04 1.31 1.46 1.44 1.35 1.35 1.54 1.87 2.18 2.22 1.86 1.17 0.34 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 1.17 1.86 2.22 2.18 1.87 1.54 1.35 1.35 1.44 1.46 1.31 1.04 0.79 0.72 0.89 1.22 1.54 1.67 1.54 1.22 0.89 0.72 0.79 1.04 1.31 1.46 1.44 1.35 1.35 1.54 1.87 2.18 2.22 1.86 1.17 0.34 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 1.17 1.86 2.22 2.18 1.87 1.54 1.35 1.35 1.44 1.46 1.31 1.04 0.79 0.72 0.89 1.22 1.54 1.67 55.0 + 57.5 2.08 1.95 1.63 1.28 1.07 1.07 1.24 1.43 1.51 1.43 1.26 1.15 1.23 1.48 1.75 1.85 1.63 1.10 0.44 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.44 1.10 1.63 1.85 1.75 1.48 1.23 1.15 1.26 1.43 1.51 1.43 1.24 1.07 1.07 1.28 1.63 1.95 2.08 1.95 1.63 1.28 1.07 1.07 1.24 1.43 1.51 1.43 1.26 1.15 1.23 1.48 1.75 1.85 1.63 1.10 0.44 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.44 1.10 1.63 1.85 1.75 1.48 1.23 1.15 1.26 1.43 1.51 1.43 1.24 1.07 1.07 1.28 1.63 1.95 2.08 57.5 + 60.0 2.47 2.33 1.99 1.60 1.32 1.24 1.33 1.45 1.47 1.35 1.13 0.96 0.97 1.15 1.42 1.58 1.49 1.13 0.64 0.22 0.04 0.14 0.39 0.61 0.63 0.43 0.11 0.00 0.00 0.00 0.07 0.34 0.55 0.63 0.62 0.58 0.55 0.58 0.62 0.63 0.55 0.34 0.07 0.00 0.00 0.00 0.11 0.43 0.63 0.61 0.39 0.14 0.04 0.22 0.64 1.13 1.49 1.58 1.42 1.15 0.97 0.96 1.13 1.35 1.47 1.45 1.33 1.24 1.32 1.60 1.99 2.33 2.47 2.33 1.99 1.60 1.32 1.24 1.33 1.45 1.47 1.35 1.13 0.96 0.97 1.15 1.42 1.58 1.49 1.13 0.64 0.22 0.04 0.14 0.39 0.61 0.63 0.43 0.11 0.00 0.00 0.00 0.07 0.34 0.55 0.63 0.62 0.58 0.55 0.58 0.62 0.63 0.55 0.34 0.07 0.00 0.00 0.00 0.11 0.43 0.63 0.61 0.39 0.14 0.04 0.22 0.64 1.13 1.49 1.58 1.42 1.15 0.97 0.96 1.13 1.35 1.47 1.45 1.33 1.24 1.32 1.60 1.99 2.33 2.47 60.0 + 62.5 2.67 2.53 2.17 1.74 1.40 1.24 1.26 1.33 1.33 1.20 0.97 0.77 0.72 0.87 1.12 1.32 1.33 1.09 0.73 0.42 0.31 0.45 0.74 0.99 1.05 0.89 0.58 0.29 0.17 0.25 0.50 0.79 1.02 1.14 1.15 1.11 1.09 1.11 1.15 1.14 1.02 0.79 0.50 0.25 0.17 0.29 0.58 0.89 1.05 0.99 0.74 0.45 0.31 0.42 0.73 1.09 1.33 1.32 1.12 0.87 0.72 0.77 0.97 1.20 1.33 1.33 1.26 1.24 1.40 1.74 2.17 2.53 2.67 2.53 2.17 1.74 1.40 1.24 1.26 1.33 1.33 1.20 0.97 0.77 0.72 0.87 1.12 1.32 1.33 1.09 0.73 0.42 0.31 0.45 0.74 0.99 1.05 0.89 0.58 0.29 0.17 0.25 0.50 0.79 1.02 1.14 1.15 1.11 1.09 1.11 1.15 1.14 1.02 0.79 0.50 0.25 0.17 0.29 0.58 0.89 1.05 0.99 0.74 0.45 0.31 0.42 0.73 1.09 1.33 1.32 1.12 0.87 0.72 0.77 0.97 1.20 1.33 1.33 1.26 1.24 1.40 1.74 2.17 2.53 2.67 62.5 + 65.0 2.64 2.50 2.12 1.67 1.28 1.08 1.05 1.09 1.09 0.97 0.76 0.55 0.47 0.57 0.80 1.00 1.04 0.87 0.58 0.33 0.27 0.44 0.76 1.06 1.17 1.04 0.77 0.49 0.36 0.44 0.68 0.99 1.23 1.36 1.38 1.34 1.32 1.34 1.38 1.36 1.23 0.99 0.68 0.44 0.36 0.49 0.77 1.04 1.17 1.06 0.76 0.44 0.27 0.33 0.58 0.87 1.04 1.00 0.80 0.57 0.47 0.55 0.76 0.97 1.09 1.09 1.05 1.08 1.28 1.67 2.12 2.50 2.64 2.50 2.12 1.67 1.28 1.08 1.05 1.09 1.09 0.97 0.76 0.55 0.47 0.57 0.80 1.00 1.04 0.87 0.58 0.33 0.27 0.44 0.76 1.06 1.17 1.04 0.77 0.49 0.36 0.44 0.68 0.99 1.23 1.36 1.38 1.34 1.32 1.34 1.38 1.36 1.23 0.99 0.68 0.44 0.36 0.49 0.77 1.04 1.17 1.06 0.76 0.44 0.27 0.33 0.58 0.87 1.04 1.00 0.80 0.57 0.47 0.55 0.76 0.97 1.09 1.09 1.05 1.08 1.28 1.67 2.12 2.50 2.64 65.0 + 67.5 2.42 2.28 1.91 1.45 1.05 0.82 0.77 0.80 0.81 0.71 0.52 0.31 0.22 0.28 0.45 0.62 0.65 0.49 0.21 0.00 0.00 0.12 0.46 0.78 0.93 0.85 0.61 0.34 0.22 0.30 0.55 0.86 1.12 1.25 1.28 1.24 1.22 1.24 1.28 1.25 1.12 0.86 0.55 0.30 0.22 0.34 0.61 0.85 0.93 0.78 0.46 0.12 0.00 0.00 0.21 0.49 0.65 0.62 0.45 0.28 0.22 0.31 0.52 0.71 0.81 0.80 0.77 0.82 1.05 1.45 1.91 2.28 2.42 2.28 1.91 1.45 1.05 0.82 0.77 0.80 0.81 0.71 0.52 0.31 0.22 0.28 0.45 0.62 0.65 0.49 0.21 0.00 0.00 0.12 0.46 0.78 0.93 0.85 0.61 0.34 0.22 0.30 0.55 0.86 1.12 1.25 1.28 1.24 1.22 1.24 1.28 1.25 1.12 0.86 0.55 0.30 0.22 0.34 0.61 0.85 0.93 0.78 0.46 0.12 0.00 0.00 0.21 0.49 0.65 0.62 0.45 0.28 0.22 0.31 0.52 0.71 0.81 0.80 0.77 0.82 1.05 1.45 1.91 2.28 2.42 67.5 + 70.0 2.19 2.05 1.69 1.24 0.84 0.59 0.52 0.54 0.55 0.46 0.28 0.09 0.00 0.02 0.15 0.27 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.34 0.51 0.46 0.24 0.00 0.00 0.00 0.22 0.53 0.80 0.95 0.99 0.97 0.96 0.97 0.99 0.95 0.80 0.53 0.22 0.00 0.00 0.00 0.24 0.46 0.51 0.34 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.27 0.15 0.02 0.00 0.09 0.28 0.46 0.55 0.54 0.52 0.59 0.84 1.24 1.69 2.05 2.19 2.05 1.69 1.24 0.84 0.59 0.52 0.54 0.55 0.46 0.28 0.09 0.00 0.02 0.15 0.27 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.34 0.51 0.46 0.24 0.00 0.00 0.00 0.22 0.53 0.80 0.95 0.99 0.97 0.96 0.97 0.99 0.95 0.80 0.53 0.22 0.00 0.00 0.00 0.24 0.46 0.51 0.34 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.27 0.15 0.02 0.00 0.09 0.28 0.46 0.55 0.54 0.52 0.59 0.84 1.24 1.69 2.05 2.19 70.0 + 72.5 2.10 1.96 1.61 1.17 0.76 0.50 0.39 0.37 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.24 0.53 0.70 0.77 0.78 0.77 0.78 0.77 0.70 0.53 0.24 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.37 0.39 0.50 0.76 1.17 1.61 1.96 2.10 1.96 1.61 1.17 0.76 0.50 0.39 0.37 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.24 0.53 0.70 0.77 0.78 0.77 0.78 0.77 0.70 0.53 0.24 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.37 0.39 0.50 0.76 1.17 1.61 1.96 2.10 72.5 + 75.0 2.19 2.07 1.73 1.29 0.87 0.58 0.42 0.34 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.47 0.68 0.79 0.83 0.84 0.83 0.79 0.68 0.47 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.34 0.42 0.58 0.87 1.29 1.73 2.07 2.19 2.07 1.73 1.29 0.87 0.58 0.42 0.34 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.47 0.68 0.79 0.83 0.84 0.83 0.79 0.68 0.47 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.34 0.42 0.58 0.87 1.29 1.73 2.07 2.19 75.0 + 77.5 2.40 2.28 1.96 1.53 1.11 0.78 0.56 0.41 0.28 0.13 0.00 0.00 0.00 0.00 0.02 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.03 0.34 0.65 0.89 1.05 1.13 1.15 1.13 1.05 0.89 0.65 0.34 0.03 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.02 0.00 0.00 0.00 0.00 0.13 0.28 0.41 0.56 0.78 1.11 1.53 1.96 2.28 2.40 2.28 1.96 1.53 1.11 0.78 0.56 0.41 0.28 0.13 0.00 0.00 0.00 0.00 0.02 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.03 0.34 0.65 0.89 1.05 1.13 1.15 1.13 1.05 0.89 0.65 0.34 0.03 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.02 0.00 0.00 0.00 0.00 0.13 0.28 0.41 0.56 0.78 1.11 1.53 1.96 2.28 2.40 77.5 + 80.0 2.57 2.46 2.17 1.77 1.36 1.02 0.76 0.55 0.37 0.19 0.05 0.00 0.00 0.06 0.15 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.33 0.25 0.11 0.01 0.00 0.13 0.37 0.67 0.97 1.23 1.42 1.53 1.57 1.53 1.42 1.23 0.97 0.67 0.37 0.13 0.00 0.01 0.11 0.25 0.33 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.17 0.15 0.06 0.00 0.00 0.05 0.19 0.37 0.55 0.76 1.02 1.36 1.77 2.17 2.46 2.57 2.46 2.17 1.77 1.36 1.02 0.76 0.55 0.37 0.19 0.05 0.00 0.00 0.06 0.15 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.33 0.25 0.11 0.01 0.00 0.13 0.37 0.67 0.97 1.23 1.42 1.53 1.57 1.53 1.42 1.23 0.97 0.67 0.37 0.13 0.00 0.01 0.11 0.25 0.33 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.17 0.15 0.06 0.00 0.00 0.05 0.19 0.37 0.55 0.76 1.02 1.36 1.77 2.17 2.46 2.57 80.0 + 82.5 2.60 2.50 2.24 1.89 1.53 1.20 0.93 0.70 0.49 0.31 0.17 0.12 0.14 0.20 0.23 0.19 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.46 0.40 0.32 0.28 0.33 0.49 0.72 0.99 1.27 1.53 1.75 1.88 1.93 1.88 1.75 1.53 1.27 0.99 0.72 0.49 0.33 0.28 0.32 0.40 0.46 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.19 0.23 0.20 0.14 0.12 0.17 0.31 0.49 0.70 0.93 1.20 1.53 1.89 2.24 2.50 2.60 2.50 2.24 1.89 1.53 1.20 0.93 0.70 0.49 0.31 0.17 0.12 0.14 0.20 0.23 0.19 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.46 0.40 0.32 0.28 0.33 0.49 0.72 0.99 1.27 1.53 1.75 1.88 1.93 1.88 1.75 1.53 1.27 0.99 0.72 0.49 0.33 0.28 0.32 0.40 0.46 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.19 0.23 0.20 0.14 0.12 0.17 0.31 0.49 0.70 0.93 1.20 1.53 1.89 2.24 2.50 2.60 82.5 + 85.0 2.47 2.40 2.18 1.89 1.58 1.30 1.05 0.82 0.60 0.42 0.30 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.45 0.48 0.44 0.42 0.46 0.56 0.74 0.96 1.21 1.46 1.71 1.94 2.09 2.14 2.09 1.94 1.71 1.46 1.21 0.96 0.74 0.56 0.46 0.42 0.44 0.48 0.45 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.30 0.42 0.60 0.82 1.05 1.30 1.58 1.89 2.18 2.40 2.47 2.40 2.18 1.89 1.58 1.30 1.05 0.82 0.60 0.42 0.30 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.45 0.48 0.44 0.42 0.46 0.56 0.74 0.96 1.21 1.46 1.71 1.94 2.09 2.14 2.09 1.94 1.71 1.46 1.21 0.96 0.74 0.56 0.46 0.42 0.44 0.48 0.45 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.30 0.42 0.60 0.82 1.05 1.30 1.58 1.89 2.18 2.40 2.47 85.0 + 87.5 2.31 2.24 2.07 1.83 1.57 1.33 1.10 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.87 1.08 1.31 1.54 1.78 2.00 2.16 2.22 2.16 2.00 1.78 1.54 1.31 1.08 0.87 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.10 1.33 1.57 1.83 2.07 2.24 2.31 2.24 2.07 1.83 1.57 1.33 1.10 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.87 1.08 1.31 1.54 1.78 2.00 2.16 2.22 2.16 2.00 1.78 1.54 1.31 1.08 0.87 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.10 1.33 1.57 1.83 2.07 2.24 2.31 87.5 + 90.0 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 90.0 + + 2.5 DEGREE - PHI2-SECTION ( FMAX ABS = 4.09 FMAX-I = 4.09 ) PHI2 = 3. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 0.0 + 2.5 2.24 2.07 1.82 1.57 1.33 1.10 0.88 0.68 0.51 0.39 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.07 0.27 0.38 0.41 0.41 0.43 0.52 0.67 0.87 1.08 1.30 1.54 1.78 2.00 2.16 2.22 2.17 2.01 1.79 1.55 1.31 1.09 0.88 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.11 1.33 1.58 1.83 2.07 2.25 2.31 2.24 2.07 1.82 1.57 1.33 1.10 0.88 0.68 0.51 0.39 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.07 0.27 0.38 0.41 0.41 0.43 0.52 0.67 0.87 1.08 1.30 1.54 1.78 2.00 2.16 2.22 2.17 2.01 1.79 1.55 1.31 1.09 0.88 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.11 1.33 1.58 1.83 2.07 2.25 2.31 2.24 2.5 + 5.0 2.39 2.17 1.88 1.57 1.28 1.03 0.80 0.59 0.41 0.29 0.25 0.26 0.29 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.46 0.48 0.44 0.41 0.45 0.55 0.73 0.95 1.19 1.45 1.70 1.93 2.08 2.15 2.10 1.95 1.73 1.48 1.22 0.98 0.75 0.58 0.47 0.43 0.45 0.48 0.45 0.33 0.13 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.31 0.44 0.62 0.83 1.07 1.32 1.60 1.91 2.19 2.40 2.47 2.39 2.17 1.88 1.57 1.28 1.03 0.80 0.59 0.41 0.29 0.25 0.26 0.29 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.46 0.48 0.44 0.41 0.45 0.55 0.73 0.95 1.19 1.45 1.70 1.93 2.08 2.15 2.10 1.95 1.73 1.48 1.22 0.98 0.75 0.58 0.47 0.43 0.45 0.48 0.45 0.33 0.13 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.31 0.44 0.62 0.83 1.07 1.32 1.60 1.91 2.19 2.40 2.47 2.39 5.0 + 7.5 2.49 2.22 1.86 1.49 1.16 0.89 0.66 0.45 0.27 0.15 0.10 0.12 0.19 0.23 0.20 0.08 0.00 0.00 0.00 0.00 0.12 0.32 0.45 0.46 0.40 0.31 0.27 0.32 0.47 0.70 0.97 1.25 1.51 1.73 1.88 1.94 1.90 1.77 1.56 1.30 1.02 0.74 0.51 0.36 0.30 0.33 0.41 0.47 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.20 0.24 0.21 0.16 0.14 0.21 0.34 0.53 0.74 0.97 1.25 1.57 1.93 2.27 2.52 2.60 2.49 2.22 1.86 1.49 1.16 0.89 0.66 0.45 0.27 0.15 0.10 0.12 0.19 0.23 0.20 0.08 0.00 0.00 0.00 0.00 0.12 0.32 0.45 0.46 0.40 0.31 0.27 0.32 0.47 0.70 0.97 1.25 1.51 1.73 1.88 1.94 1.90 1.77 1.56 1.30 1.02 0.74 0.51 0.36 0.30 0.33 0.41 0.47 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.20 0.24 0.21 0.16 0.14 0.21 0.34 0.53 0.74 0.97 1.25 1.57 1.93 2.27 2.52 2.60 2.49 7.5 + 10.0 2.44 2.12 1.71 1.30 0.95 0.69 0.48 0.30 0.13 0.00 0.00 0.00 0.04 0.13 0.15 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.32 0.24 0.10 0.00 0.00 0.11 0.35 0.64 0.94 1.20 1.40 1.53 1.58 1.55 1.45 1.26 1.01 0.70 0.40 0.16 0.03 0.03 0.13 0.26 0.34 0.30 0.14 0.00 0.00 0.00 0.00 0.00 0.11 0.19 0.18 0.10 0.04 0.03 0.12 0.27 0.44 0.63 0.84 1.10 1.43 1.83 2.21 2.49 2.58 2.44 2.12 1.71 1.30 0.95 0.69 0.48 0.30 0.13 0.00 0.00 0.00 0.04 0.13 0.15 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.32 0.24 0.10 0.00 0.00 0.11 0.35 0.64 0.94 1.20 1.40 1.53 1.58 1.55 1.45 1.26 1.01 0.70 0.40 0.16 0.03 0.03 0.13 0.26 0.34 0.30 0.14 0.00 0.00 0.00 0.00 0.00 0.11 0.19 0.18 0.10 0.04 0.03 0.12 0.27 0.44 0.63 0.84 1.10 1.43 1.83 2.21 2.49 2.58 2.44 10.0 + 12.5 2.25 1.90 1.45 1.02 0.68 0.46 0.31 0.18 0.04 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.12 0.04 0.00 0.00 0.00 0.00 0.01 0.32 0.63 0.87 1.03 1.12 1.16 1.15 1.08 0.93 0.69 0.38 0.06 0.00 0.00 0.00 0.00 0.08 0.15 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.13 0.09 0.00 0.00 0.00 0.08 0.24 0.40 0.53 0.68 0.90 1.22 1.62 2.02 2.32 2.40 2.25 1.90 1.45 1.02 0.68 0.46 0.31 0.18 0.04 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.12 0.04 0.00 0.00 0.00 0.00 0.01 0.32 0.63 0.87 1.03 1.12 1.16 1.15 1.08 0.93 0.69 0.38 0.06 0.00 0.00 0.00 0.00 0.08 0.15 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.13 0.09 0.00 0.00 0.00 0.08 0.24 0.40 0.53 0.68 0.90 1.22 1.62 2.02 2.32 2.40 2.25 12.5 + 15.0 2.03 1.66 1.19 0.76 0.45 0.28 0.19 0.13 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.45 0.66 0.77 0.82 0.85 0.85 0.82 0.71 0.50 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.09 0.04 0.00 0.00 0.00 0.13 0.30 0.42 0.50 0.58 0.73 1.01 1.40 1.80 2.11 2.19 2.03 1.66 1.19 0.76 0.45 0.28 0.19 0.13 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.45 0.66 0.77 0.82 0.85 0.85 0.82 0.71 0.50 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.09 0.04 0.00 0.00 0.00 0.13 0.30 0.42 0.50 0.58 0.73 1.01 1.40 1.80 2.11 2.19 2.03 15.0 + 17.5 1.92 1.54 1.06 0.63 0.34 0.22 0.20 0.19 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.09 0.00 0.00 0.00 0.00 0.00 0.23 0.51 0.68 0.76 0.77 0.78 0.80 0.80 0.74 0.56 0.28 0.00 0.00 0.00 0.00 0.00 0.13 0.19 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.14 0.08 0.00 0.00 0.06 0.25 0.43 0.54 0.57 0.58 0.68 0.91 1.28 1.69 2.00 2.09 1.92 1.54 1.06 0.63 0.34 0.22 0.20 0.19 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.09 0.00 0.00 0.00 0.00 0.00 0.23 0.51 0.68 0.76 0.77 0.78 0.80 0.80 0.74 0.56 0.28 0.00 0.00 0.00 0.00 0.00 0.13 0.19 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.14 0.08 0.00 0.00 0.06 0.25 0.43 0.54 0.57 0.58 0.68 0.91 1.28 1.69 2.00 2.09 1.92 17.5 + 20.0 2.01 1.61 1.12 0.69 0.42 0.33 0.35 0.36 0.30 0.15 0.00 0.00 0.00 0.10 0.23 0.24 0.07 0.00 0.00 0.00 0.00 0.00 0.32 0.50 0.46 0.25 0.01 0.00 0.00 0.20 0.51 0.78 0.93 0.98 0.97 0.96 0.99 1.02 0.98 0.83 0.56 0.24 0.00 0.00 0.00 0.24 0.46 0.53 0.37 0.05 0.00 0.00 0.00 0.00 0.10 0.30 0.34 0.24 0.12 0.10 0.22 0.43 0.63 0.74 0.75 0.72 0.78 0.99 1.34 1.76 2.08 2.18 2.01 1.61 1.12 0.69 0.42 0.33 0.35 0.36 0.30 0.15 0.00 0.00 0.00 0.10 0.23 0.24 0.07 0.00 0.00 0.00 0.00 0.00 0.32 0.50 0.46 0.25 0.01 0.00 0.00 0.20 0.51 0.78 0.93 0.98 0.97 0.96 0.99 1.02 0.98 0.83 0.56 0.24 0.00 0.00 0.00 0.24 0.46 0.53 0.37 0.05 0.00 0.00 0.00 0.00 0.10 0.30 0.34 0.24 0.12 0.10 0.22 0.43 0.63 0.74 0.75 0.72 0.78 0.99 1.34 1.76 2.08 2.18 2.01 20.0 + 22.5 2.23 1.84 1.34 0.90 0.64 0.56 0.60 0.63 0.57 0.41 0.23 0.15 0.23 0.42 0.61 0.67 0.53 0.26 0.02 0.00 0.12 0.45 0.78 0.95 0.88 0.64 0.38 0.24 0.30 0.53 0.83 1.09 1.23 1.26 1.24 1.23 1.26 1.29 1.28 1.14 0.89 0.57 0.31 0.21 0.32 0.57 0.82 0.91 0.78 0.46 0.12 0.00 0.00 0.18 0.46 0.64 0.64 0.50 0.34 0.30 0.41 0.64 0.86 0.99 1.01 0.97 1.00 1.19 1.54 1.95 2.28 2.40 2.23 1.84 1.34 0.90 0.64 0.56 0.60 0.63 0.57 0.41 0.23 0.15 0.23 0.42 0.61 0.67 0.53 0.26 0.02 0.00 0.12 0.45 0.78 0.95 0.88 0.64 0.38 0.24 0.30 0.53 0.83 1.09 1.23 1.26 1.24 1.23 1.26 1.29 1.28 1.14 0.89 0.57 0.31 0.21 0.32 0.57 0.82 0.91 0.78 0.46 0.12 0.00 0.00 0.18 0.46 0.64 0.64 0.50 0.34 0.30 0.41 0.64 0.86 0.99 1.01 0.97 1.00 1.19 1.54 1.95 2.28 2.40 2.23 22.5 + 25.0 2.45 2.06 1.57 1.15 0.90 0.85 0.90 0.93 0.86 0.68 0.50 0.43 0.54 0.79 1.02 1.10 0.97 0.69 0.42 0.33 0.48 0.79 1.09 1.22 1.12 0.84 0.55 0.39 0.45 0.67 0.96 1.21 1.34 1.37 1.34 1.33 1.35 1.39 1.38 1.26 1.01 0.70 0.44 0.33 0.43 0.69 0.97 1.11 1.02 0.74 0.41 0.22 0.25 0.49 0.79 0.99 0.99 0.83 0.63 0.53 0.62 0.85 1.10 1.25 1.28 1.24 1.25 1.40 1.73 2.14 2.48 2.61 2.45 2.06 1.57 1.15 0.90 0.85 0.90 0.93 0.86 0.68 0.50 0.43 0.54 0.79 1.02 1.10 0.97 0.69 0.42 0.33 0.48 0.79 1.09 1.22 1.12 0.84 0.55 0.39 0.45 0.67 0.96 1.21 1.34 1.37 1.34 1.33 1.35 1.39 1.38 1.26 1.01 0.70 0.44 0.33 0.43 0.69 0.97 1.11 1.02 0.74 0.41 0.22 0.25 0.49 0.79 0.99 0.99 0.83 0.63 0.53 0.62 0.85 1.10 1.25 1.28 1.24 1.25 1.40 1.73 2.14 2.48 2.61 2.45 25.0 + 27.5 2.51 2.14 1.67 1.29 1.08 1.07 1.15 1.19 1.11 0.92 0.74 0.69 0.83 1.10 1.34 1.40 1.21 0.87 0.54 0.40 0.51 0.78 1.05 1.13 0.99 0.69 0.38 0.22 0.27 0.49 0.77 1.01 1.13 1.15 1.12 1.10 1.12 1.15 1.15 1.05 0.82 0.53 0.26 0.14 0.23 0.49 0.79 0.98 0.94 0.71 0.42 0.26 0.33 0.63 1.01 1.28 1.33 1.18 0.95 0.81 0.85 1.05 1.30 1.47 1.50 1.44 1.40 1.50 1.78 2.17 2.50 2.64 2.51 2.14 1.67 1.29 1.08 1.07 1.15 1.19 1.11 0.92 0.74 0.69 0.83 1.10 1.34 1.40 1.21 0.87 0.54 0.40 0.51 0.78 1.05 1.13 0.99 0.69 0.38 0.22 0.27 0.49 0.77 1.01 1.13 1.15 1.12 1.10 1.12 1.15 1.15 1.05 0.82 0.53 0.26 0.14 0.23 0.49 0.79 0.98 0.94 0.71 0.42 0.26 0.33 0.63 1.01 1.28 1.33 1.18 0.95 0.81 0.85 1.05 1.30 1.47 1.50 1.44 1.40 1.50 1.78 2.17 2.50 2.64 2.51 27.5 + 30.0 2.33 1.99 1.57 1.24 1.11 1.17 1.30 1.37 1.29 1.10 0.92 0.90 1.06 1.34 1.55 1.53 1.23 0.77 0.34 0.12 0.18 0.42 0.65 0.71 0.54 0.23 0.00 0.00 0.00 0.05 0.32 0.53 0.63 0.64 0.59 0.57 0.59 0.63 0.65 0.59 0.40 0.13 0.00 0.00 0.00 0.04 0.36 0.58 0.60 0.42 0.17 0.04 0.18 0.58 1.09 1.51 1.67 1.57 1.32 1.12 1.09 1.23 1.46 1.61 1.62 1.51 1.39 1.42 1.63 1.97 2.30 2.44 2.33 1.99 1.57 1.24 1.11 1.17 1.30 1.37 1.29 1.10 0.92 0.90 1.06 1.34 1.55 1.53 1.23 0.77 0.34 0.12 0.18 0.42 0.65 0.71 0.54 0.23 0.00 0.00 0.00 0.05 0.32 0.53 0.63 0.64 0.59 0.57 0.59 0.63 0.65 0.59 0.40 0.13 0.00 0.00 0.00 0.04 0.36 0.58 0.60 0.42 0.17 0.04 0.18 0.58 1.09 1.51 1.67 1.57 1.32 1.12 1.09 1.23 1.46 1.61 1.62 1.51 1.39 1.42 1.63 1.97 2.30 2.44 2.33 30.0 + 32.5 1.98 1.67 1.30 1.03 0.98 1.12 1.32 1.44 1.39 1.22 1.08 1.09 1.30 1.58 1.73 1.60 1.15 0.52 0.00 0.00 0.00 0.00 0.13 0.18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.09 0.07 0.00 0.00 0.00 0.07 0.13 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.23 0.08 0.00 0.00 0.00 0.47 1.15 1.75 2.06 2.03 1.78 1.50 1.36 1.41 1.56 1.66 1.61 1.42 1.22 1.15 1.30 1.60 1.92 2.08 1.98 1.67 1.30 1.03 0.98 1.12 1.32 1.44 1.39 1.22 1.08 1.09 1.30 1.58 1.73 1.60 1.15 0.52 0.00 0.00 0.00 0.00 0.13 0.18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.09 0.07 0.00 0.00 0.00 0.07 0.13 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.23 0.08 0.00 0.00 0.00 0.47 1.15 1.75 2.06 2.03 1.78 1.50 1.36 1.41 1.56 1.66 1.61 1.42 1.22 1.15 1.30 1.60 1.92 2.08 1.98 32.5 + 35.0 1.61 1.32 0.96 0.74 0.74 0.96 1.23 1.41 1.41 1.30 1.23 1.32 1.59 1.89 2.00 1.76 1.15 0.37 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.09 0.00 0.00 0.00 0.00 0.48 1.32 2.09 2.55 2.59 2.31 1.93 1.66 1.58 1.61 1.63 1.50 1.23 0.95 0.81 0.90 1.19 1.52 1.69 1.61 1.32 0.96 0.74 0.74 0.96 1.23 1.41 1.41 1.30 1.23 1.32 1.59 1.89 2.00 1.76 1.15 0.37 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.09 0.00 0.00 0.00 0.00 0.48 1.32 2.09 2.55 2.59 2.31 1.93 1.66 1.58 1.61 1.63 1.50 1.23 0.95 0.81 0.90 1.19 1.52 1.69 1.61 35.0 + 37.5 1.36 1.06 0.69 0.47 0.50 0.75 1.08 1.32 1.39 1.37 1.40 1.61 1.98 2.34 2.44 2.12 1.39 0.47 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.23 0.30 0.14 0.00 0.00 0.00 0.68 1.64 2.55 3.12 3.20 2.88 2.38 1.96 1.72 1.63 1.54 1.34 1.00 0.67 0.49 0.57 0.88 1.23 1.43 1.36 1.06 0.69 0.47 0.50 0.75 1.08 1.32 1.39 1.37 1.40 1.61 1.98 2.34 2.44 2.12 1.39 0.47 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.23 0.30 0.14 0.00 0.00 0.00 0.68 1.64 2.55 3.12 3.20 2.88 2.38 1.96 1.72 1.63 1.54 1.34 1.00 0.67 0.49 0.57 0.88 1.23 1.43 1.36 37.5 + 40.0 1.26 0.93 0.53 0.28 0.30 0.57 0.93 1.22 1.37 1.44 1.60 1.95 2.45 2.90 3.02 2.66 1.85 0.85 0.01 0.00 0.00 0.00 0.24 0.36 0.22 0.00 0.00 0.00 0.00 0.12 0.36 0.45 0.36 0.16 0.00 0.00 0.00 0.13 0.40 0.61 0.67 0.54 0.29 0.06 0.00 0.13 0.43 0.69 0.75 0.55 0.24 0.07 0.29 0.99 2.00 3.00 3.63 3.73 3.36 2.76 2.19 1.82 1.62 1.45 1.18 0.80 0.44 0.26 0.36 0.71 1.10 1.33 1.26 0.93 0.53 0.28 0.30 0.57 0.93 1.22 1.37 1.44 1.60 1.95 2.45 2.90 3.02 2.66 1.85 0.85 0.01 0.00 0.00 0.00 0.24 0.36 0.22 0.00 0.00 0.00 0.00 0.12 0.36 0.45 0.36 0.16 0.00 0.00 0.00 0.13 0.40 0.61 0.67 0.54 0.29 0.06 0.00 0.13 0.43 0.69 0.75 0.55 0.24 0.07 0.29 0.99 2.00 3.00 3.63 3.73 3.36 2.76 2.19 1.82 1.62 1.45 1.18 0.80 0.44 0.26 0.36 0.71 1.10 1.33 1.26 40.0 + 42.5 1.27 0.92 0.48 0.19 0.18 0.45 0.83 1.16 1.37 1.53 1.80 2.27 2.89 3.43 3.60 3.24 2.39 1.34 0.47 0.03 0.07 0.42 0.77 0.90 0.76 0.48 0.26 0.23 0.42 0.71 0.94 1.00 0.87 0.62 0.37 0.25 0.31 0.53 0.82 1.07 1.16 1.04 0.78 0.53 0.43 0.56 0.85 1.10 1.15 0.92 0.56 0.34 0.52 1.21 2.24 3.26 3.93 4.03 3.62 2.95 2.30 1.85 1.58 1.36 1.06 0.67 0.31 0.14 0.27 0.66 1.09 1.34 1.27 0.92 0.48 0.19 0.18 0.45 0.83 1.16 1.37 1.53 1.80 2.27 2.89 3.43 3.60 3.24 2.39 1.34 0.47 0.03 0.07 0.42 0.77 0.90 0.76 0.48 0.26 0.23 0.42 0.71 0.94 1.00 0.87 0.62 0.37 0.25 0.31 0.53 0.82 1.07 1.16 1.04 0.78 0.53 0.43 0.56 0.85 1.10 1.15 0.92 0.56 0.34 0.52 1.21 2.24 3.26 3.93 4.03 3.62 2.95 2.30 1.85 1.58 1.36 1.06 0.67 0.31 0.14 0.27 0.66 1.09 1.34 1.27 42.5 + 45.0 1.29 0.93 0.48 0.17 0.15 0.41 0.80 1.15 1.40 1.62 1.96 2.51 3.20 3.79 4.00 3.65 2.79 1.72 0.81 0.36 0.40 0.75 1.10 1.23 1.09 0.81 0.58 0.55 0.75 1.03 1.25 1.29 1.13 0.85 0.57 0.43 0.47 0.68 0.97 1.22 1.30 1.18 0.91 0.65 0.54 0.66 0.93 1.18 1.22 0.98 0.59 0.34 0.49 1.15 2.17 3.20 3.87 3.98 3.58 2.91 2.26 1.80 1.53 1.31 1.02 0.63 0.28 0.12 0.26 0.66 1.10 1.36 1.29 0.93 0.48 0.17 0.15 0.41 0.80 1.15 1.40 1.62 1.96 2.51 3.20 3.79 4.00 3.65 2.79 1.72 0.81 0.36 0.40 0.75 1.10 1.23 1.09 0.81 0.58 0.55 0.75 1.03 1.25 1.29 1.13 0.85 0.57 0.43 0.47 0.68 0.97 1.22 1.30 1.18 0.91 0.65 0.54 0.66 0.93 1.18 1.22 0.98 0.59 0.34 0.49 1.15 2.17 3.20 3.87 3.98 3.58 2.91 2.26 1.80 1.53 1.31 1.02 0.63 0.28 0.12 0.26 0.66 1.10 1.36 1.29 45.0 + 47.5 1.29 0.94 0.50 0.20 0.20 0.47 0.86 1.22 1.48 1.70 2.04 2.59 3.28 3.88 4.09 3.75 2.90 1.83 0.91 0.42 0.43 0.74 1.07 1.19 1.04 0.74 0.50 0.47 0.64 0.92 1.13 1.17 1.00 0.72 0.44 0.28 0.30 0.48 0.74 0.95 1.01 0.87 0.60 0.33 0.22 0.34 0.61 0.85 0.89 0.65 0.27 0.02 0.16 0.80 1.79 2.79 3.46 3.59 3.24 2.64 2.06 1.68 1.47 1.31 1.05 0.69 0.33 0.17 0.30 0.68 1.11 1.36 1.29 0.94 0.50 0.20 0.20 0.47 0.86 1.22 1.48 1.70 2.04 2.59 3.28 3.88 4.09 3.75 2.90 1.83 0.91 0.42 0.43 0.74 1.07 1.19 1.04 0.74 0.50 0.47 0.64 0.92 1.13 1.17 1.00 0.72 0.44 0.28 0.30 0.48 0.74 0.95 1.01 0.87 0.60 0.33 0.22 0.34 0.61 0.85 0.89 0.65 0.27 0.02 0.16 0.80 1.79 2.79 3.46 3.59 3.24 2.64 2.06 1.68 1.47 1.31 1.05 0.69 0.33 0.17 0.30 0.68 1.11 1.36 1.29 47.5 + 50.0 1.30 0.98 0.58 0.32 0.34 0.62 1.01 1.35 1.58 1.75 2.03 2.50 3.11 3.66 3.87 3.54 2.72 1.67 0.75 0.24 0.19 0.45 0.74 0.83 0.66 0.36 0.10 0.05 0.20 0.46 0.67 0.72 0.58 0.33 0.07 0.00 0.00 0.07 0.27 0.43 0.44 0.28 0.00 0.00 0.00 0.00 0.06 0.30 0.34 0.12 0.00 0.00 0.00 0.32 1.26 2.21 2.85 3.00 2.72 2.23 1.78 1.53 1.43 1.35 1.15 0.81 0.47 0.29 0.39 0.73 1.13 1.36 1.30 0.98 0.58 0.32 0.34 0.62 1.01 1.35 1.58 1.75 2.03 2.50 3.11 3.66 3.87 3.54 2.72 1.67 0.75 0.24 0.19 0.45 0.74 0.83 0.66 0.36 0.10 0.05 0.20 0.46 0.67 0.72 0.58 0.33 0.07 0.00 0.00 0.07 0.27 0.43 0.44 0.28 0.00 0.00 0.00 0.00 0.06 0.30 0.34 0.12 0.00 0.00 0.00 0.32 1.26 2.21 2.85 3.00 2.72 2.23 1.78 1.53 1.43 1.35 1.15 0.81 0.47 0.29 0.39 0.73 1.13 1.36 1.30 50.0 + 52.5 1.41 1.13 0.78 0.55 0.59 0.85 1.22 1.52 1.68 1.76 1.92 2.26 2.76 3.23 3.41 3.12 2.38 1.40 0.52 0.00 0.00 0.10 0.34 0.41 0.23 0.00 0.00 0.00 0.00 0.00 0.14 0.22 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.82 1.69 2.26 2.40 2.17 1.79 1.49 1.37 1.40 1.40 1.27 0.98 0.66 0.49 0.57 0.87 1.24 1.46 1.41 1.13 0.78 0.55 0.59 0.85 1.22 1.52 1.68 1.76 1.92 2.26 2.76 3.23 3.41 3.12 2.38 1.40 0.52 0.00 0.00 0.10 0.34 0.41 0.23 0.00 0.00 0.00 0.00 0.00 0.14 0.22 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.82 1.69 2.26 2.40 2.17 1.79 1.49 1.37 1.40 1.40 1.27 0.98 0.66 0.49 0.57 0.87 1.24 1.46 1.41 52.5 + 55.0 1.67 1.42 1.10 0.89 0.91 1.13 1.44 1.67 1.75 1.73 1.75 1.94 2.30 2.67 2.85 2.63 2.01 1.16 0.37 0.00 0.00 0.00 0.14 0.19 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.67 1.39 1.85 1.94 1.73 1.43 1.24 1.24 1.36 1.44 1.37 1.13 0.86 0.72 0.82 1.12 1.48 1.70 1.67 1.42 1.10 0.89 0.91 1.13 1.44 1.67 1.75 1.73 1.75 1.94 2.30 2.67 2.85 2.63 2.01 1.16 0.37 0.00 0.00 0.00 0.14 0.19 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.67 1.39 1.85 1.94 1.73 1.43 1.24 1.24 1.36 1.44 1.37 1.13 0.86 0.72 0.82 1.12 1.48 1.70 1.67 55.0 + 57.5 2.03 1.81 1.49 1.27 1.23 1.39 1.62 1.77 1.77 1.65 1.54 1.58 1.81 2.11 2.29 2.17 1.71 1.03 0.37 0.00 0.00 0.03 0.23 0.30 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.17 0.13 0.05 0.00 0.00 0.04 0.09 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.21 0.08 0.00 0.00 0.00 0.19 0.79 1.36 1.67 1.67 1.44 1.18 1.05 1.12 1.29 1.42 1.39 1.21 1.01 0.94 1.08 1.42 1.79 2.03 2.03 1.81 1.49 1.27 1.23 1.39 1.62 1.77 1.77 1.65 1.54 1.58 1.81 2.11 2.29 2.17 1.71 1.03 0.37 0.00 0.00 0.03 0.23 0.30 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.17 0.13 0.05 0.00 0.00 0.04 0.09 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.21 0.08 0.00 0.00 0.00 0.19 0.79 1.36 1.67 1.67 1.44 1.18 1.05 1.12 1.29 1.42 1.39 1.21 1.01 0.94 1.08 1.42 1.79 2.03 2.03 57.5 + 60.0 2.37 2.16 1.85 1.58 1.48 1.55 1.69 1.77 1.71 1.52 1.32 1.24 1.35 1.59 1.78 1.76 1.47 0.97 0.46 0.15 0.11 0.29 0.52 0.62 0.51 0.23 0.00 0.00 0.00 0.00 0.25 0.50 0.63 0.66 0.62 0.58 0.58 0.61 0.64 0.60 0.46 0.23 0.00 0.00 0.00 0.08 0.41 0.68 0.77 0.63 0.38 0.20 0.25 0.56 1.02 1.43 1.61 1.51 1.24 0.99 0.89 0.98 1.16 1.30 1.29 1.17 1.03 1.04 1.26 1.65 2.07 2.34 2.37 2.16 1.85 1.58 1.48 1.55 1.69 1.77 1.71 1.52 1.32 1.24 1.35 1.59 1.78 1.76 1.47 0.97 0.46 0.15 0.11 0.29 0.52 0.62 0.51 0.23 0.00 0.00 0.00 0.00 0.25 0.50 0.63 0.66 0.62 0.58 0.58 0.61 0.64 0.60 0.46 0.23 0.00 0.00 0.00 0.08 0.41 0.68 0.77 0.63 0.38 0.20 0.25 0.56 1.02 1.43 1.61 1.51 1.24 0.99 0.89 0.98 1.16 1.30 1.29 1.17 1.03 1.04 1.26 1.65 2.07 2.34 2.37 60.0 + 62.5 2.55 2.36 2.04 1.73 1.57 1.56 1.64 1.68 1.59 1.37 1.11 0.95 0.97 1.14 1.33 1.39 1.23 0.88 0.50 0.26 0.27 0.49 0.77 0.93 0.87 0.64 0.35 0.15 0.15 0.34 0.63 0.91 1.10 1.16 1.14 1.11 1.10 1.12 1.14 1.09 0.93 0.69 0.43 0.27 0.31 0.54 0.87 1.13 1.19 1.04 0.76 0.54 0.53 0.75 1.10 1.40 1.48 1.32 1.03 0.78 0.69 0.77 0.94 1.07 1.07 0.98 0.90 0.97 1.26 1.70 2.17 2.48 2.55 2.36 2.04 1.73 1.57 1.56 1.64 1.68 1.59 1.37 1.11 0.95 0.97 1.14 1.33 1.39 1.23 0.88 0.50 0.26 0.27 0.49 0.77 0.93 0.87 0.64 0.35 0.15 0.15 0.34 0.63 0.91 1.10 1.16 1.14 1.11 1.10 1.12 1.14 1.09 0.93 0.69 0.43 0.27 0.31 0.54 0.87 1.13 1.19 1.04 0.76 0.54 0.53 0.75 1.10 1.40 1.48 1.32 1.03 0.78 0.69 0.77 0.94 1.07 1.07 0.98 0.90 0.97 1.26 1.70 2.17 2.48 2.55 62.5 + 65.0 2.50 2.35 2.03 1.71 1.50 1.44 1.48 1.50 1.42 1.20 0.92 0.71 0.66 0.77 0.95 1.04 0.94 0.68 0.38 0.19 0.23 0.47 0.79 1.01 1.02 0.83 0.56 0.35 0.33 0.51 0.81 1.11 1.32 1.41 1.40 1.35 1.33 1.35 1.36 1.30 1.14 0.88 0.61 0.45 0.47 0.69 0.99 1.22 1.26 1.07 0.76 0.50 0.44 0.61 0.89 1.13 1.18 1.01 0.74 0.50 0.42 0.50 0.65 0.75 0.75 0.67 0.63 0.75 1.07 1.55 2.05 2.40 2.50 2.35 2.03 1.71 1.50 1.44 1.48 1.50 1.42 1.20 0.92 0.71 0.66 0.77 0.95 1.04 0.94 0.68 0.38 0.19 0.23 0.47 0.79 1.01 1.02 0.83 0.56 0.35 0.33 0.51 0.81 1.11 1.32 1.41 1.40 1.35 1.33 1.35 1.36 1.30 1.14 0.88 0.61 0.45 0.47 0.69 0.99 1.22 1.26 1.07 0.76 0.50 0.44 0.61 0.89 1.13 1.18 1.01 0.74 0.50 0.42 0.50 0.65 0.75 0.75 0.67 0.63 0.75 1.07 1.55 2.05 2.40 2.50 65.0 + 67.5 2.31 2.19 1.90 1.58 1.34 1.26 1.28 1.30 1.24 1.05 0.78 0.55 0.45 0.51 0.65 0.73 0.65 0.41 0.13 0.00 0.00 0.22 0.56 0.82 0.88 0.74 0.48 0.28 0.24 0.39 0.69 1.00 1.23 1.34 1.33 1.28 1.25 1.25 1.25 1.19 1.02 0.76 0.48 0.30 0.30 0.49 0.76 0.96 0.96 0.74 0.40 0.12 0.03 0.17 0.43 0.66 0.73 0.60 0.37 0.18 0.11 0.18 0.32 0.41 0.40 0.33 0.31 0.45 0.78 1.27 1.79 2.17 2.31 2.19 1.90 1.58 1.34 1.26 1.28 1.30 1.24 1.05 0.78 0.55 0.45 0.51 0.65 0.73 0.65 0.41 0.13 0.00 0.00 0.22 0.56 0.82 0.88 0.74 0.48 0.28 0.24 0.39 0.69 1.00 1.23 1.34 1.33 1.28 1.25 1.25 1.25 1.19 1.02 0.76 0.48 0.30 0.30 0.49 0.76 0.96 0.96 0.74 0.40 0.12 0.03 0.17 0.43 0.66 0.73 0.60 0.37 0.18 0.11 0.18 0.32 0.41 0.40 0.33 0.31 0.45 0.78 1.27 1.79 2.17 2.31 67.5 + 70.0 2.11 2.04 1.78 1.47 1.22 1.11 1.11 1.13 1.09 0.92 0.68 0.45 0.34 0.37 0.46 0.51 0.42 0.18 0.00 0.00 0.00 0.00 0.23 0.50 0.59 0.47 0.23 0.02 0.00 0.11 0.40 0.72 0.97 1.09 1.10 1.05 1.01 1.00 0.99 0.91 0.73 0.46 0.17 0.00 0.00 0.12 0.35 0.53 0.51 0.28 0.00 0.00 0.00 0.00 0.00 0.17 0.27 0.20 0.03 0.00 0.00 0.00 0.01 0.10 0.10 0.06 0.06 0.20 0.54 1.02 1.54 1.94 2.11 2.04 1.78 1.47 1.22 1.11 1.11 1.13 1.09 0.92 0.68 0.45 0.34 0.37 0.46 0.51 0.42 0.18 0.00 0.00 0.00 0.00 0.23 0.50 0.59 0.47 0.23 0.02 0.00 0.11 0.40 0.72 0.97 1.09 1.10 1.05 1.01 1.00 0.99 0.91 0.73 0.46 0.17 0.00 0.00 0.12 0.35 0.53 0.51 0.28 0.00 0.00 0.00 0.00 0.00 0.17 0.27 0.20 0.03 0.00 0.00 0.00 0.01 0.10 0.10 0.06 0.06 0.20 0.54 1.02 1.54 1.94 2.11 70.0 + 72.5 2.07 2.03 1.80 1.50 1.23 1.08 1.04 1.03 0.98 0.83 0.62 0.42 0.32 0.33 0.41 0.43 0.32 0.07 0.00 0.00 0.00 0.00 0.00 0.25 0.34 0.23 0.01 0.00 0.00 0.00 0.14 0.47 0.74 0.89 0.93 0.90 0.86 0.82 0.78 0.68 0.49 0.21 0.00 0.00 0.00 0.00 0.01 0.17 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.45 0.93 1.44 1.86 2.07 2.03 1.80 1.50 1.23 1.08 1.04 1.03 0.98 0.83 0.62 0.42 0.32 0.33 0.41 0.43 0.32 0.07 0.00 0.00 0.00 0.00 0.00 0.25 0.34 0.23 0.01 0.00 0.00 0.00 0.14 0.47 0.74 0.89 0.93 0.90 0.86 0.82 0.78 0.68 0.49 0.21 0.00 0.00 0.00 0.00 0.01 0.17 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.45 0.93 1.44 1.86 2.07 72.5 + 75.0 2.20 2.19 1.98 1.68 1.38 1.18 1.07 1.01 0.92 0.77 0.59 0.42 0.35 0.38 0.45 0.46 0.34 0.10 0.00 0.00 0.00 0.00 0.00 0.21 0.27 0.17 0.00 0.00 0.00 0.00 0.11 0.44 0.73 0.92 1.00 0.99 0.94 0.88 0.79 0.66 0.44 0.16 0.00 0.00 0.00 0.00 0.00 0.06 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.23 0.58 1.05 1.55 1.97 2.20 2.19 1.98 1.68 1.38 1.18 1.07 1.01 0.92 0.77 0.59 0.42 0.35 0.38 0.45 0.46 0.34 0.10 0.00 0.00 0.00 0.00 0.00 0.21 0.27 0.17 0.00 0.00 0.00 0.00 0.11 0.44 0.73 0.92 1.00 0.99 0.94 0.88 0.79 0.66 0.44 0.16 0.00 0.00 0.00 0.00 0.00 0.06 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.23 0.58 1.05 1.55 1.97 2.20 75.0 + 77.5 2.43 2.44 2.24 1.93 1.61 1.35 1.17 1.03 0.90 0.73 0.56 0.44 0.40 0.44 0.50 0.51 0.39 0.18 0.00 0.00 0.00 0.00 0.17 0.34 0.38 0.29 0.12 0.00 0.00 0.07 0.33 0.65 0.95 1.17 1.29 1.31 1.26 1.17 1.04 0.85 0.61 0.33 0.04 0.00 0.00 0.00 0.00 0.17 0.23 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.24 0.48 0.84 1.30 1.79 2.20 2.43 2.44 2.24 1.93 1.61 1.35 1.17 1.03 0.90 0.73 0.56 0.44 0.40 0.44 0.50 0.51 0.39 0.18 0.00 0.00 0.00 0.00 0.17 0.34 0.38 0.29 0.12 0.00 0.00 0.07 0.33 0.65 0.95 1.17 1.29 1.31 1.26 1.17 1.04 0.85 0.61 0.33 0.04 0.00 0.00 0.00 0.00 0.17 0.23 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.24 0.48 0.84 1.30 1.79 2.20 2.43 77.5 + 80.0 2.61 2.61 2.43 2.13 1.79 1.50 1.26 1.06 0.88 0.70 0.54 0.45 0.43 0.47 0.51 0.49 0.37 0.19 0.02 0.00 0.00 0.16 0.36 0.50 0.54 0.46 0.35 0.27 0.29 0.43 0.68 0.99 1.29 1.53 1.68 1.73 1.68 1.56 1.38 1.15 0.89 0.60 0.33 0.13 0.03 0.06 0.19 0.35 0.44 0.42 0.28 0.09 0.00 0.00 0.00 0.10 0.22 0.26 0.20 0.08 0.00 0.00 0.00 0.01 0.14 0.30 0.49 0.76 1.11 1.55 2.01 2.39 2.61 2.61 2.43 2.13 1.79 1.50 1.26 1.06 0.88 0.70 0.54 0.45 0.43 0.47 0.51 0.49 0.37 0.19 0.02 0.00 0.00 0.16 0.36 0.50 0.54 0.46 0.35 0.27 0.29 0.43 0.68 0.99 1.29 1.53 1.68 1.73 1.68 1.56 1.38 1.15 0.89 0.60 0.33 0.13 0.03 0.06 0.19 0.35 0.44 0.42 0.28 0.09 0.00 0.00 0.00 0.10 0.22 0.26 0.20 0.08 0.00 0.00 0.00 0.01 0.14 0.30 0.49 0.76 1.11 1.55 2.01 2.39 2.61 80.0 + 82.5 2.62 2.62 2.46 2.18 1.86 1.56 1.30 1.06 0.85 0.66 0.52 0.44 0.43 0.45 0.44 0.37 0.23 0.06 0.00 0.00 0.06 0.25 0.44 0.57 0.60 0.57 0.52 0.51 0.59 0.76 1.00 1.29 1.57 1.82 1.99 2.07 2.03 1.90 1.69 1.43 1.15 0.87 0.62 0.41 0.29 0.26 0.33 0.45 0.55 0.57 0.48 0.31 0.13 0.03 0.04 0.14 0.27 0.35 0.36 0.28 0.18 0.10 0.10 0.18 0.32 0.50 0.72 0.98 1.32 1.71 2.10 2.43 2.62 2.62 2.46 2.18 1.86 1.56 1.30 1.06 0.85 0.66 0.52 0.44 0.43 0.45 0.44 0.37 0.23 0.06 0.00 0.00 0.06 0.25 0.44 0.57 0.60 0.57 0.52 0.51 0.59 0.76 1.00 1.29 1.57 1.82 1.99 2.07 2.03 1.90 1.69 1.43 1.15 0.87 0.62 0.41 0.29 0.26 0.33 0.45 0.55 0.57 0.48 0.31 0.13 0.03 0.04 0.14 0.27 0.35 0.36 0.28 0.18 0.10 0.10 0.18 0.32 0.50 0.72 0.98 1.32 1.71 2.10 2.43 2.62 82.5 + 85.0 2.48 2.47 2.32 2.08 1.80 1.52 1.26 1.02 0.81 0.62 0.50 0.43 0.42 0.40 0.34 0.20 0.01 0.00 0.00 0.00 0.00 0.19 0.38 0.50 0.53 0.53 0.55 0.61 0.75 0.94 1.18 1.44 1.70 1.95 2.14 2.24 2.23 2.10 1.88 1.61 1.33 1.07 0.83 0.62 0.46 0.38 0.38 0.44 0.51 0.53 0.46 0.30 0.10 0.00 0.00 0.00 0.15 0.31 0.39 0.39 0.33 0.27 0.26 0.33 0.47 0.66 0.88 1.13 1.42 1.74 2.07 2.33 2.48 2.47 2.32 2.08 1.80 1.52 1.26 1.02 0.81 0.62 0.50 0.43 0.42 0.40 0.34 0.20 0.01 0.00 0.00 0.00 0.00 0.19 0.38 0.50 0.53 0.53 0.55 0.61 0.75 0.94 1.18 1.44 1.70 1.95 2.14 2.24 2.23 2.10 1.88 1.61 1.33 1.07 0.83 0.62 0.46 0.38 0.38 0.44 0.51 0.53 0.46 0.30 0.10 0.00 0.00 0.00 0.15 0.31 0.39 0.39 0.33 0.27 0.26 0.33 0.47 0.66 0.88 1.13 1.42 1.74 2.07 2.33 2.48 85.0 + 87.5 2.30 2.27 2.13 1.91 1.66 1.42 1.18 0.95 0.75 0.58 0.47 0.42 0.41 0.37 0.26 0.07 0.00 0.00 0.00 0.00 0.00 0.08 0.27 0.38 0.41 0.43 0.47 0.59 0.76 0.96 1.19 1.43 1.67 1.92 2.14 2.28 2.30 2.19 1.99 1.73 1.46 1.21 0.98 0.77 0.58 0.44 0.37 0.37 0.40 0.41 0.33 0.16 0.00 0.00 0.00 0.00 0.00 0.17 0.34 0.41 0.40 0.37 0.37 0.45 0.59 0.78 0.99 1.22 1.47 1.74 2.00 2.20 2.30 2.27 2.13 1.91 1.66 1.42 1.18 0.95 0.75 0.58 0.47 0.42 0.41 0.37 0.26 0.07 0.00 0.00 0.00 0.00 0.00 0.08 0.27 0.38 0.41 0.43 0.47 0.59 0.76 0.96 1.19 1.43 1.67 1.92 2.14 2.28 2.30 2.19 1.99 1.73 1.46 1.21 0.98 0.77 0.58 0.44 0.37 0.37 0.40 0.41 0.33 0.16 0.00 0.00 0.00 0.00 0.00 0.17 0.34 0.41 0.40 0.37 0.37 0.45 0.59 0.78 0.99 1.22 1.47 1.74 2.00 2.20 2.30 87.5 + 90.0 2.22 2.16 2.00 1.78 1.54 1.31 1.08 0.87 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.10 1.33 1.57 1.83 2.07 2.24 2.31 2.24 2.07 1.83 1.57 1.33 1.10 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.87 1.08 1.31 1.54 1.78 2.00 2.16 2.22 2.16 2.00 1.78 1.54 1.31 1.08 0.87 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.10 1.33 1.57 1.83 2.07 2.24 2.31 2.24 2.07 1.83 1.57 1.33 1.10 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.87 1.08 1.31 1.54 1.78 2.00 2.16 2.22 90.0 + + 5.0 DEGREE - PHI2-SECTION ( FMAX ABS = 4.56 FMAX-I = 4.56 ) PHI2 = 5. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 0.0 + 2.5 2.06 1.82 1.56 1.32 1.09 0.88 0.67 0.50 0.39 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.07 0.27 0.38 0.41 0.41 0.43 0.52 0.67 0.86 1.08 1.30 1.53 1.77 2.00 2.16 2.22 2.17 2.01 1.79 1.55 1.32 1.09 0.88 0.68 0.53 0.44 0.41 0.41 0.38 0.26 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.69 0.89 1.11 1.34 1.58 1.84 2.07 2.25 2.31 2.24 2.06 1.82 1.56 1.32 1.09 0.88 0.67 0.50 0.39 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.07 0.27 0.38 0.41 0.41 0.43 0.52 0.67 0.86 1.08 1.30 1.53 1.77 2.00 2.16 2.22 2.17 2.01 1.79 1.55 1.32 1.09 0.88 0.68 0.53 0.44 0.41 0.41 0.38 0.26 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.69 0.89 1.11 1.34 1.58 1.84 2.07 2.25 2.31 2.24 2.06 2.5 + 5.0 2.16 1.86 1.55 1.26 1.01 0.78 0.57 0.40 0.28 0.24 0.26 0.29 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.15 0.35 0.46 0.48 0.44 0.41 0.44 0.54 0.72 0.93 1.18 1.44 1.69 1.92 2.08 2.15 2.10 1.96 1.75 1.50 1.24 0.99 0.77 0.59 0.48 0.44 0.45 0.48 0.45 0.33 0.13 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.28 0.27 0.33 0.45 0.64 0.85 1.09 1.34 1.62 1.92 2.21 2.41 2.47 2.38 2.16 1.86 1.55 1.26 1.01 0.78 0.57 0.40 0.28 0.24 0.26 0.29 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.15 0.35 0.46 0.48 0.44 0.41 0.44 0.54 0.72 0.93 1.18 1.44 1.69 1.92 2.08 2.15 2.10 1.96 1.75 1.50 1.24 0.99 0.77 0.59 0.48 0.44 0.45 0.48 0.45 0.33 0.13 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.28 0.27 0.33 0.45 0.64 0.85 1.09 1.34 1.62 1.92 2.21 2.41 2.47 2.38 2.16 5.0 + 7.5 2.19 1.83 1.45 1.12 0.85 0.62 0.42 0.25 0.13 0.08 0.12 0.19 0.23 0.20 0.09 0.00 0.00 0.00 0.00 0.14 0.34 0.46 0.47 0.40 0.30 0.26 0.31 0.45 0.68 0.95 1.23 1.49 1.72 1.87 1.94 1.92 1.79 1.59 1.33 1.05 0.77 0.54 0.38 0.32 0.35 0.43 0.48 0.45 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.21 0.26 0.23 0.18 0.18 0.24 0.39 0.57 0.79 1.02 1.29 1.61 1.97 2.30 2.53 2.60 2.47 2.19 1.83 1.45 1.12 0.85 0.62 0.42 0.25 0.13 0.08 0.12 0.19 0.23 0.20 0.09 0.00 0.00 0.00 0.00 0.14 0.34 0.46 0.47 0.40 0.30 0.26 0.31 0.45 0.68 0.95 1.23 1.49 1.72 1.87 1.94 1.92 1.79 1.59 1.33 1.05 0.77 0.54 0.38 0.32 0.35 0.43 0.48 0.45 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.21 0.26 0.23 0.18 0.18 0.24 0.39 0.57 0.79 1.02 1.29 1.61 1.97 2.30 2.53 2.60 2.47 2.19 7.5 + 10.0 2.09 1.66 1.24 0.89 0.63 0.42 0.25 0.09 0.00 0.00 0.00 0.03 0.12 0.15 0.08 0.00 0.00 0.00 0.00 0.00 0.15 0.30 0.33 0.25 0.10 0.00 0.00 0.11 0.34 0.63 0.93 1.19 1.39 1.53 1.59 1.58 1.49 1.31 1.05 0.75 0.45 0.20 0.07 0.07 0.17 0.29 0.36 0.32 0.16 0.00 0.00 0.00 0.00 0.00 0.14 0.23 0.23 0.16 0.10 0.10 0.19 0.35 0.53 0.72 0.92 1.18 1.51 1.90 2.26 2.52 2.58 2.42 2.09 1.66 1.24 0.89 0.63 0.42 0.25 0.09 0.00 0.00 0.00 0.03 0.12 0.15 0.08 0.00 0.00 0.00 0.00 0.00 0.15 0.30 0.33 0.25 0.10 0.00 0.00 0.11 0.34 0.63 0.93 1.19 1.39 1.53 1.59 1.58 1.49 1.31 1.05 0.75 0.45 0.20 0.07 0.07 0.17 0.29 0.36 0.32 0.16 0.00 0.00 0.00 0.00 0.00 0.14 0.23 0.23 0.16 0.10 0.10 0.19 0.35 0.53 0.72 0.92 1.18 1.51 1.90 2.26 2.52 2.58 2.42 2.09 10.0 + 12.5 1.85 1.38 0.94 0.60 0.37 0.22 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.13 0.06 0.00 0.00 0.00 0.00 0.02 0.32 0.62 0.86 1.03 1.13 1.18 1.19 1.13 0.98 0.74 0.43 0.11 0.00 0.00 0.00 0.00 0.12 0.20 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.22 0.18 0.10 0.05 0.08 0.21 0.37 0.53 0.67 0.82 1.03 1.33 1.72 2.09 2.35 2.41 2.23 1.85 1.38 0.94 0.60 0.37 0.22 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.13 0.06 0.00 0.00 0.00 0.00 0.02 0.32 0.62 0.86 1.03 1.13 1.18 1.19 1.13 0.98 0.74 0.43 0.11 0.00 0.00 0.00 0.00 0.12 0.20 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.22 0.18 0.10 0.05 0.08 0.21 0.37 0.53 0.67 0.82 1.03 1.33 1.72 2.09 2.35 2.41 2.23 1.85 12.5 + 15.0 1.59 1.11 0.66 0.34 0.16 0.08 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.44 0.65 0.78 0.84 0.87 0.89 0.87 0.77 0.56 0.26 0.00 0.00 0.00 0.00 0.00 0.05 0.12 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.20 0.16 0.08 0.05 0.13 0.29 0.47 0.60 0.68 0.75 0.89 1.15 1.51 1.89 2.15 2.20 1.99 1.59 1.11 0.66 0.34 0.16 0.08 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.44 0.65 0.78 0.84 0.87 0.89 0.87 0.77 0.56 0.26 0.00 0.00 0.00 0.00 0.00 0.05 0.12 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.20 0.16 0.08 0.05 0.13 0.29 0.47 0.60 0.68 0.75 0.89 1.15 1.51 1.89 2.15 2.20 1.99 1.59 15.0 + 17.5 1.46 0.96 0.51 0.21 0.08 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.11 0.00 0.00 0.00 0.00 0.00 0.23 0.50 0.68 0.76 0.79 0.81 0.84 0.85 0.79 0.61 0.33 0.00 0.00 0.00 0.00 0.00 0.17 0.24 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.19 0.26 0.21 0.12 0.11 0.23 0.42 0.62 0.74 0.77 0.79 0.86 1.07 1.40 1.77 2.03 2.08 1.87 1.46 0.96 0.51 0.21 0.08 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.11 0.00 0.00 0.00 0.00 0.00 0.23 0.50 0.68 0.76 0.79 0.81 0.84 0.85 0.79 0.61 0.33 0.00 0.00 0.00 0.00 0.00 0.17 0.24 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.19 0.26 0.21 0.12 0.11 0.23 0.42 0.62 0.74 0.77 0.79 0.86 1.07 1.40 1.77 2.03 2.08 1.87 1.46 17.5 + 20.0 1.52 1.01 0.55 0.26 0.15 0.17 0.20 0.16 0.04 0.00 0.00 0.00 0.06 0.21 0.23 0.08 0.00 0.00 0.00 0.00 0.00 0.31 0.50 0.47 0.27 0.03 0.00 0.00 0.20 0.50 0.76 0.92 0.97 0.97 0.98 1.02 1.05 1.02 0.88 0.61 0.28 0.02 0.00 0.02 0.25 0.47 0.55 0.41 0.10 0.00 0.00 0.00 0.00 0.16 0.37 0.42 0.34 0.24 0.23 0.36 0.59 0.81 0.94 0.96 0.94 0.97 1.14 1.45 1.80 2.08 2.14 1.94 1.52 1.01 0.55 0.26 0.15 0.17 0.20 0.16 0.04 0.00 0.00 0.00 0.06 0.21 0.23 0.08 0.00 0.00 0.00 0.00 0.00 0.31 0.50 0.47 0.27 0.03 0.00 0.00 0.20 0.50 0.76 0.92 0.97 0.97 0.98 1.02 1.05 1.02 0.88 0.61 0.28 0.02 0.00 0.02 0.25 0.47 0.55 0.41 0.10 0.00 0.00 0.00 0.00 0.16 0.37 0.42 0.34 0.24 0.23 0.36 0.59 0.81 0.94 0.96 0.94 0.97 1.14 1.45 1.80 2.08 2.14 1.94 1.52 20.0 + 22.5 1.73 1.21 0.75 0.46 0.37 0.41 0.46 0.43 0.31 0.17 0.11 0.20 0.40 0.61 0.69 0.58 0.32 0.07 0.00 0.13 0.45 0.78 0.96 0.91 0.68 0.41 0.26 0.30 0.52 0.81 1.06 1.21 1.25 1.24 1.24 1.27 1.32 1.30 1.17 0.92 0.60 0.33 0.21 0.30 0.54 0.78 0.88 0.77 0.47 0.14 0.00 0.00 0.16 0.45 0.65 0.68 0.57 0.43 0.40 0.52 0.77 1.02 1.18 1.21 1.17 1.18 1.32 1.61 1.96 2.25 2.33 2.14 1.73 1.21 0.75 0.46 0.37 0.41 0.46 0.43 0.31 0.17 0.11 0.20 0.40 0.61 0.69 0.58 0.32 0.07 0.00 0.13 0.45 0.78 0.96 0.91 0.68 0.41 0.26 0.30 0.52 0.81 1.06 1.21 1.25 1.24 1.24 1.27 1.32 1.30 1.17 0.92 0.60 0.33 0.21 0.30 0.54 0.78 0.88 0.77 0.47 0.14 0.00 0.00 0.16 0.45 0.65 0.68 0.57 0.43 0.40 0.52 0.77 1.02 1.18 1.21 1.17 1.18 1.32 1.61 1.96 2.25 2.33 2.14 1.73 22.5 + 25.0 1.96 1.45 1.00 0.72 0.64 0.70 0.77 0.74 0.61 0.46 0.41 0.53 0.78 1.04 1.16 1.06 0.80 0.52 0.41 0.53 0.81 1.11 1.26 1.18 0.91 0.62 0.44 0.46 0.67 0.94 1.19 1.33 1.36 1.34 1.33 1.36 1.40 1.40 1.28 1.04 0.73 0.45 0.32 0.39 0.63 0.89 1.04 0.98 0.72 0.40 0.19 0.21 0.44 0.74 0.97 1.01 0.89 0.71 0.63 0.72 0.96 1.23 1.42 1.47 1.43 1.41 1.51 1.77 2.11 2.41 2.51 2.35 1.96 1.45 1.00 0.72 0.64 0.70 0.77 0.74 0.61 0.46 0.41 0.53 0.78 1.04 1.16 1.06 0.80 0.52 0.41 0.53 0.81 1.11 1.26 1.18 0.91 0.62 0.44 0.46 0.67 0.94 1.19 1.33 1.36 1.34 1.33 1.36 1.40 1.40 1.28 1.04 0.73 0.45 0.32 0.39 0.63 0.89 1.04 0.98 0.72 0.40 0.19 0.21 0.44 0.74 0.97 1.01 0.89 0.71 0.63 0.72 0.96 1.23 1.42 1.47 1.43 1.41 1.51 1.77 2.11 2.41 2.51 2.35 1.96 25.0 + 27.5 2.05 1.58 1.16 0.92 0.89 0.98 1.06 1.03 0.89 0.73 0.68 0.82 1.10 1.37 1.48 1.34 1.03 0.70 0.52 0.59 0.84 1.11 1.22 1.10 0.81 0.49 0.30 0.31 0.50 0.77 1.00 1.13 1.16 1.13 1.11 1.13 1.17 1.17 1.08 0.87 0.58 0.30 0.15 0.20 0.42 0.71 0.91 0.91 0.71 0.43 0.25 0.30 0.58 0.96 1.28 1.39 1.28 1.08 0.94 0.97 1.17 1.43 1.63 1.69 1.63 1.56 1.60 1.80 2.12 2.42 2.55 2.42 2.05 1.58 1.16 0.92 0.89 0.98 1.06 1.03 0.89 0.73 0.68 0.82 1.10 1.37 1.48 1.34 1.03 0.70 0.52 0.59 0.84 1.11 1.22 1.10 0.81 0.49 0.30 0.31 0.50 0.77 1.00 1.13 1.16 1.13 1.11 1.13 1.17 1.17 1.08 0.87 0.58 0.30 0.15 0.20 0.42 0.71 0.91 0.91 0.71 0.43 0.25 0.30 0.58 0.96 1.28 1.39 1.28 1.08 0.94 0.97 1.17 1.43 1.63 1.69 1.63 1.56 1.60 1.80 2.12 2.42 2.55 2.42 2.05 27.5 + 30.0 1.96 1.53 1.16 0.99 1.02 1.17 1.28 1.26 1.11 0.94 0.89 1.03 1.31 1.56 1.61 1.38 0.96 0.52 0.27 0.28 0.50 0.73 0.82 0.69 0.39 0.07 0.00 0.00 0.07 0.32 0.54 0.65 0.67 0.63 0.61 0.62 0.67 0.69 0.64 0.48 0.22 0.00 0.00 0.00 0.02 0.33 0.58 0.64 0.50 0.27 0.13 0.23 0.61 1.13 1.59 1.83 1.79 1.58 1.37 1.30 1.42 1.63 1.79 1.82 1.71 1.57 1.53 1.66 1.93 2.23 2.38 2.28 1.96 1.53 1.16 0.99 1.02 1.17 1.28 1.26 1.11 0.94 0.89 1.03 1.31 1.56 1.61 1.38 0.96 0.52 0.27 0.28 0.50 0.73 0.82 0.69 0.39 0.07 0.00 0.00 0.07 0.32 0.54 0.65 0.67 0.63 0.61 0.62 0.67 0.69 0.64 0.48 0.22 0.00 0.00 0.00 0.02 0.33 0.58 0.64 0.50 0.27 0.13 0.23 0.61 1.13 1.59 1.83 1.79 1.58 1.37 1.30 1.42 1.63 1.79 1.82 1.71 1.57 1.53 1.66 1.93 2.23 2.38 2.28 1.96 30.0 + 32.5 1.72 1.33 1.02 0.92 1.03 1.24 1.40 1.40 1.26 1.10 1.06 1.22 1.48 1.68 1.64 1.28 0.71 0.15 0.00 0.00 0.00 0.19 0.28 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.13 0.12 0.07 0.03 0.05 0.12 0.20 0.22 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.26 0.38 0.29 0.09 0.00 0.15 0.63 1.32 1.97 2.36 2.41 2.20 1.90 1.71 1.69 1.80 1.89 1.86 1.67 1.44 1.30 1.36 1.60 1.89 2.07 2.01 1.72 1.33 1.02 0.92 1.03 1.24 1.40 1.40 1.26 1.10 1.06 1.22 1.48 1.68 1.64 1.28 0.71 0.15 0.00 0.00 0.00 0.19 0.28 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.13 0.12 0.07 0.03 0.05 0.12 0.20 0.22 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.26 0.38 0.29 0.09 0.00 0.15 0.63 1.32 1.97 2.36 2.41 2.20 1.90 1.71 1.69 1.80 1.89 1.86 1.67 1.44 1.30 1.36 1.60 1.89 2.07 2.01 1.72 32.5 + 35.0 1.47 1.10 0.83 0.77 0.95 1.22 1.43 1.47 1.37 1.24 1.25 1.45 1.72 1.89 1.74 1.25 0.53 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.21 0.35 0.29 0.10 0.00 0.20 0.77 1.61 2.43 2.99 3.12 2.89 2.49 2.15 1.97 1.95 1.93 1.81 1.54 1.23 1.02 1.03 1.25 1.55 1.76 1.73 1.47 1.10 0.83 0.77 0.95 1.22 1.43 1.47 1.37 1.24 1.25 1.45 1.72 1.89 1.74 1.25 0.53 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.21 0.35 0.29 0.10 0.00 0.20 0.77 1.61 2.43 2.99 3.12 2.89 2.49 2.15 1.97 1.95 1.93 1.81 1.54 1.23 1.02 1.03 1.25 1.55 1.76 1.73 1.47 35.0 + 37.5 1.32 0.95 0.67 0.62 0.83 1.14 1.40 1.50 1.45 1.41 1.51 1.79 2.12 2.28 2.08 1.47 0.63 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.34 0.25 0.03 0.00 0.00 0.00 0.17 0.48 0.64 0.57 0.36 0.24 0.43 1.05 1.98 2.94 3.62 3.81 3.56 3.05 2.55 2.21 2.04 1.92 1.71 1.37 1.00 0.75 0.75 0.99 1.34 1.58 1.57 1.32 0.95 0.67 0.62 0.83 1.14 1.40 1.50 1.45 1.41 1.51 1.79 2.12 2.28 2.08 1.47 0.63 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.34 0.25 0.03 0.00 0.00 0.00 0.17 0.48 0.64 0.57 0.36 0.24 0.43 1.05 1.98 2.94 3.62 3.81 3.56 3.05 2.55 2.21 2.04 1.92 1.71 1.37 1.00 0.75 0.75 0.99 1.34 1.58 1.57 1.32 37.5 + 40.0 1.30 0.90 0.59 0.52 0.72 1.06 1.36 1.52 1.55 1.62 1.84 2.24 2.67 2.88 2.66 1.99 1.06 0.19 0.00 0.00 0.00 0.14 0.30 0.22 0.00 0.00 0.00 0.00 0.00 0.26 0.41 0.41 0.28 0.12 0.02 0.06 0.24 0.51 0.75 0.87 0.80 0.59 0.35 0.23 0.33 0.62 0.93 1.08 1.00 0.75 0.57 0.73 1.34 2.31 3.34 4.09 4.32 4.03 3.44 2.81 2.34 2.06 1.86 1.59 1.22 0.83 0.58 0.60 0.88 1.27 1.56 1.57 1.30 0.90 0.59 0.52 0.72 1.06 1.36 1.52 1.55 1.62 1.84 2.24 2.67 2.88 2.66 1.99 1.06 0.19 0.00 0.00 0.00 0.14 0.30 0.22 0.00 0.00 0.00 0.00 0.00 0.26 0.41 0.41 0.28 0.12 0.02 0.06 0.24 0.51 0.75 0.87 0.80 0.59 0.35 0.23 0.33 0.62 0.93 1.08 1.00 0.75 0.57 0.73 1.34 2.31 3.34 4.09 4.32 4.03 3.44 2.81 2.34 2.06 1.86 1.59 1.22 0.83 0.58 0.60 0.88 1.27 1.56 1.57 1.30 40.0 + 42.5 1.37 0.94 0.58 0.48 0.67 1.01 1.35 1.56 1.69 1.87 2.22 2.76 3.29 3.57 3.37 2.67 1.69 0.76 0.20 0.11 0.36 0.70 0.88 0.80 0.54 0.28 0.19 0.33 0.60 0.87 1.01 0.96 0.79 0.57 0.44 0.46 0.64 0.92 1.18 1.31 1.25 1.02 0.76 0.61 0.69 0.95 1.25 1.40 1.29 1.00 0.77 0.87 1.44 2.41 3.46 4.23 4.48 4.19 3.56 2.87 2.34 2.02 1.78 1.50 1.13 0.74 0.51 0.56 0.88 1.31 1.63 1.65 1.37 0.94 0.58 0.48 0.67 1.01 1.35 1.56 1.69 1.87 2.22 2.76 3.29 3.57 3.37 2.67 1.69 0.76 0.20 0.11 0.36 0.70 0.88 0.80 0.54 0.28 0.19 0.33 0.60 0.87 1.01 0.96 0.79 0.57 0.44 0.46 0.64 0.92 1.18 1.31 1.25 1.02 0.76 0.61 0.69 0.95 1.25 1.40 1.29 1.00 0.77 0.87 1.44 2.41 3.46 4.23 4.48 4.19 3.56 2.87 2.34 2.02 1.78 1.50 1.13 0.74 0.51 0.56 0.88 1.31 1.63 1.65 1.37 42.5 + 45.0 1.44 0.99 0.62 0.50 0.67 1.03 1.39 1.66 1.86 2.13 2.58 3.21 3.84 4.17 4.00 3.30 2.29 1.32 0.72 0.59 0.83 1.16 1.33 1.24 0.96 0.70 0.61 0.74 1.01 1.27 1.39 1.31 1.09 0.83 0.66 0.65 0.80 1.05 1.29 1.40 1.32 1.08 0.80 0.63 0.69 0.93 1.22 1.36 1.23 0.92 0.64 0.70 1.22 2.15 3.18 3.96 4.23 3.96 3.36 2.71 2.21 1.91 1.70 1.45 1.10 0.73 0.51 0.57 0.91 1.37 1.70 1.73 1.44 0.99 0.62 0.50 0.67 1.03 1.39 1.66 1.86 2.13 2.58 3.21 3.84 4.17 4.00 3.30 2.29 1.32 0.72 0.59 0.83 1.16 1.33 1.24 0.96 0.70 0.61 0.74 1.01 1.27 1.39 1.31 1.09 0.83 0.66 0.65 0.80 1.05 1.29 1.40 1.32 1.08 0.80 0.63 0.69 0.93 1.22 1.36 1.23 0.92 0.64 0.70 1.22 2.15 3.18 3.96 4.23 3.96 3.36 2.71 2.21 1.91 1.70 1.45 1.10 0.73 0.51 0.57 0.91 1.37 1.70 1.73 1.44 45.0 + 47.5 1.46 1.03 0.67 0.57 0.76 1.13 1.51 1.81 2.04 2.35 2.84 3.51 4.16 4.53 4.39 3.69 2.67 1.67 1.02 0.84 1.02 1.31 1.46 1.35 1.06 0.77 0.66 0.77 1.03 1.27 1.37 1.27 1.03 0.75 0.55 0.50 0.61 0.81 1.00 1.07 0.96 0.70 0.42 0.25 0.30 0.54 0.81 0.94 0.81 0.49 0.21 0.24 0.72 1.60 2.59 3.35 3.64 3.43 2.92 2.37 1.98 1.77 1.65 1.45 1.14 0.78 0.56 0.62 0.94 1.38 1.70 1.74 1.46 1.03 0.67 0.57 0.76 1.13 1.51 1.81 2.04 2.35 2.84 3.51 4.16 4.53 4.39 3.69 2.67 1.67 1.02 0.84 1.02 1.31 1.46 1.35 1.06 0.77 0.66 0.77 1.03 1.27 1.37 1.27 1.03 0.75 0.55 0.50 0.61 0.81 1.00 1.07 0.96 0.70 0.42 0.25 0.30 0.54 0.81 0.94 0.81 0.49 0.21 0.24 0.72 1.60 2.59 3.35 3.64 3.43 2.92 2.37 1.98 1.77 1.65 1.45 1.14 0.78 0.56 0.62 0.94 1.38 1.70 1.74 1.46 47.5 + 50.0 1.47 1.08 0.77 0.70 0.91 1.29 1.69 1.98 2.21 2.48 2.94 3.56 4.19 4.56 4.43 3.76 2.76 1.75 1.05 0.81 0.92 1.15 1.26 1.13 0.82 0.52 0.38 0.46 0.69 0.91 1.00 0.91 0.68 0.41 0.21 0.14 0.20 0.35 0.47 0.49 0.35 0.10 0.00 0.00 0.00 0.00 0.24 0.37 0.25 0.00 0.00 0.00 0.16 0.97 1.90 2.61 2.91 2.77 2.37 1.96 1.72 1.64 1.62 1.49 1.22 0.88 0.65 0.67 0.96 1.36 1.67 1.71 1.47 1.08 0.77 0.70 0.91 1.29 1.69 1.98 2.21 2.48 2.94 3.56 4.19 4.56 4.43 3.76 2.76 1.75 1.05 0.81 0.92 1.15 1.26 1.13 0.82 0.52 0.38 0.46 0.69 0.91 1.00 0.91 0.68 0.41 0.21 0.14 0.20 0.35 0.47 0.49 0.35 0.10 0.00 0.00 0.00 0.00 0.24 0.37 0.25 0.00 0.00 0.00 0.16 0.97 1.90 2.61 2.91 2.77 2.37 1.96 1.72 1.64 1.62 1.49 1.22 0.88 0.65 0.67 0.96 1.36 1.67 1.71 1.47 50.0 + 52.5 1.53 1.20 0.94 0.91 1.14 1.51 1.88 2.15 2.31 2.51 2.86 3.37 3.92 4.25 4.14 3.54 2.60 1.63 0.92 0.62 0.67 0.84 0.91 0.77 0.46 0.14 0.00 0.02 0.21 0.42 0.52 0.47 0.28 0.06 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.54 1.37 2.01 2.27 2.17 1.87 1.59 1.48 1.53 1.59 1.53 1.30 0.98 0.75 0.76 1.01 1.38 1.67 1.73 1.53 1.20 0.94 0.91 1.14 1.51 1.88 2.15 2.31 2.51 2.86 3.37 3.92 4.25 4.14 3.54 2.60 1.63 0.92 0.62 0.67 0.84 0.91 0.77 0.46 0.14 0.00 0.02 0.21 0.42 0.52 0.47 0.28 0.06 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.54 1.37 2.01 2.27 2.17 1.87 1.59 1.48 1.53 1.59 1.53 1.30 0.98 0.75 0.76 1.01 1.38 1.67 1.73 1.53 52.5 + 55.0 1.68 1.41 1.20 1.18 1.39 1.73 2.06 2.25 2.34 2.41 2.61 2.98 3.41 3.70 3.63 3.13 2.31 1.43 0.76 0.45 0.46 0.60 0.65 0.51 0.21 0.00 0.00 0.00 0.00 0.07 0.21 0.22 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.47 1.17 1.69 1.88 1.77 1.51 1.32 1.30 1.42 1.55 1.53 1.33 1.05 0.84 0.85 1.10 1.46 1.75 1.84 1.68 1.41 1.20 1.18 1.39 1.73 2.06 2.25 2.34 2.41 2.61 2.98 3.41 3.70 3.63 3.13 2.31 1.43 0.76 0.45 0.46 0.60 0.65 0.51 0.21 0.00 0.00 0.00 0.00 0.07 0.21 0.22 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.47 1.17 1.69 1.88 1.77 1.51 1.32 1.30 1.42 1.55 1.53 1.33 1.05 0.84 0.85 1.10 1.46 1.75 1.84 1.68 55.0 + 57.5 1.91 1.68 1.49 1.46 1.62 1.90 2.15 2.27 2.26 2.21 2.25 2.45 2.76 3.00 2.99 2.62 1.97 1.24 0.66 0.38 0.39 0.52 0.60 0.49 0.22 0.00 0.00 0.00 0.00 0.03 0.22 0.30 0.28 0.20 0.11 0.08 0.10 0.14 0.15 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.38 0.34 0.14 0.00 0.00 0.21 0.71 1.26 1.64 1.73 1.57 1.31 1.14 1.15 1.29 1.43 1.43 1.27 1.03 0.87 0.92 1.19 1.57 1.89 2.02 1.91 1.68 1.49 1.46 1.62 1.90 2.15 2.27 2.26 2.21 2.25 2.45 2.76 3.00 2.99 2.62 1.97 1.24 0.66 0.38 0.39 0.52 0.60 0.49 0.22 0.00 0.00 0.00 0.00 0.03 0.22 0.30 0.28 0.20 0.11 0.08 0.10 0.14 0.15 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.38 0.34 0.14 0.00 0.00 0.21 0.71 1.26 1.64 1.73 1.57 1.31 1.14 1.15 1.29 1.43 1.43 1.27 1.03 0.87 0.92 1.19 1.57 1.89 2.02 1.91 57.5 + 60.0 2.12 1.92 1.73 1.66 1.77 1.97 2.15 2.20 2.10 1.94 1.84 1.89 2.08 2.28 2.32 2.10 1.63 1.06 0.60 0.39 0.42 0.59 0.70 0.66 0.44 0.15 0.00 0.00 0.00 0.24 0.48 0.64 0.70 0.68 0.64 0.61 0.62 0.65 0.65 0.57 0.41 0.19 0.03 0.00 0.15 0.44 0.75 0.92 0.89 0.70 0.49 0.44 0.63 1.02 1.44 1.69 1.69 1.46 1.17 0.98 0.97 1.09 1.21 1.21 1.07 0.88 0.78 0.89 1.21 1.64 2.00 2.17 2.12 1.92 1.73 1.66 1.77 1.97 2.15 2.20 2.10 1.94 1.84 1.89 2.08 2.28 2.32 2.10 1.63 1.06 0.60 0.39 0.42 0.59 0.70 0.66 0.44 0.15 0.00 0.00 0.00 0.24 0.48 0.64 0.70 0.68 0.64 0.61 0.62 0.65 0.65 0.57 0.41 0.19 0.03 0.00 0.15 0.44 0.75 0.92 0.89 0.70 0.49 0.44 0.63 1.02 1.44 1.69 1.69 1.46 1.17 0.98 0.97 1.09 1.21 1.21 1.07 0.88 0.78 0.89 1.21 1.64 2.00 2.17 2.12 60.0 + 62.5 2.20 2.04 1.86 1.75 1.79 1.92 2.04 2.05 1.91 1.68 1.47 1.40 1.48 1.63 1.71 1.60 1.29 0.87 0.52 0.37 0.44 0.64 0.82 0.85 0.70 0.45 0.23 0.16 0.27 0.51 0.80 1.02 1.15 1.17 1.14 1.11 1.11 1.12 1.11 1.02 0.84 0.62 0.44 0.40 0.54 0.82 1.12 1.29 1.26 1.05 0.81 0.71 0.84 1.14 1.46 1.63 1.56 1.30 0.99 0.78 0.73 0.81 0.89 0.88 0.76 0.61 0.57 0.73 1.10 1.56 1.97 2.20 2.20 2.04 1.86 1.75 1.79 1.92 2.04 2.05 1.91 1.68 1.47 1.40 1.48 1.63 1.71 1.60 1.29 0.87 0.52 0.37 0.44 0.64 0.82 0.85 0.70 0.45 0.23 0.16 0.27 0.51 0.80 1.02 1.15 1.17 1.14 1.11 1.11 1.12 1.11 1.02 0.84 0.62 0.44 0.40 0.54 0.82 1.12 1.29 1.26 1.05 0.81 0.71 0.84 1.14 1.46 1.63 1.56 1.30 0.99 0.78 0.73 0.81 0.89 0.88 0.76 0.61 0.57 0.73 1.10 1.56 1.97 2.20 2.20 62.5 + 65.0 2.13 2.03 1.85 1.73 1.72 1.80 1.89 1.88 1.73 1.47 1.21 1.05 1.04 1.15 1.24 1.20 0.99 0.67 0.38 0.26 0.35 0.59 0.82 0.93 0.85 0.64 0.42 0.32 0.41 0.65 0.96 1.23 1.39 1.44 1.42 1.37 1.35 1.34 1.31 1.22 1.03 0.79 0.59 0.52 0.63 0.89 1.16 1.31 1.25 1.02 0.75 0.61 0.67 0.91 1.18 1.33 1.26 1.01 0.71 0.49 0.42 0.46 0.52 0.50 0.39 0.27 0.27 0.46 0.84 1.33 1.78 2.07 2.13 2.03 1.85 1.73 1.72 1.80 1.89 1.88 1.73 1.47 1.21 1.05 1.04 1.15 1.24 1.20 0.99 0.67 0.38 0.26 0.35 0.59 0.82 0.93 0.85 0.64 0.42 0.32 0.41 0.65 0.96 1.23 1.39 1.44 1.42 1.37 1.35 1.34 1.31 1.22 1.03 0.79 0.59 0.52 0.63 0.89 1.16 1.31 1.25 1.02 0.75 0.61 0.67 0.91 1.18 1.33 1.26 1.01 0.71 0.49 0.42 0.46 0.52 0.50 0.39 0.27 0.27 0.46 0.84 1.33 1.78 2.07 2.13 65.0 + 67.5 1.99 1.94 1.81 1.68 1.63 1.68 1.75 1.75 1.62 1.37 1.09 0.89 0.82 0.88 0.96 0.95 0.78 0.51 0.24 0.11 0.19 0.43 0.69 0.85 0.82 0.64 0.43 0.30 0.35 0.57 0.89 1.18 1.38 1.45 1.42 1.36 1.31 1.28 1.24 1.14 0.95 0.70 0.48 0.37 0.45 0.66 0.90 1.02 0.94 0.69 0.39 0.21 0.23 0.43 0.69 0.85 0.82 0.62 0.36 0.17 0.09 0.12 0.16 0.15 0.06 0.00 0.00 0.17 0.55 1.04 1.52 1.85 1.99 1.94 1.81 1.68 1.63 1.68 1.75 1.75 1.62 1.37 1.09 0.89 0.82 0.88 0.96 0.95 0.78 0.51 0.24 0.11 0.19 0.43 0.69 0.85 0.82 0.64 0.43 0.30 0.35 0.57 0.89 1.18 1.38 1.45 1.42 1.36 1.31 1.28 1.24 1.14 0.95 0.70 0.48 0.37 0.45 0.66 0.90 1.02 0.94 0.69 0.39 0.21 0.23 0.43 0.69 0.85 0.82 0.62 0.36 0.17 0.09 0.12 0.16 0.15 0.06 0.00 0.00 0.17 0.55 1.04 1.52 1.85 1.99 67.5 + 70.0 1.90 1.92 1.82 1.69 1.63 1.64 1.69 1.69 1.59 1.38 1.12 0.91 0.82 0.84 0.91 0.89 0.74 0.47 0.19 0.03 0.07 0.28 0.54 0.72 0.72 0.56 0.34 0.18 0.20 0.39 0.69 0.99 1.22 1.31 1.29 1.22 1.15 1.09 1.04 0.93 0.74 0.49 0.25 0.12 0.16 0.33 0.54 0.64 0.56 0.30 0.00 0.00 0.00 0.00 0.20 0.39 0.41 0.28 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.35 0.82 1.31 1.70 1.90 1.92 1.82 1.69 1.63 1.64 1.69 1.69 1.59 1.38 1.12 0.91 0.82 0.84 0.91 0.89 0.74 0.47 0.19 0.03 0.07 0.28 0.54 0.72 0.72 0.56 0.34 0.18 0.20 0.39 0.69 0.99 1.22 1.31 1.29 1.22 1.15 1.09 1.04 0.93 0.74 0.49 0.25 0.12 0.16 0.33 0.54 0.64 0.56 0.30 0.00 0.00 0.00 0.00 0.20 0.39 0.41 0.28 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.35 0.82 1.31 1.70 1.90 70.0 + 72.5 1.97 2.05 1.98 1.85 1.74 1.70 1.71 1.70 1.62 1.44 1.22 1.04 0.95 0.97 1.02 1.00 0.85 0.58 0.29 0.11 0.11 0.28 0.51 0.67 0.67 0.52 0.30 0.13 0.11 0.26 0.55 0.86 1.10 1.23 1.23 1.16 1.07 0.98 0.90 0.78 0.59 0.35 0.11 0.00 0.00 0.11 0.29 0.40 0.34 0.12 0.00 0.00 0.00 0.00 0.00 0.13 0.20 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.33 0.80 1.29 1.71 1.97 2.05 1.98 1.85 1.74 1.70 1.71 1.70 1.62 1.44 1.22 1.04 0.95 0.97 1.02 1.00 0.85 0.58 0.29 0.11 0.11 0.28 0.51 0.67 0.67 0.52 0.30 0.13 0.11 0.26 0.55 0.86 1.10 1.23 1.23 1.16 1.07 0.98 0.90 0.78 0.59 0.35 0.11 0.00 0.00 0.11 0.29 0.40 0.34 0.12 0.00 0.00 0.00 0.00 0.00 0.13 0.20 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.33 0.80 1.29 1.71 1.97 72.5 + 75.0 2.21 2.32 2.26 2.11 1.95 1.84 1.79 1.74 1.65 1.50 1.32 1.18 1.12 1.15 1.19 1.17 1.02 0.77 0.50 0.32 0.31 0.44 0.63 0.77 0.76 0.62 0.41 0.24 0.21 0.34 0.61 0.92 1.19 1.34 1.37 1.31 1.20 1.08 0.96 0.81 0.61 0.37 0.14 0.00 0.00 0.09 0.27 0.40 0.39 0.23 0.00 0.00 0.00 0.00 0.00 0.16 0.25 0.21 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.19 0.52 0.97 1.47 1.91 2.21 2.32 2.26 2.11 1.95 1.84 1.79 1.74 1.65 1.50 1.32 1.18 1.12 1.15 1.19 1.17 1.02 0.77 0.50 0.32 0.31 0.44 0.63 0.77 0.76 0.62 0.41 0.24 0.21 0.34 0.61 0.92 1.19 1.34 1.37 1.31 1.20 1.08 0.96 0.81 0.61 0.37 0.14 0.00 0.00 0.09 0.27 0.40 0.39 0.23 0.00 0.00 0.00 0.00 0.00 0.16 0.25 0.21 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.19 0.52 0.97 1.47 1.91 2.21 75.0 + 77.5 2.49 2.61 2.55 2.37 2.16 1.98 1.84 1.73 1.61 1.47 1.33 1.23 1.20 1.23 1.27 1.24 1.11 0.89 0.67 0.54 0.55 0.67 0.83 0.94 0.93 0.81 0.64 0.51 0.50 0.63 0.88 1.18 1.46 1.65 1.71 1.66 1.54 1.38 1.20 1.00 0.77 0.53 0.31 0.16 0.13 0.22 0.39 0.54 0.60 0.53 0.36 0.19 0.09 0.11 0.23 0.38 0.46 0.45 0.34 0.19 0.07 0.00 0.00 0.03 0.08 0.15 0.27 0.48 0.81 1.25 1.74 2.18 2.49 2.61 2.55 2.37 2.16 1.98 1.84 1.73 1.61 1.47 1.33 1.23 1.20 1.23 1.27 1.24 1.11 0.89 0.67 0.54 0.55 0.67 0.83 0.94 0.93 0.81 0.64 0.51 0.50 0.63 0.88 1.18 1.46 1.65 1.71 1.66 1.54 1.38 1.20 1.00 0.77 0.53 0.31 0.16 0.13 0.22 0.39 0.54 0.60 0.53 0.36 0.19 0.09 0.11 0.23 0.38 0.46 0.45 0.34 0.19 0.07 0.00 0.00 0.03 0.08 0.15 0.27 0.48 0.81 1.25 1.74 2.18 2.49 77.5 + 80.0 2.66 2.77 2.71 2.51 2.26 2.01 1.81 1.64 1.48 1.33 1.21 1.14 1.13 1.16 1.17 1.12 0.99 0.81 0.67 0.61 0.66 0.79 0.94 1.04 1.04 0.96 0.86 0.79 0.83 0.97 1.22 1.51 1.79 2.00 2.10 2.07 1.94 1.74 1.50 1.24 0.98 0.73 0.51 0.35 0.30 0.35 0.50 0.66 0.77 0.78 0.70 0.56 0.44 0.41 0.46 0.57 0.65 0.67 0.59 0.46 0.32 0.21 0.16 0.18 0.25 0.36 0.52 0.76 1.09 1.50 1.96 2.37 2.66 2.77 2.71 2.51 2.26 2.01 1.81 1.64 1.48 1.33 1.21 1.14 1.13 1.16 1.17 1.12 0.99 0.81 0.67 0.61 0.66 0.79 0.94 1.04 1.04 0.96 0.86 0.79 0.83 0.97 1.22 1.51 1.79 2.00 2.10 2.07 1.94 1.74 1.50 1.24 0.98 0.73 0.51 0.35 0.30 0.35 0.50 0.66 0.77 0.78 0.70 0.56 0.44 0.41 0.46 0.57 0.65 0.67 0.59 0.46 0.32 0.21 0.16 0.18 0.25 0.36 0.52 0.76 1.09 1.50 1.96 2.37 2.66 80.0 + 82.5 2.64 2.73 2.65 2.45 2.18 1.90 1.65 1.44 1.25 1.10 1.00 0.95 0.94 0.94 0.90 0.80 0.66 0.51 0.42 0.44 0.55 0.71 0.86 0.94 0.96 0.93 0.91 0.93 1.03 1.20 1.44 1.72 2.00 2.23 2.37 2.38 2.26 2.04 1.75 1.45 1.15 0.88 0.65 0.48 0.39 0.39 0.48 0.62 0.76 0.82 0.79 0.69 0.56 0.48 0.48 0.55 0.65 0.72 0.71 0.62 0.49 0.36 0.29 0.29 0.37 0.51 0.70 0.94 1.26 1.63 2.03 2.39 2.64 2.73 2.65 2.45 2.18 1.90 1.65 1.44 1.25 1.10 1.00 0.95 0.94 0.94 0.90 0.80 0.66 0.51 0.42 0.44 0.55 0.71 0.86 0.94 0.96 0.93 0.91 0.93 1.03 1.20 1.44 1.72 2.00 2.23 2.37 2.38 2.26 2.04 1.75 1.45 1.15 0.88 0.65 0.48 0.39 0.39 0.48 0.62 0.76 0.82 0.79 0.69 0.56 0.48 0.48 0.55 0.65 0.72 0.71 0.62 0.49 0.36 0.29 0.29 0.37 0.51 0.70 0.94 1.26 1.63 2.03 2.39 2.64 82.5 + 85.0 2.45 2.50 2.41 2.21 1.95 1.68 1.41 1.18 0.98 0.84 0.75 0.72 0.71 0.67 0.58 0.43 0.25 0.10 0.05 0.12 0.28 0.46 0.61 0.68 0.71 0.72 0.76 0.86 1.01 1.21 1.45 1.72 2.00 2.25 2.44 2.50 2.43 2.22 1.92 1.59 1.27 0.98 0.75 0.55 0.41 0.34 0.36 0.45 0.56 0.64 0.64 0.55 0.41 0.29 0.25 0.31 0.44 0.57 0.64 0.63 0.54 0.43 0.35 0.35 0.43 0.58 0.78 1.03 1.32 1.65 1.98 2.27 2.45 2.50 2.41 2.21 1.95 1.68 1.41 1.18 0.98 0.84 0.75 0.72 0.71 0.67 0.58 0.43 0.25 0.10 0.05 0.12 0.28 0.46 0.61 0.68 0.71 0.72 0.76 0.86 1.01 1.21 1.45 1.72 2.00 2.25 2.44 2.50 2.43 2.22 1.92 1.59 1.27 0.98 0.75 0.55 0.41 0.34 0.36 0.45 0.56 0.64 0.64 0.55 0.41 0.29 0.25 0.31 0.44 0.57 0.64 0.63 0.54 0.43 0.35 0.35 0.43 0.58 0.78 1.03 1.32 1.65 1.98 2.27 2.45 85.0 + 87.5 2.24 2.24 2.13 1.93 1.68 1.41 1.16 0.93 0.74 0.61 0.54 0.53 0.53 0.49 0.37 0.17 0.00 0.00 0.00 0.00 0.03 0.21 0.35 0.41 0.42 0.44 0.50 0.64 0.83 1.04 1.28 1.54 1.82 2.10 2.34 2.48 2.47 2.31 2.04 1.72 1.39 1.10 0.86 0.64 0.46 0.32 0.26 0.27 0.34 0.39 0.39 0.30 0.14 0.00 0.00 0.00 0.12 0.32 0.47 0.53 0.51 0.43 0.37 0.38 0.48 0.64 0.85 1.09 1.36 1.64 1.90 2.12 2.24 2.24 2.13 1.93 1.68 1.41 1.16 0.93 0.74 0.61 0.54 0.53 0.53 0.49 0.37 0.17 0.00 0.00 0.00 0.00 0.03 0.21 0.35 0.41 0.42 0.44 0.50 0.64 0.83 1.04 1.28 1.54 1.82 2.10 2.34 2.48 2.47 2.31 2.04 1.72 1.39 1.10 0.86 0.64 0.46 0.32 0.26 0.27 0.34 0.39 0.39 0.30 0.14 0.00 0.00 0.00 0.12 0.32 0.47 0.53 0.51 0.43 0.37 0.38 0.48 0.64 0.85 1.09 1.36 1.64 1.90 2.12 2.24 87.5 + 90.0 2.14 2.09 1.94 1.71 1.46 1.21 0.96 0.74 0.56 0.46 0.42 0.44 0.48 0.45 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.30 0.42 0.60 0.82 1.05 1.30 1.58 1.89 2.18 2.40 2.47 2.40 2.18 1.89 1.58 1.30 1.05 0.82 0.60 0.42 0.30 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.45 0.48 0.44 0.42 0.46 0.56 0.74 0.96 1.21 1.46 1.71 1.94 2.09 2.14 2.09 1.94 1.71 1.46 1.21 0.96 0.74 0.56 0.46 0.42 0.44 0.48 0.45 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.30 0.42 0.60 0.82 1.05 1.30 1.58 1.89 2.18 2.40 2.47 2.40 2.18 1.89 1.58 1.30 1.05 0.82 0.60 0.42 0.30 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.45 0.48 0.44 0.42 0.46 0.56 0.74 0.96 1.21 1.46 1.71 1.94 2.09 2.14 90.0 + + 7.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.21 FMAX-I = 5.21 ) PHI2 = 8. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 0.0 + 2.5 1.82 1.56 1.32 1.09 0.87 0.67 0.50 0.39 0.35 0.35 0.33 0.24 0.07 0.00 0.00 0.00 0.00 0.00 0.07 0.27 0.38 0.41 0.41 0.43 0.52 0.67 0.86 1.07 1.29 1.53 1.77 2.00 2.16 2.22 2.17 2.01 1.80 1.56 1.32 1.10 0.88 0.69 0.53 0.44 0.41 0.41 0.38 0.26 0.06 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.35 0.36 0.40 0.52 0.69 0.90 1.12 1.34 1.59 1.84 2.08 2.25 2.31 2.24 2.06 1.82 1.56 1.32 1.09 0.87 0.67 0.50 0.39 0.35 0.35 0.33 0.24 0.07 0.00 0.00 0.00 0.00 0.00 0.07 0.27 0.38 0.41 0.41 0.43 0.52 0.67 0.86 1.07 1.29 1.53 1.77 2.00 2.16 2.22 2.17 2.01 1.80 1.56 1.32 1.10 0.88 0.69 0.53 0.44 0.41 0.41 0.38 0.26 0.06 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.35 0.36 0.40 0.52 0.69 0.90 1.12 1.34 1.59 1.84 2.08 2.25 2.31 2.24 2.06 1.82 2.5 + 5.0 1.84 1.53 1.25 0.99 0.77 0.56 0.39 0.28 0.24 0.26 0.29 0.27 0.16 0.00 0.00 0.00 0.00 0.00 0.16 0.36 0.46 0.48 0.44 0.40 0.43 0.54 0.71 0.92 1.17 1.42 1.68 1.91 2.08 2.15 2.12 1.97 1.76 1.51 1.26 1.01 0.79 0.60 0.49 0.45 0.46 0.48 0.45 0.33 0.12 0.00 0.00 0.00 0.00 0.00 0.13 0.26 0.30 0.29 0.29 0.34 0.47 0.65 0.87 1.11 1.36 1.64 1.94 2.22 2.41 2.47 2.37 2.14 1.84 1.53 1.25 0.99 0.77 0.56 0.39 0.28 0.24 0.26 0.29 0.27 0.16 0.00 0.00 0.00 0.00 0.00 0.16 0.36 0.46 0.48 0.44 0.40 0.43 0.54 0.71 0.92 1.17 1.42 1.68 1.91 2.08 2.15 2.12 1.97 1.76 1.51 1.26 1.01 0.79 0.60 0.49 0.45 0.46 0.48 0.45 0.33 0.12 0.00 0.00 0.00 0.00 0.00 0.13 0.26 0.30 0.29 0.29 0.34 0.47 0.65 0.87 1.11 1.36 1.64 1.94 2.22 2.41 2.47 2.37 2.14 1.84 5.0 + 7.5 1.80 1.42 1.09 0.82 0.59 0.39 0.22 0.11 0.08 0.12 0.20 0.25 0.22 0.11 0.00 0.00 0.00 0.00 0.16 0.35 0.47 0.48 0.40 0.30 0.26 0.30 0.45 0.67 0.94 1.22 1.48 1.71 1.88 1.96 1.94 1.82 1.63 1.37 1.09 0.81 0.57 0.41 0.35 0.37 0.44 0.49 0.46 0.32 0.12 0.00 0.00 0.00 0.00 0.09 0.22 0.28 0.26 0.22 0.22 0.29 0.43 0.62 0.84 1.07 1.34 1.66 2.01 2.33 2.55 2.60 2.46 2.17 1.80 1.42 1.09 0.82 0.59 0.39 0.22 0.11 0.08 0.12 0.20 0.25 0.22 0.11 0.00 0.00 0.00 0.00 0.16 0.35 0.47 0.48 0.40 0.30 0.26 0.30 0.45 0.67 0.94 1.22 1.48 1.71 1.88 1.96 1.94 1.82 1.63 1.37 1.09 0.81 0.57 0.41 0.35 0.37 0.44 0.49 0.46 0.32 0.12 0.00 0.00 0.00 0.00 0.09 0.22 0.28 0.26 0.22 0.22 0.29 0.43 0.62 0.84 1.07 1.34 1.66 2.01 2.33 2.55 2.60 2.46 2.17 1.80 7.5 + 10.0 1.62 1.19 0.84 0.58 0.38 0.20 0.05 0.00 0.00 0.00 0.03 0.13 0.17 0.10 0.00 0.00 0.00 0.00 0.00 0.19 0.33 0.36 0.26 0.12 0.00 0.00 0.11 0.34 0.63 0.92 1.18 1.39 1.54 1.62 1.62 1.54 1.36 1.11 0.80 0.50 0.26 0.12 0.12 0.21 0.33 0.40 0.36 0.20 0.00 0.00 0.00 0.00 0.02 0.19 0.29 0.29 0.23 0.17 0.19 0.28 0.44 0.62 0.81 1.02 1.27 1.60 1.97 2.32 2.55 2.58 2.41 2.05 1.62 1.19 0.84 0.58 0.38 0.20 0.05 0.00 0.00 0.00 0.03 0.13 0.17 0.10 0.00 0.00 0.00 0.00 0.00 0.19 0.33 0.36 0.26 0.12 0.00 0.00 0.11 0.34 0.63 0.92 1.18 1.39 1.54 1.62 1.62 1.54 1.36 1.11 0.80 0.50 0.26 0.12 0.12 0.21 0.33 0.40 0.36 0.20 0.00 0.00 0.00 0.00 0.02 0.19 0.29 0.29 0.23 0.17 0.19 0.28 0.44 0.62 0.81 1.02 1.27 1.60 1.97 2.32 2.55 2.58 2.41 2.05 1.62 10.0 + 12.5 1.33 0.88 0.53 0.30 0.16 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.17 0.09 0.00 0.00 0.00 0.00 0.04 0.33 0.63 0.87 1.04 1.15 1.22 1.24 1.19 1.05 0.82 0.51 0.19 0.00 0.00 0.00 0.02 0.19 0.26 0.20 0.01 0.00 0.00 0.00 0.00 0.03 0.23 0.32 0.30 0.22 0.18 0.22 0.35 0.51 0.68 0.81 0.96 1.16 1.46 1.82 2.17 2.40 2.42 2.21 1.81 1.33 0.88 0.53 0.30 0.16 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.17 0.09 0.00 0.00 0.00 0.00 0.04 0.33 0.63 0.87 1.04 1.15 1.22 1.24 1.19 1.05 0.82 0.51 0.19 0.00 0.00 0.00 0.02 0.19 0.26 0.20 0.01 0.00 0.00 0.00 0.00 0.03 0.23 0.32 0.30 0.22 0.18 0.22 0.35 0.51 0.68 0.81 0.96 1.16 1.46 1.82 2.17 2.40 2.42 2.21 1.81 1.33 12.5 + 15.0 1.04 0.58 0.26 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.18 0.46 0.67 0.80 0.87 0.92 0.95 0.94 0.85 0.64 0.33 0.01 0.00 0.00 0.00 0.00 0.12 0.20 0.11 0.00 0.00 0.00 0.00 0.00 0.03 0.25 0.35 0.31 0.24 0.22 0.30 0.47 0.65 0.79 0.87 0.94 1.07 1.31 1.64 1.97 2.19 2.20 1.96 1.54 1.04 0.58 0.26 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.18 0.46 0.67 0.80 0.87 0.92 0.95 0.94 0.85 0.64 0.33 0.01 0.00 0.00 0.00 0.00 0.12 0.20 0.11 0.00 0.00 0.00 0.00 0.00 0.03 0.25 0.35 0.31 0.24 0.22 0.30 0.47 0.65 0.79 0.87 0.94 1.07 1.31 1.64 1.97 2.19 2.20 1.96 1.54 1.04 15.0 + 17.5 0.87 0.41 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.13 0.00 0.00 0.00 0.00 0.00 0.24 0.51 0.69 0.78 0.82 0.85 0.89 0.91 0.86 0.68 0.40 0.07 0.00 0.00 0.00 0.02 0.23 0.31 0.20 0.00 0.00 0.00 0.00 0.00 0.08 0.32 0.41 0.37 0.29 0.29 0.41 0.61 0.82 0.95 0.99 1.00 1.06 1.24 1.53 1.84 2.05 2.06 1.82 1.38 0.87 0.41 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.13 0.00 0.00 0.00 0.00 0.00 0.24 0.51 0.69 0.78 0.82 0.85 0.89 0.91 0.86 0.68 0.40 0.07 0.00 0.00 0.00 0.02 0.23 0.31 0.20 0.00 0.00 0.00 0.00 0.00 0.08 0.32 0.41 0.37 0.29 0.29 0.41 0.61 0.82 0.95 0.99 1.00 1.06 1.24 1.53 1.84 2.05 2.06 1.82 1.38 0.87 17.5 + 20.0 0.89 0.42 0.12 0.00 0.02 0.06 0.05 0.00 0.00 0.00 0.00 0.04 0.21 0.25 0.11 0.00 0.00 0.00 0.00 0.00 0.31 0.50 0.48 0.30 0.07 0.00 0.00 0.21 0.50 0.75 0.91 0.98 0.99 1.01 1.06 1.10 1.07 0.93 0.66 0.33 0.07 0.00 0.05 0.27 0.49 0.58 0.46 0.17 0.00 0.00 0.00 0.00 0.24 0.46 0.53 0.47 0.39 0.39 0.52 0.76 1.00 1.14 1.18 1.15 1.16 1.29 1.54 1.84 2.06 2.08 1.85 1.41 0.89 0.42 0.12 0.00 0.02 0.06 0.05 0.00 0.00 0.00 0.00 0.04 0.21 0.25 0.11 0.00 0.00 0.00 0.00 0.00 0.31 0.50 0.48 0.30 0.07 0.00 0.00 0.21 0.50 0.75 0.91 0.98 0.99 1.01 1.06 1.10 1.07 0.93 0.66 0.33 0.07 0.00 0.05 0.27 0.49 0.58 0.46 0.17 0.00 0.00 0.00 0.00 0.24 0.46 0.53 0.47 0.39 0.39 0.52 0.76 1.00 1.14 1.18 1.15 1.16 1.29 1.54 1.84 2.06 2.08 1.85 1.41 0.89 20.0 + 22.5 1.07 0.60 0.29 0.19 0.23 0.30 0.30 0.22 0.11 0.08 0.18 0.39 0.62 0.72 0.63 0.38 0.13 0.02 0.14 0.44 0.77 0.95 0.92 0.71 0.44 0.29 0.31 0.51 0.79 1.04 1.19 1.24 1.24 1.25 1.30 1.34 1.33 1.21 0.95 0.63 0.36 0.23 0.29 0.51 0.75 0.86 0.76 0.49 0.17 0.00 0.00 0.18 0.47 0.69 0.75 0.67 0.55 0.52 0.66 0.91 1.18 1.36 1.41 1.37 1.35 1.44 1.66 1.94 2.17 2.22 2.01 1.59 1.07 0.60 0.29 0.19 0.23 0.30 0.30 0.22 0.11 0.08 0.18 0.39 0.62 0.72 0.63 0.38 0.13 0.02 0.14 0.44 0.77 0.95 0.92 0.71 0.44 0.29 0.31 0.51 0.79 1.04 1.19 1.24 1.24 1.25 1.30 1.34 1.33 1.21 0.95 0.63 0.36 0.23 0.29 0.51 0.75 0.86 0.76 0.49 0.17 0.00 0.00 0.18 0.47 0.69 0.75 0.67 0.55 0.52 0.66 0.91 1.18 1.36 1.41 1.37 1.35 1.44 1.66 1.94 2.17 2.22 2.01 1.59 1.07 22.5 + 25.0 1.30 0.83 0.53 0.44 0.51 0.60 0.62 0.54 0.43 0.40 0.52 0.78 1.06 1.21 1.14 0.90 0.62 0.48 0.56 0.83 1.12 1.28 1.22 0.97 0.68 0.49 0.49 0.66 0.93 1.16 1.31 1.35 1.35 1.35 1.38 1.42 1.42 1.31 1.08 0.77 0.48 0.33 0.37 0.57 0.83 0.98 0.94 0.71 0.41 0.20 0.20 0.42 0.73 0.98 1.06 0.97 0.83 0.76 0.85 1.09 1.37 1.58 1.65 1.61 1.56 1.60 1.78 2.05 2.29 2.37 2.20 1.81 1.30 0.83 0.53 0.44 0.51 0.60 0.62 0.54 0.43 0.40 0.52 0.78 1.06 1.21 1.14 0.90 0.62 0.48 0.56 0.83 1.12 1.28 1.22 0.97 0.68 0.49 0.49 0.66 0.93 1.16 1.31 1.35 1.35 1.35 1.38 1.42 1.42 1.31 1.08 0.77 0.48 0.33 0.37 0.57 0.83 0.98 0.94 0.71 0.41 0.20 0.20 0.42 0.73 0.98 1.06 0.97 0.83 0.76 0.85 1.09 1.37 1.58 1.65 1.61 1.56 1.60 1.78 2.05 2.29 2.37 2.20 1.81 1.30 25.0 + 27.5 1.44 1.01 0.74 0.69 0.79 0.91 0.94 0.85 0.73 0.69 0.82 1.10 1.40 1.55 1.46 1.18 0.85 0.65 0.68 0.90 1.16 1.29 1.20 0.93 0.61 0.40 0.38 0.53 0.77 0.99 1.13 1.17 1.15 1.14 1.16 1.20 1.20 1.12 0.92 0.64 0.36 0.18 0.19 0.38 0.65 0.86 0.89 0.73 0.47 0.30 0.33 0.59 0.98 1.32 1.48 1.43 1.27 1.14 1.16 1.34 1.59 1.80 1.87 1.81 1.71 1.69 1.80 2.04 2.29 2.40 2.27 1.92 1.44 1.01 0.74 0.69 0.79 0.91 0.94 0.85 0.73 0.69 0.82 1.10 1.40 1.55 1.46 1.18 0.85 0.65 0.68 0.90 1.16 1.29 1.20 0.93 0.61 0.40 0.38 0.53 0.77 0.99 1.13 1.17 1.15 1.14 1.16 1.20 1.20 1.12 0.92 0.64 0.36 0.18 0.19 0.38 0.65 0.86 0.89 0.73 0.47 0.30 0.33 0.59 0.98 1.32 1.48 1.43 1.27 1.14 1.16 1.34 1.59 1.80 1.87 1.81 1.71 1.69 1.80 2.04 2.29 2.40 2.27 1.92 1.44 27.5 + 30.0 1.45 1.06 0.86 0.87 1.02 1.18 1.22 1.12 0.97 0.92 1.04 1.31 1.58 1.69 1.53 1.16 0.74 0.46 0.43 0.60 0.84 0.95 0.85 0.57 0.25 0.03 0.00 0.14 0.36 0.56 0.68 0.71 0.69 0.66 0.67 0.72 0.75 0.71 0.58 0.34 0.08 0.00 0.00 0.05 0.33 0.59 0.70 0.61 0.42 0.29 0.37 0.72 1.24 1.74 2.04 2.07 1.90 1.70 1.60 1.68 1.86 2.02 2.05 1.94 1.76 1.65 1.69 1.88 2.12 2.26 2.19 1.88 1.45 1.06 0.86 0.87 1.02 1.18 1.22 1.12 0.97 0.92 1.04 1.31 1.58 1.69 1.53 1.16 0.74 0.46 0.43 0.60 0.84 0.95 0.85 0.57 0.25 0.03 0.00 0.14 0.36 0.56 0.68 0.71 0.69 0.66 0.67 0.72 0.75 0.71 0.58 0.34 0.08 0.00 0.00 0.05 0.33 0.59 0.70 0.61 0.42 0.29 0.37 0.72 1.24 1.74 2.04 2.07 1.90 1.70 1.60 1.68 1.86 2.02 2.05 1.94 1.76 1.65 1.69 1.88 2.12 2.26 2.19 1.88 1.45 30.0 + 32.5 1.36 1.02 0.87 0.95 1.17 1.37 1.43 1.33 1.17 1.09 1.20 1.45 1.68 1.71 1.44 0.95 0.41 0.04 0.00 0.10 0.32 0.44 0.35 0.08 0.00 0.00 0.00 0.00 0.00 0.08 0.19 0.20 0.16 0.13 0.14 0.20 0.29 0.33 0.27 0.11 0.00 0.00 0.00 0.00 0.08 0.39 0.56 0.54 0.39 0.30 0.45 0.90 1.57 2.26 2.73 2.86 2.70 2.41 2.17 2.09 2.15 2.21 2.17 1.98 1.71 1.50 1.47 1.62 1.86 2.03 2.00 1.74 1.36 1.02 0.87 0.95 1.17 1.37 1.43 1.33 1.17 1.09 1.20 1.45 1.68 1.71 1.44 0.95 0.41 0.04 0.00 0.10 0.32 0.44 0.35 0.08 0.00 0.00 0.00 0.00 0.00 0.08 0.19 0.20 0.16 0.13 0.14 0.20 0.29 0.33 0.27 0.11 0.00 0.00 0.00 0.00 0.08 0.39 0.56 0.54 0.39 0.30 0.45 0.90 1.57 2.26 2.73 2.86 2.70 2.41 2.17 2.09 2.15 2.21 2.17 1.98 1.71 1.50 1.47 1.62 1.86 2.03 2.00 1.74 1.36 32.5 + 35.0 1.26 0.95 0.83 0.96 1.23 1.47 1.56 1.48 1.33 1.27 1.39 1.63 1.83 1.78 1.41 0.78 0.13 0.00 0.00 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.20 0.24 0.15 0.00 0.00 0.00 0.00 0.10 0.43 0.65 0.67 0.55 0.47 0.65 1.18 1.99 2.85 3.48 3.72 3.56 3.17 2.77 2.51 2.41 2.36 2.22 1.94 1.59 1.31 1.23 1.37 1.63 1.83 1.84 1.62 1.26 0.95 0.83 0.96 1.23 1.47 1.56 1.48 1.33 1.27 1.39 1.63 1.83 1.78 1.41 0.78 0.13 0.00 0.00 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.20 0.24 0.15 0.00 0.00 0.00 0.00 0.10 0.43 0.65 0.67 0.55 0.47 0.65 1.18 1.99 2.85 3.48 3.72 3.56 3.17 2.77 2.51 2.41 2.36 2.22 1.94 1.59 1.31 1.23 1.37 1.63 1.83 1.84 1.62 1.26 35.0 + 37.5 1.25 0.92 0.81 0.95 1.24 1.52 1.65 1.61 1.51 1.51 1.69 1.98 2.18 2.09 1.63 0.89 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.02 0.23 0.44 0.56 0.52 0.36 0.15 0.04 0.13 0.40 0.74 0.98 1.02 0.90 0.80 0.97 1.53 2.42 3.40 4.16 4.47 4.30 3.82 3.27 2.85 2.60 2.43 2.20 1.86 1.46 1.15 1.05 1.21 1.51 1.77 1.82 1.61 1.25 0.92 0.81 0.95 1.24 1.52 1.65 1.61 1.51 1.51 1.69 1.98 2.18 2.09 1.63 0.89 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.02 0.23 0.44 0.56 0.52 0.36 0.15 0.04 0.13 0.40 0.74 0.98 1.02 0.90 0.80 0.97 1.53 2.42 3.40 4.16 4.47 4.30 3.82 3.27 2.85 2.60 2.43 2.20 1.86 1.46 1.15 1.05 1.21 1.51 1.77 1.82 1.61 1.25 37.5 + 40.0 1.34 0.98 0.83 0.95 1.25 1.55 1.72 1.75 1.74 1.85 2.13 2.51 2.77 2.68 2.17 1.35 0.51 0.00 0.00 0.00 0.14 0.33 0.30 0.07 0.00 0.00 0.00 0.00 0.19 0.39 0.46 0.41 0.30 0.22 0.25 0.40 0.64 0.90 1.06 1.05 0.89 0.66 0.52 0.56 0.81 1.15 1.39 1.43 1.28 1.14 1.25 1.79 2.70 3.73 4.56 4.91 4.74 4.20 3.55 3.01 2.65 2.41 2.14 1.77 1.36 1.05 0.98 1.18 1.54 1.85 1.93 1.72 1.34 0.98 0.83 0.95 1.25 1.55 1.72 1.75 1.74 1.85 2.13 2.51 2.77 2.68 2.17 1.35 0.51 0.00 0.00 0.00 0.14 0.33 0.30 0.07 0.00 0.00 0.00 0.00 0.19 0.39 0.46 0.41 0.30 0.22 0.25 0.40 0.64 0.90 1.06 1.05 0.89 0.66 0.52 0.56 0.81 1.15 1.39 1.43 1.28 1.14 1.25 1.79 2.70 3.73 4.56 4.91 4.74 4.20 3.55 3.01 2.65 2.41 2.14 1.77 1.36 1.05 0.98 1.18 1.54 1.85 1.93 1.72 1.34 40.0 + 42.5 1.49 1.09 0.90 0.99 1.28 1.61 1.83 1.93 2.03 2.27 2.69 3.18 3.52 3.47 2.95 2.08 1.17 0.52 0.28 0.42 0.70 0.90 0.86 0.63 0.36 0.21 0.28 0.51 0.79 1.00 1.05 0.96 0.80 0.68 0.68 0.81 1.05 1.31 1.46 1.45 1.26 1.01 0.83 0.84 1.07 1.39 1.62 1.64 1.45 1.26 1.31 1.79 2.66 3.69 4.54 4.92 4.76 4.21 3.52 2.95 2.57 2.31 2.05 1.70 1.31 1.02 0.99 1.24 1.65 2.00 2.11 1.90 1.49 1.09 0.90 0.99 1.28 1.61 1.83 1.93 2.03 2.27 2.69 3.18 3.52 3.47 2.95 2.08 1.17 0.52 0.28 0.42 0.70 0.90 0.86 0.63 0.36 0.21 0.28 0.51 0.79 1.00 1.05 0.96 0.80 0.68 0.68 0.81 1.05 1.31 1.46 1.45 1.26 1.01 0.83 0.84 1.07 1.39 1.62 1.64 1.45 1.26 1.31 1.79 2.66 3.69 4.54 4.92 4.76 4.21 3.52 2.95 2.57 2.31 2.05 1.70 1.31 1.02 0.99 1.24 1.65 2.00 2.11 1.90 1.49 42.5 + 45.0 1.62 1.20 0.99 1.07 1.36 1.71 1.99 2.17 2.37 2.72 3.26 3.86 4.29 4.28 3.77 2.87 1.91 1.19 0.90 1.00 1.25 1.43 1.38 1.13 0.84 0.68 0.75 0.98 1.26 1.45 1.46 1.33 1.12 0.96 0.91 1.00 1.19 1.40 1.52 1.47 1.25 0.97 0.77 0.76 0.97 1.27 1.48 1.48 1.27 1.04 1.03 1.44 2.25 3.24 4.07 4.47 4.34 3.84 3.21 2.70 2.37 2.17 1.96 1.65 1.29 1.04 1.03 1.30 1.73 2.11 2.24 2.04 1.62 1.20 0.99 1.07 1.36 1.71 1.99 2.17 2.37 2.72 3.26 3.86 4.29 4.28 3.77 2.87 1.91 1.19 0.90 1.00 1.25 1.43 1.38 1.13 0.84 0.68 0.75 0.98 1.26 1.45 1.46 1.33 1.12 0.96 0.91 1.00 1.19 1.40 1.52 1.47 1.25 0.97 0.77 0.76 0.97 1.27 1.48 1.48 1.27 1.04 1.03 1.44 2.25 3.24 4.07 4.47 4.34 3.84 3.21 2.70 2.37 2.17 1.96 1.65 1.29 1.04 1.03 1.30 1.73 2.11 2.24 2.04 1.62 45.0 + 47.5 1.69 1.29 1.10 1.19 1.51 1.89 2.21 2.45 2.72 3.14 3.74 4.40 4.87 4.91 4.41 3.51 2.50 1.72 1.35 1.37 1.58 1.71 1.63 1.36 1.05 0.88 0.92 1.13 1.39 1.54 1.52 1.35 1.10 0.90 0.80 0.84 0.97 1.12 1.17 1.08 0.85 0.57 0.36 0.35 0.54 0.82 1.02 1.01 0.80 0.54 0.50 0.84 1.58 2.50 3.30 3.70 3.63 3.22 2.72 2.33 2.12 2.02 1.89 1.63 1.31 1.06 1.04 1.30 1.73 2.12 2.25 2.08 1.69 1.29 1.10 1.19 1.51 1.89 2.21 2.45 2.72 3.14 3.74 4.40 4.87 4.91 4.41 3.51 2.50 1.72 1.35 1.37 1.58 1.71 1.63 1.36 1.05 0.88 0.92 1.13 1.39 1.54 1.52 1.35 1.10 0.90 0.80 0.84 0.97 1.12 1.17 1.08 0.85 0.57 0.36 0.35 0.54 0.82 1.02 1.01 0.80 0.54 0.50 0.84 1.58 2.50 3.30 3.70 3.63 3.22 2.72 2.33 2.12 2.02 1.89 1.63 1.31 1.06 1.04 1.30 1.73 2.12 2.25 2.08 1.69 47.5 + 50.0 1.69 1.36 1.22 1.35 1.70 2.11 2.46 2.73 3.01 3.43 4.02 4.67 5.15 5.21 4.74 3.84 2.82 1.99 1.54 1.48 1.61 1.69 1.58 1.29 0.96 0.76 0.76 0.94 1.16 1.29 1.24 1.05 0.80 0.57 0.45 0.45 0.52 0.60 0.61 0.49 0.26 0.00 0.00 0.00 0.02 0.29 0.48 0.47 0.26 0.02 0.00 0.25 0.91 1.74 2.47 2.86 2.84 2.54 2.17 1.94 1.87 1.89 1.84 1.63 1.33 1.07 1.03 1.25 1.65 2.02 2.16 2.03 1.69 1.36 1.22 1.35 1.70 2.11 2.46 2.73 3.01 3.43 4.02 4.67 5.15 5.21 4.74 3.84 2.82 1.99 1.54 1.48 1.61 1.69 1.58 1.29 0.96 0.76 0.76 0.94 1.16 1.29 1.24 1.05 0.80 0.57 0.45 0.45 0.52 0.60 0.61 0.49 0.26 0.00 0.00 0.00 0.02 0.29 0.48 0.47 0.26 0.02 0.00 0.25 0.91 1.74 2.47 2.86 2.84 2.54 2.17 1.94 1.87 1.89 1.84 1.63 1.33 1.07 1.03 1.25 1.65 2.02 2.16 2.03 1.69 50.0 + 52.5 1.69 1.43 1.35 1.53 1.90 2.33 2.68 2.93 3.17 3.52 4.03 4.62 5.06 5.12 4.70 3.86 2.87 2.02 1.52 1.38 1.43 1.47 1.33 1.03 0.69 0.46 0.43 0.56 0.75 0.86 0.83 0.66 0.42 0.22 0.10 0.07 0.11 0.16 0.13 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.16 0.00 0.00 0.00 0.00 0.50 1.23 1.86 2.21 2.20 1.97 1.72 1.61 1.66 1.76 1.77 1.61 1.31 1.05 0.98 1.17 1.53 1.88 2.04 1.95 1.69 1.43 1.35 1.53 1.90 2.33 2.68 2.93 3.17 3.52 4.03 4.62 5.06 5.12 4.70 3.86 2.87 2.02 1.52 1.38 1.43 1.47 1.33 1.03 0.69 0.46 0.43 0.56 0.75 0.86 0.83 0.66 0.42 0.22 0.10 0.07 0.11 0.16 0.13 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.16 0.00 0.00 0.00 0.00 0.50 1.23 1.86 2.21 2.20 1.97 1.72 1.61 1.66 1.76 1.77 1.61 1.31 1.05 0.98 1.17 1.53 1.88 2.04 1.95 1.69 52.5 + 55.0 1.72 1.53 1.50 1.70 2.07 2.48 2.81 3.01 3.17 3.40 3.77 4.23 4.61 4.68 4.33 3.60 2.70 1.89 1.38 1.19 1.20 1.21 1.07 0.79 0.45 0.20 0.13 0.23 0.39 0.52 0.52 0.41 0.24 0.08 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.21 0.23 0.08 0.00 0.00 0.00 0.47 1.08 1.60 1.86 1.83 1.62 1.42 1.37 1.48 1.62 1.66 1.51 1.23 0.98 0.90 1.07 1.40 1.75 1.94 1.91 1.72 1.53 1.50 1.70 2.07 2.48 2.81 3.01 3.17 3.40 3.77 4.23 4.61 4.68 4.33 3.60 2.70 1.89 1.38 1.19 1.20 1.21 1.07 0.79 0.45 0.20 0.13 0.23 0.39 0.52 0.52 0.41 0.24 0.08 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.21 0.23 0.08 0.00 0.00 0.00 0.47 1.08 1.60 1.86 1.83 1.62 1.42 1.37 1.48 1.62 1.66 1.51 1.23 0.98 0.90 1.07 1.40 1.75 1.94 1.91 1.72 55.0 + 57.5 1.77 1.63 1.63 1.83 2.17 2.53 2.80 2.93 2.99 3.07 3.28 3.60 3.89 3.97 3.72 3.13 2.38 1.68 1.21 1.02 1.01 1.03 0.92 0.68 0.36 0.11 0.02 0.09 0.25 0.40 0.48 0.45 0.36 0.26 0.20 0.19 0.22 0.23 0.20 0.11 0.00 0.00 0.00 0.00 0.07 0.36 0.58 0.62 0.49 0.30 0.21 0.35 0.73 1.21 1.61 1.77 1.68 1.45 1.24 1.19 1.29 1.42 1.45 1.31 1.05 0.82 0.76 0.94 1.28 1.64 1.87 1.89 1.77 1.63 1.63 1.83 2.17 2.53 2.80 2.93 2.99 3.07 3.28 3.60 3.89 3.97 3.72 3.13 2.38 1.68 1.21 1.02 1.01 1.03 0.92 0.68 0.36 0.11 0.02 0.09 0.25 0.40 0.48 0.45 0.36 0.26 0.20 0.19 0.22 0.23 0.20 0.11 0.00 0.00 0.00 0.00 0.07 0.36 0.58 0.62 0.49 0.30 0.21 0.35 0.73 1.21 1.61 1.77 1.68 1.45 1.24 1.19 1.29 1.42 1.45 1.31 1.05 0.82 0.76 0.94 1.28 1.64 1.87 1.89 1.77 57.5 + 60.0 1.79 1.70 1.71 1.87 2.16 2.46 2.67 2.72 2.67 2.62 2.67 2.83 3.03 3.12 2.98 2.56 1.98 1.41 1.02 0.86 0.88 0.93 0.89 0.71 0.44 0.20 0.09 0.15 0.32 0.52 0.67 0.74 0.74 0.69 0.66 0.65 0.66 0.67 0.64 0.54 0.39 0.25 0.19 0.27 0.50 0.79 1.02 1.08 0.96 0.77 0.65 0.73 1.02 1.40 1.69 1.77 1.62 1.34 1.10 1.00 1.04 1.12 1.13 0.99 0.76 0.57 0.55 0.75 1.12 1.50 1.77 1.85 1.79 1.70 1.71 1.87 2.16 2.46 2.67 2.72 2.67 2.62 2.67 2.83 3.03 3.12 2.98 2.56 1.98 1.41 1.02 0.86 0.88 0.93 0.89 0.71 0.44 0.20 0.09 0.15 0.32 0.52 0.67 0.74 0.74 0.69 0.66 0.65 0.66 0.67 0.64 0.54 0.39 0.25 0.19 0.27 0.50 0.79 1.02 1.08 0.96 0.77 0.65 0.73 1.02 1.40 1.69 1.77 1.62 1.34 1.10 1.00 1.04 1.12 1.13 0.99 0.76 0.57 0.55 0.75 1.12 1.50 1.77 1.85 1.79 60.0 + 62.5 1.75 1.70 1.71 1.83 2.06 2.30 2.45 2.45 2.33 2.17 2.07 2.10 2.22 2.31 2.25 1.98 1.57 1.13 0.82 0.70 0.75 0.86 0.89 0.79 0.59 0.38 0.26 0.29 0.47 0.71 0.94 1.09 1.16 1.16 1.13 1.10 1.10 1.09 1.04 0.93 0.77 0.60 0.51 0.57 0.77 1.04 1.27 1.33 1.21 1.01 0.85 0.88 1.09 1.40 1.63 1.67 1.48 1.18 0.90 0.74 0.73 0.76 0.73 0.59 0.40 0.25 0.27 0.50 0.88 1.29 1.60 1.75 1.75 1.70 1.71 1.83 2.06 2.30 2.45 2.45 2.33 2.17 2.07 2.10 2.22 2.31 2.25 1.98 1.57 1.13 0.82 0.70 0.75 0.86 0.89 0.79 0.59 0.38 0.26 0.29 0.47 0.71 0.94 1.09 1.16 1.16 1.13 1.10 1.10 1.09 1.04 0.93 0.77 0.60 0.51 0.57 0.77 1.04 1.27 1.33 1.21 1.01 0.85 0.88 1.09 1.40 1.63 1.67 1.48 1.18 0.90 0.74 0.73 0.76 0.73 0.59 0.40 0.25 0.27 0.50 0.88 1.29 1.60 1.75 1.75 62.5 + 65.0 1.65 1.65 1.67 1.76 1.94 2.12 2.23 2.21 2.05 1.82 1.64 1.56 1.60 1.68 1.68 1.53 1.23 0.89 0.64 0.55 0.62 0.77 0.87 0.85 0.71 0.52 0.39 0.40 0.56 0.82 1.10 1.32 1.44 1.47 1.43 1.38 1.34 1.30 1.23 1.11 0.92 0.73 0.60 0.61 0.77 1.01 1.21 1.26 1.14 0.91 0.72 0.69 0.86 1.12 1.33 1.37 1.21 0.92 0.63 0.45 0.38 0.38 0.34 0.22 0.05 0.00 0.00 0.21 0.59 1.01 1.36 1.58 1.65 1.65 1.67 1.76 1.94 2.12 2.23 2.21 2.05 1.82 1.64 1.56 1.60 1.68 1.68 1.53 1.23 0.89 0.64 0.55 0.62 0.77 0.87 0.85 0.71 0.52 0.39 0.40 0.56 0.82 1.10 1.32 1.44 1.47 1.43 1.38 1.34 1.30 1.23 1.11 0.92 0.73 0.60 0.61 0.77 1.01 1.21 1.26 1.14 0.91 0.72 0.69 0.86 1.12 1.33 1.37 1.21 0.92 0.63 0.45 0.38 0.38 0.34 0.22 0.05 0.00 0.00 0.21 0.59 1.01 1.36 1.58 1.65 65.0 + 67.5 1.57 1.64 1.68 1.75 1.88 2.02 2.11 2.08 1.92 1.68 1.45 1.31 1.30 1.36 1.39 1.30 1.08 0.79 0.56 0.46 0.53 0.69 0.83 0.87 0.77 0.60 0.45 0.42 0.55 0.80 1.10 1.37 1.53 1.57 1.53 1.44 1.36 1.29 1.21 1.07 0.88 0.67 0.51 0.47 0.58 0.78 0.95 0.99 0.85 0.61 0.39 0.32 0.43 0.67 0.89 0.97 0.86 0.62 0.36 0.18 0.10 0.08 0.05 0.00 0.00 0.00 0.00 0.00 0.34 0.76 1.14 1.42 1.57 1.64 1.68 1.75 1.88 2.02 2.11 2.08 1.92 1.68 1.45 1.31 1.30 1.36 1.39 1.30 1.08 0.79 0.56 0.46 0.53 0.69 0.83 0.87 0.77 0.60 0.45 0.42 0.55 0.80 1.10 1.37 1.53 1.57 1.53 1.44 1.36 1.29 1.21 1.07 0.88 0.67 0.51 0.47 0.58 0.78 0.95 0.99 0.85 0.61 0.39 0.32 0.43 0.67 0.89 0.97 0.86 0.62 0.36 0.18 0.10 0.08 0.05 0.00 0.00 0.00 0.00 0.00 0.34 0.76 1.14 1.42 1.57 67.5 + 70.0 1.61 1.74 1.81 1.87 1.95 2.04 2.11 2.09 1.95 1.74 1.51 1.36 1.33 1.37 1.41 1.35 1.17 0.90 0.66 0.54 0.57 0.72 0.87 0.93 0.86 0.68 0.51 0.43 0.50 0.73 1.03 1.31 1.50 1.56 1.51 1.41 1.29 1.19 1.09 0.96 0.77 0.56 0.39 0.32 0.39 0.55 0.69 0.73 0.60 0.35 0.12 0.01 0.09 0.30 0.52 0.64 0.60 0.42 0.21 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.24 0.64 1.04 1.38 1.61 1.74 1.81 1.87 1.95 2.04 2.11 2.09 1.95 1.74 1.51 1.36 1.33 1.37 1.41 1.35 1.17 0.90 0.66 0.54 0.57 0.72 0.87 0.93 0.86 0.68 0.51 0.43 0.50 0.73 1.03 1.31 1.50 1.56 1.51 1.41 1.29 1.19 1.09 0.96 0.77 0.56 0.39 0.32 0.39 0.55 0.69 0.73 0.60 0.35 0.12 0.01 0.09 0.30 0.52 0.64 0.60 0.42 0.21 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.24 0.64 1.04 1.38 1.61 70.0 + 72.5 1.83 2.01 2.10 2.13 2.15 2.19 2.21 2.19 2.08 1.91 1.73 1.60 1.57 1.61 1.65 1.61 1.45 1.20 0.95 0.81 0.81 0.92 1.06 1.11 1.04 0.86 0.66 0.54 0.57 0.75 1.03 1.32 1.53 1.61 1.57 1.44 1.30 1.16 1.04 0.91 0.74 0.55 0.39 0.31 0.34 0.48 0.61 0.66 0.57 0.36 0.13 0.00 0.03 0.19 0.40 0.54 0.55 0.44 0.27 0.13 0.05 0.03 0.02 0.00 0.00 0.00 0.00 0.07 0.35 0.72 1.14 1.53 1.83 2.01 2.10 2.13 2.15 2.19 2.21 2.19 2.08 1.91 1.73 1.60 1.57 1.61 1.65 1.61 1.45 1.20 0.95 0.81 0.81 0.92 1.06 1.11 1.04 0.86 0.66 0.54 0.57 0.75 1.03 1.32 1.53 1.61 1.57 1.44 1.30 1.16 1.04 0.91 0.74 0.55 0.39 0.31 0.34 0.48 0.61 0.66 0.57 0.36 0.13 0.00 0.03 0.19 0.40 0.54 0.55 0.44 0.27 0.13 0.05 0.03 0.02 0.00 0.00 0.00 0.00 0.07 0.35 0.72 1.14 1.53 1.83 72.5 + 75.0 2.17 2.38 2.46 2.45 2.40 2.36 2.33 2.28 2.19 2.07 1.94 1.86 1.85 1.89 1.94 1.90 1.76 1.53 1.31 1.17 1.16 1.25 1.35 1.39 1.32 1.15 0.95 0.82 0.81 0.96 1.21 1.49 1.71 1.82 1.79 1.66 1.49 1.31 1.15 1.00 0.84 0.66 0.51 0.43 0.46 0.57 0.71 0.80 0.77 0.63 0.44 0.31 0.30 0.40 0.56 0.68 0.72 0.65 0.53 0.39 0.30 0.25 0.23 0.21 0.19 0.18 0.23 0.37 0.62 0.99 1.42 1.83 2.17 2.38 2.46 2.45 2.40 2.36 2.33 2.28 2.19 2.07 1.94 1.86 1.85 1.89 1.94 1.90 1.76 1.53 1.31 1.17 1.16 1.25 1.35 1.39 1.32 1.15 0.95 0.82 0.81 0.96 1.21 1.49 1.71 1.82 1.79 1.66 1.49 1.31 1.15 1.00 0.84 0.66 0.51 0.43 0.46 0.57 0.71 0.80 0.77 0.63 0.44 0.31 0.30 0.40 0.56 0.68 0.72 0.65 0.53 0.39 0.30 0.25 0.23 0.21 0.19 0.18 0.23 0.37 0.62 0.99 1.42 1.83 2.17 75.0 + 77.5 2.49 2.70 2.76 2.70 2.58 2.45 2.34 2.25 2.16 2.06 1.99 1.95 1.96 2.01 2.04 2.00 1.88 1.70 1.54 1.44 1.45 1.53 1.62 1.65 1.59 1.45 1.29 1.18 1.17 1.30 1.52 1.79 2.02 2.15 2.15 2.03 1.83 1.60 1.38 1.18 1.00 0.82 0.68 0.59 0.60 0.70 0.85 0.98 1.03 0.98 0.87 0.75 0.70 0.74 0.84 0.93 0.98 0.95 0.85 0.72 0.60 0.51 0.46 0.43 0.43 0.46 0.54 0.69 0.95 1.31 1.73 2.15 2.49 2.70 2.76 2.70 2.58 2.45 2.34 2.25 2.16 2.06 1.99 1.95 1.96 2.01 2.04 2.00 1.88 1.70 1.54 1.44 1.45 1.53 1.62 1.65 1.59 1.45 1.29 1.18 1.17 1.30 1.52 1.79 2.02 2.15 2.15 2.03 1.83 1.60 1.38 1.18 1.00 0.82 0.68 0.59 0.60 0.70 0.85 0.98 1.03 0.98 0.87 0.75 0.70 0.74 0.84 0.93 0.98 0.95 0.85 0.72 0.60 0.51 0.46 0.43 0.43 0.46 0.54 0.69 0.95 1.31 1.73 2.15 2.49 77.5 + 80.0 2.65 2.83 2.86 2.75 2.56 2.36 2.17 2.03 1.92 1.84 1.79 1.79 1.81 1.85 1.84 1.79 1.67 1.55 1.45 1.43 1.49 1.58 1.66 1.69 1.65 1.57 1.48 1.44 1.47 1.60 1.82 2.07 2.31 2.47 2.51 2.41 2.20 1.92 1.63 1.35 1.12 0.91 0.75 0.65 0.64 0.71 0.84 1.00 1.12 1.16 1.13 1.05 0.98 0.96 1.00 1.06 1.12 1.12 1.07 0.96 0.82 0.68 0.59 0.55 0.56 0.62 0.74 0.92 1.19 1.53 1.93 2.33 2.65 2.83 2.86 2.75 2.56 2.36 2.17 2.03 1.92 1.84 1.79 1.79 1.81 1.85 1.84 1.79 1.67 1.55 1.45 1.43 1.49 1.58 1.66 1.69 1.65 1.57 1.48 1.44 1.47 1.60 1.82 2.07 2.31 2.47 2.51 2.41 2.20 1.92 1.63 1.35 1.12 0.91 0.75 0.65 0.64 0.71 0.84 1.00 1.12 1.16 1.13 1.05 0.98 0.96 1.00 1.06 1.12 1.12 1.07 0.96 0.82 0.68 0.59 0.55 0.56 0.62 0.74 0.92 1.19 1.53 1.93 2.33 2.65 80.0 + 82.5 2.57 2.71 2.70 2.56 2.33 2.07 1.83 1.63 1.50 1.42 1.40 1.41 1.43 1.43 1.38 1.28 1.16 1.06 1.03 1.09 1.20 1.32 1.40 1.44 1.42 1.40 1.39 1.44 1.53 1.69 1.91 2.16 2.41 2.62 2.71 2.66 2.47 2.16 1.81 1.46 1.16 0.91 0.71 0.58 0.52 0.53 0.63 0.77 0.92 1.03 1.06 1.02 0.95 0.89 0.87 0.91 0.98 1.05 1.05 0.99 0.86 0.70 0.58 0.51 0.53 0.63 0.78 1.00 1.27 1.60 1.96 2.30 2.57 2.71 2.70 2.56 2.33 2.07 1.83 1.63 1.50 1.42 1.40 1.41 1.43 1.43 1.38 1.28 1.16 1.06 1.03 1.09 1.20 1.32 1.40 1.44 1.42 1.40 1.39 1.44 1.53 1.69 1.91 2.16 2.41 2.62 2.71 2.66 2.47 2.16 1.81 1.46 1.16 0.91 0.71 0.58 0.52 0.53 0.63 0.77 0.92 1.03 1.06 1.02 0.95 0.89 0.87 0.91 0.98 1.05 1.05 0.99 0.86 0.70 0.58 0.51 0.53 0.63 0.78 1.00 1.27 1.60 1.96 2.30 2.57 82.5 + 85.0 2.31 2.40 2.35 2.19 1.94 1.65 1.38 1.16 1.00 0.93 0.92 0.95 0.97 0.93 0.83 0.67 0.52 0.43 0.44 0.55 0.70 0.84 0.92 0.95 0.95 0.96 1.03 1.14 1.30 1.49 1.72 1.98 2.25 2.51 2.69 2.72 2.59 2.31 1.93 1.53 1.17 0.87 0.64 0.47 0.35 0.29 0.31 0.40 0.53 0.66 0.73 0.71 0.63 0.53 0.48 0.50 0.60 0.73 0.81 0.82 0.73 0.59 0.45 0.38 0.41 0.52 0.71 0.95 1.23 1.53 1.84 2.11 2.31 2.40 2.35 2.19 1.94 1.65 1.38 1.16 1.00 0.93 0.92 0.95 0.97 0.93 0.83 0.67 0.52 0.43 0.44 0.55 0.70 0.84 0.92 0.95 0.95 0.96 1.03 1.14 1.30 1.49 1.72 1.98 2.25 2.51 2.69 2.72 2.59 2.31 1.93 1.53 1.17 0.87 0.64 0.47 0.35 0.29 0.31 0.40 0.53 0.66 0.73 0.71 0.63 0.53 0.48 0.50 0.60 0.73 0.81 0.82 0.73 0.59 0.45 0.38 0.41 0.52 0.71 0.95 1.23 1.53 1.84 2.11 2.31 85.0 + 87.5 2.05 2.07 1.98 1.79 1.54 1.25 0.97 0.74 0.58 0.51 0.52 0.57 0.60 0.56 0.42 0.23 0.04 0.00 0.00 0.08 0.25 0.39 0.45 0.45 0.43 0.45 0.54 0.69 0.88 1.10 1.33 1.60 1.90 2.22 2.49 2.63 2.60 2.40 2.05 1.65 1.27 0.95 0.69 0.47 0.30 0.17 0.10 0.11 0.19 0.30 0.36 0.35 0.25 0.12 0.03 0.04 0.16 0.33 0.50 0.57 0.54 0.44 0.32 0.26 0.30 0.43 0.65 0.91 1.19 1.46 1.72 1.92 2.05 2.07 1.98 1.79 1.54 1.25 0.97 0.74 0.58 0.51 0.52 0.57 0.60 0.56 0.42 0.23 0.04 0.00 0.00 0.08 0.25 0.39 0.45 0.45 0.43 0.45 0.54 0.69 0.88 1.10 1.33 1.60 1.90 2.22 2.49 2.63 2.60 2.40 2.05 1.65 1.27 0.95 0.69 0.47 0.30 0.17 0.10 0.11 0.19 0.30 0.36 0.35 0.25 0.12 0.03 0.04 0.16 0.33 0.50 0.57 0.54 0.44 0.32 0.26 0.30 0.43 0.65 0.91 1.19 1.46 1.72 1.92 2.05 87.5 + 90.0 1.93 1.88 1.75 1.53 1.27 0.99 0.72 0.49 0.33 0.28 0.32 0.40 0.46 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.19 0.23 0.20 0.14 0.12 0.17 0.31 0.49 0.70 0.93 1.20 1.53 1.89 2.24 2.50 2.60 2.50 2.24 1.89 1.53 1.20 0.93 0.70 0.49 0.31 0.17 0.12 0.14 0.20 0.23 0.19 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.46 0.40 0.32 0.28 0.33 0.49 0.72 0.99 1.27 1.53 1.75 1.88 1.93 1.88 1.75 1.53 1.27 0.99 0.72 0.49 0.33 0.28 0.32 0.40 0.46 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.19 0.23 0.20 0.14 0.12 0.17 0.31 0.49 0.70 0.93 1.20 1.53 1.89 2.24 2.50 2.60 2.50 2.24 1.89 1.53 1.20 0.93 0.70 0.49 0.31 0.17 0.12 0.14 0.20 0.23 0.19 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.46 0.40 0.32 0.28 0.33 0.49 0.72 0.99 1.27 1.53 1.75 1.88 1.93 90.0 + + 10.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.80 FMAX-I = 5.80 ) PHI2 = 10. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 0.0 + 2.5 1.55 1.31 1.08 0.87 0.67 0.50 0.39 0.35 0.35 0.33 0.25 0.07 0.00 0.00 0.00 0.00 0.00 0.07 0.27 0.38 0.41 0.41 0.43 0.51 0.66 0.86 1.07 1.29 1.53 1.77 1.99 2.16 2.23 2.17 2.02 1.80 1.56 1.33 1.10 0.89 0.69 0.54 0.44 0.41 0.41 0.38 0.26 0.06 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.35 0.36 0.41 0.52 0.70 0.90 1.12 1.35 1.59 1.84 2.08 2.25 2.31 2.24 2.05 1.81 1.55 1.31 1.08 0.87 0.67 0.50 0.39 0.35 0.35 0.33 0.25 0.07 0.00 0.00 0.00 0.00 0.00 0.07 0.27 0.38 0.41 0.41 0.43 0.51 0.66 0.86 1.07 1.29 1.53 1.77 1.99 2.16 2.23 2.17 2.02 1.80 1.56 1.33 1.10 0.89 0.69 0.54 0.44 0.41 0.41 0.38 0.26 0.06 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.35 0.36 0.41 0.52 0.70 0.90 1.12 1.35 1.59 1.84 2.08 2.25 2.31 2.24 2.05 1.81 1.55 2.5 + 5.0 1.52 1.23 0.98 0.75 0.55 0.38 0.27 0.24 0.27 0.30 0.28 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.37 0.47 0.48 0.43 0.40 0.43 0.53 0.70 0.91 1.16 1.41 1.67 1.91 2.08 2.16 2.13 1.99 1.78 1.53 1.28 1.03 0.80 0.62 0.50 0.45 0.46 0.48 0.45 0.33 0.12 0.00 0.00 0.00 0.00 0.00 0.13 0.26 0.30 0.30 0.30 0.36 0.49 0.67 0.89 1.13 1.38 1.66 1.96 2.23 2.42 2.47 2.36 2.13 1.83 1.52 1.23 0.98 0.75 0.55 0.38 0.27 0.24 0.27 0.30 0.28 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.37 0.47 0.48 0.43 0.40 0.43 0.53 0.70 0.91 1.16 1.41 1.67 1.91 2.08 2.16 2.13 1.99 1.78 1.53 1.28 1.03 0.80 0.62 0.50 0.45 0.46 0.48 0.45 0.33 0.12 0.00 0.00 0.00 0.00 0.00 0.13 0.26 0.30 0.30 0.30 0.36 0.49 0.67 0.89 1.13 1.38 1.66 1.96 2.23 2.42 2.47 2.36 2.13 1.83 1.52 5.0 + 7.5 1.39 1.06 0.79 0.57 0.37 0.21 0.10 0.08 0.13 0.21 0.26 0.24 0.13 0.00 0.00 0.00 0.00 0.19 0.38 0.49 0.49 0.41 0.31 0.26 0.30 0.44 0.66 0.93 1.21 1.48 1.71 1.89 1.98 1.97 1.86 1.66 1.41 1.13 0.85 0.61 0.45 0.38 0.40 0.46 0.51 0.47 0.34 0.13 0.00 0.00 0.00 0.00 0.11 0.24 0.30 0.29 0.26 0.26 0.33 0.48 0.67 0.89 1.12 1.39 1.71 2.05 2.36 2.56 2.60 2.45 2.15 1.77 1.39 1.06 0.79 0.57 0.37 0.21 0.10 0.08 0.13 0.21 0.26 0.24 0.13 0.00 0.00 0.00 0.00 0.19 0.38 0.49 0.49 0.41 0.31 0.26 0.30 0.44 0.66 0.93 1.21 1.48 1.71 1.89 1.98 1.97 1.86 1.66 1.41 1.13 0.85 0.61 0.45 0.38 0.40 0.46 0.51 0.47 0.34 0.13 0.00 0.00 0.00 0.00 0.11 0.24 0.30 0.29 0.26 0.26 0.33 0.48 0.67 0.89 1.12 1.39 1.71 2.05 2.36 2.56 2.60 2.45 2.15 1.77 1.39 7.5 + 10.0 1.16 0.80 0.54 0.34 0.17 0.03 0.00 0.00 0.00 0.05 0.16 0.20 0.14 0.00 0.00 0.00 0.00 0.03 0.23 0.37 0.39 0.29 0.14 0.03 0.01 0.13 0.35 0.63 0.92 1.19 1.40 1.56 1.66 1.67 1.60 1.43 1.17 0.87 0.57 0.32 0.19 0.18 0.26 0.38 0.45 0.41 0.25 0.04 0.00 0.00 0.00 0.08 0.25 0.35 0.36 0.31 0.26 0.28 0.38 0.54 0.72 0.91 1.11 1.37 1.68 2.04 2.37 2.58 2.59 2.39 2.03 1.58 1.16 0.80 0.54 0.34 0.17 0.03 0.00 0.00 0.00 0.05 0.16 0.20 0.14 0.00 0.00 0.00 0.00 0.03 0.23 0.37 0.39 0.29 0.14 0.03 0.01 0.13 0.35 0.63 0.92 1.19 1.40 1.56 1.66 1.67 1.60 1.43 1.17 0.87 0.57 0.32 0.19 0.18 0.26 0.38 0.45 0.41 0.25 0.04 0.00 0.00 0.00 0.08 0.25 0.35 0.36 0.31 0.26 0.28 0.38 0.54 0.72 0.91 1.11 1.37 1.68 2.04 2.37 2.58 2.59 2.39 2.03 1.58 1.16 10.0 + 12.5 0.84 0.49 0.26 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.22 0.14 0.00 0.00 0.00 0.00 0.07 0.36 0.65 0.89 1.07 1.19 1.28 1.31 1.27 1.14 0.90 0.59 0.27 0.02 0.00 0.00 0.10 0.27 0.35 0.29 0.10 0.00 0.00 0.00 0.00 0.15 0.35 0.44 0.43 0.36 0.32 0.37 0.49 0.66 0.83 0.97 1.11 1.31 1.59 1.93 2.25 2.44 2.43 2.19 1.78 1.29 0.84 0.49 0.26 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.22 0.14 0.00 0.00 0.00 0.00 0.07 0.36 0.65 0.89 1.07 1.19 1.28 1.31 1.27 1.14 0.90 0.59 0.27 0.02 0.00 0.00 0.10 0.27 0.35 0.29 0.10 0.00 0.00 0.00 0.00 0.15 0.35 0.44 0.43 0.36 0.32 0.37 0.49 0.66 0.83 0.97 1.11 1.31 1.59 1.93 2.25 2.44 2.43 2.19 1.78 1.29 0.84 12.5 + 15.0 0.53 0.20 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.06 0.00 0.00 0.00 0.00 0.00 0.22 0.49 0.70 0.83 0.92 0.98 1.03 1.03 0.94 0.73 0.43 0.10 0.00 0.00 0.00 0.02 0.22 0.31 0.22 0.01 0.00 0.00 0.00 0.00 0.18 0.41 0.51 0.49 0.42 0.41 0.49 0.66 0.84 0.98 1.07 1.14 1.26 1.47 1.77 2.06 2.24 2.20 1.94 1.50 0.99 0.53 0.20 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.06 0.00 0.00 0.00 0.00 0.00 0.22 0.49 0.70 0.83 0.92 0.98 1.03 1.03 0.94 0.73 0.43 0.10 0.00 0.00 0.00 0.02 0.22 0.31 0.22 0.01 0.00 0.00 0.00 0.00 0.18 0.41 0.51 0.49 0.42 0.41 0.49 0.66 0.84 0.98 1.07 1.14 1.26 1.47 1.77 2.06 2.24 2.20 1.94 1.50 0.99 0.53 15.0 + 17.5 0.33 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.20 0.18 0.01 0.00 0.00 0.00 0.00 0.27 0.53 0.71 0.81 0.86 0.91 0.97 0.99 0.94 0.77 0.48 0.16 0.00 0.00 0.00 0.10 0.32 0.40 0.30 0.06 0.00 0.00 0.00 0.00 0.24 0.48 0.57 0.55 0.48 0.49 0.61 0.81 1.02 1.16 1.21 1.22 1.26 1.41 1.65 1.91 2.07 2.03 1.76 1.31 0.79 0.33 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.20 0.18 0.01 0.00 0.00 0.00 0.00 0.27 0.53 0.71 0.81 0.86 0.91 0.97 0.99 0.94 0.77 0.48 0.16 0.00 0.00 0.00 0.10 0.32 0.40 0.30 0.06 0.00 0.00 0.00 0.00 0.24 0.48 0.57 0.55 0.48 0.49 0.61 0.81 1.02 1.16 1.21 1.22 1.26 1.41 1.65 1.91 2.07 2.03 1.76 1.31 0.79 0.33 17.5 + 20.0 0.31 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.22 0.27 0.15 0.00 0.00 0.00 0.00 0.00 0.31 0.51 0.50 0.33 0.11 0.00 0.02 0.23 0.50 0.75 0.91 0.99 1.02 1.05 1.11 1.16 1.14 0.99 0.72 0.40 0.13 0.02 0.09 0.30 0.53 0.62 0.52 0.26 0.00 0.00 0.00 0.05 0.35 0.58 0.67 0.63 0.55 0.56 0.70 0.94 1.18 1.34 1.39 1.36 1.35 1.44 1.63 1.86 2.02 2.00 1.74 1.30 0.78 0.31 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.22 0.27 0.15 0.00 0.00 0.00 0.00 0.00 0.31 0.51 0.50 0.33 0.11 0.00 0.02 0.23 0.50 0.75 0.91 0.99 1.02 1.05 1.11 1.16 1.14 0.99 0.72 0.40 0.13 0.02 0.09 0.30 0.53 0.62 0.52 0.26 0.00 0.00 0.00 0.05 0.35 0.58 0.67 0.63 0.55 0.56 0.70 0.94 1.18 1.34 1.39 1.36 1.35 1.44 1.63 1.86 2.02 2.00 1.74 1.30 0.78 0.31 20.0 + 22.5 0.45 0.14 0.03 0.06 0.15 0.19 0.14 0.07 0.05 0.17 0.39 0.62 0.74 0.67 0.44 0.18 0.06 0.15 0.43 0.74 0.94 0.92 0.73 0.48 0.31 0.33 0.51 0.77 1.02 1.17 1.23 1.25 1.27 1.33 1.38 1.37 1.25 1.00 0.68 0.40 0.25 0.30 0.49 0.72 0.84 0.77 0.52 0.22 0.03 0.03 0.23 0.52 0.76 0.84 0.78 0.69 0.67 0.80 1.06 1.33 1.53 1.59 1.56 1.51 1.55 1.69 1.90 2.07 2.07 1.86 1.44 0.92 0.45 0.14 0.03 0.06 0.15 0.19 0.14 0.07 0.05 0.17 0.39 0.62 0.74 0.67 0.44 0.18 0.06 0.15 0.43 0.74 0.94 0.92 0.73 0.48 0.31 0.33 0.51 0.77 1.02 1.17 1.23 1.25 1.27 1.33 1.38 1.37 1.25 1.00 0.68 0.40 0.25 0.30 0.49 0.72 0.84 0.77 0.52 0.22 0.03 0.03 0.23 0.52 0.76 0.84 0.78 0.69 0.67 0.80 1.06 1.33 1.53 1.59 1.56 1.51 1.55 1.69 1.90 2.07 2.07 1.86 1.44 0.92 0.45 22.5 + 25.0 0.66 0.35 0.25 0.31 0.43 0.49 0.46 0.39 0.38 0.51 0.77 1.06 1.23 1.20 0.97 0.70 0.54 0.59 0.82 1.11 1.27 1.24 1.01 0.73 0.53 0.51 0.67 0.91 1.14 1.28 1.34 1.35 1.36 1.40 1.45 1.44 1.34 1.11 0.81 0.52 0.35 0.36 0.53 0.77 0.92 0.90 0.71 0.44 0.24 0.24 0.44 0.75 1.02 1.14 1.09 0.97 0.92 1.00 1.23 1.52 1.74 1.82 1.78 1.70 1.68 1.77 1.95 2.13 2.17 2.00 1.62 1.12 0.66 0.35 0.25 0.31 0.43 0.49 0.46 0.39 0.38 0.51 0.77 1.06 1.23 1.20 0.97 0.70 0.54 0.59 0.82 1.11 1.27 1.24 1.01 0.73 0.53 0.51 0.67 0.91 1.14 1.28 1.34 1.35 1.36 1.40 1.45 1.44 1.34 1.11 0.81 0.52 0.35 0.36 0.53 0.77 0.92 0.90 0.71 0.44 0.24 0.24 0.44 0.75 1.02 1.14 1.09 0.97 0.92 1.00 1.23 1.52 1.74 1.82 1.78 1.70 1.68 1.77 1.95 2.13 2.17 2.00 1.62 1.12 0.66 25.0 + 27.5 0.84 0.56 0.49 0.59 0.74 0.82 0.79 0.71 0.69 0.82 1.09 1.40 1.59 1.55 1.30 0.98 0.77 0.76 0.95 1.19 1.33 1.27 1.03 0.73 0.50 0.45 0.57 0.78 0.99 1.13 1.18 1.18 1.17 1.19 1.23 1.23 1.16 0.98 0.71 0.43 0.24 0.22 0.37 0.61 0.82 0.88 0.76 0.54 0.38 0.41 0.66 1.05 1.41 1.62 1.62 1.50 1.38 1.38 1.54 1.78 1.99 2.06 1.99 1.86 1.76 1.79 1.93 2.11 2.19 2.07 1.74 1.28 0.84 0.56 0.49 0.59 0.74 0.82 0.79 0.71 0.69 0.82 1.09 1.40 1.59 1.55 1.30 0.98 0.77 0.76 0.95 1.19 1.33 1.27 1.03 0.73 0.50 0.45 0.57 0.78 0.99 1.13 1.18 1.18 1.17 1.19 1.23 1.23 1.16 0.98 0.71 0.43 0.24 0.22 0.37 0.61 0.82 0.88 0.76 0.54 0.38 0.41 0.66 1.05 1.41 1.62 1.62 1.50 1.38 1.38 1.54 1.78 1.99 2.06 1.99 1.86 1.76 1.79 1.93 2.11 2.19 2.07 1.74 1.28 0.84 27.5 + 30.0 0.94 0.71 0.69 0.85 1.04 1.14 1.10 0.99 0.94 1.04 1.29 1.58 1.74 1.66 1.35 0.95 0.66 0.59 0.72 0.94 1.07 1.01 0.76 0.45 0.21 0.14 0.23 0.42 0.60 0.73 0.77 0.75 0.73 0.74 0.77 0.81 0.79 0.68 0.47 0.22 0.03 0.00 0.11 0.37 0.63 0.77 0.74 0.60 0.49 0.58 0.91 1.42 1.94 2.30 2.40 2.28 2.08 1.97 2.00 2.14 2.28 2.31 2.18 1.96 1.78 1.72 1.82 1.99 2.10 2.03 1.75 1.34 0.94 0.71 0.69 0.85 1.04 1.14 1.10 0.99 0.94 1.04 1.29 1.58 1.74 1.66 1.35 0.95 0.66 0.59 0.72 0.94 1.07 1.01 0.76 0.45 0.21 0.14 0.23 0.42 0.60 0.73 0.77 0.75 0.73 0.74 0.77 0.81 0.79 0.68 0.47 0.22 0.03 0.00 0.11 0.37 0.63 0.77 0.74 0.60 0.49 0.58 0.91 1.42 1.94 2.30 2.40 2.28 2.08 1.97 2.00 2.14 2.28 2.31 2.18 1.96 1.78 1.72 1.82 1.99 2.10 2.03 1.75 1.34 0.94 30.0 + 32.5 0.99 0.80 0.84 1.05 1.29 1.41 1.36 1.22 1.13 1.20 1.42 1.66 1.76 1.60 1.19 0.69 0.31 0.18 0.28 0.49 0.62 0.57 0.34 0.04 0.00 0.00 0.00 0.00 0.15 0.26 0.29 0.27 0.24 0.24 0.30 0.38 0.44 0.42 0.30 0.11 0.00 0.00 0.00 0.22 0.53 0.74 0.80 0.72 0.67 0.81 1.23 1.89 2.60 3.13 3.34 3.24 2.97 2.71 2.57 2.56 2.59 2.52 2.31 2.01 1.73 1.59 1.64 1.82 1.96 1.95 1.72 1.35 0.99 0.80 0.84 1.05 1.29 1.41 1.36 1.22 1.13 1.20 1.42 1.66 1.76 1.60 1.19 0.69 0.31 0.18 0.28 0.49 0.62 0.57 0.34 0.04 0.00 0.00 0.00 0.00 0.15 0.26 0.29 0.27 0.24 0.24 0.30 0.38 0.44 0.42 0.30 0.11 0.00 0.00 0.00 0.22 0.53 0.74 0.80 0.72 0.67 0.81 1.23 1.89 2.60 3.13 3.34 3.24 2.97 2.71 2.57 2.56 2.59 2.52 2.31 2.01 1.73 1.59 1.64 1.82 1.96 1.95 1.72 1.35 0.99 32.5 + 35.0 1.04 0.87 0.95 1.20 1.47 1.61 1.57 1.42 1.31 1.37 1.57 1.78 1.82 1.57 1.05 0.45 0.00 0.00 0.00 0.09 0.24 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.05 0.19 0.34 0.42 0.39 0.25 0.07 0.00 0.06 0.31 0.65 0.92 1.03 1.00 0.97 1.14 1.64 2.41 3.28 3.98 4.31 4.23 3.87 3.45 3.13 2.96 2.85 2.68 2.39 2.00 1.65 1.47 1.51 1.70 1.89 1.92 1.72 1.38 1.04 0.87 0.95 1.20 1.47 1.61 1.57 1.42 1.31 1.37 1.57 1.78 1.82 1.57 1.05 0.45 0.00 0.00 0.00 0.09 0.24 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.05 0.19 0.34 0.42 0.39 0.25 0.07 0.00 0.06 0.31 0.65 0.92 1.03 1.00 0.97 1.14 1.64 2.41 3.28 3.98 4.31 4.23 3.87 3.45 3.13 2.96 2.85 2.68 2.39 2.00 1.65 1.47 1.51 1.70 1.89 1.92 1.72 1.38 1.04 35.0 + 37.5 1.15 0.97 1.04 1.30 1.59 1.75 1.73 1.61 1.54 1.63 1.85 2.07 2.08 1.77 1.16 0.47 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.09 0.05 0.02 0.04 0.16 0.36 0.58 0.73 0.77 0.66 0.48 0.36 0.40 0.63 0.97 1.27 1.41 1.39 1.36 1.52 2.02 2.86 3.84 4.65 5.07 5.00 4.58 4.03 3.55 3.22 3.00 2.75 2.40 1.98 1.60 1.41 1.47 1.70 1.94 2.02 1.85 1.50 1.15 0.97 1.04 1.30 1.59 1.75 1.73 1.61 1.54 1.63 1.85 2.07 2.08 1.77 1.16 0.47 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.09 0.05 0.02 0.04 0.16 0.36 0.58 0.73 0.77 0.66 0.48 0.36 0.40 0.63 0.97 1.27 1.41 1.39 1.36 1.52 2.02 2.86 3.84 4.65 5.07 5.00 4.58 4.03 3.55 3.22 3.00 2.75 2.40 1.98 1.60 1.41 1.47 1.70 1.94 2.02 1.85 1.50 1.15 37.5 + 40.0 1.34 1.12 1.15 1.40 1.69 1.88 1.91 1.85 1.86 2.03 2.34 2.61 2.64 2.29 1.63 0.85 0.23 0.00 0.00 0.22 0.41 0.41 0.23 0.00 0.00 0.00 0.00 0.13 0.35 0.49 0.51 0.46 0.41 0.43 0.55 0.77 1.02 1.21 1.26 1.15 0.95 0.79 0.79 0.99 1.32 1.63 1.77 1.73 1.66 1.77 2.23 3.07 4.07 4.95 5.41 5.36 4.90 4.27 3.69 3.28 2.99 2.71 2.35 1.93 1.57 1.41 1.52 1.82 2.12 2.24 2.09 1.73 1.34 1.12 1.15 1.40 1.69 1.88 1.91 1.85 1.86 2.03 2.34 2.61 2.64 2.29 1.63 0.85 0.23 0.00 0.00 0.22 0.41 0.41 0.23 0.00 0.00 0.00 0.00 0.13 0.35 0.49 0.51 0.46 0.41 0.43 0.55 0.77 1.02 1.21 1.26 1.15 0.95 0.79 0.79 0.99 1.32 1.63 1.77 1.73 1.66 1.77 2.23 3.07 4.07 4.95 5.41 5.36 4.90 4.27 3.69 3.28 2.99 2.71 2.35 1.93 1.57 1.41 1.52 1.82 2.12 2.24 2.09 1.73 1.34 40.0 + 42.5 1.57 1.30 1.29 1.51 1.81 2.03 2.13 2.17 2.29 2.58 3.01 3.37 3.44 3.10 2.39 1.55 0.86 0.52 0.53 0.74 0.93 0.93 0.73 0.46 0.27 0.26 0.43 0.70 0.94 1.06 1.06 0.98 0.90 0.88 0.98 1.18 1.41 1.57 1.60 1.46 1.23 1.03 0.99 1.16 1.47 1.76 1.88 1.82 1.69 1.73 2.12 2.90 3.87 4.75 5.23 5.21 4.76 4.12 3.53 3.11 2.84 2.58 2.26 1.88 1.56 1.45 1.61 1.97 2.33 2.49 2.36 1.99 1.57 1.30 1.29 1.51 1.81 2.03 2.13 2.17 2.29 2.58 3.01 3.37 3.44 3.10 2.39 1.55 0.86 0.52 0.53 0.74 0.93 0.93 0.73 0.46 0.27 0.26 0.43 0.70 0.94 1.06 1.06 0.98 0.90 0.88 0.98 1.18 1.41 1.57 1.60 1.46 1.23 1.03 0.99 1.16 1.47 1.76 1.88 1.82 1.69 1.73 2.12 2.90 3.87 4.75 5.23 5.21 4.76 4.12 3.53 3.11 2.84 2.58 2.26 1.88 1.56 1.45 1.61 1.97 2.33 2.49 2.36 1.99 1.57 42.5 + 45.0 1.76 1.47 1.45 1.66 1.98 2.25 2.42 2.56 2.80 3.21 3.75 4.20 4.34 4.02 3.29 2.39 1.63 1.21 1.16 1.33 1.48 1.46 1.25 0.96 0.76 0.75 0.93 1.20 1.43 1.53 1.48 1.35 1.21 1.15 1.19 1.33 1.50 1.61 1.58 1.40 1.14 0.92 0.85 1.00 1.28 1.55 1.65 1.56 1.39 1.36 1.67 2.35 3.26 4.10 4.58 4.59 4.20 3.63 3.12 2.78 2.58 2.40 2.14 1.82 1.54 1.46 1.66 2.05 2.45 2.65 2.55 2.19 1.76 1.47 1.45 1.66 1.98 2.25 2.42 2.56 2.80 3.21 3.75 4.20 4.34 4.02 3.29 2.39 1.63 1.21 1.16 1.33 1.48 1.46 1.25 0.96 0.76 0.75 0.93 1.20 1.43 1.53 1.48 1.35 1.21 1.15 1.19 1.33 1.50 1.61 1.58 1.40 1.14 0.92 0.85 1.00 1.28 1.55 1.65 1.56 1.39 1.36 1.67 2.35 3.26 4.10 4.58 4.59 4.20 3.63 3.12 2.78 2.58 2.40 2.14 1.82 1.54 1.46 1.66 2.05 2.45 2.65 2.55 2.19 1.76 45.0 + 47.5 1.87 1.61 1.61 1.85 2.20 2.53 2.77 3.00 3.32 3.82 4.43 4.95 5.13 4.84 4.10 3.16 2.33 1.82 1.68 1.77 1.88 1.82 1.58 1.27 1.05 1.02 1.18 1.43 1.62 1.67 1.58 1.39 1.20 1.08 1.07 1.14 1.24 1.27 1.19 0.99 0.72 0.50 0.44 0.58 0.84 1.08 1.17 1.06 0.86 0.79 1.02 1.61 2.42 3.19 3.66 3.70 3.40 2.95 2.57 2.37 2.29 2.21 2.02 1.74 1.49 1.42 1.61 2.00 2.42 2.65 2.58 2.26 1.87 1.61 1.61 1.85 2.20 2.53 2.77 3.00 3.32 3.82 4.43 4.95 5.13 4.84 4.10 3.16 2.33 1.82 1.68 1.77 1.88 1.82 1.58 1.27 1.05 1.02 1.18 1.43 1.62 1.67 1.58 1.39 1.20 1.08 1.07 1.14 1.24 1.27 1.19 0.99 0.72 0.50 0.44 0.58 0.84 1.08 1.17 1.06 0.86 0.79 1.02 1.61 2.42 3.19 3.66 3.70 3.40 2.95 2.57 2.37 2.29 2.21 2.02 1.74 1.49 1.42 1.61 2.00 2.42 2.65 2.58 2.26 1.87 47.5 + 50.0 1.89 1.70 1.76 2.05 2.45 2.83 3.13 3.41 3.77 4.29 4.91 5.45 5.66 5.38 4.66 3.71 2.81 2.22 1.98 1.98 2.02 1.92 1.65 1.32 1.07 1.02 1.14 1.34 1.48 1.49 1.35 1.13 0.90 0.75 0.70 0.72 0.75 0.74 0.63 0.43 0.19 0.01 0.00 0.12 0.37 0.60 0.68 0.57 0.36 0.26 0.43 0.93 1.64 2.32 2.75 2.81 2.59 2.27 2.04 1.97 2.01 2.02 1.90 1.64 1.39 1.30 1.45 1.82 2.22 2.47 2.46 2.21 1.89 1.70 1.76 2.05 2.45 2.83 3.13 3.41 3.77 4.29 4.91 5.45 5.66 5.38 4.66 3.71 2.81 2.22 1.98 1.98 2.02 1.92 1.65 1.32 1.07 1.02 1.14 1.34 1.48 1.49 1.35 1.13 0.90 0.75 0.70 0.72 0.75 0.74 0.63 0.43 0.19 0.01 0.00 0.12 0.37 0.60 0.68 0.57 0.36 0.26 0.43 0.93 1.64 2.32 2.75 2.81 2.59 2.27 2.04 1.97 2.01 2.02 1.90 1.64 1.39 1.30 1.45 1.82 2.22 2.47 2.46 2.21 1.89 50.0 + 52.5 1.85 1.74 1.87 2.21 2.66 3.08 3.41 3.70 4.04 4.51 5.09 5.59 5.80 5.56 4.88 3.95 3.04 2.39 2.06 1.97 1.94 1.80 1.52 1.18 0.91 0.81 0.89 1.04 1.15 1.13 0.98 0.75 0.53 0.38 0.31 0.30 0.31 0.28 0.18 0.01 0.00 0.00 0.00 0.00 0.13 0.35 0.43 0.33 0.13 0.02 0.13 0.54 1.14 1.71 2.08 2.14 1.97 1.74 1.61 1.65 1.77 1.84 1.75 1.51 1.24 1.11 1.23 1.55 1.93 2.20 2.23 2.07 1.85 1.74 1.87 2.21 2.66 3.08 3.41 3.70 4.04 4.51 5.09 5.59 5.80 5.56 4.88 3.95 3.04 2.39 2.06 1.97 1.94 1.80 1.52 1.18 0.91 0.81 0.89 1.04 1.15 1.13 0.98 0.75 0.53 0.38 0.31 0.30 0.31 0.28 0.18 0.01 0.00 0.00 0.00 0.00 0.13 0.35 0.43 0.33 0.13 0.02 0.13 0.54 1.14 1.71 2.08 2.14 1.97 1.74 1.61 1.65 1.77 1.84 1.75 1.51 1.24 1.11 1.23 1.55 1.93 2.20 2.23 2.07 1.85 52.5 + 55.0 1.75 1.73 1.92 2.30 2.77 3.20 3.53 3.78 4.05 4.43 4.90 5.33 5.52 5.33 4.74 3.90 3.03 2.36 1.99 1.83 1.75 1.59 1.31 0.98 0.70 0.57 0.60 0.72 0.81 0.81 0.69 0.50 0.32 0.19 0.13 0.13 0.14 0.12 0.04 0.00 0.00 0.00 0.00 0.00 0.20 0.43 0.51 0.43 0.26 0.13 0.20 0.52 1.00 1.47 1.75 1.77 1.60 1.40 1.32 1.39 1.54 1.62 1.54 1.30 1.02 0.87 0.95 1.24 1.60 1.88 1.97 1.89 1.75 1.73 1.92 2.30 2.77 3.20 3.53 3.78 4.05 4.43 4.90 5.33 5.52 5.33 4.74 3.90 3.03 2.36 1.99 1.83 1.75 1.59 1.31 0.98 0.70 0.57 0.60 0.72 0.81 0.81 0.69 0.50 0.32 0.19 0.13 0.13 0.14 0.12 0.04 0.00 0.00 0.00 0.00 0.00 0.20 0.43 0.51 0.43 0.26 0.13 0.20 0.52 1.00 1.47 1.75 1.77 1.60 1.40 1.32 1.39 1.54 1.62 1.54 1.30 1.02 0.87 0.95 1.24 1.60 1.88 1.97 1.89 1.75 55.0 + 57.5 1.63 1.67 1.88 2.27 2.74 3.15 3.44 3.63 3.80 4.04 4.37 4.70 4.88 4.75 4.29 3.58 2.82 2.20 1.81 1.63 1.53 1.39 1.14 0.83 0.56 0.42 0.42 0.52 0.63 0.67 0.62 0.51 0.39 0.31 0.27 0.28 0.29 0.28 0.23 0.14 0.05 0.00 0.06 0.24 0.50 0.73 0.83 0.77 0.61 0.47 0.49 0.73 1.11 1.47 1.67 1.64 1.44 1.22 1.12 1.16 1.28 1.33 1.24 1.00 0.73 0.58 0.65 0.92 1.27 1.57 1.70 1.69 1.63 1.67 1.88 2.27 2.74 3.15 3.44 3.63 3.80 4.04 4.37 4.70 4.88 4.75 4.29 3.58 2.82 2.20 1.81 1.63 1.53 1.39 1.14 0.83 0.56 0.42 0.42 0.52 0.63 0.67 0.62 0.51 0.39 0.31 0.27 0.28 0.29 0.28 0.23 0.14 0.05 0.00 0.06 0.24 0.50 0.73 0.83 0.77 0.61 0.47 0.49 0.73 1.11 1.47 1.67 1.64 1.44 1.22 1.12 1.16 1.28 1.33 1.24 1.00 0.73 0.58 0.65 0.92 1.27 1.57 1.70 1.69 1.63 57.5 + 60.0 1.48 1.55 1.77 2.14 2.56 2.93 3.17 3.29 3.35 3.44 3.62 3.84 3.99 3.93 3.61 3.07 2.46 1.92 1.58 1.41 1.32 1.22 1.03 0.77 0.53 0.39 0.38 0.47 0.61 0.73 0.77 0.76 0.72 0.67 0.65 0.65 0.66 0.65 0.60 0.51 0.42 0.36 0.40 0.56 0.80 1.02 1.14 1.09 0.94 0.79 0.77 0.93 1.23 1.52 1.66 1.58 1.35 1.09 0.93 0.90 0.95 0.97 0.86 0.63 0.38 0.25 0.32 0.59 0.94 1.25 1.43 1.47 1.48 1.55 1.77 2.14 2.56 2.93 3.17 3.29 3.35 3.44 3.62 3.84 3.99 3.93 3.61 3.07 2.46 1.92 1.58 1.41 1.32 1.22 1.03 0.77 0.53 0.39 0.38 0.47 0.61 0.73 0.77 0.76 0.72 0.67 0.65 0.65 0.66 0.65 0.60 0.51 0.42 0.36 0.40 0.56 0.80 1.02 1.14 1.09 0.94 0.79 0.77 0.93 1.23 1.52 1.66 1.58 1.35 1.09 0.93 0.90 0.95 0.97 0.86 0.63 0.38 0.25 0.32 0.59 0.94 1.25 1.43 1.47 1.48 60.0 + 62.5 1.31 1.41 1.63 1.95 2.32 2.63 2.81 2.86 2.82 2.78 2.83 2.94 3.05 3.05 2.87 2.50 2.04 1.61 1.32 1.18 1.13 1.08 0.96 0.78 0.58 0.44 0.42 0.51 0.69 0.87 1.02 1.10 1.13 1.11 1.09 1.06 1.04 1.01 0.94 0.83 0.70 0.60 0.59 0.71 0.91 1.12 1.24 1.20 1.05 0.88 0.82 0.93 1.18 1.43 1.54 1.46 1.21 0.92 0.70 0.61 0.59 0.56 0.45 0.24 0.03 0.00 0.01 0.27 0.61 0.93 1.14 1.25 1.31 1.41 1.63 1.95 2.32 2.63 2.81 2.86 2.82 2.78 2.83 2.94 3.05 3.05 2.87 2.50 2.04 1.61 1.32 1.18 1.13 1.08 0.96 0.78 0.58 0.44 0.42 0.51 0.69 0.87 1.02 1.10 1.13 1.11 1.09 1.06 1.04 1.01 0.94 0.83 0.70 0.60 0.59 0.71 0.91 1.12 1.24 1.20 1.05 0.88 0.82 0.93 1.18 1.43 1.54 1.46 1.21 0.92 0.70 0.61 0.59 0.56 0.45 0.24 0.03 0.00 0.01 0.27 0.61 0.93 1.14 1.25 1.31 62.5 + 65.0 1.17 1.31 1.52 1.80 2.11 2.36 2.49 2.48 2.37 2.25 2.18 2.20 2.28 2.32 2.24 2.01 1.69 1.35 1.11 0.99 0.97 0.98 0.94 0.81 0.65 0.52 0.48 0.56 0.75 0.98 1.21 1.37 1.45 1.46 1.41 1.35 1.28 1.21 1.11 0.97 0.81 0.66 0.60 0.65 0.81 0.99 1.10 1.06 0.90 0.71 0.62 0.69 0.91 1.15 1.28 1.22 1.00 0.71 0.47 0.33 0.27 0.22 0.11 0.00 0.00 0.00 0.00 0.00 0.32 0.63 0.88 1.05 1.17 1.31 1.52 1.80 2.11 2.36 2.49 2.48 2.37 2.25 2.18 2.20 2.28 2.32 2.24 2.01 1.69 1.35 1.11 0.99 0.97 0.98 0.94 0.81 0.65 0.52 0.48 0.56 0.75 0.98 1.21 1.37 1.45 1.46 1.41 1.35 1.28 1.21 1.11 0.97 0.81 0.66 0.60 0.65 0.81 0.99 1.10 1.06 0.90 0.71 0.62 0.69 0.91 1.15 1.28 1.22 1.00 0.71 0.47 0.33 0.27 0.22 0.11 0.00 0.00 0.00 0.00 0.00 0.32 0.63 0.88 1.05 1.17 65.0 + 67.5 1.16 1.34 1.55 1.79 2.03 2.22 2.30 2.27 2.13 1.96 1.83 1.80 1.84 1.90 1.90 1.77 1.54 1.27 1.05 0.94 0.94 0.97 0.98 0.90 0.77 0.62 0.55 0.59 0.77 1.02 1.30 1.52 1.64 1.65 1.58 1.47 1.35 1.24 1.12 0.97 0.79 0.62 0.51 0.52 0.63 0.78 0.87 0.83 0.66 0.46 0.34 0.38 0.56 0.80 0.96 0.95 0.79 0.54 0.31 0.16 0.09 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.45 0.73 0.96 1.16 1.34 1.55 1.79 2.03 2.22 2.30 2.27 2.13 1.96 1.83 1.80 1.84 1.90 1.90 1.77 1.54 1.27 1.05 0.94 0.94 0.97 0.98 0.90 0.77 0.62 0.55 0.59 0.77 1.02 1.30 1.52 1.64 1.65 1.58 1.47 1.35 1.24 1.12 0.97 0.79 0.62 0.51 0.52 0.63 0.78 0.87 0.83 0.66 0.46 0.34 0.38 0.56 0.80 0.96 0.95 0.79 0.54 0.31 0.16 0.09 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.45 0.73 0.96 1.16 67.5 + 70.0 1.32 1.55 1.76 1.96 2.12 2.25 2.30 2.25 2.12 1.95 1.82 1.76 1.79 1.87 1.90 1.83 1.66 1.43 1.22 1.11 1.09 1.14 1.16 1.11 0.98 0.82 0.70 0.69 0.82 1.06 1.34 1.59 1.74 1.77 1.68 1.52 1.36 1.21 1.07 0.93 0.77 0.61 0.49 0.47 0.55 0.66 0.74 0.71 0.56 0.36 0.22 0.22 0.37 0.58 0.76 0.80 0.70 0.52 0.32 0.19 0.12 0.08 0.03 0.00 0.00 0.00 0.00 0.00 0.17 0.45 0.76 1.05 1.32 1.55 1.76 1.96 2.12 2.25 2.30 2.25 2.12 1.95 1.82 1.76 1.79 1.87 1.90 1.83 1.66 1.43 1.22 1.11 1.09 1.14 1.16 1.11 0.98 0.82 0.70 0.69 0.82 1.06 1.34 1.59 1.74 1.77 1.68 1.52 1.36 1.21 1.07 0.93 0.77 0.61 0.49 0.47 0.55 0.66 0.74 0.71 0.56 0.36 0.22 0.22 0.37 0.58 0.76 0.80 0.70 0.52 0.32 0.19 0.12 0.08 0.03 0.00 0.00 0.00 0.00 0.00 0.17 0.45 0.76 1.05 1.32 70.0 + 72.5 1.66 1.92 2.13 2.27 2.36 2.41 2.42 2.37 2.26 2.13 2.03 1.99 2.03 2.11 2.16 2.13 1.99 1.79 1.60 1.48 1.46 1.49 1.51 1.46 1.33 1.15 1.00 0.94 1.01 1.21 1.47 1.73 1.89 1.92 1.82 1.64 1.43 1.25 1.10 0.97 0.84 0.71 0.62 0.59 0.64 0.74 0.83 0.82 0.71 0.54 0.40 0.37 0.46 0.64 0.80 0.87 0.82 0.69 0.55 0.43 0.36 0.33 0.30 0.24 0.18 0.13 0.13 0.22 0.40 0.67 0.99 1.33 1.66 1.92 2.13 2.27 2.36 2.41 2.42 2.37 2.26 2.13 2.03 1.99 2.03 2.11 2.16 2.13 1.99 1.79 1.60 1.48 1.46 1.49 1.51 1.46 1.33 1.15 1.00 0.94 1.01 1.21 1.47 1.73 1.89 1.92 1.82 1.64 1.43 1.25 1.10 0.97 0.84 0.71 0.62 0.59 0.64 0.74 0.83 0.82 0.71 0.54 0.40 0.37 0.46 0.64 0.80 0.87 0.82 0.69 0.55 0.43 0.36 0.33 0.30 0.24 0.18 0.13 0.13 0.22 0.40 0.67 0.99 1.33 1.66 72.5 + 75.0 2.07 2.35 2.52 2.60 2.61 2.58 2.53 2.47 2.40 2.32 2.27 2.27 2.32 2.41 2.46 2.44 2.34 2.18 2.02 1.93 1.91 1.93 1.94 1.89 1.76 1.59 1.42 1.33 1.36 1.51 1.74 1.98 2.15 2.18 2.09 1.88 1.64 1.42 1.24 1.10 0.99 0.89 0.82 0.80 0.84 0.94 1.04 1.08 1.03 0.93 0.82 0.77 0.81 0.91 1.03 1.10 1.09 1.01 0.91 0.81 0.73 0.68 0.64 0.60 0.55 0.52 0.53 0.60 0.76 1.01 1.34 1.72 2.07 2.35 2.52 2.60 2.61 2.58 2.53 2.47 2.40 2.32 2.27 2.27 2.32 2.41 2.46 2.44 2.34 2.18 2.02 1.93 1.91 1.93 1.94 1.89 1.76 1.59 1.42 1.33 1.36 1.51 1.74 1.98 2.15 2.18 2.09 1.88 1.64 1.42 1.24 1.10 0.99 0.89 0.82 0.80 0.84 0.94 1.04 1.08 1.03 0.93 0.82 0.77 0.81 0.91 1.03 1.10 1.09 1.01 0.91 0.81 0.73 0.68 0.64 0.60 0.55 0.52 0.53 0.60 0.76 1.01 1.34 1.72 2.07 75.0 + 77.5 2.40 2.66 2.79 2.80 2.72 2.61 2.50 2.41 2.35 2.32 2.32 2.37 2.44 2.51 2.55 2.53 2.45 2.34 2.25 2.21 2.22 2.25 2.26 2.21 2.11 1.96 1.83 1.76 1.77 1.89 2.08 2.30 2.46 2.52 2.44 2.23 1.96 1.68 1.44 1.26 1.12 1.02 0.95 0.93 0.97 1.06 1.17 1.27 1.30 1.28 1.22 1.18 1.18 1.22 1.27 1.32 1.33 1.30 1.23 1.15 1.06 0.98 0.91 0.85 0.82 0.81 0.84 0.93 1.09 1.34 1.68 2.05 2.40 2.66 2.79 2.80 2.72 2.61 2.50 2.41 2.35 2.32 2.32 2.37 2.44 2.51 2.55 2.53 2.45 2.34 2.25 2.21 2.22 2.25 2.26 2.21 2.11 1.96 1.83 1.76 1.77 1.89 2.08 2.30 2.46 2.52 2.44 2.23 1.96 1.68 1.44 1.26 1.12 1.02 0.95 0.93 0.97 1.06 1.17 1.27 1.30 1.28 1.22 1.18 1.18 1.22 1.27 1.32 1.33 1.30 1.23 1.15 1.06 0.98 0.91 0.85 0.82 0.81 0.84 0.93 1.09 1.34 1.68 2.05 2.40 77.5 + 80.0 2.50 2.72 2.80 2.75 2.59 2.40 2.22 2.10 2.03 2.03 2.08 2.15 2.22 2.27 2.27 2.22 2.16 2.10 2.09 2.12 2.19 2.24 2.26 2.23 2.16 2.08 2.01 1.99 2.04 2.15 2.31 2.51 2.69 2.78 2.74 2.56 2.27 1.94 1.61 1.34 1.14 1.00 0.90 0.86 0.87 0.94 1.05 1.17 1.28 1.35 1.36 1.35 1.32 1.30 1.30 1.32 1.35 1.36 1.35 1.30 1.20 1.07 0.96 0.88 0.85 0.88 0.96 1.08 1.27 1.53 1.84 2.19 2.50 2.72 2.80 2.75 2.59 2.40 2.22 2.10 2.03 2.03 2.08 2.15 2.22 2.27 2.27 2.22 2.16 2.10 2.09 2.12 2.19 2.24 2.26 2.23 2.16 2.08 2.01 1.99 2.04 2.15 2.31 2.51 2.69 2.78 2.74 2.56 2.27 1.94 1.61 1.34 1.14 1.00 0.90 0.86 0.87 0.94 1.05 1.17 1.28 1.35 1.36 1.35 1.32 1.30 1.30 1.32 1.35 1.36 1.35 1.30 1.20 1.07 0.96 0.88 0.85 0.88 0.96 1.08 1.27 1.53 1.84 2.19 2.50 80.0 + 82.5 2.34 2.51 2.54 2.43 2.22 1.97 1.73 1.56 1.48 1.48 1.55 1.64 1.71 1.71 1.66 1.56 1.48 1.46 1.52 1.63 1.75 1.84 1.87 1.85 1.81 1.80 1.82 1.88 1.97 2.10 2.27 2.47 2.67 2.82 2.86 2.75 2.49 2.13 1.72 1.35 1.05 0.83 0.69 0.60 0.56 0.58 0.66 0.78 0.92 1.05 1.13 1.15 1.11 1.04 0.99 0.99 1.04 1.11 1.17 1.16 1.07 0.93 0.77 0.67 0.65 0.71 0.84 1.02 1.24 1.50 1.79 2.09 2.34 2.51 2.54 2.43 2.22 1.97 1.73 1.56 1.48 1.48 1.55 1.64 1.71 1.71 1.66 1.56 1.48 1.46 1.52 1.63 1.75 1.84 1.87 1.85 1.81 1.80 1.82 1.88 1.97 2.10 2.27 2.47 2.67 2.82 2.86 2.75 2.49 2.13 1.72 1.35 1.05 0.83 0.69 0.60 0.56 0.58 0.66 0.78 0.92 1.05 1.13 1.15 1.11 1.04 0.99 0.99 1.04 1.11 1.17 1.16 1.07 0.93 0.77 0.67 0.65 0.71 0.84 1.02 1.24 1.50 1.79 2.09 2.34 82.5 + 85.0 2.02 2.11 2.10 1.96 1.72 1.43 1.14 0.93 0.83 0.83 0.91 1.01 1.07 1.03 0.92 0.76 0.65 0.64 0.73 0.90 1.06 1.16 1.19 1.17 1.15 1.18 1.27 1.40 1.55 1.71 1.89 2.11 2.36 2.60 2.76 2.76 2.58 2.24 1.80 1.35 0.97 0.67 0.47 0.33 0.23 0.18 0.19 0.26 0.38 0.53 0.65 0.69 0.64 0.55 0.46 0.43 0.50 0.63 0.75 0.81 0.76 0.62 0.45 0.33 0.32 0.41 0.59 0.83 1.08 1.34 1.60 1.83 2.02 2.11 2.10 1.96 1.72 1.43 1.14 0.93 0.83 0.83 0.91 1.01 1.07 1.03 0.92 0.76 0.65 0.64 0.73 0.90 1.06 1.16 1.19 1.17 1.15 1.18 1.27 1.40 1.55 1.71 1.89 2.11 2.36 2.60 2.76 2.76 2.58 2.24 1.80 1.35 0.97 0.67 0.47 0.33 0.23 0.18 0.19 0.26 0.38 0.53 0.65 0.69 0.64 0.55 0.46 0.43 0.50 0.63 0.75 0.81 0.76 0.62 0.45 0.33 0.32 0.41 0.59 0.83 1.08 1.34 1.60 1.83 2.02 85.0 + 87.5 1.70 1.73 1.67 1.50 1.25 0.94 0.64 0.40 0.28 0.28 0.37 0.49 0.55 0.49 0.34 0.14 0.00 0.00 0.05 0.23 0.41 0.51 0.51 0.47 0.44 0.47 0.58 0.74 0.92 1.11 1.31 1.55 1.86 2.19 2.48 2.63 2.58 2.33 1.93 1.47 1.04 0.70 0.45 0.27 0.12 0.00 0.00 0.00 0.00 0.11 0.22 0.27 0.21 0.08 0.00 0.00 0.00 0.13 0.32 0.44 0.44 0.33 0.17 0.05 0.04 0.16 0.38 0.66 0.94 1.20 1.42 1.59 1.70 1.73 1.67 1.50 1.25 0.94 0.64 0.40 0.28 0.28 0.37 0.49 0.55 0.49 0.34 0.14 0.00 0.00 0.05 0.23 0.41 0.51 0.51 0.47 0.44 0.47 0.58 0.74 0.92 1.11 1.31 1.55 1.86 2.19 2.48 2.63 2.58 2.33 1.93 1.47 1.04 0.70 0.45 0.27 0.12 0.00 0.00 0.00 0.00 0.11 0.22 0.27 0.21 0.08 0.00 0.00 0.00 0.13 0.32 0.44 0.44 0.33 0.17 0.05 0.04 0.16 0.38 0.66 0.94 1.20 1.42 1.59 1.70 87.5 + 90.0 1.57 1.53 1.42 1.23 0.97 0.67 0.37 0.13 0.00 0.01 0.11 0.25 0.33 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.17 0.15 0.06 0.00 0.00 0.05 0.19 0.37 0.55 0.76 1.02 1.36 1.77 2.17 2.46 2.57 2.46 2.17 1.77 1.36 1.02 0.76 0.55 0.37 0.19 0.05 0.00 0.00 0.06 0.15 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.33 0.25 0.11 0.01 0.00 0.13 0.37 0.67 0.97 1.23 1.42 1.53 1.57 1.53 1.42 1.23 0.97 0.67 0.37 0.13 0.00 0.01 0.11 0.25 0.33 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.17 0.15 0.06 0.00 0.00 0.05 0.19 0.37 0.55 0.76 1.02 1.36 1.77 2.17 2.46 2.57 2.46 2.17 1.77 1.36 1.02 0.76 0.55 0.37 0.19 0.05 0.00 0.00 0.06 0.15 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.33 0.25 0.11 0.01 0.00 0.13 0.37 0.67 0.97 1.23 1.42 1.53 1.57 90.0 + + 12.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.95 FMAX-I = 5.95 ) PHI2 = 13. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 0.0 + 2.5 1.31 1.08 0.86 0.66 0.49 0.39 0.35 0.35 0.34 0.25 0.07 0.00 0.00 0.00 0.00 0.00 0.08 0.28 0.39 0.41 0.40 0.43 0.51 0.66 0.85 1.06 1.29 1.52 1.77 1.99 2.16 2.23 2.18 2.02 1.80 1.57 1.33 1.11 0.89 0.70 0.54 0.45 0.41 0.41 0.38 0.26 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.35 0.36 0.41 0.53 0.70 0.91 1.13 1.35 1.59 1.85 2.08 2.25 2.31 2.23 2.05 1.81 1.55 1.31 1.08 0.86 0.66 0.49 0.39 0.35 0.35 0.34 0.25 0.07 0.00 0.00 0.00 0.00 0.00 0.08 0.28 0.39 0.41 0.40 0.43 0.51 0.66 0.85 1.06 1.29 1.52 1.77 1.99 2.16 2.23 2.18 2.02 1.80 1.57 1.33 1.11 0.89 0.70 0.54 0.45 0.41 0.41 0.38 0.26 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.35 0.36 0.41 0.53 0.70 0.91 1.13 1.35 1.59 1.85 2.08 2.25 2.31 2.23 2.05 1.81 1.55 1.31 2.5 + 5.0 1.22 0.96 0.74 0.54 0.37 0.27 0.24 0.27 0.31 0.29 0.18 0.01 0.00 0.00 0.00 0.00 0.19 0.37 0.47 0.48 0.43 0.40 0.42 0.52 0.69 0.91 1.15 1.41 1.67 1.90 2.08 2.17 2.14 2.01 1.80 1.55 1.30 1.05 0.82 0.64 0.51 0.46 0.47 0.48 0.45 0.33 0.12 0.00 0.00 0.00 0.00 0.00 0.14 0.26 0.31 0.31 0.31 0.37 0.51 0.69 0.91 1.14 1.40 1.68 1.97 2.24 2.42 2.47 2.36 2.12 1.81 1.50 1.22 0.96 0.74 0.54 0.37 0.27 0.24 0.27 0.31 0.29 0.18 0.01 0.00 0.00 0.00 0.00 0.19 0.37 0.47 0.48 0.43 0.40 0.42 0.52 0.69 0.91 1.15 1.41 1.67 1.90 2.08 2.17 2.14 2.01 1.80 1.55 1.30 1.05 0.82 0.64 0.51 0.46 0.47 0.48 0.45 0.33 0.12 0.00 0.00 0.00 0.00 0.00 0.14 0.26 0.31 0.31 0.31 0.37 0.51 0.69 0.91 1.14 1.40 1.68 1.97 2.24 2.42 2.47 2.36 2.12 1.81 1.50 1.22 5.0 + 7.5 1.04 0.77 0.55 0.36 0.20 0.10 0.09 0.14 0.23 0.29 0.26 0.16 0.02 0.00 0.00 0.04 0.22 0.41 0.51 0.50 0.42 0.31 0.26 0.30 0.44 0.66 0.92 1.20 1.47 1.71 1.90 2.00 2.00 1.90 1.71 1.45 1.17 0.89 0.66 0.49 0.42 0.43 0.49 0.53 0.49 0.36 0.16 0.00 0.00 0.00 0.00 0.13 0.27 0.33 0.33 0.30 0.30 0.38 0.53 0.72 0.94 1.17 1.44 1.75 2.09 2.39 2.58 2.60 2.44 2.13 1.75 1.37 1.04 0.77 0.55 0.36 0.20 0.10 0.09 0.14 0.23 0.29 0.26 0.16 0.02 0.00 0.00 0.04 0.22 0.41 0.51 0.50 0.42 0.31 0.26 0.30 0.44 0.66 0.92 1.20 1.47 1.71 1.90 2.00 2.00 1.90 1.71 1.45 1.17 0.89 0.66 0.49 0.42 0.43 0.49 0.53 0.49 0.36 0.16 0.00 0.00 0.00 0.00 0.13 0.27 0.33 0.33 0.30 0.30 0.38 0.53 0.72 0.94 1.17 1.44 1.75 2.09 2.39 2.58 2.60 2.44 2.13 1.75 1.37 1.04 7.5 + 10.0 0.78 0.52 0.32 0.16 0.02 0.00 0.00 0.00 0.09 0.20 0.24 0.18 0.05 0.00 0.00 0.00 0.10 0.29 0.42 0.43 0.33 0.17 0.06 0.04 0.15 0.37 0.65 0.94 1.20 1.42 1.59 1.70 1.73 1.66 1.50 1.25 0.95 0.64 0.40 0.26 0.25 0.33 0.44 0.51 0.46 0.31 0.11 0.00 0.00 0.00 0.14 0.32 0.43 0.44 0.40 0.36 0.38 0.48 0.64 0.82 1.01 1.21 1.46 1.77 2.12 2.43 2.61 2.60 2.38 2.00 1.56 1.13 0.78 0.52 0.32 0.16 0.02 0.00 0.00 0.00 0.09 0.20 0.24 0.18 0.05 0.00 0.00 0.00 0.10 0.29 0.42 0.43 0.33 0.17 0.06 0.04 0.15 0.37 0.65 0.94 1.20 1.42 1.59 1.70 1.73 1.66 1.50 1.25 0.95 0.64 0.40 0.26 0.25 0.33 0.44 0.51 0.46 0.31 0.11 0.00 0.00 0.00 0.14 0.32 0.43 0.44 0.40 0.36 0.38 0.48 0.64 0.82 1.01 1.21 1.46 1.77 2.12 2.43 2.61 2.60 2.38 2.00 1.56 1.13 0.78 10.0 + 12.5 0.46 0.24 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.10 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.28 0.20 0.03 0.00 0.00 0.00 0.12 0.40 0.68 0.92 1.10 1.24 1.34 1.39 1.36 1.23 1.00 0.69 0.38 0.13 0.02 0.06 0.20 0.37 0.45 0.39 0.22 0.01 0.00 0.00 0.04 0.27 0.48 0.58 0.57 0.51 0.48 0.52 0.65 0.82 0.98 1.12 1.26 1.46 1.72 2.04 2.33 2.49 2.45 2.18 1.75 1.26 0.81 0.46 0.24 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.10 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.28 0.20 0.03 0.00 0.00 0.00 0.12 0.40 0.68 0.92 1.10 1.24 1.34 1.39 1.36 1.23 1.00 0.69 0.38 0.13 0.02 0.06 0.20 0.37 0.45 0.39 0.22 0.01 0.00 0.00 0.04 0.27 0.48 0.58 0.57 0.51 0.48 0.52 0.65 0.82 0.98 1.12 1.26 1.46 1.72 2.04 2.33 2.49 2.45 2.18 1.75 1.26 0.81 0.46 12.5 + 15.0 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.19 0.14 0.00 0.00 0.00 0.00 0.00 0.27 0.54 0.74 0.88 0.98 1.06 1.13 1.13 1.05 0.84 0.54 0.22 0.00 0.00 0.00 0.14 0.34 0.43 0.36 0.16 0.00 0.00 0.00 0.08 0.36 0.59 0.69 0.68 0.62 0.61 0.69 0.85 1.04 1.18 1.27 1.34 1.45 1.64 1.90 2.15 2.28 2.21 1.92 1.46 0.95 0.50 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.19 0.14 0.00 0.00 0.00 0.00 0.00 0.27 0.54 0.74 0.88 0.98 1.06 1.13 1.13 1.05 0.84 0.54 0.22 0.00 0.00 0.00 0.14 0.34 0.43 0.36 0.16 0.00 0.00 0.00 0.08 0.36 0.59 0.69 0.68 0.62 0.61 0.69 0.85 1.04 1.18 1.27 1.34 1.45 1.64 1.90 2.15 2.28 2.21 1.92 1.46 0.95 0.50 0.17 15.0 + 17.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.25 0.24 0.08 0.00 0.00 0.00 0.05 0.32 0.57 0.74 0.85 0.91 0.98 1.05 1.09 1.04 0.87 0.58 0.26 0.01 0.00 0.00 0.20 0.42 0.51 0.43 0.21 0.00 0.00 0.00 0.11 0.42 0.66 0.76 0.75 0.69 0.70 0.81 1.02 1.23 1.37 1.43 1.43 1.47 1.58 1.78 1.98 2.08 2.00 1.71 1.25 0.74 0.28 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.25 0.24 0.08 0.00 0.00 0.00 0.05 0.32 0.57 0.74 0.85 0.91 0.98 1.05 1.09 1.04 0.87 0.58 0.26 0.01 0.00 0.00 0.20 0.42 0.51 0.43 0.21 0.00 0.00 0.00 0.11 0.42 0.66 0.76 0.75 0.69 0.70 0.81 1.02 1.23 1.37 1.43 1.43 1.47 1.58 1.78 1.98 2.08 2.00 1.71 1.25 0.74 0.28 0.00 17.5 + 20.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.25 0.32 0.21 0.00 0.00 0.00 0.00 0.01 0.32 0.52 0.53 0.37 0.16 0.03 0.07 0.26 0.52 0.76 0.92 1.00 1.05 1.10 1.18 1.23 1.21 1.06 0.80 0.48 0.21 0.09 0.16 0.36 0.57 0.68 0.60 0.37 0.10 0.00 0.00 0.19 0.49 0.73 0.83 0.80 0.74 0.75 0.88 1.12 1.37 1.54 1.59 1.56 1.53 1.58 1.71 1.88 1.97 1.90 1.63 1.19 0.68 0.22 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.25 0.32 0.21 0.00 0.00 0.00 0.00 0.01 0.32 0.52 0.53 0.37 0.16 0.03 0.07 0.26 0.52 0.76 0.92 1.00 1.05 1.10 1.18 1.23 1.21 1.06 0.80 0.48 0.21 0.09 0.16 0.36 0.57 0.68 0.60 0.37 0.10 0.00 0.00 0.19 0.49 0.73 0.83 0.80 0.74 0.75 0.88 1.12 1.37 1.54 1.59 1.56 1.53 1.58 1.71 1.88 1.97 1.90 1.63 1.19 0.68 0.22 0.00 20.0 + 22.5 0.01 0.00 0.00 0.02 0.09 0.08 0.04 0.04 0.16 0.39 0.63 0.76 0.70 0.49 0.23 0.09 0.16 0.41 0.71 0.91 0.91 0.74 0.50 0.34 0.35 0.51 0.76 0.99 1.15 1.22 1.26 1.30 1.37 1.42 1.42 1.29 1.05 0.73 0.45 0.29 0.32 0.49 0.71 0.83 0.78 0.57 0.30 0.12 0.13 0.32 0.61 0.85 0.96 0.92 0.85 0.84 0.96 1.21 1.49 1.69 1.76 1.73 1.66 1.64 1.72 1.85 1.94 1.91 1.67 1.27 0.77 0.31 0.01 0.00 0.00 0.02 0.09 0.08 0.04 0.04 0.16 0.39 0.63 0.76 0.70 0.49 0.23 0.09 0.16 0.41 0.71 0.91 0.91 0.74 0.50 0.34 0.35 0.51 0.76 0.99 1.15 1.22 1.26 1.30 1.37 1.42 1.42 1.29 1.05 0.73 0.45 0.29 0.32 0.49 0.71 0.83 0.78 0.57 0.30 0.12 0.13 0.32 0.61 0.85 0.96 0.92 0.85 0.84 0.96 1.21 1.49 1.69 1.76 1.73 1.66 1.64 1.72 1.85 1.94 1.91 1.67 1.27 0.77 0.31 0.01 22.5 + 25.0 0.17 0.07 0.13 0.26 0.36 0.37 0.34 0.35 0.49 0.75 1.04 1.23 1.22 1.02 0.75 0.57 0.59 0.80 1.06 1.24 1.23 1.03 0.77 0.57 0.54 0.67 0.89 1.11 1.26 1.33 1.35 1.38 1.43 1.47 1.47 1.37 1.15 0.85 0.56 0.38 0.36 0.50 0.72 0.87 0.88 0.72 0.49 0.32 0.32 0.52 0.83 1.11 1.25 1.24 1.15 1.10 1.18 1.40 1.67 1.89 1.97 1.93 1.82 1.73 1.75 1.84 1.94 1.94 1.76 1.40 0.93 0.48 0.17 0.07 0.13 0.26 0.36 0.37 0.34 0.35 0.49 0.75 1.04 1.23 1.22 1.02 0.75 0.57 0.59 0.80 1.06 1.24 1.23 1.03 0.77 0.57 0.54 0.67 0.89 1.11 1.26 1.33 1.35 1.38 1.43 1.47 1.47 1.37 1.15 0.85 0.56 0.38 0.36 0.50 0.72 0.87 0.88 0.72 0.49 0.32 0.32 0.52 0.83 1.11 1.25 1.24 1.15 1.10 1.18 1.40 1.67 1.89 1.97 1.93 1.82 1.73 1.75 1.84 1.94 1.94 1.76 1.40 0.93 0.48 0.17 25.0 + 27.5 0.36 0.29 0.39 0.56 0.68 0.70 0.66 0.66 0.79 1.06 1.37 1.59 1.59 1.38 1.08 0.85 0.81 0.96 1.19 1.35 1.32 1.11 0.82 0.59 0.52 0.61 0.79 0.99 1.13 1.19 1.20 1.21 1.23 1.26 1.27 1.20 1.03 0.78 0.51 0.31 0.26 0.37 0.59 0.79 0.88 0.81 0.64 0.51 0.54 0.78 1.17 1.55 1.79 1.84 1.75 1.64 1.64 1.77 1.98 2.17 2.24 2.16 1.99 1.82 1.76 1.80 1.90 1.94 1.82 1.51 1.08 0.65 0.36 0.29 0.39 0.56 0.68 0.70 0.66 0.66 0.79 1.06 1.37 1.59 1.59 1.38 1.08 0.85 0.81 0.96 1.19 1.35 1.32 1.11 0.82 0.59 0.52 0.61 0.79 0.99 1.13 1.19 1.20 1.21 1.23 1.26 1.27 1.20 1.03 0.78 0.51 0.31 0.26 0.37 0.59 0.79 0.88 0.81 0.64 0.51 0.54 0.78 1.17 1.55 1.79 1.84 1.75 1.64 1.64 1.77 1.98 2.17 2.24 2.16 1.99 1.82 1.76 1.80 1.90 1.94 1.82 1.51 1.08 0.65 0.36 27.5 + 30.0 0.54 0.50 0.65 0.87 1.02 1.04 0.97 0.92 1.01 1.25 1.55 1.74 1.72 1.48 1.12 0.82 0.72 0.83 1.03 1.17 1.14 0.93 0.64 0.39 0.29 0.34 0.48 0.65 0.77 0.81 0.81 0.80 0.81 0.84 0.87 0.86 0.77 0.60 0.37 0.18 0.11 0.20 0.42 0.67 0.85 0.88 0.80 0.73 0.83 1.15 1.65 2.18 2.58 2.73 2.67 2.49 2.36 2.35 2.45 2.55 2.55 2.41 2.15 1.89 1.73 1.73 1.82 1.89 1.83 1.57 1.18 0.79 0.54 0.50 0.65 0.87 1.02 1.04 0.97 0.92 1.01 1.25 1.55 1.74 1.72 1.48 1.12 0.82 0.72 0.83 1.03 1.17 1.14 0.93 0.64 0.39 0.29 0.34 0.48 0.65 0.77 0.81 0.81 0.80 0.81 0.84 0.87 0.86 0.77 0.60 0.37 0.18 0.11 0.20 0.42 0.67 0.85 0.88 0.80 0.73 0.83 1.15 1.65 2.18 2.58 2.73 2.67 2.49 2.36 2.35 2.45 2.55 2.55 2.41 2.15 1.89 1.73 1.73 1.82 1.89 1.83 1.57 1.18 0.79 0.54 30.0 + 32.5 0.69 0.69 0.89 1.15 1.32 1.33 1.23 1.13 1.17 1.36 1.61 1.76 1.69 1.38 0.94 0.57 0.41 0.48 0.66 0.80 0.79 0.60 0.32 0.07 0.00 0.00 0.09 0.23 0.34 0.38 0.37 0.35 0.35 0.39 0.47 0.54 0.55 0.48 0.33 0.16 0.07 0.14 0.36 0.66 0.91 1.04 1.04 1.04 1.19 1.60 2.24 2.94 3.52 3.80 3.77 3.53 3.25 3.07 3.00 2.97 2.88 2.64 2.29 1.94 1.70 1.65 1.74 1.84 1.83 1.62 1.27 0.91 0.69 0.69 0.89 1.15 1.32 1.33 1.23 1.13 1.17 1.36 1.61 1.76 1.69 1.38 0.94 0.57 0.41 0.48 0.66 0.80 0.79 0.60 0.32 0.07 0.00 0.00 0.09 0.23 0.34 0.38 0.37 0.35 0.35 0.39 0.47 0.54 0.55 0.48 0.33 0.16 0.07 0.14 0.36 0.66 0.91 1.04 1.04 1.04 1.19 1.60 2.24 2.94 3.52 3.80 3.77 3.53 3.25 3.07 3.00 2.97 2.88 2.64 2.29 1.94 1.70 1.65 1.74 1.84 1.83 1.62 1.27 0.91 0.69 32.5 + 35.0 0.85 0.87 1.09 1.37 1.56 1.57 1.44 1.31 1.31 1.47 1.68 1.79 1.66 1.27 0.75 0.31 0.09 0.12 0.30 0.46 0.47 0.30 0.03 0.00 0.00 0.00 0.00 0.00 0.06 0.11 0.10 0.08 0.09 0.16 0.29 0.45 0.57 0.59 0.51 0.36 0.27 0.31 0.52 0.84 1.14 1.34 1.40 1.44 1.62 2.08 2.82 3.68 4.41 4.82 4.83 4.53 4.11 3.74 3.50 3.34 3.13 2.82 2.40 1.98 1.70 1.63 1.73 1.88 1.91 1.74 1.41 1.06 0.85 0.87 1.09 1.37 1.56 1.57 1.44 1.31 1.31 1.47 1.68 1.79 1.66 1.27 0.75 0.31 0.09 0.12 0.30 0.46 0.47 0.30 0.03 0.00 0.00 0.00 0.00 0.00 0.06 0.11 0.10 0.08 0.09 0.16 0.29 0.45 0.57 0.59 0.51 0.36 0.27 0.31 0.52 0.84 1.14 1.34 1.40 1.44 1.62 2.08 2.82 3.68 4.41 4.82 4.83 4.53 4.11 3.74 3.50 3.34 3.13 2.82 2.40 1.98 1.70 1.63 1.73 1.88 1.91 1.74 1.41 1.06 0.85 35.0 + 37.5 1.05 1.05 1.26 1.55 1.74 1.76 1.64 1.52 1.52 1.69 1.90 1.99 1.82 1.37 0.77 0.25 0.00 0.00 0.15 0.33 0.35 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.16 0.16 0.15 0.17 0.27 0.44 0.66 0.85 0.94 0.90 0.76 0.64 0.64 0.83 1.15 1.48 1.71 1.79 1.82 2.00 2.46 3.24 4.18 5.02 5.52 5.56 5.22 4.70 4.19 3.81 3.53 3.26 2.90 2.45 2.02 1.74 1.69 1.84 2.03 2.11 1.98 1.65 1.28 1.05 1.05 1.26 1.55 1.74 1.76 1.64 1.52 1.52 1.69 1.90 1.99 1.82 1.37 0.77 0.25 0.00 0.00 0.15 0.33 0.35 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.16 0.16 0.15 0.17 0.27 0.44 0.66 0.85 0.94 0.90 0.76 0.64 0.64 0.83 1.15 1.48 1.71 1.79 1.82 2.00 2.46 3.24 4.18 5.02 5.52 5.56 5.22 4.70 4.19 3.81 3.53 3.26 2.90 2.45 2.02 1.74 1.69 1.84 2.03 2.11 1.98 1.65 1.28 1.05 37.5 + 40.0 1.29 1.25 1.42 1.69 1.89 1.94 1.86 1.79 1.86 2.09 2.35 2.47 2.28 1.78 1.12 0.53 0.19 0.16 0.32 0.50 0.54 0.40 0.15 0.00 0.00 0.00 0.09 0.30 0.46 0.54 0.54 0.53 0.55 0.65 0.83 1.07 1.28 1.38 1.33 1.18 1.02 0.98 1.12 1.42 1.75 1.98 2.05 2.05 2.17 2.58 3.33 4.28 5.16 5.70 5.78 5.42 4.84 4.26 3.82 3.50 3.21 2.85 2.43 2.03 1.79 1.80 2.01 2.28 2.41 2.30 1.97 1.57 1.29 1.25 1.42 1.69 1.89 1.94 1.86 1.79 1.86 2.09 2.35 2.47 2.28 1.78 1.12 0.53 0.19 0.16 0.32 0.50 0.54 0.40 0.15 0.00 0.00 0.00 0.09 0.30 0.46 0.54 0.54 0.53 0.55 0.65 0.83 1.07 1.28 1.38 1.33 1.18 1.02 0.98 1.12 1.42 1.75 1.98 2.05 2.05 2.17 2.58 3.33 4.28 5.16 5.70 5.78 5.42 4.84 4.26 3.82 3.50 3.21 2.85 2.43 2.03 1.79 1.80 2.01 2.28 2.41 2.30 1.97 1.57 1.29 40.0 + 42.5 1.55 1.46 1.60 1.85 2.07 2.16 2.16 2.19 2.36 2.68 3.03 3.19 3.02 2.50 1.79 1.12 0.71 0.63 0.76 0.92 0.96 0.81 0.56 0.34 0.26 0.36 0.58 0.82 0.99 1.06 1.05 1.01 1.00 1.07 1.23 1.43 1.60 1.66 1.58 1.38 1.18 1.10 1.21 1.48 1.79 1.99 2.03 1.97 2.02 2.34 3.01 3.90 4.76 5.32 5.41 5.08 4.52 3.95 3.52 3.23 2.99 2.69 2.33 2.00 1.82 1.89 2.17 2.50 2.69 2.62 2.30 1.88 1.55 1.46 1.60 1.85 2.07 2.16 2.16 2.19 2.36 2.68 3.03 3.19 3.02 2.50 1.79 1.12 0.71 0.63 0.76 0.92 0.96 0.81 0.56 0.34 0.26 0.36 0.58 0.82 0.99 1.06 1.05 1.01 1.00 1.07 1.23 1.43 1.60 1.66 1.58 1.38 1.18 1.10 1.21 1.48 1.79 1.99 2.03 1.97 2.02 2.34 3.01 3.90 4.76 5.32 5.41 5.08 4.52 3.95 3.52 3.23 2.99 2.69 2.33 2.00 1.82 1.89 2.17 2.50 2.69 2.62 2.30 1.88 1.55 42.5 + 45.0 1.79 1.68 1.80 2.06 2.31 2.47 2.56 2.69 2.98 3.40 3.84 4.07 3.93 3.39 2.63 1.89 1.40 1.24 1.31 1.44 1.45 1.29 1.02 0.79 0.72 0.83 1.06 1.30 1.46 1.49 1.43 1.34 1.28 1.30 1.40 1.53 1.62 1.62 1.48 1.25 1.02 0.92 1.01 1.25 1.53 1.70 1.70 1.60 1.57 1.79 2.35 3.15 3.94 4.47 4.58 4.31 3.82 3.34 3.00 2.81 2.66 2.45 2.17 1.89 1.76 1.88 2.20 2.59 2.84 2.82 2.53 2.12 1.79 1.68 1.80 2.06 2.31 2.47 2.56 2.69 2.98 3.40 3.84 4.07 3.93 3.39 2.63 1.89 1.40 1.24 1.31 1.44 1.45 1.29 1.02 0.79 0.72 0.83 1.06 1.30 1.46 1.49 1.43 1.34 1.28 1.30 1.40 1.53 1.62 1.62 1.48 1.25 1.02 0.92 1.01 1.25 1.53 1.70 1.70 1.60 1.57 1.79 2.35 3.15 3.94 4.47 4.58 4.31 3.82 3.34 3.00 2.81 2.66 2.45 2.17 1.89 1.76 1.88 2.20 2.59 2.84 2.82 2.53 2.12 1.79 45.0 + 47.5 1.95 1.86 2.01 2.31 2.61 2.85 3.03 3.26 3.64 4.14 4.65 4.93 4.81 4.28 3.47 2.66 2.08 1.82 1.82 1.88 1.85 1.65 1.37 1.13 1.04 1.14 1.35 1.56 1.67 1.64 1.52 1.37 1.25 1.21 1.24 1.29 1.31 1.24 1.07 0.83 0.62 0.53 0.61 0.83 1.08 1.23 1.20 1.07 0.98 1.12 1.57 2.25 2.95 3.43 3.55 3.34 2.96 2.61 2.40 2.33 2.29 2.18 1.96 1.72 1.61 1.73 2.07 2.48 2.78 2.81 2.59 2.24 1.95 1.86 2.01 2.31 2.61 2.85 3.03 3.26 3.64 4.14 4.65 4.93 4.81 4.28 3.47 2.66 2.08 1.82 1.82 1.88 1.85 1.65 1.37 1.13 1.04 1.14 1.35 1.56 1.67 1.64 1.52 1.37 1.25 1.21 1.24 1.29 1.31 1.24 1.07 0.83 0.62 0.53 0.61 0.83 1.08 1.23 1.20 1.07 0.98 1.12 1.57 2.25 2.95 3.43 3.55 3.34 2.96 2.61 2.40 2.33 2.29 2.18 1.96 1.72 1.61 1.73 2.07 2.48 2.78 2.81 2.59 2.24 1.95 47.5 + 50.0 2.00 1.99 2.20 2.56 2.94 3.25 3.51 3.81 4.23 4.77 5.29 5.60 5.51 4.99 4.17 3.31 2.64 2.27 2.16 2.14 2.05 1.83 1.52 1.26 1.15 1.22 1.39 1.54 1.59 1.50 1.31 1.11 0.95 0.87 0.85 0.85 0.82 0.72 0.55 0.35 0.18 0.13 0.23 0.45 0.68 0.80 0.76 0.61 0.49 0.56 0.91 1.47 2.06 2.48 2.60 2.44 2.16 1.93 1.85 1.90 1.95 1.91 1.72 1.49 1.37 1.46 1.77 2.18 2.50 2.61 2.47 2.21 2.00 1.99 2.20 2.56 2.94 3.25 3.51 3.81 4.23 4.77 5.29 5.60 5.51 4.99 4.17 3.31 2.64 2.27 2.16 2.14 2.05 1.83 1.52 1.26 1.15 1.22 1.39 1.54 1.59 1.50 1.31 1.11 0.95 0.87 0.85 0.85 0.82 0.72 0.55 0.35 0.18 0.13 0.23 0.45 0.68 0.80 0.76 0.61 0.49 0.56 0.91 1.47 2.06 2.48 2.60 2.44 2.16 1.93 1.85 1.90 1.95 1.91 1.72 1.49 1.37 1.46 1.77 2.18 2.50 2.61 2.47 2.21 2.00 50.0 + 52.5 1.94 2.01 2.31 2.74 3.18 3.56 3.88 4.20 4.62 5.14 5.64 5.95 5.89 5.41 4.61 3.74 3.01 2.55 2.33 2.22 2.07 1.82 1.49 1.21 1.08 1.10 1.22 1.32 1.31 1.18 0.96 0.74 0.57 0.47 0.43 0.42 0.38 0.30 0.17 0.02 0.00 0.00 0.06 0.28 0.50 0.61 0.58 0.42 0.29 0.30 0.56 1.00 1.48 1.82 1.91 1.78 1.56 1.41 1.42 1.54 1.65 1.64 1.47 1.23 1.07 1.11 1.38 1.76 2.09 2.25 2.20 2.04 1.94 2.01 2.31 2.74 3.18 3.56 3.88 4.20 4.62 5.14 5.64 5.95 5.89 5.41 4.61 3.74 3.01 2.55 2.33 2.22 2.07 1.82 1.49 1.21 1.08 1.10 1.22 1.32 1.31 1.18 0.96 0.74 0.57 0.47 0.43 0.42 0.38 0.30 0.17 0.02 0.00 0.00 0.06 0.28 0.50 0.61 0.58 0.42 0.29 0.30 0.56 1.00 1.48 1.82 1.91 1.78 1.56 1.41 1.42 1.54 1.65 1.64 1.47 1.23 1.07 1.11 1.38 1.76 2.09 2.25 2.20 2.04 1.94 52.5 + 55.0 1.77 1.93 2.28 2.77 3.27 3.70 4.03 4.34 4.71 5.16 5.61 5.90 5.87 5.46 4.75 3.91 3.17 2.65 2.36 2.17 1.97 1.70 1.37 1.08 0.92 0.91 0.98 1.04 1.02 0.89 0.68 0.48 0.33 0.25 0.22 0.21 0.19 0.15 0.07 0.00 0.00 0.00 0.14 0.36 0.57 0.69 0.67 0.53 0.38 0.35 0.53 0.86 1.24 1.49 1.54 1.40 1.20 1.08 1.11 1.25 1.37 1.36 1.18 0.92 0.73 0.73 0.94 1.29 1.62 1.81 1.84 1.77 1.77 1.93 2.28 2.77 3.27 3.70 4.03 4.34 4.71 5.16 5.61 5.90 5.87 5.46 4.75 3.91 3.17 2.65 2.36 2.17 1.97 1.70 1.37 1.08 0.92 0.91 0.98 1.04 1.02 0.89 0.68 0.48 0.33 0.25 0.22 0.21 0.19 0.15 0.07 0.00 0.00 0.00 0.14 0.36 0.57 0.69 0.67 0.53 0.38 0.35 0.53 0.86 1.24 1.49 1.54 1.40 1.20 1.08 1.11 1.25 1.37 1.36 1.18 0.92 0.73 0.73 0.94 1.29 1.62 1.81 1.84 1.77 1.77 55.0 + 57.5 1.51 1.73 2.12 2.63 3.15 3.59 3.91 4.18 4.47 4.82 5.19 5.44 5.46 5.15 4.55 3.83 3.14 2.61 2.27 2.04 1.82 1.54 1.23 0.95 0.78 0.74 0.79 0.84 0.84 0.76 0.62 0.47 0.36 0.31 0.30 0.30 0.30 0.28 0.24 0.20 0.19 0.24 0.38 0.58 0.78 0.91 0.90 0.77 0.62 0.56 0.66 0.91 1.20 1.40 1.40 1.24 1.02 0.88 0.87 0.97 1.06 1.03 0.84 0.58 0.37 0.34 0.51 0.82 1.14 1.36 1.43 1.45 1.51 1.73 2.12 2.63 3.15 3.59 3.91 4.18 4.47 4.82 5.19 5.44 5.46 5.15 4.55 3.83 3.14 2.61 2.27 2.04 1.82 1.54 1.23 0.95 0.78 0.74 0.79 0.84 0.84 0.76 0.62 0.47 0.36 0.31 0.30 0.30 0.30 0.28 0.24 0.20 0.19 0.24 0.38 0.58 0.78 0.91 0.90 0.77 0.62 0.56 0.66 0.91 1.20 1.40 1.40 1.24 1.02 0.88 0.87 0.97 1.06 1.03 0.84 0.58 0.37 0.34 0.51 0.82 1.14 1.36 1.43 1.45 1.51 57.5 + 60.0 1.21 1.46 1.86 2.36 2.86 3.27 3.56 3.76 3.95 4.18 4.44 4.66 4.71 4.52 4.09 3.51 2.92 2.44 2.10 1.86 1.65 1.40 1.13 0.87 0.70 0.65 0.68 0.76 0.81 0.81 0.76 0.70 0.65 0.62 0.61 0.61 0.61 0.59 0.55 0.50 0.46 0.48 0.58 0.74 0.93 1.06 1.06 0.95 0.79 0.70 0.75 0.95 1.19 1.35 1.33 1.16 0.91 0.72 0.64 0.67 0.71 0.65 0.47 0.22 0.02 0.00 0.12 0.40 0.70 0.92 1.04 1.10 1.21 1.46 1.86 2.36 2.86 3.27 3.56 3.76 3.95 4.18 4.44 4.66 4.71 4.52 4.09 3.51 2.92 2.44 2.10 1.86 1.65 1.40 1.13 0.87 0.70 0.65 0.68 0.76 0.81 0.81 0.76 0.70 0.65 0.62 0.61 0.61 0.61 0.59 0.55 0.50 0.46 0.48 0.58 0.74 0.93 1.06 1.06 0.95 0.79 0.70 0.75 0.95 1.19 1.35 1.33 1.16 0.91 0.72 0.64 0.67 0.71 0.65 0.47 0.22 0.02 0.00 0.12 0.40 0.70 0.92 1.04 1.10 1.21 60.0 + 62.5 0.94 1.20 1.58 2.04 2.49 2.85 3.08 3.20 3.29 3.40 3.56 3.73 3.81 3.73 3.47 3.06 2.60 2.19 1.89 1.67 1.48 1.29 1.06 0.84 0.68 0.62 0.65 0.75 0.86 0.96 1.02 1.04 1.04 1.02 1.00 0.97 0.93 0.88 0.81 0.72 0.63 0.59 0.62 0.74 0.90 1.01 1.03 0.92 0.76 0.65 0.67 0.82 1.05 1.21 1.21 1.05 0.79 0.55 0.41 0.37 0.36 0.29 0.12 0.00 0.00 0.00 0.00 0.06 0.32 0.54 0.68 0.79 0.94 1.20 1.58 2.04 2.49 2.85 3.08 3.20 3.29 3.40 3.56 3.73 3.81 3.73 3.47 3.06 2.60 2.19 1.89 1.67 1.48 1.29 1.06 0.84 0.68 0.62 0.65 0.75 0.86 0.96 1.02 1.04 1.04 1.02 1.00 0.97 0.93 0.88 0.81 0.72 0.63 0.59 0.62 0.74 0.90 1.01 1.03 0.92 0.76 0.65 0.67 0.82 1.05 1.21 1.21 1.05 0.79 0.55 0.41 0.37 0.36 0.29 0.12 0.00 0.00 0.00 0.00 0.06 0.32 0.54 0.68 0.79 0.94 62.5 + 65.0 0.79 1.06 1.41 1.81 2.19 2.47 2.63 2.68 2.68 2.69 2.76 2.87 2.97 2.99 2.87 2.62 2.29 1.97 1.71 1.52 1.37 1.23 1.06 0.87 0.72 0.64 0.66 0.76 0.93 1.10 1.26 1.36 1.40 1.39 1.33 1.25 1.15 1.05 0.94 0.81 0.67 0.56 0.54 0.60 0.72 0.82 0.83 0.73 0.57 0.44 0.43 0.57 0.79 0.98 1.02 0.89 0.65 0.41 0.23 0.14 0.10 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.44 0.59 0.79 1.06 1.41 1.81 2.19 2.47 2.63 2.68 2.68 2.69 2.76 2.87 2.97 2.99 2.87 2.62 2.29 1.97 1.71 1.52 1.37 1.23 1.06 0.87 0.72 0.64 0.66 0.76 0.93 1.10 1.26 1.36 1.40 1.39 1.33 1.25 1.15 1.05 0.94 0.81 0.67 0.56 0.54 0.60 0.72 0.82 0.83 0.73 0.57 0.44 0.43 0.57 0.79 0.98 1.02 0.89 0.65 0.41 0.23 0.14 0.10 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.44 0.59 0.79 65.0 + 67.5 0.82 1.11 1.44 1.77 2.06 2.26 2.35 2.34 2.28 2.22 2.22 2.29 2.40 2.48 2.47 2.34 2.12 1.87 1.66 1.50 1.38 1.28 1.15 1.00 0.84 0.74 0.72 0.81 0.98 1.20 1.42 1.59 1.67 1.64 1.54 1.40 1.25 1.10 0.96 0.81 0.65 0.52 0.45 0.47 0.55 0.63 0.64 0.55 0.39 0.25 0.23 0.35 0.56 0.77 0.85 0.78 0.58 0.35 0.17 0.07 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.37 0.58 0.82 1.11 1.44 1.77 2.06 2.26 2.35 2.34 2.28 2.22 2.22 2.29 2.40 2.48 2.47 2.34 2.12 1.87 1.66 1.50 1.38 1.28 1.15 1.00 0.84 0.74 0.72 0.81 0.98 1.20 1.42 1.59 1.67 1.64 1.54 1.40 1.25 1.10 0.96 0.81 0.65 0.52 0.45 0.47 0.55 0.63 0.64 0.55 0.39 0.25 0.23 0.35 0.56 0.77 0.85 0.78 0.58 0.35 0.17 0.07 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.37 0.58 0.82 67.5 + 70.0 1.07 1.38 1.68 1.94 2.13 2.25 2.27 2.22 2.13 2.05 2.03 2.08 2.19 2.30 2.36 2.31 2.18 1.99 1.81 1.67 1.58 1.50 1.40 1.26 1.10 0.96 0.90 0.94 1.09 1.32 1.57 1.77 1.86 1.83 1.70 1.50 1.29 1.11 0.96 0.82 0.69 0.57 0.50 0.50 0.55 0.62 0.63 0.55 0.41 0.28 0.24 0.33 0.52 0.72 0.83 0.80 0.66 0.47 0.31 0.22 0.18 0.14 0.09 0.01 0.00 0.00 0.00 0.00 0.11 0.29 0.51 0.78 1.07 1.38 1.68 1.94 2.13 2.25 2.27 2.22 2.13 2.05 2.03 2.08 2.19 2.30 2.36 2.31 2.18 1.99 1.81 1.67 1.58 1.50 1.40 1.26 1.10 0.96 0.90 0.94 1.09 1.32 1.57 1.77 1.86 1.83 1.70 1.50 1.29 1.11 0.96 0.82 0.69 0.57 0.50 0.50 0.55 0.62 0.63 0.55 0.41 0.28 0.24 0.33 0.52 0.72 0.83 0.80 0.66 0.47 0.31 0.22 0.18 0.14 0.09 0.01 0.00 0.00 0.00 0.00 0.11 0.29 0.51 0.78 1.07 70.0 + 72.5 1.48 1.80 2.06 2.24 2.34 2.37 2.34 2.27 2.18 2.12 2.10 2.16 2.28 2.41 2.49 2.49 2.41 2.28 2.14 2.03 1.96 1.90 1.81 1.67 1.50 1.34 1.24 1.24 1.35 1.55 1.78 1.98 2.08 2.04 1.88 1.63 1.38 1.17 1.02 0.91 0.82 0.74 0.70 0.70 0.75 0.81 0.83 0.79 0.68 0.57 0.53 0.58 0.73 0.88 0.98 0.98 0.89 0.76 0.64 0.56 0.53 0.51 0.48 0.42 0.36 0.32 0.30 0.33 0.42 0.59 0.84 1.15 1.48 1.80 2.06 2.24 2.34 2.37 2.34 2.27 2.18 2.12 2.10 2.16 2.28 2.41 2.49 2.49 2.41 2.28 2.14 2.03 1.96 1.90 1.81 1.67 1.50 1.34 1.24 1.24 1.35 1.55 1.78 1.98 2.08 2.04 1.88 1.63 1.38 1.17 1.02 0.91 0.82 0.74 0.70 0.70 0.75 0.81 0.83 0.79 0.68 0.57 0.53 0.58 0.73 0.88 0.98 0.98 0.89 0.76 0.64 0.56 0.53 0.51 0.48 0.42 0.36 0.32 0.30 0.33 0.42 0.59 0.84 1.15 1.48 72.5 + 75.0 1.91 2.22 2.43 2.54 2.55 2.49 2.41 2.32 2.26 2.24 2.26 2.35 2.47 2.59 2.68 2.70 2.65 2.57 2.49 2.43 2.39 2.34 2.27 2.14 1.98 1.82 1.71 1.67 1.74 1.89 2.09 2.27 2.36 2.31 2.13 1.86 1.57 1.32 1.15 1.04 0.98 0.94 0.93 0.95 1.00 1.06 1.11 1.11 1.07 1.00 0.97 1.00 1.08 1.17 1.24 1.23 1.18 1.10 1.03 0.98 0.95 0.92 0.88 0.83 0.78 0.74 0.72 0.74 0.81 0.98 1.23 1.56 1.91 2.22 2.43 2.54 2.55 2.49 2.41 2.32 2.26 2.24 2.26 2.35 2.47 2.59 2.68 2.70 2.65 2.57 2.49 2.43 2.39 2.34 2.27 2.14 1.98 1.82 1.71 1.67 1.74 1.89 2.09 2.27 2.36 2.31 2.13 1.86 1.57 1.32 1.15 1.04 0.98 0.94 0.93 0.95 1.00 1.06 1.11 1.11 1.07 1.00 0.97 1.00 1.08 1.17 1.24 1.23 1.18 1.10 1.03 0.98 0.95 0.92 0.88 0.83 0.78 0.74 0.72 0.74 0.81 0.98 1.23 1.56 1.91 75.0 + 77.5 2.20 2.48 2.64 2.67 2.59 2.45 2.32 2.22 2.18 2.20 2.28 2.39 2.52 2.62 2.67 2.68 2.66 2.63 2.63 2.64 2.65 2.64 2.58 2.48 2.35 2.23 2.14 2.11 2.16 2.26 2.41 2.56 2.64 2.61 2.44 2.16 1.83 1.53 1.29 1.14 1.06 1.02 1.01 1.03 1.08 1.15 1.22 1.28 1.30 1.31 1.31 1.33 1.36 1.38 1.39 1.37 1.35 1.32 1.31 1.29 1.25 1.20 1.13 1.06 1.02 0.99 1.00 1.04 1.13 1.30 1.55 1.87 2.20 2.48 2.64 2.67 2.59 2.45 2.32 2.22 2.18 2.20 2.28 2.39 2.52 2.62 2.67 2.68 2.66 2.63 2.63 2.64 2.65 2.64 2.58 2.48 2.35 2.23 2.14 2.11 2.16 2.26 2.41 2.56 2.64 2.61 2.44 2.16 1.83 1.53 1.29 1.14 1.06 1.02 1.01 1.03 1.08 1.15 1.22 1.28 1.30 1.31 1.31 1.33 1.36 1.38 1.39 1.37 1.35 1.32 1.31 1.29 1.25 1.20 1.13 1.06 1.02 0.99 1.00 1.04 1.13 1.30 1.55 1.87 2.20 77.5 + 80.0 2.23 2.46 2.56 2.53 2.38 2.17 1.98 1.86 1.83 1.89 2.01 2.14 2.26 2.32 2.32 2.29 2.27 2.30 2.37 2.47 2.54 2.57 2.54 2.47 2.39 2.33 2.31 2.33 2.38 2.47 2.58 2.70 2.79 2.80 2.68 2.43 2.10 1.73 1.40 1.14 0.98 0.89 0.85 0.86 0.89 0.94 1.02 1.10 1.19 1.27 1.33 1.36 1.35 1.32 1.27 1.23 1.23 1.26 1.31 1.33 1.29 1.20 1.09 1.00 0.96 0.97 1.03 1.12 1.25 1.42 1.66 1.95 2.23 2.46 2.56 2.53 2.38 2.17 1.98 1.86 1.83 1.89 2.01 2.14 2.26 2.32 2.32 2.29 2.27 2.30 2.37 2.47 2.54 2.57 2.54 2.47 2.39 2.33 2.31 2.33 2.38 2.47 2.58 2.70 2.79 2.80 2.68 2.43 2.10 1.73 1.40 1.14 0.98 0.89 0.85 0.86 0.89 0.94 1.02 1.10 1.19 1.27 1.33 1.36 1.35 1.32 1.27 1.23 1.23 1.26 1.31 1.33 1.29 1.20 1.09 1.00 0.96 0.97 1.03 1.12 1.25 1.42 1.66 1.95 2.23 80.0 + 82.5 2.01 2.17 2.22 2.13 1.93 1.67 1.43 1.26 1.22 1.30 1.45 1.60 1.69 1.70 1.63 1.54 1.51 1.56 1.70 1.87 2.02 2.08 2.07 2.02 1.99 2.00 2.06 2.15 2.24 2.33 2.43 2.56 2.69 2.77 2.75 2.59 2.28 1.88 1.46 1.08 0.80 0.62 0.52 0.48 0.47 0.49 0.53 0.61 0.73 0.86 0.97 1.02 1.00 0.92 0.82 0.77 0.79 0.88 0.99 1.06 1.04 0.93 0.78 0.66 0.62 0.67 0.79 0.96 1.14 1.33 1.55 1.78 2.01 2.17 2.22 2.13 1.93 1.67 1.43 1.26 1.22 1.30 1.45 1.60 1.69 1.70 1.63 1.54 1.51 1.56 1.70 1.87 2.02 2.08 2.07 2.02 1.99 2.00 2.06 2.15 2.24 2.33 2.43 2.56 2.69 2.77 2.75 2.59 2.28 1.88 1.46 1.08 0.80 0.62 0.52 0.48 0.47 0.49 0.53 0.61 0.73 0.86 0.97 1.02 1.00 0.92 0.82 0.77 0.79 0.88 0.99 1.06 1.04 0.93 0.78 0.66 0.62 0.67 0.79 0.96 1.14 1.33 1.55 1.78 2.01 82.5 + 85.0 1.63 1.73 1.73 1.61 1.38 1.08 0.79 0.59 0.52 0.60 0.75 0.91 0.99 0.94 0.80 0.65 0.57 0.63 0.81 1.03 1.22 1.30 1.30 1.25 1.24 1.30 1.42 1.57 1.70 1.81 1.93 2.08 2.28 2.48 2.61 2.59 2.38 2.00 1.53 1.06 0.66 0.39 0.22 0.13 0.07 0.03 0.01 0.05 0.15 0.29 0.42 0.50 0.47 0.35 0.21 0.13 0.16 0.29 0.47 0.60 0.62 0.51 0.34 0.19 0.15 0.24 0.42 0.66 0.89 1.10 1.29 1.47 1.63 1.73 1.73 1.61 1.38 1.08 0.79 0.59 0.52 0.60 0.75 0.91 0.99 0.94 0.80 0.65 0.57 0.63 0.81 1.03 1.22 1.30 1.30 1.25 1.24 1.30 1.42 1.57 1.70 1.81 1.93 2.08 2.28 2.48 2.61 2.59 2.38 2.00 1.53 1.06 0.66 0.39 0.22 0.13 0.07 0.03 0.01 0.05 0.15 0.29 0.42 0.50 0.47 0.35 0.21 0.13 0.16 0.29 0.47 0.60 0.62 0.51 0.34 0.19 0.15 0.24 0.42 0.66 0.89 1.10 1.29 1.47 1.63 85.0 + 87.5 1.29 1.32 1.28 1.14 0.90 0.59 0.27 0.04 0.00 0.01 0.17 0.33 0.40 0.32 0.13 0.00 0.00 0.00 0.01 0.25 0.44 0.53 0.51 0.44 0.42 0.48 0.62 0.79 0.95 1.08 1.22 1.41 1.69 2.01 2.30 2.46 2.40 2.12 1.68 1.19 0.74 0.41 0.20 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.09 0.04 0.00 0.00 0.00 0.00 0.00 0.01 0.19 0.24 0.14 0.00 0.00 0.00 0.00 0.11 0.39 0.67 0.90 1.07 1.20 1.29 1.32 1.28 1.14 0.90 0.59 0.27 0.04 0.00 0.01 0.17 0.33 0.40 0.32 0.13 0.00 0.00 0.00 0.01 0.25 0.44 0.53 0.51 0.44 0.42 0.48 0.62 0.79 0.95 1.08 1.22 1.41 1.69 2.01 2.30 2.46 2.40 2.12 1.68 1.19 0.74 0.41 0.20 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.09 0.04 0.00 0.00 0.00 0.00 0.00 0.01 0.19 0.24 0.14 0.00 0.00 0.00 0.00 0.11 0.39 0.67 0.90 1.07 1.20 1.29 87.5 + 90.0 1.15 1.13 1.05 0.89 0.65 0.34 0.03 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.02 0.00 0.00 0.00 0.00 0.13 0.28 0.41 0.56 0.78 1.11 1.53 1.96 2.28 2.40 2.28 1.96 1.53 1.11 0.78 0.56 0.41 0.28 0.13 0.00 0.00 0.00 0.00 0.02 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.03 0.34 0.65 0.89 1.05 1.13 1.15 1.13 1.05 0.89 0.65 0.34 0.03 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.02 0.00 0.00 0.00 0.00 0.13 0.28 0.41 0.56 0.78 1.11 1.53 1.96 2.28 2.40 2.28 1.96 1.53 1.11 0.78 0.56 0.41 0.28 0.13 0.00 0.00 0.00 0.00 0.02 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.03 0.34 0.65 0.89 1.05 1.13 1.15 90.0 + + 15.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.95 FMAX-I = 5.91 ) PHI2 = 15. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.0 + 2.5 1.08 0.86 0.66 0.49 0.39 0.35 0.35 0.34 0.25 0.07 0.00 0.00 0.00 0.00 0.00 0.08 0.28 0.39 0.41 0.40 0.42 0.51 0.66 0.85 1.06 1.28 1.52 1.76 1.99 2.16 2.23 2.18 2.03 1.81 1.57 1.34 1.11 0.90 0.70 0.54 0.45 0.41 0.41 0.37 0.26 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.36 0.36 0.41 0.53 0.70 0.91 1.13 1.36 1.60 1.85 2.08 2.25 2.30 2.23 2.05 1.80 1.55 1.30 1.08 0.86 0.66 0.49 0.39 0.35 0.35 0.34 0.25 0.07 0.00 0.00 0.00 0.00 0.00 0.08 0.28 0.39 0.41 0.40 0.42 0.51 0.66 0.85 1.06 1.28 1.52 1.76 1.99 2.16 2.23 2.18 2.03 1.81 1.57 1.34 1.11 0.90 0.70 0.54 0.45 0.41 0.41 0.37 0.26 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.36 0.36 0.41 0.53 0.70 0.91 1.13 1.36 1.60 1.85 2.08 2.25 2.30 2.23 2.05 1.80 1.55 1.30 1.08 2.5 + 5.0 0.95 0.73 0.53 0.37 0.27 0.25 0.28 0.32 0.30 0.20 0.03 0.00 0.00 0.00 0.00 0.20 0.38 0.48 0.48 0.43 0.39 0.42 0.52 0.69 0.90 1.14 1.40 1.66 1.90 2.09 2.18 2.16 2.03 1.82 1.57 1.32 1.07 0.84 0.65 0.53 0.47 0.48 0.49 0.45 0.33 0.12 0.00 0.00 0.00 0.00 0.00 0.14 0.27 0.32 0.32 0.33 0.39 0.52 0.71 0.93 1.16 1.42 1.70 1.99 2.25 2.43 2.46 2.35 2.11 1.80 1.49 1.20 0.95 0.73 0.53 0.37 0.27 0.25 0.28 0.32 0.30 0.20 0.03 0.00 0.00 0.00 0.00 0.20 0.38 0.48 0.48 0.43 0.39 0.42 0.52 0.69 0.90 1.14 1.40 1.66 1.90 2.09 2.18 2.16 2.03 1.82 1.57 1.32 1.07 0.84 0.65 0.53 0.47 0.48 0.49 0.45 0.33 0.12 0.00 0.00 0.00 0.00 0.00 0.14 0.27 0.32 0.32 0.33 0.39 0.52 0.71 0.93 1.16 1.42 1.70 1.99 2.25 2.43 2.46 2.35 2.11 1.80 1.49 1.20 0.95 5.0 + 7.5 0.75 0.53 0.35 0.20 0.11 0.10 0.17 0.26 0.31 0.29 0.19 0.05 0.00 0.00 0.08 0.26 0.44 0.53 0.52 0.43 0.32 0.27 0.31 0.45 0.66 0.92 1.20 1.47 1.72 1.91 2.03 2.04 1.94 1.75 1.50 1.22 0.94 0.70 0.54 0.46 0.47 0.52 0.55 0.51 0.38 0.18 0.00 0.00 0.00 0.00 0.16 0.30 0.36 0.37 0.34 0.35 0.43 0.58 0.77 0.99 1.23 1.49 1.80 2.13 2.41 2.59 2.60 2.43 2.11 1.73 1.35 1.02 0.75 0.53 0.35 0.20 0.11 0.10 0.17 0.26 0.31 0.29 0.19 0.05 0.00 0.00 0.08 0.26 0.44 0.53 0.52 0.43 0.32 0.27 0.31 0.45 0.66 0.92 1.20 1.47 1.72 1.91 2.03 2.04 1.94 1.75 1.50 1.22 0.94 0.70 0.54 0.46 0.47 0.52 0.55 0.51 0.38 0.18 0.00 0.00 0.00 0.00 0.16 0.30 0.36 0.37 0.34 0.35 0.43 0.58 0.77 0.99 1.23 1.49 1.80 2.13 2.41 2.59 2.60 2.43 2.11 1.73 1.35 1.02 0.75 7.5 + 10.0 0.50 0.31 0.15 0.03 0.00 0.00 0.01 0.14 0.25 0.29 0.24 0.12 0.00 0.00 0.01 0.17 0.35 0.47 0.47 0.37 0.21 0.09 0.08 0.19 0.40 0.67 0.95 1.22 1.45 1.63 1.75 1.79 1.74 1.58 1.33 1.03 0.73 0.48 0.35 0.33 0.40 0.51 0.57 0.53 0.39 0.19 0.03 0.00 0.05 0.22 0.39 0.51 0.53 0.49 0.46 0.48 0.58 0.74 0.92 1.11 1.31 1.56 1.86 2.19 2.48 2.64 2.61 2.38 1.99 1.54 1.11 0.76 0.50 0.31 0.15 0.03 0.00 0.00 0.01 0.14 0.25 0.29 0.24 0.12 0.00 0.00 0.01 0.17 0.35 0.47 0.47 0.37 0.21 0.09 0.08 0.19 0.40 0.67 0.95 1.22 1.45 1.63 1.75 1.79 1.74 1.58 1.33 1.03 0.73 0.48 0.35 0.33 0.40 0.51 0.57 0.53 0.39 0.19 0.03 0.00 0.05 0.22 0.39 0.51 0.53 0.49 0.46 0.48 0.58 0.74 0.92 1.11 1.31 1.56 1.86 2.19 2.48 2.64 2.61 2.38 1.99 1.54 1.11 0.76 0.50 10.0 + 12.5 0.23 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.20 0.18 0.05 0.00 0.00 0.00 0.00 0.15 0.32 0.36 0.28 0.10 0.00 0.00 0.00 0.18 0.45 0.72 0.96 1.15 1.31 1.42 1.48 1.47 1.34 1.11 0.81 0.50 0.25 0.14 0.18 0.32 0.48 0.56 0.51 0.35 0.16 0.03 0.04 0.19 0.42 0.62 0.72 0.72 0.67 0.64 0.69 0.81 0.98 1.14 1.28 1.42 1.60 1.86 2.15 2.41 2.54 2.46 2.18 1.74 1.25 0.80 0.46 0.23 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.20 0.18 0.05 0.00 0.00 0.00 0.00 0.15 0.32 0.36 0.28 0.10 0.00 0.00 0.00 0.18 0.45 0.72 0.96 1.15 1.31 1.42 1.48 1.47 1.34 1.11 0.81 0.50 0.25 0.14 0.18 0.32 0.48 0.56 0.51 0.35 0.16 0.03 0.04 0.19 0.42 0.62 0.72 0.72 0.67 0.64 0.69 0.81 0.98 1.14 1.28 1.42 1.60 1.86 2.15 2.41 2.54 2.46 2.18 1.74 1.25 0.80 0.46 0.23 12.5 + 15.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.28 0.23 0.07 0.00 0.00 0.00 0.08 0.34 0.59 0.79 0.94 1.06 1.16 1.23 1.25 1.17 0.97 0.67 0.36 0.11 0.02 0.09 0.28 0.47 0.57 0.52 0.34 0.13 0.01 0.07 0.27 0.55 0.78 0.89 0.88 0.83 0.82 0.90 1.06 1.24 1.38 1.46 1.53 1.63 1.81 2.04 2.24 2.33 2.22 1.91 1.44 0.93 0.49 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.28 0.23 0.07 0.00 0.00 0.00 0.08 0.34 0.59 0.79 0.94 1.06 1.16 1.23 1.25 1.17 0.97 0.67 0.36 0.11 0.02 0.09 0.28 0.47 0.57 0.52 0.34 0.13 0.01 0.07 0.27 0.55 0.78 0.89 0.88 0.83 0.82 0.90 1.06 1.24 1.38 1.46 1.53 1.63 1.81 2.04 2.24 2.33 2.22 1.91 1.44 0.93 0.49 0.17 0.00 15.0 + 17.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.14 0.01 0.00 0.00 0.00 0.00 0.00 0.16 0.32 0.32 0.17 0.00 0.00 0.00 0.13 0.38 0.62 0.79 0.90 0.98 1.07 1.15 1.20 1.16 0.98 0.70 0.39 0.14 0.04 0.12 0.32 0.53 0.64 0.58 0.38 0.16 0.03 0.09 0.32 0.62 0.86 0.97 0.96 0.91 0.92 1.03 1.23 1.43 1.58 1.64 1.64 1.66 1.75 1.90 2.05 2.10 1.98 1.66 1.20 0.69 0.26 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.14 0.01 0.00 0.00 0.00 0.00 0.00 0.16 0.32 0.32 0.17 0.00 0.00 0.00 0.13 0.38 0.62 0.79 0.90 0.98 1.07 1.15 1.20 1.16 0.98 0.70 0.39 0.14 0.04 0.12 0.32 0.53 0.64 0.58 0.38 0.16 0.03 0.09 0.32 0.62 0.86 0.97 0.96 0.91 0.92 1.03 1.23 1.43 1.58 1.64 1.64 1.66 1.75 1.90 2.05 2.10 1.98 1.66 1.20 0.69 0.26 0.00 0.00 17.5 + 20.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.30 0.37 0.28 0.06 0.00 0.00 0.00 0.04 0.34 0.54 0.56 0.42 0.22 0.10 0.13 0.30 0.54 0.77 0.93 1.03 1.09 1.16 1.25 1.31 1.30 1.15 0.89 0.57 0.31 0.18 0.24 0.42 0.64 0.75 0.69 0.49 0.25 0.11 0.15 0.37 0.66 0.90 1.01 0.99 0.94 0.94 1.08 1.30 1.55 1.72 1.78 1.75 1.71 1.72 1.79 1.89 1.92 1.81 1.52 1.08 0.59 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.30 0.37 0.28 0.06 0.00 0.00 0.00 0.04 0.34 0.54 0.56 0.42 0.22 0.10 0.13 0.30 0.54 0.77 0.93 1.03 1.09 1.16 1.25 1.31 1.30 1.15 0.89 0.57 0.31 0.18 0.24 0.42 0.64 0.75 0.69 0.49 0.25 0.11 0.15 0.37 0.66 0.90 1.01 0.99 0.94 0.94 1.08 1.30 1.55 1.72 1.78 1.75 1.71 1.72 1.79 1.89 1.92 1.81 1.52 1.08 0.59 0.16 0.00 0.00 20.0 + 22.5 0.00 0.00 0.00 0.01 0.03 0.01 0.04 0.17 0.39 0.63 0.77 0.73 0.53 0.27 0.12 0.16 0.39 0.67 0.87 0.89 0.74 0.52 0.37 0.37 0.52 0.75 0.97 1.13 1.22 1.27 1.33 1.41 1.47 1.47 1.34 1.10 0.79 0.51 0.34 0.35 0.51 0.71 0.83 0.81 0.63 0.40 0.25 0.26 0.46 0.74 0.98 1.10 1.09 1.02 1.01 1.13 1.37 1.64 1.84 1.92 1.88 1.79 1.73 1.73 1.78 1.81 1.73 1.48 1.09 0.62 0.19 0.00 0.00 0.00 0.00 0.01 0.03 0.01 0.04 0.17 0.39 0.63 0.77 0.73 0.53 0.27 0.12 0.16 0.39 0.67 0.87 0.89 0.74 0.52 0.37 0.37 0.52 0.75 0.97 1.13 1.22 1.27 1.33 1.41 1.47 1.47 1.34 1.10 0.79 0.51 0.34 0.35 0.51 0.71 0.83 0.81 0.63 0.40 0.25 0.26 0.46 0.74 0.98 1.10 1.09 1.02 1.01 1.13 1.37 1.64 1.84 1.92 1.88 1.79 1.73 1.73 1.78 1.81 1.73 1.48 1.09 0.62 0.19 0.00 0.00 22.5 + 25.0 0.00 0.00 0.11 0.23 0.28 0.28 0.31 0.45 0.71 1.00 1.20 1.21 1.03 0.77 0.58 0.57 0.74 1.00 1.18 1.18 1.02 0.78 0.59 0.55 0.66 0.86 1.07 1.22 1.31 1.35 1.40 1.46 1.51 1.50 1.40 1.19 0.90 0.62 0.42 0.38 0.50 0.68 0.84 0.87 0.75 0.57 0.43 0.44 0.64 0.94 1.23 1.40 1.41 1.34 1.30 1.36 1.56 1.81 2.02 2.11 2.05 1.91 1.78 1.71 1.71 1.74 1.69 1.51 1.17 0.73 0.31 0.02 0.00 0.00 0.11 0.23 0.28 0.28 0.31 0.45 0.71 1.00 1.20 1.21 1.03 0.77 0.58 0.57 0.74 1.00 1.18 1.18 1.02 0.78 0.59 0.55 0.66 0.86 1.07 1.22 1.31 1.35 1.40 1.46 1.51 1.50 1.40 1.19 0.90 0.62 0.42 0.38 0.50 0.68 0.84 0.87 0.75 0.57 0.43 0.44 0.64 0.94 1.23 1.40 1.41 1.34 1.30 1.36 1.56 1.81 2.02 2.11 2.05 1.91 1.78 1.71 1.71 1.74 1.69 1.51 1.17 0.73 0.31 0.02 0.00 25.0 + 27.5 0.08 0.18 0.36 0.52 0.59 0.58 0.60 0.73 0.98 1.30 1.53 1.57 1.40 1.12 0.88 0.82 0.94 1.15 1.31 1.31 1.14 0.88 0.66 0.58 0.64 0.80 0.98 1.12 1.19 1.22 1.24 1.27 1.30 1.31 1.24 1.09 0.85 0.60 0.39 0.32 0.39 0.58 0.77 0.88 0.86 0.75 0.67 0.72 0.96 1.33 1.72 1.99 2.07 2.01 1.92 1.90 2.00 2.18 2.34 2.39 2.29 2.09 1.86 1.71 1.66 1.67 1.67 1.54 1.26 0.86 0.46 0.17 0.08 0.18 0.36 0.52 0.59 0.58 0.60 0.73 0.98 1.30 1.53 1.57 1.40 1.12 0.88 0.82 0.94 1.15 1.31 1.31 1.14 0.88 0.66 0.58 0.64 0.80 0.98 1.12 1.19 1.22 1.24 1.27 1.30 1.31 1.24 1.09 0.85 0.60 0.39 0.32 0.39 0.58 0.77 0.88 0.86 0.75 0.67 0.72 0.96 1.33 1.72 1.99 2.07 2.01 1.92 1.90 2.00 2.18 2.34 2.39 2.29 2.09 1.86 1.71 1.66 1.67 1.67 1.54 1.26 0.86 0.46 0.17 0.08 27.5 + 30.0 0.29 0.42 0.65 0.84 0.91 0.89 0.86 0.94 1.16 1.45 1.68 1.71 1.53 1.22 0.93 0.81 0.89 1.07 1.22 1.22 1.05 0.79 0.55 0.43 0.44 0.55 0.69 0.80 0.86 0.87 0.86 0.87 0.90 0.92 0.92 0.85 0.71 0.52 0.34 0.25 0.30 0.48 0.72 0.92 1.00 0.99 0.98 1.10 1.42 1.90 2.44 2.86 3.06 3.03 2.89 2.74 2.69 2.74 2.80 2.77 2.60 2.30 1.97 1.73 1.62 1.62 1.64 1.57 1.34 0.98 0.61 0.34 0.29 0.42 0.65 0.84 0.91 0.89 0.86 0.94 1.16 1.45 1.68 1.71 1.53 1.22 0.93 0.81 0.89 1.07 1.22 1.22 1.05 0.79 0.55 0.43 0.44 0.55 0.69 0.80 0.86 0.87 0.86 0.87 0.90 0.92 0.92 0.85 0.71 0.52 0.34 0.25 0.30 0.48 0.72 0.92 1.00 0.99 0.98 1.10 1.42 1.90 2.44 2.86 3.06 3.03 2.89 2.74 2.69 2.74 2.80 2.77 2.60 2.30 1.97 1.73 1.62 1.62 1.64 1.57 1.34 0.98 0.61 0.34 0.29 30.0 + 32.5 0.50 0.67 0.93 1.15 1.21 1.15 1.06 1.08 1.24 1.49 1.68 1.69 1.47 1.11 0.77 0.60 0.63 0.79 0.94 0.96 0.81 0.56 0.31 0.16 0.14 0.21 0.32 0.41 0.45 0.45 0.44 0.44 0.47 0.54 0.62 0.66 0.63 0.52 0.38 0.29 0.32 0.50 0.78 1.05 1.24 1.32 1.39 1.57 1.96 2.57 3.26 3.86 4.19 4.22 4.03 3.75 3.53 3.40 3.32 3.18 2.91 2.52 2.11 1.78 1.62 1.62 1.66 1.64 1.45 1.13 0.77 0.53 0.50 0.67 0.93 1.15 1.21 1.15 1.06 1.08 1.24 1.49 1.68 1.69 1.47 1.11 0.77 0.60 0.63 0.79 0.94 0.96 0.81 0.56 0.31 0.16 0.14 0.21 0.32 0.41 0.45 0.45 0.44 0.44 0.47 0.54 0.62 0.66 0.63 0.52 0.38 0.29 0.32 0.50 0.78 1.05 1.24 1.32 1.39 1.57 1.96 2.57 3.26 3.86 4.19 4.22 4.03 3.75 3.53 3.40 3.32 3.18 2.91 2.52 2.11 1.78 1.62 1.62 1.66 1.64 1.45 1.13 0.77 0.53 0.50 32.5 + 35.0 0.71 0.90 1.18 1.40 1.45 1.36 1.23 1.19 1.30 1.51 1.67 1.64 1.38 0.97 0.57 0.35 0.34 0.49 0.65 0.69 0.57 0.33 0.08 0.00 0.00 0.00 0.04 0.13 0.18 0.19 0.18 0.19 0.24 0.36 0.51 0.66 0.73 0.71 0.61 0.52 0.53 0.69 0.98 1.30 1.56 1.70 1.81 2.03 2.47 3.16 3.99 4.73 5.19 5.28 5.05 4.65 4.26 3.97 3.75 3.51 3.17 2.71 2.24 1.87 1.69 1.70 1.78 1.80 1.65 1.34 0.98 0.74 0.71 0.90 1.18 1.40 1.45 1.36 1.23 1.19 1.30 1.51 1.67 1.64 1.38 0.97 0.57 0.35 0.34 0.49 0.65 0.69 0.57 0.33 0.08 0.00 0.00 0.00 0.04 0.13 0.18 0.19 0.18 0.19 0.24 0.36 0.51 0.66 0.73 0.71 0.61 0.52 0.53 0.69 0.98 1.30 1.56 1.70 1.81 2.03 2.47 3.16 3.99 4.73 5.19 5.28 5.05 4.65 4.26 3.97 3.75 3.51 3.17 2.71 2.24 1.87 1.69 1.70 1.78 1.80 1.65 1.34 0.98 0.74 0.71 35.0 + 37.5 0.94 1.10 1.37 1.58 1.63 1.53 1.39 1.33 1.44 1.64 1.79 1.74 1.44 0.97 0.52 0.23 0.19 0.32 0.49 0.55 0.45 0.23 0.00 0.00 0.00 0.00 0.00 0.12 0.19 0.22 0.23 0.25 0.32 0.47 0.68 0.89 1.04 1.06 0.98 0.87 0.84 0.97 1.25 1.59 1.87 2.04 2.15 2.35 2.78 3.49 4.38 5.21 5.76 5.90 5.65 5.18 4.68 4.26 3.95 3.65 3.27 2.81 2.34 1.98 1.82 1.87 2.01 2.07 1.95 1.65 1.27 1.00 0.94 1.10 1.37 1.58 1.63 1.53 1.39 1.33 1.44 1.64 1.79 1.74 1.44 0.97 0.52 0.23 0.19 0.32 0.49 0.55 0.45 0.23 0.00 0.00 0.00 0.00 0.00 0.12 0.19 0.22 0.23 0.25 0.32 0.47 0.68 0.89 1.04 1.06 0.98 0.87 0.84 0.97 1.25 1.59 1.87 2.04 2.15 2.35 2.78 3.49 4.38 5.21 5.76 5.90 5.65 5.18 4.68 4.26 3.95 3.65 3.27 2.81 2.34 1.98 1.82 1.87 2.01 2.07 1.95 1.65 1.27 1.00 0.94 37.5 + 40.0 1.18 1.30 1.53 1.73 1.79 1.71 1.60 1.58 1.72 1.96 2.13 2.08 1.76 1.25 0.73 0.38 0.29 0.40 0.57 0.64 0.55 0.34 0.11 0.00 0.00 0.06 0.23 0.39 0.49 0.54 0.55 0.58 0.66 0.81 1.03 1.25 1.40 1.42 1.32 1.17 1.10 1.19 1.44 1.76 2.04 2.19 2.26 2.40 2.76 3.42 4.29 5.14 5.74 5.91 5.67 5.17 4.62 4.17 3.83 3.53 3.19 2.77 2.35 2.05 1.95 2.07 2.27 2.39 2.31 2.01 1.62 1.30 1.18 1.30 1.53 1.73 1.79 1.71 1.60 1.58 1.72 1.96 2.13 2.08 1.76 1.25 0.73 0.38 0.29 0.40 0.57 0.64 0.55 0.34 0.11 0.00 0.00 0.06 0.23 0.39 0.49 0.54 0.55 0.58 0.66 0.81 1.03 1.25 1.40 1.42 1.32 1.17 1.10 1.19 1.44 1.76 2.04 2.19 2.26 2.40 2.76 3.42 4.29 5.14 5.74 5.91 5.67 5.17 4.62 4.17 3.83 3.53 3.19 2.77 2.35 2.05 1.95 2.07 2.27 2.39 2.31 2.01 1.62 1.30 1.18 40.0 + 42.5 1.44 1.50 1.70 1.90 1.98 1.95 1.91 1.97 2.19 2.49 2.71 2.69 2.35 1.80 1.21 0.80 0.65 0.72 0.86 0.93 0.85 0.64 0.41 0.28 0.30 0.45 0.65 0.83 0.95 0.99 0.99 1.00 1.05 1.17 1.35 1.52 1.62 1.59 1.44 1.26 1.15 1.20 1.42 1.70 1.94 2.05 2.06 2.12 2.38 2.94 3.72 4.53 5.12 5.31 5.09 4.63 4.11 3.69 3.40 3.18 2.92 2.59 2.25 2.02 2.00 2.18 2.46 2.65 2.62 2.35 1.95 1.60 1.44 1.50 1.70 1.90 1.98 1.95 1.91 1.97 2.19 2.49 2.71 2.69 2.35 1.80 1.21 0.80 0.65 0.72 0.86 0.93 0.85 0.64 0.41 0.28 0.30 0.45 0.65 0.83 0.95 0.99 0.99 1.00 1.05 1.17 1.35 1.52 1.62 1.59 1.44 1.26 1.15 1.20 1.42 1.70 1.94 2.05 2.06 2.12 2.38 2.94 3.72 4.53 5.12 5.31 5.09 4.63 4.11 3.69 3.40 3.18 2.92 2.59 2.25 2.02 2.00 2.18 2.46 2.65 2.62 2.35 1.95 1.60 1.44 42.5 + 45.0 1.68 1.72 1.91 2.12 2.26 2.31 2.36 2.51 2.82 3.19 3.47 3.47 3.13 2.54 1.89 1.39 1.16 1.17 1.28 1.32 1.23 1.01 0.78 0.66 0.70 0.87 1.08 1.26 1.35 1.36 1.31 1.27 1.28 1.34 1.44 1.53 1.55 1.46 1.27 1.07 0.94 0.97 1.16 1.41 1.61 1.67 1.62 1.59 1.75 2.18 2.85 3.56 4.10 4.29 4.12 3.72 3.29 2.97 2.79 2.67 2.51 2.28 2.02 1.86 1.90 2.14 2.48 2.74 2.78 2.57 2.20 1.86 1.68 1.72 1.91 2.12 2.26 2.31 2.36 2.51 2.82 3.19 3.47 3.47 3.13 2.54 1.89 1.39 1.16 1.17 1.28 1.32 1.23 1.01 0.78 0.66 0.70 0.87 1.08 1.26 1.35 1.36 1.31 1.27 1.28 1.34 1.44 1.53 1.55 1.46 1.27 1.07 0.94 0.97 1.16 1.41 1.61 1.67 1.62 1.59 1.75 2.18 2.85 3.56 4.10 4.29 4.12 3.72 3.29 2.97 2.79 2.67 2.51 2.28 2.02 1.86 1.90 2.14 2.48 2.74 2.78 2.57 2.20 1.86 1.68 45.0 + 47.5 1.87 1.93 2.16 2.42 2.63 2.76 2.90 3.14 3.52 3.95 4.27 4.30 3.97 3.35 2.63 2.05 1.73 1.65 1.69 1.69 1.57 1.33 1.10 0.98 1.02 1.18 1.37 1.51 1.54 1.47 1.36 1.26 1.21 1.22 1.25 1.26 1.20 1.07 0.87 0.68 0.58 0.62 0.79 1.01 1.17 1.19 1.10 1.01 1.07 1.38 1.92 2.52 2.99 3.16 3.03 2.71 2.39 2.19 2.12 2.12 2.07 1.92 1.71 1.58 1.64 1.90 2.27 2.59 2.71 2.59 2.30 2.01 1.87 1.93 2.16 2.42 2.63 2.76 2.90 3.14 3.52 3.95 4.27 4.30 3.97 3.35 2.63 2.05 1.73 1.65 1.69 1.69 1.57 1.33 1.10 0.98 1.02 1.18 1.37 1.51 1.54 1.47 1.36 1.26 1.21 1.22 1.25 1.26 1.20 1.07 0.87 0.68 0.58 0.62 0.79 1.01 1.17 1.19 1.10 1.01 1.07 1.38 1.92 2.52 2.99 3.16 3.03 2.71 2.39 2.19 2.12 2.12 2.07 1.92 1.71 1.58 1.64 1.90 2.27 2.59 2.71 2.59 2.30 2.01 1.87 47.5 + 50.0 1.96 2.09 2.38 2.72 3.01 3.24 3.47 3.77 4.19 4.65 4.99 5.05 4.73 4.10 3.34 2.68 2.26 2.08 2.02 1.96 1.79 1.53 1.28 1.15 1.17 1.30 1.45 1.52 1.47 1.32 1.14 0.99 0.90 0.87 0.85 0.82 0.73 0.59 0.43 0.29 0.24 0.31 0.48 0.69 0.82 0.82 0.70 0.57 0.57 0.78 1.19 1.67 2.05 2.18 2.07 1.83 1.60 1.50 1.54 1.63 1.66 1.55 1.37 1.24 1.27 1.51 1.88 2.23 2.42 2.40 2.21 2.02 1.96 2.09 2.38 2.72 3.01 3.24 3.47 3.77 4.19 4.65 4.99 5.05 4.73 4.10 3.34 2.68 2.26 2.08 2.02 1.96 1.79 1.53 1.28 1.15 1.17 1.30 1.45 1.52 1.47 1.32 1.14 0.99 0.90 0.87 0.85 0.82 0.73 0.59 0.43 0.29 0.24 0.31 0.48 0.69 0.82 0.82 0.70 0.57 0.57 0.78 1.19 1.67 2.05 2.18 2.07 1.83 1.60 1.50 1.54 1.63 1.66 1.55 1.37 1.24 1.27 1.51 1.88 2.23 2.42 2.40 2.21 2.02 1.96 50.0 + 52.5 1.91 2.13 2.50 2.93 3.32 3.63 3.92 4.26 4.69 5.15 5.50 5.58 5.29 4.68 3.92 3.21 2.70 2.41 2.25 2.10 1.88 1.59 1.33 1.18 1.17 1.26 1.34 1.35 1.23 1.03 0.81 0.63 0.53 0.48 0.45 0.41 0.34 0.24 0.14 0.07 0.08 0.19 0.37 0.56 0.68 0.68 0.56 0.41 0.36 0.48 0.78 1.15 1.43 1.52 1.42 1.21 1.04 1.00 1.11 1.25 1.30 1.22 1.03 0.87 0.85 1.04 1.38 1.73 1.97 2.03 1.96 1.87 1.91 2.13 2.50 2.93 3.32 3.63 3.92 4.26 4.69 5.15 5.50 5.58 5.29 4.68 3.92 3.21 2.70 2.41 2.25 2.10 1.88 1.59 1.33 1.18 1.17 1.26 1.34 1.35 1.23 1.03 0.81 0.63 0.53 0.48 0.45 0.41 0.34 0.24 0.14 0.07 0.08 0.19 0.37 0.56 0.68 0.68 0.56 0.41 0.36 0.48 0.78 1.15 1.43 1.52 1.42 1.21 1.04 1.00 1.11 1.25 1.30 1.22 1.03 0.87 0.85 1.04 1.38 1.73 1.97 2.03 1.96 1.87 1.91 52.5 + 55.0 1.70 2.01 2.46 2.96 3.43 3.81 4.14 4.49 4.90 5.34 5.68 5.78 5.56 5.02 4.31 3.59 3.02 2.64 2.38 2.15 1.88 1.57 1.29 1.11 1.07 1.12 1.17 1.13 0.99 0.78 0.55 0.38 0.28 0.25 0.23 0.22 0.18 0.13 0.09 0.09 0.14 0.27 0.45 0.63 0.74 0.74 0.63 0.48 0.39 0.45 0.65 0.92 1.13 1.18 1.06 0.86 0.71 0.68 0.79 0.94 1.00 0.91 0.71 0.51 0.44 0.56 0.85 1.18 1.44 1.56 1.57 1.58 1.70 2.01 2.46 2.96 3.43 3.81 4.14 4.49 4.90 5.34 5.68 5.78 5.56 5.02 4.31 3.59 3.02 2.64 2.38 2.15 1.88 1.57 1.29 1.11 1.07 1.12 1.17 1.13 0.99 0.78 0.55 0.38 0.28 0.25 0.23 0.22 0.18 0.13 0.09 0.09 0.14 0.27 0.45 0.63 0.74 0.74 0.63 0.48 0.39 0.45 0.65 0.92 1.13 1.18 1.06 0.86 0.71 0.68 0.79 0.94 1.00 0.91 0.71 0.51 0.44 0.56 0.85 1.18 1.44 1.56 1.57 1.58 1.70 55.0 + 57.5 1.37 1.73 2.22 2.78 3.29 3.72 4.07 4.40 4.76 5.15 5.47 5.61 5.47 5.05 4.44 3.78 3.21 2.77 2.44 2.15 1.84 1.52 1.23 1.04 0.97 0.99 1.02 0.98 0.86 0.68 0.50 0.36 0.29 0.27 0.27 0.28 0.27 0.26 0.25 0.27 0.32 0.43 0.59 0.75 0.86 0.87 0.77 0.62 0.51 0.51 0.65 0.85 1.01 1.04 0.91 0.70 0.53 0.48 0.55 0.66 0.70 0.61 0.40 0.18 0.07 0.13 0.36 0.66 0.91 1.05 1.11 1.19 1.37 1.73 2.22 2.78 3.29 3.72 4.07 4.40 4.76 5.15 5.47 5.61 5.47 5.05 4.44 3.78 3.21 2.77 2.44 2.15 1.84 1.52 1.23 1.04 0.97 0.99 1.02 0.98 0.86 0.68 0.50 0.36 0.29 0.27 0.27 0.28 0.27 0.26 0.25 0.27 0.32 0.43 0.59 0.75 0.86 0.87 0.77 0.62 0.51 0.51 0.65 0.85 1.01 1.04 0.91 0.70 0.53 0.48 0.55 0.66 0.70 0.61 0.40 0.18 0.07 0.13 0.36 0.66 0.91 1.05 1.11 1.19 1.37 57.5 + 60.0 0.99 1.37 1.87 2.43 2.95 3.38 3.71 4.00 4.30 4.62 4.91 5.07 5.04 4.76 4.30 3.76 3.24 2.80 2.44 2.12 1.80 1.48 1.20 1.00 0.91 0.91 0.93 0.93 0.87 0.77 0.66 0.58 0.54 0.52 0.53 0.53 0.52 0.50 0.48 0.47 0.48 0.54 0.64 0.77 0.87 0.89 0.81 0.67 0.54 0.50 0.59 0.76 0.91 0.95 0.83 0.62 0.42 0.31 0.32 0.38 0.39 0.30 0.10 0.00 0.00 0.00 0.00 0.21 0.43 0.58 0.67 0.78 0.99 1.37 1.87 2.43 2.95 3.38 3.71 4.00 4.30 4.62 4.91 5.07 5.04 4.76 4.30 3.76 3.24 2.80 2.44 2.12 1.80 1.48 1.20 1.00 0.91 0.91 0.93 0.93 0.87 0.77 0.66 0.58 0.54 0.52 0.53 0.53 0.52 0.50 0.48 0.47 0.48 0.54 0.64 0.77 0.87 0.89 0.81 0.67 0.54 0.50 0.59 0.76 0.91 0.95 0.83 0.62 0.42 0.31 0.32 0.38 0.39 0.30 0.10 0.00 0.00 0.00 0.00 0.21 0.43 0.58 0.67 0.78 0.99 60.0 + 62.5 0.67 1.04 1.52 2.04 2.52 2.91 3.19 3.42 3.63 3.87 4.11 4.29 4.35 4.22 3.94 3.54 3.12 2.73 2.39 2.08 1.77 1.47 1.21 1.00 0.90 0.87 0.90 0.94 0.96 0.96 0.94 0.92 0.91 0.89 0.86 0.82 0.78 0.73 0.66 0.59 0.54 0.52 0.55 0.64 0.72 0.75 0.69 0.55 0.41 0.35 0.42 0.58 0.75 0.82 0.74 0.54 0.32 0.16 0.11 0.12 0.11 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.20 0.31 0.44 0.67 1.04 1.52 2.04 2.52 2.91 3.19 3.42 3.63 3.87 4.11 4.29 4.35 4.22 3.94 3.54 3.12 2.73 2.39 2.08 1.77 1.47 1.21 1.00 0.90 0.87 0.90 0.94 0.96 0.96 0.94 0.92 0.91 0.89 0.86 0.82 0.78 0.73 0.66 0.59 0.54 0.52 0.55 0.64 0.72 0.75 0.69 0.55 0.41 0.35 0.42 0.58 0.75 0.82 0.74 0.54 0.32 0.16 0.11 0.12 0.11 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.20 0.31 0.44 0.67 62.5 + 65.0 0.52 0.88 1.31 1.76 2.16 2.47 2.67 2.81 2.94 3.09 3.27 3.45 3.58 3.59 3.47 3.23 2.93 2.62 2.32 2.04 1.78 1.51 1.26 1.06 0.93 0.88 0.90 0.97 1.06 1.15 1.23 1.27 1.28 1.24 1.16 1.06 0.96 0.85 0.74 0.61 0.50 0.42 0.40 0.44 0.50 0.53 0.47 0.34 0.20 0.13 0.19 0.36 0.56 0.68 0.65 0.48 0.26 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.27 0.52 0.88 1.31 1.76 2.16 2.47 2.67 2.81 2.94 3.09 3.27 3.45 3.58 3.59 3.47 3.23 2.93 2.62 2.32 2.04 1.78 1.51 1.26 1.06 0.93 0.88 0.90 0.97 1.06 1.15 1.23 1.27 1.28 1.24 1.16 1.06 0.96 0.85 0.74 0.61 0.50 0.42 0.40 0.44 0.50 0.53 0.47 0.34 0.20 0.13 0.19 0.36 0.56 0.68 0.65 0.48 0.26 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.27 0.52 65.0 + 67.5 0.60 0.95 1.33 1.69 1.98 2.18 2.30 2.35 2.39 2.46 2.59 2.75 2.92 3.03 3.04 2.94 2.76 2.54 2.31 2.08 1.85 1.63 1.40 1.20 1.04 0.96 0.95 1.03 1.16 1.32 1.46 1.55 1.57 1.50 1.37 1.20 1.04 0.88 0.74 0.60 0.46 0.36 0.30 0.32 0.36 0.38 0.33 0.21 0.07 0.00 0.06 0.23 0.45 0.60 0.61 0.49 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.33 0.60 0.95 1.33 1.69 1.98 2.18 2.30 2.35 2.39 2.46 2.59 2.75 2.92 3.03 3.04 2.94 2.76 2.54 2.31 2.08 1.85 1.63 1.40 1.20 1.04 0.96 0.95 1.03 1.16 1.32 1.46 1.55 1.57 1.50 1.37 1.20 1.04 0.88 0.74 0.60 0.46 0.36 0.30 0.32 0.36 0.38 0.33 0.21 0.07 0.00 0.06 0.23 0.45 0.60 0.61 0.49 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.33 0.60 67.5 + 70.0 0.91 1.25 1.57 1.83 2.00 2.10 2.11 2.09 2.07 2.09 2.18 2.33 2.51 2.68 2.77 2.78 2.69 2.55 2.39 2.22 2.04 1.85 1.65 1.44 1.26 1.14 1.11 1.17 1.30 1.49 1.67 1.79 1.81 1.71 1.53 1.30 1.07 0.89 0.74 0.62 0.51 0.43 0.38 0.38 0.41 0.43 0.39 0.29 0.17 0.11 0.16 0.31 0.52 0.67 0.71 0.61 0.44 0.27 0.17 0.13 0.13 0.12 0.08 0.03 0.00 0.00 0.00 0.00 0.06 0.17 0.35 0.60 0.91 1.25 1.57 1.83 2.00 2.10 2.11 2.09 2.07 2.09 2.18 2.33 2.51 2.68 2.77 2.78 2.69 2.55 2.39 2.22 2.04 1.85 1.65 1.44 1.26 1.14 1.11 1.17 1.30 1.49 1.67 1.79 1.81 1.71 1.53 1.30 1.07 0.89 0.74 0.62 0.51 0.43 0.38 0.38 0.41 0.43 0.39 0.29 0.17 0.11 0.16 0.31 0.52 0.67 0.71 0.61 0.44 0.27 0.17 0.13 0.13 0.12 0.08 0.03 0.00 0.00 0.00 0.00 0.06 0.17 0.35 0.60 0.91 70.0 + 72.5 1.34 1.66 1.93 2.09 2.16 2.15 2.08 2.01 1.96 1.96 2.04 2.18 2.36 2.54 2.67 2.73 2.72 2.65 2.56 2.45 2.33 2.18 2.00 1.80 1.61 1.47 1.41 1.44 1.56 1.73 1.91 2.03 2.04 1.92 1.69 1.41 1.14 0.93 0.79 0.70 0.65 0.61 0.59 0.61 0.64 0.66 0.64 0.57 0.49 0.45 0.49 0.61 0.77 0.89 0.92 0.84 0.71 0.58 0.50 0.48 0.49 0.50 0.48 0.44 0.40 0.36 0.34 0.35 0.40 0.52 0.72 1.01 1.34 1.66 1.93 2.09 2.16 2.15 2.08 2.01 1.96 1.96 2.04 2.18 2.36 2.54 2.67 2.73 2.72 2.65 2.56 2.45 2.33 2.18 2.00 1.80 1.61 1.47 1.41 1.44 1.56 1.73 1.91 2.03 2.04 1.92 1.69 1.41 1.14 0.93 0.79 0.70 0.65 0.61 0.59 0.61 0.64 0.66 0.64 0.57 0.49 0.45 0.49 0.61 0.77 0.89 0.92 0.84 0.71 0.58 0.50 0.48 0.49 0.50 0.48 0.44 0.40 0.36 0.34 0.35 0.40 0.52 0.72 1.01 1.34 72.5 + 75.0 1.74 2.04 2.25 2.33 2.30 2.20 2.07 1.97 1.92 1.94 2.03 2.17 2.34 2.51 2.63 2.70 2.72 2.72 2.70 2.67 2.61 2.50 2.36 2.18 2.02 1.89 1.82 1.84 1.93 2.06 2.21 2.30 2.29 2.16 1.90 1.58 1.27 1.03 0.87 0.80 0.77 0.78 0.79 0.83 0.87 0.90 0.91 0.89 0.86 0.85 0.90 0.99 1.09 1.15 1.14 1.07 0.97 0.89 0.86 0.86 0.88 0.88 0.86 0.82 0.78 0.75 0.73 0.73 0.78 0.90 1.11 1.41 1.74 2.04 2.25 2.33 2.30 2.20 2.07 1.97 1.92 1.94 2.03 2.17 2.34 2.51 2.63 2.70 2.72 2.72 2.70 2.67 2.61 2.50 2.36 2.18 2.02 1.89 1.82 1.84 1.93 2.06 2.21 2.30 2.29 2.16 1.90 1.58 1.27 1.03 0.87 0.80 0.77 0.78 0.79 0.83 0.87 0.90 0.91 0.89 0.86 0.85 0.90 0.99 1.09 1.15 1.14 1.07 0.97 0.89 0.86 0.86 0.88 0.88 0.86 0.82 0.78 0.75 0.73 0.73 0.78 0.90 1.11 1.41 1.74 75.0 + 77.5 1.97 2.23 2.38 2.40 2.29 2.11 1.94 1.82 1.78 1.84 1.96 2.12 2.27 2.39 2.46 2.51 2.54 2.59 2.66 2.71 2.72 2.67 2.57 2.43 2.31 2.23 2.20 2.23 2.29 2.39 2.49 2.54 2.53 2.39 2.15 1.82 1.48 1.18 0.96 0.84 0.79 0.79 0.82 0.86 0.91 0.96 1.00 1.02 1.04 1.09 1.15 1.22 1.27 1.26 1.20 1.12 1.05 1.03 1.06 1.11 1.13 1.11 1.06 1.00 0.96 0.95 0.96 0.99 1.05 1.18 1.39 1.67 1.97 2.23 2.38 2.40 2.29 2.11 1.94 1.82 1.78 1.84 1.96 2.12 2.27 2.39 2.46 2.51 2.54 2.59 2.66 2.71 2.72 2.67 2.57 2.43 2.31 2.23 2.20 2.23 2.29 2.39 2.49 2.54 2.53 2.39 2.15 1.82 1.48 1.18 0.96 0.84 0.79 0.79 0.82 0.86 0.91 0.96 1.00 1.02 1.04 1.09 1.15 1.22 1.27 1.26 1.20 1.12 1.05 1.03 1.06 1.11 1.13 1.11 1.06 1.00 0.96 0.95 0.96 0.99 1.05 1.18 1.39 1.67 1.97 77.5 + 80.0 1.94 2.15 2.25 2.21 2.05 1.82 1.60 1.46 1.44 1.52 1.69 1.86 1.98 2.04 2.04 2.03 2.05 2.14 2.28 2.43 2.52 2.53 2.47 2.38 2.31 2.30 2.34 2.40 2.48 2.54 2.60 2.63 2.63 2.54 2.35 2.06 1.71 1.34 1.02 0.79 0.65 0.60 0.60 0.63 0.68 0.72 0.77 0.82 0.89 0.98 1.08 1.15 1.16 1.10 0.99 0.89 0.86 0.90 1.00 1.09 1.12 1.08 0.99 0.90 0.85 0.87 0.93 1.02 1.13 1.27 1.45 1.69 1.94 2.15 2.25 2.21 2.05 1.82 1.60 1.46 1.44 1.52 1.69 1.86 1.98 2.04 2.04 2.03 2.05 2.14 2.28 2.43 2.52 2.53 2.47 2.38 2.31 2.30 2.34 2.40 2.48 2.54 2.60 2.63 2.63 2.54 2.35 2.06 1.71 1.34 1.02 0.79 0.65 0.60 0.60 0.63 0.68 0.72 0.77 0.82 0.89 0.98 1.08 1.15 1.16 1.10 0.99 0.89 0.86 0.90 1.00 1.09 1.12 1.08 0.99 0.90 0.85 0.87 0.93 1.02 1.13 1.27 1.45 1.69 1.94 80.0 + 82.5 1.68 1.83 1.88 1.81 1.61 1.34 1.08 0.91 0.88 0.99 1.18 1.36 1.46 1.45 1.37 1.28 1.27 1.38 1.58 1.80 1.96 2.02 1.99 1.93 1.92 1.98 2.09 2.21 2.30 2.36 2.40 2.44 2.49 2.50 2.43 2.24 1.92 1.51 1.09 0.72 0.45 0.29 0.24 0.24 0.26 0.28 0.31 0.35 0.44 0.56 0.69 0.77 0.76 0.66 0.51 0.39 0.38 0.48 0.65 0.80 0.85 0.79 0.65 0.53 0.48 0.54 0.67 0.83 0.99 1.15 1.31 1.49 1.68 1.83 1.88 1.81 1.61 1.34 1.08 0.91 0.88 0.99 1.18 1.36 1.46 1.45 1.37 1.28 1.27 1.38 1.58 1.80 1.96 2.02 1.99 1.93 1.92 1.98 2.09 2.21 2.30 2.36 2.40 2.44 2.49 2.50 2.43 2.24 1.92 1.51 1.09 0.72 0.45 0.29 0.24 0.24 0.26 0.28 0.31 0.35 0.44 0.56 0.69 0.77 0.76 0.66 0.51 0.39 0.38 0.48 0.65 0.80 0.85 0.79 0.65 0.53 0.48 0.54 0.67 0.83 0.99 1.15 1.31 1.49 1.68 82.5 + 85.0 1.29 1.39 1.41 1.31 1.10 0.80 0.50 0.30 0.25 0.36 0.57 0.75 0.83 0.76 0.59 0.42 0.36 0.46 0.70 0.97 1.17 1.25 1.23 1.18 1.20 1.30 1.46 1.63 1.75 1.82 1.86 1.94 2.07 2.22 2.32 2.29 2.07 1.69 1.20 0.72 0.34 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.19 0.28 0.26 0.11 0.00 0.00 0.00 0.00 0.16 0.36 0.44 0.37 0.21 0.05 0.00 0.09 0.28 0.52 0.74 0.91 1.05 1.17 1.29 1.39 1.41 1.31 1.10 0.80 0.50 0.30 0.25 0.36 0.57 0.75 0.83 0.76 0.59 0.42 0.36 0.46 0.70 0.97 1.17 1.25 1.23 1.18 1.20 1.30 1.46 1.63 1.75 1.82 1.86 1.94 2.07 2.22 2.32 2.29 2.07 1.69 1.20 0.72 0.34 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.19 0.28 0.26 0.11 0.00 0.00 0.00 0.00 0.16 0.36 0.44 0.37 0.21 0.05 0.00 0.09 0.28 0.52 0.74 0.91 1.05 1.17 1.29 85.0 + 87.5 0.96 1.01 1.00 0.89 0.67 0.36 0.04 0.00 0.00 0.00 0.04 0.22 0.29 0.18 0.00 0.00 0.00 0.00 0.00 0.19 0.41 0.49 0.45 0.39 0.38 0.49 0.66 0.85 0.98 1.05 1.12 1.25 1.47 1.78 2.06 2.22 2.16 1.88 1.42 0.91 0.46 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.04 0.00 0.00 0.00 0.00 0.00 0.25 0.51 0.71 0.83 0.90 0.96 1.01 1.00 0.89 0.67 0.36 0.04 0.00 0.00 0.00 0.04 0.22 0.29 0.18 0.00 0.00 0.00 0.00 0.00 0.19 0.41 0.49 0.45 0.39 0.38 0.49 0.66 0.85 0.98 1.05 1.12 1.25 1.47 1.78 2.06 2.22 2.16 1.88 1.42 0.91 0.46 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.04 0.00 0.00 0.00 0.00 0.00 0.25 0.51 0.71 0.83 0.90 0.96 87.5 + 90.0 0.84 0.83 0.79 0.68 0.47 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.34 0.42 0.58 0.87 1.29 1.73 2.07 2.19 2.07 1.73 1.29 0.87 0.58 0.42 0.34 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.47 0.68 0.79 0.83 0.84 0.83 0.79 0.68 0.47 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.34 0.42 0.58 0.87 1.29 1.73 2.07 2.19 2.07 1.73 1.29 0.87 0.58 0.42 0.34 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.47 0.68 0.79 0.83 0.84 90.0 + + 17.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.99 ) PHI2 = 18. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.0 + 2.5 0.86 0.66 0.49 0.39 0.35 0.35 0.34 0.25 0.08 0.00 0.00 0.00 0.00 0.00 0.08 0.28 0.39 0.41 0.40 0.42 0.51 0.66 0.85 1.06 1.28 1.52 1.76 1.99 2.16 2.23 2.18 2.03 1.81 1.58 1.34 1.12 0.90 0.70 0.54 0.45 0.41 0.41 0.37 0.26 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.36 0.37 0.42 0.53 0.71 0.91 1.13 1.36 1.60 1.85 2.09 2.25 2.30 2.23 2.04 1.80 1.54 1.30 1.07 0.86 0.66 0.49 0.39 0.35 0.35 0.34 0.25 0.08 0.00 0.00 0.00 0.00 0.00 0.08 0.28 0.39 0.41 0.40 0.42 0.51 0.66 0.85 1.06 1.28 1.52 1.76 1.99 2.16 2.23 2.18 2.03 1.81 1.58 1.34 1.12 0.90 0.70 0.54 0.45 0.41 0.41 0.37 0.26 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.36 0.37 0.42 0.53 0.71 0.91 1.13 1.36 1.60 1.85 2.09 2.25 2.30 2.23 2.04 1.80 1.54 1.30 1.07 0.86 2.5 + 5.0 0.72 0.52 0.36 0.27 0.25 0.29 0.33 0.31 0.21 0.04 0.00 0.00 0.00 0.00 0.21 0.39 0.48 0.48 0.43 0.39 0.41 0.51 0.68 0.89 1.13 1.39 1.66 1.90 2.09 2.19 2.17 2.05 1.84 1.59 1.34 1.09 0.86 0.67 0.54 0.49 0.48 0.49 0.45 0.33 0.13 0.00 0.00 0.00 0.00 0.00 0.14 0.28 0.33 0.34 0.35 0.41 0.54 0.73 0.95 1.18 1.44 1.71 2.00 2.26 2.43 2.46 2.34 2.09 1.79 1.47 1.19 0.94 0.72 0.52 0.36 0.27 0.25 0.29 0.33 0.31 0.21 0.04 0.00 0.00 0.00 0.00 0.21 0.39 0.48 0.48 0.43 0.39 0.41 0.51 0.68 0.89 1.13 1.39 1.66 1.90 2.09 2.19 2.17 2.05 1.84 1.59 1.34 1.09 0.86 0.67 0.54 0.49 0.48 0.49 0.45 0.33 0.13 0.00 0.00 0.00 0.00 0.00 0.14 0.28 0.33 0.34 0.35 0.41 0.54 0.73 0.95 1.18 1.44 1.71 2.00 2.26 2.43 2.46 2.34 2.09 1.79 1.47 1.19 0.94 0.72 5.0 + 7.5 0.52 0.34 0.20 0.12 0.12 0.19 0.29 0.35 0.33 0.22 0.09 0.00 0.00 0.12 0.30 0.47 0.56 0.54 0.44 0.33 0.28 0.32 0.46 0.67 0.92 1.20 1.48 1.73 1.94 2.06 2.08 1.99 1.80 1.55 1.27 0.99 0.75 0.58 0.50 0.50 0.55 0.58 0.54 0.41 0.21 0.01 0.00 0.00 0.01 0.18 0.33 0.40 0.41 0.39 0.40 0.48 0.63 0.82 1.04 1.27 1.54 1.85 2.16 2.44 2.60 2.60 2.42 2.09 1.71 1.33 1.01 0.74 0.52 0.34 0.20 0.12 0.12 0.19 0.29 0.35 0.33 0.22 0.09 0.00 0.00 0.12 0.30 0.47 0.56 0.54 0.44 0.33 0.28 0.32 0.46 0.67 0.92 1.20 1.48 1.73 1.94 2.06 2.08 1.99 1.80 1.55 1.27 0.99 0.75 0.58 0.50 0.50 0.55 0.58 0.54 0.41 0.21 0.01 0.00 0.00 0.01 0.18 0.33 0.40 0.41 0.39 0.40 0.48 0.63 0.82 1.04 1.27 1.54 1.85 2.16 2.44 2.60 2.60 2.42 2.09 1.71 1.33 1.01 0.74 0.52 7.5 + 10.0 0.31 0.16 0.04 0.00 0.00 0.07 0.20 0.31 0.36 0.31 0.19 0.07 0.03 0.09 0.25 0.42 0.53 0.52 0.41 0.26 0.14 0.12 0.23 0.43 0.70 0.98 1.24 1.48 1.68 1.81 1.87 1.82 1.66 1.42 1.12 0.82 0.58 0.44 0.41 0.48 0.59 0.64 0.61 0.47 0.28 0.12 0.06 0.14 0.30 0.47 0.59 0.62 0.59 0.56 0.59 0.68 0.84 1.02 1.20 1.41 1.65 1.95 2.26 2.53 2.67 2.62 2.37 1.97 1.52 1.10 0.76 0.50 0.31 0.16 0.04 0.00 0.00 0.07 0.20 0.31 0.36 0.31 0.19 0.07 0.03 0.09 0.25 0.42 0.53 0.52 0.41 0.26 0.14 0.12 0.23 0.43 0.70 0.98 1.24 1.48 1.68 1.81 1.87 1.82 1.66 1.42 1.12 0.82 0.58 0.44 0.41 0.48 0.59 0.64 0.61 0.47 0.28 0.12 0.06 0.14 0.30 0.47 0.59 0.62 0.59 0.56 0.59 0.68 0.84 1.02 1.20 1.41 1.65 1.95 2.26 2.53 2.67 2.62 2.37 1.97 1.52 1.10 0.76 0.50 0.31 10.0 + 12.5 0.11 0.01 0.00 0.00 0.00 0.00 0.07 0.22 0.30 0.28 0.16 0.01 0.00 0.00 0.06 0.26 0.42 0.45 0.36 0.19 0.04 0.00 0.06 0.25 0.51 0.77 1.01 1.21 1.38 1.51 1.59 1.58 1.46 1.24 0.94 0.63 0.39 0.28 0.31 0.45 0.60 0.69 0.65 0.50 0.31 0.19 0.20 0.35 0.57 0.77 0.88 0.88 0.84 0.81 0.85 0.97 1.13 1.29 1.43 1.57 1.75 1.99 2.26 2.49 2.59 2.48 2.18 1.73 1.24 0.80 0.47 0.25 0.11 0.01 0.00 0.00 0.00 0.00 0.07 0.22 0.30 0.28 0.16 0.01 0.00 0.00 0.06 0.26 0.42 0.45 0.36 0.19 0.04 0.00 0.06 0.25 0.51 0.77 1.01 1.21 1.38 1.51 1.59 1.58 1.46 1.24 0.94 0.63 0.39 0.28 0.31 0.45 0.60 0.69 0.65 0.50 0.31 0.19 0.20 0.35 0.57 0.77 0.88 0.88 0.84 0.81 0.85 0.97 1.13 1.29 1.43 1.57 1.75 1.99 2.26 2.49 2.59 2.48 2.18 1.73 1.24 0.80 0.47 0.25 0.11 12.5 + 15.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.22 0.22 0.10 0.00 0.00 0.00 0.00 0.07 0.29 0.39 0.34 0.18 0.01 0.00 0.00 0.17 0.42 0.66 0.86 1.01 1.14 1.26 1.35 1.38 1.31 1.11 0.82 0.51 0.27 0.18 0.25 0.43 0.62 0.73 0.69 0.53 0.34 0.23 0.29 0.49 0.76 0.98 1.09 1.09 1.04 1.03 1.10 1.25 1.43 1.57 1.65 1.72 1.81 1.97 2.17 2.33 2.38 2.23 1.90 1.43 0.93 0.50 0.19 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.22 0.22 0.10 0.00 0.00 0.00 0.00 0.07 0.29 0.39 0.34 0.18 0.01 0.00 0.00 0.17 0.42 0.66 0.86 1.01 1.14 1.26 1.35 1.38 1.31 1.11 0.82 0.51 0.27 0.18 0.25 0.43 0.62 0.73 0.69 0.53 0.34 0.23 0.29 0.49 0.76 0.98 1.09 1.09 1.04 1.03 1.10 1.25 1.43 1.57 1.65 1.72 1.81 1.97 2.17 2.33 2.38 2.23 1.90 1.43 0.93 0.50 0.19 0.02 0.00 15.0 + 17.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.22 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.25 0.41 0.41 0.27 0.10 0.00 0.04 0.21 0.45 0.67 0.84 0.96 1.06 1.16 1.27 1.32 1.28 1.11 0.84 0.53 0.28 0.19 0.26 0.46 0.67 0.78 0.74 0.57 0.37 0.27 0.33 0.55 0.84 1.08 1.19 1.19 1.14 1.14 1.24 1.43 1.63 1.77 1.83 1.84 1.85 1.91 2.02 2.12 2.12 1.95 1.62 1.16 0.67 0.26 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.22 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.25 0.41 0.41 0.27 0.10 0.00 0.04 0.21 0.45 0.67 0.84 0.96 1.06 1.16 1.27 1.32 1.28 1.11 0.84 0.53 0.28 0.19 0.26 0.46 0.67 0.78 0.74 0.57 0.37 0.27 0.33 0.55 0.84 1.08 1.19 1.19 1.14 1.14 1.24 1.43 1.63 1.77 1.83 1.84 1.85 1.91 2.02 2.12 2.12 1.95 1.62 1.16 0.67 0.26 0.00 0.00 0.00 17.5 + 20.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.19 0.36 0.44 0.36 0.15 0.00 0.00 0.00 0.09 0.37 0.57 0.59 0.47 0.29 0.17 0.20 0.35 0.58 0.79 0.95 1.05 1.14 1.23 1.34 1.41 1.39 1.25 0.99 0.68 0.42 0.29 0.33 0.51 0.72 0.84 0.81 0.64 0.43 0.31 0.36 0.57 0.85 1.09 1.20 1.20 1.15 1.15 1.27 1.48 1.71 1.88 1.95 1.92 1.87 1.85 1.87 1.90 1.87 1.71 1.41 0.98 0.52 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.19 0.36 0.44 0.36 0.15 0.00 0.00 0.00 0.09 0.37 0.57 0.59 0.47 0.29 0.17 0.20 0.35 0.58 0.79 0.95 1.05 1.14 1.23 1.34 1.41 1.39 1.25 0.99 0.68 0.42 0.29 0.33 0.51 0.72 0.84 0.81 0.64 0.43 0.31 0.36 0.57 0.85 1.09 1.20 1.20 1.15 1.15 1.27 1.48 1.71 1.88 1.95 1.92 1.87 1.85 1.87 1.90 1.87 1.71 1.41 0.98 0.52 0.12 0.00 0.00 0.00 20.0 + 22.5 0.00 0.00 0.00 0.00 0.00 0.04 0.17 0.39 0.63 0.77 0.75 0.56 0.31 0.15 0.17 0.36 0.63 0.82 0.86 0.73 0.54 0.40 0.39 0.52 0.74 0.95 1.11 1.21 1.28 1.37 1.46 1.53 1.53 1.41 1.17 0.86 0.58 0.41 0.40 0.54 0.72 0.86 0.85 0.72 0.53 0.40 0.43 0.62 0.90 1.14 1.27 1.27 1.21 1.20 1.31 1.52 1.77 1.97 2.05 2.01 1.91 1.80 1.74 1.72 1.68 1.55 1.29 0.92 0.49 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.17 0.39 0.63 0.77 0.75 0.56 0.31 0.15 0.17 0.36 0.63 0.82 0.86 0.73 0.54 0.40 0.39 0.52 0.74 0.95 1.11 1.21 1.28 1.37 1.46 1.53 1.53 1.41 1.17 0.86 0.58 0.41 0.40 0.54 0.72 0.86 0.85 0.72 0.53 0.40 0.43 0.62 0.90 1.14 1.27 1.27 1.21 1.20 1.31 1.52 1.77 1.97 2.05 2.01 1.91 1.80 1.74 1.72 1.68 1.55 1.29 0.92 0.49 0.10 0.00 0.00 0.00 22.5 + 25.0 0.00 0.00 0.11 0.19 0.21 0.26 0.40 0.65 0.94 1.14 1.17 1.01 0.76 0.56 0.52 0.67 0.90 1.08 1.11 0.98 0.77 0.60 0.55 0.65 0.83 1.03 1.19 1.28 1.35 1.41 1.49 1.54 1.54 1.44 1.24 0.96 0.68 0.48 0.42 0.50 0.67 0.82 0.88 0.81 0.67 0.57 0.61 0.80 1.10 1.39 1.56 1.60 1.54 1.50 1.55 1.72 1.95 2.14 2.21 2.15 1.99 1.81 1.66 1.58 1.53 1.44 1.25 0.93 0.54 0.15 0.00 0.00 0.00 0.00 0.11 0.19 0.21 0.26 0.40 0.65 0.94 1.14 1.17 1.01 0.76 0.56 0.52 0.67 0.90 1.08 1.11 0.98 0.77 0.60 0.55 0.65 0.83 1.03 1.19 1.28 1.35 1.41 1.49 1.54 1.54 1.44 1.24 0.96 0.68 0.48 0.42 0.50 0.67 0.82 0.88 0.81 0.67 0.57 0.61 0.80 1.10 1.39 1.56 1.60 1.54 1.50 1.55 1.72 1.95 2.14 2.21 2.15 1.99 1.81 1.66 1.58 1.53 1.44 1.25 0.93 0.54 0.15 0.00 0.00 0.00 25.0 + 27.5 0.00 0.16 0.34 0.44 0.47 0.51 0.63 0.87 1.18 1.42 1.49 1.35 1.10 0.86 0.78 0.87 1.07 1.23 1.26 1.12 0.90 0.70 0.61 0.66 0.80 0.96 1.10 1.18 1.22 1.26 1.30 1.34 1.34 1.28 1.14 0.92 0.68 0.48 0.39 0.43 0.59 0.77 0.90 0.93 0.88 0.85 0.93 1.17 1.53 1.92 2.19 2.30 2.27 2.18 2.15 2.21 2.35 2.48 2.51 2.39 2.16 1.88 1.64 1.50 1.43 1.38 1.24 0.99 0.63 0.26 0.00 0.00 0.00 0.16 0.34 0.44 0.47 0.51 0.63 0.87 1.18 1.42 1.49 1.35 1.10 0.86 0.78 0.87 1.07 1.23 1.26 1.12 0.90 0.70 0.61 0.66 0.80 0.96 1.10 1.18 1.22 1.26 1.30 1.34 1.34 1.28 1.14 0.92 0.68 0.48 0.39 0.43 0.59 0.77 0.90 0.93 0.88 0.85 0.93 1.17 1.53 1.92 2.19 2.30 2.27 2.18 2.15 2.21 2.35 2.48 2.51 2.39 2.16 1.88 1.64 1.50 1.43 1.38 1.24 0.99 0.63 0.26 0.00 0.00 0.00 27.5 + 30.0 0.19 0.41 0.62 0.74 0.75 0.74 0.81 1.01 1.30 1.54 1.62 1.49 1.23 0.96 0.83 0.88 1.05 1.20 1.23 1.11 0.88 0.66 0.53 0.53 0.61 0.73 0.83 0.89 0.91 0.91 0.93 0.95 0.97 0.97 0.92 0.80 0.64 0.48 0.38 0.40 0.55 0.77 0.98 1.12 1.18 1.23 1.38 1.70 2.17 2.69 3.12 3.35 3.36 3.23 3.08 2.99 2.99 3.00 2.93 2.73 2.40 2.01 1.68 1.48 1.39 1.36 1.28 1.07 0.75 0.40 0.14 0.07 0.19 0.41 0.62 0.74 0.75 0.74 0.81 1.01 1.30 1.54 1.62 1.49 1.23 0.96 0.83 0.88 1.05 1.20 1.23 1.11 0.88 0.66 0.53 0.53 0.61 0.73 0.83 0.89 0.91 0.91 0.93 0.95 0.97 0.97 0.92 0.80 0.64 0.48 0.38 0.40 0.55 0.77 0.98 1.12 1.18 1.23 1.38 1.70 2.17 2.69 3.12 3.35 3.36 3.23 3.08 2.99 2.99 3.00 2.93 2.73 2.40 2.01 1.68 1.48 1.39 1.36 1.28 1.07 0.75 0.40 0.14 0.07 0.19 30.0 + 32.5 0.41 0.67 0.91 1.01 0.99 0.92 0.92 1.06 1.30 1.52 1.59 1.46 1.17 0.88 0.71 0.72 0.86 1.01 1.06 0.96 0.75 0.52 0.36 0.30 0.33 0.41 0.48 0.52 0.52 0.51 0.51 0.53 0.59 0.67 0.72 0.73 0.67 0.57 0.48 0.49 0.63 0.87 1.15 1.39 1.55 1.68 1.90 2.29 2.87 3.53 4.12 4.49 4.57 4.41 4.14 3.89 3.72 3.58 3.40 3.10 2.68 2.20 1.80 1.54 1.44 1.43 1.39 1.22 0.92 0.58 0.33 0.27 0.41 0.67 0.91 1.01 0.99 0.92 0.92 1.06 1.30 1.52 1.59 1.46 1.17 0.88 0.71 0.72 0.86 1.01 1.06 0.96 0.75 0.52 0.36 0.30 0.33 0.41 0.48 0.52 0.52 0.51 0.51 0.53 0.59 0.67 0.72 0.73 0.67 0.57 0.48 0.49 0.63 0.87 1.15 1.39 1.55 1.68 1.90 2.29 2.87 3.53 4.12 4.49 4.57 4.41 4.14 3.89 3.72 3.58 3.40 3.10 2.68 2.20 1.80 1.54 1.44 1.43 1.39 1.22 0.92 0.58 0.33 0.27 0.41 32.5 + 35.0 0.64 0.90 1.13 1.23 1.17 1.05 0.99 1.07 1.26 1.46 1.51 1.37 1.06 0.73 0.52 0.49 0.61 0.77 0.84 0.77 0.58 0.35 0.17 0.08 0.08 0.14 0.20 0.24 0.25 0.25 0.25 0.29 0.38 0.53 0.69 0.81 0.84 0.80 0.72 0.71 0.82 1.07 1.39 1.69 1.91 2.09 2.34 2.77 3.41 4.18 4.91 5.40 5.55 5.38 5.02 4.63 4.30 4.03 3.75 3.38 2.91 2.39 1.95 1.68 1.59 1.60 1.59 1.45 1.17 0.82 0.56 0.49 0.64 0.90 1.13 1.23 1.17 1.05 0.99 1.07 1.26 1.46 1.51 1.37 1.06 0.73 0.52 0.49 0.61 0.77 0.84 0.77 0.58 0.35 0.17 0.08 0.08 0.14 0.20 0.24 0.25 0.25 0.25 0.29 0.38 0.53 0.69 0.81 0.84 0.80 0.72 0.71 0.82 1.07 1.39 1.69 1.91 2.09 2.34 2.77 3.41 4.18 4.91 5.40 5.55 5.38 5.02 4.63 4.30 4.03 3.75 3.38 2.91 2.39 1.95 1.68 1.59 1.60 1.59 1.45 1.17 0.82 0.56 0.49 0.64 35.0 + 37.5 0.84 1.07 1.29 1.37 1.30 1.15 1.06 1.11 1.29 1.48 1.53 1.37 1.04 0.66 0.40 0.34 0.44 0.60 0.69 0.64 0.47 0.25 0.06 0.00 0.00 0.04 0.12 0.19 0.23 0.25 0.26 0.32 0.44 0.63 0.85 1.04 1.13 1.10 1.02 0.98 1.06 1.29 1.60 1.91 2.15 2.33 2.55 2.96 3.60 4.41 5.20 5.78 5.99 5.83 5.42 4.95 4.52 4.18 3.86 3.48 3.01 2.51 2.09 1.84 1.79 1.85 1.88 1.77 1.49 1.13 0.84 0.73 0.84 1.07 1.29 1.37 1.30 1.15 1.06 1.11 1.29 1.48 1.53 1.37 1.04 0.66 0.40 0.34 0.44 0.60 0.69 0.64 0.47 0.25 0.06 0.00 0.00 0.04 0.12 0.19 0.23 0.25 0.26 0.32 0.44 0.63 0.85 1.04 1.13 1.10 1.02 0.98 1.06 1.29 1.60 1.91 2.15 2.33 2.55 2.96 3.60 4.41 5.20 5.78 5.99 5.83 5.42 4.95 4.52 4.18 3.86 3.48 3.01 2.51 2.09 1.84 1.79 1.85 1.88 1.77 1.49 1.13 0.84 0.73 0.84 37.5 + 40.0 1.03 1.22 1.41 1.48 1.41 1.28 1.20 1.27 1.46 1.67 1.73 1.56 1.20 0.78 0.47 0.35 0.43 0.58 0.68 0.66 0.50 0.29 0.11 0.04 0.06 0.17 0.29 0.40 0.47 0.50 0.53 0.59 0.71 0.90 1.13 1.31 1.39 1.36 1.24 1.16 1.20 1.38 1.67 1.96 2.16 2.29 2.44 2.76 3.33 4.10 4.89 5.49 5.74 5.61 5.20 4.71 4.27 3.93 3.64 3.31 2.91 2.48 2.13 1.95 1.97 2.09 2.18 2.11 1.85 1.48 1.14 0.98 1.03 1.22 1.41 1.48 1.41 1.28 1.20 1.27 1.46 1.67 1.73 1.56 1.20 0.78 0.47 0.35 0.43 0.58 0.68 0.66 0.50 0.29 0.11 0.04 0.06 0.17 0.29 0.40 0.47 0.50 0.53 0.59 0.71 0.90 1.13 1.31 1.39 1.36 1.24 1.16 1.20 1.38 1.67 1.96 2.16 2.29 2.44 2.76 3.33 4.10 4.89 5.49 5.74 5.61 5.20 4.71 4.27 3.93 3.64 3.31 2.91 2.48 2.13 1.95 1.97 2.09 2.18 2.11 1.85 1.48 1.14 0.98 1.03 40.0 + 42.5 1.23 1.37 1.54 1.62 1.58 1.49 1.46 1.58 1.82 2.05 2.14 1.97 1.59 1.12 0.74 0.57 0.60 0.73 0.84 0.82 0.67 0.47 0.31 0.26 0.33 0.47 0.63 0.76 0.83 0.86 0.88 0.92 1.02 1.17 1.34 1.46 1.49 1.41 1.26 1.14 1.14 1.29 1.53 1.77 1.92 1.97 2.03 2.23 2.68 3.34 4.07 4.64 4.90 4.80 4.43 3.99 3.60 3.33 3.13 2.90 2.61 2.29 2.03 1.93 2.02 2.22 2.38 2.37 2.16 1.80 1.44 1.23 1.23 1.37 1.54 1.62 1.58 1.49 1.46 1.58 1.82 2.05 2.14 1.97 1.59 1.12 0.74 0.57 0.60 0.73 0.84 0.82 0.67 0.47 0.31 0.26 0.33 0.47 0.63 0.76 0.83 0.86 0.88 0.92 1.02 1.17 1.34 1.46 1.49 1.41 1.26 1.14 1.14 1.29 1.53 1.77 1.92 1.97 2.03 2.23 2.68 3.34 4.07 4.64 4.90 4.80 4.43 3.99 3.60 3.33 3.13 2.90 2.61 2.29 2.03 1.93 2.02 2.22 2.38 2.37 2.16 1.80 1.44 1.23 1.23 42.5 + 45.0 1.44 1.56 1.73 1.84 1.85 1.83 1.87 2.05 2.34 2.62 2.72 2.56 2.15 1.63 1.18 0.93 0.91 1.01 1.10 1.07 0.93 0.74 0.59 0.56 0.66 0.82 0.99 1.11 1.15 1.14 1.12 1.12 1.17 1.25 1.34 1.39 1.34 1.21 1.04 0.91 0.90 1.02 1.23 1.42 1.50 1.48 1.44 1.53 1.84 2.37 2.99 3.50 3.73 3.65 3.35 2.98 2.69 2.53 2.44 2.34 2.16 1.94 1.76 1.73 1.88 2.14 2.38 2.46 2.32 2.01 1.68 1.46 1.44 1.56 1.73 1.84 1.85 1.83 1.87 2.05 2.34 2.62 2.72 2.56 2.15 1.63 1.18 0.93 0.91 1.01 1.10 1.07 0.93 0.74 0.59 0.56 0.66 0.82 0.99 1.11 1.15 1.14 1.12 1.12 1.17 1.25 1.34 1.39 1.34 1.21 1.04 0.91 0.90 1.02 1.23 1.42 1.50 1.48 1.44 1.53 1.84 2.37 2.99 3.50 3.73 3.65 3.35 2.98 2.69 2.53 2.44 2.34 2.16 1.94 1.76 1.73 1.88 2.14 2.38 2.46 2.32 2.01 1.68 1.46 1.44 45.0 + 47.5 1.63 1.78 1.98 2.15 2.24 2.30 2.41 2.64 2.97 3.28 3.40 3.24 2.81 2.25 1.73 1.40 1.30 1.34 1.38 1.34 1.18 0.99 0.85 0.84 0.94 1.10 1.24 1.30 1.28 1.21 1.13 1.08 1.08 1.10 1.12 1.09 0.99 0.84 0.68 0.58 0.58 0.71 0.89 1.03 1.07 0.99 0.88 0.87 1.07 1.46 1.96 2.37 2.56 2.49 2.24 1.96 1.77 1.72 1.74 1.75 1.66 1.51 1.38 1.38 1.55 1.86 2.16 2.33 2.28 2.07 1.81 1.64 1.63 1.78 1.98 2.15 2.24 2.30 2.41 2.64 2.97 3.28 3.40 3.24 2.81 2.25 1.73 1.40 1.30 1.34 1.38 1.34 1.18 0.99 0.85 0.84 0.94 1.10 1.24 1.30 1.28 1.21 1.13 1.08 1.08 1.10 1.12 1.09 0.99 0.84 0.68 0.58 0.58 0.71 0.89 1.03 1.07 0.99 0.88 0.87 1.07 1.46 1.96 2.37 2.56 2.49 2.24 1.96 1.77 1.72 1.74 1.75 1.66 1.51 1.38 1.38 1.55 1.86 2.16 2.33 2.28 2.07 1.81 1.64 1.63 47.5 + 50.0 1.75 1.96 2.24 2.49 2.67 2.81 2.99 3.27 3.63 3.95 4.09 3.94 3.51 2.92 2.34 1.93 1.73 1.68 1.65 1.55 1.37 1.16 1.03 1.01 1.11 1.24 1.32 1.30 1.19 1.04 0.91 0.82 0.79 0.77 0.75 0.68 0.58 0.44 0.33 0.29 0.34 0.48 0.64 0.76 0.76 0.66 0.51 0.44 0.54 0.82 1.19 1.50 1.64 1.57 1.35 1.13 1.02 1.05 1.15 1.23 1.21 1.09 0.97 0.95 1.11 1.41 1.74 1.98 2.04 1.94 1.78 1.69 1.75 1.96 2.24 2.49 2.67 2.81 2.99 3.27 3.63 3.95 4.09 3.94 3.51 2.92 2.34 1.93 1.73 1.68 1.65 1.55 1.37 1.16 1.03 1.01 1.11 1.24 1.32 1.30 1.19 1.04 0.91 0.82 0.79 0.77 0.75 0.68 0.58 0.44 0.33 0.29 0.34 0.48 0.64 0.76 0.76 0.66 0.51 0.44 0.54 0.82 1.19 1.50 1.64 1.57 1.35 1.13 1.02 1.05 1.15 1.23 1.21 1.09 0.97 0.95 1.11 1.41 1.74 1.98 2.04 1.94 1.78 1.69 1.75 50.0 + 52.5 1.74 2.03 2.39 2.74 3.02 3.26 3.50 3.82 4.19 4.52 4.68 4.57 4.16 3.57 2.96 2.47 2.17 2.00 1.88 1.71 1.48 1.26 1.11 1.08 1.15 1.24 1.26 1.17 0.98 0.77 0.60 0.49 0.45 0.43 0.40 0.34 0.26 0.18 0.14 0.16 0.25 0.41 0.57 0.67 0.66 0.55 0.39 0.28 0.31 0.50 0.76 0.98 1.07 0.98 0.78 0.59 0.52 0.58 0.73 0.84 0.84 0.73 0.59 0.53 0.64 0.90 1.22 1.50 1.63 1.63 1.58 1.59 1.74 2.03 2.39 2.74 3.02 3.26 3.50 3.82 4.19 4.52 4.68 4.57 4.16 3.57 2.96 2.47 2.17 2.00 1.88 1.71 1.48 1.26 1.11 1.08 1.15 1.24 1.26 1.17 0.98 0.77 0.60 0.49 0.45 0.43 0.40 0.34 0.26 0.18 0.14 0.16 0.25 0.41 0.57 0.67 0.66 0.55 0.39 0.28 0.31 0.50 0.76 0.98 1.07 0.98 0.78 0.59 0.52 0.58 0.73 0.84 0.84 0.73 0.59 0.53 0.64 0.90 1.22 1.50 1.63 1.63 1.58 1.59 1.74 52.5 + 55.0 1.54 1.91 2.36 2.81 3.19 3.51 3.81 4.15 4.53 4.87 5.07 5.01 4.67 4.13 3.53 3.00 2.60 2.33 2.09 1.84 1.56 1.31 1.13 1.08 1.12 1.17 1.15 1.01 0.80 0.56 0.37 0.27 0.23 0.22 0.22 0.19 0.15 0.13 0.14 0.20 0.31 0.46 0.60 0.69 0.69 0.59 0.44 0.32 0.30 0.40 0.58 0.74 0.78 0.69 0.49 0.31 0.24 0.30 0.44 0.56 0.57 0.46 0.29 0.17 0.21 0.41 0.69 0.96 1.14 1.20 1.23 1.32 1.54 1.91 2.36 2.81 3.19 3.51 3.81 4.15 4.53 4.87 5.07 5.01 4.67 4.13 3.53 3.00 2.60 2.33 2.09 1.84 1.56 1.31 1.13 1.08 1.12 1.17 1.15 1.01 0.80 0.56 0.37 0.27 0.23 0.22 0.22 0.19 0.15 0.13 0.14 0.20 0.31 0.46 0.60 0.69 0.69 0.59 0.44 0.32 0.30 0.40 0.58 0.74 0.78 0.69 0.49 0.31 0.24 0.30 0.44 0.56 0.57 0.46 0.29 0.17 0.21 0.41 0.69 0.96 1.14 1.20 1.23 1.32 1.54 55.0 + 57.5 1.20 1.62 2.13 2.64 3.10 3.49 3.84 4.19 4.57 4.92 5.15 5.17 4.94 4.50 3.96 3.44 2.99 2.63 2.31 1.99 1.66 1.37 1.17 1.09 1.09 1.11 1.07 0.94 0.73 0.51 0.35 0.25 0.23 0.23 0.24 0.24 0.23 0.24 0.26 0.32 0.41 0.53 0.64 0.72 0.72 0.65 0.51 0.38 0.32 0.36 0.49 0.62 0.65 0.56 0.38 0.19 0.09 0.12 0.24 0.34 0.35 0.24 0.05 0.00 0.00 0.00 0.22 0.46 0.63 0.72 0.79 0.93 1.20 1.62 2.13 2.64 3.10 3.49 3.84 4.19 4.57 4.92 5.15 5.17 4.94 4.50 3.96 3.44 2.99 2.63 2.31 1.99 1.66 1.37 1.17 1.09 1.09 1.11 1.07 0.94 0.73 0.51 0.35 0.25 0.23 0.23 0.24 0.24 0.23 0.24 0.26 0.32 0.41 0.53 0.64 0.72 0.72 0.65 0.51 0.38 0.32 0.36 0.49 0.62 0.65 0.56 0.38 0.19 0.09 0.12 0.24 0.34 0.35 0.24 0.05 0.00 0.00 0.00 0.22 0.46 0.63 0.72 0.79 0.93 1.20 57.5 + 60.0 0.81 1.24 1.76 2.31 2.80 3.22 3.58 3.93 4.29 4.63 4.89 5.00 4.90 4.61 4.19 3.73 3.30 2.90 2.53 2.16 1.80 1.48 1.25 1.14 1.11 1.10 1.06 0.96 0.81 0.64 0.52 0.45 0.43 0.43 0.43 0.43 0.42 0.41 0.41 0.43 0.46 0.51 0.58 0.64 0.65 0.60 0.48 0.34 0.25 0.26 0.36 0.48 0.55 0.49 0.33 0.14 0.01 0.00 0.06 0.14 0.15 0.04 0.00 0.00 0.00 0.00 0.00 0.05 0.19 0.28 0.36 0.52 0.81 1.24 1.76 2.31 2.80 3.22 3.58 3.93 4.29 4.63 4.89 5.00 4.90 4.61 4.19 3.73 3.30 2.90 2.53 2.16 1.80 1.48 1.25 1.14 1.11 1.10 1.06 0.96 0.81 0.64 0.52 0.45 0.43 0.43 0.43 0.43 0.42 0.41 0.41 0.43 0.46 0.51 0.58 0.64 0.65 0.60 0.48 0.34 0.25 0.26 0.36 0.48 0.55 0.49 0.33 0.14 0.01 0.00 0.06 0.14 0.15 0.04 0.00 0.00 0.00 0.00 0.00 0.05 0.19 0.28 0.36 0.52 0.81 60.0 + 62.5 0.49 0.90 1.40 1.92 2.39 2.79 3.13 3.44 3.75 4.06 4.34 4.52 4.55 4.42 4.16 3.83 3.46 3.08 2.71 2.33 1.97 1.64 1.39 1.23 1.16 1.13 1.10 1.05 0.97 0.88 0.81 0.77 0.75 0.72 0.69 0.64 0.60 0.55 0.50 0.44 0.40 0.38 0.40 0.44 0.46 0.42 0.31 0.17 0.07 0.06 0.15 0.30 0.41 0.41 0.29 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.20 0.49 0.90 1.40 1.92 2.39 2.79 3.13 3.44 3.75 4.06 4.34 4.52 4.55 4.42 4.16 3.83 3.46 3.08 2.71 2.33 1.97 1.64 1.39 1.23 1.16 1.13 1.10 1.05 0.97 0.88 0.81 0.77 0.75 0.72 0.69 0.64 0.60 0.55 0.50 0.44 0.40 0.38 0.40 0.44 0.46 0.42 0.31 0.17 0.07 0.06 0.15 0.30 0.41 0.41 0.29 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.20 0.49 62.5 + 65.0 0.36 0.75 1.19 1.64 2.03 2.36 2.62 2.85 3.09 3.35 3.61 3.84 3.98 4.01 3.92 3.73 3.47 3.17 2.84 2.50 2.15 1.83 1.56 1.36 1.24 1.18 1.16 1.15 1.14 1.13 1.13 1.11 1.07 1.01 0.91 0.81 0.71 0.61 0.51 0.40 0.30 0.22 0.20 0.22 0.24 0.21 0.11 0.00 0.00 0.00 0.00 0.13 0.29 0.34 0.26 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.36 0.75 1.19 1.64 2.03 2.36 2.62 2.85 3.09 3.35 3.61 3.84 3.98 4.01 3.92 3.73 3.47 3.17 2.84 2.50 2.15 1.83 1.56 1.36 1.24 1.18 1.16 1.15 1.14 1.13 1.13 1.11 1.07 1.01 0.91 0.81 0.71 0.61 0.51 0.40 0.30 0.22 0.20 0.22 0.24 0.21 0.11 0.00 0.00 0.00 0.00 0.13 0.29 0.34 0.26 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.36 65.0 + 67.5 0.48 0.83 1.21 1.55 1.83 2.04 2.19 2.33 2.47 2.66 2.88 3.12 3.34 3.48 3.54 3.49 3.36 3.16 2.92 2.64 2.34 2.03 1.76 1.53 1.36 1.27 1.23 1.24 1.29 1.35 1.39 1.40 1.35 1.23 1.07 0.90 0.74 0.60 0.48 0.35 0.24 0.15 0.11 0.11 0.12 0.09 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.35 0.30 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.48 0.83 1.21 1.55 1.83 2.04 2.19 2.33 2.47 2.66 2.88 3.12 3.34 3.48 3.54 3.49 3.36 3.16 2.92 2.64 2.34 2.03 1.76 1.53 1.36 1.27 1.23 1.24 1.29 1.35 1.39 1.40 1.35 1.23 1.07 0.90 0.74 0.60 0.48 0.35 0.24 0.15 0.11 0.11 0.12 0.09 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.35 0.30 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.48 67.5 + 70.0 0.81 1.14 1.43 1.66 1.81 1.89 1.92 1.95 2.01 2.12 2.30 2.53 2.77 2.99 3.14 3.20 3.18 3.09 2.94 2.74 2.50 2.24 1.97 1.73 1.53 1.41 1.36 1.38 1.45 1.55 1.62 1.64 1.57 1.41 1.18 0.95 0.74 0.58 0.45 0.35 0.27 0.20 0.17 0.17 0.18 0.16 0.09 0.00 0.00 0.00 0.02 0.21 0.39 0.49 0.45 0.30 0.12 0.00 0.00 0.00 0.01 0.03 0.01 0.00 0.00 0.00 0.00 0.00 0.03 0.12 0.28 0.52 0.81 1.14 1.43 1.66 1.81 1.89 1.92 1.95 2.01 2.12 2.30 2.53 2.77 2.99 3.14 3.20 3.18 3.09 2.94 2.74 2.50 2.24 1.97 1.73 1.53 1.41 1.36 1.38 1.45 1.55 1.62 1.64 1.57 1.41 1.18 0.95 0.74 0.58 0.45 0.35 0.27 0.20 0.17 0.17 0.18 0.16 0.09 0.00 0.00 0.00 0.02 0.21 0.39 0.49 0.45 0.30 0.12 0.00 0.00 0.00 0.01 0.03 0.01 0.00 0.00 0.00 0.00 0.00 0.03 0.12 0.28 0.52 0.81 70.0 + 72.5 1.24 1.53 1.76 1.88 1.91 1.86 1.79 1.73 1.72 1.79 1.93 2.13 2.37 2.59 2.78 2.90 2.96 2.96 2.91 2.80 2.64 2.43 2.19 1.96 1.76 1.63 1.58 1.60 1.68 1.79 1.86 1.87 1.78 1.57 1.30 1.00 0.75 0.57 0.46 0.40 0.36 0.34 0.34 0.35 0.37 0.37 0.32 0.25 0.20 0.22 0.33 0.49 0.65 0.71 0.66 0.52 0.35 0.24 0.21 0.25 0.30 0.33 0.33 0.31 0.29 0.28 0.29 0.31 0.37 0.48 0.67 0.93 1.24 1.53 1.76 1.88 1.91 1.86 1.79 1.73 1.72 1.79 1.93 2.13 2.37 2.59 2.78 2.90 2.96 2.96 2.91 2.80 2.64 2.43 2.19 1.96 1.76 1.63 1.58 1.60 1.68 1.79 1.86 1.87 1.78 1.57 1.30 1.00 0.75 0.57 0.46 0.40 0.36 0.34 0.34 0.35 0.37 0.37 0.32 0.25 0.20 0.22 0.33 0.49 0.65 0.71 0.66 0.52 0.35 0.24 0.21 0.25 0.30 0.33 0.33 0.31 0.29 0.28 0.29 0.31 0.37 0.48 0.67 0.93 1.24 72.5 + 75.0 1.60 1.87 2.03 2.07 2.00 1.85 1.70 1.58 1.54 1.59 1.71 1.90 2.10 2.29 2.46 2.58 2.67 2.74 2.78 2.77 2.69 2.55 2.37 2.17 2.00 1.90 1.87 1.90 1.98 2.07 2.13 2.11 1.99 1.76 1.46 1.13 0.83 0.62 0.50 0.44 0.43 0.44 0.47 0.51 0.54 0.56 0.55 0.52 0.52 0.56 0.67 0.81 0.91 0.93 0.85 0.70 0.56 0.49 0.50 0.56 0.62 0.65 0.64 0.61 0.59 0.59 0.61 0.64 0.71 0.83 1.03 1.30 1.60 1.87 2.03 2.07 2.00 1.85 1.70 1.58 1.54 1.59 1.71 1.90 2.10 2.29 2.46 2.58 2.67 2.74 2.78 2.77 2.69 2.55 2.37 2.17 2.00 1.90 1.87 1.90 1.98 2.07 2.13 2.11 1.99 1.76 1.46 1.13 0.83 0.62 0.50 0.44 0.43 0.44 0.47 0.51 0.54 0.56 0.55 0.52 0.52 0.56 0.67 0.81 0.91 0.93 0.85 0.70 0.56 0.49 0.50 0.56 0.62 0.65 0.64 0.61 0.59 0.59 0.61 0.64 0.71 0.83 1.03 1.30 1.60 75.0 + 77.5 1.78 2.01 2.13 2.11 1.96 1.75 1.54 1.39 1.35 1.40 1.54 1.71 1.87 2.00 2.09 2.17 2.26 2.37 2.49 2.57 2.59 2.52 2.40 2.25 2.15 2.10 2.13 2.19 2.27 2.33 2.36 2.32 2.19 1.97 1.67 1.33 1.00 0.73 0.54 0.44 0.40 0.40 0.44 0.50 0.55 0.59 0.61 0.62 0.66 0.74 0.86 0.98 1.04 1.00 0.88 0.73 0.62 0.61 0.67 0.77 0.84 0.85 0.81 0.76 0.73 0.75 0.79 0.86 0.94 1.07 1.26 1.51 1.78 2.01 2.13 2.11 1.96 1.75 1.54 1.39 1.35 1.40 1.54 1.71 1.87 2.00 2.09 2.17 2.26 2.37 2.49 2.57 2.59 2.52 2.40 2.25 2.15 2.10 2.13 2.19 2.27 2.33 2.36 2.32 2.19 1.97 1.67 1.33 1.00 0.73 0.54 0.44 0.40 0.40 0.44 0.50 0.55 0.59 0.61 0.62 0.66 0.74 0.86 0.98 1.04 1.00 0.88 0.73 0.62 0.61 0.67 0.77 0.84 0.85 0.81 0.76 0.73 0.75 0.79 0.86 0.94 1.07 1.26 1.51 1.78 77.5 + 80.0 1.73 1.91 1.99 1.94 1.76 1.50 1.25 1.08 1.04 1.12 1.29 1.46 1.58 1.63 1.62 1.62 1.67 1.80 1.99 2.16 2.26 2.26 2.19 2.10 2.06 2.10 2.20 2.31 2.40 2.44 2.44 2.38 2.28 2.12 1.88 1.59 1.25 0.91 0.62 0.40 0.26 0.21 0.23 0.28 0.34 0.39 0.42 0.46 0.53 0.65 0.79 0.90 0.93 0.84 0.68 0.52 0.45 0.50 0.64 0.79 0.87 0.86 0.77 0.68 0.65 0.68 0.78 0.89 1.01 1.14 1.31 1.51 1.73 1.91 1.99 1.94 1.76 1.50 1.25 1.08 1.04 1.12 1.29 1.46 1.58 1.63 1.62 1.62 1.67 1.80 1.99 2.16 2.26 2.26 2.19 2.10 2.06 2.10 2.20 2.31 2.40 2.44 2.44 2.38 2.28 2.12 1.88 1.59 1.25 0.91 0.62 0.40 0.26 0.21 0.23 0.28 0.34 0.39 0.42 0.46 0.53 0.65 0.79 0.90 0.93 0.84 0.68 0.52 0.45 0.50 0.64 0.79 0.87 0.86 0.77 0.68 0.65 0.68 0.78 0.89 1.01 1.14 1.31 1.51 1.73 80.0 + 82.5 1.48 1.62 1.67 1.60 1.40 1.12 0.84 0.65 0.61 0.72 0.91 1.10 1.19 1.15 1.04 0.93 0.93 1.06 1.29 1.54 1.71 1.76 1.72 1.67 1.69 1.79 1.96 2.13 2.24 2.27 2.25 2.21 2.18 2.13 2.03 1.84 1.54 1.16 0.75 0.39 0.12 0.00 0.00 0.00 0.03 0.07 0.08 0.11 0.19 0.32 0.48 0.60 0.60 0.48 0.28 0.12 0.07 0.18 0.39 0.59 0.70 0.66 0.54 0.41 0.36 0.42 0.57 0.75 0.92 1.05 1.18 1.32 1.48 1.62 1.67 1.60 1.40 1.12 0.84 0.65 0.61 0.72 0.91 1.10 1.19 1.15 1.04 0.93 0.93 1.06 1.29 1.54 1.71 1.76 1.72 1.67 1.69 1.79 1.96 2.13 2.24 2.27 2.25 2.21 2.18 2.13 2.03 1.84 1.54 1.16 0.75 0.39 0.12 0.00 0.00 0.00 0.03 0.07 0.08 0.11 0.19 0.32 0.48 0.60 0.60 0.48 0.28 0.12 0.07 0.18 0.39 0.59 0.70 0.66 0.54 0.41 0.36 0.42 0.57 0.75 0.92 1.05 1.18 1.32 1.48 82.5 + 85.0 1.15 1.24 1.28 1.20 1.00 0.71 0.40 0.19 0.14 0.26 0.47 0.67 0.73 0.63 0.42 0.22 0.15 0.27 0.53 0.82 1.02 1.09 1.06 1.02 1.06 1.21 1.42 1.62 1.74 1.77 1.76 1.77 1.84 1.96 2.05 2.02 1.82 1.45 0.97 0.49 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.22 0.21 0.06 0.00 0.00 0.00 0.00 0.03 0.29 0.42 0.37 0.21 0.04 0.00 0.07 0.27 0.52 0.73 0.87 0.97 1.06 1.15 1.24 1.28 1.20 1.00 0.71 0.40 0.19 0.14 0.26 0.47 0.67 0.73 0.63 0.42 0.22 0.15 0.27 0.53 0.82 1.02 1.09 1.06 1.02 1.06 1.21 1.42 1.62 1.74 1.77 1.76 1.77 1.84 1.96 2.05 2.02 1.82 1.45 0.97 0.49 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.22 0.21 0.06 0.00 0.00 0.00 0.00 0.03 0.29 0.42 0.37 0.21 0.04 0.00 0.07 0.27 0.52 0.73 0.87 0.97 1.06 1.15 85.0 + 87.5 0.88 0.93 0.94 0.87 0.68 0.38 0.06 0.00 0.00 0.00 0.09 0.29 0.35 0.21 0.00 0.00 0.00 0.00 0.00 0.18 0.40 0.46 0.41 0.35 0.36 0.50 0.72 0.92 1.04 1.07 1.08 1.14 1.33 1.61 1.90 2.07 2.02 1.74 1.28 0.76 0.32 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.19 0.14 0.00 0.00 0.00 0.00 0.01 0.31 0.56 0.72 0.80 0.84 0.88 0.93 0.94 0.87 0.68 0.38 0.06 0.00 0.00 0.00 0.09 0.29 0.35 0.21 0.00 0.00 0.00 0.00 0.00 0.18 0.40 0.46 0.41 0.35 0.36 0.50 0.72 0.92 1.04 1.07 1.08 1.14 1.33 1.61 1.90 2.07 2.02 1.74 1.28 0.76 0.32 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.19 0.14 0.00 0.00 0.00 0.00 0.01 0.31 0.56 0.72 0.80 0.84 0.88 87.5 + 90.0 0.77 0.78 0.77 0.70 0.53 0.24 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.37 0.39 0.50 0.76 1.17 1.61 1.96 2.10 1.96 1.61 1.17 0.76 0.50 0.39 0.37 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.24 0.53 0.70 0.77 0.78 0.77 0.78 0.77 0.70 0.53 0.24 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.37 0.39 0.50 0.76 1.17 1.61 1.96 2.10 1.96 1.61 1.17 0.76 0.50 0.39 0.37 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.24 0.53 0.70 0.77 0.78 0.77 90.0 + + 20.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.82 ) PHI2 = 20. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.0 + 2.5 0.65 0.49 0.39 0.35 0.36 0.34 0.26 0.08 0.00 0.00 0.00 0.00 0.00 0.08 0.28 0.39 0.41 0.40 0.42 0.50 0.65 0.85 1.06 1.28 1.51 1.76 1.99 2.16 2.23 2.19 2.04 1.82 1.58 1.35 1.12 0.90 0.71 0.55 0.45 0.41 0.41 0.37 0.25 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.36 0.37 0.42 0.54 0.71 0.92 1.14 1.36 1.61 1.86 2.09 2.25 2.30 2.22 2.04 1.79 1.54 1.29 1.07 0.85 0.65 0.49 0.39 0.35 0.36 0.34 0.26 0.08 0.00 0.00 0.00 0.00 0.00 0.08 0.28 0.39 0.41 0.40 0.42 0.50 0.65 0.85 1.06 1.28 1.51 1.76 1.99 2.16 2.23 2.19 2.04 1.82 1.58 1.35 1.12 0.90 0.71 0.55 0.45 0.41 0.41 0.37 0.25 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.36 0.37 0.42 0.54 0.71 0.92 1.14 1.36 1.61 1.86 2.09 2.25 2.30 2.22 2.04 1.79 1.54 1.29 1.07 0.85 0.65 2.5 + 5.0 0.51 0.36 0.27 0.26 0.30 0.34 0.33 0.22 0.05 0.00 0.00 0.00 0.02 0.23 0.40 0.49 0.48 0.43 0.39 0.41 0.51 0.68 0.89 1.13 1.39 1.65 1.90 2.10 2.20 2.19 2.07 1.86 1.62 1.36 1.11 0.88 0.69 0.56 0.50 0.49 0.49 0.45 0.33 0.13 0.00 0.00 0.00 0.00 0.00 0.15 0.28 0.34 0.35 0.36 0.43 0.56 0.75 0.96 1.20 1.45 1.73 2.01 2.27 2.43 2.45 2.33 2.08 1.77 1.46 1.18 0.93 0.71 0.51 0.36 0.27 0.26 0.30 0.34 0.33 0.22 0.05 0.00 0.00 0.00 0.02 0.23 0.40 0.49 0.48 0.43 0.39 0.41 0.51 0.68 0.89 1.13 1.39 1.65 1.90 2.10 2.20 2.19 2.07 1.86 1.62 1.36 1.11 0.88 0.69 0.56 0.50 0.49 0.49 0.45 0.33 0.13 0.00 0.00 0.00 0.00 0.00 0.15 0.28 0.34 0.35 0.36 0.43 0.56 0.75 0.96 1.20 1.45 1.73 2.01 2.27 2.43 2.45 2.33 2.08 1.77 1.46 1.18 0.93 0.71 0.51 5.0 + 7.5 0.34 0.20 0.13 0.15 0.22 0.32 0.38 0.36 0.26 0.13 0.04 0.05 0.17 0.34 0.50 0.58 0.55 0.45 0.35 0.29 0.33 0.47 0.67 0.93 1.20 1.48 1.75 1.96 2.09 2.12 2.04 1.85 1.60 1.32 1.04 0.81 0.63 0.55 0.54 0.58 0.61 0.57 0.44 0.24 0.05 0.00 0.00 0.04 0.21 0.36 0.44 0.45 0.44 0.46 0.53 0.68 0.87 1.08 1.32 1.59 1.89 2.20 2.46 2.61 2.60 2.40 2.08 1.69 1.32 0.99 0.73 0.52 0.34 0.20 0.13 0.15 0.22 0.32 0.38 0.36 0.26 0.13 0.04 0.05 0.17 0.34 0.50 0.58 0.55 0.45 0.35 0.29 0.33 0.47 0.67 0.93 1.20 1.48 1.75 1.96 2.09 2.12 2.04 1.85 1.60 1.32 1.04 0.81 0.63 0.55 0.54 0.58 0.61 0.57 0.44 0.24 0.05 0.00 0.00 0.04 0.21 0.36 0.44 0.45 0.44 0.46 0.53 0.68 0.87 1.08 1.32 1.59 1.89 2.20 2.46 2.61 2.60 2.40 2.08 1.69 1.32 0.99 0.73 0.52 0.34 7.5 + 10.0 0.18 0.07 0.02 0.04 0.13 0.27 0.38 0.43 0.38 0.26 0.16 0.12 0.19 0.34 0.50 0.60 0.58 0.46 0.30 0.19 0.17 0.27 0.47 0.73 1.00 1.27 1.52 1.73 1.88 1.94 1.90 1.75 1.51 1.21 0.92 0.68 0.54 0.51 0.57 0.67 0.72 0.69 0.55 0.37 0.22 0.16 0.23 0.39 0.56 0.68 0.71 0.69 0.67 0.69 0.78 0.93 1.11 1.30 1.50 1.74 2.03 2.33 2.58 2.70 2.63 2.37 1.97 1.52 1.10 0.76 0.51 0.32 0.18 0.07 0.02 0.04 0.13 0.27 0.38 0.43 0.38 0.26 0.16 0.12 0.19 0.34 0.50 0.60 0.58 0.46 0.30 0.19 0.17 0.27 0.47 0.73 1.00 1.27 1.52 1.73 1.88 1.94 1.90 1.75 1.51 1.21 0.92 0.68 0.54 0.51 0.57 0.67 0.72 0.69 0.55 0.37 0.22 0.16 0.23 0.39 0.56 0.68 0.71 0.69 0.67 0.69 0.78 0.93 1.11 1.30 1.50 1.74 2.03 2.33 2.58 2.70 2.63 2.37 1.97 1.52 1.10 0.76 0.51 0.32 0.18 10.0 + 12.5 0.06 0.00 0.00 0.00 0.05 0.18 0.32 0.41 0.39 0.28 0.14 0.05 0.07 0.20 0.38 0.52 0.55 0.45 0.28 0.13 0.07 0.15 0.33 0.58 0.83 1.07 1.27 1.46 1.61 1.70 1.70 1.59 1.37 1.07 0.77 0.53 0.42 0.45 0.58 0.74 0.82 0.79 0.66 0.48 0.37 0.37 0.51 0.73 0.92 1.03 1.04 1.00 0.98 1.02 1.13 1.28 1.43 1.57 1.71 1.89 2.12 2.37 2.57 2.63 2.51 2.19 1.74 1.25 0.82 0.50 0.28 0.15 0.06 0.00 0.00 0.00 0.05 0.18 0.32 0.41 0.39 0.28 0.14 0.05 0.07 0.20 0.38 0.52 0.55 0.45 0.28 0.13 0.07 0.15 0.33 0.58 0.83 1.07 1.27 1.46 1.61 1.70 1.70 1.59 1.37 1.07 0.77 0.53 0.42 0.45 0.58 0.74 0.82 0.79 0.66 0.48 0.37 0.37 0.51 0.73 0.92 1.03 1.04 1.00 0.98 1.02 1.13 1.28 1.43 1.57 1.71 1.89 2.12 2.37 2.57 2.63 2.51 2.19 1.74 1.25 0.82 0.50 0.28 0.15 0.06 12.5 + 15.0 0.00 0.00 0.00 0.00 0.00 0.10 0.25 0.35 0.35 0.24 0.07 0.00 0.00 0.01 0.22 0.42 0.51 0.46 0.30 0.14 0.06 0.11 0.28 0.51 0.73 0.93 1.09 1.24 1.37 1.48 1.52 1.45 1.26 0.97 0.67 0.44 0.35 0.42 0.59 0.79 0.90 0.87 0.73 0.56 0.47 0.52 0.72 0.97 1.19 1.30 1.31 1.26 1.24 1.31 1.45 1.61 1.74 1.83 1.89 1.99 2.13 2.30 2.42 2.43 2.25 1.90 1.43 0.95 0.53 0.24 0.08 0.01 0.00 0.00 0.00 0.00 0.00 0.10 0.25 0.35 0.35 0.24 0.07 0.00 0.00 0.01 0.22 0.42 0.51 0.46 0.30 0.14 0.06 0.11 0.28 0.51 0.73 0.93 1.09 1.24 1.37 1.48 1.52 1.45 1.26 0.97 0.67 0.44 0.35 0.42 0.59 0.79 0.90 0.87 0.73 0.56 0.47 0.52 0.72 0.97 1.19 1.30 1.31 1.26 1.24 1.31 1.45 1.61 1.74 1.83 1.89 1.99 2.13 2.30 2.42 2.43 2.25 1.90 1.43 0.95 0.53 0.24 0.08 0.01 0.00 15.0 + 17.5 0.00 0.00 0.00 0.00 0.00 0.06 0.21 0.34 0.37 0.27 0.08 0.00 0.00 0.00 0.12 0.36 0.51 0.51 0.38 0.22 0.13 0.16 0.31 0.53 0.73 0.90 1.02 1.14 1.27 1.39 1.46 1.42 1.26 0.99 0.68 0.45 0.35 0.42 0.61 0.82 0.94 0.92 0.78 0.61 0.52 0.58 0.80 1.07 1.31 1.42 1.42 1.37 1.36 1.45 1.62 1.80 1.94 2.01 2.02 2.03 2.07 2.14 2.19 2.13 1.94 1.59 1.14 0.67 0.28 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.21 0.34 0.37 0.27 0.08 0.00 0.00 0.00 0.12 0.36 0.51 0.51 0.38 0.22 0.13 0.16 0.31 0.53 0.73 0.90 1.02 1.14 1.27 1.39 1.46 1.42 1.26 0.99 0.68 0.45 0.35 0.42 0.61 0.82 0.94 0.92 0.78 0.61 0.52 0.58 0.80 1.07 1.31 1.42 1.42 1.37 1.36 1.45 1.62 1.80 1.94 2.01 2.02 2.03 2.07 2.14 2.19 2.13 1.94 1.59 1.14 0.67 0.28 0.02 0.00 0.00 0.00 17.5 + 20.0 0.00 0.00 0.00 0.00 0.00 0.09 0.27 0.44 0.52 0.45 0.26 0.04 0.00 0.00 0.16 0.41 0.60 0.64 0.53 0.37 0.26 0.27 0.41 0.62 0.82 0.97 1.08 1.19 1.30 1.43 1.51 1.50 1.36 1.10 0.80 0.54 0.41 0.45 0.61 0.81 0.94 0.94 0.80 0.64 0.54 0.60 0.80 1.07 1.30 1.41 1.41 1.36 1.36 1.45 1.65 1.86 2.03 2.10 2.08 2.02 1.97 1.94 1.92 1.83 1.63 1.31 0.90 0.48 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.27 0.44 0.52 0.45 0.26 0.04 0.00 0.00 0.16 0.41 0.60 0.64 0.53 0.37 0.26 0.27 0.41 0.62 0.82 0.97 1.08 1.19 1.30 1.43 1.51 1.50 1.36 1.10 0.80 0.54 0.41 0.45 0.61 0.81 0.94 0.94 0.80 0.64 0.54 0.60 0.80 1.07 1.30 1.41 1.41 1.36 1.36 1.45 1.65 1.86 2.03 2.10 2.08 2.02 1.97 1.94 1.92 1.83 1.63 1.31 0.90 0.48 0.11 0.00 0.00 0.00 0.00 20.0 + 22.5 0.00 0.00 0.00 0.01 0.06 0.19 0.40 0.63 0.78 0.76 0.59 0.35 0.18 0.17 0.34 0.58 0.77 0.82 0.72 0.55 0.42 0.42 0.53 0.73 0.93 1.08 1.20 1.30 1.40 1.52 1.60 1.59 1.47 1.24 0.94 0.66 0.49 0.47 0.59 0.76 0.90 0.92 0.83 0.68 0.59 0.64 0.83 1.09 1.33 1.46 1.46 1.41 1.39 1.47 1.66 1.89 2.08 2.15 2.12 2.00 1.87 1.76 1.66 1.55 1.38 1.12 0.77 0.38 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.06 0.19 0.40 0.63 0.78 0.76 0.59 0.35 0.18 0.17 0.34 0.58 0.77 0.82 0.72 0.55 0.42 0.42 0.53 0.73 0.93 1.08 1.20 1.30 1.40 1.52 1.60 1.59 1.47 1.24 0.94 0.66 0.49 0.47 0.59 0.76 0.90 0.92 0.83 0.68 0.59 0.64 0.83 1.09 1.33 1.46 1.46 1.41 1.39 1.47 1.66 1.89 2.08 2.15 2.12 2.00 1.87 1.76 1.66 1.55 1.38 1.12 0.77 0.38 0.03 0.00 0.00 0.00 0.00 22.5 + 25.0 0.00 0.01 0.10 0.15 0.21 0.35 0.58 0.86 1.06 1.10 0.96 0.72 0.52 0.46 0.57 0.79 0.97 1.02 0.92 0.74 0.59 0.54 0.63 0.80 0.99 1.14 1.25 1.34 1.43 1.52 1.58 1.58 1.48 1.28 1.01 0.74 0.54 0.47 0.53 0.68 0.83 0.90 0.88 0.80 0.75 0.81 1.01 1.30 1.57 1.75 1.79 1.74 1.69 1.73 1.86 2.06 2.23 2.29 2.22 2.04 1.82 1.62 1.46 1.33 1.20 1.00 0.71 0.36 0.02 0.00 0.00 0.00 0.00 0.01 0.10 0.15 0.21 0.35 0.58 0.86 1.06 1.10 0.96 0.72 0.52 0.46 0.57 0.79 0.97 1.02 0.92 0.74 0.59 0.54 0.63 0.80 0.99 1.14 1.25 1.34 1.43 1.52 1.58 1.58 1.48 1.28 1.01 0.74 0.54 0.47 0.53 0.68 0.83 0.90 0.88 0.80 0.75 0.81 1.01 1.30 1.57 1.75 1.79 1.74 1.69 1.73 1.86 2.06 2.23 2.29 2.22 2.04 1.82 1.62 1.46 1.33 1.20 1.00 0.71 0.36 0.02 0.00 0.00 0.00 0.00 25.0 + 27.5 0.00 0.17 0.29 0.34 0.39 0.51 0.74 1.03 1.27 1.36 1.25 1.02 0.79 0.69 0.76 0.94 1.10 1.15 1.06 0.87 0.69 0.61 0.65 0.78 0.93 1.06 1.16 1.22 1.28 1.33 1.37 1.37 1.32 1.18 0.98 0.76 0.57 0.47 0.49 0.61 0.79 0.93 1.01 1.02 1.05 1.16 1.41 1.76 2.13 2.41 2.53 2.50 2.42 2.36 2.39 2.49 2.58 2.58 2.45 2.19 1.86 1.56 1.33 1.19 1.09 0.94 0.72 0.41 0.08 0.00 0.00 0.00 0.00 0.17 0.29 0.34 0.39 0.51 0.74 1.03 1.27 1.36 1.25 1.02 0.79 0.69 0.76 0.94 1.10 1.15 1.06 0.87 0.69 0.61 0.65 0.78 0.93 1.06 1.16 1.22 1.28 1.33 1.37 1.37 1.32 1.18 0.98 0.76 0.57 0.47 0.49 0.61 0.79 0.93 1.01 1.02 1.05 1.16 1.41 1.76 2.13 2.41 2.53 2.50 2.42 2.36 2.39 2.49 2.58 2.58 2.45 2.19 1.86 1.56 1.33 1.19 1.09 0.94 0.72 0.41 0.08 0.00 0.00 0.00 0.00 27.5 + 30.0 0.17 0.39 0.53 0.57 0.57 0.64 0.82 1.09 1.34 1.45 1.37 1.15 0.91 0.78 0.81 0.96 1.11 1.17 1.09 0.91 0.72 0.60 0.58 0.64 0.75 0.84 0.90 0.93 0.95 0.97 0.99 1.01 1.01 0.97 0.88 0.75 0.61 0.51 0.51 0.62 0.82 1.04 1.22 1.35 1.47 1.66 1.99 2.44 2.93 3.35 3.58 3.61 3.50 3.34 3.22 3.17 3.13 3.03 2.79 2.43 2.00 1.60 1.31 1.15 1.07 0.97 0.79 0.51 0.19 0.00 0.00 0.00 0.17 0.39 0.53 0.57 0.57 0.64 0.82 1.09 1.34 1.45 1.37 1.15 0.91 0.78 0.81 0.96 1.11 1.17 1.09 0.91 0.72 0.60 0.58 0.64 0.75 0.84 0.90 0.93 0.95 0.97 0.99 1.01 1.01 0.97 0.88 0.75 0.61 0.51 0.51 0.62 0.82 1.04 1.22 1.35 1.47 1.66 1.99 2.44 2.93 3.35 3.58 3.61 3.50 3.34 3.22 3.17 3.13 3.03 2.79 2.43 2.00 1.60 1.31 1.15 1.07 0.97 0.79 0.51 0.19 0.00 0.00 0.00 0.17 30.0 + 32.5 0.39 0.63 0.76 0.77 0.72 0.71 0.83 1.05 1.28 1.40 1.34 1.12 0.87 0.72 0.72 0.84 1.00 1.07 1.02 0.85 0.65 0.50 0.43 0.43 0.48 0.53 0.56 0.57 0.57 0.57 0.58 0.62 0.69 0.76 0.80 0.79 0.72 0.65 0.64 0.74 0.95 1.23 1.50 1.72 1.93 2.19 2.58 3.12 3.74 4.31 4.68 4.78 4.66 4.40 4.14 3.92 3.73 3.50 3.17 2.72 2.21 1.74 1.40 1.22 1.15 1.09 0.94 0.68 0.36 0.12 0.04 0.15 0.39 0.63 0.76 0.77 0.72 0.71 0.83 1.05 1.28 1.40 1.34 1.12 0.87 0.72 0.72 0.84 1.00 1.07 1.02 0.85 0.65 0.50 0.43 0.43 0.48 0.53 0.56 0.57 0.57 0.57 0.58 0.62 0.69 0.76 0.80 0.79 0.72 0.65 0.64 0.74 0.95 1.23 1.50 1.72 1.93 2.19 2.58 3.12 3.74 4.31 4.68 4.78 4.66 4.40 4.14 3.92 3.73 3.50 3.17 2.72 2.21 1.74 1.40 1.22 1.15 1.09 0.94 0.68 0.36 0.12 0.04 0.15 0.39 32.5 + 35.0 0.58 0.81 0.94 0.91 0.80 0.73 0.78 0.96 1.17 1.29 1.23 1.03 0.76 0.58 0.55 0.65 0.81 0.90 0.88 0.74 0.54 0.37 0.25 0.21 0.22 0.25 0.28 0.29 0.29 0.28 0.31 0.38 0.51 0.68 0.83 0.92 0.92 0.87 0.85 0.92 1.13 1.42 1.74 2.02 2.27 2.55 2.97 3.56 4.27 4.95 5.44 5.62 5.51 5.19 4.81 4.46 4.15 3.84 3.45 2.96 2.41 1.92 1.57 1.39 1.34 1.31 1.18 0.92 0.60 0.34 0.24 0.34 0.58 0.81 0.94 0.91 0.80 0.73 0.78 0.96 1.17 1.29 1.23 1.03 0.76 0.58 0.55 0.65 0.81 0.90 0.88 0.74 0.54 0.37 0.25 0.21 0.22 0.25 0.28 0.29 0.29 0.28 0.31 0.38 0.51 0.68 0.83 0.92 0.92 0.87 0.85 0.92 1.13 1.42 1.74 2.02 2.27 2.55 2.97 3.56 4.27 4.95 5.44 5.62 5.51 5.19 4.81 4.46 4.15 3.84 3.45 2.96 2.41 1.92 1.57 1.39 1.34 1.31 1.18 0.92 0.60 0.34 0.24 0.34 0.58 35.0 + 37.5 0.72 0.93 1.03 0.98 0.84 0.73 0.74 0.89 1.09 1.22 1.17 0.96 0.68 0.47 0.40 0.48 0.63 0.74 0.75 0.64 0.45 0.27 0.14 0.08 0.09 0.13 0.18 0.21 0.23 0.24 0.28 0.37 0.54 0.76 0.97 1.11 1.15 1.11 1.06 1.09 1.26 1.54 1.86 2.14 2.37 2.62 3.00 3.56 4.28 5.01 5.57 5.82 5.74 5.41 4.97 4.56 4.20 3.87 3.49 3.02 2.51 2.05 1.73 1.60 1.58 1.58 1.47 1.22 0.89 0.59 0.46 0.52 0.72 0.93 1.03 0.98 0.84 0.73 0.74 0.89 1.09 1.22 1.17 0.96 0.68 0.47 0.40 0.48 0.63 0.74 0.75 0.64 0.45 0.27 0.14 0.08 0.09 0.13 0.18 0.21 0.23 0.24 0.28 0.37 0.54 0.76 0.97 1.11 1.15 1.11 1.06 1.09 1.26 1.54 1.86 2.14 2.37 2.62 3.00 3.56 4.28 5.01 5.57 5.82 5.74 5.41 4.97 4.56 4.20 3.87 3.49 3.02 2.51 2.05 1.73 1.60 1.58 1.58 1.47 1.22 0.89 0.59 0.46 0.52 0.72 37.5 + 40.0 0.83 1.00 1.08 1.02 0.88 0.77 0.78 0.93 1.14 1.27 1.24 1.02 0.71 0.45 0.34 0.38 0.53 0.66 0.69 0.61 0.44 0.26 0.13 0.09 0.13 0.20 0.29 0.36 0.40 0.42 0.46 0.55 0.72 0.93 1.14 1.28 1.31 1.24 1.16 1.15 1.27 1.51 1.78 2.01 2.18 2.34 2.62 3.09 3.74 4.45 5.03 5.31 5.26 4.96 4.53 4.13 3.81 3.53 3.22 2.85 2.43 2.05 1.81 1.74 1.78 1.83 1.76 1.54 1.20 0.87 0.68 0.68 0.83 1.00 1.08 1.02 0.88 0.77 0.78 0.93 1.14 1.27 1.24 1.02 0.71 0.45 0.34 0.38 0.53 0.66 0.69 0.61 0.44 0.26 0.13 0.09 0.13 0.20 0.29 0.36 0.40 0.42 0.46 0.55 0.72 0.93 1.14 1.28 1.31 1.24 1.16 1.15 1.27 1.51 1.78 2.01 2.18 2.34 2.62 3.09 3.74 4.45 5.03 5.31 5.26 4.96 4.53 4.13 3.81 3.53 3.22 2.85 2.43 2.05 1.81 1.74 1.78 1.83 1.76 1.54 1.20 0.87 0.68 0.68 0.83 40.0 + 42.5 0.95 1.08 1.15 1.11 0.99 0.90 0.93 1.10 1.33 1.48 1.45 1.22 0.88 0.57 0.40 0.41 0.54 0.69 0.74 0.67 0.52 0.36 0.25 0.24 0.32 0.43 0.55 0.64 0.68 0.70 0.72 0.79 0.92 1.08 1.24 1.32 1.30 1.19 1.08 1.04 1.12 1.31 1.53 1.68 1.75 1.80 1.95 2.29 2.82 3.44 3.97 4.26 4.24 3.98 3.62 3.28 3.04 2.87 2.69 2.44 2.14 1.87 1.72 1.72 1.83 1.95 1.95 1.78 1.47 1.13 0.91 0.85 0.95 1.08 1.15 1.11 0.99 0.90 0.93 1.10 1.33 1.48 1.45 1.22 0.88 0.57 0.40 0.41 0.54 0.69 0.74 0.67 0.52 0.36 0.25 0.24 0.32 0.43 0.55 0.64 0.68 0.70 0.72 0.79 0.92 1.08 1.24 1.32 1.30 1.19 1.08 1.04 1.12 1.31 1.53 1.68 1.75 1.80 1.95 2.29 2.82 3.44 3.97 4.26 4.24 3.98 3.62 3.28 3.04 2.87 2.69 2.44 2.14 1.87 1.72 1.72 1.83 1.95 1.95 1.78 1.47 1.13 0.91 0.85 0.95 42.5 + 45.0 1.10 1.23 1.30 1.29 1.22 1.18 1.24 1.44 1.68 1.84 1.82 1.57 1.19 0.83 0.60 0.57 0.67 0.81 0.87 0.81 0.67 0.53 0.45 0.47 0.58 0.71 0.83 0.90 0.91 0.90 0.90 0.93 1.00 1.09 1.16 1.17 1.09 0.96 0.84 0.80 0.87 1.02 1.18 1.26 1.24 1.18 1.20 1.40 1.80 2.30 2.75 3.00 2.99 2.78 2.48 2.24 2.10 2.05 2.00 1.88 1.70 1.52 1.44 1.51 1.69 1.88 1.97 1.88 1.63 1.34 1.11 1.04 1.10 1.23 1.30 1.29 1.22 1.18 1.24 1.44 1.68 1.84 1.82 1.57 1.19 0.83 0.60 0.57 0.67 0.81 0.87 0.81 0.67 0.53 0.45 0.47 0.58 0.71 0.83 0.90 0.91 0.90 0.90 0.93 1.00 1.09 1.16 1.17 1.09 0.96 0.84 0.80 0.87 1.02 1.18 1.26 1.24 1.18 1.20 1.40 1.80 2.30 2.75 3.00 2.99 2.78 2.48 2.24 2.10 2.05 2.00 1.88 1.70 1.52 1.44 1.51 1.69 1.88 1.97 1.88 1.63 1.34 1.11 1.04 1.10 45.0 + 47.5 1.29 1.43 1.55 1.59 1.58 1.59 1.69 1.90 2.16 2.32 2.29 2.04 1.63 1.21 0.92 0.83 0.89 0.99 1.03 0.97 0.83 0.70 0.65 0.70 0.81 0.94 1.02 1.03 0.98 0.92 0.88 0.87 0.90 0.93 0.93 0.87 0.76 0.63 0.54 0.53 0.61 0.75 0.86 0.89 0.80 0.67 0.59 0.68 0.94 1.33 1.68 1.87 1.85 1.67 1.43 1.26 1.21 1.26 1.31 1.29 1.20 1.08 1.04 1.14 1.36 1.61 1.78 1.79 1.65 1.43 1.26 1.21 1.29 1.43 1.55 1.59 1.58 1.59 1.69 1.90 2.16 2.32 2.29 2.04 1.63 1.21 0.92 0.83 0.89 0.99 1.03 0.97 0.83 0.70 0.65 0.70 0.81 0.94 1.02 1.03 0.98 0.92 0.88 0.87 0.90 0.93 0.93 0.87 0.76 0.63 0.54 0.53 0.61 0.75 0.86 0.89 0.80 0.67 0.59 0.68 0.94 1.33 1.68 1.87 1.85 1.67 1.43 1.26 1.21 1.26 1.31 1.29 1.20 1.08 1.04 1.14 1.36 1.61 1.78 1.79 1.65 1.43 1.26 1.21 1.29 47.5 + 50.0 1.43 1.63 1.82 1.94 2.01 2.08 2.22 2.45 2.70 2.88 2.85 2.60 2.18 1.72 1.37 1.20 1.18 1.21 1.20 1.11 0.96 0.84 0.80 0.85 0.97 1.06 1.07 1.00 0.88 0.76 0.68 0.65 0.66 0.66 0.62 0.54 0.43 0.33 0.29 0.33 0.45 0.58 0.67 0.66 0.54 0.37 0.24 0.25 0.42 0.69 0.95 1.08 1.04 0.86 0.65 0.53 0.53 0.64 0.76 0.80 0.75 0.66 0.62 0.70 0.92 1.19 1.43 1.53 1.50 1.38 1.29 1.30 1.43 1.63 1.82 1.94 2.01 2.08 2.22 2.45 2.70 2.88 2.85 2.60 2.18 1.72 1.37 1.20 1.18 1.21 1.20 1.11 0.96 0.84 0.80 0.85 0.97 1.06 1.07 1.00 0.88 0.76 0.68 0.65 0.66 0.66 0.62 0.54 0.43 0.33 0.29 0.33 0.45 0.58 0.67 0.66 0.54 0.37 0.24 0.25 0.42 0.69 0.95 1.08 1.04 0.86 0.65 0.53 0.53 0.64 0.76 0.80 0.75 0.66 0.62 0.70 0.92 1.19 1.43 1.53 1.50 1.38 1.29 1.30 1.43 50.0 + 52.5 1.45 1.73 2.01 2.24 2.40 2.54 2.73 2.98 3.25 3.44 3.44 3.22 2.81 2.34 1.93 1.68 1.55 1.48 1.39 1.24 1.06 0.92 0.88 0.94 1.03 1.08 1.03 0.88 0.69 0.53 0.43 0.39 0.40 0.39 0.35 0.28 0.21 0.16 0.18 0.27 0.40 0.53 0.61 0.59 0.46 0.29 0.15 0.11 0.21 0.39 0.57 0.65 0.58 0.40 0.21 0.09 0.12 0.24 0.39 0.47 0.44 0.34 0.27 0.30 0.47 0.72 0.98 1.14 1.19 1.17 1.17 1.25 1.45 1.73 2.01 2.24 2.40 2.54 2.73 2.98 3.25 3.44 3.44 3.22 2.81 2.34 1.93 1.68 1.55 1.48 1.39 1.24 1.06 0.92 0.88 0.94 1.03 1.08 1.03 0.88 0.69 0.53 0.43 0.39 0.40 0.39 0.35 0.28 0.21 0.16 0.18 0.27 0.40 0.53 0.61 0.59 0.46 0.29 0.15 0.11 0.21 0.39 0.57 0.65 0.58 0.40 0.21 0.09 0.12 0.24 0.39 0.47 0.44 0.34 0.27 0.30 0.47 0.72 0.98 1.14 1.19 1.17 1.17 1.25 1.45 52.5 + 55.0 1.31 1.66 2.03 2.36 2.63 2.86 3.11 3.40 3.70 3.92 3.97 3.81 3.46 3.01 2.58 2.25 2.01 1.83 1.63 1.40 1.17 1.01 0.96 1.00 1.06 1.07 0.98 0.78 0.55 0.36 0.25 0.22 0.23 0.24 0.22 0.18 0.14 0.14 0.19 0.30 0.43 0.54 0.61 0.59 0.48 0.33 0.19 0.13 0.17 0.29 0.42 0.47 0.39 0.22 0.03 0.00 0.00 0.04 0.18 0.27 0.25 0.14 0.03 0.00 0.09 0.29 0.52 0.70 0.79 0.83 0.89 1.04 1.31 1.66 2.03 2.36 2.63 2.86 3.11 3.40 3.70 3.92 3.97 3.81 3.46 3.01 2.58 2.25 2.01 1.83 1.63 1.40 1.17 1.01 0.96 1.00 1.06 1.07 0.98 0.78 0.55 0.36 0.25 0.22 0.23 0.24 0.22 0.18 0.14 0.14 0.19 0.30 0.43 0.54 0.61 0.59 0.48 0.33 0.19 0.13 0.17 0.29 0.42 0.47 0.39 0.22 0.03 0.00 0.00 0.04 0.18 0.27 0.25 0.14 0.03 0.00 0.09 0.29 0.52 0.70 0.79 0.83 0.89 1.04 1.31 55.0 + 57.5 1.00 1.41 1.86 2.28 2.64 2.96 3.27 3.60 3.94 4.21 4.34 4.27 4.01 3.64 3.23 2.86 2.54 2.25 1.95 1.65 1.37 1.17 1.08 1.09 1.12 1.10 0.99 0.78 0.55 0.36 0.25 0.22 0.23 0.25 0.24 0.22 0.20 0.22 0.27 0.35 0.44 0.52 0.56 0.55 0.48 0.36 0.23 0.14 0.14 0.22 0.32 0.37 0.32 0.17 0.00 0.00 0.00 0.00 0.06 0.16 0.14 0.03 0.00 0.00 0.00 0.00 0.12 0.27 0.37 0.43 0.51 0.70 1.00 1.41 1.86 2.28 2.64 2.96 3.27 3.60 3.94 4.21 4.34 4.27 4.01 3.64 3.23 2.86 2.54 2.25 1.95 1.65 1.37 1.17 1.08 1.09 1.12 1.10 0.99 0.78 0.55 0.36 0.25 0.22 0.23 0.25 0.24 0.22 0.20 0.22 0.27 0.35 0.44 0.52 0.56 0.55 0.48 0.36 0.23 0.14 0.14 0.22 0.32 0.37 0.32 0.17 0.00 0.00 0.00 0.00 0.06 0.16 0.14 0.03 0.00 0.00 0.00 0.00 0.12 0.27 0.37 0.43 0.51 0.70 1.00 57.5 + 60.0 0.64 1.07 1.55 2.02 2.45 2.82 3.18 3.54 3.91 4.22 4.43 4.47 4.35 4.10 3.77 3.42 3.07 2.73 2.36 2.00 1.67 1.43 1.29 1.25 1.24 1.19 1.08 0.89 0.69 0.52 0.42 0.38 0.38 0.37 0.36 0.34 0.32 0.32 0.32 0.34 0.37 0.40 0.42 0.42 0.38 0.29 0.17 0.07 0.03 0.08 0.18 0.26 0.25 0.15 0.00 0.00 0.00 0.00 0.00 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.14 0.33 0.64 1.07 1.55 2.02 2.45 2.82 3.18 3.54 3.91 4.22 4.43 4.47 4.35 4.10 3.77 3.42 3.07 2.73 2.36 2.00 1.67 1.43 1.29 1.25 1.24 1.19 1.08 0.89 0.69 0.52 0.42 0.38 0.38 0.37 0.36 0.34 0.32 0.32 0.32 0.34 0.37 0.40 0.42 0.42 0.38 0.29 0.17 0.07 0.03 0.08 0.18 0.26 0.25 0.15 0.00 0.00 0.00 0.00 0.00 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.14 0.33 0.64 60.0 + 62.5 0.36 0.77 1.24 1.71 2.14 2.52 2.88 3.24 3.60 3.94 4.21 4.36 4.38 4.28 4.08 3.82 3.52 3.17 2.80 2.42 2.06 1.77 1.58 1.47 1.40 1.33 1.22 1.07 0.91 0.78 0.69 0.63 0.60 0.56 0.51 0.46 0.41 0.37 0.32 0.28 0.23 0.21 0.21 0.22 0.20 0.13 0.01 0.00 0.00 0.00 0.00 0.10 0.16 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.36 0.77 1.24 1.71 2.14 2.52 2.88 3.24 3.60 3.94 4.21 4.36 4.38 4.28 4.08 3.82 3.52 3.17 2.80 2.42 2.06 1.77 1.58 1.47 1.40 1.33 1.22 1.07 0.91 0.78 0.69 0.63 0.60 0.56 0.51 0.46 0.41 0.37 0.32 0.28 0.23 0.21 0.21 0.22 0.20 0.13 0.01 0.00 0.00 0.00 0.00 0.10 0.16 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.36 62.5 + 65.0 0.28 0.64 1.06 1.47 1.84 2.17 2.48 2.78 3.10 3.42 3.71 3.94 4.10 4.15 4.11 3.98 3.77 3.50 3.18 2.82 2.47 2.15 1.90 1.72 1.59 1.48 1.37 1.26 1.15 1.05 0.98 0.91 0.83 0.73 0.63 0.53 0.44 0.36 0.27 0.18 0.09 0.03 0.02 0.02 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.28 0.64 1.06 1.47 1.84 2.17 2.48 2.78 3.10 3.42 3.71 3.94 4.10 4.15 4.11 3.98 3.77 3.50 3.18 2.82 2.47 2.15 1.90 1.72 1.59 1.48 1.37 1.26 1.15 1.05 0.98 0.91 0.83 0.73 0.63 0.53 0.44 0.36 0.27 0.18 0.09 0.03 0.02 0.02 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.28 65.0 + 67.5 0.43 0.75 1.08 1.39 1.65 1.88 2.08 2.29 2.52 2.78 3.06 3.33 3.57 3.75 3.86 3.87 3.80 3.64 3.41 3.12 2.80 2.48 2.19 1.95 1.77 1.62 1.51 1.42 1.36 1.30 1.24 1.15 1.02 0.87 0.70 0.54 0.42 0.31 0.21 0.10 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.12 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.43 0.75 1.08 1.39 1.65 1.88 2.08 2.29 2.52 2.78 3.06 3.33 3.57 3.75 3.86 3.87 3.80 3.64 3.41 3.12 2.80 2.48 2.19 1.95 1.77 1.62 1.51 1.42 1.36 1.30 1.24 1.15 1.02 0.87 0.70 0.54 0.42 0.31 0.21 0.10 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.12 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.43 67.5 + 70.0 0.76 1.04 1.28 1.47 1.60 1.69 1.76 1.85 1.98 2.16 2.40 2.66 2.94 3.20 3.41 3.54 3.59 3.55 3.43 3.24 2.99 2.70 2.41 2.14 1.92 1.76 1.65 1.59 1.55 1.53 1.47 1.37 1.20 0.98 0.74 0.53 0.36 0.24 0.15 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.22 0.25 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.14 0.29 0.50 0.76 1.04 1.28 1.47 1.60 1.69 1.76 1.85 1.98 2.16 2.40 2.66 2.94 3.20 3.41 3.54 3.59 3.55 3.43 3.24 2.99 2.70 2.41 2.14 1.92 1.76 1.65 1.59 1.55 1.53 1.47 1.37 1.20 0.98 0.74 0.53 0.36 0.24 0.15 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.22 0.25 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.14 0.29 0.50 0.76 70.0 + 72.5 1.16 1.40 1.57 1.65 1.65 1.61 1.55 1.53 1.56 1.67 1.85 2.08 2.35 2.62 2.86 3.05 3.19 3.25 3.25 3.16 3.00 2.78 2.52 2.26 2.05 1.89 1.81 1.77 1.77 1.76 1.71 1.58 1.37 1.10 0.80 0.53 0.33 0.20 0.12 0.07 0.04 0.03 0.03 0.06 0.08 0.06 0.01 0.00 0.00 0.00 0.14 0.32 0.45 0.45 0.34 0.15 0.00 0.00 0.00 0.00 0.09 0.13 0.13 0.12 0.13 0.16 0.21 0.28 0.36 0.49 0.67 0.90 1.16 1.40 1.57 1.65 1.65 1.61 1.55 1.53 1.56 1.67 1.85 2.08 2.35 2.62 2.86 3.05 3.19 3.25 3.25 3.16 3.00 2.78 2.52 2.26 2.05 1.89 1.81 1.77 1.77 1.76 1.71 1.58 1.37 1.10 0.80 0.53 0.33 0.20 0.12 0.07 0.04 0.03 0.03 0.06 0.08 0.06 0.01 0.00 0.00 0.00 0.14 0.32 0.45 0.45 0.34 0.15 0.00 0.00 0.00 0.00 0.09 0.13 0.13 0.12 0.13 0.16 0.21 0.28 0.36 0.49 0.67 0.90 1.16 72.5 + 75.0 1.49 1.70 1.81 1.81 1.71 1.56 1.40 1.29 1.26 1.31 1.45 1.65 1.87 2.10 2.30 2.48 2.64 2.78 2.87 2.89 2.83 2.69 2.49 2.29 2.12 2.01 1.98 1.99 2.02 2.02 1.95 1.81 1.57 1.27 0.93 0.63 0.38 0.22 0.12 0.07 0.05 0.05 0.08 0.13 0.17 0.18 0.17 0.15 0.18 0.27 0.43 0.59 0.69 0.66 0.52 0.32 0.17 0.11 0.16 0.26 0.35 0.39 0.38 0.36 0.36 0.40 0.47 0.56 0.66 0.81 1.00 1.24 1.49 1.70 1.81 1.81 1.71 1.56 1.40 1.29 1.26 1.31 1.45 1.65 1.87 2.10 2.30 2.48 2.64 2.78 2.87 2.89 2.83 2.69 2.49 2.29 2.12 2.01 1.98 1.99 2.02 2.02 1.95 1.81 1.57 1.27 0.93 0.63 0.38 0.22 0.12 0.07 0.05 0.05 0.08 0.13 0.17 0.18 0.17 0.15 0.18 0.27 0.43 0.59 0.69 0.66 0.52 0.32 0.17 0.11 0.16 0.26 0.35 0.39 0.38 0.36 0.36 0.40 0.47 0.56 0.66 0.81 1.00 1.24 1.49 75.0 + 77.5 1.65 1.83 1.91 1.86 1.70 1.47 1.24 1.08 1.01 1.05 1.18 1.34 1.51 1.65 1.77 1.88 2.01 2.17 2.33 2.46 2.50 2.44 2.31 2.17 2.07 2.05 2.09 2.17 2.23 2.23 2.16 2.00 1.77 1.48 1.15 0.84 0.56 0.34 0.17 0.06 0.00 0.00 0.02 0.09 0.16 0.20 0.23 0.25 0.32 0.44 0.61 0.77 0.84 0.77 0.60 0.41 0.28 0.26 0.36 0.49 0.59 0.61 0.57 0.51 0.50 0.55 0.64 0.76 0.88 1.03 1.21 1.43 1.65 1.83 1.91 1.86 1.70 1.47 1.24 1.08 1.01 1.05 1.18 1.34 1.51 1.65 1.77 1.88 2.01 2.17 2.33 2.46 2.50 2.44 2.31 2.17 2.07 2.05 2.09 2.17 2.23 2.23 2.16 2.00 1.77 1.48 1.15 0.84 0.56 0.34 0.17 0.06 0.00 0.00 0.02 0.09 0.16 0.20 0.23 0.25 0.32 0.44 0.61 0.77 0.84 0.77 0.60 0.41 0.28 0.26 0.36 0.49 0.59 0.61 0.57 0.51 0.50 0.55 0.64 0.76 0.88 1.03 1.21 1.43 1.65 77.5 + 80.0 1.62 1.77 1.83 1.76 1.57 1.30 1.03 0.84 0.76 0.82 0.96 1.12 1.23 1.27 1.26 1.26 1.33 1.49 1.70 1.90 2.02 2.03 1.96 1.88 1.86 1.93 2.07 2.21 2.30 2.31 2.24 2.09 1.91 1.68 1.44 1.17 0.88 0.59 0.31 0.08 0.00 0.00 0.00 0.00 0.04 0.10 0.15 0.19 0.28 0.43 0.62 0.78 0.83 0.73 0.54 0.34 0.24 0.28 0.44 0.62 0.72 0.72 0.63 0.53 0.50 0.55 0.68 0.83 0.98 1.12 1.27 1.44 1.62 1.77 1.83 1.76 1.57 1.30 1.03 0.84 0.76 0.82 0.96 1.12 1.23 1.27 1.26 1.26 1.33 1.49 1.70 1.90 2.02 2.03 1.96 1.88 1.86 1.93 2.07 2.21 2.30 2.31 2.24 2.09 1.91 1.68 1.44 1.17 0.88 0.59 0.31 0.08 0.00 0.00 0.00 0.00 0.04 0.10 0.15 0.19 0.28 0.43 0.62 0.78 0.83 0.73 0.54 0.34 0.24 0.28 0.44 0.62 0.72 0.72 0.63 0.53 0.50 0.55 0.68 0.83 0.98 1.12 1.27 1.44 1.62 80.0 + 82.5 1.45 1.56 1.61 1.54 1.35 1.06 0.77 0.55 0.48 0.56 0.74 0.91 0.98 0.93 0.80 0.68 0.66 0.80 1.04 1.29 1.47 1.51 1.47 1.43 1.46 1.61 1.82 2.02 2.15 2.17 2.10 2.00 1.90 1.82 1.71 1.55 1.30 0.96 0.57 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.09 0.26 0.46 0.63 0.66 0.54 0.32 0.12 0.05 0.15 0.37 0.61 0.73 0.70 0.56 0.41 0.35 0.42 0.59 0.79 0.96 1.10 1.21 1.32 1.45 1.56 1.61 1.54 1.35 1.06 0.77 0.55 0.48 0.56 0.74 0.91 0.98 0.93 0.80 0.68 0.66 0.80 1.04 1.29 1.47 1.51 1.47 1.43 1.46 1.61 1.82 2.02 2.15 2.17 2.10 2.00 1.90 1.82 1.71 1.55 1.30 0.96 0.57 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.09 0.26 0.46 0.63 0.66 0.54 0.32 0.12 0.05 0.15 0.37 0.61 0.73 0.70 0.56 0.41 0.35 0.42 0.59 0.79 0.96 1.10 1.21 1.32 1.45 82.5 + 85.0 1.22 1.30 1.34 1.28 1.10 0.81 0.50 0.27 0.20 0.30 0.51 0.70 0.76 0.64 0.40 0.17 0.08 0.18 0.44 0.72 0.92 0.98 0.93 0.88 0.93 1.11 1.36 1.60 1.74 1.76 1.71 1.67 1.70 1.80 1.89 1.89 1.73 1.40 0.93 0.45 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.24 0.40 0.43 0.29 0.05 0.00 0.00 0.00 0.22 0.50 0.64 0.59 0.41 0.22 0.14 0.22 0.43 0.68 0.88 1.02 1.09 1.14 1.22 1.30 1.34 1.28 1.10 0.81 0.50 0.27 0.20 0.30 0.51 0.70 0.76 0.64 0.40 0.17 0.08 0.18 0.44 0.72 0.92 0.98 0.93 0.88 0.93 1.11 1.36 1.60 1.74 1.76 1.71 1.67 1.70 1.80 1.89 1.89 1.73 1.40 0.93 0.45 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.24 0.40 0.43 0.29 0.05 0.00 0.00 0.00 0.22 0.50 0.64 0.59 0.41 0.22 0.14 0.22 0.43 0.68 0.88 1.02 1.09 1.14 1.22 85.0 + 87.5 1.03 1.08 1.11 1.07 0.90 0.62 0.29 0.05 0.00 0.09 0.33 0.54 0.59 0.43 0.13 0.00 0.00 0.00 0.00 0.29 0.49 0.53 0.45 0.37 0.39 0.55 0.80 1.02 1.15 1.17 1.14 1.17 1.32 1.59 1.89 2.08 2.07 1.80 1.34 0.82 0.37 0.11 0.02 0.05 0.09 0.06 0.00 0.00 0.00 0.00 0.10 0.25 0.26 0.10 0.00 0.00 0.00 0.00 0.06 0.38 0.54 0.49 0.28 0.05 0.00 0.03 0.27 0.57 0.81 0.95 1.00 1.01 1.03 1.08 1.11 1.07 0.90 0.62 0.29 0.05 0.00 0.09 0.33 0.54 0.59 0.43 0.13 0.00 0.00 0.00 0.00 0.29 0.49 0.53 0.45 0.37 0.39 0.55 0.80 1.02 1.15 1.17 1.14 1.17 1.32 1.59 1.89 2.08 2.07 1.80 1.34 0.82 0.37 0.11 0.02 0.05 0.09 0.06 0.00 0.00 0.00 0.00 0.10 0.25 0.26 0.10 0.00 0.00 0.00 0.00 0.06 0.38 0.54 0.49 0.28 0.05 0.00 0.03 0.27 0.57 0.81 0.95 1.00 1.01 1.03 87.5 + 90.0 0.96 0.97 0.99 0.95 0.80 0.53 0.22 0.00 0.00 0.00 0.24 0.46 0.51 0.34 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.27 0.15 0.02 0.00 0.09 0.28 0.46 0.55 0.54 0.52 0.59 0.84 1.24 1.69 2.05 2.19 2.05 1.69 1.24 0.84 0.59 0.52 0.54 0.55 0.46 0.28 0.09 0.00 0.02 0.15 0.27 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.34 0.51 0.46 0.24 0.00 0.00 0.00 0.22 0.53 0.80 0.95 0.99 0.97 0.96 0.97 0.99 0.95 0.80 0.53 0.22 0.00 0.00 0.00 0.24 0.46 0.51 0.34 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.27 0.15 0.02 0.00 0.09 0.28 0.46 0.55 0.54 0.52 0.59 0.84 1.24 1.69 2.05 2.19 2.05 1.69 1.24 0.84 0.59 0.52 0.54 0.55 0.46 0.28 0.09 0.00 0.02 0.15 0.27 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.34 0.51 0.46 0.24 0.00 0.00 0.00 0.22 0.53 0.80 0.95 0.99 0.97 0.96 90.0 + + 22.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.52 ) PHI2 = 23. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.0 + 2.5 0.49 0.39 0.35 0.36 0.35 0.26 0.08 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.41 0.40 0.42 0.50 0.65 0.84 1.05 1.28 1.51 1.76 1.99 2.16 2.24 2.19 2.04 1.82 1.58 1.35 1.12 0.91 0.71 0.55 0.45 0.41 0.41 0.37 0.25 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.36 0.37 0.42 0.54 0.71 0.92 1.14 1.37 1.61 1.86 2.09 2.25 2.30 2.22 2.03 1.79 1.53 1.29 1.07 0.85 0.65 0.49 0.39 0.35 0.36 0.35 0.26 0.08 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.41 0.40 0.42 0.50 0.65 0.84 1.05 1.28 1.51 1.76 1.99 2.16 2.24 2.19 2.04 1.82 1.58 1.35 1.12 0.91 0.71 0.55 0.45 0.41 0.41 0.37 0.25 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.23 0.33 0.36 0.37 0.42 0.54 0.71 0.92 1.14 1.37 1.61 1.86 2.09 2.25 2.30 2.22 2.03 1.79 1.53 1.29 1.07 0.85 0.65 0.49 2.5 + 5.0 0.36 0.28 0.27 0.32 0.36 0.34 0.23 0.06 0.00 0.00 0.00 0.03 0.24 0.41 0.49 0.48 0.43 0.39 0.41 0.51 0.68 0.89 1.13 1.38 1.65 1.91 2.11 2.22 2.21 2.09 1.88 1.64 1.38 1.13 0.90 0.71 0.57 0.51 0.49 0.50 0.46 0.33 0.13 0.00 0.00 0.00 0.00 0.00 0.15 0.29 0.36 0.37 0.38 0.45 0.58 0.76 0.98 1.22 1.47 1.74 2.02 2.27 2.43 2.45 2.32 2.07 1.76 1.45 1.17 0.92 0.70 0.51 0.36 0.28 0.27 0.32 0.36 0.34 0.23 0.06 0.00 0.00 0.00 0.03 0.24 0.41 0.49 0.48 0.43 0.39 0.41 0.51 0.68 0.89 1.13 1.38 1.65 1.91 2.11 2.22 2.21 2.09 1.88 1.64 1.38 1.13 0.90 0.71 0.57 0.51 0.49 0.50 0.46 0.33 0.13 0.00 0.00 0.00 0.00 0.00 0.15 0.29 0.36 0.37 0.38 0.45 0.58 0.76 0.98 1.22 1.47 1.74 2.02 2.27 2.43 2.45 2.32 2.07 1.76 1.45 1.17 0.92 0.70 0.51 0.36 5.0 + 7.5 0.21 0.15 0.18 0.26 0.36 0.42 0.40 0.29 0.16 0.08 0.09 0.21 0.39 0.54 0.61 0.57 0.47 0.36 0.30 0.34 0.48 0.68 0.93 1.21 1.49 1.76 1.99 2.13 2.16 2.09 1.91 1.66 1.37 1.10 0.86 0.69 0.59 0.58 0.61 0.63 0.60 0.47 0.28 0.09 0.00 0.00 0.07 0.24 0.39 0.48 0.50 0.49 0.51 0.58 0.73 0.91 1.13 1.36 1.63 1.93 2.23 2.48 2.62 2.59 2.39 2.06 1.68 1.31 0.99 0.73 0.51 0.34 0.21 0.15 0.18 0.26 0.36 0.42 0.40 0.29 0.16 0.08 0.09 0.21 0.39 0.54 0.61 0.57 0.47 0.36 0.30 0.34 0.48 0.68 0.93 1.21 1.49 1.76 1.99 2.13 2.16 2.09 1.91 1.66 1.37 1.10 0.86 0.69 0.59 0.58 0.61 0.63 0.60 0.47 0.28 0.09 0.00 0.00 0.07 0.24 0.39 0.48 0.50 0.49 0.51 0.58 0.73 0.91 1.13 1.36 1.63 1.93 2.23 2.48 2.62 2.59 2.39 2.06 1.68 1.31 0.99 0.73 0.51 0.34 0.21 7.5 + 10.0 0.11 0.07 0.10 0.21 0.34 0.46 0.50 0.45 0.35 0.24 0.21 0.28 0.43 0.58 0.66 0.63 0.51 0.35 0.24 0.22 0.32 0.51 0.76 1.03 1.30 1.56 1.78 1.95 2.03 1.99 1.85 1.61 1.31 1.02 0.78 0.64 0.61 0.66 0.75 0.80 0.77 0.64 0.47 0.32 0.26 0.32 0.47 0.64 0.76 0.81 0.79 0.77 0.79 0.88 1.03 1.20 1.38 1.59 1.83 2.11 2.40 2.63 2.73 2.64 2.36 1.96 1.51 1.10 0.77 0.52 0.34 0.20 0.11 0.07 0.10 0.21 0.34 0.46 0.50 0.45 0.35 0.24 0.21 0.28 0.43 0.58 0.66 0.63 0.51 0.35 0.24 0.22 0.32 0.51 0.76 1.03 1.30 1.56 1.78 1.95 2.03 1.99 1.85 1.61 1.31 1.02 0.78 0.64 0.61 0.66 0.75 0.80 0.77 0.64 0.47 0.32 0.26 0.32 0.47 0.64 0.76 0.81 0.79 0.77 0.79 0.88 1.03 1.20 1.38 1.59 1.83 2.11 2.40 2.63 2.73 2.64 2.36 1.96 1.51 1.10 0.77 0.52 0.34 0.20 0.11 10.0 + 12.5 0.06 0.04 0.07 0.16 0.30 0.44 0.52 0.51 0.41 0.28 0.20 0.22 0.34 0.51 0.64 0.65 0.55 0.38 0.23 0.17 0.24 0.41 0.64 0.89 1.13 1.34 1.54 1.71 1.82 1.83 1.72 1.51 1.21 0.92 0.69 0.58 0.61 0.73 0.87 0.96 0.94 0.82 0.66 0.55 0.55 0.68 0.88 1.07 1.19 1.20 1.17 1.14 1.18 1.28 1.42 1.56 1.70 1.84 2.01 2.23 2.47 2.64 2.68 2.53 2.19 1.74 1.27 0.85 0.54 0.33 0.20 0.12 0.06 0.04 0.07 0.16 0.30 0.44 0.52 0.51 0.41 0.28 0.20 0.22 0.34 0.51 0.64 0.65 0.55 0.38 0.23 0.17 0.24 0.41 0.64 0.89 1.13 1.34 1.54 1.71 1.82 1.83 1.72 1.51 1.21 0.92 0.69 0.58 0.61 0.73 0.87 0.96 0.94 0.82 0.66 0.55 0.55 0.68 0.88 1.07 1.19 1.20 1.17 1.14 1.18 1.28 1.42 1.56 1.70 1.84 2.01 2.23 2.47 2.64 2.68 2.53 2.19 1.74 1.27 0.85 0.54 0.33 0.20 0.12 0.06 12.5 + 15.0 0.05 0.04 0.05 0.12 0.25 0.39 0.49 0.50 0.40 0.24 0.11 0.09 0.19 0.38 0.56 0.63 0.58 0.43 0.27 0.19 0.24 0.39 0.60 0.81 1.00 1.17 1.33 1.49 1.62 1.67 1.61 1.42 1.14 0.85 0.62 0.54 0.60 0.77 0.96 1.08 1.07 0.95 0.80 0.72 0.77 0.95 1.19 1.40 1.51 1.52 1.47 1.45 1.50 1.62 1.77 1.90 1.98 2.05 2.14 2.27 2.42 2.51 2.47 2.27 1.91 1.44 0.98 0.58 0.31 0.16 0.09 0.07 0.05 0.04 0.05 0.12 0.25 0.39 0.49 0.50 0.40 0.24 0.11 0.09 0.19 0.38 0.56 0.63 0.58 0.43 0.27 0.19 0.24 0.39 0.60 0.81 1.00 1.17 1.33 1.49 1.62 1.67 1.61 1.42 1.14 0.85 0.62 0.54 0.60 0.77 0.96 1.08 1.07 0.95 0.80 0.72 0.77 0.95 1.19 1.40 1.51 1.52 1.47 1.45 1.50 1.62 1.77 1.90 1.98 2.05 2.14 2.27 2.42 2.51 2.47 2.27 1.91 1.44 0.98 0.58 0.31 0.16 0.09 0.07 0.05 15.0 + 17.5 0.03 0.03 0.04 0.09 0.20 0.35 0.48 0.51 0.43 0.25 0.07 0.00 0.07 0.26 0.48 0.62 0.62 0.50 0.35 0.26 0.29 0.42 0.61 0.80 0.96 1.09 1.23 1.38 1.52 1.60 1.57 1.41 1.15 0.85 0.62 0.53 0.59 0.77 0.98 1.11 1.11 1.00 0.86 0.79 0.85 1.06 1.32 1.54 1.65 1.64 1.60 1.58 1.65 1.80 1.97 2.10 2.16 2.18 2.19 2.21 2.25 2.25 2.16 1.93 1.56 1.13 0.69 0.33 0.10 0.00 0.00 0.01 0.03 0.03 0.04 0.09 0.20 0.35 0.48 0.51 0.43 0.25 0.07 0.00 0.07 0.26 0.48 0.62 0.62 0.50 0.35 0.26 0.29 0.42 0.61 0.80 0.96 1.09 1.23 1.38 1.52 1.60 1.57 1.41 1.15 0.85 0.62 0.53 0.59 0.77 0.98 1.11 1.11 1.00 0.86 0.79 0.85 1.06 1.32 1.54 1.65 1.64 1.60 1.58 1.65 1.80 1.97 2.10 2.16 2.18 2.19 2.21 2.25 2.25 2.16 1.93 1.56 1.13 0.69 0.33 0.10 0.00 0.00 0.01 0.03 17.5 + 20.0 0.00 0.02 0.03 0.08 0.19 0.36 0.53 0.61 0.55 0.37 0.16 0.03 0.06 0.23 0.47 0.64 0.69 0.60 0.45 0.35 0.36 0.48 0.66 0.85 0.99 1.12 1.24 1.38 1.52 1.62 1.61 1.48 1.23 0.93 0.68 0.55 0.58 0.73 0.92 1.06 1.08 0.99 0.86 0.79 0.85 1.05 1.31 1.52 1.63 1.63 1.57 1.56 1.63 1.80 2.00 2.15 2.22 2.21 2.15 2.08 2.02 1.94 1.80 1.56 1.23 0.84 0.45 0.13 0.00 0.00 0.00 0.00 0.00 0.02 0.03 0.08 0.19 0.36 0.53 0.61 0.55 0.37 0.16 0.03 0.06 0.23 0.47 0.64 0.69 0.60 0.45 0.35 0.36 0.48 0.66 0.85 0.99 1.12 1.24 1.38 1.52 1.62 1.61 1.48 1.23 0.93 0.68 0.55 0.58 0.73 0.92 1.06 1.08 0.99 0.86 0.79 0.85 1.05 1.31 1.52 1.63 1.63 1.57 1.56 1.63 1.80 2.00 2.15 2.22 2.21 2.15 2.08 2.02 1.94 1.80 1.56 1.23 0.84 0.45 0.13 0.00 0.00 0.00 0.00 0.00 20.0 + 22.5 0.00 0.00 0.04 0.10 0.22 0.42 0.64 0.78 0.78 0.62 0.39 0.21 0.18 0.32 0.54 0.72 0.79 0.71 0.57 0.45 0.44 0.55 0.72 0.91 1.06 1.19 1.31 1.44 1.57 1.66 1.67 1.55 1.32 1.03 0.76 0.58 0.56 0.66 0.82 0.96 1.01 0.96 0.86 0.81 0.87 1.06 1.31 1.54 1.66 1.66 1.60 1.57 1.63 1.79 1.99 2.16 2.23 2.20 2.08 1.93 1.77 1.62 1.45 1.23 0.96 0.64 0.29 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.10 0.22 0.42 0.64 0.78 0.78 0.62 0.39 0.21 0.18 0.32 0.54 0.72 0.79 0.71 0.57 0.45 0.44 0.55 0.72 0.91 1.06 1.19 1.31 1.44 1.57 1.66 1.67 1.55 1.32 1.03 0.76 0.58 0.56 0.66 0.82 0.96 1.01 0.96 0.86 0.81 0.87 1.06 1.31 1.54 1.66 1.66 1.60 1.57 1.63 1.79 1.99 2.16 2.23 2.20 2.08 1.93 1.77 1.62 1.45 1.23 0.96 0.64 0.29 0.00 0.00 0.00 0.00 0.00 0.00 22.5 + 25.0 0.00 0.04 0.09 0.16 0.29 0.51 0.77 0.97 1.02 0.90 0.67 0.46 0.38 0.47 0.66 0.84 0.90 0.83 0.69 0.56 0.52 0.60 0.76 0.94 1.09 1.22 1.33 1.44 1.54 1.62 1.62 1.53 1.33 1.08 0.81 0.62 0.54 0.58 0.71 0.86 0.96 0.98 0.95 0.95 1.04 1.25 1.52 1.78 1.95 1.99 1.94 1.88 1.88 1.98 2.14 2.28 2.33 2.26 2.07 1.82 1.57 1.35 1.16 0.98 0.77 0.51 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.09 0.16 0.29 0.51 0.77 0.97 1.02 0.90 0.67 0.46 0.38 0.47 0.66 0.84 0.90 0.83 0.69 0.56 0.52 0.60 0.76 0.94 1.09 1.22 1.33 1.44 1.54 1.62 1.62 1.53 1.33 1.08 0.81 0.62 0.54 0.58 0.71 0.86 0.96 0.98 0.95 0.95 1.04 1.25 1.52 1.78 1.95 1.99 1.94 1.88 1.88 1.98 2.14 2.28 2.33 2.26 2.07 1.82 1.57 1.35 1.16 0.98 0.77 0.51 0.21 0.00 0.00 0.00 0.00 0.00 0.00 25.0 + 27.5 0.02 0.15 0.21 0.26 0.37 0.58 0.86 1.10 1.19 1.11 0.90 0.67 0.56 0.61 0.77 0.93 1.00 0.94 0.80 0.65 0.58 0.62 0.74 0.89 1.02 1.13 1.21 1.29 1.35 1.40 1.41 1.35 1.22 1.04 0.83 0.66 0.55 0.56 0.66 0.83 0.99 1.11 1.18 1.27 1.42 1.67 2.01 2.35 2.61 2.73 2.70 2.61 2.54 2.53 2.58 2.63 2.61 2.46 2.18 1.82 1.47 1.18 0.97 0.82 0.67 0.46 0.20 0.00 0.00 0.00 0.00 0.00 0.02 0.15 0.21 0.26 0.37 0.58 0.86 1.10 1.19 1.11 0.90 0.67 0.56 0.61 0.77 0.93 1.00 0.94 0.80 0.65 0.58 0.62 0.74 0.89 1.02 1.13 1.21 1.29 1.35 1.40 1.41 1.35 1.22 1.04 0.83 0.66 0.55 0.56 0.66 0.83 0.99 1.11 1.18 1.27 1.42 1.67 2.01 2.35 2.61 2.73 2.70 2.61 2.54 2.53 2.58 2.63 2.61 2.46 2.18 1.82 1.47 1.18 0.97 0.82 0.67 0.46 0.20 0.00 0.00 0.00 0.00 0.00 0.02 27.5 + 30.0 0.17 0.32 0.37 0.38 0.44 0.61 0.86 1.10 1.23 1.19 1.00 0.78 0.65 0.67 0.80 0.96 1.04 1.00 0.86 0.71 0.61 0.59 0.65 0.74 0.83 0.90 0.94 0.98 1.01 1.03 1.04 1.04 1.01 0.94 0.84 0.72 0.63 0.62 0.71 0.89 1.11 1.33 1.52 1.70 1.94 2.27 2.70 3.15 3.54 3.76 3.80 3.69 3.52 3.37 3.27 3.18 3.04 2.78 2.40 1.94 1.49 1.14 0.91 0.77 0.67 0.51 0.27 0.00 0.00 0.00 0.00 0.00 0.17 0.32 0.37 0.38 0.44 0.61 0.86 1.10 1.23 1.19 1.00 0.78 0.65 0.67 0.80 0.96 1.04 1.00 0.86 0.71 0.61 0.59 0.65 0.74 0.83 0.90 0.94 0.98 1.01 1.03 1.04 1.04 1.01 0.94 0.84 0.72 0.63 0.62 0.71 0.89 1.11 1.33 1.52 1.70 1.94 2.27 2.70 3.15 3.54 3.76 3.80 3.69 3.52 3.37 3.27 3.18 3.04 2.78 2.40 1.94 1.49 1.14 0.91 0.77 0.67 0.51 0.27 0.00 0.00 0.00 0.00 0.00 0.17 30.0 + 32.5 0.35 0.50 0.52 0.48 0.47 0.56 0.77 1.00 1.15 1.14 0.98 0.77 0.63 0.63 0.74 0.90 0.99 0.98 0.86 0.71 0.57 0.50 0.50 0.52 0.56 0.59 0.60 0.61 0.61 0.62 0.65 0.71 0.78 0.84 0.86 0.84 0.79 0.77 0.84 1.02 1.29 1.58 1.86 2.13 2.43 2.82 3.33 3.90 4.41 4.76 4.87 4.77 4.52 4.24 3.98 3.75 3.49 3.14 2.67 2.13 1.62 1.22 0.98 0.86 0.77 0.64 0.42 0.14 0.00 0.00 0.00 0.12 0.35 0.50 0.52 0.48 0.47 0.56 0.77 1.00 1.15 1.14 0.98 0.77 0.63 0.63 0.74 0.90 0.99 0.98 0.86 0.71 0.57 0.50 0.50 0.52 0.56 0.59 0.60 0.61 0.61 0.62 0.65 0.71 0.78 0.84 0.86 0.84 0.79 0.77 0.84 1.02 1.29 1.58 1.86 2.13 2.43 2.82 3.33 3.90 4.41 4.76 4.87 4.77 4.52 4.24 3.98 3.75 3.49 3.14 2.67 2.13 1.62 1.22 0.98 0.86 0.77 0.64 0.42 0.14 0.00 0.00 0.00 0.12 0.35 32.5 + 35.0 0.50 0.63 0.62 0.53 0.45 0.48 0.63 0.84 1.00 1.02 0.89 0.69 0.54 0.51 0.60 0.75 0.87 0.88 0.80 0.65 0.50 0.38 0.32 0.30 0.30 0.31 0.32 0.31 0.31 0.31 0.37 0.48 0.64 0.81 0.94 0.99 0.98 0.95 1.00 1.16 1.42 1.75 2.06 2.36 2.69 3.09 3.63 4.26 4.87 5.33 5.52 5.45 5.16 4.80 4.43 4.10 3.77 3.36 2.87 2.31 1.78 1.38 1.14 1.04 0.98 0.86 0.63 0.35 0.10 0.00 0.07 0.27 0.50 0.63 0.62 0.53 0.45 0.48 0.63 0.84 1.00 1.02 0.89 0.69 0.54 0.51 0.60 0.75 0.87 0.88 0.80 0.65 0.50 0.38 0.32 0.30 0.30 0.31 0.32 0.31 0.31 0.31 0.37 0.48 0.64 0.81 0.94 0.99 0.98 0.95 1.00 1.16 1.42 1.75 2.06 2.36 2.69 3.09 3.63 4.26 4.87 5.33 5.52 5.45 5.16 4.80 4.43 4.10 3.77 3.36 2.87 2.31 1.78 1.38 1.14 1.04 0.98 0.86 0.63 0.35 0.10 0.00 0.07 0.27 0.50 35.0 + 37.5 0.57 0.68 0.65 0.52 0.39 0.38 0.50 0.70 0.87 0.91 0.80 0.60 0.43 0.37 0.43 0.58 0.71 0.76 0.71 0.58 0.42 0.28 0.19 0.15 0.15 0.17 0.20 0.21 0.21 0.22 0.29 0.42 0.63 0.86 1.05 1.14 1.13 1.09 1.09 1.21 1.44 1.74 2.04 2.31 2.59 2.94 3.43 4.05 4.69 5.21 5.47 5.44 5.17 4.78 4.38 4.03 3.70 3.32 2.87 2.37 1.89 1.53 1.32 1.25 1.22 1.11 0.90 0.60 0.33 0.18 0.21 0.38 0.57 0.68 0.65 0.52 0.39 0.38 0.50 0.70 0.87 0.91 0.80 0.60 0.43 0.37 0.43 0.58 0.71 0.76 0.71 0.58 0.42 0.28 0.19 0.15 0.15 0.17 0.20 0.21 0.21 0.22 0.29 0.42 0.63 0.86 1.05 1.14 1.13 1.09 1.09 1.21 1.44 1.74 2.04 2.31 2.59 2.94 3.43 4.05 4.69 5.21 5.47 5.44 5.17 4.78 4.38 4.03 3.70 3.32 2.87 2.37 1.89 1.53 1.32 1.25 1.22 1.11 0.90 0.60 0.33 0.18 0.21 0.38 0.57 37.5 + 40.0 0.60 0.68 0.63 0.49 0.36 0.33 0.43 0.63 0.81 0.87 0.77 0.56 0.36 0.26 0.29 0.42 0.58 0.67 0.65 0.54 0.38 0.24 0.15 0.12 0.15 0.21 0.27 0.30 0.32 0.33 0.39 0.52 0.71 0.94 1.12 1.21 1.18 1.11 1.07 1.13 1.32 1.56 1.79 1.98 2.15 2.38 2.76 3.30 3.90 4.42 4.71 4.72 4.50 4.14 3.79 3.49 3.24 2.96 2.62 2.23 1.85 1.56 1.42 1.40 1.41 1.34 1.15 0.86 0.56 0.37 0.35 0.46 0.60 0.68 0.63 0.49 0.36 0.33 0.43 0.63 0.81 0.87 0.77 0.56 0.36 0.26 0.29 0.42 0.58 0.67 0.65 0.54 0.38 0.24 0.15 0.12 0.15 0.21 0.27 0.30 0.32 0.33 0.39 0.52 0.71 0.94 1.12 1.21 1.18 1.11 1.07 1.13 1.32 1.56 1.79 1.98 2.15 2.38 2.76 3.30 3.90 4.42 4.71 4.72 4.50 4.14 3.79 3.49 3.24 2.96 2.62 2.23 1.85 1.56 1.42 1.40 1.41 1.34 1.15 0.86 0.56 0.37 0.35 0.46 0.60 40.0 + 42.5 0.64 0.70 0.65 0.52 0.39 0.37 0.47 0.67 0.86 0.93 0.83 0.60 0.36 0.21 0.21 0.34 0.51 0.63 0.64 0.55 0.41 0.28 0.21 0.22 0.28 0.38 0.46 0.51 0.53 0.53 0.57 0.66 0.81 0.98 1.11 1.14 1.08 0.98 0.91 0.94 1.08 1.26 1.40 1.48 1.51 1.61 1.84 2.24 2.75 3.22 3.50 3.54 3.36 3.08 2.80 2.60 2.47 2.33 2.14 1.88 1.61 1.42 1.36 1.40 1.47 1.47 1.33 1.07 0.78 0.56 0.49 0.54 0.64 0.70 0.65 0.52 0.39 0.37 0.47 0.67 0.86 0.93 0.83 0.60 0.36 0.21 0.21 0.34 0.51 0.63 0.64 0.55 0.41 0.28 0.21 0.22 0.28 0.38 0.46 0.51 0.53 0.53 0.57 0.66 0.81 0.98 1.11 1.14 1.08 0.98 0.91 0.94 1.08 1.26 1.40 1.48 1.51 1.61 1.84 2.24 2.75 3.22 3.50 3.54 3.36 3.08 2.80 2.60 2.47 2.33 2.14 1.88 1.61 1.42 1.36 1.40 1.47 1.47 1.33 1.07 0.78 0.56 0.49 0.54 0.64 42.5 + 45.0 0.74 0.79 0.76 0.66 0.55 0.53 0.64 0.84 1.02 1.09 0.98 0.73 0.45 0.26 0.22 0.33 0.51 0.65 0.69 0.62 0.49 0.39 0.35 0.39 0.49 0.59 0.67 0.70 0.69 0.68 0.68 0.74 0.83 0.93 0.97 0.94 0.85 0.74 0.68 0.71 0.82 0.94 1.01 0.98 0.90 0.85 0.94 1.21 1.60 1.98 2.23 2.27 2.13 1.90 1.70 1.60 1.58 1.58 1.52 1.39 1.23 1.12 1.12 1.22 1.36 1.43 1.38 1.19 0.95 0.74 0.64 0.66 0.74 0.79 0.76 0.66 0.55 0.53 0.64 0.84 1.02 1.09 0.98 0.73 0.45 0.26 0.22 0.33 0.51 0.65 0.69 0.62 0.49 0.39 0.35 0.39 0.49 0.59 0.67 0.70 0.69 0.68 0.68 0.74 0.83 0.93 0.97 0.94 0.85 0.74 0.68 0.71 0.82 0.94 1.01 0.98 0.90 0.85 0.94 1.21 1.60 1.98 2.23 2.27 2.13 1.90 1.70 1.60 1.58 1.58 1.52 1.39 1.23 1.12 1.12 1.22 1.36 1.43 1.38 1.19 0.95 0.74 0.64 0.66 0.74 45.0 + 47.5 0.90 0.98 0.98 0.92 0.85 0.84 0.94 1.13 1.30 1.36 1.24 0.97 0.66 0.42 0.35 0.43 0.59 0.72 0.76 0.69 0.58 0.50 0.50 0.57 0.67 0.76 0.80 0.78 0.73 0.68 0.67 0.70 0.75 0.77 0.76 0.68 0.57 0.48 0.46 0.52 0.63 0.72 0.72 0.62 0.45 0.32 0.30 0.46 0.74 1.03 1.22 1.23 1.10 0.91 0.76 0.73 0.79 0.88 0.92 0.88 0.79 0.73 0.77 0.90 1.09 1.24 1.28 1.19 1.02 0.86 0.78 0.81 0.90 0.98 0.98 0.92 0.85 0.84 0.94 1.13 1.30 1.36 1.24 0.97 0.66 0.42 0.35 0.43 0.59 0.72 0.76 0.69 0.58 0.50 0.50 0.57 0.67 0.76 0.80 0.78 0.73 0.68 0.67 0.70 0.75 0.77 0.76 0.68 0.57 0.48 0.46 0.52 0.63 0.72 0.72 0.62 0.45 0.32 0.30 0.46 0.74 1.03 1.22 1.23 1.10 0.91 0.76 0.73 0.79 0.88 0.92 0.88 0.79 0.73 0.77 0.90 1.09 1.24 1.28 1.19 1.02 0.86 0.78 0.81 0.90 47.5 + 50.0 1.06 1.19 1.26 1.26 1.23 1.24 1.35 1.52 1.69 1.74 1.62 1.35 1.02 0.75 0.62 0.65 0.75 0.83 0.84 0.76 0.65 0.59 0.61 0.70 0.80 0.85 0.82 0.73 0.63 0.55 0.54 0.56 0.59 0.58 0.52 0.43 0.33 0.29 0.31 0.41 0.53 0.61 0.58 0.45 0.24 0.06 0.00 0.08 0.27 0.49 0.61 0.60 0.45 0.27 0.14 0.12 0.22 0.36 0.46 0.47 0.42 0.37 0.40 0.53 0.73 0.93 1.04 1.05 0.97 0.88 0.86 0.93 1.06 1.19 1.26 1.26 1.23 1.24 1.35 1.52 1.69 1.74 1.62 1.35 1.02 0.75 0.62 0.65 0.75 0.83 0.84 0.76 0.65 0.59 0.61 0.70 0.80 0.85 0.82 0.73 0.63 0.55 0.54 0.56 0.59 0.58 0.52 0.43 0.33 0.29 0.31 0.41 0.53 0.61 0.58 0.45 0.24 0.06 0.00 0.08 0.27 0.49 0.61 0.60 0.45 0.27 0.14 0.12 0.22 0.36 0.46 0.47 0.42 0.37 0.40 0.53 0.73 0.93 1.04 1.05 0.97 0.88 0.86 0.93 1.06 50.0 + 52.5 1.13 1.34 1.49 1.57 1.61 1.68 1.80 1.98 2.16 2.22 2.13 1.87 1.54 1.25 1.06 1.00 1.01 1.01 0.95 0.82 0.70 0.65 0.69 0.79 0.87 0.88 0.78 0.63 0.48 0.39 0.37 0.40 0.43 0.42 0.35 0.26 0.20 0.19 0.26 0.38 0.50 0.57 0.54 0.40 0.21 0.03 0.00 0.00 0.12 0.28 0.37 0.33 0.17 0.00 0.00 0.00 0.00 0.07 0.19 0.23 0.19 0.13 0.12 0.21 0.38 0.57 0.72 0.79 0.78 0.77 0.81 0.94 1.13 1.34 1.49 1.57 1.61 1.68 1.80 1.98 2.16 2.22 2.13 1.87 1.54 1.25 1.06 1.00 1.01 1.01 0.95 0.82 0.70 0.65 0.69 0.79 0.87 0.88 0.78 0.63 0.48 0.39 0.37 0.40 0.43 0.42 0.35 0.26 0.20 0.19 0.26 0.38 0.50 0.57 0.54 0.40 0.21 0.03 0.00 0.00 0.12 0.28 0.37 0.33 0.17 0.00 0.00 0.00 0.00 0.07 0.19 0.23 0.19 0.13 0.12 0.21 0.38 0.57 0.72 0.79 0.78 0.77 0.81 0.94 1.13 52.5 + 55.0 1.05 1.33 1.58 1.77 1.90 2.04 2.22 2.44 2.64 2.75 2.71 2.51 2.21 1.91 1.67 1.52 1.42 1.30 1.15 0.96 0.81 0.75 0.79 0.88 0.94 0.91 0.77 0.57 0.39 0.28 0.27 0.30 0.34 0.33 0.28 0.20 0.16 0.18 0.26 0.37 0.48 0.54 0.51 0.40 0.24 0.09 0.01 0.02 0.12 0.24 0.30 0.27 0.13 0.00 0.00 0.00 0.00 0.00 0.09 0.15 0.11 0.03 0.00 0.00 0.08 0.23 0.37 0.46 0.50 0.53 0.62 0.80 1.05 1.33 1.58 1.77 1.90 2.04 2.22 2.44 2.64 2.75 2.71 2.51 2.21 1.91 1.67 1.52 1.42 1.30 1.15 0.96 0.81 0.75 0.79 0.88 0.94 0.91 0.77 0.57 0.39 0.28 0.27 0.30 0.34 0.33 0.28 0.20 0.16 0.18 0.26 0.37 0.48 0.54 0.51 0.40 0.24 0.09 0.01 0.02 0.12 0.24 0.30 0.27 0.13 0.00 0.00 0.00 0.00 0.00 0.09 0.15 0.11 0.03 0.00 0.00 0.08 0.23 0.37 0.46 0.50 0.53 0.62 0.80 1.05 55.0 + 57.5 0.82 1.17 1.50 1.79 2.03 2.26 2.51 2.78 3.04 3.22 3.26 3.15 2.92 2.65 2.40 2.18 1.97 1.75 1.50 1.25 1.05 0.96 0.97 1.03 1.07 1.01 0.84 0.63 0.43 0.31 0.28 0.31 0.34 0.33 0.28 0.22 0.19 0.20 0.26 0.34 0.41 0.44 0.42 0.35 0.24 0.12 0.05 0.04 0.10 0.19 0.26 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.07 0.14 0.12 0.01 0.00 0.00 0.00 0.00 0.06 0.13 0.17 0.22 0.32 0.53 0.82 1.17 1.50 1.79 2.03 2.26 2.51 2.78 3.04 3.22 3.26 3.15 2.92 2.65 2.40 2.18 1.97 1.75 1.50 1.25 1.05 0.96 0.97 1.03 1.07 1.01 0.84 0.63 0.43 0.31 0.28 0.31 0.34 0.33 0.28 0.22 0.19 0.20 0.26 0.34 0.41 0.44 0.42 0.35 0.24 0.12 0.05 0.04 0.10 0.19 0.26 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.07 0.14 0.12 0.01 0.00 0.00 0.00 0.00 0.06 0.13 0.17 0.22 0.32 0.53 0.82 57.5 + 60.0 0.54 0.91 1.30 1.66 1.99 2.30 2.61 2.94 3.26 3.51 3.64 3.64 3.52 3.33 3.12 2.88 2.63 2.34 2.03 1.72 1.47 1.33 1.28 1.29 1.28 1.19 1.01 0.80 0.60 0.47 0.41 0.41 0.40 0.38 0.33 0.27 0.23 0.22 0.23 0.24 0.26 0.27 0.26 0.23 0.16 0.08 0.00 0.00 0.00 0.06 0.15 0.19 0.15 0.03 0.00 0.00 0.00 0.00 0.04 0.12 0.12 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.23 0.54 0.91 1.30 1.66 1.99 2.30 2.61 2.94 3.26 3.51 3.64 3.64 3.52 3.33 3.12 2.88 2.63 2.34 2.03 1.72 1.47 1.33 1.28 1.29 1.28 1.19 1.01 0.80 0.60 0.47 0.41 0.41 0.40 0.38 0.33 0.27 0.23 0.22 0.23 0.24 0.26 0.27 0.26 0.23 0.16 0.08 0.00 0.00 0.00 0.06 0.15 0.19 0.15 0.03 0.00 0.00 0.00 0.00 0.04 0.12 0.12 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.23 0.54 60.0 + 62.5 0.31 0.68 1.07 1.46 1.82 2.17 2.52 2.87 3.22 3.52 3.74 3.86 3.87 3.81 3.68 3.51 3.28 2.99 2.66 2.33 2.04 1.83 1.71 1.64 1.56 1.43 1.25 1.04 0.84 0.70 0.61 0.55 0.50 0.43 0.36 0.29 0.24 0.19 0.15 0.12 0.08 0.07 0.07 0.07 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.09 0.01 0.00 0.00 0.00 0.00 0.00 0.04 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.31 0.68 1.07 1.46 1.82 2.17 2.52 2.87 3.22 3.52 3.74 3.86 3.87 3.81 3.68 3.51 3.28 2.99 2.66 2.33 2.04 1.83 1.71 1.64 1.56 1.43 1.25 1.04 0.84 0.70 0.61 0.55 0.50 0.43 0.36 0.29 0.24 0.19 0.15 0.12 0.08 0.07 0.07 0.07 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.09 0.01 0.00 0.00 0.00 0.00 0.00 0.04 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.31 62.5 + 65.0 0.26 0.58 0.94 1.29 1.62 1.94 2.27 2.60 2.94 3.25 3.52 3.73 3.88 3.96 3.97 3.91 3.77 3.55 3.27 2.96 2.65 2.39 2.19 2.03 1.87 1.70 1.50 1.30 1.11 0.95 0.82 0.70 0.59 0.47 0.36 0.27 0.19 0.13 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.26 0.58 0.94 1.29 1.62 1.94 2.27 2.60 2.94 3.25 3.52 3.73 3.88 3.96 3.97 3.91 3.77 3.55 3.27 2.96 2.65 2.39 2.19 2.03 1.87 1.70 1.50 1.30 1.11 0.95 0.82 0.70 0.59 0.47 0.36 0.27 0.19 0.13 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.26 65.0 + 67.5 0.41 0.68 0.96 1.22 1.47 1.71 1.95 2.21 2.48 2.76 3.04 3.30 3.55 3.75 3.91 3.99 3.98 3.88 3.70 3.45 3.17 2.89 2.62 2.38 2.16 1.95 1.74 1.55 1.37 1.20 1.04 0.86 0.67 0.49 0.33 0.20 0.11 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.18 0.41 0.68 0.96 1.22 1.47 1.71 1.95 2.21 2.48 2.76 3.04 3.30 3.55 3.75 3.91 3.99 3.98 3.88 3.70 3.45 3.17 2.89 2.62 2.38 2.16 1.95 1.74 1.55 1.37 1.20 1.04 0.86 0.67 0.49 0.33 0.20 0.11 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.18 0.41 67.5 + 70.0 0.72 0.93 1.13 1.28 1.41 1.53 1.65 1.80 1.97 2.18 2.42 2.69 2.98 3.26 3.52 3.73 3.85 3.88 3.82 3.67 3.46 3.20 2.92 2.64 2.38 2.15 1.95 1.78 1.62 1.46 1.27 1.04 0.79 0.53 0.30 0.13 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.11 0.20 0.33 0.51 0.72 0.93 1.13 1.28 1.41 1.53 1.65 1.80 1.97 2.18 2.42 2.69 2.98 3.26 3.52 3.73 3.85 3.88 3.82 3.67 3.46 3.20 2.92 2.64 2.38 2.15 1.95 1.78 1.62 1.46 1.27 1.04 0.79 0.53 0.30 0.13 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.11 0.20 0.33 0.51 0.72 70.0 + 72.5 1.08 1.25 1.37 1.42 1.43 1.41 1.40 1.43 1.49 1.62 1.80 2.04 2.32 2.63 2.92 3.19 3.39 3.53 3.59 3.57 3.45 3.25 3.01 2.74 2.50 2.29 2.13 2.00 1.88 1.73 1.53 1.26 0.95 0.63 0.34 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.27 0.23 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.01 0.00 0.03 0.09 0.19 0.29 0.40 0.53 0.69 0.88 1.08 1.25 1.37 1.42 1.43 1.41 1.40 1.43 1.49 1.62 1.80 2.04 2.32 2.63 2.92 3.19 3.39 3.53 3.59 3.57 3.45 3.25 3.01 2.74 2.50 2.29 2.13 2.00 1.88 1.73 1.53 1.26 0.95 0.63 0.34 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.27 0.23 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.01 0.00 0.03 0.09 0.19 0.29 0.40 0.53 0.69 0.88 1.08 72.5 + 75.0 1.37 1.52 1.58 1.56 1.47 1.34 1.22 1.13 1.11 1.17 1.30 1.49 1.73 1.99 2.24 2.49 2.71 2.92 3.07 3.16 3.15 3.04 2.87 2.66 2.47 2.33 2.25 2.19 2.12 2.00 1.80 1.51 1.17 0.81 0.48 0.22 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.26 0.43 0.52 0.46 0.29 0.08 0.00 0.00 0.00 0.11 0.21 0.25 0.23 0.21 0.23 0.30 0.41 0.54 0.67 0.82 0.99 1.19 1.37 1.52 1.58 1.56 1.47 1.34 1.22 1.13 1.11 1.17 1.30 1.49 1.73 1.99 2.24 2.49 2.71 2.92 3.07 3.16 3.15 3.04 2.87 2.66 2.47 2.33 2.25 2.19 2.12 2.00 1.80 1.51 1.17 0.81 0.48 0.22 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.26 0.43 0.52 0.46 0.29 0.08 0.00 0.00 0.00 0.11 0.21 0.25 0.23 0.21 0.23 0.30 0.41 0.54 0.67 0.82 0.99 1.19 1.37 75.0 + 77.5 1.54 1.66 1.70 1.63 1.48 1.28 1.07 0.91 0.83 0.85 0.95 1.11 1.29 1.46 1.60 1.76 1.94 2.15 2.37 2.55 2.64 2.62 2.51 2.38 2.27 2.24 2.26 2.29 2.29 2.21 2.02 1.75 1.41 1.07 0.75 0.49 0.27 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.13 0.29 0.50 0.68 0.76 0.69 0.50 0.28 0.15 0.15 0.26 0.41 0.51 0.52 0.47 0.41 0.40 0.47 0.59 0.74 0.88 1.03 1.20 1.37 1.54 1.66 1.70 1.63 1.48 1.28 1.07 0.91 0.83 0.85 0.95 1.11 1.29 1.46 1.60 1.76 1.94 2.15 2.37 2.55 2.64 2.62 2.51 2.38 2.27 2.24 2.26 2.29 2.29 2.21 2.02 1.75 1.41 1.07 0.75 0.49 0.27 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.13 0.29 0.50 0.68 0.76 0.69 0.50 0.28 0.15 0.15 0.26 0.41 0.51 0.52 0.47 0.41 0.40 0.47 0.59 0.74 0.88 1.03 1.20 1.37 1.54 77.5 + 80.0 1.56 1.66 1.69 1.62 1.44 1.19 0.93 0.72 0.62 0.64 0.75 0.90 1.02 1.08 1.09 1.10 1.19 1.37 1.62 1.86 2.02 2.07 2.01 1.94 1.92 1.98 2.11 2.25 2.32 2.28 2.13 1.89 1.63 1.37 1.13 0.91 0.69 0.44 0.18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.10 0.21 0.40 0.64 0.84 0.92 0.84 0.62 0.40 0.29 0.33 0.49 0.68 0.78 0.76 0.65 0.53 0.49 0.55 0.69 0.86 1.02 1.16 1.29 1.42 1.56 1.66 1.69 1.62 1.44 1.19 0.93 0.72 0.62 0.64 0.75 0.90 1.02 1.08 1.09 1.10 1.19 1.37 1.62 1.86 2.02 2.07 2.01 1.94 1.92 1.98 2.11 2.25 2.32 2.28 2.13 1.89 1.63 1.37 1.13 0.91 0.69 0.44 0.18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.10 0.21 0.40 0.64 0.84 0.92 0.84 0.62 0.40 0.29 0.33 0.49 0.68 0.78 0.76 0.65 0.53 0.49 0.55 0.69 0.86 1.02 1.16 1.29 1.42 1.56 80.0 + 82.5 1.48 1.57 1.60 1.53 1.35 1.08 0.78 0.55 0.45 0.49 0.65 0.81 0.89 0.85 0.72 0.60 0.58 0.71 0.96 1.24 1.43 1.50 1.46 1.41 1.44 1.58 1.80 2.02 2.15 2.15 2.05 1.89 1.74 1.63 1.54 1.43 1.24 0.95 0.57 0.19 0.00 0.00 0.00 0.00 0.00 0.03 0.07 0.10 0.20 0.40 0.65 0.87 0.95 0.85 0.62 0.40 0.30 0.39 0.61 0.84 0.95 0.89 0.72 0.55 0.47 0.53 0.70 0.90 1.08 1.21 1.30 1.39 1.48 1.57 1.60 1.53 1.35 1.08 0.78 0.55 0.45 0.49 0.65 0.81 0.89 0.85 0.72 0.60 0.58 0.71 0.96 1.24 1.43 1.50 1.46 1.41 1.44 1.58 1.80 2.02 2.15 2.15 2.05 1.89 1.74 1.63 1.54 1.43 1.24 0.95 0.57 0.19 0.00 0.00 0.00 0.00 0.00 0.03 0.07 0.10 0.20 0.40 0.65 0.87 0.95 0.85 0.62 0.40 0.30 0.39 0.61 0.84 0.95 0.89 0.72 0.55 0.47 0.53 0.70 0.90 1.08 1.21 1.30 1.39 1.48 82.5 + 85.0 1.36 1.43 1.47 1.42 1.25 0.97 0.66 0.41 0.31 0.40 0.59 0.79 0.86 0.75 0.51 0.27 0.15 0.24 0.49 0.77 0.97 1.02 0.96 0.89 0.93 1.11 1.38 1.64 1.80 1.82 1.76 1.68 1.68 1.76 1.88 1.93 1.82 1.52 1.07 0.58 0.18 0.00 0.00 0.00 0.09 0.13 0.11 0.08 0.14 0.31 0.57 0.79 0.87 0.75 0.50 0.27 0.20 0.34 0.61 0.88 1.01 0.93 0.72 0.49 0.38 0.45 0.65 0.89 1.10 1.22 1.28 1.31 1.36 1.43 1.47 1.42 1.25 0.97 0.66 0.41 0.31 0.40 0.59 0.79 0.86 0.75 0.51 0.27 0.15 0.24 0.49 0.77 0.97 1.02 0.96 0.89 0.93 1.11 1.38 1.64 1.80 1.82 1.76 1.68 1.68 1.76 1.88 1.93 1.82 1.52 1.07 0.58 0.18 0.00 0.00 0.00 0.09 0.13 0.11 0.08 0.14 0.31 0.57 0.79 0.87 0.75 0.50 0.27 0.20 0.34 0.61 0.88 1.01 0.93 0.72 0.49 0.38 0.45 0.65 0.89 1.10 1.22 1.28 1.31 1.36 85.0 + 87.5 1.26 1.31 1.35 1.32 1.16 0.89 0.57 0.32 0.23 0.34 0.58 0.81 0.88 0.73 0.43 0.11 0.00 0.00 0.24 0.53 0.71 0.72 0.61 0.50 0.49 0.65 0.92 1.17 1.32 1.34 1.30 1.31 1.44 1.71 2.02 2.25 2.26 2.01 1.56 1.04 0.59 0.33 0.27 0.32 0.38 0.36 0.25 0.13 0.11 0.24 0.47 0.67 0.73 0.59 0.33 0.10 0.04 0.22 0.54 0.85 0.99 0.90 0.66 0.40 0.28 0.35 0.58 0.87 1.10 1.23 1.26 1.25 1.26 1.31 1.35 1.32 1.16 0.89 0.57 0.32 0.23 0.34 0.58 0.81 0.88 0.73 0.43 0.11 0.00 0.00 0.24 0.53 0.71 0.72 0.61 0.50 0.49 0.65 0.92 1.17 1.32 1.34 1.30 1.31 1.44 1.71 2.02 2.25 2.26 2.01 1.56 1.04 0.59 0.33 0.27 0.32 0.38 0.36 0.25 0.13 0.11 0.24 0.47 0.67 0.73 0.59 0.33 0.10 0.04 0.22 0.54 0.85 0.99 0.90 0.66 0.40 0.28 0.35 0.58 0.87 1.10 1.23 1.26 1.25 1.26 87.5 + 90.0 1.22 1.24 1.28 1.25 1.12 0.86 0.55 0.30 0.22 0.34 0.61 0.85 0.93 0.78 0.46 0.12 0.00 0.00 0.21 0.49 0.65 0.62 0.45 0.28 0.22 0.31 0.52 0.71 0.81 0.80 0.77 0.82 1.05 1.45 1.91 2.28 2.42 2.28 1.91 1.45 1.05 0.82 0.77 0.80 0.81 0.71 0.52 0.31 0.22 0.28 0.45 0.62 0.65 0.49 0.21 0.00 0.00 0.12 0.46 0.78 0.93 0.85 0.61 0.34 0.22 0.30 0.55 0.86 1.12 1.25 1.28 1.24 1.22 1.24 1.28 1.25 1.12 0.86 0.55 0.30 0.22 0.34 0.61 0.85 0.93 0.78 0.46 0.12 0.00 0.00 0.21 0.49 0.65 0.62 0.45 0.28 0.22 0.31 0.52 0.71 0.81 0.80 0.77 0.82 1.05 1.45 1.91 2.28 2.42 2.28 1.91 1.45 1.05 0.82 0.77 0.80 0.81 0.71 0.52 0.31 0.22 0.28 0.45 0.62 0.65 0.49 0.21 0.00 0.00 0.12 0.46 0.78 0.93 0.85 0.61 0.34 0.22 0.30 0.55 0.86 1.12 1.25 1.28 1.24 1.22 90.0 + + 25.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.30 ) PHI2 = 25. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.0 + 2.5 0.39 0.36 0.36 0.35 0.26 0.08 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.40 0.39 0.41 0.50 0.65 0.84 1.05 1.27 1.51 1.76 1.99 2.16 2.24 2.19 2.04 1.83 1.59 1.35 1.13 0.91 0.71 0.55 0.45 0.41 0.40 0.37 0.25 0.05 0.00 0.00 0.00 0.00 0.00 0.04 0.23 0.33 0.36 0.38 0.43 0.54 0.72 0.92 1.14 1.37 1.61 1.86 2.09 2.25 2.30 2.22 2.03 1.79 1.53 1.29 1.06 0.85 0.65 0.49 0.39 0.36 0.36 0.35 0.26 0.08 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.40 0.39 0.41 0.50 0.65 0.84 1.05 1.27 1.51 1.76 1.99 2.16 2.24 2.19 2.04 1.83 1.59 1.35 1.13 0.91 0.71 0.55 0.45 0.41 0.40 0.37 0.25 0.05 0.00 0.00 0.00 0.00 0.00 0.04 0.23 0.33 0.36 0.38 0.43 0.54 0.72 0.92 1.14 1.37 1.61 1.86 2.09 2.25 2.30 2.22 2.03 1.79 1.53 1.29 1.06 0.85 0.65 0.49 0.39 2.5 + 5.0 0.28 0.28 0.33 0.37 0.35 0.25 0.07 0.00 0.00 0.00 0.05 0.25 0.42 0.50 0.48 0.42 0.38 0.41 0.51 0.67 0.88 1.12 1.38 1.65 1.91 2.12 2.23 2.23 2.11 1.90 1.66 1.40 1.15 0.92 0.72 0.59 0.51 0.50 0.50 0.46 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.15 0.30 0.37 0.38 0.40 0.46 0.59 0.78 0.99 1.23 1.48 1.76 2.03 2.28 2.43 2.44 2.31 2.06 1.75 1.44 1.16 0.91 0.70 0.51 0.36 0.28 0.28 0.33 0.37 0.35 0.25 0.07 0.00 0.00 0.00 0.05 0.25 0.42 0.50 0.48 0.42 0.38 0.41 0.51 0.67 0.88 1.12 1.38 1.65 1.91 2.12 2.23 2.23 2.11 1.90 1.66 1.40 1.15 0.92 0.72 0.59 0.51 0.50 0.50 0.46 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.15 0.30 0.37 0.38 0.40 0.46 0.59 0.78 0.99 1.23 1.48 1.76 2.03 2.28 2.43 2.44 2.31 2.06 1.75 1.44 1.16 0.91 0.70 0.51 0.36 0.28 5.0 + 7.5 0.18 0.21 0.30 0.40 0.46 0.43 0.33 0.20 0.12 0.14 0.26 0.43 0.57 0.63 0.59 0.48 0.37 0.32 0.36 0.49 0.69 0.94 1.22 1.50 1.78 2.01 2.17 2.21 2.14 1.96 1.71 1.43 1.15 0.91 0.74 0.64 0.62 0.64 0.66 0.62 0.50 0.32 0.12 0.00 0.00 0.10 0.26 0.42 0.51 0.54 0.54 0.56 0.63 0.77 0.95 1.17 1.40 1.67 1.96 2.26 2.50 2.63 2.59 2.38 2.05 1.67 1.30 0.98 0.73 0.52 0.35 0.23 0.18 0.21 0.30 0.40 0.46 0.43 0.33 0.20 0.12 0.14 0.26 0.43 0.57 0.63 0.59 0.48 0.37 0.32 0.36 0.49 0.69 0.94 1.22 1.50 1.78 2.01 2.17 2.21 2.14 1.96 1.71 1.43 1.15 0.91 0.74 0.64 0.62 0.64 0.66 0.62 0.50 0.32 0.12 0.00 0.00 0.10 0.26 0.42 0.51 0.54 0.54 0.56 0.63 0.77 0.95 1.17 1.40 1.67 1.96 2.26 2.50 2.63 2.59 2.38 2.05 1.67 1.30 0.98 0.73 0.52 0.35 0.23 0.18 7.5 + 10.0 0.13 0.17 0.29 0.43 0.54 0.58 0.53 0.43 0.33 0.31 0.38 0.52 0.66 0.73 0.69 0.56 0.40 0.29 0.27 0.37 0.55 0.80 1.06 1.34 1.60 1.84 2.02 2.11 2.08 1.94 1.70 1.41 1.12 0.89 0.74 0.71 0.75 0.83 0.88 0.85 0.73 0.57 0.42 0.36 0.41 0.55 0.72 0.85 0.90 0.89 0.87 0.89 0.97 1.11 1.28 1.46 1.66 1.90 2.18 2.45 2.67 2.75 2.64 2.36 1.96 1.52 1.11 0.79 0.54 0.37 0.24 0.15 0.13 0.17 0.29 0.43 0.54 0.58 0.53 0.43 0.33 0.31 0.38 0.52 0.66 0.73 0.69 0.56 0.40 0.29 0.27 0.37 0.55 0.80 1.06 1.34 1.60 1.84 2.02 2.11 2.08 1.94 1.70 1.41 1.12 0.89 0.74 0.71 0.75 0.83 0.88 0.85 0.73 0.57 0.42 0.36 0.41 0.55 0.72 0.85 0.90 0.89 0.87 0.89 0.97 1.11 1.28 1.46 1.66 1.90 2.18 2.45 2.67 2.75 2.64 2.36 1.96 1.52 1.11 0.79 0.54 0.37 0.24 0.15 0.13 10.0 + 12.5 0.13 0.18 0.29 0.43 0.57 0.64 0.63 0.54 0.42 0.35 0.38 0.49 0.64 0.75 0.75 0.64 0.47 0.33 0.27 0.33 0.49 0.71 0.95 1.19 1.41 1.63 1.81 1.94 1.96 1.86 1.65 1.36 1.07 0.85 0.74 0.76 0.88 1.01 1.10 1.09 0.98 0.84 0.73 0.73 0.85 1.04 1.22 1.33 1.36 1.32 1.30 1.32 1.41 1.54 1.68 1.81 1.95 2.13 2.34 2.56 2.71 2.72 2.55 2.20 1.76 1.29 0.89 0.59 0.39 0.27 0.19 0.14 0.13 0.18 0.29 0.43 0.57 0.64 0.63 0.54 0.42 0.35 0.38 0.49 0.64 0.75 0.75 0.64 0.47 0.33 0.27 0.33 0.49 0.71 0.95 1.19 1.41 1.63 1.81 1.94 1.96 1.86 1.65 1.36 1.07 0.85 0.74 0.76 0.88 1.01 1.10 1.09 0.98 0.84 0.73 0.73 0.85 1.04 1.22 1.33 1.36 1.32 1.30 1.32 1.41 1.54 1.68 1.81 1.95 2.13 2.34 2.56 2.71 2.72 2.55 2.20 1.76 1.29 0.89 0.59 0.39 0.27 0.19 0.14 0.13 12.5 + 15.0 0.17 0.20 0.28 0.41 0.55 0.64 0.65 0.57 0.42 0.31 0.28 0.37 0.54 0.70 0.76 0.71 0.56 0.41 0.33 0.36 0.50 0.69 0.89 1.08 1.25 1.43 1.61 1.76 1.82 1.77 1.59 1.32 1.03 0.82 0.73 0.79 0.95 1.14 1.26 1.26 1.17 1.04 0.96 1.01 1.18 1.41 1.61 1.71 1.72 1.67 1.65 1.68 1.79 1.92 2.03 2.12 2.19 2.28 2.40 2.53 2.59 2.52 2.29 1.92 1.46 1.02 0.65 0.39 0.25 0.19 0.17 0.16 0.17 0.20 0.28 0.41 0.55 0.64 0.65 0.57 0.42 0.31 0.28 0.37 0.54 0.70 0.76 0.71 0.56 0.41 0.33 0.36 0.50 0.69 0.89 1.08 1.25 1.43 1.61 1.76 1.82 1.77 1.59 1.32 1.03 0.82 0.73 0.79 0.95 1.14 1.26 1.26 1.17 1.04 0.96 1.01 1.18 1.41 1.61 1.71 1.72 1.67 1.65 1.68 1.79 1.92 2.03 2.12 2.19 2.28 2.40 2.53 2.59 2.52 2.29 1.92 1.46 1.02 0.65 0.39 0.25 0.19 0.17 0.16 0.17 15.0 + 17.5 0.17 0.19 0.25 0.36 0.50 0.63 0.66 0.59 0.43 0.26 0.19 0.24 0.41 0.61 0.74 0.74 0.63 0.49 0.40 0.42 0.53 0.70 0.87 1.02 1.16 1.32 1.49 1.64 1.74 1.72 1.57 1.32 1.03 0.81 0.71 0.77 0.95 1.15 1.29 1.31 1.23 1.12 1.06 1.13 1.32 1.56 1.77 1.87 1.86 1.81 1.78 1.83 1.96 2.10 2.22 2.29 2.31 2.32 2.34 2.36 2.32 2.19 1.92 1.56 1.13 0.72 0.40 0.19 0.11 0.10 0.13 0.16 0.17 0.19 0.25 0.36 0.50 0.63 0.66 0.59 0.43 0.26 0.19 0.24 0.41 0.61 0.74 0.74 0.63 0.49 0.40 0.42 0.53 0.70 0.87 1.02 1.16 1.32 1.49 1.64 1.74 1.72 1.57 1.32 1.03 0.81 0.71 0.77 0.95 1.15 1.29 1.31 1.23 1.12 1.06 1.13 1.32 1.56 1.77 1.87 1.86 1.81 1.78 1.83 1.96 2.10 2.22 2.29 2.31 2.32 2.34 2.36 2.32 2.19 1.92 1.56 1.13 0.72 0.40 0.19 0.11 0.10 0.13 0.16 0.17 17.5 + 20.0 0.12 0.15 0.20 0.31 0.47 0.62 0.71 0.66 0.50 0.30 0.17 0.18 0.32 0.53 0.70 0.74 0.67 0.54 0.45 0.45 0.56 0.71 0.88 1.02 1.15 1.29 1.45 1.62 1.73 1.73 1.60 1.36 1.07 0.83 0.70 0.72 0.86 1.05 1.20 1.24 1.18 1.09 1.05 1.12 1.31 1.55 1.75 1.85 1.84 1.78 1.74 1.80 1.93 2.10 2.24 2.32 2.31 2.26 2.18 2.09 1.96 1.78 1.51 1.18 0.81 0.45 0.17 0.00 0.00 0.00 0.02 0.09 0.12 0.15 0.20 0.31 0.47 0.62 0.71 0.66 0.50 0.30 0.17 0.18 0.32 0.53 0.70 0.74 0.67 0.54 0.45 0.45 0.56 0.71 0.88 1.02 1.15 1.29 1.45 1.62 1.73 1.73 1.60 1.36 1.07 0.83 0.70 0.72 0.86 1.05 1.20 1.24 1.18 1.09 1.05 1.12 1.31 1.55 1.75 1.85 1.84 1.78 1.74 1.80 1.93 2.10 2.24 2.32 2.31 2.26 2.18 2.09 1.96 1.78 1.51 1.18 0.81 0.45 0.17 0.00 0.00 0.00 0.02 0.09 0.12 20.0 + 22.5 0.05 0.09 0.14 0.26 0.45 0.65 0.79 0.80 0.65 0.43 0.25 0.20 0.31 0.50 0.68 0.75 0.70 0.58 0.48 0.47 0.56 0.72 0.89 1.04 1.17 1.31 1.47 1.62 1.73 1.74 1.63 1.41 1.12 0.86 0.69 0.66 0.74 0.90 1.04 1.12 1.11 1.06 1.05 1.13 1.31 1.55 1.76 1.86 1.86 1.79 1.74 1.77 1.89 2.06 2.21 2.29 2.26 2.15 1.98 1.79 1.59 1.37 1.12 0.84 0.54 0.24 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.14 0.26 0.45 0.65 0.79 0.80 0.65 0.43 0.25 0.20 0.31 0.50 0.68 0.75 0.70 0.58 0.48 0.47 0.56 0.72 0.89 1.04 1.17 1.31 1.47 1.62 1.73 1.74 1.63 1.41 1.12 0.86 0.69 0.66 0.74 0.90 1.04 1.12 1.11 1.06 1.05 1.13 1.31 1.55 1.76 1.86 1.86 1.79 1.74 1.77 1.89 2.06 2.21 2.29 2.26 2.15 1.98 1.79 1.59 1.37 1.12 0.84 0.54 0.24 0.00 0.00 0.00 0.00 0.00 0.00 0.05 22.5 + 25.0 0.00 0.05 0.12 0.24 0.44 0.68 0.88 0.94 0.83 0.61 0.39 0.30 0.36 0.53 0.70 0.78 0.74 0.62 0.52 0.49 0.57 0.71 0.88 1.04 1.17 1.30 1.44 1.57 1.66 1.67 1.58 1.39 1.14 0.89 0.70 0.62 0.65 0.77 0.92 1.04 1.10 1.13 1.18 1.30 1.50 1.76 2.00 2.15 2.17 2.11 2.03 2.01 2.07 2.19 2.31 2.34 2.27 2.08 1.82 1.53 1.26 1.01 0.80 0.58 0.34 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.12 0.24 0.44 0.68 0.88 0.94 0.83 0.61 0.39 0.30 0.36 0.53 0.70 0.78 0.74 0.62 0.52 0.49 0.57 0.71 0.88 1.04 1.17 1.30 1.44 1.57 1.66 1.67 1.58 1.39 1.14 0.89 0.70 0.62 0.65 0.77 0.92 1.04 1.10 1.13 1.18 1.30 1.50 1.76 2.00 2.15 2.17 2.11 2.03 2.01 2.07 2.19 2.31 2.34 2.27 2.08 1.82 1.53 1.26 1.01 0.80 0.58 0.34 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 25.0 + 27.5 0.02 0.09 0.14 0.24 0.43 0.68 0.91 1.02 0.95 0.75 0.53 0.41 0.43 0.57 0.74 0.82 0.80 0.69 0.58 0.53 0.57 0.68 0.83 0.96 1.08 1.18 1.28 1.37 1.43 1.44 1.38 1.26 1.09 0.91 0.75 0.65 0.64 0.74 0.89 1.07 1.23 1.36 1.50 1.69 1.95 2.27 2.58 2.81 2.90 2.87 2.76 2.66 2.61 2.62 2.63 2.58 2.42 2.13 1.76 1.37 1.03 0.77 0.58 0.42 0.25 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.09 0.14 0.24 0.43 0.68 0.91 1.02 0.95 0.75 0.53 0.41 0.43 0.57 0.74 0.82 0.80 0.69 0.58 0.53 0.57 0.68 0.83 0.96 1.08 1.18 1.28 1.37 1.43 1.44 1.38 1.26 1.09 0.91 0.75 0.65 0.64 0.74 0.89 1.07 1.23 1.36 1.50 1.69 1.95 2.27 2.58 2.81 2.90 2.87 2.76 2.66 2.61 2.62 2.63 2.58 2.42 2.13 1.76 1.37 1.03 0.77 0.58 0.42 0.25 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.02 27.5 + 30.0 0.13 0.18 0.19 0.24 0.39 0.61 0.85 0.99 0.97 0.81 0.61 0.48 0.48 0.60 0.76 0.85 0.85 0.75 0.64 0.56 0.56 0.62 0.71 0.80 0.88 0.94 0.99 1.03 1.06 1.07 1.07 1.04 0.99 0.91 0.82 0.75 0.74 0.81 0.97 1.20 1.45 1.69 1.93 2.20 2.54 2.94 3.35 3.69 3.88 3.91 3.79 3.60 3.43 3.28 3.15 2.98 2.70 2.30 1.83 1.35 0.95 0.68 0.51 0.39 0.25 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.18 0.19 0.24 0.39 0.61 0.85 0.99 0.97 0.81 0.61 0.48 0.48 0.60 0.76 0.85 0.85 0.75 0.64 0.56 0.56 0.62 0.71 0.80 0.88 0.94 0.99 1.03 1.06 1.07 1.07 1.04 0.99 0.91 0.82 0.75 0.74 0.81 0.97 1.20 1.45 1.69 1.93 2.20 2.54 2.94 3.35 3.69 3.88 3.91 3.79 3.60 3.43 3.28 3.15 2.98 2.70 2.30 1.83 1.35 0.95 0.68 0.51 0.39 0.25 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.13 30.0 + 32.5 0.26 0.29 0.25 0.23 0.31 0.49 0.71 0.87 0.89 0.78 0.60 0.48 0.47 0.57 0.72 0.83 0.85 0.78 0.67 0.57 0.52 0.52 0.54 0.57 0.60 0.62 0.63 0.64 0.65 0.67 0.72 0.79 0.87 0.92 0.93 0.91 0.89 0.95 1.10 1.35 1.66 1.98 2.30 2.63 3.03 3.49 4.00 4.45 4.76 4.86 4.75 4.51 4.22 3.93 3.66 3.37 3.00 2.52 1.98 1.44 1.01 0.72 0.56 0.47 0.35 0.17 0.00 0.00 0.00 0.00 0.00 0.12 0.26 0.29 0.25 0.23 0.31 0.49 0.71 0.87 0.89 0.78 0.60 0.48 0.47 0.57 0.72 0.83 0.85 0.78 0.67 0.57 0.52 0.52 0.54 0.57 0.60 0.62 0.63 0.64 0.65 0.67 0.72 0.79 0.87 0.92 0.93 0.91 0.89 0.95 1.10 1.35 1.66 1.98 2.30 2.63 3.03 3.49 4.00 4.45 4.76 4.86 4.75 4.51 4.22 3.93 3.66 3.37 3.00 2.52 1.98 1.44 1.01 0.72 0.56 0.47 0.35 0.17 0.00 0.00 0.00 0.00 0.00 0.12 0.26 32.5 + 35.0 0.36 0.36 0.27 0.19 0.19 0.32 0.53 0.70 0.76 0.69 0.54 0.42 0.39 0.48 0.62 0.75 0.80 0.76 0.66 0.55 0.45 0.39 0.35 0.34 0.34 0.34 0.34 0.33 0.33 0.36 0.45 0.60 0.78 0.94 1.03 1.05 1.04 1.06 1.18 1.42 1.73 2.07 2.41 2.76 3.16 3.64 4.19 4.72 5.12 5.30 5.23 4.98 4.63 4.26 3.91 3.56 3.15 2.65 2.10 1.57 1.14 0.86 0.72 0.64 0.53 0.35 0.12 0.00 0.00 0.00 0.03 0.23 0.36 0.36 0.27 0.19 0.19 0.32 0.53 0.70 0.76 0.69 0.54 0.42 0.39 0.48 0.62 0.75 0.80 0.76 0.66 0.55 0.45 0.39 0.35 0.34 0.34 0.34 0.34 0.33 0.33 0.36 0.45 0.60 0.78 0.94 1.03 1.05 1.04 1.06 1.18 1.42 1.73 2.07 2.41 2.76 3.16 3.64 4.19 4.72 5.12 5.30 5.23 4.98 4.63 4.26 3.91 3.56 3.15 2.65 2.10 1.57 1.14 0.86 0.72 0.64 0.53 0.35 0.12 0.00 0.00 0.00 0.03 0.23 0.36 35.0 + 37.5 0.38 0.36 0.24 0.11 0.08 0.17 0.36 0.54 0.63 0.60 0.47 0.34 0.28 0.33 0.46 0.61 0.69 0.69 0.62 0.50 0.37 0.27 0.20 0.18 0.18 0.20 0.21 0.20 0.20 0.23 0.33 0.51 0.74 0.96 1.10 1.13 1.10 1.08 1.15 1.34 1.61 1.92 2.21 2.50 2.83 3.25 3.77 4.31 4.76 5.00 4.99 4.77 4.42 4.05 3.71 3.38 3.02 2.60 2.11 1.64 1.25 1.01 0.90 0.84 0.75 0.57 0.32 0.09 0.00 0.00 0.11 0.28 0.38 0.36 0.24 0.11 0.08 0.17 0.36 0.54 0.63 0.60 0.47 0.34 0.28 0.33 0.46 0.61 0.69 0.69 0.62 0.50 0.37 0.27 0.20 0.18 0.18 0.20 0.21 0.20 0.20 0.23 0.33 0.51 0.74 0.96 1.10 1.13 1.10 1.08 1.15 1.34 1.61 1.92 2.21 2.50 2.83 3.25 3.77 4.31 4.76 5.00 4.99 4.77 4.42 4.05 3.71 3.38 3.02 2.60 2.11 1.64 1.25 1.01 0.90 0.84 0.75 0.57 0.32 0.09 0.00 0.00 0.11 0.28 0.38 37.5 + 40.0 0.36 0.32 0.19 0.04 0.00 0.06 0.24 0.43 0.54 0.53 0.40 0.25 0.16 0.17 0.29 0.45 0.58 0.63 0.58 0.46 0.32 0.21 0.14 0.13 0.17 0.22 0.25 0.26 0.25 0.27 0.35 0.52 0.75 0.95 1.08 1.10 1.04 0.98 1.00 1.12 1.33 1.56 1.75 1.92 2.12 2.42 2.84 3.32 3.76 4.04 4.08 3.92 3.63 3.32 3.05 2.83 2.59 2.29 1.93 1.56 1.26 1.08 1.01 0.99 0.93 0.77 0.53 0.29 0.12 0.09 0.17 0.30 0.36 0.32 0.19 0.04 0.00 0.06 0.24 0.43 0.54 0.53 0.40 0.25 0.16 0.17 0.29 0.45 0.58 0.63 0.58 0.46 0.32 0.21 0.14 0.13 0.17 0.22 0.25 0.26 0.25 0.27 0.35 0.52 0.75 0.95 1.08 1.10 1.04 0.98 1.00 1.12 1.33 1.56 1.75 1.92 2.12 2.42 2.84 3.32 3.76 4.04 4.08 3.92 3.63 3.32 3.05 2.83 2.59 2.29 1.93 1.56 1.26 1.08 1.01 0.99 0.93 0.77 0.53 0.29 0.12 0.09 0.17 0.30 0.36 40.0 + 42.5 0.36 0.31 0.18 0.03 0.00 0.02 0.19 0.38 0.51 0.50 0.36 0.18 0.05 0.04 0.15 0.33 0.50 0.59 0.57 0.47 0.33 0.22 0.18 0.20 0.28 0.36 0.41 0.42 0.40 0.40 0.45 0.58 0.75 0.91 0.98 0.96 0.87 0.78 0.78 0.86 1.01 1.14 1.22 1.24 1.28 1.42 1.70 2.09 2.48 2.74 2.82 2.70 2.48 2.26 2.11 2.01 1.92 1.77 1.56 1.32 1.12 1.01 0.99 1.02 1.01 0.91 0.71 0.47 0.28 0.20 0.23 0.31 0.36 0.31 0.18 0.03 0.00 0.02 0.19 0.38 0.51 0.50 0.36 0.18 0.05 0.04 0.15 0.33 0.50 0.59 0.57 0.47 0.33 0.22 0.18 0.20 0.28 0.36 0.41 0.42 0.40 0.40 0.45 0.58 0.75 0.91 0.98 0.96 0.87 0.78 0.78 0.86 1.01 1.14 1.22 1.24 1.28 1.42 1.70 2.09 2.48 2.74 2.82 2.70 2.48 2.26 2.11 2.01 1.92 1.77 1.56 1.32 1.12 1.01 0.99 1.02 1.01 0.91 0.71 0.47 0.28 0.20 0.23 0.31 0.36 42.5 + 45.0 0.42 0.38 0.26 0.12 0.04 0.08 0.23 0.41 0.53 0.52 0.37 0.16 0.00 0.00 0.07 0.27 0.47 0.59 0.59 0.50 0.38 0.29 0.28 0.34 0.44 0.53 0.57 0.57 0.53 0.51 0.54 0.62 0.73 0.81 0.82 0.75 0.64 0.57 0.57 0.65 0.75 0.81 0.77 0.67 0.57 0.56 0.71 0.99 1.30 1.53 1.60 1.51 1.34 1.19 1.12 1.14 1.17 1.17 1.09 0.96 0.84 0.79 0.83 0.92 0.97 0.94 0.81 0.61 0.44 0.34 0.34 0.39 0.42 0.38 0.26 0.12 0.04 0.08 0.23 0.41 0.53 0.52 0.37 0.16 0.00 0.00 0.07 0.27 0.47 0.59 0.59 0.50 0.38 0.29 0.28 0.34 0.44 0.53 0.57 0.57 0.53 0.51 0.54 0.62 0.73 0.81 0.82 0.75 0.64 0.57 0.57 0.65 0.75 0.81 0.77 0.67 0.57 0.56 0.71 0.99 1.30 1.53 1.60 1.51 1.34 1.19 1.12 1.14 1.17 1.17 1.09 0.96 0.84 0.79 0.83 0.92 0.97 0.94 0.81 0.61 0.44 0.34 0.34 0.39 0.42 45.0 + 47.5 0.56 0.54 0.45 0.32 0.24 0.25 0.37 0.53 0.63 0.61 0.45 0.22 0.04 0.00 0.07 0.27 0.48 0.61 0.61 0.53 0.43 0.37 0.40 0.48 0.59 0.65 0.66 0.62 0.56 0.54 0.56 0.61 0.67 0.68 0.63 0.53 0.44 0.40 0.43 0.53 0.62 0.63 0.52 0.33 0.13 0.03 0.09 0.28 0.52 0.69 0.73 0.64 0.49 0.37 0.34 0.42 0.53 0.62 0.63 0.58 0.52 0.51 0.58 0.71 0.82 0.87 0.81 0.69 0.55 0.46 0.46 0.51 0.56 0.54 0.45 0.32 0.24 0.25 0.37 0.53 0.63 0.61 0.45 0.22 0.04 0.00 0.07 0.27 0.48 0.61 0.61 0.53 0.43 0.37 0.40 0.48 0.59 0.65 0.66 0.62 0.56 0.54 0.56 0.61 0.67 0.68 0.63 0.53 0.44 0.40 0.43 0.53 0.62 0.63 0.52 0.33 0.13 0.03 0.09 0.28 0.52 0.69 0.73 0.64 0.49 0.37 0.34 0.42 0.53 0.62 0.63 0.58 0.52 0.51 0.58 0.71 0.82 0.87 0.81 0.69 0.55 0.46 0.46 0.51 0.56 47.5 + 50.0 0.73 0.76 0.71 0.61 0.53 0.53 0.62 0.76 0.85 0.82 0.66 0.43 0.22 0.14 0.21 0.37 0.54 0.64 0.62 0.53 0.45 0.42 0.48 0.59 0.68 0.71 0.66 0.57 0.50 0.48 0.51 0.57 0.60 0.57 0.48 0.37 0.29 0.29 0.37 0.50 0.59 0.57 0.44 0.21 0.00 0.00 0.00 0.00 0.17 0.31 0.32 0.21 0.04 0.00 0.00 0.00 0.11 0.24 0.30 0.30 0.26 0.26 0.32 0.46 0.60 0.70 0.71 0.66 0.58 0.53 0.56 0.65 0.73 0.76 0.71 0.61 0.53 0.53 0.62 0.76 0.85 0.82 0.66 0.43 0.22 0.14 0.21 0.37 0.54 0.64 0.62 0.53 0.45 0.42 0.48 0.59 0.68 0.71 0.66 0.57 0.50 0.48 0.51 0.57 0.60 0.57 0.48 0.37 0.29 0.29 0.37 0.50 0.59 0.57 0.44 0.21 0.00 0.00 0.00 0.00 0.17 0.31 0.32 0.21 0.04 0.00 0.00 0.00 0.11 0.24 0.30 0.30 0.26 0.26 0.32 0.46 0.60 0.70 0.71 0.66 0.58 0.53 0.56 0.65 0.73 50.0 + 52.5 0.85 0.95 0.97 0.92 0.87 0.88 0.97 1.10 1.19 1.18 1.04 0.82 0.60 0.49 0.50 0.59 0.68 0.71 0.64 0.54 0.46 0.46 0.55 0.67 0.74 0.72 0.62 0.49 0.41 0.40 0.46 0.53 0.55 0.50 0.39 0.27 0.21 0.24 0.35 0.49 0.58 0.56 0.43 0.22 0.01 0.00 0.00 0.00 0.14 0.25 0.24 0.13 0.00 0.00 0.00 0.00 0.00 0.07 0.16 0.17 0.13 0.11 0.14 0.24 0.37 0.48 0.53 0.52 0.49 0.50 0.57 0.71 0.85 0.95 0.97 0.92 0.87 0.88 0.97 1.10 1.19 1.18 1.04 0.82 0.60 0.49 0.50 0.59 0.68 0.71 0.64 0.54 0.46 0.46 0.55 0.67 0.74 0.72 0.62 0.49 0.41 0.40 0.46 0.53 0.55 0.50 0.39 0.27 0.21 0.24 0.35 0.49 0.58 0.56 0.43 0.22 0.01 0.00 0.00 0.00 0.14 0.25 0.24 0.13 0.00 0.00 0.00 0.00 0.00 0.07 0.16 0.17 0.13 0.11 0.14 0.24 0.37 0.48 0.53 0.52 0.49 0.50 0.57 0.71 0.85 52.5 + 55.0 0.85 1.03 1.13 1.17 1.19 1.25 1.37 1.52 1.64 1.67 1.57 1.38 1.18 1.03 0.98 0.98 0.96 0.89 0.76 0.61 0.53 0.55 0.65 0.77 0.82 0.76 0.62 0.47 0.37 0.37 0.44 0.51 0.53 0.47 0.35 0.24 0.19 0.22 0.32 0.44 0.52 0.50 0.40 0.24 0.08 0.00 0.00 0.08 0.21 0.31 0.32 0.22 0.06 0.00 0.00 0.00 0.00 0.07 0.16 0.19 0.15 0.09 0.06 0.09 0.16 0.24 0.28 0.30 0.30 0.35 0.46 0.65 0.85 1.03 1.13 1.17 1.19 1.25 1.37 1.52 1.64 1.67 1.57 1.38 1.18 1.03 0.98 0.98 0.96 0.89 0.76 0.61 0.53 0.55 0.65 0.77 0.82 0.76 0.62 0.47 0.37 0.37 0.44 0.51 0.53 0.47 0.35 0.24 0.19 0.22 0.32 0.44 0.52 0.50 0.40 0.24 0.08 0.00 0.00 0.08 0.21 0.31 0.32 0.22 0.06 0.00 0.00 0.00 0.00 0.07 0.16 0.19 0.15 0.09 0.06 0.09 0.16 0.24 0.28 0.30 0.30 0.35 0.46 0.65 0.85 55.0 + 57.5 0.73 0.97 1.17 1.30 1.42 1.56 1.74 1.95 2.12 2.20 2.17 2.04 1.88 1.73 1.63 1.54 1.43 1.26 1.06 0.87 0.77 0.77 0.86 0.95 0.97 0.89 0.72 0.55 0.44 0.42 0.47 0.52 0.53 0.46 0.34 0.23 0.17 0.18 0.25 0.33 0.38 0.37 0.31 0.21 0.11 0.05 0.05 0.12 0.22 0.32 0.36 0.31 0.19 0.04 0.00 0.00 0.00 0.12 0.23 0.26 0.22 0.13 0.04 0.00 0.00 0.02 0.04 0.05 0.06 0.12 0.26 0.47 0.73 0.97 1.17 1.30 1.42 1.56 1.74 1.95 2.12 2.20 2.17 2.04 1.88 1.73 1.63 1.54 1.43 1.26 1.06 0.87 0.77 0.77 0.86 0.95 0.97 0.89 0.72 0.55 0.44 0.42 0.47 0.52 0.53 0.46 0.34 0.23 0.17 0.18 0.25 0.33 0.38 0.37 0.31 0.21 0.11 0.05 0.05 0.12 0.22 0.32 0.36 0.31 0.19 0.04 0.00 0.00 0.00 0.12 0.23 0.26 0.22 0.13 0.04 0.00 0.00 0.02 0.04 0.05 0.06 0.12 0.26 0.47 0.73 57.5 + 60.0 0.53 0.82 1.08 1.31 1.52 1.74 2.00 2.27 2.50 2.66 2.71 2.67 2.58 2.47 2.36 2.24 2.07 1.85 1.60 1.37 1.22 1.18 1.22 1.25 1.23 1.11 0.92 0.73 0.59 0.53 0.53 0.54 0.51 0.43 0.31 0.21 0.14 0.13 0.14 0.17 0.19 0.19 0.18 0.14 0.09 0.04 0.02 0.05 0.12 0.22 0.30 0.31 0.24 0.12 0.01 0.00 0.01 0.13 0.24 0.30 0.26 0.16 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.26 0.53 0.82 1.08 1.31 1.52 1.74 2.00 2.27 2.50 2.66 2.71 2.67 2.58 2.47 2.36 2.24 2.07 1.85 1.60 1.37 1.22 1.18 1.22 1.25 1.23 1.11 0.92 0.73 0.59 0.53 0.53 0.54 0.51 0.43 0.31 0.21 0.14 0.13 0.14 0.17 0.19 0.19 0.18 0.14 0.09 0.04 0.02 0.05 0.12 0.22 0.30 0.31 0.24 0.12 0.01 0.00 0.01 0.13 0.24 0.30 0.26 0.16 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.26 0.53 60.0 + 62.5 0.37 0.66 0.95 1.23 1.50 1.78 2.09 2.40 2.69 2.91 3.04 3.10 3.11 3.09 3.04 2.96 2.80 2.59 2.33 2.08 1.89 1.78 1.73 1.68 1.59 1.42 1.20 0.98 0.80 0.68 0.61 0.54 0.46 0.36 0.24 0.15 0.08 0.04 0.02 0.01 0.01 0.02 0.04 0.05 0.04 0.00 0.00 0.00 0.00 0.03 0.14 0.20 0.19 0.10 0.00 0.00 0.00 0.02 0.14 0.22 0.21 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.37 0.66 0.95 1.23 1.50 1.78 2.09 2.40 2.69 2.91 3.04 3.10 3.11 3.09 3.04 2.96 2.80 2.59 2.33 2.08 1.89 1.78 1.73 1.68 1.59 1.42 1.20 0.98 0.80 0.68 0.61 0.54 0.46 0.36 0.24 0.15 0.08 0.04 0.02 0.01 0.01 0.02 0.04 0.05 0.04 0.00 0.00 0.00 0.00 0.03 0.14 0.20 0.19 0.10 0.00 0.00 0.00 0.02 0.14 0.22 0.21 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.37 62.5 + 65.0 0.32 0.59 0.86 1.13 1.40 1.70 2.01 2.33 2.62 2.87 3.07 3.22 3.35 3.45 3.51 3.53 3.46 3.31 3.10 2.87 2.66 2.48 2.33 2.19 2.00 1.78 1.52 1.27 1.05 0.86 0.70 0.55 0.40 0.26 0.14 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.08 0.02 0.00 0.00 0.00 0.00 0.00 0.04 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.32 0.59 0.86 1.13 1.40 1.70 2.01 2.33 2.62 2.87 3.07 3.22 3.35 3.45 3.51 3.53 3.46 3.31 3.10 2.87 2.66 2.48 2.33 2.19 2.00 1.78 1.52 1.27 1.05 0.86 0.70 0.55 0.40 0.26 0.14 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.08 0.02 0.00 0.00 0.00 0.00 0.00 0.04 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.32 65.0 + 67.5 0.43 0.64 0.85 1.07 1.30 1.54 1.81 2.08 2.33 2.57 2.80 3.01 3.23 3.46 3.65 3.80 3.86 3.83 3.72 3.55 3.35 3.14 2.92 2.69 2.43 2.15 1.87 1.59 1.33 1.09 0.85 0.61 0.38 0.18 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.24 0.43 0.64 0.85 1.07 1.30 1.54 1.81 2.08 2.33 2.57 2.80 3.01 3.23 3.46 3.65 3.80 3.86 3.83 3.72 3.55 3.35 3.14 2.92 2.69 2.43 2.15 1.87 1.59 1.33 1.09 0.85 0.61 0.38 0.18 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.24 0.43 67.5 + 70.0 0.66 0.81 0.95 1.09 1.23 1.38 1.55 1.73 1.91 2.10 2.31 2.55 2.83 3.13 3.44 3.70 3.89 4.00 4.02 3.95 3.82 3.62 3.38 3.10 2.80 2.50 2.21 1.94 1.67 1.38 1.08 0.76 0.44 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.10 0.18 0.27 0.37 0.51 0.66 0.81 0.95 1.09 1.23 1.38 1.55 1.73 1.91 2.10 2.31 2.55 2.83 3.13 3.44 3.70 3.89 4.00 4.02 3.95 3.82 3.62 3.38 3.10 2.80 2.50 2.21 1.94 1.67 1.38 1.08 0.76 0.44 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.10 0.18 0.27 0.37 0.51 0.66 70.0 + 72.5 0.94 1.05 1.12 1.17 1.21 1.26 1.31 1.38 1.46 1.58 1.74 1.97 2.26 2.59 2.93 3.26 3.54 3.75 3.90 3.96 3.92 3.79 3.58 3.32 3.03 2.76 2.51 2.27 2.02 1.73 1.39 1.01 0.62 0.28 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.16 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.01 0.01 0.05 0.13 0.23 0.34 0.45 0.56 0.67 0.81 0.94 1.05 1.12 1.17 1.21 1.26 1.31 1.38 1.46 1.58 1.74 1.97 2.26 2.59 2.93 3.26 3.54 3.75 3.90 3.96 3.92 3.79 3.58 3.32 3.03 2.76 2.51 2.27 2.02 1.73 1.39 1.01 0.62 0.28 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.16 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.01 0.01 0.05 0.13 0.23 0.34 0.45 0.56 0.67 0.81 0.94 72.5 + 75.0 1.18 1.27 1.30 1.28 1.24 1.18 1.12 1.08 1.07 1.12 1.23 1.43 1.68 1.97 2.28 2.58 2.88 3.15 3.40 3.58 3.66 3.62 3.48 3.27 3.05 2.85 2.68 2.53 2.34 2.08 1.74 1.33 0.90 0.51 0.21 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.19 0.38 0.46 0.40 0.22 0.03 0.00 0.00 0.02 0.16 0.26 0.28 0.26 0.23 0.25 0.33 0.44 0.57 0.69 0.81 0.94 1.07 1.18 1.27 1.30 1.28 1.24 1.18 1.12 1.08 1.07 1.12 1.23 1.43 1.68 1.97 2.28 2.58 2.88 3.15 3.40 3.58 3.66 3.62 3.48 3.27 3.05 2.85 2.68 2.53 2.34 2.08 1.74 1.33 0.90 0.51 0.21 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.19 0.38 0.46 0.40 0.22 0.03 0.00 0.00 0.02 0.16 0.26 0.28 0.26 0.23 0.25 0.33 0.44 0.57 0.69 0.81 0.94 1.07 1.18 75.0 + 77.5 1.35 1.42 1.43 1.38 1.27 1.13 0.97 0.84 0.77 0.77 0.87 1.03 1.23 1.43 1.63 1.84 2.07 2.35 2.65 2.92 3.09 3.15 3.08 2.94 2.81 2.71 2.66 2.62 2.53 2.33 2.02 1.63 1.22 0.85 0.55 0.34 0.19 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.11 0.28 0.52 0.73 0.82 0.76 0.57 0.36 0.23 0.25 0.38 0.53 0.62 0.62 0.54 0.47 0.45 0.50 0.62 0.76 0.89 1.01 1.13 1.25 1.35 1.42 1.43 1.38 1.27 1.13 0.97 0.84 0.77 0.77 0.87 1.03 1.23 1.43 1.63 1.84 2.07 2.35 2.65 2.92 3.09 3.15 3.08 2.94 2.81 2.71 2.66 2.62 2.53 2.33 2.02 1.63 1.22 0.85 0.55 0.34 0.19 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.11 0.28 0.52 0.73 0.82 0.76 0.57 0.36 0.23 0.25 0.38 0.53 0.62 0.62 0.54 0.47 0.45 0.50 0.62 0.76 0.89 1.01 1.13 1.25 1.35 77.5 + 80.0 1.42 1.48 1.49 1.43 1.29 1.09 0.86 0.67 0.55 0.55 0.66 0.81 0.96 1.06 1.11 1.17 1.29 1.52 1.83 2.15 2.39 2.49 2.47 2.39 2.33 2.34 2.42 2.51 2.52 2.41 2.17 1.85 1.51 1.23 1.02 0.85 0.69 0.48 0.22 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.16 0.22 0.33 0.53 0.80 1.04 1.15 1.07 0.86 0.64 0.51 0.55 0.71 0.88 0.97 0.92 0.78 0.64 0.57 0.61 0.73 0.89 1.04 1.15 1.25 1.34 1.42 1.48 1.49 1.43 1.29 1.09 0.86 0.67 0.55 0.55 0.66 0.81 0.96 1.06 1.11 1.17 1.29 1.52 1.83 2.15 2.39 2.49 2.47 2.39 2.33 2.34 2.42 2.51 2.52 2.41 2.17 1.85 1.51 1.23 1.02 0.85 0.69 0.48 0.22 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.16 0.22 0.33 0.53 0.80 1.04 1.15 1.07 0.86 0.64 0.51 0.55 0.71 0.88 0.97 0.92 0.78 0.64 0.57 0.61 0.73 0.89 1.04 1.15 1.25 1.34 1.42 80.0 + 82.5 1.42 1.47 1.49 1.44 1.28 1.04 0.77 0.54 0.41 0.44 0.58 0.75 0.87 0.87 0.78 0.67 0.67 0.83 1.12 1.46 1.71 1.82 1.80 1.73 1.71 1.81 2.00 2.20 2.31 2.27 2.12 1.90 1.70 1.58 1.52 1.46 1.33 1.08 0.72 0.33 0.01 0.00 0.00 0.00 0.16 0.27 0.32 0.35 0.45 0.66 0.96 1.22 1.34 1.25 1.01 0.77 0.65 0.72 0.92 1.13 1.21 1.12 0.92 0.71 0.60 0.63 0.78 0.97 1.13 1.24 1.31 1.36 1.42 1.47 1.49 1.44 1.28 1.04 0.77 0.54 0.41 0.44 0.58 0.75 0.87 0.87 0.78 0.67 0.67 0.83 1.12 1.46 1.71 1.82 1.80 1.73 1.71 1.81 2.00 2.20 2.31 2.27 2.12 1.90 1.70 1.58 1.52 1.46 1.33 1.08 0.72 0.33 0.01 0.00 0.00 0.00 0.16 0.27 0.32 0.35 0.45 0.66 0.96 1.22 1.34 1.25 1.01 0.77 0.65 0.72 0.92 1.13 1.21 1.12 0.92 0.71 0.60 0.63 0.78 0.97 1.13 1.24 1.31 1.36 1.42 82.5 + 85.0 1.38 1.42 1.45 1.42 1.27 1.01 0.70 0.45 0.33 0.40 0.59 0.80 0.91 0.84 0.63 0.40 0.30 0.39 0.67 0.99 1.23 1.30 1.23 1.13 1.12 1.26 1.51 1.77 1.94 1.96 1.87 1.77 1.73 1.81 1.94 2.03 1.98 1.72 1.30 0.81 0.41 0.20 0.18 0.29 0.42 0.47 0.44 0.40 0.46 0.66 0.96 1.23 1.34 1.23 0.97 0.72 0.62 0.73 0.98 1.22 1.31 1.19 0.94 0.68 0.54 0.58 0.77 1.00 1.19 1.30 1.34 1.35 1.38 1.42 1.45 1.42 1.27 1.01 0.70 0.45 0.33 0.40 0.59 0.80 0.91 0.84 0.63 0.40 0.30 0.39 0.67 0.99 1.23 1.30 1.23 1.13 1.12 1.26 1.51 1.77 1.94 1.96 1.87 1.77 1.73 1.81 1.94 2.03 1.98 1.72 1.30 0.81 0.41 0.20 0.18 0.29 0.42 0.47 0.44 0.40 0.46 0.66 0.96 1.23 1.34 1.23 0.97 0.72 0.62 0.73 0.98 1.22 1.31 1.19 0.94 0.68 0.54 0.58 0.77 1.00 1.19 1.30 1.34 1.35 1.38 85.0 + 87.5 1.34 1.37 1.41 1.39 1.25 0.99 0.67 0.41 0.32 0.42 0.66 0.92 1.03 0.92 0.65 0.35 0.18 0.24 0.50 0.81 1.01 1.03 0.89 0.73 0.69 0.82 1.07 1.34 1.51 1.54 1.50 1.48 1.59 1.84 2.17 2.42 2.46 2.24 1.81 1.30 0.87 0.63 0.59 0.67 0.73 0.69 0.57 0.44 0.43 0.59 0.87 1.11 1.20 1.06 0.79 0.53 0.45 0.60 0.90 1.18 1.28 1.15 0.87 0.59 0.44 0.50 0.72 1.00 1.22 1.33 1.36 1.34 1.34 1.37 1.41 1.39 1.25 0.99 0.67 0.41 0.32 0.42 0.66 0.92 1.03 0.92 0.65 0.35 0.18 0.24 0.50 0.81 1.01 1.03 0.89 0.73 0.69 0.82 1.07 1.34 1.51 1.54 1.50 1.48 1.59 1.84 2.17 2.42 2.46 2.24 1.81 1.30 0.87 0.63 0.59 0.67 0.73 0.69 0.57 0.44 0.43 0.59 0.87 1.11 1.20 1.06 0.79 0.53 0.45 0.60 0.90 1.18 1.28 1.15 0.87 0.59 0.44 0.50 0.72 1.00 1.22 1.33 1.36 1.34 1.34 87.5 + 90.0 1.32 1.34 1.38 1.36 1.23 0.99 0.68 0.44 0.36 0.49 0.77 1.04 1.17 1.06 0.76 0.44 0.27 0.33 0.58 0.87 1.04 1.00 0.80 0.57 0.47 0.55 0.76 0.97 1.09 1.09 1.05 1.08 1.28 1.67 2.12 2.50 2.64 2.50 2.12 1.67 1.28 1.08 1.05 1.09 1.09 0.97 0.76 0.55 0.47 0.57 0.80 1.00 1.04 0.87 0.58 0.33 0.27 0.44 0.76 1.06 1.17 1.04 0.77 0.49 0.36 0.44 0.68 0.99 1.23 1.36 1.38 1.34 1.32 1.34 1.38 1.36 1.23 0.99 0.68 0.44 0.36 0.49 0.77 1.04 1.17 1.06 0.76 0.44 0.27 0.33 0.58 0.87 1.04 1.00 0.80 0.57 0.47 0.55 0.76 0.97 1.09 1.09 1.05 1.08 1.28 1.67 2.12 2.50 2.64 2.50 2.12 1.67 1.28 1.08 1.05 1.09 1.09 0.97 0.76 0.55 0.47 0.57 0.80 1.00 1.04 0.87 0.58 0.33 0.27 0.44 0.76 1.06 1.17 1.04 0.77 0.49 0.36 0.44 0.68 0.99 1.23 1.36 1.38 1.34 1.32 90.0 + + 27.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 4.99 ) PHI2 = 28. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.0 + 2.5 0.36 0.36 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.40 0.39 0.41 0.50 0.65 0.84 1.05 1.27 1.51 1.76 1.99 2.17 2.24 2.20 2.05 1.83 1.59 1.36 1.13 0.92 0.72 0.55 0.45 0.41 0.40 0.37 0.25 0.05 0.00 0.00 0.00 0.00 0.00 0.04 0.23 0.34 0.37 0.38 0.43 0.55 0.72 0.93 1.15 1.37 1.61 1.86 2.09 2.25 2.29 2.21 2.03 1.78 1.53 1.28 1.06 0.85 0.65 0.49 0.39 0.36 0.36 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.40 0.39 0.41 0.50 0.65 0.84 1.05 1.27 1.51 1.76 1.99 2.17 2.24 2.20 2.05 1.83 1.59 1.36 1.13 0.92 0.72 0.55 0.45 0.41 0.40 0.37 0.25 0.05 0.00 0.00 0.00 0.00 0.00 0.04 0.23 0.34 0.37 0.38 0.43 0.55 0.72 0.93 1.15 1.37 1.61 1.86 2.09 2.25 2.29 2.21 2.03 1.78 1.53 1.28 1.06 0.85 0.65 0.49 0.39 0.36 2.5 + 5.0 0.29 0.34 0.39 0.37 0.26 0.09 0.00 0.00 0.00 0.06 0.27 0.43 0.50 0.48 0.42 0.38 0.40 0.51 0.67 0.88 1.12 1.38 1.65 1.92 2.13 2.25 2.24 2.13 1.92 1.68 1.42 1.17 0.94 0.74 0.60 0.52 0.50 0.50 0.46 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.16 0.31 0.38 0.40 0.42 0.48 0.61 0.79 1.01 1.24 1.49 1.77 2.04 2.28 2.42 2.44 2.30 2.05 1.74 1.43 1.15 0.91 0.69 0.50 0.36 0.29 0.29 0.34 0.39 0.37 0.26 0.09 0.00 0.00 0.00 0.06 0.27 0.43 0.50 0.48 0.42 0.38 0.40 0.51 0.67 0.88 1.12 1.38 1.65 1.92 2.13 2.25 2.24 2.13 1.92 1.68 1.42 1.17 0.94 0.74 0.60 0.52 0.50 0.50 0.46 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.16 0.31 0.38 0.40 0.42 0.48 0.61 0.79 1.01 1.24 1.49 1.77 2.04 2.28 2.42 2.44 2.30 2.05 1.74 1.43 1.15 0.91 0.69 0.50 0.36 0.29 0.29 5.0 + 7.5 0.24 0.34 0.45 0.50 0.47 0.37 0.24 0.16 0.19 0.30 0.47 0.60 0.65 0.60 0.49 0.38 0.33 0.37 0.50 0.70 0.95 1.23 1.52 1.80 2.04 2.21 2.26 2.19 2.01 1.76 1.48 1.20 0.97 0.79 0.69 0.66 0.67 0.69 0.65 0.53 0.35 0.16 0.04 0.03 0.13 0.29 0.45 0.55 0.58 0.58 0.60 0.67 0.81 0.99 1.20 1.44 1.70 1.99 2.28 2.51 2.63 2.58 2.37 2.04 1.66 1.29 0.98 0.73 0.52 0.35 0.24 0.20 0.24 0.34 0.45 0.50 0.47 0.37 0.24 0.16 0.19 0.30 0.47 0.60 0.65 0.60 0.49 0.38 0.33 0.37 0.50 0.70 0.95 1.23 1.52 1.80 2.04 2.21 2.26 2.19 2.01 1.76 1.48 1.20 0.97 0.79 0.69 0.66 0.67 0.69 0.65 0.53 0.35 0.16 0.04 0.03 0.13 0.29 0.45 0.55 0.58 0.58 0.60 0.67 0.81 0.99 1.20 1.44 1.70 1.99 2.28 2.51 2.63 2.58 2.37 2.04 1.66 1.29 0.98 0.73 0.52 0.35 0.24 0.20 0.24 7.5 + 10.0 0.25 0.37 0.51 0.62 0.66 0.61 0.51 0.42 0.40 0.48 0.61 0.73 0.79 0.74 0.60 0.45 0.34 0.32 0.41 0.59 0.83 1.10 1.37 1.65 1.90 2.09 2.19 2.17 2.04 1.80 1.51 1.23 0.99 0.85 0.80 0.84 0.91 0.96 0.93 0.83 0.67 0.52 0.46 0.50 0.63 0.80 0.92 0.98 0.98 0.96 0.98 1.06 1.18 1.34 1.52 1.73 1.96 2.24 2.50 2.70 2.76 2.65 2.36 1.96 1.52 1.12 0.81 0.57 0.40 0.27 0.20 0.19 0.25 0.37 0.51 0.62 0.66 0.61 0.51 0.42 0.40 0.48 0.61 0.73 0.79 0.74 0.60 0.45 0.34 0.32 0.41 0.59 0.83 1.10 1.37 1.65 1.90 2.09 2.19 2.17 2.04 1.80 1.51 1.23 0.99 0.85 0.80 0.84 0.91 0.96 0.93 0.83 0.67 0.52 0.46 0.50 0.63 0.80 0.92 0.98 0.98 0.96 0.98 1.06 1.18 1.34 1.52 1.73 1.96 2.24 2.50 2.70 2.76 2.65 2.36 1.96 1.52 1.12 0.81 0.57 0.40 0.27 0.20 0.19 0.25 10.0 + 12.5 0.30 0.42 0.56 0.69 0.77 0.75 0.67 0.56 0.50 0.53 0.64 0.77 0.86 0.85 0.73 0.57 0.42 0.37 0.42 0.57 0.78 1.01 1.25 1.48 1.71 1.92 2.06 2.09 2.00 1.79 1.51 1.23 1.01 0.90 0.92 1.02 1.15 1.24 1.24 1.15 1.01 0.91 0.91 1.01 1.19 1.36 1.47 1.50 1.47 1.44 1.46 1.54 1.65 1.78 1.91 2.05 2.23 2.43 2.63 2.76 2.75 2.56 2.21 1.77 1.32 0.93 0.65 0.46 0.34 0.27 0.23 0.24 0.30 0.42 0.56 0.69 0.77 0.75 0.67 0.56 0.50 0.53 0.64 0.77 0.86 0.85 0.73 0.57 0.42 0.37 0.42 0.57 0.78 1.01 1.25 1.48 1.71 1.92 2.06 2.09 2.00 1.79 1.51 1.23 1.01 0.90 0.92 1.02 1.15 1.24 1.24 1.15 1.01 0.91 0.91 1.01 1.19 1.36 1.47 1.50 1.47 1.44 1.46 1.54 1.65 1.78 1.91 2.05 2.23 2.43 2.63 2.76 2.75 2.56 2.21 1.77 1.32 0.93 0.65 0.46 0.34 0.27 0.23 0.24 0.30 12.5 + 15.0 0.36 0.45 0.57 0.71 0.80 0.81 0.73 0.60 0.50 0.48 0.56 0.71 0.84 0.89 0.83 0.69 0.54 0.46 0.49 0.61 0.78 0.97 1.15 1.33 1.53 1.73 1.90 1.97 1.93 1.75 1.49 1.22 1.01 0.93 0.98 1.14 1.31 1.44 1.46 1.38 1.27 1.21 1.25 1.40 1.61 1.80 1.90 1.90 1.86 1.83 1.85 1.93 2.04 2.14 2.23 2.31 2.40 2.52 2.62 2.66 2.56 2.31 1.93 1.49 1.07 0.72 0.49 0.36 0.31 0.29 0.29 0.31 0.36 0.45 0.57 0.71 0.80 0.81 0.73 0.60 0.50 0.48 0.56 0.71 0.84 0.89 0.83 0.69 0.54 0.46 0.49 0.61 0.78 0.97 1.15 1.33 1.53 1.73 1.90 1.97 1.93 1.75 1.49 1.22 1.01 0.93 0.98 1.14 1.31 1.44 1.46 1.38 1.27 1.21 1.25 1.40 1.61 1.80 1.90 1.90 1.86 1.83 1.85 1.93 2.04 2.14 2.23 2.31 2.40 2.52 2.62 2.66 2.56 2.31 1.93 1.49 1.07 0.72 0.49 0.36 0.31 0.29 0.29 0.31 0.36 15.0 + 17.5 0.36 0.42 0.53 0.66 0.77 0.81 0.75 0.61 0.46 0.38 0.43 0.57 0.74 0.85 0.85 0.75 0.62 0.54 0.55 0.64 0.79 0.94 1.08 1.23 1.40 1.59 1.77 1.88 1.88 1.73 1.49 1.21 1.00 0.91 0.96 1.13 1.32 1.47 1.51 1.46 1.37 1.33 1.40 1.57 1.80 1.98 2.08 2.07 2.01 1.97 2.00 2.09 2.22 2.32 2.39 2.42 2.44 2.46 2.45 2.39 2.22 1.93 1.56 1.15 0.77 0.49 0.31 0.24 0.23 0.27 0.30 0.32 0.36 0.42 0.53 0.66 0.77 0.81 0.75 0.61 0.46 0.38 0.43 0.57 0.74 0.85 0.85 0.75 0.62 0.54 0.55 0.64 0.79 0.94 1.08 1.23 1.40 1.59 1.77 1.88 1.88 1.73 1.49 1.21 1.00 0.91 0.96 1.13 1.32 1.47 1.51 1.46 1.37 1.33 1.40 1.57 1.80 1.98 2.08 2.07 2.01 1.97 2.00 2.09 2.22 2.32 2.39 2.42 2.44 2.46 2.45 2.39 2.22 1.93 1.56 1.15 0.77 0.49 0.31 0.24 0.23 0.27 0.30 0.32 0.36 17.5 + 20.0 0.28 0.33 0.43 0.58 0.73 0.81 0.78 0.63 0.44 0.31 0.30 0.43 0.61 0.76 0.80 0.74 0.63 0.55 0.55 0.63 0.77 0.91 1.04 1.18 1.34 1.52 1.71 1.84 1.85 1.73 1.50 1.22 0.98 0.86 0.88 1.01 1.19 1.34 1.41 1.39 1.34 1.32 1.40 1.57 1.79 1.97 2.06 2.04 1.97 1.91 1.94 2.04 2.19 2.31 2.38 2.39 2.35 2.27 2.16 2.00 1.78 1.48 1.14 0.79 0.48 0.24 0.10 0.06 0.09 0.15 0.21 0.25 0.28 0.33 0.43 0.58 0.73 0.81 0.78 0.63 0.44 0.31 0.30 0.43 0.61 0.76 0.80 0.74 0.63 0.55 0.55 0.63 0.77 0.91 1.04 1.18 1.34 1.52 1.71 1.84 1.85 1.73 1.50 1.22 0.98 0.86 0.88 1.01 1.19 1.34 1.41 1.39 1.34 1.32 1.40 1.57 1.79 1.97 2.06 2.04 1.97 1.91 1.94 2.04 2.19 2.31 2.38 2.39 2.35 2.27 2.16 2.00 1.78 1.48 1.14 0.79 0.48 0.24 0.10 0.06 0.09 0.15 0.21 0.25 0.28 20.0 + 22.5 0.15 0.20 0.31 0.48 0.67 0.81 0.82 0.69 0.48 0.30 0.24 0.31 0.48 0.65 0.72 0.69 0.59 0.51 0.50 0.58 0.72 0.87 1.01 1.16 1.31 1.50 1.67 1.80 1.82 1.72 1.50 1.23 0.98 0.81 0.77 0.85 1.00 1.15 1.25 1.28 1.28 1.30 1.40 1.58 1.79 1.98 2.06 2.04 1.96 1.89 1.89 1.97 2.11 2.24 2.31 2.29 2.19 2.02 1.81 1.58 1.31 1.04 0.75 0.47 0.22 0.01 0.00 0.00 0.00 0.00 0.05 0.11 0.15 0.20 0.31 0.48 0.67 0.81 0.82 0.69 0.48 0.30 0.24 0.31 0.48 0.65 0.72 0.69 0.59 0.51 0.50 0.58 0.72 0.87 1.01 1.16 1.31 1.50 1.67 1.80 1.82 1.72 1.50 1.23 0.98 0.81 0.77 0.85 1.00 1.15 1.25 1.28 1.28 1.30 1.40 1.58 1.79 1.98 2.06 2.04 1.96 1.89 1.89 1.97 2.11 2.24 2.31 2.29 2.19 2.02 1.81 1.58 1.31 1.04 0.75 0.47 0.22 0.01 0.00 0.00 0.00 0.00 0.05 0.11 0.15 22.5 + 25.0 0.04 0.09 0.20 0.38 0.61 0.79 0.86 0.76 0.55 0.34 0.22 0.26 0.40 0.57 0.66 0.64 0.56 0.47 0.46 0.53 0.66 0.82 0.97 1.12 1.27 1.43 1.58 1.69 1.71 1.63 1.45 1.21 0.98 0.80 0.72 0.74 0.85 1.01 1.15 1.26 1.34 1.43 1.57 1.78 2.02 2.22 2.34 2.34 2.26 2.16 2.11 2.13 2.21 2.30 2.32 2.25 2.07 1.81 1.50 1.19 0.91 0.66 0.43 0.22 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.09 0.20 0.38 0.61 0.79 0.86 0.76 0.55 0.34 0.22 0.26 0.40 0.57 0.66 0.64 0.56 0.47 0.46 0.53 0.66 0.82 0.97 1.12 1.27 1.43 1.58 1.69 1.71 1.63 1.45 1.21 0.98 0.80 0.72 0.74 0.85 1.01 1.15 1.26 1.34 1.43 1.57 1.78 2.02 2.22 2.34 2.34 2.26 2.16 2.11 2.13 2.21 2.30 2.32 2.25 2.07 1.81 1.50 1.19 0.91 0.66 0.43 0.22 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 25.0 + 27.5 0.00 0.03 0.11 0.28 0.51 0.73 0.84 0.78 0.60 0.38 0.25 0.25 0.38 0.53 0.63 0.63 0.56 0.48 0.45 0.50 0.61 0.76 0.89 1.02 1.14 1.26 1.37 1.44 1.46 1.41 1.30 1.15 0.98 0.84 0.75 0.75 0.84 0.99 1.18 1.38 1.56 1.75 1.97 2.23 2.53 2.80 2.98 3.04 2.99 2.86 2.73 2.65 2.61 2.59 2.52 2.35 2.06 1.69 1.29 0.92 0.62 0.40 0.23 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.11 0.28 0.51 0.73 0.84 0.78 0.60 0.38 0.25 0.25 0.38 0.53 0.63 0.63 0.56 0.48 0.45 0.50 0.61 0.76 0.89 1.02 1.14 1.26 1.37 1.44 1.46 1.41 1.30 1.15 0.98 0.84 0.75 0.75 0.84 0.99 1.18 1.38 1.56 1.75 1.97 2.23 2.53 2.80 2.98 3.04 2.99 2.86 2.73 2.65 2.61 2.59 2.52 2.35 2.06 1.69 1.29 0.92 0.62 0.40 0.23 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 27.5 + 30.0 0.02 0.03 0.06 0.18 0.39 0.61 0.75 0.74 0.60 0.41 0.27 0.27 0.37 0.52 0.63 0.65 0.60 0.52 0.47 0.49 0.56 0.66 0.75 0.84 0.91 0.98 1.04 1.08 1.10 1.09 1.07 1.04 0.98 0.92 0.87 0.87 0.94 1.09 1.32 1.59 1.87 2.16 2.47 2.80 3.17 3.53 3.81 3.96 3.95 3.81 3.61 3.40 3.22 3.05 2.85 2.56 2.17 1.69 1.21 0.78 0.47 0.28 0.15 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.03 0.06 0.18 0.39 0.61 0.75 0.74 0.60 0.41 0.27 0.27 0.37 0.52 0.63 0.65 0.60 0.52 0.47 0.49 0.56 0.66 0.75 0.84 0.91 0.98 1.04 1.08 1.10 1.09 1.07 1.04 0.98 0.92 0.87 0.87 0.94 1.09 1.32 1.59 1.87 2.16 2.47 2.80 3.17 3.53 3.81 3.96 3.95 3.81 3.61 3.40 3.22 3.05 2.85 2.56 2.17 1.69 1.21 0.78 0.47 0.28 0.15 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 30.0 + 32.5 0.10 0.05 0.02 0.08 0.23 0.44 0.60 0.64 0.55 0.40 0.28 0.27 0.36 0.50 0.62 0.67 0.64 0.57 0.51 0.48 0.49 0.52 0.56 0.59 0.62 0.64 0.66 0.68 0.69 0.74 0.80 0.89 0.97 1.01 1.02 1.02 1.07 1.21 1.44 1.75 2.10 2.45 2.82 3.21 3.63 4.06 4.44 4.69 4.75 4.64 4.39 4.09 3.78 3.48 3.16 2.78 2.31 1.77 1.24 0.79 0.47 0.30 0.20 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.10 0.05 0.02 0.08 0.23 0.44 0.60 0.64 0.55 0.40 0.28 0.27 0.36 0.50 0.62 0.67 0.64 0.57 0.51 0.48 0.49 0.52 0.56 0.59 0.62 0.64 0.66 0.68 0.69 0.74 0.80 0.89 0.97 1.01 1.02 1.02 1.07 1.21 1.44 1.75 2.10 2.45 2.82 3.21 3.63 4.06 4.44 4.69 4.75 4.64 4.39 4.09 3.78 3.48 3.16 2.78 2.31 1.77 1.24 0.79 0.47 0.30 0.20 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.10 32.5 + 35.0 0.16 0.07 0.00 0.00 0.08 0.26 0.43 0.51 0.48 0.36 0.26 0.23 0.31 0.44 0.56 0.64 0.64 0.59 0.52 0.45 0.40 0.37 0.36 0.36 0.36 0.37 0.36 0.36 0.37 0.44 0.57 0.75 0.93 1.06 1.12 1.12 1.14 1.23 1.43 1.73 2.08 2.45 2.81 3.20 3.62 4.08 4.52 4.85 4.99 4.93 4.68 4.34 3.97 3.62 3.25 2.85 2.37 1.84 1.31 0.88 0.58 0.41 0.33 0.25 0.11 0.00 0.00 0.00 0.00 0.00 0.05 0.16 0.16 0.07 0.00 0.00 0.08 0.26 0.43 0.51 0.48 0.36 0.26 0.23 0.31 0.44 0.56 0.64 0.64 0.59 0.52 0.45 0.40 0.37 0.36 0.36 0.36 0.37 0.36 0.36 0.37 0.44 0.57 0.75 0.93 1.06 1.12 1.12 1.14 1.23 1.43 1.73 2.08 2.45 2.81 3.20 3.62 4.08 4.52 4.85 4.99 4.93 4.68 4.34 3.97 3.62 3.25 2.85 2.37 1.84 1.31 0.88 0.58 0.41 0.33 0.25 0.11 0.00 0.00 0.00 0.00 0.00 0.05 0.16 0.16 35.0 + 37.5 0.17 0.05 0.00 0.00 0.00 0.11 0.29 0.41 0.41 0.33 0.22 0.17 0.21 0.32 0.45 0.56 0.60 0.58 0.50 0.41 0.31 0.24 0.21 0.20 0.22 0.23 0.23 0.21 0.22 0.28 0.43 0.65 0.88 1.05 1.12 1.11 1.08 1.11 1.25 1.50 1.80 2.10 2.40 2.71 3.06 3.48 3.92 4.28 4.49 4.49 4.29 3.98 3.63 3.30 2.99 2.65 2.25 1.80 1.34 0.96 0.70 0.56 0.49 0.42 0.29 0.10 0.00 0.00 0.00 0.00 0.11 0.19 0.17 0.05 0.00 0.00 0.00 0.11 0.29 0.41 0.41 0.33 0.22 0.17 0.21 0.32 0.45 0.56 0.60 0.58 0.50 0.41 0.31 0.24 0.21 0.20 0.22 0.23 0.23 0.21 0.22 0.28 0.43 0.65 0.88 1.05 1.12 1.11 1.08 1.11 1.25 1.50 1.80 2.10 2.40 2.71 3.06 3.48 3.92 4.28 4.49 4.49 4.29 3.98 3.63 3.30 2.99 2.65 2.25 1.80 1.34 0.96 0.70 0.56 0.49 0.42 0.29 0.10 0.00 0.00 0.00 0.00 0.11 0.19 0.17 37.5 + 40.0 0.14 0.02 0.00 0.00 0.00 0.00 0.19 0.33 0.36 0.29 0.17 0.08 0.08 0.17 0.32 0.46 0.55 0.56 0.49 0.38 0.26 0.18 0.15 0.17 0.22 0.26 0.27 0.25 0.23 0.27 0.40 0.60 0.82 0.97 1.02 0.98 0.90 0.88 0.96 1.14 1.35 1.55 1.72 1.89 2.11 2.42 2.80 3.16 3.39 3.44 3.32 3.08 2.81 2.57 2.38 2.17 1.92 1.60 1.27 0.97 0.76 0.66 0.62 0.57 0.46 0.28 0.10 0.00 0.00 0.02 0.12 0.18 0.14 0.02 0.00 0.00 0.00 0.00 0.19 0.33 0.36 0.29 0.17 0.08 0.08 0.17 0.32 0.46 0.55 0.56 0.49 0.38 0.26 0.18 0.15 0.17 0.22 0.26 0.27 0.25 0.23 0.27 0.40 0.60 0.82 0.97 1.02 0.98 0.90 0.88 0.96 1.14 1.35 1.55 1.72 1.89 2.11 2.42 2.80 3.16 3.39 3.44 3.32 3.08 2.81 2.57 2.38 2.17 1.92 1.60 1.27 0.97 0.76 0.66 0.62 0.57 0.46 0.28 0.10 0.00 0.00 0.02 0.12 0.18 0.14 40.0 + 42.5 0.13 0.01 0.00 0.00 0.00 0.00 0.12 0.27 0.31 0.24 0.10 0.00 0.00 0.02 0.19 0.38 0.52 0.56 0.51 0.38 0.26 0.18 0.18 0.25 0.34 0.40 0.41 0.38 0.34 0.35 0.43 0.59 0.75 0.85 0.86 0.78 0.68 0.63 0.68 0.80 0.93 1.01 1.03 1.03 1.09 1.27 1.55 1.85 2.08 2.17 2.09 1.93 1.75 1.63 1.57 1.52 1.43 1.27 1.06 0.85 0.72 0.66 0.66 0.65 0.58 0.44 0.27 0.12 0.06 0.08 0.14 0.18 0.13 0.01 0.00 0.00 0.00 0.00 0.12 0.27 0.31 0.24 0.10 0.00 0.00 0.02 0.19 0.38 0.52 0.56 0.51 0.38 0.26 0.18 0.18 0.25 0.34 0.40 0.41 0.38 0.34 0.35 0.43 0.59 0.75 0.85 0.86 0.78 0.68 0.63 0.68 0.80 0.93 1.01 1.03 1.03 1.09 1.27 1.55 1.85 2.08 2.17 2.09 1.93 1.75 1.63 1.57 1.52 1.43 1.27 1.06 0.85 0.72 0.66 0.66 0.65 0.58 0.44 0.27 0.12 0.06 0.08 0.14 0.18 0.13 42.5 + 45.0 0.18 0.07 0.00 0.00 0.00 0.00 0.08 0.23 0.28 0.20 0.04 0.00 0.00 0.00 0.11 0.35 0.53 0.59 0.54 0.41 0.29 0.24 0.28 0.38 0.49 0.56 0.56 0.51 0.45 0.44 0.50 0.60 0.70 0.73 0.68 0.57 0.48 0.45 0.50 0.60 0.67 0.65 0.54 0.40 0.31 0.36 0.54 0.79 0.99 1.07 1.02 0.89 0.77 0.73 0.77 0.85 0.89 0.86 0.76 0.64 0.57 0.56 0.60 0.65 0.64 0.56 0.41 0.27 0.19 0.17 0.21 0.23 0.18 0.07 0.00 0.00 0.00 0.00 0.08 0.23 0.28 0.20 0.04 0.00 0.00 0.00 0.11 0.35 0.53 0.59 0.54 0.41 0.29 0.24 0.28 0.38 0.49 0.56 0.56 0.51 0.45 0.44 0.50 0.60 0.70 0.73 0.68 0.57 0.48 0.45 0.50 0.60 0.67 0.65 0.54 0.40 0.31 0.36 0.54 0.79 0.99 1.07 1.02 0.89 0.77 0.73 0.77 0.85 0.89 0.86 0.76 0.64 0.57 0.56 0.60 0.65 0.64 0.56 0.41 0.27 0.19 0.17 0.21 0.23 0.18 45.0 + 47.5 0.32 0.22 0.07 0.00 0.00 0.00 0.10 0.23 0.27 0.19 0.02 0.00 0.00 0.00 0.09 0.35 0.54 0.61 0.55 0.43 0.33 0.30 0.37 0.49 0.60 0.65 0.62 0.56 0.50 0.50 0.55 0.63 0.67 0.63 0.54 0.42 0.34 0.36 0.45 0.56 0.60 0.52 0.32 0.08 0.00 0.00 0.00 0.18 0.35 0.41 0.35 0.22 0.12 0.10 0.18 0.32 0.44 0.50 0.47 0.41 0.38 0.40 0.48 0.58 0.63 0.60 0.50 0.39 0.30 0.28 0.31 0.34 0.32 0.22 0.07 0.00 0.00 0.00 0.10 0.23 0.27 0.19 0.02 0.00 0.00 0.00 0.09 0.35 0.54 0.61 0.55 0.43 0.33 0.30 0.37 0.49 0.60 0.65 0.62 0.56 0.50 0.50 0.55 0.63 0.67 0.63 0.54 0.42 0.34 0.36 0.45 0.56 0.60 0.52 0.32 0.08 0.00 0.00 0.00 0.18 0.35 0.41 0.35 0.22 0.12 0.10 0.18 0.32 0.44 0.50 0.47 0.41 0.38 0.40 0.48 0.58 0.63 0.60 0.50 0.39 0.30 0.28 0.31 0.34 0.32 47.5 + 50.0 0.50 0.43 0.29 0.15 0.07 0.09 0.20 0.31 0.34 0.26 0.10 0.00 0.00 0.00 0.14 0.38 0.56 0.60 0.52 0.40 0.32 0.34 0.44 0.57 0.66 0.67 0.61 0.53 0.50 0.53 0.60 0.67 0.67 0.59 0.45 0.32 0.28 0.34 0.47 0.60 0.63 0.53 0.30 0.04 0.00 0.00 0.00 0.03 0.17 0.21 0.13 0.00 0.00 0.00 0.00 0.02 0.17 0.26 0.28 0.26 0.24 0.27 0.36 0.47 0.55 0.56 0.51 0.42 0.36 0.37 0.42 0.48 0.50 0.43 0.29 0.15 0.07 0.09 0.20 0.31 0.34 0.26 0.10 0.00 0.00 0.00 0.14 0.38 0.56 0.60 0.52 0.40 0.32 0.34 0.44 0.57 0.66 0.67 0.61 0.53 0.50 0.53 0.60 0.67 0.67 0.59 0.45 0.32 0.28 0.34 0.47 0.60 0.63 0.53 0.30 0.04 0.00 0.00 0.00 0.03 0.17 0.21 0.13 0.00 0.00 0.00 0.00 0.02 0.17 0.26 0.28 0.26 0.24 0.27 0.36 0.47 0.55 0.56 0.51 0.42 0.36 0.37 0.42 0.48 0.50 50.0 + 52.5 0.66 0.64 0.54 0.41 0.32 0.33 0.41 0.51 0.55 0.48 0.33 0.17 0.09 0.14 0.30 0.48 0.59 0.58 0.48 0.36 0.30 0.35 0.49 0.62 0.69 0.66 0.57 0.49 0.48 0.55 0.65 0.72 0.70 0.58 0.41 0.27 0.24 0.32 0.47 0.61 0.65 0.55 0.34 0.11 0.00 0.00 0.00 0.14 0.27 0.31 0.23 0.07 0.00 0.00 0.00 0.00 0.10 0.20 0.24 0.23 0.21 0.22 0.28 0.36 0.43 0.45 0.42 0.36 0.34 0.38 0.48 0.59 0.66 0.64 0.54 0.41 0.32 0.33 0.41 0.51 0.55 0.48 0.33 0.17 0.09 0.14 0.30 0.48 0.59 0.58 0.48 0.36 0.30 0.35 0.49 0.62 0.69 0.66 0.57 0.49 0.48 0.55 0.65 0.72 0.70 0.58 0.41 0.27 0.24 0.32 0.47 0.61 0.65 0.55 0.34 0.11 0.00 0.00 0.00 0.14 0.27 0.31 0.23 0.07 0.00 0.00 0.00 0.00 0.10 0.20 0.24 0.23 0.21 0.22 0.28 0.36 0.43 0.45 0.42 0.36 0.34 0.38 0.48 0.59 0.66 52.5 + 55.0 0.75 0.80 0.76 0.68 0.63 0.65 0.74 0.85 0.90 0.86 0.73 0.58 0.49 0.51 0.60 0.69 0.72 0.64 0.50 0.37 0.34 0.42 0.57 0.70 0.74 0.69 0.58 0.49 0.49 0.58 0.70 0.77 0.73 0.58 0.39 0.24 0.20 0.27 0.41 0.53 0.57 0.50 0.35 0.18 0.06 0.05 0.14 0.29 0.43 0.48 0.43 0.29 0.13 0.02 0.00 0.06 0.17 0.27 0.32 0.31 0.27 0.24 0.24 0.27 0.29 0.29 0.25 0.22 0.22 0.30 0.44 0.62 0.75 0.80 0.76 0.68 0.63 0.65 0.74 0.85 0.90 0.86 0.73 0.58 0.49 0.51 0.60 0.69 0.72 0.64 0.50 0.37 0.34 0.42 0.57 0.70 0.74 0.69 0.58 0.49 0.49 0.58 0.70 0.77 0.73 0.58 0.39 0.24 0.20 0.27 0.41 0.53 0.57 0.50 0.35 0.18 0.06 0.05 0.14 0.29 0.43 0.48 0.43 0.29 0.13 0.02 0.00 0.06 0.17 0.27 0.32 0.31 0.27 0.24 0.24 0.27 0.29 0.29 0.25 0.22 0.22 0.30 0.44 0.62 0.75 55.0 + 57.5 0.74 0.86 0.90 0.90 0.91 0.99 1.12 1.26 1.35 1.35 1.26 1.14 1.05 1.04 1.06 1.07 1.02 0.87 0.70 0.56 0.53 0.61 0.75 0.86 0.88 0.79 0.66 0.57 0.56 0.64 0.74 0.78 0.72 0.56 0.36 0.20 0.14 0.18 0.28 0.37 0.41 0.38 0.29 0.20 0.14 0.15 0.23 0.36 0.49 0.57 0.56 0.48 0.35 0.23 0.17 0.20 0.28 0.37 0.43 0.42 0.37 0.30 0.23 0.18 0.15 0.11 0.06 0.03 0.05 0.15 0.33 0.55 0.74 0.86 0.90 0.90 0.91 0.99 1.12 1.26 1.35 1.35 1.26 1.14 1.05 1.04 1.06 1.07 1.02 0.87 0.70 0.56 0.53 0.61 0.75 0.86 0.88 0.79 0.66 0.57 0.56 0.64 0.74 0.78 0.72 0.56 0.36 0.20 0.14 0.18 0.28 0.37 0.41 0.38 0.29 0.20 0.14 0.15 0.23 0.36 0.49 0.57 0.56 0.48 0.35 0.23 0.17 0.20 0.28 0.37 0.43 0.42 0.37 0.30 0.23 0.18 0.15 0.11 0.06 0.03 0.05 0.15 0.33 0.55 0.74 57.5 + 60.0 0.65 0.82 0.94 1.02 1.12 1.27 1.46 1.65 1.78 1.83 1.80 1.73 1.68 1.66 1.66 1.63 1.53 1.35 1.15 1.00 0.95 1.00 1.10 1.15 1.12 1.00 0.84 0.72 0.67 0.69 0.73 0.73 0.63 0.47 0.29 0.14 0.06 0.07 0.12 0.17 0.21 0.22 0.21 0.19 0.17 0.18 0.23 0.31 0.41 0.51 0.56 0.53 0.45 0.35 0.27 0.26 0.31 0.39 0.46 0.46 0.40 0.30 0.19 0.09 0.02 0.00 0.00 0.00 0.00 0.01 0.19 0.42 0.65 0.82 0.94 1.02 1.12 1.27 1.46 1.65 1.78 1.83 1.80 1.73 1.68 1.66 1.66 1.63 1.53 1.35 1.15 1.00 0.95 1.00 1.10 1.15 1.12 1.00 0.84 0.72 0.67 0.69 0.73 0.73 0.63 0.47 0.29 0.14 0.06 0.07 0.12 0.17 0.21 0.22 0.21 0.19 0.17 0.18 0.23 0.31 0.41 0.51 0.56 0.53 0.45 0.35 0.27 0.26 0.31 0.39 0.46 0.46 0.40 0.30 0.19 0.09 0.02 0.00 0.00 0.00 0.00 0.01 0.19 0.42 0.65 60.0 + 62.5 0.54 0.73 0.90 1.05 1.22 1.43 1.67 1.90 2.08 2.19 2.22 2.23 2.24 2.27 2.30 2.29 2.20 2.04 1.86 1.70 1.62 1.60 1.61 1.58 1.48 1.30 1.10 0.92 0.80 0.74 0.69 0.61 0.48 0.32 0.16 0.04 0.00 0.00 0.00 0.00 0.04 0.09 0.14 0.17 0.18 0.17 0.15 0.17 0.23 0.32 0.41 0.45 0.41 0.32 0.23 0.18 0.20 0.27 0.34 0.37 0.32 0.22 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.32 0.54 0.73 0.90 1.05 1.22 1.43 1.67 1.90 2.08 2.19 2.22 2.23 2.24 2.27 2.30 2.29 2.20 2.04 1.86 1.70 1.62 1.60 1.61 1.58 1.48 1.30 1.10 0.92 0.80 0.74 0.69 0.61 0.48 0.32 0.16 0.04 0.00 0.00 0.00 0.00 0.04 0.09 0.14 0.17 0.18 0.17 0.15 0.17 0.23 0.32 0.41 0.45 0.41 0.32 0.23 0.18 0.20 0.27 0.34 0.37 0.32 0.22 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.32 0.54 62.5 + 65.0 0.47 0.65 0.82 1.00 1.21 1.45 1.72 1.97 2.18 2.32 2.42 2.50 2.60 2.72 2.84 2.91 2.90 2.82 2.69 2.55 2.44 2.36 2.27 2.14 1.94 1.70 1.43 1.19 0.99 0.82 0.66 0.49 0.31 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.14 0.16 0.11 0.04 0.00 0.00 0.07 0.18 0.26 0.26 0.19 0.08 0.00 0.00 0.04 0.12 0.17 0.15 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.28 0.47 0.65 0.82 1.00 1.21 1.45 1.72 1.97 2.18 2.32 2.42 2.50 2.60 2.72 2.84 2.91 2.90 2.82 2.69 2.55 2.44 2.36 2.27 2.14 1.94 1.70 1.43 1.19 0.99 0.82 0.66 0.49 0.31 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.14 0.16 0.11 0.04 0.00 0.00 0.07 0.18 0.26 0.26 0.19 0.08 0.00 0.00 0.04 0.12 0.17 0.15 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.28 0.47 65.0 + 67.5 0.48 0.62 0.77 0.93 1.13 1.36 1.62 1.86 2.05 2.21 2.34 2.49 2.68 2.91 3.14 3.33 3.44 3.48 3.45 3.38 3.28 3.15 2.98 2.76 2.49 2.18 1.86 1.56 1.27 1.00 0.72 0.45 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.08 0.02 0.00 0.00 0.00 0.00 0.00 0.07 0.10 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.10 0.21 0.34 0.48 0.62 0.77 0.93 1.13 1.36 1.62 1.86 2.05 2.21 2.34 2.49 2.68 2.91 3.14 3.33 3.44 3.48 3.45 3.38 3.28 3.15 2.98 2.76 2.49 2.18 1.86 1.56 1.27 1.00 0.72 0.45 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.08 0.02 0.00 0.00 0.00 0.00 0.00 0.07 0.10 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.10 0.21 0.34 0.48 67.5 + 70.0 0.58 0.67 0.77 0.89 1.04 1.23 1.43 1.62 1.77 1.90 2.04 2.23 2.49 2.80 3.13 3.43 3.68 3.85 3.95 3.98 3.94 3.83 3.64 3.37 3.05 2.71 2.36 2.02 1.68 1.33 0.96 0.58 0.24 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.11 0.17 0.23 0.30 0.38 0.48 0.58 0.67 0.77 0.89 1.04 1.23 1.43 1.62 1.77 1.90 2.04 2.23 2.49 2.80 3.13 3.43 3.68 3.85 3.95 3.98 3.94 3.83 3.64 3.37 3.05 2.71 2.36 2.02 1.68 1.33 0.96 0.58 0.24 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.11 0.17 0.23 0.30 0.38 0.48 0.58 70.0 + 72.5 0.73 0.79 0.85 0.91 1.00 1.12 1.23 1.34 1.42 1.51 1.63 1.83 2.11 2.46 2.83 3.20 3.54 3.83 4.06 4.22 4.29 4.25 4.09 3.83 3.51 3.18 2.85 2.52 2.17 1.78 1.34 0.89 0.46 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.02 0.11 0.13 0.13 0.13 0.16 0.22 0.30 0.38 0.45 0.52 0.59 0.67 0.73 0.79 0.85 0.91 1.00 1.12 1.23 1.34 1.42 1.51 1.63 1.83 2.11 2.46 2.83 3.20 3.54 3.83 4.06 4.22 4.29 4.25 4.09 3.83 3.51 3.18 2.85 2.52 2.17 1.78 1.34 0.89 0.46 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.02 0.11 0.13 0.13 0.13 0.16 0.22 0.30 0.38 0.45 0.52 0.59 0.67 0.73 72.5 + 75.0 0.90 0.94 0.96 0.98 1.01 1.04 1.06 1.07 1.08 1.11 1.21 1.40 1.67 2.00 2.35 2.70 3.05 3.41 3.75 4.04 4.23 4.29 4.19 3.99 3.72 3.45 3.19 2.93 2.63 2.25 1.80 1.30 0.82 0.43 0.16 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.21 0.39 0.48 0.43 0.28 0.12 0.04 0.07 0.19 0.33 0.42 0.44 0.40 0.37 0.37 0.41 0.49 0.57 0.65 0.72 0.79 0.85 0.90 0.94 0.96 0.98 1.01 1.04 1.06 1.07 1.08 1.11 1.21 1.40 1.67 2.00 2.35 2.70 3.05 3.41 3.75 4.04 4.23 4.29 4.19 3.99 3.72 3.45 3.19 2.93 2.63 2.25 1.80 1.30 0.82 0.43 0.16 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.21 0.39 0.48 0.43 0.28 0.12 0.04 0.07 0.19 0.33 0.42 0.44 0.40 0.37 0.37 0.41 0.49 0.57 0.65 0.72 0.79 0.85 0.90 75.0 + 77.5 1.04 1.07 1.08 1.07 1.04 0.99 0.91 0.83 0.77 0.78 0.87 1.05 1.29 1.54 1.79 2.05 2.34 2.70 3.10 3.48 3.78 3.93 3.91 3.76 3.57 3.39 3.24 3.10 2.90 2.59 2.17 1.69 1.21 0.83 0.57 0.41 0.29 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.14 0.15 0.21 0.38 0.61 0.83 0.94 0.88 0.71 0.52 0.41 0.44 0.58 0.73 0.81 0.79 0.69 0.59 0.54 0.56 0.63 0.72 0.81 0.88 0.94 1.00 1.04 1.07 1.08 1.07 1.04 0.99 0.91 0.83 0.77 0.78 0.87 1.05 1.29 1.54 1.79 2.05 2.34 2.70 3.10 3.48 3.78 3.93 3.91 3.76 3.57 3.39 3.24 3.10 2.90 2.59 2.17 1.69 1.21 0.83 0.57 0.41 0.29 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.14 0.15 0.21 0.38 0.61 0.83 0.94 0.88 0.71 0.52 0.41 0.44 0.58 0.73 0.81 0.79 0.69 0.59 0.54 0.56 0.63 0.72 0.81 0.88 0.94 1.00 1.04 77.5 + 80.0 1.12 1.15 1.16 1.14 1.07 0.94 0.78 0.63 0.53 0.52 0.63 0.81 1.01 1.17 1.29 1.40 1.57 1.87 2.27 2.71 3.07 3.26 3.28 3.18 3.05 2.97 2.96 2.95 2.88 2.67 2.34 1.93 1.55 1.25 1.07 0.96 0.84 0.66 0.39 0.08 0.00 0.00 0.00 0.02 0.23 0.37 0.43 0.45 0.53 0.73 1.00 1.25 1.37 1.30 1.08 0.85 0.72 0.76 0.91 1.07 1.13 1.06 0.90 0.72 0.62 0.62 0.70 0.82 0.92 1.00 1.05 1.09 1.12 1.15 1.16 1.14 1.07 0.94 0.78 0.63 0.53 0.52 0.63 0.81 1.01 1.17 1.29 1.40 1.57 1.87 2.27 2.71 3.07 3.26 3.28 3.18 3.05 2.97 2.96 2.95 2.88 2.67 2.34 1.93 1.55 1.25 1.07 0.96 0.84 0.66 0.39 0.08 0.00 0.00 0.00 0.02 0.23 0.37 0.43 0.45 0.53 0.73 1.00 1.25 1.37 1.30 1.08 0.85 0.72 0.76 0.91 1.07 1.13 1.06 0.90 0.72 0.62 0.62 0.70 0.82 0.92 1.00 1.05 1.09 1.12 80.0 + 82.5 1.15 1.17 1.19 1.17 1.07 0.89 0.66 0.45 0.33 0.34 0.49 0.70 0.87 0.94 0.90 0.85 0.89 1.11 1.49 1.93 2.30 2.48 2.49 2.38 2.30 2.30 2.41 2.54 2.59 2.50 2.27 1.98 1.74 1.60 1.56 1.56 1.48 1.27 0.93 0.53 0.22 0.08 0.14 0.33 0.53 0.64 0.66 0.66 0.73 0.94 1.25 1.52 1.63 1.53 1.26 0.99 0.85 0.90 1.08 1.26 1.31 1.19 0.96 0.72 0.58 0.58 0.69 0.85 0.99 1.07 1.11 1.13 1.15 1.17 1.19 1.17 1.07 0.89 0.66 0.45 0.33 0.34 0.49 0.70 0.87 0.94 0.90 0.85 0.89 1.11 1.49 1.93 2.30 2.48 2.49 2.38 2.30 2.30 2.41 2.54 2.59 2.50 2.27 1.98 1.74 1.60 1.56 1.56 1.48 1.27 0.93 0.53 0.22 0.08 0.14 0.33 0.53 0.64 0.66 0.66 0.73 0.94 1.25 1.52 1.63 1.53 1.26 0.99 0.85 0.90 1.08 1.26 1.31 1.19 0.96 0.72 0.58 0.58 0.69 0.85 0.99 1.07 1.11 1.13 1.15 82.5 + 85.0 1.13 1.16 1.19 1.17 1.05 0.84 0.56 0.31 0.19 0.24 0.44 0.68 0.84 0.84 0.69 0.50 0.43 0.57 0.92 1.34 1.67 1.81 1.76 1.62 1.53 1.59 1.78 2.00 2.14 2.14 2.01 1.85 1.77 1.82 1.96 2.09 2.09 1.87 1.48 1.02 0.65 0.47 0.51 0.66 0.80 0.85 0.79 0.73 0.77 0.97 1.28 1.56 1.65 1.51 1.20 0.90 0.76 0.84 1.06 1.27 1.32 1.17 0.89 0.60 0.45 0.47 0.63 0.85 1.02 1.11 1.13 1.12 1.13 1.16 1.19 1.17 1.05 0.84 0.56 0.31 0.19 0.24 0.44 0.68 0.84 0.84 0.69 0.50 0.43 0.57 0.92 1.34 1.67 1.81 1.76 1.62 1.53 1.59 1.78 2.00 2.14 2.14 2.01 1.85 1.77 1.82 1.96 2.09 2.09 1.87 1.48 1.02 0.65 0.47 0.51 0.66 0.80 0.85 0.79 0.73 0.77 0.97 1.28 1.56 1.65 1.51 1.20 0.90 0.76 0.84 1.06 1.27 1.32 1.17 0.89 0.60 0.45 0.47 0.63 0.85 1.02 1.11 1.13 1.12 1.13 85.0 + 87.5 1.10 1.13 1.16 1.15 1.03 0.80 0.50 0.24 0.13 0.22 0.47 0.75 0.92 0.87 0.64 0.37 0.24 0.35 0.67 1.06 1.35 1.41 1.28 1.08 0.98 1.05 1.27 1.52 1.69 1.72 1.64 1.58 1.65 1.87 2.18 2.45 2.52 2.33 1.92 1.45 1.06 0.87 0.88 0.99 1.05 1.00 0.85 0.71 0.71 0.89 1.18 1.43 1.49 1.31 0.97 0.66 0.53 0.65 0.91 1.15 1.21 1.05 0.74 0.44 0.29 0.34 0.55 0.81 1.02 1.13 1.14 1.11 1.10 1.13 1.16 1.15 1.03 0.80 0.50 0.24 0.13 0.22 0.47 0.75 0.92 0.87 0.64 0.37 0.24 0.35 0.67 1.06 1.35 1.41 1.28 1.08 0.98 1.05 1.27 1.52 1.69 1.72 1.64 1.58 1.65 1.87 2.18 2.45 2.52 2.33 1.92 1.45 1.06 0.87 0.88 0.99 1.05 1.00 0.85 0.71 0.71 0.89 1.18 1.43 1.49 1.31 0.97 0.66 0.53 0.65 0.91 1.15 1.21 1.05 0.74 0.44 0.29 0.34 0.55 0.81 1.02 1.13 1.14 1.11 1.10 87.5 + 90.0 1.09 1.11 1.15 1.14 1.02 0.79 0.50 0.25 0.17 0.29 0.58 0.89 1.05 0.99 0.74 0.45 0.31 0.42 0.73 1.09 1.33 1.32 1.12 0.87 0.72 0.77 0.97 1.20 1.33 1.33 1.26 1.24 1.40 1.74 2.17 2.53 2.67 2.53 2.17 1.74 1.40 1.24 1.26 1.33 1.33 1.20 0.97 0.77 0.72 0.87 1.12 1.32 1.33 1.09 0.73 0.42 0.31 0.45 0.74 0.99 1.05 0.89 0.58 0.29 0.17 0.25 0.50 0.79 1.02 1.14 1.15 1.11 1.09 1.11 1.15 1.14 1.02 0.79 0.50 0.25 0.17 0.29 0.58 0.89 1.05 0.99 0.74 0.45 0.31 0.42 0.73 1.09 1.33 1.32 1.12 0.87 0.72 0.77 0.97 1.20 1.33 1.33 1.26 1.24 1.40 1.74 2.17 2.53 2.67 2.53 2.17 1.74 1.40 1.24 1.26 1.33 1.33 1.20 0.97 0.77 0.72 0.87 1.12 1.32 1.33 1.09 0.73 0.42 0.31 0.45 0.74 0.99 1.05 0.89 0.58 0.29 0.17 0.25 0.50 0.79 1.02 1.14 1.15 1.11 1.09 90.0 + + 30.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 4.83 ) PHI2 = 30. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.0 + 2.5 0.37 0.36 0.27 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.40 0.39 0.41 0.50 0.65 0.84 1.05 1.27 1.51 1.76 1.99 2.17 2.25 2.20 2.05 1.84 1.60 1.36 1.14 0.92 0.72 0.55 0.45 0.41 0.40 0.36 0.25 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.23 0.34 0.37 0.38 0.43 0.55 0.72 0.93 1.15 1.37 1.61 1.86 2.09 2.24 2.29 2.21 2.02 1.78 1.52 1.28 1.06 0.84 0.65 0.49 0.39 0.36 0.37 0.36 0.27 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.40 0.39 0.41 0.50 0.65 0.84 1.05 1.27 1.51 1.76 1.99 2.17 2.25 2.20 2.05 1.84 1.60 1.36 1.14 0.92 0.72 0.55 0.45 0.41 0.40 0.36 0.25 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.23 0.34 0.37 0.38 0.43 0.55 0.72 0.93 1.15 1.37 1.61 1.86 2.09 2.24 2.29 2.21 2.02 1.78 1.52 1.28 1.06 0.84 0.65 0.49 0.39 0.36 0.37 2.5 + 5.0 0.36 0.40 0.38 0.27 0.10 0.00 0.00 0.00 0.08 0.28 0.43 0.50 0.48 0.42 0.38 0.40 0.51 0.67 0.88 1.12 1.38 1.66 1.92 2.14 2.26 2.26 2.15 1.94 1.70 1.44 1.19 0.95 0.76 0.61 0.53 0.51 0.50 0.46 0.34 0.15 0.00 0.00 0.00 0.00 0.00 0.16 0.32 0.39 0.41 0.43 0.49 0.62 0.80 1.02 1.25 1.50 1.77 2.05 2.28 2.42 2.43 2.29 2.04 1.73 1.42 1.15 0.90 0.69 0.50 0.36 0.30 0.30 0.36 0.40 0.38 0.27 0.10 0.00 0.00 0.00 0.08 0.28 0.43 0.50 0.48 0.42 0.38 0.40 0.51 0.67 0.88 1.12 1.38 1.66 1.92 2.14 2.26 2.26 2.15 1.94 1.70 1.44 1.19 0.95 0.76 0.61 0.53 0.51 0.50 0.46 0.34 0.15 0.00 0.00 0.00 0.00 0.00 0.16 0.32 0.39 0.41 0.43 0.49 0.62 0.80 1.02 1.25 1.50 1.77 2.05 2.28 2.42 2.43 2.29 2.04 1.73 1.42 1.15 0.90 0.69 0.50 0.36 0.30 0.30 0.36 5.0 + 7.5 0.38 0.49 0.54 0.51 0.40 0.28 0.20 0.23 0.35 0.50 0.63 0.67 0.61 0.50 0.39 0.34 0.38 0.51 0.71 0.96 1.23 1.53 1.82 2.07 2.25 2.30 2.23 2.06 1.81 1.53 1.26 1.02 0.84 0.73 0.69 0.70 0.71 0.68 0.56 0.39 0.20 0.07 0.06 0.15 0.31 0.47 0.58 0.62 0.63 0.64 0.71 0.84 1.02 1.23 1.46 1.73 2.01 2.30 2.52 2.63 2.57 2.36 2.03 1.65 1.29 0.98 0.73 0.52 0.36 0.26 0.23 0.28 0.38 0.49 0.54 0.51 0.40 0.28 0.20 0.23 0.35 0.50 0.63 0.67 0.61 0.50 0.39 0.34 0.38 0.51 0.71 0.96 1.23 1.53 1.82 2.07 2.25 2.30 2.23 2.06 1.81 1.53 1.26 1.02 0.84 0.73 0.69 0.70 0.71 0.68 0.56 0.39 0.20 0.07 0.06 0.15 0.31 0.47 0.58 0.62 0.63 0.64 0.71 0.84 1.02 1.23 1.46 1.73 2.01 2.30 2.52 2.63 2.57 2.36 2.03 1.65 1.29 0.98 0.73 0.52 0.36 0.26 0.23 0.28 0.38 7.5 + 10.0 0.45 0.59 0.70 0.73 0.68 0.58 0.50 0.49 0.57 0.69 0.80 0.84 0.78 0.64 0.49 0.38 0.36 0.45 0.63 0.86 1.12 1.41 1.69 1.96 2.17 2.28 2.26 2.13 1.89 1.61 1.33 1.10 0.95 0.90 0.93 0.99 1.03 1.01 0.91 0.76 0.62 0.55 0.58 0.71 0.86 0.99 1.05 1.06 1.05 1.06 1.13 1.25 1.40 1.57 1.78 2.02 2.28 2.54 2.73 2.77 2.65 2.35 1.95 1.53 1.14 0.83 0.60 0.43 0.31 0.25 0.25 0.32 0.45 0.59 0.70 0.73 0.68 0.58 0.50 0.49 0.57 0.69 0.80 0.84 0.78 0.64 0.49 0.38 0.36 0.45 0.63 0.86 1.12 1.41 1.69 1.96 2.17 2.28 2.26 2.13 1.89 1.61 1.33 1.10 0.95 0.90 0.93 0.99 1.03 1.01 0.91 0.76 0.62 0.55 0.58 0.71 0.86 0.99 1.05 1.06 1.05 1.06 1.13 1.25 1.40 1.57 1.78 2.02 2.28 2.54 2.73 2.77 2.65 2.35 1.95 1.53 1.14 0.83 0.60 0.43 0.31 0.25 0.25 0.32 0.45 10.0 + 12.5 0.55 0.69 0.82 0.88 0.87 0.79 0.70 0.65 0.68 0.77 0.89 0.96 0.93 0.81 0.65 0.51 0.46 0.51 0.65 0.84 1.07 1.30 1.55 1.80 2.02 2.17 2.22 2.13 1.93 1.66 1.38 1.17 1.07 1.07 1.17 1.29 1.38 1.38 1.30 1.18 1.09 1.07 1.16 1.32 1.48 1.59 1.62 1.60 1.57 1.58 1.64 1.74 1.85 1.98 2.13 2.30 2.51 2.70 2.81 2.78 2.57 2.22 1.79 1.35 0.98 0.71 0.53 0.42 0.35 0.33 0.35 0.42 0.55 0.69 0.82 0.88 0.87 0.79 0.70 0.65 0.68 0.77 0.89 0.96 0.93 0.81 0.65 0.51 0.46 0.51 0.65 0.84 1.07 1.30 1.55 1.80 2.02 2.17 2.22 2.13 1.93 1.66 1.38 1.17 1.07 1.07 1.17 1.29 1.38 1.38 1.30 1.18 1.09 1.07 1.16 1.32 1.48 1.59 1.62 1.60 1.57 1.58 1.64 1.74 1.85 1.98 2.13 2.30 2.51 2.70 2.81 2.78 2.57 2.22 1.79 1.35 0.98 0.71 0.53 0.42 0.35 0.33 0.35 0.42 0.55 12.5 + 15.0 0.61 0.74 0.86 0.94 0.95 0.89 0.78 0.69 0.67 0.74 0.86 0.97 1.01 0.94 0.80 0.66 0.59 0.61 0.71 0.87 1.04 1.22 1.41 1.63 1.85 2.03 2.12 2.09 1.92 1.67 1.41 1.21 1.13 1.18 1.32 1.49 1.61 1.65 1.59 1.50 1.45 1.48 1.61 1.80 1.97 2.06 2.07 2.03 1.98 1.99 2.05 2.14 2.23 2.31 2.40 2.50 2.61 2.70 2.72 2.60 2.33 1.95 1.52 1.12 0.80 0.59 0.47 0.43 0.42 0.43 0.46 0.52 0.61 0.74 0.86 0.94 0.95 0.89 0.78 0.69 0.67 0.74 0.86 0.97 1.01 0.94 0.80 0.66 0.59 0.61 0.71 0.87 1.04 1.22 1.41 1.63 1.85 2.03 2.12 2.09 1.92 1.67 1.41 1.21 1.13 1.18 1.32 1.49 1.61 1.65 1.59 1.50 1.45 1.48 1.61 1.80 1.97 2.06 2.07 2.03 1.98 1.99 2.05 2.14 2.23 2.31 2.40 2.50 2.61 2.70 2.72 2.60 2.33 1.95 1.52 1.12 0.80 0.59 0.47 0.43 0.42 0.43 0.46 0.52 0.61 15.0 + 17.5 0.59 0.69 0.82 0.92 0.96 0.91 0.78 0.65 0.58 0.61 0.73 0.88 0.97 0.96 0.87 0.75 0.67 0.67 0.75 0.87 1.00 1.14 1.29 1.48 1.69 1.90 2.02 2.03 1.90 1.66 1.40 1.20 1.11 1.16 1.31 1.50 1.65 1.71 1.69 1.63 1.60 1.67 1.82 2.02 2.18 2.27 2.25 2.19 2.13 2.14 2.20 2.30 2.39 2.46 2.50 2.54 2.55 2.54 2.45 2.25 1.95 1.57 1.18 0.84 0.58 0.43 0.37 0.38 0.41 0.45 0.49 0.53 0.59 0.69 0.82 0.92 0.96 0.91 0.78 0.65 0.58 0.61 0.73 0.88 0.97 0.96 0.87 0.75 0.67 0.67 0.75 0.87 1.00 1.14 1.29 1.48 1.69 1.90 2.02 2.03 1.90 1.66 1.40 1.20 1.11 1.16 1.31 1.50 1.65 1.71 1.69 1.63 1.60 1.67 1.82 2.02 2.18 2.27 2.25 2.19 2.13 2.14 2.20 2.30 2.39 2.46 2.50 2.54 2.55 2.54 2.45 2.25 1.95 1.57 1.18 0.84 0.58 0.43 0.37 0.38 0.41 0.45 0.49 0.53 0.59 17.5 + 20.0 0.47 0.56 0.69 0.83 0.91 0.89 0.76 0.59 0.46 0.44 0.53 0.69 0.82 0.87 0.82 0.72 0.65 0.64 0.71 0.82 0.94 1.06 1.20 1.38 1.59 1.80 1.94 1.97 1.86 1.64 1.38 1.15 1.03 1.04 1.16 1.34 1.50 1.59 1.60 1.58 1.59 1.67 1.83 2.02 2.18 2.25 2.22 2.13 2.06 2.06 2.13 2.24 2.35 2.42 2.44 2.42 2.35 2.23 2.04 1.79 1.48 1.13 0.80 0.53 0.33 0.22 0.20 0.23 0.29 0.35 0.39 0.42 0.47 0.56 0.69 0.83 0.91 0.89 0.76 0.59 0.46 0.44 0.53 0.69 0.82 0.87 0.82 0.72 0.65 0.64 0.71 0.82 0.94 1.06 1.20 1.38 1.59 1.80 1.94 1.97 1.86 1.64 1.38 1.15 1.03 1.04 1.16 1.34 1.50 1.59 1.60 1.58 1.59 1.67 1.83 2.02 2.18 2.25 2.22 2.13 2.06 2.06 2.13 2.24 2.35 2.42 2.44 2.42 2.35 2.23 2.04 1.79 1.48 1.13 0.80 0.53 0.33 0.22 0.20 0.23 0.29 0.35 0.39 0.42 0.47 20.0 + 22.5 0.28 0.37 0.52 0.70 0.83 0.85 0.74 0.55 0.37 0.28 0.33 0.48 0.63 0.71 0.69 0.61 0.55 0.54 0.60 0.72 0.85 0.99 1.13 1.31 1.51 1.71 1.86 1.90 1.80 1.60 1.34 1.10 0.94 0.90 0.97 1.12 1.27 1.40 1.47 1.51 1.56 1.67 1.84 2.03 2.19 2.25 2.21 2.11 2.01 1.98 2.03 2.13 2.24 2.31 2.31 2.22 2.06 1.85 1.59 1.29 0.99 0.70 0.44 0.23 0.07 0.00 0.00 0.00 0.07 0.14 0.20 0.23 0.28 0.37 0.52 0.70 0.83 0.85 0.74 0.55 0.37 0.28 0.33 0.48 0.63 0.71 0.69 0.61 0.55 0.54 0.60 0.72 0.85 0.99 1.13 1.31 1.51 1.71 1.86 1.90 1.80 1.60 1.34 1.10 0.94 0.90 0.97 1.12 1.27 1.40 1.47 1.51 1.56 1.67 1.84 2.03 2.19 2.25 2.21 2.11 2.01 1.98 2.03 2.13 2.24 2.31 2.31 2.22 2.06 1.85 1.59 1.29 0.99 0.70 0.44 0.23 0.07 0.00 0.00 0.00 0.07 0.14 0.20 0.23 0.28 22.5 + 25.0 0.08 0.17 0.33 0.54 0.72 0.79 0.71 0.51 0.30 0.17 0.18 0.30 0.45 0.55 0.55 0.49 0.43 0.43 0.49 0.61 0.76 0.91 1.06 1.22 1.41 1.58 1.71 1.75 1.68 1.51 1.29 1.07 0.90 0.83 0.85 0.96 1.12 1.29 1.43 1.56 1.69 1.85 2.05 2.26 2.44 2.52 2.49 2.39 2.26 2.17 2.16 2.20 2.26 2.28 2.21 2.05 1.80 1.49 1.16 0.84 0.57 0.34 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.08 0.17 0.33 0.54 0.72 0.79 0.71 0.51 0.30 0.17 0.18 0.30 0.45 0.55 0.55 0.49 0.43 0.43 0.49 0.61 0.76 0.91 1.06 1.22 1.41 1.58 1.71 1.75 1.68 1.51 1.29 1.07 0.90 0.83 0.85 0.96 1.12 1.29 1.43 1.56 1.69 1.85 2.05 2.26 2.44 2.52 2.49 2.39 2.26 2.17 2.16 2.20 2.26 2.28 2.21 2.05 1.80 1.49 1.16 0.84 0.57 0.34 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.08 25.0 + 27.5 0.00 0.01 0.15 0.37 0.57 0.68 0.64 0.46 0.25 0.10 0.09 0.19 0.34 0.44 0.47 0.43 0.37 0.36 0.42 0.53 0.67 0.81 0.95 1.08 1.22 1.35 1.45 1.48 1.44 1.35 1.21 1.06 0.94 0.87 0.88 0.97 1.13 1.33 1.56 1.78 2.01 2.25 2.51 2.78 3.00 3.13 3.15 3.06 2.91 2.75 2.63 2.56 2.50 2.42 2.25 1.98 1.62 1.22 0.83 0.51 0.26 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.15 0.37 0.57 0.68 0.64 0.46 0.25 0.10 0.09 0.19 0.34 0.44 0.47 0.43 0.37 0.36 0.42 0.53 0.67 0.81 0.95 1.08 1.22 1.35 1.45 1.48 1.44 1.35 1.21 1.06 0.94 0.87 0.88 0.97 1.13 1.33 1.56 1.78 2.01 2.25 2.51 2.78 3.00 3.13 3.15 3.06 2.91 2.75 2.63 2.56 2.50 2.42 2.25 1.98 1.62 1.22 0.83 0.51 0.26 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 27.5 + 30.0 0.00 0.00 0.01 0.19 0.40 0.53 0.53 0.40 0.21 0.08 0.05 0.15 0.29 0.41 0.45 0.42 0.37 0.36 0.39 0.48 0.58 0.68 0.77 0.86 0.95 1.03 1.09 1.12 1.12 1.11 1.08 1.06 1.02 1.00 1.01 1.09 1.24 1.47 1.76 2.08 2.40 2.72 3.05 3.38 3.67 3.89 3.98 3.93 3.77 3.55 3.31 3.10 2.90 2.68 2.39 2.01 1.55 1.07 0.64 0.31 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.19 0.40 0.53 0.53 0.40 0.21 0.08 0.05 0.15 0.29 0.41 0.45 0.42 0.37 0.36 0.39 0.48 0.58 0.68 0.77 0.86 0.95 1.03 1.09 1.12 1.12 1.11 1.08 1.06 1.02 1.00 1.01 1.09 1.24 1.47 1.76 2.08 2.40 2.72 3.05 3.38 3.67 3.89 3.98 3.93 3.77 3.55 3.31 3.10 2.90 2.68 2.39 2.01 1.55 1.07 0.64 0.31 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 30.0 + 32.5 0.00 0.00 0.00 0.03 0.22 0.37 0.41 0.33 0.19 0.08 0.05 0.14 0.27 0.40 0.46 0.45 0.42 0.39 0.39 0.43 0.47 0.52 0.56 0.60 0.64 0.68 0.70 0.72 0.76 0.83 0.92 1.02 1.10 1.14 1.16 1.22 1.34 1.57 1.88 2.24 2.62 2.99 3.37 3.74 4.10 4.39 4.57 4.59 4.45 4.20 3.88 3.56 3.24 2.91 2.52 2.06 1.55 1.03 0.59 0.27 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.22 0.37 0.41 0.33 0.19 0.08 0.05 0.14 0.27 0.40 0.46 0.45 0.42 0.39 0.39 0.43 0.47 0.52 0.56 0.60 0.64 0.68 0.70 0.72 0.76 0.83 0.92 1.02 1.10 1.14 1.16 1.22 1.34 1.57 1.88 2.24 2.62 2.99 3.37 3.74 4.10 4.39 4.57 4.59 4.45 4.20 3.88 3.56 3.24 2.91 2.52 2.06 1.55 1.03 0.59 0.27 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 32.5 + 35.0 0.00 0.00 0.00 0.00 0.07 0.23 0.32 0.29 0.19 0.10 0.07 0.12 0.24 0.36 0.44 0.47 0.45 0.42 0.39 0.37 0.36 0.35 0.36 0.38 0.39 0.40 0.40 0.41 0.46 0.58 0.75 0.94 1.10 1.19 1.22 1.24 1.31 1.49 1.77 2.12 2.49 2.86 3.23 3.60 3.97 4.31 4.56 4.66 4.57 4.33 4.00 3.63 3.27 2.90 2.50 2.05 1.55 1.05 0.63 0.33 0.16 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.04 0.00 0.00 0.00 0.00 0.07 0.23 0.32 0.29 0.19 0.10 0.07 0.12 0.24 0.36 0.44 0.47 0.45 0.42 0.39 0.37 0.36 0.35 0.36 0.38 0.39 0.40 0.40 0.41 0.46 0.58 0.75 0.94 1.10 1.19 1.22 1.24 1.31 1.49 1.77 2.12 2.49 2.86 3.23 3.60 3.97 4.31 4.56 4.66 4.57 4.33 4.00 3.63 3.27 2.90 2.50 2.05 1.55 1.05 0.63 0.33 0.16 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.04 0.00 35.0 + 37.5 0.00 0.00 0.00 0.00 0.00 0.14 0.26 0.28 0.22 0.12 0.07 0.09 0.17 0.29 0.40 0.46 0.47 0.44 0.38 0.31 0.25 0.22 0.23 0.25 0.28 0.29 0.27 0.26 0.30 0.41 0.61 0.84 1.03 1.13 1.14 1.10 1.11 1.21 1.43 1.72 2.03 2.32 2.60 2.90 3.23 3.56 3.84 4.00 3.98 3.81 3.52 3.19 2.87 2.57 2.25 1.89 1.48 1.06 0.69 0.43 0.28 0.21 0.15 0.07 0.00 0.00 0.00 0.00 0.00 0.05 0.12 0.09 0.00 0.00 0.00 0.00 0.00 0.14 0.26 0.28 0.22 0.12 0.07 0.09 0.17 0.29 0.40 0.46 0.47 0.44 0.38 0.31 0.25 0.22 0.23 0.25 0.28 0.29 0.27 0.26 0.30 0.41 0.61 0.84 1.03 1.13 1.14 1.10 1.11 1.21 1.43 1.72 2.03 2.32 2.60 2.90 3.23 3.56 3.84 4.00 3.98 3.81 3.52 3.19 2.87 2.57 2.25 1.89 1.48 1.06 0.69 0.43 0.28 0.21 0.15 0.07 0.00 0.00 0.00 0.00 0.00 0.05 0.12 0.09 0.00 37.5 + 40.0 0.00 0.00 0.00 0.00 0.00 0.09 0.24 0.29 0.25 0.14 0.05 0.02 0.08 0.20 0.34 0.45 0.49 0.47 0.39 0.28 0.20 0.17 0.20 0.27 0.33 0.35 0.32 0.28 0.27 0.36 0.53 0.73 0.90 0.98 0.94 0.86 0.81 0.85 0.99 1.20 1.41 1.57 1.72 1.88 2.10 2.37 2.64 2.83 2.88 2.77 2.57 2.33 2.12 1.95 1.78 1.57 1.30 1.00 0.71 0.50 0.38 0.33 0.29 0.23 0.12 0.00 0.00 0.00 0.00 0.09 0.14 0.10 0.00 0.00 0.00 0.00 0.00 0.09 0.24 0.29 0.25 0.14 0.05 0.02 0.08 0.20 0.34 0.45 0.49 0.47 0.39 0.28 0.20 0.17 0.20 0.27 0.33 0.35 0.32 0.28 0.27 0.36 0.53 0.73 0.90 0.98 0.94 0.86 0.81 0.85 0.99 1.20 1.41 1.57 1.72 1.88 2.10 2.37 2.64 2.83 2.88 2.77 2.57 2.33 2.12 1.95 1.78 1.57 1.30 1.00 0.71 0.50 0.38 0.33 0.29 0.23 0.12 0.00 0.00 0.00 0.00 0.09 0.14 0.10 0.00 40.0 + 42.5 0.01 0.00 0.00 0.00 0.00 0.06 0.22 0.29 0.26 0.14 0.01 0.00 0.00 0.11 0.30 0.46 0.54 0.52 0.42 0.29 0.20 0.19 0.26 0.38 0.47 0.50 0.46 0.39 0.35 0.39 0.51 0.67 0.78 0.80 0.72 0.60 0.53 0.54 0.65 0.78 0.88 0.91 0.89 0.89 0.97 1.15 1.38 1.57 1.66 1.61 1.47 1.33 1.23 1.20 1.19 1.15 1.03 0.85 0.66 0.50 0.42 0.40 0.40 0.37 0.29 0.18 0.09 0.05 0.08 0.13 0.16 0.12 0.01 0.00 0.00 0.00 0.00 0.06 0.22 0.29 0.26 0.14 0.01 0.00 0.00 0.11 0.30 0.46 0.54 0.52 0.42 0.29 0.20 0.19 0.26 0.38 0.47 0.50 0.46 0.39 0.35 0.39 0.51 0.67 0.78 0.80 0.72 0.60 0.53 0.54 0.65 0.78 0.88 0.91 0.89 0.89 0.97 1.15 1.38 1.57 1.66 1.61 1.47 1.33 1.23 1.20 1.19 1.15 1.03 0.85 0.66 0.50 0.42 0.40 0.40 0.37 0.29 0.18 0.09 0.05 0.08 0.13 0.16 0.12 0.01 42.5 + 45.0 0.07 0.00 0.00 0.00 0.00 0.01 0.17 0.26 0.23 0.10 0.00 0.00 0.00 0.06 0.30 0.51 0.62 0.59 0.47 0.33 0.24 0.26 0.37 0.51 0.63 0.65 0.60 0.51 0.45 0.46 0.55 0.65 0.70 0.65 0.54 0.41 0.35 0.39 0.49 0.59 0.61 0.51 0.35 0.21 0.18 0.27 0.45 0.62 0.71 0.68 0.58 0.49 0.46 0.52 0.63 0.71 0.72 0.65 0.53 0.43 0.39 0.41 0.45 0.48 0.44 0.35 0.25 0.18 0.17 0.19 0.21 0.17 0.07 0.00 0.00 0.00 0.00 0.01 0.17 0.26 0.23 0.10 0.00 0.00 0.00 0.06 0.30 0.51 0.62 0.59 0.47 0.33 0.24 0.26 0.37 0.51 0.63 0.65 0.60 0.51 0.45 0.46 0.55 0.65 0.70 0.65 0.54 0.41 0.35 0.39 0.49 0.59 0.61 0.51 0.35 0.21 0.18 0.27 0.45 0.62 0.71 0.68 0.58 0.49 0.46 0.52 0.63 0.71 0.72 0.65 0.53 0.43 0.39 0.41 0.45 0.48 0.44 0.35 0.25 0.18 0.17 0.19 0.21 0.17 0.07 45.0 + 47.5 0.19 0.05 0.00 0.00 0.00 0.00 0.12 0.21 0.18 0.05 0.00 0.00 0.00 0.05 0.32 0.56 0.68 0.64 0.50 0.34 0.27 0.31 0.45 0.61 0.72 0.72 0.65 0.56 0.52 0.55 0.63 0.69 0.67 0.57 0.42 0.31 0.29 0.38 0.52 0.62 0.59 0.42 0.17 0.00 0.00 0.00 0.01 0.17 0.25 0.21 0.10 0.00 0.00 0.07 0.22 0.37 0.46 0.46 0.40 0.34 0.33 0.38 0.47 0.54 0.54 0.48 0.37 0.29 0.25 0.27 0.29 0.28 0.19 0.05 0.00 0.00 0.00 0.00 0.12 0.21 0.18 0.05 0.00 0.00 0.00 0.05 0.32 0.56 0.68 0.64 0.50 0.34 0.27 0.31 0.45 0.61 0.72 0.72 0.65 0.56 0.52 0.55 0.63 0.69 0.67 0.57 0.42 0.31 0.29 0.38 0.52 0.62 0.59 0.42 0.17 0.00 0.00 0.00 0.01 0.17 0.25 0.21 0.10 0.00 0.00 0.07 0.22 0.37 0.46 0.46 0.40 0.34 0.33 0.38 0.47 0.54 0.54 0.48 0.37 0.29 0.25 0.27 0.29 0.28 0.19 47.5 + 50.0 0.36 0.22 0.05 0.00 0.00 0.00 0.10 0.18 0.17 0.05 0.00 0.00 0.00 0.08 0.36 0.59 0.69 0.62 0.46 0.31 0.25 0.33 0.49 0.65 0.73 0.71 0.63 0.56 0.56 0.64 0.73 0.77 0.71 0.56 0.38 0.26 0.28 0.42 0.61 0.72 0.69 0.49 0.21 0.00 0.00 0.00 0.00 0.15 0.22 0.17 0.04 0.00 0.00 0.00 0.04 0.20 0.31 0.34 0.32 0.29 0.30 0.37 0.47 0.56 0.58 0.52 0.42 0.33 0.30 0.34 0.40 0.42 0.36 0.22 0.05 0.00 0.00 0.00 0.10 0.18 0.17 0.05 0.00 0.00 0.00 0.08 0.36 0.59 0.69 0.62 0.46 0.31 0.25 0.33 0.49 0.65 0.73 0.71 0.63 0.56 0.56 0.64 0.73 0.77 0.71 0.56 0.38 0.26 0.28 0.42 0.61 0.72 0.69 0.49 0.21 0.00 0.00 0.00 0.00 0.15 0.22 0.17 0.04 0.00 0.00 0.00 0.04 0.20 0.31 0.34 0.32 0.29 0.30 0.37 0.47 0.56 0.58 0.52 0.42 0.33 0.30 0.34 0.40 0.42 0.36 50.0 + 52.5 0.55 0.43 0.25 0.09 0.03 0.08 0.18 0.26 0.25 0.14 0.00 0.00 0.00 0.17 0.42 0.61 0.66 0.56 0.38 0.24 0.22 0.33 0.50 0.66 0.71 0.67 0.59 0.55 0.61 0.73 0.85 0.88 0.78 0.57 0.36 0.24 0.27 0.43 0.63 0.76 0.74 0.57 0.32 0.10 0.00 0.05 0.20 0.36 0.43 0.38 0.24 0.08 0.00 0.00 0.07 0.20 0.30 0.35 0.34 0.32 0.33 0.39 0.47 0.53 0.54 0.47 0.37 0.30 0.29 0.37 0.48 0.56 0.55 0.43 0.25 0.09 0.03 0.08 0.18 0.26 0.25 0.14 0.00 0.00 0.00 0.17 0.42 0.61 0.66 0.56 0.38 0.24 0.22 0.33 0.50 0.66 0.71 0.67 0.59 0.55 0.61 0.73 0.85 0.88 0.78 0.57 0.36 0.24 0.27 0.43 0.63 0.76 0.74 0.57 0.32 0.10 0.00 0.05 0.20 0.36 0.43 0.38 0.24 0.08 0.00 0.00 0.07 0.20 0.30 0.35 0.34 0.32 0.33 0.39 0.47 0.53 0.54 0.47 0.37 0.30 0.29 0.37 0.48 0.56 0.55 52.5 + 55.0 0.71 0.63 0.48 0.33 0.27 0.30 0.40 0.48 0.47 0.37 0.24 0.16 0.20 0.35 0.54 0.66 0.65 0.51 0.33 0.21 0.22 0.36 0.55 0.69 0.72 0.66 0.58 0.58 0.67 0.83 0.96 0.97 0.83 0.59 0.34 0.20 0.21 0.36 0.55 0.68 0.68 0.55 0.37 0.21 0.17 0.25 0.41 0.57 0.66 0.64 0.52 0.37 0.25 0.21 0.24 0.33 0.41 0.45 0.45 0.43 0.42 0.43 0.46 0.47 0.43 0.35 0.25 0.19 0.22 0.35 0.52 0.66 0.71 0.63 0.48 0.33 0.27 0.30 0.40 0.48 0.47 0.37 0.24 0.16 0.20 0.35 0.54 0.66 0.65 0.51 0.33 0.21 0.22 0.36 0.55 0.69 0.72 0.66 0.58 0.58 0.67 0.83 0.96 0.97 0.83 0.59 0.34 0.20 0.21 0.36 0.55 0.68 0.68 0.55 0.37 0.21 0.17 0.25 0.41 0.57 0.66 0.64 0.52 0.37 0.25 0.21 0.24 0.33 0.41 0.45 0.45 0.43 0.42 0.43 0.46 0.47 0.43 0.35 0.25 0.19 0.22 0.35 0.52 0.66 0.71 55.0 + 57.5 0.80 0.79 0.70 0.60 0.56 0.61 0.72 0.80 0.81 0.72 0.60 0.52 0.54 0.65 0.77 0.83 0.77 0.60 0.42 0.32 0.35 0.50 0.68 0.79 0.80 0.72 0.64 0.64 0.74 0.89 1.00 0.98 0.82 0.56 0.30 0.14 0.12 0.23 0.38 0.49 0.52 0.46 0.36 0.28 0.28 0.37 0.51 0.67 0.77 0.79 0.74 0.63 0.52 0.45 0.44 0.48 0.53 0.56 0.56 0.53 0.49 0.46 0.42 0.37 0.29 0.18 0.09 0.05 0.12 0.28 0.51 0.70 0.80 0.79 0.70 0.60 0.56 0.61 0.72 0.80 0.81 0.72 0.60 0.52 0.54 0.65 0.77 0.83 0.77 0.60 0.42 0.32 0.35 0.50 0.68 0.79 0.80 0.72 0.64 0.64 0.74 0.89 1.00 0.98 0.82 0.56 0.30 0.14 0.12 0.23 0.38 0.49 0.52 0.46 0.36 0.28 0.28 0.37 0.51 0.67 0.77 0.79 0.74 0.63 0.52 0.45 0.44 0.48 0.53 0.56 0.56 0.53 0.49 0.46 0.42 0.37 0.29 0.18 0.09 0.05 0.12 0.28 0.51 0.70 0.80 57.5 + 60.0 0.82 0.86 0.84 0.80 0.83 0.92 1.05 1.16 1.18 1.12 1.03 0.97 0.98 1.06 1.15 1.16 1.08 0.91 0.75 0.66 0.69 0.81 0.94 1.01 0.97 0.87 0.77 0.74 0.79 0.89 0.94 0.89 0.71 0.45 0.21 0.06 0.02 0.08 0.19 0.29 0.34 0.35 0.34 0.33 0.35 0.42 0.51 0.62 0.72 0.78 0.79 0.75 0.67 0.60 0.55 0.55 0.57 0.59 0.58 0.55 0.49 0.42 0.34 0.24 0.14 0.03 0.00 0.00 0.03 0.21 0.45 0.68 0.82 0.86 0.84 0.80 0.83 0.92 1.05 1.16 1.18 1.12 1.03 0.97 0.98 1.06 1.15 1.16 1.08 0.91 0.75 0.66 0.69 0.81 0.94 1.01 0.97 0.87 0.77 0.74 0.79 0.89 0.94 0.89 0.71 0.45 0.21 0.06 0.02 0.08 0.19 0.29 0.34 0.35 0.34 0.33 0.35 0.42 0.51 0.62 0.72 0.78 0.79 0.75 0.67 0.60 0.55 0.55 0.57 0.59 0.58 0.55 0.49 0.42 0.34 0.24 0.14 0.03 0.00 0.00 0.03 0.21 0.45 0.68 0.82 60.0 + 62.5 0.76 0.84 0.87 0.90 0.99 1.14 1.31 1.44 1.49 1.47 1.42 1.39 1.43 1.52 1.62 1.65 1.59 1.46 1.33 1.25 1.26 1.32 1.37 1.36 1.26 1.10 0.95 0.86 0.84 0.84 0.81 0.70 0.51 0.28 0.08 0.00 0.00 0.00 0.03 0.11 0.19 0.26 0.32 0.36 0.39 0.40 0.42 0.46 0.53 0.61 0.67 0.69 0.66 0.58 0.51 0.46 0.45 0.46 0.47 0.44 0.38 0.30 0.21 0.11 0.02 0.00 0.00 0.00 0.00 0.17 0.40 0.61 0.76 0.84 0.87 0.90 0.99 1.14 1.31 1.44 1.49 1.47 1.42 1.39 1.43 1.52 1.62 1.65 1.59 1.46 1.33 1.25 1.26 1.32 1.37 1.36 1.26 1.10 0.95 0.86 0.84 0.84 0.81 0.70 0.51 0.28 0.08 0.00 0.00 0.00 0.03 0.11 0.19 0.26 0.32 0.36 0.39 0.40 0.42 0.46 0.53 0.61 0.67 0.69 0.66 0.58 0.51 0.46 0.45 0.46 0.47 0.44 0.38 0.30 0.21 0.11 0.02 0.00 0.00 0.00 0.00 0.17 0.40 0.61 0.76 62.5 + 65.0 0.66 0.74 0.80 0.89 1.03 1.22 1.42 1.58 1.66 1.68 1.67 1.70 1.79 1.94 2.09 2.20 2.22 2.17 2.10 2.05 2.03 2.02 1.98 1.87 1.69 1.47 1.25 1.07 0.94 0.82 0.67 0.49 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.16 0.27 0.34 0.36 0.33 0.27 0.23 0.26 0.33 0.43 0.49 0.48 0.42 0.32 0.24 0.21 0.22 0.24 0.24 0.21 0.15 0.08 0.02 0.00 0.00 0.00 0.00 0.03 0.17 0.35 0.53 0.66 0.74 0.80 0.89 1.03 1.22 1.42 1.58 1.66 1.68 1.67 1.70 1.79 1.94 2.09 2.20 2.22 2.17 2.10 2.05 2.03 2.02 1.98 1.87 1.69 1.47 1.25 1.07 0.94 0.82 0.67 0.49 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.16 0.27 0.34 0.36 0.33 0.27 0.23 0.26 0.33 0.43 0.49 0.48 0.42 0.32 0.24 0.21 0.22 0.24 0.24 0.21 0.15 0.08 0.02 0.00 0.00 0.00 0.00 0.03 0.17 0.35 0.53 0.66 65.0 + 67.5 0.55 0.62 0.69 0.79 0.96 1.18 1.40 1.57 1.67 1.71 1.75 1.83 2.00 2.22 2.46 2.67 2.81 2.88 2.91 2.92 2.91 2.86 2.75 2.56 2.29 2.00 1.70 1.44 1.19 0.94 0.68 0.40 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.14 0.24 0.26 0.19 0.08 0.00 0.00 0.03 0.14 0.23 0.25 0.20 0.09 0.00 0.00 0.00 0.02 0.06 0.07 0.05 0.03 0.00 0.00 0.00 0.02 0.05 0.12 0.22 0.34 0.46 0.55 0.62 0.69 0.79 0.96 1.18 1.40 1.57 1.67 1.71 1.75 1.83 2.00 2.22 2.46 2.67 2.81 2.88 2.91 2.92 2.91 2.86 2.75 2.56 2.29 2.00 1.70 1.44 1.19 0.94 0.68 0.40 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.14 0.24 0.26 0.19 0.08 0.00 0.00 0.03 0.14 0.23 0.25 0.20 0.09 0.00 0.00 0.00 0.02 0.06 0.07 0.05 0.03 0.00 0.00 0.00 0.02 0.05 0.12 0.22 0.34 0.46 0.55 67.5 + 70.0 0.49 0.54 0.59 0.70 0.87 1.08 1.29 1.45 1.54 1.59 1.65 1.79 2.01 2.32 2.65 2.95 3.22 3.42 3.58 3.70 3.76 3.73 3.59 3.35 3.03 2.68 2.34 2.00 1.66 1.30 0.92 0.54 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.10 0.04 0.00 0.00 0.00 0.00 0.00 0.07 0.12 0.07 0.00 0.00 0.00 0.00 0.00 0.02 0.08 0.10 0.10 0.10 0.11 0.14 0.17 0.20 0.25 0.31 0.38 0.44 0.49 0.54 0.59 0.70 0.87 1.08 1.29 1.45 1.54 1.59 1.65 1.79 2.01 2.32 2.65 2.95 3.22 3.42 3.58 3.70 3.76 3.73 3.59 3.35 3.03 2.68 2.34 2.00 1.66 1.30 0.92 0.54 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.10 0.04 0.00 0.00 0.00 0.00 0.00 0.07 0.12 0.07 0.00 0.00 0.00 0.00 0.00 0.02 0.08 0.10 0.10 0.10 0.11 0.14 0.17 0.20 0.25 0.31 0.38 0.44 0.49 70.0 + 72.5 0.50 0.53 0.57 0.66 0.81 0.99 1.15 1.27 1.33 1.37 1.45 1.62 1.88 2.23 2.61 2.99 3.34 3.67 3.97 4.23 4.40 4.45 4.34 4.10 3.77 3.41 3.04 2.68 2.29 1.86 1.38 0.90 0.48 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.20 0.17 0.07 0.00 0.00 0.00 0.07 0.19 0.27 0.30 0.30 0.29 0.29 0.31 0.33 0.35 0.38 0.41 0.45 0.48 0.50 0.53 0.57 0.66 0.81 0.99 1.15 1.27 1.33 1.37 1.45 1.62 1.88 2.23 2.61 2.99 3.34 3.67 3.97 4.23 4.40 4.45 4.34 4.10 3.77 3.41 3.04 2.68 2.29 1.86 1.38 0.90 0.48 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.20 0.17 0.07 0.00 0.00 0.00 0.07 0.19 0.27 0.30 0.30 0.29 0.29 0.31 0.33 0.35 0.38 0.41 0.45 0.48 0.50 72.5 + 75.0 0.57 0.59 0.62 0.69 0.81 0.93 1.03 1.08 1.09 1.11 1.20 1.38 1.66 2.01 2.38 2.75 3.14 3.54 3.97 4.38 4.68 4.83 4.79 4.59 4.28 3.95 3.62 3.28 2.91 2.46 1.94 1.40 0.91 0.54 0.31 0.19 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.08 0.04 0.00 0.00 0.06 0.25 0.43 0.53 0.51 0.39 0.26 0.20 0.25 0.37 0.51 0.60 0.61 0.56 0.50 0.46 0.45 0.46 0.48 0.51 0.53 0.55 0.57 0.57 0.59 0.62 0.69 0.81 0.93 1.03 1.08 1.09 1.11 1.20 1.38 1.66 2.01 2.38 2.75 3.14 3.54 3.97 4.38 4.68 4.83 4.79 4.59 4.28 3.95 3.62 3.28 2.91 2.46 1.94 1.40 0.91 0.54 0.31 0.19 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.08 0.04 0.00 0.00 0.06 0.25 0.43 0.53 0.51 0.39 0.26 0.20 0.25 0.37 0.51 0.60 0.61 0.56 0.50 0.46 0.45 0.46 0.48 0.51 0.53 0.55 0.57 0.57 75.0 + 77.5 0.66 0.67 0.71 0.76 0.83 0.88 0.89 0.87 0.83 0.84 0.93 1.13 1.41 1.71 2.00 2.30 2.64 3.06 3.57 4.08 4.51 4.76 4.78 4.62 4.36 4.08 3.83 3.59 3.29 2.89 2.39 1.85 1.35 0.98 0.76 0.64 0.55 0.40 0.18 0.00 0.00 0.00 0.00 0.06 0.26 0.37 0.37 0.33 0.35 0.48 0.70 0.92 1.02 0.98 0.81 0.63 0.54 0.58 0.71 0.86 0.93 0.90 0.78 0.65 0.56 0.52 0.53 0.57 0.60 0.63 0.65 0.66 0.66 0.67 0.71 0.76 0.83 0.88 0.89 0.87 0.83 0.84 0.93 1.13 1.41 1.71 2.00 2.30 2.64 3.06 3.57 4.08 4.51 4.76 4.78 4.62 4.36 4.08 3.83 3.59 3.29 2.89 2.39 1.85 1.35 0.98 0.76 0.64 0.55 0.40 0.18 0.00 0.00 0.00 0.00 0.06 0.26 0.37 0.37 0.33 0.35 0.48 0.70 0.92 1.02 0.98 0.81 0.63 0.54 0.58 0.71 0.86 0.93 0.90 0.78 0.65 0.56 0.52 0.53 0.57 0.60 0.63 0.65 0.66 0.66 77.5 + 80.0 0.72 0.73 0.77 0.81 0.83 0.81 0.73 0.62 0.54 0.55 0.67 0.89 1.15 1.37 1.54 1.70 1.94 2.32 2.84 3.42 3.92 4.22 4.27 4.13 3.91 3.71 3.57 3.46 3.28 2.99 2.57 2.09 1.67 1.38 1.23 1.17 1.09 0.92 0.63 0.31 0.08 0.01 0.14 0.38 0.61 0.73 0.74 0.71 0.74 0.90 1.15 1.39 1.48 1.39 1.15 0.90 0.76 0.79 0.94 1.09 1.14 1.05 0.86 0.66 0.52 0.48 0.51 0.59 0.65 0.70 0.71 0.71 0.72 0.73 0.77 0.81 0.83 0.81 0.73 0.62 0.54 0.55 0.67 0.89 1.15 1.37 1.54 1.70 1.94 2.32 2.84 3.42 3.92 4.22 4.27 4.13 3.91 3.71 3.57 3.46 3.28 2.99 2.57 2.09 1.67 1.38 1.23 1.17 1.09 0.92 0.63 0.31 0.08 0.01 0.14 0.38 0.61 0.73 0.74 0.71 0.74 0.90 1.15 1.39 1.48 1.39 1.15 0.90 0.76 0.79 0.94 1.09 1.14 1.05 0.86 0.66 0.52 0.48 0.51 0.59 0.65 0.70 0.71 0.71 0.72 80.0 + 82.5 0.71 0.73 0.77 0.80 0.78 0.68 0.52 0.35 0.23 0.25 0.42 0.67 0.90 1.04 1.07 1.08 1.18 1.48 1.98 2.57 3.08 3.38 3.41 3.26 3.07 2.94 2.92 2.95 2.91 2.74 2.43 2.07 1.78 1.63 1.62 1.66 1.63 1.45 1.12 0.74 0.46 0.37 0.49 0.72 0.94 1.03 1.00 0.95 0.98 1.15 1.43 1.67 1.74 1.58 1.26 0.93 0.76 0.79 0.95 1.11 1.15 1.01 0.76 0.50 0.34 0.32 0.41 0.54 0.65 0.71 0.72 0.71 0.71 0.73 0.77 0.80 0.78 0.68 0.52 0.35 0.23 0.25 0.42 0.67 0.90 1.04 1.07 1.08 1.18 1.48 1.98 2.57 3.08 3.38 3.41 3.26 3.07 2.94 2.92 2.95 2.91 2.74 2.43 2.07 1.78 1.63 1.62 1.66 1.63 1.45 1.12 0.74 0.46 0.37 0.49 0.72 0.94 1.03 1.00 0.95 0.98 1.15 1.43 1.67 1.74 1.58 1.26 0.93 0.76 0.79 0.95 1.11 1.15 1.01 0.76 0.50 0.34 0.32 0.41 0.54 0.65 0.71 0.72 0.71 0.71 82.5 + 85.0 0.65 0.68 0.72 0.74 0.69 0.53 0.30 0.07 0.00 0.00 0.20 0.48 0.70 0.77 0.67 0.54 0.52 0.75 1.22 1.78 2.26 2.50 2.48 2.29 2.11 2.05 2.13 2.27 2.35 2.28 2.08 1.85 1.71 1.73 1.88 2.05 2.08 1.90 1.54 1.13 0.81 0.70 0.80 1.00 1.16 1.18 1.09 0.98 1.00 1.19 1.47 1.71 1.73 1.50 1.10 0.73 0.54 0.58 0.78 0.97 1.00 0.83 0.53 0.24 0.09 0.10 0.25 0.45 0.61 0.68 0.69 0.66 0.65 0.68 0.72 0.74 0.69 0.53 0.30 0.07 0.00 0.00 0.20 0.48 0.70 0.77 0.67 0.54 0.52 0.75 1.22 1.78 2.26 2.50 2.48 2.29 2.11 2.05 2.13 2.27 2.35 2.28 2.08 1.85 1.71 1.73 1.88 2.05 2.08 1.90 1.54 1.13 0.81 0.70 0.80 1.00 1.16 1.18 1.09 0.98 1.00 1.19 1.47 1.71 1.73 1.50 1.10 0.73 0.54 0.58 0.78 0.97 1.00 0.83 0.53 0.24 0.09 0.10 0.25 0.45 0.61 0.68 0.69 0.66 0.65 85.0 + 87.5 0.58 0.61 0.66 0.67 0.59 0.40 0.13 0.00 0.00 0.00 0.08 0.39 0.60 0.61 0.43 0.21 0.12 0.31 0.74 1.27 1.70 1.86 1.76 1.53 1.35 1.33 1.48 1.69 1.82 1.80 1.67 1.54 1.53 1.71 2.01 2.28 2.37 2.21 1.84 1.41 1.09 0.98 1.06 1.21 1.30 1.23 1.06 0.92 0.92 1.11 1.40 1.60 1.57 1.27 0.82 0.42 0.23 0.31 0.55 0.76 0.79 0.60 0.28 0.00 0.00 0.00 0.12 0.37 0.56 0.64 0.64 0.60 0.58 0.61 0.66 0.67 0.59 0.40 0.13 0.00 0.00 0.00 0.08 0.39 0.60 0.61 0.43 0.21 0.12 0.31 0.74 1.27 1.70 1.86 1.76 1.53 1.35 1.33 1.48 1.69 1.82 1.80 1.67 1.54 1.53 1.71 2.01 2.28 2.37 2.21 1.84 1.41 1.09 0.98 1.06 1.21 1.30 1.23 1.06 0.92 0.92 1.11 1.40 1.60 1.57 1.27 0.82 0.42 0.23 0.31 0.55 0.76 0.79 0.60 0.28 0.00 0.00 0.00 0.12 0.37 0.56 0.64 0.64 0.60 0.58 87.5 + 90.0 0.55 0.58 0.62 0.63 0.55 0.34 0.07 0.00 0.00 0.00 0.11 0.43 0.63 0.61 0.39 0.14 0.04 0.22 0.64 1.13 1.49 1.58 1.42 1.15 0.97 0.96 1.13 1.35 1.47 1.45 1.33 1.24 1.32 1.60 1.99 2.33 2.47 2.33 1.99 1.60 1.32 1.24 1.33 1.45 1.47 1.35 1.13 0.96 0.97 1.15 1.42 1.58 1.49 1.13 0.64 0.22 0.04 0.14 0.39 0.61 0.63 0.43 0.11 0.00 0.00 0.00 0.07 0.34 0.55 0.63 0.62 0.58 0.55 0.58 0.62 0.63 0.55 0.34 0.07 0.00 0.00 0.00 0.11 0.43 0.63 0.61 0.39 0.14 0.04 0.22 0.64 1.13 1.49 1.58 1.42 1.15 0.97 0.96 1.13 1.35 1.47 1.45 1.33 1.24 1.32 1.60 1.99 2.33 2.47 2.33 1.99 1.60 1.32 1.24 1.33 1.45 1.47 1.35 1.13 0.96 0.97 1.15 1.42 1.58 1.49 1.13 0.64 0.22 0.04 0.14 0.39 0.61 0.63 0.43 0.11 0.00 0.00 0.00 0.07 0.34 0.55 0.63 0.62 0.58 0.55 90.0 + + 32.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.45 ) PHI2 = 33. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.0 + 2.5 0.36 0.27 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.40 0.39 0.41 0.49 0.64 0.84 1.05 1.27 1.51 1.76 1.99 2.17 2.25 2.21 2.06 1.84 1.60 1.37 1.14 0.92 0.72 0.56 0.45 0.41 0.40 0.36 0.25 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.23 0.34 0.37 0.39 0.44 0.55 0.72 0.93 1.15 1.38 1.62 1.86 2.09 2.24 2.29 2.21 2.02 1.78 1.52 1.28 1.05 0.84 0.64 0.49 0.39 0.36 0.37 0.36 0.27 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.40 0.39 0.41 0.49 0.64 0.84 1.05 1.27 1.51 1.76 1.99 2.17 2.25 2.21 2.06 1.84 1.60 1.37 1.14 0.92 0.72 0.56 0.45 0.41 0.40 0.36 0.25 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.23 0.34 0.37 0.39 0.44 0.55 0.72 0.93 1.15 1.38 1.62 1.86 2.09 2.24 2.29 2.21 2.02 1.78 1.52 1.28 1.05 0.84 0.64 0.49 0.39 0.36 0.37 0.36 2.5 + 5.0 0.42 0.39 0.28 0.11 0.00 0.00 0.00 0.09 0.29 0.44 0.50 0.48 0.41 0.37 0.40 0.50 0.67 0.88 1.12 1.38 1.66 1.93 2.15 2.28 2.28 2.17 1.96 1.71 1.45 1.20 0.97 0.77 0.62 0.54 0.51 0.50 0.46 0.35 0.15 0.00 0.00 0.00 0.00 0.00 0.17 0.32 0.40 0.43 0.45 0.51 0.63 0.81 1.02 1.26 1.51 1.78 2.05 2.28 2.41 2.42 2.28 2.03 1.72 1.42 1.14 0.90 0.68 0.50 0.37 0.30 0.32 0.37 0.42 0.39 0.28 0.11 0.00 0.00 0.00 0.09 0.29 0.44 0.50 0.48 0.41 0.37 0.40 0.50 0.67 0.88 1.12 1.38 1.66 1.93 2.15 2.28 2.28 2.17 1.96 1.71 1.45 1.20 0.97 0.77 0.62 0.54 0.51 0.50 0.46 0.35 0.15 0.00 0.00 0.00 0.00 0.00 0.17 0.32 0.40 0.43 0.45 0.51 0.63 0.81 1.02 1.26 1.51 1.78 2.05 2.28 2.41 2.42 2.28 2.03 1.72 1.42 1.14 0.90 0.68 0.50 0.37 0.30 0.32 0.37 0.42 5.0 + 7.5 0.53 0.58 0.54 0.43 0.31 0.24 0.27 0.38 0.54 0.65 0.68 0.62 0.50 0.39 0.35 0.40 0.53 0.72 0.97 1.24 1.54 1.84 2.11 2.29 2.35 2.28 2.10 1.86 1.58 1.30 1.07 0.88 0.77 0.73 0.73 0.74 0.70 0.59 0.42 0.23 0.11 0.08 0.17 0.33 0.49 0.61 0.65 0.66 0.68 0.75 0.87 1.04 1.25 1.48 1.75 2.03 2.31 2.53 2.62 2.56 2.34 2.02 1.64 1.29 0.98 0.73 0.53 0.37 0.28 0.26 0.31 0.42 0.53 0.58 0.54 0.43 0.31 0.24 0.27 0.38 0.54 0.65 0.68 0.62 0.50 0.39 0.35 0.40 0.53 0.72 0.97 1.24 1.54 1.84 2.11 2.29 2.35 2.28 2.10 1.86 1.58 1.30 1.07 0.88 0.77 0.73 0.73 0.74 0.70 0.59 0.42 0.23 0.11 0.08 0.17 0.33 0.49 0.61 0.65 0.66 0.68 0.75 0.87 1.04 1.25 1.48 1.75 2.03 2.31 2.53 2.62 2.56 2.34 2.02 1.64 1.29 0.98 0.73 0.53 0.37 0.28 0.26 0.31 0.42 0.53 7.5 + 10.0 0.67 0.77 0.79 0.74 0.65 0.58 0.58 0.65 0.77 0.86 0.89 0.82 0.67 0.52 0.42 0.40 0.49 0.66 0.89 1.15 1.44 1.74 2.01 2.24 2.36 2.35 2.21 1.98 1.70 1.43 1.20 1.05 0.99 1.01 1.06 1.10 1.08 0.99 0.85 0.71 0.64 0.66 0.77 0.92 1.05 1.12 1.13 1.12 1.13 1.19 1.29 1.44 1.61 1.82 2.06 2.32 2.57 2.74 2.78 2.64 2.34 1.95 1.53 1.16 0.86 0.63 0.46 0.35 0.30 0.31 0.40 0.53 0.67 0.77 0.79 0.74 0.65 0.58 0.58 0.65 0.77 0.86 0.89 0.82 0.67 0.52 0.42 0.40 0.49 0.66 0.89 1.15 1.44 1.74 2.01 2.24 2.36 2.35 2.21 1.98 1.70 1.43 1.20 1.05 0.99 1.01 1.06 1.10 1.08 0.99 0.85 0.71 0.64 0.66 0.77 0.92 1.05 1.12 1.13 1.12 1.13 1.19 1.29 1.44 1.61 1.82 2.06 2.32 2.57 2.74 2.78 2.64 2.34 1.95 1.53 1.16 0.86 0.63 0.46 0.35 0.30 0.31 0.40 0.53 0.67 10.0 + 12.5 0.82 0.93 0.99 0.97 0.90 0.82 0.78 0.81 0.90 1.00 1.05 1.01 0.88 0.72 0.59 0.54 0.58 0.71 0.90 1.12 1.36 1.61 1.88 2.12 2.29 2.34 2.26 2.06 1.80 1.53 1.33 1.22 1.22 1.31 1.42 1.50 1.51 1.45 1.34 1.25 1.23 1.30 1.44 1.59 1.69 1.73 1.71 1.68 1.68 1.72 1.80 1.91 2.03 2.18 2.36 2.57 2.75 2.84 2.79 2.58 2.23 1.80 1.39 1.03 0.77 0.60 0.49 0.43 0.42 0.46 0.54 0.67 0.82 0.93 0.99 0.97 0.90 0.82 0.78 0.81 0.90 1.00 1.05 1.01 0.88 0.72 0.59 0.54 0.58 0.71 0.90 1.12 1.36 1.61 1.88 2.12 2.29 2.34 2.26 2.06 1.80 1.53 1.33 1.22 1.22 1.31 1.42 1.50 1.51 1.45 1.34 1.25 1.23 1.30 1.44 1.59 1.69 1.73 1.71 1.68 1.68 1.72 1.80 1.91 2.03 2.18 2.36 2.57 2.75 2.84 2.79 2.58 2.23 1.80 1.39 1.03 0.77 0.60 0.49 0.43 0.42 0.46 0.54 0.67 0.82 12.5 + 15.0 0.89 1.01 1.08 1.09 1.03 0.94 0.86 0.85 0.91 1.01 1.10 1.11 1.04 0.91 0.77 0.70 0.71 0.80 0.94 1.10 1.28 1.48 1.71 1.96 2.16 2.26 2.24 2.08 1.84 1.59 1.40 1.32 1.36 1.49 1.66 1.78 1.83 1.79 1.72 1.67 1.69 1.81 1.97 2.12 2.21 2.21 2.17 2.12 2.10 2.14 2.21 2.28 2.37 2.46 2.57 2.69 2.77 2.76 2.63 2.35 1.97 1.56 1.18 0.89 0.69 0.59 0.55 0.54 0.56 0.60 0.67 0.77 0.89 1.01 1.08 1.09 1.03 0.94 0.86 0.85 0.91 1.01 1.10 1.11 1.04 0.91 0.77 0.70 0.71 0.80 0.94 1.10 1.28 1.48 1.71 1.96 2.16 2.26 2.24 2.08 1.84 1.59 1.40 1.32 1.36 1.49 1.66 1.78 1.83 1.79 1.72 1.67 1.69 1.81 1.97 2.12 2.21 2.21 2.17 2.12 2.10 2.14 2.21 2.28 2.37 2.46 2.57 2.69 2.77 2.76 2.63 2.35 1.97 1.56 1.18 0.89 0.69 0.59 0.55 0.54 0.56 0.60 0.67 0.77 0.89 15.0 + 17.5 0.85 0.96 1.05 1.09 1.05 0.95 0.83 0.77 0.79 0.88 1.00 1.08 1.06 0.98 0.87 0.79 0.78 0.84 0.94 1.06 1.18 1.34 1.55 1.79 2.01 2.15 2.17 2.05 1.84 1.59 1.39 1.31 1.35 1.49 1.67 1.83 1.90 1.91 1.87 1.86 1.91 2.04 2.22 2.36 2.43 2.41 2.34 2.27 2.25 2.28 2.35 2.43 2.50 2.56 2.60 2.63 2.61 2.50 2.28 1.97 1.59 1.22 0.91 0.69 0.56 0.52 0.53 0.56 0.60 0.65 0.69 0.76 0.85 0.96 1.05 1.09 1.05 0.95 0.83 0.77 0.79 0.88 1.00 1.08 1.06 0.98 0.87 0.79 0.78 0.84 0.94 1.06 1.18 1.34 1.55 1.79 2.01 2.15 2.17 2.05 1.84 1.59 1.39 1.31 1.35 1.49 1.67 1.83 1.90 1.91 1.87 1.86 1.91 2.04 2.22 2.36 2.43 2.41 2.34 2.27 2.25 2.28 2.35 2.43 2.50 2.56 2.60 2.63 2.61 2.50 2.28 1.97 1.59 1.22 0.91 0.69 0.56 0.52 0.53 0.56 0.60 0.65 0.69 0.76 0.85 17.5 + 20.0 0.68 0.80 0.93 1.01 1.00 0.89 0.74 0.62 0.58 0.65 0.78 0.89 0.93 0.89 0.81 0.74 0.73 0.78 0.86 0.96 1.07 1.21 1.41 1.64 1.87 2.04 2.08 1.99 1.78 1.53 1.32 1.20 1.21 1.32 1.49 1.66 1.77 1.81 1.82 1.85 1.93 2.07 2.24 2.37 2.41 2.37 2.27 2.18 2.15 2.18 2.27 2.36 2.43 2.47 2.47 2.41 2.29 2.09 1.82 1.49 1.14 0.83 0.59 0.43 0.35 0.34 0.38 0.44 0.49 0.53 0.56 0.61 0.68 0.80 0.93 1.01 1.00 0.89 0.74 0.62 0.58 0.65 0.78 0.89 0.93 0.89 0.81 0.74 0.73 0.78 0.86 0.96 1.07 1.21 1.41 1.64 1.87 2.04 2.08 1.99 1.78 1.53 1.32 1.20 1.21 1.32 1.49 1.66 1.77 1.81 1.82 1.85 1.93 2.07 2.24 2.37 2.41 2.37 2.27 2.18 2.15 2.18 2.27 2.36 2.43 2.47 2.47 2.41 2.29 2.09 1.82 1.49 1.14 0.83 0.59 0.43 0.35 0.34 0.38 0.44 0.49 0.53 0.56 0.61 0.68 20.0 + 22.5 0.43 0.56 0.72 0.85 0.89 0.80 0.62 0.44 0.35 0.37 0.49 0.62 0.70 0.69 0.64 0.58 0.57 0.63 0.72 0.83 0.95 1.10 1.29 1.51 1.74 1.91 1.96 1.89 1.70 1.46 1.23 1.08 1.04 1.10 1.25 1.41 1.56 1.66 1.74 1.82 1.94 2.09 2.26 2.38 2.41 2.35 2.23 2.11 2.04 2.05 2.13 2.22 2.28 2.30 2.24 2.10 1.89 1.61 1.30 0.98 0.69 0.45 0.26 0.14 0.08 0.08 0.12 0.18 0.25 0.29 0.32 0.35 0.43 0.56 0.72 0.85 0.89 0.80 0.62 0.44 0.35 0.37 0.49 0.62 0.70 0.69 0.64 0.58 0.57 0.63 0.72 0.83 0.95 1.10 1.29 1.51 1.74 1.91 1.96 1.89 1.70 1.46 1.23 1.08 1.04 1.10 1.25 1.41 1.56 1.66 1.74 1.82 1.94 2.09 2.26 2.38 2.41 2.35 2.23 2.11 2.04 2.05 2.13 2.22 2.28 2.30 2.24 2.10 1.89 1.61 1.30 0.98 0.69 0.45 0.26 0.14 0.08 0.08 0.12 0.18 0.25 0.29 0.32 0.35 0.43 22.5 + 25.0 0.15 0.29 0.48 0.66 0.73 0.67 0.49 0.28 0.14 0.12 0.22 0.35 0.45 0.48 0.44 0.40 0.39 0.45 0.56 0.69 0.83 0.98 1.16 1.37 1.57 1.72 1.77 1.72 1.57 1.37 1.17 1.02 0.95 0.98 1.10 1.27 1.45 1.63 1.79 1.95 2.13 2.32 2.50 2.63 2.67 2.61 2.47 2.32 2.20 2.15 2.16 2.20 2.21 2.16 2.02 1.79 1.49 1.16 0.82 0.53 0.30 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.06 0.09 0.15 0.29 0.48 0.66 0.73 0.67 0.49 0.28 0.14 0.12 0.22 0.35 0.45 0.48 0.44 0.40 0.39 0.45 0.56 0.69 0.83 0.98 1.16 1.37 1.57 1.72 1.77 1.72 1.57 1.37 1.17 1.02 0.95 0.98 1.10 1.27 1.45 1.63 1.79 1.95 2.13 2.32 2.50 2.63 2.67 2.61 2.47 2.32 2.20 2.15 2.16 2.20 2.21 2.16 2.02 1.79 1.49 1.16 0.82 0.53 0.30 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.06 0.09 0.15 25.0 + 27.5 0.00 0.05 0.24 0.44 0.55 0.52 0.35 0.14 0.00 0.00 0.03 0.17 0.28 0.32 0.30 0.27 0.27 0.33 0.44 0.58 0.72 0.85 1.00 1.16 1.32 1.44 1.49 1.47 1.39 1.27 1.15 1.05 1.00 1.02 1.12 1.29 1.51 1.77 2.02 2.28 2.53 2.78 3.00 3.17 3.25 3.22 3.09 2.91 2.72 2.57 2.47 2.39 2.29 2.14 1.89 1.55 1.17 0.78 0.45 0.19 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.24 0.44 0.55 0.52 0.35 0.14 0.00 0.00 0.03 0.17 0.28 0.32 0.30 0.27 0.27 0.33 0.44 0.58 0.72 0.85 1.00 1.16 1.32 1.44 1.49 1.47 1.39 1.27 1.15 1.05 1.00 1.02 1.12 1.29 1.51 1.77 2.02 2.28 2.53 2.78 3.00 3.17 3.25 3.22 3.09 2.91 2.72 2.57 2.47 2.39 2.29 2.14 1.89 1.55 1.17 0.78 0.45 0.19 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 27.5 + 30.0 0.00 0.00 0.03 0.22 0.36 0.36 0.23 0.05 0.00 0.00 0.00 0.08 0.20 0.26 0.25 0.22 0.23 0.28 0.37 0.48 0.59 0.69 0.79 0.90 1.00 1.08 1.13 1.14 1.14 1.14 1.13 1.13 1.14 1.18 1.27 1.43 1.67 1.97 2.30 2.64 2.97 3.28 3.56 3.79 3.93 3.96 3.87 3.68 3.43 3.18 2.94 2.72 2.49 2.20 1.84 1.41 0.96 0.54 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.22 0.36 0.36 0.23 0.05 0.00 0.00 0.00 0.08 0.20 0.26 0.25 0.22 0.23 0.28 0.37 0.48 0.59 0.69 0.79 0.90 1.00 1.08 1.13 1.14 1.14 1.14 1.13 1.13 1.14 1.18 1.27 1.43 1.67 1.97 2.30 2.64 2.97 3.28 3.56 3.79 3.93 3.96 3.87 3.68 3.43 3.18 2.94 2.72 2.49 2.20 1.84 1.41 0.96 0.54 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 30.0 + 32.5 0.00 0.00 0.00 0.05 0.20 0.24 0.16 0.02 0.00 0.00 0.00 0.06 0.18 0.25 0.26 0.25 0.24 0.27 0.33 0.39 0.45 0.51 0.56 0.62 0.67 0.72 0.75 0.80 0.87 0.97 1.08 1.19 1.27 1.32 1.39 1.52 1.74 2.04 2.41 2.79 3.17 3.52 3.84 4.12 4.33 4.43 4.40 4.23 3.96 3.64 3.30 2.97 2.63 2.25 1.82 1.34 0.86 0.43 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.20 0.24 0.16 0.02 0.00 0.00 0.00 0.06 0.18 0.25 0.26 0.25 0.24 0.27 0.33 0.39 0.45 0.51 0.56 0.62 0.67 0.72 0.75 0.80 0.87 0.97 1.08 1.19 1.27 1.32 1.39 1.52 1.74 2.04 2.41 2.79 3.17 3.52 3.84 4.12 4.33 4.43 4.40 4.23 3.96 3.64 3.30 2.97 2.63 2.25 1.82 1.34 0.86 0.43 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 32.5 + 35.0 0.00 0.00 0.00 0.00 0.11 0.18 0.15 0.06 0.00 0.00 0.00 0.07 0.18 0.26 0.29 0.29 0.28 0.28 0.29 0.30 0.32 0.34 0.37 0.41 0.44 0.45 0.47 0.52 0.62 0.78 0.98 1.16 1.28 1.34 1.37 1.44 1.59 1.85 2.19 2.56 2.92 3.26 3.57 3.86 4.11 4.28 4.32 4.21 3.97 3.64 3.28 2.91 2.55 2.17 1.75 1.28 0.82 0.42 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.18 0.15 0.06 0.00 0.00 0.00 0.07 0.18 0.26 0.29 0.29 0.28 0.28 0.29 0.30 0.32 0.34 0.37 0.41 0.44 0.45 0.47 0.52 0.62 0.78 0.98 1.16 1.28 1.34 1.37 1.44 1.59 1.85 2.19 2.56 2.92 3.26 3.57 3.86 4.11 4.28 4.32 4.21 3.97 3.64 3.28 2.91 2.55 2.17 1.75 1.28 0.82 0.42 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 35.0 + 37.5 0.00 0.00 0.00 0.00 0.10 0.20 0.22 0.16 0.07 0.00 0.00 0.06 0.16 0.25 0.31 0.34 0.33 0.30 0.26 0.23 0.22 0.24 0.28 0.34 0.37 0.37 0.35 0.37 0.45 0.62 0.84 1.04 1.17 1.20 1.17 1.16 1.23 1.42 1.69 1.99 2.28 2.54 2.78 3.02 3.26 3.46 3.57 3.53 3.36 3.09 2.78 2.47 2.18 1.89 1.57 1.20 0.82 0.48 0.22 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.14 0.10 0.00 0.00 0.00 0.00 0.00 0.10 0.20 0.22 0.16 0.07 0.00 0.00 0.06 0.16 0.25 0.31 0.34 0.33 0.30 0.26 0.23 0.22 0.24 0.28 0.34 0.37 0.37 0.35 0.37 0.45 0.62 0.84 1.04 1.17 1.20 1.17 1.16 1.23 1.42 1.69 1.99 2.28 2.54 2.78 3.02 3.26 3.46 3.57 3.53 3.36 3.09 2.78 2.47 2.18 1.89 1.57 1.20 0.82 0.48 0.22 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.14 0.10 0.00 0.00 37.5 + 40.0 0.00 0.00 0.00 0.00 0.13 0.26 0.32 0.28 0.19 0.08 0.03 0.04 0.12 0.24 0.34 0.40 0.41 0.35 0.27 0.20 0.18 0.22 0.32 0.41 0.46 0.45 0.40 0.36 0.40 0.53 0.71 0.89 0.97 0.95 0.86 0.79 0.79 0.91 1.11 1.32 1.49 1.61 1.73 1.87 2.05 2.25 2.39 2.43 2.34 2.15 1.94 1.74 1.59 1.45 1.29 1.07 0.80 0.53 0.31 0.18 0.12 0.10 0.08 0.03 0.00 0.00 0.00 0.07 0.17 0.21 0.18 0.07 0.00 0.00 0.00 0.00 0.13 0.26 0.32 0.28 0.19 0.08 0.03 0.04 0.12 0.24 0.34 0.40 0.41 0.35 0.27 0.20 0.18 0.22 0.32 0.41 0.46 0.45 0.40 0.36 0.40 0.53 0.71 0.89 0.97 0.95 0.86 0.79 0.79 0.91 1.11 1.32 1.49 1.61 1.73 1.87 2.05 2.25 2.39 2.43 2.34 2.15 1.94 1.74 1.59 1.45 1.29 1.07 0.80 0.53 0.31 0.18 0.12 0.10 0.08 0.03 0.00 0.00 0.00 0.07 0.17 0.21 0.18 0.07 0.00 40.0 + 42.5 0.01 0.00 0.00 0.00 0.15 0.31 0.40 0.38 0.27 0.13 0.03 0.01 0.10 0.25 0.41 0.51 0.52 0.43 0.31 0.21 0.20 0.28 0.43 0.57 0.65 0.62 0.53 0.44 0.43 0.51 0.64 0.76 0.78 0.71 0.57 0.46 0.45 0.54 0.68 0.81 0.86 0.83 0.79 0.80 0.90 1.07 1.22 1.30 1.27 1.16 1.03 0.94 0.93 0.95 0.95 0.88 0.73 0.54 0.37 0.26 0.22 0.23 0.24 0.23 0.19 0.15 0.14 0.18 0.23 0.26 0.23 0.13 0.01 0.00 0.00 0.00 0.15 0.31 0.40 0.38 0.27 0.13 0.03 0.01 0.10 0.25 0.41 0.51 0.52 0.43 0.31 0.21 0.20 0.28 0.43 0.57 0.65 0.62 0.53 0.44 0.43 0.51 0.64 0.76 0.78 0.71 0.57 0.46 0.45 0.54 0.68 0.81 0.86 0.83 0.79 0.80 0.90 1.07 1.22 1.30 1.27 1.16 1.03 0.94 0.93 0.95 0.95 0.88 0.73 0.54 0.37 0.26 0.22 0.23 0.24 0.23 0.19 0.15 0.14 0.18 0.23 0.26 0.23 0.13 0.01 42.5 + 45.0 0.08 0.00 0.00 0.00 0.12 0.28 0.40 0.40 0.30 0.14 0.01 0.00 0.09 0.30 0.52 0.65 0.65 0.53 0.36 0.24 0.24 0.36 0.56 0.73 0.80 0.76 0.65 0.54 0.50 0.55 0.64 0.70 0.66 0.53 0.38 0.28 0.29 0.40 0.54 0.62 0.57 0.41 0.23 0.13 0.15 0.27 0.42 0.52 0.51 0.42 0.33 0.30 0.37 0.50 0.62 0.67 0.62 0.50 0.37 0.29 0.29 0.34 0.40 0.42 0.39 0.33 0.28 0.26 0.28 0.30 0.28 0.20 0.08 0.00 0.00 0.00 0.12 0.28 0.40 0.40 0.30 0.14 0.01 0.00 0.09 0.30 0.52 0.65 0.65 0.53 0.36 0.24 0.24 0.36 0.56 0.73 0.80 0.76 0.65 0.54 0.50 0.55 0.64 0.70 0.66 0.53 0.38 0.28 0.29 0.40 0.54 0.62 0.57 0.41 0.23 0.13 0.15 0.27 0.42 0.52 0.51 0.42 0.33 0.30 0.37 0.50 0.62 0.67 0.62 0.50 0.37 0.29 0.29 0.34 0.40 0.42 0.39 0.33 0.28 0.26 0.28 0.30 0.28 0.20 0.08 45.0 + 47.5 0.17 0.03 0.00 0.00 0.03 0.19 0.32 0.35 0.26 0.10 0.00 0.00 0.11 0.37 0.63 0.78 0.76 0.60 0.39 0.25 0.26 0.41 0.62 0.80 0.86 0.80 0.68 0.58 0.57 0.63 0.71 0.72 0.62 0.45 0.28 0.21 0.29 0.46 0.63 0.69 0.59 0.35 0.08 0.00 0.00 0.00 0.12 0.21 0.19 0.09 0.00 0.00 0.03 0.19 0.37 0.49 0.50 0.43 0.34 0.30 0.34 0.43 0.53 0.58 0.56 0.47 0.37 0.31 0.31 0.34 0.34 0.29 0.17 0.03 0.00 0.00 0.03 0.19 0.32 0.35 0.26 0.10 0.00 0.00 0.11 0.37 0.63 0.78 0.76 0.60 0.39 0.25 0.26 0.41 0.62 0.80 0.86 0.80 0.68 0.58 0.57 0.63 0.71 0.72 0.62 0.45 0.28 0.21 0.29 0.46 0.63 0.69 0.59 0.35 0.08 0.00 0.00 0.00 0.12 0.21 0.19 0.09 0.00 0.00 0.03 0.19 0.37 0.49 0.50 0.43 0.34 0.30 0.34 0.43 0.53 0.58 0.56 0.47 0.37 0.31 0.31 0.34 0.34 0.29 0.17 47.5 + 50.0 0.29 0.11 0.00 0.00 0.00 0.09 0.23 0.27 0.20 0.05 0.00 0.00 0.13 0.42 0.70 0.84 0.80 0.60 0.36 0.22 0.24 0.40 0.62 0.78 0.81 0.74 0.63 0.58 0.63 0.74 0.82 0.80 0.65 0.43 0.25 0.21 0.34 0.57 0.78 0.86 0.74 0.47 0.17 0.00 0.00 0.04 0.19 0.29 0.26 0.13 0.00 0.00 0.00 0.08 0.25 0.38 0.42 0.38 0.33 0.32 0.39 0.51 0.63 0.68 0.64 0.52 0.40 0.32 0.32 0.38 0.43 0.40 0.29 0.11 0.00 0.00 0.00 0.09 0.23 0.27 0.20 0.05 0.00 0.00 0.13 0.42 0.70 0.84 0.80 0.60 0.36 0.22 0.24 0.40 0.62 0.78 0.81 0.74 0.63 0.58 0.63 0.74 0.82 0.80 0.65 0.43 0.25 0.21 0.34 0.57 0.78 0.86 0.74 0.47 0.17 0.00 0.00 0.04 0.19 0.29 0.26 0.13 0.00 0.00 0.00 0.08 0.25 0.38 0.42 0.38 0.33 0.32 0.39 0.51 0.63 0.68 0.64 0.52 0.40 0.32 0.32 0.38 0.43 0.40 0.29 50.0 + 52.5 0.45 0.25 0.06 0.00 0.00 0.07 0.20 0.25 0.18 0.04 0.00 0.00 0.16 0.45 0.72 0.83 0.75 0.52 0.27 0.14 0.18 0.37 0.58 0.72 0.73 0.65 0.58 0.59 0.70 0.86 0.96 0.91 0.71 0.44 0.23 0.19 0.34 0.60 0.84 0.93 0.83 0.59 0.32 0.15 0.14 0.26 0.43 0.53 0.51 0.37 0.20 0.08 0.06 0.15 0.28 0.39 0.43 0.41 0.37 0.38 0.46 0.58 0.68 0.70 0.63 0.48 0.34 0.27 0.30 0.41 0.52 0.55 0.45 0.25 0.06 0.00 0.00 0.07 0.20 0.25 0.18 0.04 0.00 0.00 0.16 0.45 0.72 0.83 0.75 0.52 0.27 0.14 0.18 0.37 0.58 0.72 0.73 0.65 0.58 0.59 0.70 0.86 0.96 0.91 0.71 0.44 0.23 0.19 0.34 0.60 0.84 0.93 0.83 0.59 0.32 0.15 0.14 0.26 0.43 0.53 0.51 0.37 0.20 0.08 0.06 0.15 0.28 0.39 0.43 0.41 0.37 0.38 0.46 0.58 0.68 0.70 0.63 0.48 0.34 0.27 0.30 0.41 0.52 0.55 0.45 52.5 + 55.0 0.64 0.46 0.25 0.11 0.10 0.19 0.30 0.33 0.26 0.13 0.03 0.05 0.23 0.49 0.71 0.78 0.66 0.42 0.19 0.09 0.17 0.36 0.57 0.68 0.67 0.60 0.56 0.62 0.79 0.98 1.07 0.99 0.75 0.44 0.20 0.14 0.27 0.52 0.75 0.86 0.79 0.61 0.41 0.29 0.32 0.47 0.65 0.76 0.76 0.65 0.50 0.37 0.32 0.36 0.44 0.50 0.53 0.51 0.48 0.48 0.54 0.62 0.67 0.65 0.53 0.36 0.21 0.17 0.26 0.44 0.62 0.71 0.64 0.46 0.25 0.11 0.10 0.19 0.30 0.33 0.26 0.13 0.03 0.05 0.23 0.49 0.71 0.78 0.66 0.42 0.19 0.09 0.17 0.36 0.57 0.68 0.67 0.60 0.56 0.62 0.79 0.98 1.07 0.99 0.75 0.44 0.20 0.14 0.27 0.52 0.75 0.86 0.79 0.61 0.41 0.29 0.32 0.47 0.65 0.76 0.76 0.65 0.50 0.37 0.32 0.36 0.44 0.50 0.53 0.51 0.48 0.48 0.54 0.62 0.67 0.65 0.53 0.36 0.21 0.17 0.26 0.44 0.62 0.71 0.64 55.0 + 57.5 0.83 0.69 0.50 0.37 0.35 0.42 0.51 0.54 0.46 0.32 0.21 0.22 0.36 0.57 0.75 0.77 0.64 0.41 0.21 0.15 0.24 0.44 0.62 0.71 0.69 0.62 0.60 0.68 0.87 1.05 1.12 1.01 0.75 0.42 0.16 0.07 0.16 0.37 0.57 0.68 0.66 0.56 0.44 0.40 0.45 0.59 0.75 0.87 0.91 0.86 0.76 0.66 0.61 0.61 0.63 0.65 0.65 0.61 0.58 0.57 0.59 0.61 0.61 0.53 0.38 0.21 0.08 0.08 0.22 0.46 0.70 0.85 0.83 0.69 0.50 0.37 0.35 0.42 0.51 0.54 0.46 0.32 0.21 0.22 0.36 0.57 0.75 0.77 0.64 0.41 0.21 0.15 0.24 0.44 0.62 0.71 0.69 0.62 0.60 0.68 0.87 1.05 1.12 1.01 0.75 0.42 0.16 0.07 0.16 0.37 0.57 0.68 0.66 0.56 0.44 0.40 0.45 0.59 0.75 0.87 0.91 0.86 0.76 0.66 0.61 0.61 0.63 0.65 0.65 0.61 0.58 0.57 0.59 0.61 0.61 0.53 0.38 0.21 0.08 0.08 0.22 0.46 0.70 0.85 0.83 57.5 + 60.0 0.95 0.86 0.72 0.62 0.62 0.70 0.78 0.80 0.72 0.58 0.47 0.46 0.57 0.74 0.88 0.89 0.76 0.57 0.41 0.37 0.47 0.63 0.78 0.82 0.78 0.70 0.67 0.74 0.89 1.03 1.06 0.93 0.66 0.35 0.11 0.01 0.06 0.21 0.37 0.48 0.52 0.50 0.47 0.48 0.54 0.64 0.75 0.84 0.90 0.91 0.88 0.85 0.81 0.78 0.76 0.73 0.69 0.64 0.60 0.57 0.55 0.54 0.49 0.38 0.23 0.08 0.00 0.02 0.20 0.47 0.75 0.92 0.95 0.86 0.72 0.62 0.62 0.70 0.78 0.80 0.72 0.58 0.47 0.46 0.57 0.74 0.88 0.89 0.76 0.57 0.41 0.37 0.47 0.63 0.78 0.82 0.78 0.70 0.67 0.74 0.89 1.03 1.06 0.93 0.66 0.35 0.11 0.01 0.06 0.21 0.37 0.48 0.52 0.50 0.47 0.48 0.54 0.64 0.75 0.84 0.90 0.91 0.88 0.85 0.81 0.78 0.76 0.73 0.69 0.64 0.60 0.57 0.55 0.54 0.49 0.38 0.23 0.08 0.00 0.02 0.20 0.47 0.75 0.92 0.95 60.0 + 62.5 0.96 0.90 0.82 0.77 0.81 0.92 1.01 1.04 0.97 0.85 0.75 0.74 0.84 0.99 1.12 1.15 1.07 0.93 0.82 0.80 0.88 0.99 1.07 1.05 0.96 0.85 0.78 0.80 0.87 0.92 0.89 0.74 0.49 0.23 0.03 0.00 0.00 0.07 0.20 0.31 0.39 0.45 0.49 0.53 0.57 0.61 0.64 0.68 0.73 0.79 0.83 0.85 0.84 0.80 0.73 0.66 0.60 0.54 0.49 0.45 0.43 0.40 0.34 0.25 0.12 0.01 0.00 0.02 0.20 0.46 0.72 0.90 0.96 0.90 0.82 0.77 0.81 0.92 1.01 1.04 0.97 0.85 0.75 0.74 0.84 0.99 1.12 1.15 1.07 0.93 0.82 0.80 0.88 0.99 1.07 1.05 0.96 0.85 0.78 0.80 0.87 0.92 0.89 0.74 0.49 0.23 0.03 0.00 0.00 0.07 0.20 0.31 0.39 0.45 0.49 0.53 0.57 0.61 0.64 0.68 0.73 0.79 0.83 0.85 0.84 0.80 0.73 0.66 0.60 0.54 0.49 0.45 0.43 0.40 0.34 0.25 0.12 0.01 0.00 0.02 0.20 0.46 0.72 0.90 0.96 62.5 + 65.0 0.83 0.80 0.77 0.78 0.87 1.01 1.14 1.19 1.15 1.06 0.98 1.00 1.11 1.28 1.44 1.53 1.52 1.47 1.43 1.44 1.49 1.55 1.54 1.46 1.30 1.13 1.00 0.93 0.89 0.83 0.72 0.53 0.30 0.09 0.00 0.00 0.00 0.00 0.05 0.14 0.24 0.35 0.44 0.51 0.52 0.49 0.45 0.42 0.44 0.51 0.60 0.66 0.67 0.63 0.54 0.45 0.37 0.31 0.28 0.27 0.26 0.25 0.22 0.16 0.08 0.02 0.00 0.06 0.21 0.43 0.64 0.78 0.83 0.80 0.77 0.78 0.87 1.01 1.14 1.19 1.15 1.06 0.98 1.00 1.11 1.28 1.44 1.53 1.52 1.47 1.43 1.44 1.49 1.55 1.54 1.46 1.30 1.13 1.00 0.93 0.89 0.83 0.72 0.53 0.30 0.09 0.00 0.00 0.00 0.00 0.05 0.14 0.24 0.35 0.44 0.51 0.52 0.49 0.45 0.42 0.44 0.51 0.60 0.66 0.67 0.63 0.54 0.45 0.37 0.31 0.28 0.27 0.26 0.25 0.22 0.16 0.08 0.02 0.00 0.06 0.21 0.43 0.64 0.78 0.83 65.0 + 67.5 0.63 0.61 0.61 0.67 0.81 1.00 1.16 1.25 1.24 1.18 1.14 1.19 1.34 1.56 1.78 1.95 2.06 2.12 2.17 2.24 2.31 2.33 2.26 2.10 1.88 1.64 1.43 1.25 1.09 0.91 0.69 0.44 0.19 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.16 0.28 0.36 0.37 0.30 0.19 0.11 0.10 0.16 0.27 0.37 0.41 0.37 0.29 0.19 0.11 0.09 0.10 0.13 0.16 0.17 0.18 0.16 0.12 0.09 0.08 0.13 0.23 0.37 0.51 0.60 0.63 0.61 0.61 0.67 0.81 1.00 1.16 1.25 1.24 1.18 1.14 1.19 1.34 1.56 1.78 1.95 2.06 2.12 2.17 2.24 2.31 2.33 2.26 2.10 1.88 1.64 1.43 1.25 1.09 0.91 0.69 0.44 0.19 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.16 0.28 0.36 0.37 0.30 0.19 0.11 0.10 0.16 0.27 0.37 0.41 0.37 0.29 0.19 0.11 0.09 0.10 0.13 0.16 0.17 0.18 0.16 0.12 0.09 0.08 0.13 0.23 0.37 0.51 0.60 0.63 67.5 + 70.0 0.43 0.42 0.45 0.55 0.72 0.94 1.12 1.23 1.24 1.22 1.22 1.31 1.51 1.78 2.07 2.34 2.56 2.76 2.94 3.12 3.25 3.29 3.21 3.00 2.72 2.42 2.13 1.85 1.58 1.27 0.93 0.58 0.28 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.16 0.18 0.11 0.00 0.00 0.00 0.00 0.02 0.15 0.22 0.20 0.12 0.03 0.00 0.00 0.05 0.12 0.19 0.24 0.26 0.25 0.23 0.21 0.19 0.20 0.24 0.31 0.38 0.42 0.43 0.42 0.45 0.55 0.72 0.94 1.12 1.23 1.24 1.22 1.22 1.31 1.51 1.78 2.07 2.34 2.56 2.76 2.94 3.12 3.25 3.29 3.21 3.00 2.72 2.42 2.13 1.85 1.58 1.27 0.93 0.58 0.28 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.16 0.18 0.11 0.00 0.00 0.00 0.00 0.02 0.15 0.22 0.20 0.12 0.03 0.00 0.00 0.05 0.12 0.19 0.24 0.26 0.25 0.23 0.21 0.19 0.20 0.24 0.31 0.38 0.42 0.43 70.0 + 72.5 0.32 0.32 0.36 0.48 0.68 0.90 1.08 1.18 1.20 1.19 1.23 1.36 1.61 1.93 2.27 2.60 2.93 3.25 3.59 3.92 4.17 4.29 4.23 4.02 3.70 3.35 3.01 2.67 2.31 1.90 1.45 1.00 0.61 0.33 0.18 0.11 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.09 0.06 0.00 0.00 0.00 0.00 0.00 0.16 0.26 0.26 0.18 0.09 0.05 0.09 0.19 0.30 0.40 0.44 0.44 0.41 0.37 0.32 0.29 0.27 0.27 0.29 0.32 0.32 0.32 0.32 0.36 0.48 0.68 0.90 1.08 1.18 1.20 1.19 1.23 1.36 1.61 1.93 2.27 2.60 2.93 3.25 3.59 3.92 4.17 4.29 4.23 4.02 3.70 3.35 3.01 2.67 2.31 1.90 1.45 1.00 0.61 0.33 0.18 0.11 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.09 0.06 0.00 0.00 0.00 0.00 0.00 0.16 0.26 0.26 0.18 0.09 0.05 0.09 0.19 0.30 0.40 0.44 0.44 0.41 0.37 0.32 0.29 0.27 0.27 0.29 0.32 0.32 0.32 72.5 + 75.0 0.30 0.31 0.38 0.51 0.69 0.89 1.04 1.10 1.10 1.10 1.17 1.35 1.63 1.97 2.32 2.67 3.04 3.47 3.96 4.45 4.85 5.08 5.08 4.88 4.55 4.18 3.81 3.46 3.07 2.61 2.09 1.55 1.09 0.77 0.59 0.50 0.41 0.28 0.08 0.00 0.00 0.00 0.00 0.08 0.22 0.24 0.17 0.06 0.02 0.10 0.28 0.47 0.58 0.56 0.46 0.34 0.29 0.33 0.46 0.59 0.68 0.70 0.64 0.56 0.47 0.40 0.35 0.32 0.31 0.32 0.32 0.31 0.30 0.31 0.38 0.51 0.69 0.89 1.04 1.10 1.10 1.10 1.17 1.35 1.63 1.97 2.32 2.67 3.04 3.47 3.96 4.45 4.85 5.08 5.08 4.88 4.55 4.18 3.81 3.46 3.07 2.61 2.09 1.55 1.09 0.77 0.59 0.50 0.41 0.28 0.08 0.00 0.00 0.00 0.00 0.08 0.22 0.24 0.17 0.06 0.02 0.10 0.28 0.47 0.58 0.56 0.46 0.34 0.29 0.33 0.46 0.59 0.68 0.70 0.64 0.56 0.47 0.40 0.35 0.32 0.31 0.32 0.32 0.31 0.30 75.0 + 77.5 0.34 0.37 0.44 0.57 0.73 0.87 0.95 0.96 0.93 0.93 1.03 1.25 1.55 1.88 2.18 2.48 2.84 3.31 3.89 4.53 5.07 5.40 5.45 5.26 4.93 4.57 4.24 3.93 3.57 3.13 2.59 2.03 1.55 1.23 1.06 0.98 0.90 0.73 0.47 0.19 0.01 0.00 0.14 0.37 0.56 0.64 0.58 0.49 0.46 0.56 0.76 0.96 1.06 1.00 0.82 0.63 0.53 0.57 0.70 0.85 0.91 0.87 0.75 0.59 0.45 0.37 0.34 0.33 0.34 0.35 0.35 0.35 0.34 0.37 0.44 0.57 0.73 0.87 0.95 0.96 0.93 0.93 1.03 1.25 1.55 1.88 2.18 2.48 2.84 3.31 3.89 4.53 5.07 5.40 5.45 5.26 4.93 4.57 4.24 3.93 3.57 3.13 2.59 2.03 1.55 1.23 1.06 0.98 0.90 0.73 0.47 0.19 0.01 0.00 0.14 0.37 0.56 0.64 0.58 0.49 0.46 0.56 0.76 0.96 1.06 1.00 0.82 0.63 0.53 0.57 0.70 0.85 0.91 0.87 0.75 0.59 0.45 0.37 0.34 0.33 0.34 0.35 0.35 0.35 0.34 77.5 + 80.0 0.36 0.39 0.47 0.59 0.71 0.78 0.77 0.70 0.64 0.65 0.79 1.04 1.35 1.62 1.83 2.02 2.29 2.74 3.37 4.09 4.73 5.12 5.19 5.00 4.68 4.35 4.09 3.87 3.60 3.23 2.75 2.24 1.81 1.55 1.45 1.44 1.40 1.22 0.93 0.59 0.37 0.33 0.50 0.76 0.99 1.07 1.02 0.93 0.91 1.03 1.25 1.45 1.49 1.35 1.06 0.77 0.61 0.63 0.77 0.92 0.96 0.86 0.66 0.44 0.28 0.22 0.23 0.28 0.33 0.36 0.37 0.36 0.36 0.39 0.47 0.59 0.71 0.78 0.77 0.70 0.64 0.65 0.79 1.04 1.35 1.62 1.83 2.02 2.29 2.74 3.37 4.09 4.73 5.12 5.19 5.00 4.68 4.35 4.09 3.87 3.60 3.23 2.75 2.24 1.81 1.55 1.45 1.44 1.40 1.22 0.93 0.59 0.37 0.33 0.50 0.76 0.99 1.07 1.02 0.93 0.91 1.03 1.25 1.45 1.49 1.35 1.06 0.77 0.61 0.63 0.77 0.92 0.96 0.86 0.66 0.44 0.28 0.22 0.23 0.28 0.33 0.36 0.37 0.36 0.36 80.0 + 82.5 0.29 0.33 0.41 0.51 0.58 0.57 0.48 0.34 0.23 0.26 0.44 0.73 1.02 1.21 1.29 1.34 1.49 1.88 2.51 3.26 3.92 4.32 4.37 4.16 3.84 3.57 3.41 3.31 3.17 2.91 2.52 2.11 1.79 1.65 1.67 1.76 1.78 1.62 1.30 0.94 0.68 0.65 0.82 1.09 1.31 1.37 1.29 1.17 1.16 1.30 1.54 1.72 1.70 1.45 1.04 0.65 0.43 0.44 0.60 0.76 0.79 0.65 0.39 0.13 0.00 0.00 0.03 0.16 0.26 0.31 0.31 0.29 0.29 0.33 0.41 0.51 0.58 0.57 0.48 0.34 0.23 0.26 0.44 0.73 1.02 1.21 1.29 1.34 1.49 1.88 2.51 3.26 3.92 4.32 4.37 4.16 3.84 3.57 3.41 3.31 3.17 2.91 2.52 2.11 1.79 1.65 1.67 1.76 1.78 1.62 1.30 0.94 0.68 0.65 0.82 1.09 1.31 1.37 1.29 1.17 1.16 1.30 1.54 1.72 1.70 1.45 1.04 0.65 0.43 0.44 0.60 0.76 0.79 0.65 0.39 0.13 0.00 0.00 0.03 0.16 0.26 0.31 0.31 0.29 0.29 82.5 + 85.0 0.14 0.18 0.27 0.35 0.38 0.30 0.12 0.00 0.00 0.00 0.04 0.36 0.63 0.74 0.69 0.59 0.63 0.95 1.55 2.29 2.93 3.29 3.29 3.05 2.74 2.54 2.48 2.50 2.48 2.33 2.05 1.74 1.55 1.56 1.72 1.92 1.99 1.84 1.51 1.13 0.87 0.84 1.01 1.26 1.43 1.43 1.30 1.17 1.17 1.34 1.59 1.75 1.66 1.30 0.78 0.31 0.07 0.09 0.28 0.47 0.49 0.32 0.03 0.00 0.00 0.00 0.00 0.00 0.15 0.21 0.19 0.16 0.14 0.18 0.27 0.35 0.38 0.30 0.12 0.00 0.00 0.00 0.04 0.36 0.63 0.74 0.69 0.59 0.63 0.95 1.55 2.29 2.93 3.29 3.29 3.05 2.74 2.54 2.48 2.50 2.48 2.33 2.05 1.74 1.55 1.56 1.72 1.92 1.99 1.84 1.51 1.13 0.87 0.84 1.01 1.26 1.43 1.43 1.30 1.17 1.17 1.34 1.59 1.75 1.66 1.30 0.78 0.31 0.07 0.09 0.28 0.47 0.49 0.32 0.03 0.00 0.00 0.00 0.00 0.00 0.15 0.21 0.19 0.16 0.14 85.0 + 87.5 0.00 0.04 0.12 0.19 0.17 0.04 0.00 0.00 0.00 0.00 0.00 0.05 0.29 0.34 0.19 0.00 0.00 0.22 0.79 1.50 2.09 2.38 2.33 2.06 1.78 1.64 1.68 1.80 1.86 1.77 1.56 1.34 1.27 1.40 1.68 1.95 2.06 1.93 1.59 1.22 0.96 0.94 1.10 1.31 1.43 1.37 1.20 1.07 1.10 1.30 1.57 1.71 1.55 1.10 0.49 0.00 0.00 0.00 0.00 0.21 0.23 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.11 0.08 0.03 0.00 0.04 0.12 0.19 0.17 0.04 0.00 0.00 0.00 0.00 0.00 0.05 0.29 0.34 0.19 0.00 0.00 0.22 0.79 1.50 2.09 2.38 2.33 2.06 1.78 1.64 1.68 1.80 1.86 1.77 1.56 1.34 1.27 1.40 1.68 1.95 2.06 1.93 1.59 1.22 0.96 0.94 1.10 1.31 1.43 1.37 1.20 1.07 1.10 1.30 1.57 1.71 1.55 1.10 0.49 0.00 0.00 0.00 0.00 0.21 0.23 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.11 0.08 0.03 0.00 87.5 + 90.0 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.44 1.10 1.63 1.85 1.75 1.48 1.23 1.15 1.26 1.43 1.51 1.43 1.24 1.07 1.07 1.28 1.63 1.95 2.08 1.95 1.63 1.28 1.07 1.07 1.24 1.43 1.51 1.43 1.26 1.15 1.23 1.48 1.75 1.85 1.63 1.10 0.44 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.44 1.10 1.63 1.85 1.75 1.48 1.23 1.15 1.26 1.43 1.51 1.43 1.24 1.07 1.07 1.28 1.63 1.95 2.08 1.95 1.63 1.28 1.07 1.07 1.24 1.43 1.51 1.43 1.26 1.15 1.23 1.48 1.75 1.85 1.63 1.10 0.44 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 90.0 + + 35.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.81 ) PHI2 = 35. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.0 + 2.5 0.27 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.40 0.39 0.41 0.49 0.64 0.84 1.05 1.27 1.51 1.76 1.99 2.17 2.25 2.21 2.06 1.84 1.60 1.37 1.14 0.92 0.72 0.56 0.45 0.41 0.40 0.36 0.25 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.34 0.38 0.39 0.44 0.55 0.72 0.93 1.15 1.38 1.62 1.86 2.08 2.24 2.28 2.20 2.02 1.77 1.52 1.28 1.05 0.84 0.64 0.49 0.39 0.36 0.37 0.36 0.27 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.40 0.39 0.41 0.49 0.64 0.84 1.05 1.27 1.51 1.76 1.99 2.17 2.25 2.21 2.06 1.84 1.60 1.37 1.14 0.92 0.72 0.56 0.45 0.41 0.40 0.36 0.25 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.34 0.38 0.39 0.44 0.55 0.72 0.93 1.15 1.38 1.62 1.86 2.08 2.24 2.28 2.20 2.02 1.77 1.52 1.28 1.05 0.84 0.64 0.49 0.39 0.36 0.37 0.36 0.27 2.5 + 5.0 0.41 0.29 0.11 0.00 0.00 0.00 0.10 0.29 0.44 0.50 0.47 0.41 0.37 0.40 0.50 0.67 0.88 1.12 1.38 1.66 1.94 2.17 2.29 2.30 2.18 1.98 1.73 1.47 1.22 0.99 0.79 0.63 0.54 0.51 0.50 0.46 0.35 0.16 0.00 0.00 0.00 0.00 0.00 0.17 0.33 0.42 0.44 0.46 0.52 0.64 0.82 1.03 1.27 1.52 1.78 2.05 2.28 2.41 2.41 2.27 2.02 1.71 1.41 1.14 0.89 0.68 0.50 0.37 0.31 0.33 0.39 0.43 0.41 0.29 0.11 0.00 0.00 0.00 0.10 0.29 0.44 0.50 0.47 0.41 0.37 0.40 0.50 0.67 0.88 1.12 1.38 1.66 1.94 2.17 2.29 2.30 2.18 1.98 1.73 1.47 1.22 0.99 0.79 0.63 0.54 0.51 0.50 0.46 0.35 0.16 0.00 0.00 0.00 0.00 0.00 0.17 0.33 0.42 0.44 0.46 0.52 0.64 0.82 1.03 1.27 1.52 1.78 2.05 2.28 2.41 2.41 2.27 2.02 1.71 1.41 1.14 0.89 0.68 0.50 0.37 0.31 0.33 0.39 0.43 0.41 5.0 + 7.5 0.61 0.56 0.45 0.33 0.27 0.30 0.42 0.57 0.67 0.69 0.62 0.50 0.40 0.36 0.40 0.54 0.73 0.97 1.25 1.56 1.86 2.14 2.32 2.39 2.33 2.15 1.90 1.62 1.35 1.11 0.93 0.81 0.75 0.75 0.75 0.72 0.62 0.45 0.27 0.13 0.11 0.19 0.35 0.51 0.63 0.68 0.70 0.71 0.77 0.89 1.06 1.26 1.50 1.76 2.04 2.32 2.53 2.61 2.55 2.33 2.00 1.64 1.29 0.98 0.74 0.54 0.39 0.30 0.28 0.35 0.46 0.57 0.61 0.56 0.45 0.33 0.27 0.30 0.42 0.57 0.67 0.69 0.62 0.50 0.40 0.36 0.40 0.54 0.73 0.97 1.25 1.56 1.86 2.14 2.32 2.39 2.33 2.15 1.90 1.62 1.35 1.11 0.93 0.81 0.75 0.75 0.75 0.72 0.62 0.45 0.27 0.13 0.11 0.19 0.35 0.51 0.63 0.68 0.70 0.71 0.77 0.89 1.06 1.26 1.50 1.76 2.04 2.32 2.53 2.61 2.55 2.33 2.00 1.64 1.29 0.98 0.74 0.54 0.39 0.30 0.28 0.35 0.46 0.57 0.61 7.5 + 10.0 0.84 0.85 0.80 0.71 0.64 0.65 0.72 0.83 0.92 0.92 0.84 0.70 0.54 0.45 0.44 0.53 0.69 0.91 1.18 1.47 1.78 2.07 2.30 2.43 2.43 2.30 2.07 1.79 1.52 1.29 1.14 1.08 1.08 1.13 1.16 1.15 1.07 0.93 0.79 0.71 0.72 0.82 0.96 1.09 1.17 1.19 1.18 1.19 1.23 1.33 1.47 1.64 1.84 2.08 2.35 2.59 2.75 2.77 2.63 2.33 1.95 1.54 1.18 0.88 0.66 0.50 0.39 0.34 0.37 0.47 0.61 0.75 0.84 0.85 0.80 0.71 0.64 0.65 0.72 0.83 0.92 0.92 0.84 0.70 0.54 0.45 0.44 0.53 0.69 0.91 1.18 1.47 1.78 2.07 2.30 2.43 2.43 2.30 2.07 1.79 1.52 1.29 1.14 1.08 1.08 1.13 1.16 1.15 1.07 0.93 0.79 0.71 0.72 0.82 0.96 1.09 1.17 1.19 1.18 1.19 1.23 1.33 1.47 1.64 1.84 2.08 2.35 2.59 2.75 2.77 2.63 2.33 1.95 1.54 1.18 0.88 0.66 0.50 0.39 0.34 0.37 0.47 0.61 0.75 0.84 10.0 + 12.5 1.04 1.08 1.06 1.00 0.93 0.90 0.94 1.01 1.09 1.12 1.07 0.94 0.78 0.65 0.60 0.64 0.77 0.94 1.16 1.40 1.67 1.95 2.21 2.39 2.45 2.38 2.19 1.93 1.68 1.48 1.37 1.36 1.43 1.53 1.61 1.63 1.58 1.48 1.39 1.36 1.42 1.54 1.67 1.78 1.81 1.80 1.77 1.76 1.78 1.85 1.94 2.06 2.21 2.40 2.60 2.78 2.86 2.80 2.58 2.23 1.82 1.42 1.08 0.83 0.67 0.56 0.51 0.51 0.56 0.66 0.79 0.93 1.04 1.08 1.06 1.00 0.93 0.90 0.94 1.01 1.09 1.12 1.07 0.94 0.78 0.65 0.60 0.64 0.77 0.94 1.16 1.40 1.67 1.95 2.21 2.39 2.45 2.38 2.19 1.93 1.68 1.48 1.37 1.36 1.43 1.53 1.61 1.63 1.58 1.48 1.39 1.36 1.42 1.54 1.67 1.78 1.81 1.80 1.77 1.76 1.78 1.85 1.94 2.06 2.21 2.40 2.60 2.78 2.86 2.80 2.58 2.23 1.82 1.42 1.08 0.83 0.67 0.56 0.51 0.51 0.56 0.66 0.79 0.93 1.04 12.5 + 15.0 1.14 1.20 1.20 1.16 1.08 1.02 1.01 1.06 1.14 1.20 1.20 1.12 0.99 0.87 0.80 0.80 0.88 1.00 1.15 1.33 1.54 1.79 2.05 2.27 2.39 2.38 2.23 2.01 1.77 1.59 1.51 1.54 1.66 1.81 1.93 1.99 1.97 1.91 1.87 1.88 1.97 2.11 2.24 2.32 2.32 2.28 2.22 2.19 2.20 2.24 2.31 2.39 2.49 2.61 2.73 2.81 2.80 2.65 2.36 1.99 1.59 1.24 0.97 0.79 0.70 0.66 0.66 0.68 0.74 0.82 0.92 1.03 1.14 1.20 1.20 1.16 1.08 1.02 1.01 1.06 1.14 1.20 1.20 1.12 0.99 0.87 0.80 0.80 0.88 1.00 1.15 1.33 1.54 1.79 2.05 2.27 2.39 2.38 2.23 2.01 1.77 1.59 1.51 1.54 1.66 1.81 1.93 1.99 1.97 1.91 1.87 1.88 1.97 2.11 2.24 2.32 2.32 2.28 2.22 2.19 2.20 2.24 2.31 2.39 2.49 2.61 2.73 2.81 2.80 2.65 2.36 1.99 1.59 1.24 0.97 0.79 0.70 0.66 0.66 0.68 0.74 0.82 0.92 1.03 1.14 15.0 + 17.5 1.09 1.17 1.21 1.18 1.10 1.00 0.94 0.95 1.02 1.11 1.17 1.15 1.07 0.97 0.89 0.88 0.92 1.00 1.10 1.22 1.39 1.61 1.87 2.11 2.27 2.31 2.20 2.00 1.77 1.59 1.51 1.54 1.67 1.84 1.99 2.08 2.11 2.09 2.09 2.13 2.24 2.38 2.50 2.56 2.53 2.46 2.37 2.33 2.33 2.38 2.44 2.51 2.58 2.64 2.68 2.66 2.54 2.32 1.99 1.62 1.27 0.98 0.79 0.68 0.65 0.67 0.70 0.75 0.80 0.85 0.91 1.00 1.09 1.17 1.21 1.18 1.10 1.00 0.94 0.95 1.02 1.11 1.17 1.15 1.07 0.97 0.89 0.88 0.92 1.00 1.10 1.22 1.39 1.61 1.87 2.11 2.27 2.31 2.20 2.00 1.77 1.59 1.51 1.54 1.67 1.84 1.99 2.08 2.11 2.09 2.09 2.13 2.24 2.38 2.50 2.56 2.53 2.46 2.37 2.33 2.33 2.38 2.44 2.51 2.58 2.64 2.68 2.66 2.54 2.32 1.99 1.62 1.27 0.98 0.79 0.68 0.65 0.67 0.70 0.75 0.80 0.85 0.91 1.00 1.09 17.5 + 20.0 0.90 1.01 1.09 1.09 1.01 0.88 0.76 0.72 0.76 0.86 0.95 0.99 0.96 0.89 0.83 0.81 0.84 0.90 0.98 1.07 1.22 1.42 1.68 1.93 2.12 2.19 2.11 1.92 1.69 1.49 1.38 1.38 1.48 1.64 1.81 1.94 2.01 2.05 2.09 2.16 2.29 2.42 2.52 2.55 2.49 2.38 2.27 2.21 2.21 2.26 2.34 2.42 2.47 2.49 2.45 2.34 2.14 1.85 1.51 1.17 0.88 0.66 0.53 0.48 0.48 0.52 0.58 0.63 0.67 0.70 0.73 0.80 0.90 1.01 1.09 1.09 1.01 0.88 0.76 0.72 0.76 0.86 0.95 0.99 0.96 0.89 0.83 0.81 0.84 0.90 0.98 1.07 1.22 1.42 1.68 1.93 2.12 2.19 2.11 1.92 1.69 1.49 1.38 1.38 1.48 1.64 1.81 1.94 2.01 2.05 2.09 2.16 2.29 2.42 2.52 2.55 2.49 2.38 2.27 2.21 2.21 2.26 2.34 2.42 2.47 2.49 2.45 2.34 2.14 1.85 1.51 1.17 0.88 0.66 0.53 0.48 0.48 0.52 0.58 0.63 0.67 0.70 0.73 0.80 0.90 20.0 + 22.5 0.60 0.75 0.87 0.92 0.85 0.70 0.53 0.42 0.42 0.51 0.62 0.70 0.70 0.66 0.62 0.61 0.64 0.71 0.80 0.91 1.05 1.25 1.50 1.75 1.94 2.02 1.96 1.80 1.57 1.36 1.22 1.18 1.25 1.39 1.56 1.73 1.86 1.97 2.06 2.18 2.32 2.45 2.54 2.54 2.46 2.31 2.17 2.08 2.05 2.09 2.17 2.24 2.27 2.24 2.13 1.93 1.66 1.34 1.01 0.71 0.48 0.32 0.23 0.20 0.21 0.25 0.31 0.36 0.40 0.41 0.43 0.49 0.60 0.75 0.87 0.92 0.85 0.70 0.53 0.42 0.42 0.51 0.62 0.70 0.70 0.66 0.62 0.61 0.64 0.71 0.80 0.91 1.05 1.25 1.50 1.75 1.94 2.02 1.96 1.80 1.57 1.36 1.22 1.18 1.25 1.39 1.56 1.73 1.86 1.97 2.06 2.18 2.32 2.45 2.54 2.54 2.46 2.31 2.17 2.08 2.05 2.09 2.17 2.24 2.27 2.24 2.13 1.93 1.66 1.34 1.01 0.71 0.48 0.32 0.23 0.20 0.21 0.25 0.31 0.36 0.40 0.41 0.43 0.49 0.60 22.5 + 25.0 0.26 0.44 0.61 0.70 0.65 0.49 0.28 0.13 0.09 0.16 0.28 0.38 0.42 0.40 0.37 0.37 0.42 0.51 0.63 0.75 0.90 1.09 1.31 1.53 1.71 1.79 1.76 1.63 1.45 1.27 1.14 1.08 1.12 1.24 1.42 1.63 1.84 2.03 2.21 2.38 2.55 2.70 2.79 2.78 2.69 2.52 2.34 2.19 2.11 2.09 2.11 2.13 2.09 1.98 1.79 1.51 1.18 0.85 0.54 0.30 0.13 0.02 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.10 0.10 0.15 0.26 0.44 0.61 0.70 0.65 0.49 0.28 0.13 0.09 0.16 0.28 0.38 0.42 0.40 0.37 0.37 0.42 0.51 0.63 0.75 0.90 1.09 1.31 1.53 1.71 1.79 1.76 1.63 1.45 1.27 1.14 1.08 1.12 1.24 1.42 1.63 1.84 2.03 2.21 2.38 2.55 2.70 2.79 2.78 2.69 2.52 2.34 2.19 2.11 2.09 2.11 2.13 2.09 1.98 1.79 1.51 1.18 0.85 0.54 0.30 0.13 0.02 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.10 0.10 0.15 0.26 25.0 + 27.5 0.00 0.14 0.33 0.45 0.43 0.28 0.07 0.00 0.00 0.00 0.03 0.14 0.20 0.19 0.17 0.19 0.25 0.35 0.48 0.61 0.75 0.91 1.08 1.26 1.40 1.48 1.49 1.43 1.33 1.23 1.16 1.14 1.18 1.30 1.48 1.72 1.99 2.27 2.54 2.79 3.02 3.20 3.31 3.33 3.25 3.08 2.87 2.66 2.48 2.35 2.26 2.16 2.02 1.80 1.50 1.15 0.78 0.44 0.18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.33 0.45 0.43 0.28 0.07 0.00 0.00 0.00 0.03 0.14 0.20 0.19 0.17 0.19 0.25 0.35 0.48 0.61 0.75 0.91 1.08 1.26 1.40 1.48 1.49 1.43 1.33 1.23 1.16 1.14 1.18 1.30 1.48 1.72 1.99 2.27 2.54 2.79 3.02 3.20 3.31 3.33 3.25 3.08 2.87 2.66 2.48 2.35 2.26 2.16 2.02 1.80 1.50 1.15 0.78 0.44 0.18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 27.5 + 30.0 0.00 0.00 0.09 0.22 0.23 0.11 0.00 0.00 0.00 0.00 0.00 0.03 0.09 0.10 0.09 0.10 0.16 0.26 0.37 0.48 0.59 0.70 0.82 0.94 1.05 1.12 1.16 1.18 1.20 1.22 1.25 1.29 1.36 1.47 1.65 1.90 2.21 2.55 2.89 3.21 3.49 3.72 3.87 3.94 3.90 3.76 3.54 3.28 3.01 2.76 2.53 2.29 2.02 1.69 1.30 0.88 0.49 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.22 0.23 0.11 0.00 0.00 0.00 0.00 0.00 0.03 0.09 0.10 0.09 0.10 0.16 0.26 0.37 0.48 0.59 0.70 0.82 0.94 1.05 1.12 1.16 1.18 1.20 1.22 1.25 1.29 1.36 1.47 1.65 1.90 2.21 2.55 2.89 3.21 3.49 3.72 3.87 3.94 3.90 3.76 3.54 3.28 3.01 2.76 2.53 2.29 2.02 1.69 1.30 0.88 0.49 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 30.0 + 32.5 0.00 0.00 0.00 0.08 0.11 0.03 0.00 0.00 0.00 0.00 0.00 0.01 0.08 0.10 0.09 0.10 0.14 0.21 0.29 0.36 0.42 0.49 0.57 0.64 0.71 0.77 0.84 0.92 1.03 1.16 1.30 1.41 1.50 1.60 1.74 1.96 2.25 2.61 2.98 3.34 3.65 3.91 4.11 4.23 4.26 4.17 3.98 3.70 3.38 3.03 2.70 2.36 2.00 1.60 1.16 0.72 0.32 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.11 0.03 0.00 0.00 0.00 0.00 0.00 0.01 0.08 0.10 0.09 0.10 0.14 0.21 0.29 0.36 0.42 0.49 0.57 0.64 0.71 0.77 0.84 0.92 1.03 1.16 1.30 1.41 1.50 1.60 1.74 1.96 2.25 2.61 2.98 3.34 3.65 3.91 4.11 4.23 4.26 4.17 3.98 3.70 3.38 3.03 2.70 2.36 2.00 1.60 1.16 0.72 0.32 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 32.5 + 35.0 0.00 0.00 0.00 0.05 0.11 0.07 0.00 0.00 0.00 0.00 0.00 0.04 0.11 0.13 0.14 0.14 0.16 0.18 0.22 0.25 0.29 0.34 0.40 0.45 0.50 0.53 0.58 0.68 0.84 1.04 1.24 1.40 1.49 1.54 1.62 1.76 2.00 2.31 2.66 3.00 3.30 3.55 3.76 3.92 4.01 4.00 3.87 3.63 3.30 2.95 2.59 2.23 1.87 1.48 1.07 0.65 0.28 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.01 0.00 0.00 0.00 0.00 0.00 0.05 0.11 0.07 0.00 0.00 0.00 0.00 0.00 0.04 0.11 0.13 0.14 0.14 0.16 0.18 0.22 0.25 0.29 0.34 0.40 0.45 0.50 0.53 0.58 0.68 0.84 1.04 1.24 1.40 1.49 1.54 1.62 1.76 2.00 2.31 2.66 3.00 3.30 3.55 3.76 3.92 4.01 4.00 3.87 3.63 3.30 2.95 2.59 2.23 1.87 1.48 1.07 0.65 0.28 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.01 0.00 0.00 0.00 35.0 + 37.5 0.00 0.00 0.00 0.12 0.21 0.22 0.15 0.06 0.00 0.00 0.01 0.07 0.14 0.19 0.21 0.21 0.20 0.18 0.17 0.18 0.21 0.28 0.37 0.43 0.46 0.46 0.47 0.54 0.68 0.88 1.09 1.24 1.29 1.28 1.27 1.32 1.47 1.72 2.01 2.28 2.51 2.69 2.86 3.01 3.14 3.20 3.15 2.99 2.73 2.43 2.14 1.86 1.59 1.31 0.99 0.65 0.34 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.15 0.21 0.17 0.06 0.00 0.00 0.00 0.00 0.12 0.21 0.22 0.15 0.06 0.00 0.00 0.01 0.07 0.14 0.19 0.21 0.21 0.20 0.18 0.17 0.18 0.21 0.28 0.37 0.43 0.46 0.46 0.47 0.54 0.68 0.88 1.09 1.24 1.29 1.28 1.27 1.32 1.47 1.72 2.01 2.28 2.51 2.69 2.86 3.01 3.14 3.20 3.15 2.99 2.73 2.43 2.14 1.86 1.59 1.31 0.99 0.65 0.34 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.15 0.21 0.17 0.06 0.00 0.00 37.5 + 40.0 0.01 0.02 0.12 0.25 0.37 0.41 0.38 0.28 0.17 0.09 0.07 0.10 0.18 0.26 0.32 0.33 0.29 0.22 0.16 0.15 0.22 0.34 0.48 0.57 0.60 0.55 0.50 0.50 0.58 0.74 0.91 1.01 1.00 0.92 0.82 0.80 0.89 1.07 1.28 1.45 1.57 1.64 1.72 1.82 1.95 2.06 2.09 2.02 1.85 1.65 1.46 1.32 1.21 1.08 0.91 0.68 0.43 0.21 0.06 0.00 0.00 0.00 0.00 0.00 0.03 0.09 0.19 0.28 0.33 0.30 0.21 0.09 0.01 0.02 0.12 0.25 0.37 0.41 0.38 0.28 0.17 0.09 0.07 0.10 0.18 0.26 0.32 0.33 0.29 0.22 0.16 0.15 0.22 0.34 0.48 0.57 0.60 0.55 0.50 0.50 0.58 0.74 0.91 1.01 1.00 0.92 0.82 0.80 0.89 1.07 1.28 1.45 1.57 1.64 1.72 1.82 1.95 2.06 2.09 2.02 1.85 1.65 1.46 1.32 1.21 1.08 0.91 0.68 0.43 0.21 0.06 0.00 0.00 0.00 0.00 0.00 0.03 0.09 0.19 0.28 0.33 0.30 0.21 0.09 0.01 40.0 + 42.5 0.14 0.13 0.20 0.33 0.47 0.56 0.55 0.46 0.31 0.18 0.11 0.14 0.24 0.38 0.48 0.49 0.42 0.30 0.19 0.18 0.27 0.46 0.66 0.79 0.80 0.71 0.59 0.53 0.56 0.66 0.77 0.80 0.73 0.58 0.45 0.40 0.47 0.62 0.78 0.86 0.85 0.78 0.73 0.76 0.87 1.00 1.09 1.07 0.98 0.86 0.77 0.76 0.80 0.84 0.81 0.70 0.51 0.32 0.17 0.11 0.12 0.17 0.21 0.23 0.24 0.27 0.31 0.36 0.40 0.39 0.32 0.22 0.14 0.13 0.20 0.33 0.47 0.56 0.55 0.46 0.31 0.18 0.11 0.14 0.24 0.38 0.48 0.49 0.42 0.30 0.19 0.18 0.27 0.46 0.66 0.79 0.80 0.71 0.59 0.53 0.56 0.66 0.77 0.80 0.73 0.58 0.45 0.40 0.47 0.62 0.78 0.86 0.85 0.78 0.73 0.76 0.87 1.00 1.09 1.07 0.98 0.86 0.77 0.76 0.80 0.84 0.81 0.70 0.51 0.32 0.17 0.11 0.12 0.17 0.21 0.23 0.24 0.27 0.31 0.36 0.40 0.39 0.32 0.22 0.14 42.5 + 45.0 0.20 0.16 0.19 0.30 0.46 0.59 0.62 0.54 0.38 0.22 0.14 0.18 0.34 0.54 0.68 0.69 0.58 0.39 0.23 0.20 0.33 0.56 0.80 0.94 0.94 0.82 0.66 0.57 0.57 0.65 0.71 0.69 0.55 0.37 0.23 0.21 0.32 0.50 0.64 0.65 0.53 0.33 0.17 0.12 0.20 0.33 0.44 0.45 0.38 0.28 0.24 0.30 0.44 0.60 0.68 0.66 0.53 0.37 0.24 0.21 0.26 0.36 0.44 0.47 0.45 0.42 0.39 0.40 0.42 0.42 0.38 0.30 0.20 0.16 0.19 0.30 0.46 0.59 0.62 0.54 0.38 0.22 0.14 0.18 0.34 0.54 0.68 0.69 0.58 0.39 0.23 0.20 0.33 0.56 0.80 0.94 0.94 0.82 0.66 0.57 0.57 0.65 0.71 0.69 0.55 0.37 0.23 0.21 0.32 0.50 0.64 0.65 0.53 0.33 0.17 0.12 0.20 0.33 0.44 0.45 0.38 0.28 0.24 0.30 0.44 0.60 0.68 0.66 0.53 0.37 0.24 0.21 0.26 0.36 0.44 0.47 0.45 0.42 0.39 0.40 0.42 0.42 0.38 0.30 0.20 45.0 + 47.5 0.21 0.11 0.08 0.16 0.32 0.49 0.56 0.51 0.36 0.20 0.13 0.21 0.43 0.70 0.87 0.88 0.71 0.46 0.25 0.20 0.33 0.58 0.83 0.96 0.94 0.80 0.65 0.57 0.60 0.68 0.73 0.66 0.48 0.27 0.15 0.18 0.37 0.61 0.77 0.76 0.56 0.28 0.03 0.00 0.00 0.12 0.23 0.24 0.15 0.02 0.00 0.02 0.19 0.39 0.54 0.57 0.49 0.36 0.27 0.28 0.38 0.53 0.64 0.67 0.61 0.50 0.41 0.38 0.40 0.43 0.41 0.34 0.21 0.11 0.08 0.16 0.32 0.49 0.56 0.51 0.36 0.20 0.13 0.21 0.43 0.70 0.87 0.88 0.71 0.46 0.25 0.20 0.33 0.58 0.83 0.96 0.94 0.80 0.65 0.57 0.60 0.68 0.73 0.66 0.48 0.27 0.15 0.18 0.37 0.61 0.77 0.76 0.56 0.28 0.03 0.00 0.00 0.12 0.23 0.24 0.15 0.02 0.00 0.02 0.19 0.39 0.54 0.57 0.49 0.36 0.27 0.28 0.38 0.53 0.64 0.67 0.61 0.50 0.41 0.38 0.40 0.43 0.41 0.34 0.21 47.5 + 50.0 0.22 0.05 0.00 0.00 0.14 0.32 0.43 0.41 0.28 0.13 0.09 0.22 0.50 0.81 1.00 0.99 0.77 0.46 0.21 0.14 0.28 0.53 0.76 0.86 0.81 0.67 0.56 0.54 0.64 0.76 0.80 0.69 0.47 0.23 0.12 0.21 0.47 0.78 0.98 0.96 0.74 0.42 0.14 0.02 0.07 0.22 0.33 0.33 0.21 0.04 0.00 0.00 0.07 0.27 0.43 0.48 0.43 0.33 0.28 0.34 0.49 0.67 0.79 0.79 0.68 0.51 0.37 0.31 0.35 0.42 0.45 0.38 0.22 0.05 0.00 0.00 0.14 0.32 0.43 0.41 0.28 0.13 0.09 0.22 0.50 0.81 1.00 0.99 0.77 0.46 0.21 0.14 0.28 0.53 0.76 0.86 0.81 0.67 0.56 0.54 0.64 0.76 0.80 0.69 0.47 0.23 0.12 0.21 0.47 0.78 0.98 0.96 0.74 0.42 0.14 0.02 0.07 0.22 0.33 0.33 0.21 0.04 0.00 0.00 0.07 0.27 0.43 0.48 0.43 0.33 0.28 0.34 0.49 0.67 0.79 0.79 0.68 0.51 0.37 0.31 0.35 0.42 0.45 0.38 0.22 50.0 + 52.5 0.30 0.08 0.00 0.00 0.02 0.20 0.32 0.31 0.19 0.06 0.04 0.20 0.51 0.84 1.03 0.99 0.74 0.40 0.13 0.06 0.20 0.44 0.65 0.72 0.65 0.52 0.46 0.53 0.70 0.86 0.89 0.75 0.48 0.21 0.10 0.21 0.50 0.84 1.07 1.07 0.86 0.55 0.29 0.20 0.27 0.43 0.55 0.55 0.41 0.21 0.06 0.02 0.12 0.28 0.41 0.46 0.42 0.35 0.33 0.42 0.59 0.77 0.86 0.82 0.65 0.42 0.26 0.22 0.31 0.45 0.52 0.47 0.30 0.08 0.00 0.00 0.02 0.20 0.32 0.31 0.19 0.06 0.04 0.20 0.51 0.84 1.03 0.99 0.74 0.40 0.13 0.06 0.20 0.44 0.65 0.72 0.65 0.52 0.46 0.53 0.70 0.86 0.89 0.75 0.48 0.21 0.10 0.21 0.50 0.84 1.07 1.07 0.86 0.55 0.29 0.20 0.27 0.43 0.55 0.55 0.41 0.21 0.06 0.02 0.12 0.28 0.41 0.46 0.42 0.35 0.33 0.42 0.59 0.77 0.86 0.82 0.65 0.42 0.26 0.22 0.31 0.45 0.52 0.47 0.30 52.5 + 55.0 0.48 0.23 0.03 0.00 0.06 0.21 0.31 0.29 0.16 0.03 0.01 0.17 0.48 0.80 0.97 0.91 0.65 0.31 0.06 0.02 0.16 0.39 0.56 0.61 0.53 0.44 0.43 0.56 0.78 0.97 0.99 0.81 0.50 0.20 0.05 0.15 0.43 0.76 0.99 1.02 0.85 0.60 0.40 0.34 0.43 0.60 0.73 0.75 0.64 0.46 0.31 0.26 0.31 0.42 0.51 0.53 0.49 0.43 0.42 0.51 0.66 0.81 0.85 0.75 0.53 0.29 0.13 0.14 0.30 0.51 0.66 0.65 0.48 0.23 0.03 0.00 0.06 0.21 0.31 0.29 0.16 0.03 0.01 0.17 0.48 0.80 0.97 0.91 0.65 0.31 0.06 0.02 0.16 0.39 0.56 0.61 0.53 0.44 0.43 0.56 0.78 0.97 0.99 0.81 0.50 0.20 0.05 0.15 0.43 0.76 0.99 1.02 0.85 0.60 0.40 0.34 0.43 0.60 0.73 0.75 0.64 0.46 0.31 0.26 0.31 0.42 0.51 0.53 0.49 0.43 0.42 0.51 0.66 0.81 0.85 0.75 0.53 0.29 0.13 0.14 0.30 0.51 0.66 0.65 0.48 55.0 + 57.5 0.72 0.49 0.28 0.20 0.25 0.36 0.43 0.38 0.23 0.08 0.05 0.19 0.46 0.74 0.88 0.81 0.56 0.26 0.06 0.04 0.19 0.40 0.55 0.57 0.50 0.43 0.46 0.63 0.86 1.04 1.05 0.85 0.51 0.19 0.02 0.08 0.31 0.60 0.81 0.86 0.76 0.60 0.47 0.45 0.55 0.70 0.83 0.86 0.80 0.69 0.59 0.55 0.59 0.65 0.69 0.67 0.60 0.53 0.51 0.58 0.69 0.78 0.78 0.63 0.40 0.16 0.04 0.10 0.33 0.61 0.82 0.86 0.72 0.49 0.28 0.20 0.25 0.36 0.43 0.38 0.23 0.08 0.05 0.19 0.46 0.74 0.88 0.81 0.56 0.26 0.06 0.04 0.19 0.40 0.55 0.57 0.50 0.43 0.46 0.63 0.86 1.04 1.05 0.85 0.51 0.19 0.02 0.08 0.31 0.60 0.81 0.86 0.76 0.60 0.47 0.45 0.55 0.70 0.83 0.86 0.80 0.69 0.59 0.55 0.59 0.65 0.69 0.67 0.60 0.53 0.51 0.58 0.69 0.78 0.78 0.63 0.40 0.16 0.04 0.10 0.33 0.61 0.82 0.86 0.72 57.5 + 60.0 0.94 0.74 0.55 0.46 0.50 0.58 0.61 0.54 0.37 0.21 0.15 0.25 0.48 0.71 0.83 0.77 0.56 0.31 0.16 0.17 0.31 0.50 0.61 0.61 0.53 0.48 0.52 0.68 0.89 1.04 1.02 0.81 0.49 0.19 0.02 0.03 0.21 0.43 0.62 0.69 0.66 0.59 0.54 0.55 0.63 0.74 0.83 0.87 0.85 0.82 0.79 0.80 0.83 0.86 0.84 0.77 0.67 0.58 0.54 0.57 0.64 0.69 0.65 0.50 0.28 0.08 0.00 0.11 0.38 0.71 0.96 1.04 0.94 0.74 0.55 0.46 0.50 0.58 0.61 0.54 0.37 0.21 0.15 0.25 0.48 0.71 0.83 0.77 0.56 0.31 0.16 0.17 0.31 0.50 0.61 0.61 0.53 0.48 0.52 0.68 0.89 1.04 1.02 0.81 0.49 0.19 0.02 0.03 0.21 0.43 0.62 0.69 0.66 0.59 0.54 0.55 0.63 0.74 0.83 0.87 0.85 0.82 0.79 0.80 0.83 0.86 0.84 0.77 0.67 0.58 0.54 0.57 0.64 0.69 0.65 0.50 0.28 0.08 0.00 0.11 0.38 0.71 0.96 1.04 0.94 60.0 + 62.5 1.02 0.86 0.71 0.65 0.69 0.77 0.79 0.71 0.55 0.38 0.30 0.37 0.56 0.75 0.86 0.82 0.67 0.50 0.40 0.43 0.55 0.68 0.75 0.72 0.63 0.56 0.59 0.70 0.85 0.94 0.89 0.69 0.42 0.16 0.01 0.01 0.13 0.29 0.44 0.53 0.56 0.57 0.58 0.61 0.66 0.70 0.73 0.74 0.75 0.78 0.83 0.88 0.91 0.91 0.84 0.73 0.61 0.50 0.45 0.47 0.52 0.55 0.51 0.38 0.21 0.06 0.03 0.16 0.43 0.74 0.99 1.09 1.02 0.86 0.71 0.65 0.69 0.77 0.79 0.71 0.55 0.38 0.30 0.37 0.56 0.75 0.86 0.82 0.67 0.50 0.40 0.43 0.55 0.68 0.75 0.72 0.63 0.56 0.59 0.70 0.85 0.94 0.89 0.69 0.42 0.16 0.01 0.01 0.13 0.29 0.44 0.53 0.56 0.57 0.58 0.61 0.66 0.70 0.73 0.74 0.75 0.78 0.83 0.88 0.91 0.91 0.84 0.73 0.61 0.50 0.45 0.47 0.52 0.55 0.51 0.38 0.21 0.06 0.03 0.16 0.43 0.74 0.99 1.09 1.02 62.5 + 65.0 0.91 0.79 0.70 0.68 0.75 0.85 0.90 0.85 0.71 0.55 0.48 0.53 0.68 0.87 0.98 1.00 0.92 0.83 0.80 0.85 0.95 1.04 1.05 0.97 0.85 0.75 0.73 0.77 0.83 0.83 0.74 0.54 0.31 0.11 0.00 0.00 0.06 0.16 0.26 0.34 0.40 0.47 0.53 0.57 0.58 0.55 0.51 0.48 0.49 0.55 0.65 0.74 0.78 0.76 0.67 0.54 0.41 0.32 0.28 0.31 0.37 0.41 0.40 0.32 0.19 0.09 0.08 0.20 0.42 0.68 0.88 0.96 0.91 0.79 0.70 0.68 0.75 0.85 0.90 0.85 0.71 0.55 0.48 0.53 0.68 0.87 0.98 1.00 0.92 0.83 0.80 0.85 0.95 1.04 1.05 0.97 0.85 0.75 0.73 0.77 0.83 0.83 0.74 0.54 0.31 0.11 0.00 0.00 0.06 0.16 0.26 0.34 0.40 0.47 0.53 0.57 0.58 0.55 0.51 0.48 0.49 0.55 0.65 0.74 0.78 0.76 0.67 0.54 0.41 0.32 0.28 0.31 0.37 0.41 0.40 0.32 0.19 0.09 0.08 0.20 0.42 0.68 0.88 0.96 0.91 65.0 + 67.5 0.67 0.59 0.54 0.58 0.70 0.85 0.94 0.93 0.84 0.71 0.66 0.71 0.86 1.05 1.21 1.29 1.31 1.33 1.38 1.48 1.60 1.66 1.63 1.51 1.34 1.18 1.08 1.03 0.97 0.87 0.71 0.49 0.27 0.10 0.01 0.00 0.02 0.05 0.08 0.12 0.17 0.26 0.35 0.40 0.39 0.32 0.21 0.14 0.13 0.20 0.33 0.45 0.51 0.50 0.41 0.28 0.17 0.12 0.12 0.19 0.27 0.34 0.35 0.31 0.23 0.16 0.14 0.21 0.35 0.53 0.66 0.71 0.67 0.59 0.54 0.58 0.70 0.85 0.94 0.93 0.84 0.71 0.66 0.71 0.86 1.05 1.21 1.29 1.31 1.33 1.38 1.48 1.60 1.66 1.63 1.51 1.34 1.18 1.08 1.03 0.97 0.87 0.71 0.49 0.27 0.10 0.01 0.00 0.02 0.05 0.08 0.12 0.17 0.26 0.35 0.40 0.39 0.32 0.21 0.14 0.13 0.20 0.33 0.45 0.51 0.50 0.41 0.28 0.17 0.12 0.12 0.19 0.27 0.34 0.35 0.31 0.23 0.16 0.14 0.21 0.35 0.53 0.66 0.71 0.67 67.5 + 70.0 0.40 0.36 0.36 0.46 0.64 0.83 0.97 1.00 0.95 0.86 0.83 0.91 1.08 1.30 1.51 1.68 1.81 1.95 2.13 2.34 2.52 2.61 2.56 2.40 2.18 1.95 1.76 1.60 1.43 1.21 0.94 0.65 0.40 0.22 0.13 0.10 0.08 0.04 0.00 0.00 0.00 0.01 0.11 0.19 0.19 0.11 0.00 0.00 0.00 0.00 0.05 0.20 0.29 0.29 0.22 0.11 0.04 0.03 0.09 0.19 0.30 0.38 0.40 0.37 0.30 0.23 0.18 0.19 0.26 0.35 0.42 0.44 0.40 0.36 0.36 0.46 0.64 0.83 0.97 1.00 0.95 0.86 0.83 0.91 1.08 1.30 1.51 1.68 1.81 1.95 2.13 2.34 2.52 2.61 2.56 2.40 2.18 1.95 1.76 1.60 1.43 1.21 0.94 0.65 0.40 0.22 0.13 0.10 0.08 0.04 0.00 0.00 0.00 0.01 0.11 0.19 0.19 0.11 0.00 0.00 0.00 0.00 0.05 0.20 0.29 0.29 0.22 0.11 0.04 0.03 0.09 0.19 0.30 0.38 0.40 0.37 0.30 0.23 0.18 0.19 0.26 0.35 0.42 0.44 0.40 70.0 + 72.5 0.23 0.22 0.28 0.42 0.64 0.86 1.02 1.08 1.04 0.99 1.00 1.12 1.33 1.60 1.86 2.10 2.34 2.62 2.96 3.32 3.62 3.78 3.76 3.58 3.30 3.00 2.72 2.46 2.19 1.86 1.48 1.09 0.77 0.55 0.44 0.39 0.32 0.21 0.05 0.00 0.00 0.00 0.00 0.10 0.15 0.09 0.00 0.00 0.00 0.00 0.02 0.20 0.31 0.32 0.24 0.14 0.08 0.11 0.21 0.35 0.46 0.52 0.52 0.46 0.37 0.27 0.20 0.18 0.19 0.23 0.26 0.26 0.23 0.22 0.28 0.42 0.64 0.86 1.02 1.08 1.04 0.99 1.00 1.12 1.33 1.60 1.86 2.10 2.34 2.62 2.96 3.32 3.62 3.78 3.76 3.58 3.30 3.00 2.72 2.46 2.19 1.86 1.48 1.09 0.77 0.55 0.44 0.39 0.32 0.21 0.05 0.00 0.00 0.00 0.00 0.10 0.15 0.09 0.00 0.00 0.00 0.00 0.02 0.20 0.31 0.32 0.24 0.14 0.08 0.11 0.21 0.35 0.46 0.52 0.52 0.46 0.37 0.27 0.20 0.18 0.19 0.23 0.26 0.26 0.23 72.5 + 75.0 0.19 0.22 0.31 0.48 0.72 0.94 1.09 1.13 1.10 1.08 1.13 1.30 1.56 1.86 2.15 2.43 2.75 3.15 3.65 4.19 4.65 4.92 4.95 4.74 4.41 4.04 3.70 3.38 3.03 2.62 2.15 1.68 1.29 1.03 0.91 0.85 0.77 0.60 0.36 0.12 0.00 0.00 0.10 0.27 0.38 0.36 0.25 0.11 0.06 0.14 0.32 0.51 0.62 0.59 0.47 0.34 0.27 0.31 0.43 0.58 0.68 0.69 0.62 0.51 0.38 0.27 0.20 0.17 0.17 0.19 0.20 0.20 0.19 0.22 0.31 0.48 0.72 0.94 1.09 1.13 1.10 1.08 1.13 1.30 1.56 1.86 2.15 2.43 2.75 3.15 3.65 4.19 4.65 4.92 4.95 4.74 4.41 4.04 3.70 3.38 3.03 2.62 2.15 1.68 1.29 1.03 0.91 0.85 0.77 0.60 0.36 0.12 0.00 0.00 0.10 0.27 0.38 0.36 0.25 0.11 0.06 0.14 0.32 0.51 0.62 0.59 0.47 0.34 0.27 0.31 0.43 0.58 0.68 0.69 0.62 0.51 0.38 0.27 0.20 0.17 0.17 0.19 0.20 0.20 0.19 75.0 + 77.5 0.23 0.28 0.40 0.59 0.81 1.00 1.10 1.10 1.06 1.05 1.15 1.37 1.68 1.99 2.26 2.53 2.86 3.33 3.97 4.67 5.29 5.67 5.73 5.51 5.12 4.71 4.33 4.00 3.63 3.19 2.68 2.16 1.75 1.49 1.40 1.37 1.31 1.12 0.83 0.52 0.31 0.29 0.44 0.67 0.83 0.85 0.75 0.62 0.57 0.66 0.85 1.03 1.09 0.99 0.77 0.55 0.43 0.46 0.59 0.73 0.80 0.75 0.61 0.43 0.28 0.18 0.14 0.14 0.17 0.20 0.22 0.22 0.23 0.28 0.40 0.59 0.81 1.00 1.10 1.10 1.06 1.05 1.15 1.37 1.68 1.99 2.26 2.53 2.86 3.33 3.97 4.67 5.29 5.67 5.73 5.51 5.12 4.71 4.33 4.00 3.63 3.19 2.68 2.16 1.75 1.49 1.40 1.37 1.31 1.12 0.83 0.52 0.31 0.29 0.44 0.67 0.83 0.85 0.75 0.62 0.57 0.66 0.85 1.03 1.09 0.99 0.77 0.55 0.43 0.46 0.59 0.73 0.80 0.75 0.61 0.43 0.28 0.18 0.14 0.14 0.17 0.20 0.22 0.22 0.23 77.5 + 80.0 0.22 0.29 0.42 0.61 0.80 0.93 0.96 0.90 0.83 0.83 0.98 1.26 1.59 1.87 2.08 2.26 2.54 3.03 3.74 4.56 5.29 5.74 5.81 5.56 5.14 4.70 4.34 4.04 3.73 3.32 2.82 2.32 1.93 1.73 1.71 1.76 1.75 1.58 1.26 0.91 0.68 0.66 0.85 1.11 1.31 1.35 1.25 1.11 1.07 1.17 1.37 1.53 1.51 1.28 0.92 0.58 0.39 0.40 0.54 0.69 0.73 0.62 0.41 0.19 0.03 0.00 0.00 0.07 0.14 0.19 0.20 0.20 0.22 0.29 0.42 0.61 0.80 0.93 0.96 0.90 0.83 0.83 0.98 1.26 1.59 1.87 2.08 2.26 2.54 3.03 3.74 4.56 5.29 5.74 5.81 5.56 5.14 4.70 4.34 4.04 3.73 3.32 2.82 2.32 1.93 1.73 1.71 1.76 1.75 1.58 1.26 0.91 0.68 0.66 0.85 1.11 1.31 1.35 1.25 1.11 1.07 1.17 1.37 1.53 1.51 1.28 0.92 0.58 0.39 0.40 0.54 0.69 0.73 0.62 0.41 0.19 0.03 0.00 0.00 0.07 0.14 0.19 0.20 0.20 0.22 80.0 + 82.5 0.09 0.17 0.31 0.48 0.63 0.70 0.64 0.51 0.41 0.42 0.61 0.92 1.25 1.47 1.56 1.62 1.80 2.24 2.98 3.86 4.65 5.11 5.17 4.88 4.44 4.02 3.72 3.50 3.27 2.94 2.51 2.07 1.76 1.66 1.75 1.90 1.95 1.80 1.49 1.13 0.90 0.89 1.10 1.39 1.59 1.62 1.50 1.36 1.34 1.48 1.69 1.81 1.69 1.32 0.80 0.34 0.08 0.09 0.25 0.42 0.45 0.31 0.05 0.00 0.00 0.00 0.00 0.00 0.04 0.10 0.10 0.08 0.09 0.17 0.31 0.48 0.63 0.70 0.64 0.51 0.41 0.42 0.61 0.92 1.25 1.47 1.56 1.62 1.80 2.24 2.98 3.86 4.65 5.11 5.17 4.88 4.44 4.02 3.72 3.50 3.27 2.94 2.51 2.07 1.76 1.66 1.75 1.90 1.95 1.80 1.49 1.13 0.90 0.89 1.10 1.39 1.59 1.62 1.50 1.36 1.34 1.48 1.69 1.81 1.69 1.32 0.80 0.34 0.08 0.09 0.25 0.42 0.45 0.31 0.05 0.00 0.00 0.00 0.00 0.00 0.04 0.10 0.10 0.08 0.09 82.5 + 85.0 0.00 0.00 0.07 0.23 0.34 0.33 0.20 0.01 0.00 0.00 0.11 0.44 0.74 0.88 0.84 0.75 0.82 1.21 1.92 2.81 3.60 4.05 4.07 3.76 3.32 2.95 2.74 2.64 2.51 2.27 1.91 1.56 1.34 1.35 1.55 1.79 1.90 1.78 1.46 1.10 0.88 0.90 1.12 1.41 1.59 1.59 1.45 1.33 1.35 1.54 1.78 1.86 1.66 1.15 0.49 0.00 0.00 0.00 0.00 0.07 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.23 0.34 0.33 0.20 0.01 0.00 0.00 0.11 0.44 0.74 0.88 0.84 0.75 0.82 1.21 1.92 2.81 3.60 4.05 4.07 3.76 3.32 2.95 2.74 2.64 2.51 2.27 1.91 1.56 1.34 1.35 1.55 1.79 1.90 1.78 1.46 1.10 0.88 0.90 1.12 1.41 1.59 1.59 1.45 1.33 1.35 1.54 1.78 1.86 1.66 1.15 0.49 0.00 0.00 0.00 0.00 0.07 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 85.0 + 87.5 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.28 0.13 0.00 0.00 0.25 0.94 1.81 2.56 2.97 2.95 2.63 2.23 1.95 1.85 1.85 1.82 1.64 1.35 1.06 0.93 1.03 1.32 1.61 1.75 1.63 1.31 0.96 0.75 0.79 1.03 1.30 1.45 1.43 1.30 1.22 1.32 1.57 1.84 1.90 1.62 1.00 0.24 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.28 0.13 0.00 0.00 0.25 0.94 1.81 2.56 2.97 2.95 2.63 2.23 1.95 1.85 1.85 1.82 1.64 1.35 1.06 0.93 1.03 1.32 1.61 1.75 1.63 1.31 0.96 0.75 0.79 1.03 1.30 1.45 1.43 1.30 1.22 1.32 1.57 1.84 1.90 1.62 1.00 0.24 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 87.5 + 90.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 1.17 1.86 2.22 2.18 1.87 1.54 1.35 1.35 1.44 1.46 1.31 1.04 0.79 0.72 0.89 1.22 1.54 1.67 1.54 1.22 0.89 0.72 0.79 1.04 1.31 1.46 1.44 1.35 1.35 1.54 1.87 2.18 2.22 1.86 1.17 0.34 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 1.17 1.86 2.22 2.18 1.87 1.54 1.35 1.35 1.44 1.46 1.31 1.04 0.79 0.72 0.89 1.22 1.54 1.67 1.54 1.22 0.89 0.72 0.79 1.04 1.31 1.46 1.44 1.35 1.35 1.54 1.87 2.18 2.22 1.86 1.17 0.34 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 90.0 + + 37.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.98 ) PHI2 = 38. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.0 + 2.5 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.39 0.38 0.40 0.49 0.64 0.84 1.05 1.27 1.51 1.76 2.00 2.18 2.26 2.22 2.07 1.85 1.61 1.37 1.14 0.93 0.72 0.56 0.45 0.41 0.40 0.36 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.34 0.38 0.39 0.44 0.55 0.73 0.93 1.15 1.38 1.62 1.86 2.08 2.24 2.28 2.20 2.01 1.77 1.51 1.27 1.05 0.84 0.64 0.49 0.39 0.37 0.38 0.36 0.27 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.39 0.38 0.40 0.49 0.64 0.84 1.05 1.27 1.51 1.76 2.00 2.18 2.26 2.22 2.07 1.85 1.61 1.37 1.14 0.93 0.72 0.56 0.45 0.41 0.40 0.36 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.34 0.38 0.39 0.44 0.55 0.73 0.93 1.15 1.38 1.62 1.86 2.08 2.24 2.28 2.20 2.01 1.77 1.51 1.27 1.05 0.84 0.64 0.49 0.39 0.37 0.38 0.36 0.27 0.09 2.5 + 5.0 0.30 0.12 0.00 0.00 0.00 0.11 0.30 0.45 0.50 0.47 0.40 0.36 0.39 0.50 0.67 0.88 1.12 1.38 1.67 1.95 2.18 2.31 2.32 2.20 1.99 1.74 1.48 1.23 1.00 0.80 0.64 0.55 0.51 0.50 0.46 0.35 0.16 0.00 0.00 0.00 0.00 0.00 0.17 0.34 0.43 0.45 0.47 0.53 0.65 0.82 1.03 1.27 1.52 1.79 2.05 2.27 2.40 2.40 2.25 2.01 1.71 1.40 1.13 0.89 0.68 0.50 0.37 0.32 0.34 0.40 0.45 0.42 0.30 0.12 0.00 0.00 0.00 0.11 0.30 0.45 0.50 0.47 0.40 0.36 0.39 0.50 0.67 0.88 1.12 1.38 1.67 1.95 2.18 2.31 2.32 2.20 1.99 1.74 1.48 1.23 1.00 0.80 0.64 0.55 0.51 0.50 0.46 0.35 0.16 0.00 0.00 0.00 0.00 0.00 0.17 0.34 0.43 0.45 0.47 0.53 0.65 0.82 1.03 1.27 1.52 1.79 2.05 2.27 2.40 2.40 2.25 2.01 1.71 1.40 1.13 0.89 0.68 0.50 0.37 0.32 0.34 0.40 0.45 0.42 0.30 5.0 + 7.5 0.59 0.47 0.35 0.29 0.33 0.45 0.59 0.69 0.70 0.62 0.50 0.40 0.36 0.41 0.54 0.74 0.98 1.26 1.57 1.88 2.17 2.36 2.43 2.37 2.19 1.94 1.66 1.39 1.15 0.97 0.84 0.78 0.77 0.77 0.74 0.64 0.48 0.30 0.16 0.12 0.20 0.36 0.52 0.65 0.71 0.73 0.74 0.79 0.90 1.07 1.27 1.50 1.77 2.05 2.32 2.52 2.60 2.53 2.31 1.99 1.63 1.28 0.99 0.74 0.54 0.40 0.31 0.31 0.38 0.50 0.60 0.64 0.59 0.47 0.35 0.29 0.33 0.45 0.59 0.69 0.70 0.62 0.50 0.40 0.36 0.41 0.54 0.74 0.98 1.26 1.57 1.88 2.17 2.36 2.43 2.37 2.19 1.94 1.66 1.39 1.15 0.97 0.84 0.78 0.77 0.77 0.74 0.64 0.48 0.30 0.16 0.12 0.20 0.36 0.52 0.65 0.71 0.73 0.74 0.79 0.90 1.07 1.27 1.50 1.77 2.05 2.32 2.52 2.60 2.53 2.31 1.99 1.63 1.28 0.99 0.74 0.54 0.40 0.31 0.31 0.38 0.50 0.60 0.64 0.59 7.5 + 10.0 0.90 0.84 0.75 0.70 0.71 0.78 0.89 0.96 0.95 0.86 0.71 0.56 0.47 0.46 0.55 0.71 0.93 1.19 1.49 1.81 2.12 2.37 2.50 2.50 2.37 2.14 1.87 1.60 1.38 1.23 1.15 1.15 1.18 1.21 1.20 1.13 1.00 0.87 0.78 0.78 0.86 1.00 1.13 1.21 1.24 1.23 1.23 1.27 1.35 1.48 1.64 1.85 2.09 2.36 2.59 2.75 2.76 2.61 2.32 1.94 1.55 1.19 0.90 0.68 0.52 0.42 0.39 0.43 0.53 0.68 0.81 0.90 0.90 0.84 0.75 0.70 0.71 0.78 0.89 0.96 0.95 0.86 0.71 0.56 0.47 0.46 0.55 0.71 0.93 1.19 1.49 1.81 2.12 2.37 2.50 2.50 2.37 2.14 1.87 1.60 1.38 1.23 1.15 1.15 1.18 1.21 1.20 1.13 1.00 0.87 0.78 0.78 0.86 1.00 1.13 1.21 1.24 1.23 1.23 1.27 1.35 1.48 1.64 1.85 2.09 2.36 2.59 2.75 2.76 2.61 2.32 1.94 1.55 1.19 0.90 0.68 0.52 0.42 0.39 0.43 0.53 0.68 0.81 0.90 0.90 10.0 + 12.5 1.16 1.13 1.07 1.02 1.00 1.04 1.11 1.17 1.18 1.11 0.97 0.82 0.70 0.65 0.69 0.81 0.98 1.19 1.44 1.72 2.02 2.29 2.49 2.55 2.48 2.30 2.05 1.81 1.62 1.51 1.49 1.55 1.64 1.71 1.74 1.69 1.61 1.52 1.48 1.51 1.61 1.73 1.83 1.88 1.87 1.83 1.81 1.82 1.87 1.95 2.07 2.22 2.42 2.62 2.79 2.87 2.80 2.57 2.23 1.83 1.45 1.13 0.89 0.73 0.63 0.58 0.58 0.65 0.76 0.90 1.03 1.12 1.16 1.13 1.07 1.02 1.00 1.04 1.11 1.17 1.18 1.11 0.97 0.82 0.70 0.65 0.69 0.81 0.98 1.19 1.44 1.72 2.02 2.29 2.49 2.55 2.48 2.30 2.05 1.81 1.62 1.51 1.49 1.55 1.64 1.71 1.74 1.69 1.61 1.52 1.48 1.51 1.61 1.73 1.83 1.88 1.87 1.83 1.81 1.82 1.87 1.95 2.07 2.22 2.42 2.62 2.79 2.87 2.80 2.57 2.23 1.83 1.45 1.13 0.89 0.73 0.63 0.58 0.58 0.65 0.76 0.90 1.03 1.12 1.16 12.5 + 15.0 1.29 1.29 1.25 1.20 1.15 1.15 1.19 1.25 1.28 1.27 1.18 1.06 0.94 0.87 0.87 0.94 1.04 1.18 1.36 1.59 1.86 2.14 2.38 2.51 2.50 2.37 2.16 1.94 1.77 1.69 1.71 1.81 1.95 2.07 2.13 2.13 2.09 2.04 2.04 2.11 2.21 2.33 2.40 2.40 2.36 2.29 2.25 2.23 2.25 2.30 2.38 2.49 2.63 2.76 2.84 2.82 2.66 2.37 2.00 1.62 1.29 1.04 0.88 0.79 0.76 0.76 0.79 0.86 0.95 1.05 1.16 1.24 1.29 1.29 1.25 1.20 1.15 1.15 1.19 1.25 1.28 1.27 1.18 1.06 0.94 0.87 0.87 0.94 1.04 1.18 1.36 1.59 1.86 2.14 2.38 2.51 2.50 2.37 2.16 1.94 1.77 1.69 1.71 1.81 1.95 2.07 2.13 2.13 2.09 2.04 2.04 2.11 2.21 2.33 2.40 2.40 2.36 2.29 2.25 2.23 2.25 2.30 2.38 2.49 2.63 2.76 2.84 2.82 2.66 2.37 2.00 1.62 1.29 1.04 0.88 0.79 0.76 0.76 0.79 0.86 0.95 1.05 1.16 1.24 1.29 15.0 + 17.5 1.26 1.30 1.28 1.22 1.15 1.09 1.09 1.14 1.20 1.24 1.22 1.14 1.05 0.98 0.96 0.98 1.04 1.12 1.24 1.42 1.65 1.93 2.20 2.38 2.43 2.34 2.15 1.94 1.77 1.69 1.72 1.83 1.99 2.14 2.24 2.29 2.29 2.29 2.32 2.40 2.51 2.61 2.65 2.62 2.54 2.44 2.37 2.35 2.37 2.42 2.48 2.57 2.65 2.71 2.69 2.58 2.34 2.01 1.65 1.31 1.05 0.88 0.80 0.78 0.79 0.83 0.88 0.93 0.99 1.05 1.12 1.19 1.26 1.30 1.28 1.22 1.15 1.09 1.09 1.14 1.20 1.24 1.22 1.14 1.05 0.98 0.96 0.98 1.04 1.12 1.24 1.42 1.65 1.93 2.20 2.38 2.43 2.34 2.15 1.94 1.77 1.69 1.72 1.83 1.99 2.14 2.24 2.29 2.29 2.29 2.32 2.40 2.51 2.61 2.65 2.62 2.54 2.44 2.37 2.35 2.37 2.42 2.48 2.57 2.65 2.71 2.69 2.58 2.34 2.01 1.65 1.31 1.05 0.88 0.80 0.78 0.79 0.83 0.88 0.93 0.99 1.05 1.12 1.19 1.26 17.5 + 20.0 1.07 1.15 1.17 1.12 1.01 0.90 0.84 0.86 0.93 1.00 1.04 1.01 0.95 0.89 0.87 0.88 0.92 0.98 1.07 1.21 1.43 1.70 1.97 2.18 2.27 2.22 2.05 1.84 1.65 1.55 1.54 1.64 1.79 1.96 2.10 2.20 2.25 2.30 2.37 2.46 2.57 2.64 2.64 2.57 2.45 2.33 2.24 2.21 2.23 2.29 2.37 2.45 2.49 2.48 2.38 2.19 1.89 1.55 1.21 0.93 0.74 0.64 0.60 0.61 0.65 0.71 0.76 0.80 0.82 0.85 0.90 0.97 1.07 1.15 1.17 1.12 1.01 0.90 0.84 0.86 0.93 1.00 1.04 1.01 0.95 0.89 0.87 0.88 0.92 0.98 1.07 1.21 1.43 1.70 1.97 2.18 2.27 2.22 2.05 1.84 1.65 1.55 1.54 1.64 1.79 1.96 2.10 2.20 2.25 2.30 2.37 2.46 2.57 2.64 2.64 2.57 2.45 2.33 2.24 2.21 2.23 2.29 2.37 2.45 2.49 2.48 2.38 2.19 1.89 1.55 1.21 0.93 0.74 0.64 0.60 0.61 0.65 0.71 0.76 0.80 0.82 0.85 0.90 0.97 1.07 20.0 + 22.5 0.76 0.89 0.95 0.91 0.78 0.61 0.50 0.47 0.53 0.63 0.70 0.71 0.68 0.64 0.63 0.65 0.70 0.77 0.86 1.00 1.20 1.46 1.74 1.95 2.06 2.03 1.89 1.69 1.50 1.36 1.33 1.39 1.53 1.71 1.89 2.05 2.17 2.29 2.40 2.51 2.61 2.66 2.63 2.52 2.36 2.20 2.08 2.02 2.04 2.10 2.17 2.22 2.23 2.15 1.98 1.71 1.39 1.05 0.76 0.54 0.40 0.33 0.31 0.33 0.37 0.42 0.47 0.49 0.50 0.50 0.54 0.63 0.76 0.89 0.95 0.91 0.78 0.61 0.50 0.47 0.53 0.63 0.70 0.71 0.68 0.64 0.63 0.65 0.70 0.77 0.86 1.00 1.20 1.46 1.74 1.95 2.06 2.03 1.89 1.69 1.50 1.36 1.33 1.39 1.53 1.71 1.89 2.05 2.17 2.29 2.40 2.51 2.61 2.66 2.63 2.52 2.36 2.20 2.08 2.02 2.04 2.10 2.17 2.22 2.23 2.15 1.98 1.71 1.39 1.05 0.76 0.54 0.40 0.33 0.31 0.33 0.37 0.42 0.47 0.49 0.50 0.50 0.54 0.63 0.76 22.5 + 25.0 0.40 0.57 0.67 0.64 0.50 0.30 0.14 0.08 0.13 0.23 0.33 0.37 0.36 0.34 0.34 0.39 0.46 0.55 0.66 0.81 0.99 1.23 1.47 1.68 1.79 1.79 1.69 1.54 1.38 1.26 1.22 1.27 1.40 1.59 1.82 2.04 2.25 2.44 2.61 2.76 2.86 2.90 2.86 2.72 2.53 2.33 2.16 2.05 2.01 2.01 2.03 2.02 1.95 1.79 1.55 1.24 0.90 0.60 0.35 0.19 0.09 0.03 0.01 0.01 0.03 0.08 0.12 0.15 0.14 0.12 0.14 0.24 0.40 0.57 0.67 0.64 0.50 0.30 0.14 0.08 0.13 0.23 0.33 0.37 0.36 0.34 0.34 0.39 0.46 0.55 0.66 0.81 0.99 1.23 1.47 1.68 1.79 1.79 1.69 1.54 1.38 1.26 1.22 1.27 1.40 1.59 1.82 2.04 2.25 2.44 2.61 2.76 2.86 2.90 2.86 2.72 2.53 2.33 2.16 2.05 2.01 2.01 2.03 2.02 1.95 1.79 1.55 1.24 0.90 0.60 0.35 0.19 0.09 0.03 0.01 0.01 0.03 0.08 0.12 0.15 0.14 0.12 0.14 0.24 0.40 25.0 + 27.5 0.06 0.25 0.37 0.37 0.23 0.03 0.00 0.00 0.00 0.00 0.04 0.10 0.11 0.10 0.11 0.17 0.26 0.38 0.50 0.63 0.79 0.98 1.18 1.35 1.46 1.50 1.47 1.40 1.33 1.29 1.29 1.36 1.49 1.69 1.95 2.23 2.52 2.79 3.03 3.22 3.35 3.40 3.36 3.23 3.03 2.79 2.56 2.36 2.22 2.12 2.03 1.91 1.73 1.47 1.16 0.81 0.49 0.22 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.25 0.37 0.37 0.23 0.03 0.00 0.00 0.00 0.00 0.04 0.10 0.11 0.10 0.11 0.17 0.26 0.38 0.50 0.63 0.79 0.98 1.18 1.35 1.46 1.50 1.47 1.40 1.33 1.29 1.29 1.36 1.49 1.69 1.95 2.23 2.52 2.79 3.03 3.22 3.35 3.40 3.36 3.23 3.03 2.79 2.56 2.36 2.22 2.12 2.03 1.91 1.73 1.47 1.16 0.81 0.49 0.22 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 27.5 + 30.0 0.00 0.00 0.13 0.15 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.14 0.25 0.36 0.47 0.58 0.72 0.86 0.99 1.10 1.17 1.22 1.26 1.31 1.37 1.45 1.56 1.70 1.90 2.16 2.47 2.80 3.13 3.43 3.66 3.83 3.91 3.91 3.80 3.62 3.37 3.10 2.82 2.56 2.33 2.10 1.85 1.56 1.22 0.85 0.49 0.18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.15 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.14 0.25 0.36 0.47 0.58 0.72 0.86 0.99 1.10 1.17 1.22 1.26 1.31 1.37 1.45 1.56 1.70 1.90 2.16 2.47 2.80 3.13 3.43 3.66 3.83 3.91 3.91 3.80 3.62 3.37 3.10 2.82 2.56 2.33 2.10 1.85 1.56 1.22 0.85 0.49 0.18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 30.0 + 32.5 0.00 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.09 0.17 0.25 0.32 0.39 0.48 0.58 0.68 0.78 0.87 0.97 1.10 1.25 1.42 1.57 1.70 1.84 2.00 2.22 2.50 2.84 3.19 3.51 3.77 3.96 4.08 4.11 4.07 3.94 3.72 3.44 3.11 2.78 2.45 2.12 1.79 1.42 1.04 0.64 0.28 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.09 0.17 0.25 0.32 0.39 0.48 0.58 0.68 0.78 0.87 0.97 1.10 1.25 1.42 1.57 1.70 1.84 2.00 2.22 2.50 2.84 3.19 3.51 3.77 3.96 4.08 4.11 4.07 3.94 3.72 3.44 3.11 2.78 2.45 2.12 1.79 1.42 1.04 0.64 0.28 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 32.5 + 35.0 0.00 0.00 0.03 0.09 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.03 0.02 0.02 0.03 0.07 0.11 0.16 0.21 0.27 0.35 0.43 0.51 0.58 0.65 0.76 0.92 1.13 1.34 1.53 1.66 1.75 1.84 1.97 2.19 2.48 2.80 3.10 3.35 3.53 3.66 3.73 3.75 3.69 3.55 3.31 3.00 2.66 2.31 1.96 1.63 1.28 0.92 0.55 0.22 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.08 0.03 0.00 0.00 0.00 0.00 0.00 0.03 0.09 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.03 0.02 0.02 0.03 0.07 0.11 0.16 0.21 0.27 0.35 0.43 0.51 0.58 0.65 0.76 0.92 1.13 1.34 1.53 1.66 1.75 1.84 1.97 2.19 2.48 2.80 3.10 3.35 3.53 3.66 3.73 3.75 3.69 3.55 3.31 3.00 2.66 2.31 1.96 1.63 1.28 0.92 0.55 0.22 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.08 0.03 0.00 0.00 0.00 0.00 35.0 + 37.5 0.00 0.08 0.20 0.27 0.26 0.19 0.09 0.01 0.00 0.01 0.05 0.09 0.11 0.11 0.11 0.10 0.09 0.09 0.10 0.16 0.25 0.36 0.46 0.53 0.56 0.58 0.64 0.77 0.96 1.17 1.33 1.42 1.43 1.42 1.46 1.59 1.80 2.06 2.31 2.50 2.63 2.73 2.81 2.87 2.89 2.83 2.68 2.45 2.17 1.88 1.61 1.37 1.12 0.86 0.56 0.28 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.22 0.28 0.25 0.14 0.03 0.00 0.00 0.08 0.20 0.27 0.26 0.19 0.09 0.01 0.00 0.01 0.05 0.09 0.11 0.11 0.11 0.10 0.09 0.09 0.10 0.16 0.25 0.36 0.46 0.53 0.56 0.58 0.64 0.77 0.96 1.17 1.33 1.42 1.43 1.42 1.46 1.59 1.80 2.06 2.31 2.50 2.63 2.73 2.81 2.87 2.89 2.83 2.68 2.45 2.17 1.88 1.61 1.37 1.12 0.86 0.56 0.28 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.22 0.28 0.25 0.14 0.03 0.00 0.00 37.5 + 40.0 0.21 0.29 0.40 0.49 0.53 0.49 0.39 0.28 0.19 0.15 0.15 0.18 0.22 0.25 0.25 0.21 0.15 0.10 0.10 0.17 0.32 0.50 0.64 0.71 0.70 0.64 0.62 0.67 0.80 0.96 1.07 1.08 1.01 0.91 0.86 0.92 1.08 1.28 1.46 1.56 1.60 1.62 1.66 1.74 1.82 1.85 1.80 1.65 1.46 1.28 1.14 1.05 0.96 0.84 0.65 0.42 0.19 0.02 0.00 0.00 0.00 0.00 0.03 0.09 0.18 0.28 0.38 0.44 0.43 0.35 0.26 0.20 0.21 0.29 0.40 0.49 0.53 0.49 0.39 0.28 0.19 0.15 0.15 0.18 0.22 0.25 0.25 0.21 0.15 0.10 0.10 0.17 0.32 0.50 0.64 0.71 0.70 0.64 0.62 0.67 0.80 0.96 1.07 1.08 1.01 0.91 0.86 0.92 1.08 1.28 1.46 1.56 1.60 1.62 1.66 1.74 1.82 1.85 1.80 1.65 1.46 1.28 1.14 1.05 0.96 0.84 0.65 0.42 0.19 0.02 0.00 0.00 0.00 0.00 0.03 0.09 0.18 0.28 0.38 0.44 0.43 0.35 0.26 0.20 0.21 40.0 + 42.5 0.37 0.42 0.53 0.64 0.72 0.72 0.64 0.50 0.35 0.25 0.23 0.28 0.37 0.45 0.46 0.39 0.27 0.15 0.12 0.22 0.43 0.68 0.87 0.94 0.88 0.75 0.64 0.62 0.69 0.79 0.84 0.78 0.63 0.47 0.39 0.44 0.59 0.77 0.88 0.89 0.81 0.72 0.69 0.75 0.86 0.96 0.97 0.90 0.79 0.69 0.67 0.73 0.80 0.81 0.73 0.55 0.34 0.15 0.05 0.04 0.11 0.20 0.27 0.33 0.38 0.43 0.48 0.52 0.53 0.49 0.43 0.37 0.37 0.42 0.53 0.64 0.72 0.72 0.64 0.50 0.35 0.25 0.23 0.28 0.37 0.45 0.46 0.39 0.27 0.15 0.12 0.22 0.43 0.68 0.87 0.94 0.88 0.75 0.64 0.62 0.69 0.79 0.84 0.78 0.63 0.47 0.39 0.44 0.59 0.77 0.88 0.89 0.81 0.72 0.69 0.75 0.86 0.96 0.97 0.90 0.79 0.69 0.67 0.73 0.80 0.81 0.73 0.55 0.34 0.15 0.05 0.04 0.11 0.20 0.27 0.33 0.38 0.43 0.48 0.52 0.53 0.49 0.43 0.37 0.37 42.5 + 45.0 0.39 0.40 0.48 0.62 0.75 0.80 0.75 0.61 0.43 0.31 0.29 0.39 0.55 0.69 0.72 0.60 0.40 0.21 0.14 0.25 0.50 0.80 1.02 1.07 0.97 0.79 0.64 0.59 0.64 0.70 0.70 0.59 0.39 0.21 0.15 0.24 0.44 0.64 0.73 0.65 0.46 0.26 0.15 0.17 0.29 0.41 0.46 0.41 0.31 0.25 0.29 0.43 0.61 0.74 0.74 0.61 0.41 0.22 0.14 0.18 0.30 0.44 0.53 0.56 0.54 0.51 0.50 0.52 0.54 0.54 0.50 0.43 0.39 0.40 0.48 0.62 0.75 0.80 0.75 0.61 0.43 0.31 0.29 0.39 0.55 0.69 0.72 0.60 0.40 0.21 0.14 0.25 0.50 0.80 1.02 1.07 0.97 0.79 0.64 0.59 0.64 0.70 0.70 0.59 0.39 0.21 0.15 0.24 0.44 0.64 0.73 0.65 0.46 0.26 0.15 0.17 0.29 0.41 0.46 0.41 0.31 0.25 0.29 0.43 0.61 0.74 0.74 0.61 0.41 0.22 0.14 0.18 0.30 0.44 0.53 0.56 0.54 0.51 0.50 0.52 0.54 0.54 0.50 0.43 0.39 45.0 + 47.5 0.28 0.23 0.27 0.41 0.59 0.71 0.71 0.58 0.41 0.29 0.31 0.48 0.73 0.93 0.96 0.81 0.52 0.25 0.12 0.21 0.48 0.78 0.99 1.02 0.88 0.69 0.54 0.52 0.60 0.67 0.65 0.49 0.27 0.10 0.08 0.26 0.54 0.80 0.88 0.76 0.48 0.18 0.01 0.00 0.12 0.25 0.29 0.22 0.09 0.00 0.02 0.18 0.40 0.59 0.65 0.55 0.38 0.23 0.19 0.29 0.48 0.66 0.76 0.75 0.64 0.51 0.44 0.43 0.47 0.50 0.48 0.39 0.28 0.23 0.27 0.41 0.59 0.71 0.71 0.58 0.41 0.29 0.31 0.48 0.73 0.93 0.96 0.81 0.52 0.25 0.12 0.21 0.48 0.78 0.99 1.02 0.88 0.69 0.54 0.52 0.60 0.67 0.65 0.49 0.27 0.10 0.08 0.26 0.54 0.80 0.88 0.76 0.48 0.18 0.01 0.00 0.12 0.25 0.29 0.22 0.09 0.00 0.02 0.18 0.40 0.59 0.65 0.55 0.38 0.23 0.19 0.29 0.48 0.66 0.76 0.75 0.64 0.51 0.44 0.43 0.47 0.50 0.48 0.39 0.28 47.5 + 50.0 0.13 0.00 0.00 0.13 0.33 0.51 0.55 0.46 0.30 0.21 0.28 0.52 0.85 1.10 1.14 0.94 0.58 0.23 0.06 0.12 0.37 0.65 0.83 0.82 0.66 0.48 0.39 0.44 0.57 0.68 0.65 0.46 0.21 0.04 0.07 0.33 0.70 1.01 1.12 0.97 0.65 0.30 0.09 0.07 0.19 0.32 0.35 0.25 0.06 0.00 0.00 0.00 0.23 0.43 0.51 0.44 0.30 0.20 0.22 0.38 0.63 0.84 0.92 0.84 0.64 0.43 0.30 0.30 0.37 0.44 0.43 0.31 0.13 0.00 0.00 0.13 0.33 0.51 0.55 0.46 0.30 0.21 0.28 0.52 0.85 1.10 1.14 0.94 0.58 0.23 0.06 0.12 0.37 0.65 0.83 0.82 0.66 0.48 0.39 0.44 0.57 0.68 0.65 0.46 0.21 0.04 0.07 0.33 0.70 1.01 1.12 0.97 0.65 0.30 0.09 0.07 0.19 0.32 0.35 0.25 0.06 0.00 0.00 0.00 0.23 0.43 0.51 0.44 0.30 0.20 0.22 0.38 0.63 0.84 0.92 0.84 0.64 0.43 0.30 0.30 0.37 0.44 0.43 0.31 0.13 50.0 + 52.5 0.07 0.00 0.00 0.00 0.13 0.32 0.39 0.31 0.17 0.09 0.20 0.50 0.88 1.16 1.21 0.98 0.58 0.19 0.00 0.03 0.25 0.50 0.62 0.58 0.42 0.27 0.25 0.38 0.58 0.72 0.67 0.46 0.17 0.00 0.05 0.34 0.75 1.10 1.23 1.09 0.77 0.42 0.21 0.20 0.32 0.46 0.49 0.36 0.14 0.00 0.00 0.00 0.15 0.34 0.42 0.37 0.26 0.20 0.26 0.47 0.74 0.95 0.99 0.83 0.56 0.29 0.14 0.17 0.30 0.42 0.44 0.30 0.07 0.00 0.00 0.00 0.13 0.32 0.39 0.31 0.17 0.09 0.20 0.50 0.88 1.16 1.21 0.98 0.58 0.19 0.00 0.03 0.25 0.50 0.62 0.58 0.42 0.27 0.25 0.38 0.58 0.72 0.67 0.46 0.17 0.00 0.05 0.34 0.75 1.10 1.23 1.09 0.77 0.42 0.21 0.20 0.32 0.46 0.49 0.36 0.14 0.00 0.00 0.00 0.15 0.34 0.42 0.37 0.26 0.20 0.26 0.47 0.74 0.95 0.99 0.83 0.56 0.29 0.14 0.17 0.30 0.42 0.44 0.30 0.07 52.5 + 55.0 0.18 0.00 0.00 0.00 0.08 0.26 0.31 0.22 0.07 0.00 0.12 0.44 0.83 1.12 1.16 0.93 0.53 0.15 0.00 0.00 0.18 0.39 0.48 0.41 0.26 0.15 0.20 0.39 0.64 0.79 0.73 0.48 0.17 0.00 0.00 0.28 0.69 1.04 1.17 1.06 0.78 0.48 0.30 0.31 0.44 0.58 0.61 0.50 0.29 0.10 0.02 0.09 0.25 0.40 0.46 0.41 0.31 0.27 0.35 0.57 0.82 0.99 0.97 0.76 0.43 0.14 0.02 0.09 0.30 0.50 0.56 0.43 0.18 0.00 0.00 0.00 0.08 0.26 0.31 0.22 0.07 0.00 0.12 0.44 0.83 1.12 1.16 0.93 0.53 0.15 0.00 0.00 0.18 0.39 0.48 0.41 0.26 0.15 0.20 0.39 0.64 0.79 0.73 0.48 0.17 0.00 0.00 0.28 0.69 1.04 1.17 1.06 0.78 0.48 0.30 0.31 0.44 0.58 0.61 0.50 0.29 0.10 0.02 0.09 0.25 0.40 0.46 0.41 0.31 0.27 0.35 0.57 0.82 0.99 0.97 0.76 0.43 0.14 0.02 0.09 0.30 0.50 0.56 0.43 0.18 55.0 + 57.5 0.45 0.19 0.05 0.07 0.21 0.34 0.35 0.23 0.06 0.00 0.07 0.36 0.74 1.01 1.05 0.84 0.47 0.13 0.00 0.00 0.19 0.37 0.43 0.35 0.22 0.15 0.24 0.47 0.73 0.87 0.79 0.53 0.20 0.00 0.00 0.21 0.56 0.88 1.02 0.94 0.73 0.51 0.39 0.41 0.53 0.66 0.69 0.62 0.47 0.33 0.29 0.36 0.49 0.60 0.62 0.54 0.43 0.38 0.45 0.64 0.85 0.97 0.90 0.65 0.32 0.05 0.00 0.11 0.39 0.66 0.78 0.69 0.45 0.19 0.05 0.07 0.21 0.34 0.35 0.23 0.06 0.00 0.07 0.36 0.74 1.01 1.05 0.84 0.47 0.13 0.00 0.00 0.19 0.37 0.43 0.35 0.22 0.15 0.24 0.47 0.73 0.87 0.79 0.53 0.20 0.00 0.00 0.21 0.56 0.88 1.02 0.94 0.73 0.51 0.39 0.41 0.53 0.66 0.69 0.62 0.47 0.33 0.29 0.36 0.49 0.60 0.62 0.54 0.43 0.38 0.45 0.64 0.85 0.97 0.90 0.65 0.32 0.05 0.00 0.11 0.39 0.66 0.78 0.69 0.45 57.5 + 60.0 0.74 0.50 0.35 0.35 0.44 0.51 0.48 0.33 0.13 0.01 0.07 0.32 0.64 0.88 0.91 0.73 0.42 0.14 0.02 0.08 0.25 0.40 0.44 0.36 0.25 0.21 0.32 0.55 0.79 0.90 0.82 0.57 0.26 0.05 0.02 0.18 0.46 0.71 0.84 0.81 0.69 0.55 0.49 0.52 0.61 0.70 0.73 0.68 0.60 0.55 0.56 0.65 0.76 0.82 0.78 0.67 0.53 0.46 0.50 0.64 0.81 0.89 0.80 0.56 0.26 0.03 0.01 0.20 0.53 0.84 1.01 0.95 0.74 0.50 0.35 0.35 0.44 0.51 0.48 0.33 0.13 0.01 0.07 0.32 0.64 0.88 0.91 0.73 0.42 0.14 0.02 0.08 0.25 0.40 0.44 0.36 0.25 0.21 0.32 0.55 0.79 0.90 0.82 0.57 0.26 0.05 0.02 0.18 0.46 0.71 0.84 0.81 0.69 0.55 0.49 0.52 0.61 0.70 0.73 0.68 0.60 0.55 0.56 0.65 0.76 0.82 0.78 0.67 0.53 0.46 0.50 0.64 0.81 0.89 0.80 0.56 0.26 0.03 0.01 0.20 0.53 0.84 1.01 0.95 0.74 60.0 + 62.5 0.92 0.71 0.57 0.56 0.62 0.67 0.62 0.46 0.25 0.11 0.13 0.31 0.57 0.76 0.79 0.64 0.40 0.20 0.12 0.19 0.34 0.45 0.47 0.40 0.30 0.28 0.38 0.58 0.77 0.86 0.78 0.56 0.30 0.11 0.07 0.18 0.37 0.55 0.66 0.67 0.63 0.57 0.56 0.59 0.63 0.66 0.66 0.62 0.60 0.61 0.69 0.80 0.88 0.90 0.82 0.67 0.51 0.42 0.44 0.56 0.69 0.76 0.69 0.49 0.25 0.08 0.09 0.30 0.62 0.94 1.11 1.09 0.92 0.71 0.57 0.56 0.62 0.67 0.62 0.46 0.25 0.11 0.13 0.31 0.57 0.76 0.79 0.64 0.40 0.20 0.12 0.19 0.34 0.45 0.47 0.40 0.30 0.28 0.38 0.58 0.77 0.86 0.78 0.56 0.30 0.11 0.07 0.18 0.37 0.55 0.66 0.67 0.63 0.57 0.56 0.59 0.63 0.66 0.66 0.62 0.60 0.61 0.69 0.80 0.88 0.90 0.82 0.67 0.51 0.42 0.44 0.56 0.69 0.76 0.69 0.49 0.25 0.08 0.09 0.30 0.62 0.94 1.11 1.09 0.92 62.5 + 65.0 0.88 0.71 0.61 0.62 0.69 0.75 0.72 0.57 0.38 0.24 0.23 0.36 0.55 0.70 0.73 0.63 0.47 0.33 0.31 0.39 0.52 0.61 0.60 0.52 0.43 0.40 0.47 0.61 0.74 0.78 0.69 0.51 0.30 0.15 0.11 0.17 0.28 0.39 0.46 0.48 0.48 0.49 0.51 0.54 0.54 0.51 0.45 0.40 0.40 0.46 0.58 0.70 0.78 0.77 0.67 0.50 0.35 0.27 0.29 0.40 0.54 0.62 0.59 0.45 0.27 0.15 0.17 0.34 0.61 0.87 1.02 1.01 0.88 0.71 0.61 0.62 0.69 0.75 0.72 0.57 0.38 0.24 0.23 0.36 0.55 0.70 0.73 0.63 0.47 0.33 0.31 0.39 0.52 0.61 0.60 0.52 0.43 0.40 0.47 0.61 0.74 0.78 0.69 0.51 0.30 0.15 0.11 0.17 0.28 0.39 0.46 0.48 0.48 0.49 0.51 0.54 0.54 0.51 0.45 0.40 0.40 0.46 0.58 0.70 0.78 0.77 0.67 0.50 0.35 0.27 0.29 0.40 0.54 0.62 0.59 0.45 0.27 0.15 0.17 0.34 0.61 0.87 1.02 1.01 0.88 65.0 + 67.5 0.66 0.55 0.50 0.55 0.66 0.76 0.77 0.68 0.52 0.40 0.37 0.46 0.61 0.75 0.80 0.75 0.67 0.63 0.68 0.80 0.94 1.02 1.00 0.90 0.78 0.71 0.72 0.78 0.82 0.80 0.68 0.50 0.32 0.20 0.16 0.18 0.22 0.25 0.25 0.24 0.25 0.29 0.33 0.36 0.34 0.26 0.16 0.08 0.07 0.15 0.29 0.44 0.52 0.51 0.40 0.25 0.13 0.08 0.13 0.27 0.42 0.52 0.52 0.43 0.30 0.20 0.20 0.31 0.49 0.68 0.78 0.76 0.66 0.55 0.50 0.55 0.66 0.76 0.77 0.68 0.52 0.40 0.37 0.46 0.61 0.75 0.80 0.75 0.67 0.63 0.68 0.80 0.94 1.02 1.00 0.90 0.78 0.71 0.72 0.78 0.82 0.80 0.68 0.50 0.32 0.20 0.16 0.18 0.22 0.25 0.25 0.24 0.25 0.29 0.33 0.36 0.34 0.26 0.16 0.08 0.07 0.15 0.29 0.44 0.52 0.51 0.40 0.25 0.13 0.08 0.13 0.27 0.42 0.52 0.52 0.43 0.30 0.20 0.20 0.31 0.49 0.68 0.78 0.76 0.66 67.5 + 70.0 0.41 0.35 0.36 0.46 0.62 0.77 0.84 0.80 0.69 0.59 0.57 0.65 0.80 0.94 1.03 1.06 1.08 1.15 1.31 1.52 1.72 1.83 1.80 1.68 1.51 1.38 1.30 1.26 1.21 1.09 0.90 0.68 0.49 0.36 0.31 0.30 0.29 0.23 0.15 0.07 0.04 0.06 0.13 0.17 0.16 0.06 0.00 0.00 0.00 0.00 0.04 0.21 0.30 0.30 0.21 0.08 0.00 0.00 0.08 0.24 0.39 0.50 0.51 0.44 0.32 0.22 0.18 0.23 0.33 0.44 0.50 0.48 0.41 0.35 0.36 0.46 0.62 0.77 0.84 0.80 0.69 0.59 0.57 0.65 0.80 0.94 1.03 1.06 1.08 1.15 1.31 1.52 1.72 1.83 1.80 1.68 1.51 1.38 1.30 1.26 1.21 1.09 0.90 0.68 0.49 0.36 0.31 0.30 0.29 0.23 0.15 0.07 0.04 0.06 0.13 0.17 0.16 0.06 0.00 0.00 0.00 0.00 0.04 0.21 0.30 0.30 0.21 0.08 0.00 0.00 0.08 0.24 0.39 0.50 0.51 0.44 0.32 0.22 0.18 0.23 0.33 0.44 0.50 0.48 0.41 70.0 + 72.5 0.27 0.26 0.33 0.48 0.68 0.87 0.97 0.96 0.88 0.81 0.82 0.92 1.10 1.28 1.42 1.53 1.66 1.87 2.18 2.54 2.86 3.03 3.03 2.87 2.63 2.41 2.23 2.08 1.92 1.69 1.40 1.11 0.87 0.73 0.67 0.65 0.59 0.46 0.27 0.10 0.00 0.00 0.08 0.16 0.18 0.10 0.00 0.00 0.00 0.00 0.05 0.24 0.34 0.33 0.23 0.10 0.03 0.06 0.18 0.34 0.49 0.56 0.54 0.45 0.32 0.21 0.15 0.16 0.21 0.27 0.31 0.30 0.27 0.26 0.33 0.48 0.68 0.87 0.97 0.96 0.88 0.81 0.82 0.92 1.10 1.28 1.42 1.53 1.66 1.87 2.18 2.54 2.86 3.03 3.03 2.87 2.63 2.41 2.23 2.08 1.92 1.69 1.40 1.11 0.87 0.73 0.67 0.65 0.59 0.46 0.27 0.10 0.00 0.00 0.08 0.16 0.18 0.10 0.00 0.00 0.00 0.00 0.05 0.24 0.34 0.33 0.23 0.10 0.03 0.06 0.18 0.34 0.49 0.56 0.54 0.45 0.32 0.21 0.15 0.16 0.21 0.27 0.31 0.30 0.27 72.5 + 75.0 0.28 0.32 0.43 0.62 0.85 1.04 1.15 1.14 1.07 1.02 1.07 1.23 1.46 1.69 1.88 2.05 2.27 2.62 3.10 3.64 4.12 4.39 4.41 4.21 3.89 3.56 3.28 3.03 2.77 2.45 2.07 1.70 1.40 1.25 1.20 1.19 1.12 0.94 0.67 0.40 0.23 0.20 0.30 0.44 0.51 0.46 0.32 0.18 0.14 0.23 0.43 0.61 0.70 0.64 0.47 0.30 0.20 0.24 0.37 0.53 0.63 0.64 0.56 0.42 0.28 0.17 0.13 0.14 0.18 0.24 0.27 0.28 0.28 0.32 0.43 0.62 0.85 1.04 1.15 1.14 1.07 1.02 1.07 1.23 1.46 1.69 1.88 2.05 2.27 2.62 3.10 3.64 4.12 4.39 4.41 4.21 3.89 3.56 3.28 3.03 2.77 2.45 2.07 1.70 1.40 1.25 1.20 1.19 1.12 0.94 0.67 0.40 0.23 0.20 0.30 0.44 0.51 0.46 0.32 0.18 0.14 0.23 0.43 0.61 0.70 0.64 0.47 0.30 0.20 0.24 0.37 0.53 0.63 0.64 0.56 0.42 0.28 0.17 0.13 0.14 0.18 0.24 0.27 0.28 0.28 75.0 + 77.5 0.37 0.45 0.59 0.80 1.03 1.21 1.28 1.24 1.16 1.13 1.23 1.46 1.74 2.01 2.21 2.40 2.66 3.11 3.75 4.47 5.11 5.49 5.53 5.27 4.86 4.43 4.07 3.76 3.44 3.06 2.61 2.18 1.86 1.72 1.72 1.76 1.72 1.53 1.21 0.87 0.64 0.61 0.74 0.93 1.06 1.04 0.91 0.77 0.73 0.85 1.05 1.21 1.23 1.06 0.78 0.50 0.35 0.37 0.50 0.64 0.71 0.65 0.49 0.30 0.15 0.08 0.08 0.14 0.21 0.28 0.32 0.34 0.37 0.45 0.59 0.80 1.03 1.21 1.28 1.24 1.16 1.13 1.23 1.46 1.74 2.01 2.21 2.40 2.66 3.11 3.75 4.47 5.11 5.49 5.53 5.27 4.86 4.43 4.07 3.76 3.44 3.06 2.61 2.18 1.86 1.72 1.72 1.76 1.72 1.53 1.21 0.87 0.64 0.61 0.74 0.93 1.06 1.04 0.91 0.77 0.73 0.85 1.05 1.21 1.23 1.06 0.78 0.50 0.35 0.37 0.50 0.64 0.71 0.65 0.49 0.30 0.15 0.08 0.08 0.14 0.21 0.28 0.32 0.34 0.37 77.5 + 80.0 0.39 0.49 0.66 0.88 1.10 1.23 1.25 1.16 1.05 1.04 1.19 1.48 1.80 2.06 2.23 2.36 2.60 3.09 3.84 4.71 5.48 5.93 5.98 5.66 5.17 4.66 4.26 3.94 3.61 3.21 2.75 2.30 2.00 1.90 1.98 2.11 2.13 1.96 1.62 1.25 1.01 0.98 1.16 1.40 1.57 1.57 1.45 1.32 1.31 1.44 1.65 1.78 1.69 1.37 0.92 0.51 0.29 0.29 0.43 0.58 0.61 0.49 0.27 0.06 0.00 0.00 0.00 0.11 0.23 0.30 0.34 0.35 0.39 0.49 0.66 0.88 1.10 1.23 1.25 1.16 1.05 1.04 1.19 1.48 1.80 2.06 2.23 2.36 2.60 3.09 3.84 4.71 5.48 5.93 5.98 5.66 5.17 4.66 4.26 3.94 3.61 3.21 2.75 2.30 2.00 1.90 1.98 2.11 2.13 1.96 1.62 1.25 1.01 0.98 1.16 1.40 1.57 1.57 1.45 1.32 1.31 1.44 1.65 1.78 1.69 1.37 0.92 0.51 0.29 0.29 0.43 0.58 0.61 0.49 0.27 0.06 0.00 0.00 0.00 0.11 0.23 0.30 0.34 0.35 0.39 80.0 + 82.5 0.24 0.34 0.53 0.75 0.95 1.04 0.99 0.84 0.71 0.71 0.90 1.22 1.55 1.77 1.84 1.86 2.02 2.49 3.28 4.24 5.09 5.59 5.62 5.25 4.70 4.17 3.77 3.48 3.20 2.84 2.39 1.97 1.71 1.69 1.87 2.09 2.18 2.04 1.71 1.33 1.10 1.10 1.32 1.60 1.79 1.80 1.69 1.59 1.62 1.80 2.02 2.10 1.90 1.41 0.79 0.25 0.00 0.00 0.15 0.32 0.35 0.20 0.00 0.00 0.00 0.00 0.00 0.02 0.16 0.23 0.23 0.21 0.24 0.34 0.53 0.75 0.95 1.04 0.99 0.84 0.71 0.71 0.90 1.22 1.55 1.77 1.84 1.86 2.02 2.49 3.28 4.24 5.09 5.59 5.62 5.25 4.70 4.17 3.77 3.48 3.20 2.84 2.39 1.97 1.71 1.69 1.87 2.09 2.18 2.04 1.71 1.33 1.10 1.10 1.32 1.60 1.79 1.80 1.69 1.59 1.62 1.80 2.02 2.10 1.90 1.41 0.79 0.25 0.00 0.00 0.15 0.32 0.35 0.20 0.00 0.00 0.00 0.00 0.00 0.02 0.16 0.23 0.23 0.21 0.24 82.5 + 85.0 0.00 0.04 0.23 0.46 0.63 0.67 0.56 0.36 0.20 0.20 0.41 0.75 1.05 1.18 1.13 1.01 1.07 1.48 2.27 3.26 4.15 4.65 4.66 4.27 3.70 3.19 2.85 2.64 2.43 2.12 1.72 1.35 1.15 1.21 1.47 1.76 1.90 1.78 1.46 1.09 0.88 0.92 1.17 1.48 1.67 1.69 1.60 1.54 1.65 1.90 2.16 2.20 1.89 1.25 0.47 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.06 0.00 0.00 0.00 0.04 0.23 0.46 0.63 0.67 0.56 0.36 0.20 0.20 0.41 0.75 1.05 1.18 1.13 1.01 1.07 1.48 2.27 3.26 4.15 4.65 4.66 4.27 3.70 3.19 2.85 2.64 2.43 2.12 1.72 1.35 1.15 1.21 1.47 1.76 1.90 1.78 1.46 1.09 0.88 0.92 1.17 1.48 1.67 1.69 1.60 1.54 1.65 1.90 2.16 2.20 1.89 1.25 0.47 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.06 0.00 0.00 0.00 85.0 + 87.5 0.00 0.00 0.00 0.13 0.27 0.26 0.09 0.00 0.00 0.00 0.00 0.21 0.47 0.52 0.34 0.12 0.08 0.44 1.21 2.19 3.07 3.55 3.55 3.16 2.63 2.20 1.95 1.84 1.71 1.45 1.09 0.76 0.61 0.73 1.05 1.38 1.54 1.42 1.09 0.73 0.54 0.62 0.89 1.21 1.41 1.44 1.39 1.42 1.63 1.98 2.28 2.31 1.91 1.16 0.27 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.27 0.26 0.09 0.00 0.00 0.00 0.00 0.21 0.47 0.52 0.34 0.12 0.08 0.44 1.21 2.19 3.07 3.55 3.55 3.16 2.63 2.20 1.95 1.84 1.71 1.45 1.09 0.76 0.61 0.73 1.05 1.38 1.54 1.42 1.09 0.73 0.54 0.62 0.89 1.21 1.41 1.44 1.39 1.42 1.63 1.98 2.28 2.31 1.91 1.16 0.27 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 87.5 + 90.0 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.00 0.00 0.00 0.00 0.48 1.43 2.27 2.72 2.70 2.34 1.89 1.57 1.44 1.42 1.35 1.13 0.80 0.50 0.39 0.55 0.90 1.23 1.37 1.23 0.90 0.55 0.39 0.50 0.80 1.13 1.35 1.42 1.44 1.57 1.89 2.34 2.70 2.72 2.27 1.43 0.48 0.00 0.00 0.00 0.00 0.02 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.00 0.00 0.00 0.00 0.48 1.43 2.27 2.72 2.70 2.34 1.89 1.57 1.44 1.42 1.35 1.13 0.80 0.50 0.39 0.55 0.90 1.23 1.37 1.23 0.90 0.55 0.39 0.50 0.80 1.13 1.35 1.42 1.44 1.57 1.89 2.34 2.70 2.72 2.27 1.43 0.48 0.00 0.00 0.00 0.00 0.02 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 90.0 + + 40.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.66 ) PHI2 = 40. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.0 + 2.5 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.39 0.38 0.40 0.49 0.64 0.84 1.05 1.27 1.51 1.76 2.00 2.18 2.26 2.22 2.07 1.85 1.61 1.37 1.15 0.93 0.73 0.56 0.45 0.41 0.39 0.36 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.35 0.38 0.40 0.44 0.56 0.73 0.93 1.15 1.38 1.62 1.86 2.08 2.23 2.28 2.19 2.01 1.77 1.51 1.27 1.05 0.84 0.64 0.49 0.39 0.37 0.38 0.37 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.38 0.39 0.38 0.40 0.49 0.64 0.84 1.05 1.27 1.51 1.76 2.00 2.18 2.26 2.22 2.07 1.85 1.61 1.37 1.15 0.93 0.73 0.56 0.45 0.41 0.39 0.36 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.35 0.38 0.40 0.44 0.56 0.73 0.93 1.15 1.38 1.62 1.86 2.08 2.23 2.28 2.19 2.01 1.77 1.51 1.27 1.05 0.84 0.64 0.49 0.39 0.37 0.38 0.37 0.28 0.09 0.00 2.5 + 5.0 0.12 0.00 0.00 0.00 0.12 0.30 0.44 0.49 0.46 0.39 0.36 0.39 0.50 0.67 0.88 1.12 1.39 1.67 1.96 2.19 2.33 2.33 2.22 2.01 1.76 1.50 1.24 1.01 0.81 0.65 0.55 0.51 0.50 0.46 0.35 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.34 0.43 0.47 0.48 0.54 0.65 0.82 1.03 1.27 1.52 1.78 2.05 2.26 2.39 2.38 2.24 2.00 1.70 1.40 1.13 0.89 0.68 0.50 0.38 0.33 0.35 0.42 0.46 0.43 0.30 0.12 0.00 0.00 0.00 0.12 0.30 0.44 0.49 0.46 0.39 0.36 0.39 0.50 0.67 0.88 1.12 1.39 1.67 1.96 2.19 2.33 2.33 2.22 2.01 1.76 1.50 1.24 1.01 0.81 0.65 0.55 0.51 0.50 0.46 0.35 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.34 0.43 0.47 0.48 0.54 0.65 0.82 1.03 1.27 1.52 1.78 2.05 2.26 2.39 2.38 2.24 2.00 1.70 1.40 1.13 0.89 0.68 0.50 0.38 0.33 0.35 0.42 0.46 0.43 0.30 0.12 5.0 + 7.5 0.49 0.37 0.31 0.35 0.47 0.61 0.70 0.70 0.61 0.49 0.39 0.36 0.42 0.55 0.74 0.98 1.27 1.58 1.91 2.19 2.40 2.47 2.40 2.22 1.97 1.69 1.43 1.19 1.00 0.87 0.80 0.78 0.78 0.75 0.65 0.50 0.32 0.18 0.14 0.21 0.36 0.53 0.66 0.73 0.75 0.76 0.81 0.91 1.07 1.27 1.50 1.77 2.05 2.31 2.51 2.58 2.51 2.29 1.97 1.62 1.28 0.99 0.74 0.55 0.40 0.33 0.33 0.41 0.53 0.63 0.66 0.60 0.49 0.37 0.31 0.35 0.47 0.61 0.70 0.70 0.61 0.49 0.39 0.36 0.42 0.55 0.74 0.98 1.27 1.58 1.91 2.19 2.40 2.47 2.40 2.22 1.97 1.69 1.43 1.19 1.00 0.87 0.80 0.78 0.78 0.75 0.65 0.50 0.32 0.18 0.14 0.21 0.36 0.53 0.66 0.73 0.75 0.76 0.81 0.91 1.07 1.27 1.50 1.77 2.05 2.31 2.51 2.58 2.51 2.29 1.97 1.62 1.28 0.99 0.74 0.55 0.40 0.33 0.33 0.41 0.53 0.63 0.66 0.60 0.49 7.5 + 10.0 0.87 0.78 0.74 0.76 0.83 0.93 0.98 0.96 0.86 0.71 0.56 0.48 0.48 0.57 0.73 0.94 1.21 1.51 1.85 2.17 2.42 2.57 2.57 2.44 2.21 1.94 1.68 1.46 1.30 1.22 1.20 1.22 1.25 1.24 1.18 1.06 0.92 0.83 0.81 0.89 1.01 1.14 1.23 1.27 1.26 1.26 1.28 1.35 1.47 1.64 1.84 2.09 2.35 2.59 2.73 2.74 2.59 2.30 1.93 1.55 1.20 0.92 0.71 0.55 0.45 0.42 0.47 0.59 0.74 0.87 0.94 0.93 0.87 0.78 0.74 0.76 0.83 0.93 0.98 0.96 0.86 0.71 0.56 0.48 0.48 0.57 0.73 0.94 1.21 1.51 1.85 2.17 2.42 2.57 2.57 2.44 2.21 1.94 1.68 1.46 1.30 1.22 1.20 1.22 1.25 1.24 1.18 1.06 0.92 0.83 0.81 0.89 1.01 1.14 1.23 1.27 1.26 1.26 1.28 1.35 1.47 1.64 1.84 2.09 2.35 2.59 2.73 2.74 2.59 2.30 1.93 1.55 1.20 0.92 0.71 0.55 0.45 0.42 0.47 0.59 0.74 0.87 0.94 0.93 0.87 10.0 + 12.5 1.18 1.13 1.08 1.08 1.12 1.18 1.22 1.21 1.13 0.99 0.84 0.73 0.69 0.72 0.83 1.00 1.21 1.46 1.76 2.08 2.37 2.57 2.65 2.58 2.40 2.16 1.93 1.74 1.63 1.61 1.65 1.72 1.79 1.82 1.79 1.71 1.62 1.57 1.58 1.66 1.77 1.86 1.91 1.91 1.87 1.84 1.83 1.86 1.93 2.05 2.21 2.41 2.62 2.79 2.86 2.78 2.55 2.21 1.83 1.47 1.16 0.94 0.78 0.68 0.63 0.65 0.72 0.84 0.98 1.11 1.19 1.21 1.18 1.13 1.08 1.08 1.12 1.18 1.22 1.21 1.13 0.99 0.84 0.73 0.69 0.72 0.83 1.00 1.21 1.46 1.76 2.08 2.37 2.57 2.65 2.58 2.40 2.16 1.93 1.74 1.63 1.61 1.65 1.72 1.79 1.82 1.79 1.71 1.62 1.57 1.58 1.66 1.77 1.86 1.91 1.91 1.87 1.84 1.83 1.86 1.93 2.05 2.21 2.41 2.62 2.79 2.86 2.78 2.55 2.21 1.83 1.47 1.16 0.94 0.78 0.68 0.63 0.65 0.72 0.84 0.98 1.11 1.19 1.21 1.18 12.5 + 15.0 1.35 1.32 1.28 1.25 1.25 1.29 1.32 1.34 1.30 1.21 1.09 0.98 0.92 0.92 0.97 1.07 1.20 1.39 1.63 1.92 2.22 2.47 2.61 2.61 2.49 2.29 2.09 1.93 1.85 1.86 1.95 2.07 2.18 2.25 2.26 2.23 2.18 2.17 2.20 2.28 2.38 2.44 2.45 2.40 2.34 2.27 2.23 2.23 2.27 2.35 2.47 2.61 2.75 2.84 2.81 2.65 2.36 2.01 1.64 1.33 1.10 0.96 0.87 0.84 0.84 0.89 0.96 1.06 1.16 1.25 1.32 1.36 1.35 1.32 1.28 1.25 1.25 1.29 1.32 1.34 1.30 1.21 1.09 0.98 0.92 0.92 0.97 1.07 1.20 1.39 1.63 1.92 2.22 2.47 2.61 2.61 2.49 2.29 2.09 1.93 1.85 1.86 1.95 2.07 2.18 2.25 2.26 2.23 2.18 2.17 2.20 2.28 2.38 2.44 2.45 2.40 2.34 2.27 2.23 2.23 2.27 2.35 2.47 2.61 2.75 2.84 2.81 2.65 2.36 2.01 1.64 1.33 1.10 0.96 0.87 0.84 0.84 0.89 0.96 1.06 1.16 1.25 1.32 1.36 1.35 15.0 + 17.5 1.35 1.35 1.32 1.26 1.21 1.20 1.23 1.27 1.29 1.26 1.18 1.10 1.03 1.01 1.02 1.06 1.13 1.25 1.43 1.68 1.98 2.26 2.46 2.53 2.46 2.29 2.10 1.94 1.87 1.88 1.98 2.12 2.27 2.38 2.44 2.45 2.45 2.47 2.52 2.60 2.67 2.70 2.66 2.58 2.48 2.39 2.33 2.33 2.36 2.43 2.53 2.63 2.71 2.71 2.59 2.35 2.03 1.67 1.36 1.12 0.97 0.90 0.88 0.89 0.93 0.98 1.04 1.10 1.16 1.21 1.27 1.32 1.35 1.35 1.32 1.26 1.21 1.20 1.23 1.27 1.29 1.26 1.18 1.10 1.03 1.01 1.02 1.06 1.13 1.25 1.43 1.68 1.98 2.26 2.46 2.53 2.46 2.29 2.10 1.94 1.87 1.88 1.98 2.12 2.27 2.38 2.44 2.45 2.45 2.47 2.52 2.60 2.67 2.70 2.66 2.58 2.48 2.39 2.33 2.33 2.36 2.43 2.53 2.63 2.71 2.71 2.59 2.35 2.03 1.67 1.36 1.12 0.97 0.90 0.88 0.89 0.93 0.98 1.04 1.10 1.16 1.21 1.27 1.32 1.35 17.5 + 20.0 1.18 1.22 1.19 1.11 1.01 0.95 0.94 0.99 1.04 1.06 1.04 0.99 0.94 0.91 0.90 0.92 0.96 1.04 1.19 1.42 1.70 2.00 2.23 2.34 2.31 2.17 1.98 1.81 1.71 1.70 1.78 1.92 2.09 2.24 2.35 2.43 2.48 2.53 2.60 2.66 2.71 2.69 2.62 2.49 2.35 2.23 2.17 2.17 2.22 2.30 2.40 2.47 2.49 2.41 2.22 1.93 1.59 1.26 0.99 0.82 0.73 0.71 0.73 0.76 0.81 0.86 0.90 0.92 0.94 0.97 1.03 1.11 1.18 1.22 1.19 1.11 1.01 0.95 0.94 0.99 1.04 1.06 1.04 0.99 0.94 0.91 0.90 0.92 0.96 1.04 1.19 1.42 1.70 2.00 2.23 2.34 2.31 2.17 1.98 1.81 1.71 1.70 1.78 1.92 2.09 2.24 2.35 2.43 2.48 2.53 2.60 2.66 2.71 2.69 2.62 2.49 2.35 2.23 2.17 2.17 2.22 2.30 2.40 2.47 2.49 2.41 2.22 1.93 1.59 1.26 0.99 0.82 0.73 0.71 0.73 0.76 0.81 0.86 0.90 0.92 0.94 0.97 1.03 1.11 1.18 20.0 + 22.5 0.89 0.97 0.95 0.85 0.70 0.57 0.53 0.56 0.64 0.70 0.72 0.70 0.66 0.64 0.65 0.68 0.72 0.80 0.93 1.14 1.42 1.71 1.95 2.08 2.08 1.97 1.80 1.63 1.51 1.47 1.53 1.67 1.85 2.04 2.22 2.36 2.47 2.57 2.65 2.71 2.73 2.67 2.55 2.37 2.19 2.05 1.97 1.96 2.01 2.09 2.16 2.20 2.16 2.02 1.77 1.46 1.12 0.82 0.61 0.48 0.43 0.42 0.44 0.47 0.52 0.56 0.58 0.57 0.56 0.57 0.64 0.76 0.89 0.97 0.95 0.85 0.70 0.57 0.53 0.56 0.64 0.70 0.72 0.70 0.66 0.64 0.65 0.68 0.72 0.80 0.93 1.14 1.42 1.71 1.95 2.08 2.08 1.97 1.80 1.63 1.51 1.47 1.53 1.67 1.85 2.04 2.22 2.36 2.47 2.57 2.65 2.71 2.73 2.67 2.55 2.37 2.19 2.05 1.97 1.96 2.01 2.09 2.16 2.20 2.16 2.02 1.77 1.46 1.12 0.82 0.61 0.48 0.43 0.42 0.44 0.47 0.52 0.56 0.58 0.57 0.56 0.57 0.64 0.76 0.89 22.5 + 25.0 0.52 0.64 0.64 0.53 0.34 0.17 0.09 0.12 0.20 0.29 0.34 0.34 0.32 0.32 0.35 0.40 0.48 0.57 0.70 0.89 1.13 1.40 1.63 1.77 1.81 1.74 1.62 1.49 1.39 1.37 1.42 1.56 1.76 2.00 2.24 2.46 2.65 2.80 2.91 2.97 2.96 2.88 2.72 2.50 2.28 2.08 1.96 1.90 1.90 1.93 1.94 1.91 1.80 1.59 1.31 0.99 0.68 0.43 0.26 0.17 0.12 0.10 0.10 0.12 0.16 0.19 0.20 0.18 0.14 0.14 0.21 0.36 0.52 0.64 0.64 0.53 0.34 0.17 0.09 0.12 0.20 0.29 0.34 0.34 0.32 0.32 0.35 0.40 0.48 0.57 0.70 0.89 1.13 1.40 1.63 1.77 1.81 1.74 1.62 1.49 1.39 1.37 1.42 1.56 1.76 2.00 2.24 2.46 2.65 2.80 2.91 2.97 2.96 2.88 2.72 2.50 2.28 2.08 1.96 1.90 1.90 1.93 1.94 1.91 1.80 1.59 1.31 0.99 0.68 0.43 0.26 0.17 0.12 0.10 0.10 0.12 0.16 0.19 0.20 0.18 0.14 0.14 0.21 0.36 0.52 25.0 + 27.5 0.18 0.32 0.33 0.22 0.02 0.00 0.00 0.00 0.00 0.00 0.04 0.05 0.05 0.05 0.10 0.18 0.27 0.38 0.50 0.66 0.85 1.07 1.27 1.42 1.50 1.51 1.47 1.43 1.41 1.45 1.54 1.69 1.91 2.18 2.47 2.76 3.01 3.22 3.37 3.45 3.44 3.34 3.16 2.93 2.67 2.42 2.22 2.08 1.97 1.89 1.80 1.66 1.46 1.19 0.88 0.57 0.31 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.18 0.32 0.33 0.22 0.02 0.00 0.00 0.00 0.00 0.00 0.04 0.05 0.05 0.05 0.10 0.18 0.27 0.38 0.50 0.66 0.85 1.07 1.27 1.42 1.50 1.51 1.47 1.43 1.41 1.45 1.54 1.69 1.91 2.18 2.47 2.76 3.01 3.22 3.37 3.45 3.44 3.34 3.16 2.93 2.67 2.42 2.22 2.08 1.97 1.89 1.80 1.66 1.46 1.19 0.88 0.57 0.31 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.18 27.5 + 30.0 0.00 0.06 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.13 0.23 0.33 0.44 0.59 0.75 0.92 1.06 1.17 1.26 1.33 1.41 1.51 1.62 1.77 1.94 2.16 2.43 2.74 3.06 3.36 3.62 3.80 3.90 3.90 3.82 3.66 3.44 3.17 2.89 2.62 2.37 2.14 1.93 1.71 1.46 1.17 0.85 0.53 0.25 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.13 0.23 0.33 0.44 0.59 0.75 0.92 1.06 1.17 1.26 1.33 1.41 1.51 1.62 1.77 1.94 2.16 2.43 2.74 3.06 3.36 3.62 3.80 3.90 3.90 3.82 3.66 3.44 3.17 2.89 2.62 2.37 2.14 1.93 1.71 1.46 1.17 0.85 0.53 0.25 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 30.0 + 32.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.12 0.19 0.27 0.37 0.49 0.63 0.76 0.89 1.02 1.18 1.36 1.55 1.74 1.92 2.09 2.28 2.51 2.78 3.09 3.39 3.66 3.86 3.98 4.01 3.96 3.85 3.68 3.45 3.17 2.86 2.54 2.22 1.91 1.61 1.29 0.96 0.62 0.30 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.12 0.19 0.27 0.37 0.49 0.63 0.76 0.89 1.02 1.18 1.36 1.55 1.74 1.92 2.09 2.28 2.51 2.78 3.09 3.39 3.66 3.86 3.98 4.01 3.96 3.85 3.68 3.45 3.17 2.86 2.54 2.22 1.91 1.61 1.29 0.96 0.62 0.30 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 32.5 + 35.0 0.00 0.05 0.09 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.10 0.17 0.26 0.37 0.49 0.60 0.70 0.84 1.01 1.22 1.46 1.68 1.86 1.98 2.09 2.23 2.43 2.68 2.95 3.20 3.39 3.50 3.55 3.54 3.49 3.40 3.24 3.02 2.73 2.41 2.07 1.75 1.44 1.14 0.82 0.51 0.22 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.10 0.17 0.26 0.37 0.49 0.60 0.70 0.84 1.01 1.22 1.46 1.68 1.86 1.98 2.09 2.23 2.43 2.68 2.95 3.20 3.39 3.50 3.55 3.54 3.49 3.40 3.24 3.02 2.73 2.41 2.07 1.75 1.44 1.14 0.82 0.51 0.22 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 35.0 + 37.5 0.17 0.28 0.33 0.31 0.23 0.13 0.06 0.04 0.06 0.09 0.11 0.10 0.07 0.04 0.01 0.00 0.00 0.02 0.07 0.17 0.30 0.44 0.55 0.62 0.67 0.74 0.86 1.04 1.26 1.45 1.57 1.61 1.62 1.65 1.75 1.93 2.15 2.36 2.51 2.59 2.61 2.62 2.62 2.62 2.56 2.43 2.23 1.96 1.69 1.44 1.21 1.01 0.79 0.55 0.29 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.14 0.26 0.32 0.29 0.21 0.11 0.05 0.08 0.17 0.28 0.33 0.31 0.23 0.13 0.06 0.04 0.06 0.09 0.11 0.10 0.07 0.04 0.01 0.00 0.00 0.02 0.07 0.17 0.30 0.44 0.55 0.62 0.67 0.74 0.86 1.04 1.26 1.45 1.57 1.61 1.62 1.65 1.75 1.93 2.15 2.36 2.51 2.59 2.61 2.62 2.62 2.62 2.56 2.43 2.23 1.96 1.69 1.44 1.21 1.01 0.79 0.55 0.29 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.14 0.26 0.32 0.29 0.21 0.11 0.05 0.08 0.17 37.5 + 40.0 0.45 0.54 0.61 0.63 0.58 0.49 0.39 0.31 0.26 0.23 0.23 0.24 0.23 0.21 0.16 0.09 0.03 0.02 0.10 0.25 0.45 0.65 0.77 0.80 0.76 0.73 0.76 0.86 1.01 1.14 1.18 1.13 1.03 0.97 1.00 1.13 1.32 1.48 1.57 1.58 1.55 1.53 1.56 1.62 1.66 1.64 1.53 1.36 1.18 1.04 0.96 0.90 0.82 0.68 0.47 0.24 0.04 0.00 0.00 0.00 0.00 0.04 0.13 0.23 0.34 0.43 0.49 0.50 0.45 0.39 0.36 0.37 0.45 0.54 0.61 0.63 0.58 0.49 0.39 0.31 0.26 0.23 0.23 0.24 0.23 0.21 0.16 0.09 0.03 0.02 0.10 0.25 0.45 0.65 0.77 0.80 0.76 0.73 0.76 0.86 1.01 1.14 1.18 1.13 1.03 0.97 1.00 1.13 1.32 1.48 1.57 1.58 1.55 1.53 1.56 1.62 1.66 1.64 1.53 1.36 1.18 1.04 0.96 0.90 0.82 0.68 0.47 0.24 0.04 0.00 0.00 0.00 0.00 0.04 0.13 0.23 0.34 0.43 0.49 0.50 0.45 0.39 0.36 0.37 0.45 40.0 + 42.5 0.62 0.69 0.78 0.84 0.84 0.77 0.65 0.52 0.40 0.34 0.35 0.40 0.44 0.44 0.37 0.24 0.11 0.06 0.14 0.35 0.63 0.88 1.01 0.99 0.87 0.74 0.68 0.72 0.81 0.87 0.84 0.70 0.54 0.43 0.44 0.58 0.77 0.91 0.94 0.86 0.73 0.65 0.67 0.76 0.87 0.93 0.89 0.79 0.69 0.66 0.71 0.80 0.86 0.81 0.65 0.41 0.18 0.03 0.00 0.05 0.17 0.29 0.38 0.45 0.50 0.54 0.59 0.61 0.61 0.59 0.57 0.57 0.62 0.69 0.78 0.84 0.84 0.77 0.65 0.52 0.40 0.34 0.35 0.40 0.44 0.44 0.37 0.24 0.11 0.06 0.14 0.35 0.63 0.88 1.01 0.99 0.87 0.74 0.68 0.72 0.81 0.87 0.84 0.70 0.54 0.43 0.44 0.58 0.77 0.91 0.94 0.86 0.73 0.65 0.67 0.76 0.87 0.93 0.89 0.79 0.69 0.66 0.71 0.80 0.86 0.81 0.65 0.41 0.18 0.03 0.00 0.05 0.17 0.29 0.38 0.45 0.50 0.54 0.59 0.61 0.61 0.59 0.57 0.57 0.62 42.5 + 45.0 0.58 0.62 0.72 0.83 0.90 0.88 0.77 0.61 0.46 0.39 0.44 0.57 0.69 0.72 0.62 0.42 0.19 0.08 0.14 0.39 0.72 1.00 1.12 1.06 0.87 0.68 0.58 0.60 0.67 0.69 0.61 0.43 0.23 0.12 0.18 0.38 0.62 0.77 0.75 0.58 0.35 0.19 0.16 0.26 0.40 0.49 0.48 0.39 0.31 0.32 0.44 0.64 0.80 0.84 0.72 0.49 0.24 0.09 0.09 0.21 0.40 0.55 0.63 0.63 0.59 0.56 0.56 0.60 0.64 0.65 0.62 0.59 0.58 0.62 0.72 0.83 0.90 0.88 0.77 0.61 0.46 0.39 0.44 0.57 0.69 0.72 0.62 0.42 0.19 0.08 0.14 0.39 0.72 1.00 1.12 1.06 0.87 0.68 0.58 0.60 0.67 0.69 0.61 0.43 0.23 0.12 0.18 0.38 0.62 0.77 0.75 0.58 0.35 0.19 0.16 0.26 0.40 0.49 0.48 0.39 0.31 0.32 0.44 0.64 0.80 0.84 0.72 0.49 0.24 0.09 0.09 0.21 0.40 0.55 0.63 0.63 0.59 0.56 0.56 0.60 0.64 0.65 0.62 0.59 0.58 45.0 + 47.5 0.34 0.33 0.43 0.59 0.74 0.79 0.72 0.56 0.41 0.37 0.49 0.71 0.92 1.00 0.87 0.58 0.26 0.06 0.08 0.32 0.66 0.93 1.02 0.92 0.69 0.49 0.41 0.46 0.56 0.59 0.49 0.28 0.07 0.01 0.14 0.44 0.76 0.95 0.90 0.65 0.33 0.08 0.00 0.09 0.24 0.33 0.30 0.17 0.04 0.03 0.16 0.40 0.62 0.72 0.64 0.43 0.20 0.09 0.15 0.36 0.62 0.80 0.85 0.76 0.60 0.48 0.44 0.47 0.54 0.57 0.52 0.42 0.34 0.33 0.43 0.59 0.74 0.79 0.72 0.56 0.41 0.37 0.49 0.71 0.92 1.00 0.87 0.58 0.26 0.06 0.08 0.32 0.66 0.93 1.02 0.92 0.69 0.49 0.41 0.46 0.56 0.59 0.49 0.28 0.07 0.01 0.14 0.44 0.76 0.95 0.90 0.65 0.33 0.08 0.00 0.09 0.24 0.33 0.30 0.17 0.04 0.03 0.16 0.40 0.62 0.72 0.64 0.43 0.20 0.09 0.15 0.36 0.62 0.80 0.85 0.76 0.60 0.48 0.44 0.47 0.54 0.57 0.52 0.42 0.34 47.5 + 50.0 0.02 0.00 0.04 0.24 0.46 0.57 0.54 0.40 0.27 0.28 0.47 0.79 1.09 1.21 1.07 0.71 0.30 0.01 0.00 0.17 0.48 0.71 0.76 0.61 0.38 0.20 0.19 0.31 0.47 0.53 0.42 0.19 0.00 0.00 0.17 0.56 0.96 1.19 1.14 0.84 0.45 0.14 0.03 0.10 0.25 0.33 0.26 0.07 0.00 0.00 0.00 0.13 0.37 0.50 0.46 0.29 0.11 0.06 0.20 0.49 0.80 0.99 0.98 0.79 0.52 0.31 0.24 0.29 0.39 0.43 0.35 0.19 0.02 0.00 0.04 0.24 0.46 0.57 0.54 0.40 0.27 0.28 0.47 0.79 1.09 1.21 1.07 0.71 0.30 0.01 0.00 0.17 0.48 0.71 0.76 0.61 0.38 0.20 0.19 0.31 0.47 0.53 0.42 0.19 0.00 0.00 0.17 0.56 0.96 1.19 1.14 0.84 0.45 0.14 0.03 0.10 0.25 0.33 0.26 0.07 0.00 0.00 0.00 0.13 0.37 0.50 0.46 0.29 0.11 0.06 0.20 0.49 0.80 0.99 0.98 0.79 0.52 0.31 0.24 0.29 0.39 0.43 0.35 0.19 0.02 50.0 + 52.5 0.00 0.00 0.00 0.00 0.20 0.36 0.34 0.21 0.10 0.14 0.40 0.80 1.17 1.32 1.17 0.78 0.31 0.00 0.00 0.04 0.30 0.48 0.47 0.29 0.07 0.00 0.00 0.20 0.41 0.49 0.38 0.13 0.00 0.00 0.16 0.60 1.05 1.30 1.26 0.95 0.54 0.21 0.09 0.16 0.30 0.37 0.27 0.05 0.00 0.00 0.00 0.00 0.19 0.33 0.31 0.18 0.05 0.06 0.27 0.60 0.93 1.10 1.02 0.74 0.39 0.12 0.04 0.12 0.27 0.34 0.26 0.04 0.00 0.00 0.00 0.00 0.20 0.36 0.34 0.21 0.10 0.14 0.40 0.80 1.17 1.32 1.17 0.78 0.31 0.00 0.00 0.04 0.30 0.48 0.47 0.29 0.07 0.00 0.00 0.20 0.41 0.49 0.38 0.13 0.00 0.00 0.16 0.60 1.05 1.30 1.26 0.95 0.54 0.21 0.09 0.16 0.30 0.37 0.27 0.05 0.00 0.00 0.00 0.00 0.19 0.33 0.31 0.18 0.05 0.06 0.27 0.60 0.93 1.10 1.02 0.74 0.39 0.12 0.04 0.12 0.27 0.34 0.26 0.04 0.00 52.5 + 55.0 0.00 0.00 0.00 0.00 0.11 0.26 0.23 0.09 0.00 0.02 0.31 0.74 1.15 1.33 1.19 0.80 0.32 0.00 0.00 0.00 0.20 0.33 0.28 0.09 0.00 0.00 0.00 0.19 0.43 0.52 0.39 0.12 0.00 0.00 0.11 0.55 0.99 1.25 1.22 0.93 0.55 0.25 0.14 0.21 0.35 0.41 0.32 0.10 0.00 0.00 0.00 0.00 0.19 0.32 0.31 0.19 0.10 0.14 0.37 0.71 1.02 1.15 1.00 0.65 0.25 0.00 0.00 0.06 0.27 0.40 0.33 0.10 0.00 0.00 0.00 0.00 0.11 0.26 0.23 0.09 0.00 0.02 0.31 0.74 1.15 1.33 1.19 0.80 0.32 0.00 0.00 0.00 0.20 0.33 0.28 0.09 0.00 0.00 0.00 0.19 0.43 0.52 0.39 0.12 0.00 0.00 0.11 0.55 0.99 1.25 1.22 0.93 0.55 0.25 0.14 0.21 0.35 0.41 0.32 0.10 0.00 0.00 0.00 0.00 0.19 0.32 0.31 0.19 0.10 0.14 0.37 0.71 1.02 1.15 1.00 0.65 0.25 0.00 0.00 0.06 0.27 0.40 0.33 0.10 0.00 55.0 + 57.5 0.08 0.00 0.00 0.03 0.22 0.31 0.25 0.07 0.00 0.00 0.23 0.66 1.06 1.24 1.13 0.77 0.33 0.01 0.00 0.03 0.21 0.30 0.24 0.06 0.00 0.00 0.00 0.28 0.52 0.60 0.46 0.19 0.00 0.00 0.10 0.48 0.87 1.10 1.09 0.86 0.55 0.30 0.22 0.30 0.42 0.48 0.40 0.22 0.03 0.00 0.00 0.18 0.38 0.49 0.45 0.33 0.23 0.27 0.48 0.80 1.06 1.13 0.95 0.58 0.17 0.00 0.00 0.12 0.41 0.60 0.57 0.36 0.08 0.00 0.00 0.03 0.22 0.31 0.25 0.07 0.00 0.00 0.23 0.66 1.06 1.24 1.13 0.77 0.33 0.01 0.00 0.03 0.21 0.30 0.24 0.06 0.00 0.00 0.00 0.28 0.52 0.60 0.46 0.19 0.00 0.00 0.10 0.48 0.87 1.10 1.09 0.86 0.55 0.30 0.22 0.30 0.42 0.48 0.40 0.22 0.03 0.00 0.00 0.18 0.38 0.49 0.45 0.33 0.23 0.27 0.48 0.80 1.06 1.13 0.95 0.58 0.17 0.00 0.00 0.12 0.41 0.60 0.57 0.36 0.08 57.5 + 60.0 0.44 0.25 0.21 0.30 0.43 0.47 0.36 0.15 0.00 0.00 0.20 0.57 0.93 1.09 1.00 0.68 0.31 0.05 0.00 0.09 0.25 0.33 0.26 0.10 0.00 0.00 0.13 0.39 0.62 0.68 0.55 0.31 0.08 0.01 0.14 0.43 0.75 0.94 0.94 0.78 0.56 0.40 0.35 0.41 0.51 0.55 0.48 0.35 0.23 0.21 0.30 0.48 0.64 0.70 0.63 0.48 0.36 0.38 0.55 0.81 1.03 1.07 0.88 0.53 0.17 0.00 0.02 0.28 0.61 0.84 0.87 0.69 0.44 0.25 0.21 0.30 0.43 0.47 0.36 0.15 0.00 0.00 0.20 0.57 0.93 1.09 1.00 0.68 0.31 0.05 0.00 0.09 0.25 0.33 0.26 0.10 0.00 0.00 0.13 0.39 0.62 0.68 0.55 0.31 0.08 0.01 0.14 0.43 0.75 0.94 0.94 0.78 0.56 0.40 0.35 0.41 0.51 0.55 0.48 0.35 0.23 0.21 0.30 0.48 0.64 0.70 0.63 0.48 0.36 0.38 0.55 0.81 1.03 1.07 0.88 0.53 0.17 0.00 0.02 0.28 0.61 0.84 0.87 0.69 0.44 60.0 + 62.5 0.71 0.53 0.48 0.54 0.62 0.62 0.49 0.27 0.08 0.04 0.20 0.49 0.77 0.90 0.81 0.55 0.24 0.04 0.01 0.12 0.26 0.33 0.27 0.14 0.04 0.06 0.21 0.45 0.65 0.71 0.60 0.40 0.20 0.13 0.21 0.41 0.63 0.77 0.79 0.69 0.56 0.47 0.46 0.50 0.55 0.55 0.48 0.39 0.33 0.36 0.48 0.65 0.77 0.79 0.68 0.51 0.37 0.36 0.50 0.72 0.91 0.96 0.81 0.52 0.23 0.08 0.16 0.42 0.75 0.99 1.05 0.92 0.71 0.53 0.48 0.54 0.62 0.62 0.49 0.27 0.08 0.04 0.20 0.49 0.77 0.90 0.81 0.55 0.24 0.04 0.01 0.12 0.26 0.33 0.27 0.14 0.04 0.06 0.21 0.45 0.65 0.71 0.60 0.40 0.20 0.13 0.21 0.41 0.63 0.77 0.79 0.69 0.56 0.47 0.46 0.50 0.55 0.55 0.48 0.39 0.33 0.36 0.48 0.65 0.77 0.79 0.68 0.51 0.37 0.36 0.50 0.72 0.91 0.96 0.81 0.52 0.23 0.08 0.16 0.42 0.75 0.99 1.05 0.92 0.71 62.5 + 65.0 0.76 0.62 0.57 0.62 0.69 0.69 0.58 0.38 0.20 0.14 0.23 0.44 0.64 0.72 0.63 0.41 0.17 0.03 0.03 0.14 0.27 0.33 0.29 0.18 0.11 0.13 0.26 0.46 0.62 0.67 0.59 0.43 0.28 0.21 0.25 0.37 0.50 0.58 0.59 0.54 0.47 0.44 0.44 0.46 0.46 0.41 0.33 0.24 0.22 0.28 0.42 0.58 0.68 0.66 0.53 0.36 0.22 0.21 0.34 0.55 0.74 0.81 0.72 0.51 0.29 0.18 0.25 0.47 0.75 0.96 1.02 0.93 0.76 0.62 0.57 0.62 0.69 0.69 0.58 0.38 0.20 0.14 0.23 0.44 0.64 0.72 0.63 0.41 0.17 0.03 0.03 0.14 0.27 0.33 0.29 0.18 0.11 0.13 0.26 0.46 0.62 0.67 0.59 0.43 0.28 0.21 0.25 0.37 0.50 0.58 0.59 0.54 0.47 0.44 0.44 0.46 0.46 0.41 0.33 0.24 0.22 0.28 0.42 0.58 0.68 0.66 0.53 0.36 0.22 0.21 0.34 0.55 0.74 0.81 0.72 0.51 0.29 0.18 0.25 0.47 0.75 0.96 1.02 0.93 0.76 65.0 + 67.5 0.62 0.52 0.51 0.58 0.67 0.70 0.63 0.49 0.33 0.26 0.31 0.44 0.57 0.62 0.54 0.37 0.20 0.13 0.18 0.32 0.46 0.52 0.49 0.39 0.31 0.31 0.40 0.54 0.65 0.67 0.59 0.46 0.34 0.28 0.29 0.35 0.41 0.42 0.38 0.32 0.28 0.28 0.30 0.31 0.28 0.19 0.07 0.00 0.00 0.04 0.19 0.35 0.44 0.41 0.28 0.12 0.01 0.02 0.16 0.37 0.57 0.67 0.63 0.48 0.32 0.23 0.26 0.42 0.62 0.77 0.82 0.75 0.62 0.52 0.51 0.58 0.67 0.70 0.63 0.49 0.33 0.26 0.31 0.44 0.57 0.62 0.54 0.37 0.20 0.13 0.18 0.32 0.46 0.52 0.49 0.39 0.31 0.31 0.40 0.54 0.65 0.67 0.59 0.46 0.34 0.28 0.29 0.35 0.41 0.42 0.38 0.32 0.28 0.28 0.30 0.31 0.28 0.19 0.07 0.00 0.00 0.04 0.19 0.35 0.44 0.41 0.28 0.12 0.01 0.02 0.16 0.37 0.57 0.67 0.63 0.48 0.32 0.23 0.26 0.42 0.62 0.77 0.82 0.75 0.62 67.5 + 70.0 0.45 0.40 0.43 0.53 0.65 0.73 0.71 0.62 0.50 0.43 0.45 0.55 0.65 0.70 0.65 0.55 0.47 0.48 0.62 0.83 1.02 1.12 1.09 0.98 0.86 0.81 0.83 0.89 0.92 0.89 0.77 0.62 0.50 0.44 0.44 0.47 0.47 0.40 0.30 0.19 0.12 0.12 0.15 0.17 0.14 0.03 0.00 0.00 0.00 0.00 0.02 0.18 0.27 0.23 0.11 0.00 0.00 0.00 0.07 0.29 0.48 0.58 0.56 0.45 0.31 0.22 0.23 0.31 0.44 0.54 0.57 0.53 0.45 0.40 0.43 0.53 0.65 0.73 0.71 0.62 0.50 0.43 0.45 0.55 0.65 0.70 0.65 0.55 0.47 0.48 0.62 0.83 1.02 1.12 1.09 0.98 0.86 0.81 0.83 0.89 0.92 0.89 0.77 0.62 0.50 0.44 0.44 0.47 0.47 0.40 0.30 0.19 0.12 0.12 0.15 0.17 0.14 0.03 0.00 0.00 0.00 0.00 0.02 0.18 0.27 0.23 0.11 0.00 0.00 0.00 0.07 0.29 0.48 0.58 0.56 0.45 0.31 0.22 0.23 0.31 0.44 0.54 0.57 0.53 0.45 70.0 + 72.5 0.39 0.39 0.46 0.60 0.75 0.87 0.89 0.82 0.72 0.66 0.68 0.79 0.91 0.99 1.00 0.98 1.00 1.14 1.42 1.76 2.05 2.21 2.19 2.04 1.85 1.70 1.62 1.59 1.53 1.40 1.22 1.02 0.87 0.81 0.82 0.84 0.81 0.68 0.49 0.30 0.17 0.15 0.20 0.25 0.24 0.15 0.00 0.00 0.00 0.00 0.15 0.32 0.40 0.34 0.19 0.03 0.00 0.00 0.15 0.35 0.51 0.58 0.54 0.42 0.29 0.21 0.19 0.25 0.34 0.41 0.44 0.43 0.39 0.39 0.46 0.60 0.75 0.87 0.89 0.82 0.72 0.66 0.68 0.79 0.91 0.99 1.00 0.98 1.00 1.14 1.42 1.76 2.05 2.21 2.19 2.04 1.85 1.70 1.62 1.59 1.53 1.40 1.22 1.02 0.87 0.81 0.82 0.84 0.81 0.68 0.49 0.30 0.17 0.15 0.20 0.25 0.24 0.15 0.00 0.00 0.00 0.00 0.15 0.32 0.40 0.34 0.19 0.03 0.00 0.00 0.15 0.35 0.51 0.58 0.54 0.42 0.29 0.21 0.19 0.25 0.34 0.41 0.44 0.43 0.39 72.5 + 75.0 0.51 0.55 0.66 0.83 1.00 1.12 1.14 1.07 0.97 0.92 0.97 1.12 1.31 1.45 1.52 1.57 1.69 1.97 2.41 2.92 3.37 3.61 3.60 3.39 3.10 2.83 2.64 2.50 2.34 2.12 1.85 1.58 1.40 1.35 1.40 1.45 1.42 1.25 0.98 0.69 0.50 0.46 0.53 0.64 0.67 0.60 0.46 0.35 0.34 0.47 0.68 0.85 0.89 0.76 0.53 0.31 0.19 0.22 0.36 0.53 0.63 0.63 0.53 0.38 0.26 0.19 0.21 0.28 0.37 0.45 0.49 0.50 0.51 0.55 0.66 0.83 1.00 1.12 1.14 1.07 0.97 0.92 0.97 1.12 1.31 1.45 1.52 1.57 1.69 1.97 2.41 2.92 3.37 3.61 3.60 3.39 3.10 2.83 2.64 2.50 2.34 2.12 1.85 1.58 1.40 1.35 1.40 1.45 1.42 1.25 0.98 0.69 0.50 0.46 0.53 0.64 0.67 0.60 0.46 0.35 0.34 0.47 0.68 0.85 0.89 0.76 0.53 0.31 0.19 0.22 0.36 0.53 0.63 0.63 0.53 0.38 0.26 0.19 0.21 0.28 0.37 0.45 0.49 0.50 0.51 75.0 + 77.5 0.69 0.77 0.92 1.10 1.28 1.39 1.38 1.28 1.16 1.13 1.23 1.44 1.69 1.89 2.00 2.08 2.27 2.66 3.26 3.96 4.57 4.91 4.91 4.62 4.21 3.81 3.51 3.28 3.04 2.74 2.39 2.07 1.87 1.85 1.96 2.08 2.09 1.90 1.57 1.22 0.98 0.93 1.04 1.20 1.29 1.26 1.14 1.04 1.07 1.23 1.46 1.61 1.57 1.32 0.95 0.61 0.42 0.43 0.56 0.69 0.74 0.65 0.48 0.30 0.19 0.18 0.25 0.37 0.49 0.58 0.63 0.66 0.69 0.77 0.92 1.10 1.28 1.39 1.38 1.28 1.16 1.13 1.23 1.44 1.69 1.89 2.00 2.08 2.27 2.66 3.26 3.96 4.57 4.91 4.91 4.62 4.21 3.81 3.51 3.28 3.04 2.74 2.39 2.07 1.87 1.85 1.96 2.08 2.09 1.90 1.57 1.22 0.98 0.93 1.04 1.20 1.29 1.26 1.14 1.04 1.07 1.23 1.46 1.61 1.57 1.32 0.95 0.61 0.42 0.43 0.56 0.69 0.74 0.65 0.48 0.30 0.19 0.18 0.25 0.37 0.49 0.58 0.63 0.66 0.69 77.5 + 80.0 0.77 0.87 1.05 1.26 1.44 1.53 1.48 1.34 1.20 1.17 1.31 1.59 1.89 2.10 2.20 2.25 2.44 2.89 3.62 4.48 5.23 5.66 5.65 5.29 4.77 4.26 3.87 3.58 3.30 2.95 2.55 2.20 2.00 2.03 2.22 2.43 2.49 2.33 1.97 1.58 1.32 1.28 1.44 1.66 1.80 1.81 1.72 1.65 1.73 1.94 2.19 2.30 2.15 1.73 1.18 0.71 0.45 0.44 0.58 0.72 0.73 0.58 0.35 0.15 0.07 0.12 0.27 0.45 0.60 0.69 0.72 0.73 0.77 0.87 1.05 1.26 1.44 1.53 1.48 1.34 1.20 1.17 1.31 1.59 1.89 2.10 2.20 2.25 2.44 2.89 3.62 4.48 5.23 5.66 5.65 5.29 4.77 4.26 3.87 3.58 3.30 2.95 2.55 2.20 2.00 2.03 2.22 2.43 2.49 2.33 1.97 1.58 1.32 1.28 1.44 1.66 1.80 1.81 1.72 1.65 1.73 1.94 2.19 2.30 2.15 1.73 1.18 0.71 0.45 0.44 0.58 0.72 0.73 0.58 0.35 0.15 0.07 0.12 0.27 0.45 0.60 0.69 0.72 0.73 0.77 80.0 + 82.5 0.63 0.74 0.94 1.18 1.37 1.44 1.35 1.16 1.00 0.98 1.16 1.47 1.79 1.97 1.98 1.94 2.06 2.51 3.31 4.28 5.14 5.63 5.61 5.19 4.58 4.00 3.57 3.26 2.98 2.62 2.21 1.85 1.67 1.75 2.02 2.32 2.44 2.30 1.94 1.54 1.29 1.28 1.49 1.77 1.95 1.99 1.93 1.92 2.07 2.35 2.63 2.70 2.42 1.83 1.11 0.50 0.20 0.21 0.40 0.57 0.58 0.41 0.15 0.00 0.00 0.01 0.24 0.46 0.61 0.66 0.64 0.61 0.63 0.74 0.94 1.18 1.37 1.44 1.35 1.16 1.00 0.98 1.16 1.47 1.79 1.97 1.98 1.94 2.06 2.51 3.31 4.28 5.14 5.63 5.61 5.19 4.58 4.00 3.57 3.26 2.98 2.62 2.21 1.85 1.67 1.75 2.02 2.32 2.44 2.30 1.94 1.54 1.29 1.28 1.49 1.77 1.95 1.99 1.93 1.92 2.07 2.35 2.63 2.70 2.42 1.83 1.11 0.50 0.20 0.21 0.40 0.57 0.58 0.41 0.15 0.00 0.00 0.01 0.24 0.46 0.61 0.66 0.64 0.61 0.63 82.5 + 85.0 0.30 0.41 0.63 0.90 1.10 1.15 1.02 0.80 0.61 0.59 0.79 1.12 1.41 1.51 1.41 1.24 1.26 1.66 2.48 3.51 4.43 4.94 4.92 4.46 3.81 3.21 2.80 2.53 2.27 1.93 1.52 1.17 1.02 1.14 1.48 1.83 1.99 1.86 1.51 1.12 0.89 0.92 1.18 1.50 1.72 1.79 1.78 1.84 2.08 2.46 2.78 2.82 2.43 1.69 0.82 0.12 0.00 0.00 0.12 0.36 0.39 0.21 0.00 0.00 0.00 0.00 0.17 0.40 0.52 0.50 0.40 0.31 0.30 0.41 0.63 0.90 1.10 1.15 1.02 0.80 0.61 0.59 0.79 1.12 1.41 1.51 1.41 1.24 1.26 1.66 2.48 3.51 4.43 4.94 4.92 4.46 3.81 3.21 2.80 2.53 2.27 1.93 1.52 1.17 1.02 1.14 1.48 1.83 1.99 1.86 1.51 1.12 0.89 0.92 1.18 1.50 1.72 1.79 1.78 1.84 2.08 2.46 2.78 2.82 2.43 1.69 0.82 0.12 0.00 0.00 0.12 0.36 0.39 0.21 0.00 0.00 0.00 0.00 0.17 0.40 0.52 0.50 0.40 0.31 0.30 85.0 + 87.5 0.00 0.06 0.29 0.56 0.75 0.78 0.63 0.37 0.17 0.15 0.34 0.66 0.90 0.92 0.71 0.43 0.35 0.71 1.51 2.55 3.50 4.01 3.99 3.53 2.89 2.34 1.98 1.77 1.57 1.26 0.86 0.52 0.40 0.56 0.93 1.30 1.47 1.34 0.98 0.59 0.39 0.46 0.76 1.11 1.36 1.46 1.52 1.68 2.03 2.51 2.88 2.91 2.44 1.59 0.62 0.00 0.00 0.00 0.00 0.27 0.32 0.14 0.00 0.00 0.00 0.00 0.16 0.38 0.44 0.35 0.17 0.01 0.00 0.06 0.29 0.56 0.75 0.78 0.63 0.37 0.17 0.15 0.34 0.66 0.90 0.92 0.71 0.43 0.35 0.71 1.51 2.55 3.50 4.01 3.99 3.53 2.89 2.34 1.98 1.77 1.57 1.26 0.86 0.52 0.40 0.56 0.93 1.30 1.47 1.34 0.98 0.59 0.39 0.46 0.76 1.11 1.36 1.46 1.52 1.68 2.03 2.51 2.88 2.91 2.44 1.59 0.62 0.00 0.00 0.00 0.00 0.27 0.32 0.14 0.00 0.00 0.00 0.00 0.16 0.38 0.44 0.35 0.17 0.01 0.00 87.5 + 90.0 0.00 0.00 0.11 0.35 0.51 0.50 0.31 0.03 0.00 0.00 0.00 0.29 0.49 0.46 0.18 0.00 0.00 0.04 0.82 1.84 2.76 3.27 3.24 2.82 2.25 1.78 1.51 1.38 1.23 0.95 0.58 0.26 0.15 0.34 0.72 1.09 1.24 1.09 0.72 0.34 0.15 0.26 0.58 0.95 1.23 1.38 1.51 1.78 2.25 2.82 3.24 3.27 2.76 1.84 0.82 0.04 0.00 0.00 0.18 0.46 0.49 0.29 0.00 0.00 0.00 0.03 0.31 0.50 0.51 0.35 0.11 0.00 0.00 0.00 0.11 0.35 0.51 0.50 0.31 0.03 0.00 0.00 0.00 0.29 0.49 0.46 0.18 0.00 0.00 0.04 0.82 1.84 2.76 3.27 3.24 2.82 2.25 1.78 1.51 1.38 1.23 0.95 0.58 0.26 0.15 0.34 0.72 1.09 1.24 1.09 0.72 0.34 0.15 0.26 0.58 0.95 1.23 1.38 1.51 1.78 2.25 2.82 3.24 3.27 2.76 1.84 0.82 0.04 0.00 0.00 0.18 0.46 0.49 0.29 0.00 0.00 0.00 0.03 0.31 0.50 0.51 0.35 0.11 0.00 0.00 90.0 + + 42.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.22 ) PHI2 = 43. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.0 + 2.5 0.00 0.00 0.00 0.00 0.10 0.28 0.37 0.39 0.38 0.40 0.49 0.64 0.84 1.05 1.27 1.51 1.76 2.00 2.18 2.27 2.22 2.07 1.85 1.61 1.38 1.15 0.93 0.73 0.56 0.45 0.40 0.39 0.35 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.35 0.39 0.40 0.45 0.56 0.73 0.93 1.15 1.38 1.62 1.86 2.08 2.23 2.27 2.19 2.01 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.40 0.37 0.38 0.37 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.10 0.28 0.37 0.39 0.38 0.40 0.49 0.64 0.84 1.05 1.27 1.51 1.76 2.00 2.18 2.27 2.22 2.07 1.85 1.61 1.38 1.15 0.93 0.73 0.56 0.45 0.40 0.39 0.35 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.35 0.39 0.40 0.45 0.56 0.73 0.93 1.15 1.38 1.62 1.86 2.08 2.23 2.27 2.19 2.01 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.40 0.37 0.38 0.37 0.28 0.09 0.00 0.00 2.5 + 5.0 0.00 0.00 0.00 0.12 0.31 0.44 0.49 0.45 0.38 0.35 0.39 0.50 0.67 0.88 1.12 1.39 1.68 1.97 2.20 2.34 2.35 2.23 2.02 1.77 1.51 1.25 1.02 0.81 0.65 0.55 0.50 0.49 0.45 0.35 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.35 0.44 0.48 0.49 0.54 0.65 0.82 1.03 1.27 1.52 1.78 2.04 2.25 2.38 2.37 2.23 1.99 1.69 1.40 1.13 0.89 0.68 0.50 0.38 0.34 0.36 0.43 0.47 0.43 0.31 0.12 0.00 0.00 0.00 0.12 0.31 0.44 0.49 0.45 0.38 0.35 0.39 0.50 0.67 0.88 1.12 1.39 1.68 1.97 2.20 2.34 2.35 2.23 2.02 1.77 1.51 1.25 1.02 0.81 0.65 0.55 0.50 0.49 0.45 0.35 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.35 0.44 0.48 0.49 0.54 0.65 0.82 1.03 1.27 1.52 1.78 2.04 2.25 2.38 2.37 2.23 1.99 1.69 1.40 1.13 0.89 0.68 0.50 0.38 0.34 0.36 0.43 0.47 0.43 0.31 0.12 0.00 5.0 + 7.5 0.37 0.32 0.37 0.48 0.62 0.70 0.69 0.60 0.48 0.38 0.36 0.42 0.55 0.75 0.99 1.27 1.59 1.92 2.22 2.43 2.50 2.44 2.25 2.00 1.72 1.46 1.22 1.03 0.89 0.81 0.78 0.78 0.75 0.66 0.52 0.34 0.20 0.15 0.21 0.36 0.53 0.67 0.74 0.77 0.78 0.82 0.91 1.06 1.26 1.49 1.76 2.04 2.30 2.49 2.56 2.49 2.27 1.96 1.61 1.28 0.99 0.75 0.55 0.41 0.34 0.35 0.44 0.56 0.66 0.68 0.61 0.49 0.37 0.32 0.37 0.48 0.62 0.70 0.69 0.60 0.48 0.38 0.36 0.42 0.55 0.75 0.99 1.27 1.59 1.92 2.22 2.43 2.50 2.44 2.25 2.00 1.72 1.46 1.22 1.03 0.89 0.81 0.78 0.78 0.75 0.66 0.52 0.34 0.20 0.15 0.21 0.36 0.53 0.67 0.74 0.77 0.78 0.82 0.91 1.06 1.26 1.49 1.76 2.04 2.30 2.49 2.56 2.49 2.27 1.96 1.61 1.28 0.99 0.75 0.55 0.41 0.34 0.35 0.44 0.56 0.66 0.68 0.61 0.49 0.37 7.5 + 10.0 0.80 0.76 0.79 0.86 0.95 0.99 0.96 0.85 0.70 0.56 0.48 0.49 0.57 0.73 0.95 1.21 1.53 1.87 2.21 2.47 2.62 2.62 2.49 2.26 2.00 1.74 1.52 1.37 1.28 1.24 1.25 1.28 1.27 1.21 1.10 0.97 0.87 0.84 0.89 1.01 1.15 1.24 1.28 1.28 1.27 1.28 1.34 1.45 1.61 1.82 2.07 2.34 2.57 2.71 2.71 2.56 2.27 1.92 1.55 1.21 0.94 0.72 0.57 0.47 0.45 0.51 0.64 0.79 0.91 0.97 0.96 0.88 0.80 0.76 0.79 0.86 0.95 0.99 0.96 0.85 0.70 0.56 0.48 0.49 0.57 0.73 0.95 1.21 1.53 1.87 2.21 2.47 2.62 2.62 2.49 2.26 2.00 1.74 1.52 1.37 1.28 1.24 1.25 1.28 1.27 1.21 1.10 0.97 0.87 0.84 0.89 1.01 1.15 1.24 1.28 1.28 1.27 1.28 1.34 1.45 1.61 1.82 2.07 2.34 2.57 2.71 2.71 2.56 2.27 1.92 1.55 1.21 0.94 0.72 0.57 0.47 0.45 0.51 0.64 0.79 0.91 0.97 0.96 0.88 0.80 10.0 + 12.5 1.15 1.12 1.13 1.17 1.23 1.25 1.22 1.12 0.98 0.84 0.74 0.70 0.74 0.84 1.00 1.21 1.48 1.79 2.13 2.43 2.64 2.72 2.66 2.48 2.25 2.03 1.85 1.74 1.70 1.73 1.78 1.85 1.88 1.86 1.79 1.70 1.64 1.63 1.68 1.77 1.87 1.92 1.92 1.89 1.85 1.82 1.83 1.89 2.00 2.17 2.38 2.59 2.76 2.83 2.75 2.52 2.20 1.83 1.48 1.19 0.97 0.81 0.72 0.67 0.70 0.78 0.91 1.05 1.17 1.24 1.24 1.20 1.15 1.12 1.13 1.17 1.23 1.25 1.22 1.12 0.98 0.84 0.74 0.70 0.74 0.84 1.00 1.21 1.48 1.79 2.13 2.43 2.64 2.72 2.66 2.48 2.25 2.03 1.85 1.74 1.70 1.73 1.78 1.85 1.88 1.86 1.79 1.70 1.64 1.63 1.68 1.77 1.87 1.92 1.92 1.89 1.85 1.82 1.83 1.89 2.00 2.17 2.38 2.59 2.76 2.83 2.75 2.52 2.20 1.83 1.48 1.19 0.97 0.81 0.72 0.67 0.70 0.78 0.91 1.05 1.17 1.24 1.24 1.20 1.15 12.5 + 15.0 1.36 1.34 1.32 1.33 1.35 1.37 1.37 1.31 1.22 1.10 1.00 0.94 0.94 0.98 1.07 1.20 1.39 1.65 1.96 2.27 2.54 2.69 2.70 2.59 2.41 2.22 2.07 1.99 1.99 2.06 2.16 2.26 2.34 2.36 2.34 2.29 2.26 2.27 2.32 2.39 2.44 2.45 2.42 2.34 2.26 2.20 2.18 2.20 2.28 2.41 2.57 2.73 2.82 2.79 2.63 2.35 2.00 1.66 1.37 1.15 1.01 0.93 0.90 0.90 0.95 1.04 1.14 1.24 1.32 1.37 1.39 1.38 1.36 1.34 1.32 1.33 1.35 1.37 1.37 1.31 1.22 1.10 1.00 0.94 0.94 0.98 1.07 1.20 1.39 1.65 1.96 2.27 2.54 2.69 2.70 2.59 2.41 2.22 2.07 1.99 1.99 2.06 2.16 2.26 2.34 2.36 2.34 2.29 2.26 2.27 2.32 2.39 2.44 2.45 2.42 2.34 2.26 2.20 2.18 2.20 2.28 2.41 2.57 2.73 2.82 2.79 2.63 2.35 2.00 1.66 1.37 1.15 1.01 0.93 0.90 0.90 0.95 1.04 1.14 1.24 1.32 1.37 1.39 1.38 1.36 15.0 + 17.5 1.39 1.37 1.34 1.31 1.29 1.29 1.31 1.30 1.27 1.20 1.12 1.06 1.03 1.03 1.06 1.12 1.24 1.43 1.70 2.02 2.31 2.52 2.61 2.56 2.41 2.24 2.10 2.02 2.03 2.11 2.23 2.37 2.48 2.55 2.58 2.58 2.58 2.60 2.64 2.69 2.70 2.67 2.59 2.48 2.37 2.29 2.25 2.27 2.35 2.46 2.59 2.68 2.70 2.59 2.36 2.04 1.69 1.39 1.17 1.04 0.97 0.96 0.97 1.00 1.06 1.13 1.19 1.24 1.28 1.31 1.35 1.38 1.39 1.37 1.34 1.31 1.29 1.29 1.31 1.30 1.27 1.20 1.12 1.06 1.03 1.03 1.06 1.12 1.24 1.43 1.70 2.02 2.31 2.52 2.61 2.56 2.41 2.24 2.10 2.02 2.03 2.11 2.23 2.37 2.48 2.55 2.58 2.58 2.58 2.60 2.64 2.69 2.70 2.67 2.59 2.48 2.37 2.29 2.25 2.27 2.35 2.46 2.59 2.68 2.70 2.59 2.36 2.04 1.69 1.39 1.17 1.04 0.97 0.96 0.97 1.00 1.06 1.13 1.19 1.24 1.28 1.31 1.35 1.38 1.39 17.5 + 20.0 1.24 1.24 1.19 1.10 1.03 1.01 1.02 1.06 1.07 1.05 1.00 0.95 0.92 0.90 0.90 0.93 1.01 1.15 1.39 1.69 2.01 2.26 2.39 2.39 2.28 2.11 1.96 1.86 1.85 1.91 2.04 2.20 2.35 2.48 2.56 2.61 2.64 2.68 2.71 2.73 2.70 2.61 2.48 2.33 2.20 2.11 2.09 2.12 2.21 2.32 2.43 2.48 2.42 2.25 1.97 1.63 1.31 1.05 0.89 0.81 0.80 0.81 0.85 0.89 0.94 0.98 1.00 1.01 1.02 1.05 1.11 1.19 1.24 1.24 1.19 1.10 1.03 1.01 1.02 1.06 1.07 1.05 1.00 0.95 0.92 0.90 0.90 0.93 1.01 1.15 1.39 1.69 2.01 2.26 2.39 2.39 2.28 2.11 1.96 1.86 1.85 1.91 2.04 2.20 2.35 2.48 2.56 2.61 2.64 2.68 2.71 2.73 2.70 2.61 2.48 2.33 2.20 2.11 2.09 2.12 2.21 2.32 2.43 2.48 2.42 2.25 1.97 1.63 1.31 1.05 0.89 0.81 0.80 0.81 0.85 0.89 0.94 0.98 1.00 1.01 1.02 1.05 1.11 1.19 1.24 20.0 + 22.5 0.97 0.98 0.90 0.77 0.64 0.58 0.59 0.64 0.69 0.71 0.69 0.66 0.64 0.63 0.64 0.67 0.73 0.86 1.07 1.35 1.66 1.93 2.09 2.13 2.05 1.91 1.76 1.65 1.61 1.66 1.79 1.97 2.17 2.36 2.51 2.62 2.69 2.74 2.77 2.75 2.67 2.53 2.34 2.15 1.99 1.89 1.86 1.90 1.99 2.09 2.16 2.16 2.05 1.83 1.53 1.20 0.90 0.69 0.57 0.52 0.51 0.52 0.55 0.59 0.62 0.64 0.63 0.60 0.59 0.64 0.74 0.87 0.97 0.98 0.90 0.77 0.64 0.58 0.59 0.64 0.69 0.71 0.69 0.66 0.64 0.63 0.64 0.67 0.73 0.86 1.07 1.35 1.66 1.93 2.09 2.13 2.05 1.91 1.76 1.65 1.61 1.66 1.79 1.97 2.17 2.36 2.51 2.62 2.69 2.74 2.77 2.75 2.67 2.53 2.34 2.15 1.99 1.89 1.86 1.90 1.99 2.09 2.16 2.16 2.05 1.83 1.53 1.20 0.90 0.69 0.57 0.52 0.51 0.52 0.55 0.59 0.62 0.64 0.63 0.60 0.59 0.64 0.74 0.87 0.97 22.5 + 25.0 0.62 0.65 0.56 0.39 0.22 0.12 0.12 0.19 0.26 0.31 0.32 0.30 0.29 0.31 0.34 0.39 0.47 0.59 0.77 1.02 1.30 1.56 1.74 1.82 1.79 1.70 1.60 1.52 1.51 1.57 1.72 1.93 2.17 2.41 2.63 2.81 2.93 3.01 3.02 2.97 2.85 2.66 2.43 2.19 1.99 1.85 1.78 1.78 1.82 1.87 1.87 1.81 1.65 1.39 1.09 0.79 0.54 0.36 0.27 0.22 0.19 0.19 0.20 0.22 0.25 0.25 0.21 0.16 0.14 0.18 0.31 0.48 0.62 0.65 0.56 0.39 0.22 0.12 0.12 0.19 0.26 0.31 0.32 0.30 0.29 0.31 0.34 0.39 0.47 0.59 0.77 1.02 1.30 1.56 1.74 1.82 1.79 1.70 1.60 1.52 1.51 1.57 1.72 1.93 2.17 2.41 2.63 2.81 2.93 3.01 3.02 2.97 2.85 2.66 2.43 2.19 1.99 1.85 1.78 1.78 1.82 1.87 1.87 1.81 1.65 1.39 1.09 0.79 0.54 0.36 0.27 0.22 0.19 0.19 0.20 0.22 0.25 0.25 0.21 0.16 0.14 0.18 0.31 0.48 0.62 25.0 + 27.5 0.27 0.32 0.22 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.04 0.09 0.17 0.26 0.36 0.51 0.71 0.95 1.18 1.37 1.49 1.54 1.54 1.54 1.55 1.60 1.72 1.90 2.13 2.40 2.69 2.97 3.20 3.37 3.47 3.48 3.42 3.27 3.05 2.79 2.52 2.27 2.07 1.92 1.83 1.77 1.71 1.62 1.46 1.24 0.97 0.68 0.43 0.23 0.11 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.27 0.32 0.22 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.04 0.09 0.17 0.26 0.36 0.51 0.71 0.95 1.18 1.37 1.49 1.54 1.54 1.54 1.55 1.60 1.72 1.90 2.13 2.40 2.69 2.97 3.20 3.37 3.47 3.48 3.42 3.27 3.05 2.79 2.52 2.27 2.07 1.92 1.83 1.77 1.71 1.62 1.46 1.24 0.97 0.68 0.43 0.23 0.11 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.27 27.5 + 30.0 0.02 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.10 0.19 0.30 0.44 0.62 0.82 1.01 1.17 1.30 1.41 1.52 1.65 1.80 1.98 2.19 2.43 2.71 3.01 3.30 3.56 3.76 3.88 3.91 3.84 3.69 3.48 3.22 2.95 2.67 2.41 2.17 1.97 1.78 1.59 1.39 1.16 0.89 0.61 0.35 0.15 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.10 0.19 0.30 0.44 0.62 0.82 1.01 1.17 1.30 1.41 1.52 1.65 1.80 1.98 2.19 2.43 2.71 3.01 3.30 3.56 3.76 3.88 3.91 3.84 3.69 3.48 3.22 2.95 2.67 2.41 2.17 1.97 1.78 1.59 1.39 1.16 0.89 0.61 0.35 0.15 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 30.0 + 32.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.13 0.24 0.38 0.54 0.72 0.90 1.07 1.26 1.47 1.69 1.92 2.15 2.36 2.58 2.81 3.06 3.33 3.59 3.79 3.92 3.96 3.90 3.78 3.61 3.40 3.17 2.90 2.62 2.32 2.03 1.74 1.47 1.20 0.92 0.63 0.36 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.13 0.24 0.38 0.54 0.72 0.90 1.07 1.26 1.47 1.69 1.92 2.15 2.36 2.58 2.81 3.06 3.33 3.59 3.79 3.92 3.96 3.90 3.78 3.61 3.40 3.17 2.90 2.62 2.32 2.03 1.74 1.47 1.20 0.92 0.63 0.36 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 32.5 + 35.0 0.06 0.11 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.15 0.28 0.43 0.58 0.74 0.90 1.10 1.33 1.59 1.84 2.06 2.23 2.37 2.52 2.69 2.90 3.11 3.30 3.42 3.46 3.42 3.34 3.23 3.10 2.95 2.75 2.50 2.20 1.89 1.58 1.30 1.04 0.78 0.52 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.08 0.04 0.00 0.00 0.00 0.00 0.00 0.06 0.11 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.15 0.28 0.43 0.58 0.74 0.90 1.10 1.33 1.59 1.84 2.06 2.23 2.37 2.52 2.69 2.90 3.11 3.30 3.42 3.46 3.42 3.34 3.23 3.10 2.95 2.75 2.50 2.20 1.89 1.58 1.30 1.04 0.78 0.52 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.08 0.04 0.00 0.00 0.00 0.00 0.00 0.06 35.0 + 37.5 0.34 0.38 0.35 0.27 0.17 0.10 0.10 0.13 0.16 0.17 0.13 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.06 0.20 0.36 0.52 0.64 0.73 0.82 0.95 1.13 1.35 1.56 1.72 1.81 1.84 1.87 1.95 2.09 2.26 2.42 2.52 2.54 2.50 2.44 2.39 2.36 2.31 2.22 2.04 1.81 1.55 1.31 1.11 0.93 0.76 0.57 0.36 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.13 0.24 0.30 0.29 0.22 0.15 0.11 0.15 0.24 0.34 0.38 0.35 0.27 0.17 0.10 0.10 0.13 0.16 0.17 0.13 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.06 0.20 0.36 0.52 0.64 0.73 0.82 0.95 1.13 1.35 1.56 1.72 1.81 1.84 1.87 1.95 2.09 2.26 2.42 2.52 2.54 2.50 2.44 2.39 2.36 2.31 2.22 2.04 1.81 1.55 1.31 1.11 0.93 0.76 0.57 0.36 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.13 0.24 0.30 0.29 0.22 0.15 0.11 0.15 0.24 0.34 37.5 + 40.0 0.64 0.69 0.69 0.63 0.55 0.47 0.41 0.37 0.34 0.32 0.29 0.25 0.20 0.13 0.05 0.00 0.00 0.01 0.15 0.36 0.58 0.75 0.83 0.83 0.81 0.83 0.92 1.06 1.20 1.27 1.26 1.18 1.11 1.12 1.21 1.37 1.51 1.58 1.56 1.49 1.42 1.40 1.44 1.50 1.51 1.44 1.29 1.13 0.99 0.91 0.88 0.84 0.74 0.57 0.35 0.12 0.00 0.00 0.00 0.00 0.04 0.13 0.23 0.33 0.42 0.48 0.50 0.49 0.46 0.46 0.49 0.57 0.64 0.69 0.69 0.63 0.55 0.47 0.41 0.37 0.34 0.32 0.29 0.25 0.20 0.13 0.05 0.00 0.00 0.01 0.15 0.36 0.58 0.75 0.83 0.83 0.81 0.83 0.92 1.06 1.20 1.27 1.26 1.18 1.11 1.12 1.21 1.37 1.51 1.58 1.56 1.49 1.42 1.40 1.44 1.50 1.51 1.44 1.29 1.13 0.99 0.91 0.88 0.84 0.74 0.57 0.35 0.12 0.00 0.00 0.00 0.00 0.04 0.13 0.23 0.33 0.42 0.48 0.50 0.49 0.46 0.46 0.49 0.57 0.64 40.0 + 42.5 0.81 0.86 0.89 0.88 0.83 0.74 0.64 0.53 0.46 0.44 0.45 0.46 0.44 0.36 0.23 0.08 0.00 0.05 0.24 0.52 0.81 0.99 1.03 0.94 0.81 0.72 0.72 0.80 0.88 0.88 0.78 0.62 0.49 0.47 0.58 0.77 0.92 0.97 0.89 0.75 0.63 0.60 0.67 0.80 0.89 0.90 0.82 0.72 0.67 0.71 0.82 0.91 0.91 0.78 0.54 0.27 0.06 0.00 0.01 0.13 0.27 0.39 0.47 0.51 0.55 0.58 0.62 0.65 0.68 0.70 0.73 0.76 0.81 0.86 0.89 0.88 0.83 0.74 0.64 0.53 0.46 0.44 0.45 0.46 0.44 0.36 0.23 0.08 0.00 0.05 0.24 0.52 0.81 0.99 1.03 0.94 0.81 0.72 0.72 0.80 0.88 0.88 0.78 0.62 0.49 0.47 0.58 0.77 0.92 0.97 0.89 0.75 0.63 0.60 0.67 0.80 0.89 0.90 0.82 0.72 0.67 0.71 0.82 0.91 0.91 0.78 0.54 0.27 0.06 0.00 0.01 0.13 0.27 0.39 0.47 0.51 0.55 0.58 0.62 0.65 0.68 0.70 0.73 0.76 0.81 42.5 + 45.0 0.72 0.76 0.83 0.90 0.91 0.84 0.71 0.57 0.49 0.49 0.58 0.68 0.72 0.64 0.44 0.20 0.04 0.05 0.26 0.58 0.90 1.09 1.08 0.91 0.70 0.55 0.53 0.59 0.65 0.62 0.47 0.27 0.13 0.14 0.32 0.58 0.78 0.82 0.68 0.44 0.23 0.14 0.21 0.37 0.51 0.55 0.48 0.39 0.37 0.47 0.67 0.86 0.95 0.86 0.61 0.31 0.09 0.02 0.12 0.33 0.53 0.66 0.69 0.64 0.58 0.56 0.60 0.67 0.73 0.76 0.75 0.72 0.72 0.76 0.83 0.90 0.91 0.84 0.71 0.57 0.49 0.49 0.58 0.68 0.72 0.64 0.44 0.20 0.04 0.05 0.26 0.58 0.90 1.09 1.08 0.91 0.70 0.55 0.53 0.59 0.65 0.62 0.47 0.27 0.13 0.14 0.32 0.58 0.78 0.82 0.68 0.44 0.23 0.14 0.21 0.37 0.51 0.55 0.48 0.39 0.37 0.47 0.67 0.86 0.95 0.86 0.61 0.31 0.09 0.02 0.12 0.33 0.53 0.66 0.69 0.64 0.58 0.56 0.60 0.67 0.73 0.76 0.75 0.72 0.72 45.0 + 47.5 0.38 0.41 0.52 0.67 0.76 0.74 0.62 0.48 0.40 0.47 0.65 0.87 0.98 0.91 0.65 0.31 0.05 0.00 0.16 0.49 0.80 0.96 0.90 0.68 0.44 0.29 0.30 0.41 0.49 0.46 0.30 0.09 0.00 0.05 0.33 0.68 0.95 0.99 0.79 0.46 0.15 0.00 0.04 0.19 0.34 0.36 0.27 0.13 0.07 0.16 0.39 0.64 0.79 0.74 0.52 0.23 0.04 0.03 0.22 0.52 0.78 0.90 0.85 0.69 0.52 0.43 0.45 0.54 0.62 0.62 0.55 0.44 0.38 0.41 0.52 0.67 0.76 0.74 0.62 0.48 0.40 0.47 0.65 0.87 0.98 0.91 0.65 0.31 0.05 0.00 0.16 0.49 0.80 0.96 0.90 0.68 0.44 0.29 0.30 0.41 0.49 0.46 0.30 0.09 0.00 0.05 0.33 0.68 0.95 0.99 0.79 0.46 0.15 0.00 0.04 0.19 0.34 0.36 0.27 0.13 0.07 0.16 0.39 0.64 0.79 0.74 0.52 0.23 0.04 0.03 0.22 0.52 0.78 0.90 0.85 0.69 0.52 0.43 0.45 0.54 0.62 0.62 0.55 0.44 0.38 47.5 + 50.0 0.00 0.00 0.09 0.32 0.49 0.52 0.42 0.28 0.24 0.37 0.66 0.99 1.19 1.13 0.83 0.40 0.03 0.00 0.00 0.29 0.56 0.66 0.55 0.30 0.06 0.00 0.04 0.22 0.36 0.36 0.19 0.00 0.00 0.04 0.41 0.86 1.18 1.24 1.00 0.59 0.20 0.00 0.00 0.14 0.27 0.27 0.11 0.00 0.00 0.00 0.04 0.31 0.50 0.50 0.31 0.08 0.00 0.02 0.31 0.68 0.99 1.08 0.94 0.66 0.38 0.22 0.22 0.32 0.41 0.40 0.26 0.06 0.00 0.00 0.09 0.32 0.49 0.52 0.42 0.28 0.24 0.37 0.66 0.99 1.19 1.13 0.83 0.40 0.03 0.00 0.00 0.29 0.56 0.66 0.55 0.30 0.06 0.00 0.04 0.22 0.36 0.36 0.19 0.00 0.00 0.04 0.41 0.86 1.18 1.24 1.00 0.59 0.20 0.00 0.00 0.14 0.27 0.27 0.11 0.00 0.00 0.00 0.04 0.31 0.50 0.50 0.31 0.08 0.00 0.02 0.31 0.68 0.99 1.08 0.94 0.66 0.38 0.22 0.22 0.32 0.41 0.40 0.26 0.06 0.00 50.0 + 52.5 0.00 0.00 0.00 0.02 0.24 0.30 0.21 0.07 0.05 0.23 0.61 1.03 1.30 1.28 0.96 0.47 0.04 0.00 0.00 0.10 0.31 0.36 0.21 0.00 0.00 0.00 0.00 0.08 0.27 0.28 0.11 0.00 0.00 0.02 0.43 0.93 1.29 1.35 1.10 0.66 0.23 0.00 0.00 0.12 0.24 0.21 0.01 0.00 0.00 0.00 0.00 0.03 0.24 0.28 0.15 0.00 0.00 0.04 0.40 0.83 1.13 1.18 0.96 0.57 0.20 0.00 0.00 0.13 0.25 0.23 0.04 0.00 0.00 0.00 0.00 0.02 0.24 0.30 0.21 0.07 0.05 0.23 0.61 1.03 1.30 1.28 0.96 0.47 0.04 0.00 0.00 0.10 0.31 0.36 0.21 0.00 0.00 0.00 0.00 0.08 0.27 0.28 0.11 0.00 0.00 0.02 0.43 0.93 1.29 1.35 1.10 0.66 0.23 0.00 0.00 0.12 0.24 0.21 0.01 0.00 0.00 0.00 0.00 0.03 0.24 0.28 0.15 0.00 0.00 0.04 0.40 0.83 1.13 1.18 0.96 0.57 0.20 0.00 0.00 0.13 0.25 0.23 0.04 0.00 0.00 52.5 + 55.0 0.00 0.00 0.00 0.00 0.15 0.20 0.09 0.00 0.00 0.11 0.53 1.01 1.33 1.35 1.04 0.55 0.09 0.00 0.00 0.04 0.20 0.20 0.02 0.00 0.00 0.00 0.00 0.05 0.25 0.27 0.10 0.00 0.00 0.00 0.39 0.88 1.24 1.31 1.06 0.64 0.23 0.00 0.00 0.12 0.23 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.22 0.12 0.00 0.00 0.14 0.52 0.95 1.23 1.22 0.93 0.47 0.06 0.00 0.00 0.07 0.23 0.23 0.04 0.00 0.00 0.00 0.00 0.00 0.15 0.20 0.09 0.00 0.00 0.11 0.53 1.01 1.33 1.35 1.04 0.55 0.09 0.00 0.00 0.04 0.20 0.20 0.02 0.00 0.00 0.00 0.00 0.05 0.25 0.27 0.10 0.00 0.00 0.00 0.39 0.88 1.24 1.31 1.06 0.64 0.23 0.00 0.00 0.12 0.23 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.22 0.12 0.00 0.00 0.14 0.52 0.95 1.23 1.22 0.93 0.47 0.06 0.00 0.00 0.07 0.23 0.23 0.04 0.00 0.00 55.0 + 57.5 0.00 0.00 0.00 0.08 0.26 0.27 0.11 0.00 0.00 0.05 0.47 0.95 1.29 1.33 1.05 0.60 0.18 0.00 0.00 0.11 0.23 0.21 0.02 0.00 0.00 0.00 0.00 0.14 0.33 0.34 0.17 0.00 0.00 0.01 0.37 0.80 1.11 1.18 0.97 0.61 0.26 0.07 0.07 0.19 0.30 0.26 0.08 0.00 0.00 0.00 0.00 0.10 0.30 0.35 0.26 0.12 0.10 0.28 0.64 1.03 1.26 1.21 0.89 0.42 0.01 0.00 0.00 0.15 0.38 0.43 0.27 0.00 0.00 0.00 0.00 0.08 0.26 0.27 0.11 0.00 0.00 0.05 0.47 0.95 1.29 1.33 1.05 0.60 0.18 0.00 0.00 0.11 0.23 0.21 0.02 0.00 0.00 0.00 0.00 0.14 0.33 0.34 0.17 0.00 0.00 0.01 0.37 0.80 1.11 1.18 0.97 0.61 0.26 0.07 0.07 0.19 0.30 0.26 0.08 0.00 0.00 0.00 0.00 0.10 0.30 0.35 0.26 0.12 0.10 0.28 0.64 1.03 1.26 1.21 0.89 0.42 0.01 0.00 0.00 0.15 0.38 0.43 0.27 0.00 0.00 57.5 + 60.0 0.16 0.09 0.19 0.37 0.48 0.43 0.24 0.01 0.00 0.07 0.43 0.87 1.18 1.22 0.99 0.59 0.23 0.04 0.06 0.20 0.31 0.29 0.12 0.00 0.00 0.00 0.01 0.27 0.45 0.46 0.31 0.12 0.02 0.11 0.39 0.73 0.98 1.03 0.88 0.60 0.34 0.21 0.22 0.33 0.40 0.37 0.22 0.03 0.00 0.00 0.11 0.34 0.51 0.53 0.42 0.28 0.24 0.38 0.69 1.03 1.22 1.16 0.85 0.42 0.06 0.00 0.05 0.34 0.61 0.71 0.60 0.37 0.16 0.09 0.19 0.37 0.48 0.43 0.24 0.01 0.00 0.07 0.43 0.87 1.18 1.22 0.99 0.59 0.23 0.04 0.06 0.20 0.31 0.29 0.12 0.00 0.00 0.00 0.01 0.27 0.45 0.46 0.31 0.12 0.02 0.11 0.39 0.73 0.98 1.03 0.88 0.60 0.34 0.21 0.22 0.33 0.40 0.37 0.22 0.03 0.00 0.00 0.11 0.34 0.51 0.53 0.42 0.28 0.24 0.38 0.69 1.03 1.22 1.16 0.85 0.42 0.06 0.00 0.05 0.34 0.61 0.71 0.60 0.37 0.16 60.0 + 62.5 0.50 0.43 0.49 0.61 0.67 0.59 0.38 0.15 0.03 0.13 0.42 0.77 1.01 1.03 0.81 0.47 0.17 0.03 0.06 0.20 0.31 0.30 0.17 0.00 0.00 0.00 0.12 0.36 0.52 0.54 0.43 0.28 0.19 0.23 0.42 0.66 0.84 0.88 0.78 0.59 0.42 0.34 0.36 0.43 0.47 0.41 0.28 0.14 0.06 0.12 0.29 0.49 0.61 0.59 0.46 0.30 0.24 0.36 0.62 0.91 1.09 1.06 0.80 0.45 0.16 0.08 0.22 0.51 0.79 0.92 0.86 0.68 0.50 0.43 0.49 0.61 0.67 0.59 0.38 0.15 0.03 0.13 0.42 0.77 1.01 1.03 0.81 0.47 0.17 0.03 0.06 0.20 0.31 0.30 0.17 0.00 0.00 0.00 0.12 0.36 0.52 0.54 0.43 0.28 0.19 0.23 0.42 0.66 0.84 0.88 0.78 0.59 0.42 0.34 0.36 0.43 0.47 0.41 0.28 0.14 0.06 0.12 0.29 0.49 0.61 0.59 0.46 0.30 0.24 0.36 0.62 0.91 1.09 1.06 0.80 0.45 0.16 0.08 0.22 0.51 0.79 0.92 0.86 0.68 0.50 62.5 + 65.0 0.63 0.57 0.62 0.70 0.74 0.67 0.48 0.27 0.15 0.20 0.40 0.65 0.81 0.78 0.58 0.28 0.03 0.00 0.00 0.11 0.22 0.23 0.14 0.00 0.00 0.00 0.14 0.34 0.50 0.54 0.47 0.35 0.28 0.30 0.41 0.56 0.67 0.69 0.62 0.50 0.40 0.36 0.38 0.42 0.41 0.33 0.19 0.07 0.03 0.10 0.26 0.42 0.51 0.46 0.31 0.16 0.09 0.19 0.43 0.70 0.89 0.90 0.73 0.47 0.25 0.20 0.33 0.57 0.81 0.94 0.91 0.77 0.63 0.57 0.62 0.70 0.74 0.67 0.48 0.27 0.15 0.20 0.40 0.65 0.81 0.78 0.58 0.28 0.03 0.00 0.00 0.11 0.22 0.23 0.14 0.00 0.00 0.00 0.14 0.34 0.50 0.54 0.47 0.35 0.28 0.30 0.41 0.56 0.67 0.69 0.62 0.50 0.40 0.36 0.38 0.42 0.41 0.33 0.19 0.07 0.03 0.10 0.26 0.42 0.51 0.46 0.31 0.16 0.09 0.19 0.43 0.70 0.89 0.90 0.73 0.47 0.25 0.20 0.33 0.57 0.81 0.94 0.91 0.77 0.63 65.0 + 67.5 0.58 0.54 0.58 0.66 0.70 0.66 0.53 0.36 0.26 0.27 0.39 0.55 0.64 0.58 0.39 0.13 0.00 0.00 0.00 0.09 0.21 0.24 0.17 0.06 0.00 0.03 0.17 0.34 0.47 0.51 0.47 0.38 0.32 0.32 0.39 0.48 0.54 0.52 0.45 0.35 0.29 0.27 0.29 0.30 0.26 0.16 0.01 0.00 0.00 0.00 0.09 0.24 0.30 0.24 0.09 0.00 0.00 0.00 0.21 0.48 0.68 0.73 0.63 0.45 0.30 0.25 0.34 0.52 0.70 0.80 0.78 0.68 0.58 0.54 0.58 0.66 0.70 0.66 0.53 0.36 0.26 0.27 0.39 0.55 0.64 0.58 0.39 0.13 0.00 0.00 0.00 0.09 0.21 0.24 0.17 0.06 0.00 0.03 0.17 0.34 0.47 0.51 0.47 0.38 0.32 0.32 0.39 0.48 0.54 0.52 0.45 0.35 0.29 0.27 0.29 0.30 0.26 0.16 0.01 0.00 0.00 0.00 0.09 0.24 0.30 0.24 0.09 0.00 0.00 0.00 0.21 0.48 0.68 0.73 0.63 0.45 0.30 0.25 0.34 0.52 0.70 0.80 0.78 0.68 0.58 67.5 + 70.0 0.48 0.47 0.52 0.61 0.67 0.67 0.59 0.47 0.38 0.37 0.45 0.55 0.60 0.54 0.38 0.18 0.04 0.04 0.17 0.37 0.54 0.60 0.54 0.42 0.33 0.33 0.41 0.53 0.63 0.64 0.58 0.49 0.44 0.44 0.50 0.57 0.58 0.53 0.42 0.30 0.22 0.20 0.23 0.24 0.20 0.08 0.00 0.00 0.00 0.00 0.05 0.19 0.23 0.15 0.00 0.00 0.00 0.00 0.10 0.35 0.55 0.61 0.55 0.42 0.30 0.26 0.32 0.44 0.56 0.63 0.62 0.55 0.48 0.47 0.52 0.61 0.67 0.67 0.59 0.47 0.38 0.37 0.45 0.55 0.60 0.54 0.38 0.18 0.04 0.04 0.17 0.37 0.54 0.60 0.54 0.42 0.33 0.33 0.41 0.53 0.63 0.64 0.58 0.49 0.44 0.44 0.50 0.57 0.58 0.53 0.42 0.30 0.22 0.20 0.23 0.24 0.20 0.08 0.00 0.00 0.00 0.00 0.05 0.19 0.23 0.15 0.00 0.00 0.00 0.00 0.10 0.35 0.55 0.61 0.55 0.42 0.30 0.26 0.32 0.44 0.56 0.63 0.62 0.55 0.48 70.0 + 72.5 0.52 0.53 0.60 0.70 0.78 0.80 0.74 0.64 0.56 0.54 0.60 0.70 0.77 0.75 0.64 0.52 0.46 0.56 0.80 1.10 1.35 1.46 1.41 1.25 1.10 1.01 1.02 1.07 1.10 1.05 0.94 0.82 0.76 0.78 0.87 0.95 0.95 0.85 0.68 0.49 0.37 0.34 0.38 0.43 0.41 0.31 0.17 0.07 0.07 0.19 0.37 0.52 0.54 0.42 0.21 0.03 0.00 0.02 0.21 0.42 0.57 0.60 0.53 0.41 0.32 0.29 0.34 0.44 0.53 0.59 0.59 0.55 0.52 0.53 0.60 0.70 0.78 0.80 0.74 0.64 0.56 0.54 0.60 0.70 0.77 0.75 0.64 0.52 0.46 0.56 0.80 1.10 1.35 1.46 1.41 1.25 1.10 1.01 1.02 1.07 1.10 1.05 0.94 0.82 0.76 0.78 0.87 0.95 0.95 0.85 0.68 0.49 0.37 0.34 0.38 0.43 0.41 0.31 0.17 0.07 0.07 0.19 0.37 0.52 0.54 0.42 0.21 0.03 0.00 0.02 0.21 0.42 0.57 0.60 0.53 0.41 0.32 0.29 0.34 0.44 0.53 0.59 0.59 0.55 0.52 72.5 + 75.0 0.73 0.77 0.85 0.96 1.05 1.07 1.01 0.89 0.79 0.76 0.84 0.98 1.11 1.16 1.13 1.08 1.12 1.33 1.71 2.17 2.55 2.73 2.68 2.47 2.21 2.01 1.92 1.88 1.82 1.70 1.52 1.35 1.28 1.33 1.47 1.60 1.62 1.49 1.24 0.97 0.79 0.74 0.81 0.90 0.94 0.87 0.77 0.70 0.75 0.92 1.14 1.28 1.25 1.04 0.74 0.46 0.32 0.35 0.49 0.65 0.73 0.69 0.57 0.44 0.36 0.36 0.45 0.56 0.66 0.73 0.74 0.73 0.73 0.77 0.85 0.96 1.05 1.07 1.01 0.89 0.79 0.76 0.84 0.98 1.11 1.16 1.13 1.08 1.12 1.33 1.71 2.17 2.55 2.73 2.68 2.47 2.21 2.01 1.92 1.88 1.82 1.70 1.52 1.35 1.28 1.33 1.47 1.60 1.62 1.49 1.24 0.97 0.79 0.74 0.81 0.90 0.94 0.87 0.77 0.70 0.75 0.92 1.14 1.28 1.25 1.04 0.74 0.46 0.32 0.35 0.49 0.65 0.73 0.69 0.57 0.44 0.36 0.36 0.45 0.56 0.66 0.73 0.74 0.73 0.73 75.0 + 77.5 1.01 1.07 1.17 1.30 1.39 1.39 1.30 1.15 1.02 0.99 1.10 1.30 1.51 1.62 1.64 1.63 1.74 2.07 2.61 3.25 3.78 4.06 4.01 3.71 3.33 3.01 2.80 2.67 2.53 2.32 2.07 1.85 1.77 1.87 2.08 2.29 2.34 2.19 1.87 1.53 1.30 1.25 1.36 1.51 1.60 1.59 1.53 1.51 1.63 1.87 2.13 2.26 2.14 1.80 1.34 0.93 0.71 0.69 0.81 0.92 0.93 0.81 0.63 0.47 0.41 0.47 0.61 0.77 0.90 0.97 0.99 0.99 1.01 1.07 1.17 1.30 1.39 1.39 1.30 1.15 1.02 0.99 1.10 1.30 1.51 1.62 1.64 1.63 1.74 2.07 2.61 3.25 3.78 4.06 4.01 3.71 3.33 3.01 2.80 2.67 2.53 2.32 2.07 1.85 1.77 1.87 2.08 2.29 2.34 2.19 1.87 1.53 1.30 1.25 1.36 1.51 1.60 1.59 1.53 1.51 1.63 1.87 2.13 2.26 2.14 1.80 1.34 0.93 0.71 0.69 0.81 0.92 0.93 0.81 0.63 0.47 0.41 0.47 0.61 0.77 0.90 0.97 0.99 0.99 1.01 77.5 + 80.0 1.15 1.23 1.37 1.52 1.63 1.63 1.50 1.30 1.13 1.10 1.25 1.51 1.78 1.92 1.94 1.92 2.04 2.43 3.11 3.92 4.61 4.98 4.93 4.55 4.05 3.60 3.28 3.08 2.88 2.61 2.29 2.03 1.94 2.08 2.38 2.66 2.76 2.61 2.25 1.85 1.59 1.56 1.71 1.93 2.09 2.13 2.11 2.17 2.37 2.69 3.00 3.10 2.88 2.36 1.72 1.18 0.88 0.85 0.98 1.08 1.05 0.88 0.64 0.46 0.43 0.55 0.76 0.96 1.11 1.17 1.16 1.14 1.15 1.23 1.37 1.52 1.63 1.63 1.50 1.30 1.13 1.10 1.25 1.51 1.78 1.92 1.94 1.92 2.04 2.43 3.11 3.92 4.61 4.98 4.93 4.55 4.05 3.60 3.28 3.08 2.88 2.61 2.29 2.03 1.94 2.08 2.38 2.66 2.76 2.61 2.25 1.85 1.59 1.56 1.71 1.93 2.09 2.13 2.11 2.17 2.37 2.69 3.00 3.10 2.88 2.36 1.72 1.18 0.88 0.85 0.98 1.08 1.05 0.88 0.64 0.46 0.43 0.55 0.76 0.96 1.11 1.17 1.16 1.14 1.15 80.0 + 82.5 1.03 1.12 1.30 1.51 1.65 1.65 1.50 1.27 1.08 1.04 1.22 1.52 1.80 1.93 1.87 1.77 1.84 2.24 3.01 3.95 4.78 5.22 5.17 4.72 4.11 3.56 3.18 2.92 2.68 2.37 2.01 1.71 1.63 1.80 2.16 2.51 2.65 2.51 2.13 1.71 1.44 1.44 1.65 1.93 2.14 2.23 2.27 2.40 2.70 3.12 3.47 3.54 3.21 2.52 1.72 1.05 0.72 0.73 0.91 1.07 1.04 0.84 0.57 0.38 0.38 0.55 0.81 1.05 1.17 1.18 1.11 1.04 1.03 1.12 1.30 1.51 1.65 1.65 1.50 1.27 1.08 1.04 1.22 1.52 1.80 1.93 1.87 1.77 1.84 2.24 3.01 3.95 4.78 5.22 5.17 4.72 4.11 3.56 3.18 2.92 2.68 2.37 2.01 1.71 1.63 1.80 2.16 2.51 2.65 2.51 2.13 1.71 1.44 1.44 1.65 1.93 2.14 2.23 2.27 2.40 2.70 3.12 3.47 3.54 3.21 2.52 1.72 1.05 0.72 0.73 0.91 1.07 1.04 0.84 0.57 0.38 0.38 0.55 0.81 1.05 1.17 1.18 1.11 1.04 1.03 82.5 + 85.0 0.69 0.79 1.02 1.27 1.46 1.48 1.32 1.07 0.86 0.82 1.01 1.32 1.58 1.64 1.48 1.26 1.23 1.61 2.41 3.43 4.35 4.84 4.79 4.30 3.62 3.02 2.60 2.33 2.08 1.75 1.36 1.04 0.95 1.15 1.55 1.94 2.11 1.96 1.58 1.15 0.90 0.94 1.20 1.53 1.79 1.92 2.02 2.23 2.64 3.15 3.55 3.60 3.17 2.35 1.41 0.68 0.35 0.42 0.70 0.93 0.94 0.74 0.46 0.28 0.30 0.51 0.79 1.02 1.10 1.03 0.87 0.73 0.69 0.79 1.02 1.27 1.46 1.48 1.32 1.07 0.86 0.82 1.01 1.32 1.58 1.64 1.48 1.26 1.23 1.61 2.41 3.43 4.35 4.84 4.79 4.30 3.62 3.02 2.60 2.33 2.08 1.75 1.36 1.04 0.95 1.15 1.55 1.94 2.11 1.96 1.58 1.15 0.90 0.94 1.20 1.53 1.79 1.92 2.02 2.23 2.64 3.15 3.55 3.60 3.17 2.35 1.41 0.68 0.35 0.42 0.70 0.93 0.94 0.74 0.46 0.28 0.30 0.51 0.79 1.02 1.10 1.03 0.87 0.73 0.69 85.0 + 87.5 0.33 0.44 0.68 0.98 1.19 1.23 1.06 0.79 0.57 0.53 0.72 1.02 1.25 1.24 0.98 0.65 0.53 0.86 1.66 2.72 3.68 4.20 4.16 3.65 2.95 2.34 1.93 1.68 1.44 1.11 0.71 0.38 0.29 0.50 0.91 1.32 1.49 1.34 0.95 0.53 0.30 0.36 0.67 1.04 1.33 1.50 1.66 1.96 2.45 3.05 3.51 3.55 3.05 2.14 1.12 0.35 0.04 0.17 0.53 0.83 0.88 0.69 0.41 0.22 0.26 0.49 0.78 0.98 1.00 0.85 0.61 0.40 0.33 0.44 0.68 0.98 1.19 1.23 1.06 0.79 0.57 0.53 0.72 1.02 1.25 1.24 0.98 0.65 0.53 0.86 1.66 2.72 3.68 4.20 4.16 3.65 2.95 2.34 1.93 1.68 1.44 1.11 0.71 0.38 0.29 0.50 0.91 1.32 1.49 1.34 0.95 0.53 0.30 0.36 0.67 1.04 1.33 1.50 1.66 1.96 2.45 3.05 3.51 3.55 3.05 2.14 1.12 0.35 0.04 0.17 0.53 0.83 0.88 0.69 0.41 0.22 0.26 0.49 0.78 0.98 1.00 0.85 0.61 0.40 0.33 87.5 + 90.0 0.18 0.27 0.52 0.81 1.01 1.03 0.86 0.58 0.35 0.31 0.49 0.78 0.98 0.92 0.61 0.23 0.07 0.37 1.17 2.23 3.18 3.71 3.67 3.17 2.51 1.93 1.57 1.36 1.15 0.83 0.44 0.11 0.02 0.24 0.66 1.06 1.23 1.06 0.66 0.24 0.02 0.11 0.44 0.83 1.15 1.36 1.57 1.93 2.51 3.17 3.67 3.71 3.18 2.23 1.17 0.37 0.07 0.23 0.61 0.92 0.98 0.78 0.49 0.31 0.35 0.58 0.86 1.03 1.01 0.81 0.52 0.27 0.18 0.27 0.52 0.81 1.01 1.03 0.86 0.58 0.35 0.31 0.49 0.78 0.98 0.92 0.61 0.23 0.07 0.37 1.17 2.23 3.18 3.71 3.67 3.17 2.51 1.93 1.57 1.36 1.15 0.83 0.44 0.11 0.02 0.24 0.66 1.06 1.23 1.06 0.66 0.24 0.02 0.11 0.44 0.83 1.15 1.36 1.57 1.93 2.51 3.17 3.67 3.71 3.18 2.23 1.17 0.37 0.07 0.23 0.61 0.92 0.98 0.78 0.49 0.31 0.35 0.58 0.86 1.03 1.01 0.81 0.52 0.27 0.18 90.0 + + 45.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 4.46 ) PHI2 = 45. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.0 + 2.5 0.00 0.00 0.00 0.10 0.28 0.37 0.39 0.37 0.40 0.49 0.64 0.84 1.05 1.27 1.51 1.76 2.00 2.19 2.27 2.23 2.08 1.86 1.61 1.38 1.15 0.93 0.73 0.56 0.45 0.40 0.39 0.35 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.35 0.39 0.40 0.45 0.56 0.73 0.93 1.15 1.38 1.61 1.86 2.08 2.23 2.27 2.19 2.00 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.40 0.37 0.39 0.37 0.28 0.10 0.00 0.00 0.00 0.00 0.00 0.10 0.28 0.37 0.39 0.37 0.40 0.49 0.64 0.84 1.05 1.27 1.51 1.76 2.00 2.19 2.27 2.23 2.08 1.86 1.61 1.38 1.15 0.93 0.73 0.56 0.45 0.40 0.39 0.35 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.35 0.39 0.40 0.45 0.56 0.73 0.93 1.15 1.38 1.61 1.86 2.08 2.23 2.27 2.19 2.00 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.40 0.37 0.39 0.37 0.28 0.10 0.00 0.00 0.00 2.5 + 5.0 0.00 0.00 0.12 0.31 0.44 0.48 0.44 0.37 0.34 0.38 0.50 0.67 0.88 1.12 1.39 1.68 1.98 2.22 2.36 2.36 2.24 2.03 1.78 1.51 1.26 1.03 0.82 0.65 0.55 0.50 0.48 0.45 0.35 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.35 0.45 0.48 0.50 0.55 0.65 0.82 1.03 1.26 1.51 1.78 2.03 2.24 2.36 2.36 2.22 1.98 1.68 1.39 1.12 0.88 0.67 0.50 0.38 0.34 0.37 0.44 0.48 0.44 0.31 0.12 0.00 0.00 0.00 0.12 0.31 0.44 0.48 0.44 0.37 0.34 0.38 0.50 0.67 0.88 1.12 1.39 1.68 1.98 2.22 2.36 2.36 2.24 2.03 1.78 1.51 1.26 1.03 0.82 0.65 0.55 0.50 0.48 0.45 0.35 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.35 0.45 0.48 0.50 0.55 0.65 0.82 1.03 1.26 1.51 1.78 2.03 2.24 2.36 2.36 2.22 1.98 1.68 1.39 1.12 0.88 0.67 0.50 0.38 0.34 0.37 0.44 0.48 0.44 0.31 0.12 0.00 0.00 5.0 + 7.5 0.33 0.37 0.49 0.62 0.69 0.67 0.58 0.46 0.37 0.35 0.42 0.55 0.75 0.99 1.28 1.60 1.94 2.25 2.46 2.53 2.47 2.28 2.02 1.75 1.48 1.24 1.05 0.90 0.82 0.78 0.78 0.75 0.67 0.53 0.35 0.21 0.15 0.21 0.35 0.53 0.67 0.75 0.78 0.78 0.82 0.90 1.05 1.24 1.48 1.75 2.02 2.28 2.47 2.53 2.46 2.25 1.94 1.60 1.28 0.99 0.75 0.55 0.42 0.35 0.37 0.46 0.58 0.67 0.69 0.62 0.49 0.37 0.33 0.37 0.49 0.62 0.69 0.67 0.58 0.46 0.37 0.35 0.42 0.55 0.75 0.99 1.28 1.60 1.94 2.25 2.46 2.53 2.47 2.28 2.02 1.75 1.48 1.24 1.05 0.90 0.82 0.78 0.78 0.75 0.67 0.53 0.35 0.21 0.15 0.21 0.35 0.53 0.67 0.75 0.78 0.78 0.82 0.90 1.05 1.24 1.48 1.75 2.02 2.28 2.47 2.53 2.46 2.25 1.94 1.60 1.28 0.99 0.75 0.55 0.42 0.35 0.37 0.46 0.58 0.67 0.69 0.62 0.49 0.37 0.33 7.5 + 10.0 0.77 0.80 0.88 0.96 0.99 0.94 0.82 0.67 0.54 0.47 0.48 0.57 0.73 0.95 1.22 1.54 1.90 2.24 2.52 2.67 2.67 2.54 2.31 2.04 1.79 1.57 1.42 1.32 1.27 1.27 1.29 1.29 1.24 1.13 1.00 0.89 0.85 0.89 1.00 1.13 1.24 1.29 1.29 1.27 1.27 1.32 1.42 1.57 1.79 2.04 2.31 2.54 2.67 2.67 2.52 2.24 1.90 1.54 1.22 0.95 0.73 0.57 0.48 0.47 0.54 0.67 0.82 0.94 0.99 0.96 0.88 0.80 0.77 0.80 0.88 0.96 0.99 0.94 0.82 0.67 0.54 0.47 0.48 0.57 0.73 0.95 1.22 1.54 1.90 2.24 2.52 2.67 2.67 2.54 2.31 2.04 1.79 1.57 1.42 1.32 1.27 1.27 1.29 1.29 1.24 1.13 1.00 0.89 0.85 0.89 1.00 1.13 1.24 1.29 1.29 1.27 1.27 1.32 1.42 1.57 1.79 2.04 2.31 2.54 2.67 2.67 2.52 2.24 1.90 1.54 1.22 0.95 0.73 0.57 0.48 0.47 0.54 0.67 0.82 0.94 0.99 0.96 0.88 0.80 0.77 10.0 + 12.5 1.14 1.16 1.20 1.25 1.26 1.21 1.10 0.96 0.82 0.73 0.70 0.74 0.84 0.99 1.21 1.48 1.81 2.17 2.48 2.70 2.78 2.72 2.55 2.33 2.11 1.93 1.82 1.78 1.78 1.83 1.88 1.91 1.90 1.84 1.75 1.67 1.64 1.67 1.75 1.84 1.90 1.91 1.88 1.83 1.78 1.78 1.82 1.93 2.11 2.33 2.55 2.72 2.78 2.70 2.48 2.17 1.81 1.48 1.21 0.99 0.84 0.74 0.70 0.73 0.82 0.96 1.10 1.21 1.26 1.25 1.20 1.16 1.14 1.16 1.20 1.25 1.26 1.21 1.10 0.96 0.82 0.73 0.70 0.74 0.84 0.99 1.21 1.48 1.81 2.17 2.48 2.70 2.78 2.72 2.55 2.33 2.11 1.93 1.82 1.78 1.78 1.83 1.88 1.91 1.90 1.84 1.75 1.67 1.64 1.67 1.75 1.84 1.90 1.91 1.88 1.83 1.78 1.78 1.82 1.93 2.11 2.33 2.55 2.72 2.78 2.70 2.48 2.17 1.81 1.48 1.21 0.99 0.84 0.74 0.70 0.73 0.82 0.96 1.10 1.21 1.26 1.25 1.20 1.16 1.14 12.5 + 15.0 1.35 1.36 1.37 1.39 1.39 1.36 1.29 1.19 1.08 0.99 0.94 0.93 0.97 1.05 1.19 1.39 1.66 1.99 2.32 2.59 2.75 2.77 2.67 2.50 2.33 2.19 2.11 2.10 2.14 2.23 2.32 2.39 2.42 2.41 2.36 2.31 2.29 2.31 2.36 2.41 2.42 2.39 2.32 2.23 2.14 2.10 2.11 2.19 2.33 2.50 2.67 2.77 2.75 2.59 2.32 1.99 1.66 1.39 1.19 1.05 0.97 0.93 0.94 0.99 1.08 1.19 1.29 1.36 1.39 1.39 1.37 1.36 1.35 1.36 1.37 1.39 1.39 1.36 1.29 1.19 1.08 0.99 0.94 0.93 0.97 1.05 1.19 1.39 1.66 1.99 2.32 2.59 2.75 2.77 2.67 2.50 2.33 2.19 2.11 2.10 2.14 2.23 2.32 2.39 2.42 2.41 2.36 2.31 2.29 2.31 2.36 2.41 2.42 2.39 2.32 2.23 2.14 2.10 2.11 2.19 2.33 2.50 2.67 2.77 2.75 2.59 2.32 1.99 1.66 1.39 1.19 1.05 0.97 0.93 0.94 0.99 1.08 1.19 1.29 1.36 1.39 1.39 1.37 1.36 1.35 15.0 + 17.5 1.39 1.38 1.36 1.34 1.32 1.31 1.29 1.24 1.18 1.11 1.05 1.01 1.01 1.03 1.09 1.21 1.42 1.70 2.03 2.34 2.57 2.66 2.63 2.51 2.36 2.23 2.16 2.16 2.21 2.31 2.44 2.55 2.63 2.66 2.66 2.63 2.62 2.63 2.66 2.66 2.63 2.55 2.44 2.31 2.21 2.16 2.16 2.23 2.36 2.51 2.63 2.66 2.57 2.34 2.03 1.70 1.42 1.21 1.09 1.03 1.01 1.01 1.05 1.11 1.18 1.24 1.29 1.31 1.32 1.34 1.36 1.38 1.39 1.38 1.36 1.34 1.32 1.31 1.29 1.24 1.18 1.11 1.05 1.01 1.01 1.03 1.09 1.21 1.42 1.70 2.03 2.34 2.57 2.66 2.63 2.51 2.36 2.23 2.16 2.16 2.21 2.31 2.44 2.55 2.63 2.66 2.66 2.63 2.62 2.63 2.66 2.66 2.63 2.55 2.44 2.31 2.21 2.16 2.16 2.23 2.36 2.51 2.63 2.66 2.57 2.34 2.03 1.70 1.42 1.21 1.09 1.03 1.01 1.01 1.05 1.11 1.18 1.24 1.29 1.31 1.32 1.34 1.36 1.38 1.39 17.5 + 20.0 1.26 1.23 1.16 1.09 1.04 1.03 1.05 1.05 1.03 0.99 0.94 0.90 0.87 0.86 0.88 0.95 1.11 1.35 1.67 1.99 2.26 2.42 2.44 2.36 2.23 2.09 2.00 1.98 2.02 2.13 2.28 2.44 2.57 2.65 2.69 2.71 2.71 2.71 2.69 2.65 2.57 2.44 2.28 2.13 2.02 1.98 2.00 2.09 2.23 2.36 2.44 2.42 2.26 1.99 1.67 1.35 1.11 0.95 0.88 0.86 0.87 0.90 0.94 0.99 1.03 1.05 1.05 1.03 1.04 1.09 1.16 1.23 1.26 1.23 1.16 1.09 1.04 1.03 1.05 1.05 1.03 0.99 0.94 0.90 0.87 0.86 0.88 0.95 1.11 1.35 1.67 1.99 2.26 2.42 2.44 2.36 2.23 2.09 2.00 1.98 2.02 2.13 2.28 2.44 2.57 2.65 2.69 2.71 2.71 2.71 2.69 2.65 2.57 2.44 2.28 2.13 2.02 1.98 2.00 2.09 2.23 2.36 2.44 2.42 2.26 1.99 1.67 1.35 1.11 0.95 0.88 0.86 0.87 0.90 0.94 0.99 1.03 1.05 1.05 1.03 1.04 1.09 1.16 1.23 1.26 20.0 + 22.5 0.99 0.95 0.83 0.70 0.62 0.60 0.63 0.67 0.68 0.67 0.64 0.61 0.59 0.58 0.60 0.65 0.78 0.99 1.28 1.60 1.89 2.08 2.15 2.11 2.00 1.88 1.78 1.74 1.78 1.90 2.08 2.27 2.46 2.61 2.71 2.76 2.77 2.76 2.71 2.61 2.46 2.27 2.08 1.90 1.78 1.74 1.78 1.88 2.00 2.11 2.15 2.08 1.89 1.60 1.28 0.99 0.78 0.65 0.60 0.58 0.59 0.61 0.64 0.67 0.68 0.67 0.63 0.60 0.62 0.70 0.83 0.95 0.99 0.95 0.83 0.70 0.62 0.60 0.63 0.67 0.68 0.67 0.64 0.61 0.59 0.58 0.60 0.65 0.78 0.99 1.28 1.60 1.89 2.08 2.15 2.11 2.00 1.88 1.78 1.74 1.78 1.90 2.08 2.27 2.46 2.61 2.71 2.76 2.77 2.76 2.71 2.61 2.46 2.27 2.08 1.90 1.78 1.74 1.78 1.88 2.00 2.11 2.15 2.08 1.89 1.60 1.28 0.99 0.78 0.65 0.60 0.58 0.59 0.61 0.64 0.67 0.68 0.67 0.63 0.60 0.62 0.70 0.83 0.95 0.99 22.5 + 25.0 0.65 0.59 0.44 0.27 0.15 0.13 0.17 0.24 0.28 0.29 0.27 0.25 0.25 0.27 0.31 0.37 0.47 0.65 0.90 1.20 1.48 1.70 1.82 1.84 1.79 1.71 1.65 1.65 1.72 1.86 2.07 2.31 2.56 2.76 2.92 3.01 3.04 3.01 2.92 2.76 2.56 2.31 2.07 1.86 1.72 1.65 1.65 1.71 1.79 1.84 1.82 1.70 1.48 1.20 0.90 0.65 0.47 0.37 0.31 0.27 0.25 0.25 0.27 0.29 0.28 0.24 0.17 0.13 0.15 0.27 0.44 0.59 0.65 0.59 0.44 0.27 0.15 0.13 0.17 0.24 0.28 0.29 0.27 0.25 0.25 0.27 0.31 0.37 0.47 0.65 0.90 1.20 1.48 1.70 1.82 1.84 1.79 1.71 1.65 1.65 1.72 1.86 2.07 2.31 2.56 2.76 2.92 3.01 3.04 3.01 2.92 2.76 2.56 2.31 2.07 1.86 1.72 1.65 1.65 1.71 1.79 1.84 1.82 1.70 1.48 1.20 0.90 0.65 0.47 0.37 0.31 0.27 0.25 0.25 0.27 0.29 0.28 0.24 0.17 0.13 0.15 0.27 0.44 0.59 0.65 25.0 + 27.5 0.31 0.24 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.14 0.23 0.37 0.57 0.81 1.07 1.31 1.47 1.57 1.62 1.65 1.69 1.76 1.90 2.09 2.33 2.61 2.89 3.14 3.34 3.46 3.50 3.46 3.34 3.14 2.89 2.61 2.33 2.09 1.90 1.76 1.69 1.65 1.62 1.57 1.47 1.31 1.07 0.81 0.57 0.37 0.23 0.14 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.24 0.31 0.24 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.14 0.23 0.37 0.57 0.81 1.07 1.31 1.47 1.57 1.62 1.65 1.69 1.76 1.90 2.09 2.33 2.61 2.89 3.14 3.34 3.46 3.50 3.46 3.34 3.14 2.89 2.61 2.33 2.09 1.90 1.76 1.69 1.65 1.62 1.57 1.47 1.31 1.07 0.81 0.57 0.37 0.23 0.14 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.24 0.31 27.5 + 30.0 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.15 0.29 0.48 0.71 0.95 1.16 1.34 1.49 1.64 1.80 1.99 2.20 2.43 2.70 2.98 3.26 3.52 3.73 3.86 3.91 3.86 3.73 3.52 3.26 2.98 2.70 2.43 2.20 1.99 1.80 1.64 1.49 1.34 1.16 0.95 0.71 0.48 0.29 0.15 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.15 0.29 0.48 0.71 0.95 1.16 1.34 1.49 1.64 1.80 1.99 2.20 2.43 2.70 2.98 3.26 3.52 3.73 3.86 3.91 3.86 3.73 3.52 3.26 2.98 2.70 2.43 2.20 1.99 1.80 1.64 1.49 1.34 1.16 0.95 0.71 0.48 0.29 0.15 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 30.0 + 32.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.25 0.45 0.67 0.90 1.13 1.36 1.60 1.85 2.12 2.38 2.63 2.87 3.11 3.35 3.57 3.76 3.89 3.94 3.89 3.76 3.57 3.35 3.11 2.87 2.63 2.38 2.12 1.85 1.60 1.36 1.13 0.90 0.67 0.45 0.25 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.25 0.45 0.67 0.90 1.13 1.36 1.60 1.85 2.12 2.38 2.63 2.87 3.11 3.35 3.57 3.76 3.89 3.94 3.89 3.76 3.57 3.35 3.11 2.87 2.63 2.38 2.12 1.85 1.60 1.36 1.13 0.90 0.67 0.45 0.25 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 32.5 + 35.0 0.11 0.07 0.00 0.00 0.00 0.00 0.00 0.01 0.04 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.17 0.35 0.55 0.76 0.97 1.19 1.45 1.73 2.01 2.27 2.49 2.66 2.81 2.96 3.12 3.27 3.39 3.43 3.39 3.27 3.12 2.96 2.81 2.66 2.49 2.27 2.01 1.73 1.45 1.19 0.97 0.76 0.55 0.35 0.17 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.04 0.01 0.00 0.00 0.00 0.00 0.00 0.07 0.11 0.07 0.00 0.00 0.00 0.00 0.00 0.01 0.04 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.17 0.35 0.55 0.76 0.97 1.19 1.45 1.73 2.01 2.27 2.49 2.66 2.81 2.96 3.12 3.27 3.39 3.43 3.39 3.27 3.12 2.96 2.81 2.66 2.49 2.27 2.01 1.73 1.45 1.19 0.97 0.76 0.55 0.35 0.17 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.04 0.01 0.00 0.00 0.00 0.00 0.00 0.07 0.11 35.0 + 37.5 0.40 0.36 0.27 0.18 0.13 0.14 0.19 0.24 0.24 0.19 0.10 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.26 0.44 0.61 0.75 0.88 1.02 1.21 1.45 1.68 1.88 2.01 2.08 2.11 2.17 2.26 2.38 2.48 2.52 2.48 2.38 2.26 2.17 2.11 2.08 2.01 1.88 1.68 1.45 1.21 1.02 0.88 0.75 0.61 0.44 0.26 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.10 0.19 0.24 0.24 0.19 0.14 0.13 0.18 0.27 0.36 0.40 0.36 0.27 0.18 0.13 0.14 0.19 0.24 0.24 0.19 0.10 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.26 0.44 0.61 0.75 0.88 1.02 1.21 1.45 1.68 1.88 2.01 2.08 2.11 2.17 2.26 2.38 2.48 2.52 2.48 2.38 2.26 2.17 2.11 2.08 2.01 1.88 1.68 1.45 1.21 1.02 0.88 0.75 0.61 0.44 0.26 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.10 0.19 0.24 0.24 0.19 0.14 0.13 0.18 0.27 0.36 0.40 37.5 + 40.0 0.72 0.69 0.63 0.55 0.50 0.47 0.46 0.45 0.42 0.37 0.30 0.22 0.13 0.04 0.00 0.00 0.00 0.04 0.24 0.47 0.67 0.80 0.85 0.86 0.87 0.95 1.09 1.25 1.36 1.39 1.34 1.28 1.26 1.31 1.43 1.54 1.59 1.54 1.43 1.31 1.26 1.28 1.34 1.39 1.36 1.25 1.09 0.95 0.87 0.86 0.85 0.80 0.67 0.47 0.24 0.04 0.00 0.00 0.00 0.04 0.13 0.22 0.30 0.37 0.42 0.45 0.46 0.47 0.50 0.55 0.63 0.69 0.72 0.69 0.63 0.55 0.50 0.47 0.46 0.45 0.42 0.37 0.30 0.22 0.13 0.04 0.00 0.00 0.00 0.04 0.24 0.47 0.67 0.80 0.85 0.86 0.87 0.95 1.09 1.25 1.36 1.39 1.34 1.28 1.26 1.31 1.43 1.54 1.59 1.54 1.43 1.31 1.26 1.28 1.34 1.39 1.36 1.25 1.09 0.95 0.87 0.86 0.85 0.80 0.67 0.47 0.24 0.04 0.00 0.00 0.00 0.04 0.13 0.22 0.30 0.37 0.42 0.45 0.46 0.47 0.50 0.55 0.63 0.69 0.72 40.0 + 42.5 0.88 0.88 0.85 0.82 0.76 0.70 0.62 0.56 0.52 0.50 0.49 0.46 0.38 0.24 0.09 0.00 0.00 0.13 0.39 0.68 0.91 1.00 0.95 0.83 0.72 0.70 0.77 0.86 0.90 0.85 0.71 0.58 0.53 0.60 0.76 0.92 0.98 0.92 0.76 0.60 0.53 0.58 0.71 0.85 0.90 0.86 0.77 0.70 0.72 0.83 0.95 1.00 0.91 0.68 0.39 0.13 0.00 0.00 0.09 0.24 0.38 0.46 0.49 0.50 0.52 0.56 0.62 0.70 0.76 0.82 0.85 0.88 0.88 0.88 0.85 0.82 0.76 0.70 0.62 0.56 0.52 0.50 0.49 0.46 0.38 0.24 0.09 0.00 0.00 0.13 0.39 0.68 0.91 1.00 0.95 0.83 0.72 0.70 0.77 0.86 0.90 0.85 0.71 0.58 0.53 0.60 0.76 0.92 0.98 0.92 0.76 0.60 0.53 0.58 0.71 0.85 0.90 0.86 0.77 0.70 0.72 0.83 0.95 1.00 0.91 0.68 0.39 0.13 0.00 0.00 0.09 0.24 0.38 0.46 0.49 0.50 0.52 0.56 0.62 0.70 0.76 0.82 0.85 0.88 0.88 42.5 + 45.0 0.77 0.79 0.83 0.86 0.83 0.75 0.65 0.56 0.53 0.58 0.66 0.71 0.66 0.49 0.25 0.06 0.01 0.15 0.43 0.76 0.99 1.04 0.91 0.69 0.51 0.45 0.50 0.58 0.60 0.50 0.32 0.17 0.13 0.27 0.51 0.74 0.84 0.74 0.51 0.27 0.13 0.17 0.32 0.50 0.60 0.58 0.50 0.45 0.51 0.69 0.91 1.04 0.99 0.76 0.43 0.15 0.01 0.06 0.25 0.49 0.66 0.71 0.66 0.58 0.53 0.56 0.65 0.75 0.83 0.86 0.83 0.79 0.77 0.79 0.83 0.86 0.83 0.75 0.65 0.56 0.53 0.58 0.66 0.71 0.66 0.49 0.25 0.06 0.01 0.15 0.43 0.76 0.99 1.04 0.91 0.69 0.51 0.45 0.50 0.58 0.60 0.50 0.32 0.17 0.13 0.27 0.51 0.74 0.84 0.74 0.51 0.27 0.13 0.17 0.32 0.50 0.60 0.58 0.50 0.45 0.51 0.69 0.91 1.04 0.99 0.76 0.43 0.15 0.01 0.06 0.25 0.49 0.66 0.71 0.66 0.58 0.53 0.56 0.65 0.75 0.83 0.86 0.83 0.79 0.77 45.0 + 47.5 0.39 0.44 0.56 0.67 0.70 0.64 0.52 0.42 0.44 0.58 0.78 0.93 0.92 0.72 0.40 0.10 0.00 0.06 0.33 0.65 0.85 0.85 0.66 0.40 0.20 0.16 0.25 0.38 0.42 0.32 0.14 0.00 0.01 0.23 0.58 0.89 1.02 0.89 0.58 0.23 0.01 0.00 0.14 0.32 0.42 0.38 0.25 0.16 0.20 0.40 0.66 0.85 0.85 0.65 0.33 0.06 0.00 0.10 0.40 0.72 0.92 0.93 0.78 0.58 0.44 0.42 0.52 0.64 0.70 0.67 0.56 0.44 0.39 0.44 0.56 0.67 0.70 0.64 0.52 0.42 0.44 0.58 0.78 0.93 0.92 0.72 0.40 0.10 0.00 0.06 0.33 0.65 0.85 0.85 0.66 0.40 0.20 0.16 0.25 0.38 0.42 0.32 0.14 0.00 0.01 0.23 0.58 0.89 1.02 0.89 0.58 0.23 0.01 0.00 0.14 0.32 0.42 0.38 0.25 0.16 0.20 0.40 0.66 0.85 0.85 0.65 0.33 0.06 0.00 0.10 0.40 0.72 0.92 0.93 0.78 0.58 0.44 0.42 0.52 0.64 0.70 0.67 0.56 0.44 0.39 47.5 + 50.0 0.00 0.00 0.16 0.36 0.46 0.41 0.29 0.20 0.27 0.50 0.83 1.09 1.14 0.93 0.54 0.14 0.00 0.00 0.14 0.41 0.57 0.51 0.28 0.00 0.00 0.00 0.02 0.21 0.30 0.22 0.04 0.00 0.00 0.28 0.72 1.11 1.27 1.11 0.72 0.28 0.00 0.00 0.04 0.22 0.30 0.21 0.02 0.00 0.00 0.00 0.28 0.51 0.57 0.41 0.14 0.00 0.00 0.14 0.54 0.93 1.14 1.09 0.83 0.50 0.27 0.20 0.29 0.41 0.46 0.36 0.16 0.00 0.00 0.00 0.16 0.36 0.46 0.41 0.29 0.20 0.27 0.50 0.83 1.09 1.14 0.93 0.54 0.14 0.00 0.00 0.14 0.41 0.57 0.51 0.28 0.00 0.00 0.00 0.02 0.21 0.30 0.22 0.04 0.00 0.00 0.28 0.72 1.11 1.27 1.11 0.72 0.28 0.00 0.00 0.04 0.22 0.30 0.21 0.02 0.00 0.00 0.00 0.28 0.51 0.57 0.41 0.14 0.00 0.00 0.14 0.54 0.93 1.14 1.09 0.83 0.50 0.27 0.20 0.29 0.41 0.46 0.36 0.16 0.00 0.00 50.0 + 52.5 0.00 0.00 0.00 0.11 0.24 0.20 0.07 0.00 0.07 0.38 0.81 1.17 1.28 1.08 0.66 0.19 0.00 0.00 0.00 0.19 0.29 0.19 0.00 0.00 0.00 0.00 0.00 0.09 0.21 0.15 0.00 0.00 0.00 0.30 0.79 1.21 1.38 1.21 0.79 0.30 0.00 0.00 0.00 0.15 0.21 0.09 0.00 0.00 0.00 0.00 0.00 0.19 0.29 0.19 0.00 0.00 0.00 0.19 0.66 1.08 1.28 1.17 0.81 0.38 0.07 0.00 0.07 0.20 0.24 0.11 0.00 0.00 0.00 0.00 0.00 0.11 0.24 0.20 0.07 0.00 0.07 0.38 0.81 1.17 1.28 1.08 0.66 0.19 0.00 0.00 0.00 0.19 0.29 0.19 0.00 0.00 0.00 0.00 0.00 0.09 0.21 0.15 0.00 0.00 0.00 0.30 0.79 1.21 1.38 1.21 0.79 0.30 0.00 0.00 0.00 0.15 0.21 0.09 0.00 0.00 0.00 0.00 0.00 0.19 0.29 0.19 0.00 0.00 0.00 0.19 0.66 1.08 1.28 1.17 0.81 0.38 0.07 0.00 0.07 0.20 0.24 0.11 0.00 0.00 0.00 52.5 + 55.0 0.00 0.00 0.00 0.06 0.19 0.12 0.00 0.00 0.00 0.27 0.76 1.18 1.35 1.19 0.77 0.29 0.00 0.00 0.00 0.13 0.18 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.18 0.13 0.00 0.00 0.00 0.28 0.76 1.17 1.34 1.17 0.76 0.28 0.00 0.00 0.00 0.13 0.18 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.18 0.13 0.00 0.00 0.00 0.29 0.77 1.19 1.35 1.18 0.76 0.27 0.00 0.00 0.00 0.12 0.19 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.19 0.12 0.00 0.00 0.00 0.27 0.76 1.18 1.35 1.19 0.77 0.29 0.00 0.00 0.00 0.13 0.18 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.18 0.13 0.00 0.00 0.00 0.28 0.76 1.17 1.34 1.17 0.76 0.28 0.00 0.00 0.00 0.13 0.18 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.18 0.13 0.00 0.00 0.00 0.29 0.77 1.19 1.35 1.18 0.76 0.27 0.00 0.00 0.00 0.12 0.19 0.06 0.00 0.00 0.00 55.0 + 57.5 0.00 0.00 0.00 0.23 0.32 0.21 0.00 0.00 0.00 0.22 0.71 1.16 1.36 1.24 0.86 0.41 0.09 0.00 0.08 0.22 0.26 0.12 0.00 0.00 0.00 0.00 0.00 0.13 0.25 0.20 0.04 0.00 0.00 0.28 0.70 1.06 1.21 1.06 0.70 0.28 0.00 0.00 0.04 0.20 0.25 0.13 0.00 0.00 0.00 0.00 0.00 0.12 0.26 0.22 0.08 0.00 0.09 0.41 0.86 1.24 1.36 1.16 0.71 0.22 0.00 0.00 0.00 0.21 0.32 0.23 0.00 0.00 0.00 0.00 0.00 0.23 0.32 0.21 0.00 0.00 0.00 0.22 0.71 1.16 1.36 1.24 0.86 0.41 0.09 0.00 0.08 0.22 0.26 0.12 0.00 0.00 0.00 0.00 0.00 0.13 0.25 0.20 0.04 0.00 0.00 0.28 0.70 1.06 1.21 1.06 0.70 0.28 0.00 0.00 0.04 0.20 0.25 0.13 0.00 0.00 0.00 0.00 0.00 0.12 0.26 0.22 0.08 0.00 0.09 0.41 0.86 1.24 1.36 1.16 0.71 0.22 0.00 0.00 0.00 0.21 0.32 0.23 0.00 0.00 0.00 57.5 + 60.0 0.05 0.14 0.34 0.52 0.55 0.39 0.13 0.00 0.00 0.24 0.68 1.10 1.29 1.19 0.86 0.47 0.19 0.12 0.21 0.35 0.40 0.28 0.05 0.00 0.00 0.00 0.04 0.26 0.37 0.33 0.20 0.09 0.13 0.34 0.67 0.95 1.07 0.95 0.67 0.34 0.13 0.09 0.20 0.33 0.37 0.26 0.04 0.00 0.00 0.00 0.05 0.28 0.40 0.35 0.21 0.12 0.19 0.47 0.86 1.19 1.29 1.10 0.68 0.24 0.00 0.00 0.13 0.39 0.55 0.52 0.34 0.14 0.05 0.14 0.34 0.52 0.55 0.39 0.13 0.00 0.00 0.24 0.68 1.10 1.29 1.19 0.86 0.47 0.19 0.12 0.21 0.35 0.40 0.28 0.05 0.00 0.00 0.00 0.04 0.26 0.37 0.33 0.20 0.09 0.13 0.34 0.67 0.95 1.07 0.95 0.67 0.34 0.13 0.09 0.20 0.33 0.37 0.26 0.04 0.00 0.00 0.00 0.05 0.28 0.40 0.35 0.21 0.12 0.19 0.47 0.86 1.19 1.29 1.10 0.68 0.24 0.00 0.00 0.13 0.39 0.55 0.52 0.34 0.14 0.05 60.0 + 62.5 0.41 0.48 0.64 0.76 0.75 0.56 0.30 0.09 0.08 0.30 0.65 0.99 1.14 1.04 0.74 0.40 0.17 0.12 0.23 0.38 0.44 0.36 0.18 0.00 0.00 0.00 0.15 0.34 0.45 0.44 0.34 0.26 0.27 0.41 0.63 0.83 0.92 0.83 0.63 0.41 0.27 0.26 0.34 0.44 0.45 0.34 0.15 0.00 0.00 0.00 0.18 0.36 0.44 0.38 0.23 0.12 0.17 0.40 0.74 1.04 1.14 0.99 0.65 0.30 0.08 0.09 0.30 0.56 0.75 0.76 0.64 0.48 0.41 0.48 0.64 0.76 0.75 0.56 0.30 0.09 0.08 0.30 0.65 0.99 1.14 1.04 0.74 0.40 0.17 0.12 0.23 0.38 0.44 0.36 0.18 0.00 0.00 0.00 0.15 0.34 0.45 0.44 0.34 0.26 0.27 0.41 0.63 0.83 0.92 0.83 0.63 0.41 0.27 0.26 0.34 0.44 0.45 0.34 0.15 0.00 0.00 0.00 0.18 0.36 0.44 0.38 0.23 0.12 0.17 0.40 0.74 1.04 1.14 0.99 0.65 0.30 0.08 0.09 0.30 0.56 0.75 0.76 0.64 0.48 0.41 62.5 + 65.0 0.58 0.63 0.74 0.83 0.80 0.64 0.40 0.22 0.19 0.34 0.60 0.84 0.92 0.79 0.52 0.21 0.01 0.00 0.10 0.25 0.33 0.28 0.14 0.00 0.00 0.00 0.12 0.30 0.42 0.44 0.39 0.32 0.32 0.41 0.55 0.68 0.73 0.68 0.55 0.41 0.32 0.32 0.39 0.44 0.42 0.30 0.12 0.00 0.00 0.00 0.14 0.28 0.33 0.25 0.10 0.00 0.01 0.21 0.52 0.79 0.92 0.84 0.60 0.34 0.19 0.22 0.40 0.64 0.80 0.83 0.74 0.63 0.58 0.63 0.74 0.83 0.80 0.64 0.40 0.22 0.19 0.34 0.60 0.84 0.92 0.79 0.52 0.21 0.01 0.00 0.10 0.25 0.33 0.28 0.14 0.00 0.00 0.00 0.12 0.30 0.42 0.44 0.39 0.32 0.32 0.41 0.55 0.68 0.73 0.68 0.55 0.41 0.32 0.32 0.39 0.44 0.42 0.30 0.12 0.00 0.00 0.00 0.14 0.28 0.33 0.25 0.10 0.00 0.01 0.21 0.52 0.79 0.92 0.84 0.60 0.34 0.19 0.22 0.40 0.64 0.80 0.83 0.74 0.63 0.58 65.0 + 67.5 0.56 0.59 0.68 0.75 0.73 0.61 0.43 0.29 0.26 0.36 0.54 0.68 0.70 0.55 0.28 0.01 0.00 0.00 0.00 0.09 0.19 0.17 0.06 0.00 0.00 0.00 0.04 0.20 0.33 0.38 0.35 0.31 0.30 0.35 0.45 0.55 0.58 0.55 0.45 0.35 0.30 0.31 0.35 0.38 0.33 0.20 0.04 0.00 0.00 0.00 0.06 0.17 0.19 0.09 0.00 0.00 0.00 0.01 0.28 0.55 0.70 0.68 0.54 0.36 0.26 0.29 0.43 0.61 0.73 0.75 0.68 0.59 0.56 0.59 0.68 0.75 0.73 0.61 0.43 0.29 0.26 0.36 0.54 0.68 0.70 0.55 0.28 0.01 0.00 0.00 0.00 0.09 0.19 0.17 0.06 0.00 0.00 0.00 0.04 0.20 0.33 0.38 0.35 0.31 0.30 0.35 0.45 0.55 0.58 0.55 0.45 0.35 0.30 0.31 0.35 0.38 0.33 0.20 0.04 0.00 0.00 0.00 0.06 0.17 0.19 0.09 0.00 0.00 0.00 0.01 0.28 0.55 0.70 0.68 0.54 0.36 0.26 0.29 0.43 0.61 0.73 0.75 0.68 0.59 0.56 67.5 + 70.0 0.50 0.53 0.60 0.65 0.65 0.57 0.45 0.35 0.32 0.38 0.50 0.59 0.58 0.44 0.20 0.00 0.00 0.00 0.00 0.16 0.29 0.30 0.20 0.06 0.00 0.00 0.10 0.25 0.37 0.41 0.38 0.34 0.33 0.39 0.49 0.59 0.63 0.59 0.49 0.39 0.33 0.34 0.38 0.41 0.37 0.25 0.10 0.00 0.00 0.06 0.20 0.30 0.29 0.16 0.00 0.00 0.00 0.00 0.20 0.44 0.58 0.59 0.50 0.38 0.32 0.35 0.45 0.57 0.65 0.65 0.60 0.53 0.50 0.53 0.60 0.65 0.65 0.57 0.45 0.35 0.32 0.38 0.50 0.59 0.58 0.44 0.20 0.00 0.00 0.00 0.00 0.16 0.29 0.30 0.20 0.06 0.00 0.00 0.10 0.25 0.37 0.41 0.38 0.34 0.33 0.39 0.49 0.59 0.63 0.59 0.49 0.39 0.33 0.34 0.38 0.41 0.37 0.25 0.10 0.00 0.00 0.06 0.20 0.30 0.29 0.16 0.00 0.00 0.00 0.00 0.20 0.44 0.58 0.59 0.50 0.38 0.32 0.35 0.45 0.57 0.65 0.65 0.60 0.53 0.50 70.0 + 72.5 0.57 0.60 0.65 0.70 0.70 0.64 0.54 0.45 0.41 0.45 0.55 0.64 0.65 0.55 0.37 0.19 0.11 0.18 0.40 0.65 0.84 0.89 0.79 0.62 0.48 0.45 0.51 0.62 0.70 0.70 0.64 0.58 0.58 0.67 0.81 0.95 1.00 0.95 0.81 0.67 0.58 0.58 0.64 0.70 0.70 0.62 0.51 0.45 0.48 0.62 0.79 0.89 0.84 0.65 0.40 0.18 0.11 0.19 0.37 0.55 0.65 0.64 0.55 0.45 0.41 0.45 0.54 0.64 0.70 0.70 0.65 0.60 0.57 0.60 0.65 0.70 0.70 0.64 0.54 0.45 0.41 0.45 0.55 0.64 0.65 0.55 0.37 0.19 0.11 0.18 0.40 0.65 0.84 0.89 0.79 0.62 0.48 0.45 0.51 0.62 0.70 0.70 0.64 0.58 0.58 0.67 0.81 0.95 1.00 0.95 0.81 0.67 0.58 0.58 0.64 0.70 0.70 0.62 0.51 0.45 0.48 0.62 0.79 0.89 0.84 0.65 0.40 0.18 0.11 0.19 0.37 0.55 0.65 0.64 0.55 0.45 0.41 0.45 0.54 0.64 0.70 0.70 0.65 0.60 0.57 72.5 + 75.0 0.83 0.85 0.89 0.93 0.93 0.86 0.75 0.63 0.56 0.58 0.69 0.82 0.90 0.87 0.76 0.64 0.63 0.80 1.13 1.52 1.82 1.92 1.82 1.60 1.38 1.27 1.26 1.31 1.33 1.27 1.15 1.05 1.06 1.19 1.41 1.61 1.69 1.61 1.41 1.19 1.06 1.05 1.15 1.27 1.33 1.31 1.26 1.27 1.38 1.60 1.82 1.92 1.82 1.52 1.13 0.80 0.63 0.64 0.76 0.87 0.90 0.82 0.69 0.58 0.56 0.63 0.75 0.86 0.93 0.93 0.89 0.85 0.83 0.85 0.89 0.93 0.93 0.86 0.75 0.63 0.56 0.58 0.69 0.82 0.90 0.87 0.76 0.64 0.63 0.80 1.13 1.52 1.82 1.92 1.82 1.60 1.38 1.27 1.26 1.31 1.33 1.27 1.15 1.05 1.06 1.19 1.41 1.61 1.69 1.61 1.41 1.19 1.06 1.05 1.15 1.27 1.33 1.31 1.26 1.27 1.38 1.60 1.82 1.92 1.82 1.52 1.13 0.80 0.63 0.64 0.76 0.87 0.90 0.82 0.69 0.58 0.56 0.63 0.75 0.86 0.93 0.93 0.89 0.85 0.83 75.0 + 77.5 1.14 1.16 1.21 1.26 1.25 1.17 1.01 0.84 0.73 0.74 0.87 1.06 1.22 1.27 1.20 1.13 1.18 1.45 1.92 2.48 2.92 3.11 3.02 2.73 2.41 2.19 2.10 2.07 2.02 1.89 1.71 1.57 1.57 1.76 2.05 2.33 2.44 2.33 2.05 1.76 1.57 1.57 1.71 1.89 2.02 2.07 2.10 2.19 2.41 2.73 3.02 3.11 2.92 2.48 1.92 1.45 1.18 1.13 1.20 1.27 1.22 1.06 0.87 0.74 0.73 0.84 1.01 1.17 1.25 1.26 1.21 1.16 1.14 1.16 1.21 1.26 1.25 1.17 1.01 0.84 0.73 0.74 0.87 1.06 1.22 1.27 1.20 1.13 1.18 1.45 1.92 2.48 2.92 3.11 3.02 2.73 2.41 2.19 2.10 2.07 2.02 1.89 1.71 1.57 1.57 1.76 2.05 2.33 2.44 2.33 2.05 1.76 1.57 1.57 1.71 1.89 2.02 2.07 2.10 2.19 2.41 2.73 3.02 3.11 2.92 2.48 1.92 1.45 1.18 1.13 1.20 1.27 1.22 1.06 0.87 0.74 0.73 0.84 1.01 1.17 1.25 1.26 1.21 1.16 1.14 77.5 + 80.0 1.31 1.34 1.42 1.50 1.51 1.42 1.23 1.00 0.84 0.83 0.99 1.24 1.46 1.54 1.49 1.40 1.47 1.81 2.42 3.15 3.76 4.05 3.97 3.62 3.19 2.85 2.66 2.56 2.45 2.25 2.00 1.81 1.80 2.03 2.39 2.73 2.86 2.73 2.39 2.03 1.80 1.81 2.00 2.25 2.45 2.56 2.66 2.85 3.19 3.62 3.97 4.05 3.76 3.15 2.42 1.81 1.47 1.40 1.49 1.54 1.46 1.24 0.99 0.83 0.84 1.00 1.23 1.42 1.51 1.50 1.42 1.34 1.31 1.34 1.42 1.50 1.51 1.42 1.23 1.00 0.84 0.83 0.99 1.24 1.46 1.54 1.49 1.40 1.47 1.81 2.42 3.15 3.76 4.05 3.97 3.62 3.19 2.85 2.66 2.56 2.45 2.25 2.00 1.81 1.80 2.03 2.39 2.73 2.86 2.73 2.39 2.03 1.80 1.81 2.00 2.25 2.45 2.56 2.66 2.85 3.19 3.62 3.97 4.05 3.76 3.15 2.42 1.81 1.47 1.40 1.49 1.54 1.46 1.24 0.99 0.83 0.84 1.00 1.23 1.42 1.51 1.50 1.42 1.34 1.31 80.0 + 82.5 1.20 1.25 1.38 1.52 1.58 1.51 1.31 1.04 0.85 0.82 0.99 1.28 1.52 1.59 1.48 1.33 1.35 1.71 2.42 3.31 4.07 4.46 4.39 3.97 3.43 2.98 2.71 2.55 2.39 2.13 1.82 1.58 1.56 1.80 2.21 2.59 2.74 2.59 2.21 1.80 1.56 1.58 1.82 2.13 2.39 2.55 2.71 2.98 3.43 3.97 4.39 4.46 4.07 3.31 2.42 1.71 1.35 1.33 1.48 1.59 1.52 1.28 0.99 0.82 0.85 1.04 1.31 1.51 1.58 1.52 1.38 1.25 1.20 1.25 1.38 1.52 1.58 1.51 1.31 1.04 0.85 0.82 0.99 1.28 1.52 1.59 1.48 1.33 1.35 1.71 2.42 3.31 4.07 4.46 4.39 3.97 3.43 2.98 2.71 2.55 2.39 2.13 1.82 1.58 1.56 1.80 2.21 2.59 2.74 2.59 2.21 1.80 1.56 1.58 1.82 2.13 2.39 2.55 2.71 2.98 3.43 3.97 4.39 4.46 4.07 3.31 2.42 1.71 1.35 1.33 1.48 1.59 1.52 1.28 0.99 0.82 0.85 1.04 1.31 1.51 1.58 1.52 1.38 1.25 1.20 82.5 + 85.0 0.86 0.93 1.12 1.34 1.47 1.45 1.25 0.97 0.74 0.71 0.89 1.18 1.41 1.43 1.23 0.97 0.90 1.25 2.02 3.01 3.88 4.35 4.29 3.82 3.19 2.66 2.31 2.11 1.91 1.61 1.25 0.97 0.92 1.16 1.59 2.00 2.16 2.00 1.59 1.16 0.92 0.97 1.25 1.61 1.91 2.11 2.31 2.66 3.19 3.82 4.29 4.35 3.88 3.01 2.02 1.25 0.90 0.97 1.23 1.43 1.41 1.18 0.89 0.71 0.74 0.97 1.25 1.45 1.47 1.34 1.12 0.93 0.86 0.93 1.12 1.34 1.47 1.45 1.25 0.97 0.74 0.71 0.89 1.18 1.41 1.43 1.23 0.97 0.90 1.25 2.02 3.01 3.88 4.35 4.29 3.82 3.19 2.66 2.31 2.11 1.91 1.61 1.25 0.97 0.92 1.16 1.59 2.00 2.16 2.00 1.59 1.16 0.92 0.97 1.25 1.61 1.91 2.11 2.31 2.66 3.19 3.82 4.29 4.35 3.88 3.01 2.02 1.25 0.90 0.97 1.23 1.43 1.41 1.18 0.89 0.71 0.74 0.97 1.25 1.45 1.47 1.34 1.12 0.93 0.86 85.0 + 87.5 0.49 0.59 0.82 1.11 1.30 1.32 1.14 0.85 0.62 0.58 0.76 1.05 1.26 1.22 0.93 0.57 0.43 0.74 1.53 2.58 3.52 4.03 3.98 3.48 2.79 2.20 1.81 1.58 1.35 1.03 0.64 0.33 0.26 0.50 0.93 1.34 1.51 1.34 0.93 0.50 0.26 0.33 0.64 1.03 1.35 1.58 1.81 2.20 2.79 3.48 3.98 4.03 3.52 2.58 1.53 0.74 0.43 0.57 0.93 1.22 1.26 1.05 0.76 0.58 0.62 0.85 1.14 1.32 1.30 1.11 0.82 0.59 0.49 0.59 0.82 1.11 1.30 1.32 1.14 0.85 0.62 0.58 0.76 1.05 1.26 1.22 0.93 0.57 0.43 0.74 1.53 2.58 3.52 4.03 3.98 3.48 2.79 2.20 1.81 1.58 1.35 1.03 0.64 0.33 0.26 0.50 0.93 1.34 1.51 1.34 0.93 0.50 0.26 0.33 0.64 1.03 1.35 1.58 1.81 2.20 2.79 3.48 3.98 4.03 3.52 2.58 1.53 0.74 0.43 0.57 0.93 1.22 1.26 1.05 0.76 0.58 0.62 0.85 1.14 1.32 1.30 1.11 0.82 0.59 0.49 87.5 + 90.0 0.34 0.44 0.69 1.00 1.22 1.26 1.08 0.80 0.56 0.52 0.70 0.98 1.18 1.12 0.80 0.40 0.22 0.52 1.31 2.38 3.35 3.88 3.82 3.31 2.61 1.99 1.59 1.35 1.11 0.79 0.39 0.06 0.00 0.21 0.65 1.06 1.23 1.06 0.65 0.21 0.00 0.06 0.39 0.79 1.11 1.35 1.59 1.99 2.61 3.31 3.82 3.88 3.35 2.38 1.31 0.52 0.22 0.40 0.80 1.12 1.18 0.98 0.70 0.52 0.56 0.80 1.08 1.26 1.22 1.00 0.69 0.44 0.34 0.44 0.69 1.00 1.22 1.26 1.08 0.80 0.56 0.52 0.70 0.98 1.18 1.12 0.80 0.40 0.22 0.52 1.31 2.38 3.35 3.88 3.82 3.31 2.61 1.99 1.59 1.35 1.11 0.79 0.39 0.06 0.00 0.21 0.65 1.06 1.23 1.06 0.65 0.21 0.00 0.06 0.39 0.79 1.11 1.35 1.59 1.99 2.61 3.31 3.82 3.88 3.35 2.38 1.31 0.52 0.22 0.40 0.80 1.12 1.18 0.98 0.70 0.52 0.56 0.80 1.08 1.26 1.22 1.00 0.69 0.44 0.34 90.0 + + 47.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.22 ) PHI2 = 48. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.0 + 2.5 0.00 0.00 0.09 0.28 0.37 0.38 0.37 0.40 0.49 0.64 0.84 1.05 1.27 1.51 1.76 2.01 2.19 2.27 2.23 2.08 1.86 1.62 1.38 1.15 0.93 0.73 0.56 0.45 0.40 0.39 0.35 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.35 0.39 0.40 0.45 0.56 0.73 0.93 1.15 1.38 1.61 1.85 2.07 2.22 2.27 2.18 2.00 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.40 0.38 0.39 0.37 0.28 0.10 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.37 0.38 0.37 0.40 0.49 0.64 0.84 1.05 1.27 1.51 1.76 2.01 2.19 2.27 2.23 2.08 1.86 1.62 1.38 1.15 0.93 0.73 0.56 0.45 0.40 0.39 0.35 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.35 0.39 0.40 0.45 0.56 0.73 0.93 1.15 1.38 1.61 1.85 2.07 2.22 2.27 2.18 2.00 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.40 0.38 0.39 0.37 0.28 0.10 0.00 0.00 0.00 0.00 2.5 + 5.0 0.00 0.12 0.31 0.43 0.47 0.43 0.36 0.34 0.38 0.50 0.68 0.89 1.13 1.40 1.69 1.99 2.23 2.37 2.38 2.25 2.04 1.78 1.52 1.27 1.03 0.82 0.65 0.54 0.49 0.48 0.44 0.35 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.35 0.45 0.49 0.50 0.55 0.65 0.81 1.02 1.25 1.51 1.77 2.02 2.23 2.35 2.34 2.20 1.97 1.68 1.39 1.12 0.88 0.67 0.50 0.39 0.35 0.38 0.45 0.49 0.44 0.31 0.12 0.00 0.00 0.00 0.12 0.31 0.43 0.47 0.43 0.36 0.34 0.38 0.50 0.68 0.89 1.13 1.40 1.69 1.99 2.23 2.37 2.38 2.25 2.04 1.78 1.52 1.27 1.03 0.82 0.65 0.54 0.49 0.48 0.44 0.35 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.35 0.45 0.49 0.50 0.55 0.65 0.81 1.02 1.25 1.51 1.77 2.02 2.23 2.35 2.34 2.20 1.97 1.68 1.39 1.12 0.88 0.67 0.50 0.39 0.35 0.38 0.45 0.49 0.44 0.31 0.12 0.00 0.00 0.00 5.0 + 7.5 0.37 0.49 0.61 0.68 0.66 0.56 0.44 0.35 0.34 0.41 0.55 0.75 0.99 1.28 1.61 1.96 2.27 2.49 2.56 2.49 2.30 2.04 1.76 1.49 1.26 1.06 0.91 0.82 0.78 0.77 0.74 0.67 0.53 0.36 0.21 0.15 0.20 0.34 0.52 0.66 0.75 0.78 0.78 0.81 0.89 1.03 1.22 1.46 1.72 2.00 2.25 2.44 2.50 2.43 2.22 1.92 1.59 1.27 0.99 0.75 0.55 0.42 0.36 0.38 0.48 0.60 0.69 0.70 0.62 0.48 0.37 0.32 0.37 0.49 0.61 0.68 0.66 0.56 0.44 0.35 0.34 0.41 0.55 0.75 0.99 1.28 1.61 1.96 2.27 2.49 2.56 2.49 2.30 2.04 1.76 1.49 1.26 1.06 0.91 0.82 0.78 0.77 0.74 0.67 0.53 0.36 0.21 0.15 0.20 0.34 0.52 0.66 0.75 0.78 0.78 0.81 0.89 1.03 1.22 1.46 1.72 2.00 2.25 2.44 2.50 2.43 2.22 1.92 1.59 1.27 0.99 0.75 0.55 0.42 0.36 0.38 0.48 0.60 0.69 0.70 0.62 0.48 0.37 0.32 0.37 7.5 + 10.0 0.80 0.88 0.96 0.97 0.91 0.79 0.64 0.51 0.45 0.47 0.57 0.72 0.94 1.21 1.55 1.92 2.27 2.56 2.71 2.71 2.57 2.34 2.07 1.82 1.61 1.45 1.34 1.28 1.27 1.28 1.28 1.24 1.15 1.01 0.89 0.84 0.87 0.97 1.10 1.21 1.27 1.28 1.25 1.24 1.28 1.37 1.52 1.74 2.00 2.26 2.49 2.62 2.62 2.47 2.21 1.87 1.53 1.21 0.95 0.73 0.57 0.49 0.48 0.56 0.70 0.85 0.96 0.99 0.95 0.86 0.79 0.76 0.80 0.88 0.96 0.97 0.91 0.79 0.64 0.51 0.45 0.47 0.57 0.72 0.94 1.21 1.55 1.92 2.27 2.56 2.71 2.71 2.57 2.34 2.07 1.82 1.61 1.45 1.34 1.28 1.27 1.28 1.28 1.24 1.15 1.01 0.89 0.84 0.87 0.97 1.10 1.21 1.27 1.28 1.25 1.24 1.28 1.37 1.52 1.74 2.00 2.26 2.49 2.62 2.62 2.47 2.21 1.87 1.53 1.21 0.95 0.73 0.57 0.49 0.48 0.56 0.70 0.85 0.96 0.99 0.95 0.86 0.79 0.76 0.80 10.0 + 12.5 1.15 1.20 1.24 1.24 1.17 1.05 0.91 0.78 0.70 0.67 0.72 0.81 0.97 1.19 1.48 1.83 2.20 2.52 2.75 2.83 2.76 2.59 2.38 2.17 2.00 1.89 1.83 1.82 1.85 1.89 1.92 1.92 1.87 1.77 1.68 1.63 1.64 1.70 1.79 1.86 1.88 1.85 1.78 1.73 1.70 1.74 1.85 2.03 2.25 2.48 2.66 2.72 2.64 2.43 2.13 1.79 1.48 1.21 1.00 0.84 0.74 0.70 0.74 0.84 0.98 1.12 1.22 1.25 1.23 1.17 1.13 1.12 1.15 1.20 1.24 1.24 1.17 1.05 0.91 0.78 0.70 0.67 0.72 0.81 0.97 1.19 1.48 1.83 2.20 2.52 2.75 2.83 2.76 2.59 2.38 2.17 2.00 1.89 1.83 1.82 1.85 1.89 1.92 1.92 1.87 1.77 1.68 1.63 1.64 1.70 1.79 1.86 1.88 1.85 1.78 1.73 1.70 1.74 1.85 2.03 2.25 2.48 2.66 2.72 2.64 2.43 2.13 1.79 1.48 1.21 1.00 0.84 0.74 0.70 0.74 0.84 0.98 1.12 1.22 1.25 1.23 1.17 1.13 1.12 1.15 12.5 + 15.0 1.36 1.38 1.39 1.37 1.32 1.24 1.14 1.04 0.95 0.90 0.90 0.93 1.01 1.15 1.37 1.66 2.00 2.35 2.63 2.79 2.82 2.73 2.57 2.41 2.28 2.20 2.18 2.20 2.26 2.34 2.42 2.45 2.44 2.39 2.32 2.27 2.26 2.29 2.34 2.36 2.34 2.26 2.16 2.06 1.99 1.99 2.07 2.22 2.41 2.59 2.70 2.69 2.54 2.27 1.96 1.65 1.39 1.20 1.07 0.98 0.94 0.94 1.00 1.10 1.22 1.31 1.37 1.37 1.35 1.33 1.32 1.34 1.36 1.38 1.39 1.37 1.32 1.24 1.14 1.04 0.95 0.90 0.90 0.93 1.01 1.15 1.37 1.66 2.00 2.35 2.63 2.79 2.82 2.73 2.57 2.41 2.28 2.20 2.18 2.20 2.26 2.34 2.42 2.45 2.44 2.39 2.32 2.27 2.26 2.29 2.34 2.36 2.34 2.26 2.16 2.06 1.99 1.99 2.07 2.22 2.41 2.59 2.70 2.69 2.54 2.27 1.96 1.65 1.39 1.20 1.07 0.98 0.94 0.94 1.00 1.10 1.22 1.31 1.37 1.37 1.35 1.33 1.32 1.34 1.36 15.0 + 17.5 1.39 1.38 1.35 1.31 1.28 1.24 1.19 1.13 1.06 1.00 0.97 0.96 0.97 1.04 1.17 1.39 1.69 2.04 2.36 2.59 2.70 2.68 2.59 2.46 2.35 2.27 2.25 2.29 2.37 2.48 2.59 2.67 2.70 2.69 2.64 2.60 2.58 2.58 2.58 2.55 2.48 2.37 2.23 2.11 2.03 2.02 2.10 2.24 2.41 2.56 2.61 2.52 2.31 2.02 1.70 1.43 1.24 1.12 1.06 1.03 1.03 1.06 1.12 1.20 1.27 1.30 1.31 1.29 1.29 1.31 1.34 1.37 1.39 1.38 1.35 1.31 1.28 1.24 1.19 1.13 1.06 1.00 0.97 0.96 0.97 1.04 1.17 1.39 1.69 2.04 2.36 2.59 2.70 2.68 2.59 2.46 2.35 2.27 2.25 2.29 2.37 2.48 2.59 2.67 2.70 2.69 2.64 2.60 2.58 2.58 2.58 2.55 2.48 2.37 2.23 2.11 2.03 2.02 2.10 2.24 2.41 2.56 2.61 2.52 2.31 2.02 1.70 1.43 1.24 1.12 1.06 1.03 1.03 1.06 1.12 1.20 1.27 1.30 1.31 1.29 1.29 1.31 1.34 1.37 1.39 17.5 + 20.0 1.24 1.19 1.11 1.05 1.02 1.01 1.00 0.98 0.94 0.89 0.85 0.81 0.80 0.81 0.89 1.05 1.31 1.63 1.97 2.25 2.42 2.48 2.43 2.32 2.21 2.12 2.09 2.11 2.20 2.33 2.48 2.61 2.70 2.73 2.71 2.68 2.64 2.61 2.56 2.48 2.35 2.20 2.04 1.91 1.85 1.86 1.96 2.11 2.28 2.39 2.39 2.26 2.01 1.69 1.39 1.15 1.01 0.93 0.90 0.90 0.92 0.95 1.00 1.05 1.07 1.06 1.02 1.01 1.03 1.10 1.19 1.24 1.24 1.19 1.11 1.05 1.02 1.01 1.00 0.98 0.94 0.89 0.85 0.81 0.80 0.81 0.89 1.05 1.31 1.63 1.97 2.25 2.42 2.48 2.43 2.32 2.21 2.12 2.09 2.11 2.20 2.33 2.48 2.61 2.70 2.73 2.71 2.68 2.64 2.61 2.56 2.48 2.35 2.20 2.04 1.91 1.85 1.86 1.96 2.11 2.28 2.39 2.39 2.26 2.01 1.69 1.39 1.15 1.01 0.93 0.90 0.90 0.92 0.95 1.00 1.05 1.07 1.06 1.02 1.01 1.03 1.10 1.19 1.24 1.24 20.0 + 22.5 0.97 0.87 0.74 0.64 0.59 0.60 0.63 0.64 0.62 0.59 0.55 0.52 0.51 0.52 0.57 0.69 0.90 1.20 1.53 1.83 2.05 2.16 2.16 2.09 1.99 1.90 1.86 1.89 1.99 2.15 2.34 2.53 2.67 2.75 2.77 2.74 2.69 2.62 2.51 2.36 2.17 1.97 1.79 1.66 1.61 1.65 1.76 1.91 2.05 2.13 2.09 1.93 1.66 1.35 1.07 0.86 0.73 0.67 0.64 0.63 0.64 0.66 0.69 0.71 0.69 0.64 0.59 0.58 0.64 0.77 0.90 0.98 0.97 0.87 0.74 0.64 0.59 0.60 0.63 0.64 0.62 0.59 0.55 0.52 0.51 0.52 0.57 0.69 0.90 1.20 1.53 1.83 2.05 2.16 2.16 2.09 1.99 1.90 1.86 1.89 1.99 2.15 2.34 2.53 2.67 2.75 2.77 2.74 2.69 2.62 2.51 2.36 2.17 1.97 1.79 1.66 1.61 1.65 1.76 1.91 2.05 2.13 2.09 1.93 1.66 1.35 1.07 0.86 0.73 0.67 0.64 0.63 0.64 0.66 0.69 0.71 0.69 0.64 0.59 0.58 0.64 0.77 0.90 0.98 0.97 22.5 + 25.0 0.62 0.48 0.31 0.18 0.14 0.16 0.21 0.25 0.25 0.22 0.20 0.19 0.19 0.22 0.27 0.36 0.54 0.79 1.09 1.39 1.65 1.81 1.87 1.87 1.82 1.78 1.78 1.85 1.99 2.19 2.43 2.66 2.85 2.97 3.02 3.01 2.93 2.81 2.63 2.41 2.17 1.93 1.72 1.57 1.51 1.52 1.60 1.70 1.79 1.82 1.74 1.56 1.30 1.02 0.77 0.59 0.47 0.39 0.34 0.31 0.29 0.30 0.32 0.31 0.26 0.19 0.12 0.12 0.22 0.39 0.56 0.65 0.62 0.48 0.31 0.18 0.14 0.16 0.21 0.25 0.25 0.22 0.20 0.19 0.19 0.22 0.27 0.36 0.54 0.79 1.09 1.39 1.65 1.81 1.87 1.87 1.82 1.78 1.78 1.85 1.99 2.19 2.43 2.66 2.85 2.97 3.02 3.01 2.93 2.81 2.63 2.41 2.17 1.93 1.72 1.57 1.51 1.52 1.60 1.70 1.79 1.82 1.74 1.56 1.30 1.02 0.77 0.59 0.47 0.39 0.34 0.31 0.29 0.30 0.32 0.31 0.26 0.19 0.12 0.12 0.22 0.39 0.56 0.65 0.62 25.0 + 27.5 0.27 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.11 0.23 0.43 0.68 0.97 1.24 1.46 1.62 1.71 1.77 1.83 1.92 2.07 2.27 2.52 2.79 3.05 3.27 3.42 3.48 3.47 3.37 3.20 2.97 2.69 2.40 2.13 1.90 1.72 1.60 1.55 1.54 1.54 1.54 1.49 1.37 1.18 0.95 0.71 0.51 0.36 0.26 0.17 0.09 0.04 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.22 0.32 0.27 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.11 0.23 0.43 0.68 0.97 1.24 1.46 1.62 1.71 1.77 1.83 1.92 2.07 2.27 2.52 2.79 3.05 3.27 3.42 3.48 3.47 3.37 3.20 2.97 2.69 2.40 2.13 1.90 1.72 1.60 1.55 1.54 1.54 1.54 1.49 1.37 1.18 0.95 0.71 0.51 0.36 0.26 0.17 0.09 0.04 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.22 0.32 0.27 27.5 + 30.0 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.15 0.35 0.61 0.89 1.16 1.39 1.59 1.78 1.97 2.17 2.41 2.67 2.95 3.22 3.48 3.69 3.84 3.91 3.88 3.76 3.56 3.30 3.01 2.71 2.43 2.19 1.98 1.80 1.65 1.52 1.41 1.30 1.17 1.01 0.82 0.62 0.44 0.30 0.19 0.10 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.15 0.35 0.61 0.89 1.16 1.39 1.59 1.78 1.97 2.17 2.41 2.67 2.95 3.22 3.48 3.69 3.84 3.91 3.88 3.76 3.56 3.30 3.01 2.71 2.43 2.19 1.98 1.80 1.65 1.52 1.41 1.30 1.17 1.01 0.82 0.62 0.44 0.30 0.19 0.10 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.02 30.0 + 32.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.36 0.63 0.92 1.20 1.47 1.74 2.03 2.32 2.62 2.90 3.17 3.40 3.61 3.78 3.90 3.96 3.92 3.79 3.59 3.33 3.06 2.81 2.58 2.36 2.15 1.92 1.69 1.47 1.26 1.07 0.90 0.72 0.54 0.38 0.24 0.13 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.36 0.63 0.92 1.20 1.47 1.74 2.03 2.32 2.62 2.90 3.17 3.40 3.61 3.78 3.90 3.96 3.92 3.79 3.59 3.33 3.06 2.81 2.58 2.36 2.15 1.92 1.69 1.47 1.26 1.07 0.90 0.72 0.54 0.38 0.24 0.13 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 32.5 + 35.0 0.06 0.00 0.00 0.00 0.00 0.00 0.04 0.08 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.52 0.78 1.04 1.30 1.58 1.89 2.20 2.50 2.75 2.95 3.10 3.23 3.34 3.42 3.46 3.42 3.30 3.11 2.90 2.69 2.52 2.37 2.23 2.06 1.84 1.59 1.33 1.10 0.90 0.74 0.58 0.43 0.28 0.15 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.11 0.06 0.00 0.00 0.00 0.00 0.00 0.04 0.08 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.52 0.78 1.04 1.30 1.58 1.89 2.20 2.50 2.75 2.95 3.10 3.23 3.34 3.42 3.46 3.42 3.30 3.11 2.90 2.69 2.52 2.37 2.23 2.06 1.84 1.59 1.33 1.10 0.90 0.74 0.58 0.43 0.28 0.15 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.11 0.06 35.0 + 37.5 0.34 0.24 0.15 0.11 0.15 0.22 0.29 0.30 0.24 0.13 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.36 0.57 0.76 0.93 1.11 1.31 1.55 1.81 2.04 2.22 2.31 2.36 2.39 2.44 2.50 2.54 2.52 2.42 2.26 2.09 1.95 1.87 1.84 1.81 1.72 1.56 1.35 1.13 0.95 0.82 0.73 0.64 0.52 0.36 0.20 0.06 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.13 0.17 0.16 0.13 0.10 0.10 0.17 0.27 0.35 0.38 0.34 0.24 0.15 0.11 0.15 0.22 0.29 0.30 0.24 0.13 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.36 0.57 0.76 0.93 1.11 1.31 1.55 1.81 2.04 2.22 2.31 2.36 2.39 2.44 2.50 2.54 2.52 2.42 2.26 2.09 1.95 1.87 1.84 1.81 1.72 1.56 1.35 1.13 0.95 0.82 0.73 0.64 0.52 0.36 0.20 0.06 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.13 0.17 0.16 0.13 0.10 0.10 0.17 0.27 0.35 0.38 0.34 37.5 + 40.0 0.64 0.57 0.49 0.46 0.46 0.49 0.50 0.48 0.42 0.33 0.23 0.13 0.04 0.00 0.00 0.00 0.00 0.12 0.35 0.57 0.74 0.84 0.88 0.91 0.99 1.13 1.29 1.44 1.51 1.50 1.44 1.40 1.42 1.49 1.56 1.58 1.51 1.37 1.21 1.12 1.11 1.18 1.26 1.27 1.20 1.06 0.92 0.83 0.81 0.83 0.83 0.75 0.58 0.36 0.15 0.01 0.00 0.00 0.05 0.13 0.20 0.25 0.29 0.32 0.34 0.37 0.41 0.47 0.55 0.63 0.69 0.69 0.64 0.57 0.49 0.46 0.46 0.49 0.50 0.48 0.42 0.33 0.23 0.13 0.04 0.00 0.00 0.00 0.00 0.12 0.35 0.57 0.74 0.84 0.88 0.91 0.99 1.13 1.29 1.44 1.51 1.50 1.44 1.40 1.42 1.49 1.56 1.58 1.51 1.37 1.21 1.12 1.11 1.18 1.26 1.27 1.20 1.06 0.92 0.83 0.81 0.83 0.83 0.75 0.58 0.36 0.15 0.01 0.00 0.00 0.05 0.13 0.20 0.25 0.29 0.32 0.34 0.37 0.41 0.47 0.55 0.63 0.69 0.69 0.64 40.0 + 42.5 0.81 0.76 0.73 0.70 0.68 0.65 0.62 0.58 0.55 0.51 0.47 0.39 0.27 0.13 0.01 0.00 0.06 0.27 0.54 0.78 0.91 0.91 0.82 0.71 0.67 0.72 0.82 0.90 0.89 0.80 0.67 0.60 0.63 0.75 0.89 0.97 0.92 0.77 0.58 0.47 0.49 0.62 0.78 0.88 0.88 0.80 0.72 0.72 0.81 0.94 1.03 0.99 0.81 0.52 0.24 0.05 0.00 0.08 0.23 0.36 0.44 0.46 0.45 0.44 0.46 0.53 0.64 0.74 0.83 0.88 0.89 0.86 0.81 0.76 0.73 0.70 0.68 0.65 0.62 0.58 0.55 0.51 0.47 0.39 0.27 0.13 0.01 0.00 0.06 0.27 0.54 0.78 0.91 0.91 0.82 0.71 0.67 0.72 0.82 0.90 0.89 0.80 0.67 0.60 0.63 0.75 0.89 0.97 0.92 0.77 0.58 0.47 0.49 0.62 0.78 0.88 0.88 0.80 0.72 0.72 0.81 0.94 1.03 0.99 0.81 0.52 0.24 0.05 0.00 0.08 0.23 0.36 0.44 0.46 0.45 0.44 0.46 0.53 0.64 0.74 0.83 0.88 0.89 0.86 0.81 42.5 + 45.0 0.72 0.72 0.75 0.76 0.73 0.67 0.60 0.56 0.58 0.64 0.69 0.66 0.53 0.33 0.12 0.02 0.09 0.31 0.61 0.86 0.95 0.86 0.67 0.47 0.37 0.39 0.48 0.55 0.51 0.37 0.21 0.14 0.23 0.44 0.68 0.82 0.78 0.58 0.32 0.14 0.13 0.27 0.47 0.62 0.65 0.59 0.53 0.55 0.70 0.91 1.08 1.09 0.90 0.58 0.26 0.05 0.04 0.20 0.44 0.64 0.72 0.68 0.58 0.49 0.49 0.57 0.71 0.84 0.91 0.90 0.83 0.76 0.72 0.72 0.75 0.76 0.73 0.67 0.60 0.56 0.58 0.64 0.69 0.66 0.53 0.33 0.12 0.02 0.09 0.31 0.61 0.86 0.95 0.86 0.67 0.47 0.37 0.39 0.48 0.55 0.51 0.37 0.21 0.14 0.23 0.44 0.68 0.82 0.78 0.58 0.32 0.14 0.13 0.27 0.47 0.62 0.65 0.59 0.53 0.55 0.70 0.91 1.08 1.09 0.90 0.58 0.26 0.05 0.04 0.20 0.44 0.64 0.72 0.68 0.58 0.49 0.49 0.57 0.71 0.84 0.91 0.90 0.83 0.76 0.72 45.0 + 47.5 0.38 0.44 0.55 0.62 0.62 0.54 0.45 0.43 0.52 0.69 0.85 0.90 0.78 0.52 0.22 0.03 0.04 0.23 0.52 0.74 0.79 0.64 0.39 0.16 0.07 0.13 0.27 0.36 0.34 0.19 0.04 0.00 0.15 0.46 0.79 0.99 0.95 0.68 0.33 0.05 0.00 0.09 0.30 0.46 0.49 0.41 0.30 0.29 0.44 0.68 0.90 0.96 0.80 0.49 0.16 0.00 0.05 0.31 0.65 0.91 0.98 0.87 0.65 0.47 0.40 0.48 0.62 0.74 0.76 0.67 0.52 0.41 0.38 0.44 0.55 0.62 0.62 0.54 0.45 0.43 0.52 0.69 0.85 0.90 0.78 0.52 0.22 0.03 0.04 0.23 0.52 0.74 0.79 0.64 0.39 0.16 0.07 0.13 0.27 0.36 0.34 0.19 0.04 0.00 0.15 0.46 0.79 0.99 0.95 0.68 0.33 0.05 0.00 0.09 0.30 0.46 0.49 0.41 0.30 0.29 0.44 0.68 0.90 0.96 0.80 0.49 0.16 0.00 0.05 0.31 0.65 0.91 0.98 0.87 0.65 0.47 0.40 0.48 0.62 0.74 0.76 0.67 0.52 0.41 0.38 47.5 + 50.0 0.00 0.06 0.26 0.40 0.41 0.32 0.22 0.22 0.38 0.66 0.94 1.08 0.99 0.68 0.31 0.02 0.00 0.08 0.31 0.50 0.50 0.31 0.04 0.00 0.00 0.00 0.11 0.27 0.27 0.14 0.00 0.00 0.20 0.59 1.00 1.24 1.18 0.86 0.41 0.04 0.00 0.00 0.19 0.36 0.36 0.22 0.04 0.00 0.06 0.30 0.55 0.66 0.56 0.29 0.00 0.00 0.03 0.40 0.83 1.13 1.19 0.99 0.66 0.37 0.24 0.28 0.42 0.52 0.49 0.32 0.09 0.00 0.00 0.06 0.26 0.40 0.41 0.32 0.22 0.22 0.38 0.66 0.94 1.08 0.99 0.68 0.31 0.02 0.00 0.08 0.31 0.50 0.50 0.31 0.04 0.00 0.00 0.00 0.11 0.27 0.27 0.14 0.00 0.00 0.20 0.59 1.00 1.24 1.18 0.86 0.41 0.04 0.00 0.00 0.19 0.36 0.36 0.22 0.04 0.00 0.06 0.30 0.55 0.66 0.56 0.29 0.00 0.00 0.03 0.40 0.83 1.13 1.19 0.99 0.66 0.37 0.24 0.28 0.42 0.52 0.49 0.32 0.09 0.00 0.00 50.0 + 52.5 0.00 0.00 0.04 0.23 0.25 0.13 0.00 0.00 0.20 0.57 0.96 1.18 1.13 0.83 0.40 0.04 0.00 0.00 0.15 0.28 0.24 0.03 0.00 0.00 0.00 0.00 0.01 0.21 0.24 0.12 0.00 0.00 0.23 0.66 1.10 1.35 1.29 0.93 0.43 0.02 0.00 0.00 0.11 0.28 0.27 0.08 0.00 0.00 0.00 0.00 0.21 0.36 0.31 0.10 0.00 0.00 0.04 0.47 0.96 1.28 1.30 1.03 0.61 0.23 0.05 0.07 0.21 0.30 0.24 0.02 0.00 0.00 0.00 0.00 0.04 0.23 0.25 0.13 0.00 0.00 0.20 0.57 0.96 1.18 1.13 0.83 0.40 0.04 0.00 0.00 0.15 0.28 0.24 0.03 0.00 0.00 0.00 0.00 0.01 0.21 0.24 0.12 0.00 0.00 0.23 0.66 1.10 1.35 1.29 0.93 0.43 0.02 0.00 0.00 0.11 0.28 0.27 0.08 0.00 0.00 0.00 0.00 0.21 0.36 0.31 0.10 0.00 0.00 0.04 0.47 0.96 1.28 1.30 1.03 0.61 0.23 0.05 0.07 0.21 0.30 0.24 0.02 0.00 0.00 0.00 52.5 + 55.0 0.00 0.00 0.04 0.23 0.23 0.07 0.00 0.00 0.06 0.47 0.93 1.22 1.23 0.95 0.52 0.14 0.00 0.00 0.12 0.22 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.23 0.12 0.00 0.00 0.23 0.64 1.06 1.31 1.24 0.88 0.39 0.00 0.00 0.00 0.10 0.27 0.25 0.05 0.00 0.00 0.00 0.00 0.02 0.20 0.20 0.04 0.00 0.00 0.09 0.55 1.04 1.35 1.33 1.01 0.53 0.11 0.00 0.00 0.09 0.20 0.15 0.00 0.00 0.00 0.00 0.00 0.04 0.23 0.23 0.07 0.00 0.00 0.06 0.47 0.93 1.22 1.23 0.95 0.52 0.14 0.00 0.00 0.12 0.22 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.23 0.12 0.00 0.00 0.23 0.64 1.06 1.31 1.24 0.88 0.39 0.00 0.00 0.00 0.10 0.27 0.25 0.05 0.00 0.00 0.00 0.00 0.02 0.20 0.20 0.04 0.00 0.00 0.09 0.55 1.04 1.35 1.33 1.01 0.53 0.11 0.00 0.00 0.09 0.20 0.15 0.00 0.00 0.00 0.00 55.0 + 57.5 0.00 0.00 0.27 0.43 0.38 0.15 0.00 0.00 0.01 0.42 0.89 1.21 1.26 1.03 0.64 0.28 0.10 0.12 0.26 0.35 0.30 0.10 0.00 0.00 0.00 0.00 0.08 0.26 0.30 0.19 0.07 0.07 0.26 0.61 0.97 1.18 1.11 0.80 0.37 0.01 0.00 0.00 0.17 0.34 0.33 0.14 0.00 0.00 0.00 0.00 0.02 0.21 0.23 0.11 0.00 0.00 0.18 0.60 1.05 1.33 1.29 0.95 0.47 0.05 0.00 0.00 0.11 0.27 0.26 0.08 0.00 0.00 0.00 0.00 0.27 0.43 0.38 0.15 0.00 0.00 0.01 0.42 0.89 1.21 1.26 1.03 0.64 0.28 0.10 0.12 0.26 0.35 0.30 0.10 0.00 0.00 0.00 0.00 0.08 0.26 0.30 0.19 0.07 0.07 0.26 0.61 0.97 1.18 1.11 0.80 0.37 0.01 0.00 0.00 0.17 0.34 0.33 0.14 0.00 0.00 0.00 0.00 0.02 0.21 0.23 0.11 0.00 0.00 0.18 0.60 1.05 1.33 1.29 0.95 0.47 0.05 0.00 0.00 0.11 0.27 0.26 0.08 0.00 0.00 0.00 57.5 + 60.0 0.16 0.37 0.60 0.71 0.61 0.34 0.05 0.00 0.06 0.42 0.85 1.16 1.22 1.03 0.69 0.38 0.24 0.28 0.42 0.53 0.51 0.34 0.11 0.00 0.00 0.03 0.22 0.37 0.40 0.33 0.22 0.21 0.34 0.60 0.88 1.03 0.98 0.73 0.39 0.11 0.02 0.12 0.31 0.46 0.45 0.27 0.01 0.00 0.00 0.00 0.12 0.29 0.31 0.20 0.06 0.04 0.23 0.59 0.99 1.22 1.18 0.87 0.43 0.07 0.00 0.01 0.24 0.43 0.48 0.37 0.19 0.09 0.16 0.37 0.60 0.71 0.61 0.34 0.05 0.00 0.06 0.42 0.85 1.16 1.22 1.03 0.69 0.38 0.24 0.28 0.42 0.53 0.51 0.34 0.11 0.00 0.00 0.03 0.22 0.37 0.40 0.33 0.22 0.21 0.34 0.60 0.88 1.03 0.98 0.73 0.39 0.11 0.02 0.12 0.31 0.46 0.45 0.27 0.01 0.00 0.00 0.00 0.12 0.29 0.31 0.20 0.06 0.04 0.23 0.59 0.99 1.22 1.18 0.87 0.43 0.07 0.00 0.01 0.24 0.43 0.48 0.37 0.19 0.09 0.16 60.0 + 62.5 0.50 0.68 0.86 0.92 0.79 0.51 0.22 0.08 0.16 0.45 0.80 1.06 1.09 0.91 0.62 0.36 0.24 0.30 0.46 0.59 0.61 0.49 0.29 0.12 0.06 0.14 0.28 0.41 0.47 0.43 0.36 0.34 0.42 0.59 0.78 0.88 0.84 0.66 0.42 0.23 0.19 0.28 0.43 0.54 0.52 0.36 0.12 0.00 0.00 0.00 0.17 0.30 0.31 0.20 0.06 0.03 0.17 0.47 0.81 1.03 1.01 0.77 0.42 0.13 0.03 0.15 0.38 0.59 0.67 0.61 0.49 0.43 0.50 0.68 0.86 0.92 0.79 0.51 0.22 0.08 0.16 0.45 0.80 1.06 1.09 0.91 0.62 0.36 0.24 0.30 0.46 0.59 0.61 0.49 0.29 0.12 0.06 0.14 0.28 0.41 0.47 0.43 0.36 0.34 0.42 0.59 0.78 0.88 0.84 0.66 0.42 0.23 0.19 0.28 0.43 0.54 0.52 0.36 0.12 0.00 0.00 0.00 0.17 0.30 0.31 0.20 0.06 0.03 0.17 0.47 0.81 1.03 1.01 0.77 0.42 0.13 0.03 0.15 0.38 0.59 0.67 0.61 0.49 0.43 0.50 62.5 + 65.0 0.63 0.77 0.91 0.94 0.81 0.57 0.33 0.20 0.25 0.47 0.73 0.90 0.89 0.70 0.43 0.19 0.09 0.16 0.31 0.46 0.51 0.42 0.26 0.10 0.03 0.07 0.19 0.33 0.41 0.42 0.38 0.36 0.40 0.50 0.62 0.69 0.67 0.56 0.41 0.30 0.28 0.35 0.47 0.54 0.50 0.34 0.14 0.00 0.00 0.00 0.14 0.23 0.22 0.11 0.00 0.00 0.03 0.28 0.58 0.78 0.81 0.65 0.40 0.20 0.15 0.27 0.48 0.67 0.74 0.70 0.62 0.57 0.63 0.77 0.91 0.94 0.81 0.57 0.33 0.20 0.25 0.47 0.73 0.90 0.89 0.70 0.43 0.19 0.09 0.16 0.31 0.46 0.51 0.42 0.26 0.10 0.03 0.07 0.19 0.33 0.41 0.42 0.38 0.36 0.40 0.50 0.62 0.69 0.67 0.56 0.41 0.30 0.28 0.35 0.47 0.54 0.50 0.34 0.14 0.00 0.00 0.00 0.14 0.23 0.22 0.11 0.00 0.00 0.03 0.28 0.58 0.78 0.81 0.65 0.40 0.20 0.15 0.27 0.48 0.67 0.74 0.70 0.62 0.57 0.63 65.0 + 67.5 0.58 0.68 0.78 0.80 0.70 0.52 0.34 0.25 0.30 0.45 0.63 0.73 0.68 0.48 0.21 0.00 0.00 0.00 0.09 0.24 0.30 0.24 0.09 0.00 0.00 0.00 0.01 0.16 0.26 0.30 0.29 0.27 0.29 0.35 0.45 0.52 0.54 0.48 0.39 0.32 0.32 0.38 0.47 0.51 0.47 0.34 0.17 0.03 0.00 0.06 0.17 0.24 0.21 0.09 0.00 0.00 0.00 0.13 0.39 0.58 0.64 0.55 0.39 0.27 0.26 0.36 0.53 0.66 0.70 0.66 0.58 0.54 0.58 0.68 0.78 0.80 0.70 0.52 0.34 0.25 0.30 0.45 0.63 0.73 0.68 0.48 0.21 0.00 0.00 0.00 0.09 0.24 0.30 0.24 0.09 0.00 0.00 0.00 0.01 0.16 0.26 0.30 0.29 0.27 0.29 0.35 0.45 0.52 0.54 0.48 0.39 0.32 0.32 0.38 0.47 0.51 0.47 0.34 0.17 0.03 0.00 0.06 0.17 0.24 0.21 0.09 0.00 0.00 0.00 0.13 0.39 0.58 0.64 0.55 0.39 0.27 0.26 0.36 0.53 0.66 0.70 0.66 0.58 0.54 0.58 67.5 + 70.0 0.48 0.55 0.62 0.63 0.56 0.44 0.32 0.26 0.30 0.42 0.55 0.61 0.55 0.35 0.10 0.00 0.00 0.00 0.00 0.15 0.23 0.19 0.05 0.00 0.00 0.00 0.00 0.08 0.20 0.24 0.23 0.20 0.22 0.30 0.42 0.53 0.58 0.57 0.50 0.44 0.44 0.49 0.58 0.64 0.63 0.53 0.41 0.33 0.33 0.42 0.54 0.60 0.54 0.37 0.17 0.04 0.04 0.18 0.38 0.54 0.60 0.55 0.45 0.37 0.38 0.47 0.59 0.67 0.67 0.61 0.52 0.47 0.48 0.55 0.62 0.63 0.56 0.44 0.32 0.26 0.30 0.42 0.55 0.61 0.55 0.35 0.10 0.00 0.00 0.00 0.00 0.15 0.23 0.19 0.05 0.00 0.00 0.00 0.00 0.08 0.20 0.24 0.23 0.20 0.22 0.30 0.42 0.53 0.58 0.57 0.50 0.44 0.44 0.49 0.58 0.64 0.63 0.53 0.41 0.33 0.33 0.42 0.54 0.60 0.54 0.37 0.17 0.04 0.04 0.18 0.38 0.54 0.60 0.55 0.45 0.37 0.38 0.47 0.59 0.67 0.67 0.61 0.52 0.47 0.48 70.0 + 72.5 0.52 0.55 0.59 0.59 0.53 0.44 0.34 0.29 0.32 0.41 0.53 0.60 0.57 0.42 0.21 0.02 0.00 0.03 0.21 0.42 0.54 0.52 0.37 0.19 0.07 0.07 0.17 0.31 0.41 0.43 0.38 0.34 0.37 0.49 0.68 0.85 0.95 0.95 0.87 0.78 0.76 0.82 0.94 1.05 1.10 1.07 1.02 1.01 1.10 1.25 1.41 1.46 1.35 1.10 0.80 0.56 0.46 0.52 0.64 0.75 0.77 0.70 0.60 0.54 0.56 0.64 0.74 0.80 0.78 0.70 0.60 0.53 0.52 0.55 0.59 0.59 0.53 0.44 0.34 0.29 0.32 0.41 0.53 0.60 0.57 0.42 0.21 0.02 0.00 0.03 0.21 0.42 0.54 0.52 0.37 0.19 0.07 0.07 0.17 0.31 0.41 0.43 0.38 0.34 0.37 0.49 0.68 0.85 0.95 0.95 0.87 0.78 0.76 0.82 0.94 1.05 1.10 1.07 1.02 1.01 1.10 1.25 1.41 1.46 1.35 1.10 0.80 0.56 0.46 0.52 0.64 0.75 0.77 0.70 0.60 0.54 0.56 0.64 0.74 0.80 0.78 0.70 0.60 0.53 0.52 72.5 + 75.0 0.73 0.73 0.74 0.73 0.66 0.56 0.45 0.36 0.36 0.44 0.57 0.69 0.73 0.65 0.49 0.35 0.32 0.46 0.74 1.04 1.25 1.28 1.14 0.92 0.75 0.70 0.77 0.87 0.94 0.90 0.81 0.74 0.79 0.97 1.24 1.49 1.62 1.60 1.47 1.33 1.28 1.35 1.52 1.70 1.82 1.88 1.92 2.01 2.21 2.47 2.68 2.73 2.55 2.17 1.71 1.33 1.12 1.08 1.13 1.16 1.11 0.98 0.84 0.76 0.79 0.89 1.01 1.07 1.05 0.96 0.85 0.77 0.73 0.73 0.74 0.73 0.66 0.56 0.45 0.36 0.36 0.44 0.57 0.69 0.73 0.65 0.49 0.35 0.32 0.46 0.74 1.04 1.25 1.28 1.14 0.92 0.75 0.70 0.77 0.87 0.94 0.90 0.81 0.74 0.79 0.97 1.24 1.49 1.62 1.60 1.47 1.33 1.28 1.35 1.52 1.70 1.82 1.88 1.92 2.01 2.21 2.47 2.68 2.73 2.55 2.17 1.71 1.33 1.12 1.08 1.13 1.16 1.11 0.98 0.84 0.76 0.79 0.89 1.01 1.07 1.05 0.96 0.85 0.77 0.73 75.0 + 77.5 1.01 0.99 0.99 0.97 0.90 0.77 0.61 0.47 0.41 0.47 0.63 0.81 0.93 0.92 0.81 0.69 0.71 0.93 1.34 1.80 2.14 2.26 2.13 1.87 1.63 1.51 1.53 1.59 1.60 1.51 1.36 1.25 1.30 1.53 1.87 2.19 2.34 2.29 2.08 1.87 1.77 1.85 2.07 2.32 2.53 2.67 2.80 3.01 3.33 3.71 4.01 4.06 3.78 3.25 2.61 2.07 1.74 1.63 1.64 1.62 1.51 1.30 1.10 0.99 1.02 1.15 1.30 1.39 1.39 1.30 1.17 1.07 1.01 0.99 0.99 0.97 0.90 0.77 0.61 0.47 0.41 0.47 0.63 0.81 0.93 0.92 0.81 0.69 0.71 0.93 1.34 1.80 2.14 2.26 2.13 1.87 1.63 1.51 1.53 1.59 1.60 1.51 1.36 1.25 1.30 1.53 1.87 2.19 2.34 2.29 2.08 1.87 1.77 1.85 2.07 2.32 2.53 2.67 2.80 3.01 3.33 3.71 4.01 4.06 3.78 3.25 2.61 2.07 1.74 1.63 1.64 1.62 1.51 1.30 1.10 0.99 1.02 1.15 1.30 1.39 1.39 1.30 1.17 1.07 1.01 77.5 + 80.0 1.15 1.14 1.16 1.17 1.11 0.96 0.76 0.55 0.43 0.46 0.64 0.88 1.05 1.08 0.98 0.85 0.88 1.18 1.72 2.36 2.88 3.10 3.00 2.69 2.37 2.17 2.11 2.13 2.09 1.93 1.71 1.56 1.59 1.85 2.25 2.61 2.76 2.66 2.38 2.08 1.94 2.03 2.29 2.61 2.88 3.08 3.28 3.60 4.05 4.55 4.93 4.98 4.61 3.92 3.11 2.43 2.04 1.92 1.94 1.92 1.78 1.51 1.25 1.10 1.13 1.30 1.50 1.63 1.63 1.52 1.37 1.23 1.15 1.14 1.16 1.17 1.11 0.96 0.76 0.55 0.43 0.46 0.64 0.88 1.05 1.08 0.98 0.85 0.88 1.18 1.72 2.36 2.88 3.10 3.00 2.69 2.37 2.17 2.11 2.13 2.09 1.93 1.71 1.56 1.59 1.85 2.25 2.61 2.76 2.66 2.38 2.08 1.94 2.03 2.29 2.61 2.88 3.08 3.28 3.60 4.05 4.55 4.93 4.98 4.61 3.92 3.11 2.43 2.04 1.92 1.94 1.92 1.78 1.51 1.25 1.10 1.13 1.30 1.50 1.63 1.63 1.52 1.37 1.23 1.15 80.0 + 82.5 1.03 1.04 1.11 1.18 1.17 1.05 0.81 0.55 0.38 0.38 0.57 0.84 1.04 1.07 0.91 0.73 0.72 1.05 1.72 2.52 3.21 3.54 3.47 3.12 2.70 2.40 2.27 2.23 2.14 1.93 1.65 1.44 1.44 1.71 2.13 2.51 2.65 2.51 2.16 1.80 1.63 1.71 2.01 2.37 2.68 2.92 3.18 3.56 4.11 4.72 5.17 5.22 4.78 3.95 3.01 2.24 1.84 1.77 1.87 1.93 1.80 1.52 1.22 1.04 1.08 1.27 1.50 1.65 1.65 1.51 1.30 1.12 1.03 1.04 1.11 1.18 1.17 1.05 0.81 0.55 0.38 0.38 0.57 0.84 1.04 1.07 0.91 0.73 0.72 1.05 1.72 2.52 3.21 3.54 3.47 3.12 2.70 2.40 2.27 2.23 2.14 1.93 1.65 1.44 1.44 1.71 2.13 2.51 2.65 2.51 2.16 1.80 1.63 1.71 2.01 2.37 2.68 2.92 3.18 3.56 4.11 4.72 5.17 5.22 4.78 3.95 3.01 2.24 1.84 1.77 1.87 1.93 1.80 1.52 1.22 1.04 1.08 1.27 1.50 1.65 1.65 1.51 1.30 1.12 1.03 82.5 + 85.0 0.69 0.73 0.87 1.03 1.10 1.02 0.79 0.51 0.30 0.28 0.46 0.74 0.94 0.93 0.70 0.42 0.35 0.68 1.41 2.35 3.17 3.60 3.55 3.15 2.64 2.23 2.02 1.92 1.79 1.53 1.20 0.94 0.90 1.15 1.58 1.96 2.11 1.94 1.55 1.15 0.95 1.04 1.36 1.75 2.08 2.33 2.60 3.02 3.62 4.30 4.79 4.84 4.35 3.43 2.41 1.61 1.23 1.26 1.48 1.64 1.58 1.32 1.01 0.82 0.86 1.07 1.32 1.48 1.46 1.27 1.02 0.79 0.69 0.73 0.87 1.03 1.10 1.02 0.79 0.51 0.30 0.28 0.46 0.74 0.94 0.93 0.70 0.42 0.35 0.68 1.41 2.35 3.17 3.60 3.55 3.15 2.64 2.23 2.02 1.92 1.79 1.53 1.20 0.94 0.90 1.15 1.58 1.96 2.11 1.94 1.55 1.15 0.95 1.04 1.36 1.75 2.08 2.33 2.60 3.02 3.62 4.30 4.79 4.84 4.35 3.43 2.41 1.61 1.23 1.26 1.48 1.64 1.58 1.32 1.01 0.82 0.86 1.07 1.32 1.48 1.46 1.27 1.02 0.79 0.69 85.0 + 87.5 0.33 0.40 0.61 0.85 1.00 0.98 0.78 0.49 0.26 0.22 0.41 0.69 0.88 0.83 0.53 0.17 0.04 0.35 1.12 2.14 3.05 3.55 3.51 3.05 2.45 1.96 1.66 1.50 1.33 1.04 0.67 0.36 0.30 0.53 0.95 1.34 1.49 1.32 0.91 0.50 0.29 0.38 0.71 1.11 1.44 1.68 1.93 2.34 2.95 3.65 4.16 4.20 3.68 2.72 1.66 0.86 0.53 0.65 0.98 1.24 1.25 1.02 0.72 0.53 0.57 0.79 1.06 1.23 1.19 0.98 0.68 0.44 0.33 0.40 0.61 0.85 1.00 0.98 0.78 0.49 0.26 0.22 0.41 0.69 0.88 0.83 0.53 0.17 0.04 0.35 1.12 2.14 3.05 3.55 3.51 3.05 2.45 1.96 1.66 1.50 1.33 1.04 0.67 0.36 0.30 0.53 0.95 1.34 1.49 1.32 0.91 0.50 0.29 0.38 0.71 1.11 1.44 1.68 1.93 2.34 2.95 3.65 4.16 4.20 3.68 2.72 1.66 0.86 0.53 0.65 0.98 1.24 1.25 1.02 0.72 0.53 0.57 0.79 1.06 1.23 1.19 0.98 0.68 0.44 0.33 87.5 + 90.0 0.18 0.27 0.52 0.81 1.01 1.03 0.86 0.58 0.35 0.31 0.49 0.78 0.98 0.92 0.61 0.23 0.07 0.37 1.17 2.23 3.18 3.71 3.67 3.17 2.51 1.93 1.57 1.36 1.15 0.83 0.44 0.11 0.02 0.24 0.66 1.06 1.23 1.06 0.66 0.24 0.02 0.11 0.44 0.83 1.15 1.36 1.57 1.93 2.51 3.17 3.67 3.71 3.18 2.23 1.17 0.37 0.07 0.23 0.61 0.92 0.98 0.78 0.49 0.31 0.35 0.58 0.86 1.03 1.01 0.81 0.52 0.27 0.18 0.27 0.52 0.81 1.01 1.03 0.86 0.58 0.35 0.31 0.49 0.78 0.98 0.92 0.61 0.23 0.07 0.37 1.17 2.23 3.18 3.71 3.67 3.17 2.51 1.93 1.57 1.36 1.15 0.83 0.44 0.11 0.02 0.24 0.66 1.06 1.23 1.06 0.66 0.24 0.02 0.11 0.44 0.83 1.15 1.36 1.57 1.93 2.51 3.17 3.67 3.71 3.18 2.23 1.17 0.37 0.07 0.23 0.61 0.92 0.98 0.78 0.49 0.31 0.35 0.58 0.86 1.03 1.01 0.81 0.52 0.27 0.18 90.0 + + 50.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.66 ) PHI2 = 50. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.0 + 2.5 0.00 0.09 0.28 0.37 0.38 0.37 0.39 0.49 0.64 0.84 1.05 1.27 1.51 1.77 2.01 2.19 2.28 2.23 2.08 1.86 1.62 1.38 1.15 0.93 0.73 0.56 0.44 0.40 0.38 0.35 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.36 0.39 0.41 0.45 0.56 0.73 0.93 1.15 1.37 1.61 1.85 2.07 2.22 2.26 2.18 2.00 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.40 0.38 0.39 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.37 0.38 0.37 0.39 0.49 0.64 0.84 1.05 1.27 1.51 1.77 2.01 2.19 2.28 2.23 2.08 1.86 1.62 1.38 1.15 0.93 0.73 0.56 0.44 0.40 0.38 0.35 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.36 0.39 0.41 0.45 0.56 0.73 0.93 1.15 1.37 1.61 1.85 2.07 2.22 2.26 2.18 2.00 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.40 0.38 0.39 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 2.5 + 5.0 0.12 0.30 0.43 0.46 0.42 0.35 0.33 0.38 0.50 0.68 0.89 1.13 1.40 1.70 2.00 2.24 2.38 2.39 2.26 2.05 1.78 1.52 1.27 1.03 0.82 0.65 0.54 0.48 0.47 0.43 0.34 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.35 0.46 0.50 0.51 0.55 0.65 0.81 1.01 1.24 1.50 1.76 2.01 2.22 2.33 2.33 2.19 1.96 1.67 1.39 1.12 0.88 0.67 0.50 0.39 0.36 0.39 0.46 0.49 0.44 0.30 0.12 0.00 0.00 0.00 0.12 0.30 0.43 0.46 0.42 0.35 0.33 0.38 0.50 0.68 0.89 1.13 1.40 1.70 2.00 2.24 2.38 2.39 2.26 2.05 1.78 1.52 1.27 1.03 0.82 0.65 0.54 0.48 0.47 0.43 0.34 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.35 0.46 0.50 0.51 0.55 0.65 0.81 1.01 1.24 1.50 1.76 2.01 2.22 2.33 2.33 2.19 1.96 1.67 1.39 1.12 0.88 0.67 0.50 0.39 0.36 0.39 0.46 0.49 0.44 0.30 0.12 0.00 0.00 0.00 0.12 5.0 + 7.5 0.49 0.60 0.66 0.63 0.53 0.41 0.33 0.33 0.40 0.55 0.74 0.99 1.28 1.62 1.97 2.29 2.51 2.58 2.51 2.31 2.05 1.77 1.50 1.27 1.07 0.91 0.81 0.76 0.75 0.73 0.66 0.53 0.36 0.21 0.14 0.18 0.32 0.50 0.65 0.75 0.78 0.78 0.80 0.87 1.00 1.19 1.43 1.69 1.97 2.22 2.40 2.47 2.40 2.19 1.91 1.58 1.27 0.98 0.74 0.55 0.42 0.36 0.39 0.49 0.61 0.70 0.70 0.61 0.47 0.35 0.31 0.37 0.49 0.60 0.66 0.63 0.53 0.41 0.33 0.33 0.40 0.55 0.74 0.99 1.28 1.62 1.97 2.29 2.51 2.58 2.51 2.31 2.05 1.77 1.50 1.27 1.07 0.91 0.81 0.76 0.75 0.73 0.66 0.53 0.36 0.21 0.14 0.18 0.32 0.50 0.65 0.75 0.78 0.78 0.80 0.87 1.00 1.19 1.43 1.69 1.97 2.22 2.40 2.47 2.40 2.19 1.91 1.58 1.27 0.98 0.74 0.55 0.42 0.36 0.39 0.49 0.61 0.70 0.70 0.61 0.47 0.35 0.31 0.37 0.49 7.5 + 10.0 0.87 0.93 0.94 0.87 0.74 0.59 0.47 0.42 0.45 0.55 0.71 0.92 1.20 1.55 1.93 2.30 2.59 2.74 2.73 2.59 2.35 2.09 1.84 1.64 1.47 1.35 1.28 1.26 1.26 1.27 1.23 1.14 1.01 0.89 0.81 0.83 0.92 1.06 1.18 1.24 1.25 1.22 1.20 1.22 1.30 1.46 1.68 1.94 2.21 2.44 2.57 2.57 2.42 2.17 1.85 1.51 1.21 0.94 0.73 0.57 0.48 0.48 0.56 0.71 0.86 0.96 0.98 0.93 0.83 0.76 0.74 0.78 0.87 0.93 0.94 0.87 0.74 0.59 0.47 0.42 0.45 0.55 0.71 0.92 1.20 1.55 1.93 2.30 2.59 2.74 2.73 2.59 2.35 2.09 1.84 1.64 1.47 1.35 1.28 1.26 1.26 1.27 1.23 1.14 1.01 0.89 0.81 0.83 0.92 1.06 1.18 1.24 1.25 1.22 1.20 1.22 1.30 1.46 1.68 1.94 2.21 2.44 2.57 2.57 2.42 2.17 1.85 1.51 1.21 0.94 0.73 0.57 0.48 0.48 0.56 0.71 0.86 0.96 0.98 0.93 0.83 0.76 0.74 0.78 0.87 10.0 + 12.5 1.18 1.21 1.19 1.11 0.98 0.84 0.72 0.65 0.63 0.68 0.78 0.94 1.16 1.47 1.83 2.21 2.55 2.78 2.86 2.79 2.62 2.41 2.21 2.05 1.93 1.86 1.83 1.84 1.87 1.91 1.91 1.86 1.77 1.66 1.58 1.57 1.62 1.71 1.79 1.82 1.79 1.72 1.65 1.61 1.63 1.74 1.93 2.16 2.40 2.58 2.65 2.57 2.37 2.08 1.76 1.46 1.21 1.00 0.83 0.72 0.69 0.73 0.84 0.99 1.13 1.21 1.22 1.18 1.12 1.08 1.08 1.13 1.18 1.21 1.19 1.11 0.98 0.84 0.72 0.65 0.63 0.68 0.78 0.94 1.16 1.47 1.83 2.21 2.55 2.78 2.86 2.79 2.62 2.41 2.21 2.05 1.93 1.86 1.83 1.84 1.87 1.91 1.91 1.86 1.77 1.66 1.58 1.57 1.62 1.71 1.79 1.82 1.79 1.72 1.65 1.61 1.63 1.74 1.93 2.16 2.40 2.58 2.65 2.57 2.37 2.08 1.76 1.46 1.21 1.00 0.83 0.72 0.69 0.73 0.84 0.99 1.13 1.21 1.22 1.18 1.12 1.08 1.08 1.13 1.18 12.5 + 15.0 1.35 1.36 1.32 1.25 1.16 1.06 0.96 0.89 0.84 0.84 0.87 0.96 1.10 1.33 1.64 2.01 2.36 2.65 2.81 2.84 2.75 2.61 2.47 2.35 2.27 2.23 2.23 2.27 2.34 2.40 2.45 2.44 2.38 2.28 2.20 2.17 2.18 2.23 2.26 2.25 2.18 2.07 1.95 1.86 1.85 1.93 2.09 2.29 2.49 2.61 2.61 2.47 2.22 1.92 1.63 1.39 1.20 1.07 0.97 0.92 0.92 0.98 1.09 1.21 1.30 1.34 1.32 1.29 1.25 1.25 1.28 1.32 1.35 1.36 1.32 1.25 1.16 1.06 0.96 0.89 0.84 0.84 0.87 0.96 1.10 1.33 1.64 2.01 2.36 2.65 2.81 2.84 2.75 2.61 2.47 2.35 2.27 2.23 2.23 2.27 2.34 2.40 2.45 2.44 2.38 2.28 2.20 2.17 2.18 2.23 2.26 2.25 2.18 2.07 1.95 1.86 1.85 1.93 2.09 2.29 2.49 2.61 2.61 2.47 2.22 1.92 1.63 1.39 1.20 1.07 0.97 0.92 0.92 0.98 1.09 1.21 1.30 1.34 1.32 1.29 1.25 1.25 1.28 1.32 1.35 15.0 + 17.5 1.35 1.32 1.27 1.21 1.16 1.10 1.04 0.98 0.93 0.89 0.88 0.90 0.97 1.12 1.36 1.67 2.03 2.35 2.59 2.71 2.71 2.63 2.53 2.43 2.36 2.33 2.33 2.39 2.48 2.58 2.66 2.70 2.67 2.60 2.52 2.47 2.45 2.45 2.44 2.38 2.27 2.12 1.98 1.88 1.87 1.94 2.10 2.29 2.46 2.53 2.46 2.26 1.98 1.68 1.43 1.25 1.13 1.06 1.02 1.01 1.03 1.10 1.18 1.26 1.29 1.27 1.23 1.20 1.21 1.26 1.32 1.35 1.35 1.32 1.27 1.21 1.16 1.10 1.04 0.98 0.93 0.89 0.88 0.90 0.97 1.12 1.36 1.67 2.03 2.35 2.59 2.71 2.71 2.63 2.53 2.43 2.36 2.33 2.33 2.39 2.48 2.58 2.66 2.70 2.67 2.60 2.52 2.47 2.45 2.45 2.44 2.38 2.27 2.12 1.98 1.88 1.87 1.94 2.10 2.29 2.46 2.53 2.46 2.26 1.98 1.68 1.43 1.25 1.13 1.06 1.02 1.01 1.03 1.10 1.18 1.26 1.29 1.27 1.23 1.20 1.21 1.26 1.32 1.35 1.35 17.5 + 20.0 1.18 1.11 1.03 0.97 0.94 0.92 0.90 0.86 0.81 0.76 0.73 0.71 0.73 0.82 0.99 1.26 1.59 1.93 2.22 2.41 2.49 2.47 2.40 2.30 2.22 2.17 2.17 2.23 2.35 2.49 2.62 2.69 2.71 2.66 2.60 2.53 2.48 2.43 2.35 2.24 2.09 1.92 1.78 1.70 1.71 1.81 1.98 2.17 2.31 2.34 2.23 2.00 1.70 1.42 1.19 1.04 0.96 0.92 0.90 0.91 0.94 0.99 1.04 1.06 1.04 0.99 0.94 0.95 1.01 1.11 1.19 1.22 1.18 1.11 1.03 0.97 0.94 0.92 0.90 0.86 0.81 0.76 0.73 0.71 0.73 0.82 0.99 1.26 1.59 1.93 2.22 2.41 2.49 2.47 2.40 2.30 2.22 2.17 2.17 2.23 2.35 2.49 2.62 2.69 2.71 2.66 2.60 2.53 2.48 2.43 2.35 2.24 2.09 1.92 1.78 1.70 1.71 1.81 1.98 2.17 2.31 2.34 2.23 2.00 1.70 1.42 1.19 1.04 0.96 0.92 0.90 0.91 0.94 0.99 1.04 1.06 1.04 0.99 0.94 0.95 1.01 1.11 1.19 1.22 1.18 20.0 + 22.5 0.89 0.76 0.64 0.57 0.56 0.57 0.58 0.56 0.52 0.47 0.44 0.42 0.43 0.48 0.61 0.82 1.12 1.46 1.77 2.02 2.16 2.20 2.16 2.09 2.01 1.96 1.97 2.05 2.19 2.37 2.55 2.67 2.73 2.71 2.65 2.57 2.47 2.36 2.22 2.04 1.85 1.67 1.53 1.47 1.51 1.63 1.80 1.97 2.08 2.08 1.95 1.71 1.42 1.14 0.93 0.80 0.72 0.68 0.65 0.64 0.66 0.70 0.72 0.70 0.64 0.56 0.53 0.57 0.70 0.85 0.95 0.97 0.89 0.76 0.64 0.57 0.56 0.57 0.58 0.56 0.52 0.47 0.44 0.42 0.43 0.48 0.61 0.82 1.12 1.46 1.77 2.02 2.16 2.20 2.16 2.09 2.01 1.96 1.97 2.05 2.19 2.37 2.55 2.67 2.73 2.71 2.65 2.57 2.47 2.36 2.22 2.04 1.85 1.67 1.53 1.47 1.51 1.63 1.80 1.97 2.08 2.08 1.95 1.71 1.42 1.14 0.93 0.80 0.72 0.68 0.65 0.64 0.66 0.70 0.72 0.70 0.64 0.56 0.53 0.57 0.70 0.85 0.95 0.97 0.89 22.5 + 25.0 0.52 0.36 0.21 0.14 0.14 0.18 0.20 0.19 0.16 0.12 0.10 0.10 0.12 0.17 0.26 0.43 0.68 0.99 1.31 1.59 1.80 1.91 1.94 1.93 1.90 1.90 1.96 2.08 2.28 2.50 2.72 2.88 2.96 2.97 2.91 2.80 2.65 2.46 2.24 2.00 1.76 1.56 1.42 1.37 1.39 1.49 1.62 1.74 1.81 1.77 1.63 1.40 1.13 0.89 0.70 0.57 0.48 0.40 0.35 0.32 0.32 0.34 0.34 0.29 0.20 0.12 0.09 0.17 0.34 0.53 0.64 0.64 0.52 0.36 0.21 0.14 0.14 0.18 0.20 0.19 0.16 0.12 0.10 0.10 0.12 0.17 0.26 0.43 0.68 0.99 1.31 1.59 1.80 1.91 1.94 1.93 1.90 1.90 1.96 2.08 2.28 2.50 2.72 2.88 2.96 2.97 2.91 2.80 2.65 2.46 2.24 2.00 1.76 1.56 1.42 1.37 1.39 1.49 1.62 1.74 1.81 1.77 1.63 1.40 1.13 0.89 0.70 0.57 0.48 0.40 0.35 0.32 0.32 0.34 0.34 0.29 0.20 0.12 0.09 0.17 0.34 0.53 0.64 0.64 0.52 25.0 + 27.5 0.18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.31 0.57 0.88 1.19 1.46 1.66 1.80 1.89 1.97 2.08 2.22 2.42 2.67 2.93 3.16 3.34 3.44 3.45 3.37 3.22 3.01 2.76 2.47 2.18 1.91 1.69 1.54 1.45 1.41 1.43 1.47 1.51 1.50 1.42 1.27 1.07 0.85 0.66 0.50 0.38 0.27 0.18 0.10 0.05 0.05 0.05 0.04 0.00 0.00 0.00 0.00 0.00 0.02 0.22 0.33 0.32 0.18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.31 0.57 0.88 1.19 1.46 1.66 1.80 1.89 1.97 2.08 2.22 2.42 2.67 2.93 3.16 3.34 3.44 3.45 3.37 3.22 3.01 2.76 2.47 2.18 1.91 1.69 1.54 1.45 1.41 1.43 1.47 1.51 1.50 1.42 1.27 1.07 0.85 0.66 0.50 0.38 0.27 0.18 0.10 0.05 0.05 0.05 0.04 0.00 0.00 0.00 0.00 0.00 0.02 0.22 0.33 0.32 0.18 27.5 + 30.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.25 0.53 0.85 1.17 1.46 1.71 1.93 2.14 2.37 2.62 2.89 3.17 3.44 3.66 3.82 3.90 3.90 3.80 3.62 3.36 3.06 2.74 2.43 2.16 1.94 1.77 1.62 1.51 1.41 1.33 1.26 1.17 1.06 0.92 0.75 0.59 0.44 0.33 0.23 0.13 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.25 0.53 0.85 1.17 1.46 1.71 1.93 2.14 2.37 2.62 2.89 3.17 3.44 3.66 3.82 3.90 3.90 3.80 3.62 3.36 3.06 2.74 2.43 2.16 1.94 1.77 1.62 1.51 1.41 1.33 1.26 1.17 1.06 0.92 0.75 0.59 0.44 0.33 0.23 0.13 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.06 0.00 30.0 + 32.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.30 0.62 0.96 1.29 1.61 1.91 2.22 2.54 2.86 3.17 3.45 3.68 3.85 3.96 4.01 3.98 3.86 3.66 3.39 3.09 2.78 2.51 2.28 2.09 1.92 1.74 1.55 1.36 1.18 1.02 0.89 0.76 0.63 0.49 0.37 0.27 0.19 0.12 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.30 0.62 0.96 1.29 1.61 1.91 2.22 2.54 2.86 3.17 3.45 3.68 3.85 3.96 4.01 3.98 3.86 3.66 3.39 3.09 2.78 2.51 2.28 2.09 1.92 1.74 1.55 1.36 1.18 1.02 0.89 0.76 0.63 0.49 0.37 0.27 0.19 0.12 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 32.5 + 35.0 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.51 0.82 1.14 1.44 1.75 2.07 2.41 2.73 3.02 3.24 3.40 3.49 3.54 3.55 3.50 3.39 3.20 2.95 2.68 2.43 2.23 2.09 1.98 1.86 1.68 1.46 1.22 1.01 0.84 0.70 0.60 0.49 0.37 0.26 0.17 0.10 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.51 0.82 1.14 1.44 1.75 2.07 2.41 2.73 3.02 3.24 3.40 3.49 3.54 3.55 3.50 3.39 3.20 2.95 2.68 2.43 2.23 2.09 1.98 1.86 1.68 1.46 1.22 1.01 0.84 0.70 0.60 0.49 0.37 0.26 0.17 0.10 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.09 0.05 0.00 35.0 + 37.5 0.17 0.08 0.05 0.11 0.21 0.29 0.32 0.26 0.14 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.29 0.55 0.79 1.01 1.21 1.44 1.69 1.96 2.23 2.43 2.56 2.62 2.62 2.62 2.61 2.59 2.51 2.36 2.15 1.93 1.75 1.65 1.62 1.61 1.57 1.45 1.26 1.04 0.86 0.74 0.67 0.62 0.55 0.44 0.30 0.17 0.07 0.02 0.00 0.00 0.01 0.04 0.07 0.10 0.11 0.09 0.06 0.04 0.06 0.13 0.23 0.31 0.33 0.28 0.17 0.08 0.05 0.11 0.21 0.29 0.32 0.26 0.14 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.29 0.55 0.79 1.01 1.21 1.44 1.69 1.96 2.23 2.43 2.56 2.62 2.62 2.62 2.61 2.59 2.51 2.36 2.15 1.93 1.75 1.65 1.62 1.61 1.57 1.45 1.26 1.04 0.86 0.74 0.67 0.62 0.55 0.44 0.30 0.17 0.07 0.02 0.00 0.00 0.01 0.04 0.07 0.10 0.11 0.09 0.06 0.04 0.06 0.13 0.23 0.31 0.33 0.28 0.17 37.5 + 40.0 0.45 0.37 0.36 0.39 0.45 0.50 0.49 0.43 0.34 0.23 0.13 0.04 0.00 0.00 0.00 0.00 0.04 0.24 0.47 0.68 0.82 0.90 0.96 1.04 1.18 1.36 1.53 1.64 1.66 1.62 1.56 1.53 1.55 1.58 1.57 1.48 1.32 1.13 1.00 0.97 1.03 1.13 1.18 1.14 1.01 0.86 0.76 0.73 0.76 0.80 0.77 0.65 0.45 0.25 0.10 0.02 0.03 0.09 0.16 0.21 0.23 0.24 0.23 0.23 0.26 0.31 0.39 0.49 0.58 0.63 0.61 0.54 0.45 0.37 0.36 0.39 0.45 0.50 0.49 0.43 0.34 0.23 0.13 0.04 0.00 0.00 0.00 0.00 0.04 0.24 0.47 0.68 0.82 0.90 0.96 1.04 1.18 1.36 1.53 1.64 1.66 1.62 1.56 1.53 1.55 1.58 1.57 1.48 1.32 1.13 1.00 0.97 1.03 1.13 1.18 1.14 1.01 0.86 0.76 0.73 0.76 0.80 0.77 0.65 0.45 0.25 0.10 0.02 0.03 0.09 0.16 0.21 0.23 0.24 0.23 0.23 0.26 0.31 0.39 0.49 0.58 0.63 0.61 0.54 0.45 40.0 + 42.5 0.62 0.57 0.57 0.59 0.61 0.61 0.59 0.54 0.50 0.45 0.38 0.29 0.17 0.05 0.00 0.03 0.18 0.41 0.65 0.81 0.86 0.80 0.71 0.66 0.69 0.79 0.89 0.93 0.87 0.76 0.67 0.65 0.73 0.86 0.94 0.91 0.77 0.58 0.44 0.43 0.54 0.70 0.84 0.87 0.81 0.72 0.68 0.74 0.87 0.99 1.01 0.88 0.63 0.35 0.14 0.06 0.11 0.24 0.37 0.44 0.44 0.40 0.35 0.34 0.40 0.52 0.65 0.77 0.84 0.84 0.78 0.69 0.62 0.57 0.57 0.59 0.61 0.61 0.59 0.54 0.50 0.45 0.38 0.29 0.17 0.05 0.00 0.03 0.18 0.41 0.65 0.81 0.86 0.80 0.71 0.66 0.69 0.79 0.89 0.93 0.87 0.76 0.67 0.65 0.73 0.86 0.94 0.91 0.77 0.58 0.44 0.43 0.54 0.70 0.84 0.87 0.81 0.72 0.68 0.74 0.87 0.99 1.01 0.88 0.63 0.35 0.14 0.06 0.11 0.24 0.37 0.44 0.44 0.40 0.35 0.34 0.40 0.52 0.65 0.77 0.84 0.84 0.78 0.69 0.62 42.5 + 45.0 0.58 0.59 0.62 0.65 0.64 0.60 0.56 0.56 0.59 0.63 0.63 0.55 0.40 0.21 0.09 0.09 0.24 0.49 0.72 0.84 0.80 0.64 0.44 0.32 0.31 0.39 0.48 0.49 0.40 0.26 0.16 0.19 0.35 0.58 0.75 0.77 0.62 0.38 0.18 0.12 0.23 0.43 0.61 0.69 0.67 0.60 0.58 0.68 0.87 1.06 1.12 1.00 0.72 0.39 0.14 0.08 0.19 0.42 0.62 0.72 0.69 0.57 0.44 0.39 0.46 0.61 0.77 0.88 0.90 0.83 0.72 0.62 0.58 0.59 0.62 0.65 0.64 0.60 0.56 0.56 0.59 0.63 0.63 0.55 0.40 0.21 0.09 0.09 0.24 0.49 0.72 0.84 0.80 0.64 0.44 0.32 0.31 0.39 0.48 0.49 0.40 0.26 0.16 0.19 0.35 0.58 0.75 0.77 0.62 0.38 0.18 0.12 0.23 0.43 0.61 0.69 0.67 0.60 0.58 0.68 0.87 1.06 1.12 1.00 0.72 0.39 0.14 0.08 0.19 0.42 0.62 0.72 0.69 0.57 0.44 0.39 0.46 0.61 0.77 0.88 0.90 0.83 0.72 0.62 0.58 45.0 + 47.5 0.34 0.42 0.52 0.57 0.54 0.47 0.44 0.48 0.60 0.76 0.85 0.80 0.62 0.36 0.15 0.09 0.20 0.43 0.64 0.72 0.62 0.40 0.16 0.03 0.04 0.17 0.30 0.33 0.24 0.09 0.00 0.08 0.33 0.65 0.90 0.95 0.76 0.44 0.14 0.01 0.07 0.28 0.49 0.59 0.56 0.46 0.41 0.49 0.69 0.92 1.02 0.93 0.66 0.32 0.08 0.06 0.26 0.58 0.87 1.00 0.92 0.71 0.49 0.37 0.41 0.56 0.72 0.79 0.74 0.59 0.43 0.33 0.34 0.42 0.52 0.57 0.54 0.47 0.44 0.48 0.60 0.76 0.85 0.80 0.62 0.36 0.15 0.09 0.20 0.43 0.64 0.72 0.62 0.40 0.16 0.03 0.04 0.17 0.30 0.33 0.24 0.09 0.00 0.08 0.33 0.65 0.90 0.95 0.76 0.44 0.14 0.01 0.07 0.28 0.49 0.59 0.56 0.46 0.41 0.49 0.69 0.92 1.02 0.93 0.66 0.32 0.08 0.06 0.26 0.58 0.87 1.00 0.92 0.71 0.49 0.37 0.41 0.56 0.72 0.79 0.74 0.59 0.43 0.33 0.34 47.5 + 50.0 0.02 0.19 0.35 0.43 0.39 0.29 0.24 0.31 0.52 0.79 0.98 0.99 0.80 0.49 0.20 0.06 0.11 0.29 0.46 0.50 0.37 0.13 0.00 0.00 0.00 0.07 0.26 0.33 0.25 0.10 0.03 0.14 0.45 0.84 1.14 1.19 0.96 0.56 0.17 0.00 0.00 0.19 0.42 0.53 0.47 0.31 0.19 0.20 0.38 0.61 0.76 0.71 0.48 0.17 0.00 0.01 0.30 0.71 1.07 1.21 1.09 0.79 0.47 0.28 0.27 0.40 0.54 0.57 0.46 0.24 0.04 0.00 0.02 0.19 0.35 0.43 0.39 0.29 0.24 0.31 0.52 0.79 0.98 0.99 0.80 0.49 0.20 0.06 0.11 0.29 0.46 0.50 0.37 0.13 0.00 0.00 0.00 0.07 0.26 0.33 0.25 0.10 0.03 0.14 0.45 0.84 1.14 1.19 0.96 0.56 0.17 0.00 0.00 0.19 0.42 0.53 0.47 0.31 0.19 0.20 0.38 0.61 0.76 0.71 0.48 0.17 0.00 0.01 0.30 0.71 1.07 1.21 1.09 0.79 0.47 0.28 0.27 0.40 0.54 0.57 0.46 0.24 0.04 0.00 0.02 50.0 + 52.5 0.00 0.04 0.26 0.34 0.27 0.12 0.04 0.12 0.39 0.74 1.02 1.10 0.93 0.60 0.27 0.06 0.05 0.18 0.31 0.33 0.19 0.00 0.00 0.00 0.00 0.05 0.27 0.37 0.30 0.16 0.09 0.21 0.54 0.95 1.26 1.30 1.05 0.60 0.16 0.00 0.00 0.13 0.38 0.49 0.41 0.20 0.00 0.00 0.07 0.29 0.47 0.48 0.30 0.04 0.00 0.00 0.31 0.78 1.17 1.32 1.17 0.80 0.40 0.14 0.10 0.21 0.34 0.36 0.20 0.00 0.00 0.00 0.00 0.04 0.26 0.34 0.27 0.12 0.04 0.12 0.39 0.74 1.02 1.10 0.93 0.60 0.27 0.06 0.05 0.18 0.31 0.33 0.19 0.00 0.00 0.00 0.00 0.05 0.27 0.37 0.30 0.16 0.09 0.21 0.54 0.95 1.26 1.30 1.05 0.60 0.16 0.00 0.00 0.13 0.38 0.49 0.41 0.20 0.00 0.00 0.07 0.29 0.47 0.48 0.30 0.04 0.00 0.00 0.31 0.78 1.17 1.32 1.17 0.80 0.40 0.14 0.10 0.21 0.34 0.36 0.20 0.00 0.00 0.00 0.00 52.5 + 55.0 0.00 0.10 0.33 0.40 0.27 0.06 0.00 0.00 0.25 0.65 1.00 1.15 1.02 0.71 0.37 0.14 0.10 0.19 0.31 0.32 0.19 0.00 0.00 0.00 0.00 0.10 0.32 0.41 0.35 0.21 0.14 0.25 0.55 0.93 1.22 1.25 0.99 0.55 0.11 0.00 0.00 0.12 0.39 0.52 0.43 0.19 0.00 0.00 0.00 0.09 0.28 0.33 0.20 0.00 0.00 0.00 0.32 0.80 1.19 1.33 1.15 0.74 0.31 0.02 0.00 0.09 0.23 0.26 0.11 0.00 0.00 0.00 0.00 0.10 0.33 0.40 0.27 0.06 0.00 0.00 0.25 0.65 1.00 1.15 1.02 0.71 0.37 0.14 0.10 0.19 0.31 0.32 0.19 0.00 0.00 0.00 0.00 0.10 0.32 0.41 0.35 0.21 0.14 0.25 0.55 0.93 1.22 1.25 0.99 0.55 0.11 0.00 0.00 0.12 0.39 0.52 0.43 0.19 0.00 0.00 0.00 0.09 0.28 0.33 0.20 0.00 0.00 0.00 0.32 0.80 1.19 1.33 1.15 0.74 0.31 0.02 0.00 0.09 0.23 0.26 0.11 0.00 0.00 0.00 0.00 55.0 + 57.5 0.08 0.36 0.57 0.60 0.41 0.12 0.00 0.00 0.17 0.58 0.95 1.13 1.06 0.80 0.48 0.27 0.23 0.33 0.45 0.49 0.38 0.18 0.00 0.00 0.03 0.22 0.40 0.48 0.42 0.30 0.22 0.30 0.55 0.86 1.09 1.10 0.87 0.48 0.10 0.00 0.00 0.19 0.46 0.60 0.52 0.28 0.00 0.00 0.00 0.06 0.24 0.30 0.21 0.03 0.00 0.01 0.33 0.77 1.13 1.24 1.06 0.66 0.23 0.00 0.00 0.07 0.25 0.31 0.22 0.03 0.00 0.00 0.08 0.36 0.57 0.60 0.41 0.12 0.00 0.00 0.17 0.58 0.95 1.13 1.06 0.80 0.48 0.27 0.23 0.33 0.45 0.49 0.38 0.18 0.00 0.00 0.03 0.22 0.40 0.48 0.42 0.30 0.22 0.30 0.55 0.86 1.09 1.10 0.87 0.48 0.10 0.00 0.00 0.19 0.46 0.60 0.52 0.28 0.00 0.00 0.00 0.06 0.24 0.30 0.21 0.03 0.00 0.01 0.33 0.77 1.13 1.24 1.06 0.66 0.23 0.00 0.00 0.07 0.25 0.31 0.22 0.03 0.00 0.00 0.08 57.5 + 60.0 0.44 0.69 0.87 0.84 0.61 0.28 0.02 0.00 0.17 0.53 0.88 1.07 1.03 0.81 0.55 0.38 0.36 0.48 0.63 0.70 0.64 0.48 0.30 0.21 0.23 0.35 0.48 0.55 0.51 0.41 0.35 0.40 0.56 0.78 0.94 0.94 0.75 0.43 0.14 0.01 0.08 0.31 0.55 0.68 0.62 0.39 0.13 0.00 0.00 0.10 0.26 0.33 0.25 0.09 0.00 0.05 0.31 0.68 1.00 1.09 0.93 0.57 0.20 0.00 0.00 0.15 0.36 0.47 0.43 0.30 0.21 0.25 0.44 0.69 0.87 0.84 0.61 0.28 0.02 0.00 0.17 0.53 0.88 1.07 1.03 0.81 0.55 0.38 0.36 0.48 0.63 0.70 0.64 0.48 0.30 0.21 0.23 0.35 0.48 0.55 0.51 0.41 0.35 0.40 0.56 0.78 0.94 0.94 0.75 0.43 0.14 0.01 0.08 0.31 0.55 0.68 0.62 0.39 0.13 0.00 0.00 0.10 0.26 0.33 0.25 0.09 0.00 0.05 0.31 0.68 1.00 1.09 0.93 0.57 0.20 0.00 0.00 0.15 0.36 0.47 0.43 0.30 0.21 0.25 0.44 60.0 + 62.5 0.71 0.92 1.05 0.99 0.75 0.42 0.16 0.08 0.23 0.52 0.81 0.96 0.91 0.72 0.50 0.36 0.37 0.51 0.68 0.79 0.77 0.65 0.48 0.36 0.33 0.39 0.48 0.55 0.55 0.50 0.46 0.47 0.56 0.69 0.79 0.77 0.63 0.41 0.21 0.13 0.20 0.40 0.60 0.71 0.65 0.45 0.21 0.06 0.04 0.14 0.27 0.33 0.26 0.12 0.01 0.04 0.24 0.55 0.81 0.90 0.77 0.49 0.20 0.04 0.08 0.27 0.49 0.62 0.62 0.54 0.48 0.53 0.71 0.92 1.05 0.99 0.75 0.42 0.16 0.08 0.23 0.52 0.81 0.96 0.91 0.72 0.50 0.36 0.37 0.51 0.68 0.79 0.77 0.65 0.48 0.36 0.33 0.39 0.48 0.55 0.55 0.50 0.46 0.47 0.56 0.69 0.79 0.77 0.63 0.41 0.21 0.13 0.20 0.40 0.60 0.71 0.65 0.45 0.21 0.06 0.04 0.14 0.27 0.33 0.26 0.12 0.01 0.04 0.24 0.55 0.81 0.90 0.77 0.49 0.20 0.04 0.08 0.27 0.49 0.62 0.62 0.54 0.48 0.53 0.71 62.5 + 65.0 0.76 0.93 1.02 0.96 0.75 0.47 0.25 0.18 0.29 0.51 0.72 0.81 0.74 0.55 0.34 0.21 0.22 0.36 0.53 0.66 0.68 0.58 0.42 0.28 0.22 0.24 0.33 0.41 0.46 0.46 0.44 0.44 0.47 0.54 0.59 0.58 0.50 0.37 0.25 0.21 0.28 0.43 0.59 0.67 0.62 0.46 0.26 0.13 0.11 0.18 0.29 0.33 0.27 0.14 0.03 0.03 0.17 0.41 0.63 0.72 0.64 0.44 0.23 0.14 0.20 0.38 0.58 0.69 0.69 0.62 0.57 0.62 0.76 0.93 1.02 0.96 0.75 0.47 0.25 0.18 0.29 0.51 0.72 0.81 0.74 0.55 0.34 0.21 0.22 0.36 0.53 0.66 0.68 0.58 0.42 0.28 0.22 0.24 0.33 0.41 0.46 0.46 0.44 0.44 0.47 0.54 0.59 0.58 0.50 0.37 0.25 0.21 0.28 0.43 0.59 0.67 0.62 0.46 0.26 0.13 0.11 0.18 0.29 0.33 0.27 0.14 0.03 0.03 0.17 0.41 0.63 0.72 0.64 0.44 0.23 0.14 0.20 0.38 0.58 0.69 0.69 0.62 0.57 0.62 0.76 65.0 + 67.5 0.62 0.75 0.82 0.77 0.62 0.42 0.26 0.23 0.32 0.48 0.63 0.67 0.57 0.37 0.16 0.02 0.01 0.12 0.28 0.41 0.44 0.35 0.19 0.04 0.00 0.00 0.07 0.19 0.28 0.31 0.30 0.28 0.28 0.32 0.38 0.42 0.41 0.35 0.29 0.28 0.34 0.46 0.59 0.67 0.65 0.54 0.40 0.31 0.31 0.39 0.49 0.52 0.46 0.32 0.18 0.13 0.20 0.37 0.54 0.62 0.57 0.44 0.31 0.26 0.33 0.49 0.63 0.70 0.67 0.58 0.51 0.52 0.62 0.75 0.82 0.77 0.62 0.42 0.26 0.23 0.32 0.48 0.63 0.67 0.57 0.37 0.16 0.02 0.01 0.12 0.28 0.41 0.44 0.35 0.19 0.04 0.00 0.00 0.07 0.19 0.28 0.31 0.30 0.28 0.28 0.32 0.38 0.42 0.41 0.35 0.29 0.28 0.34 0.46 0.59 0.67 0.65 0.54 0.40 0.31 0.31 0.39 0.49 0.52 0.46 0.32 0.18 0.13 0.20 0.37 0.54 0.62 0.57 0.44 0.31 0.26 0.33 0.49 0.63 0.70 0.67 0.58 0.51 0.52 0.62 67.5 + 70.0 0.45 0.53 0.57 0.54 0.44 0.31 0.23 0.22 0.31 0.45 0.56 0.58 0.48 0.29 0.07 0.00 0.00 0.00 0.11 0.23 0.27 0.18 0.02 0.00 0.00 0.00 0.00 0.03 0.14 0.17 0.15 0.12 0.12 0.19 0.30 0.40 0.47 0.47 0.44 0.44 0.50 0.62 0.77 0.89 0.92 0.89 0.83 0.81 0.86 0.98 1.09 1.12 1.02 0.83 0.62 0.48 0.47 0.55 0.65 0.70 0.65 0.55 0.45 0.43 0.50 0.62 0.71 0.73 0.65 0.53 0.43 0.40 0.45 0.53 0.57 0.54 0.44 0.31 0.23 0.22 0.31 0.45 0.56 0.58 0.48 0.29 0.07 0.00 0.00 0.00 0.11 0.23 0.27 0.18 0.02 0.00 0.00 0.00 0.00 0.03 0.14 0.17 0.15 0.12 0.12 0.19 0.30 0.40 0.47 0.47 0.44 0.44 0.50 0.62 0.77 0.89 0.92 0.89 0.83 0.81 0.86 0.98 1.09 1.12 1.02 0.83 0.62 0.48 0.47 0.55 0.65 0.70 0.65 0.55 0.45 0.43 0.50 0.62 0.71 0.73 0.65 0.53 0.43 0.40 0.45 70.0 + 72.5 0.39 0.43 0.44 0.41 0.34 0.25 0.19 0.21 0.29 0.42 0.54 0.58 0.51 0.35 0.15 0.00 0.00 0.03 0.19 0.34 0.40 0.32 0.15 0.00 0.00 0.00 0.00 0.15 0.24 0.25 0.20 0.15 0.17 0.30 0.49 0.68 0.81 0.84 0.82 0.81 0.87 1.02 1.22 1.40 1.53 1.59 1.62 1.70 1.85 2.04 2.19 2.21 2.05 1.76 1.42 1.14 1.00 0.98 1.00 0.99 0.91 0.79 0.68 0.66 0.72 0.82 0.89 0.87 0.75 0.60 0.46 0.39 0.39 0.43 0.44 0.41 0.34 0.25 0.19 0.21 0.29 0.42 0.54 0.58 0.51 0.35 0.15 0.00 0.00 0.03 0.19 0.34 0.40 0.32 0.15 0.00 0.00 0.00 0.00 0.15 0.24 0.25 0.20 0.15 0.17 0.30 0.49 0.68 0.81 0.84 0.82 0.81 0.87 1.02 1.22 1.40 1.53 1.59 1.62 1.70 1.85 2.04 2.19 2.21 2.05 1.76 1.42 1.14 1.00 0.98 1.00 0.99 0.91 0.79 0.68 0.66 0.72 0.82 0.89 0.87 0.75 0.60 0.46 0.39 0.39 72.5 + 75.0 0.51 0.50 0.49 0.45 0.37 0.28 0.21 0.19 0.26 0.38 0.53 0.63 0.63 0.53 0.36 0.22 0.19 0.31 0.53 0.76 0.89 0.85 0.68 0.47 0.34 0.35 0.46 0.60 0.67 0.64 0.53 0.46 0.50 0.69 0.98 1.25 1.42 1.45 1.40 1.35 1.40 1.58 1.85 2.12 2.34 2.50 2.64 2.83 3.10 3.39 3.60 3.61 3.37 2.92 2.41 1.97 1.69 1.57 1.52 1.45 1.31 1.12 0.97 0.92 0.97 1.07 1.14 1.12 1.00 0.83 0.66 0.55 0.51 0.50 0.49 0.45 0.37 0.28 0.21 0.19 0.26 0.38 0.53 0.63 0.63 0.53 0.36 0.22 0.19 0.31 0.53 0.76 0.89 0.85 0.68 0.47 0.34 0.35 0.46 0.60 0.67 0.64 0.53 0.46 0.50 0.69 0.98 1.25 1.42 1.45 1.40 1.35 1.40 1.58 1.85 2.12 2.34 2.50 2.64 2.83 3.10 3.39 3.60 3.61 3.37 2.92 2.41 1.97 1.69 1.57 1.52 1.45 1.31 1.12 0.97 0.92 0.97 1.07 1.14 1.12 1.00 0.83 0.66 0.55 0.51 75.0 + 77.5 0.69 0.66 0.63 0.58 0.49 0.37 0.25 0.18 0.19 0.30 0.48 0.65 0.74 0.69 0.56 0.43 0.42 0.61 0.95 1.32 1.57 1.61 1.46 1.23 1.07 1.04 1.14 1.26 1.29 1.20 1.04 0.93 0.98 1.22 1.57 1.90 2.09 2.08 1.96 1.85 1.87 2.07 2.39 2.74 3.04 3.28 3.51 3.81 4.21 4.62 4.91 4.91 4.57 3.96 3.26 2.66 2.27 2.08 2.00 1.89 1.69 1.44 1.23 1.13 1.16 1.28 1.38 1.39 1.28 1.10 0.92 0.77 0.69 0.66 0.63 0.58 0.49 0.37 0.25 0.18 0.19 0.30 0.48 0.65 0.74 0.69 0.56 0.43 0.42 0.61 0.95 1.32 1.57 1.61 1.46 1.23 1.07 1.04 1.14 1.26 1.29 1.20 1.04 0.93 0.98 1.22 1.57 1.90 2.09 2.08 1.96 1.85 1.87 2.07 2.39 2.74 3.04 3.28 3.51 3.81 4.21 4.62 4.91 4.91 4.57 3.96 3.26 2.66 2.27 2.08 2.00 1.89 1.69 1.44 1.23 1.13 1.16 1.28 1.38 1.39 1.28 1.10 0.92 0.77 0.69 77.5 + 80.0 0.77 0.73 0.72 0.69 0.60 0.45 0.27 0.12 0.07 0.15 0.35 0.58 0.73 0.72 0.58 0.44 0.45 0.71 1.18 1.73 2.15 2.30 2.19 1.94 1.73 1.65 1.72 1.81 1.80 1.66 1.44 1.28 1.32 1.58 1.97 2.33 2.49 2.43 2.22 2.03 2.00 2.20 2.55 2.95 3.30 3.58 3.87 4.26 4.77 5.29 5.65 5.66 5.23 4.48 3.62 2.89 2.44 2.25 2.20 2.10 1.89 1.59 1.31 1.17 1.20 1.34 1.48 1.53 1.44 1.26 1.05 0.87 0.77 0.73 0.72 0.69 0.60 0.45 0.27 0.12 0.07 0.15 0.35 0.58 0.73 0.72 0.58 0.44 0.45 0.71 1.18 1.73 2.15 2.30 2.19 1.94 1.73 1.65 1.72 1.81 1.80 1.66 1.44 1.28 1.32 1.58 1.97 2.33 2.49 2.43 2.22 2.03 2.00 2.20 2.55 2.95 3.30 3.58 3.87 4.26 4.77 5.29 5.65 5.66 5.23 4.48 3.62 2.89 2.44 2.25 2.20 2.10 1.89 1.59 1.31 1.17 1.20 1.34 1.48 1.53 1.44 1.26 1.05 0.87 0.77 80.0 + 82.5 0.63 0.61 0.64 0.66 0.61 0.46 0.24 0.01 0.00 0.00 0.15 0.41 0.58 0.57 0.40 0.21 0.20 0.50 1.11 1.83 2.42 2.70 2.63 2.35 2.07 1.92 1.93 1.99 1.95 1.77 1.49 1.28 1.29 1.54 1.94 2.30 2.44 2.32 2.02 1.75 1.67 1.85 2.21 2.62 2.98 3.26 3.57 4.00 4.58 5.19 5.61 5.63 5.14 4.28 3.31 2.51 2.06 1.94 1.98 1.97 1.79 1.47 1.16 0.98 1.00 1.16 1.35 1.44 1.37 1.18 0.94 0.74 0.63 0.61 0.64 0.66 0.61 0.46 0.24 0.01 0.00 0.00 0.15 0.41 0.58 0.57 0.40 0.21 0.20 0.50 1.11 1.83 2.42 2.70 2.63 2.35 2.07 1.92 1.93 1.99 1.95 1.77 1.49 1.28 1.29 1.54 1.94 2.30 2.44 2.32 2.02 1.75 1.67 1.85 2.21 2.62 2.98 3.26 3.57 4.00 4.58 5.19 5.61 5.63 5.14 4.28 3.31 2.51 2.06 1.94 1.98 1.97 1.79 1.47 1.16 0.98 1.00 1.16 1.35 1.44 1.37 1.18 0.94 0.74 0.63 82.5 + 85.0 0.30 0.31 0.40 0.50 0.52 0.40 0.17 0.00 0.00 0.00 0.00 0.21 0.39 0.36 0.12 0.00 0.00 0.12 0.82 1.69 2.43 2.82 2.78 2.46 2.08 1.84 1.78 1.79 1.72 1.50 1.18 0.92 0.89 1.12 1.51 1.86 1.99 1.83 1.48 1.14 1.02 1.17 1.52 1.93 2.27 2.53 2.80 3.21 3.81 4.46 4.92 4.94 4.43 3.51 2.48 1.66 1.26 1.24 1.41 1.51 1.41 1.12 0.79 0.59 0.61 0.80 1.02 1.15 1.10 0.90 0.63 0.41 0.30 0.31 0.40 0.50 0.52 0.40 0.17 0.00 0.00 0.00 0.00 0.21 0.39 0.36 0.12 0.00 0.00 0.12 0.82 1.69 2.43 2.82 2.78 2.46 2.08 1.84 1.78 1.79 1.72 1.50 1.18 0.92 0.89 1.12 1.51 1.86 1.99 1.83 1.48 1.14 1.02 1.17 1.52 1.93 2.27 2.53 2.80 3.21 3.81 4.46 4.92 4.94 4.43 3.51 2.48 1.66 1.26 1.24 1.41 1.51 1.41 1.12 0.79 0.59 0.61 0.80 1.02 1.15 1.10 0.90 0.63 0.41 0.30 85.0 + 87.5 0.00 0.01 0.17 0.35 0.44 0.38 0.16 0.00 0.00 0.00 0.00 0.14 0.32 0.27 0.00 0.00 0.00 0.00 0.62 1.59 2.44 2.91 2.88 2.51 2.03 1.68 1.52 1.46 1.36 1.11 0.76 0.46 0.39 0.59 0.98 1.34 1.47 1.30 0.93 0.56 0.40 0.52 0.86 1.26 1.57 1.77 1.98 2.34 2.89 3.53 3.99 4.01 3.50 2.55 1.51 0.71 0.35 0.43 0.71 0.92 0.90 0.66 0.34 0.15 0.17 0.37 0.63 0.78 0.75 0.56 0.29 0.06 0.00 0.01 0.17 0.35 0.44 0.38 0.16 0.00 0.00 0.00 0.00 0.14 0.32 0.27 0.00 0.00 0.00 0.00 0.62 1.59 2.44 2.91 2.88 2.51 2.03 1.68 1.52 1.46 1.36 1.11 0.76 0.46 0.39 0.59 0.98 1.34 1.47 1.30 0.93 0.56 0.40 0.52 0.86 1.26 1.57 1.77 1.98 2.34 2.89 3.53 3.99 4.01 3.50 2.55 1.51 0.71 0.35 0.43 0.71 0.92 0.90 0.66 0.34 0.15 0.17 0.37 0.63 0.78 0.75 0.56 0.29 0.06 0.00 87.5 + 90.0 0.00 0.00 0.11 0.35 0.51 0.50 0.31 0.03 0.00 0.00 0.00 0.29 0.49 0.46 0.18 0.00 0.00 0.04 0.82 1.84 2.76 3.27 3.24 2.82 2.25 1.78 1.51 1.38 1.23 0.95 0.58 0.26 0.15 0.34 0.72 1.09 1.24 1.09 0.72 0.34 0.15 0.26 0.58 0.95 1.23 1.38 1.51 1.78 2.25 2.82 3.24 3.27 2.76 1.84 0.82 0.04 0.00 0.00 0.18 0.46 0.49 0.29 0.00 0.00 0.00 0.03 0.31 0.50 0.51 0.35 0.11 0.00 0.00 0.00 0.11 0.35 0.51 0.50 0.31 0.03 0.00 0.00 0.00 0.29 0.49 0.46 0.18 0.00 0.00 0.04 0.82 1.84 2.76 3.27 3.24 2.82 2.25 1.78 1.51 1.38 1.23 0.95 0.58 0.26 0.15 0.34 0.72 1.09 1.24 1.09 0.72 0.34 0.15 0.26 0.58 0.95 1.23 1.38 1.51 1.78 2.25 2.82 3.24 3.27 2.76 1.84 0.82 0.04 0.00 0.00 0.18 0.46 0.49 0.29 0.00 0.00 0.00 0.03 0.31 0.50 0.51 0.35 0.11 0.00 0.00 90.0 + + 52.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.98 ) PHI2 = 53. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.0 + 2.5 0.09 0.27 0.36 0.38 0.37 0.39 0.49 0.64 0.84 1.05 1.27 1.51 1.77 2.01 2.20 2.28 2.24 2.08 1.86 1.62 1.38 1.15 0.93 0.73 0.55 0.44 0.39 0.38 0.34 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.36 0.40 0.41 0.45 0.56 0.72 0.93 1.14 1.37 1.61 1.85 2.07 2.22 2.26 2.18 2.00 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.40 0.38 0.39 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.27 0.36 0.38 0.37 0.39 0.49 0.64 0.84 1.05 1.27 1.51 1.77 2.01 2.20 2.28 2.24 2.08 1.86 1.62 1.38 1.15 0.93 0.73 0.55 0.44 0.39 0.38 0.34 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.24 0.36 0.40 0.41 0.45 0.56 0.72 0.93 1.14 1.37 1.61 1.85 2.07 2.22 2.26 2.18 2.00 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.40 0.38 0.39 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.09 2.5 + 5.0 0.30 0.42 0.45 0.40 0.34 0.32 0.37 0.50 0.68 0.89 1.13 1.40 1.71 2.01 2.25 2.40 2.40 2.27 2.05 1.79 1.52 1.27 1.03 0.82 0.65 0.53 0.47 0.45 0.43 0.34 0.17 0.00 0.00 0.00 0.00 0.00 0.16 0.35 0.46 0.50 0.51 0.55 0.64 0.80 1.00 1.23 1.48 1.74 1.99 2.20 2.32 2.31 2.18 1.95 1.67 1.38 1.12 0.88 0.67 0.50 0.39 0.36 0.40 0.47 0.50 0.45 0.30 0.11 0.00 0.00 0.00 0.12 0.30 0.42 0.45 0.40 0.34 0.32 0.37 0.50 0.68 0.89 1.13 1.40 1.71 2.01 2.25 2.40 2.40 2.27 2.05 1.79 1.52 1.27 1.03 0.82 0.65 0.53 0.47 0.45 0.43 0.34 0.17 0.00 0.00 0.00 0.00 0.00 0.16 0.35 0.46 0.50 0.51 0.55 0.64 0.80 1.00 1.23 1.48 1.74 1.99 2.20 2.32 2.31 2.18 1.95 1.67 1.38 1.12 0.88 0.67 0.50 0.39 0.36 0.40 0.47 0.50 0.45 0.30 0.11 0.00 0.00 0.00 0.12 0.30 5.0 + 7.5 0.59 0.64 0.60 0.50 0.38 0.31 0.31 0.40 0.54 0.74 0.99 1.28 1.63 1.99 2.31 2.53 2.60 2.52 2.32 2.05 1.77 1.50 1.27 1.07 0.90 0.79 0.74 0.73 0.71 0.65 0.52 0.36 0.20 0.12 0.16 0.30 0.48 0.64 0.74 0.77 0.77 0.78 0.84 0.97 1.15 1.39 1.66 1.94 2.19 2.37 2.43 2.36 2.17 1.88 1.57 1.26 0.98 0.74 0.54 0.41 0.36 0.40 0.50 0.62 0.70 0.69 0.59 0.45 0.33 0.29 0.35 0.47 0.59 0.64 0.60 0.50 0.38 0.31 0.31 0.40 0.54 0.74 0.99 1.28 1.63 1.99 2.31 2.53 2.60 2.52 2.32 2.05 1.77 1.50 1.27 1.07 0.90 0.79 0.74 0.73 0.71 0.65 0.52 0.36 0.20 0.12 0.16 0.30 0.48 0.64 0.74 0.77 0.77 0.78 0.84 0.97 1.15 1.39 1.66 1.94 2.19 2.37 2.43 2.36 2.17 1.88 1.57 1.26 0.98 0.74 0.54 0.41 0.36 0.40 0.50 0.62 0.70 0.69 0.59 0.45 0.33 0.29 0.35 0.47 0.59 7.5 + 10.0 0.90 0.90 0.81 0.68 0.53 0.43 0.39 0.42 0.52 0.68 0.90 1.19 1.55 1.94 2.32 2.61 2.76 2.75 2.59 2.36 2.09 1.85 1.64 1.48 1.35 1.27 1.23 1.23 1.24 1.21 1.13 1.00 0.86 0.78 0.78 0.87 1.00 1.13 1.20 1.21 1.18 1.15 1.15 1.23 1.38 1.60 1.87 2.14 2.37 2.50 2.50 2.37 2.12 1.81 1.49 1.19 0.93 0.71 0.55 0.46 0.47 0.56 0.71 0.86 0.95 0.96 0.89 0.78 0.71 0.70 0.75 0.84 0.90 0.90 0.81 0.68 0.53 0.43 0.39 0.42 0.52 0.68 0.90 1.19 1.55 1.94 2.32 2.61 2.76 2.75 2.59 2.36 2.09 1.85 1.64 1.48 1.35 1.27 1.23 1.23 1.24 1.21 1.13 1.00 0.86 0.78 0.78 0.87 1.00 1.13 1.20 1.21 1.18 1.15 1.15 1.23 1.38 1.60 1.87 2.14 2.37 2.50 2.50 2.37 2.12 1.81 1.49 1.19 0.93 0.71 0.55 0.46 0.47 0.56 0.71 0.86 0.95 0.96 0.89 0.78 0.71 0.70 0.75 0.84 0.90 10.0 + 12.5 1.16 1.12 1.03 0.90 0.76 0.65 0.58 0.58 0.63 0.73 0.89 1.13 1.45 1.83 2.23 2.57 2.80 2.87 2.79 2.62 2.42 2.22 2.07 1.95 1.87 1.82 1.81 1.83 1.87 1.88 1.83 1.73 1.61 1.51 1.48 1.52 1.61 1.69 1.74 1.71 1.64 1.55 1.49 1.51 1.62 1.81 2.05 2.30 2.48 2.55 2.49 2.29 2.02 1.72 1.44 1.19 0.98 0.81 0.69 0.65 0.70 0.82 0.97 1.11 1.18 1.17 1.11 1.04 1.00 1.02 1.07 1.13 1.16 1.12 1.03 0.90 0.76 0.65 0.58 0.58 0.63 0.73 0.89 1.13 1.45 1.83 2.23 2.57 2.80 2.87 2.79 2.62 2.42 2.22 2.07 1.95 1.87 1.82 1.81 1.83 1.87 1.88 1.83 1.73 1.61 1.51 1.48 1.52 1.61 1.69 1.74 1.71 1.64 1.55 1.49 1.51 1.62 1.81 2.05 2.30 2.48 2.55 2.49 2.29 2.02 1.72 1.44 1.19 0.98 0.81 0.69 0.65 0.70 0.82 0.97 1.11 1.18 1.17 1.11 1.04 1.00 1.02 1.07 1.13 1.16 12.5 + 15.0 1.29 1.24 1.16 1.05 0.95 0.86 0.79 0.76 0.76 0.79 0.88 1.04 1.29 1.62 2.00 2.37 2.66 2.82 2.84 2.76 2.63 2.49 2.38 2.30 2.25 2.23 2.25 2.29 2.36 2.40 2.40 2.33 2.21 2.11 2.04 2.04 2.09 2.13 2.13 2.07 1.95 1.81 1.71 1.69 1.77 1.94 2.16 2.37 2.50 2.51 2.38 2.14 1.86 1.59 1.36 1.18 1.04 0.94 0.87 0.87 0.94 1.06 1.18 1.27 1.28 1.25 1.19 1.15 1.15 1.20 1.25 1.29 1.29 1.24 1.16 1.05 0.95 0.86 0.79 0.76 0.76 0.79 0.88 1.04 1.29 1.62 2.00 2.37 2.66 2.82 2.84 2.76 2.63 2.49 2.38 2.30 2.25 2.23 2.25 2.29 2.36 2.40 2.40 2.33 2.21 2.11 2.04 2.04 2.09 2.13 2.13 2.07 1.95 1.81 1.71 1.69 1.77 1.94 2.16 2.37 2.50 2.51 2.38 2.14 1.86 1.59 1.36 1.18 1.04 0.94 0.87 0.87 0.94 1.06 1.18 1.27 1.28 1.25 1.19 1.15 1.15 1.20 1.25 1.29 1.29 15.0 + 17.5 1.26 1.19 1.12 1.05 0.99 0.93 0.88 0.83 0.79 0.78 0.80 0.88 1.05 1.31 1.65 2.01 2.34 2.58 2.69 2.71 2.65 2.57 2.48 2.42 2.37 2.35 2.37 2.44 2.54 2.62 2.65 2.61 2.51 2.40 2.32 2.29 2.29 2.29 2.24 2.14 1.99 1.83 1.72 1.69 1.77 1.94 2.15 2.34 2.43 2.38 2.20 1.93 1.65 1.42 1.24 1.12 1.04 0.98 0.96 0.98 1.05 1.14 1.22 1.24 1.20 1.14 1.09 1.09 1.15 1.22 1.28 1.30 1.26 1.19 1.12 1.05 0.99 0.93 0.88 0.83 0.79 0.78 0.80 0.88 1.05 1.31 1.65 2.01 2.34 2.58 2.69 2.71 2.65 2.57 2.48 2.42 2.37 2.35 2.37 2.44 2.54 2.62 2.65 2.61 2.51 2.40 2.32 2.29 2.29 2.29 2.24 2.14 1.99 1.83 1.72 1.69 1.77 1.94 2.15 2.34 2.43 2.38 2.20 1.93 1.65 1.42 1.24 1.12 1.04 0.98 0.96 0.98 1.05 1.14 1.22 1.24 1.20 1.14 1.09 1.09 1.15 1.22 1.28 1.30 1.26 17.5 + 20.0 1.07 0.97 0.90 0.85 0.82 0.80 0.76 0.71 0.65 0.61 0.60 0.64 0.74 0.93 1.21 1.55 1.89 2.19 2.38 2.48 2.49 2.45 2.37 2.29 2.23 2.21 2.24 2.33 2.45 2.57 2.64 2.64 2.57 2.46 2.37 2.30 2.25 2.20 2.10 1.96 1.79 1.64 1.54 1.55 1.65 1.84 2.05 2.22 2.27 2.18 1.97 1.70 1.43 1.21 1.07 0.98 0.92 0.88 0.87 0.89 0.95 1.01 1.04 1.00 0.93 0.86 0.84 0.90 1.01 1.12 1.17 1.15 1.07 0.97 0.90 0.85 0.82 0.80 0.76 0.71 0.65 0.61 0.60 0.64 0.74 0.93 1.21 1.55 1.89 2.19 2.38 2.48 2.49 2.45 2.37 2.29 2.23 2.21 2.24 2.33 2.45 2.57 2.64 2.64 2.57 2.46 2.37 2.30 2.25 2.20 2.10 1.96 1.79 1.64 1.54 1.55 1.65 1.84 2.05 2.22 2.27 2.18 1.97 1.70 1.43 1.21 1.07 0.98 0.92 0.88 0.87 0.89 0.95 1.01 1.04 1.00 0.93 0.86 0.84 0.90 1.01 1.12 1.17 1.15 1.07 20.0 + 22.5 0.76 0.63 0.54 0.50 0.50 0.49 0.47 0.42 0.37 0.33 0.31 0.33 0.40 0.54 0.76 1.05 1.39 1.71 1.98 2.15 2.23 2.22 2.17 2.10 2.04 2.02 2.08 2.20 2.36 2.52 2.63 2.66 2.61 2.51 2.40 2.29 2.17 2.05 1.89 1.71 1.53 1.39 1.33 1.36 1.50 1.69 1.89 2.03 2.06 1.95 1.74 1.46 1.20 1.00 0.86 0.77 0.70 0.65 0.63 0.64 0.68 0.71 0.70 0.63 0.53 0.47 0.50 0.61 0.78 0.91 0.95 0.89 0.76 0.63 0.54 0.50 0.50 0.49 0.47 0.42 0.37 0.33 0.31 0.33 0.40 0.54 0.76 1.05 1.39 1.71 1.98 2.15 2.23 2.22 2.17 2.10 2.04 2.02 2.08 2.20 2.36 2.52 2.63 2.66 2.61 2.51 2.40 2.29 2.17 2.05 1.89 1.71 1.53 1.39 1.33 1.36 1.50 1.69 1.89 2.03 2.06 1.95 1.74 1.46 1.20 1.00 0.86 0.77 0.70 0.65 0.63 0.64 0.68 0.71 0.70 0.63 0.53 0.47 0.50 0.61 0.78 0.91 0.95 0.89 0.76 22.5 + 25.0 0.40 0.24 0.14 0.12 0.14 0.15 0.12 0.08 0.03 0.01 0.01 0.03 0.09 0.19 0.35 0.60 0.90 1.24 1.55 1.79 1.95 2.02 2.03 2.01 2.01 2.05 2.16 2.33 2.53 2.72 2.86 2.90 2.86 2.76 2.61 2.44 2.25 2.04 1.82 1.59 1.40 1.27 1.22 1.26 1.38 1.54 1.69 1.79 1.79 1.68 1.47 1.23 0.99 0.81 0.66 0.55 0.46 0.39 0.34 0.34 0.36 0.37 0.33 0.23 0.13 0.08 0.14 0.30 0.50 0.64 0.67 0.57 0.40 0.24 0.14 0.12 0.14 0.15 0.12 0.08 0.03 0.01 0.01 0.03 0.09 0.19 0.35 0.60 0.90 1.24 1.55 1.79 1.95 2.02 2.03 2.01 2.01 2.05 2.16 2.33 2.53 2.72 2.86 2.90 2.86 2.76 2.61 2.44 2.25 2.04 1.82 1.59 1.40 1.27 1.22 1.26 1.38 1.54 1.69 1.79 1.79 1.68 1.47 1.23 0.99 0.81 0.66 0.55 0.46 0.39 0.34 0.34 0.36 0.37 0.33 0.23 0.13 0.08 0.14 0.30 0.50 0.64 0.67 0.57 0.40 25.0 + 27.5 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.22 0.49 0.81 1.16 1.47 1.73 1.91 2.03 2.12 2.22 2.36 2.56 2.79 3.03 3.23 3.36 3.40 3.35 3.22 3.03 2.79 2.52 2.23 1.95 1.69 1.49 1.36 1.29 1.29 1.33 1.40 1.47 1.50 1.46 1.35 1.18 0.98 0.79 0.63 0.50 0.38 0.26 0.17 0.11 0.10 0.11 0.10 0.04 0.00 0.00 0.00 0.00 0.03 0.23 0.37 0.37 0.25 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.22 0.49 0.81 1.16 1.47 1.73 1.91 2.03 2.12 2.22 2.36 2.56 2.79 3.03 3.23 3.36 3.40 3.35 3.22 3.03 2.79 2.52 2.23 1.95 1.69 1.49 1.36 1.29 1.29 1.33 1.40 1.47 1.50 1.46 1.35 1.18 0.98 0.79 0.63 0.50 0.38 0.26 0.17 0.11 0.10 0.11 0.10 0.04 0.00 0.00 0.00 0.00 0.03 0.23 0.37 0.37 0.25 0.06 27.5 + 30.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.18 0.49 0.85 1.22 1.56 1.85 2.10 2.33 2.56 2.82 3.10 3.37 3.62 3.80 3.91 3.91 3.83 3.66 3.43 3.13 2.80 2.47 2.16 1.90 1.70 1.56 1.45 1.37 1.31 1.26 1.22 1.17 1.10 0.99 0.86 0.72 0.58 0.47 0.36 0.25 0.14 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.15 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.18 0.49 0.85 1.22 1.56 1.85 2.10 2.33 2.56 2.82 3.10 3.37 3.62 3.80 3.91 3.91 3.83 3.66 3.43 3.13 2.80 2.47 2.16 1.90 1.70 1.56 1.45 1.37 1.31 1.26 1.22 1.17 1.10 0.99 0.86 0.72 0.58 0.47 0.36 0.25 0.14 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.15 0.13 0.00 0.00 30.0 + 32.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.28 0.64 1.04 1.42 1.79 2.12 2.45 2.78 3.11 3.44 3.72 3.94 4.07 4.11 4.08 3.96 3.77 3.51 3.19 2.84 2.50 2.22 2.00 1.84 1.70 1.57 1.42 1.25 1.10 0.97 0.87 0.78 0.68 0.58 0.48 0.39 0.32 0.25 0.17 0.09 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.28 0.64 1.04 1.42 1.79 2.12 2.45 2.78 3.11 3.44 3.72 3.94 4.07 4.11 4.08 3.96 3.77 3.51 3.19 2.84 2.50 2.22 2.00 1.84 1.70 1.57 1.42 1.25 1.10 0.97 0.87 0.78 0.68 0.58 0.48 0.39 0.32 0.25 0.17 0.09 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.00 0.00 0.00 32.5 + 35.0 0.00 0.00 0.00 0.00 0.03 0.08 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.55 0.92 1.28 1.63 1.96 2.31 2.66 3.00 3.31 3.55 3.69 3.75 3.73 3.66 3.53 3.35 3.10 2.80 2.48 2.19 1.97 1.84 1.75 1.66 1.53 1.34 1.13 0.92 0.76 0.65 0.58 0.51 0.43 0.35 0.27 0.21 0.16 0.11 0.07 0.03 0.02 0.02 0.03 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.09 0.03 0.00 0.00 0.00 0.00 0.00 0.03 0.08 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.55 0.92 1.28 1.63 1.96 2.31 2.66 3.00 3.31 3.55 3.69 3.75 3.73 3.66 3.53 3.35 3.10 2.80 2.48 2.19 1.97 1.84 1.75 1.66 1.53 1.34 1.13 0.92 0.76 0.65 0.58 0.51 0.43 0.35 0.27 0.21 0.16 0.11 0.07 0.03 0.02 0.02 0.03 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.09 0.03 0.00 0.00 35.0 + 37.5 0.00 0.00 0.03 0.14 0.25 0.28 0.22 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.28 0.56 0.86 1.12 1.37 1.61 1.88 2.17 2.45 2.68 2.83 2.89 2.87 2.81 2.73 2.63 2.50 2.31 2.06 1.80 1.59 1.46 1.42 1.43 1.42 1.33 1.17 0.96 0.77 0.64 0.58 0.56 0.53 0.46 0.36 0.25 0.16 0.10 0.09 0.09 0.10 0.11 0.11 0.11 0.09 0.05 0.01 0.00 0.01 0.09 0.19 0.26 0.27 0.20 0.08 0.00 0.00 0.03 0.14 0.25 0.28 0.22 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.28 0.56 0.86 1.12 1.37 1.61 1.88 2.17 2.45 2.68 2.83 2.89 2.87 2.81 2.73 2.63 2.50 2.31 2.06 1.80 1.59 1.46 1.42 1.43 1.42 1.33 1.17 0.96 0.77 0.64 0.58 0.56 0.53 0.46 0.36 0.25 0.16 0.10 0.09 0.09 0.10 0.11 0.11 0.11 0.09 0.05 0.01 0.00 0.01 0.09 0.19 0.26 0.27 0.20 0.08 0.00 37.5 + 40.0 0.21 0.20 0.26 0.35 0.43 0.44 0.38 0.28 0.18 0.09 0.03 0.00 0.00 0.00 0.00 0.02 0.19 0.42 0.65 0.84 0.96 1.05 1.14 1.28 1.46 1.65 1.80 1.85 1.82 1.74 1.66 1.62 1.60 1.56 1.46 1.28 1.08 0.92 0.86 0.91 1.01 1.08 1.07 0.96 0.80 0.67 0.62 0.64 0.70 0.71 0.64 0.50 0.32 0.17 0.10 0.10 0.15 0.21 0.25 0.25 0.22 0.18 0.15 0.15 0.19 0.28 0.39 0.49 0.53 0.49 0.40 0.29 0.21 0.20 0.26 0.35 0.43 0.44 0.38 0.28 0.18 0.09 0.03 0.00 0.00 0.00 0.00 0.02 0.19 0.42 0.65 0.84 0.96 1.05 1.14 1.28 1.46 1.65 1.80 1.85 1.82 1.74 1.66 1.62 1.60 1.56 1.46 1.28 1.08 0.92 0.86 0.91 1.01 1.08 1.07 0.96 0.80 0.67 0.62 0.64 0.70 0.71 0.64 0.50 0.32 0.17 0.10 0.10 0.15 0.21 0.25 0.25 0.22 0.18 0.15 0.15 0.19 0.28 0.39 0.49 0.53 0.49 0.40 0.29 0.21 40.0 + 42.5 0.37 0.37 0.43 0.49 0.53 0.52 0.48 0.43 0.38 0.33 0.27 0.20 0.11 0.04 0.05 0.15 0.34 0.55 0.73 0.81 0.80 0.73 0.67 0.69 0.79 0.90 0.97 0.96 0.86 0.75 0.69 0.72 0.81 0.89 0.88 0.77 0.59 0.44 0.39 0.47 0.63 0.78 0.84 0.79 0.69 0.62 0.64 0.75 0.88 0.94 0.87 0.68 0.43 0.22 0.12 0.15 0.27 0.39 0.46 0.45 0.37 0.28 0.23 0.25 0.35 0.50 0.64 0.72 0.72 0.64 0.53 0.42 0.37 0.37 0.43 0.49 0.53 0.52 0.48 0.43 0.38 0.33 0.27 0.20 0.11 0.04 0.05 0.15 0.34 0.55 0.73 0.81 0.80 0.73 0.67 0.69 0.79 0.90 0.97 0.96 0.86 0.75 0.69 0.72 0.81 0.89 0.88 0.77 0.59 0.44 0.39 0.47 0.63 0.78 0.84 0.79 0.69 0.62 0.64 0.75 0.88 0.94 0.87 0.68 0.43 0.22 0.12 0.15 0.27 0.39 0.46 0.45 0.37 0.28 0.23 0.25 0.35 0.50 0.64 0.72 0.72 0.64 0.53 0.42 0.37 42.5 + 45.0 0.39 0.43 0.50 0.54 0.54 0.52 0.50 0.51 0.54 0.56 0.53 0.44 0.30 0.18 0.14 0.22 0.41 0.61 0.74 0.74 0.61 0.43 0.29 0.25 0.31 0.41 0.46 0.41 0.29 0.17 0.15 0.26 0.46 0.65 0.73 0.64 0.44 0.24 0.15 0.21 0.39 0.59 0.70 0.70 0.64 0.59 0.64 0.79 0.97 1.07 1.02 0.80 0.50 0.25 0.14 0.21 0.40 0.60 0.72 0.69 0.55 0.39 0.29 0.31 0.43 0.61 0.75 0.80 0.75 0.62 0.48 0.40 0.39 0.43 0.50 0.54 0.54 0.52 0.50 0.51 0.54 0.56 0.53 0.44 0.30 0.18 0.14 0.22 0.41 0.61 0.74 0.74 0.61 0.43 0.29 0.25 0.31 0.41 0.46 0.41 0.29 0.17 0.15 0.26 0.46 0.65 0.73 0.64 0.44 0.24 0.15 0.21 0.39 0.59 0.70 0.70 0.64 0.59 0.64 0.79 0.97 1.07 1.02 0.80 0.50 0.25 0.14 0.21 0.40 0.60 0.72 0.69 0.55 0.39 0.29 0.31 0.43 0.61 0.75 0.80 0.75 0.62 0.48 0.40 0.39 45.0 + 47.5 0.28 0.39 0.48 0.50 0.47 0.43 0.44 0.51 0.64 0.75 0.76 0.66 0.48 0.29 0.19 0.23 0.38 0.55 0.65 0.59 0.40 0.18 0.02 0.00 0.09 0.22 0.29 0.25 0.12 0.00 0.01 0.18 0.48 0.76 0.88 0.80 0.54 0.26 0.08 0.10 0.27 0.49 0.65 0.67 0.60 0.52 0.54 0.69 0.88 1.02 0.99 0.78 0.48 0.21 0.12 0.25 0.52 0.81 0.96 0.93 0.73 0.48 0.31 0.29 0.41 0.58 0.71 0.71 0.59 0.41 0.27 0.23 0.28 0.39 0.48 0.50 0.47 0.43 0.44 0.51 0.64 0.75 0.76 0.66 0.48 0.29 0.19 0.23 0.38 0.55 0.65 0.59 0.40 0.18 0.02 0.00 0.09 0.22 0.29 0.25 0.12 0.00 0.01 0.18 0.48 0.76 0.88 0.80 0.54 0.26 0.08 0.10 0.27 0.49 0.65 0.67 0.60 0.52 0.54 0.69 0.88 1.02 0.99 0.78 0.48 0.21 0.12 0.25 0.52 0.81 0.96 0.93 0.73 0.48 0.31 0.29 0.41 0.58 0.71 0.71 0.59 0.41 0.27 0.23 0.28 47.5 + 50.0 0.13 0.31 0.43 0.44 0.37 0.30 0.30 0.43 0.64 0.84 0.92 0.84 0.63 0.38 0.22 0.20 0.30 0.44 0.51 0.43 0.23 0.00 0.00 0.00 0.06 0.25 0.35 0.32 0.19 0.07 0.09 0.30 0.65 0.97 1.12 1.01 0.70 0.33 0.07 0.04 0.21 0.46 0.65 0.68 0.57 0.44 0.39 0.48 0.66 0.82 0.83 0.65 0.37 0.12 0.06 0.23 0.58 0.94 1.14 1.10 0.85 0.52 0.28 0.21 0.30 0.46 0.55 0.51 0.33 0.13 0.00 0.00 0.13 0.31 0.43 0.44 0.37 0.30 0.30 0.43 0.64 0.84 0.92 0.84 0.63 0.38 0.22 0.20 0.30 0.44 0.51 0.43 0.23 0.00 0.00 0.00 0.06 0.25 0.35 0.32 0.19 0.07 0.09 0.30 0.65 0.97 1.12 1.01 0.70 0.33 0.07 0.04 0.21 0.46 0.65 0.68 0.57 0.44 0.39 0.48 0.66 0.82 0.83 0.65 0.37 0.12 0.06 0.23 0.58 0.94 1.14 1.10 0.85 0.52 0.28 0.21 0.30 0.46 0.55 0.51 0.33 0.13 0.00 0.00 0.13 50.0 + 52.5 0.07 0.30 0.44 0.42 0.30 0.17 0.14 0.29 0.56 0.83 0.99 0.95 0.74 0.47 0.26 0.20 0.26 0.37 0.42 0.34 0.15 0.00 0.00 0.00 0.14 0.36 0.49 0.46 0.32 0.20 0.21 0.42 0.77 1.09 1.23 1.10 0.75 0.34 0.05 0.00 0.17 0.46 0.67 0.72 0.58 0.38 0.25 0.27 0.42 0.58 0.62 0.50 0.25 0.03 0.00 0.19 0.58 0.98 1.21 1.16 0.88 0.50 0.20 0.09 0.17 0.31 0.39 0.32 0.13 0.00 0.00 0.00 0.07 0.30 0.44 0.42 0.30 0.17 0.14 0.29 0.56 0.83 0.99 0.95 0.74 0.47 0.26 0.20 0.26 0.37 0.42 0.34 0.15 0.00 0.00 0.00 0.14 0.36 0.49 0.46 0.32 0.20 0.21 0.42 0.77 1.09 1.23 1.10 0.75 0.34 0.05 0.00 0.17 0.46 0.67 0.72 0.58 0.38 0.25 0.27 0.42 0.58 0.62 0.50 0.25 0.03 0.00 0.19 0.58 0.98 1.21 1.16 0.88 0.50 0.20 0.09 0.17 0.31 0.39 0.32 0.13 0.00 0.00 0.00 0.07 52.5 + 55.0 0.18 0.43 0.56 0.50 0.30 0.09 0.02 0.14 0.43 0.76 0.97 0.99 0.82 0.57 0.35 0.27 0.31 0.41 0.46 0.40 0.25 0.09 0.02 0.10 0.29 0.50 0.61 0.58 0.44 0.31 0.30 0.48 0.78 1.06 1.17 1.04 0.69 0.28 0.00 0.00 0.17 0.48 0.73 0.79 0.64 0.39 0.20 0.15 0.26 0.41 0.48 0.39 0.18 0.00 0.00 0.15 0.53 0.93 1.16 1.12 0.83 0.44 0.12 0.00 0.07 0.22 0.31 0.26 0.08 0.00 0.00 0.00 0.18 0.43 0.56 0.50 0.30 0.09 0.02 0.14 0.43 0.76 0.97 0.99 0.82 0.57 0.35 0.27 0.31 0.41 0.46 0.40 0.25 0.09 0.02 0.10 0.29 0.50 0.61 0.58 0.44 0.31 0.30 0.48 0.78 1.06 1.17 1.04 0.69 0.28 0.00 0.00 0.17 0.48 0.73 0.79 0.64 0.39 0.20 0.15 0.26 0.41 0.48 0.39 0.18 0.00 0.00 0.15 0.53 0.93 1.16 1.12 0.83 0.44 0.12 0.00 0.07 0.22 0.31 0.26 0.08 0.00 0.00 0.00 0.18 55.0 + 57.5 0.45 0.69 0.78 0.66 0.39 0.11 0.00 0.05 0.32 0.65 0.90 0.97 0.85 0.64 0.45 0.38 0.43 0.54 0.62 0.60 0.49 0.36 0.29 0.33 0.47 0.62 0.69 0.66 0.53 0.41 0.39 0.51 0.73 0.94 1.02 0.88 0.56 0.21 0.00 0.00 0.20 0.53 0.79 0.87 0.73 0.47 0.24 0.15 0.22 0.35 0.43 0.37 0.19 0.00 0.00 0.13 0.47 0.84 1.05 1.01 0.74 0.36 0.07 0.00 0.06 0.23 0.35 0.34 0.21 0.07 0.05 0.19 0.45 0.69 0.78 0.66 0.39 0.11 0.00 0.05 0.32 0.65 0.90 0.97 0.85 0.64 0.45 0.38 0.43 0.54 0.62 0.60 0.49 0.36 0.29 0.33 0.47 0.62 0.69 0.66 0.53 0.41 0.39 0.51 0.73 0.94 1.02 0.88 0.56 0.21 0.00 0.00 0.20 0.53 0.79 0.87 0.73 0.47 0.24 0.15 0.22 0.35 0.43 0.37 0.19 0.00 0.00 0.13 0.47 0.84 1.05 1.01 0.74 0.36 0.07 0.00 0.06 0.23 0.35 0.34 0.21 0.07 0.05 0.19 0.45 57.5 + 60.0 0.74 0.95 1.01 0.84 0.53 0.20 0.01 0.03 0.26 0.56 0.80 0.89 0.81 0.64 0.50 0.46 0.53 0.67 0.78 0.82 0.76 0.65 0.56 0.55 0.60 0.68 0.73 0.70 0.61 0.52 0.49 0.55 0.69 0.81 0.84 0.71 0.46 0.18 0.02 0.05 0.26 0.57 0.82 0.90 0.79 0.55 0.32 0.21 0.25 0.36 0.44 0.40 0.25 0.08 0.02 0.14 0.42 0.73 0.91 0.88 0.64 0.32 0.07 0.01 0.13 0.33 0.48 0.51 0.44 0.35 0.35 0.50 0.74 0.95 1.01 0.84 0.53 0.20 0.01 0.03 0.26 0.56 0.80 0.89 0.81 0.64 0.50 0.46 0.53 0.67 0.78 0.82 0.76 0.65 0.56 0.55 0.60 0.68 0.73 0.70 0.61 0.52 0.49 0.55 0.69 0.81 0.84 0.71 0.46 0.18 0.02 0.05 0.26 0.57 0.82 0.90 0.79 0.55 0.32 0.21 0.25 0.36 0.44 0.40 0.25 0.08 0.02 0.14 0.42 0.73 0.91 0.88 0.64 0.32 0.07 0.01 0.13 0.33 0.48 0.51 0.44 0.35 0.35 0.50 0.74 60.0 + 62.5 0.92 1.09 1.11 0.94 0.62 0.30 0.09 0.08 0.25 0.49 0.69 0.76 0.69 0.56 0.44 0.42 0.51 0.67 0.82 0.90 0.88 0.80 0.69 0.61 0.60 0.62 0.66 0.66 0.63 0.59 0.56 0.57 0.63 0.67 0.66 0.55 0.37 0.18 0.07 0.11 0.30 0.56 0.78 0.86 0.77 0.58 0.38 0.28 0.30 0.40 0.47 0.45 0.34 0.19 0.12 0.20 0.40 0.64 0.79 0.76 0.57 0.31 0.13 0.11 0.25 0.46 0.62 0.67 0.62 0.56 0.57 0.71 0.92 1.09 1.11 0.94 0.62 0.30 0.09 0.08 0.25 0.49 0.69 0.76 0.69 0.56 0.44 0.42 0.51 0.67 0.82 0.90 0.88 0.80 0.69 0.61 0.60 0.62 0.66 0.66 0.63 0.59 0.56 0.57 0.63 0.67 0.66 0.55 0.37 0.18 0.07 0.11 0.30 0.56 0.78 0.86 0.77 0.58 0.38 0.28 0.30 0.40 0.47 0.45 0.34 0.19 0.12 0.20 0.40 0.64 0.79 0.76 0.57 0.31 0.13 0.11 0.25 0.46 0.62 0.67 0.62 0.56 0.57 0.71 0.92 62.5 + 65.0 0.88 1.01 1.02 0.87 0.61 0.34 0.17 0.15 0.27 0.45 0.59 0.62 0.54 0.40 0.29 0.27 0.35 0.50 0.67 0.77 0.78 0.70 0.58 0.46 0.40 0.40 0.45 0.51 0.54 0.54 0.51 0.49 0.48 0.48 0.46 0.39 0.28 0.17 0.11 0.15 0.30 0.51 0.69 0.78 0.74 0.61 0.47 0.40 0.43 0.52 0.60 0.61 0.52 0.39 0.31 0.33 0.47 0.63 0.73 0.70 0.55 0.36 0.23 0.24 0.38 0.57 0.72 0.75 0.69 0.62 0.61 0.71 0.88 1.01 1.02 0.87 0.61 0.34 0.17 0.15 0.27 0.45 0.59 0.62 0.54 0.40 0.29 0.27 0.35 0.50 0.67 0.77 0.78 0.70 0.58 0.46 0.40 0.40 0.45 0.51 0.54 0.54 0.51 0.49 0.48 0.48 0.46 0.39 0.28 0.17 0.11 0.15 0.30 0.51 0.69 0.78 0.74 0.61 0.47 0.40 0.43 0.52 0.60 0.61 0.52 0.39 0.31 0.33 0.47 0.63 0.73 0.70 0.55 0.36 0.23 0.24 0.38 0.57 0.72 0.75 0.69 0.62 0.61 0.71 0.88 65.0 + 67.5 0.66 0.76 0.78 0.68 0.49 0.31 0.20 0.20 0.30 0.43 0.52 0.52 0.42 0.27 0.13 0.08 0.13 0.25 0.40 0.51 0.52 0.44 0.29 0.15 0.07 0.08 0.16 0.26 0.34 0.36 0.33 0.29 0.25 0.24 0.25 0.25 0.22 0.18 0.16 0.20 0.32 0.50 0.68 0.80 0.82 0.78 0.72 0.71 0.78 0.90 1.00 1.02 0.94 0.80 0.68 0.63 0.67 0.75 0.80 0.75 0.61 0.46 0.37 0.40 0.52 0.68 0.77 0.76 0.66 0.55 0.50 0.55 0.66 0.76 0.78 0.68 0.49 0.31 0.20 0.20 0.30 0.43 0.52 0.52 0.42 0.27 0.13 0.08 0.13 0.25 0.40 0.51 0.52 0.44 0.29 0.15 0.07 0.08 0.16 0.26 0.34 0.36 0.33 0.29 0.25 0.24 0.25 0.25 0.22 0.18 0.16 0.20 0.32 0.50 0.68 0.80 0.82 0.78 0.72 0.71 0.78 0.90 1.00 1.02 0.94 0.80 0.68 0.63 0.67 0.75 0.80 0.75 0.61 0.46 0.37 0.40 0.52 0.68 0.77 0.76 0.66 0.55 0.50 0.55 0.66 67.5 + 70.0 0.41 0.48 0.50 0.44 0.33 0.23 0.18 0.22 0.32 0.44 0.51 0.50 0.39 0.24 0.08 0.00 0.00 0.08 0.21 0.30 0.30 0.21 0.04 0.00 0.00 0.00 0.00 0.06 0.16 0.17 0.13 0.06 0.04 0.07 0.15 0.23 0.29 0.30 0.31 0.36 0.49 0.68 0.90 1.09 1.21 1.26 1.30 1.38 1.51 1.68 1.80 1.83 1.72 1.52 1.31 1.15 1.08 1.06 1.03 0.94 0.80 0.65 0.57 0.59 0.69 0.80 0.84 0.77 0.62 0.46 0.36 0.35 0.41 0.48 0.50 0.44 0.33 0.23 0.18 0.22 0.32 0.44 0.51 0.50 0.39 0.24 0.08 0.00 0.00 0.08 0.21 0.30 0.30 0.21 0.04 0.00 0.00 0.00 0.00 0.06 0.16 0.17 0.13 0.06 0.04 0.07 0.15 0.23 0.29 0.30 0.31 0.36 0.49 0.68 0.90 1.09 1.21 1.26 1.30 1.38 1.51 1.68 1.80 1.83 1.72 1.52 1.31 1.15 1.08 1.06 1.03 0.94 0.80 0.65 0.57 0.59 0.69 0.80 0.84 0.77 0.62 0.46 0.36 0.35 0.41 70.0 + 72.5 0.27 0.30 0.31 0.27 0.21 0.16 0.15 0.21 0.32 0.45 0.54 0.56 0.49 0.34 0.18 0.06 0.03 0.10 0.23 0.33 0.34 0.24 0.05 0.00 0.00 0.00 0.00 0.10 0.18 0.16 0.08 0.00 0.00 0.10 0.27 0.46 0.59 0.65 0.67 0.73 0.87 1.11 1.40 1.69 1.92 2.08 2.23 2.41 2.63 2.87 3.03 3.03 2.86 2.54 2.18 1.87 1.66 1.53 1.42 1.28 1.10 0.92 0.82 0.81 0.88 0.96 0.97 0.87 0.68 0.48 0.33 0.26 0.27 0.30 0.31 0.27 0.21 0.16 0.15 0.21 0.32 0.45 0.54 0.56 0.49 0.34 0.18 0.06 0.03 0.10 0.23 0.33 0.34 0.24 0.05 0.00 0.00 0.00 0.00 0.10 0.18 0.16 0.08 0.00 0.00 0.10 0.27 0.46 0.59 0.65 0.67 0.73 0.87 1.11 1.40 1.69 1.92 2.08 2.23 2.41 2.63 2.87 3.03 3.03 2.86 2.54 2.18 1.87 1.66 1.53 1.42 1.28 1.10 0.92 0.82 0.81 0.88 0.96 0.97 0.87 0.68 0.48 0.33 0.26 0.27 72.5 + 75.0 0.28 0.28 0.27 0.24 0.18 0.14 0.13 0.17 0.28 0.42 0.56 0.64 0.63 0.53 0.37 0.24 0.20 0.30 0.47 0.64 0.70 0.61 0.43 0.23 0.14 0.18 0.32 0.46 0.51 0.44 0.30 0.20 0.23 0.40 0.67 0.94 1.12 1.19 1.20 1.25 1.40 1.70 2.07 2.45 2.77 3.03 3.28 3.56 3.89 4.21 4.41 4.39 4.12 3.64 3.10 2.62 2.27 2.05 1.88 1.69 1.46 1.23 1.07 1.02 1.07 1.14 1.15 1.04 0.85 0.62 0.43 0.32 0.28 0.28 0.27 0.24 0.18 0.14 0.13 0.17 0.28 0.42 0.56 0.64 0.63 0.53 0.37 0.24 0.20 0.30 0.47 0.64 0.70 0.61 0.43 0.23 0.14 0.18 0.32 0.46 0.51 0.44 0.30 0.20 0.23 0.40 0.67 0.94 1.12 1.19 1.20 1.25 1.40 1.70 2.07 2.45 2.77 3.03 3.28 3.56 3.89 4.21 4.41 4.39 4.12 3.64 3.10 2.62 2.27 2.05 1.88 1.69 1.46 1.23 1.07 1.02 1.07 1.14 1.15 1.04 0.85 0.62 0.43 0.32 0.28 75.0 + 77.5 0.37 0.34 0.32 0.28 0.21 0.14 0.08 0.08 0.15 0.30 0.49 0.65 0.71 0.64 0.50 0.37 0.35 0.50 0.78 1.06 1.23 1.21 1.05 0.85 0.73 0.77 0.91 1.04 1.06 0.93 0.74 0.61 0.64 0.87 1.21 1.53 1.72 1.76 1.72 1.72 1.86 2.18 2.61 3.06 3.44 3.76 4.07 4.43 4.86 5.27 5.53 5.49 5.11 4.47 3.75 3.11 2.66 2.40 2.21 2.01 1.74 1.46 1.23 1.13 1.16 1.24 1.28 1.21 1.03 0.80 0.59 0.45 0.37 0.34 0.32 0.28 0.21 0.14 0.08 0.08 0.15 0.30 0.49 0.65 0.71 0.64 0.50 0.37 0.35 0.50 0.78 1.06 1.23 1.21 1.05 0.85 0.73 0.77 0.91 1.04 1.06 0.93 0.74 0.61 0.64 0.87 1.21 1.53 1.72 1.76 1.72 1.72 1.86 2.18 2.61 3.06 3.44 3.76 4.07 4.43 4.86 5.27 5.53 5.49 5.11 4.47 3.75 3.11 2.66 2.40 2.21 2.01 1.74 1.46 1.23 1.13 1.16 1.24 1.28 1.21 1.03 0.80 0.59 0.45 0.37 77.5 + 80.0 0.39 0.35 0.34 0.30 0.23 0.11 0.00 0.00 0.00 0.06 0.27 0.49 0.61 0.58 0.43 0.29 0.29 0.51 0.92 1.37 1.69 1.78 1.65 1.44 1.31 1.32 1.45 1.57 1.57 1.40 1.16 0.98 1.01 1.25 1.62 1.96 2.13 2.11 1.98 1.90 2.00 2.30 2.75 3.21 3.61 3.94 4.26 4.66 5.17 5.66 5.98 5.93 5.48 4.71 3.84 3.09 2.60 2.36 2.23 2.06 1.80 1.48 1.19 1.04 1.05 1.16 1.25 1.23 1.10 0.88 0.66 0.49 0.39 0.35 0.34 0.30 0.23 0.11 0.00 0.00 0.00 0.06 0.27 0.49 0.61 0.58 0.43 0.29 0.29 0.51 0.92 1.37 1.69 1.78 1.65 1.44 1.31 1.32 1.45 1.57 1.57 1.40 1.16 0.98 1.01 1.25 1.62 1.96 2.13 2.11 1.98 1.90 2.00 2.30 2.75 3.21 3.61 3.94 4.26 4.66 5.17 5.66 5.98 5.93 5.48 4.71 3.84 3.09 2.60 2.36 2.23 2.06 1.80 1.48 1.19 1.04 1.05 1.16 1.25 1.23 1.10 0.88 0.66 0.49 0.39 80.0 + 82.5 0.24 0.21 0.23 0.23 0.16 0.02 0.00 0.00 0.00 0.00 0.00 0.20 0.35 0.32 0.15 0.00 0.00 0.25 0.79 1.41 1.90 2.10 2.02 1.80 1.62 1.59 1.69 1.80 1.79 1.60 1.32 1.10 1.10 1.33 1.71 2.04 2.18 2.09 1.87 1.69 1.71 1.97 2.39 2.84 3.20 3.48 3.77 4.17 4.70 5.25 5.62 5.59 5.09 4.24 3.28 2.49 2.02 1.86 1.84 1.77 1.55 1.22 0.90 0.71 0.71 0.84 0.99 1.04 0.95 0.75 0.53 0.34 0.24 0.21 0.23 0.23 0.16 0.02 0.00 0.00 0.00 0.00 0.00 0.20 0.35 0.32 0.15 0.00 0.00 0.25 0.79 1.41 1.90 2.10 2.02 1.80 1.62 1.59 1.69 1.80 1.79 1.60 1.32 1.10 1.10 1.33 1.71 2.04 2.18 2.09 1.87 1.69 1.71 1.97 2.39 2.84 3.20 3.48 3.77 4.17 4.70 5.25 5.62 5.59 5.09 4.24 3.28 2.49 2.02 1.86 1.84 1.77 1.55 1.22 0.90 0.71 0.71 0.84 0.99 1.04 0.95 0.75 0.53 0.34 0.24 82.5 + 85.0 0.00 0.00 0.00 0.06 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.47 1.25 1.89 2.20 2.16 1.90 1.65 1.54 1.60 1.69 1.67 1.48 1.17 0.92 0.88 1.09 1.46 1.78 1.90 1.76 1.47 1.21 1.15 1.35 1.72 2.12 2.43 2.64 2.85 3.19 3.70 4.27 4.66 4.65 4.15 3.26 2.27 1.48 1.07 1.01 1.13 1.18 1.05 0.75 0.41 0.20 0.20 0.36 0.56 0.67 0.63 0.46 0.23 0.04 0.00 0.00 0.00 0.06 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.47 1.25 1.89 2.20 2.16 1.90 1.65 1.54 1.60 1.69 1.67 1.48 1.17 0.92 0.88 1.09 1.46 1.78 1.90 1.76 1.47 1.21 1.15 1.35 1.72 2.12 2.43 2.64 2.85 3.19 3.70 4.27 4.66 4.65 4.15 3.26 2.27 1.48 1.07 1.01 1.13 1.18 1.05 0.75 0.41 0.20 0.20 0.36 0.56 0.67 0.63 0.46 0.23 0.04 0.00 85.0 + 87.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.27 1.16 1.91 2.31 2.28 1.98 1.63 1.42 1.39 1.44 1.41 1.21 0.89 0.62 0.54 0.73 1.09 1.42 1.54 1.38 1.05 0.73 0.61 0.76 1.09 1.45 1.71 1.84 1.95 2.20 2.63 3.16 3.55 3.55 3.07 2.19 1.21 0.44 0.08 0.12 0.34 0.52 0.47 0.21 0.00 0.00 0.00 0.00 0.09 0.26 0.27 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.27 1.16 1.91 2.31 2.28 1.98 1.63 1.42 1.39 1.44 1.41 1.21 0.89 0.62 0.54 0.73 1.09 1.42 1.54 1.38 1.05 0.73 0.61 0.76 1.09 1.45 1.71 1.84 1.95 2.20 2.63 3.16 3.55 3.55 3.07 2.19 1.21 0.44 0.08 0.12 0.34 0.52 0.47 0.21 0.00 0.00 0.00 0.00 0.09 0.26 0.27 0.13 0.00 0.00 0.00 87.5 + 90.0 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.00 0.00 0.00 0.00 0.48 1.43 2.27 2.72 2.70 2.34 1.89 1.57 1.44 1.42 1.35 1.13 0.80 0.50 0.39 0.55 0.90 1.23 1.37 1.23 0.90 0.55 0.39 0.50 0.80 1.13 1.35 1.42 1.44 1.57 1.89 2.34 2.70 2.72 2.27 1.43 0.48 0.00 0.00 0.00 0.00 0.02 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.00 0.00 0.00 0.00 0.48 1.43 2.27 2.72 2.70 2.34 1.89 1.57 1.44 1.42 1.35 1.13 0.80 0.50 0.39 0.55 0.90 1.23 1.37 1.23 0.90 0.55 0.39 0.50 0.80 1.13 1.35 1.42 1.44 1.57 1.89 2.34 2.70 2.72 2.27 1.43 0.48 0.00 0.00 0.00 0.00 0.02 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 90.0 + + 55.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.81 ) PHI2 = 55. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.0 + 2.5 0.27 0.36 0.37 0.36 0.39 0.49 0.64 0.84 1.05 1.28 1.52 1.77 2.02 2.20 2.28 2.24 2.08 1.86 1.62 1.38 1.15 0.93 0.72 0.55 0.44 0.39 0.38 0.34 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.25 0.36 0.40 0.41 0.45 0.56 0.72 0.92 1.14 1.37 1.60 1.84 2.06 2.21 2.25 2.17 1.99 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.41 0.39 0.40 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.27 0.36 0.37 0.36 0.39 0.49 0.64 0.84 1.05 1.28 1.52 1.77 2.02 2.20 2.28 2.24 2.08 1.86 1.62 1.38 1.15 0.93 0.72 0.55 0.44 0.39 0.38 0.34 0.24 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.25 0.36 0.40 0.41 0.45 0.56 0.72 0.92 1.14 1.37 1.60 1.84 2.06 2.21 2.25 2.17 1.99 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.41 0.39 0.40 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.27 2.5 + 5.0 0.41 0.43 0.39 0.33 0.31 0.37 0.50 0.68 0.89 1.14 1.41 1.71 2.02 2.27 2.41 2.41 2.28 2.05 1.78 1.52 1.27 1.03 0.82 0.64 0.52 0.46 0.44 0.42 0.33 0.17 0.00 0.00 0.00 0.00 0.00 0.16 0.35 0.46 0.50 0.51 0.54 0.63 0.79 0.99 1.22 1.47 1.73 1.98 2.18 2.30 2.29 2.17 1.94 1.66 1.38 1.12 0.88 0.67 0.50 0.40 0.37 0.41 0.47 0.50 0.44 0.29 0.10 0.00 0.00 0.00 0.11 0.29 0.41 0.43 0.39 0.33 0.31 0.37 0.50 0.68 0.89 1.14 1.41 1.71 2.02 2.27 2.41 2.41 2.28 2.05 1.78 1.52 1.27 1.03 0.82 0.64 0.52 0.46 0.44 0.42 0.33 0.17 0.00 0.00 0.00 0.00 0.00 0.16 0.35 0.46 0.50 0.51 0.54 0.63 0.79 0.99 1.22 1.47 1.73 1.98 2.18 2.30 2.29 2.17 1.94 1.66 1.38 1.12 0.88 0.67 0.50 0.40 0.37 0.41 0.47 0.50 0.44 0.29 0.10 0.00 0.00 0.00 0.11 0.29 0.41 5.0 + 7.5 0.61 0.57 0.46 0.35 0.28 0.30 0.39 0.54 0.74 0.98 1.29 1.64 2.00 2.33 2.55 2.61 2.53 2.32 2.04 1.76 1.50 1.26 1.06 0.89 0.77 0.71 0.70 0.68 0.63 0.51 0.35 0.19 0.11 0.13 0.27 0.45 0.62 0.72 0.75 0.75 0.75 0.81 0.93 1.11 1.35 1.62 1.90 2.15 2.33 2.39 2.32 2.14 1.86 1.56 1.25 0.97 0.73 0.54 0.40 0.36 0.40 0.50 0.62 0.69 0.67 0.57 0.42 0.30 0.27 0.33 0.45 0.56 0.61 0.57 0.46 0.35 0.28 0.30 0.39 0.54 0.74 0.98 1.29 1.64 2.00 2.33 2.55 2.61 2.53 2.32 2.04 1.76 1.50 1.26 1.06 0.89 0.77 0.71 0.70 0.68 0.63 0.51 0.35 0.19 0.11 0.13 0.27 0.45 0.62 0.72 0.75 0.75 0.75 0.81 0.93 1.11 1.35 1.62 1.90 2.15 2.33 2.39 2.32 2.14 1.86 1.56 1.25 0.97 0.73 0.54 0.40 0.36 0.40 0.50 0.62 0.69 0.67 0.57 0.42 0.30 0.27 0.33 0.45 0.56 0.61 7.5 + 10.0 0.84 0.75 0.61 0.47 0.37 0.34 0.39 0.50 0.66 0.88 1.18 1.54 1.95 2.33 2.63 2.77 2.75 2.59 2.35 2.08 1.84 1.64 1.47 1.33 1.23 1.19 1.18 1.19 1.17 1.09 0.96 0.82 0.72 0.71 0.79 0.93 1.07 1.15 1.16 1.13 1.08 1.08 1.14 1.29 1.52 1.79 2.07 2.30 2.43 2.43 2.30 2.07 1.78 1.47 1.18 0.91 0.69 0.53 0.44 0.45 0.54 0.70 0.84 0.92 0.92 0.83 0.72 0.65 0.64 0.71 0.80 0.85 0.84 0.75 0.61 0.47 0.37 0.34 0.39 0.50 0.66 0.88 1.18 1.54 1.95 2.33 2.63 2.77 2.75 2.59 2.35 2.08 1.84 1.64 1.47 1.33 1.23 1.19 1.18 1.19 1.17 1.09 0.96 0.82 0.72 0.71 0.79 0.93 1.07 1.15 1.16 1.13 1.08 1.08 1.14 1.29 1.52 1.79 2.07 2.30 2.43 2.43 2.30 2.07 1.78 1.47 1.18 0.91 0.69 0.53 0.44 0.45 0.54 0.70 0.84 0.92 0.92 0.83 0.72 0.65 0.64 0.71 0.80 0.85 0.84 10.0 + 12.5 1.04 0.93 0.79 0.66 0.56 0.51 0.51 0.56 0.67 0.83 1.08 1.42 1.82 2.23 2.58 2.80 2.86 2.78 2.60 2.40 2.21 2.06 1.94 1.85 1.78 1.76 1.77 1.80 1.81 1.78 1.67 1.54 1.42 1.36 1.39 1.48 1.58 1.63 1.61 1.53 1.43 1.36 1.37 1.48 1.68 1.93 2.19 2.38 2.45 2.39 2.21 1.95 1.67 1.40 1.16 0.94 0.77 0.64 0.60 0.65 0.78 0.94 1.07 1.12 1.09 1.01 0.94 0.90 0.93 1.00 1.06 1.08 1.04 0.93 0.79 0.66 0.56 0.51 0.51 0.56 0.67 0.83 1.08 1.42 1.82 2.23 2.58 2.80 2.86 2.78 2.60 2.40 2.21 2.06 1.94 1.85 1.78 1.76 1.77 1.80 1.81 1.78 1.67 1.54 1.42 1.36 1.39 1.48 1.58 1.63 1.61 1.53 1.43 1.36 1.37 1.48 1.68 1.93 2.19 2.38 2.45 2.39 2.21 1.95 1.67 1.40 1.16 0.94 0.77 0.64 0.60 0.65 0.78 0.94 1.07 1.12 1.09 1.01 0.94 0.90 0.93 1.00 1.06 1.08 1.04 12.5 + 15.0 1.14 1.03 0.92 0.82 0.74 0.68 0.66 0.66 0.70 0.79 0.97 1.24 1.59 1.99 2.36 2.65 2.80 2.81 2.73 2.61 2.49 2.39 2.31 2.24 2.20 2.19 2.22 2.28 2.32 2.32 2.24 2.11 1.97 1.88 1.87 1.91 1.97 1.99 1.93 1.81 1.66 1.54 1.51 1.59 1.77 2.01 2.23 2.38 2.39 2.27 2.05 1.79 1.54 1.33 1.15 1.00 0.88 0.80 0.80 0.87 0.99 1.12 1.20 1.20 1.14 1.06 1.01 1.02 1.08 1.16 1.20 1.20 1.14 1.03 0.92 0.82 0.74 0.68 0.66 0.66 0.70 0.79 0.97 1.24 1.59 1.99 2.36 2.65 2.80 2.81 2.73 2.61 2.49 2.39 2.31 2.24 2.20 2.19 2.22 2.28 2.32 2.32 2.24 2.11 1.97 1.88 1.87 1.91 1.97 1.99 1.93 1.81 1.66 1.54 1.51 1.59 1.77 2.01 2.23 2.38 2.39 2.27 2.05 1.79 1.54 1.33 1.15 1.00 0.88 0.80 0.80 0.87 0.99 1.12 1.20 1.20 1.14 1.06 1.01 1.02 1.08 1.16 1.20 1.20 1.14 15.0 + 17.5 1.09 1.00 0.91 0.85 0.80 0.75 0.70 0.67 0.65 0.68 0.79 0.98 1.27 1.62 1.99 2.32 2.54 2.66 2.68 2.64 2.58 2.51 2.44 2.38 2.33 2.33 2.37 2.46 2.53 2.56 2.50 2.38 2.24 2.13 2.09 2.09 2.11 2.08 1.99 1.84 1.67 1.54 1.51 1.59 1.77 2.00 2.20 2.31 2.27 2.11 1.87 1.61 1.39 1.22 1.10 1.00 0.92 0.88 0.89 0.97 1.07 1.15 1.17 1.11 1.02 0.95 0.94 1.00 1.10 1.18 1.21 1.17 1.09 1.00 0.91 0.85 0.80 0.75 0.70 0.67 0.65 0.68 0.79 0.98 1.27 1.62 1.99 2.32 2.54 2.66 2.68 2.64 2.58 2.51 2.44 2.38 2.33 2.33 2.37 2.46 2.53 2.56 2.50 2.38 2.24 2.13 2.09 2.09 2.11 2.08 1.99 1.84 1.67 1.54 1.51 1.59 1.77 2.00 2.20 2.31 2.27 2.11 1.87 1.61 1.39 1.22 1.10 1.00 0.92 0.88 0.89 0.97 1.07 1.15 1.17 1.11 1.02 0.95 0.94 1.00 1.10 1.18 1.21 1.17 1.09 17.5 + 20.0 0.90 0.80 0.73 0.70 0.67 0.63 0.58 0.52 0.48 0.48 0.53 0.66 0.88 1.17 1.51 1.85 2.14 2.34 2.45 2.49 2.47 2.42 2.34 2.26 2.21 2.21 2.27 2.38 2.49 2.55 2.52 2.42 2.29 2.16 2.09 2.05 2.01 1.94 1.81 1.64 1.48 1.38 1.38 1.49 1.69 1.92 2.11 2.19 2.12 1.93 1.68 1.42 1.22 1.07 0.98 0.90 0.84 0.81 0.83 0.89 0.96 0.99 0.95 0.86 0.76 0.72 0.76 0.88 1.01 1.09 1.09 1.01 0.90 0.80 0.73 0.70 0.67 0.63 0.58 0.52 0.48 0.48 0.53 0.66 0.88 1.17 1.51 1.85 2.14 2.34 2.45 2.49 2.47 2.42 2.34 2.26 2.21 2.21 2.27 2.38 2.49 2.55 2.52 2.42 2.29 2.16 2.09 2.05 2.01 1.94 1.81 1.64 1.48 1.38 1.38 1.49 1.69 1.92 2.11 2.19 2.12 1.93 1.68 1.42 1.22 1.07 0.98 0.90 0.84 0.81 0.83 0.89 0.96 0.99 0.95 0.86 0.76 0.72 0.76 0.88 1.01 1.09 1.09 1.01 0.90 20.0 + 22.5 0.60 0.49 0.43 0.41 0.40 0.36 0.31 0.25 0.21 0.20 0.23 0.32 0.48 0.71 1.01 1.34 1.66 1.93 2.13 2.24 2.27 2.24 2.17 2.09 2.05 2.08 2.17 2.31 2.46 2.54 2.54 2.45 2.32 2.18 2.06 1.97 1.86 1.73 1.56 1.39 1.25 1.18 1.22 1.36 1.57 1.80 1.96 2.02 1.94 1.75 1.50 1.25 1.05 0.91 0.80 0.71 0.64 0.61 0.62 0.66 0.70 0.70 0.62 0.51 0.42 0.42 0.53 0.70 0.85 0.92 0.87 0.75 0.60 0.49 0.43 0.41 0.40 0.36 0.31 0.25 0.21 0.20 0.23 0.32 0.48 0.71 1.01 1.34 1.66 1.93 2.13 2.24 2.27 2.24 2.17 2.09 2.05 2.08 2.17 2.31 2.46 2.54 2.54 2.45 2.32 2.18 2.06 1.97 1.86 1.73 1.56 1.39 1.25 1.18 1.22 1.36 1.57 1.80 1.96 2.02 1.94 1.75 1.50 1.25 1.05 0.91 0.80 0.71 0.64 0.61 0.62 0.66 0.70 0.70 0.62 0.51 0.42 0.42 0.53 0.70 0.85 0.92 0.87 0.75 0.60 22.5 + 25.0 0.26 0.15 0.10 0.10 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.02 0.13 0.30 0.54 0.85 1.18 1.51 1.79 1.98 2.09 2.13 2.11 2.09 2.11 2.19 2.34 2.52 2.69 2.78 2.79 2.70 2.55 2.38 2.21 2.03 1.84 1.63 1.42 1.24 1.12 1.08 1.14 1.27 1.45 1.63 1.76 1.79 1.71 1.53 1.31 1.09 0.90 0.75 0.63 0.51 0.42 0.37 0.37 0.40 0.42 0.38 0.28 0.16 0.09 0.13 0.28 0.49 0.65 0.70 0.61 0.44 0.26 0.15 0.10 0.10 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.02 0.13 0.30 0.54 0.85 1.18 1.51 1.79 1.98 2.09 2.13 2.11 2.09 2.11 2.19 2.34 2.52 2.69 2.78 2.79 2.70 2.55 2.38 2.21 2.03 1.84 1.63 1.42 1.24 1.12 1.08 1.14 1.27 1.45 1.63 1.76 1.79 1.71 1.53 1.31 1.09 0.90 0.75 0.63 0.51 0.42 0.37 0.37 0.40 0.42 0.38 0.28 0.16 0.09 0.13 0.28 0.49 0.65 0.70 0.61 0.44 0.26 25.0 + 27.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.18 0.44 0.78 1.15 1.50 1.80 2.02 2.16 2.26 2.35 2.48 2.66 2.87 3.08 3.25 3.33 3.31 3.20 3.02 2.79 2.54 2.27 1.99 1.72 1.48 1.30 1.18 1.14 1.16 1.23 1.33 1.43 1.49 1.48 1.40 1.26 1.08 0.91 0.75 0.61 0.48 0.35 0.25 0.19 0.17 0.19 0.20 0.14 0.03 0.00 0.00 0.00 0.07 0.28 0.43 0.45 0.33 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.18 0.44 0.78 1.15 1.50 1.80 2.02 2.16 2.26 2.35 2.48 2.66 2.87 3.08 3.25 3.33 3.31 3.20 3.02 2.79 2.54 2.27 1.99 1.72 1.48 1.30 1.18 1.14 1.16 1.23 1.33 1.43 1.49 1.48 1.40 1.26 1.08 0.91 0.75 0.61 0.48 0.35 0.25 0.19 0.17 0.19 0.20 0.14 0.03 0.00 0.00 0.00 0.07 0.28 0.43 0.45 0.33 0.14 0.00 27.5 + 30.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.49 0.88 1.30 1.69 2.02 2.29 2.53 2.76 3.01 3.28 3.54 3.76 3.90 3.94 3.87 3.72 3.49 3.21 2.89 2.55 2.21 1.90 1.65 1.47 1.36 1.29 1.25 1.22 1.20 1.18 1.16 1.12 1.05 0.94 0.82 0.70 0.59 0.48 0.37 0.26 0.16 0.10 0.09 0.10 0.09 0.03 0.00 0.00 0.00 0.00 0.00 0.11 0.23 0.22 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.49 0.88 1.30 1.69 2.02 2.29 2.53 2.76 3.01 3.28 3.54 3.76 3.90 3.94 3.87 3.72 3.49 3.21 2.89 2.55 2.21 1.90 1.65 1.47 1.36 1.29 1.25 1.22 1.20 1.18 1.16 1.12 1.05 0.94 0.82 0.70 0.59 0.48 0.37 0.26 0.16 0.10 0.09 0.10 0.09 0.03 0.00 0.00 0.00 0.00 0.00 0.11 0.23 0.22 0.09 0.00 0.00 30.0 + 32.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.32 0.72 1.16 1.60 2.00 2.36 2.70 3.03 3.38 3.70 3.98 4.17 4.26 4.23 4.11 3.91 3.65 3.34 2.98 2.61 2.25 1.96 1.74 1.60 1.50 1.41 1.30 1.16 1.03 0.92 0.84 0.77 0.71 0.64 0.57 0.49 0.42 0.36 0.29 0.21 0.14 0.10 0.09 0.10 0.08 0.01 0.00 0.00 0.00 0.00 0.00 0.03 0.11 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.32 0.72 1.16 1.60 2.00 2.36 2.70 3.03 3.38 3.70 3.98 4.17 4.26 4.23 4.11 3.91 3.65 3.34 2.98 2.61 2.25 1.96 1.74 1.60 1.50 1.41 1.30 1.16 1.03 0.92 0.84 0.77 0.71 0.64 0.57 0.49 0.42 0.36 0.29 0.21 0.14 0.10 0.09 0.10 0.08 0.01 0.00 0.00 0.00 0.00 0.00 0.03 0.11 0.08 0.00 0.00 0.00 32.5 + 35.0 0.00 0.00 0.00 0.01 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.28 0.65 1.07 1.48 1.87 2.23 2.59 2.95 3.30 3.63 3.87 4.00 4.01 3.92 3.76 3.55 3.30 3.00 2.66 2.31 2.00 1.76 1.62 1.54 1.49 1.40 1.24 1.04 0.84 0.68 0.58 0.53 0.50 0.45 0.40 0.34 0.29 0.25 0.22 0.18 0.16 0.14 0.14 0.13 0.11 0.04 0.00 0.00 0.00 0.00 0.00 0.07 0.11 0.05 0.00 0.00 0.00 0.00 0.00 0.01 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.28 0.65 1.07 1.48 1.87 2.23 2.59 2.95 3.30 3.63 3.87 4.00 4.01 3.92 3.76 3.55 3.30 3.00 2.66 2.31 2.00 1.76 1.62 1.54 1.49 1.40 1.24 1.04 0.84 0.68 0.58 0.53 0.50 0.45 0.40 0.34 0.29 0.25 0.22 0.18 0.16 0.14 0.14 0.13 0.11 0.04 0.00 0.00 0.00 0.00 0.00 0.07 0.11 0.05 0.00 0.00 0.00 35.0 + 37.5 0.00 0.00 0.06 0.17 0.21 0.15 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.34 0.65 0.99 1.31 1.59 1.86 2.14 2.43 2.73 2.99 3.15 3.20 3.14 3.01 2.86 2.69 2.51 2.28 2.01 1.72 1.47 1.32 1.27 1.28 1.29 1.24 1.09 0.88 0.68 0.54 0.47 0.46 0.46 0.43 0.37 0.28 0.21 0.18 0.17 0.18 0.20 0.21 0.21 0.19 0.14 0.07 0.01 0.00 0.00 0.06 0.15 0.22 0.21 0.12 0.00 0.00 0.00 0.00 0.06 0.17 0.21 0.15 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.34 0.65 0.99 1.31 1.59 1.86 2.14 2.43 2.73 2.99 3.15 3.20 3.14 3.01 2.86 2.69 2.51 2.28 2.01 1.72 1.47 1.32 1.27 1.28 1.29 1.24 1.09 0.88 0.68 0.54 0.47 0.46 0.46 0.43 0.37 0.28 0.21 0.18 0.17 0.18 0.20 0.21 0.21 0.19 0.14 0.07 0.01 0.00 0.00 0.06 0.15 0.22 0.21 0.12 0.00 0.00 0.00 37.5 + 40.0 0.01 0.09 0.21 0.30 0.33 0.28 0.19 0.09 0.03 0.00 0.00 0.00 0.00 0.00 0.06 0.21 0.43 0.68 0.91 1.08 1.21 1.32 1.46 1.65 1.85 2.02 2.09 2.06 1.95 1.82 1.72 1.64 1.57 1.45 1.28 1.07 0.89 0.80 0.82 0.92 1.00 1.01 0.91 0.74 0.58 0.50 0.50 0.55 0.60 0.57 0.48 0.34 0.22 0.15 0.16 0.22 0.29 0.33 0.32 0.26 0.18 0.10 0.07 0.09 0.17 0.28 0.38 0.41 0.37 0.25 0.12 0.02 0.01 0.09 0.21 0.30 0.33 0.28 0.19 0.09 0.03 0.00 0.00 0.00 0.00 0.00 0.06 0.21 0.43 0.68 0.91 1.08 1.21 1.32 1.46 1.65 1.85 2.02 2.09 2.06 1.95 1.82 1.72 1.64 1.57 1.45 1.28 1.07 0.89 0.80 0.82 0.92 1.00 1.01 0.91 0.74 0.58 0.50 0.50 0.55 0.60 0.57 0.48 0.34 0.22 0.15 0.16 0.22 0.29 0.33 0.32 0.26 0.18 0.10 0.07 0.09 0.17 0.28 0.38 0.41 0.37 0.25 0.12 0.02 0.01 40.0 + 42.5 0.14 0.22 0.32 0.39 0.40 0.36 0.31 0.27 0.24 0.23 0.21 0.17 0.12 0.11 0.17 0.32 0.51 0.70 0.81 0.84 0.80 0.76 0.77 0.86 0.98 1.07 1.09 1.00 0.87 0.76 0.73 0.78 0.85 0.86 0.78 0.62 0.47 0.40 0.45 0.58 0.73 0.80 0.77 0.66 0.56 0.53 0.59 0.71 0.80 0.79 0.66 0.46 0.27 0.18 0.19 0.30 0.42 0.49 0.48 0.38 0.24 0.14 0.11 0.18 0.31 0.46 0.55 0.56 0.47 0.33 0.20 0.13 0.14 0.22 0.32 0.39 0.40 0.36 0.31 0.27 0.24 0.23 0.21 0.17 0.12 0.11 0.17 0.32 0.51 0.70 0.81 0.84 0.80 0.76 0.77 0.86 0.98 1.07 1.09 1.00 0.87 0.76 0.73 0.78 0.85 0.86 0.78 0.62 0.47 0.40 0.45 0.58 0.73 0.80 0.77 0.66 0.56 0.53 0.59 0.71 0.80 0.79 0.66 0.46 0.27 0.18 0.19 0.30 0.42 0.49 0.48 0.38 0.24 0.14 0.11 0.18 0.31 0.46 0.55 0.56 0.47 0.33 0.20 0.13 0.14 42.5 + 45.0 0.20 0.30 0.38 0.42 0.42 0.40 0.39 0.42 0.45 0.47 0.44 0.36 0.26 0.21 0.24 0.37 0.53 0.66 0.68 0.60 0.44 0.30 0.24 0.28 0.38 0.45 0.44 0.33 0.20 0.12 0.17 0.33 0.53 0.65 0.64 0.50 0.32 0.21 0.23 0.37 0.55 0.69 0.71 0.65 0.57 0.57 0.66 0.82 0.94 0.94 0.80 0.56 0.33 0.20 0.23 0.39 0.58 0.69 0.68 0.54 0.34 0.18 0.14 0.22 0.38 0.54 0.62 0.59 0.46 0.30 0.19 0.16 0.20 0.30 0.38 0.42 0.42 0.40 0.39 0.42 0.45 0.47 0.44 0.36 0.26 0.21 0.24 0.37 0.53 0.66 0.68 0.60 0.44 0.30 0.24 0.28 0.38 0.45 0.44 0.33 0.20 0.12 0.17 0.33 0.53 0.65 0.64 0.50 0.32 0.21 0.23 0.37 0.55 0.69 0.71 0.65 0.57 0.57 0.66 0.82 0.94 0.94 0.80 0.56 0.33 0.20 0.23 0.39 0.58 0.69 0.68 0.54 0.34 0.18 0.14 0.22 0.38 0.54 0.62 0.59 0.46 0.30 0.19 0.16 0.20 45.0 + 47.5 0.21 0.34 0.41 0.43 0.40 0.38 0.41 0.50 0.61 0.67 0.64 0.53 0.38 0.28 0.27 0.36 0.49 0.57 0.54 0.39 0.19 0.02 0.00 0.02 0.15 0.24 0.23 0.12 0.00 0.00 0.03 0.28 0.56 0.76 0.77 0.61 0.37 0.18 0.15 0.27 0.48 0.66 0.73 0.68 0.60 0.57 0.65 0.80 0.94 0.96 0.83 0.58 0.33 0.20 0.25 0.46 0.71 0.88 0.87 0.70 0.43 0.21 0.13 0.20 0.36 0.51 0.56 0.49 0.32 0.16 0.08 0.11 0.21 0.34 0.41 0.43 0.40 0.38 0.41 0.50 0.61 0.67 0.64 0.53 0.38 0.28 0.27 0.36 0.49 0.57 0.54 0.39 0.19 0.02 0.00 0.02 0.15 0.24 0.23 0.12 0.00 0.00 0.03 0.28 0.56 0.76 0.77 0.61 0.37 0.18 0.15 0.27 0.48 0.66 0.73 0.68 0.60 0.57 0.65 0.80 0.94 0.96 0.83 0.58 0.33 0.20 0.25 0.46 0.71 0.88 0.87 0.70 0.43 0.21 0.13 0.20 0.36 0.51 0.56 0.49 0.32 0.16 0.08 0.11 0.21 47.5 + 50.0 0.22 0.38 0.45 0.42 0.35 0.31 0.37 0.51 0.68 0.79 0.79 0.67 0.49 0.34 0.28 0.33 0.43 0.48 0.43 0.27 0.07 0.00 0.00 0.04 0.21 0.33 0.33 0.22 0.07 0.02 0.14 0.42 0.74 0.96 0.98 0.78 0.47 0.21 0.12 0.23 0.47 0.69 0.80 0.76 0.64 0.54 0.56 0.67 0.81 0.86 0.76 0.53 0.28 0.14 0.21 0.46 0.77 0.99 1.00 0.81 0.50 0.22 0.09 0.13 0.28 0.41 0.43 0.32 0.14 0.00 0.00 0.05 0.22 0.38 0.45 0.42 0.35 0.31 0.37 0.51 0.68 0.79 0.79 0.67 0.49 0.34 0.28 0.33 0.43 0.48 0.43 0.27 0.07 0.00 0.00 0.04 0.21 0.33 0.33 0.22 0.07 0.02 0.14 0.42 0.74 0.96 0.98 0.78 0.47 0.21 0.12 0.23 0.47 0.69 0.80 0.76 0.64 0.54 0.56 0.67 0.81 0.86 0.76 0.53 0.28 0.14 0.21 0.46 0.77 0.99 1.00 0.81 0.50 0.22 0.09 0.13 0.28 0.41 0.43 0.32 0.14 0.00 0.00 0.05 0.22 50.0 + 52.5 0.30 0.47 0.52 0.45 0.31 0.22 0.26 0.42 0.65 0.82 0.86 0.77 0.59 0.42 0.33 0.35 0.42 0.46 0.41 0.28 0.12 0.02 0.06 0.21 0.41 0.55 0.55 0.43 0.27 0.20 0.29 0.55 0.86 1.07 1.07 0.84 0.50 0.21 0.10 0.21 0.48 0.75 0.89 0.86 0.70 0.53 0.46 0.52 0.65 0.72 0.65 0.44 0.20 0.06 0.13 0.40 0.74 0.99 1.03 0.84 0.51 0.20 0.04 0.06 0.19 0.31 0.32 0.20 0.02 0.00 0.00 0.08 0.30 0.47 0.52 0.45 0.31 0.22 0.26 0.42 0.65 0.82 0.86 0.77 0.59 0.42 0.33 0.35 0.42 0.46 0.41 0.28 0.12 0.02 0.06 0.21 0.41 0.55 0.55 0.43 0.27 0.20 0.29 0.55 0.86 1.07 1.07 0.84 0.50 0.21 0.10 0.21 0.48 0.75 0.89 0.86 0.70 0.53 0.46 0.52 0.65 0.72 0.65 0.44 0.20 0.06 0.13 0.40 0.74 0.99 1.03 0.84 0.51 0.20 0.04 0.06 0.19 0.31 0.32 0.20 0.02 0.00 0.00 0.08 0.30 52.5 + 55.0 0.48 0.65 0.66 0.51 0.30 0.14 0.13 0.29 0.53 0.75 0.85 0.81 0.66 0.51 0.42 0.43 0.49 0.53 0.51 0.42 0.31 0.26 0.31 0.46 0.64 0.75 0.73 0.60 0.43 0.34 0.40 0.60 0.85 1.02 0.99 0.76 0.43 0.15 0.05 0.20 0.50 0.81 0.99 0.97 0.78 0.56 0.43 0.44 0.53 0.61 0.56 0.39 0.16 0.02 0.06 0.31 0.65 0.91 0.97 0.80 0.48 0.17 0.01 0.03 0.16 0.29 0.31 0.21 0.06 0.00 0.03 0.23 0.48 0.65 0.66 0.51 0.30 0.14 0.13 0.29 0.53 0.75 0.85 0.81 0.66 0.51 0.42 0.43 0.49 0.53 0.51 0.42 0.31 0.26 0.31 0.46 0.64 0.75 0.73 0.60 0.43 0.34 0.40 0.60 0.85 1.02 0.99 0.76 0.43 0.15 0.05 0.20 0.50 0.81 0.99 0.97 0.78 0.56 0.43 0.44 0.53 0.61 0.56 0.39 0.16 0.02 0.06 0.31 0.65 0.91 0.97 0.80 0.48 0.17 0.01 0.03 0.16 0.29 0.31 0.21 0.06 0.00 0.03 0.23 0.48 55.0 + 57.5 0.72 0.86 0.82 0.61 0.33 0.10 0.04 0.16 0.40 0.63 0.78 0.78 0.69 0.58 0.51 0.53 0.60 0.67 0.69 0.65 0.59 0.55 0.59 0.69 0.80 0.86 0.83 0.70 0.55 0.45 0.47 0.60 0.76 0.86 0.81 0.60 0.31 0.08 0.02 0.19 0.51 0.85 1.05 1.04 0.86 0.63 0.46 0.43 0.50 0.57 0.55 0.40 0.19 0.04 0.06 0.26 0.56 0.81 0.88 0.74 0.46 0.19 0.05 0.08 0.23 0.38 0.43 0.36 0.25 0.20 0.28 0.49 0.72 0.86 0.82 0.61 0.33 0.10 0.04 0.16 0.40 0.63 0.78 0.78 0.69 0.58 0.51 0.53 0.60 0.67 0.69 0.65 0.59 0.55 0.59 0.69 0.80 0.86 0.83 0.70 0.55 0.45 0.47 0.60 0.76 0.86 0.81 0.60 0.31 0.08 0.02 0.19 0.51 0.85 1.05 1.04 0.86 0.63 0.46 0.43 0.50 0.57 0.55 0.40 0.19 0.04 0.06 0.26 0.56 0.81 0.88 0.74 0.46 0.19 0.05 0.08 0.23 0.38 0.43 0.36 0.25 0.20 0.28 0.49 0.72 57.5 + 60.0 0.94 1.04 0.96 0.71 0.38 0.11 0.00 0.08 0.28 0.50 0.65 0.69 0.64 0.57 0.54 0.58 0.67 0.77 0.84 0.86 0.83 0.80 0.79 0.82 0.85 0.87 0.83 0.74 0.63 0.55 0.54 0.59 0.66 0.69 0.62 0.43 0.21 0.03 0.02 0.19 0.49 0.81 1.02 1.04 0.89 0.68 0.52 0.48 0.53 0.61 0.61 0.50 0.31 0.17 0.16 0.31 0.56 0.77 0.83 0.71 0.48 0.25 0.15 0.21 0.37 0.54 0.61 0.58 0.50 0.46 0.55 0.74 0.94 1.04 0.96 0.71 0.38 0.11 0.00 0.08 0.28 0.50 0.65 0.69 0.64 0.57 0.54 0.58 0.67 0.77 0.84 0.86 0.83 0.80 0.79 0.82 0.85 0.87 0.83 0.74 0.63 0.55 0.54 0.59 0.66 0.69 0.62 0.43 0.21 0.03 0.02 0.19 0.49 0.81 1.02 1.04 0.89 0.68 0.52 0.48 0.53 0.61 0.61 0.50 0.31 0.17 0.16 0.31 0.56 0.77 0.83 0.71 0.48 0.25 0.15 0.21 0.37 0.54 0.61 0.58 0.50 0.46 0.55 0.74 0.94 60.0 + 62.5 1.02 1.09 0.99 0.74 0.43 0.16 0.03 0.06 0.21 0.38 0.51 0.55 0.52 0.47 0.45 0.50 0.61 0.73 0.84 0.91 0.91 0.88 0.83 0.78 0.75 0.74 0.73 0.70 0.66 0.61 0.58 0.57 0.56 0.53 0.44 0.29 0.13 0.01 0.01 0.16 0.42 0.69 0.89 0.94 0.85 0.70 0.59 0.56 0.63 0.72 0.75 0.68 0.55 0.43 0.40 0.50 0.67 0.82 0.86 0.75 0.56 0.37 0.30 0.38 0.55 0.71 0.79 0.77 0.69 0.65 0.71 0.86 1.02 1.09 0.99 0.74 0.43 0.16 0.03 0.06 0.21 0.38 0.51 0.55 0.52 0.47 0.45 0.50 0.61 0.73 0.84 0.91 0.91 0.88 0.83 0.78 0.75 0.74 0.73 0.70 0.66 0.61 0.58 0.57 0.56 0.53 0.44 0.29 0.13 0.01 0.01 0.16 0.42 0.69 0.89 0.94 0.85 0.70 0.59 0.56 0.63 0.72 0.75 0.68 0.55 0.43 0.40 0.50 0.67 0.82 0.86 0.75 0.56 0.37 0.30 0.38 0.55 0.71 0.79 0.77 0.69 0.65 0.71 0.86 1.02 62.5 + 65.0 0.91 0.96 0.88 0.68 0.42 0.20 0.08 0.09 0.19 0.32 0.40 0.41 0.37 0.31 0.28 0.32 0.41 0.54 0.67 0.76 0.78 0.74 0.65 0.55 0.49 0.48 0.51 0.55 0.58 0.57 0.53 0.47 0.40 0.34 0.26 0.16 0.06 0.00 0.00 0.11 0.31 0.54 0.74 0.83 0.83 0.77 0.73 0.75 0.85 0.97 1.05 1.04 0.95 0.85 0.80 0.83 0.92 1.00 0.98 0.87 0.68 0.53 0.48 0.55 0.71 0.85 0.90 0.85 0.75 0.68 0.70 0.79 0.91 0.96 0.88 0.68 0.42 0.20 0.08 0.09 0.19 0.32 0.40 0.41 0.37 0.31 0.28 0.32 0.41 0.54 0.67 0.76 0.78 0.74 0.65 0.55 0.49 0.48 0.51 0.55 0.58 0.57 0.53 0.47 0.40 0.34 0.26 0.16 0.06 0.00 0.00 0.11 0.31 0.54 0.74 0.83 0.83 0.77 0.73 0.75 0.85 0.97 1.05 1.04 0.95 0.85 0.80 0.83 0.92 1.00 0.98 0.87 0.68 0.53 0.48 0.55 0.71 0.85 0.90 0.85 0.75 0.68 0.70 0.79 0.91 65.0 + 67.5 0.67 0.71 0.66 0.53 0.35 0.21 0.14 0.16 0.23 0.31 0.35 0.34 0.27 0.19 0.12 0.12 0.17 0.28 0.41 0.50 0.51 0.45 0.33 0.20 0.13 0.14 0.21 0.32 0.39 0.40 0.35 0.26 0.17 0.12 0.08 0.05 0.02 0.00 0.01 0.10 0.27 0.49 0.71 0.87 0.97 1.03 1.08 1.18 1.34 1.51 1.63 1.66 1.60 1.48 1.38 1.33 1.31 1.29 1.21 1.05 0.86 0.71 0.66 0.71 0.84 0.93 0.94 0.85 0.70 0.58 0.54 0.59 0.67 0.71 0.66 0.53 0.35 0.21 0.14 0.16 0.23 0.31 0.35 0.34 0.27 0.19 0.12 0.12 0.17 0.28 0.41 0.50 0.51 0.45 0.33 0.20 0.13 0.14 0.21 0.32 0.39 0.40 0.35 0.26 0.17 0.12 0.08 0.05 0.02 0.00 0.01 0.10 0.27 0.49 0.71 0.87 0.97 1.03 1.08 1.18 1.34 1.51 1.63 1.66 1.60 1.48 1.38 1.33 1.31 1.29 1.21 1.05 0.86 0.71 0.66 0.71 0.84 0.93 0.94 0.85 0.70 0.58 0.54 0.59 0.67 67.5 + 70.0 0.40 0.44 0.42 0.35 0.26 0.19 0.18 0.23 0.30 0.37 0.40 0.38 0.30 0.19 0.09 0.03 0.04 0.11 0.22 0.29 0.29 0.20 0.05 0.00 0.00 0.00 0.00 0.11 0.19 0.19 0.11 0.01 0.00 0.00 0.00 0.04 0.08 0.10 0.13 0.22 0.40 0.65 0.94 1.21 1.43 1.60 1.76 1.95 2.18 2.40 2.56 2.61 2.52 2.34 2.13 1.95 1.81 1.68 1.51 1.30 1.08 0.91 0.83 0.86 0.95 1.00 0.97 0.83 0.64 0.46 0.36 0.36 0.40 0.44 0.42 0.35 0.26 0.19 0.18 0.23 0.30 0.37 0.40 0.38 0.30 0.19 0.09 0.03 0.04 0.11 0.22 0.29 0.29 0.20 0.05 0.00 0.00 0.00 0.00 0.11 0.19 0.19 0.11 0.01 0.00 0.00 0.00 0.04 0.08 0.10 0.13 0.22 0.40 0.65 0.94 1.21 1.43 1.60 1.76 1.95 2.18 2.40 2.56 2.61 2.52 2.34 2.13 1.95 1.81 1.68 1.51 1.30 1.08 0.91 0.83 0.86 0.95 1.00 0.97 0.83 0.64 0.46 0.36 0.36 0.40 70.0 + 72.5 0.23 0.26 0.26 0.23 0.19 0.18 0.20 0.27 0.37 0.46 0.52 0.52 0.46 0.35 0.21 0.11 0.08 0.14 0.24 0.32 0.31 0.20 0.02 0.00 0.00 0.00 0.00 0.09 0.15 0.10 0.00 0.00 0.00 0.00 0.05 0.21 0.32 0.39 0.44 0.55 0.77 1.09 1.48 1.86 2.19 2.46 2.72 3.00 3.30 3.58 3.76 3.78 3.62 3.32 2.96 2.62 2.34 2.10 1.86 1.60 1.33 1.12 1.00 0.99 1.04 1.08 1.02 0.86 0.64 0.42 0.28 0.22 0.23 0.26 0.26 0.23 0.19 0.18 0.20 0.27 0.37 0.46 0.52 0.52 0.46 0.35 0.21 0.11 0.08 0.14 0.24 0.32 0.31 0.20 0.02 0.00 0.00 0.00 0.00 0.09 0.15 0.10 0.00 0.00 0.00 0.00 0.05 0.21 0.32 0.39 0.44 0.55 0.77 1.09 1.48 1.86 2.19 2.46 2.72 3.00 3.30 3.58 3.76 3.78 3.62 3.32 2.96 2.62 2.34 2.10 1.86 1.60 1.33 1.12 1.00 0.99 1.04 1.08 1.02 0.86 0.64 0.42 0.28 0.22 0.23 72.5 + 75.0 0.19 0.20 0.20 0.19 0.17 0.17 0.20 0.27 0.38 0.51 0.62 0.69 0.68 0.58 0.43 0.31 0.27 0.34 0.47 0.59 0.62 0.51 0.32 0.14 0.06 0.11 0.25 0.36 0.38 0.27 0.10 0.00 0.00 0.12 0.36 0.60 0.77 0.85 0.91 1.03 1.29 1.68 2.15 2.62 3.03 3.38 3.70 4.04 4.41 4.74 4.95 4.92 4.65 4.19 3.65 3.15 2.75 2.43 2.15 1.86 1.56 1.30 1.13 1.08 1.10 1.13 1.09 0.94 0.72 0.48 0.31 0.22 0.19 0.20 0.20 0.19 0.17 0.17 0.20 0.27 0.38 0.51 0.62 0.69 0.68 0.58 0.43 0.31 0.27 0.34 0.47 0.59 0.62 0.51 0.32 0.14 0.06 0.11 0.25 0.36 0.38 0.27 0.10 0.00 0.00 0.12 0.36 0.60 0.77 0.85 0.91 1.03 1.29 1.68 2.15 2.62 3.03 3.38 3.70 4.04 4.41 4.74 4.95 4.92 4.65 4.19 3.65 3.15 2.75 2.43 2.15 1.86 1.56 1.30 1.13 1.08 1.10 1.13 1.09 0.94 0.72 0.48 0.31 0.22 0.19 75.0 + 77.5 0.23 0.22 0.22 0.20 0.17 0.14 0.14 0.18 0.28 0.43 0.61 0.75 0.80 0.73 0.59 0.46 0.43 0.55 0.77 0.99 1.09 1.03 0.85 0.66 0.57 0.62 0.75 0.85 0.83 0.67 0.44 0.29 0.31 0.52 0.83 1.12 1.31 1.37 1.40 1.49 1.75 2.16 2.68 3.19 3.63 4.00 4.33 4.71 5.12 5.51 5.73 5.67 5.29 4.67 3.97 3.33 2.86 2.53 2.26 1.99 1.68 1.37 1.15 1.05 1.06 1.10 1.10 1.00 0.81 0.59 0.40 0.28 0.23 0.22 0.22 0.20 0.17 0.14 0.14 0.18 0.28 0.43 0.61 0.75 0.80 0.73 0.59 0.46 0.43 0.55 0.77 0.99 1.09 1.03 0.85 0.66 0.57 0.62 0.75 0.85 0.83 0.67 0.44 0.29 0.31 0.52 0.83 1.12 1.31 1.37 1.40 1.49 1.75 2.16 2.68 3.19 3.63 4.00 4.33 4.71 5.12 5.51 5.73 5.67 5.29 4.67 3.97 3.33 2.86 2.53 2.26 1.99 1.68 1.37 1.15 1.05 1.06 1.10 1.10 1.00 0.81 0.59 0.40 0.28 0.23 77.5 + 80.0 0.22 0.20 0.20 0.19 0.14 0.07 0.00 0.00 0.03 0.19 0.41 0.62 0.73 0.69 0.54 0.40 0.39 0.58 0.92 1.28 1.51 1.53 1.37 1.17 1.07 1.11 1.25 1.35 1.31 1.11 0.85 0.66 0.68 0.91 1.26 1.58 1.75 1.76 1.71 1.73 1.93 2.32 2.82 3.32 3.73 4.04 4.34 4.70 5.14 5.56 5.81 5.74 5.29 4.56 3.74 3.03 2.54 2.26 2.08 1.87 1.59 1.26 0.98 0.83 0.83 0.90 0.96 0.93 0.80 0.61 0.42 0.29 0.22 0.20 0.20 0.19 0.14 0.07 0.00 0.00 0.03 0.19 0.41 0.62 0.73 0.69 0.54 0.40 0.39 0.58 0.92 1.28 1.51 1.53 1.37 1.17 1.07 1.11 1.25 1.35 1.31 1.11 0.85 0.66 0.68 0.91 1.26 1.58 1.75 1.76 1.71 1.73 1.93 2.32 2.82 3.32 3.73 4.04 4.34 4.70 5.14 5.56 5.81 5.74 5.29 4.56 3.74 3.03 2.54 2.26 2.08 1.87 1.59 1.26 0.98 0.83 0.83 0.90 0.96 0.93 0.80 0.61 0.42 0.29 0.22 80.0 + 82.5 0.09 0.08 0.10 0.10 0.04 0.00 0.00 0.00 0.00 0.00 0.05 0.31 0.45 0.42 0.25 0.09 0.08 0.34 0.80 1.32 1.69 1.81 1.69 1.48 1.34 1.36 1.50 1.62 1.59 1.39 1.10 0.89 0.90 1.13 1.49 1.80 1.95 1.90 1.75 1.66 1.76 2.07 2.51 2.94 3.27 3.50 3.72 4.02 4.44 4.88 5.17 5.11 4.65 3.86 2.98 2.24 1.80 1.62 1.56 1.47 1.25 0.92 0.61 0.42 0.41 0.51 0.64 0.70 0.63 0.48 0.31 0.17 0.09 0.08 0.10 0.10 0.04 0.00 0.00 0.00 0.00 0.00 0.05 0.31 0.45 0.42 0.25 0.09 0.08 0.34 0.80 1.32 1.69 1.81 1.69 1.48 1.34 1.36 1.50 1.62 1.59 1.39 1.10 0.89 0.90 1.13 1.49 1.80 1.95 1.90 1.75 1.66 1.76 2.07 2.51 2.94 3.27 3.50 3.72 4.02 4.44 4.88 5.17 5.11 4.65 3.86 2.98 2.24 1.80 1.62 1.56 1.47 1.25 0.92 0.61 0.42 0.41 0.51 0.64 0.70 0.63 0.48 0.31 0.17 0.09 82.5 + 85.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.07 0.00 0.00 0.00 0.00 0.49 1.15 1.66 1.86 1.78 1.54 1.35 1.33 1.45 1.59 1.59 1.41 1.12 0.90 0.88 1.10 1.46 1.78 1.90 1.79 1.55 1.35 1.34 1.56 1.91 2.27 2.51 2.64 2.74 2.95 3.32 3.76 4.07 4.05 3.60 2.81 1.92 1.21 0.82 0.75 0.84 0.88 0.74 0.44 0.11 0.00 0.00 0.01 0.20 0.33 0.34 0.23 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.07 0.00 0.00 0.00 0.00 0.49 1.15 1.66 1.86 1.78 1.54 1.35 1.33 1.45 1.59 1.59 1.41 1.12 0.90 0.88 1.10 1.46 1.78 1.90 1.79 1.55 1.35 1.34 1.56 1.91 2.27 2.51 2.64 2.74 2.95 3.32 3.76 4.07 4.05 3.60 2.81 1.92 1.21 0.82 0.75 0.84 0.88 0.74 0.44 0.11 0.00 0.00 0.01 0.20 0.33 0.34 0.23 0.07 0.00 0.00 85.0 + 87.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.24 1.00 1.62 1.90 1.84 1.57 1.32 1.22 1.30 1.43 1.45 1.30 1.03 0.79 0.75 0.96 1.31 1.63 1.75 1.61 1.32 1.03 0.93 1.06 1.35 1.64 1.82 1.85 1.85 1.95 2.23 2.63 2.95 2.97 2.56 1.81 0.94 0.25 0.00 0.00 0.13 0.28 0.22 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.24 1.00 1.62 1.90 1.84 1.57 1.32 1.22 1.30 1.43 1.45 1.30 1.03 0.79 0.75 0.96 1.31 1.63 1.75 1.61 1.32 1.03 0.93 1.06 1.35 1.64 1.82 1.85 1.85 1.95 2.23 2.63 2.95 2.97 2.56 1.81 0.94 0.25 0.00 0.00 0.13 0.28 0.22 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 87.5 + 90.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 1.17 1.86 2.22 2.18 1.87 1.54 1.35 1.35 1.44 1.46 1.31 1.04 0.79 0.72 0.89 1.22 1.54 1.67 1.54 1.22 0.89 0.72 0.79 1.04 1.31 1.46 1.44 1.35 1.35 1.54 1.87 2.18 2.22 1.86 1.17 0.34 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 1.17 1.86 2.22 2.18 1.87 1.54 1.35 1.35 1.44 1.46 1.31 1.04 0.79 0.72 0.89 1.22 1.54 1.67 1.54 1.22 0.89 0.72 0.79 1.04 1.31 1.46 1.44 1.35 1.35 1.54 1.87 2.18 2.22 1.86 1.17 0.34 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 90.0 + + 57.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.45 ) PHI2 = 58. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.0 + 2.5 0.36 0.37 0.36 0.39 0.49 0.64 0.84 1.05 1.28 1.52 1.78 2.02 2.21 2.29 2.24 2.09 1.86 1.62 1.38 1.15 0.93 0.72 0.55 0.44 0.39 0.37 0.34 0.23 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.25 0.36 0.40 0.41 0.45 0.56 0.72 0.92 1.14 1.37 1.60 1.84 2.06 2.21 2.25 2.17 1.99 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.41 0.39 0.40 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.27 0.36 0.37 0.36 0.39 0.49 0.64 0.84 1.05 1.28 1.52 1.78 2.02 2.21 2.29 2.24 2.09 1.86 1.62 1.38 1.15 0.93 0.72 0.55 0.44 0.39 0.37 0.34 0.23 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.25 0.36 0.40 0.41 0.45 0.56 0.72 0.92 1.14 1.37 1.60 1.84 2.06 2.21 2.25 2.17 1.99 1.76 1.51 1.27 1.05 0.84 0.64 0.49 0.41 0.39 0.40 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.27 0.36 2.5 + 5.0 0.42 0.37 0.32 0.30 0.37 0.50 0.68 0.90 1.14 1.42 1.72 2.03 2.28 2.42 2.41 2.28 2.05 1.78 1.51 1.26 1.02 0.81 0.63 0.51 0.45 0.43 0.40 0.32 0.17 0.00 0.00 0.00 0.00 0.00 0.15 0.35 0.46 0.50 0.51 0.54 0.62 0.77 0.97 1.20 1.45 1.71 1.96 2.17 2.28 2.28 2.15 1.93 1.66 1.38 1.12 0.88 0.67 0.50 0.40 0.37 0.41 0.48 0.50 0.44 0.29 0.09 0.00 0.00 0.00 0.11 0.28 0.39 0.42 0.37 0.32 0.30 0.37 0.50 0.68 0.90 1.14 1.42 1.72 2.03 2.28 2.42 2.41 2.28 2.05 1.78 1.51 1.26 1.02 0.81 0.63 0.51 0.45 0.43 0.40 0.32 0.17 0.00 0.00 0.00 0.00 0.00 0.15 0.35 0.46 0.50 0.51 0.54 0.62 0.77 0.97 1.20 1.45 1.71 1.96 2.17 2.28 2.28 2.15 1.93 1.66 1.38 1.12 0.88 0.67 0.50 0.40 0.37 0.41 0.48 0.50 0.44 0.29 0.09 0.00 0.00 0.00 0.11 0.28 0.39 0.42 5.0 + 7.5 0.53 0.42 0.31 0.26 0.28 0.37 0.53 0.73 0.98 1.29 1.64 2.02 2.34 2.56 2.62 2.53 2.31 2.03 1.75 1.48 1.25 1.04 0.87 0.75 0.68 0.66 0.65 0.61 0.49 0.33 0.17 0.08 0.11 0.23 0.42 0.59 0.70 0.74 0.73 0.73 0.77 0.88 1.07 1.30 1.58 1.86 2.10 2.28 2.35 2.29 2.11 1.84 1.54 1.24 0.97 0.72 0.53 0.40 0.35 0.39 0.50 0.62 0.68 0.65 0.54 0.38 0.27 0.24 0.31 0.43 0.54 0.58 0.53 0.42 0.31 0.26 0.28 0.37 0.53 0.73 0.98 1.29 1.64 2.02 2.34 2.56 2.62 2.53 2.31 2.03 1.75 1.48 1.25 1.04 0.87 0.75 0.68 0.66 0.65 0.61 0.49 0.33 0.17 0.08 0.11 0.23 0.42 0.59 0.70 0.74 0.73 0.73 0.77 0.88 1.07 1.30 1.58 1.86 2.10 2.28 2.35 2.29 2.11 1.84 1.54 1.24 0.97 0.72 0.53 0.40 0.35 0.39 0.50 0.62 0.68 0.65 0.54 0.38 0.27 0.24 0.31 0.43 0.54 0.58 0.53 7.5 + 10.0 0.67 0.53 0.40 0.31 0.30 0.35 0.46 0.63 0.86 1.16 1.53 1.95 2.34 2.64 2.78 2.74 2.57 2.32 2.06 1.82 1.61 1.44 1.29 1.19 1.13 1.12 1.13 1.12 1.05 0.92 0.77 0.66 0.64 0.71 0.85 0.99 1.08 1.10 1.06 1.01 0.99 1.05 1.20 1.43 1.70 1.98 2.21 2.35 2.36 2.24 2.01 1.74 1.44 1.15 0.89 0.66 0.49 0.40 0.42 0.52 0.67 0.82 0.89 0.86 0.77 0.65 0.58 0.58 0.65 0.74 0.79 0.77 0.67 0.53 0.40 0.31 0.30 0.35 0.46 0.63 0.86 1.16 1.53 1.95 2.34 2.64 2.78 2.74 2.57 2.32 2.06 1.82 1.61 1.44 1.29 1.19 1.13 1.12 1.13 1.12 1.05 0.92 0.77 0.66 0.64 0.71 0.85 0.99 1.08 1.10 1.06 1.01 0.99 1.05 1.20 1.43 1.70 1.98 2.21 2.35 2.36 2.24 2.01 1.74 1.44 1.15 0.89 0.66 0.49 0.40 0.42 0.52 0.67 0.82 0.89 0.86 0.77 0.65 0.58 0.58 0.65 0.74 0.79 0.77 0.67 10.0 + 12.5 0.82 0.67 0.54 0.46 0.42 0.43 0.49 0.60 0.77 1.03 1.39 1.80 2.23 2.58 2.79 2.84 2.75 2.57 2.36 2.18 2.03 1.91 1.80 1.72 1.68 1.68 1.71 1.73 1.69 1.59 1.44 1.30 1.23 1.25 1.34 1.45 1.51 1.50 1.42 1.31 1.22 1.22 1.33 1.53 1.80 2.06 2.26 2.34 2.29 2.12 1.88 1.61 1.36 1.12 0.90 0.71 0.58 0.54 0.59 0.72 0.88 1.01 1.05 1.00 0.90 0.81 0.78 0.82 0.90 0.97 0.99 0.93 0.82 0.67 0.54 0.46 0.42 0.43 0.49 0.60 0.77 1.03 1.39 1.80 2.23 2.58 2.79 2.84 2.75 2.57 2.36 2.18 2.03 1.91 1.80 1.72 1.68 1.68 1.71 1.73 1.69 1.59 1.44 1.30 1.23 1.25 1.34 1.45 1.51 1.50 1.42 1.31 1.22 1.22 1.33 1.53 1.80 2.06 2.26 2.34 2.29 2.12 1.88 1.61 1.36 1.12 0.90 0.71 0.58 0.54 0.59 0.72 0.88 1.01 1.05 1.00 0.90 0.81 0.78 0.82 0.90 0.97 0.99 0.93 0.82 12.5 + 15.0 0.89 0.77 0.67 0.60 0.56 0.54 0.55 0.59 0.69 0.89 1.18 1.56 1.97 2.35 2.63 2.76 2.77 2.69 2.57 2.46 2.37 2.28 2.21 2.14 2.10 2.12 2.17 2.21 2.21 2.12 1.97 1.81 1.69 1.67 1.72 1.79 1.83 1.78 1.66 1.49 1.36 1.32 1.40 1.59 1.84 2.08 2.24 2.26 2.16 1.96 1.71 1.48 1.28 1.10 0.94 0.80 0.71 0.70 0.77 0.91 1.04 1.11 1.10 1.01 0.91 0.85 0.86 0.94 1.03 1.09 1.08 1.01 0.89 0.77 0.67 0.60 0.56 0.54 0.55 0.59 0.69 0.89 1.18 1.56 1.97 2.35 2.63 2.76 2.77 2.69 2.57 2.46 2.37 2.28 2.21 2.14 2.10 2.12 2.17 2.21 2.21 2.12 1.97 1.81 1.69 1.67 1.72 1.79 1.83 1.78 1.66 1.49 1.36 1.32 1.40 1.59 1.84 2.08 2.24 2.26 2.16 1.96 1.71 1.48 1.28 1.10 0.94 0.80 0.71 0.70 0.77 0.91 1.04 1.11 1.10 1.01 0.91 0.85 0.86 0.94 1.03 1.09 1.08 1.01 0.89 15.0 + 17.5 0.85 0.76 0.69 0.65 0.60 0.56 0.53 0.52 0.56 0.69 0.91 1.22 1.59 1.97 2.28 2.50 2.61 2.63 2.60 2.56 2.50 2.43 2.35 2.28 2.25 2.27 2.34 2.41 2.43 2.36 2.22 2.04 1.91 1.86 1.87 1.91 1.90 1.83 1.67 1.49 1.35 1.31 1.39 1.59 1.84 2.05 2.17 2.15 2.01 1.79 1.55 1.34 1.18 1.06 0.94 0.84 0.78 0.79 0.87 0.98 1.06 1.08 1.00 0.88 0.79 0.77 0.83 0.95 1.05 1.09 1.05 0.96 0.85 0.76 0.69 0.65 0.60 0.56 0.53 0.52 0.56 0.69 0.91 1.22 1.59 1.97 2.28 2.50 2.61 2.63 2.60 2.56 2.50 2.43 2.35 2.28 2.25 2.27 2.34 2.41 2.43 2.36 2.22 2.04 1.91 1.86 1.87 1.91 1.90 1.83 1.67 1.49 1.35 1.31 1.39 1.59 1.84 2.05 2.17 2.15 2.01 1.79 1.55 1.34 1.18 1.06 0.94 0.84 0.78 0.79 0.87 0.98 1.06 1.08 1.00 0.88 0.79 0.77 0.83 0.95 1.05 1.09 1.05 0.96 0.85 17.5 + 20.0 0.68 0.61 0.56 0.53 0.49 0.44 0.38 0.34 0.35 0.43 0.59 0.83 1.14 1.49 1.82 2.09 2.29 2.41 2.47 2.47 2.43 2.36 2.27 2.18 2.15 2.18 2.27 2.37 2.41 2.37 2.24 2.07 1.93 1.85 1.82 1.81 1.77 1.66 1.49 1.32 1.21 1.20 1.32 1.53 1.78 1.99 2.08 2.04 1.87 1.64 1.41 1.21 1.07 0.96 0.86 0.78 0.73 0.74 0.81 0.89 0.93 0.89 0.78 0.65 0.58 0.62 0.74 0.89 1.00 1.01 0.93 0.80 0.68 0.61 0.56 0.53 0.49 0.44 0.38 0.34 0.35 0.43 0.59 0.83 1.14 1.49 1.82 2.09 2.29 2.41 2.47 2.47 2.43 2.36 2.27 2.18 2.15 2.18 2.27 2.37 2.41 2.37 2.24 2.07 1.93 1.85 1.82 1.81 1.77 1.66 1.49 1.32 1.21 1.20 1.32 1.53 1.78 1.99 2.08 2.04 1.87 1.64 1.41 1.21 1.07 0.96 0.86 0.78 0.73 0.74 0.81 0.89 0.93 0.89 0.78 0.65 0.58 0.62 0.74 0.89 1.00 1.01 0.93 0.80 0.68 20.0 + 22.5 0.43 0.35 0.32 0.29 0.25 0.18 0.12 0.08 0.08 0.14 0.26 0.45 0.69 0.98 1.30 1.61 1.89 2.10 2.24 2.30 2.28 2.22 2.13 2.05 2.04 2.11 2.23 2.35 2.41 2.38 2.26 2.09 1.94 1.82 1.74 1.66 1.56 1.41 1.25 1.10 1.04 1.08 1.23 1.46 1.70 1.89 1.96 1.91 1.74 1.51 1.29 1.10 0.95 0.83 0.72 0.63 0.57 0.58 0.64 0.69 0.70 0.62 0.49 0.37 0.35 0.44 0.62 0.80 0.89 0.85 0.72 0.56 0.43 0.35 0.32 0.29 0.25 0.18 0.12 0.08 0.08 0.14 0.26 0.45 0.69 0.98 1.30 1.61 1.89 2.10 2.24 2.30 2.28 2.22 2.13 2.05 2.04 2.11 2.23 2.35 2.41 2.38 2.26 2.09 1.94 1.82 1.74 1.66 1.56 1.41 1.25 1.10 1.04 1.08 1.23 1.46 1.70 1.89 1.96 1.91 1.74 1.51 1.29 1.10 0.95 0.83 0.72 0.63 0.57 0.58 0.64 0.69 0.70 0.62 0.49 0.37 0.35 0.44 0.62 0.80 0.89 0.85 0.72 0.56 0.43 22.5 + 25.0 0.15 0.09 0.06 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.30 0.53 0.82 1.16 1.49 1.79 2.02 2.16 2.21 2.20 2.16 2.15 2.20 2.32 2.47 2.61 2.67 2.63 2.50 2.32 2.13 1.95 1.79 1.63 1.45 1.27 1.10 0.98 0.95 1.02 1.17 1.37 1.57 1.72 1.77 1.72 1.57 1.37 1.16 0.98 0.83 0.69 0.56 0.45 0.39 0.40 0.44 0.48 0.45 0.35 0.22 0.12 0.14 0.28 0.49 0.67 0.73 0.66 0.48 0.29 0.15 0.09 0.06 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.30 0.53 0.82 1.16 1.49 1.79 2.02 2.16 2.21 2.20 2.16 2.15 2.20 2.32 2.47 2.61 2.67 2.63 2.50 2.32 2.13 1.95 1.79 1.63 1.45 1.27 1.10 0.98 0.95 1.02 1.17 1.37 1.57 1.72 1.77 1.72 1.57 1.37 1.16 0.98 0.83 0.69 0.56 0.45 0.39 0.40 0.44 0.48 0.45 0.35 0.22 0.12 0.14 0.28 0.49 0.67 0.73 0.66 0.48 0.29 0.15 25.0 + 27.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.19 0.45 0.78 1.17 1.55 1.89 2.14 2.29 2.39 2.47 2.57 2.72 2.91 3.09 3.22 3.25 3.17 3.00 2.78 2.53 2.28 2.02 1.77 1.51 1.29 1.12 1.02 1.00 1.05 1.15 1.27 1.39 1.47 1.49 1.44 1.32 1.16 1.00 0.85 0.72 0.58 0.44 0.33 0.27 0.27 0.30 0.32 0.28 0.17 0.03 0.00 0.00 0.14 0.35 0.52 0.55 0.44 0.24 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.19 0.45 0.78 1.17 1.55 1.89 2.14 2.29 2.39 2.47 2.57 2.72 2.91 3.09 3.22 3.25 3.17 3.00 2.78 2.53 2.28 2.02 1.77 1.51 1.29 1.12 1.02 1.00 1.05 1.15 1.27 1.39 1.47 1.49 1.44 1.32 1.16 1.00 0.85 0.72 0.58 0.44 0.33 0.27 0.27 0.30 0.32 0.28 0.17 0.03 0.00 0.00 0.14 0.35 0.52 0.55 0.44 0.24 0.05 0.00 27.5 + 30.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.21 0.54 0.96 1.41 1.84 2.20 2.49 2.72 2.94 3.18 3.43 3.68 3.87 3.96 3.93 3.79 3.56 3.28 2.97 2.64 2.30 1.97 1.67 1.43 1.27 1.18 1.14 1.13 1.13 1.14 1.14 1.14 1.13 1.08 1.00 0.90 0.79 0.69 0.59 0.48 0.37 0.28 0.23 0.22 0.25 0.26 0.20 0.08 0.00 0.00 0.00 0.05 0.23 0.36 0.36 0.22 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.21 0.54 0.96 1.41 1.84 2.20 2.49 2.72 2.94 3.18 3.43 3.68 3.87 3.96 3.93 3.79 3.56 3.28 2.97 2.64 2.30 1.97 1.67 1.43 1.27 1.18 1.14 1.13 1.13 1.14 1.14 1.14 1.13 1.08 1.00 0.90 0.79 0.69 0.59 0.48 0.37 0.28 0.23 0.22 0.25 0.26 0.20 0.08 0.00 0.00 0.00 0.05 0.23 0.36 0.36 0.22 0.03 0.00 0.00 30.0 + 32.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.43 0.86 1.34 1.82 2.25 2.63 2.97 3.30 3.64 3.96 4.23 4.40 4.43 4.33 4.12 3.84 3.52 3.17 2.79 2.41 2.04 1.74 1.52 1.39 1.32 1.27 1.19 1.08 0.97 0.87 0.80 0.75 0.72 0.67 0.62 0.56 0.51 0.45 0.39 0.33 0.27 0.24 0.25 0.26 0.25 0.18 0.06 0.00 0.00 0.00 0.02 0.16 0.24 0.20 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.43 0.86 1.34 1.82 2.25 2.63 2.97 3.30 3.64 3.96 4.23 4.40 4.43 4.33 4.12 3.84 3.52 3.17 2.79 2.41 2.04 1.74 1.52 1.39 1.32 1.27 1.19 1.08 0.97 0.87 0.80 0.75 0.72 0.67 0.62 0.56 0.51 0.45 0.39 0.33 0.27 0.24 0.25 0.26 0.25 0.18 0.06 0.00 0.00 0.00 0.02 0.16 0.24 0.20 0.05 0.00 0.00 0.00 32.5 + 35.0 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.42 0.82 1.28 1.75 2.17 2.55 2.91 3.28 3.64 3.97 4.21 4.32 4.28 4.11 3.86 3.57 3.26 2.92 2.56 2.19 1.85 1.59 1.44 1.37 1.34 1.28 1.16 0.98 0.78 0.62 0.52 0.47 0.45 0.44 0.41 0.37 0.34 0.32 0.30 0.29 0.28 0.28 0.29 0.29 0.26 0.18 0.07 0.00 0.00 0.00 0.06 0.15 0.18 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.42 0.82 1.28 1.75 2.17 2.55 2.91 3.28 3.64 3.97 4.21 4.32 4.28 4.11 3.86 3.57 3.26 2.92 2.56 2.19 1.85 1.59 1.44 1.37 1.34 1.28 1.16 0.98 0.78 0.62 0.52 0.47 0.45 0.44 0.41 0.37 0.34 0.32 0.30 0.29 0.28 0.28 0.29 0.29 0.26 0.18 0.07 0.00 0.00 0.00 0.06 0.15 0.18 0.11 0.00 0.00 0.00 0.00 35.0 + 37.5 0.00 0.00 0.10 0.14 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.22 0.48 0.82 1.20 1.57 1.89 2.18 2.47 2.78 3.09 3.36 3.53 3.57 3.46 3.26 3.02 2.78 2.54 2.28 1.99 1.69 1.42 1.23 1.16 1.17 1.20 1.17 1.04 0.84 0.62 0.45 0.37 0.35 0.37 0.37 0.34 0.28 0.24 0.22 0.23 0.26 0.30 0.33 0.34 0.31 0.25 0.16 0.06 0.00 0.00 0.07 0.16 0.22 0.20 0.10 0.00 0.00 0.00 0.00 0.00 0.10 0.14 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.22 0.48 0.82 1.20 1.57 1.89 2.18 2.47 2.78 3.09 3.36 3.53 3.57 3.46 3.26 3.02 2.78 2.54 2.28 1.99 1.69 1.42 1.23 1.16 1.17 1.20 1.17 1.04 0.84 0.62 0.45 0.37 0.35 0.37 0.37 0.34 0.28 0.24 0.22 0.23 0.26 0.30 0.33 0.34 0.31 0.25 0.16 0.06 0.00 0.00 0.07 0.16 0.22 0.20 0.10 0.00 0.00 0.00 0.00 37.5 + 40.0 0.00 0.07 0.18 0.21 0.17 0.07 0.00 0.00 0.00 0.03 0.08 0.10 0.12 0.18 0.31 0.53 0.80 1.07 1.29 1.45 1.59 1.74 1.94 2.15 2.34 2.43 2.39 2.25 2.05 1.87 1.73 1.61 1.49 1.32 1.11 0.91 0.79 0.79 0.86 0.95 0.97 0.89 0.71 0.53 0.40 0.36 0.40 0.45 0.46 0.41 0.32 0.22 0.18 0.20 0.27 0.35 0.41 0.40 0.34 0.24 0.12 0.04 0.03 0.08 0.19 0.28 0.32 0.26 0.13 0.00 0.00 0.00 0.00 0.07 0.18 0.21 0.17 0.07 0.00 0.00 0.00 0.03 0.08 0.10 0.12 0.18 0.31 0.53 0.80 1.07 1.29 1.45 1.59 1.74 1.94 2.15 2.34 2.43 2.39 2.25 2.05 1.87 1.73 1.61 1.49 1.32 1.11 0.91 0.79 0.79 0.86 0.95 0.97 0.89 0.71 0.53 0.40 0.36 0.40 0.45 0.46 0.41 0.32 0.22 0.18 0.20 0.27 0.35 0.41 0.40 0.34 0.24 0.12 0.04 0.03 0.08 0.19 0.28 0.32 0.26 0.13 0.00 0.00 0.00 0.00 40.0 + 42.5 0.01 0.13 0.23 0.26 0.23 0.18 0.14 0.15 0.19 0.23 0.24 0.23 0.22 0.26 0.37 0.54 0.73 0.88 0.95 0.95 0.93 0.94 1.03 1.16 1.27 1.30 1.22 1.07 0.90 0.80 0.79 0.83 0.86 0.81 0.68 0.54 0.45 0.46 0.57 0.71 0.78 0.76 0.64 0.51 0.43 0.44 0.53 0.62 0.65 0.57 0.43 0.28 0.20 0.21 0.31 0.43 0.52 0.51 0.41 0.25 0.10 0.01 0.03 0.13 0.27 0.38 0.40 0.31 0.15 0.00 0.00 0.00 0.01 0.13 0.23 0.26 0.23 0.18 0.14 0.15 0.19 0.23 0.24 0.23 0.22 0.26 0.37 0.54 0.73 0.88 0.95 0.95 0.93 0.94 1.03 1.16 1.27 1.30 1.22 1.07 0.90 0.80 0.79 0.83 0.86 0.81 0.68 0.54 0.45 0.46 0.57 0.71 0.78 0.76 0.64 0.51 0.43 0.44 0.53 0.62 0.65 0.57 0.43 0.28 0.20 0.21 0.31 0.43 0.52 0.51 0.41 0.25 0.10 0.01 0.03 0.13 0.27 0.38 0.40 0.31 0.15 0.00 0.00 0.00 0.01 42.5 + 45.0 0.08 0.20 0.28 0.30 0.28 0.26 0.28 0.33 0.39 0.42 0.40 0.34 0.29 0.29 0.37 0.50 0.62 0.67 0.62 0.50 0.37 0.30 0.33 0.42 0.51 0.52 0.42 0.27 0.15 0.13 0.23 0.41 0.57 0.62 0.54 0.40 0.29 0.28 0.38 0.53 0.66 0.70 0.64 0.55 0.50 0.54 0.65 0.76 0.80 0.73 0.56 0.36 0.24 0.24 0.36 0.53 0.65 0.65 0.52 0.30 0.09 0.00 0.01 0.14 0.30 0.40 0.40 0.28 0.12 0.00 0.00 0.00 0.08 0.20 0.28 0.30 0.28 0.26 0.28 0.33 0.39 0.42 0.40 0.34 0.29 0.29 0.37 0.50 0.62 0.67 0.62 0.50 0.37 0.30 0.33 0.42 0.51 0.52 0.42 0.27 0.15 0.13 0.23 0.41 0.57 0.62 0.54 0.40 0.29 0.28 0.38 0.53 0.66 0.70 0.64 0.55 0.50 0.54 0.65 0.76 0.80 0.73 0.56 0.36 0.24 0.24 0.36 0.53 0.65 0.65 0.52 0.30 0.09 0.00 0.01 0.14 0.30 0.40 0.40 0.28 0.12 0.00 0.00 0.00 0.08 45.0 + 47.5 0.17 0.29 0.34 0.34 0.31 0.31 0.37 0.47 0.56 0.58 0.53 0.43 0.34 0.30 0.34 0.43 0.50 0.49 0.37 0.19 0.03 0.00 0.00 0.09 0.19 0.21 0.12 0.00 0.00 0.00 0.08 0.35 0.59 0.69 0.63 0.46 0.29 0.21 0.28 0.45 0.62 0.72 0.71 0.63 0.57 0.58 0.68 0.80 0.86 0.80 0.62 0.41 0.26 0.25 0.39 0.60 0.76 0.78 0.63 0.37 0.11 0.00 0.00 0.10 0.26 0.35 0.32 0.19 0.03 0.00 0.00 0.03 0.17 0.29 0.34 0.34 0.31 0.31 0.37 0.47 0.56 0.58 0.53 0.43 0.34 0.30 0.34 0.43 0.50 0.49 0.37 0.19 0.03 0.00 0.00 0.09 0.19 0.21 0.12 0.00 0.00 0.00 0.08 0.35 0.59 0.69 0.63 0.46 0.29 0.21 0.28 0.45 0.62 0.72 0.71 0.63 0.57 0.58 0.68 0.80 0.86 0.80 0.62 0.41 0.26 0.25 0.39 0.60 0.76 0.78 0.63 0.37 0.11 0.00 0.00 0.10 0.26 0.35 0.32 0.19 0.03 0.00 0.00 0.03 0.17 47.5 + 50.0 0.29 0.40 0.43 0.38 0.32 0.32 0.40 0.52 0.64 0.68 0.63 0.51 0.39 0.32 0.33 0.38 0.42 0.38 0.25 0.08 0.00 0.00 0.00 0.13 0.26 0.29 0.19 0.04 0.00 0.00 0.17 0.47 0.74 0.86 0.78 0.57 0.34 0.21 0.25 0.43 0.65 0.80 0.82 0.74 0.63 0.58 0.63 0.74 0.81 0.78 0.62 0.40 0.24 0.22 0.36 0.60 0.80 0.84 0.70 0.42 0.13 0.00 0.00 0.05 0.20 0.27 0.23 0.09 0.00 0.00 0.00 0.11 0.29 0.40 0.43 0.38 0.32 0.32 0.40 0.52 0.64 0.68 0.63 0.51 0.39 0.32 0.33 0.38 0.42 0.38 0.25 0.08 0.00 0.00 0.00 0.13 0.26 0.29 0.19 0.04 0.00 0.00 0.17 0.47 0.74 0.86 0.78 0.57 0.34 0.21 0.25 0.43 0.65 0.80 0.82 0.74 0.63 0.58 0.63 0.74 0.81 0.78 0.62 0.40 0.24 0.22 0.36 0.60 0.80 0.84 0.70 0.42 0.13 0.00 0.00 0.05 0.20 0.27 0.23 0.09 0.00 0.00 0.00 0.11 0.29 50.0 + 52.5 0.45 0.55 0.52 0.41 0.30 0.27 0.34 0.48 0.63 0.70 0.68 0.58 0.46 0.38 0.37 0.41 0.43 0.39 0.28 0.15 0.06 0.08 0.20 0.37 0.51 0.53 0.43 0.26 0.14 0.15 0.32 0.59 0.83 0.93 0.84 0.60 0.34 0.19 0.23 0.44 0.71 0.91 0.96 0.86 0.70 0.59 0.58 0.65 0.73 0.72 0.58 0.37 0.18 0.14 0.27 0.52 0.75 0.83 0.72 0.45 0.16 0.00 0.00 0.04 0.18 0.25 0.20 0.07 0.00 0.00 0.06 0.25 0.45 0.55 0.52 0.41 0.30 0.27 0.34 0.48 0.63 0.70 0.68 0.58 0.46 0.38 0.37 0.41 0.43 0.39 0.28 0.15 0.06 0.08 0.20 0.37 0.51 0.53 0.43 0.26 0.14 0.15 0.32 0.59 0.83 0.93 0.84 0.60 0.34 0.19 0.23 0.44 0.71 0.91 0.96 0.86 0.70 0.59 0.58 0.65 0.73 0.72 0.58 0.37 0.18 0.14 0.27 0.52 0.75 0.83 0.72 0.45 0.16 0.00 0.00 0.04 0.18 0.25 0.20 0.07 0.00 0.00 0.06 0.25 0.45 52.5 + 55.0 0.64 0.71 0.62 0.44 0.26 0.17 0.21 0.36 0.53 0.65 0.67 0.62 0.54 0.48 0.48 0.51 0.53 0.50 0.44 0.36 0.32 0.37 0.50 0.65 0.76 0.76 0.65 0.47 0.32 0.29 0.41 0.61 0.79 0.86 0.75 0.52 0.27 0.14 0.20 0.44 0.75 0.99 1.07 0.98 0.79 0.62 0.56 0.60 0.67 0.68 0.57 0.36 0.17 0.09 0.19 0.42 0.66 0.78 0.71 0.49 0.23 0.05 0.03 0.13 0.26 0.33 0.30 0.19 0.10 0.11 0.25 0.46 0.64 0.71 0.62 0.44 0.26 0.17 0.21 0.36 0.53 0.65 0.67 0.62 0.54 0.48 0.48 0.51 0.53 0.50 0.44 0.36 0.32 0.37 0.50 0.65 0.76 0.76 0.65 0.47 0.32 0.29 0.41 0.61 0.79 0.86 0.75 0.52 0.27 0.14 0.20 0.44 0.75 0.99 1.07 0.98 0.79 0.62 0.56 0.60 0.67 0.68 0.57 0.36 0.17 0.09 0.19 0.42 0.66 0.78 0.71 0.49 0.23 0.05 0.03 0.13 0.26 0.33 0.30 0.19 0.10 0.11 0.25 0.46 0.64 55.0 + 57.5 0.83 0.85 0.70 0.46 0.22 0.08 0.08 0.21 0.38 0.53 0.61 0.61 0.59 0.57 0.58 0.61 0.65 0.65 0.63 0.61 0.61 0.66 0.76 0.86 0.91 0.87 0.75 0.59 0.45 0.40 0.44 0.56 0.66 0.68 0.57 0.37 0.16 0.07 0.16 0.42 0.75 1.01 1.12 1.05 0.87 0.68 0.60 0.62 0.69 0.71 0.62 0.44 0.24 0.15 0.21 0.41 0.64 0.77 0.75 0.57 0.36 0.22 0.21 0.32 0.46 0.54 0.51 0.42 0.35 0.37 0.50 0.69 0.83 0.85 0.70 0.46 0.22 0.08 0.08 0.21 0.38 0.53 0.61 0.61 0.59 0.57 0.58 0.61 0.65 0.65 0.63 0.61 0.61 0.66 0.76 0.86 0.91 0.87 0.75 0.59 0.45 0.40 0.44 0.56 0.66 0.68 0.57 0.37 0.16 0.07 0.16 0.42 0.75 1.01 1.12 1.05 0.87 0.68 0.60 0.62 0.69 0.71 0.62 0.44 0.24 0.15 0.21 0.41 0.64 0.77 0.75 0.57 0.36 0.22 0.21 0.32 0.46 0.54 0.51 0.42 0.35 0.37 0.50 0.69 0.83 57.5 + 60.0 0.95 0.92 0.75 0.47 0.20 0.02 0.00 0.08 0.23 0.38 0.49 0.54 0.55 0.57 0.60 0.64 0.69 0.73 0.76 0.78 0.81 0.85 0.88 0.91 0.90 0.84 0.75 0.64 0.54 0.48 0.47 0.50 0.52 0.48 0.37 0.21 0.06 0.01 0.11 0.35 0.66 0.93 1.06 1.03 0.89 0.74 0.67 0.70 0.78 0.82 0.78 0.63 0.47 0.37 0.41 0.57 0.76 0.89 0.88 0.74 0.57 0.46 0.47 0.58 0.72 0.80 0.78 0.70 0.62 0.62 0.72 0.86 0.95 0.92 0.75 0.47 0.20 0.02 0.00 0.08 0.23 0.38 0.49 0.54 0.55 0.57 0.60 0.64 0.69 0.73 0.76 0.78 0.81 0.85 0.88 0.91 0.90 0.84 0.75 0.64 0.54 0.48 0.47 0.50 0.52 0.48 0.37 0.21 0.06 0.01 0.11 0.35 0.66 0.93 1.06 1.03 0.89 0.74 0.67 0.70 0.78 0.82 0.78 0.63 0.47 0.37 0.41 0.57 0.76 0.89 0.88 0.74 0.57 0.46 0.47 0.58 0.72 0.80 0.78 0.70 0.62 0.62 0.72 0.86 0.95 60.0 + 62.5 0.96 0.90 0.72 0.46 0.20 0.02 0.00 0.01 0.12 0.25 0.34 0.40 0.43 0.45 0.49 0.54 0.60 0.66 0.73 0.80 0.84 0.85 0.83 0.79 0.73 0.68 0.64 0.61 0.57 0.53 0.49 0.45 0.39 0.31 0.20 0.07 0.00 0.00 0.03 0.23 0.49 0.74 0.89 0.92 0.87 0.80 0.78 0.85 0.96 1.05 1.07 0.99 0.88 0.80 0.82 0.93 1.07 1.15 1.12 0.99 0.84 0.74 0.75 0.85 0.97 1.04 1.01 0.92 0.81 0.77 0.82 0.90 0.96 0.90 0.72 0.46 0.20 0.02 0.00 0.01 0.12 0.25 0.34 0.40 0.43 0.45 0.49 0.54 0.60 0.66 0.73 0.80 0.84 0.85 0.83 0.79 0.73 0.68 0.64 0.61 0.57 0.53 0.49 0.45 0.39 0.31 0.20 0.07 0.00 0.00 0.03 0.23 0.49 0.74 0.89 0.92 0.87 0.80 0.78 0.85 0.96 1.05 1.07 0.99 0.88 0.80 0.82 0.93 1.07 1.15 1.12 0.99 0.84 0.74 0.75 0.85 0.97 1.04 1.01 0.92 0.81 0.77 0.82 0.90 0.96 62.5 + 65.0 0.83 0.78 0.64 0.43 0.21 0.06 0.00 0.02 0.08 0.16 0.22 0.25 0.26 0.27 0.28 0.31 0.37 0.45 0.54 0.63 0.67 0.66 0.60 0.51 0.44 0.42 0.45 0.49 0.52 0.51 0.44 0.35 0.24 0.14 0.05 0.00 0.00 0.00 0.00 0.09 0.30 0.53 0.72 0.83 0.89 0.93 1.00 1.13 1.30 1.46 1.54 1.55 1.49 1.44 1.43 1.47 1.52 1.53 1.44 1.28 1.11 1.00 0.98 1.06 1.15 1.19 1.14 1.01 0.87 0.78 0.77 0.80 0.83 0.78 0.64 0.43 0.21 0.06 0.00 0.02 0.08 0.16 0.22 0.25 0.26 0.27 0.28 0.31 0.37 0.45 0.54 0.63 0.67 0.66 0.60 0.51 0.44 0.42 0.45 0.49 0.52 0.51 0.44 0.35 0.24 0.14 0.05 0.00 0.00 0.00 0.00 0.09 0.30 0.53 0.72 0.83 0.89 0.93 1.00 1.13 1.30 1.46 1.54 1.55 1.49 1.44 1.43 1.47 1.52 1.53 1.44 1.28 1.11 1.00 0.98 1.06 1.15 1.19 1.14 1.01 0.87 0.78 0.77 0.80 0.83 65.0 + 67.5 0.63 0.60 0.51 0.37 0.23 0.13 0.08 0.09 0.12 0.16 0.18 0.17 0.16 0.13 0.10 0.09 0.11 0.19 0.29 0.37 0.41 0.37 0.27 0.16 0.10 0.11 0.19 0.30 0.37 0.36 0.28 0.16 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.19 0.44 0.69 0.91 1.09 1.25 1.43 1.64 1.88 2.10 2.26 2.33 2.31 2.24 2.17 2.12 2.06 1.95 1.78 1.56 1.34 1.19 1.14 1.18 1.24 1.25 1.16 1.00 0.81 0.67 0.61 0.61 0.63 0.60 0.51 0.37 0.23 0.13 0.08 0.09 0.12 0.16 0.18 0.17 0.16 0.13 0.10 0.09 0.11 0.19 0.29 0.37 0.41 0.37 0.27 0.16 0.10 0.11 0.19 0.30 0.37 0.36 0.28 0.16 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.19 0.44 0.69 0.91 1.09 1.25 1.43 1.64 1.88 2.10 2.26 2.33 2.31 2.24 2.17 2.12 2.06 1.95 1.78 1.56 1.34 1.19 1.14 1.18 1.24 1.25 1.16 1.00 0.81 0.67 0.61 0.61 0.63 67.5 + 70.0 0.43 0.42 0.38 0.31 0.24 0.20 0.19 0.21 0.23 0.25 0.26 0.24 0.19 0.12 0.05 0.00 0.00 0.03 0.12 0.20 0.22 0.15 0.02 0.00 0.00 0.00 0.00 0.11 0.18 0.16 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.28 0.58 0.93 1.27 1.58 1.85 2.13 2.42 2.72 3.00 3.21 3.29 3.25 3.12 2.94 2.76 2.56 2.34 2.07 1.78 1.51 1.31 1.22 1.22 1.24 1.23 1.12 0.94 0.72 0.55 0.45 0.42 0.43 0.42 0.38 0.31 0.24 0.20 0.19 0.21 0.23 0.25 0.26 0.24 0.19 0.12 0.05 0.00 0.00 0.03 0.12 0.20 0.22 0.15 0.02 0.00 0.00 0.00 0.00 0.11 0.18 0.16 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.28 0.58 0.93 1.27 1.58 1.85 2.13 2.42 2.72 3.00 3.21 3.29 3.25 3.12 2.94 2.76 2.56 2.34 2.07 1.78 1.51 1.31 1.22 1.22 1.24 1.23 1.12 0.94 0.72 0.55 0.45 0.42 0.43 70.0 + 72.5 0.32 0.32 0.32 0.29 0.27 0.27 0.29 0.32 0.37 0.41 0.44 0.44 0.40 0.30 0.19 0.09 0.05 0.09 0.18 0.26 0.26 0.16 0.00 0.00 0.00 0.00 0.00 0.06 0.09 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.11 0.18 0.33 0.61 1.00 1.45 1.90 2.31 2.67 3.01 3.35 3.70 4.02 4.23 4.29 4.17 3.92 3.59 3.25 2.93 2.60 2.27 1.93 1.61 1.36 1.23 1.19 1.20 1.18 1.08 0.90 0.68 0.48 0.36 0.32 0.32 0.32 0.32 0.29 0.27 0.27 0.29 0.32 0.37 0.41 0.44 0.44 0.40 0.30 0.19 0.09 0.05 0.09 0.18 0.26 0.26 0.16 0.00 0.00 0.00 0.00 0.00 0.06 0.09 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.11 0.18 0.33 0.61 1.00 1.45 1.90 2.31 2.67 3.01 3.35 3.70 4.02 4.23 4.29 4.17 3.92 3.59 3.25 2.93 2.60 2.27 1.93 1.61 1.36 1.23 1.19 1.20 1.18 1.08 0.90 0.68 0.48 0.36 0.32 0.32 72.5 + 75.0 0.30 0.31 0.32 0.32 0.31 0.32 0.35 0.40 0.47 0.56 0.64 0.70 0.68 0.59 0.46 0.33 0.29 0.34 0.46 0.56 0.58 0.47 0.28 0.10 0.02 0.06 0.17 0.24 0.22 0.08 0.00 0.00 0.00 0.00 0.08 0.28 0.41 0.50 0.59 0.77 1.09 1.55 2.09 2.61 3.07 3.46 3.81 4.18 4.55 4.88 5.08 5.08 4.85 4.45 3.96 3.47 3.04 2.67 2.32 1.97 1.63 1.35 1.17 1.10 1.10 1.10 1.04 0.89 0.69 0.51 0.38 0.31 0.30 0.31 0.32 0.32 0.31 0.32 0.35 0.40 0.47 0.56 0.64 0.70 0.68 0.59 0.46 0.33 0.29 0.34 0.46 0.56 0.58 0.47 0.28 0.10 0.02 0.06 0.17 0.24 0.22 0.08 0.00 0.00 0.00 0.00 0.08 0.28 0.41 0.50 0.59 0.77 1.09 1.55 2.09 2.61 3.07 3.46 3.81 4.18 4.55 4.88 5.08 5.08 4.85 4.45 3.96 3.47 3.04 2.67 2.32 1.97 1.63 1.35 1.17 1.10 1.10 1.10 1.04 0.89 0.69 0.51 0.38 0.31 0.30 75.0 + 77.5 0.34 0.35 0.35 0.35 0.34 0.33 0.34 0.37 0.45 0.59 0.75 0.87 0.91 0.85 0.70 0.57 0.53 0.63 0.82 1.00 1.06 0.96 0.76 0.56 0.46 0.49 0.58 0.64 0.56 0.37 0.14 0.00 0.01 0.19 0.47 0.73 0.90 0.98 1.06 1.23 1.55 2.03 2.59 3.13 3.57 3.93 4.24 4.57 4.93 5.26 5.45 5.40 5.07 4.53 3.89 3.31 2.84 2.48 2.18 1.88 1.55 1.25 1.03 0.93 0.93 0.96 0.95 0.87 0.73 0.57 0.44 0.37 0.34 0.35 0.35 0.35 0.34 0.33 0.34 0.37 0.45 0.59 0.75 0.87 0.91 0.85 0.70 0.57 0.53 0.63 0.82 1.00 1.06 0.96 0.76 0.56 0.46 0.49 0.58 0.64 0.56 0.37 0.14 0.00 0.01 0.19 0.47 0.73 0.90 0.98 1.06 1.23 1.55 2.03 2.59 3.13 3.57 3.93 4.24 4.57 4.93 5.26 5.45 5.40 5.07 4.53 3.89 3.31 2.84 2.48 2.18 1.88 1.55 1.25 1.03 0.93 0.93 0.96 0.95 0.87 0.73 0.57 0.44 0.37 0.34 77.5 + 80.0 0.36 0.36 0.37 0.36 0.33 0.28 0.23 0.22 0.28 0.44 0.66 0.86 0.96 0.92 0.77 0.63 0.61 0.77 1.06 1.35 1.49 1.45 1.25 1.03 0.91 0.93 1.02 1.07 0.99 0.76 0.50 0.33 0.37 0.59 0.93 1.22 1.40 1.44 1.45 1.55 1.81 2.24 2.75 3.23 3.60 3.87 4.09 4.35 4.68 5.00 5.19 5.12 4.73 4.09 3.37 2.74 2.29 2.02 1.83 1.62 1.35 1.04 0.79 0.65 0.64 0.70 0.77 0.78 0.71 0.59 0.47 0.39 0.36 0.36 0.37 0.36 0.33 0.28 0.23 0.22 0.28 0.44 0.66 0.86 0.96 0.92 0.77 0.63 0.61 0.77 1.06 1.35 1.49 1.45 1.25 1.03 0.91 0.93 1.02 1.07 0.99 0.76 0.50 0.33 0.37 0.59 0.93 1.22 1.40 1.44 1.45 1.55 1.81 2.24 2.75 3.23 3.60 3.87 4.09 4.35 4.68 5.00 5.19 5.12 4.73 4.09 3.37 2.74 2.29 2.02 1.83 1.62 1.35 1.04 0.79 0.65 0.64 0.70 0.77 0.78 0.71 0.59 0.47 0.39 0.36 80.0 + 82.5 0.29 0.29 0.31 0.31 0.26 0.16 0.03 0.00 0.00 0.13 0.39 0.65 0.79 0.76 0.60 0.44 0.43 0.65 1.04 1.45 1.70 1.72 1.54 1.30 1.16 1.17 1.29 1.37 1.31 1.09 0.82 0.65 0.68 0.94 1.30 1.62 1.78 1.76 1.67 1.65 1.79 2.11 2.52 2.91 3.17 3.31 3.41 3.57 3.84 4.16 4.37 4.32 3.92 3.26 2.51 1.88 1.49 1.34 1.29 1.21 1.02 0.73 0.44 0.26 0.23 0.34 0.48 0.57 0.58 0.51 0.41 0.33 0.29 0.29 0.31 0.31 0.26 0.16 0.03 0.00 0.00 0.13 0.39 0.65 0.79 0.76 0.60 0.44 0.43 0.65 1.04 1.45 1.70 1.72 1.54 1.30 1.16 1.17 1.29 1.37 1.31 1.09 0.82 0.65 0.68 0.94 1.30 1.62 1.78 1.76 1.67 1.65 1.79 2.11 2.52 2.91 3.17 3.31 3.41 3.57 3.84 4.16 4.37 4.32 3.92 3.26 2.51 1.88 1.49 1.34 1.29 1.21 1.02 0.73 0.44 0.26 0.23 0.34 0.48 0.57 0.58 0.51 0.41 0.33 0.29 82.5 + 85.0 0.14 0.16 0.19 0.21 0.15 0.00 0.00 0.00 0.00 0.00 0.03 0.32 0.49 0.47 0.28 0.09 0.07 0.31 0.78 1.30 1.66 1.75 1.59 1.34 1.17 1.17 1.30 1.43 1.43 1.26 1.01 0.84 0.87 1.13 1.51 1.84 1.99 1.92 1.72 1.56 1.55 1.74 2.05 2.33 2.48 2.50 2.48 2.54 2.74 3.05 3.29 3.29 2.93 2.29 1.55 0.95 0.63 0.59 0.69 0.74 0.63 0.36 0.04 0.00 0.00 0.00 0.12 0.30 0.38 0.35 0.27 0.18 0.14 0.16 0.19 0.21 0.15 0.00 0.00 0.00 0.00 0.00 0.03 0.32 0.49 0.47 0.28 0.09 0.07 0.31 0.78 1.30 1.66 1.75 1.59 1.34 1.17 1.17 1.30 1.43 1.43 1.26 1.01 0.84 0.87 1.13 1.51 1.84 1.99 1.92 1.72 1.56 1.55 1.74 2.05 2.33 2.48 2.50 2.48 2.54 2.74 3.05 3.29 3.29 2.93 2.29 1.55 0.95 0.63 0.59 0.69 0.74 0.63 0.36 0.04 0.00 0.00 0.00 0.12 0.30 0.38 0.35 0.27 0.18 0.14 85.0 + 87.5 0.00 0.03 0.08 0.11 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.23 0.21 0.00 0.00 0.00 0.00 0.49 1.10 1.55 1.71 1.57 1.30 1.10 1.07 1.20 1.37 1.43 1.31 1.10 0.94 0.96 1.22 1.59 1.93 2.06 1.95 1.68 1.40 1.27 1.34 1.56 1.77 1.86 1.80 1.68 1.64 1.78 2.06 2.33 2.38 2.09 1.50 0.79 0.22 0.00 0.00 0.19 0.34 0.29 0.05 0.00 0.00 0.00 0.00 0.00 0.04 0.17 0.19 0.12 0.04 0.00 0.03 0.08 0.11 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.23 0.21 0.00 0.00 0.00 0.00 0.49 1.10 1.55 1.71 1.57 1.30 1.10 1.07 1.20 1.37 1.43 1.31 1.10 0.94 0.96 1.22 1.59 1.93 2.06 1.95 1.68 1.40 1.27 1.34 1.56 1.77 1.86 1.80 1.68 1.64 1.78 2.06 2.33 2.38 2.09 1.50 0.79 0.22 0.00 0.00 0.19 0.34 0.29 0.05 0.00 0.00 0.00 0.00 0.00 0.04 0.17 0.19 0.12 0.04 0.00 87.5 + 90.0 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.44 1.10 1.63 1.85 1.75 1.48 1.23 1.15 1.26 1.43 1.51 1.43 1.24 1.07 1.07 1.28 1.63 1.95 2.08 1.95 1.63 1.28 1.07 1.07 1.24 1.43 1.51 1.43 1.26 1.15 1.23 1.48 1.75 1.85 1.63 1.10 0.44 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.44 1.10 1.63 1.85 1.75 1.48 1.23 1.15 1.26 1.43 1.51 1.43 1.24 1.07 1.07 1.28 1.63 1.95 2.08 1.95 1.63 1.28 1.07 1.07 1.24 1.43 1.51 1.43 1.26 1.15 1.23 1.48 1.75 1.85 1.63 1.10 0.44 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 90.0 + + 60.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 4.83 ) PHI2 = 60. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.0 + 2.5 0.37 0.36 0.39 0.49 0.65 0.84 1.06 1.28 1.52 1.78 2.02 2.21 2.29 2.24 2.09 1.86 1.61 1.37 1.15 0.93 0.72 0.55 0.43 0.38 0.37 0.34 0.23 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.25 0.36 0.40 0.41 0.45 0.55 0.72 0.92 1.14 1.36 1.60 1.84 2.05 2.20 2.25 2.17 1.99 1.76 1.51 1.27 1.05 0.84 0.65 0.50 0.41 0.39 0.40 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.27 0.36 0.37 0.36 0.39 0.49 0.65 0.84 1.06 1.28 1.52 1.78 2.02 2.21 2.29 2.24 2.09 1.86 1.61 1.37 1.15 0.93 0.72 0.55 0.43 0.38 0.37 0.34 0.23 0.04 0.00 0.00 0.00 0.00 0.00 0.04 0.25 0.36 0.40 0.41 0.45 0.55 0.72 0.92 1.14 1.36 1.60 1.84 2.05 2.20 2.25 2.17 1.99 1.76 1.51 1.27 1.05 0.84 0.65 0.50 0.41 0.39 0.40 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.27 0.36 0.37 2.5 + 5.0 0.36 0.30 0.30 0.36 0.50 0.69 0.90 1.15 1.42 1.73 2.04 2.29 2.43 2.42 2.28 2.05 1.77 1.50 1.25 1.02 0.80 0.62 0.49 0.43 0.41 0.39 0.32 0.16 0.00 0.00 0.00 0.00 0.00 0.15 0.34 0.46 0.50 0.51 0.53 0.61 0.76 0.95 1.19 1.44 1.70 1.94 2.15 2.26 2.26 2.14 1.92 1.66 1.38 1.12 0.88 0.67 0.51 0.40 0.38 0.42 0.48 0.50 0.43 0.28 0.08 0.00 0.00 0.00 0.10 0.27 0.38 0.40 0.36 0.30 0.30 0.36 0.50 0.69 0.90 1.15 1.42 1.73 2.04 2.29 2.43 2.42 2.28 2.05 1.77 1.50 1.25 1.02 0.80 0.62 0.49 0.43 0.41 0.39 0.32 0.16 0.00 0.00 0.00 0.00 0.00 0.15 0.34 0.46 0.50 0.51 0.53 0.61 0.76 0.95 1.19 1.44 1.70 1.94 2.15 2.26 2.26 2.14 1.92 1.66 1.38 1.12 0.88 0.67 0.51 0.40 0.38 0.42 0.48 0.50 0.43 0.28 0.08 0.00 0.00 0.00 0.10 0.27 0.38 0.40 0.36 5.0 + 7.5 0.38 0.28 0.23 0.26 0.36 0.52 0.73 0.98 1.29 1.65 2.03 2.36 2.57 2.63 2.52 2.30 2.01 1.73 1.46 1.23 1.02 0.84 0.71 0.64 0.63 0.62 0.58 0.47 0.31 0.15 0.06 0.07 0.20 0.39 0.56 0.68 0.71 0.70 0.69 0.73 0.84 1.02 1.26 1.53 1.81 2.06 2.23 2.30 2.25 2.07 1.82 1.53 1.23 0.96 0.71 0.51 0.38 0.34 0.39 0.50 0.61 0.67 0.63 0.50 0.35 0.23 0.20 0.28 0.40 0.51 0.54 0.49 0.38 0.28 0.23 0.26 0.36 0.52 0.73 0.98 1.29 1.65 2.03 2.36 2.57 2.63 2.52 2.30 2.01 1.73 1.46 1.23 1.02 0.84 0.71 0.64 0.63 0.62 0.58 0.47 0.31 0.15 0.06 0.07 0.20 0.39 0.56 0.68 0.71 0.70 0.69 0.73 0.84 1.02 1.26 1.53 1.81 2.06 2.23 2.30 2.25 2.07 1.82 1.53 1.23 0.96 0.71 0.51 0.38 0.34 0.39 0.50 0.61 0.67 0.63 0.50 0.35 0.23 0.20 0.28 0.40 0.51 0.54 0.49 0.38 7.5 + 10.0 0.45 0.32 0.25 0.25 0.31 0.43 0.60 0.83 1.14 1.53 1.95 2.35 2.65 2.77 2.73 2.54 2.28 2.02 1.78 1.57 1.40 1.25 1.13 1.06 1.05 1.06 1.05 0.99 0.86 0.71 0.58 0.55 0.62 0.76 0.91 1.01 1.03 0.99 0.93 0.90 0.95 1.10 1.33 1.61 1.89 2.13 2.26 2.28 2.17 1.96 1.69 1.41 1.12 0.86 0.63 0.45 0.36 0.38 0.49 0.64 0.78 0.84 0.80 0.69 0.57 0.49 0.50 0.58 0.68 0.73 0.70 0.59 0.45 0.32 0.25 0.25 0.31 0.43 0.60 0.83 1.14 1.53 1.95 2.35 2.65 2.77 2.73 2.54 2.28 2.02 1.78 1.57 1.40 1.25 1.13 1.06 1.05 1.06 1.05 0.99 0.86 0.71 0.58 0.55 0.62 0.76 0.91 1.01 1.03 0.99 0.93 0.90 0.95 1.10 1.33 1.61 1.89 2.13 2.26 2.28 2.17 1.96 1.69 1.41 1.12 0.86 0.63 0.45 0.36 0.38 0.49 0.64 0.78 0.84 0.80 0.69 0.57 0.49 0.50 0.58 0.68 0.73 0.70 0.59 0.45 10.0 + 12.5 0.55 0.42 0.35 0.33 0.35 0.42 0.53 0.71 0.98 1.35 1.79 2.22 2.57 2.78 2.81 2.70 2.51 2.30 2.13 1.98 1.85 1.74 1.64 1.58 1.57 1.60 1.62 1.59 1.48 1.32 1.16 1.07 1.09 1.18 1.30 1.38 1.38 1.29 1.17 1.07 1.07 1.17 1.38 1.66 1.93 2.13 2.22 2.17 2.02 1.80 1.55 1.30 1.07 0.84 0.65 0.51 0.46 0.51 0.65 0.81 0.93 0.96 0.89 0.77 0.68 0.65 0.70 0.79 0.87 0.88 0.82 0.69 0.55 0.42 0.35 0.33 0.35 0.42 0.53 0.71 0.98 1.35 1.79 2.22 2.57 2.78 2.81 2.70 2.51 2.30 2.13 1.98 1.85 1.74 1.64 1.58 1.57 1.60 1.62 1.59 1.48 1.32 1.16 1.07 1.09 1.18 1.30 1.38 1.38 1.29 1.17 1.07 1.07 1.17 1.38 1.66 1.93 2.13 2.22 2.17 2.02 1.80 1.55 1.30 1.07 0.84 0.65 0.51 0.46 0.51 0.65 0.81 0.93 0.96 0.89 0.77 0.68 0.65 0.70 0.79 0.87 0.88 0.82 0.69 0.55 12.5 + 15.0 0.61 0.52 0.46 0.43 0.42 0.43 0.47 0.59 0.80 1.12 1.52 1.95 2.33 2.60 2.72 2.70 2.61 2.50 2.40 2.31 2.23 2.14 2.05 1.99 1.98 2.03 2.07 2.06 1.97 1.80 1.61 1.48 1.45 1.50 1.59 1.65 1.61 1.49 1.32 1.18 1.13 1.21 1.41 1.67 1.92 2.09 2.12 2.03 1.85 1.63 1.41 1.22 1.04 0.87 0.71 0.61 0.59 0.66 0.80 0.94 1.01 0.97 0.86 0.74 0.67 0.69 0.78 0.89 0.95 0.94 0.86 0.74 0.61 0.52 0.46 0.43 0.42 0.43 0.47 0.59 0.80 1.12 1.52 1.95 2.33 2.60 2.72 2.70 2.61 2.50 2.40 2.31 2.23 2.14 2.05 1.99 1.98 2.03 2.07 2.06 1.97 1.80 1.61 1.48 1.45 1.50 1.59 1.65 1.61 1.49 1.32 1.18 1.13 1.21 1.41 1.67 1.92 2.09 2.12 2.03 1.85 1.63 1.41 1.22 1.04 0.87 0.71 0.61 0.59 0.66 0.80 0.94 1.01 0.97 0.86 0.74 0.67 0.69 0.78 0.89 0.95 0.94 0.86 0.74 0.61 15.0 + 17.5 0.59 0.53 0.49 0.45 0.41 0.38 0.37 0.43 0.58 0.84 1.18 1.57 1.95 2.25 2.45 2.54 2.55 2.54 2.50 2.46 2.39 2.30 2.20 2.14 2.13 2.19 2.25 2.27 2.18 2.02 1.82 1.67 1.60 1.63 1.69 1.71 1.65 1.50 1.31 1.16 1.11 1.20 1.40 1.66 1.90 2.03 2.02 1.90 1.69 1.48 1.29 1.14 1.00 0.87 0.75 0.67 0.67 0.75 0.87 0.96 0.97 0.88 0.73 0.61 0.58 0.65 0.78 0.91 0.96 0.92 0.82 0.69 0.59 0.53 0.49 0.45 0.41 0.38 0.37 0.43 0.58 0.84 1.18 1.57 1.95 2.25 2.45 2.54 2.55 2.54 2.50 2.46 2.39 2.30 2.20 2.14 2.13 2.19 2.25 2.27 2.18 2.02 1.82 1.67 1.60 1.63 1.69 1.71 1.65 1.50 1.31 1.16 1.11 1.20 1.40 1.66 1.90 2.03 2.02 1.90 1.69 1.48 1.29 1.14 1.00 0.87 0.75 0.67 0.67 0.75 0.87 0.96 0.97 0.88 0.73 0.61 0.58 0.65 0.78 0.91 0.96 0.92 0.82 0.69 0.59 17.5 + 20.0 0.47 0.42 0.39 0.35 0.29 0.23 0.20 0.22 0.33 0.53 0.80 1.13 1.48 1.79 2.04 2.23 2.35 2.42 2.44 2.42 2.35 2.24 2.13 2.06 2.06 2.13 2.22 2.25 2.18 2.02 1.83 1.67 1.59 1.58 1.60 1.59 1.50 1.34 1.16 1.04 1.03 1.15 1.38 1.64 1.86 1.97 1.94 1.80 1.59 1.38 1.20 1.06 0.94 0.82 0.71 0.64 0.65 0.72 0.82 0.87 0.82 0.69 0.53 0.44 0.46 0.59 0.76 0.89 0.91 0.83 0.69 0.56 0.47 0.42 0.39 0.35 0.29 0.23 0.20 0.22 0.33 0.53 0.80 1.13 1.48 1.79 2.04 2.23 2.35 2.42 2.44 2.42 2.35 2.24 2.13 2.06 2.06 2.13 2.22 2.25 2.18 2.02 1.83 1.67 1.59 1.58 1.60 1.59 1.50 1.34 1.16 1.04 1.03 1.15 1.38 1.64 1.86 1.97 1.94 1.80 1.59 1.38 1.20 1.06 0.94 0.82 0.71 0.64 0.65 0.72 0.82 0.87 0.82 0.69 0.53 0.44 0.46 0.59 0.76 0.89 0.91 0.83 0.69 0.56 0.47 20.0 + 22.5 0.28 0.23 0.20 0.14 0.07 0.00 0.00 0.00 0.07 0.23 0.44 0.70 0.99 1.29 1.59 1.85 2.06 2.22 2.31 2.31 2.24 2.13 2.03 1.98 2.01 2.11 2.21 2.25 2.19 2.03 1.84 1.67 1.56 1.51 1.47 1.40 1.27 1.12 0.97 0.90 0.94 1.10 1.34 1.60 1.80 1.90 1.86 1.71 1.51 1.31 1.13 0.99 0.85 0.72 0.60 0.54 0.55 0.61 0.69 0.71 0.63 0.48 0.33 0.28 0.37 0.55 0.74 0.85 0.83 0.70 0.52 0.37 0.28 0.23 0.20 0.14 0.07 0.00 0.00 0.00 0.07 0.23 0.44 0.70 0.99 1.29 1.59 1.85 2.06 2.22 2.31 2.31 2.24 2.13 2.03 1.98 2.01 2.11 2.21 2.25 2.19 2.03 1.84 1.67 1.56 1.51 1.47 1.40 1.27 1.12 0.97 0.90 0.94 1.10 1.34 1.60 1.80 1.90 1.86 1.71 1.51 1.31 1.13 0.99 0.85 0.72 0.60 0.54 0.55 0.61 0.69 0.71 0.63 0.48 0.33 0.28 0.37 0.55 0.74 0.85 0.83 0.70 0.52 0.37 0.28 22.5 + 25.0 0.08 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.34 0.57 0.84 1.16 1.49 1.80 2.05 2.21 2.28 2.26 2.20 2.16 2.17 2.26 2.39 2.49 2.52 2.44 2.26 2.05 1.85 1.69 1.56 1.43 1.29 1.12 0.96 0.85 0.83 0.90 1.07 1.29 1.51 1.68 1.75 1.71 1.58 1.41 1.22 1.06 0.91 0.76 0.61 0.49 0.43 0.43 0.49 0.55 0.55 0.45 0.30 0.18 0.17 0.30 0.51 0.71 0.79 0.72 0.54 0.33 0.17 0.08 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.34 0.57 0.84 1.16 1.49 1.80 2.05 2.21 2.28 2.26 2.20 2.16 2.17 2.26 2.39 2.49 2.52 2.44 2.26 2.05 1.85 1.69 1.56 1.43 1.29 1.12 0.96 0.85 0.83 0.90 1.07 1.29 1.51 1.68 1.75 1.71 1.58 1.41 1.22 1.06 0.91 0.76 0.61 0.49 0.43 0.43 0.49 0.55 0.55 0.45 0.30 0.18 0.17 0.30 0.51 0.71 0.79 0.72 0.54 0.33 0.17 0.08 25.0 + 27.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.26 0.51 0.83 1.22 1.62 1.98 2.25 2.42 2.50 2.56 2.63 2.75 2.91 3.06 3.15 3.13 3.00 2.78 2.51 2.25 2.01 1.78 1.56 1.33 1.13 0.97 0.88 0.87 0.94 1.06 1.21 1.35 1.44 1.48 1.45 1.35 1.22 1.08 0.95 0.81 0.67 0.53 0.42 0.36 0.37 0.43 0.47 0.44 0.34 0.19 0.09 0.10 0.25 0.46 0.64 0.68 0.57 0.37 0.15 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.26 0.51 0.83 1.22 1.62 1.98 2.25 2.42 2.50 2.56 2.63 2.75 2.91 3.06 3.15 3.13 3.00 2.78 2.51 2.25 2.01 1.78 1.56 1.33 1.13 0.97 0.88 0.87 0.94 1.06 1.21 1.35 1.44 1.48 1.45 1.35 1.22 1.08 0.95 0.81 0.67 0.53 0.42 0.36 0.37 0.43 0.47 0.44 0.34 0.19 0.09 0.10 0.25 0.46 0.64 0.68 0.57 0.37 0.15 0.01 0.00 27.5 + 30.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.31 0.64 1.07 1.55 2.01 2.39 2.68 2.90 3.10 3.31 3.55 3.77 3.93 3.98 3.89 3.67 3.38 3.05 2.72 2.40 2.08 1.76 1.47 1.24 1.09 1.01 1.00 1.02 1.06 1.08 1.11 1.12 1.12 1.09 1.03 0.95 0.86 0.77 0.68 0.58 0.48 0.39 0.36 0.37 0.42 0.45 0.41 0.29 0.15 0.05 0.08 0.21 0.40 0.53 0.53 0.40 0.19 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.31 0.64 1.07 1.55 2.01 2.39 2.68 2.90 3.10 3.31 3.55 3.77 3.93 3.98 3.89 3.67 3.38 3.05 2.72 2.40 2.08 1.76 1.47 1.24 1.09 1.01 1.00 1.02 1.06 1.08 1.11 1.12 1.12 1.09 1.03 0.95 0.86 0.77 0.68 0.58 0.48 0.39 0.36 0.37 0.42 0.45 0.41 0.29 0.15 0.05 0.08 0.21 0.40 0.53 0.53 0.40 0.19 0.01 0.00 0.00 30.0 + 32.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.27 0.59 1.03 1.55 2.06 2.52 2.91 3.24 3.56 3.88 4.20 4.45 4.59 4.57 4.39 4.10 3.74 3.37 2.99 2.62 2.24 1.88 1.57 1.34 1.22 1.16 1.14 1.10 1.02 0.92 0.83 0.76 0.72 0.70 0.68 0.64 0.60 0.56 0.52 0.47 0.43 0.39 0.39 0.42 0.45 0.46 0.40 0.27 0.14 0.05 0.08 0.19 0.33 0.41 0.37 0.22 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.27 0.59 1.03 1.55 2.06 2.52 2.91 3.24 3.56 3.88 4.20 4.45 4.59 4.57 4.39 4.10 3.74 3.37 2.99 2.62 2.24 1.88 1.57 1.34 1.22 1.16 1.14 1.10 1.02 0.92 0.83 0.76 0.72 0.70 0.68 0.64 0.60 0.56 0.52 0.47 0.43 0.39 0.39 0.42 0.45 0.46 0.40 0.27 0.14 0.05 0.08 0.19 0.33 0.41 0.37 0.22 0.03 0.00 0.00 0.00 32.5 + 35.0 0.00 0.04 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.16 0.33 0.63 1.05 1.55 2.05 2.50 2.90 3.27 3.63 4.00 4.33 4.57 4.66 4.56 4.31 3.97 3.60 3.23 2.86 2.49 2.12 1.77 1.49 1.31 1.24 1.22 1.19 1.10 0.94 0.75 0.58 0.46 0.41 0.40 0.40 0.39 0.38 0.36 0.35 0.36 0.37 0.39 0.42 0.45 0.47 0.44 0.36 0.24 0.12 0.07 0.10 0.19 0.29 0.32 0.23 0.07 0.00 0.00 0.00 0.00 0.04 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.16 0.33 0.63 1.05 1.55 2.05 2.50 2.90 3.27 3.63 4.00 4.33 4.57 4.66 4.56 4.31 3.97 3.60 3.23 2.86 2.49 2.12 1.77 1.49 1.31 1.24 1.22 1.19 1.10 0.94 0.75 0.58 0.46 0.41 0.40 0.40 0.39 0.38 0.36 0.35 0.36 0.37 0.39 0.42 0.45 0.47 0.44 0.36 0.24 0.12 0.07 0.10 0.19 0.29 0.32 0.23 0.07 0.00 0.00 0.00 0.00 35.0 + 37.5 0.00 0.09 0.12 0.05 0.00 0.00 0.00 0.00 0.00 0.07 0.15 0.21 0.28 0.43 0.69 1.06 1.48 1.89 2.25 2.57 2.87 3.19 3.52 3.81 3.98 4.00 3.84 3.56 3.23 2.90 2.60 2.32 2.03 1.72 1.43 1.21 1.11 1.10 1.14 1.13 1.03 0.84 0.61 0.41 0.30 0.26 0.27 0.29 0.28 0.25 0.23 0.22 0.25 0.31 0.38 0.44 0.47 0.46 0.40 0.29 0.17 0.09 0.07 0.12 0.22 0.28 0.26 0.14 0.00 0.00 0.00 0.00 0.00 0.09 0.12 0.05 0.00 0.00 0.00 0.00 0.00 0.07 0.15 0.21 0.28 0.43 0.69 1.06 1.48 1.89 2.25 2.57 2.87 3.19 3.52 3.81 3.98 4.00 3.84 3.56 3.23 2.90 2.60 2.32 2.03 1.72 1.43 1.21 1.11 1.10 1.14 1.13 1.03 0.84 0.61 0.41 0.30 0.26 0.27 0.29 0.28 0.25 0.23 0.22 0.25 0.31 0.38 0.44 0.47 0.46 0.40 0.29 0.17 0.09 0.07 0.12 0.22 0.28 0.26 0.14 0.00 0.00 0.00 0.00 0.00 37.5 + 40.0 0.00 0.10 0.14 0.09 0.00 0.00 0.00 0.00 0.12 0.23 0.29 0.33 0.38 0.50 0.71 1.00 1.30 1.57 1.78 1.95 2.12 2.33 2.57 2.77 2.88 2.83 2.64 2.37 2.10 1.88 1.72 1.57 1.41 1.20 0.99 0.85 0.81 0.86 0.94 0.98 0.90 0.73 0.53 0.36 0.27 0.28 0.32 0.35 0.33 0.27 0.20 0.17 0.20 0.28 0.39 0.47 0.49 0.45 0.34 0.20 0.08 0.02 0.05 0.14 0.25 0.29 0.24 0.09 0.00 0.00 0.00 0.00 0.00 0.10 0.14 0.09 0.00 0.00 0.00 0.00 0.12 0.23 0.29 0.33 0.38 0.50 0.71 1.00 1.30 1.57 1.78 1.95 2.12 2.33 2.57 2.77 2.88 2.83 2.64 2.37 2.10 1.88 1.72 1.57 1.41 1.20 0.99 0.85 0.81 0.86 0.94 0.98 0.90 0.73 0.53 0.36 0.27 0.28 0.32 0.35 0.33 0.27 0.20 0.17 0.20 0.28 0.39 0.47 0.49 0.45 0.34 0.20 0.08 0.02 0.05 0.14 0.25 0.29 0.24 0.09 0.00 0.00 0.00 0.00 0.00 40.0 + 42.5 0.01 0.12 0.16 0.13 0.08 0.05 0.09 0.18 0.29 0.37 0.40 0.40 0.42 0.50 0.66 0.85 1.03 1.15 1.19 1.20 1.23 1.33 1.47 1.61 1.66 1.57 1.38 1.15 0.97 0.89 0.89 0.91 0.88 0.78 0.65 0.54 0.53 0.60 0.72 0.80 0.78 0.67 0.51 0.39 0.35 0.39 0.46 0.50 0.47 0.38 0.26 0.19 0.20 0.29 0.42 0.52 0.54 0.46 0.30 0.11 0.00 0.00 0.01 0.14 0.26 0.29 0.22 0.06 0.00 0.00 0.00 0.00 0.01 0.12 0.16 0.13 0.08 0.05 0.09 0.18 0.29 0.37 0.40 0.40 0.42 0.50 0.66 0.85 1.03 1.15 1.19 1.20 1.23 1.33 1.47 1.61 1.66 1.57 1.38 1.15 0.97 0.89 0.89 0.91 0.88 0.78 0.65 0.54 0.53 0.60 0.72 0.80 0.78 0.67 0.51 0.39 0.35 0.39 0.46 0.50 0.47 0.38 0.26 0.19 0.20 0.29 0.42 0.52 0.54 0.46 0.30 0.11 0.00 0.00 0.01 0.14 0.26 0.29 0.22 0.06 0.00 0.00 0.00 0.00 0.01 42.5 + 45.0 0.07 0.17 0.21 0.19 0.17 0.18 0.25 0.35 0.44 0.48 0.45 0.41 0.39 0.43 0.53 0.65 0.72 0.71 0.63 0.52 0.46 0.49 0.58 0.68 0.71 0.62 0.45 0.27 0.18 0.21 0.35 0.51 0.61 0.59 0.49 0.39 0.35 0.41 0.54 0.65 0.70 0.65 0.55 0.46 0.45 0.51 0.60 0.65 0.63 0.51 0.37 0.26 0.24 0.33 0.47 0.59 0.62 0.51 0.30 0.06 0.00 0.00 0.00 0.10 0.23 0.26 0.17 0.01 0.00 0.00 0.00 0.00 0.07 0.17 0.21 0.19 0.17 0.18 0.25 0.35 0.44 0.48 0.45 0.41 0.39 0.43 0.53 0.65 0.72 0.71 0.63 0.52 0.46 0.49 0.58 0.68 0.71 0.62 0.45 0.27 0.18 0.21 0.35 0.51 0.61 0.59 0.49 0.39 0.35 0.41 0.54 0.65 0.70 0.65 0.55 0.46 0.45 0.51 0.60 0.65 0.63 0.51 0.37 0.26 0.24 0.33 0.47 0.59 0.62 0.51 0.30 0.06 0.00 0.00 0.00 0.10 0.23 0.26 0.17 0.01 0.00 0.00 0.00 0.00 0.07 45.0 + 47.5 0.19 0.28 0.29 0.27 0.25 0.29 0.37 0.48 0.54 0.54 0.47 0.38 0.33 0.34 0.40 0.46 0.46 0.37 0.22 0.07 0.00 0.00 0.10 0.21 0.25 0.17 0.01 0.00 0.00 0.00 0.17 0.42 0.59 0.62 0.52 0.38 0.29 0.31 0.42 0.57 0.67 0.69 0.63 0.55 0.52 0.56 0.65 0.72 0.72 0.61 0.45 0.31 0.27 0.34 0.50 0.64 0.68 0.56 0.32 0.05 0.00 0.00 0.00 0.05 0.18 0.21 0.12 0.00 0.00 0.00 0.00 0.05 0.19 0.28 0.29 0.27 0.25 0.29 0.37 0.48 0.54 0.54 0.47 0.38 0.33 0.34 0.40 0.46 0.46 0.37 0.22 0.07 0.00 0.00 0.10 0.21 0.25 0.17 0.01 0.00 0.00 0.00 0.17 0.42 0.59 0.62 0.52 0.38 0.29 0.31 0.42 0.57 0.67 0.69 0.63 0.55 0.52 0.56 0.65 0.72 0.72 0.61 0.45 0.31 0.27 0.34 0.50 0.64 0.68 0.56 0.32 0.05 0.00 0.00 0.00 0.05 0.18 0.21 0.12 0.00 0.00 0.00 0.00 0.05 0.19 47.5 + 50.0 0.36 0.42 0.40 0.34 0.30 0.33 0.42 0.52 0.58 0.56 0.47 0.37 0.30 0.29 0.32 0.34 0.31 0.20 0.04 0.00 0.00 0.00 0.04 0.17 0.22 0.15 0.00 0.00 0.00 0.00 0.21 0.49 0.69 0.72 0.61 0.42 0.28 0.26 0.38 0.56 0.71 0.77 0.73 0.64 0.56 0.56 0.63 0.71 0.73 0.65 0.49 0.33 0.25 0.31 0.46 0.62 0.69 0.59 0.36 0.08 0.00 0.00 0.00 0.05 0.17 0.18 0.10 0.00 0.00 0.00 0.05 0.22 0.36 0.42 0.40 0.34 0.30 0.33 0.42 0.52 0.58 0.56 0.47 0.37 0.30 0.29 0.32 0.34 0.31 0.20 0.04 0.00 0.00 0.00 0.04 0.17 0.22 0.15 0.00 0.00 0.00 0.00 0.21 0.49 0.69 0.72 0.61 0.42 0.28 0.26 0.38 0.56 0.71 0.77 0.73 0.64 0.56 0.56 0.63 0.71 0.73 0.65 0.49 0.33 0.25 0.31 0.46 0.62 0.69 0.59 0.36 0.08 0.00 0.00 0.00 0.05 0.17 0.18 0.10 0.00 0.00 0.00 0.05 0.22 0.36 50.0 + 52.5 0.55 0.56 0.48 0.37 0.29 0.30 0.37 0.47 0.54 0.53 0.47 0.39 0.33 0.32 0.34 0.35 0.30 0.20 0.07 0.00 0.00 0.08 0.24 0.38 0.43 0.36 0.20 0.05 0.00 0.10 0.32 0.57 0.74 0.76 0.63 0.43 0.27 0.24 0.36 0.57 0.78 0.88 0.85 0.73 0.61 0.55 0.59 0.67 0.71 0.66 0.50 0.33 0.22 0.24 0.38 0.56 0.66 0.61 0.42 0.17 0.00 0.00 0.00 0.14 0.25 0.26 0.18 0.08 0.03 0.09 0.25 0.43 0.55 0.56 0.48 0.37 0.29 0.30 0.37 0.47 0.54 0.53 0.47 0.39 0.33 0.32 0.34 0.35 0.30 0.20 0.07 0.00 0.00 0.08 0.24 0.38 0.43 0.36 0.20 0.05 0.00 0.10 0.32 0.57 0.74 0.76 0.63 0.43 0.27 0.24 0.36 0.57 0.78 0.88 0.85 0.73 0.61 0.55 0.59 0.67 0.71 0.66 0.50 0.33 0.22 0.24 0.38 0.56 0.66 0.61 0.42 0.17 0.00 0.00 0.00 0.14 0.25 0.26 0.18 0.08 0.03 0.09 0.25 0.43 0.55 52.5 + 55.0 0.71 0.66 0.52 0.35 0.22 0.19 0.25 0.35 0.43 0.47 0.46 0.43 0.42 0.43 0.45 0.45 0.41 0.33 0.24 0.21 0.25 0.37 0.52 0.64 0.66 0.57 0.41 0.25 0.17 0.21 0.37 0.55 0.68 0.68 0.55 0.36 0.21 0.20 0.34 0.59 0.83 0.97 0.96 0.83 0.67 0.58 0.58 0.66 0.72 0.69 0.55 0.36 0.22 0.21 0.33 0.51 0.65 0.66 0.54 0.35 0.20 0.16 0.24 0.37 0.47 0.48 0.40 0.30 0.27 0.33 0.48 0.63 0.71 0.66 0.52 0.35 0.22 0.19 0.25 0.35 0.43 0.47 0.46 0.43 0.42 0.43 0.45 0.45 0.41 0.33 0.24 0.21 0.25 0.37 0.52 0.64 0.66 0.57 0.41 0.25 0.17 0.21 0.37 0.55 0.68 0.68 0.55 0.36 0.21 0.20 0.34 0.59 0.83 0.97 0.96 0.83 0.67 0.58 0.58 0.66 0.72 0.69 0.55 0.36 0.22 0.21 0.33 0.51 0.65 0.66 0.54 0.35 0.20 0.16 0.24 0.37 0.47 0.48 0.40 0.30 0.27 0.33 0.48 0.63 0.71 55.0 + 57.5 0.80 0.70 0.51 0.28 0.12 0.05 0.09 0.18 0.29 0.37 0.42 0.46 0.49 0.53 0.56 0.56 0.53 0.48 0.44 0.45 0.52 0.63 0.74 0.79 0.77 0.67 0.51 0.37 0.28 0.28 0.36 0.46 0.52 0.49 0.38 0.23 0.12 0.14 0.30 0.56 0.82 0.98 1.00 0.89 0.74 0.64 0.64 0.72 0.80 0.79 0.68 0.50 0.35 0.32 0.42 0.60 0.77 0.83 0.77 0.65 0.54 0.52 0.60 0.72 0.81 0.80 0.72 0.61 0.56 0.60 0.70 0.79 0.80 0.70 0.51 0.28 0.12 0.05 0.09 0.18 0.29 0.37 0.42 0.46 0.49 0.53 0.56 0.56 0.53 0.48 0.44 0.45 0.52 0.63 0.74 0.79 0.77 0.67 0.51 0.37 0.28 0.28 0.36 0.46 0.52 0.49 0.38 0.23 0.12 0.14 0.30 0.56 0.82 0.98 1.00 0.89 0.74 0.64 0.64 0.72 0.80 0.79 0.68 0.50 0.35 0.32 0.42 0.60 0.77 0.83 0.77 0.65 0.54 0.52 0.60 0.72 0.81 0.80 0.72 0.61 0.56 0.60 0.70 0.79 0.80 57.5 + 60.0 0.82 0.68 0.45 0.21 0.03 0.00 0.00 0.03 0.14 0.24 0.34 0.42 0.49 0.55 0.58 0.59 0.57 0.55 0.55 0.60 0.67 0.75 0.79 0.78 0.72 0.62 0.51 0.42 0.35 0.33 0.34 0.35 0.34 0.29 0.19 0.08 0.02 0.06 0.21 0.45 0.71 0.89 0.94 0.89 0.79 0.74 0.77 0.87 0.97 1.01 0.94 0.81 0.69 0.66 0.75 0.91 1.08 1.16 1.15 1.06 0.98 0.97 1.03 1.12 1.18 1.16 1.05 0.92 0.83 0.80 0.84 0.86 0.82 0.68 0.45 0.21 0.03 0.00 0.00 0.03 0.14 0.24 0.34 0.42 0.49 0.55 0.58 0.59 0.57 0.55 0.55 0.60 0.67 0.75 0.79 0.78 0.72 0.62 0.51 0.42 0.35 0.33 0.34 0.35 0.34 0.29 0.19 0.08 0.02 0.06 0.21 0.45 0.71 0.89 0.94 0.89 0.79 0.74 0.77 0.87 0.97 1.01 0.94 0.81 0.69 0.66 0.75 0.91 1.08 1.16 1.15 1.06 0.98 0.97 1.03 1.12 1.18 1.16 1.05 0.92 0.83 0.80 0.84 0.86 0.82 60.0 + 62.5 0.76 0.61 0.40 0.17 0.00 0.00 0.00 0.00 0.02 0.11 0.21 0.30 0.38 0.44 0.47 0.46 0.45 0.46 0.51 0.58 0.66 0.69 0.67 0.61 0.53 0.46 0.42 0.40 0.39 0.36 0.32 0.26 0.19 0.11 0.03 0.00 0.00 0.00 0.08 0.28 0.51 0.70 0.81 0.84 0.84 0.86 0.95 1.10 1.26 1.36 1.37 1.32 1.26 1.25 1.33 1.46 1.59 1.65 1.62 1.52 1.43 1.39 1.42 1.47 1.49 1.44 1.31 1.14 0.99 0.90 0.87 0.84 0.76 0.61 0.40 0.17 0.00 0.00 0.00 0.00 0.02 0.11 0.21 0.30 0.38 0.44 0.47 0.46 0.45 0.46 0.51 0.58 0.66 0.69 0.67 0.61 0.53 0.46 0.42 0.40 0.39 0.36 0.32 0.26 0.19 0.11 0.03 0.00 0.00 0.00 0.08 0.28 0.51 0.70 0.81 0.84 0.84 0.86 0.95 1.10 1.26 1.36 1.37 1.32 1.26 1.25 1.33 1.46 1.59 1.65 1.62 1.52 1.43 1.39 1.42 1.47 1.49 1.44 1.31 1.14 0.99 0.90 0.87 0.84 0.76 62.5 + 65.0 0.66 0.53 0.35 0.17 0.03 0.00 0.00 0.00 0.00 0.02 0.08 0.15 0.21 0.24 0.24 0.22 0.21 0.24 0.32 0.42 0.48 0.49 0.43 0.33 0.26 0.23 0.27 0.33 0.36 0.34 0.27 0.16 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.49 0.67 0.82 0.94 1.07 1.25 1.47 1.69 1.87 1.98 2.02 2.03 2.05 2.10 2.17 2.22 2.20 2.09 1.94 1.79 1.70 1.67 1.68 1.66 1.58 1.42 1.22 1.03 0.89 0.80 0.74 0.66 0.53 0.35 0.17 0.03 0.00 0.00 0.00 0.00 0.02 0.08 0.15 0.21 0.24 0.24 0.22 0.21 0.24 0.32 0.42 0.48 0.49 0.43 0.33 0.26 0.23 0.27 0.33 0.36 0.34 0.27 0.16 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.49 0.67 0.82 0.94 1.07 1.25 1.47 1.69 1.87 1.98 2.02 2.03 2.05 2.10 2.17 2.22 2.20 2.09 1.94 1.79 1.70 1.67 1.68 1.66 1.58 1.42 1.22 1.03 0.89 0.80 0.74 0.66 65.0 + 67.5 0.55 0.46 0.34 0.22 0.12 0.05 0.02 0.00 0.00 0.00 0.03 0.05 0.07 0.06 0.02 0.00 0.00 0.00 0.09 0.20 0.25 0.23 0.14 0.03 0.00 0.00 0.08 0.19 0.26 0.24 0.14 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.40 0.68 0.94 1.19 1.44 1.70 2.00 2.29 2.56 2.75 2.86 2.91 2.92 2.91 2.88 2.81 2.67 2.46 2.22 2.00 1.83 1.75 1.71 1.67 1.57 1.40 1.18 0.96 0.79 0.69 0.62 0.55 0.46 0.34 0.22 0.12 0.05 0.02 0.00 0.00 0.00 0.03 0.05 0.07 0.06 0.02 0.00 0.00 0.00 0.09 0.20 0.25 0.23 0.14 0.03 0.00 0.00 0.08 0.19 0.26 0.24 0.14 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.40 0.68 0.94 1.19 1.44 1.70 2.00 2.29 2.56 2.75 2.86 2.91 2.92 2.91 2.88 2.81 2.67 2.46 2.22 2.00 1.83 1.75 1.71 1.67 1.57 1.40 1.18 0.96 0.79 0.69 0.62 0.55 67.5 + 70.0 0.49 0.44 0.38 0.31 0.25 0.20 0.17 0.14 0.11 0.10 0.10 0.10 0.08 0.02 0.00 0.00 0.00 0.00 0.00 0.07 0.12 0.07 0.00 0.00 0.00 0.00 0.00 0.04 0.10 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.54 0.92 1.30 1.66 2.00 2.34 2.68 3.03 3.35 3.59 3.73 3.76 3.70 3.58 3.42 3.22 2.95 2.65 2.32 2.01 1.79 1.65 1.59 1.54 1.45 1.29 1.08 0.87 0.70 0.59 0.54 0.49 0.44 0.38 0.31 0.25 0.20 0.17 0.14 0.11 0.10 0.10 0.10 0.08 0.02 0.00 0.00 0.00 0.00 0.00 0.07 0.12 0.07 0.00 0.00 0.00 0.00 0.00 0.04 0.10 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.54 0.92 1.30 1.66 2.00 2.34 2.68 3.03 3.35 3.59 3.73 3.76 3.70 3.58 3.42 3.22 2.95 2.65 2.32 2.01 1.79 1.65 1.59 1.54 1.45 1.29 1.08 0.87 0.70 0.59 0.54 0.49 70.0 + 72.5 0.50 0.48 0.45 0.41 0.38 0.35 0.33 0.31 0.29 0.29 0.30 0.30 0.27 0.19 0.07 0.00 0.00 0.00 0.07 0.17 0.20 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.48 0.90 1.38 1.86 2.29 2.68 3.04 3.41 3.77 4.10 4.34 4.45 4.40 4.23 3.97 3.67 3.34 2.99 2.61 2.23 1.88 1.62 1.45 1.37 1.33 1.27 1.15 0.99 0.81 0.66 0.57 0.53 0.50 0.48 0.45 0.41 0.38 0.35 0.33 0.31 0.29 0.29 0.30 0.30 0.27 0.19 0.07 0.00 0.00 0.00 0.07 0.17 0.20 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.48 0.90 1.38 1.86 2.29 2.68 3.04 3.41 3.77 4.10 4.34 4.45 4.40 4.23 3.97 3.67 3.34 2.99 2.61 2.23 1.88 1.62 1.45 1.37 1.33 1.27 1.15 0.99 0.81 0.66 0.57 0.53 0.50 72.5 + 75.0 0.57 0.57 0.55 0.53 0.51 0.48 0.46 0.45 0.46 0.50 0.56 0.61 0.60 0.51 0.37 0.25 0.20 0.26 0.39 0.51 0.53 0.43 0.25 0.06 0.00 0.00 0.04 0.08 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.19 0.31 0.54 0.91 1.40 1.94 2.46 2.91 3.28 3.62 3.95 4.28 4.59 4.79 4.83 4.68 4.38 3.97 3.54 3.14 2.75 2.38 2.01 1.66 1.38 1.20 1.11 1.09 1.08 1.03 0.93 0.81 0.69 0.62 0.59 0.57 0.57 0.55 0.53 0.51 0.48 0.46 0.45 0.46 0.50 0.56 0.61 0.60 0.51 0.37 0.25 0.20 0.26 0.39 0.51 0.53 0.43 0.25 0.06 0.00 0.00 0.04 0.08 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.19 0.31 0.54 0.91 1.40 1.94 2.46 2.91 3.28 3.62 3.95 4.28 4.59 4.79 4.83 4.68 4.38 3.97 3.54 3.14 2.75 2.38 2.01 1.66 1.38 1.20 1.11 1.09 1.08 1.03 0.93 0.81 0.69 0.62 0.59 0.57 75.0 + 77.5 0.66 0.66 0.65 0.63 0.60 0.57 0.53 0.52 0.56 0.65 0.78 0.90 0.93 0.86 0.71 0.58 0.54 0.63 0.81 0.98 1.02 0.92 0.70 0.48 0.35 0.33 0.37 0.37 0.26 0.06 0.00 0.00 0.00 0.00 0.18 0.40 0.55 0.64 0.76 0.98 1.35 1.85 2.39 2.89 3.29 3.59 3.83 4.08 4.36 4.62 4.78 4.76 4.51 4.08 3.57 3.06 2.64 2.30 2.00 1.71 1.41 1.13 0.93 0.84 0.83 0.87 0.89 0.88 0.83 0.76 0.71 0.67 0.66 0.66 0.65 0.63 0.60 0.57 0.53 0.52 0.56 0.65 0.78 0.90 0.93 0.86 0.71 0.58 0.54 0.63 0.81 0.98 1.02 0.92 0.70 0.48 0.35 0.33 0.37 0.37 0.26 0.06 0.00 0.00 0.00 0.00 0.18 0.40 0.55 0.64 0.76 0.98 1.35 1.85 2.39 2.89 3.29 3.59 3.83 4.08 4.36 4.62 4.78 4.76 4.51 4.08 3.57 3.06 2.64 2.30 2.00 1.71 1.41 1.13 0.93 0.84 0.83 0.87 0.89 0.88 0.83 0.76 0.71 0.67 0.66 77.5 + 80.0 0.72 0.71 0.71 0.70 0.65 0.59 0.51 0.48 0.52 0.66 0.86 1.05 1.14 1.09 0.94 0.79 0.76 0.90 1.15 1.39 1.48 1.39 1.15 0.90 0.74 0.71 0.74 0.73 0.61 0.38 0.14 0.01 0.08 0.31 0.63 0.92 1.09 1.17 1.23 1.38 1.67 2.09 2.57 2.99 3.28 3.46 3.57 3.71 3.91 4.13 4.27 4.22 3.92 3.42 2.84 2.32 1.94 1.70 1.54 1.37 1.15 0.89 0.67 0.55 0.54 0.62 0.73 0.81 0.83 0.81 0.77 0.73 0.72 0.71 0.71 0.70 0.65 0.59 0.51 0.48 0.52 0.66 0.86 1.05 1.14 1.09 0.94 0.79 0.76 0.90 1.15 1.39 1.48 1.39 1.15 0.90 0.74 0.71 0.74 0.73 0.61 0.38 0.14 0.01 0.08 0.31 0.63 0.92 1.09 1.17 1.23 1.38 1.67 2.09 2.57 2.99 3.28 3.46 3.57 3.71 3.91 4.13 4.27 4.22 3.92 3.42 2.84 2.32 1.94 1.70 1.54 1.37 1.15 0.89 0.67 0.55 0.54 0.62 0.73 0.81 0.83 0.81 0.77 0.73 0.72 80.0 + 82.5 0.71 0.71 0.72 0.71 0.65 0.54 0.41 0.32 0.34 0.50 0.76 1.01 1.15 1.11 0.95 0.79 0.76 0.93 1.26 1.58 1.74 1.67 1.43 1.15 0.98 0.95 1.00 1.03 0.94 0.72 0.49 0.37 0.46 0.74 1.12 1.45 1.63 1.66 1.62 1.63 1.78 2.07 2.43 2.74 2.91 2.95 2.92 2.94 3.07 3.26 3.41 3.38 3.08 2.57 1.98 1.48 1.18 1.08 1.07 1.04 0.90 0.67 0.42 0.25 0.23 0.35 0.52 0.68 0.78 0.80 0.77 0.73 0.71 0.71 0.72 0.71 0.65 0.54 0.41 0.32 0.34 0.50 0.76 1.01 1.15 1.11 0.95 0.79 0.76 0.93 1.26 1.58 1.74 1.67 1.43 1.15 0.98 0.95 1.00 1.03 0.94 0.72 0.49 0.37 0.46 0.74 1.12 1.45 1.63 1.66 1.62 1.63 1.78 2.07 2.43 2.74 2.91 2.95 2.92 2.94 3.07 3.26 3.41 3.38 3.08 2.57 1.98 1.48 1.18 1.08 1.07 1.04 0.90 0.67 0.42 0.25 0.23 0.35 0.52 0.68 0.78 0.80 0.77 0.73 0.71 82.5 + 85.0 0.65 0.66 0.69 0.68 0.61 0.45 0.25 0.10 0.09 0.24 0.53 0.83 1.00 0.97 0.78 0.58 0.54 0.73 1.10 1.50 1.73 1.71 1.47 1.19 1.00 0.98 1.09 1.18 1.16 1.00 0.80 0.70 0.81 1.13 1.54 1.90 2.08 2.05 1.88 1.73 1.71 1.85 2.08 2.28 2.35 2.27 2.13 2.05 2.11 2.29 2.48 2.50 2.26 1.78 1.22 0.75 0.52 0.54 0.67 0.77 0.70 0.48 0.20 0.00 0.00 0.07 0.30 0.53 0.69 0.74 0.72 0.68 0.65 0.66 0.69 0.68 0.61 0.45 0.25 0.10 0.09 0.24 0.53 0.83 1.00 0.97 0.78 0.58 0.54 0.73 1.10 1.50 1.73 1.71 1.47 1.19 1.00 0.98 1.09 1.18 1.16 1.00 0.80 0.70 0.81 1.13 1.54 1.90 2.08 2.05 1.88 1.73 1.71 1.85 2.08 2.28 2.35 2.27 2.13 2.05 2.11 2.29 2.48 2.50 2.26 1.78 1.22 0.75 0.52 0.54 0.67 0.77 0.70 0.48 0.20 0.00 0.00 0.07 0.30 0.53 0.69 0.74 0.72 0.68 0.65 85.0 + 87.5 0.58 0.60 0.64 0.64 0.56 0.37 0.12 0.00 0.00 0.00 0.28 0.60 0.79 0.76 0.55 0.31 0.23 0.42 0.82 1.27 1.57 1.60 1.40 1.11 0.92 0.92 1.06 1.23 1.30 1.21 1.06 0.98 1.09 1.41 1.84 2.21 2.37 2.28 2.01 1.71 1.53 1.54 1.67 1.80 1.82 1.69 1.48 1.33 1.35 1.53 1.76 1.86 1.70 1.27 0.74 0.31 0.12 0.21 0.43 0.61 0.60 0.39 0.08 0.00 0.00 0.00 0.13 0.40 0.59 0.67 0.66 0.61 0.58 0.60 0.64 0.64 0.56 0.37 0.12 0.00 0.00 0.00 0.28 0.60 0.79 0.76 0.55 0.31 0.23 0.42 0.82 1.27 1.57 1.60 1.40 1.11 0.92 0.92 1.06 1.23 1.30 1.21 1.06 0.98 1.09 1.41 1.84 2.21 2.37 2.28 2.01 1.71 1.53 1.54 1.67 1.80 1.82 1.69 1.48 1.33 1.35 1.53 1.76 1.86 1.70 1.27 0.74 0.31 0.12 0.21 0.43 0.61 0.60 0.39 0.08 0.00 0.00 0.00 0.13 0.40 0.59 0.67 0.66 0.61 0.58 87.5 + 90.0 0.55 0.58 0.62 0.63 0.55 0.34 0.07 0.00 0.00 0.00 0.11 0.43 0.63 0.61 0.39 0.14 0.04 0.22 0.64 1.13 1.49 1.58 1.42 1.15 0.97 0.96 1.13 1.35 1.47 1.45 1.33 1.24 1.32 1.60 1.99 2.33 2.47 2.33 1.99 1.60 1.32 1.24 1.33 1.45 1.47 1.35 1.13 0.96 0.97 1.15 1.42 1.58 1.49 1.13 0.64 0.22 0.04 0.14 0.39 0.61 0.63 0.43 0.11 0.00 0.00 0.00 0.07 0.34 0.55 0.63 0.62 0.58 0.55 0.58 0.62 0.63 0.55 0.34 0.07 0.00 0.00 0.00 0.11 0.43 0.63 0.61 0.39 0.14 0.04 0.22 0.64 1.13 1.49 1.58 1.42 1.15 0.97 0.96 1.13 1.35 1.47 1.45 1.33 1.24 1.32 1.60 1.99 2.33 2.47 2.33 1.99 1.60 1.32 1.24 1.33 1.45 1.47 1.35 1.13 0.96 0.97 1.15 1.42 1.58 1.49 1.13 0.64 0.22 0.04 0.14 0.39 0.61 0.63 0.43 0.11 0.00 0.00 0.00 0.07 0.34 0.55 0.63 0.62 0.58 0.55 90.0 + + 62.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 4.99 ) PHI2 = 63. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.0 + 2.5 0.36 0.39 0.49 0.65 0.85 1.06 1.28 1.53 1.78 2.03 2.21 2.29 2.25 2.09 1.86 1.61 1.37 1.15 0.93 0.72 0.55 0.43 0.38 0.37 0.34 0.23 0.04 0.00 0.00 0.00 0.00 0.00 0.05 0.25 0.37 0.40 0.41 0.45 0.55 0.72 0.92 1.13 1.36 1.59 1.83 2.05 2.20 2.24 2.17 1.99 1.76 1.51 1.27 1.05 0.84 0.65 0.50 0.41 0.39 0.40 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.36 0.36 0.39 0.49 0.65 0.85 1.06 1.28 1.53 1.78 2.03 2.21 2.29 2.25 2.09 1.86 1.61 1.37 1.15 0.93 0.72 0.55 0.43 0.38 0.37 0.34 0.23 0.04 0.00 0.00 0.00 0.00 0.00 0.05 0.25 0.37 0.40 0.41 0.45 0.55 0.72 0.92 1.13 1.36 1.59 1.83 2.05 2.20 2.24 2.17 1.99 1.76 1.51 1.27 1.05 0.84 0.65 0.50 0.41 0.39 0.40 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.36 0.36 2.5 + 5.0 0.29 0.29 0.36 0.50 0.69 0.91 1.15 1.43 1.74 2.05 2.30 2.44 2.42 2.28 2.04 1.77 1.49 1.24 1.01 0.79 0.61 0.48 0.42 0.40 0.38 0.31 0.16 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.46 0.50 0.50 0.52 0.60 0.74 0.94 1.17 1.42 1.68 1.92 2.13 2.24 2.25 2.13 1.92 1.65 1.38 1.12 0.88 0.67 0.51 0.40 0.38 0.42 0.48 0.50 0.43 0.27 0.06 0.00 0.00 0.00 0.09 0.26 0.37 0.39 0.34 0.29 0.29 0.36 0.50 0.69 0.91 1.15 1.43 1.74 2.05 2.30 2.44 2.42 2.28 2.04 1.77 1.49 1.24 1.01 0.79 0.61 0.48 0.42 0.40 0.38 0.31 0.16 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.46 0.50 0.50 0.52 0.60 0.74 0.94 1.17 1.42 1.68 1.92 2.13 2.24 2.25 2.13 1.92 1.65 1.38 1.12 0.88 0.67 0.51 0.40 0.38 0.42 0.48 0.50 0.43 0.27 0.06 0.00 0.00 0.00 0.09 0.26 0.37 0.39 0.34 0.29 5.0 + 7.5 0.24 0.20 0.24 0.35 0.52 0.73 0.98 1.29 1.66 2.04 2.37 2.58 2.63 2.51 2.28 1.99 1.70 1.44 1.20 0.99 0.81 0.67 0.60 0.58 0.58 0.55 0.45 0.29 0.13 0.03 0.04 0.16 0.35 0.53 0.65 0.69 0.67 0.66 0.69 0.79 0.97 1.20 1.48 1.76 2.01 2.19 2.26 2.21 2.04 1.80 1.52 1.23 0.95 0.70 0.50 0.37 0.33 0.38 0.49 0.60 0.65 0.60 0.47 0.30 0.19 0.16 0.24 0.37 0.47 0.50 0.45 0.34 0.24 0.20 0.24 0.35 0.52 0.73 0.98 1.29 1.66 2.04 2.37 2.58 2.63 2.51 2.28 1.99 1.70 1.44 1.20 0.99 0.81 0.67 0.60 0.58 0.58 0.55 0.45 0.29 0.13 0.03 0.04 0.16 0.35 0.53 0.65 0.69 0.67 0.66 0.69 0.79 0.97 1.20 1.48 1.76 2.01 2.19 2.26 2.21 2.04 1.80 1.52 1.23 0.95 0.70 0.50 0.37 0.33 0.38 0.49 0.60 0.65 0.60 0.47 0.30 0.19 0.16 0.24 0.37 0.47 0.50 0.45 0.34 0.24 7.5 + 10.0 0.25 0.19 0.20 0.27 0.40 0.57 0.81 1.12 1.52 1.96 2.36 2.65 2.76 2.70 2.50 2.24 1.96 1.73 1.52 1.34 1.18 1.06 0.98 0.96 0.98 0.98 0.92 0.80 0.63 0.50 0.46 0.52 0.67 0.83 0.93 0.96 0.91 0.84 0.80 0.85 0.99 1.23 1.51 1.80 2.04 2.17 2.19 2.09 1.90 1.65 1.37 1.10 0.83 0.59 0.41 0.32 0.34 0.45 0.60 0.74 0.79 0.73 0.61 0.48 0.40 0.42 0.51 0.61 0.66 0.62 0.51 0.37 0.25 0.19 0.20 0.27 0.40 0.57 0.81 1.12 1.52 1.96 2.36 2.65 2.76 2.70 2.50 2.24 1.96 1.73 1.52 1.34 1.18 1.06 0.98 0.96 0.98 0.98 0.92 0.80 0.63 0.50 0.46 0.52 0.67 0.83 0.93 0.96 0.91 0.84 0.80 0.85 0.99 1.23 1.51 1.80 2.04 2.17 2.19 2.09 1.90 1.65 1.37 1.10 0.83 0.59 0.41 0.32 0.34 0.45 0.60 0.74 0.79 0.73 0.61 0.48 0.40 0.42 0.51 0.61 0.66 0.62 0.51 0.37 0.25 10.0 + 12.5 0.30 0.24 0.23 0.27 0.34 0.46 0.65 0.93 1.32 1.77 2.21 2.56 2.75 2.76 2.63 2.43 2.23 2.05 1.91 1.78 1.65 1.54 1.46 1.44 1.47 1.50 1.47 1.36 1.19 1.01 0.91 0.91 1.01 1.15 1.24 1.24 1.15 1.02 0.92 0.90 1.01 1.23 1.51 1.79 2.00 2.09 2.06 1.92 1.71 1.48 1.25 1.01 0.78 0.57 0.42 0.37 0.42 0.57 0.73 0.85 0.86 0.77 0.64 0.53 0.50 0.56 0.67 0.75 0.77 0.69 0.56 0.42 0.30 0.24 0.23 0.27 0.34 0.46 0.65 0.93 1.32 1.77 2.21 2.56 2.75 2.76 2.63 2.43 2.23 2.05 1.91 1.78 1.65 1.54 1.46 1.44 1.47 1.50 1.47 1.36 1.19 1.01 0.91 0.91 1.01 1.15 1.24 1.24 1.15 1.02 0.92 0.90 1.01 1.23 1.51 1.79 2.00 2.09 2.06 1.92 1.71 1.48 1.25 1.01 0.78 0.57 0.42 0.37 0.42 0.57 0.73 0.85 0.86 0.77 0.64 0.53 0.50 0.56 0.67 0.75 0.77 0.69 0.56 0.42 0.30 12.5 + 15.0 0.36 0.31 0.29 0.29 0.31 0.36 0.49 0.72 1.07 1.49 1.93 2.31 2.56 2.66 2.62 2.52 2.40 2.31 2.23 2.14 2.04 1.93 1.85 1.83 1.86 1.90 1.90 1.80 1.61 1.40 1.25 1.21 1.27 1.38 1.46 1.44 1.31 1.14 0.98 0.93 1.01 1.22 1.49 1.75 1.93 1.97 1.90 1.73 1.53 1.33 1.15 0.97 0.78 0.61 0.49 0.46 0.54 0.69 0.83 0.89 0.84 0.71 0.56 0.48 0.50 0.60 0.73 0.81 0.80 0.71 0.57 0.45 0.36 0.31 0.29 0.29 0.31 0.36 0.49 0.72 1.07 1.49 1.93 2.31 2.56 2.66 2.62 2.52 2.40 2.31 2.23 2.14 2.04 1.93 1.85 1.83 1.86 1.90 1.90 1.80 1.61 1.40 1.25 1.21 1.27 1.38 1.46 1.44 1.31 1.14 0.98 0.93 1.01 1.22 1.49 1.75 1.93 1.97 1.90 1.73 1.53 1.33 1.15 0.97 0.78 0.61 0.49 0.46 0.54 0.69 0.83 0.89 0.84 0.71 0.56 0.48 0.50 0.60 0.73 0.81 0.80 0.71 0.57 0.45 0.36 15.0 + 17.5 0.36 0.32 0.30 0.27 0.23 0.24 0.31 0.49 0.77 1.15 1.56 1.93 2.22 2.39 2.45 2.46 2.44 2.42 2.39 2.32 2.22 2.09 2.00 1.97 2.01 2.07 2.08 1.98 1.80 1.57 1.40 1.33 1.37 1.46 1.51 1.47 1.32 1.13 0.96 0.91 1.00 1.21 1.49 1.73 1.88 1.88 1.77 1.59 1.40 1.23 1.08 0.94 0.79 0.64 0.55 0.54 0.62 0.75 0.85 0.85 0.74 0.57 0.43 0.38 0.46 0.61 0.75 0.81 0.77 0.66 0.53 0.42 0.36 0.32 0.30 0.27 0.23 0.24 0.31 0.49 0.77 1.15 1.56 1.93 2.22 2.39 2.45 2.46 2.44 2.42 2.39 2.32 2.22 2.09 2.00 1.97 2.01 2.07 2.08 1.98 1.80 1.57 1.40 1.33 1.37 1.46 1.51 1.47 1.32 1.13 0.96 0.91 1.00 1.21 1.49 1.73 1.88 1.88 1.77 1.59 1.40 1.23 1.08 0.94 0.79 0.64 0.55 0.54 0.62 0.75 0.85 0.85 0.74 0.57 0.43 0.38 0.46 0.61 0.75 0.81 0.77 0.66 0.53 0.42 0.36 17.5 + 20.0 0.28 0.25 0.21 0.15 0.09 0.06 0.10 0.24 0.48 0.79 1.14 1.48 1.78 2.00 2.16 2.27 2.35 2.39 2.38 2.31 2.19 2.04 1.94 1.91 1.97 2.04 2.06 1.97 1.79 1.57 1.40 1.32 1.34 1.39 1.41 1.34 1.19 1.01 0.88 0.86 0.98 1.22 1.50 1.73 1.85 1.84 1.71 1.52 1.34 1.18 1.04 0.91 0.77 0.63 0.55 0.55 0.63 0.74 0.80 0.76 0.61 0.43 0.30 0.31 0.44 0.63 0.78 0.81 0.73 0.58 0.43 0.33 0.28 0.25 0.21 0.15 0.09 0.06 0.10 0.24 0.48 0.79 1.14 1.48 1.78 2.00 2.16 2.27 2.35 2.39 2.38 2.31 2.19 2.04 1.94 1.91 1.97 2.04 2.06 1.97 1.79 1.57 1.40 1.32 1.34 1.39 1.41 1.34 1.19 1.01 0.88 0.86 0.98 1.22 1.50 1.73 1.85 1.84 1.71 1.52 1.34 1.18 1.04 0.91 0.77 0.63 0.55 0.55 0.63 0.74 0.80 0.76 0.61 0.43 0.30 0.31 0.44 0.63 0.78 0.81 0.73 0.58 0.43 0.33 0.28 20.0 + 22.5 0.15 0.11 0.05 0.00 0.00 0.00 0.00 0.01 0.22 0.47 0.75 1.04 1.31 1.58 1.81 2.02 2.19 2.29 2.31 2.24 2.11 1.97 1.89 1.89 1.96 2.04 2.06 1.98 1.79 1.58 1.40 1.30 1.28 1.28 1.25 1.15 1.00 0.85 0.77 0.81 0.98 1.23 1.50 1.72 1.82 1.80 1.67 1.50 1.31 1.16 1.01 0.87 0.72 0.58 0.50 0.51 0.59 0.69 0.72 0.65 0.48 0.31 0.24 0.30 0.48 0.69 0.82 0.81 0.67 0.48 0.31 0.20 0.15 0.11 0.05 0.00 0.00 0.00 0.00 0.01 0.22 0.47 0.75 1.04 1.31 1.58 1.81 2.02 2.19 2.29 2.31 2.24 2.11 1.97 1.89 1.89 1.96 2.04 2.06 1.98 1.79 1.58 1.40 1.30 1.28 1.28 1.25 1.15 1.00 0.85 0.77 0.81 0.98 1.23 1.50 1.72 1.82 1.80 1.67 1.50 1.31 1.16 1.01 0.87 0.72 0.58 0.50 0.51 0.59 0.69 0.72 0.65 0.48 0.31 0.24 0.30 0.48 0.69 0.82 0.81 0.67 0.48 0.31 0.20 0.15 22.5 + 25.0 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.22 0.43 0.66 0.91 1.19 1.50 1.81 2.07 2.25 2.32 2.30 2.21 2.13 2.11 2.16 2.26 2.34 2.34 2.22 2.02 1.78 1.57 1.43 1.34 1.26 1.15 1.01 0.85 0.74 0.72 0.80 0.98 1.21 1.45 1.63 1.71 1.69 1.58 1.43 1.27 1.12 0.97 0.82 0.66 0.53 0.46 0.47 0.56 0.64 0.66 0.57 0.40 0.26 0.22 0.34 0.55 0.76 0.86 0.79 0.61 0.38 0.20 0.09 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.22 0.43 0.66 0.91 1.19 1.50 1.81 2.07 2.25 2.32 2.30 2.21 2.13 2.11 2.16 2.26 2.34 2.34 2.22 2.02 1.78 1.57 1.43 1.34 1.26 1.15 1.01 0.85 0.74 0.72 0.80 0.98 1.21 1.45 1.63 1.71 1.69 1.58 1.43 1.27 1.12 0.97 0.82 0.66 0.53 0.46 0.47 0.56 0.64 0.66 0.57 0.40 0.26 0.22 0.34 0.55 0.76 0.86 0.79 0.61 0.38 0.20 0.09 0.04 25.0 + 27.5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.23 0.40 0.62 0.92 1.29 1.69 2.06 2.35 2.52 2.59 2.61 2.65 2.73 2.86 2.99 3.04 2.98 2.80 2.53 2.23 1.97 1.75 1.56 1.38 1.18 0.99 0.84 0.75 0.75 0.84 0.98 1.15 1.30 1.41 1.46 1.44 1.37 1.26 1.14 1.02 0.89 0.76 0.61 0.50 0.45 0.48 0.56 0.63 0.63 0.53 0.38 0.25 0.25 0.38 0.60 0.78 0.84 0.73 0.51 0.28 0.11 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.23 0.40 0.62 0.92 1.29 1.69 2.06 2.35 2.52 2.59 2.61 2.65 2.73 2.86 2.99 3.04 2.98 2.80 2.53 2.23 1.97 1.75 1.56 1.38 1.18 0.99 0.84 0.75 0.75 0.84 0.98 1.15 1.30 1.41 1.46 1.44 1.37 1.26 1.14 1.02 0.89 0.76 0.61 0.50 0.45 0.48 0.56 0.63 0.63 0.53 0.38 0.25 0.25 0.38 0.60 0.78 0.84 0.73 0.51 0.28 0.11 0.03 0.00 27.5 + 30.0 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.15 0.28 0.47 0.78 1.21 1.69 2.17 2.56 2.85 3.05 3.22 3.40 3.61 3.81 3.95 3.96 3.81 3.53 3.17 2.80 2.47 2.16 1.87 1.59 1.32 1.09 0.94 0.87 0.87 0.92 0.98 1.04 1.07 1.09 1.10 1.08 1.04 0.98 0.91 0.84 0.75 0.66 0.56 0.49 0.47 0.52 0.60 0.65 0.63 0.52 0.37 0.27 0.27 0.41 0.60 0.74 0.75 0.61 0.39 0.18 0.06 0.03 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.15 0.28 0.47 0.78 1.21 1.69 2.17 2.56 2.85 3.05 3.22 3.40 3.61 3.81 3.95 3.96 3.81 3.53 3.17 2.80 2.47 2.16 1.87 1.59 1.32 1.09 0.94 0.87 0.87 0.92 0.98 1.04 1.07 1.09 1.10 1.08 1.04 0.98 0.91 0.84 0.75 0.66 0.56 0.49 0.47 0.52 0.60 0.65 0.63 0.52 0.37 0.27 0.27 0.41 0.60 0.74 0.75 0.61 0.39 0.18 0.06 0.03 0.02 30.0 + 32.5 0.10 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.20 0.30 0.47 0.79 1.24 1.77 2.31 2.78 3.16 3.48 3.78 4.09 4.39 4.64 4.75 4.69 4.44 4.06 3.63 3.21 2.82 2.45 2.10 1.75 1.44 1.21 1.07 1.02 1.02 1.01 0.97 0.89 0.80 0.74 0.69 0.68 0.66 0.64 0.62 0.59 0.56 0.52 0.49 0.48 0.51 0.57 0.64 0.67 0.62 0.50 0.36 0.27 0.28 0.40 0.55 0.64 0.60 0.44 0.23 0.08 0.02 0.05 0.10 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.20 0.30 0.47 0.79 1.24 1.77 2.31 2.78 3.16 3.48 3.78 4.09 4.39 4.64 4.75 4.69 4.44 4.06 3.63 3.21 2.82 2.45 2.10 1.75 1.44 1.21 1.07 1.02 1.02 1.01 0.97 0.89 0.80 0.74 0.69 0.68 0.66 0.64 0.62 0.59 0.56 0.52 0.49 0.48 0.51 0.57 0.64 0.67 0.62 0.50 0.36 0.27 0.28 0.40 0.55 0.64 0.60 0.44 0.23 0.08 0.02 0.05 0.10 32.5 + 35.0 0.16 0.16 0.05 0.00 0.00 0.00 0.00 0.00 0.11 0.25 0.33 0.41 0.58 0.88 1.31 1.84 2.37 2.85 3.25 3.62 3.97 4.34 4.68 4.93 4.99 4.85 4.52 4.08 3.62 3.20 2.81 2.45 2.08 1.73 1.43 1.23 1.14 1.12 1.12 1.06 0.93 0.75 0.57 0.44 0.37 0.36 0.36 0.37 0.36 0.36 0.36 0.37 0.40 0.45 0.52 0.59 0.64 0.64 0.56 0.44 0.31 0.23 0.26 0.36 0.48 0.51 0.43 0.26 0.08 0.00 0.00 0.07 0.16 0.16 0.05 0.00 0.00 0.00 0.00 0.00 0.11 0.25 0.33 0.41 0.58 0.88 1.31 1.84 2.37 2.85 3.25 3.62 3.97 4.34 4.68 4.93 4.99 4.85 4.52 4.08 3.62 3.20 2.81 2.45 2.08 1.73 1.43 1.23 1.14 1.12 1.12 1.06 0.93 0.75 0.57 0.44 0.37 0.36 0.36 0.37 0.36 0.36 0.36 0.37 0.40 0.45 0.52 0.59 0.64 0.64 0.56 0.44 0.31 0.23 0.26 0.36 0.48 0.51 0.43 0.26 0.08 0.00 0.00 0.07 0.16 35.0 + 37.5 0.17 0.19 0.11 0.00 0.00 0.00 0.00 0.10 0.29 0.42 0.49 0.56 0.70 0.96 1.34 1.80 2.25 2.65 2.99 3.30 3.63 3.98 4.29 4.49 4.49 4.28 3.92 3.48 3.06 2.71 2.40 2.10 1.80 1.50 1.25 1.11 1.08 1.11 1.12 1.05 0.88 0.65 0.43 0.28 0.22 0.21 0.23 0.23 0.22 0.20 0.21 0.24 0.31 0.41 0.50 0.58 0.60 0.56 0.45 0.32 0.21 0.17 0.22 0.33 0.41 0.41 0.29 0.11 0.00 0.00 0.00 0.05 0.17 0.19 0.11 0.00 0.00 0.00 0.00 0.10 0.29 0.42 0.49 0.56 0.70 0.96 1.34 1.80 2.25 2.65 2.99 3.30 3.63 3.98 4.29 4.49 4.49 4.28 3.92 3.48 3.06 2.71 2.40 2.10 1.80 1.50 1.25 1.11 1.08 1.11 1.12 1.05 0.88 0.65 0.43 0.28 0.22 0.21 0.23 0.23 0.22 0.20 0.21 0.24 0.31 0.41 0.50 0.58 0.60 0.56 0.45 0.32 0.21 0.17 0.22 0.33 0.41 0.41 0.29 0.11 0.00 0.00 0.00 0.05 0.17 37.5 + 40.0 0.14 0.18 0.12 0.02 0.00 0.00 0.10 0.28 0.46 0.57 0.62 0.66 0.76 0.97 1.27 1.60 1.92 2.17 2.38 2.57 2.81 3.08 3.32 3.44 3.39 3.16 2.80 2.42 2.11 1.89 1.72 1.55 1.35 1.14 0.96 0.88 0.90 0.98 1.02 0.97 0.82 0.60 0.40 0.27 0.23 0.25 0.27 0.26 0.22 0.17 0.15 0.18 0.26 0.38 0.49 0.56 0.55 0.46 0.32 0.17 0.08 0.08 0.17 0.29 0.36 0.33 0.19 0.00 0.00 0.00 0.00 0.02 0.14 0.18 0.12 0.02 0.00 0.00 0.10 0.28 0.46 0.57 0.62 0.66 0.76 0.97 1.27 1.60 1.92 2.17 2.38 2.57 2.81 3.08 3.32 3.44 3.39 3.16 2.80 2.42 2.11 1.89 1.72 1.55 1.35 1.14 0.96 0.88 0.90 0.98 1.02 0.97 0.82 0.60 0.40 0.27 0.23 0.25 0.27 0.26 0.22 0.17 0.15 0.18 0.26 0.38 0.49 0.56 0.55 0.46 0.32 0.17 0.08 0.08 0.17 0.29 0.36 0.33 0.19 0.00 0.00 0.00 0.00 0.02 0.14 40.0 + 42.5 0.13 0.18 0.14 0.08 0.06 0.12 0.27 0.44 0.58 0.65 0.66 0.66 0.72 0.85 1.06 1.27 1.43 1.52 1.57 1.63 1.75 1.93 2.09 2.17 2.08 1.85 1.55 1.27 1.09 1.03 1.03 1.01 0.93 0.80 0.68 0.63 0.68 0.78 0.86 0.85 0.75 0.59 0.43 0.35 0.34 0.38 0.41 0.40 0.34 0.25 0.18 0.18 0.26 0.38 0.51 0.56 0.52 0.38 0.19 0.02 0.00 0.00 0.10 0.24 0.31 0.27 0.12 0.00 0.00 0.00 0.00 0.01 0.13 0.18 0.14 0.08 0.06 0.12 0.27 0.44 0.58 0.65 0.66 0.66 0.72 0.85 1.06 1.27 1.43 1.52 1.57 1.63 1.75 1.93 2.09 2.17 2.08 1.85 1.55 1.27 1.09 1.03 1.03 1.01 0.93 0.80 0.68 0.63 0.68 0.78 0.86 0.85 0.75 0.59 0.43 0.35 0.34 0.38 0.41 0.40 0.34 0.25 0.18 0.18 0.26 0.38 0.51 0.56 0.52 0.38 0.19 0.02 0.00 0.00 0.10 0.24 0.31 0.27 0.12 0.00 0.00 0.00 0.00 0.01 0.13 42.5 + 45.0 0.18 0.23 0.21 0.17 0.19 0.27 0.41 0.56 0.64 0.65 0.60 0.56 0.57 0.64 0.76 0.86 0.89 0.85 0.77 0.73 0.77 0.89 1.02 1.07 0.99 0.79 0.54 0.36 0.31 0.40 0.54 0.65 0.67 0.60 0.50 0.45 0.48 0.57 0.68 0.73 0.70 0.60 0.50 0.44 0.45 0.51 0.56 0.56 0.49 0.38 0.28 0.24 0.29 0.41 0.54 0.59 0.53 0.35 0.11 0.00 0.00 0.00 0.04 0.20 0.28 0.23 0.08 0.00 0.00 0.00 0.00 0.07 0.18 0.23 0.21 0.17 0.19 0.27 0.41 0.56 0.64 0.65 0.60 0.56 0.57 0.64 0.76 0.86 0.89 0.85 0.77 0.73 0.77 0.89 1.02 1.07 0.99 0.79 0.54 0.36 0.31 0.40 0.54 0.65 0.67 0.60 0.50 0.45 0.48 0.57 0.68 0.73 0.70 0.60 0.50 0.44 0.45 0.51 0.56 0.56 0.49 0.38 0.28 0.24 0.29 0.41 0.54 0.59 0.53 0.35 0.11 0.00 0.00 0.00 0.04 0.20 0.28 0.23 0.08 0.00 0.00 0.00 0.00 0.07 0.18 45.0 + 47.5 0.32 0.34 0.31 0.28 0.30 0.39 0.50 0.60 0.63 0.58 0.48 0.40 0.38 0.41 0.47 0.50 0.44 0.32 0.18 0.10 0.12 0.22 0.35 0.41 0.35 0.18 0.00 0.00 0.00 0.08 0.32 0.52 0.60 0.56 0.45 0.36 0.34 0.42 0.54 0.63 0.67 0.63 0.55 0.50 0.50 0.56 0.62 0.65 0.60 0.49 0.37 0.30 0.33 0.43 0.55 0.61 0.54 0.35 0.09 0.00 0.00 0.00 0.02 0.19 0.27 0.23 0.10 0.00 0.00 0.00 0.07 0.22 0.32 0.34 0.31 0.28 0.30 0.39 0.50 0.60 0.63 0.58 0.48 0.40 0.38 0.41 0.47 0.50 0.44 0.32 0.18 0.10 0.12 0.22 0.35 0.41 0.35 0.18 0.00 0.00 0.00 0.08 0.32 0.52 0.60 0.56 0.45 0.36 0.34 0.42 0.54 0.63 0.67 0.63 0.55 0.50 0.50 0.56 0.62 0.65 0.60 0.49 0.37 0.30 0.33 0.43 0.55 0.61 0.54 0.35 0.09 0.00 0.00 0.00 0.02 0.19 0.27 0.23 0.10 0.00 0.00 0.00 0.07 0.22 0.32 47.5 + 50.0 0.50 0.48 0.42 0.37 0.36 0.42 0.51 0.56 0.55 0.47 0.36 0.27 0.24 0.26 0.28 0.26 0.17 0.02 0.00 0.00 0.00 0.00 0.13 0.21 0.17 0.03 0.00 0.00 0.00 0.04 0.30 0.53 0.63 0.60 0.47 0.34 0.28 0.32 0.45 0.59 0.67 0.67 0.60 0.53 0.50 0.53 0.61 0.67 0.66 0.57 0.44 0.34 0.32 0.40 0.52 0.60 0.56 0.38 0.14 0.00 0.00 0.00 0.10 0.26 0.34 0.31 0.20 0.09 0.07 0.15 0.29 0.43 0.50 0.48 0.42 0.37 0.36 0.42 0.51 0.56 0.55 0.47 0.36 0.27 0.24 0.26 0.28 0.26 0.17 0.02 0.00 0.00 0.00 0.00 0.13 0.21 0.17 0.03 0.00 0.00 0.00 0.04 0.30 0.53 0.63 0.60 0.47 0.34 0.28 0.32 0.45 0.59 0.67 0.67 0.60 0.53 0.50 0.53 0.61 0.67 0.66 0.57 0.44 0.34 0.32 0.40 0.52 0.60 0.56 0.38 0.14 0.00 0.00 0.00 0.10 0.26 0.34 0.31 0.20 0.09 0.07 0.15 0.29 0.43 0.50 50.0 + 52.5 0.66 0.59 0.48 0.38 0.34 0.36 0.42 0.45 0.43 0.36 0.28 0.22 0.21 0.23 0.24 0.20 0.10 0.00 0.00 0.00 0.00 0.07 0.23 0.31 0.27 0.14 0.00 0.00 0.00 0.11 0.34 0.55 0.65 0.61 0.47 0.32 0.24 0.27 0.41 0.58 0.70 0.72 0.65 0.55 0.48 0.49 0.57 0.66 0.69 0.62 0.49 0.35 0.30 0.36 0.48 0.58 0.59 0.48 0.30 0.14 0.09 0.17 0.33 0.48 0.55 0.51 0.41 0.33 0.32 0.41 0.54 0.64 0.66 0.59 0.48 0.38 0.34 0.36 0.42 0.45 0.43 0.36 0.28 0.22 0.21 0.23 0.24 0.20 0.10 0.00 0.00 0.00 0.00 0.07 0.23 0.31 0.27 0.14 0.00 0.00 0.00 0.11 0.34 0.55 0.65 0.61 0.47 0.32 0.24 0.27 0.41 0.58 0.70 0.72 0.65 0.55 0.48 0.49 0.57 0.66 0.69 0.62 0.49 0.35 0.30 0.36 0.48 0.58 0.59 0.48 0.30 0.14 0.09 0.17 0.33 0.48 0.55 0.51 0.41 0.33 0.32 0.41 0.54 0.64 0.66 52.5 + 55.0 0.75 0.62 0.44 0.30 0.22 0.22 0.25 0.29 0.29 0.27 0.24 0.24 0.27 0.31 0.32 0.27 0.17 0.06 0.00 0.02 0.13 0.29 0.43 0.48 0.43 0.29 0.14 0.05 0.06 0.18 0.35 0.50 0.57 0.53 0.41 0.27 0.20 0.24 0.39 0.58 0.73 0.77 0.70 0.58 0.49 0.49 0.58 0.69 0.74 0.70 0.57 0.42 0.34 0.37 0.50 0.64 0.72 0.69 0.60 0.51 0.49 0.58 0.73 0.86 0.90 0.85 0.74 0.65 0.63 0.68 0.76 0.80 0.75 0.62 0.44 0.30 0.22 0.22 0.25 0.29 0.29 0.27 0.24 0.24 0.27 0.31 0.32 0.27 0.17 0.06 0.00 0.02 0.13 0.29 0.43 0.48 0.43 0.29 0.14 0.05 0.06 0.18 0.35 0.50 0.57 0.53 0.41 0.27 0.20 0.24 0.39 0.58 0.73 0.77 0.70 0.58 0.49 0.49 0.58 0.69 0.74 0.70 0.57 0.42 0.34 0.37 0.50 0.64 0.72 0.69 0.60 0.51 0.49 0.58 0.73 0.86 0.90 0.85 0.74 0.65 0.63 0.68 0.76 0.80 0.75 55.0 + 57.5 0.74 0.55 0.33 0.15 0.05 0.03 0.06 0.11 0.15 0.18 0.23 0.30 0.37 0.42 0.43 0.37 0.28 0.20 0.17 0.23 0.35 0.48 0.56 0.57 0.49 0.36 0.23 0.15 0.14 0.20 0.29 0.38 0.41 0.37 0.28 0.18 0.14 0.20 0.36 0.56 0.72 0.78 0.74 0.64 0.56 0.57 0.66 0.79 0.88 0.86 0.75 0.61 0.53 0.56 0.70 0.87 1.02 1.07 1.06 1.04 1.05 1.14 1.26 1.35 1.35 1.26 1.12 0.99 0.91 0.90 0.90 0.86 0.74 0.55 0.33 0.15 0.05 0.03 0.06 0.11 0.15 0.18 0.23 0.30 0.37 0.42 0.43 0.37 0.28 0.20 0.17 0.23 0.35 0.48 0.56 0.57 0.49 0.36 0.23 0.15 0.14 0.20 0.29 0.38 0.41 0.37 0.28 0.18 0.14 0.20 0.36 0.56 0.72 0.78 0.74 0.64 0.56 0.57 0.66 0.79 0.88 0.86 0.75 0.61 0.53 0.56 0.70 0.87 1.02 1.07 1.06 1.04 1.05 1.14 1.26 1.35 1.35 1.26 1.12 0.99 0.91 0.90 0.90 0.86 0.74 57.5 + 60.0 0.65 0.42 0.19 0.01 0.00 0.00 0.00 0.00 0.02 0.09 0.19 0.30 0.40 0.46 0.46 0.39 0.31 0.26 0.27 0.35 0.45 0.53 0.56 0.51 0.41 0.31 0.23 0.18 0.17 0.19 0.21 0.22 0.21 0.17 0.12 0.07 0.06 0.14 0.29 0.47 0.63 0.73 0.73 0.69 0.67 0.72 0.84 1.00 1.12 1.15 1.10 1.00 0.95 1.00 1.15 1.35 1.53 1.63 1.66 1.66 1.68 1.73 1.80 1.83 1.78 1.65 1.46 1.27 1.12 1.02 0.94 0.82 0.65 0.42 0.19 0.01 0.00 0.00 0.00 0.00 0.02 0.09 0.19 0.30 0.40 0.46 0.46 0.39 0.31 0.26 0.27 0.35 0.45 0.53 0.56 0.51 0.41 0.31 0.23 0.18 0.17 0.19 0.21 0.22 0.21 0.17 0.12 0.07 0.06 0.14 0.29 0.47 0.63 0.73 0.73 0.69 0.67 0.72 0.84 1.00 1.12 1.15 1.10 1.00 0.95 1.00 1.15 1.35 1.53 1.63 1.66 1.66 1.68 1.73 1.80 1.83 1.78 1.65 1.46 1.27 1.12 1.02 0.94 0.82 0.65 60.0 + 62.5 0.54 0.32 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.22 0.32 0.37 0.34 0.27 0.20 0.18 0.23 0.32 0.41 0.45 0.41 0.32 0.23 0.17 0.15 0.17 0.18 0.17 0.14 0.09 0.04 0.00 0.00 0.00 0.00 0.04 0.16 0.32 0.48 0.61 0.69 0.74 0.80 0.92 1.10 1.30 1.48 1.58 1.61 1.60 1.62 1.70 1.86 2.04 2.20 2.29 2.30 2.27 2.24 2.23 2.22 2.19 2.08 1.90 1.67 1.43 1.22 1.05 0.90 0.73 0.54 0.32 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.22 0.32 0.37 0.34 0.27 0.20 0.18 0.23 0.32 0.41 0.45 0.41 0.32 0.23 0.17 0.15 0.17 0.18 0.17 0.14 0.09 0.04 0.00 0.00 0.00 0.00 0.04 0.16 0.32 0.48 0.61 0.69 0.74 0.80 0.92 1.10 1.30 1.48 1.58 1.61 1.60 1.62 1.70 1.86 2.04 2.20 2.29 2.30 2.27 2.24 2.23 2.22 2.19 2.08 1.90 1.67 1.43 1.22 1.05 0.90 0.73 0.54 62.5 + 65.0 0.47 0.28 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.15 0.17 0.12 0.04 0.00 0.00 0.08 0.19 0.26 0.26 0.18 0.07 0.00 0.00 0.04 0.11 0.16 0.14 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.31 0.49 0.66 0.82 0.99 1.19 1.43 1.70 1.94 2.14 2.27 2.36 2.44 2.55 2.69 2.82 2.90 2.91 2.84 2.72 2.60 2.50 2.42 2.32 2.18 1.97 1.72 1.45 1.21 1.00 0.82 0.65 0.47 0.28 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.15 0.17 0.12 0.04 0.00 0.00 0.08 0.19 0.26 0.26 0.18 0.07 0.00 0.00 0.04 0.11 0.16 0.14 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.31 0.49 0.66 0.82 0.99 1.19 1.43 1.70 1.94 2.14 2.27 2.36 2.44 2.55 2.69 2.82 2.90 2.91 2.84 2.72 2.60 2.50 2.42 2.32 2.18 1.97 1.72 1.45 1.21 1.00 0.82 0.65 0.47 65.0 + 67.5 0.48 0.34 0.21 0.10 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.10 0.07 0.00 0.00 0.00 0.00 0.00 0.02 0.08 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.45 0.72 1.00 1.27 1.56 1.86 2.18 2.49 2.76 2.98 3.15 3.28 3.38 3.45 3.48 3.44 3.33 3.14 2.91 2.68 2.49 2.34 2.21 2.05 1.86 1.62 1.36 1.13 0.93 0.77 0.62 0.48 0.34 0.21 0.10 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.10 0.07 0.00 0.00 0.00 0.00 0.00 0.02 0.08 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.45 0.72 1.00 1.27 1.56 1.86 2.18 2.49 2.76 2.98 3.15 3.28 3.38 3.45 3.48 3.44 3.33 3.14 2.91 2.68 2.49 2.34 2.21 2.05 1.86 1.62 1.36 1.13 0.93 0.77 0.62 0.48 67.5 + 70.0 0.58 0.48 0.38 0.30 0.23 0.17 0.11 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.24 0.58 0.96 1.33 1.68 2.02 2.36 2.71 3.05 3.37 3.64 3.83 3.94 3.98 3.95 3.85 3.68 3.43 3.13 2.80 2.49 2.23 2.04 1.90 1.77 1.62 1.43 1.23 1.04 0.89 0.77 0.67 0.58 0.48 0.38 0.30 0.23 0.17 0.11 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.24 0.58 0.96 1.33 1.68 2.02 2.36 2.71 3.05 3.37 3.64 3.83 3.94 3.98 3.95 3.85 3.68 3.43 3.13 2.80 2.49 2.23 2.04 1.90 1.77 1.62 1.43 1.23 1.04 0.89 0.77 0.67 0.58 70.0 + 72.5 0.73 0.67 0.59 0.52 0.45 0.38 0.30 0.22 0.16 0.13 0.13 0.13 0.11 0.02 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.46 0.89 1.34 1.78 2.17 2.52 2.85 3.18 3.51 3.83 4.09 4.25 4.29 4.22 4.06 3.83 3.54 3.20 2.83 2.46 2.11 1.83 1.63 1.51 1.42 1.34 1.23 1.12 1.00 0.91 0.85 0.79 0.73 0.67 0.59 0.52 0.45 0.38 0.30 0.22 0.16 0.13 0.13 0.13 0.11 0.02 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.46 0.89 1.34 1.78 2.17 2.52 2.85 3.18 3.51 3.83 4.09 4.25 4.29 4.22 4.06 3.83 3.54 3.20 2.83 2.46 2.11 1.83 1.63 1.51 1.42 1.34 1.23 1.12 1.00 0.91 0.85 0.79 0.73 72.5 + 75.0 0.90 0.85 0.79 0.72 0.65 0.57 0.49 0.41 0.37 0.37 0.40 0.44 0.42 0.33 0.19 0.07 0.04 0.12 0.28 0.43 0.48 0.39 0.21 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.16 0.43 0.82 1.30 1.80 2.25 2.63 2.93 3.19 3.45 3.72 3.99 4.19 4.29 4.23 4.04 3.75 3.41 3.05 2.70 2.35 2.00 1.67 1.40 1.21 1.11 1.08 1.07 1.06 1.04 1.01 0.98 0.96 0.94 0.90 0.85 0.79 0.72 0.65 0.57 0.49 0.41 0.37 0.37 0.40 0.44 0.42 0.33 0.19 0.07 0.04 0.12 0.28 0.43 0.48 0.39 0.21 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.16 0.43 0.82 1.30 1.80 2.25 2.63 2.93 3.19 3.45 3.72 3.99 4.19 4.29 4.23 4.04 3.75 3.41 3.05 2.70 2.35 2.00 1.67 1.40 1.21 1.11 1.08 1.07 1.06 1.04 1.01 0.98 0.96 0.94 0.90 75.0 + 77.5 1.04 1.00 0.94 0.88 0.81 0.72 0.63 0.56 0.54 0.59 0.69 0.79 0.81 0.73 0.58 0.44 0.41 0.52 0.71 0.88 0.94 0.83 0.61 0.38 0.21 0.15 0.14 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.29 0.41 0.57 0.83 1.21 1.69 2.17 2.59 2.90 3.10 3.24 3.39 3.57 3.76 3.91 3.93 3.78 3.48 3.10 2.70 2.34 2.05 1.79 1.54 1.29 1.05 0.87 0.78 0.77 0.83 0.91 0.99 1.04 1.07 1.08 1.07 1.04 1.00 0.94 0.88 0.81 0.72 0.63 0.56 0.54 0.59 0.69 0.79 0.81 0.73 0.58 0.44 0.41 0.52 0.71 0.88 0.94 0.83 0.61 0.38 0.21 0.15 0.14 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.29 0.41 0.57 0.83 1.21 1.69 2.17 2.59 2.90 3.10 3.24 3.39 3.57 3.76 3.91 3.93 3.78 3.48 3.10 2.70 2.34 2.05 1.79 1.54 1.29 1.05 0.87 0.78 0.77 0.83 0.91 0.99 1.04 1.07 1.08 1.07 1.04 77.5 + 80.0 1.12 1.09 1.05 1.00 0.92 0.82 0.70 0.62 0.62 0.72 0.90 1.06 1.13 1.07 0.91 0.76 0.72 0.85 1.08 1.30 1.37 1.25 1.00 0.73 0.53 0.45 0.43 0.37 0.23 0.02 0.00 0.00 0.00 0.08 0.39 0.66 0.84 0.96 1.07 1.25 1.55 1.93 2.34 2.67 2.88 2.95 2.96 2.97 3.05 3.18 3.28 3.26 3.07 2.71 2.27 1.87 1.57 1.40 1.29 1.17 1.01 0.81 0.63 0.52 0.53 0.63 0.78 0.94 1.07 1.14 1.16 1.15 1.12 1.09 1.05 1.00 0.92 0.82 0.70 0.62 0.62 0.72 0.90 1.06 1.13 1.07 0.91 0.76 0.72 0.85 1.08 1.30 1.37 1.25 1.00 0.73 0.53 0.45 0.43 0.37 0.23 0.02 0.00 0.00 0.00 0.08 0.39 0.66 0.84 0.96 1.07 1.25 1.55 1.93 2.34 2.67 2.88 2.95 2.96 2.97 3.05 3.18 3.28 3.26 3.07 2.71 2.27 1.87 1.57 1.40 1.29 1.17 1.01 0.81 0.63 0.52 0.53 0.63 0.78 0.94 1.07 1.14 1.16 1.15 1.12 80.0 + 82.5 1.15 1.13 1.11 1.07 0.99 0.85 0.69 0.58 0.58 0.72 0.96 1.19 1.31 1.26 1.08 0.90 0.85 0.99 1.26 1.53 1.63 1.52 1.25 0.94 0.73 0.66 0.66 0.64 0.53 0.33 0.14 0.08 0.22 0.53 0.93 1.27 1.48 1.56 1.56 1.60 1.74 1.98 2.27 2.50 2.59 2.54 2.41 2.30 2.30 2.38 2.49 2.48 2.30 1.93 1.49 1.11 0.89 0.85 0.90 0.94 0.87 0.70 0.49 0.34 0.33 0.45 0.66 0.89 1.07 1.17 1.19 1.17 1.15 1.13 1.11 1.07 0.99 0.85 0.69 0.58 0.58 0.72 0.96 1.19 1.31 1.26 1.08 0.90 0.85 0.99 1.26 1.53 1.63 1.52 1.25 0.94 0.73 0.66 0.66 0.64 0.53 0.33 0.14 0.08 0.22 0.53 0.93 1.27 1.48 1.56 1.56 1.60 1.74 1.98 2.27 2.50 2.59 2.54 2.41 2.30 2.30 2.38 2.49 2.48 2.30 1.93 1.49 1.11 0.89 0.85 0.90 0.94 0.87 0.70 0.49 0.34 0.33 0.45 0.66 0.89 1.07 1.17 1.19 1.17 1.15 82.5 + 85.0 1.13 1.12 1.13 1.11 1.02 0.85 0.63 0.47 0.45 0.60 0.89 1.17 1.32 1.27 1.06 0.84 0.76 0.90 1.20 1.51 1.65 1.56 1.28 0.97 0.77 0.73 0.79 0.85 0.80 0.66 0.51 0.47 0.65 1.02 1.48 1.87 2.09 2.09 1.96 1.82 1.77 1.85 2.01 2.14 2.14 2.00 1.78 1.59 1.53 1.62 1.76 1.81 1.67 1.34 0.92 0.57 0.43 0.50 0.69 0.84 0.84 0.68 0.44 0.24 0.19 0.31 0.56 0.84 1.05 1.17 1.19 1.16 1.13 1.12 1.13 1.11 1.02 0.85 0.63 0.47 0.45 0.60 0.89 1.17 1.32 1.27 1.06 0.84 0.76 0.90 1.20 1.51 1.65 1.56 1.28 0.97 0.77 0.73 0.79 0.85 0.80 0.66 0.51 0.47 0.65 1.02 1.48 1.87 2.09 2.09 1.96 1.82 1.77 1.85 2.01 2.14 2.14 2.00 1.78 1.59 1.53 1.62 1.76 1.81 1.67 1.34 0.92 0.57 0.43 0.50 0.69 0.84 0.84 0.68 0.44 0.24 0.19 0.31 0.56 0.84 1.05 1.17 1.19 1.16 1.13 85.0 + 87.5 1.10 1.11 1.14 1.13 1.02 0.81 0.55 0.34 0.29 0.44 0.74 1.05 1.21 1.15 0.91 0.65 0.53 0.66 0.97 1.31 1.49 1.43 1.18 0.89 0.71 0.71 0.85 1.00 1.05 0.99 0.88 0.87 1.06 1.45 1.92 2.33 2.52 2.45 2.18 1.87 1.65 1.58 1.64 1.72 1.69 1.52 1.27 1.05 0.98 1.08 1.28 1.41 1.35 1.06 0.67 0.35 0.24 0.37 0.64 0.87 0.92 0.75 0.47 0.22 0.13 0.24 0.50 0.80 1.03 1.15 1.16 1.13 1.10 1.11 1.14 1.13 1.02 0.81 0.55 0.34 0.29 0.44 0.74 1.05 1.21 1.15 0.91 0.65 0.53 0.66 0.97 1.31 1.49 1.43 1.18 0.89 0.71 0.71 0.85 1.00 1.05 0.99 0.88 0.87 1.06 1.45 1.92 2.33 2.52 2.45 2.18 1.87 1.65 1.58 1.64 1.72 1.69 1.52 1.27 1.05 0.98 1.08 1.28 1.41 1.35 1.06 0.67 0.35 0.24 0.37 0.64 0.87 0.92 0.75 0.47 0.22 0.13 0.24 0.50 0.80 1.03 1.15 1.16 1.13 1.10 87.5 + 90.0 1.09 1.11 1.15 1.14 1.02 0.79 0.50 0.25 0.17 0.29 0.58 0.89 1.05 0.99 0.74 0.45 0.31 0.42 0.73 1.09 1.33 1.32 1.12 0.87 0.72 0.77 0.97 1.20 1.33 1.33 1.26 1.24 1.40 1.74 2.17 2.53 2.67 2.53 2.17 1.74 1.40 1.24 1.26 1.33 1.33 1.20 0.97 0.77 0.72 0.87 1.12 1.32 1.33 1.09 0.73 0.42 0.31 0.45 0.74 0.99 1.05 0.89 0.58 0.29 0.17 0.25 0.50 0.79 1.02 1.14 1.15 1.11 1.09 1.11 1.15 1.14 1.02 0.79 0.50 0.25 0.17 0.29 0.58 0.89 1.05 0.99 0.74 0.45 0.31 0.42 0.73 1.09 1.33 1.32 1.12 0.87 0.72 0.77 0.97 1.20 1.33 1.33 1.26 1.24 1.40 1.74 2.17 2.53 2.67 2.53 2.17 1.74 1.40 1.24 1.26 1.33 1.33 1.20 0.97 0.77 0.72 0.87 1.12 1.32 1.33 1.09 0.73 0.42 0.31 0.45 0.74 0.99 1.05 0.89 0.58 0.29 0.17 0.25 0.50 0.79 1.02 1.14 1.15 1.11 1.09 90.0 + + 65.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.30 ) PHI2 = 65. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.0 + 2.5 0.39 0.49 0.65 0.85 1.06 1.29 1.53 1.79 2.03 2.22 2.30 2.25 2.09 1.86 1.61 1.37 1.14 0.92 0.72 0.54 0.43 0.38 0.36 0.33 0.23 0.04 0.00 0.00 0.00 0.00 0.00 0.05 0.25 0.37 0.40 0.41 0.45 0.55 0.71 0.91 1.13 1.35 1.59 1.83 2.04 2.19 2.24 2.16 1.99 1.76 1.51 1.27 1.05 0.84 0.65 0.50 0.41 0.39 0.40 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.08 0.26 0.35 0.36 0.36 0.39 0.49 0.65 0.85 1.06 1.29 1.53 1.79 2.03 2.22 2.30 2.25 2.09 1.86 1.61 1.37 1.14 0.92 0.72 0.54 0.43 0.38 0.36 0.33 0.23 0.04 0.00 0.00 0.00 0.00 0.00 0.05 0.25 0.37 0.40 0.41 0.45 0.55 0.71 0.91 1.13 1.35 1.59 1.83 2.04 2.19 2.24 2.16 1.99 1.76 1.51 1.27 1.05 0.84 0.65 0.50 0.41 0.39 0.40 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.08 0.26 0.35 0.36 0.36 0.39 2.5 + 5.0 0.28 0.36 0.51 0.70 0.91 1.16 1.44 1.75 2.06 2.31 2.44 2.43 2.28 2.03 1.76 1.48 1.23 0.99 0.78 0.59 0.46 0.40 0.38 0.37 0.30 0.15 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.46 0.50 0.50 0.51 0.59 0.72 0.92 1.15 1.40 1.66 1.90 2.11 2.23 2.23 2.12 1.91 1.65 1.38 1.12 0.88 0.67 0.51 0.41 0.38 0.42 0.48 0.50 0.42 0.25 0.05 0.00 0.00 0.00 0.07 0.25 0.35 0.37 0.33 0.28 0.28 0.36 0.51 0.70 0.91 1.16 1.44 1.75 2.06 2.31 2.44 2.43 2.28 2.03 1.76 1.48 1.23 0.99 0.78 0.59 0.46 0.40 0.38 0.37 0.30 0.15 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.46 0.50 0.50 0.51 0.59 0.72 0.92 1.15 1.40 1.66 1.90 2.11 2.23 2.23 2.12 1.91 1.65 1.38 1.12 0.88 0.67 0.51 0.41 0.38 0.42 0.48 0.50 0.42 0.25 0.05 0.00 0.00 0.00 0.07 0.25 0.35 0.37 0.33 0.28 0.28 5.0 + 7.5 0.18 0.23 0.35 0.52 0.73 0.98 1.30 1.67 2.05 2.38 2.59 2.63 2.50 2.26 1.96 1.67 1.40 1.17 0.95 0.77 0.63 0.56 0.54 0.54 0.51 0.42 0.26 0.10 0.00 0.00 0.12 0.32 0.50 0.62 0.66 0.64 0.62 0.64 0.74 0.91 1.15 1.43 1.71 1.96 2.14 2.21 2.17 2.01 1.78 1.50 1.22 0.94 0.69 0.49 0.36 0.32 0.37 0.48 0.59 0.63 0.57 0.43 0.26 0.14 0.12 0.20 0.33 0.43 0.46 0.40 0.30 0.21 0.18 0.23 0.35 0.52 0.73 0.98 1.30 1.67 2.05 2.38 2.59 2.63 2.50 2.26 1.96 1.67 1.40 1.17 0.95 0.77 0.63 0.56 0.54 0.54 0.51 0.42 0.26 0.10 0.00 0.00 0.12 0.32 0.50 0.62 0.66 0.64 0.62 0.64 0.74 0.91 1.15 1.43 1.71 1.96 2.14 2.21 2.17 2.01 1.78 1.50 1.22 0.94 0.69 0.49 0.36 0.32 0.37 0.48 0.59 0.63 0.57 0.43 0.26 0.14 0.12 0.20 0.33 0.43 0.46 0.40 0.30 0.21 0.18 7.5 + 10.0 0.13 0.15 0.24 0.37 0.54 0.79 1.11 1.52 1.96 2.36 2.64 2.75 2.67 2.45 2.18 1.90 1.66 1.46 1.28 1.11 0.97 0.89 0.87 0.89 0.90 0.85 0.72 0.55 0.41 0.36 0.42 0.57 0.73 0.85 0.88 0.83 0.75 0.71 0.74 0.89 1.12 1.41 1.70 1.94 2.08 2.11 2.02 1.84 1.60 1.34 1.06 0.80 0.55 0.37 0.27 0.29 0.40 0.56 0.69 0.73 0.66 0.52 0.38 0.31 0.33 0.43 0.53 0.58 0.54 0.43 0.29 0.17 0.13 0.15 0.24 0.37 0.54 0.79 1.11 1.52 1.96 2.36 2.64 2.75 2.67 2.45 2.18 1.90 1.66 1.46 1.28 1.11 0.97 0.89 0.87 0.89 0.90 0.85 0.72 0.55 0.41 0.36 0.42 0.57 0.73 0.85 0.88 0.83 0.75 0.71 0.74 0.89 1.12 1.41 1.70 1.94 2.08 2.11 2.02 1.84 1.60 1.34 1.06 0.80 0.55 0.37 0.27 0.29 0.40 0.56 0.69 0.73 0.66 0.52 0.38 0.31 0.33 0.43 0.53 0.58 0.54 0.43 0.29 0.17 0.13 10.0 + 12.5 0.13 0.14 0.19 0.27 0.39 0.59 0.89 1.29 1.76 2.20 2.55 2.72 2.71 2.56 2.34 2.13 1.95 1.81 1.68 1.54 1.41 1.32 1.30 1.32 1.36 1.33 1.22 1.04 0.85 0.73 0.73 0.84 0.98 1.09 1.10 1.01 0.88 0.76 0.74 0.85 1.07 1.36 1.65 1.86 1.96 1.94 1.81 1.63 1.41 1.19 0.95 0.71 0.49 0.33 0.27 0.33 0.47 0.64 0.75 0.75 0.64 0.49 0.38 0.35 0.42 0.54 0.63 0.64 0.57 0.43 0.29 0.18 0.13 0.14 0.19 0.27 0.39 0.59 0.89 1.29 1.76 2.20 2.55 2.72 2.71 2.56 2.34 2.13 1.95 1.81 1.68 1.54 1.41 1.32 1.30 1.32 1.36 1.33 1.22 1.04 0.85 0.73 0.73 0.84 0.98 1.09 1.10 1.01 0.88 0.76 0.74 0.85 1.07 1.36 1.65 1.86 1.96 1.94 1.81 1.63 1.41 1.19 0.95 0.71 0.49 0.33 0.27 0.33 0.47 0.64 0.75 0.75 0.64 0.49 0.38 0.35 0.42 0.54 0.63 0.64 0.57 0.43 0.29 0.18 0.13 12.5 + 15.0 0.17 0.16 0.17 0.19 0.25 0.39 0.65 1.02 1.46 1.92 2.29 2.52 2.59 2.53 2.40 2.28 2.19 2.12 2.03 1.92 1.79 1.68 1.65 1.67 1.72 1.71 1.61 1.41 1.18 1.01 0.96 1.04 1.17 1.26 1.26 1.14 0.95 0.79 0.73 0.82 1.03 1.32 1.59 1.77 1.82 1.76 1.61 1.43 1.25 1.08 0.89 0.69 0.50 0.36 0.33 0.41 0.56 0.71 0.76 0.70 0.54 0.37 0.28 0.31 0.42 0.57 0.65 0.64 0.55 0.41 0.28 0.20 0.17 0.16 0.17 0.19 0.25 0.39 0.65 1.02 1.46 1.92 2.29 2.52 2.59 2.53 2.40 2.28 2.19 2.12 2.03 1.92 1.79 1.68 1.65 1.67 1.72 1.71 1.61 1.41 1.18 1.01 0.96 1.04 1.17 1.26 1.26 1.14 0.95 0.79 0.73 0.82 1.03 1.32 1.59 1.77 1.82 1.76 1.61 1.43 1.25 1.08 0.89 0.69 0.50 0.36 0.33 0.41 0.56 0.71 0.76 0.70 0.54 0.37 0.28 0.31 0.42 0.57 0.65 0.64 0.55 0.41 0.28 0.20 0.17 15.0 + 17.5 0.17 0.16 0.13 0.10 0.11 0.19 0.40 0.72 1.13 1.56 1.92 2.19 2.32 2.36 2.34 2.32 2.31 2.29 2.22 2.10 1.96 1.83 1.78 1.81 1.86 1.87 1.77 1.56 1.32 1.13 1.06 1.12 1.23 1.31 1.29 1.15 0.95 0.77 0.71 0.81 1.03 1.32 1.57 1.72 1.74 1.64 1.49 1.32 1.16 1.02 0.87 0.70 0.53 0.42 0.40 0.49 0.63 0.74 0.74 0.61 0.41 0.24 0.19 0.26 0.43 0.59 0.66 0.63 0.50 0.36 0.25 0.19 0.17 0.16 0.13 0.10 0.11 0.19 0.40 0.72 1.13 1.56 1.92 2.19 2.32 2.36 2.34 2.32 2.31 2.29 2.22 2.10 1.96 1.83 1.78 1.81 1.86 1.87 1.77 1.56 1.32 1.13 1.06 1.12 1.23 1.31 1.29 1.15 0.95 0.77 0.71 0.81 1.03 1.32 1.57 1.72 1.74 1.64 1.49 1.32 1.16 1.02 0.87 0.70 0.53 0.42 0.40 0.49 0.63 0.74 0.74 0.61 0.41 0.24 0.19 0.26 0.43 0.59 0.66 0.63 0.50 0.36 0.25 0.19 0.17 17.5 + 20.0 0.12 0.09 0.02 0.00 0.00 0.00 0.17 0.45 0.81 1.18 1.51 1.78 1.96 2.09 2.18 2.26 2.31 2.32 2.24 2.10 1.93 1.80 1.74 1.78 1.84 1.85 1.75 1.55 1.31 1.12 1.05 1.09 1.18 1.24 1.20 1.05 0.86 0.72 0.70 0.83 1.07 1.36 1.60 1.73 1.73 1.62 1.45 1.29 1.15 1.02 0.88 0.71 0.56 0.45 0.45 0.54 0.67 0.74 0.70 0.53 0.32 0.18 0.17 0.30 0.50 0.66 0.71 0.62 0.47 0.31 0.20 0.15 0.12 0.09 0.02 0.00 0.00 0.00 0.17 0.45 0.81 1.18 1.51 1.78 1.96 2.09 2.18 2.26 2.31 2.32 2.24 2.10 1.93 1.80 1.74 1.78 1.84 1.85 1.75 1.55 1.31 1.12 1.05 1.09 1.18 1.24 1.20 1.05 0.86 0.72 0.70 0.83 1.07 1.36 1.60 1.73 1.73 1.62 1.45 1.29 1.15 1.02 0.88 0.71 0.56 0.45 0.45 0.54 0.67 0.74 0.70 0.53 0.32 0.18 0.17 0.30 0.50 0.66 0.71 0.62 0.47 0.31 0.20 0.15 0.12 20.0 + 22.5 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.24 0.54 0.84 1.12 1.37 1.59 1.79 1.98 2.15 2.26 2.29 2.21 2.06 1.89 1.77 1.74 1.79 1.86 1.86 1.76 1.55 1.31 1.13 1.05 1.06 1.11 1.12 1.04 0.90 0.74 0.66 0.69 0.86 1.12 1.41 1.63 1.74 1.73 1.62 1.47 1.31 1.17 1.04 0.89 0.72 0.56 0.47 0.48 0.58 0.70 0.75 0.68 0.50 0.31 0.20 0.25 0.43 0.65 0.80 0.79 0.65 0.45 0.26 0.14 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.24 0.54 0.84 1.12 1.37 1.59 1.79 1.98 2.15 2.26 2.29 2.21 2.06 1.89 1.77 1.74 1.79 1.86 1.86 1.76 1.55 1.31 1.13 1.05 1.06 1.11 1.12 1.04 0.90 0.74 0.66 0.69 0.86 1.12 1.41 1.63 1.74 1.73 1.62 1.47 1.31 1.17 1.04 0.89 0.72 0.56 0.47 0.48 0.58 0.70 0.75 0.68 0.50 0.31 0.20 0.25 0.43 0.65 0.80 0.79 0.65 0.45 0.26 0.14 0.09 0.05 22.5 + 25.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.34 0.58 0.80 1.01 1.26 1.53 1.82 2.08 2.27 2.34 2.31 2.19 2.07 2.01 2.03 2.11 2.17 2.15 2.00 1.76 1.50 1.30 1.18 1.13 1.10 1.04 0.92 0.77 0.65 0.62 0.70 0.89 1.14 1.39 1.58 1.67 1.66 1.57 1.44 1.30 1.17 1.04 0.88 0.71 0.57 0.49 0.52 0.62 0.74 0.78 0.70 0.53 0.36 0.30 0.39 0.61 0.83 0.94 0.88 0.68 0.44 0.24 0.12 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.34 0.58 0.80 1.01 1.26 1.53 1.82 2.08 2.27 2.34 2.31 2.19 2.07 2.01 2.03 2.11 2.17 2.15 2.00 1.76 1.50 1.30 1.18 1.13 1.10 1.04 0.92 0.77 0.65 0.62 0.70 0.89 1.14 1.39 1.58 1.67 1.66 1.57 1.44 1.30 1.17 1.04 0.88 0.71 0.57 0.49 0.52 0.62 0.74 0.78 0.70 0.53 0.36 0.30 0.39 0.61 0.83 0.94 0.88 0.68 0.44 0.24 0.12 0.05 0.00 25.0 + 27.5 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.25 0.42 0.58 0.77 1.03 1.37 1.76 2.13 2.42 2.58 2.63 2.62 2.61 2.66 2.76 2.87 2.90 2.81 2.58 2.27 1.95 1.69 1.50 1.36 1.23 1.07 0.89 0.74 0.64 0.65 0.75 0.91 1.09 1.26 1.38 1.44 1.43 1.37 1.28 1.18 1.08 0.96 0.83 0.68 0.57 0.53 0.58 0.69 0.80 0.82 0.74 0.57 0.43 0.41 0.53 0.75 0.95 1.02 0.91 0.68 0.43 0.24 0.14 0.09 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.25 0.42 0.58 0.77 1.03 1.37 1.76 2.13 2.42 2.58 2.63 2.62 2.61 2.66 2.76 2.87 2.90 2.81 2.58 2.27 1.95 1.69 1.50 1.36 1.23 1.07 0.89 0.74 0.64 0.65 0.75 0.91 1.09 1.26 1.38 1.44 1.43 1.37 1.28 1.18 1.08 0.96 0.83 0.68 0.57 0.53 0.58 0.69 0.80 0.82 0.74 0.57 0.43 0.41 0.53 0.75 0.95 1.02 0.91 0.68 0.43 0.24 0.14 0.09 0.02 27.5 + 30.0 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.25 0.39 0.51 0.68 0.95 1.35 1.83 2.30 2.70 2.98 3.15 3.28 3.43 3.60 3.79 3.91 3.88 3.69 3.35 2.94 2.54 2.20 1.93 1.69 1.45 1.20 0.97 0.81 0.74 0.75 0.82 0.91 0.99 1.04 1.07 1.07 1.06 1.03 0.99 0.94 0.88 0.80 0.71 0.62 0.56 0.56 0.64 0.75 0.85 0.85 0.76 0.60 0.48 0.48 0.61 0.81 0.97 0.99 0.85 0.61 0.39 0.24 0.19 0.18 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.25 0.39 0.51 0.68 0.95 1.35 1.83 2.30 2.70 2.98 3.15 3.28 3.43 3.60 3.79 3.91 3.88 3.69 3.35 2.94 2.54 2.20 1.93 1.69 1.45 1.20 0.97 0.81 0.74 0.75 0.82 0.91 0.99 1.04 1.07 1.07 1.06 1.03 0.99 0.94 0.88 0.80 0.71 0.62 0.56 0.56 0.64 0.75 0.85 0.85 0.76 0.60 0.48 0.48 0.61 0.81 0.97 0.99 0.85 0.61 0.39 0.24 0.19 0.18 0.13 30.0 + 32.5 0.26 0.12 0.00 0.00 0.00 0.00 0.00 0.17 0.35 0.47 0.56 0.72 1.01 1.44 1.98 2.52 3.00 3.37 3.66 3.93 4.22 4.51 4.75 4.86 4.76 4.45 4.00 3.49 3.03 2.63 2.30 1.98 1.66 1.35 1.10 0.95 0.89 0.91 0.93 0.92 0.87 0.79 0.72 0.67 0.65 0.64 0.63 0.62 0.60 0.57 0.54 0.52 0.52 0.57 0.67 0.78 0.85 0.83 0.72 0.57 0.47 0.48 0.60 0.78 0.89 0.87 0.71 0.49 0.31 0.23 0.25 0.29 0.26 0.12 0.00 0.00 0.00 0.00 0.00 0.17 0.35 0.47 0.56 0.72 1.01 1.44 1.98 2.52 3.00 3.37 3.66 3.93 4.22 4.51 4.75 4.86 4.76 4.45 4.00 3.49 3.03 2.63 2.30 1.98 1.66 1.35 1.10 0.95 0.89 0.91 0.93 0.92 0.87 0.79 0.72 0.67 0.65 0.64 0.63 0.62 0.60 0.57 0.54 0.52 0.52 0.57 0.67 0.78 0.85 0.83 0.72 0.57 0.47 0.48 0.60 0.78 0.89 0.87 0.71 0.49 0.31 0.23 0.25 0.29 0.26 32.5 + 35.0 0.36 0.23 0.03 0.00 0.00 0.00 0.12 0.35 0.53 0.64 0.72 0.86 1.14 1.57 2.10 2.65 3.15 3.56 3.91 4.26 4.63 4.98 5.23 5.30 5.12 4.72 4.19 3.64 3.16 2.76 2.41 2.07 1.73 1.42 1.18 1.06 1.04 1.05 1.03 0.94 0.78 0.60 0.45 0.36 0.33 0.33 0.34 0.34 0.34 0.34 0.35 0.39 0.45 0.55 0.66 0.76 0.80 0.75 0.62 0.48 0.39 0.42 0.54 0.69 0.76 0.70 0.53 0.32 0.19 0.19 0.27 0.36 0.36 0.23 0.03 0.00 0.00 0.00 0.12 0.35 0.53 0.64 0.72 0.86 1.14 1.57 2.10 2.65 3.15 3.56 3.91 4.26 4.63 4.98 5.23 5.30 5.12 4.72 4.19 3.64 3.16 2.76 2.41 2.07 1.73 1.42 1.18 1.06 1.04 1.05 1.03 0.94 0.78 0.60 0.45 0.36 0.33 0.33 0.34 0.34 0.34 0.34 0.35 0.39 0.45 0.55 0.66 0.76 0.80 0.75 0.62 0.48 0.39 0.42 0.54 0.69 0.76 0.70 0.53 0.32 0.19 0.19 0.27 0.36 0.36 35.0 + 37.5 0.38 0.28 0.11 0.00 0.00 0.09 0.32 0.57 0.75 0.84 0.90 1.01 1.25 1.64 2.11 2.60 3.02 3.38 3.71 4.05 4.42 4.77 4.99 5.00 4.76 4.31 3.77 3.25 2.83 2.50 2.21 1.92 1.61 1.34 1.15 1.08 1.10 1.13 1.10 0.96 0.74 0.51 0.33 0.23 0.20 0.20 0.21 0.20 0.18 0.18 0.20 0.27 0.37 0.50 0.62 0.69 0.69 0.61 0.46 0.33 0.28 0.34 0.47 0.60 0.63 0.54 0.36 0.17 0.08 0.11 0.24 0.36 0.38 0.28 0.11 0.00 0.00 0.09 0.32 0.57 0.75 0.84 0.90 1.01 1.25 1.64 2.11 2.60 3.02 3.38 3.71 4.05 4.42 4.77 4.99 5.00 4.76 4.31 3.77 3.25 2.83 2.50 2.21 1.92 1.61 1.34 1.15 1.08 1.10 1.13 1.10 0.96 0.74 0.51 0.33 0.23 0.20 0.20 0.21 0.20 0.18 0.18 0.20 0.27 0.37 0.50 0.62 0.69 0.69 0.61 0.46 0.33 0.28 0.34 0.47 0.60 0.63 0.54 0.36 0.17 0.08 0.11 0.24 0.36 0.38 37.5 + 40.0 0.36 0.30 0.17 0.09 0.12 0.29 0.53 0.77 0.93 0.99 1.01 1.08 1.26 1.56 1.93 2.29 2.59 2.83 3.05 3.32 3.63 3.92 4.08 4.04 3.76 3.32 2.84 2.42 2.12 1.92 1.75 1.56 1.33 1.12 1.00 0.98 1.04 1.10 1.08 0.95 0.75 0.52 0.35 0.27 0.25 0.26 0.25 0.22 0.17 0.13 0.14 0.21 0.32 0.46 0.58 0.63 0.58 0.45 0.29 0.17 0.16 0.25 0.40 0.53 0.54 0.43 0.24 0.06 0.00 0.04 0.19 0.32 0.36 0.30 0.17 0.09 0.12 0.29 0.53 0.77 0.93 0.99 1.01 1.08 1.26 1.56 1.93 2.29 2.59 2.83 3.05 3.32 3.63 3.92 4.08 4.04 3.76 3.32 2.84 2.42 2.12 1.92 1.75 1.56 1.33 1.12 1.00 0.98 1.04 1.10 1.08 0.95 0.75 0.52 0.35 0.27 0.25 0.26 0.25 0.22 0.17 0.13 0.14 0.21 0.32 0.46 0.58 0.63 0.58 0.45 0.29 0.17 0.16 0.25 0.40 0.53 0.54 0.43 0.24 0.06 0.00 0.04 0.19 0.32 0.36 40.0 + 42.5 0.36 0.31 0.23 0.20 0.28 0.47 0.71 0.91 1.01 1.02 0.99 1.01 1.12 1.32 1.56 1.77 1.92 2.01 2.11 2.26 2.48 2.70 2.82 2.74 2.48 2.09 1.70 1.42 1.28 1.24 1.22 1.14 1.01 0.86 0.78 0.78 0.87 0.96 0.98 0.91 0.75 0.58 0.45 0.40 0.40 0.42 0.41 0.36 0.28 0.20 0.18 0.22 0.33 0.47 0.57 0.59 0.50 0.33 0.15 0.04 0.05 0.18 0.36 0.50 0.51 0.38 0.19 0.02 0.00 0.03 0.18 0.31 0.36 0.31 0.23 0.20 0.28 0.47 0.71 0.91 1.01 1.02 0.99 1.01 1.12 1.32 1.56 1.77 1.92 2.01 2.11 2.26 2.48 2.70 2.82 2.74 2.48 2.09 1.70 1.42 1.28 1.24 1.22 1.14 1.01 0.86 0.78 0.78 0.87 0.96 0.98 0.91 0.75 0.58 0.45 0.40 0.40 0.42 0.41 0.36 0.28 0.20 0.18 0.22 0.33 0.47 0.57 0.59 0.50 0.33 0.15 0.04 0.05 0.18 0.36 0.50 0.51 0.38 0.19 0.02 0.00 0.03 0.18 0.31 0.36 42.5 + 45.0 0.42 0.39 0.34 0.34 0.44 0.61 0.81 0.94 0.97 0.92 0.83 0.79 0.84 0.96 1.09 1.17 1.17 1.14 1.12 1.19 1.34 1.51 1.60 1.53 1.30 0.99 0.71 0.56 0.57 0.67 0.77 0.81 0.75 0.65 0.57 0.57 0.64 0.75 0.82 0.81 0.73 0.62 0.54 0.51 0.53 0.57 0.57 0.53 0.44 0.34 0.28 0.29 0.38 0.50 0.59 0.59 0.47 0.27 0.07 0.00 0.00 0.16 0.37 0.52 0.53 0.41 0.23 0.08 0.04 0.12 0.26 0.38 0.42 0.39 0.34 0.34 0.44 0.61 0.81 0.94 0.97 0.92 0.83 0.79 0.84 0.96 1.09 1.17 1.17 1.14 1.12 1.19 1.34 1.51 1.60 1.53 1.30 0.99 0.71 0.56 0.57 0.67 0.77 0.81 0.75 0.65 0.57 0.57 0.64 0.75 0.82 0.81 0.73 0.62 0.54 0.51 0.53 0.57 0.57 0.53 0.44 0.34 0.28 0.29 0.38 0.50 0.59 0.59 0.47 0.27 0.07 0.00 0.00 0.16 0.37 0.52 0.53 0.41 0.23 0.08 0.04 0.12 0.26 0.38 0.42 45.0 + 47.5 0.56 0.51 0.46 0.46 0.55 0.69 0.81 0.87 0.82 0.71 0.58 0.51 0.52 0.58 0.63 0.62 0.53 0.42 0.34 0.37 0.49 0.64 0.73 0.69 0.52 0.28 0.09 0.03 0.13 0.33 0.52 0.63 0.62 0.53 0.43 0.40 0.44 0.53 0.63 0.68 0.67 0.61 0.56 0.54 0.56 0.62 0.66 0.65 0.59 0.48 0.40 0.37 0.43 0.53 0.61 0.61 0.48 0.27 0.07 0.00 0.04 0.22 0.45 0.61 0.63 0.53 0.37 0.25 0.24 0.32 0.45 0.54 0.56 0.51 0.46 0.46 0.55 0.69 0.81 0.87 0.82 0.71 0.58 0.51 0.52 0.58 0.63 0.62 0.53 0.42 0.34 0.37 0.49 0.64 0.73 0.69 0.52 0.28 0.09 0.03 0.13 0.33 0.52 0.63 0.62 0.53 0.43 0.40 0.44 0.53 0.63 0.68 0.67 0.61 0.56 0.54 0.56 0.62 0.66 0.65 0.59 0.48 0.40 0.37 0.43 0.53 0.61 0.61 0.48 0.27 0.07 0.00 0.04 0.22 0.45 0.61 0.63 0.53 0.37 0.25 0.24 0.32 0.45 0.54 0.56 47.5 + 50.0 0.73 0.65 0.56 0.53 0.58 0.66 0.71 0.70 0.60 0.46 0.32 0.26 0.26 0.30 0.30 0.24 0.11 0.00 0.00 0.00 0.04 0.21 0.32 0.31 0.17 0.00 0.00 0.00 0.00 0.21 0.44 0.57 0.59 0.50 0.37 0.29 0.29 0.37 0.48 0.57 0.60 0.57 0.51 0.48 0.50 0.57 0.66 0.71 0.68 0.59 0.48 0.42 0.45 0.53 0.62 0.64 0.54 0.37 0.21 0.14 0.22 0.43 0.66 0.82 0.85 0.76 0.62 0.53 0.53 0.61 0.71 0.76 0.73 0.65 0.56 0.53 0.58 0.66 0.71 0.70 0.60 0.46 0.32 0.26 0.26 0.30 0.30 0.24 0.11 0.00 0.00 0.00 0.04 0.21 0.32 0.31 0.17 0.00 0.00 0.00 0.00 0.21 0.44 0.57 0.59 0.50 0.37 0.29 0.29 0.37 0.48 0.57 0.60 0.57 0.51 0.48 0.50 0.57 0.66 0.71 0.68 0.59 0.48 0.42 0.45 0.53 0.62 0.64 0.54 0.37 0.21 0.14 0.22 0.43 0.66 0.82 0.85 0.76 0.62 0.53 0.53 0.61 0.71 0.76 0.73 50.0 + 52.5 0.85 0.71 0.57 0.50 0.49 0.52 0.53 0.48 0.37 0.24 0.14 0.11 0.13 0.17 0.16 0.07 0.00 0.00 0.00 0.00 0.00 0.13 0.24 0.25 0.14 0.00 0.00 0.00 0.01 0.22 0.43 0.56 0.58 0.49 0.35 0.24 0.21 0.27 0.39 0.50 0.55 0.53 0.46 0.40 0.41 0.49 0.62 0.72 0.74 0.67 0.55 0.46 0.46 0.54 0.64 0.71 0.68 0.59 0.50 0.49 0.60 0.82 1.04 1.18 1.19 1.10 0.97 0.88 0.87 0.92 0.97 0.95 0.85 0.71 0.57 0.50 0.49 0.52 0.53 0.48 0.37 0.24 0.14 0.11 0.13 0.17 0.16 0.07 0.00 0.00 0.00 0.00 0.00 0.13 0.24 0.25 0.14 0.00 0.00 0.00 0.01 0.22 0.43 0.56 0.58 0.49 0.35 0.24 0.21 0.27 0.39 0.50 0.55 0.53 0.46 0.40 0.41 0.49 0.62 0.72 0.74 0.67 0.55 0.46 0.46 0.54 0.64 0.71 0.68 0.59 0.50 0.49 0.60 0.82 1.04 1.18 1.19 1.10 0.97 0.88 0.87 0.92 0.97 0.95 0.85 52.5 + 55.0 0.85 0.65 0.46 0.35 0.30 0.30 0.28 0.24 0.16 0.09 0.06 0.09 0.15 0.19 0.16 0.07 0.00 0.00 0.00 0.00 0.06 0.22 0.32 0.31 0.21 0.08 0.00 0.00 0.08 0.24 0.40 0.50 0.52 0.44 0.32 0.22 0.19 0.24 0.35 0.47 0.53 0.51 0.44 0.37 0.37 0.47 0.62 0.76 0.82 0.77 0.65 0.55 0.53 0.61 0.76 0.89 0.96 0.98 0.98 1.03 1.18 1.38 1.57 1.67 1.64 1.52 1.37 1.25 1.19 1.17 1.13 1.03 0.85 0.65 0.46 0.35 0.30 0.30 0.28 0.24 0.16 0.09 0.06 0.09 0.15 0.19 0.16 0.07 0.00 0.00 0.00 0.00 0.06 0.22 0.32 0.31 0.21 0.08 0.00 0.00 0.08 0.24 0.40 0.50 0.52 0.44 0.32 0.22 0.19 0.24 0.35 0.47 0.53 0.51 0.44 0.37 0.37 0.47 0.62 0.76 0.82 0.77 0.65 0.55 0.53 0.61 0.76 0.89 0.96 0.98 0.98 1.03 1.18 1.38 1.57 1.67 1.64 1.52 1.37 1.25 1.19 1.17 1.13 1.03 0.85 55.0 + 57.5 0.73 0.47 0.26 0.12 0.06 0.05 0.04 0.02 0.00 0.00 0.04 0.13 0.22 0.26 0.23 0.12 0.00 0.00 0.00 0.04 0.19 0.31 0.36 0.32 0.22 0.12 0.05 0.05 0.11 0.21 0.31 0.37 0.38 0.33 0.25 0.18 0.17 0.23 0.34 0.46 0.53 0.52 0.47 0.42 0.44 0.55 0.72 0.89 0.97 0.95 0.86 0.77 0.77 0.87 1.06 1.26 1.43 1.54 1.63 1.73 1.88 2.04 2.17 2.20 2.12 1.95 1.74 1.56 1.42 1.30 1.17 0.97 0.73 0.47 0.26 0.12 0.06 0.05 0.04 0.02 0.00 0.00 0.04 0.13 0.22 0.26 0.23 0.12 0.00 0.00 0.00 0.04 0.19 0.31 0.36 0.32 0.22 0.12 0.05 0.05 0.11 0.21 0.31 0.37 0.38 0.33 0.25 0.18 0.17 0.23 0.34 0.46 0.53 0.52 0.47 0.42 0.44 0.55 0.72 0.89 0.97 0.95 0.86 0.77 0.77 0.87 1.06 1.26 1.43 1.54 1.63 1.73 1.88 2.04 2.17 2.20 2.12 1.95 1.74 1.56 1.42 1.30 1.17 0.97 0.73 57.5 + 60.0 0.53 0.26 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.16 0.26 0.30 0.24 0.13 0.01 0.00 0.01 0.12 0.24 0.31 0.30 0.22 0.12 0.05 0.02 0.04 0.09 0.14 0.18 0.19 0.19 0.17 0.14 0.13 0.14 0.21 0.31 0.43 0.51 0.54 0.53 0.53 0.59 0.73 0.92 1.11 1.23 1.25 1.22 1.18 1.22 1.37 1.60 1.85 2.07 2.24 2.36 2.47 2.58 2.67 2.71 2.66 2.50 2.27 2.00 1.74 1.52 1.31 1.08 0.82 0.53 0.26 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.16 0.26 0.30 0.24 0.13 0.01 0.00 0.01 0.12 0.24 0.31 0.30 0.22 0.12 0.05 0.02 0.04 0.09 0.14 0.18 0.19 0.19 0.17 0.14 0.13 0.14 0.21 0.31 0.43 0.51 0.54 0.53 0.53 0.59 0.73 0.92 1.11 1.23 1.25 1.22 1.18 1.22 1.37 1.60 1.85 2.07 2.24 2.36 2.47 2.58 2.67 2.71 2.66 2.50 2.27 2.00 1.74 1.52 1.31 1.08 0.82 0.53 60.0 + 62.5 0.37 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.21 0.22 0.14 0.02 0.00 0.00 0.00 0.10 0.19 0.20 0.14 0.03 0.00 0.00 0.00 0.00 0.04 0.05 0.04 0.02 0.01 0.01 0.02 0.04 0.08 0.15 0.24 0.36 0.46 0.54 0.61 0.68 0.80 0.98 1.20 1.42 1.59 1.68 1.73 1.78 1.89 2.08 2.33 2.59 2.80 2.96 3.04 3.09 3.11 3.10 3.04 2.91 2.69 2.40 2.09 1.78 1.50 1.23 0.95 0.66 0.37 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.21 0.22 0.14 0.02 0.00 0.00 0.00 0.10 0.19 0.20 0.14 0.03 0.00 0.00 0.00 0.00 0.04 0.05 0.04 0.02 0.01 0.01 0.02 0.04 0.08 0.15 0.24 0.36 0.46 0.54 0.61 0.68 0.80 0.98 1.20 1.42 1.59 1.68 1.73 1.78 1.89 2.08 2.33 2.59 2.80 2.96 3.04 3.09 3.11 3.10 3.04 2.91 2.69 2.40 2.09 1.78 1.50 1.23 0.95 0.66 0.37 62.5 + 65.0 0.32 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.04 0.00 0.00 0.00 0.00 0.00 0.02 0.08 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.14 0.26 0.40 0.55 0.70 0.86 1.05 1.27 1.52 1.78 2.00 2.19 2.33 2.48 2.66 2.87 3.10 3.31 3.46 3.53 3.51 3.45 3.35 3.22 3.07 2.87 2.62 2.33 2.01 1.70 1.40 1.13 0.86 0.59 0.32 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.04 0.00 0.00 0.00 0.00 0.00 0.02 0.08 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.14 0.26 0.40 0.55 0.70 0.86 1.05 1.27 1.52 1.78 2.00 2.19 2.33 2.48 2.66 2.87 3.10 3.31 3.46 3.53 3.51 3.45 3.35 3.22 3.07 2.87 2.62 2.33 2.01 1.70 1.40 1.13 0.86 0.59 0.32 65.0 + 67.5 0.43 0.24 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.18 0.38 0.61 0.85 1.09 1.33 1.59 1.87 2.15 2.43 2.69 2.92 3.14 3.35 3.55 3.72 3.83 3.86 3.80 3.65 3.46 3.23 3.01 2.80 2.57 2.33 2.08 1.81 1.54 1.30 1.07 0.85 0.64 0.43 0.24 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.18 0.38 0.61 0.85 1.09 1.33 1.59 1.87 2.15 2.43 2.69 2.92 3.14 3.35 3.55 3.72 3.83 3.86 3.80 3.65 3.46 3.23 3.01 2.80 2.57 2.33 2.08 1.81 1.54 1.30 1.07 0.85 0.64 0.43 67.5 + 70.0 0.66 0.51 0.37 0.27 0.18 0.10 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.44 0.76 1.08 1.38 1.67 1.94 2.21 2.50 2.80 3.10 3.38 3.62 3.82 3.95 4.02 4.00 3.89 3.70 3.44 3.13 2.83 2.55 2.31 2.10 1.91 1.73 1.55 1.38 1.23 1.09 0.95 0.81 0.66 0.51 0.37 0.27 0.18 0.10 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.44 0.76 1.08 1.38 1.67 1.94 2.21 2.50 2.80 3.10 3.38 3.62 3.82 3.95 4.02 4.00 3.89 3.70 3.44 3.13 2.83 2.55 2.31 2.10 1.91 1.73 1.55 1.38 1.23 1.09 0.95 0.81 0.66 70.0 + 72.5 0.94 0.81 0.67 0.56 0.45 0.34 0.23 0.13 0.05 0.01 0.01 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.16 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.28 0.62 1.01 1.39 1.73 2.02 2.27 2.51 2.76 3.03 3.32 3.58 3.79 3.92 3.96 3.90 3.75 3.54 3.26 2.93 2.59 2.26 1.97 1.74 1.58 1.46 1.38 1.31 1.26 1.21 1.17 1.12 1.05 0.94 0.81 0.67 0.56 0.45 0.34 0.23 0.13 0.05 0.01 0.01 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.16 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.28 0.62 1.01 1.39 1.73 2.02 2.27 2.51 2.76 3.03 3.32 3.58 3.79 3.92 3.96 3.90 3.75 3.54 3.26 2.93 2.59 2.26 1.97 1.74 1.58 1.46 1.38 1.31 1.26 1.21 1.17 1.12 1.05 0.94 72.5 + 75.0 1.18 1.07 0.94 0.81 0.69 0.57 0.44 0.33 0.25 0.23 0.26 0.28 0.26 0.16 0.02 0.00 0.00 0.03 0.22 0.40 0.46 0.38 0.19 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.21 0.51 0.90 1.33 1.74 2.08 2.34 2.53 2.68 2.85 3.05 3.27 3.48 3.62 3.66 3.58 3.40 3.15 2.88 2.58 2.28 1.97 1.68 1.43 1.23 1.12 1.07 1.08 1.12 1.18 1.24 1.28 1.30 1.27 1.18 1.07 0.94 0.81 0.69 0.57 0.44 0.33 0.25 0.23 0.26 0.28 0.26 0.16 0.02 0.00 0.00 0.03 0.22 0.40 0.46 0.38 0.19 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.21 0.51 0.90 1.33 1.74 2.08 2.34 2.53 2.68 2.85 3.05 3.27 3.48 3.62 3.66 3.58 3.40 3.15 2.88 2.58 2.28 1.97 1.68 1.43 1.23 1.12 1.07 1.08 1.12 1.18 1.24 1.28 1.30 1.27 1.18 75.0 + 77.5 1.35 1.25 1.13 1.01 0.89 0.76 0.62 0.50 0.45 0.47 0.54 0.62 0.62 0.53 0.38 0.25 0.23 0.36 0.57 0.76 0.82 0.73 0.52 0.28 0.11 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.19 0.34 0.55 0.85 1.22 1.63 2.02 2.33 2.53 2.62 2.66 2.71 2.81 2.94 3.08 3.15 3.09 2.92 2.65 2.35 2.07 1.84 1.63 1.43 1.23 1.03 0.87 0.77 0.77 0.84 0.97 1.13 1.27 1.38 1.43 1.42 1.35 1.25 1.13 1.01 0.89 0.76 0.62 0.50 0.45 0.47 0.54 0.62 0.62 0.53 0.38 0.25 0.23 0.36 0.57 0.76 0.82 0.73 0.52 0.28 0.11 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.19 0.34 0.55 0.85 1.22 1.63 2.02 2.33 2.53 2.62 2.66 2.71 2.81 2.94 3.08 3.15 3.09 2.92 2.65 2.35 2.07 1.84 1.63 1.43 1.23 1.03 0.87 0.77 0.77 0.84 0.97 1.13 1.27 1.38 1.43 1.42 1.35 77.5 + 80.0 1.42 1.34 1.25 1.15 1.04 0.89 0.73 0.61 0.57 0.64 0.78 0.92 0.97 0.88 0.71 0.55 0.51 0.64 0.86 1.07 1.15 1.04 0.80 0.53 0.33 0.22 0.16 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.48 0.69 0.85 1.02 1.23 1.51 1.85 2.17 2.41 2.52 2.51 2.42 2.34 2.33 2.39 2.47 2.49 2.39 2.15 1.83 1.52 1.29 1.17 1.11 1.06 0.96 0.81 0.66 0.55 0.55 0.67 0.86 1.09 1.29 1.43 1.49 1.48 1.42 1.34 1.25 1.15 1.04 0.89 0.73 0.61 0.57 0.64 0.78 0.92 0.97 0.88 0.71 0.55 0.51 0.64 0.86 1.07 1.15 1.04 0.80 0.53 0.33 0.22 0.16 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.48 0.69 0.85 1.02 1.23 1.51 1.85 2.17 2.41 2.52 2.51 2.42 2.34 2.33 2.39 2.47 2.49 2.39 2.15 1.83 1.52 1.29 1.17 1.11 1.06 0.96 0.81 0.66 0.55 0.55 0.67 0.86 1.09 1.29 1.43 1.49 1.48 1.42 80.0 + 82.5 1.42 1.36 1.31 1.24 1.13 0.97 0.78 0.63 0.60 0.71 0.92 1.12 1.21 1.13 0.92 0.72 0.65 0.77 1.01 1.25 1.34 1.22 0.96 0.66 0.45 0.35 0.32 0.27 0.16 0.00 0.00 0.00 0.01 0.33 0.72 1.08 1.33 1.46 1.52 1.58 1.70 1.90 2.12 2.27 2.31 2.20 2.00 1.81 1.71 1.73 1.80 1.82 1.71 1.46 1.12 0.83 0.67 0.67 0.78 0.87 0.87 0.75 0.58 0.44 0.41 0.54 0.77 1.04 1.28 1.44 1.49 1.47 1.42 1.36 1.31 1.24 1.13 0.97 0.78 0.63 0.60 0.71 0.92 1.12 1.21 1.13 0.92 0.72 0.65 0.77 1.01 1.25 1.34 1.22 0.96 0.66 0.45 0.35 0.32 0.27 0.16 0.00 0.00 0.00 0.01 0.33 0.72 1.08 1.33 1.46 1.52 1.58 1.70 1.90 2.12 2.27 2.31 2.20 2.00 1.81 1.71 1.73 1.80 1.82 1.71 1.46 1.12 0.83 0.67 0.67 0.78 0.87 0.87 0.75 0.58 0.44 0.41 0.54 0.77 1.04 1.28 1.44 1.49 1.47 1.42 82.5 + 85.0 1.38 1.35 1.34 1.30 1.19 1.00 0.77 0.58 0.54 0.68 0.94 1.19 1.31 1.22 0.98 0.73 0.62 0.72 0.97 1.23 1.34 1.23 0.96 0.66 0.46 0.40 0.44 0.47 0.42 0.29 0.18 0.20 0.41 0.81 1.30 1.72 1.98 2.03 1.94 1.81 1.73 1.77 1.87 1.96 1.94 1.77 1.51 1.26 1.12 1.13 1.23 1.30 1.23 0.99 0.67 0.39 0.30 0.40 0.63 0.84 0.91 0.80 0.59 0.40 0.33 0.45 0.70 1.01 1.27 1.42 1.45 1.42 1.38 1.35 1.34 1.30 1.19 1.00 0.77 0.58 0.54 0.68 0.94 1.19 1.31 1.22 0.98 0.73 0.62 0.72 0.97 1.23 1.34 1.23 0.96 0.66 0.46 0.40 0.44 0.47 0.42 0.29 0.18 0.20 0.41 0.81 1.30 1.72 1.98 2.03 1.94 1.81 1.73 1.77 1.87 1.96 1.94 1.77 1.51 1.26 1.12 1.13 1.23 1.30 1.23 0.99 0.67 0.39 0.30 0.40 0.63 0.84 0.91 0.80 0.59 0.40 0.33 0.45 0.70 1.01 1.27 1.42 1.45 1.42 1.38 85.0 + 87.5 1.34 1.34 1.36 1.33 1.22 1.00 0.72 0.50 0.44 0.59 0.87 1.15 1.28 1.18 0.90 0.60 0.45 0.53 0.79 1.06 1.20 1.11 0.87 0.59 0.43 0.44 0.57 0.69 0.73 0.67 0.59 0.63 0.87 1.30 1.81 2.24 2.46 2.42 2.17 1.84 1.59 1.48 1.50 1.54 1.51 1.34 1.07 0.82 0.69 0.73 0.89 1.03 1.01 0.81 0.50 0.24 0.18 0.35 0.65 0.92 1.03 0.92 0.66 0.42 0.32 0.41 0.67 0.99 1.25 1.39 1.41 1.37 1.34 1.34 1.36 1.33 1.22 1.00 0.72 0.50 0.44 0.59 0.87 1.15 1.28 1.18 0.90 0.60 0.45 0.53 0.79 1.06 1.20 1.11 0.87 0.59 0.43 0.44 0.57 0.69 0.73 0.67 0.59 0.63 0.87 1.30 1.81 2.24 2.46 2.42 2.17 1.84 1.59 1.48 1.50 1.54 1.51 1.34 1.07 0.82 0.69 0.73 0.89 1.03 1.01 0.81 0.50 0.24 0.18 0.35 0.65 0.92 1.03 0.92 0.66 0.42 0.32 0.41 0.67 0.99 1.25 1.39 1.41 1.37 1.34 87.5 + 90.0 1.32 1.34 1.38 1.36 1.23 0.99 0.68 0.44 0.36 0.49 0.77 1.04 1.17 1.06 0.76 0.44 0.27 0.33 0.58 0.87 1.04 1.00 0.80 0.57 0.47 0.55 0.76 0.97 1.09 1.09 1.05 1.08 1.28 1.67 2.12 2.50 2.64 2.50 2.12 1.67 1.28 1.08 1.05 1.09 1.09 0.97 0.76 0.55 0.47 0.57 0.80 1.00 1.04 0.87 0.58 0.33 0.27 0.44 0.76 1.06 1.17 1.04 0.77 0.49 0.36 0.44 0.68 0.99 1.23 1.36 1.38 1.34 1.32 1.34 1.38 1.36 1.23 0.99 0.68 0.44 0.36 0.49 0.77 1.04 1.17 1.06 0.76 0.44 0.27 0.33 0.58 0.87 1.04 1.00 0.80 0.57 0.47 0.55 0.76 0.97 1.09 1.09 1.05 1.08 1.28 1.67 2.12 2.50 2.64 2.50 2.12 1.67 1.28 1.08 1.05 1.09 1.09 0.97 0.76 0.55 0.47 0.57 0.80 1.00 1.04 0.87 0.58 0.33 0.27 0.44 0.76 1.06 1.17 1.04 0.77 0.49 0.36 0.44 0.68 0.99 1.23 1.36 1.38 1.34 1.32 90.0 + + 67.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.52 ) PHI2 = 68. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.0 + 2.5 0.49 0.65 0.85 1.07 1.29 1.53 1.79 2.03 2.22 2.30 2.25 2.09 1.86 1.61 1.37 1.14 0.92 0.71 0.54 0.42 0.37 0.36 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.25 0.37 0.41 0.41 0.45 0.55 0.71 0.91 1.12 1.35 1.58 1.82 2.04 2.19 2.24 2.16 1.99 1.76 1.51 1.28 1.05 0.84 0.65 0.50 0.42 0.40 0.41 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.08 0.26 0.35 0.36 0.35 0.39 0.49 0.65 0.85 1.07 1.29 1.53 1.79 2.03 2.22 2.30 2.25 2.09 1.86 1.61 1.37 1.14 0.92 0.71 0.54 0.42 0.37 0.36 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.25 0.37 0.41 0.41 0.45 0.55 0.71 0.91 1.12 1.35 1.58 1.82 2.04 2.19 2.24 2.16 1.99 1.76 1.51 1.28 1.05 0.84 0.65 0.50 0.42 0.40 0.41 0.38 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.08 0.26 0.35 0.36 0.35 0.39 0.49 2.5 + 5.0 0.36 0.51 0.70 0.92 1.17 1.45 1.76 2.07 2.32 2.45 2.43 2.27 2.02 1.74 1.47 1.22 0.98 0.76 0.58 0.45 0.38 0.37 0.36 0.29 0.15 0.00 0.00 0.00 0.00 0.00 0.13 0.33 0.46 0.50 0.49 0.51 0.57 0.71 0.90 1.13 1.38 1.64 1.88 2.09 2.21 2.22 2.11 1.91 1.65 1.38 1.13 0.89 0.68 0.51 0.41 0.39 0.43 0.48 0.49 0.41 0.24 0.03 0.00 0.00 0.00 0.06 0.23 0.34 0.36 0.32 0.27 0.28 0.36 0.51 0.70 0.92 1.17 1.45 1.76 2.07 2.32 2.45 2.43 2.27 2.02 1.74 1.47 1.22 0.98 0.76 0.58 0.45 0.38 0.37 0.36 0.29 0.15 0.00 0.00 0.00 0.00 0.00 0.13 0.33 0.46 0.50 0.49 0.51 0.57 0.71 0.90 1.13 1.38 1.64 1.88 2.09 2.21 2.22 2.11 1.91 1.65 1.38 1.13 0.89 0.68 0.51 0.41 0.39 0.43 0.48 0.49 0.41 0.24 0.03 0.00 0.00 0.00 0.06 0.23 0.34 0.36 0.32 0.27 0.28 0.36 5.0 + 7.5 0.21 0.34 0.51 0.73 0.99 1.31 1.68 2.06 2.39 2.59 2.62 2.48 2.23 1.93 1.63 1.36 1.13 0.91 0.73 0.58 0.51 0.49 0.50 0.48 0.39 0.24 0.07 0.00 0.00 0.09 0.28 0.47 0.60 0.63 0.61 0.58 0.59 0.69 0.86 1.10 1.37 1.66 1.91 2.09 2.16 2.13 1.99 1.76 1.49 1.21 0.93 0.68 0.48 0.34 0.30 0.36 0.47 0.57 0.61 0.54 0.39 0.21 0.09 0.08 0.16 0.29 0.40 0.42 0.36 0.26 0.18 0.15 0.21 0.34 0.51 0.73 0.99 1.31 1.68 2.06 2.39 2.59 2.62 2.48 2.23 1.93 1.63 1.36 1.13 0.91 0.73 0.58 0.51 0.49 0.50 0.48 0.39 0.24 0.07 0.00 0.00 0.09 0.28 0.47 0.60 0.63 0.61 0.58 0.59 0.69 0.86 1.10 1.37 1.66 1.91 2.09 2.16 2.13 1.99 1.76 1.49 1.21 0.93 0.68 0.48 0.34 0.30 0.36 0.47 0.57 0.61 0.54 0.39 0.21 0.09 0.08 0.16 0.29 0.40 0.42 0.36 0.26 0.18 0.15 0.21 7.5 + 10.0 0.11 0.20 0.34 0.52 0.77 1.10 1.51 1.96 2.36 2.64 2.73 2.63 2.40 2.11 1.83 1.59 1.38 1.20 1.03 0.88 0.79 0.77 0.79 0.81 0.76 0.64 0.47 0.32 0.26 0.32 0.47 0.64 0.77 0.80 0.75 0.66 0.61 0.64 0.78 1.02 1.31 1.61 1.85 1.99 2.03 1.95 1.78 1.56 1.30 1.03 0.76 0.51 0.32 0.22 0.24 0.35 0.51 0.63 0.66 0.58 0.43 0.28 0.21 0.24 0.35 0.45 0.50 0.46 0.34 0.21 0.10 0.07 0.11 0.20 0.34 0.52 0.77 1.10 1.51 1.96 2.36 2.64 2.73 2.63 2.40 2.11 1.83 1.59 1.38 1.20 1.03 0.88 0.79 0.77 0.79 0.81 0.76 0.64 0.47 0.32 0.26 0.32 0.47 0.64 0.77 0.80 0.75 0.66 0.61 0.64 0.78 1.02 1.31 1.61 1.85 1.99 2.03 1.95 1.78 1.56 1.30 1.03 0.76 0.51 0.32 0.22 0.24 0.35 0.51 0.63 0.66 0.58 0.43 0.28 0.21 0.24 0.35 0.45 0.50 0.46 0.34 0.21 0.10 0.07 0.11 10.0 + 12.5 0.06 0.12 0.20 0.33 0.54 0.85 1.27 1.74 2.19 2.53 2.68 2.64 2.47 2.23 2.01 1.84 1.70 1.56 1.42 1.28 1.18 1.14 1.17 1.20 1.19 1.07 0.88 0.68 0.55 0.55 0.66 0.82 0.94 0.96 0.87 0.73 0.61 0.58 0.69 0.92 1.21 1.51 1.72 1.83 1.82 1.71 1.54 1.34 1.13 0.89 0.64 0.41 0.24 0.17 0.23 0.38 0.55 0.65 0.64 0.51 0.34 0.22 0.20 0.28 0.41 0.51 0.52 0.44 0.30 0.16 0.07 0.04 0.06 0.12 0.20 0.33 0.54 0.85 1.27 1.74 2.19 2.53 2.68 2.64 2.47 2.23 2.01 1.84 1.70 1.56 1.42 1.28 1.18 1.14 1.17 1.20 1.19 1.07 0.88 0.68 0.55 0.55 0.66 0.82 0.94 0.96 0.87 0.73 0.61 0.58 0.69 0.92 1.21 1.51 1.72 1.83 1.82 1.71 1.54 1.34 1.13 0.89 0.64 0.41 0.24 0.17 0.23 0.38 0.55 0.65 0.64 0.51 0.34 0.22 0.20 0.28 0.41 0.51 0.52 0.44 0.30 0.16 0.07 0.04 0.06 12.5 + 15.0 0.05 0.07 0.09 0.16 0.31 0.58 0.98 1.44 1.91 2.27 2.47 2.51 2.42 2.27 2.14 2.05 1.98 1.90 1.77 1.62 1.50 1.45 1.47 1.52 1.51 1.40 1.19 0.95 0.77 0.72 0.80 0.95 1.07 1.08 0.96 0.77 0.60 0.54 0.62 0.85 1.14 1.42 1.61 1.67 1.62 1.49 1.33 1.17 1.00 0.81 0.60 0.39 0.24 0.19 0.27 0.43 0.58 0.63 0.56 0.38 0.19 0.09 0.11 0.24 0.40 0.50 0.49 0.39 0.25 0.12 0.05 0.04 0.05 0.07 0.09 0.16 0.31 0.58 0.98 1.44 1.91 2.27 2.47 2.51 2.42 2.27 2.14 2.05 1.98 1.90 1.77 1.62 1.50 1.45 1.47 1.52 1.51 1.40 1.19 0.95 0.77 0.72 0.80 0.95 1.07 1.08 0.96 0.77 0.60 0.54 0.62 0.85 1.14 1.42 1.61 1.67 1.62 1.49 1.33 1.17 1.00 0.81 0.60 0.39 0.24 0.19 0.27 0.43 0.58 0.63 0.56 0.38 0.19 0.09 0.11 0.24 0.40 0.50 0.49 0.39 0.25 0.12 0.05 0.04 0.05 15.0 + 17.5 0.03 0.01 0.00 0.00 0.10 0.33 0.69 1.13 1.56 1.93 2.16 2.25 2.25 2.21 2.19 2.18 2.16 2.10 1.97 1.80 1.65 1.58 1.60 1.64 1.65 1.54 1.32 1.06 0.85 0.79 0.86 1.00 1.11 1.11 0.98 0.77 0.59 0.53 0.62 0.85 1.15 1.41 1.57 1.60 1.52 1.38 1.23 1.09 0.96 0.80 0.61 0.42 0.29 0.26 0.35 0.50 0.62 0.62 0.48 0.26 0.07 0.00 0.07 0.25 0.43 0.51 0.48 0.35 0.20 0.09 0.04 0.03 0.03 0.01 0.00 0.00 0.10 0.33 0.69 1.13 1.56 1.93 2.16 2.25 2.25 2.21 2.19 2.18 2.16 2.10 1.97 1.80 1.65 1.58 1.60 1.64 1.65 1.54 1.32 1.06 0.85 0.79 0.86 1.00 1.11 1.11 0.98 0.77 0.59 0.53 0.62 0.85 1.15 1.41 1.57 1.60 1.52 1.38 1.23 1.09 0.96 0.80 0.61 0.42 0.29 0.26 0.35 0.50 0.62 0.62 0.48 0.26 0.07 0.00 0.07 0.25 0.43 0.51 0.48 0.35 0.20 0.09 0.04 0.03 0.03 17.5 + 20.0 0.00 0.00 0.00 0.00 0.00 0.13 0.45 0.84 1.23 1.56 1.80 1.94 2.02 2.08 2.15 2.21 2.22 2.15 2.00 1.80 1.63 1.56 1.57 1.63 1.63 1.52 1.31 1.05 0.85 0.79 0.86 0.99 1.08 1.06 0.92 0.73 0.58 0.55 0.68 0.93 1.23 1.48 1.61 1.62 1.52 1.38 1.24 1.12 0.99 0.85 0.66 0.48 0.36 0.35 0.45 0.60 0.69 0.64 0.47 0.23 0.06 0.03 0.16 0.37 0.55 0.61 0.53 0.36 0.19 0.08 0.03 0.02 0.00 0.00 0.00 0.00 0.00 0.13 0.45 0.84 1.23 1.56 1.80 1.94 2.02 2.08 2.15 2.21 2.22 2.15 2.00 1.80 1.63 1.56 1.57 1.63 1.63 1.52 1.31 1.05 0.85 0.79 0.86 0.99 1.08 1.06 0.92 0.73 0.58 0.55 0.68 0.93 1.23 1.48 1.61 1.62 1.52 1.38 1.24 1.12 0.99 0.85 0.66 0.48 0.36 0.35 0.45 0.60 0.69 0.64 0.47 0.23 0.06 0.03 0.16 0.37 0.55 0.61 0.53 0.36 0.19 0.08 0.03 0.02 0.00 20.0 + 22.5 0.00 0.00 0.00 0.00 0.00 0.00 0.29 0.64 0.96 1.23 1.45 1.62 1.77 1.93 2.08 2.20 2.23 2.16 1.99 1.79 1.63 1.57 1.60 1.66 1.66 1.54 1.31 1.06 0.87 0.81 0.86 0.96 1.01 0.96 0.82 0.66 0.56 0.58 0.76 1.03 1.32 1.55 1.67 1.66 1.57 1.44 1.31 1.19 1.06 0.91 0.72 0.55 0.44 0.45 0.57 0.71 0.79 0.72 0.54 0.32 0.18 0.21 0.39 0.62 0.78 0.78 0.64 0.42 0.22 0.10 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.29 0.64 0.96 1.23 1.45 1.62 1.77 1.93 2.08 2.20 2.23 2.16 1.99 1.79 1.63 1.57 1.60 1.66 1.66 1.54 1.31 1.06 0.87 0.81 0.86 0.96 1.01 0.96 0.82 0.66 0.56 0.58 0.76 1.03 1.32 1.55 1.67 1.66 1.57 1.44 1.31 1.19 1.06 0.91 0.72 0.55 0.44 0.45 0.57 0.71 0.79 0.72 0.54 0.32 0.18 0.21 0.39 0.62 0.78 0.78 0.64 0.42 0.22 0.10 0.04 0.00 0.00 22.5 + 25.0 0.00 0.00 0.00 0.00 0.00 0.00 0.21 0.51 0.77 0.98 1.16 1.35 1.57 1.82 2.07 2.26 2.33 2.28 2.14 1.98 1.88 1.88 1.94 1.99 1.95 1.78 1.52 1.25 1.04 0.95 0.95 0.98 0.96 0.86 0.71 0.58 0.54 0.62 0.81 1.08 1.33 1.53 1.62 1.62 1.54 1.44 1.33 1.22 1.09 0.94 0.76 0.60 0.52 0.56 0.69 0.83 0.90 0.84 0.66 0.47 0.38 0.46 0.67 0.90 1.02 0.97 0.77 0.51 0.29 0.16 0.09 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.21 0.51 0.77 0.98 1.16 1.35 1.57 1.82 2.07 2.26 2.33 2.28 2.14 1.98 1.88 1.88 1.94 1.99 1.95 1.78 1.52 1.25 1.04 0.95 0.95 0.98 0.96 0.86 0.71 0.58 0.54 0.62 0.81 1.08 1.33 1.53 1.62 1.62 1.54 1.44 1.33 1.22 1.09 0.94 0.76 0.60 0.52 0.56 0.69 0.83 0.90 0.84 0.66 0.47 0.38 0.46 0.67 0.90 1.02 0.97 0.77 0.51 0.29 0.16 0.09 0.04 0.00 25.0 + 27.5 0.02 0.00 0.00 0.00 0.00 0.00 0.20 0.46 0.67 0.82 0.97 1.18 1.47 1.82 2.18 2.46 2.61 2.63 2.58 2.53 2.54 2.61 2.70 2.73 2.61 2.35 2.01 1.67 1.42 1.27 1.18 1.11 0.99 0.83 0.66 0.56 0.55 0.66 0.83 1.04 1.22 1.35 1.41 1.40 1.35 1.29 1.21 1.13 1.02 0.89 0.74 0.62 0.58 0.65 0.80 0.94 1.00 0.93 0.77 0.61 0.56 0.67 0.90 1.11 1.19 1.10 0.86 0.58 0.37 0.26 0.21 0.15 0.02 0.00 0.00 0.00 0.00 0.00 0.20 0.46 0.67 0.82 0.97 1.18 1.47 1.82 2.18 2.46 2.61 2.63 2.58 2.53 2.54 2.61 2.70 2.73 2.61 2.35 2.01 1.67 1.42 1.27 1.18 1.11 0.99 0.83 0.66 0.56 0.55 0.66 0.83 1.04 1.22 1.35 1.41 1.40 1.35 1.29 1.21 1.13 1.02 0.89 0.74 0.62 0.58 0.65 0.80 0.94 1.00 0.93 0.77 0.61 0.56 0.67 0.90 1.11 1.19 1.10 0.86 0.58 0.37 0.26 0.21 0.15 0.02 27.5 + 30.0 0.17 0.00 0.00 0.00 0.00 0.00 0.27 0.51 0.67 0.77 0.91 1.14 1.49 1.94 2.40 2.78 3.04 3.18 3.27 3.37 3.52 3.69 3.80 3.76 3.54 3.15 2.70 2.27 1.94 1.70 1.52 1.33 1.11 0.89 0.71 0.62 0.63 0.72 0.84 0.94 1.01 1.04 1.04 1.03 1.01 0.98 0.94 0.90 0.83 0.74 0.65 0.59 0.61 0.71 0.86 1.00 1.04 0.96 0.80 0.67 0.65 0.78 1.00 1.19 1.23 1.10 0.86 0.61 0.44 0.38 0.37 0.32 0.17 0.00 0.00 0.00 0.00 0.00 0.27 0.51 0.67 0.77 0.91 1.14 1.49 1.94 2.40 2.78 3.04 3.18 3.27 3.37 3.52 3.69 3.80 3.76 3.54 3.15 2.70 2.27 1.94 1.70 1.52 1.33 1.11 0.89 0.71 0.62 0.63 0.72 0.84 0.94 1.01 1.04 1.04 1.03 1.01 0.98 0.94 0.90 0.83 0.74 0.65 0.59 0.61 0.71 0.86 1.00 1.04 0.96 0.80 0.67 0.65 0.78 1.00 1.19 1.23 1.10 0.86 0.61 0.44 0.38 0.37 0.32 0.17 30.0 + 32.5 0.35 0.12 0.00 0.00 0.00 0.14 0.42 0.64 0.77 0.86 0.98 1.22 1.62 2.13 2.67 3.14 3.49 3.75 3.98 4.24 4.52 4.77 4.87 4.76 4.41 3.90 3.33 2.82 2.43 2.13 1.86 1.58 1.29 1.02 0.84 0.77 0.79 0.84 0.86 0.84 0.78 0.71 0.65 0.62 0.61 0.61 0.60 0.59 0.56 0.52 0.50 0.50 0.57 0.71 0.86 0.98 0.99 0.90 0.74 0.63 0.63 0.77 0.98 1.14 1.15 1.00 0.77 0.56 0.47 0.48 0.52 0.50 0.35 0.12 0.00 0.00 0.00 0.14 0.42 0.64 0.77 0.86 0.98 1.22 1.62 2.13 2.67 3.14 3.49 3.75 3.98 4.24 4.52 4.77 4.87 4.76 4.41 3.90 3.33 2.82 2.43 2.13 1.86 1.58 1.29 1.02 0.84 0.77 0.79 0.84 0.86 0.84 0.78 0.71 0.65 0.62 0.61 0.61 0.60 0.59 0.56 0.52 0.50 0.50 0.57 0.71 0.86 0.98 0.99 0.90 0.74 0.63 0.63 0.77 0.98 1.14 1.15 1.00 0.77 0.56 0.47 0.48 0.52 0.50 0.35 32.5 + 35.0 0.50 0.27 0.07 0.00 0.10 0.35 0.63 0.86 0.98 1.04 1.14 1.38 1.78 2.31 2.87 3.36 3.77 4.10 4.43 4.80 5.16 5.45 5.52 5.33 4.87 4.26 3.63 3.09 2.69 2.36 2.06 1.75 1.42 1.16 1.00 0.95 0.98 0.99 0.94 0.81 0.64 0.48 0.37 0.31 0.31 0.31 0.32 0.31 0.30 0.30 0.32 0.38 0.50 0.65 0.80 0.88 0.87 0.75 0.60 0.51 0.54 0.69 0.89 1.02 1.00 0.84 0.63 0.48 0.45 0.53 0.62 0.63 0.50 0.27 0.07 0.00 0.10 0.35 0.63 0.86 0.98 1.04 1.14 1.38 1.78 2.31 2.87 3.36 3.77 4.10 4.43 4.80 5.16 5.45 5.52 5.33 4.87 4.26 3.63 3.09 2.69 2.36 2.06 1.75 1.42 1.16 1.00 0.95 0.98 0.99 0.94 0.81 0.64 0.48 0.37 0.31 0.31 0.31 0.32 0.31 0.30 0.30 0.32 0.38 0.50 0.65 0.80 0.88 0.87 0.75 0.60 0.51 0.54 0.69 0.89 1.02 1.00 0.84 0.63 0.48 0.45 0.53 0.62 0.63 0.50 35.0 + 37.5 0.57 0.38 0.21 0.18 0.33 0.60 0.90 1.11 1.22 1.25 1.32 1.53 1.89 2.37 2.87 3.32 3.70 4.03 4.38 4.78 5.17 5.44 5.47 5.21 4.69 4.05 3.43 2.94 2.59 2.31 2.04 1.74 1.44 1.21 1.09 1.09 1.13 1.14 1.05 0.86 0.63 0.42 0.29 0.22 0.21 0.21 0.20 0.17 0.15 0.15 0.19 0.28 0.42 0.58 0.71 0.76 0.71 0.58 0.43 0.37 0.43 0.60 0.80 0.91 0.87 0.70 0.50 0.38 0.39 0.52 0.65 0.68 0.57 0.38 0.21 0.18 0.33 0.60 0.90 1.11 1.22 1.25 1.32 1.53 1.89 2.37 2.87 3.32 3.70 4.03 4.38 4.78 5.17 5.44 5.47 5.21 4.69 4.05 3.43 2.94 2.59 2.31 2.04 1.74 1.44 1.21 1.09 1.09 1.13 1.14 1.05 0.86 0.63 0.42 0.29 0.22 0.21 0.21 0.20 0.17 0.15 0.15 0.19 0.28 0.42 0.58 0.71 0.76 0.71 0.58 0.43 0.37 0.43 0.60 0.80 0.91 0.87 0.70 0.50 0.38 0.39 0.52 0.65 0.68 0.57 37.5 + 40.0 0.60 0.46 0.35 0.37 0.56 0.86 1.15 1.34 1.41 1.40 1.42 1.56 1.85 2.23 2.62 2.96 3.24 3.49 3.79 4.14 4.50 4.72 4.71 4.42 3.90 3.30 2.76 2.38 2.15 1.98 1.79 1.56 1.32 1.13 1.07 1.11 1.18 1.21 1.12 0.94 0.71 0.52 0.39 0.33 0.32 0.30 0.27 0.21 0.15 0.12 0.15 0.24 0.38 0.54 0.65 0.67 0.58 0.42 0.29 0.26 0.36 0.56 0.77 0.87 0.81 0.63 0.43 0.33 0.36 0.49 0.63 0.68 0.60 0.46 0.35 0.37 0.56 0.86 1.15 1.34 1.41 1.40 1.42 1.56 1.85 2.23 2.62 2.96 3.24 3.49 3.79 4.14 4.50 4.72 4.71 4.42 3.90 3.30 2.76 2.38 2.15 1.98 1.79 1.56 1.32 1.13 1.07 1.11 1.18 1.21 1.12 0.94 0.71 0.52 0.39 0.33 0.32 0.30 0.27 0.21 0.15 0.12 0.15 0.24 0.38 0.54 0.65 0.67 0.58 0.42 0.29 0.26 0.36 0.56 0.77 0.87 0.81 0.63 0.43 0.33 0.36 0.49 0.63 0.68 0.60 40.0 + 42.5 0.64 0.54 0.49 0.56 0.78 1.07 1.33 1.47 1.47 1.40 1.36 1.42 1.61 1.88 2.14 2.33 2.47 2.60 2.80 3.08 3.36 3.54 3.50 3.22 2.75 2.24 1.84 1.61 1.51 1.48 1.40 1.26 1.08 0.94 0.91 0.98 1.08 1.14 1.11 0.98 0.81 0.66 0.57 0.53 0.53 0.51 0.46 0.38 0.28 0.22 0.21 0.28 0.41 0.55 0.64 0.63 0.51 0.34 0.21 0.21 0.36 0.60 0.83 0.93 0.86 0.67 0.47 0.37 0.39 0.52 0.65 0.70 0.64 0.54 0.49 0.56 0.78 1.07 1.33 1.47 1.47 1.40 1.36 1.42 1.61 1.88 2.14 2.33 2.47 2.60 2.80 3.08 3.36 3.54 3.50 3.22 2.75 2.24 1.84 1.61 1.51 1.48 1.40 1.26 1.08 0.94 0.91 0.98 1.08 1.14 1.11 0.98 0.81 0.66 0.57 0.53 0.53 0.51 0.46 0.38 0.28 0.22 0.21 0.28 0.41 0.55 0.64 0.63 0.51 0.34 0.21 0.21 0.36 0.60 0.83 0.93 0.86 0.67 0.47 0.37 0.39 0.52 0.65 0.70 0.64 42.5 + 45.0 0.74 0.66 0.64 0.74 0.95 1.19 1.38 1.43 1.36 1.22 1.12 1.12 1.23 1.39 1.52 1.58 1.58 1.60 1.70 1.90 2.13 2.27 2.23 1.98 1.60 1.21 0.94 0.85 0.90 0.98 1.01 0.94 0.82 0.71 0.68 0.74 0.85 0.94 0.97 0.93 0.83 0.74 0.68 0.68 0.69 0.70 0.67 0.59 0.49 0.39 0.35 0.39 0.49 0.62 0.69 0.65 0.51 0.33 0.22 0.26 0.45 0.73 0.98 1.09 1.02 0.84 0.64 0.53 0.55 0.66 0.76 0.79 0.74 0.66 0.64 0.74 0.95 1.19 1.38 1.43 1.36 1.22 1.12 1.12 1.23 1.39 1.52 1.58 1.58 1.60 1.70 1.90 2.13 2.27 2.23 1.98 1.60 1.21 0.94 0.85 0.90 0.98 1.01 0.94 0.82 0.71 0.68 0.74 0.85 0.94 0.97 0.93 0.83 0.74 0.68 0.68 0.69 0.70 0.67 0.59 0.49 0.39 0.35 0.39 0.49 0.62 0.69 0.65 0.51 0.33 0.22 0.26 0.45 0.73 0.98 1.09 1.02 0.84 0.64 0.53 0.55 0.66 0.76 0.79 0.74 45.0 + 47.5 0.90 0.81 0.78 0.86 1.02 1.19 1.28 1.24 1.09 0.90 0.77 0.73 0.79 0.88 0.92 0.88 0.79 0.73 0.76 0.91 1.10 1.23 1.22 1.03 0.74 0.46 0.30 0.32 0.45 0.62 0.72 0.72 0.63 0.52 0.46 0.48 0.57 0.68 0.76 0.77 0.75 0.70 0.67 0.68 0.73 0.78 0.80 0.76 0.67 0.57 0.50 0.50 0.58 0.69 0.76 0.72 0.59 0.43 0.35 0.42 0.66 0.97 1.24 1.36 1.30 1.13 0.94 0.84 0.85 0.92 0.98 0.98 0.90 0.81 0.78 0.86 1.02 1.19 1.28 1.24 1.09 0.90 0.77 0.73 0.79 0.88 0.92 0.88 0.79 0.73 0.76 0.91 1.10 1.23 1.22 1.03 0.74 0.46 0.30 0.32 0.45 0.62 0.72 0.72 0.63 0.52 0.46 0.48 0.57 0.68 0.76 0.77 0.75 0.70 0.67 0.68 0.73 0.78 0.80 0.76 0.67 0.57 0.50 0.50 0.58 0.69 0.76 0.72 0.59 0.43 0.35 0.42 0.66 0.97 1.24 1.36 1.30 1.13 0.94 0.84 0.85 0.92 0.98 0.98 0.90 47.5 + 50.0 1.06 0.93 0.86 0.88 0.97 1.05 1.04 0.93 0.73 0.53 0.40 0.37 0.42 0.47 0.46 0.36 0.22 0.12 0.14 0.27 0.45 0.60 0.61 0.49 0.27 0.08 0.00 0.06 0.24 0.45 0.58 0.61 0.53 0.41 0.31 0.29 0.33 0.43 0.52 0.58 0.59 0.56 0.54 0.55 0.63 0.73 0.82 0.85 0.80 0.70 0.61 0.59 0.65 0.76 0.84 0.83 0.75 0.65 0.62 0.75 1.02 1.35 1.62 1.74 1.69 1.52 1.35 1.24 1.23 1.26 1.26 1.19 1.06 0.93 0.86 0.88 0.97 1.05 1.04 0.93 0.73 0.53 0.40 0.37 0.42 0.47 0.46 0.36 0.22 0.12 0.14 0.27 0.45 0.60 0.61 0.49 0.27 0.08 0.00 0.06 0.24 0.45 0.58 0.61 0.53 0.41 0.31 0.29 0.33 0.43 0.52 0.58 0.59 0.56 0.54 0.55 0.63 0.73 0.82 0.85 0.80 0.70 0.61 0.59 0.65 0.76 0.84 0.83 0.75 0.65 0.62 0.75 1.02 1.35 1.62 1.74 1.69 1.52 1.35 1.24 1.23 1.26 1.26 1.19 1.06 50.0 + 52.5 1.13 0.94 0.81 0.77 0.78 0.79 0.72 0.57 0.38 0.21 0.12 0.13 0.19 0.23 0.19 0.07 0.00 0.00 0.00 0.00 0.17 0.33 0.37 0.28 0.12 0.00 0.00 0.03 0.21 0.40 0.54 0.57 0.50 0.38 0.26 0.19 0.20 0.26 0.35 0.42 0.43 0.40 0.37 0.39 0.48 0.63 0.78 0.88 0.87 0.79 0.69 0.65 0.70 0.82 0.95 1.01 1.01 1.00 1.06 1.25 1.54 1.87 2.13 2.22 2.16 1.98 1.80 1.68 1.61 1.57 1.49 1.34 1.13 0.94 0.81 0.77 0.78 0.79 0.72 0.57 0.38 0.21 0.12 0.13 0.19 0.23 0.19 0.07 0.00 0.00 0.00 0.00 0.17 0.33 0.37 0.28 0.12 0.00 0.00 0.03 0.21 0.40 0.54 0.57 0.50 0.38 0.26 0.19 0.20 0.26 0.35 0.42 0.43 0.40 0.37 0.39 0.48 0.63 0.78 0.88 0.87 0.79 0.69 0.65 0.70 0.82 0.95 1.01 1.01 1.00 1.06 1.25 1.54 1.87 2.13 2.22 2.16 1.98 1.80 1.68 1.61 1.57 1.49 1.34 1.13 52.5 + 55.0 1.05 0.80 0.62 0.53 0.50 0.46 0.37 0.23 0.08 0.00 0.00 0.03 0.11 0.15 0.09 0.00 0.00 0.00 0.00 0.00 0.13 0.27 0.30 0.24 0.12 0.02 0.01 0.09 0.24 0.40 0.51 0.54 0.48 0.37 0.26 0.18 0.16 0.20 0.28 0.33 0.34 0.30 0.27 0.28 0.39 0.57 0.77 0.91 0.94 0.88 0.79 0.75 0.81 0.96 1.15 1.30 1.42 1.52 1.67 1.91 2.21 2.51 2.71 2.75 2.64 2.44 2.22 2.04 1.90 1.77 1.58 1.33 1.05 0.80 0.62 0.53 0.50 0.46 0.37 0.23 0.08 0.00 0.00 0.03 0.11 0.15 0.09 0.00 0.00 0.00 0.00 0.00 0.13 0.27 0.30 0.24 0.12 0.02 0.01 0.09 0.24 0.40 0.51 0.54 0.48 0.37 0.26 0.18 0.16 0.20 0.28 0.33 0.34 0.30 0.27 0.28 0.39 0.57 0.77 0.91 0.94 0.88 0.79 0.75 0.81 0.96 1.15 1.30 1.42 1.52 1.67 1.91 2.21 2.51 2.71 2.75 2.64 2.44 2.22 2.04 1.90 1.77 1.58 1.33 1.05 55.0 + 57.5 0.82 0.53 0.32 0.22 0.17 0.13 0.06 0.00 0.00 0.00 0.00 0.01 0.12 0.14 0.07 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.26 0.19 0.10 0.04 0.05 0.12 0.24 0.35 0.42 0.44 0.41 0.34 0.26 0.20 0.19 0.22 0.28 0.33 0.34 0.31 0.28 0.31 0.43 0.63 0.84 1.01 1.07 1.03 0.97 0.96 1.05 1.25 1.50 1.75 1.97 2.18 2.40 2.65 2.92 3.15 3.26 3.22 3.04 2.78 2.51 2.26 2.03 1.79 1.50 1.17 0.82 0.53 0.32 0.22 0.17 0.13 0.06 0.00 0.00 0.00 0.00 0.01 0.12 0.14 0.07 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.26 0.19 0.10 0.04 0.05 0.12 0.24 0.35 0.42 0.44 0.41 0.34 0.26 0.20 0.19 0.22 0.28 0.33 0.34 0.31 0.28 0.31 0.43 0.63 0.84 1.01 1.07 1.03 0.97 0.96 1.05 1.25 1.50 1.75 1.97 2.18 2.40 2.65 2.92 3.15 3.26 3.22 3.04 2.78 2.51 2.26 2.03 1.79 1.50 1.17 0.82 57.5 + 60.0 0.54 0.23 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.12 0.12 0.04 0.00 0.00 0.00 0.00 0.03 0.15 0.19 0.15 0.06 0.00 0.00 0.00 0.08 0.16 0.23 0.26 0.27 0.26 0.24 0.23 0.22 0.23 0.27 0.33 0.38 0.40 0.41 0.41 0.47 0.60 0.80 1.01 1.19 1.28 1.29 1.28 1.33 1.47 1.72 2.03 2.34 2.63 2.88 3.12 3.33 3.52 3.64 3.64 3.51 3.26 2.94 2.61 2.30 1.99 1.66 1.30 0.91 0.54 0.23 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.12 0.12 0.04 0.00 0.00 0.00 0.00 0.03 0.15 0.19 0.15 0.06 0.00 0.00 0.00 0.08 0.16 0.23 0.26 0.27 0.26 0.24 0.23 0.22 0.23 0.27 0.33 0.38 0.40 0.41 0.41 0.47 0.60 0.80 1.01 1.19 1.28 1.29 1.28 1.33 1.47 1.72 2.03 2.34 2.63 2.88 3.12 3.33 3.52 3.64 3.64 3.51 3.26 2.94 2.61 2.30 1.99 1.66 1.30 0.91 0.54 60.0 + 62.5 0.31 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.04 0.00 0.00 0.00 0.00 0.00 0.01 0.09 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.07 0.07 0.07 0.08 0.12 0.15 0.19 0.24 0.29 0.36 0.43 0.50 0.55 0.61 0.70 0.84 1.04 1.25 1.43 1.56 1.64 1.71 1.83 2.04 2.33 2.66 2.99 3.28 3.51 3.68 3.81 3.87 3.86 3.74 3.52 3.22 2.87 2.52 2.17 1.82 1.46 1.07 0.68 0.31 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.04 0.00 0.00 0.00 0.00 0.00 0.01 0.09 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.07 0.07 0.07 0.08 0.12 0.15 0.19 0.24 0.29 0.36 0.43 0.50 0.55 0.61 0.70 0.84 1.04 1.25 1.43 1.56 1.64 1.71 1.83 2.04 2.33 2.66 2.99 3.28 3.51 3.68 3.81 3.87 3.86 3.74 3.52 3.22 2.87 2.52 2.17 1.82 1.46 1.07 0.68 0.31 62.5 + 65.0 0.26 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.13 0.19 0.27 0.36 0.47 0.59 0.70 0.82 0.95 1.11 1.30 1.50 1.70 1.87 2.03 2.19 2.39 2.65 2.96 3.27 3.55 3.77 3.91 3.97 3.96 3.88 3.73 3.52 3.25 2.94 2.60 2.27 1.94 1.62 1.29 0.94 0.58 0.26 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.13 0.19 0.27 0.36 0.47 0.59 0.70 0.82 0.95 1.11 1.30 1.50 1.70 1.87 2.03 2.19 2.39 2.65 2.96 3.27 3.55 3.77 3.91 3.97 3.96 3.88 3.73 3.52 3.25 2.94 2.60 2.27 1.94 1.62 1.29 0.94 0.58 0.26 65.0 + 67.5 0.41 0.18 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.11 0.20 0.33 0.49 0.67 0.86 1.04 1.20 1.37 1.55 1.74 1.95 2.16 2.38 2.62 2.89 3.17 3.45 3.70 3.88 3.98 3.99 3.91 3.75 3.55 3.30 3.04 2.76 2.48 2.21 1.95 1.71 1.47 1.22 0.96 0.68 0.41 0.18 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.11 0.20 0.33 0.49 0.67 0.86 1.04 1.20 1.37 1.55 1.74 1.95 2.16 2.38 2.62 2.89 3.17 3.45 3.70 3.88 3.98 3.99 3.91 3.75 3.55 3.30 3.04 2.76 2.48 2.21 1.95 1.71 1.47 1.22 0.96 0.68 0.41 67.5 + 70.0 0.72 0.51 0.33 0.20 0.11 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.13 0.30 0.53 0.79 1.04 1.27 1.46 1.62 1.78 1.95 2.15 2.38 2.64 2.92 3.20 3.46 3.67 3.82 3.88 3.85 3.73 3.52 3.26 2.98 2.69 2.42 2.18 1.97 1.80 1.65 1.53 1.41 1.28 1.13 0.93 0.72 0.51 0.33 0.20 0.11 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.13 0.30 0.53 0.79 1.04 1.27 1.46 1.62 1.78 1.95 2.15 2.38 2.64 2.92 3.20 3.46 3.67 3.82 3.88 3.85 3.73 3.52 3.26 2.98 2.69 2.42 2.18 1.97 1.80 1.65 1.53 1.41 1.28 1.13 0.93 0.72 70.0 + 72.5 1.08 0.88 0.69 0.53 0.40 0.29 0.19 0.09 0.03 0.00 0.01 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.23 0.27 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.34 0.63 0.95 1.26 1.53 1.73 1.88 2.00 2.13 2.29 2.50 2.74 3.01 3.25 3.45 3.57 3.59 3.53 3.39 3.19 2.92 2.63 2.32 2.04 1.80 1.62 1.49 1.43 1.40 1.41 1.43 1.42 1.37 1.25 1.08 0.88 0.69 0.53 0.40 0.29 0.19 0.09 0.03 0.00 0.01 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.23 0.27 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.34 0.63 0.95 1.26 1.53 1.73 1.88 2.00 2.13 2.29 2.50 2.74 3.01 3.25 3.45 3.57 3.59 3.53 3.39 3.19 2.92 2.63 2.32 2.04 1.80 1.62 1.49 1.43 1.40 1.41 1.43 1.42 1.37 1.25 1.08 72.5 + 75.0 1.37 1.19 0.99 0.82 0.67 0.54 0.41 0.30 0.23 0.21 0.23 0.25 0.21 0.11 0.00 0.00 0.00 0.08 0.29 0.46 0.52 0.43 0.26 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.22 0.48 0.81 1.17 1.51 1.80 2.00 2.12 2.19 2.25 2.33 2.47 2.66 2.87 3.04 3.15 3.16 3.07 2.92 2.71 2.49 2.24 1.99 1.73 1.49 1.30 1.17 1.11 1.13 1.22 1.34 1.47 1.56 1.58 1.52 1.37 1.19 0.99 0.82 0.67 0.54 0.41 0.30 0.23 0.21 0.23 0.25 0.21 0.11 0.00 0.00 0.00 0.08 0.29 0.46 0.52 0.43 0.26 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.22 0.48 0.81 1.17 1.51 1.80 2.00 2.12 2.19 2.25 2.33 2.47 2.66 2.87 3.04 3.15 3.16 3.07 2.92 2.71 2.49 2.24 1.99 1.73 1.49 1.30 1.17 1.11 1.13 1.22 1.34 1.47 1.56 1.58 1.52 1.37 75.0 + 77.5 1.54 1.37 1.20 1.03 0.88 0.74 0.59 0.47 0.40 0.41 0.47 0.52 0.51 0.41 0.26 0.15 0.15 0.28 0.50 0.69 0.76 0.68 0.50 0.29 0.13 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.27 0.49 0.75 1.07 1.41 1.75 2.02 2.21 2.29 2.29 2.26 2.24 2.27 2.38 2.51 2.62 2.64 2.55 2.37 2.15 1.94 1.76 1.60 1.46 1.29 1.11 0.95 0.85 0.83 0.91 1.07 1.28 1.48 1.63 1.70 1.66 1.54 1.37 1.20 1.03 0.88 0.74 0.59 0.47 0.40 0.41 0.47 0.52 0.51 0.41 0.26 0.15 0.15 0.28 0.50 0.69 0.76 0.68 0.50 0.29 0.13 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.27 0.49 0.75 1.07 1.41 1.75 2.02 2.21 2.29 2.29 2.26 2.24 2.27 2.38 2.51 2.62 2.64 2.55 2.37 2.15 1.94 1.76 1.60 1.46 1.29 1.11 0.95 0.85 0.83 0.91 1.07 1.28 1.48 1.63 1.70 1.66 1.54 77.5 + 80.0 1.56 1.42 1.29 1.16 1.02 0.86 0.69 0.55 0.49 0.53 0.65 0.76 0.78 0.68 0.49 0.33 0.29 0.40 0.62 0.84 0.92 0.84 0.64 0.40 0.21 0.10 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.18 0.44 0.69 0.91 1.13 1.37 1.63 1.89 2.13 2.28 2.32 2.25 2.11 1.98 1.92 1.94 2.01 2.07 2.02 1.86 1.62 1.37 1.19 1.10 1.09 1.08 1.02 0.90 0.75 0.64 0.62 0.72 0.93 1.19 1.44 1.62 1.69 1.66 1.56 1.42 1.29 1.16 1.02 0.86 0.69 0.55 0.49 0.53 0.65 0.76 0.78 0.68 0.49 0.33 0.29 0.40 0.62 0.84 0.92 0.84 0.64 0.40 0.21 0.10 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.18 0.44 0.69 0.91 1.13 1.37 1.63 1.89 2.13 2.28 2.32 2.25 2.11 1.98 1.92 1.94 2.01 2.07 2.02 1.86 1.62 1.37 1.19 1.10 1.09 1.08 1.02 0.90 0.75 0.64 0.62 0.72 0.93 1.19 1.44 1.62 1.69 1.66 1.56 80.0 + 82.5 1.48 1.39 1.30 1.21 1.08 0.90 0.70 0.53 0.47 0.55 0.72 0.89 0.95 0.84 0.61 0.39 0.30 0.40 0.62 0.85 0.95 0.87 0.65 0.40 0.20 0.10 0.07 0.03 0.00 0.00 0.00 0.00 0.00 0.19 0.57 0.95 1.24 1.43 1.54 1.63 1.74 1.89 2.05 2.15 2.15 2.02 1.80 1.58 1.44 1.41 1.46 1.50 1.43 1.24 0.96 0.71 0.58 0.60 0.72 0.85 0.89 0.81 0.65 0.49 0.45 0.55 0.78 1.08 1.35 1.53 1.60 1.57 1.48 1.39 1.30 1.21 1.08 0.90 0.70 0.53 0.47 0.55 0.72 0.89 0.95 0.84 0.61 0.39 0.30 0.40 0.62 0.85 0.95 0.87 0.65 0.40 0.20 0.10 0.07 0.03 0.00 0.00 0.00 0.00 0.00 0.19 0.57 0.95 1.24 1.43 1.54 1.63 1.74 1.89 2.05 2.15 2.15 2.02 1.80 1.58 1.44 1.41 1.46 1.50 1.43 1.24 0.96 0.71 0.58 0.60 0.72 0.85 0.89 0.81 0.65 0.49 0.45 0.55 0.78 1.08 1.35 1.53 1.60 1.57 1.48 82.5 + 85.0 1.36 1.31 1.28 1.22 1.10 0.89 0.65 0.45 0.38 0.49 0.72 0.93 1.01 0.88 0.61 0.34 0.20 0.27 0.50 0.75 0.87 0.79 0.57 0.31 0.14 0.08 0.11 0.13 0.09 0.00 0.00 0.00 0.18 0.58 1.07 1.52 1.82 1.93 1.88 1.76 1.68 1.68 1.76 1.82 1.80 1.64 1.38 1.11 0.93 0.89 0.96 1.02 0.97 0.77 0.49 0.24 0.15 0.27 0.51 0.75 0.86 0.79 0.59 0.40 0.31 0.41 0.66 0.97 1.25 1.42 1.47 1.43 1.36 1.31 1.28 1.22 1.10 0.89 0.65 0.45 0.38 0.49 0.72 0.93 1.01 0.88 0.61 0.34 0.20 0.27 0.50 0.75 0.87 0.79 0.57 0.31 0.14 0.08 0.11 0.13 0.09 0.00 0.00 0.00 0.18 0.58 1.07 1.52 1.82 1.93 1.88 1.76 1.68 1.68 1.76 1.82 1.80 1.64 1.38 1.11 0.93 0.89 0.96 1.02 0.97 0.77 0.49 0.24 0.15 0.27 0.51 0.75 0.86 0.79 0.59 0.40 0.31 0.41 0.66 0.97 1.25 1.42 1.47 1.43 1.36 85.0 + 87.5 1.26 1.25 1.26 1.23 1.10 0.87 0.58 0.35 0.28 0.40 0.66 0.90 0.99 0.85 0.54 0.22 0.04 0.10 0.33 0.59 0.73 0.67 0.47 0.24 0.11 0.13 0.25 0.36 0.38 0.32 0.27 0.33 0.59 1.04 1.56 2.01 2.26 2.25 2.02 1.71 1.44 1.31 1.30 1.34 1.32 1.17 0.92 0.65 0.49 0.50 0.61 0.72 0.71 0.53 0.24 0.00 0.00 0.11 0.43 0.73 0.88 0.81 0.58 0.34 0.23 0.32 0.57 0.89 1.16 1.32 1.35 1.31 1.26 1.25 1.26 1.23 1.10 0.87 0.58 0.35 0.28 0.40 0.66 0.90 0.99 0.85 0.54 0.22 0.04 0.10 0.33 0.59 0.73 0.67 0.47 0.24 0.11 0.13 0.25 0.36 0.38 0.32 0.27 0.33 0.59 1.04 1.56 2.01 2.26 2.25 2.02 1.71 1.44 1.31 1.30 1.34 1.32 1.17 0.92 0.65 0.49 0.50 0.61 0.72 0.71 0.53 0.24 0.00 0.00 0.11 0.43 0.73 0.88 0.81 0.58 0.34 0.23 0.32 0.57 0.89 1.16 1.32 1.35 1.31 1.26 87.5 + 90.0 1.22 1.24 1.28 1.25 1.12 0.86 0.55 0.30 0.22 0.34 0.61 0.85 0.93 0.78 0.46 0.12 0.00 0.00 0.21 0.49 0.65 0.62 0.45 0.28 0.22 0.31 0.52 0.71 0.81 0.80 0.77 0.82 1.05 1.45 1.91 2.28 2.42 2.28 1.91 1.45 1.05 0.82 0.77 0.80 0.81 0.71 0.52 0.31 0.22 0.28 0.45 0.62 0.65 0.49 0.21 0.00 0.00 0.12 0.46 0.78 0.93 0.85 0.61 0.34 0.22 0.30 0.55 0.86 1.12 1.25 1.28 1.24 1.22 1.24 1.28 1.25 1.12 0.86 0.55 0.30 0.22 0.34 0.61 0.85 0.93 0.78 0.46 0.12 0.00 0.00 0.21 0.49 0.65 0.62 0.45 0.28 0.22 0.31 0.52 0.71 0.81 0.80 0.77 0.82 1.05 1.45 1.91 2.28 2.42 2.28 1.91 1.45 1.05 0.82 0.77 0.80 0.81 0.71 0.52 0.31 0.22 0.28 0.45 0.62 0.65 0.49 0.21 0.00 0.00 0.12 0.46 0.78 0.93 0.85 0.61 0.34 0.22 0.30 0.55 0.86 1.12 1.25 1.28 1.24 1.22 90.0 + + 70.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.82 ) PHI2 = 70. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.0 + 2.5 0.65 0.85 1.07 1.29 1.54 1.79 2.04 2.22 2.30 2.25 2.09 1.86 1.61 1.36 1.14 0.92 0.71 0.54 0.42 0.37 0.36 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.25 0.37 0.41 0.41 0.45 0.55 0.71 0.90 1.12 1.35 1.58 1.82 2.04 2.19 2.23 2.16 1.99 1.76 1.51 1.28 1.06 0.85 0.65 0.50 0.42 0.40 0.41 0.39 0.28 0.08 0.00 0.00 0.00 0.00 0.00 0.08 0.26 0.34 0.36 0.35 0.39 0.49 0.65 0.85 1.07 1.29 1.54 1.79 2.04 2.22 2.30 2.25 2.09 1.86 1.61 1.36 1.14 0.92 0.71 0.54 0.42 0.37 0.36 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.25 0.37 0.41 0.41 0.45 0.55 0.71 0.90 1.12 1.35 1.58 1.82 2.04 2.19 2.23 2.16 1.99 1.76 1.51 1.28 1.06 0.85 0.65 0.50 0.42 0.40 0.41 0.39 0.28 0.08 0.00 0.00 0.00 0.00 0.00 0.08 0.26 0.34 0.36 0.35 0.39 0.49 0.65 2.5 + 5.0 0.51 0.71 0.93 1.18 1.46 1.77 2.08 2.33 2.45 2.43 2.27 2.01 1.73 1.45 1.20 0.96 0.75 0.56 0.43 0.36 0.35 0.34 0.28 0.15 0.00 0.00 0.00 0.00 0.00 0.13 0.33 0.45 0.49 0.49 0.50 0.56 0.69 0.88 1.11 1.36 1.62 1.86 2.07 2.19 2.20 2.10 1.90 1.65 1.39 1.13 0.89 0.68 0.51 0.41 0.39 0.43 0.48 0.49 0.40 0.23 0.02 0.00 0.00 0.00 0.05 0.22 0.33 0.34 0.30 0.26 0.27 0.36 0.51 0.71 0.93 1.18 1.46 1.77 2.08 2.33 2.45 2.43 2.27 2.01 1.73 1.45 1.20 0.96 0.75 0.56 0.43 0.36 0.35 0.34 0.28 0.15 0.00 0.00 0.00 0.00 0.00 0.13 0.33 0.45 0.49 0.49 0.50 0.56 0.69 0.88 1.11 1.36 1.62 1.86 2.07 2.19 2.20 2.10 1.90 1.65 1.39 1.13 0.89 0.68 0.51 0.41 0.39 0.43 0.48 0.49 0.40 0.23 0.02 0.00 0.00 0.00 0.05 0.22 0.33 0.34 0.30 0.26 0.27 0.36 0.51 5.0 + 7.5 0.34 0.52 0.73 0.99 1.32 1.69 2.08 2.40 2.60 2.61 2.46 2.20 1.89 1.59 1.32 1.08 0.87 0.68 0.53 0.46 0.44 0.45 0.44 0.36 0.21 0.04 0.00 0.00 0.05 0.24 0.44 0.57 0.61 0.58 0.54 0.55 0.63 0.81 1.04 1.32 1.60 1.85 2.04 2.12 2.09 1.96 1.75 1.48 1.20 0.93 0.67 0.47 0.33 0.29 0.35 0.45 0.55 0.58 0.50 0.34 0.17 0.05 0.04 0.13 0.26 0.36 0.38 0.32 0.22 0.15 0.13 0.20 0.34 0.52 0.73 0.99 1.32 1.69 2.08 2.40 2.60 2.61 2.46 2.20 1.89 1.59 1.32 1.08 0.87 0.68 0.53 0.46 0.44 0.45 0.44 0.36 0.21 0.04 0.00 0.00 0.05 0.24 0.44 0.57 0.61 0.58 0.54 0.55 0.63 0.81 1.04 1.32 1.60 1.85 2.04 2.12 2.09 1.96 1.75 1.48 1.20 0.93 0.67 0.47 0.33 0.29 0.35 0.45 0.55 0.58 0.50 0.34 0.17 0.05 0.04 0.13 0.26 0.36 0.38 0.32 0.22 0.15 0.13 0.20 0.34 7.5 + 10.0 0.18 0.32 0.51 0.76 1.10 1.52 1.97 2.37 2.63 2.70 2.58 2.33 2.03 1.74 1.50 1.30 1.11 0.93 0.78 0.69 0.67 0.69 0.71 0.68 0.56 0.39 0.23 0.16 0.22 0.37 0.55 0.69 0.72 0.67 0.57 0.51 0.54 0.68 0.92 1.21 1.51 1.75 1.90 1.94 1.88 1.73 1.52 1.27 1.00 0.73 0.47 0.27 0.17 0.19 0.30 0.46 0.58 0.60 0.50 0.34 0.19 0.12 0.16 0.26 0.38 0.43 0.38 0.27 0.13 0.04 0.02 0.07 0.18 0.32 0.51 0.76 1.10 1.52 1.97 2.37 2.63 2.70 2.58 2.33 2.03 1.74 1.50 1.30 1.11 0.93 0.78 0.69 0.67 0.69 0.71 0.68 0.56 0.39 0.23 0.16 0.22 0.37 0.55 0.69 0.72 0.67 0.57 0.51 0.54 0.68 0.92 1.21 1.51 1.75 1.90 1.94 1.88 1.73 1.52 1.27 1.00 0.73 0.47 0.27 0.17 0.19 0.30 0.46 0.58 0.60 0.50 0.34 0.19 0.12 0.16 0.26 0.38 0.43 0.38 0.27 0.13 0.04 0.02 0.07 0.18 10.0 + 12.5 0.06 0.15 0.28 0.50 0.82 1.25 1.74 2.19 2.51 2.63 2.57 2.37 2.12 1.89 1.71 1.57 1.43 1.28 1.13 1.02 0.98 1.00 1.04 1.03 0.92 0.73 0.51 0.37 0.37 0.48 0.66 0.79 0.82 0.74 0.58 0.45 0.42 0.53 0.77 1.07 1.37 1.59 1.70 1.70 1.61 1.46 1.27 1.07 0.83 0.58 0.33 0.15 0.07 0.13 0.28 0.45 0.55 0.52 0.38 0.20 0.07 0.05 0.14 0.28 0.39 0.41 0.32 0.18 0.05 0.00 0.00 0.00 0.06 0.15 0.28 0.50 0.82 1.25 1.74 2.19 2.51 2.63 2.57 2.37 2.12 1.89 1.71 1.57 1.43 1.28 1.13 1.02 0.98 1.00 1.04 1.03 0.92 0.73 0.51 0.37 0.37 0.48 0.66 0.79 0.82 0.74 0.58 0.45 0.42 0.53 0.77 1.07 1.37 1.59 1.70 1.70 1.61 1.46 1.27 1.07 0.83 0.58 0.33 0.15 0.07 0.13 0.28 0.45 0.55 0.52 0.38 0.20 0.07 0.05 0.14 0.28 0.39 0.41 0.32 0.18 0.05 0.00 0.00 0.00 0.06 12.5 + 15.0 0.00 0.01 0.08 0.24 0.53 0.95 1.43 1.90 2.25 2.43 2.42 2.30 2.13 1.99 1.89 1.83 1.74 1.61 1.45 1.31 1.24 1.26 1.31 1.30 1.19 0.97 0.72 0.52 0.47 0.56 0.73 0.87 0.90 0.79 0.59 0.42 0.35 0.44 0.67 0.97 1.26 1.45 1.52 1.48 1.37 1.24 1.09 0.93 0.73 0.51 0.28 0.11 0.06 0.14 0.30 0.46 0.51 0.42 0.22 0.01 0.00 0.00 0.07 0.24 0.35 0.35 0.25 0.10 0.00 0.00 0.00 0.00 0.00 0.01 0.08 0.24 0.53 0.95 1.43 1.90 2.25 2.43 2.42 2.30 2.13 1.99 1.89 1.83 1.74 1.61 1.45 1.31 1.24 1.26 1.31 1.30 1.19 0.97 0.72 0.52 0.47 0.56 0.73 0.87 0.90 0.79 0.59 0.42 0.35 0.44 0.67 0.97 1.26 1.45 1.52 1.48 1.37 1.24 1.09 0.93 0.73 0.51 0.28 0.11 0.06 0.14 0.30 0.46 0.51 0.42 0.22 0.01 0.00 0.00 0.07 0.24 0.35 0.35 0.25 0.10 0.00 0.00 0.00 0.00 0.00 15.0 + 17.5 0.00 0.00 0.00 0.02 0.28 0.67 1.14 1.59 1.94 2.13 2.19 2.14 2.07 2.03 2.02 2.01 1.94 1.80 1.62 1.45 1.36 1.37 1.42 1.42 1.31 1.07 0.80 0.58 0.52 0.61 0.78 0.92 0.94 0.82 0.61 0.42 0.35 0.45 0.68 0.99 1.26 1.42 1.46 1.39 1.27 1.14 1.02 0.90 0.73 0.53 0.31 0.16 0.13 0.22 0.38 0.51 0.51 0.36 0.12 0.00 0.00 0.00 0.08 0.27 0.37 0.34 0.21 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.28 0.67 1.14 1.59 1.94 2.13 2.19 2.14 2.07 2.03 2.02 2.01 1.94 1.80 1.62 1.45 1.36 1.37 1.42 1.42 1.31 1.07 0.80 0.58 0.52 0.61 0.78 0.92 0.94 0.82 0.61 0.42 0.35 0.45 0.68 0.99 1.26 1.42 1.46 1.39 1.27 1.14 1.02 0.90 0.73 0.53 0.31 0.16 0.13 0.22 0.38 0.51 0.51 0.36 0.12 0.00 0.00 0.00 0.08 0.27 0.37 0.34 0.21 0.06 0.00 0.00 0.00 0.00 0.00 17.5 + 20.0 0.00 0.00 0.00 0.00 0.11 0.48 0.90 1.31 1.63 1.83 1.92 1.94 1.97 2.02 2.08 2.10 2.03 1.86 1.65 1.45 1.36 1.36 1.41 1.41 1.30 1.07 0.80 0.60 0.54 0.64 0.80 0.94 0.94 0.81 0.61 0.45 0.41 0.54 0.80 1.10 1.36 1.50 1.51 1.43 1.30 1.19 1.08 0.97 0.82 0.62 0.41 0.27 0.26 0.37 0.53 0.64 0.60 0.41 0.16 0.00 0.00 0.04 0.26 0.45 0.52 0.44 0.27 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.48 0.90 1.31 1.63 1.83 1.92 1.94 1.97 2.02 2.08 2.10 2.03 1.86 1.65 1.45 1.36 1.36 1.41 1.41 1.30 1.07 0.80 0.60 0.54 0.64 0.80 0.94 0.94 0.81 0.61 0.45 0.41 0.54 0.80 1.10 1.36 1.50 1.51 1.43 1.30 1.19 1.08 0.97 0.82 0.62 0.41 0.27 0.26 0.37 0.53 0.64 0.60 0.41 0.16 0.00 0.00 0.04 0.26 0.45 0.52 0.44 0.27 0.09 0.00 0.00 0.00 0.00 0.00 20.0 + 22.5 0.00 0.00 0.00 0.00 0.03 0.38 0.77 1.12 1.38 1.55 1.66 1.76 1.87 2.00 2.12 2.15 2.08 1.89 1.66 1.47 1.39 1.41 1.46 1.46 1.33 1.09 0.83 0.64 0.59 0.68 0.83 0.92 0.90 0.76 0.59 0.47 0.49 0.66 0.94 1.24 1.47 1.59 1.60 1.52 1.40 1.30 1.20 1.08 0.93 0.73 0.53 0.42 0.42 0.55 0.72 0.82 0.77 0.58 0.34 0.17 0.18 0.35 0.59 0.76 0.78 0.63 0.40 0.19 0.06 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.38 0.77 1.12 1.38 1.55 1.66 1.76 1.87 2.00 2.12 2.15 2.08 1.89 1.66 1.47 1.39 1.41 1.46 1.46 1.33 1.09 0.83 0.64 0.59 0.68 0.83 0.92 0.90 0.76 0.59 0.47 0.49 0.66 0.94 1.24 1.47 1.59 1.60 1.52 1.40 1.30 1.20 1.08 0.93 0.73 0.53 0.42 0.42 0.55 0.72 0.82 0.77 0.58 0.34 0.17 0.18 0.35 0.59 0.76 0.78 0.63 0.40 0.19 0.06 0.01 0.00 0.00 0.00 22.5 + 25.0 0.00 0.00 0.00 0.00 0.02 0.36 0.71 1.00 1.20 1.33 1.46 1.62 1.82 2.04 2.22 2.29 2.23 2.06 1.86 1.73 1.69 1.74 1.79 1.75 1.57 1.30 1.01 0.81 0.75 0.80 0.88 0.90 0.83 0.68 0.53 0.47 0.54 0.74 1.01 1.28 1.48 1.58 1.58 1.52 1.43 1.34 1.25 1.14 0.99 0.80 0.63 0.54 0.59 0.74 0.92 1.02 0.97 0.79 0.57 0.46 0.52 0.72 0.96 1.10 1.06 0.86 0.58 0.35 0.21 0.15 0.10 0.01 0.00 0.00 0.00 0.00 0.02 0.36 0.71 1.00 1.20 1.33 1.46 1.62 1.82 2.04 2.22 2.29 2.23 2.06 1.86 1.73 1.69 1.74 1.79 1.75 1.57 1.30 1.01 0.81 0.75 0.80 0.88 0.90 0.83 0.68 0.53 0.47 0.54 0.74 1.01 1.28 1.48 1.58 1.58 1.52 1.43 1.34 1.25 1.14 0.99 0.80 0.63 0.54 0.59 0.74 0.92 1.02 0.97 0.79 0.57 0.46 0.52 0.72 0.96 1.10 1.06 0.86 0.58 0.35 0.21 0.15 0.10 0.01 0.00 25.0 + 27.5 0.00 0.00 0.00 0.00 0.08 0.41 0.72 0.94 1.09 1.19 1.33 1.56 1.86 2.19 2.45 2.58 2.58 2.49 2.39 2.36 2.42 2.50 2.53 2.41 2.13 1.76 1.41 1.16 1.05 1.02 1.01 0.93 0.79 0.61 0.49 0.47 0.57 0.76 0.98 1.18 1.32 1.37 1.37 1.33 1.28 1.22 1.16 1.06 0.93 0.78 0.65 0.61 0.69 0.87 1.06 1.15 1.10 0.94 0.76 0.69 0.79 1.02 1.25 1.36 1.27 1.03 0.74 0.51 0.39 0.34 0.29 0.17 0.00 0.00 0.00 0.00 0.08 0.41 0.72 0.94 1.09 1.19 1.33 1.56 1.86 2.19 2.45 2.58 2.58 2.49 2.39 2.36 2.42 2.50 2.53 2.41 2.13 1.76 1.41 1.16 1.05 1.02 1.01 0.93 0.79 0.61 0.49 0.47 0.57 0.76 0.98 1.18 1.32 1.37 1.37 1.33 1.28 1.22 1.16 1.06 0.93 0.78 0.65 0.61 0.69 0.87 1.06 1.15 1.10 0.94 0.76 0.69 0.79 1.02 1.25 1.36 1.27 1.03 0.74 0.51 0.39 0.34 0.29 0.17 0.00 27.5 + 30.0 0.17 0.00 0.00 0.00 0.19 0.51 0.79 0.97 1.07 1.15 1.31 1.60 2.00 2.43 2.79 3.03 3.13 3.17 3.22 3.34 3.50 3.61 3.58 3.35 2.93 2.44 1.99 1.66 1.47 1.35 1.22 1.04 0.82 0.62 0.51 0.51 0.61 0.75 0.88 0.97 1.01 1.01 0.99 0.97 0.95 0.93 0.90 0.84 0.75 0.64 0.58 0.60 0.72 0.91 1.09 1.17 1.11 0.96 0.81 0.78 0.91 1.15 1.37 1.45 1.34 1.09 0.82 0.64 0.57 0.57 0.53 0.39 0.17 0.00 0.00 0.00 0.19 0.51 0.79 0.97 1.07 1.15 1.31 1.60 2.00 2.43 2.79 3.03 3.13 3.17 3.22 3.34 3.50 3.61 3.58 3.35 2.93 2.44 1.99 1.66 1.47 1.35 1.22 1.04 0.82 0.62 0.51 0.51 0.61 0.75 0.88 0.97 1.01 1.01 0.99 0.97 0.95 0.93 0.90 0.84 0.75 0.64 0.58 0.60 0.72 0.91 1.09 1.17 1.11 0.96 0.81 0.78 0.91 1.15 1.37 1.45 1.34 1.09 0.82 0.64 0.57 0.57 0.53 0.39 0.17 30.0 + 32.5 0.39 0.15 0.04 0.12 0.36 0.68 0.94 1.09 1.15 1.22 1.40 1.74 2.21 2.72 3.17 3.50 3.73 3.92 4.14 4.40 4.66 4.78 4.68 4.31 3.74 3.12 2.58 2.19 1.93 1.72 1.50 1.23 0.95 0.74 0.64 0.65 0.72 0.79 0.80 0.76 0.69 0.62 0.58 0.57 0.57 0.57 0.56 0.53 0.48 0.43 0.43 0.50 0.65 0.85 1.02 1.07 1.00 0.84 0.72 0.72 0.87 1.12 1.34 1.40 1.28 1.05 0.83 0.71 0.72 0.77 0.76 0.63 0.39 0.15 0.04 0.12 0.36 0.68 0.94 1.09 1.15 1.22 1.40 1.74 2.21 2.72 3.17 3.50 3.73 3.92 4.14 4.40 4.66 4.78 4.68 4.31 3.74 3.12 2.58 2.19 1.93 1.72 1.50 1.23 0.95 0.74 0.64 0.65 0.72 0.79 0.80 0.76 0.69 0.62 0.58 0.57 0.57 0.57 0.56 0.53 0.48 0.43 0.43 0.50 0.65 0.85 1.02 1.07 1.00 0.84 0.72 0.72 0.87 1.12 1.34 1.40 1.28 1.05 0.83 0.71 0.72 0.77 0.76 0.63 0.39 32.5 + 35.0 0.58 0.34 0.24 0.34 0.60 0.92 1.18 1.31 1.34 1.39 1.57 1.92 2.41 2.96 3.45 3.84 4.15 4.46 4.81 5.19 5.51 5.62 5.44 4.95 4.27 3.56 2.97 2.55 2.27 2.02 1.74 1.42 1.13 0.92 0.85 0.87 0.92 0.92 0.83 0.68 0.51 0.38 0.31 0.28 0.29 0.29 0.28 0.25 0.22 0.21 0.25 0.37 0.54 0.74 0.88 0.90 0.81 0.65 0.55 0.58 0.76 1.03 1.23 1.29 1.17 0.96 0.78 0.73 0.80 0.91 0.94 0.81 0.58 0.34 0.24 0.34 0.60 0.92 1.18 1.31 1.34 1.39 1.57 1.92 2.41 2.96 3.45 3.84 4.15 4.46 4.81 5.19 5.51 5.62 5.44 4.95 4.27 3.56 2.97 2.55 2.27 2.02 1.74 1.42 1.13 0.92 0.85 0.87 0.92 0.92 0.83 0.68 0.51 0.38 0.31 0.28 0.29 0.29 0.28 0.25 0.22 0.21 0.25 0.37 0.54 0.74 0.88 0.90 0.81 0.65 0.55 0.58 0.76 1.03 1.23 1.29 1.17 0.96 0.78 0.73 0.80 0.91 0.94 0.81 0.58 35.0 + 37.5 0.72 0.52 0.46 0.59 0.89 1.22 1.47 1.58 1.58 1.60 1.73 2.05 2.51 3.02 3.49 3.87 4.20 4.56 4.97 5.41 5.74 5.82 5.57 5.01 4.28 3.56 3.00 2.62 2.37 2.14 1.86 1.54 1.26 1.09 1.06 1.11 1.15 1.11 0.97 0.76 0.54 0.37 0.28 0.24 0.23 0.21 0.18 0.13 0.09 0.08 0.14 0.27 0.45 0.64 0.75 0.74 0.63 0.48 0.40 0.47 0.68 0.96 1.17 1.22 1.09 0.89 0.74 0.73 0.84 0.98 1.03 0.93 0.72 0.52 0.46 0.59 0.89 1.22 1.47 1.58 1.58 1.60 1.73 2.05 2.51 3.02 3.49 3.87 4.20 4.56 4.97 5.41 5.74 5.82 5.57 5.01 4.28 3.56 3.00 2.62 2.37 2.14 1.86 1.54 1.26 1.09 1.06 1.11 1.15 1.11 0.97 0.76 0.54 0.37 0.28 0.24 0.23 0.21 0.18 0.13 0.09 0.08 0.14 0.27 0.45 0.64 0.75 0.74 0.63 0.48 0.40 0.47 0.68 0.96 1.17 1.22 1.09 0.89 0.74 0.73 0.84 0.98 1.03 0.93 0.72 37.5 + 40.0 0.83 0.68 0.68 0.87 1.20 1.54 1.76 1.83 1.78 1.74 1.81 2.05 2.43 2.85 3.22 3.53 3.81 4.13 4.53 4.96 5.26 5.31 5.03 4.45 3.74 3.09 2.62 2.34 2.18 2.01 1.78 1.51 1.27 1.15 1.16 1.24 1.31 1.28 1.14 0.93 0.72 0.55 0.46 0.42 0.40 0.36 0.29 0.20 0.13 0.09 0.13 0.26 0.44 0.61 0.69 0.66 0.53 0.38 0.34 0.45 0.71 1.02 1.24 1.27 1.14 0.93 0.78 0.77 0.88 1.02 1.08 1.00 0.83 0.68 0.68 0.87 1.20 1.54 1.76 1.83 1.78 1.74 1.81 2.05 2.43 2.85 3.22 3.53 3.81 4.13 4.53 4.96 5.26 5.31 5.03 4.45 3.74 3.09 2.62 2.34 2.18 2.01 1.78 1.51 1.27 1.15 1.16 1.24 1.31 1.28 1.14 0.93 0.72 0.55 0.46 0.42 0.40 0.36 0.29 0.20 0.13 0.09 0.13 0.26 0.44 0.61 0.69 0.66 0.53 0.38 0.34 0.45 0.71 1.02 1.24 1.27 1.14 0.93 0.78 0.77 0.88 1.02 1.08 1.00 0.83 40.0 + 42.5 0.95 0.85 0.91 1.13 1.47 1.78 1.95 1.95 1.83 1.72 1.72 1.87 2.14 2.44 2.69 2.87 3.04 3.28 3.62 3.98 4.24 4.26 3.97 3.44 2.82 2.29 1.95 1.80 1.75 1.68 1.53 1.31 1.12 1.04 1.08 1.19 1.30 1.32 1.24 1.08 0.92 0.79 0.72 0.70 0.68 0.64 0.55 0.43 0.32 0.24 0.25 0.36 0.52 0.67 0.74 0.69 0.54 0.41 0.40 0.57 0.88 1.22 1.45 1.48 1.33 1.10 0.93 0.90 0.99 1.11 1.15 1.08 0.95 0.85 0.91 1.13 1.47 1.78 1.95 1.95 1.83 1.72 1.72 1.87 2.14 2.44 2.69 2.87 3.04 3.28 3.62 3.98 4.24 4.26 3.97 3.44 2.82 2.29 1.95 1.80 1.75 1.68 1.53 1.31 1.12 1.04 1.08 1.19 1.30 1.32 1.24 1.08 0.92 0.79 0.72 0.70 0.68 0.64 0.55 0.43 0.32 0.24 0.25 0.36 0.52 0.67 0.74 0.69 0.54 0.41 0.40 0.57 0.88 1.22 1.45 1.48 1.33 1.10 0.93 0.90 0.99 1.11 1.15 1.08 0.95 42.5 + 45.0 1.10 1.04 1.11 1.34 1.63 1.88 1.97 1.88 1.69 1.51 1.44 1.52 1.70 1.88 2.00 2.05 2.10 2.24 2.48 2.78 2.99 3.00 2.75 2.30 1.80 1.40 1.20 1.18 1.24 1.26 1.18 1.02 0.87 0.80 0.84 0.96 1.09 1.17 1.16 1.09 1.00 0.93 0.90 0.90 0.91 0.90 0.83 0.71 0.58 0.47 0.45 0.53 0.67 0.81 0.87 0.81 0.67 0.57 0.60 0.83 1.19 1.57 1.82 1.84 1.68 1.44 1.24 1.18 1.22 1.29 1.30 1.23 1.10 1.04 1.11 1.34 1.63 1.88 1.97 1.88 1.69 1.51 1.44 1.52 1.70 1.88 2.00 2.05 2.10 2.24 2.48 2.78 2.99 3.00 2.75 2.30 1.80 1.40 1.20 1.18 1.24 1.26 1.18 1.02 0.87 0.80 0.84 0.96 1.09 1.17 1.16 1.09 1.00 0.93 0.90 0.90 0.91 0.90 0.83 0.71 0.58 0.47 0.45 0.53 0.67 0.81 0.87 0.81 0.67 0.57 0.60 0.83 1.19 1.57 1.82 1.84 1.68 1.44 1.24 1.18 1.22 1.29 1.30 1.23 1.10 45.0 + 47.5 1.29 1.21 1.26 1.43 1.65 1.79 1.78 1.61 1.36 1.14 1.04 1.08 1.20 1.29 1.31 1.26 1.21 1.26 1.43 1.67 1.85 1.87 1.68 1.33 0.94 0.68 0.59 0.67 0.80 0.89 0.86 0.75 0.61 0.53 0.54 0.63 0.76 0.87 0.93 0.93 0.90 0.87 0.88 0.92 0.98 1.03 1.02 0.94 0.81 0.70 0.65 0.70 0.83 0.97 1.03 0.99 0.89 0.83 0.92 1.21 1.63 2.04 2.29 2.32 2.16 1.90 1.69 1.59 1.58 1.59 1.55 1.43 1.29 1.21 1.26 1.43 1.65 1.79 1.78 1.61 1.36 1.14 1.04 1.08 1.20 1.29 1.31 1.26 1.21 1.26 1.43 1.67 1.85 1.87 1.68 1.33 0.94 0.68 0.59 0.67 0.80 0.89 0.86 0.75 0.61 0.53 0.54 0.63 0.76 0.87 0.93 0.93 0.90 0.87 0.88 0.92 0.98 1.03 1.02 0.94 0.81 0.70 0.65 0.70 0.83 0.97 1.03 0.99 0.89 0.83 0.92 1.21 1.63 2.04 2.29 2.32 2.16 1.90 1.69 1.59 1.58 1.59 1.55 1.43 1.29 47.5 + 50.0 1.43 1.30 1.29 1.38 1.50 1.53 1.43 1.19 0.92 0.70 0.62 0.66 0.75 0.80 0.76 0.64 0.53 0.53 0.65 0.86 1.04 1.08 0.95 0.69 0.42 0.25 0.24 0.37 0.54 0.66 0.67 0.58 0.45 0.33 0.29 0.33 0.43 0.54 0.62 0.66 0.66 0.65 0.68 0.76 0.88 1.00 1.07 1.06 0.97 0.85 0.80 0.84 0.96 1.11 1.20 1.21 1.18 1.20 1.37 1.72 2.18 2.60 2.85 2.88 2.70 2.45 2.22 2.08 2.01 1.94 1.82 1.63 1.43 1.30 1.29 1.38 1.50 1.53 1.43 1.19 0.92 0.70 0.62 0.66 0.75 0.80 0.76 0.64 0.53 0.53 0.65 0.86 1.04 1.08 0.95 0.69 0.42 0.25 0.24 0.37 0.54 0.66 0.67 0.58 0.45 0.33 0.29 0.33 0.43 0.54 0.62 0.66 0.66 0.65 0.68 0.76 0.88 1.00 1.07 1.06 0.97 0.85 0.80 0.84 0.96 1.11 1.20 1.21 1.18 1.20 1.37 1.72 2.18 2.60 2.85 2.88 2.70 2.45 2.22 2.08 2.01 1.94 1.82 1.63 1.43 50.0 + 52.5 1.45 1.25 1.17 1.17 1.19 1.14 0.98 0.72 0.47 0.30 0.27 0.34 0.44 0.47 0.39 0.24 0.12 0.09 0.21 0.40 0.58 0.65 0.57 0.39 0.21 0.11 0.15 0.29 0.46 0.59 0.61 0.53 0.40 0.27 0.18 0.16 0.21 0.28 0.35 0.39 0.40 0.39 0.43 0.53 0.69 0.88 1.03 1.08 1.03 0.94 0.88 0.92 1.06 1.24 1.39 1.48 1.55 1.68 1.93 2.34 2.81 3.22 3.44 3.44 3.25 2.98 2.73 2.54 2.40 2.24 2.01 1.73 1.45 1.25 1.17 1.17 1.19 1.14 0.98 0.72 0.47 0.30 0.27 0.34 0.44 0.47 0.39 0.24 0.12 0.09 0.21 0.40 0.58 0.65 0.57 0.39 0.21 0.11 0.15 0.29 0.46 0.59 0.61 0.53 0.40 0.27 0.18 0.16 0.21 0.28 0.35 0.39 0.40 0.39 0.43 0.53 0.69 0.88 1.03 1.08 1.03 0.94 0.88 0.92 1.06 1.24 1.39 1.48 1.55 1.68 1.93 2.34 2.81 3.22 3.44 3.44 3.25 2.98 2.73 2.54 2.40 2.24 2.01 1.73 1.45 52.5 + 55.0 1.31 1.04 0.89 0.83 0.79 0.70 0.52 0.29 0.09 0.00 0.03 0.14 0.25 0.27 0.18 0.04 0.00 0.00 0.03 0.22 0.39 0.47 0.42 0.29 0.17 0.13 0.19 0.33 0.48 0.59 0.61 0.54 0.43 0.30 0.19 0.14 0.14 0.18 0.22 0.24 0.23 0.22 0.25 0.36 0.55 0.78 0.98 1.07 1.06 1.00 0.96 1.01 1.17 1.40 1.63 1.83 2.01 2.25 2.58 3.01 3.46 3.81 3.97 3.92 3.70 3.40 3.11 2.86 2.63 2.36 2.03 1.66 1.31 1.04 0.89 0.83 0.79 0.70 0.52 0.29 0.09 0.00 0.03 0.14 0.25 0.27 0.18 0.04 0.00 0.00 0.03 0.22 0.39 0.47 0.42 0.29 0.17 0.13 0.19 0.33 0.48 0.59 0.61 0.54 0.43 0.30 0.19 0.14 0.14 0.18 0.22 0.24 0.23 0.22 0.25 0.36 0.55 0.78 0.98 1.07 1.06 1.00 0.96 1.01 1.17 1.40 1.63 1.83 2.01 2.25 2.58 3.01 3.46 3.81 3.97 3.92 3.70 3.40 3.11 2.86 2.63 2.36 2.03 1.66 1.31 55.0 + 57.5 1.00 0.70 0.51 0.43 0.37 0.27 0.12 0.00 0.00 0.00 0.00 0.03 0.14 0.16 0.06 0.00 0.00 0.00 0.00 0.17 0.32 0.37 0.32 0.22 0.14 0.14 0.23 0.36 0.48 0.55 0.56 0.52 0.44 0.35 0.27 0.22 0.20 0.22 0.24 0.25 0.23 0.22 0.25 0.36 0.55 0.78 0.99 1.10 1.12 1.09 1.08 1.17 1.37 1.65 1.95 2.25 2.54 2.86 3.23 3.64 4.01 4.27 4.34 4.21 3.94 3.60 3.27 2.96 2.64 2.28 1.86 1.41 1.00 0.70 0.51 0.43 0.37 0.27 0.12 0.00 0.00 0.00 0.00 0.03 0.14 0.16 0.06 0.00 0.00 0.00 0.00 0.17 0.32 0.37 0.32 0.22 0.14 0.14 0.23 0.36 0.48 0.55 0.56 0.52 0.44 0.35 0.27 0.22 0.20 0.22 0.24 0.25 0.23 0.22 0.25 0.36 0.55 0.78 0.99 1.10 1.12 1.09 1.08 1.17 1.37 1.65 1.95 2.25 2.54 2.86 3.23 3.64 4.01 4.27 4.34 4.21 3.94 3.60 3.27 2.96 2.64 2.28 1.86 1.41 1.00 57.5 + 60.0 0.64 0.33 0.14 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.15 0.25 0.26 0.18 0.08 0.03 0.07 0.17 0.29 0.38 0.42 0.42 0.40 0.37 0.34 0.32 0.32 0.32 0.34 0.36 0.37 0.38 0.38 0.42 0.52 0.69 0.89 1.08 1.19 1.24 1.25 1.29 1.43 1.67 2.00 2.36 2.73 3.07 3.42 3.77 4.10 4.35 4.47 4.43 4.22 3.91 3.54 3.18 2.82 2.45 2.02 1.55 1.07 0.64 0.33 0.14 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.15 0.25 0.26 0.18 0.08 0.03 0.07 0.17 0.29 0.38 0.42 0.42 0.40 0.37 0.34 0.32 0.32 0.32 0.34 0.36 0.37 0.38 0.38 0.42 0.52 0.69 0.89 1.08 1.19 1.24 1.25 1.29 1.43 1.67 2.00 2.36 2.73 3.07 3.42 3.77 4.10 4.35 4.47 4.43 4.22 3.91 3.54 3.18 2.82 2.45 2.02 1.55 1.07 0.64 60.0 + 62.5 0.36 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.16 0.10 0.00 0.00 0.00 0.00 0.01 0.13 0.20 0.22 0.21 0.21 0.23 0.28 0.32 0.37 0.41 0.46 0.51 0.56 0.60 0.63 0.69 0.78 0.91 1.07 1.22 1.33 1.40 1.47 1.58 1.77 2.06 2.42 2.80 3.17 3.52 3.82 4.08 4.28 4.38 4.36 4.21 3.94 3.60 3.24 2.88 2.52 2.14 1.71 1.24 0.77 0.36 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.16 0.10 0.00 0.00 0.00 0.00 0.01 0.13 0.20 0.22 0.21 0.21 0.23 0.28 0.32 0.37 0.41 0.46 0.51 0.56 0.60 0.63 0.69 0.78 0.91 1.07 1.22 1.33 1.40 1.47 1.58 1.77 2.06 2.42 2.80 3.17 3.52 3.82 4.08 4.28 4.38 4.36 4.21 3.94 3.60 3.24 2.88 2.52 2.14 1.71 1.24 0.77 0.36 62.5 + 65.0 0.28 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.02 0.02 0.03 0.09 0.18 0.27 0.36 0.44 0.53 0.63 0.73 0.83 0.91 0.98 1.05 1.15 1.26 1.37 1.48 1.59 1.72 1.90 2.15 2.47 2.82 3.18 3.50 3.77 3.98 4.11 4.15 4.10 3.94 3.71 3.42 3.10 2.78 2.48 2.17 1.84 1.47 1.06 0.64 0.28 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.02 0.02 0.03 0.09 0.18 0.27 0.36 0.44 0.53 0.63 0.73 0.83 0.91 0.98 1.05 1.15 1.26 1.37 1.48 1.59 1.72 1.90 2.15 2.47 2.82 3.18 3.50 3.77 3.98 4.11 4.15 4.10 3.94 3.71 3.42 3.10 2.78 2.48 2.17 1.84 1.47 1.06 0.64 0.28 65.0 + 67.5 0.43 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.12 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.10 0.21 0.31 0.42 0.54 0.70 0.87 1.02 1.15 1.24 1.30 1.36 1.42 1.51 1.62 1.77 1.95 2.19 2.48 2.80 3.12 3.41 3.64 3.80 3.87 3.86 3.75 3.57 3.33 3.06 2.78 2.52 2.29 2.08 1.88 1.65 1.39 1.08 0.75 0.43 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.12 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.10 0.21 0.31 0.42 0.54 0.70 0.87 1.02 1.15 1.24 1.30 1.36 1.42 1.51 1.62 1.77 1.95 2.19 2.48 2.80 3.12 3.41 3.64 3.80 3.87 3.86 3.75 3.57 3.33 3.06 2.78 2.52 2.29 2.08 1.88 1.65 1.39 1.08 0.75 0.43 67.5 + 70.0 0.76 0.50 0.29 0.14 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.25 0.22 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.15 0.24 0.36 0.53 0.74 0.98 1.20 1.37 1.47 1.53 1.55 1.59 1.65 1.76 1.92 2.14 2.41 2.70 2.99 3.24 3.43 3.55 3.59 3.54 3.41 3.20 2.94 2.66 2.40 2.16 1.98 1.85 1.76 1.69 1.60 1.47 1.28 1.04 0.76 0.50 0.29 0.14 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.25 0.22 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.15 0.24 0.36 0.53 0.74 0.98 1.20 1.37 1.47 1.53 1.55 1.59 1.65 1.76 1.92 2.14 2.41 2.70 2.99 3.24 3.43 3.55 3.59 3.54 3.41 3.20 2.94 2.66 2.40 2.16 1.98 1.85 1.76 1.69 1.60 1.47 1.28 1.04 0.76 70.0 + 72.5 1.16 0.90 0.67 0.49 0.36 0.28 0.21 0.16 0.13 0.12 0.13 0.13 0.09 0.00 0.00 0.00 0.00 0.15 0.34 0.45 0.45 0.32 0.14 0.00 0.00 0.00 0.01 0.06 0.08 0.06 0.03 0.03 0.04 0.07 0.12 0.20 0.33 0.53 0.80 1.10 1.37 1.58 1.71 1.76 1.77 1.77 1.81 1.89 2.05 2.26 2.52 2.78 3.00 3.16 3.25 3.25 3.19 3.05 2.86 2.62 2.35 2.08 1.85 1.67 1.56 1.53 1.55 1.61 1.65 1.65 1.57 1.40 1.16 0.90 0.67 0.49 0.36 0.28 0.21 0.16 0.13 0.12 0.13 0.13 0.09 0.00 0.00 0.00 0.00 0.15 0.34 0.45 0.45 0.32 0.14 0.00 0.00 0.00 0.01 0.06 0.08 0.06 0.03 0.03 0.04 0.07 0.12 0.20 0.33 0.53 0.80 1.10 1.37 1.58 1.71 1.76 1.77 1.77 1.81 1.89 2.05 2.26 2.52 2.78 3.00 3.16 3.25 3.25 3.19 3.05 2.86 2.62 2.35 2.08 1.85 1.67 1.56 1.53 1.55 1.61 1.65 1.65 1.57 1.40 1.16 72.5 + 75.0 1.49 1.24 1.00 0.81 0.66 0.56 0.47 0.40 0.36 0.36 0.38 0.39 0.35 0.26 0.16 0.11 0.17 0.32 0.52 0.66 0.69 0.59 0.43 0.27 0.18 0.15 0.17 0.18 0.17 0.13 0.08 0.05 0.05 0.07 0.12 0.22 0.38 0.63 0.93 1.27 1.57 1.81 1.95 2.02 2.02 1.99 1.98 2.01 2.12 2.29 2.49 2.69 2.83 2.89 2.87 2.78 2.64 2.48 2.30 2.10 1.87 1.65 1.45 1.31 1.26 1.29 1.40 1.56 1.71 1.81 1.81 1.70 1.49 1.24 1.00 0.81 0.66 0.56 0.47 0.40 0.36 0.36 0.38 0.39 0.35 0.26 0.16 0.11 0.17 0.32 0.52 0.66 0.69 0.59 0.43 0.27 0.18 0.15 0.17 0.18 0.17 0.13 0.08 0.05 0.05 0.07 0.12 0.22 0.38 0.63 0.93 1.27 1.57 1.81 1.95 2.02 2.02 1.99 1.98 2.01 2.12 2.29 2.49 2.69 2.83 2.89 2.87 2.78 2.64 2.48 2.30 2.10 1.87 1.65 1.45 1.31 1.26 1.29 1.40 1.56 1.71 1.81 1.81 1.70 1.49 75.0 + 77.5 1.65 1.43 1.21 1.03 0.88 0.76 0.64 0.55 0.50 0.51 0.57 0.61 0.59 0.49 0.36 0.26 0.28 0.41 0.60 0.77 0.84 0.77 0.61 0.44 0.32 0.25 0.23 0.20 0.16 0.09 0.02 0.00 0.00 0.06 0.17 0.34 0.56 0.84 1.15 1.48 1.77 2.00 2.16 2.23 2.23 2.17 2.09 2.05 2.07 2.17 2.31 2.44 2.50 2.46 2.33 2.17 2.01 1.88 1.77 1.65 1.51 1.34 1.18 1.05 1.01 1.08 1.24 1.47 1.70 1.86 1.91 1.83 1.65 1.43 1.21 1.03 0.88 0.76 0.64 0.55 0.50 0.51 0.57 0.61 0.59 0.49 0.36 0.26 0.28 0.41 0.60 0.77 0.84 0.77 0.61 0.44 0.32 0.25 0.23 0.20 0.16 0.09 0.02 0.00 0.00 0.06 0.17 0.34 0.56 0.84 1.15 1.48 1.77 2.00 2.16 2.23 2.23 2.17 2.09 2.05 2.07 2.17 2.31 2.44 2.50 2.46 2.33 2.17 2.01 1.88 1.77 1.65 1.51 1.34 1.18 1.05 1.01 1.08 1.24 1.47 1.70 1.86 1.91 1.83 1.65 77.5 + 80.0 1.62 1.44 1.27 1.12 0.98 0.83 0.68 0.55 0.50 0.53 0.63 0.72 0.72 0.62 0.44 0.28 0.24 0.34 0.54 0.73 0.83 0.78 0.62 0.43 0.28 0.19 0.15 0.10 0.04 0.00 0.00 0.00 0.00 0.08 0.31 0.59 0.88 1.17 1.44 1.68 1.91 2.09 2.24 2.31 2.30 2.21 2.07 1.93 1.86 1.88 1.96 2.03 2.02 1.90 1.70 1.49 1.33 1.26 1.26 1.27 1.23 1.12 0.96 0.82 0.76 0.84 1.03 1.30 1.57 1.76 1.83 1.77 1.62 1.44 1.27 1.12 0.98 0.83 0.68 0.55 0.50 0.53 0.63 0.72 0.72 0.62 0.44 0.28 0.24 0.34 0.54 0.73 0.83 0.78 0.62 0.43 0.28 0.19 0.15 0.10 0.04 0.00 0.00 0.00 0.00 0.08 0.31 0.59 0.88 1.17 1.44 1.68 1.91 2.09 2.24 2.31 2.30 2.21 2.07 1.93 1.86 1.88 1.96 2.03 2.02 1.90 1.70 1.49 1.33 1.26 1.26 1.27 1.23 1.12 0.96 0.82 0.76 0.84 1.03 1.30 1.57 1.76 1.83 1.77 1.62 80.0 + 82.5 1.45 1.32 1.21 1.10 0.96 0.79 0.59 0.42 0.35 0.41 0.56 0.70 0.73 0.61 0.37 0.15 0.05 0.12 0.32 0.54 0.66 0.63 0.46 0.26 0.09 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.57 0.96 1.30 1.55 1.71 1.82 1.90 2.00 2.10 2.17 2.15 2.02 1.82 1.61 1.46 1.43 1.47 1.51 1.47 1.29 1.04 0.80 0.66 0.68 0.80 0.93 0.98 0.91 0.74 0.56 0.48 0.55 0.77 1.06 1.35 1.54 1.61 1.56 1.45 1.32 1.21 1.10 0.96 0.79 0.59 0.42 0.35 0.41 0.56 0.70 0.73 0.61 0.37 0.15 0.05 0.12 0.32 0.54 0.66 0.63 0.46 0.26 0.09 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.57 0.96 1.30 1.55 1.71 1.82 1.90 2.00 2.10 2.17 2.15 2.02 1.82 1.61 1.46 1.43 1.47 1.51 1.47 1.29 1.04 0.80 0.66 0.68 0.80 0.93 0.98 0.91 0.74 0.56 0.48 0.55 0.77 1.06 1.35 1.54 1.61 1.56 1.45 82.5 + 85.0 1.22 1.14 1.09 1.02 0.88 0.68 0.43 0.22 0.14 0.22 0.41 0.59 0.64 0.50 0.22 0.00 0.00 0.00 0.05 0.29 0.43 0.40 0.24 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.45 0.93 1.40 1.73 1.89 1.89 1.80 1.70 1.67 1.71 1.76 1.74 1.60 1.36 1.11 0.93 0.88 0.93 0.98 0.92 0.72 0.44 0.18 0.08 0.17 0.40 0.64 0.76 0.70 0.51 0.30 0.20 0.27 0.50 0.81 1.10 1.28 1.34 1.30 1.22 1.14 1.09 1.02 0.88 0.68 0.43 0.22 0.14 0.22 0.41 0.59 0.64 0.50 0.22 0.00 0.00 0.00 0.05 0.29 0.43 0.40 0.24 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.45 0.93 1.40 1.73 1.89 1.89 1.80 1.70 1.67 1.71 1.76 1.74 1.60 1.36 1.11 0.93 0.88 0.93 0.98 0.92 0.72 0.44 0.18 0.08 0.17 0.40 0.64 0.76 0.70 0.51 0.30 0.20 0.27 0.50 0.81 1.10 1.28 1.34 1.30 1.22 85.0 + 87.5 1.03 1.01 1.00 0.95 0.81 0.57 0.27 0.03 0.00 0.05 0.28 0.49 0.54 0.38 0.06 0.00 0.00 0.00 0.00 0.10 0.26 0.25 0.10 0.00 0.00 0.00 0.00 0.06 0.09 0.05 0.02 0.11 0.37 0.82 1.34 1.80 2.07 2.08 1.89 1.59 1.32 1.17 1.14 1.17 1.15 1.02 0.80 0.55 0.39 0.37 0.45 0.53 0.49 0.29 0.00 0.00 0.00 0.00 0.13 0.43 0.59 0.54 0.33 0.09 0.00 0.05 0.29 0.62 0.90 1.07 1.11 1.08 1.03 1.01 1.00 0.95 0.81 0.57 0.27 0.03 0.00 0.05 0.28 0.49 0.54 0.38 0.06 0.00 0.00 0.00 0.00 0.10 0.26 0.25 0.10 0.00 0.00 0.00 0.00 0.06 0.09 0.05 0.02 0.11 0.37 0.82 1.34 1.80 2.07 2.08 1.89 1.59 1.32 1.17 1.14 1.17 1.15 1.02 0.80 0.55 0.39 0.37 0.45 0.53 0.49 0.29 0.00 0.00 0.00 0.00 0.13 0.43 0.59 0.54 0.33 0.09 0.00 0.05 0.29 0.62 0.90 1.07 1.11 1.08 1.03 87.5 + 90.0 0.96 0.97 0.99 0.95 0.80 0.53 0.22 0.00 0.00 0.00 0.24 0.46 0.51 0.34 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.27 0.15 0.02 0.00 0.09 0.28 0.46 0.55 0.54 0.52 0.59 0.84 1.24 1.69 2.05 2.19 2.05 1.69 1.24 0.84 0.59 0.52 0.54 0.55 0.46 0.28 0.09 0.00 0.02 0.15 0.27 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.34 0.51 0.46 0.24 0.00 0.00 0.00 0.22 0.53 0.80 0.95 0.99 0.97 0.96 0.97 0.99 0.95 0.80 0.53 0.22 0.00 0.00 0.00 0.24 0.46 0.51 0.34 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.27 0.15 0.02 0.00 0.09 0.28 0.46 0.55 0.54 0.52 0.59 0.84 1.24 1.69 2.05 2.19 2.05 1.69 1.24 0.84 0.59 0.52 0.54 0.55 0.46 0.28 0.09 0.00 0.02 0.15 0.27 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.34 0.51 0.46 0.24 0.00 0.00 0.00 0.22 0.53 0.80 0.95 0.99 0.97 0.96 90.0 + + 72.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.99 ) PHI2 = 73. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 0.0 + 2.5 0.86 1.07 1.30 1.54 1.80 2.04 2.23 2.30 2.25 2.09 1.85 1.60 1.36 1.13 0.91 0.71 0.53 0.42 0.37 0.36 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.26 0.37 0.41 0.41 0.45 0.54 0.70 0.90 1.12 1.34 1.58 1.81 2.03 2.18 2.23 2.16 1.99 1.76 1.52 1.28 1.06 0.85 0.66 0.51 0.42 0.40 0.41 0.39 0.28 0.08 0.00 0.00 0.00 0.00 0.00 0.08 0.25 0.34 0.35 0.35 0.39 0.49 0.66 0.86 1.07 1.30 1.54 1.80 2.04 2.23 2.30 2.25 2.09 1.85 1.60 1.36 1.13 0.91 0.71 0.53 0.42 0.37 0.36 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.26 0.37 0.41 0.41 0.45 0.54 0.70 0.90 1.12 1.34 1.58 1.81 2.03 2.18 2.23 2.16 1.99 1.76 1.52 1.28 1.06 0.85 0.66 0.51 0.42 0.40 0.41 0.39 0.28 0.08 0.00 0.00 0.00 0.00 0.00 0.08 0.25 0.34 0.35 0.35 0.39 0.49 0.66 0.86 2.5 + 5.0 0.72 0.94 1.19 1.47 1.79 2.09 2.34 2.46 2.43 2.26 2.00 1.71 1.44 1.18 0.95 0.73 0.54 0.41 0.35 0.34 0.33 0.28 0.14 0.00 0.00 0.00 0.00 0.00 0.13 0.33 0.45 0.49 0.48 0.49 0.54 0.67 0.86 1.09 1.34 1.59 1.84 2.05 2.17 2.19 2.09 1.90 1.66 1.39 1.13 0.89 0.68 0.51 0.41 0.39 0.43 0.48 0.48 0.39 0.21 0.00 0.00 0.00 0.00 0.04 0.21 0.31 0.33 0.29 0.25 0.27 0.36 0.52 0.72 0.94 1.19 1.47 1.79 2.09 2.34 2.46 2.43 2.26 2.00 1.71 1.44 1.18 0.95 0.73 0.54 0.41 0.35 0.34 0.33 0.28 0.14 0.00 0.00 0.00 0.00 0.00 0.13 0.33 0.45 0.49 0.48 0.49 0.54 0.67 0.86 1.09 1.34 1.59 1.84 2.05 2.17 2.19 2.09 1.90 1.66 1.39 1.13 0.89 0.68 0.51 0.41 0.39 0.43 0.48 0.48 0.39 0.21 0.00 0.00 0.00 0.00 0.04 0.21 0.31 0.33 0.29 0.25 0.27 0.36 0.52 0.72 5.0 + 7.5 0.52 0.74 1.01 1.33 1.71 2.09 2.42 2.60 2.60 2.44 2.16 1.85 1.54 1.27 1.04 0.82 0.63 0.48 0.40 0.39 0.41 0.40 0.33 0.18 0.01 0.00 0.00 0.01 0.21 0.41 0.54 0.58 0.55 0.50 0.50 0.58 0.75 0.99 1.27 1.55 1.80 1.99 2.08 2.06 1.94 1.73 1.48 1.20 0.92 0.67 0.46 0.32 0.28 0.33 0.44 0.54 0.56 0.47 0.30 0.12 0.00 0.00 0.09 0.22 0.33 0.35 0.29 0.19 0.12 0.12 0.20 0.34 0.52 0.74 1.01 1.33 1.71 2.09 2.42 2.60 2.60 2.44 2.16 1.85 1.54 1.27 1.04 0.82 0.63 0.48 0.40 0.39 0.41 0.40 0.33 0.18 0.01 0.00 0.00 0.01 0.21 0.41 0.54 0.58 0.55 0.50 0.50 0.58 0.75 0.99 1.27 1.55 1.80 1.99 2.08 2.06 1.94 1.73 1.48 1.20 0.92 0.67 0.46 0.32 0.28 0.33 0.44 0.54 0.56 0.47 0.30 0.12 0.00 0.00 0.09 0.22 0.33 0.35 0.29 0.19 0.12 0.12 0.20 0.34 0.52 7.5 + 10.0 0.31 0.50 0.76 1.10 1.52 1.97 2.37 2.62 2.67 2.53 2.26 1.95 1.65 1.41 1.20 1.02 0.84 0.68 0.59 0.56 0.59 0.62 0.59 0.47 0.30 0.14 0.06 0.12 0.28 0.47 0.61 0.64 0.59 0.48 0.41 0.44 0.58 0.82 1.12 1.42 1.66 1.82 1.87 1.81 1.68 1.48 1.24 0.98 0.70 0.43 0.23 0.12 0.14 0.26 0.41 0.52 0.53 0.42 0.25 0.09 0.03 0.07 0.19 0.31 0.36 0.31 0.20 0.07 0.00 0.00 0.04 0.16 0.31 0.50 0.76 1.10 1.52 1.97 2.37 2.62 2.67 2.53 2.26 1.95 1.65 1.41 1.20 1.02 0.84 0.68 0.59 0.56 0.59 0.62 0.59 0.47 0.30 0.14 0.06 0.12 0.28 0.47 0.61 0.64 0.59 0.48 0.41 0.44 0.58 0.82 1.12 1.42 1.66 1.82 1.87 1.81 1.68 1.48 1.24 0.98 0.70 0.43 0.23 0.12 0.14 0.26 0.41 0.52 0.53 0.42 0.25 0.09 0.03 0.07 0.19 0.31 0.36 0.31 0.20 0.07 0.00 0.00 0.04 0.16 0.31 10.0 + 12.5 0.11 0.25 0.47 0.80 1.24 1.73 2.18 2.48 2.59 2.49 2.26 1.99 1.75 1.57 1.43 1.29 1.13 0.97 0.85 0.81 0.84 0.88 0.88 0.77 0.57 0.35 0.20 0.19 0.31 0.50 0.65 0.69 0.60 0.45 0.31 0.28 0.39 0.63 0.94 1.24 1.46 1.58 1.59 1.51 1.38 1.21 1.01 0.77 0.51 0.25 0.06 0.00 0.04 0.19 0.36 0.45 0.42 0.26 0.06 0.00 0.00 0.01 0.16 0.28 0.30 0.22 0.07 0.00 0.00 0.00 0.00 0.01 0.11 0.25 0.47 0.80 1.24 1.73 2.18 2.48 2.59 2.49 2.26 1.99 1.75 1.57 1.43 1.29 1.13 0.97 0.85 0.81 0.84 0.88 0.88 0.77 0.57 0.35 0.20 0.19 0.31 0.50 0.65 0.69 0.60 0.45 0.31 0.28 0.39 0.63 0.94 1.24 1.46 1.58 1.59 1.51 1.38 1.21 1.01 0.77 0.51 0.25 0.06 0.00 0.04 0.19 0.36 0.45 0.42 0.26 0.06 0.00 0.00 0.01 0.16 0.28 0.30 0.22 0.07 0.00 0.00 0.00 0.00 0.01 0.11 12.5 + 15.0 0.00 0.02 0.19 0.50 0.93 1.43 1.90 2.23 2.38 2.33 2.17 1.97 1.81 1.72 1.65 1.57 1.43 1.25 1.10 1.03 1.04 1.09 1.09 0.98 0.76 0.49 0.29 0.23 0.34 0.53 0.69 0.73 0.62 0.43 0.25 0.18 0.27 0.51 0.82 1.11 1.31 1.38 1.35 1.26 1.14 1.01 0.86 0.66 0.42 0.17 0.00 0.00 0.01 0.18 0.34 0.39 0.29 0.07 0.00 0.00 0.00 0.00 0.10 0.22 0.22 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.19 0.50 0.93 1.43 1.90 2.23 2.38 2.33 2.17 1.97 1.81 1.72 1.65 1.57 1.43 1.25 1.10 1.03 1.04 1.09 1.09 0.98 0.76 0.49 0.29 0.23 0.34 0.53 0.69 0.73 0.62 0.43 0.25 0.18 0.27 0.51 0.82 1.11 1.31 1.38 1.35 1.26 1.14 1.01 0.86 0.66 0.42 0.17 0.00 0.00 0.01 0.18 0.34 0.39 0.29 0.07 0.00 0.00 0.00 0.00 0.10 0.22 0.22 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15.0 + 17.5 0.00 0.00 0.00 0.26 0.67 1.16 1.62 1.95 2.12 2.12 2.02 1.91 1.85 1.84 1.83 1.77 1.63 1.43 1.24 1.14 1.14 1.19 1.19 1.08 0.84 0.55 0.33 0.27 0.37 0.57 0.74 0.78 0.67 0.46 0.26 0.19 0.28 0.53 0.84 1.11 1.28 1.32 1.27 1.16 1.06 0.96 0.84 0.67 0.45 0.21 0.04 0.00 0.10 0.27 0.41 0.41 0.25 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.22 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.26 0.67 1.16 1.62 1.95 2.12 2.12 2.02 1.91 1.85 1.84 1.83 1.77 1.63 1.43 1.24 1.14 1.14 1.19 1.19 1.08 0.84 0.55 0.33 0.27 0.37 0.57 0.74 0.78 0.67 0.46 0.26 0.19 0.28 0.53 0.84 1.11 1.28 1.32 1.27 1.16 1.06 0.96 0.84 0.67 0.45 0.21 0.04 0.00 0.10 0.27 0.41 0.41 0.25 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.22 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17.5 + 20.0 0.00 0.00 0.00 0.12 0.52 0.98 1.41 1.71 1.87 1.90 1.87 1.85 1.87 1.92 1.95 1.88 1.71 1.48 1.27 1.15 1.15 1.20 1.20 1.09 0.85 0.57 0.36 0.31 0.43 0.64 0.81 0.84 0.72 0.51 0.33 0.29 0.42 0.68 0.99 1.25 1.39 1.41 1.34 1.23 1.14 1.05 0.95 0.79 0.58 0.35 0.20 0.17 0.29 0.47 0.59 0.57 0.37 0.09 0.00 0.00 0.00 0.15 0.36 0.44 0.36 0.19 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.52 0.98 1.41 1.71 1.87 1.90 1.87 1.85 1.87 1.92 1.95 1.88 1.71 1.48 1.27 1.15 1.15 1.20 1.20 1.09 0.85 0.57 0.36 0.31 0.43 0.64 0.81 0.84 0.72 0.51 0.33 0.29 0.42 0.68 0.99 1.25 1.39 1.41 1.34 1.23 1.14 1.05 0.95 0.79 0.58 0.35 0.20 0.17 0.29 0.47 0.59 0.57 0.37 0.09 0.00 0.00 0.00 0.15 0.36 0.44 0.36 0.19 0.00 0.00 0.00 0.00 0.00 0.00 0.00 20.0 + 22.5 0.00 0.00 0.00 0.10 0.49 0.92 1.29 1.55 1.68 1.72 1.74 1.80 1.91 2.01 2.05 1.97 1.77 1.52 1.31 1.20 1.21 1.27 1.27 1.14 0.90 0.62 0.43 0.40 0.53 0.72 0.85 0.86 0.72 0.54 0.40 0.41 0.58 0.86 1.17 1.41 1.53 1.53 1.46 1.37 1.28 1.21 1.11 0.95 0.74 0.52 0.39 0.40 0.54 0.73 0.86 0.82 0.63 0.36 0.17 0.15 0.31 0.56 0.75 0.77 0.63 0.39 0.17 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.49 0.92 1.29 1.55 1.68 1.72 1.74 1.80 1.91 2.01 2.05 1.97 1.77 1.52 1.31 1.20 1.21 1.27 1.27 1.14 0.90 0.62 0.43 0.40 0.53 0.72 0.85 0.86 0.72 0.54 0.40 0.41 0.58 0.86 1.17 1.41 1.53 1.53 1.46 1.37 1.28 1.21 1.11 0.95 0.74 0.52 0.39 0.40 0.54 0.73 0.86 0.82 0.63 0.36 0.17 0.15 0.31 0.56 0.75 0.77 0.63 0.39 0.17 0.04 0.00 0.00 0.00 0.00 0.00 22.5 + 25.0 0.00 0.00 0.00 0.15 0.54 0.93 1.25 1.44 1.53 1.58 1.66 1.81 1.99 2.15 2.21 2.14 1.95 1.72 1.55 1.50 1.54 1.60 1.56 1.39 1.10 0.80 0.61 0.57 0.67 0.81 0.88 0.82 0.67 0.50 0.42 0.48 0.68 0.96 1.24 1.44 1.54 1.54 1.49 1.41 1.35 1.28 1.19 1.03 0.83 0.65 0.55 0.60 0.77 0.98 1.11 1.08 0.90 0.67 0.52 0.56 0.76 1.01 1.17 1.14 0.94 0.65 0.40 0.26 0.21 0.19 0.11 0.00 0.00 0.00 0.00 0.15 0.54 0.93 1.25 1.44 1.53 1.58 1.66 1.81 1.99 2.15 2.21 2.14 1.95 1.72 1.55 1.50 1.54 1.60 1.56 1.39 1.10 0.80 0.61 0.57 0.67 0.81 0.88 0.82 0.67 0.50 0.42 0.48 0.68 0.96 1.24 1.44 1.54 1.54 1.49 1.41 1.35 1.28 1.19 1.03 0.83 0.65 0.55 0.60 0.77 0.98 1.11 1.08 0.90 0.67 0.52 0.56 0.76 1.01 1.17 1.14 0.94 0.65 0.40 0.26 0.21 0.19 0.11 0.00 0.00 25.0 + 27.5 0.00 0.00 0.00 0.26 0.63 0.99 1.24 1.38 1.43 1.50 1.64 1.88 2.16 2.39 2.51 2.48 2.35 2.21 2.15 2.18 2.27 2.30 2.19 1.92 1.53 1.17 0.93 0.85 0.88 0.93 0.90 0.77 0.59 0.43 0.39 0.48 0.68 0.92 1.14 1.28 1.34 1.34 1.30 1.26 1.22 1.18 1.10 0.96 0.80 0.66 0.61 0.70 0.90 1.12 1.26 1.23 1.07 0.87 0.78 0.86 1.10 1.35 1.49 1.42 1.18 0.87 0.63 0.51 0.47 0.44 0.34 0.16 0.00 0.00 0.00 0.26 0.63 0.99 1.24 1.38 1.43 1.50 1.64 1.88 2.16 2.39 2.51 2.48 2.35 2.21 2.15 2.18 2.27 2.30 2.19 1.92 1.53 1.17 0.93 0.85 0.88 0.93 0.90 0.77 0.59 0.43 0.39 0.48 0.68 0.92 1.14 1.28 1.34 1.34 1.30 1.26 1.22 1.18 1.10 0.96 0.80 0.66 0.61 0.70 0.90 1.12 1.26 1.23 1.07 0.87 0.78 0.86 1.10 1.35 1.49 1.42 1.18 0.87 0.63 0.51 0.47 0.44 0.34 0.16 0.00 27.5 + 30.0 0.19 0.07 0.14 0.40 0.75 1.07 1.28 1.36 1.39 1.48 1.68 2.01 2.40 2.73 2.93 3.00 2.99 2.99 3.08 3.23 3.36 3.35 3.12 2.69 2.17 1.70 1.38 1.23 1.18 1.12 0.98 0.77 0.55 0.40 0.38 0.48 0.64 0.80 0.92 0.97 0.97 0.95 0.93 0.91 0.91 0.89 0.83 0.73 0.61 0.53 0.53 0.66 0.88 1.11 1.23 1.20 1.05 0.88 0.83 0.96 1.23 1.49 1.62 1.54 1.30 1.01 0.81 0.74 0.75 0.74 0.62 0.41 0.19 0.07 0.14 0.40 0.75 1.07 1.28 1.36 1.39 1.48 1.68 2.01 2.40 2.73 2.93 3.00 2.99 2.99 3.08 3.23 3.36 3.35 3.12 2.69 2.17 1.70 1.38 1.23 1.18 1.12 0.98 0.77 0.55 0.40 0.38 0.48 0.64 0.80 0.92 0.97 0.97 0.95 0.93 0.91 0.91 0.89 0.83 0.73 0.61 0.53 0.53 0.66 0.88 1.11 1.23 1.20 1.05 0.88 0.83 0.96 1.23 1.49 1.62 1.54 1.30 1.01 0.81 0.74 0.75 0.74 0.62 0.41 0.19 30.0 + 32.5 0.41 0.27 0.33 0.58 0.92 1.22 1.39 1.43 1.44 1.54 1.80 2.20 2.68 3.10 3.40 3.58 3.72 3.89 4.14 4.41 4.57 4.49 4.12 3.53 2.87 2.29 1.90 1.68 1.55 1.39 1.15 0.87 0.63 0.49 0.48 0.57 0.67 0.73 0.72 0.67 0.59 0.53 0.51 0.51 0.52 0.52 0.48 0.41 0.33 0.30 0.36 0.52 0.75 0.96 1.06 1.01 0.86 0.72 0.71 0.88 1.17 1.46 1.59 1.52 1.30 1.06 0.92 0.92 0.99 1.01 0.91 0.67 0.41 0.27 0.33 0.58 0.92 1.22 1.39 1.43 1.44 1.54 1.80 2.20 2.68 3.10 3.40 3.58 3.72 3.89 4.14 4.41 4.57 4.49 4.12 3.53 2.87 2.29 1.90 1.68 1.55 1.39 1.15 0.87 0.63 0.49 0.48 0.57 0.67 0.73 0.72 0.67 0.59 0.53 0.51 0.51 0.52 0.52 0.48 0.41 0.33 0.30 0.36 0.52 0.75 0.96 1.06 1.01 0.86 0.72 0.71 0.88 1.17 1.46 1.59 1.52 1.30 1.06 0.92 0.92 0.99 1.01 0.91 0.67 0.41 32.5 + 35.0 0.64 0.49 0.56 0.82 1.17 1.45 1.59 1.60 1.59 1.68 1.95 2.39 2.91 3.38 3.75 4.03 4.30 4.63 5.02 5.38 5.55 5.40 4.91 4.18 3.41 2.77 2.34 2.09 1.91 1.69 1.39 1.07 0.82 0.71 0.72 0.80 0.84 0.81 0.69 0.53 0.38 0.29 0.25 0.25 0.25 0.24 0.20 0.14 0.08 0.08 0.17 0.35 0.58 0.77 0.84 0.77 0.61 0.49 0.52 0.73 1.06 1.37 1.51 1.46 1.26 1.07 0.99 1.05 1.17 1.23 1.13 0.90 0.64 0.49 0.56 0.82 1.17 1.45 1.59 1.60 1.59 1.68 1.95 2.39 2.91 3.38 3.75 4.03 4.30 4.63 5.02 5.38 5.55 5.40 4.91 4.18 3.41 2.77 2.34 2.09 1.91 1.69 1.39 1.07 0.82 0.71 0.72 0.80 0.84 0.81 0.69 0.53 0.38 0.29 0.25 0.25 0.25 0.24 0.20 0.14 0.08 0.08 0.17 0.35 0.58 0.77 0.84 0.77 0.61 0.49 0.52 0.73 1.06 1.37 1.51 1.46 1.26 1.07 0.99 1.05 1.17 1.23 1.13 0.90 0.64 35.0 + 37.5 0.84 0.73 0.84 1.13 1.49 1.77 1.88 1.85 1.79 1.84 2.09 2.51 3.01 3.48 3.86 4.18 4.52 4.95 5.42 5.83 5.99 5.78 5.20 4.41 3.60 2.96 2.55 2.33 2.15 1.91 1.60 1.29 1.06 0.98 1.02 1.10 1.13 1.04 0.85 0.63 0.44 0.32 0.26 0.25 0.23 0.19 0.12 0.04 0.00 0.00 0.06 0.25 0.47 0.64 0.69 0.60 0.44 0.34 0.40 0.66 1.04 1.37 1.53 1.48 1.29 1.11 1.06 1.15 1.30 1.37 1.29 1.07 0.84 0.73 0.84 1.13 1.49 1.77 1.88 1.85 1.79 1.84 2.09 2.51 3.01 3.48 3.86 4.18 4.52 4.95 5.42 5.83 5.99 5.78 5.20 4.41 3.60 2.96 2.55 2.33 2.15 1.91 1.60 1.29 1.06 0.98 1.02 1.10 1.13 1.04 0.85 0.63 0.44 0.32 0.26 0.25 0.23 0.19 0.12 0.04 0.00 0.00 0.06 0.25 0.47 0.64 0.69 0.60 0.44 0.34 0.40 0.66 1.04 1.37 1.53 1.48 1.29 1.11 1.06 1.15 1.30 1.37 1.29 1.07 0.84 37.5 + 40.0 1.03 0.98 1.14 1.48 1.85 2.11 2.18 2.09 1.97 1.95 2.13 2.48 2.91 3.31 3.64 3.93 4.27 4.71 5.20 5.61 5.74 5.49 4.89 4.10 3.33 2.76 2.44 2.29 2.16 1.96 1.67 1.38 1.20 1.16 1.24 1.36 1.39 1.31 1.13 0.90 0.71 0.59 0.53 0.50 0.47 0.40 0.29 0.17 0.06 0.04 0.11 0.29 0.50 0.66 0.68 0.58 0.43 0.35 0.47 0.78 1.20 1.56 1.73 1.67 1.46 1.27 1.20 1.28 1.41 1.48 1.41 1.22 1.03 0.98 1.14 1.48 1.85 2.11 2.18 2.09 1.97 1.95 2.13 2.48 2.91 3.31 3.64 3.93 4.27 4.71 5.20 5.61 5.74 5.49 4.89 4.10 3.33 2.76 2.44 2.29 2.16 1.96 1.67 1.38 1.20 1.16 1.24 1.36 1.39 1.31 1.13 0.90 0.71 0.59 0.53 0.50 0.47 0.40 0.29 0.17 0.06 0.04 0.11 0.29 0.50 0.66 0.68 0.58 0.43 0.35 0.47 0.78 1.20 1.56 1.73 1.67 1.46 1.27 1.20 1.28 1.41 1.48 1.41 1.22 1.03 40.0 + 42.5 1.23 1.23 1.44 1.80 2.16 2.37 2.38 2.22 2.02 1.93 2.03 2.29 2.61 2.90 3.13 3.33 3.60 3.99 4.43 4.80 4.90 4.64 4.07 3.34 2.68 2.23 2.03 1.97 1.92 1.77 1.53 1.29 1.14 1.14 1.26 1.41 1.49 1.46 1.34 1.17 1.02 0.92 0.88 0.86 0.83 0.76 0.63 0.47 0.33 0.26 0.31 0.47 0.67 0.82 0.84 0.73 0.60 0.57 0.74 1.12 1.59 1.97 2.14 2.05 1.82 1.58 1.46 1.49 1.58 1.62 1.54 1.37 1.23 1.23 1.44 1.80 2.16 2.37 2.38 2.22 2.02 1.93 2.03 2.29 2.61 2.90 3.13 3.33 3.60 3.99 4.43 4.80 4.90 4.64 4.07 3.34 2.68 2.23 2.03 1.97 1.92 1.77 1.53 1.29 1.14 1.14 1.26 1.41 1.49 1.46 1.34 1.17 1.02 0.92 0.88 0.86 0.83 0.76 0.63 0.47 0.33 0.26 0.31 0.47 0.67 0.82 0.84 0.73 0.60 0.57 0.74 1.12 1.59 1.97 2.14 2.05 1.82 1.58 1.46 1.49 1.58 1.62 1.54 1.37 1.23 42.5 + 45.0 1.44 1.46 1.68 2.01 2.32 2.46 2.38 2.14 1.88 1.73 1.76 1.94 2.16 2.34 2.44 2.53 2.69 2.98 3.35 3.65 3.73 3.50 2.99 2.37 1.84 1.53 1.44 1.48 1.50 1.42 1.23 1.02 0.90 0.91 1.04 1.21 1.34 1.39 1.34 1.25 1.17 1.12 1.12 1.14 1.15 1.11 0.99 0.82 0.66 0.56 0.59 0.74 0.93 1.07 1.10 1.01 0.91 0.93 1.18 1.63 2.15 2.56 2.72 2.62 2.34 2.05 1.87 1.83 1.85 1.84 1.73 1.56 1.44 1.46 1.68 2.01 2.32 2.46 2.38 2.14 1.88 1.73 1.76 1.94 2.16 2.34 2.44 2.53 2.69 2.98 3.35 3.65 3.73 3.50 2.99 2.37 1.84 1.53 1.44 1.48 1.50 1.42 1.23 1.02 0.90 0.91 1.04 1.21 1.34 1.39 1.34 1.25 1.17 1.12 1.12 1.14 1.15 1.11 0.99 0.82 0.66 0.56 0.59 0.74 0.93 1.07 1.10 1.01 0.91 0.93 1.18 1.63 2.15 2.56 2.72 2.62 2.34 2.05 1.87 1.83 1.85 1.84 1.73 1.56 1.44 45.0 + 47.5 1.63 1.64 1.81 2.07 2.28 2.33 2.16 1.86 1.55 1.38 1.38 1.51 1.66 1.75 1.74 1.72 1.77 1.96 2.24 2.49 2.56 2.37 1.96 1.46 1.07 0.87 0.88 0.99 1.07 1.03 0.89 0.71 0.58 0.58 0.68 0.84 0.99 1.09 1.12 1.10 1.08 1.08 1.13 1.21 1.28 1.30 1.24 1.10 0.94 0.84 0.85 0.99 1.18 1.34 1.38 1.34 1.30 1.40 1.73 2.25 2.81 3.24 3.40 3.28 2.97 2.64 2.41 2.30 2.24 2.15 1.98 1.78 1.63 1.64 1.81 2.07 2.28 2.33 2.16 1.86 1.55 1.38 1.38 1.51 1.66 1.75 1.74 1.72 1.77 1.96 2.24 2.49 2.56 2.37 1.96 1.46 1.07 0.87 0.88 0.99 1.07 1.03 0.89 0.71 0.58 0.58 0.68 0.84 0.99 1.09 1.12 1.10 1.08 1.08 1.13 1.21 1.28 1.30 1.24 1.10 0.94 0.84 0.85 0.99 1.18 1.34 1.38 1.34 1.30 1.40 1.73 2.25 2.81 3.24 3.40 3.28 2.97 2.64 2.41 2.30 2.24 2.15 1.98 1.78 1.63 47.5 + 50.0 1.75 1.69 1.78 1.94 2.04 1.98 1.74 1.41 1.11 0.95 0.97 1.09 1.21 1.23 1.15 1.05 1.02 1.13 1.35 1.57 1.64 1.50 1.19 0.82 0.54 0.44 0.51 0.66 0.76 0.76 0.64 0.48 0.34 0.29 0.33 0.44 0.58 0.68 0.75 0.77 0.79 0.82 0.91 1.04 1.19 1.30 1.32 1.24 1.11 1.01 1.03 1.16 1.37 1.55 1.65 1.68 1.73 1.93 2.34 2.92 3.51 3.94 4.09 3.95 3.63 3.27 2.99 2.81 2.67 2.49 2.24 1.96 1.75 1.69 1.78 1.94 2.04 1.98 1.74 1.41 1.11 0.95 0.97 1.09 1.21 1.23 1.15 1.05 1.02 1.13 1.35 1.57 1.64 1.50 1.19 0.82 0.54 0.44 0.51 0.66 0.76 0.76 0.64 0.48 0.34 0.29 0.33 0.44 0.58 0.68 0.75 0.77 0.79 0.82 0.91 1.04 1.19 1.30 1.32 1.24 1.11 1.01 1.03 1.16 1.37 1.55 1.65 1.68 1.73 1.93 2.34 2.92 3.51 3.94 4.09 3.95 3.63 3.27 2.99 2.81 2.67 2.49 2.24 1.96 1.75 50.0 + 52.5 1.74 1.59 1.58 1.63 1.63 1.50 1.22 0.90 0.64 0.53 0.59 0.73 0.84 0.84 0.73 0.58 0.52 0.59 0.78 0.98 1.07 0.98 0.76 0.50 0.31 0.28 0.39 0.55 0.66 0.67 0.57 0.41 0.25 0.16 0.14 0.18 0.26 0.34 0.40 0.43 0.45 0.49 0.60 0.77 0.98 1.17 1.26 1.24 1.15 1.08 1.11 1.26 1.48 1.71 1.88 2.00 2.17 2.47 2.96 3.57 4.16 4.57 4.68 4.52 4.19 3.82 3.50 3.26 3.02 2.74 2.39 2.03 1.74 1.59 1.58 1.63 1.63 1.50 1.22 0.90 0.64 0.53 0.59 0.73 0.84 0.84 0.73 0.58 0.52 0.59 0.78 0.98 1.07 0.98 0.76 0.50 0.31 0.28 0.39 0.55 0.66 0.67 0.57 0.41 0.25 0.16 0.14 0.18 0.26 0.34 0.40 0.43 0.45 0.49 0.60 0.77 0.98 1.17 1.26 1.24 1.15 1.08 1.11 1.26 1.48 1.71 1.88 2.00 2.17 2.47 2.96 3.57 4.16 4.57 4.68 4.52 4.19 3.82 3.50 3.26 3.02 2.74 2.39 2.03 1.74 52.5 + 55.0 1.54 1.32 1.23 1.20 1.14 0.96 0.69 0.41 0.21 0.17 0.29 0.46 0.57 0.56 0.44 0.30 0.24 0.31 0.49 0.69 0.78 0.74 0.58 0.40 0.30 0.32 0.44 0.59 0.69 0.69 0.60 0.46 0.31 0.20 0.14 0.13 0.15 0.19 0.22 0.22 0.23 0.27 0.37 0.56 0.80 1.01 1.15 1.17 1.12 1.08 1.13 1.31 1.56 1.84 2.09 2.33 2.60 3.00 3.53 4.13 4.67 5.01 5.07 4.87 4.53 4.15 3.81 3.51 3.19 2.81 2.36 1.91 1.54 1.32 1.23 1.20 1.14 0.96 0.69 0.41 0.21 0.17 0.29 0.46 0.57 0.56 0.44 0.30 0.24 0.31 0.49 0.69 0.78 0.74 0.58 0.40 0.30 0.32 0.44 0.59 0.69 0.69 0.60 0.46 0.31 0.20 0.14 0.13 0.15 0.19 0.22 0.22 0.23 0.27 0.37 0.56 0.80 1.01 1.15 1.17 1.12 1.08 1.13 1.31 1.56 1.84 2.09 2.33 2.60 3.00 3.53 4.13 4.67 5.01 5.07 4.87 4.53 4.15 3.81 3.51 3.19 2.81 2.36 1.91 1.54 55.0 + 57.5 1.20 0.93 0.79 0.72 0.63 0.46 0.22 0.00 0.00 0.00 0.05 0.24 0.35 0.34 0.24 0.12 0.09 0.19 0.38 0.56 0.65 0.62 0.49 0.36 0.32 0.38 0.51 0.65 0.72 0.72 0.64 0.53 0.41 0.32 0.26 0.24 0.23 0.24 0.24 0.23 0.23 0.25 0.35 0.51 0.73 0.94 1.07 1.11 1.09 1.09 1.17 1.37 1.66 1.99 2.31 2.63 2.99 3.44 3.96 4.50 4.94 5.17 5.15 4.92 4.57 4.19 3.84 3.49 3.10 2.64 2.13 1.62 1.20 0.93 0.79 0.72 0.63 0.46 0.22 0.00 0.00 0.00 0.05 0.24 0.35 0.34 0.24 0.12 0.09 0.19 0.38 0.56 0.65 0.62 0.49 0.36 0.32 0.38 0.51 0.65 0.72 0.72 0.64 0.53 0.41 0.32 0.26 0.24 0.23 0.24 0.24 0.23 0.23 0.25 0.35 0.51 0.73 0.94 1.07 1.11 1.09 1.09 1.17 1.37 1.66 1.99 2.31 2.63 2.99 3.44 3.96 4.50 4.94 5.17 5.15 4.92 4.57 4.19 3.84 3.49 3.10 2.64 2.13 1.62 1.20 57.5 + 60.0 0.81 0.52 0.36 0.28 0.19 0.05 0.00 0.00 0.00 0.00 0.00 0.04 0.15 0.14 0.06 0.00 0.01 0.14 0.33 0.49 0.55 0.48 0.36 0.26 0.25 0.34 0.48 0.60 0.65 0.64 0.58 0.51 0.46 0.43 0.41 0.41 0.42 0.43 0.43 0.43 0.43 0.45 0.52 0.64 0.81 0.96 1.06 1.10 1.11 1.14 1.25 1.48 1.80 2.16 2.53 2.90 3.30 3.73 4.19 4.61 4.90 5.00 4.89 4.63 4.29 3.93 3.58 3.22 2.80 2.31 1.76 1.24 0.81 0.52 0.36 0.28 0.19 0.05 0.00 0.00 0.00 0.00 0.00 0.04 0.15 0.14 0.06 0.00 0.01 0.14 0.33 0.49 0.55 0.48 0.36 0.26 0.25 0.34 0.48 0.60 0.65 0.64 0.58 0.51 0.46 0.43 0.41 0.41 0.42 0.43 0.43 0.43 0.43 0.45 0.52 0.64 0.81 0.96 1.06 1.10 1.11 1.14 1.25 1.48 1.80 2.16 2.53 2.90 3.30 3.73 4.19 4.61 4.90 5.00 4.89 4.63 4.29 3.93 3.58 3.22 2.80 2.31 1.76 1.24 0.81 60.0 + 62.5 0.49 0.20 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.29 0.41 0.41 0.30 0.15 0.06 0.07 0.17 0.31 0.42 0.46 0.44 0.40 0.38 0.40 0.44 0.50 0.55 0.60 0.64 0.69 0.72 0.75 0.77 0.81 0.88 0.97 1.05 1.10 1.13 1.16 1.23 1.39 1.64 1.97 2.33 2.71 3.08 3.46 3.83 4.16 4.42 4.55 4.52 4.34 4.06 3.75 3.44 3.13 2.79 2.39 1.92 1.40 0.90 0.49 0.20 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.29 0.41 0.41 0.30 0.15 0.06 0.07 0.17 0.31 0.42 0.46 0.44 0.40 0.38 0.40 0.44 0.50 0.55 0.60 0.64 0.69 0.72 0.75 0.77 0.81 0.88 0.97 1.05 1.10 1.13 1.16 1.23 1.39 1.64 1.97 2.33 2.71 3.08 3.46 3.83 4.16 4.42 4.55 4.52 4.34 4.06 3.75 3.44 3.13 2.79 2.39 1.92 1.40 0.90 0.49 62.5 + 65.0 0.36 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.26 0.34 0.29 0.13 0.00 0.00 0.00 0.00 0.11 0.21 0.24 0.22 0.20 0.22 0.30 0.40 0.51 0.61 0.71 0.81 0.91 1.01 1.07 1.11 1.13 1.13 1.14 1.15 1.16 1.18 1.24 1.36 1.56 1.83 2.15 2.50 2.84 3.17 3.47 3.73 3.92 4.01 3.98 3.84 3.61 3.35 3.09 2.85 2.62 2.36 2.03 1.64 1.19 0.75 0.36 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.26 0.34 0.29 0.13 0.00 0.00 0.00 0.00 0.11 0.21 0.24 0.22 0.20 0.22 0.30 0.40 0.51 0.61 0.71 0.81 0.91 1.01 1.07 1.11 1.13 1.13 1.14 1.15 1.16 1.18 1.24 1.36 1.56 1.83 2.15 2.50 2.84 3.17 3.47 3.73 3.92 4.01 3.98 3.84 3.61 3.35 3.09 2.85 2.62 2.36 2.03 1.64 1.19 0.75 0.36 65.0 + 67.5 0.48 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.30 0.35 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.09 0.12 0.11 0.11 0.15 0.24 0.35 0.48 0.60 0.74 0.90 1.07 1.23 1.35 1.40 1.39 1.35 1.29 1.24 1.23 1.27 1.36 1.53 1.76 2.03 2.34 2.64 2.92 3.16 3.36 3.49 3.54 3.48 3.34 3.12 2.88 2.66 2.47 2.33 2.19 2.04 1.83 1.55 1.21 0.83 0.48 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.30 0.35 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.09 0.12 0.11 0.11 0.15 0.24 0.35 0.48 0.60 0.74 0.90 1.07 1.23 1.35 1.40 1.39 1.35 1.29 1.24 1.23 1.27 1.36 1.53 1.76 2.03 2.34 2.64 2.92 3.16 3.36 3.49 3.54 3.48 3.34 3.12 2.88 2.66 2.47 2.33 2.19 2.04 1.83 1.55 1.21 0.83 0.48 67.5 + 70.0 0.81 0.52 0.28 0.12 0.03 0.00 0.00 0.00 0.00 0.00 0.01 0.03 0.01 0.00 0.00 0.00 0.12 0.30 0.45 0.49 0.39 0.21 0.02 0.00 0.00 0.00 0.09 0.16 0.18 0.17 0.17 0.20 0.27 0.35 0.45 0.58 0.74 0.95 1.18 1.41 1.57 1.64 1.62 1.55 1.45 1.38 1.36 1.41 1.53 1.73 1.97 2.24 2.50 2.74 2.94 3.09 3.18 3.20 3.14 2.99 2.77 2.53 2.30 2.12 2.01 1.95 1.92 1.89 1.81 1.66 1.43 1.14 0.81 0.52 0.28 0.12 0.03 0.00 0.00 0.00 0.00 0.00 0.01 0.03 0.01 0.00 0.00 0.00 0.12 0.30 0.45 0.49 0.39 0.21 0.02 0.00 0.00 0.00 0.09 0.16 0.18 0.17 0.17 0.20 0.27 0.35 0.45 0.58 0.74 0.95 1.18 1.41 1.57 1.64 1.62 1.55 1.45 1.38 1.36 1.41 1.53 1.73 1.97 2.24 2.50 2.74 2.94 3.09 3.18 3.20 3.14 2.99 2.77 2.53 2.30 2.12 2.01 1.95 1.92 1.89 1.81 1.66 1.43 1.14 0.81 70.0 + 72.5 1.24 0.93 0.67 0.48 0.37 0.31 0.29 0.28 0.29 0.31 0.33 0.33 0.30 0.25 0.21 0.24 0.35 0.52 0.66 0.71 0.65 0.49 0.33 0.22 0.20 0.25 0.32 0.37 0.37 0.35 0.34 0.34 0.36 0.40 0.46 0.57 0.75 1.00 1.30 1.57 1.78 1.87 1.86 1.79 1.68 1.60 1.58 1.63 1.76 1.96 2.19 2.43 2.64 2.80 2.91 2.96 2.96 2.90 2.78 2.59 2.37 2.13 1.93 1.79 1.72 1.73 1.79 1.86 1.91 1.88 1.76 1.53 1.24 0.93 0.67 0.48 0.37 0.31 0.29 0.28 0.29 0.31 0.33 0.33 0.30 0.25 0.21 0.24 0.35 0.52 0.66 0.71 0.65 0.49 0.33 0.22 0.20 0.25 0.32 0.37 0.37 0.35 0.34 0.34 0.36 0.40 0.46 0.57 0.75 1.00 1.30 1.57 1.78 1.87 1.86 1.79 1.68 1.60 1.58 1.63 1.76 1.96 2.19 2.43 2.64 2.80 2.91 2.96 2.96 2.90 2.78 2.59 2.37 2.13 1.93 1.79 1.72 1.73 1.79 1.86 1.91 1.88 1.76 1.53 1.24 72.5 + 75.0 1.60 1.30 1.03 0.83 0.71 0.64 0.61 0.59 0.59 0.61 0.64 0.65 0.62 0.56 0.50 0.49 0.56 0.70 0.85 0.93 0.91 0.81 0.67 0.56 0.52 0.52 0.55 0.56 0.54 0.51 0.47 0.44 0.43 0.44 0.50 0.62 0.83 1.13 1.46 1.76 1.99 2.11 2.13 2.07 1.98 1.90 1.87 1.90 2.00 2.17 2.37 2.55 2.69 2.77 2.78 2.74 2.67 2.58 2.46 2.29 2.10 1.90 1.71 1.59 1.54 1.58 1.70 1.85 2.00 2.07 2.03 1.87 1.60 1.30 1.03 0.83 0.71 0.64 0.61 0.59 0.59 0.61 0.64 0.65 0.62 0.56 0.50 0.49 0.56 0.70 0.85 0.93 0.91 0.81 0.67 0.56 0.52 0.52 0.55 0.56 0.54 0.51 0.47 0.44 0.43 0.44 0.50 0.62 0.83 1.13 1.46 1.76 1.99 2.11 2.13 2.07 1.98 1.90 1.87 1.90 2.00 2.17 2.37 2.55 2.69 2.77 2.78 2.74 2.67 2.58 2.46 2.29 2.10 1.90 1.71 1.59 1.54 1.58 1.70 1.85 2.00 2.07 2.03 1.87 1.60 75.0 + 77.5 1.78 1.51 1.26 1.07 0.94 0.86 0.79 0.75 0.73 0.76 0.81 0.85 0.84 0.77 0.67 0.61 0.62 0.73 0.88 1.00 1.04 0.98 0.86 0.74 0.66 0.62 0.61 0.59 0.55 0.50 0.44 0.40 0.40 0.44 0.54 0.73 1.00 1.33 1.67 1.97 2.19 2.32 2.36 2.33 2.27 2.19 2.13 2.10 2.15 2.25 2.40 2.52 2.59 2.57 2.49 2.37 2.26 2.17 2.09 2.00 1.87 1.71 1.54 1.40 1.35 1.39 1.54 1.75 1.96 2.11 2.13 2.01 1.78 1.51 1.26 1.07 0.94 0.86 0.79 0.75 0.73 0.76 0.81 0.85 0.84 0.77 0.67 0.61 0.62 0.73 0.88 1.00 1.04 0.98 0.86 0.74 0.66 0.62 0.61 0.59 0.55 0.50 0.44 0.40 0.40 0.44 0.54 0.73 1.00 1.33 1.67 1.97 2.19 2.32 2.36 2.33 2.27 2.19 2.13 2.10 2.15 2.25 2.40 2.52 2.59 2.57 2.49 2.37 2.26 2.17 2.09 2.00 1.87 1.71 1.54 1.40 1.35 1.39 1.54 1.75 1.96 2.11 2.13 2.01 1.78 77.5 + 80.0 1.73 1.51 1.31 1.14 1.01 0.89 0.78 0.68 0.65 0.68 0.77 0.86 0.87 0.79 0.64 0.50 0.45 0.52 0.68 0.84 0.93 0.90 0.79 0.65 0.53 0.46 0.42 0.39 0.34 0.28 0.23 0.21 0.26 0.40 0.62 0.91 1.25 1.59 1.88 2.12 2.28 2.38 2.44 2.44 2.40 2.31 2.20 2.10 2.06 2.10 2.19 2.26 2.26 2.16 1.99 1.80 1.67 1.62 1.62 1.63 1.58 1.46 1.29 1.12 1.04 1.08 1.25 1.50 1.76 1.94 1.99 1.91 1.73 1.51 1.31 1.14 1.01 0.89 0.78 0.68 0.65 0.68 0.77 0.86 0.87 0.79 0.64 0.50 0.45 0.52 0.68 0.84 0.93 0.90 0.79 0.65 0.53 0.46 0.42 0.39 0.34 0.28 0.23 0.21 0.26 0.40 0.62 0.91 1.25 1.59 1.88 2.12 2.28 2.38 2.44 2.44 2.40 2.31 2.20 2.10 2.06 2.10 2.19 2.26 2.26 2.16 1.99 1.80 1.67 1.62 1.62 1.63 1.58 1.46 1.29 1.12 1.04 1.08 1.25 1.50 1.76 1.94 1.99 1.91 1.73 80.0 + 82.5 1.48 1.32 1.18 1.05 0.92 0.75 0.57 0.42 0.36 0.41 0.54 0.66 0.70 0.59 0.39 0.18 0.07 0.12 0.28 0.48 0.60 0.60 0.48 0.32 0.19 0.11 0.08 0.07 0.03 0.00 0.00 0.00 0.12 0.39 0.75 1.16 1.54 1.84 2.03 2.13 2.18 2.21 2.25 2.27 2.24 2.13 1.96 1.79 1.69 1.67 1.72 1.76 1.71 1.54 1.29 1.06 0.93 0.93 1.04 1.15 1.19 1.10 0.91 0.72 0.61 0.65 0.84 1.12 1.40 1.60 1.67 1.62 1.48 1.32 1.18 1.05 0.92 0.75 0.57 0.42 0.36 0.41 0.54 0.66 0.70 0.59 0.39 0.18 0.07 0.12 0.28 0.48 0.60 0.60 0.48 0.32 0.19 0.11 0.08 0.07 0.03 0.00 0.00 0.00 0.12 0.39 0.75 1.16 1.54 1.84 2.03 2.13 2.18 2.21 2.25 2.27 2.24 2.13 1.96 1.79 1.69 1.67 1.72 1.76 1.71 1.54 1.29 1.06 0.93 0.93 1.04 1.15 1.19 1.10 0.91 0.72 0.61 0.65 0.84 1.12 1.40 1.60 1.67 1.62 1.48 82.5 + 85.0 1.15 1.06 0.97 0.87 0.73 0.52 0.27 0.07 0.00 0.04 0.21 0.37 0.42 0.29 0.03 0.00 0.00 0.00 0.00 0.06 0.21 0.22 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.49 0.97 1.45 1.82 2.02 2.05 1.96 1.84 1.77 1.76 1.77 1.74 1.62 1.42 1.21 1.06 1.02 1.06 1.09 1.02 0.82 0.53 0.27 0.15 0.22 0.42 0.63 0.73 0.67 0.47 0.26 0.14 0.19 0.40 0.71 1.00 1.20 1.28 1.24 1.15 1.06 0.97 0.87 0.73 0.52 0.27 0.07 0.00 0.04 0.21 0.37 0.42 0.29 0.03 0.00 0.00 0.00 0.00 0.06 0.21 0.22 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.49 0.97 1.45 1.82 2.02 2.05 1.96 1.84 1.77 1.76 1.77 1.74 1.62 1.42 1.21 1.06 1.02 1.06 1.09 1.02 0.82 0.53 0.27 0.15 0.22 0.42 0.63 0.73 0.67 0.47 0.26 0.14 0.19 0.40 0.71 1.00 1.20 1.28 1.24 1.15 85.0 + 87.5 0.88 0.84 0.80 0.72 0.56 0.31 0.01 0.00 0.00 0.00 0.00 0.14 0.19 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.32 0.76 1.28 1.74 2.02 2.07 1.90 1.61 1.33 1.14 1.08 1.07 1.04 0.92 0.72 0.50 0.36 0.35 0.41 0.46 0.40 0.18 0.00 0.00 0.00 0.00 0.00 0.21 0.35 0.29 0.09 0.00 0.00 0.00 0.06 0.38 0.68 0.87 0.94 0.93 0.88 0.84 0.80 0.72 0.56 0.31 0.01 0.00 0.00 0.00 0.00 0.14 0.19 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.32 0.76 1.28 1.74 2.02 2.07 1.90 1.61 1.33 1.14 1.08 1.07 1.04 0.92 0.72 0.50 0.36 0.35 0.41 0.46 0.40 0.18 0.00 0.00 0.00 0.00 0.00 0.21 0.35 0.29 0.09 0.00 0.00 0.00 0.06 0.38 0.68 0.87 0.94 0.93 0.88 87.5 + 90.0 0.77 0.78 0.77 0.70 0.53 0.24 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.37 0.39 0.50 0.76 1.17 1.61 1.96 2.10 1.96 1.61 1.17 0.76 0.50 0.39 0.37 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.24 0.53 0.70 0.77 0.78 0.77 0.78 0.77 0.70 0.53 0.24 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.37 0.39 0.50 0.76 1.17 1.61 1.96 2.10 1.96 1.61 1.17 0.76 0.50 0.39 0.37 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.24 0.53 0.70 0.77 0.78 0.77 90.0 + + 75.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.91 ) PHI2 = 75. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 0.0 + 2.5 1.08 1.30 1.55 1.80 2.05 2.23 2.30 2.25 2.08 1.85 1.60 1.36 1.13 0.91 0.70 0.53 0.41 0.36 0.36 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.26 0.37 0.41 0.41 0.45 0.54 0.70 0.90 1.11 1.34 1.57 1.81 2.03 2.18 2.23 2.16 1.99 1.76 1.52 1.28 1.06 0.85 0.66 0.51 0.42 0.40 0.41 0.39 0.28 0.08 0.00 0.00 0.00 0.00 0.00 0.07 0.25 0.34 0.35 0.35 0.39 0.49 0.66 0.86 1.08 1.30 1.55 1.80 2.05 2.23 2.30 2.25 2.08 1.85 1.60 1.36 1.13 0.91 0.70 0.53 0.41 0.36 0.36 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.26 0.37 0.41 0.41 0.45 0.54 0.70 0.90 1.11 1.34 1.57 1.81 2.03 2.18 2.23 2.16 1.99 1.76 1.52 1.28 1.06 0.85 0.66 0.51 0.42 0.40 0.41 0.39 0.28 0.08 0.00 0.00 0.00 0.00 0.00 0.07 0.25 0.34 0.35 0.35 0.39 0.49 0.66 0.86 1.08 2.5 + 5.0 0.95 1.20 1.49 1.80 2.11 2.35 2.46 2.43 2.25 1.99 1.70 1.42 1.16 0.93 0.71 0.52 0.39 0.33 0.32 0.32 0.27 0.14 0.00 0.00 0.00 0.00 0.00 0.12 0.33 0.45 0.49 0.48 0.47 0.53 0.65 0.84 1.07 1.32 1.57 1.82 2.03 2.16 2.18 2.09 1.90 1.66 1.40 1.14 0.90 0.69 0.52 0.42 0.39 0.43 0.48 0.48 0.38 0.20 0.00 0.00 0.00 0.00 0.03 0.20 0.30 0.32 0.28 0.25 0.27 0.37 0.53 0.73 0.95 1.20 1.49 1.80 2.11 2.35 2.46 2.43 2.25 1.99 1.70 1.42 1.16 0.93 0.71 0.52 0.39 0.33 0.32 0.32 0.27 0.14 0.00 0.00 0.00 0.00 0.00 0.12 0.33 0.45 0.49 0.48 0.47 0.53 0.65 0.84 1.07 1.32 1.57 1.82 2.03 2.16 2.18 2.09 1.90 1.66 1.40 1.14 0.90 0.69 0.52 0.42 0.39 0.43 0.48 0.48 0.38 0.20 0.00 0.00 0.00 0.00 0.03 0.20 0.30 0.32 0.28 0.25 0.27 0.37 0.53 0.73 0.95 5.0 + 7.5 0.75 1.02 1.35 1.73 2.11 2.43 2.60 2.59 2.41 2.13 1.80 1.49 1.23 0.99 0.77 0.58 0.43 0.35 0.34 0.37 0.36 0.30 0.16 0.00 0.00 0.00 0.00 0.18 0.38 0.51 0.55 0.52 0.47 0.46 0.54 0.70 0.94 1.22 1.50 1.75 1.94 2.04 2.03 1.91 1.72 1.47 1.20 0.92 0.66 0.45 0.31 0.27 0.32 0.43 0.52 0.53 0.44 0.26 0.08 0.00 0.00 0.05 0.19 0.29 0.31 0.26 0.17 0.10 0.11 0.20 0.35 0.53 0.75 1.02 1.35 1.73 2.11 2.43 2.60 2.59 2.41 2.13 1.80 1.49 1.23 0.99 0.77 0.58 0.43 0.35 0.34 0.37 0.36 0.30 0.16 0.00 0.00 0.00 0.00 0.18 0.38 0.51 0.55 0.52 0.47 0.46 0.54 0.70 0.94 1.22 1.50 1.75 1.94 2.04 2.03 1.91 1.72 1.47 1.20 0.92 0.66 0.45 0.31 0.27 0.32 0.43 0.52 0.53 0.44 0.26 0.08 0.00 0.00 0.05 0.19 0.29 0.31 0.26 0.17 0.10 0.11 0.20 0.35 0.53 0.75 7.5 + 10.0 0.50 0.76 1.11 1.54 1.99 2.38 2.61 2.64 2.48 2.19 1.86 1.56 1.31 1.11 0.92 0.74 0.58 0.48 0.46 0.49 0.53 0.51 0.39 0.22 0.05 0.00 0.03 0.19 0.39 0.53 0.57 0.51 0.40 0.33 0.35 0.48 0.73 1.03 1.33 1.58 1.74 1.79 1.75 1.63 1.45 1.22 0.95 0.67 0.40 0.19 0.08 0.09 0.21 0.37 0.47 0.47 0.35 0.17 0.01 0.00 0.00 0.12 0.24 0.29 0.25 0.14 0.01 0.00 0.00 0.03 0.15 0.31 0.50 0.76 1.11 1.54 1.99 2.38 2.61 2.64 2.48 2.19 1.86 1.56 1.31 1.11 0.92 0.74 0.58 0.48 0.46 0.49 0.53 0.51 0.39 0.22 0.05 0.00 0.03 0.19 0.39 0.53 0.57 0.51 0.40 0.33 0.35 0.48 0.73 1.03 1.33 1.58 1.74 1.79 1.75 1.63 1.45 1.22 0.95 0.67 0.40 0.19 0.08 0.09 0.21 0.37 0.47 0.47 0.35 0.17 0.01 0.00 0.00 0.12 0.24 0.29 0.25 0.14 0.01 0.00 0.00 0.03 0.15 0.31 0.50 10.0 + 12.5 0.23 0.46 0.80 1.25 1.74 2.18 2.46 2.54 2.41 2.15 1.86 1.60 1.42 1.28 1.14 0.98 0.81 0.69 0.64 0.67 0.72 0.72 0.62 0.42 0.19 0.04 0.03 0.16 0.35 0.51 0.56 0.48 0.32 0.18 0.14 0.25 0.50 0.81 1.11 1.34 1.47 1.48 1.42 1.31 1.15 0.96 0.72 0.45 0.18 0.00 0.00 0.00 0.10 0.28 0.36 0.32 0.15 0.00 0.00 0.00 0.00 0.05 0.18 0.20 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.23 0.46 0.80 1.25 1.74 2.18 2.46 2.54 2.41 2.15 1.86 1.60 1.42 1.28 1.14 0.98 0.81 0.69 0.64 0.67 0.72 0.72 0.62 0.42 0.19 0.04 0.03 0.16 0.35 0.51 0.56 0.48 0.32 0.18 0.14 0.25 0.50 0.81 1.11 1.34 1.47 1.48 1.42 1.31 1.15 0.96 0.72 0.45 0.18 0.00 0.00 0.00 0.10 0.28 0.36 0.32 0.15 0.00 0.00 0.00 0.00 0.05 0.18 0.20 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.23 12.5 + 15.0 0.00 0.17 0.49 0.93 1.44 1.91 2.22 2.33 2.24 2.04 1.81 1.63 1.53 1.46 1.38 1.24 1.06 0.90 0.82 0.83 0.88 0.89 0.78 0.55 0.27 0.07 0.01 0.13 0.34 0.52 0.57 0.47 0.28 0.09 0.02 0.11 0.36 0.67 0.97 1.17 1.25 1.23 1.16 1.06 0.94 0.79 0.59 0.34 0.08 0.00 0.00 0.00 0.07 0.23 0.28 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.49 0.93 1.44 1.91 2.22 2.33 2.24 2.04 1.81 1.63 1.53 1.46 1.38 1.24 1.06 0.90 0.82 0.83 0.88 0.89 0.78 0.55 0.27 0.07 0.01 0.13 0.34 0.52 0.57 0.47 0.28 0.09 0.02 0.11 0.36 0.67 0.97 1.17 1.25 1.23 1.16 1.06 0.94 0.79 0.59 0.34 0.08 0.00 0.00 0.00 0.07 0.23 0.28 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15.0 + 17.5 0.00 0.00 0.26 0.69 1.20 1.66 1.98 2.10 2.05 1.90 1.75 1.66 1.64 1.64 1.58 1.43 1.23 1.03 0.92 0.91 0.96 0.97 0.86 0.62 0.32 0.09 0.03 0.16 0.38 0.58 0.64 0.53 0.32 0.12 0.04 0.14 0.39 0.70 0.98 1.16 1.20 1.15 1.07 0.98 0.90 0.79 0.62 0.38 0.13 0.00 0.00 0.00 0.17 0.32 0.32 0.16 0.00 0.00 0.00 0.00 0.00 0.01 0.14 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.26 0.69 1.20 1.66 1.98 2.10 2.05 1.90 1.75 1.66 1.64 1.64 1.58 1.43 1.23 1.03 0.92 0.91 0.96 0.97 0.86 0.62 0.32 0.09 0.03 0.16 0.38 0.58 0.64 0.53 0.32 0.12 0.04 0.14 0.39 0.70 0.98 1.16 1.20 1.15 1.07 0.98 0.90 0.79 0.62 0.38 0.13 0.00 0.00 0.00 0.17 0.32 0.32 0.16 0.00 0.00 0.00 0.00 0.00 0.01 0.14 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17.5 + 20.0 0.00 0.00 0.16 0.59 1.08 1.52 1.81 1.92 1.89 1.79 1.72 1.71 1.75 1.78 1.72 1.55 1.30 1.08 0.94 0.94 0.99 1.01 0.90 0.66 0.37 0.15 0.11 0.25 0.49 0.69 0.75 0.64 0.42 0.24 0.18 0.31 0.57 0.89 1.15 1.30 1.31 1.25 1.16 1.09 1.03 0.93 0.77 0.54 0.30 0.13 0.10 0.22 0.42 0.56 0.54 0.34 0.04 0.00 0.00 0.00 0.06 0.28 0.37 0.30 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.59 1.08 1.52 1.81 1.92 1.89 1.79 1.72 1.71 1.75 1.78 1.72 1.55 1.30 1.08 0.94 0.94 0.99 1.01 0.90 0.66 0.37 0.15 0.11 0.25 0.49 0.69 0.75 0.64 0.42 0.24 0.18 0.31 0.57 0.89 1.15 1.30 1.31 1.25 1.16 1.09 1.03 0.93 0.77 0.54 0.30 0.13 0.10 0.22 0.42 0.56 0.54 0.34 0.04 0.00 0.00 0.00 0.06 0.28 0.37 0.30 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 20.0 + 22.5 0.00 0.00 0.19 0.62 1.09 1.48 1.73 1.81 1.78 1.73 1.73 1.79 1.88 1.92 1.84 1.64 1.37 1.13 1.01 1.02 1.09 1.10 0.98 0.74 0.46 0.26 0.25 0.40 0.63 0.81 0.83 0.71 0.51 0.35 0.34 0.51 0.79 1.10 1.34 1.47 1.47 1.41 1.33 1.27 1.22 1.13 0.97 0.75 0.52 0.37 0.37 0.52 0.74 0.89 0.87 0.67 0.39 0.16 0.12 0.27 0.53 0.73 0.77 0.63 0.39 0.17 0.04 0.01 0.03 0.01 0.00 0.00 0.00 0.00 0.19 0.62 1.09 1.48 1.73 1.81 1.78 1.73 1.73 1.79 1.88 1.92 1.84 1.64 1.37 1.13 1.01 1.02 1.09 1.10 0.98 0.74 0.46 0.26 0.25 0.40 0.63 0.81 0.83 0.71 0.51 0.35 0.34 0.51 0.79 1.10 1.34 1.47 1.47 1.41 1.33 1.27 1.22 1.13 0.97 0.75 0.52 0.37 0.37 0.52 0.74 0.89 0.87 0.67 0.39 0.16 0.12 0.27 0.53 0.73 0.77 0.63 0.39 0.17 0.04 0.01 0.03 0.01 0.00 0.00 0.00 22.5 + 25.0 0.00 0.02 0.31 0.73 1.17 1.51 1.69 1.74 1.71 1.71 1.78 1.91 2.05 2.11 2.02 1.81 1.56 1.36 1.30 1.34 1.41 1.40 1.23 0.94 0.64 0.44 0.43 0.57 0.75 0.87 0.84 0.68 0.50 0.38 0.42 0.62 0.90 1.19 1.40 1.50 1.51 1.46 1.40 1.35 1.31 1.22 1.07 0.86 0.66 0.55 0.59 0.78 1.02 1.18 1.18 1.00 0.74 0.57 0.58 0.77 1.03 1.21 1.20 1.00 0.71 0.45 0.31 0.28 0.28 0.23 0.11 0.00 0.00 0.02 0.31 0.73 1.17 1.51 1.69 1.74 1.71 1.71 1.78 1.91 2.05 2.11 2.02 1.81 1.56 1.36 1.30 1.34 1.41 1.40 1.23 0.94 0.64 0.44 0.43 0.57 0.75 0.87 0.84 0.68 0.50 0.38 0.42 0.62 0.90 1.19 1.40 1.50 1.51 1.46 1.40 1.35 1.31 1.22 1.07 0.86 0.66 0.55 0.59 0.78 1.02 1.18 1.18 1.00 0.74 0.57 0.58 0.77 1.03 1.21 1.20 1.00 0.71 0.45 0.31 0.28 0.28 0.23 0.11 0.00 0.00 25.0 + 27.5 0.08 0.17 0.46 0.86 1.26 1.54 1.67 1.67 1.66 1.71 1.86 2.09 2.29 2.39 2.34 2.18 2.00 1.90 1.92 2.01 2.07 1.99 1.72 1.33 0.96 0.72 0.67 0.75 0.86 0.88 0.77 0.58 0.39 0.32 0.39 0.60 0.85 1.09 1.24 1.31 1.30 1.27 1.24 1.22 1.19 1.12 0.98 0.80 0.64 0.58 0.66 0.88 1.14 1.31 1.31 1.15 0.94 0.82 0.88 1.12 1.40 1.57 1.53 1.30 0.98 0.73 0.60 0.58 0.59 0.52 0.36 0.18 0.08 0.17 0.46 0.86 1.26 1.54 1.67 1.67 1.66 1.71 1.86 2.09 2.29 2.39 2.34 2.18 2.00 1.90 1.92 2.01 2.07 1.99 1.72 1.33 0.96 0.72 0.67 0.75 0.86 0.88 0.77 0.58 0.39 0.32 0.39 0.60 0.85 1.09 1.24 1.31 1.30 1.27 1.24 1.22 1.19 1.12 0.98 0.80 0.64 0.58 0.66 0.88 1.14 1.31 1.31 1.15 0.94 0.82 0.88 1.12 1.40 1.57 1.53 1.30 0.98 0.73 0.60 0.58 0.59 0.52 0.36 0.18 0.08 27.5 + 30.0 0.29 0.34 0.61 0.98 1.34 1.57 1.64 1.62 1.62 1.73 1.97 2.30 2.60 2.77 2.80 2.74 2.69 2.74 2.89 3.03 3.06 2.86 2.44 1.90 1.42 1.10 0.98 0.99 1.00 0.92 0.72 0.48 0.30 0.25 0.34 0.52 0.71 0.85 0.92 0.92 0.90 0.87 0.86 0.87 0.86 0.80 0.69 0.55 0.44 0.43 0.55 0.79 1.05 1.22 1.22 1.07 0.89 0.81 0.93 1.22 1.53 1.71 1.68 1.45 1.16 0.94 0.86 0.89 0.91 0.84 0.65 0.42 0.29 0.34 0.61 0.98 1.34 1.57 1.64 1.62 1.62 1.73 1.97 2.30 2.60 2.77 2.80 2.74 2.69 2.74 2.89 3.03 3.06 2.86 2.44 1.90 1.42 1.10 0.98 0.99 1.00 0.92 0.72 0.48 0.30 0.25 0.34 0.52 0.71 0.85 0.92 0.92 0.90 0.87 0.86 0.87 0.86 0.80 0.69 0.55 0.44 0.43 0.55 0.79 1.05 1.22 1.22 1.07 0.89 0.81 0.93 1.22 1.53 1.71 1.68 1.45 1.16 0.94 0.86 0.89 0.91 0.84 0.65 0.42 0.29 30.0 + 32.5 0.50 0.53 0.77 1.13 1.45 1.64 1.66 1.62 1.62 1.78 2.11 2.52 2.91 3.18 3.32 3.40 3.53 3.75 4.03 4.22 4.19 3.86 3.26 2.57 1.96 1.57 1.39 1.32 1.24 1.05 0.78 0.50 0.32 0.29 0.38 0.52 0.63 0.66 0.62 0.54 0.47 0.44 0.44 0.45 0.45 0.41 0.32 0.21 0.14 0.16 0.31 0.56 0.81 0.96 0.94 0.79 0.63 0.60 0.77 1.11 1.47 1.69 1.68 1.49 1.24 1.08 1.06 1.15 1.21 1.15 0.93 0.67 0.50 0.53 0.77 1.13 1.45 1.64 1.66 1.62 1.62 1.78 2.11 2.52 2.91 3.18 3.32 3.40 3.53 3.75 4.03 4.22 4.19 3.86 3.26 2.57 1.96 1.57 1.39 1.32 1.24 1.05 0.78 0.50 0.32 0.29 0.38 0.52 0.63 0.66 0.62 0.54 0.47 0.44 0.44 0.45 0.45 0.41 0.32 0.21 0.14 0.16 0.31 0.56 0.81 0.96 0.94 0.79 0.63 0.60 0.77 1.11 1.47 1.69 1.68 1.49 1.24 1.08 1.06 1.15 1.21 1.15 0.93 0.67 0.50 32.5 + 35.0 0.71 0.74 0.98 1.34 1.65 1.80 1.78 1.70 1.69 1.87 2.24 2.71 3.17 3.51 3.75 3.97 4.26 4.65 5.05 5.28 5.19 4.73 3.99 3.16 2.47 2.03 1.81 1.70 1.56 1.30 0.98 0.69 0.53 0.52 0.61 0.71 0.73 0.66 0.51 0.36 0.24 0.19 0.18 0.19 0.18 0.13 0.04 0.00 0.00 0.00 0.08 0.33 0.57 0.69 0.65 0.49 0.34 0.35 0.57 0.97 1.38 1.64 1.67 1.51 1.30 1.19 1.23 1.36 1.45 1.40 1.18 0.90 0.71 0.74 0.98 1.34 1.65 1.80 1.78 1.70 1.69 1.87 2.24 2.71 3.17 3.51 3.75 3.97 4.26 4.65 5.05 5.28 5.19 4.73 3.99 3.16 2.47 2.03 1.81 1.70 1.56 1.30 0.98 0.69 0.53 0.52 0.61 0.71 0.73 0.66 0.51 0.36 0.24 0.19 0.18 0.19 0.18 0.13 0.04 0.00 0.00 0.00 0.08 0.33 0.57 0.69 0.65 0.49 0.34 0.35 0.57 0.97 1.38 1.64 1.67 1.51 1.30 1.19 1.23 1.36 1.45 1.40 1.18 0.90 0.71 35.0 + 37.5 0.94 1.00 1.27 1.65 1.95 2.07 2.01 1.87 1.82 1.98 2.34 2.81 3.27 3.65 3.95 4.26 4.68 5.18 5.65 5.90 5.76 5.21 4.38 3.49 2.78 2.35 2.15 2.04 1.87 1.59 1.25 0.97 0.84 0.87 0.98 1.06 1.04 0.89 0.68 0.47 0.32 0.25 0.23 0.22 0.19 0.12 0.00 0.00 0.00 0.00 0.00 0.23 0.45 0.55 0.49 0.32 0.19 0.23 0.52 0.97 1.44 1.74 1.79 1.64 1.44 1.33 1.39 1.53 1.63 1.58 1.37 1.10 0.94 1.00 1.27 1.65 1.95 2.07 2.01 1.87 1.82 1.98 2.34 2.81 3.27 3.65 3.95 4.26 4.68 5.18 5.65 5.90 5.76 5.21 4.38 3.49 2.78 2.35 2.15 2.04 1.87 1.59 1.25 0.97 0.84 0.87 0.98 1.06 1.04 0.89 0.68 0.47 0.32 0.25 0.23 0.22 0.19 0.12 0.00 0.00 0.00 0.00 0.00 0.23 0.45 0.55 0.49 0.32 0.19 0.23 0.52 0.97 1.44 1.74 1.79 1.64 1.44 1.33 1.39 1.53 1.63 1.58 1.37 1.10 0.94 37.5 + 40.0 1.18 1.30 1.62 2.01 2.31 2.39 2.27 2.07 1.95 2.05 2.35 2.77 3.19 3.53 3.83 4.17 4.62 5.17 5.67 5.91 5.74 5.14 4.29 3.42 2.76 2.40 2.26 2.19 2.04 1.76 1.44 1.19 1.10 1.17 1.32 1.42 1.40 1.25 1.03 0.81 0.66 0.58 0.55 0.54 0.49 0.39 0.23 0.06 0.00 0.00 0.11 0.34 0.55 0.64 0.57 0.40 0.29 0.38 0.73 1.25 1.76 2.08 2.13 1.96 1.72 1.58 1.60 1.71 1.79 1.73 1.53 1.30 1.18 1.30 1.62 2.01 2.31 2.39 2.27 2.07 1.95 2.05 2.35 2.77 3.19 3.53 3.83 4.17 4.62 5.17 5.67 5.91 5.74 5.14 4.29 3.42 2.76 2.40 2.26 2.19 2.04 1.76 1.44 1.19 1.10 1.17 1.32 1.42 1.40 1.25 1.03 0.81 0.66 0.58 0.55 0.54 0.49 0.39 0.23 0.06 0.00 0.00 0.11 0.34 0.55 0.64 0.57 0.40 0.29 0.38 0.73 1.25 1.76 2.08 2.13 1.96 1.72 1.58 1.60 1.71 1.79 1.73 1.53 1.30 1.18 40.0 + 42.5 1.44 1.60 1.95 2.35 2.62 2.65 2.46 2.18 2.00 2.02 2.25 2.59 2.92 3.18 3.40 3.69 4.11 4.63 5.09 5.31 5.12 4.53 3.72 2.94 2.38 2.12 2.06 2.05 1.94 1.70 1.42 1.20 1.15 1.26 1.44 1.59 1.62 1.52 1.35 1.17 1.05 1.00 0.99 0.99 0.95 0.83 0.65 0.45 0.30 0.28 0.41 0.64 0.85 0.93 0.86 0.72 0.65 0.80 1.21 1.80 2.35 2.69 2.71 2.49 2.19 1.97 1.91 1.95 1.98 1.90 1.70 1.50 1.44 1.60 1.95 2.35 2.62 2.65 2.46 2.18 2.00 2.02 2.25 2.59 2.92 3.18 3.40 3.69 4.11 4.63 5.09 5.31 5.12 4.53 3.72 2.94 2.38 2.12 2.06 2.05 1.94 1.70 1.42 1.20 1.15 1.26 1.44 1.59 1.62 1.52 1.35 1.17 1.05 1.00 0.99 0.99 0.95 0.83 0.65 0.45 0.30 0.28 0.41 0.64 0.85 0.93 0.86 0.72 0.65 0.80 1.21 1.80 2.35 2.69 2.71 2.49 2.19 1.97 1.91 1.95 1.98 1.90 1.70 1.50 1.44 42.5 + 45.0 1.68 1.86 2.20 2.57 2.78 2.74 2.48 2.14 1.90 1.86 2.02 2.28 2.51 2.67 2.79 2.97 3.29 3.72 4.12 4.29 4.10 3.56 2.85 2.18 1.75 1.59 1.62 1.67 1.61 1.41 1.16 0.97 0.94 1.07 1.27 1.46 1.55 1.53 1.44 1.34 1.28 1.27 1.31 1.36 1.35 1.26 1.08 0.87 0.70 0.66 0.78 1.01 1.23 1.32 1.28 1.17 1.16 1.39 1.89 2.54 3.13 3.47 3.47 3.19 2.82 2.51 2.36 2.31 2.26 2.12 1.91 1.72 1.68 1.86 2.20 2.57 2.78 2.74 2.48 2.14 1.90 1.86 2.02 2.28 2.51 2.67 2.79 2.97 3.29 3.72 4.12 4.29 4.10 3.56 2.85 2.18 1.75 1.59 1.62 1.67 1.61 1.41 1.16 0.97 0.94 1.07 1.27 1.46 1.55 1.53 1.44 1.34 1.28 1.27 1.31 1.36 1.35 1.26 1.08 0.87 0.70 0.66 0.78 1.01 1.23 1.32 1.28 1.17 1.16 1.39 1.89 2.54 3.13 3.47 3.47 3.19 2.82 2.51 2.36 2.31 2.26 2.12 1.91 1.72 1.68 45.0 + 47.5 1.87 2.01 2.30 2.59 2.71 2.59 2.27 1.90 1.64 1.58 1.71 1.92 2.07 2.12 2.12 2.19 2.39 2.71 3.03 3.16 2.99 2.52 1.92 1.38 1.07 1.01 1.10 1.19 1.17 1.01 0.79 0.62 0.58 0.68 0.87 1.07 1.20 1.26 1.25 1.22 1.21 1.26 1.36 1.47 1.54 1.51 1.37 1.18 1.02 0.98 1.10 1.33 1.57 1.69 1.69 1.65 1.73 2.05 2.63 3.35 3.97 4.30 4.27 3.95 3.52 3.14 2.90 2.76 2.63 2.42 2.16 1.93 1.87 2.01 2.30 2.59 2.71 2.59 2.27 1.90 1.64 1.58 1.71 1.92 2.07 2.12 2.12 2.19 2.39 2.71 3.03 3.16 2.99 2.52 1.92 1.38 1.07 1.01 1.10 1.19 1.17 1.01 0.79 0.62 0.58 0.68 0.87 1.07 1.20 1.26 1.25 1.22 1.21 1.26 1.36 1.47 1.54 1.51 1.37 1.18 1.02 0.98 1.10 1.33 1.57 1.69 1.69 1.65 1.73 2.05 2.63 3.35 3.97 4.30 4.27 3.95 3.52 3.14 2.90 2.76 2.63 2.42 2.16 1.93 1.87 47.5 + 50.0 1.96 2.02 2.21 2.40 2.42 2.23 1.88 1.51 1.27 1.24 1.37 1.55 1.66 1.63 1.54 1.50 1.60 1.83 2.07 2.18 2.05 1.67 1.19 0.78 0.57 0.57 0.70 0.82 0.82 0.69 0.48 0.31 0.24 0.29 0.43 0.59 0.73 0.82 0.85 0.87 0.90 0.99 1.14 1.32 1.47 1.52 1.45 1.30 1.17 1.15 1.28 1.53 1.79 1.96 2.02 2.08 2.26 2.68 3.34 4.10 4.73 5.05 4.99 4.65 4.19 3.77 3.47 3.24 3.01 2.72 2.38 2.09 1.96 2.02 2.21 2.40 2.42 2.23 1.88 1.51 1.27 1.24 1.37 1.55 1.66 1.63 1.54 1.50 1.60 1.83 2.07 2.18 2.05 1.67 1.19 0.78 0.57 0.57 0.70 0.82 0.82 0.69 0.48 0.31 0.24 0.29 0.43 0.59 0.73 0.82 0.85 0.87 0.90 0.99 1.14 1.32 1.47 1.52 1.45 1.30 1.17 1.15 1.28 1.53 1.79 1.96 2.02 2.08 2.26 2.68 3.34 4.10 4.73 5.05 4.99 4.65 4.19 3.77 3.47 3.24 3.01 2.72 2.38 2.09 1.96 50.0 + 52.5 1.91 1.87 1.96 2.03 1.97 1.73 1.38 1.04 0.85 0.87 1.03 1.22 1.30 1.25 1.11 1.00 1.04 1.21 1.42 1.52 1.43 1.15 0.78 0.48 0.36 0.41 0.56 0.68 0.68 0.56 0.37 0.19 0.08 0.07 0.14 0.24 0.34 0.41 0.45 0.48 0.53 0.63 0.81 1.03 1.23 1.35 1.34 1.26 1.17 1.18 1.33 1.59 1.88 2.10 2.25 2.41 2.70 3.21 3.92 4.68 5.29 5.58 5.50 5.15 4.69 4.26 3.92 3.63 3.32 2.93 2.50 2.13 1.91 1.87 1.96 2.03 1.97 1.73 1.38 1.04 0.85 0.87 1.03 1.22 1.30 1.25 1.11 1.00 1.04 1.21 1.42 1.52 1.43 1.15 0.78 0.48 0.36 0.41 0.56 0.68 0.68 0.56 0.37 0.19 0.08 0.07 0.14 0.24 0.34 0.41 0.45 0.48 0.53 0.63 0.81 1.03 1.23 1.35 1.34 1.26 1.17 1.18 1.33 1.59 1.88 2.10 2.25 2.41 2.70 3.21 3.92 4.68 5.29 5.58 5.50 5.15 4.69 4.26 3.92 3.63 3.32 2.93 2.50 2.13 1.91 52.5 + 55.0 1.70 1.58 1.57 1.56 1.44 1.18 0.85 0.56 0.44 0.51 0.71 0.91 1.00 0.94 0.79 0.68 0.71 0.86 1.06 1.18 1.13 0.92 0.65 0.45 0.39 0.48 0.63 0.74 0.74 0.63 0.45 0.27 0.14 0.09 0.09 0.13 0.18 0.22 0.23 0.25 0.28 0.38 0.55 0.78 0.99 1.13 1.17 1.12 1.07 1.11 1.29 1.57 1.88 2.15 2.38 2.64 3.02 3.59 4.31 5.02 5.56 5.78 5.68 5.34 4.90 4.49 4.14 3.81 3.43 2.96 2.46 2.01 1.70 1.58 1.57 1.56 1.44 1.18 0.85 0.56 0.44 0.51 0.71 0.91 1.00 0.94 0.79 0.68 0.71 0.86 1.06 1.18 1.13 0.92 0.65 0.45 0.39 0.48 0.63 0.74 0.74 0.63 0.45 0.27 0.14 0.09 0.09 0.13 0.18 0.22 0.23 0.25 0.28 0.38 0.55 0.78 0.99 1.13 1.17 1.12 1.07 1.11 1.29 1.57 1.88 2.15 2.38 2.64 3.02 3.59 4.31 5.02 5.56 5.78 5.68 5.34 4.90 4.49 4.14 3.81 3.43 2.96 2.46 2.01 1.70 55.0 + 57.5 1.37 1.19 1.11 1.05 0.91 0.66 0.36 0.13 0.07 0.18 0.40 0.61 0.70 0.66 0.55 0.48 0.53 0.70 0.91 1.04 1.01 0.85 0.65 0.51 0.51 0.62 0.77 0.87 0.86 0.75 0.59 0.43 0.32 0.27 0.25 0.26 0.27 0.28 0.27 0.27 0.29 0.36 0.50 0.68 0.86 0.98 1.02 0.99 0.97 1.04 1.23 1.52 1.84 2.15 2.44 2.77 3.21 3.78 4.44 5.05 5.47 5.61 5.47 5.15 4.76 4.40 4.07 3.72 3.29 2.78 2.22 1.73 1.37 1.19 1.11 1.05 0.91 0.66 0.36 0.13 0.07 0.18 0.40 0.61 0.70 0.66 0.55 0.48 0.53 0.70 0.91 1.04 1.01 0.85 0.65 0.51 0.51 0.62 0.77 0.87 0.86 0.75 0.59 0.43 0.32 0.27 0.25 0.26 0.27 0.28 0.27 0.27 0.29 0.36 0.50 0.68 0.86 0.98 1.02 0.99 0.97 1.04 1.23 1.52 1.84 2.15 2.44 2.77 3.21 3.78 4.44 5.05 5.47 5.61 5.47 5.15 4.76 4.40 4.07 3.72 3.29 2.78 2.22 1.73 1.37 57.5 + 60.0 0.99 0.78 0.67 0.58 0.43 0.21 0.00 0.00 0.00 0.00 0.10 0.30 0.39 0.38 0.32 0.31 0.42 0.62 0.83 0.95 0.91 0.76 0.59 0.50 0.54 0.67 0.81 0.89 0.87 0.77 0.64 0.54 0.48 0.47 0.48 0.50 0.52 0.53 0.53 0.52 0.54 0.58 0.66 0.77 0.87 0.93 0.93 0.91 0.91 1.00 1.20 1.48 1.80 2.12 2.44 2.80 3.24 3.76 4.30 4.76 5.04 5.07 4.91 4.62 4.30 4.00 3.71 3.38 2.95 2.43 1.87 1.37 0.99 0.78 0.67 0.58 0.43 0.21 0.00 0.00 0.00 0.00 0.10 0.30 0.39 0.38 0.32 0.31 0.42 0.62 0.83 0.95 0.91 0.76 0.59 0.50 0.54 0.67 0.81 0.89 0.87 0.77 0.64 0.54 0.48 0.47 0.48 0.50 0.52 0.53 0.53 0.52 0.54 0.58 0.66 0.77 0.87 0.93 0.93 0.91 0.91 1.00 1.20 1.48 1.80 2.12 2.44 2.80 3.24 3.76 4.30 4.76 5.04 5.07 4.91 4.62 4.30 4.00 3.71 3.38 2.95 2.43 1.87 1.37 0.99 60.0 + 62.5 0.67 0.44 0.31 0.20 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.11 0.12 0.11 0.16 0.32 0.54 0.74 0.82 0.75 0.58 0.42 0.35 0.41 0.55 0.69 0.75 0.72 0.64 0.55 0.52 0.54 0.59 0.66 0.73 0.78 0.82 0.86 0.89 0.91 0.92 0.94 0.96 0.96 0.94 0.90 0.87 0.90 1.00 1.21 1.47 1.77 2.08 2.39 2.73 3.12 3.54 3.94 4.22 4.35 4.29 4.11 3.87 3.63 3.42 3.19 2.91 2.52 2.04 1.52 1.04 0.67 0.44 0.31 0.20 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.11 0.12 0.11 0.16 0.32 0.54 0.74 0.82 0.75 0.58 0.42 0.35 0.41 0.55 0.69 0.75 0.72 0.64 0.55 0.52 0.54 0.59 0.66 0.73 0.78 0.82 0.86 0.89 0.91 0.92 0.94 0.96 0.96 0.94 0.90 0.87 0.90 1.00 1.21 1.47 1.77 2.08 2.39 2.73 3.12 3.54 3.94 4.22 4.35 4.29 4.11 3.87 3.63 3.42 3.19 2.91 2.52 2.04 1.52 1.04 0.67 62.5 + 65.0 0.52 0.27 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.26 0.48 0.65 0.68 0.56 0.36 0.19 0.13 0.20 0.34 0.47 0.53 0.50 0.44 0.40 0.42 0.50 0.61 0.74 0.85 0.96 1.06 1.16 1.24 1.28 1.27 1.23 1.15 1.06 0.97 0.90 0.88 0.93 1.06 1.26 1.51 1.78 2.04 2.32 2.62 2.93 3.23 3.47 3.59 3.58 3.45 3.27 3.09 2.94 2.81 2.67 2.47 2.16 1.76 1.31 0.88 0.52 0.27 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.26 0.48 0.65 0.68 0.56 0.36 0.19 0.13 0.20 0.34 0.47 0.53 0.50 0.44 0.40 0.42 0.50 0.61 0.74 0.85 0.96 1.06 1.16 1.24 1.28 1.27 1.23 1.15 1.06 0.97 0.90 0.88 0.93 1.06 1.26 1.51 1.78 2.04 2.32 2.62 2.93 3.23 3.47 3.59 3.58 3.45 3.27 3.09 2.94 2.81 2.67 2.47 2.16 1.76 1.31 0.88 0.52 65.0 + 67.5 0.60 0.33 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.49 0.61 0.60 0.45 0.23 0.06 0.00 0.07 0.21 0.33 0.38 0.36 0.32 0.30 0.36 0.46 0.60 0.74 0.88 1.04 1.20 1.37 1.50 1.57 1.55 1.46 1.32 1.16 1.03 0.95 0.96 1.04 1.20 1.40 1.63 1.85 2.08 2.31 2.54 2.76 2.94 3.04 3.03 2.92 2.75 2.59 2.46 2.39 2.35 2.30 2.18 1.98 1.69 1.33 0.95 0.60 0.33 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.28 0.49 0.61 0.60 0.45 0.23 0.06 0.00 0.07 0.21 0.33 0.38 0.36 0.32 0.30 0.36 0.46 0.60 0.74 0.88 1.04 1.20 1.37 1.50 1.57 1.55 1.46 1.32 1.16 1.03 0.95 0.96 1.04 1.20 1.40 1.63 1.85 2.08 2.31 2.54 2.76 2.94 3.04 3.03 2.92 2.75 2.59 2.46 2.39 2.35 2.30 2.18 1.98 1.69 1.33 0.95 0.60 67.5 + 70.0 0.91 0.60 0.35 0.17 0.06 0.00 0.00 0.00 0.00 0.03 0.08 0.12 0.13 0.13 0.17 0.27 0.44 0.61 0.71 0.67 0.52 0.31 0.16 0.11 0.17 0.29 0.39 0.43 0.41 0.38 0.38 0.43 0.51 0.62 0.74 0.89 1.07 1.30 1.53 1.71 1.81 1.79 1.67 1.49 1.30 1.17 1.11 1.14 1.26 1.44 1.65 1.85 2.04 2.22 2.39 2.55 2.69 2.78 2.77 2.68 2.51 2.33 2.18 2.09 2.07 2.09 2.11 2.10 2.00 1.83 1.57 1.25 0.91 0.60 0.35 0.17 0.06 0.00 0.00 0.00 0.00 0.03 0.08 0.12 0.13 0.13 0.17 0.27 0.44 0.61 0.71 0.67 0.52 0.31 0.16 0.11 0.17 0.29 0.39 0.43 0.41 0.38 0.38 0.43 0.51 0.62 0.74 0.89 1.07 1.30 1.53 1.71 1.81 1.79 1.67 1.49 1.30 1.17 1.11 1.14 1.26 1.44 1.65 1.85 2.04 2.22 2.39 2.55 2.69 2.78 2.77 2.68 2.51 2.33 2.18 2.09 2.07 2.09 2.11 2.10 2.00 1.83 1.57 1.25 0.91 70.0 + 72.5 1.34 1.01 0.72 0.52 0.40 0.35 0.34 0.36 0.40 0.44 0.48 0.50 0.49 0.48 0.50 0.58 0.71 0.84 0.92 0.89 0.77 0.61 0.49 0.45 0.49 0.57 0.64 0.66 0.64 0.61 0.59 0.61 0.65 0.70 0.79 0.93 1.14 1.41 1.69 1.92 2.04 2.03 1.91 1.73 1.56 1.44 1.41 1.47 1.61 1.80 2.00 2.18 2.33 2.45 2.56 2.65 2.72 2.73 2.67 2.54 2.36 2.18 2.04 1.96 1.96 2.01 2.08 2.15 2.16 2.09 1.93 1.66 1.34 1.01 0.72 0.52 0.40 0.35 0.34 0.36 0.40 0.44 0.48 0.50 0.49 0.48 0.50 0.58 0.71 0.84 0.92 0.89 0.77 0.61 0.49 0.45 0.49 0.57 0.64 0.66 0.64 0.61 0.59 0.61 0.65 0.70 0.79 0.93 1.14 1.41 1.69 1.92 2.04 2.03 1.91 1.73 1.56 1.44 1.41 1.47 1.61 1.80 2.00 2.18 2.33 2.45 2.56 2.65 2.72 2.73 2.67 2.54 2.36 2.18 2.04 1.96 1.96 2.01 2.08 2.15 2.16 2.09 1.93 1.66 1.34 72.5 + 75.0 1.74 1.41 1.11 0.90 0.78 0.73 0.73 0.75 0.78 0.82 0.86 0.88 0.88 0.86 0.86 0.89 0.97 1.07 1.14 1.15 1.09 0.99 0.90 0.85 0.86 0.89 0.91 0.90 0.87 0.83 0.79 0.78 0.77 0.80 0.87 1.03 1.27 1.58 1.90 2.16 2.29 2.30 2.21 2.06 1.93 1.84 1.82 1.89 2.02 2.18 2.36 2.50 2.61 2.67 2.70 2.72 2.72 2.70 2.63 2.51 2.34 2.17 2.03 1.94 1.92 1.97 2.07 2.20 2.30 2.33 2.25 2.04 1.74 1.41 1.11 0.90 0.78 0.73 0.73 0.75 0.78 0.82 0.86 0.88 0.88 0.86 0.86 0.89 0.97 1.07 1.14 1.15 1.09 0.99 0.90 0.85 0.86 0.89 0.91 0.90 0.87 0.83 0.79 0.78 0.77 0.80 0.87 1.03 1.27 1.58 1.90 2.16 2.29 2.30 2.21 2.06 1.93 1.84 1.82 1.89 2.02 2.18 2.36 2.50 2.61 2.67 2.70 2.72 2.72 2.70 2.63 2.51 2.34 2.17 2.03 1.94 1.92 1.97 2.07 2.20 2.30 2.33 2.25 2.04 1.74 75.0 + 77.5 1.97 1.67 1.39 1.18 1.05 0.99 0.96 0.95 0.96 1.00 1.06 1.11 1.13 1.11 1.06 1.03 1.05 1.12 1.20 1.26 1.27 1.22 1.15 1.09 1.04 1.02 1.00 0.96 0.91 0.86 0.82 0.79 0.79 0.84 0.96 1.18 1.48 1.82 2.15 2.39 2.53 2.54 2.49 2.39 2.29 2.23 2.20 2.23 2.31 2.43 2.57 2.67 2.72 2.71 2.66 2.59 2.54 2.51 2.46 2.39 2.27 2.12 1.96 1.84 1.78 1.82 1.94 2.11 2.29 2.40 2.38 2.23 1.97 1.67 1.39 1.18 1.05 0.99 0.96 0.95 0.96 1.00 1.06 1.11 1.13 1.11 1.06 1.03 1.05 1.12 1.20 1.26 1.27 1.22 1.15 1.09 1.04 1.02 1.00 0.96 0.91 0.86 0.82 0.79 0.79 0.84 0.96 1.18 1.48 1.82 2.15 2.39 2.53 2.54 2.49 2.39 2.29 2.23 2.20 2.23 2.31 2.43 2.57 2.67 2.72 2.71 2.66 2.59 2.54 2.51 2.46 2.39 2.27 2.12 1.96 1.84 1.78 1.82 1.94 2.11 2.29 2.40 2.38 2.23 1.97 77.5 + 80.0 1.94 1.69 1.45 1.27 1.13 1.02 0.93 0.87 0.85 0.90 0.99 1.08 1.12 1.09 1.00 0.90 0.86 0.89 0.99 1.10 1.16 1.15 1.08 0.98 0.89 0.82 0.77 0.72 0.68 0.63 0.60 0.60 0.65 0.79 1.02 1.34 1.71 2.06 2.35 2.54 2.63 2.63 2.60 2.54 2.48 2.40 2.34 2.30 2.31 2.38 2.47 2.53 2.52 2.43 2.28 2.14 2.05 2.03 2.04 2.04 1.98 1.86 1.69 1.52 1.44 1.46 1.60 1.82 2.05 2.21 2.25 2.15 1.94 1.69 1.45 1.27 1.13 1.02 0.93 0.87 0.85 0.90 0.99 1.08 1.12 1.09 1.00 0.90 0.86 0.89 0.99 1.10 1.16 1.15 1.08 0.98 0.89 0.82 0.77 0.72 0.68 0.63 0.60 0.60 0.65 0.79 1.02 1.34 1.71 2.06 2.35 2.54 2.63 2.63 2.60 2.54 2.48 2.40 2.34 2.30 2.31 2.38 2.47 2.53 2.52 2.43 2.28 2.14 2.05 2.03 2.04 2.04 1.98 1.86 1.69 1.52 1.44 1.46 1.60 1.82 2.05 2.21 2.25 2.15 1.94 80.0 + 82.5 1.68 1.49 1.31 1.15 0.99 0.83 0.67 0.54 0.48 0.53 0.65 0.79 0.85 0.80 0.65 0.48 0.38 0.39 0.51 0.66 0.76 0.77 0.69 0.56 0.44 0.35 0.31 0.28 0.26 0.24 0.24 0.29 0.45 0.72 1.09 1.51 1.92 2.24 2.43 2.50 2.49 2.44 2.40 2.36 2.30 2.21 2.09 1.98 1.92 1.93 1.99 2.02 1.96 1.80 1.58 1.38 1.27 1.28 1.37 1.45 1.46 1.36 1.18 0.99 0.88 0.91 1.08 1.34 1.61 1.81 1.88 1.83 1.68 1.49 1.31 1.15 0.99 0.83 0.67 0.54 0.48 0.53 0.65 0.79 0.85 0.80 0.65 0.48 0.38 0.39 0.51 0.66 0.76 0.77 0.69 0.56 0.44 0.35 0.31 0.28 0.26 0.24 0.24 0.29 0.45 0.72 1.09 1.51 1.92 2.24 2.43 2.50 2.49 2.44 2.40 2.36 2.30 2.21 2.09 1.98 1.92 1.93 1.99 2.02 1.96 1.80 1.58 1.38 1.27 1.28 1.37 1.45 1.46 1.36 1.18 0.99 0.88 0.91 1.08 1.34 1.61 1.81 1.88 1.83 1.68 82.5 + 85.0 1.29 1.17 1.05 0.91 0.74 0.52 0.28 0.09 0.00 0.05 0.21 0.37 0.44 0.36 0.16 0.00 0.00 0.00 0.00 0.11 0.26 0.28 0.19 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.34 0.72 1.20 1.69 2.07 2.29 2.32 2.22 2.07 1.94 1.86 1.82 1.75 1.63 1.46 1.30 1.20 1.18 1.23 1.25 1.17 0.97 0.70 0.46 0.36 0.42 0.59 0.76 0.83 0.75 0.57 0.36 0.25 0.30 0.50 0.80 1.10 1.31 1.41 1.39 1.29 1.17 1.05 0.91 0.74 0.52 0.28 0.09 0.00 0.05 0.21 0.37 0.44 0.36 0.16 0.00 0.00 0.00 0.00 0.11 0.26 0.28 0.19 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.34 0.72 1.20 1.69 2.07 2.29 2.32 2.22 2.07 1.94 1.86 1.82 1.75 1.63 1.46 1.30 1.20 1.18 1.23 1.25 1.17 0.97 0.70 0.46 0.36 0.42 0.59 0.76 0.83 0.75 0.57 0.36 0.25 0.30 0.50 0.80 1.10 1.31 1.41 1.39 1.29 85.0 + 87.5 0.96 0.90 0.83 0.71 0.51 0.25 0.00 0.00 0.00 0.00 0.00 0.04 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.46 0.91 1.42 1.88 2.16 2.22 2.06 1.78 1.47 1.25 1.12 1.05 0.98 0.85 0.66 0.49 0.38 0.39 0.45 0.49 0.41 0.19 0.00 0.00 0.00 0.00 0.00 0.18 0.29 0.22 0.04 0.00 0.00 0.00 0.04 0.36 0.67 0.89 1.00 1.01 0.96 0.90 0.83 0.71 0.51 0.25 0.00 0.00 0.00 0.00 0.00 0.04 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.46 0.91 1.42 1.88 2.16 2.22 2.06 1.78 1.47 1.25 1.12 1.05 0.98 0.85 0.66 0.49 0.38 0.39 0.45 0.49 0.41 0.19 0.00 0.00 0.00 0.00 0.00 0.18 0.29 0.22 0.04 0.00 0.00 0.00 0.04 0.36 0.67 0.89 1.00 1.01 0.96 87.5 + 90.0 0.84 0.83 0.79 0.68 0.47 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.34 0.42 0.58 0.87 1.29 1.73 2.07 2.19 2.07 1.73 1.29 0.87 0.58 0.42 0.34 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.47 0.68 0.79 0.83 0.84 0.83 0.79 0.68 0.47 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.34 0.42 0.58 0.87 1.29 1.73 2.07 2.19 2.07 1.73 1.29 0.87 0.58 0.42 0.34 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.47 0.68 0.79 0.83 0.84 90.0 + + 77.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.95 ) PHI2 = 78. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 0.0 + 2.5 1.31 1.55 1.81 2.05 2.23 2.31 2.25 2.08 1.85 1.59 1.35 1.13 0.91 0.70 0.53 0.41 0.36 0.35 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.26 0.38 0.41 0.41 0.45 0.54 0.70 0.89 1.11 1.33 1.57 1.80 2.02 2.18 2.23 2.16 1.99 1.77 1.52 1.29 1.06 0.85 0.66 0.51 0.43 0.40 0.41 0.39 0.28 0.08 0.00 0.00 0.00 0.00 0.00 0.07 0.25 0.34 0.35 0.35 0.39 0.49 0.66 0.86 1.08 1.31 1.55 1.81 2.05 2.23 2.31 2.25 2.08 1.85 1.59 1.35 1.13 0.91 0.70 0.53 0.41 0.36 0.35 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.05 0.26 0.38 0.41 0.41 0.45 0.54 0.70 0.89 1.11 1.33 1.57 1.80 2.02 2.18 2.23 2.16 1.99 1.77 1.52 1.29 1.06 0.85 0.66 0.51 0.43 0.40 0.41 0.39 0.28 0.08 0.00 0.00 0.00 0.00 0.00 0.07 0.25 0.34 0.35 0.35 0.39 0.49 0.66 0.86 1.08 1.31 2.5 + 5.0 1.22 1.50 1.81 2.12 2.36 2.47 2.42 2.24 1.97 1.68 1.40 1.14 0.91 0.69 0.51 0.37 0.31 0.31 0.31 0.26 0.14 0.00 0.00 0.00 0.00 0.00 0.12 0.33 0.45 0.48 0.47 0.46 0.51 0.64 0.82 1.05 1.30 1.55 1.80 2.01 2.14 2.17 2.08 1.90 1.67 1.41 1.15 0.91 0.69 0.52 0.42 0.40 0.43 0.48 0.47 0.37 0.19 0.00 0.00 0.00 0.00 0.01 0.18 0.29 0.31 0.27 0.24 0.27 0.37 0.54 0.74 0.96 1.22 1.50 1.81 2.12 2.36 2.47 2.42 2.24 1.97 1.68 1.40 1.14 0.91 0.69 0.51 0.37 0.31 0.31 0.31 0.26 0.14 0.00 0.00 0.00 0.00 0.00 0.12 0.33 0.45 0.48 0.47 0.46 0.51 0.64 0.82 1.05 1.30 1.55 1.80 2.01 2.14 2.17 2.08 1.90 1.67 1.41 1.15 0.91 0.69 0.52 0.42 0.40 0.43 0.48 0.47 0.37 0.19 0.00 0.00 0.00 0.00 0.01 0.18 0.29 0.31 0.27 0.24 0.27 0.37 0.54 0.74 0.96 1.22 5.0 + 7.5 1.04 1.37 1.75 2.13 2.44 2.60 2.58 2.39 2.09 1.75 1.44 1.17 0.94 0.72 0.53 0.38 0.30 0.30 0.33 0.33 0.27 0.13 0.00 0.00 0.00 0.00 0.16 0.36 0.49 0.53 0.49 0.43 0.42 0.49 0.66 0.89 1.17 1.45 1.71 1.90 2.00 2.00 1.90 1.71 1.47 1.20 0.92 0.66 0.44 0.30 0.26 0.31 0.42 0.50 0.51 0.41 0.22 0.04 0.00 0.00 0.02 0.16 0.26 0.29 0.23 0.14 0.09 0.10 0.20 0.36 0.55 0.77 1.04 1.37 1.75 2.13 2.44 2.60 2.58 2.39 2.09 1.75 1.44 1.17 0.94 0.72 0.53 0.38 0.30 0.30 0.33 0.33 0.27 0.13 0.00 0.00 0.00 0.00 0.16 0.36 0.49 0.53 0.49 0.43 0.42 0.49 0.66 0.89 1.17 1.45 1.71 1.90 2.00 2.00 1.90 1.71 1.47 1.20 0.92 0.66 0.44 0.30 0.26 0.31 0.42 0.50 0.51 0.41 0.22 0.04 0.00 0.00 0.02 0.16 0.26 0.29 0.23 0.14 0.09 0.10 0.20 0.36 0.55 0.77 1.04 7.5 + 10.0 0.78 1.13 1.56 2.00 2.38 2.60 2.61 2.43 2.12 1.77 1.46 1.21 1.01 0.82 0.64 0.48 0.38 0.36 0.40 0.44 0.43 0.32 0.14 0.00 0.00 0.00 0.11 0.31 0.46 0.51 0.44 0.33 0.25 0.26 0.40 0.64 0.95 1.25 1.50 1.66 1.73 1.70 1.59 1.42 1.20 0.94 0.65 0.37 0.15 0.04 0.06 0.17 0.33 0.43 0.42 0.29 0.10 0.00 0.00 0.00 0.05 0.18 0.24 0.20 0.09 0.00 0.00 0.00 0.02 0.16 0.32 0.52 0.78 1.13 1.56 2.00 2.38 2.60 2.61 2.43 2.12 1.77 1.46 1.21 1.01 0.82 0.64 0.48 0.38 0.36 0.40 0.44 0.43 0.32 0.14 0.00 0.00 0.00 0.11 0.31 0.46 0.51 0.44 0.33 0.25 0.26 0.40 0.64 0.95 1.25 1.50 1.66 1.73 1.70 1.59 1.42 1.20 0.94 0.65 0.37 0.15 0.04 0.06 0.17 0.33 0.43 0.42 0.29 0.10 0.00 0.00 0.00 0.05 0.18 0.24 0.20 0.09 0.00 0.00 0.00 0.02 0.16 0.32 0.52 0.78 10.0 + 12.5 0.46 0.81 1.26 1.75 2.18 2.45 2.49 2.33 2.04 1.72 1.46 1.26 1.12 0.98 0.82 0.65 0.52 0.48 0.51 0.57 0.58 0.48 0.27 0.04 0.00 0.00 0.01 0.22 0.39 0.45 0.37 0.20 0.06 0.02 0.13 0.38 0.69 1.00 1.23 1.36 1.39 1.34 1.24 1.10 0.92 0.68 0.40 0.12 0.00 0.00 0.00 0.03 0.20 0.28 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.10 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.24 0.46 0.81 1.26 1.75 2.18 2.45 2.49 2.33 2.04 1.72 1.46 1.26 1.12 0.98 0.82 0.65 0.52 0.48 0.51 0.57 0.58 0.48 0.27 0.04 0.00 0.00 0.01 0.22 0.39 0.45 0.37 0.20 0.06 0.02 0.13 0.38 0.69 1.00 1.23 1.36 1.39 1.34 1.24 1.10 0.92 0.68 0.40 0.12 0.00 0.00 0.00 0.03 0.20 0.28 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.10 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.24 0.46 12.5 + 15.0 0.17 0.50 0.95 1.46 1.92 2.21 2.28 2.15 1.90 1.64 1.45 1.34 1.27 1.18 1.04 0.85 0.69 0.61 0.62 0.68 0.69 0.59 0.36 0.08 0.00 0.00 0.00 0.16 0.36 0.43 0.34 0.14 0.00 0.00 0.00 0.22 0.54 0.84 1.05 1.13 1.13 1.06 0.98 0.88 0.74 0.54 0.27 0.00 0.00 0.00 0.00 0.00 0.14 0.19 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.50 0.95 1.46 1.92 2.21 2.28 2.15 1.90 1.64 1.45 1.34 1.27 1.18 1.04 0.85 0.69 0.61 0.62 0.68 0.69 0.59 0.36 0.08 0.00 0.00 0.00 0.16 0.36 0.43 0.34 0.14 0.00 0.00 0.00 0.22 0.54 0.84 1.05 1.13 1.13 1.06 0.98 0.88 0.74 0.54 0.27 0.00 0.00 0.00 0.00 0.00 0.14 0.19 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 15.0 + 17.5 0.00 0.28 0.74 1.25 1.71 2.00 2.08 1.98 1.78 1.58 1.47 1.43 1.43 1.37 1.23 1.02 0.81 0.70 0.69 0.75 0.76 0.66 0.42 0.11 0.00 0.00 0.00 0.21 0.43 0.51 0.42 0.20 0.00 0.00 0.01 0.26 0.58 0.87 1.04 1.09 1.05 0.98 0.91 0.85 0.74 0.57 0.32 0.05 0.00 0.00 0.00 0.08 0.24 0.25 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.28 0.74 1.25 1.71 2.00 2.08 1.98 1.78 1.58 1.47 1.43 1.43 1.37 1.23 1.02 0.81 0.70 0.69 0.75 0.76 0.66 0.42 0.11 0.00 0.00 0.00 0.21 0.43 0.51 0.42 0.20 0.00 0.00 0.01 0.26 0.58 0.87 1.04 1.09 1.05 0.98 0.91 0.85 0.74 0.57 0.32 0.05 0.00 0.00 0.00 0.08 0.24 0.25 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17.5 + 20.0 0.00 0.22 0.68 1.19 1.63 1.90 1.97 1.88 1.71 1.58 1.53 1.56 1.59 1.54 1.37 1.12 0.88 0.75 0.74 0.80 0.83 0.73 0.49 0.19 0.00 0.00 0.10 0.37 0.60 0.68 0.57 0.36 0.16 0.09 0.21 0.48 0.80 1.06 1.21 1.23 1.18 1.10 1.05 1.00 0.92 0.76 0.52 0.26 0.07 0.03 0.16 0.37 0.53 0.52 0.32 0.01 0.00 0.00 0.00 0.00 0.21 0.32 0.25 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.68 1.19 1.63 1.90 1.97 1.88 1.71 1.58 1.53 1.56 1.59 1.54 1.37 1.12 0.88 0.75 0.74 0.80 0.83 0.73 0.49 0.19 0.00 0.00 0.10 0.37 0.60 0.68 0.57 0.36 0.16 0.09 0.21 0.48 0.80 1.06 1.21 1.23 1.18 1.10 1.05 1.00 0.92 0.76 0.52 0.26 0.07 0.03 0.16 0.37 0.53 0.52 0.32 0.01 0.00 0.00 0.00 0.00 0.21 0.32 0.25 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 20.0 + 22.5 0.01 0.31 0.77 1.27 1.67 1.91 1.94 1.85 1.72 1.64 1.66 1.73 1.76 1.69 1.49 1.21 0.96 0.84 0.85 0.92 0.96 0.85 0.61 0.32 0.13 0.12 0.30 0.57 0.78 0.83 0.71 0.49 0.32 0.29 0.45 0.73 1.05 1.29 1.42 1.42 1.37 1.30 1.26 1.22 1.15 0.99 0.76 0.51 0.35 0.34 0.50 0.74 0.91 0.91 0.71 0.41 0.16 0.09 0.23 0.49 0.70 0.76 0.63 0.39 0.16 0.04 0.04 0.08 0.09 0.02 0.00 0.00 0.01 0.31 0.77 1.27 1.67 1.91 1.94 1.85 1.72 1.64 1.66 1.73 1.76 1.69 1.49 1.21 0.96 0.84 0.85 0.92 0.96 0.85 0.61 0.32 0.13 0.12 0.30 0.57 0.78 0.83 0.71 0.49 0.32 0.29 0.45 0.73 1.05 1.29 1.42 1.42 1.37 1.30 1.26 1.22 1.15 0.99 0.76 0.51 0.35 0.34 0.50 0.74 0.91 0.91 0.71 0.41 0.16 0.09 0.23 0.49 0.70 0.76 0.63 0.39 0.16 0.04 0.04 0.08 0.09 0.02 0.00 0.00 0.01 22.5 + 25.0 0.17 0.48 0.93 1.40 1.76 1.94 1.94 1.84 1.75 1.73 1.82 1.93 1.97 1.89 1.67 1.40 1.18 1.10 1.15 1.24 1.25 1.11 0.83 0.52 0.32 0.32 0.49 0.72 0.88 0.87 0.72 0.50 0.36 0.38 0.56 0.85 1.15 1.37 1.47 1.47 1.43 1.38 1.35 1.33 1.26 1.11 0.89 0.67 0.54 0.57 0.77 1.03 1.23 1.24 1.06 0.80 0.59 0.57 0.75 1.02 1.22 1.23 1.04 0.75 0.49 0.35 0.34 0.37 0.36 0.26 0.13 0.07 0.17 0.48 0.93 1.40 1.76 1.94 1.94 1.84 1.75 1.73 1.82 1.93 1.97 1.89 1.67 1.40 1.18 1.10 1.15 1.24 1.25 1.11 0.83 0.52 0.32 0.32 0.49 0.72 0.88 0.87 0.72 0.50 0.36 0.38 0.56 0.85 1.15 1.37 1.47 1.47 1.43 1.38 1.35 1.33 1.26 1.11 0.89 0.67 0.54 0.57 0.77 1.03 1.23 1.24 1.06 0.80 0.59 0.57 0.75 1.02 1.22 1.23 1.04 0.75 0.49 0.35 0.34 0.37 0.36 0.26 0.13 0.07 0.17 25.0 + 27.5 0.36 0.65 1.08 1.51 1.82 1.94 1.90 1.80 1.76 1.82 1.99 2.16 2.24 2.17 1.98 1.77 1.64 1.64 1.75 1.84 1.79 1.55 1.17 0.78 0.54 0.51 0.64 0.81 0.88 0.79 0.59 0.37 0.26 0.31 0.51 0.78 1.03 1.20 1.27 1.26 1.23 1.21 1.20 1.19 1.13 0.99 0.79 0.61 0.52 0.59 0.82 1.11 1.32 1.35 1.19 0.96 0.81 0.85 1.08 1.38 1.59 1.59 1.37 1.06 0.79 0.66 0.66 0.70 0.68 0.56 0.39 0.29 0.36 0.65 1.08 1.51 1.82 1.94 1.90 1.80 1.76 1.82 1.99 2.16 2.24 2.17 1.98 1.77 1.64 1.64 1.75 1.84 1.79 1.55 1.17 0.78 0.54 0.51 0.64 0.81 0.88 0.79 0.59 0.37 0.26 0.31 0.51 0.78 1.03 1.20 1.27 1.26 1.23 1.21 1.20 1.19 1.13 0.99 0.79 0.61 0.52 0.59 0.82 1.11 1.32 1.35 1.19 0.96 0.81 0.85 1.08 1.38 1.59 1.59 1.37 1.06 0.79 0.66 0.66 0.70 0.68 0.56 0.39 0.29 0.36 27.5 + 30.0 0.54 0.79 1.18 1.57 1.83 1.89 1.82 1.73 1.73 1.89 2.15 2.41 2.55 2.55 2.45 2.35 2.36 2.49 2.67 2.73 2.58 2.18 1.65 1.15 0.83 0.73 0.80 0.88 0.85 0.67 0.42 0.20 0.11 0.18 0.37 0.60 0.77 0.86 0.87 0.84 0.81 0.80 0.81 0.81 0.77 0.65 0.48 0.34 0.29 0.39 0.64 0.93 1.14 1.17 1.03 0.83 0.72 0.82 1.12 1.48 1.72 1.74 1.55 1.25 1.01 0.92 0.97 1.04 1.02 0.87 0.65 0.50 0.54 0.79 1.18 1.57 1.83 1.89 1.82 1.73 1.73 1.89 2.15 2.41 2.55 2.55 2.45 2.35 2.36 2.49 2.67 2.73 2.58 2.18 1.65 1.15 0.83 0.73 0.80 0.88 0.85 0.67 0.42 0.20 0.11 0.18 0.37 0.60 0.77 0.86 0.87 0.84 0.81 0.80 0.81 0.81 0.77 0.65 0.48 0.34 0.29 0.39 0.64 0.93 1.14 1.17 1.03 0.83 0.72 0.82 1.12 1.48 1.72 1.74 1.55 1.25 1.01 0.92 0.97 1.04 1.02 0.87 0.65 0.50 0.54 30.0 + 32.5 0.69 0.91 1.27 1.62 1.83 1.84 1.74 1.65 1.70 1.94 2.29 2.64 2.88 2.97 3.00 3.07 3.25 3.53 3.77 3.80 3.52 2.94 2.24 1.60 1.19 1.04 1.04 1.04 0.91 0.66 0.36 0.14 0.07 0.16 0.33 0.48 0.55 0.54 0.47 0.39 0.35 0.35 0.37 0.38 0.34 0.23 0.09 0.00 0.00 0.07 0.32 0.60 0.79 0.80 0.66 0.48 0.41 0.57 0.94 1.38 1.69 1.76 1.61 1.36 1.17 1.13 1.23 1.33 1.32 1.15 0.89 0.69 0.69 0.91 1.27 1.62 1.83 1.84 1.74 1.65 1.70 1.94 2.29 2.64 2.88 2.97 3.00 3.07 3.25 3.53 3.77 3.80 3.52 2.94 2.24 1.60 1.19 1.04 1.04 1.04 0.91 0.66 0.36 0.14 0.07 0.16 0.33 0.48 0.55 0.54 0.47 0.39 0.35 0.35 0.37 0.38 0.34 0.23 0.09 0.00 0.00 0.07 0.32 0.60 0.79 0.80 0.66 0.48 0.41 0.57 0.94 1.38 1.69 1.76 1.61 1.36 1.17 1.13 1.23 1.33 1.32 1.15 0.89 0.69 0.69 32.5 + 35.0 0.85 1.06 1.41 1.74 1.91 1.88 1.73 1.63 1.70 1.98 2.40 2.82 3.13 3.34 3.50 3.74 4.11 4.53 4.83 4.82 4.41 3.68 2.82 2.08 1.62 1.44 1.40 1.34 1.14 0.84 0.52 0.31 0.27 0.36 0.51 0.59 0.57 0.45 0.29 0.16 0.09 0.08 0.10 0.11 0.06 0.00 0.00 0.00 0.00 0.00 0.03 0.30 0.47 0.46 0.30 0.12 0.09 0.31 0.75 1.27 1.66 1.79 1.68 1.47 1.31 1.31 1.44 1.57 1.56 1.37 1.09 0.87 0.85 1.06 1.41 1.74 1.91 1.88 1.73 1.63 1.70 1.98 2.40 2.82 3.13 3.34 3.50 3.74 4.11 4.53 4.83 4.82 4.41 3.68 2.82 2.08 1.62 1.44 1.40 1.34 1.14 0.84 0.52 0.31 0.27 0.36 0.51 0.59 0.57 0.45 0.29 0.16 0.09 0.08 0.10 0.11 0.06 0.00 0.00 0.00 0.00 0.00 0.03 0.30 0.47 0.46 0.30 0.12 0.09 0.31 0.75 1.27 1.66 1.79 1.68 1.47 1.31 1.31 1.44 1.57 1.56 1.37 1.09 0.87 0.85 35.0 + 37.5 1.05 1.28 1.65 1.98 2.11 2.03 1.84 1.69 1.74 2.02 2.45 2.90 3.26 3.53 3.81 4.19 4.70 5.22 5.56 5.52 5.02 4.18 3.24 2.46 2.00 1.82 1.79 1.71 1.48 1.15 0.83 0.64 0.64 0.76 0.90 0.94 0.85 0.66 0.44 0.27 0.17 0.15 0.16 0.16 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.21 0.35 0.33 0.15 0.00 0.00 0.25 0.77 1.37 1.82 1.99 1.90 1.69 1.52 1.52 1.64 1.76 1.74 1.55 1.26 1.05 1.05 1.28 1.65 1.98 2.11 2.03 1.84 1.69 1.74 2.02 2.45 2.90 3.26 3.53 3.81 4.19 4.70 5.22 5.56 5.52 5.02 4.18 3.24 2.46 2.00 1.82 1.79 1.71 1.48 1.15 0.83 0.64 0.64 0.76 0.90 0.94 0.85 0.66 0.44 0.27 0.17 0.15 0.16 0.16 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.21 0.35 0.33 0.15 0.00 0.00 0.25 0.77 1.37 1.82 1.99 1.90 1.69 1.52 1.52 1.64 1.76 1.74 1.55 1.26 1.05 1.05 37.5 + 40.0 1.29 1.57 1.97 2.30 2.41 2.28 2.01 1.80 1.79 2.03 2.43 2.85 3.21 3.50 3.82 4.26 4.84 5.42 5.78 5.70 5.16 4.28 3.33 2.58 2.17 2.05 2.05 1.98 1.75 1.42 1.12 0.98 1.02 1.18 1.33 1.38 1.28 1.07 0.83 0.65 0.55 0.53 0.54 0.54 0.46 0.30 0.09 0.00 0.00 0.00 0.15 0.40 0.54 0.50 0.32 0.16 0.19 0.53 1.12 1.78 2.28 2.47 2.35 2.09 1.86 1.79 1.86 1.94 1.89 1.69 1.42 1.25 1.29 1.57 1.97 2.30 2.41 2.28 2.01 1.80 1.79 2.03 2.43 2.85 3.21 3.50 3.82 4.26 4.84 5.42 5.78 5.70 5.16 4.28 3.33 2.58 2.17 2.05 2.05 1.98 1.75 1.42 1.12 0.98 1.02 1.18 1.33 1.38 1.28 1.07 0.83 0.65 0.55 0.53 0.54 0.54 0.46 0.30 0.09 0.00 0.00 0.00 0.15 0.40 0.54 0.50 0.32 0.16 0.19 0.53 1.12 1.78 2.28 2.47 2.35 2.09 1.86 1.79 1.86 1.94 1.89 1.69 1.42 1.25 1.29 40.0 + 42.5 1.55 1.88 2.30 2.62 2.69 2.50 2.17 1.89 1.82 2.00 2.33 2.69 2.99 3.23 3.52 3.95 4.52 5.08 5.41 5.32 4.76 3.90 3.01 2.34 2.02 1.97 2.03 1.99 1.79 1.48 1.21 1.10 1.18 1.38 1.58 1.66 1.60 1.43 1.23 1.07 1.00 1.01 1.05 1.06 0.99 0.82 0.58 0.36 0.26 0.34 0.56 0.81 0.96 0.92 0.76 0.63 0.71 1.12 1.79 2.50 3.02 3.19 3.03 2.68 2.36 2.19 2.16 2.16 2.07 1.85 1.60 1.46 1.55 1.88 2.30 2.62 2.69 2.50 2.17 1.89 1.82 2.00 2.33 2.69 2.99 3.23 3.52 3.95 4.52 5.08 5.41 5.32 4.76 3.90 3.01 2.34 2.02 1.97 2.03 1.99 1.79 1.48 1.21 1.10 1.18 1.38 1.58 1.66 1.60 1.43 1.23 1.07 1.00 1.01 1.05 1.06 0.99 0.82 0.58 0.36 0.26 0.34 0.56 0.81 0.96 0.92 0.76 0.63 0.71 1.12 1.79 2.50 3.02 3.19 3.03 2.68 2.36 2.19 2.16 2.16 2.07 1.85 1.60 1.46 1.55 42.5 + 45.0 1.79 2.12 2.53 2.82 2.84 2.59 2.20 1.88 1.76 1.89 2.17 2.45 2.66 2.81 3.00 3.34 3.82 4.31 4.58 4.47 3.94 3.15 2.35 1.79 1.57 1.60 1.70 1.70 1.53 1.25 1.01 0.92 1.02 1.25 1.48 1.62 1.62 1.53 1.40 1.30 1.28 1.34 1.43 1.49 1.46 1.30 1.06 0.83 0.72 0.79 1.02 1.29 1.45 1.44 1.31 1.24 1.40 1.89 2.63 3.39 3.93 4.07 3.84 3.40 2.98 2.69 2.56 2.47 2.31 2.06 1.80 1.68 1.79 2.12 2.53 2.82 2.84 2.59 2.20 1.88 1.76 1.89 2.17 2.45 2.66 2.81 3.00 3.34 3.82 4.31 4.58 4.47 3.94 3.15 2.35 1.79 1.57 1.60 1.70 1.70 1.53 1.25 1.01 0.92 1.02 1.25 1.48 1.62 1.62 1.53 1.40 1.30 1.28 1.34 1.43 1.49 1.46 1.30 1.06 0.83 0.72 0.79 1.02 1.29 1.45 1.44 1.31 1.24 1.40 1.89 2.63 3.39 3.93 4.07 3.84 3.40 2.98 2.69 2.56 2.47 2.31 2.06 1.80 1.68 1.79 45.0 + 47.5 1.95 2.24 2.59 2.81 2.78 2.48 2.07 1.73 1.61 1.72 1.96 2.18 2.29 2.33 2.40 2.61 2.96 3.34 3.55 3.43 2.95 2.25 1.57 1.12 0.98 1.07 1.20 1.23 1.08 0.83 0.61 0.53 0.62 0.83 1.07 1.24 1.31 1.29 1.24 1.21 1.25 1.37 1.52 1.64 1.67 1.56 1.35 1.14 1.04 1.13 1.37 1.65 1.85 1.88 1.82 1.82 2.08 2.66 3.47 4.28 4.81 4.93 4.65 4.14 3.64 3.26 3.03 2.85 2.61 2.31 2.01 1.86 1.95 2.24 2.59 2.81 2.78 2.48 2.07 1.73 1.61 1.72 1.96 2.18 2.29 2.33 2.40 2.61 2.96 3.34 3.55 3.43 2.95 2.25 1.57 1.12 0.98 1.07 1.20 1.23 1.08 0.83 0.61 0.53 0.62 0.83 1.07 1.24 1.31 1.29 1.24 1.21 1.25 1.37 1.52 1.64 1.67 1.56 1.35 1.14 1.04 1.13 1.37 1.65 1.85 1.88 1.82 1.82 2.08 2.66 3.47 4.28 4.81 4.93 4.65 4.14 3.64 3.26 3.03 2.85 2.61 2.31 2.01 1.86 1.95 47.5 + 50.0 2.00 2.21 2.47 2.61 2.50 2.18 1.77 1.46 1.37 1.49 1.72 1.91 1.95 1.90 1.85 1.93 2.16 2.44 2.60 2.48 2.06 1.47 0.91 0.56 0.49 0.61 0.76 0.80 0.68 0.45 0.23 0.13 0.18 0.35 0.55 0.72 0.82 0.85 0.85 0.87 0.95 1.11 1.31 1.50 1.59 1.54 1.39 1.22 1.15 1.26 1.52 1.83 2.05 2.14 2.16 2.27 2.64 3.31 4.17 4.99 5.51 5.60 5.29 4.77 4.23 3.81 3.51 3.25 2.94 2.56 2.20 1.99 2.00 2.21 2.47 2.61 2.50 2.18 1.77 1.46 1.37 1.49 1.72 1.91 1.95 1.90 1.85 1.93 2.16 2.44 2.60 2.48 2.06 1.47 0.91 0.56 0.49 0.61 0.76 0.80 0.68 0.45 0.23 0.13 0.18 0.35 0.55 0.72 0.82 0.85 0.85 0.87 0.95 1.11 1.31 1.50 1.59 1.54 1.39 1.22 1.15 1.26 1.52 1.83 2.05 2.14 2.16 2.27 2.64 3.31 4.17 4.99 5.51 5.60 5.29 4.77 4.23 3.81 3.51 3.25 2.94 2.56 2.20 1.99 2.00 50.0 + 52.5 1.94 2.04 2.20 2.25 2.09 1.76 1.38 1.11 1.07 1.23 1.47 1.64 1.65 1.54 1.42 1.41 1.56 1.78 1.91 1.82 1.48 1.00 0.56 0.30 0.29 0.42 0.58 0.61 0.50 0.28 0.06 0.00 0.00 0.02 0.17 0.30 0.38 0.42 0.43 0.47 0.57 0.74 0.96 1.18 1.31 1.32 1.22 1.10 1.08 1.21 1.49 1.82 2.07 2.22 2.33 2.55 3.01 3.74 4.61 5.41 5.89 5.95 5.64 5.14 4.62 4.20 3.88 3.56 3.18 2.74 2.31 2.01 1.94 2.04 2.20 2.25 2.09 1.76 1.38 1.11 1.07 1.23 1.47 1.64 1.65 1.54 1.42 1.41 1.56 1.78 1.91 1.82 1.48 1.00 0.56 0.30 0.29 0.42 0.58 0.61 0.50 0.28 0.06 0.00 0.00 0.02 0.17 0.30 0.38 0.42 0.43 0.47 0.57 0.74 0.96 1.18 1.31 1.32 1.22 1.10 1.08 1.21 1.49 1.82 2.07 2.22 2.33 2.55 3.01 3.74 4.61 5.41 5.89 5.95 5.64 5.14 4.62 4.20 3.88 3.56 3.18 2.74 2.31 2.01 1.94 52.5 + 55.0 1.77 1.77 1.84 1.81 1.62 1.29 0.94 0.73 0.73 0.92 1.18 1.36 1.37 1.25 1.11 1.08 1.20 1.40 1.54 1.49 1.24 0.86 0.53 0.35 0.38 0.53 0.67 0.69 0.57 0.36 0.14 0.00 0.00 0.00 0.07 0.15 0.19 0.21 0.22 0.25 0.33 0.48 0.68 0.89 1.02 1.04 0.98 0.91 0.92 1.08 1.37 1.70 1.97 2.17 2.36 2.65 3.17 3.91 4.75 5.46 5.87 5.90 5.61 5.16 4.71 4.34 4.03 3.70 3.27 2.77 2.28 1.93 1.77 1.77 1.84 1.81 1.62 1.29 0.94 0.73 0.73 0.92 1.18 1.36 1.37 1.25 1.11 1.08 1.20 1.40 1.54 1.49 1.24 0.86 0.53 0.35 0.38 0.53 0.67 0.69 0.57 0.36 0.14 0.00 0.00 0.00 0.07 0.15 0.19 0.21 0.22 0.25 0.33 0.48 0.68 0.89 1.02 1.04 0.98 0.91 0.92 1.08 1.37 1.70 1.97 2.17 2.36 2.65 3.17 3.91 4.75 5.46 5.87 5.90 5.61 5.16 4.71 4.34 4.03 3.70 3.27 2.77 2.28 1.93 1.77 55.0 + 57.5 1.51 1.45 1.43 1.36 1.14 0.82 0.51 0.34 0.37 0.58 0.84 1.03 1.06 0.97 0.87 0.88 1.02 1.24 1.40 1.40 1.20 0.91 0.66 0.56 0.62 0.77 0.90 0.91 0.78 0.58 0.38 0.24 0.19 0.20 0.24 0.28 0.30 0.30 0.30 0.31 0.36 0.47 0.62 0.76 0.84 0.84 0.79 0.74 0.78 0.95 1.23 1.54 1.82 2.04 2.27 2.61 3.14 3.83 4.55 5.15 5.46 5.44 5.19 4.82 4.47 4.18 3.91 3.59 3.15 2.63 2.12 1.73 1.51 1.45 1.43 1.36 1.14 0.82 0.51 0.34 0.37 0.58 0.84 1.03 1.06 0.97 0.87 0.88 1.02 1.24 1.40 1.40 1.20 0.91 0.66 0.56 0.62 0.77 0.90 0.91 0.78 0.58 0.38 0.24 0.19 0.20 0.24 0.28 0.30 0.30 0.30 0.31 0.36 0.47 0.62 0.76 0.84 0.84 0.79 0.74 0.78 0.95 1.23 1.54 1.82 2.04 2.27 2.61 3.14 3.83 4.55 5.15 5.46 5.44 5.19 4.82 4.47 4.18 3.91 3.59 3.15 2.63 2.12 1.73 1.51 57.5 + 60.0 1.21 1.10 1.04 0.92 0.70 0.40 0.12 0.00 0.02 0.22 0.47 0.65 0.71 0.67 0.64 0.72 0.91 1.16 1.33 1.35 1.19 0.95 0.75 0.70 0.79 0.95 1.06 1.06 0.93 0.74 0.58 0.48 0.46 0.50 0.55 0.59 0.61 0.61 0.61 0.62 0.65 0.70 0.76 0.81 0.81 0.76 0.68 0.65 0.70 0.87 1.13 1.40 1.65 1.86 2.10 2.44 2.92 3.51 4.09 4.52 4.71 4.66 4.44 4.18 3.95 3.76 3.56 3.27 2.86 2.36 1.86 1.46 1.21 1.10 1.04 0.92 0.70 0.40 0.12 0.00 0.02 0.22 0.47 0.65 0.71 0.67 0.64 0.72 0.91 1.16 1.33 1.35 1.19 0.95 0.75 0.70 0.79 0.95 1.06 1.06 0.93 0.74 0.58 0.48 0.46 0.50 0.55 0.59 0.61 0.61 0.61 0.62 0.65 0.70 0.76 0.81 0.81 0.76 0.68 0.65 0.70 0.87 1.13 1.40 1.65 1.86 2.10 2.44 2.92 3.51 4.09 4.52 4.71 4.66 4.44 4.18 3.95 3.76 3.56 3.27 2.86 2.36 1.86 1.46 1.21 60.0 + 62.5 0.94 0.79 0.68 0.54 0.32 0.06 0.00 0.00 0.00 0.00 0.12 0.29 0.36 0.37 0.41 0.55 0.79 1.05 1.21 1.21 1.05 0.82 0.67 0.65 0.76 0.92 1.03 1.01 0.90 0.74 0.62 0.59 0.63 0.72 0.81 0.88 0.93 0.97 1.00 1.02 1.04 1.04 1.02 0.96 0.86 0.75 0.65 0.62 0.68 0.84 1.06 1.29 1.48 1.67 1.89 2.19 2.60 3.06 3.47 3.73 3.81 3.73 3.56 3.40 3.29 3.20 3.08 2.85 2.49 2.04 1.58 1.20 0.94 0.79 0.68 0.54 0.32 0.06 0.00 0.00 0.00 0.00 0.12 0.29 0.36 0.37 0.41 0.55 0.79 1.05 1.21 1.21 1.05 0.82 0.67 0.65 0.76 0.92 1.03 1.01 0.90 0.74 0.62 0.59 0.63 0.72 0.81 0.88 0.93 0.97 1.00 1.02 1.04 1.04 1.02 0.96 0.86 0.75 0.65 0.62 0.68 0.84 1.06 1.29 1.48 1.67 1.89 2.19 2.60 3.06 3.47 3.73 3.81 3.73 3.56 3.40 3.29 3.20 3.08 2.85 2.49 2.04 1.58 1.20 0.94 62.5 + 65.0 0.79 0.59 0.44 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.10 0.14 0.23 0.41 0.65 0.89 1.02 0.98 0.79 0.57 0.43 0.44 0.57 0.73 0.83 0.82 0.72 0.60 0.54 0.56 0.67 0.81 0.94 1.05 1.15 1.25 1.33 1.39 1.40 1.36 1.26 1.10 0.93 0.76 0.66 0.64 0.72 0.87 1.06 1.23 1.37 1.52 1.71 1.97 2.29 2.62 2.87 2.99 2.97 2.87 2.76 2.69 2.68 2.68 2.63 2.47 2.19 1.81 1.41 1.06 0.79 0.59 0.44 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.10 0.14 0.23 0.41 0.65 0.89 1.02 0.98 0.79 0.57 0.43 0.44 0.57 0.73 0.83 0.82 0.72 0.60 0.54 0.56 0.67 0.81 0.94 1.05 1.15 1.25 1.33 1.39 1.40 1.36 1.26 1.10 0.93 0.76 0.66 0.64 0.72 0.87 1.06 1.23 1.37 1.52 1.71 1.97 2.29 2.62 2.87 2.99 2.97 2.87 2.76 2.69 2.68 2.68 2.63 2.47 2.19 1.81 1.41 1.06 0.79 65.0 + 67.5 0.82 0.58 0.37 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.07 0.17 0.35 0.58 0.78 0.85 0.77 0.56 0.35 0.23 0.25 0.39 0.55 0.64 0.63 0.55 0.47 0.45 0.52 0.65 0.81 0.96 1.10 1.25 1.40 1.54 1.64 1.67 1.59 1.42 1.20 0.98 0.81 0.72 0.74 0.84 1.00 1.15 1.28 1.38 1.50 1.66 1.87 2.12 2.34 2.47 2.48 2.40 2.29 2.22 2.22 2.28 2.34 2.35 2.26 2.06 1.77 1.44 1.11 0.82 0.58 0.37 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.07 0.17 0.35 0.58 0.78 0.85 0.77 0.56 0.35 0.23 0.25 0.39 0.55 0.64 0.63 0.55 0.47 0.45 0.52 0.65 0.81 0.96 1.10 1.25 1.40 1.54 1.64 1.67 1.59 1.42 1.20 0.98 0.81 0.72 0.74 0.84 1.00 1.15 1.28 1.38 1.50 1.66 1.87 2.12 2.34 2.47 2.48 2.40 2.29 2.22 2.22 2.28 2.34 2.35 2.26 2.06 1.77 1.44 1.11 0.82 67.5 + 70.0 1.07 0.78 0.51 0.29 0.11 0.00 0.00 0.00 0.00 0.01 0.09 0.14 0.18 0.22 0.31 0.47 0.66 0.80 0.83 0.72 0.52 0.33 0.24 0.28 0.41 0.55 0.63 0.62 0.55 0.50 0.50 0.57 0.69 0.82 0.96 1.11 1.29 1.50 1.70 1.83 1.86 1.77 1.57 1.32 1.09 0.94 0.90 0.96 1.10 1.26 1.40 1.50 1.58 1.67 1.81 1.99 2.18 2.31 2.36 2.30 2.19 2.08 2.03 2.05 2.13 2.22 2.27 2.25 2.13 1.94 1.68 1.38 1.07 0.78 0.51 0.29 0.11 0.00 0.00 0.00 0.00 0.01 0.09 0.14 0.18 0.22 0.31 0.47 0.66 0.80 0.83 0.72 0.52 0.33 0.24 0.28 0.41 0.55 0.63 0.62 0.55 0.50 0.50 0.57 0.69 0.82 0.96 1.11 1.29 1.50 1.70 1.83 1.86 1.77 1.57 1.32 1.09 0.94 0.90 0.96 1.10 1.26 1.40 1.50 1.58 1.67 1.81 1.99 2.18 2.31 2.36 2.30 2.19 2.08 2.03 2.05 2.13 2.22 2.27 2.25 2.13 1.94 1.68 1.38 1.07 70.0 + 72.5 1.48 1.15 0.84 0.59 0.42 0.33 0.30 0.32 0.36 0.42 0.48 0.51 0.53 0.56 0.64 0.76 0.89 0.98 0.98 0.88 0.73 0.58 0.53 0.57 0.68 0.79 0.83 0.81 0.75 0.70 0.70 0.74 0.82 0.91 1.02 1.17 1.38 1.63 1.88 2.04 2.08 1.98 1.78 1.55 1.35 1.24 1.24 1.34 1.50 1.67 1.81 1.90 1.96 2.03 2.14 2.28 2.41 2.49 2.49 2.41 2.28 2.16 2.10 2.12 2.18 2.27 2.34 2.37 2.34 2.24 2.06 1.80 1.48 1.15 0.84 0.59 0.42 0.33 0.30 0.32 0.36 0.42 0.48 0.51 0.53 0.56 0.64 0.76 0.89 0.98 0.98 0.88 0.73 0.58 0.53 0.57 0.68 0.79 0.83 0.81 0.75 0.70 0.70 0.74 0.82 0.91 1.02 1.17 1.38 1.63 1.88 2.04 2.08 1.98 1.78 1.55 1.35 1.24 1.24 1.34 1.50 1.67 1.81 1.90 1.96 2.03 2.14 2.28 2.41 2.49 2.49 2.41 2.28 2.16 2.10 2.12 2.18 2.27 2.34 2.37 2.34 2.24 2.06 1.80 1.48 72.5 + 75.0 1.91 1.56 1.23 0.98 0.81 0.74 0.72 0.74 0.78 0.83 0.88 0.92 0.95 0.98 1.03 1.10 1.18 1.23 1.24 1.17 1.08 1.00 0.97 1.00 1.07 1.11 1.11 1.06 1.00 0.95 0.93 0.94 0.98 1.04 1.15 1.32 1.57 1.86 2.13 2.31 2.36 2.27 2.09 1.89 1.74 1.67 1.71 1.82 1.98 2.14 2.27 2.34 2.39 2.43 2.49 2.57 2.65 2.70 2.68 2.59 2.47 2.35 2.26 2.24 2.26 2.32 2.41 2.49 2.55 2.54 2.43 2.22 1.91 1.56 1.23 0.98 0.81 0.74 0.72 0.74 0.78 0.83 0.88 0.92 0.95 0.98 1.03 1.10 1.18 1.23 1.24 1.17 1.08 1.00 0.97 1.00 1.07 1.11 1.11 1.06 1.00 0.95 0.93 0.94 0.98 1.04 1.15 1.32 1.57 1.86 2.13 2.31 2.36 2.27 2.09 1.89 1.74 1.67 1.71 1.82 1.98 2.14 2.27 2.34 2.39 2.43 2.49 2.57 2.65 2.70 2.68 2.59 2.47 2.35 2.26 2.24 2.26 2.32 2.41 2.49 2.55 2.54 2.43 2.22 1.91 75.0 + 77.5 2.20 1.87 1.55 1.30 1.13 1.04 1.00 0.99 1.02 1.06 1.13 1.20 1.25 1.29 1.31 1.32 1.35 1.37 1.39 1.38 1.36 1.33 1.31 1.31 1.30 1.28 1.22 1.15 1.08 1.03 1.01 1.02 1.06 1.14 1.29 1.53 1.83 2.16 2.44 2.61 2.64 2.56 2.41 2.26 2.16 2.11 2.14 2.23 2.35 2.48 2.58 2.64 2.65 2.64 2.63 2.63 2.66 2.68 2.67 2.62 2.52 2.39 2.28 2.20 2.18 2.22 2.32 2.45 2.59 2.67 2.64 2.48 2.20 1.87 1.55 1.30 1.13 1.04 1.00 0.99 1.02 1.06 1.13 1.20 1.25 1.29 1.31 1.32 1.35 1.37 1.39 1.38 1.36 1.33 1.31 1.31 1.30 1.28 1.22 1.15 1.08 1.03 1.01 1.02 1.06 1.14 1.29 1.53 1.83 2.16 2.44 2.61 2.64 2.56 2.41 2.26 2.16 2.11 2.14 2.23 2.35 2.48 2.58 2.64 2.65 2.64 2.63 2.63 2.66 2.68 2.67 2.62 2.52 2.39 2.28 2.20 2.18 2.22 2.32 2.45 2.59 2.67 2.64 2.48 2.20 77.5 + 80.0 2.23 1.95 1.66 1.42 1.25 1.12 1.03 0.97 0.96 1.00 1.09 1.20 1.29 1.33 1.31 1.26 1.23 1.23 1.27 1.32 1.35 1.36 1.33 1.27 1.19 1.10 1.02 0.94 0.89 0.86 0.85 0.89 0.98 1.14 1.40 1.73 2.10 2.43 2.68 2.80 2.79 2.70 2.58 2.47 2.38 2.33 2.31 2.33 2.39 2.47 2.54 2.57 2.54 2.47 2.37 2.30 2.27 2.29 2.32 2.32 2.26 2.14 2.01 1.89 1.83 1.86 1.98 2.17 2.38 2.53 2.56 2.46 2.23 1.95 1.66 1.42 1.25 1.12 1.03 0.97 0.96 1.00 1.09 1.20 1.29 1.33 1.31 1.26 1.23 1.23 1.27 1.32 1.35 1.36 1.33 1.27 1.19 1.10 1.02 0.94 0.89 0.86 0.85 0.89 0.98 1.14 1.40 1.73 2.10 2.43 2.68 2.80 2.79 2.70 2.58 2.47 2.38 2.33 2.31 2.33 2.39 2.47 2.54 2.57 2.54 2.47 2.37 2.30 2.27 2.29 2.32 2.32 2.26 2.14 2.01 1.89 1.83 1.86 1.98 2.17 2.38 2.53 2.56 2.46 2.23 80.0 + 82.5 2.01 1.78 1.55 1.33 1.14 0.96 0.79 0.67 0.62 0.66 0.78 0.93 1.04 1.06 0.99 0.88 0.79 0.77 0.82 0.92 1.00 1.02 0.97 0.86 0.73 0.61 0.53 0.49 0.47 0.48 0.52 0.62 0.80 1.08 1.46 1.88 2.28 2.59 2.75 2.77 2.69 2.56 2.43 2.33 2.24 2.15 2.06 2.00 1.99 2.02 2.07 2.08 2.02 1.87 1.70 1.56 1.51 1.54 1.63 1.70 1.69 1.60 1.45 1.30 1.22 1.26 1.43 1.67 1.93 2.13 2.22 2.17 2.01 1.78 1.55 1.33 1.14 0.96 0.79 0.67 0.62 0.66 0.78 0.93 1.04 1.06 0.99 0.88 0.79 0.77 0.82 0.92 1.00 1.02 0.97 0.86 0.73 0.61 0.53 0.49 0.47 0.48 0.52 0.62 0.80 1.08 1.46 1.88 2.28 2.59 2.75 2.77 2.69 2.56 2.43 2.33 2.24 2.15 2.06 2.00 1.99 2.02 2.07 2.08 2.02 1.87 1.70 1.56 1.51 1.54 1.63 1.70 1.69 1.60 1.45 1.30 1.22 1.26 1.43 1.67 1.93 2.13 2.22 2.17 2.01 82.5 + 85.0 1.63 1.47 1.29 1.10 0.89 0.66 0.42 0.24 0.15 0.19 0.34 0.51 0.62 0.60 0.47 0.29 0.16 0.13 0.21 0.35 0.47 0.50 0.42 0.29 0.15 0.05 0.01 0.03 0.07 0.13 0.22 0.39 0.66 1.06 1.53 2.00 2.38 2.59 2.61 2.48 2.28 2.08 1.93 1.81 1.70 1.57 1.42 1.30 1.24 1.25 1.30 1.30 1.22 1.03 0.81 0.63 0.57 0.65 0.80 0.94 0.99 0.91 0.75 0.60 0.52 0.59 0.79 1.08 1.38 1.61 1.73 1.73 1.63 1.47 1.29 1.10 0.89 0.66 0.42 0.24 0.15 0.19 0.34 0.51 0.62 0.60 0.47 0.29 0.16 0.13 0.21 0.35 0.47 0.50 0.42 0.29 0.15 0.05 0.01 0.03 0.07 0.13 0.22 0.39 0.66 1.06 1.53 2.00 2.38 2.59 2.61 2.48 2.28 2.08 1.93 1.81 1.70 1.57 1.42 1.30 1.24 1.25 1.30 1.30 1.22 1.03 0.81 0.63 0.57 0.65 0.80 0.94 0.99 0.91 0.75 0.60 0.52 0.59 0.79 1.08 1.38 1.61 1.73 1.73 1.63 85.0 + 87.5 1.29 1.20 1.07 0.90 0.67 0.39 0.11 0.00 0.00 0.00 0.00 0.14 0.24 0.19 0.01 0.00 0.00 0.00 0.00 0.00 0.04 0.09 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.20 0.41 0.74 1.19 1.68 2.12 2.40 2.46 2.30 2.01 1.69 1.41 1.22 1.08 0.95 0.79 0.62 0.48 0.42 0.44 0.51 0.53 0.44 0.25 0.01 0.00 0.00 0.00 0.13 0.32 0.40 0.33 0.17 0.01 0.00 0.04 0.27 0.59 0.90 1.14 1.28 1.32 1.29 1.20 1.07 0.90 0.67 0.39 0.11 0.00 0.00 0.00 0.00 0.14 0.24 0.19 0.01 0.00 0.00 0.00 0.00 0.00 0.04 0.09 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.20 0.41 0.74 1.19 1.68 2.12 2.40 2.46 2.30 2.01 1.69 1.41 1.22 1.08 0.95 0.79 0.62 0.48 0.42 0.44 0.51 0.53 0.44 0.25 0.01 0.00 0.00 0.00 0.13 0.32 0.40 0.33 0.17 0.01 0.00 0.04 0.27 0.59 0.90 1.14 1.28 1.32 1.29 87.5 + 90.0 1.15 1.13 1.05 0.89 0.65 0.34 0.03 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.02 0.00 0.00 0.00 0.00 0.13 0.28 0.41 0.56 0.78 1.11 1.53 1.96 2.28 2.40 2.28 1.96 1.53 1.11 0.78 0.56 0.41 0.28 0.13 0.00 0.00 0.00 0.00 0.02 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.03 0.34 0.65 0.89 1.05 1.13 1.15 1.13 1.05 0.89 0.65 0.34 0.03 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.02 0.00 0.00 0.00 0.00 0.13 0.28 0.41 0.56 0.78 1.11 1.53 1.96 2.28 2.40 2.28 1.96 1.53 1.11 0.78 0.56 0.41 0.28 0.13 0.00 0.00 0.00 0.00 0.02 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.03 0.34 0.65 0.89 1.05 1.13 1.15 90.0 + + 80.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.80 ) PHI2 = 80. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 0.0 + 2.5 1.55 1.81 2.05 2.24 2.31 2.25 2.08 1.84 1.59 1.35 1.12 0.90 0.70 0.52 0.41 0.36 0.35 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.06 0.26 0.38 0.41 0.41 0.44 0.54 0.69 0.89 1.10 1.33 1.56 1.80 2.02 2.17 2.23 2.16 1.99 1.77 1.53 1.29 1.07 0.86 0.66 0.51 0.43 0.41 0.41 0.38 0.27 0.07 0.00 0.00 0.00 0.00 0.00 0.07 0.25 0.33 0.35 0.35 0.39 0.50 0.67 0.87 1.08 1.31 1.55 1.81 2.05 2.24 2.31 2.25 2.08 1.84 1.59 1.35 1.12 0.90 0.70 0.52 0.41 0.36 0.35 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.06 0.26 0.38 0.41 0.41 0.44 0.54 0.69 0.89 1.10 1.33 1.56 1.80 2.02 2.17 2.23 2.16 1.99 1.77 1.53 1.29 1.07 0.86 0.66 0.51 0.43 0.41 0.41 0.38 0.27 0.07 0.00 0.00 0.00 0.00 0.00 0.07 0.25 0.33 0.35 0.35 0.39 0.50 0.67 0.87 1.08 1.31 1.55 2.5 + 5.0 1.52 1.83 2.13 2.36 2.47 2.42 2.23 1.96 1.66 1.38 1.13 0.89 0.67 0.49 0.36 0.30 0.30 0.30 0.26 0.13 0.00 0.00 0.00 0.00 0.00 0.12 0.33 0.45 0.48 0.46 0.45 0.50 0.62 0.80 1.03 1.28 1.53 1.78 1.99 2.13 2.16 2.08 1.91 1.67 1.41 1.16 0.91 0.70 0.53 0.43 0.40 0.43 0.48 0.47 0.37 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.28 0.30 0.27 0.24 0.27 0.38 0.55 0.75 0.98 1.23 1.52 1.83 2.13 2.36 2.47 2.42 2.23 1.96 1.66 1.38 1.13 0.89 0.67 0.49 0.36 0.30 0.30 0.30 0.26 0.13 0.00 0.00 0.00 0.00 0.00 0.12 0.33 0.45 0.48 0.46 0.45 0.50 0.62 0.80 1.03 1.28 1.53 1.78 1.99 2.13 2.16 2.08 1.91 1.67 1.41 1.16 0.91 0.70 0.53 0.43 0.40 0.43 0.48 0.47 0.37 0.17 0.00 0.00 0.00 0.00 0.00 0.17 0.28 0.30 0.27 0.24 0.27 0.38 0.55 0.75 0.98 1.23 1.52 5.0 + 7.5 1.39 1.77 2.15 2.45 2.60 2.56 2.36 2.05 1.71 1.39 1.12 0.89 0.67 0.48 0.33 0.26 0.26 0.29 0.30 0.24 0.11 0.00 0.00 0.00 0.00 0.13 0.34 0.47 0.51 0.46 0.40 0.38 0.45 0.61 0.85 1.13 1.41 1.66 1.86 1.97 1.98 1.89 1.71 1.48 1.21 0.93 0.66 0.44 0.30 0.26 0.31 0.41 0.49 0.49 0.38 0.19 0.00 0.00 0.00 0.00 0.13 0.24 0.26 0.21 0.13 0.08 0.10 0.21 0.37 0.57 0.79 1.06 1.39 1.77 2.15 2.45 2.60 2.56 2.36 2.05 1.71 1.39 1.12 0.89 0.67 0.48 0.33 0.26 0.26 0.29 0.30 0.24 0.11 0.00 0.00 0.00 0.00 0.13 0.34 0.47 0.51 0.46 0.40 0.38 0.45 0.61 0.85 1.13 1.41 1.66 1.86 1.97 1.98 1.89 1.71 1.48 1.21 0.93 0.66 0.44 0.30 0.26 0.31 0.41 0.49 0.49 0.38 0.19 0.00 0.00 0.00 0.00 0.13 0.24 0.26 0.21 0.13 0.08 0.10 0.21 0.37 0.57 0.79 1.06 1.39 7.5 + 10.0 1.16 1.58 2.03 2.39 2.59 2.58 2.37 2.04 1.68 1.37 1.11 0.91 0.72 0.54 0.38 0.28 0.26 0.31 0.36 0.35 0.25 0.08 0.00 0.00 0.00 0.04 0.25 0.41 0.45 0.38 0.26 0.18 0.19 0.32 0.57 0.87 1.17 1.43 1.60 1.67 1.66 1.56 1.40 1.19 0.92 0.63 0.35 0.13 0.01 0.03 0.14 0.29 0.39 0.37 0.23 0.03 0.00 0.00 0.00 0.00 0.14 0.20 0.16 0.05 0.00 0.00 0.00 0.03 0.17 0.34 0.54 0.80 1.16 1.58 2.03 2.39 2.59 2.58 2.37 2.04 1.68 1.37 1.11 0.91 0.72 0.54 0.38 0.28 0.26 0.31 0.36 0.35 0.25 0.08 0.00 0.00 0.00 0.04 0.25 0.41 0.45 0.38 0.26 0.18 0.19 0.32 0.57 0.87 1.17 1.43 1.60 1.67 1.66 1.56 1.40 1.19 0.92 0.63 0.35 0.13 0.01 0.03 0.14 0.29 0.39 0.37 0.23 0.03 0.00 0.00 0.00 0.00 0.14 0.20 0.16 0.05 0.00 0.00 0.00 0.03 0.17 0.34 0.54 0.80 1.16 10.0 + 12.5 0.84 1.29 1.78 2.19 2.43 2.44 2.25 1.93 1.59 1.31 1.11 0.97 0.83 0.66 0.49 0.37 0.32 0.36 0.43 0.44 0.35 0.15 0.00 0.00 0.00 0.00 0.10 0.29 0.35 0.27 0.10 0.00 0.00 0.02 0.27 0.59 0.90 1.14 1.27 1.31 1.28 1.19 1.07 0.89 0.65 0.36 0.07 0.00 0.00 0.00 0.00 0.14 0.22 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.26 0.49 0.84 1.29 1.78 2.19 2.43 2.44 2.25 1.93 1.59 1.31 1.11 0.97 0.83 0.66 0.49 0.37 0.32 0.36 0.43 0.44 0.35 0.15 0.00 0.00 0.00 0.00 0.10 0.29 0.35 0.27 0.10 0.00 0.00 0.02 0.27 0.59 0.90 1.14 1.27 1.31 1.28 1.19 1.07 0.89 0.65 0.36 0.07 0.00 0.00 0.00 0.00 0.14 0.22 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.26 0.49 0.84 12.5 + 15.0 0.53 0.99 1.50 1.94 2.20 2.24 2.06 1.77 1.47 1.26 1.14 1.07 0.98 0.84 0.66 0.49 0.41 0.42 0.49 0.51 0.41 0.18 0.00 0.00 0.00 0.00 0.01 0.22 0.31 0.22 0.02 0.00 0.00 0.00 0.10 0.43 0.73 0.94 1.03 1.03 0.98 0.92 0.83 0.70 0.49 0.22 0.00 0.00 0.00 0.00 0.00 0.06 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.20 0.53 0.99 1.50 1.94 2.20 2.24 2.06 1.77 1.47 1.26 1.14 1.07 0.98 0.84 0.66 0.49 0.41 0.42 0.49 0.51 0.41 0.18 0.00 0.00 0.00 0.00 0.01 0.22 0.31 0.22 0.02 0.00 0.00 0.00 0.10 0.43 0.73 0.94 1.03 1.03 0.98 0.92 0.83 0.70 0.49 0.22 0.00 0.00 0.00 0.00 0.00 0.06 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.20 0.53 15.0 + 17.5 0.33 0.79 1.31 1.76 2.03 2.07 1.91 1.65 1.41 1.26 1.22 1.21 1.16 1.02 0.81 0.61 0.49 0.48 0.55 0.57 0.48 0.24 0.00 0.00 0.00 0.00 0.06 0.30 0.40 0.32 0.10 0.00 0.00 0.00 0.16 0.48 0.77 0.94 0.99 0.97 0.91 0.86 0.81 0.71 0.53 0.27 0.00 0.00 0.00 0.00 0.01 0.18 0.20 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.33 0.79 1.31 1.76 2.03 2.07 1.91 1.65 1.41 1.26 1.22 1.21 1.16 1.02 0.81 0.61 0.49 0.48 0.55 0.57 0.48 0.24 0.00 0.00 0.00 0.00 0.06 0.30 0.40 0.32 0.10 0.00 0.00 0.00 0.16 0.48 0.77 0.94 0.99 0.97 0.91 0.86 0.81 0.71 0.53 0.27 0.00 0.00 0.00 0.00 0.01 0.18 0.20 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.33 17.5 + 20.0 0.31 0.78 1.30 1.74 2.00 2.02 1.86 1.63 1.44 1.35 1.36 1.39 1.34 1.18 0.94 0.70 0.56 0.55 0.63 0.67 0.58 0.35 0.05 0.00 0.00 0.00 0.26 0.52 0.62 0.53 0.30 0.09 0.02 0.13 0.40 0.72 0.99 1.14 1.16 1.11 1.05 1.02 0.99 0.91 0.75 0.50 0.23 0.02 0.00 0.11 0.33 0.50 0.51 0.31 0.00 0.00 0.00 0.00 0.00 0.15 0.27 0.22 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.31 0.78 1.30 1.74 2.00 2.02 1.86 1.63 1.44 1.35 1.36 1.39 1.34 1.18 0.94 0.70 0.56 0.55 0.63 0.67 0.58 0.35 0.05 0.00 0.00 0.00 0.26 0.52 0.62 0.53 0.30 0.09 0.02 0.13 0.40 0.72 0.99 1.14 1.16 1.11 1.05 1.02 0.99 0.91 0.75 0.50 0.23 0.02 0.00 0.11 0.33 0.50 0.51 0.31 0.00 0.00 0.00 0.00 0.00 0.15 0.27 0.22 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.31 20.0 + 22.5 0.45 0.92 1.44 1.86 2.07 2.07 1.90 1.69 1.55 1.51 1.56 1.59 1.53 1.33 1.06 0.80 0.67 0.69 0.78 0.84 0.76 0.52 0.23 0.03 0.03 0.22 0.52 0.77 0.84 0.72 0.49 0.30 0.25 0.40 0.68 1.00 1.25 1.37 1.38 1.33 1.27 1.25 1.23 1.17 1.02 0.77 0.51 0.33 0.31 0.48 0.73 0.92 0.94 0.74 0.43 0.15 0.06 0.18 0.44 0.67 0.74 0.62 0.39 0.17 0.05 0.07 0.14 0.19 0.15 0.06 0.03 0.14 0.45 0.92 1.44 1.86 2.07 2.07 1.90 1.69 1.55 1.51 1.56 1.59 1.53 1.33 1.06 0.80 0.67 0.69 0.78 0.84 0.76 0.52 0.23 0.03 0.03 0.22 0.52 0.77 0.84 0.72 0.49 0.30 0.25 0.40 0.68 1.00 1.25 1.37 1.38 1.33 1.27 1.25 1.23 1.17 1.02 0.77 0.51 0.33 0.31 0.48 0.73 0.92 0.94 0.74 0.43 0.15 0.06 0.18 0.44 0.67 0.74 0.62 0.39 0.17 0.05 0.07 0.14 0.19 0.15 0.06 0.03 0.14 0.45 22.5 + 25.0 0.66 1.12 1.62 2.00 2.17 2.13 1.95 1.77 1.68 1.70 1.78 1.82 1.74 1.52 1.23 1.00 0.92 0.97 1.09 1.14 1.02 0.75 0.44 0.24 0.24 0.44 0.71 0.90 0.92 0.77 0.53 0.36 0.35 0.52 0.81 1.11 1.34 1.44 1.45 1.40 1.36 1.35 1.34 1.28 1.14 0.91 0.67 0.51 0.53 0.73 1.01 1.24 1.27 1.11 0.82 0.59 0.54 0.70 0.97 1.20 1.23 1.06 0.77 0.51 0.38 0.39 0.46 0.49 0.43 0.31 0.25 0.35 0.66 1.12 1.62 2.00 2.17 2.13 1.95 1.77 1.68 1.70 1.78 1.82 1.74 1.52 1.23 1.00 0.92 0.97 1.09 1.14 1.02 0.75 0.44 0.24 0.24 0.44 0.71 0.90 0.92 0.77 0.53 0.36 0.35 0.52 0.81 1.11 1.34 1.44 1.45 1.40 1.36 1.35 1.34 1.28 1.14 0.91 0.67 0.51 0.53 0.73 1.01 1.24 1.27 1.11 0.82 0.59 0.54 0.70 0.97 1.20 1.23 1.06 0.77 0.51 0.38 0.39 0.46 0.49 0.43 0.31 0.25 0.35 0.66 25.0 + 27.5 0.84 1.28 1.74 2.07 2.19 2.11 1.93 1.79 1.76 1.86 1.99 2.06 1.99 1.78 1.54 1.38 1.38 1.50 1.62 1.62 1.41 1.05 0.66 0.41 0.38 0.54 0.76 0.88 0.82 0.61 0.37 0.22 0.24 0.43 0.71 0.98 1.16 1.23 1.23 1.19 1.17 1.18 1.18 1.13 0.99 0.78 0.57 0.45 0.50 0.73 1.03 1.27 1.33 1.19 0.95 0.76 0.77 0.98 1.30 1.55 1.59 1.40 1.09 0.82 0.69 0.71 0.79 0.82 0.74 0.59 0.49 0.56 0.84 1.28 1.74 2.07 2.19 2.11 1.93 1.79 1.76 1.86 1.99 2.06 1.99 1.78 1.54 1.38 1.38 1.50 1.62 1.62 1.41 1.05 0.66 0.41 0.38 0.54 0.76 0.88 0.82 0.61 0.37 0.22 0.24 0.43 0.71 0.98 1.16 1.23 1.23 1.19 1.17 1.18 1.18 1.13 0.99 0.78 0.57 0.45 0.50 0.73 1.03 1.27 1.33 1.19 0.95 0.76 0.77 0.98 1.30 1.55 1.59 1.40 1.09 0.82 0.69 0.71 0.79 0.82 0.74 0.59 0.49 0.56 0.84 27.5 + 30.0 0.94 1.34 1.75 2.03 2.10 1.99 1.82 1.72 1.78 1.96 2.18 2.31 2.28 2.14 2.00 1.97 2.08 2.28 2.40 2.30 1.94 1.42 0.91 0.58 0.49 0.60 0.74 0.77 0.63 0.37 0.11 0.00 0.03 0.22 0.47 0.68 0.79 0.81 0.77 0.74 0.73 0.75 0.77 0.73 0.60 0.42 0.23 0.14 0.21 0.45 0.76 1.01 1.07 0.94 0.72 0.59 0.66 0.95 1.35 1.66 1.74 1.58 1.29 1.04 0.94 0.99 1.10 1.14 1.04 0.85 0.69 0.71 0.94 1.34 1.75 2.03 2.10 1.99 1.82 1.72 1.78 1.96 2.18 2.31 2.28 2.14 2.00 1.97 2.08 2.28 2.40 2.30 1.94 1.42 0.91 0.58 0.49 0.60 0.74 0.77 0.63 0.37 0.11 0.00 0.03 0.22 0.47 0.68 0.79 0.81 0.77 0.74 0.73 0.75 0.77 0.73 0.60 0.42 0.23 0.14 0.21 0.45 0.76 1.01 1.07 0.94 0.72 0.59 0.66 0.95 1.35 1.66 1.74 1.58 1.29 1.04 0.94 0.99 1.10 1.14 1.04 0.85 0.69 0.71 0.94 30.0 + 32.5 0.99 1.35 1.72 1.95 1.96 1.82 1.64 1.59 1.73 2.01 2.31 2.52 2.59 2.56 2.57 2.71 2.97 3.24 3.34 3.13 2.60 1.89 1.23 0.81 0.67 0.72 0.80 0.74 0.53 0.22 0.00 0.00 0.00 0.11 0.30 0.42 0.44 0.38 0.30 0.24 0.24 0.27 0.29 0.26 0.15 0.00 0.00 0.00 0.00 0.04 0.34 0.57 0.62 0.49 0.28 0.18 0.31 0.69 1.19 1.60 1.76 1.66 1.42 1.20 1.13 1.22 1.36 1.41 1.29 1.05 0.84 0.80 0.99 1.35 1.72 1.95 1.96 1.82 1.64 1.59 1.73 2.01 2.31 2.52 2.59 2.56 2.57 2.71 2.97 3.24 3.34 3.13 2.60 1.89 1.23 0.81 0.67 0.72 0.80 0.74 0.53 0.22 0.00 0.00 0.00 0.11 0.30 0.42 0.44 0.38 0.30 0.24 0.24 0.27 0.29 0.26 0.15 0.00 0.00 0.00 0.00 0.04 0.34 0.57 0.62 0.49 0.28 0.18 0.31 0.69 1.19 1.60 1.76 1.66 1.42 1.20 1.13 1.22 1.36 1.41 1.29 1.05 0.84 0.80 0.99 32.5 + 35.0 1.04 1.38 1.72 1.92 1.89 1.70 1.51 1.47 1.65 2.00 2.39 2.68 2.85 2.96 3.13 3.45 3.87 4.23 4.31 3.98 3.28 2.41 1.64 1.14 0.97 1.00 1.03 0.92 0.65 0.31 0.06 0.00 0.07 0.25 0.39 0.42 0.34 0.19 0.05 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.21 0.24 0.09 0.00 0.00 0.00 0.45 1.05 1.57 1.82 1.78 1.57 1.37 1.31 1.42 1.57 1.61 1.47 1.20 0.95 0.87 1.04 1.38 1.72 1.92 1.89 1.70 1.51 1.47 1.65 2.00 2.39 2.68 2.85 2.96 3.13 3.45 3.87 4.23 4.31 3.98 3.28 2.41 1.64 1.14 0.97 1.00 1.03 0.92 0.65 0.31 0.06 0.00 0.07 0.25 0.39 0.42 0.34 0.19 0.05 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.21 0.24 0.09 0.00 0.00 0.00 0.45 1.05 1.57 1.82 1.78 1.57 1.37 1.31 1.42 1.57 1.61 1.47 1.20 0.95 0.87 1.04 35.0 + 37.5 1.15 1.50 1.85 2.02 1.94 1.70 1.47 1.41 1.60 1.98 2.40 2.75 3.00 3.22 3.55 4.03 4.58 5.00 5.07 4.65 3.84 2.86 2.02 1.52 1.36 1.39 1.41 1.27 0.97 0.63 0.40 0.36 0.48 0.66 0.77 0.73 0.58 0.36 0.16 0.04 0.02 0.05 0.09 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.47 1.16 1.77 2.08 2.07 1.85 1.63 1.54 1.61 1.73 1.75 1.59 1.30 1.04 0.97 1.15 1.50 1.85 2.02 1.94 1.70 1.47 1.41 1.60 1.98 2.40 2.75 3.00 3.22 3.55 4.03 4.58 5.00 5.07 4.65 3.84 2.86 2.02 1.52 1.36 1.39 1.41 1.27 0.97 0.63 0.40 0.36 0.48 0.66 0.77 0.73 0.58 0.36 0.16 0.04 0.02 0.05 0.09 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.47 1.16 1.77 2.08 2.07 1.85 1.63 1.54 1.61 1.73 1.75 1.59 1.30 1.04 0.97 1.15 37.5 + 40.0 1.34 1.73 2.09 2.24 2.12 1.82 1.52 1.41 1.57 1.93 2.35 2.71 2.99 3.28 3.69 4.27 4.90 5.36 5.41 4.95 4.07 3.07 2.23 1.77 1.66 1.73 1.77 1.63 1.32 0.99 0.79 0.79 0.95 1.15 1.26 1.21 1.02 0.77 0.55 0.43 0.41 0.46 0.51 0.49 0.35 0.13 0.00 0.00 0.00 0.00 0.23 0.41 0.41 0.22 0.00 0.00 0.23 0.85 1.63 2.29 2.64 2.61 2.34 2.03 1.86 1.85 1.91 1.88 1.69 1.40 1.15 1.12 1.34 1.73 2.09 2.24 2.12 1.82 1.52 1.41 1.57 1.93 2.35 2.71 2.99 3.28 3.69 4.27 4.90 5.36 5.41 4.95 4.07 3.07 2.23 1.77 1.66 1.73 1.77 1.63 1.32 0.99 0.79 0.79 0.95 1.15 1.26 1.21 1.02 0.77 0.55 0.43 0.41 0.46 0.51 0.49 0.35 0.13 0.00 0.00 0.00 0.00 0.23 0.41 0.41 0.22 0.00 0.00 0.23 0.85 1.63 2.29 2.64 2.61 2.34 2.03 1.86 1.85 1.91 1.88 1.69 1.40 1.15 1.12 1.34 40.0 + 42.5 1.57 1.99 2.36 2.49 2.33 1.97 1.61 1.45 1.56 1.88 2.26 2.58 2.84 3.11 3.53 4.12 4.76 5.21 5.23 4.75 3.87 2.90 2.12 1.73 1.69 1.82 1.88 1.76 1.47 1.16 0.99 1.03 1.23 1.46 1.60 1.57 1.41 1.18 0.98 0.88 0.90 0.98 1.06 1.06 0.94 0.70 0.43 0.26 0.27 0.46 0.73 0.93 0.93 0.74 0.53 0.52 0.86 1.55 2.39 3.10 3.44 3.37 3.01 2.58 2.29 2.17 2.13 2.03 1.81 1.51 1.29 1.30 1.57 1.99 2.36 2.49 2.33 1.97 1.61 1.45 1.56 1.88 2.26 2.58 2.84 3.11 3.53 4.12 4.76 5.21 5.23 4.75 3.87 2.90 2.12 1.73 1.69 1.82 1.88 1.76 1.47 1.16 0.99 1.03 1.23 1.46 1.60 1.57 1.41 1.18 0.98 0.88 0.90 0.98 1.06 1.06 0.94 0.70 0.43 0.26 0.27 0.46 0.73 0.93 0.93 0.74 0.53 0.52 0.86 1.55 2.39 3.10 3.44 3.37 3.01 2.58 2.29 2.17 2.13 2.03 1.81 1.51 1.29 1.30 1.57 42.5 + 45.0 1.76 2.19 2.55 2.65 2.45 2.05 1.66 1.46 1.54 1.82 2.14 2.40 2.58 2.78 3.12 3.63 4.20 4.59 4.58 4.10 3.26 2.35 1.67 1.36 1.39 1.56 1.65 1.55 1.28 1.00 0.85 0.92 1.14 1.40 1.58 1.61 1.50 1.33 1.19 1.15 1.21 1.35 1.48 1.53 1.43 1.20 0.93 0.75 0.76 0.96 1.25 1.46 1.48 1.33 1.16 1.21 1.63 2.39 3.29 4.02 4.34 4.20 3.75 3.21 2.80 2.56 2.42 2.25 1.98 1.66 1.45 1.47 1.76 2.19 2.55 2.65 2.45 2.05 1.66 1.46 1.54 1.82 2.14 2.40 2.58 2.78 3.12 3.63 4.20 4.59 4.58 4.10 3.26 2.35 1.67 1.36 1.39 1.56 1.65 1.55 1.28 1.00 0.85 0.92 1.14 1.40 1.58 1.61 1.50 1.33 1.19 1.15 1.21 1.35 1.48 1.53 1.43 1.20 0.93 0.75 0.76 0.96 1.25 1.46 1.48 1.33 1.16 1.21 1.63 2.39 3.29 4.02 4.34 4.20 3.75 3.21 2.80 2.56 2.42 2.25 1.98 1.66 1.45 1.47 1.76 45.0 + 47.5 1.87 2.26 2.58 2.65 2.42 2.00 1.61 1.42 1.49 1.74 2.02 2.21 2.29 2.37 2.57 2.95 3.40 3.70 3.66 3.19 2.42 1.61 1.02 0.79 0.86 1.06 1.17 1.08 0.84 0.58 0.44 0.50 0.72 0.99 1.19 1.27 1.24 1.14 1.07 1.08 1.20 1.39 1.58 1.67 1.62 1.43 1.18 1.02 1.05 1.27 1.58 1.82 1.88 1.77 1.68 1.82 2.33 3.16 4.10 4.84 5.13 4.95 4.43 3.82 3.32 3.00 2.77 2.53 2.20 1.85 1.61 1.61 1.87 2.26 2.58 2.65 2.42 2.00 1.61 1.42 1.49 1.74 2.02 2.21 2.29 2.37 2.57 2.95 3.40 3.70 3.66 3.19 2.42 1.61 1.02 0.79 0.86 1.06 1.17 1.08 0.84 0.58 0.44 0.50 0.72 0.99 1.19 1.27 1.24 1.14 1.07 1.08 1.20 1.39 1.58 1.67 1.62 1.43 1.18 1.02 1.05 1.27 1.58 1.82 1.88 1.77 1.68 1.82 2.33 3.16 4.10 4.84 5.13 4.95 4.43 3.82 3.32 3.00 2.77 2.53 2.20 1.85 1.61 1.61 1.87 47.5 + 50.0 1.89 2.21 2.46 2.47 2.22 1.82 1.45 1.30 1.39 1.64 1.90 2.02 2.01 1.97 2.04 2.27 2.59 2.81 2.75 2.32 1.64 0.93 0.43 0.26 0.36 0.57 0.68 0.60 0.37 0.12 0.00 0.01 0.19 0.43 0.63 0.74 0.75 0.72 0.70 0.75 0.90 1.13 1.35 1.49 1.48 1.34 1.14 1.02 1.07 1.32 1.65 1.92 2.02 1.98 1.98 2.22 2.81 3.71 4.66 5.38 5.66 5.45 4.91 4.29 3.77 3.41 3.13 2.83 2.45 2.05 1.76 1.70 1.89 2.21 2.46 2.47 2.22 1.82 1.45 1.30 1.39 1.64 1.90 2.02 2.01 1.97 2.04 2.27 2.59 2.81 2.75 2.32 1.64 0.93 0.43 0.26 0.36 0.57 0.68 0.60 0.37 0.12 0.00 0.01 0.19 0.43 0.63 0.74 0.75 0.72 0.70 0.75 0.90 1.13 1.35 1.49 1.48 1.34 1.14 1.02 1.07 1.32 1.65 1.92 2.02 1.98 1.98 2.22 2.81 3.71 4.66 5.38 5.66 5.45 4.91 4.29 3.77 3.41 3.13 2.83 2.45 2.05 1.76 1.70 1.89 50.0 + 52.5 1.85 2.07 2.23 2.20 1.93 1.55 1.23 1.11 1.24 1.51 1.75 1.84 1.77 1.65 1.61 1.74 1.97 2.14 2.08 1.71 1.14 0.54 0.13 0.02 0.13 0.33 0.43 0.35 0.13 0.00 0.00 0.00 0.00 0.01 0.18 0.28 0.31 0.30 0.31 0.38 0.53 0.75 0.98 1.13 1.15 1.04 0.89 0.81 0.91 1.18 1.52 1.80 1.94 1.97 2.06 2.39 3.04 3.95 4.88 5.56 5.80 5.59 5.09 4.51 4.04 3.70 3.41 3.08 2.66 2.21 1.87 1.74 1.85 2.07 2.23 2.20 1.93 1.55 1.23 1.11 1.24 1.51 1.75 1.84 1.77 1.65 1.61 1.74 1.97 2.14 2.08 1.71 1.14 0.54 0.13 0.02 0.13 0.33 0.43 0.35 0.13 0.00 0.00 0.00 0.00 0.01 0.18 0.28 0.31 0.30 0.31 0.38 0.53 0.75 0.98 1.13 1.15 1.04 0.89 0.81 0.91 1.18 1.52 1.80 1.94 1.97 2.06 2.39 3.04 3.95 4.88 5.56 5.80 5.59 5.09 4.51 4.04 3.70 3.41 3.08 2.66 2.21 1.87 1.74 1.85 52.5 + 55.0 1.75 1.89 1.97 1.88 1.60 1.24 0.95 0.87 1.02 1.30 1.54 1.62 1.54 1.39 1.32 1.40 1.60 1.77 1.75 1.47 1.00 0.52 0.20 0.13 0.26 0.43 0.51 0.43 0.20 0.00 0.00 0.00 0.00 0.00 0.04 0.12 0.14 0.13 0.13 0.19 0.32 0.50 0.69 0.81 0.81 0.72 0.60 0.57 0.70 0.98 1.31 1.59 1.75 1.83 1.99 2.36 3.03 3.90 4.74 5.33 5.52 5.33 4.90 4.43 4.05 3.78 3.53 3.20 2.77 2.30 1.92 1.73 1.75 1.89 1.97 1.88 1.60 1.24 0.95 0.87 1.02 1.30 1.54 1.62 1.54 1.39 1.32 1.40 1.60 1.77 1.75 1.47 1.00 0.52 0.20 0.13 0.26 0.43 0.51 0.43 0.20 0.00 0.00 0.00 0.00 0.00 0.04 0.12 0.14 0.13 0.13 0.19 0.32 0.50 0.69 0.81 0.81 0.72 0.60 0.57 0.70 0.98 1.31 1.59 1.75 1.83 1.99 2.36 3.03 3.90 4.74 5.33 5.52 5.33 4.90 4.43 4.05 3.78 3.53 3.20 2.77 2.30 1.92 1.73 1.75 55.0 + 57.5 1.63 1.69 1.70 1.57 1.27 0.92 0.65 0.58 0.73 1.00 1.24 1.33 1.28 1.16 1.12 1.22 1.44 1.64 1.67 1.47 1.11 0.73 0.49 0.47 0.61 0.77 0.83 0.73 0.50 0.24 0.06 0.00 0.05 0.14 0.23 0.28 0.29 0.28 0.27 0.31 0.39 0.51 0.62 0.67 0.63 0.52 0.42 0.42 0.56 0.83 1.14 1.39 1.53 1.63 1.81 2.20 2.82 3.58 4.29 4.75 4.88 4.70 4.37 4.04 3.80 3.63 3.44 3.15 2.74 2.27 1.88 1.67 1.63 1.69 1.70 1.57 1.27 0.92 0.65 0.58 0.73 1.00 1.24 1.33 1.28 1.16 1.12 1.22 1.44 1.64 1.67 1.47 1.11 0.73 0.49 0.47 0.61 0.77 0.83 0.73 0.50 0.24 0.06 0.00 0.05 0.14 0.23 0.28 0.29 0.28 0.27 0.31 0.39 0.51 0.62 0.67 0.63 0.52 0.42 0.42 0.56 0.83 1.14 1.39 1.53 1.63 1.81 2.20 2.82 3.58 4.29 4.75 4.88 4.70 4.37 4.04 3.80 3.63 3.44 3.15 2.74 2.27 1.88 1.67 1.63 57.5 + 60.0 1.48 1.47 1.43 1.25 0.94 0.59 0.32 0.25 0.38 0.63 0.86 0.97 0.95 0.90 0.93 1.09 1.35 1.58 1.66 1.52 1.23 0.93 0.77 0.79 0.94 1.09 1.14 1.02 0.80 0.56 0.40 0.36 0.42 0.51 0.60 0.65 0.66 0.65 0.65 0.67 0.72 0.76 0.77 0.73 0.61 0.47 0.38 0.39 0.53 0.77 1.03 1.22 1.32 1.41 1.58 1.92 2.46 3.07 3.61 3.93 3.99 3.84 3.62 3.44 3.35 3.29 3.17 2.93 2.56 2.14 1.77 1.55 1.48 1.47 1.43 1.25 0.94 0.59 0.32 0.25 0.38 0.63 0.86 0.97 0.95 0.90 0.93 1.09 1.35 1.58 1.66 1.52 1.23 0.93 0.77 0.79 0.94 1.09 1.14 1.02 0.80 0.56 0.40 0.36 0.42 0.51 0.60 0.65 0.66 0.65 0.65 0.67 0.72 0.76 0.77 0.73 0.61 0.47 0.38 0.39 0.53 0.77 1.03 1.22 1.32 1.41 1.58 1.92 2.46 3.07 3.61 3.93 3.99 3.84 3.62 3.44 3.35 3.29 3.17 2.93 2.56 2.14 1.77 1.55 1.48 60.0 + 62.5 1.31 1.25 1.14 0.93 0.61 0.27 0.01 0.00 0.03 0.24 0.45 0.56 0.59 0.61 0.70 0.92 1.21 1.46 1.54 1.43 1.18 0.93 0.82 0.88 1.05 1.20 1.24 1.12 0.91 0.71 0.59 0.60 0.70 0.83 0.94 1.01 1.04 1.06 1.09 1.11 1.13 1.10 1.02 0.87 0.69 0.51 0.42 0.44 0.58 0.78 0.96 1.08 1.13 1.18 1.32 1.61 2.04 2.50 2.87 3.05 3.05 2.94 2.83 2.78 2.82 2.86 2.81 2.63 2.32 1.95 1.63 1.41 1.31 1.25 1.14 0.93 0.61 0.27 0.01 0.00 0.03 0.24 0.45 0.56 0.59 0.61 0.70 0.92 1.21 1.46 1.54 1.43 1.18 0.93 0.82 0.88 1.05 1.20 1.24 1.12 0.91 0.71 0.59 0.60 0.70 0.83 0.94 1.01 1.04 1.06 1.09 1.11 1.13 1.10 1.02 0.87 0.69 0.51 0.42 0.44 0.58 0.78 0.96 1.08 1.13 1.18 1.32 1.61 2.04 2.50 2.87 3.05 3.05 2.94 2.83 2.78 2.82 2.86 2.81 2.63 2.32 1.95 1.63 1.41 1.31 62.5 + 65.0 1.17 1.05 0.88 0.63 0.32 0.00 0.00 0.00 0.00 0.00 0.11 0.22 0.27 0.33 0.47 0.71 1.00 1.22 1.28 1.15 0.91 0.69 0.62 0.71 0.90 1.06 1.10 0.99 0.81 0.65 0.60 0.66 0.81 0.97 1.11 1.21 1.28 1.35 1.41 1.46 1.45 1.37 1.21 0.98 0.75 0.56 0.48 0.52 0.65 0.81 0.94 0.98 0.97 0.99 1.11 1.35 1.69 2.01 2.24 2.32 2.28 2.20 2.18 2.25 2.37 2.48 2.49 2.36 2.11 1.80 1.52 1.31 1.17 1.05 0.88 0.63 0.32 0.00 0.00 0.00 0.00 0.00 0.11 0.22 0.27 0.33 0.47 0.71 1.00 1.22 1.28 1.15 0.91 0.69 0.62 0.71 0.90 1.06 1.10 0.99 0.81 0.65 0.60 0.66 0.81 0.97 1.11 1.21 1.28 1.35 1.41 1.46 1.45 1.37 1.21 0.98 0.75 0.56 0.48 0.52 0.65 0.81 0.94 0.98 0.97 0.99 1.11 1.35 1.69 2.01 2.24 2.32 2.28 2.20 2.18 2.25 2.37 2.48 2.49 2.36 2.11 1.80 1.52 1.31 1.17 65.0 + 67.5 1.16 0.96 0.73 0.45 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.09 0.16 0.31 0.54 0.79 0.95 0.96 0.80 0.56 0.38 0.34 0.46 0.66 0.83 0.87 0.78 0.63 0.52 0.51 0.62 0.79 0.97 1.12 1.24 1.35 1.47 1.58 1.65 1.64 1.52 1.30 1.02 0.77 0.59 0.55 0.62 0.77 0.90 0.98 0.97 0.94 0.94 1.05 1.27 1.54 1.77 1.90 1.90 1.84 1.80 1.83 1.96 2.13 2.27 2.30 2.22 2.03 1.79 1.55 1.34 1.16 0.96 0.73 0.45 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.09 0.16 0.31 0.54 0.79 0.95 0.96 0.80 0.56 0.38 0.34 0.46 0.66 0.83 0.87 0.78 0.63 0.52 0.51 0.62 0.79 0.97 1.12 1.24 1.35 1.47 1.58 1.65 1.64 1.52 1.30 1.02 0.77 0.59 0.55 0.62 0.77 0.90 0.98 0.97 0.94 0.94 1.05 1.27 1.54 1.77 1.90 1.90 1.84 1.80 1.83 1.96 2.13 2.27 2.30 2.22 2.03 1.79 1.55 1.34 1.16 67.5 + 70.0 1.32 1.05 0.76 0.45 0.17 0.00 0.00 0.00 0.00 0.00 0.03 0.08 0.12 0.19 0.32 0.52 0.70 0.80 0.76 0.58 0.37 0.22 0.22 0.36 0.56 0.71 0.74 0.66 0.55 0.47 0.49 0.61 0.77 0.93 1.07 1.21 1.36 1.52 1.68 1.77 1.74 1.59 1.34 1.06 0.82 0.69 0.70 0.82 0.98 1.11 1.16 1.14 1.09 1.11 1.22 1.43 1.66 1.83 1.90 1.87 1.79 1.76 1.82 1.95 2.12 2.25 2.30 2.25 2.12 1.96 1.76 1.55 1.32 1.05 0.76 0.45 0.17 0.00 0.00 0.00 0.00 0.00 0.03 0.08 0.12 0.19 0.32 0.52 0.70 0.80 0.76 0.58 0.37 0.22 0.22 0.36 0.56 0.71 0.74 0.66 0.55 0.47 0.49 0.61 0.77 0.93 1.07 1.21 1.36 1.52 1.68 1.77 1.74 1.59 1.34 1.06 0.82 0.69 0.70 0.82 0.98 1.11 1.16 1.14 1.09 1.11 1.22 1.43 1.66 1.83 1.90 1.87 1.79 1.76 1.82 1.95 2.12 2.25 2.30 2.25 2.12 1.96 1.76 1.55 1.32 70.0 + 72.5 1.66 1.33 0.99 0.67 0.40 0.22 0.13 0.13 0.18 0.24 0.30 0.33 0.36 0.43 0.55 0.69 0.82 0.87 0.80 0.64 0.46 0.37 0.40 0.54 0.71 0.82 0.83 0.74 0.64 0.59 0.62 0.71 0.84 0.97 1.10 1.25 1.43 1.64 1.82 1.92 1.89 1.73 1.47 1.21 1.01 0.94 1.00 1.15 1.33 1.46 1.51 1.49 1.46 1.48 1.60 1.79 1.99 2.13 2.16 2.11 2.03 1.99 2.03 2.13 2.26 2.37 2.42 2.41 2.36 2.27 2.13 1.92 1.66 1.33 0.99 0.67 0.40 0.22 0.13 0.13 0.18 0.24 0.30 0.33 0.36 0.43 0.55 0.69 0.82 0.87 0.80 0.64 0.46 0.37 0.40 0.54 0.71 0.82 0.83 0.74 0.64 0.59 0.62 0.71 0.84 0.97 1.10 1.25 1.43 1.64 1.82 1.92 1.89 1.73 1.47 1.21 1.01 0.94 1.00 1.15 1.33 1.46 1.51 1.49 1.46 1.48 1.60 1.79 1.99 2.13 2.16 2.11 2.03 1.99 2.03 2.13 2.26 2.37 2.42 2.41 2.36 2.27 2.13 1.92 1.66 72.5 + 75.0 2.07 1.72 1.34 1.01 0.76 0.60 0.53 0.52 0.55 0.60 0.64 0.68 0.73 0.81 0.91 1.01 1.09 1.10 1.03 0.91 0.81 0.77 0.82 0.93 1.03 1.08 1.04 0.94 0.84 0.80 0.82 0.89 0.99 1.10 1.24 1.42 1.64 1.88 2.09 2.18 2.15 1.98 1.74 1.51 1.36 1.33 1.42 1.59 1.76 1.89 1.94 1.93 1.91 1.93 2.02 2.18 2.34 2.44 2.46 2.41 2.32 2.27 2.27 2.32 2.40 2.47 2.53 2.58 2.61 2.60 2.52 2.35 2.07 1.72 1.34 1.01 0.76 0.60 0.53 0.52 0.55 0.60 0.64 0.68 0.73 0.81 0.91 1.01 1.09 1.10 1.03 0.91 0.81 0.77 0.82 0.93 1.03 1.08 1.04 0.94 0.84 0.80 0.82 0.89 0.99 1.10 1.24 1.42 1.64 1.88 2.09 2.18 2.15 1.98 1.74 1.51 1.36 1.33 1.42 1.59 1.76 1.89 1.94 1.93 1.91 1.93 2.02 2.18 2.34 2.44 2.46 2.41 2.32 2.27 2.27 2.32 2.40 2.47 2.53 2.58 2.61 2.60 2.52 2.35 2.07 75.0 + 77.5 2.40 2.05 1.68 1.34 1.09 0.93 0.84 0.81 0.82 0.85 0.91 0.98 1.06 1.15 1.23 1.30 1.33 1.32 1.27 1.22 1.18 1.18 1.22 1.28 1.30 1.27 1.17 1.06 0.97 0.93 0.95 1.02 1.12 1.26 1.44 1.68 1.96 2.23 2.44 2.52 2.46 2.30 2.08 1.89 1.77 1.76 1.83 1.96 2.11 2.21 2.26 2.25 2.22 2.21 2.25 2.34 2.45 2.53 2.55 2.51 2.44 2.37 2.32 2.32 2.35 2.41 2.50 2.61 2.72 2.80 2.79 2.66 2.40 2.05 1.68 1.34 1.09 0.93 0.84 0.81 0.82 0.85 0.91 0.98 1.06 1.15 1.23 1.30 1.33 1.32 1.27 1.22 1.18 1.18 1.22 1.28 1.30 1.27 1.17 1.06 0.97 0.93 0.95 1.02 1.12 1.26 1.44 1.68 1.96 2.23 2.44 2.52 2.46 2.30 2.08 1.89 1.77 1.76 1.83 1.96 2.11 2.21 2.26 2.25 2.22 2.21 2.25 2.34 2.45 2.53 2.55 2.51 2.44 2.37 2.32 2.32 2.35 2.41 2.50 2.61 2.72 2.80 2.79 2.66 2.40 77.5 + 80.0 2.50 2.19 1.84 1.53 1.27 1.08 0.96 0.88 0.85 0.88 0.96 1.07 1.20 1.30 1.35 1.36 1.35 1.32 1.30 1.30 1.32 1.35 1.36 1.35 1.28 1.17 1.05 0.94 0.87 0.86 0.90 1.00 1.14 1.34 1.61 1.94 2.27 2.56 2.74 2.78 2.69 2.51 2.31 2.15 2.04 1.99 2.01 2.08 2.16 2.23 2.26 2.24 2.19 2.12 2.09 2.10 2.16 2.22 2.27 2.27 2.22 2.15 2.08 2.03 2.03 2.10 2.22 2.40 2.59 2.75 2.80 2.72 2.50 2.19 1.84 1.53 1.27 1.08 0.96 0.88 0.85 0.88 0.96 1.07 1.20 1.30 1.35 1.36 1.35 1.32 1.30 1.30 1.32 1.35 1.36 1.35 1.28 1.17 1.05 0.94 0.87 0.86 0.90 1.00 1.14 1.34 1.61 1.94 2.27 2.56 2.74 2.78 2.69 2.51 2.31 2.15 2.04 1.99 2.01 2.08 2.16 2.23 2.26 2.24 2.19 2.12 2.09 2.10 2.16 2.22 2.27 2.27 2.22 2.15 2.08 2.03 2.03 2.10 2.22 2.40 2.59 2.75 2.80 2.72 2.50 80.0 + 82.5 2.34 2.09 1.79 1.50 1.24 1.02 0.84 0.71 0.65 0.67 0.77 0.93 1.07 1.16 1.17 1.11 1.04 0.99 0.99 1.04 1.11 1.15 1.13 1.05 0.92 0.78 0.66 0.58 0.56 0.60 0.69 0.83 1.05 1.35 1.72 2.13 2.49 2.75 2.86 2.82 2.67 2.47 2.27 2.10 1.97 1.88 1.82 1.80 1.81 1.85 1.87 1.84 1.75 1.63 1.52 1.46 1.48 1.56 1.66 1.71 1.71 1.64 1.55 1.48 1.48 1.56 1.73 1.97 2.22 2.43 2.54 2.51 2.34 2.09 1.79 1.50 1.24 1.02 0.84 0.71 0.65 0.67 0.77 0.93 1.07 1.16 1.17 1.11 1.04 0.99 0.99 1.04 1.11 1.15 1.13 1.05 0.92 0.78 0.66 0.58 0.56 0.60 0.69 0.83 1.05 1.35 1.72 2.13 2.49 2.75 2.86 2.82 2.67 2.47 2.27 2.10 1.97 1.88 1.82 1.80 1.81 1.85 1.87 1.84 1.75 1.63 1.52 1.46 1.48 1.56 1.66 1.71 1.71 1.64 1.55 1.48 1.48 1.56 1.73 1.97 2.22 2.43 2.54 2.51 2.34 82.5 + 85.0 2.02 1.83 1.60 1.34 1.08 0.83 0.59 0.41 0.32 0.33 0.45 0.62 0.76 0.81 0.75 0.63 0.50 0.43 0.46 0.55 0.64 0.69 0.65 0.53 0.38 0.26 0.19 0.18 0.23 0.33 0.47 0.67 0.97 1.35 1.80 2.24 2.58 2.76 2.76 2.60 2.36 2.11 1.89 1.71 1.55 1.40 1.27 1.18 1.15 1.17 1.19 1.16 1.06 0.90 0.73 0.64 0.65 0.76 0.92 1.03 1.07 1.01 0.91 0.83 0.83 0.93 1.14 1.43 1.72 1.96 2.10 2.11 2.02 1.83 1.60 1.34 1.08 0.83 0.59 0.41 0.32 0.33 0.45 0.62 0.76 0.81 0.75 0.63 0.50 0.43 0.46 0.55 0.64 0.69 0.65 0.53 0.38 0.26 0.19 0.18 0.23 0.33 0.47 0.67 0.97 1.35 1.80 2.24 2.58 2.76 2.76 2.60 2.36 2.11 1.89 1.71 1.55 1.40 1.27 1.18 1.15 1.17 1.19 1.16 1.06 0.90 0.73 0.64 0.65 0.76 0.92 1.03 1.07 1.01 0.91 0.83 0.83 0.93 1.14 1.43 1.72 1.96 2.10 2.11 2.02 85.0 + 87.5 1.70 1.59 1.42 1.20 0.94 0.66 0.38 0.16 0.04 0.05 0.17 0.33 0.44 0.44 0.32 0.13 0.00 0.00 0.00 0.08 0.21 0.27 0.22 0.11 0.00 0.00 0.00 0.00 0.12 0.27 0.45 0.70 1.04 1.47 1.93 2.33 2.58 2.63 2.48 2.19 1.86 1.55 1.31 1.11 0.92 0.74 0.58 0.47 0.44 0.47 0.51 0.51 0.41 0.23 0.05 0.00 0.00 0.14 0.34 0.49 0.55 0.49 0.37 0.28 0.28 0.40 0.64 0.94 1.25 1.50 1.67 1.73 1.70 1.59 1.42 1.20 0.94 0.66 0.38 0.16 0.04 0.05 0.17 0.33 0.44 0.44 0.32 0.13 0.00 0.00 0.00 0.08 0.21 0.27 0.22 0.11 0.00 0.00 0.00 0.00 0.12 0.27 0.45 0.70 1.04 1.47 1.93 2.33 2.58 2.63 2.48 2.19 1.86 1.55 1.31 1.11 0.92 0.74 0.58 0.47 0.44 0.47 0.51 0.51 0.41 0.23 0.05 0.00 0.00 0.14 0.34 0.49 0.55 0.49 0.37 0.28 0.28 0.40 0.64 0.94 1.25 1.50 1.67 1.73 1.70 87.5 + 90.0 1.57 1.53 1.42 1.23 0.97 0.67 0.37 0.13 0.00 0.01 0.11 0.25 0.33 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.17 0.15 0.06 0.00 0.00 0.05 0.19 0.37 0.55 0.76 1.02 1.36 1.77 2.17 2.46 2.57 2.46 2.17 1.77 1.36 1.02 0.76 0.55 0.37 0.19 0.05 0.00 0.00 0.06 0.15 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.33 0.25 0.11 0.01 0.00 0.13 0.37 0.67 0.97 1.23 1.42 1.53 1.57 1.53 1.42 1.23 0.97 0.67 0.37 0.13 0.00 0.01 0.11 0.25 0.33 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.17 0.15 0.06 0.00 0.00 0.05 0.19 0.37 0.55 0.76 1.02 1.36 1.77 2.17 2.46 2.57 2.46 2.17 1.77 1.36 1.02 0.76 0.55 0.37 0.19 0.05 0.00 0.00 0.06 0.15 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.33 0.25 0.11 0.01 0.00 0.13 0.37 0.67 0.97 1.23 1.42 1.53 1.57 90.0 + + 82.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 5.21 ) PHI2 = 83. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 0.0 + 2.5 1.82 2.06 2.24 2.31 2.25 2.08 1.84 1.59 1.34 1.12 0.90 0.69 0.52 0.40 0.36 0.35 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.06 0.26 0.38 0.41 0.41 0.44 0.53 0.69 0.88 1.10 1.32 1.56 1.80 2.01 2.17 2.22 2.16 2.00 1.77 1.53 1.29 1.07 0.86 0.67 0.52 0.43 0.41 0.41 0.38 0.27 0.07 0.00 0.00 0.00 0.00 0.00 0.07 0.24 0.33 0.35 0.35 0.39 0.50 0.67 0.87 1.09 1.32 1.56 1.82 2.06 2.24 2.31 2.25 2.08 1.84 1.59 1.34 1.12 0.90 0.69 0.52 0.40 0.36 0.35 0.33 0.23 0.05 0.00 0.00 0.00 0.00 0.00 0.06 0.26 0.38 0.41 0.41 0.44 0.53 0.69 0.88 1.10 1.32 1.56 1.80 2.01 2.17 2.22 2.16 2.00 1.77 1.53 1.29 1.07 0.86 0.67 0.52 0.43 0.41 0.41 0.38 0.27 0.07 0.00 0.00 0.00 0.00 0.00 0.07 0.24 0.33 0.35 0.35 0.39 0.50 0.67 0.87 1.09 1.32 1.56 1.82 2.5 + 5.0 1.84 2.14 2.37 2.47 2.41 2.22 1.94 1.64 1.36 1.11 0.87 0.65 0.47 0.34 0.29 0.29 0.30 0.26 0.13 0.00 0.00 0.00 0.00 0.00 0.12 0.33 0.45 0.48 0.46 0.45 0.49 0.60 0.79 1.01 1.26 1.51 1.76 1.97 2.12 2.15 2.08 1.91 1.68 1.42 1.17 0.92 0.71 0.54 0.43 0.40 0.44 0.48 0.46 0.36 0.16 0.00 0.00 0.00 0.00 0.00 0.16 0.27 0.29 0.26 0.24 0.28 0.39 0.56 0.77 0.99 1.25 1.53 1.84 2.14 2.37 2.47 2.41 2.22 1.94 1.64 1.36 1.11 0.87 0.65 0.47 0.34 0.29 0.29 0.30 0.26 0.13 0.00 0.00 0.00 0.00 0.00 0.12 0.33 0.45 0.48 0.46 0.45 0.49 0.60 0.79 1.01 1.26 1.51 1.76 1.97 2.12 2.15 2.08 1.91 1.68 1.42 1.17 0.92 0.71 0.54 0.43 0.40 0.44 0.48 0.46 0.36 0.16 0.00 0.00 0.00 0.00 0.00 0.16 0.27 0.29 0.26 0.24 0.28 0.39 0.56 0.77 0.99 1.25 1.53 1.84 5.0 + 7.5 1.80 2.17 2.46 2.60 2.55 2.33 2.01 1.66 1.34 1.07 0.84 0.62 0.43 0.29 0.22 0.22 0.26 0.28 0.22 0.09 0.00 0.00 0.00 0.00 0.12 0.32 0.46 0.49 0.44 0.37 0.35 0.41 0.57 0.81 1.09 1.37 1.63 1.82 1.94 1.96 1.88 1.71 1.48 1.22 0.94 0.67 0.45 0.30 0.26 0.30 0.40 0.48 0.47 0.35 0.16 0.00 0.00 0.00 0.00 0.11 0.22 0.25 0.20 0.12 0.08 0.11 0.22 0.39 0.59 0.82 1.09 1.42 1.80 2.17 2.46 2.60 2.55 2.33 2.01 1.66 1.34 1.07 0.84 0.62 0.43 0.29 0.22 0.22 0.26 0.28 0.22 0.09 0.00 0.00 0.00 0.00 0.12 0.32 0.46 0.49 0.44 0.37 0.35 0.41 0.57 0.81 1.09 1.37 1.63 1.82 1.94 1.96 1.88 1.71 1.48 1.22 0.94 0.67 0.45 0.30 0.26 0.30 0.40 0.48 0.47 0.35 0.16 0.00 0.00 0.00 0.00 0.11 0.22 0.25 0.20 0.12 0.08 0.11 0.22 0.39 0.59 0.82 1.09 1.42 1.80 7.5 + 10.0 1.62 2.05 2.41 2.58 2.55 2.32 1.97 1.60 1.27 1.02 0.81 0.62 0.44 0.28 0.19 0.17 0.23 0.29 0.29 0.19 0.02 0.00 0.00 0.00 0.00 0.20 0.36 0.40 0.33 0.21 0.12 0.12 0.26 0.50 0.80 1.11 1.36 1.54 1.62 1.62 1.54 1.39 1.18 0.92 0.63 0.34 0.11 0.00 0.00 0.12 0.26 0.36 0.33 0.19 0.00 0.00 0.00 0.00 0.00 0.10 0.17 0.13 0.03 0.00 0.00 0.00 0.05 0.20 0.38 0.58 0.84 1.19 1.62 2.05 2.41 2.58 2.55 2.32 1.97 1.60 1.27 1.02 0.81 0.62 0.44 0.28 0.19 0.17 0.23 0.29 0.29 0.19 0.02 0.00 0.00 0.00 0.00 0.20 0.36 0.40 0.33 0.21 0.12 0.12 0.26 0.50 0.80 1.11 1.36 1.54 1.62 1.62 1.54 1.39 1.18 0.92 0.63 0.34 0.11 0.00 0.00 0.12 0.26 0.36 0.33 0.19 0.00 0.00 0.00 0.00 0.00 0.10 0.17 0.13 0.03 0.00 0.00 0.00 0.05 0.20 0.38 0.58 0.84 1.19 1.62 10.0 + 12.5 1.33 1.81 2.21 2.42 2.40 2.17 1.82 1.46 1.16 0.96 0.81 0.68 0.51 0.35 0.22 0.18 0.22 0.30 0.32 0.23 0.03 0.00 0.00 0.00 0.00 0.01 0.20 0.26 0.19 0.02 0.00 0.00 0.00 0.19 0.51 0.82 1.05 1.19 1.24 1.22 1.15 1.04 0.87 0.63 0.33 0.04 0.00 0.00 0.00 0.00 0.09 0.17 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.16 0.30 0.53 0.88 1.33 1.81 2.21 2.42 2.40 2.17 1.82 1.46 1.16 0.96 0.81 0.68 0.51 0.35 0.22 0.18 0.22 0.30 0.32 0.23 0.03 0.00 0.00 0.00 0.00 0.01 0.20 0.26 0.19 0.02 0.00 0.00 0.00 0.19 0.51 0.82 1.05 1.19 1.24 1.22 1.15 1.04 0.87 0.63 0.33 0.04 0.00 0.00 0.00 0.00 0.09 0.17 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.16 0.30 0.53 0.88 1.33 12.5 + 15.0 1.04 1.54 1.96 2.20 2.19 1.97 1.64 1.31 1.07 0.94 0.87 0.79 0.65 0.47 0.30 0.22 0.24 0.31 0.35 0.25 0.03 0.00 0.00 0.00 0.00 0.00 0.11 0.20 0.12 0.00 0.00 0.00 0.00 0.01 0.33 0.64 0.85 0.94 0.95 0.92 0.87 0.80 0.67 0.46 0.18 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.26 0.58 1.04 1.54 1.96 2.20 2.19 1.97 1.64 1.31 1.07 0.94 0.87 0.79 0.65 0.47 0.30 0.22 0.24 0.31 0.35 0.25 0.03 0.00 0.00 0.00 0.00 0.00 0.11 0.20 0.12 0.00 0.00 0.00 0.00 0.01 0.33 0.64 0.85 0.94 0.95 0.92 0.87 0.80 0.67 0.46 0.18 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.26 0.58 1.04 15.0 + 17.5 0.87 1.38 1.82 2.06 2.05 1.84 1.53 1.24 1.06 1.00 0.99 0.95 0.82 0.61 0.41 0.29 0.29 0.37 0.41 0.32 0.08 0.00 0.00 0.00 0.00 0.00 0.20 0.31 0.23 0.02 0.00 0.00 0.00 0.07 0.40 0.68 0.86 0.91 0.89 0.85 0.82 0.78 0.69 0.51 0.24 0.00 0.00 0.00 0.00 0.00 0.13 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.41 0.87 1.38 1.82 2.06 2.05 1.84 1.53 1.24 1.06 1.00 0.99 0.95 0.82 0.61 0.41 0.29 0.29 0.37 0.41 0.32 0.08 0.00 0.00 0.00 0.00 0.00 0.20 0.31 0.23 0.02 0.00 0.00 0.00 0.07 0.40 0.68 0.86 0.91 0.89 0.85 0.82 0.78 0.69 0.51 0.24 0.00 0.00 0.00 0.00 0.00 0.13 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.41 0.87 17.5 + 20.0 0.89 1.41 1.85 2.08 2.06 1.84 1.54 1.29 1.16 1.15 1.18 1.14 1.00 0.76 0.52 0.39 0.39 0.47 0.53 0.46 0.24 0.00 0.00 0.00 0.00 0.17 0.46 0.58 0.49 0.27 0.05 0.00 0.07 0.33 0.66 0.93 1.07 1.10 1.06 1.01 0.99 0.98 0.91 0.75 0.50 0.21 0.00 0.00 0.07 0.30 0.48 0.50 0.31 0.00 0.00 0.00 0.00 0.00 0.11 0.25 0.21 0.04 0.00 0.00 0.00 0.00 0.05 0.06 0.02 0.00 0.12 0.42 0.89 1.41 1.85 2.08 2.06 1.84 1.54 1.29 1.16 1.15 1.18 1.14 1.00 0.76 0.52 0.39 0.39 0.47 0.53 0.46 0.24 0.00 0.00 0.00 0.00 0.17 0.46 0.58 0.49 0.27 0.05 0.00 0.07 0.33 0.66 0.93 1.07 1.10 1.06 1.01 0.99 0.98 0.91 0.75 0.50 0.21 0.00 0.00 0.07 0.30 0.48 0.50 0.31 0.00 0.00 0.00 0.00 0.00 0.11 0.25 0.21 0.04 0.00 0.00 0.00 0.00 0.05 0.06 0.02 0.00 0.12 0.42 0.89 20.0 + 22.5 1.07 1.59 2.01 2.22 2.17 1.94 1.66 1.44 1.35 1.37 1.41 1.36 1.18 0.91 0.66 0.52 0.55 0.67 0.75 0.69 0.47 0.18 0.00 0.00 0.17 0.49 0.76 0.86 0.75 0.51 0.29 0.23 0.36 0.63 0.95 1.21 1.33 1.34 1.30 1.25 1.24 1.24 1.19 1.04 0.79 0.51 0.31 0.29 0.44 0.71 0.92 0.95 0.77 0.44 0.14 0.02 0.13 0.38 0.63 0.72 0.62 0.39 0.18 0.08 0.11 0.22 0.30 0.30 0.23 0.19 0.29 0.60 1.07 1.59 2.01 2.22 2.17 1.94 1.66 1.44 1.35 1.37 1.41 1.36 1.18 0.91 0.66 0.52 0.55 0.67 0.75 0.69 0.47 0.18 0.00 0.00 0.17 0.49 0.76 0.86 0.75 0.51 0.29 0.23 0.36 0.63 0.95 1.21 1.33 1.34 1.30 1.25 1.24 1.24 1.19 1.04 0.79 0.51 0.31 0.29 0.44 0.71 0.92 0.95 0.77 0.44 0.14 0.02 0.13 0.38 0.63 0.72 0.62 0.39 0.18 0.08 0.11 0.22 0.30 0.30 0.23 0.19 0.29 0.60 1.07 22.5 + 25.0 1.30 1.81 2.20 2.37 2.29 2.05 1.78 1.60 1.56 1.61 1.65 1.58 1.37 1.09 0.85 0.76 0.83 0.97 1.06 0.98 0.73 0.42 0.20 0.20 0.41 0.71 0.94 0.98 0.83 0.57 0.37 0.33 0.48 0.77 1.08 1.31 1.42 1.42 1.38 1.35 1.35 1.35 1.31 1.16 0.93 0.66 0.49 0.49 0.68 0.97 1.22 1.28 1.12 0.83 0.56 0.48 0.62 0.90 1.14 1.21 1.06 0.78 0.52 0.40 0.43 0.54 0.62 0.60 0.51 0.44 0.53 0.83 1.30 1.81 2.20 2.37 2.29 2.05 1.78 1.60 1.56 1.61 1.65 1.58 1.37 1.09 0.85 0.76 0.83 0.97 1.06 0.98 0.73 0.42 0.20 0.20 0.41 0.71 0.94 0.98 0.83 0.57 0.37 0.33 0.48 0.77 1.08 1.31 1.42 1.42 1.38 1.35 1.35 1.35 1.31 1.16 0.93 0.66 0.49 0.49 0.68 0.97 1.22 1.28 1.12 0.83 0.56 0.48 0.62 0.90 1.14 1.21 1.06 0.78 0.52 0.40 0.43 0.54 0.62 0.60 0.51 0.44 0.53 0.83 1.30 25.0 + 27.5 1.44 1.92 2.27 2.40 2.29 2.04 1.80 1.69 1.71 1.81 1.87 1.80 1.59 1.34 1.16 1.14 1.27 1.43 1.48 1.32 0.98 0.59 0.33 0.30 0.47 0.73 0.89 0.86 0.65 0.38 0.19 0.18 0.36 0.64 0.92 1.12 1.20 1.20 1.16 1.14 1.15 1.17 1.13 0.99 0.77 0.53 0.38 0.40 0.61 0.93 1.20 1.29 1.16 0.90 0.68 0.65 0.85 1.18 1.46 1.55 1.40 1.10 0.82 0.69 0.73 0.85 0.94 0.91 0.79 0.69 0.74 1.01 1.44 1.92 2.27 2.40 2.29 2.04 1.80 1.69 1.71 1.81 1.87 1.80 1.59 1.34 1.16 1.14 1.27 1.43 1.48 1.32 0.98 0.59 0.33 0.30 0.47 0.73 0.89 0.86 0.65 0.38 0.19 0.18 0.36 0.64 0.92 1.12 1.20 1.20 1.16 1.14 1.15 1.17 1.13 0.99 0.77 0.53 0.38 0.40 0.61 0.93 1.20 1.29 1.16 0.90 0.68 0.65 0.85 1.18 1.46 1.55 1.40 1.10 0.82 0.69 0.73 0.85 0.94 0.91 0.79 0.69 0.74 1.01 1.44 27.5 + 30.0 1.45 1.88 2.19 2.26 2.12 1.88 1.69 1.65 1.76 1.94 2.05 2.02 1.86 1.68 1.60 1.70 1.90 2.07 2.04 1.74 1.24 0.72 0.37 0.29 0.42 0.61 0.70 0.59 0.33 0.05 0.00 0.00 0.08 0.34 0.58 0.71 0.75 0.72 0.67 0.66 0.69 0.71 0.68 0.56 0.36 0.14 0.00 0.03 0.25 0.57 0.85 0.95 0.84 0.60 0.43 0.46 0.74 1.16 1.53 1.69 1.58 1.31 1.04 0.92 0.97 1.12 1.22 1.18 1.02 0.87 0.86 1.06 1.45 1.88 2.19 2.26 2.12 1.88 1.69 1.65 1.76 1.94 2.05 2.02 1.86 1.68 1.60 1.70 1.90 2.07 2.04 1.74 1.24 0.72 0.37 0.29 0.42 0.61 0.70 0.59 0.33 0.05 0.00 0.00 0.08 0.34 0.58 0.71 0.75 0.72 0.67 0.66 0.69 0.71 0.68 0.56 0.36 0.14 0.00 0.03 0.25 0.57 0.85 0.95 0.84 0.60 0.43 0.46 0.74 1.16 1.53 1.69 1.58 1.31 1.04 0.92 0.97 1.12 1.22 1.18 1.02 0.87 0.86 1.06 1.45 30.0 + 32.5 1.36 1.74 2.00 2.03 1.86 1.62 1.47 1.50 1.71 1.98 2.17 2.21 2.15 2.09 2.17 2.41 2.70 2.86 2.73 2.26 1.57 0.90 0.45 0.30 0.39 0.54 0.56 0.39 0.08 0.00 0.00 0.00 0.00 0.11 0.27 0.33 0.29 0.20 0.14 0.13 0.16 0.20 0.19 0.08 0.00 0.00 0.00 0.00 0.00 0.08 0.35 0.44 0.32 0.10 0.00 0.04 0.41 0.95 1.44 1.71 1.68 1.45 1.20 1.09 1.17 1.33 1.43 1.37 1.17 0.95 0.87 1.02 1.36 1.74 2.00 2.03 1.86 1.62 1.47 1.50 1.71 1.98 2.17 2.21 2.15 2.09 2.17 2.41 2.70 2.86 2.73 2.26 1.57 0.90 0.45 0.30 0.39 0.54 0.56 0.39 0.08 0.00 0.00 0.00 0.00 0.11 0.27 0.33 0.29 0.20 0.14 0.13 0.16 0.20 0.19 0.08 0.00 0.00 0.00 0.00 0.00 0.08 0.35 0.44 0.32 0.10 0.00 0.04 0.41 0.95 1.44 1.71 1.68 1.45 1.20 1.09 1.17 1.33 1.43 1.37 1.17 0.95 0.87 1.02 1.36 32.5 + 35.0 1.26 1.62 1.84 1.83 1.63 1.37 1.23 1.31 1.59 1.94 2.22 2.36 2.41 2.51 2.77 3.17 3.56 3.72 3.48 2.85 1.99 1.18 0.65 0.47 0.55 0.67 0.65 0.43 0.10 0.00 0.00 0.00 0.00 0.15 0.24 0.20 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.13 0.78 1.41 1.78 1.83 1.63 1.39 1.27 1.33 1.48 1.56 1.47 1.23 0.96 0.83 0.95 1.26 1.62 1.84 1.83 1.63 1.37 1.23 1.31 1.59 1.94 2.22 2.36 2.41 2.51 2.77 3.17 3.56 3.72 3.48 2.85 1.99 1.18 0.65 0.47 0.55 0.67 0.65 0.43 0.10 0.00 0.00 0.00 0.00 0.15 0.24 0.20 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.13 0.78 1.41 1.78 1.83 1.63 1.39 1.27 1.33 1.48 1.56 1.47 1.23 0.96 0.83 0.95 1.26 35.0 + 37.5 1.25 1.61 1.82 1.77 1.51 1.21 1.05 1.15 1.46 1.86 2.20 2.43 2.60 2.85 3.27 3.82 4.30 4.47 4.16 3.40 2.42 1.53 0.97 0.80 0.90 1.02 0.98 0.74 0.40 0.13 0.04 0.15 0.36 0.52 0.56 0.44 0.23 0.02 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.89 1.63 2.09 2.18 1.98 1.69 1.51 1.51 1.61 1.65 1.52 1.24 0.95 0.81 0.92 1.25 1.61 1.82 1.77 1.51 1.21 1.05 1.15 1.46 1.86 2.20 2.43 2.60 2.85 3.27 3.82 4.30 4.47 4.16 3.40 2.42 1.53 0.97 0.80 0.90 1.02 0.98 0.74 0.40 0.13 0.04 0.15 0.36 0.52 0.56 0.44 0.23 0.02 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.89 1.63 2.09 2.18 1.98 1.69 1.51 1.51 1.61 1.65 1.52 1.24 0.95 0.81 0.92 1.25 37.5 + 40.0 1.34 1.72 1.93 1.85 1.54 1.18 0.98 1.05 1.36 1.77 2.14 2.41 2.65 3.01 3.55 4.20 4.74 4.91 4.56 3.73 2.70 1.79 1.25 1.14 1.28 1.43 1.39 1.15 0.81 0.56 0.52 0.66 0.89 1.05 1.06 0.90 0.64 0.40 0.25 0.22 0.30 0.41 0.46 0.39 0.19 0.00 0.00 0.00 0.00 0.07 0.30 0.33 0.14 0.00 0.00 0.00 0.51 1.35 2.17 2.68 2.77 2.51 2.13 1.85 1.74 1.75 1.72 1.55 1.25 0.95 0.83 0.98 1.34 1.72 1.93 1.85 1.54 1.18 0.98 1.05 1.36 1.77 2.14 2.41 2.65 3.01 3.55 4.20 4.74 4.91 4.56 3.73 2.70 1.79 1.25 1.14 1.28 1.43 1.39 1.15 0.81 0.56 0.52 0.66 0.89 1.05 1.06 0.90 0.64 0.40 0.25 0.22 0.30 0.41 0.46 0.39 0.19 0.00 0.00 0.00 0.00 0.07 0.30 0.33 0.14 0.00 0.00 0.00 0.51 1.35 2.17 2.68 2.77 2.51 2.13 1.85 1.74 1.75 1.72 1.55 1.25 0.95 0.83 0.98 1.34 40.0 + 42.5 1.49 1.90 2.11 2.00 1.65 1.24 0.99 1.02 1.31 1.70 2.05 2.31 2.57 2.95 3.52 4.21 4.76 4.92 4.54 3.69 2.66 1.79 1.31 1.26 1.45 1.64 1.62 1.39 1.07 0.84 0.83 1.01 1.26 1.45 1.46 1.31 1.05 0.81 0.68 0.68 0.80 0.96 1.05 1.00 0.79 0.51 0.28 0.21 0.36 0.63 0.86 0.90 0.70 0.42 0.28 0.52 1.17 2.08 2.95 3.47 3.52 3.18 2.69 2.27 2.03 1.93 1.83 1.61 1.28 0.99 0.90 1.09 1.49 1.90 2.11 2.00 1.65 1.24 0.99 1.02 1.31 1.70 2.05 2.31 2.57 2.95 3.52 4.21 4.76 4.92 4.54 3.69 2.66 1.79 1.31 1.26 1.45 1.64 1.62 1.39 1.07 0.84 0.83 1.01 1.26 1.45 1.46 1.31 1.05 0.81 0.68 0.68 0.80 0.96 1.05 1.00 0.79 0.51 0.28 0.21 0.36 0.63 0.86 0.90 0.70 0.42 0.28 0.52 1.17 2.08 2.95 3.47 3.52 3.18 2.69 2.27 2.03 1.93 1.83 1.61 1.28 0.99 0.90 1.09 1.49 42.5 + 45.0 1.62 2.04 2.24 2.11 1.73 1.30 1.03 1.04 1.29 1.65 1.96 2.17 2.37 2.70 3.21 3.84 4.34 4.47 4.07 3.24 2.25 1.44 1.03 1.04 1.27 1.48 1.48 1.27 0.97 0.76 0.77 0.97 1.25 1.47 1.52 1.40 1.19 1.00 0.91 0.96 1.12 1.33 1.46 1.45 1.26 0.98 0.75 0.68 0.84 1.13 1.38 1.43 1.25 1.00 0.90 1.19 1.91 2.87 3.77 4.28 4.29 3.86 3.26 2.72 2.37 2.17 1.99 1.71 1.36 1.07 0.99 1.20 1.62 2.04 2.24 2.11 1.73 1.30 1.03 1.04 1.29 1.65 1.96 2.17 2.37 2.70 3.21 3.84 4.34 4.47 4.07 3.24 2.25 1.44 1.03 1.04 1.27 1.48 1.48 1.27 0.97 0.76 0.77 0.97 1.25 1.47 1.52 1.40 1.19 1.00 0.91 0.96 1.12 1.33 1.46 1.45 1.26 0.98 0.75 0.68 0.84 1.13 1.38 1.43 1.25 1.00 0.90 1.19 1.91 2.87 3.77 4.28 4.29 3.86 3.26 2.72 2.37 2.17 1.99 1.71 1.36 1.07 0.99 1.20 1.62 45.0 + 47.5 1.69 2.08 2.25 2.12 1.73 1.30 1.04 1.06 1.31 1.63 1.89 2.02 2.12 2.33 2.72 3.22 3.63 3.70 3.30 2.50 1.58 0.84 0.50 0.54 0.80 1.01 1.02 0.82 0.54 0.35 0.36 0.57 0.85 1.08 1.17 1.12 0.97 0.84 0.80 0.90 1.10 1.35 1.52 1.54 1.39 1.13 0.92 0.88 1.05 1.36 1.63 1.71 1.58 1.37 1.35 1.72 2.50 3.51 4.41 4.91 4.87 4.40 3.74 3.14 2.72 2.45 2.21 1.89 1.51 1.19 1.10 1.29 1.69 2.08 2.25 2.12 1.73 1.30 1.04 1.06 1.31 1.63 1.89 2.02 2.12 2.33 2.72 3.22 3.63 3.70 3.30 2.50 1.58 0.84 0.50 0.54 0.80 1.01 1.02 0.82 0.54 0.35 0.36 0.57 0.85 1.08 1.17 1.12 0.97 0.84 0.80 0.90 1.10 1.35 1.52 1.54 1.39 1.13 0.92 0.88 1.05 1.36 1.63 1.71 1.58 1.37 1.35 1.72 2.50 3.51 4.41 4.91 4.87 4.40 3.74 3.14 2.72 2.45 2.21 1.89 1.51 1.19 1.10 1.29 1.69 47.5 + 50.0 1.69 2.03 2.16 2.02 1.65 1.25 1.03 1.07 1.33 1.63 1.84 1.89 1.87 1.94 2.17 2.54 2.84 2.86 2.47 1.74 0.91 0.25 0.00 0.02 0.26 0.47 0.48 0.29 0.02 0.00 0.00 0.00 0.26 0.49 0.61 0.60 0.52 0.45 0.45 0.57 0.80 1.05 1.24 1.29 1.16 0.94 0.76 0.76 0.96 1.29 1.58 1.69 1.61 1.48 1.54 1.99 2.82 3.84 4.74 5.21 5.15 4.67 4.02 3.43 3.01 2.73 2.46 2.11 1.70 1.35 1.22 1.36 1.69 2.03 2.16 2.02 1.65 1.25 1.03 1.07 1.33 1.63 1.84 1.89 1.87 1.94 2.17 2.54 2.84 2.86 2.47 1.74 0.91 0.25 0.00 0.02 0.26 0.47 0.48 0.29 0.02 0.00 0.00 0.00 0.26 0.49 0.61 0.60 0.52 0.45 0.45 0.57 0.80 1.05 1.24 1.29 1.16 0.94 0.76 0.76 0.96 1.29 1.58 1.69 1.61 1.48 1.54 1.99 2.82 3.84 4.74 5.21 5.15 4.67 4.02 3.43 3.01 2.73 2.46 2.11 1.70 1.35 1.22 1.36 1.69 50.0 + 52.5 1.69 1.95 2.04 1.88 1.53 1.17 0.98 1.05 1.31 1.61 1.77 1.76 1.66 1.61 1.72 1.97 2.20 2.21 1.86 1.23 0.50 0.00 0.00 0.00 0.00 0.16 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.13 0.16 0.11 0.07 0.10 0.22 0.42 0.66 0.83 0.86 0.75 0.56 0.43 0.46 0.69 1.03 1.33 1.47 1.43 1.38 1.52 2.02 2.87 3.86 4.70 5.12 5.06 4.62 4.03 3.52 3.17 2.93 2.68 2.33 1.90 1.53 1.35 1.43 1.69 1.95 2.04 1.88 1.53 1.17 0.98 1.05 1.31 1.61 1.77 1.76 1.66 1.61 1.72 1.97 2.20 2.21 1.86 1.23 0.50 0.00 0.00 0.00 0.00 0.16 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.13 0.16 0.11 0.07 0.10 0.22 0.42 0.66 0.83 0.86 0.75 0.56 0.43 0.46 0.69 1.03 1.33 1.47 1.43 1.38 1.52 2.02 2.87 3.86 4.70 5.12 5.06 4.62 4.03 3.52 3.17 2.93 2.68 2.33 1.90 1.53 1.35 1.43 1.69 52.5 + 55.0 1.72 1.91 1.94 1.75 1.40 1.07 0.90 0.98 1.23 1.51 1.66 1.62 1.48 1.37 1.42 1.62 1.83 1.86 1.60 1.08 0.47 0.00 0.00 0.00 0.08 0.23 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.08 0.24 0.41 0.52 0.52 0.39 0.23 0.13 0.20 0.45 0.79 1.07 1.21 1.20 1.19 1.38 1.89 2.70 3.60 4.33 4.68 4.61 4.23 3.77 3.40 3.17 3.01 2.81 2.48 2.07 1.70 1.50 1.53 1.72 1.91 1.94 1.75 1.40 1.07 0.90 0.98 1.23 1.51 1.66 1.62 1.48 1.37 1.42 1.62 1.83 1.86 1.60 1.08 0.47 0.00 0.00 0.00 0.08 0.23 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.08 0.24 0.41 0.52 0.52 0.39 0.23 0.13 0.20 0.45 0.79 1.07 1.21 1.20 1.19 1.38 1.89 2.70 3.60 4.33 4.68 4.61 4.23 3.77 3.40 3.17 3.01 2.81 2.48 2.07 1.70 1.50 1.53 1.72 55.0 + 57.5 1.77 1.89 1.87 1.64 1.28 0.94 0.76 0.82 1.05 1.31 1.45 1.42 1.29 1.19 1.24 1.45 1.68 1.77 1.61 1.21 0.73 0.35 0.21 0.30 0.49 0.62 0.58 0.36 0.07 0.00 0.00 0.00 0.00 0.11 0.20 0.23 0.22 0.19 0.20 0.26 0.36 0.45 0.48 0.40 0.25 0.09 0.02 0.11 0.36 0.68 0.92 1.03 1.01 1.02 1.21 1.68 2.38 3.13 3.72 3.97 3.89 3.60 3.28 3.07 2.99 2.93 2.80 2.53 2.17 1.83 1.63 1.63 1.77 1.89 1.87 1.64 1.28 0.94 0.76 0.82 1.05 1.31 1.45 1.42 1.29 1.19 1.24 1.45 1.68 1.77 1.61 1.21 0.73 0.35 0.21 0.30 0.49 0.62 0.58 0.36 0.07 0.00 0.00 0.00 0.00 0.11 0.20 0.23 0.22 0.19 0.20 0.26 0.36 0.45 0.48 0.40 0.25 0.09 0.02 0.11 0.36 0.68 0.92 1.03 1.01 1.02 1.21 1.68 2.38 3.13 3.72 3.97 3.89 3.60 3.28 3.07 2.99 2.93 2.80 2.53 2.17 1.83 1.63 1.63 1.77 57.5 + 60.0 1.79 1.85 1.77 1.50 1.12 0.75 0.55 0.57 0.76 0.99 1.13 1.12 1.04 1.00 1.10 1.34 1.62 1.77 1.69 1.40 1.02 0.73 0.65 0.77 0.96 1.08 1.02 0.79 0.50 0.27 0.19 0.25 0.39 0.54 0.64 0.67 0.66 0.65 0.66 0.69 0.74 0.74 0.67 0.52 0.32 0.15 0.09 0.20 0.44 0.71 0.89 0.93 0.88 0.86 1.02 1.41 1.98 2.56 2.98 3.12 3.03 2.83 2.67 2.62 2.67 2.72 2.67 2.46 2.16 1.87 1.71 1.70 1.79 1.85 1.77 1.50 1.12 0.75 0.55 0.57 0.76 0.99 1.13 1.12 1.04 1.00 1.10 1.34 1.62 1.77 1.69 1.40 1.02 0.73 0.65 0.77 0.96 1.08 1.02 0.79 0.50 0.27 0.19 0.25 0.39 0.54 0.64 0.67 0.66 0.65 0.66 0.69 0.74 0.74 0.67 0.52 0.32 0.15 0.09 0.20 0.44 0.71 0.89 0.93 0.88 0.86 1.02 1.41 1.98 2.56 2.98 3.12 3.03 2.83 2.67 2.62 2.67 2.72 2.67 2.46 2.16 1.87 1.71 1.70 1.79 60.0 + 62.5 1.75 1.75 1.60 1.29 0.88 0.50 0.27 0.25 0.40 0.59 0.73 0.76 0.73 0.74 0.90 1.18 1.48 1.67 1.63 1.40 1.09 0.88 0.85 1.01 1.21 1.33 1.27 1.04 0.77 0.57 0.51 0.60 0.77 0.93 1.04 1.09 1.10 1.10 1.13 1.16 1.16 1.09 0.94 0.71 0.47 0.29 0.26 0.38 0.59 0.79 0.89 0.86 0.75 0.70 0.82 1.13 1.57 1.98 2.25 2.31 2.22 2.10 2.07 2.17 2.33 2.45 2.45 2.30 2.06 1.83 1.71 1.70 1.75 1.75 1.60 1.29 0.88 0.50 0.27 0.25 0.40 0.59 0.73 0.76 0.73 0.74 0.90 1.18 1.48 1.67 1.63 1.40 1.09 0.88 0.85 1.01 1.21 1.33 1.27 1.04 0.77 0.57 0.51 0.60 0.77 0.93 1.04 1.09 1.10 1.10 1.13 1.16 1.16 1.09 0.94 0.71 0.47 0.29 0.26 0.38 0.59 0.79 0.89 0.86 0.75 0.70 0.82 1.13 1.57 1.98 2.25 2.31 2.22 2.10 2.07 2.17 2.33 2.45 2.45 2.30 2.06 1.83 1.71 1.70 1.75 62.5 + 65.0 1.65 1.58 1.36 1.01 0.59 0.21 0.00 0.00 0.05 0.22 0.34 0.38 0.38 0.45 0.63 0.92 1.21 1.37 1.33 1.12 0.86 0.69 0.72 0.91 1.14 1.26 1.21 1.01 0.77 0.61 0.60 0.73 0.92 1.11 1.23 1.30 1.34 1.38 1.43 1.47 1.44 1.32 1.10 0.82 0.56 0.40 0.39 0.52 0.71 0.85 0.87 0.77 0.62 0.55 0.64 0.89 1.23 1.53 1.68 1.68 1.60 1.56 1.64 1.82 2.05 2.21 2.23 2.12 1.94 1.76 1.67 1.65 1.65 1.58 1.36 1.01 0.59 0.21 0.00 0.00 0.05 0.22 0.34 0.38 0.38 0.45 0.63 0.92 1.21 1.37 1.33 1.12 0.86 0.69 0.72 0.91 1.14 1.26 1.21 1.01 0.77 0.61 0.60 0.73 0.92 1.11 1.23 1.30 1.34 1.38 1.43 1.47 1.44 1.32 1.10 0.82 0.56 0.40 0.39 0.52 0.71 0.85 0.87 0.77 0.62 0.55 0.64 0.89 1.23 1.53 1.68 1.68 1.60 1.56 1.64 1.82 2.05 2.21 2.23 2.12 1.94 1.76 1.67 1.65 1.65 65.0 + 67.5 1.57 1.42 1.14 0.76 0.34 0.00 0.00 0.00 0.00 0.00 0.05 0.08 0.10 0.18 0.36 0.62 0.86 0.97 0.89 0.67 0.43 0.32 0.39 0.61 0.85 0.99 0.95 0.78 0.58 0.47 0.51 0.67 0.88 1.07 1.21 1.29 1.36 1.44 1.53 1.57 1.53 1.37 1.10 0.80 0.55 0.42 0.45 0.60 0.77 0.87 0.83 0.69 0.53 0.46 0.56 0.79 1.08 1.30 1.39 1.36 1.30 1.31 1.45 1.68 1.92 2.08 2.11 2.02 1.88 1.75 1.68 1.64 1.57 1.42 1.14 0.76 0.34 0.00 0.00 0.00 0.00 0.00 0.05 0.08 0.10 0.18 0.36 0.62 0.86 0.97 0.89 0.67 0.43 0.32 0.39 0.61 0.85 0.99 0.95 0.78 0.58 0.47 0.51 0.67 0.88 1.07 1.21 1.29 1.36 1.44 1.53 1.57 1.53 1.37 1.10 0.80 0.55 0.42 0.45 0.60 0.77 0.87 0.83 0.69 0.53 0.46 0.56 0.79 1.08 1.30 1.39 1.36 1.30 1.31 1.45 1.68 1.92 2.08 2.11 2.02 1.88 1.75 1.68 1.64 1.57 67.5 + 70.0 1.61 1.38 1.04 0.64 0.24 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.21 0.42 0.60 0.64 0.52 0.30 0.09 0.01 0.12 0.35 0.60 0.73 0.69 0.55 0.39 0.32 0.39 0.56 0.77 0.96 1.09 1.19 1.29 1.41 1.51 1.56 1.50 1.31 1.03 0.73 0.50 0.43 0.51 0.68 0.86 0.93 0.87 0.72 0.57 0.54 0.66 0.90 1.17 1.35 1.41 1.37 1.33 1.36 1.51 1.74 1.95 2.09 2.11 2.04 1.95 1.87 1.81 1.74 1.61 1.38 1.04 0.64 0.24 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.21 0.42 0.60 0.64 0.52 0.30 0.09 0.01 0.12 0.35 0.60 0.73 0.69 0.55 0.39 0.32 0.39 0.56 0.77 0.96 1.09 1.19 1.29 1.41 1.51 1.56 1.50 1.31 1.03 0.73 0.50 0.43 0.51 0.68 0.86 0.93 0.87 0.72 0.57 0.54 0.66 0.90 1.17 1.35 1.41 1.37 1.33 1.36 1.51 1.74 1.95 2.09 2.11 2.04 1.95 1.87 1.81 1.74 1.61 70.0 + 72.5 1.83 1.53 1.14 0.72 0.35 0.07 0.00 0.00 0.00 0.00 0.02 0.03 0.05 0.13 0.27 0.44 0.55 0.54 0.40 0.19 0.03 0.00 0.13 0.36 0.57 0.66 0.61 0.48 0.34 0.31 0.39 0.55 0.74 0.91 1.04 1.16 1.30 1.44 1.57 1.61 1.53 1.32 1.03 0.75 0.57 0.54 0.66 0.86 1.04 1.11 1.06 0.92 0.81 0.81 0.95 1.20 1.45 1.61 1.65 1.61 1.57 1.60 1.73 1.91 2.08 2.19 2.21 2.19 2.15 2.13 2.10 2.01 1.83 1.53 1.14 0.72 0.35 0.07 0.00 0.00 0.00 0.00 0.02 0.03 0.05 0.13 0.27 0.44 0.55 0.54 0.40 0.19 0.03 0.00 0.13 0.36 0.57 0.66 0.61 0.48 0.34 0.31 0.39 0.55 0.74 0.91 1.04 1.16 1.30 1.44 1.57 1.61 1.53 1.32 1.03 0.75 0.57 0.54 0.66 0.86 1.04 1.11 1.06 0.92 0.81 0.81 0.95 1.20 1.45 1.61 1.65 1.61 1.57 1.60 1.73 1.91 2.08 2.19 2.21 2.19 2.15 2.13 2.10 2.01 1.83 72.5 + 75.0 2.17 1.83 1.42 0.99 0.62 0.37 0.23 0.18 0.19 0.21 0.23 0.25 0.30 0.39 0.53 0.65 0.72 0.68 0.56 0.40 0.30 0.31 0.44 0.63 0.77 0.80 0.71 0.57 0.46 0.43 0.51 0.66 0.84 1.00 1.15 1.31 1.49 1.66 1.79 1.82 1.71 1.49 1.21 0.96 0.81 0.82 0.95 1.15 1.32 1.39 1.35 1.25 1.16 1.17 1.31 1.53 1.76 1.90 1.94 1.89 1.85 1.86 1.94 2.07 2.19 2.28 2.33 2.36 2.40 2.45 2.46 2.38 2.17 1.83 1.42 0.99 0.62 0.37 0.23 0.18 0.19 0.21 0.23 0.25 0.30 0.39 0.53 0.65 0.72 0.68 0.56 0.40 0.30 0.31 0.44 0.63 0.77 0.80 0.71 0.57 0.46 0.43 0.51 0.66 0.84 1.00 1.15 1.31 1.49 1.66 1.79 1.82 1.71 1.49 1.21 0.96 0.81 0.82 0.95 1.15 1.32 1.39 1.35 1.25 1.16 1.17 1.31 1.53 1.76 1.90 1.94 1.89 1.85 1.86 1.94 2.07 2.19 2.28 2.33 2.36 2.40 2.45 2.46 2.38 2.17 75.0 + 77.5 2.49 2.15 1.73 1.31 0.95 0.69 0.54 0.46 0.43 0.43 0.46 0.51 0.60 0.72 0.85 0.95 0.98 0.93 0.84 0.74 0.70 0.75 0.87 0.98 1.03 0.98 0.85 0.70 0.60 0.59 0.68 0.82 1.00 1.18 1.38 1.60 1.83 2.03 2.15 2.15 2.02 1.79 1.52 1.30 1.17 1.18 1.29 1.45 1.59 1.65 1.62 1.53 1.45 1.44 1.54 1.70 1.88 2.00 2.04 2.01 1.96 1.95 1.99 2.06 2.16 2.25 2.34 2.45 2.58 2.70 2.76 2.70 2.49 2.15 1.73 1.31 0.95 0.69 0.54 0.46 0.43 0.43 0.46 0.51 0.60 0.72 0.85 0.95 0.98 0.93 0.84 0.74 0.70 0.75 0.87 0.98 1.03 0.98 0.85 0.70 0.60 0.59 0.68 0.82 1.00 1.18 1.38 1.60 1.83 2.03 2.15 2.15 2.02 1.79 1.52 1.30 1.17 1.18 1.29 1.45 1.59 1.65 1.62 1.53 1.45 1.44 1.54 1.70 1.88 2.00 2.04 2.01 1.96 1.95 1.99 2.06 2.16 2.25 2.34 2.45 2.58 2.70 2.76 2.70 2.49 77.5 + 80.0 2.65 2.33 1.93 1.53 1.19 0.92 0.74 0.62 0.56 0.55 0.59 0.68 0.82 0.96 1.07 1.12 1.12 1.06 1.00 0.96 0.98 1.05 1.13 1.16 1.12 1.00 0.84 0.71 0.64 0.65 0.75 0.91 1.12 1.35 1.63 1.92 2.20 2.41 2.51 2.47 2.31 2.07 1.82 1.60 1.47 1.44 1.48 1.57 1.65 1.69 1.66 1.58 1.49 1.43 1.45 1.55 1.67 1.79 1.84 1.85 1.81 1.79 1.79 1.84 1.92 2.03 2.17 2.36 2.56 2.75 2.86 2.83 2.65 2.33 1.93 1.53 1.19 0.92 0.74 0.62 0.56 0.55 0.59 0.68 0.82 0.96 1.07 1.12 1.12 1.06 1.00 0.96 0.98 1.05 1.13 1.16 1.12 1.00 0.84 0.71 0.64 0.65 0.75 0.91 1.12 1.35 1.63 1.92 2.20 2.41 2.51 2.47 2.31 2.07 1.82 1.60 1.47 1.44 1.48 1.57 1.65 1.69 1.66 1.58 1.49 1.43 1.45 1.55 1.67 1.79 1.84 1.85 1.81 1.79 1.79 1.84 1.92 2.03 2.17 2.36 2.56 2.75 2.86 2.83 2.65 80.0 + 82.5 2.57 2.30 1.96 1.60 1.27 1.00 0.78 0.63 0.53 0.51 0.58 0.70 0.86 0.99 1.05 1.05 0.98 0.91 0.87 0.89 0.95 1.02 1.06 1.03 0.92 0.77 0.63 0.53 0.52 0.58 0.71 0.91 1.16 1.46 1.81 2.16 2.47 2.66 2.71 2.62 2.41 2.16 1.91 1.69 1.53 1.44 1.39 1.40 1.42 1.44 1.40 1.32 1.20 1.09 1.03 1.06 1.16 1.28 1.38 1.43 1.43 1.41 1.40 1.42 1.50 1.63 1.83 2.07 2.33 2.56 2.70 2.71 2.57 2.30 1.96 1.60 1.27 1.00 0.78 0.63 0.53 0.51 0.58 0.70 0.86 0.99 1.05 1.05 0.98 0.91 0.87 0.89 0.95 1.02 1.06 1.03 0.92 0.77 0.63 0.53 0.52 0.58 0.71 0.91 1.16 1.46 1.81 2.16 2.47 2.66 2.71 2.62 2.41 2.16 1.91 1.69 1.53 1.44 1.39 1.40 1.42 1.44 1.40 1.32 1.20 1.09 1.03 1.06 1.16 1.28 1.38 1.43 1.43 1.41 1.40 1.42 1.50 1.63 1.83 2.07 2.33 2.56 2.70 2.71 2.57 82.5 + 85.0 2.31 2.11 1.84 1.53 1.23 0.95 0.71 0.52 0.41 0.38 0.45 0.59 0.73 0.82 0.81 0.73 0.60 0.50 0.48 0.53 0.63 0.71 0.73 0.66 0.53 0.40 0.31 0.29 0.35 0.47 0.64 0.87 1.17 1.53 1.93 2.31 2.59 2.72 2.69 2.51 2.25 1.98 1.72 1.49 1.30 1.14 1.03 0.96 0.95 0.95 0.92 0.84 0.70 0.55 0.44 0.43 0.52 0.67 0.83 0.93 0.97 0.95 0.92 0.93 1.00 1.16 1.38 1.65 1.94 2.19 2.35 2.40 2.31 2.11 1.84 1.53 1.23 0.95 0.71 0.52 0.41 0.38 0.45 0.59 0.73 0.82 0.81 0.73 0.60 0.50 0.48 0.53 0.63 0.71 0.73 0.66 0.53 0.40 0.31 0.29 0.35 0.47 0.64 0.87 1.17 1.53 1.93 2.31 2.59 2.72 2.69 2.51 2.25 1.98 1.72 1.49 1.30 1.14 1.03 0.96 0.95 0.95 0.92 0.84 0.70 0.55 0.44 0.43 0.52 0.67 0.83 0.93 0.97 0.95 0.92 0.93 1.00 1.16 1.38 1.65 1.94 2.19 2.35 2.40 2.31 85.0 + 87.5 2.05 1.92 1.72 1.46 1.19 0.91 0.65 0.43 0.30 0.26 0.32 0.44 0.54 0.57 0.50 0.33 0.16 0.04 0.03 0.12 0.25 0.35 0.36 0.30 0.19 0.11 0.10 0.17 0.30 0.47 0.69 0.95 1.27 1.65 2.05 2.40 2.60 2.63 2.49 2.22 1.90 1.60 1.33 1.10 0.88 0.69 0.54 0.45 0.43 0.45 0.45 0.39 0.25 0.08 0.00 0.00 0.04 0.23 0.42 0.56 0.60 0.57 0.52 0.51 0.58 0.74 0.97 1.25 1.54 1.79 1.98 2.07 2.05 1.92 1.72 1.46 1.19 0.91 0.65 0.43 0.30 0.26 0.32 0.44 0.54 0.57 0.50 0.33 0.16 0.04 0.03 0.12 0.25 0.35 0.36 0.30 0.19 0.11 0.10 0.17 0.30 0.47 0.69 0.95 1.27 1.65 2.05 2.40 2.60 2.63 2.49 2.22 1.90 1.60 1.33 1.10 0.88 0.69 0.54 0.45 0.43 0.45 0.45 0.39 0.25 0.08 0.00 0.00 0.04 0.23 0.42 0.56 0.60 0.57 0.52 0.51 0.58 0.74 0.97 1.25 1.54 1.79 1.98 2.07 2.05 87.5 + 90.0 1.93 1.88 1.75 1.53 1.27 0.99 0.72 0.49 0.33 0.28 0.32 0.40 0.46 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.19 0.23 0.20 0.14 0.12 0.17 0.31 0.49 0.70 0.93 1.20 1.53 1.89 2.24 2.50 2.60 2.50 2.24 1.89 1.53 1.20 0.93 0.70 0.49 0.31 0.17 0.12 0.14 0.20 0.23 0.19 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.46 0.40 0.32 0.28 0.33 0.49 0.72 0.99 1.27 1.53 1.75 1.88 1.93 1.88 1.75 1.53 1.27 0.99 0.72 0.49 0.33 0.28 0.32 0.40 0.46 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.19 0.23 0.20 0.14 0.12 0.17 0.31 0.49 0.70 0.93 1.20 1.53 1.89 2.24 2.50 2.60 2.50 2.24 1.89 1.53 1.20 0.93 0.70 0.49 0.31 0.17 0.12 0.14 0.20 0.23 0.19 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.46 0.40 0.32 0.28 0.33 0.49 0.72 0.99 1.27 1.53 1.75 1.88 1.93 90.0 + + 85.0 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 4.56 ) PHI2 = 85. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 0.0 + 2.5 2.06 2.24 2.31 2.25 2.07 1.84 1.58 1.34 1.11 0.89 0.69 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.26 0.38 0.41 0.41 0.44 0.53 0.68 0.88 1.09 1.32 1.55 1.79 2.01 2.17 2.22 2.16 2.00 1.77 1.53 1.30 1.08 0.86 0.67 0.52 0.43 0.41 0.41 0.38 0.27 0.07 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.39 0.50 0.67 0.88 1.09 1.32 1.56 1.82 2.06 2.24 2.31 2.25 2.07 1.84 1.58 1.34 1.11 0.89 0.69 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.26 0.38 0.41 0.41 0.44 0.53 0.68 0.88 1.09 1.32 1.55 1.79 2.01 2.17 2.22 2.16 2.00 1.77 1.53 1.30 1.08 0.86 0.67 0.52 0.43 0.41 0.41 0.38 0.27 0.07 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.39 0.50 0.67 0.88 1.09 1.32 1.56 1.82 2.06 2.5 + 5.0 2.16 2.38 2.47 2.41 2.21 1.92 1.62 1.34 1.09 0.85 0.64 0.45 0.33 0.27 0.28 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.13 0.33 0.45 0.48 0.45 0.44 0.48 0.59 0.77 0.99 1.24 1.50 1.75 1.96 2.10 2.15 2.08 1.92 1.69 1.44 1.18 0.93 0.72 0.54 0.44 0.41 0.44 0.48 0.46 0.35 0.15 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.29 0.26 0.24 0.28 0.40 0.57 0.78 1.01 1.26 1.55 1.86 2.16 2.38 2.47 2.41 2.21 1.92 1.62 1.34 1.09 0.85 0.64 0.45 0.33 0.27 0.28 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.13 0.33 0.45 0.48 0.45 0.44 0.48 0.59 0.77 0.99 1.24 1.50 1.75 1.96 2.10 2.15 2.08 1.92 1.69 1.44 1.18 0.93 0.72 0.54 0.44 0.41 0.44 0.48 0.46 0.35 0.15 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.29 0.26 0.24 0.28 0.40 0.57 0.78 1.01 1.26 1.55 1.86 2.16 5.0 + 7.5 2.19 2.47 2.60 2.53 2.30 1.97 1.61 1.29 1.02 0.79 0.57 0.39 0.24 0.18 0.18 0.23 0.26 0.21 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.45 0.48 0.43 0.35 0.32 0.38 0.54 0.77 1.05 1.33 1.59 1.79 1.92 1.94 1.87 1.72 1.49 1.23 0.95 0.68 0.45 0.31 0.26 0.30 0.40 0.47 0.46 0.34 0.14 0.00 0.00 0.00 0.00 0.09 0.20 0.23 0.19 0.12 0.08 0.13 0.25 0.42 0.62 0.85 1.12 1.45 1.83 2.19 2.47 2.60 2.53 2.30 1.97 1.61 1.29 1.02 0.79 0.57 0.39 0.24 0.18 0.18 0.23 0.26 0.21 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.45 0.48 0.43 0.35 0.32 0.38 0.54 0.77 1.05 1.33 1.59 1.79 1.92 1.94 1.87 1.72 1.49 1.23 0.95 0.68 0.45 0.31 0.26 0.30 0.40 0.47 0.46 0.34 0.14 0.00 0.00 0.00 0.00 0.09 0.20 0.23 0.19 0.12 0.08 0.13 0.25 0.42 0.62 0.85 1.12 1.45 1.83 2.19 7.5 + 10.0 2.09 2.42 2.58 2.52 2.26 1.90 1.51 1.18 0.92 0.72 0.53 0.35 0.19 0.10 0.10 0.16 0.23 0.23 0.14 0.00 0.00 0.00 0.00 0.00 0.16 0.32 0.36 0.29 0.17 0.07 0.07 0.20 0.45 0.75 1.05 1.31 1.49 1.58 1.59 1.53 1.39 1.19 0.93 0.63 0.34 0.11 0.00 0.00 0.10 0.25 0.33 0.30 0.15 0.00 0.00 0.00 0.00 0.00 0.08 0.15 0.12 0.03 0.00 0.00 0.00 0.09 0.25 0.42 0.63 0.89 1.24 1.66 2.09 2.42 2.58 2.52 2.26 1.90 1.51 1.18 0.92 0.72 0.53 0.35 0.19 0.10 0.10 0.16 0.23 0.23 0.14 0.00 0.00 0.00 0.00 0.00 0.16 0.32 0.36 0.29 0.17 0.07 0.07 0.20 0.45 0.75 1.05 1.31 1.49 1.58 1.59 1.53 1.39 1.19 0.93 0.63 0.34 0.11 0.00 0.00 0.10 0.25 0.33 0.30 0.15 0.00 0.00 0.00 0.00 0.00 0.08 0.15 0.12 0.03 0.00 0.00 0.00 0.09 0.25 0.42 0.63 0.89 1.24 1.66 2.09 10.0 + 12.5 1.85 2.23 2.41 2.35 2.09 1.72 1.33 1.03 0.82 0.67 0.53 0.37 0.21 0.08 0.05 0.10 0.18 0.22 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.20 0.12 0.00 0.00 0.00 0.00 0.11 0.43 0.74 0.98 1.13 1.19 1.18 1.13 1.03 0.86 0.62 0.32 0.02 0.00 0.00 0.00 0.00 0.06 0.13 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.22 0.37 0.60 0.94 1.38 1.85 2.23 2.41 2.35 2.09 1.72 1.33 1.03 0.82 0.67 0.53 0.37 0.21 0.08 0.05 0.10 0.18 0.22 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.20 0.12 0.00 0.00 0.00 0.00 0.11 0.43 0.74 0.98 1.13 1.19 1.18 1.13 1.03 0.86 0.62 0.32 0.02 0.00 0.00 0.00 0.00 0.06 0.13 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.22 0.37 0.60 0.94 1.38 1.85 12.5 + 15.0 1.59 1.99 2.20 2.15 1.89 1.51 1.15 0.89 0.75 0.68 0.60 0.47 0.29 0.13 0.05 0.08 0.16 0.20 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.12 0.05 0.00 0.00 0.00 0.00 0.00 0.26 0.56 0.77 0.87 0.89 0.87 0.84 0.78 0.65 0.44 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.08 0.16 0.34 0.66 1.11 1.59 1.99 2.20 2.15 1.89 1.51 1.15 0.89 0.75 0.68 0.60 0.47 0.29 0.13 0.05 0.08 0.16 0.20 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.12 0.05 0.00 0.00 0.00 0.00 0.00 0.26 0.56 0.77 0.87 0.89 0.87 0.84 0.78 0.65 0.44 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.08 0.16 0.34 0.66 1.11 1.59 15.0 + 17.5 1.46 1.87 2.08 2.03 1.77 1.40 1.07 0.86 0.79 0.77 0.74 0.62 0.42 0.23 0.11 0.12 0.21 0.26 0.19 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.24 0.17 0.00 0.00 0.00 0.00 0.00 0.33 0.61 0.79 0.85 0.84 0.81 0.79 0.76 0.68 0.50 0.23 0.00 0.00 0.00 0.00 0.00 0.11 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.05 0.08 0.21 0.51 0.96 1.46 1.87 2.08 2.03 1.77 1.40 1.07 0.86 0.79 0.77 0.74 0.62 0.42 0.23 0.11 0.12 0.21 0.26 0.19 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.24 0.17 0.00 0.00 0.00 0.00 0.00 0.33 0.61 0.79 0.85 0.84 0.81 0.79 0.76 0.68 0.50 0.23 0.00 0.00 0.00 0.00 0.00 0.11 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.05 0.08 0.21 0.51 0.96 1.46 17.5 + 20.0 1.52 1.94 2.14 2.08 1.80 1.45 1.14 0.97 0.94 0.96 0.94 0.81 0.59 0.36 0.23 0.24 0.34 0.42 0.37 0.16 0.00 0.00 0.00 0.00 0.10 0.41 0.55 0.47 0.25 0.02 0.00 0.02 0.28 0.61 0.88 1.02 1.05 1.02 0.98 0.97 0.97 0.92 0.76 0.50 0.20 0.00 0.00 0.03 0.27 0.47 0.50 0.31 0.00 0.00 0.00 0.00 0.00 0.08 0.23 0.21 0.06 0.00 0.00 0.00 0.04 0.16 0.20 0.17 0.15 0.26 0.55 1.01 1.52 1.94 2.14 2.08 1.80 1.45 1.14 0.97 0.94 0.96 0.94 0.81 0.59 0.36 0.23 0.24 0.34 0.42 0.37 0.16 0.00 0.00 0.00 0.00 0.10 0.41 0.55 0.47 0.25 0.02 0.00 0.02 0.28 0.61 0.88 1.02 1.05 1.02 0.98 0.97 0.97 0.92 0.76 0.50 0.20 0.00 0.00 0.03 0.27 0.47 0.50 0.31 0.00 0.00 0.00 0.00 0.00 0.08 0.23 0.21 0.06 0.00 0.00 0.00 0.04 0.16 0.20 0.17 0.15 0.26 0.55 1.01 1.52 20.0 + 22.5 1.73 2.14 2.33 2.25 1.96 1.61 1.32 1.18 1.17 1.21 1.18 1.02 0.77 0.52 0.40 0.43 0.57 0.68 0.65 0.45 0.16 0.00 0.00 0.14 0.47 0.77 0.88 0.78 0.54 0.30 0.21 0.33 0.60 0.92 1.17 1.30 1.32 1.27 1.24 1.24 1.25 1.21 1.06 0.81 0.52 0.30 0.26 0.41 0.68 0.91 0.96 0.78 0.45 0.13 0.00 0.07 0.32 0.58 0.69 0.61 0.40 0.20 0.11 0.17 0.31 0.43 0.46 0.41 0.37 0.46 0.75 1.21 1.73 2.14 2.33 2.25 1.96 1.61 1.32 1.18 1.17 1.21 1.18 1.02 0.77 0.52 0.40 0.43 0.57 0.68 0.65 0.45 0.16 0.00 0.00 0.14 0.47 0.77 0.88 0.78 0.54 0.30 0.21 0.33 0.60 0.92 1.17 1.30 1.32 1.27 1.24 1.24 1.25 1.21 1.06 0.81 0.52 0.30 0.26 0.41 0.68 0.91 0.96 0.78 0.45 0.13 0.00 0.07 0.32 0.58 0.69 0.61 0.40 0.20 0.11 0.17 0.31 0.43 0.46 0.41 0.37 0.46 0.75 1.21 1.73 22.5 + 25.0 1.96 2.35 2.51 2.41 2.11 1.77 1.51 1.41 1.43 1.47 1.42 1.23 0.96 0.72 0.63 0.71 0.89 1.01 0.97 0.74 0.44 0.21 0.19 0.40 0.72 0.98 1.04 0.89 0.63 0.39 0.32 0.45 0.73 1.04 1.28 1.40 1.40 1.36 1.33 1.34 1.36 1.33 1.19 0.94 0.67 0.46 0.44 0.62 0.91 1.18 1.26 1.11 0.81 0.53 0.41 0.52 0.80 1.06 1.16 1.04 0.78 0.53 0.41 0.46 0.61 0.74 0.77 0.70 0.64 0.72 1.00 1.45 1.96 2.35 2.51 2.41 2.11 1.77 1.51 1.41 1.43 1.47 1.42 1.23 0.96 0.72 0.63 0.71 0.89 1.01 0.97 0.74 0.44 0.21 0.19 0.40 0.72 0.98 1.04 0.89 0.63 0.39 0.32 0.45 0.73 1.04 1.28 1.40 1.40 1.36 1.33 1.34 1.36 1.33 1.19 0.94 0.67 0.46 0.44 0.62 0.91 1.18 1.26 1.11 0.81 0.53 0.41 0.52 0.80 1.06 1.16 1.04 0.78 0.53 0.41 0.46 0.61 0.74 0.77 0.70 0.64 0.72 1.00 1.45 1.96 25.0 + 27.5 2.05 2.42 2.55 2.42 2.12 1.80 1.60 1.56 1.63 1.69 1.63 1.43 1.17 0.97 0.94 1.08 1.28 1.39 1.28 0.96 0.58 0.30 0.25 0.43 0.71 0.91 0.91 0.71 0.42 0.20 0.15 0.30 0.58 0.87 1.08 1.17 1.17 1.13 1.11 1.13 1.16 1.13 1.00 0.77 0.50 0.31 0.30 0.49 0.81 1.10 1.22 1.11 0.84 0.59 0.52 0.70 1.03 1.34 1.48 1.37 1.10 0.82 0.68 0.73 0.89 1.03 1.06 0.98 0.89 0.92 1.16 1.58 2.05 2.42 2.55 2.42 2.12 1.80 1.60 1.56 1.63 1.69 1.63 1.43 1.17 0.97 0.94 1.08 1.28 1.39 1.28 0.96 0.58 0.30 0.25 0.43 0.71 0.91 0.91 0.71 0.42 0.20 0.15 0.30 0.58 0.87 1.08 1.17 1.17 1.13 1.11 1.13 1.16 1.13 1.00 0.77 0.50 0.31 0.30 0.49 0.81 1.10 1.22 1.11 0.84 0.59 0.52 0.70 1.03 1.34 1.48 1.37 1.10 0.82 0.68 0.73 0.89 1.03 1.06 0.98 0.89 0.92 1.16 1.58 2.05 27.5 + 30.0 1.96 2.28 2.38 2.23 1.93 1.66 1.53 1.57 1.71 1.82 1.79 1.63 1.42 1.30 1.37 1.58 1.79 1.83 1.59 1.13 0.61 0.23 0.13 0.27 0.50 0.64 0.58 0.33 0.02 0.00 0.00 0.00 0.22 0.48 0.64 0.69 0.67 0.62 0.61 0.63 0.67 0.65 0.54 0.32 0.07 0.00 0.00 0.07 0.39 0.69 0.82 0.73 0.50 0.28 0.27 0.52 0.96 1.38 1.61 1.56 1.31 1.03 0.89 0.94 1.11 1.26 1.28 1.17 1.02 0.99 1.16 1.53 1.96 2.28 2.38 2.23 1.93 1.66 1.53 1.57 1.71 1.82 1.79 1.63 1.42 1.30 1.37 1.58 1.79 1.83 1.59 1.13 0.61 0.23 0.13 0.27 0.50 0.64 0.58 0.33 0.02 0.00 0.00 0.00 0.22 0.48 0.64 0.69 0.67 0.62 0.61 0.63 0.67 0.65 0.54 0.32 0.07 0.00 0.00 0.07 0.39 0.69 0.82 0.73 0.50 0.28 0.27 0.52 0.96 1.38 1.61 1.56 1.31 1.03 0.89 0.94 1.11 1.26 1.28 1.17 1.02 0.99 1.16 1.53 1.96 30.0 + 32.5 1.72 2.01 2.07 1.89 1.60 1.36 1.30 1.44 1.67 1.86 1.89 1.80 1.69 1.71 1.90 2.20 2.41 2.36 1.97 1.32 0.63 0.15 0.00 0.09 0.29 0.38 0.26 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.22 0.20 0.12 0.05 0.03 0.07 0.12 0.13 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.28 0.19 0.00 0.00 0.00 0.15 0.71 1.28 1.64 1.68 1.48 1.22 1.06 1.10 1.26 1.40 1.40 1.24 1.03 0.92 1.02 1.33 1.72 2.01 2.07 1.89 1.60 1.36 1.30 1.44 1.67 1.86 1.89 1.80 1.69 1.71 1.90 2.20 2.41 2.36 1.97 1.32 0.63 0.15 0.00 0.09 0.29 0.38 0.26 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.22 0.20 0.12 0.05 0.03 0.07 0.12 0.13 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.28 0.19 0.00 0.00 0.00 0.15 0.71 1.28 1.64 1.68 1.48 1.22 1.06 1.10 1.26 1.40 1.40 1.24 1.03 0.92 1.02 1.33 1.72 32.5 + 35.0 1.47 1.73 1.76 1.55 1.25 1.03 1.02 1.23 1.54 1.81 1.93 1.95 1.97 2.15 2.49 2.89 3.12 2.99 2.43 1.61 0.77 0.20 0.00 0.10 0.29 0.35 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.53 1.25 1.74 1.89 1.72 1.45 1.25 1.24 1.37 1.47 1.43 1.22 0.95 0.77 0.83 1.10 1.47 1.73 1.76 1.55 1.25 1.03 1.02 1.23 1.54 1.81 1.93 1.95 1.97 2.15 2.49 2.89 3.12 2.99 2.43 1.61 0.77 0.20 0.00 0.10 0.29 0.35 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.53 1.25 1.74 1.89 1.72 1.45 1.25 1.24 1.37 1.47 1.43 1.22 0.95 0.77 0.83 1.10 1.47 35.0 + 37.5 1.32 1.57 1.58 1.34 0.99 0.75 0.75 1.00 1.37 1.71 1.92 2.04 2.21 2.55 3.05 3.56 3.81 3.62 2.94 1.98 1.05 0.43 0.24 0.36 0.57 0.64 0.48 0.17 0.00 0.00 0.00 0.03 0.25 0.34 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.63 1.47 2.08 2.28 2.12 1.79 1.51 1.41 1.45 1.50 1.40 1.14 0.83 0.62 0.67 0.95 1.32 1.57 1.58 1.34 0.99 0.75 0.75 1.00 1.37 1.71 1.92 2.04 2.21 2.55 3.05 3.56 3.81 3.62 2.94 1.98 1.05 0.43 0.24 0.36 0.57 0.64 0.48 0.17 0.00 0.00 0.00 0.03 0.25 0.34 0.28 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.63 1.47 2.08 2.28 2.12 1.79 1.51 1.41 1.45 1.50 1.40 1.14 0.83 0.62 0.67 0.95 1.32 37.5 + 40.0 1.30 1.57 1.56 1.27 0.88 0.60 0.58 0.83 1.22 1.59 1.86 2.06 2.34 2.81 3.44 4.03 4.32 4.09 3.34 2.31 1.34 0.73 0.57 0.75 1.00 1.08 0.93 0.62 0.33 0.23 0.35 0.59 0.80 0.87 0.75 0.51 0.24 0.06 0.02 0.12 0.28 0.41 0.41 0.26 0.00 0.00 0.00 0.00 0.00 0.22 0.30 0.14 0.00 0.00 0.00 0.19 1.06 1.99 2.66 2.88 2.67 2.24 1.84 1.62 1.55 1.52 1.36 1.06 0.72 0.52 0.59 0.90 1.30 1.57 1.56 1.27 0.88 0.60 0.58 0.83 1.22 1.59 1.86 2.06 2.34 2.81 3.44 4.03 4.32 4.09 3.34 2.31 1.34 0.73 0.57 0.75 1.00 1.08 0.93 0.62 0.33 0.23 0.35 0.59 0.80 0.87 0.75 0.51 0.24 0.06 0.02 0.12 0.28 0.41 0.41 0.26 0.00 0.00 0.00 0.00 0.00 0.22 0.30 0.14 0.00 0.00 0.00 0.19 1.06 1.99 2.66 2.88 2.67 2.24 1.84 1.62 1.55 1.52 1.36 1.06 0.72 0.52 0.59 0.90 1.30 40.0 + 42.5 1.37 1.65 1.63 1.31 0.88 0.56 0.51 0.74 1.13 1.50 1.78 2.02 2.34 2.87 3.56 4.19 4.48 4.23 3.46 2.41 1.44 0.87 0.77 1.00 1.29 1.40 1.25 0.95 0.69 0.61 0.76 1.02 1.25 1.31 1.18 0.92 0.64 0.46 0.44 0.57 0.79 0.96 1.01 0.87 0.60 0.33 0.19 0.28 0.54 0.80 0.88 0.70 0.36 0.11 0.20 0.76 1.69 2.67 3.37 3.57 3.29 2.76 2.22 1.87 1.69 1.56 1.35 1.01 0.67 0.48 0.58 0.94 1.37 1.65 1.63 1.31 0.88 0.56 0.51 0.74 1.13 1.50 1.78 2.02 2.34 2.87 3.56 4.19 4.48 4.23 3.46 2.41 1.44 0.87 0.77 1.00 1.29 1.40 1.25 0.95 0.69 0.61 0.76 1.02 1.25 1.31 1.18 0.92 0.64 0.46 0.44 0.57 0.79 0.96 1.01 0.87 0.60 0.33 0.19 0.28 0.54 0.80 0.88 0.70 0.36 0.11 0.20 0.76 1.69 2.67 3.37 3.57 3.29 2.76 2.22 1.87 1.69 1.56 1.35 1.01 0.67 0.48 0.58 0.94 1.37 42.5 + 45.0 1.44 1.73 1.70 1.37 0.91 0.57 0.51 0.73 1.10 1.45 1.70 1.91 2.21 2.71 3.36 3.96 4.23 3.96 3.18 2.15 1.22 0.70 0.64 0.92 1.23 1.36 1.22 0.93 0.69 0.63 0.80 1.08 1.32 1.40 1.29 1.05 0.80 0.65 0.66 0.83 1.09 1.31 1.39 1.27 1.01 0.74 0.61 0.70 0.96 1.24 1.33 1.16 0.83 0.59 0.72 1.32 2.29 3.30 4.00 4.17 3.84 3.21 2.58 2.13 1.86 1.66 1.39 1.03 0.67 0.50 0.62 0.99 1.44 1.73 1.70 1.37 0.91 0.57 0.51 0.73 1.10 1.45 1.70 1.91 2.21 2.71 3.36 3.96 4.23 3.96 3.18 2.15 1.22 0.70 0.64 0.92 1.23 1.36 1.22 0.93 0.69 0.63 0.80 1.08 1.32 1.40 1.29 1.05 0.80 0.65 0.66 0.83 1.09 1.31 1.39 1.27 1.01 0.74 0.61 0.70 0.96 1.24 1.33 1.16 0.83 0.59 0.72 1.32 2.29 3.30 4.00 4.17 3.84 3.21 2.58 2.13 1.86 1.66 1.39 1.03 0.67 0.50 0.62 0.99 1.44 45.0 + 47.5 1.46 1.74 1.70 1.38 0.94 0.62 0.56 0.78 1.14 1.45 1.65 1.77 1.98 2.37 2.92 3.43 3.64 3.35 2.59 1.60 0.72 0.24 0.21 0.49 0.81 0.94 0.81 0.54 0.30 0.25 0.42 0.70 0.96 1.07 1.00 0.81 0.61 0.50 0.55 0.75 1.03 1.27 1.37 1.27 1.03 0.77 0.66 0.77 1.06 1.35 1.46 1.31 1.02 0.84 1.02 1.67 2.67 3.69 4.39 4.53 4.16 3.51 2.84 2.35 2.04 1.81 1.51 1.13 0.76 0.57 0.67 1.03 1.46 1.74 1.70 1.38 0.94 0.62 0.56 0.78 1.14 1.45 1.65 1.77 1.98 2.37 2.92 3.43 3.64 3.35 2.59 1.60 0.72 0.24 0.21 0.49 0.81 0.94 0.81 0.54 0.30 0.25 0.42 0.70 0.96 1.07 1.00 0.81 0.61 0.50 0.55 0.75 1.03 1.27 1.37 1.27 1.03 0.77 0.66 0.77 1.06 1.35 1.46 1.31 1.02 0.84 1.02 1.67 2.67 3.69 4.39 4.53 4.16 3.51 2.84 2.35 2.04 1.81 1.51 1.13 0.76 0.57 0.67 1.03 1.46 47.5 + 50.0 1.47 1.71 1.67 1.36 0.96 0.67 0.65 0.88 1.22 1.49 1.62 1.64 1.72 1.96 2.37 2.77 2.91 2.61 1.90 0.97 0.16 0.00 0.00 0.00 0.25 0.37 0.24 0.00 0.00 0.00 0.00 0.10 0.35 0.49 0.47 0.35 0.20 0.14 0.21 0.41 0.68 0.91 1.00 0.91 0.69 0.46 0.38 0.52 0.82 1.13 1.26 1.15 0.92 0.81 1.05 1.75 2.76 3.76 4.43 4.56 4.19 3.56 2.94 2.48 2.21 1.98 1.69 1.29 0.91 0.70 0.77 1.08 1.47 1.71 1.67 1.36 0.96 0.67 0.65 0.88 1.22 1.49 1.62 1.64 1.72 1.96 2.37 2.77 2.91 2.61 1.90 0.97 0.16 0.00 0.00 0.00 0.25 0.37 0.24 0.00 0.00 0.00 0.00 0.10 0.35 0.49 0.47 0.35 0.20 0.14 0.21 0.41 0.68 0.91 1.00 0.91 0.69 0.46 0.38 0.52 0.82 1.13 1.26 1.15 0.92 0.81 1.05 1.75 2.76 3.76 4.43 4.56 4.19 3.56 2.94 2.48 2.21 1.98 1.69 1.29 0.91 0.70 0.77 1.08 1.47 50.0 + 52.5 1.53 1.73 1.67 1.38 1.01 0.76 0.75 0.98 1.30 1.53 1.59 1.53 1.48 1.59 1.87 2.17 2.27 2.01 1.37 0.54 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.06 0.28 0.47 0.52 0.42 0.21 0.02 0.00 0.14 0.46 0.77 0.91 0.84 0.67 0.62 0.92 1.63 2.60 3.54 4.14 4.25 3.92 3.37 2.86 2.51 2.31 2.15 1.88 1.51 1.14 0.91 0.94 1.20 1.53 1.73 1.67 1.38 1.01 0.76 0.75 0.98 1.30 1.53 1.59 1.53 1.48 1.59 1.87 2.17 2.27 2.01 1.37 0.54 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.06 0.28 0.47 0.52 0.42 0.21 0.02 0.00 0.14 0.46 0.77 0.91 0.84 0.67 0.62 0.92 1.63 2.60 3.54 4.14 4.25 3.92 3.37 2.86 2.51 2.31 2.15 1.88 1.51 1.14 0.91 0.94 1.20 1.53 52.5 + 55.0 1.68 1.84 1.75 1.46 1.10 0.85 0.84 1.05 1.33 1.53 1.55 1.42 1.30 1.32 1.51 1.77 1.88 1.69 1.17 0.47 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.22 0.21 0.07 0.00 0.00 0.00 0.00 0.21 0.51 0.65 0.60 0.46 0.45 0.76 1.43 2.31 3.13 3.63 3.70 3.41 2.98 2.61 2.41 2.34 2.25 2.06 1.73 1.39 1.18 1.20 1.41 1.68 1.84 1.75 1.46 1.10 0.85 0.84 1.05 1.33 1.53 1.55 1.42 1.30 1.32 1.51 1.77 1.88 1.69 1.17 0.47 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.22 0.21 0.07 0.00 0.00 0.00 0.00 0.21 0.51 0.65 0.60 0.46 0.45 0.76 1.43 2.31 3.13 3.63 3.70 3.41 2.98 2.61 2.41 2.34 2.25 2.06 1.73 1.39 1.18 1.20 1.41 1.68 55.0 + 57.5 1.91 2.02 1.89 1.57 1.19 0.92 0.87 1.03 1.27 1.43 1.43 1.29 1.15 1.14 1.31 1.57 1.73 1.64 1.26 0.71 0.21 0.00 0.00 0.14 0.34 0.38 0.22 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.15 0.14 0.10 0.08 0.11 0.20 0.28 0.30 0.22 0.03 0.00 0.00 0.00 0.00 0.22 0.49 0.60 0.52 0.39 0.38 0.66 1.24 1.97 2.62 2.99 3.00 2.76 2.45 2.25 2.21 2.26 2.27 2.15 1.90 1.62 1.46 1.49 1.68 1.91 2.02 1.89 1.57 1.19 0.92 0.87 1.03 1.27 1.43 1.43 1.29 1.15 1.14 1.31 1.57 1.73 1.64 1.26 0.71 0.21 0.00 0.00 0.14 0.34 0.38 0.22 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.15 0.14 0.10 0.08 0.11 0.20 0.28 0.30 0.22 0.03 0.00 0.00 0.00 0.00 0.22 0.49 0.60 0.52 0.39 0.38 0.66 1.24 1.97 2.62 2.99 3.00 2.76 2.45 2.25 2.21 2.26 2.27 2.15 1.90 1.62 1.46 1.49 1.68 1.91 57.5 + 60.0 2.12 2.17 2.00 1.64 1.21 0.89 0.78 0.88 1.07 1.21 1.21 1.09 0.97 0.98 1.17 1.46 1.69 1.69 1.44 1.02 0.63 0.44 0.49 0.70 0.89 0.92 0.75 0.44 0.15 0.00 0.03 0.19 0.41 0.57 0.65 0.65 0.62 0.61 0.64 0.68 0.70 0.64 0.48 0.24 0.00 0.00 0.00 0.15 0.44 0.66 0.70 0.59 0.42 0.39 0.60 1.06 1.63 2.10 2.32 2.28 2.08 1.89 1.84 1.94 2.10 2.20 2.15 1.97 1.77 1.66 1.73 1.92 2.12 2.17 2.00 1.64 1.21 0.89 0.78 0.88 1.07 1.21 1.21 1.09 0.97 0.98 1.17 1.46 1.69 1.69 1.44 1.02 0.63 0.44 0.49 0.70 0.89 0.92 0.75 0.44 0.15 0.00 0.03 0.19 0.41 0.57 0.65 0.65 0.62 0.61 0.64 0.68 0.70 0.64 0.48 0.24 0.00 0.00 0.00 0.15 0.44 0.66 0.70 0.59 0.42 0.39 0.60 1.06 1.63 2.10 2.32 2.28 2.08 1.89 1.84 1.94 2.10 2.20 2.15 1.97 1.77 1.66 1.73 1.92 2.12 60.0 + 62.5 2.20 2.20 1.97 1.56 1.10 0.73 0.57 0.61 0.76 0.88 0.89 0.81 0.73 0.78 0.99 1.30 1.56 1.63 1.46 1.14 0.84 0.71 0.81 1.05 1.26 1.29 1.12 0.82 0.54 0.40 0.44 0.62 0.84 1.02 1.11 1.12 1.11 1.11 1.14 1.17 1.15 1.02 0.80 0.51 0.27 0.16 0.23 0.45 0.70 0.85 0.82 0.64 0.44 0.37 0.52 0.87 1.29 1.60 1.71 1.63 1.48 1.40 1.47 1.68 1.91 2.05 2.04 1.92 1.79 1.75 1.86 2.04 2.20 2.20 1.97 1.56 1.10 0.73 0.57 0.61 0.76 0.88 0.89 0.81 0.73 0.78 0.99 1.30 1.56 1.63 1.46 1.14 0.84 0.71 0.81 1.05 1.26 1.29 1.12 0.82 0.54 0.40 0.44 0.62 0.84 1.02 1.11 1.12 1.11 1.11 1.14 1.17 1.15 1.02 0.80 0.51 0.27 0.16 0.23 0.45 0.70 0.85 0.82 0.64 0.44 0.37 0.52 0.87 1.29 1.60 1.71 1.63 1.48 1.40 1.47 1.68 1.91 2.05 2.04 1.92 1.79 1.75 1.86 2.04 2.20 62.5 + 65.0 2.13 2.07 1.78 1.33 0.84 0.46 0.27 0.27 0.39 0.50 0.52 0.46 0.42 0.49 0.71 1.01 1.26 1.33 1.18 0.91 0.67 0.61 0.75 1.02 1.25 1.31 1.16 0.89 0.63 0.52 0.59 0.79 1.03 1.22 1.31 1.34 1.35 1.37 1.42 1.44 1.39 1.23 0.96 0.65 0.41 0.32 0.42 0.64 0.85 0.93 0.82 0.59 0.35 0.26 0.38 0.67 0.99 1.20 1.24 1.15 1.04 1.05 1.21 1.47 1.73 1.88 1.89 1.80 1.72 1.73 1.85 2.03 2.13 2.07 1.78 1.33 0.84 0.46 0.27 0.27 0.39 0.50 0.52 0.46 0.42 0.49 0.71 1.01 1.26 1.33 1.18 0.91 0.67 0.61 0.75 1.02 1.25 1.31 1.16 0.89 0.63 0.52 0.59 0.79 1.03 1.22 1.31 1.34 1.35 1.37 1.42 1.44 1.39 1.23 0.96 0.65 0.41 0.32 0.42 0.64 0.85 0.93 0.82 0.59 0.35 0.26 0.38 0.67 0.99 1.20 1.24 1.15 1.04 1.05 1.21 1.47 1.73 1.88 1.89 1.80 1.72 1.73 1.85 2.03 2.13 65.0 + 67.5 1.99 1.85 1.52 1.04 0.55 0.17 0.00 0.00 0.06 0.15 0.16 0.12 0.09 0.17 0.36 0.62 0.82 0.85 0.69 0.43 0.23 0.21 0.39 0.69 0.94 1.02 0.90 0.66 0.45 0.37 0.48 0.70 0.95 1.14 1.24 1.28 1.31 1.36 1.42 1.45 1.38 1.18 0.89 0.57 0.35 0.30 0.43 0.64 0.82 0.85 0.69 0.43 0.19 0.11 0.24 0.51 0.78 0.95 0.96 0.88 0.82 0.89 1.09 1.37 1.62 1.75 1.75 1.68 1.63 1.68 1.81 1.94 1.99 1.85 1.52 1.04 0.55 0.17 0.00 0.00 0.06 0.15 0.16 0.12 0.09 0.17 0.36 0.62 0.82 0.85 0.69 0.43 0.23 0.21 0.39 0.69 0.94 1.02 0.90 0.66 0.45 0.37 0.48 0.70 0.95 1.14 1.24 1.28 1.31 1.36 1.42 1.45 1.38 1.18 0.89 0.57 0.35 0.30 0.43 0.64 0.82 0.85 0.69 0.43 0.19 0.11 0.24 0.51 0.78 0.95 0.96 0.88 0.82 0.89 1.09 1.37 1.62 1.75 1.75 1.68 1.63 1.68 1.81 1.94 1.99 67.5 + 70.0 1.90 1.70 1.31 0.82 0.35 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.28 0.41 0.39 0.20 0.00 0.00 0.00 0.00 0.30 0.56 0.64 0.54 0.33 0.16 0.12 0.25 0.49 0.74 0.93 1.04 1.09 1.15 1.22 1.29 1.31 1.22 0.99 0.69 0.39 0.20 0.18 0.34 0.56 0.72 0.72 0.54 0.28 0.07 0.03 0.19 0.47 0.74 0.89 0.91 0.84 0.82 0.91 1.12 1.38 1.59 1.69 1.69 1.64 1.63 1.69 1.82 1.92 1.90 1.70 1.31 0.82 0.35 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.28 0.41 0.39 0.20 0.00 0.00 0.00 0.00 0.30 0.56 0.64 0.54 0.33 0.16 0.12 0.25 0.49 0.74 0.93 1.04 1.09 1.15 1.22 1.29 1.31 1.22 0.99 0.69 0.39 0.20 0.18 0.34 0.56 0.72 0.72 0.54 0.28 0.07 0.03 0.19 0.47 0.74 0.89 0.91 0.84 0.82 0.91 1.12 1.38 1.59 1.69 1.69 1.64 1.63 1.69 1.82 1.92 1.90 70.0 + 72.5 1.97 1.71 1.29 0.80 0.33 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.20 0.13 0.00 0.00 0.00 0.00 0.00 0.12 0.34 0.40 0.29 0.11 0.00 0.00 0.11 0.35 0.59 0.78 0.90 0.98 1.07 1.16 1.23 1.23 1.10 0.86 0.55 0.26 0.11 0.13 0.30 0.52 0.67 0.67 0.51 0.28 0.11 0.11 0.29 0.58 0.85 1.00 1.02 0.97 0.95 1.04 1.22 1.44 1.62 1.70 1.71 1.70 1.74 1.85 1.98 2.05 1.97 1.71 1.29 0.80 0.33 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.20 0.13 0.00 0.00 0.00 0.00 0.00 0.12 0.34 0.40 0.29 0.11 0.00 0.00 0.11 0.35 0.59 0.78 0.90 0.98 1.07 1.16 1.23 1.23 1.10 0.86 0.55 0.26 0.11 0.13 0.30 0.52 0.67 0.67 0.51 0.28 0.11 0.11 0.29 0.58 0.85 1.00 1.02 0.97 0.95 1.04 1.22 1.44 1.62 1.70 1.71 1.70 1.74 1.85 1.98 2.05 1.97 72.5 + 75.0 2.21 1.91 1.47 0.97 0.52 0.19 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.21 0.25 0.16 0.00 0.00 0.00 0.00 0.00 0.23 0.39 0.40 0.27 0.09 0.00 0.00 0.14 0.37 0.61 0.81 0.96 1.08 1.20 1.31 1.37 1.34 1.19 0.92 0.61 0.34 0.21 0.24 0.41 0.62 0.76 0.77 0.63 0.44 0.31 0.32 0.50 0.77 1.02 1.17 1.19 1.15 1.12 1.18 1.32 1.50 1.65 1.74 1.79 1.84 1.95 2.11 2.26 2.32 2.21 1.91 1.47 0.97 0.52 0.19 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.21 0.25 0.16 0.00 0.00 0.00 0.00 0.00 0.23 0.39 0.40 0.27 0.09 0.00 0.00 0.14 0.37 0.61 0.81 0.96 1.08 1.20 1.31 1.37 1.34 1.19 0.92 0.61 0.34 0.21 0.24 0.41 0.62 0.76 0.77 0.63 0.44 0.31 0.32 0.50 0.77 1.02 1.17 1.19 1.15 1.12 1.18 1.32 1.50 1.65 1.74 1.79 1.84 1.95 2.11 2.26 2.32 2.21 75.0 + 77.5 2.49 2.18 1.74 1.25 0.81 0.48 0.27 0.15 0.08 0.03 0.00 0.00 0.07 0.19 0.34 0.45 0.46 0.38 0.23 0.11 0.09 0.19 0.36 0.53 0.60 0.54 0.39 0.22 0.13 0.16 0.31 0.53 0.77 1.00 1.20 1.38 1.54 1.66 1.71 1.65 1.46 1.18 0.88 0.63 0.50 0.51 0.64 0.81 0.93 0.94 0.83 0.67 0.55 0.54 0.67 0.89 1.11 1.24 1.27 1.23 1.20 1.23 1.33 1.47 1.61 1.73 1.84 1.98 2.16 2.37 2.55 2.61 2.49 2.18 1.74 1.25 0.81 0.48 0.27 0.15 0.08 0.03 0.00 0.00 0.07 0.19 0.34 0.45 0.46 0.38 0.23 0.11 0.09 0.19 0.36 0.53 0.60 0.54 0.39 0.22 0.13 0.16 0.31 0.53 0.77 1.00 1.20 1.38 1.54 1.66 1.71 1.65 1.46 1.18 0.88 0.63 0.50 0.51 0.64 0.81 0.93 0.94 0.83 0.67 0.55 0.54 0.67 0.89 1.11 1.24 1.27 1.23 1.20 1.23 1.33 1.47 1.61 1.73 1.84 1.98 2.16 2.37 2.55 2.61 2.49 77.5 + 80.0 2.66 2.37 1.96 1.50 1.09 0.76 0.52 0.36 0.25 0.18 0.16 0.21 0.32 0.46 0.59 0.67 0.65 0.57 0.46 0.41 0.44 0.56 0.70 0.78 0.77 0.66 0.50 0.35 0.30 0.35 0.51 0.73 0.98 1.24 1.50 1.74 1.94 2.07 2.10 2.00 1.79 1.51 1.22 0.97 0.83 0.79 0.86 0.96 1.04 1.04 0.94 0.79 0.66 0.61 0.67 0.81 0.99 1.12 1.17 1.16 1.13 1.14 1.21 1.33 1.48 1.64 1.81 2.01 2.26 2.51 2.71 2.77 2.66 2.37 1.96 1.50 1.09 0.76 0.52 0.36 0.25 0.18 0.16 0.21 0.32 0.46 0.59 0.67 0.65 0.57 0.46 0.41 0.44 0.56 0.70 0.78 0.77 0.66 0.50 0.35 0.30 0.35 0.51 0.73 0.98 1.24 1.50 1.74 1.94 2.07 2.10 2.00 1.79 1.51 1.22 0.97 0.83 0.79 0.86 0.96 1.04 1.04 0.94 0.79 0.66 0.61 0.67 0.81 0.99 1.12 1.17 1.16 1.13 1.14 1.21 1.33 1.48 1.64 1.81 2.01 2.26 2.51 2.71 2.77 2.66 80.0 + 82.5 2.64 2.39 2.03 1.63 1.26 0.94 0.70 0.51 0.37 0.29 0.29 0.36 0.49 0.62 0.71 0.72 0.65 0.55 0.48 0.48 0.56 0.69 0.79 0.82 0.76 0.62 0.48 0.39 0.39 0.48 0.65 0.88 1.15 1.45 1.75 2.04 2.26 2.38 2.37 2.23 2.00 1.72 1.44 1.20 1.03 0.93 0.91 0.93 0.96 0.94 0.86 0.71 0.55 0.44 0.42 0.51 0.66 0.80 0.90 0.94 0.94 0.95 1.00 1.10 1.25 1.44 1.65 1.90 2.18 2.45 2.65 2.73 2.64 2.39 2.03 1.63 1.26 0.94 0.70 0.51 0.37 0.29 0.29 0.36 0.49 0.62 0.71 0.72 0.65 0.55 0.48 0.48 0.56 0.69 0.79 0.82 0.76 0.62 0.48 0.39 0.39 0.48 0.65 0.88 1.15 1.45 1.75 2.04 2.26 2.38 2.37 2.23 2.00 1.72 1.44 1.20 1.03 0.93 0.91 0.93 0.96 0.94 0.86 0.71 0.55 0.44 0.42 0.51 0.66 0.80 0.90 0.94 0.94 0.95 1.00 1.10 1.25 1.44 1.65 1.90 2.18 2.45 2.65 2.73 2.64 82.5 + 85.0 2.45 2.27 1.98 1.65 1.32 1.03 0.78 0.58 0.43 0.35 0.35 0.43 0.54 0.63 0.64 0.57 0.44 0.31 0.25 0.29 0.41 0.55 0.64 0.64 0.56 0.45 0.36 0.34 0.41 0.55 0.75 0.98 1.27 1.59 1.92 2.22 2.43 2.50 2.44 2.25 2.00 1.72 1.45 1.21 1.01 0.86 0.76 0.72 0.71 0.68 0.61 0.46 0.28 0.12 0.05 0.10 0.25 0.43 0.58 0.67 0.71 0.72 0.75 0.84 0.98 1.18 1.41 1.68 1.95 2.21 2.41 2.50 2.45 2.27 1.98 1.65 1.32 1.03 0.78 0.58 0.43 0.35 0.35 0.43 0.54 0.63 0.64 0.57 0.44 0.31 0.25 0.29 0.41 0.55 0.64 0.64 0.56 0.45 0.36 0.34 0.41 0.55 0.75 0.98 1.27 1.59 1.92 2.22 2.43 2.50 2.44 2.25 2.00 1.72 1.45 1.21 1.01 0.86 0.76 0.72 0.71 0.68 0.61 0.46 0.28 0.12 0.05 0.10 0.25 0.43 0.58 0.67 0.71 0.72 0.75 0.84 0.98 1.18 1.41 1.68 1.95 2.21 2.41 2.50 2.45 85.0 + 87.5 2.24 2.12 1.90 1.64 1.36 1.09 0.85 0.64 0.48 0.38 0.37 0.43 0.51 0.53 0.47 0.32 0.12 0.00 0.00 0.00 0.14 0.30 0.39 0.39 0.34 0.27 0.26 0.32 0.46 0.64 0.86 1.10 1.39 1.72 2.04 2.31 2.47 2.48 2.34 2.10 1.82 1.54 1.28 1.04 0.83 0.64 0.50 0.44 0.42 0.41 0.35 0.21 0.03 0.00 0.00 0.00 0.00 0.17 0.37 0.49 0.53 0.53 0.54 0.61 0.74 0.93 1.16 1.41 1.68 1.93 2.13 2.24 2.24 2.12 1.90 1.64 1.36 1.09 0.85 0.64 0.48 0.38 0.37 0.43 0.51 0.53 0.47 0.32 0.12 0.00 0.00 0.00 0.14 0.30 0.39 0.39 0.34 0.27 0.26 0.32 0.46 0.64 0.86 1.10 1.39 1.72 2.04 2.31 2.47 2.48 2.34 2.10 1.82 1.54 1.28 1.04 0.83 0.64 0.50 0.44 0.42 0.41 0.35 0.21 0.03 0.00 0.00 0.00 0.00 0.17 0.37 0.49 0.53 0.53 0.54 0.61 0.74 0.93 1.16 1.41 1.68 1.93 2.13 2.24 2.24 87.5 + 90.0 2.14 2.09 1.94 1.71 1.46 1.21 0.96 0.74 0.56 0.46 0.42 0.44 0.48 0.45 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.30 0.42 0.60 0.82 1.05 1.30 1.58 1.89 2.18 2.40 2.47 2.40 2.18 1.89 1.58 1.30 1.05 0.82 0.60 0.42 0.30 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.45 0.48 0.44 0.42 0.46 0.56 0.74 0.96 1.21 1.46 1.71 1.94 2.09 2.14 2.09 1.94 1.71 1.46 1.21 0.96 0.74 0.56 0.46 0.42 0.44 0.48 0.45 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.30 0.42 0.60 0.82 1.05 1.30 1.58 1.89 2.18 2.40 2.47 2.40 2.18 1.89 1.58 1.30 1.05 0.82 0.60 0.42 0.30 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.45 0.48 0.44 0.42 0.46 0.56 0.74 0.96 1.21 1.46 1.71 1.94 2.09 2.14 90.0 + + 87.5 DEGREE - PHI2-SECTION ( FMAX ABS = 5.99 FMAX-I = 4.09 ) PHI2 = 88. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 0.0 + 2.5 2.24 2.31 2.25 2.07 1.83 1.58 1.33 1.11 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.88 1.09 1.31 1.55 1.79 2.01 2.17 2.22 2.16 2.00 1.78 1.54 1.30 1.08 0.87 0.67 0.52 0.43 0.41 0.41 0.38 0.27 0.07 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.39 0.51 0.68 0.88 1.10 1.33 1.57 1.82 2.07 2.24 2.31 2.25 2.07 1.83 1.58 1.33 1.11 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.88 1.09 1.31 1.55 1.79 2.01 2.17 2.22 2.16 2.00 1.78 1.54 1.30 1.08 0.87 0.67 0.52 0.43 0.41 0.41 0.38 0.27 0.07 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.39 0.51 0.68 0.88 1.10 1.33 1.57 1.82 2.07 2.24 2.5 + 5.0 2.39 2.47 2.40 2.19 1.91 1.60 1.32 1.07 0.83 0.62 0.44 0.31 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.13 0.33 0.45 0.48 0.45 0.43 0.47 0.58 0.75 0.98 1.22 1.48 1.73 1.95 2.10 2.15 2.08 1.93 1.70 1.45 1.19 0.95 0.73 0.55 0.45 0.41 0.44 0.48 0.46 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.29 0.26 0.25 0.29 0.41 0.59 0.80 1.03 1.28 1.57 1.88 2.17 2.39 2.47 2.40 2.19 1.91 1.60 1.32 1.07 0.83 0.62 0.44 0.31 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.13 0.33 0.45 0.48 0.45 0.43 0.47 0.58 0.75 0.98 1.22 1.48 1.73 1.95 2.10 2.15 2.08 1.93 1.70 1.45 1.19 0.95 0.73 0.55 0.45 0.41 0.44 0.48 0.46 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.29 0.26 0.25 0.29 0.41 0.59 0.80 1.03 1.28 1.57 1.88 2.17 2.39 5.0 + 7.5 2.49 2.60 2.52 2.27 1.93 1.57 1.25 0.97 0.74 0.53 0.34 0.21 0.14 0.16 0.21 0.24 0.20 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.47 0.41 0.33 0.30 0.36 0.51 0.74 1.02 1.30 1.56 1.77 1.90 1.94 1.88 1.73 1.51 1.25 0.97 0.70 0.47 0.32 0.27 0.31 0.40 0.46 0.45 0.32 0.12 0.00 0.00 0.00 0.00 0.08 0.20 0.23 0.19 0.12 0.10 0.15 0.27 0.45 0.66 0.89 1.16 1.49 1.86 2.22 2.49 2.60 2.52 2.27 1.93 1.57 1.25 0.97 0.74 0.53 0.34 0.21 0.14 0.16 0.21 0.24 0.20 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.47 0.41 0.33 0.30 0.36 0.51 0.74 1.02 1.30 1.56 1.77 1.90 1.94 1.88 1.73 1.51 1.25 0.97 0.70 0.47 0.32 0.27 0.31 0.40 0.46 0.45 0.32 0.12 0.00 0.00 0.00 0.00 0.08 0.20 0.23 0.19 0.12 0.10 0.15 0.27 0.45 0.66 0.89 1.16 1.49 1.86 2.22 2.49 7.5 + 10.0 2.44 2.58 2.49 2.21 1.83 1.43 1.10 0.84 0.63 0.44 0.27 0.12 0.03 0.04 0.10 0.18 0.19 0.11 0.00 0.00 0.00 0.00 0.00 0.14 0.30 0.34 0.26 0.13 0.03 0.03 0.16 0.40 0.70 1.01 1.26 1.45 1.55 1.58 1.53 1.40 1.20 0.94 0.64 0.35 0.11 0.00 0.00 0.10 0.24 0.32 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.15 0.13 0.04 0.00 0.00 0.00 0.13 0.30 0.48 0.69 0.95 1.30 1.71 2.12 2.44 2.58 2.49 2.21 1.83 1.43 1.10 0.84 0.63 0.44 0.27 0.12 0.03 0.04 0.10 0.18 0.19 0.11 0.00 0.00 0.00 0.00 0.00 0.14 0.30 0.34 0.26 0.13 0.03 0.03 0.16 0.40 0.70 1.01 1.26 1.45 1.55 1.58 1.53 1.40 1.20 0.94 0.64 0.35 0.11 0.00 0.00 0.10 0.24 0.32 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.15 0.13 0.04 0.00 0.00 0.00 0.13 0.30 0.48 0.69 0.95 1.30 1.71 2.12 2.44 10.0 + 12.5 2.25 2.40 2.32 2.02 1.62 1.22 0.90 0.68 0.53 0.40 0.24 0.08 0.00 0.00 0.00 0.09 0.13 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.15 0.08 0.00 0.00 0.00 0.00 0.06 0.38 0.69 0.93 1.08 1.15 1.16 1.12 1.03 0.87 0.63 0.32 0.01 0.00 0.00 0.00 0.00 0.04 0.12 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.04 0.18 0.31 0.46 0.68 1.02 1.45 1.90 2.25 2.40 2.32 2.02 1.62 1.22 0.90 0.68 0.53 0.40 0.24 0.08 0.00 0.00 0.00 0.09 0.13 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.15 0.08 0.00 0.00 0.00 0.00 0.06 0.38 0.69 0.93 1.08 1.15 1.16 1.12 1.03 0.87 0.63 0.32 0.01 0.00 0.00 0.00 0.00 0.04 0.12 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.04 0.18 0.31 0.46 0.68 1.02 1.45 1.90 2.25 12.5 + 15.0 2.03 2.19 2.11 1.80 1.40 1.01 0.73 0.58 0.50 0.42 0.30 0.13 0.00 0.00 0.00 0.04 0.09 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.50 0.71 0.82 0.85 0.85 0.82 0.77 0.66 0.45 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.13 0.19 0.28 0.45 0.76 1.19 1.66 2.03 2.19 2.11 1.80 1.40 1.01 0.73 0.58 0.50 0.42 0.30 0.13 0.00 0.00 0.00 0.04 0.09 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.50 0.71 0.82 0.85 0.85 0.82 0.77 0.66 0.45 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.13 0.19 0.28 0.45 0.76 1.19 1.66 2.03 15.0 + 17.5 1.92 2.09 2.00 1.69 1.28 0.91 0.68 0.58 0.57 0.54 0.43 0.25 0.06 0.00 0.00 0.08 0.14 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.19 0.13 0.00 0.00 0.00 0.00 0.00 0.28 0.56 0.74 0.80 0.80 0.78 0.77 0.76 0.68 0.51 0.23 0.00 0.00 0.00 0.00 0.00 0.09 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.19 0.20 0.22 0.34 0.63 1.06 1.54 1.92 2.09 2.00 1.69 1.28 0.91 0.68 0.58 0.57 0.54 0.43 0.25 0.06 0.00 0.00 0.08 0.14 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.19 0.13 0.00 0.00 0.00 0.00 0.00 0.28 0.56 0.74 0.80 0.80 0.78 0.77 0.76 0.68 0.51 0.23 0.00 0.00 0.00 0.00 0.00 0.09 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.19 0.20 0.22 0.34 0.63 1.06 1.54 1.92 17.5 + 20.0 2.01 2.18 2.08 1.76 1.34 0.99 0.78 0.72 0.75 0.74 0.63 0.43 0.22 0.10 0.12 0.24 0.34 0.30 0.10 0.00 0.00 0.00 0.00 0.05 0.37 0.53 0.46 0.24 0.00 0.00 0.00 0.24 0.56 0.83 0.98 1.02 0.99 0.96 0.97 0.98 0.93 0.78 0.51 0.20 0.00 0.00 0.01 0.25 0.46 0.50 0.32 0.00 0.00 0.00 0.00 0.00 0.07 0.24 0.23 0.10 0.00 0.00 0.00 0.15 0.30 0.36 0.35 0.33 0.42 0.69 1.12 1.61 2.01 2.18 2.08 1.76 1.34 0.99 0.78 0.72 0.75 0.74 0.63 0.43 0.22 0.10 0.12 0.24 0.34 0.30 0.10 0.00 0.00 0.00 0.00 0.05 0.37 0.53 0.46 0.24 0.00 0.00 0.00 0.24 0.56 0.83 0.98 1.02 0.99 0.96 0.97 0.98 0.93 0.78 0.51 0.20 0.00 0.00 0.01 0.25 0.46 0.50 0.32 0.00 0.00 0.00 0.00 0.00 0.07 0.24 0.23 0.10 0.00 0.00 0.00 0.15 0.30 0.36 0.35 0.33 0.42 0.69 1.12 1.61 2.01 20.0 + 22.5 2.23 2.40 2.28 1.95 1.54 1.19 1.00 0.97 1.01 0.99 0.86 0.64 0.41 0.30 0.34 0.50 0.64 0.64 0.46 0.18 0.00 0.00 0.12 0.46 0.78 0.91 0.82 0.57 0.32 0.21 0.31 0.57 0.89 1.14 1.28 1.29 1.26 1.23 1.24 1.26 1.23 1.09 0.83 0.53 0.30 0.24 0.38 0.64 0.88 0.95 0.78 0.45 0.12 0.00 0.02 0.26 0.53 0.67 0.61 0.42 0.23 0.15 0.23 0.41 0.57 0.63 0.60 0.56 0.64 0.90 1.34 1.84 2.23 2.40 2.28 1.95 1.54 1.19 1.00 0.97 1.01 0.99 0.86 0.64 0.41 0.30 0.34 0.50 0.64 0.64 0.46 0.18 0.00 0.00 0.12 0.46 0.78 0.91 0.82 0.57 0.32 0.21 0.31 0.57 0.89 1.14 1.28 1.29 1.26 1.23 1.24 1.26 1.23 1.09 0.83 0.53 0.30 0.24 0.38 0.64 0.88 0.95 0.78 0.45 0.12 0.00 0.02 0.26 0.53 0.67 0.61 0.42 0.23 0.15 0.23 0.41 0.57 0.63 0.60 0.56 0.64 0.90 1.34 1.84 2.23 22.5 + 25.0 2.45 2.61 2.48 2.14 1.73 1.40 1.25 1.24 1.28 1.25 1.10 0.85 0.62 0.53 0.63 0.83 0.99 0.99 0.79 0.49 0.25 0.22 0.41 0.74 1.02 1.11 0.97 0.69 0.43 0.33 0.44 0.70 1.01 1.26 1.38 1.39 1.35 1.33 1.34 1.37 1.34 1.21 0.96 0.67 0.45 0.39 0.55 0.84 1.12 1.22 1.09 0.79 0.48 0.33 0.42 0.69 0.97 1.10 1.02 0.79 0.54 0.43 0.50 0.68 0.86 0.93 0.90 0.85 0.90 1.15 1.57 2.06 2.45 2.61 2.48 2.14 1.73 1.40 1.25 1.24 1.28 1.25 1.10 0.85 0.62 0.53 0.63 0.83 0.99 0.99 0.79 0.49 0.25 0.22 0.41 0.74 1.02 1.11 0.97 0.69 0.43 0.33 0.44 0.70 1.01 1.26 1.38 1.39 1.35 1.33 1.34 1.37 1.34 1.21 0.96 0.67 0.45 0.39 0.55 0.84 1.12 1.22 1.09 0.79 0.48 0.33 0.42 0.69 0.97 1.10 1.02 0.79 0.54 0.43 0.50 0.68 0.86 0.93 0.90 0.85 0.90 1.15 1.57 2.06 2.45 25.0 + 27.5 2.51 2.64 2.50 2.17 1.78 1.50 1.40 1.44 1.50 1.47 1.30 1.05 0.85 0.81 0.95 1.18 1.33 1.28 1.01 0.63 0.33 0.26 0.42 0.71 0.94 0.98 0.79 0.49 0.23 0.14 0.26 0.53 0.82 1.05 1.15 1.15 1.12 1.10 1.12 1.15 1.13 1.01 0.77 0.49 0.27 0.22 0.38 0.69 0.99 1.13 1.05 0.78 0.51 0.40 0.54 0.87 1.21 1.40 1.34 1.10 0.83 0.69 0.74 0.92 1.11 1.19 1.15 1.07 1.08 1.29 1.67 2.14 2.51 2.64 2.50 2.17 1.78 1.50 1.40 1.44 1.50 1.47 1.30 1.05 0.85 0.81 0.95 1.18 1.33 1.28 1.01 0.63 0.33 0.26 0.42 0.71 0.94 0.98 0.79 0.49 0.23 0.14 0.26 0.53 0.82 1.05 1.15 1.15 1.12 1.10 1.12 1.15 1.13 1.01 0.77 0.49 0.27 0.22 0.38 0.69 0.99 1.13 1.05 0.78 0.51 0.40 0.54 0.87 1.21 1.40 1.34 1.10 0.83 0.69 0.74 0.92 1.11 1.19 1.15 1.07 1.08 1.29 1.67 2.14 2.51 27.5 + 30.0 2.33 2.44 2.30 1.97 1.63 1.42 1.39 1.51 1.62 1.61 1.46 1.23 1.09 1.12 1.32 1.57 1.67 1.51 1.09 0.58 0.18 0.04 0.17 0.42 0.60 0.58 0.36 0.04 0.00 0.00 0.00 0.13 0.40 0.59 0.65 0.63 0.59 0.57 0.59 0.64 0.63 0.53 0.32 0.05 0.00 0.00 0.00 0.23 0.54 0.71 0.65 0.42 0.18 0.12 0.34 0.77 1.23 1.53 1.55 1.34 1.06 0.90 0.92 1.10 1.29 1.37 1.30 1.17 1.11 1.24 1.57 1.99 2.33 2.44 2.30 1.97 1.63 1.42 1.39 1.51 1.62 1.61 1.46 1.23 1.09 1.12 1.32 1.57 1.67 1.51 1.09 0.58 0.18 0.04 0.17 0.42 0.60 0.58 0.36 0.04 0.00 0.00 0.00 0.13 0.40 0.59 0.65 0.63 0.59 0.57 0.59 0.64 0.63 0.53 0.32 0.05 0.00 0.00 0.00 0.23 0.54 0.71 0.65 0.42 0.18 0.12 0.34 0.77 1.23 1.53 1.55 1.34 1.06 0.90 0.92 1.10 1.29 1.37 1.30 1.17 1.11 1.24 1.57 1.99 2.33 30.0 + 32.5 1.98 2.08 1.92 1.60 1.30 1.15 1.22 1.42 1.61 1.66 1.56 1.41 1.36 1.50 1.78 2.03 2.06 1.75 1.15 0.47 0.00 0.00 0.00 0.08 0.23 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.13 0.07 0.00 0.00 0.00 0.07 0.09 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.18 0.13 0.00 0.00 0.00 0.00 0.52 1.15 1.60 1.73 1.58 1.30 1.09 1.08 1.22 1.39 1.44 1.32 1.12 0.98 1.03 1.30 1.67 1.98 2.08 1.92 1.60 1.30 1.15 1.22 1.42 1.61 1.66 1.56 1.41 1.36 1.50 1.78 2.03 2.06 1.75 1.15 0.47 0.00 0.00 0.00 0.08 0.23 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.12 0.13 0.07 0.00 0.00 0.00 0.07 0.09 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.18 0.13 0.00 0.00 0.00 0.00 0.52 1.15 1.60 1.73 1.58 1.30 1.09 1.08 1.22 1.39 1.44 1.32 1.12 0.98 1.03 1.30 1.67 1.98 32.5 + 35.0 1.61 1.69 1.52 1.19 0.90 0.81 0.95 1.23 1.50 1.63 1.61 1.58 1.66 1.93 2.31 2.59 2.55 2.09 1.32 0.48 0.00 0.00 0.00 0.00 0.09 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.37 1.15 1.76 2.00 1.89 1.59 1.32 1.23 1.30 1.41 1.41 1.23 0.96 0.74 0.74 0.96 1.32 1.61 1.69 1.52 1.19 0.90 0.81 0.95 1.23 1.50 1.63 1.61 1.58 1.66 1.93 2.31 2.59 2.55 2.09 1.32 0.48 0.00 0.00 0.00 0.00 0.09 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.37 1.15 1.76 2.00 1.89 1.59 1.32 1.23 1.30 1.41 1.41 1.23 0.96 0.74 0.74 0.96 1.32 1.61 35.0 + 37.5 1.36 1.43 1.23 0.88 0.57 0.49 0.67 1.00 1.34 1.54 1.63 1.72 1.96 2.38 2.88 3.20 3.12 2.55 1.64 0.68 0.00 0.00 0.00 0.14 0.30 0.23 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.47 1.39 2.12 2.44 2.34 1.98 1.61 1.40 1.37 1.39 1.32 1.08 0.75 0.50 0.47 0.69 1.06 1.36 1.43 1.23 0.88 0.57 0.49 0.67 1.00 1.34 1.54 1.63 1.72 1.96 2.38 2.88 3.20 3.12 2.55 1.64 0.68 0.00 0.00 0.00 0.14 0.30 0.23 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.47 1.39 2.12 2.44 2.34 1.98 1.61 1.40 1.37 1.39 1.32 1.08 0.75 0.50 0.47 0.69 1.06 1.36 37.5 + 40.0 1.26 1.33 1.10 0.71 0.36 0.26 0.44 0.80 1.18 1.45 1.62 1.82 2.19 2.76 3.36 3.73 3.63 3.00 2.00 0.99 0.29 0.07 0.24 0.55 0.75 0.69 0.43 0.13 0.00 0.06 0.29 0.54 0.67 0.61 0.40 0.13 0.00 0.00 0.00 0.16 0.36 0.45 0.36 0.12 0.00 0.00 0.00 0.00 0.22 0.36 0.24 0.00 0.00 0.00 0.01 0.85 1.85 2.66 3.02 2.90 2.45 1.95 1.60 1.44 1.37 1.22 0.93 0.57 0.30 0.28 0.53 0.93 1.26 1.33 1.10 0.71 0.36 0.26 0.44 0.80 1.18 1.45 1.62 1.82 2.19 2.76 3.36 3.73 3.63 3.00 2.00 0.99 0.29 0.07 0.24 0.55 0.75 0.69 0.43 0.13 0.00 0.06 0.29 0.54 0.67 0.61 0.40 0.13 0.00 0.00 0.00 0.16 0.36 0.45 0.36 0.12 0.00 0.00 0.00 0.00 0.22 0.36 0.24 0.00 0.00 0.00 0.01 0.85 1.85 2.66 3.02 2.90 2.45 1.95 1.60 1.44 1.37 1.22 0.93 0.57 0.30 0.28 0.53 0.93 1.26 40.0 + 42.5 1.27 1.34 1.09 0.66 0.27 0.14 0.31 0.67 1.06 1.36 1.58 1.85 2.30 2.95 3.62 4.03 3.93 3.26 2.24 1.21 0.52 0.34 0.56 0.92 1.15 1.10 0.85 0.56 0.43 0.53 0.78 1.04 1.16 1.07 0.82 0.53 0.31 0.25 0.37 0.62 0.87 1.00 0.94 0.71 0.42 0.23 0.26 0.48 0.76 0.90 0.77 0.42 0.07 0.03 0.47 1.34 2.39 3.24 3.60 3.43 2.89 2.27 1.80 1.53 1.37 1.16 0.83 0.45 0.18 0.19 0.48 0.92 1.27 1.34 1.09 0.66 0.27 0.14 0.31 0.67 1.06 1.36 1.58 1.85 2.30 2.95 3.62 4.03 3.93 3.26 2.24 1.21 0.52 0.34 0.56 0.92 1.15 1.10 0.85 0.56 0.43 0.53 0.78 1.04 1.16 1.07 0.82 0.53 0.31 0.25 0.37 0.62 0.87 1.00 0.94 0.71 0.42 0.23 0.26 0.48 0.76 0.90 0.77 0.42 0.07 0.03 0.47 1.34 2.39 3.24 3.60 3.43 2.89 2.27 1.80 1.53 1.37 1.16 0.83 0.45 0.18 0.19 0.48 0.92 1.27 42.5 + 45.0 1.29 1.36 1.10 0.66 0.26 0.12 0.28 0.63 1.02 1.31 1.53 1.80 2.26 2.91 3.58 3.98 3.87 3.20 2.17 1.15 0.49 0.34 0.59 0.98 1.22 1.18 0.93 0.66 0.54 0.65 0.91 1.18 1.30 1.22 0.97 0.68 0.47 0.43 0.57 0.85 1.13 1.29 1.25 1.03 0.75 0.55 0.58 0.81 1.09 1.23 1.10 0.75 0.40 0.36 0.81 1.72 2.79 3.65 4.00 3.79 3.20 2.51 1.96 1.62 1.40 1.15 0.80 0.41 0.15 0.17 0.48 0.93 1.29 1.36 1.10 0.66 0.26 0.12 0.28 0.63 1.02 1.31 1.53 1.80 2.26 2.91 3.58 3.98 3.87 3.20 2.17 1.15 0.49 0.34 0.59 0.98 1.22 1.18 0.93 0.66 0.54 0.65 0.91 1.18 1.30 1.22 0.97 0.68 0.47 0.43 0.57 0.85 1.13 1.29 1.25 1.03 0.75 0.55 0.58 0.81 1.09 1.23 1.10 0.75 0.40 0.36 0.81 1.72 2.79 3.65 4.00 3.79 3.20 2.51 1.96 1.62 1.40 1.15 0.80 0.41 0.15 0.17 0.48 0.93 1.29 45.0 + 47.5 1.29 1.36 1.11 0.68 0.30 0.17 0.33 0.69 1.05 1.31 1.47 1.68 2.06 2.64 3.24 3.59 3.46 2.79 1.79 0.80 0.16 0.02 0.27 0.65 0.89 0.85 0.61 0.34 0.22 0.33 0.60 0.87 1.01 0.95 0.74 0.48 0.30 0.28 0.44 0.72 1.00 1.17 1.13 0.92 0.64 0.47 0.50 0.74 1.04 1.19 1.07 0.74 0.43 0.42 0.91 1.83 2.90 3.75 4.09 3.88 3.28 2.59 2.04 1.70 1.48 1.22 0.86 0.47 0.20 0.20 0.50 0.94 1.29 1.36 1.11 0.68 0.30 0.17 0.33 0.69 1.05 1.31 1.47 1.68 2.06 2.64 3.24 3.59 3.46 2.79 1.79 0.80 0.16 0.02 0.27 0.65 0.89 0.85 0.61 0.34 0.22 0.33 0.60 0.87 1.01 0.95 0.74 0.48 0.30 0.28 0.44 0.72 1.00 1.17 1.13 0.92 0.64 0.47 0.50 0.74 1.04 1.19 1.07 0.74 0.43 0.42 0.91 1.83 2.90 3.75 4.09 3.88 3.28 2.59 2.04 1.70 1.48 1.22 0.86 0.47 0.20 0.20 0.50 0.94 1.29 47.5 + 50.0 1.30 1.36 1.13 0.73 0.39 0.29 0.47 0.81 1.15 1.35 1.43 1.53 1.78 2.23 2.72 3.00 2.85 2.21 1.26 0.32 0.00 0.00 0.00 0.12 0.34 0.30 0.06 0.00 0.00 0.00 0.00 0.28 0.44 0.43 0.27 0.07 0.00 0.00 0.07 0.33 0.58 0.72 0.67 0.46 0.20 0.05 0.10 0.36 0.66 0.83 0.74 0.45 0.19 0.24 0.75 1.67 2.72 3.54 3.87 3.66 3.11 2.50 2.03 1.75 1.58 1.35 1.01 0.62 0.34 0.32 0.58 0.98 1.30 1.36 1.13 0.73 0.39 0.29 0.47 0.81 1.15 1.35 1.43 1.53 1.78 2.23 2.72 3.00 2.85 2.21 1.26 0.32 0.00 0.00 0.00 0.12 0.34 0.30 0.06 0.00 0.00 0.00 0.00 0.28 0.44 0.43 0.27 0.07 0.00 0.00 0.07 0.33 0.58 0.72 0.67 0.46 0.20 0.05 0.10 0.36 0.66 0.83 0.74 0.45 0.19 0.24 0.75 1.67 2.72 3.54 3.87 3.66 3.11 2.50 2.03 1.75 1.58 1.35 1.01 0.62 0.34 0.32 0.58 0.98 1.30 50.0 + 52.5 1.41 1.46 1.24 0.87 0.57 0.49 0.66 0.98 1.27 1.40 1.40 1.37 1.49 1.79 2.17 2.40 2.26 1.69 0.82 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.22 0.14 0.00 0.00 0.00 0.00 0.00 0.23 0.41 0.34 0.10 0.00 0.00 0.52 1.40 2.38 3.12 3.41 3.23 2.76 2.26 1.92 1.76 1.68 1.52 1.22 0.85 0.59 0.55 0.78 1.13 1.41 1.46 1.24 0.87 0.57 0.49 0.66 0.98 1.27 1.40 1.40 1.37 1.49 1.79 2.17 2.40 2.26 1.69 0.82 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.22 0.14 0.00 0.00 0.00 0.00 0.00 0.23 0.41 0.34 0.10 0.00 0.00 0.52 1.40 2.38 3.12 3.41 3.23 2.76 2.26 1.92 1.76 1.68 1.52 1.22 0.85 0.59 0.55 0.78 1.13 1.41 52.5 + 55.0 1.67 1.70 1.48 1.12 0.82 0.72 0.86 1.13 1.37 1.44 1.36 1.24 1.24 1.43 1.73 1.94 1.85 1.39 0.67 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.19 0.14 0.00 0.00 0.00 0.37 1.16 2.01 2.63 2.85 2.67 2.30 1.94 1.75 1.73 1.75 1.67 1.44 1.13 0.91 0.89 1.10 1.42 1.67 1.70 1.48 1.12 0.82 0.72 0.86 1.13 1.37 1.44 1.36 1.24 1.24 1.43 1.73 1.94 1.85 1.39 0.67 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.19 0.14 0.00 0.00 0.00 0.37 1.16 2.01 2.63 2.85 2.67 2.30 1.94 1.75 1.73 1.75 1.67 1.44 1.13 0.91 0.89 1.10 1.42 1.67 55.0 + 57.5 2.03 2.03 1.79 1.42 1.08 0.94 1.01 1.21 1.39 1.42 1.29 1.12 1.05 1.18 1.44 1.67 1.67 1.36 0.79 0.19 0.00 0.00 0.00 0.08 0.21 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.09 0.04 0.00 0.00 0.05 0.13 0.17 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.30 0.23 0.03 0.00 0.00 0.37 1.03 1.71 2.17 2.29 2.11 1.81 1.58 1.54 1.65 1.77 1.77 1.62 1.39 1.23 1.27 1.49 1.81 2.03 2.03 1.79 1.42 1.08 0.94 1.01 1.21 1.39 1.42 1.29 1.12 1.05 1.18 1.44 1.67 1.67 1.36 0.79 0.19 0.00 0.00 0.00 0.08 0.21 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.09 0.04 0.00 0.00 0.05 0.13 0.17 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.30 0.23 0.03 0.00 0.00 0.37 1.03 1.71 2.17 2.29 2.11 1.81 1.58 1.54 1.65 1.77 1.77 1.62 1.39 1.23 1.27 1.49 1.81 2.03 57.5 + 60.0 2.37 2.34 2.07 1.65 1.26 1.04 1.03 1.17 1.29 1.30 1.16 0.98 0.89 0.99 1.24 1.51 1.61 1.43 1.02 0.56 0.25 0.20 0.38 0.63 0.77 0.68 0.41 0.08 0.00 0.00 0.00 0.23 0.46 0.60 0.64 0.61 0.58 0.58 0.62 0.66 0.63 0.50 0.25 0.00 0.00 0.00 0.00 0.23 0.51 0.62 0.52 0.29 0.11 0.15 0.46 0.97 1.47 1.76 1.78 1.59 1.35 1.24 1.32 1.52 1.71 1.77 1.69 1.55 1.48 1.58 1.85 2.16 2.37 2.34 2.07 1.65 1.26 1.04 1.03 1.17 1.29 1.30 1.16 0.98 0.89 0.99 1.24 1.51 1.61 1.43 1.02 0.56 0.25 0.20 0.38 0.63 0.77 0.68 0.41 0.08 0.00 0.00 0.00 0.23 0.46 0.60 0.64 0.61 0.58 0.58 0.62 0.66 0.63 0.50 0.25 0.00 0.00 0.00 0.00 0.23 0.51 0.62 0.52 0.29 0.11 0.15 0.46 0.97 1.47 1.76 1.78 1.59 1.35 1.24 1.32 1.52 1.71 1.77 1.69 1.55 1.48 1.58 1.85 2.16 2.37 60.0 + 62.5 2.55 2.48 2.17 1.70 1.26 0.97 0.90 0.98 1.07 1.07 0.94 0.77 0.69 0.78 1.03 1.32 1.48 1.40 1.10 0.75 0.53 0.54 0.76 1.04 1.19 1.13 0.87 0.54 0.31 0.27 0.43 0.69 0.93 1.09 1.14 1.12 1.10 1.11 1.14 1.16 1.10 0.91 0.63 0.34 0.15 0.15 0.35 0.64 0.87 0.93 0.77 0.49 0.27 0.26 0.50 0.88 1.23 1.39 1.33 1.14 0.97 0.95 1.11 1.37 1.59 1.68 1.64 1.56 1.57 1.73 2.04 2.36 2.55 2.48 2.17 1.70 1.26 0.97 0.90 0.98 1.07 1.07 0.94 0.77 0.69 0.78 1.03 1.32 1.48 1.40 1.10 0.75 0.53 0.54 0.76 1.04 1.19 1.13 0.87 0.54 0.31 0.27 0.43 0.69 0.93 1.09 1.14 1.12 1.10 1.11 1.14 1.16 1.10 0.91 0.63 0.34 0.15 0.15 0.35 0.64 0.87 0.93 0.77 0.49 0.27 0.26 0.50 0.88 1.23 1.39 1.33 1.14 0.97 0.95 1.11 1.37 1.59 1.68 1.64 1.56 1.57 1.73 2.04 2.36 2.55 62.5 + 65.0 2.50 2.40 2.05 1.55 1.07 0.75 0.63 0.67 0.75 0.75 0.65 0.50 0.42 0.50 0.74 1.01 1.18 1.13 0.89 0.61 0.44 0.50 0.76 1.07 1.26 1.22 0.99 0.69 0.47 0.45 0.61 0.88 1.14 1.30 1.36 1.35 1.33 1.35 1.40 1.41 1.32 1.11 0.81 0.51 0.33 0.35 0.56 0.83 1.02 1.01 0.79 0.47 0.23 0.19 0.38 0.68 0.94 1.04 0.95 0.77 0.66 0.71 0.92 1.20 1.42 1.50 1.48 1.44 1.50 1.71 2.03 2.35 2.50 2.40 2.05 1.55 1.07 0.75 0.63 0.67 0.75 0.75 0.65 0.50 0.42 0.50 0.74 1.01 1.18 1.13 0.89 0.61 0.44 0.50 0.76 1.07 1.26 1.22 0.99 0.69 0.47 0.45 0.61 0.88 1.14 1.30 1.36 1.35 1.33 1.35 1.40 1.41 1.32 1.11 0.81 0.51 0.33 0.35 0.56 0.83 1.02 1.01 0.79 0.47 0.23 0.19 0.38 0.68 0.94 1.04 0.95 0.77 0.66 0.71 0.92 1.20 1.42 1.50 1.48 1.44 1.50 1.71 2.03 2.35 2.50 65.0 + 67.5 2.31 2.17 1.79 1.27 0.78 0.45 0.31 0.33 0.40 0.41 0.32 0.18 0.11 0.18 0.37 0.60 0.73 0.66 0.43 0.17 0.03 0.12 0.40 0.74 0.96 0.96 0.76 0.49 0.30 0.30 0.48 0.76 1.02 1.19 1.25 1.25 1.25 1.28 1.33 1.34 1.23 1.00 0.69 0.39 0.24 0.28 0.48 0.74 0.88 0.82 0.56 0.22 0.00 0.00 0.13 0.41 0.65 0.73 0.65 0.51 0.45 0.55 0.78 1.05 1.24 1.30 1.28 1.26 1.34 1.58 1.90 2.19 2.31 2.17 1.79 1.27 0.78 0.45 0.31 0.33 0.40 0.41 0.32 0.18 0.11 0.18 0.37 0.60 0.73 0.66 0.43 0.17 0.03 0.12 0.40 0.74 0.96 0.96 0.76 0.49 0.30 0.30 0.48 0.76 1.02 1.19 1.25 1.25 1.25 1.28 1.33 1.34 1.23 1.00 0.69 0.39 0.24 0.28 0.48 0.74 0.88 0.82 0.56 0.22 0.00 0.00 0.13 0.41 0.65 0.73 0.65 0.51 0.45 0.55 0.78 1.05 1.24 1.30 1.28 1.26 1.34 1.58 1.90 2.19 2.31 67.5 + 70.0 2.11 1.94 1.54 1.02 0.54 0.20 0.06 0.06 0.10 0.10 0.01 0.00 0.00 0.00 0.03 0.20 0.27 0.17 0.00 0.00 0.00 0.00 0.00 0.28 0.51 0.53 0.35 0.12 0.00 0.00 0.17 0.46 0.73 0.91 0.99 1.00 1.01 1.05 1.10 1.09 0.97 0.72 0.40 0.11 0.00 0.02 0.23 0.47 0.59 0.50 0.23 0.00 0.00 0.00 0.00 0.18 0.42 0.51 0.46 0.37 0.34 0.45 0.68 0.92 1.09 1.13 1.11 1.11 1.22 1.47 1.78 2.04 2.11 1.94 1.54 1.02 0.54 0.20 0.06 0.06 0.10 0.10 0.01 0.00 0.00 0.00 0.03 0.20 0.27 0.17 0.00 0.00 0.00 0.00 0.00 0.28 0.51 0.53 0.35 0.12 0.00 0.00 0.17 0.46 0.73 0.91 0.99 1.00 1.01 1.05 1.10 1.09 0.97 0.72 0.40 0.11 0.00 0.02 0.23 0.47 0.59 0.50 0.23 0.00 0.00 0.00 0.00 0.18 0.42 0.51 0.46 0.37 0.34 0.45 0.68 0.92 1.09 1.13 1.11 1.11 1.22 1.47 1.78 2.04 2.11 70.0 + 72.5 2.07 1.86 1.44 0.93 0.45 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.17 0.01 0.00 0.00 0.00 0.00 0.21 0.49 0.68 0.78 0.82 0.86 0.90 0.93 0.89 0.74 0.47 0.14 0.00 0.00 0.00 0.01 0.23 0.34 0.25 0.00 0.00 0.00 0.00 0.00 0.07 0.32 0.43 0.41 0.33 0.32 0.42 0.62 0.83 0.98 1.03 1.04 1.08 1.23 1.50 1.80 2.03 2.07 1.86 1.44 0.93 0.45 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.17 0.01 0.00 0.00 0.00 0.00 0.21 0.49 0.68 0.78 0.82 0.86 0.90 0.93 0.89 0.74 0.47 0.14 0.00 0.00 0.00 0.01 0.23 0.34 0.25 0.00 0.00 0.00 0.00 0.00 0.07 0.32 0.43 0.41 0.33 0.32 0.42 0.62 0.83 0.98 1.03 1.04 1.08 1.23 1.50 1.80 2.03 2.07 72.5 + 75.0 2.20 1.97 1.55 1.05 0.58 0.23 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.06 0.00 0.00 0.00 0.00 0.00 0.16 0.44 0.66 0.79 0.88 0.94 0.99 1.00 0.92 0.73 0.44 0.11 0.00 0.00 0.00 0.00 0.17 0.27 0.21 0.00 0.00 0.00 0.00 0.00 0.10 0.34 0.46 0.45 0.38 0.35 0.42 0.59 0.77 0.92 1.01 1.07 1.18 1.38 1.68 1.98 2.19 2.20 1.97 1.55 1.05 0.58 0.23 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.06 0.00 0.00 0.00 0.00 0.00 0.16 0.44 0.66 0.79 0.88 0.94 0.99 1.00 0.92 0.73 0.44 0.11 0.00 0.00 0.00 0.00 0.17 0.27 0.21 0.00 0.00 0.00 0.00 0.00 0.10 0.34 0.46 0.45 0.38 0.35 0.42 0.59 0.77 0.92 1.01 1.07 1.18 1.38 1.68 1.98 2.19 2.20 75.0 + 77.5 2.43 2.20 1.79 1.30 0.84 0.48 0.24 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.23 0.17 0.00 0.00 0.00 0.00 0.04 0.33 0.61 0.85 1.04 1.17 1.26 1.31 1.29 1.17 0.95 0.65 0.33 0.07 0.00 0.00 0.12 0.29 0.38 0.34 0.17 0.00 0.00 0.00 0.00 0.18 0.39 0.51 0.50 0.44 0.40 0.44 0.56 0.73 0.90 1.03 1.17 1.35 1.61 1.93 2.24 2.44 2.43 2.20 1.79 1.30 0.84 0.48 0.24 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.23 0.17 0.00 0.00 0.00 0.00 0.04 0.33 0.61 0.85 1.04 1.17 1.26 1.31 1.29 1.17 0.95 0.65 0.33 0.07 0.00 0.00 0.12 0.29 0.38 0.34 0.17 0.00 0.00 0.00 0.00 0.18 0.39 0.51 0.50 0.44 0.40 0.44 0.56 0.73 0.90 1.03 1.17 1.35 1.61 1.93 2.24 2.44 2.43 77.5 + 80.0 2.61 2.39 2.01 1.55 1.11 0.76 0.49 0.30 0.14 0.01 0.00 0.00 0.00 0.08 0.20 0.26 0.22 0.10 0.00 0.00 0.00 0.09 0.28 0.42 0.44 0.35 0.19 0.06 0.03 0.13 0.33 0.60 0.89 1.15 1.38 1.56 1.68 1.73 1.68 1.53 1.29 0.99 0.68 0.43 0.29 0.27 0.35 0.46 0.54 0.50 0.36 0.16 0.00 0.00 0.02 0.19 0.37 0.49 0.51 0.47 0.43 0.45 0.54 0.70 0.88 1.06 1.26 1.50 1.79 2.13 2.43 2.61 2.61 2.39 2.01 1.55 1.11 0.76 0.49 0.30 0.14 0.01 0.00 0.00 0.00 0.08 0.20 0.26 0.22 0.10 0.00 0.00 0.00 0.09 0.28 0.42 0.44 0.35 0.19 0.06 0.03 0.13 0.33 0.60 0.89 1.15 1.38 1.56 1.68 1.73 1.68 1.53 1.29 0.99 0.68 0.43 0.29 0.27 0.35 0.46 0.54 0.50 0.36 0.16 0.00 0.00 0.02 0.19 0.37 0.49 0.51 0.47 0.43 0.45 0.54 0.70 0.88 1.06 1.26 1.50 1.79 2.13 2.43 2.61 2.61 80.0 + 82.5 2.62 2.43 2.10 1.71 1.32 0.98 0.72 0.50 0.32 0.18 0.10 0.10 0.18 0.28 0.36 0.35 0.27 0.14 0.04 0.03 0.13 0.31 0.48 0.57 0.55 0.45 0.33 0.26 0.29 0.41 0.62 0.87 1.15 1.43 1.69 1.90 2.03 2.07 1.99 1.82 1.57 1.29 1.00 0.76 0.59 0.51 0.52 0.57 0.60 0.57 0.44 0.25 0.06 0.00 0.00 0.06 0.23 0.37 0.44 0.45 0.43 0.44 0.52 0.66 0.85 1.06 1.30 1.56 1.86 2.18 2.46 2.62 2.62 2.43 2.10 1.71 1.32 0.98 0.72 0.50 0.32 0.18 0.10 0.10 0.18 0.28 0.36 0.35 0.27 0.14 0.04 0.03 0.13 0.31 0.48 0.57 0.55 0.45 0.33 0.26 0.29 0.41 0.62 0.87 1.15 1.43 1.69 1.90 2.03 2.07 1.99 1.82 1.57 1.29 1.00 0.76 0.59 0.51 0.52 0.57 0.60 0.57 0.44 0.25 0.06 0.00 0.00 0.06 0.23 0.37 0.44 0.45 0.43 0.44 0.52 0.66 0.85 1.06 1.30 1.56 1.86 2.18 2.46 2.62 2.62 82.5 + 85.0 2.48 2.33 2.07 1.74 1.42 1.13 0.88 0.66 0.47 0.33 0.26 0.27 0.33 0.39 0.39 0.31 0.15 0.00 0.00 0.00 0.10 0.30 0.46 0.53 0.51 0.44 0.38 0.38 0.46 0.62 0.83 1.07 1.33 1.61 1.88 2.10 2.23 2.24 2.14 1.95 1.70 1.44 1.18 0.94 0.75 0.61 0.55 0.53 0.53 0.50 0.38 0.19 0.00 0.00 0.00 0.00 0.01 0.20 0.34 0.40 0.42 0.43 0.50 0.62 0.81 1.02 1.26 1.52 1.80 2.08 2.32 2.47 2.48 2.33 2.07 1.74 1.42 1.13 0.88 0.66 0.47 0.33 0.26 0.27 0.33 0.39 0.39 0.31 0.15 0.00 0.00 0.00 0.10 0.30 0.46 0.53 0.51 0.44 0.38 0.38 0.46 0.62 0.83 1.07 1.33 1.61 1.88 2.10 2.23 2.24 2.14 1.95 1.70 1.44 1.18 0.94 0.75 0.61 0.55 0.53 0.53 0.50 0.38 0.19 0.00 0.00 0.00 0.00 0.01 0.20 0.34 0.40 0.42 0.43 0.50 0.62 0.81 1.02 1.26 1.52 1.80 2.08 2.32 2.47 2.48 85.0 + 87.5 2.30 2.20 2.00 1.74 1.47 1.22 0.99 0.78 0.59 0.45 0.37 0.37 0.40 0.41 0.34 0.17 0.00 0.00 0.00 0.00 0.00 0.16 0.33 0.41 0.40 0.37 0.37 0.44 0.58 0.77 0.98 1.21 1.46 1.73 1.99 2.19 2.30 2.28 2.14 1.92 1.67 1.43 1.19 0.96 0.76 0.59 0.47 0.43 0.41 0.38 0.27 0.08 0.00 0.00 0.00 0.00 0.00 0.07 0.26 0.37 0.41 0.42 0.47 0.58 0.75 0.95 1.18 1.42 1.66 1.91 2.13 2.27 2.30 2.20 2.00 1.74 1.47 1.22 0.99 0.78 0.59 0.45 0.37 0.37 0.40 0.41 0.34 0.17 0.00 0.00 0.00 0.00 0.00 0.16 0.33 0.41 0.40 0.37 0.37 0.44 0.58 0.77 0.98 1.21 1.46 1.73 1.99 2.19 2.30 2.28 2.14 1.92 1.67 1.43 1.19 0.96 0.76 0.59 0.47 0.43 0.41 0.38 0.27 0.08 0.00 0.00 0.00 0.00 0.00 0.07 0.26 0.37 0.41 0.42 0.47 0.58 0.75 0.95 1.18 1.42 1.66 1.91 2.13 2.27 2.30 87.5 + 90.0 2.22 2.16 2.00 1.78 1.54 1.31 1.08 0.87 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.10 1.33 1.57 1.83 2.07 2.24 2.31 2.24 2.07 1.83 1.57 1.33 1.10 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.87 1.08 1.31 1.54 1.78 2.00 2.16 2.22 2.16 2.00 1.78 1.54 1.31 1.08 0.87 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.10 1.33 1.57 1.83 2.07 2.24 2.31 2.24 2.07 1.83 1.57 1.33 1.10 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.87 1.08 1.31 1.54 1.78 2.00 2.16 2.22 90.0 + + 90.0 DEGREE - PHI2-SECTION ( FMAX ABS = 3.88 FMAX-I = 3.88 ) PHI2 = 0. +------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0 87.5 90.0 92.5 95.0 97.5 100.0 102.5 105.0 107.5 110.0 112.5 115.0 117.5 120.0 122.5 125.0 127.5 130.0 132.5 135.0 137.5 140.0 142.5 145.0 147.5 150.0 152.5 155.0 157.5 160.0 162.5 165.0 167.5 170.0 172.5 175.0 177.5 180.0 182.5 185.0 187.5 190.0 192.5 195.0 197.5 200.0 202.5 205.0 207.5 210.0 212.5 215.0 217.5 220.0 222.5 225.0 227.5 230.0 232.5 235.0 237.5 240.0 242.5 245.0 247.5 250.0 252.5 255.0 257.5 260.0 262.5 265.0 267.5 270.0 272.5 275.0 277.5 280.0 282.5 285.0 287.5 290.0 292.5 295.0 297.5 300.0 302.5 305.0 307.5 310.0 312.5 315.0 317.5 320.0 322.5 325.0 327.5 330.0 332.5 335.0 337.5 340.0 342.5 345.0 347.5 350.0 352.5 355.0 357.5 360.0 ------- + + 0.0 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 0.0 + 2.5 2.31 2.24 2.07 1.83 1.57 1.33 1.10 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.87 1.08 1.31 1.54 1.78 2.00 2.16 2.22 2.16 2.00 1.78 1.54 1.31 1.08 0.87 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.10 1.33 1.57 1.83 2.07 2.24 2.31 2.24 2.07 1.83 1.57 1.33 1.10 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.87 1.08 1.31 1.54 1.78 2.00 2.16 2.22 2.16 2.00 1.78 1.54 1.31 1.08 0.87 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.10 1.33 1.57 1.83 2.07 2.24 2.31 2.5 + 5.0 2.47 2.40 2.18 1.89 1.58 1.30 1.05 0.82 0.60 0.42 0.30 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.45 0.48 0.44 0.42 0.46 0.56 0.74 0.96 1.21 1.46 1.71 1.94 2.09 2.14 2.09 1.94 1.71 1.46 1.21 0.96 0.74 0.56 0.46 0.42 0.44 0.48 0.45 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.30 0.42 0.60 0.82 1.05 1.30 1.58 1.89 2.18 2.40 2.47 2.40 2.18 1.89 1.58 1.30 1.05 0.82 0.60 0.42 0.30 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.45 0.48 0.44 0.42 0.46 0.56 0.74 0.96 1.21 1.46 1.71 1.94 2.09 2.14 2.09 1.94 1.71 1.46 1.21 0.96 0.74 0.56 0.46 0.42 0.44 0.48 0.45 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.30 0.42 0.60 0.82 1.05 1.30 1.58 1.89 2.18 2.40 2.47 5.0 + 7.5 2.60 2.50 2.24 1.89 1.53 1.20 0.93 0.70 0.49 0.31 0.17 0.12 0.14 0.20 0.23 0.19 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.46 0.40 0.32 0.28 0.33 0.49 0.72 0.99 1.27 1.53 1.75 1.88 1.93 1.88 1.75 1.53 1.27 0.99 0.72 0.49 0.33 0.28 0.32 0.40 0.46 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.19 0.23 0.20 0.14 0.12 0.17 0.31 0.49 0.70 0.93 1.20 1.53 1.89 2.24 2.50 2.60 2.50 2.24 1.89 1.53 1.20 0.93 0.70 0.49 0.31 0.17 0.12 0.14 0.20 0.23 0.19 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.46 0.40 0.32 0.28 0.33 0.49 0.72 0.99 1.27 1.53 1.75 1.88 1.93 1.88 1.75 1.53 1.27 0.99 0.72 0.49 0.33 0.28 0.32 0.40 0.46 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.19 0.23 0.20 0.14 0.12 0.17 0.31 0.49 0.70 0.93 1.20 1.53 1.89 2.24 2.50 2.60 7.5 + 10.0 2.57 2.46 2.17 1.77 1.36 1.02 0.76 0.55 0.37 0.19 0.05 0.00 0.00 0.06 0.15 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.33 0.25 0.11 0.01 0.00 0.13 0.37 0.67 0.97 1.23 1.42 1.53 1.57 1.53 1.42 1.23 0.97 0.67 0.37 0.13 0.00 0.01 0.11 0.25 0.33 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.17 0.15 0.06 0.00 0.00 0.05 0.19 0.37 0.55 0.76 1.02 1.36 1.77 2.17 2.46 2.57 2.46 2.17 1.77 1.36 1.02 0.76 0.55 0.37 0.19 0.05 0.00 0.00 0.06 0.15 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.33 0.25 0.11 0.01 0.00 0.13 0.37 0.67 0.97 1.23 1.42 1.53 1.57 1.53 1.42 1.23 0.97 0.67 0.37 0.13 0.00 0.01 0.11 0.25 0.33 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.17 0.15 0.06 0.00 0.00 0.05 0.19 0.37 0.55 0.76 1.02 1.36 1.77 2.17 2.46 2.57 10.0 + 12.5 2.40 2.28 1.96 1.53 1.11 0.78 0.56 0.41 0.28 0.13 0.00 0.00 0.00 0.00 0.02 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.03 0.34 0.65 0.89 1.05 1.13 1.15 1.13 1.05 0.89 0.65 0.34 0.03 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.02 0.00 0.00 0.00 0.00 0.13 0.28 0.41 0.56 0.78 1.11 1.53 1.96 2.28 2.40 2.28 1.96 1.53 1.11 0.78 0.56 0.41 0.28 0.13 0.00 0.00 0.00 0.00 0.02 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.03 0.34 0.65 0.89 1.05 1.13 1.15 1.13 1.05 0.89 0.65 0.34 0.03 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.02 0.00 0.00 0.00 0.00 0.13 0.28 0.41 0.56 0.78 1.11 1.53 1.96 2.28 2.40 12.5 + 15.0 2.19 2.07 1.73 1.29 0.87 0.58 0.42 0.34 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.47 0.68 0.79 0.83 0.84 0.83 0.79 0.68 0.47 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.34 0.42 0.58 0.87 1.29 1.73 2.07 2.19 2.07 1.73 1.29 0.87 0.58 0.42 0.34 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.47 0.68 0.79 0.83 0.84 0.83 0.79 0.68 0.47 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.34 0.42 0.58 0.87 1.29 1.73 2.07 2.19 15.0 + 17.5 2.10 1.96 1.61 1.17 0.76 0.50 0.39 0.37 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.24 0.53 0.70 0.77 0.78 0.77 0.78 0.77 0.70 0.53 0.24 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.37 0.39 0.50 0.76 1.17 1.61 1.96 2.10 1.96 1.61 1.17 0.76 0.50 0.39 0.37 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.24 0.53 0.70 0.77 0.78 0.77 0.78 0.77 0.70 0.53 0.24 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.37 0.39 0.50 0.76 1.17 1.61 1.96 2.10 17.5 + 20.0 2.19 2.05 1.69 1.24 0.84 0.59 0.52 0.54 0.55 0.46 0.28 0.09 0.00 0.02 0.15 0.27 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.34 0.51 0.46 0.24 0.00 0.00 0.00 0.22 0.53 0.80 0.95 0.99 0.97 0.96 0.97 0.99 0.95 0.80 0.53 0.22 0.00 0.00 0.00 0.24 0.46 0.51 0.34 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.27 0.15 0.02 0.00 0.09 0.28 0.46 0.55 0.54 0.52 0.59 0.84 1.24 1.69 2.05 2.19 2.05 1.69 1.24 0.84 0.59 0.52 0.54 0.55 0.46 0.28 0.09 0.00 0.02 0.15 0.27 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.34 0.51 0.46 0.24 0.00 0.00 0.00 0.22 0.53 0.80 0.95 0.99 0.97 0.96 0.97 0.99 0.95 0.80 0.53 0.22 0.00 0.00 0.00 0.24 0.46 0.51 0.34 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.27 0.15 0.02 0.00 0.09 0.28 0.46 0.55 0.54 0.52 0.59 0.84 1.24 1.69 2.05 2.19 20.0 + 22.5 2.42 2.28 1.91 1.45 1.05 0.82 0.77 0.80 0.81 0.71 0.52 0.31 0.22 0.28 0.45 0.62 0.65 0.49 0.21 0.00 0.00 0.12 0.46 0.78 0.93 0.85 0.61 0.34 0.22 0.30 0.55 0.86 1.12 1.25 1.28 1.24 1.22 1.24 1.28 1.25 1.12 0.86 0.55 0.30 0.22 0.34 0.61 0.85 0.93 0.78 0.46 0.12 0.00 0.00 0.21 0.49 0.65 0.62 0.45 0.28 0.22 0.31 0.52 0.71 0.81 0.80 0.77 0.82 1.05 1.45 1.91 2.28 2.42 2.28 1.91 1.45 1.05 0.82 0.77 0.80 0.81 0.71 0.52 0.31 0.22 0.28 0.45 0.62 0.65 0.49 0.21 0.00 0.00 0.12 0.46 0.78 0.93 0.85 0.61 0.34 0.22 0.30 0.55 0.86 1.12 1.25 1.28 1.24 1.22 1.24 1.28 1.25 1.12 0.86 0.55 0.30 0.22 0.34 0.61 0.85 0.93 0.78 0.46 0.12 0.00 0.00 0.21 0.49 0.65 0.62 0.45 0.28 0.22 0.31 0.52 0.71 0.81 0.80 0.77 0.82 1.05 1.45 1.91 2.28 2.42 22.5 + 25.0 2.64 2.50 2.12 1.67 1.28 1.08 1.05 1.09 1.09 0.97 0.76 0.55 0.47 0.57 0.80 1.00 1.04 0.87 0.58 0.33 0.27 0.44 0.76 1.06 1.17 1.04 0.77 0.49 0.36 0.44 0.68 0.99 1.23 1.36 1.38 1.34 1.32 1.34 1.38 1.36 1.23 0.99 0.68 0.44 0.36 0.49 0.77 1.04 1.17 1.06 0.76 0.44 0.27 0.33 0.58 0.87 1.04 1.00 0.80 0.57 0.47 0.55 0.76 0.97 1.09 1.09 1.05 1.08 1.28 1.67 2.12 2.50 2.64 2.50 2.12 1.67 1.28 1.08 1.05 1.09 1.09 0.97 0.76 0.55 0.47 0.57 0.80 1.00 1.04 0.87 0.58 0.33 0.27 0.44 0.76 1.06 1.17 1.04 0.77 0.49 0.36 0.44 0.68 0.99 1.23 1.36 1.38 1.34 1.32 1.34 1.38 1.36 1.23 0.99 0.68 0.44 0.36 0.49 0.77 1.04 1.17 1.06 0.76 0.44 0.27 0.33 0.58 0.87 1.04 1.00 0.80 0.57 0.47 0.55 0.76 0.97 1.09 1.09 1.05 1.08 1.28 1.67 2.12 2.50 2.64 25.0 + 27.5 2.67 2.53 2.17 1.74 1.40 1.24 1.26 1.33 1.33 1.20 0.97 0.77 0.72 0.87 1.12 1.32 1.33 1.09 0.73 0.42 0.31 0.45 0.74 0.99 1.05 0.89 0.58 0.29 0.17 0.25 0.50 0.79 1.02 1.14 1.15 1.11 1.09 1.11 1.15 1.14 1.02 0.79 0.50 0.25 0.17 0.29 0.58 0.89 1.05 0.99 0.74 0.45 0.31 0.42 0.73 1.09 1.33 1.32 1.12 0.87 0.72 0.77 0.97 1.20 1.33 1.33 1.26 1.24 1.40 1.74 2.17 2.53 2.67 2.53 2.17 1.74 1.40 1.24 1.26 1.33 1.33 1.20 0.97 0.77 0.72 0.87 1.12 1.32 1.33 1.09 0.73 0.42 0.31 0.45 0.74 0.99 1.05 0.89 0.58 0.29 0.17 0.25 0.50 0.79 1.02 1.14 1.15 1.11 1.09 1.11 1.15 1.14 1.02 0.79 0.50 0.25 0.17 0.29 0.58 0.89 1.05 0.99 0.74 0.45 0.31 0.42 0.73 1.09 1.33 1.32 1.12 0.87 0.72 0.77 0.97 1.20 1.33 1.33 1.26 1.24 1.40 1.74 2.17 2.53 2.67 27.5 + 30.0 2.47 2.33 1.99 1.60 1.32 1.24 1.33 1.45 1.47 1.35 1.13 0.96 0.97 1.15 1.42 1.58 1.49 1.13 0.64 0.22 0.04 0.14 0.39 0.61 0.63 0.43 0.11 0.00 0.00 0.00 0.07 0.34 0.55 0.63 0.62 0.58 0.55 0.58 0.62 0.63 0.55 0.34 0.07 0.00 0.00 0.00 0.11 0.43 0.63 0.61 0.39 0.14 0.04 0.22 0.64 1.13 1.49 1.58 1.42 1.15 0.97 0.96 1.13 1.35 1.47 1.45 1.33 1.24 1.32 1.60 1.99 2.33 2.47 2.33 1.99 1.60 1.32 1.24 1.33 1.45 1.47 1.35 1.13 0.96 0.97 1.15 1.42 1.58 1.49 1.13 0.64 0.22 0.04 0.14 0.39 0.61 0.63 0.43 0.11 0.00 0.00 0.00 0.07 0.34 0.55 0.63 0.62 0.58 0.55 0.58 0.62 0.63 0.55 0.34 0.07 0.00 0.00 0.00 0.11 0.43 0.63 0.61 0.39 0.14 0.04 0.22 0.64 1.13 1.49 1.58 1.42 1.15 0.97 0.96 1.13 1.35 1.47 1.45 1.33 1.24 1.32 1.60 1.99 2.33 2.47 30.0 + 32.5 2.08 1.95 1.63 1.28 1.07 1.07 1.24 1.43 1.51 1.43 1.26 1.15 1.23 1.48 1.75 1.85 1.63 1.10 0.44 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.44 1.10 1.63 1.85 1.75 1.48 1.23 1.15 1.26 1.43 1.51 1.43 1.24 1.07 1.07 1.28 1.63 1.95 2.08 1.95 1.63 1.28 1.07 1.07 1.24 1.43 1.51 1.43 1.26 1.15 1.23 1.48 1.75 1.85 1.63 1.10 0.44 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.44 1.10 1.63 1.85 1.75 1.48 1.23 1.15 1.26 1.43 1.51 1.43 1.24 1.07 1.07 1.28 1.63 1.95 2.08 32.5 + 35.0 1.67 1.54 1.22 0.89 0.72 0.79 1.04 1.31 1.46 1.44 1.35 1.35 1.54 1.87 2.18 2.22 1.86 1.17 0.34 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 1.17 1.86 2.22 2.18 1.87 1.54 1.35 1.35 1.44 1.46 1.31 1.04 0.79 0.72 0.89 1.22 1.54 1.67 1.54 1.22 0.89 0.72 0.79 1.04 1.31 1.46 1.44 1.35 1.35 1.54 1.87 2.18 2.22 1.86 1.17 0.34 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 1.17 1.86 2.22 2.18 1.87 1.54 1.35 1.35 1.44 1.46 1.31 1.04 0.79 0.72 0.89 1.22 1.54 1.67 35.0 + 37.5 1.37 1.23 0.90 0.55 0.39 0.50 0.80 1.13 1.35 1.42 1.44 1.57 1.89 2.34 2.70 2.72 2.27 1.43 0.48 0.00 0.00 0.00 0.00 0.02 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.00 0.00 0.00 0.00 0.48 1.43 2.27 2.72 2.70 2.34 1.89 1.57 1.44 1.42 1.35 1.13 0.80 0.50 0.39 0.55 0.90 1.23 1.37 1.23 0.90 0.55 0.39 0.50 0.80 1.13 1.35 1.42 1.44 1.57 1.89 2.34 2.70 2.72 2.27 1.43 0.48 0.00 0.00 0.00 0.00 0.02 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.00 0.00 0.00 0.00 0.48 1.43 2.27 2.72 2.70 2.34 1.89 1.57 1.44 1.42 1.35 1.13 0.80 0.50 0.39 0.55 0.90 1.23 1.37 37.5 + 40.0 1.24 1.09 0.72 0.34 0.15 0.26 0.58 0.95 1.23 1.38 1.51 1.78 2.25 2.82 3.24 3.27 2.76 1.84 0.82 0.04 0.00 0.00 0.18 0.46 0.49 0.29 0.00 0.00 0.00 0.03 0.31 0.50 0.51 0.35 0.11 0.00 0.00 0.00 0.11 0.35 0.51 0.50 0.31 0.03 0.00 0.00 0.00 0.29 0.49 0.46 0.18 0.00 0.00 0.04 0.82 1.84 2.76 3.27 3.24 2.82 2.25 1.78 1.51 1.38 1.23 0.95 0.58 0.26 0.15 0.34 0.72 1.09 1.24 1.09 0.72 0.34 0.15 0.26 0.58 0.95 1.23 1.38 1.51 1.78 2.25 2.82 3.24 3.27 2.76 1.84 0.82 0.04 0.00 0.00 0.18 0.46 0.49 0.29 0.00 0.00 0.00 0.03 0.31 0.50 0.51 0.35 0.11 0.00 0.00 0.00 0.11 0.35 0.51 0.50 0.31 0.03 0.00 0.00 0.00 0.29 0.49 0.46 0.18 0.00 0.00 0.04 0.82 1.84 2.76 3.27 3.24 2.82 2.25 1.78 1.51 1.38 1.23 0.95 0.58 0.26 0.15 0.34 0.72 1.09 1.24 40.0 + 42.5 1.23 1.06 0.66 0.24 0.02 0.11 0.44 0.83 1.15 1.36 1.57 1.93 2.51 3.17 3.67 3.71 3.18 2.23 1.17 0.37 0.07 0.23 0.61 0.92 0.98 0.78 0.49 0.31 0.35 0.58 0.86 1.03 1.01 0.81 0.52 0.27 0.18 0.27 0.52 0.81 1.01 1.03 0.86 0.58 0.35 0.31 0.49 0.78 0.98 0.92 0.61 0.23 0.07 0.37 1.17 2.23 3.18 3.71 3.67 3.17 2.51 1.93 1.57 1.36 1.15 0.83 0.44 0.11 0.02 0.24 0.66 1.06 1.23 1.06 0.66 0.24 0.02 0.11 0.44 0.83 1.15 1.36 1.57 1.93 2.51 3.17 3.67 3.71 3.18 2.23 1.17 0.37 0.07 0.23 0.61 0.92 0.98 0.78 0.49 0.31 0.35 0.58 0.86 1.03 1.01 0.81 0.52 0.27 0.18 0.27 0.52 0.81 1.01 1.03 0.86 0.58 0.35 0.31 0.49 0.78 0.98 0.92 0.61 0.23 0.07 0.37 1.17 2.23 3.18 3.71 3.67 3.17 2.51 1.93 1.57 1.36 1.15 0.83 0.44 0.11 0.02 0.24 0.66 1.06 1.23 42.5 + 45.0 1.23 1.06 0.65 0.21 0.00 0.06 0.39 0.79 1.11 1.35 1.59 1.99 2.61 3.31 3.82 3.88 3.35 2.38 1.31 0.52 0.22 0.40 0.80 1.12 1.18 0.98 0.70 0.52 0.56 0.80 1.08 1.26 1.22 1.00 0.69 0.44 0.34 0.44 0.69 1.00 1.22 1.26 1.08 0.80 0.56 0.52 0.70 0.98 1.18 1.12 0.80 0.40 0.22 0.52 1.31 2.38 3.35 3.88 3.82 3.31 2.61 1.99 1.59 1.35 1.11 0.79 0.39 0.06 0.00 0.21 0.65 1.06 1.23 1.06 0.65 0.21 0.00 0.06 0.39 0.79 1.11 1.35 1.59 1.99 2.61 3.31 3.82 3.88 3.35 2.38 1.31 0.52 0.22 0.40 0.80 1.12 1.18 0.98 0.70 0.52 0.56 0.80 1.08 1.26 1.22 1.00 0.69 0.44 0.34 0.44 0.69 1.00 1.22 1.26 1.08 0.80 0.56 0.52 0.70 0.98 1.18 1.12 0.80 0.40 0.22 0.52 1.31 2.38 3.35 3.88 3.82 3.31 2.61 1.99 1.59 1.35 1.11 0.79 0.39 0.06 0.00 0.21 0.65 1.06 1.23 45.0 + 47.5 1.23 1.06 0.66 0.24 0.02 0.11 0.44 0.83 1.15 1.36 1.57 1.93 2.51 3.17 3.67 3.71 3.18 2.23 1.17 0.37 0.07 0.23 0.61 0.92 0.98 0.78 0.49 0.31 0.35 0.58 0.86 1.03 1.01 0.81 0.52 0.27 0.18 0.27 0.52 0.81 1.01 1.03 0.86 0.58 0.35 0.31 0.49 0.78 0.98 0.92 0.61 0.23 0.07 0.37 1.17 2.23 3.18 3.71 3.67 3.17 2.51 1.93 1.57 1.36 1.15 0.83 0.44 0.11 0.02 0.24 0.66 1.06 1.23 1.06 0.66 0.24 0.02 0.11 0.44 0.83 1.15 1.36 1.57 1.93 2.51 3.17 3.67 3.71 3.18 2.23 1.17 0.37 0.07 0.23 0.61 0.92 0.98 0.78 0.49 0.31 0.35 0.58 0.86 1.03 1.01 0.81 0.52 0.27 0.18 0.27 0.52 0.81 1.01 1.03 0.86 0.58 0.35 0.31 0.49 0.78 0.98 0.92 0.61 0.23 0.07 0.37 1.17 2.23 3.18 3.71 3.67 3.17 2.51 1.93 1.57 1.36 1.15 0.83 0.44 0.11 0.02 0.24 0.66 1.06 1.23 47.5 + 50.0 1.24 1.09 0.72 0.34 0.15 0.26 0.58 0.95 1.23 1.38 1.51 1.78 2.25 2.82 3.24 3.27 2.76 1.84 0.82 0.04 0.00 0.00 0.18 0.46 0.49 0.29 0.00 0.00 0.00 0.03 0.31 0.50 0.51 0.35 0.11 0.00 0.00 0.00 0.11 0.35 0.51 0.50 0.31 0.03 0.00 0.00 0.00 0.29 0.49 0.46 0.18 0.00 0.00 0.04 0.82 1.84 2.76 3.27 3.24 2.82 2.25 1.78 1.51 1.38 1.23 0.95 0.58 0.26 0.15 0.34 0.72 1.09 1.24 1.09 0.72 0.34 0.15 0.26 0.58 0.95 1.23 1.38 1.51 1.78 2.25 2.82 3.24 3.27 2.76 1.84 0.82 0.04 0.00 0.00 0.18 0.46 0.49 0.29 0.00 0.00 0.00 0.03 0.31 0.50 0.51 0.35 0.11 0.00 0.00 0.00 0.11 0.35 0.51 0.50 0.31 0.03 0.00 0.00 0.00 0.29 0.49 0.46 0.18 0.00 0.00 0.04 0.82 1.84 2.76 3.27 3.24 2.82 2.25 1.78 1.51 1.38 1.23 0.95 0.58 0.26 0.15 0.34 0.72 1.09 1.24 50.0 + 52.5 1.37 1.23 0.90 0.55 0.39 0.50 0.80 1.13 1.35 1.42 1.44 1.57 1.89 2.34 2.70 2.72 2.27 1.43 0.48 0.00 0.00 0.00 0.00 0.02 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.00 0.00 0.00 0.00 0.48 1.43 2.27 2.72 2.70 2.34 1.89 1.57 1.44 1.42 1.35 1.13 0.80 0.50 0.39 0.55 0.90 1.23 1.37 1.23 0.90 0.55 0.39 0.50 0.80 1.13 1.35 1.42 1.44 1.57 1.89 2.34 2.70 2.72 2.27 1.43 0.48 0.00 0.00 0.00 0.00 0.02 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.00 0.00 0.00 0.00 0.48 1.43 2.27 2.72 2.70 2.34 1.89 1.57 1.44 1.42 1.35 1.13 0.80 0.50 0.39 0.55 0.90 1.23 1.37 52.5 + 55.0 1.67 1.54 1.22 0.89 0.72 0.79 1.04 1.31 1.46 1.44 1.35 1.35 1.54 1.87 2.18 2.22 1.86 1.17 0.34 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 1.17 1.86 2.22 2.18 1.87 1.54 1.35 1.35 1.44 1.46 1.31 1.04 0.79 0.72 0.89 1.22 1.54 1.67 1.54 1.22 0.89 0.72 0.79 1.04 1.31 1.46 1.44 1.35 1.35 1.54 1.87 2.18 2.22 1.86 1.17 0.34 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 1.17 1.86 2.22 2.18 1.87 1.54 1.35 1.35 1.44 1.46 1.31 1.04 0.79 0.72 0.89 1.22 1.54 1.67 55.0 + 57.5 2.08 1.95 1.63 1.28 1.07 1.07 1.24 1.43 1.51 1.43 1.26 1.15 1.23 1.48 1.75 1.85 1.63 1.10 0.44 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.44 1.10 1.63 1.85 1.75 1.48 1.23 1.15 1.26 1.43 1.51 1.43 1.24 1.07 1.07 1.28 1.63 1.95 2.08 1.95 1.63 1.28 1.07 1.07 1.24 1.43 1.51 1.43 1.26 1.15 1.23 1.48 1.75 1.85 1.63 1.10 0.44 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.05 0.09 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.00 0.00 0.00 0.00 0.44 1.10 1.63 1.85 1.75 1.48 1.23 1.15 1.26 1.43 1.51 1.43 1.24 1.07 1.07 1.28 1.63 1.95 2.08 57.5 + 60.0 2.47 2.33 1.99 1.60 1.32 1.24 1.33 1.45 1.47 1.35 1.13 0.96 0.97 1.15 1.42 1.58 1.49 1.13 0.64 0.22 0.04 0.14 0.39 0.61 0.63 0.43 0.11 0.00 0.00 0.00 0.07 0.34 0.55 0.63 0.62 0.58 0.55 0.58 0.62 0.63 0.55 0.34 0.07 0.00 0.00 0.00 0.11 0.43 0.63 0.61 0.39 0.14 0.04 0.22 0.64 1.13 1.49 1.58 1.42 1.15 0.97 0.96 1.13 1.35 1.47 1.45 1.33 1.24 1.32 1.60 1.99 2.33 2.47 2.33 1.99 1.60 1.32 1.24 1.33 1.45 1.47 1.35 1.13 0.96 0.97 1.15 1.42 1.58 1.49 1.13 0.64 0.22 0.04 0.14 0.39 0.61 0.63 0.43 0.11 0.00 0.00 0.00 0.07 0.34 0.55 0.63 0.62 0.58 0.55 0.58 0.62 0.63 0.55 0.34 0.07 0.00 0.00 0.00 0.11 0.43 0.63 0.61 0.39 0.14 0.04 0.22 0.64 1.13 1.49 1.58 1.42 1.15 0.97 0.96 1.13 1.35 1.47 1.45 1.33 1.24 1.32 1.60 1.99 2.33 2.47 60.0 + 62.5 2.67 2.53 2.17 1.74 1.40 1.24 1.26 1.33 1.33 1.20 0.97 0.77 0.72 0.87 1.12 1.32 1.33 1.09 0.73 0.42 0.31 0.45 0.74 0.99 1.05 0.89 0.58 0.29 0.17 0.25 0.50 0.79 1.02 1.14 1.15 1.11 1.09 1.11 1.15 1.14 1.02 0.79 0.50 0.25 0.17 0.29 0.58 0.89 1.05 0.99 0.74 0.45 0.31 0.42 0.73 1.09 1.33 1.32 1.12 0.87 0.72 0.77 0.97 1.20 1.33 1.33 1.26 1.24 1.40 1.74 2.17 2.53 2.67 2.53 2.17 1.74 1.40 1.24 1.26 1.33 1.33 1.20 0.97 0.77 0.72 0.87 1.12 1.32 1.33 1.09 0.73 0.42 0.31 0.45 0.74 0.99 1.05 0.89 0.58 0.29 0.17 0.25 0.50 0.79 1.02 1.14 1.15 1.11 1.09 1.11 1.15 1.14 1.02 0.79 0.50 0.25 0.17 0.29 0.58 0.89 1.05 0.99 0.74 0.45 0.31 0.42 0.73 1.09 1.33 1.32 1.12 0.87 0.72 0.77 0.97 1.20 1.33 1.33 1.26 1.24 1.40 1.74 2.17 2.53 2.67 62.5 + 65.0 2.64 2.50 2.12 1.67 1.28 1.08 1.05 1.09 1.09 0.97 0.76 0.55 0.47 0.57 0.80 1.00 1.04 0.87 0.58 0.33 0.27 0.44 0.76 1.06 1.17 1.04 0.77 0.49 0.36 0.44 0.68 0.99 1.23 1.36 1.38 1.34 1.32 1.34 1.38 1.36 1.23 0.99 0.68 0.44 0.36 0.49 0.77 1.04 1.17 1.06 0.76 0.44 0.27 0.33 0.58 0.87 1.04 1.00 0.80 0.57 0.47 0.55 0.76 0.97 1.09 1.09 1.05 1.08 1.28 1.67 2.12 2.50 2.64 2.50 2.12 1.67 1.28 1.08 1.05 1.09 1.09 0.97 0.76 0.55 0.47 0.57 0.80 1.00 1.04 0.87 0.58 0.33 0.27 0.44 0.76 1.06 1.17 1.04 0.77 0.49 0.36 0.44 0.68 0.99 1.23 1.36 1.38 1.34 1.32 1.34 1.38 1.36 1.23 0.99 0.68 0.44 0.36 0.49 0.77 1.04 1.17 1.06 0.76 0.44 0.27 0.33 0.58 0.87 1.04 1.00 0.80 0.57 0.47 0.55 0.76 0.97 1.09 1.09 1.05 1.08 1.28 1.67 2.12 2.50 2.64 65.0 + 67.5 2.42 2.28 1.91 1.45 1.05 0.82 0.77 0.80 0.81 0.71 0.52 0.31 0.22 0.28 0.45 0.62 0.65 0.49 0.21 0.00 0.00 0.12 0.46 0.78 0.93 0.85 0.61 0.34 0.22 0.30 0.55 0.86 1.12 1.25 1.28 1.24 1.22 1.24 1.28 1.25 1.12 0.86 0.55 0.30 0.22 0.34 0.61 0.85 0.93 0.78 0.46 0.12 0.00 0.00 0.21 0.49 0.65 0.62 0.45 0.28 0.22 0.31 0.52 0.71 0.81 0.80 0.77 0.82 1.05 1.45 1.91 2.28 2.42 2.28 1.91 1.45 1.05 0.82 0.77 0.80 0.81 0.71 0.52 0.31 0.22 0.28 0.45 0.62 0.65 0.49 0.21 0.00 0.00 0.12 0.46 0.78 0.93 0.85 0.61 0.34 0.22 0.30 0.55 0.86 1.12 1.25 1.28 1.24 1.22 1.24 1.28 1.25 1.12 0.86 0.55 0.30 0.22 0.34 0.61 0.85 0.93 0.78 0.46 0.12 0.00 0.00 0.21 0.49 0.65 0.62 0.45 0.28 0.22 0.31 0.52 0.71 0.81 0.80 0.77 0.82 1.05 1.45 1.91 2.28 2.42 67.5 + 70.0 2.19 2.05 1.69 1.24 0.84 0.59 0.52 0.54 0.55 0.46 0.28 0.09 0.00 0.02 0.15 0.27 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.34 0.51 0.46 0.24 0.00 0.00 0.00 0.22 0.53 0.80 0.95 0.99 0.97 0.96 0.97 0.99 0.95 0.80 0.53 0.22 0.00 0.00 0.00 0.24 0.46 0.51 0.34 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.27 0.15 0.02 0.00 0.09 0.28 0.46 0.55 0.54 0.52 0.59 0.84 1.24 1.69 2.05 2.19 2.05 1.69 1.24 0.84 0.59 0.52 0.54 0.55 0.46 0.28 0.09 0.00 0.02 0.15 0.27 0.26 0.08 0.00 0.00 0.00 0.00 0.01 0.34 0.51 0.46 0.24 0.00 0.00 0.00 0.22 0.53 0.80 0.95 0.99 0.97 0.96 0.97 0.99 0.95 0.80 0.53 0.22 0.00 0.00 0.00 0.24 0.46 0.51 0.34 0.01 0.00 0.00 0.00 0.00 0.08 0.26 0.27 0.15 0.02 0.00 0.09 0.28 0.46 0.55 0.54 0.52 0.59 0.84 1.24 1.69 2.05 2.19 70.0 + 72.5 2.10 1.96 1.61 1.17 0.76 0.50 0.39 0.37 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.24 0.53 0.70 0.77 0.78 0.77 0.78 0.77 0.70 0.53 0.24 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.37 0.39 0.50 0.76 1.17 1.61 1.96 2.10 1.96 1.61 1.17 0.76 0.50 0.39 0.37 0.35 0.26 0.09 0.00 0.00 0.00 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.10 0.00 0.00 0.00 0.00 0.00 0.24 0.53 0.70 0.77 0.78 0.77 0.78 0.77 0.70 0.53 0.24 0.00 0.00 0.00 0.00 0.00 0.10 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.05 0.00 0.00 0.00 0.00 0.09 0.26 0.35 0.37 0.39 0.50 0.76 1.17 1.61 1.96 2.10 72.5 + 75.0 2.19 2.07 1.73 1.29 0.87 0.58 0.42 0.34 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.47 0.68 0.79 0.83 0.84 0.83 0.79 0.68 0.47 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.34 0.42 0.58 0.87 1.29 1.73 2.07 2.19 2.07 1.73 1.29 0.87 0.58 0.42 0.34 0.26 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.47 0.68 0.79 0.83 0.84 0.83 0.79 0.68 0.47 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.26 0.34 0.42 0.58 0.87 1.29 1.73 2.07 2.19 75.0 + 77.5 2.40 2.28 1.96 1.53 1.11 0.78 0.56 0.41 0.28 0.13 0.00 0.00 0.00 0.00 0.02 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.03 0.34 0.65 0.89 1.05 1.13 1.15 1.13 1.05 0.89 0.65 0.34 0.03 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.02 0.00 0.00 0.00 0.00 0.13 0.28 0.41 0.56 0.78 1.11 1.53 1.96 2.28 2.40 2.28 1.96 1.53 1.11 0.78 0.56 0.41 0.28 0.13 0.00 0.00 0.00 0.00 0.02 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.03 0.34 0.65 0.89 1.05 1.13 1.15 1.13 1.05 0.89 0.65 0.34 0.03 0.00 0.00 0.00 0.00 0.05 0.13 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.02 0.00 0.00 0.00 0.00 0.13 0.28 0.41 0.56 0.78 1.11 1.53 1.96 2.28 2.40 77.5 + 80.0 2.57 2.46 2.17 1.77 1.36 1.02 0.76 0.55 0.37 0.19 0.05 0.00 0.00 0.06 0.15 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.33 0.25 0.11 0.01 0.00 0.13 0.37 0.67 0.97 1.23 1.42 1.53 1.57 1.53 1.42 1.23 0.97 0.67 0.37 0.13 0.00 0.01 0.11 0.25 0.33 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.17 0.15 0.06 0.00 0.00 0.05 0.19 0.37 0.55 0.76 1.02 1.36 1.77 2.17 2.46 2.57 2.46 2.17 1.77 1.36 1.02 0.76 0.55 0.37 0.19 0.05 0.00 0.00 0.06 0.15 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.13 0.29 0.33 0.25 0.11 0.01 0.00 0.13 0.37 0.67 0.97 1.23 1.42 1.53 1.57 1.53 1.42 1.23 0.97 0.67 0.37 0.13 0.00 0.01 0.11 0.25 0.33 0.29 0.13 0.00 0.00 0.00 0.00 0.00 0.08 0.17 0.15 0.06 0.00 0.00 0.05 0.19 0.37 0.55 0.76 1.02 1.36 1.77 2.17 2.46 2.57 80.0 + 82.5 2.60 2.50 2.24 1.89 1.53 1.20 0.93 0.70 0.49 0.31 0.17 0.12 0.14 0.20 0.23 0.19 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.46 0.40 0.32 0.28 0.33 0.49 0.72 0.99 1.27 1.53 1.75 1.88 1.93 1.88 1.75 1.53 1.27 0.99 0.72 0.49 0.33 0.28 0.32 0.40 0.46 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.19 0.23 0.20 0.14 0.12 0.17 0.31 0.49 0.70 0.93 1.20 1.53 1.89 2.24 2.50 2.60 2.50 2.24 1.89 1.53 1.20 0.93 0.70 0.49 0.31 0.17 0.12 0.14 0.20 0.23 0.19 0.08 0.00 0.00 0.00 0.00 0.11 0.31 0.44 0.46 0.40 0.32 0.28 0.33 0.49 0.72 0.99 1.27 1.53 1.75 1.88 1.93 1.88 1.75 1.53 1.27 0.99 0.72 0.49 0.33 0.28 0.32 0.40 0.46 0.44 0.31 0.11 0.00 0.00 0.00 0.00 0.08 0.19 0.23 0.20 0.14 0.12 0.17 0.31 0.49 0.70 0.93 1.20 1.53 1.89 2.24 2.50 2.60 82.5 + 85.0 2.47 2.40 2.18 1.89 1.58 1.30 1.05 0.82 0.60 0.42 0.30 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.45 0.48 0.44 0.42 0.46 0.56 0.74 0.96 1.21 1.46 1.71 1.94 2.09 2.14 2.09 1.94 1.71 1.46 1.21 0.96 0.74 0.56 0.46 0.42 0.44 0.48 0.45 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.30 0.42 0.60 0.82 1.05 1.30 1.58 1.89 2.18 2.40 2.47 2.40 2.18 1.89 1.58 1.30 1.05 0.82 0.60 0.42 0.30 0.26 0.27 0.29 0.25 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.34 0.45 0.48 0.44 0.42 0.46 0.56 0.74 0.96 1.21 1.46 1.71 1.94 2.09 2.14 2.09 1.94 1.71 1.46 1.21 0.96 0.74 0.56 0.46 0.42 0.44 0.48 0.45 0.34 0.14 0.00 0.00 0.00 0.00 0.00 0.14 0.25 0.29 0.27 0.26 0.30 0.42 0.60 0.82 1.05 1.30 1.58 1.89 2.18 2.40 2.47 85.0 + 87.5 2.31 2.24 2.07 1.83 1.57 1.33 1.10 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.87 1.08 1.31 1.54 1.78 2.00 2.16 2.22 2.16 2.00 1.78 1.54 1.31 1.08 0.87 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.10 1.33 1.57 1.83 2.07 2.24 2.31 2.24 2.07 1.83 1.57 1.33 1.10 0.89 0.68 0.51 0.40 0.35 0.35 0.33 0.24 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.27 0.38 0.41 0.41 0.44 0.53 0.68 0.87 1.08 1.31 1.54 1.78 2.00 2.16 2.22 2.16 2.00 1.78 1.54 1.31 1.08 0.87 0.68 0.53 0.44 0.41 0.41 0.38 0.27 0.06 0.00 0.00 0.00 0.00 0.00 0.06 0.24 0.33 0.35 0.35 0.40 0.51 0.68 0.89 1.10 1.33 1.57 1.83 2.07 2.24 2.31 87.5 + 90.0 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 2.18 2.01 1.79 1.56 1.33 1.12 0.91 0.71 0.54 0.43 0.39 0.38 0.34 0.23 0.02 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.34 0.38 0.39 0.43 0.54 0.71 0.91 1.12 1.33 1.56 1.79 2.01 2.18 2.24 90.0 + + + F(g)_max = 5.99 diff --git a/python/tests/reference/Rotation/ODF_experimental.txt b/python/tests/reference/Rotation/ODF_experimental.txt new file mode 100644 index 000000000..865c06c48 --- /dev/null +++ b/python/tests/reference/Rotation/ODF_experimental.txt @@ -0,0 +1,198510 @@ +# phi_1 fast, phi_2 slow +# range(0,...,360.0;0,...,90.0;0,...,90.0)/deg +# resolution 2.5 deg +# vertex centered, start/end points duplicated +intensity +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.31 +2.24 +2.07 +1.83 +1.57 +1.33 +1.1 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.87 +1.08 +1.31 +1.54 +1.78 +2.0 +2.16 +2.22 +2.16 +2.0 +1.78 +1.54 +1.31 +1.08 +0.87 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.1 +1.33 +1.57 +1.83 +2.07 +2.24 +2.31 +2.24 +2.07 +1.83 +1.57 +1.33 +1.1 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.87 +1.08 +1.31 +1.54 +1.78 +2.0 +2.16 +2.22 +2.16 +2.0 +1.78 +1.54 +1.31 +1.08 +0.87 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.1 +1.33 +1.57 +1.83 +2.07 +2.24 +2.31 +2.47 +2.4 +2.18 +1.89 +1.58 +1.3 +1.05 +0.82 +0.6 +0.42 +0.3 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.45 +0.48 +0.44 +0.42 +0.46 +0.56 +0.74 +0.96 +1.21 +1.46 +1.71 +1.94 +2.09 +2.14 +2.09 +1.94 +1.71 +1.46 +1.21 +0.96 +0.74 +0.56 +0.46 +0.42 +0.44 +0.48 +0.45 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.3 +0.42 +0.6 +0.82 +1.05 +1.3 +1.58 +1.89 +2.18 +2.4 +2.47 +2.4 +2.18 +1.89 +1.58 +1.3 +1.05 +0.82 +0.6 +0.42 +0.3 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.45 +0.48 +0.44 +0.42 +0.46 +0.56 +0.74 +0.96 +1.21 +1.46 +1.71 +1.94 +2.09 +2.14 +2.09 +1.94 +1.71 +1.46 +1.21 +0.96 +0.74 +0.56 +0.46 +0.42 +0.44 +0.48 +0.45 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.3 +0.42 +0.6 +0.82 +1.05 +1.3 +1.58 +1.89 +2.18 +2.4 +2.47 +2.6 +2.5 +2.24 +1.89 +1.53 +1.2 +0.93 +0.7 +0.49 +0.31 +0.17 +0.12 +0.14 +0.2 +0.23 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.46 +0.4 +0.32 +0.28 +0.33 +0.49 +0.72 +0.99 +1.27 +1.53 +1.75 +1.88 +1.93 +1.88 +1.75 +1.53 +1.27 +0.99 +0.72 +0.49 +0.33 +0.28 +0.32 +0.4 +0.46 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.23 +0.2 +0.14 +0.12 +0.17 +0.31 +0.49 +0.7 +0.93 +1.2 +1.53 +1.89 +2.24 +2.5 +2.6 +2.5 +2.24 +1.89 +1.53 +1.2 +0.93 +0.7 +0.49 +0.31 +0.17 +0.12 +0.14 +0.2 +0.23 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.46 +0.4 +0.32 +0.28 +0.33 +0.49 +0.72 +0.99 +1.27 +1.53 +1.75 +1.88 +1.93 +1.88 +1.75 +1.53 +1.27 +0.99 +0.72 +0.49 +0.33 +0.28 +0.32 +0.4 +0.46 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.23 +0.2 +0.14 +0.12 +0.17 +0.31 +0.49 +0.7 +0.93 +1.2 +1.53 +1.89 +2.24 +2.5 +2.6 +2.57 +2.46 +2.17 +1.77 +1.36 +1.02 +0.76 +0.55 +0.37 +0.19 +0.05 +0.0 +0.0 +0.06 +0.15 +0.17 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.33 +0.25 +0.11 +0.01 +0.0 +0.13 +0.37 +0.67 +0.97 +1.23 +1.42 +1.53 +1.57 +1.53 +1.42 +1.23 +0.97 +0.67 +0.37 +0.13 +0.0 +0.01 +0.11 +0.25 +0.33 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.17 +0.15 +0.06 +0.0 +0.0 +0.05 +0.19 +0.37 +0.55 +0.76 +1.02 +1.36 +1.77 +2.17 +2.46 +2.57 +2.46 +2.17 +1.77 +1.36 +1.02 +0.76 +0.55 +0.37 +0.19 +0.05 +0.0 +0.0 +0.06 +0.15 +0.17 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.33 +0.25 +0.11 +0.01 +0.0 +0.13 +0.37 +0.67 +0.97 +1.23 +1.42 +1.53 +1.57 +1.53 +1.42 +1.23 +0.97 +0.67 +0.37 +0.13 +0.0 +0.01 +0.11 +0.25 +0.33 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.17 +0.15 +0.06 +0.0 +0.0 +0.05 +0.19 +0.37 +0.55 +0.76 +1.02 +1.36 +1.77 +2.17 +2.46 +2.57 +2.4 +2.28 +1.96 +1.53 +1.11 +0.78 +0.56 +0.41 +0.28 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.03 +0.34 +0.65 +0.89 +1.05 +1.13 +1.15 +1.13 +1.05 +0.89 +0.65 +0.34 +0.03 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.28 +0.41 +0.56 +0.78 +1.11 +1.53 +1.96 +2.28 +2.4 +2.28 +1.96 +1.53 +1.11 +0.78 +0.56 +0.41 +0.28 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.03 +0.34 +0.65 +0.89 +1.05 +1.13 +1.15 +1.13 +1.05 +0.89 +0.65 +0.34 +0.03 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.28 +0.41 +0.56 +0.78 +1.11 +1.53 +1.96 +2.28 +2.4 +2.19 +2.07 +1.73 +1.29 +0.87 +0.58 +0.42 +0.34 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.47 +0.68 +0.79 +0.83 +0.84 +0.83 +0.79 +0.68 +0.47 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.34 +0.42 +0.58 +0.87 +1.29 +1.73 +2.07 +2.19 +2.07 +1.73 +1.29 +0.87 +0.58 +0.42 +0.34 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.47 +0.68 +0.79 +0.83 +0.84 +0.83 +0.79 +0.68 +0.47 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.34 +0.42 +0.58 +0.87 +1.29 +1.73 +2.07 +2.19 +2.1 +1.96 +1.61 +1.17 +0.76 +0.5 +0.39 +0.37 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.53 +0.7 +0.77 +0.78 +0.77 +0.78 +0.77 +0.7 +0.53 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.37 +0.39 +0.5 +0.76 +1.17 +1.61 +1.96 +2.1 +1.96 +1.61 +1.17 +0.76 +0.5 +0.39 +0.37 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.53 +0.7 +0.77 +0.78 +0.77 +0.78 +0.77 +0.7 +0.53 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.37 +0.39 +0.5 +0.76 +1.17 +1.61 +1.96 +2.1 +2.19 +2.05 +1.69 +1.24 +0.84 +0.59 +0.52 +0.54 +0.55 +0.46 +0.28 +0.09 +0.0 +0.02 +0.15 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.34 +0.51 +0.46 +0.24 +0.0 +0.0 +0.0 +0.22 +0.53 +0.8 +0.95 +0.99 +0.97 +0.96 +0.97 +0.99 +0.95 +0.8 +0.53 +0.22 +0.0 +0.0 +0.0 +0.24 +0.46 +0.51 +0.34 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.15 +0.02 +0.0 +0.09 +0.28 +0.46 +0.55 +0.54 +0.52 +0.59 +0.84 +1.24 +1.69 +2.05 +2.19 +2.05 +1.69 +1.24 +0.84 +0.59 +0.52 +0.54 +0.55 +0.46 +0.28 +0.09 +0.0 +0.02 +0.15 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.34 +0.51 +0.46 +0.24 +0.0 +0.0 +0.0 +0.22 +0.53 +0.8 +0.95 +0.99 +0.97 +0.96 +0.97 +0.99 +0.95 +0.8 +0.53 +0.22 +0.0 +0.0 +0.0 +0.24 +0.46 +0.51 +0.34 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.15 +0.02 +0.0 +0.09 +0.28 +0.46 +0.55 +0.54 +0.52 +0.59 +0.84 +1.24 +1.69 +2.05 +2.19 +2.42 +2.28 +1.91 +1.45 +1.05 +0.82 +0.77 +0.8 +0.81 +0.71 +0.52 +0.31 +0.22 +0.28 +0.45 +0.62 +0.65 +0.49 +0.21 +0.0 +0.0 +0.12 +0.46 +0.78 +0.93 +0.85 +0.61 +0.34 +0.22 +0.3 +0.55 +0.86 +1.12 +1.25 +1.28 +1.24 +1.22 +1.24 +1.28 +1.25 +1.12 +0.86 +0.55 +0.3 +0.22 +0.34 +0.61 +0.85 +0.93 +0.78 +0.46 +0.12 +0.0 +0.0 +0.21 +0.49 +0.65 +0.62 +0.45 +0.28 +0.22 +0.31 +0.52 +0.71 +0.81 +0.8 +0.77 +0.82 +1.05 +1.45 +1.91 +2.28 +2.42 +2.28 +1.91 +1.45 +1.05 +0.82 +0.77 +0.8 +0.81 +0.71 +0.52 +0.31 +0.22 +0.28 +0.45 +0.62 +0.65 +0.49 +0.21 +0.0 +0.0 +0.12 +0.46 +0.78 +0.93 +0.85 +0.61 +0.34 +0.22 +0.3 +0.55 +0.86 +1.12 +1.25 +1.28 +1.24 +1.22 +1.24 +1.28 +1.25 +1.12 +0.86 +0.55 +0.3 +0.22 +0.34 +0.61 +0.85 +0.93 +0.78 +0.46 +0.12 +0.0 +0.0 +0.21 +0.49 +0.65 +0.62 +0.45 +0.28 +0.22 +0.31 +0.52 +0.71 +0.81 +0.8 +0.77 +0.82 +1.05 +1.45 +1.91 +2.28 +2.42 +2.64 +2.5 +2.12 +1.67 +1.28 +1.08 +1.05 +1.09 +1.09 +0.97 +0.76 +0.55 +0.47 +0.57 +0.8 +1.0 +1.04 +0.87 +0.58 +0.33 +0.27 +0.44 +0.76 +1.06 +1.17 +1.04 +0.77 +0.49 +0.36 +0.44 +0.68 +0.99 +1.23 +1.36 +1.38 +1.34 +1.32 +1.34 +1.38 +1.36 +1.23 +0.99 +0.68 +0.44 +0.36 +0.49 +0.77 +1.04 +1.17 +1.06 +0.76 +0.44 +0.27 +0.33 +0.58 +0.87 +1.04 +1.0 +0.8 +0.57 +0.47 +0.55 +0.76 +0.97 +1.09 +1.09 +1.05 +1.08 +1.28 +1.67 +2.12 +2.5 +2.64 +2.5 +2.12 +1.67 +1.28 +1.08 +1.05 +1.09 +1.09 +0.97 +0.76 +0.55 +0.47 +0.57 +0.8 +1.0 +1.04 +0.87 +0.58 +0.33 +0.27 +0.44 +0.76 +1.06 +1.17 +1.04 +0.77 +0.49 +0.36 +0.44 +0.68 +0.99 +1.23 +1.36 +1.38 +1.34 +1.32 +1.34 +1.38 +1.36 +1.23 +0.99 +0.68 +0.44 +0.36 +0.49 +0.77 +1.04 +1.17 +1.06 +0.76 +0.44 +0.27 +0.33 +0.58 +0.87 +1.04 +1.0 +0.8 +0.57 +0.47 +0.55 +0.76 +0.97 +1.09 +1.09 +1.05 +1.08 +1.28 +1.67 +2.12 +2.5 +2.64 +2.67 +2.53 +2.17 +1.74 +1.4 +1.24 +1.26 +1.33 +1.33 +1.2 +0.97 +0.77 +0.72 +0.87 +1.12 +1.32 +1.33 +1.09 +0.73 +0.42 +0.31 +0.45 +0.74 +0.99 +1.05 +0.89 +0.58 +0.29 +0.17 +0.25 +0.5 +0.79 +1.02 +1.14 +1.15 +1.11 +1.09 +1.11 +1.15 +1.14 +1.02 +0.79 +0.5 +0.25 +0.17 +0.29 +0.58 +0.89 +1.05 +0.99 +0.74 +0.45 +0.31 +0.42 +0.73 +1.09 +1.33 +1.32 +1.12 +0.87 +0.72 +0.77 +0.97 +1.2 +1.33 +1.33 +1.26 +1.24 +1.4 +1.74 +2.17 +2.53 +2.67 +2.53 +2.17 +1.74 +1.4 +1.24 +1.26 +1.33 +1.33 +1.2 +0.97 +0.77 +0.72 +0.87 +1.12 +1.32 +1.33 +1.09 +0.73 +0.42 +0.31 +0.45 +0.74 +0.99 +1.05 +0.89 +0.58 +0.29 +0.17 +0.25 +0.5 +0.79 +1.02 +1.14 +1.15 +1.11 +1.09 +1.11 +1.15 +1.14 +1.02 +0.79 +0.5 +0.25 +0.17 +0.29 +0.58 +0.89 +1.05 +0.99 +0.74 +0.45 +0.31 +0.42 +0.73 +1.09 +1.33 +1.32 +1.12 +0.87 +0.72 +0.77 +0.97 +1.2 +1.33 +1.33 +1.26 +1.24 +1.4 +1.74 +2.17 +2.53 +2.67 +2.47 +2.33 +1.99 +1.6 +1.32 +1.24 +1.33 +1.45 +1.47 +1.35 +1.13 +0.96 +0.97 +1.15 +1.42 +1.58 +1.49 +1.13 +0.64 +0.22 +0.04 +0.14 +0.39 +0.61 +0.63 +0.43 +0.11 +0.0 +0.0 +0.0 +0.07 +0.34 +0.55 +0.63 +0.62 +0.58 +0.55 +0.58 +0.62 +0.63 +0.55 +0.34 +0.07 +0.0 +0.0 +0.0 +0.11 +0.43 +0.63 +0.61 +0.39 +0.14 +0.04 +0.22 +0.64 +1.13 +1.49 +1.58 +1.42 +1.15 +0.97 +0.96 +1.13 +1.35 +1.47 +1.45 +1.33 +1.24 +1.32 +1.6 +1.99 +2.33 +2.47 +2.33 +1.99 +1.6 +1.32 +1.24 +1.33 +1.45 +1.47 +1.35 +1.13 +0.96 +0.97 +1.15 +1.42 +1.58 +1.49 +1.13 +0.64 +0.22 +0.04 +0.14 +0.39 +0.61 +0.63 +0.43 +0.11 +0.0 +0.0 +0.0 +0.07 +0.34 +0.55 +0.63 +0.62 +0.58 +0.55 +0.58 +0.62 +0.63 +0.55 +0.34 +0.07 +0.0 +0.0 +0.0 +0.11 +0.43 +0.63 +0.61 +0.39 +0.14 +0.04 +0.22 +0.64 +1.13 +1.49 +1.58 +1.42 +1.15 +0.97 +0.96 +1.13 +1.35 +1.47 +1.45 +1.33 +1.24 +1.32 +1.6 +1.99 +2.33 +2.47 +2.08 +1.95 +1.63 +1.28 +1.07 +1.07 +1.24 +1.43 +1.51 +1.43 +1.26 +1.15 +1.23 +1.48 +1.75 +1.85 +1.63 +1.1 +0.44 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.44 +1.1 +1.63 +1.85 +1.75 +1.48 +1.23 +1.15 +1.26 +1.43 +1.51 +1.43 +1.24 +1.07 +1.07 +1.28 +1.63 +1.95 +2.08 +1.95 +1.63 +1.28 +1.07 +1.07 +1.24 +1.43 +1.51 +1.43 +1.26 +1.15 +1.23 +1.48 +1.75 +1.85 +1.63 +1.1 +0.44 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.44 +1.1 +1.63 +1.85 +1.75 +1.48 +1.23 +1.15 +1.26 +1.43 +1.51 +1.43 +1.24 +1.07 +1.07 +1.28 +1.63 +1.95 +2.08 +1.67 +1.54 +1.22 +0.89 +0.72 +0.79 +1.04 +1.31 +1.46 +1.44 +1.35 +1.35 +1.54 +1.87 +2.18 +2.22 +1.86 +1.17 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +1.17 +1.86 +2.22 +2.18 +1.87 +1.54 +1.35 +1.35 +1.44 +1.46 +1.31 +1.04 +0.79 +0.72 +0.89 +1.22 +1.54 +1.67 +1.54 +1.22 +0.89 +0.72 +0.79 +1.04 +1.31 +1.46 +1.44 +1.35 +1.35 +1.54 +1.87 +2.18 +2.22 +1.86 +1.17 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +1.17 +1.86 +2.22 +2.18 +1.87 +1.54 +1.35 +1.35 +1.44 +1.46 +1.31 +1.04 +0.79 +0.72 +0.89 +1.22 +1.54 +1.67 +1.37 +1.23 +0.9 +0.55 +0.39 +0.5 +0.8 +1.13 +1.35 +1.42 +1.44 +1.57 +1.89 +2.34 +2.7 +2.72 +2.27 +1.43 +0.48 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.48 +1.43 +2.27 +2.72 +2.7 +2.34 +1.89 +1.57 +1.44 +1.42 +1.35 +1.13 +0.8 +0.5 +0.39 +0.55 +0.9 +1.23 +1.37 +1.23 +0.9 +0.55 +0.39 +0.5 +0.8 +1.13 +1.35 +1.42 +1.44 +1.57 +1.89 +2.34 +2.7 +2.72 +2.27 +1.43 +0.48 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.48 +1.43 +2.27 +2.72 +2.7 +2.34 +1.89 +1.57 +1.44 +1.42 +1.35 +1.13 +0.8 +0.5 +0.39 +0.55 +0.9 +1.23 +1.37 +1.24 +1.09 +0.72 +0.34 +0.15 +0.26 +0.58 +0.95 +1.23 +1.38 +1.51 +1.78 +2.25 +2.82 +3.24 +3.27 +2.76 +1.84 +0.82 +0.04 +0.0 +0.0 +0.18 +0.46 +0.49 +0.29 +0.0 +0.0 +0.0 +0.03 +0.31 +0.5 +0.51 +0.35 +0.11 +0.0 +0.0 +0.0 +0.11 +0.35 +0.51 +0.5 +0.31 +0.03 +0.0 +0.0 +0.0 +0.29 +0.49 +0.46 +0.18 +0.0 +0.0 +0.04 +0.82 +1.84 +2.76 +3.27 +3.24 +2.82 +2.25 +1.78 +1.51 +1.38 +1.23 +0.95 +0.58 +0.26 +0.15 +0.34 +0.72 +1.09 +1.24 +1.09 +0.72 +0.34 +0.15 +0.26 +0.58 +0.95 +1.23 +1.38 +1.51 +1.78 +2.25 +2.82 +3.24 +3.27 +2.76 +1.84 +0.82 +0.04 +0.0 +0.0 +0.18 +0.46 +0.49 +0.29 +0.0 +0.0 +0.0 +0.03 +0.31 +0.5 +0.51 +0.35 +0.11 +0.0 +0.0 +0.0 +0.11 +0.35 +0.51 +0.5 +0.31 +0.03 +0.0 +0.0 +0.0 +0.29 +0.49 +0.46 +0.18 +0.0 +0.0 +0.04 +0.82 +1.84 +2.76 +3.27 +3.24 +2.82 +2.25 +1.78 +1.51 +1.38 +1.23 +0.95 +0.58 +0.26 +0.15 +0.34 +0.72 +1.09 +1.24 +1.23 +1.06 +0.66 +0.24 +0.02 +0.11 +0.44 +0.83 +1.15 +1.36 +1.57 +1.93 +2.51 +3.17 +3.67 +3.71 +3.18 +2.23 +1.17 +0.37 +0.07 +0.23 +0.61 +0.92 +0.98 +0.78 +0.49 +0.31 +0.35 +0.58 +0.86 +1.03 +1.01 +0.81 +0.52 +0.27 +0.18 +0.27 +0.52 +0.81 +1.01 +1.03 +0.86 +0.58 +0.35 +0.31 +0.49 +0.78 +0.98 +0.92 +0.61 +0.23 +0.07 +0.37 +1.17 +2.23 +3.18 +3.71 +3.67 +3.17 +2.51 +1.93 +1.57 +1.36 +1.15 +0.83 +0.44 +0.11 +0.02 +0.24 +0.66 +1.06 +1.23 +1.06 +0.66 +0.24 +0.02 +0.11 +0.44 +0.83 +1.15 +1.36 +1.57 +1.93 +2.51 +3.17 +3.67 +3.71 +3.18 +2.23 +1.17 +0.37 +0.07 +0.23 +0.61 +0.92 +0.98 +0.78 +0.49 +0.31 +0.35 +0.58 +0.86 +1.03 +1.01 +0.81 +0.52 +0.27 +0.18 +0.27 +0.52 +0.81 +1.01 +1.03 +0.86 +0.58 +0.35 +0.31 +0.49 +0.78 +0.98 +0.92 +0.61 +0.23 +0.07 +0.37 +1.17 +2.23 +3.18 +3.71 +3.67 +3.17 +2.51 +1.93 +1.57 +1.36 +1.15 +0.83 +0.44 +0.11 +0.02 +0.24 +0.66 +1.06 +1.23 +1.23 +1.06 +0.65 +0.21 +0.0 +0.06 +0.39 +0.79 +1.11 +1.35 +1.59 +1.99 +2.61 +3.31 +3.82 +3.88 +3.35 +2.38 +1.31 +0.52 +0.22 +0.4 +0.8 +1.12 +1.18 +0.98 +0.7 +0.52 +0.56 +0.8 +1.08 +1.26 +1.22 +1.0 +0.69 +0.44 +0.34 +0.44 +0.69 +1.0 +1.22 +1.26 +1.08 +0.8 +0.56 +0.52 +0.7 +0.98 +1.18 +1.12 +0.8 +0.4 +0.22 +0.52 +1.31 +2.38 +3.35 +3.88 +3.82 +3.31 +2.61 +1.99 +1.59 +1.35 +1.11 +0.79 +0.39 +0.06 +0.0 +0.21 +0.65 +1.06 +1.23 +1.06 +0.65 +0.21 +0.0 +0.06 +0.39 +0.79 +1.11 +1.35 +1.59 +1.99 +2.61 +3.31 +3.82 +3.88 +3.35 +2.38 +1.31 +0.52 +0.22 +0.4 +0.8 +1.12 +1.18 +0.98 +0.7 +0.52 +0.56 +0.8 +1.08 +1.26 +1.22 +1.0 +0.69 +0.44 +0.34 +0.44 +0.69 +1.0 +1.22 +1.26 +1.08 +0.8 +0.56 +0.52 +0.7 +0.98 +1.18 +1.12 +0.8 +0.4 +0.22 +0.52 +1.31 +2.38 +3.35 +3.88 +3.82 +3.31 +2.61 +1.99 +1.59 +1.35 +1.11 +0.79 +0.39 +0.06 +0.0 +0.21 +0.65 +1.06 +1.23 +1.23 +1.06 +0.66 +0.24 +0.02 +0.11 +0.44 +0.83 +1.15 +1.36 +1.57 +1.93 +2.51 +3.17 +3.67 +3.71 +3.18 +2.23 +1.17 +0.37 +0.07 +0.23 +0.61 +0.92 +0.98 +0.78 +0.49 +0.31 +0.35 +0.58 +0.86 +1.03 +1.01 +0.81 +0.52 +0.27 +0.18 +0.27 +0.52 +0.81 +1.01 +1.03 +0.86 +0.58 +0.35 +0.31 +0.49 +0.78 +0.98 +0.92 +0.61 +0.23 +0.07 +0.37 +1.17 +2.23 +3.18 +3.71 +3.67 +3.17 +2.51 +1.93 +1.57 +1.36 +1.15 +0.83 +0.44 +0.11 +0.02 +0.24 +0.66 +1.06 +1.23 +1.06 +0.66 +0.24 +0.02 +0.11 +0.44 +0.83 +1.15 +1.36 +1.57 +1.93 +2.51 +3.17 +3.67 +3.71 +3.18 +2.23 +1.17 +0.37 +0.07 +0.23 +0.61 +0.92 +0.98 +0.78 +0.49 +0.31 +0.35 +0.58 +0.86 +1.03 +1.01 +0.81 +0.52 +0.27 +0.18 +0.27 +0.52 +0.81 +1.01 +1.03 +0.86 +0.58 +0.35 +0.31 +0.49 +0.78 +0.98 +0.92 +0.61 +0.23 +0.07 +0.37 +1.17 +2.23 +3.18 +3.71 +3.67 +3.17 +2.51 +1.93 +1.57 +1.36 +1.15 +0.83 +0.44 +0.11 +0.02 +0.24 +0.66 +1.06 +1.23 +1.24 +1.09 +0.72 +0.34 +0.15 +0.26 +0.58 +0.95 +1.23 +1.38 +1.51 +1.78 +2.25 +2.82 +3.24 +3.27 +2.76 +1.84 +0.82 +0.04 +0.0 +0.0 +0.18 +0.46 +0.49 +0.29 +0.0 +0.0 +0.0 +0.03 +0.31 +0.5 +0.51 +0.35 +0.11 +0.0 +0.0 +0.0 +0.11 +0.35 +0.51 +0.5 +0.31 +0.03 +0.0 +0.0 +0.0 +0.29 +0.49 +0.46 +0.18 +0.0 +0.0 +0.04 +0.82 +1.84 +2.76 +3.27 +3.24 +2.82 +2.25 +1.78 +1.51 +1.38 +1.23 +0.95 +0.58 +0.26 +0.15 +0.34 +0.72 +1.09 +1.24 +1.09 +0.72 +0.34 +0.15 +0.26 +0.58 +0.95 +1.23 +1.38 +1.51 +1.78 +2.25 +2.82 +3.24 +3.27 +2.76 +1.84 +0.82 +0.04 +0.0 +0.0 +0.18 +0.46 +0.49 +0.29 +0.0 +0.0 +0.0 +0.03 +0.31 +0.5 +0.51 +0.35 +0.11 +0.0 +0.0 +0.0 +0.11 +0.35 +0.51 +0.5 +0.31 +0.03 +0.0 +0.0 +0.0 +0.29 +0.49 +0.46 +0.18 +0.0 +0.0 +0.04 +0.82 +1.84 +2.76 +3.27 +3.24 +2.82 +2.25 +1.78 +1.51 +1.38 +1.23 +0.95 +0.58 +0.26 +0.15 +0.34 +0.72 +1.09 +1.24 +1.37 +1.23 +0.9 +0.55 +0.39 +0.5 +0.8 +1.13 +1.35 +1.42 +1.44 +1.57 +1.89 +2.34 +2.7 +2.72 +2.27 +1.43 +0.48 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.48 +1.43 +2.27 +2.72 +2.7 +2.34 +1.89 +1.57 +1.44 +1.42 +1.35 +1.13 +0.8 +0.5 +0.39 +0.55 +0.9 +1.23 +1.37 +1.23 +0.9 +0.55 +0.39 +0.5 +0.8 +1.13 +1.35 +1.42 +1.44 +1.57 +1.89 +2.34 +2.7 +2.72 +2.27 +1.43 +0.48 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.48 +1.43 +2.27 +2.72 +2.7 +2.34 +1.89 +1.57 +1.44 +1.42 +1.35 +1.13 +0.8 +0.5 +0.39 +0.55 +0.9 +1.23 +1.37 +1.67 +1.54 +1.22 +0.89 +0.72 +0.79 +1.04 +1.31 +1.46 +1.44 +1.35 +1.35 +1.54 +1.87 +2.18 +2.22 +1.86 +1.17 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +1.17 +1.86 +2.22 +2.18 +1.87 +1.54 +1.35 +1.35 +1.44 +1.46 +1.31 +1.04 +0.79 +0.72 +0.89 +1.22 +1.54 +1.67 +1.54 +1.22 +0.89 +0.72 +0.79 +1.04 +1.31 +1.46 +1.44 +1.35 +1.35 +1.54 +1.87 +2.18 +2.22 +1.86 +1.17 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +1.17 +1.86 +2.22 +2.18 +1.87 +1.54 +1.35 +1.35 +1.44 +1.46 +1.31 +1.04 +0.79 +0.72 +0.89 +1.22 +1.54 +1.67 +2.08 +1.95 +1.63 +1.28 +1.07 +1.07 +1.24 +1.43 +1.51 +1.43 +1.26 +1.15 +1.23 +1.48 +1.75 +1.85 +1.63 +1.1 +0.44 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.44 +1.1 +1.63 +1.85 +1.75 +1.48 +1.23 +1.15 +1.26 +1.43 +1.51 +1.43 +1.24 +1.07 +1.07 +1.28 +1.63 +1.95 +2.08 +1.95 +1.63 +1.28 +1.07 +1.07 +1.24 +1.43 +1.51 +1.43 +1.26 +1.15 +1.23 +1.48 +1.75 +1.85 +1.63 +1.1 +0.44 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.44 +1.1 +1.63 +1.85 +1.75 +1.48 +1.23 +1.15 +1.26 +1.43 +1.51 +1.43 +1.24 +1.07 +1.07 +1.28 +1.63 +1.95 +2.08 +2.47 +2.33 +1.99 +1.6 +1.32 +1.24 +1.33 +1.45 +1.47 +1.35 +1.13 +0.96 +0.97 +1.15 +1.42 +1.58 +1.49 +1.13 +0.64 +0.22 +0.04 +0.14 +0.39 +0.61 +0.63 +0.43 +0.11 +0.0 +0.0 +0.0 +0.07 +0.34 +0.55 +0.63 +0.62 +0.58 +0.55 +0.58 +0.62 +0.63 +0.55 +0.34 +0.07 +0.0 +0.0 +0.0 +0.11 +0.43 +0.63 +0.61 +0.39 +0.14 +0.04 +0.22 +0.64 +1.13 +1.49 +1.58 +1.42 +1.15 +0.97 +0.96 +1.13 +1.35 +1.47 +1.45 +1.33 +1.24 +1.32 +1.6 +1.99 +2.33 +2.47 +2.33 +1.99 +1.6 +1.32 +1.24 +1.33 +1.45 +1.47 +1.35 +1.13 +0.96 +0.97 +1.15 +1.42 +1.58 +1.49 +1.13 +0.64 +0.22 +0.04 +0.14 +0.39 +0.61 +0.63 +0.43 +0.11 +0.0 +0.0 +0.0 +0.07 +0.34 +0.55 +0.63 +0.62 +0.58 +0.55 +0.58 +0.62 +0.63 +0.55 +0.34 +0.07 +0.0 +0.0 +0.0 +0.11 +0.43 +0.63 +0.61 +0.39 +0.14 +0.04 +0.22 +0.64 +1.13 +1.49 +1.58 +1.42 +1.15 +0.97 +0.96 +1.13 +1.35 +1.47 +1.45 +1.33 +1.24 +1.32 +1.6 +1.99 +2.33 +2.47 +2.67 +2.53 +2.17 +1.74 +1.4 +1.24 +1.26 +1.33 +1.33 +1.2 +0.97 +0.77 +0.72 +0.87 +1.12 +1.32 +1.33 +1.09 +0.73 +0.42 +0.31 +0.45 +0.74 +0.99 +1.05 +0.89 +0.58 +0.29 +0.17 +0.25 +0.5 +0.79 +1.02 +1.14 +1.15 +1.11 +1.09 +1.11 +1.15 +1.14 +1.02 +0.79 +0.5 +0.25 +0.17 +0.29 +0.58 +0.89 +1.05 +0.99 +0.74 +0.45 +0.31 +0.42 +0.73 +1.09 +1.33 +1.32 +1.12 +0.87 +0.72 +0.77 +0.97 +1.2 +1.33 +1.33 +1.26 +1.24 +1.4 +1.74 +2.17 +2.53 +2.67 +2.53 +2.17 +1.74 +1.4 +1.24 +1.26 +1.33 +1.33 +1.2 +0.97 +0.77 +0.72 +0.87 +1.12 +1.32 +1.33 +1.09 +0.73 +0.42 +0.31 +0.45 +0.74 +0.99 +1.05 +0.89 +0.58 +0.29 +0.17 +0.25 +0.5 +0.79 +1.02 +1.14 +1.15 +1.11 +1.09 +1.11 +1.15 +1.14 +1.02 +0.79 +0.5 +0.25 +0.17 +0.29 +0.58 +0.89 +1.05 +0.99 +0.74 +0.45 +0.31 +0.42 +0.73 +1.09 +1.33 +1.32 +1.12 +0.87 +0.72 +0.77 +0.97 +1.2 +1.33 +1.33 +1.26 +1.24 +1.4 +1.74 +2.17 +2.53 +2.67 +2.64 +2.5 +2.12 +1.67 +1.28 +1.08 +1.05 +1.09 +1.09 +0.97 +0.76 +0.55 +0.47 +0.57 +0.8 +1.0 +1.04 +0.87 +0.58 +0.33 +0.27 +0.44 +0.76 +1.06 +1.17 +1.04 +0.77 +0.49 +0.36 +0.44 +0.68 +0.99 +1.23 +1.36 +1.38 +1.34 +1.32 +1.34 +1.38 +1.36 +1.23 +0.99 +0.68 +0.44 +0.36 +0.49 +0.77 +1.04 +1.17 +1.06 +0.76 +0.44 +0.27 +0.33 +0.58 +0.87 +1.04 +1.0 +0.8 +0.57 +0.47 +0.55 +0.76 +0.97 +1.09 +1.09 +1.05 +1.08 +1.28 +1.67 +2.12 +2.5 +2.64 +2.5 +2.12 +1.67 +1.28 +1.08 +1.05 +1.09 +1.09 +0.97 +0.76 +0.55 +0.47 +0.57 +0.8 +1.0 +1.04 +0.87 +0.58 +0.33 +0.27 +0.44 +0.76 +1.06 +1.17 +1.04 +0.77 +0.49 +0.36 +0.44 +0.68 +0.99 +1.23 +1.36 +1.38 +1.34 +1.32 +1.34 +1.38 +1.36 +1.23 +0.99 +0.68 +0.44 +0.36 +0.49 +0.77 +1.04 +1.17 +1.06 +0.76 +0.44 +0.27 +0.33 +0.58 +0.87 +1.04 +1.0 +0.8 +0.57 +0.47 +0.55 +0.76 +0.97 +1.09 +1.09 +1.05 +1.08 +1.28 +1.67 +2.12 +2.5 +2.64 +2.42 +2.28 +1.91 +1.45 +1.05 +0.82 +0.77 +0.8 +0.81 +0.71 +0.52 +0.31 +0.22 +0.28 +0.45 +0.62 +0.65 +0.49 +0.21 +0.0 +0.0 +0.12 +0.46 +0.78 +0.93 +0.85 +0.61 +0.34 +0.22 +0.3 +0.55 +0.86 +1.12 +1.25 +1.28 +1.24 +1.22 +1.24 +1.28 +1.25 +1.12 +0.86 +0.55 +0.3 +0.22 +0.34 +0.61 +0.85 +0.93 +0.78 +0.46 +0.12 +0.0 +0.0 +0.21 +0.49 +0.65 +0.62 +0.45 +0.28 +0.22 +0.31 +0.52 +0.71 +0.81 +0.8 +0.77 +0.82 +1.05 +1.45 +1.91 +2.28 +2.42 +2.28 +1.91 +1.45 +1.05 +0.82 +0.77 +0.8 +0.81 +0.71 +0.52 +0.31 +0.22 +0.28 +0.45 +0.62 +0.65 +0.49 +0.21 +0.0 +0.0 +0.12 +0.46 +0.78 +0.93 +0.85 +0.61 +0.34 +0.22 +0.3 +0.55 +0.86 +1.12 +1.25 +1.28 +1.24 +1.22 +1.24 +1.28 +1.25 +1.12 +0.86 +0.55 +0.3 +0.22 +0.34 +0.61 +0.85 +0.93 +0.78 +0.46 +0.12 +0.0 +0.0 +0.21 +0.49 +0.65 +0.62 +0.45 +0.28 +0.22 +0.31 +0.52 +0.71 +0.81 +0.8 +0.77 +0.82 +1.05 +1.45 +1.91 +2.28 +2.42 +2.19 +2.05 +1.69 +1.24 +0.84 +0.59 +0.52 +0.54 +0.55 +0.46 +0.28 +0.09 +0.0 +0.02 +0.15 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.34 +0.51 +0.46 +0.24 +0.0 +0.0 +0.0 +0.22 +0.53 +0.8 +0.95 +0.99 +0.97 +0.96 +0.97 +0.99 +0.95 +0.8 +0.53 +0.22 +0.0 +0.0 +0.0 +0.24 +0.46 +0.51 +0.34 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.15 +0.02 +0.0 +0.09 +0.28 +0.46 +0.55 +0.54 +0.52 +0.59 +0.84 +1.24 +1.69 +2.05 +2.19 +2.05 +1.69 +1.24 +0.84 +0.59 +0.52 +0.54 +0.55 +0.46 +0.28 +0.09 +0.0 +0.02 +0.15 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.34 +0.51 +0.46 +0.24 +0.0 +0.0 +0.0 +0.22 +0.53 +0.8 +0.95 +0.99 +0.97 +0.96 +0.97 +0.99 +0.95 +0.8 +0.53 +0.22 +0.0 +0.0 +0.0 +0.24 +0.46 +0.51 +0.34 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.15 +0.02 +0.0 +0.09 +0.28 +0.46 +0.55 +0.54 +0.52 +0.59 +0.84 +1.24 +1.69 +2.05 +2.19 +2.1 +1.96 +1.61 +1.17 +0.76 +0.5 +0.39 +0.37 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.53 +0.7 +0.77 +0.78 +0.77 +0.78 +0.77 +0.7 +0.53 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.37 +0.39 +0.5 +0.76 +1.17 +1.61 +1.96 +2.1 +1.96 +1.61 +1.17 +0.76 +0.5 +0.39 +0.37 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.53 +0.7 +0.77 +0.78 +0.77 +0.78 +0.77 +0.7 +0.53 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.37 +0.39 +0.5 +0.76 +1.17 +1.61 +1.96 +2.1 +2.19 +2.07 +1.73 +1.29 +0.87 +0.58 +0.42 +0.34 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.47 +0.68 +0.79 +0.83 +0.84 +0.83 +0.79 +0.68 +0.47 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.34 +0.42 +0.58 +0.87 +1.29 +1.73 +2.07 +2.19 +2.07 +1.73 +1.29 +0.87 +0.58 +0.42 +0.34 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.47 +0.68 +0.79 +0.83 +0.84 +0.83 +0.79 +0.68 +0.47 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.34 +0.42 +0.58 +0.87 +1.29 +1.73 +2.07 +2.19 +2.4 +2.28 +1.96 +1.53 +1.11 +0.78 +0.56 +0.41 +0.28 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.03 +0.34 +0.65 +0.89 +1.05 +1.13 +1.15 +1.13 +1.05 +0.89 +0.65 +0.34 +0.03 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.28 +0.41 +0.56 +0.78 +1.11 +1.53 +1.96 +2.28 +2.4 +2.28 +1.96 +1.53 +1.11 +0.78 +0.56 +0.41 +0.28 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.03 +0.34 +0.65 +0.89 +1.05 +1.13 +1.15 +1.13 +1.05 +0.89 +0.65 +0.34 +0.03 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.28 +0.41 +0.56 +0.78 +1.11 +1.53 +1.96 +2.28 +2.4 +2.57 +2.46 +2.17 +1.77 +1.36 +1.02 +0.76 +0.55 +0.37 +0.19 +0.05 +0.0 +0.0 +0.06 +0.15 +0.17 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.33 +0.25 +0.11 +0.01 +0.0 +0.13 +0.37 +0.67 +0.97 +1.23 +1.42 +1.53 +1.57 +1.53 +1.42 +1.23 +0.97 +0.67 +0.37 +0.13 +0.0 +0.01 +0.11 +0.25 +0.33 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.17 +0.15 +0.06 +0.0 +0.0 +0.05 +0.19 +0.37 +0.55 +0.76 +1.02 +1.36 +1.77 +2.17 +2.46 +2.57 +2.46 +2.17 +1.77 +1.36 +1.02 +0.76 +0.55 +0.37 +0.19 +0.05 +0.0 +0.0 +0.06 +0.15 +0.17 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.33 +0.25 +0.11 +0.01 +0.0 +0.13 +0.37 +0.67 +0.97 +1.23 +1.42 +1.53 +1.57 +1.53 +1.42 +1.23 +0.97 +0.67 +0.37 +0.13 +0.0 +0.01 +0.11 +0.25 +0.33 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.17 +0.15 +0.06 +0.0 +0.0 +0.05 +0.19 +0.37 +0.55 +0.76 +1.02 +1.36 +1.77 +2.17 +2.46 +2.57 +2.6 +2.5 +2.24 +1.89 +1.53 +1.2 +0.93 +0.7 +0.49 +0.31 +0.17 +0.12 +0.14 +0.2 +0.23 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.46 +0.4 +0.32 +0.28 +0.33 +0.49 +0.72 +0.99 +1.27 +1.53 +1.75 +1.88 +1.93 +1.88 +1.75 +1.53 +1.27 +0.99 +0.72 +0.49 +0.33 +0.28 +0.32 +0.4 +0.46 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.23 +0.2 +0.14 +0.12 +0.17 +0.31 +0.49 +0.7 +0.93 +1.2 +1.53 +1.89 +2.24 +2.5 +2.6 +2.5 +2.24 +1.89 +1.53 +1.2 +0.93 +0.7 +0.49 +0.31 +0.17 +0.12 +0.14 +0.2 +0.23 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.46 +0.4 +0.32 +0.28 +0.33 +0.49 +0.72 +0.99 +1.27 +1.53 +1.75 +1.88 +1.93 +1.88 +1.75 +1.53 +1.27 +0.99 +0.72 +0.49 +0.33 +0.28 +0.32 +0.4 +0.46 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.23 +0.2 +0.14 +0.12 +0.17 +0.31 +0.49 +0.7 +0.93 +1.2 +1.53 +1.89 +2.24 +2.5 +2.6 +2.47 +2.4 +2.18 +1.89 +1.58 +1.3 +1.05 +0.82 +0.6 +0.42 +0.3 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.45 +0.48 +0.44 +0.42 +0.46 +0.56 +0.74 +0.96 +1.21 +1.46 +1.71 +1.94 +2.09 +2.14 +2.09 +1.94 +1.71 +1.46 +1.21 +0.96 +0.74 +0.56 +0.46 +0.42 +0.44 +0.48 +0.45 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.3 +0.42 +0.6 +0.82 +1.05 +1.3 +1.58 +1.89 +2.18 +2.4 +2.47 +2.4 +2.18 +1.89 +1.58 +1.3 +1.05 +0.82 +0.6 +0.42 +0.3 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.45 +0.48 +0.44 +0.42 +0.46 +0.56 +0.74 +0.96 +1.21 +1.46 +1.71 +1.94 +2.09 +2.14 +2.09 +1.94 +1.71 +1.46 +1.21 +0.96 +0.74 +0.56 +0.46 +0.42 +0.44 +0.48 +0.45 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.3 +0.42 +0.6 +0.82 +1.05 +1.3 +1.58 +1.89 +2.18 +2.4 +2.47 +2.31 +2.24 +2.07 +1.83 +1.57 +1.33 +1.1 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.87 +1.08 +1.31 +1.54 +1.78 +2.0 +2.16 +2.22 +2.16 +2.0 +1.78 +1.54 +1.31 +1.08 +0.87 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.1 +1.33 +1.57 +1.83 +2.07 +2.24 +2.31 +2.24 +2.07 +1.83 +1.57 +1.33 +1.1 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.87 +1.08 +1.31 +1.54 +1.78 +2.0 +2.16 +2.22 +2.16 +2.0 +1.78 +1.54 +1.31 +1.08 +0.87 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.1 +1.33 +1.57 +1.83 +2.07 +2.24 +2.31 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.24 +2.07 +1.82 +1.57 +1.33 +1.1 +0.88 +0.68 +0.51 +0.39 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.27 +0.38 +0.41 +0.41 +0.43 +0.52 +0.67 +0.87 +1.08 +1.3 +1.54 +1.78 +2.0 +2.16 +2.22 +2.17 +2.01 +1.79 +1.55 +1.31 +1.09 +0.88 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.11 +1.33 +1.58 +1.83 +2.07 +2.25 +2.31 +2.24 +2.07 +1.82 +1.57 +1.33 +1.1 +0.88 +0.68 +0.51 +0.39 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.27 +0.38 +0.41 +0.41 +0.43 +0.52 +0.67 +0.87 +1.08 +1.3 +1.54 +1.78 +2.0 +2.16 +2.22 +2.17 +2.01 +1.79 +1.55 +1.31 +1.09 +0.88 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.11 +1.33 +1.58 +1.83 +2.07 +2.25 +2.31 +2.24 +2.39 +2.17 +1.88 +1.57 +1.28 +1.03 +0.8 +0.59 +0.41 +0.29 +0.25 +0.26 +0.29 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.46 +0.48 +0.44 +0.41 +0.45 +0.55 +0.73 +0.95 +1.19 +1.45 +1.7 +1.93 +2.08 +2.15 +2.1 +1.95 +1.73 +1.48 +1.22 +0.98 +0.75 +0.58 +0.47 +0.43 +0.45 +0.48 +0.45 +0.33 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.31 +0.44 +0.62 +0.83 +1.07 +1.32 +1.6 +1.91 +2.19 +2.4 +2.47 +2.39 +2.17 +1.88 +1.57 +1.28 +1.03 +0.8 +0.59 +0.41 +0.29 +0.25 +0.26 +0.29 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.46 +0.48 +0.44 +0.41 +0.45 +0.55 +0.73 +0.95 +1.19 +1.45 +1.7 +1.93 +2.08 +2.15 +2.1 +1.95 +1.73 +1.48 +1.22 +0.98 +0.75 +0.58 +0.47 +0.43 +0.45 +0.48 +0.45 +0.33 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.31 +0.44 +0.62 +0.83 +1.07 +1.32 +1.6 +1.91 +2.19 +2.4 +2.47 +2.39 +2.49 +2.22 +1.86 +1.49 +1.16 +0.89 +0.66 +0.45 +0.27 +0.15 +0.1 +0.12 +0.19 +0.23 +0.2 +0.08 +0.0 +0.0 +0.0 +0.0 +0.12 +0.32 +0.45 +0.46 +0.4 +0.31 +0.27 +0.32 +0.47 +0.7 +0.97 +1.25 +1.51 +1.73 +1.88 +1.94 +1.9 +1.77 +1.56 +1.3 +1.02 +0.74 +0.51 +0.36 +0.3 +0.33 +0.41 +0.47 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.2 +0.24 +0.21 +0.16 +0.14 +0.21 +0.34 +0.53 +0.74 +0.97 +1.25 +1.57 +1.93 +2.27 +2.52 +2.6 +2.49 +2.22 +1.86 +1.49 +1.16 +0.89 +0.66 +0.45 +0.27 +0.15 +0.1 +0.12 +0.19 +0.23 +0.2 +0.08 +0.0 +0.0 +0.0 +0.0 +0.12 +0.32 +0.45 +0.46 +0.4 +0.31 +0.27 +0.32 +0.47 +0.7 +0.97 +1.25 +1.51 +1.73 +1.88 +1.94 +1.9 +1.77 +1.56 +1.3 +1.02 +0.74 +0.51 +0.36 +0.3 +0.33 +0.41 +0.47 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.2 +0.24 +0.21 +0.16 +0.14 +0.21 +0.34 +0.53 +0.74 +0.97 +1.25 +1.57 +1.93 +2.27 +2.52 +2.6 +2.49 +2.44 +2.12 +1.71 +1.3 +0.95 +0.69 +0.48 +0.3 +0.13 +0.0 +0.0 +0.0 +0.04 +0.13 +0.15 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.32 +0.24 +0.1 +0.0 +0.0 +0.11 +0.35 +0.64 +0.94 +1.2 +1.4 +1.53 +1.58 +1.55 +1.45 +1.26 +1.01 +0.7 +0.4 +0.16 +0.03 +0.03 +0.13 +0.26 +0.34 +0.3 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.19 +0.18 +0.1 +0.04 +0.03 +0.12 +0.27 +0.44 +0.63 +0.84 +1.1 +1.43 +1.83 +2.21 +2.49 +2.58 +2.44 +2.12 +1.71 +1.3 +0.95 +0.69 +0.48 +0.3 +0.13 +0.0 +0.0 +0.0 +0.04 +0.13 +0.15 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.32 +0.24 +0.1 +0.0 +0.0 +0.11 +0.35 +0.64 +0.94 +1.2 +1.4 +1.53 +1.58 +1.55 +1.45 +1.26 +1.01 +0.7 +0.4 +0.16 +0.03 +0.03 +0.13 +0.26 +0.34 +0.3 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.19 +0.18 +0.1 +0.04 +0.03 +0.12 +0.27 +0.44 +0.63 +0.84 +1.1 +1.43 +1.83 +2.21 +2.49 +2.58 +2.44 +2.25 +1.9 +1.45 +1.02 +0.68 +0.46 +0.31 +0.18 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.12 +0.04 +0.0 +0.0 +0.0 +0.0 +0.01 +0.32 +0.63 +0.87 +1.03 +1.12 +1.16 +1.15 +1.08 +0.93 +0.69 +0.38 +0.06 +0.0 +0.0 +0.0 +0.0 +0.08 +0.15 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.13 +0.09 +0.0 +0.0 +0.0 +0.08 +0.24 +0.4 +0.53 +0.68 +0.9 +1.22 +1.62 +2.02 +2.32 +2.4 +2.25 +1.9 +1.45 +1.02 +0.68 +0.46 +0.31 +0.18 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.12 +0.04 +0.0 +0.0 +0.0 +0.0 +0.01 +0.32 +0.63 +0.87 +1.03 +1.12 +1.16 +1.15 +1.08 +0.93 +0.69 +0.38 +0.06 +0.0 +0.0 +0.0 +0.0 +0.08 +0.15 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.13 +0.09 +0.0 +0.0 +0.0 +0.08 +0.24 +0.4 +0.53 +0.68 +0.9 +1.22 +1.62 +2.02 +2.32 +2.4 +2.25 +2.03 +1.66 +1.19 +0.76 +0.45 +0.28 +0.19 +0.13 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.45 +0.66 +0.77 +0.82 +0.85 +0.85 +0.82 +0.71 +0.5 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.09 +0.04 +0.0 +0.0 +0.0 +0.13 +0.3 +0.42 +0.5 +0.58 +0.73 +1.01 +1.4 +1.8 +2.11 +2.19 +2.03 +1.66 +1.19 +0.76 +0.45 +0.28 +0.19 +0.13 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.45 +0.66 +0.77 +0.82 +0.85 +0.85 +0.82 +0.71 +0.5 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.09 +0.04 +0.0 +0.0 +0.0 +0.13 +0.3 +0.42 +0.5 +0.58 +0.73 +1.01 +1.4 +1.8 +2.11 +2.19 +2.03 +1.92 +1.54 +1.06 +0.63 +0.34 +0.22 +0.2 +0.19 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.51 +0.68 +0.76 +0.77 +0.78 +0.8 +0.8 +0.74 +0.56 +0.28 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.19 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.14 +0.08 +0.0 +0.0 +0.06 +0.25 +0.43 +0.54 +0.57 +0.58 +0.68 +0.91 +1.28 +1.69 +2.0 +2.09 +1.92 +1.54 +1.06 +0.63 +0.34 +0.22 +0.2 +0.19 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.51 +0.68 +0.76 +0.77 +0.78 +0.8 +0.8 +0.74 +0.56 +0.28 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.19 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.14 +0.08 +0.0 +0.0 +0.06 +0.25 +0.43 +0.54 +0.57 +0.58 +0.68 +0.91 +1.28 +1.69 +2.0 +2.09 +1.92 +2.01 +1.61 +1.12 +0.69 +0.42 +0.33 +0.35 +0.36 +0.3 +0.15 +0.0 +0.0 +0.0 +0.1 +0.23 +0.24 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.32 +0.5 +0.46 +0.25 +0.01 +0.0 +0.0 +0.2 +0.51 +0.78 +0.93 +0.98 +0.97 +0.96 +0.99 +1.02 +0.98 +0.83 +0.56 +0.24 +0.0 +0.0 +0.0 +0.24 +0.46 +0.53 +0.37 +0.05 +0.0 +0.0 +0.0 +0.0 +0.1 +0.3 +0.34 +0.24 +0.12 +0.1 +0.22 +0.43 +0.63 +0.74 +0.75 +0.72 +0.78 +0.99 +1.34 +1.76 +2.08 +2.18 +2.01 +1.61 +1.12 +0.69 +0.42 +0.33 +0.35 +0.36 +0.3 +0.15 +0.0 +0.0 +0.0 +0.1 +0.23 +0.24 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.32 +0.5 +0.46 +0.25 +0.01 +0.0 +0.0 +0.2 +0.51 +0.78 +0.93 +0.98 +0.97 +0.96 +0.99 +1.02 +0.98 +0.83 +0.56 +0.24 +0.0 +0.0 +0.0 +0.24 +0.46 +0.53 +0.37 +0.05 +0.0 +0.0 +0.0 +0.0 +0.1 +0.3 +0.34 +0.24 +0.12 +0.1 +0.22 +0.43 +0.63 +0.74 +0.75 +0.72 +0.78 +0.99 +1.34 +1.76 +2.08 +2.18 +2.01 +2.23 +1.84 +1.34 +0.9 +0.64 +0.56 +0.6 +0.63 +0.57 +0.41 +0.23 +0.15 +0.23 +0.42 +0.61 +0.67 +0.53 +0.26 +0.02 +0.0 +0.12 +0.45 +0.78 +0.95 +0.88 +0.64 +0.38 +0.24 +0.3 +0.53 +0.83 +1.09 +1.23 +1.26 +1.24 +1.23 +1.26 +1.29 +1.28 +1.14 +0.89 +0.57 +0.31 +0.21 +0.32 +0.57 +0.82 +0.91 +0.78 +0.46 +0.12 +0.0 +0.0 +0.18 +0.46 +0.64 +0.64 +0.5 +0.34 +0.3 +0.41 +0.64 +0.86 +0.99 +1.01 +0.97 +1.0 +1.19 +1.54 +1.95 +2.28 +2.4 +2.23 +1.84 +1.34 +0.9 +0.64 +0.56 +0.6 +0.63 +0.57 +0.41 +0.23 +0.15 +0.23 +0.42 +0.61 +0.67 +0.53 +0.26 +0.02 +0.0 +0.12 +0.45 +0.78 +0.95 +0.88 +0.64 +0.38 +0.24 +0.3 +0.53 +0.83 +1.09 +1.23 +1.26 +1.24 +1.23 +1.26 +1.29 +1.28 +1.14 +0.89 +0.57 +0.31 +0.21 +0.32 +0.57 +0.82 +0.91 +0.78 +0.46 +0.12 +0.0 +0.0 +0.18 +0.46 +0.64 +0.64 +0.5 +0.34 +0.3 +0.41 +0.64 +0.86 +0.99 +1.01 +0.97 +1.0 +1.19 +1.54 +1.95 +2.28 +2.4 +2.23 +2.45 +2.06 +1.57 +1.15 +0.9 +0.85 +0.9 +0.93 +0.86 +0.68 +0.5 +0.43 +0.54 +0.79 +1.02 +1.1 +0.97 +0.69 +0.42 +0.33 +0.48 +0.79 +1.09 +1.22 +1.12 +0.84 +0.55 +0.39 +0.45 +0.67 +0.96 +1.21 +1.34 +1.37 +1.34 +1.33 +1.35 +1.39 +1.38 +1.26 +1.01 +0.7 +0.44 +0.33 +0.43 +0.69 +0.97 +1.11 +1.02 +0.74 +0.41 +0.22 +0.25 +0.49 +0.79 +0.99 +0.99 +0.83 +0.63 +0.53 +0.62 +0.85 +1.1 +1.25 +1.28 +1.24 +1.25 +1.4 +1.73 +2.14 +2.48 +2.61 +2.45 +2.06 +1.57 +1.15 +0.9 +0.85 +0.9 +0.93 +0.86 +0.68 +0.5 +0.43 +0.54 +0.79 +1.02 +1.1 +0.97 +0.69 +0.42 +0.33 +0.48 +0.79 +1.09 +1.22 +1.12 +0.84 +0.55 +0.39 +0.45 +0.67 +0.96 +1.21 +1.34 +1.37 +1.34 +1.33 +1.35 +1.39 +1.38 +1.26 +1.01 +0.7 +0.44 +0.33 +0.43 +0.69 +0.97 +1.11 +1.02 +0.74 +0.41 +0.22 +0.25 +0.49 +0.79 +0.99 +0.99 +0.83 +0.63 +0.53 +0.62 +0.85 +1.1 +1.25 +1.28 +1.24 +1.25 +1.4 +1.73 +2.14 +2.48 +2.61 +2.45 +2.51 +2.14 +1.67 +1.29 +1.08 +1.07 +1.15 +1.19 +1.11 +0.92 +0.74 +0.69 +0.83 +1.1 +1.34 +1.4 +1.21 +0.87 +0.54 +0.4 +0.51 +0.78 +1.05 +1.13 +0.99 +0.69 +0.38 +0.22 +0.27 +0.49 +0.77 +1.01 +1.13 +1.15 +1.12 +1.1 +1.12 +1.15 +1.15 +1.05 +0.82 +0.53 +0.26 +0.14 +0.23 +0.49 +0.79 +0.98 +0.94 +0.71 +0.42 +0.26 +0.33 +0.63 +1.01 +1.28 +1.33 +1.18 +0.95 +0.81 +0.85 +1.05 +1.3 +1.47 +1.5 +1.44 +1.4 +1.5 +1.78 +2.17 +2.5 +2.64 +2.51 +2.14 +1.67 +1.29 +1.08 +1.07 +1.15 +1.19 +1.11 +0.92 +0.74 +0.69 +0.83 +1.1 +1.34 +1.4 +1.21 +0.87 +0.54 +0.4 +0.51 +0.78 +1.05 +1.13 +0.99 +0.69 +0.38 +0.22 +0.27 +0.49 +0.77 +1.01 +1.13 +1.15 +1.12 +1.1 +1.12 +1.15 +1.15 +1.05 +0.82 +0.53 +0.26 +0.14 +0.23 +0.49 +0.79 +0.98 +0.94 +0.71 +0.42 +0.26 +0.33 +0.63 +1.01 +1.28 +1.33 +1.18 +0.95 +0.81 +0.85 +1.05 +1.3 +1.47 +1.5 +1.44 +1.4 +1.5 +1.78 +2.17 +2.5 +2.64 +2.51 +2.33 +1.99 +1.57 +1.24 +1.11 +1.17 +1.3 +1.37 +1.29 +1.1 +0.92 +0.9 +1.06 +1.34 +1.55 +1.53 +1.23 +0.77 +0.34 +0.12 +0.18 +0.42 +0.65 +0.71 +0.54 +0.23 +0.0 +0.0 +0.0 +0.05 +0.32 +0.53 +0.63 +0.64 +0.59 +0.57 +0.59 +0.63 +0.65 +0.59 +0.4 +0.13 +0.0 +0.0 +0.0 +0.04 +0.36 +0.58 +0.6 +0.42 +0.17 +0.04 +0.18 +0.58 +1.09 +1.51 +1.67 +1.57 +1.32 +1.12 +1.09 +1.23 +1.46 +1.61 +1.62 +1.51 +1.39 +1.42 +1.63 +1.97 +2.3 +2.44 +2.33 +1.99 +1.57 +1.24 +1.11 +1.17 +1.3 +1.37 +1.29 +1.1 +0.92 +0.9 +1.06 +1.34 +1.55 +1.53 +1.23 +0.77 +0.34 +0.12 +0.18 +0.42 +0.65 +0.71 +0.54 +0.23 +0.0 +0.0 +0.0 +0.05 +0.32 +0.53 +0.63 +0.64 +0.59 +0.57 +0.59 +0.63 +0.65 +0.59 +0.4 +0.13 +0.0 +0.0 +0.0 +0.04 +0.36 +0.58 +0.6 +0.42 +0.17 +0.04 +0.18 +0.58 +1.09 +1.51 +1.67 +1.57 +1.32 +1.12 +1.09 +1.23 +1.46 +1.61 +1.62 +1.51 +1.39 +1.42 +1.63 +1.97 +2.3 +2.44 +2.33 +1.98 +1.67 +1.3 +1.03 +0.98 +1.12 +1.32 +1.44 +1.39 +1.22 +1.08 +1.09 +1.3 +1.58 +1.73 +1.6 +1.15 +0.52 +0.0 +0.0 +0.0 +0.0 +0.13 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.09 +0.07 +0.0 +0.0 +0.0 +0.07 +0.13 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.23 +0.08 +0.0 +0.0 +0.0 +0.47 +1.15 +1.75 +2.06 +2.03 +1.78 +1.5 +1.36 +1.41 +1.56 +1.66 +1.61 +1.42 +1.22 +1.15 +1.3 +1.6 +1.92 +2.08 +1.98 +1.67 +1.3 +1.03 +0.98 +1.12 +1.32 +1.44 +1.39 +1.22 +1.08 +1.09 +1.3 +1.58 +1.73 +1.6 +1.15 +0.52 +0.0 +0.0 +0.0 +0.0 +0.13 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.09 +0.07 +0.0 +0.0 +0.0 +0.07 +0.13 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.23 +0.08 +0.0 +0.0 +0.0 +0.47 +1.15 +1.75 +2.06 +2.03 +1.78 +1.5 +1.36 +1.41 +1.56 +1.66 +1.61 +1.42 +1.22 +1.15 +1.3 +1.6 +1.92 +2.08 +1.98 +1.61 +1.32 +0.96 +0.74 +0.74 +0.96 +1.23 +1.41 +1.41 +1.3 +1.23 +1.32 +1.59 +1.89 +2.0 +1.76 +1.15 +0.37 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.09 +0.0 +0.0 +0.0 +0.0 +0.48 +1.32 +2.09 +2.55 +2.59 +2.31 +1.93 +1.66 +1.58 +1.61 +1.63 +1.5 +1.23 +0.95 +0.81 +0.9 +1.19 +1.52 +1.69 +1.61 +1.32 +0.96 +0.74 +0.74 +0.96 +1.23 +1.41 +1.41 +1.3 +1.23 +1.32 +1.59 +1.89 +2.0 +1.76 +1.15 +0.37 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.09 +0.0 +0.0 +0.0 +0.0 +0.48 +1.32 +2.09 +2.55 +2.59 +2.31 +1.93 +1.66 +1.58 +1.61 +1.63 +1.5 +1.23 +0.95 +0.81 +0.9 +1.19 +1.52 +1.69 +1.61 +1.36 +1.06 +0.69 +0.47 +0.5 +0.75 +1.08 +1.32 +1.39 +1.37 +1.4 +1.61 +1.98 +2.34 +2.44 +2.12 +1.39 +0.47 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.3 +0.14 +0.0 +0.0 +0.0 +0.68 +1.64 +2.55 +3.12 +3.2 +2.88 +2.38 +1.96 +1.72 +1.63 +1.54 +1.34 +1.0 +0.67 +0.49 +0.57 +0.88 +1.23 +1.43 +1.36 +1.06 +0.69 +0.47 +0.5 +0.75 +1.08 +1.32 +1.39 +1.37 +1.4 +1.61 +1.98 +2.34 +2.44 +2.12 +1.39 +0.47 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.3 +0.14 +0.0 +0.0 +0.0 +0.68 +1.64 +2.55 +3.12 +3.2 +2.88 +2.38 +1.96 +1.72 +1.63 +1.54 +1.34 +1.0 +0.67 +0.49 +0.57 +0.88 +1.23 +1.43 +1.36 +1.26 +0.93 +0.53 +0.28 +0.3 +0.57 +0.93 +1.22 +1.37 +1.44 +1.6 +1.95 +2.45 +2.9 +3.02 +2.66 +1.85 +0.85 +0.01 +0.0 +0.0 +0.0 +0.24 +0.36 +0.22 +0.0 +0.0 +0.0 +0.0 +0.12 +0.36 +0.45 +0.36 +0.16 +0.0 +0.0 +0.0 +0.13 +0.4 +0.61 +0.67 +0.54 +0.29 +0.06 +0.0 +0.13 +0.43 +0.69 +0.75 +0.55 +0.24 +0.07 +0.29 +0.99 +2.0 +3.0 +3.63 +3.73 +3.36 +2.76 +2.19 +1.82 +1.62 +1.45 +1.18 +0.8 +0.44 +0.26 +0.36 +0.71 +1.1 +1.33 +1.26 +0.93 +0.53 +0.28 +0.3 +0.57 +0.93 +1.22 +1.37 +1.44 +1.6 +1.95 +2.45 +2.9 +3.02 +2.66 +1.85 +0.85 +0.01 +0.0 +0.0 +0.0 +0.24 +0.36 +0.22 +0.0 +0.0 +0.0 +0.0 +0.12 +0.36 +0.45 +0.36 +0.16 +0.0 +0.0 +0.0 +0.13 +0.4 +0.61 +0.67 +0.54 +0.29 +0.06 +0.0 +0.13 +0.43 +0.69 +0.75 +0.55 +0.24 +0.07 +0.29 +0.99 +2.0 +3.0 +3.63 +3.73 +3.36 +2.76 +2.19 +1.82 +1.62 +1.45 +1.18 +0.8 +0.44 +0.26 +0.36 +0.71 +1.1 +1.33 +1.26 +1.27 +0.92 +0.48 +0.19 +0.18 +0.45 +0.83 +1.16 +1.37 +1.53 +1.8 +2.27 +2.89 +3.43 +3.6 +3.24 +2.39 +1.34 +0.47 +0.03 +0.07 +0.42 +0.77 +0.9 +0.76 +0.48 +0.26 +0.23 +0.42 +0.71 +0.94 +1.0 +0.87 +0.62 +0.37 +0.25 +0.31 +0.53 +0.82 +1.07 +1.16 +1.04 +0.78 +0.53 +0.43 +0.56 +0.85 +1.1 +1.15 +0.92 +0.56 +0.34 +0.52 +1.21 +2.24 +3.26 +3.93 +4.03 +3.62 +2.95 +2.3 +1.85 +1.58 +1.36 +1.06 +0.67 +0.31 +0.14 +0.27 +0.66 +1.09 +1.34 +1.27 +0.92 +0.48 +0.19 +0.18 +0.45 +0.83 +1.16 +1.37 +1.53 +1.8 +2.27 +2.89 +3.43 +3.6 +3.24 +2.39 +1.34 +0.47 +0.03 +0.07 +0.42 +0.77 +0.9 +0.76 +0.48 +0.26 +0.23 +0.42 +0.71 +0.94 +1.0 +0.87 +0.62 +0.37 +0.25 +0.31 +0.53 +0.82 +1.07 +1.16 +1.04 +0.78 +0.53 +0.43 +0.56 +0.85 +1.1 +1.15 +0.92 +0.56 +0.34 +0.52 +1.21 +2.24 +3.26 +3.93 +4.03 +3.62 +2.95 +2.3 +1.85 +1.58 +1.36 +1.06 +0.67 +0.31 +0.14 +0.27 +0.66 +1.09 +1.34 +1.27 +1.29 +0.93 +0.48 +0.17 +0.15 +0.41 +0.8 +1.15 +1.4 +1.62 +1.96 +2.51 +3.2 +3.79 +4.0 +3.65 +2.79 +1.72 +0.81 +0.36 +0.4 +0.75 +1.1 +1.23 +1.09 +0.81 +0.58 +0.55 +0.75 +1.03 +1.25 +1.29 +1.13 +0.85 +0.57 +0.43 +0.47 +0.68 +0.97 +1.22 +1.3 +1.18 +0.91 +0.65 +0.54 +0.66 +0.93 +1.18 +1.22 +0.98 +0.59 +0.34 +0.49 +1.15 +2.17 +3.2 +3.87 +3.98 +3.58 +2.91 +2.26 +1.8 +1.53 +1.31 +1.02 +0.63 +0.28 +0.12 +0.26 +0.66 +1.1 +1.36 +1.29 +0.93 +0.48 +0.17 +0.15 +0.41 +0.8 +1.15 +1.4 +1.62 +1.96 +2.51 +3.2 +3.79 +4.0 +3.65 +2.79 +1.72 +0.81 +0.36 +0.4 +0.75 +1.1 +1.23 +1.09 +0.81 +0.58 +0.55 +0.75 +1.03 +1.25 +1.29 +1.13 +0.85 +0.57 +0.43 +0.47 +0.68 +0.97 +1.22 +1.3 +1.18 +0.91 +0.65 +0.54 +0.66 +0.93 +1.18 +1.22 +0.98 +0.59 +0.34 +0.49 +1.15 +2.17 +3.2 +3.87 +3.98 +3.58 +2.91 +2.26 +1.8 +1.53 +1.31 +1.02 +0.63 +0.28 +0.12 +0.26 +0.66 +1.1 +1.36 +1.29 +1.29 +0.94 +0.5 +0.2 +0.2 +0.47 +0.86 +1.22 +1.48 +1.7 +2.04 +2.59 +3.28 +3.88 +4.09 +3.75 +2.9 +1.83 +0.91 +0.42 +0.43 +0.74 +1.07 +1.19 +1.04 +0.74 +0.5 +0.47 +0.64 +0.92 +1.13 +1.17 +1.0 +0.72 +0.44 +0.28 +0.3 +0.48 +0.74 +0.95 +1.01 +0.87 +0.6 +0.33 +0.22 +0.34 +0.61 +0.85 +0.89 +0.65 +0.27 +0.02 +0.16 +0.8 +1.79 +2.79 +3.46 +3.59 +3.24 +2.64 +2.06 +1.68 +1.47 +1.31 +1.05 +0.69 +0.33 +0.17 +0.3 +0.68 +1.11 +1.36 +1.29 +0.94 +0.5 +0.2 +0.2 +0.47 +0.86 +1.22 +1.48 +1.7 +2.04 +2.59 +3.28 +3.88 +4.09 +3.75 +2.9 +1.83 +0.91 +0.42 +0.43 +0.74 +1.07 +1.19 +1.04 +0.74 +0.5 +0.47 +0.64 +0.92 +1.13 +1.17 +1.0 +0.72 +0.44 +0.28 +0.3 +0.48 +0.74 +0.95 +1.01 +0.87 +0.6 +0.33 +0.22 +0.34 +0.61 +0.85 +0.89 +0.65 +0.27 +0.02 +0.16 +0.8 +1.79 +2.79 +3.46 +3.59 +3.24 +2.64 +2.06 +1.68 +1.47 +1.31 +1.05 +0.69 +0.33 +0.17 +0.3 +0.68 +1.11 +1.36 +1.29 +1.3 +0.98 +0.58 +0.32 +0.34 +0.62 +1.01 +1.35 +1.58 +1.75 +2.03 +2.5 +3.11 +3.66 +3.87 +3.54 +2.72 +1.67 +0.75 +0.24 +0.19 +0.45 +0.74 +0.83 +0.66 +0.36 +0.1 +0.05 +0.2 +0.46 +0.67 +0.72 +0.58 +0.33 +0.07 +0.0 +0.0 +0.07 +0.27 +0.43 +0.44 +0.28 +0.0 +0.0 +0.0 +0.0 +0.06 +0.3 +0.34 +0.12 +0.0 +0.0 +0.0 +0.32 +1.26 +2.21 +2.85 +3.0 +2.72 +2.23 +1.78 +1.53 +1.43 +1.35 +1.15 +0.81 +0.47 +0.29 +0.39 +0.73 +1.13 +1.36 +1.3 +0.98 +0.58 +0.32 +0.34 +0.62 +1.01 +1.35 +1.58 +1.75 +2.03 +2.5 +3.11 +3.66 +3.87 +3.54 +2.72 +1.67 +0.75 +0.24 +0.19 +0.45 +0.74 +0.83 +0.66 +0.36 +0.1 +0.05 +0.2 +0.46 +0.67 +0.72 +0.58 +0.33 +0.07 +0.0 +0.0 +0.07 +0.27 +0.43 +0.44 +0.28 +0.0 +0.0 +0.0 +0.0 +0.06 +0.3 +0.34 +0.12 +0.0 +0.0 +0.0 +0.32 +1.26 +2.21 +2.85 +3.0 +2.72 +2.23 +1.78 +1.53 +1.43 +1.35 +1.15 +0.81 +0.47 +0.29 +0.39 +0.73 +1.13 +1.36 +1.3 +1.41 +1.13 +0.78 +0.55 +0.59 +0.85 +1.22 +1.52 +1.68 +1.76 +1.92 +2.26 +2.76 +3.23 +3.41 +3.12 +2.38 +1.4 +0.52 +0.0 +0.0 +0.1 +0.34 +0.41 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.22 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.82 +1.69 +2.26 +2.4 +2.17 +1.79 +1.49 +1.37 +1.4 +1.4 +1.27 +0.98 +0.66 +0.49 +0.57 +0.87 +1.24 +1.46 +1.41 +1.13 +0.78 +0.55 +0.59 +0.85 +1.22 +1.52 +1.68 +1.76 +1.92 +2.26 +2.76 +3.23 +3.41 +3.12 +2.38 +1.4 +0.52 +0.0 +0.0 +0.1 +0.34 +0.41 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.22 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.82 +1.69 +2.26 +2.4 +2.17 +1.79 +1.49 +1.37 +1.4 +1.4 +1.27 +0.98 +0.66 +0.49 +0.57 +0.87 +1.24 +1.46 +1.41 +1.67 +1.42 +1.1 +0.89 +0.91 +1.13 +1.44 +1.67 +1.75 +1.73 +1.75 +1.94 +2.3 +2.67 +2.85 +2.63 +2.01 +1.16 +0.37 +0.0 +0.0 +0.0 +0.14 +0.19 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.67 +1.39 +1.85 +1.94 +1.73 +1.43 +1.24 +1.24 +1.36 +1.44 +1.37 +1.13 +0.86 +0.72 +0.82 +1.12 +1.48 +1.7 +1.67 +1.42 +1.1 +0.89 +0.91 +1.13 +1.44 +1.67 +1.75 +1.73 +1.75 +1.94 +2.3 +2.67 +2.85 +2.63 +2.01 +1.16 +0.37 +0.0 +0.0 +0.0 +0.14 +0.19 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.67 +1.39 +1.85 +1.94 +1.73 +1.43 +1.24 +1.24 +1.36 +1.44 +1.37 +1.13 +0.86 +0.72 +0.82 +1.12 +1.48 +1.7 +1.67 +2.03 +1.81 +1.49 +1.27 +1.23 +1.39 +1.62 +1.77 +1.77 +1.65 +1.54 +1.58 +1.81 +2.11 +2.29 +2.17 +1.71 +1.03 +0.37 +0.0 +0.0 +0.03 +0.23 +0.3 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.17 +0.13 +0.05 +0.0 +0.0 +0.04 +0.09 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.21 +0.08 +0.0 +0.0 +0.0 +0.19 +0.79 +1.36 +1.67 +1.67 +1.44 +1.18 +1.05 +1.12 +1.29 +1.42 +1.39 +1.21 +1.01 +0.94 +1.08 +1.42 +1.79 +2.03 +2.03 +1.81 +1.49 +1.27 +1.23 +1.39 +1.62 +1.77 +1.77 +1.65 +1.54 +1.58 +1.81 +2.11 +2.29 +2.17 +1.71 +1.03 +0.37 +0.0 +0.0 +0.03 +0.23 +0.3 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.17 +0.13 +0.05 +0.0 +0.0 +0.04 +0.09 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.21 +0.08 +0.0 +0.0 +0.0 +0.19 +0.79 +1.36 +1.67 +1.67 +1.44 +1.18 +1.05 +1.12 +1.29 +1.42 +1.39 +1.21 +1.01 +0.94 +1.08 +1.42 +1.79 +2.03 +2.03 +2.37 +2.16 +1.85 +1.58 +1.48 +1.55 +1.69 +1.77 +1.71 +1.52 +1.32 +1.24 +1.35 +1.59 +1.78 +1.76 +1.47 +0.97 +0.46 +0.15 +0.11 +0.29 +0.52 +0.62 +0.51 +0.23 +0.0 +0.0 +0.0 +0.0 +0.25 +0.5 +0.63 +0.66 +0.62 +0.58 +0.58 +0.61 +0.64 +0.6 +0.46 +0.23 +0.0 +0.0 +0.0 +0.08 +0.41 +0.68 +0.77 +0.63 +0.38 +0.2 +0.25 +0.56 +1.02 +1.43 +1.61 +1.51 +1.24 +0.99 +0.89 +0.98 +1.16 +1.3 +1.29 +1.17 +1.03 +1.04 +1.26 +1.65 +2.07 +2.34 +2.37 +2.16 +1.85 +1.58 +1.48 +1.55 +1.69 +1.77 +1.71 +1.52 +1.32 +1.24 +1.35 +1.59 +1.78 +1.76 +1.47 +0.97 +0.46 +0.15 +0.11 +0.29 +0.52 +0.62 +0.51 +0.23 +0.0 +0.0 +0.0 +0.0 +0.25 +0.5 +0.63 +0.66 +0.62 +0.58 +0.58 +0.61 +0.64 +0.6 +0.46 +0.23 +0.0 +0.0 +0.0 +0.08 +0.41 +0.68 +0.77 +0.63 +0.38 +0.2 +0.25 +0.56 +1.02 +1.43 +1.61 +1.51 +1.24 +0.99 +0.89 +0.98 +1.16 +1.3 +1.29 +1.17 +1.03 +1.04 +1.26 +1.65 +2.07 +2.34 +2.37 +2.55 +2.36 +2.04 +1.73 +1.57 +1.56 +1.64 +1.68 +1.59 +1.37 +1.11 +0.95 +0.97 +1.14 +1.33 +1.39 +1.23 +0.88 +0.5 +0.26 +0.27 +0.49 +0.77 +0.93 +0.87 +0.64 +0.35 +0.15 +0.15 +0.34 +0.63 +0.91 +1.1 +1.16 +1.14 +1.11 +1.1 +1.12 +1.14 +1.09 +0.93 +0.69 +0.43 +0.27 +0.31 +0.54 +0.87 +1.13 +1.19 +1.04 +0.76 +0.54 +0.53 +0.75 +1.1 +1.4 +1.48 +1.32 +1.03 +0.78 +0.69 +0.77 +0.94 +1.07 +1.07 +0.98 +0.9 +0.97 +1.26 +1.7 +2.17 +2.48 +2.55 +2.36 +2.04 +1.73 +1.57 +1.56 +1.64 +1.68 +1.59 +1.37 +1.11 +0.95 +0.97 +1.14 +1.33 +1.39 +1.23 +0.88 +0.5 +0.26 +0.27 +0.49 +0.77 +0.93 +0.87 +0.64 +0.35 +0.15 +0.15 +0.34 +0.63 +0.91 +1.1 +1.16 +1.14 +1.11 +1.1 +1.12 +1.14 +1.09 +0.93 +0.69 +0.43 +0.27 +0.31 +0.54 +0.87 +1.13 +1.19 +1.04 +0.76 +0.54 +0.53 +0.75 +1.1 +1.4 +1.48 +1.32 +1.03 +0.78 +0.69 +0.77 +0.94 +1.07 +1.07 +0.98 +0.9 +0.97 +1.26 +1.7 +2.17 +2.48 +2.55 +2.5 +2.35 +2.03 +1.71 +1.5 +1.44 +1.48 +1.5 +1.42 +1.2 +0.92 +0.71 +0.66 +0.77 +0.95 +1.04 +0.94 +0.68 +0.38 +0.19 +0.23 +0.47 +0.79 +1.01 +1.02 +0.83 +0.56 +0.35 +0.33 +0.51 +0.81 +1.11 +1.32 +1.41 +1.4 +1.35 +1.33 +1.35 +1.36 +1.3 +1.14 +0.88 +0.61 +0.45 +0.47 +0.69 +0.99 +1.22 +1.26 +1.07 +0.76 +0.5 +0.44 +0.61 +0.89 +1.13 +1.18 +1.01 +0.74 +0.5 +0.42 +0.5 +0.65 +0.75 +0.75 +0.67 +0.63 +0.75 +1.07 +1.55 +2.05 +2.4 +2.5 +2.35 +2.03 +1.71 +1.5 +1.44 +1.48 +1.5 +1.42 +1.2 +0.92 +0.71 +0.66 +0.77 +0.95 +1.04 +0.94 +0.68 +0.38 +0.19 +0.23 +0.47 +0.79 +1.01 +1.02 +0.83 +0.56 +0.35 +0.33 +0.51 +0.81 +1.11 +1.32 +1.41 +1.4 +1.35 +1.33 +1.35 +1.36 +1.3 +1.14 +0.88 +0.61 +0.45 +0.47 +0.69 +0.99 +1.22 +1.26 +1.07 +0.76 +0.5 +0.44 +0.61 +0.89 +1.13 +1.18 +1.01 +0.74 +0.5 +0.42 +0.5 +0.65 +0.75 +0.75 +0.67 +0.63 +0.75 +1.07 +1.55 +2.05 +2.4 +2.5 +2.31 +2.19 +1.9 +1.58 +1.34 +1.26 +1.28 +1.3 +1.24 +1.05 +0.78 +0.55 +0.45 +0.51 +0.65 +0.73 +0.65 +0.41 +0.13 +0.0 +0.0 +0.22 +0.56 +0.82 +0.88 +0.74 +0.48 +0.28 +0.24 +0.39 +0.69 +1.0 +1.23 +1.34 +1.33 +1.28 +1.25 +1.25 +1.25 +1.19 +1.02 +0.76 +0.48 +0.3 +0.3 +0.49 +0.76 +0.96 +0.96 +0.74 +0.4 +0.12 +0.03 +0.17 +0.43 +0.66 +0.73 +0.6 +0.37 +0.18 +0.11 +0.18 +0.32 +0.41 +0.4 +0.33 +0.31 +0.45 +0.78 +1.27 +1.79 +2.17 +2.31 +2.19 +1.9 +1.58 +1.34 +1.26 +1.28 +1.3 +1.24 +1.05 +0.78 +0.55 +0.45 +0.51 +0.65 +0.73 +0.65 +0.41 +0.13 +0.0 +0.0 +0.22 +0.56 +0.82 +0.88 +0.74 +0.48 +0.28 +0.24 +0.39 +0.69 +1.0 +1.23 +1.34 +1.33 +1.28 +1.25 +1.25 +1.25 +1.19 +1.02 +0.76 +0.48 +0.3 +0.3 +0.49 +0.76 +0.96 +0.96 +0.74 +0.4 +0.12 +0.03 +0.17 +0.43 +0.66 +0.73 +0.6 +0.37 +0.18 +0.11 +0.18 +0.32 +0.41 +0.4 +0.33 +0.31 +0.45 +0.78 +1.27 +1.79 +2.17 +2.31 +2.11 +2.04 +1.78 +1.47 +1.22 +1.11 +1.11 +1.13 +1.09 +0.92 +0.68 +0.45 +0.34 +0.37 +0.46 +0.51 +0.42 +0.18 +0.0 +0.0 +0.0 +0.0 +0.23 +0.5 +0.59 +0.47 +0.23 +0.02 +0.0 +0.11 +0.4 +0.72 +0.97 +1.09 +1.1 +1.05 +1.01 +1.0 +0.99 +0.91 +0.73 +0.46 +0.17 +0.0 +0.0 +0.12 +0.35 +0.53 +0.51 +0.28 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.27 +0.2 +0.03 +0.0 +0.0 +0.0 +0.01 +0.1 +0.1 +0.06 +0.06 +0.2 +0.54 +1.02 +1.54 +1.94 +2.11 +2.04 +1.78 +1.47 +1.22 +1.11 +1.11 +1.13 +1.09 +0.92 +0.68 +0.45 +0.34 +0.37 +0.46 +0.51 +0.42 +0.18 +0.0 +0.0 +0.0 +0.0 +0.23 +0.5 +0.59 +0.47 +0.23 +0.02 +0.0 +0.11 +0.4 +0.72 +0.97 +1.09 +1.1 +1.05 +1.01 +1.0 +0.99 +0.91 +0.73 +0.46 +0.17 +0.0 +0.0 +0.12 +0.35 +0.53 +0.51 +0.28 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.27 +0.2 +0.03 +0.0 +0.0 +0.0 +0.01 +0.1 +0.1 +0.06 +0.06 +0.2 +0.54 +1.02 +1.54 +1.94 +2.11 +2.07 +2.03 +1.8 +1.5 +1.23 +1.08 +1.04 +1.03 +0.98 +0.83 +0.62 +0.42 +0.32 +0.33 +0.41 +0.43 +0.32 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.25 +0.34 +0.23 +0.01 +0.0 +0.0 +0.0 +0.14 +0.47 +0.74 +0.89 +0.93 +0.9 +0.86 +0.82 +0.78 +0.68 +0.49 +0.21 +0.0 +0.0 +0.0 +0.0 +0.01 +0.17 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.45 +0.93 +1.44 +1.86 +2.07 +2.03 +1.8 +1.5 +1.23 +1.08 +1.04 +1.03 +0.98 +0.83 +0.62 +0.42 +0.32 +0.33 +0.41 +0.43 +0.32 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.25 +0.34 +0.23 +0.01 +0.0 +0.0 +0.0 +0.14 +0.47 +0.74 +0.89 +0.93 +0.9 +0.86 +0.82 +0.78 +0.68 +0.49 +0.21 +0.0 +0.0 +0.0 +0.0 +0.01 +0.17 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.45 +0.93 +1.44 +1.86 +2.07 +2.2 +2.19 +1.98 +1.68 +1.38 +1.18 +1.07 +1.01 +0.92 +0.77 +0.59 +0.42 +0.35 +0.38 +0.45 +0.46 +0.34 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.27 +0.17 +0.0 +0.0 +0.0 +0.0 +0.11 +0.44 +0.73 +0.92 +1.0 +0.99 +0.94 +0.88 +0.79 +0.66 +0.44 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.23 +0.58 +1.05 +1.55 +1.97 +2.2 +2.19 +1.98 +1.68 +1.38 +1.18 +1.07 +1.01 +0.92 +0.77 +0.59 +0.42 +0.35 +0.38 +0.45 +0.46 +0.34 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.27 +0.17 +0.0 +0.0 +0.0 +0.0 +0.11 +0.44 +0.73 +0.92 +1.0 +0.99 +0.94 +0.88 +0.79 +0.66 +0.44 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.23 +0.58 +1.05 +1.55 +1.97 +2.2 +2.43 +2.44 +2.24 +1.93 +1.61 +1.35 +1.17 +1.03 +0.9 +0.73 +0.56 +0.44 +0.4 +0.44 +0.5 +0.51 +0.39 +0.18 +0.0 +0.0 +0.0 +0.0 +0.17 +0.34 +0.38 +0.29 +0.12 +0.0 +0.0 +0.07 +0.33 +0.65 +0.95 +1.17 +1.29 +1.31 +1.26 +1.17 +1.04 +0.85 +0.61 +0.33 +0.04 +0.0 +0.0 +0.0 +0.0 +0.17 +0.23 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.24 +0.48 +0.84 +1.3 +1.79 +2.2 +2.43 +2.44 +2.24 +1.93 +1.61 +1.35 +1.17 +1.03 +0.9 +0.73 +0.56 +0.44 +0.4 +0.44 +0.5 +0.51 +0.39 +0.18 +0.0 +0.0 +0.0 +0.0 +0.17 +0.34 +0.38 +0.29 +0.12 +0.0 +0.0 +0.07 +0.33 +0.65 +0.95 +1.17 +1.29 +1.31 +1.26 +1.17 +1.04 +0.85 +0.61 +0.33 +0.04 +0.0 +0.0 +0.0 +0.0 +0.17 +0.23 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.24 +0.48 +0.84 +1.3 +1.79 +2.2 +2.43 +2.61 +2.61 +2.43 +2.13 +1.79 +1.5 +1.26 +1.06 +0.88 +0.7 +0.54 +0.45 +0.43 +0.47 +0.51 +0.49 +0.37 +0.19 +0.02 +0.0 +0.0 +0.16 +0.36 +0.5 +0.54 +0.46 +0.35 +0.27 +0.29 +0.43 +0.68 +0.99 +1.29 +1.53 +1.68 +1.73 +1.68 +1.56 +1.38 +1.15 +0.89 +0.6 +0.33 +0.13 +0.03 +0.06 +0.19 +0.35 +0.44 +0.42 +0.28 +0.09 +0.0 +0.0 +0.0 +0.1 +0.22 +0.26 +0.2 +0.08 +0.0 +0.0 +0.0 +0.01 +0.14 +0.3 +0.49 +0.76 +1.11 +1.55 +2.01 +2.39 +2.61 +2.61 +2.43 +2.13 +1.79 +1.5 +1.26 +1.06 +0.88 +0.7 +0.54 +0.45 +0.43 +0.47 +0.51 +0.49 +0.37 +0.19 +0.02 +0.0 +0.0 +0.16 +0.36 +0.5 +0.54 +0.46 +0.35 +0.27 +0.29 +0.43 +0.68 +0.99 +1.29 +1.53 +1.68 +1.73 +1.68 +1.56 +1.38 +1.15 +0.89 +0.6 +0.33 +0.13 +0.03 +0.06 +0.19 +0.35 +0.44 +0.42 +0.28 +0.09 +0.0 +0.0 +0.0 +0.1 +0.22 +0.26 +0.2 +0.08 +0.0 +0.0 +0.0 +0.01 +0.14 +0.3 +0.49 +0.76 +1.11 +1.55 +2.01 +2.39 +2.61 +2.62 +2.62 +2.46 +2.18 +1.86 +1.56 +1.3 +1.06 +0.85 +0.66 +0.52 +0.44 +0.43 +0.45 +0.44 +0.37 +0.23 +0.06 +0.0 +0.0 +0.06 +0.25 +0.44 +0.57 +0.6 +0.57 +0.52 +0.51 +0.59 +0.76 +1.0 +1.29 +1.57 +1.82 +1.99 +2.07 +2.03 +1.9 +1.69 +1.43 +1.15 +0.87 +0.62 +0.41 +0.29 +0.26 +0.33 +0.45 +0.55 +0.57 +0.48 +0.31 +0.13 +0.03 +0.04 +0.14 +0.27 +0.35 +0.36 +0.28 +0.18 +0.1 +0.1 +0.18 +0.32 +0.5 +0.72 +0.98 +1.32 +1.71 +2.1 +2.43 +2.62 +2.62 +2.46 +2.18 +1.86 +1.56 +1.3 +1.06 +0.85 +0.66 +0.52 +0.44 +0.43 +0.45 +0.44 +0.37 +0.23 +0.06 +0.0 +0.0 +0.06 +0.25 +0.44 +0.57 +0.6 +0.57 +0.52 +0.51 +0.59 +0.76 +1.0 +1.29 +1.57 +1.82 +1.99 +2.07 +2.03 +1.9 +1.69 +1.43 +1.15 +0.87 +0.62 +0.41 +0.29 +0.26 +0.33 +0.45 +0.55 +0.57 +0.48 +0.31 +0.13 +0.03 +0.04 +0.14 +0.27 +0.35 +0.36 +0.28 +0.18 +0.1 +0.1 +0.18 +0.32 +0.5 +0.72 +0.98 +1.32 +1.71 +2.1 +2.43 +2.62 +2.48 +2.47 +2.32 +2.08 +1.8 +1.52 +1.26 +1.02 +0.81 +0.62 +0.5 +0.43 +0.42 +0.4 +0.34 +0.2 +0.01 +0.0 +0.0 +0.0 +0.0 +0.19 +0.38 +0.5 +0.53 +0.53 +0.55 +0.61 +0.75 +0.94 +1.18 +1.44 +1.7 +1.95 +2.14 +2.24 +2.23 +2.1 +1.88 +1.61 +1.33 +1.07 +0.83 +0.62 +0.46 +0.38 +0.38 +0.44 +0.51 +0.53 +0.46 +0.3 +0.1 +0.0 +0.0 +0.0 +0.15 +0.31 +0.39 +0.39 +0.33 +0.27 +0.26 +0.33 +0.47 +0.66 +0.88 +1.13 +1.42 +1.74 +2.07 +2.33 +2.48 +2.47 +2.32 +2.08 +1.8 +1.52 +1.26 +1.02 +0.81 +0.62 +0.5 +0.43 +0.42 +0.4 +0.34 +0.2 +0.01 +0.0 +0.0 +0.0 +0.0 +0.19 +0.38 +0.5 +0.53 +0.53 +0.55 +0.61 +0.75 +0.94 +1.18 +1.44 +1.7 +1.95 +2.14 +2.24 +2.23 +2.1 +1.88 +1.61 +1.33 +1.07 +0.83 +0.62 +0.46 +0.38 +0.38 +0.44 +0.51 +0.53 +0.46 +0.3 +0.1 +0.0 +0.0 +0.0 +0.15 +0.31 +0.39 +0.39 +0.33 +0.27 +0.26 +0.33 +0.47 +0.66 +0.88 +1.13 +1.42 +1.74 +2.07 +2.33 +2.48 +2.3 +2.27 +2.13 +1.91 +1.66 +1.42 +1.18 +0.95 +0.75 +0.58 +0.47 +0.42 +0.41 +0.37 +0.26 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.27 +0.38 +0.41 +0.43 +0.47 +0.59 +0.76 +0.96 +1.19 +1.43 +1.67 +1.92 +2.14 +2.28 +2.3 +2.19 +1.99 +1.73 +1.46 +1.21 +0.98 +0.77 +0.58 +0.44 +0.37 +0.37 +0.4 +0.41 +0.33 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.34 +0.41 +0.4 +0.37 +0.37 +0.45 +0.59 +0.78 +0.99 +1.22 +1.47 +1.74 +2.0 +2.2 +2.3 +2.27 +2.13 +1.91 +1.66 +1.42 +1.18 +0.95 +0.75 +0.58 +0.47 +0.42 +0.41 +0.37 +0.26 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.27 +0.38 +0.41 +0.43 +0.47 +0.59 +0.76 +0.96 +1.19 +1.43 +1.67 +1.92 +2.14 +2.28 +2.3 +2.19 +1.99 +1.73 +1.46 +1.21 +0.98 +0.77 +0.58 +0.44 +0.37 +0.37 +0.4 +0.41 +0.33 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.34 +0.41 +0.4 +0.37 +0.37 +0.45 +0.59 +0.78 +0.99 +1.22 +1.47 +1.74 +2.0 +2.2 +2.3 +2.22 +2.16 +2.0 +1.78 +1.54 +1.31 +1.08 +0.87 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.1 +1.33 +1.57 +1.83 +2.07 +2.24 +2.31 +2.24 +2.07 +1.83 +1.57 +1.33 +1.1 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.87 +1.08 +1.31 +1.54 +1.78 +2.0 +2.16 +2.22 +2.16 +2.0 +1.78 +1.54 +1.31 +1.08 +0.87 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.1 +1.33 +1.57 +1.83 +2.07 +2.24 +2.31 +2.24 +2.07 +1.83 +1.57 +1.33 +1.1 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.87 +1.08 +1.31 +1.54 +1.78 +2.0 +2.16 +2.22 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +2.06 +1.82 +1.56 +1.32 +1.09 +0.88 +0.67 +0.5 +0.39 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.27 +0.38 +0.41 +0.41 +0.43 +0.52 +0.67 +0.86 +1.08 +1.3 +1.53 +1.77 +2.0 +2.16 +2.22 +2.17 +2.01 +1.79 +1.55 +1.32 +1.09 +0.88 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.26 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.69 +0.89 +1.11 +1.34 +1.58 +1.84 +2.07 +2.25 +2.31 +2.24 +2.06 +1.82 +1.56 +1.32 +1.09 +0.88 +0.67 +0.5 +0.39 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.27 +0.38 +0.41 +0.41 +0.43 +0.52 +0.67 +0.86 +1.08 +1.3 +1.53 +1.77 +2.0 +2.16 +2.22 +2.17 +2.01 +1.79 +1.55 +1.32 +1.09 +0.88 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.26 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.69 +0.89 +1.11 +1.34 +1.58 +1.84 +2.07 +2.25 +2.31 +2.24 +2.06 +2.16 +1.86 +1.55 +1.26 +1.01 +0.78 +0.57 +0.4 +0.28 +0.24 +0.26 +0.29 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.35 +0.46 +0.48 +0.44 +0.41 +0.44 +0.54 +0.72 +0.93 +1.18 +1.44 +1.69 +1.92 +2.08 +2.15 +2.1 +1.96 +1.75 +1.5 +1.24 +0.99 +0.77 +0.59 +0.48 +0.44 +0.45 +0.48 +0.45 +0.33 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.28 +0.27 +0.33 +0.45 +0.64 +0.85 +1.09 +1.34 +1.62 +1.92 +2.21 +2.41 +2.47 +2.38 +2.16 +1.86 +1.55 +1.26 +1.01 +0.78 +0.57 +0.4 +0.28 +0.24 +0.26 +0.29 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.35 +0.46 +0.48 +0.44 +0.41 +0.44 +0.54 +0.72 +0.93 +1.18 +1.44 +1.69 +1.92 +2.08 +2.15 +2.1 +1.96 +1.75 +1.5 +1.24 +0.99 +0.77 +0.59 +0.48 +0.44 +0.45 +0.48 +0.45 +0.33 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.28 +0.27 +0.33 +0.45 +0.64 +0.85 +1.09 +1.34 +1.62 +1.92 +2.21 +2.41 +2.47 +2.38 +2.16 +2.19 +1.83 +1.45 +1.12 +0.85 +0.62 +0.42 +0.25 +0.13 +0.08 +0.12 +0.19 +0.23 +0.2 +0.09 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.46 +0.47 +0.4 +0.3 +0.26 +0.31 +0.45 +0.68 +0.95 +1.23 +1.49 +1.72 +1.87 +1.94 +1.92 +1.79 +1.59 +1.33 +1.05 +0.77 +0.54 +0.38 +0.32 +0.35 +0.43 +0.48 +0.45 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.21 +0.26 +0.23 +0.18 +0.18 +0.24 +0.39 +0.57 +0.79 +1.02 +1.29 +1.61 +1.97 +2.3 +2.53 +2.6 +2.47 +2.19 +1.83 +1.45 +1.12 +0.85 +0.62 +0.42 +0.25 +0.13 +0.08 +0.12 +0.19 +0.23 +0.2 +0.09 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.46 +0.47 +0.4 +0.3 +0.26 +0.31 +0.45 +0.68 +0.95 +1.23 +1.49 +1.72 +1.87 +1.94 +1.92 +1.79 +1.59 +1.33 +1.05 +0.77 +0.54 +0.38 +0.32 +0.35 +0.43 +0.48 +0.45 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.21 +0.26 +0.23 +0.18 +0.18 +0.24 +0.39 +0.57 +0.79 +1.02 +1.29 +1.61 +1.97 +2.3 +2.53 +2.6 +2.47 +2.19 +2.09 +1.66 +1.24 +0.89 +0.63 +0.42 +0.25 +0.09 +0.0 +0.0 +0.0 +0.03 +0.12 +0.15 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.3 +0.33 +0.25 +0.1 +0.0 +0.0 +0.11 +0.34 +0.63 +0.93 +1.19 +1.39 +1.53 +1.59 +1.58 +1.49 +1.31 +1.05 +0.75 +0.45 +0.2 +0.07 +0.07 +0.17 +0.29 +0.36 +0.32 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.23 +0.23 +0.16 +0.1 +0.1 +0.19 +0.35 +0.53 +0.72 +0.92 +1.18 +1.51 +1.9 +2.26 +2.52 +2.58 +2.42 +2.09 +1.66 +1.24 +0.89 +0.63 +0.42 +0.25 +0.09 +0.0 +0.0 +0.0 +0.03 +0.12 +0.15 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.3 +0.33 +0.25 +0.1 +0.0 +0.0 +0.11 +0.34 +0.63 +0.93 +1.19 +1.39 +1.53 +1.59 +1.58 +1.49 +1.31 +1.05 +0.75 +0.45 +0.2 +0.07 +0.07 +0.17 +0.29 +0.36 +0.32 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.23 +0.23 +0.16 +0.1 +0.1 +0.19 +0.35 +0.53 +0.72 +0.92 +1.18 +1.51 +1.9 +2.26 +2.52 +2.58 +2.42 +2.09 +1.85 +1.38 +0.94 +0.6 +0.37 +0.22 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.13 +0.06 +0.0 +0.0 +0.0 +0.0 +0.02 +0.32 +0.62 +0.86 +1.03 +1.13 +1.18 +1.19 +1.13 +0.98 +0.74 +0.43 +0.11 +0.0 +0.0 +0.0 +0.0 +0.12 +0.2 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.22 +0.18 +0.1 +0.05 +0.08 +0.21 +0.37 +0.53 +0.67 +0.82 +1.03 +1.33 +1.72 +2.09 +2.35 +2.41 +2.23 +1.85 +1.38 +0.94 +0.6 +0.37 +0.22 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.13 +0.06 +0.0 +0.0 +0.0 +0.0 +0.02 +0.32 +0.62 +0.86 +1.03 +1.13 +1.18 +1.19 +1.13 +0.98 +0.74 +0.43 +0.11 +0.0 +0.0 +0.0 +0.0 +0.12 +0.2 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.22 +0.18 +0.1 +0.05 +0.08 +0.21 +0.37 +0.53 +0.67 +0.82 +1.03 +1.33 +1.72 +2.09 +2.35 +2.41 +2.23 +1.85 +1.59 +1.11 +0.66 +0.34 +0.16 +0.08 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.44 +0.65 +0.78 +0.84 +0.87 +0.89 +0.87 +0.77 +0.56 +0.26 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.12 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.2 +0.16 +0.08 +0.05 +0.13 +0.29 +0.47 +0.6 +0.68 +0.75 +0.89 +1.15 +1.51 +1.89 +2.15 +2.2 +1.99 +1.59 +1.11 +0.66 +0.34 +0.16 +0.08 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.44 +0.65 +0.78 +0.84 +0.87 +0.89 +0.87 +0.77 +0.56 +0.26 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.12 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.2 +0.16 +0.08 +0.05 +0.13 +0.29 +0.47 +0.6 +0.68 +0.75 +0.89 +1.15 +1.51 +1.89 +2.15 +2.2 +1.99 +1.59 +1.46 +0.96 +0.51 +0.21 +0.08 +0.05 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.5 +0.68 +0.76 +0.79 +0.81 +0.84 +0.85 +0.79 +0.61 +0.33 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.24 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.26 +0.21 +0.12 +0.11 +0.23 +0.42 +0.62 +0.74 +0.77 +0.79 +0.86 +1.07 +1.4 +1.77 +2.03 +2.08 +1.87 +1.46 +0.96 +0.51 +0.21 +0.08 +0.05 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.5 +0.68 +0.76 +0.79 +0.81 +0.84 +0.85 +0.79 +0.61 +0.33 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.24 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.26 +0.21 +0.12 +0.11 +0.23 +0.42 +0.62 +0.74 +0.77 +0.79 +0.86 +1.07 +1.4 +1.77 +2.03 +2.08 +1.87 +1.46 +1.52 +1.01 +0.55 +0.26 +0.15 +0.17 +0.2 +0.16 +0.04 +0.0 +0.0 +0.0 +0.06 +0.21 +0.23 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.31 +0.5 +0.47 +0.27 +0.03 +0.0 +0.0 +0.2 +0.5 +0.76 +0.92 +0.97 +0.97 +0.98 +1.02 +1.05 +1.02 +0.88 +0.61 +0.28 +0.02 +0.0 +0.02 +0.25 +0.47 +0.55 +0.41 +0.1 +0.0 +0.0 +0.0 +0.0 +0.16 +0.37 +0.42 +0.34 +0.24 +0.23 +0.36 +0.59 +0.81 +0.94 +0.96 +0.94 +0.97 +1.14 +1.45 +1.8 +2.08 +2.14 +1.94 +1.52 +1.01 +0.55 +0.26 +0.15 +0.17 +0.2 +0.16 +0.04 +0.0 +0.0 +0.0 +0.06 +0.21 +0.23 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.31 +0.5 +0.47 +0.27 +0.03 +0.0 +0.0 +0.2 +0.5 +0.76 +0.92 +0.97 +0.97 +0.98 +1.02 +1.05 +1.02 +0.88 +0.61 +0.28 +0.02 +0.0 +0.02 +0.25 +0.47 +0.55 +0.41 +0.1 +0.0 +0.0 +0.0 +0.0 +0.16 +0.37 +0.42 +0.34 +0.24 +0.23 +0.36 +0.59 +0.81 +0.94 +0.96 +0.94 +0.97 +1.14 +1.45 +1.8 +2.08 +2.14 +1.94 +1.52 +1.73 +1.21 +0.75 +0.46 +0.37 +0.41 +0.46 +0.43 +0.31 +0.17 +0.11 +0.2 +0.4 +0.61 +0.69 +0.58 +0.32 +0.07 +0.0 +0.13 +0.45 +0.78 +0.96 +0.91 +0.68 +0.41 +0.26 +0.3 +0.52 +0.81 +1.06 +1.21 +1.25 +1.24 +1.24 +1.27 +1.32 +1.3 +1.17 +0.92 +0.6 +0.33 +0.21 +0.3 +0.54 +0.78 +0.88 +0.77 +0.47 +0.14 +0.0 +0.0 +0.16 +0.45 +0.65 +0.68 +0.57 +0.43 +0.4 +0.52 +0.77 +1.02 +1.18 +1.21 +1.17 +1.18 +1.32 +1.61 +1.96 +2.25 +2.33 +2.14 +1.73 +1.21 +0.75 +0.46 +0.37 +0.41 +0.46 +0.43 +0.31 +0.17 +0.11 +0.2 +0.4 +0.61 +0.69 +0.58 +0.32 +0.07 +0.0 +0.13 +0.45 +0.78 +0.96 +0.91 +0.68 +0.41 +0.26 +0.3 +0.52 +0.81 +1.06 +1.21 +1.25 +1.24 +1.24 +1.27 +1.32 +1.3 +1.17 +0.92 +0.6 +0.33 +0.21 +0.3 +0.54 +0.78 +0.88 +0.77 +0.47 +0.14 +0.0 +0.0 +0.16 +0.45 +0.65 +0.68 +0.57 +0.43 +0.4 +0.52 +0.77 +1.02 +1.18 +1.21 +1.17 +1.18 +1.32 +1.61 +1.96 +2.25 +2.33 +2.14 +1.73 +1.96 +1.45 +1.0 +0.72 +0.64 +0.7 +0.77 +0.74 +0.61 +0.46 +0.41 +0.53 +0.78 +1.04 +1.16 +1.06 +0.8 +0.52 +0.41 +0.53 +0.81 +1.11 +1.26 +1.18 +0.91 +0.62 +0.44 +0.46 +0.67 +0.94 +1.19 +1.33 +1.36 +1.34 +1.33 +1.36 +1.4 +1.4 +1.28 +1.04 +0.73 +0.45 +0.32 +0.39 +0.63 +0.89 +1.04 +0.98 +0.72 +0.4 +0.19 +0.21 +0.44 +0.74 +0.97 +1.01 +0.89 +0.71 +0.63 +0.72 +0.96 +1.23 +1.42 +1.47 +1.43 +1.41 +1.51 +1.77 +2.11 +2.41 +2.51 +2.35 +1.96 +1.45 +1.0 +0.72 +0.64 +0.7 +0.77 +0.74 +0.61 +0.46 +0.41 +0.53 +0.78 +1.04 +1.16 +1.06 +0.8 +0.52 +0.41 +0.53 +0.81 +1.11 +1.26 +1.18 +0.91 +0.62 +0.44 +0.46 +0.67 +0.94 +1.19 +1.33 +1.36 +1.34 +1.33 +1.36 +1.4 +1.4 +1.28 +1.04 +0.73 +0.45 +0.32 +0.39 +0.63 +0.89 +1.04 +0.98 +0.72 +0.4 +0.19 +0.21 +0.44 +0.74 +0.97 +1.01 +0.89 +0.71 +0.63 +0.72 +0.96 +1.23 +1.42 +1.47 +1.43 +1.41 +1.51 +1.77 +2.11 +2.41 +2.51 +2.35 +1.96 +2.05 +1.58 +1.16 +0.92 +0.89 +0.98 +1.06 +1.03 +0.89 +0.73 +0.68 +0.82 +1.1 +1.37 +1.48 +1.34 +1.03 +0.7 +0.52 +0.59 +0.84 +1.11 +1.22 +1.1 +0.81 +0.49 +0.3 +0.31 +0.5 +0.77 +1.0 +1.13 +1.16 +1.13 +1.11 +1.13 +1.17 +1.17 +1.08 +0.87 +0.58 +0.3 +0.15 +0.2 +0.42 +0.71 +0.91 +0.91 +0.71 +0.43 +0.25 +0.3 +0.58 +0.96 +1.28 +1.39 +1.28 +1.08 +0.94 +0.97 +1.17 +1.43 +1.63 +1.69 +1.63 +1.56 +1.6 +1.8 +2.12 +2.42 +2.55 +2.42 +2.05 +1.58 +1.16 +0.92 +0.89 +0.98 +1.06 +1.03 +0.89 +0.73 +0.68 +0.82 +1.1 +1.37 +1.48 +1.34 +1.03 +0.7 +0.52 +0.59 +0.84 +1.11 +1.22 +1.1 +0.81 +0.49 +0.3 +0.31 +0.5 +0.77 +1.0 +1.13 +1.16 +1.13 +1.11 +1.13 +1.17 +1.17 +1.08 +0.87 +0.58 +0.3 +0.15 +0.2 +0.42 +0.71 +0.91 +0.91 +0.71 +0.43 +0.25 +0.3 +0.58 +0.96 +1.28 +1.39 +1.28 +1.08 +0.94 +0.97 +1.17 +1.43 +1.63 +1.69 +1.63 +1.56 +1.6 +1.8 +2.12 +2.42 +2.55 +2.42 +2.05 +1.96 +1.53 +1.16 +0.99 +1.02 +1.17 +1.28 +1.26 +1.11 +0.94 +0.89 +1.03 +1.31 +1.56 +1.61 +1.38 +0.96 +0.52 +0.27 +0.28 +0.5 +0.73 +0.82 +0.69 +0.39 +0.07 +0.0 +0.0 +0.07 +0.32 +0.54 +0.65 +0.67 +0.63 +0.61 +0.62 +0.67 +0.69 +0.64 +0.48 +0.22 +0.0 +0.0 +0.0 +0.02 +0.33 +0.58 +0.64 +0.5 +0.27 +0.13 +0.23 +0.61 +1.13 +1.59 +1.83 +1.79 +1.58 +1.37 +1.3 +1.42 +1.63 +1.79 +1.82 +1.71 +1.57 +1.53 +1.66 +1.93 +2.23 +2.38 +2.28 +1.96 +1.53 +1.16 +0.99 +1.02 +1.17 +1.28 +1.26 +1.11 +0.94 +0.89 +1.03 +1.31 +1.56 +1.61 +1.38 +0.96 +0.52 +0.27 +0.28 +0.5 +0.73 +0.82 +0.69 +0.39 +0.07 +0.0 +0.0 +0.07 +0.32 +0.54 +0.65 +0.67 +0.63 +0.61 +0.62 +0.67 +0.69 +0.64 +0.48 +0.22 +0.0 +0.0 +0.0 +0.02 +0.33 +0.58 +0.64 +0.5 +0.27 +0.13 +0.23 +0.61 +1.13 +1.59 +1.83 +1.79 +1.58 +1.37 +1.3 +1.42 +1.63 +1.79 +1.82 +1.71 +1.57 +1.53 +1.66 +1.93 +2.23 +2.38 +2.28 +1.96 +1.72 +1.33 +1.02 +0.92 +1.03 +1.24 +1.4 +1.4 +1.26 +1.1 +1.06 +1.22 +1.48 +1.68 +1.64 +1.28 +0.71 +0.15 +0.0 +0.0 +0.0 +0.19 +0.28 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.13 +0.12 +0.07 +0.03 +0.05 +0.12 +0.2 +0.22 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.26 +0.38 +0.29 +0.09 +0.0 +0.15 +0.63 +1.32 +1.97 +2.36 +2.41 +2.2 +1.9 +1.71 +1.69 +1.8 +1.89 +1.86 +1.67 +1.44 +1.3 +1.36 +1.6 +1.89 +2.07 +2.01 +1.72 +1.33 +1.02 +0.92 +1.03 +1.24 +1.4 +1.4 +1.26 +1.1 +1.06 +1.22 +1.48 +1.68 +1.64 +1.28 +0.71 +0.15 +0.0 +0.0 +0.0 +0.19 +0.28 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.13 +0.12 +0.07 +0.03 +0.05 +0.12 +0.2 +0.22 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.26 +0.38 +0.29 +0.09 +0.0 +0.15 +0.63 +1.32 +1.97 +2.36 +2.41 +2.2 +1.9 +1.71 +1.69 +1.8 +1.89 +1.86 +1.67 +1.44 +1.3 +1.36 +1.6 +1.89 +2.07 +2.01 +1.72 +1.47 +1.1 +0.83 +0.77 +0.95 +1.22 +1.43 +1.47 +1.37 +1.24 +1.25 +1.45 +1.72 +1.89 +1.74 +1.25 +0.53 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.35 +0.29 +0.1 +0.0 +0.2 +0.77 +1.61 +2.43 +2.99 +3.12 +2.89 +2.49 +2.15 +1.97 +1.95 +1.93 +1.81 +1.54 +1.23 +1.02 +1.03 +1.25 +1.55 +1.76 +1.73 +1.47 +1.1 +0.83 +0.77 +0.95 +1.22 +1.43 +1.47 +1.37 +1.24 +1.25 +1.45 +1.72 +1.89 +1.74 +1.25 +0.53 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.35 +0.29 +0.1 +0.0 +0.2 +0.77 +1.61 +2.43 +2.99 +3.12 +2.89 +2.49 +2.15 +1.97 +1.95 +1.93 +1.81 +1.54 +1.23 +1.02 +1.03 +1.25 +1.55 +1.76 +1.73 +1.47 +1.32 +0.95 +0.67 +0.62 +0.83 +1.14 +1.4 +1.5 +1.45 +1.41 +1.51 +1.79 +2.12 +2.28 +2.08 +1.47 +0.63 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.34 +0.25 +0.03 +0.0 +0.0 +0.0 +0.17 +0.48 +0.64 +0.57 +0.36 +0.24 +0.43 +1.05 +1.98 +2.94 +3.62 +3.81 +3.56 +3.05 +2.55 +2.21 +2.04 +1.92 +1.71 +1.37 +1.0 +0.75 +0.75 +0.99 +1.34 +1.58 +1.57 +1.32 +0.95 +0.67 +0.62 +0.83 +1.14 +1.4 +1.5 +1.45 +1.41 +1.51 +1.79 +2.12 +2.28 +2.08 +1.47 +0.63 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.34 +0.25 +0.03 +0.0 +0.0 +0.0 +0.17 +0.48 +0.64 +0.57 +0.36 +0.24 +0.43 +1.05 +1.98 +2.94 +3.62 +3.81 +3.56 +3.05 +2.55 +2.21 +2.04 +1.92 +1.71 +1.37 +1.0 +0.75 +0.75 +0.99 +1.34 +1.58 +1.57 +1.32 +1.3 +0.9 +0.59 +0.52 +0.72 +1.06 +1.36 +1.52 +1.55 +1.62 +1.84 +2.24 +2.67 +2.88 +2.66 +1.99 +1.06 +0.19 +0.0 +0.0 +0.0 +0.14 +0.3 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.26 +0.41 +0.41 +0.28 +0.12 +0.02 +0.06 +0.24 +0.51 +0.75 +0.87 +0.8 +0.59 +0.35 +0.23 +0.33 +0.62 +0.93 +1.08 +1.0 +0.75 +0.57 +0.73 +1.34 +2.31 +3.34 +4.09 +4.32 +4.03 +3.44 +2.81 +2.34 +2.06 +1.86 +1.59 +1.22 +0.83 +0.58 +0.6 +0.88 +1.27 +1.56 +1.57 +1.3 +0.9 +0.59 +0.52 +0.72 +1.06 +1.36 +1.52 +1.55 +1.62 +1.84 +2.24 +2.67 +2.88 +2.66 +1.99 +1.06 +0.19 +0.0 +0.0 +0.0 +0.14 +0.3 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.26 +0.41 +0.41 +0.28 +0.12 +0.02 +0.06 +0.24 +0.51 +0.75 +0.87 +0.8 +0.59 +0.35 +0.23 +0.33 +0.62 +0.93 +1.08 +1.0 +0.75 +0.57 +0.73 +1.34 +2.31 +3.34 +4.09 +4.32 +4.03 +3.44 +2.81 +2.34 +2.06 +1.86 +1.59 +1.22 +0.83 +0.58 +0.6 +0.88 +1.27 +1.56 +1.57 +1.3 +1.37 +0.94 +0.58 +0.48 +0.67 +1.01 +1.35 +1.56 +1.69 +1.87 +2.22 +2.76 +3.29 +3.57 +3.37 +2.67 +1.69 +0.76 +0.2 +0.11 +0.36 +0.7 +0.88 +0.8 +0.54 +0.28 +0.19 +0.33 +0.6 +0.87 +1.01 +0.96 +0.79 +0.57 +0.44 +0.46 +0.64 +0.92 +1.18 +1.31 +1.25 +1.02 +0.76 +0.61 +0.69 +0.95 +1.25 +1.4 +1.29 +1.0 +0.77 +0.87 +1.44 +2.41 +3.46 +4.23 +4.48 +4.19 +3.56 +2.87 +2.34 +2.02 +1.78 +1.5 +1.13 +0.74 +0.51 +0.56 +0.88 +1.31 +1.63 +1.65 +1.37 +0.94 +0.58 +0.48 +0.67 +1.01 +1.35 +1.56 +1.69 +1.87 +2.22 +2.76 +3.29 +3.57 +3.37 +2.67 +1.69 +0.76 +0.2 +0.11 +0.36 +0.7 +0.88 +0.8 +0.54 +0.28 +0.19 +0.33 +0.6 +0.87 +1.01 +0.96 +0.79 +0.57 +0.44 +0.46 +0.64 +0.92 +1.18 +1.31 +1.25 +1.02 +0.76 +0.61 +0.69 +0.95 +1.25 +1.4 +1.29 +1.0 +0.77 +0.87 +1.44 +2.41 +3.46 +4.23 +4.48 +4.19 +3.56 +2.87 +2.34 +2.02 +1.78 +1.5 +1.13 +0.74 +0.51 +0.56 +0.88 +1.31 +1.63 +1.65 +1.37 +1.44 +0.99 +0.62 +0.5 +0.67 +1.03 +1.39 +1.66 +1.86 +2.13 +2.58 +3.21 +3.84 +4.17 +4.0 +3.3 +2.29 +1.32 +0.72 +0.59 +0.83 +1.16 +1.33 +1.24 +0.96 +0.7 +0.61 +0.74 +1.01 +1.27 +1.39 +1.31 +1.09 +0.83 +0.66 +0.65 +0.8 +1.05 +1.29 +1.4 +1.32 +1.08 +0.8 +0.63 +0.69 +0.93 +1.22 +1.36 +1.23 +0.92 +0.64 +0.7 +1.22 +2.15 +3.18 +3.96 +4.23 +3.96 +3.36 +2.71 +2.21 +1.91 +1.7 +1.45 +1.1 +0.73 +0.51 +0.57 +0.91 +1.37 +1.7 +1.73 +1.44 +0.99 +0.62 +0.5 +0.67 +1.03 +1.39 +1.66 +1.86 +2.13 +2.58 +3.21 +3.84 +4.17 +4.0 +3.3 +2.29 +1.32 +0.72 +0.59 +0.83 +1.16 +1.33 +1.24 +0.96 +0.7 +0.61 +0.74 +1.01 +1.27 +1.39 +1.31 +1.09 +0.83 +0.66 +0.65 +0.8 +1.05 +1.29 +1.4 +1.32 +1.08 +0.8 +0.63 +0.69 +0.93 +1.22 +1.36 +1.23 +0.92 +0.64 +0.7 +1.22 +2.15 +3.18 +3.96 +4.23 +3.96 +3.36 +2.71 +2.21 +1.91 +1.7 +1.45 +1.1 +0.73 +0.51 +0.57 +0.91 +1.37 +1.7 +1.73 +1.44 +1.46 +1.03 +0.67 +0.57 +0.76 +1.13 +1.51 +1.81 +2.04 +2.35 +2.84 +3.51 +4.16 +4.53 +4.39 +3.69 +2.67 +1.67 +1.02 +0.84 +1.02 +1.31 +1.46 +1.35 +1.06 +0.77 +0.66 +0.77 +1.03 +1.27 +1.37 +1.27 +1.03 +0.75 +0.55 +0.5 +0.61 +0.81 +1.0 +1.07 +0.96 +0.7 +0.42 +0.25 +0.3 +0.54 +0.81 +0.94 +0.81 +0.49 +0.21 +0.24 +0.72 +1.6 +2.59 +3.35 +3.64 +3.43 +2.92 +2.37 +1.98 +1.77 +1.65 +1.45 +1.14 +0.78 +0.56 +0.62 +0.94 +1.38 +1.7 +1.74 +1.46 +1.03 +0.67 +0.57 +0.76 +1.13 +1.51 +1.81 +2.04 +2.35 +2.84 +3.51 +4.16 +4.53 +4.39 +3.69 +2.67 +1.67 +1.02 +0.84 +1.02 +1.31 +1.46 +1.35 +1.06 +0.77 +0.66 +0.77 +1.03 +1.27 +1.37 +1.27 +1.03 +0.75 +0.55 +0.5 +0.61 +0.81 +1.0 +1.07 +0.96 +0.7 +0.42 +0.25 +0.3 +0.54 +0.81 +0.94 +0.81 +0.49 +0.21 +0.24 +0.72 +1.6 +2.59 +3.35 +3.64 +3.43 +2.92 +2.37 +1.98 +1.77 +1.65 +1.45 +1.14 +0.78 +0.56 +0.62 +0.94 +1.38 +1.7 +1.74 +1.46 +1.47 +1.08 +0.77 +0.7 +0.91 +1.29 +1.69 +1.98 +2.21 +2.48 +2.94 +3.56 +4.19 +4.56 +4.43 +3.76 +2.76 +1.75 +1.05 +0.81 +0.92 +1.15 +1.26 +1.13 +0.82 +0.52 +0.38 +0.46 +0.69 +0.91 +1.0 +0.91 +0.68 +0.41 +0.21 +0.14 +0.2 +0.35 +0.47 +0.49 +0.35 +0.1 +0.0 +0.0 +0.0 +0.0 +0.24 +0.37 +0.25 +0.0 +0.0 +0.0 +0.16 +0.97 +1.9 +2.61 +2.91 +2.77 +2.37 +1.96 +1.72 +1.64 +1.62 +1.49 +1.22 +0.88 +0.65 +0.67 +0.96 +1.36 +1.67 +1.71 +1.47 +1.08 +0.77 +0.7 +0.91 +1.29 +1.69 +1.98 +2.21 +2.48 +2.94 +3.56 +4.19 +4.56 +4.43 +3.76 +2.76 +1.75 +1.05 +0.81 +0.92 +1.15 +1.26 +1.13 +0.82 +0.52 +0.38 +0.46 +0.69 +0.91 +1.0 +0.91 +0.68 +0.41 +0.21 +0.14 +0.2 +0.35 +0.47 +0.49 +0.35 +0.1 +0.0 +0.0 +0.0 +0.0 +0.24 +0.37 +0.25 +0.0 +0.0 +0.0 +0.16 +0.97 +1.9 +2.61 +2.91 +2.77 +2.37 +1.96 +1.72 +1.64 +1.62 +1.49 +1.22 +0.88 +0.65 +0.67 +0.96 +1.36 +1.67 +1.71 +1.47 +1.53 +1.2 +0.94 +0.91 +1.14 +1.51 +1.88 +2.15 +2.31 +2.51 +2.86 +3.37 +3.92 +4.25 +4.14 +3.54 +2.6 +1.63 +0.92 +0.62 +0.67 +0.84 +0.91 +0.77 +0.46 +0.14 +0.0 +0.02 +0.21 +0.42 +0.52 +0.47 +0.28 +0.06 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.54 +1.37 +2.01 +2.27 +2.17 +1.87 +1.59 +1.48 +1.53 +1.59 +1.53 +1.3 +0.98 +0.75 +0.76 +1.01 +1.38 +1.67 +1.73 +1.53 +1.2 +0.94 +0.91 +1.14 +1.51 +1.88 +2.15 +2.31 +2.51 +2.86 +3.37 +3.92 +4.25 +4.14 +3.54 +2.6 +1.63 +0.92 +0.62 +0.67 +0.84 +0.91 +0.77 +0.46 +0.14 +0.0 +0.02 +0.21 +0.42 +0.52 +0.47 +0.28 +0.06 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.54 +1.37 +2.01 +2.27 +2.17 +1.87 +1.59 +1.48 +1.53 +1.59 +1.53 +1.3 +0.98 +0.75 +0.76 +1.01 +1.38 +1.67 +1.73 +1.53 +1.68 +1.41 +1.2 +1.18 +1.39 +1.73 +2.06 +2.25 +2.34 +2.41 +2.61 +2.98 +3.41 +3.7 +3.63 +3.13 +2.31 +1.43 +0.76 +0.45 +0.46 +0.6 +0.65 +0.51 +0.21 +0.0 +0.0 +0.0 +0.0 +0.07 +0.21 +0.22 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.47 +1.17 +1.69 +1.88 +1.77 +1.51 +1.32 +1.3 +1.42 +1.55 +1.53 +1.33 +1.05 +0.84 +0.85 +1.1 +1.46 +1.75 +1.84 +1.68 +1.41 +1.2 +1.18 +1.39 +1.73 +2.06 +2.25 +2.34 +2.41 +2.61 +2.98 +3.41 +3.7 +3.63 +3.13 +2.31 +1.43 +0.76 +0.45 +0.46 +0.6 +0.65 +0.51 +0.21 +0.0 +0.0 +0.0 +0.0 +0.07 +0.21 +0.22 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.47 +1.17 +1.69 +1.88 +1.77 +1.51 +1.32 +1.3 +1.42 +1.55 +1.53 +1.33 +1.05 +0.84 +0.85 +1.1 +1.46 +1.75 +1.84 +1.68 +1.91 +1.68 +1.49 +1.46 +1.62 +1.9 +2.15 +2.27 +2.26 +2.21 +2.25 +2.45 +2.76 +3.0 +2.99 +2.62 +1.97 +1.24 +0.66 +0.38 +0.39 +0.52 +0.6 +0.49 +0.22 +0.0 +0.0 +0.0 +0.0 +0.03 +0.22 +0.3 +0.28 +0.2 +0.11 +0.08 +0.1 +0.14 +0.15 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.38 +0.34 +0.14 +0.0 +0.0 +0.21 +0.71 +1.26 +1.64 +1.73 +1.57 +1.31 +1.14 +1.15 +1.29 +1.43 +1.43 +1.27 +1.03 +0.87 +0.92 +1.19 +1.57 +1.89 +2.02 +1.91 +1.68 +1.49 +1.46 +1.62 +1.9 +2.15 +2.27 +2.26 +2.21 +2.25 +2.45 +2.76 +3.0 +2.99 +2.62 +1.97 +1.24 +0.66 +0.38 +0.39 +0.52 +0.6 +0.49 +0.22 +0.0 +0.0 +0.0 +0.0 +0.03 +0.22 +0.3 +0.28 +0.2 +0.11 +0.08 +0.1 +0.14 +0.15 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.38 +0.34 +0.14 +0.0 +0.0 +0.21 +0.71 +1.26 +1.64 +1.73 +1.57 +1.31 +1.14 +1.15 +1.29 +1.43 +1.43 +1.27 +1.03 +0.87 +0.92 +1.19 +1.57 +1.89 +2.02 +1.91 +2.12 +1.92 +1.73 +1.66 +1.77 +1.97 +2.15 +2.2 +2.1 +1.94 +1.84 +1.89 +2.08 +2.28 +2.32 +2.1 +1.63 +1.06 +0.6 +0.39 +0.42 +0.59 +0.7 +0.66 +0.44 +0.15 +0.0 +0.0 +0.0 +0.24 +0.48 +0.64 +0.7 +0.68 +0.64 +0.61 +0.62 +0.65 +0.65 +0.57 +0.41 +0.19 +0.03 +0.0 +0.15 +0.44 +0.75 +0.92 +0.89 +0.7 +0.49 +0.44 +0.63 +1.02 +1.44 +1.69 +1.69 +1.46 +1.17 +0.98 +0.97 +1.09 +1.21 +1.21 +1.07 +0.88 +0.78 +0.89 +1.21 +1.64 +2.0 +2.17 +2.12 +1.92 +1.73 +1.66 +1.77 +1.97 +2.15 +2.2 +2.1 +1.94 +1.84 +1.89 +2.08 +2.28 +2.32 +2.1 +1.63 +1.06 +0.6 +0.39 +0.42 +0.59 +0.7 +0.66 +0.44 +0.15 +0.0 +0.0 +0.0 +0.24 +0.48 +0.64 +0.7 +0.68 +0.64 +0.61 +0.62 +0.65 +0.65 +0.57 +0.41 +0.19 +0.03 +0.0 +0.15 +0.44 +0.75 +0.92 +0.89 +0.7 +0.49 +0.44 +0.63 +1.02 +1.44 +1.69 +1.69 +1.46 +1.17 +0.98 +0.97 +1.09 +1.21 +1.21 +1.07 +0.88 +0.78 +0.89 +1.21 +1.64 +2.0 +2.17 +2.12 +2.2 +2.04 +1.86 +1.75 +1.79 +1.92 +2.04 +2.05 +1.91 +1.68 +1.47 +1.4 +1.48 +1.63 +1.71 +1.6 +1.29 +0.87 +0.52 +0.37 +0.44 +0.64 +0.82 +0.85 +0.7 +0.45 +0.23 +0.16 +0.27 +0.51 +0.8 +1.02 +1.15 +1.17 +1.14 +1.11 +1.11 +1.12 +1.11 +1.02 +0.84 +0.62 +0.44 +0.4 +0.54 +0.82 +1.12 +1.29 +1.26 +1.05 +0.81 +0.71 +0.84 +1.14 +1.46 +1.63 +1.56 +1.3 +0.99 +0.78 +0.73 +0.81 +0.89 +0.88 +0.76 +0.61 +0.57 +0.73 +1.1 +1.56 +1.97 +2.2 +2.2 +2.04 +1.86 +1.75 +1.79 +1.92 +2.04 +2.05 +1.91 +1.68 +1.47 +1.4 +1.48 +1.63 +1.71 +1.6 +1.29 +0.87 +0.52 +0.37 +0.44 +0.64 +0.82 +0.85 +0.7 +0.45 +0.23 +0.16 +0.27 +0.51 +0.8 +1.02 +1.15 +1.17 +1.14 +1.11 +1.11 +1.12 +1.11 +1.02 +0.84 +0.62 +0.44 +0.4 +0.54 +0.82 +1.12 +1.29 +1.26 +1.05 +0.81 +0.71 +0.84 +1.14 +1.46 +1.63 +1.56 +1.3 +0.99 +0.78 +0.73 +0.81 +0.89 +0.88 +0.76 +0.61 +0.57 +0.73 +1.1 +1.56 +1.97 +2.2 +2.2 +2.13 +2.03 +1.85 +1.73 +1.72 +1.8 +1.89 +1.88 +1.73 +1.47 +1.21 +1.05 +1.04 +1.15 +1.24 +1.2 +0.99 +0.67 +0.38 +0.26 +0.35 +0.59 +0.82 +0.93 +0.85 +0.64 +0.42 +0.32 +0.41 +0.65 +0.96 +1.23 +1.39 +1.44 +1.42 +1.37 +1.35 +1.34 +1.31 +1.22 +1.03 +0.79 +0.59 +0.52 +0.63 +0.89 +1.16 +1.31 +1.25 +1.02 +0.75 +0.61 +0.67 +0.91 +1.18 +1.33 +1.26 +1.01 +0.71 +0.49 +0.42 +0.46 +0.52 +0.5 +0.39 +0.27 +0.27 +0.46 +0.84 +1.33 +1.78 +2.07 +2.13 +2.03 +1.85 +1.73 +1.72 +1.8 +1.89 +1.88 +1.73 +1.47 +1.21 +1.05 +1.04 +1.15 +1.24 +1.2 +0.99 +0.67 +0.38 +0.26 +0.35 +0.59 +0.82 +0.93 +0.85 +0.64 +0.42 +0.32 +0.41 +0.65 +0.96 +1.23 +1.39 +1.44 +1.42 +1.37 +1.35 +1.34 +1.31 +1.22 +1.03 +0.79 +0.59 +0.52 +0.63 +0.89 +1.16 +1.31 +1.25 +1.02 +0.75 +0.61 +0.67 +0.91 +1.18 +1.33 +1.26 +1.01 +0.71 +0.49 +0.42 +0.46 +0.52 +0.5 +0.39 +0.27 +0.27 +0.46 +0.84 +1.33 +1.78 +2.07 +2.13 +1.99 +1.94 +1.81 +1.68 +1.63 +1.68 +1.75 +1.75 +1.62 +1.37 +1.09 +0.89 +0.82 +0.88 +0.96 +0.95 +0.78 +0.51 +0.24 +0.11 +0.19 +0.43 +0.69 +0.85 +0.82 +0.64 +0.43 +0.3 +0.35 +0.57 +0.89 +1.18 +1.38 +1.45 +1.42 +1.36 +1.31 +1.28 +1.24 +1.14 +0.95 +0.7 +0.48 +0.37 +0.45 +0.66 +0.9 +1.02 +0.94 +0.69 +0.39 +0.21 +0.23 +0.43 +0.69 +0.85 +0.82 +0.62 +0.36 +0.17 +0.09 +0.12 +0.16 +0.15 +0.06 +0.0 +0.0 +0.17 +0.55 +1.04 +1.52 +1.85 +1.99 +1.94 +1.81 +1.68 +1.63 +1.68 +1.75 +1.75 +1.62 +1.37 +1.09 +0.89 +0.82 +0.88 +0.96 +0.95 +0.78 +0.51 +0.24 +0.11 +0.19 +0.43 +0.69 +0.85 +0.82 +0.64 +0.43 +0.3 +0.35 +0.57 +0.89 +1.18 +1.38 +1.45 +1.42 +1.36 +1.31 +1.28 +1.24 +1.14 +0.95 +0.7 +0.48 +0.37 +0.45 +0.66 +0.9 +1.02 +0.94 +0.69 +0.39 +0.21 +0.23 +0.43 +0.69 +0.85 +0.82 +0.62 +0.36 +0.17 +0.09 +0.12 +0.16 +0.15 +0.06 +0.0 +0.0 +0.17 +0.55 +1.04 +1.52 +1.85 +1.99 +1.9 +1.92 +1.82 +1.69 +1.63 +1.64 +1.69 +1.69 +1.59 +1.38 +1.12 +0.91 +0.82 +0.84 +0.91 +0.89 +0.74 +0.47 +0.19 +0.03 +0.07 +0.28 +0.54 +0.72 +0.72 +0.56 +0.34 +0.18 +0.2 +0.39 +0.69 +0.99 +1.22 +1.31 +1.29 +1.22 +1.15 +1.09 +1.04 +0.93 +0.74 +0.49 +0.25 +0.12 +0.16 +0.33 +0.54 +0.64 +0.56 +0.3 +0.0 +0.0 +0.0 +0.0 +0.2 +0.39 +0.41 +0.28 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.35 +0.82 +1.31 +1.7 +1.9 +1.92 +1.82 +1.69 +1.63 +1.64 +1.69 +1.69 +1.59 +1.38 +1.12 +0.91 +0.82 +0.84 +0.91 +0.89 +0.74 +0.47 +0.19 +0.03 +0.07 +0.28 +0.54 +0.72 +0.72 +0.56 +0.34 +0.18 +0.2 +0.39 +0.69 +0.99 +1.22 +1.31 +1.29 +1.22 +1.15 +1.09 +1.04 +0.93 +0.74 +0.49 +0.25 +0.12 +0.16 +0.33 +0.54 +0.64 +0.56 +0.3 +0.0 +0.0 +0.0 +0.0 +0.2 +0.39 +0.41 +0.28 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.35 +0.82 +1.31 +1.7 +1.9 +1.97 +2.05 +1.98 +1.85 +1.74 +1.7 +1.71 +1.7 +1.62 +1.44 +1.22 +1.04 +0.95 +0.97 +1.02 +1.0 +0.85 +0.58 +0.29 +0.11 +0.11 +0.28 +0.51 +0.67 +0.67 +0.52 +0.3 +0.13 +0.11 +0.26 +0.55 +0.86 +1.1 +1.23 +1.23 +1.16 +1.07 +0.98 +0.9 +0.78 +0.59 +0.35 +0.11 +0.0 +0.0 +0.11 +0.29 +0.4 +0.34 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.2 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.33 +0.8 +1.29 +1.71 +1.97 +2.05 +1.98 +1.85 +1.74 +1.7 +1.71 +1.7 +1.62 +1.44 +1.22 +1.04 +0.95 +0.97 +1.02 +1.0 +0.85 +0.58 +0.29 +0.11 +0.11 +0.28 +0.51 +0.67 +0.67 +0.52 +0.3 +0.13 +0.11 +0.26 +0.55 +0.86 +1.1 +1.23 +1.23 +1.16 +1.07 +0.98 +0.9 +0.78 +0.59 +0.35 +0.11 +0.0 +0.0 +0.11 +0.29 +0.4 +0.34 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.2 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.33 +0.8 +1.29 +1.71 +1.97 +2.21 +2.32 +2.26 +2.11 +1.95 +1.84 +1.79 +1.74 +1.65 +1.5 +1.32 +1.18 +1.12 +1.15 +1.19 +1.17 +1.02 +0.77 +0.5 +0.32 +0.31 +0.44 +0.63 +0.77 +0.76 +0.62 +0.41 +0.24 +0.21 +0.34 +0.61 +0.92 +1.19 +1.34 +1.37 +1.31 +1.2 +1.08 +0.96 +0.81 +0.61 +0.37 +0.14 +0.0 +0.0 +0.09 +0.27 +0.4 +0.39 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.25 +0.21 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.52 +0.97 +1.47 +1.91 +2.21 +2.32 +2.26 +2.11 +1.95 +1.84 +1.79 +1.74 +1.65 +1.5 +1.32 +1.18 +1.12 +1.15 +1.19 +1.17 +1.02 +0.77 +0.5 +0.32 +0.31 +0.44 +0.63 +0.77 +0.76 +0.62 +0.41 +0.24 +0.21 +0.34 +0.61 +0.92 +1.19 +1.34 +1.37 +1.31 +1.2 +1.08 +0.96 +0.81 +0.61 +0.37 +0.14 +0.0 +0.0 +0.09 +0.27 +0.4 +0.39 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.25 +0.21 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.52 +0.97 +1.47 +1.91 +2.21 +2.49 +2.61 +2.55 +2.37 +2.16 +1.98 +1.84 +1.73 +1.61 +1.47 +1.33 +1.23 +1.2 +1.23 +1.27 +1.24 +1.11 +0.89 +0.67 +0.54 +0.55 +0.67 +0.83 +0.94 +0.93 +0.81 +0.64 +0.51 +0.5 +0.63 +0.88 +1.18 +1.46 +1.65 +1.71 +1.66 +1.54 +1.38 +1.2 +1.0 +0.77 +0.53 +0.31 +0.16 +0.13 +0.22 +0.39 +0.54 +0.6 +0.53 +0.36 +0.19 +0.09 +0.11 +0.23 +0.38 +0.46 +0.45 +0.34 +0.19 +0.07 +0.0 +0.0 +0.03 +0.08 +0.15 +0.27 +0.48 +0.81 +1.25 +1.74 +2.18 +2.49 +2.61 +2.55 +2.37 +2.16 +1.98 +1.84 +1.73 +1.61 +1.47 +1.33 +1.23 +1.2 +1.23 +1.27 +1.24 +1.11 +0.89 +0.67 +0.54 +0.55 +0.67 +0.83 +0.94 +0.93 +0.81 +0.64 +0.51 +0.5 +0.63 +0.88 +1.18 +1.46 +1.65 +1.71 +1.66 +1.54 +1.38 +1.2 +1.0 +0.77 +0.53 +0.31 +0.16 +0.13 +0.22 +0.39 +0.54 +0.6 +0.53 +0.36 +0.19 +0.09 +0.11 +0.23 +0.38 +0.46 +0.45 +0.34 +0.19 +0.07 +0.0 +0.0 +0.03 +0.08 +0.15 +0.27 +0.48 +0.81 +1.25 +1.74 +2.18 +2.49 +2.66 +2.77 +2.71 +2.51 +2.26 +2.01 +1.81 +1.64 +1.48 +1.33 +1.21 +1.14 +1.13 +1.16 +1.17 +1.12 +0.99 +0.81 +0.67 +0.61 +0.66 +0.79 +0.94 +1.04 +1.04 +0.96 +0.86 +0.79 +0.83 +0.97 +1.22 +1.51 +1.79 +2.0 +2.1 +2.07 +1.94 +1.74 +1.5 +1.24 +0.98 +0.73 +0.51 +0.35 +0.3 +0.35 +0.5 +0.66 +0.77 +0.78 +0.7 +0.56 +0.44 +0.41 +0.46 +0.57 +0.65 +0.67 +0.59 +0.46 +0.32 +0.21 +0.16 +0.18 +0.25 +0.36 +0.52 +0.76 +1.09 +1.5 +1.96 +2.37 +2.66 +2.77 +2.71 +2.51 +2.26 +2.01 +1.81 +1.64 +1.48 +1.33 +1.21 +1.14 +1.13 +1.16 +1.17 +1.12 +0.99 +0.81 +0.67 +0.61 +0.66 +0.79 +0.94 +1.04 +1.04 +0.96 +0.86 +0.79 +0.83 +0.97 +1.22 +1.51 +1.79 +2.0 +2.1 +2.07 +1.94 +1.74 +1.5 +1.24 +0.98 +0.73 +0.51 +0.35 +0.3 +0.35 +0.5 +0.66 +0.77 +0.78 +0.7 +0.56 +0.44 +0.41 +0.46 +0.57 +0.65 +0.67 +0.59 +0.46 +0.32 +0.21 +0.16 +0.18 +0.25 +0.36 +0.52 +0.76 +1.09 +1.5 +1.96 +2.37 +2.66 +2.64 +2.73 +2.65 +2.45 +2.18 +1.9 +1.65 +1.44 +1.25 +1.1 +1.0 +0.95 +0.94 +0.94 +0.9 +0.8 +0.66 +0.51 +0.42 +0.44 +0.55 +0.71 +0.86 +0.94 +0.96 +0.93 +0.91 +0.93 +1.03 +1.2 +1.44 +1.72 +2.0 +2.23 +2.37 +2.38 +2.26 +2.04 +1.75 +1.45 +1.15 +0.88 +0.65 +0.48 +0.39 +0.39 +0.48 +0.62 +0.76 +0.82 +0.79 +0.69 +0.56 +0.48 +0.48 +0.55 +0.65 +0.72 +0.71 +0.62 +0.49 +0.36 +0.29 +0.29 +0.37 +0.51 +0.7 +0.94 +1.26 +1.63 +2.03 +2.39 +2.64 +2.73 +2.65 +2.45 +2.18 +1.9 +1.65 +1.44 +1.25 +1.1 +1.0 +0.95 +0.94 +0.94 +0.9 +0.8 +0.66 +0.51 +0.42 +0.44 +0.55 +0.71 +0.86 +0.94 +0.96 +0.93 +0.91 +0.93 +1.03 +1.2 +1.44 +1.72 +2.0 +2.23 +2.37 +2.38 +2.26 +2.04 +1.75 +1.45 +1.15 +0.88 +0.65 +0.48 +0.39 +0.39 +0.48 +0.62 +0.76 +0.82 +0.79 +0.69 +0.56 +0.48 +0.48 +0.55 +0.65 +0.72 +0.71 +0.62 +0.49 +0.36 +0.29 +0.29 +0.37 +0.51 +0.7 +0.94 +1.26 +1.63 +2.03 +2.39 +2.64 +2.45 +2.5 +2.41 +2.21 +1.95 +1.68 +1.41 +1.18 +0.98 +0.84 +0.75 +0.72 +0.71 +0.67 +0.58 +0.43 +0.25 +0.1 +0.05 +0.12 +0.28 +0.46 +0.61 +0.68 +0.71 +0.72 +0.76 +0.86 +1.01 +1.21 +1.45 +1.72 +2.0 +2.25 +2.44 +2.5 +2.43 +2.22 +1.92 +1.59 +1.27 +0.98 +0.75 +0.55 +0.41 +0.34 +0.36 +0.45 +0.56 +0.64 +0.64 +0.55 +0.41 +0.29 +0.25 +0.31 +0.44 +0.57 +0.64 +0.63 +0.54 +0.43 +0.35 +0.35 +0.43 +0.58 +0.78 +1.03 +1.32 +1.65 +1.98 +2.27 +2.45 +2.5 +2.41 +2.21 +1.95 +1.68 +1.41 +1.18 +0.98 +0.84 +0.75 +0.72 +0.71 +0.67 +0.58 +0.43 +0.25 +0.1 +0.05 +0.12 +0.28 +0.46 +0.61 +0.68 +0.71 +0.72 +0.76 +0.86 +1.01 +1.21 +1.45 +1.72 +2.0 +2.25 +2.44 +2.5 +2.43 +2.22 +1.92 +1.59 +1.27 +0.98 +0.75 +0.55 +0.41 +0.34 +0.36 +0.45 +0.56 +0.64 +0.64 +0.55 +0.41 +0.29 +0.25 +0.31 +0.44 +0.57 +0.64 +0.63 +0.54 +0.43 +0.35 +0.35 +0.43 +0.58 +0.78 +1.03 +1.32 +1.65 +1.98 +2.27 +2.45 +2.24 +2.24 +2.13 +1.93 +1.68 +1.41 +1.16 +0.93 +0.74 +0.61 +0.54 +0.53 +0.53 +0.49 +0.37 +0.17 +0.0 +0.0 +0.0 +0.0 +0.03 +0.21 +0.35 +0.41 +0.42 +0.44 +0.5 +0.64 +0.83 +1.04 +1.28 +1.54 +1.82 +2.1 +2.34 +2.48 +2.47 +2.31 +2.04 +1.72 +1.39 +1.1 +0.86 +0.64 +0.46 +0.32 +0.26 +0.27 +0.34 +0.39 +0.39 +0.3 +0.14 +0.0 +0.0 +0.0 +0.12 +0.32 +0.47 +0.53 +0.51 +0.43 +0.37 +0.38 +0.48 +0.64 +0.85 +1.09 +1.36 +1.64 +1.9 +2.12 +2.24 +2.24 +2.13 +1.93 +1.68 +1.41 +1.16 +0.93 +0.74 +0.61 +0.54 +0.53 +0.53 +0.49 +0.37 +0.17 +0.0 +0.0 +0.0 +0.0 +0.03 +0.21 +0.35 +0.41 +0.42 +0.44 +0.5 +0.64 +0.83 +1.04 +1.28 +1.54 +1.82 +2.1 +2.34 +2.48 +2.47 +2.31 +2.04 +1.72 +1.39 +1.1 +0.86 +0.64 +0.46 +0.32 +0.26 +0.27 +0.34 +0.39 +0.39 +0.3 +0.14 +0.0 +0.0 +0.0 +0.12 +0.32 +0.47 +0.53 +0.51 +0.43 +0.37 +0.38 +0.48 +0.64 +0.85 +1.09 +1.36 +1.64 +1.9 +2.12 +2.24 +2.14 +2.09 +1.94 +1.71 +1.46 +1.21 +0.96 +0.74 +0.56 +0.46 +0.42 +0.44 +0.48 +0.45 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.3 +0.42 +0.6 +0.82 +1.05 +1.3 +1.58 +1.89 +2.18 +2.4 +2.47 +2.4 +2.18 +1.89 +1.58 +1.3 +1.05 +0.82 +0.6 +0.42 +0.3 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.45 +0.48 +0.44 +0.42 +0.46 +0.56 +0.74 +0.96 +1.21 +1.46 +1.71 +1.94 +2.09 +2.14 +2.09 +1.94 +1.71 +1.46 +1.21 +0.96 +0.74 +0.56 +0.46 +0.42 +0.44 +0.48 +0.45 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.3 +0.42 +0.6 +0.82 +1.05 +1.3 +1.58 +1.89 +2.18 +2.4 +2.47 +2.4 +2.18 +1.89 +1.58 +1.3 +1.05 +0.82 +0.6 +0.42 +0.3 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.45 +0.48 +0.44 +0.42 +0.46 +0.56 +0.74 +0.96 +1.21 +1.46 +1.71 +1.94 +2.09 +2.14 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.82 +1.56 +1.32 +1.09 +0.87 +0.67 +0.5 +0.39 +0.35 +0.35 +0.33 +0.24 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.27 +0.38 +0.41 +0.41 +0.43 +0.52 +0.67 +0.86 +1.07 +1.29 +1.53 +1.77 +2.0 +2.16 +2.22 +2.17 +2.01 +1.8 +1.56 +1.32 +1.1 +0.88 +0.69 +0.53 +0.44 +0.41 +0.41 +0.38 +0.26 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.35 +0.36 +0.4 +0.52 +0.69 +0.9 +1.12 +1.34 +1.59 +1.84 +2.08 +2.25 +2.31 +2.24 +2.06 +1.82 +1.56 +1.32 +1.09 +0.87 +0.67 +0.5 +0.39 +0.35 +0.35 +0.33 +0.24 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.27 +0.38 +0.41 +0.41 +0.43 +0.52 +0.67 +0.86 +1.07 +1.29 +1.53 +1.77 +2.0 +2.16 +2.22 +2.17 +2.01 +1.8 +1.56 +1.32 +1.1 +0.88 +0.69 +0.53 +0.44 +0.41 +0.41 +0.38 +0.26 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.35 +0.36 +0.4 +0.52 +0.69 +0.9 +1.12 +1.34 +1.59 +1.84 +2.08 +2.25 +2.31 +2.24 +2.06 +1.82 +1.84 +1.53 +1.25 +0.99 +0.77 +0.56 +0.39 +0.28 +0.24 +0.26 +0.29 +0.27 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.36 +0.46 +0.48 +0.44 +0.4 +0.43 +0.54 +0.71 +0.92 +1.17 +1.42 +1.68 +1.91 +2.08 +2.15 +2.12 +1.97 +1.76 +1.51 +1.26 +1.01 +0.79 +0.6 +0.49 +0.45 +0.46 +0.48 +0.45 +0.33 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.26 +0.3 +0.29 +0.29 +0.34 +0.47 +0.65 +0.87 +1.11 +1.36 +1.64 +1.94 +2.22 +2.41 +2.47 +2.37 +2.14 +1.84 +1.53 +1.25 +0.99 +0.77 +0.56 +0.39 +0.28 +0.24 +0.26 +0.29 +0.27 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.36 +0.46 +0.48 +0.44 +0.4 +0.43 +0.54 +0.71 +0.92 +1.17 +1.42 +1.68 +1.91 +2.08 +2.15 +2.12 +1.97 +1.76 +1.51 +1.26 +1.01 +0.79 +0.6 +0.49 +0.45 +0.46 +0.48 +0.45 +0.33 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.26 +0.3 +0.29 +0.29 +0.34 +0.47 +0.65 +0.87 +1.11 +1.36 +1.64 +1.94 +2.22 +2.41 +2.47 +2.37 +2.14 +1.84 +1.8 +1.42 +1.09 +0.82 +0.59 +0.39 +0.22 +0.11 +0.08 +0.12 +0.2 +0.25 +0.22 +0.11 +0.0 +0.0 +0.0 +0.0 +0.16 +0.35 +0.47 +0.48 +0.4 +0.3 +0.26 +0.3 +0.45 +0.67 +0.94 +1.22 +1.48 +1.71 +1.88 +1.96 +1.94 +1.82 +1.63 +1.37 +1.09 +0.81 +0.57 +0.41 +0.35 +0.37 +0.44 +0.49 +0.46 +0.32 +0.12 +0.0 +0.0 +0.0 +0.0 +0.09 +0.22 +0.28 +0.26 +0.22 +0.22 +0.29 +0.43 +0.62 +0.84 +1.07 +1.34 +1.66 +2.01 +2.33 +2.55 +2.6 +2.46 +2.17 +1.8 +1.42 +1.09 +0.82 +0.59 +0.39 +0.22 +0.11 +0.08 +0.12 +0.2 +0.25 +0.22 +0.11 +0.0 +0.0 +0.0 +0.0 +0.16 +0.35 +0.47 +0.48 +0.4 +0.3 +0.26 +0.3 +0.45 +0.67 +0.94 +1.22 +1.48 +1.71 +1.88 +1.96 +1.94 +1.82 +1.63 +1.37 +1.09 +0.81 +0.57 +0.41 +0.35 +0.37 +0.44 +0.49 +0.46 +0.32 +0.12 +0.0 +0.0 +0.0 +0.0 +0.09 +0.22 +0.28 +0.26 +0.22 +0.22 +0.29 +0.43 +0.62 +0.84 +1.07 +1.34 +1.66 +2.01 +2.33 +2.55 +2.6 +2.46 +2.17 +1.8 +1.62 +1.19 +0.84 +0.58 +0.38 +0.2 +0.05 +0.0 +0.0 +0.0 +0.03 +0.13 +0.17 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.33 +0.36 +0.26 +0.12 +0.0 +0.0 +0.11 +0.34 +0.63 +0.92 +1.18 +1.39 +1.54 +1.62 +1.62 +1.54 +1.36 +1.11 +0.8 +0.5 +0.26 +0.12 +0.12 +0.21 +0.33 +0.4 +0.36 +0.2 +0.0 +0.0 +0.0 +0.0 +0.02 +0.19 +0.29 +0.29 +0.23 +0.17 +0.19 +0.28 +0.44 +0.62 +0.81 +1.02 +1.27 +1.6 +1.97 +2.32 +2.55 +2.58 +2.41 +2.05 +1.62 +1.19 +0.84 +0.58 +0.38 +0.2 +0.05 +0.0 +0.0 +0.0 +0.03 +0.13 +0.17 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.33 +0.36 +0.26 +0.12 +0.0 +0.0 +0.11 +0.34 +0.63 +0.92 +1.18 +1.39 +1.54 +1.62 +1.62 +1.54 +1.36 +1.11 +0.8 +0.5 +0.26 +0.12 +0.12 +0.21 +0.33 +0.4 +0.36 +0.2 +0.0 +0.0 +0.0 +0.0 +0.02 +0.19 +0.29 +0.29 +0.23 +0.17 +0.19 +0.28 +0.44 +0.62 +0.81 +1.02 +1.27 +1.6 +1.97 +2.32 +2.55 +2.58 +2.41 +2.05 +1.62 +1.33 +0.88 +0.53 +0.3 +0.16 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.17 +0.09 +0.0 +0.0 +0.0 +0.0 +0.04 +0.33 +0.63 +0.87 +1.04 +1.15 +1.22 +1.24 +1.19 +1.05 +0.82 +0.51 +0.19 +0.0 +0.0 +0.0 +0.02 +0.19 +0.26 +0.2 +0.01 +0.0 +0.0 +0.0 +0.0 +0.03 +0.23 +0.32 +0.3 +0.22 +0.18 +0.22 +0.35 +0.51 +0.68 +0.81 +0.96 +1.16 +1.46 +1.82 +2.17 +2.4 +2.42 +2.21 +1.81 +1.33 +0.88 +0.53 +0.3 +0.16 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.17 +0.09 +0.0 +0.0 +0.0 +0.0 +0.04 +0.33 +0.63 +0.87 +1.04 +1.15 +1.22 +1.24 +1.19 +1.05 +0.82 +0.51 +0.19 +0.0 +0.0 +0.0 +0.02 +0.19 +0.26 +0.2 +0.01 +0.0 +0.0 +0.0 +0.0 +0.03 +0.23 +0.32 +0.3 +0.22 +0.18 +0.22 +0.35 +0.51 +0.68 +0.81 +0.96 +1.16 +1.46 +1.82 +2.17 +2.4 +2.42 +2.21 +1.81 +1.33 +1.04 +0.58 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.46 +0.67 +0.8 +0.87 +0.92 +0.95 +0.94 +0.85 +0.64 +0.33 +0.01 +0.0 +0.0 +0.0 +0.0 +0.12 +0.2 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.25 +0.35 +0.31 +0.24 +0.22 +0.3 +0.47 +0.65 +0.79 +0.87 +0.94 +1.07 +1.31 +1.64 +1.97 +2.19 +2.2 +1.96 +1.54 +1.04 +0.58 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.46 +0.67 +0.8 +0.87 +0.92 +0.95 +0.94 +0.85 +0.64 +0.33 +0.01 +0.0 +0.0 +0.0 +0.0 +0.12 +0.2 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.25 +0.35 +0.31 +0.24 +0.22 +0.3 +0.47 +0.65 +0.79 +0.87 +0.94 +1.07 +1.31 +1.64 +1.97 +2.19 +2.2 +1.96 +1.54 +1.04 +0.87 +0.41 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.51 +0.69 +0.78 +0.82 +0.85 +0.89 +0.91 +0.86 +0.68 +0.4 +0.07 +0.0 +0.0 +0.0 +0.02 +0.23 +0.31 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.32 +0.41 +0.37 +0.29 +0.29 +0.41 +0.61 +0.82 +0.95 +0.99 +1.0 +1.06 +1.24 +1.53 +1.84 +2.05 +2.06 +1.82 +1.38 +0.87 +0.41 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.51 +0.69 +0.78 +0.82 +0.85 +0.89 +0.91 +0.86 +0.68 +0.4 +0.07 +0.0 +0.0 +0.0 +0.02 +0.23 +0.31 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.32 +0.41 +0.37 +0.29 +0.29 +0.41 +0.61 +0.82 +0.95 +0.99 +1.0 +1.06 +1.24 +1.53 +1.84 +2.05 +2.06 +1.82 +1.38 +0.87 +0.89 +0.42 +0.12 +0.0 +0.02 +0.06 +0.05 +0.0 +0.0 +0.0 +0.0 +0.04 +0.21 +0.25 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.31 +0.5 +0.48 +0.3 +0.07 +0.0 +0.0 +0.21 +0.5 +0.75 +0.91 +0.98 +0.99 +1.01 +1.06 +1.1 +1.07 +0.93 +0.66 +0.33 +0.07 +0.0 +0.05 +0.27 +0.49 +0.58 +0.46 +0.17 +0.0 +0.0 +0.0 +0.0 +0.24 +0.46 +0.53 +0.47 +0.39 +0.39 +0.52 +0.76 +1.0 +1.14 +1.18 +1.15 +1.16 +1.29 +1.54 +1.84 +2.06 +2.08 +1.85 +1.41 +0.89 +0.42 +0.12 +0.0 +0.02 +0.06 +0.05 +0.0 +0.0 +0.0 +0.0 +0.04 +0.21 +0.25 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.31 +0.5 +0.48 +0.3 +0.07 +0.0 +0.0 +0.21 +0.5 +0.75 +0.91 +0.98 +0.99 +1.01 +1.06 +1.1 +1.07 +0.93 +0.66 +0.33 +0.07 +0.0 +0.05 +0.27 +0.49 +0.58 +0.46 +0.17 +0.0 +0.0 +0.0 +0.0 +0.24 +0.46 +0.53 +0.47 +0.39 +0.39 +0.52 +0.76 +1.0 +1.14 +1.18 +1.15 +1.16 +1.29 +1.54 +1.84 +2.06 +2.08 +1.85 +1.41 +0.89 +1.07 +0.6 +0.29 +0.19 +0.23 +0.3 +0.3 +0.22 +0.11 +0.08 +0.18 +0.39 +0.62 +0.72 +0.63 +0.38 +0.13 +0.02 +0.14 +0.44 +0.77 +0.95 +0.92 +0.71 +0.44 +0.29 +0.31 +0.51 +0.79 +1.04 +1.19 +1.24 +1.24 +1.25 +1.3 +1.34 +1.33 +1.21 +0.95 +0.63 +0.36 +0.23 +0.29 +0.51 +0.75 +0.86 +0.76 +0.49 +0.17 +0.0 +0.0 +0.18 +0.47 +0.69 +0.75 +0.67 +0.55 +0.52 +0.66 +0.91 +1.18 +1.36 +1.41 +1.37 +1.35 +1.44 +1.66 +1.94 +2.17 +2.22 +2.01 +1.59 +1.07 +0.6 +0.29 +0.19 +0.23 +0.3 +0.3 +0.22 +0.11 +0.08 +0.18 +0.39 +0.62 +0.72 +0.63 +0.38 +0.13 +0.02 +0.14 +0.44 +0.77 +0.95 +0.92 +0.71 +0.44 +0.29 +0.31 +0.51 +0.79 +1.04 +1.19 +1.24 +1.24 +1.25 +1.3 +1.34 +1.33 +1.21 +0.95 +0.63 +0.36 +0.23 +0.29 +0.51 +0.75 +0.86 +0.76 +0.49 +0.17 +0.0 +0.0 +0.18 +0.47 +0.69 +0.75 +0.67 +0.55 +0.52 +0.66 +0.91 +1.18 +1.36 +1.41 +1.37 +1.35 +1.44 +1.66 +1.94 +2.17 +2.22 +2.01 +1.59 +1.07 +1.3 +0.83 +0.53 +0.44 +0.51 +0.6 +0.62 +0.54 +0.43 +0.4 +0.52 +0.78 +1.06 +1.21 +1.14 +0.9 +0.62 +0.48 +0.56 +0.83 +1.12 +1.28 +1.22 +0.97 +0.68 +0.49 +0.49 +0.66 +0.93 +1.16 +1.31 +1.35 +1.35 +1.35 +1.38 +1.42 +1.42 +1.31 +1.08 +0.77 +0.48 +0.33 +0.37 +0.57 +0.83 +0.98 +0.94 +0.71 +0.41 +0.2 +0.2 +0.42 +0.73 +0.98 +1.06 +0.97 +0.83 +0.76 +0.85 +1.09 +1.37 +1.58 +1.65 +1.61 +1.56 +1.6 +1.78 +2.05 +2.29 +2.37 +2.2 +1.81 +1.3 +0.83 +0.53 +0.44 +0.51 +0.6 +0.62 +0.54 +0.43 +0.4 +0.52 +0.78 +1.06 +1.21 +1.14 +0.9 +0.62 +0.48 +0.56 +0.83 +1.12 +1.28 +1.22 +0.97 +0.68 +0.49 +0.49 +0.66 +0.93 +1.16 +1.31 +1.35 +1.35 +1.35 +1.38 +1.42 +1.42 +1.31 +1.08 +0.77 +0.48 +0.33 +0.37 +0.57 +0.83 +0.98 +0.94 +0.71 +0.41 +0.2 +0.2 +0.42 +0.73 +0.98 +1.06 +0.97 +0.83 +0.76 +0.85 +1.09 +1.37 +1.58 +1.65 +1.61 +1.56 +1.6 +1.78 +2.05 +2.29 +2.37 +2.2 +1.81 +1.3 +1.44 +1.01 +0.74 +0.69 +0.79 +0.91 +0.94 +0.85 +0.73 +0.69 +0.82 +1.1 +1.4 +1.55 +1.46 +1.18 +0.85 +0.65 +0.68 +0.9 +1.16 +1.29 +1.2 +0.93 +0.61 +0.4 +0.38 +0.53 +0.77 +0.99 +1.13 +1.17 +1.15 +1.14 +1.16 +1.2 +1.2 +1.12 +0.92 +0.64 +0.36 +0.18 +0.19 +0.38 +0.65 +0.86 +0.89 +0.73 +0.47 +0.3 +0.33 +0.59 +0.98 +1.32 +1.48 +1.43 +1.27 +1.14 +1.16 +1.34 +1.59 +1.8 +1.87 +1.81 +1.71 +1.69 +1.8 +2.04 +2.29 +2.4 +2.27 +1.92 +1.44 +1.01 +0.74 +0.69 +0.79 +0.91 +0.94 +0.85 +0.73 +0.69 +0.82 +1.1 +1.4 +1.55 +1.46 +1.18 +0.85 +0.65 +0.68 +0.9 +1.16 +1.29 +1.2 +0.93 +0.61 +0.4 +0.38 +0.53 +0.77 +0.99 +1.13 +1.17 +1.15 +1.14 +1.16 +1.2 +1.2 +1.12 +0.92 +0.64 +0.36 +0.18 +0.19 +0.38 +0.65 +0.86 +0.89 +0.73 +0.47 +0.3 +0.33 +0.59 +0.98 +1.32 +1.48 +1.43 +1.27 +1.14 +1.16 +1.34 +1.59 +1.8 +1.87 +1.81 +1.71 +1.69 +1.8 +2.04 +2.29 +2.4 +2.27 +1.92 +1.44 +1.45 +1.06 +0.86 +0.87 +1.02 +1.18 +1.22 +1.12 +0.97 +0.92 +1.04 +1.31 +1.58 +1.69 +1.53 +1.16 +0.74 +0.46 +0.43 +0.6 +0.84 +0.95 +0.85 +0.57 +0.25 +0.03 +0.0 +0.14 +0.36 +0.56 +0.68 +0.71 +0.69 +0.66 +0.67 +0.72 +0.75 +0.71 +0.58 +0.34 +0.08 +0.0 +0.0 +0.05 +0.33 +0.59 +0.7 +0.61 +0.42 +0.29 +0.37 +0.72 +1.24 +1.74 +2.04 +2.07 +1.9 +1.7 +1.6 +1.68 +1.86 +2.02 +2.05 +1.94 +1.76 +1.65 +1.69 +1.88 +2.12 +2.26 +2.19 +1.88 +1.45 +1.06 +0.86 +0.87 +1.02 +1.18 +1.22 +1.12 +0.97 +0.92 +1.04 +1.31 +1.58 +1.69 +1.53 +1.16 +0.74 +0.46 +0.43 +0.6 +0.84 +0.95 +0.85 +0.57 +0.25 +0.03 +0.0 +0.14 +0.36 +0.56 +0.68 +0.71 +0.69 +0.66 +0.67 +0.72 +0.75 +0.71 +0.58 +0.34 +0.08 +0.0 +0.0 +0.05 +0.33 +0.59 +0.7 +0.61 +0.42 +0.29 +0.37 +0.72 +1.24 +1.74 +2.04 +2.07 +1.9 +1.7 +1.6 +1.68 +1.86 +2.02 +2.05 +1.94 +1.76 +1.65 +1.69 +1.88 +2.12 +2.26 +2.19 +1.88 +1.45 +1.36 +1.02 +0.87 +0.95 +1.17 +1.37 +1.43 +1.33 +1.17 +1.09 +1.2 +1.45 +1.68 +1.71 +1.44 +0.95 +0.41 +0.04 +0.0 +0.1 +0.32 +0.44 +0.35 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.2 +0.16 +0.13 +0.14 +0.2 +0.29 +0.33 +0.27 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.39 +0.56 +0.54 +0.39 +0.3 +0.45 +0.9 +1.57 +2.26 +2.73 +2.86 +2.7 +2.41 +2.17 +2.09 +2.15 +2.21 +2.17 +1.98 +1.71 +1.5 +1.47 +1.62 +1.86 +2.03 +2.0 +1.74 +1.36 +1.02 +0.87 +0.95 +1.17 +1.37 +1.43 +1.33 +1.17 +1.09 +1.2 +1.45 +1.68 +1.71 +1.44 +0.95 +0.41 +0.04 +0.0 +0.1 +0.32 +0.44 +0.35 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.2 +0.16 +0.13 +0.14 +0.2 +0.29 +0.33 +0.27 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.39 +0.56 +0.54 +0.39 +0.3 +0.45 +0.9 +1.57 +2.26 +2.73 +2.86 +2.7 +2.41 +2.17 +2.09 +2.15 +2.21 +2.17 +1.98 +1.71 +1.5 +1.47 +1.62 +1.86 +2.03 +2.0 +1.74 +1.36 +1.26 +0.95 +0.83 +0.96 +1.23 +1.47 +1.56 +1.48 +1.33 +1.27 +1.39 +1.63 +1.83 +1.78 +1.41 +0.78 +0.13 +0.0 +0.0 +0.0 +0.0 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.2 +0.24 +0.15 +0.0 +0.0 +0.0 +0.0 +0.1 +0.43 +0.65 +0.67 +0.55 +0.47 +0.65 +1.18 +1.99 +2.85 +3.48 +3.72 +3.56 +3.17 +2.77 +2.51 +2.41 +2.36 +2.22 +1.94 +1.59 +1.31 +1.23 +1.37 +1.63 +1.83 +1.84 +1.62 +1.26 +0.95 +0.83 +0.96 +1.23 +1.47 +1.56 +1.48 +1.33 +1.27 +1.39 +1.63 +1.83 +1.78 +1.41 +0.78 +0.13 +0.0 +0.0 +0.0 +0.0 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.2 +0.24 +0.15 +0.0 +0.0 +0.0 +0.0 +0.1 +0.43 +0.65 +0.67 +0.55 +0.47 +0.65 +1.18 +1.99 +2.85 +3.48 +3.72 +3.56 +3.17 +2.77 +2.51 +2.41 +2.36 +2.22 +1.94 +1.59 +1.31 +1.23 +1.37 +1.63 +1.83 +1.84 +1.62 +1.26 +1.25 +0.92 +0.81 +0.95 +1.24 +1.52 +1.65 +1.61 +1.51 +1.51 +1.69 +1.98 +2.18 +2.09 +1.63 +0.89 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.44 +0.56 +0.52 +0.36 +0.15 +0.04 +0.13 +0.4 +0.74 +0.98 +1.02 +0.9 +0.8 +0.97 +1.53 +2.42 +3.4 +4.16 +4.47 +4.3 +3.82 +3.27 +2.85 +2.6 +2.43 +2.2 +1.86 +1.46 +1.15 +1.05 +1.21 +1.51 +1.77 +1.82 +1.61 +1.25 +0.92 +0.81 +0.95 +1.24 +1.52 +1.65 +1.61 +1.51 +1.51 +1.69 +1.98 +2.18 +2.09 +1.63 +0.89 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.44 +0.56 +0.52 +0.36 +0.15 +0.04 +0.13 +0.4 +0.74 +0.98 +1.02 +0.9 +0.8 +0.97 +1.53 +2.42 +3.4 +4.16 +4.47 +4.3 +3.82 +3.27 +2.85 +2.6 +2.43 +2.2 +1.86 +1.46 +1.15 +1.05 +1.21 +1.51 +1.77 +1.82 +1.61 +1.25 +1.34 +0.98 +0.83 +0.95 +1.25 +1.55 +1.72 +1.75 +1.74 +1.85 +2.13 +2.51 +2.77 +2.68 +2.17 +1.35 +0.51 +0.0 +0.0 +0.0 +0.14 +0.33 +0.3 +0.07 +0.0 +0.0 +0.0 +0.0 +0.19 +0.39 +0.46 +0.41 +0.3 +0.22 +0.25 +0.4 +0.64 +0.9 +1.06 +1.05 +0.89 +0.66 +0.52 +0.56 +0.81 +1.15 +1.39 +1.43 +1.28 +1.14 +1.25 +1.79 +2.7 +3.73 +4.56 +4.91 +4.74 +4.2 +3.55 +3.01 +2.65 +2.41 +2.14 +1.77 +1.36 +1.05 +0.98 +1.18 +1.54 +1.85 +1.93 +1.72 +1.34 +0.98 +0.83 +0.95 +1.25 +1.55 +1.72 +1.75 +1.74 +1.85 +2.13 +2.51 +2.77 +2.68 +2.17 +1.35 +0.51 +0.0 +0.0 +0.0 +0.14 +0.33 +0.3 +0.07 +0.0 +0.0 +0.0 +0.0 +0.19 +0.39 +0.46 +0.41 +0.3 +0.22 +0.25 +0.4 +0.64 +0.9 +1.06 +1.05 +0.89 +0.66 +0.52 +0.56 +0.81 +1.15 +1.39 +1.43 +1.28 +1.14 +1.25 +1.79 +2.7 +3.73 +4.56 +4.91 +4.74 +4.2 +3.55 +3.01 +2.65 +2.41 +2.14 +1.77 +1.36 +1.05 +0.98 +1.18 +1.54 +1.85 +1.93 +1.72 +1.34 +1.49 +1.09 +0.9 +0.99 +1.28 +1.61 +1.83 +1.93 +2.03 +2.27 +2.69 +3.18 +3.52 +3.47 +2.95 +2.08 +1.17 +0.52 +0.28 +0.42 +0.7 +0.9 +0.86 +0.63 +0.36 +0.21 +0.28 +0.51 +0.79 +1.0 +1.05 +0.96 +0.8 +0.68 +0.68 +0.81 +1.05 +1.31 +1.46 +1.45 +1.26 +1.01 +0.83 +0.84 +1.07 +1.39 +1.62 +1.64 +1.45 +1.26 +1.31 +1.79 +2.66 +3.69 +4.54 +4.92 +4.76 +4.21 +3.52 +2.95 +2.57 +2.31 +2.05 +1.7 +1.31 +1.02 +0.99 +1.24 +1.65 +2.0 +2.11 +1.9 +1.49 +1.09 +0.9 +0.99 +1.28 +1.61 +1.83 +1.93 +2.03 +2.27 +2.69 +3.18 +3.52 +3.47 +2.95 +2.08 +1.17 +0.52 +0.28 +0.42 +0.7 +0.9 +0.86 +0.63 +0.36 +0.21 +0.28 +0.51 +0.79 +1.0 +1.05 +0.96 +0.8 +0.68 +0.68 +0.81 +1.05 +1.31 +1.46 +1.45 +1.26 +1.01 +0.83 +0.84 +1.07 +1.39 +1.62 +1.64 +1.45 +1.26 +1.31 +1.79 +2.66 +3.69 +4.54 +4.92 +4.76 +4.21 +3.52 +2.95 +2.57 +2.31 +2.05 +1.7 +1.31 +1.02 +0.99 +1.24 +1.65 +2.0 +2.11 +1.9 +1.49 +1.62 +1.2 +0.99 +1.07 +1.36 +1.71 +1.99 +2.17 +2.37 +2.72 +3.26 +3.86 +4.29 +4.28 +3.77 +2.87 +1.91 +1.19 +0.9 +1.0 +1.25 +1.43 +1.38 +1.13 +0.84 +0.68 +0.75 +0.98 +1.26 +1.45 +1.46 +1.33 +1.12 +0.96 +0.91 +1.0 +1.19 +1.4 +1.52 +1.47 +1.25 +0.97 +0.77 +0.76 +0.97 +1.27 +1.48 +1.48 +1.27 +1.04 +1.03 +1.44 +2.25 +3.24 +4.07 +4.47 +4.34 +3.84 +3.21 +2.7 +2.37 +2.17 +1.96 +1.65 +1.29 +1.04 +1.03 +1.3 +1.73 +2.11 +2.24 +2.04 +1.62 +1.2 +0.99 +1.07 +1.36 +1.71 +1.99 +2.17 +2.37 +2.72 +3.26 +3.86 +4.29 +4.28 +3.77 +2.87 +1.91 +1.19 +0.9 +1.0 +1.25 +1.43 +1.38 +1.13 +0.84 +0.68 +0.75 +0.98 +1.26 +1.45 +1.46 +1.33 +1.12 +0.96 +0.91 +1.0 +1.19 +1.4 +1.52 +1.47 +1.25 +0.97 +0.77 +0.76 +0.97 +1.27 +1.48 +1.48 +1.27 +1.04 +1.03 +1.44 +2.25 +3.24 +4.07 +4.47 +4.34 +3.84 +3.21 +2.7 +2.37 +2.17 +1.96 +1.65 +1.29 +1.04 +1.03 +1.3 +1.73 +2.11 +2.24 +2.04 +1.62 +1.69 +1.29 +1.1 +1.19 +1.51 +1.89 +2.21 +2.45 +2.72 +3.14 +3.74 +4.4 +4.87 +4.91 +4.41 +3.51 +2.5 +1.72 +1.35 +1.37 +1.58 +1.71 +1.63 +1.36 +1.05 +0.88 +0.92 +1.13 +1.39 +1.54 +1.52 +1.35 +1.1 +0.9 +0.8 +0.84 +0.97 +1.12 +1.17 +1.08 +0.85 +0.57 +0.36 +0.35 +0.54 +0.82 +1.02 +1.01 +0.8 +0.54 +0.5 +0.84 +1.58 +2.5 +3.3 +3.7 +3.63 +3.22 +2.72 +2.33 +2.12 +2.02 +1.89 +1.63 +1.31 +1.06 +1.04 +1.3 +1.73 +2.12 +2.25 +2.08 +1.69 +1.29 +1.1 +1.19 +1.51 +1.89 +2.21 +2.45 +2.72 +3.14 +3.74 +4.4 +4.87 +4.91 +4.41 +3.51 +2.5 +1.72 +1.35 +1.37 +1.58 +1.71 +1.63 +1.36 +1.05 +0.88 +0.92 +1.13 +1.39 +1.54 +1.52 +1.35 +1.1 +0.9 +0.8 +0.84 +0.97 +1.12 +1.17 +1.08 +0.85 +0.57 +0.36 +0.35 +0.54 +0.82 +1.02 +1.01 +0.8 +0.54 +0.5 +0.84 +1.58 +2.5 +3.3 +3.7 +3.63 +3.22 +2.72 +2.33 +2.12 +2.02 +1.89 +1.63 +1.31 +1.06 +1.04 +1.3 +1.73 +2.12 +2.25 +2.08 +1.69 +1.69 +1.36 +1.22 +1.35 +1.7 +2.11 +2.46 +2.73 +3.01 +3.43 +4.02 +4.67 +5.15 +5.21 +4.74 +3.84 +2.82 +1.99 +1.54 +1.48 +1.61 +1.69 +1.58 +1.29 +0.96 +0.76 +0.76 +0.94 +1.16 +1.29 +1.24 +1.05 +0.8 +0.57 +0.45 +0.45 +0.52 +0.6 +0.61 +0.49 +0.26 +0.0 +0.0 +0.0 +0.02 +0.29 +0.48 +0.47 +0.26 +0.02 +0.0 +0.25 +0.91 +1.74 +2.47 +2.86 +2.84 +2.54 +2.17 +1.94 +1.87 +1.89 +1.84 +1.63 +1.33 +1.07 +1.03 +1.25 +1.65 +2.02 +2.16 +2.03 +1.69 +1.36 +1.22 +1.35 +1.7 +2.11 +2.46 +2.73 +3.01 +3.43 +4.02 +4.67 +5.15 +5.21 +4.74 +3.84 +2.82 +1.99 +1.54 +1.48 +1.61 +1.69 +1.58 +1.29 +0.96 +0.76 +0.76 +0.94 +1.16 +1.29 +1.24 +1.05 +0.8 +0.57 +0.45 +0.45 +0.52 +0.6 +0.61 +0.49 +0.26 +0.0 +0.0 +0.0 +0.02 +0.29 +0.48 +0.47 +0.26 +0.02 +0.0 +0.25 +0.91 +1.74 +2.47 +2.86 +2.84 +2.54 +2.17 +1.94 +1.87 +1.89 +1.84 +1.63 +1.33 +1.07 +1.03 +1.25 +1.65 +2.02 +2.16 +2.03 +1.69 +1.69 +1.43 +1.35 +1.53 +1.9 +2.33 +2.68 +2.93 +3.17 +3.52 +4.03 +4.62 +5.06 +5.12 +4.7 +3.86 +2.87 +2.02 +1.52 +1.38 +1.43 +1.47 +1.33 +1.03 +0.69 +0.46 +0.43 +0.56 +0.75 +0.86 +0.83 +0.66 +0.42 +0.22 +0.1 +0.07 +0.11 +0.16 +0.13 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.16 +0.0 +0.0 +0.0 +0.0 +0.5 +1.23 +1.86 +2.21 +2.2 +1.97 +1.72 +1.61 +1.66 +1.76 +1.77 +1.61 +1.31 +1.05 +0.98 +1.17 +1.53 +1.88 +2.04 +1.95 +1.69 +1.43 +1.35 +1.53 +1.9 +2.33 +2.68 +2.93 +3.17 +3.52 +4.03 +4.62 +5.06 +5.12 +4.7 +3.86 +2.87 +2.02 +1.52 +1.38 +1.43 +1.47 +1.33 +1.03 +0.69 +0.46 +0.43 +0.56 +0.75 +0.86 +0.83 +0.66 +0.42 +0.22 +0.1 +0.07 +0.11 +0.16 +0.13 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.16 +0.0 +0.0 +0.0 +0.0 +0.5 +1.23 +1.86 +2.21 +2.2 +1.97 +1.72 +1.61 +1.66 +1.76 +1.77 +1.61 +1.31 +1.05 +0.98 +1.17 +1.53 +1.88 +2.04 +1.95 +1.69 +1.72 +1.53 +1.5 +1.7 +2.07 +2.48 +2.81 +3.01 +3.17 +3.4 +3.77 +4.23 +4.61 +4.68 +4.33 +3.6 +2.7 +1.89 +1.38 +1.19 +1.2 +1.21 +1.07 +0.79 +0.45 +0.2 +0.13 +0.23 +0.39 +0.52 +0.52 +0.41 +0.24 +0.08 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.23 +0.08 +0.0 +0.0 +0.0 +0.47 +1.08 +1.6 +1.86 +1.83 +1.62 +1.42 +1.37 +1.48 +1.62 +1.66 +1.51 +1.23 +0.98 +0.9 +1.07 +1.4 +1.75 +1.94 +1.91 +1.72 +1.53 +1.5 +1.7 +2.07 +2.48 +2.81 +3.01 +3.17 +3.4 +3.77 +4.23 +4.61 +4.68 +4.33 +3.6 +2.7 +1.89 +1.38 +1.19 +1.2 +1.21 +1.07 +0.79 +0.45 +0.2 +0.13 +0.23 +0.39 +0.52 +0.52 +0.41 +0.24 +0.08 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.23 +0.08 +0.0 +0.0 +0.0 +0.47 +1.08 +1.6 +1.86 +1.83 +1.62 +1.42 +1.37 +1.48 +1.62 +1.66 +1.51 +1.23 +0.98 +0.9 +1.07 +1.4 +1.75 +1.94 +1.91 +1.72 +1.77 +1.63 +1.63 +1.83 +2.17 +2.53 +2.8 +2.93 +2.99 +3.07 +3.28 +3.6 +3.89 +3.97 +3.72 +3.13 +2.38 +1.68 +1.21 +1.02 +1.01 +1.03 +0.92 +0.68 +0.36 +0.11 +0.02 +0.09 +0.25 +0.4 +0.48 +0.45 +0.36 +0.26 +0.2 +0.19 +0.22 +0.23 +0.2 +0.11 +0.0 +0.0 +0.0 +0.0 +0.07 +0.36 +0.58 +0.62 +0.49 +0.3 +0.21 +0.35 +0.73 +1.21 +1.61 +1.77 +1.68 +1.45 +1.24 +1.19 +1.29 +1.42 +1.45 +1.31 +1.05 +0.82 +0.76 +0.94 +1.28 +1.64 +1.87 +1.89 +1.77 +1.63 +1.63 +1.83 +2.17 +2.53 +2.8 +2.93 +2.99 +3.07 +3.28 +3.6 +3.89 +3.97 +3.72 +3.13 +2.38 +1.68 +1.21 +1.02 +1.01 +1.03 +0.92 +0.68 +0.36 +0.11 +0.02 +0.09 +0.25 +0.4 +0.48 +0.45 +0.36 +0.26 +0.2 +0.19 +0.22 +0.23 +0.2 +0.11 +0.0 +0.0 +0.0 +0.0 +0.07 +0.36 +0.58 +0.62 +0.49 +0.3 +0.21 +0.35 +0.73 +1.21 +1.61 +1.77 +1.68 +1.45 +1.24 +1.19 +1.29 +1.42 +1.45 +1.31 +1.05 +0.82 +0.76 +0.94 +1.28 +1.64 +1.87 +1.89 +1.77 +1.79 +1.7 +1.71 +1.87 +2.16 +2.46 +2.67 +2.72 +2.67 +2.62 +2.67 +2.83 +3.03 +3.12 +2.98 +2.56 +1.98 +1.41 +1.02 +0.86 +0.88 +0.93 +0.89 +0.71 +0.44 +0.2 +0.09 +0.15 +0.32 +0.52 +0.67 +0.74 +0.74 +0.69 +0.66 +0.65 +0.66 +0.67 +0.64 +0.54 +0.39 +0.25 +0.19 +0.27 +0.5 +0.79 +1.02 +1.08 +0.96 +0.77 +0.65 +0.73 +1.02 +1.4 +1.69 +1.77 +1.62 +1.34 +1.1 +1.0 +1.04 +1.12 +1.13 +0.99 +0.76 +0.57 +0.55 +0.75 +1.12 +1.5 +1.77 +1.85 +1.79 +1.7 +1.71 +1.87 +2.16 +2.46 +2.67 +2.72 +2.67 +2.62 +2.67 +2.83 +3.03 +3.12 +2.98 +2.56 +1.98 +1.41 +1.02 +0.86 +0.88 +0.93 +0.89 +0.71 +0.44 +0.2 +0.09 +0.15 +0.32 +0.52 +0.67 +0.74 +0.74 +0.69 +0.66 +0.65 +0.66 +0.67 +0.64 +0.54 +0.39 +0.25 +0.19 +0.27 +0.5 +0.79 +1.02 +1.08 +0.96 +0.77 +0.65 +0.73 +1.02 +1.4 +1.69 +1.77 +1.62 +1.34 +1.1 +1.0 +1.04 +1.12 +1.13 +0.99 +0.76 +0.57 +0.55 +0.75 +1.12 +1.5 +1.77 +1.85 +1.79 +1.75 +1.7 +1.71 +1.83 +2.06 +2.3 +2.45 +2.45 +2.33 +2.17 +2.07 +2.1 +2.22 +2.31 +2.25 +1.98 +1.57 +1.13 +0.82 +0.7 +0.75 +0.86 +0.89 +0.79 +0.59 +0.38 +0.26 +0.29 +0.47 +0.71 +0.94 +1.09 +1.16 +1.16 +1.13 +1.1 +1.1 +1.09 +1.04 +0.93 +0.77 +0.6 +0.51 +0.57 +0.77 +1.04 +1.27 +1.33 +1.21 +1.01 +0.85 +0.88 +1.09 +1.4 +1.63 +1.67 +1.48 +1.18 +0.9 +0.74 +0.73 +0.76 +0.73 +0.59 +0.4 +0.25 +0.27 +0.5 +0.88 +1.29 +1.6 +1.75 +1.75 +1.7 +1.71 +1.83 +2.06 +2.3 +2.45 +2.45 +2.33 +2.17 +2.07 +2.1 +2.22 +2.31 +2.25 +1.98 +1.57 +1.13 +0.82 +0.7 +0.75 +0.86 +0.89 +0.79 +0.59 +0.38 +0.26 +0.29 +0.47 +0.71 +0.94 +1.09 +1.16 +1.16 +1.13 +1.1 +1.1 +1.09 +1.04 +0.93 +0.77 +0.6 +0.51 +0.57 +0.77 +1.04 +1.27 +1.33 +1.21 +1.01 +0.85 +0.88 +1.09 +1.4 +1.63 +1.67 +1.48 +1.18 +0.9 +0.74 +0.73 +0.76 +0.73 +0.59 +0.4 +0.25 +0.27 +0.5 +0.88 +1.29 +1.6 +1.75 +1.75 +1.65 +1.65 +1.67 +1.76 +1.94 +2.12 +2.23 +2.21 +2.05 +1.82 +1.64 +1.56 +1.6 +1.68 +1.68 +1.53 +1.23 +0.89 +0.64 +0.55 +0.62 +0.77 +0.87 +0.85 +0.71 +0.52 +0.39 +0.4 +0.56 +0.82 +1.1 +1.32 +1.44 +1.47 +1.43 +1.38 +1.34 +1.3 +1.23 +1.11 +0.92 +0.73 +0.6 +0.61 +0.77 +1.01 +1.21 +1.26 +1.14 +0.91 +0.72 +0.69 +0.86 +1.12 +1.33 +1.37 +1.21 +0.92 +0.63 +0.45 +0.38 +0.38 +0.34 +0.22 +0.05 +0.0 +0.0 +0.21 +0.59 +1.01 +1.36 +1.58 +1.65 +1.65 +1.67 +1.76 +1.94 +2.12 +2.23 +2.21 +2.05 +1.82 +1.64 +1.56 +1.6 +1.68 +1.68 +1.53 +1.23 +0.89 +0.64 +0.55 +0.62 +0.77 +0.87 +0.85 +0.71 +0.52 +0.39 +0.4 +0.56 +0.82 +1.1 +1.32 +1.44 +1.47 +1.43 +1.38 +1.34 +1.3 +1.23 +1.11 +0.92 +0.73 +0.6 +0.61 +0.77 +1.01 +1.21 +1.26 +1.14 +0.91 +0.72 +0.69 +0.86 +1.12 +1.33 +1.37 +1.21 +0.92 +0.63 +0.45 +0.38 +0.38 +0.34 +0.22 +0.05 +0.0 +0.0 +0.21 +0.59 +1.01 +1.36 +1.58 +1.65 +1.57 +1.64 +1.68 +1.75 +1.88 +2.02 +2.11 +2.08 +1.92 +1.68 +1.45 +1.31 +1.3 +1.36 +1.39 +1.3 +1.08 +0.79 +0.56 +0.46 +0.53 +0.69 +0.83 +0.87 +0.77 +0.6 +0.45 +0.42 +0.55 +0.8 +1.1 +1.37 +1.53 +1.57 +1.53 +1.44 +1.36 +1.29 +1.21 +1.07 +0.88 +0.67 +0.51 +0.47 +0.58 +0.78 +0.95 +0.99 +0.85 +0.61 +0.39 +0.32 +0.43 +0.67 +0.89 +0.97 +0.86 +0.62 +0.36 +0.18 +0.1 +0.08 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +0.76 +1.14 +1.42 +1.57 +1.64 +1.68 +1.75 +1.88 +2.02 +2.11 +2.08 +1.92 +1.68 +1.45 +1.31 +1.3 +1.36 +1.39 +1.3 +1.08 +0.79 +0.56 +0.46 +0.53 +0.69 +0.83 +0.87 +0.77 +0.6 +0.45 +0.42 +0.55 +0.8 +1.1 +1.37 +1.53 +1.57 +1.53 +1.44 +1.36 +1.29 +1.21 +1.07 +0.88 +0.67 +0.51 +0.47 +0.58 +0.78 +0.95 +0.99 +0.85 +0.61 +0.39 +0.32 +0.43 +0.67 +0.89 +0.97 +0.86 +0.62 +0.36 +0.18 +0.1 +0.08 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +0.76 +1.14 +1.42 +1.57 +1.61 +1.74 +1.81 +1.87 +1.95 +2.04 +2.11 +2.09 +1.95 +1.74 +1.51 +1.36 +1.33 +1.37 +1.41 +1.35 +1.17 +0.9 +0.66 +0.54 +0.57 +0.72 +0.87 +0.93 +0.86 +0.68 +0.51 +0.43 +0.5 +0.73 +1.03 +1.31 +1.5 +1.56 +1.51 +1.41 +1.29 +1.19 +1.09 +0.96 +0.77 +0.56 +0.39 +0.32 +0.39 +0.55 +0.69 +0.73 +0.6 +0.35 +0.12 +0.01 +0.09 +0.3 +0.52 +0.64 +0.6 +0.42 +0.21 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.64 +1.04 +1.38 +1.61 +1.74 +1.81 +1.87 +1.95 +2.04 +2.11 +2.09 +1.95 +1.74 +1.51 +1.36 +1.33 +1.37 +1.41 +1.35 +1.17 +0.9 +0.66 +0.54 +0.57 +0.72 +0.87 +0.93 +0.86 +0.68 +0.51 +0.43 +0.5 +0.73 +1.03 +1.31 +1.5 +1.56 +1.51 +1.41 +1.29 +1.19 +1.09 +0.96 +0.77 +0.56 +0.39 +0.32 +0.39 +0.55 +0.69 +0.73 +0.6 +0.35 +0.12 +0.01 +0.09 +0.3 +0.52 +0.64 +0.6 +0.42 +0.21 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.64 +1.04 +1.38 +1.61 +1.83 +2.01 +2.1 +2.13 +2.15 +2.19 +2.21 +2.19 +2.08 +1.91 +1.73 +1.6 +1.57 +1.61 +1.65 +1.61 +1.45 +1.2 +0.95 +0.81 +0.81 +0.92 +1.06 +1.11 +1.04 +0.86 +0.66 +0.54 +0.57 +0.75 +1.03 +1.32 +1.53 +1.61 +1.57 +1.44 +1.3 +1.16 +1.04 +0.91 +0.74 +0.55 +0.39 +0.31 +0.34 +0.48 +0.61 +0.66 +0.57 +0.36 +0.13 +0.0 +0.03 +0.19 +0.4 +0.54 +0.55 +0.44 +0.27 +0.13 +0.05 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.07 +0.35 +0.72 +1.14 +1.53 +1.83 +2.01 +2.1 +2.13 +2.15 +2.19 +2.21 +2.19 +2.08 +1.91 +1.73 +1.6 +1.57 +1.61 +1.65 +1.61 +1.45 +1.2 +0.95 +0.81 +0.81 +0.92 +1.06 +1.11 +1.04 +0.86 +0.66 +0.54 +0.57 +0.75 +1.03 +1.32 +1.53 +1.61 +1.57 +1.44 +1.3 +1.16 +1.04 +0.91 +0.74 +0.55 +0.39 +0.31 +0.34 +0.48 +0.61 +0.66 +0.57 +0.36 +0.13 +0.0 +0.03 +0.19 +0.4 +0.54 +0.55 +0.44 +0.27 +0.13 +0.05 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.07 +0.35 +0.72 +1.14 +1.53 +1.83 +2.17 +2.38 +2.46 +2.45 +2.4 +2.36 +2.33 +2.28 +2.19 +2.07 +1.94 +1.86 +1.85 +1.89 +1.94 +1.9 +1.76 +1.53 +1.31 +1.17 +1.16 +1.25 +1.35 +1.39 +1.32 +1.15 +0.95 +0.82 +0.81 +0.96 +1.21 +1.49 +1.71 +1.82 +1.79 +1.66 +1.49 +1.31 +1.15 +1.0 +0.84 +0.66 +0.51 +0.43 +0.46 +0.57 +0.71 +0.8 +0.77 +0.63 +0.44 +0.31 +0.3 +0.4 +0.56 +0.68 +0.72 +0.65 +0.53 +0.39 +0.3 +0.25 +0.23 +0.21 +0.19 +0.18 +0.23 +0.37 +0.62 +0.99 +1.42 +1.83 +2.17 +2.38 +2.46 +2.45 +2.4 +2.36 +2.33 +2.28 +2.19 +2.07 +1.94 +1.86 +1.85 +1.89 +1.94 +1.9 +1.76 +1.53 +1.31 +1.17 +1.16 +1.25 +1.35 +1.39 +1.32 +1.15 +0.95 +0.82 +0.81 +0.96 +1.21 +1.49 +1.71 +1.82 +1.79 +1.66 +1.49 +1.31 +1.15 +1.0 +0.84 +0.66 +0.51 +0.43 +0.46 +0.57 +0.71 +0.8 +0.77 +0.63 +0.44 +0.31 +0.3 +0.4 +0.56 +0.68 +0.72 +0.65 +0.53 +0.39 +0.3 +0.25 +0.23 +0.21 +0.19 +0.18 +0.23 +0.37 +0.62 +0.99 +1.42 +1.83 +2.17 +2.49 +2.7 +2.76 +2.7 +2.58 +2.45 +2.34 +2.25 +2.16 +2.06 +1.99 +1.95 +1.96 +2.01 +2.04 +2.0 +1.88 +1.7 +1.54 +1.44 +1.45 +1.53 +1.62 +1.65 +1.59 +1.45 +1.29 +1.18 +1.17 +1.3 +1.52 +1.79 +2.02 +2.15 +2.15 +2.03 +1.83 +1.6 +1.38 +1.18 +1.0 +0.82 +0.68 +0.59 +0.6 +0.7 +0.85 +0.98 +1.03 +0.98 +0.87 +0.75 +0.7 +0.74 +0.84 +0.93 +0.98 +0.95 +0.85 +0.72 +0.6 +0.51 +0.46 +0.43 +0.43 +0.46 +0.54 +0.69 +0.95 +1.31 +1.73 +2.15 +2.49 +2.7 +2.76 +2.7 +2.58 +2.45 +2.34 +2.25 +2.16 +2.06 +1.99 +1.95 +1.96 +2.01 +2.04 +2.0 +1.88 +1.7 +1.54 +1.44 +1.45 +1.53 +1.62 +1.65 +1.59 +1.45 +1.29 +1.18 +1.17 +1.3 +1.52 +1.79 +2.02 +2.15 +2.15 +2.03 +1.83 +1.6 +1.38 +1.18 +1.0 +0.82 +0.68 +0.59 +0.6 +0.7 +0.85 +0.98 +1.03 +0.98 +0.87 +0.75 +0.7 +0.74 +0.84 +0.93 +0.98 +0.95 +0.85 +0.72 +0.6 +0.51 +0.46 +0.43 +0.43 +0.46 +0.54 +0.69 +0.95 +1.31 +1.73 +2.15 +2.49 +2.65 +2.83 +2.86 +2.75 +2.56 +2.36 +2.17 +2.03 +1.92 +1.84 +1.79 +1.79 +1.81 +1.85 +1.84 +1.79 +1.67 +1.55 +1.45 +1.43 +1.49 +1.58 +1.66 +1.69 +1.65 +1.57 +1.48 +1.44 +1.47 +1.6 +1.82 +2.07 +2.31 +2.47 +2.51 +2.41 +2.2 +1.92 +1.63 +1.35 +1.12 +0.91 +0.75 +0.65 +0.64 +0.71 +0.84 +1.0 +1.12 +1.16 +1.13 +1.05 +0.98 +0.96 +1.0 +1.06 +1.12 +1.12 +1.07 +0.96 +0.82 +0.68 +0.59 +0.55 +0.56 +0.62 +0.74 +0.92 +1.19 +1.53 +1.93 +2.33 +2.65 +2.83 +2.86 +2.75 +2.56 +2.36 +2.17 +2.03 +1.92 +1.84 +1.79 +1.79 +1.81 +1.85 +1.84 +1.79 +1.67 +1.55 +1.45 +1.43 +1.49 +1.58 +1.66 +1.69 +1.65 +1.57 +1.48 +1.44 +1.47 +1.6 +1.82 +2.07 +2.31 +2.47 +2.51 +2.41 +2.2 +1.92 +1.63 +1.35 +1.12 +0.91 +0.75 +0.65 +0.64 +0.71 +0.84 +1.0 +1.12 +1.16 +1.13 +1.05 +0.98 +0.96 +1.0 +1.06 +1.12 +1.12 +1.07 +0.96 +0.82 +0.68 +0.59 +0.55 +0.56 +0.62 +0.74 +0.92 +1.19 +1.53 +1.93 +2.33 +2.65 +2.57 +2.71 +2.7 +2.56 +2.33 +2.07 +1.83 +1.63 +1.5 +1.42 +1.4 +1.41 +1.43 +1.43 +1.38 +1.28 +1.16 +1.06 +1.03 +1.09 +1.2 +1.32 +1.4 +1.44 +1.42 +1.4 +1.39 +1.44 +1.53 +1.69 +1.91 +2.16 +2.41 +2.62 +2.71 +2.66 +2.47 +2.16 +1.81 +1.46 +1.16 +0.91 +0.71 +0.58 +0.52 +0.53 +0.63 +0.77 +0.92 +1.03 +1.06 +1.02 +0.95 +0.89 +0.87 +0.91 +0.98 +1.05 +1.05 +0.99 +0.86 +0.7 +0.58 +0.51 +0.53 +0.63 +0.78 +1.0 +1.27 +1.6 +1.96 +2.3 +2.57 +2.71 +2.7 +2.56 +2.33 +2.07 +1.83 +1.63 +1.5 +1.42 +1.4 +1.41 +1.43 +1.43 +1.38 +1.28 +1.16 +1.06 +1.03 +1.09 +1.2 +1.32 +1.4 +1.44 +1.42 +1.4 +1.39 +1.44 +1.53 +1.69 +1.91 +2.16 +2.41 +2.62 +2.71 +2.66 +2.47 +2.16 +1.81 +1.46 +1.16 +0.91 +0.71 +0.58 +0.52 +0.53 +0.63 +0.77 +0.92 +1.03 +1.06 +1.02 +0.95 +0.89 +0.87 +0.91 +0.98 +1.05 +1.05 +0.99 +0.86 +0.7 +0.58 +0.51 +0.53 +0.63 +0.78 +1.0 +1.27 +1.6 +1.96 +2.3 +2.57 +2.31 +2.4 +2.35 +2.19 +1.94 +1.65 +1.38 +1.16 +1.0 +0.93 +0.92 +0.95 +0.97 +0.93 +0.83 +0.67 +0.52 +0.43 +0.44 +0.55 +0.7 +0.84 +0.92 +0.95 +0.95 +0.96 +1.03 +1.14 +1.3 +1.49 +1.72 +1.98 +2.25 +2.51 +2.69 +2.72 +2.59 +2.31 +1.93 +1.53 +1.17 +0.87 +0.64 +0.47 +0.35 +0.29 +0.31 +0.4 +0.53 +0.66 +0.73 +0.71 +0.63 +0.53 +0.48 +0.5 +0.6 +0.73 +0.81 +0.82 +0.73 +0.59 +0.45 +0.38 +0.41 +0.52 +0.71 +0.95 +1.23 +1.53 +1.84 +2.11 +2.31 +2.4 +2.35 +2.19 +1.94 +1.65 +1.38 +1.16 +1.0 +0.93 +0.92 +0.95 +0.97 +0.93 +0.83 +0.67 +0.52 +0.43 +0.44 +0.55 +0.7 +0.84 +0.92 +0.95 +0.95 +0.96 +1.03 +1.14 +1.3 +1.49 +1.72 +1.98 +2.25 +2.51 +2.69 +2.72 +2.59 +2.31 +1.93 +1.53 +1.17 +0.87 +0.64 +0.47 +0.35 +0.29 +0.31 +0.4 +0.53 +0.66 +0.73 +0.71 +0.63 +0.53 +0.48 +0.5 +0.6 +0.73 +0.81 +0.82 +0.73 +0.59 +0.45 +0.38 +0.41 +0.52 +0.71 +0.95 +1.23 +1.53 +1.84 +2.11 +2.31 +2.05 +2.07 +1.98 +1.79 +1.54 +1.25 +0.97 +0.74 +0.58 +0.51 +0.52 +0.57 +0.6 +0.56 +0.42 +0.23 +0.04 +0.0 +0.0 +0.08 +0.25 +0.39 +0.45 +0.45 +0.43 +0.45 +0.54 +0.69 +0.88 +1.1 +1.33 +1.6 +1.9 +2.22 +2.49 +2.63 +2.6 +2.4 +2.05 +1.65 +1.27 +0.95 +0.69 +0.47 +0.3 +0.17 +0.1 +0.11 +0.19 +0.3 +0.36 +0.35 +0.25 +0.12 +0.03 +0.04 +0.16 +0.33 +0.5 +0.57 +0.54 +0.44 +0.32 +0.26 +0.3 +0.43 +0.65 +0.91 +1.19 +1.46 +1.72 +1.92 +2.05 +2.07 +1.98 +1.79 +1.54 +1.25 +0.97 +0.74 +0.58 +0.51 +0.52 +0.57 +0.6 +0.56 +0.42 +0.23 +0.04 +0.0 +0.0 +0.08 +0.25 +0.39 +0.45 +0.45 +0.43 +0.45 +0.54 +0.69 +0.88 +1.1 +1.33 +1.6 +1.9 +2.22 +2.49 +2.63 +2.6 +2.4 +2.05 +1.65 +1.27 +0.95 +0.69 +0.47 +0.3 +0.17 +0.1 +0.11 +0.19 +0.3 +0.36 +0.35 +0.25 +0.12 +0.03 +0.04 +0.16 +0.33 +0.5 +0.57 +0.54 +0.44 +0.32 +0.26 +0.3 +0.43 +0.65 +0.91 +1.19 +1.46 +1.72 +1.92 +2.05 +1.93 +1.88 +1.75 +1.53 +1.27 +0.99 +0.72 +0.49 +0.33 +0.28 +0.32 +0.4 +0.46 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.23 +0.2 +0.14 +0.12 +0.17 +0.31 +0.49 +0.7 +0.93 +1.2 +1.53 +1.89 +2.24 +2.5 +2.6 +2.5 +2.24 +1.89 +1.53 +1.2 +0.93 +0.7 +0.49 +0.31 +0.17 +0.12 +0.14 +0.2 +0.23 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.46 +0.4 +0.32 +0.28 +0.33 +0.49 +0.72 +0.99 +1.27 +1.53 +1.75 +1.88 +1.93 +1.88 +1.75 +1.53 +1.27 +0.99 +0.72 +0.49 +0.33 +0.28 +0.32 +0.4 +0.46 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.23 +0.2 +0.14 +0.12 +0.17 +0.31 +0.49 +0.7 +0.93 +1.2 +1.53 +1.89 +2.24 +2.5 +2.6 +2.5 +2.24 +1.89 +1.53 +1.2 +0.93 +0.7 +0.49 +0.31 +0.17 +0.12 +0.14 +0.2 +0.23 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.46 +0.4 +0.32 +0.28 +0.33 +0.49 +0.72 +0.99 +1.27 +1.53 +1.75 +1.88 +1.93 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.55 +1.31 +1.08 +0.87 +0.67 +0.5 +0.39 +0.35 +0.35 +0.33 +0.25 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.27 +0.38 +0.41 +0.41 +0.43 +0.51 +0.66 +0.86 +1.07 +1.29 +1.53 +1.77 +1.99 +2.16 +2.23 +2.17 +2.02 +1.8 +1.56 +1.33 +1.1 +0.89 +0.69 +0.54 +0.44 +0.41 +0.41 +0.38 +0.26 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.35 +0.36 +0.41 +0.52 +0.7 +0.9 +1.12 +1.35 +1.59 +1.84 +2.08 +2.25 +2.31 +2.24 +2.05 +1.81 +1.55 +1.31 +1.08 +0.87 +0.67 +0.5 +0.39 +0.35 +0.35 +0.33 +0.25 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.27 +0.38 +0.41 +0.41 +0.43 +0.51 +0.66 +0.86 +1.07 +1.29 +1.53 +1.77 +1.99 +2.16 +2.23 +2.17 +2.02 +1.8 +1.56 +1.33 +1.1 +0.89 +0.69 +0.54 +0.44 +0.41 +0.41 +0.38 +0.26 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.35 +0.36 +0.41 +0.52 +0.7 +0.9 +1.12 +1.35 +1.59 +1.84 +2.08 +2.25 +2.31 +2.24 +2.05 +1.81 +1.55 +1.52 +1.23 +0.98 +0.75 +0.55 +0.38 +0.27 +0.24 +0.27 +0.3 +0.28 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.37 +0.47 +0.48 +0.43 +0.4 +0.43 +0.53 +0.7 +0.91 +1.16 +1.41 +1.67 +1.91 +2.08 +2.16 +2.13 +1.99 +1.78 +1.53 +1.28 +1.03 +0.8 +0.62 +0.5 +0.45 +0.46 +0.48 +0.45 +0.33 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.26 +0.3 +0.3 +0.3 +0.36 +0.49 +0.67 +0.89 +1.13 +1.38 +1.66 +1.96 +2.23 +2.42 +2.47 +2.36 +2.13 +1.83 +1.52 +1.23 +0.98 +0.75 +0.55 +0.38 +0.27 +0.24 +0.27 +0.3 +0.28 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.37 +0.47 +0.48 +0.43 +0.4 +0.43 +0.53 +0.7 +0.91 +1.16 +1.41 +1.67 +1.91 +2.08 +2.16 +2.13 +1.99 +1.78 +1.53 +1.28 +1.03 +0.8 +0.62 +0.5 +0.45 +0.46 +0.48 +0.45 +0.33 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.26 +0.3 +0.3 +0.3 +0.36 +0.49 +0.67 +0.89 +1.13 +1.38 +1.66 +1.96 +2.23 +2.42 +2.47 +2.36 +2.13 +1.83 +1.52 +1.39 +1.06 +0.79 +0.57 +0.37 +0.21 +0.1 +0.08 +0.13 +0.21 +0.26 +0.24 +0.13 +0.0 +0.0 +0.0 +0.0 +0.19 +0.38 +0.49 +0.49 +0.41 +0.31 +0.26 +0.3 +0.44 +0.66 +0.93 +1.21 +1.48 +1.71 +1.89 +1.98 +1.97 +1.86 +1.66 +1.41 +1.13 +0.85 +0.61 +0.45 +0.38 +0.4 +0.46 +0.51 +0.47 +0.34 +0.13 +0.0 +0.0 +0.0 +0.0 +0.11 +0.24 +0.3 +0.29 +0.26 +0.26 +0.33 +0.48 +0.67 +0.89 +1.12 +1.39 +1.71 +2.05 +2.36 +2.56 +2.6 +2.45 +2.15 +1.77 +1.39 +1.06 +0.79 +0.57 +0.37 +0.21 +0.1 +0.08 +0.13 +0.21 +0.26 +0.24 +0.13 +0.0 +0.0 +0.0 +0.0 +0.19 +0.38 +0.49 +0.49 +0.41 +0.31 +0.26 +0.3 +0.44 +0.66 +0.93 +1.21 +1.48 +1.71 +1.89 +1.98 +1.97 +1.86 +1.66 +1.41 +1.13 +0.85 +0.61 +0.45 +0.38 +0.4 +0.46 +0.51 +0.47 +0.34 +0.13 +0.0 +0.0 +0.0 +0.0 +0.11 +0.24 +0.3 +0.29 +0.26 +0.26 +0.33 +0.48 +0.67 +0.89 +1.12 +1.39 +1.71 +2.05 +2.36 +2.56 +2.6 +2.45 +2.15 +1.77 +1.39 +1.16 +0.8 +0.54 +0.34 +0.17 +0.03 +0.0 +0.0 +0.0 +0.05 +0.16 +0.2 +0.14 +0.0 +0.0 +0.0 +0.0 +0.03 +0.23 +0.37 +0.39 +0.29 +0.14 +0.03 +0.01 +0.13 +0.35 +0.63 +0.92 +1.19 +1.4 +1.56 +1.66 +1.67 +1.6 +1.43 +1.17 +0.87 +0.57 +0.32 +0.19 +0.18 +0.26 +0.38 +0.45 +0.41 +0.25 +0.04 +0.0 +0.0 +0.0 +0.08 +0.25 +0.35 +0.36 +0.31 +0.26 +0.28 +0.38 +0.54 +0.72 +0.91 +1.11 +1.37 +1.68 +2.04 +2.37 +2.58 +2.59 +2.39 +2.03 +1.58 +1.16 +0.8 +0.54 +0.34 +0.17 +0.03 +0.0 +0.0 +0.0 +0.05 +0.16 +0.2 +0.14 +0.0 +0.0 +0.0 +0.0 +0.03 +0.23 +0.37 +0.39 +0.29 +0.14 +0.03 +0.01 +0.13 +0.35 +0.63 +0.92 +1.19 +1.4 +1.56 +1.66 +1.67 +1.6 +1.43 +1.17 +0.87 +0.57 +0.32 +0.19 +0.18 +0.26 +0.38 +0.45 +0.41 +0.25 +0.04 +0.0 +0.0 +0.0 +0.08 +0.25 +0.35 +0.36 +0.31 +0.26 +0.28 +0.38 +0.54 +0.72 +0.91 +1.11 +1.37 +1.68 +2.04 +2.37 +2.58 +2.59 +2.39 +2.03 +1.58 +1.16 +0.84 +0.49 +0.26 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.22 +0.14 +0.0 +0.0 +0.0 +0.0 +0.07 +0.36 +0.65 +0.89 +1.07 +1.19 +1.28 +1.31 +1.27 +1.14 +0.9 +0.59 +0.27 +0.02 +0.0 +0.0 +0.1 +0.27 +0.35 +0.29 +0.1 +0.0 +0.0 +0.0 +0.0 +0.15 +0.35 +0.44 +0.43 +0.36 +0.32 +0.37 +0.49 +0.66 +0.83 +0.97 +1.11 +1.31 +1.59 +1.93 +2.25 +2.44 +2.43 +2.19 +1.78 +1.29 +0.84 +0.49 +0.26 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.22 +0.14 +0.0 +0.0 +0.0 +0.0 +0.07 +0.36 +0.65 +0.89 +1.07 +1.19 +1.28 +1.31 +1.27 +1.14 +0.9 +0.59 +0.27 +0.02 +0.0 +0.0 +0.1 +0.27 +0.35 +0.29 +0.1 +0.0 +0.0 +0.0 +0.0 +0.15 +0.35 +0.44 +0.43 +0.36 +0.32 +0.37 +0.49 +0.66 +0.83 +0.97 +1.11 +1.31 +1.59 +1.93 +2.25 +2.44 +2.43 +2.19 +1.78 +1.29 +0.84 +0.53 +0.2 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.49 +0.7 +0.83 +0.92 +0.98 +1.03 +1.03 +0.94 +0.73 +0.43 +0.1 +0.0 +0.0 +0.0 +0.02 +0.22 +0.31 +0.22 +0.01 +0.0 +0.0 +0.0 +0.0 +0.18 +0.41 +0.51 +0.49 +0.42 +0.41 +0.49 +0.66 +0.84 +0.98 +1.07 +1.14 +1.26 +1.47 +1.77 +2.06 +2.24 +2.2 +1.94 +1.5 +0.99 +0.53 +0.2 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.49 +0.7 +0.83 +0.92 +0.98 +1.03 +1.03 +0.94 +0.73 +0.43 +0.1 +0.0 +0.0 +0.0 +0.02 +0.22 +0.31 +0.22 +0.01 +0.0 +0.0 +0.0 +0.0 +0.18 +0.41 +0.51 +0.49 +0.42 +0.41 +0.49 +0.66 +0.84 +0.98 +1.07 +1.14 +1.26 +1.47 +1.77 +2.06 +2.24 +2.2 +1.94 +1.5 +0.99 +0.53 +0.33 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.2 +0.18 +0.01 +0.0 +0.0 +0.0 +0.0 +0.27 +0.53 +0.71 +0.81 +0.86 +0.91 +0.97 +0.99 +0.94 +0.77 +0.48 +0.16 +0.0 +0.0 +0.0 +0.1 +0.32 +0.4 +0.3 +0.06 +0.0 +0.0 +0.0 +0.0 +0.24 +0.48 +0.57 +0.55 +0.48 +0.49 +0.61 +0.81 +1.02 +1.16 +1.21 +1.22 +1.26 +1.41 +1.65 +1.91 +2.07 +2.03 +1.76 +1.31 +0.79 +0.33 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.2 +0.18 +0.01 +0.0 +0.0 +0.0 +0.0 +0.27 +0.53 +0.71 +0.81 +0.86 +0.91 +0.97 +0.99 +0.94 +0.77 +0.48 +0.16 +0.0 +0.0 +0.0 +0.1 +0.32 +0.4 +0.3 +0.06 +0.0 +0.0 +0.0 +0.0 +0.24 +0.48 +0.57 +0.55 +0.48 +0.49 +0.61 +0.81 +1.02 +1.16 +1.21 +1.22 +1.26 +1.41 +1.65 +1.91 +2.07 +2.03 +1.76 +1.31 +0.79 +0.33 +0.31 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.22 +0.27 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.31 +0.51 +0.5 +0.33 +0.11 +0.0 +0.02 +0.23 +0.5 +0.75 +0.91 +0.99 +1.02 +1.05 +1.11 +1.16 +1.14 +0.99 +0.72 +0.4 +0.13 +0.02 +0.09 +0.3 +0.53 +0.62 +0.52 +0.26 +0.0 +0.0 +0.0 +0.05 +0.35 +0.58 +0.67 +0.63 +0.55 +0.56 +0.7 +0.94 +1.18 +1.34 +1.39 +1.36 +1.35 +1.44 +1.63 +1.86 +2.02 +2.0 +1.74 +1.3 +0.78 +0.31 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.22 +0.27 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.31 +0.51 +0.5 +0.33 +0.11 +0.0 +0.02 +0.23 +0.5 +0.75 +0.91 +0.99 +1.02 +1.05 +1.11 +1.16 +1.14 +0.99 +0.72 +0.4 +0.13 +0.02 +0.09 +0.3 +0.53 +0.62 +0.52 +0.26 +0.0 +0.0 +0.0 +0.05 +0.35 +0.58 +0.67 +0.63 +0.55 +0.56 +0.7 +0.94 +1.18 +1.34 +1.39 +1.36 +1.35 +1.44 +1.63 +1.86 +2.02 +2.0 +1.74 +1.3 +0.78 +0.31 +0.45 +0.14 +0.03 +0.06 +0.15 +0.19 +0.14 +0.07 +0.05 +0.17 +0.39 +0.62 +0.74 +0.67 +0.44 +0.18 +0.06 +0.15 +0.43 +0.74 +0.94 +0.92 +0.73 +0.48 +0.31 +0.33 +0.51 +0.77 +1.02 +1.17 +1.23 +1.25 +1.27 +1.33 +1.38 +1.37 +1.25 +1.0 +0.68 +0.4 +0.25 +0.3 +0.49 +0.72 +0.84 +0.77 +0.52 +0.22 +0.03 +0.03 +0.23 +0.52 +0.76 +0.84 +0.78 +0.69 +0.67 +0.8 +1.06 +1.33 +1.53 +1.59 +1.56 +1.51 +1.55 +1.69 +1.9 +2.07 +2.07 +1.86 +1.44 +0.92 +0.45 +0.14 +0.03 +0.06 +0.15 +0.19 +0.14 +0.07 +0.05 +0.17 +0.39 +0.62 +0.74 +0.67 +0.44 +0.18 +0.06 +0.15 +0.43 +0.74 +0.94 +0.92 +0.73 +0.48 +0.31 +0.33 +0.51 +0.77 +1.02 +1.17 +1.23 +1.25 +1.27 +1.33 +1.38 +1.37 +1.25 +1.0 +0.68 +0.4 +0.25 +0.3 +0.49 +0.72 +0.84 +0.77 +0.52 +0.22 +0.03 +0.03 +0.23 +0.52 +0.76 +0.84 +0.78 +0.69 +0.67 +0.8 +1.06 +1.33 +1.53 +1.59 +1.56 +1.51 +1.55 +1.69 +1.9 +2.07 +2.07 +1.86 +1.44 +0.92 +0.45 +0.66 +0.35 +0.25 +0.31 +0.43 +0.49 +0.46 +0.39 +0.38 +0.51 +0.77 +1.06 +1.23 +1.2 +0.97 +0.7 +0.54 +0.59 +0.82 +1.11 +1.27 +1.24 +1.01 +0.73 +0.53 +0.51 +0.67 +0.91 +1.14 +1.28 +1.34 +1.35 +1.36 +1.4 +1.45 +1.44 +1.34 +1.11 +0.81 +0.52 +0.35 +0.36 +0.53 +0.77 +0.92 +0.9 +0.71 +0.44 +0.24 +0.24 +0.44 +0.75 +1.02 +1.14 +1.09 +0.97 +0.92 +1.0 +1.23 +1.52 +1.74 +1.82 +1.78 +1.7 +1.68 +1.77 +1.95 +2.13 +2.17 +2.0 +1.62 +1.12 +0.66 +0.35 +0.25 +0.31 +0.43 +0.49 +0.46 +0.39 +0.38 +0.51 +0.77 +1.06 +1.23 +1.2 +0.97 +0.7 +0.54 +0.59 +0.82 +1.11 +1.27 +1.24 +1.01 +0.73 +0.53 +0.51 +0.67 +0.91 +1.14 +1.28 +1.34 +1.35 +1.36 +1.4 +1.45 +1.44 +1.34 +1.11 +0.81 +0.52 +0.35 +0.36 +0.53 +0.77 +0.92 +0.9 +0.71 +0.44 +0.24 +0.24 +0.44 +0.75 +1.02 +1.14 +1.09 +0.97 +0.92 +1.0 +1.23 +1.52 +1.74 +1.82 +1.78 +1.7 +1.68 +1.77 +1.95 +2.13 +2.17 +2.0 +1.62 +1.12 +0.66 +0.84 +0.56 +0.49 +0.59 +0.74 +0.82 +0.79 +0.71 +0.69 +0.82 +1.09 +1.4 +1.59 +1.55 +1.3 +0.98 +0.77 +0.76 +0.95 +1.19 +1.33 +1.27 +1.03 +0.73 +0.5 +0.45 +0.57 +0.78 +0.99 +1.13 +1.18 +1.18 +1.17 +1.19 +1.23 +1.23 +1.16 +0.98 +0.71 +0.43 +0.24 +0.22 +0.37 +0.61 +0.82 +0.88 +0.76 +0.54 +0.38 +0.41 +0.66 +1.05 +1.41 +1.62 +1.62 +1.5 +1.38 +1.38 +1.54 +1.78 +1.99 +2.06 +1.99 +1.86 +1.76 +1.79 +1.93 +2.11 +2.19 +2.07 +1.74 +1.28 +0.84 +0.56 +0.49 +0.59 +0.74 +0.82 +0.79 +0.71 +0.69 +0.82 +1.09 +1.4 +1.59 +1.55 +1.3 +0.98 +0.77 +0.76 +0.95 +1.19 +1.33 +1.27 +1.03 +0.73 +0.5 +0.45 +0.57 +0.78 +0.99 +1.13 +1.18 +1.18 +1.17 +1.19 +1.23 +1.23 +1.16 +0.98 +0.71 +0.43 +0.24 +0.22 +0.37 +0.61 +0.82 +0.88 +0.76 +0.54 +0.38 +0.41 +0.66 +1.05 +1.41 +1.62 +1.62 +1.5 +1.38 +1.38 +1.54 +1.78 +1.99 +2.06 +1.99 +1.86 +1.76 +1.79 +1.93 +2.11 +2.19 +2.07 +1.74 +1.28 +0.84 +0.94 +0.71 +0.69 +0.85 +1.04 +1.14 +1.1 +0.99 +0.94 +1.04 +1.29 +1.58 +1.74 +1.66 +1.35 +0.95 +0.66 +0.59 +0.72 +0.94 +1.07 +1.01 +0.76 +0.45 +0.21 +0.14 +0.23 +0.42 +0.6 +0.73 +0.77 +0.75 +0.73 +0.74 +0.77 +0.81 +0.79 +0.68 +0.47 +0.22 +0.03 +0.0 +0.11 +0.37 +0.63 +0.77 +0.74 +0.6 +0.49 +0.58 +0.91 +1.42 +1.94 +2.3 +2.4 +2.28 +2.08 +1.97 +2.0 +2.14 +2.28 +2.31 +2.18 +1.96 +1.78 +1.72 +1.82 +1.99 +2.1 +2.03 +1.75 +1.34 +0.94 +0.71 +0.69 +0.85 +1.04 +1.14 +1.1 +0.99 +0.94 +1.04 +1.29 +1.58 +1.74 +1.66 +1.35 +0.95 +0.66 +0.59 +0.72 +0.94 +1.07 +1.01 +0.76 +0.45 +0.21 +0.14 +0.23 +0.42 +0.6 +0.73 +0.77 +0.75 +0.73 +0.74 +0.77 +0.81 +0.79 +0.68 +0.47 +0.22 +0.03 +0.0 +0.11 +0.37 +0.63 +0.77 +0.74 +0.6 +0.49 +0.58 +0.91 +1.42 +1.94 +2.3 +2.4 +2.28 +2.08 +1.97 +2.0 +2.14 +2.28 +2.31 +2.18 +1.96 +1.78 +1.72 +1.82 +1.99 +2.1 +2.03 +1.75 +1.34 +0.94 +0.99 +0.8 +0.84 +1.05 +1.29 +1.41 +1.36 +1.22 +1.13 +1.2 +1.42 +1.66 +1.76 +1.6 +1.19 +0.69 +0.31 +0.18 +0.28 +0.49 +0.62 +0.57 +0.34 +0.04 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.29 +0.27 +0.24 +0.24 +0.3 +0.38 +0.44 +0.42 +0.3 +0.11 +0.0 +0.0 +0.0 +0.22 +0.53 +0.74 +0.8 +0.72 +0.67 +0.81 +1.23 +1.89 +2.6 +3.13 +3.34 +3.24 +2.97 +2.71 +2.57 +2.56 +2.59 +2.52 +2.31 +2.01 +1.73 +1.59 +1.64 +1.82 +1.96 +1.95 +1.72 +1.35 +0.99 +0.8 +0.84 +1.05 +1.29 +1.41 +1.36 +1.22 +1.13 +1.2 +1.42 +1.66 +1.76 +1.6 +1.19 +0.69 +0.31 +0.18 +0.28 +0.49 +0.62 +0.57 +0.34 +0.04 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.29 +0.27 +0.24 +0.24 +0.3 +0.38 +0.44 +0.42 +0.3 +0.11 +0.0 +0.0 +0.0 +0.22 +0.53 +0.74 +0.8 +0.72 +0.67 +0.81 +1.23 +1.89 +2.6 +3.13 +3.34 +3.24 +2.97 +2.71 +2.57 +2.56 +2.59 +2.52 +2.31 +2.01 +1.73 +1.59 +1.64 +1.82 +1.96 +1.95 +1.72 +1.35 +0.99 +1.04 +0.87 +0.95 +1.2 +1.47 +1.61 +1.57 +1.42 +1.31 +1.37 +1.57 +1.78 +1.82 +1.57 +1.05 +0.45 +0.0 +0.0 +0.0 +0.09 +0.24 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.05 +0.19 +0.34 +0.42 +0.39 +0.25 +0.07 +0.0 +0.06 +0.31 +0.65 +0.92 +1.03 +1.0 +0.97 +1.14 +1.64 +2.41 +3.28 +3.98 +4.31 +4.23 +3.87 +3.45 +3.13 +2.96 +2.85 +2.68 +2.39 +2.0 +1.65 +1.47 +1.51 +1.7 +1.89 +1.92 +1.72 +1.38 +1.04 +0.87 +0.95 +1.2 +1.47 +1.61 +1.57 +1.42 +1.31 +1.37 +1.57 +1.78 +1.82 +1.57 +1.05 +0.45 +0.0 +0.0 +0.0 +0.09 +0.24 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.05 +0.19 +0.34 +0.42 +0.39 +0.25 +0.07 +0.0 +0.06 +0.31 +0.65 +0.92 +1.03 +1.0 +0.97 +1.14 +1.64 +2.41 +3.28 +3.98 +4.31 +4.23 +3.87 +3.45 +3.13 +2.96 +2.85 +2.68 +2.39 +2.0 +1.65 +1.47 +1.51 +1.7 +1.89 +1.92 +1.72 +1.38 +1.04 +1.15 +0.97 +1.04 +1.3 +1.59 +1.75 +1.73 +1.61 +1.54 +1.63 +1.85 +2.07 +2.08 +1.77 +1.16 +0.47 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.09 +0.05 +0.02 +0.04 +0.16 +0.36 +0.58 +0.73 +0.77 +0.66 +0.48 +0.36 +0.4 +0.63 +0.97 +1.27 +1.41 +1.39 +1.36 +1.52 +2.02 +2.86 +3.84 +4.65 +5.07 +5.0 +4.58 +4.03 +3.55 +3.22 +3.0 +2.75 +2.4 +1.98 +1.6 +1.41 +1.47 +1.7 +1.94 +2.02 +1.85 +1.5 +1.15 +0.97 +1.04 +1.3 +1.59 +1.75 +1.73 +1.61 +1.54 +1.63 +1.85 +2.07 +2.08 +1.77 +1.16 +0.47 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.09 +0.05 +0.02 +0.04 +0.16 +0.36 +0.58 +0.73 +0.77 +0.66 +0.48 +0.36 +0.4 +0.63 +0.97 +1.27 +1.41 +1.39 +1.36 +1.52 +2.02 +2.86 +3.84 +4.65 +5.07 +5.0 +4.58 +4.03 +3.55 +3.22 +3.0 +2.75 +2.4 +1.98 +1.6 +1.41 +1.47 +1.7 +1.94 +2.02 +1.85 +1.5 +1.15 +1.34 +1.12 +1.15 +1.4 +1.69 +1.88 +1.91 +1.85 +1.86 +2.03 +2.34 +2.61 +2.64 +2.29 +1.63 +0.85 +0.23 +0.0 +0.0 +0.22 +0.41 +0.41 +0.23 +0.0 +0.0 +0.0 +0.0 +0.13 +0.35 +0.49 +0.51 +0.46 +0.41 +0.43 +0.55 +0.77 +1.02 +1.21 +1.26 +1.15 +0.95 +0.79 +0.79 +0.99 +1.32 +1.63 +1.77 +1.73 +1.66 +1.77 +2.23 +3.07 +4.07 +4.95 +5.41 +5.36 +4.9 +4.27 +3.69 +3.28 +2.99 +2.71 +2.35 +1.93 +1.57 +1.41 +1.52 +1.82 +2.12 +2.24 +2.09 +1.73 +1.34 +1.12 +1.15 +1.4 +1.69 +1.88 +1.91 +1.85 +1.86 +2.03 +2.34 +2.61 +2.64 +2.29 +1.63 +0.85 +0.23 +0.0 +0.0 +0.22 +0.41 +0.41 +0.23 +0.0 +0.0 +0.0 +0.0 +0.13 +0.35 +0.49 +0.51 +0.46 +0.41 +0.43 +0.55 +0.77 +1.02 +1.21 +1.26 +1.15 +0.95 +0.79 +0.79 +0.99 +1.32 +1.63 +1.77 +1.73 +1.66 +1.77 +2.23 +3.07 +4.07 +4.95 +5.41 +5.36 +4.9 +4.27 +3.69 +3.28 +2.99 +2.71 +2.35 +1.93 +1.57 +1.41 +1.52 +1.82 +2.12 +2.24 +2.09 +1.73 +1.34 +1.57 +1.3 +1.29 +1.51 +1.81 +2.03 +2.13 +2.17 +2.29 +2.58 +3.01 +3.37 +3.44 +3.1 +2.39 +1.55 +0.86 +0.52 +0.53 +0.74 +0.93 +0.93 +0.73 +0.46 +0.27 +0.26 +0.43 +0.7 +0.94 +1.06 +1.06 +0.98 +0.9 +0.88 +0.98 +1.18 +1.41 +1.57 +1.6 +1.46 +1.23 +1.03 +0.99 +1.16 +1.47 +1.76 +1.88 +1.82 +1.69 +1.73 +2.12 +2.9 +3.87 +4.75 +5.23 +5.21 +4.76 +4.12 +3.53 +3.11 +2.84 +2.58 +2.26 +1.88 +1.56 +1.45 +1.61 +1.97 +2.33 +2.49 +2.36 +1.99 +1.57 +1.3 +1.29 +1.51 +1.81 +2.03 +2.13 +2.17 +2.29 +2.58 +3.01 +3.37 +3.44 +3.1 +2.39 +1.55 +0.86 +0.52 +0.53 +0.74 +0.93 +0.93 +0.73 +0.46 +0.27 +0.26 +0.43 +0.7 +0.94 +1.06 +1.06 +0.98 +0.9 +0.88 +0.98 +1.18 +1.41 +1.57 +1.6 +1.46 +1.23 +1.03 +0.99 +1.16 +1.47 +1.76 +1.88 +1.82 +1.69 +1.73 +2.12 +2.9 +3.87 +4.75 +5.23 +5.21 +4.76 +4.12 +3.53 +3.11 +2.84 +2.58 +2.26 +1.88 +1.56 +1.45 +1.61 +1.97 +2.33 +2.49 +2.36 +1.99 +1.57 +1.76 +1.47 +1.45 +1.66 +1.98 +2.25 +2.42 +2.56 +2.8 +3.21 +3.75 +4.2 +4.34 +4.02 +3.29 +2.39 +1.63 +1.21 +1.16 +1.33 +1.48 +1.46 +1.25 +0.96 +0.76 +0.75 +0.93 +1.2 +1.43 +1.53 +1.48 +1.35 +1.21 +1.15 +1.19 +1.33 +1.5 +1.61 +1.58 +1.4 +1.14 +0.92 +0.85 +1.0 +1.28 +1.55 +1.65 +1.56 +1.39 +1.36 +1.67 +2.35 +3.26 +4.1 +4.58 +4.59 +4.2 +3.63 +3.12 +2.78 +2.58 +2.4 +2.14 +1.82 +1.54 +1.46 +1.66 +2.05 +2.45 +2.65 +2.55 +2.19 +1.76 +1.47 +1.45 +1.66 +1.98 +2.25 +2.42 +2.56 +2.8 +3.21 +3.75 +4.2 +4.34 +4.02 +3.29 +2.39 +1.63 +1.21 +1.16 +1.33 +1.48 +1.46 +1.25 +0.96 +0.76 +0.75 +0.93 +1.2 +1.43 +1.53 +1.48 +1.35 +1.21 +1.15 +1.19 +1.33 +1.5 +1.61 +1.58 +1.4 +1.14 +0.92 +0.85 +1.0 +1.28 +1.55 +1.65 +1.56 +1.39 +1.36 +1.67 +2.35 +3.26 +4.1 +4.58 +4.59 +4.2 +3.63 +3.12 +2.78 +2.58 +2.4 +2.14 +1.82 +1.54 +1.46 +1.66 +2.05 +2.45 +2.65 +2.55 +2.19 +1.76 +1.87 +1.61 +1.61 +1.85 +2.2 +2.53 +2.77 +3.0 +3.32 +3.82 +4.43 +4.95 +5.13 +4.84 +4.1 +3.16 +2.33 +1.82 +1.68 +1.77 +1.88 +1.82 +1.58 +1.27 +1.05 +1.02 +1.18 +1.43 +1.62 +1.67 +1.58 +1.39 +1.2 +1.08 +1.07 +1.14 +1.24 +1.27 +1.19 +0.99 +0.72 +0.5 +0.44 +0.58 +0.84 +1.08 +1.17 +1.06 +0.86 +0.79 +1.02 +1.61 +2.42 +3.19 +3.66 +3.7 +3.4 +2.95 +2.57 +2.37 +2.29 +2.21 +2.02 +1.74 +1.49 +1.42 +1.61 +2.0 +2.42 +2.65 +2.58 +2.26 +1.87 +1.61 +1.61 +1.85 +2.2 +2.53 +2.77 +3.0 +3.32 +3.82 +4.43 +4.95 +5.13 +4.84 +4.1 +3.16 +2.33 +1.82 +1.68 +1.77 +1.88 +1.82 +1.58 +1.27 +1.05 +1.02 +1.18 +1.43 +1.62 +1.67 +1.58 +1.39 +1.2 +1.08 +1.07 +1.14 +1.24 +1.27 +1.19 +0.99 +0.72 +0.5 +0.44 +0.58 +0.84 +1.08 +1.17 +1.06 +0.86 +0.79 +1.02 +1.61 +2.42 +3.19 +3.66 +3.7 +3.4 +2.95 +2.57 +2.37 +2.29 +2.21 +2.02 +1.74 +1.49 +1.42 +1.61 +2.0 +2.42 +2.65 +2.58 +2.26 +1.87 +1.89 +1.7 +1.76 +2.05 +2.45 +2.83 +3.13 +3.41 +3.77 +4.29 +4.91 +5.45 +5.66 +5.38 +4.66 +3.71 +2.81 +2.22 +1.98 +1.98 +2.02 +1.92 +1.65 +1.32 +1.07 +1.02 +1.14 +1.34 +1.48 +1.49 +1.35 +1.13 +0.9 +0.75 +0.7 +0.72 +0.75 +0.74 +0.63 +0.43 +0.19 +0.01 +0.0 +0.12 +0.37 +0.6 +0.68 +0.57 +0.36 +0.26 +0.43 +0.93 +1.64 +2.32 +2.75 +2.81 +2.59 +2.27 +2.04 +1.97 +2.01 +2.02 +1.9 +1.64 +1.39 +1.3 +1.45 +1.82 +2.22 +2.47 +2.46 +2.21 +1.89 +1.7 +1.76 +2.05 +2.45 +2.83 +3.13 +3.41 +3.77 +4.29 +4.91 +5.45 +5.66 +5.38 +4.66 +3.71 +2.81 +2.22 +1.98 +1.98 +2.02 +1.92 +1.65 +1.32 +1.07 +1.02 +1.14 +1.34 +1.48 +1.49 +1.35 +1.13 +0.9 +0.75 +0.7 +0.72 +0.75 +0.74 +0.63 +0.43 +0.19 +0.01 +0.0 +0.12 +0.37 +0.6 +0.68 +0.57 +0.36 +0.26 +0.43 +0.93 +1.64 +2.32 +2.75 +2.81 +2.59 +2.27 +2.04 +1.97 +2.01 +2.02 +1.9 +1.64 +1.39 +1.3 +1.45 +1.82 +2.22 +2.47 +2.46 +2.21 +1.89 +1.85 +1.74 +1.87 +2.21 +2.66 +3.08 +3.41 +3.7 +4.04 +4.51 +5.09 +5.59 +5.8 +5.56 +4.88 +3.95 +3.04 +2.39 +2.06 +1.97 +1.94 +1.8 +1.52 +1.18 +0.91 +0.81 +0.89 +1.04 +1.15 +1.13 +0.98 +0.75 +0.53 +0.38 +0.31 +0.3 +0.31 +0.28 +0.18 +0.01 +0.0 +0.0 +0.0 +0.0 +0.13 +0.35 +0.43 +0.33 +0.13 +0.02 +0.13 +0.54 +1.14 +1.71 +2.08 +2.14 +1.97 +1.74 +1.61 +1.65 +1.77 +1.84 +1.75 +1.51 +1.24 +1.11 +1.23 +1.55 +1.93 +2.2 +2.23 +2.07 +1.85 +1.74 +1.87 +2.21 +2.66 +3.08 +3.41 +3.7 +4.04 +4.51 +5.09 +5.59 +5.8 +5.56 +4.88 +3.95 +3.04 +2.39 +2.06 +1.97 +1.94 +1.8 +1.52 +1.18 +0.91 +0.81 +0.89 +1.04 +1.15 +1.13 +0.98 +0.75 +0.53 +0.38 +0.31 +0.3 +0.31 +0.28 +0.18 +0.01 +0.0 +0.0 +0.0 +0.0 +0.13 +0.35 +0.43 +0.33 +0.13 +0.02 +0.13 +0.54 +1.14 +1.71 +2.08 +2.14 +1.97 +1.74 +1.61 +1.65 +1.77 +1.84 +1.75 +1.51 +1.24 +1.11 +1.23 +1.55 +1.93 +2.2 +2.23 +2.07 +1.85 +1.75 +1.73 +1.92 +2.3 +2.77 +3.2 +3.53 +3.78 +4.05 +4.43 +4.9 +5.33 +5.52 +5.33 +4.74 +3.9 +3.03 +2.36 +1.99 +1.83 +1.75 +1.59 +1.31 +0.98 +0.7 +0.57 +0.6 +0.72 +0.81 +0.81 +0.69 +0.5 +0.32 +0.19 +0.13 +0.13 +0.14 +0.12 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.43 +0.51 +0.43 +0.26 +0.13 +0.2 +0.52 +1.0 +1.47 +1.75 +1.77 +1.6 +1.4 +1.32 +1.39 +1.54 +1.62 +1.54 +1.3 +1.02 +0.87 +0.95 +1.24 +1.6 +1.88 +1.97 +1.89 +1.75 +1.73 +1.92 +2.3 +2.77 +3.2 +3.53 +3.78 +4.05 +4.43 +4.9 +5.33 +5.52 +5.33 +4.74 +3.9 +3.03 +2.36 +1.99 +1.83 +1.75 +1.59 +1.31 +0.98 +0.7 +0.57 +0.6 +0.72 +0.81 +0.81 +0.69 +0.5 +0.32 +0.19 +0.13 +0.13 +0.14 +0.12 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.43 +0.51 +0.43 +0.26 +0.13 +0.2 +0.52 +1.0 +1.47 +1.75 +1.77 +1.6 +1.4 +1.32 +1.39 +1.54 +1.62 +1.54 +1.3 +1.02 +0.87 +0.95 +1.24 +1.6 +1.88 +1.97 +1.89 +1.75 +1.63 +1.67 +1.88 +2.27 +2.74 +3.15 +3.44 +3.63 +3.8 +4.04 +4.37 +4.7 +4.88 +4.75 +4.29 +3.58 +2.82 +2.2 +1.81 +1.63 +1.53 +1.39 +1.14 +0.83 +0.56 +0.42 +0.42 +0.52 +0.63 +0.67 +0.62 +0.51 +0.39 +0.31 +0.27 +0.28 +0.29 +0.28 +0.23 +0.14 +0.05 +0.0 +0.06 +0.24 +0.5 +0.73 +0.83 +0.77 +0.61 +0.47 +0.49 +0.73 +1.11 +1.47 +1.67 +1.64 +1.44 +1.22 +1.12 +1.16 +1.28 +1.33 +1.24 +1.0 +0.73 +0.58 +0.65 +0.92 +1.27 +1.57 +1.7 +1.69 +1.63 +1.67 +1.88 +2.27 +2.74 +3.15 +3.44 +3.63 +3.8 +4.04 +4.37 +4.7 +4.88 +4.75 +4.29 +3.58 +2.82 +2.2 +1.81 +1.63 +1.53 +1.39 +1.14 +0.83 +0.56 +0.42 +0.42 +0.52 +0.63 +0.67 +0.62 +0.51 +0.39 +0.31 +0.27 +0.28 +0.29 +0.28 +0.23 +0.14 +0.05 +0.0 +0.06 +0.24 +0.5 +0.73 +0.83 +0.77 +0.61 +0.47 +0.49 +0.73 +1.11 +1.47 +1.67 +1.64 +1.44 +1.22 +1.12 +1.16 +1.28 +1.33 +1.24 +1.0 +0.73 +0.58 +0.65 +0.92 +1.27 +1.57 +1.7 +1.69 +1.63 +1.48 +1.55 +1.77 +2.14 +2.56 +2.93 +3.17 +3.29 +3.35 +3.44 +3.62 +3.84 +3.99 +3.93 +3.61 +3.07 +2.46 +1.92 +1.58 +1.41 +1.32 +1.22 +1.03 +0.77 +0.53 +0.39 +0.38 +0.47 +0.61 +0.73 +0.77 +0.76 +0.72 +0.67 +0.65 +0.65 +0.66 +0.65 +0.6 +0.51 +0.42 +0.36 +0.4 +0.56 +0.8 +1.02 +1.14 +1.09 +0.94 +0.79 +0.77 +0.93 +1.23 +1.52 +1.66 +1.58 +1.35 +1.09 +0.93 +0.9 +0.95 +0.97 +0.86 +0.63 +0.38 +0.25 +0.32 +0.59 +0.94 +1.25 +1.43 +1.47 +1.48 +1.55 +1.77 +2.14 +2.56 +2.93 +3.17 +3.29 +3.35 +3.44 +3.62 +3.84 +3.99 +3.93 +3.61 +3.07 +2.46 +1.92 +1.58 +1.41 +1.32 +1.22 +1.03 +0.77 +0.53 +0.39 +0.38 +0.47 +0.61 +0.73 +0.77 +0.76 +0.72 +0.67 +0.65 +0.65 +0.66 +0.65 +0.6 +0.51 +0.42 +0.36 +0.4 +0.56 +0.8 +1.02 +1.14 +1.09 +0.94 +0.79 +0.77 +0.93 +1.23 +1.52 +1.66 +1.58 +1.35 +1.09 +0.93 +0.9 +0.95 +0.97 +0.86 +0.63 +0.38 +0.25 +0.32 +0.59 +0.94 +1.25 +1.43 +1.47 +1.48 +1.31 +1.41 +1.63 +1.95 +2.32 +2.63 +2.81 +2.86 +2.82 +2.78 +2.83 +2.94 +3.05 +3.05 +2.87 +2.5 +2.04 +1.61 +1.32 +1.18 +1.13 +1.08 +0.96 +0.78 +0.58 +0.44 +0.42 +0.51 +0.69 +0.87 +1.02 +1.1 +1.13 +1.11 +1.09 +1.06 +1.04 +1.01 +0.94 +0.83 +0.7 +0.6 +0.59 +0.71 +0.91 +1.12 +1.24 +1.2 +1.05 +0.88 +0.82 +0.93 +1.18 +1.43 +1.54 +1.46 +1.21 +0.92 +0.7 +0.61 +0.59 +0.56 +0.45 +0.24 +0.03 +0.0 +0.01 +0.27 +0.61 +0.93 +1.14 +1.25 +1.31 +1.41 +1.63 +1.95 +2.32 +2.63 +2.81 +2.86 +2.82 +2.78 +2.83 +2.94 +3.05 +3.05 +2.87 +2.5 +2.04 +1.61 +1.32 +1.18 +1.13 +1.08 +0.96 +0.78 +0.58 +0.44 +0.42 +0.51 +0.69 +0.87 +1.02 +1.1 +1.13 +1.11 +1.09 +1.06 +1.04 +1.01 +0.94 +0.83 +0.7 +0.6 +0.59 +0.71 +0.91 +1.12 +1.24 +1.2 +1.05 +0.88 +0.82 +0.93 +1.18 +1.43 +1.54 +1.46 +1.21 +0.92 +0.7 +0.61 +0.59 +0.56 +0.45 +0.24 +0.03 +0.0 +0.01 +0.27 +0.61 +0.93 +1.14 +1.25 +1.31 +1.17 +1.31 +1.52 +1.8 +2.11 +2.36 +2.49 +2.48 +2.37 +2.25 +2.18 +2.2 +2.28 +2.32 +2.24 +2.01 +1.69 +1.35 +1.11 +0.99 +0.97 +0.98 +0.94 +0.81 +0.65 +0.52 +0.48 +0.56 +0.75 +0.98 +1.21 +1.37 +1.45 +1.46 +1.41 +1.35 +1.28 +1.21 +1.11 +0.97 +0.81 +0.66 +0.6 +0.65 +0.81 +0.99 +1.1 +1.06 +0.9 +0.71 +0.62 +0.69 +0.91 +1.15 +1.28 +1.22 +1.0 +0.71 +0.47 +0.33 +0.27 +0.22 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.32 +0.63 +0.88 +1.05 +1.17 +1.31 +1.52 +1.8 +2.11 +2.36 +2.49 +2.48 +2.37 +2.25 +2.18 +2.2 +2.28 +2.32 +2.24 +2.01 +1.69 +1.35 +1.11 +0.99 +0.97 +0.98 +0.94 +0.81 +0.65 +0.52 +0.48 +0.56 +0.75 +0.98 +1.21 +1.37 +1.45 +1.46 +1.41 +1.35 +1.28 +1.21 +1.11 +0.97 +0.81 +0.66 +0.6 +0.65 +0.81 +0.99 +1.1 +1.06 +0.9 +0.71 +0.62 +0.69 +0.91 +1.15 +1.28 +1.22 +1.0 +0.71 +0.47 +0.33 +0.27 +0.22 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.32 +0.63 +0.88 +1.05 +1.17 +1.16 +1.34 +1.55 +1.79 +2.03 +2.22 +2.3 +2.27 +2.13 +1.96 +1.83 +1.8 +1.84 +1.9 +1.9 +1.77 +1.54 +1.27 +1.05 +0.94 +0.94 +0.97 +0.98 +0.9 +0.77 +0.62 +0.55 +0.59 +0.77 +1.02 +1.3 +1.52 +1.64 +1.65 +1.58 +1.47 +1.35 +1.24 +1.12 +0.97 +0.79 +0.62 +0.51 +0.52 +0.63 +0.78 +0.87 +0.83 +0.66 +0.46 +0.34 +0.38 +0.56 +0.8 +0.96 +0.95 +0.79 +0.54 +0.31 +0.16 +0.09 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.45 +0.73 +0.96 +1.16 +1.34 +1.55 +1.79 +2.03 +2.22 +2.3 +2.27 +2.13 +1.96 +1.83 +1.8 +1.84 +1.9 +1.9 +1.77 +1.54 +1.27 +1.05 +0.94 +0.94 +0.97 +0.98 +0.9 +0.77 +0.62 +0.55 +0.59 +0.77 +1.02 +1.3 +1.52 +1.64 +1.65 +1.58 +1.47 +1.35 +1.24 +1.12 +0.97 +0.79 +0.62 +0.51 +0.52 +0.63 +0.78 +0.87 +0.83 +0.66 +0.46 +0.34 +0.38 +0.56 +0.8 +0.96 +0.95 +0.79 +0.54 +0.31 +0.16 +0.09 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.45 +0.73 +0.96 +1.16 +1.32 +1.55 +1.76 +1.96 +2.12 +2.25 +2.3 +2.25 +2.12 +1.95 +1.82 +1.76 +1.79 +1.87 +1.9 +1.83 +1.66 +1.43 +1.22 +1.11 +1.09 +1.14 +1.16 +1.11 +0.98 +0.82 +0.7 +0.69 +0.82 +1.06 +1.34 +1.59 +1.74 +1.77 +1.68 +1.52 +1.36 +1.21 +1.07 +0.93 +0.77 +0.61 +0.49 +0.47 +0.55 +0.66 +0.74 +0.71 +0.56 +0.36 +0.22 +0.22 +0.37 +0.58 +0.76 +0.8 +0.7 +0.52 +0.32 +0.19 +0.12 +0.08 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.45 +0.76 +1.05 +1.32 +1.55 +1.76 +1.96 +2.12 +2.25 +2.3 +2.25 +2.12 +1.95 +1.82 +1.76 +1.79 +1.87 +1.9 +1.83 +1.66 +1.43 +1.22 +1.11 +1.09 +1.14 +1.16 +1.11 +0.98 +0.82 +0.7 +0.69 +0.82 +1.06 +1.34 +1.59 +1.74 +1.77 +1.68 +1.52 +1.36 +1.21 +1.07 +0.93 +0.77 +0.61 +0.49 +0.47 +0.55 +0.66 +0.74 +0.71 +0.56 +0.36 +0.22 +0.22 +0.37 +0.58 +0.76 +0.8 +0.7 +0.52 +0.32 +0.19 +0.12 +0.08 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.45 +0.76 +1.05 +1.32 +1.66 +1.92 +2.13 +2.27 +2.36 +2.41 +2.42 +2.37 +2.26 +2.13 +2.03 +1.99 +2.03 +2.11 +2.16 +2.13 +1.99 +1.79 +1.6 +1.48 +1.46 +1.49 +1.51 +1.46 +1.33 +1.15 +1.0 +0.94 +1.01 +1.21 +1.47 +1.73 +1.89 +1.92 +1.82 +1.64 +1.43 +1.25 +1.1 +0.97 +0.84 +0.71 +0.62 +0.59 +0.64 +0.74 +0.83 +0.82 +0.71 +0.54 +0.4 +0.37 +0.46 +0.64 +0.8 +0.87 +0.82 +0.69 +0.55 +0.43 +0.36 +0.33 +0.3 +0.24 +0.18 +0.13 +0.13 +0.22 +0.4 +0.67 +0.99 +1.33 +1.66 +1.92 +2.13 +2.27 +2.36 +2.41 +2.42 +2.37 +2.26 +2.13 +2.03 +1.99 +2.03 +2.11 +2.16 +2.13 +1.99 +1.79 +1.6 +1.48 +1.46 +1.49 +1.51 +1.46 +1.33 +1.15 +1.0 +0.94 +1.01 +1.21 +1.47 +1.73 +1.89 +1.92 +1.82 +1.64 +1.43 +1.25 +1.1 +0.97 +0.84 +0.71 +0.62 +0.59 +0.64 +0.74 +0.83 +0.82 +0.71 +0.54 +0.4 +0.37 +0.46 +0.64 +0.8 +0.87 +0.82 +0.69 +0.55 +0.43 +0.36 +0.33 +0.3 +0.24 +0.18 +0.13 +0.13 +0.22 +0.4 +0.67 +0.99 +1.33 +1.66 +2.07 +2.35 +2.52 +2.6 +2.61 +2.58 +2.53 +2.47 +2.4 +2.32 +2.27 +2.27 +2.32 +2.41 +2.46 +2.44 +2.34 +2.18 +2.02 +1.93 +1.91 +1.93 +1.94 +1.89 +1.76 +1.59 +1.42 +1.33 +1.36 +1.51 +1.74 +1.98 +2.15 +2.18 +2.09 +1.88 +1.64 +1.42 +1.24 +1.1 +0.99 +0.89 +0.82 +0.8 +0.84 +0.94 +1.04 +1.08 +1.03 +0.93 +0.82 +0.77 +0.81 +0.91 +1.03 +1.1 +1.09 +1.01 +0.91 +0.81 +0.73 +0.68 +0.64 +0.6 +0.55 +0.52 +0.53 +0.6 +0.76 +1.01 +1.34 +1.72 +2.07 +2.35 +2.52 +2.6 +2.61 +2.58 +2.53 +2.47 +2.4 +2.32 +2.27 +2.27 +2.32 +2.41 +2.46 +2.44 +2.34 +2.18 +2.02 +1.93 +1.91 +1.93 +1.94 +1.89 +1.76 +1.59 +1.42 +1.33 +1.36 +1.51 +1.74 +1.98 +2.15 +2.18 +2.09 +1.88 +1.64 +1.42 +1.24 +1.1 +0.99 +0.89 +0.82 +0.8 +0.84 +0.94 +1.04 +1.08 +1.03 +0.93 +0.82 +0.77 +0.81 +0.91 +1.03 +1.1 +1.09 +1.01 +0.91 +0.81 +0.73 +0.68 +0.64 +0.6 +0.55 +0.52 +0.53 +0.6 +0.76 +1.01 +1.34 +1.72 +2.07 +2.4 +2.66 +2.79 +2.8 +2.72 +2.61 +2.5 +2.41 +2.35 +2.32 +2.32 +2.37 +2.44 +2.51 +2.55 +2.53 +2.45 +2.34 +2.25 +2.21 +2.22 +2.25 +2.26 +2.21 +2.11 +1.96 +1.83 +1.76 +1.77 +1.89 +2.08 +2.3 +2.46 +2.52 +2.44 +2.23 +1.96 +1.68 +1.44 +1.26 +1.12 +1.02 +0.95 +0.93 +0.97 +1.06 +1.17 +1.27 +1.3 +1.28 +1.22 +1.18 +1.18 +1.22 +1.27 +1.32 +1.33 +1.3 +1.23 +1.15 +1.06 +0.98 +0.91 +0.85 +0.82 +0.81 +0.84 +0.93 +1.09 +1.34 +1.68 +2.05 +2.4 +2.66 +2.79 +2.8 +2.72 +2.61 +2.5 +2.41 +2.35 +2.32 +2.32 +2.37 +2.44 +2.51 +2.55 +2.53 +2.45 +2.34 +2.25 +2.21 +2.22 +2.25 +2.26 +2.21 +2.11 +1.96 +1.83 +1.76 +1.77 +1.89 +2.08 +2.3 +2.46 +2.52 +2.44 +2.23 +1.96 +1.68 +1.44 +1.26 +1.12 +1.02 +0.95 +0.93 +0.97 +1.06 +1.17 +1.27 +1.3 +1.28 +1.22 +1.18 +1.18 +1.22 +1.27 +1.32 +1.33 +1.3 +1.23 +1.15 +1.06 +0.98 +0.91 +0.85 +0.82 +0.81 +0.84 +0.93 +1.09 +1.34 +1.68 +2.05 +2.4 +2.5 +2.72 +2.8 +2.75 +2.59 +2.4 +2.22 +2.1 +2.03 +2.03 +2.08 +2.15 +2.22 +2.27 +2.27 +2.22 +2.16 +2.1 +2.09 +2.12 +2.19 +2.24 +2.26 +2.23 +2.16 +2.08 +2.01 +1.99 +2.04 +2.15 +2.31 +2.51 +2.69 +2.78 +2.74 +2.56 +2.27 +1.94 +1.61 +1.34 +1.14 +1.0 +0.9 +0.86 +0.87 +0.94 +1.05 +1.17 +1.28 +1.35 +1.36 +1.35 +1.32 +1.3 +1.3 +1.32 +1.35 +1.36 +1.35 +1.3 +1.2 +1.07 +0.96 +0.88 +0.85 +0.88 +0.96 +1.08 +1.27 +1.53 +1.84 +2.19 +2.5 +2.72 +2.8 +2.75 +2.59 +2.4 +2.22 +2.1 +2.03 +2.03 +2.08 +2.15 +2.22 +2.27 +2.27 +2.22 +2.16 +2.1 +2.09 +2.12 +2.19 +2.24 +2.26 +2.23 +2.16 +2.08 +2.01 +1.99 +2.04 +2.15 +2.31 +2.51 +2.69 +2.78 +2.74 +2.56 +2.27 +1.94 +1.61 +1.34 +1.14 +1.0 +0.9 +0.86 +0.87 +0.94 +1.05 +1.17 +1.28 +1.35 +1.36 +1.35 +1.32 +1.3 +1.3 +1.32 +1.35 +1.36 +1.35 +1.3 +1.2 +1.07 +0.96 +0.88 +0.85 +0.88 +0.96 +1.08 +1.27 +1.53 +1.84 +2.19 +2.5 +2.34 +2.51 +2.54 +2.43 +2.22 +1.97 +1.73 +1.56 +1.48 +1.48 +1.55 +1.64 +1.71 +1.71 +1.66 +1.56 +1.48 +1.46 +1.52 +1.63 +1.75 +1.84 +1.87 +1.85 +1.81 +1.8 +1.82 +1.88 +1.97 +2.1 +2.27 +2.47 +2.67 +2.82 +2.86 +2.75 +2.49 +2.13 +1.72 +1.35 +1.05 +0.83 +0.69 +0.6 +0.56 +0.58 +0.66 +0.78 +0.92 +1.05 +1.13 +1.15 +1.11 +1.04 +0.99 +0.99 +1.04 +1.11 +1.17 +1.16 +1.07 +0.93 +0.77 +0.67 +0.65 +0.71 +0.84 +1.02 +1.24 +1.5 +1.79 +2.09 +2.34 +2.51 +2.54 +2.43 +2.22 +1.97 +1.73 +1.56 +1.48 +1.48 +1.55 +1.64 +1.71 +1.71 +1.66 +1.56 +1.48 +1.46 +1.52 +1.63 +1.75 +1.84 +1.87 +1.85 +1.81 +1.8 +1.82 +1.88 +1.97 +2.1 +2.27 +2.47 +2.67 +2.82 +2.86 +2.75 +2.49 +2.13 +1.72 +1.35 +1.05 +0.83 +0.69 +0.6 +0.56 +0.58 +0.66 +0.78 +0.92 +1.05 +1.13 +1.15 +1.11 +1.04 +0.99 +0.99 +1.04 +1.11 +1.17 +1.16 +1.07 +0.93 +0.77 +0.67 +0.65 +0.71 +0.84 +1.02 +1.24 +1.5 +1.79 +2.09 +2.34 +2.02 +2.11 +2.1 +1.96 +1.72 +1.43 +1.14 +0.93 +0.83 +0.83 +0.91 +1.01 +1.07 +1.03 +0.92 +0.76 +0.65 +0.64 +0.73 +0.9 +1.06 +1.16 +1.19 +1.17 +1.15 +1.18 +1.27 +1.4 +1.55 +1.71 +1.89 +2.11 +2.36 +2.6 +2.76 +2.76 +2.58 +2.24 +1.8 +1.35 +0.97 +0.67 +0.47 +0.33 +0.23 +0.18 +0.19 +0.26 +0.38 +0.53 +0.65 +0.69 +0.64 +0.55 +0.46 +0.43 +0.5 +0.63 +0.75 +0.81 +0.76 +0.62 +0.45 +0.33 +0.32 +0.41 +0.59 +0.83 +1.08 +1.34 +1.6 +1.83 +2.02 +2.11 +2.1 +1.96 +1.72 +1.43 +1.14 +0.93 +0.83 +0.83 +0.91 +1.01 +1.07 +1.03 +0.92 +0.76 +0.65 +0.64 +0.73 +0.9 +1.06 +1.16 +1.19 +1.17 +1.15 +1.18 +1.27 +1.4 +1.55 +1.71 +1.89 +2.11 +2.36 +2.6 +2.76 +2.76 +2.58 +2.24 +1.8 +1.35 +0.97 +0.67 +0.47 +0.33 +0.23 +0.18 +0.19 +0.26 +0.38 +0.53 +0.65 +0.69 +0.64 +0.55 +0.46 +0.43 +0.5 +0.63 +0.75 +0.81 +0.76 +0.62 +0.45 +0.33 +0.32 +0.41 +0.59 +0.83 +1.08 +1.34 +1.6 +1.83 +2.02 +1.7 +1.73 +1.67 +1.5 +1.25 +0.94 +0.64 +0.4 +0.28 +0.28 +0.37 +0.49 +0.55 +0.49 +0.34 +0.14 +0.0 +0.0 +0.05 +0.23 +0.41 +0.51 +0.51 +0.47 +0.44 +0.47 +0.58 +0.74 +0.92 +1.11 +1.31 +1.55 +1.86 +2.19 +2.48 +2.63 +2.58 +2.33 +1.93 +1.47 +1.04 +0.7 +0.45 +0.27 +0.12 +0.0 +0.0 +0.0 +0.0 +0.11 +0.22 +0.27 +0.21 +0.08 +0.0 +0.0 +0.0 +0.13 +0.32 +0.44 +0.44 +0.33 +0.17 +0.05 +0.04 +0.16 +0.38 +0.66 +0.94 +1.2 +1.42 +1.59 +1.7 +1.73 +1.67 +1.5 +1.25 +0.94 +0.64 +0.4 +0.28 +0.28 +0.37 +0.49 +0.55 +0.49 +0.34 +0.14 +0.0 +0.0 +0.05 +0.23 +0.41 +0.51 +0.51 +0.47 +0.44 +0.47 +0.58 +0.74 +0.92 +1.11 +1.31 +1.55 +1.86 +2.19 +2.48 +2.63 +2.58 +2.33 +1.93 +1.47 +1.04 +0.7 +0.45 +0.27 +0.12 +0.0 +0.0 +0.0 +0.0 +0.11 +0.22 +0.27 +0.21 +0.08 +0.0 +0.0 +0.0 +0.13 +0.32 +0.44 +0.44 +0.33 +0.17 +0.05 +0.04 +0.16 +0.38 +0.66 +0.94 +1.2 +1.42 +1.59 +1.7 +1.57 +1.53 +1.42 +1.23 +0.97 +0.67 +0.37 +0.13 +0.0 +0.01 +0.11 +0.25 +0.33 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.17 +0.15 +0.06 +0.0 +0.0 +0.05 +0.19 +0.37 +0.55 +0.76 +1.02 +1.36 +1.77 +2.17 +2.46 +2.57 +2.46 +2.17 +1.77 +1.36 +1.02 +0.76 +0.55 +0.37 +0.19 +0.05 +0.0 +0.0 +0.06 +0.15 +0.17 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.33 +0.25 +0.11 +0.01 +0.0 +0.13 +0.37 +0.67 +0.97 +1.23 +1.42 +1.53 +1.57 +1.53 +1.42 +1.23 +0.97 +0.67 +0.37 +0.13 +0.0 +0.01 +0.11 +0.25 +0.33 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.17 +0.15 +0.06 +0.0 +0.0 +0.05 +0.19 +0.37 +0.55 +0.76 +1.02 +1.36 +1.77 +2.17 +2.46 +2.57 +2.46 +2.17 +1.77 +1.36 +1.02 +0.76 +0.55 +0.37 +0.19 +0.05 +0.0 +0.0 +0.06 +0.15 +0.17 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.33 +0.25 +0.11 +0.01 +0.0 +0.13 +0.37 +0.67 +0.97 +1.23 +1.42 +1.53 +1.57 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.31 +1.08 +0.86 +0.66 +0.49 +0.39 +0.35 +0.35 +0.34 +0.25 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.28 +0.39 +0.41 +0.4 +0.43 +0.51 +0.66 +0.85 +1.06 +1.29 +1.52 +1.77 +1.99 +2.16 +2.23 +2.18 +2.02 +1.8 +1.57 +1.33 +1.11 +0.89 +0.7 +0.54 +0.45 +0.41 +0.41 +0.38 +0.26 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.35 +0.36 +0.41 +0.53 +0.7 +0.91 +1.13 +1.35 +1.59 +1.85 +2.08 +2.25 +2.31 +2.23 +2.05 +1.81 +1.55 +1.31 +1.08 +0.86 +0.66 +0.49 +0.39 +0.35 +0.35 +0.34 +0.25 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.28 +0.39 +0.41 +0.4 +0.43 +0.51 +0.66 +0.85 +1.06 +1.29 +1.52 +1.77 +1.99 +2.16 +2.23 +2.18 +2.02 +1.8 +1.57 +1.33 +1.11 +0.89 +0.7 +0.54 +0.45 +0.41 +0.41 +0.38 +0.26 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.35 +0.36 +0.41 +0.53 +0.7 +0.91 +1.13 +1.35 +1.59 +1.85 +2.08 +2.25 +2.31 +2.23 +2.05 +1.81 +1.55 +1.31 +1.22 +0.96 +0.74 +0.54 +0.37 +0.27 +0.24 +0.27 +0.31 +0.29 +0.18 +0.01 +0.0 +0.0 +0.0 +0.0 +0.19 +0.37 +0.47 +0.48 +0.43 +0.4 +0.42 +0.52 +0.69 +0.91 +1.15 +1.41 +1.67 +1.9 +2.08 +2.17 +2.14 +2.01 +1.8 +1.55 +1.3 +1.05 +0.82 +0.64 +0.51 +0.46 +0.47 +0.48 +0.45 +0.33 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.26 +0.31 +0.31 +0.31 +0.37 +0.51 +0.69 +0.91 +1.14 +1.4 +1.68 +1.97 +2.24 +2.42 +2.47 +2.36 +2.12 +1.81 +1.5 +1.22 +0.96 +0.74 +0.54 +0.37 +0.27 +0.24 +0.27 +0.31 +0.29 +0.18 +0.01 +0.0 +0.0 +0.0 +0.0 +0.19 +0.37 +0.47 +0.48 +0.43 +0.4 +0.42 +0.52 +0.69 +0.91 +1.15 +1.41 +1.67 +1.9 +2.08 +2.17 +2.14 +2.01 +1.8 +1.55 +1.3 +1.05 +0.82 +0.64 +0.51 +0.46 +0.47 +0.48 +0.45 +0.33 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.26 +0.31 +0.31 +0.31 +0.37 +0.51 +0.69 +0.91 +1.14 +1.4 +1.68 +1.97 +2.24 +2.42 +2.47 +2.36 +2.12 +1.81 +1.5 +1.22 +1.04 +0.77 +0.55 +0.36 +0.2 +0.1 +0.09 +0.14 +0.23 +0.29 +0.26 +0.16 +0.02 +0.0 +0.0 +0.04 +0.22 +0.41 +0.51 +0.5 +0.42 +0.31 +0.26 +0.3 +0.44 +0.66 +0.92 +1.2 +1.47 +1.71 +1.9 +2.0 +2.0 +1.9 +1.71 +1.45 +1.17 +0.89 +0.66 +0.49 +0.42 +0.43 +0.49 +0.53 +0.49 +0.36 +0.16 +0.0 +0.0 +0.0 +0.0 +0.13 +0.27 +0.33 +0.33 +0.3 +0.3 +0.38 +0.53 +0.72 +0.94 +1.17 +1.44 +1.75 +2.09 +2.39 +2.58 +2.6 +2.44 +2.13 +1.75 +1.37 +1.04 +0.77 +0.55 +0.36 +0.2 +0.1 +0.09 +0.14 +0.23 +0.29 +0.26 +0.16 +0.02 +0.0 +0.0 +0.04 +0.22 +0.41 +0.51 +0.5 +0.42 +0.31 +0.26 +0.3 +0.44 +0.66 +0.92 +1.2 +1.47 +1.71 +1.9 +2.0 +2.0 +1.9 +1.71 +1.45 +1.17 +0.89 +0.66 +0.49 +0.42 +0.43 +0.49 +0.53 +0.49 +0.36 +0.16 +0.0 +0.0 +0.0 +0.0 +0.13 +0.27 +0.33 +0.33 +0.3 +0.3 +0.38 +0.53 +0.72 +0.94 +1.17 +1.44 +1.75 +2.09 +2.39 +2.58 +2.6 +2.44 +2.13 +1.75 +1.37 +1.04 +0.78 +0.52 +0.32 +0.16 +0.02 +0.0 +0.0 +0.0 +0.09 +0.2 +0.24 +0.18 +0.05 +0.0 +0.0 +0.0 +0.1 +0.29 +0.42 +0.43 +0.33 +0.17 +0.06 +0.04 +0.15 +0.37 +0.65 +0.94 +1.2 +1.42 +1.59 +1.7 +1.73 +1.66 +1.5 +1.25 +0.95 +0.64 +0.4 +0.26 +0.25 +0.33 +0.44 +0.51 +0.46 +0.31 +0.11 +0.0 +0.0 +0.0 +0.14 +0.32 +0.43 +0.44 +0.4 +0.36 +0.38 +0.48 +0.64 +0.82 +1.01 +1.21 +1.46 +1.77 +2.12 +2.43 +2.61 +2.6 +2.38 +2.0 +1.56 +1.13 +0.78 +0.52 +0.32 +0.16 +0.02 +0.0 +0.0 +0.0 +0.09 +0.2 +0.24 +0.18 +0.05 +0.0 +0.0 +0.0 +0.1 +0.29 +0.42 +0.43 +0.33 +0.17 +0.06 +0.04 +0.15 +0.37 +0.65 +0.94 +1.2 +1.42 +1.59 +1.7 +1.73 +1.66 +1.5 +1.25 +0.95 +0.64 +0.4 +0.26 +0.25 +0.33 +0.44 +0.51 +0.46 +0.31 +0.11 +0.0 +0.0 +0.0 +0.14 +0.32 +0.43 +0.44 +0.4 +0.36 +0.38 +0.48 +0.64 +0.82 +1.01 +1.21 +1.46 +1.77 +2.12 +2.43 +2.61 +2.6 +2.38 +2.0 +1.56 +1.13 +0.78 +0.46 +0.24 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.28 +0.2 +0.03 +0.0 +0.0 +0.0 +0.12 +0.4 +0.68 +0.92 +1.1 +1.24 +1.34 +1.39 +1.36 +1.23 +1.0 +0.69 +0.38 +0.13 +0.02 +0.06 +0.2 +0.37 +0.45 +0.39 +0.22 +0.01 +0.0 +0.0 +0.04 +0.27 +0.48 +0.58 +0.57 +0.51 +0.48 +0.52 +0.65 +0.82 +0.98 +1.12 +1.26 +1.46 +1.72 +2.04 +2.33 +2.49 +2.45 +2.18 +1.75 +1.26 +0.81 +0.46 +0.24 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.28 +0.2 +0.03 +0.0 +0.0 +0.0 +0.12 +0.4 +0.68 +0.92 +1.1 +1.24 +1.34 +1.39 +1.36 +1.23 +1.0 +0.69 +0.38 +0.13 +0.02 +0.06 +0.2 +0.37 +0.45 +0.39 +0.22 +0.01 +0.0 +0.0 +0.04 +0.27 +0.48 +0.58 +0.57 +0.51 +0.48 +0.52 +0.65 +0.82 +0.98 +1.12 +1.26 +1.46 +1.72 +2.04 +2.33 +2.49 +2.45 +2.18 +1.75 +1.26 +0.81 +0.46 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.19 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.27 +0.54 +0.74 +0.88 +0.98 +1.06 +1.13 +1.13 +1.05 +0.84 +0.54 +0.22 +0.0 +0.0 +0.0 +0.14 +0.34 +0.43 +0.36 +0.16 +0.0 +0.0 +0.0 +0.08 +0.36 +0.59 +0.69 +0.68 +0.62 +0.61 +0.69 +0.85 +1.04 +1.18 +1.27 +1.34 +1.45 +1.64 +1.9 +2.15 +2.28 +2.21 +1.92 +1.46 +0.95 +0.5 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.19 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.27 +0.54 +0.74 +0.88 +0.98 +1.06 +1.13 +1.13 +1.05 +0.84 +0.54 +0.22 +0.0 +0.0 +0.0 +0.14 +0.34 +0.43 +0.36 +0.16 +0.0 +0.0 +0.0 +0.08 +0.36 +0.59 +0.69 +0.68 +0.62 +0.61 +0.69 +0.85 +1.04 +1.18 +1.27 +1.34 +1.45 +1.64 +1.9 +2.15 +2.28 +2.21 +1.92 +1.46 +0.95 +0.5 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.25 +0.24 +0.08 +0.0 +0.0 +0.0 +0.05 +0.32 +0.57 +0.74 +0.85 +0.91 +0.98 +1.05 +1.09 +1.04 +0.87 +0.58 +0.26 +0.01 +0.0 +0.0 +0.2 +0.42 +0.51 +0.43 +0.21 +0.0 +0.0 +0.0 +0.11 +0.42 +0.66 +0.76 +0.75 +0.69 +0.7 +0.81 +1.02 +1.23 +1.37 +1.43 +1.43 +1.47 +1.58 +1.78 +1.98 +2.08 +2.0 +1.71 +1.25 +0.74 +0.28 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.25 +0.24 +0.08 +0.0 +0.0 +0.0 +0.05 +0.32 +0.57 +0.74 +0.85 +0.91 +0.98 +1.05 +1.09 +1.04 +0.87 +0.58 +0.26 +0.01 +0.0 +0.0 +0.2 +0.42 +0.51 +0.43 +0.21 +0.0 +0.0 +0.0 +0.11 +0.42 +0.66 +0.76 +0.75 +0.69 +0.7 +0.81 +1.02 +1.23 +1.37 +1.43 +1.43 +1.47 +1.58 +1.78 +1.98 +2.08 +2.0 +1.71 +1.25 +0.74 +0.28 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.25 +0.32 +0.21 +0.0 +0.0 +0.0 +0.0 +0.01 +0.32 +0.52 +0.53 +0.37 +0.16 +0.03 +0.07 +0.26 +0.52 +0.76 +0.92 +1.0 +1.05 +1.1 +1.18 +1.23 +1.21 +1.06 +0.8 +0.48 +0.21 +0.09 +0.16 +0.36 +0.57 +0.68 +0.6 +0.37 +0.1 +0.0 +0.0 +0.19 +0.49 +0.73 +0.83 +0.8 +0.74 +0.75 +0.88 +1.12 +1.37 +1.54 +1.59 +1.56 +1.53 +1.58 +1.71 +1.88 +1.97 +1.9 +1.63 +1.19 +0.68 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.25 +0.32 +0.21 +0.0 +0.0 +0.0 +0.0 +0.01 +0.32 +0.52 +0.53 +0.37 +0.16 +0.03 +0.07 +0.26 +0.52 +0.76 +0.92 +1.0 +1.05 +1.1 +1.18 +1.23 +1.21 +1.06 +0.8 +0.48 +0.21 +0.09 +0.16 +0.36 +0.57 +0.68 +0.6 +0.37 +0.1 +0.0 +0.0 +0.19 +0.49 +0.73 +0.83 +0.8 +0.74 +0.75 +0.88 +1.12 +1.37 +1.54 +1.59 +1.56 +1.53 +1.58 +1.71 +1.88 +1.97 +1.9 +1.63 +1.19 +0.68 +0.22 +0.0 +0.01 +0.0 +0.0 +0.02 +0.09 +0.08 +0.04 +0.04 +0.16 +0.39 +0.63 +0.76 +0.7 +0.49 +0.23 +0.09 +0.16 +0.41 +0.71 +0.91 +0.91 +0.74 +0.5 +0.34 +0.35 +0.51 +0.76 +0.99 +1.15 +1.22 +1.26 +1.3 +1.37 +1.42 +1.42 +1.29 +1.05 +0.73 +0.45 +0.29 +0.32 +0.49 +0.71 +0.83 +0.78 +0.57 +0.3 +0.12 +0.13 +0.32 +0.61 +0.85 +0.96 +0.92 +0.85 +0.84 +0.96 +1.21 +1.49 +1.69 +1.76 +1.73 +1.66 +1.64 +1.72 +1.85 +1.94 +1.91 +1.67 +1.27 +0.77 +0.31 +0.01 +0.0 +0.0 +0.02 +0.09 +0.08 +0.04 +0.04 +0.16 +0.39 +0.63 +0.76 +0.7 +0.49 +0.23 +0.09 +0.16 +0.41 +0.71 +0.91 +0.91 +0.74 +0.5 +0.34 +0.35 +0.51 +0.76 +0.99 +1.15 +1.22 +1.26 +1.3 +1.37 +1.42 +1.42 +1.29 +1.05 +0.73 +0.45 +0.29 +0.32 +0.49 +0.71 +0.83 +0.78 +0.57 +0.3 +0.12 +0.13 +0.32 +0.61 +0.85 +0.96 +0.92 +0.85 +0.84 +0.96 +1.21 +1.49 +1.69 +1.76 +1.73 +1.66 +1.64 +1.72 +1.85 +1.94 +1.91 +1.67 +1.27 +0.77 +0.31 +0.01 +0.17 +0.07 +0.13 +0.26 +0.36 +0.37 +0.34 +0.35 +0.49 +0.75 +1.04 +1.23 +1.22 +1.02 +0.75 +0.57 +0.59 +0.8 +1.06 +1.24 +1.23 +1.03 +0.77 +0.57 +0.54 +0.67 +0.89 +1.11 +1.26 +1.33 +1.35 +1.38 +1.43 +1.47 +1.47 +1.37 +1.15 +0.85 +0.56 +0.38 +0.36 +0.5 +0.72 +0.87 +0.88 +0.72 +0.49 +0.32 +0.32 +0.52 +0.83 +1.11 +1.25 +1.24 +1.15 +1.1 +1.18 +1.4 +1.67 +1.89 +1.97 +1.93 +1.82 +1.73 +1.75 +1.84 +1.94 +1.94 +1.76 +1.4 +0.93 +0.48 +0.17 +0.07 +0.13 +0.26 +0.36 +0.37 +0.34 +0.35 +0.49 +0.75 +1.04 +1.23 +1.22 +1.02 +0.75 +0.57 +0.59 +0.8 +1.06 +1.24 +1.23 +1.03 +0.77 +0.57 +0.54 +0.67 +0.89 +1.11 +1.26 +1.33 +1.35 +1.38 +1.43 +1.47 +1.47 +1.37 +1.15 +0.85 +0.56 +0.38 +0.36 +0.5 +0.72 +0.87 +0.88 +0.72 +0.49 +0.32 +0.32 +0.52 +0.83 +1.11 +1.25 +1.24 +1.15 +1.1 +1.18 +1.4 +1.67 +1.89 +1.97 +1.93 +1.82 +1.73 +1.75 +1.84 +1.94 +1.94 +1.76 +1.4 +0.93 +0.48 +0.17 +0.36 +0.29 +0.39 +0.56 +0.68 +0.7 +0.66 +0.66 +0.79 +1.06 +1.37 +1.59 +1.59 +1.38 +1.08 +0.85 +0.81 +0.96 +1.19 +1.35 +1.32 +1.11 +0.82 +0.59 +0.52 +0.61 +0.79 +0.99 +1.13 +1.19 +1.2 +1.21 +1.23 +1.26 +1.27 +1.2 +1.03 +0.78 +0.51 +0.31 +0.26 +0.37 +0.59 +0.79 +0.88 +0.81 +0.64 +0.51 +0.54 +0.78 +1.17 +1.55 +1.79 +1.84 +1.75 +1.64 +1.64 +1.77 +1.98 +2.17 +2.24 +2.16 +1.99 +1.82 +1.76 +1.8 +1.9 +1.94 +1.82 +1.51 +1.08 +0.65 +0.36 +0.29 +0.39 +0.56 +0.68 +0.7 +0.66 +0.66 +0.79 +1.06 +1.37 +1.59 +1.59 +1.38 +1.08 +0.85 +0.81 +0.96 +1.19 +1.35 +1.32 +1.11 +0.82 +0.59 +0.52 +0.61 +0.79 +0.99 +1.13 +1.19 +1.2 +1.21 +1.23 +1.26 +1.27 +1.2 +1.03 +0.78 +0.51 +0.31 +0.26 +0.37 +0.59 +0.79 +0.88 +0.81 +0.64 +0.51 +0.54 +0.78 +1.17 +1.55 +1.79 +1.84 +1.75 +1.64 +1.64 +1.77 +1.98 +2.17 +2.24 +2.16 +1.99 +1.82 +1.76 +1.8 +1.9 +1.94 +1.82 +1.51 +1.08 +0.65 +0.36 +0.54 +0.5 +0.65 +0.87 +1.02 +1.04 +0.97 +0.92 +1.01 +1.25 +1.55 +1.74 +1.72 +1.48 +1.12 +0.82 +0.72 +0.83 +1.03 +1.17 +1.14 +0.93 +0.64 +0.39 +0.29 +0.34 +0.48 +0.65 +0.77 +0.81 +0.81 +0.8 +0.81 +0.84 +0.87 +0.86 +0.77 +0.6 +0.37 +0.18 +0.11 +0.2 +0.42 +0.67 +0.85 +0.88 +0.8 +0.73 +0.83 +1.15 +1.65 +2.18 +2.58 +2.73 +2.67 +2.49 +2.36 +2.35 +2.45 +2.55 +2.55 +2.41 +2.15 +1.89 +1.73 +1.73 +1.82 +1.89 +1.83 +1.57 +1.18 +0.79 +0.54 +0.5 +0.65 +0.87 +1.02 +1.04 +0.97 +0.92 +1.01 +1.25 +1.55 +1.74 +1.72 +1.48 +1.12 +0.82 +0.72 +0.83 +1.03 +1.17 +1.14 +0.93 +0.64 +0.39 +0.29 +0.34 +0.48 +0.65 +0.77 +0.81 +0.81 +0.8 +0.81 +0.84 +0.87 +0.86 +0.77 +0.6 +0.37 +0.18 +0.11 +0.2 +0.42 +0.67 +0.85 +0.88 +0.8 +0.73 +0.83 +1.15 +1.65 +2.18 +2.58 +2.73 +2.67 +2.49 +2.36 +2.35 +2.45 +2.55 +2.55 +2.41 +2.15 +1.89 +1.73 +1.73 +1.82 +1.89 +1.83 +1.57 +1.18 +0.79 +0.54 +0.69 +0.69 +0.89 +1.15 +1.32 +1.33 +1.23 +1.13 +1.17 +1.36 +1.61 +1.76 +1.69 +1.38 +0.94 +0.57 +0.41 +0.48 +0.66 +0.8 +0.79 +0.6 +0.32 +0.07 +0.0 +0.0 +0.09 +0.23 +0.34 +0.38 +0.37 +0.35 +0.35 +0.39 +0.47 +0.54 +0.55 +0.48 +0.33 +0.16 +0.07 +0.14 +0.36 +0.66 +0.91 +1.04 +1.04 +1.04 +1.19 +1.6 +2.24 +2.94 +3.52 +3.8 +3.77 +3.53 +3.25 +3.07 +3.0 +2.97 +2.88 +2.64 +2.29 +1.94 +1.7 +1.65 +1.74 +1.84 +1.83 +1.62 +1.27 +0.91 +0.69 +0.69 +0.89 +1.15 +1.32 +1.33 +1.23 +1.13 +1.17 +1.36 +1.61 +1.76 +1.69 +1.38 +0.94 +0.57 +0.41 +0.48 +0.66 +0.8 +0.79 +0.6 +0.32 +0.07 +0.0 +0.0 +0.09 +0.23 +0.34 +0.38 +0.37 +0.35 +0.35 +0.39 +0.47 +0.54 +0.55 +0.48 +0.33 +0.16 +0.07 +0.14 +0.36 +0.66 +0.91 +1.04 +1.04 +1.04 +1.19 +1.6 +2.24 +2.94 +3.52 +3.8 +3.77 +3.53 +3.25 +3.07 +3.0 +2.97 +2.88 +2.64 +2.29 +1.94 +1.7 +1.65 +1.74 +1.84 +1.83 +1.62 +1.27 +0.91 +0.69 +0.85 +0.87 +1.09 +1.37 +1.56 +1.57 +1.44 +1.31 +1.31 +1.47 +1.68 +1.79 +1.66 +1.27 +0.75 +0.31 +0.09 +0.12 +0.3 +0.46 +0.47 +0.3 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.11 +0.1 +0.08 +0.09 +0.16 +0.29 +0.45 +0.57 +0.59 +0.51 +0.36 +0.27 +0.31 +0.52 +0.84 +1.14 +1.34 +1.4 +1.44 +1.62 +2.08 +2.82 +3.68 +4.41 +4.82 +4.83 +4.53 +4.11 +3.74 +3.5 +3.34 +3.13 +2.82 +2.4 +1.98 +1.7 +1.63 +1.73 +1.88 +1.91 +1.74 +1.41 +1.06 +0.85 +0.87 +1.09 +1.37 +1.56 +1.57 +1.44 +1.31 +1.31 +1.47 +1.68 +1.79 +1.66 +1.27 +0.75 +0.31 +0.09 +0.12 +0.3 +0.46 +0.47 +0.3 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.11 +0.1 +0.08 +0.09 +0.16 +0.29 +0.45 +0.57 +0.59 +0.51 +0.36 +0.27 +0.31 +0.52 +0.84 +1.14 +1.34 +1.4 +1.44 +1.62 +2.08 +2.82 +3.68 +4.41 +4.82 +4.83 +4.53 +4.11 +3.74 +3.5 +3.34 +3.13 +2.82 +2.4 +1.98 +1.7 +1.63 +1.73 +1.88 +1.91 +1.74 +1.41 +1.06 +0.85 +1.05 +1.05 +1.26 +1.55 +1.74 +1.76 +1.64 +1.52 +1.52 +1.69 +1.9 +1.99 +1.82 +1.37 +0.77 +0.25 +0.0 +0.0 +0.15 +0.33 +0.35 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.16 +0.16 +0.15 +0.17 +0.27 +0.44 +0.66 +0.85 +0.94 +0.9 +0.76 +0.64 +0.64 +0.83 +1.15 +1.48 +1.71 +1.79 +1.82 +2.0 +2.46 +3.24 +4.18 +5.02 +5.52 +5.56 +5.22 +4.7 +4.19 +3.81 +3.53 +3.26 +2.9 +2.45 +2.02 +1.74 +1.69 +1.84 +2.03 +2.11 +1.98 +1.65 +1.28 +1.05 +1.05 +1.26 +1.55 +1.74 +1.76 +1.64 +1.52 +1.52 +1.69 +1.9 +1.99 +1.82 +1.37 +0.77 +0.25 +0.0 +0.0 +0.15 +0.33 +0.35 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.16 +0.16 +0.15 +0.17 +0.27 +0.44 +0.66 +0.85 +0.94 +0.9 +0.76 +0.64 +0.64 +0.83 +1.15 +1.48 +1.71 +1.79 +1.82 +2.0 +2.46 +3.24 +4.18 +5.02 +5.52 +5.56 +5.22 +4.7 +4.19 +3.81 +3.53 +3.26 +2.9 +2.45 +2.02 +1.74 +1.69 +1.84 +2.03 +2.11 +1.98 +1.65 +1.28 +1.05 +1.29 +1.25 +1.42 +1.69 +1.89 +1.94 +1.86 +1.79 +1.86 +2.09 +2.35 +2.47 +2.28 +1.78 +1.12 +0.53 +0.19 +0.16 +0.32 +0.5 +0.54 +0.4 +0.15 +0.0 +0.0 +0.0 +0.09 +0.3 +0.46 +0.54 +0.54 +0.53 +0.55 +0.65 +0.83 +1.07 +1.28 +1.38 +1.33 +1.18 +1.02 +0.98 +1.12 +1.42 +1.75 +1.98 +2.05 +2.05 +2.17 +2.58 +3.33 +4.28 +5.16 +5.7 +5.78 +5.42 +4.84 +4.26 +3.82 +3.5 +3.21 +2.85 +2.43 +2.03 +1.79 +1.8 +2.01 +2.28 +2.41 +2.3 +1.97 +1.57 +1.29 +1.25 +1.42 +1.69 +1.89 +1.94 +1.86 +1.79 +1.86 +2.09 +2.35 +2.47 +2.28 +1.78 +1.12 +0.53 +0.19 +0.16 +0.32 +0.5 +0.54 +0.4 +0.15 +0.0 +0.0 +0.0 +0.09 +0.3 +0.46 +0.54 +0.54 +0.53 +0.55 +0.65 +0.83 +1.07 +1.28 +1.38 +1.33 +1.18 +1.02 +0.98 +1.12 +1.42 +1.75 +1.98 +2.05 +2.05 +2.17 +2.58 +3.33 +4.28 +5.16 +5.7 +5.78 +5.42 +4.84 +4.26 +3.82 +3.5 +3.21 +2.85 +2.43 +2.03 +1.79 +1.8 +2.01 +2.28 +2.41 +2.3 +1.97 +1.57 +1.29 +1.55 +1.46 +1.6 +1.85 +2.07 +2.16 +2.16 +2.19 +2.36 +2.68 +3.03 +3.19 +3.02 +2.5 +1.79 +1.12 +0.71 +0.63 +0.76 +0.92 +0.96 +0.81 +0.56 +0.34 +0.26 +0.36 +0.58 +0.82 +0.99 +1.06 +1.05 +1.01 +1.0 +1.07 +1.23 +1.43 +1.6 +1.66 +1.58 +1.38 +1.18 +1.1 +1.21 +1.48 +1.79 +1.99 +2.03 +1.97 +2.02 +2.34 +3.01 +3.9 +4.76 +5.32 +5.41 +5.08 +4.52 +3.95 +3.52 +3.23 +2.99 +2.69 +2.33 +2.0 +1.82 +1.89 +2.17 +2.5 +2.69 +2.62 +2.3 +1.88 +1.55 +1.46 +1.6 +1.85 +2.07 +2.16 +2.16 +2.19 +2.36 +2.68 +3.03 +3.19 +3.02 +2.5 +1.79 +1.12 +0.71 +0.63 +0.76 +0.92 +0.96 +0.81 +0.56 +0.34 +0.26 +0.36 +0.58 +0.82 +0.99 +1.06 +1.05 +1.01 +1.0 +1.07 +1.23 +1.43 +1.6 +1.66 +1.58 +1.38 +1.18 +1.1 +1.21 +1.48 +1.79 +1.99 +2.03 +1.97 +2.02 +2.34 +3.01 +3.9 +4.76 +5.32 +5.41 +5.08 +4.52 +3.95 +3.52 +3.23 +2.99 +2.69 +2.33 +2.0 +1.82 +1.89 +2.17 +2.5 +2.69 +2.62 +2.3 +1.88 +1.55 +1.79 +1.68 +1.8 +2.06 +2.31 +2.47 +2.56 +2.69 +2.98 +3.4 +3.84 +4.07 +3.93 +3.39 +2.63 +1.89 +1.4 +1.24 +1.31 +1.44 +1.45 +1.29 +1.02 +0.79 +0.72 +0.83 +1.06 +1.3 +1.46 +1.49 +1.43 +1.34 +1.28 +1.3 +1.4 +1.53 +1.62 +1.62 +1.48 +1.25 +1.02 +0.92 +1.01 +1.25 +1.53 +1.7 +1.7 +1.6 +1.57 +1.79 +2.35 +3.15 +3.94 +4.47 +4.58 +4.31 +3.82 +3.34 +3.0 +2.81 +2.66 +2.45 +2.17 +1.89 +1.76 +1.88 +2.2 +2.59 +2.84 +2.82 +2.53 +2.12 +1.79 +1.68 +1.8 +2.06 +2.31 +2.47 +2.56 +2.69 +2.98 +3.4 +3.84 +4.07 +3.93 +3.39 +2.63 +1.89 +1.4 +1.24 +1.31 +1.44 +1.45 +1.29 +1.02 +0.79 +0.72 +0.83 +1.06 +1.3 +1.46 +1.49 +1.43 +1.34 +1.28 +1.3 +1.4 +1.53 +1.62 +1.62 +1.48 +1.25 +1.02 +0.92 +1.01 +1.25 +1.53 +1.7 +1.7 +1.6 +1.57 +1.79 +2.35 +3.15 +3.94 +4.47 +4.58 +4.31 +3.82 +3.34 +3.0 +2.81 +2.66 +2.45 +2.17 +1.89 +1.76 +1.88 +2.2 +2.59 +2.84 +2.82 +2.53 +2.12 +1.79 +1.95 +1.86 +2.01 +2.31 +2.61 +2.85 +3.03 +3.26 +3.64 +4.14 +4.65 +4.93 +4.81 +4.28 +3.47 +2.66 +2.08 +1.82 +1.82 +1.88 +1.85 +1.65 +1.37 +1.13 +1.04 +1.14 +1.35 +1.56 +1.67 +1.64 +1.52 +1.37 +1.25 +1.21 +1.24 +1.29 +1.31 +1.24 +1.07 +0.83 +0.62 +0.53 +0.61 +0.83 +1.08 +1.23 +1.2 +1.07 +0.98 +1.12 +1.57 +2.25 +2.95 +3.43 +3.55 +3.34 +2.96 +2.61 +2.4 +2.33 +2.29 +2.18 +1.96 +1.72 +1.61 +1.73 +2.07 +2.48 +2.78 +2.81 +2.59 +2.24 +1.95 +1.86 +2.01 +2.31 +2.61 +2.85 +3.03 +3.26 +3.64 +4.14 +4.65 +4.93 +4.81 +4.28 +3.47 +2.66 +2.08 +1.82 +1.82 +1.88 +1.85 +1.65 +1.37 +1.13 +1.04 +1.14 +1.35 +1.56 +1.67 +1.64 +1.52 +1.37 +1.25 +1.21 +1.24 +1.29 +1.31 +1.24 +1.07 +0.83 +0.62 +0.53 +0.61 +0.83 +1.08 +1.23 +1.2 +1.07 +0.98 +1.12 +1.57 +2.25 +2.95 +3.43 +3.55 +3.34 +2.96 +2.61 +2.4 +2.33 +2.29 +2.18 +1.96 +1.72 +1.61 +1.73 +2.07 +2.48 +2.78 +2.81 +2.59 +2.24 +1.95 +2.0 +1.99 +2.2 +2.56 +2.94 +3.25 +3.51 +3.81 +4.23 +4.77 +5.29 +5.6 +5.51 +4.99 +4.17 +3.31 +2.64 +2.27 +2.16 +2.14 +2.05 +1.83 +1.52 +1.26 +1.15 +1.22 +1.39 +1.54 +1.59 +1.5 +1.31 +1.11 +0.95 +0.87 +0.85 +0.85 +0.82 +0.72 +0.55 +0.35 +0.18 +0.13 +0.23 +0.45 +0.68 +0.8 +0.76 +0.61 +0.49 +0.56 +0.91 +1.47 +2.06 +2.48 +2.6 +2.44 +2.16 +1.93 +1.85 +1.9 +1.95 +1.91 +1.72 +1.49 +1.37 +1.46 +1.77 +2.18 +2.5 +2.61 +2.47 +2.21 +2.0 +1.99 +2.2 +2.56 +2.94 +3.25 +3.51 +3.81 +4.23 +4.77 +5.29 +5.6 +5.51 +4.99 +4.17 +3.31 +2.64 +2.27 +2.16 +2.14 +2.05 +1.83 +1.52 +1.26 +1.15 +1.22 +1.39 +1.54 +1.59 +1.5 +1.31 +1.11 +0.95 +0.87 +0.85 +0.85 +0.82 +0.72 +0.55 +0.35 +0.18 +0.13 +0.23 +0.45 +0.68 +0.8 +0.76 +0.61 +0.49 +0.56 +0.91 +1.47 +2.06 +2.48 +2.6 +2.44 +2.16 +1.93 +1.85 +1.9 +1.95 +1.91 +1.72 +1.49 +1.37 +1.46 +1.77 +2.18 +2.5 +2.61 +2.47 +2.21 +2.0 +1.94 +2.01 +2.31 +2.74 +3.18 +3.56 +3.88 +4.2 +4.62 +5.14 +5.64 +5.95 +5.89 +5.41 +4.61 +3.74 +3.01 +2.55 +2.33 +2.22 +2.07 +1.82 +1.49 +1.21 +1.08 +1.1 +1.22 +1.32 +1.31 +1.18 +0.96 +0.74 +0.57 +0.47 +0.43 +0.42 +0.38 +0.3 +0.17 +0.02 +0.0 +0.0 +0.06 +0.28 +0.5 +0.61 +0.58 +0.42 +0.29 +0.3 +0.56 +1.0 +1.48 +1.82 +1.91 +1.78 +1.56 +1.41 +1.42 +1.54 +1.65 +1.64 +1.47 +1.23 +1.07 +1.11 +1.38 +1.76 +2.09 +2.25 +2.2 +2.04 +1.94 +2.01 +2.31 +2.74 +3.18 +3.56 +3.88 +4.2 +4.62 +5.14 +5.64 +5.95 +5.89 +5.41 +4.61 +3.74 +3.01 +2.55 +2.33 +2.22 +2.07 +1.82 +1.49 +1.21 +1.08 +1.1 +1.22 +1.32 +1.31 +1.18 +0.96 +0.74 +0.57 +0.47 +0.43 +0.42 +0.38 +0.3 +0.17 +0.02 +0.0 +0.0 +0.06 +0.28 +0.5 +0.61 +0.58 +0.42 +0.29 +0.3 +0.56 +1.0 +1.48 +1.82 +1.91 +1.78 +1.56 +1.41 +1.42 +1.54 +1.65 +1.64 +1.47 +1.23 +1.07 +1.11 +1.38 +1.76 +2.09 +2.25 +2.2 +2.04 +1.94 +1.77 +1.93 +2.28 +2.77 +3.27 +3.7 +4.03 +4.34 +4.71 +5.16 +5.61 +5.9 +5.87 +5.46 +4.75 +3.91 +3.17 +2.65 +2.36 +2.17 +1.97 +1.7 +1.37 +1.08 +0.92 +0.91 +0.98 +1.04 +1.02 +0.89 +0.68 +0.48 +0.33 +0.25 +0.22 +0.21 +0.19 +0.15 +0.07 +0.0 +0.0 +0.0 +0.14 +0.36 +0.57 +0.69 +0.67 +0.53 +0.38 +0.35 +0.53 +0.86 +1.24 +1.49 +1.54 +1.4 +1.2 +1.08 +1.11 +1.25 +1.37 +1.36 +1.18 +0.92 +0.73 +0.73 +0.94 +1.29 +1.62 +1.81 +1.84 +1.77 +1.77 +1.93 +2.28 +2.77 +3.27 +3.7 +4.03 +4.34 +4.71 +5.16 +5.61 +5.9 +5.87 +5.46 +4.75 +3.91 +3.17 +2.65 +2.36 +2.17 +1.97 +1.7 +1.37 +1.08 +0.92 +0.91 +0.98 +1.04 +1.02 +0.89 +0.68 +0.48 +0.33 +0.25 +0.22 +0.21 +0.19 +0.15 +0.07 +0.0 +0.0 +0.0 +0.14 +0.36 +0.57 +0.69 +0.67 +0.53 +0.38 +0.35 +0.53 +0.86 +1.24 +1.49 +1.54 +1.4 +1.2 +1.08 +1.11 +1.25 +1.37 +1.36 +1.18 +0.92 +0.73 +0.73 +0.94 +1.29 +1.62 +1.81 +1.84 +1.77 +1.77 +1.51 +1.73 +2.12 +2.63 +3.15 +3.59 +3.91 +4.18 +4.47 +4.82 +5.19 +5.44 +5.46 +5.15 +4.55 +3.83 +3.14 +2.61 +2.27 +2.04 +1.82 +1.54 +1.23 +0.95 +0.78 +0.74 +0.79 +0.84 +0.84 +0.76 +0.62 +0.47 +0.36 +0.31 +0.3 +0.3 +0.3 +0.28 +0.24 +0.2 +0.19 +0.24 +0.38 +0.58 +0.78 +0.91 +0.9 +0.77 +0.62 +0.56 +0.66 +0.91 +1.2 +1.4 +1.4 +1.24 +1.02 +0.88 +0.87 +0.97 +1.06 +1.03 +0.84 +0.58 +0.37 +0.34 +0.51 +0.82 +1.14 +1.36 +1.43 +1.45 +1.51 +1.73 +2.12 +2.63 +3.15 +3.59 +3.91 +4.18 +4.47 +4.82 +5.19 +5.44 +5.46 +5.15 +4.55 +3.83 +3.14 +2.61 +2.27 +2.04 +1.82 +1.54 +1.23 +0.95 +0.78 +0.74 +0.79 +0.84 +0.84 +0.76 +0.62 +0.47 +0.36 +0.31 +0.3 +0.3 +0.3 +0.28 +0.24 +0.2 +0.19 +0.24 +0.38 +0.58 +0.78 +0.91 +0.9 +0.77 +0.62 +0.56 +0.66 +0.91 +1.2 +1.4 +1.4 +1.24 +1.02 +0.88 +0.87 +0.97 +1.06 +1.03 +0.84 +0.58 +0.37 +0.34 +0.51 +0.82 +1.14 +1.36 +1.43 +1.45 +1.51 +1.21 +1.46 +1.86 +2.36 +2.86 +3.27 +3.56 +3.76 +3.95 +4.18 +4.44 +4.66 +4.71 +4.52 +4.09 +3.51 +2.92 +2.44 +2.1 +1.86 +1.65 +1.4 +1.13 +0.87 +0.7 +0.65 +0.68 +0.76 +0.81 +0.81 +0.76 +0.7 +0.65 +0.62 +0.61 +0.61 +0.61 +0.59 +0.55 +0.5 +0.46 +0.48 +0.58 +0.74 +0.93 +1.06 +1.06 +0.95 +0.79 +0.7 +0.75 +0.95 +1.19 +1.35 +1.33 +1.16 +0.91 +0.72 +0.64 +0.67 +0.71 +0.65 +0.47 +0.22 +0.02 +0.0 +0.12 +0.4 +0.7 +0.92 +1.04 +1.1 +1.21 +1.46 +1.86 +2.36 +2.86 +3.27 +3.56 +3.76 +3.95 +4.18 +4.44 +4.66 +4.71 +4.52 +4.09 +3.51 +2.92 +2.44 +2.1 +1.86 +1.65 +1.4 +1.13 +0.87 +0.7 +0.65 +0.68 +0.76 +0.81 +0.81 +0.76 +0.7 +0.65 +0.62 +0.61 +0.61 +0.61 +0.59 +0.55 +0.5 +0.46 +0.48 +0.58 +0.74 +0.93 +1.06 +1.06 +0.95 +0.79 +0.7 +0.75 +0.95 +1.19 +1.35 +1.33 +1.16 +0.91 +0.72 +0.64 +0.67 +0.71 +0.65 +0.47 +0.22 +0.02 +0.0 +0.12 +0.4 +0.7 +0.92 +1.04 +1.1 +1.21 +0.94 +1.2 +1.58 +2.04 +2.49 +2.85 +3.08 +3.2 +3.29 +3.4 +3.56 +3.73 +3.81 +3.73 +3.47 +3.06 +2.6 +2.19 +1.89 +1.67 +1.48 +1.29 +1.06 +0.84 +0.68 +0.62 +0.65 +0.75 +0.86 +0.96 +1.02 +1.04 +1.04 +1.02 +1.0 +0.97 +0.93 +0.88 +0.81 +0.72 +0.63 +0.59 +0.62 +0.74 +0.9 +1.01 +1.03 +0.92 +0.76 +0.65 +0.67 +0.82 +1.05 +1.21 +1.21 +1.05 +0.79 +0.55 +0.41 +0.37 +0.36 +0.29 +0.12 +0.0 +0.0 +0.0 +0.0 +0.06 +0.32 +0.54 +0.68 +0.79 +0.94 +1.2 +1.58 +2.04 +2.49 +2.85 +3.08 +3.2 +3.29 +3.4 +3.56 +3.73 +3.81 +3.73 +3.47 +3.06 +2.6 +2.19 +1.89 +1.67 +1.48 +1.29 +1.06 +0.84 +0.68 +0.62 +0.65 +0.75 +0.86 +0.96 +1.02 +1.04 +1.04 +1.02 +1.0 +0.97 +0.93 +0.88 +0.81 +0.72 +0.63 +0.59 +0.62 +0.74 +0.9 +1.01 +1.03 +0.92 +0.76 +0.65 +0.67 +0.82 +1.05 +1.21 +1.21 +1.05 +0.79 +0.55 +0.41 +0.37 +0.36 +0.29 +0.12 +0.0 +0.0 +0.0 +0.0 +0.06 +0.32 +0.54 +0.68 +0.79 +0.94 +0.79 +1.06 +1.41 +1.81 +2.19 +2.47 +2.63 +2.68 +2.68 +2.69 +2.76 +2.87 +2.97 +2.99 +2.87 +2.62 +2.29 +1.97 +1.71 +1.52 +1.37 +1.23 +1.06 +0.87 +0.72 +0.64 +0.66 +0.76 +0.93 +1.1 +1.26 +1.36 +1.4 +1.39 +1.33 +1.25 +1.15 +1.05 +0.94 +0.81 +0.67 +0.56 +0.54 +0.6 +0.72 +0.82 +0.83 +0.73 +0.57 +0.44 +0.43 +0.57 +0.79 +0.98 +1.02 +0.89 +0.65 +0.41 +0.23 +0.14 +0.1 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.44 +0.59 +0.79 +1.06 +1.41 +1.81 +2.19 +2.47 +2.63 +2.68 +2.68 +2.69 +2.76 +2.87 +2.97 +2.99 +2.87 +2.62 +2.29 +1.97 +1.71 +1.52 +1.37 +1.23 +1.06 +0.87 +0.72 +0.64 +0.66 +0.76 +0.93 +1.1 +1.26 +1.36 +1.4 +1.39 +1.33 +1.25 +1.15 +1.05 +0.94 +0.81 +0.67 +0.56 +0.54 +0.6 +0.72 +0.82 +0.83 +0.73 +0.57 +0.44 +0.43 +0.57 +0.79 +0.98 +1.02 +0.89 +0.65 +0.41 +0.23 +0.14 +0.1 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.44 +0.59 +0.79 +0.82 +1.11 +1.44 +1.77 +2.06 +2.26 +2.35 +2.34 +2.28 +2.22 +2.22 +2.29 +2.4 +2.48 +2.47 +2.34 +2.12 +1.87 +1.66 +1.5 +1.38 +1.28 +1.15 +1.0 +0.84 +0.74 +0.72 +0.81 +0.98 +1.2 +1.42 +1.59 +1.67 +1.64 +1.54 +1.4 +1.25 +1.1 +0.96 +0.81 +0.65 +0.52 +0.45 +0.47 +0.55 +0.63 +0.64 +0.55 +0.39 +0.25 +0.23 +0.35 +0.56 +0.77 +0.85 +0.78 +0.58 +0.35 +0.17 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.37 +0.58 +0.82 +1.11 +1.44 +1.77 +2.06 +2.26 +2.35 +2.34 +2.28 +2.22 +2.22 +2.29 +2.4 +2.48 +2.47 +2.34 +2.12 +1.87 +1.66 +1.5 +1.38 +1.28 +1.15 +1.0 +0.84 +0.74 +0.72 +0.81 +0.98 +1.2 +1.42 +1.59 +1.67 +1.64 +1.54 +1.4 +1.25 +1.1 +0.96 +0.81 +0.65 +0.52 +0.45 +0.47 +0.55 +0.63 +0.64 +0.55 +0.39 +0.25 +0.23 +0.35 +0.56 +0.77 +0.85 +0.78 +0.58 +0.35 +0.17 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.37 +0.58 +0.82 +1.07 +1.38 +1.68 +1.94 +2.13 +2.25 +2.27 +2.22 +2.13 +2.05 +2.03 +2.08 +2.19 +2.3 +2.36 +2.31 +2.18 +1.99 +1.81 +1.67 +1.58 +1.5 +1.4 +1.26 +1.1 +0.96 +0.9 +0.94 +1.09 +1.32 +1.57 +1.77 +1.86 +1.83 +1.7 +1.5 +1.29 +1.11 +0.96 +0.82 +0.69 +0.57 +0.5 +0.5 +0.55 +0.62 +0.63 +0.55 +0.41 +0.28 +0.24 +0.33 +0.52 +0.72 +0.83 +0.8 +0.66 +0.47 +0.31 +0.22 +0.18 +0.14 +0.09 +0.01 +0.0 +0.0 +0.0 +0.0 +0.11 +0.29 +0.51 +0.78 +1.07 +1.38 +1.68 +1.94 +2.13 +2.25 +2.27 +2.22 +2.13 +2.05 +2.03 +2.08 +2.19 +2.3 +2.36 +2.31 +2.18 +1.99 +1.81 +1.67 +1.58 +1.5 +1.4 +1.26 +1.1 +0.96 +0.9 +0.94 +1.09 +1.32 +1.57 +1.77 +1.86 +1.83 +1.7 +1.5 +1.29 +1.11 +0.96 +0.82 +0.69 +0.57 +0.5 +0.5 +0.55 +0.62 +0.63 +0.55 +0.41 +0.28 +0.24 +0.33 +0.52 +0.72 +0.83 +0.8 +0.66 +0.47 +0.31 +0.22 +0.18 +0.14 +0.09 +0.01 +0.0 +0.0 +0.0 +0.0 +0.11 +0.29 +0.51 +0.78 +1.07 +1.48 +1.8 +2.06 +2.24 +2.34 +2.37 +2.34 +2.27 +2.18 +2.12 +2.1 +2.16 +2.28 +2.41 +2.49 +2.49 +2.41 +2.28 +2.14 +2.03 +1.96 +1.9 +1.81 +1.67 +1.5 +1.34 +1.24 +1.24 +1.35 +1.55 +1.78 +1.98 +2.08 +2.04 +1.88 +1.63 +1.38 +1.17 +1.02 +0.91 +0.82 +0.74 +0.7 +0.7 +0.75 +0.81 +0.83 +0.79 +0.68 +0.57 +0.53 +0.58 +0.73 +0.88 +0.98 +0.98 +0.89 +0.76 +0.64 +0.56 +0.53 +0.51 +0.48 +0.42 +0.36 +0.32 +0.3 +0.33 +0.42 +0.59 +0.84 +1.15 +1.48 +1.8 +2.06 +2.24 +2.34 +2.37 +2.34 +2.27 +2.18 +2.12 +2.1 +2.16 +2.28 +2.41 +2.49 +2.49 +2.41 +2.28 +2.14 +2.03 +1.96 +1.9 +1.81 +1.67 +1.5 +1.34 +1.24 +1.24 +1.35 +1.55 +1.78 +1.98 +2.08 +2.04 +1.88 +1.63 +1.38 +1.17 +1.02 +0.91 +0.82 +0.74 +0.7 +0.7 +0.75 +0.81 +0.83 +0.79 +0.68 +0.57 +0.53 +0.58 +0.73 +0.88 +0.98 +0.98 +0.89 +0.76 +0.64 +0.56 +0.53 +0.51 +0.48 +0.42 +0.36 +0.32 +0.3 +0.33 +0.42 +0.59 +0.84 +1.15 +1.48 +1.91 +2.22 +2.43 +2.54 +2.55 +2.49 +2.41 +2.32 +2.26 +2.24 +2.26 +2.35 +2.47 +2.59 +2.68 +2.7 +2.65 +2.57 +2.49 +2.43 +2.39 +2.34 +2.27 +2.14 +1.98 +1.82 +1.71 +1.67 +1.74 +1.89 +2.09 +2.27 +2.36 +2.31 +2.13 +1.86 +1.57 +1.32 +1.15 +1.04 +0.98 +0.94 +0.93 +0.95 +1.0 +1.06 +1.11 +1.11 +1.07 +1.0 +0.97 +1.0 +1.08 +1.17 +1.24 +1.23 +1.18 +1.1 +1.03 +0.98 +0.95 +0.92 +0.88 +0.83 +0.78 +0.74 +0.72 +0.74 +0.81 +0.98 +1.23 +1.56 +1.91 +2.22 +2.43 +2.54 +2.55 +2.49 +2.41 +2.32 +2.26 +2.24 +2.26 +2.35 +2.47 +2.59 +2.68 +2.7 +2.65 +2.57 +2.49 +2.43 +2.39 +2.34 +2.27 +2.14 +1.98 +1.82 +1.71 +1.67 +1.74 +1.89 +2.09 +2.27 +2.36 +2.31 +2.13 +1.86 +1.57 +1.32 +1.15 +1.04 +0.98 +0.94 +0.93 +0.95 +1.0 +1.06 +1.11 +1.11 +1.07 +1.0 +0.97 +1.0 +1.08 +1.17 +1.24 +1.23 +1.18 +1.1 +1.03 +0.98 +0.95 +0.92 +0.88 +0.83 +0.78 +0.74 +0.72 +0.74 +0.81 +0.98 +1.23 +1.56 +1.91 +2.2 +2.48 +2.64 +2.67 +2.59 +2.45 +2.32 +2.22 +2.18 +2.2 +2.28 +2.39 +2.52 +2.62 +2.67 +2.68 +2.66 +2.63 +2.63 +2.64 +2.65 +2.64 +2.58 +2.48 +2.35 +2.23 +2.14 +2.11 +2.16 +2.26 +2.41 +2.56 +2.64 +2.61 +2.44 +2.16 +1.83 +1.53 +1.29 +1.14 +1.06 +1.02 +1.01 +1.03 +1.08 +1.15 +1.22 +1.28 +1.3 +1.31 +1.31 +1.33 +1.36 +1.38 +1.39 +1.37 +1.35 +1.32 +1.31 +1.29 +1.25 +1.2 +1.13 +1.06 +1.02 +0.99 +1.0 +1.04 +1.13 +1.3 +1.55 +1.87 +2.2 +2.48 +2.64 +2.67 +2.59 +2.45 +2.32 +2.22 +2.18 +2.2 +2.28 +2.39 +2.52 +2.62 +2.67 +2.68 +2.66 +2.63 +2.63 +2.64 +2.65 +2.64 +2.58 +2.48 +2.35 +2.23 +2.14 +2.11 +2.16 +2.26 +2.41 +2.56 +2.64 +2.61 +2.44 +2.16 +1.83 +1.53 +1.29 +1.14 +1.06 +1.02 +1.01 +1.03 +1.08 +1.15 +1.22 +1.28 +1.3 +1.31 +1.31 +1.33 +1.36 +1.38 +1.39 +1.37 +1.35 +1.32 +1.31 +1.29 +1.25 +1.2 +1.13 +1.06 +1.02 +0.99 +1.0 +1.04 +1.13 +1.3 +1.55 +1.87 +2.2 +2.23 +2.46 +2.56 +2.53 +2.38 +2.17 +1.98 +1.86 +1.83 +1.89 +2.01 +2.14 +2.26 +2.32 +2.32 +2.29 +2.27 +2.3 +2.37 +2.47 +2.54 +2.57 +2.54 +2.47 +2.39 +2.33 +2.31 +2.33 +2.38 +2.47 +2.58 +2.7 +2.79 +2.8 +2.68 +2.43 +2.1 +1.73 +1.4 +1.14 +0.98 +0.89 +0.85 +0.86 +0.89 +0.94 +1.02 +1.1 +1.19 +1.27 +1.33 +1.36 +1.35 +1.32 +1.27 +1.23 +1.23 +1.26 +1.31 +1.33 +1.29 +1.2 +1.09 +1.0 +0.96 +0.97 +1.03 +1.12 +1.25 +1.42 +1.66 +1.95 +2.23 +2.46 +2.56 +2.53 +2.38 +2.17 +1.98 +1.86 +1.83 +1.89 +2.01 +2.14 +2.26 +2.32 +2.32 +2.29 +2.27 +2.3 +2.37 +2.47 +2.54 +2.57 +2.54 +2.47 +2.39 +2.33 +2.31 +2.33 +2.38 +2.47 +2.58 +2.7 +2.79 +2.8 +2.68 +2.43 +2.1 +1.73 +1.4 +1.14 +0.98 +0.89 +0.85 +0.86 +0.89 +0.94 +1.02 +1.1 +1.19 +1.27 +1.33 +1.36 +1.35 +1.32 +1.27 +1.23 +1.23 +1.26 +1.31 +1.33 +1.29 +1.2 +1.09 +1.0 +0.96 +0.97 +1.03 +1.12 +1.25 +1.42 +1.66 +1.95 +2.23 +2.01 +2.17 +2.22 +2.13 +1.93 +1.67 +1.43 +1.26 +1.22 +1.3 +1.45 +1.6 +1.69 +1.7 +1.63 +1.54 +1.51 +1.56 +1.7 +1.87 +2.02 +2.08 +2.07 +2.02 +1.99 +2.0 +2.06 +2.15 +2.24 +2.33 +2.43 +2.56 +2.69 +2.77 +2.75 +2.59 +2.28 +1.88 +1.46 +1.08 +0.8 +0.62 +0.52 +0.48 +0.47 +0.49 +0.53 +0.61 +0.73 +0.86 +0.97 +1.02 +1.0 +0.92 +0.82 +0.77 +0.79 +0.88 +0.99 +1.06 +1.04 +0.93 +0.78 +0.66 +0.62 +0.67 +0.79 +0.96 +1.14 +1.33 +1.55 +1.78 +2.01 +2.17 +2.22 +2.13 +1.93 +1.67 +1.43 +1.26 +1.22 +1.3 +1.45 +1.6 +1.69 +1.7 +1.63 +1.54 +1.51 +1.56 +1.7 +1.87 +2.02 +2.08 +2.07 +2.02 +1.99 +2.0 +2.06 +2.15 +2.24 +2.33 +2.43 +2.56 +2.69 +2.77 +2.75 +2.59 +2.28 +1.88 +1.46 +1.08 +0.8 +0.62 +0.52 +0.48 +0.47 +0.49 +0.53 +0.61 +0.73 +0.86 +0.97 +1.02 +1.0 +0.92 +0.82 +0.77 +0.79 +0.88 +0.99 +1.06 +1.04 +0.93 +0.78 +0.66 +0.62 +0.67 +0.79 +0.96 +1.14 +1.33 +1.55 +1.78 +2.01 +1.63 +1.73 +1.73 +1.61 +1.38 +1.08 +0.79 +0.59 +0.52 +0.6 +0.75 +0.91 +0.99 +0.94 +0.8 +0.65 +0.57 +0.63 +0.81 +1.03 +1.22 +1.3 +1.3 +1.25 +1.24 +1.3 +1.42 +1.57 +1.7 +1.81 +1.93 +2.08 +2.28 +2.48 +2.61 +2.59 +2.38 +2.0 +1.53 +1.06 +0.66 +0.39 +0.22 +0.13 +0.07 +0.03 +0.01 +0.05 +0.15 +0.29 +0.42 +0.5 +0.47 +0.35 +0.21 +0.13 +0.16 +0.29 +0.47 +0.6 +0.62 +0.51 +0.34 +0.19 +0.15 +0.24 +0.42 +0.66 +0.89 +1.1 +1.29 +1.47 +1.63 +1.73 +1.73 +1.61 +1.38 +1.08 +0.79 +0.59 +0.52 +0.6 +0.75 +0.91 +0.99 +0.94 +0.8 +0.65 +0.57 +0.63 +0.81 +1.03 +1.22 +1.3 +1.3 +1.25 +1.24 +1.3 +1.42 +1.57 +1.7 +1.81 +1.93 +2.08 +2.28 +2.48 +2.61 +2.59 +2.38 +2.0 +1.53 +1.06 +0.66 +0.39 +0.22 +0.13 +0.07 +0.03 +0.01 +0.05 +0.15 +0.29 +0.42 +0.5 +0.47 +0.35 +0.21 +0.13 +0.16 +0.29 +0.47 +0.6 +0.62 +0.51 +0.34 +0.19 +0.15 +0.24 +0.42 +0.66 +0.89 +1.1 +1.29 +1.47 +1.63 +1.29 +1.32 +1.28 +1.14 +0.9 +0.59 +0.27 +0.04 +0.0 +0.01 +0.17 +0.33 +0.4 +0.32 +0.13 +0.0 +0.0 +0.0 +0.01 +0.25 +0.44 +0.53 +0.51 +0.44 +0.42 +0.48 +0.62 +0.79 +0.95 +1.08 +1.22 +1.41 +1.69 +2.01 +2.3 +2.46 +2.4 +2.12 +1.68 +1.19 +0.74 +0.41 +0.2 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.09 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.19 +0.24 +0.14 +0.0 +0.0 +0.0 +0.0 +0.11 +0.39 +0.67 +0.9 +1.07 +1.2 +1.29 +1.32 +1.28 +1.14 +0.9 +0.59 +0.27 +0.04 +0.0 +0.01 +0.17 +0.33 +0.4 +0.32 +0.13 +0.0 +0.0 +0.0 +0.01 +0.25 +0.44 +0.53 +0.51 +0.44 +0.42 +0.48 +0.62 +0.79 +0.95 +1.08 +1.22 +1.41 +1.69 +2.01 +2.3 +2.46 +2.4 +2.12 +1.68 +1.19 +0.74 +0.41 +0.2 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.09 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.19 +0.24 +0.14 +0.0 +0.0 +0.0 +0.0 +0.11 +0.39 +0.67 +0.9 +1.07 +1.2 +1.29 +1.15 +1.13 +1.05 +0.89 +0.65 +0.34 +0.03 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.28 +0.41 +0.56 +0.78 +1.11 +1.53 +1.96 +2.28 +2.4 +2.28 +1.96 +1.53 +1.11 +0.78 +0.56 +0.41 +0.28 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.03 +0.34 +0.65 +0.89 +1.05 +1.13 +1.15 +1.13 +1.05 +0.89 +0.65 +0.34 +0.03 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.28 +0.41 +0.56 +0.78 +1.11 +1.53 +1.96 +2.28 +2.4 +2.28 +1.96 +1.53 +1.11 +0.78 +0.56 +0.41 +0.28 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.03 +0.34 +0.65 +0.89 +1.05 +1.13 +1.15 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +1.08 +0.86 +0.66 +0.49 +0.39 +0.35 +0.35 +0.34 +0.25 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.28 +0.39 +0.41 +0.4 +0.42 +0.51 +0.66 +0.85 +1.06 +1.28 +1.52 +1.76 +1.99 +2.16 +2.23 +2.18 +2.03 +1.81 +1.57 +1.34 +1.11 +0.9 +0.7 +0.54 +0.45 +0.41 +0.41 +0.37 +0.26 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.36 +0.36 +0.41 +0.53 +0.7 +0.91 +1.13 +1.36 +1.6 +1.85 +2.08 +2.25 +2.3 +2.23 +2.05 +1.8 +1.55 +1.3 +1.08 +0.86 +0.66 +0.49 +0.39 +0.35 +0.35 +0.34 +0.25 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.28 +0.39 +0.41 +0.4 +0.42 +0.51 +0.66 +0.85 +1.06 +1.28 +1.52 +1.76 +1.99 +2.16 +2.23 +2.18 +2.03 +1.81 +1.57 +1.34 +1.11 +0.9 +0.7 +0.54 +0.45 +0.41 +0.41 +0.37 +0.26 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.36 +0.36 +0.41 +0.53 +0.7 +0.91 +1.13 +1.36 +1.6 +1.85 +2.08 +2.25 +2.3 +2.23 +2.05 +1.8 +1.55 +1.3 +1.08 +0.95 +0.73 +0.53 +0.37 +0.27 +0.25 +0.28 +0.32 +0.3 +0.2 +0.03 +0.0 +0.0 +0.0 +0.0 +0.2 +0.38 +0.48 +0.48 +0.43 +0.39 +0.42 +0.52 +0.69 +0.9 +1.14 +1.4 +1.66 +1.9 +2.09 +2.18 +2.16 +2.03 +1.82 +1.57 +1.32 +1.07 +0.84 +0.65 +0.53 +0.47 +0.48 +0.49 +0.45 +0.33 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.27 +0.32 +0.32 +0.33 +0.39 +0.52 +0.71 +0.93 +1.16 +1.42 +1.7 +1.99 +2.25 +2.43 +2.46 +2.35 +2.11 +1.8 +1.49 +1.2 +0.95 +0.73 +0.53 +0.37 +0.27 +0.25 +0.28 +0.32 +0.3 +0.2 +0.03 +0.0 +0.0 +0.0 +0.0 +0.2 +0.38 +0.48 +0.48 +0.43 +0.39 +0.42 +0.52 +0.69 +0.9 +1.14 +1.4 +1.66 +1.9 +2.09 +2.18 +2.16 +2.03 +1.82 +1.57 +1.32 +1.07 +0.84 +0.65 +0.53 +0.47 +0.48 +0.49 +0.45 +0.33 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.27 +0.32 +0.32 +0.33 +0.39 +0.52 +0.71 +0.93 +1.16 +1.42 +1.7 +1.99 +2.25 +2.43 +2.46 +2.35 +2.11 +1.8 +1.49 +1.2 +0.95 +0.75 +0.53 +0.35 +0.2 +0.11 +0.1 +0.17 +0.26 +0.31 +0.29 +0.19 +0.05 +0.0 +0.0 +0.08 +0.26 +0.44 +0.53 +0.52 +0.43 +0.32 +0.27 +0.31 +0.45 +0.66 +0.92 +1.2 +1.47 +1.72 +1.91 +2.03 +2.04 +1.94 +1.75 +1.5 +1.22 +0.94 +0.7 +0.54 +0.46 +0.47 +0.52 +0.55 +0.51 +0.38 +0.18 +0.0 +0.0 +0.0 +0.0 +0.16 +0.3 +0.36 +0.37 +0.34 +0.35 +0.43 +0.58 +0.77 +0.99 +1.23 +1.49 +1.8 +2.13 +2.41 +2.59 +2.6 +2.43 +2.11 +1.73 +1.35 +1.02 +0.75 +0.53 +0.35 +0.2 +0.11 +0.1 +0.17 +0.26 +0.31 +0.29 +0.19 +0.05 +0.0 +0.0 +0.08 +0.26 +0.44 +0.53 +0.52 +0.43 +0.32 +0.27 +0.31 +0.45 +0.66 +0.92 +1.2 +1.47 +1.72 +1.91 +2.03 +2.04 +1.94 +1.75 +1.5 +1.22 +0.94 +0.7 +0.54 +0.46 +0.47 +0.52 +0.55 +0.51 +0.38 +0.18 +0.0 +0.0 +0.0 +0.0 +0.16 +0.3 +0.36 +0.37 +0.34 +0.35 +0.43 +0.58 +0.77 +0.99 +1.23 +1.49 +1.8 +2.13 +2.41 +2.59 +2.6 +2.43 +2.11 +1.73 +1.35 +1.02 +0.75 +0.5 +0.31 +0.15 +0.03 +0.0 +0.0 +0.01 +0.14 +0.25 +0.29 +0.24 +0.12 +0.0 +0.0 +0.01 +0.17 +0.35 +0.47 +0.47 +0.37 +0.21 +0.09 +0.08 +0.19 +0.4 +0.67 +0.95 +1.22 +1.45 +1.63 +1.75 +1.79 +1.74 +1.58 +1.33 +1.03 +0.73 +0.48 +0.35 +0.33 +0.4 +0.51 +0.57 +0.53 +0.39 +0.19 +0.03 +0.0 +0.05 +0.22 +0.39 +0.51 +0.53 +0.49 +0.46 +0.48 +0.58 +0.74 +0.92 +1.11 +1.31 +1.56 +1.86 +2.19 +2.48 +2.64 +2.61 +2.38 +1.99 +1.54 +1.11 +0.76 +0.5 +0.31 +0.15 +0.03 +0.0 +0.0 +0.01 +0.14 +0.25 +0.29 +0.24 +0.12 +0.0 +0.0 +0.01 +0.17 +0.35 +0.47 +0.47 +0.37 +0.21 +0.09 +0.08 +0.19 +0.4 +0.67 +0.95 +1.22 +1.45 +1.63 +1.75 +1.79 +1.74 +1.58 +1.33 +1.03 +0.73 +0.48 +0.35 +0.33 +0.4 +0.51 +0.57 +0.53 +0.39 +0.19 +0.03 +0.0 +0.05 +0.22 +0.39 +0.51 +0.53 +0.49 +0.46 +0.48 +0.58 +0.74 +0.92 +1.11 +1.31 +1.56 +1.86 +2.19 +2.48 +2.64 +2.61 +2.38 +1.99 +1.54 +1.11 +0.76 +0.5 +0.23 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.2 +0.18 +0.05 +0.0 +0.0 +0.0 +0.0 +0.15 +0.32 +0.36 +0.28 +0.1 +0.0 +0.0 +0.0 +0.18 +0.45 +0.72 +0.96 +1.15 +1.31 +1.42 +1.48 +1.47 +1.34 +1.11 +0.81 +0.5 +0.25 +0.14 +0.18 +0.32 +0.48 +0.56 +0.51 +0.35 +0.16 +0.03 +0.04 +0.19 +0.42 +0.62 +0.72 +0.72 +0.67 +0.64 +0.69 +0.81 +0.98 +1.14 +1.28 +1.42 +1.6 +1.86 +2.15 +2.41 +2.54 +2.46 +2.18 +1.74 +1.25 +0.8 +0.46 +0.23 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.2 +0.18 +0.05 +0.0 +0.0 +0.0 +0.0 +0.15 +0.32 +0.36 +0.28 +0.1 +0.0 +0.0 +0.0 +0.18 +0.45 +0.72 +0.96 +1.15 +1.31 +1.42 +1.48 +1.47 +1.34 +1.11 +0.81 +0.5 +0.25 +0.14 +0.18 +0.32 +0.48 +0.56 +0.51 +0.35 +0.16 +0.03 +0.04 +0.19 +0.42 +0.62 +0.72 +0.72 +0.67 +0.64 +0.69 +0.81 +0.98 +1.14 +1.28 +1.42 +1.6 +1.86 +2.15 +2.41 +2.54 +2.46 +2.18 +1.74 +1.25 +0.8 +0.46 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.28 +0.23 +0.07 +0.0 +0.0 +0.0 +0.08 +0.34 +0.59 +0.79 +0.94 +1.06 +1.16 +1.23 +1.25 +1.17 +0.97 +0.67 +0.36 +0.11 +0.02 +0.09 +0.28 +0.47 +0.57 +0.52 +0.34 +0.13 +0.01 +0.07 +0.27 +0.55 +0.78 +0.89 +0.88 +0.83 +0.82 +0.9 +1.06 +1.24 +1.38 +1.46 +1.53 +1.63 +1.81 +2.04 +2.24 +2.33 +2.22 +1.91 +1.44 +0.93 +0.49 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.28 +0.23 +0.07 +0.0 +0.0 +0.0 +0.08 +0.34 +0.59 +0.79 +0.94 +1.06 +1.16 +1.23 +1.25 +1.17 +0.97 +0.67 +0.36 +0.11 +0.02 +0.09 +0.28 +0.47 +0.57 +0.52 +0.34 +0.13 +0.01 +0.07 +0.27 +0.55 +0.78 +0.89 +0.88 +0.83 +0.82 +0.9 +1.06 +1.24 +1.38 +1.46 +1.53 +1.63 +1.81 +2.04 +2.24 +2.33 +2.22 +1.91 +1.44 +0.93 +0.49 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.14 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.32 +0.32 +0.17 +0.0 +0.0 +0.0 +0.13 +0.38 +0.62 +0.79 +0.9 +0.98 +1.07 +1.15 +1.2 +1.16 +0.98 +0.7 +0.39 +0.14 +0.04 +0.12 +0.32 +0.53 +0.64 +0.58 +0.38 +0.16 +0.03 +0.09 +0.32 +0.62 +0.86 +0.97 +0.96 +0.91 +0.92 +1.03 +1.23 +1.43 +1.58 +1.64 +1.64 +1.66 +1.75 +1.9 +2.05 +2.1 +1.98 +1.66 +1.2 +0.69 +0.26 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.14 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.32 +0.32 +0.17 +0.0 +0.0 +0.0 +0.13 +0.38 +0.62 +0.79 +0.9 +0.98 +1.07 +1.15 +1.2 +1.16 +0.98 +0.7 +0.39 +0.14 +0.04 +0.12 +0.32 +0.53 +0.64 +0.58 +0.38 +0.16 +0.03 +0.09 +0.32 +0.62 +0.86 +0.97 +0.96 +0.91 +0.92 +1.03 +1.23 +1.43 +1.58 +1.64 +1.64 +1.66 +1.75 +1.9 +2.05 +2.1 +1.98 +1.66 +1.2 +0.69 +0.26 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.3 +0.37 +0.28 +0.06 +0.0 +0.0 +0.0 +0.04 +0.34 +0.54 +0.56 +0.42 +0.22 +0.1 +0.13 +0.3 +0.54 +0.77 +0.93 +1.03 +1.09 +1.16 +1.25 +1.31 +1.3 +1.15 +0.89 +0.57 +0.31 +0.18 +0.24 +0.42 +0.64 +0.75 +0.69 +0.49 +0.25 +0.11 +0.15 +0.37 +0.66 +0.9 +1.01 +0.99 +0.94 +0.94 +1.08 +1.3 +1.55 +1.72 +1.78 +1.75 +1.71 +1.72 +1.79 +1.89 +1.92 +1.81 +1.52 +1.08 +0.59 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.3 +0.37 +0.28 +0.06 +0.0 +0.0 +0.0 +0.04 +0.34 +0.54 +0.56 +0.42 +0.22 +0.1 +0.13 +0.3 +0.54 +0.77 +0.93 +1.03 +1.09 +1.16 +1.25 +1.31 +1.3 +1.15 +0.89 +0.57 +0.31 +0.18 +0.24 +0.42 +0.64 +0.75 +0.69 +0.49 +0.25 +0.11 +0.15 +0.37 +0.66 +0.9 +1.01 +0.99 +0.94 +0.94 +1.08 +1.3 +1.55 +1.72 +1.78 +1.75 +1.71 +1.72 +1.79 +1.89 +1.92 +1.81 +1.52 +1.08 +0.59 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.03 +0.01 +0.04 +0.17 +0.39 +0.63 +0.77 +0.73 +0.53 +0.27 +0.12 +0.16 +0.39 +0.67 +0.87 +0.89 +0.74 +0.52 +0.37 +0.37 +0.52 +0.75 +0.97 +1.13 +1.22 +1.27 +1.33 +1.41 +1.47 +1.47 +1.34 +1.1 +0.79 +0.51 +0.34 +0.35 +0.51 +0.71 +0.83 +0.81 +0.63 +0.4 +0.25 +0.26 +0.46 +0.74 +0.98 +1.1 +1.09 +1.02 +1.01 +1.13 +1.37 +1.64 +1.84 +1.92 +1.88 +1.79 +1.73 +1.73 +1.78 +1.81 +1.73 +1.48 +1.09 +0.62 +0.19 +0.0 +0.0 +0.0 +0.0 +0.01 +0.03 +0.01 +0.04 +0.17 +0.39 +0.63 +0.77 +0.73 +0.53 +0.27 +0.12 +0.16 +0.39 +0.67 +0.87 +0.89 +0.74 +0.52 +0.37 +0.37 +0.52 +0.75 +0.97 +1.13 +1.22 +1.27 +1.33 +1.41 +1.47 +1.47 +1.34 +1.1 +0.79 +0.51 +0.34 +0.35 +0.51 +0.71 +0.83 +0.81 +0.63 +0.4 +0.25 +0.26 +0.46 +0.74 +0.98 +1.1 +1.09 +1.02 +1.01 +1.13 +1.37 +1.64 +1.84 +1.92 +1.88 +1.79 +1.73 +1.73 +1.78 +1.81 +1.73 +1.48 +1.09 +0.62 +0.19 +0.0 +0.0 +0.0 +0.0 +0.11 +0.23 +0.28 +0.28 +0.31 +0.45 +0.71 +1.0 +1.2 +1.21 +1.03 +0.77 +0.58 +0.57 +0.74 +1.0 +1.18 +1.18 +1.02 +0.78 +0.59 +0.55 +0.66 +0.86 +1.07 +1.22 +1.31 +1.35 +1.4 +1.46 +1.51 +1.5 +1.4 +1.19 +0.9 +0.62 +0.42 +0.38 +0.5 +0.68 +0.84 +0.87 +0.75 +0.57 +0.43 +0.44 +0.64 +0.94 +1.23 +1.4 +1.41 +1.34 +1.3 +1.36 +1.56 +1.81 +2.02 +2.11 +2.05 +1.91 +1.78 +1.71 +1.71 +1.74 +1.69 +1.51 +1.17 +0.73 +0.31 +0.02 +0.0 +0.0 +0.11 +0.23 +0.28 +0.28 +0.31 +0.45 +0.71 +1.0 +1.2 +1.21 +1.03 +0.77 +0.58 +0.57 +0.74 +1.0 +1.18 +1.18 +1.02 +0.78 +0.59 +0.55 +0.66 +0.86 +1.07 +1.22 +1.31 +1.35 +1.4 +1.46 +1.51 +1.5 +1.4 +1.19 +0.9 +0.62 +0.42 +0.38 +0.5 +0.68 +0.84 +0.87 +0.75 +0.57 +0.43 +0.44 +0.64 +0.94 +1.23 +1.4 +1.41 +1.34 +1.3 +1.36 +1.56 +1.81 +2.02 +2.11 +2.05 +1.91 +1.78 +1.71 +1.71 +1.74 +1.69 +1.51 +1.17 +0.73 +0.31 +0.02 +0.0 +0.08 +0.18 +0.36 +0.52 +0.59 +0.58 +0.6 +0.73 +0.98 +1.3 +1.53 +1.57 +1.4 +1.12 +0.88 +0.82 +0.94 +1.15 +1.31 +1.31 +1.14 +0.88 +0.66 +0.58 +0.64 +0.8 +0.98 +1.12 +1.19 +1.22 +1.24 +1.27 +1.3 +1.31 +1.24 +1.09 +0.85 +0.6 +0.39 +0.32 +0.39 +0.58 +0.77 +0.88 +0.86 +0.75 +0.67 +0.72 +0.96 +1.33 +1.72 +1.99 +2.07 +2.01 +1.92 +1.9 +2.0 +2.18 +2.34 +2.39 +2.29 +2.09 +1.86 +1.71 +1.66 +1.67 +1.67 +1.54 +1.26 +0.86 +0.46 +0.17 +0.08 +0.18 +0.36 +0.52 +0.59 +0.58 +0.6 +0.73 +0.98 +1.3 +1.53 +1.57 +1.4 +1.12 +0.88 +0.82 +0.94 +1.15 +1.31 +1.31 +1.14 +0.88 +0.66 +0.58 +0.64 +0.8 +0.98 +1.12 +1.19 +1.22 +1.24 +1.27 +1.3 +1.31 +1.24 +1.09 +0.85 +0.6 +0.39 +0.32 +0.39 +0.58 +0.77 +0.88 +0.86 +0.75 +0.67 +0.72 +0.96 +1.33 +1.72 +1.99 +2.07 +2.01 +1.92 +1.9 +2.0 +2.18 +2.34 +2.39 +2.29 +2.09 +1.86 +1.71 +1.66 +1.67 +1.67 +1.54 +1.26 +0.86 +0.46 +0.17 +0.08 +0.29 +0.42 +0.65 +0.84 +0.91 +0.89 +0.86 +0.94 +1.16 +1.45 +1.68 +1.71 +1.53 +1.22 +0.93 +0.81 +0.89 +1.07 +1.22 +1.22 +1.05 +0.79 +0.55 +0.43 +0.44 +0.55 +0.69 +0.8 +0.86 +0.87 +0.86 +0.87 +0.9 +0.92 +0.92 +0.85 +0.71 +0.52 +0.34 +0.25 +0.3 +0.48 +0.72 +0.92 +1.0 +0.99 +0.98 +1.1 +1.42 +1.9 +2.44 +2.86 +3.06 +3.03 +2.89 +2.74 +2.69 +2.74 +2.8 +2.77 +2.6 +2.3 +1.97 +1.73 +1.62 +1.62 +1.64 +1.57 +1.34 +0.98 +0.61 +0.34 +0.29 +0.42 +0.65 +0.84 +0.91 +0.89 +0.86 +0.94 +1.16 +1.45 +1.68 +1.71 +1.53 +1.22 +0.93 +0.81 +0.89 +1.07 +1.22 +1.22 +1.05 +0.79 +0.55 +0.43 +0.44 +0.55 +0.69 +0.8 +0.86 +0.87 +0.86 +0.87 +0.9 +0.92 +0.92 +0.85 +0.71 +0.52 +0.34 +0.25 +0.3 +0.48 +0.72 +0.92 +1.0 +0.99 +0.98 +1.1 +1.42 +1.9 +2.44 +2.86 +3.06 +3.03 +2.89 +2.74 +2.69 +2.74 +2.8 +2.77 +2.6 +2.3 +1.97 +1.73 +1.62 +1.62 +1.64 +1.57 +1.34 +0.98 +0.61 +0.34 +0.29 +0.5 +0.67 +0.93 +1.15 +1.21 +1.15 +1.06 +1.08 +1.24 +1.49 +1.68 +1.69 +1.47 +1.11 +0.77 +0.6 +0.63 +0.79 +0.94 +0.96 +0.81 +0.56 +0.31 +0.16 +0.14 +0.21 +0.32 +0.41 +0.45 +0.45 +0.44 +0.44 +0.47 +0.54 +0.62 +0.66 +0.63 +0.52 +0.38 +0.29 +0.32 +0.5 +0.78 +1.05 +1.24 +1.32 +1.39 +1.57 +1.96 +2.57 +3.26 +3.86 +4.19 +4.22 +4.03 +3.75 +3.53 +3.4 +3.32 +3.18 +2.91 +2.52 +2.11 +1.78 +1.62 +1.62 +1.66 +1.64 +1.45 +1.13 +0.77 +0.53 +0.5 +0.67 +0.93 +1.15 +1.21 +1.15 +1.06 +1.08 +1.24 +1.49 +1.68 +1.69 +1.47 +1.11 +0.77 +0.6 +0.63 +0.79 +0.94 +0.96 +0.81 +0.56 +0.31 +0.16 +0.14 +0.21 +0.32 +0.41 +0.45 +0.45 +0.44 +0.44 +0.47 +0.54 +0.62 +0.66 +0.63 +0.52 +0.38 +0.29 +0.32 +0.5 +0.78 +1.05 +1.24 +1.32 +1.39 +1.57 +1.96 +2.57 +3.26 +3.86 +4.19 +4.22 +4.03 +3.75 +3.53 +3.4 +3.32 +3.18 +2.91 +2.52 +2.11 +1.78 +1.62 +1.62 +1.66 +1.64 +1.45 +1.13 +0.77 +0.53 +0.5 +0.71 +0.9 +1.18 +1.4 +1.45 +1.36 +1.23 +1.19 +1.3 +1.51 +1.67 +1.64 +1.38 +0.97 +0.57 +0.35 +0.34 +0.49 +0.65 +0.69 +0.57 +0.33 +0.08 +0.0 +0.0 +0.0 +0.04 +0.13 +0.18 +0.19 +0.18 +0.19 +0.24 +0.36 +0.51 +0.66 +0.73 +0.71 +0.61 +0.52 +0.53 +0.69 +0.98 +1.3 +1.56 +1.7 +1.81 +2.03 +2.47 +3.16 +3.99 +4.73 +5.19 +5.28 +5.05 +4.65 +4.26 +3.97 +3.75 +3.51 +3.17 +2.71 +2.24 +1.87 +1.69 +1.7 +1.78 +1.8 +1.65 +1.34 +0.98 +0.74 +0.71 +0.9 +1.18 +1.4 +1.45 +1.36 +1.23 +1.19 +1.3 +1.51 +1.67 +1.64 +1.38 +0.97 +0.57 +0.35 +0.34 +0.49 +0.65 +0.69 +0.57 +0.33 +0.08 +0.0 +0.0 +0.0 +0.04 +0.13 +0.18 +0.19 +0.18 +0.19 +0.24 +0.36 +0.51 +0.66 +0.73 +0.71 +0.61 +0.52 +0.53 +0.69 +0.98 +1.3 +1.56 +1.7 +1.81 +2.03 +2.47 +3.16 +3.99 +4.73 +5.19 +5.28 +5.05 +4.65 +4.26 +3.97 +3.75 +3.51 +3.17 +2.71 +2.24 +1.87 +1.69 +1.7 +1.78 +1.8 +1.65 +1.34 +0.98 +0.74 +0.71 +0.94 +1.1 +1.37 +1.58 +1.63 +1.53 +1.39 +1.33 +1.44 +1.64 +1.79 +1.74 +1.44 +0.97 +0.52 +0.23 +0.19 +0.32 +0.49 +0.55 +0.45 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.19 +0.22 +0.23 +0.25 +0.32 +0.47 +0.68 +0.89 +1.04 +1.06 +0.98 +0.87 +0.84 +0.97 +1.25 +1.59 +1.87 +2.04 +2.15 +2.35 +2.78 +3.49 +4.38 +5.21 +5.76 +5.9 +5.65 +5.18 +4.68 +4.26 +3.95 +3.65 +3.27 +2.81 +2.34 +1.98 +1.82 +1.87 +2.01 +2.07 +1.95 +1.65 +1.27 +1.0 +0.94 +1.1 +1.37 +1.58 +1.63 +1.53 +1.39 +1.33 +1.44 +1.64 +1.79 +1.74 +1.44 +0.97 +0.52 +0.23 +0.19 +0.32 +0.49 +0.55 +0.45 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.19 +0.22 +0.23 +0.25 +0.32 +0.47 +0.68 +0.89 +1.04 +1.06 +0.98 +0.87 +0.84 +0.97 +1.25 +1.59 +1.87 +2.04 +2.15 +2.35 +2.78 +3.49 +4.38 +5.21 +5.76 +5.9 +5.65 +5.18 +4.68 +4.26 +3.95 +3.65 +3.27 +2.81 +2.34 +1.98 +1.82 +1.87 +2.01 +2.07 +1.95 +1.65 +1.27 +1.0 +0.94 +1.18 +1.3 +1.53 +1.73 +1.79 +1.71 +1.6 +1.58 +1.72 +1.96 +2.13 +2.08 +1.76 +1.25 +0.73 +0.38 +0.29 +0.4 +0.57 +0.64 +0.55 +0.34 +0.11 +0.0 +0.0 +0.06 +0.23 +0.39 +0.49 +0.54 +0.55 +0.58 +0.66 +0.81 +1.03 +1.25 +1.4 +1.42 +1.32 +1.17 +1.1 +1.19 +1.44 +1.76 +2.04 +2.19 +2.26 +2.4 +2.76 +3.42 +4.29 +5.14 +5.74 +5.91 +5.67 +5.17 +4.62 +4.17 +3.83 +3.53 +3.19 +2.77 +2.35 +2.05 +1.95 +2.07 +2.27 +2.39 +2.31 +2.01 +1.62 +1.3 +1.18 +1.3 +1.53 +1.73 +1.79 +1.71 +1.6 +1.58 +1.72 +1.96 +2.13 +2.08 +1.76 +1.25 +0.73 +0.38 +0.29 +0.4 +0.57 +0.64 +0.55 +0.34 +0.11 +0.0 +0.0 +0.06 +0.23 +0.39 +0.49 +0.54 +0.55 +0.58 +0.66 +0.81 +1.03 +1.25 +1.4 +1.42 +1.32 +1.17 +1.1 +1.19 +1.44 +1.76 +2.04 +2.19 +2.26 +2.4 +2.76 +3.42 +4.29 +5.14 +5.74 +5.91 +5.67 +5.17 +4.62 +4.17 +3.83 +3.53 +3.19 +2.77 +2.35 +2.05 +1.95 +2.07 +2.27 +2.39 +2.31 +2.01 +1.62 +1.3 +1.18 +1.44 +1.5 +1.7 +1.9 +1.98 +1.95 +1.91 +1.97 +2.19 +2.49 +2.71 +2.69 +2.35 +1.8 +1.21 +0.8 +0.65 +0.72 +0.86 +0.93 +0.85 +0.64 +0.41 +0.28 +0.3 +0.45 +0.65 +0.83 +0.95 +0.99 +0.99 +1.0 +1.05 +1.17 +1.35 +1.52 +1.62 +1.59 +1.44 +1.26 +1.15 +1.2 +1.42 +1.7 +1.94 +2.05 +2.06 +2.12 +2.38 +2.94 +3.72 +4.53 +5.12 +5.31 +5.09 +4.63 +4.11 +3.69 +3.4 +3.18 +2.92 +2.59 +2.25 +2.02 +2.0 +2.18 +2.46 +2.65 +2.62 +2.35 +1.95 +1.6 +1.44 +1.5 +1.7 +1.9 +1.98 +1.95 +1.91 +1.97 +2.19 +2.49 +2.71 +2.69 +2.35 +1.8 +1.21 +0.8 +0.65 +0.72 +0.86 +0.93 +0.85 +0.64 +0.41 +0.28 +0.3 +0.45 +0.65 +0.83 +0.95 +0.99 +0.99 +1.0 +1.05 +1.17 +1.35 +1.52 +1.62 +1.59 +1.44 +1.26 +1.15 +1.2 +1.42 +1.7 +1.94 +2.05 +2.06 +2.12 +2.38 +2.94 +3.72 +4.53 +5.12 +5.31 +5.09 +4.63 +4.11 +3.69 +3.4 +3.18 +2.92 +2.59 +2.25 +2.02 +2.0 +2.18 +2.46 +2.65 +2.62 +2.35 +1.95 +1.6 +1.44 +1.68 +1.72 +1.91 +2.12 +2.26 +2.31 +2.36 +2.51 +2.82 +3.19 +3.47 +3.47 +3.13 +2.54 +1.89 +1.39 +1.16 +1.17 +1.28 +1.32 +1.23 +1.01 +0.78 +0.66 +0.7 +0.87 +1.08 +1.26 +1.35 +1.36 +1.31 +1.27 +1.28 +1.34 +1.44 +1.53 +1.55 +1.46 +1.27 +1.07 +0.94 +0.97 +1.16 +1.41 +1.61 +1.67 +1.62 +1.59 +1.75 +2.18 +2.85 +3.56 +4.1 +4.29 +4.12 +3.72 +3.29 +2.97 +2.79 +2.67 +2.51 +2.28 +2.02 +1.86 +1.9 +2.14 +2.48 +2.74 +2.78 +2.57 +2.2 +1.86 +1.68 +1.72 +1.91 +2.12 +2.26 +2.31 +2.36 +2.51 +2.82 +3.19 +3.47 +3.47 +3.13 +2.54 +1.89 +1.39 +1.16 +1.17 +1.28 +1.32 +1.23 +1.01 +0.78 +0.66 +0.7 +0.87 +1.08 +1.26 +1.35 +1.36 +1.31 +1.27 +1.28 +1.34 +1.44 +1.53 +1.55 +1.46 +1.27 +1.07 +0.94 +0.97 +1.16 +1.41 +1.61 +1.67 +1.62 +1.59 +1.75 +2.18 +2.85 +3.56 +4.1 +4.29 +4.12 +3.72 +3.29 +2.97 +2.79 +2.67 +2.51 +2.28 +2.02 +1.86 +1.9 +2.14 +2.48 +2.74 +2.78 +2.57 +2.2 +1.86 +1.68 +1.87 +1.93 +2.16 +2.42 +2.63 +2.76 +2.9 +3.14 +3.52 +3.95 +4.27 +4.3 +3.97 +3.35 +2.63 +2.05 +1.73 +1.65 +1.69 +1.69 +1.57 +1.33 +1.1 +0.98 +1.02 +1.18 +1.37 +1.51 +1.54 +1.47 +1.36 +1.26 +1.21 +1.22 +1.25 +1.26 +1.2 +1.07 +0.87 +0.68 +0.58 +0.62 +0.79 +1.01 +1.17 +1.19 +1.1 +1.01 +1.07 +1.38 +1.92 +2.52 +2.99 +3.16 +3.03 +2.71 +2.39 +2.19 +2.12 +2.12 +2.07 +1.92 +1.71 +1.58 +1.64 +1.9 +2.27 +2.59 +2.71 +2.59 +2.3 +2.01 +1.87 +1.93 +2.16 +2.42 +2.63 +2.76 +2.9 +3.14 +3.52 +3.95 +4.27 +4.3 +3.97 +3.35 +2.63 +2.05 +1.73 +1.65 +1.69 +1.69 +1.57 +1.33 +1.1 +0.98 +1.02 +1.18 +1.37 +1.51 +1.54 +1.47 +1.36 +1.26 +1.21 +1.22 +1.25 +1.26 +1.2 +1.07 +0.87 +0.68 +0.58 +0.62 +0.79 +1.01 +1.17 +1.19 +1.1 +1.01 +1.07 +1.38 +1.92 +2.52 +2.99 +3.16 +3.03 +2.71 +2.39 +2.19 +2.12 +2.12 +2.07 +1.92 +1.71 +1.58 +1.64 +1.9 +2.27 +2.59 +2.71 +2.59 +2.3 +2.01 +1.87 +1.96 +2.09 +2.38 +2.72 +3.01 +3.24 +3.47 +3.77 +4.19 +4.65 +4.99 +5.05 +4.73 +4.1 +3.34 +2.68 +2.26 +2.08 +2.02 +1.96 +1.79 +1.53 +1.28 +1.15 +1.17 +1.3 +1.45 +1.52 +1.47 +1.32 +1.14 +0.99 +0.9 +0.87 +0.85 +0.82 +0.73 +0.59 +0.43 +0.29 +0.24 +0.31 +0.48 +0.69 +0.82 +0.82 +0.7 +0.57 +0.57 +0.78 +1.19 +1.67 +2.05 +2.18 +2.07 +1.83 +1.6 +1.5 +1.54 +1.63 +1.66 +1.55 +1.37 +1.24 +1.27 +1.51 +1.88 +2.23 +2.42 +2.4 +2.21 +2.02 +1.96 +2.09 +2.38 +2.72 +3.01 +3.24 +3.47 +3.77 +4.19 +4.65 +4.99 +5.05 +4.73 +4.1 +3.34 +2.68 +2.26 +2.08 +2.02 +1.96 +1.79 +1.53 +1.28 +1.15 +1.17 +1.3 +1.45 +1.52 +1.47 +1.32 +1.14 +0.99 +0.9 +0.87 +0.85 +0.82 +0.73 +0.59 +0.43 +0.29 +0.24 +0.31 +0.48 +0.69 +0.82 +0.82 +0.7 +0.57 +0.57 +0.78 +1.19 +1.67 +2.05 +2.18 +2.07 +1.83 +1.6 +1.5 +1.54 +1.63 +1.66 +1.55 +1.37 +1.24 +1.27 +1.51 +1.88 +2.23 +2.42 +2.4 +2.21 +2.02 +1.96 +1.91 +2.13 +2.5 +2.93 +3.32 +3.63 +3.92 +4.26 +4.69 +5.15 +5.5 +5.58 +5.29 +4.68 +3.92 +3.21 +2.7 +2.41 +2.25 +2.1 +1.88 +1.59 +1.33 +1.18 +1.17 +1.26 +1.34 +1.35 +1.23 +1.03 +0.81 +0.63 +0.53 +0.48 +0.45 +0.41 +0.34 +0.24 +0.14 +0.07 +0.08 +0.19 +0.37 +0.56 +0.68 +0.68 +0.56 +0.41 +0.36 +0.48 +0.78 +1.15 +1.43 +1.52 +1.42 +1.21 +1.04 +1.0 +1.11 +1.25 +1.3 +1.22 +1.03 +0.87 +0.85 +1.04 +1.38 +1.73 +1.97 +2.03 +1.96 +1.87 +1.91 +2.13 +2.5 +2.93 +3.32 +3.63 +3.92 +4.26 +4.69 +5.15 +5.5 +5.58 +5.29 +4.68 +3.92 +3.21 +2.7 +2.41 +2.25 +2.1 +1.88 +1.59 +1.33 +1.18 +1.17 +1.26 +1.34 +1.35 +1.23 +1.03 +0.81 +0.63 +0.53 +0.48 +0.45 +0.41 +0.34 +0.24 +0.14 +0.07 +0.08 +0.19 +0.37 +0.56 +0.68 +0.68 +0.56 +0.41 +0.36 +0.48 +0.78 +1.15 +1.43 +1.52 +1.42 +1.21 +1.04 +1.0 +1.11 +1.25 +1.3 +1.22 +1.03 +0.87 +0.85 +1.04 +1.38 +1.73 +1.97 +2.03 +1.96 +1.87 +1.91 +1.7 +2.01 +2.46 +2.96 +3.43 +3.81 +4.14 +4.49 +4.9 +5.34 +5.68 +5.78 +5.56 +5.02 +4.31 +3.59 +3.02 +2.64 +2.38 +2.15 +1.88 +1.57 +1.29 +1.11 +1.07 +1.12 +1.17 +1.13 +0.99 +0.78 +0.55 +0.38 +0.28 +0.25 +0.23 +0.22 +0.18 +0.13 +0.09 +0.09 +0.14 +0.27 +0.45 +0.63 +0.74 +0.74 +0.63 +0.48 +0.39 +0.45 +0.65 +0.92 +1.13 +1.18 +1.06 +0.86 +0.71 +0.68 +0.79 +0.94 +1.0 +0.91 +0.71 +0.51 +0.44 +0.56 +0.85 +1.18 +1.44 +1.56 +1.57 +1.58 +1.7 +2.01 +2.46 +2.96 +3.43 +3.81 +4.14 +4.49 +4.9 +5.34 +5.68 +5.78 +5.56 +5.02 +4.31 +3.59 +3.02 +2.64 +2.38 +2.15 +1.88 +1.57 +1.29 +1.11 +1.07 +1.12 +1.17 +1.13 +0.99 +0.78 +0.55 +0.38 +0.28 +0.25 +0.23 +0.22 +0.18 +0.13 +0.09 +0.09 +0.14 +0.27 +0.45 +0.63 +0.74 +0.74 +0.63 +0.48 +0.39 +0.45 +0.65 +0.92 +1.13 +1.18 +1.06 +0.86 +0.71 +0.68 +0.79 +0.94 +1.0 +0.91 +0.71 +0.51 +0.44 +0.56 +0.85 +1.18 +1.44 +1.56 +1.57 +1.58 +1.7 +1.37 +1.73 +2.22 +2.78 +3.29 +3.72 +4.07 +4.4 +4.76 +5.15 +5.47 +5.61 +5.47 +5.05 +4.44 +3.78 +3.21 +2.77 +2.44 +2.15 +1.84 +1.52 +1.23 +1.04 +0.97 +0.99 +1.02 +0.98 +0.86 +0.68 +0.5 +0.36 +0.29 +0.27 +0.27 +0.28 +0.27 +0.26 +0.25 +0.27 +0.32 +0.43 +0.59 +0.75 +0.86 +0.87 +0.77 +0.62 +0.51 +0.51 +0.65 +0.85 +1.01 +1.04 +0.91 +0.7 +0.53 +0.48 +0.55 +0.66 +0.7 +0.61 +0.4 +0.18 +0.07 +0.13 +0.36 +0.66 +0.91 +1.05 +1.11 +1.19 +1.37 +1.73 +2.22 +2.78 +3.29 +3.72 +4.07 +4.4 +4.76 +5.15 +5.47 +5.61 +5.47 +5.05 +4.44 +3.78 +3.21 +2.77 +2.44 +2.15 +1.84 +1.52 +1.23 +1.04 +0.97 +0.99 +1.02 +0.98 +0.86 +0.68 +0.5 +0.36 +0.29 +0.27 +0.27 +0.28 +0.27 +0.26 +0.25 +0.27 +0.32 +0.43 +0.59 +0.75 +0.86 +0.87 +0.77 +0.62 +0.51 +0.51 +0.65 +0.85 +1.01 +1.04 +0.91 +0.7 +0.53 +0.48 +0.55 +0.66 +0.7 +0.61 +0.4 +0.18 +0.07 +0.13 +0.36 +0.66 +0.91 +1.05 +1.11 +1.19 +1.37 +0.99 +1.37 +1.87 +2.43 +2.95 +3.38 +3.71 +4.0 +4.3 +4.62 +4.91 +5.07 +5.04 +4.76 +4.3 +3.76 +3.24 +2.8 +2.44 +2.12 +1.8 +1.48 +1.2 +1.0 +0.91 +0.91 +0.93 +0.93 +0.87 +0.77 +0.66 +0.58 +0.54 +0.52 +0.53 +0.53 +0.52 +0.5 +0.48 +0.47 +0.48 +0.54 +0.64 +0.77 +0.87 +0.89 +0.81 +0.67 +0.54 +0.5 +0.59 +0.76 +0.91 +0.95 +0.83 +0.62 +0.42 +0.31 +0.32 +0.38 +0.39 +0.3 +0.1 +0.0 +0.0 +0.0 +0.0 +0.21 +0.43 +0.58 +0.67 +0.78 +0.99 +1.37 +1.87 +2.43 +2.95 +3.38 +3.71 +4.0 +4.3 +4.62 +4.91 +5.07 +5.04 +4.76 +4.3 +3.76 +3.24 +2.8 +2.44 +2.12 +1.8 +1.48 +1.2 +1.0 +0.91 +0.91 +0.93 +0.93 +0.87 +0.77 +0.66 +0.58 +0.54 +0.52 +0.53 +0.53 +0.52 +0.5 +0.48 +0.47 +0.48 +0.54 +0.64 +0.77 +0.87 +0.89 +0.81 +0.67 +0.54 +0.5 +0.59 +0.76 +0.91 +0.95 +0.83 +0.62 +0.42 +0.31 +0.32 +0.38 +0.39 +0.3 +0.1 +0.0 +0.0 +0.0 +0.0 +0.21 +0.43 +0.58 +0.67 +0.78 +0.99 +0.67 +1.04 +1.52 +2.04 +2.52 +2.91 +3.19 +3.42 +3.63 +3.87 +4.11 +4.29 +4.35 +4.22 +3.94 +3.54 +3.12 +2.73 +2.39 +2.08 +1.77 +1.47 +1.21 +1.0 +0.9 +0.87 +0.9 +0.94 +0.96 +0.96 +0.94 +0.92 +0.91 +0.89 +0.86 +0.82 +0.78 +0.73 +0.66 +0.59 +0.54 +0.52 +0.55 +0.64 +0.72 +0.75 +0.69 +0.55 +0.41 +0.35 +0.42 +0.58 +0.75 +0.82 +0.74 +0.54 +0.32 +0.16 +0.11 +0.12 +0.11 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.2 +0.31 +0.44 +0.67 +1.04 +1.52 +2.04 +2.52 +2.91 +3.19 +3.42 +3.63 +3.87 +4.11 +4.29 +4.35 +4.22 +3.94 +3.54 +3.12 +2.73 +2.39 +2.08 +1.77 +1.47 +1.21 +1.0 +0.9 +0.87 +0.9 +0.94 +0.96 +0.96 +0.94 +0.92 +0.91 +0.89 +0.86 +0.82 +0.78 +0.73 +0.66 +0.59 +0.54 +0.52 +0.55 +0.64 +0.72 +0.75 +0.69 +0.55 +0.41 +0.35 +0.42 +0.58 +0.75 +0.82 +0.74 +0.54 +0.32 +0.16 +0.11 +0.12 +0.11 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.2 +0.31 +0.44 +0.67 +0.52 +0.88 +1.31 +1.76 +2.16 +2.47 +2.67 +2.81 +2.94 +3.09 +3.27 +3.45 +3.58 +3.59 +3.47 +3.23 +2.93 +2.62 +2.32 +2.04 +1.78 +1.51 +1.26 +1.06 +0.93 +0.88 +0.9 +0.97 +1.06 +1.15 +1.23 +1.27 +1.28 +1.24 +1.16 +1.06 +0.96 +0.85 +0.74 +0.61 +0.5 +0.42 +0.4 +0.44 +0.5 +0.53 +0.47 +0.34 +0.2 +0.13 +0.19 +0.36 +0.56 +0.68 +0.65 +0.48 +0.26 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.27 +0.52 +0.88 +1.31 +1.76 +2.16 +2.47 +2.67 +2.81 +2.94 +3.09 +3.27 +3.45 +3.58 +3.59 +3.47 +3.23 +2.93 +2.62 +2.32 +2.04 +1.78 +1.51 +1.26 +1.06 +0.93 +0.88 +0.9 +0.97 +1.06 +1.15 +1.23 +1.27 +1.28 +1.24 +1.16 +1.06 +0.96 +0.85 +0.74 +0.61 +0.5 +0.42 +0.4 +0.44 +0.5 +0.53 +0.47 +0.34 +0.2 +0.13 +0.19 +0.36 +0.56 +0.68 +0.65 +0.48 +0.26 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.27 +0.52 +0.6 +0.95 +1.33 +1.69 +1.98 +2.18 +2.3 +2.35 +2.39 +2.46 +2.59 +2.75 +2.92 +3.03 +3.04 +2.94 +2.76 +2.54 +2.31 +2.08 +1.85 +1.63 +1.4 +1.2 +1.04 +0.96 +0.95 +1.03 +1.16 +1.32 +1.46 +1.55 +1.57 +1.5 +1.37 +1.2 +1.04 +0.88 +0.74 +0.6 +0.46 +0.36 +0.3 +0.32 +0.36 +0.38 +0.33 +0.21 +0.07 +0.0 +0.06 +0.23 +0.45 +0.6 +0.61 +0.49 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.33 +0.6 +0.95 +1.33 +1.69 +1.98 +2.18 +2.3 +2.35 +2.39 +2.46 +2.59 +2.75 +2.92 +3.03 +3.04 +2.94 +2.76 +2.54 +2.31 +2.08 +1.85 +1.63 +1.4 +1.2 +1.04 +0.96 +0.95 +1.03 +1.16 +1.32 +1.46 +1.55 +1.57 +1.5 +1.37 +1.2 +1.04 +0.88 +0.74 +0.6 +0.46 +0.36 +0.3 +0.32 +0.36 +0.38 +0.33 +0.21 +0.07 +0.0 +0.06 +0.23 +0.45 +0.6 +0.61 +0.49 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.33 +0.6 +0.91 +1.25 +1.57 +1.83 +2.0 +2.1 +2.11 +2.09 +2.07 +2.09 +2.18 +2.33 +2.51 +2.68 +2.77 +2.78 +2.69 +2.55 +2.39 +2.22 +2.04 +1.85 +1.65 +1.44 +1.26 +1.14 +1.11 +1.17 +1.3 +1.49 +1.67 +1.79 +1.81 +1.71 +1.53 +1.3 +1.07 +0.89 +0.74 +0.62 +0.51 +0.43 +0.38 +0.38 +0.41 +0.43 +0.39 +0.29 +0.17 +0.11 +0.16 +0.31 +0.52 +0.67 +0.71 +0.61 +0.44 +0.27 +0.17 +0.13 +0.13 +0.12 +0.08 +0.03 +0.0 +0.0 +0.0 +0.0 +0.06 +0.17 +0.35 +0.6 +0.91 +1.25 +1.57 +1.83 +2.0 +2.1 +2.11 +2.09 +2.07 +2.09 +2.18 +2.33 +2.51 +2.68 +2.77 +2.78 +2.69 +2.55 +2.39 +2.22 +2.04 +1.85 +1.65 +1.44 +1.26 +1.14 +1.11 +1.17 +1.3 +1.49 +1.67 +1.79 +1.81 +1.71 +1.53 +1.3 +1.07 +0.89 +0.74 +0.62 +0.51 +0.43 +0.38 +0.38 +0.41 +0.43 +0.39 +0.29 +0.17 +0.11 +0.16 +0.31 +0.52 +0.67 +0.71 +0.61 +0.44 +0.27 +0.17 +0.13 +0.13 +0.12 +0.08 +0.03 +0.0 +0.0 +0.0 +0.0 +0.06 +0.17 +0.35 +0.6 +0.91 +1.34 +1.66 +1.93 +2.09 +2.16 +2.15 +2.08 +2.01 +1.96 +1.96 +2.04 +2.18 +2.36 +2.54 +2.67 +2.73 +2.72 +2.65 +2.56 +2.45 +2.33 +2.18 +2.0 +1.8 +1.61 +1.47 +1.41 +1.44 +1.56 +1.73 +1.91 +2.03 +2.04 +1.92 +1.69 +1.41 +1.14 +0.93 +0.79 +0.7 +0.65 +0.61 +0.59 +0.61 +0.64 +0.66 +0.64 +0.57 +0.49 +0.45 +0.49 +0.61 +0.77 +0.89 +0.92 +0.84 +0.71 +0.58 +0.5 +0.48 +0.49 +0.5 +0.48 +0.44 +0.4 +0.36 +0.34 +0.35 +0.4 +0.52 +0.72 +1.01 +1.34 +1.66 +1.93 +2.09 +2.16 +2.15 +2.08 +2.01 +1.96 +1.96 +2.04 +2.18 +2.36 +2.54 +2.67 +2.73 +2.72 +2.65 +2.56 +2.45 +2.33 +2.18 +2.0 +1.8 +1.61 +1.47 +1.41 +1.44 +1.56 +1.73 +1.91 +2.03 +2.04 +1.92 +1.69 +1.41 +1.14 +0.93 +0.79 +0.7 +0.65 +0.61 +0.59 +0.61 +0.64 +0.66 +0.64 +0.57 +0.49 +0.45 +0.49 +0.61 +0.77 +0.89 +0.92 +0.84 +0.71 +0.58 +0.5 +0.48 +0.49 +0.5 +0.48 +0.44 +0.4 +0.36 +0.34 +0.35 +0.4 +0.52 +0.72 +1.01 +1.34 +1.74 +2.04 +2.25 +2.33 +2.3 +2.2 +2.07 +1.97 +1.92 +1.94 +2.03 +2.17 +2.34 +2.51 +2.63 +2.7 +2.72 +2.72 +2.7 +2.67 +2.61 +2.5 +2.36 +2.18 +2.02 +1.89 +1.82 +1.84 +1.93 +2.06 +2.21 +2.3 +2.29 +2.16 +1.9 +1.58 +1.27 +1.03 +0.87 +0.8 +0.77 +0.78 +0.79 +0.83 +0.87 +0.9 +0.91 +0.89 +0.86 +0.85 +0.9 +0.99 +1.09 +1.15 +1.14 +1.07 +0.97 +0.89 +0.86 +0.86 +0.88 +0.88 +0.86 +0.82 +0.78 +0.75 +0.73 +0.73 +0.78 +0.9 +1.11 +1.41 +1.74 +2.04 +2.25 +2.33 +2.3 +2.2 +2.07 +1.97 +1.92 +1.94 +2.03 +2.17 +2.34 +2.51 +2.63 +2.7 +2.72 +2.72 +2.7 +2.67 +2.61 +2.5 +2.36 +2.18 +2.02 +1.89 +1.82 +1.84 +1.93 +2.06 +2.21 +2.3 +2.29 +2.16 +1.9 +1.58 +1.27 +1.03 +0.87 +0.8 +0.77 +0.78 +0.79 +0.83 +0.87 +0.9 +0.91 +0.89 +0.86 +0.85 +0.9 +0.99 +1.09 +1.15 +1.14 +1.07 +0.97 +0.89 +0.86 +0.86 +0.88 +0.88 +0.86 +0.82 +0.78 +0.75 +0.73 +0.73 +0.78 +0.9 +1.11 +1.41 +1.74 +1.97 +2.23 +2.38 +2.4 +2.29 +2.11 +1.94 +1.82 +1.78 +1.84 +1.96 +2.12 +2.27 +2.39 +2.46 +2.51 +2.54 +2.59 +2.66 +2.71 +2.72 +2.67 +2.57 +2.43 +2.31 +2.23 +2.2 +2.23 +2.29 +2.39 +2.49 +2.54 +2.53 +2.39 +2.15 +1.82 +1.48 +1.18 +0.96 +0.84 +0.79 +0.79 +0.82 +0.86 +0.91 +0.96 +1.0 +1.02 +1.04 +1.09 +1.15 +1.22 +1.27 +1.26 +1.2 +1.12 +1.05 +1.03 +1.06 +1.11 +1.13 +1.11 +1.06 +1.0 +0.96 +0.95 +0.96 +0.99 +1.05 +1.18 +1.39 +1.67 +1.97 +2.23 +2.38 +2.4 +2.29 +2.11 +1.94 +1.82 +1.78 +1.84 +1.96 +2.12 +2.27 +2.39 +2.46 +2.51 +2.54 +2.59 +2.66 +2.71 +2.72 +2.67 +2.57 +2.43 +2.31 +2.23 +2.2 +2.23 +2.29 +2.39 +2.49 +2.54 +2.53 +2.39 +2.15 +1.82 +1.48 +1.18 +0.96 +0.84 +0.79 +0.79 +0.82 +0.86 +0.91 +0.96 +1.0 +1.02 +1.04 +1.09 +1.15 +1.22 +1.27 +1.26 +1.2 +1.12 +1.05 +1.03 +1.06 +1.11 +1.13 +1.11 +1.06 +1.0 +0.96 +0.95 +0.96 +0.99 +1.05 +1.18 +1.39 +1.67 +1.97 +1.94 +2.15 +2.25 +2.21 +2.05 +1.82 +1.6 +1.46 +1.44 +1.52 +1.69 +1.86 +1.98 +2.04 +2.04 +2.03 +2.05 +2.14 +2.28 +2.43 +2.52 +2.53 +2.47 +2.38 +2.31 +2.3 +2.34 +2.4 +2.48 +2.54 +2.6 +2.63 +2.63 +2.54 +2.35 +2.06 +1.71 +1.34 +1.02 +0.79 +0.65 +0.6 +0.6 +0.63 +0.68 +0.72 +0.77 +0.82 +0.89 +0.98 +1.08 +1.15 +1.16 +1.1 +0.99 +0.89 +0.86 +0.9 +1.0 +1.09 +1.12 +1.08 +0.99 +0.9 +0.85 +0.87 +0.93 +1.02 +1.13 +1.27 +1.45 +1.69 +1.94 +2.15 +2.25 +2.21 +2.05 +1.82 +1.6 +1.46 +1.44 +1.52 +1.69 +1.86 +1.98 +2.04 +2.04 +2.03 +2.05 +2.14 +2.28 +2.43 +2.52 +2.53 +2.47 +2.38 +2.31 +2.3 +2.34 +2.4 +2.48 +2.54 +2.6 +2.63 +2.63 +2.54 +2.35 +2.06 +1.71 +1.34 +1.02 +0.79 +0.65 +0.6 +0.6 +0.63 +0.68 +0.72 +0.77 +0.82 +0.89 +0.98 +1.08 +1.15 +1.16 +1.1 +0.99 +0.89 +0.86 +0.9 +1.0 +1.09 +1.12 +1.08 +0.99 +0.9 +0.85 +0.87 +0.93 +1.02 +1.13 +1.27 +1.45 +1.69 +1.94 +1.68 +1.83 +1.88 +1.81 +1.61 +1.34 +1.08 +0.91 +0.88 +0.99 +1.18 +1.36 +1.46 +1.45 +1.37 +1.28 +1.27 +1.38 +1.58 +1.8 +1.96 +2.02 +1.99 +1.93 +1.92 +1.98 +2.09 +2.21 +2.3 +2.36 +2.4 +2.44 +2.49 +2.5 +2.43 +2.24 +1.92 +1.51 +1.09 +0.72 +0.45 +0.29 +0.24 +0.24 +0.26 +0.28 +0.31 +0.35 +0.44 +0.56 +0.69 +0.77 +0.76 +0.66 +0.51 +0.39 +0.38 +0.48 +0.65 +0.8 +0.85 +0.79 +0.65 +0.53 +0.48 +0.54 +0.67 +0.83 +0.99 +1.15 +1.31 +1.49 +1.68 +1.83 +1.88 +1.81 +1.61 +1.34 +1.08 +0.91 +0.88 +0.99 +1.18 +1.36 +1.46 +1.45 +1.37 +1.28 +1.27 +1.38 +1.58 +1.8 +1.96 +2.02 +1.99 +1.93 +1.92 +1.98 +2.09 +2.21 +2.3 +2.36 +2.4 +2.44 +2.49 +2.5 +2.43 +2.24 +1.92 +1.51 +1.09 +0.72 +0.45 +0.29 +0.24 +0.24 +0.26 +0.28 +0.31 +0.35 +0.44 +0.56 +0.69 +0.77 +0.76 +0.66 +0.51 +0.39 +0.38 +0.48 +0.65 +0.8 +0.85 +0.79 +0.65 +0.53 +0.48 +0.54 +0.67 +0.83 +0.99 +1.15 +1.31 +1.49 +1.68 +1.29 +1.39 +1.41 +1.31 +1.1 +0.8 +0.5 +0.3 +0.25 +0.36 +0.57 +0.75 +0.83 +0.76 +0.59 +0.42 +0.36 +0.46 +0.7 +0.97 +1.17 +1.25 +1.23 +1.18 +1.2 +1.3 +1.46 +1.63 +1.75 +1.82 +1.86 +1.94 +2.07 +2.22 +2.32 +2.29 +2.07 +1.69 +1.2 +0.72 +0.34 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.19 +0.28 +0.26 +0.11 +0.0 +0.0 +0.0 +0.0 +0.16 +0.36 +0.44 +0.37 +0.21 +0.05 +0.0 +0.09 +0.28 +0.52 +0.74 +0.91 +1.05 +1.17 +1.29 +1.39 +1.41 +1.31 +1.1 +0.8 +0.5 +0.3 +0.25 +0.36 +0.57 +0.75 +0.83 +0.76 +0.59 +0.42 +0.36 +0.46 +0.7 +0.97 +1.17 +1.25 +1.23 +1.18 +1.2 +1.3 +1.46 +1.63 +1.75 +1.82 +1.86 +1.94 +2.07 +2.22 +2.32 +2.29 +2.07 +1.69 +1.2 +0.72 +0.34 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.19 +0.28 +0.26 +0.11 +0.0 +0.0 +0.0 +0.0 +0.16 +0.36 +0.44 +0.37 +0.21 +0.05 +0.0 +0.09 +0.28 +0.52 +0.74 +0.91 +1.05 +1.17 +1.29 +0.96 +1.01 +1.0 +0.89 +0.67 +0.36 +0.04 +0.0 +0.0 +0.0 +0.04 +0.22 +0.29 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.41 +0.49 +0.45 +0.39 +0.38 +0.49 +0.66 +0.85 +0.98 +1.05 +1.12 +1.25 +1.47 +1.78 +2.06 +2.22 +2.16 +1.88 +1.42 +0.91 +0.46 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.25 +0.51 +0.71 +0.83 +0.9 +0.96 +1.01 +1.0 +0.89 +0.67 +0.36 +0.04 +0.0 +0.0 +0.0 +0.04 +0.22 +0.29 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.41 +0.49 +0.45 +0.39 +0.38 +0.49 +0.66 +0.85 +0.98 +1.05 +1.12 +1.25 +1.47 +1.78 +2.06 +2.22 +2.16 +1.88 +1.42 +0.91 +0.46 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.25 +0.51 +0.71 +0.83 +0.9 +0.96 +0.84 +0.83 +0.79 +0.68 +0.47 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.34 +0.42 +0.58 +0.87 +1.29 +1.73 +2.07 +2.19 +2.07 +1.73 +1.29 +0.87 +0.58 +0.42 +0.34 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.47 +0.68 +0.79 +0.83 +0.84 +0.83 +0.79 +0.68 +0.47 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.34 +0.42 +0.58 +0.87 +1.29 +1.73 +2.07 +2.19 +2.07 +1.73 +1.29 +0.87 +0.58 +0.42 +0.34 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.47 +0.68 +0.79 +0.83 +0.84 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.86 +0.66 +0.49 +0.39 +0.35 +0.35 +0.34 +0.25 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.28 +0.39 +0.41 +0.4 +0.42 +0.51 +0.66 +0.85 +1.06 +1.28 +1.52 +1.76 +1.99 +2.16 +2.23 +2.18 +2.03 +1.81 +1.58 +1.34 +1.12 +0.9 +0.7 +0.54 +0.45 +0.41 +0.41 +0.37 +0.26 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.36 +0.37 +0.42 +0.53 +0.71 +0.91 +1.13 +1.36 +1.6 +1.85 +2.09 +2.25 +2.3 +2.23 +2.04 +1.8 +1.54 +1.3 +1.07 +0.86 +0.66 +0.49 +0.39 +0.35 +0.35 +0.34 +0.25 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.28 +0.39 +0.41 +0.4 +0.42 +0.51 +0.66 +0.85 +1.06 +1.28 +1.52 +1.76 +1.99 +2.16 +2.23 +2.18 +2.03 +1.81 +1.58 +1.34 +1.12 +0.9 +0.7 +0.54 +0.45 +0.41 +0.41 +0.37 +0.26 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.36 +0.37 +0.42 +0.53 +0.71 +0.91 +1.13 +1.36 +1.6 +1.85 +2.09 +2.25 +2.3 +2.23 +2.04 +1.8 +1.54 +1.3 +1.07 +0.86 +0.72 +0.52 +0.36 +0.27 +0.25 +0.29 +0.33 +0.31 +0.21 +0.04 +0.0 +0.0 +0.0 +0.0 +0.21 +0.39 +0.48 +0.48 +0.43 +0.39 +0.41 +0.51 +0.68 +0.89 +1.13 +1.39 +1.66 +1.9 +2.09 +2.19 +2.17 +2.05 +1.84 +1.59 +1.34 +1.09 +0.86 +0.67 +0.54 +0.49 +0.48 +0.49 +0.45 +0.33 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.28 +0.33 +0.34 +0.35 +0.41 +0.54 +0.73 +0.95 +1.18 +1.44 +1.71 +2.0 +2.26 +2.43 +2.46 +2.34 +2.09 +1.79 +1.47 +1.19 +0.94 +0.72 +0.52 +0.36 +0.27 +0.25 +0.29 +0.33 +0.31 +0.21 +0.04 +0.0 +0.0 +0.0 +0.0 +0.21 +0.39 +0.48 +0.48 +0.43 +0.39 +0.41 +0.51 +0.68 +0.89 +1.13 +1.39 +1.66 +1.9 +2.09 +2.19 +2.17 +2.05 +1.84 +1.59 +1.34 +1.09 +0.86 +0.67 +0.54 +0.49 +0.48 +0.49 +0.45 +0.33 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.28 +0.33 +0.34 +0.35 +0.41 +0.54 +0.73 +0.95 +1.18 +1.44 +1.71 +2.0 +2.26 +2.43 +2.46 +2.34 +2.09 +1.79 +1.47 +1.19 +0.94 +0.72 +0.52 +0.34 +0.2 +0.12 +0.12 +0.19 +0.29 +0.35 +0.33 +0.22 +0.09 +0.0 +0.0 +0.12 +0.3 +0.47 +0.56 +0.54 +0.44 +0.33 +0.28 +0.32 +0.46 +0.67 +0.92 +1.2 +1.48 +1.73 +1.94 +2.06 +2.08 +1.99 +1.8 +1.55 +1.27 +0.99 +0.75 +0.58 +0.5 +0.5 +0.55 +0.58 +0.54 +0.41 +0.21 +0.01 +0.0 +0.0 +0.01 +0.18 +0.33 +0.4 +0.41 +0.39 +0.4 +0.48 +0.63 +0.82 +1.04 +1.27 +1.54 +1.85 +2.16 +2.44 +2.6 +2.6 +2.42 +2.09 +1.71 +1.33 +1.01 +0.74 +0.52 +0.34 +0.2 +0.12 +0.12 +0.19 +0.29 +0.35 +0.33 +0.22 +0.09 +0.0 +0.0 +0.12 +0.3 +0.47 +0.56 +0.54 +0.44 +0.33 +0.28 +0.32 +0.46 +0.67 +0.92 +1.2 +1.48 +1.73 +1.94 +2.06 +2.08 +1.99 +1.8 +1.55 +1.27 +0.99 +0.75 +0.58 +0.5 +0.5 +0.55 +0.58 +0.54 +0.41 +0.21 +0.01 +0.0 +0.0 +0.01 +0.18 +0.33 +0.4 +0.41 +0.39 +0.4 +0.48 +0.63 +0.82 +1.04 +1.27 +1.54 +1.85 +2.16 +2.44 +2.6 +2.6 +2.42 +2.09 +1.71 +1.33 +1.01 +0.74 +0.52 +0.31 +0.16 +0.04 +0.0 +0.0 +0.07 +0.2 +0.31 +0.36 +0.31 +0.19 +0.07 +0.03 +0.09 +0.25 +0.42 +0.53 +0.52 +0.41 +0.26 +0.14 +0.12 +0.23 +0.43 +0.7 +0.98 +1.24 +1.48 +1.68 +1.81 +1.87 +1.82 +1.66 +1.42 +1.12 +0.82 +0.58 +0.44 +0.41 +0.48 +0.59 +0.64 +0.61 +0.47 +0.28 +0.12 +0.06 +0.14 +0.3 +0.47 +0.59 +0.62 +0.59 +0.56 +0.59 +0.68 +0.84 +1.02 +1.2 +1.41 +1.65 +1.95 +2.26 +2.53 +2.67 +2.62 +2.37 +1.97 +1.52 +1.1 +0.76 +0.5 +0.31 +0.16 +0.04 +0.0 +0.0 +0.07 +0.2 +0.31 +0.36 +0.31 +0.19 +0.07 +0.03 +0.09 +0.25 +0.42 +0.53 +0.52 +0.41 +0.26 +0.14 +0.12 +0.23 +0.43 +0.7 +0.98 +1.24 +1.48 +1.68 +1.81 +1.87 +1.82 +1.66 +1.42 +1.12 +0.82 +0.58 +0.44 +0.41 +0.48 +0.59 +0.64 +0.61 +0.47 +0.28 +0.12 +0.06 +0.14 +0.3 +0.47 +0.59 +0.62 +0.59 +0.56 +0.59 +0.68 +0.84 +1.02 +1.2 +1.41 +1.65 +1.95 +2.26 +2.53 +2.67 +2.62 +2.37 +1.97 +1.52 +1.1 +0.76 +0.5 +0.31 +0.11 +0.01 +0.0 +0.0 +0.0 +0.0 +0.07 +0.22 +0.3 +0.28 +0.16 +0.01 +0.0 +0.0 +0.06 +0.26 +0.42 +0.45 +0.36 +0.19 +0.04 +0.0 +0.06 +0.25 +0.51 +0.77 +1.01 +1.21 +1.38 +1.51 +1.59 +1.58 +1.46 +1.24 +0.94 +0.63 +0.39 +0.28 +0.31 +0.45 +0.6 +0.69 +0.65 +0.5 +0.31 +0.19 +0.2 +0.35 +0.57 +0.77 +0.88 +0.88 +0.84 +0.81 +0.85 +0.97 +1.13 +1.29 +1.43 +1.57 +1.75 +1.99 +2.26 +2.49 +2.59 +2.48 +2.18 +1.73 +1.24 +0.8 +0.47 +0.25 +0.11 +0.01 +0.0 +0.0 +0.0 +0.0 +0.07 +0.22 +0.3 +0.28 +0.16 +0.01 +0.0 +0.0 +0.06 +0.26 +0.42 +0.45 +0.36 +0.19 +0.04 +0.0 +0.06 +0.25 +0.51 +0.77 +1.01 +1.21 +1.38 +1.51 +1.59 +1.58 +1.46 +1.24 +0.94 +0.63 +0.39 +0.28 +0.31 +0.45 +0.6 +0.69 +0.65 +0.5 +0.31 +0.19 +0.2 +0.35 +0.57 +0.77 +0.88 +0.88 +0.84 +0.81 +0.85 +0.97 +1.13 +1.29 +1.43 +1.57 +1.75 +1.99 +2.26 +2.49 +2.59 +2.48 +2.18 +1.73 +1.24 +0.8 +0.47 +0.25 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.22 +0.22 +0.1 +0.0 +0.0 +0.0 +0.0 +0.07 +0.29 +0.39 +0.34 +0.18 +0.01 +0.0 +0.0 +0.17 +0.42 +0.66 +0.86 +1.01 +1.14 +1.26 +1.35 +1.38 +1.31 +1.11 +0.82 +0.51 +0.27 +0.18 +0.25 +0.43 +0.62 +0.73 +0.69 +0.53 +0.34 +0.23 +0.29 +0.49 +0.76 +0.98 +1.09 +1.09 +1.04 +1.03 +1.1 +1.25 +1.43 +1.57 +1.65 +1.72 +1.81 +1.97 +2.17 +2.33 +2.38 +2.23 +1.9 +1.43 +0.93 +0.5 +0.19 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.22 +0.22 +0.1 +0.0 +0.0 +0.0 +0.0 +0.07 +0.29 +0.39 +0.34 +0.18 +0.01 +0.0 +0.0 +0.17 +0.42 +0.66 +0.86 +1.01 +1.14 +1.26 +1.35 +1.38 +1.31 +1.11 +0.82 +0.51 +0.27 +0.18 +0.25 +0.43 +0.62 +0.73 +0.69 +0.53 +0.34 +0.23 +0.29 +0.49 +0.76 +0.98 +1.09 +1.09 +1.04 +1.03 +1.1 +1.25 +1.43 +1.57 +1.65 +1.72 +1.81 +1.97 +2.17 +2.33 +2.38 +2.23 +1.9 +1.43 +0.93 +0.5 +0.19 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.22 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.25 +0.41 +0.41 +0.27 +0.1 +0.0 +0.04 +0.21 +0.45 +0.67 +0.84 +0.96 +1.06 +1.16 +1.27 +1.32 +1.28 +1.11 +0.84 +0.53 +0.28 +0.19 +0.26 +0.46 +0.67 +0.78 +0.74 +0.57 +0.37 +0.27 +0.33 +0.55 +0.84 +1.08 +1.19 +1.19 +1.14 +1.14 +1.24 +1.43 +1.63 +1.77 +1.83 +1.84 +1.85 +1.91 +2.02 +2.12 +2.12 +1.95 +1.62 +1.16 +0.67 +0.26 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.22 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.25 +0.41 +0.41 +0.27 +0.1 +0.0 +0.04 +0.21 +0.45 +0.67 +0.84 +0.96 +1.06 +1.16 +1.27 +1.32 +1.28 +1.11 +0.84 +0.53 +0.28 +0.19 +0.26 +0.46 +0.67 +0.78 +0.74 +0.57 +0.37 +0.27 +0.33 +0.55 +0.84 +1.08 +1.19 +1.19 +1.14 +1.14 +1.24 +1.43 +1.63 +1.77 +1.83 +1.84 +1.85 +1.91 +2.02 +2.12 +2.12 +1.95 +1.62 +1.16 +0.67 +0.26 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.36 +0.44 +0.36 +0.15 +0.0 +0.0 +0.0 +0.09 +0.37 +0.57 +0.59 +0.47 +0.29 +0.17 +0.2 +0.35 +0.58 +0.79 +0.95 +1.05 +1.14 +1.23 +1.34 +1.41 +1.39 +1.25 +0.99 +0.68 +0.42 +0.29 +0.33 +0.51 +0.72 +0.84 +0.81 +0.64 +0.43 +0.31 +0.36 +0.57 +0.85 +1.09 +1.2 +1.2 +1.15 +1.15 +1.27 +1.48 +1.71 +1.88 +1.95 +1.92 +1.87 +1.85 +1.87 +1.9 +1.87 +1.71 +1.41 +0.98 +0.52 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.36 +0.44 +0.36 +0.15 +0.0 +0.0 +0.0 +0.09 +0.37 +0.57 +0.59 +0.47 +0.29 +0.17 +0.2 +0.35 +0.58 +0.79 +0.95 +1.05 +1.14 +1.23 +1.34 +1.41 +1.39 +1.25 +0.99 +0.68 +0.42 +0.29 +0.33 +0.51 +0.72 +0.84 +0.81 +0.64 +0.43 +0.31 +0.36 +0.57 +0.85 +1.09 +1.2 +1.2 +1.15 +1.15 +1.27 +1.48 +1.71 +1.88 +1.95 +1.92 +1.87 +1.85 +1.87 +1.9 +1.87 +1.71 +1.41 +0.98 +0.52 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.17 +0.39 +0.63 +0.77 +0.75 +0.56 +0.31 +0.15 +0.17 +0.36 +0.63 +0.82 +0.86 +0.73 +0.54 +0.4 +0.39 +0.52 +0.74 +0.95 +1.11 +1.21 +1.28 +1.37 +1.46 +1.53 +1.53 +1.41 +1.17 +0.86 +0.58 +0.41 +0.4 +0.54 +0.72 +0.86 +0.85 +0.72 +0.53 +0.4 +0.43 +0.62 +0.9 +1.14 +1.27 +1.27 +1.21 +1.2 +1.31 +1.52 +1.77 +1.97 +2.05 +2.01 +1.91 +1.8 +1.74 +1.72 +1.68 +1.55 +1.29 +0.92 +0.49 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.17 +0.39 +0.63 +0.77 +0.75 +0.56 +0.31 +0.15 +0.17 +0.36 +0.63 +0.82 +0.86 +0.73 +0.54 +0.4 +0.39 +0.52 +0.74 +0.95 +1.11 +1.21 +1.28 +1.37 +1.46 +1.53 +1.53 +1.41 +1.17 +0.86 +0.58 +0.41 +0.4 +0.54 +0.72 +0.86 +0.85 +0.72 +0.53 +0.4 +0.43 +0.62 +0.9 +1.14 +1.27 +1.27 +1.21 +1.2 +1.31 +1.52 +1.77 +1.97 +2.05 +2.01 +1.91 +1.8 +1.74 +1.72 +1.68 +1.55 +1.29 +0.92 +0.49 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.19 +0.21 +0.26 +0.4 +0.65 +0.94 +1.14 +1.17 +1.01 +0.76 +0.56 +0.52 +0.67 +0.9 +1.08 +1.11 +0.98 +0.77 +0.6 +0.55 +0.65 +0.83 +1.03 +1.19 +1.28 +1.35 +1.41 +1.49 +1.54 +1.54 +1.44 +1.24 +0.96 +0.68 +0.48 +0.42 +0.5 +0.67 +0.82 +0.88 +0.81 +0.67 +0.57 +0.61 +0.8 +1.1 +1.39 +1.56 +1.6 +1.54 +1.5 +1.55 +1.72 +1.95 +2.14 +2.21 +2.15 +1.99 +1.81 +1.66 +1.58 +1.53 +1.44 +1.25 +0.93 +0.54 +0.15 +0.0 +0.0 +0.0 +0.0 +0.11 +0.19 +0.21 +0.26 +0.4 +0.65 +0.94 +1.14 +1.17 +1.01 +0.76 +0.56 +0.52 +0.67 +0.9 +1.08 +1.11 +0.98 +0.77 +0.6 +0.55 +0.65 +0.83 +1.03 +1.19 +1.28 +1.35 +1.41 +1.49 +1.54 +1.54 +1.44 +1.24 +0.96 +0.68 +0.48 +0.42 +0.5 +0.67 +0.82 +0.88 +0.81 +0.67 +0.57 +0.61 +0.8 +1.1 +1.39 +1.56 +1.6 +1.54 +1.5 +1.55 +1.72 +1.95 +2.14 +2.21 +2.15 +1.99 +1.81 +1.66 +1.58 +1.53 +1.44 +1.25 +0.93 +0.54 +0.15 +0.0 +0.0 +0.0 +0.0 +0.16 +0.34 +0.44 +0.47 +0.51 +0.63 +0.87 +1.18 +1.42 +1.49 +1.35 +1.1 +0.86 +0.78 +0.87 +1.07 +1.23 +1.26 +1.12 +0.9 +0.7 +0.61 +0.66 +0.8 +0.96 +1.1 +1.18 +1.22 +1.26 +1.3 +1.34 +1.34 +1.28 +1.14 +0.92 +0.68 +0.48 +0.39 +0.43 +0.59 +0.77 +0.9 +0.93 +0.88 +0.85 +0.93 +1.17 +1.53 +1.92 +2.19 +2.3 +2.27 +2.18 +2.15 +2.21 +2.35 +2.48 +2.51 +2.39 +2.16 +1.88 +1.64 +1.5 +1.43 +1.38 +1.24 +0.99 +0.63 +0.26 +0.0 +0.0 +0.0 +0.16 +0.34 +0.44 +0.47 +0.51 +0.63 +0.87 +1.18 +1.42 +1.49 +1.35 +1.1 +0.86 +0.78 +0.87 +1.07 +1.23 +1.26 +1.12 +0.9 +0.7 +0.61 +0.66 +0.8 +0.96 +1.1 +1.18 +1.22 +1.26 +1.3 +1.34 +1.34 +1.28 +1.14 +0.92 +0.68 +0.48 +0.39 +0.43 +0.59 +0.77 +0.9 +0.93 +0.88 +0.85 +0.93 +1.17 +1.53 +1.92 +2.19 +2.3 +2.27 +2.18 +2.15 +2.21 +2.35 +2.48 +2.51 +2.39 +2.16 +1.88 +1.64 +1.5 +1.43 +1.38 +1.24 +0.99 +0.63 +0.26 +0.0 +0.0 +0.0 +0.19 +0.41 +0.62 +0.74 +0.75 +0.74 +0.81 +1.01 +1.3 +1.54 +1.62 +1.49 +1.23 +0.96 +0.83 +0.88 +1.05 +1.2 +1.23 +1.11 +0.88 +0.66 +0.53 +0.53 +0.61 +0.73 +0.83 +0.89 +0.91 +0.91 +0.93 +0.95 +0.97 +0.97 +0.92 +0.8 +0.64 +0.48 +0.38 +0.4 +0.55 +0.77 +0.98 +1.12 +1.18 +1.23 +1.38 +1.7 +2.17 +2.69 +3.12 +3.35 +3.36 +3.23 +3.08 +2.99 +2.99 +3.0 +2.93 +2.73 +2.4 +2.01 +1.68 +1.48 +1.39 +1.36 +1.28 +1.07 +0.75 +0.4 +0.14 +0.07 +0.19 +0.41 +0.62 +0.74 +0.75 +0.74 +0.81 +1.01 +1.3 +1.54 +1.62 +1.49 +1.23 +0.96 +0.83 +0.88 +1.05 +1.2 +1.23 +1.11 +0.88 +0.66 +0.53 +0.53 +0.61 +0.73 +0.83 +0.89 +0.91 +0.91 +0.93 +0.95 +0.97 +0.97 +0.92 +0.8 +0.64 +0.48 +0.38 +0.4 +0.55 +0.77 +0.98 +1.12 +1.18 +1.23 +1.38 +1.7 +2.17 +2.69 +3.12 +3.35 +3.36 +3.23 +3.08 +2.99 +2.99 +3.0 +2.93 +2.73 +2.4 +2.01 +1.68 +1.48 +1.39 +1.36 +1.28 +1.07 +0.75 +0.4 +0.14 +0.07 +0.19 +0.41 +0.67 +0.91 +1.01 +0.99 +0.92 +0.92 +1.06 +1.3 +1.52 +1.59 +1.46 +1.17 +0.88 +0.71 +0.72 +0.86 +1.01 +1.06 +0.96 +0.75 +0.52 +0.36 +0.3 +0.33 +0.41 +0.48 +0.52 +0.52 +0.51 +0.51 +0.53 +0.59 +0.67 +0.72 +0.73 +0.67 +0.57 +0.48 +0.49 +0.63 +0.87 +1.15 +1.39 +1.55 +1.68 +1.9 +2.29 +2.87 +3.53 +4.12 +4.49 +4.57 +4.41 +4.14 +3.89 +3.72 +3.58 +3.4 +3.1 +2.68 +2.2 +1.8 +1.54 +1.44 +1.43 +1.39 +1.22 +0.92 +0.58 +0.33 +0.27 +0.41 +0.67 +0.91 +1.01 +0.99 +0.92 +0.92 +1.06 +1.3 +1.52 +1.59 +1.46 +1.17 +0.88 +0.71 +0.72 +0.86 +1.01 +1.06 +0.96 +0.75 +0.52 +0.36 +0.3 +0.33 +0.41 +0.48 +0.52 +0.52 +0.51 +0.51 +0.53 +0.59 +0.67 +0.72 +0.73 +0.67 +0.57 +0.48 +0.49 +0.63 +0.87 +1.15 +1.39 +1.55 +1.68 +1.9 +2.29 +2.87 +3.53 +4.12 +4.49 +4.57 +4.41 +4.14 +3.89 +3.72 +3.58 +3.4 +3.1 +2.68 +2.2 +1.8 +1.54 +1.44 +1.43 +1.39 +1.22 +0.92 +0.58 +0.33 +0.27 +0.41 +0.64 +0.9 +1.13 +1.23 +1.17 +1.05 +0.99 +1.07 +1.26 +1.46 +1.51 +1.37 +1.06 +0.73 +0.52 +0.49 +0.61 +0.77 +0.84 +0.77 +0.58 +0.35 +0.17 +0.08 +0.08 +0.14 +0.2 +0.24 +0.25 +0.25 +0.25 +0.29 +0.38 +0.53 +0.69 +0.81 +0.84 +0.8 +0.72 +0.71 +0.82 +1.07 +1.39 +1.69 +1.91 +2.09 +2.34 +2.77 +3.41 +4.18 +4.91 +5.4 +5.55 +5.38 +5.02 +4.63 +4.3 +4.03 +3.75 +3.38 +2.91 +2.39 +1.95 +1.68 +1.59 +1.6 +1.59 +1.45 +1.17 +0.82 +0.56 +0.49 +0.64 +0.9 +1.13 +1.23 +1.17 +1.05 +0.99 +1.07 +1.26 +1.46 +1.51 +1.37 +1.06 +0.73 +0.52 +0.49 +0.61 +0.77 +0.84 +0.77 +0.58 +0.35 +0.17 +0.08 +0.08 +0.14 +0.2 +0.24 +0.25 +0.25 +0.25 +0.29 +0.38 +0.53 +0.69 +0.81 +0.84 +0.8 +0.72 +0.71 +0.82 +1.07 +1.39 +1.69 +1.91 +2.09 +2.34 +2.77 +3.41 +4.18 +4.91 +5.4 +5.55 +5.38 +5.02 +4.63 +4.3 +4.03 +3.75 +3.38 +2.91 +2.39 +1.95 +1.68 +1.59 +1.6 +1.59 +1.45 +1.17 +0.82 +0.56 +0.49 +0.64 +0.84 +1.07 +1.29 +1.37 +1.3 +1.15 +1.06 +1.11 +1.29 +1.48 +1.53 +1.37 +1.04 +0.66 +0.4 +0.34 +0.44 +0.6 +0.69 +0.64 +0.47 +0.25 +0.06 +0.0 +0.0 +0.04 +0.12 +0.19 +0.23 +0.25 +0.26 +0.32 +0.44 +0.63 +0.85 +1.04 +1.13 +1.1 +1.02 +0.98 +1.06 +1.29 +1.6 +1.91 +2.15 +2.33 +2.55 +2.96 +3.6 +4.41 +5.2 +5.78 +5.99 +5.83 +5.42 +4.95 +4.52 +4.18 +3.86 +3.48 +3.01 +2.51 +2.09 +1.84 +1.79 +1.85 +1.88 +1.77 +1.49 +1.13 +0.84 +0.73 +0.84 +1.07 +1.29 +1.37 +1.3 +1.15 +1.06 +1.11 +1.29 +1.48 +1.53 +1.37 +1.04 +0.66 +0.4 +0.34 +0.44 +0.6 +0.69 +0.64 +0.47 +0.25 +0.06 +0.0 +0.0 +0.04 +0.12 +0.19 +0.23 +0.25 +0.26 +0.32 +0.44 +0.63 +0.85 +1.04 +1.13 +1.1 +1.02 +0.98 +1.06 +1.29 +1.6 +1.91 +2.15 +2.33 +2.55 +2.96 +3.6 +4.41 +5.2 +5.78 +5.99 +5.83 +5.42 +4.95 +4.52 +4.18 +3.86 +3.48 +3.01 +2.51 +2.09 +1.84 +1.79 +1.85 +1.88 +1.77 +1.49 +1.13 +0.84 +0.73 +0.84 +1.03 +1.22 +1.41 +1.48 +1.41 +1.28 +1.2 +1.27 +1.46 +1.67 +1.73 +1.56 +1.2 +0.78 +0.47 +0.35 +0.43 +0.58 +0.68 +0.66 +0.5 +0.29 +0.11 +0.04 +0.06 +0.17 +0.29 +0.4 +0.47 +0.5 +0.53 +0.59 +0.71 +0.9 +1.13 +1.31 +1.39 +1.36 +1.24 +1.16 +1.2 +1.38 +1.67 +1.96 +2.16 +2.29 +2.44 +2.76 +3.33 +4.1 +4.89 +5.49 +5.74 +5.61 +5.2 +4.71 +4.27 +3.93 +3.64 +3.31 +2.91 +2.48 +2.13 +1.95 +1.97 +2.09 +2.18 +2.11 +1.85 +1.48 +1.14 +0.98 +1.03 +1.22 +1.41 +1.48 +1.41 +1.28 +1.2 +1.27 +1.46 +1.67 +1.73 +1.56 +1.2 +0.78 +0.47 +0.35 +0.43 +0.58 +0.68 +0.66 +0.5 +0.29 +0.11 +0.04 +0.06 +0.17 +0.29 +0.4 +0.47 +0.5 +0.53 +0.59 +0.71 +0.9 +1.13 +1.31 +1.39 +1.36 +1.24 +1.16 +1.2 +1.38 +1.67 +1.96 +2.16 +2.29 +2.44 +2.76 +3.33 +4.1 +4.89 +5.49 +5.74 +5.61 +5.2 +4.71 +4.27 +3.93 +3.64 +3.31 +2.91 +2.48 +2.13 +1.95 +1.97 +2.09 +2.18 +2.11 +1.85 +1.48 +1.14 +0.98 +1.03 +1.23 +1.37 +1.54 +1.62 +1.58 +1.49 +1.46 +1.58 +1.82 +2.05 +2.14 +1.97 +1.59 +1.12 +0.74 +0.57 +0.6 +0.73 +0.84 +0.82 +0.67 +0.47 +0.31 +0.26 +0.33 +0.47 +0.63 +0.76 +0.83 +0.86 +0.88 +0.92 +1.02 +1.17 +1.34 +1.46 +1.49 +1.41 +1.26 +1.14 +1.14 +1.29 +1.53 +1.77 +1.92 +1.97 +2.03 +2.23 +2.68 +3.34 +4.07 +4.64 +4.9 +4.8 +4.43 +3.99 +3.6 +3.33 +3.13 +2.9 +2.61 +2.29 +2.03 +1.93 +2.02 +2.22 +2.38 +2.37 +2.16 +1.8 +1.44 +1.23 +1.23 +1.37 +1.54 +1.62 +1.58 +1.49 +1.46 +1.58 +1.82 +2.05 +2.14 +1.97 +1.59 +1.12 +0.74 +0.57 +0.6 +0.73 +0.84 +0.82 +0.67 +0.47 +0.31 +0.26 +0.33 +0.47 +0.63 +0.76 +0.83 +0.86 +0.88 +0.92 +1.02 +1.17 +1.34 +1.46 +1.49 +1.41 +1.26 +1.14 +1.14 +1.29 +1.53 +1.77 +1.92 +1.97 +2.03 +2.23 +2.68 +3.34 +4.07 +4.64 +4.9 +4.8 +4.43 +3.99 +3.6 +3.33 +3.13 +2.9 +2.61 +2.29 +2.03 +1.93 +2.02 +2.22 +2.38 +2.37 +2.16 +1.8 +1.44 +1.23 +1.23 +1.44 +1.56 +1.73 +1.84 +1.85 +1.83 +1.87 +2.05 +2.34 +2.62 +2.72 +2.56 +2.15 +1.63 +1.18 +0.93 +0.91 +1.01 +1.1 +1.07 +0.93 +0.74 +0.59 +0.56 +0.66 +0.82 +0.99 +1.11 +1.15 +1.14 +1.12 +1.12 +1.17 +1.25 +1.34 +1.39 +1.34 +1.21 +1.04 +0.91 +0.9 +1.02 +1.23 +1.42 +1.5 +1.48 +1.44 +1.53 +1.84 +2.37 +2.99 +3.5 +3.73 +3.65 +3.35 +2.98 +2.69 +2.53 +2.44 +2.34 +2.16 +1.94 +1.76 +1.73 +1.88 +2.14 +2.38 +2.46 +2.32 +2.01 +1.68 +1.46 +1.44 +1.56 +1.73 +1.84 +1.85 +1.83 +1.87 +2.05 +2.34 +2.62 +2.72 +2.56 +2.15 +1.63 +1.18 +0.93 +0.91 +1.01 +1.1 +1.07 +0.93 +0.74 +0.59 +0.56 +0.66 +0.82 +0.99 +1.11 +1.15 +1.14 +1.12 +1.12 +1.17 +1.25 +1.34 +1.39 +1.34 +1.21 +1.04 +0.91 +0.9 +1.02 +1.23 +1.42 +1.5 +1.48 +1.44 +1.53 +1.84 +2.37 +2.99 +3.5 +3.73 +3.65 +3.35 +2.98 +2.69 +2.53 +2.44 +2.34 +2.16 +1.94 +1.76 +1.73 +1.88 +2.14 +2.38 +2.46 +2.32 +2.01 +1.68 +1.46 +1.44 +1.63 +1.78 +1.98 +2.15 +2.24 +2.3 +2.41 +2.64 +2.97 +3.28 +3.4 +3.24 +2.81 +2.25 +1.73 +1.4 +1.3 +1.34 +1.38 +1.34 +1.18 +0.99 +0.85 +0.84 +0.94 +1.1 +1.24 +1.3 +1.28 +1.21 +1.13 +1.08 +1.08 +1.1 +1.12 +1.09 +0.99 +0.84 +0.68 +0.58 +0.58 +0.71 +0.89 +1.03 +1.07 +0.99 +0.88 +0.87 +1.07 +1.46 +1.96 +2.37 +2.56 +2.49 +2.24 +1.96 +1.77 +1.72 +1.74 +1.75 +1.66 +1.51 +1.38 +1.38 +1.55 +1.86 +2.16 +2.33 +2.28 +2.07 +1.81 +1.64 +1.63 +1.78 +1.98 +2.15 +2.24 +2.3 +2.41 +2.64 +2.97 +3.28 +3.4 +3.24 +2.81 +2.25 +1.73 +1.4 +1.3 +1.34 +1.38 +1.34 +1.18 +0.99 +0.85 +0.84 +0.94 +1.1 +1.24 +1.3 +1.28 +1.21 +1.13 +1.08 +1.08 +1.1 +1.12 +1.09 +0.99 +0.84 +0.68 +0.58 +0.58 +0.71 +0.89 +1.03 +1.07 +0.99 +0.88 +0.87 +1.07 +1.46 +1.96 +2.37 +2.56 +2.49 +2.24 +1.96 +1.77 +1.72 +1.74 +1.75 +1.66 +1.51 +1.38 +1.38 +1.55 +1.86 +2.16 +2.33 +2.28 +2.07 +1.81 +1.64 +1.63 +1.75 +1.96 +2.24 +2.49 +2.67 +2.81 +2.99 +3.27 +3.63 +3.95 +4.09 +3.94 +3.51 +2.92 +2.34 +1.93 +1.73 +1.68 +1.65 +1.55 +1.37 +1.16 +1.03 +1.01 +1.11 +1.24 +1.32 +1.3 +1.19 +1.04 +0.91 +0.82 +0.79 +0.77 +0.75 +0.68 +0.58 +0.44 +0.33 +0.29 +0.34 +0.48 +0.64 +0.76 +0.76 +0.66 +0.51 +0.44 +0.54 +0.82 +1.19 +1.5 +1.64 +1.57 +1.35 +1.13 +1.02 +1.05 +1.15 +1.23 +1.21 +1.09 +0.97 +0.95 +1.11 +1.41 +1.74 +1.98 +2.04 +1.94 +1.78 +1.69 +1.75 +1.96 +2.24 +2.49 +2.67 +2.81 +2.99 +3.27 +3.63 +3.95 +4.09 +3.94 +3.51 +2.92 +2.34 +1.93 +1.73 +1.68 +1.65 +1.55 +1.37 +1.16 +1.03 +1.01 +1.11 +1.24 +1.32 +1.3 +1.19 +1.04 +0.91 +0.82 +0.79 +0.77 +0.75 +0.68 +0.58 +0.44 +0.33 +0.29 +0.34 +0.48 +0.64 +0.76 +0.76 +0.66 +0.51 +0.44 +0.54 +0.82 +1.19 +1.5 +1.64 +1.57 +1.35 +1.13 +1.02 +1.05 +1.15 +1.23 +1.21 +1.09 +0.97 +0.95 +1.11 +1.41 +1.74 +1.98 +2.04 +1.94 +1.78 +1.69 +1.75 +1.74 +2.03 +2.39 +2.74 +3.02 +3.26 +3.5 +3.82 +4.19 +4.52 +4.68 +4.57 +4.16 +3.57 +2.96 +2.47 +2.17 +2.0 +1.88 +1.71 +1.48 +1.26 +1.11 +1.08 +1.15 +1.24 +1.26 +1.17 +0.98 +0.77 +0.6 +0.49 +0.45 +0.43 +0.4 +0.34 +0.26 +0.18 +0.14 +0.16 +0.25 +0.41 +0.57 +0.67 +0.66 +0.55 +0.39 +0.28 +0.31 +0.5 +0.76 +0.98 +1.07 +0.98 +0.78 +0.59 +0.52 +0.58 +0.73 +0.84 +0.84 +0.73 +0.59 +0.53 +0.64 +0.9 +1.22 +1.5 +1.63 +1.63 +1.58 +1.59 +1.74 +2.03 +2.39 +2.74 +3.02 +3.26 +3.5 +3.82 +4.19 +4.52 +4.68 +4.57 +4.16 +3.57 +2.96 +2.47 +2.17 +2.0 +1.88 +1.71 +1.48 +1.26 +1.11 +1.08 +1.15 +1.24 +1.26 +1.17 +0.98 +0.77 +0.6 +0.49 +0.45 +0.43 +0.4 +0.34 +0.26 +0.18 +0.14 +0.16 +0.25 +0.41 +0.57 +0.67 +0.66 +0.55 +0.39 +0.28 +0.31 +0.5 +0.76 +0.98 +1.07 +0.98 +0.78 +0.59 +0.52 +0.58 +0.73 +0.84 +0.84 +0.73 +0.59 +0.53 +0.64 +0.9 +1.22 +1.5 +1.63 +1.63 +1.58 +1.59 +1.74 +1.54 +1.91 +2.36 +2.81 +3.19 +3.51 +3.81 +4.15 +4.53 +4.87 +5.07 +5.01 +4.67 +4.13 +3.53 +3.0 +2.6 +2.33 +2.09 +1.84 +1.56 +1.31 +1.13 +1.08 +1.12 +1.17 +1.15 +1.01 +0.8 +0.56 +0.37 +0.27 +0.23 +0.22 +0.22 +0.19 +0.15 +0.13 +0.14 +0.2 +0.31 +0.46 +0.6 +0.69 +0.69 +0.59 +0.44 +0.32 +0.3 +0.4 +0.58 +0.74 +0.78 +0.69 +0.49 +0.31 +0.24 +0.3 +0.44 +0.56 +0.57 +0.46 +0.29 +0.17 +0.21 +0.41 +0.69 +0.96 +1.14 +1.2 +1.23 +1.32 +1.54 +1.91 +2.36 +2.81 +3.19 +3.51 +3.81 +4.15 +4.53 +4.87 +5.07 +5.01 +4.67 +4.13 +3.53 +3.0 +2.6 +2.33 +2.09 +1.84 +1.56 +1.31 +1.13 +1.08 +1.12 +1.17 +1.15 +1.01 +0.8 +0.56 +0.37 +0.27 +0.23 +0.22 +0.22 +0.19 +0.15 +0.13 +0.14 +0.2 +0.31 +0.46 +0.6 +0.69 +0.69 +0.59 +0.44 +0.32 +0.3 +0.4 +0.58 +0.74 +0.78 +0.69 +0.49 +0.31 +0.24 +0.3 +0.44 +0.56 +0.57 +0.46 +0.29 +0.17 +0.21 +0.41 +0.69 +0.96 +1.14 +1.2 +1.23 +1.32 +1.54 +1.2 +1.62 +2.13 +2.64 +3.1 +3.49 +3.84 +4.19 +4.57 +4.92 +5.15 +5.17 +4.94 +4.5 +3.96 +3.44 +2.99 +2.63 +2.31 +1.99 +1.66 +1.37 +1.17 +1.09 +1.09 +1.11 +1.07 +0.94 +0.73 +0.51 +0.35 +0.25 +0.23 +0.23 +0.24 +0.24 +0.23 +0.24 +0.26 +0.32 +0.41 +0.53 +0.64 +0.72 +0.72 +0.65 +0.51 +0.38 +0.32 +0.36 +0.49 +0.62 +0.65 +0.56 +0.38 +0.19 +0.09 +0.12 +0.24 +0.34 +0.35 +0.24 +0.05 +0.0 +0.0 +0.0 +0.22 +0.46 +0.63 +0.72 +0.79 +0.93 +1.2 +1.62 +2.13 +2.64 +3.1 +3.49 +3.84 +4.19 +4.57 +4.92 +5.15 +5.17 +4.94 +4.5 +3.96 +3.44 +2.99 +2.63 +2.31 +1.99 +1.66 +1.37 +1.17 +1.09 +1.09 +1.11 +1.07 +0.94 +0.73 +0.51 +0.35 +0.25 +0.23 +0.23 +0.24 +0.24 +0.23 +0.24 +0.26 +0.32 +0.41 +0.53 +0.64 +0.72 +0.72 +0.65 +0.51 +0.38 +0.32 +0.36 +0.49 +0.62 +0.65 +0.56 +0.38 +0.19 +0.09 +0.12 +0.24 +0.34 +0.35 +0.24 +0.05 +0.0 +0.0 +0.0 +0.22 +0.46 +0.63 +0.72 +0.79 +0.93 +1.2 +0.81 +1.24 +1.76 +2.31 +2.8 +3.22 +3.58 +3.93 +4.29 +4.63 +4.89 +5.0 +4.9 +4.61 +4.19 +3.73 +3.3 +2.9 +2.53 +2.16 +1.8 +1.48 +1.25 +1.14 +1.11 +1.1 +1.06 +0.96 +0.81 +0.64 +0.52 +0.45 +0.43 +0.43 +0.43 +0.43 +0.42 +0.41 +0.41 +0.43 +0.46 +0.51 +0.58 +0.64 +0.65 +0.6 +0.48 +0.34 +0.25 +0.26 +0.36 +0.48 +0.55 +0.49 +0.33 +0.14 +0.01 +0.0 +0.06 +0.14 +0.15 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.19 +0.28 +0.36 +0.52 +0.81 +1.24 +1.76 +2.31 +2.8 +3.22 +3.58 +3.93 +4.29 +4.63 +4.89 +5.0 +4.9 +4.61 +4.19 +3.73 +3.3 +2.9 +2.53 +2.16 +1.8 +1.48 +1.25 +1.14 +1.11 +1.1 +1.06 +0.96 +0.81 +0.64 +0.52 +0.45 +0.43 +0.43 +0.43 +0.43 +0.42 +0.41 +0.41 +0.43 +0.46 +0.51 +0.58 +0.64 +0.65 +0.6 +0.48 +0.34 +0.25 +0.26 +0.36 +0.48 +0.55 +0.49 +0.33 +0.14 +0.01 +0.0 +0.06 +0.14 +0.15 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.19 +0.28 +0.36 +0.52 +0.81 +0.49 +0.9 +1.4 +1.92 +2.39 +2.79 +3.13 +3.44 +3.75 +4.06 +4.34 +4.52 +4.55 +4.42 +4.16 +3.83 +3.46 +3.08 +2.71 +2.33 +1.97 +1.64 +1.39 +1.23 +1.16 +1.13 +1.1 +1.05 +0.97 +0.88 +0.81 +0.77 +0.75 +0.72 +0.69 +0.64 +0.6 +0.55 +0.5 +0.44 +0.4 +0.38 +0.4 +0.44 +0.46 +0.42 +0.31 +0.17 +0.07 +0.06 +0.15 +0.3 +0.41 +0.41 +0.29 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.2 +0.49 +0.9 +1.4 +1.92 +2.39 +2.79 +3.13 +3.44 +3.75 +4.06 +4.34 +4.52 +4.55 +4.42 +4.16 +3.83 +3.46 +3.08 +2.71 +2.33 +1.97 +1.64 +1.39 +1.23 +1.16 +1.13 +1.1 +1.05 +0.97 +0.88 +0.81 +0.77 +0.75 +0.72 +0.69 +0.64 +0.6 +0.55 +0.5 +0.44 +0.4 +0.38 +0.4 +0.44 +0.46 +0.42 +0.31 +0.17 +0.07 +0.06 +0.15 +0.3 +0.41 +0.41 +0.29 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.2 +0.49 +0.36 +0.75 +1.19 +1.64 +2.03 +2.36 +2.62 +2.85 +3.09 +3.35 +3.61 +3.84 +3.98 +4.01 +3.92 +3.73 +3.47 +3.17 +2.84 +2.5 +2.15 +1.83 +1.56 +1.36 +1.24 +1.18 +1.16 +1.15 +1.14 +1.13 +1.13 +1.11 +1.07 +1.01 +0.91 +0.81 +0.71 +0.61 +0.51 +0.4 +0.3 +0.22 +0.2 +0.22 +0.24 +0.21 +0.11 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.34 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.36 +0.75 +1.19 +1.64 +2.03 +2.36 +2.62 +2.85 +3.09 +3.35 +3.61 +3.84 +3.98 +4.01 +3.92 +3.73 +3.47 +3.17 +2.84 +2.5 +2.15 +1.83 +1.56 +1.36 +1.24 +1.18 +1.16 +1.15 +1.14 +1.13 +1.13 +1.11 +1.07 +1.01 +0.91 +0.81 +0.71 +0.61 +0.51 +0.4 +0.3 +0.22 +0.2 +0.22 +0.24 +0.21 +0.11 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.34 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.36 +0.48 +0.83 +1.21 +1.55 +1.83 +2.04 +2.19 +2.33 +2.47 +2.66 +2.88 +3.12 +3.34 +3.48 +3.54 +3.49 +3.36 +3.16 +2.92 +2.64 +2.34 +2.03 +1.76 +1.53 +1.36 +1.27 +1.23 +1.24 +1.29 +1.35 +1.39 +1.4 +1.35 +1.23 +1.07 +0.9 +0.74 +0.6 +0.48 +0.35 +0.24 +0.15 +0.11 +0.11 +0.12 +0.09 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.35 +0.3 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.48 +0.83 +1.21 +1.55 +1.83 +2.04 +2.19 +2.33 +2.47 +2.66 +2.88 +3.12 +3.34 +3.48 +3.54 +3.49 +3.36 +3.16 +2.92 +2.64 +2.34 +2.03 +1.76 +1.53 +1.36 +1.27 +1.23 +1.24 +1.29 +1.35 +1.39 +1.4 +1.35 +1.23 +1.07 +0.9 +0.74 +0.6 +0.48 +0.35 +0.24 +0.15 +0.11 +0.11 +0.12 +0.09 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.35 +0.3 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.48 +0.81 +1.14 +1.43 +1.66 +1.81 +1.89 +1.92 +1.95 +2.01 +2.12 +2.3 +2.53 +2.77 +2.99 +3.14 +3.2 +3.18 +3.09 +2.94 +2.74 +2.5 +2.24 +1.97 +1.73 +1.53 +1.41 +1.36 +1.38 +1.45 +1.55 +1.62 +1.64 +1.57 +1.41 +1.18 +0.95 +0.74 +0.58 +0.45 +0.35 +0.27 +0.2 +0.17 +0.17 +0.18 +0.16 +0.09 +0.0 +0.0 +0.0 +0.02 +0.21 +0.39 +0.49 +0.45 +0.3 +0.12 +0.0 +0.0 +0.0 +0.01 +0.03 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.12 +0.28 +0.52 +0.81 +1.14 +1.43 +1.66 +1.81 +1.89 +1.92 +1.95 +2.01 +2.12 +2.3 +2.53 +2.77 +2.99 +3.14 +3.2 +3.18 +3.09 +2.94 +2.74 +2.5 +2.24 +1.97 +1.73 +1.53 +1.41 +1.36 +1.38 +1.45 +1.55 +1.62 +1.64 +1.57 +1.41 +1.18 +0.95 +0.74 +0.58 +0.45 +0.35 +0.27 +0.2 +0.17 +0.17 +0.18 +0.16 +0.09 +0.0 +0.0 +0.0 +0.02 +0.21 +0.39 +0.49 +0.45 +0.3 +0.12 +0.0 +0.0 +0.0 +0.01 +0.03 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.12 +0.28 +0.52 +0.81 +1.24 +1.53 +1.76 +1.88 +1.91 +1.86 +1.79 +1.73 +1.72 +1.79 +1.93 +2.13 +2.37 +2.59 +2.78 +2.9 +2.96 +2.96 +2.91 +2.8 +2.64 +2.43 +2.19 +1.96 +1.76 +1.63 +1.58 +1.6 +1.68 +1.79 +1.86 +1.87 +1.78 +1.57 +1.3 +1.0 +0.75 +0.57 +0.46 +0.4 +0.36 +0.34 +0.34 +0.35 +0.37 +0.37 +0.32 +0.25 +0.2 +0.22 +0.33 +0.49 +0.65 +0.71 +0.66 +0.52 +0.35 +0.24 +0.21 +0.25 +0.3 +0.33 +0.33 +0.31 +0.29 +0.28 +0.29 +0.31 +0.37 +0.48 +0.67 +0.93 +1.24 +1.53 +1.76 +1.88 +1.91 +1.86 +1.79 +1.73 +1.72 +1.79 +1.93 +2.13 +2.37 +2.59 +2.78 +2.9 +2.96 +2.96 +2.91 +2.8 +2.64 +2.43 +2.19 +1.96 +1.76 +1.63 +1.58 +1.6 +1.68 +1.79 +1.86 +1.87 +1.78 +1.57 +1.3 +1.0 +0.75 +0.57 +0.46 +0.4 +0.36 +0.34 +0.34 +0.35 +0.37 +0.37 +0.32 +0.25 +0.2 +0.22 +0.33 +0.49 +0.65 +0.71 +0.66 +0.52 +0.35 +0.24 +0.21 +0.25 +0.3 +0.33 +0.33 +0.31 +0.29 +0.28 +0.29 +0.31 +0.37 +0.48 +0.67 +0.93 +1.24 +1.6 +1.87 +2.03 +2.07 +2.0 +1.85 +1.7 +1.58 +1.54 +1.59 +1.71 +1.9 +2.1 +2.29 +2.46 +2.58 +2.67 +2.74 +2.78 +2.77 +2.69 +2.55 +2.37 +2.17 +2.0 +1.9 +1.87 +1.9 +1.98 +2.07 +2.13 +2.11 +1.99 +1.76 +1.46 +1.13 +0.83 +0.62 +0.5 +0.44 +0.43 +0.44 +0.47 +0.51 +0.54 +0.56 +0.55 +0.52 +0.52 +0.56 +0.67 +0.81 +0.91 +0.93 +0.85 +0.7 +0.56 +0.49 +0.5 +0.56 +0.62 +0.65 +0.64 +0.61 +0.59 +0.59 +0.61 +0.64 +0.71 +0.83 +1.03 +1.3 +1.6 +1.87 +2.03 +2.07 +2.0 +1.85 +1.7 +1.58 +1.54 +1.59 +1.71 +1.9 +2.1 +2.29 +2.46 +2.58 +2.67 +2.74 +2.78 +2.77 +2.69 +2.55 +2.37 +2.17 +2.0 +1.9 +1.87 +1.9 +1.98 +2.07 +2.13 +2.11 +1.99 +1.76 +1.46 +1.13 +0.83 +0.62 +0.5 +0.44 +0.43 +0.44 +0.47 +0.51 +0.54 +0.56 +0.55 +0.52 +0.52 +0.56 +0.67 +0.81 +0.91 +0.93 +0.85 +0.7 +0.56 +0.49 +0.5 +0.56 +0.62 +0.65 +0.64 +0.61 +0.59 +0.59 +0.61 +0.64 +0.71 +0.83 +1.03 +1.3 +1.6 +1.78 +2.01 +2.13 +2.11 +1.96 +1.75 +1.54 +1.39 +1.35 +1.4 +1.54 +1.71 +1.87 +2.0 +2.09 +2.17 +2.26 +2.37 +2.49 +2.57 +2.59 +2.52 +2.4 +2.25 +2.15 +2.1 +2.13 +2.19 +2.27 +2.33 +2.36 +2.32 +2.19 +1.97 +1.67 +1.33 +1.0 +0.73 +0.54 +0.44 +0.4 +0.4 +0.44 +0.5 +0.55 +0.59 +0.61 +0.62 +0.66 +0.74 +0.86 +0.98 +1.04 +1.0 +0.88 +0.73 +0.62 +0.61 +0.67 +0.77 +0.84 +0.85 +0.81 +0.76 +0.73 +0.75 +0.79 +0.86 +0.94 +1.07 +1.26 +1.51 +1.78 +2.01 +2.13 +2.11 +1.96 +1.75 +1.54 +1.39 +1.35 +1.4 +1.54 +1.71 +1.87 +2.0 +2.09 +2.17 +2.26 +2.37 +2.49 +2.57 +2.59 +2.52 +2.4 +2.25 +2.15 +2.1 +2.13 +2.19 +2.27 +2.33 +2.36 +2.32 +2.19 +1.97 +1.67 +1.33 +1.0 +0.73 +0.54 +0.44 +0.4 +0.4 +0.44 +0.5 +0.55 +0.59 +0.61 +0.62 +0.66 +0.74 +0.86 +0.98 +1.04 +1.0 +0.88 +0.73 +0.62 +0.61 +0.67 +0.77 +0.84 +0.85 +0.81 +0.76 +0.73 +0.75 +0.79 +0.86 +0.94 +1.07 +1.26 +1.51 +1.78 +1.73 +1.91 +1.99 +1.94 +1.76 +1.5 +1.25 +1.08 +1.04 +1.12 +1.29 +1.46 +1.58 +1.63 +1.62 +1.62 +1.67 +1.8 +1.99 +2.16 +2.26 +2.26 +2.19 +2.1 +2.06 +2.1 +2.2 +2.31 +2.4 +2.44 +2.44 +2.38 +2.28 +2.12 +1.88 +1.59 +1.25 +0.91 +0.62 +0.4 +0.26 +0.21 +0.23 +0.28 +0.34 +0.39 +0.42 +0.46 +0.53 +0.65 +0.79 +0.9 +0.93 +0.84 +0.68 +0.52 +0.45 +0.5 +0.64 +0.79 +0.87 +0.86 +0.77 +0.68 +0.65 +0.68 +0.78 +0.89 +1.01 +1.14 +1.31 +1.51 +1.73 +1.91 +1.99 +1.94 +1.76 +1.5 +1.25 +1.08 +1.04 +1.12 +1.29 +1.46 +1.58 +1.63 +1.62 +1.62 +1.67 +1.8 +1.99 +2.16 +2.26 +2.26 +2.19 +2.1 +2.06 +2.1 +2.2 +2.31 +2.4 +2.44 +2.44 +2.38 +2.28 +2.12 +1.88 +1.59 +1.25 +0.91 +0.62 +0.4 +0.26 +0.21 +0.23 +0.28 +0.34 +0.39 +0.42 +0.46 +0.53 +0.65 +0.79 +0.9 +0.93 +0.84 +0.68 +0.52 +0.45 +0.5 +0.64 +0.79 +0.87 +0.86 +0.77 +0.68 +0.65 +0.68 +0.78 +0.89 +1.01 +1.14 +1.31 +1.51 +1.73 +1.48 +1.62 +1.67 +1.6 +1.4 +1.12 +0.84 +0.65 +0.61 +0.72 +0.91 +1.1 +1.19 +1.15 +1.04 +0.93 +0.93 +1.06 +1.29 +1.54 +1.71 +1.76 +1.72 +1.67 +1.69 +1.79 +1.96 +2.13 +2.24 +2.27 +2.25 +2.21 +2.18 +2.13 +2.03 +1.84 +1.54 +1.16 +0.75 +0.39 +0.12 +0.0 +0.0 +0.0 +0.03 +0.07 +0.08 +0.11 +0.19 +0.32 +0.48 +0.6 +0.6 +0.48 +0.28 +0.12 +0.07 +0.18 +0.39 +0.59 +0.7 +0.66 +0.54 +0.41 +0.36 +0.42 +0.57 +0.75 +0.92 +1.05 +1.18 +1.32 +1.48 +1.62 +1.67 +1.6 +1.4 +1.12 +0.84 +0.65 +0.61 +0.72 +0.91 +1.1 +1.19 +1.15 +1.04 +0.93 +0.93 +1.06 +1.29 +1.54 +1.71 +1.76 +1.72 +1.67 +1.69 +1.79 +1.96 +2.13 +2.24 +2.27 +2.25 +2.21 +2.18 +2.13 +2.03 +1.84 +1.54 +1.16 +0.75 +0.39 +0.12 +0.0 +0.0 +0.0 +0.03 +0.07 +0.08 +0.11 +0.19 +0.32 +0.48 +0.6 +0.6 +0.48 +0.28 +0.12 +0.07 +0.18 +0.39 +0.59 +0.7 +0.66 +0.54 +0.41 +0.36 +0.42 +0.57 +0.75 +0.92 +1.05 +1.18 +1.32 +1.48 +1.15 +1.24 +1.28 +1.2 +1.0 +0.71 +0.4 +0.19 +0.14 +0.26 +0.47 +0.67 +0.73 +0.63 +0.42 +0.22 +0.15 +0.27 +0.53 +0.82 +1.02 +1.09 +1.06 +1.02 +1.06 +1.21 +1.42 +1.62 +1.74 +1.77 +1.76 +1.77 +1.84 +1.96 +2.05 +2.02 +1.82 +1.45 +0.97 +0.49 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.22 +0.21 +0.06 +0.0 +0.0 +0.0 +0.0 +0.03 +0.29 +0.42 +0.37 +0.21 +0.04 +0.0 +0.07 +0.27 +0.52 +0.73 +0.87 +0.97 +1.06 +1.15 +1.24 +1.28 +1.2 +1.0 +0.71 +0.4 +0.19 +0.14 +0.26 +0.47 +0.67 +0.73 +0.63 +0.42 +0.22 +0.15 +0.27 +0.53 +0.82 +1.02 +1.09 +1.06 +1.02 +1.06 +1.21 +1.42 +1.62 +1.74 +1.77 +1.76 +1.77 +1.84 +1.96 +2.05 +2.02 +1.82 +1.45 +0.97 +0.49 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.22 +0.21 +0.06 +0.0 +0.0 +0.0 +0.0 +0.03 +0.29 +0.42 +0.37 +0.21 +0.04 +0.0 +0.07 +0.27 +0.52 +0.73 +0.87 +0.97 +1.06 +1.15 +0.88 +0.93 +0.94 +0.87 +0.68 +0.38 +0.06 +0.0 +0.0 +0.0 +0.09 +0.29 +0.35 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.4 +0.46 +0.41 +0.35 +0.36 +0.5 +0.72 +0.92 +1.04 +1.07 +1.08 +1.14 +1.33 +1.61 +1.9 +2.07 +2.02 +1.74 +1.28 +0.76 +0.32 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.19 +0.14 +0.0 +0.0 +0.0 +0.0 +0.01 +0.31 +0.56 +0.72 +0.8 +0.84 +0.88 +0.93 +0.94 +0.87 +0.68 +0.38 +0.06 +0.0 +0.0 +0.0 +0.09 +0.29 +0.35 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.4 +0.46 +0.41 +0.35 +0.36 +0.5 +0.72 +0.92 +1.04 +1.07 +1.08 +1.14 +1.33 +1.61 +1.9 +2.07 +2.02 +1.74 +1.28 +0.76 +0.32 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.19 +0.14 +0.0 +0.0 +0.0 +0.0 +0.01 +0.31 +0.56 +0.72 +0.8 +0.84 +0.88 +0.77 +0.78 +0.77 +0.7 +0.53 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.37 +0.39 +0.5 +0.76 +1.17 +1.61 +1.96 +2.1 +1.96 +1.61 +1.17 +0.76 +0.5 +0.39 +0.37 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.53 +0.7 +0.77 +0.78 +0.77 +0.78 +0.77 +0.7 +0.53 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.37 +0.39 +0.5 +0.76 +1.17 +1.61 +1.96 +2.1 +1.96 +1.61 +1.17 +0.76 +0.5 +0.39 +0.37 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.53 +0.7 +0.77 +0.78 +0.77 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.65 +0.49 +0.39 +0.35 +0.36 +0.34 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.28 +0.39 +0.41 +0.4 +0.42 +0.5 +0.65 +0.85 +1.06 +1.28 +1.51 +1.76 +1.99 +2.16 +2.23 +2.19 +2.04 +1.82 +1.58 +1.35 +1.12 +0.9 +0.71 +0.55 +0.45 +0.41 +0.41 +0.37 +0.25 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.36 +0.37 +0.42 +0.54 +0.71 +0.92 +1.14 +1.36 +1.61 +1.86 +2.09 +2.25 +2.3 +2.22 +2.04 +1.79 +1.54 +1.29 +1.07 +0.85 +0.65 +0.49 +0.39 +0.35 +0.36 +0.34 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.28 +0.39 +0.41 +0.4 +0.42 +0.5 +0.65 +0.85 +1.06 +1.28 +1.51 +1.76 +1.99 +2.16 +2.23 +2.19 +2.04 +1.82 +1.58 +1.35 +1.12 +0.9 +0.71 +0.55 +0.45 +0.41 +0.41 +0.37 +0.25 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.36 +0.37 +0.42 +0.54 +0.71 +0.92 +1.14 +1.36 +1.61 +1.86 +2.09 +2.25 +2.3 +2.22 +2.04 +1.79 +1.54 +1.29 +1.07 +0.85 +0.65 +0.51 +0.36 +0.27 +0.26 +0.3 +0.34 +0.33 +0.22 +0.05 +0.0 +0.0 +0.0 +0.02 +0.23 +0.4 +0.49 +0.48 +0.43 +0.39 +0.41 +0.51 +0.68 +0.89 +1.13 +1.39 +1.65 +1.9 +2.1 +2.2 +2.19 +2.07 +1.86 +1.62 +1.36 +1.11 +0.88 +0.69 +0.56 +0.5 +0.49 +0.49 +0.45 +0.33 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.28 +0.34 +0.35 +0.36 +0.43 +0.56 +0.75 +0.96 +1.2 +1.45 +1.73 +2.01 +2.27 +2.43 +2.45 +2.33 +2.08 +1.77 +1.46 +1.18 +0.93 +0.71 +0.51 +0.36 +0.27 +0.26 +0.3 +0.34 +0.33 +0.22 +0.05 +0.0 +0.0 +0.0 +0.02 +0.23 +0.4 +0.49 +0.48 +0.43 +0.39 +0.41 +0.51 +0.68 +0.89 +1.13 +1.39 +1.65 +1.9 +2.1 +2.2 +2.19 +2.07 +1.86 +1.62 +1.36 +1.11 +0.88 +0.69 +0.56 +0.5 +0.49 +0.49 +0.45 +0.33 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.28 +0.34 +0.35 +0.36 +0.43 +0.56 +0.75 +0.96 +1.2 +1.45 +1.73 +2.01 +2.27 +2.43 +2.45 +2.33 +2.08 +1.77 +1.46 +1.18 +0.93 +0.71 +0.51 +0.34 +0.2 +0.13 +0.15 +0.22 +0.32 +0.38 +0.36 +0.26 +0.13 +0.04 +0.05 +0.17 +0.34 +0.5 +0.58 +0.55 +0.45 +0.35 +0.29 +0.33 +0.47 +0.67 +0.93 +1.2 +1.48 +1.75 +1.96 +2.09 +2.12 +2.04 +1.85 +1.6 +1.32 +1.04 +0.81 +0.63 +0.55 +0.54 +0.58 +0.61 +0.57 +0.44 +0.24 +0.05 +0.0 +0.0 +0.04 +0.21 +0.36 +0.44 +0.45 +0.44 +0.46 +0.53 +0.68 +0.87 +1.08 +1.32 +1.59 +1.89 +2.2 +2.46 +2.61 +2.6 +2.4 +2.08 +1.69 +1.32 +0.99 +0.73 +0.52 +0.34 +0.2 +0.13 +0.15 +0.22 +0.32 +0.38 +0.36 +0.26 +0.13 +0.04 +0.05 +0.17 +0.34 +0.5 +0.58 +0.55 +0.45 +0.35 +0.29 +0.33 +0.47 +0.67 +0.93 +1.2 +1.48 +1.75 +1.96 +2.09 +2.12 +2.04 +1.85 +1.6 +1.32 +1.04 +0.81 +0.63 +0.55 +0.54 +0.58 +0.61 +0.57 +0.44 +0.24 +0.05 +0.0 +0.0 +0.04 +0.21 +0.36 +0.44 +0.45 +0.44 +0.46 +0.53 +0.68 +0.87 +1.08 +1.32 +1.59 +1.89 +2.2 +2.46 +2.61 +2.6 +2.4 +2.08 +1.69 +1.32 +0.99 +0.73 +0.52 +0.34 +0.18 +0.07 +0.02 +0.04 +0.13 +0.27 +0.38 +0.43 +0.38 +0.26 +0.16 +0.12 +0.19 +0.34 +0.5 +0.6 +0.58 +0.46 +0.3 +0.19 +0.17 +0.27 +0.47 +0.73 +1.0 +1.27 +1.52 +1.73 +1.88 +1.94 +1.9 +1.75 +1.51 +1.21 +0.92 +0.68 +0.54 +0.51 +0.57 +0.67 +0.72 +0.69 +0.55 +0.37 +0.22 +0.16 +0.23 +0.39 +0.56 +0.68 +0.71 +0.69 +0.67 +0.69 +0.78 +0.93 +1.11 +1.3 +1.5 +1.74 +2.03 +2.33 +2.58 +2.7 +2.63 +2.37 +1.97 +1.52 +1.1 +0.76 +0.51 +0.32 +0.18 +0.07 +0.02 +0.04 +0.13 +0.27 +0.38 +0.43 +0.38 +0.26 +0.16 +0.12 +0.19 +0.34 +0.5 +0.6 +0.58 +0.46 +0.3 +0.19 +0.17 +0.27 +0.47 +0.73 +1.0 +1.27 +1.52 +1.73 +1.88 +1.94 +1.9 +1.75 +1.51 +1.21 +0.92 +0.68 +0.54 +0.51 +0.57 +0.67 +0.72 +0.69 +0.55 +0.37 +0.22 +0.16 +0.23 +0.39 +0.56 +0.68 +0.71 +0.69 +0.67 +0.69 +0.78 +0.93 +1.11 +1.3 +1.5 +1.74 +2.03 +2.33 +2.58 +2.7 +2.63 +2.37 +1.97 +1.52 +1.1 +0.76 +0.51 +0.32 +0.18 +0.06 +0.0 +0.0 +0.0 +0.05 +0.18 +0.32 +0.41 +0.39 +0.28 +0.14 +0.05 +0.07 +0.2 +0.38 +0.52 +0.55 +0.45 +0.28 +0.13 +0.07 +0.15 +0.33 +0.58 +0.83 +1.07 +1.27 +1.46 +1.61 +1.7 +1.7 +1.59 +1.37 +1.07 +0.77 +0.53 +0.42 +0.45 +0.58 +0.74 +0.82 +0.79 +0.66 +0.48 +0.37 +0.37 +0.51 +0.73 +0.92 +1.03 +1.04 +1.0 +0.98 +1.02 +1.13 +1.28 +1.43 +1.57 +1.71 +1.89 +2.12 +2.37 +2.57 +2.63 +2.51 +2.19 +1.74 +1.25 +0.82 +0.5 +0.28 +0.15 +0.06 +0.0 +0.0 +0.0 +0.05 +0.18 +0.32 +0.41 +0.39 +0.28 +0.14 +0.05 +0.07 +0.2 +0.38 +0.52 +0.55 +0.45 +0.28 +0.13 +0.07 +0.15 +0.33 +0.58 +0.83 +1.07 +1.27 +1.46 +1.61 +1.7 +1.7 +1.59 +1.37 +1.07 +0.77 +0.53 +0.42 +0.45 +0.58 +0.74 +0.82 +0.79 +0.66 +0.48 +0.37 +0.37 +0.51 +0.73 +0.92 +1.03 +1.04 +1.0 +0.98 +1.02 +1.13 +1.28 +1.43 +1.57 +1.71 +1.89 +2.12 +2.37 +2.57 +2.63 +2.51 +2.19 +1.74 +1.25 +0.82 +0.5 +0.28 +0.15 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.25 +0.35 +0.35 +0.24 +0.07 +0.0 +0.0 +0.01 +0.22 +0.42 +0.51 +0.46 +0.3 +0.14 +0.06 +0.11 +0.28 +0.51 +0.73 +0.93 +1.09 +1.24 +1.37 +1.48 +1.52 +1.45 +1.26 +0.97 +0.67 +0.44 +0.35 +0.42 +0.59 +0.79 +0.9 +0.87 +0.73 +0.56 +0.47 +0.52 +0.72 +0.97 +1.19 +1.3 +1.31 +1.26 +1.24 +1.31 +1.45 +1.61 +1.74 +1.83 +1.89 +1.99 +2.13 +2.3 +2.42 +2.43 +2.25 +1.9 +1.43 +0.95 +0.53 +0.24 +0.08 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.25 +0.35 +0.35 +0.24 +0.07 +0.0 +0.0 +0.01 +0.22 +0.42 +0.51 +0.46 +0.3 +0.14 +0.06 +0.11 +0.28 +0.51 +0.73 +0.93 +1.09 +1.24 +1.37 +1.48 +1.52 +1.45 +1.26 +0.97 +0.67 +0.44 +0.35 +0.42 +0.59 +0.79 +0.9 +0.87 +0.73 +0.56 +0.47 +0.52 +0.72 +0.97 +1.19 +1.3 +1.31 +1.26 +1.24 +1.31 +1.45 +1.61 +1.74 +1.83 +1.89 +1.99 +2.13 +2.3 +2.42 +2.43 +2.25 +1.9 +1.43 +0.95 +0.53 +0.24 +0.08 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.21 +0.34 +0.37 +0.27 +0.08 +0.0 +0.0 +0.0 +0.12 +0.36 +0.51 +0.51 +0.38 +0.22 +0.13 +0.16 +0.31 +0.53 +0.73 +0.9 +1.02 +1.14 +1.27 +1.39 +1.46 +1.42 +1.26 +0.99 +0.68 +0.45 +0.35 +0.42 +0.61 +0.82 +0.94 +0.92 +0.78 +0.61 +0.52 +0.58 +0.8 +1.07 +1.31 +1.42 +1.42 +1.37 +1.36 +1.45 +1.62 +1.8 +1.94 +2.01 +2.02 +2.03 +2.07 +2.14 +2.19 +2.13 +1.94 +1.59 +1.14 +0.67 +0.28 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.21 +0.34 +0.37 +0.27 +0.08 +0.0 +0.0 +0.0 +0.12 +0.36 +0.51 +0.51 +0.38 +0.22 +0.13 +0.16 +0.31 +0.53 +0.73 +0.9 +1.02 +1.14 +1.27 +1.39 +1.46 +1.42 +1.26 +0.99 +0.68 +0.45 +0.35 +0.42 +0.61 +0.82 +0.94 +0.92 +0.78 +0.61 +0.52 +0.58 +0.8 +1.07 +1.31 +1.42 +1.42 +1.37 +1.36 +1.45 +1.62 +1.8 +1.94 +2.01 +2.02 +2.03 +2.07 +2.14 +2.19 +2.13 +1.94 +1.59 +1.14 +0.67 +0.28 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.27 +0.44 +0.52 +0.45 +0.26 +0.04 +0.0 +0.0 +0.16 +0.41 +0.6 +0.64 +0.53 +0.37 +0.26 +0.27 +0.41 +0.62 +0.82 +0.97 +1.08 +1.19 +1.3 +1.43 +1.51 +1.5 +1.36 +1.1 +0.8 +0.54 +0.41 +0.45 +0.61 +0.81 +0.94 +0.94 +0.8 +0.64 +0.54 +0.6 +0.8 +1.07 +1.3 +1.41 +1.41 +1.36 +1.36 +1.45 +1.65 +1.86 +2.03 +2.1 +2.08 +2.02 +1.97 +1.94 +1.92 +1.83 +1.63 +1.31 +0.9 +0.48 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.27 +0.44 +0.52 +0.45 +0.26 +0.04 +0.0 +0.0 +0.16 +0.41 +0.6 +0.64 +0.53 +0.37 +0.26 +0.27 +0.41 +0.62 +0.82 +0.97 +1.08 +1.19 +1.3 +1.43 +1.51 +1.5 +1.36 +1.1 +0.8 +0.54 +0.41 +0.45 +0.61 +0.81 +0.94 +0.94 +0.8 +0.64 +0.54 +0.6 +0.8 +1.07 +1.3 +1.41 +1.41 +1.36 +1.36 +1.45 +1.65 +1.86 +2.03 +2.1 +2.08 +2.02 +1.97 +1.94 +1.92 +1.83 +1.63 +1.31 +0.9 +0.48 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.06 +0.19 +0.4 +0.63 +0.78 +0.76 +0.59 +0.35 +0.18 +0.17 +0.34 +0.58 +0.77 +0.82 +0.72 +0.55 +0.42 +0.42 +0.53 +0.73 +0.93 +1.08 +1.2 +1.3 +1.4 +1.52 +1.6 +1.59 +1.47 +1.24 +0.94 +0.66 +0.49 +0.47 +0.59 +0.76 +0.9 +0.92 +0.83 +0.68 +0.59 +0.64 +0.83 +1.09 +1.33 +1.46 +1.46 +1.41 +1.39 +1.47 +1.66 +1.89 +2.08 +2.15 +2.12 +2.0 +1.87 +1.76 +1.66 +1.55 +1.38 +1.12 +0.77 +0.38 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.06 +0.19 +0.4 +0.63 +0.78 +0.76 +0.59 +0.35 +0.18 +0.17 +0.34 +0.58 +0.77 +0.82 +0.72 +0.55 +0.42 +0.42 +0.53 +0.73 +0.93 +1.08 +1.2 +1.3 +1.4 +1.52 +1.6 +1.59 +1.47 +1.24 +0.94 +0.66 +0.49 +0.47 +0.59 +0.76 +0.9 +0.92 +0.83 +0.68 +0.59 +0.64 +0.83 +1.09 +1.33 +1.46 +1.46 +1.41 +1.39 +1.47 +1.66 +1.89 +2.08 +2.15 +2.12 +2.0 +1.87 +1.76 +1.66 +1.55 +1.38 +1.12 +0.77 +0.38 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.1 +0.15 +0.21 +0.35 +0.58 +0.86 +1.06 +1.1 +0.96 +0.72 +0.52 +0.46 +0.57 +0.79 +0.97 +1.02 +0.92 +0.74 +0.59 +0.54 +0.63 +0.8 +0.99 +1.14 +1.25 +1.34 +1.43 +1.52 +1.58 +1.58 +1.48 +1.28 +1.01 +0.74 +0.54 +0.47 +0.53 +0.68 +0.83 +0.9 +0.88 +0.8 +0.75 +0.81 +1.01 +1.3 +1.57 +1.75 +1.79 +1.74 +1.69 +1.73 +1.86 +2.06 +2.23 +2.29 +2.22 +2.04 +1.82 +1.62 +1.46 +1.33 +1.2 +1.0 +0.71 +0.36 +0.02 +0.0 +0.0 +0.0 +0.0 +0.01 +0.1 +0.15 +0.21 +0.35 +0.58 +0.86 +1.06 +1.1 +0.96 +0.72 +0.52 +0.46 +0.57 +0.79 +0.97 +1.02 +0.92 +0.74 +0.59 +0.54 +0.63 +0.8 +0.99 +1.14 +1.25 +1.34 +1.43 +1.52 +1.58 +1.58 +1.48 +1.28 +1.01 +0.74 +0.54 +0.47 +0.53 +0.68 +0.83 +0.9 +0.88 +0.8 +0.75 +0.81 +1.01 +1.3 +1.57 +1.75 +1.79 +1.74 +1.69 +1.73 +1.86 +2.06 +2.23 +2.29 +2.22 +2.04 +1.82 +1.62 +1.46 +1.33 +1.2 +1.0 +0.71 +0.36 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.29 +0.34 +0.39 +0.51 +0.74 +1.03 +1.27 +1.36 +1.25 +1.02 +0.79 +0.69 +0.76 +0.94 +1.1 +1.15 +1.06 +0.87 +0.69 +0.61 +0.65 +0.78 +0.93 +1.06 +1.16 +1.22 +1.28 +1.33 +1.37 +1.37 +1.32 +1.18 +0.98 +0.76 +0.57 +0.47 +0.49 +0.61 +0.79 +0.93 +1.01 +1.02 +1.05 +1.16 +1.41 +1.76 +2.13 +2.41 +2.53 +2.5 +2.42 +2.36 +2.39 +2.49 +2.58 +2.58 +2.45 +2.19 +1.86 +1.56 +1.33 +1.19 +1.09 +0.94 +0.72 +0.41 +0.08 +0.0 +0.0 +0.0 +0.0 +0.17 +0.29 +0.34 +0.39 +0.51 +0.74 +1.03 +1.27 +1.36 +1.25 +1.02 +0.79 +0.69 +0.76 +0.94 +1.1 +1.15 +1.06 +0.87 +0.69 +0.61 +0.65 +0.78 +0.93 +1.06 +1.16 +1.22 +1.28 +1.33 +1.37 +1.37 +1.32 +1.18 +0.98 +0.76 +0.57 +0.47 +0.49 +0.61 +0.79 +0.93 +1.01 +1.02 +1.05 +1.16 +1.41 +1.76 +2.13 +2.41 +2.53 +2.5 +2.42 +2.36 +2.39 +2.49 +2.58 +2.58 +2.45 +2.19 +1.86 +1.56 +1.33 +1.19 +1.09 +0.94 +0.72 +0.41 +0.08 +0.0 +0.0 +0.0 +0.0 +0.17 +0.39 +0.53 +0.57 +0.57 +0.64 +0.82 +1.09 +1.34 +1.45 +1.37 +1.15 +0.91 +0.78 +0.81 +0.96 +1.11 +1.17 +1.09 +0.91 +0.72 +0.6 +0.58 +0.64 +0.75 +0.84 +0.9 +0.93 +0.95 +0.97 +0.99 +1.01 +1.01 +0.97 +0.88 +0.75 +0.61 +0.51 +0.51 +0.62 +0.82 +1.04 +1.22 +1.35 +1.47 +1.66 +1.99 +2.44 +2.93 +3.35 +3.58 +3.61 +3.5 +3.34 +3.22 +3.17 +3.13 +3.03 +2.79 +2.43 +2.0 +1.6 +1.31 +1.15 +1.07 +0.97 +0.79 +0.51 +0.19 +0.0 +0.0 +0.0 +0.17 +0.39 +0.53 +0.57 +0.57 +0.64 +0.82 +1.09 +1.34 +1.45 +1.37 +1.15 +0.91 +0.78 +0.81 +0.96 +1.11 +1.17 +1.09 +0.91 +0.72 +0.6 +0.58 +0.64 +0.75 +0.84 +0.9 +0.93 +0.95 +0.97 +0.99 +1.01 +1.01 +0.97 +0.88 +0.75 +0.61 +0.51 +0.51 +0.62 +0.82 +1.04 +1.22 +1.35 +1.47 +1.66 +1.99 +2.44 +2.93 +3.35 +3.58 +3.61 +3.5 +3.34 +3.22 +3.17 +3.13 +3.03 +2.79 +2.43 +2.0 +1.6 +1.31 +1.15 +1.07 +0.97 +0.79 +0.51 +0.19 +0.0 +0.0 +0.0 +0.17 +0.39 +0.63 +0.76 +0.77 +0.72 +0.71 +0.83 +1.05 +1.28 +1.4 +1.34 +1.12 +0.87 +0.72 +0.72 +0.84 +1.0 +1.07 +1.02 +0.85 +0.65 +0.5 +0.43 +0.43 +0.48 +0.53 +0.56 +0.57 +0.57 +0.57 +0.58 +0.62 +0.69 +0.76 +0.8 +0.79 +0.72 +0.65 +0.64 +0.74 +0.95 +1.23 +1.5 +1.72 +1.93 +2.19 +2.58 +3.12 +3.74 +4.31 +4.68 +4.78 +4.66 +4.4 +4.14 +3.92 +3.73 +3.5 +3.17 +2.72 +2.21 +1.74 +1.4 +1.22 +1.15 +1.09 +0.94 +0.68 +0.36 +0.12 +0.04 +0.15 +0.39 +0.63 +0.76 +0.77 +0.72 +0.71 +0.83 +1.05 +1.28 +1.4 +1.34 +1.12 +0.87 +0.72 +0.72 +0.84 +1.0 +1.07 +1.02 +0.85 +0.65 +0.5 +0.43 +0.43 +0.48 +0.53 +0.56 +0.57 +0.57 +0.57 +0.58 +0.62 +0.69 +0.76 +0.8 +0.79 +0.72 +0.65 +0.64 +0.74 +0.95 +1.23 +1.5 +1.72 +1.93 +2.19 +2.58 +3.12 +3.74 +4.31 +4.68 +4.78 +4.66 +4.4 +4.14 +3.92 +3.73 +3.5 +3.17 +2.72 +2.21 +1.74 +1.4 +1.22 +1.15 +1.09 +0.94 +0.68 +0.36 +0.12 +0.04 +0.15 +0.39 +0.58 +0.81 +0.94 +0.91 +0.8 +0.73 +0.78 +0.96 +1.17 +1.29 +1.23 +1.03 +0.76 +0.58 +0.55 +0.65 +0.81 +0.9 +0.88 +0.74 +0.54 +0.37 +0.25 +0.21 +0.22 +0.25 +0.28 +0.29 +0.29 +0.28 +0.31 +0.38 +0.51 +0.68 +0.83 +0.92 +0.92 +0.87 +0.85 +0.92 +1.13 +1.42 +1.74 +2.02 +2.27 +2.55 +2.97 +3.56 +4.27 +4.95 +5.44 +5.62 +5.51 +5.19 +4.81 +4.46 +4.15 +3.84 +3.45 +2.96 +2.41 +1.92 +1.57 +1.39 +1.34 +1.31 +1.18 +0.92 +0.6 +0.34 +0.24 +0.34 +0.58 +0.81 +0.94 +0.91 +0.8 +0.73 +0.78 +0.96 +1.17 +1.29 +1.23 +1.03 +0.76 +0.58 +0.55 +0.65 +0.81 +0.9 +0.88 +0.74 +0.54 +0.37 +0.25 +0.21 +0.22 +0.25 +0.28 +0.29 +0.29 +0.28 +0.31 +0.38 +0.51 +0.68 +0.83 +0.92 +0.92 +0.87 +0.85 +0.92 +1.13 +1.42 +1.74 +2.02 +2.27 +2.55 +2.97 +3.56 +4.27 +4.95 +5.44 +5.62 +5.51 +5.19 +4.81 +4.46 +4.15 +3.84 +3.45 +2.96 +2.41 +1.92 +1.57 +1.39 +1.34 +1.31 +1.18 +0.92 +0.6 +0.34 +0.24 +0.34 +0.58 +0.72 +0.93 +1.03 +0.98 +0.84 +0.73 +0.74 +0.89 +1.09 +1.22 +1.17 +0.96 +0.68 +0.47 +0.4 +0.48 +0.63 +0.74 +0.75 +0.64 +0.45 +0.27 +0.14 +0.08 +0.09 +0.13 +0.18 +0.21 +0.23 +0.24 +0.28 +0.37 +0.54 +0.76 +0.97 +1.11 +1.15 +1.11 +1.06 +1.09 +1.26 +1.54 +1.86 +2.14 +2.37 +2.62 +3.0 +3.56 +4.28 +5.01 +5.57 +5.82 +5.74 +5.41 +4.97 +4.56 +4.2 +3.87 +3.49 +3.02 +2.51 +2.05 +1.73 +1.6 +1.58 +1.58 +1.47 +1.22 +0.89 +0.59 +0.46 +0.52 +0.72 +0.93 +1.03 +0.98 +0.84 +0.73 +0.74 +0.89 +1.09 +1.22 +1.17 +0.96 +0.68 +0.47 +0.4 +0.48 +0.63 +0.74 +0.75 +0.64 +0.45 +0.27 +0.14 +0.08 +0.09 +0.13 +0.18 +0.21 +0.23 +0.24 +0.28 +0.37 +0.54 +0.76 +0.97 +1.11 +1.15 +1.11 +1.06 +1.09 +1.26 +1.54 +1.86 +2.14 +2.37 +2.62 +3.0 +3.56 +4.28 +5.01 +5.57 +5.82 +5.74 +5.41 +4.97 +4.56 +4.2 +3.87 +3.49 +3.02 +2.51 +2.05 +1.73 +1.6 +1.58 +1.58 +1.47 +1.22 +0.89 +0.59 +0.46 +0.52 +0.72 +0.83 +1.0 +1.08 +1.02 +0.88 +0.77 +0.78 +0.93 +1.14 +1.27 +1.24 +1.02 +0.71 +0.45 +0.34 +0.38 +0.53 +0.66 +0.69 +0.61 +0.44 +0.26 +0.13 +0.09 +0.13 +0.2 +0.29 +0.36 +0.4 +0.42 +0.46 +0.55 +0.72 +0.93 +1.14 +1.28 +1.31 +1.24 +1.16 +1.15 +1.27 +1.51 +1.78 +2.01 +2.18 +2.34 +2.62 +3.09 +3.74 +4.45 +5.03 +5.31 +5.26 +4.96 +4.53 +4.13 +3.81 +3.53 +3.22 +2.85 +2.43 +2.05 +1.81 +1.74 +1.78 +1.83 +1.76 +1.54 +1.2 +0.87 +0.68 +0.68 +0.83 +1.0 +1.08 +1.02 +0.88 +0.77 +0.78 +0.93 +1.14 +1.27 +1.24 +1.02 +0.71 +0.45 +0.34 +0.38 +0.53 +0.66 +0.69 +0.61 +0.44 +0.26 +0.13 +0.09 +0.13 +0.2 +0.29 +0.36 +0.4 +0.42 +0.46 +0.55 +0.72 +0.93 +1.14 +1.28 +1.31 +1.24 +1.16 +1.15 +1.27 +1.51 +1.78 +2.01 +2.18 +2.34 +2.62 +3.09 +3.74 +4.45 +5.03 +5.31 +5.26 +4.96 +4.53 +4.13 +3.81 +3.53 +3.22 +2.85 +2.43 +2.05 +1.81 +1.74 +1.78 +1.83 +1.76 +1.54 +1.2 +0.87 +0.68 +0.68 +0.83 +0.95 +1.08 +1.15 +1.11 +0.99 +0.9 +0.93 +1.1 +1.33 +1.48 +1.45 +1.22 +0.88 +0.57 +0.4 +0.41 +0.54 +0.69 +0.74 +0.67 +0.52 +0.36 +0.25 +0.24 +0.32 +0.43 +0.55 +0.64 +0.68 +0.7 +0.72 +0.79 +0.92 +1.08 +1.24 +1.32 +1.3 +1.19 +1.08 +1.04 +1.12 +1.31 +1.53 +1.68 +1.75 +1.8 +1.95 +2.29 +2.82 +3.44 +3.97 +4.26 +4.24 +3.98 +3.62 +3.28 +3.04 +2.87 +2.69 +2.44 +2.14 +1.87 +1.72 +1.72 +1.83 +1.95 +1.95 +1.78 +1.47 +1.13 +0.91 +0.85 +0.95 +1.08 +1.15 +1.11 +0.99 +0.9 +0.93 +1.1 +1.33 +1.48 +1.45 +1.22 +0.88 +0.57 +0.4 +0.41 +0.54 +0.69 +0.74 +0.67 +0.52 +0.36 +0.25 +0.24 +0.32 +0.43 +0.55 +0.64 +0.68 +0.7 +0.72 +0.79 +0.92 +1.08 +1.24 +1.32 +1.3 +1.19 +1.08 +1.04 +1.12 +1.31 +1.53 +1.68 +1.75 +1.8 +1.95 +2.29 +2.82 +3.44 +3.97 +4.26 +4.24 +3.98 +3.62 +3.28 +3.04 +2.87 +2.69 +2.44 +2.14 +1.87 +1.72 +1.72 +1.83 +1.95 +1.95 +1.78 +1.47 +1.13 +0.91 +0.85 +0.95 +1.1 +1.23 +1.3 +1.29 +1.22 +1.18 +1.24 +1.44 +1.68 +1.84 +1.82 +1.57 +1.19 +0.83 +0.6 +0.57 +0.67 +0.81 +0.87 +0.81 +0.67 +0.53 +0.45 +0.47 +0.58 +0.71 +0.83 +0.9 +0.91 +0.9 +0.9 +0.93 +1.0 +1.09 +1.16 +1.17 +1.09 +0.96 +0.84 +0.8 +0.87 +1.02 +1.18 +1.26 +1.24 +1.18 +1.2 +1.4 +1.8 +2.3 +2.75 +3.0 +2.99 +2.78 +2.48 +2.24 +2.1 +2.05 +2.0 +1.88 +1.7 +1.52 +1.44 +1.51 +1.69 +1.88 +1.97 +1.88 +1.63 +1.34 +1.11 +1.04 +1.1 +1.23 +1.3 +1.29 +1.22 +1.18 +1.24 +1.44 +1.68 +1.84 +1.82 +1.57 +1.19 +0.83 +0.6 +0.57 +0.67 +0.81 +0.87 +0.81 +0.67 +0.53 +0.45 +0.47 +0.58 +0.71 +0.83 +0.9 +0.91 +0.9 +0.9 +0.93 +1.0 +1.09 +1.16 +1.17 +1.09 +0.96 +0.84 +0.8 +0.87 +1.02 +1.18 +1.26 +1.24 +1.18 +1.2 +1.4 +1.8 +2.3 +2.75 +3.0 +2.99 +2.78 +2.48 +2.24 +2.1 +2.05 +2.0 +1.88 +1.7 +1.52 +1.44 +1.51 +1.69 +1.88 +1.97 +1.88 +1.63 +1.34 +1.11 +1.04 +1.1 +1.29 +1.43 +1.55 +1.59 +1.58 +1.59 +1.69 +1.9 +2.16 +2.32 +2.29 +2.04 +1.63 +1.21 +0.92 +0.83 +0.89 +0.99 +1.03 +0.97 +0.83 +0.7 +0.65 +0.7 +0.81 +0.94 +1.02 +1.03 +0.98 +0.92 +0.88 +0.87 +0.9 +0.93 +0.93 +0.87 +0.76 +0.63 +0.54 +0.53 +0.61 +0.75 +0.86 +0.89 +0.8 +0.67 +0.59 +0.68 +0.94 +1.33 +1.68 +1.87 +1.85 +1.67 +1.43 +1.26 +1.21 +1.26 +1.31 +1.29 +1.2 +1.08 +1.04 +1.14 +1.36 +1.61 +1.78 +1.79 +1.65 +1.43 +1.26 +1.21 +1.29 +1.43 +1.55 +1.59 +1.58 +1.59 +1.69 +1.9 +2.16 +2.32 +2.29 +2.04 +1.63 +1.21 +0.92 +0.83 +0.89 +0.99 +1.03 +0.97 +0.83 +0.7 +0.65 +0.7 +0.81 +0.94 +1.02 +1.03 +0.98 +0.92 +0.88 +0.87 +0.9 +0.93 +0.93 +0.87 +0.76 +0.63 +0.54 +0.53 +0.61 +0.75 +0.86 +0.89 +0.8 +0.67 +0.59 +0.68 +0.94 +1.33 +1.68 +1.87 +1.85 +1.67 +1.43 +1.26 +1.21 +1.26 +1.31 +1.29 +1.2 +1.08 +1.04 +1.14 +1.36 +1.61 +1.78 +1.79 +1.65 +1.43 +1.26 +1.21 +1.29 +1.43 +1.63 +1.82 +1.94 +2.01 +2.08 +2.22 +2.45 +2.7 +2.88 +2.85 +2.6 +2.18 +1.72 +1.37 +1.2 +1.18 +1.21 +1.2 +1.11 +0.96 +0.84 +0.8 +0.85 +0.97 +1.06 +1.07 +1.0 +0.88 +0.76 +0.68 +0.65 +0.66 +0.66 +0.62 +0.54 +0.43 +0.33 +0.29 +0.33 +0.45 +0.58 +0.67 +0.66 +0.54 +0.37 +0.24 +0.25 +0.42 +0.69 +0.95 +1.08 +1.04 +0.86 +0.65 +0.53 +0.53 +0.64 +0.76 +0.8 +0.75 +0.66 +0.62 +0.7 +0.92 +1.19 +1.43 +1.53 +1.5 +1.38 +1.29 +1.3 +1.43 +1.63 +1.82 +1.94 +2.01 +2.08 +2.22 +2.45 +2.7 +2.88 +2.85 +2.6 +2.18 +1.72 +1.37 +1.2 +1.18 +1.21 +1.2 +1.11 +0.96 +0.84 +0.8 +0.85 +0.97 +1.06 +1.07 +1.0 +0.88 +0.76 +0.68 +0.65 +0.66 +0.66 +0.62 +0.54 +0.43 +0.33 +0.29 +0.33 +0.45 +0.58 +0.67 +0.66 +0.54 +0.37 +0.24 +0.25 +0.42 +0.69 +0.95 +1.08 +1.04 +0.86 +0.65 +0.53 +0.53 +0.64 +0.76 +0.8 +0.75 +0.66 +0.62 +0.7 +0.92 +1.19 +1.43 +1.53 +1.5 +1.38 +1.29 +1.3 +1.43 +1.45 +1.73 +2.01 +2.24 +2.4 +2.54 +2.73 +2.98 +3.25 +3.44 +3.44 +3.22 +2.81 +2.34 +1.93 +1.68 +1.55 +1.48 +1.39 +1.24 +1.06 +0.92 +0.88 +0.94 +1.03 +1.08 +1.03 +0.88 +0.69 +0.53 +0.43 +0.39 +0.4 +0.39 +0.35 +0.28 +0.21 +0.16 +0.18 +0.27 +0.4 +0.53 +0.61 +0.59 +0.46 +0.29 +0.15 +0.11 +0.21 +0.39 +0.57 +0.65 +0.58 +0.4 +0.21 +0.09 +0.12 +0.24 +0.39 +0.47 +0.44 +0.34 +0.27 +0.3 +0.47 +0.72 +0.98 +1.14 +1.19 +1.17 +1.17 +1.25 +1.45 +1.73 +2.01 +2.24 +2.4 +2.54 +2.73 +2.98 +3.25 +3.44 +3.44 +3.22 +2.81 +2.34 +1.93 +1.68 +1.55 +1.48 +1.39 +1.24 +1.06 +0.92 +0.88 +0.94 +1.03 +1.08 +1.03 +0.88 +0.69 +0.53 +0.43 +0.39 +0.4 +0.39 +0.35 +0.28 +0.21 +0.16 +0.18 +0.27 +0.4 +0.53 +0.61 +0.59 +0.46 +0.29 +0.15 +0.11 +0.21 +0.39 +0.57 +0.65 +0.58 +0.4 +0.21 +0.09 +0.12 +0.24 +0.39 +0.47 +0.44 +0.34 +0.27 +0.3 +0.47 +0.72 +0.98 +1.14 +1.19 +1.17 +1.17 +1.25 +1.45 +1.31 +1.66 +2.03 +2.36 +2.63 +2.86 +3.11 +3.4 +3.7 +3.92 +3.97 +3.81 +3.46 +3.01 +2.58 +2.25 +2.01 +1.83 +1.63 +1.4 +1.17 +1.01 +0.96 +1.0 +1.06 +1.07 +0.98 +0.78 +0.55 +0.36 +0.25 +0.22 +0.23 +0.24 +0.22 +0.18 +0.14 +0.14 +0.19 +0.3 +0.43 +0.54 +0.61 +0.59 +0.48 +0.33 +0.19 +0.13 +0.17 +0.29 +0.42 +0.47 +0.39 +0.22 +0.03 +0.0 +0.0 +0.04 +0.18 +0.27 +0.25 +0.14 +0.03 +0.0 +0.09 +0.29 +0.52 +0.7 +0.79 +0.83 +0.89 +1.04 +1.31 +1.66 +2.03 +2.36 +2.63 +2.86 +3.11 +3.4 +3.7 +3.92 +3.97 +3.81 +3.46 +3.01 +2.58 +2.25 +2.01 +1.83 +1.63 +1.4 +1.17 +1.01 +0.96 +1.0 +1.06 +1.07 +0.98 +0.78 +0.55 +0.36 +0.25 +0.22 +0.23 +0.24 +0.22 +0.18 +0.14 +0.14 +0.19 +0.3 +0.43 +0.54 +0.61 +0.59 +0.48 +0.33 +0.19 +0.13 +0.17 +0.29 +0.42 +0.47 +0.39 +0.22 +0.03 +0.0 +0.0 +0.04 +0.18 +0.27 +0.25 +0.14 +0.03 +0.0 +0.09 +0.29 +0.52 +0.7 +0.79 +0.83 +0.89 +1.04 +1.31 +1.0 +1.41 +1.86 +2.28 +2.64 +2.96 +3.27 +3.6 +3.94 +4.21 +4.34 +4.27 +4.01 +3.64 +3.23 +2.86 +2.54 +2.25 +1.95 +1.65 +1.37 +1.17 +1.08 +1.09 +1.12 +1.1 +0.99 +0.78 +0.55 +0.36 +0.25 +0.22 +0.23 +0.25 +0.24 +0.22 +0.2 +0.22 +0.27 +0.35 +0.44 +0.52 +0.56 +0.55 +0.48 +0.36 +0.23 +0.14 +0.14 +0.22 +0.32 +0.37 +0.32 +0.17 +0.0 +0.0 +0.0 +0.0 +0.06 +0.16 +0.14 +0.03 +0.0 +0.0 +0.0 +0.0 +0.12 +0.27 +0.37 +0.43 +0.51 +0.7 +1.0 +1.41 +1.86 +2.28 +2.64 +2.96 +3.27 +3.6 +3.94 +4.21 +4.34 +4.27 +4.01 +3.64 +3.23 +2.86 +2.54 +2.25 +1.95 +1.65 +1.37 +1.17 +1.08 +1.09 +1.12 +1.1 +0.99 +0.78 +0.55 +0.36 +0.25 +0.22 +0.23 +0.25 +0.24 +0.22 +0.2 +0.22 +0.27 +0.35 +0.44 +0.52 +0.56 +0.55 +0.48 +0.36 +0.23 +0.14 +0.14 +0.22 +0.32 +0.37 +0.32 +0.17 +0.0 +0.0 +0.0 +0.0 +0.06 +0.16 +0.14 +0.03 +0.0 +0.0 +0.0 +0.0 +0.12 +0.27 +0.37 +0.43 +0.51 +0.7 +1.0 +0.64 +1.07 +1.55 +2.02 +2.45 +2.82 +3.18 +3.54 +3.91 +4.22 +4.43 +4.47 +4.35 +4.1 +3.77 +3.42 +3.07 +2.73 +2.36 +2.0 +1.67 +1.43 +1.29 +1.25 +1.24 +1.19 +1.08 +0.89 +0.69 +0.52 +0.42 +0.38 +0.38 +0.37 +0.36 +0.34 +0.32 +0.32 +0.32 +0.34 +0.37 +0.4 +0.42 +0.42 +0.38 +0.29 +0.17 +0.07 +0.03 +0.08 +0.18 +0.26 +0.25 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.14 +0.33 +0.64 +1.07 +1.55 +2.02 +2.45 +2.82 +3.18 +3.54 +3.91 +4.22 +4.43 +4.47 +4.35 +4.1 +3.77 +3.42 +3.07 +2.73 +2.36 +2.0 +1.67 +1.43 +1.29 +1.25 +1.24 +1.19 +1.08 +0.89 +0.69 +0.52 +0.42 +0.38 +0.38 +0.37 +0.36 +0.34 +0.32 +0.32 +0.32 +0.34 +0.37 +0.4 +0.42 +0.42 +0.38 +0.29 +0.17 +0.07 +0.03 +0.08 +0.18 +0.26 +0.25 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.14 +0.33 +0.64 +0.36 +0.77 +1.24 +1.71 +2.14 +2.52 +2.88 +3.24 +3.6 +3.94 +4.21 +4.36 +4.38 +4.28 +4.08 +3.82 +3.52 +3.17 +2.8 +2.42 +2.06 +1.77 +1.58 +1.47 +1.4 +1.33 +1.22 +1.07 +0.91 +0.78 +0.69 +0.63 +0.6 +0.56 +0.51 +0.46 +0.41 +0.37 +0.32 +0.28 +0.23 +0.21 +0.21 +0.22 +0.2 +0.13 +0.01 +0.0 +0.0 +0.0 +0.0 +0.1 +0.16 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.36 +0.77 +1.24 +1.71 +2.14 +2.52 +2.88 +3.24 +3.6 +3.94 +4.21 +4.36 +4.38 +4.28 +4.08 +3.82 +3.52 +3.17 +2.8 +2.42 +2.06 +1.77 +1.58 +1.47 +1.4 +1.33 +1.22 +1.07 +0.91 +0.78 +0.69 +0.63 +0.6 +0.56 +0.51 +0.46 +0.41 +0.37 +0.32 +0.28 +0.23 +0.21 +0.21 +0.22 +0.2 +0.13 +0.01 +0.0 +0.0 +0.0 +0.0 +0.1 +0.16 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.36 +0.28 +0.64 +1.06 +1.47 +1.84 +2.17 +2.48 +2.78 +3.1 +3.42 +3.71 +3.94 +4.1 +4.15 +4.11 +3.98 +3.77 +3.5 +3.18 +2.82 +2.47 +2.15 +1.9 +1.72 +1.59 +1.48 +1.37 +1.26 +1.15 +1.05 +0.98 +0.91 +0.83 +0.73 +0.63 +0.53 +0.44 +0.36 +0.27 +0.18 +0.09 +0.03 +0.02 +0.02 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.28 +0.64 +1.06 +1.47 +1.84 +2.17 +2.48 +2.78 +3.1 +3.42 +3.71 +3.94 +4.1 +4.15 +4.11 +3.98 +3.77 +3.5 +3.18 +2.82 +2.47 +2.15 +1.9 +1.72 +1.59 +1.48 +1.37 +1.26 +1.15 +1.05 +0.98 +0.91 +0.83 +0.73 +0.63 +0.53 +0.44 +0.36 +0.27 +0.18 +0.09 +0.03 +0.02 +0.02 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.28 +0.43 +0.75 +1.08 +1.39 +1.65 +1.88 +2.08 +2.29 +2.52 +2.78 +3.06 +3.33 +3.57 +3.75 +3.86 +3.87 +3.8 +3.64 +3.41 +3.12 +2.8 +2.48 +2.19 +1.95 +1.77 +1.62 +1.51 +1.42 +1.36 +1.3 +1.24 +1.15 +1.02 +0.87 +0.7 +0.54 +0.42 +0.31 +0.21 +0.1 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.12 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.43 +0.75 +1.08 +1.39 +1.65 +1.88 +2.08 +2.29 +2.52 +2.78 +3.06 +3.33 +3.57 +3.75 +3.86 +3.87 +3.8 +3.64 +3.41 +3.12 +2.8 +2.48 +2.19 +1.95 +1.77 +1.62 +1.51 +1.42 +1.36 +1.3 +1.24 +1.15 +1.02 +0.87 +0.7 +0.54 +0.42 +0.31 +0.21 +0.1 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.12 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.43 +0.76 +1.04 +1.28 +1.47 +1.6 +1.69 +1.76 +1.85 +1.98 +2.16 +2.4 +2.66 +2.94 +3.2 +3.41 +3.54 +3.59 +3.55 +3.43 +3.24 +2.99 +2.7 +2.41 +2.14 +1.92 +1.76 +1.65 +1.59 +1.55 +1.53 +1.47 +1.37 +1.2 +0.98 +0.74 +0.53 +0.36 +0.24 +0.15 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.22 +0.25 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.14 +0.29 +0.5 +0.76 +1.04 +1.28 +1.47 +1.6 +1.69 +1.76 +1.85 +1.98 +2.16 +2.4 +2.66 +2.94 +3.2 +3.41 +3.54 +3.59 +3.55 +3.43 +3.24 +2.99 +2.7 +2.41 +2.14 +1.92 +1.76 +1.65 +1.59 +1.55 +1.53 +1.47 +1.37 +1.2 +0.98 +0.74 +0.53 +0.36 +0.24 +0.15 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.22 +0.25 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.14 +0.29 +0.5 +0.76 +1.16 +1.4 +1.57 +1.65 +1.65 +1.61 +1.55 +1.53 +1.56 +1.67 +1.85 +2.08 +2.35 +2.62 +2.86 +3.05 +3.19 +3.25 +3.25 +3.16 +3.0 +2.78 +2.52 +2.26 +2.05 +1.89 +1.81 +1.77 +1.77 +1.76 +1.71 +1.58 +1.37 +1.1 +0.8 +0.53 +0.33 +0.2 +0.12 +0.07 +0.04 +0.03 +0.03 +0.06 +0.08 +0.06 +0.01 +0.0 +0.0 +0.0 +0.14 +0.32 +0.45 +0.45 +0.34 +0.15 +0.0 +0.0 +0.0 +0.0 +0.09 +0.13 +0.13 +0.12 +0.13 +0.16 +0.21 +0.28 +0.36 +0.49 +0.67 +0.9 +1.16 +1.4 +1.57 +1.65 +1.65 +1.61 +1.55 +1.53 +1.56 +1.67 +1.85 +2.08 +2.35 +2.62 +2.86 +3.05 +3.19 +3.25 +3.25 +3.16 +3.0 +2.78 +2.52 +2.26 +2.05 +1.89 +1.81 +1.77 +1.77 +1.76 +1.71 +1.58 +1.37 +1.1 +0.8 +0.53 +0.33 +0.2 +0.12 +0.07 +0.04 +0.03 +0.03 +0.06 +0.08 +0.06 +0.01 +0.0 +0.0 +0.0 +0.14 +0.32 +0.45 +0.45 +0.34 +0.15 +0.0 +0.0 +0.0 +0.0 +0.09 +0.13 +0.13 +0.12 +0.13 +0.16 +0.21 +0.28 +0.36 +0.49 +0.67 +0.9 +1.16 +1.49 +1.7 +1.81 +1.81 +1.71 +1.56 +1.4 +1.29 +1.26 +1.31 +1.45 +1.65 +1.87 +2.1 +2.3 +2.48 +2.64 +2.78 +2.87 +2.89 +2.83 +2.69 +2.49 +2.29 +2.12 +2.01 +1.98 +1.99 +2.02 +2.02 +1.95 +1.81 +1.57 +1.27 +0.93 +0.63 +0.38 +0.22 +0.12 +0.07 +0.05 +0.05 +0.08 +0.13 +0.17 +0.18 +0.17 +0.15 +0.18 +0.27 +0.43 +0.59 +0.69 +0.66 +0.52 +0.32 +0.17 +0.11 +0.16 +0.26 +0.35 +0.39 +0.38 +0.36 +0.36 +0.4 +0.47 +0.56 +0.66 +0.81 +1.0 +1.24 +1.49 +1.7 +1.81 +1.81 +1.71 +1.56 +1.4 +1.29 +1.26 +1.31 +1.45 +1.65 +1.87 +2.1 +2.3 +2.48 +2.64 +2.78 +2.87 +2.89 +2.83 +2.69 +2.49 +2.29 +2.12 +2.01 +1.98 +1.99 +2.02 +2.02 +1.95 +1.81 +1.57 +1.27 +0.93 +0.63 +0.38 +0.22 +0.12 +0.07 +0.05 +0.05 +0.08 +0.13 +0.17 +0.18 +0.17 +0.15 +0.18 +0.27 +0.43 +0.59 +0.69 +0.66 +0.52 +0.32 +0.17 +0.11 +0.16 +0.26 +0.35 +0.39 +0.38 +0.36 +0.36 +0.4 +0.47 +0.56 +0.66 +0.81 +1.0 +1.24 +1.49 +1.65 +1.83 +1.91 +1.86 +1.7 +1.47 +1.24 +1.08 +1.01 +1.05 +1.18 +1.34 +1.51 +1.65 +1.77 +1.88 +2.01 +2.17 +2.33 +2.46 +2.5 +2.44 +2.31 +2.17 +2.07 +2.05 +2.09 +2.17 +2.23 +2.23 +2.16 +2.0 +1.77 +1.48 +1.15 +0.84 +0.56 +0.34 +0.17 +0.06 +0.0 +0.0 +0.02 +0.09 +0.16 +0.2 +0.23 +0.25 +0.32 +0.44 +0.61 +0.77 +0.84 +0.77 +0.6 +0.41 +0.28 +0.26 +0.36 +0.49 +0.59 +0.61 +0.57 +0.51 +0.5 +0.55 +0.64 +0.76 +0.88 +1.03 +1.21 +1.43 +1.65 +1.83 +1.91 +1.86 +1.7 +1.47 +1.24 +1.08 +1.01 +1.05 +1.18 +1.34 +1.51 +1.65 +1.77 +1.88 +2.01 +2.17 +2.33 +2.46 +2.5 +2.44 +2.31 +2.17 +2.07 +2.05 +2.09 +2.17 +2.23 +2.23 +2.16 +2.0 +1.77 +1.48 +1.15 +0.84 +0.56 +0.34 +0.17 +0.06 +0.0 +0.0 +0.02 +0.09 +0.16 +0.2 +0.23 +0.25 +0.32 +0.44 +0.61 +0.77 +0.84 +0.77 +0.6 +0.41 +0.28 +0.26 +0.36 +0.49 +0.59 +0.61 +0.57 +0.51 +0.5 +0.55 +0.64 +0.76 +0.88 +1.03 +1.21 +1.43 +1.65 +1.62 +1.77 +1.83 +1.76 +1.57 +1.3 +1.03 +0.84 +0.76 +0.82 +0.96 +1.12 +1.23 +1.27 +1.26 +1.26 +1.33 +1.49 +1.7 +1.9 +2.02 +2.03 +1.96 +1.88 +1.86 +1.93 +2.07 +2.21 +2.3 +2.31 +2.24 +2.09 +1.91 +1.68 +1.44 +1.17 +0.88 +0.59 +0.31 +0.08 +0.0 +0.0 +0.0 +0.0 +0.04 +0.1 +0.15 +0.19 +0.28 +0.43 +0.62 +0.78 +0.83 +0.73 +0.54 +0.34 +0.24 +0.28 +0.44 +0.62 +0.72 +0.72 +0.63 +0.53 +0.5 +0.55 +0.68 +0.83 +0.98 +1.12 +1.27 +1.44 +1.62 +1.77 +1.83 +1.76 +1.57 +1.3 +1.03 +0.84 +0.76 +0.82 +0.96 +1.12 +1.23 +1.27 +1.26 +1.26 +1.33 +1.49 +1.7 +1.9 +2.02 +2.03 +1.96 +1.88 +1.86 +1.93 +2.07 +2.21 +2.3 +2.31 +2.24 +2.09 +1.91 +1.68 +1.44 +1.17 +0.88 +0.59 +0.31 +0.08 +0.0 +0.0 +0.0 +0.0 +0.04 +0.1 +0.15 +0.19 +0.28 +0.43 +0.62 +0.78 +0.83 +0.73 +0.54 +0.34 +0.24 +0.28 +0.44 +0.62 +0.72 +0.72 +0.63 +0.53 +0.5 +0.55 +0.68 +0.83 +0.98 +1.12 +1.27 +1.44 +1.62 +1.45 +1.56 +1.61 +1.54 +1.35 +1.06 +0.77 +0.55 +0.48 +0.56 +0.74 +0.91 +0.98 +0.93 +0.8 +0.68 +0.66 +0.8 +1.04 +1.29 +1.47 +1.51 +1.47 +1.43 +1.46 +1.61 +1.82 +2.02 +2.15 +2.17 +2.1 +2.0 +1.9 +1.82 +1.71 +1.55 +1.3 +0.96 +0.57 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.09 +0.26 +0.46 +0.63 +0.66 +0.54 +0.32 +0.12 +0.05 +0.15 +0.37 +0.61 +0.73 +0.7 +0.56 +0.41 +0.35 +0.42 +0.59 +0.79 +0.96 +1.1 +1.21 +1.32 +1.45 +1.56 +1.61 +1.54 +1.35 +1.06 +0.77 +0.55 +0.48 +0.56 +0.74 +0.91 +0.98 +0.93 +0.8 +0.68 +0.66 +0.8 +1.04 +1.29 +1.47 +1.51 +1.47 +1.43 +1.46 +1.61 +1.82 +2.02 +2.15 +2.17 +2.1 +2.0 +1.9 +1.82 +1.71 +1.55 +1.3 +0.96 +0.57 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.09 +0.26 +0.46 +0.63 +0.66 +0.54 +0.32 +0.12 +0.05 +0.15 +0.37 +0.61 +0.73 +0.7 +0.56 +0.41 +0.35 +0.42 +0.59 +0.79 +0.96 +1.1 +1.21 +1.32 +1.45 +1.22 +1.3 +1.34 +1.28 +1.1 +0.81 +0.5 +0.27 +0.2 +0.3 +0.51 +0.7 +0.76 +0.64 +0.4 +0.17 +0.08 +0.18 +0.44 +0.72 +0.92 +0.98 +0.93 +0.88 +0.93 +1.11 +1.36 +1.6 +1.74 +1.76 +1.71 +1.67 +1.7 +1.8 +1.89 +1.89 +1.73 +1.4 +0.93 +0.45 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.24 +0.4 +0.43 +0.29 +0.05 +0.0 +0.0 +0.0 +0.22 +0.5 +0.64 +0.59 +0.41 +0.22 +0.14 +0.22 +0.43 +0.68 +0.88 +1.02 +1.09 +1.14 +1.22 +1.3 +1.34 +1.28 +1.1 +0.81 +0.5 +0.27 +0.2 +0.3 +0.51 +0.7 +0.76 +0.64 +0.4 +0.17 +0.08 +0.18 +0.44 +0.72 +0.92 +0.98 +0.93 +0.88 +0.93 +1.11 +1.36 +1.6 +1.74 +1.76 +1.71 +1.67 +1.7 +1.8 +1.89 +1.89 +1.73 +1.4 +0.93 +0.45 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.24 +0.4 +0.43 +0.29 +0.05 +0.0 +0.0 +0.0 +0.22 +0.5 +0.64 +0.59 +0.41 +0.22 +0.14 +0.22 +0.43 +0.68 +0.88 +1.02 +1.09 +1.14 +1.22 +1.03 +1.08 +1.11 +1.07 +0.9 +0.62 +0.29 +0.05 +0.0 +0.09 +0.33 +0.54 +0.59 +0.43 +0.13 +0.0 +0.0 +0.0 +0.0 +0.29 +0.49 +0.53 +0.45 +0.37 +0.39 +0.55 +0.8 +1.02 +1.15 +1.17 +1.14 +1.17 +1.32 +1.59 +1.89 +2.08 +2.07 +1.8 +1.34 +0.82 +0.37 +0.11 +0.02 +0.05 +0.09 +0.06 +0.0 +0.0 +0.0 +0.0 +0.1 +0.25 +0.26 +0.1 +0.0 +0.0 +0.0 +0.0 +0.06 +0.38 +0.54 +0.49 +0.28 +0.05 +0.0 +0.03 +0.27 +0.57 +0.81 +0.95 +1.0 +1.01 +1.03 +1.08 +1.11 +1.07 +0.9 +0.62 +0.29 +0.05 +0.0 +0.09 +0.33 +0.54 +0.59 +0.43 +0.13 +0.0 +0.0 +0.0 +0.0 +0.29 +0.49 +0.53 +0.45 +0.37 +0.39 +0.55 +0.8 +1.02 +1.15 +1.17 +1.14 +1.17 +1.32 +1.59 +1.89 +2.08 +2.07 +1.8 +1.34 +0.82 +0.37 +0.11 +0.02 +0.05 +0.09 +0.06 +0.0 +0.0 +0.0 +0.0 +0.1 +0.25 +0.26 +0.1 +0.0 +0.0 +0.0 +0.0 +0.06 +0.38 +0.54 +0.49 +0.28 +0.05 +0.0 +0.03 +0.27 +0.57 +0.81 +0.95 +1.0 +1.01 +1.03 +0.96 +0.97 +0.99 +0.95 +0.8 +0.53 +0.22 +0.0 +0.0 +0.0 +0.24 +0.46 +0.51 +0.34 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.15 +0.02 +0.0 +0.09 +0.28 +0.46 +0.55 +0.54 +0.52 +0.59 +0.84 +1.24 +1.69 +2.05 +2.19 +2.05 +1.69 +1.24 +0.84 +0.59 +0.52 +0.54 +0.55 +0.46 +0.28 +0.09 +0.0 +0.02 +0.15 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.34 +0.51 +0.46 +0.24 +0.0 +0.0 +0.0 +0.22 +0.53 +0.8 +0.95 +0.99 +0.97 +0.96 +0.97 +0.99 +0.95 +0.8 +0.53 +0.22 +0.0 +0.0 +0.0 +0.24 +0.46 +0.51 +0.34 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.15 +0.02 +0.0 +0.09 +0.28 +0.46 +0.55 +0.54 +0.52 +0.59 +0.84 +1.24 +1.69 +2.05 +2.19 +2.05 +1.69 +1.24 +0.84 +0.59 +0.52 +0.54 +0.55 +0.46 +0.28 +0.09 +0.0 +0.02 +0.15 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.34 +0.51 +0.46 +0.24 +0.0 +0.0 +0.0 +0.22 +0.53 +0.8 +0.95 +0.99 +0.97 +0.96 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.49 +0.39 +0.35 +0.36 +0.35 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.41 +0.4 +0.42 +0.5 +0.65 +0.84 +1.05 +1.28 +1.51 +1.76 +1.99 +2.16 +2.24 +2.19 +2.04 +1.82 +1.58 +1.35 +1.12 +0.91 +0.71 +0.55 +0.45 +0.41 +0.41 +0.37 +0.25 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.36 +0.37 +0.42 +0.54 +0.71 +0.92 +1.14 +1.37 +1.61 +1.86 +2.09 +2.25 +2.3 +2.22 +2.03 +1.79 +1.53 +1.29 +1.07 +0.85 +0.65 +0.49 +0.39 +0.35 +0.36 +0.35 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.41 +0.4 +0.42 +0.5 +0.65 +0.84 +1.05 +1.28 +1.51 +1.76 +1.99 +2.16 +2.24 +2.19 +2.04 +1.82 +1.58 +1.35 +1.12 +0.91 +0.71 +0.55 +0.45 +0.41 +0.41 +0.37 +0.25 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.23 +0.33 +0.36 +0.37 +0.42 +0.54 +0.71 +0.92 +1.14 +1.37 +1.61 +1.86 +2.09 +2.25 +2.3 +2.22 +2.03 +1.79 +1.53 +1.29 +1.07 +0.85 +0.65 +0.49 +0.36 +0.28 +0.27 +0.32 +0.36 +0.34 +0.23 +0.06 +0.0 +0.0 +0.0 +0.03 +0.24 +0.41 +0.49 +0.48 +0.43 +0.39 +0.41 +0.51 +0.68 +0.89 +1.13 +1.38 +1.65 +1.91 +2.11 +2.22 +2.21 +2.09 +1.88 +1.64 +1.38 +1.13 +0.9 +0.71 +0.57 +0.51 +0.49 +0.5 +0.46 +0.33 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.29 +0.36 +0.37 +0.38 +0.45 +0.58 +0.76 +0.98 +1.22 +1.47 +1.74 +2.02 +2.27 +2.43 +2.45 +2.32 +2.07 +1.76 +1.45 +1.17 +0.92 +0.7 +0.51 +0.36 +0.28 +0.27 +0.32 +0.36 +0.34 +0.23 +0.06 +0.0 +0.0 +0.0 +0.03 +0.24 +0.41 +0.49 +0.48 +0.43 +0.39 +0.41 +0.51 +0.68 +0.89 +1.13 +1.38 +1.65 +1.91 +2.11 +2.22 +2.21 +2.09 +1.88 +1.64 +1.38 +1.13 +0.9 +0.71 +0.57 +0.51 +0.49 +0.5 +0.46 +0.33 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.29 +0.36 +0.37 +0.38 +0.45 +0.58 +0.76 +0.98 +1.22 +1.47 +1.74 +2.02 +2.27 +2.43 +2.45 +2.32 +2.07 +1.76 +1.45 +1.17 +0.92 +0.7 +0.51 +0.36 +0.21 +0.15 +0.18 +0.26 +0.36 +0.42 +0.4 +0.29 +0.16 +0.08 +0.09 +0.21 +0.39 +0.54 +0.61 +0.57 +0.47 +0.36 +0.3 +0.34 +0.48 +0.68 +0.93 +1.21 +1.49 +1.76 +1.99 +2.13 +2.16 +2.09 +1.91 +1.66 +1.37 +1.1 +0.86 +0.69 +0.59 +0.58 +0.61 +0.63 +0.6 +0.47 +0.28 +0.09 +0.0 +0.0 +0.07 +0.24 +0.39 +0.48 +0.5 +0.49 +0.51 +0.58 +0.73 +0.91 +1.13 +1.36 +1.63 +1.93 +2.23 +2.48 +2.62 +2.59 +2.39 +2.06 +1.68 +1.31 +0.99 +0.73 +0.51 +0.34 +0.21 +0.15 +0.18 +0.26 +0.36 +0.42 +0.4 +0.29 +0.16 +0.08 +0.09 +0.21 +0.39 +0.54 +0.61 +0.57 +0.47 +0.36 +0.3 +0.34 +0.48 +0.68 +0.93 +1.21 +1.49 +1.76 +1.99 +2.13 +2.16 +2.09 +1.91 +1.66 +1.37 +1.1 +0.86 +0.69 +0.59 +0.58 +0.61 +0.63 +0.6 +0.47 +0.28 +0.09 +0.0 +0.0 +0.07 +0.24 +0.39 +0.48 +0.5 +0.49 +0.51 +0.58 +0.73 +0.91 +1.13 +1.36 +1.63 +1.93 +2.23 +2.48 +2.62 +2.59 +2.39 +2.06 +1.68 +1.31 +0.99 +0.73 +0.51 +0.34 +0.21 +0.11 +0.07 +0.1 +0.21 +0.34 +0.46 +0.5 +0.45 +0.35 +0.24 +0.21 +0.28 +0.43 +0.58 +0.66 +0.63 +0.51 +0.35 +0.24 +0.22 +0.32 +0.51 +0.76 +1.03 +1.3 +1.56 +1.78 +1.95 +2.03 +1.99 +1.85 +1.61 +1.31 +1.02 +0.78 +0.64 +0.61 +0.66 +0.75 +0.8 +0.77 +0.64 +0.47 +0.32 +0.26 +0.32 +0.47 +0.64 +0.76 +0.81 +0.79 +0.77 +0.79 +0.88 +1.03 +1.2 +1.38 +1.59 +1.83 +2.11 +2.4 +2.63 +2.73 +2.64 +2.36 +1.96 +1.51 +1.1 +0.77 +0.52 +0.34 +0.2 +0.11 +0.07 +0.1 +0.21 +0.34 +0.46 +0.5 +0.45 +0.35 +0.24 +0.21 +0.28 +0.43 +0.58 +0.66 +0.63 +0.51 +0.35 +0.24 +0.22 +0.32 +0.51 +0.76 +1.03 +1.3 +1.56 +1.78 +1.95 +2.03 +1.99 +1.85 +1.61 +1.31 +1.02 +0.78 +0.64 +0.61 +0.66 +0.75 +0.8 +0.77 +0.64 +0.47 +0.32 +0.26 +0.32 +0.47 +0.64 +0.76 +0.81 +0.79 +0.77 +0.79 +0.88 +1.03 +1.2 +1.38 +1.59 +1.83 +2.11 +2.4 +2.63 +2.73 +2.64 +2.36 +1.96 +1.51 +1.1 +0.77 +0.52 +0.34 +0.2 +0.11 +0.06 +0.04 +0.07 +0.16 +0.3 +0.44 +0.52 +0.51 +0.41 +0.28 +0.2 +0.22 +0.34 +0.51 +0.64 +0.65 +0.55 +0.38 +0.23 +0.17 +0.24 +0.41 +0.64 +0.89 +1.13 +1.34 +1.54 +1.71 +1.82 +1.83 +1.72 +1.51 +1.21 +0.92 +0.69 +0.58 +0.61 +0.73 +0.87 +0.96 +0.94 +0.82 +0.66 +0.55 +0.55 +0.68 +0.88 +1.07 +1.19 +1.2 +1.17 +1.14 +1.18 +1.28 +1.42 +1.56 +1.7 +1.84 +2.01 +2.23 +2.47 +2.64 +2.68 +2.53 +2.19 +1.74 +1.27 +0.85 +0.54 +0.33 +0.2 +0.12 +0.06 +0.04 +0.07 +0.16 +0.3 +0.44 +0.52 +0.51 +0.41 +0.28 +0.2 +0.22 +0.34 +0.51 +0.64 +0.65 +0.55 +0.38 +0.23 +0.17 +0.24 +0.41 +0.64 +0.89 +1.13 +1.34 +1.54 +1.71 +1.82 +1.83 +1.72 +1.51 +1.21 +0.92 +0.69 +0.58 +0.61 +0.73 +0.87 +0.96 +0.94 +0.82 +0.66 +0.55 +0.55 +0.68 +0.88 +1.07 +1.19 +1.2 +1.17 +1.14 +1.18 +1.28 +1.42 +1.56 +1.7 +1.84 +2.01 +2.23 +2.47 +2.64 +2.68 +2.53 +2.19 +1.74 +1.27 +0.85 +0.54 +0.33 +0.2 +0.12 +0.06 +0.05 +0.04 +0.05 +0.12 +0.25 +0.39 +0.49 +0.5 +0.4 +0.24 +0.11 +0.09 +0.19 +0.38 +0.56 +0.63 +0.58 +0.43 +0.27 +0.19 +0.24 +0.39 +0.6 +0.81 +1.0 +1.17 +1.33 +1.49 +1.62 +1.67 +1.61 +1.42 +1.14 +0.85 +0.62 +0.54 +0.6 +0.77 +0.96 +1.08 +1.07 +0.95 +0.8 +0.72 +0.77 +0.95 +1.19 +1.4 +1.51 +1.52 +1.47 +1.45 +1.5 +1.62 +1.77 +1.9 +1.98 +2.05 +2.14 +2.27 +2.42 +2.51 +2.47 +2.27 +1.91 +1.44 +0.98 +0.58 +0.31 +0.16 +0.09 +0.07 +0.05 +0.04 +0.05 +0.12 +0.25 +0.39 +0.49 +0.5 +0.4 +0.24 +0.11 +0.09 +0.19 +0.38 +0.56 +0.63 +0.58 +0.43 +0.27 +0.19 +0.24 +0.39 +0.6 +0.81 +1.0 +1.17 +1.33 +1.49 +1.62 +1.67 +1.61 +1.42 +1.14 +0.85 +0.62 +0.54 +0.6 +0.77 +0.96 +1.08 +1.07 +0.95 +0.8 +0.72 +0.77 +0.95 +1.19 +1.4 +1.51 +1.52 +1.47 +1.45 +1.5 +1.62 +1.77 +1.9 +1.98 +2.05 +2.14 +2.27 +2.42 +2.51 +2.47 +2.27 +1.91 +1.44 +0.98 +0.58 +0.31 +0.16 +0.09 +0.07 +0.05 +0.03 +0.03 +0.04 +0.09 +0.2 +0.35 +0.48 +0.51 +0.43 +0.25 +0.07 +0.0 +0.07 +0.26 +0.48 +0.62 +0.62 +0.5 +0.35 +0.26 +0.29 +0.42 +0.61 +0.8 +0.96 +1.09 +1.23 +1.38 +1.52 +1.6 +1.57 +1.41 +1.15 +0.85 +0.62 +0.53 +0.59 +0.77 +0.98 +1.11 +1.11 +1.0 +0.86 +0.79 +0.85 +1.06 +1.32 +1.54 +1.65 +1.64 +1.6 +1.58 +1.65 +1.8 +1.97 +2.1 +2.16 +2.18 +2.19 +2.21 +2.25 +2.25 +2.16 +1.93 +1.56 +1.13 +0.69 +0.33 +0.1 +0.0 +0.0 +0.01 +0.03 +0.03 +0.04 +0.09 +0.2 +0.35 +0.48 +0.51 +0.43 +0.25 +0.07 +0.0 +0.07 +0.26 +0.48 +0.62 +0.62 +0.5 +0.35 +0.26 +0.29 +0.42 +0.61 +0.8 +0.96 +1.09 +1.23 +1.38 +1.52 +1.6 +1.57 +1.41 +1.15 +0.85 +0.62 +0.53 +0.59 +0.77 +0.98 +1.11 +1.11 +1.0 +0.86 +0.79 +0.85 +1.06 +1.32 +1.54 +1.65 +1.64 +1.6 +1.58 +1.65 +1.8 +1.97 +2.1 +2.16 +2.18 +2.19 +2.21 +2.25 +2.25 +2.16 +1.93 +1.56 +1.13 +0.69 +0.33 +0.1 +0.0 +0.0 +0.01 +0.03 +0.0 +0.02 +0.03 +0.08 +0.19 +0.36 +0.53 +0.61 +0.55 +0.37 +0.16 +0.03 +0.06 +0.23 +0.47 +0.64 +0.69 +0.6 +0.45 +0.35 +0.36 +0.48 +0.66 +0.85 +0.99 +1.12 +1.24 +1.38 +1.52 +1.62 +1.61 +1.48 +1.23 +0.93 +0.68 +0.55 +0.58 +0.73 +0.92 +1.06 +1.08 +0.99 +0.86 +0.79 +0.85 +1.05 +1.31 +1.52 +1.63 +1.63 +1.57 +1.56 +1.63 +1.8 +2.0 +2.15 +2.22 +2.21 +2.15 +2.08 +2.02 +1.94 +1.8 +1.56 +1.23 +0.84 +0.45 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.08 +0.19 +0.36 +0.53 +0.61 +0.55 +0.37 +0.16 +0.03 +0.06 +0.23 +0.47 +0.64 +0.69 +0.6 +0.45 +0.35 +0.36 +0.48 +0.66 +0.85 +0.99 +1.12 +1.24 +1.38 +1.52 +1.62 +1.61 +1.48 +1.23 +0.93 +0.68 +0.55 +0.58 +0.73 +0.92 +1.06 +1.08 +0.99 +0.86 +0.79 +0.85 +1.05 +1.31 +1.52 +1.63 +1.63 +1.57 +1.56 +1.63 +1.8 +2.0 +2.15 +2.22 +2.21 +2.15 +2.08 +2.02 +1.94 +1.8 +1.56 +1.23 +0.84 +0.45 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.1 +0.22 +0.42 +0.64 +0.78 +0.78 +0.62 +0.39 +0.21 +0.18 +0.32 +0.54 +0.72 +0.79 +0.71 +0.57 +0.45 +0.44 +0.55 +0.72 +0.91 +1.06 +1.19 +1.31 +1.44 +1.57 +1.66 +1.67 +1.55 +1.32 +1.03 +0.76 +0.58 +0.56 +0.66 +0.82 +0.96 +1.01 +0.96 +0.86 +0.81 +0.87 +1.06 +1.31 +1.54 +1.66 +1.66 +1.6 +1.57 +1.63 +1.79 +1.99 +2.16 +2.23 +2.2 +2.08 +1.93 +1.77 +1.62 +1.45 +1.23 +0.96 +0.64 +0.29 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.1 +0.22 +0.42 +0.64 +0.78 +0.78 +0.62 +0.39 +0.21 +0.18 +0.32 +0.54 +0.72 +0.79 +0.71 +0.57 +0.45 +0.44 +0.55 +0.72 +0.91 +1.06 +1.19 +1.31 +1.44 +1.57 +1.66 +1.67 +1.55 +1.32 +1.03 +0.76 +0.58 +0.56 +0.66 +0.82 +0.96 +1.01 +0.96 +0.86 +0.81 +0.87 +1.06 +1.31 +1.54 +1.66 +1.66 +1.6 +1.57 +1.63 +1.79 +1.99 +2.16 +2.23 +2.2 +2.08 +1.93 +1.77 +1.62 +1.45 +1.23 +0.96 +0.64 +0.29 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.09 +0.16 +0.29 +0.51 +0.77 +0.97 +1.02 +0.9 +0.67 +0.46 +0.38 +0.47 +0.66 +0.84 +0.9 +0.83 +0.69 +0.56 +0.52 +0.6 +0.76 +0.94 +1.09 +1.22 +1.33 +1.44 +1.54 +1.62 +1.62 +1.53 +1.33 +1.08 +0.81 +0.62 +0.54 +0.58 +0.71 +0.86 +0.96 +0.98 +0.95 +0.95 +1.04 +1.25 +1.52 +1.78 +1.95 +1.99 +1.94 +1.88 +1.88 +1.98 +2.14 +2.28 +2.33 +2.26 +2.07 +1.82 +1.57 +1.35 +1.16 +0.98 +0.77 +0.51 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.09 +0.16 +0.29 +0.51 +0.77 +0.97 +1.02 +0.9 +0.67 +0.46 +0.38 +0.47 +0.66 +0.84 +0.9 +0.83 +0.69 +0.56 +0.52 +0.6 +0.76 +0.94 +1.09 +1.22 +1.33 +1.44 +1.54 +1.62 +1.62 +1.53 +1.33 +1.08 +0.81 +0.62 +0.54 +0.58 +0.71 +0.86 +0.96 +0.98 +0.95 +0.95 +1.04 +1.25 +1.52 +1.78 +1.95 +1.99 +1.94 +1.88 +1.88 +1.98 +2.14 +2.28 +2.33 +2.26 +2.07 +1.82 +1.57 +1.35 +1.16 +0.98 +0.77 +0.51 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.15 +0.21 +0.26 +0.37 +0.58 +0.86 +1.1 +1.19 +1.11 +0.9 +0.67 +0.56 +0.61 +0.77 +0.93 +1.0 +0.94 +0.8 +0.65 +0.58 +0.62 +0.74 +0.89 +1.02 +1.13 +1.21 +1.29 +1.35 +1.4 +1.41 +1.35 +1.22 +1.04 +0.83 +0.66 +0.55 +0.56 +0.66 +0.83 +0.99 +1.11 +1.18 +1.27 +1.42 +1.67 +2.01 +2.35 +2.61 +2.73 +2.7 +2.61 +2.54 +2.53 +2.58 +2.63 +2.61 +2.46 +2.18 +1.82 +1.47 +1.18 +0.97 +0.82 +0.67 +0.46 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.15 +0.21 +0.26 +0.37 +0.58 +0.86 +1.1 +1.19 +1.11 +0.9 +0.67 +0.56 +0.61 +0.77 +0.93 +1.0 +0.94 +0.8 +0.65 +0.58 +0.62 +0.74 +0.89 +1.02 +1.13 +1.21 +1.29 +1.35 +1.4 +1.41 +1.35 +1.22 +1.04 +0.83 +0.66 +0.55 +0.56 +0.66 +0.83 +0.99 +1.11 +1.18 +1.27 +1.42 +1.67 +2.01 +2.35 +2.61 +2.73 +2.7 +2.61 +2.54 +2.53 +2.58 +2.63 +2.61 +2.46 +2.18 +1.82 +1.47 +1.18 +0.97 +0.82 +0.67 +0.46 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.17 +0.32 +0.37 +0.38 +0.44 +0.61 +0.86 +1.1 +1.23 +1.19 +1.0 +0.78 +0.65 +0.67 +0.8 +0.96 +1.04 +1.0 +0.86 +0.71 +0.61 +0.59 +0.65 +0.74 +0.83 +0.9 +0.94 +0.98 +1.01 +1.03 +1.04 +1.04 +1.01 +0.94 +0.84 +0.72 +0.63 +0.62 +0.71 +0.89 +1.11 +1.33 +1.52 +1.7 +1.94 +2.27 +2.7 +3.15 +3.54 +3.76 +3.8 +3.69 +3.52 +3.37 +3.27 +3.18 +3.04 +2.78 +2.4 +1.94 +1.49 +1.14 +0.91 +0.77 +0.67 +0.51 +0.27 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.32 +0.37 +0.38 +0.44 +0.61 +0.86 +1.1 +1.23 +1.19 +1.0 +0.78 +0.65 +0.67 +0.8 +0.96 +1.04 +1.0 +0.86 +0.71 +0.61 +0.59 +0.65 +0.74 +0.83 +0.9 +0.94 +0.98 +1.01 +1.03 +1.04 +1.04 +1.01 +0.94 +0.84 +0.72 +0.63 +0.62 +0.71 +0.89 +1.11 +1.33 +1.52 +1.7 +1.94 +2.27 +2.7 +3.15 +3.54 +3.76 +3.8 +3.69 +3.52 +3.37 +3.27 +3.18 +3.04 +2.78 +2.4 +1.94 +1.49 +1.14 +0.91 +0.77 +0.67 +0.51 +0.27 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.35 +0.5 +0.52 +0.48 +0.47 +0.56 +0.77 +1.0 +1.15 +1.14 +0.98 +0.77 +0.63 +0.63 +0.74 +0.9 +0.99 +0.98 +0.86 +0.71 +0.57 +0.5 +0.5 +0.52 +0.56 +0.59 +0.6 +0.61 +0.61 +0.62 +0.65 +0.71 +0.78 +0.84 +0.86 +0.84 +0.79 +0.77 +0.84 +1.02 +1.29 +1.58 +1.86 +2.13 +2.43 +2.82 +3.33 +3.9 +4.41 +4.76 +4.87 +4.77 +4.52 +4.24 +3.98 +3.75 +3.49 +3.14 +2.67 +2.13 +1.62 +1.22 +0.98 +0.86 +0.77 +0.64 +0.42 +0.14 +0.0 +0.0 +0.0 +0.12 +0.35 +0.5 +0.52 +0.48 +0.47 +0.56 +0.77 +1.0 +1.15 +1.14 +0.98 +0.77 +0.63 +0.63 +0.74 +0.9 +0.99 +0.98 +0.86 +0.71 +0.57 +0.5 +0.5 +0.52 +0.56 +0.59 +0.6 +0.61 +0.61 +0.62 +0.65 +0.71 +0.78 +0.84 +0.86 +0.84 +0.79 +0.77 +0.84 +1.02 +1.29 +1.58 +1.86 +2.13 +2.43 +2.82 +3.33 +3.9 +4.41 +4.76 +4.87 +4.77 +4.52 +4.24 +3.98 +3.75 +3.49 +3.14 +2.67 +2.13 +1.62 +1.22 +0.98 +0.86 +0.77 +0.64 +0.42 +0.14 +0.0 +0.0 +0.0 +0.12 +0.35 +0.5 +0.63 +0.62 +0.53 +0.45 +0.48 +0.63 +0.84 +1.0 +1.02 +0.89 +0.69 +0.54 +0.51 +0.6 +0.75 +0.87 +0.88 +0.8 +0.65 +0.5 +0.38 +0.32 +0.3 +0.3 +0.31 +0.32 +0.31 +0.31 +0.31 +0.37 +0.48 +0.64 +0.81 +0.94 +0.99 +0.98 +0.95 +1.0 +1.16 +1.42 +1.75 +2.06 +2.36 +2.69 +3.09 +3.63 +4.26 +4.87 +5.33 +5.52 +5.45 +5.16 +4.8 +4.43 +4.1 +3.77 +3.36 +2.87 +2.31 +1.78 +1.38 +1.14 +1.04 +0.98 +0.86 +0.63 +0.35 +0.1 +0.0 +0.07 +0.27 +0.5 +0.63 +0.62 +0.53 +0.45 +0.48 +0.63 +0.84 +1.0 +1.02 +0.89 +0.69 +0.54 +0.51 +0.6 +0.75 +0.87 +0.88 +0.8 +0.65 +0.5 +0.38 +0.32 +0.3 +0.3 +0.31 +0.32 +0.31 +0.31 +0.31 +0.37 +0.48 +0.64 +0.81 +0.94 +0.99 +0.98 +0.95 +1.0 +1.16 +1.42 +1.75 +2.06 +2.36 +2.69 +3.09 +3.63 +4.26 +4.87 +5.33 +5.52 +5.45 +5.16 +4.8 +4.43 +4.1 +3.77 +3.36 +2.87 +2.31 +1.78 +1.38 +1.14 +1.04 +0.98 +0.86 +0.63 +0.35 +0.1 +0.0 +0.07 +0.27 +0.5 +0.57 +0.68 +0.65 +0.52 +0.39 +0.38 +0.5 +0.7 +0.87 +0.91 +0.8 +0.6 +0.43 +0.37 +0.43 +0.58 +0.71 +0.76 +0.71 +0.58 +0.42 +0.28 +0.19 +0.15 +0.15 +0.17 +0.2 +0.21 +0.21 +0.22 +0.29 +0.42 +0.63 +0.86 +1.05 +1.14 +1.13 +1.09 +1.09 +1.21 +1.44 +1.74 +2.04 +2.31 +2.59 +2.94 +3.43 +4.05 +4.69 +5.21 +5.47 +5.44 +5.17 +4.78 +4.38 +4.03 +3.7 +3.32 +2.87 +2.37 +1.89 +1.53 +1.32 +1.25 +1.22 +1.11 +0.9 +0.6 +0.33 +0.18 +0.21 +0.38 +0.57 +0.68 +0.65 +0.52 +0.39 +0.38 +0.5 +0.7 +0.87 +0.91 +0.8 +0.6 +0.43 +0.37 +0.43 +0.58 +0.71 +0.76 +0.71 +0.58 +0.42 +0.28 +0.19 +0.15 +0.15 +0.17 +0.2 +0.21 +0.21 +0.22 +0.29 +0.42 +0.63 +0.86 +1.05 +1.14 +1.13 +1.09 +1.09 +1.21 +1.44 +1.74 +2.04 +2.31 +2.59 +2.94 +3.43 +4.05 +4.69 +5.21 +5.47 +5.44 +5.17 +4.78 +4.38 +4.03 +3.7 +3.32 +2.87 +2.37 +1.89 +1.53 +1.32 +1.25 +1.22 +1.11 +0.9 +0.6 +0.33 +0.18 +0.21 +0.38 +0.57 +0.6 +0.68 +0.63 +0.49 +0.36 +0.33 +0.43 +0.63 +0.81 +0.87 +0.77 +0.56 +0.36 +0.26 +0.29 +0.42 +0.58 +0.67 +0.65 +0.54 +0.38 +0.24 +0.15 +0.12 +0.15 +0.21 +0.27 +0.3 +0.32 +0.33 +0.39 +0.52 +0.71 +0.94 +1.12 +1.21 +1.18 +1.11 +1.07 +1.13 +1.32 +1.56 +1.79 +1.98 +2.15 +2.38 +2.76 +3.3 +3.9 +4.42 +4.71 +4.72 +4.5 +4.14 +3.79 +3.49 +3.24 +2.96 +2.62 +2.23 +1.85 +1.56 +1.42 +1.4 +1.41 +1.34 +1.15 +0.86 +0.56 +0.37 +0.35 +0.46 +0.6 +0.68 +0.63 +0.49 +0.36 +0.33 +0.43 +0.63 +0.81 +0.87 +0.77 +0.56 +0.36 +0.26 +0.29 +0.42 +0.58 +0.67 +0.65 +0.54 +0.38 +0.24 +0.15 +0.12 +0.15 +0.21 +0.27 +0.3 +0.32 +0.33 +0.39 +0.52 +0.71 +0.94 +1.12 +1.21 +1.18 +1.11 +1.07 +1.13 +1.32 +1.56 +1.79 +1.98 +2.15 +2.38 +2.76 +3.3 +3.9 +4.42 +4.71 +4.72 +4.5 +4.14 +3.79 +3.49 +3.24 +2.96 +2.62 +2.23 +1.85 +1.56 +1.42 +1.4 +1.41 +1.34 +1.15 +0.86 +0.56 +0.37 +0.35 +0.46 +0.6 +0.64 +0.7 +0.65 +0.52 +0.39 +0.37 +0.47 +0.67 +0.86 +0.93 +0.83 +0.6 +0.36 +0.21 +0.21 +0.34 +0.51 +0.63 +0.64 +0.55 +0.41 +0.28 +0.21 +0.22 +0.28 +0.38 +0.46 +0.51 +0.53 +0.53 +0.57 +0.66 +0.81 +0.98 +1.11 +1.14 +1.08 +0.98 +0.91 +0.94 +1.08 +1.26 +1.4 +1.48 +1.51 +1.61 +1.84 +2.24 +2.75 +3.22 +3.5 +3.54 +3.36 +3.08 +2.8 +2.6 +2.47 +2.33 +2.14 +1.88 +1.61 +1.42 +1.36 +1.4 +1.47 +1.47 +1.33 +1.07 +0.78 +0.56 +0.49 +0.54 +0.64 +0.7 +0.65 +0.52 +0.39 +0.37 +0.47 +0.67 +0.86 +0.93 +0.83 +0.6 +0.36 +0.21 +0.21 +0.34 +0.51 +0.63 +0.64 +0.55 +0.41 +0.28 +0.21 +0.22 +0.28 +0.38 +0.46 +0.51 +0.53 +0.53 +0.57 +0.66 +0.81 +0.98 +1.11 +1.14 +1.08 +0.98 +0.91 +0.94 +1.08 +1.26 +1.4 +1.48 +1.51 +1.61 +1.84 +2.24 +2.75 +3.22 +3.5 +3.54 +3.36 +3.08 +2.8 +2.6 +2.47 +2.33 +2.14 +1.88 +1.61 +1.42 +1.36 +1.4 +1.47 +1.47 +1.33 +1.07 +0.78 +0.56 +0.49 +0.54 +0.64 +0.74 +0.79 +0.76 +0.66 +0.55 +0.53 +0.64 +0.84 +1.02 +1.09 +0.98 +0.73 +0.45 +0.26 +0.22 +0.33 +0.51 +0.65 +0.69 +0.62 +0.49 +0.39 +0.35 +0.39 +0.49 +0.59 +0.67 +0.7 +0.69 +0.68 +0.68 +0.74 +0.83 +0.93 +0.97 +0.94 +0.85 +0.74 +0.68 +0.71 +0.82 +0.94 +1.01 +0.98 +0.9 +0.85 +0.94 +1.21 +1.6 +1.98 +2.23 +2.27 +2.13 +1.9 +1.7 +1.6 +1.58 +1.58 +1.52 +1.39 +1.23 +1.12 +1.12 +1.22 +1.36 +1.43 +1.38 +1.19 +0.95 +0.74 +0.64 +0.66 +0.74 +0.79 +0.76 +0.66 +0.55 +0.53 +0.64 +0.84 +1.02 +1.09 +0.98 +0.73 +0.45 +0.26 +0.22 +0.33 +0.51 +0.65 +0.69 +0.62 +0.49 +0.39 +0.35 +0.39 +0.49 +0.59 +0.67 +0.7 +0.69 +0.68 +0.68 +0.74 +0.83 +0.93 +0.97 +0.94 +0.85 +0.74 +0.68 +0.71 +0.82 +0.94 +1.01 +0.98 +0.9 +0.85 +0.94 +1.21 +1.6 +1.98 +2.23 +2.27 +2.13 +1.9 +1.7 +1.6 +1.58 +1.58 +1.52 +1.39 +1.23 +1.12 +1.12 +1.22 +1.36 +1.43 +1.38 +1.19 +0.95 +0.74 +0.64 +0.66 +0.74 +0.9 +0.98 +0.98 +0.92 +0.85 +0.84 +0.94 +1.13 +1.3 +1.36 +1.24 +0.97 +0.66 +0.42 +0.35 +0.43 +0.59 +0.72 +0.76 +0.69 +0.58 +0.5 +0.5 +0.57 +0.67 +0.76 +0.8 +0.78 +0.73 +0.68 +0.67 +0.7 +0.75 +0.77 +0.76 +0.68 +0.57 +0.48 +0.46 +0.52 +0.63 +0.72 +0.72 +0.62 +0.45 +0.32 +0.3 +0.46 +0.74 +1.03 +1.22 +1.23 +1.1 +0.91 +0.76 +0.73 +0.79 +0.88 +0.92 +0.88 +0.79 +0.73 +0.77 +0.9 +1.09 +1.24 +1.28 +1.19 +1.02 +0.86 +0.78 +0.81 +0.9 +0.98 +0.98 +0.92 +0.85 +0.84 +0.94 +1.13 +1.3 +1.36 +1.24 +0.97 +0.66 +0.42 +0.35 +0.43 +0.59 +0.72 +0.76 +0.69 +0.58 +0.5 +0.5 +0.57 +0.67 +0.76 +0.8 +0.78 +0.73 +0.68 +0.67 +0.7 +0.75 +0.77 +0.76 +0.68 +0.57 +0.48 +0.46 +0.52 +0.63 +0.72 +0.72 +0.62 +0.45 +0.32 +0.3 +0.46 +0.74 +1.03 +1.22 +1.23 +1.1 +0.91 +0.76 +0.73 +0.79 +0.88 +0.92 +0.88 +0.79 +0.73 +0.77 +0.9 +1.09 +1.24 +1.28 +1.19 +1.02 +0.86 +0.78 +0.81 +0.9 +1.06 +1.19 +1.26 +1.26 +1.23 +1.24 +1.35 +1.52 +1.69 +1.74 +1.62 +1.35 +1.02 +0.75 +0.62 +0.65 +0.75 +0.83 +0.84 +0.76 +0.65 +0.59 +0.61 +0.7 +0.8 +0.85 +0.82 +0.73 +0.63 +0.55 +0.54 +0.56 +0.59 +0.58 +0.52 +0.43 +0.33 +0.29 +0.31 +0.41 +0.53 +0.61 +0.58 +0.45 +0.24 +0.06 +0.0 +0.08 +0.27 +0.49 +0.61 +0.6 +0.45 +0.27 +0.14 +0.12 +0.22 +0.36 +0.46 +0.47 +0.42 +0.37 +0.4 +0.53 +0.73 +0.93 +1.04 +1.05 +0.97 +0.88 +0.86 +0.93 +1.06 +1.19 +1.26 +1.26 +1.23 +1.24 +1.35 +1.52 +1.69 +1.74 +1.62 +1.35 +1.02 +0.75 +0.62 +0.65 +0.75 +0.83 +0.84 +0.76 +0.65 +0.59 +0.61 +0.7 +0.8 +0.85 +0.82 +0.73 +0.63 +0.55 +0.54 +0.56 +0.59 +0.58 +0.52 +0.43 +0.33 +0.29 +0.31 +0.41 +0.53 +0.61 +0.58 +0.45 +0.24 +0.06 +0.0 +0.08 +0.27 +0.49 +0.61 +0.6 +0.45 +0.27 +0.14 +0.12 +0.22 +0.36 +0.46 +0.47 +0.42 +0.37 +0.4 +0.53 +0.73 +0.93 +1.04 +1.05 +0.97 +0.88 +0.86 +0.93 +1.06 +1.13 +1.34 +1.49 +1.57 +1.61 +1.68 +1.8 +1.98 +2.16 +2.22 +2.13 +1.87 +1.54 +1.25 +1.06 +1.0 +1.01 +1.01 +0.95 +0.82 +0.7 +0.65 +0.69 +0.79 +0.87 +0.88 +0.78 +0.63 +0.48 +0.39 +0.37 +0.4 +0.43 +0.42 +0.35 +0.26 +0.2 +0.19 +0.26 +0.38 +0.5 +0.57 +0.54 +0.4 +0.21 +0.03 +0.0 +0.0 +0.12 +0.28 +0.37 +0.33 +0.17 +0.0 +0.0 +0.0 +0.0 +0.07 +0.19 +0.23 +0.19 +0.13 +0.12 +0.21 +0.38 +0.57 +0.72 +0.79 +0.78 +0.77 +0.81 +0.94 +1.13 +1.34 +1.49 +1.57 +1.61 +1.68 +1.8 +1.98 +2.16 +2.22 +2.13 +1.87 +1.54 +1.25 +1.06 +1.0 +1.01 +1.01 +0.95 +0.82 +0.7 +0.65 +0.69 +0.79 +0.87 +0.88 +0.78 +0.63 +0.48 +0.39 +0.37 +0.4 +0.43 +0.42 +0.35 +0.26 +0.2 +0.19 +0.26 +0.38 +0.5 +0.57 +0.54 +0.4 +0.21 +0.03 +0.0 +0.0 +0.12 +0.28 +0.37 +0.33 +0.17 +0.0 +0.0 +0.0 +0.0 +0.07 +0.19 +0.23 +0.19 +0.13 +0.12 +0.21 +0.38 +0.57 +0.72 +0.79 +0.78 +0.77 +0.81 +0.94 +1.13 +1.05 +1.33 +1.58 +1.77 +1.9 +2.04 +2.22 +2.44 +2.64 +2.75 +2.71 +2.51 +2.21 +1.91 +1.67 +1.52 +1.42 +1.3 +1.15 +0.96 +0.81 +0.75 +0.79 +0.88 +0.94 +0.91 +0.77 +0.57 +0.39 +0.28 +0.27 +0.3 +0.34 +0.33 +0.28 +0.2 +0.16 +0.18 +0.26 +0.37 +0.48 +0.54 +0.51 +0.4 +0.24 +0.09 +0.01 +0.02 +0.12 +0.24 +0.3 +0.27 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.15 +0.11 +0.03 +0.0 +0.0 +0.08 +0.23 +0.37 +0.46 +0.5 +0.53 +0.62 +0.8 +1.05 +1.33 +1.58 +1.77 +1.9 +2.04 +2.22 +2.44 +2.64 +2.75 +2.71 +2.51 +2.21 +1.91 +1.67 +1.52 +1.42 +1.3 +1.15 +0.96 +0.81 +0.75 +0.79 +0.88 +0.94 +0.91 +0.77 +0.57 +0.39 +0.28 +0.27 +0.3 +0.34 +0.33 +0.28 +0.2 +0.16 +0.18 +0.26 +0.37 +0.48 +0.54 +0.51 +0.4 +0.24 +0.09 +0.01 +0.02 +0.12 +0.24 +0.3 +0.27 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.15 +0.11 +0.03 +0.0 +0.0 +0.08 +0.23 +0.37 +0.46 +0.5 +0.53 +0.62 +0.8 +1.05 +0.82 +1.17 +1.5 +1.79 +2.03 +2.26 +2.51 +2.78 +3.04 +3.22 +3.26 +3.15 +2.92 +2.65 +2.4 +2.18 +1.97 +1.75 +1.5 +1.25 +1.05 +0.96 +0.97 +1.03 +1.07 +1.01 +0.84 +0.63 +0.43 +0.31 +0.28 +0.31 +0.34 +0.33 +0.28 +0.22 +0.19 +0.2 +0.26 +0.34 +0.41 +0.44 +0.42 +0.35 +0.24 +0.12 +0.05 +0.04 +0.1 +0.19 +0.26 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.14 +0.12 +0.01 +0.0 +0.0 +0.0 +0.0 +0.06 +0.13 +0.17 +0.22 +0.32 +0.53 +0.82 +1.17 +1.5 +1.79 +2.03 +2.26 +2.51 +2.78 +3.04 +3.22 +3.26 +3.15 +2.92 +2.65 +2.4 +2.18 +1.97 +1.75 +1.5 +1.25 +1.05 +0.96 +0.97 +1.03 +1.07 +1.01 +0.84 +0.63 +0.43 +0.31 +0.28 +0.31 +0.34 +0.33 +0.28 +0.22 +0.19 +0.2 +0.26 +0.34 +0.41 +0.44 +0.42 +0.35 +0.24 +0.12 +0.05 +0.04 +0.1 +0.19 +0.26 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.14 +0.12 +0.01 +0.0 +0.0 +0.0 +0.0 +0.06 +0.13 +0.17 +0.22 +0.32 +0.53 +0.82 +0.54 +0.91 +1.3 +1.66 +1.99 +2.3 +2.61 +2.94 +3.26 +3.51 +3.64 +3.64 +3.52 +3.33 +3.12 +2.88 +2.63 +2.34 +2.03 +1.72 +1.47 +1.33 +1.28 +1.29 +1.28 +1.19 +1.01 +0.8 +0.6 +0.47 +0.41 +0.41 +0.4 +0.38 +0.33 +0.27 +0.23 +0.22 +0.23 +0.24 +0.26 +0.27 +0.26 +0.23 +0.16 +0.08 +0.0 +0.0 +0.0 +0.06 +0.15 +0.19 +0.15 +0.03 +0.0 +0.0 +0.0 +0.0 +0.04 +0.12 +0.12 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.23 +0.54 +0.91 +1.3 +1.66 +1.99 +2.3 +2.61 +2.94 +3.26 +3.51 +3.64 +3.64 +3.52 +3.33 +3.12 +2.88 +2.63 +2.34 +2.03 +1.72 +1.47 +1.33 +1.28 +1.29 +1.28 +1.19 +1.01 +0.8 +0.6 +0.47 +0.41 +0.41 +0.4 +0.38 +0.33 +0.27 +0.23 +0.22 +0.23 +0.24 +0.26 +0.27 +0.26 +0.23 +0.16 +0.08 +0.0 +0.0 +0.0 +0.06 +0.15 +0.19 +0.15 +0.03 +0.0 +0.0 +0.0 +0.0 +0.04 +0.12 +0.12 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.23 +0.54 +0.31 +0.68 +1.07 +1.46 +1.82 +2.17 +2.52 +2.87 +3.22 +3.52 +3.74 +3.86 +3.87 +3.81 +3.68 +3.51 +3.28 +2.99 +2.66 +2.33 +2.04 +1.83 +1.71 +1.64 +1.56 +1.43 +1.25 +1.04 +0.84 +0.7 +0.61 +0.55 +0.5 +0.43 +0.36 +0.29 +0.24 +0.19 +0.15 +0.12 +0.08 +0.07 +0.07 +0.07 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.09 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.31 +0.68 +1.07 +1.46 +1.82 +2.17 +2.52 +2.87 +3.22 +3.52 +3.74 +3.86 +3.87 +3.81 +3.68 +3.51 +3.28 +2.99 +2.66 +2.33 +2.04 +1.83 +1.71 +1.64 +1.56 +1.43 +1.25 +1.04 +0.84 +0.7 +0.61 +0.55 +0.5 +0.43 +0.36 +0.29 +0.24 +0.19 +0.15 +0.12 +0.08 +0.07 +0.07 +0.07 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.09 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.31 +0.26 +0.58 +0.94 +1.29 +1.62 +1.94 +2.27 +2.6 +2.94 +3.25 +3.52 +3.73 +3.88 +3.96 +3.97 +3.91 +3.77 +3.55 +3.27 +2.96 +2.65 +2.39 +2.19 +2.03 +1.87 +1.7 +1.5 +1.3 +1.11 +0.95 +0.82 +0.7 +0.59 +0.47 +0.36 +0.27 +0.19 +0.13 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.26 +0.58 +0.94 +1.29 +1.62 +1.94 +2.27 +2.6 +2.94 +3.25 +3.52 +3.73 +3.88 +3.96 +3.97 +3.91 +3.77 +3.55 +3.27 +2.96 +2.65 +2.39 +2.19 +2.03 +1.87 +1.7 +1.5 +1.3 +1.11 +0.95 +0.82 +0.7 +0.59 +0.47 +0.36 +0.27 +0.19 +0.13 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.26 +0.41 +0.68 +0.96 +1.22 +1.47 +1.71 +1.95 +2.21 +2.48 +2.76 +3.04 +3.3 +3.55 +3.75 +3.91 +3.99 +3.98 +3.88 +3.7 +3.45 +3.17 +2.89 +2.62 +2.38 +2.16 +1.95 +1.74 +1.55 +1.37 +1.2 +1.04 +0.86 +0.67 +0.49 +0.33 +0.2 +0.11 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.18 +0.41 +0.68 +0.96 +1.22 +1.47 +1.71 +1.95 +2.21 +2.48 +2.76 +3.04 +3.3 +3.55 +3.75 +3.91 +3.99 +3.98 +3.88 +3.7 +3.45 +3.17 +2.89 +2.62 +2.38 +2.16 +1.95 +1.74 +1.55 +1.37 +1.2 +1.04 +0.86 +0.67 +0.49 +0.33 +0.2 +0.11 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.18 +0.41 +0.72 +0.93 +1.13 +1.28 +1.41 +1.53 +1.65 +1.8 +1.97 +2.18 +2.42 +2.69 +2.98 +3.26 +3.52 +3.73 +3.85 +3.88 +3.82 +3.67 +3.46 +3.2 +2.92 +2.64 +2.38 +2.15 +1.95 +1.78 +1.62 +1.46 +1.27 +1.04 +0.79 +0.53 +0.3 +0.13 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.11 +0.2 +0.33 +0.51 +0.72 +0.93 +1.13 +1.28 +1.41 +1.53 +1.65 +1.8 +1.97 +2.18 +2.42 +2.69 +2.98 +3.26 +3.52 +3.73 +3.85 +3.88 +3.82 +3.67 +3.46 +3.2 +2.92 +2.64 +2.38 +2.15 +1.95 +1.78 +1.62 +1.46 +1.27 +1.04 +0.79 +0.53 +0.3 +0.13 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.11 +0.2 +0.33 +0.51 +0.72 +1.08 +1.25 +1.37 +1.42 +1.43 +1.41 +1.4 +1.43 +1.49 +1.62 +1.8 +2.04 +2.32 +2.63 +2.92 +3.19 +3.39 +3.53 +3.59 +3.57 +3.45 +3.25 +3.01 +2.74 +2.5 +2.29 +2.13 +2.0 +1.88 +1.73 +1.53 +1.26 +0.95 +0.63 +0.34 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.27 +0.23 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.01 +0.0 +0.03 +0.09 +0.19 +0.29 +0.4 +0.53 +0.69 +0.88 +1.08 +1.25 +1.37 +1.42 +1.43 +1.41 +1.4 +1.43 +1.49 +1.62 +1.8 +2.04 +2.32 +2.63 +2.92 +3.19 +3.39 +3.53 +3.59 +3.57 +3.45 +3.25 +3.01 +2.74 +2.5 +2.29 +2.13 +2.0 +1.88 +1.73 +1.53 +1.26 +0.95 +0.63 +0.34 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.27 +0.23 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.01 +0.0 +0.03 +0.09 +0.19 +0.29 +0.4 +0.53 +0.69 +0.88 +1.08 +1.37 +1.52 +1.58 +1.56 +1.47 +1.34 +1.22 +1.13 +1.11 +1.17 +1.3 +1.49 +1.73 +1.99 +2.24 +2.49 +2.71 +2.92 +3.07 +3.16 +3.15 +3.04 +2.87 +2.66 +2.47 +2.33 +2.25 +2.19 +2.12 +2.0 +1.8 +1.51 +1.17 +0.81 +0.48 +0.22 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.26 +0.43 +0.52 +0.46 +0.29 +0.08 +0.0 +0.0 +0.0 +0.11 +0.21 +0.25 +0.23 +0.21 +0.23 +0.3 +0.41 +0.54 +0.67 +0.82 +0.99 +1.19 +1.37 +1.52 +1.58 +1.56 +1.47 +1.34 +1.22 +1.13 +1.11 +1.17 +1.3 +1.49 +1.73 +1.99 +2.24 +2.49 +2.71 +2.92 +3.07 +3.16 +3.15 +3.04 +2.87 +2.66 +2.47 +2.33 +2.25 +2.19 +2.12 +2.0 +1.8 +1.51 +1.17 +0.81 +0.48 +0.22 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.26 +0.43 +0.52 +0.46 +0.29 +0.08 +0.0 +0.0 +0.0 +0.11 +0.21 +0.25 +0.23 +0.21 +0.23 +0.3 +0.41 +0.54 +0.67 +0.82 +0.99 +1.19 +1.37 +1.54 +1.66 +1.7 +1.63 +1.48 +1.28 +1.07 +0.91 +0.83 +0.85 +0.95 +1.11 +1.29 +1.46 +1.6 +1.76 +1.94 +2.15 +2.37 +2.55 +2.64 +2.62 +2.51 +2.38 +2.27 +2.24 +2.26 +2.29 +2.29 +2.21 +2.02 +1.75 +1.41 +1.07 +0.75 +0.49 +0.27 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.13 +0.29 +0.5 +0.68 +0.76 +0.69 +0.5 +0.28 +0.15 +0.15 +0.26 +0.41 +0.51 +0.52 +0.47 +0.41 +0.4 +0.47 +0.59 +0.74 +0.88 +1.03 +1.2 +1.37 +1.54 +1.66 +1.7 +1.63 +1.48 +1.28 +1.07 +0.91 +0.83 +0.85 +0.95 +1.11 +1.29 +1.46 +1.6 +1.76 +1.94 +2.15 +2.37 +2.55 +2.64 +2.62 +2.51 +2.38 +2.27 +2.24 +2.26 +2.29 +2.29 +2.21 +2.02 +1.75 +1.41 +1.07 +0.75 +0.49 +0.27 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.13 +0.29 +0.5 +0.68 +0.76 +0.69 +0.5 +0.28 +0.15 +0.15 +0.26 +0.41 +0.51 +0.52 +0.47 +0.41 +0.4 +0.47 +0.59 +0.74 +0.88 +1.03 +1.2 +1.37 +1.54 +1.56 +1.66 +1.69 +1.62 +1.44 +1.19 +0.93 +0.72 +0.62 +0.64 +0.75 +0.9 +1.02 +1.08 +1.09 +1.1 +1.19 +1.37 +1.62 +1.86 +2.02 +2.07 +2.01 +1.94 +1.92 +1.98 +2.11 +2.25 +2.32 +2.28 +2.13 +1.89 +1.63 +1.37 +1.13 +0.91 +0.69 +0.44 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.1 +0.21 +0.4 +0.64 +0.84 +0.92 +0.84 +0.62 +0.4 +0.29 +0.33 +0.49 +0.68 +0.78 +0.76 +0.65 +0.53 +0.49 +0.55 +0.69 +0.86 +1.02 +1.16 +1.29 +1.42 +1.56 +1.66 +1.69 +1.62 +1.44 +1.19 +0.93 +0.72 +0.62 +0.64 +0.75 +0.9 +1.02 +1.08 +1.09 +1.1 +1.19 +1.37 +1.62 +1.86 +2.02 +2.07 +2.01 +1.94 +1.92 +1.98 +2.11 +2.25 +2.32 +2.28 +2.13 +1.89 +1.63 +1.37 +1.13 +0.91 +0.69 +0.44 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.1 +0.21 +0.4 +0.64 +0.84 +0.92 +0.84 +0.62 +0.4 +0.29 +0.33 +0.49 +0.68 +0.78 +0.76 +0.65 +0.53 +0.49 +0.55 +0.69 +0.86 +1.02 +1.16 +1.29 +1.42 +1.56 +1.48 +1.57 +1.6 +1.53 +1.35 +1.08 +0.78 +0.55 +0.45 +0.49 +0.65 +0.81 +0.89 +0.85 +0.72 +0.6 +0.58 +0.71 +0.96 +1.24 +1.43 +1.5 +1.46 +1.41 +1.44 +1.58 +1.8 +2.02 +2.15 +2.15 +2.05 +1.89 +1.74 +1.63 +1.54 +1.43 +1.24 +0.95 +0.57 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.07 +0.1 +0.2 +0.4 +0.65 +0.87 +0.95 +0.85 +0.62 +0.4 +0.3 +0.39 +0.61 +0.84 +0.95 +0.89 +0.72 +0.55 +0.47 +0.53 +0.7 +0.9 +1.08 +1.21 +1.3 +1.39 +1.48 +1.57 +1.6 +1.53 +1.35 +1.08 +0.78 +0.55 +0.45 +0.49 +0.65 +0.81 +0.89 +0.85 +0.72 +0.6 +0.58 +0.71 +0.96 +1.24 +1.43 +1.5 +1.46 +1.41 +1.44 +1.58 +1.8 +2.02 +2.15 +2.15 +2.05 +1.89 +1.74 +1.63 +1.54 +1.43 +1.24 +0.95 +0.57 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.07 +0.1 +0.2 +0.4 +0.65 +0.87 +0.95 +0.85 +0.62 +0.4 +0.3 +0.39 +0.61 +0.84 +0.95 +0.89 +0.72 +0.55 +0.47 +0.53 +0.7 +0.9 +1.08 +1.21 +1.3 +1.39 +1.48 +1.36 +1.43 +1.47 +1.42 +1.25 +0.97 +0.66 +0.41 +0.31 +0.4 +0.59 +0.79 +0.86 +0.75 +0.51 +0.27 +0.15 +0.24 +0.49 +0.77 +0.97 +1.02 +0.96 +0.89 +0.93 +1.11 +1.38 +1.64 +1.8 +1.82 +1.76 +1.68 +1.68 +1.76 +1.88 +1.93 +1.82 +1.52 +1.07 +0.58 +0.18 +0.0 +0.0 +0.0 +0.09 +0.13 +0.11 +0.08 +0.14 +0.31 +0.57 +0.79 +0.87 +0.75 +0.5 +0.27 +0.2 +0.34 +0.61 +0.88 +1.01 +0.93 +0.72 +0.49 +0.38 +0.45 +0.65 +0.89 +1.1 +1.22 +1.28 +1.31 +1.36 +1.43 +1.47 +1.42 +1.25 +0.97 +0.66 +0.41 +0.31 +0.4 +0.59 +0.79 +0.86 +0.75 +0.51 +0.27 +0.15 +0.24 +0.49 +0.77 +0.97 +1.02 +0.96 +0.89 +0.93 +1.11 +1.38 +1.64 +1.8 +1.82 +1.76 +1.68 +1.68 +1.76 +1.88 +1.93 +1.82 +1.52 +1.07 +0.58 +0.18 +0.0 +0.0 +0.0 +0.09 +0.13 +0.11 +0.08 +0.14 +0.31 +0.57 +0.79 +0.87 +0.75 +0.5 +0.27 +0.2 +0.34 +0.61 +0.88 +1.01 +0.93 +0.72 +0.49 +0.38 +0.45 +0.65 +0.89 +1.1 +1.22 +1.28 +1.31 +1.36 +1.26 +1.31 +1.35 +1.32 +1.16 +0.89 +0.57 +0.32 +0.23 +0.34 +0.58 +0.81 +0.88 +0.73 +0.43 +0.11 +0.0 +0.0 +0.24 +0.53 +0.71 +0.72 +0.61 +0.5 +0.49 +0.65 +0.92 +1.17 +1.32 +1.34 +1.3 +1.31 +1.44 +1.71 +2.02 +2.25 +2.26 +2.01 +1.56 +1.04 +0.59 +0.33 +0.27 +0.32 +0.38 +0.36 +0.25 +0.13 +0.11 +0.24 +0.47 +0.67 +0.73 +0.59 +0.33 +0.1 +0.04 +0.22 +0.54 +0.85 +0.99 +0.9 +0.66 +0.4 +0.28 +0.35 +0.58 +0.87 +1.1 +1.23 +1.26 +1.25 +1.26 +1.31 +1.35 +1.32 +1.16 +0.89 +0.57 +0.32 +0.23 +0.34 +0.58 +0.81 +0.88 +0.73 +0.43 +0.11 +0.0 +0.0 +0.24 +0.53 +0.71 +0.72 +0.61 +0.5 +0.49 +0.65 +0.92 +1.17 +1.32 +1.34 +1.3 +1.31 +1.44 +1.71 +2.02 +2.25 +2.26 +2.01 +1.56 +1.04 +0.59 +0.33 +0.27 +0.32 +0.38 +0.36 +0.25 +0.13 +0.11 +0.24 +0.47 +0.67 +0.73 +0.59 +0.33 +0.1 +0.04 +0.22 +0.54 +0.85 +0.99 +0.9 +0.66 +0.4 +0.28 +0.35 +0.58 +0.87 +1.1 +1.23 +1.26 +1.25 +1.26 +1.22 +1.24 +1.28 +1.25 +1.12 +0.86 +0.55 +0.3 +0.22 +0.34 +0.61 +0.85 +0.93 +0.78 +0.46 +0.12 +0.0 +0.0 +0.21 +0.49 +0.65 +0.62 +0.45 +0.28 +0.22 +0.31 +0.52 +0.71 +0.81 +0.8 +0.77 +0.82 +1.05 +1.45 +1.91 +2.28 +2.42 +2.28 +1.91 +1.45 +1.05 +0.82 +0.77 +0.8 +0.81 +0.71 +0.52 +0.31 +0.22 +0.28 +0.45 +0.62 +0.65 +0.49 +0.21 +0.0 +0.0 +0.12 +0.46 +0.78 +0.93 +0.85 +0.61 +0.34 +0.22 +0.3 +0.55 +0.86 +1.12 +1.25 +1.28 +1.24 +1.22 +1.24 +1.28 +1.25 +1.12 +0.86 +0.55 +0.3 +0.22 +0.34 +0.61 +0.85 +0.93 +0.78 +0.46 +0.12 +0.0 +0.0 +0.21 +0.49 +0.65 +0.62 +0.45 +0.28 +0.22 +0.31 +0.52 +0.71 +0.81 +0.8 +0.77 +0.82 +1.05 +1.45 +1.91 +2.28 +2.42 +2.28 +1.91 +1.45 +1.05 +0.82 +0.77 +0.8 +0.81 +0.71 +0.52 +0.31 +0.22 +0.28 +0.45 +0.62 +0.65 +0.49 +0.21 +0.0 +0.0 +0.12 +0.46 +0.78 +0.93 +0.85 +0.61 +0.34 +0.22 +0.3 +0.55 +0.86 +1.12 +1.25 +1.28 +1.24 +1.22 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.36 +0.36 +0.35 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.4 +0.39 +0.41 +0.5 +0.65 +0.84 +1.05 +1.27 +1.51 +1.76 +1.99 +2.16 +2.24 +2.19 +2.04 +1.83 +1.59 +1.35 +1.13 +0.91 +0.71 +0.55 +0.45 +0.41 +0.4 +0.37 +0.25 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.23 +0.33 +0.36 +0.38 +0.43 +0.54 +0.72 +0.92 +1.14 +1.37 +1.61 +1.86 +2.09 +2.25 +2.3 +2.22 +2.03 +1.79 +1.53 +1.29 +1.06 +0.85 +0.65 +0.49 +0.39 +0.36 +0.36 +0.35 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.4 +0.39 +0.41 +0.5 +0.65 +0.84 +1.05 +1.27 +1.51 +1.76 +1.99 +2.16 +2.24 +2.19 +2.04 +1.83 +1.59 +1.35 +1.13 +0.91 +0.71 +0.55 +0.45 +0.41 +0.4 +0.37 +0.25 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.23 +0.33 +0.36 +0.38 +0.43 +0.54 +0.72 +0.92 +1.14 +1.37 +1.61 +1.86 +2.09 +2.25 +2.3 +2.22 +2.03 +1.79 +1.53 +1.29 +1.06 +0.85 +0.65 +0.49 +0.39 +0.28 +0.28 +0.33 +0.37 +0.35 +0.25 +0.07 +0.0 +0.0 +0.0 +0.05 +0.25 +0.42 +0.5 +0.48 +0.42 +0.38 +0.41 +0.51 +0.67 +0.88 +1.12 +1.38 +1.65 +1.91 +2.12 +2.23 +2.23 +2.11 +1.9 +1.66 +1.4 +1.15 +0.92 +0.72 +0.59 +0.51 +0.5 +0.5 +0.46 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.3 +0.37 +0.38 +0.4 +0.46 +0.59 +0.78 +0.99 +1.23 +1.48 +1.76 +2.03 +2.28 +2.43 +2.44 +2.31 +2.06 +1.75 +1.44 +1.16 +0.91 +0.7 +0.51 +0.36 +0.28 +0.28 +0.33 +0.37 +0.35 +0.25 +0.07 +0.0 +0.0 +0.0 +0.05 +0.25 +0.42 +0.5 +0.48 +0.42 +0.38 +0.41 +0.51 +0.67 +0.88 +1.12 +1.38 +1.65 +1.91 +2.12 +2.23 +2.23 +2.11 +1.9 +1.66 +1.4 +1.15 +0.92 +0.72 +0.59 +0.51 +0.5 +0.5 +0.46 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.3 +0.37 +0.38 +0.4 +0.46 +0.59 +0.78 +0.99 +1.23 +1.48 +1.76 +2.03 +2.28 +2.43 +2.44 +2.31 +2.06 +1.75 +1.44 +1.16 +0.91 +0.7 +0.51 +0.36 +0.28 +0.18 +0.21 +0.3 +0.4 +0.46 +0.43 +0.33 +0.2 +0.12 +0.14 +0.26 +0.43 +0.57 +0.63 +0.59 +0.48 +0.37 +0.32 +0.36 +0.49 +0.69 +0.94 +1.22 +1.5 +1.78 +2.01 +2.17 +2.21 +2.14 +1.96 +1.71 +1.43 +1.15 +0.91 +0.74 +0.64 +0.62 +0.64 +0.66 +0.62 +0.5 +0.32 +0.12 +0.0 +0.0 +0.1 +0.26 +0.42 +0.51 +0.54 +0.54 +0.56 +0.63 +0.77 +0.95 +1.17 +1.4 +1.67 +1.96 +2.26 +2.5 +2.63 +2.59 +2.38 +2.05 +1.67 +1.3 +0.98 +0.73 +0.52 +0.35 +0.23 +0.18 +0.21 +0.3 +0.4 +0.46 +0.43 +0.33 +0.2 +0.12 +0.14 +0.26 +0.43 +0.57 +0.63 +0.59 +0.48 +0.37 +0.32 +0.36 +0.49 +0.69 +0.94 +1.22 +1.5 +1.78 +2.01 +2.17 +2.21 +2.14 +1.96 +1.71 +1.43 +1.15 +0.91 +0.74 +0.64 +0.62 +0.64 +0.66 +0.62 +0.5 +0.32 +0.12 +0.0 +0.0 +0.1 +0.26 +0.42 +0.51 +0.54 +0.54 +0.56 +0.63 +0.77 +0.95 +1.17 +1.4 +1.67 +1.96 +2.26 +2.5 +2.63 +2.59 +2.38 +2.05 +1.67 +1.3 +0.98 +0.73 +0.52 +0.35 +0.23 +0.18 +0.13 +0.17 +0.29 +0.43 +0.54 +0.58 +0.53 +0.43 +0.33 +0.31 +0.38 +0.52 +0.66 +0.73 +0.69 +0.56 +0.4 +0.29 +0.27 +0.37 +0.55 +0.8 +1.06 +1.34 +1.6 +1.84 +2.02 +2.11 +2.08 +1.94 +1.7 +1.41 +1.12 +0.89 +0.74 +0.71 +0.75 +0.83 +0.88 +0.85 +0.73 +0.57 +0.42 +0.36 +0.41 +0.55 +0.72 +0.85 +0.9 +0.89 +0.87 +0.89 +0.97 +1.11 +1.28 +1.46 +1.66 +1.9 +2.18 +2.45 +2.67 +2.75 +2.64 +2.36 +1.96 +1.52 +1.11 +0.79 +0.54 +0.37 +0.24 +0.15 +0.13 +0.17 +0.29 +0.43 +0.54 +0.58 +0.53 +0.43 +0.33 +0.31 +0.38 +0.52 +0.66 +0.73 +0.69 +0.56 +0.4 +0.29 +0.27 +0.37 +0.55 +0.8 +1.06 +1.34 +1.6 +1.84 +2.02 +2.11 +2.08 +1.94 +1.7 +1.41 +1.12 +0.89 +0.74 +0.71 +0.75 +0.83 +0.88 +0.85 +0.73 +0.57 +0.42 +0.36 +0.41 +0.55 +0.72 +0.85 +0.9 +0.89 +0.87 +0.89 +0.97 +1.11 +1.28 +1.46 +1.66 +1.9 +2.18 +2.45 +2.67 +2.75 +2.64 +2.36 +1.96 +1.52 +1.11 +0.79 +0.54 +0.37 +0.24 +0.15 +0.13 +0.13 +0.18 +0.29 +0.43 +0.57 +0.64 +0.63 +0.54 +0.42 +0.35 +0.38 +0.49 +0.64 +0.75 +0.75 +0.64 +0.47 +0.33 +0.27 +0.33 +0.49 +0.71 +0.95 +1.19 +1.41 +1.63 +1.81 +1.94 +1.96 +1.86 +1.65 +1.36 +1.07 +0.85 +0.74 +0.76 +0.88 +1.01 +1.1 +1.09 +0.98 +0.84 +0.73 +0.73 +0.85 +1.04 +1.22 +1.33 +1.36 +1.32 +1.3 +1.32 +1.41 +1.54 +1.68 +1.81 +1.95 +2.13 +2.34 +2.56 +2.71 +2.72 +2.55 +2.2 +1.76 +1.29 +0.89 +0.59 +0.39 +0.27 +0.19 +0.14 +0.13 +0.18 +0.29 +0.43 +0.57 +0.64 +0.63 +0.54 +0.42 +0.35 +0.38 +0.49 +0.64 +0.75 +0.75 +0.64 +0.47 +0.33 +0.27 +0.33 +0.49 +0.71 +0.95 +1.19 +1.41 +1.63 +1.81 +1.94 +1.96 +1.86 +1.65 +1.36 +1.07 +0.85 +0.74 +0.76 +0.88 +1.01 +1.1 +1.09 +0.98 +0.84 +0.73 +0.73 +0.85 +1.04 +1.22 +1.33 +1.36 +1.32 +1.3 +1.32 +1.41 +1.54 +1.68 +1.81 +1.95 +2.13 +2.34 +2.56 +2.71 +2.72 +2.55 +2.2 +1.76 +1.29 +0.89 +0.59 +0.39 +0.27 +0.19 +0.14 +0.13 +0.17 +0.2 +0.28 +0.41 +0.55 +0.64 +0.65 +0.57 +0.42 +0.31 +0.28 +0.37 +0.54 +0.7 +0.76 +0.71 +0.56 +0.41 +0.33 +0.36 +0.5 +0.69 +0.89 +1.08 +1.25 +1.43 +1.61 +1.76 +1.82 +1.77 +1.59 +1.32 +1.03 +0.82 +0.73 +0.79 +0.95 +1.14 +1.26 +1.26 +1.17 +1.04 +0.96 +1.01 +1.18 +1.41 +1.61 +1.71 +1.72 +1.67 +1.65 +1.68 +1.79 +1.92 +2.03 +2.12 +2.19 +2.28 +2.4 +2.53 +2.59 +2.52 +2.29 +1.92 +1.46 +1.02 +0.65 +0.39 +0.25 +0.19 +0.17 +0.16 +0.17 +0.2 +0.28 +0.41 +0.55 +0.64 +0.65 +0.57 +0.42 +0.31 +0.28 +0.37 +0.54 +0.7 +0.76 +0.71 +0.56 +0.41 +0.33 +0.36 +0.5 +0.69 +0.89 +1.08 +1.25 +1.43 +1.61 +1.76 +1.82 +1.77 +1.59 +1.32 +1.03 +0.82 +0.73 +0.79 +0.95 +1.14 +1.26 +1.26 +1.17 +1.04 +0.96 +1.01 +1.18 +1.41 +1.61 +1.71 +1.72 +1.67 +1.65 +1.68 +1.79 +1.92 +2.03 +2.12 +2.19 +2.28 +2.4 +2.53 +2.59 +2.52 +2.29 +1.92 +1.46 +1.02 +0.65 +0.39 +0.25 +0.19 +0.17 +0.16 +0.17 +0.17 +0.19 +0.25 +0.36 +0.5 +0.63 +0.66 +0.59 +0.43 +0.26 +0.19 +0.24 +0.41 +0.61 +0.74 +0.74 +0.63 +0.49 +0.4 +0.42 +0.53 +0.7 +0.87 +1.02 +1.16 +1.32 +1.49 +1.64 +1.74 +1.72 +1.57 +1.32 +1.03 +0.81 +0.71 +0.77 +0.95 +1.15 +1.29 +1.31 +1.23 +1.12 +1.06 +1.13 +1.32 +1.56 +1.77 +1.87 +1.86 +1.81 +1.78 +1.83 +1.96 +2.1 +2.22 +2.29 +2.31 +2.32 +2.34 +2.36 +2.32 +2.19 +1.92 +1.56 +1.13 +0.72 +0.4 +0.19 +0.11 +0.1 +0.13 +0.16 +0.17 +0.19 +0.25 +0.36 +0.5 +0.63 +0.66 +0.59 +0.43 +0.26 +0.19 +0.24 +0.41 +0.61 +0.74 +0.74 +0.63 +0.49 +0.4 +0.42 +0.53 +0.7 +0.87 +1.02 +1.16 +1.32 +1.49 +1.64 +1.74 +1.72 +1.57 +1.32 +1.03 +0.81 +0.71 +0.77 +0.95 +1.15 +1.29 +1.31 +1.23 +1.12 +1.06 +1.13 +1.32 +1.56 +1.77 +1.87 +1.86 +1.81 +1.78 +1.83 +1.96 +2.1 +2.22 +2.29 +2.31 +2.32 +2.34 +2.36 +2.32 +2.19 +1.92 +1.56 +1.13 +0.72 +0.4 +0.19 +0.11 +0.1 +0.13 +0.16 +0.17 +0.12 +0.15 +0.2 +0.31 +0.47 +0.62 +0.71 +0.66 +0.5 +0.3 +0.17 +0.18 +0.32 +0.53 +0.7 +0.74 +0.67 +0.54 +0.45 +0.45 +0.56 +0.71 +0.88 +1.02 +1.15 +1.29 +1.45 +1.62 +1.73 +1.73 +1.6 +1.36 +1.07 +0.83 +0.7 +0.72 +0.86 +1.05 +1.2 +1.24 +1.18 +1.09 +1.05 +1.12 +1.31 +1.55 +1.75 +1.85 +1.84 +1.78 +1.74 +1.8 +1.93 +2.1 +2.24 +2.32 +2.31 +2.26 +2.18 +2.09 +1.96 +1.78 +1.51 +1.18 +0.81 +0.45 +0.17 +0.0 +0.0 +0.0 +0.02 +0.09 +0.12 +0.15 +0.2 +0.31 +0.47 +0.62 +0.71 +0.66 +0.5 +0.3 +0.17 +0.18 +0.32 +0.53 +0.7 +0.74 +0.67 +0.54 +0.45 +0.45 +0.56 +0.71 +0.88 +1.02 +1.15 +1.29 +1.45 +1.62 +1.73 +1.73 +1.6 +1.36 +1.07 +0.83 +0.7 +0.72 +0.86 +1.05 +1.2 +1.24 +1.18 +1.09 +1.05 +1.12 +1.31 +1.55 +1.75 +1.85 +1.84 +1.78 +1.74 +1.8 +1.93 +2.1 +2.24 +2.32 +2.31 +2.26 +2.18 +2.09 +1.96 +1.78 +1.51 +1.18 +0.81 +0.45 +0.17 +0.0 +0.0 +0.0 +0.02 +0.09 +0.12 +0.05 +0.09 +0.14 +0.26 +0.45 +0.65 +0.79 +0.8 +0.65 +0.43 +0.25 +0.2 +0.31 +0.5 +0.68 +0.75 +0.7 +0.58 +0.48 +0.47 +0.56 +0.72 +0.89 +1.04 +1.17 +1.31 +1.47 +1.62 +1.73 +1.74 +1.63 +1.41 +1.12 +0.86 +0.69 +0.66 +0.74 +0.9 +1.04 +1.12 +1.11 +1.06 +1.05 +1.13 +1.31 +1.55 +1.76 +1.86 +1.86 +1.79 +1.74 +1.77 +1.89 +2.06 +2.21 +2.29 +2.26 +2.15 +1.98 +1.79 +1.59 +1.37 +1.12 +0.84 +0.54 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.14 +0.26 +0.45 +0.65 +0.79 +0.8 +0.65 +0.43 +0.25 +0.2 +0.31 +0.5 +0.68 +0.75 +0.7 +0.58 +0.48 +0.47 +0.56 +0.72 +0.89 +1.04 +1.17 +1.31 +1.47 +1.62 +1.73 +1.74 +1.63 +1.41 +1.12 +0.86 +0.69 +0.66 +0.74 +0.9 +1.04 +1.12 +1.11 +1.06 +1.05 +1.13 +1.31 +1.55 +1.76 +1.86 +1.86 +1.79 +1.74 +1.77 +1.89 +2.06 +2.21 +2.29 +2.26 +2.15 +1.98 +1.79 +1.59 +1.37 +1.12 +0.84 +0.54 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.0 +0.05 +0.12 +0.24 +0.44 +0.68 +0.88 +0.94 +0.83 +0.61 +0.39 +0.3 +0.36 +0.53 +0.7 +0.78 +0.74 +0.62 +0.52 +0.49 +0.57 +0.71 +0.88 +1.04 +1.17 +1.3 +1.44 +1.57 +1.66 +1.67 +1.58 +1.39 +1.14 +0.89 +0.7 +0.62 +0.65 +0.77 +0.92 +1.04 +1.1 +1.13 +1.18 +1.3 +1.5 +1.76 +2.0 +2.15 +2.17 +2.11 +2.03 +2.01 +2.07 +2.19 +2.31 +2.34 +2.27 +2.08 +1.82 +1.53 +1.26 +1.01 +0.8 +0.58 +0.34 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.12 +0.24 +0.44 +0.68 +0.88 +0.94 +0.83 +0.61 +0.39 +0.3 +0.36 +0.53 +0.7 +0.78 +0.74 +0.62 +0.52 +0.49 +0.57 +0.71 +0.88 +1.04 +1.17 +1.3 +1.44 +1.57 +1.66 +1.67 +1.58 +1.39 +1.14 +0.89 +0.7 +0.62 +0.65 +0.77 +0.92 +1.04 +1.1 +1.13 +1.18 +1.3 +1.5 +1.76 +2.0 +2.15 +2.17 +2.11 +2.03 +2.01 +2.07 +2.19 +2.31 +2.34 +2.27 +2.08 +1.82 +1.53 +1.26 +1.01 +0.8 +0.58 +0.34 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.09 +0.14 +0.24 +0.43 +0.68 +0.91 +1.02 +0.95 +0.75 +0.53 +0.41 +0.43 +0.57 +0.74 +0.82 +0.8 +0.69 +0.58 +0.53 +0.57 +0.68 +0.83 +0.96 +1.08 +1.18 +1.28 +1.37 +1.43 +1.44 +1.38 +1.26 +1.09 +0.91 +0.75 +0.65 +0.64 +0.74 +0.89 +1.07 +1.23 +1.36 +1.5 +1.69 +1.95 +2.27 +2.58 +2.81 +2.9 +2.87 +2.76 +2.66 +2.61 +2.62 +2.63 +2.58 +2.42 +2.13 +1.76 +1.37 +1.03 +0.77 +0.58 +0.42 +0.25 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.09 +0.14 +0.24 +0.43 +0.68 +0.91 +1.02 +0.95 +0.75 +0.53 +0.41 +0.43 +0.57 +0.74 +0.82 +0.8 +0.69 +0.58 +0.53 +0.57 +0.68 +0.83 +0.96 +1.08 +1.18 +1.28 +1.37 +1.43 +1.44 +1.38 +1.26 +1.09 +0.91 +0.75 +0.65 +0.64 +0.74 +0.89 +1.07 +1.23 +1.36 +1.5 +1.69 +1.95 +2.27 +2.58 +2.81 +2.9 +2.87 +2.76 +2.66 +2.61 +2.62 +2.63 +2.58 +2.42 +2.13 +1.76 +1.37 +1.03 +0.77 +0.58 +0.42 +0.25 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.13 +0.18 +0.19 +0.24 +0.39 +0.61 +0.85 +0.99 +0.97 +0.81 +0.61 +0.48 +0.48 +0.6 +0.76 +0.85 +0.85 +0.75 +0.64 +0.56 +0.56 +0.62 +0.71 +0.8 +0.88 +0.94 +0.99 +1.03 +1.06 +1.07 +1.07 +1.04 +0.99 +0.91 +0.82 +0.75 +0.74 +0.81 +0.97 +1.2 +1.45 +1.69 +1.93 +2.2 +2.54 +2.94 +3.35 +3.69 +3.88 +3.91 +3.79 +3.6 +3.43 +3.28 +3.15 +2.98 +2.7 +2.3 +1.83 +1.35 +0.95 +0.68 +0.51 +0.39 +0.25 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.18 +0.19 +0.24 +0.39 +0.61 +0.85 +0.99 +0.97 +0.81 +0.61 +0.48 +0.48 +0.6 +0.76 +0.85 +0.85 +0.75 +0.64 +0.56 +0.56 +0.62 +0.71 +0.8 +0.88 +0.94 +0.99 +1.03 +1.06 +1.07 +1.07 +1.04 +0.99 +0.91 +0.82 +0.75 +0.74 +0.81 +0.97 +1.2 +1.45 +1.69 +1.93 +2.2 +2.54 +2.94 +3.35 +3.69 +3.88 +3.91 +3.79 +3.6 +3.43 +3.28 +3.15 +2.98 +2.7 +2.3 +1.83 +1.35 +0.95 +0.68 +0.51 +0.39 +0.25 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.26 +0.29 +0.25 +0.23 +0.31 +0.49 +0.71 +0.87 +0.89 +0.78 +0.6 +0.48 +0.47 +0.57 +0.72 +0.83 +0.85 +0.78 +0.67 +0.57 +0.52 +0.52 +0.54 +0.57 +0.6 +0.62 +0.63 +0.64 +0.65 +0.67 +0.72 +0.79 +0.87 +0.92 +0.93 +0.91 +0.89 +0.95 +1.1 +1.35 +1.66 +1.98 +2.3 +2.63 +3.03 +3.49 +4.0 +4.45 +4.76 +4.86 +4.75 +4.51 +4.22 +3.93 +3.66 +3.37 +3.0 +2.52 +1.98 +1.44 +1.01 +0.72 +0.56 +0.47 +0.35 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.26 +0.29 +0.25 +0.23 +0.31 +0.49 +0.71 +0.87 +0.89 +0.78 +0.6 +0.48 +0.47 +0.57 +0.72 +0.83 +0.85 +0.78 +0.67 +0.57 +0.52 +0.52 +0.54 +0.57 +0.6 +0.62 +0.63 +0.64 +0.65 +0.67 +0.72 +0.79 +0.87 +0.92 +0.93 +0.91 +0.89 +0.95 +1.1 +1.35 +1.66 +1.98 +2.3 +2.63 +3.03 +3.49 +4.0 +4.45 +4.76 +4.86 +4.75 +4.51 +4.22 +3.93 +3.66 +3.37 +3.0 +2.52 +1.98 +1.44 +1.01 +0.72 +0.56 +0.47 +0.35 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.26 +0.36 +0.36 +0.27 +0.19 +0.19 +0.32 +0.53 +0.7 +0.76 +0.69 +0.54 +0.42 +0.39 +0.48 +0.62 +0.75 +0.8 +0.76 +0.66 +0.55 +0.45 +0.39 +0.35 +0.34 +0.34 +0.34 +0.34 +0.33 +0.33 +0.36 +0.45 +0.6 +0.78 +0.94 +1.03 +1.05 +1.04 +1.06 +1.18 +1.42 +1.73 +2.07 +2.41 +2.76 +3.16 +3.64 +4.19 +4.72 +5.12 +5.3 +5.23 +4.98 +4.63 +4.26 +3.91 +3.56 +3.15 +2.65 +2.1 +1.57 +1.14 +0.86 +0.72 +0.64 +0.53 +0.35 +0.12 +0.0 +0.0 +0.0 +0.03 +0.23 +0.36 +0.36 +0.27 +0.19 +0.19 +0.32 +0.53 +0.7 +0.76 +0.69 +0.54 +0.42 +0.39 +0.48 +0.62 +0.75 +0.8 +0.76 +0.66 +0.55 +0.45 +0.39 +0.35 +0.34 +0.34 +0.34 +0.34 +0.33 +0.33 +0.36 +0.45 +0.6 +0.78 +0.94 +1.03 +1.05 +1.04 +1.06 +1.18 +1.42 +1.73 +2.07 +2.41 +2.76 +3.16 +3.64 +4.19 +4.72 +5.12 +5.3 +5.23 +4.98 +4.63 +4.26 +3.91 +3.56 +3.15 +2.65 +2.1 +1.57 +1.14 +0.86 +0.72 +0.64 +0.53 +0.35 +0.12 +0.0 +0.0 +0.0 +0.03 +0.23 +0.36 +0.38 +0.36 +0.24 +0.11 +0.08 +0.17 +0.36 +0.54 +0.63 +0.6 +0.47 +0.34 +0.28 +0.33 +0.46 +0.61 +0.69 +0.69 +0.62 +0.5 +0.37 +0.27 +0.2 +0.18 +0.18 +0.2 +0.21 +0.2 +0.2 +0.23 +0.33 +0.51 +0.74 +0.96 +1.1 +1.13 +1.1 +1.08 +1.15 +1.34 +1.61 +1.92 +2.21 +2.5 +2.83 +3.25 +3.77 +4.31 +4.76 +5.0 +4.99 +4.77 +4.42 +4.05 +3.71 +3.38 +3.02 +2.6 +2.11 +1.64 +1.25 +1.01 +0.9 +0.84 +0.75 +0.57 +0.32 +0.09 +0.0 +0.0 +0.11 +0.28 +0.38 +0.36 +0.24 +0.11 +0.08 +0.17 +0.36 +0.54 +0.63 +0.6 +0.47 +0.34 +0.28 +0.33 +0.46 +0.61 +0.69 +0.69 +0.62 +0.5 +0.37 +0.27 +0.2 +0.18 +0.18 +0.2 +0.21 +0.2 +0.2 +0.23 +0.33 +0.51 +0.74 +0.96 +1.1 +1.13 +1.1 +1.08 +1.15 +1.34 +1.61 +1.92 +2.21 +2.5 +2.83 +3.25 +3.77 +4.31 +4.76 +5.0 +4.99 +4.77 +4.42 +4.05 +3.71 +3.38 +3.02 +2.6 +2.11 +1.64 +1.25 +1.01 +0.9 +0.84 +0.75 +0.57 +0.32 +0.09 +0.0 +0.0 +0.11 +0.28 +0.38 +0.36 +0.32 +0.19 +0.04 +0.0 +0.06 +0.24 +0.43 +0.54 +0.53 +0.4 +0.25 +0.16 +0.17 +0.29 +0.45 +0.58 +0.63 +0.58 +0.46 +0.32 +0.21 +0.14 +0.13 +0.17 +0.22 +0.25 +0.26 +0.25 +0.27 +0.35 +0.52 +0.75 +0.95 +1.08 +1.1 +1.04 +0.98 +1.0 +1.12 +1.33 +1.56 +1.75 +1.92 +2.12 +2.42 +2.84 +3.32 +3.76 +4.04 +4.08 +3.92 +3.63 +3.32 +3.05 +2.83 +2.59 +2.29 +1.93 +1.56 +1.26 +1.08 +1.01 +0.99 +0.93 +0.77 +0.53 +0.29 +0.12 +0.09 +0.17 +0.3 +0.36 +0.32 +0.19 +0.04 +0.0 +0.06 +0.24 +0.43 +0.54 +0.53 +0.4 +0.25 +0.16 +0.17 +0.29 +0.45 +0.58 +0.63 +0.58 +0.46 +0.32 +0.21 +0.14 +0.13 +0.17 +0.22 +0.25 +0.26 +0.25 +0.27 +0.35 +0.52 +0.75 +0.95 +1.08 +1.1 +1.04 +0.98 +1.0 +1.12 +1.33 +1.56 +1.75 +1.92 +2.12 +2.42 +2.84 +3.32 +3.76 +4.04 +4.08 +3.92 +3.63 +3.32 +3.05 +2.83 +2.59 +2.29 +1.93 +1.56 +1.26 +1.08 +1.01 +0.99 +0.93 +0.77 +0.53 +0.29 +0.12 +0.09 +0.17 +0.3 +0.36 +0.36 +0.31 +0.18 +0.03 +0.0 +0.02 +0.19 +0.38 +0.51 +0.5 +0.36 +0.18 +0.05 +0.04 +0.15 +0.33 +0.5 +0.59 +0.57 +0.47 +0.33 +0.22 +0.18 +0.2 +0.28 +0.36 +0.41 +0.42 +0.4 +0.4 +0.45 +0.58 +0.75 +0.91 +0.98 +0.96 +0.87 +0.78 +0.78 +0.86 +1.01 +1.14 +1.22 +1.24 +1.28 +1.42 +1.7 +2.09 +2.48 +2.74 +2.82 +2.7 +2.48 +2.26 +2.11 +2.01 +1.92 +1.77 +1.56 +1.32 +1.12 +1.01 +0.99 +1.02 +1.01 +0.91 +0.71 +0.47 +0.28 +0.2 +0.23 +0.31 +0.36 +0.31 +0.18 +0.03 +0.0 +0.02 +0.19 +0.38 +0.51 +0.5 +0.36 +0.18 +0.05 +0.04 +0.15 +0.33 +0.5 +0.59 +0.57 +0.47 +0.33 +0.22 +0.18 +0.2 +0.28 +0.36 +0.41 +0.42 +0.4 +0.4 +0.45 +0.58 +0.75 +0.91 +0.98 +0.96 +0.87 +0.78 +0.78 +0.86 +1.01 +1.14 +1.22 +1.24 +1.28 +1.42 +1.7 +2.09 +2.48 +2.74 +2.82 +2.7 +2.48 +2.26 +2.11 +2.01 +1.92 +1.77 +1.56 +1.32 +1.12 +1.01 +0.99 +1.02 +1.01 +0.91 +0.71 +0.47 +0.28 +0.2 +0.23 +0.31 +0.36 +0.42 +0.38 +0.26 +0.12 +0.04 +0.08 +0.23 +0.41 +0.53 +0.52 +0.37 +0.16 +0.0 +0.0 +0.07 +0.27 +0.47 +0.59 +0.59 +0.5 +0.38 +0.29 +0.28 +0.34 +0.44 +0.53 +0.57 +0.57 +0.53 +0.51 +0.54 +0.62 +0.73 +0.81 +0.82 +0.75 +0.64 +0.57 +0.57 +0.65 +0.75 +0.81 +0.77 +0.67 +0.57 +0.56 +0.71 +0.99 +1.3 +1.53 +1.6 +1.51 +1.34 +1.19 +1.12 +1.14 +1.17 +1.17 +1.09 +0.96 +0.84 +0.79 +0.83 +0.92 +0.97 +0.94 +0.81 +0.61 +0.44 +0.34 +0.34 +0.39 +0.42 +0.38 +0.26 +0.12 +0.04 +0.08 +0.23 +0.41 +0.53 +0.52 +0.37 +0.16 +0.0 +0.0 +0.07 +0.27 +0.47 +0.59 +0.59 +0.5 +0.38 +0.29 +0.28 +0.34 +0.44 +0.53 +0.57 +0.57 +0.53 +0.51 +0.54 +0.62 +0.73 +0.81 +0.82 +0.75 +0.64 +0.57 +0.57 +0.65 +0.75 +0.81 +0.77 +0.67 +0.57 +0.56 +0.71 +0.99 +1.3 +1.53 +1.6 +1.51 +1.34 +1.19 +1.12 +1.14 +1.17 +1.17 +1.09 +0.96 +0.84 +0.79 +0.83 +0.92 +0.97 +0.94 +0.81 +0.61 +0.44 +0.34 +0.34 +0.39 +0.42 +0.56 +0.54 +0.45 +0.32 +0.24 +0.25 +0.37 +0.53 +0.63 +0.61 +0.45 +0.22 +0.04 +0.0 +0.07 +0.27 +0.48 +0.61 +0.61 +0.53 +0.43 +0.37 +0.4 +0.48 +0.59 +0.65 +0.66 +0.62 +0.56 +0.54 +0.56 +0.61 +0.67 +0.68 +0.63 +0.53 +0.44 +0.4 +0.43 +0.53 +0.62 +0.63 +0.52 +0.33 +0.13 +0.03 +0.09 +0.28 +0.52 +0.69 +0.73 +0.64 +0.49 +0.37 +0.34 +0.42 +0.53 +0.62 +0.63 +0.58 +0.52 +0.51 +0.58 +0.71 +0.82 +0.87 +0.81 +0.69 +0.55 +0.46 +0.46 +0.51 +0.56 +0.54 +0.45 +0.32 +0.24 +0.25 +0.37 +0.53 +0.63 +0.61 +0.45 +0.22 +0.04 +0.0 +0.07 +0.27 +0.48 +0.61 +0.61 +0.53 +0.43 +0.37 +0.4 +0.48 +0.59 +0.65 +0.66 +0.62 +0.56 +0.54 +0.56 +0.61 +0.67 +0.68 +0.63 +0.53 +0.44 +0.4 +0.43 +0.53 +0.62 +0.63 +0.52 +0.33 +0.13 +0.03 +0.09 +0.28 +0.52 +0.69 +0.73 +0.64 +0.49 +0.37 +0.34 +0.42 +0.53 +0.62 +0.63 +0.58 +0.52 +0.51 +0.58 +0.71 +0.82 +0.87 +0.81 +0.69 +0.55 +0.46 +0.46 +0.51 +0.56 +0.73 +0.76 +0.71 +0.61 +0.53 +0.53 +0.62 +0.76 +0.85 +0.82 +0.66 +0.43 +0.22 +0.14 +0.21 +0.37 +0.54 +0.64 +0.62 +0.53 +0.45 +0.42 +0.48 +0.59 +0.68 +0.71 +0.66 +0.57 +0.5 +0.48 +0.51 +0.57 +0.6 +0.57 +0.48 +0.37 +0.29 +0.29 +0.37 +0.5 +0.59 +0.57 +0.44 +0.21 +0.0 +0.0 +0.0 +0.0 +0.17 +0.31 +0.32 +0.21 +0.04 +0.0 +0.0 +0.0 +0.11 +0.24 +0.3 +0.3 +0.26 +0.26 +0.32 +0.46 +0.6 +0.7 +0.71 +0.66 +0.58 +0.53 +0.56 +0.65 +0.73 +0.76 +0.71 +0.61 +0.53 +0.53 +0.62 +0.76 +0.85 +0.82 +0.66 +0.43 +0.22 +0.14 +0.21 +0.37 +0.54 +0.64 +0.62 +0.53 +0.45 +0.42 +0.48 +0.59 +0.68 +0.71 +0.66 +0.57 +0.5 +0.48 +0.51 +0.57 +0.6 +0.57 +0.48 +0.37 +0.29 +0.29 +0.37 +0.5 +0.59 +0.57 +0.44 +0.21 +0.0 +0.0 +0.0 +0.0 +0.17 +0.31 +0.32 +0.21 +0.04 +0.0 +0.0 +0.0 +0.11 +0.24 +0.3 +0.3 +0.26 +0.26 +0.32 +0.46 +0.6 +0.7 +0.71 +0.66 +0.58 +0.53 +0.56 +0.65 +0.73 +0.85 +0.95 +0.97 +0.92 +0.87 +0.88 +0.97 +1.1 +1.19 +1.18 +1.04 +0.82 +0.6 +0.49 +0.5 +0.59 +0.68 +0.71 +0.64 +0.54 +0.46 +0.46 +0.55 +0.67 +0.74 +0.72 +0.62 +0.49 +0.41 +0.4 +0.46 +0.53 +0.55 +0.5 +0.39 +0.27 +0.21 +0.24 +0.35 +0.49 +0.58 +0.56 +0.43 +0.22 +0.01 +0.0 +0.0 +0.0 +0.14 +0.25 +0.24 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.16 +0.17 +0.13 +0.11 +0.14 +0.24 +0.37 +0.48 +0.53 +0.52 +0.49 +0.5 +0.57 +0.71 +0.85 +0.95 +0.97 +0.92 +0.87 +0.88 +0.97 +1.1 +1.19 +1.18 +1.04 +0.82 +0.6 +0.49 +0.5 +0.59 +0.68 +0.71 +0.64 +0.54 +0.46 +0.46 +0.55 +0.67 +0.74 +0.72 +0.62 +0.49 +0.41 +0.4 +0.46 +0.53 +0.55 +0.5 +0.39 +0.27 +0.21 +0.24 +0.35 +0.49 +0.58 +0.56 +0.43 +0.22 +0.01 +0.0 +0.0 +0.0 +0.14 +0.25 +0.24 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.16 +0.17 +0.13 +0.11 +0.14 +0.24 +0.37 +0.48 +0.53 +0.52 +0.49 +0.5 +0.57 +0.71 +0.85 +0.85 +1.03 +1.13 +1.17 +1.19 +1.25 +1.37 +1.52 +1.64 +1.67 +1.57 +1.38 +1.18 +1.03 +0.98 +0.98 +0.96 +0.89 +0.76 +0.61 +0.53 +0.55 +0.65 +0.77 +0.82 +0.76 +0.62 +0.47 +0.37 +0.37 +0.44 +0.51 +0.53 +0.47 +0.35 +0.24 +0.19 +0.22 +0.32 +0.44 +0.52 +0.5 +0.4 +0.24 +0.08 +0.0 +0.0 +0.08 +0.21 +0.31 +0.32 +0.22 +0.06 +0.0 +0.0 +0.0 +0.0 +0.07 +0.16 +0.19 +0.15 +0.09 +0.06 +0.09 +0.16 +0.24 +0.28 +0.3 +0.3 +0.35 +0.46 +0.65 +0.85 +1.03 +1.13 +1.17 +1.19 +1.25 +1.37 +1.52 +1.64 +1.67 +1.57 +1.38 +1.18 +1.03 +0.98 +0.98 +0.96 +0.89 +0.76 +0.61 +0.53 +0.55 +0.65 +0.77 +0.82 +0.76 +0.62 +0.47 +0.37 +0.37 +0.44 +0.51 +0.53 +0.47 +0.35 +0.24 +0.19 +0.22 +0.32 +0.44 +0.52 +0.5 +0.4 +0.24 +0.08 +0.0 +0.0 +0.08 +0.21 +0.31 +0.32 +0.22 +0.06 +0.0 +0.0 +0.0 +0.0 +0.07 +0.16 +0.19 +0.15 +0.09 +0.06 +0.09 +0.16 +0.24 +0.28 +0.3 +0.3 +0.35 +0.46 +0.65 +0.85 +0.73 +0.97 +1.17 +1.3 +1.42 +1.56 +1.74 +1.95 +2.12 +2.2 +2.17 +2.04 +1.88 +1.73 +1.63 +1.54 +1.43 +1.26 +1.06 +0.87 +0.77 +0.77 +0.86 +0.95 +0.97 +0.89 +0.72 +0.55 +0.44 +0.42 +0.47 +0.52 +0.53 +0.46 +0.34 +0.23 +0.17 +0.18 +0.25 +0.33 +0.38 +0.37 +0.31 +0.21 +0.11 +0.05 +0.05 +0.12 +0.22 +0.32 +0.36 +0.31 +0.19 +0.04 +0.0 +0.0 +0.0 +0.12 +0.23 +0.26 +0.22 +0.13 +0.04 +0.0 +0.0 +0.02 +0.04 +0.05 +0.06 +0.12 +0.26 +0.47 +0.73 +0.97 +1.17 +1.3 +1.42 +1.56 +1.74 +1.95 +2.12 +2.2 +2.17 +2.04 +1.88 +1.73 +1.63 +1.54 +1.43 +1.26 +1.06 +0.87 +0.77 +0.77 +0.86 +0.95 +0.97 +0.89 +0.72 +0.55 +0.44 +0.42 +0.47 +0.52 +0.53 +0.46 +0.34 +0.23 +0.17 +0.18 +0.25 +0.33 +0.38 +0.37 +0.31 +0.21 +0.11 +0.05 +0.05 +0.12 +0.22 +0.32 +0.36 +0.31 +0.19 +0.04 +0.0 +0.0 +0.0 +0.12 +0.23 +0.26 +0.22 +0.13 +0.04 +0.0 +0.0 +0.02 +0.04 +0.05 +0.06 +0.12 +0.26 +0.47 +0.73 +0.53 +0.82 +1.08 +1.31 +1.52 +1.74 +2.0 +2.27 +2.5 +2.66 +2.71 +2.67 +2.58 +2.47 +2.36 +2.24 +2.07 +1.85 +1.6 +1.37 +1.22 +1.18 +1.22 +1.25 +1.23 +1.11 +0.92 +0.73 +0.59 +0.53 +0.53 +0.54 +0.51 +0.43 +0.31 +0.21 +0.14 +0.13 +0.14 +0.17 +0.19 +0.19 +0.18 +0.14 +0.09 +0.04 +0.02 +0.05 +0.12 +0.22 +0.3 +0.31 +0.24 +0.12 +0.01 +0.0 +0.01 +0.13 +0.24 +0.3 +0.26 +0.16 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.26 +0.53 +0.82 +1.08 +1.31 +1.52 +1.74 +2.0 +2.27 +2.5 +2.66 +2.71 +2.67 +2.58 +2.47 +2.36 +2.24 +2.07 +1.85 +1.6 +1.37 +1.22 +1.18 +1.22 +1.25 +1.23 +1.11 +0.92 +0.73 +0.59 +0.53 +0.53 +0.54 +0.51 +0.43 +0.31 +0.21 +0.14 +0.13 +0.14 +0.17 +0.19 +0.19 +0.18 +0.14 +0.09 +0.04 +0.02 +0.05 +0.12 +0.22 +0.3 +0.31 +0.24 +0.12 +0.01 +0.0 +0.01 +0.13 +0.24 +0.3 +0.26 +0.16 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.26 +0.53 +0.37 +0.66 +0.95 +1.23 +1.5 +1.78 +2.09 +2.4 +2.69 +2.91 +3.04 +3.1 +3.11 +3.09 +3.04 +2.96 +2.8 +2.59 +2.33 +2.08 +1.89 +1.78 +1.73 +1.68 +1.59 +1.42 +1.2 +0.98 +0.8 +0.68 +0.61 +0.54 +0.46 +0.36 +0.24 +0.15 +0.08 +0.04 +0.02 +0.01 +0.01 +0.02 +0.04 +0.05 +0.04 +0.0 +0.0 +0.0 +0.0 +0.03 +0.14 +0.2 +0.19 +0.1 +0.0 +0.0 +0.0 +0.02 +0.14 +0.22 +0.21 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.37 +0.66 +0.95 +1.23 +1.5 +1.78 +2.09 +2.4 +2.69 +2.91 +3.04 +3.1 +3.11 +3.09 +3.04 +2.96 +2.8 +2.59 +2.33 +2.08 +1.89 +1.78 +1.73 +1.68 +1.59 +1.42 +1.2 +0.98 +0.8 +0.68 +0.61 +0.54 +0.46 +0.36 +0.24 +0.15 +0.08 +0.04 +0.02 +0.01 +0.01 +0.02 +0.04 +0.05 +0.04 +0.0 +0.0 +0.0 +0.0 +0.03 +0.14 +0.2 +0.19 +0.1 +0.0 +0.0 +0.0 +0.02 +0.14 +0.22 +0.21 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.37 +0.32 +0.59 +0.86 +1.13 +1.4 +1.7 +2.01 +2.33 +2.62 +2.87 +3.07 +3.22 +3.35 +3.45 +3.51 +3.53 +3.46 +3.31 +3.1 +2.87 +2.66 +2.48 +2.33 +2.19 +2.0 +1.78 +1.52 +1.27 +1.05 +0.86 +0.7 +0.55 +0.4 +0.26 +0.14 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.08 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.32 +0.59 +0.86 +1.13 +1.4 +1.7 +2.01 +2.33 +2.62 +2.87 +3.07 +3.22 +3.35 +3.45 +3.51 +3.53 +3.46 +3.31 +3.1 +2.87 +2.66 +2.48 +2.33 +2.19 +2.0 +1.78 +1.52 +1.27 +1.05 +0.86 +0.7 +0.55 +0.4 +0.26 +0.14 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.08 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.32 +0.43 +0.64 +0.85 +1.07 +1.3 +1.54 +1.81 +2.08 +2.33 +2.57 +2.8 +3.01 +3.23 +3.46 +3.65 +3.8 +3.86 +3.83 +3.72 +3.55 +3.35 +3.14 +2.92 +2.69 +2.43 +2.15 +1.87 +1.59 +1.33 +1.09 +0.85 +0.61 +0.38 +0.18 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.24 +0.43 +0.64 +0.85 +1.07 +1.3 +1.54 +1.81 +2.08 +2.33 +2.57 +2.8 +3.01 +3.23 +3.46 +3.65 +3.8 +3.86 +3.83 +3.72 +3.55 +3.35 +3.14 +2.92 +2.69 +2.43 +2.15 +1.87 +1.59 +1.33 +1.09 +0.85 +0.61 +0.38 +0.18 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.24 +0.43 +0.66 +0.81 +0.95 +1.09 +1.23 +1.38 +1.55 +1.73 +1.91 +2.1 +2.31 +2.55 +2.83 +3.13 +3.44 +3.7 +3.89 +4.0 +4.02 +3.95 +3.82 +3.62 +3.38 +3.1 +2.8 +2.5 +2.21 +1.94 +1.67 +1.38 +1.08 +0.76 +0.44 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.1 +0.18 +0.27 +0.37 +0.51 +0.66 +0.81 +0.95 +1.09 +1.23 +1.38 +1.55 +1.73 +1.91 +2.1 +2.31 +2.55 +2.83 +3.13 +3.44 +3.7 +3.89 +4.0 +4.02 +3.95 +3.82 +3.62 +3.38 +3.1 +2.8 +2.5 +2.21 +1.94 +1.67 +1.38 +1.08 +0.76 +0.44 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.1 +0.18 +0.27 +0.37 +0.51 +0.66 +0.94 +1.05 +1.12 +1.17 +1.21 +1.26 +1.31 +1.38 +1.46 +1.58 +1.74 +1.97 +2.26 +2.59 +2.93 +3.26 +3.54 +3.75 +3.9 +3.96 +3.92 +3.79 +3.58 +3.32 +3.03 +2.76 +2.51 +2.27 +2.02 +1.73 +1.39 +1.01 +0.62 +0.28 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.16 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.01 +0.01 +0.05 +0.13 +0.23 +0.34 +0.45 +0.56 +0.67 +0.81 +0.94 +1.05 +1.12 +1.17 +1.21 +1.26 +1.31 +1.38 +1.46 +1.58 +1.74 +1.97 +2.26 +2.59 +2.93 +3.26 +3.54 +3.75 +3.9 +3.96 +3.92 +3.79 +3.58 +3.32 +3.03 +2.76 +2.51 +2.27 +2.02 +1.73 +1.39 +1.01 +0.62 +0.28 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.16 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.01 +0.01 +0.05 +0.13 +0.23 +0.34 +0.45 +0.56 +0.67 +0.81 +0.94 +1.18 +1.27 +1.3 +1.28 +1.24 +1.18 +1.12 +1.08 +1.07 +1.12 +1.23 +1.43 +1.68 +1.97 +2.28 +2.58 +2.88 +3.15 +3.4 +3.58 +3.66 +3.62 +3.48 +3.27 +3.05 +2.85 +2.68 +2.53 +2.34 +2.08 +1.74 +1.33 +0.9 +0.51 +0.21 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.38 +0.46 +0.4 +0.22 +0.03 +0.0 +0.0 +0.02 +0.16 +0.26 +0.28 +0.26 +0.23 +0.25 +0.33 +0.44 +0.57 +0.69 +0.81 +0.94 +1.07 +1.18 +1.27 +1.3 +1.28 +1.24 +1.18 +1.12 +1.08 +1.07 +1.12 +1.23 +1.43 +1.68 +1.97 +2.28 +2.58 +2.88 +3.15 +3.4 +3.58 +3.66 +3.62 +3.48 +3.27 +3.05 +2.85 +2.68 +2.53 +2.34 +2.08 +1.74 +1.33 +0.9 +0.51 +0.21 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.38 +0.46 +0.4 +0.22 +0.03 +0.0 +0.0 +0.02 +0.16 +0.26 +0.28 +0.26 +0.23 +0.25 +0.33 +0.44 +0.57 +0.69 +0.81 +0.94 +1.07 +1.18 +1.35 +1.42 +1.43 +1.38 +1.27 +1.13 +0.97 +0.84 +0.77 +0.77 +0.87 +1.03 +1.23 +1.43 +1.63 +1.84 +2.07 +2.35 +2.65 +2.92 +3.09 +3.15 +3.08 +2.94 +2.81 +2.71 +2.66 +2.62 +2.53 +2.33 +2.02 +1.63 +1.22 +0.85 +0.55 +0.34 +0.19 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.11 +0.28 +0.52 +0.73 +0.82 +0.76 +0.57 +0.36 +0.23 +0.25 +0.38 +0.53 +0.62 +0.62 +0.54 +0.47 +0.45 +0.5 +0.62 +0.76 +0.89 +1.01 +1.13 +1.25 +1.35 +1.42 +1.43 +1.38 +1.27 +1.13 +0.97 +0.84 +0.77 +0.77 +0.87 +1.03 +1.23 +1.43 +1.63 +1.84 +2.07 +2.35 +2.65 +2.92 +3.09 +3.15 +3.08 +2.94 +2.81 +2.71 +2.66 +2.62 +2.53 +2.33 +2.02 +1.63 +1.22 +0.85 +0.55 +0.34 +0.19 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.11 +0.28 +0.52 +0.73 +0.82 +0.76 +0.57 +0.36 +0.23 +0.25 +0.38 +0.53 +0.62 +0.62 +0.54 +0.47 +0.45 +0.5 +0.62 +0.76 +0.89 +1.01 +1.13 +1.25 +1.35 +1.42 +1.48 +1.49 +1.43 +1.29 +1.09 +0.86 +0.67 +0.55 +0.55 +0.66 +0.81 +0.96 +1.06 +1.11 +1.17 +1.29 +1.52 +1.83 +2.15 +2.39 +2.49 +2.47 +2.39 +2.33 +2.34 +2.42 +2.51 +2.52 +2.41 +2.17 +1.85 +1.51 +1.23 +1.02 +0.85 +0.69 +0.48 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.16 +0.22 +0.33 +0.53 +0.8 +1.04 +1.15 +1.07 +0.86 +0.64 +0.51 +0.55 +0.71 +0.88 +0.97 +0.92 +0.78 +0.64 +0.57 +0.61 +0.73 +0.89 +1.04 +1.15 +1.25 +1.34 +1.42 +1.48 +1.49 +1.43 +1.29 +1.09 +0.86 +0.67 +0.55 +0.55 +0.66 +0.81 +0.96 +1.06 +1.11 +1.17 +1.29 +1.52 +1.83 +2.15 +2.39 +2.49 +2.47 +2.39 +2.33 +2.34 +2.42 +2.51 +2.52 +2.41 +2.17 +1.85 +1.51 +1.23 +1.02 +0.85 +0.69 +0.48 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.16 +0.22 +0.33 +0.53 +0.8 +1.04 +1.15 +1.07 +0.86 +0.64 +0.51 +0.55 +0.71 +0.88 +0.97 +0.92 +0.78 +0.64 +0.57 +0.61 +0.73 +0.89 +1.04 +1.15 +1.25 +1.34 +1.42 +1.42 +1.47 +1.49 +1.44 +1.28 +1.04 +0.77 +0.54 +0.41 +0.44 +0.58 +0.75 +0.87 +0.87 +0.78 +0.67 +0.67 +0.83 +1.12 +1.46 +1.71 +1.82 +1.8 +1.73 +1.71 +1.81 +2.0 +2.2 +2.31 +2.27 +2.12 +1.9 +1.7 +1.58 +1.52 +1.46 +1.33 +1.08 +0.72 +0.33 +0.01 +0.0 +0.0 +0.0 +0.16 +0.27 +0.32 +0.35 +0.45 +0.66 +0.96 +1.22 +1.34 +1.25 +1.01 +0.77 +0.65 +0.72 +0.92 +1.13 +1.21 +1.12 +0.92 +0.71 +0.6 +0.63 +0.78 +0.97 +1.13 +1.24 +1.31 +1.36 +1.42 +1.47 +1.49 +1.44 +1.28 +1.04 +0.77 +0.54 +0.41 +0.44 +0.58 +0.75 +0.87 +0.87 +0.78 +0.67 +0.67 +0.83 +1.12 +1.46 +1.71 +1.82 +1.8 +1.73 +1.71 +1.81 +2.0 +2.2 +2.31 +2.27 +2.12 +1.9 +1.7 +1.58 +1.52 +1.46 +1.33 +1.08 +0.72 +0.33 +0.01 +0.0 +0.0 +0.0 +0.16 +0.27 +0.32 +0.35 +0.45 +0.66 +0.96 +1.22 +1.34 +1.25 +1.01 +0.77 +0.65 +0.72 +0.92 +1.13 +1.21 +1.12 +0.92 +0.71 +0.6 +0.63 +0.78 +0.97 +1.13 +1.24 +1.31 +1.36 +1.42 +1.38 +1.42 +1.45 +1.42 +1.27 +1.01 +0.7 +0.45 +0.33 +0.4 +0.59 +0.8 +0.91 +0.84 +0.63 +0.4 +0.3 +0.39 +0.67 +0.99 +1.23 +1.3 +1.23 +1.13 +1.12 +1.26 +1.51 +1.77 +1.94 +1.96 +1.87 +1.77 +1.73 +1.81 +1.94 +2.03 +1.98 +1.72 +1.3 +0.81 +0.41 +0.2 +0.18 +0.29 +0.42 +0.47 +0.44 +0.4 +0.46 +0.66 +0.96 +1.23 +1.34 +1.23 +0.97 +0.72 +0.62 +0.73 +0.98 +1.22 +1.31 +1.19 +0.94 +0.68 +0.54 +0.58 +0.77 +1.0 +1.19 +1.3 +1.34 +1.35 +1.38 +1.42 +1.45 +1.42 +1.27 +1.01 +0.7 +0.45 +0.33 +0.4 +0.59 +0.8 +0.91 +0.84 +0.63 +0.4 +0.3 +0.39 +0.67 +0.99 +1.23 +1.3 +1.23 +1.13 +1.12 +1.26 +1.51 +1.77 +1.94 +1.96 +1.87 +1.77 +1.73 +1.81 +1.94 +2.03 +1.98 +1.72 +1.3 +0.81 +0.41 +0.2 +0.18 +0.29 +0.42 +0.47 +0.44 +0.4 +0.46 +0.66 +0.96 +1.23 +1.34 +1.23 +0.97 +0.72 +0.62 +0.73 +0.98 +1.22 +1.31 +1.19 +0.94 +0.68 +0.54 +0.58 +0.77 +1.0 +1.19 +1.3 +1.34 +1.35 +1.38 +1.34 +1.37 +1.41 +1.39 +1.25 +0.99 +0.67 +0.41 +0.32 +0.42 +0.66 +0.92 +1.03 +0.92 +0.65 +0.35 +0.18 +0.24 +0.5 +0.81 +1.01 +1.03 +0.89 +0.73 +0.69 +0.82 +1.07 +1.34 +1.51 +1.54 +1.5 +1.48 +1.59 +1.84 +2.17 +2.42 +2.46 +2.24 +1.81 +1.3 +0.87 +0.63 +0.59 +0.67 +0.73 +0.69 +0.57 +0.44 +0.43 +0.59 +0.87 +1.11 +1.2 +1.06 +0.79 +0.53 +0.45 +0.6 +0.9 +1.18 +1.28 +1.15 +0.87 +0.59 +0.44 +0.5 +0.72 +1.0 +1.22 +1.33 +1.36 +1.34 +1.34 +1.37 +1.41 +1.39 +1.25 +0.99 +0.67 +0.41 +0.32 +0.42 +0.66 +0.92 +1.03 +0.92 +0.65 +0.35 +0.18 +0.24 +0.5 +0.81 +1.01 +1.03 +0.89 +0.73 +0.69 +0.82 +1.07 +1.34 +1.51 +1.54 +1.5 +1.48 +1.59 +1.84 +2.17 +2.42 +2.46 +2.24 +1.81 +1.3 +0.87 +0.63 +0.59 +0.67 +0.73 +0.69 +0.57 +0.44 +0.43 +0.59 +0.87 +1.11 +1.2 +1.06 +0.79 +0.53 +0.45 +0.6 +0.9 +1.18 +1.28 +1.15 +0.87 +0.59 +0.44 +0.5 +0.72 +1.0 +1.22 +1.33 +1.36 +1.34 +1.34 +1.32 +1.34 +1.38 +1.36 +1.23 +0.99 +0.68 +0.44 +0.36 +0.49 +0.77 +1.04 +1.17 +1.06 +0.76 +0.44 +0.27 +0.33 +0.58 +0.87 +1.04 +1.0 +0.8 +0.57 +0.47 +0.55 +0.76 +0.97 +1.09 +1.09 +1.05 +1.08 +1.28 +1.67 +2.12 +2.5 +2.64 +2.5 +2.12 +1.67 +1.28 +1.08 +1.05 +1.09 +1.09 +0.97 +0.76 +0.55 +0.47 +0.57 +0.8 +1.0 +1.04 +0.87 +0.58 +0.33 +0.27 +0.44 +0.76 +1.06 +1.17 +1.04 +0.77 +0.49 +0.36 +0.44 +0.68 +0.99 +1.23 +1.36 +1.38 +1.34 +1.32 +1.34 +1.38 +1.36 +1.23 +0.99 +0.68 +0.44 +0.36 +0.49 +0.77 +1.04 +1.17 +1.06 +0.76 +0.44 +0.27 +0.33 +0.58 +0.87 +1.04 +1.0 +0.8 +0.57 +0.47 +0.55 +0.76 +0.97 +1.09 +1.09 +1.05 +1.08 +1.28 +1.67 +2.12 +2.5 +2.64 +2.5 +2.12 +1.67 +1.28 +1.08 +1.05 +1.09 +1.09 +0.97 +0.76 +0.55 +0.47 +0.57 +0.8 +1.0 +1.04 +0.87 +0.58 +0.33 +0.27 +0.44 +0.76 +1.06 +1.17 +1.04 +0.77 +0.49 +0.36 +0.44 +0.68 +0.99 +1.23 +1.36 +1.38 +1.34 +1.32 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.36 +0.36 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.4 +0.39 +0.41 +0.5 +0.65 +0.84 +1.05 +1.27 +1.51 +1.76 +1.99 +2.17 +2.24 +2.2 +2.05 +1.83 +1.59 +1.36 +1.13 +0.92 +0.72 +0.55 +0.45 +0.41 +0.4 +0.37 +0.25 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.23 +0.34 +0.37 +0.38 +0.43 +0.55 +0.72 +0.93 +1.15 +1.37 +1.61 +1.86 +2.09 +2.25 +2.29 +2.21 +2.03 +1.78 +1.53 +1.28 +1.06 +0.85 +0.65 +0.49 +0.39 +0.36 +0.36 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.4 +0.39 +0.41 +0.5 +0.65 +0.84 +1.05 +1.27 +1.51 +1.76 +1.99 +2.17 +2.24 +2.2 +2.05 +1.83 +1.59 +1.36 +1.13 +0.92 +0.72 +0.55 +0.45 +0.41 +0.4 +0.37 +0.25 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.23 +0.34 +0.37 +0.38 +0.43 +0.55 +0.72 +0.93 +1.15 +1.37 +1.61 +1.86 +2.09 +2.25 +2.29 +2.21 +2.03 +1.78 +1.53 +1.28 +1.06 +0.85 +0.65 +0.49 +0.39 +0.36 +0.29 +0.34 +0.39 +0.37 +0.26 +0.09 +0.0 +0.0 +0.0 +0.06 +0.27 +0.43 +0.5 +0.48 +0.42 +0.38 +0.4 +0.51 +0.67 +0.88 +1.12 +1.38 +1.65 +1.92 +2.13 +2.25 +2.24 +2.13 +1.92 +1.68 +1.42 +1.17 +0.94 +0.74 +0.6 +0.52 +0.5 +0.5 +0.46 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.31 +0.38 +0.4 +0.42 +0.48 +0.61 +0.79 +1.01 +1.24 +1.49 +1.77 +2.04 +2.28 +2.42 +2.44 +2.3 +2.05 +1.74 +1.43 +1.15 +0.91 +0.69 +0.5 +0.36 +0.29 +0.29 +0.34 +0.39 +0.37 +0.26 +0.09 +0.0 +0.0 +0.0 +0.06 +0.27 +0.43 +0.5 +0.48 +0.42 +0.38 +0.4 +0.51 +0.67 +0.88 +1.12 +1.38 +1.65 +1.92 +2.13 +2.25 +2.24 +2.13 +1.92 +1.68 +1.42 +1.17 +0.94 +0.74 +0.6 +0.52 +0.5 +0.5 +0.46 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.31 +0.38 +0.4 +0.42 +0.48 +0.61 +0.79 +1.01 +1.24 +1.49 +1.77 +2.04 +2.28 +2.42 +2.44 +2.3 +2.05 +1.74 +1.43 +1.15 +0.91 +0.69 +0.5 +0.36 +0.29 +0.29 +0.24 +0.34 +0.45 +0.5 +0.47 +0.37 +0.24 +0.16 +0.19 +0.3 +0.47 +0.6 +0.65 +0.6 +0.49 +0.38 +0.33 +0.37 +0.5 +0.7 +0.95 +1.23 +1.52 +1.8 +2.04 +2.21 +2.26 +2.19 +2.01 +1.76 +1.48 +1.2 +0.97 +0.79 +0.69 +0.66 +0.67 +0.69 +0.65 +0.53 +0.35 +0.16 +0.04 +0.03 +0.13 +0.29 +0.45 +0.55 +0.58 +0.58 +0.6 +0.67 +0.81 +0.99 +1.2 +1.44 +1.7 +1.99 +2.28 +2.51 +2.63 +2.58 +2.37 +2.04 +1.66 +1.29 +0.98 +0.73 +0.52 +0.35 +0.24 +0.2 +0.24 +0.34 +0.45 +0.5 +0.47 +0.37 +0.24 +0.16 +0.19 +0.3 +0.47 +0.6 +0.65 +0.6 +0.49 +0.38 +0.33 +0.37 +0.5 +0.7 +0.95 +1.23 +1.52 +1.8 +2.04 +2.21 +2.26 +2.19 +2.01 +1.76 +1.48 +1.2 +0.97 +0.79 +0.69 +0.66 +0.67 +0.69 +0.65 +0.53 +0.35 +0.16 +0.04 +0.03 +0.13 +0.29 +0.45 +0.55 +0.58 +0.58 +0.6 +0.67 +0.81 +0.99 +1.2 +1.44 +1.7 +1.99 +2.28 +2.51 +2.63 +2.58 +2.37 +2.04 +1.66 +1.29 +0.98 +0.73 +0.52 +0.35 +0.24 +0.2 +0.24 +0.25 +0.37 +0.51 +0.62 +0.66 +0.61 +0.51 +0.42 +0.4 +0.48 +0.61 +0.73 +0.79 +0.74 +0.6 +0.45 +0.34 +0.32 +0.41 +0.59 +0.83 +1.1 +1.37 +1.65 +1.9 +2.09 +2.19 +2.17 +2.04 +1.8 +1.51 +1.23 +0.99 +0.85 +0.8 +0.84 +0.91 +0.96 +0.93 +0.83 +0.67 +0.52 +0.46 +0.5 +0.63 +0.8 +0.92 +0.98 +0.98 +0.96 +0.98 +1.06 +1.18 +1.34 +1.52 +1.73 +1.96 +2.24 +2.5 +2.7 +2.76 +2.65 +2.36 +1.96 +1.52 +1.12 +0.81 +0.57 +0.4 +0.27 +0.2 +0.19 +0.25 +0.37 +0.51 +0.62 +0.66 +0.61 +0.51 +0.42 +0.4 +0.48 +0.61 +0.73 +0.79 +0.74 +0.6 +0.45 +0.34 +0.32 +0.41 +0.59 +0.83 +1.1 +1.37 +1.65 +1.9 +2.09 +2.19 +2.17 +2.04 +1.8 +1.51 +1.23 +0.99 +0.85 +0.8 +0.84 +0.91 +0.96 +0.93 +0.83 +0.67 +0.52 +0.46 +0.5 +0.63 +0.8 +0.92 +0.98 +0.98 +0.96 +0.98 +1.06 +1.18 +1.34 +1.52 +1.73 +1.96 +2.24 +2.5 +2.7 +2.76 +2.65 +2.36 +1.96 +1.52 +1.12 +0.81 +0.57 +0.4 +0.27 +0.2 +0.19 +0.25 +0.3 +0.42 +0.56 +0.69 +0.77 +0.75 +0.67 +0.56 +0.5 +0.53 +0.64 +0.77 +0.86 +0.85 +0.73 +0.57 +0.42 +0.37 +0.42 +0.57 +0.78 +1.01 +1.25 +1.48 +1.71 +1.92 +2.06 +2.09 +2.0 +1.79 +1.51 +1.23 +1.01 +0.9 +0.92 +1.02 +1.15 +1.24 +1.24 +1.15 +1.01 +0.91 +0.91 +1.01 +1.19 +1.36 +1.47 +1.5 +1.47 +1.44 +1.46 +1.54 +1.65 +1.78 +1.91 +2.05 +2.23 +2.43 +2.63 +2.76 +2.75 +2.56 +2.21 +1.77 +1.32 +0.93 +0.65 +0.46 +0.34 +0.27 +0.23 +0.24 +0.3 +0.42 +0.56 +0.69 +0.77 +0.75 +0.67 +0.56 +0.5 +0.53 +0.64 +0.77 +0.86 +0.85 +0.73 +0.57 +0.42 +0.37 +0.42 +0.57 +0.78 +1.01 +1.25 +1.48 +1.71 +1.92 +2.06 +2.09 +2.0 +1.79 +1.51 +1.23 +1.01 +0.9 +0.92 +1.02 +1.15 +1.24 +1.24 +1.15 +1.01 +0.91 +0.91 +1.01 +1.19 +1.36 +1.47 +1.5 +1.47 +1.44 +1.46 +1.54 +1.65 +1.78 +1.91 +2.05 +2.23 +2.43 +2.63 +2.76 +2.75 +2.56 +2.21 +1.77 +1.32 +0.93 +0.65 +0.46 +0.34 +0.27 +0.23 +0.24 +0.3 +0.36 +0.45 +0.57 +0.71 +0.8 +0.81 +0.73 +0.6 +0.5 +0.48 +0.56 +0.71 +0.84 +0.89 +0.83 +0.69 +0.54 +0.46 +0.49 +0.61 +0.78 +0.97 +1.15 +1.33 +1.53 +1.73 +1.9 +1.97 +1.93 +1.75 +1.49 +1.22 +1.01 +0.93 +0.98 +1.14 +1.31 +1.44 +1.46 +1.38 +1.27 +1.21 +1.25 +1.4 +1.61 +1.8 +1.9 +1.9 +1.86 +1.83 +1.85 +1.93 +2.04 +2.14 +2.23 +2.31 +2.4 +2.52 +2.62 +2.66 +2.56 +2.31 +1.93 +1.49 +1.07 +0.72 +0.49 +0.36 +0.31 +0.29 +0.29 +0.31 +0.36 +0.45 +0.57 +0.71 +0.8 +0.81 +0.73 +0.6 +0.5 +0.48 +0.56 +0.71 +0.84 +0.89 +0.83 +0.69 +0.54 +0.46 +0.49 +0.61 +0.78 +0.97 +1.15 +1.33 +1.53 +1.73 +1.9 +1.97 +1.93 +1.75 +1.49 +1.22 +1.01 +0.93 +0.98 +1.14 +1.31 +1.44 +1.46 +1.38 +1.27 +1.21 +1.25 +1.4 +1.61 +1.8 +1.9 +1.9 +1.86 +1.83 +1.85 +1.93 +2.04 +2.14 +2.23 +2.31 +2.4 +2.52 +2.62 +2.66 +2.56 +2.31 +1.93 +1.49 +1.07 +0.72 +0.49 +0.36 +0.31 +0.29 +0.29 +0.31 +0.36 +0.36 +0.42 +0.53 +0.66 +0.77 +0.81 +0.75 +0.61 +0.46 +0.38 +0.43 +0.57 +0.74 +0.85 +0.85 +0.75 +0.62 +0.54 +0.55 +0.64 +0.79 +0.94 +1.08 +1.23 +1.4 +1.59 +1.77 +1.88 +1.88 +1.73 +1.49 +1.21 +1.0 +0.91 +0.96 +1.13 +1.32 +1.47 +1.51 +1.46 +1.37 +1.33 +1.4 +1.57 +1.8 +1.98 +2.08 +2.07 +2.01 +1.97 +2.0 +2.09 +2.22 +2.32 +2.39 +2.42 +2.44 +2.46 +2.45 +2.39 +2.22 +1.93 +1.56 +1.15 +0.77 +0.49 +0.31 +0.24 +0.23 +0.27 +0.3 +0.32 +0.36 +0.42 +0.53 +0.66 +0.77 +0.81 +0.75 +0.61 +0.46 +0.38 +0.43 +0.57 +0.74 +0.85 +0.85 +0.75 +0.62 +0.54 +0.55 +0.64 +0.79 +0.94 +1.08 +1.23 +1.4 +1.59 +1.77 +1.88 +1.88 +1.73 +1.49 +1.21 +1.0 +0.91 +0.96 +1.13 +1.32 +1.47 +1.51 +1.46 +1.37 +1.33 +1.4 +1.57 +1.8 +1.98 +2.08 +2.07 +2.01 +1.97 +2.0 +2.09 +2.22 +2.32 +2.39 +2.42 +2.44 +2.46 +2.45 +2.39 +2.22 +1.93 +1.56 +1.15 +0.77 +0.49 +0.31 +0.24 +0.23 +0.27 +0.3 +0.32 +0.36 +0.28 +0.33 +0.43 +0.58 +0.73 +0.81 +0.78 +0.63 +0.44 +0.31 +0.3 +0.43 +0.61 +0.76 +0.8 +0.74 +0.63 +0.55 +0.55 +0.63 +0.77 +0.91 +1.04 +1.18 +1.34 +1.52 +1.71 +1.84 +1.85 +1.73 +1.5 +1.22 +0.98 +0.86 +0.88 +1.01 +1.19 +1.34 +1.41 +1.39 +1.34 +1.32 +1.4 +1.57 +1.79 +1.97 +2.06 +2.04 +1.97 +1.91 +1.94 +2.04 +2.19 +2.31 +2.38 +2.39 +2.35 +2.27 +2.16 +2.0 +1.78 +1.48 +1.14 +0.79 +0.48 +0.24 +0.1 +0.06 +0.09 +0.15 +0.21 +0.25 +0.28 +0.33 +0.43 +0.58 +0.73 +0.81 +0.78 +0.63 +0.44 +0.31 +0.3 +0.43 +0.61 +0.76 +0.8 +0.74 +0.63 +0.55 +0.55 +0.63 +0.77 +0.91 +1.04 +1.18 +1.34 +1.52 +1.71 +1.84 +1.85 +1.73 +1.5 +1.22 +0.98 +0.86 +0.88 +1.01 +1.19 +1.34 +1.41 +1.39 +1.34 +1.32 +1.4 +1.57 +1.79 +1.97 +2.06 +2.04 +1.97 +1.91 +1.94 +2.04 +2.19 +2.31 +2.38 +2.39 +2.35 +2.27 +2.16 +2.0 +1.78 +1.48 +1.14 +0.79 +0.48 +0.24 +0.1 +0.06 +0.09 +0.15 +0.21 +0.25 +0.28 +0.15 +0.2 +0.31 +0.48 +0.67 +0.81 +0.82 +0.69 +0.48 +0.3 +0.24 +0.31 +0.48 +0.65 +0.72 +0.69 +0.59 +0.51 +0.5 +0.58 +0.72 +0.87 +1.01 +1.16 +1.31 +1.5 +1.67 +1.8 +1.82 +1.72 +1.5 +1.23 +0.98 +0.81 +0.77 +0.85 +1.0 +1.15 +1.25 +1.28 +1.28 +1.3 +1.4 +1.58 +1.79 +1.98 +2.06 +2.04 +1.96 +1.89 +1.89 +1.97 +2.11 +2.24 +2.31 +2.29 +2.19 +2.02 +1.81 +1.58 +1.31 +1.04 +0.75 +0.47 +0.22 +0.01 +0.0 +0.0 +0.0 +0.0 +0.05 +0.11 +0.15 +0.2 +0.31 +0.48 +0.67 +0.81 +0.82 +0.69 +0.48 +0.3 +0.24 +0.31 +0.48 +0.65 +0.72 +0.69 +0.59 +0.51 +0.5 +0.58 +0.72 +0.87 +1.01 +1.16 +1.31 +1.5 +1.67 +1.8 +1.82 +1.72 +1.5 +1.23 +0.98 +0.81 +0.77 +0.85 +1.0 +1.15 +1.25 +1.28 +1.28 +1.3 +1.4 +1.58 +1.79 +1.98 +2.06 +2.04 +1.96 +1.89 +1.89 +1.97 +2.11 +2.24 +2.31 +2.29 +2.19 +2.02 +1.81 +1.58 +1.31 +1.04 +0.75 +0.47 +0.22 +0.01 +0.0 +0.0 +0.0 +0.0 +0.05 +0.11 +0.15 +0.04 +0.09 +0.2 +0.38 +0.61 +0.79 +0.86 +0.76 +0.55 +0.34 +0.22 +0.26 +0.4 +0.57 +0.66 +0.64 +0.56 +0.47 +0.46 +0.53 +0.66 +0.82 +0.97 +1.12 +1.27 +1.43 +1.58 +1.69 +1.71 +1.63 +1.45 +1.21 +0.98 +0.8 +0.72 +0.74 +0.85 +1.01 +1.15 +1.26 +1.34 +1.43 +1.57 +1.78 +2.02 +2.22 +2.34 +2.34 +2.26 +2.16 +2.11 +2.13 +2.21 +2.3 +2.32 +2.25 +2.07 +1.81 +1.5 +1.19 +0.91 +0.66 +0.43 +0.22 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.09 +0.2 +0.38 +0.61 +0.79 +0.86 +0.76 +0.55 +0.34 +0.22 +0.26 +0.4 +0.57 +0.66 +0.64 +0.56 +0.47 +0.46 +0.53 +0.66 +0.82 +0.97 +1.12 +1.27 +1.43 +1.58 +1.69 +1.71 +1.63 +1.45 +1.21 +0.98 +0.8 +0.72 +0.74 +0.85 +1.01 +1.15 +1.26 +1.34 +1.43 +1.57 +1.78 +2.02 +2.22 +2.34 +2.34 +2.26 +2.16 +2.11 +2.13 +2.21 +2.3 +2.32 +2.25 +2.07 +1.81 +1.5 +1.19 +0.91 +0.66 +0.43 +0.22 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.0 +0.03 +0.11 +0.28 +0.51 +0.73 +0.84 +0.78 +0.6 +0.38 +0.25 +0.25 +0.38 +0.53 +0.63 +0.63 +0.56 +0.48 +0.45 +0.5 +0.61 +0.76 +0.89 +1.02 +1.14 +1.26 +1.37 +1.44 +1.46 +1.41 +1.3 +1.15 +0.98 +0.84 +0.75 +0.75 +0.84 +0.99 +1.18 +1.38 +1.56 +1.75 +1.97 +2.23 +2.53 +2.8 +2.98 +3.04 +2.99 +2.86 +2.73 +2.65 +2.61 +2.59 +2.52 +2.35 +2.06 +1.69 +1.29 +0.92 +0.62 +0.4 +0.23 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.11 +0.28 +0.51 +0.73 +0.84 +0.78 +0.6 +0.38 +0.25 +0.25 +0.38 +0.53 +0.63 +0.63 +0.56 +0.48 +0.45 +0.5 +0.61 +0.76 +0.89 +1.02 +1.14 +1.26 +1.37 +1.44 +1.46 +1.41 +1.3 +1.15 +0.98 +0.84 +0.75 +0.75 +0.84 +0.99 +1.18 +1.38 +1.56 +1.75 +1.97 +2.23 +2.53 +2.8 +2.98 +3.04 +2.99 +2.86 +2.73 +2.65 +2.61 +2.59 +2.52 +2.35 +2.06 +1.69 +1.29 +0.92 +0.62 +0.4 +0.23 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.06 +0.18 +0.39 +0.61 +0.75 +0.74 +0.6 +0.41 +0.27 +0.27 +0.37 +0.52 +0.63 +0.65 +0.6 +0.52 +0.47 +0.49 +0.56 +0.66 +0.75 +0.84 +0.91 +0.98 +1.04 +1.08 +1.1 +1.09 +1.07 +1.04 +0.98 +0.92 +0.87 +0.87 +0.94 +1.09 +1.32 +1.59 +1.87 +2.16 +2.47 +2.8 +3.17 +3.53 +3.81 +3.96 +3.95 +3.81 +3.61 +3.4 +3.22 +3.05 +2.85 +2.56 +2.17 +1.69 +1.21 +0.78 +0.47 +0.28 +0.15 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.06 +0.18 +0.39 +0.61 +0.75 +0.74 +0.6 +0.41 +0.27 +0.27 +0.37 +0.52 +0.63 +0.65 +0.6 +0.52 +0.47 +0.49 +0.56 +0.66 +0.75 +0.84 +0.91 +0.98 +1.04 +1.08 +1.1 +1.09 +1.07 +1.04 +0.98 +0.92 +0.87 +0.87 +0.94 +1.09 +1.32 +1.59 +1.87 +2.16 +2.47 +2.8 +3.17 +3.53 +3.81 +3.96 +3.95 +3.81 +3.61 +3.4 +3.22 +3.05 +2.85 +2.56 +2.17 +1.69 +1.21 +0.78 +0.47 +0.28 +0.15 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.1 +0.05 +0.02 +0.08 +0.23 +0.44 +0.6 +0.64 +0.55 +0.4 +0.28 +0.27 +0.36 +0.5 +0.62 +0.67 +0.64 +0.57 +0.51 +0.48 +0.49 +0.52 +0.56 +0.59 +0.62 +0.64 +0.66 +0.68 +0.69 +0.74 +0.8 +0.89 +0.97 +1.01 +1.02 +1.02 +1.07 +1.21 +1.44 +1.75 +2.1 +2.45 +2.82 +3.21 +3.63 +4.06 +4.44 +4.69 +4.75 +4.64 +4.39 +4.09 +3.78 +3.48 +3.16 +2.78 +2.31 +1.77 +1.24 +0.79 +0.47 +0.3 +0.2 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.1 +0.05 +0.02 +0.08 +0.23 +0.44 +0.6 +0.64 +0.55 +0.4 +0.28 +0.27 +0.36 +0.5 +0.62 +0.67 +0.64 +0.57 +0.51 +0.48 +0.49 +0.52 +0.56 +0.59 +0.62 +0.64 +0.66 +0.68 +0.69 +0.74 +0.8 +0.89 +0.97 +1.01 +1.02 +1.02 +1.07 +1.21 +1.44 +1.75 +2.1 +2.45 +2.82 +3.21 +3.63 +4.06 +4.44 +4.69 +4.75 +4.64 +4.39 +4.09 +3.78 +3.48 +3.16 +2.78 +2.31 +1.77 +1.24 +0.79 +0.47 +0.3 +0.2 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.1 +0.16 +0.07 +0.0 +0.0 +0.08 +0.26 +0.43 +0.51 +0.48 +0.36 +0.26 +0.23 +0.31 +0.44 +0.56 +0.64 +0.64 +0.59 +0.52 +0.45 +0.4 +0.37 +0.36 +0.36 +0.36 +0.37 +0.36 +0.36 +0.37 +0.44 +0.57 +0.75 +0.93 +1.06 +1.12 +1.12 +1.14 +1.23 +1.43 +1.73 +2.08 +2.45 +2.81 +3.2 +3.62 +4.08 +4.52 +4.85 +4.99 +4.93 +4.68 +4.34 +3.97 +3.62 +3.25 +2.85 +2.37 +1.84 +1.31 +0.88 +0.58 +0.41 +0.33 +0.25 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.16 +0.16 +0.07 +0.0 +0.0 +0.08 +0.26 +0.43 +0.51 +0.48 +0.36 +0.26 +0.23 +0.31 +0.44 +0.56 +0.64 +0.64 +0.59 +0.52 +0.45 +0.4 +0.37 +0.36 +0.36 +0.36 +0.37 +0.36 +0.36 +0.37 +0.44 +0.57 +0.75 +0.93 +1.06 +1.12 +1.12 +1.14 +1.23 +1.43 +1.73 +2.08 +2.45 +2.81 +3.2 +3.62 +4.08 +4.52 +4.85 +4.99 +4.93 +4.68 +4.34 +3.97 +3.62 +3.25 +2.85 +2.37 +1.84 +1.31 +0.88 +0.58 +0.41 +0.33 +0.25 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.16 +0.16 +0.17 +0.05 +0.0 +0.0 +0.0 +0.11 +0.29 +0.41 +0.41 +0.33 +0.22 +0.17 +0.21 +0.32 +0.45 +0.56 +0.6 +0.58 +0.5 +0.41 +0.31 +0.24 +0.21 +0.2 +0.22 +0.23 +0.23 +0.21 +0.22 +0.28 +0.43 +0.65 +0.88 +1.05 +1.12 +1.11 +1.08 +1.11 +1.25 +1.5 +1.8 +2.1 +2.4 +2.71 +3.06 +3.48 +3.92 +4.28 +4.49 +4.49 +4.29 +3.98 +3.63 +3.3 +2.99 +2.65 +2.25 +1.8 +1.34 +0.96 +0.7 +0.56 +0.49 +0.42 +0.29 +0.1 +0.0 +0.0 +0.0 +0.0 +0.11 +0.19 +0.17 +0.05 +0.0 +0.0 +0.0 +0.11 +0.29 +0.41 +0.41 +0.33 +0.22 +0.17 +0.21 +0.32 +0.45 +0.56 +0.6 +0.58 +0.5 +0.41 +0.31 +0.24 +0.21 +0.2 +0.22 +0.23 +0.23 +0.21 +0.22 +0.28 +0.43 +0.65 +0.88 +1.05 +1.12 +1.11 +1.08 +1.11 +1.25 +1.5 +1.8 +2.1 +2.4 +2.71 +3.06 +3.48 +3.92 +4.28 +4.49 +4.49 +4.29 +3.98 +3.63 +3.3 +2.99 +2.65 +2.25 +1.8 +1.34 +0.96 +0.7 +0.56 +0.49 +0.42 +0.29 +0.1 +0.0 +0.0 +0.0 +0.0 +0.11 +0.19 +0.17 +0.14 +0.02 +0.0 +0.0 +0.0 +0.0 +0.19 +0.33 +0.36 +0.29 +0.17 +0.08 +0.08 +0.17 +0.32 +0.46 +0.55 +0.56 +0.49 +0.38 +0.26 +0.18 +0.15 +0.17 +0.22 +0.26 +0.27 +0.25 +0.23 +0.27 +0.4 +0.6 +0.82 +0.97 +1.02 +0.98 +0.9 +0.88 +0.96 +1.14 +1.35 +1.55 +1.72 +1.89 +2.11 +2.42 +2.8 +3.16 +3.39 +3.44 +3.32 +3.08 +2.81 +2.57 +2.38 +2.17 +1.92 +1.6 +1.27 +0.97 +0.76 +0.66 +0.62 +0.57 +0.46 +0.28 +0.1 +0.0 +0.0 +0.02 +0.12 +0.18 +0.14 +0.02 +0.0 +0.0 +0.0 +0.0 +0.19 +0.33 +0.36 +0.29 +0.17 +0.08 +0.08 +0.17 +0.32 +0.46 +0.55 +0.56 +0.49 +0.38 +0.26 +0.18 +0.15 +0.17 +0.22 +0.26 +0.27 +0.25 +0.23 +0.27 +0.4 +0.6 +0.82 +0.97 +1.02 +0.98 +0.9 +0.88 +0.96 +1.14 +1.35 +1.55 +1.72 +1.89 +2.11 +2.42 +2.8 +3.16 +3.39 +3.44 +3.32 +3.08 +2.81 +2.57 +2.38 +2.17 +1.92 +1.6 +1.27 +0.97 +0.76 +0.66 +0.62 +0.57 +0.46 +0.28 +0.1 +0.0 +0.0 +0.02 +0.12 +0.18 +0.14 +0.13 +0.01 +0.0 +0.0 +0.0 +0.0 +0.12 +0.27 +0.31 +0.24 +0.1 +0.0 +0.0 +0.02 +0.19 +0.38 +0.52 +0.56 +0.51 +0.38 +0.26 +0.18 +0.18 +0.25 +0.34 +0.4 +0.41 +0.38 +0.34 +0.35 +0.43 +0.59 +0.75 +0.85 +0.86 +0.78 +0.68 +0.63 +0.68 +0.8 +0.93 +1.01 +1.03 +1.03 +1.09 +1.27 +1.55 +1.85 +2.08 +2.17 +2.09 +1.93 +1.75 +1.63 +1.57 +1.52 +1.43 +1.27 +1.06 +0.85 +0.72 +0.66 +0.66 +0.65 +0.58 +0.44 +0.27 +0.12 +0.06 +0.08 +0.14 +0.18 +0.13 +0.01 +0.0 +0.0 +0.0 +0.0 +0.12 +0.27 +0.31 +0.24 +0.1 +0.0 +0.0 +0.02 +0.19 +0.38 +0.52 +0.56 +0.51 +0.38 +0.26 +0.18 +0.18 +0.25 +0.34 +0.4 +0.41 +0.38 +0.34 +0.35 +0.43 +0.59 +0.75 +0.85 +0.86 +0.78 +0.68 +0.63 +0.68 +0.8 +0.93 +1.01 +1.03 +1.03 +1.09 +1.27 +1.55 +1.85 +2.08 +2.17 +2.09 +1.93 +1.75 +1.63 +1.57 +1.52 +1.43 +1.27 +1.06 +0.85 +0.72 +0.66 +0.66 +0.65 +0.58 +0.44 +0.27 +0.12 +0.06 +0.08 +0.14 +0.18 +0.13 +0.18 +0.07 +0.0 +0.0 +0.0 +0.0 +0.08 +0.23 +0.28 +0.2 +0.04 +0.0 +0.0 +0.0 +0.11 +0.35 +0.53 +0.59 +0.54 +0.41 +0.29 +0.24 +0.28 +0.38 +0.49 +0.56 +0.56 +0.51 +0.45 +0.44 +0.5 +0.6 +0.7 +0.73 +0.68 +0.57 +0.48 +0.45 +0.5 +0.6 +0.67 +0.65 +0.54 +0.4 +0.31 +0.36 +0.54 +0.79 +0.99 +1.07 +1.02 +0.89 +0.77 +0.73 +0.77 +0.85 +0.89 +0.86 +0.76 +0.64 +0.57 +0.56 +0.6 +0.65 +0.64 +0.56 +0.41 +0.27 +0.19 +0.17 +0.21 +0.23 +0.18 +0.07 +0.0 +0.0 +0.0 +0.0 +0.08 +0.23 +0.28 +0.2 +0.04 +0.0 +0.0 +0.0 +0.11 +0.35 +0.53 +0.59 +0.54 +0.41 +0.29 +0.24 +0.28 +0.38 +0.49 +0.56 +0.56 +0.51 +0.45 +0.44 +0.5 +0.6 +0.7 +0.73 +0.68 +0.57 +0.48 +0.45 +0.5 +0.6 +0.67 +0.65 +0.54 +0.4 +0.31 +0.36 +0.54 +0.79 +0.99 +1.07 +1.02 +0.89 +0.77 +0.73 +0.77 +0.85 +0.89 +0.86 +0.76 +0.64 +0.57 +0.56 +0.6 +0.65 +0.64 +0.56 +0.41 +0.27 +0.19 +0.17 +0.21 +0.23 +0.18 +0.32 +0.22 +0.07 +0.0 +0.0 +0.0 +0.1 +0.23 +0.27 +0.19 +0.02 +0.0 +0.0 +0.0 +0.09 +0.35 +0.54 +0.61 +0.55 +0.43 +0.33 +0.3 +0.37 +0.49 +0.6 +0.65 +0.62 +0.56 +0.5 +0.5 +0.55 +0.63 +0.67 +0.63 +0.54 +0.42 +0.34 +0.36 +0.45 +0.56 +0.6 +0.52 +0.32 +0.08 +0.0 +0.0 +0.0 +0.18 +0.35 +0.41 +0.35 +0.22 +0.12 +0.1 +0.18 +0.32 +0.44 +0.5 +0.47 +0.41 +0.38 +0.4 +0.48 +0.58 +0.63 +0.6 +0.5 +0.39 +0.3 +0.28 +0.31 +0.34 +0.32 +0.22 +0.07 +0.0 +0.0 +0.0 +0.1 +0.23 +0.27 +0.19 +0.02 +0.0 +0.0 +0.0 +0.09 +0.35 +0.54 +0.61 +0.55 +0.43 +0.33 +0.3 +0.37 +0.49 +0.6 +0.65 +0.62 +0.56 +0.5 +0.5 +0.55 +0.63 +0.67 +0.63 +0.54 +0.42 +0.34 +0.36 +0.45 +0.56 +0.6 +0.52 +0.32 +0.08 +0.0 +0.0 +0.0 +0.18 +0.35 +0.41 +0.35 +0.22 +0.12 +0.1 +0.18 +0.32 +0.44 +0.5 +0.47 +0.41 +0.38 +0.4 +0.48 +0.58 +0.63 +0.6 +0.5 +0.39 +0.3 +0.28 +0.31 +0.34 +0.32 +0.5 +0.43 +0.29 +0.15 +0.07 +0.09 +0.2 +0.31 +0.34 +0.26 +0.1 +0.0 +0.0 +0.0 +0.14 +0.38 +0.56 +0.6 +0.52 +0.4 +0.32 +0.34 +0.44 +0.57 +0.66 +0.67 +0.61 +0.53 +0.5 +0.53 +0.6 +0.67 +0.67 +0.59 +0.45 +0.32 +0.28 +0.34 +0.47 +0.6 +0.63 +0.53 +0.3 +0.04 +0.0 +0.0 +0.0 +0.03 +0.17 +0.21 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.17 +0.26 +0.28 +0.26 +0.24 +0.27 +0.36 +0.47 +0.55 +0.56 +0.51 +0.42 +0.36 +0.37 +0.42 +0.48 +0.5 +0.43 +0.29 +0.15 +0.07 +0.09 +0.2 +0.31 +0.34 +0.26 +0.1 +0.0 +0.0 +0.0 +0.14 +0.38 +0.56 +0.6 +0.52 +0.4 +0.32 +0.34 +0.44 +0.57 +0.66 +0.67 +0.61 +0.53 +0.5 +0.53 +0.6 +0.67 +0.67 +0.59 +0.45 +0.32 +0.28 +0.34 +0.47 +0.6 +0.63 +0.53 +0.3 +0.04 +0.0 +0.0 +0.0 +0.03 +0.17 +0.21 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.17 +0.26 +0.28 +0.26 +0.24 +0.27 +0.36 +0.47 +0.55 +0.56 +0.51 +0.42 +0.36 +0.37 +0.42 +0.48 +0.5 +0.66 +0.64 +0.54 +0.41 +0.32 +0.33 +0.41 +0.51 +0.55 +0.48 +0.33 +0.17 +0.09 +0.14 +0.3 +0.48 +0.59 +0.58 +0.48 +0.36 +0.3 +0.35 +0.49 +0.62 +0.69 +0.66 +0.57 +0.49 +0.48 +0.55 +0.65 +0.72 +0.7 +0.58 +0.41 +0.27 +0.24 +0.32 +0.47 +0.61 +0.65 +0.55 +0.34 +0.11 +0.0 +0.0 +0.0 +0.14 +0.27 +0.31 +0.23 +0.07 +0.0 +0.0 +0.0 +0.0 +0.1 +0.2 +0.24 +0.23 +0.21 +0.22 +0.28 +0.36 +0.43 +0.45 +0.42 +0.36 +0.34 +0.38 +0.48 +0.59 +0.66 +0.64 +0.54 +0.41 +0.32 +0.33 +0.41 +0.51 +0.55 +0.48 +0.33 +0.17 +0.09 +0.14 +0.3 +0.48 +0.59 +0.58 +0.48 +0.36 +0.3 +0.35 +0.49 +0.62 +0.69 +0.66 +0.57 +0.49 +0.48 +0.55 +0.65 +0.72 +0.7 +0.58 +0.41 +0.27 +0.24 +0.32 +0.47 +0.61 +0.65 +0.55 +0.34 +0.11 +0.0 +0.0 +0.0 +0.14 +0.27 +0.31 +0.23 +0.07 +0.0 +0.0 +0.0 +0.0 +0.1 +0.2 +0.24 +0.23 +0.21 +0.22 +0.28 +0.36 +0.43 +0.45 +0.42 +0.36 +0.34 +0.38 +0.48 +0.59 +0.66 +0.75 +0.8 +0.76 +0.68 +0.63 +0.65 +0.74 +0.85 +0.9 +0.86 +0.73 +0.58 +0.49 +0.51 +0.6 +0.69 +0.72 +0.64 +0.5 +0.37 +0.34 +0.42 +0.57 +0.7 +0.74 +0.69 +0.58 +0.49 +0.49 +0.58 +0.7 +0.77 +0.73 +0.58 +0.39 +0.24 +0.2 +0.27 +0.41 +0.53 +0.57 +0.5 +0.35 +0.18 +0.06 +0.05 +0.14 +0.29 +0.43 +0.48 +0.43 +0.29 +0.13 +0.02 +0.0 +0.06 +0.17 +0.27 +0.32 +0.31 +0.27 +0.24 +0.24 +0.27 +0.29 +0.29 +0.25 +0.22 +0.22 +0.3 +0.44 +0.62 +0.75 +0.8 +0.76 +0.68 +0.63 +0.65 +0.74 +0.85 +0.9 +0.86 +0.73 +0.58 +0.49 +0.51 +0.6 +0.69 +0.72 +0.64 +0.5 +0.37 +0.34 +0.42 +0.57 +0.7 +0.74 +0.69 +0.58 +0.49 +0.49 +0.58 +0.7 +0.77 +0.73 +0.58 +0.39 +0.24 +0.2 +0.27 +0.41 +0.53 +0.57 +0.5 +0.35 +0.18 +0.06 +0.05 +0.14 +0.29 +0.43 +0.48 +0.43 +0.29 +0.13 +0.02 +0.0 +0.06 +0.17 +0.27 +0.32 +0.31 +0.27 +0.24 +0.24 +0.27 +0.29 +0.29 +0.25 +0.22 +0.22 +0.3 +0.44 +0.62 +0.75 +0.74 +0.86 +0.9 +0.9 +0.91 +0.99 +1.12 +1.26 +1.35 +1.35 +1.26 +1.14 +1.05 +1.04 +1.06 +1.07 +1.02 +0.87 +0.7 +0.56 +0.53 +0.61 +0.75 +0.86 +0.88 +0.79 +0.66 +0.57 +0.56 +0.64 +0.74 +0.78 +0.72 +0.56 +0.36 +0.2 +0.14 +0.18 +0.28 +0.37 +0.41 +0.38 +0.29 +0.2 +0.14 +0.15 +0.23 +0.36 +0.49 +0.57 +0.56 +0.48 +0.35 +0.23 +0.17 +0.2 +0.28 +0.37 +0.43 +0.42 +0.37 +0.3 +0.23 +0.18 +0.15 +0.11 +0.06 +0.03 +0.05 +0.15 +0.33 +0.55 +0.74 +0.86 +0.9 +0.9 +0.91 +0.99 +1.12 +1.26 +1.35 +1.35 +1.26 +1.14 +1.05 +1.04 +1.06 +1.07 +1.02 +0.87 +0.7 +0.56 +0.53 +0.61 +0.75 +0.86 +0.88 +0.79 +0.66 +0.57 +0.56 +0.64 +0.74 +0.78 +0.72 +0.56 +0.36 +0.2 +0.14 +0.18 +0.28 +0.37 +0.41 +0.38 +0.29 +0.2 +0.14 +0.15 +0.23 +0.36 +0.49 +0.57 +0.56 +0.48 +0.35 +0.23 +0.17 +0.2 +0.28 +0.37 +0.43 +0.42 +0.37 +0.3 +0.23 +0.18 +0.15 +0.11 +0.06 +0.03 +0.05 +0.15 +0.33 +0.55 +0.74 +0.65 +0.82 +0.94 +1.02 +1.12 +1.27 +1.46 +1.65 +1.78 +1.83 +1.8 +1.73 +1.68 +1.66 +1.66 +1.63 +1.53 +1.35 +1.15 +1.0 +0.95 +1.0 +1.1 +1.15 +1.12 +1.0 +0.84 +0.72 +0.67 +0.69 +0.73 +0.73 +0.63 +0.47 +0.29 +0.14 +0.06 +0.07 +0.12 +0.17 +0.21 +0.22 +0.21 +0.19 +0.17 +0.18 +0.23 +0.31 +0.41 +0.51 +0.56 +0.53 +0.45 +0.35 +0.27 +0.26 +0.31 +0.39 +0.46 +0.46 +0.4 +0.3 +0.19 +0.09 +0.02 +0.0 +0.0 +0.0 +0.0 +0.01 +0.19 +0.42 +0.65 +0.82 +0.94 +1.02 +1.12 +1.27 +1.46 +1.65 +1.78 +1.83 +1.8 +1.73 +1.68 +1.66 +1.66 +1.63 +1.53 +1.35 +1.15 +1.0 +0.95 +1.0 +1.1 +1.15 +1.12 +1.0 +0.84 +0.72 +0.67 +0.69 +0.73 +0.73 +0.63 +0.47 +0.29 +0.14 +0.06 +0.07 +0.12 +0.17 +0.21 +0.22 +0.21 +0.19 +0.17 +0.18 +0.23 +0.31 +0.41 +0.51 +0.56 +0.53 +0.45 +0.35 +0.27 +0.26 +0.31 +0.39 +0.46 +0.46 +0.4 +0.3 +0.19 +0.09 +0.02 +0.0 +0.0 +0.0 +0.0 +0.01 +0.19 +0.42 +0.65 +0.54 +0.73 +0.9 +1.05 +1.22 +1.43 +1.67 +1.9 +2.08 +2.19 +2.22 +2.23 +2.24 +2.27 +2.3 +2.29 +2.2 +2.04 +1.86 +1.7 +1.62 +1.6 +1.61 +1.58 +1.48 +1.3 +1.1 +0.92 +0.8 +0.74 +0.69 +0.61 +0.48 +0.32 +0.16 +0.04 +0.0 +0.0 +0.0 +0.0 +0.04 +0.09 +0.14 +0.17 +0.18 +0.17 +0.15 +0.17 +0.23 +0.32 +0.41 +0.45 +0.41 +0.32 +0.23 +0.18 +0.2 +0.27 +0.34 +0.37 +0.32 +0.22 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.32 +0.54 +0.73 +0.9 +1.05 +1.22 +1.43 +1.67 +1.9 +2.08 +2.19 +2.22 +2.23 +2.24 +2.27 +2.3 +2.29 +2.2 +2.04 +1.86 +1.7 +1.62 +1.6 +1.61 +1.58 +1.48 +1.3 +1.1 +0.92 +0.8 +0.74 +0.69 +0.61 +0.48 +0.32 +0.16 +0.04 +0.0 +0.0 +0.0 +0.0 +0.04 +0.09 +0.14 +0.17 +0.18 +0.17 +0.15 +0.17 +0.23 +0.32 +0.41 +0.45 +0.41 +0.32 +0.23 +0.18 +0.2 +0.27 +0.34 +0.37 +0.32 +0.22 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.32 +0.54 +0.47 +0.65 +0.82 +1.0 +1.21 +1.45 +1.72 +1.97 +2.18 +2.32 +2.42 +2.5 +2.6 +2.72 +2.84 +2.91 +2.9 +2.82 +2.69 +2.55 +2.44 +2.36 +2.27 +2.14 +1.94 +1.7 +1.43 +1.19 +0.99 +0.82 +0.66 +0.49 +0.31 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.14 +0.16 +0.11 +0.04 +0.0 +0.0 +0.07 +0.18 +0.26 +0.26 +0.19 +0.08 +0.0 +0.0 +0.04 +0.12 +0.17 +0.15 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.28 +0.47 +0.65 +0.82 +1.0 +1.21 +1.45 +1.72 +1.97 +2.18 +2.32 +2.42 +2.5 +2.6 +2.72 +2.84 +2.91 +2.9 +2.82 +2.69 +2.55 +2.44 +2.36 +2.27 +2.14 +1.94 +1.7 +1.43 +1.19 +0.99 +0.82 +0.66 +0.49 +0.31 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.14 +0.16 +0.11 +0.04 +0.0 +0.0 +0.07 +0.18 +0.26 +0.26 +0.19 +0.08 +0.0 +0.0 +0.04 +0.12 +0.17 +0.15 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.28 +0.47 +0.48 +0.62 +0.77 +0.93 +1.13 +1.36 +1.62 +1.86 +2.05 +2.21 +2.34 +2.49 +2.68 +2.91 +3.14 +3.33 +3.44 +3.48 +3.45 +3.38 +3.28 +3.15 +2.98 +2.76 +2.49 +2.18 +1.86 +1.56 +1.27 +1.0 +0.72 +0.45 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.08 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.1 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.1 +0.21 +0.34 +0.48 +0.62 +0.77 +0.93 +1.13 +1.36 +1.62 +1.86 +2.05 +2.21 +2.34 +2.49 +2.68 +2.91 +3.14 +3.33 +3.44 +3.48 +3.45 +3.38 +3.28 +3.15 +2.98 +2.76 +2.49 +2.18 +1.86 +1.56 +1.27 +1.0 +0.72 +0.45 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.08 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.1 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.1 +0.21 +0.34 +0.48 +0.58 +0.67 +0.77 +0.89 +1.04 +1.23 +1.43 +1.62 +1.77 +1.9 +2.04 +2.23 +2.49 +2.8 +3.13 +3.43 +3.68 +3.85 +3.95 +3.98 +3.94 +3.83 +3.64 +3.37 +3.05 +2.71 +2.36 +2.02 +1.68 +1.33 +0.96 +0.58 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.11 +0.17 +0.23 +0.3 +0.38 +0.48 +0.58 +0.67 +0.77 +0.89 +1.04 +1.23 +1.43 +1.62 +1.77 +1.9 +2.04 +2.23 +2.49 +2.8 +3.13 +3.43 +3.68 +3.85 +3.95 +3.98 +3.94 +3.83 +3.64 +3.37 +3.05 +2.71 +2.36 +2.02 +1.68 +1.33 +0.96 +0.58 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.11 +0.17 +0.23 +0.3 +0.38 +0.48 +0.58 +0.73 +0.79 +0.85 +0.91 +1.0 +1.12 +1.23 +1.34 +1.42 +1.51 +1.63 +1.83 +2.11 +2.46 +2.83 +3.2 +3.54 +3.83 +4.06 +4.22 +4.29 +4.25 +4.09 +3.83 +3.51 +3.18 +2.85 +2.52 +2.17 +1.78 +1.34 +0.89 +0.46 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.11 +0.13 +0.13 +0.13 +0.16 +0.22 +0.3 +0.38 +0.45 +0.52 +0.59 +0.67 +0.73 +0.79 +0.85 +0.91 +1.0 +1.12 +1.23 +1.34 +1.42 +1.51 +1.63 +1.83 +2.11 +2.46 +2.83 +3.2 +3.54 +3.83 +4.06 +4.22 +4.29 +4.25 +4.09 +3.83 +3.51 +3.18 +2.85 +2.52 +2.17 +1.78 +1.34 +0.89 +0.46 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.11 +0.13 +0.13 +0.13 +0.16 +0.22 +0.3 +0.38 +0.45 +0.52 +0.59 +0.67 +0.73 +0.9 +0.94 +0.96 +0.98 +1.01 +1.04 +1.06 +1.07 +1.08 +1.11 +1.21 +1.4 +1.67 +2.0 +2.35 +2.7 +3.05 +3.41 +3.75 +4.04 +4.23 +4.29 +4.19 +3.99 +3.72 +3.45 +3.19 +2.93 +2.63 +2.25 +1.8 +1.3 +0.82 +0.43 +0.16 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.21 +0.39 +0.48 +0.43 +0.28 +0.12 +0.04 +0.07 +0.19 +0.33 +0.42 +0.44 +0.4 +0.37 +0.37 +0.41 +0.49 +0.57 +0.65 +0.72 +0.79 +0.85 +0.9 +0.94 +0.96 +0.98 +1.01 +1.04 +1.06 +1.07 +1.08 +1.11 +1.21 +1.4 +1.67 +2.0 +2.35 +2.7 +3.05 +3.41 +3.75 +4.04 +4.23 +4.29 +4.19 +3.99 +3.72 +3.45 +3.19 +2.93 +2.63 +2.25 +1.8 +1.3 +0.82 +0.43 +0.16 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.21 +0.39 +0.48 +0.43 +0.28 +0.12 +0.04 +0.07 +0.19 +0.33 +0.42 +0.44 +0.4 +0.37 +0.37 +0.41 +0.49 +0.57 +0.65 +0.72 +0.79 +0.85 +0.9 +1.04 +1.07 +1.08 +1.07 +1.04 +0.99 +0.91 +0.83 +0.77 +0.78 +0.87 +1.05 +1.29 +1.54 +1.79 +2.05 +2.34 +2.7 +3.1 +3.48 +3.78 +3.93 +3.91 +3.76 +3.57 +3.39 +3.24 +3.1 +2.9 +2.59 +2.17 +1.69 +1.21 +0.83 +0.57 +0.41 +0.29 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.14 +0.15 +0.21 +0.38 +0.61 +0.83 +0.94 +0.88 +0.71 +0.52 +0.41 +0.44 +0.58 +0.73 +0.81 +0.79 +0.69 +0.59 +0.54 +0.56 +0.63 +0.72 +0.81 +0.88 +0.94 +1.0 +1.04 +1.07 +1.08 +1.07 +1.04 +0.99 +0.91 +0.83 +0.77 +0.78 +0.87 +1.05 +1.29 +1.54 +1.79 +2.05 +2.34 +2.7 +3.1 +3.48 +3.78 +3.93 +3.91 +3.76 +3.57 +3.39 +3.24 +3.1 +2.9 +2.59 +2.17 +1.69 +1.21 +0.83 +0.57 +0.41 +0.29 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.14 +0.15 +0.21 +0.38 +0.61 +0.83 +0.94 +0.88 +0.71 +0.52 +0.41 +0.44 +0.58 +0.73 +0.81 +0.79 +0.69 +0.59 +0.54 +0.56 +0.63 +0.72 +0.81 +0.88 +0.94 +1.0 +1.04 +1.12 +1.15 +1.16 +1.14 +1.07 +0.94 +0.78 +0.63 +0.53 +0.52 +0.63 +0.81 +1.01 +1.17 +1.29 +1.4 +1.57 +1.87 +2.27 +2.71 +3.07 +3.26 +3.28 +3.18 +3.05 +2.97 +2.96 +2.95 +2.88 +2.67 +2.34 +1.93 +1.55 +1.25 +1.07 +0.96 +0.84 +0.66 +0.39 +0.08 +0.0 +0.0 +0.0 +0.02 +0.23 +0.37 +0.43 +0.45 +0.53 +0.73 +1.0 +1.25 +1.37 +1.3 +1.08 +0.85 +0.72 +0.76 +0.91 +1.07 +1.13 +1.06 +0.9 +0.72 +0.62 +0.62 +0.7 +0.82 +0.92 +1.0 +1.05 +1.09 +1.12 +1.15 +1.16 +1.14 +1.07 +0.94 +0.78 +0.63 +0.53 +0.52 +0.63 +0.81 +1.01 +1.17 +1.29 +1.4 +1.57 +1.87 +2.27 +2.71 +3.07 +3.26 +3.28 +3.18 +3.05 +2.97 +2.96 +2.95 +2.88 +2.67 +2.34 +1.93 +1.55 +1.25 +1.07 +0.96 +0.84 +0.66 +0.39 +0.08 +0.0 +0.0 +0.0 +0.02 +0.23 +0.37 +0.43 +0.45 +0.53 +0.73 +1.0 +1.25 +1.37 +1.3 +1.08 +0.85 +0.72 +0.76 +0.91 +1.07 +1.13 +1.06 +0.9 +0.72 +0.62 +0.62 +0.7 +0.82 +0.92 +1.0 +1.05 +1.09 +1.12 +1.15 +1.17 +1.19 +1.17 +1.07 +0.89 +0.66 +0.45 +0.33 +0.34 +0.49 +0.7 +0.87 +0.94 +0.9 +0.85 +0.89 +1.11 +1.49 +1.93 +2.3 +2.48 +2.49 +2.38 +2.3 +2.3 +2.41 +2.54 +2.59 +2.5 +2.27 +1.98 +1.74 +1.6 +1.56 +1.56 +1.48 +1.27 +0.93 +0.53 +0.22 +0.08 +0.14 +0.33 +0.53 +0.64 +0.66 +0.66 +0.73 +0.94 +1.25 +1.52 +1.63 +1.53 +1.26 +0.99 +0.85 +0.9 +1.08 +1.26 +1.31 +1.19 +0.96 +0.72 +0.58 +0.58 +0.69 +0.85 +0.99 +1.07 +1.11 +1.13 +1.15 +1.17 +1.19 +1.17 +1.07 +0.89 +0.66 +0.45 +0.33 +0.34 +0.49 +0.7 +0.87 +0.94 +0.9 +0.85 +0.89 +1.11 +1.49 +1.93 +2.3 +2.48 +2.49 +2.38 +2.3 +2.3 +2.41 +2.54 +2.59 +2.5 +2.27 +1.98 +1.74 +1.6 +1.56 +1.56 +1.48 +1.27 +0.93 +0.53 +0.22 +0.08 +0.14 +0.33 +0.53 +0.64 +0.66 +0.66 +0.73 +0.94 +1.25 +1.52 +1.63 +1.53 +1.26 +0.99 +0.85 +0.9 +1.08 +1.26 +1.31 +1.19 +0.96 +0.72 +0.58 +0.58 +0.69 +0.85 +0.99 +1.07 +1.11 +1.13 +1.15 +1.13 +1.16 +1.19 +1.17 +1.05 +0.84 +0.56 +0.31 +0.19 +0.24 +0.44 +0.68 +0.84 +0.84 +0.69 +0.5 +0.43 +0.57 +0.92 +1.34 +1.67 +1.81 +1.76 +1.62 +1.53 +1.59 +1.78 +2.0 +2.14 +2.14 +2.01 +1.85 +1.77 +1.82 +1.96 +2.09 +2.09 +1.87 +1.48 +1.02 +0.65 +0.47 +0.51 +0.66 +0.8 +0.85 +0.79 +0.73 +0.77 +0.97 +1.28 +1.56 +1.65 +1.51 +1.2 +0.9 +0.76 +0.84 +1.06 +1.27 +1.32 +1.17 +0.89 +0.6 +0.45 +0.47 +0.63 +0.85 +1.02 +1.11 +1.13 +1.12 +1.13 +1.16 +1.19 +1.17 +1.05 +0.84 +0.56 +0.31 +0.19 +0.24 +0.44 +0.68 +0.84 +0.84 +0.69 +0.5 +0.43 +0.57 +0.92 +1.34 +1.67 +1.81 +1.76 +1.62 +1.53 +1.59 +1.78 +2.0 +2.14 +2.14 +2.01 +1.85 +1.77 +1.82 +1.96 +2.09 +2.09 +1.87 +1.48 +1.02 +0.65 +0.47 +0.51 +0.66 +0.8 +0.85 +0.79 +0.73 +0.77 +0.97 +1.28 +1.56 +1.65 +1.51 +1.2 +0.9 +0.76 +0.84 +1.06 +1.27 +1.32 +1.17 +0.89 +0.6 +0.45 +0.47 +0.63 +0.85 +1.02 +1.11 +1.13 +1.12 +1.13 +1.1 +1.13 +1.16 +1.15 +1.03 +0.8 +0.5 +0.24 +0.13 +0.22 +0.47 +0.75 +0.92 +0.87 +0.64 +0.37 +0.24 +0.35 +0.67 +1.06 +1.35 +1.41 +1.28 +1.08 +0.98 +1.05 +1.27 +1.52 +1.69 +1.72 +1.64 +1.58 +1.65 +1.87 +2.18 +2.45 +2.52 +2.33 +1.92 +1.45 +1.06 +0.87 +0.88 +0.99 +1.05 +1.0 +0.85 +0.71 +0.71 +0.89 +1.18 +1.43 +1.49 +1.31 +0.97 +0.66 +0.53 +0.65 +0.91 +1.15 +1.21 +1.05 +0.74 +0.44 +0.29 +0.34 +0.55 +0.81 +1.02 +1.13 +1.14 +1.11 +1.1 +1.13 +1.16 +1.15 +1.03 +0.8 +0.5 +0.24 +0.13 +0.22 +0.47 +0.75 +0.92 +0.87 +0.64 +0.37 +0.24 +0.35 +0.67 +1.06 +1.35 +1.41 +1.28 +1.08 +0.98 +1.05 +1.27 +1.52 +1.69 +1.72 +1.64 +1.58 +1.65 +1.87 +2.18 +2.45 +2.52 +2.33 +1.92 +1.45 +1.06 +0.87 +0.88 +0.99 +1.05 +1.0 +0.85 +0.71 +0.71 +0.89 +1.18 +1.43 +1.49 +1.31 +0.97 +0.66 +0.53 +0.65 +0.91 +1.15 +1.21 +1.05 +0.74 +0.44 +0.29 +0.34 +0.55 +0.81 +1.02 +1.13 +1.14 +1.11 +1.1 +1.09 +1.11 +1.15 +1.14 +1.02 +0.79 +0.5 +0.25 +0.17 +0.29 +0.58 +0.89 +1.05 +0.99 +0.74 +0.45 +0.31 +0.42 +0.73 +1.09 +1.33 +1.32 +1.12 +0.87 +0.72 +0.77 +0.97 +1.2 +1.33 +1.33 +1.26 +1.24 +1.4 +1.74 +2.17 +2.53 +2.67 +2.53 +2.17 +1.74 +1.4 +1.24 +1.26 +1.33 +1.33 +1.2 +0.97 +0.77 +0.72 +0.87 +1.12 +1.32 +1.33 +1.09 +0.73 +0.42 +0.31 +0.45 +0.74 +0.99 +1.05 +0.89 +0.58 +0.29 +0.17 +0.25 +0.5 +0.79 +1.02 +1.14 +1.15 +1.11 +1.09 +1.11 +1.15 +1.14 +1.02 +0.79 +0.5 +0.25 +0.17 +0.29 +0.58 +0.89 +1.05 +0.99 +0.74 +0.45 +0.31 +0.42 +0.73 +1.09 +1.33 +1.32 +1.12 +0.87 +0.72 +0.77 +0.97 +1.2 +1.33 +1.33 +1.26 +1.24 +1.4 +1.74 +2.17 +2.53 +2.67 +2.53 +2.17 +1.74 +1.4 +1.24 +1.26 +1.33 +1.33 +1.2 +0.97 +0.77 +0.72 +0.87 +1.12 +1.32 +1.33 +1.09 +0.73 +0.42 +0.31 +0.45 +0.74 +0.99 +1.05 +0.89 +0.58 +0.29 +0.17 +0.25 +0.5 +0.79 +1.02 +1.14 +1.15 +1.11 +1.09 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.37 +0.36 +0.27 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.4 +0.39 +0.41 +0.5 +0.65 +0.84 +1.05 +1.27 +1.51 +1.76 +1.99 +2.17 +2.25 +2.2 +2.05 +1.84 +1.6 +1.36 +1.14 +0.92 +0.72 +0.55 +0.45 +0.41 +0.4 +0.36 +0.25 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.23 +0.34 +0.37 +0.38 +0.43 +0.55 +0.72 +0.93 +1.15 +1.37 +1.61 +1.86 +2.09 +2.24 +2.29 +2.21 +2.02 +1.78 +1.52 +1.28 +1.06 +0.84 +0.65 +0.49 +0.39 +0.36 +0.37 +0.36 +0.27 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.4 +0.39 +0.41 +0.5 +0.65 +0.84 +1.05 +1.27 +1.51 +1.76 +1.99 +2.17 +2.25 +2.2 +2.05 +1.84 +1.6 +1.36 +1.14 +0.92 +0.72 +0.55 +0.45 +0.41 +0.4 +0.36 +0.25 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.23 +0.34 +0.37 +0.38 +0.43 +0.55 +0.72 +0.93 +1.15 +1.37 +1.61 +1.86 +2.09 +2.24 +2.29 +2.21 +2.02 +1.78 +1.52 +1.28 +1.06 +0.84 +0.65 +0.49 +0.39 +0.36 +0.37 +0.36 +0.4 +0.38 +0.27 +0.1 +0.0 +0.0 +0.0 +0.08 +0.28 +0.43 +0.5 +0.48 +0.42 +0.38 +0.4 +0.51 +0.67 +0.88 +1.12 +1.38 +1.66 +1.92 +2.14 +2.26 +2.26 +2.15 +1.94 +1.7 +1.44 +1.19 +0.95 +0.76 +0.61 +0.53 +0.51 +0.5 +0.46 +0.34 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.32 +0.39 +0.41 +0.43 +0.49 +0.62 +0.8 +1.02 +1.25 +1.5 +1.77 +2.05 +2.28 +2.42 +2.43 +2.29 +2.04 +1.73 +1.42 +1.15 +0.9 +0.69 +0.5 +0.36 +0.3 +0.3 +0.36 +0.4 +0.38 +0.27 +0.1 +0.0 +0.0 +0.0 +0.08 +0.28 +0.43 +0.5 +0.48 +0.42 +0.38 +0.4 +0.51 +0.67 +0.88 +1.12 +1.38 +1.66 +1.92 +2.14 +2.26 +2.26 +2.15 +1.94 +1.7 +1.44 +1.19 +0.95 +0.76 +0.61 +0.53 +0.51 +0.5 +0.46 +0.34 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.32 +0.39 +0.41 +0.43 +0.49 +0.62 +0.8 +1.02 +1.25 +1.5 +1.77 +2.05 +2.28 +2.42 +2.43 +2.29 +2.04 +1.73 +1.42 +1.15 +0.9 +0.69 +0.5 +0.36 +0.3 +0.3 +0.36 +0.38 +0.49 +0.54 +0.51 +0.4 +0.28 +0.2 +0.23 +0.35 +0.5 +0.63 +0.67 +0.61 +0.5 +0.39 +0.34 +0.38 +0.51 +0.71 +0.96 +1.23 +1.53 +1.82 +2.07 +2.25 +2.3 +2.23 +2.06 +1.81 +1.53 +1.26 +1.02 +0.84 +0.73 +0.69 +0.7 +0.71 +0.68 +0.56 +0.39 +0.2 +0.07 +0.06 +0.15 +0.31 +0.47 +0.58 +0.62 +0.63 +0.64 +0.71 +0.84 +1.02 +1.23 +1.46 +1.73 +2.01 +2.3 +2.52 +2.63 +2.57 +2.36 +2.03 +1.65 +1.29 +0.98 +0.73 +0.52 +0.36 +0.26 +0.23 +0.28 +0.38 +0.49 +0.54 +0.51 +0.4 +0.28 +0.2 +0.23 +0.35 +0.5 +0.63 +0.67 +0.61 +0.5 +0.39 +0.34 +0.38 +0.51 +0.71 +0.96 +1.23 +1.53 +1.82 +2.07 +2.25 +2.3 +2.23 +2.06 +1.81 +1.53 +1.26 +1.02 +0.84 +0.73 +0.69 +0.7 +0.71 +0.68 +0.56 +0.39 +0.2 +0.07 +0.06 +0.15 +0.31 +0.47 +0.58 +0.62 +0.63 +0.64 +0.71 +0.84 +1.02 +1.23 +1.46 +1.73 +2.01 +2.3 +2.52 +2.63 +2.57 +2.36 +2.03 +1.65 +1.29 +0.98 +0.73 +0.52 +0.36 +0.26 +0.23 +0.28 +0.38 +0.45 +0.59 +0.7 +0.73 +0.68 +0.58 +0.5 +0.49 +0.57 +0.69 +0.8 +0.84 +0.78 +0.64 +0.49 +0.38 +0.36 +0.45 +0.63 +0.86 +1.12 +1.41 +1.69 +1.96 +2.17 +2.28 +2.26 +2.13 +1.89 +1.61 +1.33 +1.1 +0.95 +0.9 +0.93 +0.99 +1.03 +1.01 +0.91 +0.76 +0.62 +0.55 +0.58 +0.71 +0.86 +0.99 +1.05 +1.06 +1.05 +1.06 +1.13 +1.25 +1.4 +1.57 +1.78 +2.02 +2.28 +2.54 +2.73 +2.77 +2.65 +2.35 +1.95 +1.53 +1.14 +0.83 +0.6 +0.43 +0.31 +0.25 +0.25 +0.32 +0.45 +0.59 +0.7 +0.73 +0.68 +0.58 +0.5 +0.49 +0.57 +0.69 +0.8 +0.84 +0.78 +0.64 +0.49 +0.38 +0.36 +0.45 +0.63 +0.86 +1.12 +1.41 +1.69 +1.96 +2.17 +2.28 +2.26 +2.13 +1.89 +1.61 +1.33 +1.1 +0.95 +0.9 +0.93 +0.99 +1.03 +1.01 +0.91 +0.76 +0.62 +0.55 +0.58 +0.71 +0.86 +0.99 +1.05 +1.06 +1.05 +1.06 +1.13 +1.25 +1.4 +1.57 +1.78 +2.02 +2.28 +2.54 +2.73 +2.77 +2.65 +2.35 +1.95 +1.53 +1.14 +0.83 +0.6 +0.43 +0.31 +0.25 +0.25 +0.32 +0.45 +0.55 +0.69 +0.82 +0.88 +0.87 +0.79 +0.7 +0.65 +0.68 +0.77 +0.89 +0.96 +0.93 +0.81 +0.65 +0.51 +0.46 +0.51 +0.65 +0.84 +1.07 +1.3 +1.55 +1.8 +2.02 +2.17 +2.22 +2.13 +1.93 +1.66 +1.38 +1.17 +1.07 +1.07 +1.17 +1.29 +1.38 +1.38 +1.3 +1.18 +1.09 +1.07 +1.16 +1.32 +1.48 +1.59 +1.62 +1.6 +1.57 +1.58 +1.64 +1.74 +1.85 +1.98 +2.13 +2.3 +2.51 +2.7 +2.81 +2.78 +2.57 +2.22 +1.79 +1.35 +0.98 +0.71 +0.53 +0.42 +0.35 +0.33 +0.35 +0.42 +0.55 +0.69 +0.82 +0.88 +0.87 +0.79 +0.7 +0.65 +0.68 +0.77 +0.89 +0.96 +0.93 +0.81 +0.65 +0.51 +0.46 +0.51 +0.65 +0.84 +1.07 +1.3 +1.55 +1.8 +2.02 +2.17 +2.22 +2.13 +1.93 +1.66 +1.38 +1.17 +1.07 +1.07 +1.17 +1.29 +1.38 +1.38 +1.3 +1.18 +1.09 +1.07 +1.16 +1.32 +1.48 +1.59 +1.62 +1.6 +1.57 +1.58 +1.64 +1.74 +1.85 +1.98 +2.13 +2.3 +2.51 +2.7 +2.81 +2.78 +2.57 +2.22 +1.79 +1.35 +0.98 +0.71 +0.53 +0.42 +0.35 +0.33 +0.35 +0.42 +0.55 +0.61 +0.74 +0.86 +0.94 +0.95 +0.89 +0.78 +0.69 +0.67 +0.74 +0.86 +0.97 +1.01 +0.94 +0.8 +0.66 +0.59 +0.61 +0.71 +0.87 +1.04 +1.22 +1.41 +1.63 +1.85 +2.03 +2.12 +2.09 +1.92 +1.67 +1.41 +1.21 +1.13 +1.18 +1.32 +1.49 +1.61 +1.65 +1.59 +1.5 +1.45 +1.48 +1.61 +1.8 +1.97 +2.06 +2.07 +2.03 +1.98 +1.99 +2.05 +2.14 +2.23 +2.31 +2.4 +2.5 +2.61 +2.7 +2.72 +2.6 +2.33 +1.95 +1.52 +1.12 +0.8 +0.59 +0.47 +0.43 +0.42 +0.43 +0.46 +0.52 +0.61 +0.74 +0.86 +0.94 +0.95 +0.89 +0.78 +0.69 +0.67 +0.74 +0.86 +0.97 +1.01 +0.94 +0.8 +0.66 +0.59 +0.61 +0.71 +0.87 +1.04 +1.22 +1.41 +1.63 +1.85 +2.03 +2.12 +2.09 +1.92 +1.67 +1.41 +1.21 +1.13 +1.18 +1.32 +1.49 +1.61 +1.65 +1.59 +1.5 +1.45 +1.48 +1.61 +1.8 +1.97 +2.06 +2.07 +2.03 +1.98 +1.99 +2.05 +2.14 +2.23 +2.31 +2.4 +2.5 +2.61 +2.7 +2.72 +2.6 +2.33 +1.95 +1.52 +1.12 +0.8 +0.59 +0.47 +0.43 +0.42 +0.43 +0.46 +0.52 +0.61 +0.59 +0.69 +0.82 +0.92 +0.96 +0.91 +0.78 +0.65 +0.58 +0.61 +0.73 +0.88 +0.97 +0.96 +0.87 +0.75 +0.67 +0.67 +0.75 +0.87 +1.0 +1.14 +1.29 +1.48 +1.69 +1.9 +2.02 +2.03 +1.9 +1.66 +1.4 +1.2 +1.11 +1.16 +1.31 +1.5 +1.65 +1.71 +1.69 +1.63 +1.6 +1.67 +1.82 +2.02 +2.18 +2.27 +2.25 +2.19 +2.13 +2.14 +2.2 +2.3 +2.39 +2.46 +2.5 +2.54 +2.55 +2.54 +2.45 +2.25 +1.95 +1.57 +1.18 +0.84 +0.58 +0.43 +0.37 +0.38 +0.41 +0.45 +0.49 +0.53 +0.59 +0.69 +0.82 +0.92 +0.96 +0.91 +0.78 +0.65 +0.58 +0.61 +0.73 +0.88 +0.97 +0.96 +0.87 +0.75 +0.67 +0.67 +0.75 +0.87 +1.0 +1.14 +1.29 +1.48 +1.69 +1.9 +2.02 +2.03 +1.9 +1.66 +1.4 +1.2 +1.11 +1.16 +1.31 +1.5 +1.65 +1.71 +1.69 +1.63 +1.6 +1.67 +1.82 +2.02 +2.18 +2.27 +2.25 +2.19 +2.13 +2.14 +2.2 +2.3 +2.39 +2.46 +2.5 +2.54 +2.55 +2.54 +2.45 +2.25 +1.95 +1.57 +1.18 +0.84 +0.58 +0.43 +0.37 +0.38 +0.41 +0.45 +0.49 +0.53 +0.59 +0.47 +0.56 +0.69 +0.83 +0.91 +0.89 +0.76 +0.59 +0.46 +0.44 +0.53 +0.69 +0.82 +0.87 +0.82 +0.72 +0.65 +0.64 +0.71 +0.82 +0.94 +1.06 +1.2 +1.38 +1.59 +1.8 +1.94 +1.97 +1.86 +1.64 +1.38 +1.15 +1.03 +1.04 +1.16 +1.34 +1.5 +1.59 +1.6 +1.58 +1.59 +1.67 +1.83 +2.02 +2.18 +2.25 +2.22 +2.13 +2.06 +2.06 +2.13 +2.24 +2.35 +2.42 +2.44 +2.42 +2.35 +2.23 +2.04 +1.79 +1.48 +1.13 +0.8 +0.53 +0.33 +0.22 +0.2 +0.23 +0.29 +0.35 +0.39 +0.42 +0.47 +0.56 +0.69 +0.83 +0.91 +0.89 +0.76 +0.59 +0.46 +0.44 +0.53 +0.69 +0.82 +0.87 +0.82 +0.72 +0.65 +0.64 +0.71 +0.82 +0.94 +1.06 +1.2 +1.38 +1.59 +1.8 +1.94 +1.97 +1.86 +1.64 +1.38 +1.15 +1.03 +1.04 +1.16 +1.34 +1.5 +1.59 +1.6 +1.58 +1.59 +1.67 +1.83 +2.02 +2.18 +2.25 +2.22 +2.13 +2.06 +2.06 +2.13 +2.24 +2.35 +2.42 +2.44 +2.42 +2.35 +2.23 +2.04 +1.79 +1.48 +1.13 +0.8 +0.53 +0.33 +0.22 +0.2 +0.23 +0.29 +0.35 +0.39 +0.42 +0.47 +0.28 +0.37 +0.52 +0.7 +0.83 +0.85 +0.74 +0.55 +0.37 +0.28 +0.33 +0.48 +0.63 +0.71 +0.69 +0.61 +0.55 +0.54 +0.6 +0.72 +0.85 +0.99 +1.13 +1.31 +1.51 +1.71 +1.86 +1.9 +1.8 +1.6 +1.34 +1.1 +0.94 +0.9 +0.97 +1.12 +1.27 +1.4 +1.47 +1.51 +1.56 +1.67 +1.84 +2.03 +2.19 +2.25 +2.21 +2.11 +2.01 +1.98 +2.03 +2.13 +2.24 +2.31 +2.31 +2.22 +2.06 +1.85 +1.59 +1.29 +0.99 +0.7 +0.44 +0.23 +0.07 +0.0 +0.0 +0.0 +0.07 +0.14 +0.2 +0.23 +0.28 +0.37 +0.52 +0.7 +0.83 +0.85 +0.74 +0.55 +0.37 +0.28 +0.33 +0.48 +0.63 +0.71 +0.69 +0.61 +0.55 +0.54 +0.6 +0.72 +0.85 +0.99 +1.13 +1.31 +1.51 +1.71 +1.86 +1.9 +1.8 +1.6 +1.34 +1.1 +0.94 +0.9 +0.97 +1.12 +1.27 +1.4 +1.47 +1.51 +1.56 +1.67 +1.84 +2.03 +2.19 +2.25 +2.21 +2.11 +2.01 +1.98 +2.03 +2.13 +2.24 +2.31 +2.31 +2.22 +2.06 +1.85 +1.59 +1.29 +0.99 +0.7 +0.44 +0.23 +0.07 +0.0 +0.0 +0.0 +0.07 +0.14 +0.2 +0.23 +0.28 +0.08 +0.17 +0.33 +0.54 +0.72 +0.79 +0.71 +0.51 +0.3 +0.17 +0.18 +0.3 +0.45 +0.55 +0.55 +0.49 +0.43 +0.43 +0.49 +0.61 +0.76 +0.91 +1.06 +1.22 +1.41 +1.58 +1.71 +1.75 +1.68 +1.51 +1.29 +1.07 +0.9 +0.83 +0.85 +0.96 +1.12 +1.29 +1.43 +1.56 +1.69 +1.85 +2.05 +2.26 +2.44 +2.52 +2.49 +2.39 +2.26 +2.17 +2.16 +2.2 +2.26 +2.28 +2.21 +2.05 +1.8 +1.49 +1.16 +0.84 +0.57 +0.34 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.08 +0.17 +0.33 +0.54 +0.72 +0.79 +0.71 +0.51 +0.3 +0.17 +0.18 +0.3 +0.45 +0.55 +0.55 +0.49 +0.43 +0.43 +0.49 +0.61 +0.76 +0.91 +1.06 +1.22 +1.41 +1.58 +1.71 +1.75 +1.68 +1.51 +1.29 +1.07 +0.9 +0.83 +0.85 +0.96 +1.12 +1.29 +1.43 +1.56 +1.69 +1.85 +2.05 +2.26 +2.44 +2.52 +2.49 +2.39 +2.26 +2.17 +2.16 +2.2 +2.26 +2.28 +2.21 +2.05 +1.8 +1.49 +1.16 +0.84 +0.57 +0.34 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.08 +0.0 +0.01 +0.15 +0.37 +0.57 +0.68 +0.64 +0.46 +0.25 +0.1 +0.09 +0.19 +0.34 +0.44 +0.47 +0.43 +0.37 +0.36 +0.42 +0.53 +0.67 +0.81 +0.95 +1.08 +1.22 +1.35 +1.45 +1.48 +1.44 +1.35 +1.21 +1.06 +0.94 +0.87 +0.88 +0.97 +1.13 +1.33 +1.56 +1.78 +2.01 +2.25 +2.51 +2.78 +3.0 +3.13 +3.15 +3.06 +2.91 +2.75 +2.63 +2.56 +2.5 +2.42 +2.25 +1.98 +1.62 +1.22 +0.83 +0.51 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.15 +0.37 +0.57 +0.68 +0.64 +0.46 +0.25 +0.1 +0.09 +0.19 +0.34 +0.44 +0.47 +0.43 +0.37 +0.36 +0.42 +0.53 +0.67 +0.81 +0.95 +1.08 +1.22 +1.35 +1.45 +1.48 +1.44 +1.35 +1.21 +1.06 +0.94 +0.87 +0.88 +0.97 +1.13 +1.33 +1.56 +1.78 +2.01 +2.25 +2.51 +2.78 +3.0 +3.13 +3.15 +3.06 +2.91 +2.75 +2.63 +2.56 +2.5 +2.42 +2.25 +1.98 +1.62 +1.22 +0.83 +0.51 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.19 +0.4 +0.53 +0.53 +0.4 +0.21 +0.08 +0.05 +0.15 +0.29 +0.41 +0.45 +0.42 +0.37 +0.36 +0.39 +0.48 +0.58 +0.68 +0.77 +0.86 +0.95 +1.03 +1.09 +1.12 +1.12 +1.11 +1.08 +1.06 +1.02 +1.0 +1.01 +1.09 +1.24 +1.47 +1.76 +2.08 +2.4 +2.72 +3.05 +3.38 +3.67 +3.89 +3.98 +3.93 +3.77 +3.55 +3.31 +3.1 +2.9 +2.68 +2.39 +2.01 +1.55 +1.07 +0.64 +0.31 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.19 +0.4 +0.53 +0.53 +0.4 +0.21 +0.08 +0.05 +0.15 +0.29 +0.41 +0.45 +0.42 +0.37 +0.36 +0.39 +0.48 +0.58 +0.68 +0.77 +0.86 +0.95 +1.03 +1.09 +1.12 +1.12 +1.11 +1.08 +1.06 +1.02 +1.0 +1.01 +1.09 +1.24 +1.47 +1.76 +2.08 +2.4 +2.72 +3.05 +3.38 +3.67 +3.89 +3.98 +3.93 +3.77 +3.55 +3.31 +3.1 +2.9 +2.68 +2.39 +2.01 +1.55 +1.07 +0.64 +0.31 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.22 +0.37 +0.41 +0.33 +0.19 +0.08 +0.05 +0.14 +0.27 +0.4 +0.46 +0.45 +0.42 +0.39 +0.39 +0.43 +0.47 +0.52 +0.56 +0.6 +0.64 +0.68 +0.7 +0.72 +0.76 +0.83 +0.92 +1.02 +1.1 +1.14 +1.16 +1.22 +1.34 +1.57 +1.88 +2.24 +2.62 +2.99 +3.37 +3.74 +4.1 +4.39 +4.57 +4.59 +4.45 +4.2 +3.88 +3.56 +3.24 +2.91 +2.52 +2.06 +1.55 +1.03 +0.59 +0.27 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.22 +0.37 +0.41 +0.33 +0.19 +0.08 +0.05 +0.14 +0.27 +0.4 +0.46 +0.45 +0.42 +0.39 +0.39 +0.43 +0.47 +0.52 +0.56 +0.6 +0.64 +0.68 +0.7 +0.72 +0.76 +0.83 +0.92 +1.02 +1.1 +1.14 +1.16 +1.22 +1.34 +1.57 +1.88 +2.24 +2.62 +2.99 +3.37 +3.74 +4.1 +4.39 +4.57 +4.59 +4.45 +4.2 +3.88 +3.56 +3.24 +2.91 +2.52 +2.06 +1.55 +1.03 +0.59 +0.27 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.23 +0.32 +0.29 +0.19 +0.1 +0.07 +0.12 +0.24 +0.36 +0.44 +0.47 +0.45 +0.42 +0.39 +0.37 +0.36 +0.35 +0.36 +0.38 +0.39 +0.4 +0.4 +0.41 +0.46 +0.58 +0.75 +0.94 +1.1 +1.19 +1.22 +1.24 +1.31 +1.49 +1.77 +2.12 +2.49 +2.86 +3.23 +3.6 +3.97 +4.31 +4.56 +4.66 +4.57 +4.33 +4.0 +3.63 +3.27 +2.9 +2.5 +2.05 +1.55 +1.05 +0.63 +0.33 +0.16 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.04 +0.0 +0.0 +0.0 +0.0 +0.07 +0.23 +0.32 +0.29 +0.19 +0.1 +0.07 +0.12 +0.24 +0.36 +0.44 +0.47 +0.45 +0.42 +0.39 +0.37 +0.36 +0.35 +0.36 +0.38 +0.39 +0.4 +0.4 +0.41 +0.46 +0.58 +0.75 +0.94 +1.1 +1.19 +1.22 +1.24 +1.31 +1.49 +1.77 +2.12 +2.49 +2.86 +3.23 +3.6 +3.97 +4.31 +4.56 +4.66 +4.57 +4.33 +4.0 +3.63 +3.27 +2.9 +2.5 +2.05 +1.55 +1.05 +0.63 +0.33 +0.16 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.26 +0.28 +0.22 +0.12 +0.07 +0.09 +0.17 +0.29 +0.4 +0.46 +0.47 +0.44 +0.38 +0.31 +0.25 +0.22 +0.23 +0.25 +0.28 +0.29 +0.27 +0.26 +0.3 +0.41 +0.61 +0.84 +1.03 +1.13 +1.14 +1.1 +1.11 +1.21 +1.43 +1.72 +2.03 +2.32 +2.6 +2.9 +3.23 +3.56 +3.84 +4.0 +3.98 +3.81 +3.52 +3.19 +2.87 +2.57 +2.25 +1.89 +1.48 +1.06 +0.69 +0.43 +0.28 +0.21 +0.15 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.12 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.26 +0.28 +0.22 +0.12 +0.07 +0.09 +0.17 +0.29 +0.4 +0.46 +0.47 +0.44 +0.38 +0.31 +0.25 +0.22 +0.23 +0.25 +0.28 +0.29 +0.27 +0.26 +0.3 +0.41 +0.61 +0.84 +1.03 +1.13 +1.14 +1.1 +1.11 +1.21 +1.43 +1.72 +2.03 +2.32 +2.6 +2.9 +3.23 +3.56 +3.84 +4.0 +3.98 +3.81 +3.52 +3.19 +2.87 +2.57 +2.25 +1.89 +1.48 +1.06 +0.69 +0.43 +0.28 +0.21 +0.15 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.12 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.24 +0.29 +0.25 +0.14 +0.05 +0.02 +0.08 +0.2 +0.34 +0.45 +0.49 +0.47 +0.39 +0.28 +0.2 +0.17 +0.2 +0.27 +0.33 +0.35 +0.32 +0.28 +0.27 +0.36 +0.53 +0.73 +0.9 +0.98 +0.94 +0.86 +0.81 +0.85 +0.99 +1.2 +1.41 +1.57 +1.72 +1.88 +2.1 +2.37 +2.64 +2.83 +2.88 +2.77 +2.57 +2.33 +2.12 +1.95 +1.78 +1.57 +1.3 +1.0 +0.71 +0.5 +0.38 +0.33 +0.29 +0.23 +0.12 +0.0 +0.0 +0.0 +0.0 +0.09 +0.14 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.24 +0.29 +0.25 +0.14 +0.05 +0.02 +0.08 +0.2 +0.34 +0.45 +0.49 +0.47 +0.39 +0.28 +0.2 +0.17 +0.2 +0.27 +0.33 +0.35 +0.32 +0.28 +0.27 +0.36 +0.53 +0.73 +0.9 +0.98 +0.94 +0.86 +0.81 +0.85 +0.99 +1.2 +1.41 +1.57 +1.72 +1.88 +2.1 +2.37 +2.64 +2.83 +2.88 +2.77 +2.57 +2.33 +2.12 +1.95 +1.78 +1.57 +1.3 +1.0 +0.71 +0.5 +0.38 +0.33 +0.29 +0.23 +0.12 +0.0 +0.0 +0.0 +0.0 +0.09 +0.14 +0.1 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.06 +0.22 +0.29 +0.26 +0.14 +0.01 +0.0 +0.0 +0.11 +0.3 +0.46 +0.54 +0.52 +0.42 +0.29 +0.2 +0.19 +0.26 +0.38 +0.47 +0.5 +0.46 +0.39 +0.35 +0.39 +0.51 +0.67 +0.78 +0.8 +0.72 +0.6 +0.53 +0.54 +0.65 +0.78 +0.88 +0.91 +0.89 +0.89 +0.97 +1.15 +1.38 +1.57 +1.66 +1.61 +1.47 +1.33 +1.23 +1.2 +1.19 +1.15 +1.03 +0.85 +0.66 +0.5 +0.42 +0.4 +0.4 +0.37 +0.29 +0.18 +0.09 +0.05 +0.08 +0.13 +0.16 +0.12 +0.01 +0.0 +0.0 +0.0 +0.0 +0.06 +0.22 +0.29 +0.26 +0.14 +0.01 +0.0 +0.0 +0.11 +0.3 +0.46 +0.54 +0.52 +0.42 +0.29 +0.2 +0.19 +0.26 +0.38 +0.47 +0.5 +0.46 +0.39 +0.35 +0.39 +0.51 +0.67 +0.78 +0.8 +0.72 +0.6 +0.53 +0.54 +0.65 +0.78 +0.88 +0.91 +0.89 +0.89 +0.97 +1.15 +1.38 +1.57 +1.66 +1.61 +1.47 +1.33 +1.23 +1.2 +1.19 +1.15 +1.03 +0.85 +0.66 +0.5 +0.42 +0.4 +0.4 +0.37 +0.29 +0.18 +0.09 +0.05 +0.08 +0.13 +0.16 +0.12 +0.01 +0.07 +0.0 +0.0 +0.0 +0.0 +0.01 +0.17 +0.26 +0.23 +0.1 +0.0 +0.0 +0.0 +0.06 +0.3 +0.51 +0.62 +0.59 +0.47 +0.33 +0.24 +0.26 +0.37 +0.51 +0.63 +0.65 +0.6 +0.51 +0.45 +0.46 +0.55 +0.65 +0.7 +0.65 +0.54 +0.41 +0.35 +0.39 +0.49 +0.59 +0.61 +0.51 +0.35 +0.21 +0.18 +0.27 +0.45 +0.62 +0.71 +0.68 +0.58 +0.49 +0.46 +0.52 +0.63 +0.71 +0.72 +0.65 +0.53 +0.43 +0.39 +0.41 +0.45 +0.48 +0.44 +0.35 +0.25 +0.18 +0.17 +0.19 +0.21 +0.17 +0.07 +0.0 +0.0 +0.0 +0.0 +0.01 +0.17 +0.26 +0.23 +0.1 +0.0 +0.0 +0.0 +0.06 +0.3 +0.51 +0.62 +0.59 +0.47 +0.33 +0.24 +0.26 +0.37 +0.51 +0.63 +0.65 +0.6 +0.51 +0.45 +0.46 +0.55 +0.65 +0.7 +0.65 +0.54 +0.41 +0.35 +0.39 +0.49 +0.59 +0.61 +0.51 +0.35 +0.21 +0.18 +0.27 +0.45 +0.62 +0.71 +0.68 +0.58 +0.49 +0.46 +0.52 +0.63 +0.71 +0.72 +0.65 +0.53 +0.43 +0.39 +0.41 +0.45 +0.48 +0.44 +0.35 +0.25 +0.18 +0.17 +0.19 +0.21 +0.17 +0.07 +0.19 +0.05 +0.0 +0.0 +0.0 +0.0 +0.12 +0.21 +0.18 +0.05 +0.0 +0.0 +0.0 +0.05 +0.32 +0.56 +0.68 +0.64 +0.5 +0.34 +0.27 +0.31 +0.45 +0.61 +0.72 +0.72 +0.65 +0.56 +0.52 +0.55 +0.63 +0.69 +0.67 +0.57 +0.42 +0.31 +0.29 +0.38 +0.52 +0.62 +0.59 +0.42 +0.17 +0.0 +0.0 +0.0 +0.01 +0.17 +0.25 +0.21 +0.1 +0.0 +0.0 +0.07 +0.22 +0.37 +0.46 +0.46 +0.4 +0.34 +0.33 +0.38 +0.47 +0.54 +0.54 +0.48 +0.37 +0.29 +0.25 +0.27 +0.29 +0.28 +0.19 +0.05 +0.0 +0.0 +0.0 +0.0 +0.12 +0.21 +0.18 +0.05 +0.0 +0.0 +0.0 +0.05 +0.32 +0.56 +0.68 +0.64 +0.5 +0.34 +0.27 +0.31 +0.45 +0.61 +0.72 +0.72 +0.65 +0.56 +0.52 +0.55 +0.63 +0.69 +0.67 +0.57 +0.42 +0.31 +0.29 +0.38 +0.52 +0.62 +0.59 +0.42 +0.17 +0.0 +0.0 +0.0 +0.01 +0.17 +0.25 +0.21 +0.1 +0.0 +0.0 +0.07 +0.22 +0.37 +0.46 +0.46 +0.4 +0.34 +0.33 +0.38 +0.47 +0.54 +0.54 +0.48 +0.37 +0.29 +0.25 +0.27 +0.29 +0.28 +0.19 +0.36 +0.22 +0.05 +0.0 +0.0 +0.0 +0.1 +0.18 +0.17 +0.05 +0.0 +0.0 +0.0 +0.08 +0.36 +0.59 +0.69 +0.62 +0.46 +0.31 +0.25 +0.33 +0.49 +0.65 +0.73 +0.71 +0.63 +0.56 +0.56 +0.64 +0.73 +0.77 +0.71 +0.56 +0.38 +0.26 +0.28 +0.42 +0.61 +0.72 +0.69 +0.49 +0.21 +0.0 +0.0 +0.0 +0.0 +0.15 +0.22 +0.17 +0.04 +0.0 +0.0 +0.0 +0.04 +0.2 +0.31 +0.34 +0.32 +0.29 +0.3 +0.37 +0.47 +0.56 +0.58 +0.52 +0.42 +0.33 +0.3 +0.34 +0.4 +0.42 +0.36 +0.22 +0.05 +0.0 +0.0 +0.0 +0.1 +0.18 +0.17 +0.05 +0.0 +0.0 +0.0 +0.08 +0.36 +0.59 +0.69 +0.62 +0.46 +0.31 +0.25 +0.33 +0.49 +0.65 +0.73 +0.71 +0.63 +0.56 +0.56 +0.64 +0.73 +0.77 +0.71 +0.56 +0.38 +0.26 +0.28 +0.42 +0.61 +0.72 +0.69 +0.49 +0.21 +0.0 +0.0 +0.0 +0.0 +0.15 +0.22 +0.17 +0.04 +0.0 +0.0 +0.0 +0.04 +0.2 +0.31 +0.34 +0.32 +0.29 +0.3 +0.37 +0.47 +0.56 +0.58 +0.52 +0.42 +0.33 +0.3 +0.34 +0.4 +0.42 +0.36 +0.55 +0.43 +0.25 +0.09 +0.03 +0.08 +0.18 +0.26 +0.25 +0.14 +0.0 +0.0 +0.0 +0.17 +0.42 +0.61 +0.66 +0.56 +0.38 +0.24 +0.22 +0.33 +0.5 +0.66 +0.71 +0.67 +0.59 +0.55 +0.61 +0.73 +0.85 +0.88 +0.78 +0.57 +0.36 +0.24 +0.27 +0.43 +0.63 +0.76 +0.74 +0.57 +0.32 +0.1 +0.0 +0.05 +0.2 +0.36 +0.43 +0.38 +0.24 +0.08 +0.0 +0.0 +0.07 +0.2 +0.3 +0.35 +0.34 +0.32 +0.33 +0.39 +0.47 +0.53 +0.54 +0.47 +0.37 +0.3 +0.29 +0.37 +0.48 +0.56 +0.55 +0.43 +0.25 +0.09 +0.03 +0.08 +0.18 +0.26 +0.25 +0.14 +0.0 +0.0 +0.0 +0.17 +0.42 +0.61 +0.66 +0.56 +0.38 +0.24 +0.22 +0.33 +0.5 +0.66 +0.71 +0.67 +0.59 +0.55 +0.61 +0.73 +0.85 +0.88 +0.78 +0.57 +0.36 +0.24 +0.27 +0.43 +0.63 +0.76 +0.74 +0.57 +0.32 +0.1 +0.0 +0.05 +0.2 +0.36 +0.43 +0.38 +0.24 +0.08 +0.0 +0.0 +0.07 +0.2 +0.3 +0.35 +0.34 +0.32 +0.33 +0.39 +0.47 +0.53 +0.54 +0.47 +0.37 +0.3 +0.29 +0.37 +0.48 +0.56 +0.55 +0.71 +0.63 +0.48 +0.33 +0.27 +0.3 +0.4 +0.48 +0.47 +0.37 +0.24 +0.16 +0.2 +0.35 +0.54 +0.66 +0.65 +0.51 +0.33 +0.21 +0.22 +0.36 +0.55 +0.69 +0.72 +0.66 +0.58 +0.58 +0.67 +0.83 +0.96 +0.97 +0.83 +0.59 +0.34 +0.2 +0.21 +0.36 +0.55 +0.68 +0.68 +0.55 +0.37 +0.21 +0.17 +0.25 +0.41 +0.57 +0.66 +0.64 +0.52 +0.37 +0.25 +0.21 +0.24 +0.33 +0.41 +0.45 +0.45 +0.43 +0.42 +0.43 +0.46 +0.47 +0.43 +0.35 +0.25 +0.19 +0.22 +0.35 +0.52 +0.66 +0.71 +0.63 +0.48 +0.33 +0.27 +0.3 +0.4 +0.48 +0.47 +0.37 +0.24 +0.16 +0.2 +0.35 +0.54 +0.66 +0.65 +0.51 +0.33 +0.21 +0.22 +0.36 +0.55 +0.69 +0.72 +0.66 +0.58 +0.58 +0.67 +0.83 +0.96 +0.97 +0.83 +0.59 +0.34 +0.2 +0.21 +0.36 +0.55 +0.68 +0.68 +0.55 +0.37 +0.21 +0.17 +0.25 +0.41 +0.57 +0.66 +0.64 +0.52 +0.37 +0.25 +0.21 +0.24 +0.33 +0.41 +0.45 +0.45 +0.43 +0.42 +0.43 +0.46 +0.47 +0.43 +0.35 +0.25 +0.19 +0.22 +0.35 +0.52 +0.66 +0.71 +0.8 +0.79 +0.7 +0.6 +0.56 +0.61 +0.72 +0.8 +0.81 +0.72 +0.6 +0.52 +0.54 +0.65 +0.77 +0.83 +0.77 +0.6 +0.42 +0.32 +0.35 +0.5 +0.68 +0.79 +0.8 +0.72 +0.64 +0.64 +0.74 +0.89 +1.0 +0.98 +0.82 +0.56 +0.3 +0.14 +0.12 +0.23 +0.38 +0.49 +0.52 +0.46 +0.36 +0.28 +0.28 +0.37 +0.51 +0.67 +0.77 +0.79 +0.74 +0.63 +0.52 +0.45 +0.44 +0.48 +0.53 +0.56 +0.56 +0.53 +0.49 +0.46 +0.42 +0.37 +0.29 +0.18 +0.09 +0.05 +0.12 +0.28 +0.51 +0.7 +0.8 +0.79 +0.7 +0.6 +0.56 +0.61 +0.72 +0.8 +0.81 +0.72 +0.6 +0.52 +0.54 +0.65 +0.77 +0.83 +0.77 +0.6 +0.42 +0.32 +0.35 +0.5 +0.68 +0.79 +0.8 +0.72 +0.64 +0.64 +0.74 +0.89 +1.0 +0.98 +0.82 +0.56 +0.3 +0.14 +0.12 +0.23 +0.38 +0.49 +0.52 +0.46 +0.36 +0.28 +0.28 +0.37 +0.51 +0.67 +0.77 +0.79 +0.74 +0.63 +0.52 +0.45 +0.44 +0.48 +0.53 +0.56 +0.56 +0.53 +0.49 +0.46 +0.42 +0.37 +0.29 +0.18 +0.09 +0.05 +0.12 +0.28 +0.51 +0.7 +0.8 +0.82 +0.86 +0.84 +0.8 +0.83 +0.92 +1.05 +1.16 +1.18 +1.12 +1.03 +0.97 +0.98 +1.06 +1.15 +1.16 +1.08 +0.91 +0.75 +0.66 +0.69 +0.81 +0.94 +1.01 +0.97 +0.87 +0.77 +0.74 +0.79 +0.89 +0.94 +0.89 +0.71 +0.45 +0.21 +0.06 +0.02 +0.08 +0.19 +0.29 +0.34 +0.35 +0.34 +0.33 +0.35 +0.42 +0.51 +0.62 +0.72 +0.78 +0.79 +0.75 +0.67 +0.6 +0.55 +0.55 +0.57 +0.59 +0.58 +0.55 +0.49 +0.42 +0.34 +0.24 +0.14 +0.03 +0.0 +0.0 +0.03 +0.21 +0.45 +0.68 +0.82 +0.86 +0.84 +0.8 +0.83 +0.92 +1.05 +1.16 +1.18 +1.12 +1.03 +0.97 +0.98 +1.06 +1.15 +1.16 +1.08 +0.91 +0.75 +0.66 +0.69 +0.81 +0.94 +1.01 +0.97 +0.87 +0.77 +0.74 +0.79 +0.89 +0.94 +0.89 +0.71 +0.45 +0.21 +0.06 +0.02 +0.08 +0.19 +0.29 +0.34 +0.35 +0.34 +0.33 +0.35 +0.42 +0.51 +0.62 +0.72 +0.78 +0.79 +0.75 +0.67 +0.6 +0.55 +0.55 +0.57 +0.59 +0.58 +0.55 +0.49 +0.42 +0.34 +0.24 +0.14 +0.03 +0.0 +0.0 +0.03 +0.21 +0.45 +0.68 +0.82 +0.76 +0.84 +0.87 +0.9 +0.99 +1.14 +1.31 +1.44 +1.49 +1.47 +1.42 +1.39 +1.43 +1.52 +1.62 +1.65 +1.59 +1.46 +1.33 +1.25 +1.26 +1.32 +1.37 +1.36 +1.26 +1.1 +0.95 +0.86 +0.84 +0.84 +0.81 +0.7 +0.51 +0.28 +0.08 +0.0 +0.0 +0.0 +0.03 +0.11 +0.19 +0.26 +0.32 +0.36 +0.39 +0.4 +0.42 +0.46 +0.53 +0.61 +0.67 +0.69 +0.66 +0.58 +0.51 +0.46 +0.45 +0.46 +0.47 +0.44 +0.38 +0.3 +0.21 +0.11 +0.02 +0.0 +0.0 +0.0 +0.0 +0.17 +0.4 +0.61 +0.76 +0.84 +0.87 +0.9 +0.99 +1.14 +1.31 +1.44 +1.49 +1.47 +1.42 +1.39 +1.43 +1.52 +1.62 +1.65 +1.59 +1.46 +1.33 +1.25 +1.26 +1.32 +1.37 +1.36 +1.26 +1.1 +0.95 +0.86 +0.84 +0.84 +0.81 +0.7 +0.51 +0.28 +0.08 +0.0 +0.0 +0.0 +0.03 +0.11 +0.19 +0.26 +0.32 +0.36 +0.39 +0.4 +0.42 +0.46 +0.53 +0.61 +0.67 +0.69 +0.66 +0.58 +0.51 +0.46 +0.45 +0.46 +0.47 +0.44 +0.38 +0.3 +0.21 +0.11 +0.02 +0.0 +0.0 +0.0 +0.0 +0.17 +0.4 +0.61 +0.76 +0.66 +0.74 +0.8 +0.89 +1.03 +1.22 +1.42 +1.58 +1.66 +1.68 +1.67 +1.7 +1.79 +1.94 +2.09 +2.2 +2.22 +2.17 +2.1 +2.05 +2.03 +2.02 +1.98 +1.87 +1.69 +1.47 +1.25 +1.07 +0.94 +0.82 +0.67 +0.49 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.16 +0.27 +0.34 +0.36 +0.33 +0.27 +0.23 +0.26 +0.33 +0.43 +0.49 +0.48 +0.42 +0.32 +0.24 +0.21 +0.22 +0.24 +0.24 +0.21 +0.15 +0.08 +0.02 +0.0 +0.0 +0.0 +0.0 +0.03 +0.17 +0.35 +0.53 +0.66 +0.74 +0.8 +0.89 +1.03 +1.22 +1.42 +1.58 +1.66 +1.68 +1.67 +1.7 +1.79 +1.94 +2.09 +2.2 +2.22 +2.17 +2.1 +2.05 +2.03 +2.02 +1.98 +1.87 +1.69 +1.47 +1.25 +1.07 +0.94 +0.82 +0.67 +0.49 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.16 +0.27 +0.34 +0.36 +0.33 +0.27 +0.23 +0.26 +0.33 +0.43 +0.49 +0.48 +0.42 +0.32 +0.24 +0.21 +0.22 +0.24 +0.24 +0.21 +0.15 +0.08 +0.02 +0.0 +0.0 +0.0 +0.0 +0.03 +0.17 +0.35 +0.53 +0.66 +0.55 +0.62 +0.69 +0.79 +0.96 +1.18 +1.4 +1.57 +1.67 +1.71 +1.75 +1.83 +2.0 +2.22 +2.46 +2.67 +2.81 +2.88 +2.91 +2.92 +2.91 +2.86 +2.75 +2.56 +2.29 +2.0 +1.7 +1.44 +1.19 +0.94 +0.68 +0.4 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.14 +0.24 +0.26 +0.19 +0.08 +0.0 +0.0 +0.03 +0.14 +0.23 +0.25 +0.2 +0.09 +0.0 +0.0 +0.0 +0.02 +0.06 +0.07 +0.05 +0.03 +0.0 +0.0 +0.0 +0.02 +0.05 +0.12 +0.22 +0.34 +0.46 +0.55 +0.62 +0.69 +0.79 +0.96 +1.18 +1.4 +1.57 +1.67 +1.71 +1.75 +1.83 +2.0 +2.22 +2.46 +2.67 +2.81 +2.88 +2.91 +2.92 +2.91 +2.86 +2.75 +2.56 +2.29 +2.0 +1.7 +1.44 +1.19 +0.94 +0.68 +0.4 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.14 +0.24 +0.26 +0.19 +0.08 +0.0 +0.0 +0.03 +0.14 +0.23 +0.25 +0.2 +0.09 +0.0 +0.0 +0.0 +0.02 +0.06 +0.07 +0.05 +0.03 +0.0 +0.0 +0.0 +0.02 +0.05 +0.12 +0.22 +0.34 +0.46 +0.55 +0.49 +0.54 +0.59 +0.7 +0.87 +1.08 +1.29 +1.45 +1.54 +1.59 +1.65 +1.79 +2.01 +2.32 +2.65 +2.95 +3.22 +3.42 +3.58 +3.7 +3.76 +3.73 +3.59 +3.35 +3.03 +2.68 +2.34 +2.0 +1.66 +1.3 +0.92 +0.54 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.1 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.12 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.08 +0.1 +0.1 +0.1 +0.11 +0.14 +0.17 +0.2 +0.25 +0.31 +0.38 +0.44 +0.49 +0.54 +0.59 +0.7 +0.87 +1.08 +1.29 +1.45 +1.54 +1.59 +1.65 +1.79 +2.01 +2.32 +2.65 +2.95 +3.22 +3.42 +3.58 +3.7 +3.76 +3.73 +3.59 +3.35 +3.03 +2.68 +2.34 +2.0 +1.66 +1.3 +0.92 +0.54 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.1 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.12 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.08 +0.1 +0.1 +0.1 +0.11 +0.14 +0.17 +0.2 +0.25 +0.31 +0.38 +0.44 +0.49 +0.5 +0.53 +0.57 +0.66 +0.81 +0.99 +1.15 +1.27 +1.33 +1.37 +1.45 +1.62 +1.88 +2.23 +2.61 +2.99 +3.34 +3.67 +3.97 +4.23 +4.4 +4.45 +4.34 +4.1 +3.77 +3.41 +3.04 +2.68 +2.29 +1.86 +1.38 +0.9 +0.48 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.2 +0.17 +0.07 +0.0 +0.0 +0.0 +0.07 +0.19 +0.27 +0.3 +0.3 +0.29 +0.29 +0.31 +0.33 +0.35 +0.38 +0.41 +0.45 +0.48 +0.5 +0.53 +0.57 +0.66 +0.81 +0.99 +1.15 +1.27 +1.33 +1.37 +1.45 +1.62 +1.88 +2.23 +2.61 +2.99 +3.34 +3.67 +3.97 +4.23 +4.4 +4.45 +4.34 +4.1 +3.77 +3.41 +3.04 +2.68 +2.29 +1.86 +1.38 +0.9 +0.48 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.2 +0.17 +0.07 +0.0 +0.0 +0.0 +0.07 +0.19 +0.27 +0.3 +0.3 +0.29 +0.29 +0.31 +0.33 +0.35 +0.38 +0.41 +0.45 +0.48 +0.5 +0.57 +0.59 +0.62 +0.69 +0.81 +0.93 +1.03 +1.08 +1.09 +1.11 +1.2 +1.38 +1.66 +2.01 +2.38 +2.75 +3.14 +3.54 +3.97 +4.38 +4.68 +4.83 +4.79 +4.59 +4.28 +3.95 +3.62 +3.28 +2.91 +2.46 +1.94 +1.4 +0.91 +0.54 +0.31 +0.19 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.08 +0.04 +0.0 +0.0 +0.06 +0.25 +0.43 +0.53 +0.51 +0.39 +0.26 +0.2 +0.25 +0.37 +0.51 +0.6 +0.61 +0.56 +0.5 +0.46 +0.45 +0.46 +0.48 +0.51 +0.53 +0.55 +0.57 +0.57 +0.59 +0.62 +0.69 +0.81 +0.93 +1.03 +1.08 +1.09 +1.11 +1.2 +1.38 +1.66 +2.01 +2.38 +2.75 +3.14 +3.54 +3.97 +4.38 +4.68 +4.83 +4.79 +4.59 +4.28 +3.95 +3.62 +3.28 +2.91 +2.46 +1.94 +1.4 +0.91 +0.54 +0.31 +0.19 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.08 +0.04 +0.0 +0.0 +0.06 +0.25 +0.43 +0.53 +0.51 +0.39 +0.26 +0.2 +0.25 +0.37 +0.51 +0.6 +0.61 +0.56 +0.5 +0.46 +0.45 +0.46 +0.48 +0.51 +0.53 +0.55 +0.57 +0.57 +0.66 +0.67 +0.71 +0.76 +0.83 +0.88 +0.89 +0.87 +0.83 +0.84 +0.93 +1.13 +1.41 +1.71 +2.0 +2.3 +2.64 +3.06 +3.57 +4.08 +4.51 +4.76 +4.78 +4.62 +4.36 +4.08 +3.83 +3.59 +3.29 +2.89 +2.39 +1.85 +1.35 +0.98 +0.76 +0.64 +0.55 +0.4 +0.18 +0.0 +0.0 +0.0 +0.0 +0.06 +0.26 +0.37 +0.37 +0.33 +0.35 +0.48 +0.7 +0.92 +1.02 +0.98 +0.81 +0.63 +0.54 +0.58 +0.71 +0.86 +0.93 +0.9 +0.78 +0.65 +0.56 +0.52 +0.53 +0.57 +0.6 +0.63 +0.65 +0.66 +0.66 +0.67 +0.71 +0.76 +0.83 +0.88 +0.89 +0.87 +0.83 +0.84 +0.93 +1.13 +1.41 +1.71 +2.0 +2.3 +2.64 +3.06 +3.57 +4.08 +4.51 +4.76 +4.78 +4.62 +4.36 +4.08 +3.83 +3.59 +3.29 +2.89 +2.39 +1.85 +1.35 +0.98 +0.76 +0.64 +0.55 +0.4 +0.18 +0.0 +0.0 +0.0 +0.0 +0.06 +0.26 +0.37 +0.37 +0.33 +0.35 +0.48 +0.7 +0.92 +1.02 +0.98 +0.81 +0.63 +0.54 +0.58 +0.71 +0.86 +0.93 +0.9 +0.78 +0.65 +0.56 +0.52 +0.53 +0.57 +0.6 +0.63 +0.65 +0.66 +0.66 +0.72 +0.73 +0.77 +0.81 +0.83 +0.81 +0.73 +0.62 +0.54 +0.55 +0.67 +0.89 +1.15 +1.37 +1.54 +1.7 +1.94 +2.32 +2.84 +3.42 +3.92 +4.22 +4.27 +4.13 +3.91 +3.71 +3.57 +3.46 +3.28 +2.99 +2.57 +2.09 +1.67 +1.38 +1.23 +1.17 +1.09 +0.92 +0.63 +0.31 +0.08 +0.01 +0.14 +0.38 +0.61 +0.73 +0.74 +0.71 +0.74 +0.9 +1.15 +1.39 +1.48 +1.39 +1.15 +0.9 +0.76 +0.79 +0.94 +1.09 +1.14 +1.05 +0.86 +0.66 +0.52 +0.48 +0.51 +0.59 +0.65 +0.7 +0.71 +0.71 +0.72 +0.73 +0.77 +0.81 +0.83 +0.81 +0.73 +0.62 +0.54 +0.55 +0.67 +0.89 +1.15 +1.37 +1.54 +1.7 +1.94 +2.32 +2.84 +3.42 +3.92 +4.22 +4.27 +4.13 +3.91 +3.71 +3.57 +3.46 +3.28 +2.99 +2.57 +2.09 +1.67 +1.38 +1.23 +1.17 +1.09 +0.92 +0.63 +0.31 +0.08 +0.01 +0.14 +0.38 +0.61 +0.73 +0.74 +0.71 +0.74 +0.9 +1.15 +1.39 +1.48 +1.39 +1.15 +0.9 +0.76 +0.79 +0.94 +1.09 +1.14 +1.05 +0.86 +0.66 +0.52 +0.48 +0.51 +0.59 +0.65 +0.7 +0.71 +0.71 +0.72 +0.71 +0.73 +0.77 +0.8 +0.78 +0.68 +0.52 +0.35 +0.23 +0.25 +0.42 +0.67 +0.9 +1.04 +1.07 +1.08 +1.18 +1.48 +1.98 +2.57 +3.08 +3.38 +3.41 +3.26 +3.07 +2.94 +2.92 +2.95 +2.91 +2.74 +2.43 +2.07 +1.78 +1.63 +1.62 +1.66 +1.63 +1.45 +1.12 +0.74 +0.46 +0.37 +0.49 +0.72 +0.94 +1.03 +1.0 +0.95 +0.98 +1.15 +1.43 +1.67 +1.74 +1.58 +1.26 +0.93 +0.76 +0.79 +0.95 +1.11 +1.15 +1.01 +0.76 +0.5 +0.34 +0.32 +0.41 +0.54 +0.65 +0.71 +0.72 +0.71 +0.71 +0.73 +0.77 +0.8 +0.78 +0.68 +0.52 +0.35 +0.23 +0.25 +0.42 +0.67 +0.9 +1.04 +1.07 +1.08 +1.18 +1.48 +1.98 +2.57 +3.08 +3.38 +3.41 +3.26 +3.07 +2.94 +2.92 +2.95 +2.91 +2.74 +2.43 +2.07 +1.78 +1.63 +1.62 +1.66 +1.63 +1.45 +1.12 +0.74 +0.46 +0.37 +0.49 +0.72 +0.94 +1.03 +1.0 +0.95 +0.98 +1.15 +1.43 +1.67 +1.74 +1.58 +1.26 +0.93 +0.76 +0.79 +0.95 +1.11 +1.15 +1.01 +0.76 +0.5 +0.34 +0.32 +0.41 +0.54 +0.65 +0.71 +0.72 +0.71 +0.71 +0.65 +0.68 +0.72 +0.74 +0.69 +0.53 +0.3 +0.07 +0.0 +0.0 +0.2 +0.48 +0.7 +0.77 +0.67 +0.54 +0.52 +0.75 +1.22 +1.78 +2.26 +2.5 +2.48 +2.29 +2.11 +2.05 +2.13 +2.27 +2.35 +2.28 +2.08 +1.85 +1.71 +1.73 +1.88 +2.05 +2.08 +1.9 +1.54 +1.13 +0.81 +0.7 +0.8 +1.0 +1.16 +1.18 +1.09 +0.98 +1.0 +1.19 +1.47 +1.71 +1.73 +1.5 +1.1 +0.73 +0.54 +0.58 +0.78 +0.97 +1.0 +0.83 +0.53 +0.24 +0.09 +0.1 +0.25 +0.45 +0.61 +0.68 +0.69 +0.66 +0.65 +0.68 +0.72 +0.74 +0.69 +0.53 +0.3 +0.07 +0.0 +0.0 +0.2 +0.48 +0.7 +0.77 +0.67 +0.54 +0.52 +0.75 +1.22 +1.78 +2.26 +2.5 +2.48 +2.29 +2.11 +2.05 +2.13 +2.27 +2.35 +2.28 +2.08 +1.85 +1.71 +1.73 +1.88 +2.05 +2.08 +1.9 +1.54 +1.13 +0.81 +0.7 +0.8 +1.0 +1.16 +1.18 +1.09 +0.98 +1.0 +1.19 +1.47 +1.71 +1.73 +1.5 +1.1 +0.73 +0.54 +0.58 +0.78 +0.97 +1.0 +0.83 +0.53 +0.24 +0.09 +0.1 +0.25 +0.45 +0.61 +0.68 +0.69 +0.66 +0.65 +0.58 +0.61 +0.66 +0.67 +0.59 +0.4 +0.13 +0.0 +0.0 +0.0 +0.08 +0.39 +0.6 +0.61 +0.43 +0.21 +0.12 +0.31 +0.74 +1.27 +1.7 +1.86 +1.76 +1.53 +1.35 +1.33 +1.48 +1.69 +1.82 +1.8 +1.67 +1.54 +1.53 +1.71 +2.01 +2.28 +2.37 +2.21 +1.84 +1.41 +1.09 +0.98 +1.06 +1.21 +1.3 +1.23 +1.06 +0.92 +0.92 +1.11 +1.4 +1.6 +1.57 +1.27 +0.82 +0.42 +0.23 +0.31 +0.55 +0.76 +0.79 +0.6 +0.28 +0.0 +0.0 +0.0 +0.12 +0.37 +0.56 +0.64 +0.64 +0.6 +0.58 +0.61 +0.66 +0.67 +0.59 +0.4 +0.13 +0.0 +0.0 +0.0 +0.08 +0.39 +0.6 +0.61 +0.43 +0.21 +0.12 +0.31 +0.74 +1.27 +1.7 +1.86 +1.76 +1.53 +1.35 +1.33 +1.48 +1.69 +1.82 +1.8 +1.67 +1.54 +1.53 +1.71 +2.01 +2.28 +2.37 +2.21 +1.84 +1.41 +1.09 +0.98 +1.06 +1.21 +1.3 +1.23 +1.06 +0.92 +0.92 +1.11 +1.4 +1.6 +1.57 +1.27 +0.82 +0.42 +0.23 +0.31 +0.55 +0.76 +0.79 +0.6 +0.28 +0.0 +0.0 +0.0 +0.12 +0.37 +0.56 +0.64 +0.64 +0.6 +0.58 +0.55 +0.58 +0.62 +0.63 +0.55 +0.34 +0.07 +0.0 +0.0 +0.0 +0.11 +0.43 +0.63 +0.61 +0.39 +0.14 +0.04 +0.22 +0.64 +1.13 +1.49 +1.58 +1.42 +1.15 +0.97 +0.96 +1.13 +1.35 +1.47 +1.45 +1.33 +1.24 +1.32 +1.6 +1.99 +2.33 +2.47 +2.33 +1.99 +1.6 +1.32 +1.24 +1.33 +1.45 +1.47 +1.35 +1.13 +0.96 +0.97 +1.15 +1.42 +1.58 +1.49 +1.13 +0.64 +0.22 +0.04 +0.14 +0.39 +0.61 +0.63 +0.43 +0.11 +0.0 +0.0 +0.0 +0.07 +0.34 +0.55 +0.63 +0.62 +0.58 +0.55 +0.58 +0.62 +0.63 +0.55 +0.34 +0.07 +0.0 +0.0 +0.0 +0.11 +0.43 +0.63 +0.61 +0.39 +0.14 +0.04 +0.22 +0.64 +1.13 +1.49 +1.58 +1.42 +1.15 +0.97 +0.96 +1.13 +1.35 +1.47 +1.45 +1.33 +1.24 +1.32 +1.6 +1.99 +2.33 +2.47 +2.33 +1.99 +1.6 +1.32 +1.24 +1.33 +1.45 +1.47 +1.35 +1.13 +0.96 +0.97 +1.15 +1.42 +1.58 +1.49 +1.13 +0.64 +0.22 +0.04 +0.14 +0.39 +0.61 +0.63 +0.43 +0.11 +0.0 +0.0 +0.0 +0.07 +0.34 +0.55 +0.63 +0.62 +0.58 +0.55 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.36 +0.27 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.4 +0.39 +0.41 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +1.99 +2.17 +2.25 +2.21 +2.06 +1.84 +1.6 +1.37 +1.14 +0.92 +0.72 +0.56 +0.45 +0.41 +0.4 +0.36 +0.25 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.23 +0.34 +0.37 +0.39 +0.44 +0.55 +0.72 +0.93 +1.15 +1.38 +1.62 +1.86 +2.09 +2.24 +2.29 +2.21 +2.02 +1.78 +1.52 +1.28 +1.05 +0.84 +0.64 +0.49 +0.39 +0.36 +0.37 +0.36 +0.27 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.4 +0.39 +0.41 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +1.99 +2.17 +2.25 +2.21 +2.06 +1.84 +1.6 +1.37 +1.14 +0.92 +0.72 +0.56 +0.45 +0.41 +0.4 +0.36 +0.25 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.23 +0.34 +0.37 +0.39 +0.44 +0.55 +0.72 +0.93 +1.15 +1.38 +1.62 +1.86 +2.09 +2.24 +2.29 +2.21 +2.02 +1.78 +1.52 +1.28 +1.05 +0.84 +0.64 +0.49 +0.39 +0.36 +0.37 +0.36 +0.42 +0.39 +0.28 +0.11 +0.0 +0.0 +0.0 +0.09 +0.29 +0.44 +0.5 +0.48 +0.41 +0.37 +0.4 +0.5 +0.67 +0.88 +1.12 +1.38 +1.66 +1.93 +2.15 +2.28 +2.28 +2.17 +1.96 +1.71 +1.45 +1.2 +0.97 +0.77 +0.62 +0.54 +0.51 +0.5 +0.46 +0.35 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.32 +0.4 +0.43 +0.45 +0.51 +0.63 +0.81 +1.02 +1.26 +1.51 +1.78 +2.05 +2.28 +2.41 +2.42 +2.28 +2.03 +1.72 +1.42 +1.14 +0.9 +0.68 +0.5 +0.37 +0.3 +0.32 +0.37 +0.42 +0.39 +0.28 +0.11 +0.0 +0.0 +0.0 +0.09 +0.29 +0.44 +0.5 +0.48 +0.41 +0.37 +0.4 +0.5 +0.67 +0.88 +1.12 +1.38 +1.66 +1.93 +2.15 +2.28 +2.28 +2.17 +1.96 +1.71 +1.45 +1.2 +0.97 +0.77 +0.62 +0.54 +0.51 +0.5 +0.46 +0.35 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.32 +0.4 +0.43 +0.45 +0.51 +0.63 +0.81 +1.02 +1.26 +1.51 +1.78 +2.05 +2.28 +2.41 +2.42 +2.28 +2.03 +1.72 +1.42 +1.14 +0.9 +0.68 +0.5 +0.37 +0.3 +0.32 +0.37 +0.42 +0.53 +0.58 +0.54 +0.43 +0.31 +0.24 +0.27 +0.38 +0.54 +0.65 +0.68 +0.62 +0.5 +0.39 +0.35 +0.4 +0.53 +0.72 +0.97 +1.24 +1.54 +1.84 +2.11 +2.29 +2.35 +2.28 +2.1 +1.86 +1.58 +1.3 +1.07 +0.88 +0.77 +0.73 +0.73 +0.74 +0.7 +0.59 +0.42 +0.23 +0.11 +0.08 +0.17 +0.33 +0.49 +0.61 +0.65 +0.66 +0.68 +0.75 +0.87 +1.04 +1.25 +1.48 +1.75 +2.03 +2.31 +2.53 +2.62 +2.56 +2.34 +2.02 +1.64 +1.29 +0.98 +0.73 +0.53 +0.37 +0.28 +0.26 +0.31 +0.42 +0.53 +0.58 +0.54 +0.43 +0.31 +0.24 +0.27 +0.38 +0.54 +0.65 +0.68 +0.62 +0.5 +0.39 +0.35 +0.4 +0.53 +0.72 +0.97 +1.24 +1.54 +1.84 +2.11 +2.29 +2.35 +2.28 +2.1 +1.86 +1.58 +1.3 +1.07 +0.88 +0.77 +0.73 +0.73 +0.74 +0.7 +0.59 +0.42 +0.23 +0.11 +0.08 +0.17 +0.33 +0.49 +0.61 +0.65 +0.66 +0.68 +0.75 +0.87 +1.04 +1.25 +1.48 +1.75 +2.03 +2.31 +2.53 +2.62 +2.56 +2.34 +2.02 +1.64 +1.29 +0.98 +0.73 +0.53 +0.37 +0.28 +0.26 +0.31 +0.42 +0.53 +0.67 +0.77 +0.79 +0.74 +0.65 +0.58 +0.58 +0.65 +0.77 +0.86 +0.89 +0.82 +0.67 +0.52 +0.42 +0.4 +0.49 +0.66 +0.89 +1.15 +1.44 +1.74 +2.01 +2.24 +2.36 +2.35 +2.21 +1.98 +1.7 +1.43 +1.2 +1.05 +0.99 +1.01 +1.06 +1.1 +1.08 +0.99 +0.85 +0.71 +0.64 +0.66 +0.77 +0.92 +1.05 +1.12 +1.13 +1.12 +1.13 +1.19 +1.29 +1.44 +1.61 +1.82 +2.06 +2.32 +2.57 +2.74 +2.78 +2.64 +2.34 +1.95 +1.53 +1.16 +0.86 +0.63 +0.46 +0.35 +0.3 +0.31 +0.4 +0.53 +0.67 +0.77 +0.79 +0.74 +0.65 +0.58 +0.58 +0.65 +0.77 +0.86 +0.89 +0.82 +0.67 +0.52 +0.42 +0.4 +0.49 +0.66 +0.89 +1.15 +1.44 +1.74 +2.01 +2.24 +2.36 +2.35 +2.21 +1.98 +1.7 +1.43 +1.2 +1.05 +0.99 +1.01 +1.06 +1.1 +1.08 +0.99 +0.85 +0.71 +0.64 +0.66 +0.77 +0.92 +1.05 +1.12 +1.13 +1.12 +1.13 +1.19 +1.29 +1.44 +1.61 +1.82 +2.06 +2.32 +2.57 +2.74 +2.78 +2.64 +2.34 +1.95 +1.53 +1.16 +0.86 +0.63 +0.46 +0.35 +0.3 +0.31 +0.4 +0.53 +0.67 +0.82 +0.93 +0.99 +0.97 +0.9 +0.82 +0.78 +0.81 +0.9 +1.0 +1.05 +1.01 +0.88 +0.72 +0.59 +0.54 +0.58 +0.71 +0.9 +1.12 +1.36 +1.61 +1.88 +2.12 +2.29 +2.34 +2.26 +2.06 +1.8 +1.53 +1.33 +1.22 +1.22 +1.31 +1.42 +1.5 +1.51 +1.45 +1.34 +1.25 +1.23 +1.3 +1.44 +1.59 +1.69 +1.73 +1.71 +1.68 +1.68 +1.72 +1.8 +1.91 +2.03 +2.18 +2.36 +2.57 +2.75 +2.84 +2.79 +2.58 +2.23 +1.8 +1.39 +1.03 +0.77 +0.6 +0.49 +0.43 +0.42 +0.46 +0.54 +0.67 +0.82 +0.93 +0.99 +0.97 +0.9 +0.82 +0.78 +0.81 +0.9 +1.0 +1.05 +1.01 +0.88 +0.72 +0.59 +0.54 +0.58 +0.71 +0.9 +1.12 +1.36 +1.61 +1.88 +2.12 +2.29 +2.34 +2.26 +2.06 +1.8 +1.53 +1.33 +1.22 +1.22 +1.31 +1.42 +1.5 +1.51 +1.45 +1.34 +1.25 +1.23 +1.3 +1.44 +1.59 +1.69 +1.73 +1.71 +1.68 +1.68 +1.72 +1.8 +1.91 +2.03 +2.18 +2.36 +2.57 +2.75 +2.84 +2.79 +2.58 +2.23 +1.8 +1.39 +1.03 +0.77 +0.6 +0.49 +0.43 +0.42 +0.46 +0.54 +0.67 +0.82 +0.89 +1.01 +1.08 +1.09 +1.03 +0.94 +0.86 +0.85 +0.91 +1.01 +1.1 +1.11 +1.04 +0.91 +0.77 +0.7 +0.71 +0.8 +0.94 +1.1 +1.28 +1.48 +1.71 +1.96 +2.16 +2.26 +2.24 +2.08 +1.84 +1.59 +1.4 +1.32 +1.36 +1.49 +1.66 +1.78 +1.83 +1.79 +1.72 +1.67 +1.69 +1.81 +1.97 +2.12 +2.21 +2.21 +2.17 +2.12 +2.1 +2.14 +2.21 +2.28 +2.37 +2.46 +2.57 +2.69 +2.77 +2.76 +2.63 +2.35 +1.97 +1.56 +1.18 +0.89 +0.69 +0.59 +0.55 +0.54 +0.56 +0.6 +0.67 +0.77 +0.89 +1.01 +1.08 +1.09 +1.03 +0.94 +0.86 +0.85 +0.91 +1.01 +1.1 +1.11 +1.04 +0.91 +0.77 +0.7 +0.71 +0.8 +0.94 +1.1 +1.28 +1.48 +1.71 +1.96 +2.16 +2.26 +2.24 +2.08 +1.84 +1.59 +1.4 +1.32 +1.36 +1.49 +1.66 +1.78 +1.83 +1.79 +1.72 +1.67 +1.69 +1.81 +1.97 +2.12 +2.21 +2.21 +2.17 +2.12 +2.1 +2.14 +2.21 +2.28 +2.37 +2.46 +2.57 +2.69 +2.77 +2.76 +2.63 +2.35 +1.97 +1.56 +1.18 +0.89 +0.69 +0.59 +0.55 +0.54 +0.56 +0.6 +0.67 +0.77 +0.89 +0.85 +0.96 +1.05 +1.09 +1.05 +0.95 +0.83 +0.77 +0.79 +0.88 +1.0 +1.08 +1.06 +0.98 +0.87 +0.79 +0.78 +0.84 +0.94 +1.06 +1.18 +1.34 +1.55 +1.79 +2.01 +2.15 +2.17 +2.05 +1.84 +1.59 +1.39 +1.31 +1.35 +1.49 +1.67 +1.83 +1.9 +1.91 +1.87 +1.86 +1.91 +2.04 +2.22 +2.36 +2.43 +2.41 +2.34 +2.27 +2.25 +2.28 +2.35 +2.43 +2.5 +2.56 +2.6 +2.63 +2.61 +2.5 +2.28 +1.97 +1.59 +1.22 +0.91 +0.69 +0.56 +0.52 +0.53 +0.56 +0.6 +0.65 +0.69 +0.76 +0.85 +0.96 +1.05 +1.09 +1.05 +0.95 +0.83 +0.77 +0.79 +0.88 +1.0 +1.08 +1.06 +0.98 +0.87 +0.79 +0.78 +0.84 +0.94 +1.06 +1.18 +1.34 +1.55 +1.79 +2.01 +2.15 +2.17 +2.05 +1.84 +1.59 +1.39 +1.31 +1.35 +1.49 +1.67 +1.83 +1.9 +1.91 +1.87 +1.86 +1.91 +2.04 +2.22 +2.36 +2.43 +2.41 +2.34 +2.27 +2.25 +2.28 +2.35 +2.43 +2.5 +2.56 +2.6 +2.63 +2.61 +2.5 +2.28 +1.97 +1.59 +1.22 +0.91 +0.69 +0.56 +0.52 +0.53 +0.56 +0.6 +0.65 +0.69 +0.76 +0.85 +0.68 +0.8 +0.93 +1.01 +1.0 +0.89 +0.74 +0.62 +0.58 +0.65 +0.78 +0.89 +0.93 +0.89 +0.81 +0.74 +0.73 +0.78 +0.86 +0.96 +1.07 +1.21 +1.41 +1.64 +1.87 +2.04 +2.08 +1.99 +1.78 +1.53 +1.32 +1.2 +1.21 +1.32 +1.49 +1.66 +1.77 +1.81 +1.82 +1.85 +1.93 +2.07 +2.24 +2.37 +2.41 +2.37 +2.27 +2.18 +2.15 +2.18 +2.27 +2.36 +2.43 +2.47 +2.47 +2.41 +2.29 +2.09 +1.82 +1.49 +1.14 +0.83 +0.59 +0.43 +0.35 +0.34 +0.38 +0.44 +0.49 +0.53 +0.56 +0.61 +0.68 +0.8 +0.93 +1.01 +1.0 +0.89 +0.74 +0.62 +0.58 +0.65 +0.78 +0.89 +0.93 +0.89 +0.81 +0.74 +0.73 +0.78 +0.86 +0.96 +1.07 +1.21 +1.41 +1.64 +1.87 +2.04 +2.08 +1.99 +1.78 +1.53 +1.32 +1.2 +1.21 +1.32 +1.49 +1.66 +1.77 +1.81 +1.82 +1.85 +1.93 +2.07 +2.24 +2.37 +2.41 +2.37 +2.27 +2.18 +2.15 +2.18 +2.27 +2.36 +2.43 +2.47 +2.47 +2.41 +2.29 +2.09 +1.82 +1.49 +1.14 +0.83 +0.59 +0.43 +0.35 +0.34 +0.38 +0.44 +0.49 +0.53 +0.56 +0.61 +0.68 +0.43 +0.56 +0.72 +0.85 +0.89 +0.8 +0.62 +0.44 +0.35 +0.37 +0.49 +0.62 +0.7 +0.69 +0.64 +0.58 +0.57 +0.63 +0.72 +0.83 +0.95 +1.1 +1.29 +1.51 +1.74 +1.91 +1.96 +1.89 +1.7 +1.46 +1.23 +1.08 +1.04 +1.1 +1.25 +1.41 +1.56 +1.66 +1.74 +1.82 +1.94 +2.09 +2.26 +2.38 +2.41 +2.35 +2.23 +2.11 +2.04 +2.05 +2.13 +2.22 +2.28 +2.3 +2.24 +2.1 +1.89 +1.61 +1.3 +0.98 +0.69 +0.45 +0.26 +0.14 +0.08 +0.08 +0.12 +0.18 +0.25 +0.29 +0.32 +0.35 +0.43 +0.56 +0.72 +0.85 +0.89 +0.8 +0.62 +0.44 +0.35 +0.37 +0.49 +0.62 +0.7 +0.69 +0.64 +0.58 +0.57 +0.63 +0.72 +0.83 +0.95 +1.1 +1.29 +1.51 +1.74 +1.91 +1.96 +1.89 +1.7 +1.46 +1.23 +1.08 +1.04 +1.1 +1.25 +1.41 +1.56 +1.66 +1.74 +1.82 +1.94 +2.09 +2.26 +2.38 +2.41 +2.35 +2.23 +2.11 +2.04 +2.05 +2.13 +2.22 +2.28 +2.3 +2.24 +2.1 +1.89 +1.61 +1.3 +0.98 +0.69 +0.45 +0.26 +0.14 +0.08 +0.08 +0.12 +0.18 +0.25 +0.29 +0.32 +0.35 +0.43 +0.15 +0.29 +0.48 +0.66 +0.73 +0.67 +0.49 +0.28 +0.14 +0.12 +0.22 +0.35 +0.45 +0.48 +0.44 +0.4 +0.39 +0.45 +0.56 +0.69 +0.83 +0.98 +1.16 +1.37 +1.57 +1.72 +1.77 +1.72 +1.57 +1.37 +1.17 +1.02 +0.95 +0.98 +1.1 +1.27 +1.45 +1.63 +1.79 +1.95 +2.13 +2.32 +2.5 +2.63 +2.67 +2.61 +2.47 +2.32 +2.2 +2.15 +2.16 +2.2 +2.21 +2.16 +2.02 +1.79 +1.49 +1.16 +0.82 +0.53 +0.3 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.06 +0.09 +0.15 +0.29 +0.48 +0.66 +0.73 +0.67 +0.49 +0.28 +0.14 +0.12 +0.22 +0.35 +0.45 +0.48 +0.44 +0.4 +0.39 +0.45 +0.56 +0.69 +0.83 +0.98 +1.16 +1.37 +1.57 +1.72 +1.77 +1.72 +1.57 +1.37 +1.17 +1.02 +0.95 +0.98 +1.1 +1.27 +1.45 +1.63 +1.79 +1.95 +2.13 +2.32 +2.5 +2.63 +2.67 +2.61 +2.47 +2.32 +2.2 +2.15 +2.16 +2.2 +2.21 +2.16 +2.02 +1.79 +1.49 +1.16 +0.82 +0.53 +0.3 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.06 +0.09 +0.15 +0.0 +0.05 +0.24 +0.44 +0.55 +0.52 +0.35 +0.14 +0.0 +0.0 +0.03 +0.17 +0.28 +0.32 +0.3 +0.27 +0.27 +0.33 +0.44 +0.58 +0.72 +0.85 +1.0 +1.16 +1.32 +1.44 +1.49 +1.47 +1.39 +1.27 +1.15 +1.05 +1.0 +1.02 +1.12 +1.29 +1.51 +1.77 +2.02 +2.28 +2.53 +2.78 +3.0 +3.17 +3.25 +3.22 +3.09 +2.91 +2.72 +2.57 +2.47 +2.39 +2.29 +2.14 +1.89 +1.55 +1.17 +0.78 +0.45 +0.19 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.24 +0.44 +0.55 +0.52 +0.35 +0.14 +0.0 +0.0 +0.03 +0.17 +0.28 +0.32 +0.3 +0.27 +0.27 +0.33 +0.44 +0.58 +0.72 +0.85 +1.0 +1.16 +1.32 +1.44 +1.49 +1.47 +1.39 +1.27 +1.15 +1.05 +1.0 +1.02 +1.12 +1.29 +1.51 +1.77 +2.02 +2.28 +2.53 +2.78 +3.0 +3.17 +3.25 +3.22 +3.09 +2.91 +2.72 +2.57 +2.47 +2.39 +2.29 +2.14 +1.89 +1.55 +1.17 +0.78 +0.45 +0.19 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.22 +0.36 +0.36 +0.23 +0.05 +0.0 +0.0 +0.0 +0.08 +0.2 +0.26 +0.25 +0.22 +0.23 +0.28 +0.37 +0.48 +0.59 +0.69 +0.79 +0.9 +1.0 +1.08 +1.13 +1.14 +1.14 +1.14 +1.13 +1.13 +1.14 +1.18 +1.27 +1.43 +1.67 +1.97 +2.3 +2.64 +2.97 +3.28 +3.56 +3.79 +3.93 +3.96 +3.87 +3.68 +3.43 +3.18 +2.94 +2.72 +2.49 +2.2 +1.84 +1.41 +0.96 +0.54 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.22 +0.36 +0.36 +0.23 +0.05 +0.0 +0.0 +0.0 +0.08 +0.2 +0.26 +0.25 +0.22 +0.23 +0.28 +0.37 +0.48 +0.59 +0.69 +0.79 +0.9 +1.0 +1.08 +1.13 +1.14 +1.14 +1.14 +1.13 +1.13 +1.14 +1.18 +1.27 +1.43 +1.67 +1.97 +2.3 +2.64 +2.97 +3.28 +3.56 +3.79 +3.93 +3.96 +3.87 +3.68 +3.43 +3.18 +2.94 +2.72 +2.49 +2.2 +1.84 +1.41 +0.96 +0.54 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.2 +0.24 +0.16 +0.02 +0.0 +0.0 +0.0 +0.06 +0.18 +0.25 +0.26 +0.25 +0.24 +0.27 +0.33 +0.39 +0.45 +0.51 +0.56 +0.62 +0.67 +0.72 +0.75 +0.8 +0.87 +0.97 +1.08 +1.19 +1.27 +1.32 +1.39 +1.52 +1.74 +2.04 +2.41 +2.79 +3.17 +3.52 +3.84 +4.12 +4.33 +4.43 +4.4 +4.23 +3.96 +3.64 +3.3 +2.97 +2.63 +2.25 +1.82 +1.34 +0.86 +0.43 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.2 +0.24 +0.16 +0.02 +0.0 +0.0 +0.0 +0.06 +0.18 +0.25 +0.26 +0.25 +0.24 +0.27 +0.33 +0.39 +0.45 +0.51 +0.56 +0.62 +0.67 +0.72 +0.75 +0.8 +0.87 +0.97 +1.08 +1.19 +1.27 +1.32 +1.39 +1.52 +1.74 +2.04 +2.41 +2.79 +3.17 +3.52 +3.84 +4.12 +4.33 +4.43 +4.4 +4.23 +3.96 +3.64 +3.3 +2.97 +2.63 +2.25 +1.82 +1.34 +0.86 +0.43 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.18 +0.15 +0.06 +0.0 +0.0 +0.0 +0.07 +0.18 +0.26 +0.29 +0.29 +0.28 +0.28 +0.29 +0.3 +0.32 +0.34 +0.37 +0.41 +0.44 +0.45 +0.47 +0.52 +0.62 +0.78 +0.98 +1.16 +1.28 +1.34 +1.37 +1.44 +1.59 +1.85 +2.19 +2.56 +2.92 +3.26 +3.57 +3.86 +4.11 +4.28 +4.32 +4.21 +3.97 +3.64 +3.28 +2.91 +2.55 +2.17 +1.75 +1.28 +0.82 +0.42 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.18 +0.15 +0.06 +0.0 +0.0 +0.0 +0.07 +0.18 +0.26 +0.29 +0.29 +0.28 +0.28 +0.29 +0.3 +0.32 +0.34 +0.37 +0.41 +0.44 +0.45 +0.47 +0.52 +0.62 +0.78 +0.98 +1.16 +1.28 +1.34 +1.37 +1.44 +1.59 +1.85 +2.19 +2.56 +2.92 +3.26 +3.57 +3.86 +4.11 +4.28 +4.32 +4.21 +3.97 +3.64 +3.28 +2.91 +2.55 +2.17 +1.75 +1.28 +0.82 +0.42 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.2 +0.22 +0.16 +0.07 +0.0 +0.0 +0.06 +0.16 +0.25 +0.31 +0.34 +0.33 +0.3 +0.26 +0.23 +0.22 +0.24 +0.28 +0.34 +0.37 +0.37 +0.35 +0.37 +0.45 +0.62 +0.84 +1.04 +1.17 +1.2 +1.17 +1.16 +1.23 +1.42 +1.69 +1.99 +2.28 +2.54 +2.78 +3.02 +3.26 +3.46 +3.57 +3.53 +3.36 +3.09 +2.78 +2.47 +2.18 +1.89 +1.57 +1.2 +0.82 +0.48 +0.22 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.14 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.2 +0.22 +0.16 +0.07 +0.0 +0.0 +0.06 +0.16 +0.25 +0.31 +0.34 +0.33 +0.3 +0.26 +0.23 +0.22 +0.24 +0.28 +0.34 +0.37 +0.37 +0.35 +0.37 +0.45 +0.62 +0.84 +1.04 +1.17 +1.2 +1.17 +1.16 +1.23 +1.42 +1.69 +1.99 +2.28 +2.54 +2.78 +3.02 +3.26 +3.46 +3.57 +3.53 +3.36 +3.09 +2.78 +2.47 +2.18 +1.89 +1.57 +1.2 +0.82 +0.48 +0.22 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.14 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.26 +0.32 +0.28 +0.19 +0.08 +0.03 +0.04 +0.12 +0.24 +0.34 +0.4 +0.41 +0.35 +0.27 +0.2 +0.18 +0.22 +0.32 +0.41 +0.46 +0.45 +0.4 +0.36 +0.4 +0.53 +0.71 +0.89 +0.97 +0.95 +0.86 +0.79 +0.79 +0.91 +1.11 +1.32 +1.49 +1.61 +1.73 +1.87 +2.05 +2.25 +2.39 +2.43 +2.34 +2.15 +1.94 +1.74 +1.59 +1.45 +1.29 +1.07 +0.8 +0.53 +0.31 +0.18 +0.12 +0.1 +0.08 +0.03 +0.0 +0.0 +0.0 +0.07 +0.17 +0.21 +0.18 +0.07 +0.0 +0.0 +0.0 +0.0 +0.13 +0.26 +0.32 +0.28 +0.19 +0.08 +0.03 +0.04 +0.12 +0.24 +0.34 +0.4 +0.41 +0.35 +0.27 +0.2 +0.18 +0.22 +0.32 +0.41 +0.46 +0.45 +0.4 +0.36 +0.4 +0.53 +0.71 +0.89 +0.97 +0.95 +0.86 +0.79 +0.79 +0.91 +1.11 +1.32 +1.49 +1.61 +1.73 +1.87 +2.05 +2.25 +2.39 +2.43 +2.34 +2.15 +1.94 +1.74 +1.59 +1.45 +1.29 +1.07 +0.8 +0.53 +0.31 +0.18 +0.12 +0.1 +0.08 +0.03 +0.0 +0.0 +0.0 +0.07 +0.17 +0.21 +0.18 +0.07 +0.0 +0.01 +0.0 +0.0 +0.0 +0.15 +0.31 +0.4 +0.38 +0.27 +0.13 +0.03 +0.01 +0.1 +0.25 +0.41 +0.51 +0.52 +0.43 +0.31 +0.21 +0.2 +0.28 +0.43 +0.57 +0.65 +0.62 +0.53 +0.44 +0.43 +0.51 +0.64 +0.76 +0.78 +0.71 +0.57 +0.46 +0.45 +0.54 +0.68 +0.81 +0.86 +0.83 +0.79 +0.8 +0.9 +1.07 +1.22 +1.3 +1.27 +1.16 +1.03 +0.94 +0.93 +0.95 +0.95 +0.88 +0.73 +0.54 +0.37 +0.26 +0.22 +0.23 +0.24 +0.23 +0.19 +0.15 +0.14 +0.18 +0.23 +0.26 +0.23 +0.13 +0.01 +0.0 +0.0 +0.0 +0.15 +0.31 +0.4 +0.38 +0.27 +0.13 +0.03 +0.01 +0.1 +0.25 +0.41 +0.51 +0.52 +0.43 +0.31 +0.21 +0.2 +0.28 +0.43 +0.57 +0.65 +0.62 +0.53 +0.44 +0.43 +0.51 +0.64 +0.76 +0.78 +0.71 +0.57 +0.46 +0.45 +0.54 +0.68 +0.81 +0.86 +0.83 +0.79 +0.8 +0.9 +1.07 +1.22 +1.3 +1.27 +1.16 +1.03 +0.94 +0.93 +0.95 +0.95 +0.88 +0.73 +0.54 +0.37 +0.26 +0.22 +0.23 +0.24 +0.23 +0.19 +0.15 +0.14 +0.18 +0.23 +0.26 +0.23 +0.13 +0.01 +0.08 +0.0 +0.0 +0.0 +0.12 +0.28 +0.4 +0.4 +0.3 +0.14 +0.01 +0.0 +0.09 +0.3 +0.52 +0.65 +0.65 +0.53 +0.36 +0.24 +0.24 +0.36 +0.56 +0.73 +0.8 +0.76 +0.65 +0.54 +0.5 +0.55 +0.64 +0.7 +0.66 +0.53 +0.38 +0.28 +0.29 +0.4 +0.54 +0.62 +0.57 +0.41 +0.23 +0.13 +0.15 +0.27 +0.42 +0.52 +0.51 +0.42 +0.33 +0.3 +0.37 +0.5 +0.62 +0.67 +0.62 +0.5 +0.37 +0.29 +0.29 +0.34 +0.4 +0.42 +0.39 +0.33 +0.28 +0.26 +0.28 +0.3 +0.28 +0.2 +0.08 +0.0 +0.0 +0.0 +0.12 +0.28 +0.4 +0.4 +0.3 +0.14 +0.01 +0.0 +0.09 +0.3 +0.52 +0.65 +0.65 +0.53 +0.36 +0.24 +0.24 +0.36 +0.56 +0.73 +0.8 +0.76 +0.65 +0.54 +0.5 +0.55 +0.64 +0.7 +0.66 +0.53 +0.38 +0.28 +0.29 +0.4 +0.54 +0.62 +0.57 +0.41 +0.23 +0.13 +0.15 +0.27 +0.42 +0.52 +0.51 +0.42 +0.33 +0.3 +0.37 +0.5 +0.62 +0.67 +0.62 +0.5 +0.37 +0.29 +0.29 +0.34 +0.4 +0.42 +0.39 +0.33 +0.28 +0.26 +0.28 +0.3 +0.28 +0.2 +0.08 +0.17 +0.03 +0.0 +0.0 +0.03 +0.19 +0.32 +0.35 +0.26 +0.1 +0.0 +0.0 +0.11 +0.37 +0.63 +0.78 +0.76 +0.6 +0.39 +0.25 +0.26 +0.41 +0.62 +0.8 +0.86 +0.8 +0.68 +0.58 +0.57 +0.63 +0.71 +0.72 +0.62 +0.45 +0.28 +0.21 +0.29 +0.46 +0.63 +0.69 +0.59 +0.35 +0.08 +0.0 +0.0 +0.0 +0.12 +0.21 +0.19 +0.09 +0.0 +0.0 +0.03 +0.19 +0.37 +0.49 +0.5 +0.43 +0.34 +0.3 +0.34 +0.43 +0.53 +0.58 +0.56 +0.47 +0.37 +0.31 +0.31 +0.34 +0.34 +0.29 +0.17 +0.03 +0.0 +0.0 +0.03 +0.19 +0.32 +0.35 +0.26 +0.1 +0.0 +0.0 +0.11 +0.37 +0.63 +0.78 +0.76 +0.6 +0.39 +0.25 +0.26 +0.41 +0.62 +0.8 +0.86 +0.8 +0.68 +0.58 +0.57 +0.63 +0.71 +0.72 +0.62 +0.45 +0.28 +0.21 +0.29 +0.46 +0.63 +0.69 +0.59 +0.35 +0.08 +0.0 +0.0 +0.0 +0.12 +0.21 +0.19 +0.09 +0.0 +0.0 +0.03 +0.19 +0.37 +0.49 +0.5 +0.43 +0.34 +0.3 +0.34 +0.43 +0.53 +0.58 +0.56 +0.47 +0.37 +0.31 +0.31 +0.34 +0.34 +0.29 +0.17 +0.29 +0.11 +0.0 +0.0 +0.0 +0.09 +0.23 +0.27 +0.2 +0.05 +0.0 +0.0 +0.13 +0.42 +0.7 +0.84 +0.8 +0.6 +0.36 +0.22 +0.24 +0.4 +0.62 +0.78 +0.81 +0.74 +0.63 +0.58 +0.63 +0.74 +0.82 +0.8 +0.65 +0.43 +0.25 +0.21 +0.34 +0.57 +0.78 +0.86 +0.74 +0.47 +0.17 +0.0 +0.0 +0.04 +0.19 +0.29 +0.26 +0.13 +0.0 +0.0 +0.0 +0.08 +0.25 +0.38 +0.42 +0.38 +0.33 +0.32 +0.39 +0.51 +0.63 +0.68 +0.64 +0.52 +0.4 +0.32 +0.32 +0.38 +0.43 +0.4 +0.29 +0.11 +0.0 +0.0 +0.0 +0.09 +0.23 +0.27 +0.2 +0.05 +0.0 +0.0 +0.13 +0.42 +0.7 +0.84 +0.8 +0.6 +0.36 +0.22 +0.24 +0.4 +0.62 +0.78 +0.81 +0.74 +0.63 +0.58 +0.63 +0.74 +0.82 +0.8 +0.65 +0.43 +0.25 +0.21 +0.34 +0.57 +0.78 +0.86 +0.74 +0.47 +0.17 +0.0 +0.0 +0.04 +0.19 +0.29 +0.26 +0.13 +0.0 +0.0 +0.0 +0.08 +0.25 +0.38 +0.42 +0.38 +0.33 +0.32 +0.39 +0.51 +0.63 +0.68 +0.64 +0.52 +0.4 +0.32 +0.32 +0.38 +0.43 +0.4 +0.29 +0.45 +0.25 +0.06 +0.0 +0.0 +0.07 +0.2 +0.25 +0.18 +0.04 +0.0 +0.0 +0.16 +0.45 +0.72 +0.83 +0.75 +0.52 +0.27 +0.14 +0.18 +0.37 +0.58 +0.72 +0.73 +0.65 +0.58 +0.59 +0.7 +0.86 +0.96 +0.91 +0.71 +0.44 +0.23 +0.19 +0.34 +0.6 +0.84 +0.93 +0.83 +0.59 +0.32 +0.15 +0.14 +0.26 +0.43 +0.53 +0.51 +0.37 +0.2 +0.08 +0.06 +0.15 +0.28 +0.39 +0.43 +0.41 +0.37 +0.38 +0.46 +0.58 +0.68 +0.7 +0.63 +0.48 +0.34 +0.27 +0.3 +0.41 +0.52 +0.55 +0.45 +0.25 +0.06 +0.0 +0.0 +0.07 +0.2 +0.25 +0.18 +0.04 +0.0 +0.0 +0.16 +0.45 +0.72 +0.83 +0.75 +0.52 +0.27 +0.14 +0.18 +0.37 +0.58 +0.72 +0.73 +0.65 +0.58 +0.59 +0.7 +0.86 +0.96 +0.91 +0.71 +0.44 +0.23 +0.19 +0.34 +0.6 +0.84 +0.93 +0.83 +0.59 +0.32 +0.15 +0.14 +0.26 +0.43 +0.53 +0.51 +0.37 +0.2 +0.08 +0.06 +0.15 +0.28 +0.39 +0.43 +0.41 +0.37 +0.38 +0.46 +0.58 +0.68 +0.7 +0.63 +0.48 +0.34 +0.27 +0.3 +0.41 +0.52 +0.55 +0.45 +0.64 +0.46 +0.25 +0.11 +0.1 +0.19 +0.3 +0.33 +0.26 +0.13 +0.03 +0.05 +0.23 +0.49 +0.71 +0.78 +0.66 +0.42 +0.19 +0.09 +0.17 +0.36 +0.57 +0.68 +0.67 +0.6 +0.56 +0.62 +0.79 +0.98 +1.07 +0.99 +0.75 +0.44 +0.2 +0.14 +0.27 +0.52 +0.75 +0.86 +0.79 +0.61 +0.41 +0.29 +0.32 +0.47 +0.65 +0.76 +0.76 +0.65 +0.5 +0.37 +0.32 +0.36 +0.44 +0.5 +0.53 +0.51 +0.48 +0.48 +0.54 +0.62 +0.67 +0.65 +0.53 +0.36 +0.21 +0.17 +0.26 +0.44 +0.62 +0.71 +0.64 +0.46 +0.25 +0.11 +0.1 +0.19 +0.3 +0.33 +0.26 +0.13 +0.03 +0.05 +0.23 +0.49 +0.71 +0.78 +0.66 +0.42 +0.19 +0.09 +0.17 +0.36 +0.57 +0.68 +0.67 +0.6 +0.56 +0.62 +0.79 +0.98 +1.07 +0.99 +0.75 +0.44 +0.2 +0.14 +0.27 +0.52 +0.75 +0.86 +0.79 +0.61 +0.41 +0.29 +0.32 +0.47 +0.65 +0.76 +0.76 +0.65 +0.5 +0.37 +0.32 +0.36 +0.44 +0.5 +0.53 +0.51 +0.48 +0.48 +0.54 +0.62 +0.67 +0.65 +0.53 +0.36 +0.21 +0.17 +0.26 +0.44 +0.62 +0.71 +0.64 +0.83 +0.69 +0.5 +0.37 +0.35 +0.42 +0.51 +0.54 +0.46 +0.32 +0.21 +0.22 +0.36 +0.57 +0.75 +0.77 +0.64 +0.41 +0.21 +0.15 +0.24 +0.44 +0.62 +0.71 +0.69 +0.62 +0.6 +0.68 +0.87 +1.05 +1.12 +1.01 +0.75 +0.42 +0.16 +0.07 +0.16 +0.37 +0.57 +0.68 +0.66 +0.56 +0.44 +0.4 +0.45 +0.59 +0.75 +0.87 +0.91 +0.86 +0.76 +0.66 +0.61 +0.61 +0.63 +0.65 +0.65 +0.61 +0.58 +0.57 +0.59 +0.61 +0.61 +0.53 +0.38 +0.21 +0.08 +0.08 +0.22 +0.46 +0.7 +0.85 +0.83 +0.69 +0.5 +0.37 +0.35 +0.42 +0.51 +0.54 +0.46 +0.32 +0.21 +0.22 +0.36 +0.57 +0.75 +0.77 +0.64 +0.41 +0.21 +0.15 +0.24 +0.44 +0.62 +0.71 +0.69 +0.62 +0.6 +0.68 +0.87 +1.05 +1.12 +1.01 +0.75 +0.42 +0.16 +0.07 +0.16 +0.37 +0.57 +0.68 +0.66 +0.56 +0.44 +0.4 +0.45 +0.59 +0.75 +0.87 +0.91 +0.86 +0.76 +0.66 +0.61 +0.61 +0.63 +0.65 +0.65 +0.61 +0.58 +0.57 +0.59 +0.61 +0.61 +0.53 +0.38 +0.21 +0.08 +0.08 +0.22 +0.46 +0.7 +0.85 +0.83 +0.95 +0.86 +0.72 +0.62 +0.62 +0.7 +0.78 +0.8 +0.72 +0.58 +0.47 +0.46 +0.57 +0.74 +0.88 +0.89 +0.76 +0.57 +0.41 +0.37 +0.47 +0.63 +0.78 +0.82 +0.78 +0.7 +0.67 +0.74 +0.89 +1.03 +1.06 +0.93 +0.66 +0.35 +0.11 +0.01 +0.06 +0.21 +0.37 +0.48 +0.52 +0.5 +0.47 +0.48 +0.54 +0.64 +0.75 +0.84 +0.9 +0.91 +0.88 +0.85 +0.81 +0.78 +0.76 +0.73 +0.69 +0.64 +0.6 +0.57 +0.55 +0.54 +0.49 +0.38 +0.23 +0.08 +0.0 +0.02 +0.2 +0.47 +0.75 +0.92 +0.95 +0.86 +0.72 +0.62 +0.62 +0.7 +0.78 +0.8 +0.72 +0.58 +0.47 +0.46 +0.57 +0.74 +0.88 +0.89 +0.76 +0.57 +0.41 +0.37 +0.47 +0.63 +0.78 +0.82 +0.78 +0.7 +0.67 +0.74 +0.89 +1.03 +1.06 +0.93 +0.66 +0.35 +0.11 +0.01 +0.06 +0.21 +0.37 +0.48 +0.52 +0.5 +0.47 +0.48 +0.54 +0.64 +0.75 +0.84 +0.9 +0.91 +0.88 +0.85 +0.81 +0.78 +0.76 +0.73 +0.69 +0.64 +0.6 +0.57 +0.55 +0.54 +0.49 +0.38 +0.23 +0.08 +0.0 +0.02 +0.2 +0.47 +0.75 +0.92 +0.95 +0.96 +0.9 +0.82 +0.77 +0.81 +0.92 +1.01 +1.04 +0.97 +0.85 +0.75 +0.74 +0.84 +0.99 +1.12 +1.15 +1.07 +0.93 +0.82 +0.8 +0.88 +0.99 +1.07 +1.05 +0.96 +0.85 +0.78 +0.8 +0.87 +0.92 +0.89 +0.74 +0.49 +0.23 +0.03 +0.0 +0.0 +0.07 +0.2 +0.31 +0.39 +0.45 +0.49 +0.53 +0.57 +0.61 +0.64 +0.68 +0.73 +0.79 +0.83 +0.85 +0.84 +0.8 +0.73 +0.66 +0.6 +0.54 +0.49 +0.45 +0.43 +0.4 +0.34 +0.25 +0.12 +0.01 +0.0 +0.02 +0.2 +0.46 +0.72 +0.9 +0.96 +0.9 +0.82 +0.77 +0.81 +0.92 +1.01 +1.04 +0.97 +0.85 +0.75 +0.74 +0.84 +0.99 +1.12 +1.15 +1.07 +0.93 +0.82 +0.8 +0.88 +0.99 +1.07 +1.05 +0.96 +0.85 +0.78 +0.8 +0.87 +0.92 +0.89 +0.74 +0.49 +0.23 +0.03 +0.0 +0.0 +0.07 +0.2 +0.31 +0.39 +0.45 +0.49 +0.53 +0.57 +0.61 +0.64 +0.68 +0.73 +0.79 +0.83 +0.85 +0.84 +0.8 +0.73 +0.66 +0.6 +0.54 +0.49 +0.45 +0.43 +0.4 +0.34 +0.25 +0.12 +0.01 +0.0 +0.02 +0.2 +0.46 +0.72 +0.9 +0.96 +0.83 +0.8 +0.77 +0.78 +0.87 +1.01 +1.14 +1.19 +1.15 +1.06 +0.98 +1.0 +1.11 +1.28 +1.44 +1.53 +1.52 +1.47 +1.43 +1.44 +1.49 +1.55 +1.54 +1.46 +1.3 +1.13 +1.0 +0.93 +0.89 +0.83 +0.72 +0.53 +0.3 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.14 +0.24 +0.35 +0.44 +0.51 +0.52 +0.49 +0.45 +0.42 +0.44 +0.51 +0.6 +0.66 +0.67 +0.63 +0.54 +0.45 +0.37 +0.31 +0.28 +0.27 +0.26 +0.25 +0.22 +0.16 +0.08 +0.02 +0.0 +0.06 +0.21 +0.43 +0.64 +0.78 +0.83 +0.8 +0.77 +0.78 +0.87 +1.01 +1.14 +1.19 +1.15 +1.06 +0.98 +1.0 +1.11 +1.28 +1.44 +1.53 +1.52 +1.47 +1.43 +1.44 +1.49 +1.55 +1.54 +1.46 +1.3 +1.13 +1.0 +0.93 +0.89 +0.83 +0.72 +0.53 +0.3 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.14 +0.24 +0.35 +0.44 +0.51 +0.52 +0.49 +0.45 +0.42 +0.44 +0.51 +0.6 +0.66 +0.67 +0.63 +0.54 +0.45 +0.37 +0.31 +0.28 +0.27 +0.26 +0.25 +0.22 +0.16 +0.08 +0.02 +0.0 +0.06 +0.21 +0.43 +0.64 +0.78 +0.83 +0.63 +0.61 +0.61 +0.67 +0.81 +1.0 +1.16 +1.25 +1.24 +1.18 +1.14 +1.19 +1.34 +1.56 +1.78 +1.95 +2.06 +2.12 +2.17 +2.24 +2.31 +2.33 +2.26 +2.1 +1.88 +1.64 +1.43 +1.25 +1.09 +0.91 +0.69 +0.44 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.16 +0.28 +0.36 +0.37 +0.3 +0.19 +0.11 +0.1 +0.16 +0.27 +0.37 +0.41 +0.37 +0.29 +0.19 +0.11 +0.09 +0.1 +0.13 +0.16 +0.17 +0.18 +0.16 +0.12 +0.09 +0.08 +0.13 +0.23 +0.37 +0.51 +0.6 +0.63 +0.61 +0.61 +0.67 +0.81 +1.0 +1.16 +1.25 +1.24 +1.18 +1.14 +1.19 +1.34 +1.56 +1.78 +1.95 +2.06 +2.12 +2.17 +2.24 +2.31 +2.33 +2.26 +2.1 +1.88 +1.64 +1.43 +1.25 +1.09 +0.91 +0.69 +0.44 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.16 +0.28 +0.36 +0.37 +0.3 +0.19 +0.11 +0.1 +0.16 +0.27 +0.37 +0.41 +0.37 +0.29 +0.19 +0.11 +0.09 +0.1 +0.13 +0.16 +0.17 +0.18 +0.16 +0.12 +0.09 +0.08 +0.13 +0.23 +0.37 +0.51 +0.6 +0.63 +0.43 +0.42 +0.45 +0.55 +0.72 +0.94 +1.12 +1.23 +1.24 +1.22 +1.22 +1.31 +1.51 +1.78 +2.07 +2.34 +2.56 +2.76 +2.94 +3.12 +3.25 +3.29 +3.21 +3.0 +2.72 +2.42 +2.13 +1.85 +1.58 +1.27 +0.93 +0.58 +0.28 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.16 +0.18 +0.11 +0.0 +0.0 +0.0 +0.0 +0.02 +0.15 +0.22 +0.2 +0.12 +0.03 +0.0 +0.0 +0.05 +0.12 +0.19 +0.24 +0.26 +0.25 +0.23 +0.21 +0.19 +0.2 +0.24 +0.31 +0.38 +0.42 +0.43 +0.42 +0.45 +0.55 +0.72 +0.94 +1.12 +1.23 +1.24 +1.22 +1.22 +1.31 +1.51 +1.78 +2.07 +2.34 +2.56 +2.76 +2.94 +3.12 +3.25 +3.29 +3.21 +3.0 +2.72 +2.42 +2.13 +1.85 +1.58 +1.27 +0.93 +0.58 +0.28 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.16 +0.18 +0.11 +0.0 +0.0 +0.0 +0.0 +0.02 +0.15 +0.22 +0.2 +0.12 +0.03 +0.0 +0.0 +0.05 +0.12 +0.19 +0.24 +0.26 +0.25 +0.23 +0.21 +0.19 +0.2 +0.24 +0.31 +0.38 +0.42 +0.43 +0.32 +0.32 +0.36 +0.48 +0.68 +0.9 +1.08 +1.18 +1.2 +1.19 +1.23 +1.36 +1.61 +1.93 +2.27 +2.6 +2.93 +3.25 +3.59 +3.92 +4.17 +4.29 +4.23 +4.02 +3.7 +3.35 +3.01 +2.67 +2.31 +1.9 +1.45 +1.0 +0.61 +0.33 +0.18 +0.11 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.09 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.26 +0.26 +0.18 +0.09 +0.05 +0.09 +0.19 +0.3 +0.4 +0.44 +0.44 +0.41 +0.37 +0.32 +0.29 +0.27 +0.27 +0.29 +0.32 +0.32 +0.32 +0.32 +0.36 +0.48 +0.68 +0.9 +1.08 +1.18 +1.2 +1.19 +1.23 +1.36 +1.61 +1.93 +2.27 +2.6 +2.93 +3.25 +3.59 +3.92 +4.17 +4.29 +4.23 +4.02 +3.7 +3.35 +3.01 +2.67 +2.31 +1.9 +1.45 +1.0 +0.61 +0.33 +0.18 +0.11 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.09 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.26 +0.26 +0.18 +0.09 +0.05 +0.09 +0.19 +0.3 +0.4 +0.44 +0.44 +0.41 +0.37 +0.32 +0.29 +0.27 +0.27 +0.29 +0.32 +0.32 +0.32 +0.3 +0.31 +0.38 +0.51 +0.69 +0.89 +1.04 +1.1 +1.1 +1.1 +1.17 +1.35 +1.63 +1.97 +2.32 +2.67 +3.04 +3.47 +3.96 +4.45 +4.85 +5.08 +5.08 +4.88 +4.55 +4.18 +3.81 +3.46 +3.07 +2.61 +2.09 +1.55 +1.09 +0.77 +0.59 +0.5 +0.41 +0.28 +0.08 +0.0 +0.0 +0.0 +0.0 +0.08 +0.22 +0.24 +0.17 +0.06 +0.02 +0.1 +0.28 +0.47 +0.58 +0.56 +0.46 +0.34 +0.29 +0.33 +0.46 +0.59 +0.68 +0.7 +0.64 +0.56 +0.47 +0.4 +0.35 +0.32 +0.31 +0.32 +0.32 +0.31 +0.3 +0.31 +0.38 +0.51 +0.69 +0.89 +1.04 +1.1 +1.1 +1.1 +1.17 +1.35 +1.63 +1.97 +2.32 +2.67 +3.04 +3.47 +3.96 +4.45 +4.85 +5.08 +5.08 +4.88 +4.55 +4.18 +3.81 +3.46 +3.07 +2.61 +2.09 +1.55 +1.09 +0.77 +0.59 +0.5 +0.41 +0.28 +0.08 +0.0 +0.0 +0.0 +0.0 +0.08 +0.22 +0.24 +0.17 +0.06 +0.02 +0.1 +0.28 +0.47 +0.58 +0.56 +0.46 +0.34 +0.29 +0.33 +0.46 +0.59 +0.68 +0.7 +0.64 +0.56 +0.47 +0.4 +0.35 +0.32 +0.31 +0.32 +0.32 +0.31 +0.3 +0.34 +0.37 +0.44 +0.57 +0.73 +0.87 +0.95 +0.96 +0.93 +0.93 +1.03 +1.25 +1.55 +1.88 +2.18 +2.48 +2.84 +3.31 +3.89 +4.53 +5.07 +5.4 +5.45 +5.26 +4.93 +4.57 +4.24 +3.93 +3.57 +3.13 +2.59 +2.03 +1.55 +1.23 +1.06 +0.98 +0.9 +0.73 +0.47 +0.19 +0.01 +0.0 +0.14 +0.37 +0.56 +0.64 +0.58 +0.49 +0.46 +0.56 +0.76 +0.96 +1.06 +1.0 +0.82 +0.63 +0.53 +0.57 +0.7 +0.85 +0.91 +0.87 +0.75 +0.59 +0.45 +0.37 +0.34 +0.33 +0.34 +0.35 +0.35 +0.35 +0.34 +0.37 +0.44 +0.57 +0.73 +0.87 +0.95 +0.96 +0.93 +0.93 +1.03 +1.25 +1.55 +1.88 +2.18 +2.48 +2.84 +3.31 +3.89 +4.53 +5.07 +5.4 +5.45 +5.26 +4.93 +4.57 +4.24 +3.93 +3.57 +3.13 +2.59 +2.03 +1.55 +1.23 +1.06 +0.98 +0.9 +0.73 +0.47 +0.19 +0.01 +0.0 +0.14 +0.37 +0.56 +0.64 +0.58 +0.49 +0.46 +0.56 +0.76 +0.96 +1.06 +1.0 +0.82 +0.63 +0.53 +0.57 +0.7 +0.85 +0.91 +0.87 +0.75 +0.59 +0.45 +0.37 +0.34 +0.33 +0.34 +0.35 +0.35 +0.35 +0.34 +0.36 +0.39 +0.47 +0.59 +0.71 +0.78 +0.77 +0.7 +0.64 +0.65 +0.79 +1.04 +1.35 +1.62 +1.83 +2.02 +2.29 +2.74 +3.37 +4.09 +4.73 +5.12 +5.19 +5.0 +4.68 +4.35 +4.09 +3.87 +3.6 +3.23 +2.75 +2.24 +1.81 +1.55 +1.45 +1.44 +1.4 +1.22 +0.93 +0.59 +0.37 +0.33 +0.5 +0.76 +0.99 +1.07 +1.02 +0.93 +0.91 +1.03 +1.25 +1.45 +1.49 +1.35 +1.06 +0.77 +0.61 +0.63 +0.77 +0.92 +0.96 +0.86 +0.66 +0.44 +0.28 +0.22 +0.23 +0.28 +0.33 +0.36 +0.37 +0.36 +0.36 +0.39 +0.47 +0.59 +0.71 +0.78 +0.77 +0.7 +0.64 +0.65 +0.79 +1.04 +1.35 +1.62 +1.83 +2.02 +2.29 +2.74 +3.37 +4.09 +4.73 +5.12 +5.19 +5.0 +4.68 +4.35 +4.09 +3.87 +3.6 +3.23 +2.75 +2.24 +1.81 +1.55 +1.45 +1.44 +1.4 +1.22 +0.93 +0.59 +0.37 +0.33 +0.5 +0.76 +0.99 +1.07 +1.02 +0.93 +0.91 +1.03 +1.25 +1.45 +1.49 +1.35 +1.06 +0.77 +0.61 +0.63 +0.77 +0.92 +0.96 +0.86 +0.66 +0.44 +0.28 +0.22 +0.23 +0.28 +0.33 +0.36 +0.37 +0.36 +0.36 +0.29 +0.33 +0.41 +0.51 +0.58 +0.57 +0.48 +0.34 +0.23 +0.26 +0.44 +0.73 +1.02 +1.21 +1.29 +1.34 +1.49 +1.88 +2.51 +3.26 +3.92 +4.32 +4.37 +4.16 +3.84 +3.57 +3.41 +3.31 +3.17 +2.91 +2.52 +2.11 +1.79 +1.65 +1.67 +1.76 +1.78 +1.62 +1.3 +0.94 +0.68 +0.65 +0.82 +1.09 +1.31 +1.37 +1.29 +1.17 +1.16 +1.3 +1.54 +1.72 +1.7 +1.45 +1.04 +0.65 +0.43 +0.44 +0.6 +0.76 +0.79 +0.65 +0.39 +0.13 +0.0 +0.0 +0.03 +0.16 +0.26 +0.31 +0.31 +0.29 +0.29 +0.33 +0.41 +0.51 +0.58 +0.57 +0.48 +0.34 +0.23 +0.26 +0.44 +0.73 +1.02 +1.21 +1.29 +1.34 +1.49 +1.88 +2.51 +3.26 +3.92 +4.32 +4.37 +4.16 +3.84 +3.57 +3.41 +3.31 +3.17 +2.91 +2.52 +2.11 +1.79 +1.65 +1.67 +1.76 +1.78 +1.62 +1.3 +0.94 +0.68 +0.65 +0.82 +1.09 +1.31 +1.37 +1.29 +1.17 +1.16 +1.3 +1.54 +1.72 +1.7 +1.45 +1.04 +0.65 +0.43 +0.44 +0.6 +0.76 +0.79 +0.65 +0.39 +0.13 +0.0 +0.0 +0.03 +0.16 +0.26 +0.31 +0.31 +0.29 +0.29 +0.14 +0.18 +0.27 +0.35 +0.38 +0.3 +0.12 +0.0 +0.0 +0.0 +0.04 +0.36 +0.63 +0.74 +0.69 +0.59 +0.63 +0.95 +1.55 +2.29 +2.93 +3.29 +3.29 +3.05 +2.74 +2.54 +2.48 +2.5 +2.48 +2.33 +2.05 +1.74 +1.55 +1.56 +1.72 +1.92 +1.99 +1.84 +1.51 +1.13 +0.87 +0.84 +1.01 +1.26 +1.43 +1.43 +1.3 +1.17 +1.17 +1.34 +1.59 +1.75 +1.66 +1.3 +0.78 +0.31 +0.07 +0.09 +0.28 +0.47 +0.49 +0.32 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.21 +0.19 +0.16 +0.14 +0.18 +0.27 +0.35 +0.38 +0.3 +0.12 +0.0 +0.0 +0.0 +0.04 +0.36 +0.63 +0.74 +0.69 +0.59 +0.63 +0.95 +1.55 +2.29 +2.93 +3.29 +3.29 +3.05 +2.74 +2.54 +2.48 +2.5 +2.48 +2.33 +2.05 +1.74 +1.55 +1.56 +1.72 +1.92 +1.99 +1.84 +1.51 +1.13 +0.87 +0.84 +1.01 +1.26 +1.43 +1.43 +1.3 +1.17 +1.17 +1.34 +1.59 +1.75 +1.66 +1.3 +0.78 +0.31 +0.07 +0.09 +0.28 +0.47 +0.49 +0.32 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.21 +0.19 +0.16 +0.14 +0.0 +0.04 +0.12 +0.19 +0.17 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.29 +0.34 +0.19 +0.0 +0.0 +0.22 +0.79 +1.5 +2.09 +2.38 +2.33 +2.06 +1.78 +1.64 +1.68 +1.8 +1.86 +1.77 +1.56 +1.34 +1.27 +1.4 +1.68 +1.95 +2.06 +1.93 +1.59 +1.22 +0.96 +0.94 +1.1 +1.31 +1.43 +1.37 +1.2 +1.07 +1.1 +1.3 +1.57 +1.71 +1.55 +1.1 +0.49 +0.0 +0.0 +0.0 +0.0 +0.21 +0.23 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.11 +0.08 +0.03 +0.0 +0.04 +0.12 +0.19 +0.17 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.29 +0.34 +0.19 +0.0 +0.0 +0.22 +0.79 +1.5 +2.09 +2.38 +2.33 +2.06 +1.78 +1.64 +1.68 +1.8 +1.86 +1.77 +1.56 +1.34 +1.27 +1.4 +1.68 +1.95 +2.06 +1.93 +1.59 +1.22 +0.96 +0.94 +1.1 +1.31 +1.43 +1.37 +1.2 +1.07 +1.1 +1.3 +1.57 +1.71 +1.55 +1.1 +0.49 +0.0 +0.0 +0.0 +0.0 +0.21 +0.23 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.11 +0.08 +0.03 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.44 +1.1 +1.63 +1.85 +1.75 +1.48 +1.23 +1.15 +1.26 +1.43 +1.51 +1.43 +1.24 +1.07 +1.07 +1.28 +1.63 +1.95 +2.08 +1.95 +1.63 +1.28 +1.07 +1.07 +1.24 +1.43 +1.51 +1.43 +1.26 +1.15 +1.23 +1.48 +1.75 +1.85 +1.63 +1.1 +0.44 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.44 +1.1 +1.63 +1.85 +1.75 +1.48 +1.23 +1.15 +1.26 +1.43 +1.51 +1.43 +1.24 +1.07 +1.07 +1.28 +1.63 +1.95 +2.08 +1.95 +1.63 +1.28 +1.07 +1.07 +1.24 +1.43 +1.51 +1.43 +1.26 +1.15 +1.23 +1.48 +1.75 +1.85 +1.63 +1.1 +0.44 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.27 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.4 +0.39 +0.41 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +1.99 +2.17 +2.25 +2.21 +2.06 +1.84 +1.6 +1.37 +1.14 +0.92 +0.72 +0.56 +0.45 +0.41 +0.4 +0.36 +0.25 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.34 +0.38 +0.39 +0.44 +0.55 +0.72 +0.93 +1.15 +1.38 +1.62 +1.86 +2.08 +2.24 +2.28 +2.2 +2.02 +1.77 +1.52 +1.28 +1.05 +0.84 +0.64 +0.49 +0.39 +0.36 +0.37 +0.36 +0.27 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.4 +0.39 +0.41 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +1.99 +2.17 +2.25 +2.21 +2.06 +1.84 +1.6 +1.37 +1.14 +0.92 +0.72 +0.56 +0.45 +0.41 +0.4 +0.36 +0.25 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.34 +0.38 +0.39 +0.44 +0.55 +0.72 +0.93 +1.15 +1.38 +1.62 +1.86 +2.08 +2.24 +2.28 +2.2 +2.02 +1.77 +1.52 +1.28 +1.05 +0.84 +0.64 +0.49 +0.39 +0.36 +0.37 +0.36 +0.27 +0.41 +0.29 +0.11 +0.0 +0.0 +0.0 +0.1 +0.29 +0.44 +0.5 +0.47 +0.41 +0.37 +0.4 +0.5 +0.67 +0.88 +1.12 +1.38 +1.66 +1.94 +2.17 +2.29 +2.3 +2.18 +1.98 +1.73 +1.47 +1.22 +0.99 +0.79 +0.63 +0.54 +0.51 +0.5 +0.46 +0.35 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.33 +0.42 +0.44 +0.46 +0.52 +0.64 +0.82 +1.03 +1.27 +1.52 +1.78 +2.05 +2.28 +2.41 +2.41 +2.27 +2.02 +1.71 +1.41 +1.14 +0.89 +0.68 +0.5 +0.37 +0.31 +0.33 +0.39 +0.43 +0.41 +0.29 +0.11 +0.0 +0.0 +0.0 +0.1 +0.29 +0.44 +0.5 +0.47 +0.41 +0.37 +0.4 +0.5 +0.67 +0.88 +1.12 +1.38 +1.66 +1.94 +2.17 +2.29 +2.3 +2.18 +1.98 +1.73 +1.47 +1.22 +0.99 +0.79 +0.63 +0.54 +0.51 +0.5 +0.46 +0.35 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.33 +0.42 +0.44 +0.46 +0.52 +0.64 +0.82 +1.03 +1.27 +1.52 +1.78 +2.05 +2.28 +2.41 +2.41 +2.27 +2.02 +1.71 +1.41 +1.14 +0.89 +0.68 +0.5 +0.37 +0.31 +0.33 +0.39 +0.43 +0.41 +0.61 +0.56 +0.45 +0.33 +0.27 +0.3 +0.42 +0.57 +0.67 +0.69 +0.62 +0.5 +0.4 +0.36 +0.4 +0.54 +0.73 +0.97 +1.25 +1.56 +1.86 +2.14 +2.32 +2.39 +2.33 +2.15 +1.9 +1.62 +1.35 +1.11 +0.93 +0.81 +0.75 +0.75 +0.75 +0.72 +0.62 +0.45 +0.27 +0.13 +0.11 +0.19 +0.35 +0.51 +0.63 +0.68 +0.7 +0.71 +0.77 +0.89 +1.06 +1.26 +1.5 +1.76 +2.04 +2.32 +2.53 +2.61 +2.55 +2.33 +2.0 +1.64 +1.29 +0.98 +0.74 +0.54 +0.39 +0.3 +0.28 +0.35 +0.46 +0.57 +0.61 +0.56 +0.45 +0.33 +0.27 +0.3 +0.42 +0.57 +0.67 +0.69 +0.62 +0.5 +0.4 +0.36 +0.4 +0.54 +0.73 +0.97 +1.25 +1.56 +1.86 +2.14 +2.32 +2.39 +2.33 +2.15 +1.9 +1.62 +1.35 +1.11 +0.93 +0.81 +0.75 +0.75 +0.75 +0.72 +0.62 +0.45 +0.27 +0.13 +0.11 +0.19 +0.35 +0.51 +0.63 +0.68 +0.7 +0.71 +0.77 +0.89 +1.06 +1.26 +1.5 +1.76 +2.04 +2.32 +2.53 +2.61 +2.55 +2.33 +2.0 +1.64 +1.29 +0.98 +0.74 +0.54 +0.39 +0.3 +0.28 +0.35 +0.46 +0.57 +0.61 +0.84 +0.85 +0.8 +0.71 +0.64 +0.65 +0.72 +0.83 +0.92 +0.92 +0.84 +0.7 +0.54 +0.45 +0.44 +0.53 +0.69 +0.91 +1.18 +1.47 +1.78 +2.07 +2.3 +2.43 +2.43 +2.3 +2.07 +1.79 +1.52 +1.29 +1.14 +1.08 +1.08 +1.13 +1.16 +1.15 +1.07 +0.93 +0.79 +0.71 +0.72 +0.82 +0.96 +1.09 +1.17 +1.19 +1.18 +1.19 +1.23 +1.33 +1.47 +1.64 +1.84 +2.08 +2.35 +2.59 +2.75 +2.77 +2.63 +2.33 +1.95 +1.54 +1.18 +0.88 +0.66 +0.5 +0.39 +0.34 +0.37 +0.47 +0.61 +0.75 +0.84 +0.85 +0.8 +0.71 +0.64 +0.65 +0.72 +0.83 +0.92 +0.92 +0.84 +0.7 +0.54 +0.45 +0.44 +0.53 +0.69 +0.91 +1.18 +1.47 +1.78 +2.07 +2.3 +2.43 +2.43 +2.3 +2.07 +1.79 +1.52 +1.29 +1.14 +1.08 +1.08 +1.13 +1.16 +1.15 +1.07 +0.93 +0.79 +0.71 +0.72 +0.82 +0.96 +1.09 +1.17 +1.19 +1.18 +1.19 +1.23 +1.33 +1.47 +1.64 +1.84 +2.08 +2.35 +2.59 +2.75 +2.77 +2.63 +2.33 +1.95 +1.54 +1.18 +0.88 +0.66 +0.5 +0.39 +0.34 +0.37 +0.47 +0.61 +0.75 +0.84 +1.04 +1.08 +1.06 +1.0 +0.93 +0.9 +0.94 +1.01 +1.09 +1.12 +1.07 +0.94 +0.78 +0.65 +0.6 +0.64 +0.77 +0.94 +1.16 +1.4 +1.67 +1.95 +2.21 +2.39 +2.45 +2.38 +2.19 +1.93 +1.68 +1.48 +1.37 +1.36 +1.43 +1.53 +1.61 +1.63 +1.58 +1.48 +1.39 +1.36 +1.42 +1.54 +1.67 +1.78 +1.81 +1.8 +1.77 +1.76 +1.78 +1.85 +1.94 +2.06 +2.21 +2.4 +2.6 +2.78 +2.86 +2.8 +2.58 +2.23 +1.82 +1.42 +1.08 +0.83 +0.67 +0.56 +0.51 +0.51 +0.56 +0.66 +0.79 +0.93 +1.04 +1.08 +1.06 +1.0 +0.93 +0.9 +0.94 +1.01 +1.09 +1.12 +1.07 +0.94 +0.78 +0.65 +0.6 +0.64 +0.77 +0.94 +1.16 +1.4 +1.67 +1.95 +2.21 +2.39 +2.45 +2.38 +2.19 +1.93 +1.68 +1.48 +1.37 +1.36 +1.43 +1.53 +1.61 +1.63 +1.58 +1.48 +1.39 +1.36 +1.42 +1.54 +1.67 +1.78 +1.81 +1.8 +1.77 +1.76 +1.78 +1.85 +1.94 +2.06 +2.21 +2.4 +2.6 +2.78 +2.86 +2.8 +2.58 +2.23 +1.82 +1.42 +1.08 +0.83 +0.67 +0.56 +0.51 +0.51 +0.56 +0.66 +0.79 +0.93 +1.04 +1.14 +1.2 +1.2 +1.16 +1.08 +1.02 +1.01 +1.06 +1.14 +1.2 +1.2 +1.12 +0.99 +0.87 +0.8 +0.8 +0.88 +1.0 +1.15 +1.33 +1.54 +1.79 +2.05 +2.27 +2.39 +2.38 +2.23 +2.01 +1.77 +1.59 +1.51 +1.54 +1.66 +1.81 +1.93 +1.99 +1.97 +1.91 +1.87 +1.88 +1.97 +2.11 +2.24 +2.32 +2.32 +2.28 +2.22 +2.19 +2.2 +2.24 +2.31 +2.39 +2.49 +2.61 +2.73 +2.81 +2.8 +2.65 +2.36 +1.99 +1.59 +1.24 +0.97 +0.79 +0.7 +0.66 +0.66 +0.68 +0.74 +0.82 +0.92 +1.03 +1.14 +1.2 +1.2 +1.16 +1.08 +1.02 +1.01 +1.06 +1.14 +1.2 +1.2 +1.12 +0.99 +0.87 +0.8 +0.8 +0.88 +1.0 +1.15 +1.33 +1.54 +1.79 +2.05 +2.27 +2.39 +2.38 +2.23 +2.01 +1.77 +1.59 +1.51 +1.54 +1.66 +1.81 +1.93 +1.99 +1.97 +1.91 +1.87 +1.88 +1.97 +2.11 +2.24 +2.32 +2.32 +2.28 +2.22 +2.19 +2.2 +2.24 +2.31 +2.39 +2.49 +2.61 +2.73 +2.81 +2.8 +2.65 +2.36 +1.99 +1.59 +1.24 +0.97 +0.79 +0.7 +0.66 +0.66 +0.68 +0.74 +0.82 +0.92 +1.03 +1.14 +1.09 +1.17 +1.21 +1.18 +1.1 +1.0 +0.94 +0.95 +1.02 +1.11 +1.17 +1.15 +1.07 +0.97 +0.89 +0.88 +0.92 +1.0 +1.1 +1.22 +1.39 +1.61 +1.87 +2.11 +2.27 +2.31 +2.2 +2.0 +1.77 +1.59 +1.51 +1.54 +1.67 +1.84 +1.99 +2.08 +2.11 +2.09 +2.09 +2.13 +2.24 +2.38 +2.5 +2.56 +2.53 +2.46 +2.37 +2.33 +2.33 +2.38 +2.44 +2.51 +2.58 +2.64 +2.68 +2.66 +2.54 +2.32 +1.99 +1.62 +1.27 +0.98 +0.79 +0.68 +0.65 +0.67 +0.7 +0.75 +0.8 +0.85 +0.91 +1.0 +1.09 +1.17 +1.21 +1.18 +1.1 +1.0 +0.94 +0.95 +1.02 +1.11 +1.17 +1.15 +1.07 +0.97 +0.89 +0.88 +0.92 +1.0 +1.1 +1.22 +1.39 +1.61 +1.87 +2.11 +2.27 +2.31 +2.2 +2.0 +1.77 +1.59 +1.51 +1.54 +1.67 +1.84 +1.99 +2.08 +2.11 +2.09 +2.09 +2.13 +2.24 +2.38 +2.5 +2.56 +2.53 +2.46 +2.37 +2.33 +2.33 +2.38 +2.44 +2.51 +2.58 +2.64 +2.68 +2.66 +2.54 +2.32 +1.99 +1.62 +1.27 +0.98 +0.79 +0.68 +0.65 +0.67 +0.7 +0.75 +0.8 +0.85 +0.91 +1.0 +1.09 +0.9 +1.01 +1.09 +1.09 +1.01 +0.88 +0.76 +0.72 +0.76 +0.86 +0.95 +0.99 +0.96 +0.89 +0.83 +0.81 +0.84 +0.9 +0.98 +1.07 +1.22 +1.42 +1.68 +1.93 +2.12 +2.19 +2.11 +1.92 +1.69 +1.49 +1.38 +1.38 +1.48 +1.64 +1.81 +1.94 +2.01 +2.05 +2.09 +2.16 +2.29 +2.42 +2.52 +2.55 +2.49 +2.38 +2.27 +2.21 +2.21 +2.26 +2.34 +2.42 +2.47 +2.49 +2.45 +2.34 +2.14 +1.85 +1.51 +1.17 +0.88 +0.66 +0.53 +0.48 +0.48 +0.52 +0.58 +0.63 +0.67 +0.7 +0.73 +0.8 +0.9 +1.01 +1.09 +1.09 +1.01 +0.88 +0.76 +0.72 +0.76 +0.86 +0.95 +0.99 +0.96 +0.89 +0.83 +0.81 +0.84 +0.9 +0.98 +1.07 +1.22 +1.42 +1.68 +1.93 +2.12 +2.19 +2.11 +1.92 +1.69 +1.49 +1.38 +1.38 +1.48 +1.64 +1.81 +1.94 +2.01 +2.05 +2.09 +2.16 +2.29 +2.42 +2.52 +2.55 +2.49 +2.38 +2.27 +2.21 +2.21 +2.26 +2.34 +2.42 +2.47 +2.49 +2.45 +2.34 +2.14 +1.85 +1.51 +1.17 +0.88 +0.66 +0.53 +0.48 +0.48 +0.52 +0.58 +0.63 +0.67 +0.7 +0.73 +0.8 +0.9 +0.6 +0.75 +0.87 +0.92 +0.85 +0.7 +0.53 +0.42 +0.42 +0.51 +0.62 +0.7 +0.7 +0.66 +0.62 +0.61 +0.64 +0.71 +0.8 +0.91 +1.05 +1.25 +1.5 +1.75 +1.94 +2.02 +1.96 +1.8 +1.57 +1.36 +1.22 +1.18 +1.25 +1.39 +1.56 +1.73 +1.86 +1.97 +2.06 +2.18 +2.32 +2.45 +2.54 +2.54 +2.46 +2.31 +2.17 +2.08 +2.05 +2.09 +2.17 +2.24 +2.27 +2.24 +2.13 +1.93 +1.66 +1.34 +1.01 +0.71 +0.48 +0.32 +0.23 +0.2 +0.21 +0.25 +0.31 +0.36 +0.4 +0.41 +0.43 +0.49 +0.6 +0.75 +0.87 +0.92 +0.85 +0.7 +0.53 +0.42 +0.42 +0.51 +0.62 +0.7 +0.7 +0.66 +0.62 +0.61 +0.64 +0.71 +0.8 +0.91 +1.05 +1.25 +1.5 +1.75 +1.94 +2.02 +1.96 +1.8 +1.57 +1.36 +1.22 +1.18 +1.25 +1.39 +1.56 +1.73 +1.86 +1.97 +2.06 +2.18 +2.32 +2.45 +2.54 +2.54 +2.46 +2.31 +2.17 +2.08 +2.05 +2.09 +2.17 +2.24 +2.27 +2.24 +2.13 +1.93 +1.66 +1.34 +1.01 +0.71 +0.48 +0.32 +0.23 +0.2 +0.21 +0.25 +0.31 +0.36 +0.4 +0.41 +0.43 +0.49 +0.6 +0.26 +0.44 +0.61 +0.7 +0.65 +0.49 +0.28 +0.13 +0.09 +0.16 +0.28 +0.38 +0.42 +0.4 +0.37 +0.37 +0.42 +0.51 +0.63 +0.75 +0.9 +1.09 +1.31 +1.53 +1.71 +1.79 +1.76 +1.63 +1.45 +1.27 +1.14 +1.08 +1.12 +1.24 +1.42 +1.63 +1.84 +2.03 +2.21 +2.38 +2.55 +2.7 +2.79 +2.78 +2.69 +2.52 +2.34 +2.19 +2.11 +2.09 +2.11 +2.13 +2.09 +1.98 +1.79 +1.51 +1.18 +0.85 +0.54 +0.3 +0.13 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.1 +0.1 +0.15 +0.26 +0.44 +0.61 +0.7 +0.65 +0.49 +0.28 +0.13 +0.09 +0.16 +0.28 +0.38 +0.42 +0.4 +0.37 +0.37 +0.42 +0.51 +0.63 +0.75 +0.9 +1.09 +1.31 +1.53 +1.71 +1.79 +1.76 +1.63 +1.45 +1.27 +1.14 +1.08 +1.12 +1.24 +1.42 +1.63 +1.84 +2.03 +2.21 +2.38 +2.55 +2.7 +2.79 +2.78 +2.69 +2.52 +2.34 +2.19 +2.11 +2.09 +2.11 +2.13 +2.09 +1.98 +1.79 +1.51 +1.18 +0.85 +0.54 +0.3 +0.13 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.1 +0.1 +0.15 +0.26 +0.0 +0.14 +0.33 +0.45 +0.43 +0.28 +0.07 +0.0 +0.0 +0.0 +0.03 +0.14 +0.2 +0.19 +0.17 +0.19 +0.25 +0.35 +0.48 +0.61 +0.75 +0.91 +1.08 +1.26 +1.4 +1.48 +1.49 +1.43 +1.33 +1.23 +1.16 +1.14 +1.18 +1.3 +1.48 +1.72 +1.99 +2.27 +2.54 +2.79 +3.02 +3.2 +3.31 +3.33 +3.25 +3.08 +2.87 +2.66 +2.48 +2.35 +2.26 +2.16 +2.02 +1.8 +1.5 +1.15 +0.78 +0.44 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.33 +0.45 +0.43 +0.28 +0.07 +0.0 +0.0 +0.0 +0.03 +0.14 +0.2 +0.19 +0.17 +0.19 +0.25 +0.35 +0.48 +0.61 +0.75 +0.91 +1.08 +1.26 +1.4 +1.48 +1.49 +1.43 +1.33 +1.23 +1.16 +1.14 +1.18 +1.3 +1.48 +1.72 +1.99 +2.27 +2.54 +2.79 +3.02 +3.2 +3.31 +3.33 +3.25 +3.08 +2.87 +2.66 +2.48 +2.35 +2.26 +2.16 +2.02 +1.8 +1.5 +1.15 +0.78 +0.44 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.22 +0.23 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.09 +0.1 +0.09 +0.1 +0.16 +0.26 +0.37 +0.48 +0.59 +0.7 +0.82 +0.94 +1.05 +1.12 +1.16 +1.18 +1.2 +1.22 +1.25 +1.29 +1.36 +1.47 +1.65 +1.9 +2.21 +2.55 +2.89 +3.21 +3.49 +3.72 +3.87 +3.94 +3.9 +3.76 +3.54 +3.28 +3.01 +2.76 +2.53 +2.29 +2.02 +1.69 +1.3 +0.88 +0.49 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.22 +0.23 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.09 +0.1 +0.09 +0.1 +0.16 +0.26 +0.37 +0.48 +0.59 +0.7 +0.82 +0.94 +1.05 +1.12 +1.16 +1.18 +1.2 +1.22 +1.25 +1.29 +1.36 +1.47 +1.65 +1.9 +2.21 +2.55 +2.89 +3.21 +3.49 +3.72 +3.87 +3.94 +3.9 +3.76 +3.54 +3.28 +3.01 +2.76 +2.53 +2.29 +2.02 +1.69 +1.3 +0.88 +0.49 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.11 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.08 +0.1 +0.09 +0.1 +0.14 +0.21 +0.29 +0.36 +0.42 +0.49 +0.57 +0.64 +0.71 +0.77 +0.84 +0.92 +1.03 +1.16 +1.3 +1.41 +1.5 +1.6 +1.74 +1.96 +2.25 +2.61 +2.98 +3.34 +3.65 +3.91 +4.11 +4.23 +4.26 +4.17 +3.98 +3.7 +3.38 +3.03 +2.7 +2.36 +2.0 +1.6 +1.16 +0.72 +0.32 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.11 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.08 +0.1 +0.09 +0.1 +0.14 +0.21 +0.29 +0.36 +0.42 +0.49 +0.57 +0.64 +0.71 +0.77 +0.84 +0.92 +1.03 +1.16 +1.3 +1.41 +1.5 +1.6 +1.74 +1.96 +2.25 +2.61 +2.98 +3.34 +3.65 +3.91 +4.11 +4.23 +4.26 +4.17 +3.98 +3.7 +3.38 +3.03 +2.7 +2.36 +2.0 +1.6 +1.16 +0.72 +0.32 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.11 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.11 +0.13 +0.14 +0.14 +0.16 +0.18 +0.22 +0.25 +0.29 +0.34 +0.4 +0.45 +0.5 +0.53 +0.58 +0.68 +0.84 +1.04 +1.24 +1.4 +1.49 +1.54 +1.62 +1.76 +2.0 +2.31 +2.66 +3.0 +3.3 +3.55 +3.76 +3.92 +4.01 +4.0 +3.87 +3.63 +3.3 +2.95 +2.59 +2.23 +1.87 +1.48 +1.07 +0.65 +0.28 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.11 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.11 +0.13 +0.14 +0.14 +0.16 +0.18 +0.22 +0.25 +0.29 +0.34 +0.4 +0.45 +0.5 +0.53 +0.58 +0.68 +0.84 +1.04 +1.24 +1.4 +1.49 +1.54 +1.62 +1.76 +2.0 +2.31 +2.66 +3.0 +3.3 +3.55 +3.76 +3.92 +4.01 +4.0 +3.87 +3.63 +3.3 +2.95 +2.59 +2.23 +1.87 +1.48 +1.07 +0.65 +0.28 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.21 +0.22 +0.15 +0.06 +0.0 +0.0 +0.01 +0.07 +0.14 +0.19 +0.21 +0.21 +0.2 +0.18 +0.17 +0.18 +0.21 +0.28 +0.37 +0.43 +0.46 +0.46 +0.47 +0.54 +0.68 +0.88 +1.09 +1.24 +1.29 +1.28 +1.27 +1.32 +1.47 +1.72 +2.01 +2.28 +2.51 +2.69 +2.86 +3.01 +3.14 +3.2 +3.15 +2.99 +2.73 +2.43 +2.14 +1.86 +1.59 +1.31 +0.99 +0.65 +0.34 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.15 +0.21 +0.17 +0.06 +0.0 +0.0 +0.0 +0.0 +0.12 +0.21 +0.22 +0.15 +0.06 +0.0 +0.0 +0.01 +0.07 +0.14 +0.19 +0.21 +0.21 +0.2 +0.18 +0.17 +0.18 +0.21 +0.28 +0.37 +0.43 +0.46 +0.46 +0.47 +0.54 +0.68 +0.88 +1.09 +1.24 +1.29 +1.28 +1.27 +1.32 +1.47 +1.72 +2.01 +2.28 +2.51 +2.69 +2.86 +3.01 +3.14 +3.2 +3.15 +2.99 +2.73 +2.43 +2.14 +1.86 +1.59 +1.31 +0.99 +0.65 +0.34 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.15 +0.21 +0.17 +0.06 +0.0 +0.0 +0.01 +0.02 +0.12 +0.25 +0.37 +0.41 +0.38 +0.28 +0.17 +0.09 +0.07 +0.1 +0.18 +0.26 +0.32 +0.33 +0.29 +0.22 +0.16 +0.15 +0.22 +0.34 +0.48 +0.57 +0.6 +0.55 +0.5 +0.5 +0.58 +0.74 +0.91 +1.01 +1.0 +0.92 +0.82 +0.8 +0.89 +1.07 +1.28 +1.45 +1.57 +1.64 +1.72 +1.82 +1.95 +2.06 +2.09 +2.02 +1.85 +1.65 +1.46 +1.32 +1.21 +1.08 +0.91 +0.68 +0.43 +0.21 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.09 +0.19 +0.28 +0.33 +0.3 +0.21 +0.09 +0.01 +0.02 +0.12 +0.25 +0.37 +0.41 +0.38 +0.28 +0.17 +0.09 +0.07 +0.1 +0.18 +0.26 +0.32 +0.33 +0.29 +0.22 +0.16 +0.15 +0.22 +0.34 +0.48 +0.57 +0.6 +0.55 +0.5 +0.5 +0.58 +0.74 +0.91 +1.01 +1.0 +0.92 +0.82 +0.8 +0.89 +1.07 +1.28 +1.45 +1.57 +1.64 +1.72 +1.82 +1.95 +2.06 +2.09 +2.02 +1.85 +1.65 +1.46 +1.32 +1.21 +1.08 +0.91 +0.68 +0.43 +0.21 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.09 +0.19 +0.28 +0.33 +0.3 +0.21 +0.09 +0.01 +0.14 +0.13 +0.2 +0.33 +0.47 +0.56 +0.55 +0.46 +0.31 +0.18 +0.11 +0.14 +0.24 +0.38 +0.48 +0.49 +0.42 +0.3 +0.19 +0.18 +0.27 +0.46 +0.66 +0.79 +0.8 +0.71 +0.59 +0.53 +0.56 +0.66 +0.77 +0.8 +0.73 +0.58 +0.45 +0.4 +0.47 +0.62 +0.78 +0.86 +0.85 +0.78 +0.73 +0.76 +0.87 +1.0 +1.09 +1.07 +0.98 +0.86 +0.77 +0.76 +0.8 +0.84 +0.81 +0.7 +0.51 +0.32 +0.17 +0.11 +0.12 +0.17 +0.21 +0.23 +0.24 +0.27 +0.31 +0.36 +0.4 +0.39 +0.32 +0.22 +0.14 +0.13 +0.2 +0.33 +0.47 +0.56 +0.55 +0.46 +0.31 +0.18 +0.11 +0.14 +0.24 +0.38 +0.48 +0.49 +0.42 +0.3 +0.19 +0.18 +0.27 +0.46 +0.66 +0.79 +0.8 +0.71 +0.59 +0.53 +0.56 +0.66 +0.77 +0.8 +0.73 +0.58 +0.45 +0.4 +0.47 +0.62 +0.78 +0.86 +0.85 +0.78 +0.73 +0.76 +0.87 +1.0 +1.09 +1.07 +0.98 +0.86 +0.77 +0.76 +0.8 +0.84 +0.81 +0.7 +0.51 +0.32 +0.17 +0.11 +0.12 +0.17 +0.21 +0.23 +0.24 +0.27 +0.31 +0.36 +0.4 +0.39 +0.32 +0.22 +0.14 +0.2 +0.16 +0.19 +0.3 +0.46 +0.59 +0.62 +0.54 +0.38 +0.22 +0.14 +0.18 +0.34 +0.54 +0.68 +0.69 +0.58 +0.39 +0.23 +0.2 +0.33 +0.56 +0.8 +0.94 +0.94 +0.82 +0.66 +0.57 +0.57 +0.65 +0.71 +0.69 +0.55 +0.37 +0.23 +0.21 +0.32 +0.5 +0.64 +0.65 +0.53 +0.33 +0.17 +0.12 +0.2 +0.33 +0.44 +0.45 +0.38 +0.28 +0.24 +0.3 +0.44 +0.6 +0.68 +0.66 +0.53 +0.37 +0.24 +0.21 +0.26 +0.36 +0.44 +0.47 +0.45 +0.42 +0.39 +0.4 +0.42 +0.42 +0.38 +0.3 +0.2 +0.16 +0.19 +0.3 +0.46 +0.59 +0.62 +0.54 +0.38 +0.22 +0.14 +0.18 +0.34 +0.54 +0.68 +0.69 +0.58 +0.39 +0.23 +0.2 +0.33 +0.56 +0.8 +0.94 +0.94 +0.82 +0.66 +0.57 +0.57 +0.65 +0.71 +0.69 +0.55 +0.37 +0.23 +0.21 +0.32 +0.5 +0.64 +0.65 +0.53 +0.33 +0.17 +0.12 +0.2 +0.33 +0.44 +0.45 +0.38 +0.28 +0.24 +0.3 +0.44 +0.6 +0.68 +0.66 +0.53 +0.37 +0.24 +0.21 +0.26 +0.36 +0.44 +0.47 +0.45 +0.42 +0.39 +0.4 +0.42 +0.42 +0.38 +0.3 +0.2 +0.21 +0.11 +0.08 +0.16 +0.32 +0.49 +0.56 +0.51 +0.36 +0.2 +0.13 +0.21 +0.43 +0.7 +0.87 +0.88 +0.71 +0.46 +0.25 +0.2 +0.33 +0.58 +0.83 +0.96 +0.94 +0.8 +0.65 +0.57 +0.6 +0.68 +0.73 +0.66 +0.48 +0.27 +0.15 +0.18 +0.37 +0.61 +0.77 +0.76 +0.56 +0.28 +0.03 +0.0 +0.0 +0.12 +0.23 +0.24 +0.15 +0.02 +0.0 +0.02 +0.19 +0.39 +0.54 +0.57 +0.49 +0.36 +0.27 +0.28 +0.38 +0.53 +0.64 +0.67 +0.61 +0.5 +0.41 +0.38 +0.4 +0.43 +0.41 +0.34 +0.21 +0.11 +0.08 +0.16 +0.32 +0.49 +0.56 +0.51 +0.36 +0.2 +0.13 +0.21 +0.43 +0.7 +0.87 +0.88 +0.71 +0.46 +0.25 +0.2 +0.33 +0.58 +0.83 +0.96 +0.94 +0.8 +0.65 +0.57 +0.6 +0.68 +0.73 +0.66 +0.48 +0.27 +0.15 +0.18 +0.37 +0.61 +0.77 +0.76 +0.56 +0.28 +0.03 +0.0 +0.0 +0.12 +0.23 +0.24 +0.15 +0.02 +0.0 +0.02 +0.19 +0.39 +0.54 +0.57 +0.49 +0.36 +0.27 +0.28 +0.38 +0.53 +0.64 +0.67 +0.61 +0.5 +0.41 +0.38 +0.4 +0.43 +0.41 +0.34 +0.21 +0.22 +0.05 +0.0 +0.0 +0.14 +0.32 +0.43 +0.41 +0.28 +0.13 +0.09 +0.22 +0.5 +0.81 +1.0 +0.99 +0.77 +0.46 +0.21 +0.14 +0.28 +0.53 +0.76 +0.86 +0.81 +0.67 +0.56 +0.54 +0.64 +0.76 +0.8 +0.69 +0.47 +0.23 +0.12 +0.21 +0.47 +0.78 +0.98 +0.96 +0.74 +0.42 +0.14 +0.02 +0.07 +0.22 +0.33 +0.33 +0.21 +0.04 +0.0 +0.0 +0.07 +0.27 +0.43 +0.48 +0.43 +0.33 +0.28 +0.34 +0.49 +0.67 +0.79 +0.79 +0.68 +0.51 +0.37 +0.31 +0.35 +0.42 +0.45 +0.38 +0.22 +0.05 +0.0 +0.0 +0.14 +0.32 +0.43 +0.41 +0.28 +0.13 +0.09 +0.22 +0.5 +0.81 +1.0 +0.99 +0.77 +0.46 +0.21 +0.14 +0.28 +0.53 +0.76 +0.86 +0.81 +0.67 +0.56 +0.54 +0.64 +0.76 +0.8 +0.69 +0.47 +0.23 +0.12 +0.21 +0.47 +0.78 +0.98 +0.96 +0.74 +0.42 +0.14 +0.02 +0.07 +0.22 +0.33 +0.33 +0.21 +0.04 +0.0 +0.0 +0.07 +0.27 +0.43 +0.48 +0.43 +0.33 +0.28 +0.34 +0.49 +0.67 +0.79 +0.79 +0.68 +0.51 +0.37 +0.31 +0.35 +0.42 +0.45 +0.38 +0.22 +0.3 +0.08 +0.0 +0.0 +0.02 +0.2 +0.32 +0.31 +0.19 +0.06 +0.04 +0.2 +0.51 +0.84 +1.03 +0.99 +0.74 +0.4 +0.13 +0.06 +0.2 +0.44 +0.65 +0.72 +0.65 +0.52 +0.46 +0.53 +0.7 +0.86 +0.89 +0.75 +0.48 +0.21 +0.1 +0.21 +0.5 +0.84 +1.07 +1.07 +0.86 +0.55 +0.29 +0.2 +0.27 +0.43 +0.55 +0.55 +0.41 +0.21 +0.06 +0.02 +0.12 +0.28 +0.41 +0.46 +0.42 +0.35 +0.33 +0.42 +0.59 +0.77 +0.86 +0.82 +0.65 +0.42 +0.26 +0.22 +0.31 +0.45 +0.52 +0.47 +0.3 +0.08 +0.0 +0.0 +0.02 +0.2 +0.32 +0.31 +0.19 +0.06 +0.04 +0.2 +0.51 +0.84 +1.03 +0.99 +0.74 +0.4 +0.13 +0.06 +0.2 +0.44 +0.65 +0.72 +0.65 +0.52 +0.46 +0.53 +0.7 +0.86 +0.89 +0.75 +0.48 +0.21 +0.1 +0.21 +0.5 +0.84 +1.07 +1.07 +0.86 +0.55 +0.29 +0.2 +0.27 +0.43 +0.55 +0.55 +0.41 +0.21 +0.06 +0.02 +0.12 +0.28 +0.41 +0.46 +0.42 +0.35 +0.33 +0.42 +0.59 +0.77 +0.86 +0.82 +0.65 +0.42 +0.26 +0.22 +0.31 +0.45 +0.52 +0.47 +0.3 +0.48 +0.23 +0.03 +0.0 +0.06 +0.21 +0.31 +0.29 +0.16 +0.03 +0.01 +0.17 +0.48 +0.8 +0.97 +0.91 +0.65 +0.31 +0.06 +0.02 +0.16 +0.39 +0.56 +0.61 +0.53 +0.44 +0.43 +0.56 +0.78 +0.97 +0.99 +0.81 +0.5 +0.2 +0.05 +0.15 +0.43 +0.76 +0.99 +1.02 +0.85 +0.6 +0.4 +0.34 +0.43 +0.6 +0.73 +0.75 +0.64 +0.46 +0.31 +0.26 +0.31 +0.42 +0.51 +0.53 +0.49 +0.43 +0.42 +0.51 +0.66 +0.81 +0.85 +0.75 +0.53 +0.29 +0.13 +0.14 +0.3 +0.51 +0.66 +0.65 +0.48 +0.23 +0.03 +0.0 +0.06 +0.21 +0.31 +0.29 +0.16 +0.03 +0.01 +0.17 +0.48 +0.8 +0.97 +0.91 +0.65 +0.31 +0.06 +0.02 +0.16 +0.39 +0.56 +0.61 +0.53 +0.44 +0.43 +0.56 +0.78 +0.97 +0.99 +0.81 +0.5 +0.2 +0.05 +0.15 +0.43 +0.76 +0.99 +1.02 +0.85 +0.6 +0.4 +0.34 +0.43 +0.6 +0.73 +0.75 +0.64 +0.46 +0.31 +0.26 +0.31 +0.42 +0.51 +0.53 +0.49 +0.43 +0.42 +0.51 +0.66 +0.81 +0.85 +0.75 +0.53 +0.29 +0.13 +0.14 +0.3 +0.51 +0.66 +0.65 +0.48 +0.72 +0.49 +0.28 +0.2 +0.25 +0.36 +0.43 +0.38 +0.23 +0.08 +0.05 +0.19 +0.46 +0.74 +0.88 +0.81 +0.56 +0.26 +0.06 +0.04 +0.19 +0.4 +0.55 +0.57 +0.5 +0.43 +0.46 +0.63 +0.86 +1.04 +1.05 +0.85 +0.51 +0.19 +0.02 +0.08 +0.31 +0.6 +0.81 +0.86 +0.76 +0.6 +0.47 +0.45 +0.55 +0.7 +0.83 +0.86 +0.8 +0.69 +0.59 +0.55 +0.59 +0.65 +0.69 +0.67 +0.6 +0.53 +0.51 +0.58 +0.69 +0.78 +0.78 +0.63 +0.4 +0.16 +0.04 +0.1 +0.33 +0.61 +0.82 +0.86 +0.72 +0.49 +0.28 +0.2 +0.25 +0.36 +0.43 +0.38 +0.23 +0.08 +0.05 +0.19 +0.46 +0.74 +0.88 +0.81 +0.56 +0.26 +0.06 +0.04 +0.19 +0.4 +0.55 +0.57 +0.5 +0.43 +0.46 +0.63 +0.86 +1.04 +1.05 +0.85 +0.51 +0.19 +0.02 +0.08 +0.31 +0.6 +0.81 +0.86 +0.76 +0.6 +0.47 +0.45 +0.55 +0.7 +0.83 +0.86 +0.8 +0.69 +0.59 +0.55 +0.59 +0.65 +0.69 +0.67 +0.6 +0.53 +0.51 +0.58 +0.69 +0.78 +0.78 +0.63 +0.4 +0.16 +0.04 +0.1 +0.33 +0.61 +0.82 +0.86 +0.72 +0.94 +0.74 +0.55 +0.46 +0.5 +0.58 +0.61 +0.54 +0.37 +0.21 +0.15 +0.25 +0.48 +0.71 +0.83 +0.77 +0.56 +0.31 +0.16 +0.17 +0.31 +0.5 +0.61 +0.61 +0.53 +0.48 +0.52 +0.68 +0.89 +1.04 +1.02 +0.81 +0.49 +0.19 +0.02 +0.03 +0.21 +0.43 +0.62 +0.69 +0.66 +0.59 +0.54 +0.55 +0.63 +0.74 +0.83 +0.87 +0.85 +0.82 +0.79 +0.8 +0.83 +0.86 +0.84 +0.77 +0.67 +0.58 +0.54 +0.57 +0.64 +0.69 +0.65 +0.5 +0.28 +0.08 +0.0 +0.11 +0.38 +0.71 +0.96 +1.04 +0.94 +0.74 +0.55 +0.46 +0.5 +0.58 +0.61 +0.54 +0.37 +0.21 +0.15 +0.25 +0.48 +0.71 +0.83 +0.77 +0.56 +0.31 +0.16 +0.17 +0.31 +0.5 +0.61 +0.61 +0.53 +0.48 +0.52 +0.68 +0.89 +1.04 +1.02 +0.81 +0.49 +0.19 +0.02 +0.03 +0.21 +0.43 +0.62 +0.69 +0.66 +0.59 +0.54 +0.55 +0.63 +0.74 +0.83 +0.87 +0.85 +0.82 +0.79 +0.8 +0.83 +0.86 +0.84 +0.77 +0.67 +0.58 +0.54 +0.57 +0.64 +0.69 +0.65 +0.5 +0.28 +0.08 +0.0 +0.11 +0.38 +0.71 +0.96 +1.04 +0.94 +1.02 +0.86 +0.71 +0.65 +0.69 +0.77 +0.79 +0.71 +0.55 +0.38 +0.3 +0.37 +0.56 +0.75 +0.86 +0.82 +0.67 +0.5 +0.4 +0.43 +0.55 +0.68 +0.75 +0.72 +0.63 +0.56 +0.59 +0.7 +0.85 +0.94 +0.89 +0.69 +0.42 +0.16 +0.01 +0.01 +0.13 +0.29 +0.44 +0.53 +0.56 +0.57 +0.58 +0.61 +0.66 +0.7 +0.73 +0.74 +0.75 +0.78 +0.83 +0.88 +0.91 +0.91 +0.84 +0.73 +0.61 +0.5 +0.45 +0.47 +0.52 +0.55 +0.51 +0.38 +0.21 +0.06 +0.03 +0.16 +0.43 +0.74 +0.99 +1.09 +1.02 +0.86 +0.71 +0.65 +0.69 +0.77 +0.79 +0.71 +0.55 +0.38 +0.3 +0.37 +0.56 +0.75 +0.86 +0.82 +0.67 +0.5 +0.4 +0.43 +0.55 +0.68 +0.75 +0.72 +0.63 +0.56 +0.59 +0.7 +0.85 +0.94 +0.89 +0.69 +0.42 +0.16 +0.01 +0.01 +0.13 +0.29 +0.44 +0.53 +0.56 +0.57 +0.58 +0.61 +0.66 +0.7 +0.73 +0.74 +0.75 +0.78 +0.83 +0.88 +0.91 +0.91 +0.84 +0.73 +0.61 +0.5 +0.45 +0.47 +0.52 +0.55 +0.51 +0.38 +0.21 +0.06 +0.03 +0.16 +0.43 +0.74 +0.99 +1.09 +1.02 +0.91 +0.79 +0.7 +0.68 +0.75 +0.85 +0.9 +0.85 +0.71 +0.55 +0.48 +0.53 +0.68 +0.87 +0.98 +1.0 +0.92 +0.83 +0.8 +0.85 +0.95 +1.04 +1.05 +0.97 +0.85 +0.75 +0.73 +0.77 +0.83 +0.83 +0.74 +0.54 +0.31 +0.11 +0.0 +0.0 +0.06 +0.16 +0.26 +0.34 +0.4 +0.47 +0.53 +0.57 +0.58 +0.55 +0.51 +0.48 +0.49 +0.55 +0.65 +0.74 +0.78 +0.76 +0.67 +0.54 +0.41 +0.32 +0.28 +0.31 +0.37 +0.41 +0.4 +0.32 +0.19 +0.09 +0.08 +0.2 +0.42 +0.68 +0.88 +0.96 +0.91 +0.79 +0.7 +0.68 +0.75 +0.85 +0.9 +0.85 +0.71 +0.55 +0.48 +0.53 +0.68 +0.87 +0.98 +1.0 +0.92 +0.83 +0.8 +0.85 +0.95 +1.04 +1.05 +0.97 +0.85 +0.75 +0.73 +0.77 +0.83 +0.83 +0.74 +0.54 +0.31 +0.11 +0.0 +0.0 +0.06 +0.16 +0.26 +0.34 +0.4 +0.47 +0.53 +0.57 +0.58 +0.55 +0.51 +0.48 +0.49 +0.55 +0.65 +0.74 +0.78 +0.76 +0.67 +0.54 +0.41 +0.32 +0.28 +0.31 +0.37 +0.41 +0.4 +0.32 +0.19 +0.09 +0.08 +0.2 +0.42 +0.68 +0.88 +0.96 +0.91 +0.67 +0.59 +0.54 +0.58 +0.7 +0.85 +0.94 +0.93 +0.84 +0.71 +0.66 +0.71 +0.86 +1.05 +1.21 +1.29 +1.31 +1.33 +1.38 +1.48 +1.6 +1.66 +1.63 +1.51 +1.34 +1.18 +1.08 +1.03 +0.97 +0.87 +0.71 +0.49 +0.27 +0.1 +0.01 +0.0 +0.02 +0.05 +0.08 +0.12 +0.17 +0.26 +0.35 +0.4 +0.39 +0.32 +0.21 +0.14 +0.13 +0.2 +0.33 +0.45 +0.51 +0.5 +0.41 +0.28 +0.17 +0.12 +0.12 +0.19 +0.27 +0.34 +0.35 +0.31 +0.23 +0.16 +0.14 +0.21 +0.35 +0.53 +0.66 +0.71 +0.67 +0.59 +0.54 +0.58 +0.7 +0.85 +0.94 +0.93 +0.84 +0.71 +0.66 +0.71 +0.86 +1.05 +1.21 +1.29 +1.31 +1.33 +1.38 +1.48 +1.6 +1.66 +1.63 +1.51 +1.34 +1.18 +1.08 +1.03 +0.97 +0.87 +0.71 +0.49 +0.27 +0.1 +0.01 +0.0 +0.02 +0.05 +0.08 +0.12 +0.17 +0.26 +0.35 +0.4 +0.39 +0.32 +0.21 +0.14 +0.13 +0.2 +0.33 +0.45 +0.51 +0.5 +0.41 +0.28 +0.17 +0.12 +0.12 +0.19 +0.27 +0.34 +0.35 +0.31 +0.23 +0.16 +0.14 +0.21 +0.35 +0.53 +0.66 +0.71 +0.67 +0.4 +0.36 +0.36 +0.46 +0.64 +0.83 +0.97 +1.0 +0.95 +0.86 +0.83 +0.91 +1.08 +1.3 +1.51 +1.68 +1.81 +1.95 +2.13 +2.34 +2.52 +2.61 +2.56 +2.4 +2.18 +1.95 +1.76 +1.6 +1.43 +1.21 +0.94 +0.65 +0.4 +0.22 +0.13 +0.1 +0.08 +0.04 +0.0 +0.0 +0.0 +0.01 +0.11 +0.19 +0.19 +0.11 +0.0 +0.0 +0.0 +0.0 +0.05 +0.2 +0.29 +0.29 +0.22 +0.11 +0.04 +0.03 +0.09 +0.19 +0.3 +0.38 +0.4 +0.37 +0.3 +0.23 +0.18 +0.19 +0.26 +0.35 +0.42 +0.44 +0.4 +0.36 +0.36 +0.46 +0.64 +0.83 +0.97 +1.0 +0.95 +0.86 +0.83 +0.91 +1.08 +1.3 +1.51 +1.68 +1.81 +1.95 +2.13 +2.34 +2.52 +2.61 +2.56 +2.4 +2.18 +1.95 +1.76 +1.6 +1.43 +1.21 +0.94 +0.65 +0.4 +0.22 +0.13 +0.1 +0.08 +0.04 +0.0 +0.0 +0.0 +0.01 +0.11 +0.19 +0.19 +0.11 +0.0 +0.0 +0.0 +0.0 +0.05 +0.2 +0.29 +0.29 +0.22 +0.11 +0.04 +0.03 +0.09 +0.19 +0.3 +0.38 +0.4 +0.37 +0.3 +0.23 +0.18 +0.19 +0.26 +0.35 +0.42 +0.44 +0.4 +0.23 +0.22 +0.28 +0.42 +0.64 +0.86 +1.02 +1.08 +1.04 +0.99 +1.0 +1.12 +1.33 +1.6 +1.86 +2.1 +2.34 +2.62 +2.96 +3.32 +3.62 +3.78 +3.76 +3.58 +3.3 +3.0 +2.72 +2.46 +2.19 +1.86 +1.48 +1.09 +0.77 +0.55 +0.44 +0.39 +0.32 +0.21 +0.05 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.09 +0.0 +0.0 +0.0 +0.0 +0.02 +0.2 +0.31 +0.32 +0.24 +0.14 +0.08 +0.11 +0.21 +0.35 +0.46 +0.52 +0.52 +0.46 +0.37 +0.27 +0.2 +0.18 +0.19 +0.23 +0.26 +0.26 +0.23 +0.22 +0.28 +0.42 +0.64 +0.86 +1.02 +1.08 +1.04 +0.99 +1.0 +1.12 +1.33 +1.6 +1.86 +2.1 +2.34 +2.62 +2.96 +3.32 +3.62 +3.78 +3.76 +3.58 +3.3 +3.0 +2.72 +2.46 +2.19 +1.86 +1.48 +1.09 +0.77 +0.55 +0.44 +0.39 +0.32 +0.21 +0.05 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.09 +0.0 +0.0 +0.0 +0.0 +0.02 +0.2 +0.31 +0.32 +0.24 +0.14 +0.08 +0.11 +0.21 +0.35 +0.46 +0.52 +0.52 +0.46 +0.37 +0.27 +0.2 +0.18 +0.19 +0.23 +0.26 +0.26 +0.23 +0.19 +0.22 +0.31 +0.48 +0.72 +0.94 +1.09 +1.13 +1.1 +1.08 +1.13 +1.3 +1.56 +1.86 +2.15 +2.43 +2.75 +3.15 +3.65 +4.19 +4.65 +4.92 +4.95 +4.74 +4.41 +4.04 +3.7 +3.38 +3.03 +2.62 +2.15 +1.68 +1.29 +1.03 +0.91 +0.85 +0.77 +0.6 +0.36 +0.12 +0.0 +0.0 +0.1 +0.27 +0.38 +0.36 +0.25 +0.11 +0.06 +0.14 +0.32 +0.51 +0.62 +0.59 +0.47 +0.34 +0.27 +0.31 +0.43 +0.58 +0.68 +0.69 +0.62 +0.51 +0.38 +0.27 +0.2 +0.17 +0.17 +0.19 +0.2 +0.2 +0.19 +0.22 +0.31 +0.48 +0.72 +0.94 +1.09 +1.13 +1.1 +1.08 +1.13 +1.3 +1.56 +1.86 +2.15 +2.43 +2.75 +3.15 +3.65 +4.19 +4.65 +4.92 +4.95 +4.74 +4.41 +4.04 +3.7 +3.38 +3.03 +2.62 +2.15 +1.68 +1.29 +1.03 +0.91 +0.85 +0.77 +0.6 +0.36 +0.12 +0.0 +0.0 +0.1 +0.27 +0.38 +0.36 +0.25 +0.11 +0.06 +0.14 +0.32 +0.51 +0.62 +0.59 +0.47 +0.34 +0.27 +0.31 +0.43 +0.58 +0.68 +0.69 +0.62 +0.51 +0.38 +0.27 +0.2 +0.17 +0.17 +0.19 +0.2 +0.2 +0.19 +0.23 +0.28 +0.4 +0.59 +0.81 +1.0 +1.1 +1.1 +1.06 +1.05 +1.15 +1.37 +1.68 +1.99 +2.26 +2.53 +2.86 +3.33 +3.97 +4.67 +5.29 +5.67 +5.73 +5.51 +5.12 +4.71 +4.33 +4.0 +3.63 +3.19 +2.68 +2.16 +1.75 +1.49 +1.4 +1.37 +1.31 +1.12 +0.83 +0.52 +0.31 +0.29 +0.44 +0.67 +0.83 +0.85 +0.75 +0.62 +0.57 +0.66 +0.85 +1.03 +1.09 +0.99 +0.77 +0.55 +0.43 +0.46 +0.59 +0.73 +0.8 +0.75 +0.61 +0.43 +0.28 +0.18 +0.14 +0.14 +0.17 +0.2 +0.22 +0.22 +0.23 +0.28 +0.4 +0.59 +0.81 +1.0 +1.1 +1.1 +1.06 +1.05 +1.15 +1.37 +1.68 +1.99 +2.26 +2.53 +2.86 +3.33 +3.97 +4.67 +5.29 +5.67 +5.73 +5.51 +5.12 +4.71 +4.33 +4.0 +3.63 +3.19 +2.68 +2.16 +1.75 +1.49 +1.4 +1.37 +1.31 +1.12 +0.83 +0.52 +0.31 +0.29 +0.44 +0.67 +0.83 +0.85 +0.75 +0.62 +0.57 +0.66 +0.85 +1.03 +1.09 +0.99 +0.77 +0.55 +0.43 +0.46 +0.59 +0.73 +0.8 +0.75 +0.61 +0.43 +0.28 +0.18 +0.14 +0.14 +0.17 +0.2 +0.22 +0.22 +0.23 +0.22 +0.29 +0.42 +0.61 +0.8 +0.93 +0.96 +0.9 +0.83 +0.83 +0.98 +1.26 +1.59 +1.87 +2.08 +2.26 +2.54 +3.03 +3.74 +4.56 +5.29 +5.74 +5.81 +5.56 +5.14 +4.7 +4.34 +4.04 +3.73 +3.32 +2.82 +2.32 +1.93 +1.73 +1.71 +1.76 +1.75 +1.58 +1.26 +0.91 +0.68 +0.66 +0.85 +1.11 +1.31 +1.35 +1.25 +1.11 +1.07 +1.17 +1.37 +1.53 +1.51 +1.28 +0.92 +0.58 +0.39 +0.4 +0.54 +0.69 +0.73 +0.62 +0.41 +0.19 +0.03 +0.0 +0.0 +0.07 +0.14 +0.19 +0.2 +0.2 +0.22 +0.29 +0.42 +0.61 +0.8 +0.93 +0.96 +0.9 +0.83 +0.83 +0.98 +1.26 +1.59 +1.87 +2.08 +2.26 +2.54 +3.03 +3.74 +4.56 +5.29 +5.74 +5.81 +5.56 +5.14 +4.7 +4.34 +4.04 +3.73 +3.32 +2.82 +2.32 +1.93 +1.73 +1.71 +1.76 +1.75 +1.58 +1.26 +0.91 +0.68 +0.66 +0.85 +1.11 +1.31 +1.35 +1.25 +1.11 +1.07 +1.17 +1.37 +1.53 +1.51 +1.28 +0.92 +0.58 +0.39 +0.4 +0.54 +0.69 +0.73 +0.62 +0.41 +0.19 +0.03 +0.0 +0.0 +0.07 +0.14 +0.19 +0.2 +0.2 +0.22 +0.09 +0.17 +0.31 +0.48 +0.63 +0.7 +0.64 +0.51 +0.41 +0.42 +0.61 +0.92 +1.25 +1.47 +1.56 +1.62 +1.8 +2.24 +2.98 +3.86 +4.65 +5.11 +5.17 +4.88 +4.44 +4.02 +3.72 +3.5 +3.27 +2.94 +2.51 +2.07 +1.76 +1.66 +1.75 +1.9 +1.95 +1.8 +1.49 +1.13 +0.9 +0.89 +1.1 +1.39 +1.59 +1.62 +1.5 +1.36 +1.34 +1.48 +1.69 +1.81 +1.69 +1.32 +0.8 +0.34 +0.08 +0.09 +0.25 +0.42 +0.45 +0.31 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.1 +0.1 +0.08 +0.09 +0.17 +0.31 +0.48 +0.63 +0.7 +0.64 +0.51 +0.41 +0.42 +0.61 +0.92 +1.25 +1.47 +1.56 +1.62 +1.8 +2.24 +2.98 +3.86 +4.65 +5.11 +5.17 +4.88 +4.44 +4.02 +3.72 +3.5 +3.27 +2.94 +2.51 +2.07 +1.76 +1.66 +1.75 +1.9 +1.95 +1.8 +1.49 +1.13 +0.9 +0.89 +1.1 +1.39 +1.59 +1.62 +1.5 +1.36 +1.34 +1.48 +1.69 +1.81 +1.69 +1.32 +0.8 +0.34 +0.08 +0.09 +0.25 +0.42 +0.45 +0.31 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.1 +0.1 +0.08 +0.09 +0.0 +0.0 +0.07 +0.23 +0.34 +0.33 +0.2 +0.01 +0.0 +0.0 +0.11 +0.44 +0.74 +0.88 +0.84 +0.75 +0.82 +1.21 +1.92 +2.81 +3.6 +4.05 +4.07 +3.76 +3.32 +2.95 +2.74 +2.64 +2.51 +2.27 +1.91 +1.56 +1.34 +1.35 +1.55 +1.79 +1.9 +1.78 +1.46 +1.1 +0.88 +0.9 +1.12 +1.41 +1.59 +1.59 +1.45 +1.33 +1.35 +1.54 +1.78 +1.86 +1.66 +1.15 +0.49 +0.0 +0.0 +0.0 +0.0 +0.07 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.23 +0.34 +0.33 +0.2 +0.01 +0.0 +0.0 +0.11 +0.44 +0.74 +0.88 +0.84 +0.75 +0.82 +1.21 +1.92 +2.81 +3.6 +4.05 +4.07 +3.76 +3.32 +2.95 +2.74 +2.64 +2.51 +2.27 +1.91 +1.56 +1.34 +1.35 +1.55 +1.79 +1.9 +1.78 +1.46 +1.1 +0.88 +0.9 +1.12 +1.41 +1.59 +1.59 +1.45 +1.33 +1.35 +1.54 +1.78 +1.86 +1.66 +1.15 +0.49 +0.0 +0.0 +0.0 +0.0 +0.07 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.28 +0.13 +0.0 +0.0 +0.25 +0.94 +1.81 +2.56 +2.97 +2.95 +2.63 +2.23 +1.95 +1.85 +1.85 +1.82 +1.64 +1.35 +1.06 +0.93 +1.03 +1.32 +1.61 +1.75 +1.63 +1.31 +0.96 +0.75 +0.79 +1.03 +1.3 +1.45 +1.43 +1.3 +1.22 +1.32 +1.57 +1.84 +1.9 +1.62 +1.0 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.28 +0.13 +0.0 +0.0 +0.25 +0.94 +1.81 +2.56 +2.97 +2.95 +2.63 +2.23 +1.95 +1.85 +1.85 +1.82 +1.64 +1.35 +1.06 +0.93 +1.03 +1.32 +1.61 +1.75 +1.63 +1.31 +0.96 +0.75 +0.79 +1.03 +1.3 +1.45 +1.43 +1.3 +1.22 +1.32 +1.57 +1.84 +1.9 +1.62 +1.0 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +1.17 +1.86 +2.22 +2.18 +1.87 +1.54 +1.35 +1.35 +1.44 +1.46 +1.31 +1.04 +0.79 +0.72 +0.89 +1.22 +1.54 +1.67 +1.54 +1.22 +0.89 +0.72 +0.79 +1.04 +1.31 +1.46 +1.44 +1.35 +1.35 +1.54 +1.87 +2.18 +2.22 +1.86 +1.17 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +1.17 +1.86 +2.22 +2.18 +1.87 +1.54 +1.35 +1.35 +1.44 +1.46 +1.31 +1.04 +0.79 +0.72 +0.89 +1.22 +1.54 +1.67 +1.54 +1.22 +0.89 +0.72 +0.79 +1.04 +1.31 +1.46 +1.44 +1.35 +1.35 +1.54 +1.87 +2.18 +2.22 +1.86 +1.17 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.39 +0.38 +0.4 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +2.0 +2.18 +2.26 +2.22 +2.07 +1.85 +1.61 +1.37 +1.14 +0.93 +0.72 +0.56 +0.45 +0.41 +0.4 +0.36 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.34 +0.38 +0.39 +0.44 +0.55 +0.73 +0.93 +1.15 +1.38 +1.62 +1.86 +2.08 +2.24 +2.28 +2.2 +2.01 +1.77 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.39 +0.37 +0.38 +0.36 +0.27 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.39 +0.38 +0.4 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +2.0 +2.18 +2.26 +2.22 +2.07 +1.85 +1.61 +1.37 +1.14 +0.93 +0.72 +0.56 +0.45 +0.41 +0.4 +0.36 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.34 +0.38 +0.39 +0.44 +0.55 +0.73 +0.93 +1.15 +1.38 +1.62 +1.86 +2.08 +2.24 +2.28 +2.2 +2.01 +1.77 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.39 +0.37 +0.38 +0.36 +0.27 +0.09 +0.3 +0.12 +0.0 +0.0 +0.0 +0.11 +0.3 +0.45 +0.5 +0.47 +0.4 +0.36 +0.39 +0.5 +0.67 +0.88 +1.12 +1.38 +1.67 +1.95 +2.18 +2.31 +2.32 +2.2 +1.99 +1.74 +1.48 +1.23 +1.0 +0.8 +0.64 +0.55 +0.51 +0.5 +0.46 +0.35 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.34 +0.43 +0.45 +0.47 +0.53 +0.65 +0.82 +1.03 +1.27 +1.52 +1.79 +2.05 +2.27 +2.4 +2.4 +2.25 +2.01 +1.71 +1.4 +1.13 +0.89 +0.68 +0.5 +0.37 +0.32 +0.34 +0.4 +0.45 +0.42 +0.3 +0.12 +0.0 +0.0 +0.0 +0.11 +0.3 +0.45 +0.5 +0.47 +0.4 +0.36 +0.39 +0.5 +0.67 +0.88 +1.12 +1.38 +1.67 +1.95 +2.18 +2.31 +2.32 +2.2 +1.99 +1.74 +1.48 +1.23 +1.0 +0.8 +0.64 +0.55 +0.51 +0.5 +0.46 +0.35 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.34 +0.43 +0.45 +0.47 +0.53 +0.65 +0.82 +1.03 +1.27 +1.52 +1.79 +2.05 +2.27 +2.4 +2.4 +2.25 +2.01 +1.71 +1.4 +1.13 +0.89 +0.68 +0.5 +0.37 +0.32 +0.34 +0.4 +0.45 +0.42 +0.3 +0.59 +0.47 +0.35 +0.29 +0.33 +0.45 +0.59 +0.69 +0.7 +0.62 +0.5 +0.4 +0.36 +0.41 +0.54 +0.74 +0.98 +1.26 +1.57 +1.88 +2.17 +2.36 +2.43 +2.37 +2.19 +1.94 +1.66 +1.39 +1.15 +0.97 +0.84 +0.78 +0.77 +0.77 +0.74 +0.64 +0.48 +0.3 +0.16 +0.12 +0.2 +0.36 +0.52 +0.65 +0.71 +0.73 +0.74 +0.79 +0.9 +1.07 +1.27 +1.5 +1.77 +2.05 +2.32 +2.52 +2.6 +2.53 +2.31 +1.99 +1.63 +1.28 +0.99 +0.74 +0.54 +0.4 +0.31 +0.31 +0.38 +0.5 +0.6 +0.64 +0.59 +0.47 +0.35 +0.29 +0.33 +0.45 +0.59 +0.69 +0.7 +0.62 +0.5 +0.4 +0.36 +0.41 +0.54 +0.74 +0.98 +1.26 +1.57 +1.88 +2.17 +2.36 +2.43 +2.37 +2.19 +1.94 +1.66 +1.39 +1.15 +0.97 +0.84 +0.78 +0.77 +0.77 +0.74 +0.64 +0.48 +0.3 +0.16 +0.12 +0.2 +0.36 +0.52 +0.65 +0.71 +0.73 +0.74 +0.79 +0.9 +1.07 +1.27 +1.5 +1.77 +2.05 +2.32 +2.52 +2.6 +2.53 +2.31 +1.99 +1.63 +1.28 +0.99 +0.74 +0.54 +0.4 +0.31 +0.31 +0.38 +0.5 +0.6 +0.64 +0.59 +0.9 +0.84 +0.75 +0.7 +0.71 +0.78 +0.89 +0.96 +0.95 +0.86 +0.71 +0.56 +0.47 +0.46 +0.55 +0.71 +0.93 +1.19 +1.49 +1.81 +2.12 +2.37 +2.5 +2.5 +2.37 +2.14 +1.87 +1.6 +1.38 +1.23 +1.15 +1.15 +1.18 +1.21 +1.2 +1.13 +1.0 +0.87 +0.78 +0.78 +0.86 +1.0 +1.13 +1.21 +1.24 +1.23 +1.23 +1.27 +1.35 +1.48 +1.64 +1.85 +2.09 +2.36 +2.59 +2.75 +2.76 +2.61 +2.32 +1.94 +1.55 +1.19 +0.9 +0.68 +0.52 +0.42 +0.39 +0.43 +0.53 +0.68 +0.81 +0.9 +0.9 +0.84 +0.75 +0.7 +0.71 +0.78 +0.89 +0.96 +0.95 +0.86 +0.71 +0.56 +0.47 +0.46 +0.55 +0.71 +0.93 +1.19 +1.49 +1.81 +2.12 +2.37 +2.5 +2.5 +2.37 +2.14 +1.87 +1.6 +1.38 +1.23 +1.15 +1.15 +1.18 +1.21 +1.2 +1.13 +1.0 +0.87 +0.78 +0.78 +0.86 +1.0 +1.13 +1.21 +1.24 +1.23 +1.23 +1.27 +1.35 +1.48 +1.64 +1.85 +2.09 +2.36 +2.59 +2.75 +2.76 +2.61 +2.32 +1.94 +1.55 +1.19 +0.9 +0.68 +0.52 +0.42 +0.39 +0.43 +0.53 +0.68 +0.81 +0.9 +0.9 +1.16 +1.13 +1.07 +1.02 +1.0 +1.04 +1.11 +1.17 +1.18 +1.11 +0.97 +0.82 +0.7 +0.65 +0.69 +0.81 +0.98 +1.19 +1.44 +1.72 +2.02 +2.29 +2.49 +2.55 +2.48 +2.3 +2.05 +1.81 +1.62 +1.51 +1.49 +1.55 +1.64 +1.71 +1.74 +1.69 +1.61 +1.52 +1.48 +1.51 +1.61 +1.73 +1.83 +1.88 +1.87 +1.83 +1.81 +1.82 +1.87 +1.95 +2.07 +2.22 +2.42 +2.62 +2.79 +2.87 +2.8 +2.57 +2.23 +1.83 +1.45 +1.13 +0.89 +0.73 +0.63 +0.58 +0.58 +0.65 +0.76 +0.9 +1.03 +1.12 +1.16 +1.13 +1.07 +1.02 +1.0 +1.04 +1.11 +1.17 +1.18 +1.11 +0.97 +0.82 +0.7 +0.65 +0.69 +0.81 +0.98 +1.19 +1.44 +1.72 +2.02 +2.29 +2.49 +2.55 +2.48 +2.3 +2.05 +1.81 +1.62 +1.51 +1.49 +1.55 +1.64 +1.71 +1.74 +1.69 +1.61 +1.52 +1.48 +1.51 +1.61 +1.73 +1.83 +1.88 +1.87 +1.83 +1.81 +1.82 +1.87 +1.95 +2.07 +2.22 +2.42 +2.62 +2.79 +2.87 +2.8 +2.57 +2.23 +1.83 +1.45 +1.13 +0.89 +0.73 +0.63 +0.58 +0.58 +0.65 +0.76 +0.9 +1.03 +1.12 +1.16 +1.29 +1.29 +1.25 +1.2 +1.15 +1.15 +1.19 +1.25 +1.28 +1.27 +1.18 +1.06 +0.94 +0.87 +0.87 +0.94 +1.04 +1.18 +1.36 +1.59 +1.86 +2.14 +2.38 +2.51 +2.5 +2.37 +2.16 +1.94 +1.77 +1.69 +1.71 +1.81 +1.95 +2.07 +2.13 +2.13 +2.09 +2.04 +2.04 +2.11 +2.21 +2.33 +2.4 +2.4 +2.36 +2.29 +2.25 +2.23 +2.25 +2.3 +2.38 +2.49 +2.63 +2.76 +2.84 +2.82 +2.66 +2.37 +2.0 +1.62 +1.29 +1.04 +0.88 +0.79 +0.76 +0.76 +0.79 +0.86 +0.95 +1.05 +1.16 +1.24 +1.29 +1.29 +1.25 +1.2 +1.15 +1.15 +1.19 +1.25 +1.28 +1.27 +1.18 +1.06 +0.94 +0.87 +0.87 +0.94 +1.04 +1.18 +1.36 +1.59 +1.86 +2.14 +2.38 +2.51 +2.5 +2.37 +2.16 +1.94 +1.77 +1.69 +1.71 +1.81 +1.95 +2.07 +2.13 +2.13 +2.09 +2.04 +2.04 +2.11 +2.21 +2.33 +2.4 +2.4 +2.36 +2.29 +2.25 +2.23 +2.25 +2.3 +2.38 +2.49 +2.63 +2.76 +2.84 +2.82 +2.66 +2.37 +2.0 +1.62 +1.29 +1.04 +0.88 +0.79 +0.76 +0.76 +0.79 +0.86 +0.95 +1.05 +1.16 +1.24 +1.29 +1.26 +1.3 +1.28 +1.22 +1.15 +1.09 +1.09 +1.14 +1.2 +1.24 +1.22 +1.14 +1.05 +0.98 +0.96 +0.98 +1.04 +1.12 +1.24 +1.42 +1.65 +1.93 +2.2 +2.38 +2.43 +2.34 +2.15 +1.94 +1.77 +1.69 +1.72 +1.83 +1.99 +2.14 +2.24 +2.29 +2.29 +2.29 +2.32 +2.4 +2.51 +2.61 +2.65 +2.62 +2.54 +2.44 +2.37 +2.35 +2.37 +2.42 +2.48 +2.57 +2.65 +2.71 +2.69 +2.58 +2.34 +2.01 +1.65 +1.31 +1.05 +0.88 +0.8 +0.78 +0.79 +0.83 +0.88 +0.93 +0.99 +1.05 +1.12 +1.19 +1.26 +1.3 +1.28 +1.22 +1.15 +1.09 +1.09 +1.14 +1.2 +1.24 +1.22 +1.14 +1.05 +0.98 +0.96 +0.98 +1.04 +1.12 +1.24 +1.42 +1.65 +1.93 +2.2 +2.38 +2.43 +2.34 +2.15 +1.94 +1.77 +1.69 +1.72 +1.83 +1.99 +2.14 +2.24 +2.29 +2.29 +2.29 +2.32 +2.4 +2.51 +2.61 +2.65 +2.62 +2.54 +2.44 +2.37 +2.35 +2.37 +2.42 +2.48 +2.57 +2.65 +2.71 +2.69 +2.58 +2.34 +2.01 +1.65 +1.31 +1.05 +0.88 +0.8 +0.78 +0.79 +0.83 +0.88 +0.93 +0.99 +1.05 +1.12 +1.19 +1.26 +1.07 +1.15 +1.17 +1.12 +1.01 +0.9 +0.84 +0.86 +0.93 +1.0 +1.04 +1.01 +0.95 +0.89 +0.87 +0.88 +0.92 +0.98 +1.07 +1.21 +1.43 +1.7 +1.97 +2.18 +2.27 +2.22 +2.05 +1.84 +1.65 +1.55 +1.54 +1.64 +1.79 +1.96 +2.1 +2.2 +2.25 +2.3 +2.37 +2.46 +2.57 +2.64 +2.64 +2.57 +2.45 +2.33 +2.24 +2.21 +2.23 +2.29 +2.37 +2.45 +2.49 +2.48 +2.38 +2.19 +1.89 +1.55 +1.21 +0.93 +0.74 +0.64 +0.6 +0.61 +0.65 +0.71 +0.76 +0.8 +0.82 +0.85 +0.9 +0.97 +1.07 +1.15 +1.17 +1.12 +1.01 +0.9 +0.84 +0.86 +0.93 +1.0 +1.04 +1.01 +0.95 +0.89 +0.87 +0.88 +0.92 +0.98 +1.07 +1.21 +1.43 +1.7 +1.97 +2.18 +2.27 +2.22 +2.05 +1.84 +1.65 +1.55 +1.54 +1.64 +1.79 +1.96 +2.1 +2.2 +2.25 +2.3 +2.37 +2.46 +2.57 +2.64 +2.64 +2.57 +2.45 +2.33 +2.24 +2.21 +2.23 +2.29 +2.37 +2.45 +2.49 +2.48 +2.38 +2.19 +1.89 +1.55 +1.21 +0.93 +0.74 +0.64 +0.6 +0.61 +0.65 +0.71 +0.76 +0.8 +0.82 +0.85 +0.9 +0.97 +1.07 +0.76 +0.89 +0.95 +0.91 +0.78 +0.61 +0.5 +0.47 +0.53 +0.63 +0.7 +0.71 +0.68 +0.64 +0.63 +0.65 +0.7 +0.77 +0.86 +1.0 +1.2 +1.46 +1.74 +1.95 +2.06 +2.03 +1.89 +1.69 +1.5 +1.36 +1.33 +1.39 +1.53 +1.71 +1.89 +2.05 +2.17 +2.29 +2.4 +2.51 +2.61 +2.66 +2.63 +2.52 +2.36 +2.2 +2.08 +2.02 +2.04 +2.1 +2.17 +2.22 +2.23 +2.15 +1.98 +1.71 +1.39 +1.05 +0.76 +0.54 +0.4 +0.33 +0.31 +0.33 +0.37 +0.42 +0.47 +0.49 +0.5 +0.5 +0.54 +0.63 +0.76 +0.89 +0.95 +0.91 +0.78 +0.61 +0.5 +0.47 +0.53 +0.63 +0.7 +0.71 +0.68 +0.64 +0.63 +0.65 +0.7 +0.77 +0.86 +1.0 +1.2 +1.46 +1.74 +1.95 +2.06 +2.03 +1.89 +1.69 +1.5 +1.36 +1.33 +1.39 +1.53 +1.71 +1.89 +2.05 +2.17 +2.29 +2.4 +2.51 +2.61 +2.66 +2.63 +2.52 +2.36 +2.2 +2.08 +2.02 +2.04 +2.1 +2.17 +2.22 +2.23 +2.15 +1.98 +1.71 +1.39 +1.05 +0.76 +0.54 +0.4 +0.33 +0.31 +0.33 +0.37 +0.42 +0.47 +0.49 +0.5 +0.5 +0.54 +0.63 +0.76 +0.4 +0.57 +0.67 +0.64 +0.5 +0.3 +0.14 +0.08 +0.13 +0.23 +0.33 +0.37 +0.36 +0.34 +0.34 +0.39 +0.46 +0.55 +0.66 +0.81 +0.99 +1.23 +1.47 +1.68 +1.79 +1.79 +1.69 +1.54 +1.38 +1.26 +1.22 +1.27 +1.4 +1.59 +1.82 +2.04 +2.25 +2.44 +2.61 +2.76 +2.86 +2.9 +2.86 +2.72 +2.53 +2.33 +2.16 +2.05 +2.01 +2.01 +2.03 +2.02 +1.95 +1.79 +1.55 +1.24 +0.9 +0.6 +0.35 +0.19 +0.09 +0.03 +0.01 +0.01 +0.03 +0.08 +0.12 +0.15 +0.14 +0.12 +0.14 +0.24 +0.4 +0.57 +0.67 +0.64 +0.5 +0.3 +0.14 +0.08 +0.13 +0.23 +0.33 +0.37 +0.36 +0.34 +0.34 +0.39 +0.46 +0.55 +0.66 +0.81 +0.99 +1.23 +1.47 +1.68 +1.79 +1.79 +1.69 +1.54 +1.38 +1.26 +1.22 +1.27 +1.4 +1.59 +1.82 +2.04 +2.25 +2.44 +2.61 +2.76 +2.86 +2.9 +2.86 +2.72 +2.53 +2.33 +2.16 +2.05 +2.01 +2.01 +2.03 +2.02 +1.95 +1.79 +1.55 +1.24 +0.9 +0.6 +0.35 +0.19 +0.09 +0.03 +0.01 +0.01 +0.03 +0.08 +0.12 +0.15 +0.14 +0.12 +0.14 +0.24 +0.4 +0.06 +0.25 +0.37 +0.37 +0.23 +0.03 +0.0 +0.0 +0.0 +0.0 +0.04 +0.1 +0.11 +0.1 +0.11 +0.17 +0.26 +0.38 +0.5 +0.63 +0.79 +0.98 +1.18 +1.35 +1.46 +1.5 +1.47 +1.4 +1.33 +1.29 +1.29 +1.36 +1.49 +1.69 +1.95 +2.23 +2.52 +2.79 +3.03 +3.22 +3.35 +3.4 +3.36 +3.23 +3.03 +2.79 +2.56 +2.36 +2.22 +2.12 +2.03 +1.91 +1.73 +1.47 +1.16 +0.81 +0.49 +0.22 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.25 +0.37 +0.37 +0.23 +0.03 +0.0 +0.0 +0.0 +0.0 +0.04 +0.1 +0.11 +0.1 +0.11 +0.17 +0.26 +0.38 +0.5 +0.63 +0.79 +0.98 +1.18 +1.35 +1.46 +1.5 +1.47 +1.4 +1.33 +1.29 +1.29 +1.36 +1.49 +1.69 +1.95 +2.23 +2.52 +2.79 +3.03 +3.22 +3.35 +3.4 +3.36 +3.23 +3.03 +2.79 +2.56 +2.36 +2.22 +2.12 +2.03 +1.91 +1.73 +1.47 +1.16 +0.81 +0.49 +0.22 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.0 +0.0 +0.13 +0.15 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.14 +0.25 +0.36 +0.47 +0.58 +0.72 +0.86 +0.99 +1.1 +1.17 +1.22 +1.26 +1.31 +1.37 +1.45 +1.56 +1.7 +1.9 +2.16 +2.47 +2.8 +3.13 +3.43 +3.66 +3.83 +3.91 +3.91 +3.8 +3.62 +3.37 +3.1 +2.82 +2.56 +2.33 +2.1 +1.85 +1.56 +1.22 +0.85 +0.49 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.15 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.14 +0.25 +0.36 +0.47 +0.58 +0.72 +0.86 +0.99 +1.1 +1.17 +1.22 +1.26 +1.31 +1.37 +1.45 +1.56 +1.7 +1.9 +2.16 +2.47 +2.8 +3.13 +3.43 +3.66 +3.83 +3.91 +3.91 +3.8 +3.62 +3.37 +3.1 +2.82 +2.56 +2.33 +2.1 +1.85 +1.56 +1.22 +0.85 +0.49 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.09 +0.17 +0.25 +0.32 +0.39 +0.48 +0.58 +0.68 +0.78 +0.87 +0.97 +1.1 +1.25 +1.42 +1.57 +1.7 +1.84 +2.0 +2.22 +2.5 +2.84 +3.19 +3.51 +3.77 +3.96 +4.08 +4.11 +4.07 +3.94 +3.72 +3.44 +3.11 +2.78 +2.45 +2.12 +1.79 +1.42 +1.04 +0.64 +0.28 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.09 +0.17 +0.25 +0.32 +0.39 +0.48 +0.58 +0.68 +0.78 +0.87 +0.97 +1.1 +1.25 +1.42 +1.57 +1.7 +1.84 +2.0 +2.22 +2.5 +2.84 +3.19 +3.51 +3.77 +3.96 +4.08 +4.11 +4.07 +3.94 +3.72 +3.44 +3.11 +2.78 +2.45 +2.12 +1.79 +1.42 +1.04 +0.64 +0.28 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.09 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.02 +0.02 +0.03 +0.07 +0.11 +0.16 +0.21 +0.27 +0.35 +0.43 +0.51 +0.58 +0.65 +0.76 +0.92 +1.13 +1.34 +1.53 +1.66 +1.75 +1.84 +1.97 +2.19 +2.48 +2.8 +3.1 +3.35 +3.53 +3.66 +3.73 +3.75 +3.69 +3.55 +3.31 +3.0 +2.66 +2.31 +1.96 +1.63 +1.28 +0.92 +0.55 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.08 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.09 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.02 +0.02 +0.03 +0.07 +0.11 +0.16 +0.21 +0.27 +0.35 +0.43 +0.51 +0.58 +0.65 +0.76 +0.92 +1.13 +1.34 +1.53 +1.66 +1.75 +1.84 +1.97 +2.19 +2.48 +2.8 +3.1 +3.35 +3.53 +3.66 +3.73 +3.75 +3.69 +3.55 +3.31 +3.0 +2.66 +2.31 +1.96 +1.63 +1.28 +0.92 +0.55 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.08 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.2 +0.27 +0.26 +0.19 +0.09 +0.01 +0.0 +0.01 +0.05 +0.09 +0.11 +0.11 +0.11 +0.1 +0.09 +0.09 +0.1 +0.16 +0.25 +0.36 +0.46 +0.53 +0.56 +0.58 +0.64 +0.77 +0.96 +1.17 +1.33 +1.42 +1.43 +1.42 +1.46 +1.59 +1.8 +2.06 +2.31 +2.5 +2.63 +2.73 +2.81 +2.87 +2.89 +2.83 +2.68 +2.45 +2.17 +1.88 +1.61 +1.37 +1.12 +0.86 +0.56 +0.28 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.22 +0.28 +0.25 +0.14 +0.03 +0.0 +0.0 +0.08 +0.2 +0.27 +0.26 +0.19 +0.09 +0.01 +0.0 +0.01 +0.05 +0.09 +0.11 +0.11 +0.11 +0.1 +0.09 +0.09 +0.1 +0.16 +0.25 +0.36 +0.46 +0.53 +0.56 +0.58 +0.64 +0.77 +0.96 +1.17 +1.33 +1.42 +1.43 +1.42 +1.46 +1.59 +1.8 +2.06 +2.31 +2.5 +2.63 +2.73 +2.81 +2.87 +2.89 +2.83 +2.68 +2.45 +2.17 +1.88 +1.61 +1.37 +1.12 +0.86 +0.56 +0.28 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.22 +0.28 +0.25 +0.14 +0.03 +0.0 +0.0 +0.21 +0.29 +0.4 +0.49 +0.53 +0.49 +0.39 +0.28 +0.19 +0.15 +0.15 +0.18 +0.22 +0.25 +0.25 +0.21 +0.15 +0.1 +0.1 +0.17 +0.32 +0.5 +0.64 +0.71 +0.7 +0.64 +0.62 +0.67 +0.8 +0.96 +1.07 +1.08 +1.01 +0.91 +0.86 +0.92 +1.08 +1.28 +1.46 +1.56 +1.6 +1.62 +1.66 +1.74 +1.82 +1.85 +1.8 +1.65 +1.46 +1.28 +1.14 +1.05 +0.96 +0.84 +0.65 +0.42 +0.19 +0.02 +0.0 +0.0 +0.0 +0.0 +0.03 +0.09 +0.18 +0.28 +0.38 +0.44 +0.43 +0.35 +0.26 +0.2 +0.21 +0.29 +0.4 +0.49 +0.53 +0.49 +0.39 +0.28 +0.19 +0.15 +0.15 +0.18 +0.22 +0.25 +0.25 +0.21 +0.15 +0.1 +0.1 +0.17 +0.32 +0.5 +0.64 +0.71 +0.7 +0.64 +0.62 +0.67 +0.8 +0.96 +1.07 +1.08 +1.01 +0.91 +0.86 +0.92 +1.08 +1.28 +1.46 +1.56 +1.6 +1.62 +1.66 +1.74 +1.82 +1.85 +1.8 +1.65 +1.46 +1.28 +1.14 +1.05 +0.96 +0.84 +0.65 +0.42 +0.19 +0.02 +0.0 +0.0 +0.0 +0.0 +0.03 +0.09 +0.18 +0.28 +0.38 +0.44 +0.43 +0.35 +0.26 +0.2 +0.21 +0.37 +0.42 +0.53 +0.64 +0.72 +0.72 +0.64 +0.5 +0.35 +0.25 +0.23 +0.28 +0.37 +0.45 +0.46 +0.39 +0.27 +0.15 +0.12 +0.22 +0.43 +0.68 +0.87 +0.94 +0.88 +0.75 +0.64 +0.62 +0.69 +0.79 +0.84 +0.78 +0.63 +0.47 +0.39 +0.44 +0.59 +0.77 +0.88 +0.89 +0.81 +0.72 +0.69 +0.75 +0.86 +0.96 +0.97 +0.9 +0.79 +0.69 +0.67 +0.73 +0.8 +0.81 +0.73 +0.55 +0.34 +0.15 +0.05 +0.04 +0.11 +0.2 +0.27 +0.33 +0.38 +0.43 +0.48 +0.52 +0.53 +0.49 +0.43 +0.37 +0.37 +0.42 +0.53 +0.64 +0.72 +0.72 +0.64 +0.5 +0.35 +0.25 +0.23 +0.28 +0.37 +0.45 +0.46 +0.39 +0.27 +0.15 +0.12 +0.22 +0.43 +0.68 +0.87 +0.94 +0.88 +0.75 +0.64 +0.62 +0.69 +0.79 +0.84 +0.78 +0.63 +0.47 +0.39 +0.44 +0.59 +0.77 +0.88 +0.89 +0.81 +0.72 +0.69 +0.75 +0.86 +0.96 +0.97 +0.9 +0.79 +0.69 +0.67 +0.73 +0.8 +0.81 +0.73 +0.55 +0.34 +0.15 +0.05 +0.04 +0.11 +0.2 +0.27 +0.33 +0.38 +0.43 +0.48 +0.52 +0.53 +0.49 +0.43 +0.37 +0.37 +0.39 +0.4 +0.48 +0.62 +0.75 +0.8 +0.75 +0.61 +0.43 +0.31 +0.29 +0.39 +0.55 +0.69 +0.72 +0.6 +0.4 +0.21 +0.14 +0.25 +0.5 +0.8 +1.02 +1.07 +0.97 +0.79 +0.64 +0.59 +0.64 +0.7 +0.7 +0.59 +0.39 +0.21 +0.15 +0.24 +0.44 +0.64 +0.73 +0.65 +0.46 +0.26 +0.15 +0.17 +0.29 +0.41 +0.46 +0.41 +0.31 +0.25 +0.29 +0.43 +0.61 +0.74 +0.74 +0.61 +0.41 +0.22 +0.14 +0.18 +0.3 +0.44 +0.53 +0.56 +0.54 +0.51 +0.5 +0.52 +0.54 +0.54 +0.5 +0.43 +0.39 +0.4 +0.48 +0.62 +0.75 +0.8 +0.75 +0.61 +0.43 +0.31 +0.29 +0.39 +0.55 +0.69 +0.72 +0.6 +0.4 +0.21 +0.14 +0.25 +0.5 +0.8 +1.02 +1.07 +0.97 +0.79 +0.64 +0.59 +0.64 +0.7 +0.7 +0.59 +0.39 +0.21 +0.15 +0.24 +0.44 +0.64 +0.73 +0.65 +0.46 +0.26 +0.15 +0.17 +0.29 +0.41 +0.46 +0.41 +0.31 +0.25 +0.29 +0.43 +0.61 +0.74 +0.74 +0.61 +0.41 +0.22 +0.14 +0.18 +0.3 +0.44 +0.53 +0.56 +0.54 +0.51 +0.5 +0.52 +0.54 +0.54 +0.5 +0.43 +0.39 +0.28 +0.23 +0.27 +0.41 +0.59 +0.71 +0.71 +0.58 +0.41 +0.29 +0.31 +0.48 +0.73 +0.93 +0.96 +0.81 +0.52 +0.25 +0.12 +0.21 +0.48 +0.78 +0.99 +1.02 +0.88 +0.69 +0.54 +0.52 +0.6 +0.67 +0.65 +0.49 +0.27 +0.1 +0.08 +0.26 +0.54 +0.8 +0.88 +0.76 +0.48 +0.18 +0.01 +0.0 +0.12 +0.25 +0.29 +0.22 +0.09 +0.0 +0.02 +0.18 +0.4 +0.59 +0.65 +0.55 +0.38 +0.23 +0.19 +0.29 +0.48 +0.66 +0.76 +0.75 +0.64 +0.51 +0.44 +0.43 +0.47 +0.5 +0.48 +0.39 +0.28 +0.23 +0.27 +0.41 +0.59 +0.71 +0.71 +0.58 +0.41 +0.29 +0.31 +0.48 +0.73 +0.93 +0.96 +0.81 +0.52 +0.25 +0.12 +0.21 +0.48 +0.78 +0.99 +1.02 +0.88 +0.69 +0.54 +0.52 +0.6 +0.67 +0.65 +0.49 +0.27 +0.1 +0.08 +0.26 +0.54 +0.8 +0.88 +0.76 +0.48 +0.18 +0.01 +0.0 +0.12 +0.25 +0.29 +0.22 +0.09 +0.0 +0.02 +0.18 +0.4 +0.59 +0.65 +0.55 +0.38 +0.23 +0.19 +0.29 +0.48 +0.66 +0.76 +0.75 +0.64 +0.51 +0.44 +0.43 +0.47 +0.5 +0.48 +0.39 +0.28 +0.13 +0.0 +0.0 +0.13 +0.33 +0.51 +0.55 +0.46 +0.3 +0.21 +0.28 +0.52 +0.85 +1.1 +1.14 +0.94 +0.58 +0.23 +0.06 +0.12 +0.37 +0.65 +0.83 +0.82 +0.66 +0.48 +0.39 +0.44 +0.57 +0.68 +0.65 +0.46 +0.21 +0.04 +0.07 +0.33 +0.7 +1.01 +1.12 +0.97 +0.65 +0.3 +0.09 +0.07 +0.19 +0.32 +0.35 +0.25 +0.06 +0.0 +0.0 +0.0 +0.23 +0.43 +0.51 +0.44 +0.3 +0.2 +0.22 +0.38 +0.63 +0.84 +0.92 +0.84 +0.64 +0.43 +0.3 +0.3 +0.37 +0.44 +0.43 +0.31 +0.13 +0.0 +0.0 +0.13 +0.33 +0.51 +0.55 +0.46 +0.3 +0.21 +0.28 +0.52 +0.85 +1.1 +1.14 +0.94 +0.58 +0.23 +0.06 +0.12 +0.37 +0.65 +0.83 +0.82 +0.66 +0.48 +0.39 +0.44 +0.57 +0.68 +0.65 +0.46 +0.21 +0.04 +0.07 +0.33 +0.7 +1.01 +1.12 +0.97 +0.65 +0.3 +0.09 +0.07 +0.19 +0.32 +0.35 +0.25 +0.06 +0.0 +0.0 +0.0 +0.23 +0.43 +0.51 +0.44 +0.3 +0.2 +0.22 +0.38 +0.63 +0.84 +0.92 +0.84 +0.64 +0.43 +0.3 +0.3 +0.37 +0.44 +0.43 +0.31 +0.13 +0.07 +0.0 +0.0 +0.0 +0.13 +0.32 +0.39 +0.31 +0.17 +0.09 +0.2 +0.5 +0.88 +1.16 +1.21 +0.98 +0.58 +0.19 +0.0 +0.03 +0.25 +0.5 +0.62 +0.58 +0.42 +0.27 +0.25 +0.38 +0.58 +0.72 +0.67 +0.46 +0.17 +0.0 +0.05 +0.34 +0.75 +1.1 +1.23 +1.09 +0.77 +0.42 +0.21 +0.2 +0.32 +0.46 +0.49 +0.36 +0.14 +0.0 +0.0 +0.0 +0.15 +0.34 +0.42 +0.37 +0.26 +0.2 +0.26 +0.47 +0.74 +0.95 +0.99 +0.83 +0.56 +0.29 +0.14 +0.17 +0.3 +0.42 +0.44 +0.3 +0.07 +0.0 +0.0 +0.0 +0.13 +0.32 +0.39 +0.31 +0.17 +0.09 +0.2 +0.5 +0.88 +1.16 +1.21 +0.98 +0.58 +0.19 +0.0 +0.03 +0.25 +0.5 +0.62 +0.58 +0.42 +0.27 +0.25 +0.38 +0.58 +0.72 +0.67 +0.46 +0.17 +0.0 +0.05 +0.34 +0.75 +1.1 +1.23 +1.09 +0.77 +0.42 +0.21 +0.2 +0.32 +0.46 +0.49 +0.36 +0.14 +0.0 +0.0 +0.0 +0.15 +0.34 +0.42 +0.37 +0.26 +0.2 +0.26 +0.47 +0.74 +0.95 +0.99 +0.83 +0.56 +0.29 +0.14 +0.17 +0.3 +0.42 +0.44 +0.3 +0.07 +0.18 +0.0 +0.0 +0.0 +0.08 +0.26 +0.31 +0.22 +0.07 +0.0 +0.12 +0.44 +0.83 +1.12 +1.16 +0.93 +0.53 +0.15 +0.0 +0.0 +0.18 +0.39 +0.48 +0.41 +0.26 +0.15 +0.2 +0.39 +0.64 +0.79 +0.73 +0.48 +0.17 +0.0 +0.0 +0.28 +0.69 +1.04 +1.17 +1.06 +0.78 +0.48 +0.3 +0.31 +0.44 +0.58 +0.61 +0.5 +0.29 +0.1 +0.02 +0.09 +0.25 +0.4 +0.46 +0.41 +0.31 +0.27 +0.35 +0.57 +0.82 +0.99 +0.97 +0.76 +0.43 +0.14 +0.02 +0.09 +0.3 +0.5 +0.56 +0.43 +0.18 +0.0 +0.0 +0.0 +0.08 +0.26 +0.31 +0.22 +0.07 +0.0 +0.12 +0.44 +0.83 +1.12 +1.16 +0.93 +0.53 +0.15 +0.0 +0.0 +0.18 +0.39 +0.48 +0.41 +0.26 +0.15 +0.2 +0.39 +0.64 +0.79 +0.73 +0.48 +0.17 +0.0 +0.0 +0.28 +0.69 +1.04 +1.17 +1.06 +0.78 +0.48 +0.3 +0.31 +0.44 +0.58 +0.61 +0.5 +0.29 +0.1 +0.02 +0.09 +0.25 +0.4 +0.46 +0.41 +0.31 +0.27 +0.35 +0.57 +0.82 +0.99 +0.97 +0.76 +0.43 +0.14 +0.02 +0.09 +0.3 +0.5 +0.56 +0.43 +0.18 +0.45 +0.19 +0.05 +0.07 +0.21 +0.34 +0.35 +0.23 +0.06 +0.0 +0.07 +0.36 +0.74 +1.01 +1.05 +0.84 +0.47 +0.13 +0.0 +0.0 +0.19 +0.37 +0.43 +0.35 +0.22 +0.15 +0.24 +0.47 +0.73 +0.87 +0.79 +0.53 +0.2 +0.0 +0.0 +0.21 +0.56 +0.88 +1.02 +0.94 +0.73 +0.51 +0.39 +0.41 +0.53 +0.66 +0.69 +0.62 +0.47 +0.33 +0.29 +0.36 +0.49 +0.6 +0.62 +0.54 +0.43 +0.38 +0.45 +0.64 +0.85 +0.97 +0.9 +0.65 +0.32 +0.05 +0.0 +0.11 +0.39 +0.66 +0.78 +0.69 +0.45 +0.19 +0.05 +0.07 +0.21 +0.34 +0.35 +0.23 +0.06 +0.0 +0.07 +0.36 +0.74 +1.01 +1.05 +0.84 +0.47 +0.13 +0.0 +0.0 +0.19 +0.37 +0.43 +0.35 +0.22 +0.15 +0.24 +0.47 +0.73 +0.87 +0.79 +0.53 +0.2 +0.0 +0.0 +0.21 +0.56 +0.88 +1.02 +0.94 +0.73 +0.51 +0.39 +0.41 +0.53 +0.66 +0.69 +0.62 +0.47 +0.33 +0.29 +0.36 +0.49 +0.6 +0.62 +0.54 +0.43 +0.38 +0.45 +0.64 +0.85 +0.97 +0.9 +0.65 +0.32 +0.05 +0.0 +0.11 +0.39 +0.66 +0.78 +0.69 +0.45 +0.74 +0.5 +0.35 +0.35 +0.44 +0.51 +0.48 +0.33 +0.13 +0.01 +0.07 +0.32 +0.64 +0.88 +0.91 +0.73 +0.42 +0.14 +0.02 +0.08 +0.25 +0.4 +0.44 +0.36 +0.25 +0.21 +0.32 +0.55 +0.79 +0.9 +0.82 +0.57 +0.26 +0.05 +0.02 +0.18 +0.46 +0.71 +0.84 +0.81 +0.69 +0.55 +0.49 +0.52 +0.61 +0.7 +0.73 +0.68 +0.6 +0.55 +0.56 +0.65 +0.76 +0.82 +0.78 +0.67 +0.53 +0.46 +0.5 +0.64 +0.81 +0.89 +0.8 +0.56 +0.26 +0.03 +0.01 +0.2 +0.53 +0.84 +1.01 +0.95 +0.74 +0.5 +0.35 +0.35 +0.44 +0.51 +0.48 +0.33 +0.13 +0.01 +0.07 +0.32 +0.64 +0.88 +0.91 +0.73 +0.42 +0.14 +0.02 +0.08 +0.25 +0.4 +0.44 +0.36 +0.25 +0.21 +0.32 +0.55 +0.79 +0.9 +0.82 +0.57 +0.26 +0.05 +0.02 +0.18 +0.46 +0.71 +0.84 +0.81 +0.69 +0.55 +0.49 +0.52 +0.61 +0.7 +0.73 +0.68 +0.6 +0.55 +0.56 +0.65 +0.76 +0.82 +0.78 +0.67 +0.53 +0.46 +0.5 +0.64 +0.81 +0.89 +0.8 +0.56 +0.26 +0.03 +0.01 +0.2 +0.53 +0.84 +1.01 +0.95 +0.74 +0.92 +0.71 +0.57 +0.56 +0.62 +0.67 +0.62 +0.46 +0.25 +0.11 +0.13 +0.31 +0.57 +0.76 +0.79 +0.64 +0.4 +0.2 +0.12 +0.19 +0.34 +0.45 +0.47 +0.4 +0.3 +0.28 +0.38 +0.58 +0.77 +0.86 +0.78 +0.56 +0.3 +0.11 +0.07 +0.18 +0.37 +0.55 +0.66 +0.67 +0.63 +0.57 +0.56 +0.59 +0.63 +0.66 +0.66 +0.62 +0.6 +0.61 +0.69 +0.8 +0.88 +0.9 +0.82 +0.67 +0.51 +0.42 +0.44 +0.56 +0.69 +0.76 +0.69 +0.49 +0.25 +0.08 +0.09 +0.3 +0.62 +0.94 +1.11 +1.09 +0.92 +0.71 +0.57 +0.56 +0.62 +0.67 +0.62 +0.46 +0.25 +0.11 +0.13 +0.31 +0.57 +0.76 +0.79 +0.64 +0.4 +0.2 +0.12 +0.19 +0.34 +0.45 +0.47 +0.4 +0.3 +0.28 +0.38 +0.58 +0.77 +0.86 +0.78 +0.56 +0.3 +0.11 +0.07 +0.18 +0.37 +0.55 +0.66 +0.67 +0.63 +0.57 +0.56 +0.59 +0.63 +0.66 +0.66 +0.62 +0.6 +0.61 +0.69 +0.8 +0.88 +0.9 +0.82 +0.67 +0.51 +0.42 +0.44 +0.56 +0.69 +0.76 +0.69 +0.49 +0.25 +0.08 +0.09 +0.3 +0.62 +0.94 +1.11 +1.09 +0.92 +0.88 +0.71 +0.61 +0.62 +0.69 +0.75 +0.72 +0.57 +0.38 +0.24 +0.23 +0.36 +0.55 +0.7 +0.73 +0.63 +0.47 +0.33 +0.31 +0.39 +0.52 +0.61 +0.6 +0.52 +0.43 +0.4 +0.47 +0.61 +0.74 +0.78 +0.69 +0.51 +0.3 +0.15 +0.11 +0.17 +0.28 +0.39 +0.46 +0.48 +0.48 +0.49 +0.51 +0.54 +0.54 +0.51 +0.45 +0.4 +0.4 +0.46 +0.58 +0.7 +0.78 +0.77 +0.67 +0.5 +0.35 +0.27 +0.29 +0.4 +0.54 +0.62 +0.59 +0.45 +0.27 +0.15 +0.17 +0.34 +0.61 +0.87 +1.02 +1.01 +0.88 +0.71 +0.61 +0.62 +0.69 +0.75 +0.72 +0.57 +0.38 +0.24 +0.23 +0.36 +0.55 +0.7 +0.73 +0.63 +0.47 +0.33 +0.31 +0.39 +0.52 +0.61 +0.6 +0.52 +0.43 +0.4 +0.47 +0.61 +0.74 +0.78 +0.69 +0.51 +0.3 +0.15 +0.11 +0.17 +0.28 +0.39 +0.46 +0.48 +0.48 +0.49 +0.51 +0.54 +0.54 +0.51 +0.45 +0.4 +0.4 +0.46 +0.58 +0.7 +0.78 +0.77 +0.67 +0.5 +0.35 +0.27 +0.29 +0.4 +0.54 +0.62 +0.59 +0.45 +0.27 +0.15 +0.17 +0.34 +0.61 +0.87 +1.02 +1.01 +0.88 +0.66 +0.55 +0.5 +0.55 +0.66 +0.76 +0.77 +0.68 +0.52 +0.4 +0.37 +0.46 +0.61 +0.75 +0.8 +0.75 +0.67 +0.63 +0.68 +0.8 +0.94 +1.02 +1.0 +0.9 +0.78 +0.71 +0.72 +0.78 +0.82 +0.8 +0.68 +0.5 +0.32 +0.2 +0.16 +0.18 +0.22 +0.25 +0.25 +0.24 +0.25 +0.29 +0.33 +0.36 +0.34 +0.26 +0.16 +0.08 +0.07 +0.15 +0.29 +0.44 +0.52 +0.51 +0.4 +0.25 +0.13 +0.08 +0.13 +0.27 +0.42 +0.52 +0.52 +0.43 +0.3 +0.2 +0.2 +0.31 +0.49 +0.68 +0.78 +0.76 +0.66 +0.55 +0.5 +0.55 +0.66 +0.76 +0.77 +0.68 +0.52 +0.4 +0.37 +0.46 +0.61 +0.75 +0.8 +0.75 +0.67 +0.63 +0.68 +0.8 +0.94 +1.02 +1.0 +0.9 +0.78 +0.71 +0.72 +0.78 +0.82 +0.8 +0.68 +0.5 +0.32 +0.2 +0.16 +0.18 +0.22 +0.25 +0.25 +0.24 +0.25 +0.29 +0.33 +0.36 +0.34 +0.26 +0.16 +0.08 +0.07 +0.15 +0.29 +0.44 +0.52 +0.51 +0.4 +0.25 +0.13 +0.08 +0.13 +0.27 +0.42 +0.52 +0.52 +0.43 +0.3 +0.2 +0.2 +0.31 +0.49 +0.68 +0.78 +0.76 +0.66 +0.41 +0.35 +0.36 +0.46 +0.62 +0.77 +0.84 +0.8 +0.69 +0.59 +0.57 +0.65 +0.8 +0.94 +1.03 +1.06 +1.08 +1.15 +1.31 +1.52 +1.72 +1.83 +1.8 +1.68 +1.51 +1.38 +1.3 +1.26 +1.21 +1.09 +0.9 +0.68 +0.49 +0.36 +0.31 +0.3 +0.29 +0.23 +0.15 +0.07 +0.04 +0.06 +0.13 +0.17 +0.16 +0.06 +0.0 +0.0 +0.0 +0.0 +0.04 +0.21 +0.3 +0.3 +0.21 +0.08 +0.0 +0.0 +0.08 +0.24 +0.39 +0.5 +0.51 +0.44 +0.32 +0.22 +0.18 +0.23 +0.33 +0.44 +0.5 +0.48 +0.41 +0.35 +0.36 +0.46 +0.62 +0.77 +0.84 +0.8 +0.69 +0.59 +0.57 +0.65 +0.8 +0.94 +1.03 +1.06 +1.08 +1.15 +1.31 +1.52 +1.72 +1.83 +1.8 +1.68 +1.51 +1.38 +1.3 +1.26 +1.21 +1.09 +0.9 +0.68 +0.49 +0.36 +0.31 +0.3 +0.29 +0.23 +0.15 +0.07 +0.04 +0.06 +0.13 +0.17 +0.16 +0.06 +0.0 +0.0 +0.0 +0.0 +0.04 +0.21 +0.3 +0.3 +0.21 +0.08 +0.0 +0.0 +0.08 +0.24 +0.39 +0.5 +0.51 +0.44 +0.32 +0.22 +0.18 +0.23 +0.33 +0.44 +0.5 +0.48 +0.41 +0.27 +0.26 +0.33 +0.48 +0.68 +0.87 +0.97 +0.96 +0.88 +0.81 +0.82 +0.92 +1.1 +1.28 +1.42 +1.53 +1.66 +1.87 +2.18 +2.54 +2.86 +3.03 +3.03 +2.87 +2.63 +2.41 +2.23 +2.08 +1.92 +1.69 +1.4 +1.11 +0.87 +0.73 +0.67 +0.65 +0.59 +0.46 +0.27 +0.1 +0.0 +0.0 +0.08 +0.16 +0.18 +0.1 +0.0 +0.0 +0.0 +0.0 +0.05 +0.24 +0.34 +0.33 +0.23 +0.1 +0.03 +0.06 +0.18 +0.34 +0.49 +0.56 +0.54 +0.45 +0.32 +0.21 +0.15 +0.16 +0.21 +0.27 +0.31 +0.3 +0.27 +0.26 +0.33 +0.48 +0.68 +0.87 +0.97 +0.96 +0.88 +0.81 +0.82 +0.92 +1.1 +1.28 +1.42 +1.53 +1.66 +1.87 +2.18 +2.54 +2.86 +3.03 +3.03 +2.87 +2.63 +2.41 +2.23 +2.08 +1.92 +1.69 +1.4 +1.11 +0.87 +0.73 +0.67 +0.65 +0.59 +0.46 +0.27 +0.1 +0.0 +0.0 +0.08 +0.16 +0.18 +0.1 +0.0 +0.0 +0.0 +0.0 +0.05 +0.24 +0.34 +0.33 +0.23 +0.1 +0.03 +0.06 +0.18 +0.34 +0.49 +0.56 +0.54 +0.45 +0.32 +0.21 +0.15 +0.16 +0.21 +0.27 +0.31 +0.3 +0.27 +0.28 +0.32 +0.43 +0.62 +0.85 +1.04 +1.15 +1.14 +1.07 +1.02 +1.07 +1.23 +1.46 +1.69 +1.88 +2.05 +2.27 +2.62 +3.1 +3.64 +4.12 +4.39 +4.41 +4.21 +3.89 +3.56 +3.28 +3.03 +2.77 +2.45 +2.07 +1.7 +1.4 +1.25 +1.2 +1.19 +1.12 +0.94 +0.67 +0.4 +0.23 +0.2 +0.3 +0.44 +0.51 +0.46 +0.32 +0.18 +0.14 +0.23 +0.43 +0.61 +0.7 +0.64 +0.47 +0.3 +0.2 +0.24 +0.37 +0.53 +0.63 +0.64 +0.56 +0.42 +0.28 +0.17 +0.13 +0.14 +0.18 +0.24 +0.27 +0.28 +0.28 +0.32 +0.43 +0.62 +0.85 +1.04 +1.15 +1.14 +1.07 +1.02 +1.07 +1.23 +1.46 +1.69 +1.88 +2.05 +2.27 +2.62 +3.1 +3.64 +4.12 +4.39 +4.41 +4.21 +3.89 +3.56 +3.28 +3.03 +2.77 +2.45 +2.07 +1.7 +1.4 +1.25 +1.2 +1.19 +1.12 +0.94 +0.67 +0.4 +0.23 +0.2 +0.3 +0.44 +0.51 +0.46 +0.32 +0.18 +0.14 +0.23 +0.43 +0.61 +0.7 +0.64 +0.47 +0.3 +0.2 +0.24 +0.37 +0.53 +0.63 +0.64 +0.56 +0.42 +0.28 +0.17 +0.13 +0.14 +0.18 +0.24 +0.27 +0.28 +0.28 +0.37 +0.45 +0.59 +0.8 +1.03 +1.21 +1.28 +1.24 +1.16 +1.13 +1.23 +1.46 +1.74 +2.01 +2.21 +2.4 +2.66 +3.11 +3.75 +4.47 +5.11 +5.49 +5.53 +5.27 +4.86 +4.43 +4.07 +3.76 +3.44 +3.06 +2.61 +2.18 +1.86 +1.72 +1.72 +1.76 +1.72 +1.53 +1.21 +0.87 +0.64 +0.61 +0.74 +0.93 +1.06 +1.04 +0.91 +0.77 +0.73 +0.85 +1.05 +1.21 +1.23 +1.06 +0.78 +0.5 +0.35 +0.37 +0.5 +0.64 +0.71 +0.65 +0.49 +0.3 +0.15 +0.08 +0.08 +0.14 +0.21 +0.28 +0.32 +0.34 +0.37 +0.45 +0.59 +0.8 +1.03 +1.21 +1.28 +1.24 +1.16 +1.13 +1.23 +1.46 +1.74 +2.01 +2.21 +2.4 +2.66 +3.11 +3.75 +4.47 +5.11 +5.49 +5.53 +5.27 +4.86 +4.43 +4.07 +3.76 +3.44 +3.06 +2.61 +2.18 +1.86 +1.72 +1.72 +1.76 +1.72 +1.53 +1.21 +0.87 +0.64 +0.61 +0.74 +0.93 +1.06 +1.04 +0.91 +0.77 +0.73 +0.85 +1.05 +1.21 +1.23 +1.06 +0.78 +0.5 +0.35 +0.37 +0.5 +0.64 +0.71 +0.65 +0.49 +0.3 +0.15 +0.08 +0.08 +0.14 +0.21 +0.28 +0.32 +0.34 +0.37 +0.39 +0.49 +0.66 +0.88 +1.1 +1.23 +1.25 +1.16 +1.05 +1.04 +1.19 +1.48 +1.8 +2.06 +2.23 +2.36 +2.6 +3.09 +3.84 +4.71 +5.48 +5.93 +5.98 +5.66 +5.17 +4.66 +4.26 +3.94 +3.61 +3.21 +2.75 +2.3 +2.0 +1.9 +1.98 +2.11 +2.13 +1.96 +1.62 +1.25 +1.01 +0.98 +1.16 +1.4 +1.57 +1.57 +1.45 +1.32 +1.31 +1.44 +1.65 +1.78 +1.69 +1.37 +0.92 +0.51 +0.29 +0.29 +0.43 +0.58 +0.61 +0.49 +0.27 +0.06 +0.0 +0.0 +0.0 +0.11 +0.23 +0.3 +0.34 +0.35 +0.39 +0.49 +0.66 +0.88 +1.1 +1.23 +1.25 +1.16 +1.05 +1.04 +1.19 +1.48 +1.8 +2.06 +2.23 +2.36 +2.6 +3.09 +3.84 +4.71 +5.48 +5.93 +5.98 +5.66 +5.17 +4.66 +4.26 +3.94 +3.61 +3.21 +2.75 +2.3 +2.0 +1.9 +1.98 +2.11 +2.13 +1.96 +1.62 +1.25 +1.01 +0.98 +1.16 +1.4 +1.57 +1.57 +1.45 +1.32 +1.31 +1.44 +1.65 +1.78 +1.69 +1.37 +0.92 +0.51 +0.29 +0.29 +0.43 +0.58 +0.61 +0.49 +0.27 +0.06 +0.0 +0.0 +0.0 +0.11 +0.23 +0.3 +0.34 +0.35 +0.39 +0.24 +0.34 +0.53 +0.75 +0.95 +1.04 +0.99 +0.84 +0.71 +0.71 +0.9 +1.22 +1.55 +1.77 +1.84 +1.86 +2.02 +2.49 +3.28 +4.24 +5.09 +5.59 +5.62 +5.25 +4.7 +4.17 +3.77 +3.48 +3.2 +2.84 +2.39 +1.97 +1.71 +1.69 +1.87 +2.09 +2.18 +2.04 +1.71 +1.33 +1.1 +1.1 +1.32 +1.6 +1.79 +1.8 +1.69 +1.59 +1.62 +1.8 +2.02 +2.1 +1.9 +1.41 +0.79 +0.25 +0.0 +0.0 +0.15 +0.32 +0.35 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.16 +0.23 +0.23 +0.21 +0.24 +0.34 +0.53 +0.75 +0.95 +1.04 +0.99 +0.84 +0.71 +0.71 +0.9 +1.22 +1.55 +1.77 +1.84 +1.86 +2.02 +2.49 +3.28 +4.24 +5.09 +5.59 +5.62 +5.25 +4.7 +4.17 +3.77 +3.48 +3.2 +2.84 +2.39 +1.97 +1.71 +1.69 +1.87 +2.09 +2.18 +2.04 +1.71 +1.33 +1.1 +1.1 +1.32 +1.6 +1.79 +1.8 +1.69 +1.59 +1.62 +1.8 +2.02 +2.1 +1.9 +1.41 +0.79 +0.25 +0.0 +0.0 +0.15 +0.32 +0.35 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.16 +0.23 +0.23 +0.21 +0.24 +0.0 +0.04 +0.23 +0.46 +0.63 +0.67 +0.56 +0.36 +0.2 +0.2 +0.41 +0.75 +1.05 +1.18 +1.13 +1.01 +1.07 +1.48 +2.27 +3.26 +4.15 +4.65 +4.66 +4.27 +3.7 +3.19 +2.85 +2.64 +2.43 +2.12 +1.72 +1.35 +1.15 +1.21 +1.47 +1.76 +1.9 +1.78 +1.46 +1.09 +0.88 +0.92 +1.17 +1.48 +1.67 +1.69 +1.6 +1.54 +1.65 +1.9 +2.16 +2.2 +1.89 +1.25 +0.47 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.06 +0.0 +0.0 +0.0 +0.04 +0.23 +0.46 +0.63 +0.67 +0.56 +0.36 +0.2 +0.2 +0.41 +0.75 +1.05 +1.18 +1.13 +1.01 +1.07 +1.48 +2.27 +3.26 +4.15 +4.65 +4.66 +4.27 +3.7 +3.19 +2.85 +2.64 +2.43 +2.12 +1.72 +1.35 +1.15 +1.21 +1.47 +1.76 +1.9 +1.78 +1.46 +1.09 +0.88 +0.92 +1.17 +1.48 +1.67 +1.69 +1.6 +1.54 +1.65 +1.9 +2.16 +2.2 +1.89 +1.25 +0.47 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.27 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.21 +0.47 +0.52 +0.34 +0.12 +0.08 +0.44 +1.21 +2.19 +3.07 +3.55 +3.55 +3.16 +2.63 +2.2 +1.95 +1.84 +1.71 +1.45 +1.09 +0.76 +0.61 +0.73 +1.05 +1.38 +1.54 +1.42 +1.09 +0.73 +0.54 +0.62 +0.89 +1.21 +1.41 +1.44 +1.39 +1.42 +1.63 +1.98 +2.28 +2.31 +1.91 +1.16 +0.27 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.27 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.21 +0.47 +0.52 +0.34 +0.12 +0.08 +0.44 +1.21 +2.19 +3.07 +3.55 +3.55 +3.16 +2.63 +2.2 +1.95 +1.84 +1.71 +1.45 +1.09 +0.76 +0.61 +0.73 +1.05 +1.38 +1.54 +1.42 +1.09 +0.73 +0.54 +0.62 +0.89 +1.21 +1.41 +1.44 +1.39 +1.42 +1.63 +1.98 +2.28 +2.31 +1.91 +1.16 +0.27 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.48 +1.43 +2.27 +2.72 +2.7 +2.34 +1.89 +1.57 +1.44 +1.42 +1.35 +1.13 +0.8 +0.5 +0.39 +0.55 +0.9 +1.23 +1.37 +1.23 +0.9 +0.55 +0.39 +0.5 +0.8 +1.13 +1.35 +1.42 +1.44 +1.57 +1.89 +2.34 +2.7 +2.72 +2.27 +1.43 +0.48 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.48 +1.43 +2.27 +2.72 +2.7 +2.34 +1.89 +1.57 +1.44 +1.42 +1.35 +1.13 +0.8 +0.5 +0.39 +0.55 +0.9 +1.23 +1.37 +1.23 +0.9 +0.55 +0.39 +0.5 +0.8 +1.13 +1.35 +1.42 +1.44 +1.57 +1.89 +2.34 +2.7 +2.72 +2.27 +1.43 +0.48 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.39 +0.38 +0.4 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +2.0 +2.18 +2.26 +2.22 +2.07 +1.85 +1.61 +1.37 +1.15 +0.93 +0.73 +0.56 +0.45 +0.41 +0.39 +0.36 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.35 +0.38 +0.4 +0.44 +0.56 +0.73 +0.93 +1.15 +1.38 +1.62 +1.86 +2.08 +2.23 +2.28 +2.19 +2.01 +1.77 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.39 +0.37 +0.38 +0.37 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.38 +0.39 +0.38 +0.4 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +2.0 +2.18 +2.26 +2.22 +2.07 +1.85 +1.61 +1.37 +1.15 +0.93 +0.73 +0.56 +0.45 +0.41 +0.39 +0.36 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.35 +0.38 +0.4 +0.44 +0.56 +0.73 +0.93 +1.15 +1.38 +1.62 +1.86 +2.08 +2.23 +2.28 +2.19 +2.01 +1.77 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.39 +0.37 +0.38 +0.37 +0.28 +0.09 +0.0 +0.12 +0.0 +0.0 +0.0 +0.12 +0.3 +0.44 +0.49 +0.46 +0.39 +0.36 +0.39 +0.5 +0.67 +0.88 +1.12 +1.39 +1.67 +1.96 +2.19 +2.33 +2.33 +2.22 +2.01 +1.76 +1.5 +1.24 +1.01 +0.81 +0.65 +0.55 +0.51 +0.5 +0.46 +0.35 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.34 +0.43 +0.47 +0.48 +0.54 +0.65 +0.82 +1.03 +1.27 +1.52 +1.78 +2.05 +2.26 +2.39 +2.38 +2.24 +2.0 +1.7 +1.4 +1.13 +0.89 +0.68 +0.5 +0.38 +0.33 +0.35 +0.42 +0.46 +0.43 +0.3 +0.12 +0.0 +0.0 +0.0 +0.12 +0.3 +0.44 +0.49 +0.46 +0.39 +0.36 +0.39 +0.5 +0.67 +0.88 +1.12 +1.39 +1.67 +1.96 +2.19 +2.33 +2.33 +2.22 +2.01 +1.76 +1.5 +1.24 +1.01 +0.81 +0.65 +0.55 +0.51 +0.5 +0.46 +0.35 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.34 +0.43 +0.47 +0.48 +0.54 +0.65 +0.82 +1.03 +1.27 +1.52 +1.78 +2.05 +2.26 +2.39 +2.38 +2.24 +2.0 +1.7 +1.4 +1.13 +0.89 +0.68 +0.5 +0.38 +0.33 +0.35 +0.42 +0.46 +0.43 +0.3 +0.12 +0.49 +0.37 +0.31 +0.35 +0.47 +0.61 +0.7 +0.7 +0.61 +0.49 +0.39 +0.36 +0.42 +0.55 +0.74 +0.98 +1.27 +1.58 +1.91 +2.19 +2.4 +2.47 +2.4 +2.22 +1.97 +1.69 +1.43 +1.19 +1.0 +0.87 +0.8 +0.78 +0.78 +0.75 +0.65 +0.5 +0.32 +0.18 +0.14 +0.21 +0.36 +0.53 +0.66 +0.73 +0.75 +0.76 +0.81 +0.91 +1.07 +1.27 +1.5 +1.77 +2.05 +2.31 +2.51 +2.58 +2.51 +2.29 +1.97 +1.62 +1.28 +0.99 +0.74 +0.55 +0.4 +0.33 +0.33 +0.41 +0.53 +0.63 +0.66 +0.6 +0.49 +0.37 +0.31 +0.35 +0.47 +0.61 +0.7 +0.7 +0.61 +0.49 +0.39 +0.36 +0.42 +0.55 +0.74 +0.98 +1.27 +1.58 +1.91 +2.19 +2.4 +2.47 +2.4 +2.22 +1.97 +1.69 +1.43 +1.19 +1.0 +0.87 +0.8 +0.78 +0.78 +0.75 +0.65 +0.5 +0.32 +0.18 +0.14 +0.21 +0.36 +0.53 +0.66 +0.73 +0.75 +0.76 +0.81 +0.91 +1.07 +1.27 +1.5 +1.77 +2.05 +2.31 +2.51 +2.58 +2.51 +2.29 +1.97 +1.62 +1.28 +0.99 +0.74 +0.55 +0.4 +0.33 +0.33 +0.41 +0.53 +0.63 +0.66 +0.6 +0.49 +0.87 +0.78 +0.74 +0.76 +0.83 +0.93 +0.98 +0.96 +0.86 +0.71 +0.56 +0.48 +0.48 +0.57 +0.73 +0.94 +1.21 +1.51 +1.85 +2.17 +2.42 +2.57 +2.57 +2.44 +2.21 +1.94 +1.68 +1.46 +1.3 +1.22 +1.2 +1.22 +1.25 +1.24 +1.18 +1.06 +0.92 +0.83 +0.81 +0.89 +1.01 +1.14 +1.23 +1.27 +1.26 +1.26 +1.28 +1.35 +1.47 +1.64 +1.84 +2.09 +2.35 +2.59 +2.73 +2.74 +2.59 +2.3 +1.93 +1.55 +1.2 +0.92 +0.71 +0.55 +0.45 +0.42 +0.47 +0.59 +0.74 +0.87 +0.94 +0.93 +0.87 +0.78 +0.74 +0.76 +0.83 +0.93 +0.98 +0.96 +0.86 +0.71 +0.56 +0.48 +0.48 +0.57 +0.73 +0.94 +1.21 +1.51 +1.85 +2.17 +2.42 +2.57 +2.57 +2.44 +2.21 +1.94 +1.68 +1.46 +1.3 +1.22 +1.2 +1.22 +1.25 +1.24 +1.18 +1.06 +0.92 +0.83 +0.81 +0.89 +1.01 +1.14 +1.23 +1.27 +1.26 +1.26 +1.28 +1.35 +1.47 +1.64 +1.84 +2.09 +2.35 +2.59 +2.73 +2.74 +2.59 +2.3 +1.93 +1.55 +1.2 +0.92 +0.71 +0.55 +0.45 +0.42 +0.47 +0.59 +0.74 +0.87 +0.94 +0.93 +0.87 +1.18 +1.13 +1.08 +1.08 +1.12 +1.18 +1.22 +1.21 +1.13 +0.99 +0.84 +0.73 +0.69 +0.72 +0.83 +1.0 +1.21 +1.46 +1.76 +2.08 +2.37 +2.57 +2.65 +2.58 +2.4 +2.16 +1.93 +1.74 +1.63 +1.61 +1.65 +1.72 +1.79 +1.82 +1.79 +1.71 +1.62 +1.57 +1.58 +1.66 +1.77 +1.86 +1.91 +1.91 +1.87 +1.84 +1.83 +1.86 +1.93 +2.05 +2.21 +2.41 +2.62 +2.79 +2.86 +2.78 +2.55 +2.21 +1.83 +1.47 +1.16 +0.94 +0.78 +0.68 +0.63 +0.65 +0.72 +0.84 +0.98 +1.11 +1.19 +1.21 +1.18 +1.13 +1.08 +1.08 +1.12 +1.18 +1.22 +1.21 +1.13 +0.99 +0.84 +0.73 +0.69 +0.72 +0.83 +1.0 +1.21 +1.46 +1.76 +2.08 +2.37 +2.57 +2.65 +2.58 +2.4 +2.16 +1.93 +1.74 +1.63 +1.61 +1.65 +1.72 +1.79 +1.82 +1.79 +1.71 +1.62 +1.57 +1.58 +1.66 +1.77 +1.86 +1.91 +1.91 +1.87 +1.84 +1.83 +1.86 +1.93 +2.05 +2.21 +2.41 +2.62 +2.79 +2.86 +2.78 +2.55 +2.21 +1.83 +1.47 +1.16 +0.94 +0.78 +0.68 +0.63 +0.65 +0.72 +0.84 +0.98 +1.11 +1.19 +1.21 +1.18 +1.35 +1.32 +1.28 +1.25 +1.25 +1.29 +1.32 +1.34 +1.3 +1.21 +1.09 +0.98 +0.92 +0.92 +0.97 +1.07 +1.2 +1.39 +1.63 +1.92 +2.22 +2.47 +2.61 +2.61 +2.49 +2.29 +2.09 +1.93 +1.85 +1.86 +1.95 +2.07 +2.18 +2.25 +2.26 +2.23 +2.18 +2.17 +2.2 +2.28 +2.38 +2.44 +2.45 +2.4 +2.34 +2.27 +2.23 +2.23 +2.27 +2.35 +2.47 +2.61 +2.75 +2.84 +2.81 +2.65 +2.36 +2.01 +1.64 +1.33 +1.1 +0.96 +0.87 +0.84 +0.84 +0.89 +0.96 +1.06 +1.16 +1.25 +1.32 +1.36 +1.35 +1.32 +1.28 +1.25 +1.25 +1.29 +1.32 +1.34 +1.3 +1.21 +1.09 +0.98 +0.92 +0.92 +0.97 +1.07 +1.2 +1.39 +1.63 +1.92 +2.22 +2.47 +2.61 +2.61 +2.49 +2.29 +2.09 +1.93 +1.85 +1.86 +1.95 +2.07 +2.18 +2.25 +2.26 +2.23 +2.18 +2.17 +2.2 +2.28 +2.38 +2.44 +2.45 +2.4 +2.34 +2.27 +2.23 +2.23 +2.27 +2.35 +2.47 +2.61 +2.75 +2.84 +2.81 +2.65 +2.36 +2.01 +1.64 +1.33 +1.1 +0.96 +0.87 +0.84 +0.84 +0.89 +0.96 +1.06 +1.16 +1.25 +1.32 +1.36 +1.35 +1.35 +1.35 +1.32 +1.26 +1.21 +1.2 +1.23 +1.27 +1.29 +1.26 +1.18 +1.1 +1.03 +1.01 +1.02 +1.06 +1.13 +1.25 +1.43 +1.68 +1.98 +2.26 +2.46 +2.53 +2.46 +2.29 +2.1 +1.94 +1.87 +1.88 +1.98 +2.12 +2.27 +2.38 +2.44 +2.45 +2.45 +2.47 +2.52 +2.6 +2.67 +2.7 +2.66 +2.58 +2.48 +2.39 +2.33 +2.33 +2.36 +2.43 +2.53 +2.63 +2.71 +2.71 +2.59 +2.35 +2.03 +1.67 +1.36 +1.12 +0.97 +0.9 +0.88 +0.89 +0.93 +0.98 +1.04 +1.1 +1.16 +1.21 +1.27 +1.32 +1.35 +1.35 +1.32 +1.26 +1.21 +1.2 +1.23 +1.27 +1.29 +1.26 +1.18 +1.1 +1.03 +1.01 +1.02 +1.06 +1.13 +1.25 +1.43 +1.68 +1.98 +2.26 +2.46 +2.53 +2.46 +2.29 +2.1 +1.94 +1.87 +1.88 +1.98 +2.12 +2.27 +2.38 +2.44 +2.45 +2.45 +2.47 +2.52 +2.6 +2.67 +2.7 +2.66 +2.58 +2.48 +2.39 +2.33 +2.33 +2.36 +2.43 +2.53 +2.63 +2.71 +2.71 +2.59 +2.35 +2.03 +1.67 +1.36 +1.12 +0.97 +0.9 +0.88 +0.89 +0.93 +0.98 +1.04 +1.1 +1.16 +1.21 +1.27 +1.32 +1.35 +1.18 +1.22 +1.19 +1.11 +1.01 +0.95 +0.94 +0.99 +1.04 +1.06 +1.04 +0.99 +0.94 +0.91 +0.9 +0.92 +0.96 +1.04 +1.19 +1.42 +1.7 +2.0 +2.23 +2.34 +2.31 +2.17 +1.98 +1.81 +1.71 +1.7 +1.78 +1.92 +2.09 +2.24 +2.35 +2.43 +2.48 +2.53 +2.6 +2.66 +2.71 +2.69 +2.62 +2.49 +2.35 +2.23 +2.17 +2.17 +2.22 +2.3 +2.4 +2.47 +2.49 +2.41 +2.22 +1.93 +1.59 +1.26 +0.99 +0.82 +0.73 +0.71 +0.73 +0.76 +0.81 +0.86 +0.9 +0.92 +0.94 +0.97 +1.03 +1.11 +1.18 +1.22 +1.19 +1.11 +1.01 +0.95 +0.94 +0.99 +1.04 +1.06 +1.04 +0.99 +0.94 +0.91 +0.9 +0.92 +0.96 +1.04 +1.19 +1.42 +1.7 +2.0 +2.23 +2.34 +2.31 +2.17 +1.98 +1.81 +1.71 +1.7 +1.78 +1.92 +2.09 +2.24 +2.35 +2.43 +2.48 +2.53 +2.6 +2.66 +2.71 +2.69 +2.62 +2.49 +2.35 +2.23 +2.17 +2.17 +2.22 +2.3 +2.4 +2.47 +2.49 +2.41 +2.22 +1.93 +1.59 +1.26 +0.99 +0.82 +0.73 +0.71 +0.73 +0.76 +0.81 +0.86 +0.9 +0.92 +0.94 +0.97 +1.03 +1.11 +1.18 +0.89 +0.97 +0.95 +0.85 +0.7 +0.57 +0.53 +0.56 +0.64 +0.7 +0.72 +0.7 +0.66 +0.64 +0.65 +0.68 +0.72 +0.8 +0.93 +1.14 +1.42 +1.71 +1.95 +2.08 +2.08 +1.97 +1.8 +1.63 +1.51 +1.47 +1.53 +1.67 +1.85 +2.04 +2.22 +2.36 +2.47 +2.57 +2.65 +2.71 +2.73 +2.67 +2.55 +2.37 +2.19 +2.05 +1.97 +1.96 +2.01 +2.09 +2.16 +2.2 +2.16 +2.02 +1.77 +1.46 +1.12 +0.82 +0.61 +0.48 +0.43 +0.42 +0.44 +0.47 +0.52 +0.56 +0.58 +0.57 +0.56 +0.57 +0.64 +0.76 +0.89 +0.97 +0.95 +0.85 +0.7 +0.57 +0.53 +0.56 +0.64 +0.7 +0.72 +0.7 +0.66 +0.64 +0.65 +0.68 +0.72 +0.8 +0.93 +1.14 +1.42 +1.71 +1.95 +2.08 +2.08 +1.97 +1.8 +1.63 +1.51 +1.47 +1.53 +1.67 +1.85 +2.04 +2.22 +2.36 +2.47 +2.57 +2.65 +2.71 +2.73 +2.67 +2.55 +2.37 +2.19 +2.05 +1.97 +1.96 +2.01 +2.09 +2.16 +2.2 +2.16 +2.02 +1.77 +1.46 +1.12 +0.82 +0.61 +0.48 +0.43 +0.42 +0.44 +0.47 +0.52 +0.56 +0.58 +0.57 +0.56 +0.57 +0.64 +0.76 +0.89 +0.52 +0.64 +0.64 +0.53 +0.34 +0.17 +0.09 +0.12 +0.2 +0.29 +0.34 +0.34 +0.32 +0.32 +0.35 +0.4 +0.48 +0.57 +0.7 +0.89 +1.13 +1.4 +1.63 +1.77 +1.81 +1.74 +1.62 +1.49 +1.39 +1.37 +1.42 +1.56 +1.76 +2.0 +2.24 +2.46 +2.65 +2.8 +2.91 +2.97 +2.96 +2.88 +2.72 +2.5 +2.28 +2.08 +1.96 +1.9 +1.9 +1.93 +1.94 +1.91 +1.8 +1.59 +1.31 +0.99 +0.68 +0.43 +0.26 +0.17 +0.12 +0.1 +0.1 +0.12 +0.16 +0.19 +0.2 +0.18 +0.14 +0.14 +0.21 +0.36 +0.52 +0.64 +0.64 +0.53 +0.34 +0.17 +0.09 +0.12 +0.2 +0.29 +0.34 +0.34 +0.32 +0.32 +0.35 +0.4 +0.48 +0.57 +0.7 +0.89 +1.13 +1.4 +1.63 +1.77 +1.81 +1.74 +1.62 +1.49 +1.39 +1.37 +1.42 +1.56 +1.76 +2.0 +2.24 +2.46 +2.65 +2.8 +2.91 +2.97 +2.96 +2.88 +2.72 +2.5 +2.28 +2.08 +1.96 +1.9 +1.9 +1.93 +1.94 +1.91 +1.8 +1.59 +1.31 +0.99 +0.68 +0.43 +0.26 +0.17 +0.12 +0.1 +0.1 +0.12 +0.16 +0.19 +0.2 +0.18 +0.14 +0.14 +0.21 +0.36 +0.52 +0.18 +0.32 +0.33 +0.22 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.05 +0.05 +0.05 +0.1 +0.18 +0.27 +0.38 +0.5 +0.66 +0.85 +1.07 +1.27 +1.42 +1.5 +1.51 +1.47 +1.43 +1.41 +1.45 +1.54 +1.69 +1.91 +2.18 +2.47 +2.76 +3.01 +3.22 +3.37 +3.45 +3.44 +3.34 +3.16 +2.93 +2.67 +2.42 +2.22 +2.08 +1.97 +1.89 +1.8 +1.66 +1.46 +1.19 +0.88 +0.57 +0.31 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.32 +0.33 +0.22 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.05 +0.05 +0.05 +0.1 +0.18 +0.27 +0.38 +0.5 +0.66 +0.85 +1.07 +1.27 +1.42 +1.5 +1.51 +1.47 +1.43 +1.41 +1.45 +1.54 +1.69 +1.91 +2.18 +2.47 +2.76 +3.01 +3.22 +3.37 +3.45 +3.44 +3.34 +3.16 +2.93 +2.67 +2.42 +2.22 +2.08 +1.97 +1.89 +1.8 +1.66 +1.46 +1.19 +0.88 +0.57 +0.31 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.0 +0.06 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.13 +0.23 +0.33 +0.44 +0.59 +0.75 +0.92 +1.06 +1.17 +1.26 +1.33 +1.41 +1.51 +1.62 +1.77 +1.94 +2.16 +2.43 +2.74 +3.06 +3.36 +3.62 +3.8 +3.9 +3.9 +3.82 +3.66 +3.44 +3.17 +2.89 +2.62 +2.37 +2.14 +1.93 +1.71 +1.46 +1.17 +0.85 +0.53 +0.25 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.13 +0.23 +0.33 +0.44 +0.59 +0.75 +0.92 +1.06 +1.17 +1.26 +1.33 +1.41 +1.51 +1.62 +1.77 +1.94 +2.16 +2.43 +2.74 +3.06 +3.36 +3.62 +3.8 +3.9 +3.9 +3.82 +3.66 +3.44 +3.17 +2.89 +2.62 +2.37 +2.14 +1.93 +1.71 +1.46 +1.17 +0.85 +0.53 +0.25 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.12 +0.19 +0.27 +0.37 +0.49 +0.63 +0.76 +0.89 +1.02 +1.18 +1.36 +1.55 +1.74 +1.92 +2.09 +2.28 +2.51 +2.78 +3.09 +3.39 +3.66 +3.86 +3.98 +4.01 +3.96 +3.85 +3.68 +3.45 +3.17 +2.86 +2.54 +2.22 +1.91 +1.61 +1.29 +0.96 +0.62 +0.3 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.12 +0.19 +0.27 +0.37 +0.49 +0.63 +0.76 +0.89 +1.02 +1.18 +1.36 +1.55 +1.74 +1.92 +2.09 +2.28 +2.51 +2.78 +3.09 +3.39 +3.66 +3.86 +3.98 +4.01 +3.96 +3.85 +3.68 +3.45 +3.17 +2.86 +2.54 +2.22 +1.91 +1.61 +1.29 +0.96 +0.62 +0.3 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.1 +0.17 +0.26 +0.37 +0.49 +0.6 +0.7 +0.84 +1.01 +1.22 +1.46 +1.68 +1.86 +1.98 +2.09 +2.23 +2.43 +2.68 +2.95 +3.2 +3.39 +3.5 +3.55 +3.54 +3.49 +3.4 +3.24 +3.02 +2.73 +2.41 +2.07 +1.75 +1.44 +1.14 +0.82 +0.51 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.1 +0.17 +0.26 +0.37 +0.49 +0.6 +0.7 +0.84 +1.01 +1.22 +1.46 +1.68 +1.86 +1.98 +2.09 +2.23 +2.43 +2.68 +2.95 +3.2 +3.39 +3.5 +3.55 +3.54 +3.49 +3.4 +3.24 +3.02 +2.73 +2.41 +2.07 +1.75 +1.44 +1.14 +0.82 +0.51 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.28 +0.33 +0.31 +0.23 +0.13 +0.06 +0.04 +0.06 +0.09 +0.11 +0.1 +0.07 +0.04 +0.01 +0.0 +0.0 +0.02 +0.07 +0.17 +0.3 +0.44 +0.55 +0.62 +0.67 +0.74 +0.86 +1.04 +1.26 +1.45 +1.57 +1.61 +1.62 +1.65 +1.75 +1.93 +2.15 +2.36 +2.51 +2.59 +2.61 +2.62 +2.62 +2.62 +2.56 +2.43 +2.23 +1.96 +1.69 +1.44 +1.21 +1.01 +0.79 +0.55 +0.29 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.14 +0.26 +0.32 +0.29 +0.21 +0.11 +0.05 +0.08 +0.17 +0.28 +0.33 +0.31 +0.23 +0.13 +0.06 +0.04 +0.06 +0.09 +0.11 +0.1 +0.07 +0.04 +0.01 +0.0 +0.0 +0.02 +0.07 +0.17 +0.3 +0.44 +0.55 +0.62 +0.67 +0.74 +0.86 +1.04 +1.26 +1.45 +1.57 +1.61 +1.62 +1.65 +1.75 +1.93 +2.15 +2.36 +2.51 +2.59 +2.61 +2.62 +2.62 +2.62 +2.56 +2.43 +2.23 +1.96 +1.69 +1.44 +1.21 +1.01 +0.79 +0.55 +0.29 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.14 +0.26 +0.32 +0.29 +0.21 +0.11 +0.05 +0.08 +0.17 +0.45 +0.54 +0.61 +0.63 +0.58 +0.49 +0.39 +0.31 +0.26 +0.23 +0.23 +0.24 +0.23 +0.21 +0.16 +0.09 +0.03 +0.02 +0.1 +0.25 +0.45 +0.65 +0.77 +0.8 +0.76 +0.73 +0.76 +0.86 +1.01 +1.14 +1.18 +1.13 +1.03 +0.97 +1.0 +1.13 +1.32 +1.48 +1.57 +1.58 +1.55 +1.53 +1.56 +1.62 +1.66 +1.64 +1.53 +1.36 +1.18 +1.04 +0.96 +0.9 +0.82 +0.68 +0.47 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.04 +0.13 +0.23 +0.34 +0.43 +0.49 +0.5 +0.45 +0.39 +0.36 +0.37 +0.45 +0.54 +0.61 +0.63 +0.58 +0.49 +0.39 +0.31 +0.26 +0.23 +0.23 +0.24 +0.23 +0.21 +0.16 +0.09 +0.03 +0.02 +0.1 +0.25 +0.45 +0.65 +0.77 +0.8 +0.76 +0.73 +0.76 +0.86 +1.01 +1.14 +1.18 +1.13 +1.03 +0.97 +1.0 +1.13 +1.32 +1.48 +1.57 +1.58 +1.55 +1.53 +1.56 +1.62 +1.66 +1.64 +1.53 +1.36 +1.18 +1.04 +0.96 +0.9 +0.82 +0.68 +0.47 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.04 +0.13 +0.23 +0.34 +0.43 +0.49 +0.5 +0.45 +0.39 +0.36 +0.37 +0.45 +0.62 +0.69 +0.78 +0.84 +0.84 +0.77 +0.65 +0.52 +0.4 +0.34 +0.35 +0.4 +0.44 +0.44 +0.37 +0.24 +0.11 +0.06 +0.14 +0.35 +0.63 +0.88 +1.01 +0.99 +0.87 +0.74 +0.68 +0.72 +0.81 +0.87 +0.84 +0.7 +0.54 +0.43 +0.44 +0.58 +0.77 +0.91 +0.94 +0.86 +0.73 +0.65 +0.67 +0.76 +0.87 +0.93 +0.89 +0.79 +0.69 +0.66 +0.71 +0.8 +0.86 +0.81 +0.65 +0.41 +0.18 +0.03 +0.0 +0.05 +0.17 +0.29 +0.38 +0.45 +0.5 +0.54 +0.59 +0.61 +0.61 +0.59 +0.57 +0.57 +0.62 +0.69 +0.78 +0.84 +0.84 +0.77 +0.65 +0.52 +0.4 +0.34 +0.35 +0.4 +0.44 +0.44 +0.37 +0.24 +0.11 +0.06 +0.14 +0.35 +0.63 +0.88 +1.01 +0.99 +0.87 +0.74 +0.68 +0.72 +0.81 +0.87 +0.84 +0.7 +0.54 +0.43 +0.44 +0.58 +0.77 +0.91 +0.94 +0.86 +0.73 +0.65 +0.67 +0.76 +0.87 +0.93 +0.89 +0.79 +0.69 +0.66 +0.71 +0.8 +0.86 +0.81 +0.65 +0.41 +0.18 +0.03 +0.0 +0.05 +0.17 +0.29 +0.38 +0.45 +0.5 +0.54 +0.59 +0.61 +0.61 +0.59 +0.57 +0.57 +0.62 +0.58 +0.62 +0.72 +0.83 +0.9 +0.88 +0.77 +0.61 +0.46 +0.39 +0.44 +0.57 +0.69 +0.72 +0.62 +0.42 +0.19 +0.08 +0.14 +0.39 +0.72 +1.0 +1.12 +1.06 +0.87 +0.68 +0.58 +0.6 +0.67 +0.69 +0.61 +0.43 +0.23 +0.12 +0.18 +0.38 +0.62 +0.77 +0.75 +0.58 +0.35 +0.19 +0.16 +0.26 +0.4 +0.49 +0.48 +0.39 +0.31 +0.32 +0.44 +0.64 +0.8 +0.84 +0.72 +0.49 +0.24 +0.09 +0.09 +0.21 +0.4 +0.55 +0.63 +0.63 +0.59 +0.56 +0.56 +0.6 +0.64 +0.65 +0.62 +0.59 +0.58 +0.62 +0.72 +0.83 +0.9 +0.88 +0.77 +0.61 +0.46 +0.39 +0.44 +0.57 +0.69 +0.72 +0.62 +0.42 +0.19 +0.08 +0.14 +0.39 +0.72 +1.0 +1.12 +1.06 +0.87 +0.68 +0.58 +0.6 +0.67 +0.69 +0.61 +0.43 +0.23 +0.12 +0.18 +0.38 +0.62 +0.77 +0.75 +0.58 +0.35 +0.19 +0.16 +0.26 +0.4 +0.49 +0.48 +0.39 +0.31 +0.32 +0.44 +0.64 +0.8 +0.84 +0.72 +0.49 +0.24 +0.09 +0.09 +0.21 +0.4 +0.55 +0.63 +0.63 +0.59 +0.56 +0.56 +0.6 +0.64 +0.65 +0.62 +0.59 +0.58 +0.34 +0.33 +0.43 +0.59 +0.74 +0.79 +0.72 +0.56 +0.41 +0.37 +0.49 +0.71 +0.92 +1.0 +0.87 +0.58 +0.26 +0.06 +0.08 +0.32 +0.66 +0.93 +1.02 +0.92 +0.69 +0.49 +0.41 +0.46 +0.56 +0.59 +0.49 +0.28 +0.07 +0.01 +0.14 +0.44 +0.76 +0.95 +0.9 +0.65 +0.33 +0.08 +0.0 +0.09 +0.24 +0.33 +0.3 +0.17 +0.04 +0.03 +0.16 +0.4 +0.62 +0.72 +0.64 +0.43 +0.2 +0.09 +0.15 +0.36 +0.62 +0.8 +0.85 +0.76 +0.6 +0.48 +0.44 +0.47 +0.54 +0.57 +0.52 +0.42 +0.34 +0.33 +0.43 +0.59 +0.74 +0.79 +0.72 +0.56 +0.41 +0.37 +0.49 +0.71 +0.92 +1.0 +0.87 +0.58 +0.26 +0.06 +0.08 +0.32 +0.66 +0.93 +1.02 +0.92 +0.69 +0.49 +0.41 +0.46 +0.56 +0.59 +0.49 +0.28 +0.07 +0.01 +0.14 +0.44 +0.76 +0.95 +0.9 +0.65 +0.33 +0.08 +0.0 +0.09 +0.24 +0.33 +0.3 +0.17 +0.04 +0.03 +0.16 +0.4 +0.62 +0.72 +0.64 +0.43 +0.2 +0.09 +0.15 +0.36 +0.62 +0.8 +0.85 +0.76 +0.6 +0.48 +0.44 +0.47 +0.54 +0.57 +0.52 +0.42 +0.34 +0.02 +0.0 +0.04 +0.24 +0.46 +0.57 +0.54 +0.4 +0.27 +0.28 +0.47 +0.79 +1.09 +1.21 +1.07 +0.71 +0.3 +0.01 +0.0 +0.17 +0.48 +0.71 +0.76 +0.61 +0.38 +0.2 +0.19 +0.31 +0.47 +0.53 +0.42 +0.19 +0.0 +0.0 +0.17 +0.56 +0.96 +1.19 +1.14 +0.84 +0.45 +0.14 +0.03 +0.1 +0.25 +0.33 +0.26 +0.07 +0.0 +0.0 +0.0 +0.13 +0.37 +0.5 +0.46 +0.29 +0.11 +0.06 +0.2 +0.49 +0.8 +0.99 +0.98 +0.79 +0.52 +0.31 +0.24 +0.29 +0.39 +0.43 +0.35 +0.19 +0.02 +0.0 +0.04 +0.24 +0.46 +0.57 +0.54 +0.4 +0.27 +0.28 +0.47 +0.79 +1.09 +1.21 +1.07 +0.71 +0.3 +0.01 +0.0 +0.17 +0.48 +0.71 +0.76 +0.61 +0.38 +0.2 +0.19 +0.31 +0.47 +0.53 +0.42 +0.19 +0.0 +0.0 +0.17 +0.56 +0.96 +1.19 +1.14 +0.84 +0.45 +0.14 +0.03 +0.1 +0.25 +0.33 +0.26 +0.07 +0.0 +0.0 +0.0 +0.13 +0.37 +0.5 +0.46 +0.29 +0.11 +0.06 +0.2 +0.49 +0.8 +0.99 +0.98 +0.79 +0.52 +0.31 +0.24 +0.29 +0.39 +0.43 +0.35 +0.19 +0.02 +0.0 +0.0 +0.0 +0.0 +0.2 +0.36 +0.34 +0.21 +0.1 +0.14 +0.4 +0.8 +1.17 +1.32 +1.17 +0.78 +0.31 +0.0 +0.0 +0.04 +0.3 +0.48 +0.47 +0.29 +0.07 +0.0 +0.0 +0.2 +0.41 +0.49 +0.38 +0.13 +0.0 +0.0 +0.16 +0.6 +1.05 +1.3 +1.26 +0.95 +0.54 +0.21 +0.09 +0.16 +0.3 +0.37 +0.27 +0.05 +0.0 +0.0 +0.0 +0.0 +0.19 +0.33 +0.31 +0.18 +0.05 +0.06 +0.27 +0.6 +0.93 +1.1 +1.02 +0.74 +0.39 +0.12 +0.04 +0.12 +0.27 +0.34 +0.26 +0.04 +0.0 +0.0 +0.0 +0.0 +0.2 +0.36 +0.34 +0.21 +0.1 +0.14 +0.4 +0.8 +1.17 +1.32 +1.17 +0.78 +0.31 +0.0 +0.0 +0.04 +0.3 +0.48 +0.47 +0.29 +0.07 +0.0 +0.0 +0.2 +0.41 +0.49 +0.38 +0.13 +0.0 +0.0 +0.16 +0.6 +1.05 +1.3 +1.26 +0.95 +0.54 +0.21 +0.09 +0.16 +0.3 +0.37 +0.27 +0.05 +0.0 +0.0 +0.0 +0.0 +0.19 +0.33 +0.31 +0.18 +0.05 +0.06 +0.27 +0.6 +0.93 +1.1 +1.02 +0.74 +0.39 +0.12 +0.04 +0.12 +0.27 +0.34 +0.26 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.26 +0.23 +0.09 +0.0 +0.02 +0.31 +0.74 +1.15 +1.33 +1.19 +0.8 +0.32 +0.0 +0.0 +0.0 +0.2 +0.33 +0.28 +0.09 +0.0 +0.0 +0.0 +0.19 +0.43 +0.52 +0.39 +0.12 +0.0 +0.0 +0.11 +0.55 +0.99 +1.25 +1.22 +0.93 +0.55 +0.25 +0.14 +0.21 +0.35 +0.41 +0.32 +0.1 +0.0 +0.0 +0.0 +0.0 +0.19 +0.32 +0.31 +0.19 +0.1 +0.14 +0.37 +0.71 +1.02 +1.15 +1.0 +0.65 +0.25 +0.0 +0.0 +0.06 +0.27 +0.4 +0.33 +0.1 +0.0 +0.0 +0.0 +0.0 +0.11 +0.26 +0.23 +0.09 +0.0 +0.02 +0.31 +0.74 +1.15 +1.33 +1.19 +0.8 +0.32 +0.0 +0.0 +0.0 +0.2 +0.33 +0.28 +0.09 +0.0 +0.0 +0.0 +0.19 +0.43 +0.52 +0.39 +0.12 +0.0 +0.0 +0.11 +0.55 +0.99 +1.25 +1.22 +0.93 +0.55 +0.25 +0.14 +0.21 +0.35 +0.41 +0.32 +0.1 +0.0 +0.0 +0.0 +0.0 +0.19 +0.32 +0.31 +0.19 +0.1 +0.14 +0.37 +0.71 +1.02 +1.15 +1.0 +0.65 +0.25 +0.0 +0.0 +0.06 +0.27 +0.4 +0.33 +0.1 +0.0 +0.08 +0.0 +0.0 +0.03 +0.22 +0.31 +0.25 +0.07 +0.0 +0.0 +0.23 +0.66 +1.06 +1.24 +1.13 +0.77 +0.33 +0.01 +0.0 +0.03 +0.21 +0.3 +0.24 +0.06 +0.0 +0.0 +0.0 +0.28 +0.52 +0.6 +0.46 +0.19 +0.0 +0.0 +0.1 +0.48 +0.87 +1.1 +1.09 +0.86 +0.55 +0.3 +0.22 +0.3 +0.42 +0.48 +0.4 +0.22 +0.03 +0.0 +0.0 +0.18 +0.38 +0.49 +0.45 +0.33 +0.23 +0.27 +0.48 +0.8 +1.06 +1.13 +0.95 +0.58 +0.17 +0.0 +0.0 +0.12 +0.41 +0.6 +0.57 +0.36 +0.08 +0.0 +0.0 +0.03 +0.22 +0.31 +0.25 +0.07 +0.0 +0.0 +0.23 +0.66 +1.06 +1.24 +1.13 +0.77 +0.33 +0.01 +0.0 +0.03 +0.21 +0.3 +0.24 +0.06 +0.0 +0.0 +0.0 +0.28 +0.52 +0.6 +0.46 +0.19 +0.0 +0.0 +0.1 +0.48 +0.87 +1.1 +1.09 +0.86 +0.55 +0.3 +0.22 +0.3 +0.42 +0.48 +0.4 +0.22 +0.03 +0.0 +0.0 +0.18 +0.38 +0.49 +0.45 +0.33 +0.23 +0.27 +0.48 +0.8 +1.06 +1.13 +0.95 +0.58 +0.17 +0.0 +0.0 +0.12 +0.41 +0.6 +0.57 +0.36 +0.08 +0.44 +0.25 +0.21 +0.3 +0.43 +0.47 +0.36 +0.15 +0.0 +0.0 +0.2 +0.57 +0.93 +1.09 +1.0 +0.68 +0.31 +0.05 +0.0 +0.09 +0.25 +0.33 +0.26 +0.1 +0.0 +0.0 +0.13 +0.39 +0.62 +0.68 +0.55 +0.31 +0.08 +0.01 +0.14 +0.43 +0.75 +0.94 +0.94 +0.78 +0.56 +0.4 +0.35 +0.41 +0.51 +0.55 +0.48 +0.35 +0.23 +0.21 +0.3 +0.48 +0.64 +0.7 +0.63 +0.48 +0.36 +0.38 +0.55 +0.81 +1.03 +1.07 +0.88 +0.53 +0.17 +0.0 +0.02 +0.28 +0.61 +0.84 +0.87 +0.69 +0.44 +0.25 +0.21 +0.3 +0.43 +0.47 +0.36 +0.15 +0.0 +0.0 +0.2 +0.57 +0.93 +1.09 +1.0 +0.68 +0.31 +0.05 +0.0 +0.09 +0.25 +0.33 +0.26 +0.1 +0.0 +0.0 +0.13 +0.39 +0.62 +0.68 +0.55 +0.31 +0.08 +0.01 +0.14 +0.43 +0.75 +0.94 +0.94 +0.78 +0.56 +0.4 +0.35 +0.41 +0.51 +0.55 +0.48 +0.35 +0.23 +0.21 +0.3 +0.48 +0.64 +0.7 +0.63 +0.48 +0.36 +0.38 +0.55 +0.81 +1.03 +1.07 +0.88 +0.53 +0.17 +0.0 +0.02 +0.28 +0.61 +0.84 +0.87 +0.69 +0.44 +0.71 +0.53 +0.48 +0.54 +0.62 +0.62 +0.49 +0.27 +0.08 +0.04 +0.2 +0.49 +0.77 +0.9 +0.81 +0.55 +0.24 +0.04 +0.01 +0.12 +0.26 +0.33 +0.27 +0.14 +0.04 +0.06 +0.21 +0.45 +0.65 +0.71 +0.6 +0.4 +0.2 +0.13 +0.21 +0.41 +0.63 +0.77 +0.79 +0.69 +0.56 +0.47 +0.46 +0.5 +0.55 +0.55 +0.48 +0.39 +0.33 +0.36 +0.48 +0.65 +0.77 +0.79 +0.68 +0.51 +0.37 +0.36 +0.5 +0.72 +0.91 +0.96 +0.81 +0.52 +0.23 +0.08 +0.16 +0.42 +0.75 +0.99 +1.05 +0.92 +0.71 +0.53 +0.48 +0.54 +0.62 +0.62 +0.49 +0.27 +0.08 +0.04 +0.2 +0.49 +0.77 +0.9 +0.81 +0.55 +0.24 +0.04 +0.01 +0.12 +0.26 +0.33 +0.27 +0.14 +0.04 +0.06 +0.21 +0.45 +0.65 +0.71 +0.6 +0.4 +0.2 +0.13 +0.21 +0.41 +0.63 +0.77 +0.79 +0.69 +0.56 +0.47 +0.46 +0.5 +0.55 +0.55 +0.48 +0.39 +0.33 +0.36 +0.48 +0.65 +0.77 +0.79 +0.68 +0.51 +0.37 +0.36 +0.5 +0.72 +0.91 +0.96 +0.81 +0.52 +0.23 +0.08 +0.16 +0.42 +0.75 +0.99 +1.05 +0.92 +0.71 +0.76 +0.62 +0.57 +0.62 +0.69 +0.69 +0.58 +0.38 +0.2 +0.14 +0.23 +0.44 +0.64 +0.72 +0.63 +0.41 +0.17 +0.03 +0.03 +0.14 +0.27 +0.33 +0.29 +0.18 +0.11 +0.13 +0.26 +0.46 +0.62 +0.67 +0.59 +0.43 +0.28 +0.21 +0.25 +0.37 +0.5 +0.58 +0.59 +0.54 +0.47 +0.44 +0.44 +0.46 +0.46 +0.41 +0.33 +0.24 +0.22 +0.28 +0.42 +0.58 +0.68 +0.66 +0.53 +0.36 +0.22 +0.21 +0.34 +0.55 +0.74 +0.81 +0.72 +0.51 +0.29 +0.18 +0.25 +0.47 +0.75 +0.96 +1.02 +0.93 +0.76 +0.62 +0.57 +0.62 +0.69 +0.69 +0.58 +0.38 +0.2 +0.14 +0.23 +0.44 +0.64 +0.72 +0.63 +0.41 +0.17 +0.03 +0.03 +0.14 +0.27 +0.33 +0.29 +0.18 +0.11 +0.13 +0.26 +0.46 +0.62 +0.67 +0.59 +0.43 +0.28 +0.21 +0.25 +0.37 +0.5 +0.58 +0.59 +0.54 +0.47 +0.44 +0.44 +0.46 +0.46 +0.41 +0.33 +0.24 +0.22 +0.28 +0.42 +0.58 +0.68 +0.66 +0.53 +0.36 +0.22 +0.21 +0.34 +0.55 +0.74 +0.81 +0.72 +0.51 +0.29 +0.18 +0.25 +0.47 +0.75 +0.96 +1.02 +0.93 +0.76 +0.62 +0.52 +0.51 +0.58 +0.67 +0.7 +0.63 +0.49 +0.33 +0.26 +0.31 +0.44 +0.57 +0.62 +0.54 +0.37 +0.2 +0.13 +0.18 +0.32 +0.46 +0.52 +0.49 +0.39 +0.31 +0.31 +0.4 +0.54 +0.65 +0.67 +0.59 +0.46 +0.34 +0.28 +0.29 +0.35 +0.41 +0.42 +0.38 +0.32 +0.28 +0.28 +0.3 +0.31 +0.28 +0.19 +0.07 +0.0 +0.0 +0.04 +0.19 +0.35 +0.44 +0.41 +0.28 +0.12 +0.01 +0.02 +0.16 +0.37 +0.57 +0.67 +0.63 +0.48 +0.32 +0.23 +0.26 +0.42 +0.62 +0.77 +0.82 +0.75 +0.62 +0.52 +0.51 +0.58 +0.67 +0.7 +0.63 +0.49 +0.33 +0.26 +0.31 +0.44 +0.57 +0.62 +0.54 +0.37 +0.2 +0.13 +0.18 +0.32 +0.46 +0.52 +0.49 +0.39 +0.31 +0.31 +0.4 +0.54 +0.65 +0.67 +0.59 +0.46 +0.34 +0.28 +0.29 +0.35 +0.41 +0.42 +0.38 +0.32 +0.28 +0.28 +0.3 +0.31 +0.28 +0.19 +0.07 +0.0 +0.0 +0.04 +0.19 +0.35 +0.44 +0.41 +0.28 +0.12 +0.01 +0.02 +0.16 +0.37 +0.57 +0.67 +0.63 +0.48 +0.32 +0.23 +0.26 +0.42 +0.62 +0.77 +0.82 +0.75 +0.62 +0.45 +0.4 +0.43 +0.53 +0.65 +0.73 +0.71 +0.62 +0.5 +0.43 +0.45 +0.55 +0.65 +0.7 +0.65 +0.55 +0.47 +0.48 +0.62 +0.83 +1.02 +1.12 +1.09 +0.98 +0.86 +0.81 +0.83 +0.89 +0.92 +0.89 +0.77 +0.62 +0.5 +0.44 +0.44 +0.47 +0.47 +0.4 +0.3 +0.19 +0.12 +0.12 +0.15 +0.17 +0.14 +0.03 +0.0 +0.0 +0.0 +0.0 +0.02 +0.18 +0.27 +0.23 +0.11 +0.0 +0.0 +0.0 +0.07 +0.29 +0.48 +0.58 +0.56 +0.45 +0.31 +0.22 +0.23 +0.31 +0.44 +0.54 +0.57 +0.53 +0.45 +0.4 +0.43 +0.53 +0.65 +0.73 +0.71 +0.62 +0.5 +0.43 +0.45 +0.55 +0.65 +0.7 +0.65 +0.55 +0.47 +0.48 +0.62 +0.83 +1.02 +1.12 +1.09 +0.98 +0.86 +0.81 +0.83 +0.89 +0.92 +0.89 +0.77 +0.62 +0.5 +0.44 +0.44 +0.47 +0.47 +0.4 +0.3 +0.19 +0.12 +0.12 +0.15 +0.17 +0.14 +0.03 +0.0 +0.0 +0.0 +0.0 +0.02 +0.18 +0.27 +0.23 +0.11 +0.0 +0.0 +0.0 +0.07 +0.29 +0.48 +0.58 +0.56 +0.45 +0.31 +0.22 +0.23 +0.31 +0.44 +0.54 +0.57 +0.53 +0.45 +0.39 +0.39 +0.46 +0.6 +0.75 +0.87 +0.89 +0.82 +0.72 +0.66 +0.68 +0.79 +0.91 +0.99 +1.0 +0.98 +1.0 +1.14 +1.42 +1.76 +2.05 +2.21 +2.19 +2.04 +1.85 +1.7 +1.62 +1.59 +1.53 +1.4 +1.22 +1.02 +0.87 +0.81 +0.82 +0.84 +0.81 +0.68 +0.49 +0.3 +0.17 +0.15 +0.2 +0.25 +0.24 +0.15 +0.0 +0.0 +0.0 +0.0 +0.15 +0.32 +0.4 +0.34 +0.19 +0.03 +0.0 +0.0 +0.15 +0.35 +0.51 +0.58 +0.54 +0.42 +0.29 +0.21 +0.19 +0.25 +0.34 +0.41 +0.44 +0.43 +0.39 +0.39 +0.46 +0.6 +0.75 +0.87 +0.89 +0.82 +0.72 +0.66 +0.68 +0.79 +0.91 +0.99 +1.0 +0.98 +1.0 +1.14 +1.42 +1.76 +2.05 +2.21 +2.19 +2.04 +1.85 +1.7 +1.62 +1.59 +1.53 +1.4 +1.22 +1.02 +0.87 +0.81 +0.82 +0.84 +0.81 +0.68 +0.49 +0.3 +0.17 +0.15 +0.2 +0.25 +0.24 +0.15 +0.0 +0.0 +0.0 +0.0 +0.15 +0.32 +0.4 +0.34 +0.19 +0.03 +0.0 +0.0 +0.15 +0.35 +0.51 +0.58 +0.54 +0.42 +0.29 +0.21 +0.19 +0.25 +0.34 +0.41 +0.44 +0.43 +0.39 +0.51 +0.55 +0.66 +0.83 +1.0 +1.12 +1.14 +1.07 +0.97 +0.92 +0.97 +1.12 +1.31 +1.45 +1.52 +1.57 +1.69 +1.97 +2.41 +2.92 +3.37 +3.61 +3.6 +3.39 +3.1 +2.83 +2.64 +2.5 +2.34 +2.12 +1.85 +1.58 +1.4 +1.35 +1.4 +1.45 +1.42 +1.25 +0.98 +0.69 +0.5 +0.46 +0.53 +0.64 +0.67 +0.6 +0.46 +0.35 +0.34 +0.47 +0.68 +0.85 +0.89 +0.76 +0.53 +0.31 +0.19 +0.22 +0.36 +0.53 +0.63 +0.63 +0.53 +0.38 +0.26 +0.19 +0.21 +0.28 +0.37 +0.45 +0.49 +0.5 +0.51 +0.55 +0.66 +0.83 +1.0 +1.12 +1.14 +1.07 +0.97 +0.92 +0.97 +1.12 +1.31 +1.45 +1.52 +1.57 +1.69 +1.97 +2.41 +2.92 +3.37 +3.61 +3.6 +3.39 +3.1 +2.83 +2.64 +2.5 +2.34 +2.12 +1.85 +1.58 +1.4 +1.35 +1.4 +1.45 +1.42 +1.25 +0.98 +0.69 +0.5 +0.46 +0.53 +0.64 +0.67 +0.6 +0.46 +0.35 +0.34 +0.47 +0.68 +0.85 +0.89 +0.76 +0.53 +0.31 +0.19 +0.22 +0.36 +0.53 +0.63 +0.63 +0.53 +0.38 +0.26 +0.19 +0.21 +0.28 +0.37 +0.45 +0.49 +0.5 +0.51 +0.69 +0.77 +0.92 +1.1 +1.28 +1.39 +1.38 +1.28 +1.16 +1.13 +1.23 +1.44 +1.69 +1.89 +2.0 +2.08 +2.27 +2.66 +3.26 +3.96 +4.57 +4.91 +4.91 +4.62 +4.21 +3.81 +3.51 +3.28 +3.04 +2.74 +2.39 +2.07 +1.87 +1.85 +1.96 +2.08 +2.09 +1.9 +1.57 +1.22 +0.98 +0.93 +1.04 +1.2 +1.29 +1.26 +1.14 +1.04 +1.07 +1.23 +1.46 +1.61 +1.57 +1.32 +0.95 +0.61 +0.42 +0.43 +0.56 +0.69 +0.74 +0.65 +0.48 +0.3 +0.19 +0.18 +0.25 +0.37 +0.49 +0.58 +0.63 +0.66 +0.69 +0.77 +0.92 +1.1 +1.28 +1.39 +1.38 +1.28 +1.16 +1.13 +1.23 +1.44 +1.69 +1.89 +2.0 +2.08 +2.27 +2.66 +3.26 +3.96 +4.57 +4.91 +4.91 +4.62 +4.21 +3.81 +3.51 +3.28 +3.04 +2.74 +2.39 +2.07 +1.87 +1.85 +1.96 +2.08 +2.09 +1.9 +1.57 +1.22 +0.98 +0.93 +1.04 +1.2 +1.29 +1.26 +1.14 +1.04 +1.07 +1.23 +1.46 +1.61 +1.57 +1.32 +0.95 +0.61 +0.42 +0.43 +0.56 +0.69 +0.74 +0.65 +0.48 +0.3 +0.19 +0.18 +0.25 +0.37 +0.49 +0.58 +0.63 +0.66 +0.69 +0.77 +0.87 +1.05 +1.26 +1.44 +1.53 +1.48 +1.34 +1.2 +1.17 +1.31 +1.59 +1.89 +2.1 +2.2 +2.25 +2.44 +2.89 +3.62 +4.48 +5.23 +5.66 +5.65 +5.29 +4.77 +4.26 +3.87 +3.58 +3.3 +2.95 +2.55 +2.2 +2.0 +2.03 +2.22 +2.43 +2.49 +2.33 +1.97 +1.58 +1.32 +1.28 +1.44 +1.66 +1.8 +1.81 +1.72 +1.65 +1.73 +1.94 +2.19 +2.3 +2.15 +1.73 +1.18 +0.71 +0.45 +0.44 +0.58 +0.72 +0.73 +0.58 +0.35 +0.15 +0.07 +0.12 +0.27 +0.45 +0.6 +0.69 +0.72 +0.73 +0.77 +0.87 +1.05 +1.26 +1.44 +1.53 +1.48 +1.34 +1.2 +1.17 +1.31 +1.59 +1.89 +2.1 +2.2 +2.25 +2.44 +2.89 +3.62 +4.48 +5.23 +5.66 +5.65 +5.29 +4.77 +4.26 +3.87 +3.58 +3.3 +2.95 +2.55 +2.2 +2.0 +2.03 +2.22 +2.43 +2.49 +2.33 +1.97 +1.58 +1.32 +1.28 +1.44 +1.66 +1.8 +1.81 +1.72 +1.65 +1.73 +1.94 +2.19 +2.3 +2.15 +1.73 +1.18 +0.71 +0.45 +0.44 +0.58 +0.72 +0.73 +0.58 +0.35 +0.15 +0.07 +0.12 +0.27 +0.45 +0.6 +0.69 +0.72 +0.73 +0.77 +0.63 +0.74 +0.94 +1.18 +1.37 +1.44 +1.35 +1.16 +1.0 +0.98 +1.16 +1.47 +1.79 +1.97 +1.98 +1.94 +2.06 +2.51 +3.31 +4.28 +5.14 +5.63 +5.61 +5.19 +4.58 +4.0 +3.57 +3.26 +2.98 +2.62 +2.21 +1.85 +1.67 +1.75 +2.02 +2.32 +2.44 +2.3 +1.94 +1.54 +1.29 +1.28 +1.49 +1.77 +1.95 +1.99 +1.93 +1.92 +2.07 +2.35 +2.63 +2.7 +2.42 +1.83 +1.11 +0.5 +0.2 +0.21 +0.4 +0.57 +0.58 +0.41 +0.15 +0.0 +0.0 +0.01 +0.24 +0.46 +0.61 +0.66 +0.64 +0.61 +0.63 +0.74 +0.94 +1.18 +1.37 +1.44 +1.35 +1.16 +1.0 +0.98 +1.16 +1.47 +1.79 +1.97 +1.98 +1.94 +2.06 +2.51 +3.31 +4.28 +5.14 +5.63 +5.61 +5.19 +4.58 +4.0 +3.57 +3.26 +2.98 +2.62 +2.21 +1.85 +1.67 +1.75 +2.02 +2.32 +2.44 +2.3 +1.94 +1.54 +1.29 +1.28 +1.49 +1.77 +1.95 +1.99 +1.93 +1.92 +2.07 +2.35 +2.63 +2.7 +2.42 +1.83 +1.11 +0.5 +0.2 +0.21 +0.4 +0.57 +0.58 +0.41 +0.15 +0.0 +0.0 +0.01 +0.24 +0.46 +0.61 +0.66 +0.64 +0.61 +0.63 +0.3 +0.41 +0.63 +0.9 +1.1 +1.15 +1.02 +0.8 +0.61 +0.59 +0.79 +1.12 +1.41 +1.51 +1.41 +1.24 +1.26 +1.66 +2.48 +3.51 +4.43 +4.94 +4.92 +4.46 +3.81 +3.21 +2.8 +2.53 +2.27 +1.93 +1.52 +1.17 +1.02 +1.14 +1.48 +1.83 +1.99 +1.86 +1.51 +1.12 +0.89 +0.92 +1.18 +1.5 +1.72 +1.79 +1.78 +1.84 +2.08 +2.46 +2.78 +2.82 +2.43 +1.69 +0.82 +0.12 +0.0 +0.0 +0.12 +0.36 +0.39 +0.21 +0.0 +0.0 +0.0 +0.0 +0.17 +0.4 +0.52 +0.5 +0.4 +0.31 +0.3 +0.41 +0.63 +0.9 +1.1 +1.15 +1.02 +0.8 +0.61 +0.59 +0.79 +1.12 +1.41 +1.51 +1.41 +1.24 +1.26 +1.66 +2.48 +3.51 +4.43 +4.94 +4.92 +4.46 +3.81 +3.21 +2.8 +2.53 +2.27 +1.93 +1.52 +1.17 +1.02 +1.14 +1.48 +1.83 +1.99 +1.86 +1.51 +1.12 +0.89 +0.92 +1.18 +1.5 +1.72 +1.79 +1.78 +1.84 +2.08 +2.46 +2.78 +2.82 +2.43 +1.69 +0.82 +0.12 +0.0 +0.0 +0.12 +0.36 +0.39 +0.21 +0.0 +0.0 +0.0 +0.0 +0.17 +0.4 +0.52 +0.5 +0.4 +0.31 +0.3 +0.0 +0.06 +0.29 +0.56 +0.75 +0.78 +0.63 +0.37 +0.17 +0.15 +0.34 +0.66 +0.9 +0.92 +0.71 +0.43 +0.35 +0.71 +1.51 +2.55 +3.5 +4.01 +3.99 +3.53 +2.89 +2.34 +1.98 +1.77 +1.57 +1.26 +0.86 +0.52 +0.4 +0.56 +0.93 +1.3 +1.47 +1.34 +0.98 +0.59 +0.39 +0.46 +0.76 +1.11 +1.36 +1.46 +1.52 +1.68 +2.03 +2.51 +2.88 +2.91 +2.44 +1.59 +0.62 +0.0 +0.0 +0.0 +0.0 +0.27 +0.32 +0.14 +0.0 +0.0 +0.0 +0.0 +0.16 +0.38 +0.44 +0.35 +0.17 +0.01 +0.0 +0.06 +0.29 +0.56 +0.75 +0.78 +0.63 +0.37 +0.17 +0.15 +0.34 +0.66 +0.9 +0.92 +0.71 +0.43 +0.35 +0.71 +1.51 +2.55 +3.5 +4.01 +3.99 +3.53 +2.89 +2.34 +1.98 +1.77 +1.57 +1.26 +0.86 +0.52 +0.4 +0.56 +0.93 +1.3 +1.47 +1.34 +0.98 +0.59 +0.39 +0.46 +0.76 +1.11 +1.36 +1.46 +1.52 +1.68 +2.03 +2.51 +2.88 +2.91 +2.44 +1.59 +0.62 +0.0 +0.0 +0.0 +0.0 +0.27 +0.32 +0.14 +0.0 +0.0 +0.0 +0.0 +0.16 +0.38 +0.44 +0.35 +0.17 +0.01 +0.0 +0.0 +0.0 +0.11 +0.35 +0.51 +0.5 +0.31 +0.03 +0.0 +0.0 +0.0 +0.29 +0.49 +0.46 +0.18 +0.0 +0.0 +0.04 +0.82 +1.84 +2.76 +3.27 +3.24 +2.82 +2.25 +1.78 +1.51 +1.38 +1.23 +0.95 +0.58 +0.26 +0.15 +0.34 +0.72 +1.09 +1.24 +1.09 +0.72 +0.34 +0.15 +0.26 +0.58 +0.95 +1.23 +1.38 +1.51 +1.78 +2.25 +2.82 +3.24 +3.27 +2.76 +1.84 +0.82 +0.04 +0.0 +0.0 +0.18 +0.46 +0.49 +0.29 +0.0 +0.0 +0.0 +0.03 +0.31 +0.5 +0.51 +0.35 +0.11 +0.0 +0.0 +0.0 +0.11 +0.35 +0.51 +0.5 +0.31 +0.03 +0.0 +0.0 +0.0 +0.29 +0.49 +0.46 +0.18 +0.0 +0.0 +0.04 +0.82 +1.84 +2.76 +3.27 +3.24 +2.82 +2.25 +1.78 +1.51 +1.38 +1.23 +0.95 +0.58 +0.26 +0.15 +0.34 +0.72 +1.09 +1.24 +1.09 +0.72 +0.34 +0.15 +0.26 +0.58 +0.95 +1.23 +1.38 +1.51 +1.78 +2.25 +2.82 +3.24 +3.27 +2.76 +1.84 +0.82 +0.04 +0.0 +0.0 +0.18 +0.46 +0.49 +0.29 +0.0 +0.0 +0.0 +0.03 +0.31 +0.5 +0.51 +0.35 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.28 +0.37 +0.39 +0.38 +0.4 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +2.0 +2.18 +2.27 +2.22 +2.07 +1.85 +1.61 +1.38 +1.15 +0.93 +0.73 +0.56 +0.45 +0.4 +0.39 +0.35 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.35 +0.39 +0.4 +0.45 +0.56 +0.73 +0.93 +1.15 +1.38 +1.62 +1.86 +2.08 +2.23 +2.27 +2.19 +2.01 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.4 +0.37 +0.38 +0.37 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.28 +0.37 +0.39 +0.38 +0.4 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +2.0 +2.18 +2.27 +2.22 +2.07 +1.85 +1.61 +1.38 +1.15 +0.93 +0.73 +0.56 +0.45 +0.4 +0.39 +0.35 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.35 +0.39 +0.4 +0.45 +0.56 +0.73 +0.93 +1.15 +1.38 +1.62 +1.86 +2.08 +2.23 +2.27 +2.19 +2.01 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.4 +0.37 +0.38 +0.37 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.31 +0.44 +0.49 +0.45 +0.38 +0.35 +0.39 +0.5 +0.67 +0.88 +1.12 +1.39 +1.68 +1.97 +2.2 +2.34 +2.35 +2.23 +2.02 +1.77 +1.51 +1.25 +1.02 +0.81 +0.65 +0.55 +0.5 +0.49 +0.45 +0.35 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.35 +0.44 +0.48 +0.49 +0.54 +0.65 +0.82 +1.03 +1.27 +1.52 +1.78 +2.04 +2.25 +2.38 +2.37 +2.23 +1.99 +1.69 +1.4 +1.13 +0.89 +0.68 +0.5 +0.38 +0.34 +0.36 +0.43 +0.47 +0.43 +0.31 +0.12 +0.0 +0.0 +0.0 +0.12 +0.31 +0.44 +0.49 +0.45 +0.38 +0.35 +0.39 +0.5 +0.67 +0.88 +1.12 +1.39 +1.68 +1.97 +2.2 +2.34 +2.35 +2.23 +2.02 +1.77 +1.51 +1.25 +1.02 +0.81 +0.65 +0.55 +0.5 +0.49 +0.45 +0.35 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.35 +0.44 +0.48 +0.49 +0.54 +0.65 +0.82 +1.03 +1.27 +1.52 +1.78 +2.04 +2.25 +2.38 +2.37 +2.23 +1.99 +1.69 +1.4 +1.13 +0.89 +0.68 +0.5 +0.38 +0.34 +0.36 +0.43 +0.47 +0.43 +0.31 +0.12 +0.0 +0.37 +0.32 +0.37 +0.48 +0.62 +0.7 +0.69 +0.6 +0.48 +0.38 +0.36 +0.42 +0.55 +0.75 +0.99 +1.27 +1.59 +1.92 +2.22 +2.43 +2.5 +2.44 +2.25 +2.0 +1.72 +1.46 +1.22 +1.03 +0.89 +0.81 +0.78 +0.78 +0.75 +0.66 +0.52 +0.34 +0.2 +0.15 +0.21 +0.36 +0.53 +0.67 +0.74 +0.77 +0.78 +0.82 +0.91 +1.06 +1.26 +1.49 +1.76 +2.04 +2.3 +2.49 +2.56 +2.49 +2.27 +1.96 +1.61 +1.28 +0.99 +0.75 +0.55 +0.41 +0.34 +0.35 +0.44 +0.56 +0.66 +0.68 +0.61 +0.49 +0.37 +0.32 +0.37 +0.48 +0.62 +0.7 +0.69 +0.6 +0.48 +0.38 +0.36 +0.42 +0.55 +0.75 +0.99 +1.27 +1.59 +1.92 +2.22 +2.43 +2.5 +2.44 +2.25 +2.0 +1.72 +1.46 +1.22 +1.03 +0.89 +0.81 +0.78 +0.78 +0.75 +0.66 +0.52 +0.34 +0.2 +0.15 +0.21 +0.36 +0.53 +0.67 +0.74 +0.77 +0.78 +0.82 +0.91 +1.06 +1.26 +1.49 +1.76 +2.04 +2.3 +2.49 +2.56 +2.49 +2.27 +1.96 +1.61 +1.28 +0.99 +0.75 +0.55 +0.41 +0.34 +0.35 +0.44 +0.56 +0.66 +0.68 +0.61 +0.49 +0.37 +0.8 +0.76 +0.79 +0.86 +0.95 +0.99 +0.96 +0.85 +0.7 +0.56 +0.48 +0.49 +0.57 +0.73 +0.95 +1.21 +1.53 +1.87 +2.21 +2.47 +2.62 +2.62 +2.49 +2.26 +2.0 +1.74 +1.52 +1.37 +1.28 +1.24 +1.25 +1.28 +1.27 +1.21 +1.1 +0.97 +0.87 +0.84 +0.89 +1.01 +1.15 +1.24 +1.28 +1.28 +1.27 +1.28 +1.34 +1.45 +1.61 +1.82 +2.07 +2.34 +2.57 +2.71 +2.71 +2.56 +2.27 +1.92 +1.55 +1.21 +0.94 +0.72 +0.57 +0.47 +0.45 +0.51 +0.64 +0.79 +0.91 +0.97 +0.96 +0.88 +0.8 +0.76 +0.79 +0.86 +0.95 +0.99 +0.96 +0.85 +0.7 +0.56 +0.48 +0.49 +0.57 +0.73 +0.95 +1.21 +1.53 +1.87 +2.21 +2.47 +2.62 +2.62 +2.49 +2.26 +2.0 +1.74 +1.52 +1.37 +1.28 +1.24 +1.25 +1.28 +1.27 +1.21 +1.1 +0.97 +0.87 +0.84 +0.89 +1.01 +1.15 +1.24 +1.28 +1.28 +1.27 +1.28 +1.34 +1.45 +1.61 +1.82 +2.07 +2.34 +2.57 +2.71 +2.71 +2.56 +2.27 +1.92 +1.55 +1.21 +0.94 +0.72 +0.57 +0.47 +0.45 +0.51 +0.64 +0.79 +0.91 +0.97 +0.96 +0.88 +0.8 +1.15 +1.12 +1.13 +1.17 +1.23 +1.25 +1.22 +1.12 +0.98 +0.84 +0.74 +0.7 +0.74 +0.84 +1.0 +1.21 +1.48 +1.79 +2.13 +2.43 +2.64 +2.72 +2.66 +2.48 +2.25 +2.03 +1.85 +1.74 +1.7 +1.73 +1.78 +1.85 +1.88 +1.86 +1.79 +1.7 +1.64 +1.63 +1.68 +1.77 +1.87 +1.92 +1.92 +1.89 +1.85 +1.82 +1.83 +1.89 +2.0 +2.17 +2.38 +2.59 +2.76 +2.83 +2.75 +2.52 +2.2 +1.83 +1.48 +1.19 +0.97 +0.81 +0.72 +0.67 +0.7 +0.78 +0.91 +1.05 +1.17 +1.24 +1.24 +1.2 +1.15 +1.12 +1.13 +1.17 +1.23 +1.25 +1.22 +1.12 +0.98 +0.84 +0.74 +0.7 +0.74 +0.84 +1.0 +1.21 +1.48 +1.79 +2.13 +2.43 +2.64 +2.72 +2.66 +2.48 +2.25 +2.03 +1.85 +1.74 +1.7 +1.73 +1.78 +1.85 +1.88 +1.86 +1.79 +1.7 +1.64 +1.63 +1.68 +1.77 +1.87 +1.92 +1.92 +1.89 +1.85 +1.82 +1.83 +1.89 +2.0 +2.17 +2.38 +2.59 +2.76 +2.83 +2.75 +2.52 +2.2 +1.83 +1.48 +1.19 +0.97 +0.81 +0.72 +0.67 +0.7 +0.78 +0.91 +1.05 +1.17 +1.24 +1.24 +1.2 +1.15 +1.36 +1.34 +1.32 +1.33 +1.35 +1.37 +1.37 +1.31 +1.22 +1.1 +1.0 +0.94 +0.94 +0.98 +1.07 +1.2 +1.39 +1.65 +1.96 +2.27 +2.54 +2.69 +2.7 +2.59 +2.41 +2.22 +2.07 +1.99 +1.99 +2.06 +2.16 +2.26 +2.34 +2.36 +2.34 +2.29 +2.26 +2.27 +2.32 +2.39 +2.44 +2.45 +2.42 +2.34 +2.26 +2.2 +2.18 +2.2 +2.28 +2.41 +2.57 +2.73 +2.82 +2.79 +2.63 +2.35 +2.0 +1.66 +1.37 +1.15 +1.01 +0.93 +0.9 +0.9 +0.95 +1.04 +1.14 +1.24 +1.32 +1.37 +1.39 +1.38 +1.36 +1.34 +1.32 +1.33 +1.35 +1.37 +1.37 +1.31 +1.22 +1.1 +1.0 +0.94 +0.94 +0.98 +1.07 +1.2 +1.39 +1.65 +1.96 +2.27 +2.54 +2.69 +2.7 +2.59 +2.41 +2.22 +2.07 +1.99 +1.99 +2.06 +2.16 +2.26 +2.34 +2.36 +2.34 +2.29 +2.26 +2.27 +2.32 +2.39 +2.44 +2.45 +2.42 +2.34 +2.26 +2.2 +2.18 +2.2 +2.28 +2.41 +2.57 +2.73 +2.82 +2.79 +2.63 +2.35 +2.0 +1.66 +1.37 +1.15 +1.01 +0.93 +0.9 +0.9 +0.95 +1.04 +1.14 +1.24 +1.32 +1.37 +1.39 +1.38 +1.36 +1.39 +1.37 +1.34 +1.31 +1.29 +1.29 +1.31 +1.3 +1.27 +1.2 +1.12 +1.06 +1.03 +1.03 +1.06 +1.12 +1.24 +1.43 +1.7 +2.02 +2.31 +2.52 +2.61 +2.56 +2.41 +2.24 +2.1 +2.02 +2.03 +2.11 +2.23 +2.37 +2.48 +2.55 +2.58 +2.58 +2.58 +2.6 +2.64 +2.69 +2.7 +2.67 +2.59 +2.48 +2.37 +2.29 +2.25 +2.27 +2.35 +2.46 +2.59 +2.68 +2.7 +2.59 +2.36 +2.04 +1.69 +1.39 +1.17 +1.04 +0.97 +0.96 +0.97 +1.0 +1.06 +1.13 +1.19 +1.24 +1.28 +1.31 +1.35 +1.38 +1.39 +1.37 +1.34 +1.31 +1.29 +1.29 +1.31 +1.3 +1.27 +1.2 +1.12 +1.06 +1.03 +1.03 +1.06 +1.12 +1.24 +1.43 +1.7 +2.02 +2.31 +2.52 +2.61 +2.56 +2.41 +2.24 +2.1 +2.02 +2.03 +2.11 +2.23 +2.37 +2.48 +2.55 +2.58 +2.58 +2.58 +2.6 +2.64 +2.69 +2.7 +2.67 +2.59 +2.48 +2.37 +2.29 +2.25 +2.27 +2.35 +2.46 +2.59 +2.68 +2.7 +2.59 +2.36 +2.04 +1.69 +1.39 +1.17 +1.04 +0.97 +0.96 +0.97 +1.0 +1.06 +1.13 +1.19 +1.24 +1.28 +1.31 +1.35 +1.38 +1.39 +1.24 +1.24 +1.19 +1.1 +1.03 +1.01 +1.02 +1.06 +1.07 +1.05 +1.0 +0.95 +0.92 +0.9 +0.9 +0.93 +1.01 +1.15 +1.39 +1.69 +2.01 +2.26 +2.39 +2.39 +2.28 +2.11 +1.96 +1.86 +1.85 +1.91 +2.04 +2.2 +2.35 +2.48 +2.56 +2.61 +2.64 +2.68 +2.71 +2.73 +2.7 +2.61 +2.48 +2.33 +2.2 +2.11 +2.09 +2.12 +2.21 +2.32 +2.43 +2.48 +2.42 +2.25 +1.97 +1.63 +1.31 +1.05 +0.89 +0.81 +0.8 +0.81 +0.85 +0.89 +0.94 +0.98 +1.0 +1.01 +1.02 +1.05 +1.11 +1.19 +1.24 +1.24 +1.19 +1.1 +1.03 +1.01 +1.02 +1.06 +1.07 +1.05 +1.0 +0.95 +0.92 +0.9 +0.9 +0.93 +1.01 +1.15 +1.39 +1.69 +2.01 +2.26 +2.39 +2.39 +2.28 +2.11 +1.96 +1.86 +1.85 +1.91 +2.04 +2.2 +2.35 +2.48 +2.56 +2.61 +2.64 +2.68 +2.71 +2.73 +2.7 +2.61 +2.48 +2.33 +2.2 +2.11 +2.09 +2.12 +2.21 +2.32 +2.43 +2.48 +2.42 +2.25 +1.97 +1.63 +1.31 +1.05 +0.89 +0.81 +0.8 +0.81 +0.85 +0.89 +0.94 +0.98 +1.0 +1.01 +1.02 +1.05 +1.11 +1.19 +1.24 +0.97 +0.98 +0.9 +0.77 +0.64 +0.58 +0.59 +0.64 +0.69 +0.71 +0.69 +0.66 +0.64 +0.63 +0.64 +0.67 +0.73 +0.86 +1.07 +1.35 +1.66 +1.93 +2.09 +2.13 +2.05 +1.91 +1.76 +1.65 +1.61 +1.66 +1.79 +1.97 +2.17 +2.36 +2.51 +2.62 +2.69 +2.74 +2.77 +2.75 +2.67 +2.53 +2.34 +2.15 +1.99 +1.89 +1.86 +1.9 +1.99 +2.09 +2.16 +2.16 +2.05 +1.83 +1.53 +1.2 +0.9 +0.69 +0.57 +0.52 +0.51 +0.52 +0.55 +0.59 +0.62 +0.64 +0.63 +0.6 +0.59 +0.64 +0.74 +0.87 +0.97 +0.98 +0.9 +0.77 +0.64 +0.58 +0.59 +0.64 +0.69 +0.71 +0.69 +0.66 +0.64 +0.63 +0.64 +0.67 +0.73 +0.86 +1.07 +1.35 +1.66 +1.93 +2.09 +2.13 +2.05 +1.91 +1.76 +1.65 +1.61 +1.66 +1.79 +1.97 +2.17 +2.36 +2.51 +2.62 +2.69 +2.74 +2.77 +2.75 +2.67 +2.53 +2.34 +2.15 +1.99 +1.89 +1.86 +1.9 +1.99 +2.09 +2.16 +2.16 +2.05 +1.83 +1.53 +1.2 +0.9 +0.69 +0.57 +0.52 +0.51 +0.52 +0.55 +0.59 +0.62 +0.64 +0.63 +0.6 +0.59 +0.64 +0.74 +0.87 +0.97 +0.62 +0.65 +0.56 +0.39 +0.22 +0.12 +0.12 +0.19 +0.26 +0.31 +0.32 +0.3 +0.29 +0.31 +0.34 +0.39 +0.47 +0.59 +0.77 +1.02 +1.3 +1.56 +1.74 +1.82 +1.79 +1.7 +1.6 +1.52 +1.51 +1.57 +1.72 +1.93 +2.17 +2.41 +2.63 +2.81 +2.93 +3.01 +3.02 +2.97 +2.85 +2.66 +2.43 +2.19 +1.99 +1.85 +1.78 +1.78 +1.82 +1.87 +1.87 +1.81 +1.65 +1.39 +1.09 +0.79 +0.54 +0.36 +0.27 +0.22 +0.19 +0.19 +0.2 +0.22 +0.25 +0.25 +0.21 +0.16 +0.14 +0.18 +0.31 +0.48 +0.62 +0.65 +0.56 +0.39 +0.22 +0.12 +0.12 +0.19 +0.26 +0.31 +0.32 +0.3 +0.29 +0.31 +0.34 +0.39 +0.47 +0.59 +0.77 +1.02 +1.3 +1.56 +1.74 +1.82 +1.79 +1.7 +1.6 +1.52 +1.51 +1.57 +1.72 +1.93 +2.17 +2.41 +2.63 +2.81 +2.93 +3.01 +3.02 +2.97 +2.85 +2.66 +2.43 +2.19 +1.99 +1.85 +1.78 +1.78 +1.82 +1.87 +1.87 +1.81 +1.65 +1.39 +1.09 +0.79 +0.54 +0.36 +0.27 +0.22 +0.19 +0.19 +0.2 +0.22 +0.25 +0.25 +0.21 +0.16 +0.14 +0.18 +0.31 +0.48 +0.62 +0.27 +0.32 +0.22 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.04 +0.09 +0.17 +0.26 +0.36 +0.51 +0.71 +0.95 +1.18 +1.37 +1.49 +1.54 +1.54 +1.54 +1.55 +1.6 +1.72 +1.9 +2.13 +2.4 +2.69 +2.97 +3.2 +3.37 +3.47 +3.48 +3.42 +3.27 +3.05 +2.79 +2.52 +2.27 +2.07 +1.92 +1.83 +1.77 +1.71 +1.62 +1.46 +1.24 +0.97 +0.68 +0.43 +0.23 +0.11 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.27 +0.32 +0.22 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.04 +0.09 +0.17 +0.26 +0.36 +0.51 +0.71 +0.95 +1.18 +1.37 +1.49 +1.54 +1.54 +1.54 +1.55 +1.6 +1.72 +1.9 +2.13 +2.4 +2.69 +2.97 +3.2 +3.37 +3.47 +3.48 +3.42 +3.27 +3.05 +2.79 +2.52 +2.27 +2.07 +1.92 +1.83 +1.77 +1.71 +1.62 +1.46 +1.24 +0.97 +0.68 +0.43 +0.23 +0.11 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.27 +0.02 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.1 +0.19 +0.3 +0.44 +0.62 +0.82 +1.01 +1.17 +1.3 +1.41 +1.52 +1.65 +1.8 +1.98 +2.19 +2.43 +2.71 +3.01 +3.3 +3.56 +3.76 +3.88 +3.91 +3.84 +3.69 +3.48 +3.22 +2.95 +2.67 +2.41 +2.17 +1.97 +1.78 +1.59 +1.39 +1.16 +0.89 +0.61 +0.35 +0.15 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.1 +0.19 +0.3 +0.44 +0.62 +0.82 +1.01 +1.17 +1.3 +1.41 +1.52 +1.65 +1.8 +1.98 +2.19 +2.43 +2.71 +3.01 +3.3 +3.56 +3.76 +3.88 +3.91 +3.84 +3.69 +3.48 +3.22 +2.95 +2.67 +2.41 +2.17 +1.97 +1.78 +1.59 +1.39 +1.16 +0.89 +0.61 +0.35 +0.15 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.13 +0.24 +0.38 +0.54 +0.72 +0.9 +1.07 +1.26 +1.47 +1.69 +1.92 +2.15 +2.36 +2.58 +2.81 +3.06 +3.33 +3.59 +3.79 +3.92 +3.96 +3.9 +3.78 +3.61 +3.4 +3.17 +2.9 +2.62 +2.32 +2.03 +1.74 +1.47 +1.2 +0.92 +0.63 +0.36 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.13 +0.24 +0.38 +0.54 +0.72 +0.9 +1.07 +1.26 +1.47 +1.69 +1.92 +2.15 +2.36 +2.58 +2.81 +3.06 +3.33 +3.59 +3.79 +3.92 +3.96 +3.9 +3.78 +3.61 +3.4 +3.17 +2.9 +2.62 +2.32 +2.03 +1.74 +1.47 +1.2 +0.92 +0.63 +0.36 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.11 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.15 +0.28 +0.43 +0.58 +0.74 +0.9 +1.1 +1.33 +1.59 +1.84 +2.06 +2.23 +2.37 +2.52 +2.69 +2.9 +3.11 +3.3 +3.42 +3.46 +3.42 +3.34 +3.23 +3.1 +2.95 +2.75 +2.5 +2.2 +1.89 +1.58 +1.3 +1.04 +0.78 +0.52 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.08 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.11 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.15 +0.28 +0.43 +0.58 +0.74 +0.9 +1.1 +1.33 +1.59 +1.84 +2.06 +2.23 +2.37 +2.52 +2.69 +2.9 +3.11 +3.3 +3.42 +3.46 +3.42 +3.34 +3.23 +3.1 +2.95 +2.75 +2.5 +2.2 +1.89 +1.58 +1.3 +1.04 +0.78 +0.52 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.08 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.34 +0.38 +0.35 +0.27 +0.17 +0.1 +0.1 +0.13 +0.16 +0.17 +0.13 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.2 +0.36 +0.52 +0.64 +0.73 +0.82 +0.95 +1.13 +1.35 +1.56 +1.72 +1.81 +1.84 +1.87 +1.95 +2.09 +2.26 +2.42 +2.52 +2.54 +2.5 +2.44 +2.39 +2.36 +2.31 +2.22 +2.04 +1.81 +1.55 +1.31 +1.11 +0.93 +0.76 +0.57 +0.36 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.13 +0.24 +0.3 +0.29 +0.22 +0.15 +0.11 +0.15 +0.24 +0.34 +0.38 +0.35 +0.27 +0.17 +0.1 +0.1 +0.13 +0.16 +0.17 +0.13 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.2 +0.36 +0.52 +0.64 +0.73 +0.82 +0.95 +1.13 +1.35 +1.56 +1.72 +1.81 +1.84 +1.87 +1.95 +2.09 +2.26 +2.42 +2.52 +2.54 +2.5 +2.44 +2.39 +2.36 +2.31 +2.22 +2.04 +1.81 +1.55 +1.31 +1.11 +0.93 +0.76 +0.57 +0.36 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.13 +0.24 +0.3 +0.29 +0.22 +0.15 +0.11 +0.15 +0.24 +0.34 +0.64 +0.69 +0.69 +0.63 +0.55 +0.47 +0.41 +0.37 +0.34 +0.32 +0.29 +0.25 +0.2 +0.13 +0.05 +0.0 +0.0 +0.01 +0.15 +0.36 +0.58 +0.75 +0.83 +0.83 +0.81 +0.83 +0.92 +1.06 +1.2 +1.27 +1.26 +1.18 +1.11 +1.12 +1.21 +1.37 +1.51 +1.58 +1.56 +1.49 +1.42 +1.4 +1.44 +1.5 +1.51 +1.44 +1.29 +1.13 +0.99 +0.91 +0.88 +0.84 +0.74 +0.57 +0.35 +0.12 +0.0 +0.0 +0.0 +0.0 +0.04 +0.13 +0.23 +0.33 +0.42 +0.48 +0.5 +0.49 +0.46 +0.46 +0.49 +0.57 +0.64 +0.69 +0.69 +0.63 +0.55 +0.47 +0.41 +0.37 +0.34 +0.32 +0.29 +0.25 +0.2 +0.13 +0.05 +0.0 +0.0 +0.01 +0.15 +0.36 +0.58 +0.75 +0.83 +0.83 +0.81 +0.83 +0.92 +1.06 +1.2 +1.27 +1.26 +1.18 +1.11 +1.12 +1.21 +1.37 +1.51 +1.58 +1.56 +1.49 +1.42 +1.4 +1.44 +1.5 +1.51 +1.44 +1.29 +1.13 +0.99 +0.91 +0.88 +0.84 +0.74 +0.57 +0.35 +0.12 +0.0 +0.0 +0.0 +0.0 +0.04 +0.13 +0.23 +0.33 +0.42 +0.48 +0.5 +0.49 +0.46 +0.46 +0.49 +0.57 +0.64 +0.81 +0.86 +0.89 +0.88 +0.83 +0.74 +0.64 +0.53 +0.46 +0.44 +0.45 +0.46 +0.44 +0.36 +0.23 +0.08 +0.0 +0.05 +0.24 +0.52 +0.81 +0.99 +1.03 +0.94 +0.81 +0.72 +0.72 +0.8 +0.88 +0.88 +0.78 +0.62 +0.49 +0.47 +0.58 +0.77 +0.92 +0.97 +0.89 +0.75 +0.63 +0.6 +0.67 +0.8 +0.89 +0.9 +0.82 +0.72 +0.67 +0.71 +0.82 +0.91 +0.91 +0.78 +0.54 +0.27 +0.06 +0.0 +0.01 +0.13 +0.27 +0.39 +0.47 +0.51 +0.55 +0.58 +0.62 +0.65 +0.68 +0.7 +0.73 +0.76 +0.81 +0.86 +0.89 +0.88 +0.83 +0.74 +0.64 +0.53 +0.46 +0.44 +0.45 +0.46 +0.44 +0.36 +0.23 +0.08 +0.0 +0.05 +0.24 +0.52 +0.81 +0.99 +1.03 +0.94 +0.81 +0.72 +0.72 +0.8 +0.88 +0.88 +0.78 +0.62 +0.49 +0.47 +0.58 +0.77 +0.92 +0.97 +0.89 +0.75 +0.63 +0.6 +0.67 +0.8 +0.89 +0.9 +0.82 +0.72 +0.67 +0.71 +0.82 +0.91 +0.91 +0.78 +0.54 +0.27 +0.06 +0.0 +0.01 +0.13 +0.27 +0.39 +0.47 +0.51 +0.55 +0.58 +0.62 +0.65 +0.68 +0.7 +0.73 +0.76 +0.81 +0.72 +0.76 +0.83 +0.9 +0.91 +0.84 +0.71 +0.57 +0.49 +0.49 +0.58 +0.68 +0.72 +0.64 +0.44 +0.2 +0.04 +0.05 +0.26 +0.58 +0.9 +1.09 +1.08 +0.91 +0.7 +0.55 +0.53 +0.59 +0.65 +0.62 +0.47 +0.27 +0.13 +0.14 +0.32 +0.58 +0.78 +0.82 +0.68 +0.44 +0.23 +0.14 +0.21 +0.37 +0.51 +0.55 +0.48 +0.39 +0.37 +0.47 +0.67 +0.86 +0.95 +0.86 +0.61 +0.31 +0.09 +0.02 +0.12 +0.33 +0.53 +0.66 +0.69 +0.64 +0.58 +0.56 +0.6 +0.67 +0.73 +0.76 +0.75 +0.72 +0.72 +0.76 +0.83 +0.9 +0.91 +0.84 +0.71 +0.57 +0.49 +0.49 +0.58 +0.68 +0.72 +0.64 +0.44 +0.2 +0.04 +0.05 +0.26 +0.58 +0.9 +1.09 +1.08 +0.91 +0.7 +0.55 +0.53 +0.59 +0.65 +0.62 +0.47 +0.27 +0.13 +0.14 +0.32 +0.58 +0.78 +0.82 +0.68 +0.44 +0.23 +0.14 +0.21 +0.37 +0.51 +0.55 +0.48 +0.39 +0.37 +0.47 +0.67 +0.86 +0.95 +0.86 +0.61 +0.31 +0.09 +0.02 +0.12 +0.33 +0.53 +0.66 +0.69 +0.64 +0.58 +0.56 +0.6 +0.67 +0.73 +0.76 +0.75 +0.72 +0.72 +0.38 +0.41 +0.52 +0.67 +0.76 +0.74 +0.62 +0.48 +0.4 +0.47 +0.65 +0.87 +0.98 +0.91 +0.65 +0.31 +0.05 +0.0 +0.16 +0.49 +0.8 +0.96 +0.9 +0.68 +0.44 +0.29 +0.3 +0.41 +0.49 +0.46 +0.3 +0.09 +0.0 +0.05 +0.33 +0.68 +0.95 +0.99 +0.79 +0.46 +0.15 +0.0 +0.04 +0.19 +0.34 +0.36 +0.27 +0.13 +0.07 +0.16 +0.39 +0.64 +0.79 +0.74 +0.52 +0.23 +0.04 +0.03 +0.22 +0.52 +0.78 +0.9 +0.85 +0.69 +0.52 +0.43 +0.45 +0.54 +0.62 +0.62 +0.55 +0.44 +0.38 +0.41 +0.52 +0.67 +0.76 +0.74 +0.62 +0.48 +0.4 +0.47 +0.65 +0.87 +0.98 +0.91 +0.65 +0.31 +0.05 +0.0 +0.16 +0.49 +0.8 +0.96 +0.9 +0.68 +0.44 +0.29 +0.3 +0.41 +0.49 +0.46 +0.3 +0.09 +0.0 +0.05 +0.33 +0.68 +0.95 +0.99 +0.79 +0.46 +0.15 +0.0 +0.04 +0.19 +0.34 +0.36 +0.27 +0.13 +0.07 +0.16 +0.39 +0.64 +0.79 +0.74 +0.52 +0.23 +0.04 +0.03 +0.22 +0.52 +0.78 +0.9 +0.85 +0.69 +0.52 +0.43 +0.45 +0.54 +0.62 +0.62 +0.55 +0.44 +0.38 +0.0 +0.0 +0.09 +0.32 +0.49 +0.52 +0.42 +0.28 +0.24 +0.37 +0.66 +0.99 +1.19 +1.13 +0.83 +0.4 +0.03 +0.0 +0.0 +0.29 +0.56 +0.66 +0.55 +0.3 +0.06 +0.0 +0.04 +0.22 +0.36 +0.36 +0.19 +0.0 +0.0 +0.04 +0.41 +0.86 +1.18 +1.24 +1.0 +0.59 +0.2 +0.0 +0.0 +0.14 +0.27 +0.27 +0.11 +0.0 +0.0 +0.0 +0.04 +0.31 +0.5 +0.5 +0.31 +0.08 +0.0 +0.02 +0.31 +0.68 +0.99 +1.08 +0.94 +0.66 +0.38 +0.22 +0.22 +0.32 +0.41 +0.4 +0.26 +0.06 +0.0 +0.0 +0.09 +0.32 +0.49 +0.52 +0.42 +0.28 +0.24 +0.37 +0.66 +0.99 +1.19 +1.13 +0.83 +0.4 +0.03 +0.0 +0.0 +0.29 +0.56 +0.66 +0.55 +0.3 +0.06 +0.0 +0.04 +0.22 +0.36 +0.36 +0.19 +0.0 +0.0 +0.04 +0.41 +0.86 +1.18 +1.24 +1.0 +0.59 +0.2 +0.0 +0.0 +0.14 +0.27 +0.27 +0.11 +0.0 +0.0 +0.0 +0.04 +0.31 +0.5 +0.5 +0.31 +0.08 +0.0 +0.02 +0.31 +0.68 +0.99 +1.08 +0.94 +0.66 +0.38 +0.22 +0.22 +0.32 +0.41 +0.4 +0.26 +0.06 +0.0 +0.0 +0.0 +0.0 +0.02 +0.24 +0.3 +0.21 +0.07 +0.05 +0.23 +0.61 +1.03 +1.3 +1.28 +0.96 +0.47 +0.04 +0.0 +0.0 +0.1 +0.31 +0.36 +0.21 +0.0 +0.0 +0.0 +0.0 +0.08 +0.27 +0.28 +0.11 +0.0 +0.0 +0.02 +0.43 +0.93 +1.29 +1.35 +1.1 +0.66 +0.23 +0.0 +0.0 +0.12 +0.24 +0.21 +0.01 +0.0 +0.0 +0.0 +0.0 +0.03 +0.24 +0.28 +0.15 +0.0 +0.0 +0.04 +0.4 +0.83 +1.13 +1.18 +0.96 +0.57 +0.2 +0.0 +0.0 +0.13 +0.25 +0.23 +0.04 +0.0 +0.0 +0.0 +0.0 +0.02 +0.24 +0.3 +0.21 +0.07 +0.05 +0.23 +0.61 +1.03 +1.3 +1.28 +0.96 +0.47 +0.04 +0.0 +0.0 +0.1 +0.31 +0.36 +0.21 +0.0 +0.0 +0.0 +0.0 +0.08 +0.27 +0.28 +0.11 +0.0 +0.0 +0.02 +0.43 +0.93 +1.29 +1.35 +1.1 +0.66 +0.23 +0.0 +0.0 +0.12 +0.24 +0.21 +0.01 +0.0 +0.0 +0.0 +0.0 +0.03 +0.24 +0.28 +0.15 +0.0 +0.0 +0.04 +0.4 +0.83 +1.13 +1.18 +0.96 +0.57 +0.2 +0.0 +0.0 +0.13 +0.25 +0.23 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.2 +0.09 +0.0 +0.0 +0.11 +0.53 +1.01 +1.33 +1.35 +1.04 +0.55 +0.09 +0.0 +0.0 +0.04 +0.2 +0.2 +0.02 +0.0 +0.0 +0.0 +0.0 +0.05 +0.25 +0.27 +0.1 +0.0 +0.0 +0.0 +0.39 +0.88 +1.24 +1.31 +1.06 +0.64 +0.23 +0.0 +0.0 +0.12 +0.23 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.22 +0.12 +0.0 +0.0 +0.14 +0.52 +0.95 +1.23 +1.22 +0.93 +0.47 +0.06 +0.0 +0.0 +0.07 +0.23 +0.23 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.2 +0.09 +0.0 +0.0 +0.11 +0.53 +1.01 +1.33 +1.35 +1.04 +0.55 +0.09 +0.0 +0.0 +0.04 +0.2 +0.2 +0.02 +0.0 +0.0 +0.0 +0.0 +0.05 +0.25 +0.27 +0.1 +0.0 +0.0 +0.0 +0.39 +0.88 +1.24 +1.31 +1.06 +0.64 +0.23 +0.0 +0.0 +0.12 +0.23 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.22 +0.12 +0.0 +0.0 +0.14 +0.52 +0.95 +1.23 +1.22 +0.93 +0.47 +0.06 +0.0 +0.0 +0.07 +0.23 +0.23 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.11 +0.0 +0.0 +0.05 +0.47 +0.95 +1.29 +1.33 +1.05 +0.6 +0.18 +0.0 +0.0 +0.11 +0.23 +0.21 +0.02 +0.0 +0.0 +0.0 +0.0 +0.14 +0.33 +0.34 +0.17 +0.0 +0.0 +0.01 +0.37 +0.8 +1.11 +1.18 +0.97 +0.61 +0.26 +0.07 +0.07 +0.19 +0.3 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.1 +0.3 +0.35 +0.26 +0.12 +0.1 +0.28 +0.64 +1.03 +1.26 +1.21 +0.89 +0.42 +0.01 +0.0 +0.0 +0.15 +0.38 +0.43 +0.27 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.11 +0.0 +0.0 +0.05 +0.47 +0.95 +1.29 +1.33 +1.05 +0.6 +0.18 +0.0 +0.0 +0.11 +0.23 +0.21 +0.02 +0.0 +0.0 +0.0 +0.0 +0.14 +0.33 +0.34 +0.17 +0.0 +0.0 +0.01 +0.37 +0.8 +1.11 +1.18 +0.97 +0.61 +0.26 +0.07 +0.07 +0.19 +0.3 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.1 +0.3 +0.35 +0.26 +0.12 +0.1 +0.28 +0.64 +1.03 +1.26 +1.21 +0.89 +0.42 +0.01 +0.0 +0.0 +0.15 +0.38 +0.43 +0.27 +0.0 +0.0 +0.16 +0.09 +0.19 +0.37 +0.48 +0.43 +0.24 +0.01 +0.0 +0.07 +0.43 +0.87 +1.18 +1.22 +0.99 +0.59 +0.23 +0.04 +0.06 +0.2 +0.31 +0.29 +0.12 +0.0 +0.0 +0.0 +0.01 +0.27 +0.45 +0.46 +0.31 +0.12 +0.02 +0.11 +0.39 +0.73 +0.98 +1.03 +0.88 +0.6 +0.34 +0.21 +0.22 +0.33 +0.4 +0.37 +0.22 +0.03 +0.0 +0.0 +0.11 +0.34 +0.51 +0.53 +0.42 +0.28 +0.24 +0.38 +0.69 +1.03 +1.22 +1.16 +0.85 +0.42 +0.06 +0.0 +0.05 +0.34 +0.61 +0.71 +0.6 +0.37 +0.16 +0.09 +0.19 +0.37 +0.48 +0.43 +0.24 +0.01 +0.0 +0.07 +0.43 +0.87 +1.18 +1.22 +0.99 +0.59 +0.23 +0.04 +0.06 +0.2 +0.31 +0.29 +0.12 +0.0 +0.0 +0.0 +0.01 +0.27 +0.45 +0.46 +0.31 +0.12 +0.02 +0.11 +0.39 +0.73 +0.98 +1.03 +0.88 +0.6 +0.34 +0.21 +0.22 +0.33 +0.4 +0.37 +0.22 +0.03 +0.0 +0.0 +0.11 +0.34 +0.51 +0.53 +0.42 +0.28 +0.24 +0.38 +0.69 +1.03 +1.22 +1.16 +0.85 +0.42 +0.06 +0.0 +0.05 +0.34 +0.61 +0.71 +0.6 +0.37 +0.16 +0.5 +0.43 +0.49 +0.61 +0.67 +0.59 +0.38 +0.15 +0.03 +0.13 +0.42 +0.77 +1.01 +1.03 +0.81 +0.47 +0.17 +0.03 +0.06 +0.2 +0.31 +0.3 +0.17 +0.0 +0.0 +0.0 +0.12 +0.36 +0.52 +0.54 +0.43 +0.28 +0.19 +0.23 +0.42 +0.66 +0.84 +0.88 +0.78 +0.59 +0.42 +0.34 +0.36 +0.43 +0.47 +0.41 +0.28 +0.14 +0.06 +0.12 +0.29 +0.49 +0.61 +0.59 +0.46 +0.3 +0.24 +0.36 +0.62 +0.91 +1.09 +1.06 +0.8 +0.45 +0.16 +0.08 +0.22 +0.51 +0.79 +0.92 +0.86 +0.68 +0.5 +0.43 +0.49 +0.61 +0.67 +0.59 +0.38 +0.15 +0.03 +0.13 +0.42 +0.77 +1.01 +1.03 +0.81 +0.47 +0.17 +0.03 +0.06 +0.2 +0.31 +0.3 +0.17 +0.0 +0.0 +0.0 +0.12 +0.36 +0.52 +0.54 +0.43 +0.28 +0.19 +0.23 +0.42 +0.66 +0.84 +0.88 +0.78 +0.59 +0.42 +0.34 +0.36 +0.43 +0.47 +0.41 +0.28 +0.14 +0.06 +0.12 +0.29 +0.49 +0.61 +0.59 +0.46 +0.3 +0.24 +0.36 +0.62 +0.91 +1.09 +1.06 +0.8 +0.45 +0.16 +0.08 +0.22 +0.51 +0.79 +0.92 +0.86 +0.68 +0.5 +0.63 +0.57 +0.62 +0.7 +0.74 +0.67 +0.48 +0.27 +0.15 +0.2 +0.4 +0.65 +0.81 +0.78 +0.58 +0.28 +0.03 +0.0 +0.0 +0.11 +0.22 +0.23 +0.14 +0.0 +0.0 +0.0 +0.14 +0.34 +0.5 +0.54 +0.47 +0.35 +0.28 +0.3 +0.41 +0.56 +0.67 +0.69 +0.62 +0.5 +0.4 +0.36 +0.38 +0.42 +0.41 +0.33 +0.19 +0.07 +0.03 +0.1 +0.26 +0.42 +0.51 +0.46 +0.31 +0.16 +0.09 +0.19 +0.43 +0.7 +0.89 +0.9 +0.73 +0.47 +0.25 +0.2 +0.33 +0.57 +0.81 +0.94 +0.91 +0.77 +0.63 +0.57 +0.62 +0.7 +0.74 +0.67 +0.48 +0.27 +0.15 +0.2 +0.4 +0.65 +0.81 +0.78 +0.58 +0.28 +0.03 +0.0 +0.0 +0.11 +0.22 +0.23 +0.14 +0.0 +0.0 +0.0 +0.14 +0.34 +0.5 +0.54 +0.47 +0.35 +0.28 +0.3 +0.41 +0.56 +0.67 +0.69 +0.62 +0.5 +0.4 +0.36 +0.38 +0.42 +0.41 +0.33 +0.19 +0.07 +0.03 +0.1 +0.26 +0.42 +0.51 +0.46 +0.31 +0.16 +0.09 +0.19 +0.43 +0.7 +0.89 +0.9 +0.73 +0.47 +0.25 +0.2 +0.33 +0.57 +0.81 +0.94 +0.91 +0.77 +0.63 +0.58 +0.54 +0.58 +0.66 +0.7 +0.66 +0.53 +0.36 +0.26 +0.27 +0.39 +0.55 +0.64 +0.58 +0.39 +0.13 +0.0 +0.0 +0.0 +0.09 +0.21 +0.24 +0.17 +0.06 +0.0 +0.03 +0.17 +0.34 +0.47 +0.51 +0.47 +0.38 +0.32 +0.32 +0.39 +0.48 +0.54 +0.52 +0.45 +0.35 +0.29 +0.27 +0.29 +0.3 +0.26 +0.16 +0.01 +0.0 +0.0 +0.0 +0.09 +0.24 +0.3 +0.24 +0.09 +0.0 +0.0 +0.0 +0.21 +0.48 +0.68 +0.73 +0.63 +0.45 +0.3 +0.25 +0.34 +0.52 +0.7 +0.8 +0.78 +0.68 +0.58 +0.54 +0.58 +0.66 +0.7 +0.66 +0.53 +0.36 +0.26 +0.27 +0.39 +0.55 +0.64 +0.58 +0.39 +0.13 +0.0 +0.0 +0.0 +0.09 +0.21 +0.24 +0.17 +0.06 +0.0 +0.03 +0.17 +0.34 +0.47 +0.51 +0.47 +0.38 +0.32 +0.32 +0.39 +0.48 +0.54 +0.52 +0.45 +0.35 +0.29 +0.27 +0.29 +0.3 +0.26 +0.16 +0.01 +0.0 +0.0 +0.0 +0.09 +0.24 +0.3 +0.24 +0.09 +0.0 +0.0 +0.0 +0.21 +0.48 +0.68 +0.73 +0.63 +0.45 +0.3 +0.25 +0.34 +0.52 +0.7 +0.8 +0.78 +0.68 +0.58 +0.48 +0.47 +0.52 +0.61 +0.67 +0.67 +0.59 +0.47 +0.38 +0.37 +0.45 +0.55 +0.6 +0.54 +0.38 +0.18 +0.04 +0.04 +0.17 +0.37 +0.54 +0.6 +0.54 +0.42 +0.33 +0.33 +0.41 +0.53 +0.63 +0.64 +0.58 +0.49 +0.44 +0.44 +0.5 +0.57 +0.58 +0.53 +0.42 +0.3 +0.22 +0.2 +0.23 +0.24 +0.2 +0.08 +0.0 +0.0 +0.0 +0.0 +0.05 +0.19 +0.23 +0.15 +0.0 +0.0 +0.0 +0.0 +0.1 +0.35 +0.55 +0.61 +0.55 +0.42 +0.3 +0.26 +0.32 +0.44 +0.56 +0.63 +0.62 +0.55 +0.48 +0.47 +0.52 +0.61 +0.67 +0.67 +0.59 +0.47 +0.38 +0.37 +0.45 +0.55 +0.6 +0.54 +0.38 +0.18 +0.04 +0.04 +0.17 +0.37 +0.54 +0.6 +0.54 +0.42 +0.33 +0.33 +0.41 +0.53 +0.63 +0.64 +0.58 +0.49 +0.44 +0.44 +0.5 +0.57 +0.58 +0.53 +0.42 +0.3 +0.22 +0.2 +0.23 +0.24 +0.2 +0.08 +0.0 +0.0 +0.0 +0.0 +0.05 +0.19 +0.23 +0.15 +0.0 +0.0 +0.0 +0.0 +0.1 +0.35 +0.55 +0.61 +0.55 +0.42 +0.3 +0.26 +0.32 +0.44 +0.56 +0.63 +0.62 +0.55 +0.48 +0.52 +0.53 +0.6 +0.7 +0.78 +0.8 +0.74 +0.64 +0.56 +0.54 +0.6 +0.7 +0.77 +0.75 +0.64 +0.52 +0.46 +0.56 +0.8 +1.1 +1.35 +1.46 +1.41 +1.25 +1.1 +1.01 +1.02 +1.07 +1.1 +1.05 +0.94 +0.82 +0.76 +0.78 +0.87 +0.95 +0.95 +0.85 +0.68 +0.49 +0.37 +0.34 +0.38 +0.43 +0.41 +0.31 +0.17 +0.07 +0.07 +0.19 +0.37 +0.52 +0.54 +0.42 +0.21 +0.03 +0.0 +0.02 +0.21 +0.42 +0.57 +0.6 +0.53 +0.41 +0.32 +0.29 +0.34 +0.44 +0.53 +0.59 +0.59 +0.55 +0.52 +0.53 +0.6 +0.7 +0.78 +0.8 +0.74 +0.64 +0.56 +0.54 +0.6 +0.7 +0.77 +0.75 +0.64 +0.52 +0.46 +0.56 +0.8 +1.1 +1.35 +1.46 +1.41 +1.25 +1.1 +1.01 +1.02 +1.07 +1.1 +1.05 +0.94 +0.82 +0.76 +0.78 +0.87 +0.95 +0.95 +0.85 +0.68 +0.49 +0.37 +0.34 +0.38 +0.43 +0.41 +0.31 +0.17 +0.07 +0.07 +0.19 +0.37 +0.52 +0.54 +0.42 +0.21 +0.03 +0.0 +0.02 +0.21 +0.42 +0.57 +0.6 +0.53 +0.41 +0.32 +0.29 +0.34 +0.44 +0.53 +0.59 +0.59 +0.55 +0.52 +0.73 +0.77 +0.85 +0.96 +1.05 +1.07 +1.01 +0.89 +0.79 +0.76 +0.84 +0.98 +1.11 +1.16 +1.13 +1.08 +1.12 +1.33 +1.71 +2.17 +2.55 +2.73 +2.68 +2.47 +2.21 +2.01 +1.92 +1.88 +1.82 +1.7 +1.52 +1.35 +1.28 +1.33 +1.47 +1.6 +1.62 +1.49 +1.24 +0.97 +0.79 +0.74 +0.81 +0.9 +0.94 +0.87 +0.77 +0.7 +0.75 +0.92 +1.14 +1.28 +1.25 +1.04 +0.74 +0.46 +0.32 +0.35 +0.49 +0.65 +0.73 +0.69 +0.57 +0.44 +0.36 +0.36 +0.45 +0.56 +0.66 +0.73 +0.74 +0.73 +0.73 +0.77 +0.85 +0.96 +1.05 +1.07 +1.01 +0.89 +0.79 +0.76 +0.84 +0.98 +1.11 +1.16 +1.13 +1.08 +1.12 +1.33 +1.71 +2.17 +2.55 +2.73 +2.68 +2.47 +2.21 +2.01 +1.92 +1.88 +1.82 +1.7 +1.52 +1.35 +1.28 +1.33 +1.47 +1.6 +1.62 +1.49 +1.24 +0.97 +0.79 +0.74 +0.81 +0.9 +0.94 +0.87 +0.77 +0.7 +0.75 +0.92 +1.14 +1.28 +1.25 +1.04 +0.74 +0.46 +0.32 +0.35 +0.49 +0.65 +0.73 +0.69 +0.57 +0.44 +0.36 +0.36 +0.45 +0.56 +0.66 +0.73 +0.74 +0.73 +0.73 +1.01 +1.07 +1.17 +1.3 +1.39 +1.39 +1.3 +1.15 +1.02 +0.99 +1.1 +1.3 +1.51 +1.62 +1.64 +1.63 +1.74 +2.07 +2.61 +3.25 +3.78 +4.06 +4.01 +3.71 +3.33 +3.01 +2.8 +2.67 +2.53 +2.32 +2.07 +1.85 +1.77 +1.87 +2.08 +2.29 +2.34 +2.19 +1.87 +1.53 +1.3 +1.25 +1.36 +1.51 +1.6 +1.59 +1.53 +1.51 +1.63 +1.87 +2.13 +2.26 +2.14 +1.8 +1.34 +0.93 +0.71 +0.69 +0.81 +0.92 +0.93 +0.81 +0.63 +0.47 +0.41 +0.47 +0.61 +0.77 +0.9 +0.97 +0.99 +0.99 +1.01 +1.07 +1.17 +1.3 +1.39 +1.39 +1.3 +1.15 +1.02 +0.99 +1.1 +1.3 +1.51 +1.62 +1.64 +1.63 +1.74 +2.07 +2.61 +3.25 +3.78 +4.06 +4.01 +3.71 +3.33 +3.01 +2.8 +2.67 +2.53 +2.32 +2.07 +1.85 +1.77 +1.87 +2.08 +2.29 +2.34 +2.19 +1.87 +1.53 +1.3 +1.25 +1.36 +1.51 +1.6 +1.59 +1.53 +1.51 +1.63 +1.87 +2.13 +2.26 +2.14 +1.8 +1.34 +0.93 +0.71 +0.69 +0.81 +0.92 +0.93 +0.81 +0.63 +0.47 +0.41 +0.47 +0.61 +0.77 +0.9 +0.97 +0.99 +0.99 +1.01 +1.15 +1.23 +1.37 +1.52 +1.63 +1.63 +1.5 +1.3 +1.13 +1.1 +1.25 +1.51 +1.78 +1.92 +1.94 +1.92 +2.04 +2.43 +3.11 +3.92 +4.61 +4.98 +4.93 +4.55 +4.05 +3.6 +3.28 +3.08 +2.88 +2.61 +2.29 +2.03 +1.94 +2.08 +2.38 +2.66 +2.76 +2.61 +2.25 +1.85 +1.59 +1.56 +1.71 +1.93 +2.09 +2.13 +2.11 +2.17 +2.37 +2.69 +3.0 +3.1 +2.88 +2.36 +1.72 +1.18 +0.88 +0.85 +0.98 +1.08 +1.05 +0.88 +0.64 +0.46 +0.43 +0.55 +0.76 +0.96 +1.11 +1.17 +1.16 +1.14 +1.15 +1.23 +1.37 +1.52 +1.63 +1.63 +1.5 +1.3 +1.13 +1.1 +1.25 +1.51 +1.78 +1.92 +1.94 +1.92 +2.04 +2.43 +3.11 +3.92 +4.61 +4.98 +4.93 +4.55 +4.05 +3.6 +3.28 +3.08 +2.88 +2.61 +2.29 +2.03 +1.94 +2.08 +2.38 +2.66 +2.76 +2.61 +2.25 +1.85 +1.59 +1.56 +1.71 +1.93 +2.09 +2.13 +2.11 +2.17 +2.37 +2.69 +3.0 +3.1 +2.88 +2.36 +1.72 +1.18 +0.88 +0.85 +0.98 +1.08 +1.05 +0.88 +0.64 +0.46 +0.43 +0.55 +0.76 +0.96 +1.11 +1.17 +1.16 +1.14 +1.15 +1.03 +1.12 +1.3 +1.51 +1.65 +1.65 +1.5 +1.27 +1.08 +1.04 +1.22 +1.52 +1.8 +1.93 +1.87 +1.77 +1.84 +2.24 +3.01 +3.95 +4.78 +5.22 +5.17 +4.72 +4.11 +3.56 +3.18 +2.92 +2.68 +2.37 +2.01 +1.71 +1.63 +1.8 +2.16 +2.51 +2.65 +2.51 +2.13 +1.71 +1.44 +1.44 +1.65 +1.93 +2.14 +2.23 +2.27 +2.4 +2.7 +3.12 +3.47 +3.54 +3.21 +2.52 +1.72 +1.05 +0.72 +0.73 +0.91 +1.07 +1.04 +0.84 +0.57 +0.38 +0.38 +0.55 +0.81 +1.05 +1.17 +1.18 +1.11 +1.04 +1.03 +1.12 +1.3 +1.51 +1.65 +1.65 +1.5 +1.27 +1.08 +1.04 +1.22 +1.52 +1.8 +1.93 +1.87 +1.77 +1.84 +2.24 +3.01 +3.95 +4.78 +5.22 +5.17 +4.72 +4.11 +3.56 +3.18 +2.92 +2.68 +2.37 +2.01 +1.71 +1.63 +1.8 +2.16 +2.51 +2.65 +2.51 +2.13 +1.71 +1.44 +1.44 +1.65 +1.93 +2.14 +2.23 +2.27 +2.4 +2.7 +3.12 +3.47 +3.54 +3.21 +2.52 +1.72 +1.05 +0.72 +0.73 +0.91 +1.07 +1.04 +0.84 +0.57 +0.38 +0.38 +0.55 +0.81 +1.05 +1.17 +1.18 +1.11 +1.04 +1.03 +0.69 +0.79 +1.02 +1.27 +1.46 +1.48 +1.32 +1.07 +0.86 +0.82 +1.01 +1.32 +1.58 +1.64 +1.48 +1.26 +1.23 +1.61 +2.41 +3.43 +4.35 +4.84 +4.79 +4.3 +3.62 +3.02 +2.6 +2.33 +2.08 +1.75 +1.36 +1.04 +0.95 +1.15 +1.55 +1.94 +2.11 +1.96 +1.58 +1.15 +0.9 +0.94 +1.2 +1.53 +1.79 +1.92 +2.02 +2.23 +2.64 +3.15 +3.55 +3.6 +3.17 +2.35 +1.41 +0.68 +0.35 +0.42 +0.7 +0.93 +0.94 +0.74 +0.46 +0.28 +0.3 +0.51 +0.79 +1.02 +1.1 +1.03 +0.87 +0.73 +0.69 +0.79 +1.02 +1.27 +1.46 +1.48 +1.32 +1.07 +0.86 +0.82 +1.01 +1.32 +1.58 +1.64 +1.48 +1.26 +1.23 +1.61 +2.41 +3.43 +4.35 +4.84 +4.79 +4.3 +3.62 +3.02 +2.6 +2.33 +2.08 +1.75 +1.36 +1.04 +0.95 +1.15 +1.55 +1.94 +2.11 +1.96 +1.58 +1.15 +0.9 +0.94 +1.2 +1.53 +1.79 +1.92 +2.02 +2.23 +2.64 +3.15 +3.55 +3.6 +3.17 +2.35 +1.41 +0.68 +0.35 +0.42 +0.7 +0.93 +0.94 +0.74 +0.46 +0.28 +0.3 +0.51 +0.79 +1.02 +1.1 +1.03 +0.87 +0.73 +0.69 +0.33 +0.44 +0.68 +0.98 +1.19 +1.23 +1.06 +0.79 +0.57 +0.53 +0.72 +1.02 +1.25 +1.24 +0.98 +0.65 +0.53 +0.86 +1.66 +2.72 +3.68 +4.2 +4.16 +3.65 +2.95 +2.34 +1.93 +1.68 +1.44 +1.11 +0.71 +0.38 +0.29 +0.5 +0.91 +1.32 +1.49 +1.34 +0.95 +0.53 +0.3 +0.36 +0.67 +1.04 +1.33 +1.5 +1.66 +1.96 +2.45 +3.05 +3.51 +3.55 +3.05 +2.14 +1.12 +0.35 +0.04 +0.17 +0.53 +0.83 +0.88 +0.69 +0.41 +0.22 +0.26 +0.49 +0.78 +0.98 +1.0 +0.85 +0.61 +0.4 +0.33 +0.44 +0.68 +0.98 +1.19 +1.23 +1.06 +0.79 +0.57 +0.53 +0.72 +1.02 +1.25 +1.24 +0.98 +0.65 +0.53 +0.86 +1.66 +2.72 +3.68 +4.2 +4.16 +3.65 +2.95 +2.34 +1.93 +1.68 +1.44 +1.11 +0.71 +0.38 +0.29 +0.5 +0.91 +1.32 +1.49 +1.34 +0.95 +0.53 +0.3 +0.36 +0.67 +1.04 +1.33 +1.5 +1.66 +1.96 +2.45 +3.05 +3.51 +3.55 +3.05 +2.14 +1.12 +0.35 +0.04 +0.17 +0.53 +0.83 +0.88 +0.69 +0.41 +0.22 +0.26 +0.49 +0.78 +0.98 +1.0 +0.85 +0.61 +0.4 +0.33 +0.18 +0.27 +0.52 +0.81 +1.01 +1.03 +0.86 +0.58 +0.35 +0.31 +0.49 +0.78 +0.98 +0.92 +0.61 +0.23 +0.07 +0.37 +1.17 +2.23 +3.18 +3.71 +3.67 +3.17 +2.51 +1.93 +1.57 +1.36 +1.15 +0.83 +0.44 +0.11 +0.02 +0.24 +0.66 +1.06 +1.23 +1.06 +0.66 +0.24 +0.02 +0.11 +0.44 +0.83 +1.15 +1.36 +1.57 +1.93 +2.51 +3.17 +3.67 +3.71 +3.18 +2.23 +1.17 +0.37 +0.07 +0.23 +0.61 +0.92 +0.98 +0.78 +0.49 +0.31 +0.35 +0.58 +0.86 +1.03 +1.01 +0.81 +0.52 +0.27 +0.18 +0.27 +0.52 +0.81 +1.01 +1.03 +0.86 +0.58 +0.35 +0.31 +0.49 +0.78 +0.98 +0.92 +0.61 +0.23 +0.07 +0.37 +1.17 +2.23 +3.18 +3.71 +3.67 +3.17 +2.51 +1.93 +1.57 +1.36 +1.15 +0.83 +0.44 +0.11 +0.02 +0.24 +0.66 +1.06 +1.23 +1.06 +0.66 +0.24 +0.02 +0.11 +0.44 +0.83 +1.15 +1.36 +1.57 +1.93 +2.51 +3.17 +3.67 +3.71 +3.18 +2.23 +1.17 +0.37 +0.07 +0.23 +0.61 +0.92 +0.98 +0.78 +0.49 +0.31 +0.35 +0.58 +0.86 +1.03 +1.01 +0.81 +0.52 +0.27 +0.18 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.28 +0.37 +0.39 +0.37 +0.4 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +2.0 +2.19 +2.27 +2.23 +2.08 +1.86 +1.61 +1.38 +1.15 +0.93 +0.73 +0.56 +0.45 +0.4 +0.39 +0.35 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.35 +0.39 +0.4 +0.45 +0.56 +0.73 +0.93 +1.15 +1.38 +1.61 +1.86 +2.08 +2.23 +2.27 +2.19 +2.0 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.4 +0.37 +0.39 +0.37 +0.28 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.28 +0.37 +0.39 +0.37 +0.4 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +2.0 +2.19 +2.27 +2.23 +2.08 +1.86 +1.61 +1.38 +1.15 +0.93 +0.73 +0.56 +0.45 +0.4 +0.39 +0.35 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.35 +0.39 +0.4 +0.45 +0.56 +0.73 +0.93 +1.15 +1.38 +1.61 +1.86 +2.08 +2.23 +2.27 +2.19 +2.0 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.4 +0.37 +0.39 +0.37 +0.28 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.31 +0.44 +0.48 +0.44 +0.37 +0.34 +0.38 +0.5 +0.67 +0.88 +1.12 +1.39 +1.68 +1.98 +2.22 +2.36 +2.36 +2.24 +2.03 +1.78 +1.51 +1.26 +1.03 +0.82 +0.65 +0.55 +0.5 +0.48 +0.45 +0.35 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.35 +0.45 +0.48 +0.5 +0.55 +0.65 +0.82 +1.03 +1.26 +1.51 +1.78 +2.03 +2.24 +2.36 +2.36 +2.22 +1.98 +1.68 +1.39 +1.12 +0.88 +0.67 +0.5 +0.38 +0.34 +0.37 +0.44 +0.48 +0.44 +0.31 +0.12 +0.0 +0.0 +0.0 +0.12 +0.31 +0.44 +0.48 +0.44 +0.37 +0.34 +0.38 +0.5 +0.67 +0.88 +1.12 +1.39 +1.68 +1.98 +2.22 +2.36 +2.36 +2.24 +2.03 +1.78 +1.51 +1.26 +1.03 +0.82 +0.65 +0.55 +0.5 +0.48 +0.45 +0.35 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.35 +0.45 +0.48 +0.5 +0.55 +0.65 +0.82 +1.03 +1.26 +1.51 +1.78 +2.03 +2.24 +2.36 +2.36 +2.22 +1.98 +1.68 +1.39 +1.12 +0.88 +0.67 +0.5 +0.38 +0.34 +0.37 +0.44 +0.48 +0.44 +0.31 +0.12 +0.0 +0.0 +0.33 +0.37 +0.49 +0.62 +0.69 +0.67 +0.58 +0.46 +0.37 +0.35 +0.42 +0.55 +0.75 +0.99 +1.28 +1.6 +1.94 +2.25 +2.46 +2.53 +2.47 +2.28 +2.02 +1.75 +1.48 +1.24 +1.05 +0.9 +0.82 +0.78 +0.78 +0.75 +0.67 +0.53 +0.35 +0.21 +0.15 +0.21 +0.35 +0.53 +0.67 +0.75 +0.78 +0.78 +0.82 +0.9 +1.05 +1.24 +1.48 +1.75 +2.02 +2.28 +2.47 +2.53 +2.46 +2.25 +1.94 +1.6 +1.28 +0.99 +0.75 +0.55 +0.42 +0.35 +0.37 +0.46 +0.58 +0.67 +0.69 +0.62 +0.49 +0.37 +0.33 +0.37 +0.49 +0.62 +0.69 +0.67 +0.58 +0.46 +0.37 +0.35 +0.42 +0.55 +0.75 +0.99 +1.28 +1.6 +1.94 +2.25 +2.46 +2.53 +2.47 +2.28 +2.02 +1.75 +1.48 +1.24 +1.05 +0.9 +0.82 +0.78 +0.78 +0.75 +0.67 +0.53 +0.35 +0.21 +0.15 +0.21 +0.35 +0.53 +0.67 +0.75 +0.78 +0.78 +0.82 +0.9 +1.05 +1.24 +1.48 +1.75 +2.02 +2.28 +2.47 +2.53 +2.46 +2.25 +1.94 +1.6 +1.28 +0.99 +0.75 +0.55 +0.42 +0.35 +0.37 +0.46 +0.58 +0.67 +0.69 +0.62 +0.49 +0.37 +0.33 +0.77 +0.8 +0.88 +0.96 +0.99 +0.94 +0.82 +0.67 +0.54 +0.47 +0.48 +0.57 +0.73 +0.95 +1.22 +1.54 +1.9 +2.24 +2.52 +2.67 +2.67 +2.54 +2.31 +2.04 +1.79 +1.57 +1.42 +1.32 +1.27 +1.27 +1.29 +1.29 +1.24 +1.13 +1.0 +0.89 +0.85 +0.89 +1.0 +1.13 +1.24 +1.29 +1.29 +1.27 +1.27 +1.32 +1.42 +1.57 +1.79 +2.04 +2.31 +2.54 +2.67 +2.67 +2.52 +2.24 +1.9 +1.54 +1.22 +0.95 +0.73 +0.57 +0.48 +0.47 +0.54 +0.67 +0.82 +0.94 +0.99 +0.96 +0.88 +0.8 +0.77 +0.8 +0.88 +0.96 +0.99 +0.94 +0.82 +0.67 +0.54 +0.47 +0.48 +0.57 +0.73 +0.95 +1.22 +1.54 +1.9 +2.24 +2.52 +2.67 +2.67 +2.54 +2.31 +2.04 +1.79 +1.57 +1.42 +1.32 +1.27 +1.27 +1.29 +1.29 +1.24 +1.13 +1.0 +0.89 +0.85 +0.89 +1.0 +1.13 +1.24 +1.29 +1.29 +1.27 +1.27 +1.32 +1.42 +1.57 +1.79 +2.04 +2.31 +2.54 +2.67 +2.67 +2.52 +2.24 +1.9 +1.54 +1.22 +0.95 +0.73 +0.57 +0.48 +0.47 +0.54 +0.67 +0.82 +0.94 +0.99 +0.96 +0.88 +0.8 +0.77 +1.14 +1.16 +1.2 +1.25 +1.26 +1.21 +1.1 +0.96 +0.82 +0.73 +0.7 +0.74 +0.84 +0.99 +1.21 +1.48 +1.81 +2.17 +2.48 +2.7 +2.78 +2.72 +2.55 +2.33 +2.11 +1.93 +1.82 +1.78 +1.78 +1.83 +1.88 +1.91 +1.9 +1.84 +1.75 +1.67 +1.64 +1.67 +1.75 +1.84 +1.9 +1.91 +1.88 +1.83 +1.78 +1.78 +1.82 +1.93 +2.11 +2.33 +2.55 +2.72 +2.78 +2.7 +2.48 +2.17 +1.81 +1.48 +1.21 +0.99 +0.84 +0.74 +0.7 +0.73 +0.82 +0.96 +1.1 +1.21 +1.26 +1.25 +1.2 +1.16 +1.14 +1.16 +1.2 +1.25 +1.26 +1.21 +1.1 +0.96 +0.82 +0.73 +0.7 +0.74 +0.84 +0.99 +1.21 +1.48 +1.81 +2.17 +2.48 +2.7 +2.78 +2.72 +2.55 +2.33 +2.11 +1.93 +1.82 +1.78 +1.78 +1.83 +1.88 +1.91 +1.9 +1.84 +1.75 +1.67 +1.64 +1.67 +1.75 +1.84 +1.9 +1.91 +1.88 +1.83 +1.78 +1.78 +1.82 +1.93 +2.11 +2.33 +2.55 +2.72 +2.78 +2.7 +2.48 +2.17 +1.81 +1.48 +1.21 +0.99 +0.84 +0.74 +0.7 +0.73 +0.82 +0.96 +1.1 +1.21 +1.26 +1.25 +1.2 +1.16 +1.14 +1.35 +1.36 +1.37 +1.39 +1.39 +1.36 +1.29 +1.19 +1.08 +0.99 +0.94 +0.93 +0.97 +1.05 +1.19 +1.39 +1.66 +1.99 +2.32 +2.59 +2.75 +2.77 +2.67 +2.5 +2.33 +2.19 +2.11 +2.1 +2.14 +2.23 +2.32 +2.39 +2.42 +2.41 +2.36 +2.31 +2.29 +2.31 +2.36 +2.41 +2.42 +2.39 +2.32 +2.23 +2.14 +2.1 +2.11 +2.19 +2.33 +2.5 +2.67 +2.77 +2.75 +2.59 +2.32 +1.99 +1.66 +1.39 +1.19 +1.05 +0.97 +0.93 +0.94 +0.99 +1.08 +1.19 +1.29 +1.36 +1.39 +1.39 +1.37 +1.36 +1.35 +1.36 +1.37 +1.39 +1.39 +1.36 +1.29 +1.19 +1.08 +0.99 +0.94 +0.93 +0.97 +1.05 +1.19 +1.39 +1.66 +1.99 +2.32 +2.59 +2.75 +2.77 +2.67 +2.5 +2.33 +2.19 +2.11 +2.1 +2.14 +2.23 +2.32 +2.39 +2.42 +2.41 +2.36 +2.31 +2.29 +2.31 +2.36 +2.41 +2.42 +2.39 +2.32 +2.23 +2.14 +2.1 +2.11 +2.19 +2.33 +2.5 +2.67 +2.77 +2.75 +2.59 +2.32 +1.99 +1.66 +1.39 +1.19 +1.05 +0.97 +0.93 +0.94 +0.99 +1.08 +1.19 +1.29 +1.36 +1.39 +1.39 +1.37 +1.36 +1.35 +1.39 +1.38 +1.36 +1.34 +1.32 +1.31 +1.29 +1.24 +1.18 +1.11 +1.05 +1.01 +1.01 +1.03 +1.09 +1.21 +1.42 +1.7 +2.03 +2.34 +2.57 +2.66 +2.63 +2.51 +2.36 +2.23 +2.16 +2.16 +2.21 +2.31 +2.44 +2.55 +2.63 +2.66 +2.66 +2.63 +2.62 +2.63 +2.66 +2.66 +2.63 +2.55 +2.44 +2.31 +2.21 +2.16 +2.16 +2.23 +2.36 +2.51 +2.63 +2.66 +2.57 +2.34 +2.03 +1.7 +1.42 +1.21 +1.09 +1.03 +1.01 +1.01 +1.05 +1.11 +1.18 +1.24 +1.29 +1.31 +1.32 +1.34 +1.36 +1.38 +1.39 +1.38 +1.36 +1.34 +1.32 +1.31 +1.29 +1.24 +1.18 +1.11 +1.05 +1.01 +1.01 +1.03 +1.09 +1.21 +1.42 +1.7 +2.03 +2.34 +2.57 +2.66 +2.63 +2.51 +2.36 +2.23 +2.16 +2.16 +2.21 +2.31 +2.44 +2.55 +2.63 +2.66 +2.66 +2.63 +2.62 +2.63 +2.66 +2.66 +2.63 +2.55 +2.44 +2.31 +2.21 +2.16 +2.16 +2.23 +2.36 +2.51 +2.63 +2.66 +2.57 +2.34 +2.03 +1.7 +1.42 +1.21 +1.09 +1.03 +1.01 +1.01 +1.05 +1.11 +1.18 +1.24 +1.29 +1.31 +1.32 +1.34 +1.36 +1.38 +1.39 +1.26 +1.23 +1.16 +1.09 +1.04 +1.03 +1.05 +1.05 +1.03 +0.99 +0.94 +0.9 +0.87 +0.86 +0.88 +0.95 +1.11 +1.35 +1.67 +1.99 +2.26 +2.42 +2.44 +2.36 +2.23 +2.09 +2.0 +1.98 +2.02 +2.13 +2.28 +2.44 +2.57 +2.65 +2.69 +2.71 +2.71 +2.71 +2.69 +2.65 +2.57 +2.44 +2.28 +2.13 +2.02 +1.98 +2.0 +2.09 +2.23 +2.36 +2.44 +2.42 +2.26 +1.99 +1.67 +1.35 +1.11 +0.95 +0.88 +0.86 +0.87 +0.9 +0.94 +0.99 +1.03 +1.05 +1.05 +1.03 +1.04 +1.09 +1.16 +1.23 +1.26 +1.23 +1.16 +1.09 +1.04 +1.03 +1.05 +1.05 +1.03 +0.99 +0.94 +0.9 +0.87 +0.86 +0.88 +0.95 +1.11 +1.35 +1.67 +1.99 +2.26 +2.42 +2.44 +2.36 +2.23 +2.09 +2.0 +1.98 +2.02 +2.13 +2.28 +2.44 +2.57 +2.65 +2.69 +2.71 +2.71 +2.71 +2.69 +2.65 +2.57 +2.44 +2.28 +2.13 +2.02 +1.98 +2.0 +2.09 +2.23 +2.36 +2.44 +2.42 +2.26 +1.99 +1.67 +1.35 +1.11 +0.95 +0.88 +0.86 +0.87 +0.9 +0.94 +0.99 +1.03 +1.05 +1.05 +1.03 +1.04 +1.09 +1.16 +1.23 +1.26 +0.99 +0.95 +0.83 +0.7 +0.62 +0.6 +0.63 +0.67 +0.68 +0.67 +0.64 +0.61 +0.59 +0.58 +0.6 +0.65 +0.78 +0.99 +1.28 +1.6 +1.89 +2.08 +2.15 +2.11 +2.0 +1.88 +1.78 +1.74 +1.78 +1.9 +2.08 +2.27 +2.46 +2.61 +2.71 +2.76 +2.77 +2.76 +2.71 +2.61 +2.46 +2.27 +2.08 +1.9 +1.78 +1.74 +1.78 +1.88 +2.0 +2.11 +2.15 +2.08 +1.89 +1.6 +1.28 +0.99 +0.78 +0.65 +0.6 +0.58 +0.59 +0.61 +0.64 +0.67 +0.68 +0.67 +0.63 +0.6 +0.62 +0.7 +0.83 +0.95 +0.99 +0.95 +0.83 +0.7 +0.62 +0.6 +0.63 +0.67 +0.68 +0.67 +0.64 +0.61 +0.59 +0.58 +0.6 +0.65 +0.78 +0.99 +1.28 +1.6 +1.89 +2.08 +2.15 +2.11 +2.0 +1.88 +1.78 +1.74 +1.78 +1.9 +2.08 +2.27 +2.46 +2.61 +2.71 +2.76 +2.77 +2.76 +2.71 +2.61 +2.46 +2.27 +2.08 +1.9 +1.78 +1.74 +1.78 +1.88 +2.0 +2.11 +2.15 +2.08 +1.89 +1.6 +1.28 +0.99 +0.78 +0.65 +0.6 +0.58 +0.59 +0.61 +0.64 +0.67 +0.68 +0.67 +0.63 +0.6 +0.62 +0.7 +0.83 +0.95 +0.99 +0.65 +0.59 +0.44 +0.27 +0.15 +0.13 +0.17 +0.24 +0.28 +0.29 +0.27 +0.25 +0.25 +0.27 +0.31 +0.37 +0.47 +0.65 +0.9 +1.2 +1.48 +1.7 +1.82 +1.84 +1.79 +1.71 +1.65 +1.65 +1.72 +1.86 +2.07 +2.31 +2.56 +2.76 +2.92 +3.01 +3.04 +3.01 +2.92 +2.76 +2.56 +2.31 +2.07 +1.86 +1.72 +1.65 +1.65 +1.71 +1.79 +1.84 +1.82 +1.7 +1.48 +1.2 +0.9 +0.65 +0.47 +0.37 +0.31 +0.27 +0.25 +0.25 +0.27 +0.29 +0.28 +0.24 +0.17 +0.13 +0.15 +0.27 +0.44 +0.59 +0.65 +0.59 +0.44 +0.27 +0.15 +0.13 +0.17 +0.24 +0.28 +0.29 +0.27 +0.25 +0.25 +0.27 +0.31 +0.37 +0.47 +0.65 +0.9 +1.2 +1.48 +1.7 +1.82 +1.84 +1.79 +1.71 +1.65 +1.65 +1.72 +1.86 +2.07 +2.31 +2.56 +2.76 +2.92 +3.01 +3.04 +3.01 +2.92 +2.76 +2.56 +2.31 +2.07 +1.86 +1.72 +1.65 +1.65 +1.71 +1.79 +1.84 +1.82 +1.7 +1.48 +1.2 +0.9 +0.65 +0.47 +0.37 +0.31 +0.27 +0.25 +0.25 +0.27 +0.29 +0.28 +0.24 +0.17 +0.13 +0.15 +0.27 +0.44 +0.59 +0.65 +0.31 +0.24 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.14 +0.23 +0.37 +0.57 +0.81 +1.07 +1.31 +1.47 +1.57 +1.62 +1.65 +1.69 +1.76 +1.9 +2.09 +2.33 +2.61 +2.89 +3.14 +3.34 +3.46 +3.5 +3.46 +3.34 +3.14 +2.89 +2.61 +2.33 +2.09 +1.9 +1.76 +1.69 +1.65 +1.62 +1.57 +1.47 +1.31 +1.07 +0.81 +0.57 +0.37 +0.23 +0.14 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.24 +0.31 +0.24 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.14 +0.23 +0.37 +0.57 +0.81 +1.07 +1.31 +1.47 +1.57 +1.62 +1.65 +1.69 +1.76 +1.9 +2.09 +2.33 +2.61 +2.89 +3.14 +3.34 +3.46 +3.5 +3.46 +3.34 +3.14 +2.89 +2.61 +2.33 +2.09 +1.9 +1.76 +1.69 +1.65 +1.62 +1.57 +1.47 +1.31 +1.07 +0.81 +0.57 +0.37 +0.23 +0.14 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.24 +0.31 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.15 +0.29 +0.48 +0.71 +0.95 +1.16 +1.34 +1.49 +1.64 +1.8 +1.99 +2.2 +2.43 +2.7 +2.98 +3.26 +3.52 +3.73 +3.86 +3.91 +3.86 +3.73 +3.52 +3.26 +2.98 +2.7 +2.43 +2.2 +1.99 +1.8 +1.64 +1.49 +1.34 +1.16 +0.95 +0.71 +0.48 +0.29 +0.15 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.15 +0.29 +0.48 +0.71 +0.95 +1.16 +1.34 +1.49 +1.64 +1.8 +1.99 +2.2 +2.43 +2.7 +2.98 +3.26 +3.52 +3.73 +3.86 +3.91 +3.86 +3.73 +3.52 +3.26 +2.98 +2.7 +2.43 +2.2 +1.99 +1.8 +1.64 +1.49 +1.34 +1.16 +0.95 +0.71 +0.48 +0.29 +0.15 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.25 +0.45 +0.67 +0.9 +1.13 +1.36 +1.6 +1.85 +2.12 +2.38 +2.63 +2.87 +3.11 +3.35 +3.57 +3.76 +3.89 +3.94 +3.89 +3.76 +3.57 +3.35 +3.11 +2.87 +2.63 +2.38 +2.12 +1.85 +1.6 +1.36 +1.13 +0.9 +0.67 +0.45 +0.25 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.25 +0.45 +0.67 +0.9 +1.13 +1.36 +1.6 +1.85 +2.12 +2.38 +2.63 +2.87 +3.11 +3.35 +3.57 +3.76 +3.89 +3.94 +3.89 +3.76 +3.57 +3.35 +3.11 +2.87 +2.63 +2.38 +2.12 +1.85 +1.6 +1.36 +1.13 +0.9 +0.67 +0.45 +0.25 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.04 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.17 +0.35 +0.55 +0.76 +0.97 +1.19 +1.45 +1.73 +2.01 +2.27 +2.49 +2.66 +2.81 +2.96 +3.12 +3.27 +3.39 +3.43 +3.39 +3.27 +3.12 +2.96 +2.81 +2.66 +2.49 +2.27 +2.01 +1.73 +1.45 +1.19 +0.97 +0.76 +0.55 +0.35 +0.17 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.04 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.11 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.04 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.17 +0.35 +0.55 +0.76 +0.97 +1.19 +1.45 +1.73 +2.01 +2.27 +2.49 +2.66 +2.81 +2.96 +3.12 +3.27 +3.39 +3.43 +3.39 +3.27 +3.12 +2.96 +2.81 +2.66 +2.49 +2.27 +2.01 +1.73 +1.45 +1.19 +0.97 +0.76 +0.55 +0.35 +0.17 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.04 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.11 +0.4 +0.36 +0.27 +0.18 +0.13 +0.14 +0.19 +0.24 +0.24 +0.19 +0.1 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.44 +0.61 +0.75 +0.88 +1.02 +1.21 +1.45 +1.68 +1.88 +2.01 +2.08 +2.11 +2.17 +2.26 +2.38 +2.48 +2.52 +2.48 +2.38 +2.26 +2.17 +2.11 +2.08 +2.01 +1.88 +1.68 +1.45 +1.21 +1.02 +0.88 +0.75 +0.61 +0.44 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.1 +0.19 +0.24 +0.24 +0.19 +0.14 +0.13 +0.18 +0.27 +0.36 +0.4 +0.36 +0.27 +0.18 +0.13 +0.14 +0.19 +0.24 +0.24 +0.19 +0.1 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.44 +0.61 +0.75 +0.88 +1.02 +1.21 +1.45 +1.68 +1.88 +2.01 +2.08 +2.11 +2.17 +2.26 +2.38 +2.48 +2.52 +2.48 +2.38 +2.26 +2.17 +2.11 +2.08 +2.01 +1.88 +1.68 +1.45 +1.21 +1.02 +0.88 +0.75 +0.61 +0.44 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.1 +0.19 +0.24 +0.24 +0.19 +0.14 +0.13 +0.18 +0.27 +0.36 +0.4 +0.72 +0.69 +0.63 +0.55 +0.5 +0.47 +0.46 +0.45 +0.42 +0.37 +0.3 +0.22 +0.13 +0.04 +0.0 +0.0 +0.0 +0.04 +0.24 +0.47 +0.67 +0.8 +0.85 +0.86 +0.87 +0.95 +1.09 +1.25 +1.36 +1.39 +1.34 +1.28 +1.26 +1.31 +1.43 +1.54 +1.59 +1.54 +1.43 +1.31 +1.26 +1.28 +1.34 +1.39 +1.36 +1.25 +1.09 +0.95 +0.87 +0.86 +0.85 +0.8 +0.67 +0.47 +0.24 +0.04 +0.0 +0.0 +0.0 +0.04 +0.13 +0.22 +0.3 +0.37 +0.42 +0.45 +0.46 +0.47 +0.5 +0.55 +0.63 +0.69 +0.72 +0.69 +0.63 +0.55 +0.5 +0.47 +0.46 +0.45 +0.42 +0.37 +0.3 +0.22 +0.13 +0.04 +0.0 +0.0 +0.0 +0.04 +0.24 +0.47 +0.67 +0.8 +0.85 +0.86 +0.87 +0.95 +1.09 +1.25 +1.36 +1.39 +1.34 +1.28 +1.26 +1.31 +1.43 +1.54 +1.59 +1.54 +1.43 +1.31 +1.26 +1.28 +1.34 +1.39 +1.36 +1.25 +1.09 +0.95 +0.87 +0.86 +0.85 +0.8 +0.67 +0.47 +0.24 +0.04 +0.0 +0.0 +0.0 +0.04 +0.13 +0.22 +0.3 +0.37 +0.42 +0.45 +0.46 +0.47 +0.5 +0.55 +0.63 +0.69 +0.72 +0.88 +0.88 +0.85 +0.82 +0.76 +0.7 +0.62 +0.56 +0.52 +0.5 +0.49 +0.46 +0.38 +0.24 +0.09 +0.0 +0.0 +0.13 +0.39 +0.68 +0.91 +1.0 +0.95 +0.83 +0.72 +0.7 +0.77 +0.86 +0.9 +0.85 +0.71 +0.58 +0.53 +0.6 +0.76 +0.92 +0.98 +0.92 +0.76 +0.6 +0.53 +0.58 +0.71 +0.85 +0.9 +0.86 +0.77 +0.7 +0.72 +0.83 +0.95 +1.0 +0.91 +0.68 +0.39 +0.13 +0.0 +0.0 +0.09 +0.24 +0.38 +0.46 +0.49 +0.5 +0.52 +0.56 +0.62 +0.7 +0.76 +0.82 +0.85 +0.88 +0.88 +0.88 +0.85 +0.82 +0.76 +0.7 +0.62 +0.56 +0.52 +0.5 +0.49 +0.46 +0.38 +0.24 +0.09 +0.0 +0.0 +0.13 +0.39 +0.68 +0.91 +1.0 +0.95 +0.83 +0.72 +0.7 +0.77 +0.86 +0.9 +0.85 +0.71 +0.58 +0.53 +0.6 +0.76 +0.92 +0.98 +0.92 +0.76 +0.6 +0.53 +0.58 +0.71 +0.85 +0.9 +0.86 +0.77 +0.7 +0.72 +0.83 +0.95 +1.0 +0.91 +0.68 +0.39 +0.13 +0.0 +0.0 +0.09 +0.24 +0.38 +0.46 +0.49 +0.5 +0.52 +0.56 +0.62 +0.7 +0.76 +0.82 +0.85 +0.88 +0.88 +0.77 +0.79 +0.83 +0.86 +0.83 +0.75 +0.65 +0.56 +0.53 +0.58 +0.66 +0.71 +0.66 +0.49 +0.25 +0.06 +0.01 +0.15 +0.43 +0.76 +0.99 +1.04 +0.91 +0.69 +0.51 +0.45 +0.5 +0.58 +0.6 +0.5 +0.32 +0.17 +0.13 +0.27 +0.51 +0.74 +0.84 +0.74 +0.51 +0.27 +0.13 +0.17 +0.32 +0.5 +0.6 +0.58 +0.5 +0.45 +0.51 +0.69 +0.91 +1.04 +0.99 +0.76 +0.43 +0.15 +0.01 +0.06 +0.25 +0.49 +0.66 +0.71 +0.66 +0.58 +0.53 +0.56 +0.65 +0.75 +0.83 +0.86 +0.83 +0.79 +0.77 +0.79 +0.83 +0.86 +0.83 +0.75 +0.65 +0.56 +0.53 +0.58 +0.66 +0.71 +0.66 +0.49 +0.25 +0.06 +0.01 +0.15 +0.43 +0.76 +0.99 +1.04 +0.91 +0.69 +0.51 +0.45 +0.5 +0.58 +0.6 +0.5 +0.32 +0.17 +0.13 +0.27 +0.51 +0.74 +0.84 +0.74 +0.51 +0.27 +0.13 +0.17 +0.32 +0.5 +0.6 +0.58 +0.5 +0.45 +0.51 +0.69 +0.91 +1.04 +0.99 +0.76 +0.43 +0.15 +0.01 +0.06 +0.25 +0.49 +0.66 +0.71 +0.66 +0.58 +0.53 +0.56 +0.65 +0.75 +0.83 +0.86 +0.83 +0.79 +0.77 +0.39 +0.44 +0.56 +0.67 +0.7 +0.64 +0.52 +0.42 +0.44 +0.58 +0.78 +0.93 +0.92 +0.72 +0.4 +0.1 +0.0 +0.06 +0.33 +0.65 +0.85 +0.85 +0.66 +0.4 +0.2 +0.16 +0.25 +0.38 +0.42 +0.32 +0.14 +0.0 +0.01 +0.23 +0.58 +0.89 +1.02 +0.89 +0.58 +0.23 +0.01 +0.0 +0.14 +0.32 +0.42 +0.38 +0.25 +0.16 +0.2 +0.4 +0.66 +0.85 +0.85 +0.65 +0.33 +0.06 +0.0 +0.1 +0.4 +0.72 +0.92 +0.93 +0.78 +0.58 +0.44 +0.42 +0.52 +0.64 +0.7 +0.67 +0.56 +0.44 +0.39 +0.44 +0.56 +0.67 +0.7 +0.64 +0.52 +0.42 +0.44 +0.58 +0.78 +0.93 +0.92 +0.72 +0.4 +0.1 +0.0 +0.06 +0.33 +0.65 +0.85 +0.85 +0.66 +0.4 +0.2 +0.16 +0.25 +0.38 +0.42 +0.32 +0.14 +0.0 +0.01 +0.23 +0.58 +0.89 +1.02 +0.89 +0.58 +0.23 +0.01 +0.0 +0.14 +0.32 +0.42 +0.38 +0.25 +0.16 +0.2 +0.4 +0.66 +0.85 +0.85 +0.65 +0.33 +0.06 +0.0 +0.1 +0.4 +0.72 +0.92 +0.93 +0.78 +0.58 +0.44 +0.42 +0.52 +0.64 +0.7 +0.67 +0.56 +0.44 +0.39 +0.0 +0.0 +0.16 +0.36 +0.46 +0.41 +0.29 +0.2 +0.27 +0.5 +0.83 +1.09 +1.14 +0.93 +0.54 +0.14 +0.0 +0.0 +0.14 +0.41 +0.57 +0.51 +0.28 +0.0 +0.0 +0.0 +0.02 +0.21 +0.3 +0.22 +0.04 +0.0 +0.0 +0.28 +0.72 +1.11 +1.27 +1.11 +0.72 +0.28 +0.0 +0.0 +0.04 +0.22 +0.3 +0.21 +0.02 +0.0 +0.0 +0.0 +0.28 +0.51 +0.57 +0.41 +0.14 +0.0 +0.0 +0.14 +0.54 +0.93 +1.14 +1.09 +0.83 +0.5 +0.27 +0.2 +0.29 +0.41 +0.46 +0.36 +0.16 +0.0 +0.0 +0.0 +0.16 +0.36 +0.46 +0.41 +0.29 +0.2 +0.27 +0.5 +0.83 +1.09 +1.14 +0.93 +0.54 +0.14 +0.0 +0.0 +0.14 +0.41 +0.57 +0.51 +0.28 +0.0 +0.0 +0.0 +0.02 +0.21 +0.3 +0.22 +0.04 +0.0 +0.0 +0.28 +0.72 +1.11 +1.27 +1.11 +0.72 +0.28 +0.0 +0.0 +0.04 +0.22 +0.3 +0.21 +0.02 +0.0 +0.0 +0.0 +0.28 +0.51 +0.57 +0.41 +0.14 +0.0 +0.0 +0.14 +0.54 +0.93 +1.14 +1.09 +0.83 +0.5 +0.27 +0.2 +0.29 +0.41 +0.46 +0.36 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.24 +0.2 +0.07 +0.0 +0.07 +0.38 +0.81 +1.17 +1.28 +1.08 +0.66 +0.19 +0.0 +0.0 +0.0 +0.19 +0.29 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.21 +0.15 +0.0 +0.0 +0.0 +0.3 +0.79 +1.21 +1.38 +1.21 +0.79 +0.3 +0.0 +0.0 +0.0 +0.15 +0.21 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.29 +0.19 +0.0 +0.0 +0.0 +0.19 +0.66 +1.08 +1.28 +1.17 +0.81 +0.38 +0.07 +0.0 +0.07 +0.2 +0.24 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.24 +0.2 +0.07 +0.0 +0.07 +0.38 +0.81 +1.17 +1.28 +1.08 +0.66 +0.19 +0.0 +0.0 +0.0 +0.19 +0.29 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.21 +0.15 +0.0 +0.0 +0.0 +0.3 +0.79 +1.21 +1.38 +1.21 +0.79 +0.3 +0.0 +0.0 +0.0 +0.15 +0.21 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.29 +0.19 +0.0 +0.0 +0.0 +0.19 +0.66 +1.08 +1.28 +1.17 +0.81 +0.38 +0.07 +0.0 +0.07 +0.2 +0.24 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.19 +0.12 +0.0 +0.0 +0.0 +0.27 +0.76 +1.18 +1.35 +1.19 +0.77 +0.29 +0.0 +0.0 +0.0 +0.13 +0.18 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.18 +0.13 +0.0 +0.0 +0.0 +0.28 +0.76 +1.17 +1.34 +1.17 +0.76 +0.28 +0.0 +0.0 +0.0 +0.13 +0.18 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.18 +0.13 +0.0 +0.0 +0.0 +0.29 +0.77 +1.19 +1.35 +1.18 +0.76 +0.27 +0.0 +0.0 +0.0 +0.12 +0.19 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.19 +0.12 +0.0 +0.0 +0.0 +0.27 +0.76 +1.18 +1.35 +1.19 +0.77 +0.29 +0.0 +0.0 +0.0 +0.13 +0.18 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.18 +0.13 +0.0 +0.0 +0.0 +0.28 +0.76 +1.17 +1.34 +1.17 +0.76 +0.28 +0.0 +0.0 +0.0 +0.13 +0.18 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.18 +0.13 +0.0 +0.0 +0.0 +0.29 +0.77 +1.19 +1.35 +1.18 +0.76 +0.27 +0.0 +0.0 +0.0 +0.12 +0.19 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.32 +0.21 +0.0 +0.0 +0.0 +0.22 +0.71 +1.16 +1.36 +1.24 +0.86 +0.41 +0.09 +0.0 +0.08 +0.22 +0.26 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.25 +0.2 +0.04 +0.0 +0.0 +0.28 +0.7 +1.06 +1.21 +1.06 +0.7 +0.28 +0.0 +0.0 +0.04 +0.2 +0.25 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.26 +0.22 +0.08 +0.0 +0.09 +0.41 +0.86 +1.24 +1.36 +1.16 +0.71 +0.22 +0.0 +0.0 +0.0 +0.21 +0.32 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.32 +0.21 +0.0 +0.0 +0.0 +0.22 +0.71 +1.16 +1.36 +1.24 +0.86 +0.41 +0.09 +0.0 +0.08 +0.22 +0.26 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.25 +0.2 +0.04 +0.0 +0.0 +0.28 +0.7 +1.06 +1.21 +1.06 +0.7 +0.28 +0.0 +0.0 +0.04 +0.2 +0.25 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.26 +0.22 +0.08 +0.0 +0.09 +0.41 +0.86 +1.24 +1.36 +1.16 +0.71 +0.22 +0.0 +0.0 +0.0 +0.21 +0.32 +0.23 +0.0 +0.0 +0.0 +0.05 +0.14 +0.34 +0.52 +0.55 +0.39 +0.13 +0.0 +0.0 +0.24 +0.68 +1.1 +1.29 +1.19 +0.86 +0.47 +0.19 +0.12 +0.21 +0.35 +0.4 +0.28 +0.05 +0.0 +0.0 +0.0 +0.04 +0.26 +0.37 +0.33 +0.2 +0.09 +0.13 +0.34 +0.67 +0.95 +1.07 +0.95 +0.67 +0.34 +0.13 +0.09 +0.2 +0.33 +0.37 +0.26 +0.04 +0.0 +0.0 +0.0 +0.05 +0.28 +0.4 +0.35 +0.21 +0.12 +0.19 +0.47 +0.86 +1.19 +1.29 +1.1 +0.68 +0.24 +0.0 +0.0 +0.13 +0.39 +0.55 +0.52 +0.34 +0.14 +0.05 +0.14 +0.34 +0.52 +0.55 +0.39 +0.13 +0.0 +0.0 +0.24 +0.68 +1.1 +1.29 +1.19 +0.86 +0.47 +0.19 +0.12 +0.21 +0.35 +0.4 +0.28 +0.05 +0.0 +0.0 +0.0 +0.04 +0.26 +0.37 +0.33 +0.2 +0.09 +0.13 +0.34 +0.67 +0.95 +1.07 +0.95 +0.67 +0.34 +0.13 +0.09 +0.2 +0.33 +0.37 +0.26 +0.04 +0.0 +0.0 +0.0 +0.05 +0.28 +0.4 +0.35 +0.21 +0.12 +0.19 +0.47 +0.86 +1.19 +1.29 +1.1 +0.68 +0.24 +0.0 +0.0 +0.13 +0.39 +0.55 +0.52 +0.34 +0.14 +0.05 +0.41 +0.48 +0.64 +0.76 +0.75 +0.56 +0.3 +0.09 +0.08 +0.3 +0.65 +0.99 +1.14 +1.04 +0.74 +0.4 +0.17 +0.12 +0.23 +0.38 +0.44 +0.36 +0.18 +0.0 +0.0 +0.0 +0.15 +0.34 +0.45 +0.44 +0.34 +0.26 +0.27 +0.41 +0.63 +0.83 +0.92 +0.83 +0.63 +0.41 +0.27 +0.26 +0.34 +0.44 +0.45 +0.34 +0.15 +0.0 +0.0 +0.0 +0.18 +0.36 +0.44 +0.38 +0.23 +0.12 +0.17 +0.4 +0.74 +1.04 +1.14 +0.99 +0.65 +0.3 +0.08 +0.09 +0.3 +0.56 +0.75 +0.76 +0.64 +0.48 +0.41 +0.48 +0.64 +0.76 +0.75 +0.56 +0.3 +0.09 +0.08 +0.3 +0.65 +0.99 +1.14 +1.04 +0.74 +0.4 +0.17 +0.12 +0.23 +0.38 +0.44 +0.36 +0.18 +0.0 +0.0 +0.0 +0.15 +0.34 +0.45 +0.44 +0.34 +0.26 +0.27 +0.41 +0.63 +0.83 +0.92 +0.83 +0.63 +0.41 +0.27 +0.26 +0.34 +0.44 +0.45 +0.34 +0.15 +0.0 +0.0 +0.0 +0.18 +0.36 +0.44 +0.38 +0.23 +0.12 +0.17 +0.4 +0.74 +1.04 +1.14 +0.99 +0.65 +0.3 +0.08 +0.09 +0.3 +0.56 +0.75 +0.76 +0.64 +0.48 +0.41 +0.58 +0.63 +0.74 +0.83 +0.8 +0.64 +0.4 +0.22 +0.19 +0.34 +0.6 +0.84 +0.92 +0.79 +0.52 +0.21 +0.01 +0.0 +0.1 +0.25 +0.33 +0.28 +0.14 +0.0 +0.0 +0.0 +0.12 +0.3 +0.42 +0.44 +0.39 +0.32 +0.32 +0.41 +0.55 +0.68 +0.73 +0.68 +0.55 +0.41 +0.32 +0.32 +0.39 +0.44 +0.42 +0.3 +0.12 +0.0 +0.0 +0.0 +0.14 +0.28 +0.33 +0.25 +0.1 +0.0 +0.01 +0.21 +0.52 +0.79 +0.92 +0.84 +0.6 +0.34 +0.19 +0.22 +0.4 +0.64 +0.8 +0.83 +0.74 +0.63 +0.58 +0.63 +0.74 +0.83 +0.8 +0.64 +0.4 +0.22 +0.19 +0.34 +0.6 +0.84 +0.92 +0.79 +0.52 +0.21 +0.01 +0.0 +0.1 +0.25 +0.33 +0.28 +0.14 +0.0 +0.0 +0.0 +0.12 +0.3 +0.42 +0.44 +0.39 +0.32 +0.32 +0.41 +0.55 +0.68 +0.73 +0.68 +0.55 +0.41 +0.32 +0.32 +0.39 +0.44 +0.42 +0.3 +0.12 +0.0 +0.0 +0.0 +0.14 +0.28 +0.33 +0.25 +0.1 +0.0 +0.01 +0.21 +0.52 +0.79 +0.92 +0.84 +0.6 +0.34 +0.19 +0.22 +0.4 +0.64 +0.8 +0.83 +0.74 +0.63 +0.58 +0.56 +0.59 +0.68 +0.75 +0.73 +0.61 +0.43 +0.29 +0.26 +0.36 +0.54 +0.68 +0.7 +0.55 +0.28 +0.01 +0.0 +0.0 +0.0 +0.09 +0.19 +0.17 +0.06 +0.0 +0.0 +0.0 +0.04 +0.2 +0.33 +0.38 +0.35 +0.31 +0.3 +0.35 +0.45 +0.55 +0.58 +0.55 +0.45 +0.35 +0.3 +0.31 +0.35 +0.38 +0.33 +0.2 +0.04 +0.0 +0.0 +0.0 +0.06 +0.17 +0.19 +0.09 +0.0 +0.0 +0.0 +0.01 +0.28 +0.55 +0.7 +0.68 +0.54 +0.36 +0.26 +0.29 +0.43 +0.61 +0.73 +0.75 +0.68 +0.59 +0.56 +0.59 +0.68 +0.75 +0.73 +0.61 +0.43 +0.29 +0.26 +0.36 +0.54 +0.68 +0.7 +0.55 +0.28 +0.01 +0.0 +0.0 +0.0 +0.09 +0.19 +0.17 +0.06 +0.0 +0.0 +0.0 +0.04 +0.2 +0.33 +0.38 +0.35 +0.31 +0.3 +0.35 +0.45 +0.55 +0.58 +0.55 +0.45 +0.35 +0.3 +0.31 +0.35 +0.38 +0.33 +0.2 +0.04 +0.0 +0.0 +0.0 +0.06 +0.17 +0.19 +0.09 +0.0 +0.0 +0.0 +0.01 +0.28 +0.55 +0.7 +0.68 +0.54 +0.36 +0.26 +0.29 +0.43 +0.61 +0.73 +0.75 +0.68 +0.59 +0.56 +0.5 +0.53 +0.6 +0.65 +0.65 +0.57 +0.45 +0.35 +0.32 +0.38 +0.5 +0.59 +0.58 +0.44 +0.2 +0.0 +0.0 +0.0 +0.0 +0.16 +0.29 +0.3 +0.2 +0.06 +0.0 +0.0 +0.1 +0.25 +0.37 +0.41 +0.38 +0.34 +0.33 +0.39 +0.49 +0.59 +0.63 +0.59 +0.49 +0.39 +0.33 +0.34 +0.38 +0.41 +0.37 +0.25 +0.1 +0.0 +0.0 +0.06 +0.2 +0.3 +0.29 +0.16 +0.0 +0.0 +0.0 +0.0 +0.2 +0.44 +0.58 +0.59 +0.5 +0.38 +0.32 +0.35 +0.45 +0.57 +0.65 +0.65 +0.6 +0.53 +0.5 +0.53 +0.6 +0.65 +0.65 +0.57 +0.45 +0.35 +0.32 +0.38 +0.5 +0.59 +0.58 +0.44 +0.2 +0.0 +0.0 +0.0 +0.0 +0.16 +0.29 +0.3 +0.2 +0.06 +0.0 +0.0 +0.1 +0.25 +0.37 +0.41 +0.38 +0.34 +0.33 +0.39 +0.49 +0.59 +0.63 +0.59 +0.49 +0.39 +0.33 +0.34 +0.38 +0.41 +0.37 +0.25 +0.1 +0.0 +0.0 +0.06 +0.2 +0.3 +0.29 +0.16 +0.0 +0.0 +0.0 +0.0 +0.2 +0.44 +0.58 +0.59 +0.5 +0.38 +0.32 +0.35 +0.45 +0.57 +0.65 +0.65 +0.6 +0.53 +0.5 +0.57 +0.6 +0.65 +0.7 +0.7 +0.64 +0.54 +0.45 +0.41 +0.45 +0.55 +0.64 +0.65 +0.55 +0.37 +0.19 +0.11 +0.18 +0.4 +0.65 +0.84 +0.89 +0.79 +0.62 +0.48 +0.45 +0.51 +0.62 +0.7 +0.7 +0.64 +0.58 +0.58 +0.67 +0.81 +0.95 +1.0 +0.95 +0.81 +0.67 +0.58 +0.58 +0.64 +0.7 +0.7 +0.62 +0.51 +0.45 +0.48 +0.62 +0.79 +0.89 +0.84 +0.65 +0.4 +0.18 +0.11 +0.19 +0.37 +0.55 +0.65 +0.64 +0.55 +0.45 +0.41 +0.45 +0.54 +0.64 +0.7 +0.7 +0.65 +0.6 +0.57 +0.6 +0.65 +0.7 +0.7 +0.64 +0.54 +0.45 +0.41 +0.45 +0.55 +0.64 +0.65 +0.55 +0.37 +0.19 +0.11 +0.18 +0.4 +0.65 +0.84 +0.89 +0.79 +0.62 +0.48 +0.45 +0.51 +0.62 +0.7 +0.7 +0.64 +0.58 +0.58 +0.67 +0.81 +0.95 +1.0 +0.95 +0.81 +0.67 +0.58 +0.58 +0.64 +0.7 +0.7 +0.62 +0.51 +0.45 +0.48 +0.62 +0.79 +0.89 +0.84 +0.65 +0.4 +0.18 +0.11 +0.19 +0.37 +0.55 +0.65 +0.64 +0.55 +0.45 +0.41 +0.45 +0.54 +0.64 +0.7 +0.7 +0.65 +0.6 +0.57 +0.83 +0.85 +0.89 +0.93 +0.93 +0.86 +0.75 +0.63 +0.56 +0.58 +0.69 +0.82 +0.9 +0.87 +0.76 +0.64 +0.63 +0.8 +1.13 +1.52 +1.82 +1.92 +1.82 +1.6 +1.38 +1.27 +1.26 +1.31 +1.33 +1.27 +1.15 +1.05 +1.06 +1.19 +1.41 +1.61 +1.69 +1.61 +1.41 +1.19 +1.06 +1.05 +1.15 +1.27 +1.33 +1.31 +1.26 +1.27 +1.38 +1.6 +1.82 +1.92 +1.82 +1.52 +1.13 +0.8 +0.63 +0.64 +0.76 +0.87 +0.9 +0.82 +0.69 +0.58 +0.56 +0.63 +0.75 +0.86 +0.93 +0.93 +0.89 +0.85 +0.83 +0.85 +0.89 +0.93 +0.93 +0.86 +0.75 +0.63 +0.56 +0.58 +0.69 +0.82 +0.9 +0.87 +0.76 +0.64 +0.63 +0.8 +1.13 +1.52 +1.82 +1.92 +1.82 +1.6 +1.38 +1.27 +1.26 +1.31 +1.33 +1.27 +1.15 +1.05 +1.06 +1.19 +1.41 +1.61 +1.69 +1.61 +1.41 +1.19 +1.06 +1.05 +1.15 +1.27 +1.33 +1.31 +1.26 +1.27 +1.38 +1.6 +1.82 +1.92 +1.82 +1.52 +1.13 +0.8 +0.63 +0.64 +0.76 +0.87 +0.9 +0.82 +0.69 +0.58 +0.56 +0.63 +0.75 +0.86 +0.93 +0.93 +0.89 +0.85 +0.83 +1.14 +1.16 +1.21 +1.26 +1.25 +1.17 +1.01 +0.84 +0.73 +0.74 +0.87 +1.06 +1.22 +1.27 +1.2 +1.13 +1.18 +1.45 +1.92 +2.48 +2.92 +3.11 +3.02 +2.73 +2.41 +2.19 +2.1 +2.07 +2.02 +1.89 +1.71 +1.57 +1.57 +1.76 +2.05 +2.33 +2.44 +2.33 +2.05 +1.76 +1.57 +1.57 +1.71 +1.89 +2.02 +2.07 +2.1 +2.19 +2.41 +2.73 +3.02 +3.11 +2.92 +2.48 +1.92 +1.45 +1.18 +1.13 +1.2 +1.27 +1.22 +1.06 +0.87 +0.74 +0.73 +0.84 +1.01 +1.17 +1.25 +1.26 +1.21 +1.16 +1.14 +1.16 +1.21 +1.26 +1.25 +1.17 +1.01 +0.84 +0.73 +0.74 +0.87 +1.06 +1.22 +1.27 +1.2 +1.13 +1.18 +1.45 +1.92 +2.48 +2.92 +3.11 +3.02 +2.73 +2.41 +2.19 +2.1 +2.07 +2.02 +1.89 +1.71 +1.57 +1.57 +1.76 +2.05 +2.33 +2.44 +2.33 +2.05 +1.76 +1.57 +1.57 +1.71 +1.89 +2.02 +2.07 +2.1 +2.19 +2.41 +2.73 +3.02 +3.11 +2.92 +2.48 +1.92 +1.45 +1.18 +1.13 +1.2 +1.27 +1.22 +1.06 +0.87 +0.74 +0.73 +0.84 +1.01 +1.17 +1.25 +1.26 +1.21 +1.16 +1.14 +1.31 +1.34 +1.42 +1.5 +1.51 +1.42 +1.23 +1.0 +0.84 +0.83 +0.99 +1.24 +1.46 +1.54 +1.49 +1.4 +1.47 +1.81 +2.42 +3.15 +3.76 +4.05 +3.97 +3.62 +3.19 +2.85 +2.66 +2.56 +2.45 +2.25 +2.0 +1.81 +1.8 +2.03 +2.39 +2.73 +2.86 +2.73 +2.39 +2.03 +1.8 +1.81 +2.0 +2.25 +2.45 +2.56 +2.66 +2.85 +3.19 +3.62 +3.97 +4.05 +3.76 +3.15 +2.42 +1.81 +1.47 +1.4 +1.49 +1.54 +1.46 +1.24 +0.99 +0.83 +0.84 +1.0 +1.23 +1.42 +1.51 +1.5 +1.42 +1.34 +1.31 +1.34 +1.42 +1.5 +1.51 +1.42 +1.23 +1.0 +0.84 +0.83 +0.99 +1.24 +1.46 +1.54 +1.49 +1.4 +1.47 +1.81 +2.42 +3.15 +3.76 +4.05 +3.97 +3.62 +3.19 +2.85 +2.66 +2.56 +2.45 +2.25 +2.0 +1.81 +1.8 +2.03 +2.39 +2.73 +2.86 +2.73 +2.39 +2.03 +1.8 +1.81 +2.0 +2.25 +2.45 +2.56 +2.66 +2.85 +3.19 +3.62 +3.97 +4.05 +3.76 +3.15 +2.42 +1.81 +1.47 +1.4 +1.49 +1.54 +1.46 +1.24 +0.99 +0.83 +0.84 +1.0 +1.23 +1.42 +1.51 +1.5 +1.42 +1.34 +1.31 +1.2 +1.25 +1.38 +1.52 +1.58 +1.51 +1.31 +1.04 +0.85 +0.82 +0.99 +1.28 +1.52 +1.59 +1.48 +1.33 +1.35 +1.71 +2.42 +3.31 +4.07 +4.46 +4.39 +3.97 +3.43 +2.98 +2.71 +2.55 +2.39 +2.13 +1.82 +1.58 +1.56 +1.8 +2.21 +2.59 +2.74 +2.59 +2.21 +1.8 +1.56 +1.58 +1.82 +2.13 +2.39 +2.55 +2.71 +2.98 +3.43 +3.97 +4.39 +4.46 +4.07 +3.31 +2.42 +1.71 +1.35 +1.33 +1.48 +1.59 +1.52 +1.28 +0.99 +0.82 +0.85 +1.04 +1.31 +1.51 +1.58 +1.52 +1.38 +1.25 +1.2 +1.25 +1.38 +1.52 +1.58 +1.51 +1.31 +1.04 +0.85 +0.82 +0.99 +1.28 +1.52 +1.59 +1.48 +1.33 +1.35 +1.71 +2.42 +3.31 +4.07 +4.46 +4.39 +3.97 +3.43 +2.98 +2.71 +2.55 +2.39 +2.13 +1.82 +1.58 +1.56 +1.8 +2.21 +2.59 +2.74 +2.59 +2.21 +1.8 +1.56 +1.58 +1.82 +2.13 +2.39 +2.55 +2.71 +2.98 +3.43 +3.97 +4.39 +4.46 +4.07 +3.31 +2.42 +1.71 +1.35 +1.33 +1.48 +1.59 +1.52 +1.28 +0.99 +0.82 +0.85 +1.04 +1.31 +1.51 +1.58 +1.52 +1.38 +1.25 +1.2 +0.86 +0.93 +1.12 +1.34 +1.47 +1.45 +1.25 +0.97 +0.74 +0.71 +0.89 +1.18 +1.41 +1.43 +1.23 +0.97 +0.9 +1.25 +2.02 +3.01 +3.88 +4.35 +4.29 +3.82 +3.19 +2.66 +2.31 +2.11 +1.91 +1.61 +1.25 +0.97 +0.92 +1.16 +1.59 +2.0 +2.16 +2.0 +1.59 +1.16 +0.92 +0.97 +1.25 +1.61 +1.91 +2.11 +2.31 +2.66 +3.19 +3.82 +4.29 +4.35 +3.88 +3.01 +2.02 +1.25 +0.9 +0.97 +1.23 +1.43 +1.41 +1.18 +0.89 +0.71 +0.74 +0.97 +1.25 +1.45 +1.47 +1.34 +1.12 +0.93 +0.86 +0.93 +1.12 +1.34 +1.47 +1.45 +1.25 +0.97 +0.74 +0.71 +0.89 +1.18 +1.41 +1.43 +1.23 +0.97 +0.9 +1.25 +2.02 +3.01 +3.88 +4.35 +4.29 +3.82 +3.19 +2.66 +2.31 +2.11 +1.91 +1.61 +1.25 +0.97 +0.92 +1.16 +1.59 +2.0 +2.16 +2.0 +1.59 +1.16 +0.92 +0.97 +1.25 +1.61 +1.91 +2.11 +2.31 +2.66 +3.19 +3.82 +4.29 +4.35 +3.88 +3.01 +2.02 +1.25 +0.9 +0.97 +1.23 +1.43 +1.41 +1.18 +0.89 +0.71 +0.74 +0.97 +1.25 +1.45 +1.47 +1.34 +1.12 +0.93 +0.86 +0.49 +0.59 +0.82 +1.11 +1.3 +1.32 +1.14 +0.85 +0.62 +0.58 +0.76 +1.05 +1.26 +1.22 +0.93 +0.57 +0.43 +0.74 +1.53 +2.58 +3.52 +4.03 +3.98 +3.48 +2.79 +2.2 +1.81 +1.58 +1.35 +1.03 +0.64 +0.33 +0.26 +0.5 +0.93 +1.34 +1.51 +1.34 +0.93 +0.5 +0.26 +0.33 +0.64 +1.03 +1.35 +1.58 +1.81 +2.2 +2.79 +3.48 +3.98 +4.03 +3.52 +2.58 +1.53 +0.74 +0.43 +0.57 +0.93 +1.22 +1.26 +1.05 +0.76 +0.58 +0.62 +0.85 +1.14 +1.32 +1.3 +1.11 +0.82 +0.59 +0.49 +0.59 +0.82 +1.11 +1.3 +1.32 +1.14 +0.85 +0.62 +0.58 +0.76 +1.05 +1.26 +1.22 +0.93 +0.57 +0.43 +0.74 +1.53 +2.58 +3.52 +4.03 +3.98 +3.48 +2.79 +2.2 +1.81 +1.58 +1.35 +1.03 +0.64 +0.33 +0.26 +0.5 +0.93 +1.34 +1.51 +1.34 +0.93 +0.5 +0.26 +0.33 +0.64 +1.03 +1.35 +1.58 +1.81 +2.2 +2.79 +3.48 +3.98 +4.03 +3.52 +2.58 +1.53 +0.74 +0.43 +0.57 +0.93 +1.22 +1.26 +1.05 +0.76 +0.58 +0.62 +0.85 +1.14 +1.32 +1.3 +1.11 +0.82 +0.59 +0.49 +0.34 +0.44 +0.69 +1.0 +1.22 +1.26 +1.08 +0.8 +0.56 +0.52 +0.7 +0.98 +1.18 +1.12 +0.8 +0.4 +0.22 +0.52 +1.31 +2.38 +3.35 +3.88 +3.82 +3.31 +2.61 +1.99 +1.59 +1.35 +1.11 +0.79 +0.39 +0.06 +0.0 +0.21 +0.65 +1.06 +1.23 +1.06 +0.65 +0.21 +0.0 +0.06 +0.39 +0.79 +1.11 +1.35 +1.59 +1.99 +2.61 +3.31 +3.82 +3.88 +3.35 +2.38 +1.31 +0.52 +0.22 +0.4 +0.8 +1.12 +1.18 +0.98 +0.7 +0.52 +0.56 +0.8 +1.08 +1.26 +1.22 +1.0 +0.69 +0.44 +0.34 +0.44 +0.69 +1.0 +1.22 +1.26 +1.08 +0.8 +0.56 +0.52 +0.7 +0.98 +1.18 +1.12 +0.8 +0.4 +0.22 +0.52 +1.31 +2.38 +3.35 +3.88 +3.82 +3.31 +2.61 +1.99 +1.59 +1.35 +1.11 +0.79 +0.39 +0.06 +0.0 +0.21 +0.65 +1.06 +1.23 +1.06 +0.65 +0.21 +0.0 +0.06 +0.39 +0.79 +1.11 +1.35 +1.59 +1.99 +2.61 +3.31 +3.82 +3.88 +3.35 +2.38 +1.31 +0.52 +0.22 +0.4 +0.8 +1.12 +1.18 +0.98 +0.7 +0.52 +0.56 +0.8 +1.08 +1.26 +1.22 +1.0 +0.69 +0.44 +0.34 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.37 +0.38 +0.37 +0.4 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +2.01 +2.19 +2.27 +2.23 +2.08 +1.86 +1.62 +1.38 +1.15 +0.93 +0.73 +0.56 +0.45 +0.4 +0.39 +0.35 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.35 +0.39 +0.4 +0.45 +0.56 +0.73 +0.93 +1.15 +1.38 +1.61 +1.85 +2.07 +2.22 +2.27 +2.18 +2.0 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.4 +0.38 +0.39 +0.37 +0.28 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.37 +0.38 +0.37 +0.4 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.76 +2.01 +2.19 +2.27 +2.23 +2.08 +1.86 +1.62 +1.38 +1.15 +0.93 +0.73 +0.56 +0.45 +0.4 +0.39 +0.35 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.35 +0.39 +0.4 +0.45 +0.56 +0.73 +0.93 +1.15 +1.38 +1.61 +1.85 +2.07 +2.22 +2.27 +2.18 +2.0 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.4 +0.38 +0.39 +0.37 +0.28 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.31 +0.43 +0.47 +0.43 +0.36 +0.34 +0.38 +0.5 +0.68 +0.89 +1.13 +1.4 +1.69 +1.99 +2.23 +2.37 +2.38 +2.25 +2.04 +1.78 +1.52 +1.27 +1.03 +0.82 +0.65 +0.54 +0.49 +0.48 +0.44 +0.35 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.35 +0.45 +0.49 +0.5 +0.55 +0.65 +0.81 +1.02 +1.25 +1.51 +1.77 +2.02 +2.23 +2.35 +2.34 +2.2 +1.97 +1.68 +1.39 +1.12 +0.88 +0.67 +0.5 +0.39 +0.35 +0.38 +0.45 +0.49 +0.44 +0.31 +0.12 +0.0 +0.0 +0.0 +0.12 +0.31 +0.43 +0.47 +0.43 +0.36 +0.34 +0.38 +0.5 +0.68 +0.89 +1.13 +1.4 +1.69 +1.99 +2.23 +2.37 +2.38 +2.25 +2.04 +1.78 +1.52 +1.27 +1.03 +0.82 +0.65 +0.54 +0.49 +0.48 +0.44 +0.35 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.35 +0.45 +0.49 +0.5 +0.55 +0.65 +0.81 +1.02 +1.25 +1.51 +1.77 +2.02 +2.23 +2.35 +2.34 +2.2 +1.97 +1.68 +1.39 +1.12 +0.88 +0.67 +0.5 +0.39 +0.35 +0.38 +0.45 +0.49 +0.44 +0.31 +0.12 +0.0 +0.0 +0.0 +0.37 +0.49 +0.61 +0.68 +0.66 +0.56 +0.44 +0.35 +0.34 +0.41 +0.55 +0.75 +0.99 +1.28 +1.61 +1.96 +2.27 +2.49 +2.56 +2.49 +2.3 +2.04 +1.76 +1.49 +1.26 +1.06 +0.91 +0.82 +0.78 +0.77 +0.74 +0.67 +0.53 +0.36 +0.21 +0.15 +0.2 +0.34 +0.52 +0.66 +0.75 +0.78 +0.78 +0.81 +0.89 +1.03 +1.22 +1.46 +1.72 +2.0 +2.25 +2.44 +2.5 +2.43 +2.22 +1.92 +1.59 +1.27 +0.99 +0.75 +0.55 +0.42 +0.36 +0.38 +0.48 +0.6 +0.69 +0.7 +0.62 +0.48 +0.37 +0.32 +0.37 +0.49 +0.61 +0.68 +0.66 +0.56 +0.44 +0.35 +0.34 +0.41 +0.55 +0.75 +0.99 +1.28 +1.61 +1.96 +2.27 +2.49 +2.56 +2.49 +2.3 +2.04 +1.76 +1.49 +1.26 +1.06 +0.91 +0.82 +0.78 +0.77 +0.74 +0.67 +0.53 +0.36 +0.21 +0.15 +0.2 +0.34 +0.52 +0.66 +0.75 +0.78 +0.78 +0.81 +0.89 +1.03 +1.22 +1.46 +1.72 +2.0 +2.25 +2.44 +2.5 +2.43 +2.22 +1.92 +1.59 +1.27 +0.99 +0.75 +0.55 +0.42 +0.36 +0.38 +0.48 +0.6 +0.69 +0.7 +0.62 +0.48 +0.37 +0.32 +0.37 +0.8 +0.88 +0.96 +0.97 +0.91 +0.79 +0.64 +0.51 +0.45 +0.47 +0.57 +0.72 +0.94 +1.21 +1.55 +1.92 +2.27 +2.56 +2.71 +2.71 +2.57 +2.34 +2.07 +1.82 +1.61 +1.45 +1.34 +1.28 +1.27 +1.28 +1.28 +1.24 +1.15 +1.01 +0.89 +0.84 +0.87 +0.97 +1.1 +1.21 +1.27 +1.28 +1.25 +1.24 +1.28 +1.37 +1.52 +1.74 +2.0 +2.26 +2.49 +2.62 +2.62 +2.47 +2.21 +1.87 +1.53 +1.21 +0.95 +0.73 +0.57 +0.49 +0.48 +0.56 +0.7 +0.85 +0.96 +0.99 +0.95 +0.86 +0.79 +0.76 +0.8 +0.88 +0.96 +0.97 +0.91 +0.79 +0.64 +0.51 +0.45 +0.47 +0.57 +0.72 +0.94 +1.21 +1.55 +1.92 +2.27 +2.56 +2.71 +2.71 +2.57 +2.34 +2.07 +1.82 +1.61 +1.45 +1.34 +1.28 +1.27 +1.28 +1.28 +1.24 +1.15 +1.01 +0.89 +0.84 +0.87 +0.97 +1.1 +1.21 +1.27 +1.28 +1.25 +1.24 +1.28 +1.37 +1.52 +1.74 +2.0 +2.26 +2.49 +2.62 +2.62 +2.47 +2.21 +1.87 +1.53 +1.21 +0.95 +0.73 +0.57 +0.49 +0.48 +0.56 +0.7 +0.85 +0.96 +0.99 +0.95 +0.86 +0.79 +0.76 +0.8 +1.15 +1.2 +1.24 +1.24 +1.17 +1.05 +0.91 +0.78 +0.7 +0.67 +0.72 +0.81 +0.97 +1.19 +1.48 +1.83 +2.2 +2.52 +2.75 +2.83 +2.76 +2.59 +2.38 +2.17 +2.0 +1.89 +1.83 +1.82 +1.85 +1.89 +1.92 +1.92 +1.87 +1.77 +1.68 +1.63 +1.64 +1.7 +1.79 +1.86 +1.88 +1.85 +1.78 +1.73 +1.7 +1.74 +1.85 +2.03 +2.25 +2.48 +2.66 +2.72 +2.64 +2.43 +2.13 +1.79 +1.48 +1.21 +1.0 +0.84 +0.74 +0.7 +0.74 +0.84 +0.98 +1.12 +1.22 +1.25 +1.23 +1.17 +1.13 +1.12 +1.15 +1.2 +1.24 +1.24 +1.17 +1.05 +0.91 +0.78 +0.7 +0.67 +0.72 +0.81 +0.97 +1.19 +1.48 +1.83 +2.2 +2.52 +2.75 +2.83 +2.76 +2.59 +2.38 +2.17 +2.0 +1.89 +1.83 +1.82 +1.85 +1.89 +1.92 +1.92 +1.87 +1.77 +1.68 +1.63 +1.64 +1.7 +1.79 +1.86 +1.88 +1.85 +1.78 +1.73 +1.7 +1.74 +1.85 +2.03 +2.25 +2.48 +2.66 +2.72 +2.64 +2.43 +2.13 +1.79 +1.48 +1.21 +1.0 +0.84 +0.74 +0.7 +0.74 +0.84 +0.98 +1.12 +1.22 +1.25 +1.23 +1.17 +1.13 +1.12 +1.15 +1.36 +1.38 +1.39 +1.37 +1.32 +1.24 +1.14 +1.04 +0.95 +0.9 +0.9 +0.93 +1.01 +1.15 +1.37 +1.66 +2.0 +2.35 +2.63 +2.79 +2.82 +2.73 +2.57 +2.41 +2.28 +2.2 +2.18 +2.2 +2.26 +2.34 +2.42 +2.45 +2.44 +2.39 +2.32 +2.27 +2.26 +2.29 +2.34 +2.36 +2.34 +2.26 +2.16 +2.06 +1.99 +1.99 +2.07 +2.22 +2.41 +2.59 +2.7 +2.69 +2.54 +2.27 +1.96 +1.65 +1.39 +1.2 +1.07 +0.98 +0.94 +0.94 +1.0 +1.1 +1.22 +1.31 +1.37 +1.37 +1.35 +1.33 +1.32 +1.34 +1.36 +1.38 +1.39 +1.37 +1.32 +1.24 +1.14 +1.04 +0.95 +0.9 +0.9 +0.93 +1.01 +1.15 +1.37 +1.66 +2.0 +2.35 +2.63 +2.79 +2.82 +2.73 +2.57 +2.41 +2.28 +2.2 +2.18 +2.2 +2.26 +2.34 +2.42 +2.45 +2.44 +2.39 +2.32 +2.27 +2.26 +2.29 +2.34 +2.36 +2.34 +2.26 +2.16 +2.06 +1.99 +1.99 +2.07 +2.22 +2.41 +2.59 +2.7 +2.69 +2.54 +2.27 +1.96 +1.65 +1.39 +1.2 +1.07 +0.98 +0.94 +0.94 +1.0 +1.1 +1.22 +1.31 +1.37 +1.37 +1.35 +1.33 +1.32 +1.34 +1.36 +1.39 +1.38 +1.35 +1.31 +1.28 +1.24 +1.19 +1.13 +1.06 +1.0 +0.97 +0.96 +0.97 +1.04 +1.17 +1.39 +1.69 +2.04 +2.36 +2.59 +2.7 +2.68 +2.59 +2.46 +2.35 +2.27 +2.25 +2.29 +2.37 +2.48 +2.59 +2.67 +2.7 +2.69 +2.64 +2.6 +2.58 +2.58 +2.58 +2.55 +2.48 +2.37 +2.23 +2.11 +2.03 +2.02 +2.1 +2.24 +2.41 +2.56 +2.61 +2.52 +2.31 +2.02 +1.7 +1.43 +1.24 +1.12 +1.06 +1.03 +1.03 +1.06 +1.12 +1.2 +1.27 +1.3 +1.31 +1.29 +1.29 +1.31 +1.34 +1.37 +1.39 +1.38 +1.35 +1.31 +1.28 +1.24 +1.19 +1.13 +1.06 +1.0 +0.97 +0.96 +0.97 +1.04 +1.17 +1.39 +1.69 +2.04 +2.36 +2.59 +2.7 +2.68 +2.59 +2.46 +2.35 +2.27 +2.25 +2.29 +2.37 +2.48 +2.59 +2.67 +2.7 +2.69 +2.64 +2.6 +2.58 +2.58 +2.58 +2.55 +2.48 +2.37 +2.23 +2.11 +2.03 +2.02 +2.1 +2.24 +2.41 +2.56 +2.61 +2.52 +2.31 +2.02 +1.7 +1.43 +1.24 +1.12 +1.06 +1.03 +1.03 +1.06 +1.12 +1.2 +1.27 +1.3 +1.31 +1.29 +1.29 +1.31 +1.34 +1.37 +1.39 +1.24 +1.19 +1.11 +1.05 +1.02 +1.01 +1.0 +0.98 +0.94 +0.89 +0.85 +0.81 +0.8 +0.81 +0.89 +1.05 +1.31 +1.63 +1.97 +2.25 +2.42 +2.48 +2.43 +2.32 +2.21 +2.12 +2.09 +2.11 +2.2 +2.33 +2.48 +2.61 +2.7 +2.73 +2.71 +2.68 +2.64 +2.61 +2.56 +2.48 +2.35 +2.2 +2.04 +1.91 +1.85 +1.86 +1.96 +2.11 +2.28 +2.39 +2.39 +2.26 +2.01 +1.69 +1.39 +1.15 +1.01 +0.93 +0.9 +0.9 +0.92 +0.95 +1.0 +1.05 +1.07 +1.06 +1.02 +1.01 +1.03 +1.1 +1.19 +1.24 +1.24 +1.19 +1.11 +1.05 +1.02 +1.01 +1.0 +0.98 +0.94 +0.89 +0.85 +0.81 +0.8 +0.81 +0.89 +1.05 +1.31 +1.63 +1.97 +2.25 +2.42 +2.48 +2.43 +2.32 +2.21 +2.12 +2.09 +2.11 +2.2 +2.33 +2.48 +2.61 +2.7 +2.73 +2.71 +2.68 +2.64 +2.61 +2.56 +2.48 +2.35 +2.2 +2.04 +1.91 +1.85 +1.86 +1.96 +2.11 +2.28 +2.39 +2.39 +2.26 +2.01 +1.69 +1.39 +1.15 +1.01 +0.93 +0.9 +0.9 +0.92 +0.95 +1.0 +1.05 +1.07 +1.06 +1.02 +1.01 +1.03 +1.1 +1.19 +1.24 +1.24 +0.97 +0.87 +0.74 +0.64 +0.59 +0.6 +0.63 +0.64 +0.62 +0.59 +0.55 +0.52 +0.51 +0.52 +0.57 +0.69 +0.9 +1.2 +1.53 +1.83 +2.05 +2.16 +2.16 +2.09 +1.99 +1.9 +1.86 +1.89 +1.99 +2.15 +2.34 +2.53 +2.67 +2.75 +2.77 +2.74 +2.69 +2.62 +2.51 +2.36 +2.17 +1.97 +1.79 +1.66 +1.61 +1.65 +1.76 +1.91 +2.05 +2.13 +2.09 +1.93 +1.66 +1.35 +1.07 +0.86 +0.73 +0.67 +0.64 +0.63 +0.64 +0.66 +0.69 +0.71 +0.69 +0.64 +0.59 +0.58 +0.64 +0.77 +0.9 +0.98 +0.97 +0.87 +0.74 +0.64 +0.59 +0.6 +0.63 +0.64 +0.62 +0.59 +0.55 +0.52 +0.51 +0.52 +0.57 +0.69 +0.9 +1.2 +1.53 +1.83 +2.05 +2.16 +2.16 +2.09 +1.99 +1.9 +1.86 +1.89 +1.99 +2.15 +2.34 +2.53 +2.67 +2.75 +2.77 +2.74 +2.69 +2.62 +2.51 +2.36 +2.17 +1.97 +1.79 +1.66 +1.61 +1.65 +1.76 +1.91 +2.05 +2.13 +2.09 +1.93 +1.66 +1.35 +1.07 +0.86 +0.73 +0.67 +0.64 +0.63 +0.64 +0.66 +0.69 +0.71 +0.69 +0.64 +0.59 +0.58 +0.64 +0.77 +0.9 +0.98 +0.97 +0.62 +0.48 +0.31 +0.18 +0.14 +0.16 +0.21 +0.25 +0.25 +0.22 +0.2 +0.19 +0.19 +0.22 +0.27 +0.36 +0.54 +0.79 +1.09 +1.39 +1.65 +1.81 +1.87 +1.87 +1.82 +1.78 +1.78 +1.85 +1.99 +2.19 +2.43 +2.66 +2.85 +2.97 +3.02 +3.01 +2.93 +2.81 +2.63 +2.41 +2.17 +1.93 +1.72 +1.57 +1.51 +1.52 +1.6 +1.7 +1.79 +1.82 +1.74 +1.56 +1.3 +1.02 +0.77 +0.59 +0.47 +0.39 +0.34 +0.31 +0.29 +0.3 +0.32 +0.31 +0.26 +0.19 +0.12 +0.12 +0.22 +0.39 +0.56 +0.65 +0.62 +0.48 +0.31 +0.18 +0.14 +0.16 +0.21 +0.25 +0.25 +0.22 +0.2 +0.19 +0.19 +0.22 +0.27 +0.36 +0.54 +0.79 +1.09 +1.39 +1.65 +1.81 +1.87 +1.87 +1.82 +1.78 +1.78 +1.85 +1.99 +2.19 +2.43 +2.66 +2.85 +2.97 +3.02 +3.01 +2.93 +2.81 +2.63 +2.41 +2.17 +1.93 +1.72 +1.57 +1.51 +1.52 +1.6 +1.7 +1.79 +1.82 +1.74 +1.56 +1.3 +1.02 +0.77 +0.59 +0.47 +0.39 +0.34 +0.31 +0.29 +0.3 +0.32 +0.31 +0.26 +0.19 +0.12 +0.12 +0.22 +0.39 +0.56 +0.65 +0.62 +0.27 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.11 +0.23 +0.43 +0.68 +0.97 +1.24 +1.46 +1.62 +1.71 +1.77 +1.83 +1.92 +2.07 +2.27 +2.52 +2.79 +3.05 +3.27 +3.42 +3.48 +3.47 +3.37 +3.2 +2.97 +2.69 +2.4 +2.13 +1.9 +1.72 +1.6 +1.55 +1.54 +1.54 +1.54 +1.49 +1.37 +1.18 +0.95 +0.71 +0.51 +0.36 +0.26 +0.17 +0.09 +0.04 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.22 +0.32 +0.27 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.11 +0.23 +0.43 +0.68 +0.97 +1.24 +1.46 +1.62 +1.71 +1.77 +1.83 +1.92 +2.07 +2.27 +2.52 +2.79 +3.05 +3.27 +3.42 +3.48 +3.47 +3.37 +3.2 +2.97 +2.69 +2.4 +2.13 +1.9 +1.72 +1.6 +1.55 +1.54 +1.54 +1.54 +1.49 +1.37 +1.18 +0.95 +0.71 +0.51 +0.36 +0.26 +0.17 +0.09 +0.04 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.22 +0.32 +0.27 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.15 +0.35 +0.61 +0.89 +1.16 +1.39 +1.59 +1.78 +1.97 +2.17 +2.41 +2.67 +2.95 +3.22 +3.48 +3.69 +3.84 +3.91 +3.88 +3.76 +3.56 +3.3 +3.01 +2.71 +2.43 +2.19 +1.98 +1.8 +1.65 +1.52 +1.41 +1.3 +1.17 +1.01 +0.82 +0.62 +0.44 +0.3 +0.19 +0.1 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.15 +0.35 +0.61 +0.89 +1.16 +1.39 +1.59 +1.78 +1.97 +2.17 +2.41 +2.67 +2.95 +3.22 +3.48 +3.69 +3.84 +3.91 +3.88 +3.76 +3.56 +3.3 +3.01 +2.71 +2.43 +2.19 +1.98 +1.8 +1.65 +1.52 +1.41 +1.3 +1.17 +1.01 +0.82 +0.62 +0.44 +0.3 +0.19 +0.1 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.36 +0.63 +0.92 +1.2 +1.47 +1.74 +2.03 +2.32 +2.62 +2.9 +3.17 +3.4 +3.61 +3.78 +3.9 +3.96 +3.92 +3.79 +3.59 +3.33 +3.06 +2.81 +2.58 +2.36 +2.15 +1.92 +1.69 +1.47 +1.26 +1.07 +0.9 +0.72 +0.54 +0.38 +0.24 +0.13 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.36 +0.63 +0.92 +1.2 +1.47 +1.74 +2.03 +2.32 +2.62 +2.9 +3.17 +3.4 +3.61 +3.78 +3.9 +3.96 +3.92 +3.79 +3.59 +3.33 +3.06 +2.81 +2.58 +2.36 +2.15 +1.92 +1.69 +1.47 +1.26 +1.07 +0.9 +0.72 +0.54 +0.38 +0.24 +0.13 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.08 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.52 +0.78 +1.04 +1.3 +1.58 +1.89 +2.2 +2.5 +2.75 +2.95 +3.1 +3.23 +3.34 +3.42 +3.46 +3.42 +3.3 +3.11 +2.9 +2.69 +2.52 +2.37 +2.23 +2.06 +1.84 +1.59 +1.33 +1.1 +0.9 +0.74 +0.58 +0.43 +0.28 +0.15 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.11 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.08 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.52 +0.78 +1.04 +1.3 +1.58 +1.89 +2.2 +2.5 +2.75 +2.95 +3.1 +3.23 +3.34 +3.42 +3.46 +3.42 +3.3 +3.11 +2.9 +2.69 +2.52 +2.37 +2.23 +2.06 +1.84 +1.59 +1.33 +1.1 +0.9 +0.74 +0.58 +0.43 +0.28 +0.15 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.11 +0.06 +0.34 +0.24 +0.15 +0.11 +0.15 +0.22 +0.29 +0.3 +0.24 +0.13 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.36 +0.57 +0.76 +0.93 +1.11 +1.31 +1.55 +1.81 +2.04 +2.22 +2.31 +2.36 +2.39 +2.44 +2.5 +2.54 +2.52 +2.42 +2.26 +2.09 +1.95 +1.87 +1.84 +1.81 +1.72 +1.56 +1.35 +1.13 +0.95 +0.82 +0.73 +0.64 +0.52 +0.36 +0.2 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.13 +0.17 +0.16 +0.13 +0.1 +0.1 +0.17 +0.27 +0.35 +0.38 +0.34 +0.24 +0.15 +0.11 +0.15 +0.22 +0.29 +0.3 +0.24 +0.13 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.36 +0.57 +0.76 +0.93 +1.11 +1.31 +1.55 +1.81 +2.04 +2.22 +2.31 +2.36 +2.39 +2.44 +2.5 +2.54 +2.52 +2.42 +2.26 +2.09 +1.95 +1.87 +1.84 +1.81 +1.72 +1.56 +1.35 +1.13 +0.95 +0.82 +0.73 +0.64 +0.52 +0.36 +0.2 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.13 +0.17 +0.16 +0.13 +0.1 +0.1 +0.17 +0.27 +0.35 +0.38 +0.34 +0.64 +0.57 +0.49 +0.46 +0.46 +0.49 +0.5 +0.48 +0.42 +0.33 +0.23 +0.13 +0.04 +0.0 +0.0 +0.0 +0.0 +0.12 +0.35 +0.57 +0.74 +0.84 +0.88 +0.91 +0.99 +1.13 +1.29 +1.44 +1.51 +1.5 +1.44 +1.4 +1.42 +1.49 +1.56 +1.58 +1.51 +1.37 +1.21 +1.12 +1.11 +1.18 +1.26 +1.27 +1.2 +1.06 +0.92 +0.83 +0.81 +0.83 +0.83 +0.75 +0.58 +0.36 +0.15 +0.01 +0.0 +0.0 +0.05 +0.13 +0.2 +0.25 +0.29 +0.32 +0.34 +0.37 +0.41 +0.47 +0.55 +0.63 +0.69 +0.69 +0.64 +0.57 +0.49 +0.46 +0.46 +0.49 +0.5 +0.48 +0.42 +0.33 +0.23 +0.13 +0.04 +0.0 +0.0 +0.0 +0.0 +0.12 +0.35 +0.57 +0.74 +0.84 +0.88 +0.91 +0.99 +1.13 +1.29 +1.44 +1.51 +1.5 +1.44 +1.4 +1.42 +1.49 +1.56 +1.58 +1.51 +1.37 +1.21 +1.12 +1.11 +1.18 +1.26 +1.27 +1.2 +1.06 +0.92 +0.83 +0.81 +0.83 +0.83 +0.75 +0.58 +0.36 +0.15 +0.01 +0.0 +0.0 +0.05 +0.13 +0.2 +0.25 +0.29 +0.32 +0.34 +0.37 +0.41 +0.47 +0.55 +0.63 +0.69 +0.69 +0.64 +0.81 +0.76 +0.73 +0.7 +0.68 +0.65 +0.62 +0.58 +0.55 +0.51 +0.47 +0.39 +0.27 +0.13 +0.01 +0.0 +0.06 +0.27 +0.54 +0.78 +0.91 +0.91 +0.82 +0.71 +0.67 +0.72 +0.82 +0.9 +0.89 +0.8 +0.67 +0.6 +0.63 +0.75 +0.89 +0.97 +0.92 +0.77 +0.58 +0.47 +0.49 +0.62 +0.78 +0.88 +0.88 +0.8 +0.72 +0.72 +0.81 +0.94 +1.03 +0.99 +0.81 +0.52 +0.24 +0.05 +0.0 +0.08 +0.23 +0.36 +0.44 +0.46 +0.45 +0.44 +0.46 +0.53 +0.64 +0.74 +0.83 +0.88 +0.89 +0.86 +0.81 +0.76 +0.73 +0.7 +0.68 +0.65 +0.62 +0.58 +0.55 +0.51 +0.47 +0.39 +0.27 +0.13 +0.01 +0.0 +0.06 +0.27 +0.54 +0.78 +0.91 +0.91 +0.82 +0.71 +0.67 +0.72 +0.82 +0.9 +0.89 +0.8 +0.67 +0.6 +0.63 +0.75 +0.89 +0.97 +0.92 +0.77 +0.58 +0.47 +0.49 +0.62 +0.78 +0.88 +0.88 +0.8 +0.72 +0.72 +0.81 +0.94 +1.03 +0.99 +0.81 +0.52 +0.24 +0.05 +0.0 +0.08 +0.23 +0.36 +0.44 +0.46 +0.45 +0.44 +0.46 +0.53 +0.64 +0.74 +0.83 +0.88 +0.89 +0.86 +0.81 +0.72 +0.72 +0.75 +0.76 +0.73 +0.67 +0.6 +0.56 +0.58 +0.64 +0.69 +0.66 +0.53 +0.33 +0.12 +0.02 +0.09 +0.31 +0.61 +0.86 +0.95 +0.86 +0.67 +0.47 +0.37 +0.39 +0.48 +0.55 +0.51 +0.37 +0.21 +0.14 +0.23 +0.44 +0.68 +0.82 +0.78 +0.58 +0.32 +0.14 +0.13 +0.27 +0.47 +0.62 +0.65 +0.59 +0.53 +0.55 +0.7 +0.91 +1.08 +1.09 +0.9 +0.58 +0.26 +0.05 +0.04 +0.2 +0.44 +0.64 +0.72 +0.68 +0.58 +0.49 +0.49 +0.57 +0.71 +0.84 +0.91 +0.9 +0.83 +0.76 +0.72 +0.72 +0.75 +0.76 +0.73 +0.67 +0.6 +0.56 +0.58 +0.64 +0.69 +0.66 +0.53 +0.33 +0.12 +0.02 +0.09 +0.31 +0.61 +0.86 +0.95 +0.86 +0.67 +0.47 +0.37 +0.39 +0.48 +0.55 +0.51 +0.37 +0.21 +0.14 +0.23 +0.44 +0.68 +0.82 +0.78 +0.58 +0.32 +0.14 +0.13 +0.27 +0.47 +0.62 +0.65 +0.59 +0.53 +0.55 +0.7 +0.91 +1.08 +1.09 +0.9 +0.58 +0.26 +0.05 +0.04 +0.2 +0.44 +0.64 +0.72 +0.68 +0.58 +0.49 +0.49 +0.57 +0.71 +0.84 +0.91 +0.9 +0.83 +0.76 +0.72 +0.38 +0.44 +0.55 +0.62 +0.62 +0.54 +0.45 +0.43 +0.52 +0.69 +0.85 +0.9 +0.78 +0.52 +0.22 +0.03 +0.04 +0.23 +0.52 +0.74 +0.79 +0.64 +0.39 +0.16 +0.07 +0.13 +0.27 +0.36 +0.34 +0.19 +0.04 +0.0 +0.15 +0.46 +0.79 +0.99 +0.95 +0.68 +0.33 +0.05 +0.0 +0.09 +0.3 +0.46 +0.49 +0.41 +0.3 +0.29 +0.44 +0.68 +0.9 +0.96 +0.8 +0.49 +0.16 +0.0 +0.05 +0.31 +0.65 +0.91 +0.98 +0.87 +0.65 +0.47 +0.4 +0.48 +0.62 +0.74 +0.76 +0.67 +0.52 +0.41 +0.38 +0.44 +0.55 +0.62 +0.62 +0.54 +0.45 +0.43 +0.52 +0.69 +0.85 +0.9 +0.78 +0.52 +0.22 +0.03 +0.04 +0.23 +0.52 +0.74 +0.79 +0.64 +0.39 +0.16 +0.07 +0.13 +0.27 +0.36 +0.34 +0.19 +0.04 +0.0 +0.15 +0.46 +0.79 +0.99 +0.95 +0.68 +0.33 +0.05 +0.0 +0.09 +0.3 +0.46 +0.49 +0.41 +0.3 +0.29 +0.44 +0.68 +0.9 +0.96 +0.8 +0.49 +0.16 +0.0 +0.05 +0.31 +0.65 +0.91 +0.98 +0.87 +0.65 +0.47 +0.4 +0.48 +0.62 +0.74 +0.76 +0.67 +0.52 +0.41 +0.38 +0.0 +0.06 +0.26 +0.4 +0.41 +0.32 +0.22 +0.22 +0.38 +0.66 +0.94 +1.08 +0.99 +0.68 +0.31 +0.02 +0.0 +0.08 +0.31 +0.5 +0.5 +0.31 +0.04 +0.0 +0.0 +0.0 +0.11 +0.27 +0.27 +0.14 +0.0 +0.0 +0.2 +0.59 +1.0 +1.24 +1.18 +0.86 +0.41 +0.04 +0.0 +0.0 +0.19 +0.36 +0.36 +0.22 +0.04 +0.0 +0.06 +0.3 +0.55 +0.66 +0.56 +0.29 +0.0 +0.0 +0.03 +0.4 +0.83 +1.13 +1.19 +0.99 +0.66 +0.37 +0.24 +0.28 +0.42 +0.52 +0.49 +0.32 +0.09 +0.0 +0.0 +0.06 +0.26 +0.4 +0.41 +0.32 +0.22 +0.22 +0.38 +0.66 +0.94 +1.08 +0.99 +0.68 +0.31 +0.02 +0.0 +0.08 +0.31 +0.5 +0.5 +0.31 +0.04 +0.0 +0.0 +0.0 +0.11 +0.27 +0.27 +0.14 +0.0 +0.0 +0.2 +0.59 +1.0 +1.24 +1.18 +0.86 +0.41 +0.04 +0.0 +0.0 +0.19 +0.36 +0.36 +0.22 +0.04 +0.0 +0.06 +0.3 +0.55 +0.66 +0.56 +0.29 +0.0 +0.0 +0.03 +0.4 +0.83 +1.13 +1.19 +0.99 +0.66 +0.37 +0.24 +0.28 +0.42 +0.52 +0.49 +0.32 +0.09 +0.0 +0.0 +0.0 +0.0 +0.04 +0.23 +0.25 +0.13 +0.0 +0.0 +0.2 +0.57 +0.96 +1.18 +1.13 +0.83 +0.4 +0.04 +0.0 +0.0 +0.15 +0.28 +0.24 +0.03 +0.0 +0.0 +0.0 +0.0 +0.01 +0.21 +0.24 +0.12 +0.0 +0.0 +0.23 +0.66 +1.1 +1.35 +1.29 +0.93 +0.43 +0.02 +0.0 +0.0 +0.11 +0.28 +0.27 +0.08 +0.0 +0.0 +0.0 +0.0 +0.21 +0.36 +0.31 +0.1 +0.0 +0.0 +0.04 +0.47 +0.96 +1.28 +1.3 +1.03 +0.61 +0.23 +0.05 +0.07 +0.21 +0.3 +0.24 +0.02 +0.0 +0.0 +0.0 +0.0 +0.04 +0.23 +0.25 +0.13 +0.0 +0.0 +0.2 +0.57 +0.96 +1.18 +1.13 +0.83 +0.4 +0.04 +0.0 +0.0 +0.15 +0.28 +0.24 +0.03 +0.0 +0.0 +0.0 +0.0 +0.01 +0.21 +0.24 +0.12 +0.0 +0.0 +0.23 +0.66 +1.1 +1.35 +1.29 +0.93 +0.43 +0.02 +0.0 +0.0 +0.11 +0.28 +0.27 +0.08 +0.0 +0.0 +0.0 +0.0 +0.21 +0.36 +0.31 +0.1 +0.0 +0.0 +0.04 +0.47 +0.96 +1.28 +1.3 +1.03 +0.61 +0.23 +0.05 +0.07 +0.21 +0.3 +0.24 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.23 +0.23 +0.07 +0.0 +0.0 +0.06 +0.47 +0.93 +1.22 +1.23 +0.95 +0.52 +0.14 +0.0 +0.0 +0.12 +0.22 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.23 +0.12 +0.0 +0.0 +0.23 +0.64 +1.06 +1.31 +1.24 +0.88 +0.39 +0.0 +0.0 +0.0 +0.1 +0.27 +0.25 +0.05 +0.0 +0.0 +0.0 +0.0 +0.02 +0.2 +0.2 +0.04 +0.0 +0.0 +0.09 +0.55 +1.04 +1.35 +1.33 +1.01 +0.53 +0.11 +0.0 +0.0 +0.09 +0.2 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.23 +0.23 +0.07 +0.0 +0.0 +0.06 +0.47 +0.93 +1.22 +1.23 +0.95 +0.52 +0.14 +0.0 +0.0 +0.12 +0.22 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.23 +0.12 +0.0 +0.0 +0.23 +0.64 +1.06 +1.31 +1.24 +0.88 +0.39 +0.0 +0.0 +0.0 +0.1 +0.27 +0.25 +0.05 +0.0 +0.0 +0.0 +0.0 +0.02 +0.2 +0.2 +0.04 +0.0 +0.0 +0.09 +0.55 +1.04 +1.35 +1.33 +1.01 +0.53 +0.11 +0.0 +0.0 +0.09 +0.2 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.27 +0.43 +0.38 +0.15 +0.0 +0.0 +0.01 +0.42 +0.89 +1.21 +1.26 +1.03 +0.64 +0.28 +0.1 +0.12 +0.26 +0.35 +0.3 +0.1 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.3 +0.19 +0.07 +0.07 +0.26 +0.61 +0.97 +1.18 +1.11 +0.8 +0.37 +0.01 +0.0 +0.0 +0.17 +0.34 +0.33 +0.14 +0.0 +0.0 +0.0 +0.0 +0.02 +0.21 +0.23 +0.11 +0.0 +0.0 +0.18 +0.6 +1.05 +1.33 +1.29 +0.95 +0.47 +0.05 +0.0 +0.0 +0.11 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.27 +0.43 +0.38 +0.15 +0.0 +0.0 +0.01 +0.42 +0.89 +1.21 +1.26 +1.03 +0.64 +0.28 +0.1 +0.12 +0.26 +0.35 +0.3 +0.1 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.3 +0.19 +0.07 +0.07 +0.26 +0.61 +0.97 +1.18 +1.11 +0.8 +0.37 +0.01 +0.0 +0.0 +0.17 +0.34 +0.33 +0.14 +0.0 +0.0 +0.0 +0.0 +0.02 +0.21 +0.23 +0.11 +0.0 +0.0 +0.18 +0.6 +1.05 +1.33 +1.29 +0.95 +0.47 +0.05 +0.0 +0.0 +0.11 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.16 +0.37 +0.6 +0.71 +0.61 +0.34 +0.05 +0.0 +0.06 +0.42 +0.85 +1.16 +1.22 +1.03 +0.69 +0.38 +0.24 +0.28 +0.42 +0.53 +0.51 +0.34 +0.11 +0.0 +0.0 +0.03 +0.22 +0.37 +0.4 +0.33 +0.22 +0.21 +0.34 +0.6 +0.88 +1.03 +0.98 +0.73 +0.39 +0.11 +0.02 +0.12 +0.31 +0.46 +0.45 +0.27 +0.01 +0.0 +0.0 +0.0 +0.12 +0.29 +0.31 +0.2 +0.06 +0.04 +0.23 +0.59 +0.99 +1.22 +1.18 +0.87 +0.43 +0.07 +0.0 +0.01 +0.24 +0.43 +0.48 +0.37 +0.19 +0.09 +0.16 +0.37 +0.6 +0.71 +0.61 +0.34 +0.05 +0.0 +0.06 +0.42 +0.85 +1.16 +1.22 +1.03 +0.69 +0.38 +0.24 +0.28 +0.42 +0.53 +0.51 +0.34 +0.11 +0.0 +0.0 +0.03 +0.22 +0.37 +0.4 +0.33 +0.22 +0.21 +0.34 +0.6 +0.88 +1.03 +0.98 +0.73 +0.39 +0.11 +0.02 +0.12 +0.31 +0.46 +0.45 +0.27 +0.01 +0.0 +0.0 +0.0 +0.12 +0.29 +0.31 +0.2 +0.06 +0.04 +0.23 +0.59 +0.99 +1.22 +1.18 +0.87 +0.43 +0.07 +0.0 +0.01 +0.24 +0.43 +0.48 +0.37 +0.19 +0.09 +0.16 +0.5 +0.68 +0.86 +0.92 +0.79 +0.51 +0.22 +0.08 +0.16 +0.45 +0.8 +1.06 +1.09 +0.91 +0.62 +0.36 +0.24 +0.3 +0.46 +0.59 +0.61 +0.49 +0.29 +0.12 +0.06 +0.14 +0.28 +0.41 +0.47 +0.43 +0.36 +0.34 +0.42 +0.59 +0.78 +0.88 +0.84 +0.66 +0.42 +0.23 +0.19 +0.28 +0.43 +0.54 +0.52 +0.36 +0.12 +0.0 +0.0 +0.0 +0.17 +0.3 +0.31 +0.2 +0.06 +0.03 +0.17 +0.47 +0.81 +1.03 +1.01 +0.77 +0.42 +0.13 +0.03 +0.15 +0.38 +0.59 +0.67 +0.61 +0.49 +0.43 +0.5 +0.68 +0.86 +0.92 +0.79 +0.51 +0.22 +0.08 +0.16 +0.45 +0.8 +1.06 +1.09 +0.91 +0.62 +0.36 +0.24 +0.3 +0.46 +0.59 +0.61 +0.49 +0.29 +0.12 +0.06 +0.14 +0.28 +0.41 +0.47 +0.43 +0.36 +0.34 +0.42 +0.59 +0.78 +0.88 +0.84 +0.66 +0.42 +0.23 +0.19 +0.28 +0.43 +0.54 +0.52 +0.36 +0.12 +0.0 +0.0 +0.0 +0.17 +0.3 +0.31 +0.2 +0.06 +0.03 +0.17 +0.47 +0.81 +1.03 +1.01 +0.77 +0.42 +0.13 +0.03 +0.15 +0.38 +0.59 +0.67 +0.61 +0.49 +0.43 +0.5 +0.63 +0.77 +0.91 +0.94 +0.81 +0.57 +0.33 +0.2 +0.25 +0.47 +0.73 +0.9 +0.89 +0.7 +0.43 +0.19 +0.09 +0.16 +0.31 +0.46 +0.51 +0.42 +0.26 +0.1 +0.03 +0.07 +0.19 +0.33 +0.41 +0.42 +0.38 +0.36 +0.4 +0.5 +0.62 +0.69 +0.67 +0.56 +0.41 +0.3 +0.28 +0.35 +0.47 +0.54 +0.5 +0.34 +0.14 +0.0 +0.0 +0.0 +0.14 +0.23 +0.22 +0.11 +0.0 +0.0 +0.03 +0.28 +0.58 +0.78 +0.81 +0.65 +0.4 +0.2 +0.15 +0.27 +0.48 +0.67 +0.74 +0.7 +0.62 +0.57 +0.63 +0.77 +0.91 +0.94 +0.81 +0.57 +0.33 +0.2 +0.25 +0.47 +0.73 +0.9 +0.89 +0.7 +0.43 +0.19 +0.09 +0.16 +0.31 +0.46 +0.51 +0.42 +0.26 +0.1 +0.03 +0.07 +0.19 +0.33 +0.41 +0.42 +0.38 +0.36 +0.4 +0.5 +0.62 +0.69 +0.67 +0.56 +0.41 +0.3 +0.28 +0.35 +0.47 +0.54 +0.5 +0.34 +0.14 +0.0 +0.0 +0.0 +0.14 +0.23 +0.22 +0.11 +0.0 +0.0 +0.03 +0.28 +0.58 +0.78 +0.81 +0.65 +0.4 +0.2 +0.15 +0.27 +0.48 +0.67 +0.74 +0.7 +0.62 +0.57 +0.63 +0.58 +0.68 +0.78 +0.8 +0.7 +0.52 +0.34 +0.25 +0.3 +0.45 +0.63 +0.73 +0.68 +0.48 +0.21 +0.0 +0.0 +0.0 +0.09 +0.24 +0.3 +0.24 +0.09 +0.0 +0.0 +0.0 +0.01 +0.16 +0.26 +0.3 +0.29 +0.27 +0.29 +0.35 +0.45 +0.52 +0.54 +0.48 +0.39 +0.32 +0.32 +0.38 +0.47 +0.51 +0.47 +0.34 +0.17 +0.03 +0.0 +0.06 +0.17 +0.24 +0.21 +0.09 +0.0 +0.0 +0.0 +0.13 +0.39 +0.58 +0.64 +0.55 +0.39 +0.27 +0.26 +0.36 +0.53 +0.66 +0.7 +0.66 +0.58 +0.54 +0.58 +0.68 +0.78 +0.8 +0.7 +0.52 +0.34 +0.25 +0.3 +0.45 +0.63 +0.73 +0.68 +0.48 +0.21 +0.0 +0.0 +0.0 +0.09 +0.24 +0.3 +0.24 +0.09 +0.0 +0.0 +0.0 +0.01 +0.16 +0.26 +0.3 +0.29 +0.27 +0.29 +0.35 +0.45 +0.52 +0.54 +0.48 +0.39 +0.32 +0.32 +0.38 +0.47 +0.51 +0.47 +0.34 +0.17 +0.03 +0.0 +0.06 +0.17 +0.24 +0.21 +0.09 +0.0 +0.0 +0.0 +0.13 +0.39 +0.58 +0.64 +0.55 +0.39 +0.27 +0.26 +0.36 +0.53 +0.66 +0.7 +0.66 +0.58 +0.54 +0.58 +0.48 +0.55 +0.62 +0.63 +0.56 +0.44 +0.32 +0.26 +0.3 +0.42 +0.55 +0.61 +0.55 +0.35 +0.1 +0.0 +0.0 +0.0 +0.0 +0.15 +0.23 +0.19 +0.05 +0.0 +0.0 +0.0 +0.0 +0.08 +0.2 +0.24 +0.23 +0.2 +0.22 +0.3 +0.42 +0.53 +0.58 +0.57 +0.5 +0.44 +0.44 +0.49 +0.58 +0.64 +0.63 +0.53 +0.41 +0.33 +0.33 +0.42 +0.54 +0.6 +0.54 +0.37 +0.17 +0.04 +0.04 +0.18 +0.38 +0.54 +0.6 +0.55 +0.45 +0.37 +0.38 +0.47 +0.59 +0.67 +0.67 +0.61 +0.52 +0.47 +0.48 +0.55 +0.62 +0.63 +0.56 +0.44 +0.32 +0.26 +0.3 +0.42 +0.55 +0.61 +0.55 +0.35 +0.1 +0.0 +0.0 +0.0 +0.0 +0.15 +0.23 +0.19 +0.05 +0.0 +0.0 +0.0 +0.0 +0.08 +0.2 +0.24 +0.23 +0.2 +0.22 +0.3 +0.42 +0.53 +0.58 +0.57 +0.5 +0.44 +0.44 +0.49 +0.58 +0.64 +0.63 +0.53 +0.41 +0.33 +0.33 +0.42 +0.54 +0.6 +0.54 +0.37 +0.17 +0.04 +0.04 +0.18 +0.38 +0.54 +0.6 +0.55 +0.45 +0.37 +0.38 +0.47 +0.59 +0.67 +0.67 +0.61 +0.52 +0.47 +0.48 +0.52 +0.55 +0.59 +0.59 +0.53 +0.44 +0.34 +0.29 +0.32 +0.41 +0.53 +0.6 +0.57 +0.42 +0.21 +0.02 +0.0 +0.03 +0.21 +0.42 +0.54 +0.52 +0.37 +0.19 +0.07 +0.07 +0.17 +0.31 +0.41 +0.43 +0.38 +0.34 +0.37 +0.49 +0.68 +0.85 +0.95 +0.95 +0.87 +0.78 +0.76 +0.82 +0.94 +1.05 +1.1 +1.07 +1.02 +1.01 +1.1 +1.25 +1.41 +1.46 +1.35 +1.1 +0.8 +0.56 +0.46 +0.52 +0.64 +0.75 +0.77 +0.7 +0.6 +0.54 +0.56 +0.64 +0.74 +0.8 +0.78 +0.7 +0.6 +0.53 +0.52 +0.55 +0.59 +0.59 +0.53 +0.44 +0.34 +0.29 +0.32 +0.41 +0.53 +0.6 +0.57 +0.42 +0.21 +0.02 +0.0 +0.03 +0.21 +0.42 +0.54 +0.52 +0.37 +0.19 +0.07 +0.07 +0.17 +0.31 +0.41 +0.43 +0.38 +0.34 +0.37 +0.49 +0.68 +0.85 +0.95 +0.95 +0.87 +0.78 +0.76 +0.82 +0.94 +1.05 +1.1 +1.07 +1.02 +1.01 +1.1 +1.25 +1.41 +1.46 +1.35 +1.1 +0.8 +0.56 +0.46 +0.52 +0.64 +0.75 +0.77 +0.7 +0.6 +0.54 +0.56 +0.64 +0.74 +0.8 +0.78 +0.7 +0.6 +0.53 +0.52 +0.73 +0.73 +0.74 +0.73 +0.66 +0.56 +0.45 +0.36 +0.36 +0.44 +0.57 +0.69 +0.73 +0.65 +0.49 +0.35 +0.32 +0.46 +0.74 +1.04 +1.25 +1.28 +1.14 +0.92 +0.75 +0.7 +0.77 +0.87 +0.94 +0.9 +0.81 +0.74 +0.79 +0.97 +1.24 +1.49 +1.62 +1.6 +1.47 +1.33 +1.28 +1.35 +1.52 +1.7 +1.82 +1.88 +1.92 +2.01 +2.21 +2.47 +2.68 +2.73 +2.55 +2.17 +1.71 +1.33 +1.12 +1.08 +1.13 +1.16 +1.11 +0.98 +0.84 +0.76 +0.79 +0.89 +1.01 +1.07 +1.05 +0.96 +0.85 +0.77 +0.73 +0.73 +0.74 +0.73 +0.66 +0.56 +0.45 +0.36 +0.36 +0.44 +0.57 +0.69 +0.73 +0.65 +0.49 +0.35 +0.32 +0.46 +0.74 +1.04 +1.25 +1.28 +1.14 +0.92 +0.75 +0.7 +0.77 +0.87 +0.94 +0.9 +0.81 +0.74 +0.79 +0.97 +1.24 +1.49 +1.62 +1.6 +1.47 +1.33 +1.28 +1.35 +1.52 +1.7 +1.82 +1.88 +1.92 +2.01 +2.21 +2.47 +2.68 +2.73 +2.55 +2.17 +1.71 +1.33 +1.12 +1.08 +1.13 +1.16 +1.11 +0.98 +0.84 +0.76 +0.79 +0.89 +1.01 +1.07 +1.05 +0.96 +0.85 +0.77 +0.73 +1.01 +0.99 +0.99 +0.97 +0.9 +0.77 +0.61 +0.47 +0.41 +0.47 +0.63 +0.81 +0.93 +0.92 +0.81 +0.69 +0.71 +0.93 +1.34 +1.8 +2.14 +2.26 +2.13 +1.87 +1.63 +1.51 +1.53 +1.59 +1.6 +1.51 +1.36 +1.25 +1.3 +1.53 +1.87 +2.19 +2.34 +2.29 +2.08 +1.87 +1.77 +1.85 +2.07 +2.32 +2.53 +2.67 +2.8 +3.01 +3.33 +3.71 +4.01 +4.06 +3.78 +3.25 +2.61 +2.07 +1.74 +1.63 +1.64 +1.62 +1.51 +1.3 +1.1 +0.99 +1.02 +1.15 +1.3 +1.39 +1.39 +1.3 +1.17 +1.07 +1.01 +0.99 +0.99 +0.97 +0.9 +0.77 +0.61 +0.47 +0.41 +0.47 +0.63 +0.81 +0.93 +0.92 +0.81 +0.69 +0.71 +0.93 +1.34 +1.8 +2.14 +2.26 +2.13 +1.87 +1.63 +1.51 +1.53 +1.59 +1.6 +1.51 +1.36 +1.25 +1.3 +1.53 +1.87 +2.19 +2.34 +2.29 +2.08 +1.87 +1.77 +1.85 +2.07 +2.32 +2.53 +2.67 +2.8 +3.01 +3.33 +3.71 +4.01 +4.06 +3.78 +3.25 +2.61 +2.07 +1.74 +1.63 +1.64 +1.62 +1.51 +1.3 +1.1 +0.99 +1.02 +1.15 +1.3 +1.39 +1.39 +1.3 +1.17 +1.07 +1.01 +1.15 +1.14 +1.16 +1.17 +1.11 +0.96 +0.76 +0.55 +0.43 +0.46 +0.64 +0.88 +1.05 +1.08 +0.98 +0.85 +0.88 +1.18 +1.72 +2.36 +2.88 +3.1 +3.0 +2.69 +2.37 +2.17 +2.11 +2.13 +2.09 +1.93 +1.71 +1.56 +1.59 +1.85 +2.25 +2.61 +2.76 +2.66 +2.38 +2.08 +1.94 +2.03 +2.29 +2.61 +2.88 +3.08 +3.28 +3.6 +4.05 +4.55 +4.93 +4.98 +4.61 +3.92 +3.11 +2.43 +2.04 +1.92 +1.94 +1.92 +1.78 +1.51 +1.25 +1.1 +1.13 +1.3 +1.5 +1.63 +1.63 +1.52 +1.37 +1.23 +1.15 +1.14 +1.16 +1.17 +1.11 +0.96 +0.76 +0.55 +0.43 +0.46 +0.64 +0.88 +1.05 +1.08 +0.98 +0.85 +0.88 +1.18 +1.72 +2.36 +2.88 +3.1 +3.0 +2.69 +2.37 +2.17 +2.11 +2.13 +2.09 +1.93 +1.71 +1.56 +1.59 +1.85 +2.25 +2.61 +2.76 +2.66 +2.38 +2.08 +1.94 +2.03 +2.29 +2.61 +2.88 +3.08 +3.28 +3.6 +4.05 +4.55 +4.93 +4.98 +4.61 +3.92 +3.11 +2.43 +2.04 +1.92 +1.94 +1.92 +1.78 +1.51 +1.25 +1.1 +1.13 +1.3 +1.5 +1.63 +1.63 +1.52 +1.37 +1.23 +1.15 +1.03 +1.04 +1.11 +1.18 +1.17 +1.05 +0.81 +0.55 +0.38 +0.38 +0.57 +0.84 +1.04 +1.07 +0.91 +0.73 +0.72 +1.05 +1.72 +2.52 +3.21 +3.54 +3.47 +3.12 +2.7 +2.4 +2.27 +2.23 +2.14 +1.93 +1.65 +1.44 +1.44 +1.71 +2.13 +2.51 +2.65 +2.51 +2.16 +1.8 +1.63 +1.71 +2.01 +2.37 +2.68 +2.92 +3.18 +3.56 +4.11 +4.72 +5.17 +5.22 +4.78 +3.95 +3.01 +2.24 +1.84 +1.77 +1.87 +1.93 +1.8 +1.52 +1.22 +1.04 +1.08 +1.27 +1.5 +1.65 +1.65 +1.51 +1.3 +1.12 +1.03 +1.04 +1.11 +1.18 +1.17 +1.05 +0.81 +0.55 +0.38 +0.38 +0.57 +0.84 +1.04 +1.07 +0.91 +0.73 +0.72 +1.05 +1.72 +2.52 +3.21 +3.54 +3.47 +3.12 +2.7 +2.4 +2.27 +2.23 +2.14 +1.93 +1.65 +1.44 +1.44 +1.71 +2.13 +2.51 +2.65 +2.51 +2.16 +1.8 +1.63 +1.71 +2.01 +2.37 +2.68 +2.92 +3.18 +3.56 +4.11 +4.72 +5.17 +5.22 +4.78 +3.95 +3.01 +2.24 +1.84 +1.77 +1.87 +1.93 +1.8 +1.52 +1.22 +1.04 +1.08 +1.27 +1.5 +1.65 +1.65 +1.51 +1.3 +1.12 +1.03 +0.69 +0.73 +0.87 +1.03 +1.1 +1.02 +0.79 +0.51 +0.3 +0.28 +0.46 +0.74 +0.94 +0.93 +0.7 +0.42 +0.35 +0.68 +1.41 +2.35 +3.17 +3.6 +3.55 +3.15 +2.64 +2.23 +2.02 +1.92 +1.79 +1.53 +1.2 +0.94 +0.9 +1.15 +1.58 +1.96 +2.11 +1.94 +1.55 +1.15 +0.95 +1.04 +1.36 +1.75 +2.08 +2.33 +2.6 +3.02 +3.62 +4.3 +4.79 +4.84 +4.35 +3.43 +2.41 +1.61 +1.23 +1.26 +1.48 +1.64 +1.58 +1.32 +1.01 +0.82 +0.86 +1.07 +1.32 +1.48 +1.46 +1.27 +1.02 +0.79 +0.69 +0.73 +0.87 +1.03 +1.1 +1.02 +0.79 +0.51 +0.3 +0.28 +0.46 +0.74 +0.94 +0.93 +0.7 +0.42 +0.35 +0.68 +1.41 +2.35 +3.17 +3.6 +3.55 +3.15 +2.64 +2.23 +2.02 +1.92 +1.79 +1.53 +1.2 +0.94 +0.9 +1.15 +1.58 +1.96 +2.11 +1.94 +1.55 +1.15 +0.95 +1.04 +1.36 +1.75 +2.08 +2.33 +2.6 +3.02 +3.62 +4.3 +4.79 +4.84 +4.35 +3.43 +2.41 +1.61 +1.23 +1.26 +1.48 +1.64 +1.58 +1.32 +1.01 +0.82 +0.86 +1.07 +1.32 +1.48 +1.46 +1.27 +1.02 +0.79 +0.69 +0.33 +0.4 +0.61 +0.85 +1.0 +0.98 +0.78 +0.49 +0.26 +0.22 +0.41 +0.69 +0.88 +0.83 +0.53 +0.17 +0.04 +0.35 +1.12 +2.14 +3.05 +3.55 +3.51 +3.05 +2.45 +1.96 +1.66 +1.5 +1.33 +1.04 +0.67 +0.36 +0.3 +0.53 +0.95 +1.34 +1.49 +1.32 +0.91 +0.5 +0.29 +0.38 +0.71 +1.11 +1.44 +1.68 +1.93 +2.34 +2.95 +3.65 +4.16 +4.2 +3.68 +2.72 +1.66 +0.86 +0.53 +0.65 +0.98 +1.24 +1.25 +1.02 +0.72 +0.53 +0.57 +0.79 +1.06 +1.23 +1.19 +0.98 +0.68 +0.44 +0.33 +0.4 +0.61 +0.85 +1.0 +0.98 +0.78 +0.49 +0.26 +0.22 +0.41 +0.69 +0.88 +0.83 +0.53 +0.17 +0.04 +0.35 +1.12 +2.14 +3.05 +3.55 +3.51 +3.05 +2.45 +1.96 +1.66 +1.5 +1.33 +1.04 +0.67 +0.36 +0.3 +0.53 +0.95 +1.34 +1.49 +1.32 +0.91 +0.5 +0.29 +0.38 +0.71 +1.11 +1.44 +1.68 +1.93 +2.34 +2.95 +3.65 +4.16 +4.2 +3.68 +2.72 +1.66 +0.86 +0.53 +0.65 +0.98 +1.24 +1.25 +1.02 +0.72 +0.53 +0.57 +0.79 +1.06 +1.23 +1.19 +0.98 +0.68 +0.44 +0.33 +0.18 +0.27 +0.52 +0.81 +1.01 +1.03 +0.86 +0.58 +0.35 +0.31 +0.49 +0.78 +0.98 +0.92 +0.61 +0.23 +0.07 +0.37 +1.17 +2.23 +3.18 +3.71 +3.67 +3.17 +2.51 +1.93 +1.57 +1.36 +1.15 +0.83 +0.44 +0.11 +0.02 +0.24 +0.66 +1.06 +1.23 +1.06 +0.66 +0.24 +0.02 +0.11 +0.44 +0.83 +1.15 +1.36 +1.57 +1.93 +2.51 +3.17 +3.67 +3.71 +3.18 +2.23 +1.17 +0.37 +0.07 +0.23 +0.61 +0.92 +0.98 +0.78 +0.49 +0.31 +0.35 +0.58 +0.86 +1.03 +1.01 +0.81 +0.52 +0.27 +0.18 +0.27 +0.52 +0.81 +1.01 +1.03 +0.86 +0.58 +0.35 +0.31 +0.49 +0.78 +0.98 +0.92 +0.61 +0.23 +0.07 +0.37 +1.17 +2.23 +3.18 +3.71 +3.67 +3.17 +2.51 +1.93 +1.57 +1.36 +1.15 +0.83 +0.44 +0.11 +0.02 +0.24 +0.66 +1.06 +1.23 +1.06 +0.66 +0.24 +0.02 +0.11 +0.44 +0.83 +1.15 +1.36 +1.57 +1.93 +2.51 +3.17 +3.67 +3.71 +3.18 +2.23 +1.17 +0.37 +0.07 +0.23 +0.61 +0.92 +0.98 +0.78 +0.49 +0.31 +0.35 +0.58 +0.86 +1.03 +1.01 +0.81 +0.52 +0.27 +0.18 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.37 +0.38 +0.37 +0.39 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.77 +2.01 +2.19 +2.28 +2.23 +2.08 +1.86 +1.62 +1.38 +1.15 +0.93 +0.73 +0.56 +0.44 +0.4 +0.38 +0.35 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.36 +0.39 +0.41 +0.45 +0.56 +0.73 +0.93 +1.15 +1.37 +1.61 +1.85 +2.07 +2.22 +2.26 +2.18 +2.0 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.4 +0.38 +0.39 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.37 +0.38 +0.37 +0.39 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.77 +2.01 +2.19 +2.28 +2.23 +2.08 +1.86 +1.62 +1.38 +1.15 +0.93 +0.73 +0.56 +0.44 +0.4 +0.38 +0.35 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.36 +0.39 +0.41 +0.45 +0.56 +0.73 +0.93 +1.15 +1.37 +1.61 +1.85 +2.07 +2.22 +2.26 +2.18 +2.0 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.4 +0.38 +0.39 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.3 +0.43 +0.46 +0.42 +0.35 +0.33 +0.38 +0.5 +0.68 +0.89 +1.13 +1.4 +1.7 +2.0 +2.24 +2.38 +2.39 +2.26 +2.05 +1.78 +1.52 +1.27 +1.03 +0.82 +0.65 +0.54 +0.48 +0.47 +0.43 +0.34 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.35 +0.46 +0.5 +0.51 +0.55 +0.65 +0.81 +1.01 +1.24 +1.5 +1.76 +2.01 +2.22 +2.33 +2.33 +2.19 +1.96 +1.67 +1.39 +1.12 +0.88 +0.67 +0.5 +0.39 +0.36 +0.39 +0.46 +0.49 +0.44 +0.3 +0.12 +0.0 +0.0 +0.0 +0.12 +0.3 +0.43 +0.46 +0.42 +0.35 +0.33 +0.38 +0.5 +0.68 +0.89 +1.13 +1.4 +1.7 +2.0 +2.24 +2.38 +2.39 +2.26 +2.05 +1.78 +1.52 +1.27 +1.03 +0.82 +0.65 +0.54 +0.48 +0.47 +0.43 +0.34 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.35 +0.46 +0.5 +0.51 +0.55 +0.65 +0.81 +1.01 +1.24 +1.5 +1.76 +2.01 +2.22 +2.33 +2.33 +2.19 +1.96 +1.67 +1.39 +1.12 +0.88 +0.67 +0.5 +0.39 +0.36 +0.39 +0.46 +0.49 +0.44 +0.3 +0.12 +0.0 +0.0 +0.0 +0.12 +0.49 +0.6 +0.66 +0.63 +0.53 +0.41 +0.33 +0.33 +0.4 +0.55 +0.74 +0.99 +1.28 +1.62 +1.97 +2.29 +2.51 +2.58 +2.51 +2.31 +2.05 +1.77 +1.5 +1.27 +1.07 +0.91 +0.81 +0.76 +0.75 +0.73 +0.66 +0.53 +0.36 +0.21 +0.14 +0.18 +0.32 +0.5 +0.65 +0.75 +0.78 +0.78 +0.8 +0.87 +1.0 +1.19 +1.43 +1.69 +1.97 +2.22 +2.4 +2.47 +2.4 +2.19 +1.91 +1.58 +1.27 +0.98 +0.74 +0.55 +0.42 +0.36 +0.39 +0.49 +0.61 +0.7 +0.7 +0.61 +0.47 +0.35 +0.31 +0.37 +0.49 +0.6 +0.66 +0.63 +0.53 +0.41 +0.33 +0.33 +0.4 +0.55 +0.74 +0.99 +1.28 +1.62 +1.97 +2.29 +2.51 +2.58 +2.51 +2.31 +2.05 +1.77 +1.5 +1.27 +1.07 +0.91 +0.81 +0.76 +0.75 +0.73 +0.66 +0.53 +0.36 +0.21 +0.14 +0.18 +0.32 +0.5 +0.65 +0.75 +0.78 +0.78 +0.8 +0.87 +1.0 +1.19 +1.43 +1.69 +1.97 +2.22 +2.4 +2.47 +2.4 +2.19 +1.91 +1.58 +1.27 +0.98 +0.74 +0.55 +0.42 +0.36 +0.39 +0.49 +0.61 +0.7 +0.7 +0.61 +0.47 +0.35 +0.31 +0.37 +0.49 +0.87 +0.93 +0.94 +0.87 +0.74 +0.59 +0.47 +0.42 +0.45 +0.55 +0.71 +0.92 +1.2 +1.55 +1.93 +2.3 +2.59 +2.74 +2.73 +2.59 +2.35 +2.09 +1.84 +1.64 +1.47 +1.35 +1.28 +1.26 +1.26 +1.27 +1.23 +1.14 +1.01 +0.89 +0.81 +0.83 +0.92 +1.06 +1.18 +1.24 +1.25 +1.22 +1.2 +1.22 +1.3 +1.46 +1.68 +1.94 +2.21 +2.44 +2.57 +2.57 +2.42 +2.17 +1.85 +1.51 +1.21 +0.94 +0.73 +0.57 +0.48 +0.48 +0.56 +0.71 +0.86 +0.96 +0.98 +0.93 +0.83 +0.76 +0.74 +0.78 +0.87 +0.93 +0.94 +0.87 +0.74 +0.59 +0.47 +0.42 +0.45 +0.55 +0.71 +0.92 +1.2 +1.55 +1.93 +2.3 +2.59 +2.74 +2.73 +2.59 +2.35 +2.09 +1.84 +1.64 +1.47 +1.35 +1.28 +1.26 +1.26 +1.27 +1.23 +1.14 +1.01 +0.89 +0.81 +0.83 +0.92 +1.06 +1.18 +1.24 +1.25 +1.22 +1.2 +1.22 +1.3 +1.46 +1.68 +1.94 +2.21 +2.44 +2.57 +2.57 +2.42 +2.17 +1.85 +1.51 +1.21 +0.94 +0.73 +0.57 +0.48 +0.48 +0.56 +0.71 +0.86 +0.96 +0.98 +0.93 +0.83 +0.76 +0.74 +0.78 +0.87 +1.18 +1.21 +1.19 +1.11 +0.98 +0.84 +0.72 +0.65 +0.63 +0.68 +0.78 +0.94 +1.16 +1.47 +1.83 +2.21 +2.55 +2.78 +2.86 +2.79 +2.62 +2.41 +2.21 +2.05 +1.93 +1.86 +1.83 +1.84 +1.87 +1.91 +1.91 +1.86 +1.77 +1.66 +1.58 +1.57 +1.62 +1.71 +1.79 +1.82 +1.79 +1.72 +1.65 +1.61 +1.63 +1.74 +1.93 +2.16 +2.4 +2.58 +2.65 +2.57 +2.37 +2.08 +1.76 +1.46 +1.21 +1.0 +0.83 +0.72 +0.69 +0.73 +0.84 +0.99 +1.13 +1.21 +1.22 +1.18 +1.12 +1.08 +1.08 +1.13 +1.18 +1.21 +1.19 +1.11 +0.98 +0.84 +0.72 +0.65 +0.63 +0.68 +0.78 +0.94 +1.16 +1.47 +1.83 +2.21 +2.55 +2.78 +2.86 +2.79 +2.62 +2.41 +2.21 +2.05 +1.93 +1.86 +1.83 +1.84 +1.87 +1.91 +1.91 +1.86 +1.77 +1.66 +1.58 +1.57 +1.62 +1.71 +1.79 +1.82 +1.79 +1.72 +1.65 +1.61 +1.63 +1.74 +1.93 +2.16 +2.4 +2.58 +2.65 +2.57 +2.37 +2.08 +1.76 +1.46 +1.21 +1.0 +0.83 +0.72 +0.69 +0.73 +0.84 +0.99 +1.13 +1.21 +1.22 +1.18 +1.12 +1.08 +1.08 +1.13 +1.18 +1.35 +1.36 +1.32 +1.25 +1.16 +1.06 +0.96 +0.89 +0.84 +0.84 +0.87 +0.96 +1.1 +1.33 +1.64 +2.01 +2.36 +2.65 +2.81 +2.84 +2.75 +2.61 +2.47 +2.35 +2.27 +2.23 +2.23 +2.27 +2.34 +2.4 +2.45 +2.44 +2.38 +2.28 +2.2 +2.17 +2.18 +2.23 +2.26 +2.25 +2.18 +2.07 +1.95 +1.86 +1.85 +1.93 +2.09 +2.29 +2.49 +2.61 +2.61 +2.47 +2.22 +1.92 +1.63 +1.39 +1.2 +1.07 +0.97 +0.92 +0.92 +0.98 +1.09 +1.21 +1.3 +1.34 +1.32 +1.29 +1.25 +1.25 +1.28 +1.32 +1.35 +1.36 +1.32 +1.25 +1.16 +1.06 +0.96 +0.89 +0.84 +0.84 +0.87 +0.96 +1.1 +1.33 +1.64 +2.01 +2.36 +2.65 +2.81 +2.84 +2.75 +2.61 +2.47 +2.35 +2.27 +2.23 +2.23 +2.27 +2.34 +2.4 +2.45 +2.44 +2.38 +2.28 +2.2 +2.17 +2.18 +2.23 +2.26 +2.25 +2.18 +2.07 +1.95 +1.86 +1.85 +1.93 +2.09 +2.29 +2.49 +2.61 +2.61 +2.47 +2.22 +1.92 +1.63 +1.39 +1.2 +1.07 +0.97 +0.92 +0.92 +0.98 +1.09 +1.21 +1.3 +1.34 +1.32 +1.29 +1.25 +1.25 +1.28 +1.32 +1.35 +1.35 +1.32 +1.27 +1.21 +1.16 +1.1 +1.04 +0.98 +0.93 +0.89 +0.88 +0.9 +0.97 +1.12 +1.36 +1.67 +2.03 +2.35 +2.59 +2.71 +2.71 +2.63 +2.53 +2.43 +2.36 +2.33 +2.33 +2.39 +2.48 +2.58 +2.66 +2.7 +2.67 +2.6 +2.52 +2.47 +2.45 +2.45 +2.44 +2.38 +2.27 +2.12 +1.98 +1.88 +1.87 +1.94 +2.1 +2.29 +2.46 +2.53 +2.46 +2.26 +1.98 +1.68 +1.43 +1.25 +1.13 +1.06 +1.02 +1.01 +1.03 +1.1 +1.18 +1.26 +1.29 +1.27 +1.23 +1.2 +1.21 +1.26 +1.32 +1.35 +1.35 +1.32 +1.27 +1.21 +1.16 +1.1 +1.04 +0.98 +0.93 +0.89 +0.88 +0.9 +0.97 +1.12 +1.36 +1.67 +2.03 +2.35 +2.59 +2.71 +2.71 +2.63 +2.53 +2.43 +2.36 +2.33 +2.33 +2.39 +2.48 +2.58 +2.66 +2.7 +2.67 +2.6 +2.52 +2.47 +2.45 +2.45 +2.44 +2.38 +2.27 +2.12 +1.98 +1.88 +1.87 +1.94 +2.1 +2.29 +2.46 +2.53 +2.46 +2.26 +1.98 +1.68 +1.43 +1.25 +1.13 +1.06 +1.02 +1.01 +1.03 +1.1 +1.18 +1.26 +1.29 +1.27 +1.23 +1.2 +1.21 +1.26 +1.32 +1.35 +1.35 +1.18 +1.11 +1.03 +0.97 +0.94 +0.92 +0.9 +0.86 +0.81 +0.76 +0.73 +0.71 +0.73 +0.82 +0.99 +1.26 +1.59 +1.93 +2.22 +2.41 +2.49 +2.47 +2.4 +2.3 +2.22 +2.17 +2.17 +2.23 +2.35 +2.49 +2.62 +2.69 +2.71 +2.66 +2.6 +2.53 +2.48 +2.43 +2.35 +2.24 +2.09 +1.92 +1.78 +1.7 +1.71 +1.81 +1.98 +2.17 +2.31 +2.34 +2.23 +2.0 +1.7 +1.42 +1.19 +1.04 +0.96 +0.92 +0.9 +0.91 +0.94 +0.99 +1.04 +1.06 +1.04 +0.99 +0.94 +0.95 +1.01 +1.11 +1.19 +1.22 +1.18 +1.11 +1.03 +0.97 +0.94 +0.92 +0.9 +0.86 +0.81 +0.76 +0.73 +0.71 +0.73 +0.82 +0.99 +1.26 +1.59 +1.93 +2.22 +2.41 +2.49 +2.47 +2.4 +2.3 +2.22 +2.17 +2.17 +2.23 +2.35 +2.49 +2.62 +2.69 +2.71 +2.66 +2.6 +2.53 +2.48 +2.43 +2.35 +2.24 +2.09 +1.92 +1.78 +1.7 +1.71 +1.81 +1.98 +2.17 +2.31 +2.34 +2.23 +2.0 +1.7 +1.42 +1.19 +1.04 +0.96 +0.92 +0.9 +0.91 +0.94 +0.99 +1.04 +1.06 +1.04 +0.99 +0.94 +0.95 +1.01 +1.11 +1.19 +1.22 +1.18 +0.89 +0.76 +0.64 +0.57 +0.56 +0.57 +0.58 +0.56 +0.52 +0.47 +0.44 +0.42 +0.43 +0.48 +0.61 +0.82 +1.12 +1.46 +1.77 +2.02 +2.16 +2.2 +2.16 +2.09 +2.01 +1.96 +1.97 +2.05 +2.19 +2.37 +2.55 +2.67 +2.73 +2.71 +2.65 +2.57 +2.47 +2.36 +2.22 +2.04 +1.85 +1.67 +1.53 +1.47 +1.51 +1.63 +1.8 +1.97 +2.08 +2.08 +1.95 +1.71 +1.42 +1.14 +0.93 +0.8 +0.72 +0.68 +0.65 +0.64 +0.66 +0.7 +0.72 +0.7 +0.64 +0.56 +0.53 +0.57 +0.7 +0.85 +0.95 +0.97 +0.89 +0.76 +0.64 +0.57 +0.56 +0.57 +0.58 +0.56 +0.52 +0.47 +0.44 +0.42 +0.43 +0.48 +0.61 +0.82 +1.12 +1.46 +1.77 +2.02 +2.16 +2.2 +2.16 +2.09 +2.01 +1.96 +1.97 +2.05 +2.19 +2.37 +2.55 +2.67 +2.73 +2.71 +2.65 +2.57 +2.47 +2.36 +2.22 +2.04 +1.85 +1.67 +1.53 +1.47 +1.51 +1.63 +1.8 +1.97 +2.08 +2.08 +1.95 +1.71 +1.42 +1.14 +0.93 +0.8 +0.72 +0.68 +0.65 +0.64 +0.66 +0.7 +0.72 +0.7 +0.64 +0.56 +0.53 +0.57 +0.7 +0.85 +0.95 +0.97 +0.89 +0.52 +0.36 +0.21 +0.14 +0.14 +0.18 +0.2 +0.19 +0.16 +0.12 +0.1 +0.1 +0.12 +0.17 +0.26 +0.43 +0.68 +0.99 +1.31 +1.59 +1.8 +1.91 +1.94 +1.93 +1.9 +1.9 +1.96 +2.08 +2.28 +2.5 +2.72 +2.88 +2.96 +2.97 +2.91 +2.8 +2.65 +2.46 +2.24 +2.0 +1.76 +1.56 +1.42 +1.37 +1.39 +1.49 +1.62 +1.74 +1.81 +1.77 +1.63 +1.4 +1.13 +0.89 +0.7 +0.57 +0.48 +0.4 +0.35 +0.32 +0.32 +0.34 +0.34 +0.29 +0.2 +0.12 +0.09 +0.17 +0.34 +0.53 +0.64 +0.64 +0.52 +0.36 +0.21 +0.14 +0.14 +0.18 +0.2 +0.19 +0.16 +0.12 +0.1 +0.1 +0.12 +0.17 +0.26 +0.43 +0.68 +0.99 +1.31 +1.59 +1.8 +1.91 +1.94 +1.93 +1.9 +1.9 +1.96 +2.08 +2.28 +2.5 +2.72 +2.88 +2.96 +2.97 +2.91 +2.8 +2.65 +2.46 +2.24 +2.0 +1.76 +1.56 +1.42 +1.37 +1.39 +1.49 +1.62 +1.74 +1.81 +1.77 +1.63 +1.4 +1.13 +0.89 +0.7 +0.57 +0.48 +0.4 +0.35 +0.32 +0.32 +0.34 +0.34 +0.29 +0.2 +0.12 +0.09 +0.17 +0.34 +0.53 +0.64 +0.64 +0.52 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.31 +0.57 +0.88 +1.19 +1.46 +1.66 +1.8 +1.89 +1.97 +2.08 +2.22 +2.42 +2.67 +2.93 +3.16 +3.34 +3.44 +3.45 +3.37 +3.22 +3.01 +2.76 +2.47 +2.18 +1.91 +1.69 +1.54 +1.45 +1.41 +1.43 +1.47 +1.51 +1.5 +1.42 +1.27 +1.07 +0.85 +0.66 +0.5 +0.38 +0.27 +0.18 +0.1 +0.05 +0.05 +0.05 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.22 +0.33 +0.32 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.31 +0.57 +0.88 +1.19 +1.46 +1.66 +1.8 +1.89 +1.97 +2.08 +2.22 +2.42 +2.67 +2.93 +3.16 +3.34 +3.44 +3.45 +3.37 +3.22 +3.01 +2.76 +2.47 +2.18 +1.91 +1.69 +1.54 +1.45 +1.41 +1.43 +1.47 +1.51 +1.5 +1.42 +1.27 +1.07 +0.85 +0.66 +0.5 +0.38 +0.27 +0.18 +0.1 +0.05 +0.05 +0.05 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.22 +0.33 +0.32 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.25 +0.53 +0.85 +1.17 +1.46 +1.71 +1.93 +2.14 +2.37 +2.62 +2.89 +3.17 +3.44 +3.66 +3.82 +3.9 +3.9 +3.8 +3.62 +3.36 +3.06 +2.74 +2.43 +2.16 +1.94 +1.77 +1.62 +1.51 +1.41 +1.33 +1.26 +1.17 +1.06 +0.92 +0.75 +0.59 +0.44 +0.33 +0.23 +0.13 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.25 +0.53 +0.85 +1.17 +1.46 +1.71 +1.93 +2.14 +2.37 +2.62 +2.89 +3.17 +3.44 +3.66 +3.82 +3.9 +3.9 +3.8 +3.62 +3.36 +3.06 +2.74 +2.43 +2.16 +1.94 +1.77 +1.62 +1.51 +1.41 +1.33 +1.26 +1.17 +1.06 +0.92 +0.75 +0.59 +0.44 +0.33 +0.23 +0.13 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.3 +0.62 +0.96 +1.29 +1.61 +1.91 +2.22 +2.54 +2.86 +3.17 +3.45 +3.68 +3.85 +3.96 +4.01 +3.98 +3.86 +3.66 +3.39 +3.09 +2.78 +2.51 +2.28 +2.09 +1.92 +1.74 +1.55 +1.36 +1.18 +1.02 +0.89 +0.76 +0.63 +0.49 +0.37 +0.27 +0.19 +0.12 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.3 +0.62 +0.96 +1.29 +1.61 +1.91 +2.22 +2.54 +2.86 +3.17 +3.45 +3.68 +3.85 +3.96 +4.01 +3.98 +3.86 +3.66 +3.39 +3.09 +2.78 +2.51 +2.28 +2.09 +1.92 +1.74 +1.55 +1.36 +1.18 +1.02 +0.89 +0.76 +0.63 +0.49 +0.37 +0.27 +0.19 +0.12 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.51 +0.82 +1.14 +1.44 +1.75 +2.07 +2.41 +2.73 +3.02 +3.24 +3.4 +3.49 +3.54 +3.55 +3.5 +3.39 +3.2 +2.95 +2.68 +2.43 +2.23 +2.09 +1.98 +1.86 +1.68 +1.46 +1.22 +1.01 +0.84 +0.7 +0.6 +0.49 +0.37 +0.26 +0.17 +0.1 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.51 +0.82 +1.14 +1.44 +1.75 +2.07 +2.41 +2.73 +3.02 +3.24 +3.4 +3.49 +3.54 +3.55 +3.5 +3.39 +3.2 +2.95 +2.68 +2.43 +2.23 +2.09 +1.98 +1.86 +1.68 +1.46 +1.22 +1.01 +0.84 +0.7 +0.6 +0.49 +0.37 +0.26 +0.17 +0.1 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.09 +0.05 +0.0 +0.17 +0.08 +0.05 +0.11 +0.21 +0.29 +0.32 +0.26 +0.14 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.29 +0.55 +0.79 +1.01 +1.21 +1.44 +1.69 +1.96 +2.23 +2.43 +2.56 +2.62 +2.62 +2.62 +2.61 +2.59 +2.51 +2.36 +2.15 +1.93 +1.75 +1.65 +1.62 +1.61 +1.57 +1.45 +1.26 +1.04 +0.86 +0.74 +0.67 +0.62 +0.55 +0.44 +0.3 +0.17 +0.07 +0.02 +0.0 +0.0 +0.01 +0.04 +0.07 +0.1 +0.11 +0.09 +0.06 +0.04 +0.06 +0.13 +0.23 +0.31 +0.33 +0.28 +0.17 +0.08 +0.05 +0.11 +0.21 +0.29 +0.32 +0.26 +0.14 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.29 +0.55 +0.79 +1.01 +1.21 +1.44 +1.69 +1.96 +2.23 +2.43 +2.56 +2.62 +2.62 +2.62 +2.61 +2.59 +2.51 +2.36 +2.15 +1.93 +1.75 +1.65 +1.62 +1.61 +1.57 +1.45 +1.26 +1.04 +0.86 +0.74 +0.67 +0.62 +0.55 +0.44 +0.3 +0.17 +0.07 +0.02 +0.0 +0.0 +0.01 +0.04 +0.07 +0.1 +0.11 +0.09 +0.06 +0.04 +0.06 +0.13 +0.23 +0.31 +0.33 +0.28 +0.17 +0.45 +0.37 +0.36 +0.39 +0.45 +0.5 +0.49 +0.43 +0.34 +0.23 +0.13 +0.04 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.47 +0.68 +0.82 +0.9 +0.96 +1.04 +1.18 +1.36 +1.53 +1.64 +1.66 +1.62 +1.56 +1.53 +1.55 +1.58 +1.57 +1.48 +1.32 +1.13 +1.0 +0.97 +1.03 +1.13 +1.18 +1.14 +1.01 +0.86 +0.76 +0.73 +0.76 +0.8 +0.77 +0.65 +0.45 +0.25 +0.1 +0.02 +0.03 +0.09 +0.16 +0.21 +0.23 +0.24 +0.23 +0.23 +0.26 +0.31 +0.39 +0.49 +0.58 +0.63 +0.61 +0.54 +0.45 +0.37 +0.36 +0.39 +0.45 +0.5 +0.49 +0.43 +0.34 +0.23 +0.13 +0.04 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.47 +0.68 +0.82 +0.9 +0.96 +1.04 +1.18 +1.36 +1.53 +1.64 +1.66 +1.62 +1.56 +1.53 +1.55 +1.58 +1.57 +1.48 +1.32 +1.13 +1.0 +0.97 +1.03 +1.13 +1.18 +1.14 +1.01 +0.86 +0.76 +0.73 +0.76 +0.8 +0.77 +0.65 +0.45 +0.25 +0.1 +0.02 +0.03 +0.09 +0.16 +0.21 +0.23 +0.24 +0.23 +0.23 +0.26 +0.31 +0.39 +0.49 +0.58 +0.63 +0.61 +0.54 +0.45 +0.62 +0.57 +0.57 +0.59 +0.61 +0.61 +0.59 +0.54 +0.5 +0.45 +0.38 +0.29 +0.17 +0.05 +0.0 +0.03 +0.18 +0.41 +0.65 +0.81 +0.86 +0.8 +0.71 +0.66 +0.69 +0.79 +0.89 +0.93 +0.87 +0.76 +0.67 +0.65 +0.73 +0.86 +0.94 +0.91 +0.77 +0.58 +0.44 +0.43 +0.54 +0.7 +0.84 +0.87 +0.81 +0.72 +0.68 +0.74 +0.87 +0.99 +1.01 +0.88 +0.63 +0.35 +0.14 +0.06 +0.11 +0.24 +0.37 +0.44 +0.44 +0.4 +0.35 +0.34 +0.4 +0.52 +0.65 +0.77 +0.84 +0.84 +0.78 +0.69 +0.62 +0.57 +0.57 +0.59 +0.61 +0.61 +0.59 +0.54 +0.5 +0.45 +0.38 +0.29 +0.17 +0.05 +0.0 +0.03 +0.18 +0.41 +0.65 +0.81 +0.86 +0.8 +0.71 +0.66 +0.69 +0.79 +0.89 +0.93 +0.87 +0.76 +0.67 +0.65 +0.73 +0.86 +0.94 +0.91 +0.77 +0.58 +0.44 +0.43 +0.54 +0.7 +0.84 +0.87 +0.81 +0.72 +0.68 +0.74 +0.87 +0.99 +1.01 +0.88 +0.63 +0.35 +0.14 +0.06 +0.11 +0.24 +0.37 +0.44 +0.44 +0.4 +0.35 +0.34 +0.4 +0.52 +0.65 +0.77 +0.84 +0.84 +0.78 +0.69 +0.62 +0.58 +0.59 +0.62 +0.65 +0.64 +0.6 +0.56 +0.56 +0.59 +0.63 +0.63 +0.55 +0.4 +0.21 +0.09 +0.09 +0.24 +0.49 +0.72 +0.84 +0.8 +0.64 +0.44 +0.32 +0.31 +0.39 +0.48 +0.49 +0.4 +0.26 +0.16 +0.19 +0.35 +0.58 +0.75 +0.77 +0.62 +0.38 +0.18 +0.12 +0.23 +0.43 +0.61 +0.69 +0.67 +0.6 +0.58 +0.68 +0.87 +1.06 +1.12 +1.0 +0.72 +0.39 +0.14 +0.08 +0.19 +0.42 +0.62 +0.72 +0.69 +0.57 +0.44 +0.39 +0.46 +0.61 +0.77 +0.88 +0.9 +0.83 +0.72 +0.62 +0.58 +0.59 +0.62 +0.65 +0.64 +0.6 +0.56 +0.56 +0.59 +0.63 +0.63 +0.55 +0.4 +0.21 +0.09 +0.09 +0.24 +0.49 +0.72 +0.84 +0.8 +0.64 +0.44 +0.32 +0.31 +0.39 +0.48 +0.49 +0.4 +0.26 +0.16 +0.19 +0.35 +0.58 +0.75 +0.77 +0.62 +0.38 +0.18 +0.12 +0.23 +0.43 +0.61 +0.69 +0.67 +0.6 +0.58 +0.68 +0.87 +1.06 +1.12 +1.0 +0.72 +0.39 +0.14 +0.08 +0.19 +0.42 +0.62 +0.72 +0.69 +0.57 +0.44 +0.39 +0.46 +0.61 +0.77 +0.88 +0.9 +0.83 +0.72 +0.62 +0.58 +0.34 +0.42 +0.52 +0.57 +0.54 +0.47 +0.44 +0.48 +0.6 +0.76 +0.85 +0.8 +0.62 +0.36 +0.15 +0.09 +0.2 +0.43 +0.64 +0.72 +0.62 +0.4 +0.16 +0.03 +0.04 +0.17 +0.3 +0.33 +0.24 +0.09 +0.0 +0.08 +0.33 +0.65 +0.9 +0.95 +0.76 +0.44 +0.14 +0.01 +0.07 +0.28 +0.49 +0.59 +0.56 +0.46 +0.41 +0.49 +0.69 +0.92 +1.02 +0.93 +0.66 +0.32 +0.08 +0.06 +0.26 +0.58 +0.87 +1.0 +0.92 +0.71 +0.49 +0.37 +0.41 +0.56 +0.72 +0.79 +0.74 +0.59 +0.43 +0.33 +0.34 +0.42 +0.52 +0.57 +0.54 +0.47 +0.44 +0.48 +0.6 +0.76 +0.85 +0.8 +0.62 +0.36 +0.15 +0.09 +0.2 +0.43 +0.64 +0.72 +0.62 +0.4 +0.16 +0.03 +0.04 +0.17 +0.3 +0.33 +0.24 +0.09 +0.0 +0.08 +0.33 +0.65 +0.9 +0.95 +0.76 +0.44 +0.14 +0.01 +0.07 +0.28 +0.49 +0.59 +0.56 +0.46 +0.41 +0.49 +0.69 +0.92 +1.02 +0.93 +0.66 +0.32 +0.08 +0.06 +0.26 +0.58 +0.87 +1.0 +0.92 +0.71 +0.49 +0.37 +0.41 +0.56 +0.72 +0.79 +0.74 +0.59 +0.43 +0.33 +0.34 +0.02 +0.19 +0.35 +0.43 +0.39 +0.29 +0.24 +0.31 +0.52 +0.79 +0.98 +0.99 +0.8 +0.49 +0.2 +0.06 +0.11 +0.29 +0.46 +0.5 +0.37 +0.13 +0.0 +0.0 +0.0 +0.07 +0.26 +0.33 +0.25 +0.1 +0.03 +0.14 +0.45 +0.84 +1.14 +1.19 +0.96 +0.56 +0.17 +0.0 +0.0 +0.19 +0.42 +0.53 +0.47 +0.31 +0.19 +0.2 +0.38 +0.61 +0.76 +0.71 +0.48 +0.17 +0.0 +0.01 +0.3 +0.71 +1.07 +1.21 +1.09 +0.79 +0.47 +0.28 +0.27 +0.4 +0.54 +0.57 +0.46 +0.24 +0.04 +0.0 +0.02 +0.19 +0.35 +0.43 +0.39 +0.29 +0.24 +0.31 +0.52 +0.79 +0.98 +0.99 +0.8 +0.49 +0.2 +0.06 +0.11 +0.29 +0.46 +0.5 +0.37 +0.13 +0.0 +0.0 +0.0 +0.07 +0.26 +0.33 +0.25 +0.1 +0.03 +0.14 +0.45 +0.84 +1.14 +1.19 +0.96 +0.56 +0.17 +0.0 +0.0 +0.19 +0.42 +0.53 +0.47 +0.31 +0.19 +0.2 +0.38 +0.61 +0.76 +0.71 +0.48 +0.17 +0.0 +0.01 +0.3 +0.71 +1.07 +1.21 +1.09 +0.79 +0.47 +0.28 +0.27 +0.4 +0.54 +0.57 +0.46 +0.24 +0.04 +0.0 +0.02 +0.0 +0.04 +0.26 +0.34 +0.27 +0.12 +0.04 +0.12 +0.39 +0.74 +1.02 +1.1 +0.93 +0.6 +0.27 +0.06 +0.05 +0.18 +0.31 +0.33 +0.19 +0.0 +0.0 +0.0 +0.0 +0.05 +0.27 +0.37 +0.3 +0.16 +0.09 +0.21 +0.54 +0.95 +1.26 +1.3 +1.05 +0.6 +0.16 +0.0 +0.0 +0.13 +0.38 +0.49 +0.41 +0.2 +0.0 +0.0 +0.07 +0.29 +0.47 +0.48 +0.3 +0.04 +0.0 +0.0 +0.31 +0.78 +1.17 +1.32 +1.17 +0.8 +0.4 +0.14 +0.1 +0.21 +0.34 +0.36 +0.2 +0.0 +0.0 +0.0 +0.0 +0.04 +0.26 +0.34 +0.27 +0.12 +0.04 +0.12 +0.39 +0.74 +1.02 +1.1 +0.93 +0.6 +0.27 +0.06 +0.05 +0.18 +0.31 +0.33 +0.19 +0.0 +0.0 +0.0 +0.0 +0.05 +0.27 +0.37 +0.3 +0.16 +0.09 +0.21 +0.54 +0.95 +1.26 +1.3 +1.05 +0.6 +0.16 +0.0 +0.0 +0.13 +0.38 +0.49 +0.41 +0.2 +0.0 +0.0 +0.07 +0.29 +0.47 +0.48 +0.3 +0.04 +0.0 +0.0 +0.31 +0.78 +1.17 +1.32 +1.17 +0.8 +0.4 +0.14 +0.1 +0.21 +0.34 +0.36 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.33 +0.4 +0.27 +0.06 +0.0 +0.0 +0.25 +0.65 +1.0 +1.15 +1.02 +0.71 +0.37 +0.14 +0.1 +0.19 +0.31 +0.32 +0.19 +0.0 +0.0 +0.0 +0.0 +0.1 +0.32 +0.41 +0.35 +0.21 +0.14 +0.25 +0.55 +0.93 +1.22 +1.25 +0.99 +0.55 +0.11 +0.0 +0.0 +0.12 +0.39 +0.52 +0.43 +0.19 +0.0 +0.0 +0.0 +0.09 +0.28 +0.33 +0.2 +0.0 +0.0 +0.0 +0.32 +0.8 +1.19 +1.33 +1.15 +0.74 +0.31 +0.02 +0.0 +0.09 +0.23 +0.26 +0.11 +0.0 +0.0 +0.0 +0.0 +0.1 +0.33 +0.4 +0.27 +0.06 +0.0 +0.0 +0.25 +0.65 +1.0 +1.15 +1.02 +0.71 +0.37 +0.14 +0.1 +0.19 +0.31 +0.32 +0.19 +0.0 +0.0 +0.0 +0.0 +0.1 +0.32 +0.41 +0.35 +0.21 +0.14 +0.25 +0.55 +0.93 +1.22 +1.25 +0.99 +0.55 +0.11 +0.0 +0.0 +0.12 +0.39 +0.52 +0.43 +0.19 +0.0 +0.0 +0.0 +0.09 +0.28 +0.33 +0.2 +0.0 +0.0 +0.0 +0.32 +0.8 +1.19 +1.33 +1.15 +0.74 +0.31 +0.02 +0.0 +0.09 +0.23 +0.26 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.36 +0.57 +0.6 +0.41 +0.12 +0.0 +0.0 +0.17 +0.58 +0.95 +1.13 +1.06 +0.8 +0.48 +0.27 +0.23 +0.33 +0.45 +0.49 +0.38 +0.18 +0.0 +0.0 +0.03 +0.22 +0.4 +0.48 +0.42 +0.3 +0.22 +0.3 +0.55 +0.86 +1.09 +1.1 +0.87 +0.48 +0.1 +0.0 +0.0 +0.19 +0.46 +0.6 +0.52 +0.28 +0.0 +0.0 +0.0 +0.06 +0.24 +0.3 +0.21 +0.03 +0.0 +0.01 +0.33 +0.77 +1.13 +1.24 +1.06 +0.66 +0.23 +0.0 +0.0 +0.07 +0.25 +0.31 +0.22 +0.03 +0.0 +0.0 +0.08 +0.36 +0.57 +0.6 +0.41 +0.12 +0.0 +0.0 +0.17 +0.58 +0.95 +1.13 +1.06 +0.8 +0.48 +0.27 +0.23 +0.33 +0.45 +0.49 +0.38 +0.18 +0.0 +0.0 +0.03 +0.22 +0.4 +0.48 +0.42 +0.3 +0.22 +0.3 +0.55 +0.86 +1.09 +1.1 +0.87 +0.48 +0.1 +0.0 +0.0 +0.19 +0.46 +0.6 +0.52 +0.28 +0.0 +0.0 +0.0 +0.06 +0.24 +0.3 +0.21 +0.03 +0.0 +0.01 +0.33 +0.77 +1.13 +1.24 +1.06 +0.66 +0.23 +0.0 +0.0 +0.07 +0.25 +0.31 +0.22 +0.03 +0.0 +0.0 +0.08 +0.44 +0.69 +0.87 +0.84 +0.61 +0.28 +0.02 +0.0 +0.17 +0.53 +0.88 +1.07 +1.03 +0.81 +0.55 +0.38 +0.36 +0.48 +0.63 +0.7 +0.64 +0.48 +0.3 +0.21 +0.23 +0.35 +0.48 +0.55 +0.51 +0.41 +0.35 +0.4 +0.56 +0.78 +0.94 +0.94 +0.75 +0.43 +0.14 +0.01 +0.08 +0.31 +0.55 +0.68 +0.62 +0.39 +0.13 +0.0 +0.0 +0.1 +0.26 +0.33 +0.25 +0.09 +0.0 +0.05 +0.31 +0.68 +1.0 +1.09 +0.93 +0.57 +0.2 +0.0 +0.0 +0.15 +0.36 +0.47 +0.43 +0.3 +0.21 +0.25 +0.44 +0.69 +0.87 +0.84 +0.61 +0.28 +0.02 +0.0 +0.17 +0.53 +0.88 +1.07 +1.03 +0.81 +0.55 +0.38 +0.36 +0.48 +0.63 +0.7 +0.64 +0.48 +0.3 +0.21 +0.23 +0.35 +0.48 +0.55 +0.51 +0.41 +0.35 +0.4 +0.56 +0.78 +0.94 +0.94 +0.75 +0.43 +0.14 +0.01 +0.08 +0.31 +0.55 +0.68 +0.62 +0.39 +0.13 +0.0 +0.0 +0.1 +0.26 +0.33 +0.25 +0.09 +0.0 +0.05 +0.31 +0.68 +1.0 +1.09 +0.93 +0.57 +0.2 +0.0 +0.0 +0.15 +0.36 +0.47 +0.43 +0.3 +0.21 +0.25 +0.44 +0.71 +0.92 +1.05 +0.99 +0.75 +0.42 +0.16 +0.08 +0.23 +0.52 +0.81 +0.96 +0.91 +0.72 +0.5 +0.36 +0.37 +0.51 +0.68 +0.79 +0.77 +0.65 +0.48 +0.36 +0.33 +0.39 +0.48 +0.55 +0.55 +0.5 +0.46 +0.47 +0.56 +0.69 +0.79 +0.77 +0.63 +0.41 +0.21 +0.13 +0.2 +0.4 +0.6 +0.71 +0.65 +0.45 +0.21 +0.06 +0.04 +0.14 +0.27 +0.33 +0.26 +0.12 +0.01 +0.04 +0.24 +0.55 +0.81 +0.9 +0.77 +0.49 +0.2 +0.04 +0.08 +0.27 +0.49 +0.62 +0.62 +0.54 +0.48 +0.53 +0.71 +0.92 +1.05 +0.99 +0.75 +0.42 +0.16 +0.08 +0.23 +0.52 +0.81 +0.96 +0.91 +0.72 +0.5 +0.36 +0.37 +0.51 +0.68 +0.79 +0.77 +0.65 +0.48 +0.36 +0.33 +0.39 +0.48 +0.55 +0.55 +0.5 +0.46 +0.47 +0.56 +0.69 +0.79 +0.77 +0.63 +0.41 +0.21 +0.13 +0.2 +0.4 +0.6 +0.71 +0.65 +0.45 +0.21 +0.06 +0.04 +0.14 +0.27 +0.33 +0.26 +0.12 +0.01 +0.04 +0.24 +0.55 +0.81 +0.9 +0.77 +0.49 +0.2 +0.04 +0.08 +0.27 +0.49 +0.62 +0.62 +0.54 +0.48 +0.53 +0.71 +0.76 +0.93 +1.02 +0.96 +0.75 +0.47 +0.25 +0.18 +0.29 +0.51 +0.72 +0.81 +0.74 +0.55 +0.34 +0.21 +0.22 +0.36 +0.53 +0.66 +0.68 +0.58 +0.42 +0.28 +0.22 +0.24 +0.33 +0.41 +0.46 +0.46 +0.44 +0.44 +0.47 +0.54 +0.59 +0.58 +0.5 +0.37 +0.25 +0.21 +0.28 +0.43 +0.59 +0.67 +0.62 +0.46 +0.26 +0.13 +0.11 +0.18 +0.29 +0.33 +0.27 +0.14 +0.03 +0.03 +0.17 +0.41 +0.63 +0.72 +0.64 +0.44 +0.23 +0.14 +0.2 +0.38 +0.58 +0.69 +0.69 +0.62 +0.57 +0.62 +0.76 +0.93 +1.02 +0.96 +0.75 +0.47 +0.25 +0.18 +0.29 +0.51 +0.72 +0.81 +0.74 +0.55 +0.34 +0.21 +0.22 +0.36 +0.53 +0.66 +0.68 +0.58 +0.42 +0.28 +0.22 +0.24 +0.33 +0.41 +0.46 +0.46 +0.44 +0.44 +0.47 +0.54 +0.59 +0.58 +0.5 +0.37 +0.25 +0.21 +0.28 +0.43 +0.59 +0.67 +0.62 +0.46 +0.26 +0.13 +0.11 +0.18 +0.29 +0.33 +0.27 +0.14 +0.03 +0.03 +0.17 +0.41 +0.63 +0.72 +0.64 +0.44 +0.23 +0.14 +0.2 +0.38 +0.58 +0.69 +0.69 +0.62 +0.57 +0.62 +0.76 +0.62 +0.75 +0.82 +0.77 +0.62 +0.42 +0.26 +0.23 +0.32 +0.48 +0.63 +0.67 +0.57 +0.37 +0.16 +0.02 +0.01 +0.12 +0.28 +0.41 +0.44 +0.35 +0.19 +0.04 +0.0 +0.0 +0.07 +0.19 +0.28 +0.31 +0.3 +0.28 +0.28 +0.32 +0.38 +0.42 +0.41 +0.35 +0.29 +0.28 +0.34 +0.46 +0.59 +0.67 +0.65 +0.54 +0.4 +0.31 +0.31 +0.39 +0.49 +0.52 +0.46 +0.32 +0.18 +0.13 +0.2 +0.37 +0.54 +0.62 +0.57 +0.44 +0.31 +0.26 +0.33 +0.49 +0.63 +0.7 +0.67 +0.58 +0.51 +0.52 +0.62 +0.75 +0.82 +0.77 +0.62 +0.42 +0.26 +0.23 +0.32 +0.48 +0.63 +0.67 +0.57 +0.37 +0.16 +0.02 +0.01 +0.12 +0.28 +0.41 +0.44 +0.35 +0.19 +0.04 +0.0 +0.0 +0.07 +0.19 +0.28 +0.31 +0.3 +0.28 +0.28 +0.32 +0.38 +0.42 +0.41 +0.35 +0.29 +0.28 +0.34 +0.46 +0.59 +0.67 +0.65 +0.54 +0.4 +0.31 +0.31 +0.39 +0.49 +0.52 +0.46 +0.32 +0.18 +0.13 +0.2 +0.37 +0.54 +0.62 +0.57 +0.44 +0.31 +0.26 +0.33 +0.49 +0.63 +0.7 +0.67 +0.58 +0.51 +0.52 +0.62 +0.45 +0.53 +0.57 +0.54 +0.44 +0.31 +0.23 +0.22 +0.31 +0.45 +0.56 +0.58 +0.48 +0.29 +0.07 +0.0 +0.0 +0.0 +0.11 +0.23 +0.27 +0.18 +0.02 +0.0 +0.0 +0.0 +0.0 +0.03 +0.14 +0.17 +0.15 +0.12 +0.12 +0.19 +0.3 +0.4 +0.47 +0.47 +0.44 +0.44 +0.5 +0.62 +0.77 +0.89 +0.92 +0.89 +0.83 +0.81 +0.86 +0.98 +1.09 +1.12 +1.02 +0.83 +0.62 +0.48 +0.47 +0.55 +0.65 +0.7 +0.65 +0.55 +0.45 +0.43 +0.5 +0.62 +0.71 +0.73 +0.65 +0.53 +0.43 +0.4 +0.45 +0.53 +0.57 +0.54 +0.44 +0.31 +0.23 +0.22 +0.31 +0.45 +0.56 +0.58 +0.48 +0.29 +0.07 +0.0 +0.0 +0.0 +0.11 +0.23 +0.27 +0.18 +0.02 +0.0 +0.0 +0.0 +0.0 +0.03 +0.14 +0.17 +0.15 +0.12 +0.12 +0.19 +0.3 +0.4 +0.47 +0.47 +0.44 +0.44 +0.5 +0.62 +0.77 +0.89 +0.92 +0.89 +0.83 +0.81 +0.86 +0.98 +1.09 +1.12 +1.02 +0.83 +0.62 +0.48 +0.47 +0.55 +0.65 +0.7 +0.65 +0.55 +0.45 +0.43 +0.5 +0.62 +0.71 +0.73 +0.65 +0.53 +0.43 +0.4 +0.45 +0.39 +0.43 +0.44 +0.41 +0.34 +0.25 +0.19 +0.21 +0.29 +0.42 +0.54 +0.58 +0.51 +0.35 +0.15 +0.0 +0.0 +0.03 +0.19 +0.34 +0.4 +0.32 +0.15 +0.0 +0.0 +0.0 +0.0 +0.15 +0.24 +0.25 +0.2 +0.15 +0.17 +0.3 +0.49 +0.68 +0.81 +0.84 +0.82 +0.81 +0.87 +1.02 +1.22 +1.4 +1.53 +1.59 +1.62 +1.7 +1.85 +2.04 +2.19 +2.21 +2.05 +1.76 +1.42 +1.14 +1.0 +0.98 +1.0 +0.99 +0.91 +0.79 +0.68 +0.66 +0.72 +0.82 +0.89 +0.87 +0.75 +0.6 +0.46 +0.39 +0.39 +0.43 +0.44 +0.41 +0.34 +0.25 +0.19 +0.21 +0.29 +0.42 +0.54 +0.58 +0.51 +0.35 +0.15 +0.0 +0.0 +0.03 +0.19 +0.34 +0.4 +0.32 +0.15 +0.0 +0.0 +0.0 +0.0 +0.15 +0.24 +0.25 +0.2 +0.15 +0.17 +0.3 +0.49 +0.68 +0.81 +0.84 +0.82 +0.81 +0.87 +1.02 +1.22 +1.4 +1.53 +1.59 +1.62 +1.7 +1.85 +2.04 +2.19 +2.21 +2.05 +1.76 +1.42 +1.14 +1.0 +0.98 +1.0 +0.99 +0.91 +0.79 +0.68 +0.66 +0.72 +0.82 +0.89 +0.87 +0.75 +0.6 +0.46 +0.39 +0.39 +0.51 +0.5 +0.49 +0.45 +0.37 +0.28 +0.21 +0.19 +0.26 +0.38 +0.53 +0.63 +0.63 +0.53 +0.36 +0.22 +0.19 +0.31 +0.53 +0.76 +0.89 +0.85 +0.68 +0.47 +0.34 +0.35 +0.46 +0.6 +0.67 +0.64 +0.53 +0.46 +0.5 +0.69 +0.98 +1.25 +1.42 +1.45 +1.4 +1.35 +1.4 +1.58 +1.85 +2.12 +2.34 +2.5 +2.64 +2.83 +3.1 +3.39 +3.6 +3.61 +3.37 +2.92 +2.41 +1.97 +1.69 +1.57 +1.52 +1.45 +1.31 +1.12 +0.97 +0.92 +0.97 +1.07 +1.14 +1.12 +1.0 +0.83 +0.66 +0.55 +0.51 +0.5 +0.49 +0.45 +0.37 +0.28 +0.21 +0.19 +0.26 +0.38 +0.53 +0.63 +0.63 +0.53 +0.36 +0.22 +0.19 +0.31 +0.53 +0.76 +0.89 +0.85 +0.68 +0.47 +0.34 +0.35 +0.46 +0.6 +0.67 +0.64 +0.53 +0.46 +0.5 +0.69 +0.98 +1.25 +1.42 +1.45 +1.4 +1.35 +1.4 +1.58 +1.85 +2.12 +2.34 +2.5 +2.64 +2.83 +3.1 +3.39 +3.6 +3.61 +3.37 +2.92 +2.41 +1.97 +1.69 +1.57 +1.52 +1.45 +1.31 +1.12 +0.97 +0.92 +0.97 +1.07 +1.14 +1.12 +1.0 +0.83 +0.66 +0.55 +0.51 +0.69 +0.66 +0.63 +0.58 +0.49 +0.37 +0.25 +0.18 +0.19 +0.3 +0.48 +0.65 +0.74 +0.69 +0.56 +0.43 +0.42 +0.61 +0.95 +1.32 +1.57 +1.61 +1.46 +1.23 +1.07 +1.04 +1.14 +1.26 +1.29 +1.2 +1.04 +0.93 +0.98 +1.22 +1.57 +1.9 +2.09 +2.08 +1.96 +1.85 +1.87 +2.07 +2.39 +2.74 +3.04 +3.28 +3.51 +3.81 +4.21 +4.62 +4.91 +4.91 +4.57 +3.96 +3.26 +2.66 +2.27 +2.08 +2.0 +1.89 +1.69 +1.44 +1.23 +1.13 +1.16 +1.28 +1.38 +1.39 +1.28 +1.1 +0.92 +0.77 +0.69 +0.66 +0.63 +0.58 +0.49 +0.37 +0.25 +0.18 +0.19 +0.3 +0.48 +0.65 +0.74 +0.69 +0.56 +0.43 +0.42 +0.61 +0.95 +1.32 +1.57 +1.61 +1.46 +1.23 +1.07 +1.04 +1.14 +1.26 +1.29 +1.2 +1.04 +0.93 +0.98 +1.22 +1.57 +1.9 +2.09 +2.08 +1.96 +1.85 +1.87 +2.07 +2.39 +2.74 +3.04 +3.28 +3.51 +3.81 +4.21 +4.62 +4.91 +4.91 +4.57 +3.96 +3.26 +2.66 +2.27 +2.08 +2.0 +1.89 +1.69 +1.44 +1.23 +1.13 +1.16 +1.28 +1.38 +1.39 +1.28 +1.1 +0.92 +0.77 +0.69 +0.77 +0.73 +0.72 +0.69 +0.6 +0.45 +0.27 +0.12 +0.07 +0.15 +0.35 +0.58 +0.73 +0.72 +0.58 +0.44 +0.45 +0.71 +1.18 +1.73 +2.15 +2.3 +2.19 +1.94 +1.73 +1.65 +1.72 +1.81 +1.8 +1.66 +1.44 +1.28 +1.32 +1.58 +1.97 +2.33 +2.49 +2.43 +2.22 +2.03 +2.0 +2.2 +2.55 +2.95 +3.3 +3.58 +3.87 +4.26 +4.77 +5.29 +5.65 +5.66 +5.23 +4.48 +3.62 +2.89 +2.44 +2.25 +2.2 +2.1 +1.89 +1.59 +1.31 +1.17 +1.2 +1.34 +1.48 +1.53 +1.44 +1.26 +1.05 +0.87 +0.77 +0.73 +0.72 +0.69 +0.6 +0.45 +0.27 +0.12 +0.07 +0.15 +0.35 +0.58 +0.73 +0.72 +0.58 +0.44 +0.45 +0.71 +1.18 +1.73 +2.15 +2.3 +2.19 +1.94 +1.73 +1.65 +1.72 +1.81 +1.8 +1.66 +1.44 +1.28 +1.32 +1.58 +1.97 +2.33 +2.49 +2.43 +2.22 +2.03 +2.0 +2.2 +2.55 +2.95 +3.3 +3.58 +3.87 +4.26 +4.77 +5.29 +5.65 +5.66 +5.23 +4.48 +3.62 +2.89 +2.44 +2.25 +2.2 +2.1 +1.89 +1.59 +1.31 +1.17 +1.2 +1.34 +1.48 +1.53 +1.44 +1.26 +1.05 +0.87 +0.77 +0.63 +0.61 +0.64 +0.66 +0.61 +0.46 +0.24 +0.01 +0.0 +0.0 +0.15 +0.41 +0.58 +0.57 +0.4 +0.21 +0.2 +0.5 +1.11 +1.83 +2.42 +2.7 +2.63 +2.35 +2.07 +1.92 +1.93 +1.99 +1.95 +1.77 +1.49 +1.28 +1.29 +1.54 +1.94 +2.3 +2.44 +2.32 +2.02 +1.75 +1.67 +1.85 +2.21 +2.62 +2.98 +3.26 +3.57 +4.0 +4.58 +5.19 +5.61 +5.63 +5.14 +4.28 +3.31 +2.51 +2.06 +1.94 +1.98 +1.97 +1.79 +1.47 +1.16 +0.98 +1.0 +1.16 +1.35 +1.44 +1.37 +1.18 +0.94 +0.74 +0.63 +0.61 +0.64 +0.66 +0.61 +0.46 +0.24 +0.01 +0.0 +0.0 +0.15 +0.41 +0.58 +0.57 +0.4 +0.21 +0.2 +0.5 +1.11 +1.83 +2.42 +2.7 +2.63 +2.35 +2.07 +1.92 +1.93 +1.99 +1.95 +1.77 +1.49 +1.28 +1.29 +1.54 +1.94 +2.3 +2.44 +2.32 +2.02 +1.75 +1.67 +1.85 +2.21 +2.62 +2.98 +3.26 +3.57 +4.0 +4.58 +5.19 +5.61 +5.63 +5.14 +4.28 +3.31 +2.51 +2.06 +1.94 +1.98 +1.97 +1.79 +1.47 +1.16 +0.98 +1.0 +1.16 +1.35 +1.44 +1.37 +1.18 +0.94 +0.74 +0.63 +0.3 +0.31 +0.4 +0.5 +0.52 +0.4 +0.17 +0.0 +0.0 +0.0 +0.0 +0.21 +0.39 +0.36 +0.12 +0.0 +0.0 +0.12 +0.82 +1.69 +2.43 +2.82 +2.78 +2.46 +2.08 +1.84 +1.78 +1.79 +1.72 +1.5 +1.18 +0.92 +0.89 +1.12 +1.51 +1.86 +1.99 +1.83 +1.48 +1.14 +1.02 +1.17 +1.52 +1.93 +2.27 +2.53 +2.8 +3.21 +3.81 +4.46 +4.92 +4.94 +4.43 +3.51 +2.48 +1.66 +1.26 +1.24 +1.41 +1.51 +1.41 +1.12 +0.79 +0.59 +0.61 +0.8 +1.02 +1.15 +1.1 +0.9 +0.63 +0.41 +0.3 +0.31 +0.4 +0.5 +0.52 +0.4 +0.17 +0.0 +0.0 +0.0 +0.0 +0.21 +0.39 +0.36 +0.12 +0.0 +0.0 +0.12 +0.82 +1.69 +2.43 +2.82 +2.78 +2.46 +2.08 +1.84 +1.78 +1.79 +1.72 +1.5 +1.18 +0.92 +0.89 +1.12 +1.51 +1.86 +1.99 +1.83 +1.48 +1.14 +1.02 +1.17 +1.52 +1.93 +2.27 +2.53 +2.8 +3.21 +3.81 +4.46 +4.92 +4.94 +4.43 +3.51 +2.48 +1.66 +1.26 +1.24 +1.41 +1.51 +1.41 +1.12 +0.79 +0.59 +0.61 +0.8 +1.02 +1.15 +1.1 +0.9 +0.63 +0.41 +0.3 +0.0 +0.01 +0.17 +0.35 +0.44 +0.38 +0.16 +0.0 +0.0 +0.0 +0.0 +0.14 +0.32 +0.27 +0.0 +0.0 +0.0 +0.0 +0.62 +1.59 +2.44 +2.91 +2.88 +2.51 +2.03 +1.68 +1.52 +1.46 +1.36 +1.11 +0.76 +0.46 +0.39 +0.59 +0.98 +1.34 +1.47 +1.3 +0.93 +0.56 +0.4 +0.52 +0.86 +1.26 +1.57 +1.77 +1.98 +2.34 +2.89 +3.53 +3.99 +4.01 +3.5 +2.55 +1.51 +0.71 +0.35 +0.43 +0.71 +0.92 +0.9 +0.66 +0.34 +0.15 +0.17 +0.37 +0.63 +0.78 +0.75 +0.56 +0.29 +0.06 +0.0 +0.01 +0.17 +0.35 +0.44 +0.38 +0.16 +0.0 +0.0 +0.0 +0.0 +0.14 +0.32 +0.27 +0.0 +0.0 +0.0 +0.0 +0.62 +1.59 +2.44 +2.91 +2.88 +2.51 +2.03 +1.68 +1.52 +1.46 +1.36 +1.11 +0.76 +0.46 +0.39 +0.59 +0.98 +1.34 +1.47 +1.3 +0.93 +0.56 +0.4 +0.52 +0.86 +1.26 +1.57 +1.77 +1.98 +2.34 +2.89 +3.53 +3.99 +4.01 +3.5 +2.55 +1.51 +0.71 +0.35 +0.43 +0.71 +0.92 +0.9 +0.66 +0.34 +0.15 +0.17 +0.37 +0.63 +0.78 +0.75 +0.56 +0.29 +0.06 +0.0 +0.0 +0.0 +0.11 +0.35 +0.51 +0.5 +0.31 +0.03 +0.0 +0.0 +0.0 +0.29 +0.49 +0.46 +0.18 +0.0 +0.0 +0.04 +0.82 +1.84 +2.76 +3.27 +3.24 +2.82 +2.25 +1.78 +1.51 +1.38 +1.23 +0.95 +0.58 +0.26 +0.15 +0.34 +0.72 +1.09 +1.24 +1.09 +0.72 +0.34 +0.15 +0.26 +0.58 +0.95 +1.23 +1.38 +1.51 +1.78 +2.25 +2.82 +3.24 +3.27 +2.76 +1.84 +0.82 +0.04 +0.0 +0.0 +0.18 +0.46 +0.49 +0.29 +0.0 +0.0 +0.0 +0.03 +0.31 +0.5 +0.51 +0.35 +0.11 +0.0 +0.0 +0.0 +0.11 +0.35 +0.51 +0.5 +0.31 +0.03 +0.0 +0.0 +0.0 +0.29 +0.49 +0.46 +0.18 +0.0 +0.0 +0.04 +0.82 +1.84 +2.76 +3.27 +3.24 +2.82 +2.25 +1.78 +1.51 +1.38 +1.23 +0.95 +0.58 +0.26 +0.15 +0.34 +0.72 +1.09 +1.24 +1.09 +0.72 +0.34 +0.15 +0.26 +0.58 +0.95 +1.23 +1.38 +1.51 +1.78 +2.25 +2.82 +3.24 +3.27 +2.76 +1.84 +0.82 +0.04 +0.0 +0.0 +0.18 +0.46 +0.49 +0.29 +0.0 +0.0 +0.0 +0.03 +0.31 +0.5 +0.51 +0.35 +0.11 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.09 +0.27 +0.36 +0.38 +0.37 +0.39 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.77 +2.01 +2.2 +2.28 +2.24 +2.08 +1.86 +1.62 +1.38 +1.15 +0.93 +0.73 +0.55 +0.44 +0.39 +0.38 +0.34 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.36 +0.4 +0.41 +0.45 +0.56 +0.72 +0.93 +1.14 +1.37 +1.61 +1.85 +2.07 +2.22 +2.26 +2.18 +2.0 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.4 +0.38 +0.39 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.27 +0.36 +0.38 +0.37 +0.39 +0.49 +0.64 +0.84 +1.05 +1.27 +1.51 +1.77 +2.01 +2.2 +2.28 +2.24 +2.08 +1.86 +1.62 +1.38 +1.15 +0.93 +0.73 +0.55 +0.44 +0.39 +0.38 +0.34 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.24 +0.36 +0.4 +0.41 +0.45 +0.56 +0.72 +0.93 +1.14 +1.37 +1.61 +1.85 +2.07 +2.22 +2.26 +2.18 +2.0 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.4 +0.38 +0.39 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.3 +0.42 +0.45 +0.4 +0.34 +0.32 +0.37 +0.5 +0.68 +0.89 +1.13 +1.4 +1.71 +2.01 +2.25 +2.4 +2.4 +2.27 +2.05 +1.79 +1.52 +1.27 +1.03 +0.82 +0.65 +0.53 +0.47 +0.45 +0.43 +0.34 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.35 +0.46 +0.5 +0.51 +0.55 +0.64 +0.8 +1.0 +1.23 +1.48 +1.74 +1.99 +2.2 +2.32 +2.31 +2.18 +1.95 +1.67 +1.38 +1.12 +0.88 +0.67 +0.5 +0.39 +0.36 +0.4 +0.47 +0.5 +0.45 +0.3 +0.11 +0.0 +0.0 +0.0 +0.12 +0.3 +0.42 +0.45 +0.4 +0.34 +0.32 +0.37 +0.5 +0.68 +0.89 +1.13 +1.4 +1.71 +2.01 +2.25 +2.4 +2.4 +2.27 +2.05 +1.79 +1.52 +1.27 +1.03 +0.82 +0.65 +0.53 +0.47 +0.45 +0.43 +0.34 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.35 +0.46 +0.5 +0.51 +0.55 +0.64 +0.8 +1.0 +1.23 +1.48 +1.74 +1.99 +2.2 +2.32 +2.31 +2.18 +1.95 +1.67 +1.38 +1.12 +0.88 +0.67 +0.5 +0.39 +0.36 +0.4 +0.47 +0.5 +0.45 +0.3 +0.11 +0.0 +0.0 +0.0 +0.12 +0.3 +0.59 +0.64 +0.6 +0.5 +0.38 +0.31 +0.31 +0.4 +0.54 +0.74 +0.99 +1.28 +1.63 +1.99 +2.31 +2.53 +2.6 +2.52 +2.32 +2.05 +1.77 +1.5 +1.27 +1.07 +0.9 +0.79 +0.74 +0.73 +0.71 +0.65 +0.52 +0.36 +0.2 +0.12 +0.16 +0.3 +0.48 +0.64 +0.74 +0.77 +0.77 +0.78 +0.84 +0.97 +1.15 +1.39 +1.66 +1.94 +2.19 +2.37 +2.43 +2.36 +2.17 +1.88 +1.57 +1.26 +0.98 +0.74 +0.54 +0.41 +0.36 +0.4 +0.5 +0.62 +0.7 +0.69 +0.59 +0.45 +0.33 +0.29 +0.35 +0.47 +0.59 +0.64 +0.6 +0.5 +0.38 +0.31 +0.31 +0.4 +0.54 +0.74 +0.99 +1.28 +1.63 +1.99 +2.31 +2.53 +2.6 +2.52 +2.32 +2.05 +1.77 +1.5 +1.27 +1.07 +0.9 +0.79 +0.74 +0.73 +0.71 +0.65 +0.52 +0.36 +0.2 +0.12 +0.16 +0.3 +0.48 +0.64 +0.74 +0.77 +0.77 +0.78 +0.84 +0.97 +1.15 +1.39 +1.66 +1.94 +2.19 +2.37 +2.43 +2.36 +2.17 +1.88 +1.57 +1.26 +0.98 +0.74 +0.54 +0.41 +0.36 +0.4 +0.5 +0.62 +0.7 +0.69 +0.59 +0.45 +0.33 +0.29 +0.35 +0.47 +0.59 +0.9 +0.9 +0.81 +0.68 +0.53 +0.43 +0.39 +0.42 +0.52 +0.68 +0.9 +1.19 +1.55 +1.94 +2.32 +2.61 +2.76 +2.75 +2.59 +2.36 +2.09 +1.85 +1.64 +1.48 +1.35 +1.27 +1.23 +1.23 +1.24 +1.21 +1.13 +1.0 +0.86 +0.78 +0.78 +0.87 +1.0 +1.13 +1.2 +1.21 +1.18 +1.15 +1.15 +1.23 +1.38 +1.6 +1.87 +2.14 +2.37 +2.5 +2.5 +2.37 +2.12 +1.81 +1.49 +1.19 +0.93 +0.71 +0.55 +0.46 +0.47 +0.56 +0.71 +0.86 +0.95 +0.96 +0.89 +0.78 +0.71 +0.7 +0.75 +0.84 +0.9 +0.9 +0.81 +0.68 +0.53 +0.43 +0.39 +0.42 +0.52 +0.68 +0.9 +1.19 +1.55 +1.94 +2.32 +2.61 +2.76 +2.75 +2.59 +2.36 +2.09 +1.85 +1.64 +1.48 +1.35 +1.27 +1.23 +1.23 +1.24 +1.21 +1.13 +1.0 +0.86 +0.78 +0.78 +0.87 +1.0 +1.13 +1.2 +1.21 +1.18 +1.15 +1.15 +1.23 +1.38 +1.6 +1.87 +2.14 +2.37 +2.5 +2.5 +2.37 +2.12 +1.81 +1.49 +1.19 +0.93 +0.71 +0.55 +0.46 +0.47 +0.56 +0.71 +0.86 +0.95 +0.96 +0.89 +0.78 +0.71 +0.7 +0.75 +0.84 +0.9 +1.16 +1.12 +1.03 +0.9 +0.76 +0.65 +0.58 +0.58 +0.63 +0.73 +0.89 +1.13 +1.45 +1.83 +2.23 +2.57 +2.8 +2.87 +2.79 +2.62 +2.42 +2.22 +2.07 +1.95 +1.87 +1.82 +1.81 +1.83 +1.87 +1.88 +1.83 +1.73 +1.61 +1.51 +1.48 +1.52 +1.61 +1.69 +1.74 +1.71 +1.64 +1.55 +1.49 +1.51 +1.62 +1.81 +2.05 +2.3 +2.48 +2.55 +2.49 +2.29 +2.02 +1.72 +1.44 +1.19 +0.98 +0.81 +0.69 +0.65 +0.7 +0.82 +0.97 +1.11 +1.18 +1.17 +1.11 +1.04 +1.0 +1.02 +1.07 +1.13 +1.16 +1.12 +1.03 +0.9 +0.76 +0.65 +0.58 +0.58 +0.63 +0.73 +0.89 +1.13 +1.45 +1.83 +2.23 +2.57 +2.8 +2.87 +2.79 +2.62 +2.42 +2.22 +2.07 +1.95 +1.87 +1.82 +1.81 +1.83 +1.87 +1.88 +1.83 +1.73 +1.61 +1.51 +1.48 +1.52 +1.61 +1.69 +1.74 +1.71 +1.64 +1.55 +1.49 +1.51 +1.62 +1.81 +2.05 +2.3 +2.48 +2.55 +2.49 +2.29 +2.02 +1.72 +1.44 +1.19 +0.98 +0.81 +0.69 +0.65 +0.7 +0.82 +0.97 +1.11 +1.18 +1.17 +1.11 +1.04 +1.0 +1.02 +1.07 +1.13 +1.16 +1.29 +1.24 +1.16 +1.05 +0.95 +0.86 +0.79 +0.76 +0.76 +0.79 +0.88 +1.04 +1.29 +1.62 +2.0 +2.37 +2.66 +2.82 +2.84 +2.76 +2.63 +2.49 +2.38 +2.3 +2.25 +2.23 +2.25 +2.29 +2.36 +2.4 +2.4 +2.33 +2.21 +2.11 +2.04 +2.04 +2.09 +2.13 +2.13 +2.07 +1.95 +1.81 +1.71 +1.69 +1.77 +1.94 +2.16 +2.37 +2.5 +2.51 +2.38 +2.14 +1.86 +1.59 +1.36 +1.18 +1.04 +0.94 +0.87 +0.87 +0.94 +1.06 +1.18 +1.27 +1.28 +1.25 +1.19 +1.15 +1.15 +1.2 +1.25 +1.29 +1.29 +1.24 +1.16 +1.05 +0.95 +0.86 +0.79 +0.76 +0.76 +0.79 +0.88 +1.04 +1.29 +1.62 +2.0 +2.37 +2.66 +2.82 +2.84 +2.76 +2.63 +2.49 +2.38 +2.3 +2.25 +2.23 +2.25 +2.29 +2.36 +2.4 +2.4 +2.33 +2.21 +2.11 +2.04 +2.04 +2.09 +2.13 +2.13 +2.07 +1.95 +1.81 +1.71 +1.69 +1.77 +1.94 +2.16 +2.37 +2.5 +2.51 +2.38 +2.14 +1.86 +1.59 +1.36 +1.18 +1.04 +0.94 +0.87 +0.87 +0.94 +1.06 +1.18 +1.27 +1.28 +1.25 +1.19 +1.15 +1.15 +1.2 +1.25 +1.29 +1.29 +1.26 +1.19 +1.12 +1.05 +0.99 +0.93 +0.88 +0.83 +0.79 +0.78 +0.8 +0.88 +1.05 +1.31 +1.65 +2.01 +2.34 +2.58 +2.69 +2.71 +2.65 +2.57 +2.48 +2.42 +2.37 +2.35 +2.37 +2.44 +2.54 +2.62 +2.65 +2.61 +2.51 +2.4 +2.32 +2.29 +2.29 +2.29 +2.24 +2.14 +1.99 +1.83 +1.72 +1.69 +1.77 +1.94 +2.15 +2.34 +2.43 +2.38 +2.2 +1.93 +1.65 +1.42 +1.24 +1.12 +1.04 +0.98 +0.96 +0.98 +1.05 +1.14 +1.22 +1.24 +1.2 +1.14 +1.09 +1.09 +1.15 +1.22 +1.28 +1.3 +1.26 +1.19 +1.12 +1.05 +0.99 +0.93 +0.88 +0.83 +0.79 +0.78 +0.8 +0.88 +1.05 +1.31 +1.65 +2.01 +2.34 +2.58 +2.69 +2.71 +2.65 +2.57 +2.48 +2.42 +2.37 +2.35 +2.37 +2.44 +2.54 +2.62 +2.65 +2.61 +2.51 +2.4 +2.32 +2.29 +2.29 +2.29 +2.24 +2.14 +1.99 +1.83 +1.72 +1.69 +1.77 +1.94 +2.15 +2.34 +2.43 +2.38 +2.2 +1.93 +1.65 +1.42 +1.24 +1.12 +1.04 +0.98 +0.96 +0.98 +1.05 +1.14 +1.22 +1.24 +1.2 +1.14 +1.09 +1.09 +1.15 +1.22 +1.28 +1.3 +1.26 +1.07 +0.97 +0.9 +0.85 +0.82 +0.8 +0.76 +0.71 +0.65 +0.61 +0.6 +0.64 +0.74 +0.93 +1.21 +1.55 +1.89 +2.19 +2.38 +2.48 +2.49 +2.45 +2.37 +2.29 +2.23 +2.21 +2.24 +2.33 +2.45 +2.57 +2.64 +2.64 +2.57 +2.46 +2.37 +2.3 +2.25 +2.2 +2.1 +1.96 +1.79 +1.64 +1.54 +1.55 +1.65 +1.84 +2.05 +2.22 +2.27 +2.18 +1.97 +1.7 +1.43 +1.21 +1.07 +0.98 +0.92 +0.88 +0.87 +0.89 +0.95 +1.01 +1.04 +1.0 +0.93 +0.86 +0.84 +0.9 +1.01 +1.12 +1.17 +1.15 +1.07 +0.97 +0.9 +0.85 +0.82 +0.8 +0.76 +0.71 +0.65 +0.61 +0.6 +0.64 +0.74 +0.93 +1.21 +1.55 +1.89 +2.19 +2.38 +2.48 +2.49 +2.45 +2.37 +2.29 +2.23 +2.21 +2.24 +2.33 +2.45 +2.57 +2.64 +2.64 +2.57 +2.46 +2.37 +2.3 +2.25 +2.2 +2.1 +1.96 +1.79 +1.64 +1.54 +1.55 +1.65 +1.84 +2.05 +2.22 +2.27 +2.18 +1.97 +1.7 +1.43 +1.21 +1.07 +0.98 +0.92 +0.88 +0.87 +0.89 +0.95 +1.01 +1.04 +1.0 +0.93 +0.86 +0.84 +0.9 +1.01 +1.12 +1.17 +1.15 +1.07 +0.76 +0.63 +0.54 +0.5 +0.5 +0.49 +0.47 +0.42 +0.37 +0.33 +0.31 +0.33 +0.4 +0.54 +0.76 +1.05 +1.39 +1.71 +1.98 +2.15 +2.23 +2.22 +2.17 +2.1 +2.04 +2.02 +2.08 +2.2 +2.36 +2.52 +2.63 +2.66 +2.61 +2.51 +2.4 +2.29 +2.17 +2.05 +1.89 +1.71 +1.53 +1.39 +1.33 +1.36 +1.5 +1.69 +1.89 +2.03 +2.06 +1.95 +1.74 +1.46 +1.2 +1.0 +0.86 +0.77 +0.7 +0.65 +0.63 +0.64 +0.68 +0.71 +0.7 +0.63 +0.53 +0.47 +0.5 +0.61 +0.78 +0.91 +0.95 +0.89 +0.76 +0.63 +0.54 +0.5 +0.5 +0.49 +0.47 +0.42 +0.37 +0.33 +0.31 +0.33 +0.4 +0.54 +0.76 +1.05 +1.39 +1.71 +1.98 +2.15 +2.23 +2.22 +2.17 +2.1 +2.04 +2.02 +2.08 +2.2 +2.36 +2.52 +2.63 +2.66 +2.61 +2.51 +2.4 +2.29 +2.17 +2.05 +1.89 +1.71 +1.53 +1.39 +1.33 +1.36 +1.5 +1.69 +1.89 +2.03 +2.06 +1.95 +1.74 +1.46 +1.2 +1.0 +0.86 +0.77 +0.7 +0.65 +0.63 +0.64 +0.68 +0.71 +0.7 +0.63 +0.53 +0.47 +0.5 +0.61 +0.78 +0.91 +0.95 +0.89 +0.76 +0.4 +0.24 +0.14 +0.12 +0.14 +0.15 +0.12 +0.08 +0.03 +0.01 +0.01 +0.03 +0.09 +0.19 +0.35 +0.6 +0.9 +1.24 +1.55 +1.79 +1.95 +2.02 +2.03 +2.01 +2.01 +2.05 +2.16 +2.33 +2.53 +2.72 +2.86 +2.9 +2.86 +2.76 +2.61 +2.44 +2.25 +2.04 +1.82 +1.59 +1.4 +1.27 +1.22 +1.26 +1.38 +1.54 +1.69 +1.79 +1.79 +1.68 +1.47 +1.23 +0.99 +0.81 +0.66 +0.55 +0.46 +0.39 +0.34 +0.34 +0.36 +0.37 +0.33 +0.23 +0.13 +0.08 +0.14 +0.3 +0.5 +0.64 +0.67 +0.57 +0.4 +0.24 +0.14 +0.12 +0.14 +0.15 +0.12 +0.08 +0.03 +0.01 +0.01 +0.03 +0.09 +0.19 +0.35 +0.6 +0.9 +1.24 +1.55 +1.79 +1.95 +2.02 +2.03 +2.01 +2.01 +2.05 +2.16 +2.33 +2.53 +2.72 +2.86 +2.9 +2.86 +2.76 +2.61 +2.44 +2.25 +2.04 +1.82 +1.59 +1.4 +1.27 +1.22 +1.26 +1.38 +1.54 +1.69 +1.79 +1.79 +1.68 +1.47 +1.23 +0.99 +0.81 +0.66 +0.55 +0.46 +0.39 +0.34 +0.34 +0.36 +0.37 +0.33 +0.23 +0.13 +0.08 +0.14 +0.3 +0.5 +0.64 +0.67 +0.57 +0.4 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.22 +0.49 +0.81 +1.16 +1.47 +1.73 +1.91 +2.03 +2.12 +2.22 +2.36 +2.56 +2.79 +3.03 +3.23 +3.36 +3.4 +3.35 +3.22 +3.03 +2.79 +2.52 +2.23 +1.95 +1.69 +1.49 +1.36 +1.29 +1.29 +1.33 +1.4 +1.47 +1.5 +1.46 +1.35 +1.18 +0.98 +0.79 +0.63 +0.5 +0.38 +0.26 +0.17 +0.11 +0.1 +0.11 +0.1 +0.04 +0.0 +0.0 +0.0 +0.0 +0.03 +0.23 +0.37 +0.37 +0.25 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.22 +0.49 +0.81 +1.16 +1.47 +1.73 +1.91 +2.03 +2.12 +2.22 +2.36 +2.56 +2.79 +3.03 +3.23 +3.36 +3.4 +3.35 +3.22 +3.03 +2.79 +2.52 +2.23 +1.95 +1.69 +1.49 +1.36 +1.29 +1.29 +1.33 +1.4 +1.47 +1.5 +1.46 +1.35 +1.18 +0.98 +0.79 +0.63 +0.5 +0.38 +0.26 +0.17 +0.11 +0.1 +0.11 +0.1 +0.04 +0.0 +0.0 +0.0 +0.0 +0.03 +0.23 +0.37 +0.37 +0.25 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.49 +0.85 +1.22 +1.56 +1.85 +2.1 +2.33 +2.56 +2.82 +3.1 +3.37 +3.62 +3.8 +3.91 +3.91 +3.83 +3.66 +3.43 +3.13 +2.8 +2.47 +2.16 +1.9 +1.7 +1.56 +1.45 +1.37 +1.31 +1.26 +1.22 +1.17 +1.1 +0.99 +0.86 +0.72 +0.58 +0.47 +0.36 +0.25 +0.14 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.15 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.49 +0.85 +1.22 +1.56 +1.85 +2.1 +2.33 +2.56 +2.82 +3.1 +3.37 +3.62 +3.8 +3.91 +3.91 +3.83 +3.66 +3.43 +3.13 +2.8 +2.47 +2.16 +1.9 +1.7 +1.56 +1.45 +1.37 +1.31 +1.26 +1.22 +1.17 +1.1 +0.99 +0.86 +0.72 +0.58 +0.47 +0.36 +0.25 +0.14 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.15 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.28 +0.64 +1.04 +1.42 +1.79 +2.12 +2.45 +2.78 +3.11 +3.44 +3.72 +3.94 +4.07 +4.11 +4.08 +3.96 +3.77 +3.51 +3.19 +2.84 +2.5 +2.22 +2.0 +1.84 +1.7 +1.57 +1.42 +1.25 +1.1 +0.97 +0.87 +0.78 +0.68 +0.58 +0.48 +0.39 +0.32 +0.25 +0.17 +0.09 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.28 +0.64 +1.04 +1.42 +1.79 +2.12 +2.45 +2.78 +3.11 +3.44 +3.72 +3.94 +4.07 +4.11 +4.08 +3.96 +3.77 +3.51 +3.19 +2.84 +2.5 +2.22 +2.0 +1.84 +1.7 +1.57 +1.42 +1.25 +1.1 +0.97 +0.87 +0.78 +0.68 +0.58 +0.48 +0.39 +0.32 +0.25 +0.17 +0.09 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.08 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.55 +0.92 +1.28 +1.63 +1.96 +2.31 +2.66 +3.0 +3.31 +3.55 +3.69 +3.75 +3.73 +3.66 +3.53 +3.35 +3.1 +2.8 +2.48 +2.19 +1.97 +1.84 +1.75 +1.66 +1.53 +1.34 +1.13 +0.92 +0.76 +0.65 +0.58 +0.51 +0.43 +0.35 +0.27 +0.21 +0.16 +0.11 +0.07 +0.03 +0.02 +0.02 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.09 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.08 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.55 +0.92 +1.28 +1.63 +1.96 +2.31 +2.66 +3.0 +3.31 +3.55 +3.69 +3.75 +3.73 +3.66 +3.53 +3.35 +3.1 +2.8 +2.48 +2.19 +1.97 +1.84 +1.75 +1.66 +1.53 +1.34 +1.13 +0.92 +0.76 +0.65 +0.58 +0.51 +0.43 +0.35 +0.27 +0.21 +0.16 +0.11 +0.07 +0.03 +0.02 +0.02 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.09 +0.03 +0.0 +0.0 +0.0 +0.0 +0.03 +0.14 +0.25 +0.28 +0.22 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.28 +0.56 +0.86 +1.12 +1.37 +1.61 +1.88 +2.17 +2.45 +2.68 +2.83 +2.89 +2.87 +2.81 +2.73 +2.63 +2.5 +2.31 +2.06 +1.8 +1.59 +1.46 +1.42 +1.43 +1.42 +1.33 +1.17 +0.96 +0.77 +0.64 +0.58 +0.56 +0.53 +0.46 +0.36 +0.25 +0.16 +0.1 +0.09 +0.09 +0.1 +0.11 +0.11 +0.11 +0.09 +0.05 +0.01 +0.0 +0.01 +0.09 +0.19 +0.26 +0.27 +0.2 +0.08 +0.0 +0.0 +0.03 +0.14 +0.25 +0.28 +0.22 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.28 +0.56 +0.86 +1.12 +1.37 +1.61 +1.88 +2.17 +2.45 +2.68 +2.83 +2.89 +2.87 +2.81 +2.73 +2.63 +2.5 +2.31 +2.06 +1.8 +1.59 +1.46 +1.42 +1.43 +1.42 +1.33 +1.17 +0.96 +0.77 +0.64 +0.58 +0.56 +0.53 +0.46 +0.36 +0.25 +0.16 +0.1 +0.09 +0.09 +0.1 +0.11 +0.11 +0.11 +0.09 +0.05 +0.01 +0.0 +0.01 +0.09 +0.19 +0.26 +0.27 +0.2 +0.08 +0.0 +0.21 +0.2 +0.26 +0.35 +0.43 +0.44 +0.38 +0.28 +0.18 +0.09 +0.03 +0.0 +0.0 +0.0 +0.0 +0.02 +0.19 +0.42 +0.65 +0.84 +0.96 +1.05 +1.14 +1.28 +1.46 +1.65 +1.8 +1.85 +1.82 +1.74 +1.66 +1.62 +1.6 +1.56 +1.46 +1.28 +1.08 +0.92 +0.86 +0.91 +1.01 +1.08 +1.07 +0.96 +0.8 +0.67 +0.62 +0.64 +0.7 +0.71 +0.64 +0.5 +0.32 +0.17 +0.1 +0.1 +0.15 +0.21 +0.25 +0.25 +0.22 +0.18 +0.15 +0.15 +0.19 +0.28 +0.39 +0.49 +0.53 +0.49 +0.4 +0.29 +0.21 +0.2 +0.26 +0.35 +0.43 +0.44 +0.38 +0.28 +0.18 +0.09 +0.03 +0.0 +0.0 +0.0 +0.0 +0.02 +0.19 +0.42 +0.65 +0.84 +0.96 +1.05 +1.14 +1.28 +1.46 +1.65 +1.8 +1.85 +1.82 +1.74 +1.66 +1.62 +1.6 +1.56 +1.46 +1.28 +1.08 +0.92 +0.86 +0.91 +1.01 +1.08 +1.07 +0.96 +0.8 +0.67 +0.62 +0.64 +0.7 +0.71 +0.64 +0.5 +0.32 +0.17 +0.1 +0.1 +0.15 +0.21 +0.25 +0.25 +0.22 +0.18 +0.15 +0.15 +0.19 +0.28 +0.39 +0.49 +0.53 +0.49 +0.4 +0.29 +0.21 +0.37 +0.37 +0.43 +0.49 +0.53 +0.52 +0.48 +0.43 +0.38 +0.33 +0.27 +0.2 +0.11 +0.04 +0.05 +0.15 +0.34 +0.55 +0.73 +0.81 +0.8 +0.73 +0.67 +0.69 +0.79 +0.9 +0.97 +0.96 +0.86 +0.75 +0.69 +0.72 +0.81 +0.89 +0.88 +0.77 +0.59 +0.44 +0.39 +0.47 +0.63 +0.78 +0.84 +0.79 +0.69 +0.62 +0.64 +0.75 +0.88 +0.94 +0.87 +0.68 +0.43 +0.22 +0.12 +0.15 +0.27 +0.39 +0.46 +0.45 +0.37 +0.28 +0.23 +0.25 +0.35 +0.5 +0.64 +0.72 +0.72 +0.64 +0.53 +0.42 +0.37 +0.37 +0.43 +0.49 +0.53 +0.52 +0.48 +0.43 +0.38 +0.33 +0.27 +0.2 +0.11 +0.04 +0.05 +0.15 +0.34 +0.55 +0.73 +0.81 +0.8 +0.73 +0.67 +0.69 +0.79 +0.9 +0.97 +0.96 +0.86 +0.75 +0.69 +0.72 +0.81 +0.89 +0.88 +0.77 +0.59 +0.44 +0.39 +0.47 +0.63 +0.78 +0.84 +0.79 +0.69 +0.62 +0.64 +0.75 +0.88 +0.94 +0.87 +0.68 +0.43 +0.22 +0.12 +0.15 +0.27 +0.39 +0.46 +0.45 +0.37 +0.28 +0.23 +0.25 +0.35 +0.5 +0.64 +0.72 +0.72 +0.64 +0.53 +0.42 +0.37 +0.39 +0.43 +0.5 +0.54 +0.54 +0.52 +0.5 +0.51 +0.54 +0.56 +0.53 +0.44 +0.3 +0.18 +0.14 +0.22 +0.41 +0.61 +0.74 +0.74 +0.61 +0.43 +0.29 +0.25 +0.31 +0.41 +0.46 +0.41 +0.29 +0.17 +0.15 +0.26 +0.46 +0.65 +0.73 +0.64 +0.44 +0.24 +0.15 +0.21 +0.39 +0.59 +0.7 +0.7 +0.64 +0.59 +0.64 +0.79 +0.97 +1.07 +1.02 +0.8 +0.5 +0.25 +0.14 +0.21 +0.4 +0.6 +0.72 +0.69 +0.55 +0.39 +0.29 +0.31 +0.43 +0.61 +0.75 +0.8 +0.75 +0.62 +0.48 +0.4 +0.39 +0.43 +0.5 +0.54 +0.54 +0.52 +0.5 +0.51 +0.54 +0.56 +0.53 +0.44 +0.3 +0.18 +0.14 +0.22 +0.41 +0.61 +0.74 +0.74 +0.61 +0.43 +0.29 +0.25 +0.31 +0.41 +0.46 +0.41 +0.29 +0.17 +0.15 +0.26 +0.46 +0.65 +0.73 +0.64 +0.44 +0.24 +0.15 +0.21 +0.39 +0.59 +0.7 +0.7 +0.64 +0.59 +0.64 +0.79 +0.97 +1.07 +1.02 +0.8 +0.5 +0.25 +0.14 +0.21 +0.4 +0.6 +0.72 +0.69 +0.55 +0.39 +0.29 +0.31 +0.43 +0.61 +0.75 +0.8 +0.75 +0.62 +0.48 +0.4 +0.39 +0.28 +0.39 +0.48 +0.5 +0.47 +0.43 +0.44 +0.51 +0.64 +0.75 +0.76 +0.66 +0.48 +0.29 +0.19 +0.23 +0.38 +0.55 +0.65 +0.59 +0.4 +0.18 +0.02 +0.0 +0.09 +0.22 +0.29 +0.25 +0.12 +0.0 +0.01 +0.18 +0.48 +0.76 +0.88 +0.8 +0.54 +0.26 +0.08 +0.1 +0.27 +0.49 +0.65 +0.67 +0.6 +0.52 +0.54 +0.69 +0.88 +1.02 +0.99 +0.78 +0.48 +0.21 +0.12 +0.25 +0.52 +0.81 +0.96 +0.93 +0.73 +0.48 +0.31 +0.29 +0.41 +0.58 +0.71 +0.71 +0.59 +0.41 +0.27 +0.23 +0.28 +0.39 +0.48 +0.5 +0.47 +0.43 +0.44 +0.51 +0.64 +0.75 +0.76 +0.66 +0.48 +0.29 +0.19 +0.23 +0.38 +0.55 +0.65 +0.59 +0.4 +0.18 +0.02 +0.0 +0.09 +0.22 +0.29 +0.25 +0.12 +0.0 +0.01 +0.18 +0.48 +0.76 +0.88 +0.8 +0.54 +0.26 +0.08 +0.1 +0.27 +0.49 +0.65 +0.67 +0.6 +0.52 +0.54 +0.69 +0.88 +1.02 +0.99 +0.78 +0.48 +0.21 +0.12 +0.25 +0.52 +0.81 +0.96 +0.93 +0.73 +0.48 +0.31 +0.29 +0.41 +0.58 +0.71 +0.71 +0.59 +0.41 +0.27 +0.23 +0.28 +0.13 +0.31 +0.43 +0.44 +0.37 +0.3 +0.3 +0.43 +0.64 +0.84 +0.92 +0.84 +0.63 +0.38 +0.22 +0.2 +0.3 +0.44 +0.51 +0.43 +0.23 +0.0 +0.0 +0.0 +0.06 +0.25 +0.35 +0.32 +0.19 +0.07 +0.09 +0.3 +0.65 +0.97 +1.12 +1.01 +0.7 +0.33 +0.07 +0.04 +0.21 +0.46 +0.65 +0.68 +0.57 +0.44 +0.39 +0.48 +0.66 +0.82 +0.83 +0.65 +0.37 +0.12 +0.06 +0.23 +0.58 +0.94 +1.14 +1.1 +0.85 +0.52 +0.28 +0.21 +0.3 +0.46 +0.55 +0.51 +0.33 +0.13 +0.0 +0.0 +0.13 +0.31 +0.43 +0.44 +0.37 +0.3 +0.3 +0.43 +0.64 +0.84 +0.92 +0.84 +0.63 +0.38 +0.22 +0.2 +0.3 +0.44 +0.51 +0.43 +0.23 +0.0 +0.0 +0.0 +0.06 +0.25 +0.35 +0.32 +0.19 +0.07 +0.09 +0.3 +0.65 +0.97 +1.12 +1.01 +0.7 +0.33 +0.07 +0.04 +0.21 +0.46 +0.65 +0.68 +0.57 +0.44 +0.39 +0.48 +0.66 +0.82 +0.83 +0.65 +0.37 +0.12 +0.06 +0.23 +0.58 +0.94 +1.14 +1.1 +0.85 +0.52 +0.28 +0.21 +0.3 +0.46 +0.55 +0.51 +0.33 +0.13 +0.0 +0.0 +0.13 +0.07 +0.3 +0.44 +0.42 +0.3 +0.17 +0.14 +0.29 +0.56 +0.83 +0.99 +0.95 +0.74 +0.47 +0.26 +0.2 +0.26 +0.37 +0.42 +0.34 +0.15 +0.0 +0.0 +0.0 +0.14 +0.36 +0.49 +0.46 +0.32 +0.2 +0.21 +0.42 +0.77 +1.09 +1.23 +1.1 +0.75 +0.34 +0.05 +0.0 +0.17 +0.46 +0.67 +0.72 +0.58 +0.38 +0.25 +0.27 +0.42 +0.58 +0.62 +0.5 +0.25 +0.03 +0.0 +0.19 +0.58 +0.98 +1.21 +1.16 +0.88 +0.5 +0.2 +0.09 +0.17 +0.31 +0.39 +0.32 +0.13 +0.0 +0.0 +0.0 +0.07 +0.3 +0.44 +0.42 +0.3 +0.17 +0.14 +0.29 +0.56 +0.83 +0.99 +0.95 +0.74 +0.47 +0.26 +0.2 +0.26 +0.37 +0.42 +0.34 +0.15 +0.0 +0.0 +0.0 +0.14 +0.36 +0.49 +0.46 +0.32 +0.2 +0.21 +0.42 +0.77 +1.09 +1.23 +1.1 +0.75 +0.34 +0.05 +0.0 +0.17 +0.46 +0.67 +0.72 +0.58 +0.38 +0.25 +0.27 +0.42 +0.58 +0.62 +0.5 +0.25 +0.03 +0.0 +0.19 +0.58 +0.98 +1.21 +1.16 +0.88 +0.5 +0.2 +0.09 +0.17 +0.31 +0.39 +0.32 +0.13 +0.0 +0.0 +0.0 +0.07 +0.18 +0.43 +0.56 +0.5 +0.3 +0.09 +0.02 +0.14 +0.43 +0.76 +0.97 +0.99 +0.82 +0.57 +0.35 +0.27 +0.31 +0.41 +0.46 +0.4 +0.25 +0.09 +0.02 +0.1 +0.29 +0.5 +0.61 +0.58 +0.44 +0.31 +0.3 +0.48 +0.78 +1.06 +1.17 +1.04 +0.69 +0.28 +0.0 +0.0 +0.17 +0.48 +0.73 +0.79 +0.64 +0.39 +0.2 +0.15 +0.26 +0.41 +0.48 +0.39 +0.18 +0.0 +0.0 +0.15 +0.53 +0.93 +1.16 +1.12 +0.83 +0.44 +0.12 +0.0 +0.07 +0.22 +0.31 +0.26 +0.08 +0.0 +0.0 +0.0 +0.18 +0.43 +0.56 +0.5 +0.3 +0.09 +0.02 +0.14 +0.43 +0.76 +0.97 +0.99 +0.82 +0.57 +0.35 +0.27 +0.31 +0.41 +0.46 +0.4 +0.25 +0.09 +0.02 +0.1 +0.29 +0.5 +0.61 +0.58 +0.44 +0.31 +0.3 +0.48 +0.78 +1.06 +1.17 +1.04 +0.69 +0.28 +0.0 +0.0 +0.17 +0.48 +0.73 +0.79 +0.64 +0.39 +0.2 +0.15 +0.26 +0.41 +0.48 +0.39 +0.18 +0.0 +0.0 +0.15 +0.53 +0.93 +1.16 +1.12 +0.83 +0.44 +0.12 +0.0 +0.07 +0.22 +0.31 +0.26 +0.08 +0.0 +0.0 +0.0 +0.18 +0.45 +0.69 +0.78 +0.66 +0.39 +0.11 +0.0 +0.05 +0.32 +0.65 +0.9 +0.97 +0.85 +0.64 +0.45 +0.38 +0.43 +0.54 +0.62 +0.6 +0.49 +0.36 +0.29 +0.33 +0.47 +0.62 +0.69 +0.66 +0.53 +0.41 +0.39 +0.51 +0.73 +0.94 +1.02 +0.88 +0.56 +0.21 +0.0 +0.0 +0.2 +0.53 +0.79 +0.87 +0.73 +0.47 +0.24 +0.15 +0.22 +0.35 +0.43 +0.37 +0.19 +0.0 +0.0 +0.13 +0.47 +0.84 +1.05 +1.01 +0.74 +0.36 +0.07 +0.0 +0.06 +0.23 +0.35 +0.34 +0.21 +0.07 +0.05 +0.19 +0.45 +0.69 +0.78 +0.66 +0.39 +0.11 +0.0 +0.05 +0.32 +0.65 +0.9 +0.97 +0.85 +0.64 +0.45 +0.38 +0.43 +0.54 +0.62 +0.6 +0.49 +0.36 +0.29 +0.33 +0.47 +0.62 +0.69 +0.66 +0.53 +0.41 +0.39 +0.51 +0.73 +0.94 +1.02 +0.88 +0.56 +0.21 +0.0 +0.0 +0.2 +0.53 +0.79 +0.87 +0.73 +0.47 +0.24 +0.15 +0.22 +0.35 +0.43 +0.37 +0.19 +0.0 +0.0 +0.13 +0.47 +0.84 +1.05 +1.01 +0.74 +0.36 +0.07 +0.0 +0.06 +0.23 +0.35 +0.34 +0.21 +0.07 +0.05 +0.19 +0.45 +0.74 +0.95 +1.01 +0.84 +0.53 +0.2 +0.01 +0.03 +0.26 +0.56 +0.8 +0.89 +0.81 +0.64 +0.5 +0.46 +0.53 +0.67 +0.78 +0.82 +0.76 +0.65 +0.56 +0.55 +0.6 +0.68 +0.73 +0.7 +0.61 +0.52 +0.49 +0.55 +0.69 +0.81 +0.84 +0.71 +0.46 +0.18 +0.02 +0.05 +0.26 +0.57 +0.82 +0.9 +0.79 +0.55 +0.32 +0.21 +0.25 +0.36 +0.44 +0.4 +0.25 +0.08 +0.02 +0.14 +0.42 +0.73 +0.91 +0.88 +0.64 +0.32 +0.07 +0.01 +0.13 +0.33 +0.48 +0.51 +0.44 +0.35 +0.35 +0.5 +0.74 +0.95 +1.01 +0.84 +0.53 +0.2 +0.01 +0.03 +0.26 +0.56 +0.8 +0.89 +0.81 +0.64 +0.5 +0.46 +0.53 +0.67 +0.78 +0.82 +0.76 +0.65 +0.56 +0.55 +0.6 +0.68 +0.73 +0.7 +0.61 +0.52 +0.49 +0.55 +0.69 +0.81 +0.84 +0.71 +0.46 +0.18 +0.02 +0.05 +0.26 +0.57 +0.82 +0.9 +0.79 +0.55 +0.32 +0.21 +0.25 +0.36 +0.44 +0.4 +0.25 +0.08 +0.02 +0.14 +0.42 +0.73 +0.91 +0.88 +0.64 +0.32 +0.07 +0.01 +0.13 +0.33 +0.48 +0.51 +0.44 +0.35 +0.35 +0.5 +0.74 +0.92 +1.09 +1.11 +0.94 +0.62 +0.3 +0.09 +0.08 +0.25 +0.49 +0.69 +0.76 +0.69 +0.56 +0.44 +0.42 +0.51 +0.67 +0.82 +0.9 +0.88 +0.8 +0.69 +0.61 +0.6 +0.62 +0.66 +0.66 +0.63 +0.59 +0.56 +0.57 +0.63 +0.67 +0.66 +0.55 +0.37 +0.18 +0.07 +0.11 +0.3 +0.56 +0.78 +0.86 +0.77 +0.58 +0.38 +0.28 +0.3 +0.4 +0.47 +0.45 +0.34 +0.19 +0.12 +0.2 +0.4 +0.64 +0.79 +0.76 +0.57 +0.31 +0.13 +0.11 +0.25 +0.46 +0.62 +0.67 +0.62 +0.56 +0.57 +0.71 +0.92 +1.09 +1.11 +0.94 +0.62 +0.3 +0.09 +0.08 +0.25 +0.49 +0.69 +0.76 +0.69 +0.56 +0.44 +0.42 +0.51 +0.67 +0.82 +0.9 +0.88 +0.8 +0.69 +0.61 +0.6 +0.62 +0.66 +0.66 +0.63 +0.59 +0.56 +0.57 +0.63 +0.67 +0.66 +0.55 +0.37 +0.18 +0.07 +0.11 +0.3 +0.56 +0.78 +0.86 +0.77 +0.58 +0.38 +0.28 +0.3 +0.4 +0.47 +0.45 +0.34 +0.19 +0.12 +0.2 +0.4 +0.64 +0.79 +0.76 +0.57 +0.31 +0.13 +0.11 +0.25 +0.46 +0.62 +0.67 +0.62 +0.56 +0.57 +0.71 +0.92 +0.88 +1.01 +1.02 +0.87 +0.61 +0.34 +0.17 +0.15 +0.27 +0.45 +0.59 +0.62 +0.54 +0.4 +0.29 +0.27 +0.35 +0.5 +0.67 +0.77 +0.78 +0.7 +0.58 +0.46 +0.4 +0.4 +0.45 +0.51 +0.54 +0.54 +0.51 +0.49 +0.48 +0.48 +0.46 +0.39 +0.28 +0.17 +0.11 +0.15 +0.3 +0.51 +0.69 +0.78 +0.74 +0.61 +0.47 +0.4 +0.43 +0.52 +0.6 +0.61 +0.52 +0.39 +0.31 +0.33 +0.47 +0.63 +0.73 +0.7 +0.55 +0.36 +0.23 +0.24 +0.38 +0.57 +0.72 +0.75 +0.69 +0.62 +0.61 +0.71 +0.88 +1.01 +1.02 +0.87 +0.61 +0.34 +0.17 +0.15 +0.27 +0.45 +0.59 +0.62 +0.54 +0.4 +0.29 +0.27 +0.35 +0.5 +0.67 +0.77 +0.78 +0.7 +0.58 +0.46 +0.4 +0.4 +0.45 +0.51 +0.54 +0.54 +0.51 +0.49 +0.48 +0.48 +0.46 +0.39 +0.28 +0.17 +0.11 +0.15 +0.3 +0.51 +0.69 +0.78 +0.74 +0.61 +0.47 +0.4 +0.43 +0.52 +0.6 +0.61 +0.52 +0.39 +0.31 +0.33 +0.47 +0.63 +0.73 +0.7 +0.55 +0.36 +0.23 +0.24 +0.38 +0.57 +0.72 +0.75 +0.69 +0.62 +0.61 +0.71 +0.88 +0.66 +0.76 +0.78 +0.68 +0.49 +0.31 +0.2 +0.2 +0.3 +0.43 +0.52 +0.52 +0.42 +0.27 +0.13 +0.08 +0.13 +0.25 +0.4 +0.51 +0.52 +0.44 +0.29 +0.15 +0.07 +0.08 +0.16 +0.26 +0.34 +0.36 +0.33 +0.29 +0.25 +0.24 +0.25 +0.25 +0.22 +0.18 +0.16 +0.2 +0.32 +0.5 +0.68 +0.8 +0.82 +0.78 +0.72 +0.71 +0.78 +0.9 +1.0 +1.02 +0.94 +0.8 +0.68 +0.63 +0.67 +0.75 +0.8 +0.75 +0.61 +0.46 +0.37 +0.4 +0.52 +0.68 +0.77 +0.76 +0.66 +0.55 +0.5 +0.55 +0.66 +0.76 +0.78 +0.68 +0.49 +0.31 +0.2 +0.2 +0.3 +0.43 +0.52 +0.52 +0.42 +0.27 +0.13 +0.08 +0.13 +0.25 +0.4 +0.51 +0.52 +0.44 +0.29 +0.15 +0.07 +0.08 +0.16 +0.26 +0.34 +0.36 +0.33 +0.29 +0.25 +0.24 +0.25 +0.25 +0.22 +0.18 +0.16 +0.2 +0.32 +0.5 +0.68 +0.8 +0.82 +0.78 +0.72 +0.71 +0.78 +0.9 +1.0 +1.02 +0.94 +0.8 +0.68 +0.63 +0.67 +0.75 +0.8 +0.75 +0.61 +0.46 +0.37 +0.4 +0.52 +0.68 +0.77 +0.76 +0.66 +0.55 +0.5 +0.55 +0.66 +0.41 +0.48 +0.5 +0.44 +0.33 +0.23 +0.18 +0.22 +0.32 +0.44 +0.51 +0.5 +0.39 +0.24 +0.08 +0.0 +0.0 +0.08 +0.21 +0.3 +0.3 +0.21 +0.04 +0.0 +0.0 +0.0 +0.0 +0.06 +0.16 +0.17 +0.13 +0.06 +0.04 +0.07 +0.15 +0.23 +0.29 +0.3 +0.31 +0.36 +0.49 +0.68 +0.9 +1.09 +1.21 +1.26 +1.3 +1.38 +1.51 +1.68 +1.8 +1.83 +1.72 +1.52 +1.31 +1.15 +1.08 +1.06 +1.03 +0.94 +0.8 +0.65 +0.57 +0.59 +0.69 +0.8 +0.84 +0.77 +0.62 +0.46 +0.36 +0.35 +0.41 +0.48 +0.5 +0.44 +0.33 +0.23 +0.18 +0.22 +0.32 +0.44 +0.51 +0.5 +0.39 +0.24 +0.08 +0.0 +0.0 +0.08 +0.21 +0.3 +0.3 +0.21 +0.04 +0.0 +0.0 +0.0 +0.0 +0.06 +0.16 +0.17 +0.13 +0.06 +0.04 +0.07 +0.15 +0.23 +0.29 +0.3 +0.31 +0.36 +0.49 +0.68 +0.9 +1.09 +1.21 +1.26 +1.3 +1.38 +1.51 +1.68 +1.8 +1.83 +1.72 +1.52 +1.31 +1.15 +1.08 +1.06 +1.03 +0.94 +0.8 +0.65 +0.57 +0.59 +0.69 +0.8 +0.84 +0.77 +0.62 +0.46 +0.36 +0.35 +0.41 +0.27 +0.3 +0.31 +0.27 +0.21 +0.16 +0.15 +0.21 +0.32 +0.45 +0.54 +0.56 +0.49 +0.34 +0.18 +0.06 +0.03 +0.1 +0.23 +0.33 +0.34 +0.24 +0.05 +0.0 +0.0 +0.0 +0.0 +0.1 +0.18 +0.16 +0.08 +0.0 +0.0 +0.1 +0.27 +0.46 +0.59 +0.65 +0.67 +0.73 +0.87 +1.11 +1.4 +1.69 +1.92 +2.08 +2.23 +2.41 +2.63 +2.87 +3.03 +3.03 +2.86 +2.54 +2.18 +1.87 +1.66 +1.53 +1.42 +1.28 +1.1 +0.92 +0.82 +0.81 +0.88 +0.96 +0.97 +0.87 +0.68 +0.48 +0.33 +0.26 +0.27 +0.3 +0.31 +0.27 +0.21 +0.16 +0.15 +0.21 +0.32 +0.45 +0.54 +0.56 +0.49 +0.34 +0.18 +0.06 +0.03 +0.1 +0.23 +0.33 +0.34 +0.24 +0.05 +0.0 +0.0 +0.0 +0.0 +0.1 +0.18 +0.16 +0.08 +0.0 +0.0 +0.1 +0.27 +0.46 +0.59 +0.65 +0.67 +0.73 +0.87 +1.11 +1.4 +1.69 +1.92 +2.08 +2.23 +2.41 +2.63 +2.87 +3.03 +3.03 +2.86 +2.54 +2.18 +1.87 +1.66 +1.53 +1.42 +1.28 +1.1 +0.92 +0.82 +0.81 +0.88 +0.96 +0.97 +0.87 +0.68 +0.48 +0.33 +0.26 +0.27 +0.28 +0.28 +0.27 +0.24 +0.18 +0.14 +0.13 +0.17 +0.28 +0.42 +0.56 +0.64 +0.63 +0.53 +0.37 +0.24 +0.2 +0.3 +0.47 +0.64 +0.7 +0.61 +0.43 +0.23 +0.14 +0.18 +0.32 +0.46 +0.51 +0.44 +0.3 +0.2 +0.23 +0.4 +0.67 +0.94 +1.12 +1.19 +1.2 +1.25 +1.4 +1.7 +2.07 +2.45 +2.77 +3.03 +3.28 +3.56 +3.89 +4.21 +4.41 +4.39 +4.12 +3.64 +3.1 +2.62 +2.27 +2.05 +1.88 +1.69 +1.46 +1.23 +1.07 +1.02 +1.07 +1.14 +1.15 +1.04 +0.85 +0.62 +0.43 +0.32 +0.28 +0.28 +0.27 +0.24 +0.18 +0.14 +0.13 +0.17 +0.28 +0.42 +0.56 +0.64 +0.63 +0.53 +0.37 +0.24 +0.2 +0.3 +0.47 +0.64 +0.7 +0.61 +0.43 +0.23 +0.14 +0.18 +0.32 +0.46 +0.51 +0.44 +0.3 +0.2 +0.23 +0.4 +0.67 +0.94 +1.12 +1.19 +1.2 +1.25 +1.4 +1.7 +2.07 +2.45 +2.77 +3.03 +3.28 +3.56 +3.89 +4.21 +4.41 +4.39 +4.12 +3.64 +3.1 +2.62 +2.27 +2.05 +1.88 +1.69 +1.46 +1.23 +1.07 +1.02 +1.07 +1.14 +1.15 +1.04 +0.85 +0.62 +0.43 +0.32 +0.28 +0.37 +0.34 +0.32 +0.28 +0.21 +0.14 +0.08 +0.08 +0.15 +0.3 +0.49 +0.65 +0.71 +0.64 +0.5 +0.37 +0.35 +0.5 +0.78 +1.06 +1.23 +1.21 +1.05 +0.85 +0.73 +0.77 +0.91 +1.04 +1.06 +0.93 +0.74 +0.61 +0.64 +0.87 +1.21 +1.53 +1.72 +1.76 +1.72 +1.72 +1.86 +2.18 +2.61 +3.06 +3.44 +3.76 +4.07 +4.43 +4.86 +5.27 +5.53 +5.49 +5.11 +4.47 +3.75 +3.11 +2.66 +2.4 +2.21 +2.01 +1.74 +1.46 +1.23 +1.13 +1.16 +1.24 +1.28 +1.21 +1.03 +0.8 +0.59 +0.45 +0.37 +0.34 +0.32 +0.28 +0.21 +0.14 +0.08 +0.08 +0.15 +0.3 +0.49 +0.65 +0.71 +0.64 +0.5 +0.37 +0.35 +0.5 +0.78 +1.06 +1.23 +1.21 +1.05 +0.85 +0.73 +0.77 +0.91 +1.04 +1.06 +0.93 +0.74 +0.61 +0.64 +0.87 +1.21 +1.53 +1.72 +1.76 +1.72 +1.72 +1.86 +2.18 +2.61 +3.06 +3.44 +3.76 +4.07 +4.43 +4.86 +5.27 +5.53 +5.49 +5.11 +4.47 +3.75 +3.11 +2.66 +2.4 +2.21 +2.01 +1.74 +1.46 +1.23 +1.13 +1.16 +1.24 +1.28 +1.21 +1.03 +0.8 +0.59 +0.45 +0.37 +0.39 +0.35 +0.34 +0.3 +0.23 +0.11 +0.0 +0.0 +0.0 +0.06 +0.27 +0.49 +0.61 +0.58 +0.43 +0.29 +0.29 +0.51 +0.92 +1.37 +1.69 +1.78 +1.65 +1.44 +1.31 +1.32 +1.45 +1.57 +1.57 +1.4 +1.16 +0.98 +1.01 +1.25 +1.62 +1.96 +2.13 +2.11 +1.98 +1.9 +2.0 +2.3 +2.75 +3.21 +3.61 +3.94 +4.26 +4.66 +5.17 +5.66 +5.98 +5.93 +5.48 +4.71 +3.84 +3.09 +2.6 +2.36 +2.23 +2.06 +1.8 +1.48 +1.19 +1.04 +1.05 +1.16 +1.25 +1.23 +1.1 +0.88 +0.66 +0.49 +0.39 +0.35 +0.34 +0.3 +0.23 +0.11 +0.0 +0.0 +0.0 +0.06 +0.27 +0.49 +0.61 +0.58 +0.43 +0.29 +0.29 +0.51 +0.92 +1.37 +1.69 +1.78 +1.65 +1.44 +1.31 +1.32 +1.45 +1.57 +1.57 +1.4 +1.16 +0.98 +1.01 +1.25 +1.62 +1.96 +2.13 +2.11 +1.98 +1.9 +2.0 +2.3 +2.75 +3.21 +3.61 +3.94 +4.26 +4.66 +5.17 +5.66 +5.98 +5.93 +5.48 +4.71 +3.84 +3.09 +2.6 +2.36 +2.23 +2.06 +1.8 +1.48 +1.19 +1.04 +1.05 +1.16 +1.25 +1.23 +1.1 +0.88 +0.66 +0.49 +0.39 +0.24 +0.21 +0.23 +0.23 +0.16 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.35 +0.32 +0.15 +0.0 +0.0 +0.25 +0.79 +1.41 +1.9 +2.1 +2.02 +1.8 +1.62 +1.59 +1.69 +1.8 +1.79 +1.6 +1.32 +1.1 +1.1 +1.33 +1.71 +2.04 +2.18 +2.09 +1.87 +1.69 +1.71 +1.97 +2.39 +2.84 +3.2 +3.48 +3.77 +4.17 +4.7 +5.25 +5.62 +5.59 +5.09 +4.24 +3.28 +2.49 +2.02 +1.86 +1.84 +1.77 +1.55 +1.22 +0.9 +0.71 +0.71 +0.84 +0.99 +1.04 +0.95 +0.75 +0.53 +0.34 +0.24 +0.21 +0.23 +0.23 +0.16 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.35 +0.32 +0.15 +0.0 +0.0 +0.25 +0.79 +1.41 +1.9 +2.1 +2.02 +1.8 +1.62 +1.59 +1.69 +1.8 +1.79 +1.6 +1.32 +1.1 +1.1 +1.33 +1.71 +2.04 +2.18 +2.09 +1.87 +1.69 +1.71 +1.97 +2.39 +2.84 +3.2 +3.48 +3.77 +4.17 +4.7 +5.25 +5.62 +5.59 +5.09 +4.24 +3.28 +2.49 +2.02 +1.86 +1.84 +1.77 +1.55 +1.22 +0.9 +0.71 +0.71 +0.84 +0.99 +1.04 +0.95 +0.75 +0.53 +0.34 +0.24 +0.0 +0.0 +0.0 +0.06 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.47 +1.25 +1.89 +2.2 +2.16 +1.9 +1.65 +1.54 +1.6 +1.69 +1.67 +1.48 +1.17 +0.92 +0.88 +1.09 +1.46 +1.78 +1.9 +1.76 +1.47 +1.21 +1.15 +1.35 +1.72 +2.12 +2.43 +2.64 +2.85 +3.19 +3.7 +4.27 +4.66 +4.65 +4.15 +3.26 +2.27 +1.48 +1.07 +1.01 +1.13 +1.18 +1.05 +0.75 +0.41 +0.2 +0.2 +0.36 +0.56 +0.67 +0.63 +0.46 +0.23 +0.04 +0.0 +0.0 +0.0 +0.06 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.47 +1.25 +1.89 +2.2 +2.16 +1.9 +1.65 +1.54 +1.6 +1.69 +1.67 +1.48 +1.17 +0.92 +0.88 +1.09 +1.46 +1.78 +1.9 +1.76 +1.47 +1.21 +1.15 +1.35 +1.72 +2.12 +2.43 +2.64 +2.85 +3.19 +3.7 +4.27 +4.66 +4.65 +4.15 +3.26 +2.27 +1.48 +1.07 +1.01 +1.13 +1.18 +1.05 +0.75 +0.41 +0.2 +0.2 +0.36 +0.56 +0.67 +0.63 +0.46 +0.23 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.27 +1.16 +1.91 +2.31 +2.28 +1.98 +1.63 +1.42 +1.39 +1.44 +1.41 +1.21 +0.89 +0.62 +0.54 +0.73 +1.09 +1.42 +1.54 +1.38 +1.05 +0.73 +0.61 +0.76 +1.09 +1.45 +1.71 +1.84 +1.95 +2.2 +2.63 +3.16 +3.55 +3.55 +3.07 +2.19 +1.21 +0.44 +0.08 +0.12 +0.34 +0.52 +0.47 +0.21 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.27 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.27 +1.16 +1.91 +2.31 +2.28 +1.98 +1.63 +1.42 +1.39 +1.44 +1.41 +1.21 +0.89 +0.62 +0.54 +0.73 +1.09 +1.42 +1.54 +1.38 +1.05 +0.73 +0.61 +0.76 +1.09 +1.45 +1.71 +1.84 +1.95 +2.2 +2.63 +3.16 +3.55 +3.55 +3.07 +2.19 +1.21 +0.44 +0.08 +0.12 +0.34 +0.52 +0.47 +0.21 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.27 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.48 +1.43 +2.27 +2.72 +2.7 +2.34 +1.89 +1.57 +1.44 +1.42 +1.35 +1.13 +0.8 +0.5 +0.39 +0.55 +0.9 +1.23 +1.37 +1.23 +0.9 +0.55 +0.39 +0.5 +0.8 +1.13 +1.35 +1.42 +1.44 +1.57 +1.89 +2.34 +2.7 +2.72 +2.27 +1.43 +0.48 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.48 +1.43 +2.27 +2.72 +2.7 +2.34 +1.89 +1.57 +1.44 +1.42 +1.35 +1.13 +0.8 +0.5 +0.39 +0.55 +0.9 +1.23 +1.37 +1.23 +0.9 +0.55 +0.39 +0.5 +0.8 +1.13 +1.35 +1.42 +1.44 +1.57 +1.89 +2.34 +2.7 +2.72 +2.27 +1.43 +0.48 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.27 +0.36 +0.37 +0.36 +0.39 +0.49 +0.64 +0.84 +1.05 +1.28 +1.52 +1.77 +2.02 +2.2 +2.28 +2.24 +2.08 +1.86 +1.62 +1.38 +1.15 +0.93 +0.72 +0.55 +0.44 +0.39 +0.38 +0.34 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.25 +0.36 +0.4 +0.41 +0.45 +0.56 +0.72 +0.92 +1.14 +1.37 +1.6 +1.84 +2.06 +2.21 +2.25 +2.17 +1.99 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.41 +0.39 +0.4 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.27 +0.36 +0.37 +0.36 +0.39 +0.49 +0.64 +0.84 +1.05 +1.28 +1.52 +1.77 +2.02 +2.2 +2.28 +2.24 +2.08 +1.86 +1.62 +1.38 +1.15 +0.93 +0.72 +0.55 +0.44 +0.39 +0.38 +0.34 +0.24 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.25 +0.36 +0.4 +0.41 +0.45 +0.56 +0.72 +0.92 +1.14 +1.37 +1.6 +1.84 +2.06 +2.21 +2.25 +2.17 +1.99 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.41 +0.39 +0.4 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.27 +0.41 +0.43 +0.39 +0.33 +0.31 +0.37 +0.5 +0.68 +0.89 +1.14 +1.41 +1.71 +2.02 +2.27 +2.41 +2.41 +2.28 +2.05 +1.78 +1.52 +1.27 +1.03 +0.82 +0.64 +0.52 +0.46 +0.44 +0.42 +0.33 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.35 +0.46 +0.5 +0.51 +0.54 +0.63 +0.79 +0.99 +1.22 +1.47 +1.73 +1.98 +2.18 +2.3 +2.29 +2.17 +1.94 +1.66 +1.38 +1.12 +0.88 +0.67 +0.5 +0.4 +0.37 +0.41 +0.47 +0.5 +0.44 +0.29 +0.1 +0.0 +0.0 +0.0 +0.11 +0.29 +0.41 +0.43 +0.39 +0.33 +0.31 +0.37 +0.5 +0.68 +0.89 +1.14 +1.41 +1.71 +2.02 +2.27 +2.41 +2.41 +2.28 +2.05 +1.78 +1.52 +1.27 +1.03 +0.82 +0.64 +0.52 +0.46 +0.44 +0.42 +0.33 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.35 +0.46 +0.5 +0.51 +0.54 +0.63 +0.79 +0.99 +1.22 +1.47 +1.73 +1.98 +2.18 +2.3 +2.29 +2.17 +1.94 +1.66 +1.38 +1.12 +0.88 +0.67 +0.5 +0.4 +0.37 +0.41 +0.47 +0.5 +0.44 +0.29 +0.1 +0.0 +0.0 +0.0 +0.11 +0.29 +0.41 +0.61 +0.57 +0.46 +0.35 +0.28 +0.3 +0.39 +0.54 +0.74 +0.98 +1.29 +1.64 +2.0 +2.33 +2.55 +2.61 +2.53 +2.32 +2.04 +1.76 +1.5 +1.26 +1.06 +0.89 +0.77 +0.71 +0.7 +0.68 +0.63 +0.51 +0.35 +0.19 +0.11 +0.13 +0.27 +0.45 +0.62 +0.72 +0.75 +0.75 +0.75 +0.81 +0.93 +1.11 +1.35 +1.62 +1.9 +2.15 +2.33 +2.39 +2.32 +2.14 +1.86 +1.56 +1.25 +0.97 +0.73 +0.54 +0.4 +0.36 +0.4 +0.5 +0.62 +0.69 +0.67 +0.57 +0.42 +0.3 +0.27 +0.33 +0.45 +0.56 +0.61 +0.57 +0.46 +0.35 +0.28 +0.3 +0.39 +0.54 +0.74 +0.98 +1.29 +1.64 +2.0 +2.33 +2.55 +2.61 +2.53 +2.32 +2.04 +1.76 +1.5 +1.26 +1.06 +0.89 +0.77 +0.71 +0.7 +0.68 +0.63 +0.51 +0.35 +0.19 +0.11 +0.13 +0.27 +0.45 +0.62 +0.72 +0.75 +0.75 +0.75 +0.81 +0.93 +1.11 +1.35 +1.62 +1.9 +2.15 +2.33 +2.39 +2.32 +2.14 +1.86 +1.56 +1.25 +0.97 +0.73 +0.54 +0.4 +0.36 +0.4 +0.5 +0.62 +0.69 +0.67 +0.57 +0.42 +0.3 +0.27 +0.33 +0.45 +0.56 +0.61 +0.84 +0.75 +0.61 +0.47 +0.37 +0.34 +0.39 +0.5 +0.66 +0.88 +1.18 +1.54 +1.95 +2.33 +2.63 +2.77 +2.75 +2.59 +2.35 +2.08 +1.84 +1.64 +1.47 +1.33 +1.23 +1.19 +1.18 +1.19 +1.17 +1.09 +0.96 +0.82 +0.72 +0.71 +0.79 +0.93 +1.07 +1.15 +1.16 +1.13 +1.08 +1.08 +1.14 +1.29 +1.52 +1.79 +2.07 +2.3 +2.43 +2.43 +2.3 +2.07 +1.78 +1.47 +1.18 +0.91 +0.69 +0.53 +0.44 +0.45 +0.54 +0.7 +0.84 +0.92 +0.92 +0.83 +0.72 +0.65 +0.64 +0.71 +0.8 +0.85 +0.84 +0.75 +0.61 +0.47 +0.37 +0.34 +0.39 +0.5 +0.66 +0.88 +1.18 +1.54 +1.95 +2.33 +2.63 +2.77 +2.75 +2.59 +2.35 +2.08 +1.84 +1.64 +1.47 +1.33 +1.23 +1.19 +1.18 +1.19 +1.17 +1.09 +0.96 +0.82 +0.72 +0.71 +0.79 +0.93 +1.07 +1.15 +1.16 +1.13 +1.08 +1.08 +1.14 +1.29 +1.52 +1.79 +2.07 +2.3 +2.43 +2.43 +2.3 +2.07 +1.78 +1.47 +1.18 +0.91 +0.69 +0.53 +0.44 +0.45 +0.54 +0.7 +0.84 +0.92 +0.92 +0.83 +0.72 +0.65 +0.64 +0.71 +0.8 +0.85 +0.84 +1.04 +0.93 +0.79 +0.66 +0.56 +0.51 +0.51 +0.56 +0.67 +0.83 +1.08 +1.42 +1.82 +2.23 +2.58 +2.8 +2.86 +2.78 +2.6 +2.4 +2.21 +2.06 +1.94 +1.85 +1.78 +1.76 +1.77 +1.8 +1.81 +1.78 +1.67 +1.54 +1.42 +1.36 +1.39 +1.48 +1.58 +1.63 +1.61 +1.53 +1.43 +1.36 +1.37 +1.48 +1.68 +1.93 +2.19 +2.38 +2.45 +2.39 +2.21 +1.95 +1.67 +1.4 +1.16 +0.94 +0.77 +0.64 +0.6 +0.65 +0.78 +0.94 +1.07 +1.12 +1.09 +1.01 +0.94 +0.9 +0.93 +1.0 +1.06 +1.08 +1.04 +0.93 +0.79 +0.66 +0.56 +0.51 +0.51 +0.56 +0.67 +0.83 +1.08 +1.42 +1.82 +2.23 +2.58 +2.8 +2.86 +2.78 +2.6 +2.4 +2.21 +2.06 +1.94 +1.85 +1.78 +1.76 +1.77 +1.8 +1.81 +1.78 +1.67 +1.54 +1.42 +1.36 +1.39 +1.48 +1.58 +1.63 +1.61 +1.53 +1.43 +1.36 +1.37 +1.48 +1.68 +1.93 +2.19 +2.38 +2.45 +2.39 +2.21 +1.95 +1.67 +1.4 +1.16 +0.94 +0.77 +0.64 +0.6 +0.65 +0.78 +0.94 +1.07 +1.12 +1.09 +1.01 +0.94 +0.9 +0.93 +1.0 +1.06 +1.08 +1.04 +1.14 +1.03 +0.92 +0.82 +0.74 +0.68 +0.66 +0.66 +0.7 +0.79 +0.97 +1.24 +1.59 +1.99 +2.36 +2.65 +2.8 +2.81 +2.73 +2.61 +2.49 +2.39 +2.31 +2.24 +2.2 +2.19 +2.22 +2.28 +2.32 +2.32 +2.24 +2.11 +1.97 +1.88 +1.87 +1.91 +1.97 +1.99 +1.93 +1.81 +1.66 +1.54 +1.51 +1.59 +1.77 +2.01 +2.23 +2.38 +2.39 +2.27 +2.05 +1.79 +1.54 +1.33 +1.15 +1.0 +0.88 +0.8 +0.8 +0.87 +0.99 +1.12 +1.2 +1.2 +1.14 +1.06 +1.01 +1.02 +1.08 +1.16 +1.2 +1.2 +1.14 +1.03 +0.92 +0.82 +0.74 +0.68 +0.66 +0.66 +0.7 +0.79 +0.97 +1.24 +1.59 +1.99 +2.36 +2.65 +2.8 +2.81 +2.73 +2.61 +2.49 +2.39 +2.31 +2.24 +2.2 +2.19 +2.22 +2.28 +2.32 +2.32 +2.24 +2.11 +1.97 +1.88 +1.87 +1.91 +1.97 +1.99 +1.93 +1.81 +1.66 +1.54 +1.51 +1.59 +1.77 +2.01 +2.23 +2.38 +2.39 +2.27 +2.05 +1.79 +1.54 +1.33 +1.15 +1.0 +0.88 +0.8 +0.8 +0.87 +0.99 +1.12 +1.2 +1.2 +1.14 +1.06 +1.01 +1.02 +1.08 +1.16 +1.2 +1.2 +1.14 +1.09 +1.0 +0.91 +0.85 +0.8 +0.75 +0.7 +0.67 +0.65 +0.68 +0.79 +0.98 +1.27 +1.62 +1.99 +2.32 +2.54 +2.66 +2.68 +2.64 +2.58 +2.51 +2.44 +2.38 +2.33 +2.33 +2.37 +2.46 +2.53 +2.56 +2.5 +2.38 +2.24 +2.13 +2.09 +2.09 +2.11 +2.08 +1.99 +1.84 +1.67 +1.54 +1.51 +1.59 +1.77 +2.0 +2.2 +2.31 +2.27 +2.11 +1.87 +1.61 +1.39 +1.22 +1.1 +1.0 +0.92 +0.88 +0.89 +0.97 +1.07 +1.15 +1.17 +1.11 +1.02 +0.95 +0.94 +1.0 +1.1 +1.18 +1.21 +1.17 +1.09 +1.0 +0.91 +0.85 +0.8 +0.75 +0.7 +0.67 +0.65 +0.68 +0.79 +0.98 +1.27 +1.62 +1.99 +2.32 +2.54 +2.66 +2.68 +2.64 +2.58 +2.51 +2.44 +2.38 +2.33 +2.33 +2.37 +2.46 +2.53 +2.56 +2.5 +2.38 +2.24 +2.13 +2.09 +2.09 +2.11 +2.08 +1.99 +1.84 +1.67 +1.54 +1.51 +1.59 +1.77 +2.0 +2.2 +2.31 +2.27 +2.11 +1.87 +1.61 +1.39 +1.22 +1.1 +1.0 +0.92 +0.88 +0.89 +0.97 +1.07 +1.15 +1.17 +1.11 +1.02 +0.95 +0.94 +1.0 +1.1 +1.18 +1.21 +1.17 +1.09 +0.9 +0.8 +0.73 +0.7 +0.67 +0.63 +0.58 +0.52 +0.48 +0.48 +0.53 +0.66 +0.88 +1.17 +1.51 +1.85 +2.14 +2.34 +2.45 +2.49 +2.47 +2.42 +2.34 +2.26 +2.21 +2.21 +2.27 +2.38 +2.49 +2.55 +2.52 +2.42 +2.29 +2.16 +2.09 +2.05 +2.01 +1.94 +1.81 +1.64 +1.48 +1.38 +1.38 +1.49 +1.69 +1.92 +2.11 +2.19 +2.12 +1.93 +1.68 +1.42 +1.22 +1.07 +0.98 +0.9 +0.84 +0.81 +0.83 +0.89 +0.96 +0.99 +0.95 +0.86 +0.76 +0.72 +0.76 +0.88 +1.01 +1.09 +1.09 +1.01 +0.9 +0.8 +0.73 +0.7 +0.67 +0.63 +0.58 +0.52 +0.48 +0.48 +0.53 +0.66 +0.88 +1.17 +1.51 +1.85 +2.14 +2.34 +2.45 +2.49 +2.47 +2.42 +2.34 +2.26 +2.21 +2.21 +2.27 +2.38 +2.49 +2.55 +2.52 +2.42 +2.29 +2.16 +2.09 +2.05 +2.01 +1.94 +1.81 +1.64 +1.48 +1.38 +1.38 +1.49 +1.69 +1.92 +2.11 +2.19 +2.12 +1.93 +1.68 +1.42 +1.22 +1.07 +0.98 +0.9 +0.84 +0.81 +0.83 +0.89 +0.96 +0.99 +0.95 +0.86 +0.76 +0.72 +0.76 +0.88 +1.01 +1.09 +1.09 +1.01 +0.9 +0.6 +0.49 +0.43 +0.41 +0.4 +0.36 +0.31 +0.25 +0.21 +0.2 +0.23 +0.32 +0.48 +0.71 +1.01 +1.34 +1.66 +1.93 +2.13 +2.24 +2.27 +2.24 +2.17 +2.09 +2.05 +2.08 +2.17 +2.31 +2.46 +2.54 +2.54 +2.45 +2.32 +2.18 +2.06 +1.97 +1.86 +1.73 +1.56 +1.39 +1.25 +1.18 +1.22 +1.36 +1.57 +1.8 +1.96 +2.02 +1.94 +1.75 +1.5 +1.25 +1.05 +0.91 +0.8 +0.71 +0.64 +0.61 +0.62 +0.66 +0.7 +0.7 +0.62 +0.51 +0.42 +0.42 +0.53 +0.7 +0.85 +0.92 +0.87 +0.75 +0.6 +0.49 +0.43 +0.41 +0.4 +0.36 +0.31 +0.25 +0.21 +0.2 +0.23 +0.32 +0.48 +0.71 +1.01 +1.34 +1.66 +1.93 +2.13 +2.24 +2.27 +2.24 +2.17 +2.09 +2.05 +2.08 +2.17 +2.31 +2.46 +2.54 +2.54 +2.45 +2.32 +2.18 +2.06 +1.97 +1.86 +1.73 +1.56 +1.39 +1.25 +1.18 +1.22 +1.36 +1.57 +1.8 +1.96 +2.02 +1.94 +1.75 +1.5 +1.25 +1.05 +0.91 +0.8 +0.71 +0.64 +0.61 +0.62 +0.66 +0.7 +0.7 +0.62 +0.51 +0.42 +0.42 +0.53 +0.7 +0.85 +0.92 +0.87 +0.75 +0.6 +0.26 +0.15 +0.1 +0.1 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.13 +0.3 +0.54 +0.85 +1.18 +1.51 +1.79 +1.98 +2.09 +2.13 +2.11 +2.09 +2.11 +2.19 +2.34 +2.52 +2.69 +2.78 +2.79 +2.7 +2.55 +2.38 +2.21 +2.03 +1.84 +1.63 +1.42 +1.24 +1.12 +1.08 +1.14 +1.27 +1.45 +1.63 +1.76 +1.79 +1.71 +1.53 +1.31 +1.09 +0.9 +0.75 +0.63 +0.51 +0.42 +0.37 +0.37 +0.4 +0.42 +0.38 +0.28 +0.16 +0.09 +0.13 +0.28 +0.49 +0.65 +0.7 +0.61 +0.44 +0.26 +0.15 +0.1 +0.1 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.13 +0.3 +0.54 +0.85 +1.18 +1.51 +1.79 +1.98 +2.09 +2.13 +2.11 +2.09 +2.11 +2.19 +2.34 +2.52 +2.69 +2.78 +2.79 +2.7 +2.55 +2.38 +2.21 +2.03 +1.84 +1.63 +1.42 +1.24 +1.12 +1.08 +1.14 +1.27 +1.45 +1.63 +1.76 +1.79 +1.71 +1.53 +1.31 +1.09 +0.9 +0.75 +0.63 +0.51 +0.42 +0.37 +0.37 +0.4 +0.42 +0.38 +0.28 +0.16 +0.09 +0.13 +0.28 +0.49 +0.65 +0.7 +0.61 +0.44 +0.26 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.44 +0.78 +1.15 +1.5 +1.8 +2.02 +2.16 +2.26 +2.35 +2.48 +2.66 +2.87 +3.08 +3.25 +3.33 +3.31 +3.2 +3.02 +2.79 +2.54 +2.27 +1.99 +1.72 +1.48 +1.3 +1.18 +1.14 +1.16 +1.23 +1.33 +1.43 +1.49 +1.48 +1.4 +1.26 +1.08 +0.91 +0.75 +0.61 +0.48 +0.35 +0.25 +0.19 +0.17 +0.19 +0.2 +0.14 +0.03 +0.0 +0.0 +0.0 +0.07 +0.28 +0.43 +0.45 +0.33 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.44 +0.78 +1.15 +1.5 +1.8 +2.02 +2.16 +2.26 +2.35 +2.48 +2.66 +2.87 +3.08 +3.25 +3.33 +3.31 +3.2 +3.02 +2.79 +2.54 +2.27 +1.99 +1.72 +1.48 +1.3 +1.18 +1.14 +1.16 +1.23 +1.33 +1.43 +1.49 +1.48 +1.4 +1.26 +1.08 +0.91 +0.75 +0.61 +0.48 +0.35 +0.25 +0.19 +0.17 +0.19 +0.2 +0.14 +0.03 +0.0 +0.0 +0.0 +0.07 +0.28 +0.43 +0.45 +0.33 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.49 +0.88 +1.3 +1.69 +2.02 +2.29 +2.53 +2.76 +3.01 +3.28 +3.54 +3.76 +3.9 +3.94 +3.87 +3.72 +3.49 +3.21 +2.89 +2.55 +2.21 +1.9 +1.65 +1.47 +1.36 +1.29 +1.25 +1.22 +1.2 +1.18 +1.16 +1.12 +1.05 +0.94 +0.82 +0.7 +0.59 +0.48 +0.37 +0.26 +0.16 +0.1 +0.09 +0.1 +0.09 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.23 +0.22 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.49 +0.88 +1.3 +1.69 +2.02 +2.29 +2.53 +2.76 +3.01 +3.28 +3.54 +3.76 +3.9 +3.94 +3.87 +3.72 +3.49 +3.21 +2.89 +2.55 +2.21 +1.9 +1.65 +1.47 +1.36 +1.29 +1.25 +1.22 +1.2 +1.18 +1.16 +1.12 +1.05 +0.94 +0.82 +0.7 +0.59 +0.48 +0.37 +0.26 +0.16 +0.1 +0.09 +0.1 +0.09 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.23 +0.22 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.32 +0.72 +1.16 +1.6 +2.0 +2.36 +2.7 +3.03 +3.38 +3.7 +3.98 +4.17 +4.26 +4.23 +4.11 +3.91 +3.65 +3.34 +2.98 +2.61 +2.25 +1.96 +1.74 +1.6 +1.5 +1.41 +1.3 +1.16 +1.03 +0.92 +0.84 +0.77 +0.71 +0.64 +0.57 +0.49 +0.42 +0.36 +0.29 +0.21 +0.14 +0.1 +0.09 +0.1 +0.08 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.11 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.32 +0.72 +1.16 +1.6 +2.0 +2.36 +2.7 +3.03 +3.38 +3.7 +3.98 +4.17 +4.26 +4.23 +4.11 +3.91 +3.65 +3.34 +2.98 +2.61 +2.25 +1.96 +1.74 +1.6 +1.5 +1.41 +1.3 +1.16 +1.03 +0.92 +0.84 +0.77 +0.71 +0.64 +0.57 +0.49 +0.42 +0.36 +0.29 +0.21 +0.14 +0.1 +0.09 +0.1 +0.08 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.11 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.28 +0.65 +1.07 +1.48 +1.87 +2.23 +2.59 +2.95 +3.3 +3.63 +3.87 +4.0 +4.01 +3.92 +3.76 +3.55 +3.3 +3.0 +2.66 +2.31 +2.0 +1.76 +1.62 +1.54 +1.49 +1.4 +1.24 +1.04 +0.84 +0.68 +0.58 +0.53 +0.5 +0.45 +0.4 +0.34 +0.29 +0.25 +0.22 +0.18 +0.16 +0.14 +0.14 +0.13 +0.11 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.11 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.28 +0.65 +1.07 +1.48 +1.87 +2.23 +2.59 +2.95 +3.3 +3.63 +3.87 +4.0 +4.01 +3.92 +3.76 +3.55 +3.3 +3.0 +2.66 +2.31 +2.0 +1.76 +1.62 +1.54 +1.49 +1.4 +1.24 +1.04 +0.84 +0.68 +0.58 +0.53 +0.5 +0.45 +0.4 +0.34 +0.29 +0.25 +0.22 +0.18 +0.16 +0.14 +0.14 +0.13 +0.11 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.11 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.17 +0.21 +0.15 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.34 +0.65 +0.99 +1.31 +1.59 +1.86 +2.14 +2.43 +2.73 +2.99 +3.15 +3.2 +3.14 +3.01 +2.86 +2.69 +2.51 +2.28 +2.01 +1.72 +1.47 +1.32 +1.27 +1.28 +1.29 +1.24 +1.09 +0.88 +0.68 +0.54 +0.47 +0.46 +0.46 +0.43 +0.37 +0.28 +0.21 +0.18 +0.17 +0.18 +0.2 +0.21 +0.21 +0.19 +0.14 +0.07 +0.01 +0.0 +0.0 +0.06 +0.15 +0.22 +0.21 +0.12 +0.0 +0.0 +0.0 +0.0 +0.06 +0.17 +0.21 +0.15 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.34 +0.65 +0.99 +1.31 +1.59 +1.86 +2.14 +2.43 +2.73 +2.99 +3.15 +3.2 +3.14 +3.01 +2.86 +2.69 +2.51 +2.28 +2.01 +1.72 +1.47 +1.32 +1.27 +1.28 +1.29 +1.24 +1.09 +0.88 +0.68 +0.54 +0.47 +0.46 +0.46 +0.43 +0.37 +0.28 +0.21 +0.18 +0.17 +0.18 +0.2 +0.21 +0.21 +0.19 +0.14 +0.07 +0.01 +0.0 +0.0 +0.06 +0.15 +0.22 +0.21 +0.12 +0.0 +0.0 +0.0 +0.01 +0.09 +0.21 +0.3 +0.33 +0.28 +0.19 +0.09 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.21 +0.43 +0.68 +0.91 +1.08 +1.21 +1.32 +1.46 +1.65 +1.85 +2.02 +2.09 +2.06 +1.95 +1.82 +1.72 +1.64 +1.57 +1.45 +1.28 +1.07 +0.89 +0.8 +0.82 +0.92 +1.0 +1.01 +0.91 +0.74 +0.58 +0.5 +0.5 +0.55 +0.6 +0.57 +0.48 +0.34 +0.22 +0.15 +0.16 +0.22 +0.29 +0.33 +0.32 +0.26 +0.18 +0.1 +0.07 +0.09 +0.17 +0.28 +0.38 +0.41 +0.37 +0.25 +0.12 +0.02 +0.01 +0.09 +0.21 +0.3 +0.33 +0.28 +0.19 +0.09 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.21 +0.43 +0.68 +0.91 +1.08 +1.21 +1.32 +1.46 +1.65 +1.85 +2.02 +2.09 +2.06 +1.95 +1.82 +1.72 +1.64 +1.57 +1.45 +1.28 +1.07 +0.89 +0.8 +0.82 +0.92 +1.0 +1.01 +0.91 +0.74 +0.58 +0.5 +0.5 +0.55 +0.6 +0.57 +0.48 +0.34 +0.22 +0.15 +0.16 +0.22 +0.29 +0.33 +0.32 +0.26 +0.18 +0.1 +0.07 +0.09 +0.17 +0.28 +0.38 +0.41 +0.37 +0.25 +0.12 +0.02 +0.01 +0.14 +0.22 +0.32 +0.39 +0.4 +0.36 +0.31 +0.27 +0.24 +0.23 +0.21 +0.17 +0.12 +0.11 +0.17 +0.32 +0.51 +0.7 +0.81 +0.84 +0.8 +0.76 +0.77 +0.86 +0.98 +1.07 +1.09 +1.0 +0.87 +0.76 +0.73 +0.78 +0.85 +0.86 +0.78 +0.62 +0.47 +0.4 +0.45 +0.58 +0.73 +0.8 +0.77 +0.66 +0.56 +0.53 +0.59 +0.71 +0.8 +0.79 +0.66 +0.46 +0.27 +0.18 +0.19 +0.3 +0.42 +0.49 +0.48 +0.38 +0.24 +0.14 +0.11 +0.18 +0.31 +0.46 +0.55 +0.56 +0.47 +0.33 +0.2 +0.13 +0.14 +0.22 +0.32 +0.39 +0.4 +0.36 +0.31 +0.27 +0.24 +0.23 +0.21 +0.17 +0.12 +0.11 +0.17 +0.32 +0.51 +0.7 +0.81 +0.84 +0.8 +0.76 +0.77 +0.86 +0.98 +1.07 +1.09 +1.0 +0.87 +0.76 +0.73 +0.78 +0.85 +0.86 +0.78 +0.62 +0.47 +0.4 +0.45 +0.58 +0.73 +0.8 +0.77 +0.66 +0.56 +0.53 +0.59 +0.71 +0.8 +0.79 +0.66 +0.46 +0.27 +0.18 +0.19 +0.3 +0.42 +0.49 +0.48 +0.38 +0.24 +0.14 +0.11 +0.18 +0.31 +0.46 +0.55 +0.56 +0.47 +0.33 +0.2 +0.13 +0.14 +0.2 +0.3 +0.38 +0.42 +0.42 +0.4 +0.39 +0.42 +0.45 +0.47 +0.44 +0.36 +0.26 +0.21 +0.24 +0.37 +0.53 +0.66 +0.68 +0.6 +0.44 +0.3 +0.24 +0.28 +0.38 +0.45 +0.44 +0.33 +0.2 +0.12 +0.17 +0.33 +0.53 +0.65 +0.64 +0.5 +0.32 +0.21 +0.23 +0.37 +0.55 +0.69 +0.71 +0.65 +0.57 +0.57 +0.66 +0.82 +0.94 +0.94 +0.8 +0.56 +0.33 +0.2 +0.23 +0.39 +0.58 +0.69 +0.68 +0.54 +0.34 +0.18 +0.14 +0.22 +0.38 +0.54 +0.62 +0.59 +0.46 +0.3 +0.19 +0.16 +0.2 +0.3 +0.38 +0.42 +0.42 +0.4 +0.39 +0.42 +0.45 +0.47 +0.44 +0.36 +0.26 +0.21 +0.24 +0.37 +0.53 +0.66 +0.68 +0.6 +0.44 +0.3 +0.24 +0.28 +0.38 +0.45 +0.44 +0.33 +0.2 +0.12 +0.17 +0.33 +0.53 +0.65 +0.64 +0.5 +0.32 +0.21 +0.23 +0.37 +0.55 +0.69 +0.71 +0.65 +0.57 +0.57 +0.66 +0.82 +0.94 +0.94 +0.8 +0.56 +0.33 +0.2 +0.23 +0.39 +0.58 +0.69 +0.68 +0.54 +0.34 +0.18 +0.14 +0.22 +0.38 +0.54 +0.62 +0.59 +0.46 +0.3 +0.19 +0.16 +0.2 +0.21 +0.34 +0.41 +0.43 +0.4 +0.38 +0.41 +0.5 +0.61 +0.67 +0.64 +0.53 +0.38 +0.28 +0.27 +0.36 +0.49 +0.57 +0.54 +0.39 +0.19 +0.02 +0.0 +0.02 +0.15 +0.24 +0.23 +0.12 +0.0 +0.0 +0.03 +0.28 +0.56 +0.76 +0.77 +0.61 +0.37 +0.18 +0.15 +0.27 +0.48 +0.66 +0.73 +0.68 +0.6 +0.57 +0.65 +0.8 +0.94 +0.96 +0.83 +0.58 +0.33 +0.2 +0.25 +0.46 +0.71 +0.88 +0.87 +0.7 +0.43 +0.21 +0.13 +0.2 +0.36 +0.51 +0.56 +0.49 +0.32 +0.16 +0.08 +0.11 +0.21 +0.34 +0.41 +0.43 +0.4 +0.38 +0.41 +0.5 +0.61 +0.67 +0.64 +0.53 +0.38 +0.28 +0.27 +0.36 +0.49 +0.57 +0.54 +0.39 +0.19 +0.02 +0.0 +0.02 +0.15 +0.24 +0.23 +0.12 +0.0 +0.0 +0.03 +0.28 +0.56 +0.76 +0.77 +0.61 +0.37 +0.18 +0.15 +0.27 +0.48 +0.66 +0.73 +0.68 +0.6 +0.57 +0.65 +0.8 +0.94 +0.96 +0.83 +0.58 +0.33 +0.2 +0.25 +0.46 +0.71 +0.88 +0.87 +0.7 +0.43 +0.21 +0.13 +0.2 +0.36 +0.51 +0.56 +0.49 +0.32 +0.16 +0.08 +0.11 +0.21 +0.22 +0.38 +0.45 +0.42 +0.35 +0.31 +0.37 +0.51 +0.68 +0.79 +0.79 +0.67 +0.49 +0.34 +0.28 +0.33 +0.43 +0.48 +0.43 +0.27 +0.07 +0.0 +0.0 +0.04 +0.21 +0.33 +0.33 +0.22 +0.07 +0.02 +0.14 +0.42 +0.74 +0.96 +0.98 +0.78 +0.47 +0.21 +0.12 +0.23 +0.47 +0.69 +0.8 +0.76 +0.64 +0.54 +0.56 +0.67 +0.81 +0.86 +0.76 +0.53 +0.28 +0.14 +0.21 +0.46 +0.77 +0.99 +1.0 +0.81 +0.5 +0.22 +0.09 +0.13 +0.28 +0.41 +0.43 +0.32 +0.14 +0.0 +0.0 +0.05 +0.22 +0.38 +0.45 +0.42 +0.35 +0.31 +0.37 +0.51 +0.68 +0.79 +0.79 +0.67 +0.49 +0.34 +0.28 +0.33 +0.43 +0.48 +0.43 +0.27 +0.07 +0.0 +0.0 +0.04 +0.21 +0.33 +0.33 +0.22 +0.07 +0.02 +0.14 +0.42 +0.74 +0.96 +0.98 +0.78 +0.47 +0.21 +0.12 +0.23 +0.47 +0.69 +0.8 +0.76 +0.64 +0.54 +0.56 +0.67 +0.81 +0.86 +0.76 +0.53 +0.28 +0.14 +0.21 +0.46 +0.77 +0.99 +1.0 +0.81 +0.5 +0.22 +0.09 +0.13 +0.28 +0.41 +0.43 +0.32 +0.14 +0.0 +0.0 +0.05 +0.22 +0.3 +0.47 +0.52 +0.45 +0.31 +0.22 +0.26 +0.42 +0.65 +0.82 +0.86 +0.77 +0.59 +0.42 +0.33 +0.35 +0.42 +0.46 +0.41 +0.28 +0.12 +0.02 +0.06 +0.21 +0.41 +0.55 +0.55 +0.43 +0.27 +0.2 +0.29 +0.55 +0.86 +1.07 +1.07 +0.84 +0.5 +0.21 +0.1 +0.21 +0.48 +0.75 +0.89 +0.86 +0.7 +0.53 +0.46 +0.52 +0.65 +0.72 +0.65 +0.44 +0.2 +0.06 +0.13 +0.4 +0.74 +0.99 +1.03 +0.84 +0.51 +0.2 +0.04 +0.06 +0.19 +0.31 +0.32 +0.2 +0.02 +0.0 +0.0 +0.08 +0.3 +0.47 +0.52 +0.45 +0.31 +0.22 +0.26 +0.42 +0.65 +0.82 +0.86 +0.77 +0.59 +0.42 +0.33 +0.35 +0.42 +0.46 +0.41 +0.28 +0.12 +0.02 +0.06 +0.21 +0.41 +0.55 +0.55 +0.43 +0.27 +0.2 +0.29 +0.55 +0.86 +1.07 +1.07 +0.84 +0.5 +0.21 +0.1 +0.21 +0.48 +0.75 +0.89 +0.86 +0.7 +0.53 +0.46 +0.52 +0.65 +0.72 +0.65 +0.44 +0.2 +0.06 +0.13 +0.4 +0.74 +0.99 +1.03 +0.84 +0.51 +0.2 +0.04 +0.06 +0.19 +0.31 +0.32 +0.2 +0.02 +0.0 +0.0 +0.08 +0.3 +0.48 +0.65 +0.66 +0.51 +0.3 +0.14 +0.13 +0.29 +0.53 +0.75 +0.85 +0.81 +0.66 +0.51 +0.42 +0.43 +0.49 +0.53 +0.51 +0.42 +0.31 +0.26 +0.31 +0.46 +0.64 +0.75 +0.73 +0.6 +0.43 +0.34 +0.4 +0.6 +0.85 +1.02 +0.99 +0.76 +0.43 +0.15 +0.05 +0.2 +0.5 +0.81 +0.99 +0.97 +0.78 +0.56 +0.43 +0.44 +0.53 +0.61 +0.56 +0.39 +0.16 +0.02 +0.06 +0.31 +0.65 +0.91 +0.97 +0.8 +0.48 +0.17 +0.01 +0.03 +0.16 +0.29 +0.31 +0.21 +0.06 +0.0 +0.03 +0.23 +0.48 +0.65 +0.66 +0.51 +0.3 +0.14 +0.13 +0.29 +0.53 +0.75 +0.85 +0.81 +0.66 +0.51 +0.42 +0.43 +0.49 +0.53 +0.51 +0.42 +0.31 +0.26 +0.31 +0.46 +0.64 +0.75 +0.73 +0.6 +0.43 +0.34 +0.4 +0.6 +0.85 +1.02 +0.99 +0.76 +0.43 +0.15 +0.05 +0.2 +0.5 +0.81 +0.99 +0.97 +0.78 +0.56 +0.43 +0.44 +0.53 +0.61 +0.56 +0.39 +0.16 +0.02 +0.06 +0.31 +0.65 +0.91 +0.97 +0.8 +0.48 +0.17 +0.01 +0.03 +0.16 +0.29 +0.31 +0.21 +0.06 +0.0 +0.03 +0.23 +0.48 +0.72 +0.86 +0.82 +0.61 +0.33 +0.1 +0.04 +0.16 +0.4 +0.63 +0.78 +0.78 +0.69 +0.58 +0.51 +0.53 +0.6 +0.67 +0.69 +0.65 +0.59 +0.55 +0.59 +0.69 +0.8 +0.86 +0.83 +0.7 +0.55 +0.45 +0.47 +0.6 +0.76 +0.86 +0.81 +0.6 +0.31 +0.08 +0.02 +0.19 +0.51 +0.85 +1.05 +1.04 +0.86 +0.63 +0.46 +0.43 +0.5 +0.57 +0.55 +0.4 +0.19 +0.04 +0.06 +0.26 +0.56 +0.81 +0.88 +0.74 +0.46 +0.19 +0.05 +0.08 +0.23 +0.38 +0.43 +0.36 +0.25 +0.2 +0.28 +0.49 +0.72 +0.86 +0.82 +0.61 +0.33 +0.1 +0.04 +0.16 +0.4 +0.63 +0.78 +0.78 +0.69 +0.58 +0.51 +0.53 +0.6 +0.67 +0.69 +0.65 +0.59 +0.55 +0.59 +0.69 +0.8 +0.86 +0.83 +0.7 +0.55 +0.45 +0.47 +0.6 +0.76 +0.86 +0.81 +0.6 +0.31 +0.08 +0.02 +0.19 +0.51 +0.85 +1.05 +1.04 +0.86 +0.63 +0.46 +0.43 +0.5 +0.57 +0.55 +0.4 +0.19 +0.04 +0.06 +0.26 +0.56 +0.81 +0.88 +0.74 +0.46 +0.19 +0.05 +0.08 +0.23 +0.38 +0.43 +0.36 +0.25 +0.2 +0.28 +0.49 +0.72 +0.94 +1.04 +0.96 +0.71 +0.38 +0.11 +0.0 +0.08 +0.28 +0.5 +0.65 +0.69 +0.64 +0.57 +0.54 +0.58 +0.67 +0.77 +0.84 +0.86 +0.83 +0.8 +0.79 +0.82 +0.85 +0.87 +0.83 +0.74 +0.63 +0.55 +0.54 +0.59 +0.66 +0.69 +0.62 +0.43 +0.21 +0.03 +0.02 +0.19 +0.49 +0.81 +1.02 +1.04 +0.89 +0.68 +0.52 +0.48 +0.53 +0.61 +0.61 +0.5 +0.31 +0.17 +0.16 +0.31 +0.56 +0.77 +0.83 +0.71 +0.48 +0.25 +0.15 +0.21 +0.37 +0.54 +0.61 +0.58 +0.5 +0.46 +0.55 +0.74 +0.94 +1.04 +0.96 +0.71 +0.38 +0.11 +0.0 +0.08 +0.28 +0.5 +0.65 +0.69 +0.64 +0.57 +0.54 +0.58 +0.67 +0.77 +0.84 +0.86 +0.83 +0.8 +0.79 +0.82 +0.85 +0.87 +0.83 +0.74 +0.63 +0.55 +0.54 +0.59 +0.66 +0.69 +0.62 +0.43 +0.21 +0.03 +0.02 +0.19 +0.49 +0.81 +1.02 +1.04 +0.89 +0.68 +0.52 +0.48 +0.53 +0.61 +0.61 +0.5 +0.31 +0.17 +0.16 +0.31 +0.56 +0.77 +0.83 +0.71 +0.48 +0.25 +0.15 +0.21 +0.37 +0.54 +0.61 +0.58 +0.5 +0.46 +0.55 +0.74 +0.94 +1.02 +1.09 +0.99 +0.74 +0.43 +0.16 +0.03 +0.06 +0.21 +0.38 +0.51 +0.55 +0.52 +0.47 +0.45 +0.5 +0.61 +0.73 +0.84 +0.91 +0.91 +0.88 +0.83 +0.78 +0.75 +0.74 +0.73 +0.7 +0.66 +0.61 +0.58 +0.57 +0.56 +0.53 +0.44 +0.29 +0.13 +0.01 +0.01 +0.16 +0.42 +0.69 +0.89 +0.94 +0.85 +0.7 +0.59 +0.56 +0.63 +0.72 +0.75 +0.68 +0.55 +0.43 +0.4 +0.5 +0.67 +0.82 +0.86 +0.75 +0.56 +0.37 +0.3 +0.38 +0.55 +0.71 +0.79 +0.77 +0.69 +0.65 +0.71 +0.86 +1.02 +1.09 +0.99 +0.74 +0.43 +0.16 +0.03 +0.06 +0.21 +0.38 +0.51 +0.55 +0.52 +0.47 +0.45 +0.5 +0.61 +0.73 +0.84 +0.91 +0.91 +0.88 +0.83 +0.78 +0.75 +0.74 +0.73 +0.7 +0.66 +0.61 +0.58 +0.57 +0.56 +0.53 +0.44 +0.29 +0.13 +0.01 +0.01 +0.16 +0.42 +0.69 +0.89 +0.94 +0.85 +0.7 +0.59 +0.56 +0.63 +0.72 +0.75 +0.68 +0.55 +0.43 +0.4 +0.5 +0.67 +0.82 +0.86 +0.75 +0.56 +0.37 +0.3 +0.38 +0.55 +0.71 +0.79 +0.77 +0.69 +0.65 +0.71 +0.86 +1.02 +0.91 +0.96 +0.88 +0.68 +0.42 +0.2 +0.08 +0.09 +0.19 +0.32 +0.4 +0.41 +0.37 +0.31 +0.28 +0.32 +0.41 +0.54 +0.67 +0.76 +0.78 +0.74 +0.65 +0.55 +0.49 +0.48 +0.51 +0.55 +0.58 +0.57 +0.53 +0.47 +0.4 +0.34 +0.26 +0.16 +0.06 +0.0 +0.0 +0.11 +0.31 +0.54 +0.74 +0.83 +0.83 +0.77 +0.73 +0.75 +0.85 +0.97 +1.05 +1.04 +0.95 +0.85 +0.8 +0.83 +0.92 +1.0 +0.98 +0.87 +0.68 +0.53 +0.48 +0.55 +0.71 +0.85 +0.9 +0.85 +0.75 +0.68 +0.7 +0.79 +0.91 +0.96 +0.88 +0.68 +0.42 +0.2 +0.08 +0.09 +0.19 +0.32 +0.4 +0.41 +0.37 +0.31 +0.28 +0.32 +0.41 +0.54 +0.67 +0.76 +0.78 +0.74 +0.65 +0.55 +0.49 +0.48 +0.51 +0.55 +0.58 +0.57 +0.53 +0.47 +0.4 +0.34 +0.26 +0.16 +0.06 +0.0 +0.0 +0.11 +0.31 +0.54 +0.74 +0.83 +0.83 +0.77 +0.73 +0.75 +0.85 +0.97 +1.05 +1.04 +0.95 +0.85 +0.8 +0.83 +0.92 +1.0 +0.98 +0.87 +0.68 +0.53 +0.48 +0.55 +0.71 +0.85 +0.9 +0.85 +0.75 +0.68 +0.7 +0.79 +0.91 +0.67 +0.71 +0.66 +0.53 +0.35 +0.21 +0.14 +0.16 +0.23 +0.31 +0.35 +0.34 +0.27 +0.19 +0.12 +0.12 +0.17 +0.28 +0.41 +0.5 +0.51 +0.45 +0.33 +0.2 +0.13 +0.14 +0.21 +0.32 +0.39 +0.4 +0.35 +0.26 +0.17 +0.12 +0.08 +0.05 +0.02 +0.0 +0.01 +0.1 +0.27 +0.49 +0.71 +0.87 +0.97 +1.03 +1.08 +1.18 +1.34 +1.51 +1.63 +1.66 +1.6 +1.48 +1.38 +1.33 +1.31 +1.29 +1.21 +1.05 +0.86 +0.71 +0.66 +0.71 +0.84 +0.93 +0.94 +0.85 +0.7 +0.58 +0.54 +0.59 +0.67 +0.71 +0.66 +0.53 +0.35 +0.21 +0.14 +0.16 +0.23 +0.31 +0.35 +0.34 +0.27 +0.19 +0.12 +0.12 +0.17 +0.28 +0.41 +0.5 +0.51 +0.45 +0.33 +0.2 +0.13 +0.14 +0.21 +0.32 +0.39 +0.4 +0.35 +0.26 +0.17 +0.12 +0.08 +0.05 +0.02 +0.0 +0.01 +0.1 +0.27 +0.49 +0.71 +0.87 +0.97 +1.03 +1.08 +1.18 +1.34 +1.51 +1.63 +1.66 +1.6 +1.48 +1.38 +1.33 +1.31 +1.29 +1.21 +1.05 +0.86 +0.71 +0.66 +0.71 +0.84 +0.93 +0.94 +0.85 +0.7 +0.58 +0.54 +0.59 +0.67 +0.4 +0.44 +0.42 +0.35 +0.26 +0.19 +0.18 +0.23 +0.3 +0.37 +0.4 +0.38 +0.3 +0.19 +0.09 +0.03 +0.04 +0.11 +0.22 +0.29 +0.29 +0.2 +0.05 +0.0 +0.0 +0.0 +0.0 +0.11 +0.19 +0.19 +0.11 +0.01 +0.0 +0.0 +0.0 +0.04 +0.08 +0.1 +0.13 +0.22 +0.4 +0.65 +0.94 +1.21 +1.43 +1.6 +1.76 +1.95 +2.18 +2.4 +2.56 +2.61 +2.52 +2.34 +2.13 +1.95 +1.81 +1.68 +1.51 +1.3 +1.08 +0.91 +0.83 +0.86 +0.95 +1.0 +0.97 +0.83 +0.64 +0.46 +0.36 +0.36 +0.4 +0.44 +0.42 +0.35 +0.26 +0.19 +0.18 +0.23 +0.3 +0.37 +0.4 +0.38 +0.3 +0.19 +0.09 +0.03 +0.04 +0.11 +0.22 +0.29 +0.29 +0.2 +0.05 +0.0 +0.0 +0.0 +0.0 +0.11 +0.19 +0.19 +0.11 +0.01 +0.0 +0.0 +0.0 +0.04 +0.08 +0.1 +0.13 +0.22 +0.4 +0.65 +0.94 +1.21 +1.43 +1.6 +1.76 +1.95 +2.18 +2.4 +2.56 +2.61 +2.52 +2.34 +2.13 +1.95 +1.81 +1.68 +1.51 +1.3 +1.08 +0.91 +0.83 +0.86 +0.95 +1.0 +0.97 +0.83 +0.64 +0.46 +0.36 +0.36 +0.4 +0.23 +0.26 +0.26 +0.23 +0.19 +0.18 +0.2 +0.27 +0.37 +0.46 +0.52 +0.52 +0.46 +0.35 +0.21 +0.11 +0.08 +0.14 +0.24 +0.32 +0.31 +0.2 +0.02 +0.0 +0.0 +0.0 +0.0 +0.09 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.05 +0.21 +0.32 +0.39 +0.44 +0.55 +0.77 +1.09 +1.48 +1.86 +2.19 +2.46 +2.72 +3.0 +3.3 +3.58 +3.76 +3.78 +3.62 +3.32 +2.96 +2.62 +2.34 +2.1 +1.86 +1.6 +1.33 +1.12 +1.0 +0.99 +1.04 +1.08 +1.02 +0.86 +0.64 +0.42 +0.28 +0.22 +0.23 +0.26 +0.26 +0.23 +0.19 +0.18 +0.2 +0.27 +0.37 +0.46 +0.52 +0.52 +0.46 +0.35 +0.21 +0.11 +0.08 +0.14 +0.24 +0.32 +0.31 +0.2 +0.02 +0.0 +0.0 +0.0 +0.0 +0.09 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.05 +0.21 +0.32 +0.39 +0.44 +0.55 +0.77 +1.09 +1.48 +1.86 +2.19 +2.46 +2.72 +3.0 +3.3 +3.58 +3.76 +3.78 +3.62 +3.32 +2.96 +2.62 +2.34 +2.1 +1.86 +1.6 +1.33 +1.12 +1.0 +0.99 +1.04 +1.08 +1.02 +0.86 +0.64 +0.42 +0.28 +0.22 +0.23 +0.19 +0.2 +0.2 +0.19 +0.17 +0.17 +0.2 +0.27 +0.38 +0.51 +0.62 +0.69 +0.68 +0.58 +0.43 +0.31 +0.27 +0.34 +0.47 +0.59 +0.62 +0.51 +0.32 +0.14 +0.06 +0.11 +0.25 +0.36 +0.38 +0.27 +0.1 +0.0 +0.0 +0.12 +0.36 +0.6 +0.77 +0.85 +0.91 +1.03 +1.29 +1.68 +2.15 +2.62 +3.03 +3.38 +3.7 +4.04 +4.41 +4.74 +4.95 +4.92 +4.65 +4.19 +3.65 +3.15 +2.75 +2.43 +2.15 +1.86 +1.56 +1.3 +1.13 +1.08 +1.1 +1.13 +1.09 +0.94 +0.72 +0.48 +0.31 +0.22 +0.19 +0.2 +0.2 +0.19 +0.17 +0.17 +0.2 +0.27 +0.38 +0.51 +0.62 +0.69 +0.68 +0.58 +0.43 +0.31 +0.27 +0.34 +0.47 +0.59 +0.62 +0.51 +0.32 +0.14 +0.06 +0.11 +0.25 +0.36 +0.38 +0.27 +0.1 +0.0 +0.0 +0.12 +0.36 +0.6 +0.77 +0.85 +0.91 +1.03 +1.29 +1.68 +2.15 +2.62 +3.03 +3.38 +3.7 +4.04 +4.41 +4.74 +4.95 +4.92 +4.65 +4.19 +3.65 +3.15 +2.75 +2.43 +2.15 +1.86 +1.56 +1.3 +1.13 +1.08 +1.1 +1.13 +1.09 +0.94 +0.72 +0.48 +0.31 +0.22 +0.19 +0.23 +0.22 +0.22 +0.2 +0.17 +0.14 +0.14 +0.18 +0.28 +0.43 +0.61 +0.75 +0.8 +0.73 +0.59 +0.46 +0.43 +0.55 +0.77 +0.99 +1.09 +1.03 +0.85 +0.66 +0.57 +0.62 +0.75 +0.85 +0.83 +0.67 +0.44 +0.29 +0.31 +0.52 +0.83 +1.12 +1.31 +1.37 +1.4 +1.49 +1.75 +2.16 +2.68 +3.19 +3.63 +4.0 +4.33 +4.71 +5.12 +5.51 +5.73 +5.67 +5.29 +4.67 +3.97 +3.33 +2.86 +2.53 +2.26 +1.99 +1.68 +1.37 +1.15 +1.05 +1.06 +1.1 +1.1 +1.0 +0.81 +0.59 +0.4 +0.28 +0.23 +0.22 +0.22 +0.2 +0.17 +0.14 +0.14 +0.18 +0.28 +0.43 +0.61 +0.75 +0.8 +0.73 +0.59 +0.46 +0.43 +0.55 +0.77 +0.99 +1.09 +1.03 +0.85 +0.66 +0.57 +0.62 +0.75 +0.85 +0.83 +0.67 +0.44 +0.29 +0.31 +0.52 +0.83 +1.12 +1.31 +1.37 +1.4 +1.49 +1.75 +2.16 +2.68 +3.19 +3.63 +4.0 +4.33 +4.71 +5.12 +5.51 +5.73 +5.67 +5.29 +4.67 +3.97 +3.33 +2.86 +2.53 +2.26 +1.99 +1.68 +1.37 +1.15 +1.05 +1.06 +1.1 +1.1 +1.0 +0.81 +0.59 +0.4 +0.28 +0.23 +0.22 +0.2 +0.2 +0.19 +0.14 +0.07 +0.0 +0.0 +0.03 +0.19 +0.41 +0.62 +0.73 +0.69 +0.54 +0.4 +0.39 +0.58 +0.92 +1.28 +1.51 +1.53 +1.37 +1.17 +1.07 +1.11 +1.25 +1.35 +1.31 +1.11 +0.85 +0.66 +0.68 +0.91 +1.26 +1.58 +1.75 +1.76 +1.71 +1.73 +1.93 +2.32 +2.82 +3.32 +3.73 +4.04 +4.34 +4.7 +5.14 +5.56 +5.81 +5.74 +5.29 +4.56 +3.74 +3.03 +2.54 +2.26 +2.08 +1.87 +1.59 +1.26 +0.98 +0.83 +0.83 +0.9 +0.96 +0.93 +0.8 +0.61 +0.42 +0.29 +0.22 +0.2 +0.2 +0.19 +0.14 +0.07 +0.0 +0.0 +0.03 +0.19 +0.41 +0.62 +0.73 +0.69 +0.54 +0.4 +0.39 +0.58 +0.92 +1.28 +1.51 +1.53 +1.37 +1.17 +1.07 +1.11 +1.25 +1.35 +1.31 +1.11 +0.85 +0.66 +0.68 +0.91 +1.26 +1.58 +1.75 +1.76 +1.71 +1.73 +1.93 +2.32 +2.82 +3.32 +3.73 +4.04 +4.34 +4.7 +5.14 +5.56 +5.81 +5.74 +5.29 +4.56 +3.74 +3.03 +2.54 +2.26 +2.08 +1.87 +1.59 +1.26 +0.98 +0.83 +0.83 +0.9 +0.96 +0.93 +0.8 +0.61 +0.42 +0.29 +0.22 +0.09 +0.08 +0.1 +0.1 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.31 +0.45 +0.42 +0.25 +0.09 +0.08 +0.34 +0.8 +1.32 +1.69 +1.81 +1.69 +1.48 +1.34 +1.36 +1.5 +1.62 +1.59 +1.39 +1.1 +0.89 +0.9 +1.13 +1.49 +1.8 +1.95 +1.9 +1.75 +1.66 +1.76 +2.07 +2.51 +2.94 +3.27 +3.5 +3.72 +4.02 +4.44 +4.88 +5.17 +5.11 +4.65 +3.86 +2.98 +2.24 +1.8 +1.62 +1.56 +1.47 +1.25 +0.92 +0.61 +0.42 +0.41 +0.51 +0.64 +0.7 +0.63 +0.48 +0.31 +0.17 +0.09 +0.08 +0.1 +0.1 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.31 +0.45 +0.42 +0.25 +0.09 +0.08 +0.34 +0.8 +1.32 +1.69 +1.81 +1.69 +1.48 +1.34 +1.36 +1.5 +1.62 +1.59 +1.39 +1.1 +0.89 +0.9 +1.13 +1.49 +1.8 +1.95 +1.9 +1.75 +1.66 +1.76 +2.07 +2.51 +2.94 +3.27 +3.5 +3.72 +4.02 +4.44 +4.88 +5.17 +5.11 +4.65 +3.86 +2.98 +2.24 +1.8 +1.62 +1.56 +1.47 +1.25 +0.92 +0.61 +0.42 +0.41 +0.51 +0.64 +0.7 +0.63 +0.48 +0.31 +0.17 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.07 +0.0 +0.0 +0.0 +0.0 +0.49 +1.15 +1.66 +1.86 +1.78 +1.54 +1.35 +1.33 +1.45 +1.59 +1.59 +1.41 +1.12 +0.9 +0.88 +1.1 +1.46 +1.78 +1.9 +1.79 +1.55 +1.35 +1.34 +1.56 +1.91 +2.27 +2.51 +2.64 +2.74 +2.95 +3.32 +3.76 +4.07 +4.05 +3.6 +2.81 +1.92 +1.21 +0.82 +0.75 +0.84 +0.88 +0.74 +0.44 +0.11 +0.0 +0.0 +0.01 +0.2 +0.33 +0.34 +0.23 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.07 +0.0 +0.0 +0.0 +0.0 +0.49 +1.15 +1.66 +1.86 +1.78 +1.54 +1.35 +1.33 +1.45 +1.59 +1.59 +1.41 +1.12 +0.9 +0.88 +1.1 +1.46 +1.78 +1.9 +1.79 +1.55 +1.35 +1.34 +1.56 +1.91 +2.27 +2.51 +2.64 +2.74 +2.95 +3.32 +3.76 +4.07 +4.05 +3.6 +2.81 +1.92 +1.21 +0.82 +0.75 +0.84 +0.88 +0.74 +0.44 +0.11 +0.0 +0.0 +0.01 +0.2 +0.33 +0.34 +0.23 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +1.0 +1.62 +1.9 +1.84 +1.57 +1.32 +1.22 +1.3 +1.43 +1.45 +1.3 +1.03 +0.79 +0.75 +0.96 +1.31 +1.63 +1.75 +1.61 +1.32 +1.03 +0.93 +1.06 +1.35 +1.64 +1.82 +1.85 +1.85 +1.95 +2.23 +2.63 +2.95 +2.97 +2.56 +1.81 +0.94 +0.25 +0.0 +0.0 +0.13 +0.28 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +1.0 +1.62 +1.9 +1.84 +1.57 +1.32 +1.22 +1.3 +1.43 +1.45 +1.3 +1.03 +0.79 +0.75 +0.96 +1.31 +1.63 +1.75 +1.61 +1.32 +1.03 +0.93 +1.06 +1.35 +1.64 +1.82 +1.85 +1.85 +1.95 +2.23 +2.63 +2.95 +2.97 +2.56 +1.81 +0.94 +0.25 +0.0 +0.0 +0.13 +0.28 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +1.17 +1.86 +2.22 +2.18 +1.87 +1.54 +1.35 +1.35 +1.44 +1.46 +1.31 +1.04 +0.79 +0.72 +0.89 +1.22 +1.54 +1.67 +1.54 +1.22 +0.89 +0.72 +0.79 +1.04 +1.31 +1.46 +1.44 +1.35 +1.35 +1.54 +1.87 +2.18 +2.22 +1.86 +1.17 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +1.17 +1.86 +2.22 +2.18 +1.87 +1.54 +1.35 +1.35 +1.44 +1.46 +1.31 +1.04 +0.79 +0.72 +0.89 +1.22 +1.54 +1.67 +1.54 +1.22 +0.89 +0.72 +0.79 +1.04 +1.31 +1.46 +1.44 +1.35 +1.35 +1.54 +1.87 +2.18 +2.22 +1.86 +1.17 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.36 +0.37 +0.36 +0.39 +0.49 +0.64 +0.84 +1.05 +1.28 +1.52 +1.78 +2.02 +2.21 +2.29 +2.24 +2.09 +1.86 +1.62 +1.38 +1.15 +0.93 +0.72 +0.55 +0.44 +0.39 +0.37 +0.34 +0.23 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.25 +0.36 +0.4 +0.41 +0.45 +0.56 +0.72 +0.92 +1.14 +1.37 +1.6 +1.84 +2.06 +2.21 +2.25 +2.17 +1.99 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.41 +0.39 +0.4 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.27 +0.36 +0.37 +0.36 +0.39 +0.49 +0.64 +0.84 +1.05 +1.28 +1.52 +1.78 +2.02 +2.21 +2.29 +2.24 +2.09 +1.86 +1.62 +1.38 +1.15 +0.93 +0.72 +0.55 +0.44 +0.39 +0.37 +0.34 +0.23 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.25 +0.36 +0.4 +0.41 +0.45 +0.56 +0.72 +0.92 +1.14 +1.37 +1.6 +1.84 +2.06 +2.21 +2.25 +2.17 +1.99 +1.76 +1.51 +1.27 +1.05 +0.84 +0.64 +0.49 +0.41 +0.39 +0.4 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.27 +0.36 +0.42 +0.37 +0.32 +0.3 +0.37 +0.5 +0.68 +0.9 +1.14 +1.42 +1.72 +2.03 +2.28 +2.42 +2.41 +2.28 +2.05 +1.78 +1.51 +1.26 +1.02 +0.81 +0.63 +0.51 +0.45 +0.43 +0.4 +0.32 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.35 +0.46 +0.5 +0.51 +0.54 +0.62 +0.77 +0.97 +1.2 +1.45 +1.71 +1.96 +2.17 +2.28 +2.28 +2.15 +1.93 +1.66 +1.38 +1.12 +0.88 +0.67 +0.5 +0.4 +0.37 +0.41 +0.48 +0.5 +0.44 +0.29 +0.09 +0.0 +0.0 +0.0 +0.11 +0.28 +0.39 +0.42 +0.37 +0.32 +0.3 +0.37 +0.5 +0.68 +0.9 +1.14 +1.42 +1.72 +2.03 +2.28 +2.42 +2.41 +2.28 +2.05 +1.78 +1.51 +1.26 +1.02 +0.81 +0.63 +0.51 +0.45 +0.43 +0.4 +0.32 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.35 +0.46 +0.5 +0.51 +0.54 +0.62 +0.77 +0.97 +1.2 +1.45 +1.71 +1.96 +2.17 +2.28 +2.28 +2.15 +1.93 +1.66 +1.38 +1.12 +0.88 +0.67 +0.5 +0.4 +0.37 +0.41 +0.48 +0.5 +0.44 +0.29 +0.09 +0.0 +0.0 +0.0 +0.11 +0.28 +0.39 +0.42 +0.53 +0.42 +0.31 +0.26 +0.28 +0.37 +0.53 +0.73 +0.98 +1.29 +1.64 +2.02 +2.34 +2.56 +2.62 +2.53 +2.31 +2.03 +1.75 +1.48 +1.25 +1.04 +0.87 +0.75 +0.68 +0.66 +0.65 +0.61 +0.49 +0.33 +0.17 +0.08 +0.11 +0.23 +0.42 +0.59 +0.7 +0.74 +0.73 +0.73 +0.77 +0.88 +1.07 +1.3 +1.58 +1.86 +2.1 +2.28 +2.35 +2.29 +2.11 +1.84 +1.54 +1.24 +0.97 +0.72 +0.53 +0.4 +0.35 +0.39 +0.5 +0.62 +0.68 +0.65 +0.54 +0.38 +0.27 +0.24 +0.31 +0.43 +0.54 +0.58 +0.53 +0.42 +0.31 +0.26 +0.28 +0.37 +0.53 +0.73 +0.98 +1.29 +1.64 +2.02 +2.34 +2.56 +2.62 +2.53 +2.31 +2.03 +1.75 +1.48 +1.25 +1.04 +0.87 +0.75 +0.68 +0.66 +0.65 +0.61 +0.49 +0.33 +0.17 +0.08 +0.11 +0.23 +0.42 +0.59 +0.7 +0.74 +0.73 +0.73 +0.77 +0.88 +1.07 +1.3 +1.58 +1.86 +2.1 +2.28 +2.35 +2.29 +2.11 +1.84 +1.54 +1.24 +0.97 +0.72 +0.53 +0.4 +0.35 +0.39 +0.5 +0.62 +0.68 +0.65 +0.54 +0.38 +0.27 +0.24 +0.31 +0.43 +0.54 +0.58 +0.53 +0.67 +0.53 +0.4 +0.31 +0.3 +0.35 +0.46 +0.63 +0.86 +1.16 +1.53 +1.95 +2.34 +2.64 +2.78 +2.74 +2.57 +2.32 +2.06 +1.82 +1.61 +1.44 +1.29 +1.19 +1.13 +1.12 +1.13 +1.12 +1.05 +0.92 +0.77 +0.66 +0.64 +0.71 +0.85 +0.99 +1.08 +1.1 +1.06 +1.01 +0.99 +1.05 +1.2 +1.43 +1.7 +1.98 +2.21 +2.35 +2.36 +2.24 +2.01 +1.74 +1.44 +1.15 +0.89 +0.66 +0.49 +0.4 +0.42 +0.52 +0.67 +0.82 +0.89 +0.86 +0.77 +0.65 +0.58 +0.58 +0.65 +0.74 +0.79 +0.77 +0.67 +0.53 +0.4 +0.31 +0.3 +0.35 +0.46 +0.63 +0.86 +1.16 +1.53 +1.95 +2.34 +2.64 +2.78 +2.74 +2.57 +2.32 +2.06 +1.82 +1.61 +1.44 +1.29 +1.19 +1.13 +1.12 +1.13 +1.12 +1.05 +0.92 +0.77 +0.66 +0.64 +0.71 +0.85 +0.99 +1.08 +1.1 +1.06 +1.01 +0.99 +1.05 +1.2 +1.43 +1.7 +1.98 +2.21 +2.35 +2.36 +2.24 +2.01 +1.74 +1.44 +1.15 +0.89 +0.66 +0.49 +0.4 +0.42 +0.52 +0.67 +0.82 +0.89 +0.86 +0.77 +0.65 +0.58 +0.58 +0.65 +0.74 +0.79 +0.77 +0.67 +0.82 +0.67 +0.54 +0.46 +0.42 +0.43 +0.49 +0.6 +0.77 +1.03 +1.39 +1.8 +2.23 +2.58 +2.79 +2.84 +2.75 +2.57 +2.36 +2.18 +2.03 +1.91 +1.8 +1.72 +1.68 +1.68 +1.71 +1.73 +1.69 +1.59 +1.44 +1.3 +1.23 +1.25 +1.34 +1.45 +1.51 +1.5 +1.42 +1.31 +1.22 +1.22 +1.33 +1.53 +1.8 +2.06 +2.26 +2.34 +2.29 +2.12 +1.88 +1.61 +1.36 +1.12 +0.9 +0.71 +0.58 +0.54 +0.59 +0.72 +0.88 +1.01 +1.05 +1.0 +0.9 +0.81 +0.78 +0.82 +0.9 +0.97 +0.99 +0.93 +0.82 +0.67 +0.54 +0.46 +0.42 +0.43 +0.49 +0.6 +0.77 +1.03 +1.39 +1.8 +2.23 +2.58 +2.79 +2.84 +2.75 +2.57 +2.36 +2.18 +2.03 +1.91 +1.8 +1.72 +1.68 +1.68 +1.71 +1.73 +1.69 +1.59 +1.44 +1.3 +1.23 +1.25 +1.34 +1.45 +1.51 +1.5 +1.42 +1.31 +1.22 +1.22 +1.33 +1.53 +1.8 +2.06 +2.26 +2.34 +2.29 +2.12 +1.88 +1.61 +1.36 +1.12 +0.9 +0.71 +0.58 +0.54 +0.59 +0.72 +0.88 +1.01 +1.05 +1.0 +0.9 +0.81 +0.78 +0.82 +0.9 +0.97 +0.99 +0.93 +0.82 +0.89 +0.77 +0.67 +0.6 +0.56 +0.54 +0.55 +0.59 +0.69 +0.89 +1.18 +1.56 +1.97 +2.35 +2.63 +2.76 +2.77 +2.69 +2.57 +2.46 +2.37 +2.28 +2.21 +2.14 +2.1 +2.12 +2.17 +2.21 +2.21 +2.12 +1.97 +1.81 +1.69 +1.67 +1.72 +1.79 +1.83 +1.78 +1.66 +1.49 +1.36 +1.32 +1.4 +1.59 +1.84 +2.08 +2.24 +2.26 +2.16 +1.96 +1.71 +1.48 +1.28 +1.1 +0.94 +0.8 +0.71 +0.7 +0.77 +0.91 +1.04 +1.11 +1.1 +1.01 +0.91 +0.85 +0.86 +0.94 +1.03 +1.09 +1.08 +1.01 +0.89 +0.77 +0.67 +0.6 +0.56 +0.54 +0.55 +0.59 +0.69 +0.89 +1.18 +1.56 +1.97 +2.35 +2.63 +2.76 +2.77 +2.69 +2.57 +2.46 +2.37 +2.28 +2.21 +2.14 +2.1 +2.12 +2.17 +2.21 +2.21 +2.12 +1.97 +1.81 +1.69 +1.67 +1.72 +1.79 +1.83 +1.78 +1.66 +1.49 +1.36 +1.32 +1.4 +1.59 +1.84 +2.08 +2.24 +2.26 +2.16 +1.96 +1.71 +1.48 +1.28 +1.1 +0.94 +0.8 +0.71 +0.7 +0.77 +0.91 +1.04 +1.11 +1.1 +1.01 +0.91 +0.85 +0.86 +0.94 +1.03 +1.09 +1.08 +1.01 +0.89 +0.85 +0.76 +0.69 +0.65 +0.6 +0.56 +0.53 +0.52 +0.56 +0.69 +0.91 +1.22 +1.59 +1.97 +2.28 +2.5 +2.61 +2.63 +2.6 +2.56 +2.5 +2.43 +2.35 +2.28 +2.25 +2.27 +2.34 +2.41 +2.43 +2.36 +2.22 +2.04 +1.91 +1.86 +1.87 +1.91 +1.9 +1.83 +1.67 +1.49 +1.35 +1.31 +1.39 +1.59 +1.84 +2.05 +2.17 +2.15 +2.01 +1.79 +1.55 +1.34 +1.18 +1.06 +0.94 +0.84 +0.78 +0.79 +0.87 +0.98 +1.06 +1.08 +1.0 +0.88 +0.79 +0.77 +0.83 +0.95 +1.05 +1.09 +1.05 +0.96 +0.85 +0.76 +0.69 +0.65 +0.6 +0.56 +0.53 +0.52 +0.56 +0.69 +0.91 +1.22 +1.59 +1.97 +2.28 +2.5 +2.61 +2.63 +2.6 +2.56 +2.5 +2.43 +2.35 +2.28 +2.25 +2.27 +2.34 +2.41 +2.43 +2.36 +2.22 +2.04 +1.91 +1.86 +1.87 +1.91 +1.9 +1.83 +1.67 +1.49 +1.35 +1.31 +1.39 +1.59 +1.84 +2.05 +2.17 +2.15 +2.01 +1.79 +1.55 +1.34 +1.18 +1.06 +0.94 +0.84 +0.78 +0.79 +0.87 +0.98 +1.06 +1.08 +1.0 +0.88 +0.79 +0.77 +0.83 +0.95 +1.05 +1.09 +1.05 +0.96 +0.85 +0.68 +0.61 +0.56 +0.53 +0.49 +0.44 +0.38 +0.34 +0.35 +0.43 +0.59 +0.83 +1.14 +1.49 +1.82 +2.09 +2.29 +2.41 +2.47 +2.47 +2.43 +2.36 +2.27 +2.18 +2.15 +2.18 +2.27 +2.37 +2.41 +2.37 +2.24 +2.07 +1.93 +1.85 +1.82 +1.81 +1.77 +1.66 +1.49 +1.32 +1.21 +1.2 +1.32 +1.53 +1.78 +1.99 +2.08 +2.04 +1.87 +1.64 +1.41 +1.21 +1.07 +0.96 +0.86 +0.78 +0.73 +0.74 +0.81 +0.89 +0.93 +0.89 +0.78 +0.65 +0.58 +0.62 +0.74 +0.89 +1.0 +1.01 +0.93 +0.8 +0.68 +0.61 +0.56 +0.53 +0.49 +0.44 +0.38 +0.34 +0.35 +0.43 +0.59 +0.83 +1.14 +1.49 +1.82 +2.09 +2.29 +2.41 +2.47 +2.47 +2.43 +2.36 +2.27 +2.18 +2.15 +2.18 +2.27 +2.37 +2.41 +2.37 +2.24 +2.07 +1.93 +1.85 +1.82 +1.81 +1.77 +1.66 +1.49 +1.32 +1.21 +1.2 +1.32 +1.53 +1.78 +1.99 +2.08 +2.04 +1.87 +1.64 +1.41 +1.21 +1.07 +0.96 +0.86 +0.78 +0.73 +0.74 +0.81 +0.89 +0.93 +0.89 +0.78 +0.65 +0.58 +0.62 +0.74 +0.89 +1.0 +1.01 +0.93 +0.8 +0.68 +0.43 +0.35 +0.32 +0.29 +0.25 +0.18 +0.12 +0.08 +0.08 +0.14 +0.26 +0.45 +0.69 +0.98 +1.3 +1.61 +1.89 +2.1 +2.24 +2.3 +2.28 +2.22 +2.13 +2.05 +2.04 +2.11 +2.23 +2.35 +2.41 +2.38 +2.26 +2.09 +1.94 +1.82 +1.74 +1.66 +1.56 +1.41 +1.25 +1.1 +1.04 +1.08 +1.23 +1.46 +1.7 +1.89 +1.96 +1.91 +1.74 +1.51 +1.29 +1.1 +0.95 +0.83 +0.72 +0.63 +0.57 +0.58 +0.64 +0.69 +0.7 +0.62 +0.49 +0.37 +0.35 +0.44 +0.62 +0.8 +0.89 +0.85 +0.72 +0.56 +0.43 +0.35 +0.32 +0.29 +0.25 +0.18 +0.12 +0.08 +0.08 +0.14 +0.26 +0.45 +0.69 +0.98 +1.3 +1.61 +1.89 +2.1 +2.24 +2.3 +2.28 +2.22 +2.13 +2.05 +2.04 +2.11 +2.23 +2.35 +2.41 +2.38 +2.26 +2.09 +1.94 +1.82 +1.74 +1.66 +1.56 +1.41 +1.25 +1.1 +1.04 +1.08 +1.23 +1.46 +1.7 +1.89 +1.96 +1.91 +1.74 +1.51 +1.29 +1.1 +0.95 +0.83 +0.72 +0.63 +0.57 +0.58 +0.64 +0.69 +0.7 +0.62 +0.49 +0.37 +0.35 +0.44 +0.62 +0.8 +0.89 +0.85 +0.72 +0.56 +0.43 +0.15 +0.09 +0.06 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.3 +0.53 +0.82 +1.16 +1.49 +1.79 +2.02 +2.16 +2.21 +2.2 +2.16 +2.15 +2.2 +2.32 +2.47 +2.61 +2.67 +2.63 +2.5 +2.32 +2.13 +1.95 +1.79 +1.63 +1.45 +1.27 +1.1 +0.98 +0.95 +1.02 +1.17 +1.37 +1.57 +1.72 +1.77 +1.72 +1.57 +1.37 +1.16 +0.98 +0.83 +0.69 +0.56 +0.45 +0.39 +0.4 +0.44 +0.48 +0.45 +0.35 +0.22 +0.12 +0.14 +0.28 +0.49 +0.67 +0.73 +0.66 +0.48 +0.29 +0.15 +0.09 +0.06 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.3 +0.53 +0.82 +1.16 +1.49 +1.79 +2.02 +2.16 +2.21 +2.2 +2.16 +2.15 +2.2 +2.32 +2.47 +2.61 +2.67 +2.63 +2.5 +2.32 +2.13 +1.95 +1.79 +1.63 +1.45 +1.27 +1.1 +0.98 +0.95 +1.02 +1.17 +1.37 +1.57 +1.72 +1.77 +1.72 +1.57 +1.37 +1.16 +0.98 +0.83 +0.69 +0.56 +0.45 +0.39 +0.4 +0.44 +0.48 +0.45 +0.35 +0.22 +0.12 +0.14 +0.28 +0.49 +0.67 +0.73 +0.66 +0.48 +0.29 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.19 +0.45 +0.78 +1.17 +1.55 +1.89 +2.14 +2.29 +2.39 +2.47 +2.57 +2.72 +2.91 +3.09 +3.22 +3.25 +3.17 +3.0 +2.78 +2.53 +2.28 +2.02 +1.77 +1.51 +1.29 +1.12 +1.02 +1.0 +1.05 +1.15 +1.27 +1.39 +1.47 +1.49 +1.44 +1.32 +1.16 +1.0 +0.85 +0.72 +0.58 +0.44 +0.33 +0.27 +0.27 +0.3 +0.32 +0.28 +0.17 +0.03 +0.0 +0.0 +0.14 +0.35 +0.52 +0.55 +0.44 +0.24 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.19 +0.45 +0.78 +1.17 +1.55 +1.89 +2.14 +2.29 +2.39 +2.47 +2.57 +2.72 +2.91 +3.09 +3.22 +3.25 +3.17 +3.0 +2.78 +2.53 +2.28 +2.02 +1.77 +1.51 +1.29 +1.12 +1.02 +1.0 +1.05 +1.15 +1.27 +1.39 +1.47 +1.49 +1.44 +1.32 +1.16 +1.0 +0.85 +0.72 +0.58 +0.44 +0.33 +0.27 +0.27 +0.3 +0.32 +0.28 +0.17 +0.03 +0.0 +0.0 +0.14 +0.35 +0.52 +0.55 +0.44 +0.24 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.54 +0.96 +1.41 +1.84 +2.2 +2.49 +2.72 +2.94 +3.18 +3.43 +3.68 +3.87 +3.96 +3.93 +3.79 +3.56 +3.28 +2.97 +2.64 +2.3 +1.97 +1.67 +1.43 +1.27 +1.18 +1.14 +1.13 +1.13 +1.14 +1.14 +1.14 +1.13 +1.08 +1.0 +0.9 +0.79 +0.69 +0.59 +0.48 +0.37 +0.28 +0.23 +0.22 +0.25 +0.26 +0.2 +0.08 +0.0 +0.0 +0.0 +0.05 +0.23 +0.36 +0.36 +0.22 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.54 +0.96 +1.41 +1.84 +2.2 +2.49 +2.72 +2.94 +3.18 +3.43 +3.68 +3.87 +3.96 +3.93 +3.79 +3.56 +3.28 +2.97 +2.64 +2.3 +1.97 +1.67 +1.43 +1.27 +1.18 +1.14 +1.13 +1.13 +1.14 +1.14 +1.14 +1.13 +1.08 +1.0 +0.9 +0.79 +0.69 +0.59 +0.48 +0.37 +0.28 +0.23 +0.22 +0.25 +0.26 +0.2 +0.08 +0.0 +0.0 +0.0 +0.05 +0.23 +0.36 +0.36 +0.22 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.43 +0.86 +1.34 +1.82 +2.25 +2.63 +2.97 +3.3 +3.64 +3.96 +4.23 +4.4 +4.43 +4.33 +4.12 +3.84 +3.52 +3.17 +2.79 +2.41 +2.04 +1.74 +1.52 +1.39 +1.32 +1.27 +1.19 +1.08 +0.97 +0.87 +0.8 +0.75 +0.72 +0.67 +0.62 +0.56 +0.51 +0.45 +0.39 +0.33 +0.27 +0.24 +0.25 +0.26 +0.25 +0.18 +0.06 +0.0 +0.0 +0.0 +0.02 +0.16 +0.24 +0.2 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.43 +0.86 +1.34 +1.82 +2.25 +2.63 +2.97 +3.3 +3.64 +3.96 +4.23 +4.4 +4.43 +4.33 +4.12 +3.84 +3.52 +3.17 +2.79 +2.41 +2.04 +1.74 +1.52 +1.39 +1.32 +1.27 +1.19 +1.08 +0.97 +0.87 +0.8 +0.75 +0.72 +0.67 +0.62 +0.56 +0.51 +0.45 +0.39 +0.33 +0.27 +0.24 +0.25 +0.26 +0.25 +0.18 +0.06 +0.0 +0.0 +0.0 +0.02 +0.16 +0.24 +0.2 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.42 +0.82 +1.28 +1.75 +2.17 +2.55 +2.91 +3.28 +3.64 +3.97 +4.21 +4.32 +4.28 +4.11 +3.86 +3.57 +3.26 +2.92 +2.56 +2.19 +1.85 +1.59 +1.44 +1.37 +1.34 +1.28 +1.16 +0.98 +0.78 +0.62 +0.52 +0.47 +0.45 +0.44 +0.41 +0.37 +0.34 +0.32 +0.3 +0.29 +0.28 +0.28 +0.29 +0.29 +0.26 +0.18 +0.07 +0.0 +0.0 +0.0 +0.06 +0.15 +0.18 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.42 +0.82 +1.28 +1.75 +2.17 +2.55 +2.91 +3.28 +3.64 +3.97 +4.21 +4.32 +4.28 +4.11 +3.86 +3.57 +3.26 +2.92 +2.56 +2.19 +1.85 +1.59 +1.44 +1.37 +1.34 +1.28 +1.16 +0.98 +0.78 +0.62 +0.52 +0.47 +0.45 +0.44 +0.41 +0.37 +0.34 +0.32 +0.3 +0.29 +0.28 +0.28 +0.29 +0.29 +0.26 +0.18 +0.07 +0.0 +0.0 +0.0 +0.06 +0.15 +0.18 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.14 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.22 +0.48 +0.82 +1.2 +1.57 +1.89 +2.18 +2.47 +2.78 +3.09 +3.36 +3.53 +3.57 +3.46 +3.26 +3.02 +2.78 +2.54 +2.28 +1.99 +1.69 +1.42 +1.23 +1.16 +1.17 +1.2 +1.17 +1.04 +0.84 +0.62 +0.45 +0.37 +0.35 +0.37 +0.37 +0.34 +0.28 +0.24 +0.22 +0.23 +0.26 +0.3 +0.33 +0.34 +0.31 +0.25 +0.16 +0.06 +0.0 +0.0 +0.07 +0.16 +0.22 +0.2 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.14 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.22 +0.48 +0.82 +1.2 +1.57 +1.89 +2.18 +2.47 +2.78 +3.09 +3.36 +3.53 +3.57 +3.46 +3.26 +3.02 +2.78 +2.54 +2.28 +1.99 +1.69 +1.42 +1.23 +1.16 +1.17 +1.2 +1.17 +1.04 +0.84 +0.62 +0.45 +0.37 +0.35 +0.37 +0.37 +0.34 +0.28 +0.24 +0.22 +0.23 +0.26 +0.3 +0.33 +0.34 +0.31 +0.25 +0.16 +0.06 +0.0 +0.0 +0.07 +0.16 +0.22 +0.2 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.18 +0.21 +0.17 +0.07 +0.0 +0.0 +0.0 +0.03 +0.08 +0.1 +0.12 +0.18 +0.31 +0.53 +0.8 +1.07 +1.29 +1.45 +1.59 +1.74 +1.94 +2.15 +2.34 +2.43 +2.39 +2.25 +2.05 +1.87 +1.73 +1.61 +1.49 +1.32 +1.11 +0.91 +0.79 +0.79 +0.86 +0.95 +0.97 +0.89 +0.71 +0.53 +0.4 +0.36 +0.4 +0.45 +0.46 +0.41 +0.32 +0.22 +0.18 +0.2 +0.27 +0.35 +0.41 +0.4 +0.34 +0.24 +0.12 +0.04 +0.03 +0.08 +0.19 +0.28 +0.32 +0.26 +0.13 +0.0 +0.0 +0.0 +0.0 +0.07 +0.18 +0.21 +0.17 +0.07 +0.0 +0.0 +0.0 +0.03 +0.08 +0.1 +0.12 +0.18 +0.31 +0.53 +0.8 +1.07 +1.29 +1.45 +1.59 +1.74 +1.94 +2.15 +2.34 +2.43 +2.39 +2.25 +2.05 +1.87 +1.73 +1.61 +1.49 +1.32 +1.11 +0.91 +0.79 +0.79 +0.86 +0.95 +0.97 +0.89 +0.71 +0.53 +0.4 +0.36 +0.4 +0.45 +0.46 +0.41 +0.32 +0.22 +0.18 +0.2 +0.27 +0.35 +0.41 +0.4 +0.34 +0.24 +0.12 +0.04 +0.03 +0.08 +0.19 +0.28 +0.32 +0.26 +0.13 +0.0 +0.0 +0.0 +0.0 +0.01 +0.13 +0.23 +0.26 +0.23 +0.18 +0.14 +0.15 +0.19 +0.23 +0.24 +0.23 +0.22 +0.26 +0.37 +0.54 +0.73 +0.88 +0.95 +0.95 +0.93 +0.94 +1.03 +1.16 +1.27 +1.3 +1.22 +1.07 +0.9 +0.8 +0.79 +0.83 +0.86 +0.81 +0.68 +0.54 +0.45 +0.46 +0.57 +0.71 +0.78 +0.76 +0.64 +0.51 +0.43 +0.44 +0.53 +0.62 +0.65 +0.57 +0.43 +0.28 +0.2 +0.21 +0.31 +0.43 +0.52 +0.51 +0.41 +0.25 +0.1 +0.01 +0.03 +0.13 +0.27 +0.38 +0.4 +0.31 +0.15 +0.0 +0.0 +0.0 +0.01 +0.13 +0.23 +0.26 +0.23 +0.18 +0.14 +0.15 +0.19 +0.23 +0.24 +0.23 +0.22 +0.26 +0.37 +0.54 +0.73 +0.88 +0.95 +0.95 +0.93 +0.94 +1.03 +1.16 +1.27 +1.3 +1.22 +1.07 +0.9 +0.8 +0.79 +0.83 +0.86 +0.81 +0.68 +0.54 +0.45 +0.46 +0.57 +0.71 +0.78 +0.76 +0.64 +0.51 +0.43 +0.44 +0.53 +0.62 +0.65 +0.57 +0.43 +0.28 +0.2 +0.21 +0.31 +0.43 +0.52 +0.51 +0.41 +0.25 +0.1 +0.01 +0.03 +0.13 +0.27 +0.38 +0.4 +0.31 +0.15 +0.0 +0.0 +0.0 +0.01 +0.08 +0.2 +0.28 +0.3 +0.28 +0.26 +0.28 +0.33 +0.39 +0.42 +0.4 +0.34 +0.29 +0.29 +0.37 +0.5 +0.62 +0.67 +0.62 +0.5 +0.37 +0.3 +0.33 +0.42 +0.51 +0.52 +0.42 +0.27 +0.15 +0.13 +0.23 +0.41 +0.57 +0.62 +0.54 +0.4 +0.29 +0.28 +0.38 +0.53 +0.66 +0.7 +0.64 +0.55 +0.5 +0.54 +0.65 +0.76 +0.8 +0.73 +0.56 +0.36 +0.24 +0.24 +0.36 +0.53 +0.65 +0.65 +0.52 +0.3 +0.09 +0.0 +0.01 +0.14 +0.3 +0.4 +0.4 +0.28 +0.12 +0.0 +0.0 +0.0 +0.08 +0.2 +0.28 +0.3 +0.28 +0.26 +0.28 +0.33 +0.39 +0.42 +0.4 +0.34 +0.29 +0.29 +0.37 +0.5 +0.62 +0.67 +0.62 +0.5 +0.37 +0.3 +0.33 +0.42 +0.51 +0.52 +0.42 +0.27 +0.15 +0.13 +0.23 +0.41 +0.57 +0.62 +0.54 +0.4 +0.29 +0.28 +0.38 +0.53 +0.66 +0.7 +0.64 +0.55 +0.5 +0.54 +0.65 +0.76 +0.8 +0.73 +0.56 +0.36 +0.24 +0.24 +0.36 +0.53 +0.65 +0.65 +0.52 +0.3 +0.09 +0.0 +0.01 +0.14 +0.3 +0.4 +0.4 +0.28 +0.12 +0.0 +0.0 +0.0 +0.08 +0.17 +0.29 +0.34 +0.34 +0.31 +0.31 +0.37 +0.47 +0.56 +0.58 +0.53 +0.43 +0.34 +0.3 +0.34 +0.43 +0.5 +0.49 +0.37 +0.19 +0.03 +0.0 +0.0 +0.09 +0.19 +0.21 +0.12 +0.0 +0.0 +0.0 +0.08 +0.35 +0.59 +0.69 +0.63 +0.46 +0.29 +0.21 +0.28 +0.45 +0.62 +0.72 +0.71 +0.63 +0.57 +0.58 +0.68 +0.8 +0.86 +0.8 +0.62 +0.41 +0.26 +0.25 +0.39 +0.6 +0.76 +0.78 +0.63 +0.37 +0.11 +0.0 +0.0 +0.1 +0.26 +0.35 +0.32 +0.19 +0.03 +0.0 +0.0 +0.03 +0.17 +0.29 +0.34 +0.34 +0.31 +0.31 +0.37 +0.47 +0.56 +0.58 +0.53 +0.43 +0.34 +0.3 +0.34 +0.43 +0.5 +0.49 +0.37 +0.19 +0.03 +0.0 +0.0 +0.09 +0.19 +0.21 +0.12 +0.0 +0.0 +0.0 +0.08 +0.35 +0.59 +0.69 +0.63 +0.46 +0.29 +0.21 +0.28 +0.45 +0.62 +0.72 +0.71 +0.63 +0.57 +0.58 +0.68 +0.8 +0.86 +0.8 +0.62 +0.41 +0.26 +0.25 +0.39 +0.6 +0.76 +0.78 +0.63 +0.37 +0.11 +0.0 +0.0 +0.1 +0.26 +0.35 +0.32 +0.19 +0.03 +0.0 +0.0 +0.03 +0.17 +0.29 +0.4 +0.43 +0.38 +0.32 +0.32 +0.4 +0.52 +0.64 +0.68 +0.63 +0.51 +0.39 +0.32 +0.33 +0.38 +0.42 +0.38 +0.25 +0.08 +0.0 +0.0 +0.0 +0.13 +0.26 +0.29 +0.19 +0.04 +0.0 +0.0 +0.17 +0.47 +0.74 +0.86 +0.78 +0.57 +0.34 +0.21 +0.25 +0.43 +0.65 +0.8 +0.82 +0.74 +0.63 +0.58 +0.63 +0.74 +0.81 +0.78 +0.62 +0.4 +0.24 +0.22 +0.36 +0.6 +0.8 +0.84 +0.7 +0.42 +0.13 +0.0 +0.0 +0.05 +0.2 +0.27 +0.23 +0.09 +0.0 +0.0 +0.0 +0.11 +0.29 +0.4 +0.43 +0.38 +0.32 +0.32 +0.4 +0.52 +0.64 +0.68 +0.63 +0.51 +0.39 +0.32 +0.33 +0.38 +0.42 +0.38 +0.25 +0.08 +0.0 +0.0 +0.0 +0.13 +0.26 +0.29 +0.19 +0.04 +0.0 +0.0 +0.17 +0.47 +0.74 +0.86 +0.78 +0.57 +0.34 +0.21 +0.25 +0.43 +0.65 +0.8 +0.82 +0.74 +0.63 +0.58 +0.63 +0.74 +0.81 +0.78 +0.62 +0.4 +0.24 +0.22 +0.36 +0.6 +0.8 +0.84 +0.7 +0.42 +0.13 +0.0 +0.0 +0.05 +0.2 +0.27 +0.23 +0.09 +0.0 +0.0 +0.0 +0.11 +0.29 +0.45 +0.55 +0.52 +0.41 +0.3 +0.27 +0.34 +0.48 +0.63 +0.7 +0.68 +0.58 +0.46 +0.38 +0.37 +0.41 +0.43 +0.39 +0.28 +0.15 +0.06 +0.08 +0.2 +0.37 +0.51 +0.53 +0.43 +0.26 +0.14 +0.15 +0.32 +0.59 +0.83 +0.93 +0.84 +0.6 +0.34 +0.19 +0.23 +0.44 +0.71 +0.91 +0.96 +0.86 +0.7 +0.59 +0.58 +0.65 +0.73 +0.72 +0.58 +0.37 +0.18 +0.14 +0.27 +0.52 +0.75 +0.83 +0.72 +0.45 +0.16 +0.0 +0.0 +0.04 +0.18 +0.25 +0.2 +0.07 +0.0 +0.0 +0.06 +0.25 +0.45 +0.55 +0.52 +0.41 +0.3 +0.27 +0.34 +0.48 +0.63 +0.7 +0.68 +0.58 +0.46 +0.38 +0.37 +0.41 +0.43 +0.39 +0.28 +0.15 +0.06 +0.08 +0.2 +0.37 +0.51 +0.53 +0.43 +0.26 +0.14 +0.15 +0.32 +0.59 +0.83 +0.93 +0.84 +0.6 +0.34 +0.19 +0.23 +0.44 +0.71 +0.91 +0.96 +0.86 +0.7 +0.59 +0.58 +0.65 +0.73 +0.72 +0.58 +0.37 +0.18 +0.14 +0.27 +0.52 +0.75 +0.83 +0.72 +0.45 +0.16 +0.0 +0.0 +0.04 +0.18 +0.25 +0.2 +0.07 +0.0 +0.0 +0.06 +0.25 +0.45 +0.64 +0.71 +0.62 +0.44 +0.26 +0.17 +0.21 +0.36 +0.53 +0.65 +0.67 +0.62 +0.54 +0.48 +0.48 +0.51 +0.53 +0.5 +0.44 +0.36 +0.32 +0.37 +0.5 +0.65 +0.76 +0.76 +0.65 +0.47 +0.32 +0.29 +0.41 +0.61 +0.79 +0.86 +0.75 +0.52 +0.27 +0.14 +0.2 +0.44 +0.75 +0.99 +1.07 +0.98 +0.79 +0.62 +0.56 +0.6 +0.67 +0.68 +0.57 +0.36 +0.17 +0.09 +0.19 +0.42 +0.66 +0.78 +0.71 +0.49 +0.23 +0.05 +0.03 +0.13 +0.26 +0.33 +0.3 +0.19 +0.1 +0.11 +0.25 +0.46 +0.64 +0.71 +0.62 +0.44 +0.26 +0.17 +0.21 +0.36 +0.53 +0.65 +0.67 +0.62 +0.54 +0.48 +0.48 +0.51 +0.53 +0.5 +0.44 +0.36 +0.32 +0.37 +0.5 +0.65 +0.76 +0.76 +0.65 +0.47 +0.32 +0.29 +0.41 +0.61 +0.79 +0.86 +0.75 +0.52 +0.27 +0.14 +0.2 +0.44 +0.75 +0.99 +1.07 +0.98 +0.79 +0.62 +0.56 +0.6 +0.67 +0.68 +0.57 +0.36 +0.17 +0.09 +0.19 +0.42 +0.66 +0.78 +0.71 +0.49 +0.23 +0.05 +0.03 +0.13 +0.26 +0.33 +0.3 +0.19 +0.1 +0.11 +0.25 +0.46 +0.64 +0.83 +0.85 +0.7 +0.46 +0.22 +0.08 +0.08 +0.21 +0.38 +0.53 +0.61 +0.61 +0.59 +0.57 +0.58 +0.61 +0.65 +0.65 +0.63 +0.61 +0.61 +0.66 +0.76 +0.86 +0.91 +0.87 +0.75 +0.59 +0.45 +0.4 +0.44 +0.56 +0.66 +0.68 +0.57 +0.37 +0.16 +0.07 +0.16 +0.42 +0.75 +1.01 +1.12 +1.05 +0.87 +0.68 +0.6 +0.62 +0.69 +0.71 +0.62 +0.44 +0.24 +0.15 +0.21 +0.41 +0.64 +0.77 +0.75 +0.57 +0.36 +0.22 +0.21 +0.32 +0.46 +0.54 +0.51 +0.42 +0.35 +0.37 +0.5 +0.69 +0.83 +0.85 +0.7 +0.46 +0.22 +0.08 +0.08 +0.21 +0.38 +0.53 +0.61 +0.61 +0.59 +0.57 +0.58 +0.61 +0.65 +0.65 +0.63 +0.61 +0.61 +0.66 +0.76 +0.86 +0.91 +0.87 +0.75 +0.59 +0.45 +0.4 +0.44 +0.56 +0.66 +0.68 +0.57 +0.37 +0.16 +0.07 +0.16 +0.42 +0.75 +1.01 +1.12 +1.05 +0.87 +0.68 +0.6 +0.62 +0.69 +0.71 +0.62 +0.44 +0.24 +0.15 +0.21 +0.41 +0.64 +0.77 +0.75 +0.57 +0.36 +0.22 +0.21 +0.32 +0.46 +0.54 +0.51 +0.42 +0.35 +0.37 +0.5 +0.69 +0.83 +0.95 +0.92 +0.75 +0.47 +0.2 +0.02 +0.0 +0.08 +0.23 +0.38 +0.49 +0.54 +0.55 +0.57 +0.6 +0.64 +0.69 +0.73 +0.76 +0.78 +0.81 +0.85 +0.88 +0.91 +0.9 +0.84 +0.75 +0.64 +0.54 +0.48 +0.47 +0.5 +0.52 +0.48 +0.37 +0.21 +0.06 +0.01 +0.11 +0.35 +0.66 +0.93 +1.06 +1.03 +0.89 +0.74 +0.67 +0.7 +0.78 +0.82 +0.78 +0.63 +0.47 +0.37 +0.41 +0.57 +0.76 +0.89 +0.88 +0.74 +0.57 +0.46 +0.47 +0.58 +0.72 +0.8 +0.78 +0.7 +0.62 +0.62 +0.72 +0.86 +0.95 +0.92 +0.75 +0.47 +0.2 +0.02 +0.0 +0.08 +0.23 +0.38 +0.49 +0.54 +0.55 +0.57 +0.6 +0.64 +0.69 +0.73 +0.76 +0.78 +0.81 +0.85 +0.88 +0.91 +0.9 +0.84 +0.75 +0.64 +0.54 +0.48 +0.47 +0.5 +0.52 +0.48 +0.37 +0.21 +0.06 +0.01 +0.11 +0.35 +0.66 +0.93 +1.06 +1.03 +0.89 +0.74 +0.67 +0.7 +0.78 +0.82 +0.78 +0.63 +0.47 +0.37 +0.41 +0.57 +0.76 +0.89 +0.88 +0.74 +0.57 +0.46 +0.47 +0.58 +0.72 +0.8 +0.78 +0.7 +0.62 +0.62 +0.72 +0.86 +0.95 +0.96 +0.9 +0.72 +0.46 +0.2 +0.02 +0.0 +0.01 +0.12 +0.25 +0.34 +0.4 +0.43 +0.45 +0.49 +0.54 +0.6 +0.66 +0.73 +0.8 +0.84 +0.85 +0.83 +0.79 +0.73 +0.68 +0.64 +0.61 +0.57 +0.53 +0.49 +0.45 +0.39 +0.31 +0.2 +0.07 +0.0 +0.0 +0.03 +0.23 +0.49 +0.74 +0.89 +0.92 +0.87 +0.8 +0.78 +0.85 +0.96 +1.05 +1.07 +0.99 +0.88 +0.8 +0.82 +0.93 +1.07 +1.15 +1.12 +0.99 +0.84 +0.74 +0.75 +0.85 +0.97 +1.04 +1.01 +0.92 +0.81 +0.77 +0.82 +0.9 +0.96 +0.9 +0.72 +0.46 +0.2 +0.02 +0.0 +0.01 +0.12 +0.25 +0.34 +0.4 +0.43 +0.45 +0.49 +0.54 +0.6 +0.66 +0.73 +0.8 +0.84 +0.85 +0.83 +0.79 +0.73 +0.68 +0.64 +0.61 +0.57 +0.53 +0.49 +0.45 +0.39 +0.31 +0.2 +0.07 +0.0 +0.0 +0.03 +0.23 +0.49 +0.74 +0.89 +0.92 +0.87 +0.8 +0.78 +0.85 +0.96 +1.05 +1.07 +0.99 +0.88 +0.8 +0.82 +0.93 +1.07 +1.15 +1.12 +0.99 +0.84 +0.74 +0.75 +0.85 +0.97 +1.04 +1.01 +0.92 +0.81 +0.77 +0.82 +0.9 +0.96 +0.83 +0.78 +0.64 +0.43 +0.21 +0.06 +0.0 +0.02 +0.08 +0.16 +0.22 +0.25 +0.26 +0.27 +0.28 +0.31 +0.37 +0.45 +0.54 +0.63 +0.67 +0.66 +0.6 +0.51 +0.44 +0.42 +0.45 +0.49 +0.52 +0.51 +0.44 +0.35 +0.24 +0.14 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.3 +0.53 +0.72 +0.83 +0.89 +0.93 +1.0 +1.13 +1.3 +1.46 +1.54 +1.55 +1.49 +1.44 +1.43 +1.47 +1.52 +1.53 +1.44 +1.28 +1.11 +1.0 +0.98 +1.06 +1.15 +1.19 +1.14 +1.01 +0.87 +0.78 +0.77 +0.8 +0.83 +0.78 +0.64 +0.43 +0.21 +0.06 +0.0 +0.02 +0.08 +0.16 +0.22 +0.25 +0.26 +0.27 +0.28 +0.31 +0.37 +0.45 +0.54 +0.63 +0.67 +0.66 +0.6 +0.51 +0.44 +0.42 +0.45 +0.49 +0.52 +0.51 +0.44 +0.35 +0.24 +0.14 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.3 +0.53 +0.72 +0.83 +0.89 +0.93 +1.0 +1.13 +1.3 +1.46 +1.54 +1.55 +1.49 +1.44 +1.43 +1.47 +1.52 +1.53 +1.44 +1.28 +1.11 +1.0 +0.98 +1.06 +1.15 +1.19 +1.14 +1.01 +0.87 +0.78 +0.77 +0.8 +0.83 +0.63 +0.6 +0.51 +0.37 +0.23 +0.13 +0.08 +0.09 +0.12 +0.16 +0.18 +0.17 +0.16 +0.13 +0.1 +0.09 +0.11 +0.19 +0.29 +0.37 +0.41 +0.37 +0.27 +0.16 +0.1 +0.11 +0.19 +0.3 +0.37 +0.36 +0.28 +0.16 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.44 +0.69 +0.91 +1.09 +1.25 +1.43 +1.64 +1.88 +2.1 +2.26 +2.33 +2.31 +2.24 +2.17 +2.12 +2.06 +1.95 +1.78 +1.56 +1.34 +1.19 +1.14 +1.18 +1.24 +1.25 +1.16 +1.0 +0.81 +0.67 +0.61 +0.61 +0.63 +0.6 +0.51 +0.37 +0.23 +0.13 +0.08 +0.09 +0.12 +0.16 +0.18 +0.17 +0.16 +0.13 +0.1 +0.09 +0.11 +0.19 +0.29 +0.37 +0.41 +0.37 +0.27 +0.16 +0.1 +0.11 +0.19 +0.3 +0.37 +0.36 +0.28 +0.16 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.44 +0.69 +0.91 +1.09 +1.25 +1.43 +1.64 +1.88 +2.1 +2.26 +2.33 +2.31 +2.24 +2.17 +2.12 +2.06 +1.95 +1.78 +1.56 +1.34 +1.19 +1.14 +1.18 +1.24 +1.25 +1.16 +1.0 +0.81 +0.67 +0.61 +0.61 +0.63 +0.43 +0.42 +0.38 +0.31 +0.24 +0.2 +0.19 +0.21 +0.23 +0.25 +0.26 +0.24 +0.19 +0.12 +0.05 +0.0 +0.0 +0.03 +0.12 +0.2 +0.22 +0.15 +0.02 +0.0 +0.0 +0.0 +0.0 +0.11 +0.18 +0.16 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.28 +0.58 +0.93 +1.27 +1.58 +1.85 +2.13 +2.42 +2.72 +3.0 +3.21 +3.29 +3.25 +3.12 +2.94 +2.76 +2.56 +2.34 +2.07 +1.78 +1.51 +1.31 +1.22 +1.22 +1.24 +1.23 +1.12 +0.94 +0.72 +0.55 +0.45 +0.42 +0.43 +0.42 +0.38 +0.31 +0.24 +0.2 +0.19 +0.21 +0.23 +0.25 +0.26 +0.24 +0.19 +0.12 +0.05 +0.0 +0.0 +0.03 +0.12 +0.2 +0.22 +0.15 +0.02 +0.0 +0.0 +0.0 +0.0 +0.11 +0.18 +0.16 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.28 +0.58 +0.93 +1.27 +1.58 +1.85 +2.13 +2.42 +2.72 +3.0 +3.21 +3.29 +3.25 +3.12 +2.94 +2.76 +2.56 +2.34 +2.07 +1.78 +1.51 +1.31 +1.22 +1.22 +1.24 +1.23 +1.12 +0.94 +0.72 +0.55 +0.45 +0.42 +0.43 +0.32 +0.32 +0.32 +0.29 +0.27 +0.27 +0.29 +0.32 +0.37 +0.41 +0.44 +0.44 +0.4 +0.3 +0.19 +0.09 +0.05 +0.09 +0.18 +0.26 +0.26 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.09 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.11 +0.18 +0.33 +0.61 +1.0 +1.45 +1.9 +2.31 +2.67 +3.01 +3.35 +3.7 +4.02 +4.23 +4.29 +4.17 +3.92 +3.59 +3.25 +2.93 +2.6 +2.27 +1.93 +1.61 +1.36 +1.23 +1.19 +1.2 +1.18 +1.08 +0.9 +0.68 +0.48 +0.36 +0.32 +0.32 +0.32 +0.32 +0.29 +0.27 +0.27 +0.29 +0.32 +0.37 +0.41 +0.44 +0.44 +0.4 +0.3 +0.19 +0.09 +0.05 +0.09 +0.18 +0.26 +0.26 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.09 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.11 +0.18 +0.33 +0.61 +1.0 +1.45 +1.9 +2.31 +2.67 +3.01 +3.35 +3.7 +4.02 +4.23 +4.29 +4.17 +3.92 +3.59 +3.25 +2.93 +2.6 +2.27 +1.93 +1.61 +1.36 +1.23 +1.19 +1.2 +1.18 +1.08 +0.9 +0.68 +0.48 +0.36 +0.32 +0.32 +0.3 +0.31 +0.32 +0.32 +0.31 +0.32 +0.35 +0.4 +0.47 +0.56 +0.64 +0.7 +0.68 +0.59 +0.46 +0.33 +0.29 +0.34 +0.46 +0.56 +0.58 +0.47 +0.28 +0.1 +0.02 +0.06 +0.17 +0.24 +0.22 +0.08 +0.0 +0.0 +0.0 +0.0 +0.08 +0.28 +0.41 +0.5 +0.59 +0.77 +1.09 +1.55 +2.09 +2.61 +3.07 +3.46 +3.81 +4.18 +4.55 +4.88 +5.08 +5.08 +4.85 +4.45 +3.96 +3.47 +3.04 +2.67 +2.32 +1.97 +1.63 +1.35 +1.17 +1.1 +1.1 +1.1 +1.04 +0.89 +0.69 +0.51 +0.38 +0.31 +0.3 +0.31 +0.32 +0.32 +0.31 +0.32 +0.35 +0.4 +0.47 +0.56 +0.64 +0.7 +0.68 +0.59 +0.46 +0.33 +0.29 +0.34 +0.46 +0.56 +0.58 +0.47 +0.28 +0.1 +0.02 +0.06 +0.17 +0.24 +0.22 +0.08 +0.0 +0.0 +0.0 +0.0 +0.08 +0.28 +0.41 +0.5 +0.59 +0.77 +1.09 +1.55 +2.09 +2.61 +3.07 +3.46 +3.81 +4.18 +4.55 +4.88 +5.08 +5.08 +4.85 +4.45 +3.96 +3.47 +3.04 +2.67 +2.32 +1.97 +1.63 +1.35 +1.17 +1.1 +1.1 +1.1 +1.04 +0.89 +0.69 +0.51 +0.38 +0.31 +0.3 +0.34 +0.35 +0.35 +0.35 +0.34 +0.33 +0.34 +0.37 +0.45 +0.59 +0.75 +0.87 +0.91 +0.85 +0.7 +0.57 +0.53 +0.63 +0.82 +1.0 +1.06 +0.96 +0.76 +0.56 +0.46 +0.49 +0.58 +0.64 +0.56 +0.37 +0.14 +0.0 +0.01 +0.19 +0.47 +0.73 +0.9 +0.98 +1.06 +1.23 +1.55 +2.03 +2.59 +3.13 +3.57 +3.93 +4.24 +4.57 +4.93 +5.26 +5.45 +5.4 +5.07 +4.53 +3.89 +3.31 +2.84 +2.48 +2.18 +1.88 +1.55 +1.25 +1.03 +0.93 +0.93 +0.96 +0.95 +0.87 +0.73 +0.57 +0.44 +0.37 +0.34 +0.35 +0.35 +0.35 +0.34 +0.33 +0.34 +0.37 +0.45 +0.59 +0.75 +0.87 +0.91 +0.85 +0.7 +0.57 +0.53 +0.63 +0.82 +1.0 +1.06 +0.96 +0.76 +0.56 +0.46 +0.49 +0.58 +0.64 +0.56 +0.37 +0.14 +0.0 +0.01 +0.19 +0.47 +0.73 +0.9 +0.98 +1.06 +1.23 +1.55 +2.03 +2.59 +3.13 +3.57 +3.93 +4.24 +4.57 +4.93 +5.26 +5.45 +5.4 +5.07 +4.53 +3.89 +3.31 +2.84 +2.48 +2.18 +1.88 +1.55 +1.25 +1.03 +0.93 +0.93 +0.96 +0.95 +0.87 +0.73 +0.57 +0.44 +0.37 +0.34 +0.36 +0.36 +0.37 +0.36 +0.33 +0.28 +0.23 +0.22 +0.28 +0.44 +0.66 +0.86 +0.96 +0.92 +0.77 +0.63 +0.61 +0.77 +1.06 +1.35 +1.49 +1.45 +1.25 +1.03 +0.91 +0.93 +1.02 +1.07 +0.99 +0.76 +0.5 +0.33 +0.37 +0.59 +0.93 +1.22 +1.4 +1.44 +1.45 +1.55 +1.81 +2.24 +2.75 +3.23 +3.6 +3.87 +4.09 +4.35 +4.68 +5.0 +5.19 +5.12 +4.73 +4.09 +3.37 +2.74 +2.29 +2.02 +1.83 +1.62 +1.35 +1.04 +0.79 +0.65 +0.64 +0.7 +0.77 +0.78 +0.71 +0.59 +0.47 +0.39 +0.36 +0.36 +0.37 +0.36 +0.33 +0.28 +0.23 +0.22 +0.28 +0.44 +0.66 +0.86 +0.96 +0.92 +0.77 +0.63 +0.61 +0.77 +1.06 +1.35 +1.49 +1.45 +1.25 +1.03 +0.91 +0.93 +1.02 +1.07 +0.99 +0.76 +0.5 +0.33 +0.37 +0.59 +0.93 +1.22 +1.4 +1.44 +1.45 +1.55 +1.81 +2.24 +2.75 +3.23 +3.6 +3.87 +4.09 +4.35 +4.68 +5.0 +5.19 +5.12 +4.73 +4.09 +3.37 +2.74 +2.29 +2.02 +1.83 +1.62 +1.35 +1.04 +0.79 +0.65 +0.64 +0.7 +0.77 +0.78 +0.71 +0.59 +0.47 +0.39 +0.36 +0.29 +0.29 +0.31 +0.31 +0.26 +0.16 +0.03 +0.0 +0.0 +0.13 +0.39 +0.65 +0.79 +0.76 +0.6 +0.44 +0.43 +0.65 +1.04 +1.45 +1.7 +1.72 +1.54 +1.3 +1.16 +1.17 +1.29 +1.37 +1.31 +1.09 +0.82 +0.65 +0.68 +0.94 +1.3 +1.62 +1.78 +1.76 +1.67 +1.65 +1.79 +2.11 +2.52 +2.91 +3.17 +3.31 +3.41 +3.57 +3.84 +4.16 +4.37 +4.32 +3.92 +3.26 +2.51 +1.88 +1.49 +1.34 +1.29 +1.21 +1.02 +0.73 +0.44 +0.26 +0.23 +0.34 +0.48 +0.57 +0.58 +0.51 +0.41 +0.33 +0.29 +0.29 +0.31 +0.31 +0.26 +0.16 +0.03 +0.0 +0.0 +0.13 +0.39 +0.65 +0.79 +0.76 +0.6 +0.44 +0.43 +0.65 +1.04 +1.45 +1.7 +1.72 +1.54 +1.3 +1.16 +1.17 +1.29 +1.37 +1.31 +1.09 +0.82 +0.65 +0.68 +0.94 +1.3 +1.62 +1.78 +1.76 +1.67 +1.65 +1.79 +2.11 +2.52 +2.91 +3.17 +3.31 +3.41 +3.57 +3.84 +4.16 +4.37 +4.32 +3.92 +3.26 +2.51 +1.88 +1.49 +1.34 +1.29 +1.21 +1.02 +0.73 +0.44 +0.26 +0.23 +0.34 +0.48 +0.57 +0.58 +0.51 +0.41 +0.33 +0.29 +0.14 +0.16 +0.19 +0.21 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.32 +0.49 +0.47 +0.28 +0.09 +0.07 +0.31 +0.78 +1.3 +1.66 +1.75 +1.59 +1.34 +1.17 +1.17 +1.3 +1.43 +1.43 +1.26 +1.01 +0.84 +0.87 +1.13 +1.51 +1.84 +1.99 +1.92 +1.72 +1.56 +1.55 +1.74 +2.05 +2.33 +2.48 +2.5 +2.48 +2.54 +2.74 +3.05 +3.29 +3.29 +2.93 +2.29 +1.55 +0.95 +0.63 +0.59 +0.69 +0.74 +0.63 +0.36 +0.04 +0.0 +0.0 +0.0 +0.12 +0.3 +0.38 +0.35 +0.27 +0.18 +0.14 +0.16 +0.19 +0.21 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.32 +0.49 +0.47 +0.28 +0.09 +0.07 +0.31 +0.78 +1.3 +1.66 +1.75 +1.59 +1.34 +1.17 +1.17 +1.3 +1.43 +1.43 +1.26 +1.01 +0.84 +0.87 +1.13 +1.51 +1.84 +1.99 +1.92 +1.72 +1.56 +1.55 +1.74 +2.05 +2.33 +2.48 +2.5 +2.48 +2.54 +2.74 +3.05 +3.29 +3.29 +2.93 +2.29 +1.55 +0.95 +0.63 +0.59 +0.69 +0.74 +0.63 +0.36 +0.04 +0.0 +0.0 +0.0 +0.12 +0.3 +0.38 +0.35 +0.27 +0.18 +0.14 +0.0 +0.03 +0.08 +0.11 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.23 +0.21 +0.0 +0.0 +0.0 +0.0 +0.49 +1.1 +1.55 +1.71 +1.57 +1.3 +1.1 +1.07 +1.2 +1.37 +1.43 +1.31 +1.1 +0.94 +0.96 +1.22 +1.59 +1.93 +2.06 +1.95 +1.68 +1.4 +1.27 +1.34 +1.56 +1.77 +1.86 +1.8 +1.68 +1.64 +1.78 +2.06 +2.33 +2.38 +2.09 +1.5 +0.79 +0.22 +0.0 +0.0 +0.19 +0.34 +0.29 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.17 +0.19 +0.12 +0.04 +0.0 +0.03 +0.08 +0.11 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.23 +0.21 +0.0 +0.0 +0.0 +0.0 +0.49 +1.1 +1.55 +1.71 +1.57 +1.3 +1.1 +1.07 +1.2 +1.37 +1.43 +1.31 +1.1 +0.94 +0.96 +1.22 +1.59 +1.93 +2.06 +1.95 +1.68 +1.4 +1.27 +1.34 +1.56 +1.77 +1.86 +1.8 +1.68 +1.64 +1.78 +2.06 +2.33 +2.38 +2.09 +1.5 +0.79 +0.22 +0.0 +0.0 +0.19 +0.34 +0.29 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.17 +0.19 +0.12 +0.04 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.44 +1.1 +1.63 +1.85 +1.75 +1.48 +1.23 +1.15 +1.26 +1.43 +1.51 +1.43 +1.24 +1.07 +1.07 +1.28 +1.63 +1.95 +2.08 +1.95 +1.63 +1.28 +1.07 +1.07 +1.24 +1.43 +1.51 +1.43 +1.26 +1.15 +1.23 +1.48 +1.75 +1.85 +1.63 +1.1 +0.44 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.44 +1.1 +1.63 +1.85 +1.75 +1.48 +1.23 +1.15 +1.26 +1.43 +1.51 +1.43 +1.24 +1.07 +1.07 +1.28 +1.63 +1.95 +2.08 +1.95 +1.63 +1.28 +1.07 +1.07 +1.24 +1.43 +1.51 +1.43 +1.26 +1.15 +1.23 +1.48 +1.75 +1.85 +1.63 +1.1 +0.44 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.37 +0.36 +0.39 +0.49 +0.65 +0.84 +1.06 +1.28 +1.52 +1.78 +2.02 +2.21 +2.29 +2.24 +2.09 +1.86 +1.61 +1.37 +1.15 +0.93 +0.72 +0.55 +0.43 +0.38 +0.37 +0.34 +0.23 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.25 +0.36 +0.4 +0.41 +0.45 +0.55 +0.72 +0.92 +1.14 +1.36 +1.6 +1.84 +2.05 +2.2 +2.25 +2.17 +1.99 +1.76 +1.51 +1.27 +1.05 +0.84 +0.65 +0.5 +0.41 +0.39 +0.4 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.27 +0.36 +0.37 +0.36 +0.39 +0.49 +0.65 +0.84 +1.06 +1.28 +1.52 +1.78 +2.02 +2.21 +2.29 +2.24 +2.09 +1.86 +1.61 +1.37 +1.15 +0.93 +0.72 +0.55 +0.43 +0.38 +0.37 +0.34 +0.23 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.25 +0.36 +0.4 +0.41 +0.45 +0.55 +0.72 +0.92 +1.14 +1.36 +1.6 +1.84 +2.05 +2.2 +2.25 +2.17 +1.99 +1.76 +1.51 +1.27 +1.05 +0.84 +0.65 +0.5 +0.41 +0.39 +0.4 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.27 +0.36 +0.37 +0.36 +0.3 +0.3 +0.36 +0.5 +0.69 +0.9 +1.15 +1.42 +1.73 +2.04 +2.29 +2.43 +2.42 +2.28 +2.05 +1.77 +1.5 +1.25 +1.02 +0.8 +0.62 +0.49 +0.43 +0.41 +0.39 +0.32 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.34 +0.46 +0.5 +0.51 +0.53 +0.61 +0.76 +0.95 +1.19 +1.44 +1.7 +1.94 +2.15 +2.26 +2.26 +2.14 +1.92 +1.66 +1.38 +1.12 +0.88 +0.67 +0.51 +0.4 +0.38 +0.42 +0.48 +0.5 +0.43 +0.28 +0.08 +0.0 +0.0 +0.0 +0.1 +0.27 +0.38 +0.4 +0.36 +0.3 +0.3 +0.36 +0.5 +0.69 +0.9 +1.15 +1.42 +1.73 +2.04 +2.29 +2.43 +2.42 +2.28 +2.05 +1.77 +1.5 +1.25 +1.02 +0.8 +0.62 +0.49 +0.43 +0.41 +0.39 +0.32 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.34 +0.46 +0.5 +0.51 +0.53 +0.61 +0.76 +0.95 +1.19 +1.44 +1.7 +1.94 +2.15 +2.26 +2.26 +2.14 +1.92 +1.66 +1.38 +1.12 +0.88 +0.67 +0.51 +0.4 +0.38 +0.42 +0.48 +0.5 +0.43 +0.28 +0.08 +0.0 +0.0 +0.0 +0.1 +0.27 +0.38 +0.4 +0.36 +0.38 +0.28 +0.23 +0.26 +0.36 +0.52 +0.73 +0.98 +1.29 +1.65 +2.03 +2.36 +2.57 +2.63 +2.52 +2.3 +2.01 +1.73 +1.46 +1.23 +1.02 +0.84 +0.71 +0.64 +0.63 +0.62 +0.58 +0.47 +0.31 +0.15 +0.06 +0.07 +0.2 +0.39 +0.56 +0.68 +0.71 +0.7 +0.69 +0.73 +0.84 +1.02 +1.26 +1.53 +1.81 +2.06 +2.23 +2.3 +2.25 +2.07 +1.82 +1.53 +1.23 +0.96 +0.71 +0.51 +0.38 +0.34 +0.39 +0.5 +0.61 +0.67 +0.63 +0.5 +0.35 +0.23 +0.2 +0.28 +0.4 +0.51 +0.54 +0.49 +0.38 +0.28 +0.23 +0.26 +0.36 +0.52 +0.73 +0.98 +1.29 +1.65 +2.03 +2.36 +2.57 +2.63 +2.52 +2.3 +2.01 +1.73 +1.46 +1.23 +1.02 +0.84 +0.71 +0.64 +0.63 +0.62 +0.58 +0.47 +0.31 +0.15 +0.06 +0.07 +0.2 +0.39 +0.56 +0.68 +0.71 +0.7 +0.69 +0.73 +0.84 +1.02 +1.26 +1.53 +1.81 +2.06 +2.23 +2.3 +2.25 +2.07 +1.82 +1.53 +1.23 +0.96 +0.71 +0.51 +0.38 +0.34 +0.39 +0.5 +0.61 +0.67 +0.63 +0.5 +0.35 +0.23 +0.2 +0.28 +0.4 +0.51 +0.54 +0.49 +0.38 +0.45 +0.32 +0.25 +0.25 +0.31 +0.43 +0.6 +0.83 +1.14 +1.53 +1.95 +2.35 +2.65 +2.77 +2.73 +2.54 +2.28 +2.02 +1.78 +1.57 +1.4 +1.25 +1.13 +1.06 +1.05 +1.06 +1.05 +0.99 +0.86 +0.71 +0.58 +0.55 +0.62 +0.76 +0.91 +1.01 +1.03 +0.99 +0.93 +0.9 +0.95 +1.1 +1.33 +1.61 +1.89 +2.13 +2.26 +2.28 +2.17 +1.96 +1.69 +1.41 +1.12 +0.86 +0.63 +0.45 +0.36 +0.38 +0.49 +0.64 +0.78 +0.84 +0.8 +0.69 +0.57 +0.49 +0.5 +0.58 +0.68 +0.73 +0.7 +0.59 +0.45 +0.32 +0.25 +0.25 +0.31 +0.43 +0.6 +0.83 +1.14 +1.53 +1.95 +2.35 +2.65 +2.77 +2.73 +2.54 +2.28 +2.02 +1.78 +1.57 +1.4 +1.25 +1.13 +1.06 +1.05 +1.06 +1.05 +0.99 +0.86 +0.71 +0.58 +0.55 +0.62 +0.76 +0.91 +1.01 +1.03 +0.99 +0.93 +0.9 +0.95 +1.1 +1.33 +1.61 +1.89 +2.13 +2.26 +2.28 +2.17 +1.96 +1.69 +1.41 +1.12 +0.86 +0.63 +0.45 +0.36 +0.38 +0.49 +0.64 +0.78 +0.84 +0.8 +0.69 +0.57 +0.49 +0.5 +0.58 +0.68 +0.73 +0.7 +0.59 +0.45 +0.55 +0.42 +0.35 +0.33 +0.35 +0.42 +0.53 +0.71 +0.98 +1.35 +1.79 +2.22 +2.57 +2.78 +2.81 +2.7 +2.51 +2.3 +2.13 +1.98 +1.85 +1.74 +1.64 +1.58 +1.57 +1.6 +1.62 +1.59 +1.48 +1.32 +1.16 +1.07 +1.09 +1.18 +1.3 +1.38 +1.38 +1.29 +1.17 +1.07 +1.07 +1.17 +1.38 +1.66 +1.93 +2.13 +2.22 +2.17 +2.02 +1.8 +1.55 +1.3 +1.07 +0.84 +0.65 +0.51 +0.46 +0.51 +0.65 +0.81 +0.93 +0.96 +0.89 +0.77 +0.68 +0.65 +0.7 +0.79 +0.87 +0.88 +0.82 +0.69 +0.55 +0.42 +0.35 +0.33 +0.35 +0.42 +0.53 +0.71 +0.98 +1.35 +1.79 +2.22 +2.57 +2.78 +2.81 +2.7 +2.51 +2.3 +2.13 +1.98 +1.85 +1.74 +1.64 +1.58 +1.57 +1.6 +1.62 +1.59 +1.48 +1.32 +1.16 +1.07 +1.09 +1.18 +1.3 +1.38 +1.38 +1.29 +1.17 +1.07 +1.07 +1.17 +1.38 +1.66 +1.93 +2.13 +2.22 +2.17 +2.02 +1.8 +1.55 +1.3 +1.07 +0.84 +0.65 +0.51 +0.46 +0.51 +0.65 +0.81 +0.93 +0.96 +0.89 +0.77 +0.68 +0.65 +0.7 +0.79 +0.87 +0.88 +0.82 +0.69 +0.55 +0.61 +0.52 +0.46 +0.43 +0.42 +0.43 +0.47 +0.59 +0.8 +1.12 +1.52 +1.95 +2.33 +2.6 +2.72 +2.7 +2.61 +2.5 +2.4 +2.31 +2.23 +2.14 +2.05 +1.99 +1.98 +2.03 +2.07 +2.06 +1.97 +1.8 +1.61 +1.48 +1.45 +1.5 +1.59 +1.65 +1.61 +1.49 +1.32 +1.18 +1.13 +1.21 +1.41 +1.67 +1.92 +2.09 +2.12 +2.03 +1.85 +1.63 +1.41 +1.22 +1.04 +0.87 +0.71 +0.61 +0.59 +0.66 +0.8 +0.94 +1.01 +0.97 +0.86 +0.74 +0.67 +0.69 +0.78 +0.89 +0.95 +0.94 +0.86 +0.74 +0.61 +0.52 +0.46 +0.43 +0.42 +0.43 +0.47 +0.59 +0.8 +1.12 +1.52 +1.95 +2.33 +2.6 +2.72 +2.7 +2.61 +2.5 +2.4 +2.31 +2.23 +2.14 +2.05 +1.99 +1.98 +2.03 +2.07 +2.06 +1.97 +1.8 +1.61 +1.48 +1.45 +1.5 +1.59 +1.65 +1.61 +1.49 +1.32 +1.18 +1.13 +1.21 +1.41 +1.67 +1.92 +2.09 +2.12 +2.03 +1.85 +1.63 +1.41 +1.22 +1.04 +0.87 +0.71 +0.61 +0.59 +0.66 +0.8 +0.94 +1.01 +0.97 +0.86 +0.74 +0.67 +0.69 +0.78 +0.89 +0.95 +0.94 +0.86 +0.74 +0.61 +0.59 +0.53 +0.49 +0.45 +0.41 +0.38 +0.37 +0.43 +0.58 +0.84 +1.18 +1.57 +1.95 +2.25 +2.45 +2.54 +2.55 +2.54 +2.5 +2.46 +2.39 +2.3 +2.2 +2.14 +2.13 +2.19 +2.25 +2.27 +2.18 +2.02 +1.82 +1.67 +1.6 +1.63 +1.69 +1.71 +1.65 +1.5 +1.31 +1.16 +1.11 +1.2 +1.4 +1.66 +1.9 +2.03 +2.02 +1.9 +1.69 +1.48 +1.29 +1.14 +1.0 +0.87 +0.75 +0.67 +0.67 +0.75 +0.87 +0.96 +0.97 +0.88 +0.73 +0.61 +0.58 +0.65 +0.78 +0.91 +0.96 +0.92 +0.82 +0.69 +0.59 +0.53 +0.49 +0.45 +0.41 +0.38 +0.37 +0.43 +0.58 +0.84 +1.18 +1.57 +1.95 +2.25 +2.45 +2.54 +2.55 +2.54 +2.5 +2.46 +2.39 +2.3 +2.2 +2.14 +2.13 +2.19 +2.25 +2.27 +2.18 +2.02 +1.82 +1.67 +1.6 +1.63 +1.69 +1.71 +1.65 +1.5 +1.31 +1.16 +1.11 +1.2 +1.4 +1.66 +1.9 +2.03 +2.02 +1.9 +1.69 +1.48 +1.29 +1.14 +1.0 +0.87 +0.75 +0.67 +0.67 +0.75 +0.87 +0.96 +0.97 +0.88 +0.73 +0.61 +0.58 +0.65 +0.78 +0.91 +0.96 +0.92 +0.82 +0.69 +0.59 +0.47 +0.42 +0.39 +0.35 +0.29 +0.23 +0.2 +0.22 +0.33 +0.53 +0.8 +1.13 +1.48 +1.79 +2.04 +2.23 +2.35 +2.42 +2.44 +2.42 +2.35 +2.24 +2.13 +2.06 +2.06 +2.13 +2.22 +2.25 +2.18 +2.02 +1.83 +1.67 +1.59 +1.58 +1.6 +1.59 +1.5 +1.34 +1.16 +1.04 +1.03 +1.15 +1.38 +1.64 +1.86 +1.97 +1.94 +1.8 +1.59 +1.38 +1.2 +1.06 +0.94 +0.82 +0.71 +0.64 +0.65 +0.72 +0.82 +0.87 +0.82 +0.69 +0.53 +0.44 +0.46 +0.59 +0.76 +0.89 +0.91 +0.83 +0.69 +0.56 +0.47 +0.42 +0.39 +0.35 +0.29 +0.23 +0.2 +0.22 +0.33 +0.53 +0.8 +1.13 +1.48 +1.79 +2.04 +2.23 +2.35 +2.42 +2.44 +2.42 +2.35 +2.24 +2.13 +2.06 +2.06 +2.13 +2.22 +2.25 +2.18 +2.02 +1.83 +1.67 +1.59 +1.58 +1.6 +1.59 +1.5 +1.34 +1.16 +1.04 +1.03 +1.15 +1.38 +1.64 +1.86 +1.97 +1.94 +1.8 +1.59 +1.38 +1.2 +1.06 +0.94 +0.82 +0.71 +0.64 +0.65 +0.72 +0.82 +0.87 +0.82 +0.69 +0.53 +0.44 +0.46 +0.59 +0.76 +0.89 +0.91 +0.83 +0.69 +0.56 +0.47 +0.28 +0.23 +0.2 +0.14 +0.07 +0.0 +0.0 +0.0 +0.07 +0.23 +0.44 +0.7 +0.99 +1.29 +1.59 +1.85 +2.06 +2.22 +2.31 +2.31 +2.24 +2.13 +2.03 +1.98 +2.01 +2.11 +2.21 +2.25 +2.19 +2.03 +1.84 +1.67 +1.56 +1.51 +1.47 +1.4 +1.27 +1.12 +0.97 +0.9 +0.94 +1.1 +1.34 +1.6 +1.8 +1.9 +1.86 +1.71 +1.51 +1.31 +1.13 +0.99 +0.85 +0.72 +0.6 +0.54 +0.55 +0.61 +0.69 +0.71 +0.63 +0.48 +0.33 +0.28 +0.37 +0.55 +0.74 +0.85 +0.83 +0.7 +0.52 +0.37 +0.28 +0.23 +0.2 +0.14 +0.07 +0.0 +0.0 +0.0 +0.07 +0.23 +0.44 +0.7 +0.99 +1.29 +1.59 +1.85 +2.06 +2.22 +2.31 +2.31 +2.24 +2.13 +2.03 +1.98 +2.01 +2.11 +2.21 +2.25 +2.19 +2.03 +1.84 +1.67 +1.56 +1.51 +1.47 +1.4 +1.27 +1.12 +0.97 +0.9 +0.94 +1.1 +1.34 +1.6 +1.8 +1.9 +1.86 +1.71 +1.51 +1.31 +1.13 +0.99 +0.85 +0.72 +0.6 +0.54 +0.55 +0.61 +0.69 +0.71 +0.63 +0.48 +0.33 +0.28 +0.37 +0.55 +0.74 +0.85 +0.83 +0.7 +0.52 +0.37 +0.28 +0.08 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.34 +0.57 +0.84 +1.16 +1.49 +1.8 +2.05 +2.21 +2.28 +2.26 +2.2 +2.16 +2.17 +2.26 +2.39 +2.49 +2.52 +2.44 +2.26 +2.05 +1.85 +1.69 +1.56 +1.43 +1.29 +1.12 +0.96 +0.85 +0.83 +0.9 +1.07 +1.29 +1.51 +1.68 +1.75 +1.71 +1.58 +1.41 +1.22 +1.06 +0.91 +0.76 +0.61 +0.49 +0.43 +0.43 +0.49 +0.55 +0.55 +0.45 +0.3 +0.18 +0.17 +0.3 +0.51 +0.71 +0.79 +0.72 +0.54 +0.33 +0.17 +0.08 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.34 +0.57 +0.84 +1.16 +1.49 +1.8 +2.05 +2.21 +2.28 +2.26 +2.2 +2.16 +2.17 +2.26 +2.39 +2.49 +2.52 +2.44 +2.26 +2.05 +1.85 +1.69 +1.56 +1.43 +1.29 +1.12 +0.96 +0.85 +0.83 +0.9 +1.07 +1.29 +1.51 +1.68 +1.75 +1.71 +1.58 +1.41 +1.22 +1.06 +0.91 +0.76 +0.61 +0.49 +0.43 +0.43 +0.49 +0.55 +0.55 +0.45 +0.3 +0.18 +0.17 +0.3 +0.51 +0.71 +0.79 +0.72 +0.54 +0.33 +0.17 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.51 +0.83 +1.22 +1.62 +1.98 +2.25 +2.42 +2.5 +2.56 +2.63 +2.75 +2.91 +3.06 +3.15 +3.13 +3.0 +2.78 +2.51 +2.25 +2.01 +1.78 +1.56 +1.33 +1.13 +0.97 +0.88 +0.87 +0.94 +1.06 +1.21 +1.35 +1.44 +1.48 +1.45 +1.35 +1.22 +1.08 +0.95 +0.81 +0.67 +0.53 +0.42 +0.36 +0.37 +0.43 +0.47 +0.44 +0.34 +0.19 +0.09 +0.1 +0.25 +0.46 +0.64 +0.68 +0.57 +0.37 +0.15 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.51 +0.83 +1.22 +1.62 +1.98 +2.25 +2.42 +2.5 +2.56 +2.63 +2.75 +2.91 +3.06 +3.15 +3.13 +3.0 +2.78 +2.51 +2.25 +2.01 +1.78 +1.56 +1.33 +1.13 +0.97 +0.88 +0.87 +0.94 +1.06 +1.21 +1.35 +1.44 +1.48 +1.45 +1.35 +1.22 +1.08 +0.95 +0.81 +0.67 +0.53 +0.42 +0.36 +0.37 +0.43 +0.47 +0.44 +0.34 +0.19 +0.09 +0.1 +0.25 +0.46 +0.64 +0.68 +0.57 +0.37 +0.15 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.31 +0.64 +1.07 +1.55 +2.01 +2.39 +2.68 +2.9 +3.1 +3.31 +3.55 +3.77 +3.93 +3.98 +3.89 +3.67 +3.38 +3.05 +2.72 +2.4 +2.08 +1.76 +1.47 +1.24 +1.09 +1.01 +1.0 +1.02 +1.06 +1.08 +1.11 +1.12 +1.12 +1.09 +1.03 +0.95 +0.86 +0.77 +0.68 +0.58 +0.48 +0.39 +0.36 +0.37 +0.42 +0.45 +0.41 +0.29 +0.15 +0.05 +0.08 +0.21 +0.4 +0.53 +0.53 +0.4 +0.19 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.31 +0.64 +1.07 +1.55 +2.01 +2.39 +2.68 +2.9 +3.1 +3.31 +3.55 +3.77 +3.93 +3.98 +3.89 +3.67 +3.38 +3.05 +2.72 +2.4 +2.08 +1.76 +1.47 +1.24 +1.09 +1.01 +1.0 +1.02 +1.06 +1.08 +1.11 +1.12 +1.12 +1.09 +1.03 +0.95 +0.86 +0.77 +0.68 +0.58 +0.48 +0.39 +0.36 +0.37 +0.42 +0.45 +0.41 +0.29 +0.15 +0.05 +0.08 +0.21 +0.4 +0.53 +0.53 +0.4 +0.19 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.27 +0.59 +1.03 +1.55 +2.06 +2.52 +2.91 +3.24 +3.56 +3.88 +4.2 +4.45 +4.59 +4.57 +4.39 +4.1 +3.74 +3.37 +2.99 +2.62 +2.24 +1.88 +1.57 +1.34 +1.22 +1.16 +1.14 +1.1 +1.02 +0.92 +0.83 +0.76 +0.72 +0.7 +0.68 +0.64 +0.6 +0.56 +0.52 +0.47 +0.43 +0.39 +0.39 +0.42 +0.45 +0.46 +0.4 +0.27 +0.14 +0.05 +0.08 +0.19 +0.33 +0.41 +0.37 +0.22 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.27 +0.59 +1.03 +1.55 +2.06 +2.52 +2.91 +3.24 +3.56 +3.88 +4.2 +4.45 +4.59 +4.57 +4.39 +4.1 +3.74 +3.37 +2.99 +2.62 +2.24 +1.88 +1.57 +1.34 +1.22 +1.16 +1.14 +1.1 +1.02 +0.92 +0.83 +0.76 +0.72 +0.7 +0.68 +0.64 +0.6 +0.56 +0.52 +0.47 +0.43 +0.39 +0.39 +0.42 +0.45 +0.46 +0.4 +0.27 +0.14 +0.05 +0.08 +0.19 +0.33 +0.41 +0.37 +0.22 +0.03 +0.0 +0.0 +0.0 +0.0 +0.04 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.16 +0.33 +0.63 +1.05 +1.55 +2.05 +2.5 +2.9 +3.27 +3.63 +4.0 +4.33 +4.57 +4.66 +4.56 +4.31 +3.97 +3.6 +3.23 +2.86 +2.49 +2.12 +1.77 +1.49 +1.31 +1.24 +1.22 +1.19 +1.1 +0.94 +0.75 +0.58 +0.46 +0.41 +0.4 +0.4 +0.39 +0.38 +0.36 +0.35 +0.36 +0.37 +0.39 +0.42 +0.45 +0.47 +0.44 +0.36 +0.24 +0.12 +0.07 +0.1 +0.19 +0.29 +0.32 +0.23 +0.07 +0.0 +0.0 +0.0 +0.0 +0.04 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.16 +0.33 +0.63 +1.05 +1.55 +2.05 +2.5 +2.9 +3.27 +3.63 +4.0 +4.33 +4.57 +4.66 +4.56 +4.31 +3.97 +3.6 +3.23 +2.86 +2.49 +2.12 +1.77 +1.49 +1.31 +1.24 +1.22 +1.19 +1.1 +0.94 +0.75 +0.58 +0.46 +0.41 +0.4 +0.4 +0.39 +0.38 +0.36 +0.35 +0.36 +0.37 +0.39 +0.42 +0.45 +0.47 +0.44 +0.36 +0.24 +0.12 +0.07 +0.1 +0.19 +0.29 +0.32 +0.23 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.12 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.15 +0.21 +0.28 +0.43 +0.69 +1.06 +1.48 +1.89 +2.25 +2.57 +2.87 +3.19 +3.52 +3.81 +3.98 +4.0 +3.84 +3.56 +3.23 +2.9 +2.6 +2.32 +2.03 +1.72 +1.43 +1.21 +1.11 +1.1 +1.14 +1.13 +1.03 +0.84 +0.61 +0.41 +0.3 +0.26 +0.27 +0.29 +0.28 +0.25 +0.23 +0.22 +0.25 +0.31 +0.38 +0.44 +0.47 +0.46 +0.4 +0.29 +0.17 +0.09 +0.07 +0.12 +0.22 +0.28 +0.26 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.12 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.15 +0.21 +0.28 +0.43 +0.69 +1.06 +1.48 +1.89 +2.25 +2.57 +2.87 +3.19 +3.52 +3.81 +3.98 +4.0 +3.84 +3.56 +3.23 +2.9 +2.6 +2.32 +2.03 +1.72 +1.43 +1.21 +1.11 +1.1 +1.14 +1.13 +1.03 +0.84 +0.61 +0.41 +0.3 +0.26 +0.27 +0.29 +0.28 +0.25 +0.23 +0.22 +0.25 +0.31 +0.38 +0.44 +0.47 +0.46 +0.4 +0.29 +0.17 +0.09 +0.07 +0.12 +0.22 +0.28 +0.26 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.14 +0.09 +0.0 +0.0 +0.0 +0.0 +0.12 +0.23 +0.29 +0.33 +0.38 +0.5 +0.71 +1.0 +1.3 +1.57 +1.78 +1.95 +2.12 +2.33 +2.57 +2.77 +2.88 +2.83 +2.64 +2.37 +2.1 +1.88 +1.72 +1.57 +1.41 +1.2 +0.99 +0.85 +0.81 +0.86 +0.94 +0.98 +0.9 +0.73 +0.53 +0.36 +0.27 +0.28 +0.32 +0.35 +0.33 +0.27 +0.2 +0.17 +0.2 +0.28 +0.39 +0.47 +0.49 +0.45 +0.34 +0.2 +0.08 +0.02 +0.05 +0.14 +0.25 +0.29 +0.24 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.14 +0.09 +0.0 +0.0 +0.0 +0.0 +0.12 +0.23 +0.29 +0.33 +0.38 +0.5 +0.71 +1.0 +1.3 +1.57 +1.78 +1.95 +2.12 +2.33 +2.57 +2.77 +2.88 +2.83 +2.64 +2.37 +2.1 +1.88 +1.72 +1.57 +1.41 +1.2 +0.99 +0.85 +0.81 +0.86 +0.94 +0.98 +0.9 +0.73 +0.53 +0.36 +0.27 +0.28 +0.32 +0.35 +0.33 +0.27 +0.2 +0.17 +0.2 +0.28 +0.39 +0.47 +0.49 +0.45 +0.34 +0.2 +0.08 +0.02 +0.05 +0.14 +0.25 +0.29 +0.24 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.12 +0.16 +0.13 +0.08 +0.05 +0.09 +0.18 +0.29 +0.37 +0.4 +0.4 +0.42 +0.5 +0.66 +0.85 +1.03 +1.15 +1.19 +1.2 +1.23 +1.33 +1.47 +1.61 +1.66 +1.57 +1.38 +1.15 +0.97 +0.89 +0.89 +0.91 +0.88 +0.78 +0.65 +0.54 +0.53 +0.6 +0.72 +0.8 +0.78 +0.67 +0.51 +0.39 +0.35 +0.39 +0.46 +0.5 +0.47 +0.38 +0.26 +0.19 +0.2 +0.29 +0.42 +0.52 +0.54 +0.46 +0.3 +0.11 +0.0 +0.0 +0.01 +0.14 +0.26 +0.29 +0.22 +0.06 +0.0 +0.0 +0.0 +0.0 +0.01 +0.12 +0.16 +0.13 +0.08 +0.05 +0.09 +0.18 +0.29 +0.37 +0.4 +0.4 +0.42 +0.5 +0.66 +0.85 +1.03 +1.15 +1.19 +1.2 +1.23 +1.33 +1.47 +1.61 +1.66 +1.57 +1.38 +1.15 +0.97 +0.89 +0.89 +0.91 +0.88 +0.78 +0.65 +0.54 +0.53 +0.6 +0.72 +0.8 +0.78 +0.67 +0.51 +0.39 +0.35 +0.39 +0.46 +0.5 +0.47 +0.38 +0.26 +0.19 +0.2 +0.29 +0.42 +0.52 +0.54 +0.46 +0.3 +0.11 +0.0 +0.0 +0.01 +0.14 +0.26 +0.29 +0.22 +0.06 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.17 +0.21 +0.19 +0.17 +0.18 +0.25 +0.35 +0.44 +0.48 +0.45 +0.41 +0.39 +0.43 +0.53 +0.65 +0.72 +0.71 +0.63 +0.52 +0.46 +0.49 +0.58 +0.68 +0.71 +0.62 +0.45 +0.27 +0.18 +0.21 +0.35 +0.51 +0.61 +0.59 +0.49 +0.39 +0.35 +0.41 +0.54 +0.65 +0.7 +0.65 +0.55 +0.46 +0.45 +0.51 +0.6 +0.65 +0.63 +0.51 +0.37 +0.26 +0.24 +0.33 +0.47 +0.59 +0.62 +0.51 +0.3 +0.06 +0.0 +0.0 +0.0 +0.1 +0.23 +0.26 +0.17 +0.01 +0.0 +0.0 +0.0 +0.0 +0.07 +0.17 +0.21 +0.19 +0.17 +0.18 +0.25 +0.35 +0.44 +0.48 +0.45 +0.41 +0.39 +0.43 +0.53 +0.65 +0.72 +0.71 +0.63 +0.52 +0.46 +0.49 +0.58 +0.68 +0.71 +0.62 +0.45 +0.27 +0.18 +0.21 +0.35 +0.51 +0.61 +0.59 +0.49 +0.39 +0.35 +0.41 +0.54 +0.65 +0.7 +0.65 +0.55 +0.46 +0.45 +0.51 +0.6 +0.65 +0.63 +0.51 +0.37 +0.26 +0.24 +0.33 +0.47 +0.59 +0.62 +0.51 +0.3 +0.06 +0.0 +0.0 +0.0 +0.1 +0.23 +0.26 +0.17 +0.01 +0.0 +0.0 +0.0 +0.0 +0.07 +0.19 +0.28 +0.29 +0.27 +0.25 +0.29 +0.37 +0.48 +0.54 +0.54 +0.47 +0.38 +0.33 +0.34 +0.4 +0.46 +0.46 +0.37 +0.22 +0.07 +0.0 +0.0 +0.1 +0.21 +0.25 +0.17 +0.01 +0.0 +0.0 +0.0 +0.17 +0.42 +0.59 +0.62 +0.52 +0.38 +0.29 +0.31 +0.42 +0.57 +0.67 +0.69 +0.63 +0.55 +0.52 +0.56 +0.65 +0.72 +0.72 +0.61 +0.45 +0.31 +0.27 +0.34 +0.5 +0.64 +0.68 +0.56 +0.32 +0.05 +0.0 +0.0 +0.0 +0.05 +0.18 +0.21 +0.12 +0.0 +0.0 +0.0 +0.0 +0.05 +0.19 +0.28 +0.29 +0.27 +0.25 +0.29 +0.37 +0.48 +0.54 +0.54 +0.47 +0.38 +0.33 +0.34 +0.4 +0.46 +0.46 +0.37 +0.22 +0.07 +0.0 +0.0 +0.1 +0.21 +0.25 +0.17 +0.01 +0.0 +0.0 +0.0 +0.17 +0.42 +0.59 +0.62 +0.52 +0.38 +0.29 +0.31 +0.42 +0.57 +0.67 +0.69 +0.63 +0.55 +0.52 +0.56 +0.65 +0.72 +0.72 +0.61 +0.45 +0.31 +0.27 +0.34 +0.5 +0.64 +0.68 +0.56 +0.32 +0.05 +0.0 +0.0 +0.0 +0.05 +0.18 +0.21 +0.12 +0.0 +0.0 +0.0 +0.0 +0.05 +0.19 +0.36 +0.42 +0.4 +0.34 +0.3 +0.33 +0.42 +0.52 +0.58 +0.56 +0.47 +0.37 +0.3 +0.29 +0.32 +0.34 +0.31 +0.2 +0.04 +0.0 +0.0 +0.0 +0.04 +0.17 +0.22 +0.15 +0.0 +0.0 +0.0 +0.0 +0.21 +0.49 +0.69 +0.72 +0.61 +0.42 +0.28 +0.26 +0.38 +0.56 +0.71 +0.77 +0.73 +0.64 +0.56 +0.56 +0.63 +0.71 +0.73 +0.65 +0.49 +0.33 +0.25 +0.31 +0.46 +0.62 +0.69 +0.59 +0.36 +0.08 +0.0 +0.0 +0.0 +0.05 +0.17 +0.18 +0.1 +0.0 +0.0 +0.0 +0.05 +0.22 +0.36 +0.42 +0.4 +0.34 +0.3 +0.33 +0.42 +0.52 +0.58 +0.56 +0.47 +0.37 +0.3 +0.29 +0.32 +0.34 +0.31 +0.2 +0.04 +0.0 +0.0 +0.0 +0.04 +0.17 +0.22 +0.15 +0.0 +0.0 +0.0 +0.0 +0.21 +0.49 +0.69 +0.72 +0.61 +0.42 +0.28 +0.26 +0.38 +0.56 +0.71 +0.77 +0.73 +0.64 +0.56 +0.56 +0.63 +0.71 +0.73 +0.65 +0.49 +0.33 +0.25 +0.31 +0.46 +0.62 +0.69 +0.59 +0.36 +0.08 +0.0 +0.0 +0.0 +0.05 +0.17 +0.18 +0.1 +0.0 +0.0 +0.0 +0.05 +0.22 +0.36 +0.55 +0.56 +0.48 +0.37 +0.29 +0.3 +0.37 +0.47 +0.54 +0.53 +0.47 +0.39 +0.33 +0.32 +0.34 +0.35 +0.3 +0.2 +0.07 +0.0 +0.0 +0.08 +0.24 +0.38 +0.43 +0.36 +0.2 +0.05 +0.0 +0.1 +0.32 +0.57 +0.74 +0.76 +0.63 +0.43 +0.27 +0.24 +0.36 +0.57 +0.78 +0.88 +0.85 +0.73 +0.61 +0.55 +0.59 +0.67 +0.71 +0.66 +0.5 +0.33 +0.22 +0.24 +0.38 +0.56 +0.66 +0.61 +0.42 +0.17 +0.0 +0.0 +0.0 +0.14 +0.25 +0.26 +0.18 +0.08 +0.03 +0.09 +0.25 +0.43 +0.55 +0.56 +0.48 +0.37 +0.29 +0.3 +0.37 +0.47 +0.54 +0.53 +0.47 +0.39 +0.33 +0.32 +0.34 +0.35 +0.3 +0.2 +0.07 +0.0 +0.0 +0.08 +0.24 +0.38 +0.43 +0.36 +0.2 +0.05 +0.0 +0.1 +0.32 +0.57 +0.74 +0.76 +0.63 +0.43 +0.27 +0.24 +0.36 +0.57 +0.78 +0.88 +0.85 +0.73 +0.61 +0.55 +0.59 +0.67 +0.71 +0.66 +0.5 +0.33 +0.22 +0.24 +0.38 +0.56 +0.66 +0.61 +0.42 +0.17 +0.0 +0.0 +0.0 +0.14 +0.25 +0.26 +0.18 +0.08 +0.03 +0.09 +0.25 +0.43 +0.55 +0.71 +0.66 +0.52 +0.35 +0.22 +0.19 +0.25 +0.35 +0.43 +0.47 +0.46 +0.43 +0.42 +0.43 +0.45 +0.45 +0.41 +0.33 +0.24 +0.21 +0.25 +0.37 +0.52 +0.64 +0.66 +0.57 +0.41 +0.25 +0.17 +0.21 +0.37 +0.55 +0.68 +0.68 +0.55 +0.36 +0.21 +0.2 +0.34 +0.59 +0.83 +0.97 +0.96 +0.83 +0.67 +0.58 +0.58 +0.66 +0.72 +0.69 +0.55 +0.36 +0.22 +0.21 +0.33 +0.51 +0.65 +0.66 +0.54 +0.35 +0.2 +0.16 +0.24 +0.37 +0.47 +0.48 +0.4 +0.3 +0.27 +0.33 +0.48 +0.63 +0.71 +0.66 +0.52 +0.35 +0.22 +0.19 +0.25 +0.35 +0.43 +0.47 +0.46 +0.43 +0.42 +0.43 +0.45 +0.45 +0.41 +0.33 +0.24 +0.21 +0.25 +0.37 +0.52 +0.64 +0.66 +0.57 +0.41 +0.25 +0.17 +0.21 +0.37 +0.55 +0.68 +0.68 +0.55 +0.36 +0.21 +0.2 +0.34 +0.59 +0.83 +0.97 +0.96 +0.83 +0.67 +0.58 +0.58 +0.66 +0.72 +0.69 +0.55 +0.36 +0.22 +0.21 +0.33 +0.51 +0.65 +0.66 +0.54 +0.35 +0.2 +0.16 +0.24 +0.37 +0.47 +0.48 +0.4 +0.3 +0.27 +0.33 +0.48 +0.63 +0.71 +0.8 +0.7 +0.51 +0.28 +0.12 +0.05 +0.09 +0.18 +0.29 +0.37 +0.42 +0.46 +0.49 +0.53 +0.56 +0.56 +0.53 +0.48 +0.44 +0.45 +0.52 +0.63 +0.74 +0.79 +0.77 +0.67 +0.51 +0.37 +0.28 +0.28 +0.36 +0.46 +0.52 +0.49 +0.38 +0.23 +0.12 +0.14 +0.3 +0.56 +0.82 +0.98 +1.0 +0.89 +0.74 +0.64 +0.64 +0.72 +0.8 +0.79 +0.68 +0.5 +0.35 +0.32 +0.42 +0.6 +0.77 +0.83 +0.77 +0.65 +0.54 +0.52 +0.6 +0.72 +0.81 +0.8 +0.72 +0.61 +0.56 +0.6 +0.7 +0.79 +0.8 +0.7 +0.51 +0.28 +0.12 +0.05 +0.09 +0.18 +0.29 +0.37 +0.42 +0.46 +0.49 +0.53 +0.56 +0.56 +0.53 +0.48 +0.44 +0.45 +0.52 +0.63 +0.74 +0.79 +0.77 +0.67 +0.51 +0.37 +0.28 +0.28 +0.36 +0.46 +0.52 +0.49 +0.38 +0.23 +0.12 +0.14 +0.3 +0.56 +0.82 +0.98 +1.0 +0.89 +0.74 +0.64 +0.64 +0.72 +0.8 +0.79 +0.68 +0.5 +0.35 +0.32 +0.42 +0.6 +0.77 +0.83 +0.77 +0.65 +0.54 +0.52 +0.6 +0.72 +0.81 +0.8 +0.72 +0.61 +0.56 +0.6 +0.7 +0.79 +0.8 +0.82 +0.68 +0.45 +0.21 +0.03 +0.0 +0.0 +0.03 +0.14 +0.24 +0.34 +0.42 +0.49 +0.55 +0.58 +0.59 +0.57 +0.55 +0.55 +0.6 +0.67 +0.75 +0.79 +0.78 +0.72 +0.62 +0.51 +0.42 +0.35 +0.33 +0.34 +0.35 +0.34 +0.29 +0.19 +0.08 +0.02 +0.06 +0.21 +0.45 +0.71 +0.89 +0.94 +0.89 +0.79 +0.74 +0.77 +0.87 +0.97 +1.01 +0.94 +0.81 +0.69 +0.66 +0.75 +0.91 +1.08 +1.16 +1.15 +1.06 +0.98 +0.97 +1.03 +1.12 +1.18 +1.16 +1.05 +0.92 +0.83 +0.8 +0.84 +0.86 +0.82 +0.68 +0.45 +0.21 +0.03 +0.0 +0.0 +0.03 +0.14 +0.24 +0.34 +0.42 +0.49 +0.55 +0.58 +0.59 +0.57 +0.55 +0.55 +0.6 +0.67 +0.75 +0.79 +0.78 +0.72 +0.62 +0.51 +0.42 +0.35 +0.33 +0.34 +0.35 +0.34 +0.29 +0.19 +0.08 +0.02 +0.06 +0.21 +0.45 +0.71 +0.89 +0.94 +0.89 +0.79 +0.74 +0.77 +0.87 +0.97 +1.01 +0.94 +0.81 +0.69 +0.66 +0.75 +0.91 +1.08 +1.16 +1.15 +1.06 +0.98 +0.97 +1.03 +1.12 +1.18 +1.16 +1.05 +0.92 +0.83 +0.8 +0.84 +0.86 +0.82 +0.76 +0.61 +0.4 +0.17 +0.0 +0.0 +0.0 +0.0 +0.02 +0.11 +0.21 +0.3 +0.38 +0.44 +0.47 +0.46 +0.45 +0.46 +0.51 +0.58 +0.66 +0.69 +0.67 +0.61 +0.53 +0.46 +0.42 +0.4 +0.39 +0.36 +0.32 +0.26 +0.19 +0.11 +0.03 +0.0 +0.0 +0.0 +0.08 +0.28 +0.51 +0.7 +0.81 +0.84 +0.84 +0.86 +0.95 +1.1 +1.26 +1.36 +1.37 +1.32 +1.26 +1.25 +1.33 +1.46 +1.59 +1.65 +1.62 +1.52 +1.43 +1.39 +1.42 +1.47 +1.49 +1.44 +1.31 +1.14 +0.99 +0.9 +0.87 +0.84 +0.76 +0.61 +0.4 +0.17 +0.0 +0.0 +0.0 +0.0 +0.02 +0.11 +0.21 +0.3 +0.38 +0.44 +0.47 +0.46 +0.45 +0.46 +0.51 +0.58 +0.66 +0.69 +0.67 +0.61 +0.53 +0.46 +0.42 +0.4 +0.39 +0.36 +0.32 +0.26 +0.19 +0.11 +0.03 +0.0 +0.0 +0.0 +0.08 +0.28 +0.51 +0.7 +0.81 +0.84 +0.84 +0.86 +0.95 +1.1 +1.26 +1.36 +1.37 +1.32 +1.26 +1.25 +1.33 +1.46 +1.59 +1.65 +1.62 +1.52 +1.43 +1.39 +1.42 +1.47 +1.49 +1.44 +1.31 +1.14 +0.99 +0.9 +0.87 +0.84 +0.76 +0.66 +0.53 +0.35 +0.17 +0.03 +0.0 +0.0 +0.0 +0.0 +0.02 +0.08 +0.15 +0.21 +0.24 +0.24 +0.22 +0.21 +0.24 +0.32 +0.42 +0.48 +0.49 +0.43 +0.33 +0.26 +0.23 +0.27 +0.33 +0.36 +0.34 +0.27 +0.16 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.49 +0.67 +0.82 +0.94 +1.07 +1.25 +1.47 +1.69 +1.87 +1.98 +2.02 +2.03 +2.05 +2.1 +2.17 +2.22 +2.2 +2.09 +1.94 +1.79 +1.7 +1.67 +1.68 +1.66 +1.58 +1.42 +1.22 +1.03 +0.89 +0.8 +0.74 +0.66 +0.53 +0.35 +0.17 +0.03 +0.0 +0.0 +0.0 +0.0 +0.02 +0.08 +0.15 +0.21 +0.24 +0.24 +0.22 +0.21 +0.24 +0.32 +0.42 +0.48 +0.49 +0.43 +0.33 +0.26 +0.23 +0.27 +0.33 +0.36 +0.34 +0.27 +0.16 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.49 +0.67 +0.82 +0.94 +1.07 +1.25 +1.47 +1.69 +1.87 +1.98 +2.02 +2.03 +2.05 +2.1 +2.17 +2.22 +2.2 +2.09 +1.94 +1.79 +1.7 +1.67 +1.68 +1.66 +1.58 +1.42 +1.22 +1.03 +0.89 +0.8 +0.74 +0.66 +0.55 +0.46 +0.34 +0.22 +0.12 +0.05 +0.02 +0.0 +0.0 +0.0 +0.03 +0.05 +0.07 +0.06 +0.02 +0.0 +0.0 +0.0 +0.09 +0.2 +0.25 +0.23 +0.14 +0.03 +0.0 +0.0 +0.08 +0.19 +0.26 +0.24 +0.14 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.4 +0.68 +0.94 +1.19 +1.44 +1.7 +2.0 +2.29 +2.56 +2.75 +2.86 +2.91 +2.92 +2.91 +2.88 +2.81 +2.67 +2.46 +2.22 +2.0 +1.83 +1.75 +1.71 +1.67 +1.57 +1.4 +1.18 +0.96 +0.79 +0.69 +0.62 +0.55 +0.46 +0.34 +0.22 +0.12 +0.05 +0.02 +0.0 +0.0 +0.0 +0.03 +0.05 +0.07 +0.06 +0.02 +0.0 +0.0 +0.0 +0.09 +0.2 +0.25 +0.23 +0.14 +0.03 +0.0 +0.0 +0.08 +0.19 +0.26 +0.24 +0.14 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.4 +0.68 +0.94 +1.19 +1.44 +1.7 +2.0 +2.29 +2.56 +2.75 +2.86 +2.91 +2.92 +2.91 +2.88 +2.81 +2.67 +2.46 +2.22 +2.0 +1.83 +1.75 +1.71 +1.67 +1.57 +1.4 +1.18 +0.96 +0.79 +0.69 +0.62 +0.55 +0.49 +0.44 +0.38 +0.31 +0.25 +0.2 +0.17 +0.14 +0.11 +0.1 +0.1 +0.1 +0.08 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.12 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.1 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.54 +0.92 +1.3 +1.66 +2.0 +2.34 +2.68 +3.03 +3.35 +3.59 +3.73 +3.76 +3.7 +3.58 +3.42 +3.22 +2.95 +2.65 +2.32 +2.01 +1.79 +1.65 +1.59 +1.54 +1.45 +1.29 +1.08 +0.87 +0.7 +0.59 +0.54 +0.49 +0.44 +0.38 +0.31 +0.25 +0.2 +0.17 +0.14 +0.11 +0.1 +0.1 +0.1 +0.08 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.12 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.1 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.54 +0.92 +1.3 +1.66 +2.0 +2.34 +2.68 +3.03 +3.35 +3.59 +3.73 +3.76 +3.7 +3.58 +3.42 +3.22 +2.95 +2.65 +2.32 +2.01 +1.79 +1.65 +1.59 +1.54 +1.45 +1.29 +1.08 +0.87 +0.7 +0.59 +0.54 +0.49 +0.5 +0.48 +0.45 +0.41 +0.38 +0.35 +0.33 +0.31 +0.29 +0.29 +0.3 +0.3 +0.27 +0.19 +0.07 +0.0 +0.0 +0.0 +0.07 +0.17 +0.2 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.48 +0.9 +1.38 +1.86 +2.29 +2.68 +3.04 +3.41 +3.77 +4.1 +4.34 +4.45 +4.4 +4.23 +3.97 +3.67 +3.34 +2.99 +2.61 +2.23 +1.88 +1.62 +1.45 +1.37 +1.33 +1.27 +1.15 +0.99 +0.81 +0.66 +0.57 +0.53 +0.5 +0.48 +0.45 +0.41 +0.38 +0.35 +0.33 +0.31 +0.29 +0.29 +0.3 +0.3 +0.27 +0.19 +0.07 +0.0 +0.0 +0.0 +0.07 +0.17 +0.2 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.48 +0.9 +1.38 +1.86 +2.29 +2.68 +3.04 +3.41 +3.77 +4.1 +4.34 +4.45 +4.4 +4.23 +3.97 +3.67 +3.34 +2.99 +2.61 +2.23 +1.88 +1.62 +1.45 +1.37 +1.33 +1.27 +1.15 +0.99 +0.81 +0.66 +0.57 +0.53 +0.5 +0.57 +0.57 +0.55 +0.53 +0.51 +0.48 +0.46 +0.45 +0.46 +0.5 +0.56 +0.61 +0.6 +0.51 +0.37 +0.25 +0.2 +0.26 +0.39 +0.51 +0.53 +0.43 +0.25 +0.06 +0.0 +0.0 +0.04 +0.08 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.19 +0.31 +0.54 +0.91 +1.4 +1.94 +2.46 +2.91 +3.28 +3.62 +3.95 +4.28 +4.59 +4.79 +4.83 +4.68 +4.38 +3.97 +3.54 +3.14 +2.75 +2.38 +2.01 +1.66 +1.38 +1.2 +1.11 +1.09 +1.08 +1.03 +0.93 +0.81 +0.69 +0.62 +0.59 +0.57 +0.57 +0.55 +0.53 +0.51 +0.48 +0.46 +0.45 +0.46 +0.5 +0.56 +0.61 +0.6 +0.51 +0.37 +0.25 +0.2 +0.26 +0.39 +0.51 +0.53 +0.43 +0.25 +0.06 +0.0 +0.0 +0.04 +0.08 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.19 +0.31 +0.54 +0.91 +1.4 +1.94 +2.46 +2.91 +3.28 +3.62 +3.95 +4.28 +4.59 +4.79 +4.83 +4.68 +4.38 +3.97 +3.54 +3.14 +2.75 +2.38 +2.01 +1.66 +1.38 +1.2 +1.11 +1.09 +1.08 +1.03 +0.93 +0.81 +0.69 +0.62 +0.59 +0.57 +0.66 +0.66 +0.65 +0.63 +0.6 +0.57 +0.53 +0.52 +0.56 +0.65 +0.78 +0.9 +0.93 +0.86 +0.71 +0.58 +0.54 +0.63 +0.81 +0.98 +1.02 +0.92 +0.7 +0.48 +0.35 +0.33 +0.37 +0.37 +0.26 +0.06 +0.0 +0.0 +0.0 +0.0 +0.18 +0.4 +0.55 +0.64 +0.76 +0.98 +1.35 +1.85 +2.39 +2.89 +3.29 +3.59 +3.83 +4.08 +4.36 +4.62 +4.78 +4.76 +4.51 +4.08 +3.57 +3.06 +2.64 +2.3 +2.0 +1.71 +1.41 +1.13 +0.93 +0.84 +0.83 +0.87 +0.89 +0.88 +0.83 +0.76 +0.71 +0.67 +0.66 +0.66 +0.65 +0.63 +0.6 +0.57 +0.53 +0.52 +0.56 +0.65 +0.78 +0.9 +0.93 +0.86 +0.71 +0.58 +0.54 +0.63 +0.81 +0.98 +1.02 +0.92 +0.7 +0.48 +0.35 +0.33 +0.37 +0.37 +0.26 +0.06 +0.0 +0.0 +0.0 +0.0 +0.18 +0.4 +0.55 +0.64 +0.76 +0.98 +1.35 +1.85 +2.39 +2.89 +3.29 +3.59 +3.83 +4.08 +4.36 +4.62 +4.78 +4.76 +4.51 +4.08 +3.57 +3.06 +2.64 +2.3 +2.0 +1.71 +1.41 +1.13 +0.93 +0.84 +0.83 +0.87 +0.89 +0.88 +0.83 +0.76 +0.71 +0.67 +0.66 +0.72 +0.71 +0.71 +0.7 +0.65 +0.59 +0.51 +0.48 +0.52 +0.66 +0.86 +1.05 +1.14 +1.09 +0.94 +0.79 +0.76 +0.9 +1.15 +1.39 +1.48 +1.39 +1.15 +0.9 +0.74 +0.71 +0.74 +0.73 +0.61 +0.38 +0.14 +0.01 +0.08 +0.31 +0.63 +0.92 +1.09 +1.17 +1.23 +1.38 +1.67 +2.09 +2.57 +2.99 +3.28 +3.46 +3.57 +3.71 +3.91 +4.13 +4.27 +4.22 +3.92 +3.42 +2.84 +2.32 +1.94 +1.7 +1.54 +1.37 +1.15 +0.89 +0.67 +0.55 +0.54 +0.62 +0.73 +0.81 +0.83 +0.81 +0.77 +0.73 +0.72 +0.71 +0.71 +0.7 +0.65 +0.59 +0.51 +0.48 +0.52 +0.66 +0.86 +1.05 +1.14 +1.09 +0.94 +0.79 +0.76 +0.9 +1.15 +1.39 +1.48 +1.39 +1.15 +0.9 +0.74 +0.71 +0.74 +0.73 +0.61 +0.38 +0.14 +0.01 +0.08 +0.31 +0.63 +0.92 +1.09 +1.17 +1.23 +1.38 +1.67 +2.09 +2.57 +2.99 +3.28 +3.46 +3.57 +3.71 +3.91 +4.13 +4.27 +4.22 +3.92 +3.42 +2.84 +2.32 +1.94 +1.7 +1.54 +1.37 +1.15 +0.89 +0.67 +0.55 +0.54 +0.62 +0.73 +0.81 +0.83 +0.81 +0.77 +0.73 +0.72 +0.71 +0.71 +0.72 +0.71 +0.65 +0.54 +0.41 +0.32 +0.34 +0.5 +0.76 +1.01 +1.15 +1.11 +0.95 +0.79 +0.76 +0.93 +1.26 +1.58 +1.74 +1.67 +1.43 +1.15 +0.98 +0.95 +1.0 +1.03 +0.94 +0.72 +0.49 +0.37 +0.46 +0.74 +1.12 +1.45 +1.63 +1.66 +1.62 +1.63 +1.78 +2.07 +2.43 +2.74 +2.91 +2.95 +2.92 +2.94 +3.07 +3.26 +3.41 +3.38 +3.08 +2.57 +1.98 +1.48 +1.18 +1.08 +1.07 +1.04 +0.9 +0.67 +0.42 +0.25 +0.23 +0.35 +0.52 +0.68 +0.78 +0.8 +0.77 +0.73 +0.71 +0.71 +0.72 +0.71 +0.65 +0.54 +0.41 +0.32 +0.34 +0.5 +0.76 +1.01 +1.15 +1.11 +0.95 +0.79 +0.76 +0.93 +1.26 +1.58 +1.74 +1.67 +1.43 +1.15 +0.98 +0.95 +1.0 +1.03 +0.94 +0.72 +0.49 +0.37 +0.46 +0.74 +1.12 +1.45 +1.63 +1.66 +1.62 +1.63 +1.78 +2.07 +2.43 +2.74 +2.91 +2.95 +2.92 +2.94 +3.07 +3.26 +3.41 +3.38 +3.08 +2.57 +1.98 +1.48 +1.18 +1.08 +1.07 +1.04 +0.9 +0.67 +0.42 +0.25 +0.23 +0.35 +0.52 +0.68 +0.78 +0.8 +0.77 +0.73 +0.71 +0.65 +0.66 +0.69 +0.68 +0.61 +0.45 +0.25 +0.1 +0.09 +0.24 +0.53 +0.83 +1.0 +0.97 +0.78 +0.58 +0.54 +0.73 +1.1 +1.5 +1.73 +1.71 +1.47 +1.19 +1.0 +0.98 +1.09 +1.18 +1.16 +1.0 +0.8 +0.7 +0.81 +1.13 +1.54 +1.9 +2.08 +2.05 +1.88 +1.73 +1.71 +1.85 +2.08 +2.28 +2.35 +2.27 +2.13 +2.05 +2.11 +2.29 +2.48 +2.5 +2.26 +1.78 +1.22 +0.75 +0.52 +0.54 +0.67 +0.77 +0.7 +0.48 +0.2 +0.0 +0.0 +0.07 +0.3 +0.53 +0.69 +0.74 +0.72 +0.68 +0.65 +0.66 +0.69 +0.68 +0.61 +0.45 +0.25 +0.1 +0.09 +0.24 +0.53 +0.83 +1.0 +0.97 +0.78 +0.58 +0.54 +0.73 +1.1 +1.5 +1.73 +1.71 +1.47 +1.19 +1.0 +0.98 +1.09 +1.18 +1.16 +1.0 +0.8 +0.7 +0.81 +1.13 +1.54 +1.9 +2.08 +2.05 +1.88 +1.73 +1.71 +1.85 +2.08 +2.28 +2.35 +2.27 +2.13 +2.05 +2.11 +2.29 +2.48 +2.5 +2.26 +1.78 +1.22 +0.75 +0.52 +0.54 +0.67 +0.77 +0.7 +0.48 +0.2 +0.0 +0.0 +0.07 +0.3 +0.53 +0.69 +0.74 +0.72 +0.68 +0.65 +0.58 +0.6 +0.64 +0.64 +0.56 +0.37 +0.12 +0.0 +0.0 +0.0 +0.28 +0.6 +0.79 +0.76 +0.55 +0.31 +0.23 +0.42 +0.82 +1.27 +1.57 +1.6 +1.4 +1.11 +0.92 +0.92 +1.06 +1.23 +1.3 +1.21 +1.06 +0.98 +1.09 +1.41 +1.84 +2.21 +2.37 +2.28 +2.01 +1.71 +1.53 +1.54 +1.67 +1.8 +1.82 +1.69 +1.48 +1.33 +1.35 +1.53 +1.76 +1.86 +1.7 +1.27 +0.74 +0.31 +0.12 +0.21 +0.43 +0.61 +0.6 +0.39 +0.08 +0.0 +0.0 +0.0 +0.13 +0.4 +0.59 +0.67 +0.66 +0.61 +0.58 +0.6 +0.64 +0.64 +0.56 +0.37 +0.12 +0.0 +0.0 +0.0 +0.28 +0.6 +0.79 +0.76 +0.55 +0.31 +0.23 +0.42 +0.82 +1.27 +1.57 +1.6 +1.4 +1.11 +0.92 +0.92 +1.06 +1.23 +1.3 +1.21 +1.06 +0.98 +1.09 +1.41 +1.84 +2.21 +2.37 +2.28 +2.01 +1.71 +1.53 +1.54 +1.67 +1.8 +1.82 +1.69 +1.48 +1.33 +1.35 +1.53 +1.76 +1.86 +1.7 +1.27 +0.74 +0.31 +0.12 +0.21 +0.43 +0.61 +0.6 +0.39 +0.08 +0.0 +0.0 +0.0 +0.13 +0.4 +0.59 +0.67 +0.66 +0.61 +0.58 +0.55 +0.58 +0.62 +0.63 +0.55 +0.34 +0.07 +0.0 +0.0 +0.0 +0.11 +0.43 +0.63 +0.61 +0.39 +0.14 +0.04 +0.22 +0.64 +1.13 +1.49 +1.58 +1.42 +1.15 +0.97 +0.96 +1.13 +1.35 +1.47 +1.45 +1.33 +1.24 +1.32 +1.6 +1.99 +2.33 +2.47 +2.33 +1.99 +1.6 +1.32 +1.24 +1.33 +1.45 +1.47 +1.35 +1.13 +0.96 +0.97 +1.15 +1.42 +1.58 +1.49 +1.13 +0.64 +0.22 +0.04 +0.14 +0.39 +0.61 +0.63 +0.43 +0.11 +0.0 +0.0 +0.0 +0.07 +0.34 +0.55 +0.63 +0.62 +0.58 +0.55 +0.58 +0.62 +0.63 +0.55 +0.34 +0.07 +0.0 +0.0 +0.0 +0.11 +0.43 +0.63 +0.61 +0.39 +0.14 +0.04 +0.22 +0.64 +1.13 +1.49 +1.58 +1.42 +1.15 +0.97 +0.96 +1.13 +1.35 +1.47 +1.45 +1.33 +1.24 +1.32 +1.6 +1.99 +2.33 +2.47 +2.33 +1.99 +1.6 +1.32 +1.24 +1.33 +1.45 +1.47 +1.35 +1.13 +0.96 +0.97 +1.15 +1.42 +1.58 +1.49 +1.13 +0.64 +0.22 +0.04 +0.14 +0.39 +0.61 +0.63 +0.43 +0.11 +0.0 +0.0 +0.0 +0.07 +0.34 +0.55 +0.63 +0.62 +0.58 +0.55 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.36 +0.39 +0.49 +0.65 +0.85 +1.06 +1.28 +1.53 +1.78 +2.03 +2.21 +2.29 +2.25 +2.09 +1.86 +1.61 +1.37 +1.15 +0.93 +0.72 +0.55 +0.43 +0.38 +0.37 +0.34 +0.23 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.25 +0.37 +0.4 +0.41 +0.45 +0.55 +0.72 +0.92 +1.13 +1.36 +1.59 +1.83 +2.05 +2.2 +2.24 +2.17 +1.99 +1.76 +1.51 +1.27 +1.05 +0.84 +0.65 +0.5 +0.41 +0.39 +0.4 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.36 +0.36 +0.39 +0.49 +0.65 +0.85 +1.06 +1.28 +1.53 +1.78 +2.03 +2.21 +2.29 +2.25 +2.09 +1.86 +1.61 +1.37 +1.15 +0.93 +0.72 +0.55 +0.43 +0.38 +0.37 +0.34 +0.23 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.25 +0.37 +0.4 +0.41 +0.45 +0.55 +0.72 +0.92 +1.13 +1.36 +1.59 +1.83 +2.05 +2.2 +2.24 +2.17 +1.99 +1.76 +1.51 +1.27 +1.05 +0.84 +0.65 +0.5 +0.41 +0.39 +0.4 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.36 +0.36 +0.29 +0.29 +0.36 +0.5 +0.69 +0.91 +1.15 +1.43 +1.74 +2.05 +2.3 +2.44 +2.42 +2.28 +2.04 +1.77 +1.49 +1.24 +1.01 +0.79 +0.61 +0.48 +0.42 +0.4 +0.38 +0.31 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.46 +0.5 +0.5 +0.52 +0.6 +0.74 +0.94 +1.17 +1.42 +1.68 +1.92 +2.13 +2.24 +2.25 +2.13 +1.92 +1.65 +1.38 +1.12 +0.88 +0.67 +0.51 +0.4 +0.38 +0.42 +0.48 +0.5 +0.43 +0.27 +0.06 +0.0 +0.0 +0.0 +0.09 +0.26 +0.37 +0.39 +0.34 +0.29 +0.29 +0.36 +0.5 +0.69 +0.91 +1.15 +1.43 +1.74 +2.05 +2.3 +2.44 +2.42 +2.28 +2.04 +1.77 +1.49 +1.24 +1.01 +0.79 +0.61 +0.48 +0.42 +0.4 +0.38 +0.31 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.46 +0.5 +0.5 +0.52 +0.6 +0.74 +0.94 +1.17 +1.42 +1.68 +1.92 +2.13 +2.24 +2.25 +2.13 +1.92 +1.65 +1.38 +1.12 +0.88 +0.67 +0.51 +0.4 +0.38 +0.42 +0.48 +0.5 +0.43 +0.27 +0.06 +0.0 +0.0 +0.0 +0.09 +0.26 +0.37 +0.39 +0.34 +0.29 +0.24 +0.2 +0.24 +0.35 +0.52 +0.73 +0.98 +1.29 +1.66 +2.04 +2.37 +2.58 +2.63 +2.51 +2.28 +1.99 +1.7 +1.44 +1.2 +0.99 +0.81 +0.67 +0.6 +0.58 +0.58 +0.55 +0.45 +0.29 +0.13 +0.03 +0.04 +0.16 +0.35 +0.53 +0.65 +0.69 +0.67 +0.66 +0.69 +0.79 +0.97 +1.2 +1.48 +1.76 +2.01 +2.19 +2.26 +2.21 +2.04 +1.8 +1.52 +1.23 +0.95 +0.7 +0.5 +0.37 +0.33 +0.38 +0.49 +0.6 +0.65 +0.6 +0.47 +0.3 +0.19 +0.16 +0.24 +0.37 +0.47 +0.5 +0.45 +0.34 +0.24 +0.2 +0.24 +0.35 +0.52 +0.73 +0.98 +1.29 +1.66 +2.04 +2.37 +2.58 +2.63 +2.51 +2.28 +1.99 +1.7 +1.44 +1.2 +0.99 +0.81 +0.67 +0.6 +0.58 +0.58 +0.55 +0.45 +0.29 +0.13 +0.03 +0.04 +0.16 +0.35 +0.53 +0.65 +0.69 +0.67 +0.66 +0.69 +0.79 +0.97 +1.2 +1.48 +1.76 +2.01 +2.19 +2.26 +2.21 +2.04 +1.8 +1.52 +1.23 +0.95 +0.7 +0.5 +0.37 +0.33 +0.38 +0.49 +0.6 +0.65 +0.6 +0.47 +0.3 +0.19 +0.16 +0.24 +0.37 +0.47 +0.5 +0.45 +0.34 +0.24 +0.25 +0.19 +0.2 +0.27 +0.4 +0.57 +0.81 +1.12 +1.52 +1.96 +2.36 +2.65 +2.76 +2.7 +2.5 +2.24 +1.96 +1.73 +1.52 +1.34 +1.18 +1.06 +0.98 +0.96 +0.98 +0.98 +0.92 +0.8 +0.63 +0.5 +0.46 +0.52 +0.67 +0.83 +0.93 +0.96 +0.91 +0.84 +0.8 +0.85 +0.99 +1.23 +1.51 +1.8 +2.04 +2.17 +2.19 +2.09 +1.9 +1.65 +1.37 +1.1 +0.83 +0.59 +0.41 +0.32 +0.34 +0.45 +0.6 +0.74 +0.79 +0.73 +0.61 +0.48 +0.4 +0.42 +0.51 +0.61 +0.66 +0.62 +0.51 +0.37 +0.25 +0.19 +0.2 +0.27 +0.4 +0.57 +0.81 +1.12 +1.52 +1.96 +2.36 +2.65 +2.76 +2.7 +2.5 +2.24 +1.96 +1.73 +1.52 +1.34 +1.18 +1.06 +0.98 +0.96 +0.98 +0.98 +0.92 +0.8 +0.63 +0.5 +0.46 +0.52 +0.67 +0.83 +0.93 +0.96 +0.91 +0.84 +0.8 +0.85 +0.99 +1.23 +1.51 +1.8 +2.04 +2.17 +2.19 +2.09 +1.9 +1.65 +1.37 +1.1 +0.83 +0.59 +0.41 +0.32 +0.34 +0.45 +0.6 +0.74 +0.79 +0.73 +0.61 +0.48 +0.4 +0.42 +0.51 +0.61 +0.66 +0.62 +0.51 +0.37 +0.25 +0.3 +0.24 +0.23 +0.27 +0.34 +0.46 +0.65 +0.93 +1.32 +1.77 +2.21 +2.56 +2.75 +2.76 +2.63 +2.43 +2.23 +2.05 +1.91 +1.78 +1.65 +1.54 +1.46 +1.44 +1.47 +1.5 +1.47 +1.36 +1.19 +1.01 +0.91 +0.91 +1.01 +1.15 +1.24 +1.24 +1.15 +1.02 +0.92 +0.9 +1.01 +1.23 +1.51 +1.79 +2.0 +2.09 +2.06 +1.92 +1.71 +1.48 +1.25 +1.01 +0.78 +0.57 +0.42 +0.37 +0.42 +0.57 +0.73 +0.85 +0.86 +0.77 +0.64 +0.53 +0.5 +0.56 +0.67 +0.75 +0.77 +0.69 +0.56 +0.42 +0.3 +0.24 +0.23 +0.27 +0.34 +0.46 +0.65 +0.93 +1.32 +1.77 +2.21 +2.56 +2.75 +2.76 +2.63 +2.43 +2.23 +2.05 +1.91 +1.78 +1.65 +1.54 +1.46 +1.44 +1.47 +1.5 +1.47 +1.36 +1.19 +1.01 +0.91 +0.91 +1.01 +1.15 +1.24 +1.24 +1.15 +1.02 +0.92 +0.9 +1.01 +1.23 +1.51 +1.79 +2.0 +2.09 +2.06 +1.92 +1.71 +1.48 +1.25 +1.01 +0.78 +0.57 +0.42 +0.37 +0.42 +0.57 +0.73 +0.85 +0.86 +0.77 +0.64 +0.53 +0.5 +0.56 +0.67 +0.75 +0.77 +0.69 +0.56 +0.42 +0.3 +0.36 +0.31 +0.29 +0.29 +0.31 +0.36 +0.49 +0.72 +1.07 +1.49 +1.93 +2.31 +2.56 +2.66 +2.62 +2.52 +2.4 +2.31 +2.23 +2.14 +2.04 +1.93 +1.85 +1.83 +1.86 +1.9 +1.9 +1.8 +1.61 +1.4 +1.25 +1.21 +1.27 +1.38 +1.46 +1.44 +1.31 +1.14 +0.98 +0.93 +1.01 +1.22 +1.49 +1.75 +1.93 +1.97 +1.9 +1.73 +1.53 +1.33 +1.15 +0.97 +0.78 +0.61 +0.49 +0.46 +0.54 +0.69 +0.83 +0.89 +0.84 +0.71 +0.56 +0.48 +0.5 +0.6 +0.73 +0.81 +0.8 +0.71 +0.57 +0.45 +0.36 +0.31 +0.29 +0.29 +0.31 +0.36 +0.49 +0.72 +1.07 +1.49 +1.93 +2.31 +2.56 +2.66 +2.62 +2.52 +2.4 +2.31 +2.23 +2.14 +2.04 +1.93 +1.85 +1.83 +1.86 +1.9 +1.9 +1.8 +1.61 +1.4 +1.25 +1.21 +1.27 +1.38 +1.46 +1.44 +1.31 +1.14 +0.98 +0.93 +1.01 +1.22 +1.49 +1.75 +1.93 +1.97 +1.9 +1.73 +1.53 +1.33 +1.15 +0.97 +0.78 +0.61 +0.49 +0.46 +0.54 +0.69 +0.83 +0.89 +0.84 +0.71 +0.56 +0.48 +0.5 +0.6 +0.73 +0.81 +0.8 +0.71 +0.57 +0.45 +0.36 +0.36 +0.32 +0.3 +0.27 +0.23 +0.24 +0.31 +0.49 +0.77 +1.15 +1.56 +1.93 +2.22 +2.39 +2.45 +2.46 +2.44 +2.42 +2.39 +2.32 +2.22 +2.09 +2.0 +1.97 +2.01 +2.07 +2.08 +1.98 +1.8 +1.57 +1.4 +1.33 +1.37 +1.46 +1.51 +1.47 +1.32 +1.13 +0.96 +0.91 +1.0 +1.21 +1.49 +1.73 +1.88 +1.88 +1.77 +1.59 +1.4 +1.23 +1.08 +0.94 +0.79 +0.64 +0.55 +0.54 +0.62 +0.75 +0.85 +0.85 +0.74 +0.57 +0.43 +0.38 +0.46 +0.61 +0.75 +0.81 +0.77 +0.66 +0.53 +0.42 +0.36 +0.32 +0.3 +0.27 +0.23 +0.24 +0.31 +0.49 +0.77 +1.15 +1.56 +1.93 +2.22 +2.39 +2.45 +2.46 +2.44 +2.42 +2.39 +2.32 +2.22 +2.09 +2.0 +1.97 +2.01 +2.07 +2.08 +1.98 +1.8 +1.57 +1.4 +1.33 +1.37 +1.46 +1.51 +1.47 +1.32 +1.13 +0.96 +0.91 +1.0 +1.21 +1.49 +1.73 +1.88 +1.88 +1.77 +1.59 +1.4 +1.23 +1.08 +0.94 +0.79 +0.64 +0.55 +0.54 +0.62 +0.75 +0.85 +0.85 +0.74 +0.57 +0.43 +0.38 +0.46 +0.61 +0.75 +0.81 +0.77 +0.66 +0.53 +0.42 +0.36 +0.28 +0.25 +0.21 +0.15 +0.09 +0.06 +0.1 +0.24 +0.48 +0.79 +1.14 +1.48 +1.78 +2.0 +2.16 +2.27 +2.35 +2.39 +2.38 +2.31 +2.19 +2.04 +1.94 +1.91 +1.97 +2.04 +2.06 +1.97 +1.79 +1.57 +1.4 +1.32 +1.34 +1.39 +1.41 +1.34 +1.19 +1.01 +0.88 +0.86 +0.98 +1.22 +1.5 +1.73 +1.85 +1.84 +1.71 +1.52 +1.34 +1.18 +1.04 +0.91 +0.77 +0.63 +0.55 +0.55 +0.63 +0.74 +0.8 +0.76 +0.61 +0.43 +0.3 +0.31 +0.44 +0.63 +0.78 +0.81 +0.73 +0.58 +0.43 +0.33 +0.28 +0.25 +0.21 +0.15 +0.09 +0.06 +0.1 +0.24 +0.48 +0.79 +1.14 +1.48 +1.78 +2.0 +2.16 +2.27 +2.35 +2.39 +2.38 +2.31 +2.19 +2.04 +1.94 +1.91 +1.97 +2.04 +2.06 +1.97 +1.79 +1.57 +1.4 +1.32 +1.34 +1.39 +1.41 +1.34 +1.19 +1.01 +0.88 +0.86 +0.98 +1.22 +1.5 +1.73 +1.85 +1.84 +1.71 +1.52 +1.34 +1.18 +1.04 +0.91 +0.77 +0.63 +0.55 +0.55 +0.63 +0.74 +0.8 +0.76 +0.61 +0.43 +0.3 +0.31 +0.44 +0.63 +0.78 +0.81 +0.73 +0.58 +0.43 +0.33 +0.28 +0.15 +0.11 +0.05 +0.0 +0.0 +0.0 +0.0 +0.01 +0.22 +0.47 +0.75 +1.04 +1.31 +1.58 +1.81 +2.02 +2.19 +2.29 +2.31 +2.24 +2.11 +1.97 +1.89 +1.89 +1.96 +2.04 +2.06 +1.98 +1.79 +1.58 +1.4 +1.3 +1.28 +1.28 +1.25 +1.15 +1.0 +0.85 +0.77 +0.81 +0.98 +1.23 +1.5 +1.72 +1.82 +1.8 +1.67 +1.5 +1.31 +1.16 +1.01 +0.87 +0.72 +0.58 +0.5 +0.51 +0.59 +0.69 +0.72 +0.65 +0.48 +0.31 +0.24 +0.3 +0.48 +0.69 +0.82 +0.81 +0.67 +0.48 +0.31 +0.2 +0.15 +0.11 +0.05 +0.0 +0.0 +0.0 +0.0 +0.01 +0.22 +0.47 +0.75 +1.04 +1.31 +1.58 +1.81 +2.02 +2.19 +2.29 +2.31 +2.24 +2.11 +1.97 +1.89 +1.89 +1.96 +2.04 +2.06 +1.98 +1.79 +1.58 +1.4 +1.3 +1.28 +1.28 +1.25 +1.15 +1.0 +0.85 +0.77 +0.81 +0.98 +1.23 +1.5 +1.72 +1.82 +1.8 +1.67 +1.5 +1.31 +1.16 +1.01 +0.87 +0.72 +0.58 +0.5 +0.51 +0.59 +0.69 +0.72 +0.65 +0.48 +0.31 +0.24 +0.3 +0.48 +0.69 +0.82 +0.81 +0.67 +0.48 +0.31 +0.2 +0.15 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.22 +0.43 +0.66 +0.91 +1.19 +1.5 +1.81 +2.07 +2.25 +2.32 +2.3 +2.21 +2.13 +2.11 +2.16 +2.26 +2.34 +2.34 +2.22 +2.02 +1.78 +1.57 +1.43 +1.34 +1.26 +1.15 +1.01 +0.85 +0.74 +0.72 +0.8 +0.98 +1.21 +1.45 +1.63 +1.71 +1.69 +1.58 +1.43 +1.27 +1.12 +0.97 +0.82 +0.66 +0.53 +0.46 +0.47 +0.56 +0.64 +0.66 +0.57 +0.4 +0.26 +0.22 +0.34 +0.55 +0.76 +0.86 +0.79 +0.61 +0.38 +0.2 +0.09 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.22 +0.43 +0.66 +0.91 +1.19 +1.5 +1.81 +2.07 +2.25 +2.32 +2.3 +2.21 +2.13 +2.11 +2.16 +2.26 +2.34 +2.34 +2.22 +2.02 +1.78 +1.57 +1.43 +1.34 +1.26 +1.15 +1.01 +0.85 +0.74 +0.72 +0.8 +0.98 +1.21 +1.45 +1.63 +1.71 +1.69 +1.58 +1.43 +1.27 +1.12 +0.97 +0.82 +0.66 +0.53 +0.46 +0.47 +0.56 +0.64 +0.66 +0.57 +0.4 +0.26 +0.22 +0.34 +0.55 +0.76 +0.86 +0.79 +0.61 +0.38 +0.2 +0.09 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.23 +0.4 +0.62 +0.92 +1.29 +1.69 +2.06 +2.35 +2.52 +2.59 +2.61 +2.65 +2.73 +2.86 +2.99 +3.04 +2.98 +2.8 +2.53 +2.23 +1.97 +1.75 +1.56 +1.38 +1.18 +0.99 +0.84 +0.75 +0.75 +0.84 +0.98 +1.15 +1.3 +1.41 +1.46 +1.44 +1.37 +1.26 +1.14 +1.02 +0.89 +0.76 +0.61 +0.5 +0.45 +0.48 +0.56 +0.63 +0.63 +0.53 +0.38 +0.25 +0.25 +0.38 +0.6 +0.78 +0.84 +0.73 +0.51 +0.28 +0.11 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.23 +0.4 +0.62 +0.92 +1.29 +1.69 +2.06 +2.35 +2.52 +2.59 +2.61 +2.65 +2.73 +2.86 +2.99 +3.04 +2.98 +2.8 +2.53 +2.23 +1.97 +1.75 +1.56 +1.38 +1.18 +0.99 +0.84 +0.75 +0.75 +0.84 +0.98 +1.15 +1.3 +1.41 +1.46 +1.44 +1.37 +1.26 +1.14 +1.02 +0.89 +0.76 +0.61 +0.5 +0.45 +0.48 +0.56 +0.63 +0.63 +0.53 +0.38 +0.25 +0.25 +0.38 +0.6 +0.78 +0.84 +0.73 +0.51 +0.28 +0.11 +0.03 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.15 +0.28 +0.47 +0.78 +1.21 +1.69 +2.17 +2.56 +2.85 +3.05 +3.22 +3.4 +3.61 +3.81 +3.95 +3.96 +3.81 +3.53 +3.17 +2.8 +2.47 +2.16 +1.87 +1.59 +1.32 +1.09 +0.94 +0.87 +0.87 +0.92 +0.98 +1.04 +1.07 +1.09 +1.1 +1.08 +1.04 +0.98 +0.91 +0.84 +0.75 +0.66 +0.56 +0.49 +0.47 +0.52 +0.6 +0.65 +0.63 +0.52 +0.37 +0.27 +0.27 +0.41 +0.6 +0.74 +0.75 +0.61 +0.39 +0.18 +0.06 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.15 +0.28 +0.47 +0.78 +1.21 +1.69 +2.17 +2.56 +2.85 +3.05 +3.22 +3.4 +3.61 +3.81 +3.95 +3.96 +3.81 +3.53 +3.17 +2.8 +2.47 +2.16 +1.87 +1.59 +1.32 +1.09 +0.94 +0.87 +0.87 +0.92 +0.98 +1.04 +1.07 +1.09 +1.1 +1.08 +1.04 +0.98 +0.91 +0.84 +0.75 +0.66 +0.56 +0.49 +0.47 +0.52 +0.6 +0.65 +0.63 +0.52 +0.37 +0.27 +0.27 +0.41 +0.6 +0.74 +0.75 +0.61 +0.39 +0.18 +0.06 +0.03 +0.02 +0.1 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.2 +0.3 +0.47 +0.79 +1.24 +1.77 +2.31 +2.78 +3.16 +3.48 +3.78 +4.09 +4.39 +4.64 +4.75 +4.69 +4.44 +4.06 +3.63 +3.21 +2.82 +2.45 +2.1 +1.75 +1.44 +1.21 +1.07 +1.02 +1.02 +1.01 +0.97 +0.89 +0.8 +0.74 +0.69 +0.68 +0.66 +0.64 +0.62 +0.59 +0.56 +0.52 +0.49 +0.48 +0.51 +0.57 +0.64 +0.67 +0.62 +0.5 +0.36 +0.27 +0.28 +0.4 +0.55 +0.64 +0.6 +0.44 +0.23 +0.08 +0.02 +0.05 +0.1 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.2 +0.3 +0.47 +0.79 +1.24 +1.77 +2.31 +2.78 +3.16 +3.48 +3.78 +4.09 +4.39 +4.64 +4.75 +4.69 +4.44 +4.06 +3.63 +3.21 +2.82 +2.45 +2.1 +1.75 +1.44 +1.21 +1.07 +1.02 +1.02 +1.01 +0.97 +0.89 +0.8 +0.74 +0.69 +0.68 +0.66 +0.64 +0.62 +0.59 +0.56 +0.52 +0.49 +0.48 +0.51 +0.57 +0.64 +0.67 +0.62 +0.5 +0.36 +0.27 +0.28 +0.4 +0.55 +0.64 +0.6 +0.44 +0.23 +0.08 +0.02 +0.05 +0.1 +0.16 +0.16 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.25 +0.33 +0.41 +0.58 +0.88 +1.31 +1.84 +2.37 +2.85 +3.25 +3.62 +3.97 +4.34 +4.68 +4.93 +4.99 +4.85 +4.52 +4.08 +3.62 +3.2 +2.81 +2.45 +2.08 +1.73 +1.43 +1.23 +1.14 +1.12 +1.12 +1.06 +0.93 +0.75 +0.57 +0.44 +0.37 +0.36 +0.36 +0.37 +0.36 +0.36 +0.36 +0.37 +0.4 +0.45 +0.52 +0.59 +0.64 +0.64 +0.56 +0.44 +0.31 +0.23 +0.26 +0.36 +0.48 +0.51 +0.43 +0.26 +0.08 +0.0 +0.0 +0.07 +0.16 +0.16 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.25 +0.33 +0.41 +0.58 +0.88 +1.31 +1.84 +2.37 +2.85 +3.25 +3.62 +3.97 +4.34 +4.68 +4.93 +4.99 +4.85 +4.52 +4.08 +3.62 +3.2 +2.81 +2.45 +2.08 +1.73 +1.43 +1.23 +1.14 +1.12 +1.12 +1.06 +0.93 +0.75 +0.57 +0.44 +0.37 +0.36 +0.36 +0.37 +0.36 +0.36 +0.36 +0.37 +0.4 +0.45 +0.52 +0.59 +0.64 +0.64 +0.56 +0.44 +0.31 +0.23 +0.26 +0.36 +0.48 +0.51 +0.43 +0.26 +0.08 +0.0 +0.0 +0.07 +0.16 +0.17 +0.19 +0.11 +0.0 +0.0 +0.0 +0.0 +0.1 +0.29 +0.42 +0.49 +0.56 +0.7 +0.96 +1.34 +1.8 +2.25 +2.65 +2.99 +3.3 +3.63 +3.98 +4.29 +4.49 +4.49 +4.28 +3.92 +3.48 +3.06 +2.71 +2.4 +2.1 +1.8 +1.5 +1.25 +1.11 +1.08 +1.11 +1.12 +1.05 +0.88 +0.65 +0.43 +0.28 +0.22 +0.21 +0.23 +0.23 +0.22 +0.2 +0.21 +0.24 +0.31 +0.41 +0.5 +0.58 +0.6 +0.56 +0.45 +0.32 +0.21 +0.17 +0.22 +0.33 +0.41 +0.41 +0.29 +0.11 +0.0 +0.0 +0.0 +0.05 +0.17 +0.19 +0.11 +0.0 +0.0 +0.0 +0.0 +0.1 +0.29 +0.42 +0.49 +0.56 +0.7 +0.96 +1.34 +1.8 +2.25 +2.65 +2.99 +3.3 +3.63 +3.98 +4.29 +4.49 +4.49 +4.28 +3.92 +3.48 +3.06 +2.71 +2.4 +2.1 +1.8 +1.5 +1.25 +1.11 +1.08 +1.11 +1.12 +1.05 +0.88 +0.65 +0.43 +0.28 +0.22 +0.21 +0.23 +0.23 +0.22 +0.2 +0.21 +0.24 +0.31 +0.41 +0.5 +0.58 +0.6 +0.56 +0.45 +0.32 +0.21 +0.17 +0.22 +0.33 +0.41 +0.41 +0.29 +0.11 +0.0 +0.0 +0.0 +0.05 +0.17 +0.14 +0.18 +0.12 +0.02 +0.0 +0.0 +0.1 +0.28 +0.46 +0.57 +0.62 +0.66 +0.76 +0.97 +1.27 +1.6 +1.92 +2.17 +2.38 +2.57 +2.81 +3.08 +3.32 +3.44 +3.39 +3.16 +2.8 +2.42 +2.11 +1.89 +1.72 +1.55 +1.35 +1.14 +0.96 +0.88 +0.9 +0.98 +1.02 +0.97 +0.82 +0.6 +0.4 +0.27 +0.23 +0.25 +0.27 +0.26 +0.22 +0.17 +0.15 +0.18 +0.26 +0.38 +0.49 +0.56 +0.55 +0.46 +0.32 +0.17 +0.08 +0.08 +0.17 +0.29 +0.36 +0.33 +0.19 +0.0 +0.0 +0.0 +0.0 +0.02 +0.14 +0.18 +0.12 +0.02 +0.0 +0.0 +0.1 +0.28 +0.46 +0.57 +0.62 +0.66 +0.76 +0.97 +1.27 +1.6 +1.92 +2.17 +2.38 +2.57 +2.81 +3.08 +3.32 +3.44 +3.39 +3.16 +2.8 +2.42 +2.11 +1.89 +1.72 +1.55 +1.35 +1.14 +0.96 +0.88 +0.9 +0.98 +1.02 +0.97 +0.82 +0.6 +0.4 +0.27 +0.23 +0.25 +0.27 +0.26 +0.22 +0.17 +0.15 +0.18 +0.26 +0.38 +0.49 +0.56 +0.55 +0.46 +0.32 +0.17 +0.08 +0.08 +0.17 +0.29 +0.36 +0.33 +0.19 +0.0 +0.0 +0.0 +0.0 +0.02 +0.14 +0.13 +0.18 +0.14 +0.08 +0.06 +0.12 +0.27 +0.44 +0.58 +0.65 +0.66 +0.66 +0.72 +0.85 +1.06 +1.27 +1.43 +1.52 +1.57 +1.63 +1.75 +1.93 +2.09 +2.17 +2.08 +1.85 +1.55 +1.27 +1.09 +1.03 +1.03 +1.01 +0.93 +0.8 +0.68 +0.63 +0.68 +0.78 +0.86 +0.85 +0.75 +0.59 +0.43 +0.35 +0.34 +0.38 +0.41 +0.4 +0.34 +0.25 +0.18 +0.18 +0.26 +0.38 +0.51 +0.56 +0.52 +0.38 +0.19 +0.02 +0.0 +0.0 +0.1 +0.24 +0.31 +0.27 +0.12 +0.0 +0.0 +0.0 +0.0 +0.01 +0.13 +0.18 +0.14 +0.08 +0.06 +0.12 +0.27 +0.44 +0.58 +0.65 +0.66 +0.66 +0.72 +0.85 +1.06 +1.27 +1.43 +1.52 +1.57 +1.63 +1.75 +1.93 +2.09 +2.17 +2.08 +1.85 +1.55 +1.27 +1.09 +1.03 +1.03 +1.01 +0.93 +0.8 +0.68 +0.63 +0.68 +0.78 +0.86 +0.85 +0.75 +0.59 +0.43 +0.35 +0.34 +0.38 +0.41 +0.4 +0.34 +0.25 +0.18 +0.18 +0.26 +0.38 +0.51 +0.56 +0.52 +0.38 +0.19 +0.02 +0.0 +0.0 +0.1 +0.24 +0.31 +0.27 +0.12 +0.0 +0.0 +0.0 +0.0 +0.01 +0.13 +0.18 +0.23 +0.21 +0.17 +0.19 +0.27 +0.41 +0.56 +0.64 +0.65 +0.6 +0.56 +0.57 +0.64 +0.76 +0.86 +0.89 +0.85 +0.77 +0.73 +0.77 +0.89 +1.02 +1.07 +0.99 +0.79 +0.54 +0.36 +0.31 +0.4 +0.54 +0.65 +0.67 +0.6 +0.5 +0.45 +0.48 +0.57 +0.68 +0.73 +0.7 +0.6 +0.5 +0.44 +0.45 +0.51 +0.56 +0.56 +0.49 +0.38 +0.28 +0.24 +0.29 +0.41 +0.54 +0.59 +0.53 +0.35 +0.11 +0.0 +0.0 +0.0 +0.04 +0.2 +0.28 +0.23 +0.08 +0.0 +0.0 +0.0 +0.0 +0.07 +0.18 +0.23 +0.21 +0.17 +0.19 +0.27 +0.41 +0.56 +0.64 +0.65 +0.6 +0.56 +0.57 +0.64 +0.76 +0.86 +0.89 +0.85 +0.77 +0.73 +0.77 +0.89 +1.02 +1.07 +0.99 +0.79 +0.54 +0.36 +0.31 +0.4 +0.54 +0.65 +0.67 +0.6 +0.5 +0.45 +0.48 +0.57 +0.68 +0.73 +0.7 +0.6 +0.5 +0.44 +0.45 +0.51 +0.56 +0.56 +0.49 +0.38 +0.28 +0.24 +0.29 +0.41 +0.54 +0.59 +0.53 +0.35 +0.11 +0.0 +0.0 +0.0 +0.04 +0.2 +0.28 +0.23 +0.08 +0.0 +0.0 +0.0 +0.0 +0.07 +0.18 +0.32 +0.34 +0.31 +0.28 +0.3 +0.39 +0.5 +0.6 +0.63 +0.58 +0.48 +0.4 +0.38 +0.41 +0.47 +0.5 +0.44 +0.32 +0.18 +0.1 +0.12 +0.22 +0.35 +0.41 +0.35 +0.18 +0.0 +0.0 +0.0 +0.08 +0.32 +0.52 +0.6 +0.56 +0.45 +0.36 +0.34 +0.42 +0.54 +0.63 +0.67 +0.63 +0.55 +0.5 +0.5 +0.56 +0.62 +0.65 +0.6 +0.49 +0.37 +0.3 +0.33 +0.43 +0.55 +0.61 +0.54 +0.35 +0.09 +0.0 +0.0 +0.0 +0.02 +0.19 +0.27 +0.23 +0.1 +0.0 +0.0 +0.0 +0.07 +0.22 +0.32 +0.34 +0.31 +0.28 +0.3 +0.39 +0.5 +0.6 +0.63 +0.58 +0.48 +0.4 +0.38 +0.41 +0.47 +0.5 +0.44 +0.32 +0.18 +0.1 +0.12 +0.22 +0.35 +0.41 +0.35 +0.18 +0.0 +0.0 +0.0 +0.08 +0.32 +0.52 +0.6 +0.56 +0.45 +0.36 +0.34 +0.42 +0.54 +0.63 +0.67 +0.63 +0.55 +0.5 +0.5 +0.56 +0.62 +0.65 +0.6 +0.49 +0.37 +0.3 +0.33 +0.43 +0.55 +0.61 +0.54 +0.35 +0.09 +0.0 +0.0 +0.0 +0.02 +0.19 +0.27 +0.23 +0.1 +0.0 +0.0 +0.0 +0.07 +0.22 +0.32 +0.5 +0.48 +0.42 +0.37 +0.36 +0.42 +0.51 +0.56 +0.55 +0.47 +0.36 +0.27 +0.24 +0.26 +0.28 +0.26 +0.17 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.21 +0.17 +0.03 +0.0 +0.0 +0.0 +0.04 +0.3 +0.53 +0.63 +0.6 +0.47 +0.34 +0.28 +0.32 +0.45 +0.59 +0.67 +0.67 +0.6 +0.53 +0.5 +0.53 +0.61 +0.67 +0.66 +0.57 +0.44 +0.34 +0.32 +0.4 +0.52 +0.6 +0.56 +0.38 +0.14 +0.0 +0.0 +0.0 +0.1 +0.26 +0.34 +0.31 +0.2 +0.09 +0.07 +0.15 +0.29 +0.43 +0.5 +0.48 +0.42 +0.37 +0.36 +0.42 +0.51 +0.56 +0.55 +0.47 +0.36 +0.27 +0.24 +0.26 +0.28 +0.26 +0.17 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.21 +0.17 +0.03 +0.0 +0.0 +0.0 +0.04 +0.3 +0.53 +0.63 +0.6 +0.47 +0.34 +0.28 +0.32 +0.45 +0.59 +0.67 +0.67 +0.6 +0.53 +0.5 +0.53 +0.61 +0.67 +0.66 +0.57 +0.44 +0.34 +0.32 +0.4 +0.52 +0.6 +0.56 +0.38 +0.14 +0.0 +0.0 +0.0 +0.1 +0.26 +0.34 +0.31 +0.2 +0.09 +0.07 +0.15 +0.29 +0.43 +0.5 +0.66 +0.59 +0.48 +0.38 +0.34 +0.36 +0.42 +0.45 +0.43 +0.36 +0.28 +0.22 +0.21 +0.23 +0.24 +0.2 +0.1 +0.0 +0.0 +0.0 +0.0 +0.07 +0.23 +0.31 +0.27 +0.14 +0.0 +0.0 +0.0 +0.11 +0.34 +0.55 +0.65 +0.61 +0.47 +0.32 +0.24 +0.27 +0.41 +0.58 +0.7 +0.72 +0.65 +0.55 +0.48 +0.49 +0.57 +0.66 +0.69 +0.62 +0.49 +0.35 +0.3 +0.36 +0.48 +0.58 +0.59 +0.48 +0.3 +0.14 +0.09 +0.17 +0.33 +0.48 +0.55 +0.51 +0.41 +0.33 +0.32 +0.41 +0.54 +0.64 +0.66 +0.59 +0.48 +0.38 +0.34 +0.36 +0.42 +0.45 +0.43 +0.36 +0.28 +0.22 +0.21 +0.23 +0.24 +0.2 +0.1 +0.0 +0.0 +0.0 +0.0 +0.07 +0.23 +0.31 +0.27 +0.14 +0.0 +0.0 +0.0 +0.11 +0.34 +0.55 +0.65 +0.61 +0.47 +0.32 +0.24 +0.27 +0.41 +0.58 +0.7 +0.72 +0.65 +0.55 +0.48 +0.49 +0.57 +0.66 +0.69 +0.62 +0.49 +0.35 +0.3 +0.36 +0.48 +0.58 +0.59 +0.48 +0.3 +0.14 +0.09 +0.17 +0.33 +0.48 +0.55 +0.51 +0.41 +0.33 +0.32 +0.41 +0.54 +0.64 +0.66 +0.75 +0.62 +0.44 +0.3 +0.22 +0.22 +0.25 +0.29 +0.29 +0.27 +0.24 +0.24 +0.27 +0.31 +0.32 +0.27 +0.17 +0.06 +0.0 +0.02 +0.13 +0.29 +0.43 +0.48 +0.43 +0.29 +0.14 +0.05 +0.06 +0.18 +0.35 +0.5 +0.57 +0.53 +0.41 +0.27 +0.2 +0.24 +0.39 +0.58 +0.73 +0.77 +0.7 +0.58 +0.49 +0.49 +0.58 +0.69 +0.74 +0.7 +0.57 +0.42 +0.34 +0.37 +0.5 +0.64 +0.72 +0.69 +0.6 +0.51 +0.49 +0.58 +0.73 +0.86 +0.9 +0.85 +0.74 +0.65 +0.63 +0.68 +0.76 +0.8 +0.75 +0.62 +0.44 +0.3 +0.22 +0.22 +0.25 +0.29 +0.29 +0.27 +0.24 +0.24 +0.27 +0.31 +0.32 +0.27 +0.17 +0.06 +0.0 +0.02 +0.13 +0.29 +0.43 +0.48 +0.43 +0.29 +0.14 +0.05 +0.06 +0.18 +0.35 +0.5 +0.57 +0.53 +0.41 +0.27 +0.2 +0.24 +0.39 +0.58 +0.73 +0.77 +0.7 +0.58 +0.49 +0.49 +0.58 +0.69 +0.74 +0.7 +0.57 +0.42 +0.34 +0.37 +0.5 +0.64 +0.72 +0.69 +0.6 +0.51 +0.49 +0.58 +0.73 +0.86 +0.9 +0.85 +0.74 +0.65 +0.63 +0.68 +0.76 +0.8 +0.75 +0.74 +0.55 +0.33 +0.15 +0.05 +0.03 +0.06 +0.11 +0.15 +0.18 +0.23 +0.3 +0.37 +0.42 +0.43 +0.37 +0.28 +0.2 +0.17 +0.23 +0.35 +0.48 +0.56 +0.57 +0.49 +0.36 +0.23 +0.15 +0.14 +0.2 +0.29 +0.38 +0.41 +0.37 +0.28 +0.18 +0.14 +0.2 +0.36 +0.56 +0.72 +0.78 +0.74 +0.64 +0.56 +0.57 +0.66 +0.79 +0.88 +0.86 +0.75 +0.61 +0.53 +0.56 +0.7 +0.87 +1.02 +1.07 +1.06 +1.04 +1.05 +1.14 +1.26 +1.35 +1.35 +1.26 +1.12 +0.99 +0.91 +0.9 +0.9 +0.86 +0.74 +0.55 +0.33 +0.15 +0.05 +0.03 +0.06 +0.11 +0.15 +0.18 +0.23 +0.3 +0.37 +0.42 +0.43 +0.37 +0.28 +0.2 +0.17 +0.23 +0.35 +0.48 +0.56 +0.57 +0.49 +0.36 +0.23 +0.15 +0.14 +0.2 +0.29 +0.38 +0.41 +0.37 +0.28 +0.18 +0.14 +0.2 +0.36 +0.56 +0.72 +0.78 +0.74 +0.64 +0.56 +0.57 +0.66 +0.79 +0.88 +0.86 +0.75 +0.61 +0.53 +0.56 +0.7 +0.87 +1.02 +1.07 +1.06 +1.04 +1.05 +1.14 +1.26 +1.35 +1.35 +1.26 +1.12 +0.99 +0.91 +0.9 +0.9 +0.86 +0.74 +0.65 +0.42 +0.19 +0.01 +0.0 +0.0 +0.0 +0.0 +0.02 +0.09 +0.19 +0.3 +0.4 +0.46 +0.46 +0.39 +0.31 +0.26 +0.27 +0.35 +0.45 +0.53 +0.56 +0.51 +0.41 +0.31 +0.23 +0.18 +0.17 +0.19 +0.21 +0.22 +0.21 +0.17 +0.12 +0.07 +0.06 +0.14 +0.29 +0.47 +0.63 +0.73 +0.73 +0.69 +0.67 +0.72 +0.84 +1.0 +1.12 +1.15 +1.1 +1.0 +0.95 +1.0 +1.15 +1.35 +1.53 +1.63 +1.66 +1.66 +1.68 +1.73 +1.8 +1.83 +1.78 +1.65 +1.46 +1.27 +1.12 +1.02 +0.94 +0.82 +0.65 +0.42 +0.19 +0.01 +0.0 +0.0 +0.0 +0.0 +0.02 +0.09 +0.19 +0.3 +0.4 +0.46 +0.46 +0.39 +0.31 +0.26 +0.27 +0.35 +0.45 +0.53 +0.56 +0.51 +0.41 +0.31 +0.23 +0.18 +0.17 +0.19 +0.21 +0.22 +0.21 +0.17 +0.12 +0.07 +0.06 +0.14 +0.29 +0.47 +0.63 +0.73 +0.73 +0.69 +0.67 +0.72 +0.84 +1.0 +1.12 +1.15 +1.1 +1.0 +0.95 +1.0 +1.15 +1.35 +1.53 +1.63 +1.66 +1.66 +1.68 +1.73 +1.8 +1.83 +1.78 +1.65 +1.46 +1.27 +1.12 +1.02 +0.94 +0.82 +0.65 +0.54 +0.32 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.22 +0.32 +0.37 +0.34 +0.27 +0.2 +0.18 +0.23 +0.32 +0.41 +0.45 +0.41 +0.32 +0.23 +0.17 +0.15 +0.17 +0.18 +0.17 +0.14 +0.09 +0.04 +0.0 +0.0 +0.0 +0.0 +0.04 +0.16 +0.32 +0.48 +0.61 +0.69 +0.74 +0.8 +0.92 +1.1 +1.3 +1.48 +1.58 +1.61 +1.6 +1.62 +1.7 +1.86 +2.04 +2.2 +2.29 +2.3 +2.27 +2.24 +2.23 +2.22 +2.19 +2.08 +1.9 +1.67 +1.43 +1.22 +1.05 +0.9 +0.73 +0.54 +0.32 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.22 +0.32 +0.37 +0.34 +0.27 +0.2 +0.18 +0.23 +0.32 +0.41 +0.45 +0.41 +0.32 +0.23 +0.17 +0.15 +0.17 +0.18 +0.17 +0.14 +0.09 +0.04 +0.0 +0.0 +0.0 +0.0 +0.04 +0.16 +0.32 +0.48 +0.61 +0.69 +0.74 +0.8 +0.92 +1.1 +1.3 +1.48 +1.58 +1.61 +1.6 +1.62 +1.7 +1.86 +2.04 +2.2 +2.29 +2.3 +2.27 +2.24 +2.23 +2.22 +2.19 +2.08 +1.9 +1.67 +1.43 +1.22 +1.05 +0.9 +0.73 +0.54 +0.47 +0.28 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.15 +0.17 +0.12 +0.04 +0.0 +0.0 +0.08 +0.19 +0.26 +0.26 +0.18 +0.07 +0.0 +0.0 +0.04 +0.11 +0.16 +0.14 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.31 +0.49 +0.66 +0.82 +0.99 +1.19 +1.43 +1.7 +1.94 +2.14 +2.27 +2.36 +2.44 +2.55 +2.69 +2.82 +2.9 +2.91 +2.84 +2.72 +2.6 +2.5 +2.42 +2.32 +2.18 +1.97 +1.72 +1.45 +1.21 +1.0 +0.82 +0.65 +0.47 +0.28 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.15 +0.17 +0.12 +0.04 +0.0 +0.0 +0.08 +0.19 +0.26 +0.26 +0.18 +0.07 +0.0 +0.0 +0.04 +0.11 +0.16 +0.14 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.31 +0.49 +0.66 +0.82 +0.99 +1.19 +1.43 +1.7 +1.94 +2.14 +2.27 +2.36 +2.44 +2.55 +2.69 +2.82 +2.9 +2.91 +2.84 +2.72 +2.6 +2.5 +2.42 +2.32 +2.18 +1.97 +1.72 +1.45 +1.21 +1.0 +0.82 +0.65 +0.47 +0.48 +0.34 +0.21 +0.1 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.1 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.08 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.45 +0.72 +1.0 +1.27 +1.56 +1.86 +2.18 +2.49 +2.76 +2.98 +3.15 +3.28 +3.38 +3.45 +3.48 +3.44 +3.33 +3.14 +2.91 +2.68 +2.49 +2.34 +2.21 +2.05 +1.86 +1.62 +1.36 +1.13 +0.93 +0.77 +0.62 +0.48 +0.34 +0.21 +0.1 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.1 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.08 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.45 +0.72 +1.0 +1.27 +1.56 +1.86 +2.18 +2.49 +2.76 +2.98 +3.15 +3.28 +3.38 +3.45 +3.48 +3.44 +3.33 +3.14 +2.91 +2.68 +2.49 +2.34 +2.21 +2.05 +1.86 +1.62 +1.36 +1.13 +0.93 +0.77 +0.62 +0.48 +0.58 +0.48 +0.38 +0.3 +0.23 +0.17 +0.11 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.58 +0.96 +1.33 +1.68 +2.02 +2.36 +2.71 +3.05 +3.37 +3.64 +3.83 +3.94 +3.98 +3.95 +3.85 +3.68 +3.43 +3.13 +2.8 +2.49 +2.23 +2.04 +1.9 +1.77 +1.62 +1.43 +1.23 +1.04 +0.89 +0.77 +0.67 +0.58 +0.48 +0.38 +0.3 +0.23 +0.17 +0.11 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.58 +0.96 +1.33 +1.68 +2.02 +2.36 +2.71 +3.05 +3.37 +3.64 +3.83 +3.94 +3.98 +3.95 +3.85 +3.68 +3.43 +3.13 +2.8 +2.49 +2.23 +2.04 +1.9 +1.77 +1.62 +1.43 +1.23 +1.04 +0.89 +0.77 +0.67 +0.58 +0.73 +0.67 +0.59 +0.52 +0.45 +0.38 +0.3 +0.22 +0.16 +0.13 +0.13 +0.13 +0.11 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.46 +0.89 +1.34 +1.78 +2.17 +2.52 +2.85 +3.18 +3.51 +3.83 +4.09 +4.25 +4.29 +4.22 +4.06 +3.83 +3.54 +3.2 +2.83 +2.46 +2.11 +1.83 +1.63 +1.51 +1.42 +1.34 +1.23 +1.12 +1.0 +0.91 +0.85 +0.79 +0.73 +0.67 +0.59 +0.52 +0.45 +0.38 +0.3 +0.22 +0.16 +0.13 +0.13 +0.13 +0.11 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.46 +0.89 +1.34 +1.78 +2.17 +2.52 +2.85 +3.18 +3.51 +3.83 +4.09 +4.25 +4.29 +4.22 +4.06 +3.83 +3.54 +3.2 +2.83 +2.46 +2.11 +1.83 +1.63 +1.51 +1.42 +1.34 +1.23 +1.12 +1.0 +0.91 +0.85 +0.79 +0.73 +0.9 +0.85 +0.79 +0.72 +0.65 +0.57 +0.49 +0.41 +0.37 +0.37 +0.4 +0.44 +0.42 +0.33 +0.19 +0.07 +0.04 +0.12 +0.28 +0.43 +0.48 +0.39 +0.21 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.16 +0.43 +0.82 +1.3 +1.8 +2.25 +2.63 +2.93 +3.19 +3.45 +3.72 +3.99 +4.19 +4.29 +4.23 +4.04 +3.75 +3.41 +3.05 +2.7 +2.35 +2.0 +1.67 +1.4 +1.21 +1.11 +1.08 +1.07 +1.06 +1.04 +1.01 +0.98 +0.96 +0.94 +0.9 +0.85 +0.79 +0.72 +0.65 +0.57 +0.49 +0.41 +0.37 +0.37 +0.4 +0.44 +0.42 +0.33 +0.19 +0.07 +0.04 +0.12 +0.28 +0.43 +0.48 +0.39 +0.21 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.16 +0.43 +0.82 +1.3 +1.8 +2.25 +2.63 +2.93 +3.19 +3.45 +3.72 +3.99 +4.19 +4.29 +4.23 +4.04 +3.75 +3.41 +3.05 +2.7 +2.35 +2.0 +1.67 +1.4 +1.21 +1.11 +1.08 +1.07 +1.06 +1.04 +1.01 +0.98 +0.96 +0.94 +0.9 +1.04 +1.0 +0.94 +0.88 +0.81 +0.72 +0.63 +0.56 +0.54 +0.59 +0.69 +0.79 +0.81 +0.73 +0.58 +0.44 +0.41 +0.52 +0.71 +0.88 +0.94 +0.83 +0.61 +0.38 +0.21 +0.15 +0.14 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.29 +0.41 +0.57 +0.83 +1.21 +1.69 +2.17 +2.59 +2.9 +3.1 +3.24 +3.39 +3.57 +3.76 +3.91 +3.93 +3.78 +3.48 +3.1 +2.7 +2.34 +2.05 +1.79 +1.54 +1.29 +1.05 +0.87 +0.78 +0.77 +0.83 +0.91 +0.99 +1.04 +1.07 +1.08 +1.07 +1.04 +1.0 +0.94 +0.88 +0.81 +0.72 +0.63 +0.56 +0.54 +0.59 +0.69 +0.79 +0.81 +0.73 +0.58 +0.44 +0.41 +0.52 +0.71 +0.88 +0.94 +0.83 +0.61 +0.38 +0.21 +0.15 +0.14 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.29 +0.41 +0.57 +0.83 +1.21 +1.69 +2.17 +2.59 +2.9 +3.1 +3.24 +3.39 +3.57 +3.76 +3.91 +3.93 +3.78 +3.48 +3.1 +2.7 +2.34 +2.05 +1.79 +1.54 +1.29 +1.05 +0.87 +0.78 +0.77 +0.83 +0.91 +0.99 +1.04 +1.07 +1.08 +1.07 +1.04 +1.12 +1.09 +1.05 +1.0 +0.92 +0.82 +0.7 +0.62 +0.62 +0.72 +0.9 +1.06 +1.13 +1.07 +0.91 +0.76 +0.72 +0.85 +1.08 +1.3 +1.37 +1.25 +1.0 +0.73 +0.53 +0.45 +0.43 +0.37 +0.23 +0.02 +0.0 +0.0 +0.0 +0.08 +0.39 +0.66 +0.84 +0.96 +1.07 +1.25 +1.55 +1.93 +2.34 +2.67 +2.88 +2.95 +2.96 +2.97 +3.05 +3.18 +3.28 +3.26 +3.07 +2.71 +2.27 +1.87 +1.57 +1.4 +1.29 +1.17 +1.01 +0.81 +0.63 +0.52 +0.53 +0.63 +0.78 +0.94 +1.07 +1.14 +1.16 +1.15 +1.12 +1.09 +1.05 +1.0 +0.92 +0.82 +0.7 +0.62 +0.62 +0.72 +0.9 +1.06 +1.13 +1.07 +0.91 +0.76 +0.72 +0.85 +1.08 +1.3 +1.37 +1.25 +1.0 +0.73 +0.53 +0.45 +0.43 +0.37 +0.23 +0.02 +0.0 +0.0 +0.0 +0.08 +0.39 +0.66 +0.84 +0.96 +1.07 +1.25 +1.55 +1.93 +2.34 +2.67 +2.88 +2.95 +2.96 +2.97 +3.05 +3.18 +3.28 +3.26 +3.07 +2.71 +2.27 +1.87 +1.57 +1.4 +1.29 +1.17 +1.01 +0.81 +0.63 +0.52 +0.53 +0.63 +0.78 +0.94 +1.07 +1.14 +1.16 +1.15 +1.12 +1.15 +1.13 +1.11 +1.07 +0.99 +0.85 +0.69 +0.58 +0.58 +0.72 +0.96 +1.19 +1.31 +1.26 +1.08 +0.9 +0.85 +0.99 +1.26 +1.53 +1.63 +1.52 +1.25 +0.94 +0.73 +0.66 +0.66 +0.64 +0.53 +0.33 +0.14 +0.08 +0.22 +0.53 +0.93 +1.27 +1.48 +1.56 +1.56 +1.6 +1.74 +1.98 +2.27 +2.5 +2.59 +2.54 +2.41 +2.3 +2.3 +2.38 +2.49 +2.48 +2.3 +1.93 +1.49 +1.11 +0.89 +0.85 +0.9 +0.94 +0.87 +0.7 +0.49 +0.34 +0.33 +0.45 +0.66 +0.89 +1.07 +1.17 +1.19 +1.17 +1.15 +1.13 +1.11 +1.07 +0.99 +0.85 +0.69 +0.58 +0.58 +0.72 +0.96 +1.19 +1.31 +1.26 +1.08 +0.9 +0.85 +0.99 +1.26 +1.53 +1.63 +1.52 +1.25 +0.94 +0.73 +0.66 +0.66 +0.64 +0.53 +0.33 +0.14 +0.08 +0.22 +0.53 +0.93 +1.27 +1.48 +1.56 +1.56 +1.6 +1.74 +1.98 +2.27 +2.5 +2.59 +2.54 +2.41 +2.3 +2.3 +2.38 +2.49 +2.48 +2.3 +1.93 +1.49 +1.11 +0.89 +0.85 +0.9 +0.94 +0.87 +0.7 +0.49 +0.34 +0.33 +0.45 +0.66 +0.89 +1.07 +1.17 +1.19 +1.17 +1.15 +1.13 +1.12 +1.13 +1.11 +1.02 +0.85 +0.63 +0.47 +0.45 +0.6 +0.89 +1.17 +1.32 +1.27 +1.06 +0.84 +0.76 +0.9 +1.2 +1.51 +1.65 +1.56 +1.28 +0.97 +0.77 +0.73 +0.79 +0.85 +0.8 +0.66 +0.51 +0.47 +0.65 +1.02 +1.48 +1.87 +2.09 +2.09 +1.96 +1.82 +1.77 +1.85 +2.01 +2.14 +2.14 +2.0 +1.78 +1.59 +1.53 +1.62 +1.76 +1.81 +1.67 +1.34 +0.92 +0.57 +0.43 +0.5 +0.69 +0.84 +0.84 +0.68 +0.44 +0.24 +0.19 +0.31 +0.56 +0.84 +1.05 +1.17 +1.19 +1.16 +1.13 +1.12 +1.13 +1.11 +1.02 +0.85 +0.63 +0.47 +0.45 +0.6 +0.89 +1.17 +1.32 +1.27 +1.06 +0.84 +0.76 +0.9 +1.2 +1.51 +1.65 +1.56 +1.28 +0.97 +0.77 +0.73 +0.79 +0.85 +0.8 +0.66 +0.51 +0.47 +0.65 +1.02 +1.48 +1.87 +2.09 +2.09 +1.96 +1.82 +1.77 +1.85 +2.01 +2.14 +2.14 +2.0 +1.78 +1.59 +1.53 +1.62 +1.76 +1.81 +1.67 +1.34 +0.92 +0.57 +0.43 +0.5 +0.69 +0.84 +0.84 +0.68 +0.44 +0.24 +0.19 +0.31 +0.56 +0.84 +1.05 +1.17 +1.19 +1.16 +1.13 +1.1 +1.11 +1.14 +1.13 +1.02 +0.81 +0.55 +0.34 +0.29 +0.44 +0.74 +1.05 +1.21 +1.15 +0.91 +0.65 +0.53 +0.66 +0.97 +1.31 +1.49 +1.43 +1.18 +0.89 +0.71 +0.71 +0.85 +1.0 +1.05 +0.99 +0.88 +0.87 +1.06 +1.45 +1.92 +2.33 +2.52 +2.45 +2.18 +1.87 +1.65 +1.58 +1.64 +1.72 +1.69 +1.52 +1.27 +1.05 +0.98 +1.08 +1.28 +1.41 +1.35 +1.06 +0.67 +0.35 +0.24 +0.37 +0.64 +0.87 +0.92 +0.75 +0.47 +0.22 +0.13 +0.24 +0.5 +0.8 +1.03 +1.15 +1.16 +1.13 +1.1 +1.11 +1.14 +1.13 +1.02 +0.81 +0.55 +0.34 +0.29 +0.44 +0.74 +1.05 +1.21 +1.15 +0.91 +0.65 +0.53 +0.66 +0.97 +1.31 +1.49 +1.43 +1.18 +0.89 +0.71 +0.71 +0.85 +1.0 +1.05 +0.99 +0.88 +0.87 +1.06 +1.45 +1.92 +2.33 +2.52 +2.45 +2.18 +1.87 +1.65 +1.58 +1.64 +1.72 +1.69 +1.52 +1.27 +1.05 +0.98 +1.08 +1.28 +1.41 +1.35 +1.06 +0.67 +0.35 +0.24 +0.37 +0.64 +0.87 +0.92 +0.75 +0.47 +0.22 +0.13 +0.24 +0.5 +0.8 +1.03 +1.15 +1.16 +1.13 +1.1 +1.09 +1.11 +1.15 +1.14 +1.02 +0.79 +0.5 +0.25 +0.17 +0.29 +0.58 +0.89 +1.05 +0.99 +0.74 +0.45 +0.31 +0.42 +0.73 +1.09 +1.33 +1.32 +1.12 +0.87 +0.72 +0.77 +0.97 +1.2 +1.33 +1.33 +1.26 +1.24 +1.4 +1.74 +2.17 +2.53 +2.67 +2.53 +2.17 +1.74 +1.4 +1.24 +1.26 +1.33 +1.33 +1.2 +0.97 +0.77 +0.72 +0.87 +1.12 +1.32 +1.33 +1.09 +0.73 +0.42 +0.31 +0.45 +0.74 +0.99 +1.05 +0.89 +0.58 +0.29 +0.17 +0.25 +0.5 +0.79 +1.02 +1.14 +1.15 +1.11 +1.09 +1.11 +1.15 +1.14 +1.02 +0.79 +0.5 +0.25 +0.17 +0.29 +0.58 +0.89 +1.05 +0.99 +0.74 +0.45 +0.31 +0.42 +0.73 +1.09 +1.33 +1.32 +1.12 +0.87 +0.72 +0.77 +0.97 +1.2 +1.33 +1.33 +1.26 +1.24 +1.4 +1.74 +2.17 +2.53 +2.67 +2.53 +2.17 +1.74 +1.4 +1.24 +1.26 +1.33 +1.33 +1.2 +0.97 +0.77 +0.72 +0.87 +1.12 +1.32 +1.33 +1.09 +0.73 +0.42 +0.31 +0.45 +0.74 +0.99 +1.05 +0.89 +0.58 +0.29 +0.17 +0.25 +0.5 +0.79 +1.02 +1.14 +1.15 +1.11 +1.09 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.39 +0.49 +0.65 +0.85 +1.06 +1.29 +1.53 +1.79 +2.03 +2.22 +2.3 +2.25 +2.09 +1.86 +1.61 +1.37 +1.14 +0.92 +0.72 +0.54 +0.43 +0.38 +0.36 +0.33 +0.23 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.25 +0.37 +0.4 +0.41 +0.45 +0.55 +0.71 +0.91 +1.13 +1.35 +1.59 +1.83 +2.04 +2.19 +2.24 +2.16 +1.99 +1.76 +1.51 +1.27 +1.05 +0.84 +0.65 +0.5 +0.41 +0.39 +0.4 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.35 +0.36 +0.36 +0.39 +0.49 +0.65 +0.85 +1.06 +1.29 +1.53 +1.79 +2.03 +2.22 +2.3 +2.25 +2.09 +1.86 +1.61 +1.37 +1.14 +0.92 +0.72 +0.54 +0.43 +0.38 +0.36 +0.33 +0.23 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.25 +0.37 +0.4 +0.41 +0.45 +0.55 +0.71 +0.91 +1.13 +1.35 +1.59 +1.83 +2.04 +2.19 +2.24 +2.16 +1.99 +1.76 +1.51 +1.27 +1.05 +0.84 +0.65 +0.5 +0.41 +0.39 +0.4 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.35 +0.36 +0.36 +0.39 +0.28 +0.36 +0.51 +0.7 +0.91 +1.16 +1.44 +1.75 +2.06 +2.31 +2.44 +2.43 +2.28 +2.03 +1.76 +1.48 +1.23 +0.99 +0.78 +0.59 +0.46 +0.4 +0.38 +0.37 +0.3 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.46 +0.5 +0.5 +0.51 +0.59 +0.72 +0.92 +1.15 +1.4 +1.66 +1.9 +2.11 +2.23 +2.23 +2.12 +1.91 +1.65 +1.38 +1.12 +0.88 +0.67 +0.51 +0.41 +0.38 +0.42 +0.48 +0.5 +0.42 +0.25 +0.05 +0.0 +0.0 +0.0 +0.07 +0.25 +0.35 +0.37 +0.33 +0.28 +0.28 +0.36 +0.51 +0.7 +0.91 +1.16 +1.44 +1.75 +2.06 +2.31 +2.44 +2.43 +2.28 +2.03 +1.76 +1.48 +1.23 +0.99 +0.78 +0.59 +0.46 +0.4 +0.38 +0.37 +0.3 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.46 +0.5 +0.5 +0.51 +0.59 +0.72 +0.92 +1.15 +1.4 +1.66 +1.9 +2.11 +2.23 +2.23 +2.12 +1.91 +1.65 +1.38 +1.12 +0.88 +0.67 +0.51 +0.41 +0.38 +0.42 +0.48 +0.5 +0.42 +0.25 +0.05 +0.0 +0.0 +0.0 +0.07 +0.25 +0.35 +0.37 +0.33 +0.28 +0.28 +0.18 +0.23 +0.35 +0.52 +0.73 +0.98 +1.3 +1.67 +2.05 +2.38 +2.59 +2.63 +2.5 +2.26 +1.96 +1.67 +1.4 +1.17 +0.95 +0.77 +0.63 +0.56 +0.54 +0.54 +0.51 +0.42 +0.26 +0.1 +0.0 +0.0 +0.12 +0.32 +0.5 +0.62 +0.66 +0.64 +0.62 +0.64 +0.74 +0.91 +1.15 +1.43 +1.71 +1.96 +2.14 +2.21 +2.17 +2.01 +1.78 +1.5 +1.22 +0.94 +0.69 +0.49 +0.36 +0.32 +0.37 +0.48 +0.59 +0.63 +0.57 +0.43 +0.26 +0.14 +0.12 +0.2 +0.33 +0.43 +0.46 +0.4 +0.3 +0.21 +0.18 +0.23 +0.35 +0.52 +0.73 +0.98 +1.3 +1.67 +2.05 +2.38 +2.59 +2.63 +2.5 +2.26 +1.96 +1.67 +1.4 +1.17 +0.95 +0.77 +0.63 +0.56 +0.54 +0.54 +0.51 +0.42 +0.26 +0.1 +0.0 +0.0 +0.12 +0.32 +0.5 +0.62 +0.66 +0.64 +0.62 +0.64 +0.74 +0.91 +1.15 +1.43 +1.71 +1.96 +2.14 +2.21 +2.17 +2.01 +1.78 +1.5 +1.22 +0.94 +0.69 +0.49 +0.36 +0.32 +0.37 +0.48 +0.59 +0.63 +0.57 +0.43 +0.26 +0.14 +0.12 +0.2 +0.33 +0.43 +0.46 +0.4 +0.3 +0.21 +0.18 +0.13 +0.15 +0.24 +0.37 +0.54 +0.79 +1.11 +1.52 +1.96 +2.36 +2.64 +2.75 +2.67 +2.45 +2.18 +1.9 +1.66 +1.46 +1.28 +1.11 +0.97 +0.89 +0.87 +0.89 +0.9 +0.85 +0.72 +0.55 +0.41 +0.36 +0.42 +0.57 +0.73 +0.85 +0.88 +0.83 +0.75 +0.71 +0.74 +0.89 +1.12 +1.41 +1.7 +1.94 +2.08 +2.11 +2.02 +1.84 +1.6 +1.34 +1.06 +0.8 +0.55 +0.37 +0.27 +0.29 +0.4 +0.56 +0.69 +0.73 +0.66 +0.52 +0.38 +0.31 +0.33 +0.43 +0.53 +0.58 +0.54 +0.43 +0.29 +0.17 +0.13 +0.15 +0.24 +0.37 +0.54 +0.79 +1.11 +1.52 +1.96 +2.36 +2.64 +2.75 +2.67 +2.45 +2.18 +1.9 +1.66 +1.46 +1.28 +1.11 +0.97 +0.89 +0.87 +0.89 +0.9 +0.85 +0.72 +0.55 +0.41 +0.36 +0.42 +0.57 +0.73 +0.85 +0.88 +0.83 +0.75 +0.71 +0.74 +0.89 +1.12 +1.41 +1.7 +1.94 +2.08 +2.11 +2.02 +1.84 +1.6 +1.34 +1.06 +0.8 +0.55 +0.37 +0.27 +0.29 +0.4 +0.56 +0.69 +0.73 +0.66 +0.52 +0.38 +0.31 +0.33 +0.43 +0.53 +0.58 +0.54 +0.43 +0.29 +0.17 +0.13 +0.13 +0.14 +0.19 +0.27 +0.39 +0.59 +0.89 +1.29 +1.76 +2.2 +2.55 +2.72 +2.71 +2.56 +2.34 +2.13 +1.95 +1.81 +1.68 +1.54 +1.41 +1.32 +1.3 +1.32 +1.36 +1.33 +1.22 +1.04 +0.85 +0.73 +0.73 +0.84 +0.98 +1.09 +1.1 +1.01 +0.88 +0.76 +0.74 +0.85 +1.07 +1.36 +1.65 +1.86 +1.96 +1.94 +1.81 +1.63 +1.41 +1.19 +0.95 +0.71 +0.49 +0.33 +0.27 +0.33 +0.47 +0.64 +0.75 +0.75 +0.64 +0.49 +0.38 +0.35 +0.42 +0.54 +0.63 +0.64 +0.57 +0.43 +0.29 +0.18 +0.13 +0.14 +0.19 +0.27 +0.39 +0.59 +0.89 +1.29 +1.76 +2.2 +2.55 +2.72 +2.71 +2.56 +2.34 +2.13 +1.95 +1.81 +1.68 +1.54 +1.41 +1.32 +1.3 +1.32 +1.36 +1.33 +1.22 +1.04 +0.85 +0.73 +0.73 +0.84 +0.98 +1.09 +1.1 +1.01 +0.88 +0.76 +0.74 +0.85 +1.07 +1.36 +1.65 +1.86 +1.96 +1.94 +1.81 +1.63 +1.41 +1.19 +0.95 +0.71 +0.49 +0.33 +0.27 +0.33 +0.47 +0.64 +0.75 +0.75 +0.64 +0.49 +0.38 +0.35 +0.42 +0.54 +0.63 +0.64 +0.57 +0.43 +0.29 +0.18 +0.13 +0.17 +0.16 +0.17 +0.19 +0.25 +0.39 +0.65 +1.02 +1.46 +1.92 +2.29 +2.52 +2.59 +2.53 +2.4 +2.28 +2.19 +2.12 +2.03 +1.92 +1.79 +1.68 +1.65 +1.67 +1.72 +1.71 +1.61 +1.41 +1.18 +1.01 +0.96 +1.04 +1.17 +1.26 +1.26 +1.14 +0.95 +0.79 +0.73 +0.82 +1.03 +1.32 +1.59 +1.77 +1.82 +1.76 +1.61 +1.43 +1.25 +1.08 +0.89 +0.69 +0.5 +0.36 +0.33 +0.41 +0.56 +0.71 +0.76 +0.7 +0.54 +0.37 +0.28 +0.31 +0.42 +0.57 +0.65 +0.64 +0.55 +0.41 +0.28 +0.2 +0.17 +0.16 +0.17 +0.19 +0.25 +0.39 +0.65 +1.02 +1.46 +1.92 +2.29 +2.52 +2.59 +2.53 +2.4 +2.28 +2.19 +2.12 +2.03 +1.92 +1.79 +1.68 +1.65 +1.67 +1.72 +1.71 +1.61 +1.41 +1.18 +1.01 +0.96 +1.04 +1.17 +1.26 +1.26 +1.14 +0.95 +0.79 +0.73 +0.82 +1.03 +1.32 +1.59 +1.77 +1.82 +1.76 +1.61 +1.43 +1.25 +1.08 +0.89 +0.69 +0.5 +0.36 +0.33 +0.41 +0.56 +0.71 +0.76 +0.7 +0.54 +0.37 +0.28 +0.31 +0.42 +0.57 +0.65 +0.64 +0.55 +0.41 +0.28 +0.2 +0.17 +0.17 +0.16 +0.13 +0.1 +0.11 +0.19 +0.4 +0.72 +1.13 +1.56 +1.92 +2.19 +2.32 +2.36 +2.34 +2.32 +2.31 +2.29 +2.22 +2.1 +1.96 +1.83 +1.78 +1.81 +1.86 +1.87 +1.77 +1.56 +1.32 +1.13 +1.06 +1.12 +1.23 +1.31 +1.29 +1.15 +0.95 +0.77 +0.71 +0.81 +1.03 +1.32 +1.57 +1.72 +1.74 +1.64 +1.49 +1.32 +1.16 +1.02 +0.87 +0.7 +0.53 +0.42 +0.4 +0.49 +0.63 +0.74 +0.74 +0.61 +0.41 +0.24 +0.19 +0.26 +0.43 +0.59 +0.66 +0.63 +0.5 +0.36 +0.25 +0.19 +0.17 +0.16 +0.13 +0.1 +0.11 +0.19 +0.4 +0.72 +1.13 +1.56 +1.92 +2.19 +2.32 +2.36 +2.34 +2.32 +2.31 +2.29 +2.22 +2.1 +1.96 +1.83 +1.78 +1.81 +1.86 +1.87 +1.77 +1.56 +1.32 +1.13 +1.06 +1.12 +1.23 +1.31 +1.29 +1.15 +0.95 +0.77 +0.71 +0.81 +1.03 +1.32 +1.57 +1.72 +1.74 +1.64 +1.49 +1.32 +1.16 +1.02 +0.87 +0.7 +0.53 +0.42 +0.4 +0.49 +0.63 +0.74 +0.74 +0.61 +0.41 +0.24 +0.19 +0.26 +0.43 +0.59 +0.66 +0.63 +0.5 +0.36 +0.25 +0.19 +0.17 +0.12 +0.09 +0.02 +0.0 +0.0 +0.0 +0.17 +0.45 +0.81 +1.18 +1.51 +1.78 +1.96 +2.09 +2.18 +2.26 +2.31 +2.32 +2.24 +2.1 +1.93 +1.8 +1.74 +1.78 +1.84 +1.85 +1.75 +1.55 +1.31 +1.12 +1.05 +1.09 +1.18 +1.24 +1.2 +1.05 +0.86 +0.72 +0.7 +0.83 +1.07 +1.36 +1.6 +1.73 +1.73 +1.62 +1.45 +1.29 +1.15 +1.02 +0.88 +0.71 +0.56 +0.45 +0.45 +0.54 +0.67 +0.74 +0.7 +0.53 +0.32 +0.18 +0.17 +0.3 +0.5 +0.66 +0.71 +0.62 +0.47 +0.31 +0.2 +0.15 +0.12 +0.09 +0.02 +0.0 +0.0 +0.0 +0.17 +0.45 +0.81 +1.18 +1.51 +1.78 +1.96 +2.09 +2.18 +2.26 +2.31 +2.32 +2.24 +2.1 +1.93 +1.8 +1.74 +1.78 +1.84 +1.85 +1.75 +1.55 +1.31 +1.12 +1.05 +1.09 +1.18 +1.24 +1.2 +1.05 +0.86 +0.72 +0.7 +0.83 +1.07 +1.36 +1.6 +1.73 +1.73 +1.62 +1.45 +1.29 +1.15 +1.02 +0.88 +0.71 +0.56 +0.45 +0.45 +0.54 +0.67 +0.74 +0.7 +0.53 +0.32 +0.18 +0.17 +0.3 +0.5 +0.66 +0.71 +0.62 +0.47 +0.31 +0.2 +0.15 +0.12 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.54 +0.84 +1.12 +1.37 +1.59 +1.79 +1.98 +2.15 +2.26 +2.29 +2.21 +2.06 +1.89 +1.77 +1.74 +1.79 +1.86 +1.86 +1.76 +1.55 +1.31 +1.13 +1.05 +1.06 +1.11 +1.12 +1.04 +0.9 +0.74 +0.66 +0.69 +0.86 +1.12 +1.41 +1.63 +1.74 +1.73 +1.62 +1.47 +1.31 +1.17 +1.04 +0.89 +0.72 +0.56 +0.47 +0.48 +0.58 +0.7 +0.75 +0.68 +0.5 +0.31 +0.2 +0.25 +0.43 +0.65 +0.8 +0.79 +0.65 +0.45 +0.26 +0.14 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.54 +0.84 +1.12 +1.37 +1.59 +1.79 +1.98 +2.15 +2.26 +2.29 +2.21 +2.06 +1.89 +1.77 +1.74 +1.79 +1.86 +1.86 +1.76 +1.55 +1.31 +1.13 +1.05 +1.06 +1.11 +1.12 +1.04 +0.9 +0.74 +0.66 +0.69 +0.86 +1.12 +1.41 +1.63 +1.74 +1.73 +1.62 +1.47 +1.31 +1.17 +1.04 +0.89 +0.72 +0.56 +0.47 +0.48 +0.58 +0.7 +0.75 +0.68 +0.5 +0.31 +0.2 +0.25 +0.43 +0.65 +0.8 +0.79 +0.65 +0.45 +0.26 +0.14 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.34 +0.58 +0.8 +1.01 +1.26 +1.53 +1.82 +2.08 +2.27 +2.34 +2.31 +2.19 +2.07 +2.01 +2.03 +2.11 +2.17 +2.15 +2.0 +1.76 +1.5 +1.3 +1.18 +1.13 +1.1 +1.04 +0.92 +0.77 +0.65 +0.62 +0.7 +0.89 +1.14 +1.39 +1.58 +1.67 +1.66 +1.57 +1.44 +1.3 +1.17 +1.04 +0.88 +0.71 +0.57 +0.49 +0.52 +0.62 +0.74 +0.78 +0.7 +0.53 +0.36 +0.3 +0.39 +0.61 +0.83 +0.94 +0.88 +0.68 +0.44 +0.24 +0.12 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.34 +0.58 +0.8 +1.01 +1.26 +1.53 +1.82 +2.08 +2.27 +2.34 +2.31 +2.19 +2.07 +2.01 +2.03 +2.11 +2.17 +2.15 +2.0 +1.76 +1.5 +1.3 +1.18 +1.13 +1.1 +1.04 +0.92 +0.77 +0.65 +0.62 +0.7 +0.89 +1.14 +1.39 +1.58 +1.67 +1.66 +1.57 +1.44 +1.3 +1.17 +1.04 +0.88 +0.71 +0.57 +0.49 +0.52 +0.62 +0.74 +0.78 +0.7 +0.53 +0.36 +0.3 +0.39 +0.61 +0.83 +0.94 +0.88 +0.68 +0.44 +0.24 +0.12 +0.05 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.25 +0.42 +0.58 +0.77 +1.03 +1.37 +1.76 +2.13 +2.42 +2.58 +2.63 +2.62 +2.61 +2.66 +2.76 +2.87 +2.9 +2.81 +2.58 +2.27 +1.95 +1.69 +1.5 +1.36 +1.23 +1.07 +0.89 +0.74 +0.64 +0.65 +0.75 +0.91 +1.09 +1.26 +1.38 +1.44 +1.43 +1.37 +1.28 +1.18 +1.08 +0.96 +0.83 +0.68 +0.57 +0.53 +0.58 +0.69 +0.8 +0.82 +0.74 +0.57 +0.43 +0.41 +0.53 +0.75 +0.95 +1.02 +0.91 +0.68 +0.43 +0.24 +0.14 +0.09 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.25 +0.42 +0.58 +0.77 +1.03 +1.37 +1.76 +2.13 +2.42 +2.58 +2.63 +2.62 +2.61 +2.66 +2.76 +2.87 +2.9 +2.81 +2.58 +2.27 +1.95 +1.69 +1.5 +1.36 +1.23 +1.07 +0.89 +0.74 +0.64 +0.65 +0.75 +0.91 +1.09 +1.26 +1.38 +1.44 +1.43 +1.37 +1.28 +1.18 +1.08 +0.96 +0.83 +0.68 +0.57 +0.53 +0.58 +0.69 +0.8 +0.82 +0.74 +0.57 +0.43 +0.41 +0.53 +0.75 +0.95 +1.02 +0.91 +0.68 +0.43 +0.24 +0.14 +0.09 +0.02 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.25 +0.39 +0.51 +0.68 +0.95 +1.35 +1.83 +2.3 +2.7 +2.98 +3.15 +3.28 +3.43 +3.6 +3.79 +3.91 +3.88 +3.69 +3.35 +2.94 +2.54 +2.2 +1.93 +1.69 +1.45 +1.2 +0.97 +0.81 +0.74 +0.75 +0.82 +0.91 +0.99 +1.04 +1.07 +1.07 +1.06 +1.03 +0.99 +0.94 +0.88 +0.8 +0.71 +0.62 +0.56 +0.56 +0.64 +0.75 +0.85 +0.85 +0.76 +0.6 +0.48 +0.48 +0.61 +0.81 +0.97 +0.99 +0.85 +0.61 +0.39 +0.24 +0.19 +0.18 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.25 +0.39 +0.51 +0.68 +0.95 +1.35 +1.83 +2.3 +2.7 +2.98 +3.15 +3.28 +3.43 +3.6 +3.79 +3.91 +3.88 +3.69 +3.35 +2.94 +2.54 +2.2 +1.93 +1.69 +1.45 +1.2 +0.97 +0.81 +0.74 +0.75 +0.82 +0.91 +0.99 +1.04 +1.07 +1.07 +1.06 +1.03 +0.99 +0.94 +0.88 +0.8 +0.71 +0.62 +0.56 +0.56 +0.64 +0.75 +0.85 +0.85 +0.76 +0.6 +0.48 +0.48 +0.61 +0.81 +0.97 +0.99 +0.85 +0.61 +0.39 +0.24 +0.19 +0.18 +0.13 +0.26 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.35 +0.47 +0.56 +0.72 +1.01 +1.44 +1.98 +2.52 +3.0 +3.37 +3.66 +3.93 +4.22 +4.51 +4.75 +4.86 +4.76 +4.45 +4.0 +3.49 +3.03 +2.63 +2.3 +1.98 +1.66 +1.35 +1.1 +0.95 +0.89 +0.91 +0.93 +0.92 +0.87 +0.79 +0.72 +0.67 +0.65 +0.64 +0.63 +0.62 +0.6 +0.57 +0.54 +0.52 +0.52 +0.57 +0.67 +0.78 +0.85 +0.83 +0.72 +0.57 +0.47 +0.48 +0.6 +0.78 +0.89 +0.87 +0.71 +0.49 +0.31 +0.23 +0.25 +0.29 +0.26 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.35 +0.47 +0.56 +0.72 +1.01 +1.44 +1.98 +2.52 +3.0 +3.37 +3.66 +3.93 +4.22 +4.51 +4.75 +4.86 +4.76 +4.45 +4.0 +3.49 +3.03 +2.63 +2.3 +1.98 +1.66 +1.35 +1.1 +0.95 +0.89 +0.91 +0.93 +0.92 +0.87 +0.79 +0.72 +0.67 +0.65 +0.64 +0.63 +0.62 +0.6 +0.57 +0.54 +0.52 +0.52 +0.57 +0.67 +0.78 +0.85 +0.83 +0.72 +0.57 +0.47 +0.48 +0.6 +0.78 +0.89 +0.87 +0.71 +0.49 +0.31 +0.23 +0.25 +0.29 +0.26 +0.36 +0.23 +0.03 +0.0 +0.0 +0.0 +0.12 +0.35 +0.53 +0.64 +0.72 +0.86 +1.14 +1.57 +2.1 +2.65 +3.15 +3.56 +3.91 +4.26 +4.63 +4.98 +5.23 +5.3 +5.12 +4.72 +4.19 +3.64 +3.16 +2.76 +2.41 +2.07 +1.73 +1.42 +1.18 +1.06 +1.04 +1.05 +1.03 +0.94 +0.78 +0.6 +0.45 +0.36 +0.33 +0.33 +0.34 +0.34 +0.34 +0.34 +0.35 +0.39 +0.45 +0.55 +0.66 +0.76 +0.8 +0.75 +0.62 +0.48 +0.39 +0.42 +0.54 +0.69 +0.76 +0.7 +0.53 +0.32 +0.19 +0.19 +0.27 +0.36 +0.36 +0.23 +0.03 +0.0 +0.0 +0.0 +0.12 +0.35 +0.53 +0.64 +0.72 +0.86 +1.14 +1.57 +2.1 +2.65 +3.15 +3.56 +3.91 +4.26 +4.63 +4.98 +5.23 +5.3 +5.12 +4.72 +4.19 +3.64 +3.16 +2.76 +2.41 +2.07 +1.73 +1.42 +1.18 +1.06 +1.04 +1.05 +1.03 +0.94 +0.78 +0.6 +0.45 +0.36 +0.33 +0.33 +0.34 +0.34 +0.34 +0.34 +0.35 +0.39 +0.45 +0.55 +0.66 +0.76 +0.8 +0.75 +0.62 +0.48 +0.39 +0.42 +0.54 +0.69 +0.76 +0.7 +0.53 +0.32 +0.19 +0.19 +0.27 +0.36 +0.36 +0.38 +0.28 +0.11 +0.0 +0.0 +0.09 +0.32 +0.57 +0.75 +0.84 +0.9 +1.01 +1.25 +1.64 +2.11 +2.6 +3.02 +3.38 +3.71 +4.05 +4.42 +4.77 +4.99 +5.0 +4.76 +4.31 +3.77 +3.25 +2.83 +2.5 +2.21 +1.92 +1.61 +1.34 +1.15 +1.08 +1.1 +1.13 +1.1 +0.96 +0.74 +0.51 +0.33 +0.23 +0.2 +0.2 +0.21 +0.2 +0.18 +0.18 +0.2 +0.27 +0.37 +0.5 +0.62 +0.69 +0.69 +0.61 +0.46 +0.33 +0.28 +0.34 +0.47 +0.6 +0.63 +0.54 +0.36 +0.17 +0.08 +0.11 +0.24 +0.36 +0.38 +0.28 +0.11 +0.0 +0.0 +0.09 +0.32 +0.57 +0.75 +0.84 +0.9 +1.01 +1.25 +1.64 +2.11 +2.6 +3.02 +3.38 +3.71 +4.05 +4.42 +4.77 +4.99 +5.0 +4.76 +4.31 +3.77 +3.25 +2.83 +2.5 +2.21 +1.92 +1.61 +1.34 +1.15 +1.08 +1.1 +1.13 +1.1 +0.96 +0.74 +0.51 +0.33 +0.23 +0.2 +0.2 +0.21 +0.2 +0.18 +0.18 +0.2 +0.27 +0.37 +0.5 +0.62 +0.69 +0.69 +0.61 +0.46 +0.33 +0.28 +0.34 +0.47 +0.6 +0.63 +0.54 +0.36 +0.17 +0.08 +0.11 +0.24 +0.36 +0.38 +0.36 +0.3 +0.17 +0.09 +0.12 +0.29 +0.53 +0.77 +0.93 +0.99 +1.01 +1.08 +1.26 +1.56 +1.93 +2.29 +2.59 +2.83 +3.05 +3.32 +3.63 +3.92 +4.08 +4.04 +3.76 +3.32 +2.84 +2.42 +2.12 +1.92 +1.75 +1.56 +1.33 +1.12 +1.0 +0.98 +1.04 +1.1 +1.08 +0.95 +0.75 +0.52 +0.35 +0.27 +0.25 +0.26 +0.25 +0.22 +0.17 +0.13 +0.14 +0.21 +0.32 +0.46 +0.58 +0.63 +0.58 +0.45 +0.29 +0.17 +0.16 +0.25 +0.4 +0.53 +0.54 +0.43 +0.24 +0.06 +0.0 +0.04 +0.19 +0.32 +0.36 +0.3 +0.17 +0.09 +0.12 +0.29 +0.53 +0.77 +0.93 +0.99 +1.01 +1.08 +1.26 +1.56 +1.93 +2.29 +2.59 +2.83 +3.05 +3.32 +3.63 +3.92 +4.08 +4.04 +3.76 +3.32 +2.84 +2.42 +2.12 +1.92 +1.75 +1.56 +1.33 +1.12 +1.0 +0.98 +1.04 +1.1 +1.08 +0.95 +0.75 +0.52 +0.35 +0.27 +0.25 +0.26 +0.25 +0.22 +0.17 +0.13 +0.14 +0.21 +0.32 +0.46 +0.58 +0.63 +0.58 +0.45 +0.29 +0.17 +0.16 +0.25 +0.4 +0.53 +0.54 +0.43 +0.24 +0.06 +0.0 +0.04 +0.19 +0.32 +0.36 +0.36 +0.31 +0.23 +0.2 +0.28 +0.47 +0.71 +0.91 +1.01 +1.02 +0.99 +1.01 +1.12 +1.32 +1.56 +1.77 +1.92 +2.01 +2.11 +2.26 +2.48 +2.7 +2.82 +2.74 +2.48 +2.09 +1.7 +1.42 +1.28 +1.24 +1.22 +1.14 +1.01 +0.86 +0.78 +0.78 +0.87 +0.96 +0.98 +0.91 +0.75 +0.58 +0.45 +0.4 +0.4 +0.42 +0.41 +0.36 +0.28 +0.2 +0.18 +0.22 +0.33 +0.47 +0.57 +0.59 +0.5 +0.33 +0.15 +0.04 +0.05 +0.18 +0.36 +0.5 +0.51 +0.38 +0.19 +0.02 +0.0 +0.03 +0.18 +0.31 +0.36 +0.31 +0.23 +0.2 +0.28 +0.47 +0.71 +0.91 +1.01 +1.02 +0.99 +1.01 +1.12 +1.32 +1.56 +1.77 +1.92 +2.01 +2.11 +2.26 +2.48 +2.7 +2.82 +2.74 +2.48 +2.09 +1.7 +1.42 +1.28 +1.24 +1.22 +1.14 +1.01 +0.86 +0.78 +0.78 +0.87 +0.96 +0.98 +0.91 +0.75 +0.58 +0.45 +0.4 +0.4 +0.42 +0.41 +0.36 +0.28 +0.2 +0.18 +0.22 +0.33 +0.47 +0.57 +0.59 +0.5 +0.33 +0.15 +0.04 +0.05 +0.18 +0.36 +0.5 +0.51 +0.38 +0.19 +0.02 +0.0 +0.03 +0.18 +0.31 +0.36 +0.42 +0.39 +0.34 +0.34 +0.44 +0.61 +0.81 +0.94 +0.97 +0.92 +0.83 +0.79 +0.84 +0.96 +1.09 +1.17 +1.17 +1.14 +1.12 +1.19 +1.34 +1.51 +1.6 +1.53 +1.3 +0.99 +0.71 +0.56 +0.57 +0.67 +0.77 +0.81 +0.75 +0.65 +0.57 +0.57 +0.64 +0.75 +0.82 +0.81 +0.73 +0.62 +0.54 +0.51 +0.53 +0.57 +0.57 +0.53 +0.44 +0.34 +0.28 +0.29 +0.38 +0.5 +0.59 +0.59 +0.47 +0.27 +0.07 +0.0 +0.0 +0.16 +0.37 +0.52 +0.53 +0.41 +0.23 +0.08 +0.04 +0.12 +0.26 +0.38 +0.42 +0.39 +0.34 +0.34 +0.44 +0.61 +0.81 +0.94 +0.97 +0.92 +0.83 +0.79 +0.84 +0.96 +1.09 +1.17 +1.17 +1.14 +1.12 +1.19 +1.34 +1.51 +1.6 +1.53 +1.3 +0.99 +0.71 +0.56 +0.57 +0.67 +0.77 +0.81 +0.75 +0.65 +0.57 +0.57 +0.64 +0.75 +0.82 +0.81 +0.73 +0.62 +0.54 +0.51 +0.53 +0.57 +0.57 +0.53 +0.44 +0.34 +0.28 +0.29 +0.38 +0.5 +0.59 +0.59 +0.47 +0.27 +0.07 +0.0 +0.0 +0.16 +0.37 +0.52 +0.53 +0.41 +0.23 +0.08 +0.04 +0.12 +0.26 +0.38 +0.42 +0.56 +0.51 +0.46 +0.46 +0.55 +0.69 +0.81 +0.87 +0.82 +0.71 +0.58 +0.51 +0.52 +0.58 +0.63 +0.62 +0.53 +0.42 +0.34 +0.37 +0.49 +0.64 +0.73 +0.69 +0.52 +0.28 +0.09 +0.03 +0.13 +0.33 +0.52 +0.63 +0.62 +0.53 +0.43 +0.4 +0.44 +0.53 +0.63 +0.68 +0.67 +0.61 +0.56 +0.54 +0.56 +0.62 +0.66 +0.65 +0.59 +0.48 +0.4 +0.37 +0.43 +0.53 +0.61 +0.61 +0.48 +0.27 +0.07 +0.0 +0.04 +0.22 +0.45 +0.61 +0.63 +0.53 +0.37 +0.25 +0.24 +0.32 +0.45 +0.54 +0.56 +0.51 +0.46 +0.46 +0.55 +0.69 +0.81 +0.87 +0.82 +0.71 +0.58 +0.51 +0.52 +0.58 +0.63 +0.62 +0.53 +0.42 +0.34 +0.37 +0.49 +0.64 +0.73 +0.69 +0.52 +0.28 +0.09 +0.03 +0.13 +0.33 +0.52 +0.63 +0.62 +0.53 +0.43 +0.4 +0.44 +0.53 +0.63 +0.68 +0.67 +0.61 +0.56 +0.54 +0.56 +0.62 +0.66 +0.65 +0.59 +0.48 +0.4 +0.37 +0.43 +0.53 +0.61 +0.61 +0.48 +0.27 +0.07 +0.0 +0.04 +0.22 +0.45 +0.61 +0.63 +0.53 +0.37 +0.25 +0.24 +0.32 +0.45 +0.54 +0.56 +0.73 +0.65 +0.56 +0.53 +0.58 +0.66 +0.71 +0.7 +0.6 +0.46 +0.32 +0.26 +0.26 +0.3 +0.3 +0.24 +0.11 +0.0 +0.0 +0.0 +0.04 +0.21 +0.32 +0.31 +0.17 +0.0 +0.0 +0.0 +0.0 +0.21 +0.44 +0.57 +0.59 +0.5 +0.37 +0.29 +0.29 +0.37 +0.48 +0.57 +0.6 +0.57 +0.51 +0.48 +0.5 +0.57 +0.66 +0.71 +0.68 +0.59 +0.48 +0.42 +0.45 +0.53 +0.62 +0.64 +0.54 +0.37 +0.21 +0.14 +0.22 +0.43 +0.66 +0.82 +0.85 +0.76 +0.62 +0.53 +0.53 +0.61 +0.71 +0.76 +0.73 +0.65 +0.56 +0.53 +0.58 +0.66 +0.71 +0.7 +0.6 +0.46 +0.32 +0.26 +0.26 +0.3 +0.3 +0.24 +0.11 +0.0 +0.0 +0.0 +0.04 +0.21 +0.32 +0.31 +0.17 +0.0 +0.0 +0.0 +0.0 +0.21 +0.44 +0.57 +0.59 +0.5 +0.37 +0.29 +0.29 +0.37 +0.48 +0.57 +0.6 +0.57 +0.51 +0.48 +0.5 +0.57 +0.66 +0.71 +0.68 +0.59 +0.48 +0.42 +0.45 +0.53 +0.62 +0.64 +0.54 +0.37 +0.21 +0.14 +0.22 +0.43 +0.66 +0.82 +0.85 +0.76 +0.62 +0.53 +0.53 +0.61 +0.71 +0.76 +0.73 +0.85 +0.71 +0.57 +0.5 +0.49 +0.52 +0.53 +0.48 +0.37 +0.24 +0.14 +0.11 +0.13 +0.17 +0.16 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.24 +0.25 +0.14 +0.0 +0.0 +0.0 +0.01 +0.22 +0.43 +0.56 +0.58 +0.49 +0.35 +0.24 +0.21 +0.27 +0.39 +0.5 +0.55 +0.53 +0.46 +0.4 +0.41 +0.49 +0.62 +0.72 +0.74 +0.67 +0.55 +0.46 +0.46 +0.54 +0.64 +0.71 +0.68 +0.59 +0.5 +0.49 +0.6 +0.82 +1.04 +1.18 +1.19 +1.1 +0.97 +0.88 +0.87 +0.92 +0.97 +0.95 +0.85 +0.71 +0.57 +0.5 +0.49 +0.52 +0.53 +0.48 +0.37 +0.24 +0.14 +0.11 +0.13 +0.17 +0.16 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.24 +0.25 +0.14 +0.0 +0.0 +0.0 +0.01 +0.22 +0.43 +0.56 +0.58 +0.49 +0.35 +0.24 +0.21 +0.27 +0.39 +0.5 +0.55 +0.53 +0.46 +0.4 +0.41 +0.49 +0.62 +0.72 +0.74 +0.67 +0.55 +0.46 +0.46 +0.54 +0.64 +0.71 +0.68 +0.59 +0.5 +0.49 +0.6 +0.82 +1.04 +1.18 +1.19 +1.1 +0.97 +0.88 +0.87 +0.92 +0.97 +0.95 +0.85 +0.85 +0.65 +0.46 +0.35 +0.3 +0.3 +0.28 +0.24 +0.16 +0.09 +0.06 +0.09 +0.15 +0.19 +0.16 +0.07 +0.0 +0.0 +0.0 +0.0 +0.06 +0.22 +0.32 +0.31 +0.21 +0.08 +0.0 +0.0 +0.08 +0.24 +0.4 +0.5 +0.52 +0.44 +0.32 +0.22 +0.19 +0.24 +0.35 +0.47 +0.53 +0.51 +0.44 +0.37 +0.37 +0.47 +0.62 +0.76 +0.82 +0.77 +0.65 +0.55 +0.53 +0.61 +0.76 +0.89 +0.96 +0.98 +0.98 +1.03 +1.18 +1.38 +1.57 +1.67 +1.64 +1.52 +1.37 +1.25 +1.19 +1.17 +1.13 +1.03 +0.85 +0.65 +0.46 +0.35 +0.3 +0.3 +0.28 +0.24 +0.16 +0.09 +0.06 +0.09 +0.15 +0.19 +0.16 +0.07 +0.0 +0.0 +0.0 +0.0 +0.06 +0.22 +0.32 +0.31 +0.21 +0.08 +0.0 +0.0 +0.08 +0.24 +0.4 +0.5 +0.52 +0.44 +0.32 +0.22 +0.19 +0.24 +0.35 +0.47 +0.53 +0.51 +0.44 +0.37 +0.37 +0.47 +0.62 +0.76 +0.82 +0.77 +0.65 +0.55 +0.53 +0.61 +0.76 +0.89 +0.96 +0.98 +0.98 +1.03 +1.18 +1.38 +1.57 +1.67 +1.64 +1.52 +1.37 +1.25 +1.19 +1.17 +1.13 +1.03 +0.85 +0.73 +0.47 +0.26 +0.12 +0.06 +0.05 +0.04 +0.02 +0.0 +0.0 +0.04 +0.13 +0.22 +0.26 +0.23 +0.12 +0.0 +0.0 +0.0 +0.04 +0.19 +0.31 +0.36 +0.32 +0.22 +0.12 +0.05 +0.05 +0.11 +0.21 +0.31 +0.37 +0.38 +0.33 +0.25 +0.18 +0.17 +0.23 +0.34 +0.46 +0.53 +0.52 +0.47 +0.42 +0.44 +0.55 +0.72 +0.89 +0.97 +0.95 +0.86 +0.77 +0.77 +0.87 +1.06 +1.26 +1.43 +1.54 +1.63 +1.73 +1.88 +2.04 +2.17 +2.2 +2.12 +1.95 +1.74 +1.56 +1.42 +1.3 +1.17 +0.97 +0.73 +0.47 +0.26 +0.12 +0.06 +0.05 +0.04 +0.02 +0.0 +0.0 +0.04 +0.13 +0.22 +0.26 +0.23 +0.12 +0.0 +0.0 +0.0 +0.04 +0.19 +0.31 +0.36 +0.32 +0.22 +0.12 +0.05 +0.05 +0.11 +0.21 +0.31 +0.37 +0.38 +0.33 +0.25 +0.18 +0.17 +0.23 +0.34 +0.46 +0.53 +0.52 +0.47 +0.42 +0.44 +0.55 +0.72 +0.89 +0.97 +0.95 +0.86 +0.77 +0.77 +0.87 +1.06 +1.26 +1.43 +1.54 +1.63 +1.73 +1.88 +2.04 +2.17 +2.2 +2.12 +1.95 +1.74 +1.56 +1.42 +1.3 +1.17 +0.97 +0.73 +0.53 +0.26 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.16 +0.26 +0.3 +0.24 +0.13 +0.01 +0.0 +0.01 +0.12 +0.24 +0.31 +0.3 +0.22 +0.12 +0.05 +0.02 +0.04 +0.09 +0.14 +0.18 +0.19 +0.19 +0.17 +0.14 +0.13 +0.14 +0.21 +0.31 +0.43 +0.51 +0.54 +0.53 +0.53 +0.59 +0.73 +0.92 +1.11 +1.23 +1.25 +1.22 +1.18 +1.22 +1.37 +1.6 +1.85 +2.07 +2.24 +2.36 +2.47 +2.58 +2.67 +2.71 +2.66 +2.5 +2.27 +2.0 +1.74 +1.52 +1.31 +1.08 +0.82 +0.53 +0.26 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.16 +0.26 +0.3 +0.24 +0.13 +0.01 +0.0 +0.01 +0.12 +0.24 +0.31 +0.3 +0.22 +0.12 +0.05 +0.02 +0.04 +0.09 +0.14 +0.18 +0.19 +0.19 +0.17 +0.14 +0.13 +0.14 +0.21 +0.31 +0.43 +0.51 +0.54 +0.53 +0.53 +0.59 +0.73 +0.92 +1.11 +1.23 +1.25 +1.22 +1.18 +1.22 +1.37 +1.6 +1.85 +2.07 +2.24 +2.36 +2.47 +2.58 +2.67 +2.71 +2.66 +2.5 +2.27 +2.0 +1.74 +1.52 +1.31 +1.08 +0.82 +0.53 +0.37 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.21 +0.22 +0.14 +0.02 +0.0 +0.0 +0.0 +0.1 +0.19 +0.2 +0.14 +0.03 +0.0 +0.0 +0.0 +0.0 +0.04 +0.05 +0.04 +0.02 +0.01 +0.01 +0.02 +0.04 +0.08 +0.15 +0.24 +0.36 +0.46 +0.54 +0.61 +0.68 +0.8 +0.98 +1.2 +1.42 +1.59 +1.68 +1.73 +1.78 +1.89 +2.08 +2.33 +2.59 +2.8 +2.96 +3.04 +3.09 +3.11 +3.1 +3.04 +2.91 +2.69 +2.4 +2.09 +1.78 +1.5 +1.23 +0.95 +0.66 +0.37 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.21 +0.22 +0.14 +0.02 +0.0 +0.0 +0.0 +0.1 +0.19 +0.2 +0.14 +0.03 +0.0 +0.0 +0.0 +0.0 +0.04 +0.05 +0.04 +0.02 +0.01 +0.01 +0.02 +0.04 +0.08 +0.15 +0.24 +0.36 +0.46 +0.54 +0.61 +0.68 +0.8 +0.98 +1.2 +1.42 +1.59 +1.68 +1.73 +1.78 +1.89 +2.08 +2.33 +2.59 +2.8 +2.96 +3.04 +3.09 +3.11 +3.1 +3.04 +2.91 +2.69 +2.4 +2.09 +1.78 +1.5 +1.23 +0.95 +0.66 +0.37 +0.32 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.08 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.14 +0.26 +0.4 +0.55 +0.7 +0.86 +1.05 +1.27 +1.52 +1.78 +2.0 +2.19 +2.33 +2.48 +2.66 +2.87 +3.1 +3.31 +3.46 +3.53 +3.51 +3.45 +3.35 +3.22 +3.07 +2.87 +2.62 +2.33 +2.01 +1.7 +1.4 +1.13 +0.86 +0.59 +0.32 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.08 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.14 +0.26 +0.4 +0.55 +0.7 +0.86 +1.05 +1.27 +1.52 +1.78 +2.0 +2.19 +2.33 +2.48 +2.66 +2.87 +3.1 +3.31 +3.46 +3.53 +3.51 +3.45 +3.35 +3.22 +3.07 +2.87 +2.62 +2.33 +2.01 +1.7 +1.4 +1.13 +0.86 +0.59 +0.32 +0.43 +0.24 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.18 +0.38 +0.61 +0.85 +1.09 +1.33 +1.59 +1.87 +2.15 +2.43 +2.69 +2.92 +3.14 +3.35 +3.55 +3.72 +3.83 +3.86 +3.8 +3.65 +3.46 +3.23 +3.01 +2.8 +2.57 +2.33 +2.08 +1.81 +1.54 +1.3 +1.07 +0.85 +0.64 +0.43 +0.24 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.18 +0.38 +0.61 +0.85 +1.09 +1.33 +1.59 +1.87 +2.15 +2.43 +2.69 +2.92 +3.14 +3.35 +3.55 +3.72 +3.83 +3.86 +3.8 +3.65 +3.46 +3.23 +3.01 +2.8 +2.57 +2.33 +2.08 +1.81 +1.54 +1.3 +1.07 +0.85 +0.64 +0.43 +0.66 +0.51 +0.37 +0.27 +0.18 +0.1 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.44 +0.76 +1.08 +1.38 +1.67 +1.94 +2.21 +2.5 +2.8 +3.1 +3.38 +3.62 +3.82 +3.95 +4.02 +4.0 +3.89 +3.7 +3.44 +3.13 +2.83 +2.55 +2.31 +2.1 +1.91 +1.73 +1.55 +1.38 +1.23 +1.09 +0.95 +0.81 +0.66 +0.51 +0.37 +0.27 +0.18 +0.1 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.44 +0.76 +1.08 +1.38 +1.67 +1.94 +2.21 +2.5 +2.8 +3.1 +3.38 +3.62 +3.82 +3.95 +4.02 +4.0 +3.89 +3.7 +3.44 +3.13 +2.83 +2.55 +2.31 +2.1 +1.91 +1.73 +1.55 +1.38 +1.23 +1.09 +0.95 +0.81 +0.66 +0.94 +0.81 +0.67 +0.56 +0.45 +0.34 +0.23 +0.13 +0.05 +0.01 +0.01 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.16 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.28 +0.62 +1.01 +1.39 +1.73 +2.02 +2.27 +2.51 +2.76 +3.03 +3.32 +3.58 +3.79 +3.92 +3.96 +3.9 +3.75 +3.54 +3.26 +2.93 +2.59 +2.26 +1.97 +1.74 +1.58 +1.46 +1.38 +1.31 +1.26 +1.21 +1.17 +1.12 +1.05 +0.94 +0.81 +0.67 +0.56 +0.45 +0.34 +0.23 +0.13 +0.05 +0.01 +0.01 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.16 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.28 +0.62 +1.01 +1.39 +1.73 +2.02 +2.27 +2.51 +2.76 +3.03 +3.32 +3.58 +3.79 +3.92 +3.96 +3.9 +3.75 +3.54 +3.26 +2.93 +2.59 +2.26 +1.97 +1.74 +1.58 +1.46 +1.38 +1.31 +1.26 +1.21 +1.17 +1.12 +1.05 +0.94 +1.18 +1.07 +0.94 +0.81 +0.69 +0.57 +0.44 +0.33 +0.25 +0.23 +0.26 +0.28 +0.26 +0.16 +0.02 +0.0 +0.0 +0.03 +0.22 +0.4 +0.46 +0.38 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.21 +0.51 +0.9 +1.33 +1.74 +2.08 +2.34 +2.53 +2.68 +2.85 +3.05 +3.27 +3.48 +3.62 +3.66 +3.58 +3.4 +3.15 +2.88 +2.58 +2.28 +1.97 +1.68 +1.43 +1.23 +1.12 +1.07 +1.08 +1.12 +1.18 +1.24 +1.28 +1.3 +1.27 +1.18 +1.07 +0.94 +0.81 +0.69 +0.57 +0.44 +0.33 +0.25 +0.23 +0.26 +0.28 +0.26 +0.16 +0.02 +0.0 +0.0 +0.03 +0.22 +0.4 +0.46 +0.38 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.21 +0.51 +0.9 +1.33 +1.74 +2.08 +2.34 +2.53 +2.68 +2.85 +3.05 +3.27 +3.48 +3.62 +3.66 +3.58 +3.4 +3.15 +2.88 +2.58 +2.28 +1.97 +1.68 +1.43 +1.23 +1.12 +1.07 +1.08 +1.12 +1.18 +1.24 +1.28 +1.3 +1.27 +1.18 +1.35 +1.25 +1.13 +1.01 +0.89 +0.76 +0.62 +0.5 +0.45 +0.47 +0.54 +0.62 +0.62 +0.53 +0.38 +0.25 +0.23 +0.36 +0.57 +0.76 +0.82 +0.73 +0.52 +0.28 +0.11 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.19 +0.34 +0.55 +0.85 +1.22 +1.63 +2.02 +2.33 +2.53 +2.62 +2.66 +2.71 +2.81 +2.94 +3.08 +3.15 +3.09 +2.92 +2.65 +2.35 +2.07 +1.84 +1.63 +1.43 +1.23 +1.03 +0.87 +0.77 +0.77 +0.84 +0.97 +1.13 +1.27 +1.38 +1.43 +1.42 +1.35 +1.25 +1.13 +1.01 +0.89 +0.76 +0.62 +0.5 +0.45 +0.47 +0.54 +0.62 +0.62 +0.53 +0.38 +0.25 +0.23 +0.36 +0.57 +0.76 +0.82 +0.73 +0.52 +0.28 +0.11 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.19 +0.34 +0.55 +0.85 +1.22 +1.63 +2.02 +2.33 +2.53 +2.62 +2.66 +2.71 +2.81 +2.94 +3.08 +3.15 +3.09 +2.92 +2.65 +2.35 +2.07 +1.84 +1.63 +1.43 +1.23 +1.03 +0.87 +0.77 +0.77 +0.84 +0.97 +1.13 +1.27 +1.38 +1.43 +1.42 +1.35 +1.42 +1.34 +1.25 +1.15 +1.04 +0.89 +0.73 +0.61 +0.57 +0.64 +0.78 +0.92 +0.97 +0.88 +0.71 +0.55 +0.51 +0.64 +0.86 +1.07 +1.15 +1.04 +0.8 +0.53 +0.33 +0.22 +0.16 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.48 +0.69 +0.85 +1.02 +1.23 +1.51 +1.85 +2.17 +2.41 +2.52 +2.51 +2.42 +2.34 +2.33 +2.39 +2.47 +2.49 +2.39 +2.15 +1.83 +1.52 +1.29 +1.17 +1.11 +1.06 +0.96 +0.81 +0.66 +0.55 +0.55 +0.67 +0.86 +1.09 +1.29 +1.43 +1.49 +1.48 +1.42 +1.34 +1.25 +1.15 +1.04 +0.89 +0.73 +0.61 +0.57 +0.64 +0.78 +0.92 +0.97 +0.88 +0.71 +0.55 +0.51 +0.64 +0.86 +1.07 +1.15 +1.04 +0.8 +0.53 +0.33 +0.22 +0.16 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.48 +0.69 +0.85 +1.02 +1.23 +1.51 +1.85 +2.17 +2.41 +2.52 +2.51 +2.42 +2.34 +2.33 +2.39 +2.47 +2.49 +2.39 +2.15 +1.83 +1.52 +1.29 +1.17 +1.11 +1.06 +0.96 +0.81 +0.66 +0.55 +0.55 +0.67 +0.86 +1.09 +1.29 +1.43 +1.49 +1.48 +1.42 +1.42 +1.36 +1.31 +1.24 +1.13 +0.97 +0.78 +0.63 +0.6 +0.71 +0.92 +1.12 +1.21 +1.13 +0.92 +0.72 +0.65 +0.77 +1.01 +1.25 +1.34 +1.22 +0.96 +0.66 +0.45 +0.35 +0.32 +0.27 +0.16 +0.0 +0.0 +0.0 +0.01 +0.33 +0.72 +1.08 +1.33 +1.46 +1.52 +1.58 +1.7 +1.9 +2.12 +2.27 +2.31 +2.2 +2.0 +1.81 +1.71 +1.73 +1.8 +1.82 +1.71 +1.46 +1.12 +0.83 +0.67 +0.67 +0.78 +0.87 +0.87 +0.75 +0.58 +0.44 +0.41 +0.54 +0.77 +1.04 +1.28 +1.44 +1.49 +1.47 +1.42 +1.36 +1.31 +1.24 +1.13 +0.97 +0.78 +0.63 +0.6 +0.71 +0.92 +1.12 +1.21 +1.13 +0.92 +0.72 +0.65 +0.77 +1.01 +1.25 +1.34 +1.22 +0.96 +0.66 +0.45 +0.35 +0.32 +0.27 +0.16 +0.0 +0.0 +0.0 +0.01 +0.33 +0.72 +1.08 +1.33 +1.46 +1.52 +1.58 +1.7 +1.9 +2.12 +2.27 +2.31 +2.2 +2.0 +1.81 +1.71 +1.73 +1.8 +1.82 +1.71 +1.46 +1.12 +0.83 +0.67 +0.67 +0.78 +0.87 +0.87 +0.75 +0.58 +0.44 +0.41 +0.54 +0.77 +1.04 +1.28 +1.44 +1.49 +1.47 +1.42 +1.38 +1.35 +1.34 +1.3 +1.19 +1.0 +0.77 +0.58 +0.54 +0.68 +0.94 +1.19 +1.31 +1.22 +0.98 +0.73 +0.62 +0.72 +0.97 +1.23 +1.34 +1.23 +0.96 +0.66 +0.46 +0.4 +0.44 +0.47 +0.42 +0.29 +0.18 +0.2 +0.41 +0.81 +1.3 +1.72 +1.98 +2.03 +1.94 +1.81 +1.73 +1.77 +1.87 +1.96 +1.94 +1.77 +1.51 +1.26 +1.12 +1.13 +1.23 +1.3 +1.23 +0.99 +0.67 +0.39 +0.3 +0.4 +0.63 +0.84 +0.91 +0.8 +0.59 +0.4 +0.33 +0.45 +0.7 +1.01 +1.27 +1.42 +1.45 +1.42 +1.38 +1.35 +1.34 +1.3 +1.19 +1.0 +0.77 +0.58 +0.54 +0.68 +0.94 +1.19 +1.31 +1.22 +0.98 +0.73 +0.62 +0.72 +0.97 +1.23 +1.34 +1.23 +0.96 +0.66 +0.46 +0.4 +0.44 +0.47 +0.42 +0.29 +0.18 +0.2 +0.41 +0.81 +1.3 +1.72 +1.98 +2.03 +1.94 +1.81 +1.73 +1.77 +1.87 +1.96 +1.94 +1.77 +1.51 +1.26 +1.12 +1.13 +1.23 +1.3 +1.23 +0.99 +0.67 +0.39 +0.3 +0.4 +0.63 +0.84 +0.91 +0.8 +0.59 +0.4 +0.33 +0.45 +0.7 +1.01 +1.27 +1.42 +1.45 +1.42 +1.38 +1.34 +1.34 +1.36 +1.33 +1.22 +1.0 +0.72 +0.5 +0.44 +0.59 +0.87 +1.15 +1.28 +1.18 +0.9 +0.6 +0.45 +0.53 +0.79 +1.06 +1.2 +1.11 +0.87 +0.59 +0.43 +0.44 +0.57 +0.69 +0.73 +0.67 +0.59 +0.63 +0.87 +1.3 +1.81 +2.24 +2.46 +2.42 +2.17 +1.84 +1.59 +1.48 +1.5 +1.54 +1.51 +1.34 +1.07 +0.82 +0.69 +0.73 +0.89 +1.03 +1.01 +0.81 +0.5 +0.24 +0.18 +0.35 +0.65 +0.92 +1.03 +0.92 +0.66 +0.42 +0.32 +0.41 +0.67 +0.99 +1.25 +1.39 +1.41 +1.37 +1.34 +1.34 +1.36 +1.33 +1.22 +1.0 +0.72 +0.5 +0.44 +0.59 +0.87 +1.15 +1.28 +1.18 +0.9 +0.6 +0.45 +0.53 +0.79 +1.06 +1.2 +1.11 +0.87 +0.59 +0.43 +0.44 +0.57 +0.69 +0.73 +0.67 +0.59 +0.63 +0.87 +1.3 +1.81 +2.24 +2.46 +2.42 +2.17 +1.84 +1.59 +1.48 +1.5 +1.54 +1.51 +1.34 +1.07 +0.82 +0.69 +0.73 +0.89 +1.03 +1.01 +0.81 +0.5 +0.24 +0.18 +0.35 +0.65 +0.92 +1.03 +0.92 +0.66 +0.42 +0.32 +0.41 +0.67 +0.99 +1.25 +1.39 +1.41 +1.37 +1.34 +1.32 +1.34 +1.38 +1.36 +1.23 +0.99 +0.68 +0.44 +0.36 +0.49 +0.77 +1.04 +1.17 +1.06 +0.76 +0.44 +0.27 +0.33 +0.58 +0.87 +1.04 +1.0 +0.8 +0.57 +0.47 +0.55 +0.76 +0.97 +1.09 +1.09 +1.05 +1.08 +1.28 +1.67 +2.12 +2.5 +2.64 +2.5 +2.12 +1.67 +1.28 +1.08 +1.05 +1.09 +1.09 +0.97 +0.76 +0.55 +0.47 +0.57 +0.8 +1.0 +1.04 +0.87 +0.58 +0.33 +0.27 +0.44 +0.76 +1.06 +1.17 +1.04 +0.77 +0.49 +0.36 +0.44 +0.68 +0.99 +1.23 +1.36 +1.38 +1.34 +1.32 +1.34 +1.38 +1.36 +1.23 +0.99 +0.68 +0.44 +0.36 +0.49 +0.77 +1.04 +1.17 +1.06 +0.76 +0.44 +0.27 +0.33 +0.58 +0.87 +1.04 +1.0 +0.8 +0.57 +0.47 +0.55 +0.76 +0.97 +1.09 +1.09 +1.05 +1.08 +1.28 +1.67 +2.12 +2.5 +2.64 +2.5 +2.12 +1.67 +1.28 +1.08 +1.05 +1.09 +1.09 +0.97 +0.76 +0.55 +0.47 +0.57 +0.8 +1.0 +1.04 +0.87 +0.58 +0.33 +0.27 +0.44 +0.76 +1.06 +1.17 +1.04 +0.77 +0.49 +0.36 +0.44 +0.68 +0.99 +1.23 +1.36 +1.38 +1.34 +1.32 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.49 +0.65 +0.85 +1.07 +1.29 +1.53 +1.79 +2.03 +2.22 +2.3 +2.25 +2.09 +1.86 +1.61 +1.37 +1.14 +0.92 +0.71 +0.54 +0.42 +0.37 +0.36 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.25 +0.37 +0.41 +0.41 +0.45 +0.55 +0.71 +0.91 +1.12 +1.35 +1.58 +1.82 +2.04 +2.19 +2.24 +2.16 +1.99 +1.76 +1.51 +1.28 +1.05 +0.84 +0.65 +0.5 +0.42 +0.4 +0.41 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.35 +0.36 +0.35 +0.39 +0.49 +0.65 +0.85 +1.07 +1.29 +1.53 +1.79 +2.03 +2.22 +2.3 +2.25 +2.09 +1.86 +1.61 +1.37 +1.14 +0.92 +0.71 +0.54 +0.42 +0.37 +0.36 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.25 +0.37 +0.41 +0.41 +0.45 +0.55 +0.71 +0.91 +1.12 +1.35 +1.58 +1.82 +2.04 +2.19 +2.24 +2.16 +1.99 +1.76 +1.51 +1.28 +1.05 +0.84 +0.65 +0.5 +0.42 +0.4 +0.41 +0.38 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.35 +0.36 +0.35 +0.39 +0.49 +0.36 +0.51 +0.7 +0.92 +1.17 +1.45 +1.76 +2.07 +2.32 +2.45 +2.43 +2.27 +2.02 +1.74 +1.47 +1.22 +0.98 +0.76 +0.58 +0.45 +0.38 +0.37 +0.36 +0.29 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.33 +0.46 +0.5 +0.49 +0.51 +0.57 +0.71 +0.9 +1.13 +1.38 +1.64 +1.88 +2.09 +2.21 +2.22 +2.11 +1.91 +1.65 +1.38 +1.13 +0.89 +0.68 +0.51 +0.41 +0.39 +0.43 +0.48 +0.49 +0.41 +0.24 +0.03 +0.0 +0.0 +0.0 +0.06 +0.23 +0.34 +0.36 +0.32 +0.27 +0.28 +0.36 +0.51 +0.7 +0.92 +1.17 +1.45 +1.76 +2.07 +2.32 +2.45 +2.43 +2.27 +2.02 +1.74 +1.47 +1.22 +0.98 +0.76 +0.58 +0.45 +0.38 +0.37 +0.36 +0.29 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.33 +0.46 +0.5 +0.49 +0.51 +0.57 +0.71 +0.9 +1.13 +1.38 +1.64 +1.88 +2.09 +2.21 +2.22 +2.11 +1.91 +1.65 +1.38 +1.13 +0.89 +0.68 +0.51 +0.41 +0.39 +0.43 +0.48 +0.49 +0.41 +0.24 +0.03 +0.0 +0.0 +0.0 +0.06 +0.23 +0.34 +0.36 +0.32 +0.27 +0.28 +0.36 +0.21 +0.34 +0.51 +0.73 +0.99 +1.31 +1.68 +2.06 +2.39 +2.59 +2.62 +2.48 +2.23 +1.93 +1.63 +1.36 +1.13 +0.91 +0.73 +0.58 +0.51 +0.49 +0.5 +0.48 +0.39 +0.24 +0.07 +0.0 +0.0 +0.09 +0.28 +0.47 +0.6 +0.63 +0.61 +0.58 +0.59 +0.69 +0.86 +1.1 +1.37 +1.66 +1.91 +2.09 +2.16 +2.13 +1.99 +1.76 +1.49 +1.21 +0.93 +0.68 +0.48 +0.34 +0.3 +0.36 +0.47 +0.57 +0.61 +0.54 +0.39 +0.21 +0.09 +0.08 +0.16 +0.29 +0.4 +0.42 +0.36 +0.26 +0.18 +0.15 +0.21 +0.34 +0.51 +0.73 +0.99 +1.31 +1.68 +2.06 +2.39 +2.59 +2.62 +2.48 +2.23 +1.93 +1.63 +1.36 +1.13 +0.91 +0.73 +0.58 +0.51 +0.49 +0.5 +0.48 +0.39 +0.24 +0.07 +0.0 +0.0 +0.09 +0.28 +0.47 +0.6 +0.63 +0.61 +0.58 +0.59 +0.69 +0.86 +1.1 +1.37 +1.66 +1.91 +2.09 +2.16 +2.13 +1.99 +1.76 +1.49 +1.21 +0.93 +0.68 +0.48 +0.34 +0.3 +0.36 +0.47 +0.57 +0.61 +0.54 +0.39 +0.21 +0.09 +0.08 +0.16 +0.29 +0.4 +0.42 +0.36 +0.26 +0.18 +0.15 +0.21 +0.11 +0.2 +0.34 +0.52 +0.77 +1.1 +1.51 +1.96 +2.36 +2.64 +2.73 +2.63 +2.4 +2.11 +1.83 +1.59 +1.38 +1.2 +1.03 +0.88 +0.79 +0.77 +0.79 +0.81 +0.76 +0.64 +0.47 +0.32 +0.26 +0.32 +0.47 +0.64 +0.77 +0.8 +0.75 +0.66 +0.61 +0.64 +0.78 +1.02 +1.31 +1.61 +1.85 +1.99 +2.03 +1.95 +1.78 +1.56 +1.3 +1.03 +0.76 +0.51 +0.32 +0.22 +0.24 +0.35 +0.51 +0.63 +0.66 +0.58 +0.43 +0.28 +0.21 +0.24 +0.35 +0.45 +0.5 +0.46 +0.34 +0.21 +0.1 +0.07 +0.11 +0.2 +0.34 +0.52 +0.77 +1.1 +1.51 +1.96 +2.36 +2.64 +2.73 +2.63 +2.4 +2.11 +1.83 +1.59 +1.38 +1.2 +1.03 +0.88 +0.79 +0.77 +0.79 +0.81 +0.76 +0.64 +0.47 +0.32 +0.26 +0.32 +0.47 +0.64 +0.77 +0.8 +0.75 +0.66 +0.61 +0.64 +0.78 +1.02 +1.31 +1.61 +1.85 +1.99 +2.03 +1.95 +1.78 +1.56 +1.3 +1.03 +0.76 +0.51 +0.32 +0.22 +0.24 +0.35 +0.51 +0.63 +0.66 +0.58 +0.43 +0.28 +0.21 +0.24 +0.35 +0.45 +0.5 +0.46 +0.34 +0.21 +0.1 +0.07 +0.11 +0.06 +0.12 +0.2 +0.33 +0.54 +0.85 +1.27 +1.74 +2.19 +2.53 +2.68 +2.64 +2.47 +2.23 +2.01 +1.84 +1.7 +1.56 +1.42 +1.28 +1.18 +1.14 +1.17 +1.2 +1.19 +1.07 +0.88 +0.68 +0.55 +0.55 +0.66 +0.82 +0.94 +0.96 +0.87 +0.73 +0.61 +0.58 +0.69 +0.92 +1.21 +1.51 +1.72 +1.83 +1.82 +1.71 +1.54 +1.34 +1.13 +0.89 +0.64 +0.41 +0.24 +0.17 +0.23 +0.38 +0.55 +0.65 +0.64 +0.51 +0.34 +0.22 +0.2 +0.28 +0.41 +0.51 +0.52 +0.44 +0.3 +0.16 +0.07 +0.04 +0.06 +0.12 +0.2 +0.33 +0.54 +0.85 +1.27 +1.74 +2.19 +2.53 +2.68 +2.64 +2.47 +2.23 +2.01 +1.84 +1.7 +1.56 +1.42 +1.28 +1.18 +1.14 +1.17 +1.2 +1.19 +1.07 +0.88 +0.68 +0.55 +0.55 +0.66 +0.82 +0.94 +0.96 +0.87 +0.73 +0.61 +0.58 +0.69 +0.92 +1.21 +1.51 +1.72 +1.83 +1.82 +1.71 +1.54 +1.34 +1.13 +0.89 +0.64 +0.41 +0.24 +0.17 +0.23 +0.38 +0.55 +0.65 +0.64 +0.51 +0.34 +0.22 +0.2 +0.28 +0.41 +0.51 +0.52 +0.44 +0.3 +0.16 +0.07 +0.04 +0.06 +0.05 +0.07 +0.09 +0.16 +0.31 +0.58 +0.98 +1.44 +1.91 +2.27 +2.47 +2.51 +2.42 +2.27 +2.14 +2.05 +1.98 +1.9 +1.77 +1.62 +1.5 +1.45 +1.47 +1.52 +1.51 +1.4 +1.19 +0.95 +0.77 +0.72 +0.8 +0.95 +1.07 +1.08 +0.96 +0.77 +0.6 +0.54 +0.62 +0.85 +1.14 +1.42 +1.61 +1.67 +1.62 +1.49 +1.33 +1.17 +1.0 +0.81 +0.6 +0.39 +0.24 +0.19 +0.27 +0.43 +0.58 +0.63 +0.56 +0.38 +0.19 +0.09 +0.11 +0.24 +0.4 +0.5 +0.49 +0.39 +0.25 +0.12 +0.05 +0.04 +0.05 +0.07 +0.09 +0.16 +0.31 +0.58 +0.98 +1.44 +1.91 +2.27 +2.47 +2.51 +2.42 +2.27 +2.14 +2.05 +1.98 +1.9 +1.77 +1.62 +1.5 +1.45 +1.47 +1.52 +1.51 +1.4 +1.19 +0.95 +0.77 +0.72 +0.8 +0.95 +1.07 +1.08 +0.96 +0.77 +0.6 +0.54 +0.62 +0.85 +1.14 +1.42 +1.61 +1.67 +1.62 +1.49 +1.33 +1.17 +1.0 +0.81 +0.6 +0.39 +0.24 +0.19 +0.27 +0.43 +0.58 +0.63 +0.56 +0.38 +0.19 +0.09 +0.11 +0.24 +0.4 +0.5 +0.49 +0.39 +0.25 +0.12 +0.05 +0.04 +0.05 +0.03 +0.01 +0.0 +0.0 +0.1 +0.33 +0.69 +1.13 +1.56 +1.93 +2.16 +2.25 +2.25 +2.21 +2.19 +2.18 +2.16 +2.1 +1.97 +1.8 +1.65 +1.58 +1.6 +1.64 +1.65 +1.54 +1.32 +1.06 +0.85 +0.79 +0.86 +1.0 +1.11 +1.11 +0.98 +0.77 +0.59 +0.53 +0.62 +0.85 +1.15 +1.41 +1.57 +1.6 +1.52 +1.38 +1.23 +1.09 +0.96 +0.8 +0.61 +0.42 +0.29 +0.26 +0.35 +0.5 +0.62 +0.62 +0.48 +0.26 +0.07 +0.0 +0.07 +0.25 +0.43 +0.51 +0.48 +0.35 +0.2 +0.09 +0.04 +0.03 +0.03 +0.01 +0.0 +0.0 +0.1 +0.33 +0.69 +1.13 +1.56 +1.93 +2.16 +2.25 +2.25 +2.21 +2.19 +2.18 +2.16 +2.1 +1.97 +1.8 +1.65 +1.58 +1.6 +1.64 +1.65 +1.54 +1.32 +1.06 +0.85 +0.79 +0.86 +1.0 +1.11 +1.11 +0.98 +0.77 +0.59 +0.53 +0.62 +0.85 +1.15 +1.41 +1.57 +1.6 +1.52 +1.38 +1.23 +1.09 +0.96 +0.8 +0.61 +0.42 +0.29 +0.26 +0.35 +0.5 +0.62 +0.62 +0.48 +0.26 +0.07 +0.0 +0.07 +0.25 +0.43 +0.51 +0.48 +0.35 +0.2 +0.09 +0.04 +0.03 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.45 +0.84 +1.23 +1.56 +1.8 +1.94 +2.02 +2.08 +2.15 +2.21 +2.22 +2.15 +2.0 +1.8 +1.63 +1.56 +1.57 +1.63 +1.63 +1.52 +1.31 +1.05 +0.85 +0.79 +0.86 +0.99 +1.08 +1.06 +0.92 +0.73 +0.58 +0.55 +0.68 +0.93 +1.23 +1.48 +1.61 +1.62 +1.52 +1.38 +1.24 +1.12 +0.99 +0.85 +0.66 +0.48 +0.36 +0.35 +0.45 +0.6 +0.69 +0.64 +0.47 +0.23 +0.06 +0.03 +0.16 +0.37 +0.55 +0.61 +0.53 +0.36 +0.19 +0.08 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.45 +0.84 +1.23 +1.56 +1.8 +1.94 +2.02 +2.08 +2.15 +2.21 +2.22 +2.15 +2.0 +1.8 +1.63 +1.56 +1.57 +1.63 +1.63 +1.52 +1.31 +1.05 +0.85 +0.79 +0.86 +0.99 +1.08 +1.06 +0.92 +0.73 +0.58 +0.55 +0.68 +0.93 +1.23 +1.48 +1.61 +1.62 +1.52 +1.38 +1.24 +1.12 +0.99 +0.85 +0.66 +0.48 +0.36 +0.35 +0.45 +0.6 +0.69 +0.64 +0.47 +0.23 +0.06 +0.03 +0.16 +0.37 +0.55 +0.61 +0.53 +0.36 +0.19 +0.08 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.29 +0.64 +0.96 +1.23 +1.45 +1.62 +1.77 +1.93 +2.08 +2.2 +2.23 +2.16 +1.99 +1.79 +1.63 +1.57 +1.6 +1.66 +1.66 +1.54 +1.31 +1.06 +0.87 +0.81 +0.86 +0.96 +1.01 +0.96 +0.82 +0.66 +0.56 +0.58 +0.76 +1.03 +1.32 +1.55 +1.67 +1.66 +1.57 +1.44 +1.31 +1.19 +1.06 +0.91 +0.72 +0.55 +0.44 +0.45 +0.57 +0.71 +0.79 +0.72 +0.54 +0.32 +0.18 +0.21 +0.39 +0.62 +0.78 +0.78 +0.64 +0.42 +0.22 +0.1 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.29 +0.64 +0.96 +1.23 +1.45 +1.62 +1.77 +1.93 +2.08 +2.2 +2.23 +2.16 +1.99 +1.79 +1.63 +1.57 +1.6 +1.66 +1.66 +1.54 +1.31 +1.06 +0.87 +0.81 +0.86 +0.96 +1.01 +0.96 +0.82 +0.66 +0.56 +0.58 +0.76 +1.03 +1.32 +1.55 +1.67 +1.66 +1.57 +1.44 +1.31 +1.19 +1.06 +0.91 +0.72 +0.55 +0.44 +0.45 +0.57 +0.71 +0.79 +0.72 +0.54 +0.32 +0.18 +0.21 +0.39 +0.62 +0.78 +0.78 +0.64 +0.42 +0.22 +0.1 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.51 +0.77 +0.98 +1.16 +1.35 +1.57 +1.82 +2.07 +2.26 +2.33 +2.28 +2.14 +1.98 +1.88 +1.88 +1.94 +1.99 +1.95 +1.78 +1.52 +1.25 +1.04 +0.95 +0.95 +0.98 +0.96 +0.86 +0.71 +0.58 +0.54 +0.62 +0.81 +1.08 +1.33 +1.53 +1.62 +1.62 +1.54 +1.44 +1.33 +1.22 +1.09 +0.94 +0.76 +0.6 +0.52 +0.56 +0.69 +0.83 +0.9 +0.84 +0.66 +0.47 +0.38 +0.46 +0.67 +0.9 +1.02 +0.97 +0.77 +0.51 +0.29 +0.16 +0.09 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.51 +0.77 +0.98 +1.16 +1.35 +1.57 +1.82 +2.07 +2.26 +2.33 +2.28 +2.14 +1.98 +1.88 +1.88 +1.94 +1.99 +1.95 +1.78 +1.52 +1.25 +1.04 +0.95 +0.95 +0.98 +0.96 +0.86 +0.71 +0.58 +0.54 +0.62 +0.81 +1.08 +1.33 +1.53 +1.62 +1.62 +1.54 +1.44 +1.33 +1.22 +1.09 +0.94 +0.76 +0.6 +0.52 +0.56 +0.69 +0.83 +0.9 +0.84 +0.66 +0.47 +0.38 +0.46 +0.67 +0.9 +1.02 +0.97 +0.77 +0.51 +0.29 +0.16 +0.09 +0.04 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.46 +0.67 +0.82 +0.97 +1.18 +1.47 +1.82 +2.18 +2.46 +2.61 +2.63 +2.58 +2.53 +2.54 +2.61 +2.7 +2.73 +2.61 +2.35 +2.01 +1.67 +1.42 +1.27 +1.18 +1.11 +0.99 +0.83 +0.66 +0.56 +0.55 +0.66 +0.83 +1.04 +1.22 +1.35 +1.41 +1.4 +1.35 +1.29 +1.21 +1.13 +1.02 +0.89 +0.74 +0.62 +0.58 +0.65 +0.8 +0.94 +1.0 +0.93 +0.77 +0.61 +0.56 +0.67 +0.9 +1.11 +1.19 +1.1 +0.86 +0.58 +0.37 +0.26 +0.21 +0.15 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.46 +0.67 +0.82 +0.97 +1.18 +1.47 +1.82 +2.18 +2.46 +2.61 +2.63 +2.58 +2.53 +2.54 +2.61 +2.7 +2.73 +2.61 +2.35 +2.01 +1.67 +1.42 +1.27 +1.18 +1.11 +0.99 +0.83 +0.66 +0.56 +0.55 +0.66 +0.83 +1.04 +1.22 +1.35 +1.41 +1.4 +1.35 +1.29 +1.21 +1.13 +1.02 +0.89 +0.74 +0.62 +0.58 +0.65 +0.8 +0.94 +1.0 +0.93 +0.77 +0.61 +0.56 +0.67 +0.9 +1.11 +1.19 +1.1 +0.86 +0.58 +0.37 +0.26 +0.21 +0.15 +0.02 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.27 +0.51 +0.67 +0.77 +0.91 +1.14 +1.49 +1.94 +2.4 +2.78 +3.04 +3.18 +3.27 +3.37 +3.52 +3.69 +3.8 +3.76 +3.54 +3.15 +2.7 +2.27 +1.94 +1.7 +1.52 +1.33 +1.11 +0.89 +0.71 +0.62 +0.63 +0.72 +0.84 +0.94 +1.01 +1.04 +1.04 +1.03 +1.01 +0.98 +0.94 +0.9 +0.83 +0.74 +0.65 +0.59 +0.61 +0.71 +0.86 +1.0 +1.04 +0.96 +0.8 +0.67 +0.65 +0.78 +1.0 +1.19 +1.23 +1.1 +0.86 +0.61 +0.44 +0.38 +0.37 +0.32 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.27 +0.51 +0.67 +0.77 +0.91 +1.14 +1.49 +1.94 +2.4 +2.78 +3.04 +3.18 +3.27 +3.37 +3.52 +3.69 +3.8 +3.76 +3.54 +3.15 +2.7 +2.27 +1.94 +1.7 +1.52 +1.33 +1.11 +0.89 +0.71 +0.62 +0.63 +0.72 +0.84 +0.94 +1.01 +1.04 +1.04 +1.03 +1.01 +0.98 +0.94 +0.9 +0.83 +0.74 +0.65 +0.59 +0.61 +0.71 +0.86 +1.0 +1.04 +0.96 +0.8 +0.67 +0.65 +0.78 +1.0 +1.19 +1.23 +1.1 +0.86 +0.61 +0.44 +0.38 +0.37 +0.32 +0.17 +0.35 +0.12 +0.0 +0.0 +0.0 +0.14 +0.42 +0.64 +0.77 +0.86 +0.98 +1.22 +1.62 +2.13 +2.67 +3.14 +3.49 +3.75 +3.98 +4.24 +4.52 +4.77 +4.87 +4.76 +4.41 +3.9 +3.33 +2.82 +2.43 +2.13 +1.86 +1.58 +1.29 +1.02 +0.84 +0.77 +0.79 +0.84 +0.86 +0.84 +0.78 +0.71 +0.65 +0.62 +0.61 +0.61 +0.6 +0.59 +0.56 +0.52 +0.5 +0.5 +0.57 +0.71 +0.86 +0.98 +0.99 +0.9 +0.74 +0.63 +0.63 +0.77 +0.98 +1.14 +1.15 +1.0 +0.77 +0.56 +0.47 +0.48 +0.52 +0.5 +0.35 +0.12 +0.0 +0.0 +0.0 +0.14 +0.42 +0.64 +0.77 +0.86 +0.98 +1.22 +1.62 +2.13 +2.67 +3.14 +3.49 +3.75 +3.98 +4.24 +4.52 +4.77 +4.87 +4.76 +4.41 +3.9 +3.33 +2.82 +2.43 +2.13 +1.86 +1.58 +1.29 +1.02 +0.84 +0.77 +0.79 +0.84 +0.86 +0.84 +0.78 +0.71 +0.65 +0.62 +0.61 +0.61 +0.6 +0.59 +0.56 +0.52 +0.5 +0.5 +0.57 +0.71 +0.86 +0.98 +0.99 +0.9 +0.74 +0.63 +0.63 +0.77 +0.98 +1.14 +1.15 +1.0 +0.77 +0.56 +0.47 +0.48 +0.52 +0.5 +0.35 +0.5 +0.27 +0.07 +0.0 +0.1 +0.35 +0.63 +0.86 +0.98 +1.04 +1.14 +1.38 +1.78 +2.31 +2.87 +3.36 +3.77 +4.1 +4.43 +4.8 +5.16 +5.45 +5.52 +5.33 +4.87 +4.26 +3.63 +3.09 +2.69 +2.36 +2.06 +1.75 +1.42 +1.16 +1.0 +0.95 +0.98 +0.99 +0.94 +0.81 +0.64 +0.48 +0.37 +0.31 +0.31 +0.31 +0.32 +0.31 +0.3 +0.3 +0.32 +0.38 +0.5 +0.65 +0.8 +0.88 +0.87 +0.75 +0.6 +0.51 +0.54 +0.69 +0.89 +1.02 +1.0 +0.84 +0.63 +0.48 +0.45 +0.53 +0.62 +0.63 +0.5 +0.27 +0.07 +0.0 +0.1 +0.35 +0.63 +0.86 +0.98 +1.04 +1.14 +1.38 +1.78 +2.31 +2.87 +3.36 +3.77 +4.1 +4.43 +4.8 +5.16 +5.45 +5.52 +5.33 +4.87 +4.26 +3.63 +3.09 +2.69 +2.36 +2.06 +1.75 +1.42 +1.16 +1.0 +0.95 +0.98 +0.99 +0.94 +0.81 +0.64 +0.48 +0.37 +0.31 +0.31 +0.31 +0.32 +0.31 +0.3 +0.3 +0.32 +0.38 +0.5 +0.65 +0.8 +0.88 +0.87 +0.75 +0.6 +0.51 +0.54 +0.69 +0.89 +1.02 +1.0 +0.84 +0.63 +0.48 +0.45 +0.53 +0.62 +0.63 +0.5 +0.57 +0.38 +0.21 +0.18 +0.33 +0.6 +0.9 +1.11 +1.22 +1.25 +1.32 +1.53 +1.89 +2.37 +2.87 +3.32 +3.7 +4.03 +4.38 +4.78 +5.17 +5.44 +5.47 +5.21 +4.69 +4.05 +3.43 +2.94 +2.59 +2.31 +2.04 +1.74 +1.44 +1.21 +1.09 +1.09 +1.13 +1.14 +1.05 +0.86 +0.63 +0.42 +0.29 +0.22 +0.21 +0.21 +0.2 +0.17 +0.15 +0.15 +0.19 +0.28 +0.42 +0.58 +0.71 +0.76 +0.71 +0.58 +0.43 +0.37 +0.43 +0.6 +0.8 +0.91 +0.87 +0.7 +0.5 +0.38 +0.39 +0.52 +0.65 +0.68 +0.57 +0.38 +0.21 +0.18 +0.33 +0.6 +0.9 +1.11 +1.22 +1.25 +1.32 +1.53 +1.89 +2.37 +2.87 +3.32 +3.7 +4.03 +4.38 +4.78 +5.17 +5.44 +5.47 +5.21 +4.69 +4.05 +3.43 +2.94 +2.59 +2.31 +2.04 +1.74 +1.44 +1.21 +1.09 +1.09 +1.13 +1.14 +1.05 +0.86 +0.63 +0.42 +0.29 +0.22 +0.21 +0.21 +0.2 +0.17 +0.15 +0.15 +0.19 +0.28 +0.42 +0.58 +0.71 +0.76 +0.71 +0.58 +0.43 +0.37 +0.43 +0.6 +0.8 +0.91 +0.87 +0.7 +0.5 +0.38 +0.39 +0.52 +0.65 +0.68 +0.57 +0.6 +0.46 +0.35 +0.37 +0.56 +0.86 +1.15 +1.34 +1.41 +1.4 +1.42 +1.56 +1.85 +2.23 +2.62 +2.96 +3.24 +3.49 +3.79 +4.14 +4.5 +4.72 +4.71 +4.42 +3.9 +3.3 +2.76 +2.38 +2.15 +1.98 +1.79 +1.56 +1.32 +1.13 +1.07 +1.11 +1.18 +1.21 +1.12 +0.94 +0.71 +0.52 +0.39 +0.33 +0.32 +0.3 +0.27 +0.21 +0.15 +0.12 +0.15 +0.24 +0.38 +0.54 +0.65 +0.67 +0.58 +0.42 +0.29 +0.26 +0.36 +0.56 +0.77 +0.87 +0.81 +0.63 +0.43 +0.33 +0.36 +0.49 +0.63 +0.68 +0.6 +0.46 +0.35 +0.37 +0.56 +0.86 +1.15 +1.34 +1.41 +1.4 +1.42 +1.56 +1.85 +2.23 +2.62 +2.96 +3.24 +3.49 +3.79 +4.14 +4.5 +4.72 +4.71 +4.42 +3.9 +3.3 +2.76 +2.38 +2.15 +1.98 +1.79 +1.56 +1.32 +1.13 +1.07 +1.11 +1.18 +1.21 +1.12 +0.94 +0.71 +0.52 +0.39 +0.33 +0.32 +0.3 +0.27 +0.21 +0.15 +0.12 +0.15 +0.24 +0.38 +0.54 +0.65 +0.67 +0.58 +0.42 +0.29 +0.26 +0.36 +0.56 +0.77 +0.87 +0.81 +0.63 +0.43 +0.33 +0.36 +0.49 +0.63 +0.68 +0.6 +0.64 +0.54 +0.49 +0.56 +0.78 +1.07 +1.33 +1.47 +1.47 +1.4 +1.36 +1.42 +1.61 +1.88 +2.14 +2.33 +2.47 +2.6 +2.8 +3.08 +3.36 +3.54 +3.5 +3.22 +2.75 +2.24 +1.84 +1.61 +1.51 +1.48 +1.4 +1.26 +1.08 +0.94 +0.91 +0.98 +1.08 +1.14 +1.11 +0.98 +0.81 +0.66 +0.57 +0.53 +0.53 +0.51 +0.46 +0.38 +0.28 +0.22 +0.21 +0.28 +0.41 +0.55 +0.64 +0.63 +0.51 +0.34 +0.21 +0.21 +0.36 +0.6 +0.83 +0.93 +0.86 +0.67 +0.47 +0.37 +0.39 +0.52 +0.65 +0.7 +0.64 +0.54 +0.49 +0.56 +0.78 +1.07 +1.33 +1.47 +1.47 +1.4 +1.36 +1.42 +1.61 +1.88 +2.14 +2.33 +2.47 +2.6 +2.8 +3.08 +3.36 +3.54 +3.5 +3.22 +2.75 +2.24 +1.84 +1.61 +1.51 +1.48 +1.4 +1.26 +1.08 +0.94 +0.91 +0.98 +1.08 +1.14 +1.11 +0.98 +0.81 +0.66 +0.57 +0.53 +0.53 +0.51 +0.46 +0.38 +0.28 +0.22 +0.21 +0.28 +0.41 +0.55 +0.64 +0.63 +0.51 +0.34 +0.21 +0.21 +0.36 +0.6 +0.83 +0.93 +0.86 +0.67 +0.47 +0.37 +0.39 +0.52 +0.65 +0.7 +0.64 +0.74 +0.66 +0.64 +0.74 +0.95 +1.19 +1.38 +1.43 +1.36 +1.22 +1.12 +1.12 +1.23 +1.39 +1.52 +1.58 +1.58 +1.6 +1.7 +1.9 +2.13 +2.27 +2.23 +1.98 +1.6 +1.21 +0.94 +0.85 +0.9 +0.98 +1.01 +0.94 +0.82 +0.71 +0.68 +0.74 +0.85 +0.94 +0.97 +0.93 +0.83 +0.74 +0.68 +0.68 +0.69 +0.7 +0.67 +0.59 +0.49 +0.39 +0.35 +0.39 +0.49 +0.62 +0.69 +0.65 +0.51 +0.33 +0.22 +0.26 +0.45 +0.73 +0.98 +1.09 +1.02 +0.84 +0.64 +0.53 +0.55 +0.66 +0.76 +0.79 +0.74 +0.66 +0.64 +0.74 +0.95 +1.19 +1.38 +1.43 +1.36 +1.22 +1.12 +1.12 +1.23 +1.39 +1.52 +1.58 +1.58 +1.6 +1.7 +1.9 +2.13 +2.27 +2.23 +1.98 +1.6 +1.21 +0.94 +0.85 +0.9 +0.98 +1.01 +0.94 +0.82 +0.71 +0.68 +0.74 +0.85 +0.94 +0.97 +0.93 +0.83 +0.74 +0.68 +0.68 +0.69 +0.7 +0.67 +0.59 +0.49 +0.39 +0.35 +0.39 +0.49 +0.62 +0.69 +0.65 +0.51 +0.33 +0.22 +0.26 +0.45 +0.73 +0.98 +1.09 +1.02 +0.84 +0.64 +0.53 +0.55 +0.66 +0.76 +0.79 +0.74 +0.9 +0.81 +0.78 +0.86 +1.02 +1.19 +1.28 +1.24 +1.09 +0.9 +0.77 +0.73 +0.79 +0.88 +0.92 +0.88 +0.79 +0.73 +0.76 +0.91 +1.1 +1.23 +1.22 +1.03 +0.74 +0.46 +0.3 +0.32 +0.45 +0.62 +0.72 +0.72 +0.63 +0.52 +0.46 +0.48 +0.57 +0.68 +0.76 +0.77 +0.75 +0.7 +0.67 +0.68 +0.73 +0.78 +0.8 +0.76 +0.67 +0.57 +0.5 +0.5 +0.58 +0.69 +0.76 +0.72 +0.59 +0.43 +0.35 +0.42 +0.66 +0.97 +1.24 +1.36 +1.3 +1.13 +0.94 +0.84 +0.85 +0.92 +0.98 +0.98 +0.9 +0.81 +0.78 +0.86 +1.02 +1.19 +1.28 +1.24 +1.09 +0.9 +0.77 +0.73 +0.79 +0.88 +0.92 +0.88 +0.79 +0.73 +0.76 +0.91 +1.1 +1.23 +1.22 +1.03 +0.74 +0.46 +0.3 +0.32 +0.45 +0.62 +0.72 +0.72 +0.63 +0.52 +0.46 +0.48 +0.57 +0.68 +0.76 +0.77 +0.75 +0.7 +0.67 +0.68 +0.73 +0.78 +0.8 +0.76 +0.67 +0.57 +0.5 +0.5 +0.58 +0.69 +0.76 +0.72 +0.59 +0.43 +0.35 +0.42 +0.66 +0.97 +1.24 +1.36 +1.3 +1.13 +0.94 +0.84 +0.85 +0.92 +0.98 +0.98 +0.9 +1.06 +0.93 +0.86 +0.88 +0.97 +1.05 +1.04 +0.93 +0.73 +0.53 +0.4 +0.37 +0.42 +0.47 +0.46 +0.36 +0.22 +0.12 +0.14 +0.27 +0.45 +0.6 +0.61 +0.49 +0.27 +0.08 +0.0 +0.06 +0.24 +0.45 +0.58 +0.61 +0.53 +0.41 +0.31 +0.29 +0.33 +0.43 +0.52 +0.58 +0.59 +0.56 +0.54 +0.55 +0.63 +0.73 +0.82 +0.85 +0.8 +0.7 +0.61 +0.59 +0.65 +0.76 +0.84 +0.83 +0.75 +0.65 +0.62 +0.75 +1.02 +1.35 +1.62 +1.74 +1.69 +1.52 +1.35 +1.24 +1.23 +1.26 +1.26 +1.19 +1.06 +0.93 +0.86 +0.88 +0.97 +1.05 +1.04 +0.93 +0.73 +0.53 +0.4 +0.37 +0.42 +0.47 +0.46 +0.36 +0.22 +0.12 +0.14 +0.27 +0.45 +0.6 +0.61 +0.49 +0.27 +0.08 +0.0 +0.06 +0.24 +0.45 +0.58 +0.61 +0.53 +0.41 +0.31 +0.29 +0.33 +0.43 +0.52 +0.58 +0.59 +0.56 +0.54 +0.55 +0.63 +0.73 +0.82 +0.85 +0.8 +0.7 +0.61 +0.59 +0.65 +0.76 +0.84 +0.83 +0.75 +0.65 +0.62 +0.75 +1.02 +1.35 +1.62 +1.74 +1.69 +1.52 +1.35 +1.24 +1.23 +1.26 +1.26 +1.19 +1.06 +1.13 +0.94 +0.81 +0.77 +0.78 +0.79 +0.72 +0.57 +0.38 +0.21 +0.12 +0.13 +0.19 +0.23 +0.19 +0.07 +0.0 +0.0 +0.0 +0.0 +0.17 +0.33 +0.37 +0.28 +0.12 +0.0 +0.0 +0.03 +0.21 +0.4 +0.54 +0.57 +0.5 +0.38 +0.26 +0.19 +0.2 +0.26 +0.35 +0.42 +0.43 +0.4 +0.37 +0.39 +0.48 +0.63 +0.78 +0.88 +0.87 +0.79 +0.69 +0.65 +0.7 +0.82 +0.95 +1.01 +1.01 +1.0 +1.06 +1.25 +1.54 +1.87 +2.13 +2.22 +2.16 +1.98 +1.8 +1.68 +1.61 +1.57 +1.49 +1.34 +1.13 +0.94 +0.81 +0.77 +0.78 +0.79 +0.72 +0.57 +0.38 +0.21 +0.12 +0.13 +0.19 +0.23 +0.19 +0.07 +0.0 +0.0 +0.0 +0.0 +0.17 +0.33 +0.37 +0.28 +0.12 +0.0 +0.0 +0.03 +0.21 +0.4 +0.54 +0.57 +0.5 +0.38 +0.26 +0.19 +0.2 +0.26 +0.35 +0.42 +0.43 +0.4 +0.37 +0.39 +0.48 +0.63 +0.78 +0.88 +0.87 +0.79 +0.69 +0.65 +0.7 +0.82 +0.95 +1.01 +1.01 +1.0 +1.06 +1.25 +1.54 +1.87 +2.13 +2.22 +2.16 +1.98 +1.8 +1.68 +1.61 +1.57 +1.49 +1.34 +1.13 +1.05 +0.8 +0.62 +0.53 +0.5 +0.46 +0.37 +0.23 +0.08 +0.0 +0.0 +0.03 +0.11 +0.15 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.27 +0.3 +0.24 +0.12 +0.02 +0.01 +0.09 +0.24 +0.4 +0.51 +0.54 +0.48 +0.37 +0.26 +0.18 +0.16 +0.2 +0.28 +0.33 +0.34 +0.3 +0.27 +0.28 +0.39 +0.57 +0.77 +0.91 +0.94 +0.88 +0.79 +0.75 +0.81 +0.96 +1.15 +1.3 +1.42 +1.52 +1.67 +1.91 +2.21 +2.51 +2.71 +2.75 +2.64 +2.44 +2.22 +2.04 +1.9 +1.77 +1.58 +1.33 +1.05 +0.8 +0.62 +0.53 +0.5 +0.46 +0.37 +0.23 +0.08 +0.0 +0.0 +0.03 +0.11 +0.15 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.27 +0.3 +0.24 +0.12 +0.02 +0.01 +0.09 +0.24 +0.4 +0.51 +0.54 +0.48 +0.37 +0.26 +0.18 +0.16 +0.2 +0.28 +0.33 +0.34 +0.3 +0.27 +0.28 +0.39 +0.57 +0.77 +0.91 +0.94 +0.88 +0.79 +0.75 +0.81 +0.96 +1.15 +1.3 +1.42 +1.52 +1.67 +1.91 +2.21 +2.51 +2.71 +2.75 +2.64 +2.44 +2.22 +2.04 +1.9 +1.77 +1.58 +1.33 +1.05 +0.82 +0.53 +0.32 +0.22 +0.17 +0.13 +0.06 +0.0 +0.0 +0.0 +0.0 +0.01 +0.12 +0.14 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.26 +0.19 +0.1 +0.04 +0.05 +0.12 +0.24 +0.35 +0.42 +0.44 +0.41 +0.34 +0.26 +0.2 +0.19 +0.22 +0.28 +0.33 +0.34 +0.31 +0.28 +0.31 +0.43 +0.63 +0.84 +1.01 +1.07 +1.03 +0.97 +0.96 +1.05 +1.25 +1.5 +1.75 +1.97 +2.18 +2.4 +2.65 +2.92 +3.15 +3.26 +3.22 +3.04 +2.78 +2.51 +2.26 +2.03 +1.79 +1.5 +1.17 +0.82 +0.53 +0.32 +0.22 +0.17 +0.13 +0.06 +0.0 +0.0 +0.0 +0.0 +0.01 +0.12 +0.14 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.26 +0.19 +0.1 +0.04 +0.05 +0.12 +0.24 +0.35 +0.42 +0.44 +0.41 +0.34 +0.26 +0.2 +0.19 +0.22 +0.28 +0.33 +0.34 +0.31 +0.28 +0.31 +0.43 +0.63 +0.84 +1.01 +1.07 +1.03 +0.97 +0.96 +1.05 +1.25 +1.5 +1.75 +1.97 +2.18 +2.4 +2.65 +2.92 +3.15 +3.26 +3.22 +3.04 +2.78 +2.51 +2.26 +2.03 +1.79 +1.5 +1.17 +0.82 +0.54 +0.23 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.12 +0.12 +0.04 +0.0 +0.0 +0.0 +0.0 +0.03 +0.15 +0.19 +0.15 +0.06 +0.0 +0.0 +0.0 +0.08 +0.16 +0.23 +0.26 +0.27 +0.26 +0.24 +0.23 +0.22 +0.23 +0.27 +0.33 +0.38 +0.4 +0.41 +0.41 +0.47 +0.6 +0.8 +1.01 +1.19 +1.28 +1.29 +1.28 +1.33 +1.47 +1.72 +2.03 +2.34 +2.63 +2.88 +3.12 +3.33 +3.52 +3.64 +3.64 +3.51 +3.26 +2.94 +2.61 +2.3 +1.99 +1.66 +1.3 +0.91 +0.54 +0.23 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.12 +0.12 +0.04 +0.0 +0.0 +0.0 +0.0 +0.03 +0.15 +0.19 +0.15 +0.06 +0.0 +0.0 +0.0 +0.08 +0.16 +0.23 +0.26 +0.27 +0.26 +0.24 +0.23 +0.22 +0.23 +0.27 +0.33 +0.38 +0.4 +0.41 +0.41 +0.47 +0.6 +0.8 +1.01 +1.19 +1.28 +1.29 +1.28 +1.33 +1.47 +1.72 +2.03 +2.34 +2.63 +2.88 +3.12 +3.33 +3.52 +3.64 +3.64 +3.51 +3.26 +2.94 +2.61 +2.3 +1.99 +1.66 +1.3 +0.91 +0.54 +0.31 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.09 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.07 +0.07 +0.07 +0.08 +0.12 +0.15 +0.19 +0.24 +0.29 +0.36 +0.43 +0.5 +0.55 +0.61 +0.7 +0.84 +1.04 +1.25 +1.43 +1.56 +1.64 +1.71 +1.83 +2.04 +2.33 +2.66 +2.99 +3.28 +3.51 +3.68 +3.81 +3.87 +3.86 +3.74 +3.52 +3.22 +2.87 +2.52 +2.17 +1.82 +1.46 +1.07 +0.68 +0.31 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.09 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.07 +0.07 +0.07 +0.08 +0.12 +0.15 +0.19 +0.24 +0.29 +0.36 +0.43 +0.5 +0.55 +0.61 +0.7 +0.84 +1.04 +1.25 +1.43 +1.56 +1.64 +1.71 +1.83 +2.04 +2.33 +2.66 +2.99 +3.28 +3.51 +3.68 +3.81 +3.87 +3.86 +3.74 +3.52 +3.22 +2.87 +2.52 +2.17 +1.82 +1.46 +1.07 +0.68 +0.31 +0.26 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.13 +0.19 +0.27 +0.36 +0.47 +0.59 +0.7 +0.82 +0.95 +1.11 +1.3 +1.5 +1.7 +1.87 +2.03 +2.19 +2.39 +2.65 +2.96 +3.27 +3.55 +3.77 +3.91 +3.97 +3.96 +3.88 +3.73 +3.52 +3.25 +2.94 +2.6 +2.27 +1.94 +1.62 +1.29 +0.94 +0.58 +0.26 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.13 +0.19 +0.27 +0.36 +0.47 +0.59 +0.7 +0.82 +0.95 +1.11 +1.3 +1.5 +1.7 +1.87 +2.03 +2.19 +2.39 +2.65 +2.96 +3.27 +3.55 +3.77 +3.91 +3.97 +3.96 +3.88 +3.73 +3.52 +3.25 +2.94 +2.6 +2.27 +1.94 +1.62 +1.29 +0.94 +0.58 +0.26 +0.41 +0.18 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.11 +0.2 +0.33 +0.49 +0.67 +0.86 +1.04 +1.2 +1.37 +1.55 +1.74 +1.95 +2.16 +2.38 +2.62 +2.89 +3.17 +3.45 +3.7 +3.88 +3.98 +3.99 +3.91 +3.75 +3.55 +3.3 +3.04 +2.76 +2.48 +2.21 +1.95 +1.71 +1.47 +1.22 +0.96 +0.68 +0.41 +0.18 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.11 +0.2 +0.33 +0.49 +0.67 +0.86 +1.04 +1.2 +1.37 +1.55 +1.74 +1.95 +2.16 +2.38 +2.62 +2.89 +3.17 +3.45 +3.7 +3.88 +3.98 +3.99 +3.91 +3.75 +3.55 +3.3 +3.04 +2.76 +2.48 +2.21 +1.95 +1.71 +1.47 +1.22 +0.96 +0.68 +0.41 +0.72 +0.51 +0.33 +0.2 +0.11 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.13 +0.3 +0.53 +0.79 +1.04 +1.27 +1.46 +1.62 +1.78 +1.95 +2.15 +2.38 +2.64 +2.92 +3.2 +3.46 +3.67 +3.82 +3.88 +3.85 +3.73 +3.52 +3.26 +2.98 +2.69 +2.42 +2.18 +1.97 +1.8 +1.65 +1.53 +1.41 +1.28 +1.13 +0.93 +0.72 +0.51 +0.33 +0.2 +0.11 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.13 +0.3 +0.53 +0.79 +1.04 +1.27 +1.46 +1.62 +1.78 +1.95 +2.15 +2.38 +2.64 +2.92 +3.2 +3.46 +3.67 +3.82 +3.88 +3.85 +3.73 +3.52 +3.26 +2.98 +2.69 +2.42 +2.18 +1.97 +1.8 +1.65 +1.53 +1.41 +1.28 +1.13 +0.93 +0.72 +1.08 +0.88 +0.69 +0.53 +0.4 +0.29 +0.19 +0.09 +0.03 +0.0 +0.01 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.23 +0.27 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.34 +0.63 +0.95 +1.26 +1.53 +1.73 +1.88 +2.0 +2.13 +2.29 +2.5 +2.74 +3.01 +3.25 +3.45 +3.57 +3.59 +3.53 +3.39 +3.19 +2.92 +2.63 +2.32 +2.04 +1.8 +1.62 +1.49 +1.43 +1.4 +1.41 +1.43 +1.42 +1.37 +1.25 +1.08 +0.88 +0.69 +0.53 +0.4 +0.29 +0.19 +0.09 +0.03 +0.0 +0.01 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.23 +0.27 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.34 +0.63 +0.95 +1.26 +1.53 +1.73 +1.88 +2.0 +2.13 +2.29 +2.5 +2.74 +3.01 +3.25 +3.45 +3.57 +3.59 +3.53 +3.39 +3.19 +2.92 +2.63 +2.32 +2.04 +1.8 +1.62 +1.49 +1.43 +1.4 +1.41 +1.43 +1.42 +1.37 +1.25 +1.08 +1.37 +1.19 +0.99 +0.82 +0.67 +0.54 +0.41 +0.3 +0.23 +0.21 +0.23 +0.25 +0.21 +0.11 +0.0 +0.0 +0.0 +0.08 +0.29 +0.46 +0.52 +0.43 +0.26 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.22 +0.48 +0.81 +1.17 +1.51 +1.8 +2.0 +2.12 +2.19 +2.25 +2.33 +2.47 +2.66 +2.87 +3.04 +3.15 +3.16 +3.07 +2.92 +2.71 +2.49 +2.24 +1.99 +1.73 +1.49 +1.3 +1.17 +1.11 +1.13 +1.22 +1.34 +1.47 +1.56 +1.58 +1.52 +1.37 +1.19 +0.99 +0.82 +0.67 +0.54 +0.41 +0.3 +0.23 +0.21 +0.23 +0.25 +0.21 +0.11 +0.0 +0.0 +0.0 +0.08 +0.29 +0.46 +0.52 +0.43 +0.26 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.22 +0.48 +0.81 +1.17 +1.51 +1.8 +2.0 +2.12 +2.19 +2.25 +2.33 +2.47 +2.66 +2.87 +3.04 +3.15 +3.16 +3.07 +2.92 +2.71 +2.49 +2.24 +1.99 +1.73 +1.49 +1.3 +1.17 +1.11 +1.13 +1.22 +1.34 +1.47 +1.56 +1.58 +1.52 +1.37 +1.54 +1.37 +1.2 +1.03 +0.88 +0.74 +0.59 +0.47 +0.4 +0.41 +0.47 +0.52 +0.51 +0.41 +0.26 +0.15 +0.15 +0.28 +0.5 +0.69 +0.76 +0.68 +0.5 +0.29 +0.13 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.27 +0.49 +0.75 +1.07 +1.41 +1.75 +2.02 +2.21 +2.29 +2.29 +2.26 +2.24 +2.27 +2.38 +2.51 +2.62 +2.64 +2.55 +2.37 +2.15 +1.94 +1.76 +1.6 +1.46 +1.29 +1.11 +0.95 +0.85 +0.83 +0.91 +1.07 +1.28 +1.48 +1.63 +1.7 +1.66 +1.54 +1.37 +1.2 +1.03 +0.88 +0.74 +0.59 +0.47 +0.4 +0.41 +0.47 +0.52 +0.51 +0.41 +0.26 +0.15 +0.15 +0.28 +0.5 +0.69 +0.76 +0.68 +0.5 +0.29 +0.13 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.27 +0.49 +0.75 +1.07 +1.41 +1.75 +2.02 +2.21 +2.29 +2.29 +2.26 +2.24 +2.27 +2.38 +2.51 +2.62 +2.64 +2.55 +2.37 +2.15 +1.94 +1.76 +1.6 +1.46 +1.29 +1.11 +0.95 +0.85 +0.83 +0.91 +1.07 +1.28 +1.48 +1.63 +1.7 +1.66 +1.54 +1.56 +1.42 +1.29 +1.16 +1.02 +0.86 +0.69 +0.55 +0.49 +0.53 +0.65 +0.76 +0.78 +0.68 +0.49 +0.33 +0.29 +0.4 +0.62 +0.84 +0.92 +0.84 +0.64 +0.4 +0.21 +0.1 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.44 +0.69 +0.91 +1.13 +1.37 +1.63 +1.89 +2.13 +2.28 +2.32 +2.25 +2.11 +1.98 +1.92 +1.94 +2.01 +2.07 +2.02 +1.86 +1.62 +1.37 +1.19 +1.1 +1.09 +1.08 +1.02 +0.9 +0.75 +0.64 +0.62 +0.72 +0.93 +1.19 +1.44 +1.62 +1.69 +1.66 +1.56 +1.42 +1.29 +1.16 +1.02 +0.86 +0.69 +0.55 +0.49 +0.53 +0.65 +0.76 +0.78 +0.68 +0.49 +0.33 +0.29 +0.4 +0.62 +0.84 +0.92 +0.84 +0.64 +0.4 +0.21 +0.1 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.44 +0.69 +0.91 +1.13 +1.37 +1.63 +1.89 +2.13 +2.28 +2.32 +2.25 +2.11 +1.98 +1.92 +1.94 +2.01 +2.07 +2.02 +1.86 +1.62 +1.37 +1.19 +1.1 +1.09 +1.08 +1.02 +0.9 +0.75 +0.64 +0.62 +0.72 +0.93 +1.19 +1.44 +1.62 +1.69 +1.66 +1.56 +1.48 +1.39 +1.3 +1.21 +1.08 +0.9 +0.7 +0.53 +0.47 +0.55 +0.72 +0.89 +0.95 +0.84 +0.61 +0.39 +0.3 +0.4 +0.62 +0.85 +0.95 +0.87 +0.65 +0.4 +0.2 +0.1 +0.07 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.57 +0.95 +1.24 +1.43 +1.54 +1.63 +1.74 +1.89 +2.05 +2.15 +2.15 +2.02 +1.8 +1.58 +1.44 +1.41 +1.46 +1.5 +1.43 +1.24 +0.96 +0.71 +0.58 +0.6 +0.72 +0.85 +0.89 +0.81 +0.65 +0.49 +0.45 +0.55 +0.78 +1.08 +1.35 +1.53 +1.6 +1.57 +1.48 +1.39 +1.3 +1.21 +1.08 +0.9 +0.7 +0.53 +0.47 +0.55 +0.72 +0.89 +0.95 +0.84 +0.61 +0.39 +0.3 +0.4 +0.62 +0.85 +0.95 +0.87 +0.65 +0.4 +0.2 +0.1 +0.07 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.57 +0.95 +1.24 +1.43 +1.54 +1.63 +1.74 +1.89 +2.05 +2.15 +2.15 +2.02 +1.8 +1.58 +1.44 +1.41 +1.46 +1.5 +1.43 +1.24 +0.96 +0.71 +0.58 +0.6 +0.72 +0.85 +0.89 +0.81 +0.65 +0.49 +0.45 +0.55 +0.78 +1.08 +1.35 +1.53 +1.6 +1.57 +1.48 +1.36 +1.31 +1.28 +1.22 +1.1 +0.89 +0.65 +0.45 +0.38 +0.49 +0.72 +0.93 +1.01 +0.88 +0.61 +0.34 +0.2 +0.27 +0.5 +0.75 +0.87 +0.79 +0.57 +0.31 +0.14 +0.08 +0.11 +0.13 +0.09 +0.0 +0.0 +0.0 +0.18 +0.58 +1.07 +1.52 +1.82 +1.93 +1.88 +1.76 +1.68 +1.68 +1.76 +1.82 +1.8 +1.64 +1.38 +1.11 +0.93 +0.89 +0.96 +1.02 +0.97 +0.77 +0.49 +0.24 +0.15 +0.27 +0.51 +0.75 +0.86 +0.79 +0.59 +0.4 +0.31 +0.41 +0.66 +0.97 +1.25 +1.42 +1.47 +1.43 +1.36 +1.31 +1.28 +1.22 +1.1 +0.89 +0.65 +0.45 +0.38 +0.49 +0.72 +0.93 +1.01 +0.88 +0.61 +0.34 +0.2 +0.27 +0.5 +0.75 +0.87 +0.79 +0.57 +0.31 +0.14 +0.08 +0.11 +0.13 +0.09 +0.0 +0.0 +0.0 +0.18 +0.58 +1.07 +1.52 +1.82 +1.93 +1.88 +1.76 +1.68 +1.68 +1.76 +1.82 +1.8 +1.64 +1.38 +1.11 +0.93 +0.89 +0.96 +1.02 +0.97 +0.77 +0.49 +0.24 +0.15 +0.27 +0.51 +0.75 +0.86 +0.79 +0.59 +0.4 +0.31 +0.41 +0.66 +0.97 +1.25 +1.42 +1.47 +1.43 +1.36 +1.26 +1.25 +1.26 +1.23 +1.1 +0.87 +0.58 +0.35 +0.28 +0.4 +0.66 +0.9 +0.99 +0.85 +0.54 +0.22 +0.04 +0.1 +0.33 +0.59 +0.73 +0.67 +0.47 +0.24 +0.11 +0.13 +0.25 +0.36 +0.38 +0.32 +0.27 +0.33 +0.59 +1.04 +1.56 +2.01 +2.26 +2.25 +2.02 +1.71 +1.44 +1.31 +1.3 +1.34 +1.32 +1.17 +0.92 +0.65 +0.49 +0.5 +0.61 +0.72 +0.71 +0.53 +0.24 +0.0 +0.0 +0.11 +0.43 +0.73 +0.88 +0.81 +0.58 +0.34 +0.23 +0.32 +0.57 +0.89 +1.16 +1.32 +1.35 +1.31 +1.26 +1.25 +1.26 +1.23 +1.1 +0.87 +0.58 +0.35 +0.28 +0.4 +0.66 +0.9 +0.99 +0.85 +0.54 +0.22 +0.04 +0.1 +0.33 +0.59 +0.73 +0.67 +0.47 +0.24 +0.11 +0.13 +0.25 +0.36 +0.38 +0.32 +0.27 +0.33 +0.59 +1.04 +1.56 +2.01 +2.26 +2.25 +2.02 +1.71 +1.44 +1.31 +1.3 +1.34 +1.32 +1.17 +0.92 +0.65 +0.49 +0.5 +0.61 +0.72 +0.71 +0.53 +0.24 +0.0 +0.0 +0.11 +0.43 +0.73 +0.88 +0.81 +0.58 +0.34 +0.23 +0.32 +0.57 +0.89 +1.16 +1.32 +1.35 +1.31 +1.26 +1.22 +1.24 +1.28 +1.25 +1.12 +0.86 +0.55 +0.3 +0.22 +0.34 +0.61 +0.85 +0.93 +0.78 +0.46 +0.12 +0.0 +0.0 +0.21 +0.49 +0.65 +0.62 +0.45 +0.28 +0.22 +0.31 +0.52 +0.71 +0.81 +0.8 +0.77 +0.82 +1.05 +1.45 +1.91 +2.28 +2.42 +2.28 +1.91 +1.45 +1.05 +0.82 +0.77 +0.8 +0.81 +0.71 +0.52 +0.31 +0.22 +0.28 +0.45 +0.62 +0.65 +0.49 +0.21 +0.0 +0.0 +0.12 +0.46 +0.78 +0.93 +0.85 +0.61 +0.34 +0.22 +0.3 +0.55 +0.86 +1.12 +1.25 +1.28 +1.24 +1.22 +1.24 +1.28 +1.25 +1.12 +0.86 +0.55 +0.3 +0.22 +0.34 +0.61 +0.85 +0.93 +0.78 +0.46 +0.12 +0.0 +0.0 +0.21 +0.49 +0.65 +0.62 +0.45 +0.28 +0.22 +0.31 +0.52 +0.71 +0.81 +0.8 +0.77 +0.82 +1.05 +1.45 +1.91 +2.28 +2.42 +2.28 +1.91 +1.45 +1.05 +0.82 +0.77 +0.8 +0.81 +0.71 +0.52 +0.31 +0.22 +0.28 +0.45 +0.62 +0.65 +0.49 +0.21 +0.0 +0.0 +0.12 +0.46 +0.78 +0.93 +0.85 +0.61 +0.34 +0.22 +0.3 +0.55 +0.86 +1.12 +1.25 +1.28 +1.24 +1.22 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.65 +0.85 +1.07 +1.29 +1.54 +1.79 +2.04 +2.22 +2.3 +2.25 +2.09 +1.86 +1.61 +1.36 +1.14 +0.92 +0.71 +0.54 +0.42 +0.37 +0.36 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.25 +0.37 +0.41 +0.41 +0.45 +0.55 +0.71 +0.9 +1.12 +1.35 +1.58 +1.82 +2.04 +2.19 +2.23 +2.16 +1.99 +1.76 +1.51 +1.28 +1.06 +0.85 +0.65 +0.5 +0.42 +0.4 +0.41 +0.39 +0.28 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.34 +0.36 +0.35 +0.39 +0.49 +0.65 +0.85 +1.07 +1.29 +1.54 +1.79 +2.04 +2.22 +2.3 +2.25 +2.09 +1.86 +1.61 +1.36 +1.14 +0.92 +0.71 +0.54 +0.42 +0.37 +0.36 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.25 +0.37 +0.41 +0.41 +0.45 +0.55 +0.71 +0.9 +1.12 +1.35 +1.58 +1.82 +2.04 +2.19 +2.23 +2.16 +1.99 +1.76 +1.51 +1.28 +1.06 +0.85 +0.65 +0.5 +0.42 +0.4 +0.41 +0.39 +0.28 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.34 +0.36 +0.35 +0.39 +0.49 +0.65 +0.51 +0.71 +0.93 +1.18 +1.46 +1.77 +2.08 +2.33 +2.45 +2.43 +2.27 +2.01 +1.73 +1.45 +1.2 +0.96 +0.75 +0.56 +0.43 +0.36 +0.35 +0.34 +0.28 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.33 +0.45 +0.49 +0.49 +0.5 +0.56 +0.69 +0.88 +1.11 +1.36 +1.62 +1.86 +2.07 +2.19 +2.2 +2.1 +1.9 +1.65 +1.39 +1.13 +0.89 +0.68 +0.51 +0.41 +0.39 +0.43 +0.48 +0.49 +0.4 +0.23 +0.02 +0.0 +0.0 +0.0 +0.05 +0.22 +0.33 +0.34 +0.3 +0.26 +0.27 +0.36 +0.51 +0.71 +0.93 +1.18 +1.46 +1.77 +2.08 +2.33 +2.45 +2.43 +2.27 +2.01 +1.73 +1.45 +1.2 +0.96 +0.75 +0.56 +0.43 +0.36 +0.35 +0.34 +0.28 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.33 +0.45 +0.49 +0.49 +0.5 +0.56 +0.69 +0.88 +1.11 +1.36 +1.62 +1.86 +2.07 +2.19 +2.2 +2.1 +1.9 +1.65 +1.39 +1.13 +0.89 +0.68 +0.51 +0.41 +0.39 +0.43 +0.48 +0.49 +0.4 +0.23 +0.02 +0.0 +0.0 +0.0 +0.05 +0.22 +0.33 +0.34 +0.3 +0.26 +0.27 +0.36 +0.51 +0.34 +0.52 +0.73 +0.99 +1.32 +1.69 +2.08 +2.4 +2.6 +2.61 +2.46 +2.2 +1.89 +1.59 +1.32 +1.08 +0.87 +0.68 +0.53 +0.46 +0.44 +0.45 +0.44 +0.36 +0.21 +0.04 +0.0 +0.0 +0.05 +0.24 +0.44 +0.57 +0.61 +0.58 +0.54 +0.55 +0.63 +0.81 +1.04 +1.32 +1.6 +1.85 +2.04 +2.12 +2.09 +1.96 +1.75 +1.48 +1.2 +0.93 +0.67 +0.47 +0.33 +0.29 +0.35 +0.45 +0.55 +0.58 +0.5 +0.34 +0.17 +0.05 +0.04 +0.13 +0.26 +0.36 +0.38 +0.32 +0.22 +0.15 +0.13 +0.2 +0.34 +0.52 +0.73 +0.99 +1.32 +1.69 +2.08 +2.4 +2.6 +2.61 +2.46 +2.2 +1.89 +1.59 +1.32 +1.08 +0.87 +0.68 +0.53 +0.46 +0.44 +0.45 +0.44 +0.36 +0.21 +0.04 +0.0 +0.0 +0.05 +0.24 +0.44 +0.57 +0.61 +0.58 +0.54 +0.55 +0.63 +0.81 +1.04 +1.32 +1.6 +1.85 +2.04 +2.12 +2.09 +1.96 +1.75 +1.48 +1.2 +0.93 +0.67 +0.47 +0.33 +0.29 +0.35 +0.45 +0.55 +0.58 +0.5 +0.34 +0.17 +0.05 +0.04 +0.13 +0.26 +0.36 +0.38 +0.32 +0.22 +0.15 +0.13 +0.2 +0.34 +0.18 +0.32 +0.51 +0.76 +1.1 +1.52 +1.97 +2.37 +2.63 +2.7 +2.58 +2.33 +2.03 +1.74 +1.5 +1.3 +1.11 +0.93 +0.78 +0.69 +0.67 +0.69 +0.71 +0.68 +0.56 +0.39 +0.23 +0.16 +0.22 +0.37 +0.55 +0.69 +0.72 +0.67 +0.57 +0.51 +0.54 +0.68 +0.92 +1.21 +1.51 +1.75 +1.9 +1.94 +1.88 +1.73 +1.52 +1.27 +1.0 +0.73 +0.47 +0.27 +0.17 +0.19 +0.3 +0.46 +0.58 +0.6 +0.5 +0.34 +0.19 +0.12 +0.16 +0.26 +0.38 +0.43 +0.38 +0.27 +0.13 +0.04 +0.02 +0.07 +0.18 +0.32 +0.51 +0.76 +1.1 +1.52 +1.97 +2.37 +2.63 +2.7 +2.58 +2.33 +2.03 +1.74 +1.5 +1.3 +1.11 +0.93 +0.78 +0.69 +0.67 +0.69 +0.71 +0.68 +0.56 +0.39 +0.23 +0.16 +0.22 +0.37 +0.55 +0.69 +0.72 +0.67 +0.57 +0.51 +0.54 +0.68 +0.92 +1.21 +1.51 +1.75 +1.9 +1.94 +1.88 +1.73 +1.52 +1.27 +1.0 +0.73 +0.47 +0.27 +0.17 +0.19 +0.3 +0.46 +0.58 +0.6 +0.5 +0.34 +0.19 +0.12 +0.16 +0.26 +0.38 +0.43 +0.38 +0.27 +0.13 +0.04 +0.02 +0.07 +0.18 +0.06 +0.15 +0.28 +0.5 +0.82 +1.25 +1.74 +2.19 +2.51 +2.63 +2.57 +2.37 +2.12 +1.89 +1.71 +1.57 +1.43 +1.28 +1.13 +1.02 +0.98 +1.0 +1.04 +1.03 +0.92 +0.73 +0.51 +0.37 +0.37 +0.48 +0.66 +0.79 +0.82 +0.74 +0.58 +0.45 +0.42 +0.53 +0.77 +1.07 +1.37 +1.59 +1.7 +1.7 +1.61 +1.46 +1.27 +1.07 +0.83 +0.58 +0.33 +0.15 +0.07 +0.13 +0.28 +0.45 +0.55 +0.52 +0.38 +0.2 +0.07 +0.05 +0.14 +0.28 +0.39 +0.41 +0.32 +0.18 +0.05 +0.0 +0.0 +0.0 +0.06 +0.15 +0.28 +0.5 +0.82 +1.25 +1.74 +2.19 +2.51 +2.63 +2.57 +2.37 +2.12 +1.89 +1.71 +1.57 +1.43 +1.28 +1.13 +1.02 +0.98 +1.0 +1.04 +1.03 +0.92 +0.73 +0.51 +0.37 +0.37 +0.48 +0.66 +0.79 +0.82 +0.74 +0.58 +0.45 +0.42 +0.53 +0.77 +1.07 +1.37 +1.59 +1.7 +1.7 +1.61 +1.46 +1.27 +1.07 +0.83 +0.58 +0.33 +0.15 +0.07 +0.13 +0.28 +0.45 +0.55 +0.52 +0.38 +0.2 +0.07 +0.05 +0.14 +0.28 +0.39 +0.41 +0.32 +0.18 +0.05 +0.0 +0.0 +0.0 +0.06 +0.0 +0.01 +0.08 +0.24 +0.53 +0.95 +1.43 +1.9 +2.25 +2.43 +2.42 +2.3 +2.13 +1.99 +1.89 +1.83 +1.74 +1.61 +1.45 +1.31 +1.24 +1.26 +1.31 +1.3 +1.19 +0.97 +0.72 +0.52 +0.47 +0.56 +0.73 +0.87 +0.9 +0.79 +0.59 +0.42 +0.35 +0.44 +0.67 +0.97 +1.26 +1.45 +1.52 +1.48 +1.37 +1.24 +1.09 +0.93 +0.73 +0.51 +0.28 +0.11 +0.06 +0.14 +0.3 +0.46 +0.51 +0.42 +0.22 +0.01 +0.0 +0.0 +0.07 +0.24 +0.35 +0.35 +0.25 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.08 +0.24 +0.53 +0.95 +1.43 +1.9 +2.25 +2.43 +2.42 +2.3 +2.13 +1.99 +1.89 +1.83 +1.74 +1.61 +1.45 +1.31 +1.24 +1.26 +1.31 +1.3 +1.19 +0.97 +0.72 +0.52 +0.47 +0.56 +0.73 +0.87 +0.9 +0.79 +0.59 +0.42 +0.35 +0.44 +0.67 +0.97 +1.26 +1.45 +1.52 +1.48 +1.37 +1.24 +1.09 +0.93 +0.73 +0.51 +0.28 +0.11 +0.06 +0.14 +0.3 +0.46 +0.51 +0.42 +0.22 +0.01 +0.0 +0.0 +0.07 +0.24 +0.35 +0.35 +0.25 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.28 +0.67 +1.14 +1.59 +1.94 +2.13 +2.19 +2.14 +2.07 +2.03 +2.02 +2.01 +1.94 +1.8 +1.62 +1.45 +1.36 +1.37 +1.42 +1.42 +1.31 +1.07 +0.8 +0.58 +0.52 +0.61 +0.78 +0.92 +0.94 +0.82 +0.61 +0.42 +0.35 +0.45 +0.68 +0.99 +1.26 +1.42 +1.46 +1.39 +1.27 +1.14 +1.02 +0.9 +0.73 +0.53 +0.31 +0.16 +0.13 +0.22 +0.38 +0.51 +0.51 +0.36 +0.12 +0.0 +0.0 +0.0 +0.08 +0.27 +0.37 +0.34 +0.21 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.28 +0.67 +1.14 +1.59 +1.94 +2.13 +2.19 +2.14 +2.07 +2.03 +2.02 +2.01 +1.94 +1.8 +1.62 +1.45 +1.36 +1.37 +1.42 +1.42 +1.31 +1.07 +0.8 +0.58 +0.52 +0.61 +0.78 +0.92 +0.94 +0.82 +0.61 +0.42 +0.35 +0.45 +0.68 +0.99 +1.26 +1.42 +1.46 +1.39 +1.27 +1.14 +1.02 +0.9 +0.73 +0.53 +0.31 +0.16 +0.13 +0.22 +0.38 +0.51 +0.51 +0.36 +0.12 +0.0 +0.0 +0.0 +0.08 +0.27 +0.37 +0.34 +0.21 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.48 +0.9 +1.31 +1.63 +1.83 +1.92 +1.94 +1.97 +2.02 +2.08 +2.1 +2.03 +1.86 +1.65 +1.45 +1.36 +1.36 +1.41 +1.41 +1.3 +1.07 +0.8 +0.6 +0.54 +0.64 +0.8 +0.94 +0.94 +0.81 +0.61 +0.45 +0.41 +0.54 +0.8 +1.1 +1.36 +1.5 +1.51 +1.43 +1.3 +1.19 +1.08 +0.97 +0.82 +0.62 +0.41 +0.27 +0.26 +0.37 +0.53 +0.64 +0.6 +0.41 +0.16 +0.0 +0.0 +0.04 +0.26 +0.45 +0.52 +0.44 +0.27 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.48 +0.9 +1.31 +1.63 +1.83 +1.92 +1.94 +1.97 +2.02 +2.08 +2.1 +2.03 +1.86 +1.65 +1.45 +1.36 +1.36 +1.41 +1.41 +1.3 +1.07 +0.8 +0.6 +0.54 +0.64 +0.8 +0.94 +0.94 +0.81 +0.61 +0.45 +0.41 +0.54 +0.8 +1.1 +1.36 +1.5 +1.51 +1.43 +1.3 +1.19 +1.08 +0.97 +0.82 +0.62 +0.41 +0.27 +0.26 +0.37 +0.53 +0.64 +0.6 +0.41 +0.16 +0.0 +0.0 +0.04 +0.26 +0.45 +0.52 +0.44 +0.27 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.38 +0.77 +1.12 +1.38 +1.55 +1.66 +1.76 +1.87 +2.0 +2.12 +2.15 +2.08 +1.89 +1.66 +1.47 +1.39 +1.41 +1.46 +1.46 +1.33 +1.09 +0.83 +0.64 +0.59 +0.68 +0.83 +0.92 +0.9 +0.76 +0.59 +0.47 +0.49 +0.66 +0.94 +1.24 +1.47 +1.59 +1.6 +1.52 +1.4 +1.3 +1.2 +1.08 +0.93 +0.73 +0.53 +0.42 +0.42 +0.55 +0.72 +0.82 +0.77 +0.58 +0.34 +0.17 +0.18 +0.35 +0.59 +0.76 +0.78 +0.63 +0.4 +0.19 +0.06 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.38 +0.77 +1.12 +1.38 +1.55 +1.66 +1.76 +1.87 +2.0 +2.12 +2.15 +2.08 +1.89 +1.66 +1.47 +1.39 +1.41 +1.46 +1.46 +1.33 +1.09 +0.83 +0.64 +0.59 +0.68 +0.83 +0.92 +0.9 +0.76 +0.59 +0.47 +0.49 +0.66 +0.94 +1.24 +1.47 +1.59 +1.6 +1.52 +1.4 +1.3 +1.2 +1.08 +0.93 +0.73 +0.53 +0.42 +0.42 +0.55 +0.72 +0.82 +0.77 +0.58 +0.34 +0.17 +0.18 +0.35 +0.59 +0.76 +0.78 +0.63 +0.4 +0.19 +0.06 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.36 +0.71 +1.0 +1.2 +1.33 +1.46 +1.62 +1.82 +2.04 +2.22 +2.29 +2.23 +2.06 +1.86 +1.73 +1.69 +1.74 +1.79 +1.75 +1.57 +1.3 +1.01 +0.81 +0.75 +0.8 +0.88 +0.9 +0.83 +0.68 +0.53 +0.47 +0.54 +0.74 +1.01 +1.28 +1.48 +1.58 +1.58 +1.52 +1.43 +1.34 +1.25 +1.14 +0.99 +0.8 +0.63 +0.54 +0.59 +0.74 +0.92 +1.02 +0.97 +0.79 +0.57 +0.46 +0.52 +0.72 +0.96 +1.1 +1.06 +0.86 +0.58 +0.35 +0.21 +0.15 +0.1 +0.01 +0.0 +0.0 +0.0 +0.0 +0.02 +0.36 +0.71 +1.0 +1.2 +1.33 +1.46 +1.62 +1.82 +2.04 +2.22 +2.29 +2.23 +2.06 +1.86 +1.73 +1.69 +1.74 +1.79 +1.75 +1.57 +1.3 +1.01 +0.81 +0.75 +0.8 +0.88 +0.9 +0.83 +0.68 +0.53 +0.47 +0.54 +0.74 +1.01 +1.28 +1.48 +1.58 +1.58 +1.52 +1.43 +1.34 +1.25 +1.14 +0.99 +0.8 +0.63 +0.54 +0.59 +0.74 +0.92 +1.02 +0.97 +0.79 +0.57 +0.46 +0.52 +0.72 +0.96 +1.1 +1.06 +0.86 +0.58 +0.35 +0.21 +0.15 +0.1 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.41 +0.72 +0.94 +1.09 +1.19 +1.33 +1.56 +1.86 +2.19 +2.45 +2.58 +2.58 +2.49 +2.39 +2.36 +2.42 +2.5 +2.53 +2.41 +2.13 +1.76 +1.41 +1.16 +1.05 +1.02 +1.01 +0.93 +0.79 +0.61 +0.49 +0.47 +0.57 +0.76 +0.98 +1.18 +1.32 +1.37 +1.37 +1.33 +1.28 +1.22 +1.16 +1.06 +0.93 +0.78 +0.65 +0.61 +0.69 +0.87 +1.06 +1.15 +1.1 +0.94 +0.76 +0.69 +0.79 +1.02 +1.25 +1.36 +1.27 +1.03 +0.74 +0.51 +0.39 +0.34 +0.29 +0.17 +0.0 +0.0 +0.0 +0.0 +0.08 +0.41 +0.72 +0.94 +1.09 +1.19 +1.33 +1.56 +1.86 +2.19 +2.45 +2.58 +2.58 +2.49 +2.39 +2.36 +2.42 +2.5 +2.53 +2.41 +2.13 +1.76 +1.41 +1.16 +1.05 +1.02 +1.01 +0.93 +0.79 +0.61 +0.49 +0.47 +0.57 +0.76 +0.98 +1.18 +1.32 +1.37 +1.37 +1.33 +1.28 +1.22 +1.16 +1.06 +0.93 +0.78 +0.65 +0.61 +0.69 +0.87 +1.06 +1.15 +1.1 +0.94 +0.76 +0.69 +0.79 +1.02 +1.25 +1.36 +1.27 +1.03 +0.74 +0.51 +0.39 +0.34 +0.29 +0.17 +0.0 +0.17 +0.0 +0.0 +0.0 +0.19 +0.51 +0.79 +0.97 +1.07 +1.15 +1.31 +1.6 +2.0 +2.43 +2.79 +3.03 +3.13 +3.17 +3.22 +3.34 +3.5 +3.61 +3.58 +3.35 +2.93 +2.44 +1.99 +1.66 +1.47 +1.35 +1.22 +1.04 +0.82 +0.62 +0.51 +0.51 +0.61 +0.75 +0.88 +0.97 +1.01 +1.01 +0.99 +0.97 +0.95 +0.93 +0.9 +0.84 +0.75 +0.64 +0.58 +0.6 +0.72 +0.91 +1.09 +1.17 +1.11 +0.96 +0.81 +0.78 +0.91 +1.15 +1.37 +1.45 +1.34 +1.09 +0.82 +0.64 +0.57 +0.57 +0.53 +0.39 +0.17 +0.0 +0.0 +0.0 +0.19 +0.51 +0.79 +0.97 +1.07 +1.15 +1.31 +1.6 +2.0 +2.43 +2.79 +3.03 +3.13 +3.17 +3.22 +3.34 +3.5 +3.61 +3.58 +3.35 +2.93 +2.44 +1.99 +1.66 +1.47 +1.35 +1.22 +1.04 +0.82 +0.62 +0.51 +0.51 +0.61 +0.75 +0.88 +0.97 +1.01 +1.01 +0.99 +0.97 +0.95 +0.93 +0.9 +0.84 +0.75 +0.64 +0.58 +0.6 +0.72 +0.91 +1.09 +1.17 +1.11 +0.96 +0.81 +0.78 +0.91 +1.15 +1.37 +1.45 +1.34 +1.09 +0.82 +0.64 +0.57 +0.57 +0.53 +0.39 +0.17 +0.39 +0.15 +0.04 +0.12 +0.36 +0.68 +0.94 +1.09 +1.15 +1.22 +1.4 +1.74 +2.21 +2.72 +3.17 +3.5 +3.73 +3.92 +4.14 +4.4 +4.66 +4.78 +4.68 +4.31 +3.74 +3.12 +2.58 +2.19 +1.93 +1.72 +1.5 +1.23 +0.95 +0.74 +0.64 +0.65 +0.72 +0.79 +0.8 +0.76 +0.69 +0.62 +0.58 +0.57 +0.57 +0.57 +0.56 +0.53 +0.48 +0.43 +0.43 +0.5 +0.65 +0.85 +1.02 +1.07 +1.0 +0.84 +0.72 +0.72 +0.87 +1.12 +1.34 +1.4 +1.28 +1.05 +0.83 +0.71 +0.72 +0.77 +0.76 +0.63 +0.39 +0.15 +0.04 +0.12 +0.36 +0.68 +0.94 +1.09 +1.15 +1.22 +1.4 +1.74 +2.21 +2.72 +3.17 +3.5 +3.73 +3.92 +4.14 +4.4 +4.66 +4.78 +4.68 +4.31 +3.74 +3.12 +2.58 +2.19 +1.93 +1.72 +1.5 +1.23 +0.95 +0.74 +0.64 +0.65 +0.72 +0.79 +0.8 +0.76 +0.69 +0.62 +0.58 +0.57 +0.57 +0.57 +0.56 +0.53 +0.48 +0.43 +0.43 +0.5 +0.65 +0.85 +1.02 +1.07 +1.0 +0.84 +0.72 +0.72 +0.87 +1.12 +1.34 +1.4 +1.28 +1.05 +0.83 +0.71 +0.72 +0.77 +0.76 +0.63 +0.39 +0.58 +0.34 +0.24 +0.34 +0.6 +0.92 +1.18 +1.31 +1.34 +1.39 +1.57 +1.92 +2.41 +2.96 +3.45 +3.84 +4.15 +4.46 +4.81 +5.19 +5.51 +5.62 +5.44 +4.95 +4.27 +3.56 +2.97 +2.55 +2.27 +2.02 +1.74 +1.42 +1.13 +0.92 +0.85 +0.87 +0.92 +0.92 +0.83 +0.68 +0.51 +0.38 +0.31 +0.28 +0.29 +0.29 +0.28 +0.25 +0.22 +0.21 +0.25 +0.37 +0.54 +0.74 +0.88 +0.9 +0.81 +0.65 +0.55 +0.58 +0.76 +1.03 +1.23 +1.29 +1.17 +0.96 +0.78 +0.73 +0.8 +0.91 +0.94 +0.81 +0.58 +0.34 +0.24 +0.34 +0.6 +0.92 +1.18 +1.31 +1.34 +1.39 +1.57 +1.92 +2.41 +2.96 +3.45 +3.84 +4.15 +4.46 +4.81 +5.19 +5.51 +5.62 +5.44 +4.95 +4.27 +3.56 +2.97 +2.55 +2.27 +2.02 +1.74 +1.42 +1.13 +0.92 +0.85 +0.87 +0.92 +0.92 +0.83 +0.68 +0.51 +0.38 +0.31 +0.28 +0.29 +0.29 +0.28 +0.25 +0.22 +0.21 +0.25 +0.37 +0.54 +0.74 +0.88 +0.9 +0.81 +0.65 +0.55 +0.58 +0.76 +1.03 +1.23 +1.29 +1.17 +0.96 +0.78 +0.73 +0.8 +0.91 +0.94 +0.81 +0.58 +0.72 +0.52 +0.46 +0.59 +0.89 +1.22 +1.47 +1.58 +1.58 +1.6 +1.73 +2.05 +2.51 +3.02 +3.49 +3.87 +4.2 +4.56 +4.97 +5.41 +5.74 +5.82 +5.57 +5.01 +4.28 +3.56 +3.0 +2.62 +2.37 +2.14 +1.86 +1.54 +1.26 +1.09 +1.06 +1.11 +1.15 +1.11 +0.97 +0.76 +0.54 +0.37 +0.28 +0.24 +0.23 +0.21 +0.18 +0.13 +0.09 +0.08 +0.14 +0.27 +0.45 +0.64 +0.75 +0.74 +0.63 +0.48 +0.4 +0.47 +0.68 +0.96 +1.17 +1.22 +1.09 +0.89 +0.74 +0.73 +0.84 +0.98 +1.03 +0.93 +0.72 +0.52 +0.46 +0.59 +0.89 +1.22 +1.47 +1.58 +1.58 +1.6 +1.73 +2.05 +2.51 +3.02 +3.49 +3.87 +4.2 +4.56 +4.97 +5.41 +5.74 +5.82 +5.57 +5.01 +4.28 +3.56 +3.0 +2.62 +2.37 +2.14 +1.86 +1.54 +1.26 +1.09 +1.06 +1.11 +1.15 +1.11 +0.97 +0.76 +0.54 +0.37 +0.28 +0.24 +0.23 +0.21 +0.18 +0.13 +0.09 +0.08 +0.14 +0.27 +0.45 +0.64 +0.75 +0.74 +0.63 +0.48 +0.4 +0.47 +0.68 +0.96 +1.17 +1.22 +1.09 +0.89 +0.74 +0.73 +0.84 +0.98 +1.03 +0.93 +0.72 +0.83 +0.68 +0.68 +0.87 +1.2 +1.54 +1.76 +1.83 +1.78 +1.74 +1.81 +2.05 +2.43 +2.85 +3.22 +3.53 +3.81 +4.13 +4.53 +4.96 +5.26 +5.31 +5.03 +4.45 +3.74 +3.09 +2.62 +2.34 +2.18 +2.01 +1.78 +1.51 +1.27 +1.15 +1.16 +1.24 +1.31 +1.28 +1.14 +0.93 +0.72 +0.55 +0.46 +0.42 +0.4 +0.36 +0.29 +0.2 +0.13 +0.09 +0.13 +0.26 +0.44 +0.61 +0.69 +0.66 +0.53 +0.38 +0.34 +0.45 +0.71 +1.02 +1.24 +1.27 +1.14 +0.93 +0.78 +0.77 +0.88 +1.02 +1.08 +1.0 +0.83 +0.68 +0.68 +0.87 +1.2 +1.54 +1.76 +1.83 +1.78 +1.74 +1.81 +2.05 +2.43 +2.85 +3.22 +3.53 +3.81 +4.13 +4.53 +4.96 +5.26 +5.31 +5.03 +4.45 +3.74 +3.09 +2.62 +2.34 +2.18 +2.01 +1.78 +1.51 +1.27 +1.15 +1.16 +1.24 +1.31 +1.28 +1.14 +0.93 +0.72 +0.55 +0.46 +0.42 +0.4 +0.36 +0.29 +0.2 +0.13 +0.09 +0.13 +0.26 +0.44 +0.61 +0.69 +0.66 +0.53 +0.38 +0.34 +0.45 +0.71 +1.02 +1.24 +1.27 +1.14 +0.93 +0.78 +0.77 +0.88 +1.02 +1.08 +1.0 +0.83 +0.95 +0.85 +0.91 +1.13 +1.47 +1.78 +1.95 +1.95 +1.83 +1.72 +1.72 +1.87 +2.14 +2.44 +2.69 +2.87 +3.04 +3.28 +3.62 +3.98 +4.24 +4.26 +3.97 +3.44 +2.82 +2.29 +1.95 +1.8 +1.75 +1.68 +1.53 +1.31 +1.12 +1.04 +1.08 +1.19 +1.3 +1.32 +1.24 +1.08 +0.92 +0.79 +0.72 +0.7 +0.68 +0.64 +0.55 +0.43 +0.32 +0.24 +0.25 +0.36 +0.52 +0.67 +0.74 +0.69 +0.54 +0.41 +0.4 +0.57 +0.88 +1.22 +1.45 +1.48 +1.33 +1.1 +0.93 +0.9 +0.99 +1.11 +1.15 +1.08 +0.95 +0.85 +0.91 +1.13 +1.47 +1.78 +1.95 +1.95 +1.83 +1.72 +1.72 +1.87 +2.14 +2.44 +2.69 +2.87 +3.04 +3.28 +3.62 +3.98 +4.24 +4.26 +3.97 +3.44 +2.82 +2.29 +1.95 +1.8 +1.75 +1.68 +1.53 +1.31 +1.12 +1.04 +1.08 +1.19 +1.3 +1.32 +1.24 +1.08 +0.92 +0.79 +0.72 +0.7 +0.68 +0.64 +0.55 +0.43 +0.32 +0.24 +0.25 +0.36 +0.52 +0.67 +0.74 +0.69 +0.54 +0.41 +0.4 +0.57 +0.88 +1.22 +1.45 +1.48 +1.33 +1.1 +0.93 +0.9 +0.99 +1.11 +1.15 +1.08 +0.95 +1.1 +1.04 +1.11 +1.34 +1.63 +1.88 +1.97 +1.88 +1.69 +1.51 +1.44 +1.52 +1.7 +1.88 +2.0 +2.05 +2.1 +2.24 +2.48 +2.78 +2.99 +3.0 +2.75 +2.3 +1.8 +1.4 +1.2 +1.18 +1.24 +1.26 +1.18 +1.02 +0.87 +0.8 +0.84 +0.96 +1.09 +1.17 +1.16 +1.09 +1.0 +0.93 +0.9 +0.9 +0.91 +0.9 +0.83 +0.71 +0.58 +0.47 +0.45 +0.53 +0.67 +0.81 +0.87 +0.81 +0.67 +0.57 +0.6 +0.83 +1.19 +1.57 +1.82 +1.84 +1.68 +1.44 +1.24 +1.18 +1.22 +1.29 +1.3 +1.23 +1.1 +1.04 +1.11 +1.34 +1.63 +1.88 +1.97 +1.88 +1.69 +1.51 +1.44 +1.52 +1.7 +1.88 +2.0 +2.05 +2.1 +2.24 +2.48 +2.78 +2.99 +3.0 +2.75 +2.3 +1.8 +1.4 +1.2 +1.18 +1.24 +1.26 +1.18 +1.02 +0.87 +0.8 +0.84 +0.96 +1.09 +1.17 +1.16 +1.09 +1.0 +0.93 +0.9 +0.9 +0.91 +0.9 +0.83 +0.71 +0.58 +0.47 +0.45 +0.53 +0.67 +0.81 +0.87 +0.81 +0.67 +0.57 +0.6 +0.83 +1.19 +1.57 +1.82 +1.84 +1.68 +1.44 +1.24 +1.18 +1.22 +1.29 +1.3 +1.23 +1.1 +1.29 +1.21 +1.26 +1.43 +1.65 +1.79 +1.78 +1.61 +1.36 +1.14 +1.04 +1.08 +1.2 +1.29 +1.31 +1.26 +1.21 +1.26 +1.43 +1.67 +1.85 +1.87 +1.68 +1.33 +0.94 +0.68 +0.59 +0.67 +0.8 +0.89 +0.86 +0.75 +0.61 +0.53 +0.54 +0.63 +0.76 +0.87 +0.93 +0.93 +0.9 +0.87 +0.88 +0.92 +0.98 +1.03 +1.02 +0.94 +0.81 +0.7 +0.65 +0.7 +0.83 +0.97 +1.03 +0.99 +0.89 +0.83 +0.92 +1.21 +1.63 +2.04 +2.29 +2.32 +2.16 +1.9 +1.69 +1.59 +1.58 +1.59 +1.55 +1.43 +1.29 +1.21 +1.26 +1.43 +1.65 +1.79 +1.78 +1.61 +1.36 +1.14 +1.04 +1.08 +1.2 +1.29 +1.31 +1.26 +1.21 +1.26 +1.43 +1.67 +1.85 +1.87 +1.68 +1.33 +0.94 +0.68 +0.59 +0.67 +0.8 +0.89 +0.86 +0.75 +0.61 +0.53 +0.54 +0.63 +0.76 +0.87 +0.93 +0.93 +0.9 +0.87 +0.88 +0.92 +0.98 +1.03 +1.02 +0.94 +0.81 +0.7 +0.65 +0.7 +0.83 +0.97 +1.03 +0.99 +0.89 +0.83 +0.92 +1.21 +1.63 +2.04 +2.29 +2.32 +2.16 +1.9 +1.69 +1.59 +1.58 +1.59 +1.55 +1.43 +1.29 +1.43 +1.3 +1.29 +1.38 +1.5 +1.53 +1.43 +1.19 +0.92 +0.7 +0.62 +0.66 +0.75 +0.8 +0.76 +0.64 +0.53 +0.53 +0.65 +0.86 +1.04 +1.08 +0.95 +0.69 +0.42 +0.25 +0.24 +0.37 +0.54 +0.66 +0.67 +0.58 +0.45 +0.33 +0.29 +0.33 +0.43 +0.54 +0.62 +0.66 +0.66 +0.65 +0.68 +0.76 +0.88 +1.0 +1.07 +1.06 +0.97 +0.85 +0.8 +0.84 +0.96 +1.11 +1.2 +1.21 +1.18 +1.2 +1.37 +1.72 +2.18 +2.6 +2.85 +2.88 +2.7 +2.45 +2.22 +2.08 +2.01 +1.94 +1.82 +1.63 +1.43 +1.3 +1.29 +1.38 +1.5 +1.53 +1.43 +1.19 +0.92 +0.7 +0.62 +0.66 +0.75 +0.8 +0.76 +0.64 +0.53 +0.53 +0.65 +0.86 +1.04 +1.08 +0.95 +0.69 +0.42 +0.25 +0.24 +0.37 +0.54 +0.66 +0.67 +0.58 +0.45 +0.33 +0.29 +0.33 +0.43 +0.54 +0.62 +0.66 +0.66 +0.65 +0.68 +0.76 +0.88 +1.0 +1.07 +1.06 +0.97 +0.85 +0.8 +0.84 +0.96 +1.11 +1.2 +1.21 +1.18 +1.2 +1.37 +1.72 +2.18 +2.6 +2.85 +2.88 +2.7 +2.45 +2.22 +2.08 +2.01 +1.94 +1.82 +1.63 +1.43 +1.45 +1.25 +1.17 +1.17 +1.19 +1.14 +0.98 +0.72 +0.47 +0.3 +0.27 +0.34 +0.44 +0.47 +0.39 +0.24 +0.12 +0.09 +0.21 +0.4 +0.58 +0.65 +0.57 +0.39 +0.21 +0.11 +0.15 +0.29 +0.46 +0.59 +0.61 +0.53 +0.4 +0.27 +0.18 +0.16 +0.21 +0.28 +0.35 +0.39 +0.4 +0.39 +0.43 +0.53 +0.69 +0.88 +1.03 +1.08 +1.03 +0.94 +0.88 +0.92 +1.06 +1.24 +1.39 +1.48 +1.55 +1.68 +1.93 +2.34 +2.81 +3.22 +3.44 +3.44 +3.25 +2.98 +2.73 +2.54 +2.4 +2.24 +2.01 +1.73 +1.45 +1.25 +1.17 +1.17 +1.19 +1.14 +0.98 +0.72 +0.47 +0.3 +0.27 +0.34 +0.44 +0.47 +0.39 +0.24 +0.12 +0.09 +0.21 +0.4 +0.58 +0.65 +0.57 +0.39 +0.21 +0.11 +0.15 +0.29 +0.46 +0.59 +0.61 +0.53 +0.4 +0.27 +0.18 +0.16 +0.21 +0.28 +0.35 +0.39 +0.4 +0.39 +0.43 +0.53 +0.69 +0.88 +1.03 +1.08 +1.03 +0.94 +0.88 +0.92 +1.06 +1.24 +1.39 +1.48 +1.55 +1.68 +1.93 +2.34 +2.81 +3.22 +3.44 +3.44 +3.25 +2.98 +2.73 +2.54 +2.4 +2.24 +2.01 +1.73 +1.45 +1.31 +1.04 +0.89 +0.83 +0.79 +0.7 +0.52 +0.29 +0.09 +0.0 +0.03 +0.14 +0.25 +0.27 +0.18 +0.04 +0.0 +0.0 +0.03 +0.22 +0.39 +0.47 +0.42 +0.29 +0.17 +0.13 +0.19 +0.33 +0.48 +0.59 +0.61 +0.54 +0.43 +0.3 +0.19 +0.14 +0.14 +0.18 +0.22 +0.24 +0.23 +0.22 +0.25 +0.36 +0.55 +0.78 +0.98 +1.07 +1.06 +1.0 +0.96 +1.01 +1.17 +1.4 +1.63 +1.83 +2.01 +2.25 +2.58 +3.01 +3.46 +3.81 +3.97 +3.92 +3.7 +3.4 +3.11 +2.86 +2.63 +2.36 +2.03 +1.66 +1.31 +1.04 +0.89 +0.83 +0.79 +0.7 +0.52 +0.29 +0.09 +0.0 +0.03 +0.14 +0.25 +0.27 +0.18 +0.04 +0.0 +0.0 +0.03 +0.22 +0.39 +0.47 +0.42 +0.29 +0.17 +0.13 +0.19 +0.33 +0.48 +0.59 +0.61 +0.54 +0.43 +0.3 +0.19 +0.14 +0.14 +0.18 +0.22 +0.24 +0.23 +0.22 +0.25 +0.36 +0.55 +0.78 +0.98 +1.07 +1.06 +1.0 +0.96 +1.01 +1.17 +1.4 +1.63 +1.83 +2.01 +2.25 +2.58 +3.01 +3.46 +3.81 +3.97 +3.92 +3.7 +3.4 +3.11 +2.86 +2.63 +2.36 +2.03 +1.66 +1.31 +1.0 +0.7 +0.51 +0.43 +0.37 +0.27 +0.12 +0.0 +0.0 +0.0 +0.0 +0.03 +0.14 +0.16 +0.06 +0.0 +0.0 +0.0 +0.0 +0.17 +0.32 +0.37 +0.32 +0.22 +0.14 +0.14 +0.23 +0.36 +0.48 +0.55 +0.56 +0.52 +0.44 +0.35 +0.27 +0.22 +0.2 +0.22 +0.24 +0.25 +0.23 +0.22 +0.25 +0.36 +0.55 +0.78 +0.99 +1.1 +1.12 +1.09 +1.08 +1.17 +1.37 +1.65 +1.95 +2.25 +2.54 +2.86 +3.23 +3.64 +4.01 +4.27 +4.34 +4.21 +3.94 +3.6 +3.27 +2.96 +2.64 +2.28 +1.86 +1.41 +1.0 +0.7 +0.51 +0.43 +0.37 +0.27 +0.12 +0.0 +0.0 +0.0 +0.0 +0.03 +0.14 +0.16 +0.06 +0.0 +0.0 +0.0 +0.0 +0.17 +0.32 +0.37 +0.32 +0.22 +0.14 +0.14 +0.23 +0.36 +0.48 +0.55 +0.56 +0.52 +0.44 +0.35 +0.27 +0.22 +0.2 +0.22 +0.24 +0.25 +0.23 +0.22 +0.25 +0.36 +0.55 +0.78 +0.99 +1.1 +1.12 +1.09 +1.08 +1.17 +1.37 +1.65 +1.95 +2.25 +2.54 +2.86 +3.23 +3.64 +4.01 +4.27 +4.34 +4.21 +3.94 +3.6 +3.27 +2.96 +2.64 +2.28 +1.86 +1.41 +1.0 +0.64 +0.33 +0.14 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.25 +0.26 +0.18 +0.08 +0.03 +0.07 +0.17 +0.29 +0.38 +0.42 +0.42 +0.4 +0.37 +0.34 +0.32 +0.32 +0.32 +0.34 +0.36 +0.37 +0.38 +0.38 +0.42 +0.52 +0.69 +0.89 +1.08 +1.19 +1.24 +1.25 +1.29 +1.43 +1.67 +2.0 +2.36 +2.73 +3.07 +3.42 +3.77 +4.1 +4.35 +4.47 +4.43 +4.22 +3.91 +3.54 +3.18 +2.82 +2.45 +2.02 +1.55 +1.07 +0.64 +0.33 +0.14 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.25 +0.26 +0.18 +0.08 +0.03 +0.07 +0.17 +0.29 +0.38 +0.42 +0.42 +0.4 +0.37 +0.34 +0.32 +0.32 +0.32 +0.34 +0.36 +0.37 +0.38 +0.38 +0.42 +0.52 +0.69 +0.89 +1.08 +1.19 +1.24 +1.25 +1.29 +1.43 +1.67 +2.0 +2.36 +2.73 +3.07 +3.42 +3.77 +4.1 +4.35 +4.47 +4.43 +4.22 +3.91 +3.54 +3.18 +2.82 +2.45 +2.02 +1.55 +1.07 +0.64 +0.36 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.16 +0.1 +0.0 +0.0 +0.0 +0.0 +0.01 +0.13 +0.2 +0.22 +0.21 +0.21 +0.23 +0.28 +0.32 +0.37 +0.41 +0.46 +0.51 +0.56 +0.6 +0.63 +0.69 +0.78 +0.91 +1.07 +1.22 +1.33 +1.4 +1.47 +1.58 +1.77 +2.06 +2.42 +2.8 +3.17 +3.52 +3.82 +4.08 +4.28 +4.38 +4.36 +4.21 +3.94 +3.6 +3.24 +2.88 +2.52 +2.14 +1.71 +1.24 +0.77 +0.36 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.16 +0.1 +0.0 +0.0 +0.0 +0.0 +0.01 +0.13 +0.2 +0.22 +0.21 +0.21 +0.23 +0.28 +0.32 +0.37 +0.41 +0.46 +0.51 +0.56 +0.6 +0.63 +0.69 +0.78 +0.91 +1.07 +1.22 +1.33 +1.4 +1.47 +1.58 +1.77 +2.06 +2.42 +2.8 +3.17 +3.52 +3.82 +4.08 +4.28 +4.38 +4.36 +4.21 +3.94 +3.6 +3.24 +2.88 +2.52 +2.14 +1.71 +1.24 +0.77 +0.36 +0.28 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.02 +0.02 +0.03 +0.09 +0.18 +0.27 +0.36 +0.44 +0.53 +0.63 +0.73 +0.83 +0.91 +0.98 +1.05 +1.15 +1.26 +1.37 +1.48 +1.59 +1.72 +1.9 +2.15 +2.47 +2.82 +3.18 +3.5 +3.77 +3.98 +4.11 +4.15 +4.1 +3.94 +3.71 +3.42 +3.1 +2.78 +2.48 +2.17 +1.84 +1.47 +1.06 +0.64 +0.28 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.02 +0.02 +0.03 +0.09 +0.18 +0.27 +0.36 +0.44 +0.53 +0.63 +0.73 +0.83 +0.91 +0.98 +1.05 +1.15 +1.26 +1.37 +1.48 +1.59 +1.72 +1.9 +2.15 +2.47 +2.82 +3.18 +3.5 +3.77 +3.98 +4.11 +4.15 +4.1 +3.94 +3.71 +3.42 +3.1 +2.78 +2.48 +2.17 +1.84 +1.47 +1.06 +0.64 +0.28 +0.43 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.12 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.1 +0.21 +0.31 +0.42 +0.54 +0.7 +0.87 +1.02 +1.15 +1.24 +1.3 +1.36 +1.42 +1.51 +1.62 +1.77 +1.95 +2.19 +2.48 +2.8 +3.12 +3.41 +3.64 +3.8 +3.87 +3.86 +3.75 +3.57 +3.33 +3.06 +2.78 +2.52 +2.29 +2.08 +1.88 +1.65 +1.39 +1.08 +0.75 +0.43 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.12 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.1 +0.21 +0.31 +0.42 +0.54 +0.7 +0.87 +1.02 +1.15 +1.24 +1.3 +1.36 +1.42 +1.51 +1.62 +1.77 +1.95 +2.19 +2.48 +2.8 +3.12 +3.41 +3.64 +3.8 +3.87 +3.86 +3.75 +3.57 +3.33 +3.06 +2.78 +2.52 +2.29 +2.08 +1.88 +1.65 +1.39 +1.08 +0.75 +0.43 +0.76 +0.5 +0.29 +0.14 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.25 +0.22 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.15 +0.24 +0.36 +0.53 +0.74 +0.98 +1.2 +1.37 +1.47 +1.53 +1.55 +1.59 +1.65 +1.76 +1.92 +2.14 +2.41 +2.7 +2.99 +3.24 +3.43 +3.55 +3.59 +3.54 +3.41 +3.2 +2.94 +2.66 +2.4 +2.16 +1.98 +1.85 +1.76 +1.69 +1.6 +1.47 +1.28 +1.04 +0.76 +0.5 +0.29 +0.14 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.25 +0.22 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.15 +0.24 +0.36 +0.53 +0.74 +0.98 +1.2 +1.37 +1.47 +1.53 +1.55 +1.59 +1.65 +1.76 +1.92 +2.14 +2.41 +2.7 +2.99 +3.24 +3.43 +3.55 +3.59 +3.54 +3.41 +3.2 +2.94 +2.66 +2.4 +2.16 +1.98 +1.85 +1.76 +1.69 +1.6 +1.47 +1.28 +1.04 +0.76 +1.16 +0.9 +0.67 +0.49 +0.36 +0.28 +0.21 +0.16 +0.13 +0.12 +0.13 +0.13 +0.09 +0.0 +0.0 +0.0 +0.0 +0.15 +0.34 +0.45 +0.45 +0.32 +0.14 +0.0 +0.0 +0.0 +0.01 +0.06 +0.08 +0.06 +0.03 +0.03 +0.04 +0.07 +0.12 +0.2 +0.33 +0.53 +0.8 +1.1 +1.37 +1.58 +1.71 +1.76 +1.77 +1.77 +1.81 +1.89 +2.05 +2.26 +2.52 +2.78 +3.0 +3.16 +3.25 +3.25 +3.19 +3.05 +2.86 +2.62 +2.35 +2.08 +1.85 +1.67 +1.56 +1.53 +1.55 +1.61 +1.65 +1.65 +1.57 +1.4 +1.16 +0.9 +0.67 +0.49 +0.36 +0.28 +0.21 +0.16 +0.13 +0.12 +0.13 +0.13 +0.09 +0.0 +0.0 +0.0 +0.0 +0.15 +0.34 +0.45 +0.45 +0.32 +0.14 +0.0 +0.0 +0.0 +0.01 +0.06 +0.08 +0.06 +0.03 +0.03 +0.04 +0.07 +0.12 +0.2 +0.33 +0.53 +0.8 +1.1 +1.37 +1.58 +1.71 +1.76 +1.77 +1.77 +1.81 +1.89 +2.05 +2.26 +2.52 +2.78 +3.0 +3.16 +3.25 +3.25 +3.19 +3.05 +2.86 +2.62 +2.35 +2.08 +1.85 +1.67 +1.56 +1.53 +1.55 +1.61 +1.65 +1.65 +1.57 +1.4 +1.16 +1.49 +1.24 +1.0 +0.81 +0.66 +0.56 +0.47 +0.4 +0.36 +0.36 +0.38 +0.39 +0.35 +0.26 +0.16 +0.11 +0.17 +0.32 +0.52 +0.66 +0.69 +0.59 +0.43 +0.27 +0.18 +0.15 +0.17 +0.18 +0.17 +0.13 +0.08 +0.05 +0.05 +0.07 +0.12 +0.22 +0.38 +0.63 +0.93 +1.27 +1.57 +1.81 +1.95 +2.02 +2.02 +1.99 +1.98 +2.01 +2.12 +2.29 +2.49 +2.69 +2.83 +2.89 +2.87 +2.78 +2.64 +2.48 +2.3 +2.1 +1.87 +1.65 +1.45 +1.31 +1.26 +1.29 +1.4 +1.56 +1.71 +1.81 +1.81 +1.7 +1.49 +1.24 +1.0 +0.81 +0.66 +0.56 +0.47 +0.4 +0.36 +0.36 +0.38 +0.39 +0.35 +0.26 +0.16 +0.11 +0.17 +0.32 +0.52 +0.66 +0.69 +0.59 +0.43 +0.27 +0.18 +0.15 +0.17 +0.18 +0.17 +0.13 +0.08 +0.05 +0.05 +0.07 +0.12 +0.22 +0.38 +0.63 +0.93 +1.27 +1.57 +1.81 +1.95 +2.02 +2.02 +1.99 +1.98 +2.01 +2.12 +2.29 +2.49 +2.69 +2.83 +2.89 +2.87 +2.78 +2.64 +2.48 +2.3 +2.1 +1.87 +1.65 +1.45 +1.31 +1.26 +1.29 +1.4 +1.56 +1.71 +1.81 +1.81 +1.7 +1.49 +1.65 +1.43 +1.21 +1.03 +0.88 +0.76 +0.64 +0.55 +0.5 +0.51 +0.57 +0.61 +0.59 +0.49 +0.36 +0.26 +0.28 +0.41 +0.6 +0.77 +0.84 +0.77 +0.61 +0.44 +0.32 +0.25 +0.23 +0.2 +0.16 +0.09 +0.02 +0.0 +0.0 +0.06 +0.17 +0.34 +0.56 +0.84 +1.15 +1.48 +1.77 +2.0 +2.16 +2.23 +2.23 +2.17 +2.09 +2.05 +2.07 +2.17 +2.31 +2.44 +2.5 +2.46 +2.33 +2.17 +2.01 +1.88 +1.77 +1.65 +1.51 +1.34 +1.18 +1.05 +1.01 +1.08 +1.24 +1.47 +1.7 +1.86 +1.91 +1.83 +1.65 +1.43 +1.21 +1.03 +0.88 +0.76 +0.64 +0.55 +0.5 +0.51 +0.57 +0.61 +0.59 +0.49 +0.36 +0.26 +0.28 +0.41 +0.6 +0.77 +0.84 +0.77 +0.61 +0.44 +0.32 +0.25 +0.23 +0.2 +0.16 +0.09 +0.02 +0.0 +0.0 +0.06 +0.17 +0.34 +0.56 +0.84 +1.15 +1.48 +1.77 +2.0 +2.16 +2.23 +2.23 +2.17 +2.09 +2.05 +2.07 +2.17 +2.31 +2.44 +2.5 +2.46 +2.33 +2.17 +2.01 +1.88 +1.77 +1.65 +1.51 +1.34 +1.18 +1.05 +1.01 +1.08 +1.24 +1.47 +1.7 +1.86 +1.91 +1.83 +1.65 +1.62 +1.44 +1.27 +1.12 +0.98 +0.83 +0.68 +0.55 +0.5 +0.53 +0.63 +0.72 +0.72 +0.62 +0.44 +0.28 +0.24 +0.34 +0.54 +0.73 +0.83 +0.78 +0.62 +0.43 +0.28 +0.19 +0.15 +0.1 +0.04 +0.0 +0.0 +0.0 +0.0 +0.08 +0.31 +0.59 +0.88 +1.17 +1.44 +1.68 +1.91 +2.09 +2.24 +2.31 +2.3 +2.21 +2.07 +1.93 +1.86 +1.88 +1.96 +2.03 +2.02 +1.9 +1.7 +1.49 +1.33 +1.26 +1.26 +1.27 +1.23 +1.12 +0.96 +0.82 +0.76 +0.84 +1.03 +1.3 +1.57 +1.76 +1.83 +1.77 +1.62 +1.44 +1.27 +1.12 +0.98 +0.83 +0.68 +0.55 +0.5 +0.53 +0.63 +0.72 +0.72 +0.62 +0.44 +0.28 +0.24 +0.34 +0.54 +0.73 +0.83 +0.78 +0.62 +0.43 +0.28 +0.19 +0.15 +0.1 +0.04 +0.0 +0.0 +0.0 +0.0 +0.08 +0.31 +0.59 +0.88 +1.17 +1.44 +1.68 +1.91 +2.09 +2.24 +2.31 +2.3 +2.21 +2.07 +1.93 +1.86 +1.88 +1.96 +2.03 +2.02 +1.9 +1.7 +1.49 +1.33 +1.26 +1.26 +1.27 +1.23 +1.12 +0.96 +0.82 +0.76 +0.84 +1.03 +1.3 +1.57 +1.76 +1.83 +1.77 +1.62 +1.45 +1.32 +1.21 +1.1 +0.96 +0.79 +0.59 +0.42 +0.35 +0.41 +0.56 +0.7 +0.73 +0.61 +0.37 +0.15 +0.05 +0.12 +0.32 +0.54 +0.66 +0.63 +0.46 +0.26 +0.09 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.57 +0.96 +1.3 +1.55 +1.71 +1.82 +1.9 +2.0 +2.1 +2.17 +2.15 +2.02 +1.82 +1.61 +1.46 +1.43 +1.47 +1.51 +1.47 +1.29 +1.04 +0.8 +0.66 +0.68 +0.8 +0.93 +0.98 +0.91 +0.74 +0.56 +0.48 +0.55 +0.77 +1.06 +1.35 +1.54 +1.61 +1.56 +1.45 +1.32 +1.21 +1.1 +0.96 +0.79 +0.59 +0.42 +0.35 +0.41 +0.56 +0.7 +0.73 +0.61 +0.37 +0.15 +0.05 +0.12 +0.32 +0.54 +0.66 +0.63 +0.46 +0.26 +0.09 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.57 +0.96 +1.3 +1.55 +1.71 +1.82 +1.9 +2.0 +2.1 +2.17 +2.15 +2.02 +1.82 +1.61 +1.46 +1.43 +1.47 +1.51 +1.47 +1.29 +1.04 +0.8 +0.66 +0.68 +0.8 +0.93 +0.98 +0.91 +0.74 +0.56 +0.48 +0.55 +0.77 +1.06 +1.35 +1.54 +1.61 +1.56 +1.45 +1.22 +1.14 +1.09 +1.02 +0.88 +0.68 +0.43 +0.22 +0.14 +0.22 +0.41 +0.59 +0.64 +0.5 +0.22 +0.0 +0.0 +0.0 +0.05 +0.29 +0.43 +0.4 +0.24 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.45 +0.93 +1.4 +1.73 +1.89 +1.89 +1.8 +1.7 +1.67 +1.71 +1.76 +1.74 +1.6 +1.36 +1.11 +0.93 +0.88 +0.93 +0.98 +0.92 +0.72 +0.44 +0.18 +0.08 +0.17 +0.4 +0.64 +0.76 +0.7 +0.51 +0.3 +0.2 +0.27 +0.5 +0.81 +1.1 +1.28 +1.34 +1.3 +1.22 +1.14 +1.09 +1.02 +0.88 +0.68 +0.43 +0.22 +0.14 +0.22 +0.41 +0.59 +0.64 +0.5 +0.22 +0.0 +0.0 +0.0 +0.05 +0.29 +0.43 +0.4 +0.24 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.45 +0.93 +1.4 +1.73 +1.89 +1.89 +1.8 +1.7 +1.67 +1.71 +1.76 +1.74 +1.6 +1.36 +1.11 +0.93 +0.88 +0.93 +0.98 +0.92 +0.72 +0.44 +0.18 +0.08 +0.17 +0.4 +0.64 +0.76 +0.7 +0.51 +0.3 +0.2 +0.27 +0.5 +0.81 +1.1 +1.28 +1.34 +1.3 +1.22 +1.03 +1.01 +1.0 +0.95 +0.81 +0.57 +0.27 +0.03 +0.0 +0.05 +0.28 +0.49 +0.54 +0.38 +0.06 +0.0 +0.0 +0.0 +0.0 +0.1 +0.26 +0.25 +0.1 +0.0 +0.0 +0.0 +0.0 +0.06 +0.09 +0.05 +0.02 +0.11 +0.37 +0.82 +1.34 +1.8 +2.07 +2.08 +1.89 +1.59 +1.32 +1.17 +1.14 +1.17 +1.15 +1.02 +0.8 +0.55 +0.39 +0.37 +0.45 +0.53 +0.49 +0.29 +0.0 +0.0 +0.0 +0.0 +0.13 +0.43 +0.59 +0.54 +0.33 +0.09 +0.0 +0.05 +0.29 +0.62 +0.9 +1.07 +1.11 +1.08 +1.03 +1.01 +1.0 +0.95 +0.81 +0.57 +0.27 +0.03 +0.0 +0.05 +0.28 +0.49 +0.54 +0.38 +0.06 +0.0 +0.0 +0.0 +0.0 +0.1 +0.26 +0.25 +0.1 +0.0 +0.0 +0.0 +0.0 +0.06 +0.09 +0.05 +0.02 +0.11 +0.37 +0.82 +1.34 +1.8 +2.07 +2.08 +1.89 +1.59 +1.32 +1.17 +1.14 +1.17 +1.15 +1.02 +0.8 +0.55 +0.39 +0.37 +0.45 +0.53 +0.49 +0.29 +0.0 +0.0 +0.0 +0.0 +0.13 +0.43 +0.59 +0.54 +0.33 +0.09 +0.0 +0.05 +0.29 +0.62 +0.9 +1.07 +1.11 +1.08 +1.03 +0.96 +0.97 +0.99 +0.95 +0.8 +0.53 +0.22 +0.0 +0.0 +0.0 +0.24 +0.46 +0.51 +0.34 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.15 +0.02 +0.0 +0.09 +0.28 +0.46 +0.55 +0.54 +0.52 +0.59 +0.84 +1.24 +1.69 +2.05 +2.19 +2.05 +1.69 +1.24 +0.84 +0.59 +0.52 +0.54 +0.55 +0.46 +0.28 +0.09 +0.0 +0.02 +0.15 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.34 +0.51 +0.46 +0.24 +0.0 +0.0 +0.0 +0.22 +0.53 +0.8 +0.95 +0.99 +0.97 +0.96 +0.97 +0.99 +0.95 +0.8 +0.53 +0.22 +0.0 +0.0 +0.0 +0.24 +0.46 +0.51 +0.34 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.15 +0.02 +0.0 +0.09 +0.28 +0.46 +0.55 +0.54 +0.52 +0.59 +0.84 +1.24 +1.69 +2.05 +2.19 +2.05 +1.69 +1.24 +0.84 +0.59 +0.52 +0.54 +0.55 +0.46 +0.28 +0.09 +0.0 +0.02 +0.15 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.34 +0.51 +0.46 +0.24 +0.0 +0.0 +0.0 +0.22 +0.53 +0.8 +0.95 +0.99 +0.97 +0.96 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +0.86 +1.07 +1.3 +1.54 +1.8 +2.04 +2.23 +2.3 +2.25 +2.09 +1.85 +1.6 +1.36 +1.13 +0.91 +0.71 +0.53 +0.42 +0.37 +0.36 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.26 +0.37 +0.41 +0.41 +0.45 +0.54 +0.7 +0.9 +1.12 +1.34 +1.58 +1.81 +2.03 +2.18 +2.23 +2.16 +1.99 +1.76 +1.52 +1.28 +1.06 +0.85 +0.66 +0.51 +0.42 +0.4 +0.41 +0.39 +0.28 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.25 +0.34 +0.35 +0.35 +0.39 +0.49 +0.66 +0.86 +1.07 +1.3 +1.54 +1.8 +2.04 +2.23 +2.3 +2.25 +2.09 +1.85 +1.6 +1.36 +1.13 +0.91 +0.71 +0.53 +0.42 +0.37 +0.36 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.26 +0.37 +0.41 +0.41 +0.45 +0.54 +0.7 +0.9 +1.12 +1.34 +1.58 +1.81 +2.03 +2.18 +2.23 +2.16 +1.99 +1.76 +1.52 +1.28 +1.06 +0.85 +0.66 +0.51 +0.42 +0.4 +0.41 +0.39 +0.28 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.25 +0.34 +0.35 +0.35 +0.39 +0.49 +0.66 +0.86 +0.72 +0.94 +1.19 +1.47 +1.79 +2.09 +2.34 +2.46 +2.43 +2.26 +2.0 +1.71 +1.44 +1.18 +0.95 +0.73 +0.54 +0.41 +0.35 +0.34 +0.33 +0.28 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.33 +0.45 +0.49 +0.48 +0.49 +0.54 +0.67 +0.86 +1.09 +1.34 +1.59 +1.84 +2.05 +2.17 +2.19 +2.09 +1.9 +1.66 +1.39 +1.13 +0.89 +0.68 +0.51 +0.41 +0.39 +0.43 +0.48 +0.48 +0.39 +0.21 +0.0 +0.0 +0.0 +0.0 +0.04 +0.21 +0.31 +0.33 +0.29 +0.25 +0.27 +0.36 +0.52 +0.72 +0.94 +1.19 +1.47 +1.79 +2.09 +2.34 +2.46 +2.43 +2.26 +2.0 +1.71 +1.44 +1.18 +0.95 +0.73 +0.54 +0.41 +0.35 +0.34 +0.33 +0.28 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.33 +0.45 +0.49 +0.48 +0.49 +0.54 +0.67 +0.86 +1.09 +1.34 +1.59 +1.84 +2.05 +2.17 +2.19 +2.09 +1.9 +1.66 +1.39 +1.13 +0.89 +0.68 +0.51 +0.41 +0.39 +0.43 +0.48 +0.48 +0.39 +0.21 +0.0 +0.0 +0.0 +0.0 +0.04 +0.21 +0.31 +0.33 +0.29 +0.25 +0.27 +0.36 +0.52 +0.72 +0.52 +0.74 +1.01 +1.33 +1.71 +2.09 +2.42 +2.6 +2.6 +2.44 +2.16 +1.85 +1.54 +1.27 +1.04 +0.82 +0.63 +0.48 +0.4 +0.39 +0.41 +0.4 +0.33 +0.18 +0.01 +0.0 +0.0 +0.01 +0.21 +0.41 +0.54 +0.58 +0.55 +0.5 +0.5 +0.58 +0.75 +0.99 +1.27 +1.55 +1.8 +1.99 +2.08 +2.06 +1.94 +1.73 +1.48 +1.2 +0.92 +0.67 +0.46 +0.32 +0.28 +0.33 +0.44 +0.54 +0.56 +0.47 +0.3 +0.12 +0.0 +0.0 +0.09 +0.22 +0.33 +0.35 +0.29 +0.19 +0.12 +0.12 +0.2 +0.34 +0.52 +0.74 +1.01 +1.33 +1.71 +2.09 +2.42 +2.6 +2.6 +2.44 +2.16 +1.85 +1.54 +1.27 +1.04 +0.82 +0.63 +0.48 +0.4 +0.39 +0.41 +0.4 +0.33 +0.18 +0.01 +0.0 +0.0 +0.01 +0.21 +0.41 +0.54 +0.58 +0.55 +0.5 +0.5 +0.58 +0.75 +0.99 +1.27 +1.55 +1.8 +1.99 +2.08 +2.06 +1.94 +1.73 +1.48 +1.2 +0.92 +0.67 +0.46 +0.32 +0.28 +0.33 +0.44 +0.54 +0.56 +0.47 +0.3 +0.12 +0.0 +0.0 +0.09 +0.22 +0.33 +0.35 +0.29 +0.19 +0.12 +0.12 +0.2 +0.34 +0.52 +0.31 +0.5 +0.76 +1.1 +1.52 +1.97 +2.37 +2.62 +2.67 +2.53 +2.26 +1.95 +1.65 +1.41 +1.2 +1.02 +0.84 +0.68 +0.59 +0.56 +0.59 +0.62 +0.59 +0.47 +0.3 +0.14 +0.06 +0.12 +0.28 +0.47 +0.61 +0.64 +0.59 +0.48 +0.41 +0.44 +0.58 +0.82 +1.12 +1.42 +1.66 +1.82 +1.87 +1.81 +1.68 +1.48 +1.24 +0.98 +0.7 +0.43 +0.23 +0.12 +0.14 +0.26 +0.41 +0.52 +0.53 +0.42 +0.25 +0.09 +0.03 +0.07 +0.19 +0.31 +0.36 +0.31 +0.2 +0.07 +0.0 +0.0 +0.04 +0.16 +0.31 +0.5 +0.76 +1.1 +1.52 +1.97 +2.37 +2.62 +2.67 +2.53 +2.26 +1.95 +1.65 +1.41 +1.2 +1.02 +0.84 +0.68 +0.59 +0.56 +0.59 +0.62 +0.59 +0.47 +0.3 +0.14 +0.06 +0.12 +0.28 +0.47 +0.61 +0.64 +0.59 +0.48 +0.41 +0.44 +0.58 +0.82 +1.12 +1.42 +1.66 +1.82 +1.87 +1.81 +1.68 +1.48 +1.24 +0.98 +0.7 +0.43 +0.23 +0.12 +0.14 +0.26 +0.41 +0.52 +0.53 +0.42 +0.25 +0.09 +0.03 +0.07 +0.19 +0.31 +0.36 +0.31 +0.2 +0.07 +0.0 +0.0 +0.04 +0.16 +0.31 +0.11 +0.25 +0.47 +0.8 +1.24 +1.73 +2.18 +2.48 +2.59 +2.49 +2.26 +1.99 +1.75 +1.57 +1.43 +1.29 +1.13 +0.97 +0.85 +0.81 +0.84 +0.88 +0.88 +0.77 +0.57 +0.35 +0.2 +0.19 +0.31 +0.5 +0.65 +0.69 +0.6 +0.45 +0.31 +0.28 +0.39 +0.63 +0.94 +1.24 +1.46 +1.58 +1.59 +1.51 +1.38 +1.21 +1.01 +0.77 +0.51 +0.25 +0.06 +0.0 +0.04 +0.19 +0.36 +0.45 +0.42 +0.26 +0.06 +0.0 +0.0 +0.01 +0.16 +0.28 +0.3 +0.22 +0.07 +0.0 +0.0 +0.0 +0.0 +0.01 +0.11 +0.25 +0.47 +0.8 +1.24 +1.73 +2.18 +2.48 +2.59 +2.49 +2.26 +1.99 +1.75 +1.57 +1.43 +1.29 +1.13 +0.97 +0.85 +0.81 +0.84 +0.88 +0.88 +0.77 +0.57 +0.35 +0.2 +0.19 +0.31 +0.5 +0.65 +0.69 +0.6 +0.45 +0.31 +0.28 +0.39 +0.63 +0.94 +1.24 +1.46 +1.58 +1.59 +1.51 +1.38 +1.21 +1.01 +0.77 +0.51 +0.25 +0.06 +0.0 +0.04 +0.19 +0.36 +0.45 +0.42 +0.26 +0.06 +0.0 +0.0 +0.01 +0.16 +0.28 +0.3 +0.22 +0.07 +0.0 +0.0 +0.0 +0.0 +0.01 +0.11 +0.0 +0.02 +0.19 +0.5 +0.93 +1.43 +1.9 +2.23 +2.38 +2.33 +2.17 +1.97 +1.81 +1.72 +1.65 +1.57 +1.43 +1.25 +1.1 +1.03 +1.04 +1.09 +1.09 +0.98 +0.76 +0.49 +0.29 +0.23 +0.34 +0.53 +0.69 +0.73 +0.62 +0.43 +0.25 +0.18 +0.27 +0.51 +0.82 +1.11 +1.31 +1.38 +1.35 +1.26 +1.14 +1.01 +0.86 +0.66 +0.42 +0.17 +0.0 +0.0 +0.01 +0.18 +0.34 +0.39 +0.29 +0.07 +0.0 +0.0 +0.0 +0.0 +0.1 +0.22 +0.22 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.19 +0.5 +0.93 +1.43 +1.9 +2.23 +2.38 +2.33 +2.17 +1.97 +1.81 +1.72 +1.65 +1.57 +1.43 +1.25 +1.1 +1.03 +1.04 +1.09 +1.09 +0.98 +0.76 +0.49 +0.29 +0.23 +0.34 +0.53 +0.69 +0.73 +0.62 +0.43 +0.25 +0.18 +0.27 +0.51 +0.82 +1.11 +1.31 +1.38 +1.35 +1.26 +1.14 +1.01 +0.86 +0.66 +0.42 +0.17 +0.0 +0.0 +0.01 +0.18 +0.34 +0.39 +0.29 +0.07 +0.0 +0.0 +0.0 +0.0 +0.1 +0.22 +0.22 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.26 +0.67 +1.16 +1.62 +1.95 +2.12 +2.12 +2.02 +1.91 +1.85 +1.84 +1.83 +1.77 +1.63 +1.43 +1.24 +1.14 +1.14 +1.19 +1.19 +1.08 +0.84 +0.55 +0.33 +0.27 +0.37 +0.57 +0.74 +0.78 +0.67 +0.46 +0.26 +0.19 +0.28 +0.53 +0.84 +1.11 +1.28 +1.32 +1.27 +1.16 +1.06 +0.96 +0.84 +0.67 +0.45 +0.21 +0.04 +0.0 +0.1 +0.27 +0.41 +0.41 +0.25 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.22 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.26 +0.67 +1.16 +1.62 +1.95 +2.12 +2.12 +2.02 +1.91 +1.85 +1.84 +1.83 +1.77 +1.63 +1.43 +1.24 +1.14 +1.14 +1.19 +1.19 +1.08 +0.84 +0.55 +0.33 +0.27 +0.37 +0.57 +0.74 +0.78 +0.67 +0.46 +0.26 +0.19 +0.28 +0.53 +0.84 +1.11 +1.28 +1.32 +1.27 +1.16 +1.06 +0.96 +0.84 +0.67 +0.45 +0.21 +0.04 +0.0 +0.1 +0.27 +0.41 +0.41 +0.25 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.22 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.52 +0.98 +1.41 +1.71 +1.87 +1.9 +1.87 +1.85 +1.87 +1.92 +1.95 +1.88 +1.71 +1.48 +1.27 +1.15 +1.15 +1.2 +1.2 +1.09 +0.85 +0.57 +0.36 +0.31 +0.43 +0.64 +0.81 +0.84 +0.72 +0.51 +0.33 +0.29 +0.42 +0.68 +0.99 +1.25 +1.39 +1.41 +1.34 +1.23 +1.14 +1.05 +0.95 +0.79 +0.58 +0.35 +0.2 +0.17 +0.29 +0.47 +0.59 +0.57 +0.37 +0.09 +0.0 +0.0 +0.0 +0.15 +0.36 +0.44 +0.36 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.52 +0.98 +1.41 +1.71 +1.87 +1.9 +1.87 +1.85 +1.87 +1.92 +1.95 +1.88 +1.71 +1.48 +1.27 +1.15 +1.15 +1.2 +1.2 +1.09 +0.85 +0.57 +0.36 +0.31 +0.43 +0.64 +0.81 +0.84 +0.72 +0.51 +0.33 +0.29 +0.42 +0.68 +0.99 +1.25 +1.39 +1.41 +1.34 +1.23 +1.14 +1.05 +0.95 +0.79 +0.58 +0.35 +0.2 +0.17 +0.29 +0.47 +0.59 +0.57 +0.37 +0.09 +0.0 +0.0 +0.0 +0.15 +0.36 +0.44 +0.36 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.49 +0.92 +1.29 +1.55 +1.68 +1.72 +1.74 +1.8 +1.91 +2.01 +2.05 +1.97 +1.77 +1.52 +1.31 +1.2 +1.21 +1.27 +1.27 +1.14 +0.9 +0.62 +0.43 +0.4 +0.53 +0.72 +0.85 +0.86 +0.72 +0.54 +0.4 +0.41 +0.58 +0.86 +1.17 +1.41 +1.53 +1.53 +1.46 +1.37 +1.28 +1.21 +1.11 +0.95 +0.74 +0.52 +0.39 +0.4 +0.54 +0.73 +0.86 +0.82 +0.63 +0.36 +0.17 +0.15 +0.31 +0.56 +0.75 +0.77 +0.63 +0.39 +0.17 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.49 +0.92 +1.29 +1.55 +1.68 +1.72 +1.74 +1.8 +1.91 +2.01 +2.05 +1.97 +1.77 +1.52 +1.31 +1.2 +1.21 +1.27 +1.27 +1.14 +0.9 +0.62 +0.43 +0.4 +0.53 +0.72 +0.85 +0.86 +0.72 +0.54 +0.4 +0.41 +0.58 +0.86 +1.17 +1.41 +1.53 +1.53 +1.46 +1.37 +1.28 +1.21 +1.11 +0.95 +0.74 +0.52 +0.39 +0.4 +0.54 +0.73 +0.86 +0.82 +0.63 +0.36 +0.17 +0.15 +0.31 +0.56 +0.75 +0.77 +0.63 +0.39 +0.17 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.54 +0.93 +1.25 +1.44 +1.53 +1.58 +1.66 +1.81 +1.99 +2.15 +2.21 +2.14 +1.95 +1.72 +1.55 +1.5 +1.54 +1.6 +1.56 +1.39 +1.1 +0.8 +0.61 +0.57 +0.67 +0.81 +0.88 +0.82 +0.67 +0.5 +0.42 +0.48 +0.68 +0.96 +1.24 +1.44 +1.54 +1.54 +1.49 +1.41 +1.35 +1.28 +1.19 +1.03 +0.83 +0.65 +0.55 +0.6 +0.77 +0.98 +1.11 +1.08 +0.9 +0.67 +0.52 +0.56 +0.76 +1.01 +1.17 +1.14 +0.94 +0.65 +0.4 +0.26 +0.21 +0.19 +0.11 +0.0 +0.0 +0.0 +0.0 +0.15 +0.54 +0.93 +1.25 +1.44 +1.53 +1.58 +1.66 +1.81 +1.99 +2.15 +2.21 +2.14 +1.95 +1.72 +1.55 +1.5 +1.54 +1.6 +1.56 +1.39 +1.1 +0.8 +0.61 +0.57 +0.67 +0.81 +0.88 +0.82 +0.67 +0.5 +0.42 +0.48 +0.68 +0.96 +1.24 +1.44 +1.54 +1.54 +1.49 +1.41 +1.35 +1.28 +1.19 +1.03 +0.83 +0.65 +0.55 +0.6 +0.77 +0.98 +1.11 +1.08 +0.9 +0.67 +0.52 +0.56 +0.76 +1.01 +1.17 +1.14 +0.94 +0.65 +0.4 +0.26 +0.21 +0.19 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.26 +0.63 +0.99 +1.24 +1.38 +1.43 +1.5 +1.64 +1.88 +2.16 +2.39 +2.51 +2.48 +2.35 +2.21 +2.15 +2.18 +2.27 +2.3 +2.19 +1.92 +1.53 +1.17 +0.93 +0.85 +0.88 +0.93 +0.9 +0.77 +0.59 +0.43 +0.39 +0.48 +0.68 +0.92 +1.14 +1.28 +1.34 +1.34 +1.3 +1.26 +1.22 +1.18 +1.1 +0.96 +0.8 +0.66 +0.61 +0.7 +0.9 +1.12 +1.26 +1.23 +1.07 +0.87 +0.78 +0.86 +1.1 +1.35 +1.49 +1.42 +1.18 +0.87 +0.63 +0.51 +0.47 +0.44 +0.34 +0.16 +0.0 +0.0 +0.0 +0.26 +0.63 +0.99 +1.24 +1.38 +1.43 +1.5 +1.64 +1.88 +2.16 +2.39 +2.51 +2.48 +2.35 +2.21 +2.15 +2.18 +2.27 +2.3 +2.19 +1.92 +1.53 +1.17 +0.93 +0.85 +0.88 +0.93 +0.9 +0.77 +0.59 +0.43 +0.39 +0.48 +0.68 +0.92 +1.14 +1.28 +1.34 +1.34 +1.3 +1.26 +1.22 +1.18 +1.1 +0.96 +0.8 +0.66 +0.61 +0.7 +0.9 +1.12 +1.26 +1.23 +1.07 +0.87 +0.78 +0.86 +1.1 +1.35 +1.49 +1.42 +1.18 +0.87 +0.63 +0.51 +0.47 +0.44 +0.34 +0.16 +0.0 +0.19 +0.07 +0.14 +0.4 +0.75 +1.07 +1.28 +1.36 +1.39 +1.48 +1.68 +2.01 +2.4 +2.73 +2.93 +3.0 +2.99 +2.99 +3.08 +3.23 +3.36 +3.35 +3.12 +2.69 +2.17 +1.7 +1.38 +1.23 +1.18 +1.12 +0.98 +0.77 +0.55 +0.4 +0.38 +0.48 +0.64 +0.8 +0.92 +0.97 +0.97 +0.95 +0.93 +0.91 +0.91 +0.89 +0.83 +0.73 +0.61 +0.53 +0.53 +0.66 +0.88 +1.11 +1.23 +1.2 +1.05 +0.88 +0.83 +0.96 +1.23 +1.49 +1.62 +1.54 +1.3 +1.01 +0.81 +0.74 +0.75 +0.74 +0.62 +0.41 +0.19 +0.07 +0.14 +0.4 +0.75 +1.07 +1.28 +1.36 +1.39 +1.48 +1.68 +2.01 +2.4 +2.73 +2.93 +3.0 +2.99 +2.99 +3.08 +3.23 +3.36 +3.35 +3.12 +2.69 +2.17 +1.7 +1.38 +1.23 +1.18 +1.12 +0.98 +0.77 +0.55 +0.4 +0.38 +0.48 +0.64 +0.8 +0.92 +0.97 +0.97 +0.95 +0.93 +0.91 +0.91 +0.89 +0.83 +0.73 +0.61 +0.53 +0.53 +0.66 +0.88 +1.11 +1.23 +1.2 +1.05 +0.88 +0.83 +0.96 +1.23 +1.49 +1.62 +1.54 +1.3 +1.01 +0.81 +0.74 +0.75 +0.74 +0.62 +0.41 +0.19 +0.41 +0.27 +0.33 +0.58 +0.92 +1.22 +1.39 +1.43 +1.44 +1.54 +1.8 +2.2 +2.68 +3.1 +3.4 +3.58 +3.72 +3.89 +4.14 +4.41 +4.57 +4.49 +4.12 +3.53 +2.87 +2.29 +1.9 +1.68 +1.55 +1.39 +1.15 +0.87 +0.63 +0.49 +0.48 +0.57 +0.67 +0.73 +0.72 +0.67 +0.59 +0.53 +0.51 +0.51 +0.52 +0.52 +0.48 +0.41 +0.33 +0.3 +0.36 +0.52 +0.75 +0.96 +1.06 +1.01 +0.86 +0.72 +0.71 +0.88 +1.17 +1.46 +1.59 +1.52 +1.3 +1.06 +0.92 +0.92 +0.99 +1.01 +0.91 +0.67 +0.41 +0.27 +0.33 +0.58 +0.92 +1.22 +1.39 +1.43 +1.44 +1.54 +1.8 +2.2 +2.68 +3.1 +3.4 +3.58 +3.72 +3.89 +4.14 +4.41 +4.57 +4.49 +4.12 +3.53 +2.87 +2.29 +1.9 +1.68 +1.55 +1.39 +1.15 +0.87 +0.63 +0.49 +0.48 +0.57 +0.67 +0.73 +0.72 +0.67 +0.59 +0.53 +0.51 +0.51 +0.52 +0.52 +0.48 +0.41 +0.33 +0.3 +0.36 +0.52 +0.75 +0.96 +1.06 +1.01 +0.86 +0.72 +0.71 +0.88 +1.17 +1.46 +1.59 +1.52 +1.3 +1.06 +0.92 +0.92 +0.99 +1.01 +0.91 +0.67 +0.41 +0.64 +0.49 +0.56 +0.82 +1.17 +1.45 +1.59 +1.6 +1.59 +1.68 +1.95 +2.39 +2.91 +3.38 +3.75 +4.03 +4.3 +4.63 +5.02 +5.38 +5.55 +5.4 +4.91 +4.18 +3.41 +2.77 +2.34 +2.09 +1.91 +1.69 +1.39 +1.07 +0.82 +0.71 +0.72 +0.8 +0.84 +0.81 +0.69 +0.53 +0.38 +0.29 +0.25 +0.25 +0.25 +0.24 +0.2 +0.14 +0.08 +0.08 +0.17 +0.35 +0.58 +0.77 +0.84 +0.77 +0.61 +0.49 +0.52 +0.73 +1.06 +1.37 +1.51 +1.46 +1.26 +1.07 +0.99 +1.05 +1.17 +1.23 +1.13 +0.9 +0.64 +0.49 +0.56 +0.82 +1.17 +1.45 +1.59 +1.6 +1.59 +1.68 +1.95 +2.39 +2.91 +3.38 +3.75 +4.03 +4.3 +4.63 +5.02 +5.38 +5.55 +5.4 +4.91 +4.18 +3.41 +2.77 +2.34 +2.09 +1.91 +1.69 +1.39 +1.07 +0.82 +0.71 +0.72 +0.8 +0.84 +0.81 +0.69 +0.53 +0.38 +0.29 +0.25 +0.25 +0.25 +0.24 +0.2 +0.14 +0.08 +0.08 +0.17 +0.35 +0.58 +0.77 +0.84 +0.77 +0.61 +0.49 +0.52 +0.73 +1.06 +1.37 +1.51 +1.46 +1.26 +1.07 +0.99 +1.05 +1.17 +1.23 +1.13 +0.9 +0.64 +0.84 +0.73 +0.84 +1.13 +1.49 +1.77 +1.88 +1.85 +1.79 +1.84 +2.09 +2.51 +3.01 +3.48 +3.86 +4.18 +4.52 +4.95 +5.42 +5.83 +5.99 +5.78 +5.2 +4.41 +3.6 +2.96 +2.55 +2.33 +2.15 +1.91 +1.6 +1.29 +1.06 +0.98 +1.02 +1.1 +1.13 +1.04 +0.85 +0.63 +0.44 +0.32 +0.26 +0.25 +0.23 +0.19 +0.12 +0.04 +0.0 +0.0 +0.06 +0.25 +0.47 +0.64 +0.69 +0.6 +0.44 +0.34 +0.4 +0.66 +1.04 +1.37 +1.53 +1.48 +1.29 +1.11 +1.06 +1.15 +1.3 +1.37 +1.29 +1.07 +0.84 +0.73 +0.84 +1.13 +1.49 +1.77 +1.88 +1.85 +1.79 +1.84 +2.09 +2.51 +3.01 +3.48 +3.86 +4.18 +4.52 +4.95 +5.42 +5.83 +5.99 +5.78 +5.2 +4.41 +3.6 +2.96 +2.55 +2.33 +2.15 +1.91 +1.6 +1.29 +1.06 +0.98 +1.02 +1.1 +1.13 +1.04 +0.85 +0.63 +0.44 +0.32 +0.26 +0.25 +0.23 +0.19 +0.12 +0.04 +0.0 +0.0 +0.06 +0.25 +0.47 +0.64 +0.69 +0.6 +0.44 +0.34 +0.4 +0.66 +1.04 +1.37 +1.53 +1.48 +1.29 +1.11 +1.06 +1.15 +1.3 +1.37 +1.29 +1.07 +0.84 +1.03 +0.98 +1.14 +1.48 +1.85 +2.11 +2.18 +2.09 +1.97 +1.95 +2.13 +2.48 +2.91 +3.31 +3.64 +3.93 +4.27 +4.71 +5.2 +5.61 +5.74 +5.49 +4.89 +4.1 +3.33 +2.76 +2.44 +2.29 +2.16 +1.96 +1.67 +1.38 +1.2 +1.16 +1.24 +1.36 +1.39 +1.31 +1.13 +0.9 +0.71 +0.59 +0.53 +0.5 +0.47 +0.4 +0.29 +0.17 +0.06 +0.04 +0.11 +0.29 +0.5 +0.66 +0.68 +0.58 +0.43 +0.35 +0.47 +0.78 +1.2 +1.56 +1.73 +1.67 +1.46 +1.27 +1.2 +1.28 +1.41 +1.48 +1.41 +1.22 +1.03 +0.98 +1.14 +1.48 +1.85 +2.11 +2.18 +2.09 +1.97 +1.95 +2.13 +2.48 +2.91 +3.31 +3.64 +3.93 +4.27 +4.71 +5.2 +5.61 +5.74 +5.49 +4.89 +4.1 +3.33 +2.76 +2.44 +2.29 +2.16 +1.96 +1.67 +1.38 +1.2 +1.16 +1.24 +1.36 +1.39 +1.31 +1.13 +0.9 +0.71 +0.59 +0.53 +0.5 +0.47 +0.4 +0.29 +0.17 +0.06 +0.04 +0.11 +0.29 +0.5 +0.66 +0.68 +0.58 +0.43 +0.35 +0.47 +0.78 +1.2 +1.56 +1.73 +1.67 +1.46 +1.27 +1.2 +1.28 +1.41 +1.48 +1.41 +1.22 +1.03 +1.23 +1.23 +1.44 +1.8 +2.16 +2.37 +2.38 +2.22 +2.02 +1.93 +2.03 +2.29 +2.61 +2.9 +3.13 +3.33 +3.6 +3.99 +4.43 +4.8 +4.9 +4.64 +4.07 +3.34 +2.68 +2.23 +2.03 +1.97 +1.92 +1.77 +1.53 +1.29 +1.14 +1.14 +1.26 +1.41 +1.49 +1.46 +1.34 +1.17 +1.02 +0.92 +0.88 +0.86 +0.83 +0.76 +0.63 +0.47 +0.33 +0.26 +0.31 +0.47 +0.67 +0.82 +0.84 +0.73 +0.6 +0.57 +0.74 +1.12 +1.59 +1.97 +2.14 +2.05 +1.82 +1.58 +1.46 +1.49 +1.58 +1.62 +1.54 +1.37 +1.23 +1.23 +1.44 +1.8 +2.16 +2.37 +2.38 +2.22 +2.02 +1.93 +2.03 +2.29 +2.61 +2.9 +3.13 +3.33 +3.6 +3.99 +4.43 +4.8 +4.9 +4.64 +4.07 +3.34 +2.68 +2.23 +2.03 +1.97 +1.92 +1.77 +1.53 +1.29 +1.14 +1.14 +1.26 +1.41 +1.49 +1.46 +1.34 +1.17 +1.02 +0.92 +0.88 +0.86 +0.83 +0.76 +0.63 +0.47 +0.33 +0.26 +0.31 +0.47 +0.67 +0.82 +0.84 +0.73 +0.6 +0.57 +0.74 +1.12 +1.59 +1.97 +2.14 +2.05 +1.82 +1.58 +1.46 +1.49 +1.58 +1.62 +1.54 +1.37 +1.23 +1.44 +1.46 +1.68 +2.01 +2.32 +2.46 +2.38 +2.14 +1.88 +1.73 +1.76 +1.94 +2.16 +2.34 +2.44 +2.53 +2.69 +2.98 +3.35 +3.65 +3.73 +3.5 +2.99 +2.37 +1.84 +1.53 +1.44 +1.48 +1.5 +1.42 +1.23 +1.02 +0.9 +0.91 +1.04 +1.21 +1.34 +1.39 +1.34 +1.25 +1.17 +1.12 +1.12 +1.14 +1.15 +1.11 +0.99 +0.82 +0.66 +0.56 +0.59 +0.74 +0.93 +1.07 +1.1 +1.01 +0.91 +0.93 +1.18 +1.63 +2.15 +2.56 +2.72 +2.62 +2.34 +2.05 +1.87 +1.83 +1.85 +1.84 +1.73 +1.56 +1.44 +1.46 +1.68 +2.01 +2.32 +2.46 +2.38 +2.14 +1.88 +1.73 +1.76 +1.94 +2.16 +2.34 +2.44 +2.53 +2.69 +2.98 +3.35 +3.65 +3.73 +3.5 +2.99 +2.37 +1.84 +1.53 +1.44 +1.48 +1.5 +1.42 +1.23 +1.02 +0.9 +0.91 +1.04 +1.21 +1.34 +1.39 +1.34 +1.25 +1.17 +1.12 +1.12 +1.14 +1.15 +1.11 +0.99 +0.82 +0.66 +0.56 +0.59 +0.74 +0.93 +1.07 +1.1 +1.01 +0.91 +0.93 +1.18 +1.63 +2.15 +2.56 +2.72 +2.62 +2.34 +2.05 +1.87 +1.83 +1.85 +1.84 +1.73 +1.56 +1.44 +1.63 +1.64 +1.81 +2.07 +2.28 +2.33 +2.16 +1.86 +1.55 +1.38 +1.38 +1.51 +1.66 +1.75 +1.74 +1.72 +1.77 +1.96 +2.24 +2.49 +2.56 +2.37 +1.96 +1.46 +1.07 +0.87 +0.88 +0.99 +1.07 +1.03 +0.89 +0.71 +0.58 +0.58 +0.68 +0.84 +0.99 +1.09 +1.12 +1.1 +1.08 +1.08 +1.13 +1.21 +1.28 +1.3 +1.24 +1.1 +0.94 +0.84 +0.85 +0.99 +1.18 +1.34 +1.38 +1.34 +1.3 +1.4 +1.73 +2.25 +2.81 +3.24 +3.4 +3.28 +2.97 +2.64 +2.41 +2.3 +2.24 +2.15 +1.98 +1.78 +1.63 +1.64 +1.81 +2.07 +2.28 +2.33 +2.16 +1.86 +1.55 +1.38 +1.38 +1.51 +1.66 +1.75 +1.74 +1.72 +1.77 +1.96 +2.24 +2.49 +2.56 +2.37 +1.96 +1.46 +1.07 +0.87 +0.88 +0.99 +1.07 +1.03 +0.89 +0.71 +0.58 +0.58 +0.68 +0.84 +0.99 +1.09 +1.12 +1.1 +1.08 +1.08 +1.13 +1.21 +1.28 +1.3 +1.24 +1.1 +0.94 +0.84 +0.85 +0.99 +1.18 +1.34 +1.38 +1.34 +1.3 +1.4 +1.73 +2.25 +2.81 +3.24 +3.4 +3.28 +2.97 +2.64 +2.41 +2.3 +2.24 +2.15 +1.98 +1.78 +1.63 +1.75 +1.69 +1.78 +1.94 +2.04 +1.98 +1.74 +1.41 +1.11 +0.95 +0.97 +1.09 +1.21 +1.23 +1.15 +1.05 +1.02 +1.13 +1.35 +1.57 +1.64 +1.5 +1.19 +0.82 +0.54 +0.44 +0.51 +0.66 +0.76 +0.76 +0.64 +0.48 +0.34 +0.29 +0.33 +0.44 +0.58 +0.68 +0.75 +0.77 +0.79 +0.82 +0.91 +1.04 +1.19 +1.3 +1.32 +1.24 +1.11 +1.01 +1.03 +1.16 +1.37 +1.55 +1.65 +1.68 +1.73 +1.93 +2.34 +2.92 +3.51 +3.94 +4.09 +3.95 +3.63 +3.27 +2.99 +2.81 +2.67 +2.49 +2.24 +1.96 +1.75 +1.69 +1.78 +1.94 +2.04 +1.98 +1.74 +1.41 +1.11 +0.95 +0.97 +1.09 +1.21 +1.23 +1.15 +1.05 +1.02 +1.13 +1.35 +1.57 +1.64 +1.5 +1.19 +0.82 +0.54 +0.44 +0.51 +0.66 +0.76 +0.76 +0.64 +0.48 +0.34 +0.29 +0.33 +0.44 +0.58 +0.68 +0.75 +0.77 +0.79 +0.82 +0.91 +1.04 +1.19 +1.3 +1.32 +1.24 +1.11 +1.01 +1.03 +1.16 +1.37 +1.55 +1.65 +1.68 +1.73 +1.93 +2.34 +2.92 +3.51 +3.94 +4.09 +3.95 +3.63 +3.27 +2.99 +2.81 +2.67 +2.49 +2.24 +1.96 +1.75 +1.74 +1.59 +1.58 +1.63 +1.63 +1.5 +1.22 +0.9 +0.64 +0.53 +0.59 +0.73 +0.84 +0.84 +0.73 +0.58 +0.52 +0.59 +0.78 +0.98 +1.07 +0.98 +0.76 +0.5 +0.31 +0.28 +0.39 +0.55 +0.66 +0.67 +0.57 +0.41 +0.25 +0.16 +0.14 +0.18 +0.26 +0.34 +0.4 +0.43 +0.45 +0.49 +0.6 +0.77 +0.98 +1.17 +1.26 +1.24 +1.15 +1.08 +1.11 +1.26 +1.48 +1.71 +1.88 +2.0 +2.17 +2.47 +2.96 +3.57 +4.16 +4.57 +4.68 +4.52 +4.19 +3.82 +3.5 +3.26 +3.02 +2.74 +2.39 +2.03 +1.74 +1.59 +1.58 +1.63 +1.63 +1.5 +1.22 +0.9 +0.64 +0.53 +0.59 +0.73 +0.84 +0.84 +0.73 +0.58 +0.52 +0.59 +0.78 +0.98 +1.07 +0.98 +0.76 +0.5 +0.31 +0.28 +0.39 +0.55 +0.66 +0.67 +0.57 +0.41 +0.25 +0.16 +0.14 +0.18 +0.26 +0.34 +0.4 +0.43 +0.45 +0.49 +0.6 +0.77 +0.98 +1.17 +1.26 +1.24 +1.15 +1.08 +1.11 +1.26 +1.48 +1.71 +1.88 +2.0 +2.17 +2.47 +2.96 +3.57 +4.16 +4.57 +4.68 +4.52 +4.19 +3.82 +3.5 +3.26 +3.02 +2.74 +2.39 +2.03 +1.74 +1.54 +1.32 +1.23 +1.2 +1.14 +0.96 +0.69 +0.41 +0.21 +0.17 +0.29 +0.46 +0.57 +0.56 +0.44 +0.3 +0.24 +0.31 +0.49 +0.69 +0.78 +0.74 +0.58 +0.4 +0.3 +0.32 +0.44 +0.59 +0.69 +0.69 +0.6 +0.46 +0.31 +0.2 +0.14 +0.13 +0.15 +0.19 +0.22 +0.22 +0.23 +0.27 +0.37 +0.56 +0.8 +1.01 +1.15 +1.17 +1.12 +1.08 +1.13 +1.31 +1.56 +1.84 +2.09 +2.33 +2.6 +3.0 +3.53 +4.13 +4.67 +5.01 +5.07 +4.87 +4.53 +4.15 +3.81 +3.51 +3.19 +2.81 +2.36 +1.91 +1.54 +1.32 +1.23 +1.2 +1.14 +0.96 +0.69 +0.41 +0.21 +0.17 +0.29 +0.46 +0.57 +0.56 +0.44 +0.3 +0.24 +0.31 +0.49 +0.69 +0.78 +0.74 +0.58 +0.4 +0.3 +0.32 +0.44 +0.59 +0.69 +0.69 +0.6 +0.46 +0.31 +0.2 +0.14 +0.13 +0.15 +0.19 +0.22 +0.22 +0.23 +0.27 +0.37 +0.56 +0.8 +1.01 +1.15 +1.17 +1.12 +1.08 +1.13 +1.31 +1.56 +1.84 +2.09 +2.33 +2.6 +3.0 +3.53 +4.13 +4.67 +5.01 +5.07 +4.87 +4.53 +4.15 +3.81 +3.51 +3.19 +2.81 +2.36 +1.91 +1.54 +1.2 +0.93 +0.79 +0.72 +0.63 +0.46 +0.22 +0.0 +0.0 +0.0 +0.05 +0.24 +0.35 +0.34 +0.24 +0.12 +0.09 +0.19 +0.38 +0.56 +0.65 +0.62 +0.49 +0.36 +0.32 +0.38 +0.51 +0.65 +0.72 +0.72 +0.64 +0.53 +0.41 +0.32 +0.26 +0.24 +0.23 +0.24 +0.24 +0.23 +0.23 +0.25 +0.35 +0.51 +0.73 +0.94 +1.07 +1.11 +1.09 +1.09 +1.17 +1.37 +1.66 +1.99 +2.31 +2.63 +2.99 +3.44 +3.96 +4.5 +4.94 +5.17 +5.15 +4.92 +4.57 +4.19 +3.84 +3.49 +3.1 +2.64 +2.13 +1.62 +1.2 +0.93 +0.79 +0.72 +0.63 +0.46 +0.22 +0.0 +0.0 +0.0 +0.05 +0.24 +0.35 +0.34 +0.24 +0.12 +0.09 +0.19 +0.38 +0.56 +0.65 +0.62 +0.49 +0.36 +0.32 +0.38 +0.51 +0.65 +0.72 +0.72 +0.64 +0.53 +0.41 +0.32 +0.26 +0.24 +0.23 +0.24 +0.24 +0.23 +0.23 +0.25 +0.35 +0.51 +0.73 +0.94 +1.07 +1.11 +1.09 +1.09 +1.17 +1.37 +1.66 +1.99 +2.31 +2.63 +2.99 +3.44 +3.96 +4.5 +4.94 +5.17 +5.15 +4.92 +4.57 +4.19 +3.84 +3.49 +3.1 +2.64 +2.13 +1.62 +1.2 +0.81 +0.52 +0.36 +0.28 +0.19 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.15 +0.14 +0.06 +0.0 +0.01 +0.14 +0.33 +0.49 +0.55 +0.48 +0.36 +0.26 +0.25 +0.34 +0.48 +0.6 +0.65 +0.64 +0.58 +0.51 +0.46 +0.43 +0.41 +0.41 +0.42 +0.43 +0.43 +0.43 +0.43 +0.45 +0.52 +0.64 +0.81 +0.96 +1.06 +1.1 +1.11 +1.14 +1.25 +1.48 +1.8 +2.16 +2.53 +2.9 +3.3 +3.73 +4.19 +4.61 +4.9 +5.0 +4.89 +4.63 +4.29 +3.93 +3.58 +3.22 +2.8 +2.31 +1.76 +1.24 +0.81 +0.52 +0.36 +0.28 +0.19 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.15 +0.14 +0.06 +0.0 +0.01 +0.14 +0.33 +0.49 +0.55 +0.48 +0.36 +0.26 +0.25 +0.34 +0.48 +0.6 +0.65 +0.64 +0.58 +0.51 +0.46 +0.43 +0.41 +0.41 +0.42 +0.43 +0.43 +0.43 +0.43 +0.45 +0.52 +0.64 +0.81 +0.96 +1.06 +1.1 +1.11 +1.14 +1.25 +1.48 +1.8 +2.16 +2.53 +2.9 +3.3 +3.73 +4.19 +4.61 +4.9 +5.0 +4.89 +4.63 +4.29 +3.93 +3.58 +3.22 +2.8 +2.31 +1.76 +1.24 +0.81 +0.49 +0.2 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.29 +0.41 +0.41 +0.3 +0.15 +0.06 +0.07 +0.17 +0.31 +0.42 +0.46 +0.44 +0.4 +0.38 +0.4 +0.44 +0.5 +0.55 +0.6 +0.64 +0.69 +0.72 +0.75 +0.77 +0.81 +0.88 +0.97 +1.05 +1.1 +1.13 +1.16 +1.23 +1.39 +1.64 +1.97 +2.33 +2.71 +3.08 +3.46 +3.83 +4.16 +4.42 +4.55 +4.52 +4.34 +4.06 +3.75 +3.44 +3.13 +2.79 +2.39 +1.92 +1.4 +0.9 +0.49 +0.2 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.29 +0.41 +0.41 +0.3 +0.15 +0.06 +0.07 +0.17 +0.31 +0.42 +0.46 +0.44 +0.4 +0.38 +0.4 +0.44 +0.5 +0.55 +0.6 +0.64 +0.69 +0.72 +0.75 +0.77 +0.81 +0.88 +0.97 +1.05 +1.1 +1.13 +1.16 +1.23 +1.39 +1.64 +1.97 +2.33 +2.71 +3.08 +3.46 +3.83 +4.16 +4.42 +4.55 +4.52 +4.34 +4.06 +3.75 +3.44 +3.13 +2.79 +2.39 +1.92 +1.4 +0.9 +0.49 +0.36 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.34 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.11 +0.21 +0.24 +0.22 +0.2 +0.22 +0.3 +0.4 +0.51 +0.61 +0.71 +0.81 +0.91 +1.01 +1.07 +1.11 +1.13 +1.13 +1.14 +1.15 +1.16 +1.18 +1.24 +1.36 +1.56 +1.83 +2.15 +2.5 +2.84 +3.17 +3.47 +3.73 +3.92 +4.01 +3.98 +3.84 +3.61 +3.35 +3.09 +2.85 +2.62 +2.36 +2.03 +1.64 +1.19 +0.75 +0.36 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.34 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.11 +0.21 +0.24 +0.22 +0.2 +0.22 +0.3 +0.4 +0.51 +0.61 +0.71 +0.81 +0.91 +1.01 +1.07 +1.11 +1.13 +1.13 +1.14 +1.15 +1.16 +1.18 +1.24 +1.36 +1.56 +1.83 +2.15 +2.5 +2.84 +3.17 +3.47 +3.73 +3.92 +4.01 +3.98 +3.84 +3.61 +3.35 +3.09 +2.85 +2.62 +2.36 +2.03 +1.64 +1.19 +0.75 +0.36 +0.48 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.3 +0.35 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.09 +0.12 +0.11 +0.11 +0.15 +0.24 +0.35 +0.48 +0.6 +0.74 +0.9 +1.07 +1.23 +1.35 +1.4 +1.39 +1.35 +1.29 +1.24 +1.23 +1.27 +1.36 +1.53 +1.76 +2.03 +2.34 +2.64 +2.92 +3.16 +3.36 +3.49 +3.54 +3.48 +3.34 +3.12 +2.88 +2.66 +2.47 +2.33 +2.19 +2.04 +1.83 +1.55 +1.21 +0.83 +0.48 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.3 +0.35 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.09 +0.12 +0.11 +0.11 +0.15 +0.24 +0.35 +0.48 +0.6 +0.74 +0.9 +1.07 +1.23 +1.35 +1.4 +1.39 +1.35 +1.29 +1.24 +1.23 +1.27 +1.36 +1.53 +1.76 +2.03 +2.34 +2.64 +2.92 +3.16 +3.36 +3.49 +3.54 +3.48 +3.34 +3.12 +2.88 +2.66 +2.47 +2.33 +2.19 +2.04 +1.83 +1.55 +1.21 +0.83 +0.48 +0.81 +0.52 +0.28 +0.12 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.03 +0.01 +0.0 +0.0 +0.0 +0.12 +0.3 +0.45 +0.49 +0.39 +0.21 +0.02 +0.0 +0.0 +0.0 +0.09 +0.16 +0.18 +0.17 +0.17 +0.2 +0.27 +0.35 +0.45 +0.58 +0.74 +0.95 +1.18 +1.41 +1.57 +1.64 +1.62 +1.55 +1.45 +1.38 +1.36 +1.41 +1.53 +1.73 +1.97 +2.24 +2.5 +2.74 +2.94 +3.09 +3.18 +3.2 +3.14 +2.99 +2.77 +2.53 +2.3 +2.12 +2.01 +1.95 +1.92 +1.89 +1.81 +1.66 +1.43 +1.14 +0.81 +0.52 +0.28 +0.12 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.03 +0.01 +0.0 +0.0 +0.0 +0.12 +0.3 +0.45 +0.49 +0.39 +0.21 +0.02 +0.0 +0.0 +0.0 +0.09 +0.16 +0.18 +0.17 +0.17 +0.2 +0.27 +0.35 +0.45 +0.58 +0.74 +0.95 +1.18 +1.41 +1.57 +1.64 +1.62 +1.55 +1.45 +1.38 +1.36 +1.41 +1.53 +1.73 +1.97 +2.24 +2.5 +2.74 +2.94 +3.09 +3.18 +3.2 +3.14 +2.99 +2.77 +2.53 +2.3 +2.12 +2.01 +1.95 +1.92 +1.89 +1.81 +1.66 +1.43 +1.14 +0.81 +1.24 +0.93 +0.67 +0.48 +0.37 +0.31 +0.29 +0.28 +0.29 +0.31 +0.33 +0.33 +0.3 +0.25 +0.21 +0.24 +0.35 +0.52 +0.66 +0.71 +0.65 +0.49 +0.33 +0.22 +0.2 +0.25 +0.32 +0.37 +0.37 +0.35 +0.34 +0.34 +0.36 +0.4 +0.46 +0.57 +0.75 +1.0 +1.3 +1.57 +1.78 +1.87 +1.86 +1.79 +1.68 +1.6 +1.58 +1.63 +1.76 +1.96 +2.19 +2.43 +2.64 +2.8 +2.91 +2.96 +2.96 +2.9 +2.78 +2.59 +2.37 +2.13 +1.93 +1.79 +1.72 +1.73 +1.79 +1.86 +1.91 +1.88 +1.76 +1.53 +1.24 +0.93 +0.67 +0.48 +0.37 +0.31 +0.29 +0.28 +0.29 +0.31 +0.33 +0.33 +0.3 +0.25 +0.21 +0.24 +0.35 +0.52 +0.66 +0.71 +0.65 +0.49 +0.33 +0.22 +0.2 +0.25 +0.32 +0.37 +0.37 +0.35 +0.34 +0.34 +0.36 +0.4 +0.46 +0.57 +0.75 +1.0 +1.3 +1.57 +1.78 +1.87 +1.86 +1.79 +1.68 +1.6 +1.58 +1.63 +1.76 +1.96 +2.19 +2.43 +2.64 +2.8 +2.91 +2.96 +2.96 +2.9 +2.78 +2.59 +2.37 +2.13 +1.93 +1.79 +1.72 +1.73 +1.79 +1.86 +1.91 +1.88 +1.76 +1.53 +1.24 +1.6 +1.3 +1.03 +0.83 +0.71 +0.64 +0.61 +0.59 +0.59 +0.61 +0.64 +0.65 +0.62 +0.56 +0.5 +0.49 +0.56 +0.7 +0.85 +0.93 +0.91 +0.81 +0.67 +0.56 +0.52 +0.52 +0.55 +0.56 +0.54 +0.51 +0.47 +0.44 +0.43 +0.44 +0.5 +0.62 +0.83 +1.13 +1.46 +1.76 +1.99 +2.11 +2.13 +2.07 +1.98 +1.9 +1.87 +1.9 +2.0 +2.17 +2.37 +2.55 +2.69 +2.77 +2.78 +2.74 +2.67 +2.58 +2.46 +2.29 +2.1 +1.9 +1.71 +1.59 +1.54 +1.58 +1.7 +1.85 +2.0 +2.07 +2.03 +1.87 +1.6 +1.3 +1.03 +0.83 +0.71 +0.64 +0.61 +0.59 +0.59 +0.61 +0.64 +0.65 +0.62 +0.56 +0.5 +0.49 +0.56 +0.7 +0.85 +0.93 +0.91 +0.81 +0.67 +0.56 +0.52 +0.52 +0.55 +0.56 +0.54 +0.51 +0.47 +0.44 +0.43 +0.44 +0.5 +0.62 +0.83 +1.13 +1.46 +1.76 +1.99 +2.11 +2.13 +2.07 +1.98 +1.9 +1.87 +1.9 +2.0 +2.17 +2.37 +2.55 +2.69 +2.77 +2.78 +2.74 +2.67 +2.58 +2.46 +2.29 +2.1 +1.9 +1.71 +1.59 +1.54 +1.58 +1.7 +1.85 +2.0 +2.07 +2.03 +1.87 +1.6 +1.78 +1.51 +1.26 +1.07 +0.94 +0.86 +0.79 +0.75 +0.73 +0.76 +0.81 +0.85 +0.84 +0.77 +0.67 +0.61 +0.62 +0.73 +0.88 +1.0 +1.04 +0.98 +0.86 +0.74 +0.66 +0.62 +0.61 +0.59 +0.55 +0.5 +0.44 +0.4 +0.4 +0.44 +0.54 +0.73 +1.0 +1.33 +1.67 +1.97 +2.19 +2.32 +2.36 +2.33 +2.27 +2.19 +2.13 +2.1 +2.15 +2.25 +2.4 +2.52 +2.59 +2.57 +2.49 +2.37 +2.26 +2.17 +2.09 +2.0 +1.87 +1.71 +1.54 +1.4 +1.35 +1.39 +1.54 +1.75 +1.96 +2.11 +2.13 +2.01 +1.78 +1.51 +1.26 +1.07 +0.94 +0.86 +0.79 +0.75 +0.73 +0.76 +0.81 +0.85 +0.84 +0.77 +0.67 +0.61 +0.62 +0.73 +0.88 +1.0 +1.04 +0.98 +0.86 +0.74 +0.66 +0.62 +0.61 +0.59 +0.55 +0.5 +0.44 +0.4 +0.4 +0.44 +0.54 +0.73 +1.0 +1.33 +1.67 +1.97 +2.19 +2.32 +2.36 +2.33 +2.27 +2.19 +2.13 +2.1 +2.15 +2.25 +2.4 +2.52 +2.59 +2.57 +2.49 +2.37 +2.26 +2.17 +2.09 +2.0 +1.87 +1.71 +1.54 +1.4 +1.35 +1.39 +1.54 +1.75 +1.96 +2.11 +2.13 +2.01 +1.78 +1.73 +1.51 +1.31 +1.14 +1.01 +0.89 +0.78 +0.68 +0.65 +0.68 +0.77 +0.86 +0.87 +0.79 +0.64 +0.5 +0.45 +0.52 +0.68 +0.84 +0.93 +0.9 +0.79 +0.65 +0.53 +0.46 +0.42 +0.39 +0.34 +0.28 +0.23 +0.21 +0.26 +0.4 +0.62 +0.91 +1.25 +1.59 +1.88 +2.12 +2.28 +2.38 +2.44 +2.44 +2.4 +2.31 +2.2 +2.1 +2.06 +2.1 +2.19 +2.26 +2.26 +2.16 +1.99 +1.8 +1.67 +1.62 +1.62 +1.63 +1.58 +1.46 +1.29 +1.12 +1.04 +1.08 +1.25 +1.5 +1.76 +1.94 +1.99 +1.91 +1.73 +1.51 +1.31 +1.14 +1.01 +0.89 +0.78 +0.68 +0.65 +0.68 +0.77 +0.86 +0.87 +0.79 +0.64 +0.5 +0.45 +0.52 +0.68 +0.84 +0.93 +0.9 +0.79 +0.65 +0.53 +0.46 +0.42 +0.39 +0.34 +0.28 +0.23 +0.21 +0.26 +0.4 +0.62 +0.91 +1.25 +1.59 +1.88 +2.12 +2.28 +2.38 +2.44 +2.44 +2.4 +2.31 +2.2 +2.1 +2.06 +2.1 +2.19 +2.26 +2.26 +2.16 +1.99 +1.8 +1.67 +1.62 +1.62 +1.63 +1.58 +1.46 +1.29 +1.12 +1.04 +1.08 +1.25 +1.5 +1.76 +1.94 +1.99 +1.91 +1.73 +1.48 +1.32 +1.18 +1.05 +0.92 +0.75 +0.57 +0.42 +0.36 +0.41 +0.54 +0.66 +0.7 +0.59 +0.39 +0.18 +0.07 +0.12 +0.28 +0.48 +0.6 +0.6 +0.48 +0.32 +0.19 +0.11 +0.08 +0.07 +0.03 +0.0 +0.0 +0.0 +0.12 +0.39 +0.75 +1.16 +1.54 +1.84 +2.03 +2.13 +2.18 +2.21 +2.25 +2.27 +2.24 +2.13 +1.96 +1.79 +1.69 +1.67 +1.72 +1.76 +1.71 +1.54 +1.29 +1.06 +0.93 +0.93 +1.04 +1.15 +1.19 +1.1 +0.91 +0.72 +0.61 +0.65 +0.84 +1.12 +1.4 +1.6 +1.67 +1.62 +1.48 +1.32 +1.18 +1.05 +0.92 +0.75 +0.57 +0.42 +0.36 +0.41 +0.54 +0.66 +0.7 +0.59 +0.39 +0.18 +0.07 +0.12 +0.28 +0.48 +0.6 +0.6 +0.48 +0.32 +0.19 +0.11 +0.08 +0.07 +0.03 +0.0 +0.0 +0.0 +0.12 +0.39 +0.75 +1.16 +1.54 +1.84 +2.03 +2.13 +2.18 +2.21 +2.25 +2.27 +2.24 +2.13 +1.96 +1.79 +1.69 +1.67 +1.72 +1.76 +1.71 +1.54 +1.29 +1.06 +0.93 +0.93 +1.04 +1.15 +1.19 +1.1 +0.91 +0.72 +0.61 +0.65 +0.84 +1.12 +1.4 +1.6 +1.67 +1.62 +1.48 +1.15 +1.06 +0.97 +0.87 +0.73 +0.52 +0.27 +0.07 +0.0 +0.04 +0.21 +0.37 +0.42 +0.29 +0.03 +0.0 +0.0 +0.0 +0.0 +0.06 +0.21 +0.22 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.49 +0.97 +1.45 +1.82 +2.02 +2.05 +1.96 +1.84 +1.77 +1.76 +1.77 +1.74 +1.62 +1.42 +1.21 +1.06 +1.02 +1.06 +1.09 +1.02 +0.82 +0.53 +0.27 +0.15 +0.22 +0.42 +0.63 +0.73 +0.67 +0.47 +0.26 +0.14 +0.19 +0.4 +0.71 +1.0 +1.2 +1.28 +1.24 +1.15 +1.06 +0.97 +0.87 +0.73 +0.52 +0.27 +0.07 +0.0 +0.04 +0.21 +0.37 +0.42 +0.29 +0.03 +0.0 +0.0 +0.0 +0.0 +0.06 +0.21 +0.22 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.49 +0.97 +1.45 +1.82 +2.02 +2.05 +1.96 +1.84 +1.77 +1.76 +1.77 +1.74 +1.62 +1.42 +1.21 +1.06 +1.02 +1.06 +1.09 +1.02 +0.82 +0.53 +0.27 +0.15 +0.22 +0.42 +0.63 +0.73 +0.67 +0.47 +0.26 +0.14 +0.19 +0.4 +0.71 +1.0 +1.2 +1.28 +1.24 +1.15 +0.88 +0.84 +0.8 +0.72 +0.56 +0.31 +0.01 +0.0 +0.0 +0.0 +0.0 +0.14 +0.19 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.32 +0.76 +1.28 +1.74 +2.02 +2.07 +1.9 +1.61 +1.33 +1.14 +1.08 +1.07 +1.04 +0.92 +0.72 +0.5 +0.36 +0.35 +0.41 +0.46 +0.4 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.35 +0.29 +0.09 +0.0 +0.0 +0.0 +0.06 +0.38 +0.68 +0.87 +0.94 +0.93 +0.88 +0.84 +0.8 +0.72 +0.56 +0.31 +0.01 +0.0 +0.0 +0.0 +0.0 +0.14 +0.19 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.32 +0.76 +1.28 +1.74 +2.02 +2.07 +1.9 +1.61 +1.33 +1.14 +1.08 +1.07 +1.04 +0.92 +0.72 +0.5 +0.36 +0.35 +0.41 +0.46 +0.4 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.35 +0.29 +0.09 +0.0 +0.0 +0.0 +0.06 +0.38 +0.68 +0.87 +0.94 +0.93 +0.88 +0.77 +0.78 +0.77 +0.7 +0.53 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.37 +0.39 +0.5 +0.76 +1.17 +1.61 +1.96 +2.1 +1.96 +1.61 +1.17 +0.76 +0.5 +0.39 +0.37 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.53 +0.7 +0.77 +0.78 +0.77 +0.78 +0.77 +0.7 +0.53 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.37 +0.39 +0.5 +0.76 +1.17 +1.61 +1.96 +2.1 +1.96 +1.61 +1.17 +0.76 +0.5 +0.39 +0.37 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.53 +0.7 +0.77 +0.78 +0.77 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.08 +1.3 +1.55 +1.8 +2.05 +2.23 +2.3 +2.25 +2.08 +1.85 +1.6 +1.36 +1.13 +0.91 +0.7 +0.53 +0.41 +0.36 +0.36 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.26 +0.37 +0.41 +0.41 +0.45 +0.54 +0.7 +0.9 +1.11 +1.34 +1.57 +1.81 +2.03 +2.18 +2.23 +2.16 +1.99 +1.76 +1.52 +1.28 +1.06 +0.85 +0.66 +0.51 +0.42 +0.4 +0.41 +0.39 +0.28 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.25 +0.34 +0.35 +0.35 +0.39 +0.49 +0.66 +0.86 +1.08 +1.3 +1.55 +1.8 +2.05 +2.23 +2.3 +2.25 +2.08 +1.85 +1.6 +1.36 +1.13 +0.91 +0.7 +0.53 +0.41 +0.36 +0.36 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.26 +0.37 +0.41 +0.41 +0.45 +0.54 +0.7 +0.9 +1.11 +1.34 +1.57 +1.81 +2.03 +2.18 +2.23 +2.16 +1.99 +1.76 +1.52 +1.28 +1.06 +0.85 +0.66 +0.51 +0.42 +0.4 +0.41 +0.39 +0.28 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.25 +0.34 +0.35 +0.35 +0.39 +0.49 +0.66 +0.86 +1.08 +0.95 +1.2 +1.49 +1.8 +2.11 +2.35 +2.46 +2.43 +2.25 +1.99 +1.7 +1.42 +1.16 +0.93 +0.71 +0.52 +0.39 +0.33 +0.32 +0.32 +0.27 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.33 +0.45 +0.49 +0.48 +0.47 +0.53 +0.65 +0.84 +1.07 +1.32 +1.57 +1.82 +2.03 +2.16 +2.18 +2.09 +1.9 +1.66 +1.4 +1.14 +0.9 +0.69 +0.52 +0.42 +0.39 +0.43 +0.48 +0.48 +0.38 +0.2 +0.0 +0.0 +0.0 +0.0 +0.03 +0.2 +0.3 +0.32 +0.28 +0.25 +0.27 +0.37 +0.53 +0.73 +0.95 +1.2 +1.49 +1.8 +2.11 +2.35 +2.46 +2.43 +2.25 +1.99 +1.7 +1.42 +1.16 +0.93 +0.71 +0.52 +0.39 +0.33 +0.32 +0.32 +0.27 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.33 +0.45 +0.49 +0.48 +0.47 +0.53 +0.65 +0.84 +1.07 +1.32 +1.57 +1.82 +2.03 +2.16 +2.18 +2.09 +1.9 +1.66 +1.4 +1.14 +0.9 +0.69 +0.52 +0.42 +0.39 +0.43 +0.48 +0.48 +0.38 +0.2 +0.0 +0.0 +0.0 +0.0 +0.03 +0.2 +0.3 +0.32 +0.28 +0.25 +0.27 +0.37 +0.53 +0.73 +0.95 +0.75 +1.02 +1.35 +1.73 +2.11 +2.43 +2.6 +2.59 +2.41 +2.13 +1.8 +1.49 +1.23 +0.99 +0.77 +0.58 +0.43 +0.35 +0.34 +0.37 +0.36 +0.3 +0.16 +0.0 +0.0 +0.0 +0.0 +0.18 +0.38 +0.51 +0.55 +0.52 +0.47 +0.46 +0.54 +0.7 +0.94 +1.22 +1.5 +1.75 +1.94 +2.04 +2.03 +1.91 +1.72 +1.47 +1.2 +0.92 +0.66 +0.45 +0.31 +0.27 +0.32 +0.43 +0.52 +0.53 +0.44 +0.26 +0.08 +0.0 +0.0 +0.05 +0.19 +0.29 +0.31 +0.26 +0.17 +0.1 +0.11 +0.2 +0.35 +0.53 +0.75 +1.02 +1.35 +1.73 +2.11 +2.43 +2.6 +2.59 +2.41 +2.13 +1.8 +1.49 +1.23 +0.99 +0.77 +0.58 +0.43 +0.35 +0.34 +0.37 +0.36 +0.3 +0.16 +0.0 +0.0 +0.0 +0.0 +0.18 +0.38 +0.51 +0.55 +0.52 +0.47 +0.46 +0.54 +0.7 +0.94 +1.22 +1.5 +1.75 +1.94 +2.04 +2.03 +1.91 +1.72 +1.47 +1.2 +0.92 +0.66 +0.45 +0.31 +0.27 +0.32 +0.43 +0.52 +0.53 +0.44 +0.26 +0.08 +0.0 +0.0 +0.05 +0.19 +0.29 +0.31 +0.26 +0.17 +0.1 +0.11 +0.2 +0.35 +0.53 +0.75 +0.5 +0.76 +1.11 +1.54 +1.99 +2.38 +2.61 +2.64 +2.48 +2.19 +1.86 +1.56 +1.31 +1.11 +0.92 +0.74 +0.58 +0.48 +0.46 +0.49 +0.53 +0.51 +0.39 +0.22 +0.05 +0.0 +0.03 +0.19 +0.39 +0.53 +0.57 +0.51 +0.4 +0.33 +0.35 +0.48 +0.73 +1.03 +1.33 +1.58 +1.74 +1.79 +1.75 +1.63 +1.45 +1.22 +0.95 +0.67 +0.4 +0.19 +0.08 +0.09 +0.21 +0.37 +0.47 +0.47 +0.35 +0.17 +0.01 +0.0 +0.0 +0.12 +0.24 +0.29 +0.25 +0.14 +0.01 +0.0 +0.0 +0.03 +0.15 +0.31 +0.5 +0.76 +1.11 +1.54 +1.99 +2.38 +2.61 +2.64 +2.48 +2.19 +1.86 +1.56 +1.31 +1.11 +0.92 +0.74 +0.58 +0.48 +0.46 +0.49 +0.53 +0.51 +0.39 +0.22 +0.05 +0.0 +0.03 +0.19 +0.39 +0.53 +0.57 +0.51 +0.4 +0.33 +0.35 +0.48 +0.73 +1.03 +1.33 +1.58 +1.74 +1.79 +1.75 +1.63 +1.45 +1.22 +0.95 +0.67 +0.4 +0.19 +0.08 +0.09 +0.21 +0.37 +0.47 +0.47 +0.35 +0.17 +0.01 +0.0 +0.0 +0.12 +0.24 +0.29 +0.25 +0.14 +0.01 +0.0 +0.0 +0.03 +0.15 +0.31 +0.5 +0.23 +0.46 +0.8 +1.25 +1.74 +2.18 +2.46 +2.54 +2.41 +2.15 +1.86 +1.6 +1.42 +1.28 +1.14 +0.98 +0.81 +0.69 +0.64 +0.67 +0.72 +0.72 +0.62 +0.42 +0.19 +0.04 +0.03 +0.16 +0.35 +0.51 +0.56 +0.48 +0.32 +0.18 +0.14 +0.25 +0.5 +0.81 +1.11 +1.34 +1.47 +1.48 +1.42 +1.31 +1.15 +0.96 +0.72 +0.45 +0.18 +0.0 +0.0 +0.0 +0.1 +0.28 +0.36 +0.32 +0.15 +0.0 +0.0 +0.0 +0.0 +0.05 +0.18 +0.2 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.23 +0.46 +0.8 +1.25 +1.74 +2.18 +2.46 +2.54 +2.41 +2.15 +1.86 +1.6 +1.42 +1.28 +1.14 +0.98 +0.81 +0.69 +0.64 +0.67 +0.72 +0.72 +0.62 +0.42 +0.19 +0.04 +0.03 +0.16 +0.35 +0.51 +0.56 +0.48 +0.32 +0.18 +0.14 +0.25 +0.5 +0.81 +1.11 +1.34 +1.47 +1.48 +1.42 +1.31 +1.15 +0.96 +0.72 +0.45 +0.18 +0.0 +0.0 +0.0 +0.1 +0.28 +0.36 +0.32 +0.15 +0.0 +0.0 +0.0 +0.0 +0.05 +0.18 +0.2 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.23 +0.0 +0.17 +0.49 +0.93 +1.44 +1.91 +2.22 +2.33 +2.24 +2.04 +1.81 +1.63 +1.53 +1.46 +1.38 +1.24 +1.06 +0.9 +0.82 +0.83 +0.88 +0.89 +0.78 +0.55 +0.27 +0.07 +0.01 +0.13 +0.34 +0.52 +0.57 +0.47 +0.28 +0.09 +0.02 +0.11 +0.36 +0.67 +0.97 +1.17 +1.25 +1.23 +1.16 +1.06 +0.94 +0.79 +0.59 +0.34 +0.08 +0.0 +0.0 +0.0 +0.07 +0.23 +0.28 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.49 +0.93 +1.44 +1.91 +2.22 +2.33 +2.24 +2.04 +1.81 +1.63 +1.53 +1.46 +1.38 +1.24 +1.06 +0.9 +0.82 +0.83 +0.88 +0.89 +0.78 +0.55 +0.27 +0.07 +0.01 +0.13 +0.34 +0.52 +0.57 +0.47 +0.28 +0.09 +0.02 +0.11 +0.36 +0.67 +0.97 +1.17 +1.25 +1.23 +1.16 +1.06 +0.94 +0.79 +0.59 +0.34 +0.08 +0.0 +0.0 +0.0 +0.07 +0.23 +0.28 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.26 +0.69 +1.2 +1.66 +1.98 +2.1 +2.05 +1.9 +1.75 +1.66 +1.64 +1.64 +1.58 +1.43 +1.23 +1.03 +0.92 +0.91 +0.96 +0.97 +0.86 +0.62 +0.32 +0.09 +0.03 +0.16 +0.38 +0.58 +0.64 +0.53 +0.32 +0.12 +0.04 +0.14 +0.39 +0.7 +0.98 +1.16 +1.2 +1.15 +1.07 +0.98 +0.9 +0.79 +0.62 +0.38 +0.13 +0.0 +0.0 +0.0 +0.17 +0.32 +0.32 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.14 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.26 +0.69 +1.2 +1.66 +1.98 +2.1 +2.05 +1.9 +1.75 +1.66 +1.64 +1.64 +1.58 +1.43 +1.23 +1.03 +0.92 +0.91 +0.96 +0.97 +0.86 +0.62 +0.32 +0.09 +0.03 +0.16 +0.38 +0.58 +0.64 +0.53 +0.32 +0.12 +0.04 +0.14 +0.39 +0.7 +0.98 +1.16 +1.2 +1.15 +1.07 +0.98 +0.9 +0.79 +0.62 +0.38 +0.13 +0.0 +0.0 +0.0 +0.17 +0.32 +0.32 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.14 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.59 +1.08 +1.52 +1.81 +1.92 +1.89 +1.79 +1.72 +1.71 +1.75 +1.78 +1.72 +1.55 +1.3 +1.08 +0.94 +0.94 +0.99 +1.01 +0.9 +0.66 +0.37 +0.15 +0.11 +0.25 +0.49 +0.69 +0.75 +0.64 +0.42 +0.24 +0.18 +0.31 +0.57 +0.89 +1.15 +1.3 +1.31 +1.25 +1.16 +1.09 +1.03 +0.93 +0.77 +0.54 +0.3 +0.13 +0.1 +0.22 +0.42 +0.56 +0.54 +0.34 +0.04 +0.0 +0.0 +0.0 +0.06 +0.28 +0.37 +0.3 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.59 +1.08 +1.52 +1.81 +1.92 +1.89 +1.79 +1.72 +1.71 +1.75 +1.78 +1.72 +1.55 +1.3 +1.08 +0.94 +0.94 +0.99 +1.01 +0.9 +0.66 +0.37 +0.15 +0.11 +0.25 +0.49 +0.69 +0.75 +0.64 +0.42 +0.24 +0.18 +0.31 +0.57 +0.89 +1.15 +1.3 +1.31 +1.25 +1.16 +1.09 +1.03 +0.93 +0.77 +0.54 +0.3 +0.13 +0.1 +0.22 +0.42 +0.56 +0.54 +0.34 +0.04 +0.0 +0.0 +0.0 +0.06 +0.28 +0.37 +0.3 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.19 +0.62 +1.09 +1.48 +1.73 +1.81 +1.78 +1.73 +1.73 +1.79 +1.88 +1.92 +1.84 +1.64 +1.37 +1.13 +1.01 +1.02 +1.09 +1.1 +0.98 +0.74 +0.46 +0.26 +0.25 +0.4 +0.63 +0.81 +0.83 +0.71 +0.51 +0.35 +0.34 +0.51 +0.79 +1.1 +1.34 +1.47 +1.47 +1.41 +1.33 +1.27 +1.22 +1.13 +0.97 +0.75 +0.52 +0.37 +0.37 +0.52 +0.74 +0.89 +0.87 +0.67 +0.39 +0.16 +0.12 +0.27 +0.53 +0.73 +0.77 +0.63 +0.39 +0.17 +0.04 +0.01 +0.03 +0.01 +0.0 +0.0 +0.0 +0.0 +0.19 +0.62 +1.09 +1.48 +1.73 +1.81 +1.78 +1.73 +1.73 +1.79 +1.88 +1.92 +1.84 +1.64 +1.37 +1.13 +1.01 +1.02 +1.09 +1.1 +0.98 +0.74 +0.46 +0.26 +0.25 +0.4 +0.63 +0.81 +0.83 +0.71 +0.51 +0.35 +0.34 +0.51 +0.79 +1.1 +1.34 +1.47 +1.47 +1.41 +1.33 +1.27 +1.22 +1.13 +0.97 +0.75 +0.52 +0.37 +0.37 +0.52 +0.74 +0.89 +0.87 +0.67 +0.39 +0.16 +0.12 +0.27 +0.53 +0.73 +0.77 +0.63 +0.39 +0.17 +0.04 +0.01 +0.03 +0.01 +0.0 +0.0 +0.0 +0.0 +0.02 +0.31 +0.73 +1.17 +1.51 +1.69 +1.74 +1.71 +1.71 +1.78 +1.91 +2.05 +2.11 +2.02 +1.81 +1.56 +1.36 +1.3 +1.34 +1.41 +1.4 +1.23 +0.94 +0.64 +0.44 +0.43 +0.57 +0.75 +0.87 +0.84 +0.68 +0.5 +0.38 +0.42 +0.62 +0.9 +1.19 +1.4 +1.5 +1.51 +1.46 +1.4 +1.35 +1.31 +1.22 +1.07 +0.86 +0.66 +0.55 +0.59 +0.78 +1.02 +1.18 +1.18 +1.0 +0.74 +0.57 +0.58 +0.77 +1.03 +1.21 +1.2 +1.0 +0.71 +0.45 +0.31 +0.28 +0.28 +0.23 +0.11 +0.0 +0.0 +0.02 +0.31 +0.73 +1.17 +1.51 +1.69 +1.74 +1.71 +1.71 +1.78 +1.91 +2.05 +2.11 +2.02 +1.81 +1.56 +1.36 +1.3 +1.34 +1.41 +1.4 +1.23 +0.94 +0.64 +0.44 +0.43 +0.57 +0.75 +0.87 +0.84 +0.68 +0.5 +0.38 +0.42 +0.62 +0.9 +1.19 +1.4 +1.5 +1.51 +1.46 +1.4 +1.35 +1.31 +1.22 +1.07 +0.86 +0.66 +0.55 +0.59 +0.78 +1.02 +1.18 +1.18 +1.0 +0.74 +0.57 +0.58 +0.77 +1.03 +1.21 +1.2 +1.0 +0.71 +0.45 +0.31 +0.28 +0.28 +0.23 +0.11 +0.0 +0.0 +0.08 +0.17 +0.46 +0.86 +1.26 +1.54 +1.67 +1.67 +1.66 +1.71 +1.86 +2.09 +2.29 +2.39 +2.34 +2.18 +2.0 +1.9 +1.92 +2.01 +2.07 +1.99 +1.72 +1.33 +0.96 +0.72 +0.67 +0.75 +0.86 +0.88 +0.77 +0.58 +0.39 +0.32 +0.39 +0.6 +0.85 +1.09 +1.24 +1.31 +1.3 +1.27 +1.24 +1.22 +1.19 +1.12 +0.98 +0.8 +0.64 +0.58 +0.66 +0.88 +1.14 +1.31 +1.31 +1.15 +0.94 +0.82 +0.88 +1.12 +1.4 +1.57 +1.53 +1.3 +0.98 +0.73 +0.6 +0.58 +0.59 +0.52 +0.36 +0.18 +0.08 +0.17 +0.46 +0.86 +1.26 +1.54 +1.67 +1.67 +1.66 +1.71 +1.86 +2.09 +2.29 +2.39 +2.34 +2.18 +2.0 +1.9 +1.92 +2.01 +2.07 +1.99 +1.72 +1.33 +0.96 +0.72 +0.67 +0.75 +0.86 +0.88 +0.77 +0.58 +0.39 +0.32 +0.39 +0.6 +0.85 +1.09 +1.24 +1.31 +1.3 +1.27 +1.24 +1.22 +1.19 +1.12 +0.98 +0.8 +0.64 +0.58 +0.66 +0.88 +1.14 +1.31 +1.31 +1.15 +0.94 +0.82 +0.88 +1.12 +1.4 +1.57 +1.53 +1.3 +0.98 +0.73 +0.6 +0.58 +0.59 +0.52 +0.36 +0.18 +0.08 +0.29 +0.34 +0.61 +0.98 +1.34 +1.57 +1.64 +1.62 +1.62 +1.73 +1.97 +2.3 +2.6 +2.77 +2.8 +2.74 +2.69 +2.74 +2.89 +3.03 +3.06 +2.86 +2.44 +1.9 +1.42 +1.1 +0.98 +0.99 +1.0 +0.92 +0.72 +0.48 +0.3 +0.25 +0.34 +0.52 +0.71 +0.85 +0.92 +0.92 +0.9 +0.87 +0.86 +0.87 +0.86 +0.8 +0.69 +0.55 +0.44 +0.43 +0.55 +0.79 +1.05 +1.22 +1.22 +1.07 +0.89 +0.81 +0.93 +1.22 +1.53 +1.71 +1.68 +1.45 +1.16 +0.94 +0.86 +0.89 +0.91 +0.84 +0.65 +0.42 +0.29 +0.34 +0.61 +0.98 +1.34 +1.57 +1.64 +1.62 +1.62 +1.73 +1.97 +2.3 +2.6 +2.77 +2.8 +2.74 +2.69 +2.74 +2.89 +3.03 +3.06 +2.86 +2.44 +1.9 +1.42 +1.1 +0.98 +0.99 +1.0 +0.92 +0.72 +0.48 +0.3 +0.25 +0.34 +0.52 +0.71 +0.85 +0.92 +0.92 +0.9 +0.87 +0.86 +0.87 +0.86 +0.8 +0.69 +0.55 +0.44 +0.43 +0.55 +0.79 +1.05 +1.22 +1.22 +1.07 +0.89 +0.81 +0.93 +1.22 +1.53 +1.71 +1.68 +1.45 +1.16 +0.94 +0.86 +0.89 +0.91 +0.84 +0.65 +0.42 +0.29 +0.5 +0.53 +0.77 +1.13 +1.45 +1.64 +1.66 +1.62 +1.62 +1.78 +2.11 +2.52 +2.91 +3.18 +3.32 +3.4 +3.53 +3.75 +4.03 +4.22 +4.19 +3.86 +3.26 +2.57 +1.96 +1.57 +1.39 +1.32 +1.24 +1.05 +0.78 +0.5 +0.32 +0.29 +0.38 +0.52 +0.63 +0.66 +0.62 +0.54 +0.47 +0.44 +0.44 +0.45 +0.45 +0.41 +0.32 +0.21 +0.14 +0.16 +0.31 +0.56 +0.81 +0.96 +0.94 +0.79 +0.63 +0.6 +0.77 +1.11 +1.47 +1.69 +1.68 +1.49 +1.24 +1.08 +1.06 +1.15 +1.21 +1.15 +0.93 +0.67 +0.5 +0.53 +0.77 +1.13 +1.45 +1.64 +1.66 +1.62 +1.62 +1.78 +2.11 +2.52 +2.91 +3.18 +3.32 +3.4 +3.53 +3.75 +4.03 +4.22 +4.19 +3.86 +3.26 +2.57 +1.96 +1.57 +1.39 +1.32 +1.24 +1.05 +0.78 +0.5 +0.32 +0.29 +0.38 +0.52 +0.63 +0.66 +0.62 +0.54 +0.47 +0.44 +0.44 +0.45 +0.45 +0.41 +0.32 +0.21 +0.14 +0.16 +0.31 +0.56 +0.81 +0.96 +0.94 +0.79 +0.63 +0.6 +0.77 +1.11 +1.47 +1.69 +1.68 +1.49 +1.24 +1.08 +1.06 +1.15 +1.21 +1.15 +0.93 +0.67 +0.5 +0.71 +0.74 +0.98 +1.34 +1.65 +1.8 +1.78 +1.7 +1.69 +1.87 +2.24 +2.71 +3.17 +3.51 +3.75 +3.97 +4.26 +4.65 +5.05 +5.28 +5.19 +4.73 +3.99 +3.16 +2.47 +2.03 +1.81 +1.7 +1.56 +1.3 +0.98 +0.69 +0.53 +0.52 +0.61 +0.71 +0.73 +0.66 +0.51 +0.36 +0.24 +0.19 +0.18 +0.19 +0.18 +0.13 +0.04 +0.0 +0.0 +0.0 +0.08 +0.33 +0.57 +0.69 +0.65 +0.49 +0.34 +0.35 +0.57 +0.97 +1.38 +1.64 +1.67 +1.51 +1.3 +1.19 +1.23 +1.36 +1.45 +1.4 +1.18 +0.9 +0.71 +0.74 +0.98 +1.34 +1.65 +1.8 +1.78 +1.7 +1.69 +1.87 +2.24 +2.71 +3.17 +3.51 +3.75 +3.97 +4.26 +4.65 +5.05 +5.28 +5.19 +4.73 +3.99 +3.16 +2.47 +2.03 +1.81 +1.7 +1.56 +1.3 +0.98 +0.69 +0.53 +0.52 +0.61 +0.71 +0.73 +0.66 +0.51 +0.36 +0.24 +0.19 +0.18 +0.19 +0.18 +0.13 +0.04 +0.0 +0.0 +0.0 +0.08 +0.33 +0.57 +0.69 +0.65 +0.49 +0.34 +0.35 +0.57 +0.97 +1.38 +1.64 +1.67 +1.51 +1.3 +1.19 +1.23 +1.36 +1.45 +1.4 +1.18 +0.9 +0.71 +0.94 +1.0 +1.27 +1.65 +1.95 +2.07 +2.01 +1.87 +1.82 +1.98 +2.34 +2.81 +3.27 +3.65 +3.95 +4.26 +4.68 +5.18 +5.65 +5.9 +5.76 +5.21 +4.38 +3.49 +2.78 +2.35 +2.15 +2.04 +1.87 +1.59 +1.25 +0.97 +0.84 +0.87 +0.98 +1.06 +1.04 +0.89 +0.68 +0.47 +0.32 +0.25 +0.23 +0.22 +0.19 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.45 +0.55 +0.49 +0.32 +0.19 +0.23 +0.52 +0.97 +1.44 +1.74 +1.79 +1.64 +1.44 +1.33 +1.39 +1.53 +1.63 +1.58 +1.37 +1.1 +0.94 +1.0 +1.27 +1.65 +1.95 +2.07 +2.01 +1.87 +1.82 +1.98 +2.34 +2.81 +3.27 +3.65 +3.95 +4.26 +4.68 +5.18 +5.65 +5.9 +5.76 +5.21 +4.38 +3.49 +2.78 +2.35 +2.15 +2.04 +1.87 +1.59 +1.25 +0.97 +0.84 +0.87 +0.98 +1.06 +1.04 +0.89 +0.68 +0.47 +0.32 +0.25 +0.23 +0.22 +0.19 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.45 +0.55 +0.49 +0.32 +0.19 +0.23 +0.52 +0.97 +1.44 +1.74 +1.79 +1.64 +1.44 +1.33 +1.39 +1.53 +1.63 +1.58 +1.37 +1.1 +0.94 +1.18 +1.3 +1.62 +2.01 +2.31 +2.39 +2.27 +2.07 +1.95 +2.05 +2.35 +2.77 +3.19 +3.53 +3.83 +4.17 +4.62 +5.17 +5.67 +5.91 +5.74 +5.14 +4.29 +3.42 +2.76 +2.4 +2.26 +2.19 +2.04 +1.76 +1.44 +1.19 +1.1 +1.17 +1.32 +1.42 +1.4 +1.25 +1.03 +0.81 +0.66 +0.58 +0.55 +0.54 +0.49 +0.39 +0.23 +0.06 +0.0 +0.0 +0.11 +0.34 +0.55 +0.64 +0.57 +0.4 +0.29 +0.38 +0.73 +1.25 +1.76 +2.08 +2.13 +1.96 +1.72 +1.58 +1.6 +1.71 +1.79 +1.73 +1.53 +1.3 +1.18 +1.3 +1.62 +2.01 +2.31 +2.39 +2.27 +2.07 +1.95 +2.05 +2.35 +2.77 +3.19 +3.53 +3.83 +4.17 +4.62 +5.17 +5.67 +5.91 +5.74 +5.14 +4.29 +3.42 +2.76 +2.4 +2.26 +2.19 +2.04 +1.76 +1.44 +1.19 +1.1 +1.17 +1.32 +1.42 +1.4 +1.25 +1.03 +0.81 +0.66 +0.58 +0.55 +0.54 +0.49 +0.39 +0.23 +0.06 +0.0 +0.0 +0.11 +0.34 +0.55 +0.64 +0.57 +0.4 +0.29 +0.38 +0.73 +1.25 +1.76 +2.08 +2.13 +1.96 +1.72 +1.58 +1.6 +1.71 +1.79 +1.73 +1.53 +1.3 +1.18 +1.44 +1.6 +1.95 +2.35 +2.62 +2.65 +2.46 +2.18 +2.0 +2.02 +2.25 +2.59 +2.92 +3.18 +3.4 +3.69 +4.11 +4.63 +5.09 +5.31 +5.12 +4.53 +3.72 +2.94 +2.38 +2.12 +2.06 +2.05 +1.94 +1.7 +1.42 +1.2 +1.15 +1.26 +1.44 +1.59 +1.62 +1.52 +1.35 +1.17 +1.05 +1.0 +0.99 +0.99 +0.95 +0.83 +0.65 +0.45 +0.3 +0.28 +0.41 +0.64 +0.85 +0.93 +0.86 +0.72 +0.65 +0.8 +1.21 +1.8 +2.35 +2.69 +2.71 +2.49 +2.19 +1.97 +1.91 +1.95 +1.98 +1.9 +1.7 +1.5 +1.44 +1.6 +1.95 +2.35 +2.62 +2.65 +2.46 +2.18 +2.0 +2.02 +2.25 +2.59 +2.92 +3.18 +3.4 +3.69 +4.11 +4.63 +5.09 +5.31 +5.12 +4.53 +3.72 +2.94 +2.38 +2.12 +2.06 +2.05 +1.94 +1.7 +1.42 +1.2 +1.15 +1.26 +1.44 +1.59 +1.62 +1.52 +1.35 +1.17 +1.05 +1.0 +0.99 +0.99 +0.95 +0.83 +0.65 +0.45 +0.3 +0.28 +0.41 +0.64 +0.85 +0.93 +0.86 +0.72 +0.65 +0.8 +1.21 +1.8 +2.35 +2.69 +2.71 +2.49 +2.19 +1.97 +1.91 +1.95 +1.98 +1.9 +1.7 +1.5 +1.44 +1.68 +1.86 +2.2 +2.57 +2.78 +2.74 +2.48 +2.14 +1.9 +1.86 +2.02 +2.28 +2.51 +2.67 +2.79 +2.97 +3.29 +3.72 +4.12 +4.29 +4.1 +3.56 +2.85 +2.18 +1.75 +1.59 +1.62 +1.67 +1.61 +1.41 +1.16 +0.97 +0.94 +1.07 +1.27 +1.46 +1.55 +1.53 +1.44 +1.34 +1.28 +1.27 +1.31 +1.36 +1.35 +1.26 +1.08 +0.87 +0.7 +0.66 +0.78 +1.01 +1.23 +1.32 +1.28 +1.17 +1.16 +1.39 +1.89 +2.54 +3.13 +3.47 +3.47 +3.19 +2.82 +2.51 +2.36 +2.31 +2.26 +2.12 +1.91 +1.72 +1.68 +1.86 +2.2 +2.57 +2.78 +2.74 +2.48 +2.14 +1.9 +1.86 +2.02 +2.28 +2.51 +2.67 +2.79 +2.97 +3.29 +3.72 +4.12 +4.29 +4.1 +3.56 +2.85 +2.18 +1.75 +1.59 +1.62 +1.67 +1.61 +1.41 +1.16 +0.97 +0.94 +1.07 +1.27 +1.46 +1.55 +1.53 +1.44 +1.34 +1.28 +1.27 +1.31 +1.36 +1.35 +1.26 +1.08 +0.87 +0.7 +0.66 +0.78 +1.01 +1.23 +1.32 +1.28 +1.17 +1.16 +1.39 +1.89 +2.54 +3.13 +3.47 +3.47 +3.19 +2.82 +2.51 +2.36 +2.31 +2.26 +2.12 +1.91 +1.72 +1.68 +1.87 +2.01 +2.3 +2.59 +2.71 +2.59 +2.27 +1.9 +1.64 +1.58 +1.71 +1.92 +2.07 +2.12 +2.12 +2.19 +2.39 +2.71 +3.03 +3.16 +2.99 +2.52 +1.92 +1.38 +1.07 +1.01 +1.1 +1.19 +1.17 +1.01 +0.79 +0.62 +0.58 +0.68 +0.87 +1.07 +1.2 +1.26 +1.25 +1.22 +1.21 +1.26 +1.36 +1.47 +1.54 +1.51 +1.37 +1.18 +1.02 +0.98 +1.1 +1.33 +1.57 +1.69 +1.69 +1.65 +1.73 +2.05 +2.63 +3.35 +3.97 +4.3 +4.27 +3.95 +3.52 +3.14 +2.9 +2.76 +2.63 +2.42 +2.16 +1.93 +1.87 +2.01 +2.3 +2.59 +2.71 +2.59 +2.27 +1.9 +1.64 +1.58 +1.71 +1.92 +2.07 +2.12 +2.12 +2.19 +2.39 +2.71 +3.03 +3.16 +2.99 +2.52 +1.92 +1.38 +1.07 +1.01 +1.1 +1.19 +1.17 +1.01 +0.79 +0.62 +0.58 +0.68 +0.87 +1.07 +1.2 +1.26 +1.25 +1.22 +1.21 +1.26 +1.36 +1.47 +1.54 +1.51 +1.37 +1.18 +1.02 +0.98 +1.1 +1.33 +1.57 +1.69 +1.69 +1.65 +1.73 +2.05 +2.63 +3.35 +3.97 +4.3 +4.27 +3.95 +3.52 +3.14 +2.9 +2.76 +2.63 +2.42 +2.16 +1.93 +1.87 +1.96 +2.02 +2.21 +2.4 +2.42 +2.23 +1.88 +1.51 +1.27 +1.24 +1.37 +1.55 +1.66 +1.63 +1.54 +1.5 +1.6 +1.83 +2.07 +2.18 +2.05 +1.67 +1.19 +0.78 +0.57 +0.57 +0.7 +0.82 +0.82 +0.69 +0.48 +0.31 +0.24 +0.29 +0.43 +0.59 +0.73 +0.82 +0.85 +0.87 +0.9 +0.99 +1.14 +1.32 +1.47 +1.52 +1.45 +1.3 +1.17 +1.15 +1.28 +1.53 +1.79 +1.96 +2.02 +2.08 +2.26 +2.68 +3.34 +4.1 +4.73 +5.05 +4.99 +4.65 +4.19 +3.77 +3.47 +3.24 +3.01 +2.72 +2.38 +2.09 +1.96 +2.02 +2.21 +2.4 +2.42 +2.23 +1.88 +1.51 +1.27 +1.24 +1.37 +1.55 +1.66 +1.63 +1.54 +1.5 +1.6 +1.83 +2.07 +2.18 +2.05 +1.67 +1.19 +0.78 +0.57 +0.57 +0.7 +0.82 +0.82 +0.69 +0.48 +0.31 +0.24 +0.29 +0.43 +0.59 +0.73 +0.82 +0.85 +0.87 +0.9 +0.99 +1.14 +1.32 +1.47 +1.52 +1.45 +1.3 +1.17 +1.15 +1.28 +1.53 +1.79 +1.96 +2.02 +2.08 +2.26 +2.68 +3.34 +4.1 +4.73 +5.05 +4.99 +4.65 +4.19 +3.77 +3.47 +3.24 +3.01 +2.72 +2.38 +2.09 +1.96 +1.91 +1.87 +1.96 +2.03 +1.97 +1.73 +1.38 +1.04 +0.85 +0.87 +1.03 +1.22 +1.3 +1.25 +1.11 +1.0 +1.04 +1.21 +1.42 +1.52 +1.43 +1.15 +0.78 +0.48 +0.36 +0.41 +0.56 +0.68 +0.68 +0.56 +0.37 +0.19 +0.08 +0.07 +0.14 +0.24 +0.34 +0.41 +0.45 +0.48 +0.53 +0.63 +0.81 +1.03 +1.23 +1.35 +1.34 +1.26 +1.17 +1.18 +1.33 +1.59 +1.88 +2.1 +2.25 +2.41 +2.7 +3.21 +3.92 +4.68 +5.29 +5.58 +5.5 +5.15 +4.69 +4.26 +3.92 +3.63 +3.32 +2.93 +2.5 +2.13 +1.91 +1.87 +1.96 +2.03 +1.97 +1.73 +1.38 +1.04 +0.85 +0.87 +1.03 +1.22 +1.3 +1.25 +1.11 +1.0 +1.04 +1.21 +1.42 +1.52 +1.43 +1.15 +0.78 +0.48 +0.36 +0.41 +0.56 +0.68 +0.68 +0.56 +0.37 +0.19 +0.08 +0.07 +0.14 +0.24 +0.34 +0.41 +0.45 +0.48 +0.53 +0.63 +0.81 +1.03 +1.23 +1.35 +1.34 +1.26 +1.17 +1.18 +1.33 +1.59 +1.88 +2.1 +2.25 +2.41 +2.7 +3.21 +3.92 +4.68 +5.29 +5.58 +5.5 +5.15 +4.69 +4.26 +3.92 +3.63 +3.32 +2.93 +2.5 +2.13 +1.91 +1.7 +1.58 +1.57 +1.56 +1.44 +1.18 +0.85 +0.56 +0.44 +0.51 +0.71 +0.91 +1.0 +0.94 +0.79 +0.68 +0.71 +0.86 +1.06 +1.18 +1.13 +0.92 +0.65 +0.45 +0.39 +0.48 +0.63 +0.74 +0.74 +0.63 +0.45 +0.27 +0.14 +0.09 +0.09 +0.13 +0.18 +0.22 +0.23 +0.25 +0.28 +0.38 +0.55 +0.78 +0.99 +1.13 +1.17 +1.12 +1.07 +1.11 +1.29 +1.57 +1.88 +2.15 +2.38 +2.64 +3.02 +3.59 +4.31 +5.02 +5.56 +5.78 +5.68 +5.34 +4.9 +4.49 +4.14 +3.81 +3.43 +2.96 +2.46 +2.01 +1.7 +1.58 +1.57 +1.56 +1.44 +1.18 +0.85 +0.56 +0.44 +0.51 +0.71 +0.91 +1.0 +0.94 +0.79 +0.68 +0.71 +0.86 +1.06 +1.18 +1.13 +0.92 +0.65 +0.45 +0.39 +0.48 +0.63 +0.74 +0.74 +0.63 +0.45 +0.27 +0.14 +0.09 +0.09 +0.13 +0.18 +0.22 +0.23 +0.25 +0.28 +0.38 +0.55 +0.78 +0.99 +1.13 +1.17 +1.12 +1.07 +1.11 +1.29 +1.57 +1.88 +2.15 +2.38 +2.64 +3.02 +3.59 +4.31 +5.02 +5.56 +5.78 +5.68 +5.34 +4.9 +4.49 +4.14 +3.81 +3.43 +2.96 +2.46 +2.01 +1.7 +1.37 +1.19 +1.11 +1.05 +0.91 +0.66 +0.36 +0.13 +0.07 +0.18 +0.4 +0.61 +0.7 +0.66 +0.55 +0.48 +0.53 +0.7 +0.91 +1.04 +1.01 +0.85 +0.65 +0.51 +0.51 +0.62 +0.77 +0.87 +0.86 +0.75 +0.59 +0.43 +0.32 +0.27 +0.25 +0.26 +0.27 +0.28 +0.27 +0.27 +0.29 +0.36 +0.5 +0.68 +0.86 +0.98 +1.02 +0.99 +0.97 +1.04 +1.23 +1.52 +1.84 +2.15 +2.44 +2.77 +3.21 +3.78 +4.44 +5.05 +5.47 +5.61 +5.47 +5.15 +4.76 +4.4 +4.07 +3.72 +3.29 +2.78 +2.22 +1.73 +1.37 +1.19 +1.11 +1.05 +0.91 +0.66 +0.36 +0.13 +0.07 +0.18 +0.4 +0.61 +0.7 +0.66 +0.55 +0.48 +0.53 +0.7 +0.91 +1.04 +1.01 +0.85 +0.65 +0.51 +0.51 +0.62 +0.77 +0.87 +0.86 +0.75 +0.59 +0.43 +0.32 +0.27 +0.25 +0.26 +0.27 +0.28 +0.27 +0.27 +0.29 +0.36 +0.5 +0.68 +0.86 +0.98 +1.02 +0.99 +0.97 +1.04 +1.23 +1.52 +1.84 +2.15 +2.44 +2.77 +3.21 +3.78 +4.44 +5.05 +5.47 +5.61 +5.47 +5.15 +4.76 +4.4 +4.07 +3.72 +3.29 +2.78 +2.22 +1.73 +1.37 +0.99 +0.78 +0.67 +0.58 +0.43 +0.21 +0.0 +0.0 +0.0 +0.0 +0.1 +0.3 +0.39 +0.38 +0.32 +0.31 +0.42 +0.62 +0.83 +0.95 +0.91 +0.76 +0.59 +0.5 +0.54 +0.67 +0.81 +0.89 +0.87 +0.77 +0.64 +0.54 +0.48 +0.47 +0.48 +0.5 +0.52 +0.53 +0.53 +0.52 +0.54 +0.58 +0.66 +0.77 +0.87 +0.93 +0.93 +0.91 +0.91 +1.0 +1.2 +1.48 +1.8 +2.12 +2.44 +2.8 +3.24 +3.76 +4.3 +4.76 +5.04 +5.07 +4.91 +4.62 +4.3 +4.0 +3.71 +3.38 +2.95 +2.43 +1.87 +1.37 +0.99 +0.78 +0.67 +0.58 +0.43 +0.21 +0.0 +0.0 +0.0 +0.0 +0.1 +0.3 +0.39 +0.38 +0.32 +0.31 +0.42 +0.62 +0.83 +0.95 +0.91 +0.76 +0.59 +0.5 +0.54 +0.67 +0.81 +0.89 +0.87 +0.77 +0.64 +0.54 +0.48 +0.47 +0.48 +0.5 +0.52 +0.53 +0.53 +0.52 +0.54 +0.58 +0.66 +0.77 +0.87 +0.93 +0.93 +0.91 +0.91 +1.0 +1.2 +1.48 +1.8 +2.12 +2.44 +2.8 +3.24 +3.76 +4.3 +4.76 +5.04 +5.07 +4.91 +4.62 +4.3 +4.0 +3.71 +3.38 +2.95 +2.43 +1.87 +1.37 +0.99 +0.67 +0.44 +0.31 +0.2 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.11 +0.12 +0.11 +0.16 +0.32 +0.54 +0.74 +0.82 +0.75 +0.58 +0.42 +0.35 +0.41 +0.55 +0.69 +0.75 +0.72 +0.64 +0.55 +0.52 +0.54 +0.59 +0.66 +0.73 +0.78 +0.82 +0.86 +0.89 +0.91 +0.92 +0.94 +0.96 +0.96 +0.94 +0.9 +0.87 +0.9 +1.0 +1.21 +1.47 +1.77 +2.08 +2.39 +2.73 +3.12 +3.54 +3.94 +4.22 +4.35 +4.29 +4.11 +3.87 +3.63 +3.42 +3.19 +2.91 +2.52 +2.04 +1.52 +1.04 +0.67 +0.44 +0.31 +0.2 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.11 +0.12 +0.11 +0.16 +0.32 +0.54 +0.74 +0.82 +0.75 +0.58 +0.42 +0.35 +0.41 +0.55 +0.69 +0.75 +0.72 +0.64 +0.55 +0.52 +0.54 +0.59 +0.66 +0.73 +0.78 +0.82 +0.86 +0.89 +0.91 +0.92 +0.94 +0.96 +0.96 +0.94 +0.9 +0.87 +0.9 +1.0 +1.21 +1.47 +1.77 +2.08 +2.39 +2.73 +3.12 +3.54 +3.94 +4.22 +4.35 +4.29 +4.11 +3.87 +3.63 +3.42 +3.19 +2.91 +2.52 +2.04 +1.52 +1.04 +0.67 +0.52 +0.27 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.26 +0.48 +0.65 +0.68 +0.56 +0.36 +0.19 +0.13 +0.2 +0.34 +0.47 +0.53 +0.5 +0.44 +0.4 +0.42 +0.5 +0.61 +0.74 +0.85 +0.96 +1.06 +1.16 +1.24 +1.28 +1.27 +1.23 +1.15 +1.06 +0.97 +0.9 +0.88 +0.93 +1.06 +1.26 +1.51 +1.78 +2.04 +2.32 +2.62 +2.93 +3.23 +3.47 +3.59 +3.58 +3.45 +3.27 +3.09 +2.94 +2.81 +2.67 +2.47 +2.16 +1.76 +1.31 +0.88 +0.52 +0.27 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.26 +0.48 +0.65 +0.68 +0.56 +0.36 +0.19 +0.13 +0.2 +0.34 +0.47 +0.53 +0.5 +0.44 +0.4 +0.42 +0.5 +0.61 +0.74 +0.85 +0.96 +1.06 +1.16 +1.24 +1.28 +1.27 +1.23 +1.15 +1.06 +0.97 +0.9 +0.88 +0.93 +1.06 +1.26 +1.51 +1.78 +2.04 +2.32 +2.62 +2.93 +3.23 +3.47 +3.59 +3.58 +3.45 +3.27 +3.09 +2.94 +2.81 +2.67 +2.47 +2.16 +1.76 +1.31 +0.88 +0.52 +0.6 +0.33 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.49 +0.61 +0.6 +0.45 +0.23 +0.06 +0.0 +0.07 +0.21 +0.33 +0.38 +0.36 +0.32 +0.3 +0.36 +0.46 +0.6 +0.74 +0.88 +1.04 +1.2 +1.37 +1.5 +1.57 +1.55 +1.46 +1.32 +1.16 +1.03 +0.95 +0.96 +1.04 +1.2 +1.4 +1.63 +1.85 +2.08 +2.31 +2.54 +2.76 +2.94 +3.04 +3.03 +2.92 +2.75 +2.59 +2.46 +2.39 +2.35 +2.3 +2.18 +1.98 +1.69 +1.33 +0.95 +0.6 +0.33 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.28 +0.49 +0.61 +0.6 +0.45 +0.23 +0.06 +0.0 +0.07 +0.21 +0.33 +0.38 +0.36 +0.32 +0.3 +0.36 +0.46 +0.6 +0.74 +0.88 +1.04 +1.2 +1.37 +1.5 +1.57 +1.55 +1.46 +1.32 +1.16 +1.03 +0.95 +0.96 +1.04 +1.2 +1.4 +1.63 +1.85 +2.08 +2.31 +2.54 +2.76 +2.94 +3.04 +3.03 +2.92 +2.75 +2.59 +2.46 +2.39 +2.35 +2.3 +2.18 +1.98 +1.69 +1.33 +0.95 +0.6 +0.91 +0.6 +0.35 +0.17 +0.06 +0.0 +0.0 +0.0 +0.0 +0.03 +0.08 +0.12 +0.13 +0.13 +0.17 +0.27 +0.44 +0.61 +0.71 +0.67 +0.52 +0.31 +0.16 +0.11 +0.17 +0.29 +0.39 +0.43 +0.41 +0.38 +0.38 +0.43 +0.51 +0.62 +0.74 +0.89 +1.07 +1.3 +1.53 +1.71 +1.81 +1.79 +1.67 +1.49 +1.3 +1.17 +1.11 +1.14 +1.26 +1.44 +1.65 +1.85 +2.04 +2.22 +2.39 +2.55 +2.69 +2.78 +2.77 +2.68 +2.51 +2.33 +2.18 +2.09 +2.07 +2.09 +2.11 +2.1 +2.0 +1.83 +1.57 +1.25 +0.91 +0.6 +0.35 +0.17 +0.06 +0.0 +0.0 +0.0 +0.0 +0.03 +0.08 +0.12 +0.13 +0.13 +0.17 +0.27 +0.44 +0.61 +0.71 +0.67 +0.52 +0.31 +0.16 +0.11 +0.17 +0.29 +0.39 +0.43 +0.41 +0.38 +0.38 +0.43 +0.51 +0.62 +0.74 +0.89 +1.07 +1.3 +1.53 +1.71 +1.81 +1.79 +1.67 +1.49 +1.3 +1.17 +1.11 +1.14 +1.26 +1.44 +1.65 +1.85 +2.04 +2.22 +2.39 +2.55 +2.69 +2.78 +2.77 +2.68 +2.51 +2.33 +2.18 +2.09 +2.07 +2.09 +2.11 +2.1 +2.0 +1.83 +1.57 +1.25 +0.91 +1.34 +1.01 +0.72 +0.52 +0.4 +0.35 +0.34 +0.36 +0.4 +0.44 +0.48 +0.5 +0.49 +0.48 +0.5 +0.58 +0.71 +0.84 +0.92 +0.89 +0.77 +0.61 +0.49 +0.45 +0.49 +0.57 +0.64 +0.66 +0.64 +0.61 +0.59 +0.61 +0.65 +0.7 +0.79 +0.93 +1.14 +1.41 +1.69 +1.92 +2.04 +2.03 +1.91 +1.73 +1.56 +1.44 +1.41 +1.47 +1.61 +1.8 +2.0 +2.18 +2.33 +2.45 +2.56 +2.65 +2.72 +2.73 +2.67 +2.54 +2.36 +2.18 +2.04 +1.96 +1.96 +2.01 +2.08 +2.15 +2.16 +2.09 +1.93 +1.66 +1.34 +1.01 +0.72 +0.52 +0.4 +0.35 +0.34 +0.36 +0.4 +0.44 +0.48 +0.5 +0.49 +0.48 +0.5 +0.58 +0.71 +0.84 +0.92 +0.89 +0.77 +0.61 +0.49 +0.45 +0.49 +0.57 +0.64 +0.66 +0.64 +0.61 +0.59 +0.61 +0.65 +0.7 +0.79 +0.93 +1.14 +1.41 +1.69 +1.92 +2.04 +2.03 +1.91 +1.73 +1.56 +1.44 +1.41 +1.47 +1.61 +1.8 +2.0 +2.18 +2.33 +2.45 +2.56 +2.65 +2.72 +2.73 +2.67 +2.54 +2.36 +2.18 +2.04 +1.96 +1.96 +2.01 +2.08 +2.15 +2.16 +2.09 +1.93 +1.66 +1.34 +1.74 +1.41 +1.11 +0.9 +0.78 +0.73 +0.73 +0.75 +0.78 +0.82 +0.86 +0.88 +0.88 +0.86 +0.86 +0.89 +0.97 +1.07 +1.14 +1.15 +1.09 +0.99 +0.9 +0.85 +0.86 +0.89 +0.91 +0.9 +0.87 +0.83 +0.79 +0.78 +0.77 +0.8 +0.87 +1.03 +1.27 +1.58 +1.9 +2.16 +2.29 +2.3 +2.21 +2.06 +1.93 +1.84 +1.82 +1.89 +2.02 +2.18 +2.36 +2.5 +2.61 +2.67 +2.7 +2.72 +2.72 +2.7 +2.63 +2.51 +2.34 +2.17 +2.03 +1.94 +1.92 +1.97 +2.07 +2.2 +2.3 +2.33 +2.25 +2.04 +1.74 +1.41 +1.11 +0.9 +0.78 +0.73 +0.73 +0.75 +0.78 +0.82 +0.86 +0.88 +0.88 +0.86 +0.86 +0.89 +0.97 +1.07 +1.14 +1.15 +1.09 +0.99 +0.9 +0.85 +0.86 +0.89 +0.91 +0.9 +0.87 +0.83 +0.79 +0.78 +0.77 +0.8 +0.87 +1.03 +1.27 +1.58 +1.9 +2.16 +2.29 +2.3 +2.21 +2.06 +1.93 +1.84 +1.82 +1.89 +2.02 +2.18 +2.36 +2.5 +2.61 +2.67 +2.7 +2.72 +2.72 +2.7 +2.63 +2.51 +2.34 +2.17 +2.03 +1.94 +1.92 +1.97 +2.07 +2.2 +2.3 +2.33 +2.25 +2.04 +1.74 +1.97 +1.67 +1.39 +1.18 +1.05 +0.99 +0.96 +0.95 +0.96 +1.0 +1.06 +1.11 +1.13 +1.11 +1.06 +1.03 +1.05 +1.12 +1.2 +1.26 +1.27 +1.22 +1.15 +1.09 +1.04 +1.02 +1.0 +0.96 +0.91 +0.86 +0.82 +0.79 +0.79 +0.84 +0.96 +1.18 +1.48 +1.82 +2.15 +2.39 +2.53 +2.54 +2.49 +2.39 +2.29 +2.23 +2.2 +2.23 +2.31 +2.43 +2.57 +2.67 +2.72 +2.71 +2.66 +2.59 +2.54 +2.51 +2.46 +2.39 +2.27 +2.12 +1.96 +1.84 +1.78 +1.82 +1.94 +2.11 +2.29 +2.4 +2.38 +2.23 +1.97 +1.67 +1.39 +1.18 +1.05 +0.99 +0.96 +0.95 +0.96 +1.0 +1.06 +1.11 +1.13 +1.11 +1.06 +1.03 +1.05 +1.12 +1.2 +1.26 +1.27 +1.22 +1.15 +1.09 +1.04 +1.02 +1.0 +0.96 +0.91 +0.86 +0.82 +0.79 +0.79 +0.84 +0.96 +1.18 +1.48 +1.82 +2.15 +2.39 +2.53 +2.54 +2.49 +2.39 +2.29 +2.23 +2.2 +2.23 +2.31 +2.43 +2.57 +2.67 +2.72 +2.71 +2.66 +2.59 +2.54 +2.51 +2.46 +2.39 +2.27 +2.12 +1.96 +1.84 +1.78 +1.82 +1.94 +2.11 +2.29 +2.4 +2.38 +2.23 +1.97 +1.94 +1.69 +1.45 +1.27 +1.13 +1.02 +0.93 +0.87 +0.85 +0.9 +0.99 +1.08 +1.12 +1.09 +1.0 +0.9 +0.86 +0.89 +0.99 +1.1 +1.16 +1.15 +1.08 +0.98 +0.89 +0.82 +0.77 +0.72 +0.68 +0.63 +0.6 +0.6 +0.65 +0.79 +1.02 +1.34 +1.71 +2.06 +2.35 +2.54 +2.63 +2.63 +2.6 +2.54 +2.48 +2.4 +2.34 +2.3 +2.31 +2.38 +2.47 +2.53 +2.52 +2.43 +2.28 +2.14 +2.05 +2.03 +2.04 +2.04 +1.98 +1.86 +1.69 +1.52 +1.44 +1.46 +1.6 +1.82 +2.05 +2.21 +2.25 +2.15 +1.94 +1.69 +1.45 +1.27 +1.13 +1.02 +0.93 +0.87 +0.85 +0.9 +0.99 +1.08 +1.12 +1.09 +1.0 +0.9 +0.86 +0.89 +0.99 +1.1 +1.16 +1.15 +1.08 +0.98 +0.89 +0.82 +0.77 +0.72 +0.68 +0.63 +0.6 +0.6 +0.65 +0.79 +1.02 +1.34 +1.71 +2.06 +2.35 +2.54 +2.63 +2.63 +2.6 +2.54 +2.48 +2.4 +2.34 +2.3 +2.31 +2.38 +2.47 +2.53 +2.52 +2.43 +2.28 +2.14 +2.05 +2.03 +2.04 +2.04 +1.98 +1.86 +1.69 +1.52 +1.44 +1.46 +1.6 +1.82 +2.05 +2.21 +2.25 +2.15 +1.94 +1.68 +1.49 +1.31 +1.15 +0.99 +0.83 +0.67 +0.54 +0.48 +0.53 +0.65 +0.79 +0.85 +0.8 +0.65 +0.48 +0.38 +0.39 +0.51 +0.66 +0.76 +0.77 +0.69 +0.56 +0.44 +0.35 +0.31 +0.28 +0.26 +0.24 +0.24 +0.29 +0.45 +0.72 +1.09 +1.51 +1.92 +2.24 +2.43 +2.5 +2.49 +2.44 +2.4 +2.36 +2.3 +2.21 +2.09 +1.98 +1.92 +1.93 +1.99 +2.02 +1.96 +1.8 +1.58 +1.38 +1.27 +1.28 +1.37 +1.45 +1.46 +1.36 +1.18 +0.99 +0.88 +0.91 +1.08 +1.34 +1.61 +1.81 +1.88 +1.83 +1.68 +1.49 +1.31 +1.15 +0.99 +0.83 +0.67 +0.54 +0.48 +0.53 +0.65 +0.79 +0.85 +0.8 +0.65 +0.48 +0.38 +0.39 +0.51 +0.66 +0.76 +0.77 +0.69 +0.56 +0.44 +0.35 +0.31 +0.28 +0.26 +0.24 +0.24 +0.29 +0.45 +0.72 +1.09 +1.51 +1.92 +2.24 +2.43 +2.5 +2.49 +2.44 +2.4 +2.36 +2.3 +2.21 +2.09 +1.98 +1.92 +1.93 +1.99 +2.02 +1.96 +1.8 +1.58 +1.38 +1.27 +1.28 +1.37 +1.45 +1.46 +1.36 +1.18 +0.99 +0.88 +0.91 +1.08 +1.34 +1.61 +1.81 +1.88 +1.83 +1.68 +1.29 +1.17 +1.05 +0.91 +0.74 +0.52 +0.28 +0.09 +0.0 +0.05 +0.21 +0.37 +0.44 +0.36 +0.16 +0.0 +0.0 +0.0 +0.0 +0.11 +0.26 +0.28 +0.19 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.34 +0.72 +1.2 +1.69 +2.07 +2.29 +2.32 +2.22 +2.07 +1.94 +1.86 +1.82 +1.75 +1.63 +1.46 +1.3 +1.2 +1.18 +1.23 +1.25 +1.17 +0.97 +0.7 +0.46 +0.36 +0.42 +0.59 +0.76 +0.83 +0.75 +0.57 +0.36 +0.25 +0.3 +0.5 +0.8 +1.1 +1.31 +1.41 +1.39 +1.29 +1.17 +1.05 +0.91 +0.74 +0.52 +0.28 +0.09 +0.0 +0.05 +0.21 +0.37 +0.44 +0.36 +0.16 +0.0 +0.0 +0.0 +0.0 +0.11 +0.26 +0.28 +0.19 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.34 +0.72 +1.2 +1.69 +2.07 +2.29 +2.32 +2.22 +2.07 +1.94 +1.86 +1.82 +1.75 +1.63 +1.46 +1.3 +1.2 +1.18 +1.23 +1.25 +1.17 +0.97 +0.7 +0.46 +0.36 +0.42 +0.59 +0.76 +0.83 +0.75 +0.57 +0.36 +0.25 +0.3 +0.5 +0.8 +1.1 +1.31 +1.41 +1.39 +1.29 +0.96 +0.9 +0.83 +0.71 +0.51 +0.25 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.46 +0.91 +1.42 +1.88 +2.16 +2.22 +2.06 +1.78 +1.47 +1.25 +1.12 +1.05 +0.98 +0.85 +0.66 +0.49 +0.38 +0.39 +0.45 +0.49 +0.41 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.29 +0.22 +0.04 +0.0 +0.0 +0.0 +0.04 +0.36 +0.67 +0.89 +1.0 +1.01 +0.96 +0.9 +0.83 +0.71 +0.51 +0.25 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.46 +0.91 +1.42 +1.88 +2.16 +2.22 +2.06 +1.78 +1.47 +1.25 +1.12 +1.05 +0.98 +0.85 +0.66 +0.49 +0.38 +0.39 +0.45 +0.49 +0.41 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.29 +0.22 +0.04 +0.0 +0.0 +0.0 +0.04 +0.36 +0.67 +0.89 +1.0 +1.01 +0.96 +0.84 +0.83 +0.79 +0.68 +0.47 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.34 +0.42 +0.58 +0.87 +1.29 +1.73 +2.07 +2.19 +2.07 +1.73 +1.29 +0.87 +0.58 +0.42 +0.34 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.47 +0.68 +0.79 +0.83 +0.84 +0.83 +0.79 +0.68 +0.47 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.34 +0.42 +0.58 +0.87 +1.29 +1.73 +2.07 +2.19 +2.07 +1.73 +1.29 +0.87 +0.58 +0.42 +0.34 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.47 +0.68 +0.79 +0.83 +0.84 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.31 +1.55 +1.81 +2.05 +2.23 +2.31 +2.25 +2.08 +1.85 +1.59 +1.35 +1.13 +0.91 +0.7 +0.53 +0.41 +0.36 +0.35 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.26 +0.38 +0.41 +0.41 +0.45 +0.54 +0.7 +0.89 +1.11 +1.33 +1.57 +1.8 +2.02 +2.18 +2.23 +2.16 +1.99 +1.77 +1.52 +1.29 +1.06 +0.85 +0.66 +0.51 +0.43 +0.4 +0.41 +0.39 +0.28 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.25 +0.34 +0.35 +0.35 +0.39 +0.49 +0.66 +0.86 +1.08 +1.31 +1.55 +1.81 +2.05 +2.23 +2.31 +2.25 +2.08 +1.85 +1.59 +1.35 +1.13 +0.91 +0.7 +0.53 +0.41 +0.36 +0.35 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.26 +0.38 +0.41 +0.41 +0.45 +0.54 +0.7 +0.89 +1.11 +1.33 +1.57 +1.8 +2.02 +2.18 +2.23 +2.16 +1.99 +1.77 +1.52 +1.29 +1.06 +0.85 +0.66 +0.51 +0.43 +0.4 +0.41 +0.39 +0.28 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.25 +0.34 +0.35 +0.35 +0.39 +0.49 +0.66 +0.86 +1.08 +1.31 +1.22 +1.5 +1.81 +2.12 +2.36 +2.47 +2.42 +2.24 +1.97 +1.68 +1.4 +1.14 +0.91 +0.69 +0.51 +0.37 +0.31 +0.31 +0.31 +0.26 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.33 +0.45 +0.48 +0.47 +0.46 +0.51 +0.64 +0.82 +1.05 +1.3 +1.55 +1.8 +2.01 +2.14 +2.17 +2.08 +1.9 +1.67 +1.41 +1.15 +0.91 +0.69 +0.52 +0.42 +0.4 +0.43 +0.48 +0.47 +0.37 +0.19 +0.0 +0.0 +0.0 +0.0 +0.01 +0.18 +0.29 +0.31 +0.27 +0.24 +0.27 +0.37 +0.54 +0.74 +0.96 +1.22 +1.5 +1.81 +2.12 +2.36 +2.47 +2.42 +2.24 +1.97 +1.68 +1.4 +1.14 +0.91 +0.69 +0.51 +0.37 +0.31 +0.31 +0.31 +0.26 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.33 +0.45 +0.48 +0.47 +0.46 +0.51 +0.64 +0.82 +1.05 +1.3 +1.55 +1.8 +2.01 +2.14 +2.17 +2.08 +1.9 +1.67 +1.41 +1.15 +0.91 +0.69 +0.52 +0.42 +0.4 +0.43 +0.48 +0.47 +0.37 +0.19 +0.0 +0.0 +0.0 +0.0 +0.01 +0.18 +0.29 +0.31 +0.27 +0.24 +0.27 +0.37 +0.54 +0.74 +0.96 +1.22 +1.04 +1.37 +1.75 +2.13 +2.44 +2.6 +2.58 +2.39 +2.09 +1.75 +1.44 +1.17 +0.94 +0.72 +0.53 +0.38 +0.3 +0.3 +0.33 +0.33 +0.27 +0.13 +0.0 +0.0 +0.0 +0.0 +0.16 +0.36 +0.49 +0.53 +0.49 +0.43 +0.42 +0.49 +0.66 +0.89 +1.17 +1.45 +1.71 +1.9 +2.0 +2.0 +1.9 +1.71 +1.47 +1.2 +0.92 +0.66 +0.44 +0.3 +0.26 +0.31 +0.42 +0.5 +0.51 +0.41 +0.22 +0.04 +0.0 +0.0 +0.02 +0.16 +0.26 +0.29 +0.23 +0.14 +0.09 +0.1 +0.2 +0.36 +0.55 +0.77 +1.04 +1.37 +1.75 +2.13 +2.44 +2.6 +2.58 +2.39 +2.09 +1.75 +1.44 +1.17 +0.94 +0.72 +0.53 +0.38 +0.3 +0.3 +0.33 +0.33 +0.27 +0.13 +0.0 +0.0 +0.0 +0.0 +0.16 +0.36 +0.49 +0.53 +0.49 +0.43 +0.42 +0.49 +0.66 +0.89 +1.17 +1.45 +1.71 +1.9 +2.0 +2.0 +1.9 +1.71 +1.47 +1.2 +0.92 +0.66 +0.44 +0.3 +0.26 +0.31 +0.42 +0.5 +0.51 +0.41 +0.22 +0.04 +0.0 +0.0 +0.02 +0.16 +0.26 +0.29 +0.23 +0.14 +0.09 +0.1 +0.2 +0.36 +0.55 +0.77 +1.04 +0.78 +1.13 +1.56 +2.0 +2.38 +2.6 +2.61 +2.43 +2.12 +1.77 +1.46 +1.21 +1.01 +0.82 +0.64 +0.48 +0.38 +0.36 +0.4 +0.44 +0.43 +0.32 +0.14 +0.0 +0.0 +0.0 +0.11 +0.31 +0.46 +0.51 +0.44 +0.33 +0.25 +0.26 +0.4 +0.64 +0.95 +1.25 +1.5 +1.66 +1.73 +1.7 +1.59 +1.42 +1.2 +0.94 +0.65 +0.37 +0.15 +0.04 +0.06 +0.17 +0.33 +0.43 +0.42 +0.29 +0.1 +0.0 +0.0 +0.0 +0.05 +0.18 +0.24 +0.2 +0.09 +0.0 +0.0 +0.0 +0.02 +0.16 +0.32 +0.52 +0.78 +1.13 +1.56 +2.0 +2.38 +2.6 +2.61 +2.43 +2.12 +1.77 +1.46 +1.21 +1.01 +0.82 +0.64 +0.48 +0.38 +0.36 +0.4 +0.44 +0.43 +0.32 +0.14 +0.0 +0.0 +0.0 +0.11 +0.31 +0.46 +0.51 +0.44 +0.33 +0.25 +0.26 +0.4 +0.64 +0.95 +1.25 +1.5 +1.66 +1.73 +1.7 +1.59 +1.42 +1.2 +0.94 +0.65 +0.37 +0.15 +0.04 +0.06 +0.17 +0.33 +0.43 +0.42 +0.29 +0.1 +0.0 +0.0 +0.0 +0.05 +0.18 +0.24 +0.2 +0.09 +0.0 +0.0 +0.0 +0.02 +0.16 +0.32 +0.52 +0.78 +0.46 +0.81 +1.26 +1.75 +2.18 +2.45 +2.49 +2.33 +2.04 +1.72 +1.46 +1.26 +1.12 +0.98 +0.82 +0.65 +0.52 +0.48 +0.51 +0.57 +0.58 +0.48 +0.27 +0.04 +0.0 +0.0 +0.01 +0.22 +0.39 +0.45 +0.37 +0.2 +0.06 +0.02 +0.13 +0.38 +0.69 +1.0 +1.23 +1.36 +1.39 +1.34 +1.24 +1.1 +0.92 +0.68 +0.4 +0.12 +0.0 +0.0 +0.0 +0.03 +0.2 +0.28 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.24 +0.46 +0.81 +1.26 +1.75 +2.18 +2.45 +2.49 +2.33 +2.04 +1.72 +1.46 +1.26 +1.12 +0.98 +0.82 +0.65 +0.52 +0.48 +0.51 +0.57 +0.58 +0.48 +0.27 +0.04 +0.0 +0.0 +0.01 +0.22 +0.39 +0.45 +0.37 +0.2 +0.06 +0.02 +0.13 +0.38 +0.69 +1.0 +1.23 +1.36 +1.39 +1.34 +1.24 +1.1 +0.92 +0.68 +0.4 +0.12 +0.0 +0.0 +0.0 +0.03 +0.2 +0.28 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.24 +0.46 +0.17 +0.5 +0.95 +1.46 +1.92 +2.21 +2.28 +2.15 +1.9 +1.64 +1.45 +1.34 +1.27 +1.18 +1.04 +0.85 +0.69 +0.61 +0.62 +0.68 +0.69 +0.59 +0.36 +0.08 +0.0 +0.0 +0.0 +0.16 +0.36 +0.43 +0.34 +0.14 +0.0 +0.0 +0.0 +0.22 +0.54 +0.84 +1.05 +1.13 +1.13 +1.06 +0.98 +0.88 +0.74 +0.54 +0.27 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.19 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.5 +0.95 +1.46 +1.92 +2.21 +2.28 +2.15 +1.9 +1.64 +1.45 +1.34 +1.27 +1.18 +1.04 +0.85 +0.69 +0.61 +0.62 +0.68 +0.69 +0.59 +0.36 +0.08 +0.0 +0.0 +0.0 +0.16 +0.36 +0.43 +0.34 +0.14 +0.0 +0.0 +0.0 +0.22 +0.54 +0.84 +1.05 +1.13 +1.13 +1.06 +0.98 +0.88 +0.74 +0.54 +0.27 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.19 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.0 +0.28 +0.74 +1.25 +1.71 +2.0 +2.08 +1.98 +1.78 +1.58 +1.47 +1.43 +1.43 +1.37 +1.23 +1.02 +0.81 +0.7 +0.69 +0.75 +0.76 +0.66 +0.42 +0.11 +0.0 +0.0 +0.0 +0.21 +0.43 +0.51 +0.42 +0.2 +0.0 +0.0 +0.01 +0.26 +0.58 +0.87 +1.04 +1.09 +1.05 +0.98 +0.91 +0.85 +0.74 +0.57 +0.32 +0.05 +0.0 +0.0 +0.0 +0.08 +0.24 +0.25 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.28 +0.74 +1.25 +1.71 +2.0 +2.08 +1.98 +1.78 +1.58 +1.47 +1.43 +1.43 +1.37 +1.23 +1.02 +0.81 +0.7 +0.69 +0.75 +0.76 +0.66 +0.42 +0.11 +0.0 +0.0 +0.0 +0.21 +0.43 +0.51 +0.42 +0.2 +0.0 +0.0 +0.01 +0.26 +0.58 +0.87 +1.04 +1.09 +1.05 +0.98 +0.91 +0.85 +0.74 +0.57 +0.32 +0.05 +0.0 +0.0 +0.0 +0.08 +0.24 +0.25 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.04 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.68 +1.19 +1.63 +1.9 +1.97 +1.88 +1.71 +1.58 +1.53 +1.56 +1.59 +1.54 +1.37 +1.12 +0.88 +0.75 +0.74 +0.8 +0.83 +0.73 +0.49 +0.19 +0.0 +0.0 +0.1 +0.37 +0.6 +0.68 +0.57 +0.36 +0.16 +0.09 +0.21 +0.48 +0.8 +1.06 +1.21 +1.23 +1.18 +1.1 +1.05 +1.0 +0.92 +0.76 +0.52 +0.26 +0.07 +0.03 +0.16 +0.37 +0.53 +0.52 +0.32 +0.01 +0.0 +0.0 +0.0 +0.0 +0.21 +0.32 +0.25 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.68 +1.19 +1.63 +1.9 +1.97 +1.88 +1.71 +1.58 +1.53 +1.56 +1.59 +1.54 +1.37 +1.12 +0.88 +0.75 +0.74 +0.8 +0.83 +0.73 +0.49 +0.19 +0.0 +0.0 +0.1 +0.37 +0.6 +0.68 +0.57 +0.36 +0.16 +0.09 +0.21 +0.48 +0.8 +1.06 +1.21 +1.23 +1.18 +1.1 +1.05 +1.0 +0.92 +0.76 +0.52 +0.26 +0.07 +0.03 +0.16 +0.37 +0.53 +0.52 +0.32 +0.01 +0.0 +0.0 +0.0 +0.0 +0.21 +0.32 +0.25 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.31 +0.77 +1.27 +1.67 +1.91 +1.94 +1.85 +1.72 +1.64 +1.66 +1.73 +1.76 +1.69 +1.49 +1.21 +0.96 +0.84 +0.85 +0.92 +0.96 +0.85 +0.61 +0.32 +0.13 +0.12 +0.3 +0.57 +0.78 +0.83 +0.71 +0.49 +0.32 +0.29 +0.45 +0.73 +1.05 +1.29 +1.42 +1.42 +1.37 +1.3 +1.26 +1.22 +1.15 +0.99 +0.76 +0.51 +0.35 +0.34 +0.5 +0.74 +0.91 +0.91 +0.71 +0.41 +0.16 +0.09 +0.23 +0.49 +0.7 +0.76 +0.63 +0.39 +0.16 +0.04 +0.04 +0.08 +0.09 +0.02 +0.0 +0.0 +0.01 +0.31 +0.77 +1.27 +1.67 +1.91 +1.94 +1.85 +1.72 +1.64 +1.66 +1.73 +1.76 +1.69 +1.49 +1.21 +0.96 +0.84 +0.85 +0.92 +0.96 +0.85 +0.61 +0.32 +0.13 +0.12 +0.3 +0.57 +0.78 +0.83 +0.71 +0.49 +0.32 +0.29 +0.45 +0.73 +1.05 +1.29 +1.42 +1.42 +1.37 +1.3 +1.26 +1.22 +1.15 +0.99 +0.76 +0.51 +0.35 +0.34 +0.5 +0.74 +0.91 +0.91 +0.71 +0.41 +0.16 +0.09 +0.23 +0.49 +0.7 +0.76 +0.63 +0.39 +0.16 +0.04 +0.04 +0.08 +0.09 +0.02 +0.0 +0.0 +0.01 +0.17 +0.48 +0.93 +1.4 +1.76 +1.94 +1.94 +1.84 +1.75 +1.73 +1.82 +1.93 +1.97 +1.89 +1.67 +1.4 +1.18 +1.1 +1.15 +1.24 +1.25 +1.11 +0.83 +0.52 +0.32 +0.32 +0.49 +0.72 +0.88 +0.87 +0.72 +0.5 +0.36 +0.38 +0.56 +0.85 +1.15 +1.37 +1.47 +1.47 +1.43 +1.38 +1.35 +1.33 +1.26 +1.11 +0.89 +0.67 +0.54 +0.57 +0.77 +1.03 +1.23 +1.24 +1.06 +0.8 +0.59 +0.57 +0.75 +1.02 +1.22 +1.23 +1.04 +0.75 +0.49 +0.35 +0.34 +0.37 +0.36 +0.26 +0.13 +0.07 +0.17 +0.48 +0.93 +1.4 +1.76 +1.94 +1.94 +1.84 +1.75 +1.73 +1.82 +1.93 +1.97 +1.89 +1.67 +1.4 +1.18 +1.1 +1.15 +1.24 +1.25 +1.11 +0.83 +0.52 +0.32 +0.32 +0.49 +0.72 +0.88 +0.87 +0.72 +0.5 +0.36 +0.38 +0.56 +0.85 +1.15 +1.37 +1.47 +1.47 +1.43 +1.38 +1.35 +1.33 +1.26 +1.11 +0.89 +0.67 +0.54 +0.57 +0.77 +1.03 +1.23 +1.24 +1.06 +0.8 +0.59 +0.57 +0.75 +1.02 +1.22 +1.23 +1.04 +0.75 +0.49 +0.35 +0.34 +0.37 +0.36 +0.26 +0.13 +0.07 +0.17 +0.36 +0.65 +1.08 +1.51 +1.82 +1.94 +1.9 +1.8 +1.76 +1.82 +1.99 +2.16 +2.24 +2.17 +1.98 +1.77 +1.64 +1.64 +1.75 +1.84 +1.79 +1.55 +1.17 +0.78 +0.54 +0.51 +0.64 +0.81 +0.88 +0.79 +0.59 +0.37 +0.26 +0.31 +0.51 +0.78 +1.03 +1.2 +1.27 +1.26 +1.23 +1.21 +1.2 +1.19 +1.13 +0.99 +0.79 +0.61 +0.52 +0.59 +0.82 +1.11 +1.32 +1.35 +1.19 +0.96 +0.81 +0.85 +1.08 +1.38 +1.59 +1.59 +1.37 +1.06 +0.79 +0.66 +0.66 +0.7 +0.68 +0.56 +0.39 +0.29 +0.36 +0.65 +1.08 +1.51 +1.82 +1.94 +1.9 +1.8 +1.76 +1.82 +1.99 +2.16 +2.24 +2.17 +1.98 +1.77 +1.64 +1.64 +1.75 +1.84 +1.79 +1.55 +1.17 +0.78 +0.54 +0.51 +0.64 +0.81 +0.88 +0.79 +0.59 +0.37 +0.26 +0.31 +0.51 +0.78 +1.03 +1.2 +1.27 +1.26 +1.23 +1.21 +1.2 +1.19 +1.13 +0.99 +0.79 +0.61 +0.52 +0.59 +0.82 +1.11 +1.32 +1.35 +1.19 +0.96 +0.81 +0.85 +1.08 +1.38 +1.59 +1.59 +1.37 +1.06 +0.79 +0.66 +0.66 +0.7 +0.68 +0.56 +0.39 +0.29 +0.36 +0.54 +0.79 +1.18 +1.57 +1.83 +1.89 +1.82 +1.73 +1.73 +1.89 +2.15 +2.41 +2.55 +2.55 +2.45 +2.35 +2.36 +2.49 +2.67 +2.73 +2.58 +2.18 +1.65 +1.15 +0.83 +0.73 +0.8 +0.88 +0.85 +0.67 +0.42 +0.2 +0.11 +0.18 +0.37 +0.6 +0.77 +0.86 +0.87 +0.84 +0.81 +0.8 +0.81 +0.81 +0.77 +0.65 +0.48 +0.34 +0.29 +0.39 +0.64 +0.93 +1.14 +1.17 +1.03 +0.83 +0.72 +0.82 +1.12 +1.48 +1.72 +1.74 +1.55 +1.25 +1.01 +0.92 +0.97 +1.04 +1.02 +0.87 +0.65 +0.5 +0.54 +0.79 +1.18 +1.57 +1.83 +1.89 +1.82 +1.73 +1.73 +1.89 +2.15 +2.41 +2.55 +2.55 +2.45 +2.35 +2.36 +2.49 +2.67 +2.73 +2.58 +2.18 +1.65 +1.15 +0.83 +0.73 +0.8 +0.88 +0.85 +0.67 +0.42 +0.2 +0.11 +0.18 +0.37 +0.6 +0.77 +0.86 +0.87 +0.84 +0.81 +0.8 +0.81 +0.81 +0.77 +0.65 +0.48 +0.34 +0.29 +0.39 +0.64 +0.93 +1.14 +1.17 +1.03 +0.83 +0.72 +0.82 +1.12 +1.48 +1.72 +1.74 +1.55 +1.25 +1.01 +0.92 +0.97 +1.04 +1.02 +0.87 +0.65 +0.5 +0.54 +0.69 +0.91 +1.27 +1.62 +1.83 +1.84 +1.74 +1.65 +1.7 +1.94 +2.29 +2.64 +2.88 +2.97 +3.0 +3.07 +3.25 +3.53 +3.77 +3.8 +3.52 +2.94 +2.24 +1.6 +1.19 +1.04 +1.04 +1.04 +0.91 +0.66 +0.36 +0.14 +0.07 +0.16 +0.33 +0.48 +0.55 +0.54 +0.47 +0.39 +0.35 +0.35 +0.37 +0.38 +0.34 +0.23 +0.09 +0.0 +0.0 +0.07 +0.32 +0.6 +0.79 +0.8 +0.66 +0.48 +0.41 +0.57 +0.94 +1.38 +1.69 +1.76 +1.61 +1.36 +1.17 +1.13 +1.23 +1.33 +1.32 +1.15 +0.89 +0.69 +0.69 +0.91 +1.27 +1.62 +1.83 +1.84 +1.74 +1.65 +1.7 +1.94 +2.29 +2.64 +2.88 +2.97 +3.0 +3.07 +3.25 +3.53 +3.77 +3.8 +3.52 +2.94 +2.24 +1.6 +1.19 +1.04 +1.04 +1.04 +0.91 +0.66 +0.36 +0.14 +0.07 +0.16 +0.33 +0.48 +0.55 +0.54 +0.47 +0.39 +0.35 +0.35 +0.37 +0.38 +0.34 +0.23 +0.09 +0.0 +0.0 +0.07 +0.32 +0.6 +0.79 +0.8 +0.66 +0.48 +0.41 +0.57 +0.94 +1.38 +1.69 +1.76 +1.61 +1.36 +1.17 +1.13 +1.23 +1.33 +1.32 +1.15 +0.89 +0.69 +0.69 +0.85 +1.06 +1.41 +1.74 +1.91 +1.88 +1.73 +1.63 +1.7 +1.98 +2.4 +2.82 +3.13 +3.34 +3.5 +3.74 +4.11 +4.53 +4.83 +4.82 +4.41 +3.68 +2.82 +2.08 +1.62 +1.44 +1.4 +1.34 +1.14 +0.84 +0.52 +0.31 +0.27 +0.36 +0.51 +0.59 +0.57 +0.45 +0.29 +0.16 +0.09 +0.08 +0.1 +0.11 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.3 +0.47 +0.46 +0.3 +0.12 +0.09 +0.31 +0.75 +1.27 +1.66 +1.79 +1.68 +1.47 +1.31 +1.31 +1.44 +1.57 +1.56 +1.37 +1.09 +0.87 +0.85 +1.06 +1.41 +1.74 +1.91 +1.88 +1.73 +1.63 +1.7 +1.98 +2.4 +2.82 +3.13 +3.34 +3.5 +3.74 +4.11 +4.53 +4.83 +4.82 +4.41 +3.68 +2.82 +2.08 +1.62 +1.44 +1.4 +1.34 +1.14 +0.84 +0.52 +0.31 +0.27 +0.36 +0.51 +0.59 +0.57 +0.45 +0.29 +0.16 +0.09 +0.08 +0.1 +0.11 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.3 +0.47 +0.46 +0.3 +0.12 +0.09 +0.31 +0.75 +1.27 +1.66 +1.79 +1.68 +1.47 +1.31 +1.31 +1.44 +1.57 +1.56 +1.37 +1.09 +0.87 +0.85 +1.05 +1.28 +1.65 +1.98 +2.11 +2.03 +1.84 +1.69 +1.74 +2.02 +2.45 +2.9 +3.26 +3.53 +3.81 +4.19 +4.7 +5.22 +5.56 +5.52 +5.02 +4.18 +3.24 +2.46 +2.0 +1.82 +1.79 +1.71 +1.48 +1.15 +0.83 +0.64 +0.64 +0.76 +0.9 +0.94 +0.85 +0.66 +0.44 +0.27 +0.17 +0.15 +0.16 +0.16 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.35 +0.33 +0.15 +0.0 +0.0 +0.25 +0.77 +1.37 +1.82 +1.99 +1.9 +1.69 +1.52 +1.52 +1.64 +1.76 +1.74 +1.55 +1.26 +1.05 +1.05 +1.28 +1.65 +1.98 +2.11 +2.03 +1.84 +1.69 +1.74 +2.02 +2.45 +2.9 +3.26 +3.53 +3.81 +4.19 +4.7 +5.22 +5.56 +5.52 +5.02 +4.18 +3.24 +2.46 +2.0 +1.82 +1.79 +1.71 +1.48 +1.15 +0.83 +0.64 +0.64 +0.76 +0.9 +0.94 +0.85 +0.66 +0.44 +0.27 +0.17 +0.15 +0.16 +0.16 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.35 +0.33 +0.15 +0.0 +0.0 +0.25 +0.77 +1.37 +1.82 +1.99 +1.9 +1.69 +1.52 +1.52 +1.64 +1.76 +1.74 +1.55 +1.26 +1.05 +1.05 +1.29 +1.57 +1.97 +2.3 +2.41 +2.28 +2.01 +1.8 +1.79 +2.03 +2.43 +2.85 +3.21 +3.5 +3.82 +4.26 +4.84 +5.42 +5.78 +5.7 +5.16 +4.28 +3.33 +2.58 +2.17 +2.05 +2.05 +1.98 +1.75 +1.42 +1.12 +0.98 +1.02 +1.18 +1.33 +1.38 +1.28 +1.07 +0.83 +0.65 +0.55 +0.53 +0.54 +0.54 +0.46 +0.3 +0.09 +0.0 +0.0 +0.0 +0.15 +0.4 +0.54 +0.5 +0.32 +0.16 +0.19 +0.53 +1.12 +1.78 +2.28 +2.47 +2.35 +2.09 +1.86 +1.79 +1.86 +1.94 +1.89 +1.69 +1.42 +1.25 +1.29 +1.57 +1.97 +2.3 +2.41 +2.28 +2.01 +1.8 +1.79 +2.03 +2.43 +2.85 +3.21 +3.5 +3.82 +4.26 +4.84 +5.42 +5.78 +5.7 +5.16 +4.28 +3.33 +2.58 +2.17 +2.05 +2.05 +1.98 +1.75 +1.42 +1.12 +0.98 +1.02 +1.18 +1.33 +1.38 +1.28 +1.07 +0.83 +0.65 +0.55 +0.53 +0.54 +0.54 +0.46 +0.3 +0.09 +0.0 +0.0 +0.0 +0.15 +0.4 +0.54 +0.5 +0.32 +0.16 +0.19 +0.53 +1.12 +1.78 +2.28 +2.47 +2.35 +2.09 +1.86 +1.79 +1.86 +1.94 +1.89 +1.69 +1.42 +1.25 +1.29 +1.55 +1.88 +2.3 +2.62 +2.69 +2.5 +2.17 +1.89 +1.82 +2.0 +2.33 +2.69 +2.99 +3.23 +3.52 +3.95 +4.52 +5.08 +5.41 +5.32 +4.76 +3.9 +3.01 +2.34 +2.02 +1.97 +2.03 +1.99 +1.79 +1.48 +1.21 +1.1 +1.18 +1.38 +1.58 +1.66 +1.6 +1.43 +1.23 +1.07 +1.0 +1.01 +1.05 +1.06 +0.99 +0.82 +0.58 +0.36 +0.26 +0.34 +0.56 +0.81 +0.96 +0.92 +0.76 +0.63 +0.71 +1.12 +1.79 +2.5 +3.02 +3.19 +3.03 +2.68 +2.36 +2.19 +2.16 +2.16 +2.07 +1.85 +1.6 +1.46 +1.55 +1.88 +2.3 +2.62 +2.69 +2.5 +2.17 +1.89 +1.82 +2.0 +2.33 +2.69 +2.99 +3.23 +3.52 +3.95 +4.52 +5.08 +5.41 +5.32 +4.76 +3.9 +3.01 +2.34 +2.02 +1.97 +2.03 +1.99 +1.79 +1.48 +1.21 +1.1 +1.18 +1.38 +1.58 +1.66 +1.6 +1.43 +1.23 +1.07 +1.0 +1.01 +1.05 +1.06 +0.99 +0.82 +0.58 +0.36 +0.26 +0.34 +0.56 +0.81 +0.96 +0.92 +0.76 +0.63 +0.71 +1.12 +1.79 +2.5 +3.02 +3.19 +3.03 +2.68 +2.36 +2.19 +2.16 +2.16 +2.07 +1.85 +1.6 +1.46 +1.55 +1.79 +2.12 +2.53 +2.82 +2.84 +2.59 +2.2 +1.88 +1.76 +1.89 +2.17 +2.45 +2.66 +2.81 +3.0 +3.34 +3.82 +4.31 +4.58 +4.47 +3.94 +3.15 +2.35 +1.79 +1.57 +1.6 +1.7 +1.7 +1.53 +1.25 +1.01 +0.92 +1.02 +1.25 +1.48 +1.62 +1.62 +1.53 +1.4 +1.3 +1.28 +1.34 +1.43 +1.49 +1.46 +1.3 +1.06 +0.83 +0.72 +0.79 +1.02 +1.29 +1.45 +1.44 +1.31 +1.24 +1.4 +1.89 +2.63 +3.39 +3.93 +4.07 +3.84 +3.4 +2.98 +2.69 +2.56 +2.47 +2.31 +2.06 +1.8 +1.68 +1.79 +2.12 +2.53 +2.82 +2.84 +2.59 +2.2 +1.88 +1.76 +1.89 +2.17 +2.45 +2.66 +2.81 +3.0 +3.34 +3.82 +4.31 +4.58 +4.47 +3.94 +3.15 +2.35 +1.79 +1.57 +1.6 +1.7 +1.7 +1.53 +1.25 +1.01 +0.92 +1.02 +1.25 +1.48 +1.62 +1.62 +1.53 +1.4 +1.3 +1.28 +1.34 +1.43 +1.49 +1.46 +1.3 +1.06 +0.83 +0.72 +0.79 +1.02 +1.29 +1.45 +1.44 +1.31 +1.24 +1.4 +1.89 +2.63 +3.39 +3.93 +4.07 +3.84 +3.4 +2.98 +2.69 +2.56 +2.47 +2.31 +2.06 +1.8 +1.68 +1.79 +1.95 +2.24 +2.59 +2.81 +2.78 +2.48 +2.07 +1.73 +1.61 +1.72 +1.96 +2.18 +2.29 +2.33 +2.4 +2.61 +2.96 +3.34 +3.55 +3.43 +2.95 +2.25 +1.57 +1.12 +0.98 +1.07 +1.2 +1.23 +1.08 +0.83 +0.61 +0.53 +0.62 +0.83 +1.07 +1.24 +1.31 +1.29 +1.24 +1.21 +1.25 +1.37 +1.52 +1.64 +1.67 +1.56 +1.35 +1.14 +1.04 +1.13 +1.37 +1.65 +1.85 +1.88 +1.82 +1.82 +2.08 +2.66 +3.47 +4.28 +4.81 +4.93 +4.65 +4.14 +3.64 +3.26 +3.03 +2.85 +2.61 +2.31 +2.01 +1.86 +1.95 +2.24 +2.59 +2.81 +2.78 +2.48 +2.07 +1.73 +1.61 +1.72 +1.96 +2.18 +2.29 +2.33 +2.4 +2.61 +2.96 +3.34 +3.55 +3.43 +2.95 +2.25 +1.57 +1.12 +0.98 +1.07 +1.2 +1.23 +1.08 +0.83 +0.61 +0.53 +0.62 +0.83 +1.07 +1.24 +1.31 +1.29 +1.24 +1.21 +1.25 +1.37 +1.52 +1.64 +1.67 +1.56 +1.35 +1.14 +1.04 +1.13 +1.37 +1.65 +1.85 +1.88 +1.82 +1.82 +2.08 +2.66 +3.47 +4.28 +4.81 +4.93 +4.65 +4.14 +3.64 +3.26 +3.03 +2.85 +2.61 +2.31 +2.01 +1.86 +1.95 +2.0 +2.21 +2.47 +2.61 +2.5 +2.18 +1.77 +1.46 +1.37 +1.49 +1.72 +1.91 +1.95 +1.9 +1.85 +1.93 +2.16 +2.44 +2.6 +2.48 +2.06 +1.47 +0.91 +0.56 +0.49 +0.61 +0.76 +0.8 +0.68 +0.45 +0.23 +0.13 +0.18 +0.35 +0.55 +0.72 +0.82 +0.85 +0.85 +0.87 +0.95 +1.11 +1.31 +1.5 +1.59 +1.54 +1.39 +1.22 +1.15 +1.26 +1.52 +1.83 +2.05 +2.14 +2.16 +2.27 +2.64 +3.31 +4.17 +4.99 +5.51 +5.6 +5.29 +4.77 +4.23 +3.81 +3.51 +3.25 +2.94 +2.56 +2.2 +1.99 +2.0 +2.21 +2.47 +2.61 +2.5 +2.18 +1.77 +1.46 +1.37 +1.49 +1.72 +1.91 +1.95 +1.9 +1.85 +1.93 +2.16 +2.44 +2.6 +2.48 +2.06 +1.47 +0.91 +0.56 +0.49 +0.61 +0.76 +0.8 +0.68 +0.45 +0.23 +0.13 +0.18 +0.35 +0.55 +0.72 +0.82 +0.85 +0.85 +0.87 +0.95 +1.11 +1.31 +1.5 +1.59 +1.54 +1.39 +1.22 +1.15 +1.26 +1.52 +1.83 +2.05 +2.14 +2.16 +2.27 +2.64 +3.31 +4.17 +4.99 +5.51 +5.6 +5.29 +4.77 +4.23 +3.81 +3.51 +3.25 +2.94 +2.56 +2.2 +1.99 +2.0 +1.94 +2.04 +2.2 +2.25 +2.09 +1.76 +1.38 +1.11 +1.07 +1.23 +1.47 +1.64 +1.65 +1.54 +1.42 +1.41 +1.56 +1.78 +1.91 +1.82 +1.48 +1.0 +0.56 +0.3 +0.29 +0.42 +0.58 +0.61 +0.5 +0.28 +0.06 +0.0 +0.0 +0.02 +0.17 +0.3 +0.38 +0.42 +0.43 +0.47 +0.57 +0.74 +0.96 +1.18 +1.31 +1.32 +1.22 +1.1 +1.08 +1.21 +1.49 +1.82 +2.07 +2.22 +2.33 +2.55 +3.01 +3.74 +4.61 +5.41 +5.89 +5.95 +5.64 +5.14 +4.62 +4.2 +3.88 +3.56 +3.18 +2.74 +2.31 +2.01 +1.94 +2.04 +2.2 +2.25 +2.09 +1.76 +1.38 +1.11 +1.07 +1.23 +1.47 +1.64 +1.65 +1.54 +1.42 +1.41 +1.56 +1.78 +1.91 +1.82 +1.48 +1.0 +0.56 +0.3 +0.29 +0.42 +0.58 +0.61 +0.5 +0.28 +0.06 +0.0 +0.0 +0.02 +0.17 +0.3 +0.38 +0.42 +0.43 +0.47 +0.57 +0.74 +0.96 +1.18 +1.31 +1.32 +1.22 +1.1 +1.08 +1.21 +1.49 +1.82 +2.07 +2.22 +2.33 +2.55 +3.01 +3.74 +4.61 +5.41 +5.89 +5.95 +5.64 +5.14 +4.62 +4.2 +3.88 +3.56 +3.18 +2.74 +2.31 +2.01 +1.94 +1.77 +1.77 +1.84 +1.81 +1.62 +1.29 +0.94 +0.73 +0.73 +0.92 +1.18 +1.36 +1.37 +1.25 +1.11 +1.08 +1.2 +1.4 +1.54 +1.49 +1.24 +0.86 +0.53 +0.35 +0.38 +0.53 +0.67 +0.69 +0.57 +0.36 +0.14 +0.0 +0.0 +0.0 +0.07 +0.15 +0.19 +0.21 +0.22 +0.25 +0.33 +0.48 +0.68 +0.89 +1.02 +1.04 +0.98 +0.91 +0.92 +1.08 +1.37 +1.7 +1.97 +2.17 +2.36 +2.65 +3.17 +3.91 +4.75 +5.46 +5.87 +5.9 +5.61 +5.16 +4.71 +4.34 +4.03 +3.7 +3.27 +2.77 +2.28 +1.93 +1.77 +1.77 +1.84 +1.81 +1.62 +1.29 +0.94 +0.73 +0.73 +0.92 +1.18 +1.36 +1.37 +1.25 +1.11 +1.08 +1.2 +1.4 +1.54 +1.49 +1.24 +0.86 +0.53 +0.35 +0.38 +0.53 +0.67 +0.69 +0.57 +0.36 +0.14 +0.0 +0.0 +0.0 +0.07 +0.15 +0.19 +0.21 +0.22 +0.25 +0.33 +0.48 +0.68 +0.89 +1.02 +1.04 +0.98 +0.91 +0.92 +1.08 +1.37 +1.7 +1.97 +2.17 +2.36 +2.65 +3.17 +3.91 +4.75 +5.46 +5.87 +5.9 +5.61 +5.16 +4.71 +4.34 +4.03 +3.7 +3.27 +2.77 +2.28 +1.93 +1.77 +1.51 +1.45 +1.43 +1.36 +1.14 +0.82 +0.51 +0.34 +0.37 +0.58 +0.84 +1.03 +1.06 +0.97 +0.87 +0.88 +1.02 +1.24 +1.4 +1.4 +1.2 +0.91 +0.66 +0.56 +0.62 +0.77 +0.9 +0.91 +0.78 +0.58 +0.38 +0.24 +0.19 +0.2 +0.24 +0.28 +0.3 +0.3 +0.3 +0.31 +0.36 +0.47 +0.62 +0.76 +0.84 +0.84 +0.79 +0.74 +0.78 +0.95 +1.23 +1.54 +1.82 +2.04 +2.27 +2.61 +3.14 +3.83 +4.55 +5.15 +5.46 +5.44 +5.19 +4.82 +4.47 +4.18 +3.91 +3.59 +3.15 +2.63 +2.12 +1.73 +1.51 +1.45 +1.43 +1.36 +1.14 +0.82 +0.51 +0.34 +0.37 +0.58 +0.84 +1.03 +1.06 +0.97 +0.87 +0.88 +1.02 +1.24 +1.4 +1.4 +1.2 +0.91 +0.66 +0.56 +0.62 +0.77 +0.9 +0.91 +0.78 +0.58 +0.38 +0.24 +0.19 +0.2 +0.24 +0.28 +0.3 +0.3 +0.3 +0.31 +0.36 +0.47 +0.62 +0.76 +0.84 +0.84 +0.79 +0.74 +0.78 +0.95 +1.23 +1.54 +1.82 +2.04 +2.27 +2.61 +3.14 +3.83 +4.55 +5.15 +5.46 +5.44 +5.19 +4.82 +4.47 +4.18 +3.91 +3.59 +3.15 +2.63 +2.12 +1.73 +1.51 +1.21 +1.1 +1.04 +0.92 +0.7 +0.4 +0.12 +0.0 +0.02 +0.22 +0.47 +0.65 +0.71 +0.67 +0.64 +0.72 +0.91 +1.16 +1.33 +1.35 +1.19 +0.95 +0.75 +0.7 +0.79 +0.95 +1.06 +1.06 +0.93 +0.74 +0.58 +0.48 +0.46 +0.5 +0.55 +0.59 +0.61 +0.61 +0.61 +0.62 +0.65 +0.7 +0.76 +0.81 +0.81 +0.76 +0.68 +0.65 +0.7 +0.87 +1.13 +1.4 +1.65 +1.86 +2.1 +2.44 +2.92 +3.51 +4.09 +4.52 +4.71 +4.66 +4.44 +4.18 +3.95 +3.76 +3.56 +3.27 +2.86 +2.36 +1.86 +1.46 +1.21 +1.1 +1.04 +0.92 +0.7 +0.4 +0.12 +0.0 +0.02 +0.22 +0.47 +0.65 +0.71 +0.67 +0.64 +0.72 +0.91 +1.16 +1.33 +1.35 +1.19 +0.95 +0.75 +0.7 +0.79 +0.95 +1.06 +1.06 +0.93 +0.74 +0.58 +0.48 +0.46 +0.5 +0.55 +0.59 +0.61 +0.61 +0.61 +0.62 +0.65 +0.7 +0.76 +0.81 +0.81 +0.76 +0.68 +0.65 +0.7 +0.87 +1.13 +1.4 +1.65 +1.86 +2.1 +2.44 +2.92 +3.51 +4.09 +4.52 +4.71 +4.66 +4.44 +4.18 +3.95 +3.76 +3.56 +3.27 +2.86 +2.36 +1.86 +1.46 +1.21 +0.94 +0.79 +0.68 +0.54 +0.32 +0.06 +0.0 +0.0 +0.0 +0.0 +0.12 +0.29 +0.36 +0.37 +0.41 +0.55 +0.79 +1.05 +1.21 +1.21 +1.05 +0.82 +0.67 +0.65 +0.76 +0.92 +1.03 +1.01 +0.9 +0.74 +0.62 +0.59 +0.63 +0.72 +0.81 +0.88 +0.93 +0.97 +1.0 +1.02 +1.04 +1.04 +1.02 +0.96 +0.86 +0.75 +0.65 +0.62 +0.68 +0.84 +1.06 +1.29 +1.48 +1.67 +1.89 +2.19 +2.6 +3.06 +3.47 +3.73 +3.81 +3.73 +3.56 +3.4 +3.29 +3.2 +3.08 +2.85 +2.49 +2.04 +1.58 +1.2 +0.94 +0.79 +0.68 +0.54 +0.32 +0.06 +0.0 +0.0 +0.0 +0.0 +0.12 +0.29 +0.36 +0.37 +0.41 +0.55 +0.79 +1.05 +1.21 +1.21 +1.05 +0.82 +0.67 +0.65 +0.76 +0.92 +1.03 +1.01 +0.9 +0.74 +0.62 +0.59 +0.63 +0.72 +0.81 +0.88 +0.93 +0.97 +1.0 +1.02 +1.04 +1.04 +1.02 +0.96 +0.86 +0.75 +0.65 +0.62 +0.68 +0.84 +1.06 +1.29 +1.48 +1.67 +1.89 +2.19 +2.6 +3.06 +3.47 +3.73 +3.81 +3.73 +3.56 +3.4 +3.29 +3.2 +3.08 +2.85 +2.49 +2.04 +1.58 +1.2 +0.94 +0.79 +0.59 +0.44 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.1 +0.14 +0.23 +0.41 +0.65 +0.89 +1.02 +0.98 +0.79 +0.57 +0.43 +0.44 +0.57 +0.73 +0.83 +0.82 +0.72 +0.6 +0.54 +0.56 +0.67 +0.81 +0.94 +1.05 +1.15 +1.25 +1.33 +1.39 +1.4 +1.36 +1.26 +1.1 +0.93 +0.76 +0.66 +0.64 +0.72 +0.87 +1.06 +1.23 +1.37 +1.52 +1.71 +1.97 +2.29 +2.62 +2.87 +2.99 +2.97 +2.87 +2.76 +2.69 +2.68 +2.68 +2.63 +2.47 +2.19 +1.81 +1.41 +1.06 +0.79 +0.59 +0.44 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.1 +0.14 +0.23 +0.41 +0.65 +0.89 +1.02 +0.98 +0.79 +0.57 +0.43 +0.44 +0.57 +0.73 +0.83 +0.82 +0.72 +0.6 +0.54 +0.56 +0.67 +0.81 +0.94 +1.05 +1.15 +1.25 +1.33 +1.39 +1.4 +1.36 +1.26 +1.1 +0.93 +0.76 +0.66 +0.64 +0.72 +0.87 +1.06 +1.23 +1.37 +1.52 +1.71 +1.97 +2.29 +2.62 +2.87 +2.99 +2.97 +2.87 +2.76 +2.69 +2.68 +2.68 +2.63 +2.47 +2.19 +1.81 +1.41 +1.06 +0.79 +0.82 +0.58 +0.37 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.17 +0.35 +0.58 +0.78 +0.85 +0.77 +0.56 +0.35 +0.23 +0.25 +0.39 +0.55 +0.64 +0.63 +0.55 +0.47 +0.45 +0.52 +0.65 +0.81 +0.96 +1.1 +1.25 +1.4 +1.54 +1.64 +1.67 +1.59 +1.42 +1.2 +0.98 +0.81 +0.72 +0.74 +0.84 +1.0 +1.15 +1.28 +1.38 +1.5 +1.66 +1.87 +2.12 +2.34 +2.47 +2.48 +2.4 +2.29 +2.22 +2.22 +2.28 +2.34 +2.35 +2.26 +2.06 +1.77 +1.44 +1.11 +0.82 +0.58 +0.37 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.17 +0.35 +0.58 +0.78 +0.85 +0.77 +0.56 +0.35 +0.23 +0.25 +0.39 +0.55 +0.64 +0.63 +0.55 +0.47 +0.45 +0.52 +0.65 +0.81 +0.96 +1.1 +1.25 +1.4 +1.54 +1.64 +1.67 +1.59 +1.42 +1.2 +0.98 +0.81 +0.72 +0.74 +0.84 +1.0 +1.15 +1.28 +1.38 +1.5 +1.66 +1.87 +2.12 +2.34 +2.47 +2.48 +2.4 +2.29 +2.22 +2.22 +2.28 +2.34 +2.35 +2.26 +2.06 +1.77 +1.44 +1.11 +0.82 +1.07 +0.78 +0.51 +0.29 +0.11 +0.0 +0.0 +0.0 +0.0 +0.01 +0.09 +0.14 +0.18 +0.22 +0.31 +0.47 +0.66 +0.8 +0.83 +0.72 +0.52 +0.33 +0.24 +0.28 +0.41 +0.55 +0.63 +0.62 +0.55 +0.5 +0.5 +0.57 +0.69 +0.82 +0.96 +1.11 +1.29 +1.5 +1.7 +1.83 +1.86 +1.77 +1.57 +1.32 +1.09 +0.94 +0.9 +0.96 +1.1 +1.26 +1.4 +1.5 +1.58 +1.67 +1.81 +1.99 +2.18 +2.31 +2.36 +2.3 +2.19 +2.08 +2.03 +2.05 +2.13 +2.22 +2.27 +2.25 +2.13 +1.94 +1.68 +1.38 +1.07 +0.78 +0.51 +0.29 +0.11 +0.0 +0.0 +0.0 +0.0 +0.01 +0.09 +0.14 +0.18 +0.22 +0.31 +0.47 +0.66 +0.8 +0.83 +0.72 +0.52 +0.33 +0.24 +0.28 +0.41 +0.55 +0.63 +0.62 +0.55 +0.5 +0.5 +0.57 +0.69 +0.82 +0.96 +1.11 +1.29 +1.5 +1.7 +1.83 +1.86 +1.77 +1.57 +1.32 +1.09 +0.94 +0.9 +0.96 +1.1 +1.26 +1.4 +1.5 +1.58 +1.67 +1.81 +1.99 +2.18 +2.31 +2.36 +2.3 +2.19 +2.08 +2.03 +2.05 +2.13 +2.22 +2.27 +2.25 +2.13 +1.94 +1.68 +1.38 +1.07 +1.48 +1.15 +0.84 +0.59 +0.42 +0.33 +0.3 +0.32 +0.36 +0.42 +0.48 +0.51 +0.53 +0.56 +0.64 +0.76 +0.89 +0.98 +0.98 +0.88 +0.73 +0.58 +0.53 +0.57 +0.68 +0.79 +0.83 +0.81 +0.75 +0.7 +0.7 +0.74 +0.82 +0.91 +1.02 +1.17 +1.38 +1.63 +1.88 +2.04 +2.08 +1.98 +1.78 +1.55 +1.35 +1.24 +1.24 +1.34 +1.5 +1.67 +1.81 +1.9 +1.96 +2.03 +2.14 +2.28 +2.41 +2.49 +2.49 +2.41 +2.28 +2.16 +2.1 +2.12 +2.18 +2.27 +2.34 +2.37 +2.34 +2.24 +2.06 +1.8 +1.48 +1.15 +0.84 +0.59 +0.42 +0.33 +0.3 +0.32 +0.36 +0.42 +0.48 +0.51 +0.53 +0.56 +0.64 +0.76 +0.89 +0.98 +0.98 +0.88 +0.73 +0.58 +0.53 +0.57 +0.68 +0.79 +0.83 +0.81 +0.75 +0.7 +0.7 +0.74 +0.82 +0.91 +1.02 +1.17 +1.38 +1.63 +1.88 +2.04 +2.08 +1.98 +1.78 +1.55 +1.35 +1.24 +1.24 +1.34 +1.5 +1.67 +1.81 +1.9 +1.96 +2.03 +2.14 +2.28 +2.41 +2.49 +2.49 +2.41 +2.28 +2.16 +2.1 +2.12 +2.18 +2.27 +2.34 +2.37 +2.34 +2.24 +2.06 +1.8 +1.48 +1.91 +1.56 +1.23 +0.98 +0.81 +0.74 +0.72 +0.74 +0.78 +0.83 +0.88 +0.92 +0.95 +0.98 +1.03 +1.1 +1.18 +1.23 +1.24 +1.17 +1.08 +1.0 +0.97 +1.0 +1.07 +1.11 +1.11 +1.06 +1.0 +0.95 +0.93 +0.94 +0.98 +1.04 +1.15 +1.32 +1.57 +1.86 +2.13 +2.31 +2.36 +2.27 +2.09 +1.89 +1.74 +1.67 +1.71 +1.82 +1.98 +2.14 +2.27 +2.34 +2.39 +2.43 +2.49 +2.57 +2.65 +2.7 +2.68 +2.59 +2.47 +2.35 +2.26 +2.24 +2.26 +2.32 +2.41 +2.49 +2.55 +2.54 +2.43 +2.22 +1.91 +1.56 +1.23 +0.98 +0.81 +0.74 +0.72 +0.74 +0.78 +0.83 +0.88 +0.92 +0.95 +0.98 +1.03 +1.1 +1.18 +1.23 +1.24 +1.17 +1.08 +1.0 +0.97 +1.0 +1.07 +1.11 +1.11 +1.06 +1.0 +0.95 +0.93 +0.94 +0.98 +1.04 +1.15 +1.32 +1.57 +1.86 +2.13 +2.31 +2.36 +2.27 +2.09 +1.89 +1.74 +1.67 +1.71 +1.82 +1.98 +2.14 +2.27 +2.34 +2.39 +2.43 +2.49 +2.57 +2.65 +2.7 +2.68 +2.59 +2.47 +2.35 +2.26 +2.24 +2.26 +2.32 +2.41 +2.49 +2.55 +2.54 +2.43 +2.22 +1.91 +2.2 +1.87 +1.55 +1.3 +1.13 +1.04 +1.0 +0.99 +1.02 +1.06 +1.13 +1.2 +1.25 +1.29 +1.31 +1.32 +1.35 +1.37 +1.39 +1.38 +1.36 +1.33 +1.31 +1.31 +1.3 +1.28 +1.22 +1.15 +1.08 +1.03 +1.01 +1.02 +1.06 +1.14 +1.29 +1.53 +1.83 +2.16 +2.44 +2.61 +2.64 +2.56 +2.41 +2.26 +2.16 +2.11 +2.14 +2.23 +2.35 +2.48 +2.58 +2.64 +2.65 +2.64 +2.63 +2.63 +2.66 +2.68 +2.67 +2.62 +2.52 +2.39 +2.28 +2.2 +2.18 +2.22 +2.32 +2.45 +2.59 +2.67 +2.64 +2.48 +2.2 +1.87 +1.55 +1.3 +1.13 +1.04 +1.0 +0.99 +1.02 +1.06 +1.13 +1.2 +1.25 +1.29 +1.31 +1.32 +1.35 +1.37 +1.39 +1.38 +1.36 +1.33 +1.31 +1.31 +1.3 +1.28 +1.22 +1.15 +1.08 +1.03 +1.01 +1.02 +1.06 +1.14 +1.29 +1.53 +1.83 +2.16 +2.44 +2.61 +2.64 +2.56 +2.41 +2.26 +2.16 +2.11 +2.14 +2.23 +2.35 +2.48 +2.58 +2.64 +2.65 +2.64 +2.63 +2.63 +2.66 +2.68 +2.67 +2.62 +2.52 +2.39 +2.28 +2.2 +2.18 +2.22 +2.32 +2.45 +2.59 +2.67 +2.64 +2.48 +2.2 +2.23 +1.95 +1.66 +1.42 +1.25 +1.12 +1.03 +0.97 +0.96 +1.0 +1.09 +1.2 +1.29 +1.33 +1.31 +1.26 +1.23 +1.23 +1.27 +1.32 +1.35 +1.36 +1.33 +1.27 +1.19 +1.1 +1.02 +0.94 +0.89 +0.86 +0.85 +0.89 +0.98 +1.14 +1.4 +1.73 +2.1 +2.43 +2.68 +2.8 +2.79 +2.7 +2.58 +2.47 +2.38 +2.33 +2.31 +2.33 +2.39 +2.47 +2.54 +2.57 +2.54 +2.47 +2.37 +2.3 +2.27 +2.29 +2.32 +2.32 +2.26 +2.14 +2.01 +1.89 +1.83 +1.86 +1.98 +2.17 +2.38 +2.53 +2.56 +2.46 +2.23 +1.95 +1.66 +1.42 +1.25 +1.12 +1.03 +0.97 +0.96 +1.0 +1.09 +1.2 +1.29 +1.33 +1.31 +1.26 +1.23 +1.23 +1.27 +1.32 +1.35 +1.36 +1.33 +1.27 +1.19 +1.1 +1.02 +0.94 +0.89 +0.86 +0.85 +0.89 +0.98 +1.14 +1.4 +1.73 +2.1 +2.43 +2.68 +2.8 +2.79 +2.7 +2.58 +2.47 +2.38 +2.33 +2.31 +2.33 +2.39 +2.47 +2.54 +2.57 +2.54 +2.47 +2.37 +2.3 +2.27 +2.29 +2.32 +2.32 +2.26 +2.14 +2.01 +1.89 +1.83 +1.86 +1.98 +2.17 +2.38 +2.53 +2.56 +2.46 +2.23 +2.01 +1.78 +1.55 +1.33 +1.14 +0.96 +0.79 +0.67 +0.62 +0.66 +0.78 +0.93 +1.04 +1.06 +0.99 +0.88 +0.79 +0.77 +0.82 +0.92 +1.0 +1.02 +0.97 +0.86 +0.73 +0.61 +0.53 +0.49 +0.47 +0.48 +0.52 +0.62 +0.8 +1.08 +1.46 +1.88 +2.28 +2.59 +2.75 +2.77 +2.69 +2.56 +2.43 +2.33 +2.24 +2.15 +2.06 +2.0 +1.99 +2.02 +2.07 +2.08 +2.02 +1.87 +1.7 +1.56 +1.51 +1.54 +1.63 +1.7 +1.69 +1.6 +1.45 +1.3 +1.22 +1.26 +1.43 +1.67 +1.93 +2.13 +2.22 +2.17 +2.01 +1.78 +1.55 +1.33 +1.14 +0.96 +0.79 +0.67 +0.62 +0.66 +0.78 +0.93 +1.04 +1.06 +0.99 +0.88 +0.79 +0.77 +0.82 +0.92 +1.0 +1.02 +0.97 +0.86 +0.73 +0.61 +0.53 +0.49 +0.47 +0.48 +0.52 +0.62 +0.8 +1.08 +1.46 +1.88 +2.28 +2.59 +2.75 +2.77 +2.69 +2.56 +2.43 +2.33 +2.24 +2.15 +2.06 +2.0 +1.99 +2.02 +2.07 +2.08 +2.02 +1.87 +1.7 +1.56 +1.51 +1.54 +1.63 +1.7 +1.69 +1.6 +1.45 +1.3 +1.22 +1.26 +1.43 +1.67 +1.93 +2.13 +2.22 +2.17 +2.01 +1.63 +1.47 +1.29 +1.1 +0.89 +0.66 +0.42 +0.24 +0.15 +0.19 +0.34 +0.51 +0.62 +0.6 +0.47 +0.29 +0.16 +0.13 +0.21 +0.35 +0.47 +0.5 +0.42 +0.29 +0.15 +0.05 +0.01 +0.03 +0.07 +0.13 +0.22 +0.39 +0.66 +1.06 +1.53 +2.0 +2.38 +2.59 +2.61 +2.48 +2.28 +2.08 +1.93 +1.81 +1.7 +1.57 +1.42 +1.3 +1.24 +1.25 +1.3 +1.3 +1.22 +1.03 +0.81 +0.63 +0.57 +0.65 +0.8 +0.94 +0.99 +0.91 +0.75 +0.6 +0.52 +0.59 +0.79 +1.08 +1.38 +1.61 +1.73 +1.73 +1.63 +1.47 +1.29 +1.1 +0.89 +0.66 +0.42 +0.24 +0.15 +0.19 +0.34 +0.51 +0.62 +0.6 +0.47 +0.29 +0.16 +0.13 +0.21 +0.35 +0.47 +0.5 +0.42 +0.29 +0.15 +0.05 +0.01 +0.03 +0.07 +0.13 +0.22 +0.39 +0.66 +1.06 +1.53 +2.0 +2.38 +2.59 +2.61 +2.48 +2.28 +2.08 +1.93 +1.81 +1.7 +1.57 +1.42 +1.3 +1.24 +1.25 +1.3 +1.3 +1.22 +1.03 +0.81 +0.63 +0.57 +0.65 +0.8 +0.94 +0.99 +0.91 +0.75 +0.6 +0.52 +0.59 +0.79 +1.08 +1.38 +1.61 +1.73 +1.73 +1.63 +1.29 +1.2 +1.07 +0.9 +0.67 +0.39 +0.11 +0.0 +0.0 +0.0 +0.0 +0.14 +0.24 +0.19 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.09 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.2 +0.41 +0.74 +1.19 +1.68 +2.12 +2.4 +2.46 +2.3 +2.01 +1.69 +1.41 +1.22 +1.08 +0.95 +0.79 +0.62 +0.48 +0.42 +0.44 +0.51 +0.53 +0.44 +0.25 +0.01 +0.0 +0.0 +0.0 +0.13 +0.32 +0.4 +0.33 +0.17 +0.01 +0.0 +0.04 +0.27 +0.59 +0.9 +1.14 +1.28 +1.32 +1.29 +1.2 +1.07 +0.9 +0.67 +0.39 +0.11 +0.0 +0.0 +0.0 +0.0 +0.14 +0.24 +0.19 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.09 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.2 +0.41 +0.74 +1.19 +1.68 +2.12 +2.4 +2.46 +2.3 +2.01 +1.69 +1.41 +1.22 +1.08 +0.95 +0.79 +0.62 +0.48 +0.42 +0.44 +0.51 +0.53 +0.44 +0.25 +0.01 +0.0 +0.0 +0.0 +0.13 +0.32 +0.4 +0.33 +0.17 +0.01 +0.0 +0.04 +0.27 +0.59 +0.9 +1.14 +1.28 +1.32 +1.29 +1.15 +1.13 +1.05 +0.89 +0.65 +0.34 +0.03 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.28 +0.41 +0.56 +0.78 +1.11 +1.53 +1.96 +2.28 +2.4 +2.28 +1.96 +1.53 +1.11 +0.78 +0.56 +0.41 +0.28 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.03 +0.34 +0.65 +0.89 +1.05 +1.13 +1.15 +1.13 +1.05 +0.89 +0.65 +0.34 +0.03 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.28 +0.41 +0.56 +0.78 +1.11 +1.53 +1.96 +2.28 +2.4 +2.28 +1.96 +1.53 +1.11 +0.78 +0.56 +0.41 +0.28 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.03 +0.34 +0.65 +0.89 +1.05 +1.13 +1.15 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.55 +1.81 +2.05 +2.24 +2.31 +2.25 +2.08 +1.84 +1.59 +1.35 +1.12 +0.9 +0.7 +0.52 +0.41 +0.36 +0.35 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.26 +0.38 +0.41 +0.41 +0.44 +0.54 +0.69 +0.89 +1.1 +1.33 +1.56 +1.8 +2.02 +2.17 +2.23 +2.16 +1.99 +1.77 +1.53 +1.29 +1.07 +0.86 +0.66 +0.51 +0.43 +0.41 +0.41 +0.38 +0.27 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.25 +0.33 +0.35 +0.35 +0.39 +0.5 +0.67 +0.87 +1.08 +1.31 +1.55 +1.81 +2.05 +2.24 +2.31 +2.25 +2.08 +1.84 +1.59 +1.35 +1.12 +0.9 +0.7 +0.52 +0.41 +0.36 +0.35 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.26 +0.38 +0.41 +0.41 +0.44 +0.54 +0.69 +0.89 +1.1 +1.33 +1.56 +1.8 +2.02 +2.17 +2.23 +2.16 +1.99 +1.77 +1.53 +1.29 +1.07 +0.86 +0.66 +0.51 +0.43 +0.41 +0.41 +0.38 +0.27 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.25 +0.33 +0.35 +0.35 +0.39 +0.5 +0.67 +0.87 +1.08 +1.31 +1.55 +1.52 +1.83 +2.13 +2.36 +2.47 +2.42 +2.23 +1.96 +1.66 +1.38 +1.13 +0.89 +0.67 +0.49 +0.36 +0.3 +0.3 +0.3 +0.26 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.33 +0.45 +0.48 +0.46 +0.45 +0.5 +0.62 +0.8 +1.03 +1.28 +1.53 +1.78 +1.99 +2.13 +2.16 +2.08 +1.91 +1.67 +1.41 +1.16 +0.91 +0.7 +0.53 +0.43 +0.4 +0.43 +0.48 +0.47 +0.37 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.28 +0.3 +0.27 +0.24 +0.27 +0.38 +0.55 +0.75 +0.98 +1.23 +1.52 +1.83 +2.13 +2.36 +2.47 +2.42 +2.23 +1.96 +1.66 +1.38 +1.13 +0.89 +0.67 +0.49 +0.36 +0.3 +0.3 +0.3 +0.26 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.33 +0.45 +0.48 +0.46 +0.45 +0.5 +0.62 +0.8 +1.03 +1.28 +1.53 +1.78 +1.99 +2.13 +2.16 +2.08 +1.91 +1.67 +1.41 +1.16 +0.91 +0.7 +0.53 +0.43 +0.4 +0.43 +0.48 +0.47 +0.37 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.28 +0.3 +0.27 +0.24 +0.27 +0.38 +0.55 +0.75 +0.98 +1.23 +1.52 +1.39 +1.77 +2.15 +2.45 +2.6 +2.56 +2.36 +2.05 +1.71 +1.39 +1.12 +0.89 +0.67 +0.48 +0.33 +0.26 +0.26 +0.29 +0.3 +0.24 +0.11 +0.0 +0.0 +0.0 +0.0 +0.13 +0.34 +0.47 +0.51 +0.46 +0.4 +0.38 +0.45 +0.61 +0.85 +1.13 +1.41 +1.66 +1.86 +1.97 +1.98 +1.89 +1.71 +1.48 +1.21 +0.93 +0.66 +0.44 +0.3 +0.26 +0.31 +0.41 +0.49 +0.49 +0.38 +0.19 +0.0 +0.0 +0.0 +0.0 +0.13 +0.24 +0.26 +0.21 +0.13 +0.08 +0.1 +0.21 +0.37 +0.57 +0.79 +1.06 +1.39 +1.77 +2.15 +2.45 +2.6 +2.56 +2.36 +2.05 +1.71 +1.39 +1.12 +0.89 +0.67 +0.48 +0.33 +0.26 +0.26 +0.29 +0.3 +0.24 +0.11 +0.0 +0.0 +0.0 +0.0 +0.13 +0.34 +0.47 +0.51 +0.46 +0.4 +0.38 +0.45 +0.61 +0.85 +1.13 +1.41 +1.66 +1.86 +1.97 +1.98 +1.89 +1.71 +1.48 +1.21 +0.93 +0.66 +0.44 +0.3 +0.26 +0.31 +0.41 +0.49 +0.49 +0.38 +0.19 +0.0 +0.0 +0.0 +0.0 +0.13 +0.24 +0.26 +0.21 +0.13 +0.08 +0.1 +0.21 +0.37 +0.57 +0.79 +1.06 +1.39 +1.16 +1.58 +2.03 +2.39 +2.59 +2.58 +2.37 +2.04 +1.68 +1.37 +1.11 +0.91 +0.72 +0.54 +0.38 +0.28 +0.26 +0.31 +0.36 +0.35 +0.25 +0.08 +0.0 +0.0 +0.0 +0.04 +0.25 +0.41 +0.45 +0.38 +0.26 +0.18 +0.19 +0.32 +0.57 +0.87 +1.17 +1.43 +1.6 +1.67 +1.66 +1.56 +1.4 +1.19 +0.92 +0.63 +0.35 +0.13 +0.01 +0.03 +0.14 +0.29 +0.39 +0.37 +0.23 +0.03 +0.0 +0.0 +0.0 +0.0 +0.14 +0.2 +0.16 +0.05 +0.0 +0.0 +0.0 +0.03 +0.17 +0.34 +0.54 +0.8 +1.16 +1.58 +2.03 +2.39 +2.59 +2.58 +2.37 +2.04 +1.68 +1.37 +1.11 +0.91 +0.72 +0.54 +0.38 +0.28 +0.26 +0.31 +0.36 +0.35 +0.25 +0.08 +0.0 +0.0 +0.0 +0.04 +0.25 +0.41 +0.45 +0.38 +0.26 +0.18 +0.19 +0.32 +0.57 +0.87 +1.17 +1.43 +1.6 +1.67 +1.66 +1.56 +1.4 +1.19 +0.92 +0.63 +0.35 +0.13 +0.01 +0.03 +0.14 +0.29 +0.39 +0.37 +0.23 +0.03 +0.0 +0.0 +0.0 +0.0 +0.14 +0.2 +0.16 +0.05 +0.0 +0.0 +0.0 +0.03 +0.17 +0.34 +0.54 +0.8 +1.16 +0.84 +1.29 +1.78 +2.19 +2.43 +2.44 +2.25 +1.93 +1.59 +1.31 +1.11 +0.97 +0.83 +0.66 +0.49 +0.37 +0.32 +0.36 +0.43 +0.44 +0.35 +0.15 +0.0 +0.0 +0.0 +0.0 +0.1 +0.29 +0.35 +0.27 +0.1 +0.0 +0.0 +0.02 +0.27 +0.59 +0.9 +1.14 +1.27 +1.31 +1.28 +1.19 +1.07 +0.89 +0.65 +0.36 +0.07 +0.0 +0.0 +0.0 +0.0 +0.14 +0.22 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.26 +0.49 +0.84 +1.29 +1.78 +2.19 +2.43 +2.44 +2.25 +1.93 +1.59 +1.31 +1.11 +0.97 +0.83 +0.66 +0.49 +0.37 +0.32 +0.36 +0.43 +0.44 +0.35 +0.15 +0.0 +0.0 +0.0 +0.0 +0.1 +0.29 +0.35 +0.27 +0.1 +0.0 +0.0 +0.02 +0.27 +0.59 +0.9 +1.14 +1.27 +1.31 +1.28 +1.19 +1.07 +0.89 +0.65 +0.36 +0.07 +0.0 +0.0 +0.0 +0.0 +0.14 +0.22 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.26 +0.49 +0.84 +0.53 +0.99 +1.5 +1.94 +2.2 +2.24 +2.06 +1.77 +1.47 +1.26 +1.14 +1.07 +0.98 +0.84 +0.66 +0.49 +0.41 +0.42 +0.49 +0.51 +0.41 +0.18 +0.0 +0.0 +0.0 +0.0 +0.01 +0.22 +0.31 +0.22 +0.02 +0.0 +0.0 +0.0 +0.1 +0.43 +0.73 +0.94 +1.03 +1.03 +0.98 +0.92 +0.83 +0.7 +0.49 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.2 +0.53 +0.99 +1.5 +1.94 +2.2 +2.24 +2.06 +1.77 +1.47 +1.26 +1.14 +1.07 +0.98 +0.84 +0.66 +0.49 +0.41 +0.42 +0.49 +0.51 +0.41 +0.18 +0.0 +0.0 +0.0 +0.0 +0.01 +0.22 +0.31 +0.22 +0.02 +0.0 +0.0 +0.0 +0.1 +0.43 +0.73 +0.94 +1.03 +1.03 +0.98 +0.92 +0.83 +0.7 +0.49 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.2 +0.53 +0.33 +0.79 +1.31 +1.76 +2.03 +2.07 +1.91 +1.65 +1.41 +1.26 +1.22 +1.21 +1.16 +1.02 +0.81 +0.61 +0.49 +0.48 +0.55 +0.57 +0.48 +0.24 +0.0 +0.0 +0.0 +0.0 +0.06 +0.3 +0.4 +0.32 +0.1 +0.0 +0.0 +0.0 +0.16 +0.48 +0.77 +0.94 +0.99 +0.97 +0.91 +0.86 +0.81 +0.71 +0.53 +0.27 +0.0 +0.0 +0.0 +0.0 +0.01 +0.18 +0.2 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.33 +0.79 +1.31 +1.76 +2.03 +2.07 +1.91 +1.65 +1.41 +1.26 +1.22 +1.21 +1.16 +1.02 +0.81 +0.61 +0.49 +0.48 +0.55 +0.57 +0.48 +0.24 +0.0 +0.0 +0.0 +0.0 +0.06 +0.3 +0.4 +0.32 +0.1 +0.0 +0.0 +0.0 +0.16 +0.48 +0.77 +0.94 +0.99 +0.97 +0.91 +0.86 +0.81 +0.71 +0.53 +0.27 +0.0 +0.0 +0.0 +0.0 +0.01 +0.18 +0.2 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.33 +0.31 +0.78 +1.3 +1.74 +2.0 +2.02 +1.86 +1.63 +1.44 +1.35 +1.36 +1.39 +1.34 +1.18 +0.94 +0.7 +0.56 +0.55 +0.63 +0.67 +0.58 +0.35 +0.05 +0.0 +0.0 +0.0 +0.26 +0.52 +0.62 +0.53 +0.3 +0.09 +0.02 +0.13 +0.4 +0.72 +0.99 +1.14 +1.16 +1.11 +1.05 +1.02 +0.99 +0.91 +0.75 +0.5 +0.23 +0.02 +0.0 +0.11 +0.33 +0.5 +0.51 +0.31 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.27 +0.22 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.31 +0.78 +1.3 +1.74 +2.0 +2.02 +1.86 +1.63 +1.44 +1.35 +1.36 +1.39 +1.34 +1.18 +0.94 +0.7 +0.56 +0.55 +0.63 +0.67 +0.58 +0.35 +0.05 +0.0 +0.0 +0.0 +0.26 +0.52 +0.62 +0.53 +0.3 +0.09 +0.02 +0.13 +0.4 +0.72 +0.99 +1.14 +1.16 +1.11 +1.05 +1.02 +0.99 +0.91 +0.75 +0.5 +0.23 +0.02 +0.0 +0.11 +0.33 +0.5 +0.51 +0.31 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.27 +0.22 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.31 +0.45 +0.92 +1.44 +1.86 +2.07 +2.07 +1.9 +1.69 +1.55 +1.51 +1.56 +1.59 +1.53 +1.33 +1.06 +0.8 +0.67 +0.69 +0.78 +0.84 +0.76 +0.52 +0.23 +0.03 +0.03 +0.22 +0.52 +0.77 +0.84 +0.72 +0.49 +0.3 +0.25 +0.4 +0.68 +1.0 +1.25 +1.37 +1.38 +1.33 +1.27 +1.25 +1.23 +1.17 +1.02 +0.77 +0.51 +0.33 +0.31 +0.48 +0.73 +0.92 +0.94 +0.74 +0.43 +0.15 +0.06 +0.18 +0.44 +0.67 +0.74 +0.62 +0.39 +0.17 +0.05 +0.07 +0.14 +0.19 +0.15 +0.06 +0.03 +0.14 +0.45 +0.92 +1.44 +1.86 +2.07 +2.07 +1.9 +1.69 +1.55 +1.51 +1.56 +1.59 +1.53 +1.33 +1.06 +0.8 +0.67 +0.69 +0.78 +0.84 +0.76 +0.52 +0.23 +0.03 +0.03 +0.22 +0.52 +0.77 +0.84 +0.72 +0.49 +0.3 +0.25 +0.4 +0.68 +1.0 +1.25 +1.37 +1.38 +1.33 +1.27 +1.25 +1.23 +1.17 +1.02 +0.77 +0.51 +0.33 +0.31 +0.48 +0.73 +0.92 +0.94 +0.74 +0.43 +0.15 +0.06 +0.18 +0.44 +0.67 +0.74 +0.62 +0.39 +0.17 +0.05 +0.07 +0.14 +0.19 +0.15 +0.06 +0.03 +0.14 +0.45 +0.66 +1.12 +1.62 +2.0 +2.17 +2.13 +1.95 +1.77 +1.68 +1.7 +1.78 +1.82 +1.74 +1.52 +1.23 +1.0 +0.92 +0.97 +1.09 +1.14 +1.02 +0.75 +0.44 +0.24 +0.24 +0.44 +0.71 +0.9 +0.92 +0.77 +0.53 +0.36 +0.35 +0.52 +0.81 +1.11 +1.34 +1.44 +1.45 +1.4 +1.36 +1.35 +1.34 +1.28 +1.14 +0.91 +0.67 +0.51 +0.53 +0.73 +1.01 +1.24 +1.27 +1.11 +0.82 +0.59 +0.54 +0.7 +0.97 +1.2 +1.23 +1.06 +0.77 +0.51 +0.38 +0.39 +0.46 +0.49 +0.43 +0.31 +0.25 +0.35 +0.66 +1.12 +1.62 +2.0 +2.17 +2.13 +1.95 +1.77 +1.68 +1.7 +1.78 +1.82 +1.74 +1.52 +1.23 +1.0 +0.92 +0.97 +1.09 +1.14 +1.02 +0.75 +0.44 +0.24 +0.24 +0.44 +0.71 +0.9 +0.92 +0.77 +0.53 +0.36 +0.35 +0.52 +0.81 +1.11 +1.34 +1.44 +1.45 +1.4 +1.36 +1.35 +1.34 +1.28 +1.14 +0.91 +0.67 +0.51 +0.53 +0.73 +1.01 +1.24 +1.27 +1.11 +0.82 +0.59 +0.54 +0.7 +0.97 +1.2 +1.23 +1.06 +0.77 +0.51 +0.38 +0.39 +0.46 +0.49 +0.43 +0.31 +0.25 +0.35 +0.66 +0.84 +1.28 +1.74 +2.07 +2.19 +2.11 +1.93 +1.79 +1.76 +1.86 +1.99 +2.06 +1.99 +1.78 +1.54 +1.38 +1.38 +1.5 +1.62 +1.62 +1.41 +1.05 +0.66 +0.41 +0.38 +0.54 +0.76 +0.88 +0.82 +0.61 +0.37 +0.22 +0.24 +0.43 +0.71 +0.98 +1.16 +1.23 +1.23 +1.19 +1.17 +1.18 +1.18 +1.13 +0.99 +0.78 +0.57 +0.45 +0.5 +0.73 +1.03 +1.27 +1.33 +1.19 +0.95 +0.76 +0.77 +0.98 +1.3 +1.55 +1.59 +1.4 +1.09 +0.82 +0.69 +0.71 +0.79 +0.82 +0.74 +0.59 +0.49 +0.56 +0.84 +1.28 +1.74 +2.07 +2.19 +2.11 +1.93 +1.79 +1.76 +1.86 +1.99 +2.06 +1.99 +1.78 +1.54 +1.38 +1.38 +1.5 +1.62 +1.62 +1.41 +1.05 +0.66 +0.41 +0.38 +0.54 +0.76 +0.88 +0.82 +0.61 +0.37 +0.22 +0.24 +0.43 +0.71 +0.98 +1.16 +1.23 +1.23 +1.19 +1.17 +1.18 +1.18 +1.13 +0.99 +0.78 +0.57 +0.45 +0.5 +0.73 +1.03 +1.27 +1.33 +1.19 +0.95 +0.76 +0.77 +0.98 +1.3 +1.55 +1.59 +1.4 +1.09 +0.82 +0.69 +0.71 +0.79 +0.82 +0.74 +0.59 +0.49 +0.56 +0.84 +0.94 +1.34 +1.75 +2.03 +2.1 +1.99 +1.82 +1.72 +1.78 +1.96 +2.18 +2.31 +2.28 +2.14 +2.0 +1.97 +2.08 +2.28 +2.4 +2.3 +1.94 +1.42 +0.91 +0.58 +0.49 +0.6 +0.74 +0.77 +0.63 +0.37 +0.11 +0.0 +0.03 +0.22 +0.47 +0.68 +0.79 +0.81 +0.77 +0.74 +0.73 +0.75 +0.77 +0.73 +0.6 +0.42 +0.23 +0.14 +0.21 +0.45 +0.76 +1.01 +1.07 +0.94 +0.72 +0.59 +0.66 +0.95 +1.35 +1.66 +1.74 +1.58 +1.29 +1.04 +0.94 +0.99 +1.1 +1.14 +1.04 +0.85 +0.69 +0.71 +0.94 +1.34 +1.75 +2.03 +2.1 +1.99 +1.82 +1.72 +1.78 +1.96 +2.18 +2.31 +2.28 +2.14 +2.0 +1.97 +2.08 +2.28 +2.4 +2.3 +1.94 +1.42 +0.91 +0.58 +0.49 +0.6 +0.74 +0.77 +0.63 +0.37 +0.11 +0.0 +0.03 +0.22 +0.47 +0.68 +0.79 +0.81 +0.77 +0.74 +0.73 +0.75 +0.77 +0.73 +0.6 +0.42 +0.23 +0.14 +0.21 +0.45 +0.76 +1.01 +1.07 +0.94 +0.72 +0.59 +0.66 +0.95 +1.35 +1.66 +1.74 +1.58 +1.29 +1.04 +0.94 +0.99 +1.1 +1.14 +1.04 +0.85 +0.69 +0.71 +0.94 +0.99 +1.35 +1.72 +1.95 +1.96 +1.82 +1.64 +1.59 +1.73 +2.01 +2.31 +2.52 +2.59 +2.56 +2.57 +2.71 +2.97 +3.24 +3.34 +3.13 +2.6 +1.89 +1.23 +0.81 +0.67 +0.72 +0.8 +0.74 +0.53 +0.22 +0.0 +0.0 +0.0 +0.11 +0.3 +0.42 +0.44 +0.38 +0.3 +0.24 +0.24 +0.27 +0.29 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.04 +0.34 +0.57 +0.62 +0.49 +0.28 +0.18 +0.31 +0.69 +1.19 +1.6 +1.76 +1.66 +1.42 +1.2 +1.13 +1.22 +1.36 +1.41 +1.29 +1.05 +0.84 +0.8 +0.99 +1.35 +1.72 +1.95 +1.96 +1.82 +1.64 +1.59 +1.73 +2.01 +2.31 +2.52 +2.59 +2.56 +2.57 +2.71 +2.97 +3.24 +3.34 +3.13 +2.6 +1.89 +1.23 +0.81 +0.67 +0.72 +0.8 +0.74 +0.53 +0.22 +0.0 +0.0 +0.0 +0.11 +0.3 +0.42 +0.44 +0.38 +0.3 +0.24 +0.24 +0.27 +0.29 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.04 +0.34 +0.57 +0.62 +0.49 +0.28 +0.18 +0.31 +0.69 +1.19 +1.6 +1.76 +1.66 +1.42 +1.2 +1.13 +1.22 +1.36 +1.41 +1.29 +1.05 +0.84 +0.8 +0.99 +1.04 +1.38 +1.72 +1.92 +1.89 +1.7 +1.51 +1.47 +1.65 +2.0 +2.39 +2.68 +2.85 +2.96 +3.13 +3.45 +3.87 +4.23 +4.31 +3.98 +3.28 +2.41 +1.64 +1.14 +0.97 +1.0 +1.03 +0.92 +0.65 +0.31 +0.06 +0.0 +0.07 +0.25 +0.39 +0.42 +0.34 +0.19 +0.05 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.24 +0.09 +0.0 +0.0 +0.0 +0.45 +1.05 +1.57 +1.82 +1.78 +1.57 +1.37 +1.31 +1.42 +1.57 +1.61 +1.47 +1.2 +0.95 +0.87 +1.04 +1.38 +1.72 +1.92 +1.89 +1.7 +1.51 +1.47 +1.65 +2.0 +2.39 +2.68 +2.85 +2.96 +3.13 +3.45 +3.87 +4.23 +4.31 +3.98 +3.28 +2.41 +1.64 +1.14 +0.97 +1.0 +1.03 +0.92 +0.65 +0.31 +0.06 +0.0 +0.07 +0.25 +0.39 +0.42 +0.34 +0.19 +0.05 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.21 +0.24 +0.09 +0.0 +0.0 +0.0 +0.45 +1.05 +1.57 +1.82 +1.78 +1.57 +1.37 +1.31 +1.42 +1.57 +1.61 +1.47 +1.2 +0.95 +0.87 +1.04 +1.15 +1.5 +1.85 +2.02 +1.94 +1.7 +1.47 +1.41 +1.6 +1.98 +2.4 +2.75 +3.0 +3.22 +3.55 +4.03 +4.58 +5.0 +5.07 +4.65 +3.84 +2.86 +2.02 +1.52 +1.36 +1.39 +1.41 +1.27 +0.97 +0.63 +0.4 +0.36 +0.48 +0.66 +0.77 +0.73 +0.58 +0.36 +0.16 +0.04 +0.02 +0.05 +0.09 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.47 +1.16 +1.77 +2.08 +2.07 +1.85 +1.63 +1.54 +1.61 +1.73 +1.75 +1.59 +1.3 +1.04 +0.97 +1.15 +1.5 +1.85 +2.02 +1.94 +1.7 +1.47 +1.41 +1.6 +1.98 +2.4 +2.75 +3.0 +3.22 +3.55 +4.03 +4.58 +5.0 +5.07 +4.65 +3.84 +2.86 +2.02 +1.52 +1.36 +1.39 +1.41 +1.27 +0.97 +0.63 +0.4 +0.36 +0.48 +0.66 +0.77 +0.73 +0.58 +0.36 +0.16 +0.04 +0.02 +0.05 +0.09 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.47 +1.16 +1.77 +2.08 +2.07 +1.85 +1.63 +1.54 +1.61 +1.73 +1.75 +1.59 +1.3 +1.04 +0.97 +1.15 +1.34 +1.73 +2.09 +2.24 +2.12 +1.82 +1.52 +1.41 +1.57 +1.93 +2.35 +2.71 +2.99 +3.28 +3.69 +4.27 +4.9 +5.36 +5.41 +4.95 +4.07 +3.07 +2.23 +1.77 +1.66 +1.73 +1.77 +1.63 +1.32 +0.99 +0.79 +0.79 +0.95 +1.15 +1.26 +1.21 +1.02 +0.77 +0.55 +0.43 +0.41 +0.46 +0.51 +0.49 +0.35 +0.13 +0.0 +0.0 +0.0 +0.0 +0.23 +0.41 +0.41 +0.22 +0.0 +0.0 +0.23 +0.85 +1.63 +2.29 +2.64 +2.61 +2.34 +2.03 +1.86 +1.85 +1.91 +1.88 +1.69 +1.4 +1.15 +1.12 +1.34 +1.73 +2.09 +2.24 +2.12 +1.82 +1.52 +1.41 +1.57 +1.93 +2.35 +2.71 +2.99 +3.28 +3.69 +4.27 +4.9 +5.36 +5.41 +4.95 +4.07 +3.07 +2.23 +1.77 +1.66 +1.73 +1.77 +1.63 +1.32 +0.99 +0.79 +0.79 +0.95 +1.15 +1.26 +1.21 +1.02 +0.77 +0.55 +0.43 +0.41 +0.46 +0.51 +0.49 +0.35 +0.13 +0.0 +0.0 +0.0 +0.0 +0.23 +0.41 +0.41 +0.22 +0.0 +0.0 +0.23 +0.85 +1.63 +2.29 +2.64 +2.61 +2.34 +2.03 +1.86 +1.85 +1.91 +1.88 +1.69 +1.4 +1.15 +1.12 +1.34 +1.57 +1.99 +2.36 +2.49 +2.33 +1.97 +1.61 +1.45 +1.56 +1.88 +2.26 +2.58 +2.84 +3.11 +3.53 +4.12 +4.76 +5.21 +5.23 +4.75 +3.87 +2.9 +2.12 +1.73 +1.69 +1.82 +1.88 +1.76 +1.47 +1.16 +0.99 +1.03 +1.23 +1.46 +1.6 +1.57 +1.41 +1.18 +0.98 +0.88 +0.9 +0.98 +1.06 +1.06 +0.94 +0.7 +0.43 +0.26 +0.27 +0.46 +0.73 +0.93 +0.93 +0.74 +0.53 +0.52 +0.86 +1.55 +2.39 +3.1 +3.44 +3.37 +3.01 +2.58 +2.29 +2.17 +2.13 +2.03 +1.81 +1.51 +1.29 +1.3 +1.57 +1.99 +2.36 +2.49 +2.33 +1.97 +1.61 +1.45 +1.56 +1.88 +2.26 +2.58 +2.84 +3.11 +3.53 +4.12 +4.76 +5.21 +5.23 +4.75 +3.87 +2.9 +2.12 +1.73 +1.69 +1.82 +1.88 +1.76 +1.47 +1.16 +0.99 +1.03 +1.23 +1.46 +1.6 +1.57 +1.41 +1.18 +0.98 +0.88 +0.9 +0.98 +1.06 +1.06 +0.94 +0.7 +0.43 +0.26 +0.27 +0.46 +0.73 +0.93 +0.93 +0.74 +0.53 +0.52 +0.86 +1.55 +2.39 +3.1 +3.44 +3.37 +3.01 +2.58 +2.29 +2.17 +2.13 +2.03 +1.81 +1.51 +1.29 +1.3 +1.57 +1.76 +2.19 +2.55 +2.65 +2.45 +2.05 +1.66 +1.46 +1.54 +1.82 +2.14 +2.4 +2.58 +2.78 +3.12 +3.63 +4.2 +4.59 +4.58 +4.1 +3.26 +2.35 +1.67 +1.36 +1.39 +1.56 +1.65 +1.55 +1.28 +1.0 +0.85 +0.92 +1.14 +1.4 +1.58 +1.61 +1.5 +1.33 +1.19 +1.15 +1.21 +1.35 +1.48 +1.53 +1.43 +1.2 +0.93 +0.75 +0.76 +0.96 +1.25 +1.46 +1.48 +1.33 +1.16 +1.21 +1.63 +2.39 +3.29 +4.02 +4.34 +4.2 +3.75 +3.21 +2.8 +2.56 +2.42 +2.25 +1.98 +1.66 +1.45 +1.47 +1.76 +2.19 +2.55 +2.65 +2.45 +2.05 +1.66 +1.46 +1.54 +1.82 +2.14 +2.4 +2.58 +2.78 +3.12 +3.63 +4.2 +4.59 +4.58 +4.1 +3.26 +2.35 +1.67 +1.36 +1.39 +1.56 +1.65 +1.55 +1.28 +1.0 +0.85 +0.92 +1.14 +1.4 +1.58 +1.61 +1.5 +1.33 +1.19 +1.15 +1.21 +1.35 +1.48 +1.53 +1.43 +1.2 +0.93 +0.75 +0.76 +0.96 +1.25 +1.46 +1.48 +1.33 +1.16 +1.21 +1.63 +2.39 +3.29 +4.02 +4.34 +4.2 +3.75 +3.21 +2.8 +2.56 +2.42 +2.25 +1.98 +1.66 +1.45 +1.47 +1.76 +1.87 +2.26 +2.58 +2.65 +2.42 +2.0 +1.61 +1.42 +1.49 +1.74 +2.02 +2.21 +2.29 +2.37 +2.57 +2.95 +3.4 +3.7 +3.66 +3.19 +2.42 +1.61 +1.02 +0.79 +0.86 +1.06 +1.17 +1.08 +0.84 +0.58 +0.44 +0.5 +0.72 +0.99 +1.19 +1.27 +1.24 +1.14 +1.07 +1.08 +1.2 +1.39 +1.58 +1.67 +1.62 +1.43 +1.18 +1.02 +1.05 +1.27 +1.58 +1.82 +1.88 +1.77 +1.68 +1.82 +2.33 +3.16 +4.1 +4.84 +5.13 +4.95 +4.43 +3.82 +3.32 +3.0 +2.77 +2.53 +2.2 +1.85 +1.61 +1.61 +1.87 +2.26 +2.58 +2.65 +2.42 +2.0 +1.61 +1.42 +1.49 +1.74 +2.02 +2.21 +2.29 +2.37 +2.57 +2.95 +3.4 +3.7 +3.66 +3.19 +2.42 +1.61 +1.02 +0.79 +0.86 +1.06 +1.17 +1.08 +0.84 +0.58 +0.44 +0.5 +0.72 +0.99 +1.19 +1.27 +1.24 +1.14 +1.07 +1.08 +1.2 +1.39 +1.58 +1.67 +1.62 +1.43 +1.18 +1.02 +1.05 +1.27 +1.58 +1.82 +1.88 +1.77 +1.68 +1.82 +2.33 +3.16 +4.1 +4.84 +5.13 +4.95 +4.43 +3.82 +3.32 +3.0 +2.77 +2.53 +2.2 +1.85 +1.61 +1.61 +1.87 +1.89 +2.21 +2.46 +2.47 +2.22 +1.82 +1.45 +1.3 +1.39 +1.64 +1.9 +2.02 +2.01 +1.97 +2.04 +2.27 +2.59 +2.81 +2.75 +2.32 +1.64 +0.93 +0.43 +0.26 +0.36 +0.57 +0.68 +0.6 +0.37 +0.12 +0.0 +0.01 +0.19 +0.43 +0.63 +0.74 +0.75 +0.72 +0.7 +0.75 +0.9 +1.13 +1.35 +1.49 +1.48 +1.34 +1.14 +1.02 +1.07 +1.32 +1.65 +1.92 +2.02 +1.98 +1.98 +2.22 +2.81 +3.71 +4.66 +5.38 +5.66 +5.45 +4.91 +4.29 +3.77 +3.41 +3.13 +2.83 +2.45 +2.05 +1.76 +1.7 +1.89 +2.21 +2.46 +2.47 +2.22 +1.82 +1.45 +1.3 +1.39 +1.64 +1.9 +2.02 +2.01 +1.97 +2.04 +2.27 +2.59 +2.81 +2.75 +2.32 +1.64 +0.93 +0.43 +0.26 +0.36 +0.57 +0.68 +0.6 +0.37 +0.12 +0.0 +0.01 +0.19 +0.43 +0.63 +0.74 +0.75 +0.72 +0.7 +0.75 +0.9 +1.13 +1.35 +1.49 +1.48 +1.34 +1.14 +1.02 +1.07 +1.32 +1.65 +1.92 +2.02 +1.98 +1.98 +2.22 +2.81 +3.71 +4.66 +5.38 +5.66 +5.45 +4.91 +4.29 +3.77 +3.41 +3.13 +2.83 +2.45 +2.05 +1.76 +1.7 +1.89 +1.85 +2.07 +2.23 +2.2 +1.93 +1.55 +1.23 +1.11 +1.24 +1.51 +1.75 +1.84 +1.77 +1.65 +1.61 +1.74 +1.97 +2.14 +2.08 +1.71 +1.14 +0.54 +0.13 +0.02 +0.13 +0.33 +0.43 +0.35 +0.13 +0.0 +0.0 +0.0 +0.0 +0.01 +0.18 +0.28 +0.31 +0.3 +0.31 +0.38 +0.53 +0.75 +0.98 +1.13 +1.15 +1.04 +0.89 +0.81 +0.91 +1.18 +1.52 +1.8 +1.94 +1.97 +2.06 +2.39 +3.04 +3.95 +4.88 +5.56 +5.8 +5.59 +5.09 +4.51 +4.04 +3.7 +3.41 +3.08 +2.66 +2.21 +1.87 +1.74 +1.85 +2.07 +2.23 +2.2 +1.93 +1.55 +1.23 +1.11 +1.24 +1.51 +1.75 +1.84 +1.77 +1.65 +1.61 +1.74 +1.97 +2.14 +2.08 +1.71 +1.14 +0.54 +0.13 +0.02 +0.13 +0.33 +0.43 +0.35 +0.13 +0.0 +0.0 +0.0 +0.0 +0.01 +0.18 +0.28 +0.31 +0.3 +0.31 +0.38 +0.53 +0.75 +0.98 +1.13 +1.15 +1.04 +0.89 +0.81 +0.91 +1.18 +1.52 +1.8 +1.94 +1.97 +2.06 +2.39 +3.04 +3.95 +4.88 +5.56 +5.8 +5.59 +5.09 +4.51 +4.04 +3.7 +3.41 +3.08 +2.66 +2.21 +1.87 +1.74 +1.85 +1.75 +1.89 +1.97 +1.88 +1.6 +1.24 +0.95 +0.87 +1.02 +1.3 +1.54 +1.62 +1.54 +1.39 +1.32 +1.4 +1.6 +1.77 +1.75 +1.47 +1.0 +0.52 +0.2 +0.13 +0.26 +0.43 +0.51 +0.43 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.12 +0.14 +0.13 +0.13 +0.19 +0.32 +0.5 +0.69 +0.81 +0.81 +0.72 +0.6 +0.57 +0.7 +0.98 +1.31 +1.59 +1.75 +1.83 +1.99 +2.36 +3.03 +3.9 +4.74 +5.33 +5.52 +5.33 +4.9 +4.43 +4.05 +3.78 +3.53 +3.2 +2.77 +2.3 +1.92 +1.73 +1.75 +1.89 +1.97 +1.88 +1.6 +1.24 +0.95 +0.87 +1.02 +1.3 +1.54 +1.62 +1.54 +1.39 +1.32 +1.4 +1.6 +1.77 +1.75 +1.47 +1.0 +0.52 +0.2 +0.13 +0.26 +0.43 +0.51 +0.43 +0.2 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.12 +0.14 +0.13 +0.13 +0.19 +0.32 +0.5 +0.69 +0.81 +0.81 +0.72 +0.6 +0.57 +0.7 +0.98 +1.31 +1.59 +1.75 +1.83 +1.99 +2.36 +3.03 +3.9 +4.74 +5.33 +5.52 +5.33 +4.9 +4.43 +4.05 +3.78 +3.53 +3.2 +2.77 +2.3 +1.92 +1.73 +1.75 +1.63 +1.69 +1.7 +1.57 +1.27 +0.92 +0.65 +0.58 +0.73 +1.0 +1.24 +1.33 +1.28 +1.16 +1.12 +1.22 +1.44 +1.64 +1.67 +1.47 +1.11 +0.73 +0.49 +0.47 +0.61 +0.77 +0.83 +0.73 +0.5 +0.24 +0.06 +0.0 +0.05 +0.14 +0.23 +0.28 +0.29 +0.28 +0.27 +0.31 +0.39 +0.51 +0.62 +0.67 +0.63 +0.52 +0.42 +0.42 +0.56 +0.83 +1.14 +1.39 +1.53 +1.63 +1.81 +2.2 +2.82 +3.58 +4.29 +4.75 +4.88 +4.7 +4.37 +4.04 +3.8 +3.63 +3.44 +3.15 +2.74 +2.27 +1.88 +1.67 +1.63 +1.69 +1.7 +1.57 +1.27 +0.92 +0.65 +0.58 +0.73 +1.0 +1.24 +1.33 +1.28 +1.16 +1.12 +1.22 +1.44 +1.64 +1.67 +1.47 +1.11 +0.73 +0.49 +0.47 +0.61 +0.77 +0.83 +0.73 +0.5 +0.24 +0.06 +0.0 +0.05 +0.14 +0.23 +0.28 +0.29 +0.28 +0.27 +0.31 +0.39 +0.51 +0.62 +0.67 +0.63 +0.52 +0.42 +0.42 +0.56 +0.83 +1.14 +1.39 +1.53 +1.63 +1.81 +2.2 +2.82 +3.58 +4.29 +4.75 +4.88 +4.7 +4.37 +4.04 +3.8 +3.63 +3.44 +3.15 +2.74 +2.27 +1.88 +1.67 +1.63 +1.48 +1.47 +1.43 +1.25 +0.94 +0.59 +0.32 +0.25 +0.38 +0.63 +0.86 +0.97 +0.95 +0.9 +0.93 +1.09 +1.35 +1.58 +1.66 +1.52 +1.23 +0.93 +0.77 +0.79 +0.94 +1.09 +1.14 +1.02 +0.8 +0.56 +0.4 +0.36 +0.42 +0.51 +0.6 +0.65 +0.66 +0.65 +0.65 +0.67 +0.72 +0.76 +0.77 +0.73 +0.61 +0.47 +0.38 +0.39 +0.53 +0.77 +1.03 +1.22 +1.32 +1.41 +1.58 +1.92 +2.46 +3.07 +3.61 +3.93 +3.99 +3.84 +3.62 +3.44 +3.35 +3.29 +3.17 +2.93 +2.56 +2.14 +1.77 +1.55 +1.48 +1.47 +1.43 +1.25 +0.94 +0.59 +0.32 +0.25 +0.38 +0.63 +0.86 +0.97 +0.95 +0.9 +0.93 +1.09 +1.35 +1.58 +1.66 +1.52 +1.23 +0.93 +0.77 +0.79 +0.94 +1.09 +1.14 +1.02 +0.8 +0.56 +0.4 +0.36 +0.42 +0.51 +0.6 +0.65 +0.66 +0.65 +0.65 +0.67 +0.72 +0.76 +0.77 +0.73 +0.61 +0.47 +0.38 +0.39 +0.53 +0.77 +1.03 +1.22 +1.32 +1.41 +1.58 +1.92 +2.46 +3.07 +3.61 +3.93 +3.99 +3.84 +3.62 +3.44 +3.35 +3.29 +3.17 +2.93 +2.56 +2.14 +1.77 +1.55 +1.48 +1.31 +1.25 +1.14 +0.93 +0.61 +0.27 +0.01 +0.0 +0.03 +0.24 +0.45 +0.56 +0.59 +0.61 +0.7 +0.92 +1.21 +1.46 +1.54 +1.43 +1.18 +0.93 +0.82 +0.88 +1.05 +1.2 +1.24 +1.12 +0.91 +0.71 +0.59 +0.6 +0.7 +0.83 +0.94 +1.01 +1.04 +1.06 +1.09 +1.11 +1.13 +1.1 +1.02 +0.87 +0.69 +0.51 +0.42 +0.44 +0.58 +0.78 +0.96 +1.08 +1.13 +1.18 +1.32 +1.61 +2.04 +2.5 +2.87 +3.05 +3.05 +2.94 +2.83 +2.78 +2.82 +2.86 +2.81 +2.63 +2.32 +1.95 +1.63 +1.41 +1.31 +1.25 +1.14 +0.93 +0.61 +0.27 +0.01 +0.0 +0.03 +0.24 +0.45 +0.56 +0.59 +0.61 +0.7 +0.92 +1.21 +1.46 +1.54 +1.43 +1.18 +0.93 +0.82 +0.88 +1.05 +1.2 +1.24 +1.12 +0.91 +0.71 +0.59 +0.6 +0.7 +0.83 +0.94 +1.01 +1.04 +1.06 +1.09 +1.11 +1.13 +1.1 +1.02 +0.87 +0.69 +0.51 +0.42 +0.44 +0.58 +0.78 +0.96 +1.08 +1.13 +1.18 +1.32 +1.61 +2.04 +2.5 +2.87 +3.05 +3.05 +2.94 +2.83 +2.78 +2.82 +2.86 +2.81 +2.63 +2.32 +1.95 +1.63 +1.41 +1.31 +1.17 +1.05 +0.88 +0.63 +0.32 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.22 +0.27 +0.33 +0.47 +0.71 +1.0 +1.22 +1.28 +1.15 +0.91 +0.69 +0.62 +0.71 +0.9 +1.06 +1.1 +0.99 +0.81 +0.65 +0.6 +0.66 +0.81 +0.97 +1.11 +1.21 +1.28 +1.35 +1.41 +1.46 +1.45 +1.37 +1.21 +0.98 +0.75 +0.56 +0.48 +0.52 +0.65 +0.81 +0.94 +0.98 +0.97 +0.99 +1.11 +1.35 +1.69 +2.01 +2.24 +2.32 +2.28 +2.2 +2.18 +2.25 +2.37 +2.48 +2.49 +2.36 +2.11 +1.8 +1.52 +1.31 +1.17 +1.05 +0.88 +0.63 +0.32 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.22 +0.27 +0.33 +0.47 +0.71 +1.0 +1.22 +1.28 +1.15 +0.91 +0.69 +0.62 +0.71 +0.9 +1.06 +1.1 +0.99 +0.81 +0.65 +0.6 +0.66 +0.81 +0.97 +1.11 +1.21 +1.28 +1.35 +1.41 +1.46 +1.45 +1.37 +1.21 +0.98 +0.75 +0.56 +0.48 +0.52 +0.65 +0.81 +0.94 +0.98 +0.97 +0.99 +1.11 +1.35 +1.69 +2.01 +2.24 +2.32 +2.28 +2.2 +2.18 +2.25 +2.37 +2.48 +2.49 +2.36 +2.11 +1.8 +1.52 +1.31 +1.17 +1.16 +0.96 +0.73 +0.45 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.09 +0.16 +0.31 +0.54 +0.79 +0.95 +0.96 +0.8 +0.56 +0.38 +0.34 +0.46 +0.66 +0.83 +0.87 +0.78 +0.63 +0.52 +0.51 +0.62 +0.79 +0.97 +1.12 +1.24 +1.35 +1.47 +1.58 +1.65 +1.64 +1.52 +1.3 +1.02 +0.77 +0.59 +0.55 +0.62 +0.77 +0.9 +0.98 +0.97 +0.94 +0.94 +1.05 +1.27 +1.54 +1.77 +1.9 +1.9 +1.84 +1.8 +1.83 +1.96 +2.13 +2.27 +2.3 +2.22 +2.03 +1.79 +1.55 +1.34 +1.16 +0.96 +0.73 +0.45 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.09 +0.16 +0.31 +0.54 +0.79 +0.95 +0.96 +0.8 +0.56 +0.38 +0.34 +0.46 +0.66 +0.83 +0.87 +0.78 +0.63 +0.52 +0.51 +0.62 +0.79 +0.97 +1.12 +1.24 +1.35 +1.47 +1.58 +1.65 +1.64 +1.52 +1.3 +1.02 +0.77 +0.59 +0.55 +0.62 +0.77 +0.9 +0.98 +0.97 +0.94 +0.94 +1.05 +1.27 +1.54 +1.77 +1.9 +1.9 +1.84 +1.8 +1.83 +1.96 +2.13 +2.27 +2.3 +2.22 +2.03 +1.79 +1.55 +1.34 +1.16 +1.32 +1.05 +0.76 +0.45 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.08 +0.12 +0.19 +0.32 +0.52 +0.7 +0.8 +0.76 +0.58 +0.37 +0.22 +0.22 +0.36 +0.56 +0.71 +0.74 +0.66 +0.55 +0.47 +0.49 +0.61 +0.77 +0.93 +1.07 +1.21 +1.36 +1.52 +1.68 +1.77 +1.74 +1.59 +1.34 +1.06 +0.82 +0.69 +0.7 +0.82 +0.98 +1.11 +1.16 +1.14 +1.09 +1.11 +1.22 +1.43 +1.66 +1.83 +1.9 +1.87 +1.79 +1.76 +1.82 +1.95 +2.12 +2.25 +2.3 +2.25 +2.12 +1.96 +1.76 +1.55 +1.32 +1.05 +0.76 +0.45 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.08 +0.12 +0.19 +0.32 +0.52 +0.7 +0.8 +0.76 +0.58 +0.37 +0.22 +0.22 +0.36 +0.56 +0.71 +0.74 +0.66 +0.55 +0.47 +0.49 +0.61 +0.77 +0.93 +1.07 +1.21 +1.36 +1.52 +1.68 +1.77 +1.74 +1.59 +1.34 +1.06 +0.82 +0.69 +0.7 +0.82 +0.98 +1.11 +1.16 +1.14 +1.09 +1.11 +1.22 +1.43 +1.66 +1.83 +1.9 +1.87 +1.79 +1.76 +1.82 +1.95 +2.12 +2.25 +2.3 +2.25 +2.12 +1.96 +1.76 +1.55 +1.32 +1.66 +1.33 +0.99 +0.67 +0.4 +0.22 +0.13 +0.13 +0.18 +0.24 +0.3 +0.33 +0.36 +0.43 +0.55 +0.69 +0.82 +0.87 +0.8 +0.64 +0.46 +0.37 +0.4 +0.54 +0.71 +0.82 +0.83 +0.74 +0.64 +0.59 +0.62 +0.71 +0.84 +0.97 +1.1 +1.25 +1.43 +1.64 +1.82 +1.92 +1.89 +1.73 +1.47 +1.21 +1.01 +0.94 +1.0 +1.15 +1.33 +1.46 +1.51 +1.49 +1.46 +1.48 +1.6 +1.79 +1.99 +2.13 +2.16 +2.11 +2.03 +1.99 +2.03 +2.13 +2.26 +2.37 +2.42 +2.41 +2.36 +2.27 +2.13 +1.92 +1.66 +1.33 +0.99 +0.67 +0.4 +0.22 +0.13 +0.13 +0.18 +0.24 +0.3 +0.33 +0.36 +0.43 +0.55 +0.69 +0.82 +0.87 +0.8 +0.64 +0.46 +0.37 +0.4 +0.54 +0.71 +0.82 +0.83 +0.74 +0.64 +0.59 +0.62 +0.71 +0.84 +0.97 +1.1 +1.25 +1.43 +1.64 +1.82 +1.92 +1.89 +1.73 +1.47 +1.21 +1.01 +0.94 +1.0 +1.15 +1.33 +1.46 +1.51 +1.49 +1.46 +1.48 +1.6 +1.79 +1.99 +2.13 +2.16 +2.11 +2.03 +1.99 +2.03 +2.13 +2.26 +2.37 +2.42 +2.41 +2.36 +2.27 +2.13 +1.92 +1.66 +2.07 +1.72 +1.34 +1.01 +0.76 +0.6 +0.53 +0.52 +0.55 +0.6 +0.64 +0.68 +0.73 +0.81 +0.91 +1.01 +1.09 +1.1 +1.03 +0.91 +0.81 +0.77 +0.82 +0.93 +1.03 +1.08 +1.04 +0.94 +0.84 +0.8 +0.82 +0.89 +0.99 +1.1 +1.24 +1.42 +1.64 +1.88 +2.09 +2.18 +2.15 +1.98 +1.74 +1.51 +1.36 +1.33 +1.42 +1.59 +1.76 +1.89 +1.94 +1.93 +1.91 +1.93 +2.02 +2.18 +2.34 +2.44 +2.46 +2.41 +2.32 +2.27 +2.27 +2.32 +2.4 +2.47 +2.53 +2.58 +2.61 +2.6 +2.52 +2.35 +2.07 +1.72 +1.34 +1.01 +0.76 +0.6 +0.53 +0.52 +0.55 +0.6 +0.64 +0.68 +0.73 +0.81 +0.91 +1.01 +1.09 +1.1 +1.03 +0.91 +0.81 +0.77 +0.82 +0.93 +1.03 +1.08 +1.04 +0.94 +0.84 +0.8 +0.82 +0.89 +0.99 +1.1 +1.24 +1.42 +1.64 +1.88 +2.09 +2.18 +2.15 +1.98 +1.74 +1.51 +1.36 +1.33 +1.42 +1.59 +1.76 +1.89 +1.94 +1.93 +1.91 +1.93 +2.02 +2.18 +2.34 +2.44 +2.46 +2.41 +2.32 +2.27 +2.27 +2.32 +2.4 +2.47 +2.53 +2.58 +2.61 +2.6 +2.52 +2.35 +2.07 +2.4 +2.05 +1.68 +1.34 +1.09 +0.93 +0.84 +0.81 +0.82 +0.85 +0.91 +0.98 +1.06 +1.15 +1.23 +1.3 +1.33 +1.32 +1.27 +1.22 +1.18 +1.18 +1.22 +1.28 +1.3 +1.27 +1.17 +1.06 +0.97 +0.93 +0.95 +1.02 +1.12 +1.26 +1.44 +1.68 +1.96 +2.23 +2.44 +2.52 +2.46 +2.3 +2.08 +1.89 +1.77 +1.76 +1.83 +1.96 +2.11 +2.21 +2.26 +2.25 +2.22 +2.21 +2.25 +2.34 +2.45 +2.53 +2.55 +2.51 +2.44 +2.37 +2.32 +2.32 +2.35 +2.41 +2.5 +2.61 +2.72 +2.8 +2.79 +2.66 +2.4 +2.05 +1.68 +1.34 +1.09 +0.93 +0.84 +0.81 +0.82 +0.85 +0.91 +0.98 +1.06 +1.15 +1.23 +1.3 +1.33 +1.32 +1.27 +1.22 +1.18 +1.18 +1.22 +1.28 +1.3 +1.27 +1.17 +1.06 +0.97 +0.93 +0.95 +1.02 +1.12 +1.26 +1.44 +1.68 +1.96 +2.23 +2.44 +2.52 +2.46 +2.3 +2.08 +1.89 +1.77 +1.76 +1.83 +1.96 +2.11 +2.21 +2.26 +2.25 +2.22 +2.21 +2.25 +2.34 +2.45 +2.53 +2.55 +2.51 +2.44 +2.37 +2.32 +2.32 +2.35 +2.41 +2.5 +2.61 +2.72 +2.8 +2.79 +2.66 +2.4 +2.5 +2.19 +1.84 +1.53 +1.27 +1.08 +0.96 +0.88 +0.85 +0.88 +0.96 +1.07 +1.2 +1.3 +1.35 +1.36 +1.35 +1.32 +1.3 +1.3 +1.32 +1.35 +1.36 +1.35 +1.28 +1.17 +1.05 +0.94 +0.87 +0.86 +0.9 +1.0 +1.14 +1.34 +1.61 +1.94 +2.27 +2.56 +2.74 +2.78 +2.69 +2.51 +2.31 +2.15 +2.04 +1.99 +2.01 +2.08 +2.16 +2.23 +2.26 +2.24 +2.19 +2.12 +2.09 +2.1 +2.16 +2.22 +2.27 +2.27 +2.22 +2.15 +2.08 +2.03 +2.03 +2.1 +2.22 +2.4 +2.59 +2.75 +2.8 +2.72 +2.5 +2.19 +1.84 +1.53 +1.27 +1.08 +0.96 +0.88 +0.85 +0.88 +0.96 +1.07 +1.2 +1.3 +1.35 +1.36 +1.35 +1.32 +1.3 +1.3 +1.32 +1.35 +1.36 +1.35 +1.28 +1.17 +1.05 +0.94 +0.87 +0.86 +0.9 +1.0 +1.14 +1.34 +1.61 +1.94 +2.27 +2.56 +2.74 +2.78 +2.69 +2.51 +2.31 +2.15 +2.04 +1.99 +2.01 +2.08 +2.16 +2.23 +2.26 +2.24 +2.19 +2.12 +2.09 +2.1 +2.16 +2.22 +2.27 +2.27 +2.22 +2.15 +2.08 +2.03 +2.03 +2.1 +2.22 +2.4 +2.59 +2.75 +2.8 +2.72 +2.5 +2.34 +2.09 +1.79 +1.5 +1.24 +1.02 +0.84 +0.71 +0.65 +0.67 +0.77 +0.93 +1.07 +1.16 +1.17 +1.11 +1.04 +0.99 +0.99 +1.04 +1.11 +1.15 +1.13 +1.05 +0.92 +0.78 +0.66 +0.58 +0.56 +0.6 +0.69 +0.83 +1.05 +1.35 +1.72 +2.13 +2.49 +2.75 +2.86 +2.82 +2.67 +2.47 +2.27 +2.1 +1.97 +1.88 +1.82 +1.8 +1.81 +1.85 +1.87 +1.84 +1.75 +1.63 +1.52 +1.46 +1.48 +1.56 +1.66 +1.71 +1.71 +1.64 +1.55 +1.48 +1.48 +1.56 +1.73 +1.97 +2.22 +2.43 +2.54 +2.51 +2.34 +2.09 +1.79 +1.5 +1.24 +1.02 +0.84 +0.71 +0.65 +0.67 +0.77 +0.93 +1.07 +1.16 +1.17 +1.11 +1.04 +0.99 +0.99 +1.04 +1.11 +1.15 +1.13 +1.05 +0.92 +0.78 +0.66 +0.58 +0.56 +0.6 +0.69 +0.83 +1.05 +1.35 +1.72 +2.13 +2.49 +2.75 +2.86 +2.82 +2.67 +2.47 +2.27 +2.1 +1.97 +1.88 +1.82 +1.8 +1.81 +1.85 +1.87 +1.84 +1.75 +1.63 +1.52 +1.46 +1.48 +1.56 +1.66 +1.71 +1.71 +1.64 +1.55 +1.48 +1.48 +1.56 +1.73 +1.97 +2.22 +2.43 +2.54 +2.51 +2.34 +2.02 +1.83 +1.6 +1.34 +1.08 +0.83 +0.59 +0.41 +0.32 +0.33 +0.45 +0.62 +0.76 +0.81 +0.75 +0.63 +0.5 +0.43 +0.46 +0.55 +0.64 +0.69 +0.65 +0.53 +0.38 +0.26 +0.19 +0.18 +0.23 +0.33 +0.47 +0.67 +0.97 +1.35 +1.8 +2.24 +2.58 +2.76 +2.76 +2.6 +2.36 +2.11 +1.89 +1.71 +1.55 +1.4 +1.27 +1.18 +1.15 +1.17 +1.19 +1.16 +1.06 +0.9 +0.73 +0.64 +0.65 +0.76 +0.92 +1.03 +1.07 +1.01 +0.91 +0.83 +0.83 +0.93 +1.14 +1.43 +1.72 +1.96 +2.1 +2.11 +2.02 +1.83 +1.6 +1.34 +1.08 +0.83 +0.59 +0.41 +0.32 +0.33 +0.45 +0.62 +0.76 +0.81 +0.75 +0.63 +0.5 +0.43 +0.46 +0.55 +0.64 +0.69 +0.65 +0.53 +0.38 +0.26 +0.19 +0.18 +0.23 +0.33 +0.47 +0.67 +0.97 +1.35 +1.8 +2.24 +2.58 +2.76 +2.76 +2.6 +2.36 +2.11 +1.89 +1.71 +1.55 +1.4 +1.27 +1.18 +1.15 +1.17 +1.19 +1.16 +1.06 +0.9 +0.73 +0.64 +0.65 +0.76 +0.92 +1.03 +1.07 +1.01 +0.91 +0.83 +0.83 +0.93 +1.14 +1.43 +1.72 +1.96 +2.1 +2.11 +2.02 +1.7 +1.59 +1.42 +1.2 +0.94 +0.66 +0.38 +0.16 +0.04 +0.05 +0.17 +0.33 +0.44 +0.44 +0.32 +0.13 +0.0 +0.0 +0.0 +0.08 +0.21 +0.27 +0.22 +0.11 +0.0 +0.0 +0.0 +0.0 +0.12 +0.27 +0.45 +0.7 +1.04 +1.47 +1.93 +2.33 +2.58 +2.63 +2.48 +2.19 +1.86 +1.55 +1.31 +1.11 +0.92 +0.74 +0.58 +0.47 +0.44 +0.47 +0.51 +0.51 +0.41 +0.23 +0.05 +0.0 +0.0 +0.14 +0.34 +0.49 +0.55 +0.49 +0.37 +0.28 +0.28 +0.4 +0.64 +0.94 +1.25 +1.5 +1.67 +1.73 +1.7 +1.59 +1.42 +1.2 +0.94 +0.66 +0.38 +0.16 +0.04 +0.05 +0.17 +0.33 +0.44 +0.44 +0.32 +0.13 +0.0 +0.0 +0.0 +0.08 +0.21 +0.27 +0.22 +0.11 +0.0 +0.0 +0.0 +0.0 +0.12 +0.27 +0.45 +0.7 +1.04 +1.47 +1.93 +2.33 +2.58 +2.63 +2.48 +2.19 +1.86 +1.55 +1.31 +1.11 +0.92 +0.74 +0.58 +0.47 +0.44 +0.47 +0.51 +0.51 +0.41 +0.23 +0.05 +0.0 +0.0 +0.14 +0.34 +0.49 +0.55 +0.49 +0.37 +0.28 +0.28 +0.4 +0.64 +0.94 +1.25 +1.5 +1.67 +1.73 +1.7 +1.57 +1.53 +1.42 +1.23 +0.97 +0.67 +0.37 +0.13 +0.0 +0.01 +0.11 +0.25 +0.33 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.17 +0.15 +0.06 +0.0 +0.0 +0.05 +0.19 +0.37 +0.55 +0.76 +1.02 +1.36 +1.77 +2.17 +2.46 +2.57 +2.46 +2.17 +1.77 +1.36 +1.02 +0.76 +0.55 +0.37 +0.19 +0.05 +0.0 +0.0 +0.06 +0.15 +0.17 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.33 +0.25 +0.11 +0.01 +0.0 +0.13 +0.37 +0.67 +0.97 +1.23 +1.42 +1.53 +1.57 +1.53 +1.42 +1.23 +0.97 +0.67 +0.37 +0.13 +0.0 +0.01 +0.11 +0.25 +0.33 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.17 +0.15 +0.06 +0.0 +0.0 +0.05 +0.19 +0.37 +0.55 +0.76 +1.02 +1.36 +1.77 +2.17 +2.46 +2.57 +2.46 +2.17 +1.77 +1.36 +1.02 +0.76 +0.55 +0.37 +0.19 +0.05 +0.0 +0.0 +0.06 +0.15 +0.17 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.33 +0.25 +0.11 +0.01 +0.0 +0.13 +0.37 +0.67 +0.97 +1.23 +1.42 +1.53 +1.57 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +1.82 +2.06 +2.24 +2.31 +2.25 +2.08 +1.84 +1.59 +1.34 +1.12 +0.9 +0.69 +0.52 +0.4 +0.36 +0.35 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.26 +0.38 +0.41 +0.41 +0.44 +0.53 +0.69 +0.88 +1.1 +1.32 +1.56 +1.8 +2.01 +2.17 +2.22 +2.16 +2.0 +1.77 +1.53 +1.29 +1.07 +0.86 +0.67 +0.52 +0.43 +0.41 +0.41 +0.38 +0.27 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.24 +0.33 +0.35 +0.35 +0.39 +0.5 +0.67 +0.87 +1.09 +1.32 +1.56 +1.82 +2.06 +2.24 +2.31 +2.25 +2.08 +1.84 +1.59 +1.34 +1.12 +0.9 +0.69 +0.52 +0.4 +0.36 +0.35 +0.33 +0.23 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.26 +0.38 +0.41 +0.41 +0.44 +0.53 +0.69 +0.88 +1.1 +1.32 +1.56 +1.8 +2.01 +2.17 +2.22 +2.16 +2.0 +1.77 +1.53 +1.29 +1.07 +0.86 +0.67 +0.52 +0.43 +0.41 +0.41 +0.38 +0.27 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.24 +0.33 +0.35 +0.35 +0.39 +0.5 +0.67 +0.87 +1.09 +1.32 +1.56 +1.82 +1.84 +2.14 +2.37 +2.47 +2.41 +2.22 +1.94 +1.64 +1.36 +1.11 +0.87 +0.65 +0.47 +0.34 +0.29 +0.29 +0.3 +0.26 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.33 +0.45 +0.48 +0.46 +0.45 +0.49 +0.6 +0.79 +1.01 +1.26 +1.51 +1.76 +1.97 +2.12 +2.15 +2.08 +1.91 +1.68 +1.42 +1.17 +0.92 +0.71 +0.54 +0.43 +0.4 +0.44 +0.48 +0.46 +0.36 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.27 +0.29 +0.26 +0.24 +0.28 +0.39 +0.56 +0.77 +0.99 +1.25 +1.53 +1.84 +2.14 +2.37 +2.47 +2.41 +2.22 +1.94 +1.64 +1.36 +1.11 +0.87 +0.65 +0.47 +0.34 +0.29 +0.29 +0.3 +0.26 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.33 +0.45 +0.48 +0.46 +0.45 +0.49 +0.6 +0.79 +1.01 +1.26 +1.51 +1.76 +1.97 +2.12 +2.15 +2.08 +1.91 +1.68 +1.42 +1.17 +0.92 +0.71 +0.54 +0.43 +0.4 +0.44 +0.48 +0.46 +0.36 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.27 +0.29 +0.26 +0.24 +0.28 +0.39 +0.56 +0.77 +0.99 +1.25 +1.53 +1.84 +1.8 +2.17 +2.46 +2.6 +2.55 +2.33 +2.01 +1.66 +1.34 +1.07 +0.84 +0.62 +0.43 +0.29 +0.22 +0.22 +0.26 +0.28 +0.22 +0.09 +0.0 +0.0 +0.0 +0.0 +0.12 +0.32 +0.46 +0.49 +0.44 +0.37 +0.35 +0.41 +0.57 +0.81 +1.09 +1.37 +1.63 +1.82 +1.94 +1.96 +1.88 +1.71 +1.48 +1.22 +0.94 +0.67 +0.45 +0.3 +0.26 +0.3 +0.4 +0.48 +0.47 +0.35 +0.16 +0.0 +0.0 +0.0 +0.0 +0.11 +0.22 +0.25 +0.2 +0.12 +0.08 +0.11 +0.22 +0.39 +0.59 +0.82 +1.09 +1.42 +1.8 +2.17 +2.46 +2.6 +2.55 +2.33 +2.01 +1.66 +1.34 +1.07 +0.84 +0.62 +0.43 +0.29 +0.22 +0.22 +0.26 +0.28 +0.22 +0.09 +0.0 +0.0 +0.0 +0.0 +0.12 +0.32 +0.46 +0.49 +0.44 +0.37 +0.35 +0.41 +0.57 +0.81 +1.09 +1.37 +1.63 +1.82 +1.94 +1.96 +1.88 +1.71 +1.48 +1.22 +0.94 +0.67 +0.45 +0.3 +0.26 +0.3 +0.4 +0.48 +0.47 +0.35 +0.16 +0.0 +0.0 +0.0 +0.0 +0.11 +0.22 +0.25 +0.2 +0.12 +0.08 +0.11 +0.22 +0.39 +0.59 +0.82 +1.09 +1.42 +1.8 +1.62 +2.05 +2.41 +2.58 +2.55 +2.32 +1.97 +1.6 +1.27 +1.02 +0.81 +0.62 +0.44 +0.28 +0.19 +0.17 +0.23 +0.29 +0.29 +0.19 +0.02 +0.0 +0.0 +0.0 +0.0 +0.2 +0.36 +0.4 +0.33 +0.21 +0.12 +0.12 +0.26 +0.5 +0.8 +1.11 +1.36 +1.54 +1.62 +1.62 +1.54 +1.39 +1.18 +0.92 +0.63 +0.34 +0.11 +0.0 +0.0 +0.12 +0.26 +0.36 +0.33 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.17 +0.13 +0.03 +0.0 +0.0 +0.0 +0.05 +0.2 +0.38 +0.58 +0.84 +1.19 +1.62 +2.05 +2.41 +2.58 +2.55 +2.32 +1.97 +1.6 +1.27 +1.02 +0.81 +0.62 +0.44 +0.28 +0.19 +0.17 +0.23 +0.29 +0.29 +0.19 +0.02 +0.0 +0.0 +0.0 +0.0 +0.2 +0.36 +0.4 +0.33 +0.21 +0.12 +0.12 +0.26 +0.5 +0.8 +1.11 +1.36 +1.54 +1.62 +1.62 +1.54 +1.39 +1.18 +0.92 +0.63 +0.34 +0.11 +0.0 +0.0 +0.12 +0.26 +0.36 +0.33 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.17 +0.13 +0.03 +0.0 +0.0 +0.0 +0.05 +0.2 +0.38 +0.58 +0.84 +1.19 +1.62 +1.33 +1.81 +2.21 +2.42 +2.4 +2.17 +1.82 +1.46 +1.16 +0.96 +0.81 +0.68 +0.51 +0.35 +0.22 +0.18 +0.22 +0.3 +0.32 +0.23 +0.03 +0.0 +0.0 +0.0 +0.0 +0.01 +0.2 +0.26 +0.19 +0.02 +0.0 +0.0 +0.0 +0.19 +0.51 +0.82 +1.05 +1.19 +1.24 +1.22 +1.15 +1.04 +0.87 +0.63 +0.33 +0.04 +0.0 +0.0 +0.0 +0.0 +0.09 +0.17 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.16 +0.3 +0.53 +0.88 +1.33 +1.81 +2.21 +2.42 +2.4 +2.17 +1.82 +1.46 +1.16 +0.96 +0.81 +0.68 +0.51 +0.35 +0.22 +0.18 +0.22 +0.3 +0.32 +0.23 +0.03 +0.0 +0.0 +0.0 +0.0 +0.01 +0.2 +0.26 +0.19 +0.02 +0.0 +0.0 +0.0 +0.19 +0.51 +0.82 +1.05 +1.19 +1.24 +1.22 +1.15 +1.04 +0.87 +0.63 +0.33 +0.04 +0.0 +0.0 +0.0 +0.0 +0.09 +0.17 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.16 +0.3 +0.53 +0.88 +1.33 +1.04 +1.54 +1.96 +2.2 +2.19 +1.97 +1.64 +1.31 +1.07 +0.94 +0.87 +0.79 +0.65 +0.47 +0.3 +0.22 +0.24 +0.31 +0.35 +0.25 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.2 +0.12 +0.0 +0.0 +0.0 +0.0 +0.01 +0.33 +0.64 +0.85 +0.94 +0.95 +0.92 +0.87 +0.8 +0.67 +0.46 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.58 +1.04 +1.54 +1.96 +2.2 +2.19 +1.97 +1.64 +1.31 +1.07 +0.94 +0.87 +0.79 +0.65 +0.47 +0.3 +0.22 +0.24 +0.31 +0.35 +0.25 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.2 +0.12 +0.0 +0.0 +0.0 +0.0 +0.01 +0.33 +0.64 +0.85 +0.94 +0.95 +0.92 +0.87 +0.8 +0.67 +0.46 +0.18 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.58 +1.04 +0.87 +1.38 +1.82 +2.06 +2.05 +1.84 +1.53 +1.24 +1.06 +1.0 +0.99 +0.95 +0.82 +0.61 +0.41 +0.29 +0.29 +0.37 +0.41 +0.32 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.31 +0.23 +0.02 +0.0 +0.0 +0.0 +0.07 +0.4 +0.68 +0.86 +0.91 +0.89 +0.85 +0.82 +0.78 +0.69 +0.51 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.41 +0.87 +1.38 +1.82 +2.06 +2.05 +1.84 +1.53 +1.24 +1.06 +1.0 +0.99 +0.95 +0.82 +0.61 +0.41 +0.29 +0.29 +0.37 +0.41 +0.32 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.31 +0.23 +0.02 +0.0 +0.0 +0.0 +0.07 +0.4 +0.68 +0.86 +0.91 +0.89 +0.85 +0.82 +0.78 +0.69 +0.51 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.41 +0.87 +0.89 +1.41 +1.85 +2.08 +2.06 +1.84 +1.54 +1.29 +1.16 +1.15 +1.18 +1.14 +1.0 +0.76 +0.52 +0.39 +0.39 +0.47 +0.53 +0.46 +0.24 +0.0 +0.0 +0.0 +0.0 +0.17 +0.46 +0.58 +0.49 +0.27 +0.05 +0.0 +0.07 +0.33 +0.66 +0.93 +1.07 +1.1 +1.06 +1.01 +0.99 +0.98 +0.91 +0.75 +0.5 +0.21 +0.0 +0.0 +0.07 +0.3 +0.48 +0.5 +0.31 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.25 +0.21 +0.04 +0.0 +0.0 +0.0 +0.0 +0.05 +0.06 +0.02 +0.0 +0.12 +0.42 +0.89 +1.41 +1.85 +2.08 +2.06 +1.84 +1.54 +1.29 +1.16 +1.15 +1.18 +1.14 +1.0 +0.76 +0.52 +0.39 +0.39 +0.47 +0.53 +0.46 +0.24 +0.0 +0.0 +0.0 +0.0 +0.17 +0.46 +0.58 +0.49 +0.27 +0.05 +0.0 +0.07 +0.33 +0.66 +0.93 +1.07 +1.1 +1.06 +1.01 +0.99 +0.98 +0.91 +0.75 +0.5 +0.21 +0.0 +0.0 +0.07 +0.3 +0.48 +0.5 +0.31 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.25 +0.21 +0.04 +0.0 +0.0 +0.0 +0.0 +0.05 +0.06 +0.02 +0.0 +0.12 +0.42 +0.89 +1.07 +1.59 +2.01 +2.22 +2.17 +1.94 +1.66 +1.44 +1.35 +1.37 +1.41 +1.36 +1.18 +0.91 +0.66 +0.52 +0.55 +0.67 +0.75 +0.69 +0.47 +0.18 +0.0 +0.0 +0.17 +0.49 +0.76 +0.86 +0.75 +0.51 +0.29 +0.23 +0.36 +0.63 +0.95 +1.21 +1.33 +1.34 +1.3 +1.25 +1.24 +1.24 +1.19 +1.04 +0.79 +0.51 +0.31 +0.29 +0.44 +0.71 +0.92 +0.95 +0.77 +0.44 +0.14 +0.02 +0.13 +0.38 +0.63 +0.72 +0.62 +0.39 +0.18 +0.08 +0.11 +0.22 +0.3 +0.3 +0.23 +0.19 +0.29 +0.6 +1.07 +1.59 +2.01 +2.22 +2.17 +1.94 +1.66 +1.44 +1.35 +1.37 +1.41 +1.36 +1.18 +0.91 +0.66 +0.52 +0.55 +0.67 +0.75 +0.69 +0.47 +0.18 +0.0 +0.0 +0.17 +0.49 +0.76 +0.86 +0.75 +0.51 +0.29 +0.23 +0.36 +0.63 +0.95 +1.21 +1.33 +1.34 +1.3 +1.25 +1.24 +1.24 +1.19 +1.04 +0.79 +0.51 +0.31 +0.29 +0.44 +0.71 +0.92 +0.95 +0.77 +0.44 +0.14 +0.02 +0.13 +0.38 +0.63 +0.72 +0.62 +0.39 +0.18 +0.08 +0.11 +0.22 +0.3 +0.3 +0.23 +0.19 +0.29 +0.6 +1.07 +1.3 +1.81 +2.2 +2.37 +2.29 +2.05 +1.78 +1.6 +1.56 +1.61 +1.65 +1.58 +1.37 +1.09 +0.85 +0.76 +0.83 +0.97 +1.06 +0.98 +0.73 +0.42 +0.2 +0.2 +0.41 +0.71 +0.94 +0.98 +0.83 +0.57 +0.37 +0.33 +0.48 +0.77 +1.08 +1.31 +1.42 +1.42 +1.38 +1.35 +1.35 +1.35 +1.31 +1.16 +0.93 +0.66 +0.49 +0.49 +0.68 +0.97 +1.22 +1.28 +1.12 +0.83 +0.56 +0.48 +0.62 +0.9 +1.14 +1.21 +1.06 +0.78 +0.52 +0.4 +0.43 +0.54 +0.62 +0.6 +0.51 +0.44 +0.53 +0.83 +1.3 +1.81 +2.2 +2.37 +2.29 +2.05 +1.78 +1.6 +1.56 +1.61 +1.65 +1.58 +1.37 +1.09 +0.85 +0.76 +0.83 +0.97 +1.06 +0.98 +0.73 +0.42 +0.2 +0.2 +0.41 +0.71 +0.94 +0.98 +0.83 +0.57 +0.37 +0.33 +0.48 +0.77 +1.08 +1.31 +1.42 +1.42 +1.38 +1.35 +1.35 +1.35 +1.31 +1.16 +0.93 +0.66 +0.49 +0.49 +0.68 +0.97 +1.22 +1.28 +1.12 +0.83 +0.56 +0.48 +0.62 +0.9 +1.14 +1.21 +1.06 +0.78 +0.52 +0.4 +0.43 +0.54 +0.62 +0.6 +0.51 +0.44 +0.53 +0.83 +1.3 +1.44 +1.92 +2.27 +2.4 +2.29 +2.04 +1.8 +1.69 +1.71 +1.81 +1.87 +1.8 +1.59 +1.34 +1.16 +1.14 +1.27 +1.43 +1.48 +1.32 +0.98 +0.59 +0.33 +0.3 +0.47 +0.73 +0.89 +0.86 +0.65 +0.38 +0.19 +0.18 +0.36 +0.64 +0.92 +1.12 +1.2 +1.2 +1.16 +1.14 +1.15 +1.17 +1.13 +0.99 +0.77 +0.53 +0.38 +0.4 +0.61 +0.93 +1.2 +1.29 +1.16 +0.9 +0.68 +0.65 +0.85 +1.18 +1.46 +1.55 +1.4 +1.1 +0.82 +0.69 +0.73 +0.85 +0.94 +0.91 +0.79 +0.69 +0.74 +1.01 +1.44 +1.92 +2.27 +2.4 +2.29 +2.04 +1.8 +1.69 +1.71 +1.81 +1.87 +1.8 +1.59 +1.34 +1.16 +1.14 +1.27 +1.43 +1.48 +1.32 +0.98 +0.59 +0.33 +0.3 +0.47 +0.73 +0.89 +0.86 +0.65 +0.38 +0.19 +0.18 +0.36 +0.64 +0.92 +1.12 +1.2 +1.2 +1.16 +1.14 +1.15 +1.17 +1.13 +0.99 +0.77 +0.53 +0.38 +0.4 +0.61 +0.93 +1.2 +1.29 +1.16 +0.9 +0.68 +0.65 +0.85 +1.18 +1.46 +1.55 +1.4 +1.1 +0.82 +0.69 +0.73 +0.85 +0.94 +0.91 +0.79 +0.69 +0.74 +1.01 +1.44 +1.45 +1.88 +2.19 +2.26 +2.12 +1.88 +1.69 +1.65 +1.76 +1.94 +2.05 +2.02 +1.86 +1.68 +1.6 +1.7 +1.9 +2.07 +2.04 +1.74 +1.24 +0.72 +0.37 +0.29 +0.42 +0.61 +0.7 +0.59 +0.33 +0.05 +0.0 +0.0 +0.08 +0.34 +0.58 +0.71 +0.75 +0.72 +0.67 +0.66 +0.69 +0.71 +0.68 +0.56 +0.36 +0.14 +0.0 +0.03 +0.25 +0.57 +0.85 +0.95 +0.84 +0.6 +0.43 +0.46 +0.74 +1.16 +1.53 +1.69 +1.58 +1.31 +1.04 +0.92 +0.97 +1.12 +1.22 +1.18 +1.02 +0.87 +0.86 +1.06 +1.45 +1.88 +2.19 +2.26 +2.12 +1.88 +1.69 +1.65 +1.76 +1.94 +2.05 +2.02 +1.86 +1.68 +1.6 +1.7 +1.9 +2.07 +2.04 +1.74 +1.24 +0.72 +0.37 +0.29 +0.42 +0.61 +0.7 +0.59 +0.33 +0.05 +0.0 +0.0 +0.08 +0.34 +0.58 +0.71 +0.75 +0.72 +0.67 +0.66 +0.69 +0.71 +0.68 +0.56 +0.36 +0.14 +0.0 +0.03 +0.25 +0.57 +0.85 +0.95 +0.84 +0.6 +0.43 +0.46 +0.74 +1.16 +1.53 +1.69 +1.58 +1.31 +1.04 +0.92 +0.97 +1.12 +1.22 +1.18 +1.02 +0.87 +0.86 +1.06 +1.45 +1.36 +1.74 +2.0 +2.03 +1.86 +1.62 +1.47 +1.5 +1.71 +1.98 +2.17 +2.21 +2.15 +2.09 +2.17 +2.41 +2.7 +2.86 +2.73 +2.26 +1.57 +0.9 +0.45 +0.3 +0.39 +0.54 +0.56 +0.39 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.27 +0.33 +0.29 +0.2 +0.14 +0.13 +0.16 +0.2 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.35 +0.44 +0.32 +0.1 +0.0 +0.04 +0.41 +0.95 +1.44 +1.71 +1.68 +1.45 +1.2 +1.09 +1.17 +1.33 +1.43 +1.37 +1.17 +0.95 +0.87 +1.02 +1.36 +1.74 +2.0 +2.03 +1.86 +1.62 +1.47 +1.5 +1.71 +1.98 +2.17 +2.21 +2.15 +2.09 +2.17 +2.41 +2.7 +2.86 +2.73 +2.26 +1.57 +0.9 +0.45 +0.3 +0.39 +0.54 +0.56 +0.39 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.27 +0.33 +0.29 +0.2 +0.14 +0.13 +0.16 +0.2 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.35 +0.44 +0.32 +0.1 +0.0 +0.04 +0.41 +0.95 +1.44 +1.71 +1.68 +1.45 +1.2 +1.09 +1.17 +1.33 +1.43 +1.37 +1.17 +0.95 +0.87 +1.02 +1.36 +1.26 +1.62 +1.84 +1.83 +1.63 +1.37 +1.23 +1.31 +1.59 +1.94 +2.22 +2.36 +2.41 +2.51 +2.77 +3.17 +3.56 +3.72 +3.48 +2.85 +1.99 +1.18 +0.65 +0.47 +0.55 +0.67 +0.65 +0.43 +0.1 +0.0 +0.0 +0.0 +0.0 +0.15 +0.24 +0.2 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.0 +0.0 +0.0 +0.0 +0.13 +0.78 +1.41 +1.78 +1.83 +1.63 +1.39 +1.27 +1.33 +1.48 +1.56 +1.47 +1.23 +0.96 +0.83 +0.95 +1.26 +1.62 +1.84 +1.83 +1.63 +1.37 +1.23 +1.31 +1.59 +1.94 +2.22 +2.36 +2.41 +2.51 +2.77 +3.17 +3.56 +3.72 +3.48 +2.85 +1.99 +1.18 +0.65 +0.47 +0.55 +0.67 +0.65 +0.43 +0.1 +0.0 +0.0 +0.0 +0.0 +0.15 +0.24 +0.2 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.0 +0.0 +0.0 +0.0 +0.13 +0.78 +1.41 +1.78 +1.83 +1.63 +1.39 +1.27 +1.33 +1.48 +1.56 +1.47 +1.23 +0.96 +0.83 +0.95 +1.26 +1.25 +1.61 +1.82 +1.77 +1.51 +1.21 +1.05 +1.15 +1.46 +1.86 +2.2 +2.43 +2.6 +2.85 +3.27 +3.82 +4.3 +4.47 +4.16 +3.4 +2.42 +1.53 +0.97 +0.8 +0.9 +1.02 +0.98 +0.74 +0.4 +0.13 +0.04 +0.15 +0.36 +0.52 +0.56 +0.44 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.89 +1.63 +2.09 +2.18 +1.98 +1.69 +1.51 +1.51 +1.61 +1.65 +1.52 +1.24 +0.95 +0.81 +0.92 +1.25 +1.61 +1.82 +1.77 +1.51 +1.21 +1.05 +1.15 +1.46 +1.86 +2.2 +2.43 +2.6 +2.85 +3.27 +3.82 +4.3 +4.47 +4.16 +3.4 +2.42 +1.53 +0.97 +0.8 +0.9 +1.02 +0.98 +0.74 +0.4 +0.13 +0.04 +0.15 +0.36 +0.52 +0.56 +0.44 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.89 +1.63 +2.09 +2.18 +1.98 +1.69 +1.51 +1.51 +1.61 +1.65 +1.52 +1.24 +0.95 +0.81 +0.92 +1.25 +1.34 +1.72 +1.93 +1.85 +1.54 +1.18 +0.98 +1.05 +1.36 +1.77 +2.14 +2.41 +2.65 +3.01 +3.55 +4.2 +4.74 +4.91 +4.56 +3.73 +2.7 +1.79 +1.25 +1.14 +1.28 +1.43 +1.39 +1.15 +0.81 +0.56 +0.52 +0.66 +0.89 +1.05 +1.06 +0.9 +0.64 +0.4 +0.25 +0.22 +0.3 +0.41 +0.46 +0.39 +0.19 +0.0 +0.0 +0.0 +0.0 +0.07 +0.3 +0.33 +0.14 +0.0 +0.0 +0.0 +0.51 +1.35 +2.17 +2.68 +2.77 +2.51 +2.13 +1.85 +1.74 +1.75 +1.72 +1.55 +1.25 +0.95 +0.83 +0.98 +1.34 +1.72 +1.93 +1.85 +1.54 +1.18 +0.98 +1.05 +1.36 +1.77 +2.14 +2.41 +2.65 +3.01 +3.55 +4.2 +4.74 +4.91 +4.56 +3.73 +2.7 +1.79 +1.25 +1.14 +1.28 +1.43 +1.39 +1.15 +0.81 +0.56 +0.52 +0.66 +0.89 +1.05 +1.06 +0.9 +0.64 +0.4 +0.25 +0.22 +0.3 +0.41 +0.46 +0.39 +0.19 +0.0 +0.0 +0.0 +0.0 +0.07 +0.3 +0.33 +0.14 +0.0 +0.0 +0.0 +0.51 +1.35 +2.17 +2.68 +2.77 +2.51 +2.13 +1.85 +1.74 +1.75 +1.72 +1.55 +1.25 +0.95 +0.83 +0.98 +1.34 +1.49 +1.9 +2.11 +2.0 +1.65 +1.24 +0.99 +1.02 +1.31 +1.7 +2.05 +2.31 +2.57 +2.95 +3.52 +4.21 +4.76 +4.92 +4.54 +3.69 +2.66 +1.79 +1.31 +1.26 +1.45 +1.64 +1.62 +1.39 +1.07 +0.84 +0.83 +1.01 +1.26 +1.45 +1.46 +1.31 +1.05 +0.81 +0.68 +0.68 +0.8 +0.96 +1.05 +1.0 +0.79 +0.51 +0.28 +0.21 +0.36 +0.63 +0.86 +0.9 +0.7 +0.42 +0.28 +0.52 +1.17 +2.08 +2.95 +3.47 +3.52 +3.18 +2.69 +2.27 +2.03 +1.93 +1.83 +1.61 +1.28 +0.99 +0.9 +1.09 +1.49 +1.9 +2.11 +2.0 +1.65 +1.24 +0.99 +1.02 +1.31 +1.7 +2.05 +2.31 +2.57 +2.95 +3.52 +4.21 +4.76 +4.92 +4.54 +3.69 +2.66 +1.79 +1.31 +1.26 +1.45 +1.64 +1.62 +1.39 +1.07 +0.84 +0.83 +1.01 +1.26 +1.45 +1.46 +1.31 +1.05 +0.81 +0.68 +0.68 +0.8 +0.96 +1.05 +1.0 +0.79 +0.51 +0.28 +0.21 +0.36 +0.63 +0.86 +0.9 +0.7 +0.42 +0.28 +0.52 +1.17 +2.08 +2.95 +3.47 +3.52 +3.18 +2.69 +2.27 +2.03 +1.93 +1.83 +1.61 +1.28 +0.99 +0.9 +1.09 +1.49 +1.62 +2.04 +2.24 +2.11 +1.73 +1.3 +1.03 +1.04 +1.29 +1.65 +1.96 +2.17 +2.37 +2.7 +3.21 +3.84 +4.34 +4.47 +4.07 +3.24 +2.25 +1.44 +1.03 +1.04 +1.27 +1.48 +1.48 +1.27 +0.97 +0.76 +0.77 +0.97 +1.25 +1.47 +1.52 +1.4 +1.19 +1.0 +0.91 +0.96 +1.12 +1.33 +1.46 +1.45 +1.26 +0.98 +0.75 +0.68 +0.84 +1.13 +1.38 +1.43 +1.25 +1.0 +0.9 +1.19 +1.91 +2.87 +3.77 +4.28 +4.29 +3.86 +3.26 +2.72 +2.37 +2.17 +1.99 +1.71 +1.36 +1.07 +0.99 +1.2 +1.62 +2.04 +2.24 +2.11 +1.73 +1.3 +1.03 +1.04 +1.29 +1.65 +1.96 +2.17 +2.37 +2.7 +3.21 +3.84 +4.34 +4.47 +4.07 +3.24 +2.25 +1.44 +1.03 +1.04 +1.27 +1.48 +1.48 +1.27 +0.97 +0.76 +0.77 +0.97 +1.25 +1.47 +1.52 +1.4 +1.19 +1.0 +0.91 +0.96 +1.12 +1.33 +1.46 +1.45 +1.26 +0.98 +0.75 +0.68 +0.84 +1.13 +1.38 +1.43 +1.25 +1.0 +0.9 +1.19 +1.91 +2.87 +3.77 +4.28 +4.29 +3.86 +3.26 +2.72 +2.37 +2.17 +1.99 +1.71 +1.36 +1.07 +0.99 +1.2 +1.62 +1.69 +2.08 +2.25 +2.12 +1.73 +1.3 +1.04 +1.06 +1.31 +1.63 +1.89 +2.02 +2.12 +2.33 +2.72 +3.22 +3.63 +3.7 +3.3 +2.5 +1.58 +0.84 +0.5 +0.54 +0.8 +1.01 +1.02 +0.82 +0.54 +0.35 +0.36 +0.57 +0.85 +1.08 +1.17 +1.12 +0.97 +0.84 +0.8 +0.9 +1.1 +1.35 +1.52 +1.54 +1.39 +1.13 +0.92 +0.88 +1.05 +1.36 +1.63 +1.71 +1.58 +1.37 +1.35 +1.72 +2.5 +3.51 +4.41 +4.91 +4.87 +4.4 +3.74 +3.14 +2.72 +2.45 +2.21 +1.89 +1.51 +1.19 +1.1 +1.29 +1.69 +2.08 +2.25 +2.12 +1.73 +1.3 +1.04 +1.06 +1.31 +1.63 +1.89 +2.02 +2.12 +2.33 +2.72 +3.22 +3.63 +3.7 +3.3 +2.5 +1.58 +0.84 +0.5 +0.54 +0.8 +1.01 +1.02 +0.82 +0.54 +0.35 +0.36 +0.57 +0.85 +1.08 +1.17 +1.12 +0.97 +0.84 +0.8 +0.9 +1.1 +1.35 +1.52 +1.54 +1.39 +1.13 +0.92 +0.88 +1.05 +1.36 +1.63 +1.71 +1.58 +1.37 +1.35 +1.72 +2.5 +3.51 +4.41 +4.91 +4.87 +4.4 +3.74 +3.14 +2.72 +2.45 +2.21 +1.89 +1.51 +1.19 +1.1 +1.29 +1.69 +1.69 +2.03 +2.16 +2.02 +1.65 +1.25 +1.03 +1.07 +1.33 +1.63 +1.84 +1.89 +1.87 +1.94 +2.17 +2.54 +2.84 +2.86 +2.47 +1.74 +0.91 +0.25 +0.0 +0.02 +0.26 +0.47 +0.48 +0.29 +0.02 +0.0 +0.0 +0.0 +0.26 +0.49 +0.61 +0.6 +0.52 +0.45 +0.45 +0.57 +0.8 +1.05 +1.24 +1.29 +1.16 +0.94 +0.76 +0.76 +0.96 +1.29 +1.58 +1.69 +1.61 +1.48 +1.54 +1.99 +2.82 +3.84 +4.74 +5.21 +5.15 +4.67 +4.02 +3.43 +3.01 +2.73 +2.46 +2.11 +1.7 +1.35 +1.22 +1.36 +1.69 +2.03 +2.16 +2.02 +1.65 +1.25 +1.03 +1.07 +1.33 +1.63 +1.84 +1.89 +1.87 +1.94 +2.17 +2.54 +2.84 +2.86 +2.47 +1.74 +0.91 +0.25 +0.0 +0.02 +0.26 +0.47 +0.48 +0.29 +0.02 +0.0 +0.0 +0.0 +0.26 +0.49 +0.61 +0.6 +0.52 +0.45 +0.45 +0.57 +0.8 +1.05 +1.24 +1.29 +1.16 +0.94 +0.76 +0.76 +0.96 +1.29 +1.58 +1.69 +1.61 +1.48 +1.54 +1.99 +2.82 +3.84 +4.74 +5.21 +5.15 +4.67 +4.02 +3.43 +3.01 +2.73 +2.46 +2.11 +1.7 +1.35 +1.22 +1.36 +1.69 +1.69 +1.95 +2.04 +1.88 +1.53 +1.17 +0.98 +1.05 +1.31 +1.61 +1.77 +1.76 +1.66 +1.61 +1.72 +1.97 +2.2 +2.21 +1.86 +1.23 +0.5 +0.0 +0.0 +0.0 +0.0 +0.16 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.13 +0.16 +0.11 +0.07 +0.1 +0.22 +0.42 +0.66 +0.83 +0.86 +0.75 +0.56 +0.43 +0.46 +0.69 +1.03 +1.33 +1.47 +1.43 +1.38 +1.52 +2.02 +2.87 +3.86 +4.7 +5.12 +5.06 +4.62 +4.03 +3.52 +3.17 +2.93 +2.68 +2.33 +1.9 +1.53 +1.35 +1.43 +1.69 +1.95 +2.04 +1.88 +1.53 +1.17 +0.98 +1.05 +1.31 +1.61 +1.77 +1.76 +1.66 +1.61 +1.72 +1.97 +2.2 +2.21 +1.86 +1.23 +0.5 +0.0 +0.0 +0.0 +0.0 +0.16 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.13 +0.16 +0.11 +0.07 +0.1 +0.22 +0.42 +0.66 +0.83 +0.86 +0.75 +0.56 +0.43 +0.46 +0.69 +1.03 +1.33 +1.47 +1.43 +1.38 +1.52 +2.02 +2.87 +3.86 +4.7 +5.12 +5.06 +4.62 +4.03 +3.52 +3.17 +2.93 +2.68 +2.33 +1.9 +1.53 +1.35 +1.43 +1.69 +1.72 +1.91 +1.94 +1.75 +1.4 +1.07 +0.9 +0.98 +1.23 +1.51 +1.66 +1.62 +1.48 +1.37 +1.42 +1.62 +1.83 +1.86 +1.6 +1.08 +0.47 +0.0 +0.0 +0.0 +0.08 +0.23 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.08 +0.24 +0.41 +0.52 +0.52 +0.39 +0.23 +0.13 +0.2 +0.45 +0.79 +1.07 +1.21 +1.2 +1.19 +1.38 +1.89 +2.7 +3.6 +4.33 +4.68 +4.61 +4.23 +3.77 +3.4 +3.17 +3.01 +2.81 +2.48 +2.07 +1.7 +1.5 +1.53 +1.72 +1.91 +1.94 +1.75 +1.4 +1.07 +0.9 +0.98 +1.23 +1.51 +1.66 +1.62 +1.48 +1.37 +1.42 +1.62 +1.83 +1.86 +1.6 +1.08 +0.47 +0.0 +0.0 +0.0 +0.08 +0.23 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.08 +0.24 +0.41 +0.52 +0.52 +0.39 +0.23 +0.13 +0.2 +0.45 +0.79 +1.07 +1.21 +1.2 +1.19 +1.38 +1.89 +2.7 +3.6 +4.33 +4.68 +4.61 +4.23 +3.77 +3.4 +3.17 +3.01 +2.81 +2.48 +2.07 +1.7 +1.5 +1.53 +1.72 +1.77 +1.89 +1.87 +1.64 +1.28 +0.94 +0.76 +0.82 +1.05 +1.31 +1.45 +1.42 +1.29 +1.19 +1.24 +1.45 +1.68 +1.77 +1.61 +1.21 +0.73 +0.35 +0.21 +0.3 +0.49 +0.62 +0.58 +0.36 +0.07 +0.0 +0.0 +0.0 +0.0 +0.11 +0.2 +0.23 +0.22 +0.19 +0.2 +0.26 +0.36 +0.45 +0.48 +0.4 +0.25 +0.09 +0.02 +0.11 +0.36 +0.68 +0.92 +1.03 +1.01 +1.02 +1.21 +1.68 +2.38 +3.13 +3.72 +3.97 +3.89 +3.6 +3.28 +3.07 +2.99 +2.93 +2.8 +2.53 +2.17 +1.83 +1.63 +1.63 +1.77 +1.89 +1.87 +1.64 +1.28 +0.94 +0.76 +0.82 +1.05 +1.31 +1.45 +1.42 +1.29 +1.19 +1.24 +1.45 +1.68 +1.77 +1.61 +1.21 +0.73 +0.35 +0.21 +0.3 +0.49 +0.62 +0.58 +0.36 +0.07 +0.0 +0.0 +0.0 +0.0 +0.11 +0.2 +0.23 +0.22 +0.19 +0.2 +0.26 +0.36 +0.45 +0.48 +0.4 +0.25 +0.09 +0.02 +0.11 +0.36 +0.68 +0.92 +1.03 +1.01 +1.02 +1.21 +1.68 +2.38 +3.13 +3.72 +3.97 +3.89 +3.6 +3.28 +3.07 +2.99 +2.93 +2.8 +2.53 +2.17 +1.83 +1.63 +1.63 +1.77 +1.79 +1.85 +1.77 +1.5 +1.12 +0.75 +0.55 +0.57 +0.76 +0.99 +1.13 +1.12 +1.04 +1.0 +1.1 +1.34 +1.62 +1.77 +1.69 +1.4 +1.02 +0.73 +0.65 +0.77 +0.96 +1.08 +1.02 +0.79 +0.5 +0.27 +0.19 +0.25 +0.39 +0.54 +0.64 +0.67 +0.66 +0.65 +0.66 +0.69 +0.74 +0.74 +0.67 +0.52 +0.32 +0.15 +0.09 +0.2 +0.44 +0.71 +0.89 +0.93 +0.88 +0.86 +1.02 +1.41 +1.98 +2.56 +2.98 +3.12 +3.03 +2.83 +2.67 +2.62 +2.67 +2.72 +2.67 +2.46 +2.16 +1.87 +1.71 +1.7 +1.79 +1.85 +1.77 +1.5 +1.12 +0.75 +0.55 +0.57 +0.76 +0.99 +1.13 +1.12 +1.04 +1.0 +1.1 +1.34 +1.62 +1.77 +1.69 +1.4 +1.02 +0.73 +0.65 +0.77 +0.96 +1.08 +1.02 +0.79 +0.5 +0.27 +0.19 +0.25 +0.39 +0.54 +0.64 +0.67 +0.66 +0.65 +0.66 +0.69 +0.74 +0.74 +0.67 +0.52 +0.32 +0.15 +0.09 +0.2 +0.44 +0.71 +0.89 +0.93 +0.88 +0.86 +1.02 +1.41 +1.98 +2.56 +2.98 +3.12 +3.03 +2.83 +2.67 +2.62 +2.67 +2.72 +2.67 +2.46 +2.16 +1.87 +1.71 +1.7 +1.79 +1.75 +1.75 +1.6 +1.29 +0.88 +0.5 +0.27 +0.25 +0.4 +0.59 +0.73 +0.76 +0.73 +0.74 +0.9 +1.18 +1.48 +1.67 +1.63 +1.4 +1.09 +0.88 +0.85 +1.01 +1.21 +1.33 +1.27 +1.04 +0.77 +0.57 +0.51 +0.6 +0.77 +0.93 +1.04 +1.09 +1.1 +1.1 +1.13 +1.16 +1.16 +1.09 +0.94 +0.71 +0.47 +0.29 +0.26 +0.38 +0.59 +0.79 +0.89 +0.86 +0.75 +0.7 +0.82 +1.13 +1.57 +1.98 +2.25 +2.31 +2.22 +2.1 +2.07 +2.17 +2.33 +2.45 +2.45 +2.3 +2.06 +1.83 +1.71 +1.7 +1.75 +1.75 +1.6 +1.29 +0.88 +0.5 +0.27 +0.25 +0.4 +0.59 +0.73 +0.76 +0.73 +0.74 +0.9 +1.18 +1.48 +1.67 +1.63 +1.4 +1.09 +0.88 +0.85 +1.01 +1.21 +1.33 +1.27 +1.04 +0.77 +0.57 +0.51 +0.6 +0.77 +0.93 +1.04 +1.09 +1.1 +1.1 +1.13 +1.16 +1.16 +1.09 +0.94 +0.71 +0.47 +0.29 +0.26 +0.38 +0.59 +0.79 +0.89 +0.86 +0.75 +0.7 +0.82 +1.13 +1.57 +1.98 +2.25 +2.31 +2.22 +2.1 +2.07 +2.17 +2.33 +2.45 +2.45 +2.3 +2.06 +1.83 +1.71 +1.7 +1.75 +1.65 +1.58 +1.36 +1.01 +0.59 +0.21 +0.0 +0.0 +0.05 +0.22 +0.34 +0.38 +0.38 +0.45 +0.63 +0.92 +1.21 +1.37 +1.33 +1.12 +0.86 +0.69 +0.72 +0.91 +1.14 +1.26 +1.21 +1.01 +0.77 +0.61 +0.6 +0.73 +0.92 +1.11 +1.23 +1.3 +1.34 +1.38 +1.43 +1.47 +1.44 +1.32 +1.1 +0.82 +0.56 +0.4 +0.39 +0.52 +0.71 +0.85 +0.87 +0.77 +0.62 +0.55 +0.64 +0.89 +1.23 +1.53 +1.68 +1.68 +1.6 +1.56 +1.64 +1.82 +2.05 +2.21 +2.23 +2.12 +1.94 +1.76 +1.67 +1.65 +1.65 +1.58 +1.36 +1.01 +0.59 +0.21 +0.0 +0.0 +0.05 +0.22 +0.34 +0.38 +0.38 +0.45 +0.63 +0.92 +1.21 +1.37 +1.33 +1.12 +0.86 +0.69 +0.72 +0.91 +1.14 +1.26 +1.21 +1.01 +0.77 +0.61 +0.6 +0.73 +0.92 +1.11 +1.23 +1.3 +1.34 +1.38 +1.43 +1.47 +1.44 +1.32 +1.1 +0.82 +0.56 +0.4 +0.39 +0.52 +0.71 +0.85 +0.87 +0.77 +0.62 +0.55 +0.64 +0.89 +1.23 +1.53 +1.68 +1.68 +1.6 +1.56 +1.64 +1.82 +2.05 +2.21 +2.23 +2.12 +1.94 +1.76 +1.67 +1.65 +1.65 +1.57 +1.42 +1.14 +0.76 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.08 +0.1 +0.18 +0.36 +0.62 +0.86 +0.97 +0.89 +0.67 +0.43 +0.32 +0.39 +0.61 +0.85 +0.99 +0.95 +0.78 +0.58 +0.47 +0.51 +0.67 +0.88 +1.07 +1.21 +1.29 +1.36 +1.44 +1.53 +1.57 +1.53 +1.37 +1.1 +0.8 +0.55 +0.42 +0.45 +0.6 +0.77 +0.87 +0.83 +0.69 +0.53 +0.46 +0.56 +0.79 +1.08 +1.3 +1.39 +1.36 +1.3 +1.31 +1.45 +1.68 +1.92 +2.08 +2.11 +2.02 +1.88 +1.75 +1.68 +1.64 +1.57 +1.42 +1.14 +0.76 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.08 +0.1 +0.18 +0.36 +0.62 +0.86 +0.97 +0.89 +0.67 +0.43 +0.32 +0.39 +0.61 +0.85 +0.99 +0.95 +0.78 +0.58 +0.47 +0.51 +0.67 +0.88 +1.07 +1.21 +1.29 +1.36 +1.44 +1.53 +1.57 +1.53 +1.37 +1.1 +0.8 +0.55 +0.42 +0.45 +0.6 +0.77 +0.87 +0.83 +0.69 +0.53 +0.46 +0.56 +0.79 +1.08 +1.3 +1.39 +1.36 +1.3 +1.31 +1.45 +1.68 +1.92 +2.08 +2.11 +2.02 +1.88 +1.75 +1.68 +1.64 +1.57 +1.61 +1.38 +1.04 +0.64 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.21 +0.42 +0.6 +0.64 +0.52 +0.3 +0.09 +0.01 +0.12 +0.35 +0.6 +0.73 +0.69 +0.55 +0.39 +0.32 +0.39 +0.56 +0.77 +0.96 +1.09 +1.19 +1.29 +1.41 +1.51 +1.56 +1.5 +1.31 +1.03 +0.73 +0.5 +0.43 +0.51 +0.68 +0.86 +0.93 +0.87 +0.72 +0.57 +0.54 +0.66 +0.9 +1.17 +1.35 +1.41 +1.37 +1.33 +1.36 +1.51 +1.74 +1.95 +2.09 +2.11 +2.04 +1.95 +1.87 +1.81 +1.74 +1.61 +1.38 +1.04 +0.64 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.21 +0.42 +0.6 +0.64 +0.52 +0.3 +0.09 +0.01 +0.12 +0.35 +0.6 +0.73 +0.69 +0.55 +0.39 +0.32 +0.39 +0.56 +0.77 +0.96 +1.09 +1.19 +1.29 +1.41 +1.51 +1.56 +1.5 +1.31 +1.03 +0.73 +0.5 +0.43 +0.51 +0.68 +0.86 +0.93 +0.87 +0.72 +0.57 +0.54 +0.66 +0.9 +1.17 +1.35 +1.41 +1.37 +1.33 +1.36 +1.51 +1.74 +1.95 +2.09 +2.11 +2.04 +1.95 +1.87 +1.81 +1.74 +1.61 +1.83 +1.53 +1.14 +0.72 +0.35 +0.07 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.05 +0.13 +0.27 +0.44 +0.55 +0.54 +0.4 +0.19 +0.03 +0.0 +0.13 +0.36 +0.57 +0.66 +0.61 +0.48 +0.34 +0.31 +0.39 +0.55 +0.74 +0.91 +1.04 +1.16 +1.3 +1.44 +1.57 +1.61 +1.53 +1.32 +1.03 +0.75 +0.57 +0.54 +0.66 +0.86 +1.04 +1.11 +1.06 +0.92 +0.81 +0.81 +0.95 +1.2 +1.45 +1.61 +1.65 +1.61 +1.57 +1.6 +1.73 +1.91 +2.08 +2.19 +2.21 +2.19 +2.15 +2.13 +2.1 +2.01 +1.83 +1.53 +1.14 +0.72 +0.35 +0.07 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.05 +0.13 +0.27 +0.44 +0.55 +0.54 +0.4 +0.19 +0.03 +0.0 +0.13 +0.36 +0.57 +0.66 +0.61 +0.48 +0.34 +0.31 +0.39 +0.55 +0.74 +0.91 +1.04 +1.16 +1.3 +1.44 +1.57 +1.61 +1.53 +1.32 +1.03 +0.75 +0.57 +0.54 +0.66 +0.86 +1.04 +1.11 +1.06 +0.92 +0.81 +0.81 +0.95 +1.2 +1.45 +1.61 +1.65 +1.61 +1.57 +1.6 +1.73 +1.91 +2.08 +2.19 +2.21 +2.19 +2.15 +2.13 +2.1 +2.01 +1.83 +2.17 +1.83 +1.42 +0.99 +0.62 +0.37 +0.23 +0.18 +0.19 +0.21 +0.23 +0.25 +0.3 +0.39 +0.53 +0.65 +0.72 +0.68 +0.56 +0.4 +0.3 +0.31 +0.44 +0.63 +0.77 +0.8 +0.71 +0.57 +0.46 +0.43 +0.51 +0.66 +0.84 +1.0 +1.15 +1.31 +1.49 +1.66 +1.79 +1.82 +1.71 +1.49 +1.21 +0.96 +0.81 +0.82 +0.95 +1.15 +1.32 +1.39 +1.35 +1.25 +1.16 +1.17 +1.31 +1.53 +1.76 +1.9 +1.94 +1.89 +1.85 +1.86 +1.94 +2.07 +2.19 +2.28 +2.33 +2.36 +2.4 +2.45 +2.46 +2.38 +2.17 +1.83 +1.42 +0.99 +0.62 +0.37 +0.23 +0.18 +0.19 +0.21 +0.23 +0.25 +0.3 +0.39 +0.53 +0.65 +0.72 +0.68 +0.56 +0.4 +0.3 +0.31 +0.44 +0.63 +0.77 +0.8 +0.71 +0.57 +0.46 +0.43 +0.51 +0.66 +0.84 +1.0 +1.15 +1.31 +1.49 +1.66 +1.79 +1.82 +1.71 +1.49 +1.21 +0.96 +0.81 +0.82 +0.95 +1.15 +1.32 +1.39 +1.35 +1.25 +1.16 +1.17 +1.31 +1.53 +1.76 +1.9 +1.94 +1.89 +1.85 +1.86 +1.94 +2.07 +2.19 +2.28 +2.33 +2.36 +2.4 +2.45 +2.46 +2.38 +2.17 +2.49 +2.15 +1.73 +1.31 +0.95 +0.69 +0.54 +0.46 +0.43 +0.43 +0.46 +0.51 +0.6 +0.72 +0.85 +0.95 +0.98 +0.93 +0.84 +0.74 +0.7 +0.75 +0.87 +0.98 +1.03 +0.98 +0.85 +0.7 +0.6 +0.59 +0.68 +0.82 +1.0 +1.18 +1.38 +1.6 +1.83 +2.03 +2.15 +2.15 +2.02 +1.79 +1.52 +1.3 +1.17 +1.18 +1.29 +1.45 +1.59 +1.65 +1.62 +1.53 +1.45 +1.44 +1.54 +1.7 +1.88 +2.0 +2.04 +2.01 +1.96 +1.95 +1.99 +2.06 +2.16 +2.25 +2.34 +2.45 +2.58 +2.7 +2.76 +2.7 +2.49 +2.15 +1.73 +1.31 +0.95 +0.69 +0.54 +0.46 +0.43 +0.43 +0.46 +0.51 +0.6 +0.72 +0.85 +0.95 +0.98 +0.93 +0.84 +0.74 +0.7 +0.75 +0.87 +0.98 +1.03 +0.98 +0.85 +0.7 +0.6 +0.59 +0.68 +0.82 +1.0 +1.18 +1.38 +1.6 +1.83 +2.03 +2.15 +2.15 +2.02 +1.79 +1.52 +1.3 +1.17 +1.18 +1.29 +1.45 +1.59 +1.65 +1.62 +1.53 +1.45 +1.44 +1.54 +1.7 +1.88 +2.0 +2.04 +2.01 +1.96 +1.95 +1.99 +2.06 +2.16 +2.25 +2.34 +2.45 +2.58 +2.7 +2.76 +2.7 +2.49 +2.65 +2.33 +1.93 +1.53 +1.19 +0.92 +0.74 +0.62 +0.56 +0.55 +0.59 +0.68 +0.82 +0.96 +1.07 +1.12 +1.12 +1.06 +1.0 +0.96 +0.98 +1.05 +1.13 +1.16 +1.12 +1.0 +0.84 +0.71 +0.64 +0.65 +0.75 +0.91 +1.12 +1.35 +1.63 +1.92 +2.2 +2.41 +2.51 +2.47 +2.31 +2.07 +1.82 +1.6 +1.47 +1.44 +1.48 +1.57 +1.65 +1.69 +1.66 +1.58 +1.49 +1.43 +1.45 +1.55 +1.67 +1.79 +1.84 +1.85 +1.81 +1.79 +1.79 +1.84 +1.92 +2.03 +2.17 +2.36 +2.56 +2.75 +2.86 +2.83 +2.65 +2.33 +1.93 +1.53 +1.19 +0.92 +0.74 +0.62 +0.56 +0.55 +0.59 +0.68 +0.82 +0.96 +1.07 +1.12 +1.12 +1.06 +1.0 +0.96 +0.98 +1.05 +1.13 +1.16 +1.12 +1.0 +0.84 +0.71 +0.64 +0.65 +0.75 +0.91 +1.12 +1.35 +1.63 +1.92 +2.2 +2.41 +2.51 +2.47 +2.31 +2.07 +1.82 +1.6 +1.47 +1.44 +1.48 +1.57 +1.65 +1.69 +1.66 +1.58 +1.49 +1.43 +1.45 +1.55 +1.67 +1.79 +1.84 +1.85 +1.81 +1.79 +1.79 +1.84 +1.92 +2.03 +2.17 +2.36 +2.56 +2.75 +2.86 +2.83 +2.65 +2.57 +2.3 +1.96 +1.6 +1.27 +1.0 +0.78 +0.63 +0.53 +0.51 +0.58 +0.7 +0.86 +0.99 +1.05 +1.05 +0.98 +0.91 +0.87 +0.89 +0.95 +1.02 +1.06 +1.03 +0.92 +0.77 +0.63 +0.53 +0.52 +0.58 +0.71 +0.91 +1.16 +1.46 +1.81 +2.16 +2.47 +2.66 +2.71 +2.62 +2.41 +2.16 +1.91 +1.69 +1.53 +1.44 +1.39 +1.4 +1.42 +1.44 +1.4 +1.32 +1.2 +1.09 +1.03 +1.06 +1.16 +1.28 +1.38 +1.43 +1.43 +1.41 +1.4 +1.42 +1.5 +1.63 +1.83 +2.07 +2.33 +2.56 +2.7 +2.71 +2.57 +2.3 +1.96 +1.6 +1.27 +1.0 +0.78 +0.63 +0.53 +0.51 +0.58 +0.7 +0.86 +0.99 +1.05 +1.05 +0.98 +0.91 +0.87 +0.89 +0.95 +1.02 +1.06 +1.03 +0.92 +0.77 +0.63 +0.53 +0.52 +0.58 +0.71 +0.91 +1.16 +1.46 +1.81 +2.16 +2.47 +2.66 +2.71 +2.62 +2.41 +2.16 +1.91 +1.69 +1.53 +1.44 +1.39 +1.4 +1.42 +1.44 +1.4 +1.32 +1.2 +1.09 +1.03 +1.06 +1.16 +1.28 +1.38 +1.43 +1.43 +1.41 +1.4 +1.42 +1.5 +1.63 +1.83 +2.07 +2.33 +2.56 +2.7 +2.71 +2.57 +2.31 +2.11 +1.84 +1.53 +1.23 +0.95 +0.71 +0.52 +0.41 +0.38 +0.45 +0.59 +0.73 +0.82 +0.81 +0.73 +0.6 +0.5 +0.48 +0.53 +0.63 +0.71 +0.73 +0.66 +0.53 +0.4 +0.31 +0.29 +0.35 +0.47 +0.64 +0.87 +1.17 +1.53 +1.93 +2.31 +2.59 +2.72 +2.69 +2.51 +2.25 +1.98 +1.72 +1.49 +1.3 +1.14 +1.03 +0.96 +0.95 +0.95 +0.92 +0.84 +0.7 +0.55 +0.44 +0.43 +0.52 +0.67 +0.83 +0.93 +0.97 +0.95 +0.92 +0.93 +1.0 +1.16 +1.38 +1.65 +1.94 +2.19 +2.35 +2.4 +2.31 +2.11 +1.84 +1.53 +1.23 +0.95 +0.71 +0.52 +0.41 +0.38 +0.45 +0.59 +0.73 +0.82 +0.81 +0.73 +0.6 +0.5 +0.48 +0.53 +0.63 +0.71 +0.73 +0.66 +0.53 +0.4 +0.31 +0.29 +0.35 +0.47 +0.64 +0.87 +1.17 +1.53 +1.93 +2.31 +2.59 +2.72 +2.69 +2.51 +2.25 +1.98 +1.72 +1.49 +1.3 +1.14 +1.03 +0.96 +0.95 +0.95 +0.92 +0.84 +0.7 +0.55 +0.44 +0.43 +0.52 +0.67 +0.83 +0.93 +0.97 +0.95 +0.92 +0.93 +1.0 +1.16 +1.38 +1.65 +1.94 +2.19 +2.35 +2.4 +2.31 +2.05 +1.92 +1.72 +1.46 +1.19 +0.91 +0.65 +0.43 +0.3 +0.26 +0.32 +0.44 +0.54 +0.57 +0.5 +0.33 +0.16 +0.04 +0.03 +0.12 +0.25 +0.35 +0.36 +0.3 +0.19 +0.11 +0.1 +0.17 +0.3 +0.47 +0.69 +0.95 +1.27 +1.65 +2.05 +2.4 +2.6 +2.63 +2.49 +2.22 +1.9 +1.6 +1.33 +1.1 +0.88 +0.69 +0.54 +0.45 +0.43 +0.45 +0.45 +0.39 +0.25 +0.08 +0.0 +0.0 +0.04 +0.23 +0.42 +0.56 +0.6 +0.57 +0.52 +0.51 +0.58 +0.74 +0.97 +1.25 +1.54 +1.79 +1.98 +2.07 +2.05 +1.92 +1.72 +1.46 +1.19 +0.91 +0.65 +0.43 +0.3 +0.26 +0.32 +0.44 +0.54 +0.57 +0.5 +0.33 +0.16 +0.04 +0.03 +0.12 +0.25 +0.35 +0.36 +0.3 +0.19 +0.11 +0.1 +0.17 +0.3 +0.47 +0.69 +0.95 +1.27 +1.65 +2.05 +2.4 +2.6 +2.63 +2.49 +2.22 +1.9 +1.6 +1.33 +1.1 +0.88 +0.69 +0.54 +0.45 +0.43 +0.45 +0.45 +0.39 +0.25 +0.08 +0.0 +0.0 +0.04 +0.23 +0.42 +0.56 +0.6 +0.57 +0.52 +0.51 +0.58 +0.74 +0.97 +1.25 +1.54 +1.79 +1.98 +2.07 +2.05 +1.93 +1.88 +1.75 +1.53 +1.27 +0.99 +0.72 +0.49 +0.33 +0.28 +0.32 +0.4 +0.46 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.23 +0.2 +0.14 +0.12 +0.17 +0.31 +0.49 +0.7 +0.93 +1.2 +1.53 +1.89 +2.24 +2.5 +2.6 +2.5 +2.24 +1.89 +1.53 +1.2 +0.93 +0.7 +0.49 +0.31 +0.17 +0.12 +0.14 +0.2 +0.23 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.46 +0.4 +0.32 +0.28 +0.33 +0.49 +0.72 +0.99 +1.27 +1.53 +1.75 +1.88 +1.93 +1.88 +1.75 +1.53 +1.27 +0.99 +0.72 +0.49 +0.33 +0.28 +0.32 +0.4 +0.46 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.23 +0.2 +0.14 +0.12 +0.17 +0.31 +0.49 +0.7 +0.93 +1.2 +1.53 +1.89 +2.24 +2.5 +2.6 +2.5 +2.24 +1.89 +1.53 +1.2 +0.93 +0.7 +0.49 +0.31 +0.17 +0.12 +0.14 +0.2 +0.23 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.46 +0.4 +0.32 +0.28 +0.33 +0.49 +0.72 +0.99 +1.27 +1.53 +1.75 +1.88 +1.93 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.06 +2.24 +2.31 +2.25 +2.07 +1.84 +1.58 +1.34 +1.11 +0.89 +0.69 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.26 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.88 +1.09 +1.32 +1.55 +1.79 +2.01 +2.17 +2.22 +2.16 +2.0 +1.77 +1.53 +1.3 +1.08 +0.86 +0.67 +0.52 +0.43 +0.41 +0.41 +0.38 +0.27 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.39 +0.5 +0.67 +0.88 +1.09 +1.32 +1.56 +1.82 +2.06 +2.24 +2.31 +2.25 +2.07 +1.84 +1.58 +1.34 +1.11 +0.89 +0.69 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.26 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.88 +1.09 +1.32 +1.55 +1.79 +2.01 +2.17 +2.22 +2.16 +2.0 +1.77 +1.53 +1.3 +1.08 +0.86 +0.67 +0.52 +0.43 +0.41 +0.41 +0.38 +0.27 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.39 +0.5 +0.67 +0.88 +1.09 +1.32 +1.56 +1.82 +2.06 +2.16 +2.38 +2.47 +2.41 +2.21 +1.92 +1.62 +1.34 +1.09 +0.85 +0.64 +0.45 +0.33 +0.27 +0.28 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.33 +0.45 +0.48 +0.45 +0.44 +0.48 +0.59 +0.77 +0.99 +1.24 +1.5 +1.75 +1.96 +2.1 +2.15 +2.08 +1.92 +1.69 +1.44 +1.18 +0.93 +0.72 +0.54 +0.44 +0.41 +0.44 +0.48 +0.46 +0.35 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.29 +0.26 +0.24 +0.28 +0.4 +0.57 +0.78 +1.01 +1.26 +1.55 +1.86 +2.16 +2.38 +2.47 +2.41 +2.21 +1.92 +1.62 +1.34 +1.09 +0.85 +0.64 +0.45 +0.33 +0.27 +0.28 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.33 +0.45 +0.48 +0.45 +0.44 +0.48 +0.59 +0.77 +0.99 +1.24 +1.5 +1.75 +1.96 +2.1 +2.15 +2.08 +1.92 +1.69 +1.44 +1.18 +0.93 +0.72 +0.54 +0.44 +0.41 +0.44 +0.48 +0.46 +0.35 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.29 +0.26 +0.24 +0.28 +0.4 +0.57 +0.78 +1.01 +1.26 +1.55 +1.86 +2.16 +2.19 +2.47 +2.6 +2.53 +2.3 +1.97 +1.61 +1.29 +1.02 +0.79 +0.57 +0.39 +0.24 +0.18 +0.18 +0.23 +0.26 +0.21 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.45 +0.48 +0.43 +0.35 +0.32 +0.38 +0.54 +0.77 +1.05 +1.33 +1.59 +1.79 +1.92 +1.94 +1.87 +1.72 +1.49 +1.23 +0.95 +0.68 +0.45 +0.31 +0.26 +0.3 +0.4 +0.47 +0.46 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.09 +0.2 +0.23 +0.19 +0.12 +0.08 +0.13 +0.25 +0.42 +0.62 +0.85 +1.12 +1.45 +1.83 +2.19 +2.47 +2.6 +2.53 +2.3 +1.97 +1.61 +1.29 +1.02 +0.79 +0.57 +0.39 +0.24 +0.18 +0.18 +0.23 +0.26 +0.21 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.45 +0.48 +0.43 +0.35 +0.32 +0.38 +0.54 +0.77 +1.05 +1.33 +1.59 +1.79 +1.92 +1.94 +1.87 +1.72 +1.49 +1.23 +0.95 +0.68 +0.45 +0.31 +0.26 +0.3 +0.4 +0.47 +0.46 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.09 +0.2 +0.23 +0.19 +0.12 +0.08 +0.13 +0.25 +0.42 +0.62 +0.85 +1.12 +1.45 +1.83 +2.19 +2.09 +2.42 +2.58 +2.52 +2.26 +1.9 +1.51 +1.18 +0.92 +0.72 +0.53 +0.35 +0.19 +0.1 +0.1 +0.16 +0.23 +0.23 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.32 +0.36 +0.29 +0.17 +0.07 +0.07 +0.2 +0.45 +0.75 +1.05 +1.31 +1.49 +1.58 +1.59 +1.53 +1.39 +1.19 +0.93 +0.63 +0.34 +0.11 +0.0 +0.0 +0.1 +0.25 +0.33 +0.3 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.15 +0.12 +0.03 +0.0 +0.0 +0.0 +0.09 +0.25 +0.42 +0.63 +0.89 +1.24 +1.66 +2.09 +2.42 +2.58 +2.52 +2.26 +1.9 +1.51 +1.18 +0.92 +0.72 +0.53 +0.35 +0.19 +0.1 +0.1 +0.16 +0.23 +0.23 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.32 +0.36 +0.29 +0.17 +0.07 +0.07 +0.2 +0.45 +0.75 +1.05 +1.31 +1.49 +1.58 +1.59 +1.53 +1.39 +1.19 +0.93 +0.63 +0.34 +0.11 +0.0 +0.0 +0.1 +0.25 +0.33 +0.3 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.15 +0.12 +0.03 +0.0 +0.0 +0.0 +0.09 +0.25 +0.42 +0.63 +0.89 +1.24 +1.66 +2.09 +1.85 +2.23 +2.41 +2.35 +2.09 +1.72 +1.33 +1.03 +0.82 +0.67 +0.53 +0.37 +0.21 +0.08 +0.05 +0.1 +0.18 +0.22 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.2 +0.12 +0.0 +0.0 +0.0 +0.0 +0.11 +0.43 +0.74 +0.98 +1.13 +1.19 +1.18 +1.13 +1.03 +0.86 +0.62 +0.32 +0.02 +0.0 +0.0 +0.0 +0.0 +0.06 +0.13 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.22 +0.37 +0.6 +0.94 +1.38 +1.85 +2.23 +2.41 +2.35 +2.09 +1.72 +1.33 +1.03 +0.82 +0.67 +0.53 +0.37 +0.21 +0.08 +0.05 +0.1 +0.18 +0.22 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.2 +0.12 +0.0 +0.0 +0.0 +0.0 +0.11 +0.43 +0.74 +0.98 +1.13 +1.19 +1.18 +1.13 +1.03 +0.86 +0.62 +0.32 +0.02 +0.0 +0.0 +0.0 +0.0 +0.06 +0.13 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.22 +0.37 +0.6 +0.94 +1.38 +1.85 +1.59 +1.99 +2.2 +2.15 +1.89 +1.51 +1.15 +0.89 +0.75 +0.68 +0.6 +0.47 +0.29 +0.13 +0.05 +0.08 +0.16 +0.2 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.12 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.26 +0.56 +0.77 +0.87 +0.89 +0.87 +0.84 +0.78 +0.65 +0.44 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.08 +0.16 +0.34 +0.66 +1.11 +1.59 +1.99 +2.2 +2.15 +1.89 +1.51 +1.15 +0.89 +0.75 +0.68 +0.6 +0.47 +0.29 +0.13 +0.05 +0.08 +0.16 +0.2 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.12 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.26 +0.56 +0.77 +0.87 +0.89 +0.87 +0.84 +0.78 +0.65 +0.44 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.08 +0.16 +0.34 +0.66 +1.11 +1.59 +1.46 +1.87 +2.08 +2.03 +1.77 +1.4 +1.07 +0.86 +0.79 +0.77 +0.74 +0.62 +0.42 +0.23 +0.11 +0.12 +0.21 +0.26 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.24 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.33 +0.61 +0.79 +0.85 +0.84 +0.81 +0.79 +0.76 +0.68 +0.5 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.05 +0.08 +0.21 +0.51 +0.96 +1.46 +1.87 +2.08 +2.03 +1.77 +1.4 +1.07 +0.86 +0.79 +0.77 +0.74 +0.62 +0.42 +0.23 +0.11 +0.12 +0.21 +0.26 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.24 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.33 +0.61 +0.79 +0.85 +0.84 +0.81 +0.79 +0.76 +0.68 +0.5 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.05 +0.08 +0.21 +0.51 +0.96 +1.46 +1.52 +1.94 +2.14 +2.08 +1.8 +1.45 +1.14 +0.97 +0.94 +0.96 +0.94 +0.81 +0.59 +0.36 +0.23 +0.24 +0.34 +0.42 +0.37 +0.16 +0.0 +0.0 +0.0 +0.0 +0.1 +0.41 +0.55 +0.47 +0.25 +0.02 +0.0 +0.02 +0.28 +0.61 +0.88 +1.02 +1.05 +1.02 +0.98 +0.97 +0.97 +0.92 +0.76 +0.5 +0.2 +0.0 +0.0 +0.03 +0.27 +0.47 +0.5 +0.31 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.23 +0.21 +0.06 +0.0 +0.0 +0.0 +0.04 +0.16 +0.2 +0.17 +0.15 +0.26 +0.55 +1.01 +1.52 +1.94 +2.14 +2.08 +1.8 +1.45 +1.14 +0.97 +0.94 +0.96 +0.94 +0.81 +0.59 +0.36 +0.23 +0.24 +0.34 +0.42 +0.37 +0.16 +0.0 +0.0 +0.0 +0.0 +0.1 +0.41 +0.55 +0.47 +0.25 +0.02 +0.0 +0.02 +0.28 +0.61 +0.88 +1.02 +1.05 +1.02 +0.98 +0.97 +0.97 +0.92 +0.76 +0.5 +0.2 +0.0 +0.0 +0.03 +0.27 +0.47 +0.5 +0.31 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.23 +0.21 +0.06 +0.0 +0.0 +0.0 +0.04 +0.16 +0.2 +0.17 +0.15 +0.26 +0.55 +1.01 +1.52 +1.73 +2.14 +2.33 +2.25 +1.96 +1.61 +1.32 +1.18 +1.17 +1.21 +1.18 +1.02 +0.77 +0.52 +0.4 +0.43 +0.57 +0.68 +0.65 +0.45 +0.16 +0.0 +0.0 +0.14 +0.47 +0.77 +0.88 +0.78 +0.54 +0.3 +0.21 +0.33 +0.6 +0.92 +1.17 +1.3 +1.32 +1.27 +1.24 +1.24 +1.25 +1.21 +1.06 +0.81 +0.52 +0.3 +0.26 +0.41 +0.68 +0.91 +0.96 +0.78 +0.45 +0.13 +0.0 +0.07 +0.32 +0.58 +0.69 +0.61 +0.4 +0.2 +0.11 +0.17 +0.31 +0.43 +0.46 +0.41 +0.37 +0.46 +0.75 +1.21 +1.73 +2.14 +2.33 +2.25 +1.96 +1.61 +1.32 +1.18 +1.17 +1.21 +1.18 +1.02 +0.77 +0.52 +0.4 +0.43 +0.57 +0.68 +0.65 +0.45 +0.16 +0.0 +0.0 +0.14 +0.47 +0.77 +0.88 +0.78 +0.54 +0.3 +0.21 +0.33 +0.6 +0.92 +1.17 +1.3 +1.32 +1.27 +1.24 +1.24 +1.25 +1.21 +1.06 +0.81 +0.52 +0.3 +0.26 +0.41 +0.68 +0.91 +0.96 +0.78 +0.45 +0.13 +0.0 +0.07 +0.32 +0.58 +0.69 +0.61 +0.4 +0.2 +0.11 +0.17 +0.31 +0.43 +0.46 +0.41 +0.37 +0.46 +0.75 +1.21 +1.73 +1.96 +2.35 +2.51 +2.41 +2.11 +1.77 +1.51 +1.41 +1.43 +1.47 +1.42 +1.23 +0.96 +0.72 +0.63 +0.71 +0.89 +1.01 +0.97 +0.74 +0.44 +0.21 +0.19 +0.4 +0.72 +0.98 +1.04 +0.89 +0.63 +0.39 +0.32 +0.45 +0.73 +1.04 +1.28 +1.4 +1.4 +1.36 +1.33 +1.34 +1.36 +1.33 +1.19 +0.94 +0.67 +0.46 +0.44 +0.62 +0.91 +1.18 +1.26 +1.11 +0.81 +0.53 +0.41 +0.52 +0.8 +1.06 +1.16 +1.04 +0.78 +0.53 +0.41 +0.46 +0.61 +0.74 +0.77 +0.7 +0.64 +0.72 +1.0 +1.45 +1.96 +2.35 +2.51 +2.41 +2.11 +1.77 +1.51 +1.41 +1.43 +1.47 +1.42 +1.23 +0.96 +0.72 +0.63 +0.71 +0.89 +1.01 +0.97 +0.74 +0.44 +0.21 +0.19 +0.4 +0.72 +0.98 +1.04 +0.89 +0.63 +0.39 +0.32 +0.45 +0.73 +1.04 +1.28 +1.4 +1.4 +1.36 +1.33 +1.34 +1.36 +1.33 +1.19 +0.94 +0.67 +0.46 +0.44 +0.62 +0.91 +1.18 +1.26 +1.11 +0.81 +0.53 +0.41 +0.52 +0.8 +1.06 +1.16 +1.04 +0.78 +0.53 +0.41 +0.46 +0.61 +0.74 +0.77 +0.7 +0.64 +0.72 +1.0 +1.45 +1.96 +2.05 +2.42 +2.55 +2.42 +2.12 +1.8 +1.6 +1.56 +1.63 +1.69 +1.63 +1.43 +1.17 +0.97 +0.94 +1.08 +1.28 +1.39 +1.28 +0.96 +0.58 +0.3 +0.25 +0.43 +0.71 +0.91 +0.91 +0.71 +0.42 +0.2 +0.15 +0.3 +0.58 +0.87 +1.08 +1.17 +1.17 +1.13 +1.11 +1.13 +1.16 +1.13 +1.0 +0.77 +0.5 +0.31 +0.3 +0.49 +0.81 +1.1 +1.22 +1.11 +0.84 +0.59 +0.52 +0.7 +1.03 +1.34 +1.48 +1.37 +1.1 +0.82 +0.68 +0.73 +0.89 +1.03 +1.06 +0.98 +0.89 +0.92 +1.16 +1.58 +2.05 +2.42 +2.55 +2.42 +2.12 +1.8 +1.6 +1.56 +1.63 +1.69 +1.63 +1.43 +1.17 +0.97 +0.94 +1.08 +1.28 +1.39 +1.28 +0.96 +0.58 +0.3 +0.25 +0.43 +0.71 +0.91 +0.91 +0.71 +0.42 +0.2 +0.15 +0.3 +0.58 +0.87 +1.08 +1.17 +1.17 +1.13 +1.11 +1.13 +1.16 +1.13 +1.0 +0.77 +0.5 +0.31 +0.3 +0.49 +0.81 +1.1 +1.22 +1.11 +0.84 +0.59 +0.52 +0.7 +1.03 +1.34 +1.48 +1.37 +1.1 +0.82 +0.68 +0.73 +0.89 +1.03 +1.06 +0.98 +0.89 +0.92 +1.16 +1.58 +2.05 +1.96 +2.28 +2.38 +2.23 +1.93 +1.66 +1.53 +1.57 +1.71 +1.82 +1.79 +1.63 +1.42 +1.3 +1.37 +1.58 +1.79 +1.83 +1.59 +1.13 +0.61 +0.23 +0.13 +0.27 +0.5 +0.64 +0.58 +0.33 +0.02 +0.0 +0.0 +0.0 +0.22 +0.48 +0.64 +0.69 +0.67 +0.62 +0.61 +0.63 +0.67 +0.65 +0.54 +0.32 +0.07 +0.0 +0.0 +0.07 +0.39 +0.69 +0.82 +0.73 +0.5 +0.28 +0.27 +0.52 +0.96 +1.38 +1.61 +1.56 +1.31 +1.03 +0.89 +0.94 +1.11 +1.26 +1.28 +1.17 +1.02 +0.99 +1.16 +1.53 +1.96 +2.28 +2.38 +2.23 +1.93 +1.66 +1.53 +1.57 +1.71 +1.82 +1.79 +1.63 +1.42 +1.3 +1.37 +1.58 +1.79 +1.83 +1.59 +1.13 +0.61 +0.23 +0.13 +0.27 +0.5 +0.64 +0.58 +0.33 +0.02 +0.0 +0.0 +0.0 +0.22 +0.48 +0.64 +0.69 +0.67 +0.62 +0.61 +0.63 +0.67 +0.65 +0.54 +0.32 +0.07 +0.0 +0.0 +0.07 +0.39 +0.69 +0.82 +0.73 +0.5 +0.28 +0.27 +0.52 +0.96 +1.38 +1.61 +1.56 +1.31 +1.03 +0.89 +0.94 +1.11 +1.26 +1.28 +1.17 +1.02 +0.99 +1.16 +1.53 +1.96 +1.72 +2.01 +2.07 +1.89 +1.6 +1.36 +1.3 +1.44 +1.67 +1.86 +1.89 +1.8 +1.69 +1.71 +1.9 +2.2 +2.41 +2.36 +1.97 +1.32 +0.63 +0.15 +0.0 +0.09 +0.29 +0.38 +0.26 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.22 +0.2 +0.12 +0.05 +0.03 +0.07 +0.12 +0.13 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.28 +0.19 +0.0 +0.0 +0.0 +0.15 +0.71 +1.28 +1.64 +1.68 +1.48 +1.22 +1.06 +1.1 +1.26 +1.4 +1.4 +1.24 +1.03 +0.92 +1.02 +1.33 +1.72 +2.01 +2.07 +1.89 +1.6 +1.36 +1.3 +1.44 +1.67 +1.86 +1.89 +1.8 +1.69 +1.71 +1.9 +2.2 +2.41 +2.36 +1.97 +1.32 +0.63 +0.15 +0.0 +0.09 +0.29 +0.38 +0.26 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.22 +0.2 +0.12 +0.05 +0.03 +0.07 +0.12 +0.13 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.28 +0.19 +0.0 +0.0 +0.0 +0.15 +0.71 +1.28 +1.64 +1.68 +1.48 +1.22 +1.06 +1.1 +1.26 +1.4 +1.4 +1.24 +1.03 +0.92 +1.02 +1.33 +1.72 +1.47 +1.73 +1.76 +1.55 +1.25 +1.03 +1.02 +1.23 +1.54 +1.81 +1.93 +1.95 +1.97 +2.15 +2.49 +2.89 +3.12 +2.99 +2.43 +1.61 +0.77 +0.2 +0.0 +0.1 +0.29 +0.35 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.53 +1.25 +1.74 +1.89 +1.72 +1.45 +1.25 +1.24 +1.37 +1.47 +1.43 +1.22 +0.95 +0.77 +0.83 +1.1 +1.47 +1.73 +1.76 +1.55 +1.25 +1.03 +1.02 +1.23 +1.54 +1.81 +1.93 +1.95 +1.97 +2.15 +2.49 +2.89 +3.12 +2.99 +2.43 +1.61 +0.77 +0.2 +0.0 +0.1 +0.29 +0.35 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.53 +1.25 +1.74 +1.89 +1.72 +1.45 +1.25 +1.24 +1.37 +1.47 +1.43 +1.22 +0.95 +0.77 +0.83 +1.1 +1.47 +1.32 +1.57 +1.58 +1.34 +0.99 +0.75 +0.75 +1.0 +1.37 +1.71 +1.92 +2.04 +2.21 +2.55 +3.05 +3.56 +3.81 +3.62 +2.94 +1.98 +1.05 +0.43 +0.24 +0.36 +0.57 +0.64 +0.48 +0.17 +0.0 +0.0 +0.0 +0.03 +0.25 +0.34 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.63 +1.47 +2.08 +2.28 +2.12 +1.79 +1.51 +1.41 +1.45 +1.5 +1.4 +1.14 +0.83 +0.62 +0.67 +0.95 +1.32 +1.57 +1.58 +1.34 +0.99 +0.75 +0.75 +1.0 +1.37 +1.71 +1.92 +2.04 +2.21 +2.55 +3.05 +3.56 +3.81 +3.62 +2.94 +1.98 +1.05 +0.43 +0.24 +0.36 +0.57 +0.64 +0.48 +0.17 +0.0 +0.0 +0.0 +0.03 +0.25 +0.34 +0.28 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.63 +1.47 +2.08 +2.28 +2.12 +1.79 +1.51 +1.41 +1.45 +1.5 +1.4 +1.14 +0.83 +0.62 +0.67 +0.95 +1.32 +1.3 +1.57 +1.56 +1.27 +0.88 +0.6 +0.58 +0.83 +1.22 +1.59 +1.86 +2.06 +2.34 +2.81 +3.44 +4.03 +4.32 +4.09 +3.34 +2.31 +1.34 +0.73 +0.57 +0.75 +1.0 +1.08 +0.93 +0.62 +0.33 +0.23 +0.35 +0.59 +0.8 +0.87 +0.75 +0.51 +0.24 +0.06 +0.02 +0.12 +0.28 +0.41 +0.41 +0.26 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.3 +0.14 +0.0 +0.0 +0.0 +0.19 +1.06 +1.99 +2.66 +2.88 +2.67 +2.24 +1.84 +1.62 +1.55 +1.52 +1.36 +1.06 +0.72 +0.52 +0.59 +0.9 +1.3 +1.57 +1.56 +1.27 +0.88 +0.6 +0.58 +0.83 +1.22 +1.59 +1.86 +2.06 +2.34 +2.81 +3.44 +4.03 +4.32 +4.09 +3.34 +2.31 +1.34 +0.73 +0.57 +0.75 +1.0 +1.08 +0.93 +0.62 +0.33 +0.23 +0.35 +0.59 +0.8 +0.87 +0.75 +0.51 +0.24 +0.06 +0.02 +0.12 +0.28 +0.41 +0.41 +0.26 +0.0 +0.0 +0.0 +0.0 +0.0 +0.22 +0.3 +0.14 +0.0 +0.0 +0.0 +0.19 +1.06 +1.99 +2.66 +2.88 +2.67 +2.24 +1.84 +1.62 +1.55 +1.52 +1.36 +1.06 +0.72 +0.52 +0.59 +0.9 +1.3 +1.37 +1.65 +1.63 +1.31 +0.88 +0.56 +0.51 +0.74 +1.13 +1.5 +1.78 +2.02 +2.34 +2.87 +3.56 +4.19 +4.48 +4.23 +3.46 +2.41 +1.44 +0.87 +0.77 +1.0 +1.29 +1.4 +1.25 +0.95 +0.69 +0.61 +0.76 +1.02 +1.25 +1.31 +1.18 +0.92 +0.64 +0.46 +0.44 +0.57 +0.79 +0.96 +1.01 +0.87 +0.6 +0.33 +0.19 +0.28 +0.54 +0.8 +0.88 +0.7 +0.36 +0.11 +0.2 +0.76 +1.69 +2.67 +3.37 +3.57 +3.29 +2.76 +2.22 +1.87 +1.69 +1.56 +1.35 +1.01 +0.67 +0.48 +0.58 +0.94 +1.37 +1.65 +1.63 +1.31 +0.88 +0.56 +0.51 +0.74 +1.13 +1.5 +1.78 +2.02 +2.34 +2.87 +3.56 +4.19 +4.48 +4.23 +3.46 +2.41 +1.44 +0.87 +0.77 +1.0 +1.29 +1.4 +1.25 +0.95 +0.69 +0.61 +0.76 +1.02 +1.25 +1.31 +1.18 +0.92 +0.64 +0.46 +0.44 +0.57 +0.79 +0.96 +1.01 +0.87 +0.6 +0.33 +0.19 +0.28 +0.54 +0.8 +0.88 +0.7 +0.36 +0.11 +0.2 +0.76 +1.69 +2.67 +3.37 +3.57 +3.29 +2.76 +2.22 +1.87 +1.69 +1.56 +1.35 +1.01 +0.67 +0.48 +0.58 +0.94 +1.37 +1.44 +1.73 +1.7 +1.37 +0.91 +0.57 +0.51 +0.73 +1.1 +1.45 +1.7 +1.91 +2.21 +2.71 +3.36 +3.96 +4.23 +3.96 +3.18 +2.15 +1.22 +0.7 +0.64 +0.92 +1.23 +1.36 +1.22 +0.93 +0.69 +0.63 +0.8 +1.08 +1.32 +1.4 +1.29 +1.05 +0.8 +0.65 +0.66 +0.83 +1.09 +1.31 +1.39 +1.27 +1.01 +0.74 +0.61 +0.7 +0.96 +1.24 +1.33 +1.16 +0.83 +0.59 +0.72 +1.32 +2.29 +3.3 +4.0 +4.17 +3.84 +3.21 +2.58 +2.13 +1.86 +1.66 +1.39 +1.03 +0.67 +0.5 +0.62 +0.99 +1.44 +1.73 +1.7 +1.37 +0.91 +0.57 +0.51 +0.73 +1.1 +1.45 +1.7 +1.91 +2.21 +2.71 +3.36 +3.96 +4.23 +3.96 +3.18 +2.15 +1.22 +0.7 +0.64 +0.92 +1.23 +1.36 +1.22 +0.93 +0.69 +0.63 +0.8 +1.08 +1.32 +1.4 +1.29 +1.05 +0.8 +0.65 +0.66 +0.83 +1.09 +1.31 +1.39 +1.27 +1.01 +0.74 +0.61 +0.7 +0.96 +1.24 +1.33 +1.16 +0.83 +0.59 +0.72 +1.32 +2.29 +3.3 +4.0 +4.17 +3.84 +3.21 +2.58 +2.13 +1.86 +1.66 +1.39 +1.03 +0.67 +0.5 +0.62 +0.99 +1.44 +1.46 +1.74 +1.7 +1.38 +0.94 +0.62 +0.56 +0.78 +1.14 +1.45 +1.65 +1.77 +1.98 +2.37 +2.92 +3.43 +3.64 +3.35 +2.59 +1.6 +0.72 +0.24 +0.21 +0.49 +0.81 +0.94 +0.81 +0.54 +0.3 +0.25 +0.42 +0.7 +0.96 +1.07 +1.0 +0.81 +0.61 +0.5 +0.55 +0.75 +1.03 +1.27 +1.37 +1.27 +1.03 +0.77 +0.66 +0.77 +1.06 +1.35 +1.46 +1.31 +1.02 +0.84 +1.02 +1.67 +2.67 +3.69 +4.39 +4.53 +4.16 +3.51 +2.84 +2.35 +2.04 +1.81 +1.51 +1.13 +0.76 +0.57 +0.67 +1.03 +1.46 +1.74 +1.7 +1.38 +0.94 +0.62 +0.56 +0.78 +1.14 +1.45 +1.65 +1.77 +1.98 +2.37 +2.92 +3.43 +3.64 +3.35 +2.59 +1.6 +0.72 +0.24 +0.21 +0.49 +0.81 +0.94 +0.81 +0.54 +0.3 +0.25 +0.42 +0.7 +0.96 +1.07 +1.0 +0.81 +0.61 +0.5 +0.55 +0.75 +1.03 +1.27 +1.37 +1.27 +1.03 +0.77 +0.66 +0.77 +1.06 +1.35 +1.46 +1.31 +1.02 +0.84 +1.02 +1.67 +2.67 +3.69 +4.39 +4.53 +4.16 +3.51 +2.84 +2.35 +2.04 +1.81 +1.51 +1.13 +0.76 +0.57 +0.67 +1.03 +1.46 +1.47 +1.71 +1.67 +1.36 +0.96 +0.67 +0.65 +0.88 +1.22 +1.49 +1.62 +1.64 +1.72 +1.96 +2.37 +2.77 +2.91 +2.61 +1.9 +0.97 +0.16 +0.0 +0.0 +0.0 +0.25 +0.37 +0.24 +0.0 +0.0 +0.0 +0.0 +0.1 +0.35 +0.49 +0.47 +0.35 +0.2 +0.14 +0.21 +0.41 +0.68 +0.91 +1.0 +0.91 +0.69 +0.46 +0.38 +0.52 +0.82 +1.13 +1.26 +1.15 +0.92 +0.81 +1.05 +1.75 +2.76 +3.76 +4.43 +4.56 +4.19 +3.56 +2.94 +2.48 +2.21 +1.98 +1.69 +1.29 +0.91 +0.7 +0.77 +1.08 +1.47 +1.71 +1.67 +1.36 +0.96 +0.67 +0.65 +0.88 +1.22 +1.49 +1.62 +1.64 +1.72 +1.96 +2.37 +2.77 +2.91 +2.61 +1.9 +0.97 +0.16 +0.0 +0.0 +0.0 +0.25 +0.37 +0.24 +0.0 +0.0 +0.0 +0.0 +0.1 +0.35 +0.49 +0.47 +0.35 +0.2 +0.14 +0.21 +0.41 +0.68 +0.91 +1.0 +0.91 +0.69 +0.46 +0.38 +0.52 +0.82 +1.13 +1.26 +1.15 +0.92 +0.81 +1.05 +1.75 +2.76 +3.76 +4.43 +4.56 +4.19 +3.56 +2.94 +2.48 +2.21 +1.98 +1.69 +1.29 +0.91 +0.7 +0.77 +1.08 +1.47 +1.53 +1.73 +1.67 +1.38 +1.01 +0.76 +0.75 +0.98 +1.3 +1.53 +1.59 +1.53 +1.48 +1.59 +1.87 +2.17 +2.27 +2.01 +1.37 +0.54 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.06 +0.28 +0.47 +0.52 +0.42 +0.21 +0.02 +0.0 +0.14 +0.46 +0.77 +0.91 +0.84 +0.67 +0.62 +0.92 +1.63 +2.6 +3.54 +4.14 +4.25 +3.92 +3.37 +2.86 +2.51 +2.31 +2.15 +1.88 +1.51 +1.14 +0.91 +0.94 +1.2 +1.53 +1.73 +1.67 +1.38 +1.01 +0.76 +0.75 +0.98 +1.3 +1.53 +1.59 +1.53 +1.48 +1.59 +1.87 +2.17 +2.27 +2.01 +1.37 +0.54 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.06 +0.28 +0.47 +0.52 +0.42 +0.21 +0.02 +0.0 +0.14 +0.46 +0.77 +0.91 +0.84 +0.67 +0.62 +0.92 +1.63 +2.6 +3.54 +4.14 +4.25 +3.92 +3.37 +2.86 +2.51 +2.31 +2.15 +1.88 +1.51 +1.14 +0.91 +0.94 +1.2 +1.53 +1.68 +1.84 +1.75 +1.46 +1.1 +0.85 +0.84 +1.05 +1.33 +1.53 +1.55 +1.42 +1.3 +1.32 +1.51 +1.77 +1.88 +1.69 +1.17 +0.47 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.22 +0.21 +0.07 +0.0 +0.0 +0.0 +0.0 +0.21 +0.51 +0.65 +0.6 +0.46 +0.45 +0.76 +1.43 +2.31 +3.13 +3.63 +3.7 +3.41 +2.98 +2.61 +2.41 +2.34 +2.25 +2.06 +1.73 +1.39 +1.18 +1.2 +1.41 +1.68 +1.84 +1.75 +1.46 +1.1 +0.85 +0.84 +1.05 +1.33 +1.53 +1.55 +1.42 +1.3 +1.32 +1.51 +1.77 +1.88 +1.69 +1.17 +0.47 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.22 +0.21 +0.07 +0.0 +0.0 +0.0 +0.0 +0.21 +0.51 +0.65 +0.6 +0.46 +0.45 +0.76 +1.43 +2.31 +3.13 +3.63 +3.7 +3.41 +2.98 +2.61 +2.41 +2.34 +2.25 +2.06 +1.73 +1.39 +1.18 +1.2 +1.41 +1.68 +1.91 +2.02 +1.89 +1.57 +1.19 +0.92 +0.87 +1.03 +1.27 +1.43 +1.43 +1.29 +1.15 +1.14 +1.31 +1.57 +1.73 +1.64 +1.26 +0.71 +0.21 +0.0 +0.0 +0.14 +0.34 +0.38 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.15 +0.14 +0.1 +0.08 +0.11 +0.2 +0.28 +0.3 +0.22 +0.03 +0.0 +0.0 +0.0 +0.0 +0.22 +0.49 +0.6 +0.52 +0.39 +0.38 +0.66 +1.24 +1.97 +2.62 +2.99 +3.0 +2.76 +2.45 +2.25 +2.21 +2.26 +2.27 +2.15 +1.9 +1.62 +1.46 +1.49 +1.68 +1.91 +2.02 +1.89 +1.57 +1.19 +0.92 +0.87 +1.03 +1.27 +1.43 +1.43 +1.29 +1.15 +1.14 +1.31 +1.57 +1.73 +1.64 +1.26 +0.71 +0.21 +0.0 +0.0 +0.14 +0.34 +0.38 +0.22 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.15 +0.14 +0.1 +0.08 +0.11 +0.2 +0.28 +0.3 +0.22 +0.03 +0.0 +0.0 +0.0 +0.0 +0.22 +0.49 +0.6 +0.52 +0.39 +0.38 +0.66 +1.24 +1.97 +2.62 +2.99 +3.0 +2.76 +2.45 +2.25 +2.21 +2.26 +2.27 +2.15 +1.9 +1.62 +1.46 +1.49 +1.68 +1.91 +2.12 +2.17 +2.0 +1.64 +1.21 +0.89 +0.78 +0.88 +1.07 +1.21 +1.21 +1.09 +0.97 +0.98 +1.17 +1.46 +1.69 +1.69 +1.44 +1.02 +0.63 +0.44 +0.49 +0.7 +0.89 +0.92 +0.75 +0.44 +0.15 +0.0 +0.03 +0.19 +0.41 +0.57 +0.65 +0.65 +0.62 +0.61 +0.64 +0.68 +0.7 +0.64 +0.48 +0.24 +0.0 +0.0 +0.0 +0.15 +0.44 +0.66 +0.7 +0.59 +0.42 +0.39 +0.6 +1.06 +1.63 +2.1 +2.32 +2.28 +2.08 +1.89 +1.84 +1.94 +2.1 +2.2 +2.15 +1.97 +1.77 +1.66 +1.73 +1.92 +2.12 +2.17 +2.0 +1.64 +1.21 +0.89 +0.78 +0.88 +1.07 +1.21 +1.21 +1.09 +0.97 +0.98 +1.17 +1.46 +1.69 +1.69 +1.44 +1.02 +0.63 +0.44 +0.49 +0.7 +0.89 +0.92 +0.75 +0.44 +0.15 +0.0 +0.03 +0.19 +0.41 +0.57 +0.65 +0.65 +0.62 +0.61 +0.64 +0.68 +0.7 +0.64 +0.48 +0.24 +0.0 +0.0 +0.0 +0.15 +0.44 +0.66 +0.7 +0.59 +0.42 +0.39 +0.6 +1.06 +1.63 +2.1 +2.32 +2.28 +2.08 +1.89 +1.84 +1.94 +2.1 +2.2 +2.15 +1.97 +1.77 +1.66 +1.73 +1.92 +2.12 +2.2 +2.2 +1.97 +1.56 +1.1 +0.73 +0.57 +0.61 +0.76 +0.88 +0.89 +0.81 +0.73 +0.78 +0.99 +1.3 +1.56 +1.63 +1.46 +1.14 +0.84 +0.71 +0.81 +1.05 +1.26 +1.29 +1.12 +0.82 +0.54 +0.4 +0.44 +0.62 +0.84 +1.02 +1.11 +1.12 +1.11 +1.11 +1.14 +1.17 +1.15 +1.02 +0.8 +0.51 +0.27 +0.16 +0.23 +0.45 +0.7 +0.85 +0.82 +0.64 +0.44 +0.37 +0.52 +0.87 +1.29 +1.6 +1.71 +1.63 +1.48 +1.4 +1.47 +1.68 +1.91 +2.05 +2.04 +1.92 +1.79 +1.75 +1.86 +2.04 +2.2 +2.2 +1.97 +1.56 +1.1 +0.73 +0.57 +0.61 +0.76 +0.88 +0.89 +0.81 +0.73 +0.78 +0.99 +1.3 +1.56 +1.63 +1.46 +1.14 +0.84 +0.71 +0.81 +1.05 +1.26 +1.29 +1.12 +0.82 +0.54 +0.4 +0.44 +0.62 +0.84 +1.02 +1.11 +1.12 +1.11 +1.11 +1.14 +1.17 +1.15 +1.02 +0.8 +0.51 +0.27 +0.16 +0.23 +0.45 +0.7 +0.85 +0.82 +0.64 +0.44 +0.37 +0.52 +0.87 +1.29 +1.6 +1.71 +1.63 +1.48 +1.4 +1.47 +1.68 +1.91 +2.05 +2.04 +1.92 +1.79 +1.75 +1.86 +2.04 +2.2 +2.13 +2.07 +1.78 +1.33 +0.84 +0.46 +0.27 +0.27 +0.39 +0.5 +0.52 +0.46 +0.42 +0.49 +0.71 +1.01 +1.26 +1.33 +1.18 +0.91 +0.67 +0.61 +0.75 +1.02 +1.25 +1.31 +1.16 +0.89 +0.63 +0.52 +0.59 +0.79 +1.03 +1.22 +1.31 +1.34 +1.35 +1.37 +1.42 +1.44 +1.39 +1.23 +0.96 +0.65 +0.41 +0.32 +0.42 +0.64 +0.85 +0.93 +0.82 +0.59 +0.35 +0.26 +0.38 +0.67 +0.99 +1.2 +1.24 +1.15 +1.04 +1.05 +1.21 +1.47 +1.73 +1.88 +1.89 +1.8 +1.72 +1.73 +1.85 +2.03 +2.13 +2.07 +1.78 +1.33 +0.84 +0.46 +0.27 +0.27 +0.39 +0.5 +0.52 +0.46 +0.42 +0.49 +0.71 +1.01 +1.26 +1.33 +1.18 +0.91 +0.67 +0.61 +0.75 +1.02 +1.25 +1.31 +1.16 +0.89 +0.63 +0.52 +0.59 +0.79 +1.03 +1.22 +1.31 +1.34 +1.35 +1.37 +1.42 +1.44 +1.39 +1.23 +0.96 +0.65 +0.41 +0.32 +0.42 +0.64 +0.85 +0.93 +0.82 +0.59 +0.35 +0.26 +0.38 +0.67 +0.99 +1.2 +1.24 +1.15 +1.04 +1.05 +1.21 +1.47 +1.73 +1.88 +1.89 +1.8 +1.72 +1.73 +1.85 +2.03 +2.13 +1.99 +1.85 +1.52 +1.04 +0.55 +0.17 +0.0 +0.0 +0.06 +0.15 +0.16 +0.12 +0.09 +0.17 +0.36 +0.62 +0.82 +0.85 +0.69 +0.43 +0.23 +0.21 +0.39 +0.69 +0.94 +1.02 +0.9 +0.66 +0.45 +0.37 +0.48 +0.7 +0.95 +1.14 +1.24 +1.28 +1.31 +1.36 +1.42 +1.45 +1.38 +1.18 +0.89 +0.57 +0.35 +0.3 +0.43 +0.64 +0.82 +0.85 +0.69 +0.43 +0.19 +0.11 +0.24 +0.51 +0.78 +0.95 +0.96 +0.88 +0.82 +0.89 +1.09 +1.37 +1.62 +1.75 +1.75 +1.68 +1.63 +1.68 +1.81 +1.94 +1.99 +1.85 +1.52 +1.04 +0.55 +0.17 +0.0 +0.0 +0.06 +0.15 +0.16 +0.12 +0.09 +0.17 +0.36 +0.62 +0.82 +0.85 +0.69 +0.43 +0.23 +0.21 +0.39 +0.69 +0.94 +1.02 +0.9 +0.66 +0.45 +0.37 +0.48 +0.7 +0.95 +1.14 +1.24 +1.28 +1.31 +1.36 +1.42 +1.45 +1.38 +1.18 +0.89 +0.57 +0.35 +0.3 +0.43 +0.64 +0.82 +0.85 +0.69 +0.43 +0.19 +0.11 +0.24 +0.51 +0.78 +0.95 +0.96 +0.88 +0.82 +0.89 +1.09 +1.37 +1.62 +1.75 +1.75 +1.68 +1.63 +1.68 +1.81 +1.94 +1.99 +1.9 +1.7 +1.31 +0.82 +0.35 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.28 +0.41 +0.39 +0.2 +0.0 +0.0 +0.0 +0.0 +0.3 +0.56 +0.64 +0.54 +0.33 +0.16 +0.12 +0.25 +0.49 +0.74 +0.93 +1.04 +1.09 +1.15 +1.22 +1.29 +1.31 +1.22 +0.99 +0.69 +0.39 +0.2 +0.18 +0.34 +0.56 +0.72 +0.72 +0.54 +0.28 +0.07 +0.03 +0.19 +0.47 +0.74 +0.89 +0.91 +0.84 +0.82 +0.91 +1.12 +1.38 +1.59 +1.69 +1.69 +1.64 +1.63 +1.69 +1.82 +1.92 +1.9 +1.7 +1.31 +0.82 +0.35 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.28 +0.41 +0.39 +0.2 +0.0 +0.0 +0.0 +0.0 +0.3 +0.56 +0.64 +0.54 +0.33 +0.16 +0.12 +0.25 +0.49 +0.74 +0.93 +1.04 +1.09 +1.15 +1.22 +1.29 +1.31 +1.22 +0.99 +0.69 +0.39 +0.2 +0.18 +0.34 +0.56 +0.72 +0.72 +0.54 +0.28 +0.07 +0.03 +0.19 +0.47 +0.74 +0.89 +0.91 +0.84 +0.82 +0.91 +1.12 +1.38 +1.59 +1.69 +1.69 +1.64 +1.63 +1.69 +1.82 +1.92 +1.9 +1.97 +1.71 +1.29 +0.8 +0.33 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.2 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.34 +0.4 +0.29 +0.11 +0.0 +0.0 +0.11 +0.35 +0.59 +0.78 +0.9 +0.98 +1.07 +1.16 +1.23 +1.23 +1.1 +0.86 +0.55 +0.26 +0.11 +0.13 +0.3 +0.52 +0.67 +0.67 +0.51 +0.28 +0.11 +0.11 +0.29 +0.58 +0.85 +1.0 +1.02 +0.97 +0.95 +1.04 +1.22 +1.44 +1.62 +1.7 +1.71 +1.7 +1.74 +1.85 +1.98 +2.05 +1.97 +1.71 +1.29 +0.8 +0.33 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.2 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.34 +0.4 +0.29 +0.11 +0.0 +0.0 +0.11 +0.35 +0.59 +0.78 +0.9 +0.98 +1.07 +1.16 +1.23 +1.23 +1.1 +0.86 +0.55 +0.26 +0.11 +0.13 +0.3 +0.52 +0.67 +0.67 +0.51 +0.28 +0.11 +0.11 +0.29 +0.58 +0.85 +1.0 +1.02 +0.97 +0.95 +1.04 +1.22 +1.44 +1.62 +1.7 +1.71 +1.7 +1.74 +1.85 +1.98 +2.05 +1.97 +2.21 +1.91 +1.47 +0.97 +0.52 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.21 +0.25 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.39 +0.4 +0.27 +0.09 +0.0 +0.0 +0.14 +0.37 +0.61 +0.81 +0.96 +1.08 +1.2 +1.31 +1.37 +1.34 +1.19 +0.92 +0.61 +0.34 +0.21 +0.24 +0.41 +0.62 +0.76 +0.77 +0.63 +0.44 +0.31 +0.32 +0.5 +0.77 +1.02 +1.17 +1.19 +1.15 +1.12 +1.18 +1.32 +1.5 +1.65 +1.74 +1.79 +1.84 +1.95 +2.11 +2.26 +2.32 +2.21 +1.91 +1.47 +0.97 +0.52 +0.19 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.21 +0.25 +0.16 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.39 +0.4 +0.27 +0.09 +0.0 +0.0 +0.14 +0.37 +0.61 +0.81 +0.96 +1.08 +1.2 +1.31 +1.37 +1.34 +1.19 +0.92 +0.61 +0.34 +0.21 +0.24 +0.41 +0.62 +0.76 +0.77 +0.63 +0.44 +0.31 +0.32 +0.5 +0.77 +1.02 +1.17 +1.19 +1.15 +1.12 +1.18 +1.32 +1.5 +1.65 +1.74 +1.79 +1.84 +1.95 +2.11 +2.26 +2.32 +2.21 +2.49 +2.18 +1.74 +1.25 +0.81 +0.48 +0.27 +0.15 +0.08 +0.03 +0.0 +0.0 +0.07 +0.19 +0.34 +0.45 +0.46 +0.38 +0.23 +0.11 +0.09 +0.19 +0.36 +0.53 +0.6 +0.54 +0.39 +0.22 +0.13 +0.16 +0.31 +0.53 +0.77 +1.0 +1.2 +1.38 +1.54 +1.66 +1.71 +1.65 +1.46 +1.18 +0.88 +0.63 +0.5 +0.51 +0.64 +0.81 +0.93 +0.94 +0.83 +0.67 +0.55 +0.54 +0.67 +0.89 +1.11 +1.24 +1.27 +1.23 +1.2 +1.23 +1.33 +1.47 +1.61 +1.73 +1.84 +1.98 +2.16 +2.37 +2.55 +2.61 +2.49 +2.18 +1.74 +1.25 +0.81 +0.48 +0.27 +0.15 +0.08 +0.03 +0.0 +0.0 +0.07 +0.19 +0.34 +0.45 +0.46 +0.38 +0.23 +0.11 +0.09 +0.19 +0.36 +0.53 +0.6 +0.54 +0.39 +0.22 +0.13 +0.16 +0.31 +0.53 +0.77 +1.0 +1.2 +1.38 +1.54 +1.66 +1.71 +1.65 +1.46 +1.18 +0.88 +0.63 +0.5 +0.51 +0.64 +0.81 +0.93 +0.94 +0.83 +0.67 +0.55 +0.54 +0.67 +0.89 +1.11 +1.24 +1.27 +1.23 +1.2 +1.23 +1.33 +1.47 +1.61 +1.73 +1.84 +1.98 +2.16 +2.37 +2.55 +2.61 +2.49 +2.66 +2.37 +1.96 +1.5 +1.09 +0.76 +0.52 +0.36 +0.25 +0.18 +0.16 +0.21 +0.32 +0.46 +0.59 +0.67 +0.65 +0.57 +0.46 +0.41 +0.44 +0.56 +0.7 +0.78 +0.77 +0.66 +0.5 +0.35 +0.3 +0.35 +0.51 +0.73 +0.98 +1.24 +1.5 +1.74 +1.94 +2.07 +2.1 +2.0 +1.79 +1.51 +1.22 +0.97 +0.83 +0.79 +0.86 +0.96 +1.04 +1.04 +0.94 +0.79 +0.66 +0.61 +0.67 +0.81 +0.99 +1.12 +1.17 +1.16 +1.13 +1.14 +1.21 +1.33 +1.48 +1.64 +1.81 +2.01 +2.26 +2.51 +2.71 +2.77 +2.66 +2.37 +1.96 +1.5 +1.09 +0.76 +0.52 +0.36 +0.25 +0.18 +0.16 +0.21 +0.32 +0.46 +0.59 +0.67 +0.65 +0.57 +0.46 +0.41 +0.44 +0.56 +0.7 +0.78 +0.77 +0.66 +0.5 +0.35 +0.3 +0.35 +0.51 +0.73 +0.98 +1.24 +1.5 +1.74 +1.94 +2.07 +2.1 +2.0 +1.79 +1.51 +1.22 +0.97 +0.83 +0.79 +0.86 +0.96 +1.04 +1.04 +0.94 +0.79 +0.66 +0.61 +0.67 +0.81 +0.99 +1.12 +1.17 +1.16 +1.13 +1.14 +1.21 +1.33 +1.48 +1.64 +1.81 +2.01 +2.26 +2.51 +2.71 +2.77 +2.66 +2.64 +2.39 +2.03 +1.63 +1.26 +0.94 +0.7 +0.51 +0.37 +0.29 +0.29 +0.36 +0.49 +0.62 +0.71 +0.72 +0.65 +0.55 +0.48 +0.48 +0.56 +0.69 +0.79 +0.82 +0.76 +0.62 +0.48 +0.39 +0.39 +0.48 +0.65 +0.88 +1.15 +1.45 +1.75 +2.04 +2.26 +2.38 +2.37 +2.23 +2.0 +1.72 +1.44 +1.2 +1.03 +0.93 +0.91 +0.93 +0.96 +0.94 +0.86 +0.71 +0.55 +0.44 +0.42 +0.51 +0.66 +0.8 +0.9 +0.94 +0.94 +0.95 +1.0 +1.1 +1.25 +1.44 +1.65 +1.9 +2.18 +2.45 +2.65 +2.73 +2.64 +2.39 +2.03 +1.63 +1.26 +0.94 +0.7 +0.51 +0.37 +0.29 +0.29 +0.36 +0.49 +0.62 +0.71 +0.72 +0.65 +0.55 +0.48 +0.48 +0.56 +0.69 +0.79 +0.82 +0.76 +0.62 +0.48 +0.39 +0.39 +0.48 +0.65 +0.88 +1.15 +1.45 +1.75 +2.04 +2.26 +2.38 +2.37 +2.23 +2.0 +1.72 +1.44 +1.2 +1.03 +0.93 +0.91 +0.93 +0.96 +0.94 +0.86 +0.71 +0.55 +0.44 +0.42 +0.51 +0.66 +0.8 +0.9 +0.94 +0.94 +0.95 +1.0 +1.1 +1.25 +1.44 +1.65 +1.9 +2.18 +2.45 +2.65 +2.73 +2.64 +2.45 +2.27 +1.98 +1.65 +1.32 +1.03 +0.78 +0.58 +0.43 +0.35 +0.35 +0.43 +0.54 +0.63 +0.64 +0.57 +0.44 +0.31 +0.25 +0.29 +0.41 +0.55 +0.64 +0.64 +0.56 +0.45 +0.36 +0.34 +0.41 +0.55 +0.75 +0.98 +1.27 +1.59 +1.92 +2.22 +2.43 +2.5 +2.44 +2.25 +2.0 +1.72 +1.45 +1.21 +1.01 +0.86 +0.76 +0.72 +0.71 +0.68 +0.61 +0.46 +0.28 +0.12 +0.05 +0.1 +0.25 +0.43 +0.58 +0.67 +0.71 +0.72 +0.75 +0.84 +0.98 +1.18 +1.41 +1.68 +1.95 +2.21 +2.41 +2.5 +2.45 +2.27 +1.98 +1.65 +1.32 +1.03 +0.78 +0.58 +0.43 +0.35 +0.35 +0.43 +0.54 +0.63 +0.64 +0.57 +0.44 +0.31 +0.25 +0.29 +0.41 +0.55 +0.64 +0.64 +0.56 +0.45 +0.36 +0.34 +0.41 +0.55 +0.75 +0.98 +1.27 +1.59 +1.92 +2.22 +2.43 +2.5 +2.44 +2.25 +2.0 +1.72 +1.45 +1.21 +1.01 +0.86 +0.76 +0.72 +0.71 +0.68 +0.61 +0.46 +0.28 +0.12 +0.05 +0.1 +0.25 +0.43 +0.58 +0.67 +0.71 +0.72 +0.75 +0.84 +0.98 +1.18 +1.41 +1.68 +1.95 +2.21 +2.41 +2.5 +2.45 +2.24 +2.12 +1.9 +1.64 +1.36 +1.09 +0.85 +0.64 +0.48 +0.38 +0.37 +0.43 +0.51 +0.53 +0.47 +0.32 +0.12 +0.0 +0.0 +0.0 +0.14 +0.3 +0.39 +0.39 +0.34 +0.27 +0.26 +0.32 +0.46 +0.64 +0.86 +1.1 +1.39 +1.72 +2.04 +2.31 +2.47 +2.48 +2.34 +2.1 +1.82 +1.54 +1.28 +1.04 +0.83 +0.64 +0.5 +0.44 +0.42 +0.41 +0.35 +0.21 +0.03 +0.0 +0.0 +0.0 +0.0 +0.17 +0.37 +0.49 +0.53 +0.53 +0.54 +0.61 +0.74 +0.93 +1.16 +1.41 +1.68 +1.93 +2.13 +2.24 +2.24 +2.12 +1.9 +1.64 +1.36 +1.09 +0.85 +0.64 +0.48 +0.38 +0.37 +0.43 +0.51 +0.53 +0.47 +0.32 +0.12 +0.0 +0.0 +0.0 +0.14 +0.3 +0.39 +0.39 +0.34 +0.27 +0.26 +0.32 +0.46 +0.64 +0.86 +1.1 +1.39 +1.72 +2.04 +2.31 +2.47 +2.48 +2.34 +2.1 +1.82 +1.54 +1.28 +1.04 +0.83 +0.64 +0.5 +0.44 +0.42 +0.41 +0.35 +0.21 +0.03 +0.0 +0.0 +0.0 +0.0 +0.17 +0.37 +0.49 +0.53 +0.53 +0.54 +0.61 +0.74 +0.93 +1.16 +1.41 +1.68 +1.93 +2.13 +2.24 +2.24 +2.14 +2.09 +1.94 +1.71 +1.46 +1.21 +0.96 +0.74 +0.56 +0.46 +0.42 +0.44 +0.48 +0.45 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.3 +0.42 +0.6 +0.82 +1.05 +1.3 +1.58 +1.89 +2.18 +2.4 +2.47 +2.4 +2.18 +1.89 +1.58 +1.3 +1.05 +0.82 +0.6 +0.42 +0.3 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.45 +0.48 +0.44 +0.42 +0.46 +0.56 +0.74 +0.96 +1.21 +1.46 +1.71 +1.94 +2.09 +2.14 +2.09 +1.94 +1.71 +1.46 +1.21 +0.96 +0.74 +0.56 +0.46 +0.42 +0.44 +0.48 +0.45 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.3 +0.42 +0.6 +0.82 +1.05 +1.3 +1.58 +1.89 +2.18 +2.4 +2.47 +2.4 +2.18 +1.89 +1.58 +1.3 +1.05 +0.82 +0.6 +0.42 +0.3 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.45 +0.48 +0.44 +0.42 +0.46 +0.56 +0.74 +0.96 +1.21 +1.46 +1.71 +1.94 +2.09 +2.14 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.31 +2.25 +2.07 +1.83 +1.58 +1.33 +1.11 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.88 +1.09 +1.31 +1.55 +1.79 +2.01 +2.17 +2.22 +2.16 +2.0 +1.78 +1.54 +1.3 +1.08 +0.87 +0.67 +0.52 +0.43 +0.41 +0.41 +0.38 +0.27 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.39 +0.51 +0.68 +0.88 +1.1 +1.33 +1.57 +1.82 +2.07 +2.24 +2.31 +2.25 +2.07 +1.83 +1.58 +1.33 +1.11 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.88 +1.09 +1.31 +1.55 +1.79 +2.01 +2.17 +2.22 +2.16 +2.0 +1.78 +1.54 +1.3 +1.08 +0.87 +0.67 +0.52 +0.43 +0.41 +0.41 +0.38 +0.27 +0.07 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.39 +0.51 +0.68 +0.88 +1.1 +1.33 +1.57 +1.82 +2.07 +2.24 +2.39 +2.47 +2.4 +2.19 +1.91 +1.6 +1.32 +1.07 +0.83 +0.62 +0.44 +0.31 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.33 +0.45 +0.48 +0.45 +0.43 +0.47 +0.58 +0.75 +0.98 +1.22 +1.48 +1.73 +1.95 +2.1 +2.15 +2.08 +1.93 +1.7 +1.45 +1.19 +0.95 +0.73 +0.55 +0.45 +0.41 +0.44 +0.48 +0.46 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.29 +0.26 +0.25 +0.29 +0.41 +0.59 +0.8 +1.03 +1.28 +1.57 +1.88 +2.17 +2.39 +2.47 +2.4 +2.19 +1.91 +1.6 +1.32 +1.07 +0.83 +0.62 +0.44 +0.31 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.33 +0.45 +0.48 +0.45 +0.43 +0.47 +0.58 +0.75 +0.98 +1.22 +1.48 +1.73 +1.95 +2.1 +2.15 +2.08 +1.93 +1.7 +1.45 +1.19 +0.95 +0.73 +0.55 +0.45 +0.41 +0.44 +0.48 +0.46 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.29 +0.26 +0.25 +0.29 +0.41 +0.59 +0.8 +1.03 +1.28 +1.57 +1.88 +2.17 +2.39 +2.49 +2.6 +2.52 +2.27 +1.93 +1.57 +1.25 +0.97 +0.74 +0.53 +0.34 +0.21 +0.14 +0.16 +0.21 +0.24 +0.2 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.47 +0.41 +0.33 +0.3 +0.36 +0.51 +0.74 +1.02 +1.3 +1.56 +1.77 +1.9 +1.94 +1.88 +1.73 +1.51 +1.25 +0.97 +0.7 +0.47 +0.32 +0.27 +0.31 +0.4 +0.46 +0.45 +0.32 +0.12 +0.0 +0.0 +0.0 +0.0 +0.08 +0.2 +0.23 +0.19 +0.12 +0.1 +0.15 +0.27 +0.45 +0.66 +0.89 +1.16 +1.49 +1.86 +2.22 +2.49 +2.6 +2.52 +2.27 +1.93 +1.57 +1.25 +0.97 +0.74 +0.53 +0.34 +0.21 +0.14 +0.16 +0.21 +0.24 +0.2 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.47 +0.41 +0.33 +0.3 +0.36 +0.51 +0.74 +1.02 +1.3 +1.56 +1.77 +1.9 +1.94 +1.88 +1.73 +1.51 +1.25 +0.97 +0.7 +0.47 +0.32 +0.27 +0.31 +0.4 +0.46 +0.45 +0.32 +0.12 +0.0 +0.0 +0.0 +0.0 +0.08 +0.2 +0.23 +0.19 +0.12 +0.1 +0.15 +0.27 +0.45 +0.66 +0.89 +1.16 +1.49 +1.86 +2.22 +2.49 +2.44 +2.58 +2.49 +2.21 +1.83 +1.43 +1.1 +0.84 +0.63 +0.44 +0.27 +0.12 +0.03 +0.04 +0.1 +0.18 +0.19 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.3 +0.34 +0.26 +0.13 +0.03 +0.03 +0.16 +0.4 +0.7 +1.01 +1.26 +1.45 +1.55 +1.58 +1.53 +1.4 +1.2 +0.94 +0.64 +0.35 +0.11 +0.0 +0.0 +0.1 +0.24 +0.32 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.15 +0.13 +0.04 +0.0 +0.0 +0.0 +0.13 +0.3 +0.48 +0.69 +0.95 +1.3 +1.71 +2.12 +2.44 +2.58 +2.49 +2.21 +1.83 +1.43 +1.1 +0.84 +0.63 +0.44 +0.27 +0.12 +0.03 +0.04 +0.1 +0.18 +0.19 +0.11 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.3 +0.34 +0.26 +0.13 +0.03 +0.03 +0.16 +0.4 +0.7 +1.01 +1.26 +1.45 +1.55 +1.58 +1.53 +1.4 +1.2 +0.94 +0.64 +0.35 +0.11 +0.0 +0.0 +0.1 +0.24 +0.32 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.15 +0.13 +0.04 +0.0 +0.0 +0.0 +0.13 +0.3 +0.48 +0.69 +0.95 +1.3 +1.71 +2.12 +2.44 +2.25 +2.4 +2.32 +2.02 +1.62 +1.22 +0.9 +0.68 +0.53 +0.4 +0.24 +0.08 +0.0 +0.0 +0.0 +0.09 +0.13 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.15 +0.08 +0.0 +0.0 +0.0 +0.0 +0.06 +0.38 +0.69 +0.93 +1.08 +1.15 +1.16 +1.12 +1.03 +0.87 +0.63 +0.32 +0.01 +0.0 +0.0 +0.0 +0.0 +0.04 +0.12 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.18 +0.31 +0.46 +0.68 +1.02 +1.45 +1.9 +2.25 +2.4 +2.32 +2.02 +1.62 +1.22 +0.9 +0.68 +0.53 +0.4 +0.24 +0.08 +0.0 +0.0 +0.0 +0.09 +0.13 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.15 +0.08 +0.0 +0.0 +0.0 +0.0 +0.06 +0.38 +0.69 +0.93 +1.08 +1.15 +1.16 +1.12 +1.03 +0.87 +0.63 +0.32 +0.01 +0.0 +0.0 +0.0 +0.0 +0.04 +0.12 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.18 +0.31 +0.46 +0.68 +1.02 +1.45 +1.9 +2.25 +2.03 +2.19 +2.11 +1.8 +1.4 +1.01 +0.73 +0.58 +0.5 +0.42 +0.3 +0.13 +0.0 +0.0 +0.0 +0.04 +0.09 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.5 +0.71 +0.82 +0.85 +0.85 +0.82 +0.77 +0.66 +0.45 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.13 +0.19 +0.28 +0.45 +0.76 +1.19 +1.66 +2.03 +2.19 +2.11 +1.8 +1.4 +1.01 +0.73 +0.58 +0.5 +0.42 +0.3 +0.13 +0.0 +0.0 +0.0 +0.04 +0.09 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.2 +0.5 +0.71 +0.82 +0.85 +0.85 +0.82 +0.77 +0.66 +0.45 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.13 +0.19 +0.28 +0.45 +0.76 +1.19 +1.66 +2.03 +1.92 +2.09 +2.0 +1.69 +1.28 +0.91 +0.68 +0.58 +0.57 +0.54 +0.43 +0.25 +0.06 +0.0 +0.0 +0.08 +0.14 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.19 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.28 +0.56 +0.74 +0.8 +0.8 +0.78 +0.77 +0.76 +0.68 +0.51 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.19 +0.2 +0.22 +0.34 +0.63 +1.06 +1.54 +1.92 +2.09 +2.0 +1.69 +1.28 +0.91 +0.68 +0.58 +0.57 +0.54 +0.43 +0.25 +0.06 +0.0 +0.0 +0.08 +0.14 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04 +0.19 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.28 +0.56 +0.74 +0.8 +0.8 +0.78 +0.77 +0.76 +0.68 +0.51 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.09 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.11 +0.19 +0.2 +0.22 +0.34 +0.63 +1.06 +1.54 +1.92 +2.01 +2.18 +2.08 +1.76 +1.34 +0.99 +0.78 +0.72 +0.75 +0.74 +0.63 +0.43 +0.22 +0.1 +0.12 +0.24 +0.34 +0.3 +0.1 +0.0 +0.0 +0.0 +0.0 +0.05 +0.37 +0.53 +0.46 +0.24 +0.0 +0.0 +0.0 +0.24 +0.56 +0.83 +0.98 +1.02 +0.99 +0.96 +0.97 +0.98 +0.93 +0.78 +0.51 +0.2 +0.0 +0.0 +0.01 +0.25 +0.46 +0.5 +0.32 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.24 +0.23 +0.1 +0.0 +0.0 +0.0 +0.15 +0.3 +0.36 +0.35 +0.33 +0.42 +0.69 +1.12 +1.61 +2.01 +2.18 +2.08 +1.76 +1.34 +0.99 +0.78 +0.72 +0.75 +0.74 +0.63 +0.43 +0.22 +0.1 +0.12 +0.24 +0.34 +0.3 +0.1 +0.0 +0.0 +0.0 +0.0 +0.05 +0.37 +0.53 +0.46 +0.24 +0.0 +0.0 +0.0 +0.24 +0.56 +0.83 +0.98 +1.02 +0.99 +0.96 +0.97 +0.98 +0.93 +0.78 +0.51 +0.2 +0.0 +0.0 +0.01 +0.25 +0.46 +0.5 +0.32 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.24 +0.23 +0.1 +0.0 +0.0 +0.0 +0.15 +0.3 +0.36 +0.35 +0.33 +0.42 +0.69 +1.12 +1.61 +2.01 +2.23 +2.4 +2.28 +1.95 +1.54 +1.19 +1.0 +0.97 +1.01 +0.99 +0.86 +0.64 +0.41 +0.3 +0.34 +0.5 +0.64 +0.64 +0.46 +0.18 +0.0 +0.0 +0.12 +0.46 +0.78 +0.91 +0.82 +0.57 +0.32 +0.21 +0.31 +0.57 +0.89 +1.14 +1.28 +1.29 +1.26 +1.23 +1.24 +1.26 +1.23 +1.09 +0.83 +0.53 +0.3 +0.24 +0.38 +0.64 +0.88 +0.95 +0.78 +0.45 +0.12 +0.0 +0.02 +0.26 +0.53 +0.67 +0.61 +0.42 +0.23 +0.15 +0.23 +0.41 +0.57 +0.63 +0.6 +0.56 +0.64 +0.9 +1.34 +1.84 +2.23 +2.4 +2.28 +1.95 +1.54 +1.19 +1.0 +0.97 +1.01 +0.99 +0.86 +0.64 +0.41 +0.3 +0.34 +0.5 +0.64 +0.64 +0.46 +0.18 +0.0 +0.0 +0.12 +0.46 +0.78 +0.91 +0.82 +0.57 +0.32 +0.21 +0.31 +0.57 +0.89 +1.14 +1.28 +1.29 +1.26 +1.23 +1.24 +1.26 +1.23 +1.09 +0.83 +0.53 +0.3 +0.24 +0.38 +0.64 +0.88 +0.95 +0.78 +0.45 +0.12 +0.0 +0.02 +0.26 +0.53 +0.67 +0.61 +0.42 +0.23 +0.15 +0.23 +0.41 +0.57 +0.63 +0.6 +0.56 +0.64 +0.9 +1.34 +1.84 +2.23 +2.45 +2.61 +2.48 +2.14 +1.73 +1.4 +1.25 +1.24 +1.28 +1.25 +1.1 +0.85 +0.62 +0.53 +0.63 +0.83 +0.99 +0.99 +0.79 +0.49 +0.25 +0.22 +0.41 +0.74 +1.02 +1.11 +0.97 +0.69 +0.43 +0.33 +0.44 +0.7 +1.01 +1.26 +1.38 +1.39 +1.35 +1.33 +1.34 +1.37 +1.34 +1.21 +0.96 +0.67 +0.45 +0.39 +0.55 +0.84 +1.12 +1.22 +1.09 +0.79 +0.48 +0.33 +0.42 +0.69 +0.97 +1.1 +1.02 +0.79 +0.54 +0.43 +0.5 +0.68 +0.86 +0.93 +0.9 +0.85 +0.9 +1.15 +1.57 +2.06 +2.45 +2.61 +2.48 +2.14 +1.73 +1.4 +1.25 +1.24 +1.28 +1.25 +1.1 +0.85 +0.62 +0.53 +0.63 +0.83 +0.99 +0.99 +0.79 +0.49 +0.25 +0.22 +0.41 +0.74 +1.02 +1.11 +0.97 +0.69 +0.43 +0.33 +0.44 +0.7 +1.01 +1.26 +1.38 +1.39 +1.35 +1.33 +1.34 +1.37 +1.34 +1.21 +0.96 +0.67 +0.45 +0.39 +0.55 +0.84 +1.12 +1.22 +1.09 +0.79 +0.48 +0.33 +0.42 +0.69 +0.97 +1.1 +1.02 +0.79 +0.54 +0.43 +0.5 +0.68 +0.86 +0.93 +0.9 +0.85 +0.9 +1.15 +1.57 +2.06 +2.45 +2.51 +2.64 +2.5 +2.17 +1.78 +1.5 +1.4 +1.44 +1.5 +1.47 +1.3 +1.05 +0.85 +0.81 +0.95 +1.18 +1.33 +1.28 +1.01 +0.63 +0.33 +0.26 +0.42 +0.71 +0.94 +0.98 +0.79 +0.49 +0.23 +0.14 +0.26 +0.53 +0.82 +1.05 +1.15 +1.15 +1.12 +1.1 +1.12 +1.15 +1.13 +1.01 +0.77 +0.49 +0.27 +0.22 +0.38 +0.69 +0.99 +1.13 +1.05 +0.78 +0.51 +0.4 +0.54 +0.87 +1.21 +1.4 +1.34 +1.1 +0.83 +0.69 +0.74 +0.92 +1.11 +1.19 +1.15 +1.07 +1.08 +1.29 +1.67 +2.14 +2.51 +2.64 +2.5 +2.17 +1.78 +1.5 +1.4 +1.44 +1.5 +1.47 +1.3 +1.05 +0.85 +0.81 +0.95 +1.18 +1.33 +1.28 +1.01 +0.63 +0.33 +0.26 +0.42 +0.71 +0.94 +0.98 +0.79 +0.49 +0.23 +0.14 +0.26 +0.53 +0.82 +1.05 +1.15 +1.15 +1.12 +1.1 +1.12 +1.15 +1.13 +1.01 +0.77 +0.49 +0.27 +0.22 +0.38 +0.69 +0.99 +1.13 +1.05 +0.78 +0.51 +0.4 +0.54 +0.87 +1.21 +1.4 +1.34 +1.1 +0.83 +0.69 +0.74 +0.92 +1.11 +1.19 +1.15 +1.07 +1.08 +1.29 +1.67 +2.14 +2.51 +2.33 +2.44 +2.3 +1.97 +1.63 +1.42 +1.39 +1.51 +1.62 +1.61 +1.46 +1.23 +1.09 +1.12 +1.32 +1.57 +1.67 +1.51 +1.09 +0.58 +0.18 +0.04 +0.17 +0.42 +0.6 +0.58 +0.36 +0.04 +0.0 +0.0 +0.0 +0.13 +0.4 +0.59 +0.65 +0.63 +0.59 +0.57 +0.59 +0.64 +0.63 +0.53 +0.32 +0.05 +0.0 +0.0 +0.0 +0.23 +0.54 +0.71 +0.65 +0.42 +0.18 +0.12 +0.34 +0.77 +1.23 +1.53 +1.55 +1.34 +1.06 +0.9 +0.92 +1.1 +1.29 +1.37 +1.3 +1.17 +1.11 +1.24 +1.57 +1.99 +2.33 +2.44 +2.3 +1.97 +1.63 +1.42 +1.39 +1.51 +1.62 +1.61 +1.46 +1.23 +1.09 +1.12 +1.32 +1.57 +1.67 +1.51 +1.09 +0.58 +0.18 +0.04 +0.17 +0.42 +0.6 +0.58 +0.36 +0.04 +0.0 +0.0 +0.0 +0.13 +0.4 +0.59 +0.65 +0.63 +0.59 +0.57 +0.59 +0.64 +0.63 +0.53 +0.32 +0.05 +0.0 +0.0 +0.0 +0.23 +0.54 +0.71 +0.65 +0.42 +0.18 +0.12 +0.34 +0.77 +1.23 +1.53 +1.55 +1.34 +1.06 +0.9 +0.92 +1.1 +1.29 +1.37 +1.3 +1.17 +1.11 +1.24 +1.57 +1.99 +2.33 +1.98 +2.08 +1.92 +1.6 +1.3 +1.15 +1.22 +1.42 +1.61 +1.66 +1.56 +1.41 +1.36 +1.5 +1.78 +2.03 +2.06 +1.75 +1.15 +0.47 +0.0 +0.0 +0.0 +0.08 +0.23 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.13 +0.07 +0.0 +0.0 +0.0 +0.07 +0.09 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.13 +0.0 +0.0 +0.0 +0.0 +0.52 +1.15 +1.6 +1.73 +1.58 +1.3 +1.09 +1.08 +1.22 +1.39 +1.44 +1.32 +1.12 +0.98 +1.03 +1.3 +1.67 +1.98 +2.08 +1.92 +1.6 +1.3 +1.15 +1.22 +1.42 +1.61 +1.66 +1.56 +1.41 +1.36 +1.5 +1.78 +2.03 +2.06 +1.75 +1.15 +0.47 +0.0 +0.0 +0.0 +0.08 +0.23 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.12 +0.13 +0.07 +0.0 +0.0 +0.0 +0.07 +0.09 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.18 +0.13 +0.0 +0.0 +0.0 +0.0 +0.52 +1.15 +1.6 +1.73 +1.58 +1.3 +1.09 +1.08 +1.22 +1.39 +1.44 +1.32 +1.12 +0.98 +1.03 +1.3 +1.67 +1.98 +1.61 +1.69 +1.52 +1.19 +0.9 +0.81 +0.95 +1.23 +1.5 +1.63 +1.61 +1.58 +1.66 +1.93 +2.31 +2.59 +2.55 +2.09 +1.32 +0.48 +0.0 +0.0 +0.0 +0.0 +0.09 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.37 +1.15 +1.76 +2.0 +1.89 +1.59 +1.32 +1.23 +1.3 +1.41 +1.41 +1.23 +0.96 +0.74 +0.74 +0.96 +1.32 +1.61 +1.69 +1.52 +1.19 +0.9 +0.81 +0.95 +1.23 +1.5 +1.63 +1.61 +1.58 +1.66 +1.93 +2.31 +2.59 +2.55 +2.09 +1.32 +0.48 +0.0 +0.0 +0.0 +0.0 +0.09 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.37 +1.15 +1.76 +2.0 +1.89 +1.59 +1.32 +1.23 +1.3 +1.41 +1.41 +1.23 +0.96 +0.74 +0.74 +0.96 +1.32 +1.61 +1.36 +1.43 +1.23 +0.88 +0.57 +0.49 +0.67 +1.0 +1.34 +1.54 +1.63 +1.72 +1.96 +2.38 +2.88 +3.2 +3.12 +2.55 +1.64 +0.68 +0.0 +0.0 +0.0 +0.14 +0.3 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.47 +1.39 +2.12 +2.44 +2.34 +1.98 +1.61 +1.4 +1.37 +1.39 +1.32 +1.08 +0.75 +0.5 +0.47 +0.69 +1.06 +1.36 +1.43 +1.23 +0.88 +0.57 +0.49 +0.67 +1.0 +1.34 +1.54 +1.63 +1.72 +1.96 +2.38 +2.88 +3.2 +3.12 +2.55 +1.64 +0.68 +0.0 +0.0 +0.0 +0.14 +0.3 +0.23 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.47 +1.39 +2.12 +2.44 +2.34 +1.98 +1.61 +1.4 +1.37 +1.39 +1.32 +1.08 +0.75 +0.5 +0.47 +0.69 +1.06 +1.36 +1.26 +1.33 +1.1 +0.71 +0.36 +0.26 +0.44 +0.8 +1.18 +1.45 +1.62 +1.82 +2.19 +2.76 +3.36 +3.73 +3.63 +3.0 +2.0 +0.99 +0.29 +0.07 +0.24 +0.55 +0.75 +0.69 +0.43 +0.13 +0.0 +0.06 +0.29 +0.54 +0.67 +0.61 +0.4 +0.13 +0.0 +0.0 +0.0 +0.16 +0.36 +0.45 +0.36 +0.12 +0.0 +0.0 +0.0 +0.0 +0.22 +0.36 +0.24 +0.0 +0.0 +0.0 +0.01 +0.85 +1.85 +2.66 +3.02 +2.9 +2.45 +1.95 +1.6 +1.44 +1.37 +1.22 +0.93 +0.57 +0.3 +0.28 +0.53 +0.93 +1.26 +1.33 +1.1 +0.71 +0.36 +0.26 +0.44 +0.8 +1.18 +1.45 +1.62 +1.82 +2.19 +2.76 +3.36 +3.73 +3.63 +3.0 +2.0 +0.99 +0.29 +0.07 +0.24 +0.55 +0.75 +0.69 +0.43 +0.13 +0.0 +0.06 +0.29 +0.54 +0.67 +0.61 +0.4 +0.13 +0.0 +0.0 +0.0 +0.16 +0.36 +0.45 +0.36 +0.12 +0.0 +0.0 +0.0 +0.0 +0.22 +0.36 +0.24 +0.0 +0.0 +0.0 +0.01 +0.85 +1.85 +2.66 +3.02 +2.9 +2.45 +1.95 +1.6 +1.44 +1.37 +1.22 +0.93 +0.57 +0.3 +0.28 +0.53 +0.93 +1.26 +1.27 +1.34 +1.09 +0.66 +0.27 +0.14 +0.31 +0.67 +1.06 +1.36 +1.58 +1.85 +2.3 +2.95 +3.62 +4.03 +3.93 +3.26 +2.24 +1.21 +0.52 +0.34 +0.56 +0.92 +1.15 +1.1 +0.85 +0.56 +0.43 +0.53 +0.78 +1.04 +1.16 +1.07 +0.82 +0.53 +0.31 +0.25 +0.37 +0.62 +0.87 +1.0 +0.94 +0.71 +0.42 +0.23 +0.26 +0.48 +0.76 +0.9 +0.77 +0.42 +0.07 +0.03 +0.47 +1.34 +2.39 +3.24 +3.6 +3.43 +2.89 +2.27 +1.8 +1.53 +1.37 +1.16 +0.83 +0.45 +0.18 +0.19 +0.48 +0.92 +1.27 +1.34 +1.09 +0.66 +0.27 +0.14 +0.31 +0.67 +1.06 +1.36 +1.58 +1.85 +2.3 +2.95 +3.62 +4.03 +3.93 +3.26 +2.24 +1.21 +0.52 +0.34 +0.56 +0.92 +1.15 +1.1 +0.85 +0.56 +0.43 +0.53 +0.78 +1.04 +1.16 +1.07 +0.82 +0.53 +0.31 +0.25 +0.37 +0.62 +0.87 +1.0 +0.94 +0.71 +0.42 +0.23 +0.26 +0.48 +0.76 +0.9 +0.77 +0.42 +0.07 +0.03 +0.47 +1.34 +2.39 +3.24 +3.6 +3.43 +2.89 +2.27 +1.8 +1.53 +1.37 +1.16 +0.83 +0.45 +0.18 +0.19 +0.48 +0.92 +1.27 +1.29 +1.36 +1.1 +0.66 +0.26 +0.12 +0.28 +0.63 +1.02 +1.31 +1.53 +1.8 +2.26 +2.91 +3.58 +3.98 +3.87 +3.2 +2.17 +1.15 +0.49 +0.34 +0.59 +0.98 +1.22 +1.18 +0.93 +0.66 +0.54 +0.65 +0.91 +1.18 +1.3 +1.22 +0.97 +0.68 +0.47 +0.43 +0.57 +0.85 +1.13 +1.29 +1.25 +1.03 +0.75 +0.55 +0.58 +0.81 +1.09 +1.23 +1.1 +0.75 +0.4 +0.36 +0.81 +1.72 +2.79 +3.65 +4.0 +3.79 +3.2 +2.51 +1.96 +1.62 +1.4 +1.15 +0.8 +0.41 +0.15 +0.17 +0.48 +0.93 +1.29 +1.36 +1.1 +0.66 +0.26 +0.12 +0.28 +0.63 +1.02 +1.31 +1.53 +1.8 +2.26 +2.91 +3.58 +3.98 +3.87 +3.2 +2.17 +1.15 +0.49 +0.34 +0.59 +0.98 +1.22 +1.18 +0.93 +0.66 +0.54 +0.65 +0.91 +1.18 +1.3 +1.22 +0.97 +0.68 +0.47 +0.43 +0.57 +0.85 +1.13 +1.29 +1.25 +1.03 +0.75 +0.55 +0.58 +0.81 +1.09 +1.23 +1.1 +0.75 +0.4 +0.36 +0.81 +1.72 +2.79 +3.65 +4.0 +3.79 +3.2 +2.51 +1.96 +1.62 +1.4 +1.15 +0.8 +0.41 +0.15 +0.17 +0.48 +0.93 +1.29 +1.29 +1.36 +1.11 +0.68 +0.3 +0.17 +0.33 +0.69 +1.05 +1.31 +1.47 +1.68 +2.06 +2.64 +3.24 +3.59 +3.46 +2.79 +1.79 +0.8 +0.16 +0.02 +0.27 +0.65 +0.89 +0.85 +0.61 +0.34 +0.22 +0.33 +0.6 +0.87 +1.01 +0.95 +0.74 +0.48 +0.3 +0.28 +0.44 +0.72 +1.0 +1.17 +1.13 +0.92 +0.64 +0.47 +0.5 +0.74 +1.04 +1.19 +1.07 +0.74 +0.43 +0.42 +0.91 +1.83 +2.9 +3.75 +4.09 +3.88 +3.28 +2.59 +2.04 +1.7 +1.48 +1.22 +0.86 +0.47 +0.2 +0.2 +0.5 +0.94 +1.29 +1.36 +1.11 +0.68 +0.3 +0.17 +0.33 +0.69 +1.05 +1.31 +1.47 +1.68 +2.06 +2.64 +3.24 +3.59 +3.46 +2.79 +1.79 +0.8 +0.16 +0.02 +0.27 +0.65 +0.89 +0.85 +0.61 +0.34 +0.22 +0.33 +0.6 +0.87 +1.01 +0.95 +0.74 +0.48 +0.3 +0.28 +0.44 +0.72 +1.0 +1.17 +1.13 +0.92 +0.64 +0.47 +0.5 +0.74 +1.04 +1.19 +1.07 +0.74 +0.43 +0.42 +0.91 +1.83 +2.9 +3.75 +4.09 +3.88 +3.28 +2.59 +2.04 +1.7 +1.48 +1.22 +0.86 +0.47 +0.2 +0.2 +0.5 +0.94 +1.29 +1.3 +1.36 +1.13 +0.73 +0.39 +0.29 +0.47 +0.81 +1.15 +1.35 +1.43 +1.53 +1.78 +2.23 +2.72 +3.0 +2.85 +2.21 +1.26 +0.32 +0.0 +0.0 +0.0 +0.12 +0.34 +0.3 +0.06 +0.0 +0.0 +0.0 +0.0 +0.28 +0.44 +0.43 +0.27 +0.07 +0.0 +0.0 +0.07 +0.33 +0.58 +0.72 +0.67 +0.46 +0.2 +0.05 +0.1 +0.36 +0.66 +0.83 +0.74 +0.45 +0.19 +0.24 +0.75 +1.67 +2.72 +3.54 +3.87 +3.66 +3.11 +2.5 +2.03 +1.75 +1.58 +1.35 +1.01 +0.62 +0.34 +0.32 +0.58 +0.98 +1.3 +1.36 +1.13 +0.73 +0.39 +0.29 +0.47 +0.81 +1.15 +1.35 +1.43 +1.53 +1.78 +2.23 +2.72 +3.0 +2.85 +2.21 +1.26 +0.32 +0.0 +0.0 +0.0 +0.12 +0.34 +0.3 +0.06 +0.0 +0.0 +0.0 +0.0 +0.28 +0.44 +0.43 +0.27 +0.07 +0.0 +0.0 +0.07 +0.33 +0.58 +0.72 +0.67 +0.46 +0.2 +0.05 +0.1 +0.36 +0.66 +0.83 +0.74 +0.45 +0.19 +0.24 +0.75 +1.67 +2.72 +3.54 +3.87 +3.66 +3.11 +2.5 +2.03 +1.75 +1.58 +1.35 +1.01 +0.62 +0.34 +0.32 +0.58 +0.98 +1.3 +1.41 +1.46 +1.24 +0.87 +0.57 +0.49 +0.66 +0.98 +1.27 +1.4 +1.4 +1.37 +1.49 +1.79 +2.17 +2.4 +2.26 +1.69 +0.82 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.22 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.41 +0.34 +0.1 +0.0 +0.0 +0.52 +1.4 +2.38 +3.12 +3.41 +3.23 +2.76 +2.26 +1.92 +1.76 +1.68 +1.52 +1.22 +0.85 +0.59 +0.55 +0.78 +1.13 +1.41 +1.46 +1.24 +0.87 +0.57 +0.49 +0.66 +0.98 +1.27 +1.4 +1.4 +1.37 +1.49 +1.79 +2.17 +2.4 +2.26 +1.69 +0.82 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.22 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.23 +0.41 +0.34 +0.1 +0.0 +0.0 +0.52 +1.4 +2.38 +3.12 +3.41 +3.23 +2.76 +2.26 +1.92 +1.76 +1.68 +1.52 +1.22 +0.85 +0.59 +0.55 +0.78 +1.13 +1.41 +1.67 +1.7 +1.48 +1.12 +0.82 +0.72 +0.86 +1.13 +1.37 +1.44 +1.36 +1.24 +1.24 +1.43 +1.73 +1.94 +1.85 +1.39 +0.67 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.19 +0.14 +0.0 +0.0 +0.0 +0.37 +1.16 +2.01 +2.63 +2.85 +2.67 +2.3 +1.94 +1.75 +1.73 +1.75 +1.67 +1.44 +1.13 +0.91 +0.89 +1.1 +1.42 +1.67 +1.7 +1.48 +1.12 +0.82 +0.72 +0.86 +1.13 +1.37 +1.44 +1.36 +1.24 +1.24 +1.43 +1.73 +1.94 +1.85 +1.39 +0.67 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.19 +0.14 +0.0 +0.0 +0.0 +0.37 +1.16 +2.01 +2.63 +2.85 +2.67 +2.3 +1.94 +1.75 +1.73 +1.75 +1.67 +1.44 +1.13 +0.91 +0.89 +1.1 +1.42 +1.67 +2.03 +2.03 +1.79 +1.42 +1.08 +0.94 +1.01 +1.21 +1.39 +1.42 +1.29 +1.12 +1.05 +1.18 +1.44 +1.67 +1.67 +1.36 +0.79 +0.19 +0.0 +0.0 +0.0 +0.08 +0.21 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.09 +0.04 +0.0 +0.0 +0.05 +0.13 +0.17 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.3 +0.23 +0.03 +0.0 +0.0 +0.37 +1.03 +1.71 +2.17 +2.29 +2.11 +1.81 +1.58 +1.54 +1.65 +1.77 +1.77 +1.62 +1.39 +1.23 +1.27 +1.49 +1.81 +2.03 +2.03 +1.79 +1.42 +1.08 +0.94 +1.01 +1.21 +1.39 +1.42 +1.29 +1.12 +1.05 +1.18 +1.44 +1.67 +1.67 +1.36 +0.79 +0.19 +0.0 +0.0 +0.0 +0.08 +0.21 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.09 +0.04 +0.0 +0.0 +0.05 +0.13 +0.17 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.3 +0.23 +0.03 +0.0 +0.0 +0.37 +1.03 +1.71 +2.17 +2.29 +2.11 +1.81 +1.58 +1.54 +1.65 +1.77 +1.77 +1.62 +1.39 +1.23 +1.27 +1.49 +1.81 +2.03 +2.37 +2.34 +2.07 +1.65 +1.26 +1.04 +1.03 +1.17 +1.29 +1.3 +1.16 +0.98 +0.89 +0.99 +1.24 +1.51 +1.61 +1.43 +1.02 +0.56 +0.25 +0.2 +0.38 +0.63 +0.77 +0.68 +0.41 +0.08 +0.0 +0.0 +0.0 +0.23 +0.46 +0.6 +0.64 +0.61 +0.58 +0.58 +0.62 +0.66 +0.63 +0.5 +0.25 +0.0 +0.0 +0.0 +0.0 +0.23 +0.51 +0.62 +0.52 +0.29 +0.11 +0.15 +0.46 +0.97 +1.47 +1.76 +1.78 +1.59 +1.35 +1.24 +1.32 +1.52 +1.71 +1.77 +1.69 +1.55 +1.48 +1.58 +1.85 +2.16 +2.37 +2.34 +2.07 +1.65 +1.26 +1.04 +1.03 +1.17 +1.29 +1.3 +1.16 +0.98 +0.89 +0.99 +1.24 +1.51 +1.61 +1.43 +1.02 +0.56 +0.25 +0.2 +0.38 +0.63 +0.77 +0.68 +0.41 +0.08 +0.0 +0.0 +0.0 +0.23 +0.46 +0.6 +0.64 +0.61 +0.58 +0.58 +0.62 +0.66 +0.63 +0.5 +0.25 +0.0 +0.0 +0.0 +0.0 +0.23 +0.51 +0.62 +0.52 +0.29 +0.11 +0.15 +0.46 +0.97 +1.47 +1.76 +1.78 +1.59 +1.35 +1.24 +1.32 +1.52 +1.71 +1.77 +1.69 +1.55 +1.48 +1.58 +1.85 +2.16 +2.37 +2.55 +2.48 +2.17 +1.7 +1.26 +0.97 +0.9 +0.98 +1.07 +1.07 +0.94 +0.77 +0.69 +0.78 +1.03 +1.32 +1.48 +1.4 +1.1 +0.75 +0.53 +0.54 +0.76 +1.04 +1.19 +1.13 +0.87 +0.54 +0.31 +0.27 +0.43 +0.69 +0.93 +1.09 +1.14 +1.12 +1.1 +1.11 +1.14 +1.16 +1.1 +0.91 +0.63 +0.34 +0.15 +0.15 +0.35 +0.64 +0.87 +0.93 +0.77 +0.49 +0.27 +0.26 +0.5 +0.88 +1.23 +1.39 +1.33 +1.14 +0.97 +0.95 +1.11 +1.37 +1.59 +1.68 +1.64 +1.56 +1.57 +1.73 +2.04 +2.36 +2.55 +2.48 +2.17 +1.7 +1.26 +0.97 +0.9 +0.98 +1.07 +1.07 +0.94 +0.77 +0.69 +0.78 +1.03 +1.32 +1.48 +1.4 +1.1 +0.75 +0.53 +0.54 +0.76 +1.04 +1.19 +1.13 +0.87 +0.54 +0.31 +0.27 +0.43 +0.69 +0.93 +1.09 +1.14 +1.12 +1.1 +1.11 +1.14 +1.16 +1.1 +0.91 +0.63 +0.34 +0.15 +0.15 +0.35 +0.64 +0.87 +0.93 +0.77 +0.49 +0.27 +0.26 +0.5 +0.88 +1.23 +1.39 +1.33 +1.14 +0.97 +0.95 +1.11 +1.37 +1.59 +1.68 +1.64 +1.56 +1.57 +1.73 +2.04 +2.36 +2.55 +2.5 +2.4 +2.05 +1.55 +1.07 +0.75 +0.63 +0.67 +0.75 +0.75 +0.65 +0.5 +0.42 +0.5 +0.74 +1.01 +1.18 +1.13 +0.89 +0.61 +0.44 +0.5 +0.76 +1.07 +1.26 +1.22 +0.99 +0.69 +0.47 +0.45 +0.61 +0.88 +1.14 +1.3 +1.36 +1.35 +1.33 +1.35 +1.4 +1.41 +1.32 +1.11 +0.81 +0.51 +0.33 +0.35 +0.56 +0.83 +1.02 +1.01 +0.79 +0.47 +0.23 +0.19 +0.38 +0.68 +0.94 +1.04 +0.95 +0.77 +0.66 +0.71 +0.92 +1.2 +1.42 +1.5 +1.48 +1.44 +1.5 +1.71 +2.03 +2.35 +2.5 +2.4 +2.05 +1.55 +1.07 +0.75 +0.63 +0.67 +0.75 +0.75 +0.65 +0.5 +0.42 +0.5 +0.74 +1.01 +1.18 +1.13 +0.89 +0.61 +0.44 +0.5 +0.76 +1.07 +1.26 +1.22 +0.99 +0.69 +0.47 +0.45 +0.61 +0.88 +1.14 +1.3 +1.36 +1.35 +1.33 +1.35 +1.4 +1.41 +1.32 +1.11 +0.81 +0.51 +0.33 +0.35 +0.56 +0.83 +1.02 +1.01 +0.79 +0.47 +0.23 +0.19 +0.38 +0.68 +0.94 +1.04 +0.95 +0.77 +0.66 +0.71 +0.92 +1.2 +1.42 +1.5 +1.48 +1.44 +1.5 +1.71 +2.03 +2.35 +2.5 +2.31 +2.17 +1.79 +1.27 +0.78 +0.45 +0.31 +0.33 +0.4 +0.41 +0.32 +0.18 +0.11 +0.18 +0.37 +0.6 +0.73 +0.66 +0.43 +0.17 +0.03 +0.12 +0.4 +0.74 +0.96 +0.96 +0.76 +0.49 +0.3 +0.3 +0.48 +0.76 +1.02 +1.19 +1.25 +1.25 +1.25 +1.28 +1.33 +1.34 +1.23 +1.0 +0.69 +0.39 +0.24 +0.28 +0.48 +0.74 +0.88 +0.82 +0.56 +0.22 +0.0 +0.0 +0.13 +0.41 +0.65 +0.73 +0.65 +0.51 +0.45 +0.55 +0.78 +1.05 +1.24 +1.3 +1.28 +1.26 +1.34 +1.58 +1.9 +2.19 +2.31 +2.17 +1.79 +1.27 +0.78 +0.45 +0.31 +0.33 +0.4 +0.41 +0.32 +0.18 +0.11 +0.18 +0.37 +0.6 +0.73 +0.66 +0.43 +0.17 +0.03 +0.12 +0.4 +0.74 +0.96 +0.96 +0.76 +0.49 +0.3 +0.3 +0.48 +0.76 +1.02 +1.19 +1.25 +1.25 +1.25 +1.28 +1.33 +1.34 +1.23 +1.0 +0.69 +0.39 +0.24 +0.28 +0.48 +0.74 +0.88 +0.82 +0.56 +0.22 +0.0 +0.0 +0.13 +0.41 +0.65 +0.73 +0.65 +0.51 +0.45 +0.55 +0.78 +1.05 +1.24 +1.3 +1.28 +1.26 +1.34 +1.58 +1.9 +2.19 +2.31 +2.11 +1.94 +1.54 +1.02 +0.54 +0.2 +0.06 +0.06 +0.1 +0.1 +0.01 +0.0 +0.0 +0.0 +0.03 +0.2 +0.27 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.28 +0.51 +0.53 +0.35 +0.12 +0.0 +0.0 +0.17 +0.46 +0.73 +0.91 +0.99 +1.0 +1.01 +1.05 +1.1 +1.09 +0.97 +0.72 +0.4 +0.11 +0.0 +0.02 +0.23 +0.47 +0.59 +0.5 +0.23 +0.0 +0.0 +0.0 +0.0 +0.18 +0.42 +0.51 +0.46 +0.37 +0.34 +0.45 +0.68 +0.92 +1.09 +1.13 +1.11 +1.11 +1.22 +1.47 +1.78 +2.04 +2.11 +1.94 +1.54 +1.02 +0.54 +0.2 +0.06 +0.06 +0.1 +0.1 +0.01 +0.0 +0.0 +0.0 +0.03 +0.2 +0.27 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.28 +0.51 +0.53 +0.35 +0.12 +0.0 +0.0 +0.17 +0.46 +0.73 +0.91 +0.99 +1.0 +1.01 +1.05 +1.1 +1.09 +0.97 +0.72 +0.4 +0.11 +0.0 +0.02 +0.23 +0.47 +0.59 +0.5 +0.23 +0.0 +0.0 +0.0 +0.0 +0.18 +0.42 +0.51 +0.46 +0.37 +0.34 +0.45 +0.68 +0.92 +1.09 +1.13 +1.11 +1.11 +1.22 +1.47 +1.78 +2.04 +2.11 +2.07 +1.86 +1.44 +0.93 +0.45 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.17 +0.01 +0.0 +0.0 +0.0 +0.0 +0.21 +0.49 +0.68 +0.78 +0.82 +0.86 +0.9 +0.93 +0.89 +0.74 +0.47 +0.14 +0.0 +0.0 +0.0 +0.01 +0.23 +0.34 +0.25 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.32 +0.43 +0.41 +0.33 +0.32 +0.42 +0.62 +0.83 +0.98 +1.03 +1.04 +1.08 +1.23 +1.5 +1.8 +2.03 +2.07 +1.86 +1.44 +0.93 +0.45 +0.12 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.17 +0.01 +0.0 +0.0 +0.0 +0.0 +0.21 +0.49 +0.68 +0.78 +0.82 +0.86 +0.9 +0.93 +0.89 +0.74 +0.47 +0.14 +0.0 +0.0 +0.0 +0.01 +0.23 +0.34 +0.25 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.32 +0.43 +0.41 +0.33 +0.32 +0.42 +0.62 +0.83 +0.98 +1.03 +1.04 +1.08 +1.23 +1.5 +1.8 +2.03 +2.07 +2.2 +1.97 +1.55 +1.05 +0.58 +0.23 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.44 +0.66 +0.79 +0.88 +0.94 +0.99 +1.0 +0.92 +0.73 +0.44 +0.11 +0.0 +0.0 +0.0 +0.0 +0.17 +0.27 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.34 +0.46 +0.45 +0.38 +0.35 +0.42 +0.59 +0.77 +0.92 +1.01 +1.07 +1.18 +1.38 +1.68 +1.98 +2.19 +2.2 +1.97 +1.55 +1.05 +0.58 +0.23 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.44 +0.66 +0.79 +0.88 +0.94 +0.99 +1.0 +0.92 +0.73 +0.44 +0.11 +0.0 +0.0 +0.0 +0.0 +0.17 +0.27 +0.21 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.34 +0.46 +0.45 +0.38 +0.35 +0.42 +0.59 +0.77 +0.92 +1.01 +1.07 +1.18 +1.38 +1.68 +1.98 +2.19 +2.2 +2.43 +2.2 +1.79 +1.3 +0.84 +0.48 +0.24 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.23 +0.17 +0.0 +0.0 +0.0 +0.0 +0.04 +0.33 +0.61 +0.85 +1.04 +1.17 +1.26 +1.31 +1.29 +1.17 +0.95 +0.65 +0.33 +0.07 +0.0 +0.0 +0.12 +0.29 +0.38 +0.34 +0.17 +0.0 +0.0 +0.0 +0.0 +0.18 +0.39 +0.51 +0.5 +0.44 +0.4 +0.44 +0.56 +0.73 +0.9 +1.03 +1.17 +1.35 +1.61 +1.93 +2.24 +2.44 +2.43 +2.2 +1.79 +1.3 +0.84 +0.48 +0.24 +0.09 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.23 +0.17 +0.0 +0.0 +0.0 +0.0 +0.04 +0.33 +0.61 +0.85 +1.04 +1.17 +1.26 +1.31 +1.29 +1.17 +0.95 +0.65 +0.33 +0.07 +0.0 +0.0 +0.12 +0.29 +0.38 +0.34 +0.17 +0.0 +0.0 +0.0 +0.0 +0.18 +0.39 +0.51 +0.5 +0.44 +0.4 +0.44 +0.56 +0.73 +0.9 +1.03 +1.17 +1.35 +1.61 +1.93 +2.24 +2.44 +2.43 +2.61 +2.39 +2.01 +1.55 +1.11 +0.76 +0.49 +0.3 +0.14 +0.01 +0.0 +0.0 +0.0 +0.08 +0.2 +0.26 +0.22 +0.1 +0.0 +0.0 +0.0 +0.09 +0.28 +0.42 +0.44 +0.35 +0.19 +0.06 +0.03 +0.13 +0.33 +0.6 +0.89 +1.15 +1.38 +1.56 +1.68 +1.73 +1.68 +1.53 +1.29 +0.99 +0.68 +0.43 +0.29 +0.27 +0.35 +0.46 +0.54 +0.5 +0.36 +0.16 +0.0 +0.0 +0.02 +0.19 +0.37 +0.49 +0.51 +0.47 +0.43 +0.45 +0.54 +0.7 +0.88 +1.06 +1.26 +1.5 +1.79 +2.13 +2.43 +2.61 +2.61 +2.39 +2.01 +1.55 +1.11 +0.76 +0.49 +0.3 +0.14 +0.01 +0.0 +0.0 +0.0 +0.08 +0.2 +0.26 +0.22 +0.1 +0.0 +0.0 +0.0 +0.09 +0.28 +0.42 +0.44 +0.35 +0.19 +0.06 +0.03 +0.13 +0.33 +0.6 +0.89 +1.15 +1.38 +1.56 +1.68 +1.73 +1.68 +1.53 +1.29 +0.99 +0.68 +0.43 +0.29 +0.27 +0.35 +0.46 +0.54 +0.5 +0.36 +0.16 +0.0 +0.0 +0.02 +0.19 +0.37 +0.49 +0.51 +0.47 +0.43 +0.45 +0.54 +0.7 +0.88 +1.06 +1.26 +1.5 +1.79 +2.13 +2.43 +2.61 +2.61 +2.62 +2.43 +2.1 +1.71 +1.32 +0.98 +0.72 +0.5 +0.32 +0.18 +0.1 +0.1 +0.18 +0.28 +0.36 +0.35 +0.27 +0.14 +0.04 +0.03 +0.13 +0.31 +0.48 +0.57 +0.55 +0.45 +0.33 +0.26 +0.29 +0.41 +0.62 +0.87 +1.15 +1.43 +1.69 +1.9 +2.03 +2.07 +1.99 +1.82 +1.57 +1.29 +1.0 +0.76 +0.59 +0.51 +0.52 +0.57 +0.6 +0.57 +0.44 +0.25 +0.06 +0.0 +0.0 +0.06 +0.23 +0.37 +0.44 +0.45 +0.43 +0.44 +0.52 +0.66 +0.85 +1.06 +1.3 +1.56 +1.86 +2.18 +2.46 +2.62 +2.62 +2.43 +2.1 +1.71 +1.32 +0.98 +0.72 +0.5 +0.32 +0.18 +0.1 +0.1 +0.18 +0.28 +0.36 +0.35 +0.27 +0.14 +0.04 +0.03 +0.13 +0.31 +0.48 +0.57 +0.55 +0.45 +0.33 +0.26 +0.29 +0.41 +0.62 +0.87 +1.15 +1.43 +1.69 +1.9 +2.03 +2.07 +1.99 +1.82 +1.57 +1.29 +1.0 +0.76 +0.59 +0.51 +0.52 +0.57 +0.6 +0.57 +0.44 +0.25 +0.06 +0.0 +0.0 +0.06 +0.23 +0.37 +0.44 +0.45 +0.43 +0.44 +0.52 +0.66 +0.85 +1.06 +1.3 +1.56 +1.86 +2.18 +2.46 +2.62 +2.62 +2.48 +2.33 +2.07 +1.74 +1.42 +1.13 +0.88 +0.66 +0.47 +0.33 +0.26 +0.27 +0.33 +0.39 +0.39 +0.31 +0.15 +0.0 +0.0 +0.0 +0.1 +0.3 +0.46 +0.53 +0.51 +0.44 +0.38 +0.38 +0.46 +0.62 +0.83 +1.07 +1.33 +1.61 +1.88 +2.1 +2.23 +2.24 +2.14 +1.95 +1.7 +1.44 +1.18 +0.94 +0.75 +0.61 +0.55 +0.53 +0.53 +0.5 +0.38 +0.19 +0.0 +0.0 +0.0 +0.0 +0.01 +0.2 +0.34 +0.4 +0.42 +0.43 +0.5 +0.62 +0.81 +1.02 +1.26 +1.52 +1.8 +2.08 +2.32 +2.47 +2.48 +2.33 +2.07 +1.74 +1.42 +1.13 +0.88 +0.66 +0.47 +0.33 +0.26 +0.27 +0.33 +0.39 +0.39 +0.31 +0.15 +0.0 +0.0 +0.0 +0.1 +0.3 +0.46 +0.53 +0.51 +0.44 +0.38 +0.38 +0.46 +0.62 +0.83 +1.07 +1.33 +1.61 +1.88 +2.1 +2.23 +2.24 +2.14 +1.95 +1.7 +1.44 +1.18 +0.94 +0.75 +0.61 +0.55 +0.53 +0.53 +0.5 +0.38 +0.19 +0.0 +0.0 +0.0 +0.0 +0.01 +0.2 +0.34 +0.4 +0.42 +0.43 +0.5 +0.62 +0.81 +1.02 +1.26 +1.52 +1.8 +2.08 +2.32 +2.47 +2.48 +2.3 +2.2 +2.0 +1.74 +1.47 +1.22 +0.99 +0.78 +0.59 +0.45 +0.37 +0.37 +0.4 +0.41 +0.34 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.33 +0.41 +0.4 +0.37 +0.37 +0.44 +0.58 +0.77 +0.98 +1.21 +1.46 +1.73 +1.99 +2.19 +2.3 +2.28 +2.14 +1.92 +1.67 +1.43 +1.19 +0.96 +0.76 +0.59 +0.47 +0.43 +0.41 +0.38 +0.27 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.26 +0.37 +0.41 +0.42 +0.47 +0.58 +0.75 +0.95 +1.18 +1.42 +1.66 +1.91 +2.13 +2.27 +2.3 +2.2 +2.0 +1.74 +1.47 +1.22 +0.99 +0.78 +0.59 +0.45 +0.37 +0.37 +0.4 +0.41 +0.34 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.16 +0.33 +0.41 +0.4 +0.37 +0.37 +0.44 +0.58 +0.77 +0.98 +1.21 +1.46 +1.73 +1.99 +2.19 +2.3 +2.28 +2.14 +1.92 +1.67 +1.43 +1.19 +0.96 +0.76 +0.59 +0.47 +0.43 +0.41 +0.38 +0.27 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.07 +0.26 +0.37 +0.41 +0.42 +0.47 +0.58 +0.75 +0.95 +1.18 +1.42 +1.66 +1.91 +2.13 +2.27 +2.3 +2.22 +2.16 +2.0 +1.78 +1.54 +1.31 +1.08 +0.87 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.1 +1.33 +1.57 +1.83 +2.07 +2.24 +2.31 +2.24 +2.07 +1.83 +1.57 +1.33 +1.1 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.87 +1.08 +1.31 +1.54 +1.78 +2.0 +2.16 +2.22 +2.16 +2.0 +1.78 +1.54 +1.31 +1.08 +0.87 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.1 +1.33 +1.57 +1.83 +2.07 +2.24 +2.31 +2.24 +2.07 +1.83 +1.57 +1.33 +1.1 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.87 +1.08 +1.31 +1.54 +1.78 +2.0 +2.16 +2.22 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.31 +2.24 +2.07 +1.83 +1.57 +1.33 +1.1 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.87 +1.08 +1.31 +1.54 +1.78 +2.0 +2.16 +2.22 +2.16 +2.0 +1.78 +1.54 +1.31 +1.08 +0.87 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.1 +1.33 +1.57 +1.83 +2.07 +2.24 +2.31 +2.24 +2.07 +1.83 +1.57 +1.33 +1.1 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.87 +1.08 +1.31 +1.54 +1.78 +2.0 +2.16 +2.22 +2.16 +2.0 +1.78 +1.54 +1.31 +1.08 +0.87 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.1 +1.33 +1.57 +1.83 +2.07 +2.24 +2.31 +2.47 +2.4 +2.18 +1.89 +1.58 +1.3 +1.05 +0.82 +0.6 +0.42 +0.3 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.45 +0.48 +0.44 +0.42 +0.46 +0.56 +0.74 +0.96 +1.21 +1.46 +1.71 +1.94 +2.09 +2.14 +2.09 +1.94 +1.71 +1.46 +1.21 +0.96 +0.74 +0.56 +0.46 +0.42 +0.44 +0.48 +0.45 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.3 +0.42 +0.6 +0.82 +1.05 +1.3 +1.58 +1.89 +2.18 +2.4 +2.47 +2.4 +2.18 +1.89 +1.58 +1.3 +1.05 +0.82 +0.6 +0.42 +0.3 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.45 +0.48 +0.44 +0.42 +0.46 +0.56 +0.74 +0.96 +1.21 +1.46 +1.71 +1.94 +2.09 +2.14 +2.09 +1.94 +1.71 +1.46 +1.21 +0.96 +0.74 +0.56 +0.46 +0.42 +0.44 +0.48 +0.45 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.3 +0.42 +0.6 +0.82 +1.05 +1.3 +1.58 +1.89 +2.18 +2.4 +2.47 +2.6 +2.5 +2.24 +1.89 +1.53 +1.2 +0.93 +0.7 +0.49 +0.31 +0.17 +0.12 +0.14 +0.2 +0.23 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.46 +0.4 +0.32 +0.28 +0.33 +0.49 +0.72 +0.99 +1.27 +1.53 +1.75 +1.88 +1.93 +1.88 +1.75 +1.53 +1.27 +0.99 +0.72 +0.49 +0.33 +0.28 +0.32 +0.4 +0.46 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.23 +0.2 +0.14 +0.12 +0.17 +0.31 +0.49 +0.7 +0.93 +1.2 +1.53 +1.89 +2.24 +2.5 +2.6 +2.5 +2.24 +1.89 +1.53 +1.2 +0.93 +0.7 +0.49 +0.31 +0.17 +0.12 +0.14 +0.2 +0.23 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.46 +0.4 +0.32 +0.28 +0.33 +0.49 +0.72 +0.99 +1.27 +1.53 +1.75 +1.88 +1.93 +1.88 +1.75 +1.53 +1.27 +0.99 +0.72 +0.49 +0.33 +0.28 +0.32 +0.4 +0.46 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.23 +0.2 +0.14 +0.12 +0.17 +0.31 +0.49 +0.7 +0.93 +1.2 +1.53 +1.89 +2.24 +2.5 +2.6 +2.57 +2.46 +2.17 +1.77 +1.36 +1.02 +0.76 +0.55 +0.37 +0.19 +0.05 +0.0 +0.0 +0.06 +0.15 +0.17 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.33 +0.25 +0.11 +0.01 +0.0 +0.13 +0.37 +0.67 +0.97 +1.23 +1.42 +1.53 +1.57 +1.53 +1.42 +1.23 +0.97 +0.67 +0.37 +0.13 +0.0 +0.01 +0.11 +0.25 +0.33 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.17 +0.15 +0.06 +0.0 +0.0 +0.05 +0.19 +0.37 +0.55 +0.76 +1.02 +1.36 +1.77 +2.17 +2.46 +2.57 +2.46 +2.17 +1.77 +1.36 +1.02 +0.76 +0.55 +0.37 +0.19 +0.05 +0.0 +0.0 +0.06 +0.15 +0.17 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.33 +0.25 +0.11 +0.01 +0.0 +0.13 +0.37 +0.67 +0.97 +1.23 +1.42 +1.53 +1.57 +1.53 +1.42 +1.23 +0.97 +0.67 +0.37 +0.13 +0.0 +0.01 +0.11 +0.25 +0.33 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.17 +0.15 +0.06 +0.0 +0.0 +0.05 +0.19 +0.37 +0.55 +0.76 +1.02 +1.36 +1.77 +2.17 +2.46 +2.57 +2.4 +2.28 +1.96 +1.53 +1.11 +0.78 +0.56 +0.41 +0.28 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.03 +0.34 +0.65 +0.89 +1.05 +1.13 +1.15 +1.13 +1.05 +0.89 +0.65 +0.34 +0.03 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.28 +0.41 +0.56 +0.78 +1.11 +1.53 +1.96 +2.28 +2.4 +2.28 +1.96 +1.53 +1.11 +0.78 +0.56 +0.41 +0.28 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.03 +0.34 +0.65 +0.89 +1.05 +1.13 +1.15 +1.13 +1.05 +0.89 +0.65 +0.34 +0.03 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.28 +0.41 +0.56 +0.78 +1.11 +1.53 +1.96 +2.28 +2.4 +2.19 +2.07 +1.73 +1.29 +0.87 +0.58 +0.42 +0.34 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.47 +0.68 +0.79 +0.83 +0.84 +0.83 +0.79 +0.68 +0.47 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.34 +0.42 +0.58 +0.87 +1.29 +1.73 +2.07 +2.19 +2.07 +1.73 +1.29 +0.87 +0.58 +0.42 +0.34 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.47 +0.68 +0.79 +0.83 +0.84 +0.83 +0.79 +0.68 +0.47 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.34 +0.42 +0.58 +0.87 +1.29 +1.73 +2.07 +2.19 +2.1 +1.96 +1.61 +1.17 +0.76 +0.5 +0.39 +0.37 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.53 +0.7 +0.77 +0.78 +0.77 +0.78 +0.77 +0.7 +0.53 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.37 +0.39 +0.5 +0.76 +1.17 +1.61 +1.96 +2.1 +1.96 +1.61 +1.17 +0.76 +0.5 +0.39 +0.37 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.53 +0.7 +0.77 +0.78 +0.77 +0.78 +0.77 +0.7 +0.53 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.37 +0.39 +0.5 +0.76 +1.17 +1.61 +1.96 +2.1 +2.19 +2.05 +1.69 +1.24 +0.84 +0.59 +0.52 +0.54 +0.55 +0.46 +0.28 +0.09 +0.0 +0.02 +0.15 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.34 +0.51 +0.46 +0.24 +0.0 +0.0 +0.0 +0.22 +0.53 +0.8 +0.95 +0.99 +0.97 +0.96 +0.97 +0.99 +0.95 +0.8 +0.53 +0.22 +0.0 +0.0 +0.0 +0.24 +0.46 +0.51 +0.34 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.15 +0.02 +0.0 +0.09 +0.28 +0.46 +0.55 +0.54 +0.52 +0.59 +0.84 +1.24 +1.69 +2.05 +2.19 +2.05 +1.69 +1.24 +0.84 +0.59 +0.52 +0.54 +0.55 +0.46 +0.28 +0.09 +0.0 +0.02 +0.15 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.34 +0.51 +0.46 +0.24 +0.0 +0.0 +0.0 +0.22 +0.53 +0.8 +0.95 +0.99 +0.97 +0.96 +0.97 +0.99 +0.95 +0.8 +0.53 +0.22 +0.0 +0.0 +0.0 +0.24 +0.46 +0.51 +0.34 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.15 +0.02 +0.0 +0.09 +0.28 +0.46 +0.55 +0.54 +0.52 +0.59 +0.84 +1.24 +1.69 +2.05 +2.19 +2.42 +2.28 +1.91 +1.45 +1.05 +0.82 +0.77 +0.8 +0.81 +0.71 +0.52 +0.31 +0.22 +0.28 +0.45 +0.62 +0.65 +0.49 +0.21 +0.0 +0.0 +0.12 +0.46 +0.78 +0.93 +0.85 +0.61 +0.34 +0.22 +0.3 +0.55 +0.86 +1.12 +1.25 +1.28 +1.24 +1.22 +1.24 +1.28 +1.25 +1.12 +0.86 +0.55 +0.3 +0.22 +0.34 +0.61 +0.85 +0.93 +0.78 +0.46 +0.12 +0.0 +0.0 +0.21 +0.49 +0.65 +0.62 +0.45 +0.28 +0.22 +0.31 +0.52 +0.71 +0.81 +0.8 +0.77 +0.82 +1.05 +1.45 +1.91 +2.28 +2.42 +2.28 +1.91 +1.45 +1.05 +0.82 +0.77 +0.8 +0.81 +0.71 +0.52 +0.31 +0.22 +0.28 +0.45 +0.62 +0.65 +0.49 +0.21 +0.0 +0.0 +0.12 +0.46 +0.78 +0.93 +0.85 +0.61 +0.34 +0.22 +0.3 +0.55 +0.86 +1.12 +1.25 +1.28 +1.24 +1.22 +1.24 +1.28 +1.25 +1.12 +0.86 +0.55 +0.3 +0.22 +0.34 +0.61 +0.85 +0.93 +0.78 +0.46 +0.12 +0.0 +0.0 +0.21 +0.49 +0.65 +0.62 +0.45 +0.28 +0.22 +0.31 +0.52 +0.71 +0.81 +0.8 +0.77 +0.82 +1.05 +1.45 +1.91 +2.28 +2.42 +2.64 +2.5 +2.12 +1.67 +1.28 +1.08 +1.05 +1.09 +1.09 +0.97 +0.76 +0.55 +0.47 +0.57 +0.8 +1.0 +1.04 +0.87 +0.58 +0.33 +0.27 +0.44 +0.76 +1.06 +1.17 +1.04 +0.77 +0.49 +0.36 +0.44 +0.68 +0.99 +1.23 +1.36 +1.38 +1.34 +1.32 +1.34 +1.38 +1.36 +1.23 +0.99 +0.68 +0.44 +0.36 +0.49 +0.77 +1.04 +1.17 +1.06 +0.76 +0.44 +0.27 +0.33 +0.58 +0.87 +1.04 +1.0 +0.8 +0.57 +0.47 +0.55 +0.76 +0.97 +1.09 +1.09 +1.05 +1.08 +1.28 +1.67 +2.12 +2.5 +2.64 +2.5 +2.12 +1.67 +1.28 +1.08 +1.05 +1.09 +1.09 +0.97 +0.76 +0.55 +0.47 +0.57 +0.8 +1.0 +1.04 +0.87 +0.58 +0.33 +0.27 +0.44 +0.76 +1.06 +1.17 +1.04 +0.77 +0.49 +0.36 +0.44 +0.68 +0.99 +1.23 +1.36 +1.38 +1.34 +1.32 +1.34 +1.38 +1.36 +1.23 +0.99 +0.68 +0.44 +0.36 +0.49 +0.77 +1.04 +1.17 +1.06 +0.76 +0.44 +0.27 +0.33 +0.58 +0.87 +1.04 +1.0 +0.8 +0.57 +0.47 +0.55 +0.76 +0.97 +1.09 +1.09 +1.05 +1.08 +1.28 +1.67 +2.12 +2.5 +2.64 +2.67 +2.53 +2.17 +1.74 +1.4 +1.24 +1.26 +1.33 +1.33 +1.2 +0.97 +0.77 +0.72 +0.87 +1.12 +1.32 +1.33 +1.09 +0.73 +0.42 +0.31 +0.45 +0.74 +0.99 +1.05 +0.89 +0.58 +0.29 +0.17 +0.25 +0.5 +0.79 +1.02 +1.14 +1.15 +1.11 +1.09 +1.11 +1.15 +1.14 +1.02 +0.79 +0.5 +0.25 +0.17 +0.29 +0.58 +0.89 +1.05 +0.99 +0.74 +0.45 +0.31 +0.42 +0.73 +1.09 +1.33 +1.32 +1.12 +0.87 +0.72 +0.77 +0.97 +1.2 +1.33 +1.33 +1.26 +1.24 +1.4 +1.74 +2.17 +2.53 +2.67 +2.53 +2.17 +1.74 +1.4 +1.24 +1.26 +1.33 +1.33 +1.2 +0.97 +0.77 +0.72 +0.87 +1.12 +1.32 +1.33 +1.09 +0.73 +0.42 +0.31 +0.45 +0.74 +0.99 +1.05 +0.89 +0.58 +0.29 +0.17 +0.25 +0.5 +0.79 +1.02 +1.14 +1.15 +1.11 +1.09 +1.11 +1.15 +1.14 +1.02 +0.79 +0.5 +0.25 +0.17 +0.29 +0.58 +0.89 +1.05 +0.99 +0.74 +0.45 +0.31 +0.42 +0.73 +1.09 +1.33 +1.32 +1.12 +0.87 +0.72 +0.77 +0.97 +1.2 +1.33 +1.33 +1.26 +1.24 +1.4 +1.74 +2.17 +2.53 +2.67 +2.47 +2.33 +1.99 +1.6 +1.32 +1.24 +1.33 +1.45 +1.47 +1.35 +1.13 +0.96 +0.97 +1.15 +1.42 +1.58 +1.49 +1.13 +0.64 +0.22 +0.04 +0.14 +0.39 +0.61 +0.63 +0.43 +0.11 +0.0 +0.0 +0.0 +0.07 +0.34 +0.55 +0.63 +0.62 +0.58 +0.55 +0.58 +0.62 +0.63 +0.55 +0.34 +0.07 +0.0 +0.0 +0.0 +0.11 +0.43 +0.63 +0.61 +0.39 +0.14 +0.04 +0.22 +0.64 +1.13 +1.49 +1.58 +1.42 +1.15 +0.97 +0.96 +1.13 +1.35 +1.47 +1.45 +1.33 +1.24 +1.32 +1.6 +1.99 +2.33 +2.47 +2.33 +1.99 +1.6 +1.32 +1.24 +1.33 +1.45 +1.47 +1.35 +1.13 +0.96 +0.97 +1.15 +1.42 +1.58 +1.49 +1.13 +0.64 +0.22 +0.04 +0.14 +0.39 +0.61 +0.63 +0.43 +0.11 +0.0 +0.0 +0.0 +0.07 +0.34 +0.55 +0.63 +0.62 +0.58 +0.55 +0.58 +0.62 +0.63 +0.55 +0.34 +0.07 +0.0 +0.0 +0.0 +0.11 +0.43 +0.63 +0.61 +0.39 +0.14 +0.04 +0.22 +0.64 +1.13 +1.49 +1.58 +1.42 +1.15 +0.97 +0.96 +1.13 +1.35 +1.47 +1.45 +1.33 +1.24 +1.32 +1.6 +1.99 +2.33 +2.47 +2.08 +1.95 +1.63 +1.28 +1.07 +1.07 +1.24 +1.43 +1.51 +1.43 +1.26 +1.15 +1.23 +1.48 +1.75 +1.85 +1.63 +1.1 +0.44 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.44 +1.1 +1.63 +1.85 +1.75 +1.48 +1.23 +1.15 +1.26 +1.43 +1.51 +1.43 +1.24 +1.07 +1.07 +1.28 +1.63 +1.95 +2.08 +1.95 +1.63 +1.28 +1.07 +1.07 +1.24 +1.43 +1.51 +1.43 +1.26 +1.15 +1.23 +1.48 +1.75 +1.85 +1.63 +1.1 +0.44 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.44 +1.1 +1.63 +1.85 +1.75 +1.48 +1.23 +1.15 +1.26 +1.43 +1.51 +1.43 +1.24 +1.07 +1.07 +1.28 +1.63 +1.95 +2.08 +1.67 +1.54 +1.22 +0.89 +0.72 +0.79 +1.04 +1.31 +1.46 +1.44 +1.35 +1.35 +1.54 +1.87 +2.18 +2.22 +1.86 +1.17 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +1.17 +1.86 +2.22 +2.18 +1.87 +1.54 +1.35 +1.35 +1.44 +1.46 +1.31 +1.04 +0.79 +0.72 +0.89 +1.22 +1.54 +1.67 +1.54 +1.22 +0.89 +0.72 +0.79 +1.04 +1.31 +1.46 +1.44 +1.35 +1.35 +1.54 +1.87 +2.18 +2.22 +1.86 +1.17 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +1.17 +1.86 +2.22 +2.18 +1.87 +1.54 +1.35 +1.35 +1.44 +1.46 +1.31 +1.04 +0.79 +0.72 +0.89 +1.22 +1.54 +1.67 +1.37 +1.23 +0.9 +0.55 +0.39 +0.5 +0.8 +1.13 +1.35 +1.42 +1.44 +1.57 +1.89 +2.34 +2.7 +2.72 +2.27 +1.43 +0.48 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.48 +1.43 +2.27 +2.72 +2.7 +2.34 +1.89 +1.57 +1.44 +1.42 +1.35 +1.13 +0.8 +0.5 +0.39 +0.55 +0.9 +1.23 +1.37 +1.23 +0.9 +0.55 +0.39 +0.5 +0.8 +1.13 +1.35 +1.42 +1.44 +1.57 +1.89 +2.34 +2.7 +2.72 +2.27 +1.43 +0.48 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.48 +1.43 +2.27 +2.72 +2.7 +2.34 +1.89 +1.57 +1.44 +1.42 +1.35 +1.13 +0.8 +0.5 +0.39 +0.55 +0.9 +1.23 +1.37 +1.24 +1.09 +0.72 +0.34 +0.15 +0.26 +0.58 +0.95 +1.23 +1.38 +1.51 +1.78 +2.25 +2.82 +3.24 +3.27 +2.76 +1.84 +0.82 +0.04 +0.0 +0.0 +0.18 +0.46 +0.49 +0.29 +0.0 +0.0 +0.0 +0.03 +0.31 +0.5 +0.51 +0.35 +0.11 +0.0 +0.0 +0.0 +0.11 +0.35 +0.51 +0.5 +0.31 +0.03 +0.0 +0.0 +0.0 +0.29 +0.49 +0.46 +0.18 +0.0 +0.0 +0.04 +0.82 +1.84 +2.76 +3.27 +3.24 +2.82 +2.25 +1.78 +1.51 +1.38 +1.23 +0.95 +0.58 +0.26 +0.15 +0.34 +0.72 +1.09 +1.24 +1.09 +0.72 +0.34 +0.15 +0.26 +0.58 +0.95 +1.23 +1.38 +1.51 +1.78 +2.25 +2.82 +3.24 +3.27 +2.76 +1.84 +0.82 +0.04 +0.0 +0.0 +0.18 +0.46 +0.49 +0.29 +0.0 +0.0 +0.0 +0.03 +0.31 +0.5 +0.51 +0.35 +0.11 +0.0 +0.0 +0.0 +0.11 +0.35 +0.51 +0.5 +0.31 +0.03 +0.0 +0.0 +0.0 +0.29 +0.49 +0.46 +0.18 +0.0 +0.0 +0.04 +0.82 +1.84 +2.76 +3.27 +3.24 +2.82 +2.25 +1.78 +1.51 +1.38 +1.23 +0.95 +0.58 +0.26 +0.15 +0.34 +0.72 +1.09 +1.24 +1.23 +1.06 +0.66 +0.24 +0.02 +0.11 +0.44 +0.83 +1.15 +1.36 +1.57 +1.93 +2.51 +3.17 +3.67 +3.71 +3.18 +2.23 +1.17 +0.37 +0.07 +0.23 +0.61 +0.92 +0.98 +0.78 +0.49 +0.31 +0.35 +0.58 +0.86 +1.03 +1.01 +0.81 +0.52 +0.27 +0.18 +0.27 +0.52 +0.81 +1.01 +1.03 +0.86 +0.58 +0.35 +0.31 +0.49 +0.78 +0.98 +0.92 +0.61 +0.23 +0.07 +0.37 +1.17 +2.23 +3.18 +3.71 +3.67 +3.17 +2.51 +1.93 +1.57 +1.36 +1.15 +0.83 +0.44 +0.11 +0.02 +0.24 +0.66 +1.06 +1.23 +1.06 +0.66 +0.24 +0.02 +0.11 +0.44 +0.83 +1.15 +1.36 +1.57 +1.93 +2.51 +3.17 +3.67 +3.71 +3.18 +2.23 +1.17 +0.37 +0.07 +0.23 +0.61 +0.92 +0.98 +0.78 +0.49 +0.31 +0.35 +0.58 +0.86 +1.03 +1.01 +0.81 +0.52 +0.27 +0.18 +0.27 +0.52 +0.81 +1.01 +1.03 +0.86 +0.58 +0.35 +0.31 +0.49 +0.78 +0.98 +0.92 +0.61 +0.23 +0.07 +0.37 +1.17 +2.23 +3.18 +3.71 +3.67 +3.17 +2.51 +1.93 +1.57 +1.36 +1.15 +0.83 +0.44 +0.11 +0.02 +0.24 +0.66 +1.06 +1.23 +1.23 +1.06 +0.65 +0.21 +0.0 +0.06 +0.39 +0.79 +1.11 +1.35 +1.59 +1.99 +2.61 +3.31 +3.82 +3.88 +3.35 +2.38 +1.31 +0.52 +0.22 +0.4 +0.8 +1.12 +1.18 +0.98 +0.7 +0.52 +0.56 +0.8 +1.08 +1.26 +1.22 +1.0 +0.69 +0.44 +0.34 +0.44 +0.69 +1.0 +1.22 +1.26 +1.08 +0.8 +0.56 +0.52 +0.7 +0.98 +1.18 +1.12 +0.8 +0.4 +0.22 +0.52 +1.31 +2.38 +3.35 +3.88 +3.82 +3.31 +2.61 +1.99 +1.59 +1.35 +1.11 +0.79 +0.39 +0.06 +0.0 +0.21 +0.65 +1.06 +1.23 +1.06 +0.65 +0.21 +0.0 +0.06 +0.39 +0.79 +1.11 +1.35 +1.59 +1.99 +2.61 +3.31 +3.82 +3.88 +3.35 +2.38 +1.31 +0.52 +0.22 +0.4 +0.8 +1.12 +1.18 +0.98 +0.7 +0.52 +0.56 +0.8 +1.08 +1.26 +1.22 +1.0 +0.69 +0.44 +0.34 +0.44 +0.69 +1.0 +1.22 +1.26 +1.08 +0.8 +0.56 +0.52 +0.7 +0.98 +1.18 +1.12 +0.8 +0.4 +0.22 +0.52 +1.31 +2.38 +3.35 +3.88 +3.82 +3.31 +2.61 +1.99 +1.59 +1.35 +1.11 +0.79 +0.39 +0.06 +0.0 +0.21 +0.65 +1.06 +1.23 +1.23 +1.06 +0.66 +0.24 +0.02 +0.11 +0.44 +0.83 +1.15 +1.36 +1.57 +1.93 +2.51 +3.17 +3.67 +3.71 +3.18 +2.23 +1.17 +0.37 +0.07 +0.23 +0.61 +0.92 +0.98 +0.78 +0.49 +0.31 +0.35 +0.58 +0.86 +1.03 +1.01 +0.81 +0.52 +0.27 +0.18 +0.27 +0.52 +0.81 +1.01 +1.03 +0.86 +0.58 +0.35 +0.31 +0.49 +0.78 +0.98 +0.92 +0.61 +0.23 +0.07 +0.37 +1.17 +2.23 +3.18 +3.71 +3.67 +3.17 +2.51 +1.93 +1.57 +1.36 +1.15 +0.83 +0.44 +0.11 +0.02 +0.24 +0.66 +1.06 +1.23 +1.06 +0.66 +0.24 +0.02 +0.11 +0.44 +0.83 +1.15 +1.36 +1.57 +1.93 +2.51 +3.17 +3.67 +3.71 +3.18 +2.23 +1.17 +0.37 +0.07 +0.23 +0.61 +0.92 +0.98 +0.78 +0.49 +0.31 +0.35 +0.58 +0.86 +1.03 +1.01 +0.81 +0.52 +0.27 +0.18 +0.27 +0.52 +0.81 +1.01 +1.03 +0.86 +0.58 +0.35 +0.31 +0.49 +0.78 +0.98 +0.92 +0.61 +0.23 +0.07 +0.37 +1.17 +2.23 +3.18 +3.71 +3.67 +3.17 +2.51 +1.93 +1.57 +1.36 +1.15 +0.83 +0.44 +0.11 +0.02 +0.24 +0.66 +1.06 +1.23 +1.24 +1.09 +0.72 +0.34 +0.15 +0.26 +0.58 +0.95 +1.23 +1.38 +1.51 +1.78 +2.25 +2.82 +3.24 +3.27 +2.76 +1.84 +0.82 +0.04 +0.0 +0.0 +0.18 +0.46 +0.49 +0.29 +0.0 +0.0 +0.0 +0.03 +0.31 +0.5 +0.51 +0.35 +0.11 +0.0 +0.0 +0.0 +0.11 +0.35 +0.51 +0.5 +0.31 +0.03 +0.0 +0.0 +0.0 +0.29 +0.49 +0.46 +0.18 +0.0 +0.0 +0.04 +0.82 +1.84 +2.76 +3.27 +3.24 +2.82 +2.25 +1.78 +1.51 +1.38 +1.23 +0.95 +0.58 +0.26 +0.15 +0.34 +0.72 +1.09 +1.24 +1.09 +0.72 +0.34 +0.15 +0.26 +0.58 +0.95 +1.23 +1.38 +1.51 +1.78 +2.25 +2.82 +3.24 +3.27 +2.76 +1.84 +0.82 +0.04 +0.0 +0.0 +0.18 +0.46 +0.49 +0.29 +0.0 +0.0 +0.0 +0.03 +0.31 +0.5 +0.51 +0.35 +0.11 +0.0 +0.0 +0.0 +0.11 +0.35 +0.51 +0.5 +0.31 +0.03 +0.0 +0.0 +0.0 +0.29 +0.49 +0.46 +0.18 +0.0 +0.0 +0.04 +0.82 +1.84 +2.76 +3.27 +3.24 +2.82 +2.25 +1.78 +1.51 +1.38 +1.23 +0.95 +0.58 +0.26 +0.15 +0.34 +0.72 +1.09 +1.24 +1.37 +1.23 +0.9 +0.55 +0.39 +0.5 +0.8 +1.13 +1.35 +1.42 +1.44 +1.57 +1.89 +2.34 +2.7 +2.72 +2.27 +1.43 +0.48 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.48 +1.43 +2.27 +2.72 +2.7 +2.34 +1.89 +1.57 +1.44 +1.42 +1.35 +1.13 +0.8 +0.5 +0.39 +0.55 +0.9 +1.23 +1.37 +1.23 +0.9 +0.55 +0.39 +0.5 +0.8 +1.13 +1.35 +1.42 +1.44 +1.57 +1.89 +2.34 +2.7 +2.72 +2.27 +1.43 +0.48 +0.0 +0.0 +0.0 +0.0 +0.02 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.02 +0.0 +0.0 +0.0 +0.0 +0.48 +1.43 +2.27 +2.72 +2.7 +2.34 +1.89 +1.57 +1.44 +1.42 +1.35 +1.13 +0.8 +0.5 +0.39 +0.55 +0.9 +1.23 +1.37 +1.67 +1.54 +1.22 +0.89 +0.72 +0.79 +1.04 +1.31 +1.46 +1.44 +1.35 +1.35 +1.54 +1.87 +2.18 +2.22 +1.86 +1.17 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +1.17 +1.86 +2.22 +2.18 +1.87 +1.54 +1.35 +1.35 +1.44 +1.46 +1.31 +1.04 +0.79 +0.72 +0.89 +1.22 +1.54 +1.67 +1.54 +1.22 +0.89 +0.72 +0.79 +1.04 +1.31 +1.46 +1.44 +1.35 +1.35 +1.54 +1.87 +2.18 +2.22 +1.86 +1.17 +0.34 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.34 +1.17 +1.86 +2.22 +2.18 +1.87 +1.54 +1.35 +1.35 +1.44 +1.46 +1.31 +1.04 +0.79 +0.72 +0.89 +1.22 +1.54 +1.67 +2.08 +1.95 +1.63 +1.28 +1.07 +1.07 +1.24 +1.43 +1.51 +1.43 +1.26 +1.15 +1.23 +1.48 +1.75 +1.85 +1.63 +1.1 +0.44 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.44 +1.1 +1.63 +1.85 +1.75 +1.48 +1.23 +1.15 +1.26 +1.43 +1.51 +1.43 +1.24 +1.07 +1.07 +1.28 +1.63 +1.95 +2.08 +1.95 +1.63 +1.28 +1.07 +1.07 +1.24 +1.43 +1.51 +1.43 +1.26 +1.15 +1.23 +1.48 +1.75 +1.85 +1.63 +1.1 +0.44 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.05 +0.09 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.14 +0.0 +0.0 +0.0 +0.0 +0.44 +1.1 +1.63 +1.85 +1.75 +1.48 +1.23 +1.15 +1.26 +1.43 +1.51 +1.43 +1.24 +1.07 +1.07 +1.28 +1.63 +1.95 +2.08 +2.47 +2.33 +1.99 +1.6 +1.32 +1.24 +1.33 +1.45 +1.47 +1.35 +1.13 +0.96 +0.97 +1.15 +1.42 +1.58 +1.49 +1.13 +0.64 +0.22 +0.04 +0.14 +0.39 +0.61 +0.63 +0.43 +0.11 +0.0 +0.0 +0.0 +0.07 +0.34 +0.55 +0.63 +0.62 +0.58 +0.55 +0.58 +0.62 +0.63 +0.55 +0.34 +0.07 +0.0 +0.0 +0.0 +0.11 +0.43 +0.63 +0.61 +0.39 +0.14 +0.04 +0.22 +0.64 +1.13 +1.49 +1.58 +1.42 +1.15 +0.97 +0.96 +1.13 +1.35 +1.47 +1.45 +1.33 +1.24 +1.32 +1.6 +1.99 +2.33 +2.47 +2.33 +1.99 +1.6 +1.32 +1.24 +1.33 +1.45 +1.47 +1.35 +1.13 +0.96 +0.97 +1.15 +1.42 +1.58 +1.49 +1.13 +0.64 +0.22 +0.04 +0.14 +0.39 +0.61 +0.63 +0.43 +0.11 +0.0 +0.0 +0.0 +0.07 +0.34 +0.55 +0.63 +0.62 +0.58 +0.55 +0.58 +0.62 +0.63 +0.55 +0.34 +0.07 +0.0 +0.0 +0.0 +0.11 +0.43 +0.63 +0.61 +0.39 +0.14 +0.04 +0.22 +0.64 +1.13 +1.49 +1.58 +1.42 +1.15 +0.97 +0.96 +1.13 +1.35 +1.47 +1.45 +1.33 +1.24 +1.32 +1.6 +1.99 +2.33 +2.47 +2.67 +2.53 +2.17 +1.74 +1.4 +1.24 +1.26 +1.33 +1.33 +1.2 +0.97 +0.77 +0.72 +0.87 +1.12 +1.32 +1.33 +1.09 +0.73 +0.42 +0.31 +0.45 +0.74 +0.99 +1.05 +0.89 +0.58 +0.29 +0.17 +0.25 +0.5 +0.79 +1.02 +1.14 +1.15 +1.11 +1.09 +1.11 +1.15 +1.14 +1.02 +0.79 +0.5 +0.25 +0.17 +0.29 +0.58 +0.89 +1.05 +0.99 +0.74 +0.45 +0.31 +0.42 +0.73 +1.09 +1.33 +1.32 +1.12 +0.87 +0.72 +0.77 +0.97 +1.2 +1.33 +1.33 +1.26 +1.24 +1.4 +1.74 +2.17 +2.53 +2.67 +2.53 +2.17 +1.74 +1.4 +1.24 +1.26 +1.33 +1.33 +1.2 +0.97 +0.77 +0.72 +0.87 +1.12 +1.32 +1.33 +1.09 +0.73 +0.42 +0.31 +0.45 +0.74 +0.99 +1.05 +0.89 +0.58 +0.29 +0.17 +0.25 +0.5 +0.79 +1.02 +1.14 +1.15 +1.11 +1.09 +1.11 +1.15 +1.14 +1.02 +0.79 +0.5 +0.25 +0.17 +0.29 +0.58 +0.89 +1.05 +0.99 +0.74 +0.45 +0.31 +0.42 +0.73 +1.09 +1.33 +1.32 +1.12 +0.87 +0.72 +0.77 +0.97 +1.2 +1.33 +1.33 +1.26 +1.24 +1.4 +1.74 +2.17 +2.53 +2.67 +2.64 +2.5 +2.12 +1.67 +1.28 +1.08 +1.05 +1.09 +1.09 +0.97 +0.76 +0.55 +0.47 +0.57 +0.8 +1.0 +1.04 +0.87 +0.58 +0.33 +0.27 +0.44 +0.76 +1.06 +1.17 +1.04 +0.77 +0.49 +0.36 +0.44 +0.68 +0.99 +1.23 +1.36 +1.38 +1.34 +1.32 +1.34 +1.38 +1.36 +1.23 +0.99 +0.68 +0.44 +0.36 +0.49 +0.77 +1.04 +1.17 +1.06 +0.76 +0.44 +0.27 +0.33 +0.58 +0.87 +1.04 +1.0 +0.8 +0.57 +0.47 +0.55 +0.76 +0.97 +1.09 +1.09 +1.05 +1.08 +1.28 +1.67 +2.12 +2.5 +2.64 +2.5 +2.12 +1.67 +1.28 +1.08 +1.05 +1.09 +1.09 +0.97 +0.76 +0.55 +0.47 +0.57 +0.8 +1.0 +1.04 +0.87 +0.58 +0.33 +0.27 +0.44 +0.76 +1.06 +1.17 +1.04 +0.77 +0.49 +0.36 +0.44 +0.68 +0.99 +1.23 +1.36 +1.38 +1.34 +1.32 +1.34 +1.38 +1.36 +1.23 +0.99 +0.68 +0.44 +0.36 +0.49 +0.77 +1.04 +1.17 +1.06 +0.76 +0.44 +0.27 +0.33 +0.58 +0.87 +1.04 +1.0 +0.8 +0.57 +0.47 +0.55 +0.76 +0.97 +1.09 +1.09 +1.05 +1.08 +1.28 +1.67 +2.12 +2.5 +2.64 +2.42 +2.28 +1.91 +1.45 +1.05 +0.82 +0.77 +0.8 +0.81 +0.71 +0.52 +0.31 +0.22 +0.28 +0.45 +0.62 +0.65 +0.49 +0.21 +0.0 +0.0 +0.12 +0.46 +0.78 +0.93 +0.85 +0.61 +0.34 +0.22 +0.3 +0.55 +0.86 +1.12 +1.25 +1.28 +1.24 +1.22 +1.24 +1.28 +1.25 +1.12 +0.86 +0.55 +0.3 +0.22 +0.34 +0.61 +0.85 +0.93 +0.78 +0.46 +0.12 +0.0 +0.0 +0.21 +0.49 +0.65 +0.62 +0.45 +0.28 +0.22 +0.31 +0.52 +0.71 +0.81 +0.8 +0.77 +0.82 +1.05 +1.45 +1.91 +2.28 +2.42 +2.28 +1.91 +1.45 +1.05 +0.82 +0.77 +0.8 +0.81 +0.71 +0.52 +0.31 +0.22 +0.28 +0.45 +0.62 +0.65 +0.49 +0.21 +0.0 +0.0 +0.12 +0.46 +0.78 +0.93 +0.85 +0.61 +0.34 +0.22 +0.3 +0.55 +0.86 +1.12 +1.25 +1.28 +1.24 +1.22 +1.24 +1.28 +1.25 +1.12 +0.86 +0.55 +0.3 +0.22 +0.34 +0.61 +0.85 +0.93 +0.78 +0.46 +0.12 +0.0 +0.0 +0.21 +0.49 +0.65 +0.62 +0.45 +0.28 +0.22 +0.31 +0.52 +0.71 +0.81 +0.8 +0.77 +0.82 +1.05 +1.45 +1.91 +2.28 +2.42 +2.19 +2.05 +1.69 +1.24 +0.84 +0.59 +0.52 +0.54 +0.55 +0.46 +0.28 +0.09 +0.0 +0.02 +0.15 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.34 +0.51 +0.46 +0.24 +0.0 +0.0 +0.0 +0.22 +0.53 +0.8 +0.95 +0.99 +0.97 +0.96 +0.97 +0.99 +0.95 +0.8 +0.53 +0.22 +0.0 +0.0 +0.0 +0.24 +0.46 +0.51 +0.34 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.15 +0.02 +0.0 +0.09 +0.28 +0.46 +0.55 +0.54 +0.52 +0.59 +0.84 +1.24 +1.69 +2.05 +2.19 +2.05 +1.69 +1.24 +0.84 +0.59 +0.52 +0.54 +0.55 +0.46 +0.28 +0.09 +0.0 +0.02 +0.15 +0.27 +0.26 +0.08 +0.0 +0.0 +0.0 +0.0 +0.01 +0.34 +0.51 +0.46 +0.24 +0.0 +0.0 +0.0 +0.22 +0.53 +0.8 +0.95 +0.99 +0.97 +0.96 +0.97 +0.99 +0.95 +0.8 +0.53 +0.22 +0.0 +0.0 +0.0 +0.24 +0.46 +0.51 +0.34 +0.01 +0.0 +0.0 +0.0 +0.0 +0.08 +0.26 +0.27 +0.15 +0.02 +0.0 +0.09 +0.28 +0.46 +0.55 +0.54 +0.52 +0.59 +0.84 +1.24 +1.69 +2.05 +2.19 +2.1 +1.96 +1.61 +1.17 +0.76 +0.5 +0.39 +0.37 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.53 +0.7 +0.77 +0.78 +0.77 +0.78 +0.77 +0.7 +0.53 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.37 +0.39 +0.5 +0.76 +1.17 +1.61 +1.96 +2.1 +1.96 +1.61 +1.17 +0.76 +0.5 +0.39 +0.37 +0.35 +0.26 +0.09 +0.0 +0.0 +0.0 +0.0 +0.05 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.1 +0.0 +0.0 +0.0 +0.0 +0.0 +0.24 +0.53 +0.7 +0.77 +0.78 +0.77 +0.78 +0.77 +0.7 +0.53 +0.24 +0.0 +0.0 +0.0 +0.0 +0.0 +0.1 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.05 +0.0 +0.0 +0.0 +0.0 +0.09 +0.26 +0.35 +0.37 +0.39 +0.5 +0.76 +1.17 +1.61 +1.96 +2.1 +2.19 +2.07 +1.73 +1.29 +0.87 +0.58 +0.42 +0.34 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.47 +0.68 +0.79 +0.83 +0.84 +0.83 +0.79 +0.68 +0.47 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.34 +0.42 +0.58 +0.87 +1.29 +1.73 +2.07 +2.19 +2.07 +1.73 +1.29 +0.87 +0.58 +0.42 +0.34 +0.26 +0.15 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.17 +0.47 +0.68 +0.79 +0.83 +0.84 +0.83 +0.79 +0.68 +0.47 +0.17 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.15 +0.26 +0.34 +0.42 +0.58 +0.87 +1.29 +1.73 +2.07 +2.19 +2.4 +2.28 +1.96 +1.53 +1.11 +0.78 +0.56 +0.41 +0.28 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.03 +0.34 +0.65 +0.89 +1.05 +1.13 +1.15 +1.13 +1.05 +0.89 +0.65 +0.34 +0.03 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.28 +0.41 +0.56 +0.78 +1.11 +1.53 +1.96 +2.28 +2.4 +2.28 +1.96 +1.53 +1.11 +0.78 +0.56 +0.41 +0.28 +0.13 +0.0 +0.0 +0.0 +0.0 +0.02 +0.07 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.03 +0.34 +0.65 +0.89 +1.05 +1.13 +1.15 +1.13 +1.05 +0.89 +0.65 +0.34 +0.03 +0.0 +0.0 +0.0 +0.0 +0.05 +0.13 +0.05 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01 +0.07 +0.02 +0.0 +0.0 +0.0 +0.0 +0.13 +0.28 +0.41 +0.56 +0.78 +1.11 +1.53 +1.96 +2.28 +2.4 +2.57 +2.46 +2.17 +1.77 +1.36 +1.02 +0.76 +0.55 +0.37 +0.19 +0.05 +0.0 +0.0 +0.06 +0.15 +0.17 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.33 +0.25 +0.11 +0.01 +0.0 +0.13 +0.37 +0.67 +0.97 +1.23 +1.42 +1.53 +1.57 +1.53 +1.42 +1.23 +0.97 +0.67 +0.37 +0.13 +0.0 +0.01 +0.11 +0.25 +0.33 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.17 +0.15 +0.06 +0.0 +0.0 +0.05 +0.19 +0.37 +0.55 +0.76 +1.02 +1.36 +1.77 +2.17 +2.46 +2.57 +2.46 +2.17 +1.77 +1.36 +1.02 +0.76 +0.55 +0.37 +0.19 +0.05 +0.0 +0.0 +0.06 +0.15 +0.17 +0.08 +0.0 +0.0 +0.0 +0.0 +0.0 +0.13 +0.29 +0.33 +0.25 +0.11 +0.01 +0.0 +0.13 +0.37 +0.67 +0.97 +1.23 +1.42 +1.53 +1.57 +1.53 +1.42 +1.23 +0.97 +0.67 +0.37 +0.13 +0.0 +0.01 +0.11 +0.25 +0.33 +0.29 +0.13 +0.0 +0.0 +0.0 +0.0 +0.0 +0.08 +0.17 +0.15 +0.06 +0.0 +0.0 +0.05 +0.19 +0.37 +0.55 +0.76 +1.02 +1.36 +1.77 +2.17 +2.46 +2.57 +2.6 +2.5 +2.24 +1.89 +1.53 +1.2 +0.93 +0.7 +0.49 +0.31 +0.17 +0.12 +0.14 +0.2 +0.23 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.46 +0.4 +0.32 +0.28 +0.33 +0.49 +0.72 +0.99 +1.27 +1.53 +1.75 +1.88 +1.93 +1.88 +1.75 +1.53 +1.27 +0.99 +0.72 +0.49 +0.33 +0.28 +0.32 +0.4 +0.46 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.23 +0.2 +0.14 +0.12 +0.17 +0.31 +0.49 +0.7 +0.93 +1.2 +1.53 +1.89 +2.24 +2.5 +2.6 +2.5 +2.24 +1.89 +1.53 +1.2 +0.93 +0.7 +0.49 +0.31 +0.17 +0.12 +0.14 +0.2 +0.23 +0.19 +0.08 +0.0 +0.0 +0.0 +0.0 +0.11 +0.31 +0.44 +0.46 +0.4 +0.32 +0.28 +0.33 +0.49 +0.72 +0.99 +1.27 +1.53 +1.75 +1.88 +1.93 +1.88 +1.75 +1.53 +1.27 +0.99 +0.72 +0.49 +0.33 +0.28 +0.32 +0.4 +0.46 +0.44 +0.31 +0.11 +0.0 +0.0 +0.0 +0.0 +0.08 +0.19 +0.23 +0.2 +0.14 +0.12 +0.17 +0.31 +0.49 +0.7 +0.93 +1.2 +1.53 +1.89 +2.24 +2.5 +2.6 +2.47 +2.4 +2.18 +1.89 +1.58 +1.3 +1.05 +0.82 +0.6 +0.42 +0.3 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.45 +0.48 +0.44 +0.42 +0.46 +0.56 +0.74 +0.96 +1.21 +1.46 +1.71 +1.94 +2.09 +2.14 +2.09 +1.94 +1.71 +1.46 +1.21 +0.96 +0.74 +0.56 +0.46 +0.42 +0.44 +0.48 +0.45 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.3 +0.42 +0.6 +0.82 +1.05 +1.3 +1.58 +1.89 +2.18 +2.4 +2.47 +2.4 +2.18 +1.89 +1.58 +1.3 +1.05 +0.82 +0.6 +0.42 +0.3 +0.26 +0.27 +0.29 +0.25 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.34 +0.45 +0.48 +0.44 +0.42 +0.46 +0.56 +0.74 +0.96 +1.21 +1.46 +1.71 +1.94 +2.09 +2.14 +2.09 +1.94 +1.71 +1.46 +1.21 +0.96 +0.74 +0.56 +0.46 +0.42 +0.44 +0.48 +0.45 +0.34 +0.14 +0.0 +0.0 +0.0 +0.0 +0.0 +0.14 +0.25 +0.29 +0.27 +0.26 +0.3 +0.42 +0.6 +0.82 +1.05 +1.3 +1.58 +1.89 +2.18 +2.4 +2.47 +2.31 +2.24 +2.07 +1.83 +1.57 +1.33 +1.1 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.87 +1.08 +1.31 +1.54 +1.78 +2.0 +2.16 +2.22 +2.16 +2.0 +1.78 +1.54 +1.31 +1.08 +0.87 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.1 +1.33 +1.57 +1.83 +2.07 +2.24 +2.31 +2.24 +2.07 +1.83 +1.57 +1.33 +1.1 +0.89 +0.68 +0.51 +0.4 +0.35 +0.35 +0.33 +0.24 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.27 +0.38 +0.41 +0.41 +0.44 +0.53 +0.68 +0.87 +1.08 +1.31 +1.54 +1.78 +2.0 +2.16 +2.22 +2.16 +2.0 +1.78 +1.54 +1.31 +1.08 +0.87 +0.68 +0.53 +0.44 +0.41 +0.41 +0.38 +0.27 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0 +0.06 +0.24 +0.33 +0.35 +0.35 +0.4 +0.51 +0.68 +0.89 +1.1 +1.33 +1.57 +1.83 +2.07 +2.24 +2.31 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 +2.18 +2.01 +1.79 +1.56 +1.33 +1.12 +0.91 +0.71 +0.54 +0.43 +0.39 +0.38 +0.34 +0.23 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.23 +0.34 +0.38 +0.39 +0.43 +0.54 +0.71 +0.91 +1.12 +1.33 +1.56 +1.79 +2.01 +2.18 +2.24 diff --git a/python/tests/reference/Rotation/ODF_experimental_cell.txt b/python/tests/reference/Rotation/ODF_experimental_cell.txt new file mode 100644 index 000000000..f690f9c45 --- /dev/null +++ b/python/tests/reference/Rotation/ODF_experimental_cell.txt @@ -0,0 +1,186629 @@ +# phi_1 fast, phi_2 slow +# range(1.25,...,358.75;1.25,...,88.75;1.25,...,88.75)/deg +# resolution 2.5 deg +# cell centered +intensity +1.925 +1.79625 +1.6087499 +1.40125 +1.19625 +1.00125 +0.815 +0.64 +0.49 +0.38624996 +0.33625 +0.3175 +0.28750002 +0.20375 +0.07875 +0.01 +0.0 +0.0 +0.0 +0.0025 +0.049999997 +0.1775 +0.29000002 +0.33624998 +0.35250002 +0.38375002 +0.46375 +0.59375 +0.75874996 +0.93874997 +1.12875 +1.3287499 +1.53125 +1.72125 +1.86625 +1.9300002 +1.895 +1.7700001 +1.59 +1.38875 +1.1875 +0.99499995 +0.81 +0.6375 +0.495 +0.39999998 +0.35625002 +0.33999997 +0.3075 +0.2175 +0.0825 +0.01 +0.0 +0.0 +0.0 +0.0025 +0.04875 +0.17 +0.27375 +0.315 +0.32999998 +0.3675 +0.455 +0.59250003 +0.76374996 +0.9475 +1.1375 +1.34 +1.5474999 +1.745 +1.89625 +1.9625001 +1.925 +1.79625 +1.6087499 +1.40125 +1.19625 +1.00125 +0.815 +0.64 +0.49 +0.38624996 +0.33625 +0.3175 +0.28750002 +0.20375 +0.07875 +0.01 +0.0 +0.0 +0.0 +0.0025 +0.049999997 +0.1775 +0.29000002 +0.33624998 +0.35250002 +0.38375002 +0.46375 +0.59375 +0.75874996 +0.93874997 +1.12875 +1.3287499 +1.53125 +1.72125 +1.86625 +1.9300002 +1.895 +1.7700001 +1.59 +1.38875 +1.1875 +0.99499995 +0.81 +0.6375 +0.495 +0.39999998 +0.35625002 +0.33999997 +0.3075 +0.2175 +0.0825 +0.01 +0.0 +0.0 +0.0 +0.0025 +0.04875 +0.17 +0.27375 +0.315 +0.32999998 +0.3675 +0.455 +0.59250003 +0.76374996 +0.9475 +1.1375 +1.34 +1.5474999 +1.745 +1.89625 +1.9625001 +2.015 +1.86875 +1.655 +1.4175 +1.18625 +0.97375 +0.7775 +0.59625 +0.44 +0.3325 +0.2825 +0.27125 +0.2625 +0.20875 +0.1125 +0.025 +0.0 +0.0 +0.0 +0.00875 +0.08499999 +0.22500001 +0.33624998 +0.3775 +0.37750003 +0.38375002 +0.43625 +0.53999996 +0.69125 +0.87249994 +1.07375 +1.2862499 +1.4962499 +1.69 +1.8312501 +1.89375 +1.86125 +1.7425001 +1.5625 +1.35375 +1.1425 +0.93875 +0.745 +0.58 +0.45875 +0.39124998 +0.37250003 +0.37625 +0.35250002 +0.2625 +0.125 +0.025 +0.0 +0.0 +0.0 +0.0075 +0.08 +0.18875 +0.26 +0.27625 +0.28 +0.31624997 +0.4075 +0.54999995 +0.72749996 +0.92125 +1.12625 +1.34875 +1.5849999 +1.81 +1.9812498 +2.055 +2.015 +1.86875 +1.655 +1.4175 +1.18625 +0.97375 +0.7775 +0.59625 +0.44 +0.3325 +0.2825 +0.27125 +0.2625 +0.20875 +0.1125 +0.025 +0.0 +0.0 +0.0 +0.00875 +0.08499999 +0.22500001 +0.33624998 +0.3775 +0.37750003 +0.38375002 +0.43625 +0.53999996 +0.69125 +0.87249994 +1.07375 +1.2862499 +1.4962499 +1.69 +1.8312501 +1.89375 +1.86125 +1.7425001 +1.5625 +1.35375 +1.1425 +0.93875 +0.745 +0.58 +0.45875 +0.39124998 +0.37250003 +0.37625 +0.35250002 +0.2625 +0.125 +0.025 +0.0 +0.0 +0.0 +0.0075 +0.08 +0.18875 +0.26 +0.27625 +0.28 +0.31624997 +0.4075 +0.54999995 +0.72749996 +0.92125 +1.12625 +1.34875 +1.5849999 +1.81 +1.9812498 +2.055 +2.1275 +1.94875 +1.68875 +1.40375 +1.1349999 +0.9 +0.69375 +0.5075 +0.34875 +0.23624998 +0.1825 +0.18249999 +0.20500001 +0.20125 +0.145 +0.061249994 +0.01 +0.0 +0.0 +0.0175 +0.10625 +0.2525 +0.36625 +0.40125 +0.37875 +0.34375 +0.34375 +0.40375003 +0.53375 +0.71875 +0.9362501 +1.16625 +1.3887501 +1.5837499 +1.72125 +1.7787502 +1.74875 +1.6387501 +1.4625001 +1.24625 +1.01875 +0.79375005 +0.59375 +0.44125 +0.35375 +0.33625 +0.365 +0.3975 +0.38125 +0.28875002 +0.1425 +0.03125 +0.0 +0.0 +0.0 +0.0375 +0.125 +0.19875 +0.2175 +0.19874999 +0.18749999 +0.22625001 +0.325 +0.475 +0.65624994 +0.8575 +1.08125 +1.33625 +1.615 +1.8825 +2.0887501 +2.17875 +2.1275 +1.94875 +1.68875 +1.40375 +1.1349999 +0.9 +0.69375 +0.5075 +0.34875 +0.23624998 +0.1825 +0.18249999 +0.20500001 +0.20125 +0.145 +0.061249994 +0.01 +0.0 +0.0 +0.0175 +0.10625 +0.2525 +0.36625 +0.40125 +0.37875 +0.34375 +0.34375 +0.40375003 +0.53375 +0.71875 +0.9362501 +1.16625 +1.3887501 +1.5837499 +1.72125 +1.7787502 +1.74875 +1.6387501 +1.4625001 +1.24625 +1.01875 +0.79375005 +0.59375 +0.44125 +0.35375 +0.33625 +0.365 +0.3975 +0.38125 +0.28875002 +0.1425 +0.03125 +0.0 +0.0 +0.0 +0.0375 +0.125 +0.19875 +0.2175 +0.19874999 +0.18749999 +0.22625001 +0.325 +0.475 +0.65624994 +0.8575 +1.08125 +1.33625 +1.615 +1.8825 +2.0887501 +2.17875 +2.16 +1.94625 +1.64125 +1.3125 +1.01375 +0.7687501 +0.56625 +0.39125 +0.23875001 +0.12125 +0.07 +0.07125 +0.1075 +0.14999999 +0.14625001 +0.08499999 +0.02 +0.0 +0.0 +0.015 +0.068749994 +0.18125 +0.29625 +0.3375 +0.29875 +0.22 +0.16375 +0.17625 +0.27875 +0.46624997 +0.70124996 +0.95000005 +1.1800001 +1.3675 +1.4912499 +1.54125 +1.51625 +1.4200001 +1.25625 +1.04125 +0.795 +0.55 +0.3425 +0.20500001 +0.16000001 +0.19874999 +0.2775 +0.33625 +0.32125 +0.21625 +0.082499996 +0.01375 +0.0 +0.0 +0.01 +0.06875 +0.14375 +0.17124999 +0.13875 +0.0925 +0.08 +0.12625 +0.2325 +0.38375002 +0.55625 +0.75 +0.97875 +1.255 +1.5724999 +1.8837502 +2.1225 +2.225 +2.16 +1.94625 +1.64125 +1.3125 +1.01375 +0.7687501 +0.56625 +0.39125 +0.23875001 +0.12125 +0.07 +0.07125 +0.1075 +0.14999999 +0.14625001 +0.08499999 +0.02 +0.0 +0.0 +0.015 +0.068749994 +0.18125 +0.29625 +0.3375 +0.29875 +0.22 +0.16375 +0.17625 +0.27875 +0.46624997 +0.70124996 +0.95000005 +1.1800001 +1.3675 +1.4912499 +1.54125 +1.51625 +1.4200001 +1.25625 +1.04125 +0.795 +0.55 +0.3425 +0.20500001 +0.16000001 +0.19874999 +0.2775 +0.33625 +0.32125 +0.21625 +0.082499996 +0.01375 +0.0 +0.0 +0.01 +0.06875 +0.14375 +0.17124999 +0.13875 +0.0925 +0.08 +0.12625 +0.2325 +0.38375002 +0.55625 +0.75 +0.97875 +1.255 +1.5724999 +1.8837502 +2.1225 +2.225 +2.065 +1.8249999 +1.48625 +1.1299999 +0.82375 +0.59375 +0.42125 +0.27749997 +0.14250001 +0.04625 +0.00625 +0.005 +0.028749999 +0.06375 +0.083749995 +0.051250003 +0.0112499995 +0.0 +0.0 +0.0 +0.01625 +0.068749994 +0.14125 +0.185 +0.14250001 +0.06375 +0.015 +0.015 +0.07375 +0.19125 +0.41375 +0.6750001 +0.90125 +1.0687499 +1.17 +1.20875 +1.19125 +1.115 +0.97374994 +0.7675 +0.51374996 +0.25375 +0.09 +0.02375 +0.021249998 +0.06375 +0.13624999 +0.19375001 +0.165 +0.07625 +0.01625 +0.0 +0.0 +0.0 +0.01375 +0.05625 +0.10375 +0.097500004 +0.04625 +0.01625 +0.018749999 +0.065 +0.16499999 +0.305 +0.45125002 +0.6125 +0.81875 +1.09375 +1.4287499 +1.76875 +2.0324998 +2.1412501 +2.065 +1.8249999 +1.48625 +1.1299999 +0.82375 +0.59375 +0.42125 +0.27749997 +0.14250001 +0.04625 +0.00625 +0.005 +0.028749999 +0.06375 +0.083749995 +0.051250003 +0.0112499995 +0.0 +0.0 +0.0 +0.01625 +0.068749994 +0.14125 +0.185 +0.14250001 +0.06375 +0.015 +0.015 +0.07375 +0.19125 +0.41375 +0.6750001 +0.90125 +1.0687499 +1.17 +1.20875 +1.19125 +1.115 +0.97374994 +0.7675 +0.51374996 +0.25375 +0.09 +0.02375 +0.021249998 +0.06375 +0.13624999 +0.19375001 +0.165 +0.07625 +0.01625 +0.0 +0.0 +0.0 +0.01375 +0.05625 +0.10375 +0.097500004 +0.04625 +0.01625 +0.018749999 +0.065 +0.16499999 +0.305 +0.45125002 +0.6125 +0.81875 +1.09375 +1.4287499 +1.76875 +2.0324998 +2.1412501 +1.8899999 +1.6312499 +1.27125 +0.9074999 +0.61625 +0.42374998 +0.30125 +0.20499998 +0.11 +0.035 +0.0 +0.0 +0.0 +0.0062499996 +0.015000001 +0.01 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.00625 +0.0275 +0.04625 +0.03 +0.00625 +0.0 +0.0 +0.00125 +0.044999998 +0.205 +0.4475 +0.65625 +0.79125 +0.86249995 +0.88874996 +0.87874997 +0.82875 +0.7175 +0.53249997 +0.28375 +0.075 +0.00375 +0.0 +0.0 +0.01 +0.035 +0.06125 +0.035 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.0075 +0.027499998 +0.04875 +0.0275 +0.0025 +0.0 +0.01 +0.05625 +0.1525 +0.27125 +0.375 +0.48624998 +0.64875 +0.89874995 +1.2299999 +1.58125 +1.8587499 +1.9725 +1.8899999 +1.6312499 +1.27125 +0.9074999 +0.61625 +0.42374998 +0.30125 +0.20499998 +0.11 +0.035 +0.0 +0.0 +0.0 +0.0062499996 +0.015000001 +0.01 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.00625 +0.0275 +0.04625 +0.03 +0.00625 +0.0 +0.0 +0.00125 +0.044999998 +0.205 +0.4475 +0.65625 +0.79125 +0.86249995 +0.88874996 +0.87874997 +0.82875 +0.7175 +0.53249997 +0.28375 +0.075 +0.00375 +0.0 +0.0 +0.01 +0.035 +0.06125 +0.035 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.0075 +0.027499998 +0.04875 +0.0275 +0.0025 +0.0 +0.01 +0.05625 +0.1525 +0.27125 +0.375 +0.48624998 +0.64875 +0.89874995 +1.2299999 +1.58125 +1.8587499 +1.9725 +1.74125 +1.4699999 +1.10125 +0.74125 +0.47249997 +0.3225 +0.255 +0.2075 +0.14375 +0.0625 +0.01125 +0.0 +0.0 +0.0 +0.00625 +0.0075000003 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.03875 +0.045 +0.0125 +0.0 +0.0 +0.0 +0.01875 +0.155 +0.37875 +0.56125 +0.66124994 +0.70124996 +0.7125 +0.71125 +0.6875 +0.61125004 +0.45499998 +0.23625 +0.05125 +0.0 +0.0 +0.0 +0.0 +0.03625 +0.065 +0.02625 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.025 +0.041249998 +0.02125 +0.0 +0.0 +0.02375 +0.09625 +0.20625001 +0.31 +0.37125 +0.42624995 +0.53875 +0.75374997 +1.07125 +1.4250001 +1.70875 +1.82875 +1.74125 +1.4699999 +1.10125 +0.74125 +0.47249997 +0.3225 +0.255 +0.2075 +0.14375 +0.0625 +0.01125 +0.0 +0.0 +0.0 +0.00625 +0.0075000003 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.03875 +0.045 +0.0125 +0.0 +0.0 +0.0 +0.01875 +0.155 +0.37875 +0.56125 +0.66124994 +0.70124996 +0.7125 +0.71125 +0.6875 +0.61125004 +0.45499998 +0.23625 +0.05125 +0.0 +0.0 +0.0 +0.0 +0.03625 +0.065 +0.02625 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.025 +0.041249998 +0.02125 +0.0 +0.0 +0.02375 +0.09625 +0.20625001 +0.31 +0.37125 +0.42624995 +0.53875 +0.75374997 +1.07125 +1.4250001 +1.70875 +1.82875 +1.72125 +1.4399999 +1.0649999 +0.70875 +0.45875 +0.34375 +0.32 +0.30874997 +0.25375 +0.155 +0.0575 +0.01125 +0.0025 +0.03375 +0.087500006 +0.10375 +0.052499995 +0.01 +0.0 +0.0 +0.0 +0.00125 +0.099999994 +0.215 +0.22125001 +0.13125 +0.03125 +0.0 +0.0 +0.08125 +0.28 +0.50874996 +0.66875005 +0.73999995 +0.75375 +0.75250006 +0.75875 +0.75874996 +0.71125 +0.58124995 +0.36749998 +0.15375 +0.0275 +0.0 +0.0 +0.07625 +0.1975 +0.24749999 +0.17625 +0.05 +0.00125 +0.0 +0.0 +0.0 +0.0325 +0.10875 +0.14375 +0.09875 +0.03625 +0.0225 +0.0775 +0.19625002 +0.33624998 +0.43375 +0.46374997 +0.47500002 +0.54625 +0.73375 +1.04 +1.395 +1.685 +1.8112501 +1.72125 +1.4399999 +1.0649999 +0.70875 +0.45875 +0.34375 +0.32 +0.30874997 +0.25375 +0.155 +0.0575 +0.01125 +0.0025 +0.03375 +0.087500006 +0.10375 +0.052499995 +0.01 +0.0 +0.0 +0.0 +0.00125 +0.099999994 +0.215 +0.22125001 +0.13125 +0.03125 +0.0 +0.0 +0.08125 +0.28 +0.50874996 +0.66875005 +0.73999995 +0.75375 +0.75250006 +0.75875 +0.75874996 +0.71125 +0.58124995 +0.36749998 +0.15375 +0.0275 +0.0 +0.0 +0.07625 +0.1975 +0.24749999 +0.17625 +0.05 +0.00125 +0.0 +0.0 +0.0 +0.0325 +0.10875 +0.14375 +0.09875 +0.03625 +0.0225 +0.0775 +0.19625002 +0.33624998 +0.43375 +0.46374997 +0.47500002 +0.54625 +0.73375 +1.04 +1.395 +1.685 +1.8112501 +1.8487501 +1.5625 +1.1800001 +0.82375 +0.58625 +0.49249998 +0.4925 +0.49874997 +0.44375 +0.31625 +0.17875 +0.09625 +0.10625 +0.20625 +0.32125002 +0.3475 +0.26 +0.13 +0.028749999 +0.0 +0.03 +0.17 +0.39875 +0.55875003 +0.5425 +0.3825 +0.1975 +0.1 +0.1275 +0.28875 +0.53499997 +0.76374996 +0.9075 +0.96000004 +0.95624995 +0.94624996 +0.9575 +0.97124994 +0.94499993 +0.83124995 +0.62500006 +0.37125 +0.17250001 +0.091249995 +0.14 +0.3075 +0.49625 +0.57 +0.47 +0.2625 +0.08875 +0.015 +0.0 +0.06125 +0.20500001 +0.34499997 +0.37749997 +0.29375 +0.1825 +0.14250001 +0.21 +0.36249998 +0.52500004 +0.62625 +0.64750004 +0.6375 +0.68375 +0.8525 +1.1525 +1.5099999 +1.8087499 +1.9412502 +1.8487501 +1.5625 +1.1800001 +0.82375 +0.58625 +0.49249998 +0.4925 +0.49874997 +0.44375 +0.31625 +0.17875 +0.09625 +0.10625 +0.20625 +0.32125002 +0.3475 +0.26 +0.13 +0.028749999 +0.0 +0.03 +0.17 +0.39875 +0.55875003 +0.5425 +0.3825 +0.1975 +0.1 +0.1275 +0.28875 +0.53499997 +0.76374996 +0.9075 +0.96000004 +0.95624995 +0.94624996 +0.9575 +0.97124994 +0.94499993 +0.83124995 +0.62500006 +0.37125 +0.17250001 +0.091249995 +0.14 +0.3075 +0.49625 +0.57 +0.47 +0.2625 +0.08875 +0.015 +0.0 +0.06125 +0.20500001 +0.34499997 +0.37749997 +0.29375 +0.1825 +0.14250001 +0.21 +0.36249998 +0.52500004 +0.62625 +0.64750004 +0.6375 +0.68375 +0.8525 +1.1525 +1.5099999 +1.8087499 +1.9412502 +2.045 +1.75625 +1.37 +1.0174999 +0.79125 +0.71625 +0.73 +0.74000007 +0.6775 +0.53499997 +0.3775 +0.295 +0.34125 +0.48999998 +0.64625 +0.70124996 +0.60125 +0.39000002 +0.195 +0.13125001 +0.235 +0.47499996 +0.735 +0.87375 +0.82874995 +0.64125 +0.4225 +0.2925 +0.32500002 +0.5 +0.745 +0.96625006 +1.09875 +1.1424999 +1.13125 +1.1175 +1.1274999 +1.15 +1.13375 +1.03125 +0.83375 +0.5825 +0.36625 +0.2725 +0.34125 +0.53625 +0.74625 +0.84875 +0.775 +0.5475 +0.28875 +0.13125001 +0.12875 +0.28125 +0.505 +0.66499996 +0.68 +0.5675 +0.42125002 +0.3475 +0.4025 +0.56125 +0.73875 +0.85375 +0.88124996 +0.865 +0.895 +1.0450001 +1.3337501 +1.6899999 +1.9962499 +2.135 +2.045 +1.75625 +1.37 +1.0174999 +0.79125 +0.71625 +0.73 +0.74000007 +0.6775 +0.53499997 +0.3775 +0.295 +0.34125 +0.48999998 +0.64625 +0.70124996 +0.60125 +0.39000002 +0.195 +0.13125001 +0.235 +0.47499996 +0.735 +0.87375 +0.82874995 +0.64125 +0.4225 +0.2925 +0.32500002 +0.5 +0.745 +0.96625006 +1.09875 +1.1424999 +1.13125 +1.1175 +1.1274999 +1.15 +1.13375 +1.03125 +0.83375 +0.5825 +0.36625 +0.2725 +0.34125 +0.53625 +0.74625 +0.84875 +0.775 +0.5475 +0.28875 +0.13125001 +0.12875 +0.28125 +0.505 +0.66499996 +0.68 +0.5675 +0.42125002 +0.3475 +0.4025 +0.56125 +0.73875 +0.85375 +0.88124996 +0.865 +0.895 +1.0450001 +1.3337501 +1.6899999 +1.9962499 +2.135 +2.1699998 +1.8862499 +1.51125 +1.17875 +0.97875 +0.93125 +0.96375 +0.9775001 +0.9050001 +0.75 +0.59000003 +0.52125 +0.59874994 +0.78375 +0.96250004 +1.02 +0.90000004 +0.65625 +0.41875 +0.3175 +0.40625 +0.63124996 +0.86375 +0.9675 +0.88750005 +0.66999996 +0.43124998 +0.29625 +0.32625002 +0.49875 +0.73749995 +0.94875 +1.07375 +1.11125 +1.0962499 +1.08 +1.09 +1.1125001 +1.1025 +1.00875 +0.82 +0.57875 +0.3625 +0.265 +0.33249998 +0.53499997 +0.76875 +0.9075 +0.87125 +0.67625 +0.43 +0.275 +0.29999998 +0.49624997 +0.75750005 +0.94875 +0.97999996 +0.86 +0.68375003 +0.57375 +0.60374993 +0.75625 +0.94375 +1.07375 +1.1075001 +1.0825 +1.085 +1.20375 +1.4675 +1.81125 +2.11375 +2.255 +2.1699998 +1.8862499 +1.51125 +1.17875 +0.97875 +0.93125 +0.96375 +0.9775001 +0.9050001 +0.75 +0.59000003 +0.52125 +0.59874994 +0.78375 +0.96250004 +1.02 +0.90000004 +0.65625 +0.41875 +0.3175 +0.40625 +0.63124996 +0.86375 +0.9675 +0.88750005 +0.66999996 +0.43124998 +0.29625 +0.32625002 +0.49875 +0.73749995 +0.94875 +1.07375 +1.11125 +1.0962499 +1.08 +1.09 +1.1125001 +1.1025 +1.00875 +0.82 +0.57875 +0.3625 +0.265 +0.33249998 +0.53499997 +0.76875 +0.9075 +0.87125 +0.67625 +0.43 +0.275 +0.29999998 +0.49624997 +0.75750005 +0.94875 +0.97999996 +0.86 +0.68375003 +0.57375 +0.60374993 +0.75625 +0.94375 +1.07375 +1.1075001 +1.0825 +1.085 +1.20375 +1.4675 +1.81125 +2.11375 +2.255 +2.1225 +1.8525 +1.50375 +1.20875 +1.0575 +1.0575 +1.12625 +1.1562501 +1.08375 +0.9262501 +0.77250004 +0.73 +0.8375 +1.0425 +1.21625 +1.2325 +1.04375 +0.72125 +0.41125 +0.2525 +0.30124998 +0.49625 +0.69500005 +0.76374996 +0.65250003 +0.41375 +0.19749999 +0.11874999 +0.1475 +0.26625 +0.475 +0.67125 +0.78125006 +0.8062499 +0.78375 +0.76500005 +0.77375007 +0.79875004 +0.79875004 +0.72499996 +0.55625 +0.32750002 +0.1525 +0.09875 +0.1475 +0.2875 +0.5175 +0.6875 +0.69124997 +0.53499997 +0.32125 +0.19624999 +0.26624998 +0.52875 +0.87125 +1.145 +1.2375 +1.1425 +0.955 +0.81125 +0.8012501 +0.92625 +1.11 +1.2412499 +1.2675 +1.215 +1.1700001 +1.2375 +1.455 +1.7675 +2.0575001 +2.1987503 +2.1225 +1.8525 +1.50375 +1.20875 +1.0575 +1.0575 +1.12625 +1.1562501 +1.08375 +0.9262501 +0.77250004 +0.73 +0.8375 +1.0425 +1.21625 +1.2325 +1.04375 +0.72125 +0.41125 +0.2525 +0.30124998 +0.49625 +0.69500005 +0.76374996 +0.65250003 +0.41375 +0.19749999 +0.11874999 +0.1475 +0.26625 +0.475 +0.67125 +0.78125006 +0.8062499 +0.78375 +0.76500005 +0.77375007 +0.79875004 +0.79875004 +0.72499996 +0.55625 +0.32750002 +0.1525 +0.09875 +0.1475 +0.2875 +0.5175 +0.6875 +0.69124997 +0.53499997 +0.32125 +0.19624999 +0.26624998 +0.52875 +0.87125 +1.145 +1.2375 +1.1425 +0.955 +0.81125 +0.8012501 +0.92625 +1.11 +1.2412499 +1.2675 +1.215 +1.1700001 +1.2375 +1.455 +1.7675 +2.0575001 +2.1987503 +1.89125 +1.64125 +1.32625 +1.0812501 +0.99500006 +1.05875 +1.18 +1.245 +1.1925 +1.0512501 +0.925 +0.92 +1.0662501 +1.2837499 +1.42625 +1.36375 +1.0625 +0.6175 +0.22 +0.07 +0.097500004 +0.19999999 +0.32874995 +0.36875004 +0.24625 +0.09625 +0.01375 +0.0 +0.00625 +0.055 +0.1575 +0.26624998 +0.33499998 +0.33625 +0.30124998 +0.28625 +0.29375 +0.325 +0.34499997 +0.30374998 +0.18375 +0.067499995 +0.00875 +0.0 +0.005 +0.06375 +0.185 +0.31875002 +0.34625 +0.22625 +0.0925 +0.049999997 +0.1275 +0.43 +0.88249993 +1.2850001 +1.48125 +1.44 +1.2525 +1.0675 +0.9987501 +1.0749999 +1.225 +1.3312501 +1.3249999 +1.2212499 +1.11375 +1.1125001 +1.27125 +1.5462501 +1.8199999 +1.96 +1.89125 +1.64125 +1.32625 +1.0812501 +0.99500006 +1.05875 +1.18 +1.245 +1.1925 +1.0512501 +0.925 +0.92 +1.0662501 +1.2837499 +1.42625 +1.36375 +1.0625 +0.6175 +0.22 +0.07 +0.097500004 +0.19999999 +0.32874995 +0.36875004 +0.24625 +0.09625 +0.01375 +0.0 +0.00625 +0.055 +0.1575 +0.26624998 +0.33499998 +0.33625 +0.30124998 +0.28625 +0.29375 +0.325 +0.34499997 +0.30374998 +0.18375 +0.067499995 +0.00875 +0.0 +0.005 +0.06375 +0.185 +0.31875002 +0.34625 +0.22625 +0.0925 +0.049999997 +0.1275 +0.43 +0.88249993 +1.2850001 +1.48125 +1.44 +1.2525 +1.0675 +0.9987501 +1.0749999 +1.225 +1.3312501 +1.3249999 +1.2212499 +1.11375 +1.1125001 +1.27125 +1.5462501 +1.8199999 +1.96 +1.5624999 +1.32875 +1.03875 +0.83875 +0.81125003 +0.94250005 +1.12625 +1.2437501 +1.2325 +1.135 +1.06375 +1.1225001 +1.32375 +1.5600002 +1.6662501 +1.5087501 +1.0725 +0.49249995 +0.0975 +0.0 +0.0 +0.01625 +0.05625 +0.057499997 +0.0175 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.02125 +0.0375 +0.026250001 +0.00625 +0.0 +0.00875 +0.03125 +0.048750002 +0.0325 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02125 +0.07 +0.08499999 +0.0275 +0.0 +0.0 +0.05875 +0.36 +0.90875006 +1.4575001 +1.775 +1.8000001 +1.6087499 +1.36375 +1.2125001 +1.2075 +1.28875 +1.3425001 +1.28 +1.1112499 +0.9325 +0.86375004 +0.97 +1.2162501 +1.4825 +1.6237501 +1.5624999 +1.32875 +1.03875 +0.83875 +0.81125003 +0.94250005 +1.12625 +1.2437501 +1.2325 +1.135 +1.06375 +1.1225001 +1.32375 +1.5600002 +1.6662501 +1.5087501 +1.0725 +0.49249995 +0.0975 +0.0 +0.0 +0.01625 +0.05625 +0.057499997 +0.0175 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.02125 +0.0375 +0.026250001 +0.00625 +0.0 +0.00875 +0.03125 +0.048750002 +0.0325 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02125 +0.07 +0.08499999 +0.0275 +0.0 +0.0 +0.05875 +0.36 +0.90875006 +1.4575001 +1.775 +1.8000001 +1.6087499 +1.36375 +1.2125001 +1.2075 +1.28875 +1.3425001 +1.28 +1.1112499 +0.9325 +0.86375004 +0.97 +1.2162501 +1.4825 +1.6237501 +1.2625 +1.02875 +0.74375 +0.5625 +0.57500005 +0.75874996 +0.99999994 +1.1737499 +1.22125 +1.1937499 +1.2075001 +1.3587501 +1.6374999 +1.915 +2.0025 +1.7625 +1.2049999 +0.53249997 +0.1025 +0.0 +0.0 +0.0 +0.0025 +0.0062499996 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.018749999 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.04625 +0.055 +0.02 +0.0 +0.0 +0.06 +0.4125 +1.05875 +1.74 +2.16625 +2.24 +2.0262501 +1.70125 +1.44375 +1.3275001 +1.315 +1.2925 +1.165 +0.9325 +0.695 +0.57500005 +0.65125 +0.89375 +1.1662501 +1.3175 +1.2625 +1.02875 +0.74375 +0.5625 +0.57500005 +0.75874996 +0.99999994 +1.1737499 +1.22125 +1.1937499 +1.2075001 +1.3587501 +1.6374999 +1.915 +2.0025 +1.7625 +1.2049999 +0.53249997 +0.1025 +0.0 +0.0 +0.0 +0.0025 +0.0062499996 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.018749999 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.04625 +0.055 +0.02 +0.0 +0.0 +0.06 +0.4125 +1.05875 +1.74 +2.16625 +2.24 +2.0262501 +1.70125 +1.44375 +1.3275001 +1.315 +1.2925 +1.165 +0.9325 +0.695 +0.57500005 +0.65125 +0.89375 +1.1662501 +1.3175 +1.07625 +0.8275 +0.525 +0.335 +0.35625 +0.5675 +0.84875 +1.07375 +1.18875 +1.245 +1.36375 +1.62875 +2.00875 +2.3474998 +2.43875 +2.14875 +1.50125 +0.73625 +0.16875 +0.005 +0.0 +0.0225 +0.112500004 +0.17 +0.12875 +0.03625 +0.0 +0.0 +0.00375 +0.0575 +0.14625001 +0.185 +0.155 +0.0775 +0.01375 +0.0 +0.0 +0.03 +0.12375 +0.22 +0.22999999 +0.16875 +0.07875 +0.0112499995 +0.0 +0.01625 +0.11875 +0.25375 +0.27374998 +0.16875 +0.052500002 +0.00875 +0.12625 +0.58124995 +1.3449999 +2.12125 +2.6212502 +2.7175 +2.4650002 +2.05 +1.6700002 +1.4337499 +1.3175001 +1.21375 +1.0225 +0.74125004 +0.4675 +0.3275 +0.40499997 +0.66625 +0.9625 +1.13125 +1.07625 +0.8275 +0.525 +0.335 +0.35625 +0.5675 +0.84875 +1.07375 +1.18875 +1.245 +1.36375 +1.62875 +2.00875 +2.3474998 +2.43875 +2.14875 +1.50125 +0.73625 +0.16875 +0.005 +0.0 +0.0225 +0.112500004 +0.17 +0.12875 +0.03625 +0.0 +0.0 +0.00375 +0.0575 +0.14625001 +0.185 +0.155 +0.0775 +0.01375 +0.0 +0.0 +0.03 +0.12375 +0.22 +0.22999999 +0.16875 +0.07875 +0.0112499995 +0.0 +0.01625 +0.11875 +0.25375 +0.27374998 +0.16875 +0.052500002 +0.00875 +0.12625 +0.58124995 +1.3449999 +2.12125 +2.6212502 +2.7175 +2.4650002 +2.05 +1.6700002 +1.4337499 +1.3175001 +1.21375 +1.0225 +0.74125004 +0.4675 +0.3275 +0.40499997 +0.66625 +0.9625 +1.13125 +1.01 +0.73875004 +0.40625 +0.19 +0.19875 +0.41750002 +0.72249997 +0.9887499 +1.1625001 +1.29875 +1.5175 +1.8925 +2.37375 +2.78125 +2.89625 +2.5837502 +1.8875002 +1.0325 +0.35999998 +0.06375 +0.04625 +0.21 +0.44250003 +0.54125 +0.44 +0.255 +0.1325 +0.11125 +0.18749999 +0.37125 +0.55625 +0.6075 +0.50874996 +0.32125 +0.15875 +0.087500006 +0.111250006 +0.24499999 +0.4525 +0.62875 +0.6775 +0.57124996 +0.36374998 +0.19375 +0.1525 +0.24000001 +0.44125003 +0.635 +0.6625 +0.48500004 +0.23625001 +0.125 +0.285 +0.825 +1.6624999 +2.4875 +3.0262501 +3.1262503 +2.83 +2.3312502 +1.8475 +1.5100001 +1.30875 +1.13875 +0.9 +0.58875 +0.29999998 +0.1625 +0.26125002 +0.55375004 +0.88125 +1.06875 +1.01 +0.73875004 +0.40625 +0.19 +0.19875 +0.41750002 +0.72249997 +0.9887499 +1.1625001 +1.29875 +1.5175 +1.8925 +2.37375 +2.78125 +2.89625 +2.5837502 +1.8875002 +1.0325 +0.35999998 +0.06375 +0.04625 +0.21 +0.44250003 +0.54125 +0.44 +0.255 +0.1325 +0.11125 +0.18749999 +0.37125 +0.55625 +0.6075 +0.50874996 +0.32125 +0.15875 +0.087500006 +0.111250006 +0.24499999 +0.4525 +0.62875 +0.6775 +0.57124996 +0.36374998 +0.19375 +0.1525 +0.24000001 +0.44125003 +0.635 +0.6625 +0.48500004 +0.23625001 +0.125 +0.285 +0.825 +1.6624999 +2.4875 +3.0262501 +3.1262503 +2.83 +2.3312502 +1.8475 +1.5100001 +1.30875 +1.13875 +0.9 +0.58875 +0.29999998 +0.1625 +0.26125002 +0.55375004 +0.88125 +1.06875 +1.0074999 +0.71999997 +0.36375 +0.12625 +0.12125 +0.33624998 +0.65500003 +0.945 +1.1587499 +1.3525 +1.63875 +2.0887501 +2.64 +3.0987499 +3.24 +2.9249997 +2.2075 +1.3275001 +0.585 +0.205 +0.22625 +0.4975 +0.77750003 +0.88624996 +0.78125 +0.5625 +0.38625 +0.3675 +0.52125 +0.75 +0.92750007 +0.9599999 +0.8325 +0.60749996 +0.38875 +0.2775 +0.3175 +0.49375 +0.73499995 +0.93625003 +1.0025 +0.90374994 +0.6925 +0.4875 +0.40874997 +0.51125 +0.72875 +0.9187499 +0.93625003 +0.73875004 +0.44124997 +0.265 +0.425 +0.99625 +1.845 +2.69125 +3.24375 +3.33875 +3.015 +2.47 +1.9312501 +1.53875 +1.2925 +1.0875 +0.82875 +0.5075 +0.21625 +0.09 +0.2075 +0.52125 +0.86999995 +1.06875 +1.0074999 +0.71999997 +0.36375 +0.12625 +0.12125 +0.33624998 +0.65500003 +0.945 +1.1587499 +1.3525 +1.63875 +2.0887501 +2.64 +3.0987499 +3.24 +2.9249997 +2.2075 +1.3275001 +0.585 +0.205 +0.22625 +0.4975 +0.77750003 +0.88624996 +0.78125 +0.5625 +0.38625 +0.3675 +0.52125 +0.75 +0.92750007 +0.9599999 +0.8325 +0.60749996 +0.38875 +0.2775 +0.3175 +0.49375 +0.73499995 +0.93625003 +1.0025 +0.90374994 +0.6925 +0.4875 +0.40874997 +0.51125 +0.72875 +0.9187499 +0.93625003 +0.73875004 +0.44124997 +0.265 +0.425 +0.99625 +1.845 +2.69125 +3.24375 +3.33875 +3.015 +2.47 +1.9312501 +1.53875 +1.2925 +1.0875 +0.82875 +0.5075 +0.21625 +0.09 +0.2075 +0.52125 +0.86999995 +1.06875 +1.01125 +0.72249997 +0.36374998 +0.12375 +0.11875 +0.33499998 +0.65749997 +0.9562501 +1.18375 +1.3937501 +1.69875 +2.1675 +2.73375 +3.2050002 +3.3525 +3.0387502 +2.3187501 +1.4312501 +0.68125 +0.29500002 +0.3125 +0.57874995 +0.85625005 +0.96375 +0.8575 +0.635 +0.45624998 +0.43875 +0.58875 +0.81500006 +0.98749995 +1.0137501 +0.87749994 +0.645 +0.42000002 +0.30125 +0.33499998 +0.50625 +0.74375004 +0.93875 +1.00125 +0.89874995 +0.685 +0.47624996 +0.395 +0.49375 +0.70875 +0.89625 +0.91124994 +0.70874995 +0.40499997 +0.22124998 +0.3725 +0.93625003 +1.78125 +2.625 +3.1787503 +3.27875 +2.9624999 +2.42625 +1.8950001 +1.51125 +1.2725 +1.07625 +0.82250005 +0.50625 +0.21625 +0.0925 +0.21125 +0.525 +0.87500006 +1.07375 +1.01125 +0.72249997 +0.36374998 +0.12375 +0.11875 +0.33499998 +0.65749997 +0.9562501 +1.18375 +1.3937501 +1.69875 +2.1675 +2.73375 +3.2050002 +3.3525 +3.0387502 +2.3187501 +1.4312501 +0.68125 +0.29500002 +0.3125 +0.57874995 +0.85625005 +0.96375 +0.8575 +0.635 +0.45624998 +0.43875 +0.58875 +0.81500006 +0.98749995 +1.0137501 +0.87749994 +0.645 +0.42000002 +0.30125 +0.33499998 +0.50625 +0.74375004 +0.93875 +1.00125 +0.89874995 +0.685 +0.47624996 +0.395 +0.49375 +0.70875 +0.89625 +0.91124994 +0.70874995 +0.40499997 +0.22124998 +0.3725 +0.93625003 +1.78125 +2.625 +3.1787503 +3.27875 +2.9624999 +2.42625 +1.8950001 +1.51125 +1.2725 +1.07625 +0.82250005 +0.50625 +0.21625 +0.0925 +0.21125 +0.525 +0.87500006 +1.07375 +1.01875 +0.74375004 +0.405 +0.18375 +0.19375 +0.4175 +0.73625 +1.02625 +1.235 +1.4137499 +1.68125 +2.105 +2.6275 +3.06625 +3.2 +2.88875 +2.1825 +1.3087499 +0.56 +0.19624999 +0.20750003 +0.41 +0.64625007 +0.73875 +0.6225 +0.395 +0.23375 +0.22749999 +0.34 +0.53625 +0.70875 +0.74249995 +0.62249994 +0.41 +0.21125 +0.12875 +0.15375 +0.27375 +0.46875 +0.63374996 +0.67125 +0.55625 +0.33875 +0.18875 +0.1525 +0.21875 +0.385 +0.5725 +0.59125006 +0.40125 +0.16375001 +0.060000002 +0.18 +0.66375 +1.4875001 +2.30875 +2.8525002 +2.9650002 +2.6875 +2.21 +1.74875 +1.43375 +1.25375 +1.10375 +0.88125 +0.57874995 +0.295 +0.16250001 +0.265 +0.56 +0.89125 +1.07875 +1.01875 +0.74375004 +0.405 +0.18375 +0.19375 +0.4175 +0.73625 +1.02625 +1.235 +1.4137499 +1.68125 +2.105 +2.6275 +3.06625 +3.2 +2.88875 +2.1825 +1.3087499 +0.56 +0.19624999 +0.20750003 +0.41 +0.64625007 +0.73875 +0.6225 +0.395 +0.23375 +0.22749999 +0.34 +0.53625 +0.70875 +0.74249995 +0.62249994 +0.41 +0.21125 +0.12875 +0.15375 +0.27375 +0.46875 +0.63374996 +0.67125 +0.55625 +0.33875 +0.18875 +0.1525 +0.21875 +0.385 +0.5725 +0.59125006 +0.40125 +0.16375001 +0.060000002 +0.18 +0.66375 +1.4875001 +2.30875 +2.8525002 +2.9650002 +2.6875 +2.21 +1.74875 +1.43375 +1.25375 +1.10375 +0.88125 +0.57874995 +0.295 +0.16250001 +0.265 +0.56 +0.89125 +1.07875 +1.0775 +0.82875 +0.52374995 +0.32999998 +0.35625002 +0.5775 +0.88 +1.13875 +1.2987499 +1.41125 +1.59375 +1.92 +2.35375 +2.7324998 +2.84375 +2.5500002 +1.8837501 +1.04875 +0.35625 +0.05875 +0.08 +0.18375 +0.32125 +0.3625 +0.2575 +0.09375 +0.01875 +0.03125 +0.08625 +0.18375 +0.29250002 +0.31875 +0.24125 +0.1075 +0.0225 +0.0 +0.00875 +0.056250002 +0.145 +0.21875 +0.21875 +0.13625 +0.0425 +0.00375 +0.0 +0.0075 +0.08125 +0.18124999 +0.1825 +0.0975 +0.0225 +0.0 +0.044999998 +0.365 +1.1075 +1.8812501 +2.39125 +2.5062501 +2.2775 +1.8874999 +1.53625 +1.3287499 +1.24125 +1.16 +0.98625 +0.715 +0.445 +0.30875 +0.39000002 +0.65500003 +0.95875 +1.13125 +1.0775 +0.82875 +0.52374995 +0.32999998 +0.35625002 +0.5775 +0.88 +1.13875 +1.2987499 +1.41125 +1.59375 +1.92 +2.35375 +2.7324998 +2.84375 +2.5500002 +1.8837501 +1.04875 +0.35625 +0.05875 +0.08 +0.18375 +0.32125 +0.3625 +0.2575 +0.09375 +0.01875 +0.03125 +0.08625 +0.18375 +0.29250002 +0.31875 +0.24125 +0.1075 +0.0225 +0.0 +0.00875 +0.056250002 +0.145 +0.21875 +0.21875 +0.13625 +0.0425 +0.00375 +0.0 +0.0075 +0.08125 +0.18124999 +0.1825 +0.0975 +0.0225 +0.0 +0.044999998 +0.365 +1.1075 +1.8812501 +2.39125 +2.5062501 +2.2775 +1.8874999 +1.53625 +1.3287499 +1.24125 +1.16 +0.98625 +0.715 +0.445 +0.30875 +0.39000002 +0.65500003 +0.95875 +1.13125 +1.2524999 +1.0274999 +0.74875003 +0.5725 +0.59374994 +0.79125 +1.0575 +1.265 +1.3575001 +1.3825 +1.4549999 +1.6637499 +1.99125 +2.3000002 +2.4 +2.1499999 +1.565 +0.81249994 +0.21375 +0.0 +0.0125 +0.055 +0.113749996 +0.11 +0.035 +0.0 +0.0 +0.0 +0.0 +0.0175 +0.045 +0.0475 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.0062499996 +0.0025 +0.0 +0.0 +0.0 +0.205 +0.825 +1.5087501 +1.9475002 +2.04125 +1.8475 +1.54375 +1.3062501 +1.2149999 +1.2262499 +1.2225001 +1.10875 +0.88125 +0.64250004 +0.52250004 +0.60125 +0.84875 +1.13375 +1.2974999 +1.2524999 +1.0274999 +0.74875003 +0.5725 +0.59374994 +0.79125 +1.0575 +1.265 +1.3575001 +1.3825 +1.4549999 +1.6637499 +1.99125 +2.3000002 +2.4 +2.1499999 +1.565 +0.81249994 +0.21375 +0.0 +0.0125 +0.055 +0.113749996 +0.11 +0.035 +0.0 +0.0 +0.0 +0.0 +0.0175 +0.045 +0.0475 +0.02 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.0062499996 +0.0025 +0.0 +0.0 +0.0 +0.205 +0.825 +1.5087501 +1.9475002 +2.04125 +1.8475 +1.54375 +1.3062501 +1.2149999 +1.2262499 +1.2225001 +1.10875 +0.88125 +0.64250004 +0.52250004 +0.60125 +0.84875 +1.13375 +1.2974999 +1.545 +1.33375 +1.0625 +0.87874997 +0.865 +1.0125 +1.21875 +1.3625 +1.3862499 +1.3262501 +1.2925 +1.38625 +1.6124998 +1.86375 +1.97125 +1.7962501 +1.3299999 +0.70124996 +0.19000001 +0.0 +0.0 +0.02125 +0.0875 +0.098749995 +0.0375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01875 +0.03875 +0.033749998 +0.0125 +0.0 +0.0 +0.01125 +0.02875 +0.0275 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.033749998 +0.06125 +0.0275 +0.0 +0.0 +0.0 +0.20500001 +0.7375 +1.295 +1.6274999 +1.6675001 +1.4850001 +1.24625 +1.1 +1.10375 +1.19625 +1.25875 +1.2 +1.0275 +0.84125006 +0.7662501 +0.87249994 +1.13 +1.41375 +1.5799999 +1.545 +1.33375 +1.0625 +0.87874997 +0.865 +1.0125 +1.21875 +1.3625 +1.3862499 +1.3262501 +1.2925 +1.38625 +1.6124998 +1.86375 +1.97125 +1.7962501 +1.3299999 +0.70124996 +0.19000001 +0.0 +0.0 +0.02125 +0.0875 +0.098749995 +0.0375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01875 +0.03875 +0.033749998 +0.0125 +0.0 +0.0 +0.01125 +0.02875 +0.0275 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.033749998 +0.06125 +0.0275 +0.0 +0.0 +0.0 +0.20500001 +0.7375 +1.295 +1.6274999 +1.6675001 +1.4850001 +1.24625 +1.1 +1.10375 +1.19625 +1.25875 +1.2 +1.0275 +0.84125006 +0.7662501 +0.87249994 +1.13 +1.41375 +1.5799999 +1.88 +1.67 +1.3887501 +1.16875 +1.1 +1.18 +1.31625 +1.39625 +1.36125 +1.2350001 +1.1175 +1.1175 +1.2625 +1.4737501 +1.6049999 +1.5237501 +1.195 +0.71 +0.26625 +0.05125 +0.04 +0.135 +0.27375 +0.32250002 +0.23125 +0.096250005 +0.01375 +0.0 +0.0 +0.00875 +0.095 +0.21374999 +0.28125 +0.27875 +0.24 +0.21375 +0.21875 +0.24875 +0.275 +0.25 +0.175 +0.08 +0.00875 +0.0 +0.0 +0.02375 +0.135 +0.2775 +0.32250002 +0.23124999 +0.113749996 +0.0475 +0.0875 +0.355 +0.81 +1.22625 +1.4375 +1.4025 +1.2075 +1.0062499 +0.9212499 +0.98625004 +1.13 +1.23375 +1.21875 +1.105 +0.98249996 +0.97 +1.12875 +1.42 +1.7237499 +1.90375 +1.88 +1.67 +1.3887501 +1.16875 +1.1 +1.18 +1.31625 +1.39625 +1.36125 +1.2350001 +1.1175 +1.1175 +1.2625 +1.4737501 +1.6049999 +1.5237501 +1.195 +0.71 +0.26625 +0.05125 +0.04 +0.135 +0.27375 +0.32250002 +0.23125 +0.096250005 +0.01375 +0.0 +0.0 +0.00875 +0.095 +0.21374999 +0.28125 +0.27875 +0.24 +0.21375 +0.21875 +0.24875 +0.275 +0.25 +0.175 +0.08 +0.00875 +0.0 +0.0 +0.02375 +0.135 +0.2775 +0.32250002 +0.23124999 +0.113749996 +0.0475 +0.0875 +0.355 +0.81 +1.22625 +1.4375 +1.4025 +1.2075 +1.0062499 +0.9212499 +0.98625004 +1.13 +1.23375 +1.21875 +1.105 +0.98249996 +0.97 +1.12875 +1.42 +1.7237499 +1.90375 +2.135 +1.92375 +1.6212499 +1.35625 +1.2249999 +1.23375 +1.30875 +1.3425 +1.27125 +1.1075 +0.93750006 +0.87 +0.9525001 +1.13375 +1.28875 +1.2925 +1.08875 +0.7375 +0.39 +0.18875 +0.20124999 +0.3775 +0.58 +0.6675 +0.57625 +0.35999998 +0.16625 +0.07625 +0.07125001 +0.17625 +0.38500002 +0.59250003 +0.71625 +0.7475 +0.72499996 +0.7 +0.70250005 +0.72875 +0.73999995 +0.68625003 +0.54 +0.3275 +0.15625001 +0.08625001 +0.106249996 +0.25125 +0.49625 +0.6975 +0.73375 +0.5975 +0.3825 +0.24125 +0.29125 +0.54249996 +0.8925 +1.185 +1.29 +1.18875 +0.97749996 +0.79625005 +0.74750006 +0.84250003 +1.00625 +1.12625 +1.1387501 +1.06875 +1.005 +1.05875 +1.27875 +1.615 +1.9499999 +2.14875 +2.135 +1.92375 +1.6212499 +1.35625 +1.2249999 +1.23375 +1.30875 +1.3425 +1.27125 +1.1075 +0.93750006 +0.87 +0.9525001 +1.13375 +1.28875 +1.2925 +1.08875 +0.7375 +0.39 +0.18875 +0.20124999 +0.3775 +0.58 +0.6675 +0.57625 +0.35999998 +0.16625 +0.07625 +0.07125001 +0.17625 +0.38500002 +0.59250003 +0.71625 +0.7475 +0.72499996 +0.7 +0.70250005 +0.72875 +0.73999995 +0.68625003 +0.54 +0.3275 +0.15625001 +0.08625001 +0.106249996 +0.25125 +0.49625 +0.6975 +0.73375 +0.5975 +0.3825 +0.24125 +0.29125 +0.54249996 +0.8925 +1.185 +1.29 +1.18875 +0.97749996 +0.79625005 +0.74750006 +0.84250003 +1.00625 +1.12625 +1.1387501 +1.06875 +1.005 +1.05875 +1.27875 +1.615 +1.9499999 +2.14875 +2.21875 +2.00875 +1.6874999 +1.3875 +1.2037499 +1.1587499 +1.1912501 +1.2012501 +1.12125 +0.9475 +0.75374997 +0.6425 +0.67499995 +0.825 +0.98875 +1.0437499 +0.9225 +0.66625 +0.40000004 +0.25625 +0.3075 +0.515 +0.755 +0.885 +0.8349999 +0.6374999 +0.39874998 +0.245 +0.25500003 +0.41875002 +0.66375 +0.89375 +1.04125 +1.0925 +1.07875 +1.0525 +1.05125 +1.07375 +1.0775 +1.0087501 +0.84875 +0.62 +0.39749998 +0.28125 +0.32875 +0.52875 +0.78374994 +0.96125 +0.97 +0.8025 +0.55625 +0.38 +0.38125002 +0.56500006 +0.8325 +1.0425 +1.08375 +0.9500001 +0.73875 +0.575 +0.54875004 +0.65749997 +0.82000005 +0.93500006 +0.95500004 +0.91 +0.89125 +0.99749994 +1.2649999 +1.64 +2.0025 +2.22125 +2.21875 +2.00875 +1.6874999 +1.3875 +1.2037499 +1.1587499 +1.1912501 +1.2012501 +1.12125 +0.9475 +0.75374997 +0.6425 +0.67499995 +0.825 +0.98875 +1.0437499 +0.9225 +0.66625 +0.40000004 +0.25625 +0.3075 +0.515 +0.755 +0.885 +0.8349999 +0.6374999 +0.39874998 +0.245 +0.25500003 +0.41875002 +0.66375 +0.89375 +1.04125 +1.0925 +1.07875 +1.0525 +1.05125 +1.07375 +1.0775 +1.0087501 +0.84875 +0.62 +0.39749998 +0.28125 +0.32875 +0.52875 +0.78374994 +0.96125 +0.97 +0.8025 +0.55625 +0.38 +0.38125002 +0.56500006 +0.8325 +1.0425 +1.08375 +0.9500001 +0.73875 +0.575 +0.54875004 +0.65749997 +0.82000005 +0.93500006 +0.95500004 +0.91 +0.89125 +0.99749994 +1.2649999 +1.64 +2.0025 +2.22125 +2.1249998 +1.9224999 +1.5987499 +1.28 +1.06375 +0.98749995 +0.99625003 +1.00125 +0.92999995 +0.76625 +0.56875 +0.43375 +0.4275 +0.54125 +0.68875 +0.7525 +0.665 +0.45250005 +0.22749999 +0.1275 +0.19125 +0.40750003 +0.6775 +0.84875 +0.84000003 +0.67499995 +0.45 +0.29625002 +0.3 +0.45999998 +0.71125 +0.95375 +1.115 +1.1774999 +1.165 +1.135 +1.13125 +1.15 +1.1475 +1.07375 +0.90500003 +0.66625 +0.43875003 +0.31750003 +0.35875 +0.5475 +0.78000003 +0.92875004 +0.90375 +0.70375 +0.43 +0.23624998 +0.21 +0.34875 +0.575 +0.75249994 +0.77875 +0.65250003 +0.46374997 +0.32999998 +0.3225 +0.43374997 +0.585 +0.68625 +0.70125 +0.6675 +0.67625 +0.81249994 +1.1062499 +1.5025 +1.8812499 +2.11375 +2.1249998 +1.9224999 +1.5987499 +1.28 +1.06375 +0.98749995 +0.99625003 +1.00125 +0.92999995 +0.76625 +0.56875 +0.43375 +0.4275 +0.54125 +0.68875 +0.7525 +0.665 +0.45250005 +0.22749999 +0.1275 +0.19125 +0.40750003 +0.6775 +0.84875 +0.84000003 +0.67499995 +0.45 +0.29625002 +0.3 +0.45999998 +0.71125 +0.95375 +1.115 +1.1774999 +1.165 +1.135 +1.13125 +1.15 +1.1475 +1.07375 +0.90500003 +0.66625 +0.43875003 +0.31750003 +0.35875 +0.5475 +0.78000003 +0.92875004 +0.90375 +0.70375 +0.43 +0.23624998 +0.21 +0.34875 +0.575 +0.75249994 +0.77875 +0.65250003 +0.46374997 +0.32999998 +0.3225 +0.43374997 +0.585 +0.68625 +0.70125 +0.6675 +0.67625 +0.81249994 +1.1062499 +1.5025 +1.8812499 +2.11375 +1.94375 +1.7574999 +1.4437499 +1.12125 +0.89 +0.79375005 +0.78999996 +0.79625005 +0.73875004 +0.59 +0.40125 +0.25875 +0.2275 +0.30375 +0.41625002 +0.46125 +0.37 +0.1875 +0.042499997 +0.0 +0.0425 +0.17125 +0.4 +0.595 +0.62 +0.48125 +0.27249998 +0.1375 +0.14375 +0.2825 +0.53125 +0.7825001 +0.9575 +1.0287501 +1.02375 +0.9962499 +0.9875001 +0.99749994 +0.98749995 +0.905 +0.72749996 +0.48250002 +0.2525 +0.14 +0.16875 +0.31999996 +0.52875 +0.65 +0.59625 +0.37625 +0.13875 +0.033749998 +0.025 +0.10125 +0.23375002 +0.38000003 +0.425 +0.33249998 +0.185 +0.10125001 +0.113749996 +0.2125 +0.33875 +0.43 +0.44124997 +0.41624996 +0.43999997 +0.59125 +0.89625 +1.29625 +1.67875 +1.92 +1.94375 +1.7574999 +1.4437499 +1.12125 +0.89 +0.79375005 +0.78999996 +0.79625005 +0.73875004 +0.59 +0.40125 +0.25875 +0.2275 +0.30375 +0.41625002 +0.46125 +0.37 +0.1875 +0.042499997 +0.0 +0.0425 +0.17125 +0.4 +0.595 +0.62 +0.48125 +0.27249998 +0.1375 +0.14375 +0.2825 +0.53125 +0.7825001 +0.9575 +1.0287501 +1.02375 +0.9962499 +0.9875001 +0.99749994 +0.98749995 +0.905 +0.72749996 +0.48250002 +0.2525 +0.14 +0.16875 +0.31999996 +0.52875 +0.65 +0.59625 +0.37625 +0.13875 +0.033749998 +0.025 +0.10125 +0.23375002 +0.38000003 +0.425 +0.33249998 +0.185 +0.10125001 +0.113749996 +0.2125 +0.33875 +0.43 +0.44124997 +0.41624996 +0.43999997 +0.59125 +0.89625 +1.29625 +1.67875 +1.92 +1.8149998 +1.645 +1.345 +1.025 +0.78125 +0.6625 +0.6375 +0.63249993 +0.5762501 +0.44 +0.27625 +0.1625 +0.13125 +0.16625 +0.23124999 +0.24375 +0.15875 +0.041249998 +0.0 +0.0 +0.0 +0.030000001 +0.13499999 +0.2925 +0.32750002 +0.21625 +0.0625 +0.0025 +0.01375 +0.09125 +0.28125 +0.5325 +0.7225001 +0.81125 +0.82375 +0.80499995 +0.79375 +0.78999996 +0.76125 +0.66249996 +0.4725 +0.22874999 +0.04875 +0.0 +0.015 +0.08875 +0.21125 +0.30374998 +0.24374999 +0.07875 +0.00125 +0.0 +0.0 +0.0 +0.03125 +0.09875 +0.1325 +0.087500006 +0.025 +0.0025 +0.01125 +0.05875 +0.15 +0.2275 +0.24625 +0.24249998 +0.2825 +0.44374996 +0.7525 +1.15 +1.5287502 +1.77625 +1.8149998 +1.645 +1.345 +1.025 +0.78125 +0.6625 +0.6375 +0.63249993 +0.5762501 +0.44 +0.27625 +0.1625 +0.13125 +0.16625 +0.23124999 +0.24375 +0.15875 +0.041249998 +0.0 +0.0 +0.0 +0.030000001 +0.13499999 +0.2925 +0.32750002 +0.21625 +0.0625 +0.0025 +0.01375 +0.09125 +0.28125 +0.5325 +0.7225001 +0.81125 +0.82375 +0.80499995 +0.79375 +0.78999996 +0.76125 +0.66249996 +0.4725 +0.22874999 +0.04875 +0.0 +0.015 +0.08875 +0.21125 +0.30374998 +0.24374999 +0.07875 +0.00125 +0.0 +0.0 +0.0 +0.03125 +0.09875 +0.1325 +0.087500006 +0.025 +0.0025 +0.01125 +0.05875 +0.15 +0.2275 +0.24625 +0.24249998 +0.2825 +0.44374996 +0.7525 +1.15 +1.5287502 +1.77625 +1.8274999 +1.67375 +1.3849999 +1.0625 +0.79999995 +0.64875 +0.5825 +0.5425 +0.46875 +0.34 +0.21499999 +0.145 +0.125 +0.14 +0.16749999 +0.15875 +0.0925 +0.02125 +0.0 +0.0 +0.0 +0.0 +0.03125 +0.121249996 +0.13875 +0.063750006 +0.00125 +0.0 +0.0 +0.0175 +0.14125 +0.38250002 +0.5925 +0.71 +0.75 +0.7462499 +0.73 +0.70624995 +0.64875 +0.52625 +0.31875 +0.0975 +0.0 +0.0 +0.0 +0.00125 +0.035 +0.0825 +0.05125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.0075000003 +0.00625 +0.0 +0.0 +0.0 +0.01125 +0.0625 +0.1275 +0.165 +0.19 +0.255 +0.43875 +0.75625 +1.1525 +1.5274999 +1.7775 +1.8274999 +1.67375 +1.3849999 +1.0625 +0.79999995 +0.64875 +0.5825 +0.5425 +0.46875 +0.34 +0.21499999 +0.145 +0.125 +0.14 +0.16749999 +0.15875 +0.0925 +0.02125 +0.0 +0.0 +0.0 +0.0 +0.03125 +0.121249996 +0.13875 +0.063750006 +0.00125 +0.0 +0.0 +0.0175 +0.14125 +0.38250002 +0.5925 +0.71 +0.75 +0.7462499 +0.73 +0.70624995 +0.64875 +0.52625 +0.31875 +0.0975 +0.0 +0.0 +0.0 +0.00125 +0.035 +0.0825 +0.05125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.0075000003 +0.00625 +0.0 +0.0 +0.0 +0.01125 +0.0625 +0.1275 +0.165 +0.19 +0.255 +0.43875 +0.75625 +1.1525 +1.5274999 +1.7775 +1.97 +1.83125 +1.55125 +1.22375 +0.93875 +0.74249995 +0.6225 +0.53125 +0.42625 +0.29625002 +0.19624999 +0.15125 +0.14125 +0.16125 +0.1875 +0.17375 +0.105 +0.035 +0.0 +0.0 +0.0 +0.0 +0.05375 +0.1275 +0.1275 +0.06375 +0.015 +0.0 +0.0 +0.026250001 +0.1775 +0.43125004 +0.66124994 +0.8125 +0.885 +0.89875 +0.8787501 +0.83000004 +0.73749995 +0.58 +0.355 +0.12875 +0.00875 +0.0 +0.0 +0.0 +0.01375 +0.06375 +0.06375 +0.025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.0175 +0.02 +0.0025 +0.0 +0.0 +0.0 +0.035 +0.10249999 +0.16125 +0.23125 +0.355 +0.57874995 +0.90875006 +1.30125 +1.66875 +1.9137499 +1.97 +1.83125 +1.55125 +1.22375 +0.93875 +0.74249995 +0.6225 +0.53125 +0.42625 +0.29625002 +0.19624999 +0.15125 +0.14125 +0.16125 +0.1875 +0.17375 +0.105 +0.035 +0.0 +0.0 +0.0 +0.0 +0.05375 +0.1275 +0.1275 +0.06375 +0.015 +0.0 +0.0 +0.026250001 +0.1775 +0.43125004 +0.66124994 +0.8125 +0.885 +0.89875 +0.8787501 +0.83000004 +0.73749995 +0.58 +0.355 +0.12875 +0.00875 +0.0 +0.0 +0.0 +0.01375 +0.06375 +0.06375 +0.025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.0175 +0.02 +0.0025 +0.0 +0.0 +0.0 +0.035 +0.10249999 +0.16125 +0.23125 +0.355 +0.57874995 +0.90875006 +1.30125 +1.66875 +1.9137499 +2.14875 +2.02 +1.7537501 +1.43 +1.1274999 +0.8924999 +0.7175 +0.575 +0.43499997 +0.29500002 +0.19874999 +0.16125 +0.16624999 +0.205 +0.24125001 +0.215 +0.12875 +0.04625 +0.0025 +0.0 +0.0 +0.0575 +0.1675 +0.2525 +0.24624999 +0.16 +0.07375 +0.035 +0.061249997 +0.17000002 +0.38375002 +0.65250003 +0.89375 +1.0725 +1.17625 +1.2099999 +1.18625 +1.1125 +0.98249996 +0.79375 +0.5575 +0.29749998 +0.1125 +0.0325 +0.005 +0.022499999 +0.09625 +0.18875 +0.2025 +0.13 +0.05125 +0.01125 +0.0 +0.0 +0.0 +0.03125 +0.08499999 +0.092499994 +0.053750005 +0.0175 +0.0 +0.00625 +0.04625 +0.1225 +0.22999999 +0.36375 +0.54125 +0.79375005 +1.1275 +1.50875 +1.85875 +2.0912502 +2.14875 +2.02 +1.7537501 +1.43 +1.1274999 +0.8924999 +0.7175 +0.575 +0.43499997 +0.29500002 +0.19874999 +0.16125 +0.16624999 +0.205 +0.24125001 +0.215 +0.12875 +0.04625 +0.0025 +0.0 +0.0 +0.0575 +0.1675 +0.2525 +0.24624999 +0.16 +0.07375 +0.035 +0.061249997 +0.17000002 +0.38375002 +0.65250003 +0.89375 +1.0725 +1.17625 +1.2099999 +1.18625 +1.1125 +0.98249996 +0.79375 +0.5575 +0.29749998 +0.1125 +0.0325 +0.005 +0.022499999 +0.09625 +0.18875 +0.2025 +0.13 +0.05125 +0.01125 +0.0 +0.0 +0.0 +0.03125 +0.08499999 +0.092499994 +0.053750005 +0.0175 +0.0 +0.00625 +0.04625 +0.1225 +0.22999999 +0.36375 +0.54125 +0.79375005 +1.1275 +1.50875 +1.85875 +2.0912502 +2.24625 +2.1287498 +1.8862501 +1.58125 +1.2824999 +1.02875 +0.82000005 +0.63875 +0.47375 +0.32750002 +0.23124999 +0.19749999 +0.21625 +0.25875 +0.2725 +0.21875 +0.11875 +0.033749998 +0.0025 +0.0 +0.041249998 +0.16499999 +0.30875003 +0.39124998 +0.38 +0.3075 +0.23249999 +0.21124999 +0.2825 +0.4475 +0.6775 +0.93375003 +1.1737499 +1.3699999 +1.4975 +1.5487499 +1.5224999 +1.4274999 +1.2687501 +1.0587499 +0.8175 +0.56875 +0.34875 +0.19 +0.125 +0.15375 +0.24375 +0.335 +0.36625 +0.30499998 +0.17500001 +0.06375 +0.01625 +0.00375 +0.0175 +0.0775 +0.15875 +0.19375001 +0.16 +0.095000006 +0.055 +0.055 +0.103750005 +0.21125 +0.35875 +0.52875 +0.735 +0.995 +1.3162498 +1.6675 +1.9837501 +2.195 +2.24625 +2.1287498 +1.8862501 +1.58125 +1.2824999 +1.02875 +0.82000005 +0.63875 +0.47375 +0.32750002 +0.23124999 +0.19749999 +0.21625 +0.25875 +0.2725 +0.21875 +0.11875 +0.033749998 +0.0025 +0.0 +0.041249998 +0.16499999 +0.30875003 +0.39124998 +0.38 +0.3075 +0.23249999 +0.21124999 +0.2825 +0.4475 +0.6775 +0.93375003 +1.1737499 +1.3699999 +1.4975 +1.5487499 +1.5224999 +1.4274999 +1.2687501 +1.0587499 +0.8175 +0.56875 +0.34875 +0.19 +0.125 +0.15375 +0.24375 +0.335 +0.36625 +0.30499998 +0.17500001 +0.06375 +0.01625 +0.00375 +0.0175 +0.0775 +0.15875 +0.19375001 +0.16 +0.095000006 +0.055 +0.055 +0.103750005 +0.21125 +0.35875 +0.52875 +0.735 +0.995 +1.3162498 +1.6675 +1.9837501 +2.195 +2.21125 +2.10875 +1.895 +1.62625 +1.35375 +1.1075001 +0.8899999 +0.69249994 +0.51750004 +0.375 +0.28875002 +0.26125 +0.27500004 +0.28250003 +0.245 +0.15125 +0.0475 +0.0075 +0.0 +0.0075 +0.07 +0.22250001 +0.36624998 +0.4375 +0.435 +0.4 +0.3825 +0.4175 +0.5275 +0.7012501 +0.9187499 +1.15375 +1.3824999 +1.58625 +1.7325001 +1.7975 +1.7750001 +1.6687499 +1.49125 +1.27 +1.035 +0.80500007 +0.59625006 +0.42999998 +0.32999998 +0.30625 +0.3425 +0.4025 +0.4325 +0.39 +0.26874998 +0.12375 +0.0325 +0.00875 +0.0225 +0.06125 +0.14750001 +0.22875002 +0.25 +0.21875001 +0.17500001 +0.165 +0.21749999 +0.33124998 +0.48749998 +0.67249995 +0.8825 +1.13 +1.4174999 +1.7187501 +1.99 +2.16875 +2.21125 +2.10875 +1.895 +1.62625 +1.35375 +1.1075001 +0.8899999 +0.69249994 +0.51750004 +0.375 +0.28875002 +0.26125 +0.27500004 +0.28250003 +0.245 +0.15125 +0.0475 +0.0075 +0.0 +0.0075 +0.07 +0.22250001 +0.36624998 +0.4375 +0.435 +0.4 +0.3825 +0.4175 +0.5275 +0.7012501 +0.9187499 +1.15375 +1.3824999 +1.58625 +1.7325001 +1.7975 +1.7750001 +1.6687499 +1.49125 +1.27 +1.035 +0.80500007 +0.59625006 +0.42999998 +0.32999998 +0.30625 +0.3425 +0.4025 +0.4325 +0.39 +0.26874998 +0.12375 +0.0325 +0.00875 +0.0225 +0.06125 +0.14750001 +0.22875002 +0.25 +0.21875001 +0.17500001 +0.165 +0.21749999 +0.33124998 +0.48749998 +0.67249995 +0.8825 +1.13 +1.4174999 +1.7187501 +1.99 +2.16875 +2.08375 +1.9937499 +1.8125 +1.5825 +1.345 +1.1225001 +0.91499996 +0.72125 +0.54875 +0.41625 +0.33875 +0.3125 +0.30875 +0.2775 +0.18625 +0.059999995 +0.00125 +0.0 +0.0 +0.0 +0.04875 +0.1825 +0.32375 +0.39124998 +0.40125 +0.4025 +0.43500003 +0.5225 +0.66249996 +0.84124994 +1.04625 +1.26125 +1.4762499 +1.6800001 +1.8387501 +1.92 +1.905 +1.7950001 +1.61375 +1.395 +1.1725 +0.95875 +0.76 +0.58750004 +0.45625 +0.38125002 +0.3625 +0.3825 +0.395 +0.35500002 +0.23750001 +0.095 +0.0125 +0.0 +0.0 +0.01875 +0.0825 +0.195 +0.27875 +0.29625002 +0.27875 +0.27625 +0.32375 +0.43250003 +0.58875 +0.7725 +0.9725001 +1.19375 +1.4375 +1.6899999 +1.91125 +2.05375 +2.08375 +1.9937499 +1.8125 +1.5825 +1.345 +1.1225001 +0.91499996 +0.72125 +0.54875 +0.41625 +0.33875 +0.3125 +0.30875 +0.2775 +0.18625 +0.059999995 +0.00125 +0.0 +0.0 +0.0 +0.04875 +0.1825 +0.32375 +0.39124998 +0.40125 +0.4025 +0.43500003 +0.5225 +0.66249996 +0.84124994 +1.04625 +1.26125 +1.4762499 +1.6800001 +1.8387501 +1.92 +1.905 +1.7950001 +1.61375 +1.395 +1.1725 +0.95875 +0.76 +0.58750004 +0.45625 +0.38125002 +0.3625 +0.3825 +0.395 +0.35500002 +0.23750001 +0.095 +0.0125 +0.0 +0.0 +0.01875 +0.0825 +0.195 +0.27875 +0.29625002 +0.27875 +0.27625 +0.32375 +0.43250003 +0.58875 +0.7725 +0.9725001 +1.19375 +1.4375 +1.6899999 +1.91125 +2.05375 +1.97 +1.8824999 +1.7175 +1.5124999 +1.30125 +1.09875 +0.90374994 +0.71999997 +0.55625 +0.4325 +0.3625 +0.33874997 +0.32375 +0.26874998 +0.14375 +0.026250001 +0.0 +0.0 +0.0 +0.0 +0.02 +0.12375 +0.26375002 +0.32875 +0.3475 +0.365 +0.425 +0.53999996 +0.69624996 +0.8775 +1.0699999 +1.27125 +1.4787499 +1.68375 +1.855 +1.9525 +1.9499999 +1.8462499 +1.6712499 +1.46125 +1.2475 +1.0450001 +0.85375 +0.67625 +0.52 +0.40750003 +0.35125002 +0.33875 +0.33375 +0.28625 +0.16375 +0.037499998 +0.0 +0.0 +0.0 +0.0 +0.03125 +0.13999999 +0.26999998 +0.32375 +0.33124998 +0.33999997 +0.3925 +0.50125 +0.655 +0.8324999 +1.02125 +1.2237499 +1.4374999 +1.6524999 +1.8375 +1.9537499 +1.97 +1.8824999 +1.7175 +1.5124999 +1.30125 +1.09875 +0.90374994 +0.71999997 +0.55625 +0.4325 +0.3625 +0.33874997 +0.32375 +0.26874998 +0.14375 +0.026250001 +0.0 +0.0 +0.0 +0.0 +0.02 +0.12375 +0.26375002 +0.32875 +0.3475 +0.365 +0.425 +0.53999996 +0.69624996 +0.8775 +1.0699999 +1.27125 +1.4787499 +1.68375 +1.855 +1.9525 +1.9499999 +1.8462499 +1.6712499 +1.46125 +1.2475 +1.0450001 +0.85375 +0.67625 +0.52 +0.40750003 +0.35125002 +0.33875 +0.33375 +0.28625 +0.16375 +0.037499998 +0.0 +0.0 +0.0 +0.0 +0.03125 +0.13999999 +0.26999998 +0.32375 +0.33124998 +0.33999997 +0.3925 +0.50125 +0.655 +0.8324999 +1.02125 +1.2237499 +1.4374999 +1.6524999 +1.8375 +1.9537499 +1.80375 +1.62875 +1.43 +1.2275 +1.03 +0.84250003 +0.66499996 +0.515 +0.40625 +0.35 +0.32375002 +0.28750002 +0.20625 +0.09 +0.0325 +0.0075 +0.0 +0.0 +0.0025 +0.05125 +0.17 +0.26375 +0.3225 +0.34875 +0.3825 +0.45875 +0.58125 +0.73875004 +0.91499996 +1.1012499 +1.2987499 +1.50125 +1.69125 +1.83875 +1.9100001 +1.8887501 +1.7787501 +1.61125 +1.4175 +1.21875 +1.025 +0.84000003 +0.66375 +0.51875 +0.41875 +0.3675 +0.34375 +0.3075 +0.22 +0.096250005 +0.036250003 +0.0075 +0.0 +0.0 +0.0025 +0.04875 +0.1625 +0.25125 +0.30374998 +0.3275 +0.3675 +0.44875002 +0.58 +0.7425 +0.9225 +1.1125001 +1.3125 +1.51875 +1.7125 +1.8675001 +1.9412501 +1.91625 +1.80375 +1.62875 +1.43 +1.2275 +1.03 +0.84250003 +0.66499996 +0.515 +0.40625 +0.35 +0.32375002 +0.28750002 +0.20625 +0.09 +0.0325 +0.0075 +0.0 +0.0 +0.0025 +0.05125 +0.17 +0.26375 +0.3225 +0.34875 +0.3825 +0.45875 +0.58125 +0.73875004 +0.91499996 +1.1012499 +1.2987499 +1.50125 +1.69125 +1.83875 +1.9100001 +1.8887501 +1.7787501 +1.61125 +1.4175 +1.21875 +1.025 +0.84000003 +0.66375 +0.51875 +0.41875 +0.3675 +0.34375 +0.3075 +0.22 +0.096250005 +0.036250003 +0.0075 +0.0 +0.0 +0.0025 +0.04875 +0.1625 +0.25125 +0.30374998 +0.3275 +0.3675 +0.44875002 +0.58 +0.7425 +0.9225 +1.1125001 +1.3125 +1.51875 +1.7125 +1.8675001 +1.9412501 +1.91625 +1.87375 +1.67625 +1.44625 +1.2175 +1.0025 +0.8012499 +0.6175 +0.46375003 +0.35125 +0.29375 +0.275 +0.26125 +0.2075 +0.118750006 +0.03875 +0.0175 +0.0 +0.0 +0.00875 +0.087500006 +0.21000001 +0.3125 +0.36374998 +0.37375003 +0.38625002 +0.43375003 +0.52875 +0.67375004 +0.84625 +1.04 +1.24875 +1.46125 +1.65625 +1.8012501 +1.87625 +1.8575002 +1.75375 +1.58875 +1.39125 +1.1800001 +0.9750001 +0.7825 +0.6125 +0.48375002 +0.40625003 +0.37875003 +0.37375 +0.34625003 +0.26375002 +0.1375 +0.05 +0.0175 +0.0 +0.0 +0.0075 +0.08 +0.17125 +0.24625 +0.2725 +0.28375 +0.32125 +0.40750003 +0.54125 +0.70874995 +0.90125006 +1.105 +1.325 +1.55625 +1.775 +1.9475 +2.02875 +2.0025 +1.87375 +1.67625 +1.44625 +1.2175 +1.0025 +0.8012499 +0.6175 +0.46375003 +0.35125 +0.29375 +0.275 +0.26125 +0.2075 +0.118750006 +0.03875 +0.0175 +0.0 +0.0 +0.00875 +0.087500006 +0.21000001 +0.3125 +0.36374998 +0.37375003 +0.38625002 +0.43375003 +0.52875 +0.67375004 +0.84625 +1.04 +1.24875 +1.46125 +1.65625 +1.8012501 +1.87625 +1.8575002 +1.75375 +1.58875 +1.39125 +1.1800001 +0.9750001 +0.7825 +0.6125 +0.48375002 +0.40625003 +0.37875003 +0.37375 +0.34625003 +0.26375002 +0.1375 +0.05 +0.0175 +0.0 +0.0 +0.0075 +0.08 +0.17125 +0.24625 +0.2725 +0.28375 +0.32125 +0.40750003 +0.54125 +0.70874995 +0.90125006 +1.105 +1.325 +1.55625 +1.775 +1.9475 +2.02875 +2.0025 +1.9487501 +1.7062501 +1.43 +1.16125 +0.92125 +0.7075 +0.52000004 +0.36249998 +0.24874999 +0.19125001 +0.18375 +0.19999999 +0.195 +0.145 +0.06875 +0.02375 +0.01 +0.0 +0.01875 +0.1125 +0.24375 +0.345 +0.38750002 +0.37625 +0.34625 +0.34625 +0.40125 +0.51625 +0.6875 +0.89625 +1.12125 +1.34375 +1.54375 +1.6899999 +1.7637501 +1.75125 +1.65625 +1.495 +1.29125 +1.0662501 +0.8425 +0.64125 +0.48250002 +0.385 +0.35 +0.36625 +0.39125 +0.375 +0.29000002 +0.15625 +0.055 +0.01375 +0.0 +0.0 +0.0375 +0.1175 +0.18875 +0.2175 +0.20999998 +0.20625001 +0.24249999 +0.33625 +0.4775 +0.65375 +0.85125 +1.07375 +1.32125 +1.5925001 +1.8525001 +2.05125 +2.145 +2.1075 +1.9487501 +1.7062501 +1.43 +1.16125 +0.92125 +0.7075 +0.52000004 +0.36249998 +0.24874999 +0.19125001 +0.18375 +0.19999999 +0.195 +0.145 +0.06875 +0.02375 +0.01 +0.0 +0.01875 +0.1125 +0.24375 +0.345 +0.38750002 +0.37625 +0.34625 +0.34625 +0.40125 +0.51625 +0.6875 +0.89625 +1.12125 +1.34375 +1.54375 +1.6899999 +1.7637501 +1.75125 +1.65625 +1.495 +1.29125 +1.0662501 +0.8425 +0.64125 +0.48250002 +0.385 +0.35 +0.36625 +0.39125 +0.375 +0.29000002 +0.15625 +0.055 +0.01375 +0.0 +0.0 +0.0375 +0.1175 +0.18875 +0.2175 +0.20999998 +0.20625001 +0.24249999 +0.33625 +0.4775 +0.65375 +0.85125 +1.07375 +1.32125 +1.5925001 +1.8525001 +2.05125 +2.145 +2.1075 +1.93875 +1.6487501 +1.3287499 +1.02875 +0.775 +0.56375 +0.38625002 +0.23375002 +0.125 +0.08 +0.0725 +0.099999994 +0.1375 +0.135 +0.08499999 +0.03125 +0.01 +0.0 +0.0175 +0.075 +0.19 +0.28625 +0.32000002 +0.29250002 +0.225 +0.17499998 +0.1825 +0.26875 +0.43625 +0.65625 +0.8974999 +1.1287501 +1.32375 +1.4637501 +1.53375 +1.5262499 +1.4449999 +1.29375 +1.0899999 +0.85249996 +0.61125004 +0.4 +0.255 +0.19500001 +0.21375 +0.27625 +0.32750002 +0.3175 +0.225 +0.1025 +0.03 +0.0 +0.0 +0.01 +0.07749999 +0.14625001 +0.17750001 +0.16125001 +0.12750001 +0.113749996 +0.16125 +0.26624998 +0.40624997 +0.5775 +0.76874995 +0.99375 +1.2625 +1.5649999 +1.8575001 +2.0875 +2.19 +2.1337502 +1.93875 +1.6487501 +1.3287499 +1.02875 +0.775 +0.56375 +0.38625002 +0.23375002 +0.125 +0.08 +0.0725 +0.099999994 +0.1375 +0.135 +0.08499999 +0.03125 +0.01 +0.0 +0.0175 +0.075 +0.19 +0.28625 +0.32000002 +0.29250002 +0.225 +0.17499998 +0.1825 +0.26875 +0.43625 +0.65625 +0.8974999 +1.1287501 +1.32375 +1.4637501 +1.53375 +1.5262499 +1.4449999 +1.29375 +1.0899999 +0.85249996 +0.61125004 +0.4 +0.255 +0.19500001 +0.21375 +0.27625 +0.32750002 +0.3175 +0.225 +0.1025 +0.03 +0.0 +0.0 +0.01 +0.07749999 +0.14625001 +0.17750001 +0.16125001 +0.12750001 +0.113749996 +0.16125 +0.26624998 +0.40624997 +0.5775 +0.76874995 +0.99375 +1.2625 +1.5649999 +1.8575001 +2.0875 +2.19 +2.1337502 +1.8074999 +1.48 +1.1324999 +0.8225 +0.57874995 +0.39375 +0.24375 +0.12125 +0.05125 +0.01625 +0.00375 +0.02375 +0.055 +0.07000001 +0.041249998 +0.01875 +0.00125 +0.0 +0.0 +0.01875 +0.072500005 +0.145 +0.17999999 +0.1325 +0.07125 +0.01875 +0.01375 +0.07 +0.18249999 +0.39874998 +0.6225 +0.84875 +1.02875 +1.1487501 +1.20875 +1.20875 +1.145 +1.01375 +0.81875 +0.57624996 +0.32125 +0.14625 +0.044999998 +0.0375 +0.0775 +0.15499999 +0.20375001 +0.1725 +0.09125 +0.02375 +0.0 +0.0 +0.0 +0.0175 +0.08375 +0.13875 +0.13 +0.08875 +0.05125 +0.054999996 +0.122499995 +0.235 +0.36125 +0.505 +0.66875005 +0.87125003 +1.13125 +1.4425001 +1.755 +1.9999999 +2.105 +2.03625 +1.8074999 +1.48 +1.1324999 +0.8225 +0.57874995 +0.39375 +0.24375 +0.12125 +0.05125 +0.01625 +0.00375 +0.02375 +0.055 +0.07000001 +0.041249998 +0.01875 +0.00125 +0.0 +0.0 +0.01875 +0.072500005 +0.145 +0.17999999 +0.1325 +0.07125 +0.01875 +0.01375 +0.07 +0.18249999 +0.39874998 +0.6225 +0.84875 +1.02875 +1.1487501 +1.20875 +1.20875 +1.145 +1.01375 +0.81875 +0.57624996 +0.32125 +0.14625 +0.044999998 +0.0375 +0.0775 +0.15499999 +0.20375001 +0.1725 +0.09125 +0.02375 +0.0 +0.0 +0.0 +0.0175 +0.08375 +0.13875 +0.13 +0.08875 +0.05125 +0.054999996 +0.122499995 +0.235 +0.36125 +0.505 +0.66875005 +0.87125003 +1.13125 +1.4425001 +1.755 +1.9999999 +2.105 +2.03625 +1.6025 +1.255 +0.895 +0.59375 +0.38000003 +0.24125001 +0.14250001 +0.072500005 +0.037499998 +0.01875 +0.0 +0.0 +0.0025 +0.0062499996 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0075 +0.03 +0.048750002 +0.0275 +0.0075 +0.0 +0.0 +0.0025 +0.04375 +0.19749999 +0.415 +0.60875 +0.76 +0.85 +0.895 +0.9 +0.85875005 +0.755 +0.58 +0.34375 +0.1275 +0.02875 +0.0 +0.0 +0.015 +0.05625 +0.0925 +0.04625 +0.012499999 +0.0 +0.0 +0.0 +0.0 +0.01625 +0.06875 +0.11 +0.0875 +0.04 +0.022499999 +0.0525 +0.13499999 +0.24875002 +0.3575 +0.46875 +0.58124995 +0.73749995 +0.96875 +1.2675 +1.5799999 +1.83125 +1.9349998 +1.8525 +1.6025 +1.255 +0.895 +0.59375 +0.38000003 +0.24125001 +0.14250001 +0.072500005 +0.037499998 +0.01875 +0.0 +0.0 +0.0025 +0.0062499996 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0075 +0.03 +0.048750002 +0.0275 +0.0075 +0.0 +0.0 +0.0025 +0.04375 +0.19749999 +0.415 +0.60875 +0.76 +0.85 +0.895 +0.9 +0.85875005 +0.755 +0.58 +0.34375 +0.1275 +0.02875 +0.0 +0.0 +0.015 +0.05625 +0.0925 +0.04625 +0.012499999 +0.0 +0.0 +0.0 +0.0 +0.01625 +0.06875 +0.11 +0.0875 +0.04 +0.022499999 +0.0525 +0.13499999 +0.24875002 +0.3575 +0.46875 +0.58124995 +0.73749995 +0.96875 +1.2675 +1.5799999 +1.83125 +1.9349998 +1.8525 +1.43625 +1.075 +0.7125 +0.42875 +0.25375 +0.16375 +0.12 +0.07875 +0.04625 +0.0325 +0.01125 +0.0 +0.0 +0.0 +0.0 +0.00625 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0375 +0.026250001 +0.01875 +0.0125 +0.0 +0.0 +0.02 +0.15125 +0.3375 +0.5175 +0.6374999 +0.695 +0.72375 +0.735 +0.71624994 +0.64625 +0.49624997 +0.28375 +0.091249995 +0.03 +0.0 +0.0 +0.00625 +0.058749996 +0.0775 +0.04 +0.01875 +0.0 +0.0 +0.0 +0.0 +0.015 +0.07625 +0.10875 +0.083749995 +0.042499997 +0.03625 +0.08875 +0.195 +0.31875002 +0.42125002 +0.49375 +0.555 +0.6575 +0.84625006 +1.12375 +1.4324999 +1.6825 +1.7837499 +1.6937499 +1.43625 +1.075 +0.7125 +0.42875 +0.25375 +0.16375 +0.12 +0.07875 +0.04625 +0.0325 +0.01125 +0.0 +0.0 +0.0 +0.0 +0.00625 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0375 +0.026250001 +0.01875 +0.0125 +0.0 +0.0 +0.02 +0.15125 +0.3375 +0.5175 +0.6374999 +0.695 +0.72375 +0.735 +0.71624994 +0.64625 +0.49624997 +0.28375 +0.091249995 +0.03 +0.0 +0.0 +0.00625 +0.058749996 +0.0775 +0.04 +0.01875 +0.0 +0.0 +0.0 +0.0 +0.015 +0.07625 +0.10875 +0.083749995 +0.042499997 +0.03625 +0.08875 +0.195 +0.31875002 +0.42125002 +0.49375 +0.555 +0.6575 +0.84625006 +1.12375 +1.4324999 +1.6825 +1.7837499 +1.6937499 +1.4000001 +1.03125 +0.6675 +0.39749998 +0.25125 +0.20374998 +0.19000001 +0.1625 +0.10625001 +0.0575 +0.035 +0.01125 +0.02 +0.057499997 +0.0775 +0.052500002 +0.0325 +0.01 +0.0 +0.0 +0.0 +0.09625 +0.17375 +0.2 +0.14 +0.0625 +0.03 +0.0 +0.07875 +0.24625 +0.46 +0.62625 +0.71750003 +0.75250006 +0.76625 +0.78125 +0.78375006 +0.73875004 +0.61749995 +0.41125 +0.19999999 +0.068749994 +0.0275 +0.0025 +0.082499996 +0.18375 +0.24875002 +0.19749999 +0.087500006 +0.0425 +0.00125 +0.0 +0.0 +0.05625 +0.15 +0.19125 +0.17375 +0.1175 +0.1025 +0.16375 +0.29625 +0.44625 +0.555 +0.60499996 +0.62625 +0.68499994 +0.83874995 +1.0925 +1.39625 +1.6500001 +1.75625 +1.6675 +1.4000001 +1.03125 +0.6675 +0.39749998 +0.25125 +0.20374998 +0.19000001 +0.1625 +0.10625001 +0.0575 +0.035 +0.01125 +0.02 +0.057499997 +0.0775 +0.052500002 +0.0325 +0.01 +0.0 +0.0 +0.0 +0.09625 +0.17375 +0.2 +0.14 +0.0625 +0.03 +0.0 +0.07875 +0.24625 +0.46 +0.62625 +0.71750003 +0.75250006 +0.76625 +0.78125 +0.78375006 +0.73875004 +0.61749995 +0.41125 +0.19999999 +0.068749994 +0.0275 +0.0025 +0.082499996 +0.18375 +0.24875002 +0.19749999 +0.087500006 +0.0425 +0.00125 +0.0 +0.0 +0.05625 +0.15 +0.19125 +0.17375 +0.1175 +0.1025 +0.16375 +0.29625 +0.44625 +0.555 +0.60499996 +0.62625 +0.68499994 +0.83874995 +1.0925 +1.39625 +1.6500001 +1.75625 +1.6675 +1.5175002 +1.14 +0.7724999 +0.50875 +0.38125002 +0.35999998 +0.36625 +0.33249998 +0.2525 +0.1575 +0.0975 +0.1 +0.17625 +0.28375 +0.32375002 +0.265 +0.16250001 +0.0725 +0.02625 +0.03125 +0.15125 +0.35125 +0.52000004 +0.53375006 +0.40750003 +0.24125 +0.14 +0.1425 +0.27125 +0.48874998 +0.70875 +0.86249995 +0.935 +0.9537501 +0.96000004 +0.97375005 +0.98875 +0.965 +0.86125 +0.66749996 +0.42374998 +0.22000001 +0.123749994 +0.14875 +0.28625 +0.45749998 +0.54375005 +0.47624996 +0.2975 +0.13624999 +0.0575 +0.015 +0.0625 +0.1925 +0.33624998 +0.40125 +0.35999998 +0.2775 +0.245 +0.30999997 +0.46 +0.625 +0.745 +0.78999996 +0.79125 +0.82375 +0.95500004 +1.1937499 +1.4925 +1.755 +1.8725002 +1.7875 +1.5175002 +1.14 +0.7724999 +0.50875 +0.38125002 +0.35999998 +0.36625 +0.33249998 +0.2525 +0.1575 +0.0975 +0.1 +0.17625 +0.28375 +0.32375002 +0.265 +0.16250001 +0.0725 +0.02625 +0.03125 +0.15125 +0.35125 +0.52000004 +0.53375006 +0.40750003 +0.24125 +0.14 +0.1425 +0.27125 +0.48874998 +0.70875 +0.86249995 +0.935 +0.9537501 +0.96000004 +0.97375005 +0.98875 +0.965 +0.86125 +0.66749996 +0.42374998 +0.22000001 +0.123749994 +0.14875 +0.28625 +0.45749998 +0.54375005 +0.47624996 +0.2975 +0.13624999 +0.0575 +0.015 +0.0625 +0.1925 +0.33624998 +0.40125 +0.35999998 +0.2775 +0.245 +0.30999997 +0.46 +0.625 +0.745 +0.78999996 +0.79125 +0.82375 +0.95500004 +1.1937499 +1.4925 +1.755 +1.8725002 +1.7875 +1.70875 +1.3325001 +0.96500003 +0.70750004 +0.59375 +0.58875 +0.60875 +0.57875 +0.48 +0.35625002 +0.28625003 +0.325 +0.4625 +0.62 +0.70125 +0.64125 +0.46374997 +0.26999998 +0.18374999 +0.255 +0.45874998 +0.70125 +0.855 +0.8474999 +0.69125 +0.48749995 +0.34750003 +0.345 +0.4825 +0.69624996 +0.90875 +1.055 +1.1175001 +1.1275 +1.1275 +1.14125 +1.16 +1.145 +1.0537499 +0.87 +0.63124996 +0.4125 +0.295 +0.32875 +0.48625 +0.675 +0.7875 +0.74625 +0.56 +0.32375 +0.16125001 +0.13250001 +0.24875 +0.45 +0.62125003 +0.675 +0.61249995 +0.50125 +0.43999997 +0.48874998 +0.64 +0.8225 +0.95875 +1.0125 +1.01125 +1.0275 +1.135 +1.3600001 +1.65375 +1.92125 +2.0487502 +1.9749999 +1.70875 +1.3325001 +0.96500003 +0.70750004 +0.59375 +0.58875 +0.60875 +0.57875 +0.48 +0.35625002 +0.28625003 +0.325 +0.4625 +0.62 +0.70125 +0.64125 +0.46374997 +0.26999998 +0.18374999 +0.255 +0.45874998 +0.70125 +0.855 +0.8474999 +0.69125 +0.48749995 +0.34750003 +0.345 +0.4825 +0.69624996 +0.90875 +1.055 +1.1175001 +1.1275 +1.1275 +1.14125 +1.16 +1.145 +1.0537499 +0.87 +0.63124996 +0.4125 +0.295 +0.32875 +0.48625 +0.675 +0.7875 +0.74625 +0.56 +0.32375 +0.16125001 +0.13250001 +0.24875 +0.45 +0.62125003 +0.675 +0.61249995 +0.50125 +0.43999997 +0.48874998 +0.64 +0.8225 +0.95875 +1.0125 +1.01125 +1.0275 +1.135 +1.3600001 +1.65375 +1.92125 +2.0487502 +1.9749999 +1.8475 +1.4825001 +1.1324999 +0.89375 +0.80625 +0.82374996 +0.85625005 +0.82625 +0.71875 +0.59 +0.52625 +0.5875 +0.75874996 +0.94874996 +1.0425 +0.975 +0.77625 +0.54625 +0.41750002 +0.45874998 +0.64000005 +0.8575 +0.98 +0.9387499 +0.755 +0.52625 +0.36749998 +0.35500002 +0.48625 +0.69375 +0.90000004 +1.0362501 +1.0925 +1.09625 +1.09 +1.1 +1.1187501 +1.11 +1.03 +0.85875 +0.62750006 +0.4075 +0.28375 +0.30749997 +0.465 +0.6725 +0.82124996 +0.82125 +0.66875 +0.44750002 +0.28500003 +0.275 +0.43 +0.6725 +0.88125 +0.96124995 +0.90125 +0.76875 +0.6725 +0.68999994 +0.825 +1.0124999 +1.16375 +1.2275 +1.2199999 +1.2124999 +1.28625 +1.4787499 +1.76 +2.025 +2.1637502 +2.10375 +1.8475 +1.4825001 +1.1324999 +0.89375 +0.80625 +0.82374996 +0.85625005 +0.82625 +0.71875 +0.59 +0.52625 +0.5875 +0.75874996 +0.94874996 +1.0425 +0.975 +0.77625 +0.54625 +0.41750002 +0.45874998 +0.64000005 +0.8575 +0.98 +0.9387499 +0.755 +0.52625 +0.36749998 +0.35500002 +0.48625 +0.69375 +0.90000004 +1.0362501 +1.0925 +1.09625 +1.09 +1.1 +1.1187501 +1.11 +1.03 +0.85875 +0.62750006 +0.4075 +0.28375 +0.30749997 +0.465 +0.6725 +0.82124996 +0.82125 +0.66875 +0.44750002 +0.28500003 +0.275 +0.43 +0.6725 +0.88125 +0.96124995 +0.90125 +0.76875 +0.6725 +0.68999994 +0.825 +1.0124999 +1.16375 +1.2275 +1.2199999 +1.2124999 +1.28625 +1.4787499 +1.76 +2.025 +2.1637502 +2.10375 +1.8375 +1.4975001 +1.17875 +0.985 +0.94125 +0.99625003 +1.0512499 +1.0274999 +0.91625005 +0.785 +0.73125005 +0.81125003 +1.0025 +1.19375 +1.265 +1.14625 +0.87874997 +0.5775 +0.385 +0.3775 +0.525 +0.71000004 +0.8025 +0.73375005 +0.52874994 +0.295 +0.16499999 +0.16250001 +0.26875 +0.45874998 +0.63124996 +0.75625 +0.80375004 +0.795 +0.78249997 +0.78874993 +0.8075 +0.80875003 +0.75 +0.60375 +0.39124998 +0.1975 +0.1025 +0.12375 +0.23875 +0.44875 +0.6075 +0.65125 +0.5425 +0.35750002 +0.22375 +0.2525 +0.46625 +0.7900001 +1.0875 +1.23875 +1.2149999 +1.07875 +0.9475 +0.91749996 +1.015 +1.1825 +1.3275 +1.385 +1.3525 +1.30125 +1.3224999 +1.46625 +1.71375 +1.97125 +2.1150002 +2.07 +1.8375 +1.4975001 +1.17875 +0.985 +0.94125 +0.99625003 +1.0512499 +1.0274999 +0.91625005 +0.785 +0.73125005 +0.81125003 +1.0025 +1.19375 +1.265 +1.14625 +0.87874997 +0.5775 +0.385 +0.3775 +0.525 +0.71000004 +0.8025 +0.73375005 +0.52874994 +0.295 +0.16499999 +0.16250001 +0.26875 +0.45874998 +0.63124996 +0.75625 +0.80375004 +0.795 +0.78249997 +0.78874993 +0.8075 +0.80875003 +0.75 +0.60375 +0.39124998 +0.1975 +0.1025 +0.12375 +0.23875 +0.44875 +0.6075 +0.65125 +0.5425 +0.35750002 +0.22375 +0.2525 +0.46625 +0.7900001 +1.0875 +1.23875 +1.2149999 +1.07875 +0.9475 +0.91749996 +1.015 +1.1825 +1.3275 +1.385 +1.3525 +1.30125 +1.3224999 +1.46625 +1.71375 +1.97125 +2.1150002 +2.07 +1.66 +1.35375 +1.0799999 +0.9425 +0.96125 +1.06875 +1.16125 +1.15625 +1.05375 +0.93249995 +0.89375 +0.99625 +1.1949999 +1.3687501 +1.3825 +1.1725 +0.7925 +0.39375 +0.18125 +0.135 +0.22874999 +0.3675 +0.41625 +0.3275 +0.17125 +0.0375 +0.0 +0.00875 +0.055 +0.15375 +0.2625 +0.3375 +0.35125 +0.32875 +0.30875 +0.3125 +0.34624997 +0.3675 +0.34375 +0.23750001 +0.099999994 +0.01625 +0.0 +0.0025 +0.048750002 +0.16375 +0.32375002 +0.36624998 +0.2875 +0.1525 +0.07125 +0.15124999 +0.45000002 +0.8575 +1.2725 +1.54 +1.5849999 +1.4587499 +1.2824999 +1.1850001 +1.2125001 +1.3275001 +1.43625 +1.4575 +1.37625 +1.26125 +1.21125 +1.29625 +1.50375 +1.7462502 +1.8975 +1.8687499 +1.66 +1.35375 +1.0799999 +0.9425 +0.96125 +1.06875 +1.16125 +1.15625 +1.05375 +0.93249995 +0.89375 +0.99625 +1.1949999 +1.3687501 +1.3825 +1.1725 +0.7925 +0.39375 +0.18125 +0.135 +0.22874999 +0.3675 +0.41625 +0.3275 +0.17125 +0.0375 +0.0 +0.00875 +0.055 +0.15375 +0.2625 +0.3375 +0.35125 +0.32875 +0.30875 +0.3125 +0.34624997 +0.3675 +0.34375 +0.23750001 +0.099999994 +0.01625 +0.0 +0.0025 +0.048750002 +0.16375 +0.32375002 +0.36624998 +0.2875 +0.1525 +0.07125 +0.15124999 +0.45000002 +0.8575 +1.2725 +1.54 +1.5849999 +1.4587499 +1.2824999 +1.1850001 +1.2125001 +1.3275001 +1.43625 +1.4575 +1.37625 +1.26125 +1.21125 +1.29625 +1.50375 +1.7462502 +1.8975 +1.8687499 +1.395 +1.115 +0.88250005 +0.79499996 +0.87499994 +1.04 +1.18 +1.21 +1.1374999 +1.04625 +1.04625 +1.1850001 +1.3987501 +1.54875 +1.49125 +1.17 +0.66125005 +0.22999999 +0.0425 +0.0 +0.02375 +0.075 +0.0925 +0.04125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.02375 +0.04625 +0.04375 +0.02125 +0.01 +0.02125 +0.04875 +0.07749999 +0.08125 +0.03625 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0325 +0.13000001 +0.18875 +0.1225 +0.033749998 +0.01875 +0.122499995 +0.45875 +0.98 +1.5112499 +1.91125 +2.03375 +1.91625 +1.6862499 +1.4925001 +1.4187499 +1.44625 +1.4850001 +1.4437499 +1.29625 +1.10875 +0.9875001 +1.0162499 +1.19375 +1.4300001 +1.59375 +1.58375 +1.395 +1.115 +0.88250005 +0.79499996 +0.87499994 +1.04 +1.18 +1.21 +1.1374999 +1.04625 +1.04625 +1.1850001 +1.3987501 +1.54875 +1.49125 +1.17 +0.66125005 +0.22999999 +0.0425 +0.0 +0.02375 +0.075 +0.0925 +0.04125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.02375 +0.04625 +0.04375 +0.02125 +0.01 +0.02125 +0.04875 +0.07749999 +0.08125 +0.03625 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0325 +0.13000001 +0.18875 +0.1225 +0.033749998 +0.01875 +0.122499995 +0.45875 +0.98 +1.5112499 +1.91125 +2.03375 +1.91625 +1.6862499 +1.4925001 +1.4187499 +1.44625 +1.4850001 +1.4437499 +1.29625 +1.10875 +0.9875001 +1.0162499 +1.19375 +1.4300001 +1.59375 +1.58375 +1.15625 +0.885 +0.6675 +0.60875 +0.73 +0.945 +1.1325 +1.21 +1.18625 +1.15625 +1.2262502 +1.4275 +1.6800001 +1.8225 +1.70625 +1.28375 +0.6775 +0.225 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.01875 +0.065 +0.06625 +0.03375 +0.00375 +0.0 +0.0 +0.0 +0.0475 +0.16125 +0.21124999 +0.1525 +0.060000002 +0.055 +0.175 +0.57375 +1.1824999 +1.8499999 +2.365 +2.5537498 +2.43 +2.12625 +1.8200002 +1.6225 +1.53875 +1.485 +1.36875 +1.1524999 +0.90375 +0.73125 +0.72625 +0.89375 +1.1424999 +1.3262501 +1.3325 +1.15625 +0.885 +0.6675 +0.60875 +0.73 +0.945 +1.1325 +1.21 +1.18625 +1.15625 +1.2262502 +1.4275 +1.6800001 +1.8225 +1.70625 +1.28375 +0.6775 +0.225 +0.06 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.01875 +0.065 +0.06625 +0.03375 +0.00375 +0.0 +0.0 +0.0 +0.0475 +0.16125 +0.21124999 +0.1525 +0.060000002 +0.055 +0.175 +0.57375 +1.1824999 +1.8499999 +2.365 +2.5537498 +2.43 +2.12625 +1.8200002 +1.6225 +1.53875 +1.485 +1.36875 +1.1524999 +0.90375 +0.73125 +0.72625 +0.89375 +1.1424999 +1.3262501 +1.3325 +1.0199999 +0.73625 +0.505 +0.4475 +0.5825 +0.8275 +1.0575001 +1.1875 +1.23 +1.28625 +1.45125 +1.7462499 +2.0675 +2.2324998 +2.08375 +1.5899999 +0.895 +0.31375 +0.1025 +0.005 +0.0 +0.0475 +0.105000004 +0.1125 +0.06125 +0.03625 +0.0 +0.0 +0.015 +0.08125 +0.14625 +0.15875 +0.11874999 +0.05875 +0.01625 +0.0075 +0.057499997 +0.16 +0.2775 +0.34375 +0.28375 +0.17624998 +0.09 +0.0325 +0.07875 +0.2125 +0.37125 +0.48250002 +0.42625 +0.27375004 +0.18625 +0.3125 +0.755 +1.44875 +2.2387497 +2.8325 +3.0625 +2.91875 +2.5375 +2.1150002 +1.7925 +1.5962499 +1.4525 +1.26375 +0.995 +0.705 +0.51 +0.50249994 +0.69000006 +0.96750003 +1.1775 +1.2 +1.0199999 +0.73625 +0.505 +0.4475 +0.5825 +0.8275 +1.0575001 +1.1875 +1.23 +1.28625 +1.45125 +1.7462499 +2.0675 +2.2324998 +2.08375 +1.5899999 +0.895 +0.31375 +0.1025 +0.005 +0.0 +0.0475 +0.105000004 +0.1125 +0.06125 +0.03625 +0.0 +0.0 +0.015 +0.08125 +0.14625 +0.15875 +0.11874999 +0.05875 +0.01625 +0.0075 +0.057499997 +0.16 +0.2775 +0.34375 +0.28375 +0.17624998 +0.09 +0.0325 +0.07875 +0.2125 +0.37125 +0.48250002 +0.42625 +0.27375004 +0.18625 +0.3125 +0.755 +1.44875 +2.2387497 +2.8325 +3.0625 +2.91875 +2.5375 +2.1150002 +1.7925 +1.5962499 +1.4525 +1.26375 +0.995 +0.705 +0.51 +0.50249994 +0.69000006 +0.96750003 +1.1775 +1.2 +0.98875 +0.6787499 +0.41875 +0.34 +0.47375 +0.73375005 +0.99749994 +1.1775001 +1.2937499 +1.4412501 +1.7112501 +2.1112502 +2.5162501 +2.725 +2.57625 +2.04125 +1.2700001 +0.56375 +0.17625 +0.06875 +0.12375 +0.2975 +0.43875 +0.40999997 +0.2775 +0.16499999 +0.11375 +0.13250001 +0.255 +0.4425 +0.5625 +0.545 +0.41749996 +0.25625 +0.16125 +0.1675 +0.27875 +0.47500002 +0.675 +0.77875 +0.73749995 +0.5749999 +0.385 +0.28 +0.335 +0.52750003 +0.74625 +0.85625005 +0.78 +0.57375 +0.41625002 +0.50625 +0.95625 +1.7075 +2.54 +3.17875 +3.4250002 +3.26 +2.8187501 +2.305 +1.8887501 +1.6112499 +1.4037501 +1.17 +0.8725 +0.56624997 +0.37125 +0.38 +0.5975 +0.91 +1.1487501 +1.18 +0.98875 +0.6787499 +0.41875 +0.34 +0.47375 +0.73375005 +0.99749994 +1.1775001 +1.2937499 +1.4412501 +1.7112501 +2.1112502 +2.5162501 +2.725 +2.57625 +2.04125 +1.2700001 +0.56375 +0.17625 +0.06875 +0.12375 +0.2975 +0.43875 +0.40999997 +0.2775 +0.16499999 +0.11375 +0.13250001 +0.255 +0.4425 +0.5625 +0.545 +0.41749996 +0.25625 +0.16125 +0.1675 +0.27875 +0.47500002 +0.675 +0.77875 +0.73749995 +0.5749999 +0.385 +0.28 +0.335 +0.52750003 +0.74625 +0.85625005 +0.78 +0.57375 +0.41625002 +0.50625 +0.95625 +1.7075 +2.54 +3.17875 +3.4250002 +3.26 +2.8187501 +2.305 +1.8887501 +1.6112499 +1.4037501 +1.17 +0.8725 +0.56624997 +0.37125 +0.38 +0.5975 +0.91 +1.1487501 +1.18 +1.0125 +0.68125 +0.39625 +0.2975 +0.42375 +0.69124997 +0.97875 +1.20375 +1.3812499 +1.6075 +1.9662501 +2.45125 +2.9275 +3.1812499 +3.04375 +2.495 +1.6925001 +0.91 +0.4 +0.26 +0.41875 +0.67875 +0.83875 +0.80625004 +0.62625 +0.43375 +0.35875002 +0.44875 +0.65 +0.85625 +0.95875 +0.915 +0.75125 +0.55 +0.41250002 +0.40250003 +0.52750003 +0.73875 +0.9475 +1.06125 +1.0237501 +0.85625 +0.65125 +0.52875006 +0.5675 +0.74875 +0.96250004 +1.0625 +0.96875 +0.735 +0.53999996 +0.595 +1.02125 +1.7700001 +2.61 +3.2637503 +3.52375 +3.3525002 +2.88625 +2.3425 +1.8912501 +1.5825 +1.3525 +1.10875 +0.80499995 +0.50375 +0.3175 +0.3425 +0.58625 +0.92125 +1.1775 +1.21375 +1.0125 +0.68125 +0.39625 +0.2975 +0.42375 +0.69124997 +0.97875 +1.20375 +1.3812499 +1.6075 +1.9662501 +2.45125 +2.9275 +3.1812499 +3.04375 +2.495 +1.6925001 +0.91 +0.4 +0.26 +0.41875 +0.67875 +0.83875 +0.80625004 +0.62625 +0.43375 +0.35875002 +0.44875 +0.65 +0.85625 +0.95875 +0.915 +0.75125 +0.55 +0.41250002 +0.40250003 +0.52750003 +0.73875 +0.9475 +1.06125 +1.0237501 +0.85625 +0.65125 +0.52875006 +0.5675 +0.74875 +0.96250004 +1.0625 +0.96875 +0.735 +0.53999996 +0.595 +1.02125 +1.7700001 +2.61 +3.2637503 +3.52375 +3.3525002 +2.88625 +2.3425 +1.8912501 +1.5825 +1.3525 +1.10875 +0.80499995 +0.50375 +0.3175 +0.3425 +0.58625 +0.92125 +1.1775 +1.21375 +1.035 +0.70125 +0.41250002 +0.3125 +0.43875 +0.71625 +1.02125 +1.27375 +1.4875 +1.755 +2.1575 +2.685 +3.1937501 +3.46875 +3.3449998 +2.79125 +1.975 +1.1725 +0.63624996 +0.47749996 +0.62125 +0.86875 +1.0200001 +0.97875 +0.7925 +0.59375 +0.5125 +0.59625006 +0.79499996 +0.99 +1.0799999 +1.015 +0.8325 +0.61375004 +0.45749998 +0.4275 +0.53375 +0.72624993 +0.91875005 +1.01625 +0.96500003 +0.78749996 +0.575 +0.445 +0.47625 +0.65 +0.85499996 +0.95 +0.84875 +0.60125005 +0.38875 +0.4225 +0.82500005 +1.55125 +2.3825 +3.0375001 +3.3062496 +3.1575 +2.7237499 +2.21125 +1.79375 +1.51375 +1.3149999 +1.0925 +0.8075 +0.51125 +0.33124998 +0.36124998 +0.605 +0.94500005 +1.2012501 +1.23875 +1.035 +0.70125 +0.41250002 +0.3125 +0.43875 +0.71625 +1.02125 +1.27375 +1.4875 +1.755 +2.1575 +2.685 +3.1937501 +3.46875 +3.3449998 +2.79125 +1.975 +1.1725 +0.63624996 +0.47749996 +0.62125 +0.86875 +1.0200001 +0.97875 +0.7925 +0.59375 +0.5125 +0.59625006 +0.79499996 +0.99 +1.0799999 +1.015 +0.8325 +0.61375004 +0.45749998 +0.4275 +0.53375 +0.72624993 +0.91875005 +1.01625 +0.96500003 +0.78749996 +0.575 +0.445 +0.47625 +0.65 +0.85499996 +0.95 +0.84875 +0.60125005 +0.38875 +0.4225 +0.82500005 +1.55125 +2.3825 +3.0375001 +3.3062496 +3.1575 +2.7237499 +2.21125 +1.79375 +1.51375 +1.3149999 +1.0925 +0.8075 +0.51125 +0.33124998 +0.36124998 +0.605 +0.94500005 +1.2012501 +1.23875 +1.05125 +0.73625 +0.46875 +0.38875002 +0.53 +0.81624997 +1.1274999 +1.3825 +1.595 +1.8525001 +2.24125 +2.74875 +3.24375 +3.5175 +3.39125 +2.845 +2.0325 +1.22125 +0.66249996 +0.46875 +0.60875 +0.80875003 +0.9175001 +0.86125 +0.66 +0.4475 +0.35375 +0.44625 +0.62624997 +0.78749996 +0.87125003 +0.8075 +0.6275 +0.41125003 +0.26125002 +0.22875 +0.30875 +0.45624998 +0.59624994 +0.65875 +0.585 +0.39875 +0.23875 +0.14125 +0.17500001 +0.295 +0.46875 +0.56125 +0.46249998 +0.26 +0.114999995 +0.1425 +0.47000003 +1.13125 +1.93125 +2.5675 +2.84875 +2.7425 +2.37625 +1.9512501 +1.62375 +1.4275 +1.295 +1.1212499 +0.865 +0.5825 +0.39999998 +0.41875002 +0.64250004 +0.9625 +1.2075 +1.24375 +1.05125 +0.73625 +0.46875 +0.38875002 +0.53 +0.81624997 +1.1274999 +1.3825 +1.595 +1.8525001 +2.24125 +2.74875 +3.24375 +3.5175 +3.39125 +2.845 +2.0325 +1.22125 +0.66249996 +0.46875 +0.60875 +0.80875003 +0.9175001 +0.86125 +0.66 +0.4475 +0.35375 +0.44625 +0.62624997 +0.78749996 +0.87125003 +0.8075 +0.6275 +0.41125003 +0.26125002 +0.22875 +0.30875 +0.45624998 +0.59624994 +0.65875 +0.585 +0.39875 +0.23875 +0.14125 +0.17500001 +0.295 +0.46875 +0.56125 +0.46249998 +0.26 +0.114999995 +0.1425 +0.47000003 +1.13125 +1.93125 +2.5675 +2.84875 +2.7425 +2.37625 +1.9512501 +1.62375 +1.4275 +1.295 +1.1212499 +0.865 +0.5825 +0.39999998 +0.41875002 +0.64250004 +0.9625 +1.2075 +1.24375 +1.1075 +0.8274999 +0.59499997 +0.54 +0.6925 +0.98 +1.2787501 +1.51 +1.6799998 +1.88125 +2.19875 +2.6325002 +3.07 +3.315 +3.1949997 +2.6775002 +1.8962499 +1.1 +0.53125 +0.3475 +0.435 +0.59749997 +0.65999997 +0.5575 +0.35625002 +0.1875 +0.12375 +0.1775 +0.30875 +0.45000002 +0.505 +0.4375 +0.2875 +0.135 +0.0525 +0.0425 +0.0775 +0.14500001 +0.20875 +0.21375 +0.14875 +0.0475 +0.0 +0.0 +0.0 +0.037499998 +0.12125 +0.1575 +0.0925 +0.0175 +0.0 +0.02 +0.18125 +0.72625 +1.44 +2.0349998 +2.3087502 +2.24 +1.955 +1.6387501 +1.4262501 +1.3399999 +1.2900001 +1.17875 +0.96125 +0.6975 +0.515 +0.5175 +0.71374995 +1.0074999 +1.2375 +1.27625 +1.1075 +0.8274999 +0.59499997 +0.54 +0.6925 +0.98 +1.2787501 +1.51 +1.6799998 +1.88125 +2.19875 +2.6325002 +3.07 +3.315 +3.1949997 +2.6775002 +1.8962499 +1.1 +0.53125 +0.3475 +0.435 +0.59749997 +0.65999997 +0.5575 +0.35625002 +0.1875 +0.12375 +0.1775 +0.30875 +0.45000002 +0.505 +0.4375 +0.2875 +0.135 +0.0525 +0.0425 +0.0775 +0.14500001 +0.20875 +0.21375 +0.14875 +0.0475 +0.0 +0.0 +0.0 +0.037499998 +0.12125 +0.1575 +0.0925 +0.0175 +0.0 +0.02 +0.18125 +0.72625 +1.44 +2.0349998 +2.3087502 +2.24 +1.955 +1.6387501 +1.4262501 +1.3399999 +1.2900001 +1.17875 +0.96125 +0.6975 +0.515 +0.5175 +0.71374995 +1.0074999 +1.2375 +1.27625 +1.255 +1.0124999 +0.81125 +0.77125 +0.91625005 +1.1775 +1.4425 +1.6212499 +1.72375 +1.83125 +2.03875 +2.3675 +2.7225 +2.93125 +2.8312502 +2.375 +1.6674999 +0.93 +0.39499998 +0.2175 +0.25875 +0.36624998 +0.40874997 +0.3 +0.13 +0.0175 +0.0025 +0.028749999 +0.07875 +0.14375 +0.19500001 +0.16625 +0.07375 +0.0075 +0.0 +0.0 +0.0 +0.00125 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0675 +0.48375002 +1.09875 +1.6175001 +1.8475001 +1.79125 +1.5675 +1.3475001 +1.24375 +1.2524999 +1.2825 +1.2299999 +1.05625 +0.82374996 +0.65749997 +0.66125 +0.84625 +1.1237501 +1.34625 +1.3975 +1.255 +1.0124999 +0.81125 +0.77125 +0.91625005 +1.1775 +1.4425 +1.6212499 +1.72375 +1.83125 +2.03875 +2.3675 +2.7225 +2.93125 +2.8312502 +2.375 +1.6674999 +0.93 +0.39499998 +0.2175 +0.25875 +0.36624998 +0.40874997 +0.3 +0.13 +0.0175 +0.0025 +0.028749999 +0.07875 +0.14375 +0.19500001 +0.16625 +0.07375 +0.0075 +0.0 +0.0 +0.0 +0.00125 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0675 +0.48375002 +1.09875 +1.6175001 +1.8475001 +1.79125 +1.5675 +1.3475001 +1.24375 +1.2524999 +1.2825 +1.2299999 +1.05625 +0.82374996 +0.65749997 +0.66125 +0.84625 +1.1237501 +1.34625 +1.3975 +1.4975 +1.28125 +1.095 +1.0425 +1.155 +1.36875 +1.5725 +1.685 +1.7062501 +1.71 +1.79625 +2.0049999 +2.2725 +2.4525 +2.3937502 +2.0325 +1.4425 +0.8037499 +0.33500004 +0.16125 +0.185 +0.26749998 +0.29875 +0.2125 +0.07375 +0.0 +0.0 +0.0 +0.00875 +0.03875 +0.09375 +0.1 +0.07125 +0.0425 +0.02 +0.01 +0.0175 +0.02875 +0.035 +0.0225 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04375 +0.07375 +0.07 +0.035 +0.0 +0.0 +0.10874999 +0.47625 +0.99750006 +1.4025002 +1.5587502 +1.4762499 +1.27875 +1.12 +1.0875 +1.1624999 +1.24875 +1.24 +1.10875 +0.91875005 +0.79 +0.82000005 +1.0225 +1.30625 +1.54 +1.61125 +1.4975 +1.28125 +1.095 +1.0425 +1.155 +1.36875 +1.5725 +1.685 +1.7062501 +1.71 +1.79625 +2.0049999 +2.2725 +2.4525 +2.3937502 +2.0325 +1.4425 +0.8037499 +0.33500004 +0.16125 +0.185 +0.26749998 +0.29875 +0.2125 +0.07375 +0.0 +0.0 +0.0 +0.00875 +0.03875 +0.09375 +0.1 +0.07125 +0.0425 +0.02 +0.01 +0.0175 +0.02875 +0.035 +0.0225 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04375 +0.07375 +0.07 +0.035 +0.0 +0.0 +0.10874999 +0.47625 +0.99750006 +1.4025002 +1.5587502 +1.4762499 +1.27875 +1.12 +1.0875 +1.1624999 +1.24875 +1.24 +1.10875 +0.91875005 +0.79 +0.82000005 +1.0225 +1.30625 +1.54 +1.61125 +1.7724999 +1.57125 +1.37625 +1.29 +1.3475001 +1.4950001 +1.6325 +1.67875 +1.6225002 +1.5325 +1.50375 +1.6 +1.79 +1.9499999 +1.94625 +1.7025001 +1.255 +0.74375 +0.34999996 +0.18625 +0.21124999 +0.32874998 +0.41625002 +0.36625 +0.2075 +0.072500005 +0.01375 +0.0 +0.00375 +0.0925 +0.20875001 +0.3075 +0.33625004 +0.3025 +0.26 +0.24375 +0.2575 +0.28625 +0.285 +0.22875 +0.14875 +0.06625 +0.0125 +0.0 +0.02875 +0.13374999 +0.28375 +0.39749998 +0.365 +0.23875 +0.13499999 +0.13 +0.29250002 +0.65125 +1.07 +1.35375 +1.41625 +1.28375 +1.08125 +0.94249994 +0.9412501 +1.0425 +1.1512499 +1.17 +1.07625 +0.935 +0.86125004 +0.94 +1.1800001 +1.4975001 +1.7575 +1.8575 +1.7724999 +1.57125 +1.37625 +1.29 +1.3475001 +1.4950001 +1.6325 +1.67875 +1.6225002 +1.5325 +1.50375 +1.6 +1.79 +1.9499999 +1.94625 +1.7025001 +1.255 +0.74375 +0.34999996 +0.18625 +0.21124999 +0.32874998 +0.41625002 +0.36625 +0.2075 +0.072500005 +0.01375 +0.0 +0.00375 +0.0925 +0.20875001 +0.3075 +0.33625004 +0.3025 +0.26 +0.24375 +0.2575 +0.28625 +0.285 +0.22875 +0.14875 +0.06625 +0.0125 +0.0 +0.02875 +0.13374999 +0.28375 +0.39749998 +0.365 +0.23875 +0.13499999 +0.13 +0.29250002 +0.65125 +1.07 +1.35375 +1.41625 +1.28375 +1.08125 +0.94249994 +0.9412501 +1.0425 +1.1512499 +1.17 +1.07625 +0.935 +0.86125004 +0.94 +1.1800001 +1.4975001 +1.7575 +1.8575 +1.9749999 +1.7837499 +1.5725 +1.44375 +1.44 +1.5200001 +1.5987501 +1.59375 +1.485 +1.3262501 +1.2099999 +1.2124999 +1.3299999 +1.475 +1.5224999 +1.3887501 +1.07875 +0.69375 +0.38875002 +0.26624998 +0.33124998 +0.495 +0.62375003 +0.6175 +0.46500003 +0.25875 +0.120000005 +0.075 +0.1275 +0.29500002 +0.51 +0.6725 +0.75 +0.75624996 +0.73125 +0.71375 +0.7225 +0.74 +0.72625005 +0.64125 +0.48 +0.28625 +0.155 +0.13875 +0.24000001 +0.45749998 +0.69874996 +0.82874995 +0.79249996 +0.625 +0.45 +0.40125 +0.545 +0.8375 +1.14625 +1.3275001 +1.3100001 +1.1287501 +0.90875006 +0.77125 +0.76875 +0.87 +0.97625 +1.0025 +0.93500006 +0.83750004 +0.8175 +0.95374995 +1.245 +1.60375 +1.9 +2.0349998 +1.9749999 +1.7837499 +1.5725 +1.44375 +1.44 +1.5200001 +1.5987501 +1.59375 +1.485 +1.3262501 +1.2099999 +1.2124999 +1.3299999 +1.475 +1.5224999 +1.3887501 +1.07875 +0.69375 +0.38875002 +0.26624998 +0.33124998 +0.495 +0.62375003 +0.6175 +0.46500003 +0.25875 +0.120000005 +0.075 +0.1275 +0.29500002 +0.51 +0.6725 +0.75 +0.75624996 +0.73125 +0.71375 +0.7225 +0.74 +0.72625005 +0.64125 +0.48 +0.28625 +0.155 +0.13875 +0.24000001 +0.45749998 +0.69874996 +0.82874995 +0.79249996 +0.625 +0.45 +0.40125 +0.545 +0.8375 +1.14625 +1.3275001 +1.3100001 +1.1287501 +0.90875006 +0.77125 +0.76875 +0.87 +0.97625 +1.0025 +0.93500006 +0.83750004 +0.8175 +0.95374995 +1.245 +1.60375 +1.9 +2.0349998 +2.0337498 +1.8574998 +1.6325 +1.4675 +1.41 +1.44 +1.48125 +1.4525001 +1.32125 +1.12375 +0.95125 +0.88250005 +0.9375 +1.0600001 +1.13875 +1.0812501 +0.8725 +0.58625 +0.35 +0.27 +0.36624998 +0.5675 +0.745 +0.79499996 +0.68874997 +0.48874998 +0.30374998 +0.23375 +0.31875002 +0.5225 +0.76375 +0.96500003 +1.07625 +1.10125 +1.0812501 +1.05875 +1.05875 +1.0662501 +1.04375 +0.95000005 +0.7775 +0.57125 +0.40750003 +0.36875 +0.48624998 +0.715 +0.94499993 +1.06 +1.0037501 +0.8125 +0.60375 +0.51374996 +0.60124993 +0.8225 +1.0600001 +1.18125 +1.1212502 +0.92375 +0.69875 +0.5575 +0.54875 +0.63374996 +0.72625 +0.75000006 +0.69625 +0.63125 +0.655 +0.83375 +1.16125 +1.55625 +1.8899999 +2.0625 +2.0337498 +1.8574998 +1.6325 +1.4675 +1.41 +1.44 +1.48125 +1.4525001 +1.32125 +1.12375 +0.95125 +0.88250005 +0.9375 +1.0600001 +1.13875 +1.0812501 +0.8725 +0.58625 +0.35 +0.27 +0.36624998 +0.5675 +0.745 +0.79499996 +0.68874997 +0.48874998 +0.30374998 +0.23375 +0.31875002 +0.5225 +0.76375 +0.96500003 +1.07625 +1.10125 +1.0812501 +1.05875 +1.05875 +1.0662501 +1.04375 +0.95000005 +0.7775 +0.57125 +0.40750003 +0.36875 +0.48624998 +0.715 +0.94499993 +1.06 +1.0037501 +0.8125 +0.60375 +0.51374996 +0.60124993 +0.8225 +1.0600001 +1.18125 +1.1212502 +0.92375 +0.69875 +0.5575 +0.54875 +0.63374996 +0.72625 +0.75000006 +0.69625 +0.63125 +0.655 +0.83375 +1.16125 +1.55625 +1.8899999 +2.0625 +1.95125 +1.7975001 +1.5775 +1.3912501 +1.3000001 +1.2987499 +1.32125 +1.29 +1.1625 +0.9575 +0.75625 +0.63875 +0.64625 +0.74000007 +0.82124996 +0.7987499 +0.64000005 +0.405 +0.2075 +0.14250001 +0.25625 +0.4725 +0.69 +0.78999996 +0.72875005 +0.5525 +0.37125 +0.28625 +0.35749996 +0.56125 +0.81875 +1.04 +1.175 +1.2125 +1.1899999 +1.15625 +1.1437501 +1.14125 +1.1125 +1.0124999 +0.83374995 +0.61375 +0.4375 +0.37999997 +0.48000002 +0.68625 +0.8937501 +0.98375 +0.90125 +0.68375003 +0.44875 +0.32250002 +0.37875 +0.55625 +0.76125 +0.87125 +0.81624997 +0.635 +0.42875 +0.29874998 +0.28625 +0.35999998 +0.43875003 +0.45625 +0.41 +0.36875 +0.41625 +0.61125 +0.95750004 +1.37375 +1.7375001 +1.9425001 +1.95125 +1.7975001 +1.5775 +1.3912501 +1.3000001 +1.2987499 +1.32125 +1.29 +1.1625 +0.9575 +0.75625 +0.63875 +0.64625 +0.74000007 +0.82124996 +0.7987499 +0.64000005 +0.405 +0.2075 +0.14250001 +0.25625 +0.4725 +0.69 +0.78999996 +0.72875005 +0.5525 +0.37125 +0.28625 +0.35749996 +0.56125 +0.81875 +1.04 +1.175 +1.2125 +1.1899999 +1.15625 +1.1437501 +1.14125 +1.1125 +1.0124999 +0.83374995 +0.61375 +0.4375 +0.37999997 +0.48000002 +0.68625 +0.8937501 +0.98375 +0.90125 +0.68375003 +0.44875 +0.32250002 +0.37875 +0.55625 +0.76125 +0.87125 +0.81624997 +0.635 +0.42875 +0.29874998 +0.28625 +0.35999998 +0.43875003 +0.45625 +0.41 +0.36875 +0.41625 +0.61125 +0.95750004 +1.37375 +1.7375001 +1.9425001 +1.8199999 +1.69875 +1.49375 +1.2974999 +1.18625 +1.16375 +1.1774999 +1.15375 +1.0425 +0.85125005 +0.645 +0.50625 +0.48125 +0.53999996 +0.6075 +0.58625 +0.44124997 +0.22999999 +0.083749995 +0.04125 +0.11375 +0.30125 +0.49624997 +0.6275 +0.59749997 +0.4425 +0.26125 +0.16874999 +0.23250002 +0.41625 +0.67375004 +0.90999997 +1.06375 +1.1125 +1.09 +1.05 +1.0250001 +1.00875 +0.96999997 +0.86375 +0.67875 +0.45125 +0.2625 +0.1925 +0.2725 +0.43625 +0.61875 +0.68625003 +0.585 +0.35750002 +0.14125 +0.07375 +0.1075 +0.21499999 +0.375 +0.475 +0.455 +0.31625 +0.16375001 +0.07125001 +0.0625 +0.10999999 +0.17750001 +0.19749999 +0.175 +0.155 +0.20624998 +0.385 +0.7312499 +1.1524999 +1.5337499 +1.7724999 +1.8199999 +1.69875 +1.49375 +1.2974999 +1.18625 +1.16375 +1.1774999 +1.15375 +1.0425 +0.85125005 +0.645 +0.50625 +0.48125 +0.53999996 +0.6075 +0.58625 +0.44124997 +0.22999999 +0.083749995 +0.04125 +0.11375 +0.30125 +0.49624997 +0.6275 +0.59749997 +0.4425 +0.26125 +0.16874999 +0.23250002 +0.41625 +0.67375004 +0.90999997 +1.06375 +1.1125 +1.09 +1.05 +1.0250001 +1.00875 +0.96999997 +0.86375 +0.67875 +0.45125 +0.2625 +0.1925 +0.2725 +0.43625 +0.61875 +0.68625003 +0.585 +0.35750002 +0.14125 +0.07375 +0.1075 +0.21499999 +0.375 +0.475 +0.455 +0.31625 +0.16375001 +0.07125001 +0.0625 +0.10999999 +0.17750001 +0.19749999 +0.175 +0.155 +0.20624998 +0.385 +0.7312499 +1.1524999 +1.5337499 +1.7724999 +1.75875 +1.67125 +1.4812499 +1.2825 +1.1475 +1.09875 +1.09375 +1.06875 +0.9725 +0.8025 +0.61125 +0.48499998 +0.45625 +0.495 +0.52750003 +0.49125 +0.34250003 +0.17750001 +0.06375 +0.026250001 +0.057499997 +0.16624999 +0.34375 +0.4425 +0.42375 +0.27875 +0.13375 +0.06625 +0.10125 +0.24874999 +0.47750002 +0.7175 +0.88874996 +0.95625 +0.94499993 +0.90374994 +0.86375 +0.83250004 +0.77750003 +0.65999997 +0.46875 +0.245 +0.081250004 +0.035 +0.07625 +0.1825 +0.31499997 +0.3625 +0.26749998 +0.087500006 +0.0 +0.0 +0.0 +0.025 +0.095 +0.17124999 +0.17125 +0.09625 +0.01375 +0.0 +0.0 +0.00125 +0.025 +0.057499997 +0.06375 +0.06125 +0.09625 +0.255 +0.59375 +1.0125 +1.40625 +1.6737499 +1.75875 +1.67125 +1.4812499 +1.2825 +1.1475 +1.09875 +1.09375 +1.06875 +0.9725 +0.8025 +0.61125 +0.48499998 +0.45625 +0.495 +0.52750003 +0.49125 +0.34250003 +0.17750001 +0.06375 +0.026250001 +0.057499997 +0.16624999 +0.34375 +0.4425 +0.42375 +0.27875 +0.13375 +0.06625 +0.10125 +0.24874999 +0.47750002 +0.7175 +0.88874996 +0.95625 +0.94499993 +0.90374994 +0.86375 +0.83250004 +0.77750003 +0.65999997 +0.46875 +0.245 +0.081250004 +0.035 +0.07625 +0.1825 +0.31499997 +0.3625 +0.26749998 +0.087500006 +0.0 +0.0 +0.0 +0.025 +0.095 +0.17124999 +0.17125 +0.09625 +0.01375 +0.0 +0.0 +0.00125 +0.025 +0.057499997 +0.06375 +0.06125 +0.09625 +0.255 +0.59375 +1.0125 +1.40625 +1.6737499 +1.8387501 +1.77875 +1.6 +1.3874999 +1.21875 +1.1275 +1.0875 +1.04125 +0.94375 +0.79375 +0.63 +0.53249997 +0.50875 +0.54125 +0.56375 +0.51374996 +0.36749998 +0.21375 +0.1125 +0.067499995 +0.0875 +0.15375 +0.28375 +0.37125 +0.33874997 +0.21000001 +0.10625 +0.06 +0.0725 +0.175 +0.38375005 +0.62375 +0.8175 +0.9125 +0.92125 +0.88375 +0.83125 +0.7725 +0.69375 +0.55875 +0.35999998 +0.15125 +0.03125 +0.0 +0.01375 +0.0625 +0.14999999 +0.19375 +0.12875 +0.04375 +0.0 +0.0 +0.0 +0.0 +0.01625 +0.061249997 +0.0725 +0.042499997 +0.01 +0.0 +0.0 +0.0 +0.0 +0.01875 +0.0325 +0.04625 +0.09625 +0.28124997 +0.61875 +1.03375 +1.4337502 +1.72375 +1.8387501 +1.77875 +1.6 +1.3874999 +1.21875 +1.1275 +1.0875 +1.04125 +0.94375 +0.79375 +0.63 +0.53249997 +0.50875 +0.54125 +0.56375 +0.51374996 +0.36749998 +0.21375 +0.1125 +0.067499995 +0.0875 +0.15375 +0.28375 +0.37125 +0.33874997 +0.21000001 +0.10625 +0.06 +0.0725 +0.175 +0.38375005 +0.62375 +0.8175 +0.9125 +0.92125 +0.88375 +0.83125 +0.7725 +0.69375 +0.55875 +0.35999998 +0.15125 +0.03125 +0.0 +0.01375 +0.0625 +0.14999999 +0.19375 +0.12875 +0.04375 +0.0 +0.0 +0.0 +0.0 +0.01625 +0.061249997 +0.0725 +0.042499997 +0.01 +0.0 +0.0 +0.0 +0.0 +0.01875 +0.0325 +0.04625 +0.09625 +0.28124997 +0.61875 +1.03375 +1.4337502 +1.72375 +2.03125 +1.9849999 +1.8087499 +1.57875 +1.37125 +1.22625 +1.13 +1.0450001 +0.9325 +0.79249996 +0.66 +0.5875 +0.58 +0.6125 +0.63374996 +0.58624995 +0.44125 +0.28249997 +0.18625 +0.14625001 +0.1625 +0.23875001 +0.3475 +0.4225 +0.39624998 +0.2725 +0.16125 +0.12 +0.14 +0.2525 +0.455 +0.71875 +0.9325 +1.0575 +1.0925 +1.06125 +0.995 +0.9075 +0.78999996 +0.6275 +0.41625 +0.1975 +0.060000002 +0.02 +0.0275 +0.072500005 +0.16125 +0.21875 +0.1975 +0.10124999 +0.045 +0.02375 +0.01125 +0.01375 +0.04875 +0.10625 +0.125 +0.10125 +0.055 +0.02375 +0.00875 +0.0 +0.0 +0.02 +0.05625 +0.103750005 +0.22 +0.4525 +0.79249996 +1.2012501 +1.6 +1.8975 +2.03125 +1.9849999 +1.8087499 +1.57875 +1.37125 +1.22625 +1.13 +1.0450001 +0.9325 +0.79249996 +0.66 +0.5875 +0.58 +0.6125 +0.63374996 +0.58624995 +0.44125 +0.28249997 +0.18625 +0.14625001 +0.1625 +0.23875001 +0.3475 +0.4225 +0.39624998 +0.2725 +0.16125 +0.12 +0.14 +0.2525 +0.455 +0.71875 +0.9325 +1.0575 +1.0925 +1.06125 +0.995 +0.9075 +0.78999996 +0.6275 +0.41625 +0.1975 +0.060000002 +0.02 +0.0275 +0.072500005 +0.16125 +0.21875 +0.1975 +0.10124999 +0.045 +0.02375 +0.01125 +0.01375 +0.04875 +0.10625 +0.125 +0.10125 +0.055 +0.02375 +0.00875 +0.0 +0.0 +0.02 +0.05625 +0.103750005 +0.22 +0.4525 +0.79249996 +1.2012501 +1.6 +1.8975 +2.22625 +2.1875 +2.0125 +1.7675 +1.5275 +1.3287501 +1.175 +1.0425 +0.9075 +0.76875 +0.65875 +0.605 +0.60875005 +0.64625 +0.66625 +0.61375 +0.47875 +0.32125 +0.23500001 +0.2125 +0.25500003 +0.3525 +0.48125002 +0.5575 +0.53 +0.4275 +0.31374997 +0.2625 +0.3075 +0.46125 +0.7025 +0.96375006 +1.1899999 +1.34125 +1.4025 +1.3812499 +1.3025 +1.18 +1.02 +0.82374996 +0.59875005 +0.3675 +0.19 +0.099999994 +0.088750005 +0.145 +0.2575 +0.36125 +0.37875 +0.29874998 +0.18375 +0.105000004 +0.08 +0.09375 +0.14625001 +0.21125 +0.25375 +0.2375 +0.16874999 +0.0975 +0.04875 +0.02625 +0.03125 +0.0775 +0.155 +0.26874998 +0.43875 +0.68749994 +1.025 +1.42 +1.80375 +2.0925 +2.22625 +2.1875 +2.0125 +1.7675 +1.5275 +1.3287501 +1.175 +1.0425 +0.9075 +0.76875 +0.65875 +0.605 +0.60875005 +0.64625 +0.66625 +0.61375 +0.47875 +0.32125 +0.23500001 +0.2125 +0.25500003 +0.3525 +0.48125002 +0.5575 +0.53 +0.4275 +0.31374997 +0.2625 +0.3075 +0.46125 +0.7025 +0.96375006 +1.1899999 +1.34125 +1.4025 +1.3812499 +1.3025 +1.18 +1.02 +0.82374996 +0.59875005 +0.3675 +0.19 +0.099999994 +0.088750005 +0.145 +0.2575 +0.36125 +0.37875 +0.29874998 +0.18375 +0.105000004 +0.08 +0.09375 +0.14625001 +0.21125 +0.25375 +0.2375 +0.16874999 +0.0975 +0.04875 +0.02625 +0.03125 +0.0775 +0.155 +0.26874998 +0.43875 +0.68749994 +1.025 +1.42 +1.80375 +2.0925 +2.31375 +2.2762501 +2.10625 +1.8612499 +1.60375 +1.3725001 +1.17625 +1.0062499 +0.84875005 +0.71375 +0.61875 +0.58124995 +0.59 +0.61125 +0.59875 +0.52375 +0.39499998 +0.275 +0.21499999 +0.22125 +0.30125 +0.43875003 +0.5725 +0.6375 +0.62375 +0.56 +0.50125 +0.4975 +0.58 +0.74875003 +0.98125005 +1.2325 +1.4625 +1.6324998 +1.7212499 +1.7137501 +1.62625 +1.4737501 +1.275 +1.0487499 +0.81125 +0.5825 +0.3875 +0.25875002 +0.215 +0.2625 +0.36875 +0.47375 +0.525 +0.49 +0.38 +0.2525 +0.18 +0.17375 +0.21875 +0.295 +0.35999998 +0.37375 +0.31875 +0.23250002 +0.1575 +0.11875 +0.12375 +0.1875 +0.30125 +0.45 +0.64250004 +0.89750004 +1.21875 +1.58 +1.92875 +2.1924999 +2.31375 +2.2762501 +2.10625 +1.8612499 +1.60375 +1.3725001 +1.17625 +1.0062499 +0.84875005 +0.71375 +0.61875 +0.58124995 +0.59 +0.61125 +0.59875 +0.52375 +0.39499998 +0.275 +0.21499999 +0.22125 +0.30125 +0.43875003 +0.5725 +0.6375 +0.62375 +0.56 +0.50125 +0.4975 +0.58 +0.74875003 +0.98125005 +1.2325 +1.4625 +1.6324998 +1.7212499 +1.7137501 +1.62625 +1.4737501 +1.275 +1.0487499 +0.81125 +0.5825 +0.3875 +0.25875002 +0.215 +0.2625 +0.36875 +0.47375 +0.525 +0.49 +0.38 +0.2525 +0.18 +0.17375 +0.21875 +0.295 +0.35999998 +0.37375 +0.31875 +0.23250002 +0.1575 +0.11875 +0.12375 +0.1875 +0.30125 +0.45 +0.64250004 +0.89750004 +1.21875 +1.58 +1.92875 +2.1924999 +2.25 +2.21 +2.05125 +1.8212501 +1.5687499 +1.33125 +1.1162499 +0.92625 +0.7575 +0.63 +0.54875004 +0.52 +0.51750004 +0.50374997 +0.4425 +0.33000004 +0.21375 +0.13624999 +0.11375 +0.14625 +0.255 +0.405 +0.5325 +0.59125 +0.59749997 +0.58000004 +0.5825 +0.64125 +0.76125 +0.94124997 +1.1625 +1.40125 +1.6287501 +1.81375 +1.92875 +1.9449999 +1.8625 +1.69625 +1.4737501 +1.22625 +0.98125005 +0.755 +0.56125 +0.41500002 +0.335 +0.32999998 +0.3875 +0.4725 +0.53375 +0.52625 +0.44375002 +0.30999997 +0.20124999 +0.16499999 +0.1825 +0.25875002 +0.3425 +0.40499997 +0.40625 +0.3525 +0.27625 +0.22500001 +0.23 +0.3 +0.42375 +0.58875 +0.7875 +1.03125 +1.3199999 +1.6349999 +1.9300001 +2.15375 +2.25 +2.21 +2.05125 +1.8212501 +1.5687499 +1.33125 +1.1162499 +0.92625 +0.7575 +0.63 +0.54875004 +0.52 +0.51750004 +0.50374997 +0.4425 +0.33000004 +0.21375 +0.13624999 +0.11375 +0.14625 +0.255 +0.405 +0.5325 +0.59125 +0.59749997 +0.58000004 +0.5825 +0.64125 +0.76125 +0.94124997 +1.1625 +1.40125 +1.6287501 +1.81375 +1.92875 +1.9449999 +1.8625 +1.69625 +1.4737501 +1.22625 +0.98125005 +0.755 +0.56125 +0.41500002 +0.335 +0.32999998 +0.3875 +0.4725 +0.53375 +0.52625 +0.44375002 +0.30999997 +0.20124999 +0.16499999 +0.1825 +0.25875002 +0.3425 +0.40499997 +0.40625 +0.3525 +0.27625 +0.22500001 +0.23 +0.3 +0.42375 +0.58875 +0.7875 +1.03125 +1.3199999 +1.6349999 +1.9300001 +2.15375 +2.09 +2.03875 +1.8912499 +1.6825 +1.4525001 +1.2237499 +1.0099999 +0.82 +0.65624994 +0.53749996 +0.47 +0.44625 +0.43125 +0.38375002 +0.27875 +0.14 +0.044999998 +0.01875 +0.02125 +0.05 +0.13 +0.2725 +0.39625 +0.4525 +0.46875 +0.485 +0.53875 +0.645 +0.7975 +0.98499995 +1.1975 +1.4224999 +1.6474999 +1.85 +1.9925001 +2.0425 +1.9825001 +1.8225 +1.59625 +1.345 +1.09875 +0.8775 +0.6825 +0.51625 +0.39624998 +0.33499998 +0.33749998 +0.38 +0.42499998 +0.42125002 +0.34625 +0.215 +0.1175 +0.067499995 +0.07 +0.1125 +0.22 +0.32874998 +0.39625 +0.39375 +0.35 +0.3075 +0.31375 +0.3825 +0.51 +0.67749995 +0.87375003 +1.09875 +1.3499999 +1.6137501 +1.8525 +2.0237498 +2.09 +2.03875 +1.8912499 +1.6825 +1.4525001 +1.2237499 +1.0099999 +0.82 +0.65624994 +0.53749996 +0.47 +0.44625 +0.43125 +0.38375002 +0.27875 +0.14 +0.044999998 +0.01875 +0.02125 +0.05 +0.13 +0.2725 +0.39625 +0.4525 +0.46875 +0.485 +0.53875 +0.645 +0.7975 +0.98499995 +1.1975 +1.4224999 +1.6474999 +1.85 +1.9925001 +2.0425 +1.9825001 +1.8225 +1.59625 +1.345 +1.09875 +0.8775 +0.6825 +0.51625 +0.39624998 +0.33499998 +0.33749998 +0.38 +0.42499998 +0.42125002 +0.34625 +0.215 +0.1175 +0.067499995 +0.07 +0.1125 +0.22 +0.32874998 +0.39625 +0.39375 +0.35 +0.3075 +0.31375 +0.3825 +0.51 +0.67749995 +0.87375003 +1.09875 +1.3499999 +1.6137501 +1.8525 +2.0237498 +1.94875 +1.8800001 +1.7287501 +1.5274999 +1.3125 +1.09875 +0.89624995 +0.7125 +0.56 +0.45499998 +0.4025 +0.39125 +0.38000003 +0.31875002 +0.1875 +0.049999997 +0.0 +0.0 +0.0 +0.00375 +0.0475 +0.16375001 +0.2775 +0.325 +0.3375 +0.36124998 +0.43 +0.5575 +0.72375 +0.9125001 +1.1175001 +1.3325001 +1.56 +1.78125 +1.9587501 +2.0525002 +2.0275002 +1.8975 +1.6875 +1.4437501 +1.20375 +0.985 +0.78875 +0.6075 +0.4525 +0.34375 +0.29375 +0.2975 +0.31500003 +0.29874998 +0.215 +0.095 +0.0175 +0.0 +0.0 +0.015 +0.083749995 +0.21625 +0.33749998 +0.38125002 +0.3725 +0.35125 +0.36874998 +0.44750002 +0.57875 +0.74875 +0.9425 +1.1525 +1.37625 +1.5975 +1.79125 +1.9187499 +1.94875 +1.8800001 +1.7287501 +1.5274999 +1.3125 +1.09875 +0.89624995 +0.7125 +0.56 +0.45499998 +0.4025 +0.39125 +0.38000003 +0.31875002 +0.1875 +0.049999997 +0.0 +0.0 +0.0 +0.00375 +0.0475 +0.16375001 +0.2775 +0.325 +0.3375 +0.36124998 +0.43 +0.5575 +0.72375 +0.9125001 +1.1175001 +1.3325001 +1.56 +1.78125 +1.9587501 +2.0525002 +2.0275002 +1.8975 +1.6875 +1.4437501 +1.20375 +0.985 +0.78875 +0.6075 +0.4525 +0.34375 +0.29375 +0.2975 +0.31500003 +0.29874998 +0.215 +0.095 +0.0175 +0.0 +0.0 +0.015 +0.083749995 +0.21625 +0.33749998 +0.38125002 +0.3725 +0.35125 +0.36874998 +0.44750002 +0.57875 +0.74875 +0.9425 +1.1525 +1.37625 +1.5975 +1.79125 +1.9187499 +1.6375 +1.4499999 +1.2562499 +1.0612501 +0.87125 +0.6925 +0.54 +0.43249995 +0.37125 +0.33749998 +0.29375002 +0.20625 +0.09375001 +0.043750003 +0.03 +0.0075 +0.0 +0.0025 +0.05125 +0.17 +0.25625 +0.29625 +0.33499998 +0.37875003 +0.45875 +0.5775 +0.72625 +0.895 +1.0762501 +1.2712499 +1.4712498 +1.6625 +1.80875 +1.8825002 +1.8687501 +1.7712501 +1.62 +1.4387499 +1.2475 +1.05625 +0.86875004 +0.69374996 +0.545 +0.4425 +0.38625002 +0.35500002 +0.31125003 +0.21875 +0.1 +0.05 +0.03375 +0.0075 +0.0 +0.0025 +0.0475 +0.16125 +0.24375 +0.28125 +0.3175 +0.365 +0.45000002 +0.575 +0.73 +0.9025 +1.0875001 +1.2874999 +1.49125 +1.68375 +1.835 +1.9112501 +1.895 +1.79375 +1.6375 +1.4499999 +1.2562499 +1.0612501 +0.87125 +0.6925 +0.54 +0.43249995 +0.37125 +0.33749998 +0.29375002 +0.20625 +0.09375001 +0.043750003 +0.03 +0.0075 +0.0 +0.0025 +0.05125 +0.17 +0.25625 +0.29625 +0.33499998 +0.37875003 +0.45875 +0.5775 +0.72625 +0.895 +1.0762501 +1.2712499 +1.4712498 +1.6625 +1.80875 +1.8825002 +1.8687501 +1.7712501 +1.62 +1.4387499 +1.2475 +1.05625 +0.86875004 +0.69374996 +0.545 +0.4425 +0.38625002 +0.35500002 +0.31125003 +0.21875 +0.1 +0.05 +0.03375 +0.0075 +0.0 +0.0025 +0.0475 +0.16125 +0.24375 +0.28125 +0.3175 +0.365 +0.45000002 +0.575 +0.73 +0.9025 +1.0875001 +1.2874999 +1.49125 +1.68375 +1.835 +1.9112501 +1.895 +1.79375 +1.67875 +1.4674999 +1.2475 +1.0324999 +0.83 +0.64375 +0.4875 +0.37625 +0.315 +0.29 +0.26624998 +0.20875001 +0.118750006 +0.04375 +0.03125 +0.0175 +0.0 +0.00875 +0.09 +0.2125 +0.295 +0.33875 +0.36 +0.38125 +0.43625003 +0.53 +0.66375 +0.82625 +1.01375 +1.21625 +1.4250001 +1.6212499 +1.77 +1.8475001 +1.8412501 +1.75125 +1.60125 +1.415 +1.2162501 +1.0125 +0.82000005 +0.64750004 +0.51375 +0.43125004 +0.3925 +0.37875 +0.34375 +0.2575 +0.13874999 +0.06375 +0.0425 +0.0175 +0.0 +0.00625 +0.07625 +0.17125 +0.23000002 +0.2625 +0.28375 +0.32874998 +0.41375002 +0.5425 +0.7025 +0.88500005 +1.085 +1.30375 +1.53125 +1.74625 +1.9099998 +1.9925 +1.9725001 +1.86 +1.67875 +1.4674999 +1.2475 +1.0324999 +0.83 +0.64375 +0.4875 +0.37625 +0.315 +0.29 +0.26624998 +0.20875001 +0.118750006 +0.04375 +0.03125 +0.0175 +0.0 +0.00875 +0.09 +0.2125 +0.295 +0.33875 +0.36 +0.38125 +0.43625003 +0.53 +0.66375 +0.82625 +1.01375 +1.21625 +1.4250001 +1.6212499 +1.77 +1.8475001 +1.8412501 +1.75125 +1.60125 +1.415 +1.2162501 +1.0125 +0.82000005 +0.64750004 +0.51375 +0.43125004 +0.3925 +0.37875 +0.34375 +0.2575 +0.13874999 +0.06375 +0.0425 +0.0175 +0.0 +0.00625 +0.07625 +0.17125 +0.23000002 +0.2625 +0.28375 +0.32874998 +0.41375002 +0.5425 +0.7025 +0.88500005 +1.085 +1.30375 +1.53125 +1.74625 +1.9099998 +1.9925 +1.9725001 +1.86 +1.7025 +1.4449999 +1.1875 +0.94875 +0.73249996 +0.53874993 +0.38 +0.2675 +0.20875001 +0.2 +0.20875001 +0.19749999 +0.14125 +0.06875001 +0.02875 +0.02375 +0.01 +0.02 +0.12125 +0.25125003 +0.33499998 +0.365 +0.35875002 +0.34 +0.35 +0.405 +0.51375 +0.67125 +0.86499995 +1.0825 +1.30125 +1.5025 +1.65625 +1.7412499 +1.7437499 +1.6600001 +1.51625 +1.325 +1.1125001 +0.89250004 +0.69124997 +0.52875 +0.42499998 +0.38 +0.37875003 +0.38875002 +0.3675 +0.28250003 +0.15875001 +0.07125 +0.03875 +0.01375 +0.0 +0.0375 +0.11999999 +0.18624999 +0.2125 +0.2175 +0.22625 +0.2675 +0.3575 +0.48999998 +0.65875 +0.85125005 +1.06875 +1.31375 +1.5762501 +1.82375 +2.01375 +2.10125 +2.06625 +1.9225 +1.7025 +1.4449999 +1.1875 +0.94875 +0.73249996 +0.53874993 +0.38 +0.2675 +0.20875001 +0.2 +0.20875001 +0.19749999 +0.14125 +0.06875001 +0.02875 +0.02375 +0.01 +0.02 +0.12125 +0.25125003 +0.33499998 +0.365 +0.35875002 +0.34 +0.35 +0.405 +0.51375 +0.67125 +0.86499995 +1.0825 +1.30125 +1.5025 +1.65625 +1.7412499 +1.7437499 +1.6600001 +1.51625 +1.325 +1.1125001 +0.89250004 +0.69124997 +0.52875 +0.42499998 +0.38 +0.37875003 +0.38875002 +0.3675 +0.28250003 +0.15875001 +0.07125 +0.03875 +0.01375 +0.0 +0.0375 +0.11999999 +0.18624999 +0.2125 +0.2175 +0.22625 +0.2675 +0.3575 +0.48999998 +0.65875 +0.85125005 +1.06875 +1.31375 +1.5762501 +1.82375 +2.01375 +2.10125 +2.06625 +1.9225 +1.63625 +1.335 +1.0475 +0.79499996 +0.57625 +0.39 +0.2375 +0.14 +0.0975 +0.08875 +0.10875 +0.14250001 +0.135 +0.08 +0.030000001 +0.02125 +0.01 +0.02 +0.08125 +0.205 +0.29749998 +0.3125 +0.27625 +0.22125 +0.18125 +0.19624999 +0.27625 +0.42875 +0.63124996 +0.85749996 +1.08125 +1.28125 +1.43375 +1.51875 +1.53 +1.465 +1.3275 +1.13375 +0.90625 +0.6725 +0.465 +0.3175 +0.2475 +0.24875 +0.29125 +0.32875 +0.3125 +0.22625 +0.10875 +0.049999997 +0.01625 +0.0 +0.01375 +0.089999996 +0.16375001 +0.19125 +0.18 +0.16125001 +0.16375002 +0.20875001 +0.30875 +0.44624996 +0.60625005 +0.79375005 +1.0162499 +1.2787501 +1.5687499 +1.84375 +2.05125 +2.1399999 +2.0875 +1.9037501 +1.63625 +1.335 +1.0475 +0.79499996 +0.57625 +0.39 +0.2375 +0.14 +0.0975 +0.08875 +0.10875 +0.14250001 +0.135 +0.08 +0.030000001 +0.02125 +0.01 +0.02 +0.08125 +0.205 +0.29749998 +0.3125 +0.27625 +0.22125 +0.18125 +0.19624999 +0.27625 +0.42875 +0.63124996 +0.85749996 +1.08125 +1.28125 +1.43375 +1.51875 +1.53 +1.465 +1.3275 +1.13375 +0.90625 +0.6725 +0.465 +0.3175 +0.2475 +0.24875 +0.29125 +0.32875 +0.3125 +0.22625 +0.10875 +0.049999997 +0.01625 +0.0 +0.01375 +0.089999996 +0.16375001 +0.19125 +0.18 +0.16125001 +0.16375002 +0.20875001 +0.30875 +0.44624996 +0.60625005 +0.79375005 +1.0162499 +1.2787501 +1.5687499 +1.84375 +2.05125 +2.1399999 +2.0875 +1.9037501 +1.45875 +1.1287501 +0.8299999 +0.585 +0.39 +0.22749999 +0.11875 +0.0625 +0.035 +0.02 +0.02375 +0.056250002 +0.07375 +0.04125 +0.012499999 +0.00875 +0.00125 +0.0 +0.02375 +0.08375 +0.1625 +0.19375 +0.13875 +0.065 +0.028749999 +0.02 +0.07 +0.18499999 +0.39624998 +0.61375004 +0.80625 +0.98999995 +1.12625 +1.20625 +1.22625 +1.1775 +1.05625 +0.87 +0.63625 +0.39375 +0.20999998 +0.106249996 +0.0625 +0.1 +0.18749999 +0.23374999 +0.19625 +0.0925 +0.03625 +0.00625 +0.0 +0.0025 +0.03 +0.1225 +0.18624999 +0.1825 +0.14 +0.11500001 +0.12375 +0.19625 +0.31 +0.44 +0.57000005 +0.73 +0.93 +1.1825 +1.475 +1.75875 +1.97125 +2.0562499 +1.9825001 +1.7650001 +1.45875 +1.1287501 +0.8299999 +0.585 +0.39 +0.22749999 +0.11875 +0.0625 +0.035 +0.02 +0.02375 +0.056250002 +0.07375 +0.04125 +0.012499999 +0.00875 +0.00125 +0.0 +0.02375 +0.08375 +0.1625 +0.19375 +0.13875 +0.065 +0.028749999 +0.02 +0.07 +0.18499999 +0.39624998 +0.61375004 +0.80625 +0.98999995 +1.12625 +1.20625 +1.22625 +1.1775 +1.05625 +0.87 +0.63625 +0.39375 +0.20999998 +0.106249996 +0.0625 +0.1 +0.18749999 +0.23374999 +0.19625 +0.0925 +0.03625 +0.00625 +0.0 +0.0025 +0.03 +0.1225 +0.18624999 +0.1825 +0.14 +0.11500001 +0.12375 +0.19625 +0.31 +0.44 +0.57000005 +0.73 +0.93 +1.1825 +1.475 +1.75875 +1.97125 +2.0562499 +1.9825001 +1.7650001 +1.2225001 +0.88 +0.5875 +0.37 +0.21625 +0.11624999 +0.06375 +0.0425 +0.0325 +0.01875 +0.0 +0.00375 +0.0062499996 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0125 +0.041249998 +0.066250004 +0.035 +0.0075 +0.0025 +0.0 +0.005 +0.048750002 +0.20499998 +0.4175 +0.58875 +0.72875 +0.83875 +0.905 +0.92875 +0.9 +0.805 +0.635 +0.40625 +0.17750001 +0.0725 +0.02125 +0.0025 +0.02625 +0.0925 +0.13749999 +0.082499996 +0.0175 +0.0025 +0.0 +0.0 +0.00375 +0.03625 +0.13125 +0.19 +0.17375001 +0.125 +0.10250001 +0.14124998 +0.23875001 +0.36124998 +0.47250003 +0.56500006 +0.68125004 +0.83625 +1.0550001 +1.3262501 +1.6025001 +1.8087502 +1.885 +1.7924999 +1.5525 +1.2225001 +0.88 +0.5875 +0.37 +0.21625 +0.11624999 +0.06375 +0.0425 +0.0325 +0.01875 +0.0 +0.00375 +0.0062499996 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0125 +0.041249998 +0.066250004 +0.035 +0.0075 +0.0025 +0.0 +0.005 +0.048750002 +0.20499998 +0.4175 +0.58875 +0.72875 +0.83875 +0.905 +0.92875 +0.9 +0.805 +0.635 +0.40625 +0.17750001 +0.0725 +0.02125 +0.0025 +0.02625 +0.0925 +0.13749999 +0.082499996 +0.0175 +0.0025 +0.0 +0.0 +0.00375 +0.03625 +0.13125 +0.19 +0.17375001 +0.125 +0.10250001 +0.14124998 +0.23875001 +0.36124998 +0.47250003 +0.56500006 +0.68125004 +0.83625 +1.0550001 +1.3262501 +1.6025001 +1.8087502 +1.885 +1.7924999 +1.5525 +1.03125 +0.68625003 +0.4075 +0.22875 +0.13125 +0.08 +0.049999997 +0.04625 +0.04375 +0.0325 +0.01125 +0.0 +0.0 +0.0 +0.0 +0.00625 +0.00125 +0.0 +0.0 +0.0 +0.0075 +0.0475 +0.0325 +0.0 +0.01875 +0.0125 +0.0 +0.0225 +0.15875 +0.3425 +0.49125 +0.60999995 +0.69375 +0.7425 +0.76874995 +0.76124996 +0.69374996 +0.54625 +0.3325 +0.13 +0.06625 +0.03 +0.0 +0.0175 +0.096250005 +0.12875 +0.06875 +0.01375 +0.01875 +0.0 +0.0 +0.00375 +0.045 +0.15375 +0.20625 +0.18625 +0.13999999 +0.1375 +0.19874999 +0.32125002 +0.45499998 +0.5525 +0.6175 +0.68625 +0.78625 +0.95874995 +1.1987499 +1.45875 +1.65875 +1.7275 +1.6237499 +1.37 +1.03125 +0.68625003 +0.4075 +0.22875 +0.13125 +0.08 +0.049999997 +0.04625 +0.04375 +0.0325 +0.01125 +0.0 +0.0 +0.0 +0.0 +0.00625 +0.00125 +0.0 +0.0 +0.0 +0.0075 +0.0475 +0.0325 +0.0 +0.01875 +0.0125 +0.0 +0.0225 +0.15875 +0.3425 +0.49125 +0.60999995 +0.69375 +0.7425 +0.76874995 +0.76124996 +0.69374996 +0.54625 +0.3325 +0.13 +0.06625 +0.03 +0.0 +0.0175 +0.096250005 +0.12875 +0.06875 +0.01375 +0.01875 +0.0 +0.0 +0.00375 +0.045 +0.15375 +0.20625 +0.18625 +0.13999999 +0.1375 +0.19874999 +0.32125002 +0.45499998 +0.5525 +0.6175 +0.68625 +0.78625 +0.95874995 +1.1987499 +1.45875 +1.65875 +1.7275 +1.6237499 +1.37 +0.97374994 +0.625 +0.36124998 +0.21000001 +0.145 +0.11875 +0.0975 +0.072500005 +0.06875 +0.0575 +0.035 +0.02375 +0.0525 +0.0625 +0.0425 +0.03375 +0.0325 +0.01 +0.0 +0.0 +0.0975 +0.17875001 +0.1675 +0.1275 +0.076249994 +0.0575 +0.03 +0.08125 +0.2475 +0.43 +0.5875 +0.69 +0.74750006 +0.78499997 +0.81499994 +0.8225 +0.77875 +0.65749997 +0.45875 +0.245 +0.11125 +0.06625 +0.03875 +0.09625 +0.20875001 +0.25625002 +0.20750001 +0.105000004 +0.06375 +0.0425 +0.00125 +0.01 +0.1 +0.21875 +0.27249998 +0.2525 +0.225 +0.22749999 +0.29874998 +0.43124998 +0.5775 +0.68375 +0.74 +0.77125 +0.82875 +0.95875007 +1.1687499 +1.41125 +1.6112499 +1.68125 +1.57875 +1.3199999 +0.97374994 +0.625 +0.36124998 +0.21000001 +0.145 +0.11875 +0.0975 +0.072500005 +0.06875 +0.0575 +0.035 +0.02375 +0.0525 +0.0625 +0.0425 +0.03375 +0.0325 +0.01 +0.0 +0.0 +0.0975 +0.17875001 +0.1675 +0.1275 +0.076249994 +0.0575 +0.03 +0.08125 +0.2475 +0.43 +0.5875 +0.69 +0.74750006 +0.78499997 +0.81499994 +0.8225 +0.77875 +0.65749997 +0.45875 +0.245 +0.11125 +0.06625 +0.03875 +0.09625 +0.20875001 +0.25625002 +0.20750001 +0.105000004 +0.06375 +0.0425 +0.00125 +0.01 +0.1 +0.21875 +0.27249998 +0.2525 +0.225 +0.22749999 +0.29874998 +0.43124998 +0.5775 +0.68375 +0.74 +0.77125 +0.82875 +0.95875007 +1.1687499 +1.41125 +1.6112499 +1.68125 +1.57875 +1.3199999 +1.0675001 +0.71624994 +0.44875 +0.305 +0.26125 +0.2575 +0.23875001 +0.19125001 +0.14125 +0.1125 +0.1175 +0.17625 +0.27249998 +0.31125003 +0.26 +0.175 +0.106249996 +0.06375 +0.059999995 +0.15 +0.33375 +0.4775 +0.505 +0.41 +0.26874998 +0.17875 +0.17875001 +0.285 +0.47125 +0.66499996 +0.81500006 +0.90125 +0.9425 +0.97 +1.00125 +1.0175 +0.9899999 +0.88874996 +0.70375 +0.47125 +0.2725 +0.17125 +0.185 +0.2975 +0.4425 +0.5175 +0.46625 +0.31125 +0.1675 +0.0975 +0.0575 +0.0875 +0.2225 +0.35750002 +0.42874998 +0.41875005 +0.37374997 +0.36499998 +0.4375 +0.58375 +0.745 +0.86499995 +0.92125 +0.93249995 +0.9625 +1.0625 +1.25125 +1.48375 +1.68625 +1.7687501 +1.6750001 +1.4200001 +1.0675001 +0.71624994 +0.44875 +0.305 +0.26125 +0.2575 +0.23875001 +0.19125001 +0.14125 +0.1125 +0.1175 +0.17625 +0.27249998 +0.31125003 +0.26 +0.175 +0.106249996 +0.06375 +0.059999995 +0.15 +0.33375 +0.4775 +0.505 +0.41 +0.26874998 +0.17875 +0.17875001 +0.285 +0.47125 +0.66499996 +0.81500006 +0.90125 +0.9425 +0.97 +1.00125 +1.0175 +0.9899999 +0.88874996 +0.70375 +0.47125 +0.2725 +0.17125 +0.185 +0.2975 +0.4425 +0.5175 +0.46625 +0.31125 +0.1675 +0.0975 +0.0575 +0.0875 +0.2225 +0.35750002 +0.42874998 +0.41875005 +0.37374997 +0.36499998 +0.4375 +0.58375 +0.745 +0.86499995 +0.92125 +0.93249995 +0.9625 +1.0625 +1.25125 +1.48375 +1.68625 +1.7687501 +1.6750001 +1.4200001 +1.25 +0.8975 +0.6325 +0.5 +0.47499996 +0.49000004 +0.47750002 +0.41375 +0.33125 +0.29000002 +0.33624998 +0.46499997 +0.615 +0.69875 +0.65999997 +0.51375 +0.34 +0.24875 +0.29749998 +0.46999997 +0.68125 +0.8237499 +0.8325 +0.71000004 +0.53625 +0.405 +0.3875 +0.4925 +0.67375 +0.86125 +1.0025 +1.0799999 +1.1125 +1.13375 +1.1587499 +1.1775 +1.1625 +1.0699999 +0.89625 +0.67125005 +0.46000004 +0.33749998 +0.34375 +0.46749997 +0.62624997 +0.72375 +0.69875 +0.54625 +0.345 +0.19875 +0.16875 +0.26375002 +0.43875003 +0.60249996 +0.675 +0.65 +0.58125 +0.55 +0.6075 +0.75 +0.925 +1.065 +1.13125 +1.13875 +1.15 +1.225 +1.3912499 +1.615 +1.8225 +1.9200001 +1.8425001 +1.6 +1.25 +0.8975 +0.6325 +0.5 +0.47499996 +0.49000004 +0.47750002 +0.41375 +0.33125 +0.29000002 +0.33624998 +0.46499997 +0.615 +0.69875 +0.65999997 +0.51375 +0.34 +0.24875 +0.29749998 +0.46999997 +0.68125 +0.8237499 +0.8325 +0.71000004 +0.53625 +0.405 +0.3875 +0.4925 +0.67375 +0.86125 +1.0025 +1.0799999 +1.1125 +1.13375 +1.1587499 +1.1775 +1.1625 +1.0699999 +0.89625 +0.67125005 +0.46000004 +0.33749998 +0.34375 +0.46749997 +0.62624997 +0.72375 +0.69875 +0.54625 +0.345 +0.19875 +0.16875 +0.26375002 +0.43875003 +0.60249996 +0.675 +0.65 +0.58125 +0.55 +0.6075 +0.75 +0.925 +1.065 +1.13125 +1.13875 +1.15 +1.225 +1.3912499 +1.615 +1.8225 +1.9200001 +1.8425001 +1.6 +1.4037501 +1.06375 +0.81500006 +0.70375 +0.7025 +0.73749995 +0.7375 +0.67375004 +0.58625 +0.545 +0.60625 +0.765 +0.9475 +1.05625 +1.0225 +0.86375 +0.6625 +0.52875 +0.54125 +0.68125 +0.8625 +0.97875005 +0.95875 +0.80875 +0.60625 +0.45375 +0.41500002 +0.505 +0.67625 +0.85499996 +0.9925 +1.06375 +1.0875 +1.09875 +1.11625 +1.135 +1.12375 +1.0474999 +0.88874996 +0.67249995 +0.45875 +0.32375002 +0.3175 +0.43374997 +0.6075 +0.73875 +0.75624996 +0.64375 +0.46 +0.31625003 +0.29875 +0.42749998 +0.6425 +0.84625006 +0.95124996 +0.9375 +0.85875 +0.79375 +0.8175 +0.94000006 +1.11 +1.26 +1.335 +1.33875 +1.325 +1.365 +1.49625 +1.7024999 +1.91125 +2.0225 +1.9662502 +1.74 +1.4037501 +1.06375 +0.81500006 +0.70375 +0.7025 +0.73749995 +0.7375 +0.67375004 +0.58625 +0.545 +0.60625 +0.765 +0.9475 +1.05625 +1.0225 +0.86375 +0.6625 +0.52875 +0.54125 +0.68125 +0.8625 +0.97875005 +0.95875 +0.80875 +0.60625 +0.45375 +0.41500002 +0.505 +0.67625 +0.85499996 +0.9925 +1.06375 +1.0875 +1.09875 +1.11625 +1.135 +1.12375 +1.0474999 +0.88874996 +0.67249995 +0.45875 +0.32375002 +0.3175 +0.43374997 +0.6075 +0.73875 +0.75624996 +0.64375 +0.46 +0.31625003 +0.29875 +0.42749998 +0.6425 +0.84625006 +0.95124996 +0.9375 +0.85875 +0.79375 +0.8175 +0.94000006 +1.11 +1.26 +1.335 +1.33875 +1.325 +1.365 +1.49625 +1.7024999 +1.91125 +2.0225 +1.9662502 +1.74 +1.4412501 +1.13 +0.91875005 +0.84749997 +0.885 +0.94874996 +0.96125 +0.89750004 +0.80249995 +0.76000005 +0.8275 +1.0 +1.1912501 +1.28875 +1.2237501 +1.0124999 +0.74749994 +0.55125 +0.505 +0.60125 +0.75125 +0.84125 +0.7975 +0.62750006 +0.4075 +0.25375 +0.20374998 +0.29 +0.46375 +0.62375 +0.72875 +0.79125005 +0.80625 +0.805 +0.81374997 +0.83375 +0.83125 +0.77750003 +0.64875 +0.45499998 +0.25625002 +0.14500001 +0.12375 +0.21499999 +0.4125 +0.56749994 +0.61125 +0.54499996 +0.40375 +0.29250002 +0.3075 +0.49 +0.78125 +1.07375 +1.2612499 +1.295 +1.2175 +1.1212499 +1.09125 +1.1650001 +1.30625 +1.4375 +1.5 +1.48 +1.42375 +1.4100001 +1.49 +1.6624999 +1.8625 +1.9850001 +1.9525 +1.7500001 +1.4412501 +1.13 +0.91875005 +0.84749997 +0.885 +0.94874996 +0.96125 +0.89750004 +0.80249995 +0.76000005 +0.8275 +1.0 +1.1912501 +1.28875 +1.2237501 +1.0124999 +0.74749994 +0.55125 +0.505 +0.60125 +0.75125 +0.84125 +0.7975 +0.62750006 +0.4075 +0.25375 +0.20374998 +0.29 +0.46375 +0.62375 +0.72875 +0.79125005 +0.80625 +0.805 +0.81374997 +0.83375 +0.83125 +0.77750003 +0.64875 +0.45499998 +0.25625002 +0.14500001 +0.12375 +0.21499999 +0.4125 +0.56749994 +0.61125 +0.54499996 +0.40375 +0.29250002 +0.3075 +0.49 +0.78125 +1.07375 +1.2612499 +1.295 +1.2175 +1.1212499 +1.09125 +1.1650001 +1.30625 +1.4375 +1.5 +1.48 +1.42375 +1.4100001 +1.49 +1.6624999 +1.8625 +1.9850001 +1.9525 +1.7500001 +1.3462499 +1.075 +0.91249996 +0.895 +0.98375 +1.08625 +1.11875 +1.0600001 +0.96500003 +0.92125005 +0.99375004 +1.1637499 +1.34125 +1.4024999 +1.2687498 +0.96875 +0.60875005 +0.3525 +0.25250003 +0.29 +0.44125 +0.50875 +0.42874998 +0.265 +0.11 +0.0125 +0.0175 +0.07125001 +0.16375001 +0.27625 +0.36249998 +0.38 +0.36625004 +0.35250002 +0.35750002 +0.38500005 +0.41375002 +0.39624998 +0.31 +0.16499999 +0.04375 +0.0 +0.00625 +0.05 +0.16875 +0.35625 +0.43374997 +0.375 +0.2625 +0.1875 +0.25625002 +0.54125 +0.9512501 +1.3412501 +1.6324999 +1.7449999 +1.6875 +1.55125 +1.4475 +1.44 +1.5137501 +1.5925 +1.61125 +1.5387499 +1.41875 +1.33375 +1.35375 +1.485 +1.67 +1.8050001 +1.79625 +1.6225 +1.3462499 +1.075 +0.91249996 +0.895 +0.98375 +1.08625 +1.11875 +1.0600001 +0.96500003 +0.92125005 +0.99375004 +1.1637499 +1.34125 +1.4024999 +1.2687498 +0.96875 +0.60875005 +0.3525 +0.25250003 +0.29 +0.44125 +0.50875 +0.42874998 +0.265 +0.11 +0.0125 +0.0175 +0.07125001 +0.16375001 +0.27625 +0.36249998 +0.38 +0.36625004 +0.35250002 +0.35750002 +0.38500005 +0.41375002 +0.39624998 +0.31 +0.16499999 +0.04375 +0.0 +0.00625 +0.05 +0.16875 +0.35625 +0.43374997 +0.375 +0.2625 +0.1875 +0.25625002 +0.54125 +0.9512501 +1.3412501 +1.6324999 +1.7449999 +1.6875 +1.55125 +1.4475 +1.44 +1.5137501 +1.5925 +1.61125 +1.5387499 +1.41875 +1.33375 +1.35375 +1.485 +1.67 +1.8050001 +1.79625 +1.6225 +1.1825 +0.94499993 +0.8225 +0.85875 +0.99750006 +1.1412499 +1.2037499 +1.165 +1.0812501 +1.05125 +1.1400001 +1.31625 +1.4762499 +1.4825 +1.2687501 +0.8599999 +0.41250002 +0.16999999 +0.055 +0.0525 +0.11875 +0.1625 +0.1075 +0.02875 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0375 +0.068749994 +0.07625 +0.06 +0.04625 +0.0525 +0.0825 +0.12625 +0.16000001 +0.12625 +0.0475 +0.0 +0.0 +0.0 +0.01 +0.07125 +0.23124999 +0.3425 +0.32 +0.215 +0.16375001 +0.29375 +0.65 +1.1725 +1.6949999 +2.09125 +2.2925 +2.25375 +2.07 +1.8712502 +1.7487501 +1.71875 +1.7137499 +1.6600001 +1.5175 +1.325 +1.1687499 +1.13125 +1.23125 +1.4100001 +1.55875 +1.57625 +1.4325001 +1.1825 +0.94499993 +0.8225 +0.85875 +0.99750006 +1.1412499 +1.2037499 +1.165 +1.0812501 +1.05125 +1.1400001 +1.31625 +1.4762499 +1.4825 +1.2687501 +0.8599999 +0.41250002 +0.16999999 +0.055 +0.0525 +0.11875 +0.1625 +0.1075 +0.02875 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0375 +0.068749994 +0.07625 +0.06 +0.04625 +0.0525 +0.0825 +0.12625 +0.16000001 +0.12625 +0.0475 +0.0 +0.0 +0.0 +0.01 +0.07125 +0.23124999 +0.3425 +0.32 +0.215 +0.16375001 +0.29375 +0.65 +1.1725 +1.6949999 +2.09125 +2.2925 +2.25375 +2.07 +1.8712502 +1.7487501 +1.71875 +1.7137499 +1.6600001 +1.5175 +1.325 +1.1687499 +1.13125 +1.23125 +1.4100001 +1.55875 +1.57625 +1.4325001 +1.0437499 +0.81625 +0.715 +0.78 +0.9549999 +1.1375 +1.23625 +1.23 +1.185 +1.1987499 +1.33 +1.5375 +1.6962501 +1.66625 +1.3725 +0.86625 +0.38250002 +0.17875 +0.06 +0.0 +0.005 +0.005 +0.0 +0.0025 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.0 +0.0025 +0.0 +0.0 +0.01125 +0.073750004 +0.1525 +0.17499998 +0.121249996 +0.051250003 +0.01875 +0.005 +0.028749999 +0.1375 +0.31375 +0.4375 +0.43124998 +0.33749998 +0.285 +0.42875 +0.8399999 +1.4525001 +2.08875 +2.6100001 +2.8874998 +2.8587499 +2.61375 +2.305 +2.0549998 +1.9025 +1.7975 +1.6562501 +1.4412501 +1.185 +0.9775 +0.90624994 +0.99749994 +1.1875 +1.36 +1.4050001 +1.28 +1.0437499 +0.81625 +0.715 +0.78 +0.9549999 +1.1375 +1.23625 +1.23 +1.185 +1.1987499 +1.33 +1.5375 +1.6962501 +1.66625 +1.3725 +0.86625 +0.38250002 +0.17875 +0.06 +0.0 +0.005 +0.005 +0.0 +0.0025 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.0 +0.0025 +0.0 +0.0 +0.01125 +0.073750004 +0.1525 +0.17499998 +0.121249996 +0.051250003 +0.01875 +0.005 +0.028749999 +0.1375 +0.31375 +0.4375 +0.43124998 +0.33749998 +0.285 +0.42875 +0.8399999 +1.4525001 +2.08875 +2.6100001 +2.8874998 +2.8587499 +2.61375 +2.305 +2.0549998 +1.9025 +1.7975 +1.6562501 +1.4412501 +1.185 +0.9775 +0.90624994 +0.99749994 +1.1875 +1.36 +1.4050001 +1.28 +0.99000007 +0.75124997 +0.64000005 +0.70624995 +0.89874995 +1.11 +1.2475 +1.2900001 +1.3087499 +1.39875 +1.6062499 +1.8787501 +2.07125 +2.03 +1.68375 +1.1 +0.5275 +0.23 +0.1025 +0.005 +0.035 +0.07875 +0.087500006 +0.066250004 +0.06125 +0.03625 +0.0 +0.0 +0.05625 +0.105 +0.14875 +0.14874999 +0.11625 +0.073750004 +0.055 +0.11125 +0.23875 +0.37749997 +0.4675 +0.45875 +0.3475 +0.21625 +0.15375 +0.18125 +0.3425 +0.55625004 +0.69875 +0.73125 +0.64375 +0.5675 +0.66625 +1.07 +1.7325001 +2.44875 +3.0825 +3.40875 +3.3774998 +3.0762498 +2.6649997 +2.2975 +2.0300002 +1.83 +1.61625 +1.3462499 +1.0500001 +0.81624997 +0.74 +0.8475 +1.07125 +1.2825 +1.35 +1.2325 +0.99000007 +0.75124997 +0.64000005 +0.70624995 +0.89874995 +1.11 +1.2475 +1.2900001 +1.3087499 +1.39875 +1.6062499 +1.8787501 +2.07125 +2.03 +1.68375 +1.1 +0.5275 +0.23 +0.1025 +0.005 +0.035 +0.07875 +0.087500006 +0.066250004 +0.06125 +0.03625 +0.0 +0.0 +0.05625 +0.105 +0.14875 +0.14874999 +0.11625 +0.073750004 +0.055 +0.11125 +0.23875 +0.37749997 +0.4675 +0.45875 +0.3475 +0.21625 +0.15375 +0.18125 +0.3425 +0.55625004 +0.69875 +0.73125 +0.64375 +0.5675 +0.66625 +1.07 +1.7325001 +2.44875 +3.0825 +3.40875 +3.3774998 +3.0762498 +2.6649997 +2.2975 +2.0300002 +1.83 +1.61625 +1.3462499 +1.0500001 +0.81624997 +0.74 +0.8475 +1.07125 +1.2825 +1.35 +1.2325 +1.0225 +0.75375 +0.61625004 +0.6675 +0.86125004 +1.095 +1.2724999 +1.37625 +1.47625 +1.66125 +1.9675 +2.32375 +2.575 +2.5500002 +2.1825001 +1.5487499 +0.85875005 +0.3925 +0.195 +0.16125 +0.26 +0.38500002 +0.395 +0.29749998 +0.2025 +0.1475 +0.1375 +0.20125 +0.35625 +0.51374996 +0.57 +0.5225 +0.4125 +0.3175 +0.29874998 +0.3825 +0.55499995 +0.74749994 +0.87749994 +0.89 +0.77874994 +0.615 +0.49499997 +0.505 +0.66 +0.87999994 +1.0425 +1.0625 +0.95000005 +0.8325 +0.89125 +1.2525 +1.9024999 +2.6825 +3.355 +3.71125 +3.6775 +3.3374999 +2.85875 +2.40875 +2.07 +1.81125 +1.56 +1.26625 +0.9575 +0.725 +0.66625 +0.80375 +1.0649999 +1.31 +1.3999999 +1.2824999 +1.0225 +0.75375 +0.61625004 +0.6675 +0.86125004 +1.095 +1.2724999 +1.37625 +1.47625 +1.66125 +1.9675 +2.32375 +2.575 +2.5500002 +2.1825001 +1.5487499 +0.85875005 +0.3925 +0.195 +0.16125 +0.26 +0.38500002 +0.395 +0.29749998 +0.2025 +0.1475 +0.1375 +0.20125 +0.35625 +0.51374996 +0.57 +0.5225 +0.4125 +0.3175 +0.29874998 +0.3825 +0.55499995 +0.74749994 +0.87749994 +0.89 +0.77874994 +0.615 +0.49499997 +0.505 +0.66 +0.87999994 +1.0425 +1.0625 +0.95000005 +0.8325 +0.89125 +1.2525 +1.9024999 +2.6825 +3.355 +3.71125 +3.6775 +3.3374999 +2.85875 +2.40875 +2.07 +1.81125 +1.56 +1.26625 +0.9575 +0.725 +0.66625 +0.80375 +1.0649999 +1.31 +1.3999999 +1.2824999 +1.0912501 +0.79875 +0.63625 +0.67125 +0.87 +1.12 +1.33875 +1.5037501 +1.6837499 +1.9625001 +2.36375 +2.805 +3.1150002 +3.11875 +2.745 +2.0812502 +1.3399999 +0.75625 +0.47625002 +0.49249998 +0.66125 +0.81249994 +0.82375 +0.69250005 +0.51375 +0.40375003 +0.4375 +0.5925 +0.79375 +0.94624996 +0.97875 +0.89875 +0.75124997 +0.62375003 +0.58 +0.65 +0.8125 +1.0 +1.12625 +1.1324999 +1.01125 +0.83125 +0.69000006 +0.68250006 +0.82 +1.0275 +1.18125 +1.1837499 +1.0462499 +0.8925 +0.90875 +1.2275001 +1.8525 +2.63 +3.3112497 +3.68375 +3.66125 +3.32 +2.8299997 +2.36875 +2.01625 +1.7525 +1.50375 +1.2175 +0.91625 +0.6999999 +0.66125 +0.825 +1.1175 +1.38375 +1.48875 +1.36875 +1.0912501 +0.79875 +0.63625 +0.67125 +0.87 +1.12 +1.33875 +1.5037501 +1.6837499 +1.9625001 +2.36375 +2.805 +3.1150002 +3.11875 +2.745 +2.0812502 +1.3399999 +0.75625 +0.47625002 +0.49249998 +0.66125 +0.81249994 +0.82375 +0.69250005 +0.51375 +0.40375003 +0.4375 +0.5925 +0.79375 +0.94624996 +0.97875 +0.89875 +0.75124997 +0.62375003 +0.58 +0.65 +0.8125 +1.0 +1.12625 +1.1324999 +1.01125 +0.83125 +0.69000006 +0.68250006 +0.82 +1.0275 +1.18125 +1.1837499 +1.0462499 +0.8925 +0.90875 +1.2275001 +1.8525 +2.63 +3.3112497 +3.68375 +3.66125 +3.32 +2.8299997 +2.36875 +2.01625 +1.7525 +1.50375 +1.2175 +0.91625 +0.6999999 +0.66125 +0.825 +1.1175 +1.38375 +1.48875 +1.36875 +1.15 +0.85249996 +0.68874997 +0.72375 +0.92875004 +1.20375 +1.45875 +1.6725 +1.9125 +2.25375 +2.71625 +3.2112498 +3.5612502 +3.58625 +3.21375 +2.5324998 +1.7575 +1.1375 +0.82124996 +0.80375004 +0.95374995 +1.0875 +1.08375 +0.93875 +0.7475 +0.6325 +0.6575 +0.8075 +1.0 +1.1324999 +1.1425 +1.0324999 +0.8575 +0.7025 +0.63 +0.6700001 +0.8000001 +0.95624995 +1.0550001 +1.03625 +0.89750004 +0.705 +0.55375004 +0.53499997 +0.66125 +0.855 +0.99875 +0.9925 +0.84125 +0.6625 +0.645 +0.925 +1.5137501 +2.2625 +2.9375 +3.32125 +3.32625 +3.0275002 +2.5925 +2.18375 +1.8824999 +1.6675 +1.45875 +1.2025 +0.92499995 +0.71999997 +0.68875 +0.8575 +1.15625 +1.435 +1.545 +1.42875 +1.15 +0.85249996 +0.68874997 +0.72375 +0.92875004 +1.20375 +1.45875 +1.6725 +1.9125 +2.25375 +2.71625 +3.2112498 +3.5612502 +3.58625 +3.21375 +2.5324998 +1.7575 +1.1375 +0.82124996 +0.80375004 +0.95374995 +1.0875 +1.08375 +0.93875 +0.7475 +0.6325 +0.6575 +0.8075 +1.0 +1.1324999 +1.1425 +1.0324999 +0.8575 +0.7025 +0.63 +0.6700001 +0.8000001 +0.95624995 +1.0550001 +1.03625 +0.89750004 +0.705 +0.55375004 +0.53499997 +0.66125 +0.855 +0.99875 +0.9925 +0.84125 +0.6625 +0.645 +0.925 +1.5137501 +2.2625 +2.9375 +3.32125 +3.32625 +3.0275002 +2.5925 +2.18375 +1.8824999 +1.6675 +1.45875 +1.2025 +0.92499995 +0.71999997 +0.68875 +0.8575 +1.15625 +1.435 +1.545 +1.42875 +1.1850001 +0.91375005 +0.77125 +0.82875 +1.05375 +1.35 +1.625 +1.86375 +2.1212502 +2.4775 +2.9475 +3.4475002 +3.8037498 +3.8374999 +3.4675 +2.78 +1.98625 +1.33 +0.96875 +0.90625 +1.0475 +1.1325 +1.0862501 +0.92375 +0.71625 +0.5825 +0.5875 +0.74375 +0.9124999 +1.0025 +0.9962499 +0.8725 +0.6875 +0.51625 +0.42375 +0.44625002 +0.5475 +0.64624995 +0.69125 +0.64375 +0.49374998 +0.31875 +0.21124999 +0.18375 +0.2775 +0.46499997 +0.57875 +0.57125 +0.42374998 +0.2775 +0.24625 +0.47375 +1.035 +1.70875 +2.355 +2.74125 +2.7862499 +2.5587502 +2.21375 +1.91 +1.70625 +1.5775001 +1.4325 +1.2199999 +0.96624994 +0.76374996 +0.72499996 +0.8825 +1.1662499 +1.4350001 +1.545 +1.445 +1.1850001 +0.91375005 +0.77125 +0.82875 +1.05375 +1.35 +1.625 +1.86375 +2.1212502 +2.4775 +2.9475 +3.4475002 +3.8037498 +3.8374999 +3.4675 +2.78 +1.98625 +1.33 +0.96875 +0.90625 +1.0475 +1.1325 +1.0862501 +0.92375 +0.71625 +0.5825 +0.5875 +0.74375 +0.9124999 +1.0025 +0.9962499 +0.8725 +0.6875 +0.51625 +0.42375 +0.44625002 +0.5475 +0.64624995 +0.69125 +0.64375 +0.49374998 +0.31875 +0.21124999 +0.18375 +0.2775 +0.46499997 +0.57875 +0.57125 +0.42374998 +0.2775 +0.24625 +0.47375 +1.035 +1.70875 +2.355 +2.74125 +2.7862499 +2.5587502 +2.21375 +1.91 +1.70625 +1.5775001 +1.4325 +1.2199999 +0.96624994 +0.76374996 +0.72499996 +0.8825 +1.1662499 +1.4350001 +1.545 +1.445 +1.2325001 +1.0037501 +0.9 +0.9849999 +1.2262499 +1.5325 +1.81125 +2.0375001 +2.27 +2.58375 +3.0037503 +3.4599998 +3.7887502 +3.8174999 +3.46375 +2.795 +2.01125 +1.3375001 +0.9375 +0.85875005 +0.955 +1.0074999 +0.91999996 +0.71375 +0.48999998 +0.35999998 +0.37375003 +0.5025 +0.6525 +0.7275 +0.6875 +0.5475 +0.37 +0.2325 +0.16875 +0.1725 +0.22250001 +0.275 +0.27375 +0.2 +0.09125 +0.0125 +0.0 +0.0025 +0.03875 +0.12625 +0.21375 +0.18875 +0.07 +0.005 +0.03125 +0.165 +0.60249996 +1.2099999 +1.7737498 +2.14125 +2.2125 +2.05125 +1.8062501 +1.615 +1.5250001 +1.4887501 +1.4150001 +1.2499999 +1.0175 +0.82000005 +0.76750004 +0.90125 +1.16125 +1.4137499 +1.5300001 +1.4512501 +1.2325001 +1.0037501 +0.9 +0.9849999 +1.2262499 +1.5325 +1.81125 +2.0375001 +2.27 +2.58375 +3.0037503 +3.4599998 +3.7887502 +3.8174999 +3.46375 +2.795 +2.01125 +1.3375001 +0.9375 +0.85875005 +0.955 +1.0074999 +0.91999996 +0.71375 +0.48999998 +0.35999998 +0.37375003 +0.5025 +0.6525 +0.7275 +0.6875 +0.5475 +0.37 +0.2325 +0.16875 +0.1725 +0.22250001 +0.275 +0.27375 +0.2 +0.09125 +0.0125 +0.0 +0.0025 +0.03875 +0.12625 +0.21375 +0.18875 +0.07 +0.005 +0.03125 +0.165 +0.60249996 +1.2099999 +1.7737498 +2.14125 +2.2125 +2.05125 +1.8062501 +1.615 +1.5250001 +1.4887501 +1.4150001 +1.2499999 +1.0175 +0.82000005 +0.76750004 +0.90125 +1.16125 +1.4137499 +1.5300001 +1.4512501 +1.33125 +1.14875 +1.0787499 +1.1825 +1.4250001 +1.71625 +1.9675001 +2.1525002 +2.31875 +2.54625 +2.8725 +3.245 +3.525 +3.54875 +3.235 +2.625 +1.8887498 +1.23875 +0.82625 +0.71875 +0.77625 +0.80125004 +0.7025 +0.49375 +0.275 +0.15375 +0.1425 +0.22125 +0.33749998 +0.42000002 +0.4025 +0.29375 +0.1525 +0.057499997 +0.02125 +0.0225 +0.033749998 +0.03875 +0.01875 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01875 +0.065 +0.04875 +0.01 +0.0 +0.0 +0.0625 +0.40125 +0.90625 +1.3850001 +1.7 +1.75875 +1.6350001 +1.46375 +1.36 +1.3587499 +1.39625 +1.3800001 +1.25375 +1.0475 +0.86125 +0.80625004 +0.9287499 +1.1725 +1.42 +1.5487499 +1.5037498 +1.33125 +1.14875 +1.0787499 +1.1825 +1.4250001 +1.71625 +1.9675001 +2.1525002 +2.31875 +2.54625 +2.8725 +3.245 +3.525 +3.54875 +3.235 +2.625 +1.8887498 +1.23875 +0.82625 +0.71875 +0.77625 +0.80125004 +0.7025 +0.49375 +0.275 +0.15375 +0.1425 +0.22125 +0.33749998 +0.42000002 +0.4025 +0.29375 +0.1525 +0.057499997 +0.02125 +0.0225 +0.033749998 +0.03875 +0.01875 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01875 +0.065 +0.04875 +0.01 +0.0 +0.0 +0.0625 +0.40125 +0.90625 +1.3850001 +1.7 +1.75875 +1.6350001 +1.46375 +1.36 +1.3587499 +1.39625 +1.3800001 +1.25375 +1.0475 +0.86125 +0.80625004 +0.9287499 +1.1725 +1.42 +1.5487499 +1.5037498 +1.4837501 +1.33875 +1.2875 +1.38375 +1.60125 +1.85375 +2.055 +2.17375 +2.25375 +2.3675 +2.5725002 +2.8425 +3.065 +3.0975 +2.8474998 +2.3362498 +1.6975 +1.1125 +0.72625005 +0.58875 +0.625 +0.64500004 +0.55375004 +0.375 +0.17 +0.055 +0.047500003 +0.088750005 +0.1575 +0.24249999 +0.26749998 +0.21375 +0.13 +0.067499995 +0.041249998 +0.03625 +0.04625 +0.048750002 +0.0425 +0.025 +0.00625 +0.0 +0.0 +0.0 +0.00875 +0.09875 +0.175 +0.15875 +0.10625 +0.055 +0.02625 +0.12875 +0.4325 +0.84875 +1.25125 +1.4825001 +1.4975001 +1.36625 +1.21875 +1.16125 +1.20375 +1.2812499 +1.2987499 +1.20125 +1.0224999 +0.86125004 +0.8225001 +0.95250005 +1.2037501 +1.46375 +1.62 +1.6125001 +1.4837501 +1.33875 +1.2875 +1.38375 +1.60125 +1.85375 +2.055 +2.17375 +2.25375 +2.3675 +2.5725002 +2.8425 +3.065 +3.0975 +2.8474998 +2.3362498 +1.6975 +1.1125 +0.72625005 +0.58875 +0.625 +0.64500004 +0.55375004 +0.375 +0.17 +0.055 +0.047500003 +0.088750005 +0.1575 +0.24249999 +0.26749998 +0.21375 +0.13 +0.067499995 +0.041249998 +0.03625 +0.04625 +0.048750002 +0.0425 +0.025 +0.00625 +0.0 +0.0 +0.0 +0.00875 +0.09875 +0.175 +0.15875 +0.10625 +0.055 +0.02625 +0.12875 +0.4325 +0.84875 +1.25125 +1.4825001 +1.4975001 +1.36625 +1.21875 +1.16125 +1.20375 +1.2812499 +1.2987499 +1.20125 +1.0224999 +0.86125004 +0.8225001 +0.95250005 +1.2037501 +1.46375 +1.62 +1.6125001 +1.64625 +1.52375 +1.4712499 +1.54 +1.70875 +1.90375 +2.04375 +2.09 +2.07625 +2.0774999 +2.15875 +2.32125 +2.4875002 +2.53375 +2.3700001 +1.98375 +1.475 +0.9912499 +0.66499996 +0.5375 +0.55749995 +0.605 +0.57875 +0.43875 +0.23875001 +0.095 +0.03875 +0.06125 +0.155 +0.26624998 +0.35375002 +0.39625 +0.38375 +0.34125 +0.30875 +0.305 +0.31875 +0.32750002 +0.2975 +0.22250001 +0.14125 +0.0775 +0.0325 +0.06125 +0.17125 +0.3375 +0.48125002 +0.52875 +0.445 +0.31500003 +0.255 +0.34875 +0.6175 +0.98125005 +1.2875 +1.4262501 +1.375 +1.2075 +1.0474999 +0.98625 +1.03125 +1.11 +1.13625 +1.05875 +0.91 +0.7850001 +0.7825 +0.94124997 +1.22 +1.50875 +1.7000002 +1.7362502 +1.64625 +1.52375 +1.4712499 +1.54 +1.70875 +1.90375 +2.04375 +2.09 +2.07625 +2.0774999 +2.15875 +2.32125 +2.4875002 +2.53375 +2.3700001 +1.98375 +1.475 +0.9912499 +0.66499996 +0.5375 +0.55749995 +0.605 +0.57875 +0.43875 +0.23875001 +0.095 +0.03875 +0.06125 +0.155 +0.26624998 +0.35375002 +0.39625 +0.38375 +0.34125 +0.30875 +0.305 +0.31875 +0.32750002 +0.2975 +0.22250001 +0.14125 +0.0775 +0.0325 +0.06125 +0.17125 +0.3375 +0.48125002 +0.52875 +0.445 +0.31500003 +0.255 +0.34875 +0.6175 +0.98125005 +1.2875 +1.4262501 +1.375 +1.2075 +1.0474999 +0.98625 +1.03125 +1.11 +1.13625 +1.05875 +0.91 +0.7850001 +0.7825 +0.94124997 +1.22 +1.50875 +1.7000002 +1.7362502 +1.74875 +1.6437501 +1.575 +1.6025 +1.7175 +1.8537501 +1.9375 +1.9224999 +1.83375 +1.73875 +1.70875 +1.7724999 +1.885 +1.9487499 +1.8662499 +1.6075001 +1.2312499 +0.85375 +0.59875 +0.51375 +0.56500006 +0.65500003 +0.67999995 +0.59125 +0.415 +0.2425 +0.15499999 +0.16499999 +0.27875 +0.45875 +0.62375 +0.73125 +0.77 +0.76374996 +0.74375004 +0.7325 +0.73875 +0.74 +0.70125 +0.60249996 +0.45625 +0.31125003 +0.2375 +0.285 +0.455 +0.68125 +0.86375 +0.91625 +0.82874995 +0.6775 +0.57624996 +0.62375 +0.82625 +1.10375 +1.3225 +1.38625 +1.2775002 +1.0699999 +0.88124996 +0.79125005 +0.80999994 +0.87125003 +0.89000005 +0.8225 +0.70250005 +0.61625004 +0.65375006 +0.85125 +1.1637499 +1.48875 +1.7200001 +1.80125 +1.74875 +1.6437501 +1.575 +1.6025 +1.7175 +1.8537501 +1.9375 +1.9224999 +1.83375 +1.73875 +1.70875 +1.7724999 +1.885 +1.9487499 +1.8662499 +1.6075001 +1.2312499 +0.85375 +0.59875 +0.51375 +0.56500006 +0.65500003 +0.67999995 +0.59125 +0.415 +0.2425 +0.15499999 +0.16499999 +0.27875 +0.45875 +0.62375 +0.73125 +0.77 +0.76374996 +0.74375004 +0.7325 +0.73875 +0.74 +0.70125 +0.60249996 +0.45625 +0.31125003 +0.2375 +0.285 +0.455 +0.68125 +0.86375 +0.91625 +0.82874995 +0.6775 +0.57624996 +0.62375 +0.82625 +1.10375 +1.3225 +1.38625 +1.2775002 +1.0699999 +0.88124996 +0.79125005 +0.80999994 +0.87125003 +0.89000005 +0.8225 +0.70250005 +0.61625004 +0.65375006 +0.85125 +1.1637499 +1.48875 +1.7200001 +1.80125 +1.7512499 +1.66375 +1.58375 +1.5725 +1.6362499 +1.725 +1.7687501 +1.72125 +1.5875 +1.42375 +1.31125 +1.29375 +1.3575001 +1.42375 +1.4025 +1.2450001 +0.975 +0.685 +0.48624998 +0.43625003 +0.52125 +0.655 +0.73875004 +0.71125 +0.58 +0.4125 +0.3025 +0.31125 +0.44125 +0.64750004 +0.8575 +1.015 +1.09375 +1.10625 +1.0825 +1.06125 +1.0525 +1.0387499 +0.99125 +0.8825 +0.72125 +0.56 +0.46500003 +0.495 +0.64875 +0.86375004 +1.0375 +1.08 +0.98249996 +0.80499995 +0.6675001 +0.665 +0.81375 +1.0325 +1.20375 +1.23 +1.0975 +0.875 +0.66625 +0.5525 +0.5425 +0.58 +0.58624995 +0.52625 +0.42875 +0.3825 +0.4475 +0.6675 +1.00375 +1.3600001 +1.63375 +1.76375 +1.7512499 +1.66375 +1.58375 +1.5725 +1.6362499 +1.725 +1.7687501 +1.72125 +1.5875 +1.42375 +1.31125 +1.29375 +1.3575001 +1.42375 +1.4025 +1.2450001 +0.975 +0.685 +0.48624998 +0.43625003 +0.52125 +0.655 +0.73875004 +0.71125 +0.58 +0.4125 +0.3025 +0.31125 +0.44125 +0.64750004 +0.8575 +1.015 +1.09375 +1.10625 +1.0825 +1.06125 +1.0525 +1.0387499 +0.99125 +0.8825 +0.72125 +0.56 +0.46500003 +0.495 +0.64875 +0.86375004 +1.0375 +1.08 +0.98249996 +0.80499995 +0.6675001 +0.665 +0.81375 +1.0325 +1.20375 +1.23 +1.0975 +0.875 +0.66625 +0.5525 +0.5425 +0.58 +0.58624995 +0.52625 +0.42875 +0.3825 +0.4475 +0.6675 +1.00375 +1.3600001 +1.63375 +1.76375 +1.6737499 +1.61625 +1.5350001 +1.4975 +1.5237501 +1.57875 +1.605 +1.54625 +1.39625 +1.2025001 +1.04 +0.96124995 +0.98375 +1.0437499 +1.055 +0.95624995 +0.75249994 +0.5125 +0.33875 +0.30374998 +0.41125 +0.56875 +0.70125 +0.72624993 +0.6325 +0.48125 +0.36125 +0.35 +0.4725 +0.69 +0.93 +1.12375 +1.23 +1.25 +1.22125 +1.17875 +1.1487501 +1.11875 +1.0625 +0.94375 +0.77125 +0.59000003 +0.46875 +0.46875 +0.595 +0.78624994 +0.93999994 +0.9674999 +0.84875 +0.6475 +0.47875 +0.4375 +0.5525 +0.7375 +0.895 +0.93125 +0.81624997 +0.60875 +0.40749997 +0.28625 +0.26 +0.28125 +0.2875 +0.24124998 +0.19 +0.1675 +0.235 +0.43375 +0.7750001 +1.15125 +1.4612501 +1.6399999 +1.6737499 +1.61625 +1.5350001 +1.4975 +1.5237501 +1.57875 +1.605 +1.54625 +1.39625 +1.2025001 +1.04 +0.96124995 +0.98375 +1.0437499 +1.055 +0.95624995 +0.75249994 +0.5125 +0.33875 +0.30374998 +0.41125 +0.56875 +0.70125 +0.72624993 +0.6325 +0.48125 +0.36125 +0.35 +0.4725 +0.69 +0.93 +1.12375 +1.23 +1.25 +1.22125 +1.17875 +1.1487501 +1.11875 +1.0625 +0.94375 +0.77125 +0.59000003 +0.46875 +0.46875 +0.595 +0.78624994 +0.93999994 +0.9674999 +0.84875 +0.6475 +0.47875 +0.4375 +0.5525 +0.7375 +0.895 +0.93125 +0.81624997 +0.60875 +0.40749997 +0.28625 +0.26 +0.28125 +0.2875 +0.24124998 +0.19 +0.1675 +0.235 +0.43375 +0.7750001 +1.15125 +1.4612501 +1.6399999 +1.6075 +1.585 +1.5137498 +1.46 +1.4549999 +1.485 +1.5012499 +1.44875 +1.30875 +1.11375 +0.93000007 +0.82374996 +0.81624997 +0.86125 +0.88125 +0.80875 +0.63249993 +0.40874997 +0.2575 +0.2375 +0.33625 +0.4875 +0.605 +0.66249996 +0.595 +0.45 +0.31625 +0.28125 +0.39499998 +0.5975 +0.8475 +1.0649999 +1.1925 +1.2212499 +1.18375 +1.125 +1.0725 +1.0275 +0.95875 +0.83625 +0.6575 +0.4625 +0.32 +0.29375 +0.39874998 +0.5475 +0.67875 +0.69374996 +0.5625 +0.34625 +0.17999999 +0.15 +0.23125 +0.3975 +0.53875 +0.57874995 +0.5075 +0.34125 +0.17875001 +0.07625 +0.048750002 +0.0625 +0.08 +0.083749995 +0.07625 +0.0675 +0.08625 +0.25 +0.57374996 +0.95624995 +1.2950001 +1.5200001 +1.6075 +1.585 +1.5137498 +1.46 +1.4549999 +1.485 +1.5012499 +1.44875 +1.30875 +1.11375 +0.93000007 +0.82374996 +0.81624997 +0.86125 +0.88125 +0.80875 +0.63249993 +0.40874997 +0.2575 +0.2375 +0.33625 +0.4875 +0.605 +0.66249996 +0.595 +0.45 +0.31625 +0.28125 +0.39499998 +0.5975 +0.8475 +1.0649999 +1.1925 +1.2212499 +1.18375 +1.125 +1.0725 +1.0275 +0.95875 +0.83625 +0.6575 +0.4625 +0.32 +0.29375 +0.39874998 +0.5475 +0.67875 +0.69374996 +0.5625 +0.34625 +0.17999999 +0.15 +0.23125 +0.3975 +0.53875 +0.57874995 +0.5075 +0.34125 +0.17875001 +0.07625 +0.048750002 +0.0625 +0.08 +0.083749995 +0.07625 +0.0675 +0.08625 +0.25 +0.57374996 +0.95624995 +1.2950001 +1.5200001 +1.64375 +1.6550001 +1.59375 +1.5225 +1.48375 +1.485 +1.4849999 +1.4375 +1.31625 +1.1425 +0.96999997 +0.87125 +0.8625001 +0.89500004 +0.90125 +0.83250004 +0.66499996 +0.46375 +0.31 +0.26624998 +0.34125 +0.48 +0.59875 +0.62625 +0.56625 +0.41875 +0.28125 +0.245 +0.33125 +0.5175 +0.73875004 +0.96000004 +1.11 +1.15125 +1.11625 +1.045 +0.97125 +0.90625 +0.82624996 +0.7 +0.5225 +0.32375 +0.18375 +0.16250001 +0.23500001 +0.35999998 +0.45125002 +0.45375 +0.33125 +0.14125001 +0.0325 +0.0125 +0.052500002 +0.15125 +0.285 +0.34750003 +0.3 +0.18499999 +0.076249994 +0.022499999 +0.00625 +0.00375 +0.01375 +0.0325 +0.04375 +0.04625 +0.04875 +0.18625002 +0.49499995 +0.87375003 +1.2362499 +1.5062499 +1.64375 +1.6550001 +1.59375 +1.5225 +1.48375 +1.485 +1.4849999 +1.4375 +1.31625 +1.1425 +0.96999997 +0.87125 +0.8625001 +0.89500004 +0.90125 +0.83250004 +0.66499996 +0.46375 +0.31 +0.26624998 +0.34125 +0.48 +0.59875 +0.62625 +0.56625 +0.41875 +0.28125 +0.245 +0.33125 +0.5175 +0.73875004 +0.96000004 +1.11 +1.15125 +1.11625 +1.045 +0.97125 +0.90625 +0.82624996 +0.7 +0.5225 +0.32375 +0.18375 +0.16250001 +0.23500001 +0.35999998 +0.45125002 +0.45375 +0.33125 +0.14125001 +0.0325 +0.0125 +0.052500002 +0.15125 +0.285 +0.34750003 +0.3 +0.18499999 +0.076249994 +0.022499999 +0.00625 +0.00375 +0.01375 +0.0325 +0.04375 +0.04625 +0.04875 +0.18625002 +0.49499995 +0.87375003 +1.2362499 +1.5062499 +1.8175 +1.85625 +1.7950001 +1.695 +1.6112499 +1.5674999 +1.5375 +1.4825 +1.3749999 +1.23 +1.08875 +1.0175 +1.0125 +1.04125 +1.04875 +0.97875005 +0.82625 +0.63125 +0.47374997 +0.415 +0.465 +0.58125 +0.68375003 +0.705 +0.63125 +0.4875 +0.3525 +0.2975 +0.355 +0.52 +0.73625004 +0.95750004 +1.1237501 +1.18875 +1.1612499 +1.0825 +0.98999995 +0.8975 +0.7975 +0.66374993 +0.48874998 +0.29625 +0.165 +0.13499999 +0.185 +0.29125 +0.38375 +0.395 +0.30124998 +0.155 +0.07125 +0.0425 +0.065 +0.12375 +0.22375 +0.29375 +0.28125 +0.19624999 +0.11624999 +0.07125 +0.0475 +0.0375 +0.03125 +0.045 +0.05625 +0.065 +0.11375 +0.2775 +0.5825 +0.9625 +1.34125 +1.64375 +1.8175 +1.85625 +1.7950001 +1.695 +1.6112499 +1.5674999 +1.5375 +1.4825 +1.3749999 +1.23 +1.08875 +1.0175 +1.0125 +1.04125 +1.04875 +0.97875005 +0.82625 +0.63125 +0.47374997 +0.415 +0.465 +0.58125 +0.68375003 +0.705 +0.63125 +0.4875 +0.3525 +0.2975 +0.355 +0.52 +0.73625004 +0.95750004 +1.1237501 +1.18875 +1.1612499 +1.0825 +0.98999995 +0.8975 +0.7975 +0.66374993 +0.48874998 +0.29625 +0.165 +0.13499999 +0.185 +0.29125 +0.38375 +0.395 +0.30124998 +0.155 +0.07125 +0.0425 +0.065 +0.12375 +0.22375 +0.29375 +0.28125 +0.19624999 +0.11624999 +0.07125 +0.0475 +0.0375 +0.03125 +0.045 +0.05625 +0.065 +0.11375 +0.2775 +0.5825 +0.9625 +1.34125 +1.64375 +2.0725 +2.11875 +2.0462499 +1.9124999 +1.7775 +1.67375 +1.59625 +1.51625 +1.415 +1.29375 +1.1899999 +1.1450001 +1.15 +1.18125 +1.1875 +1.12875 +0.9825 +0.81 +0.67249995 +0.61875004 +0.66 +0.75375 +0.8375 +0.85875005 +0.7975 +0.65875 +0.5275 +0.47 +0.515 +0.6625 +0.87 +1.1125 +1.2975001 +1.38375 +1.3737499 +1.2949998 +1.18 +1.05375 +0.91875 +0.7625 +0.58250004 +0.39375 +0.24374999 +0.20124999 +0.24249999 +0.34125 +0.44625002 +0.49875003 +0.46375 +0.33625 +0.22625 +0.18125 +0.18875 +0.24125001 +0.3275 +0.40000004 +0.40875 +0.35375 +0.2575 +0.185 +0.14375001 +0.12375 +0.11624999 +0.13 +0.15375 +0.19375001 +0.29625002 +0.4975 +0.8012499 +1.17875 +1.5625001 +1.8799999 +2.0725 +2.11875 +2.0462499 +1.9124999 +1.7775 +1.67375 +1.59625 +1.51625 +1.415 +1.29375 +1.1899999 +1.1450001 +1.15 +1.18125 +1.1875 +1.12875 +0.9825 +0.81 +0.67249995 +0.61875004 +0.66 +0.75375 +0.8375 +0.85875005 +0.7975 +0.65875 +0.5275 +0.47 +0.515 +0.6625 +0.87 +1.1125 +1.2975001 +1.38375 +1.3737499 +1.2949998 +1.18 +1.05375 +0.91875 +0.7625 +0.58250004 +0.39375 +0.24374999 +0.20124999 +0.24249999 +0.34125 +0.44625002 +0.49875003 +0.46375 +0.33625 +0.22625 +0.18125 +0.18875 +0.24125001 +0.3275 +0.40000004 +0.40875 +0.35375 +0.2575 +0.185 +0.14375001 +0.12375 +0.11624999 +0.13 +0.15375 +0.19375001 +0.29625002 +0.4975 +0.8012499 +1.17875 +1.5625001 +1.8799999 +2.285 +2.3275 +2.24 +2.07375 +1.8875 +1.7249999 +1.59125 +1.4762499 +1.3649999 +1.26125 +1.185 +1.1575 +1.17125 +1.2037499 +1.2075 +1.1475 +1.0174999 +0.8775 +0.78125 +0.75875 +0.81000006 +0.89625 +0.98375 +1.01625 +0.96500003 +0.85875005 +0.75 +0.70500004 +0.755 +0.91 +1.13375 +1.3725001 +1.57 +1.6825 +1.69375 +1.6175 +1.4825001 +1.31375 +1.13125 +0.93874997 +0.7425 +0.55375004 +0.40125 +0.32000002 +0.33000004 +0.42249998 +0.54625 +0.64625 +0.67125 +0.6112499 +0.49875003 +0.4025 +0.37875 +0.4175 +0.49375 +0.5575 +0.58875 +0.55875 +0.4725 +0.365 +0.27624997 +0.22625 +0.2175 +0.245 +0.30124998 +0.38875002 +0.53000003 +0.745 +1.0462501 +1.41125 +1.78375 +2.095 +2.285 +2.3275 +2.24 +2.07375 +1.8875 +1.7249999 +1.59125 +1.4762499 +1.3649999 +1.26125 +1.185 +1.1575 +1.17125 +1.2037499 +1.2075 +1.1475 +1.0174999 +0.8775 +0.78125 +0.75875 +0.81000006 +0.89625 +0.98375 +1.01625 +0.96500003 +0.85875005 +0.75 +0.70500004 +0.755 +0.91 +1.13375 +1.3725001 +1.57 +1.6825 +1.69375 +1.6175 +1.4825001 +1.31375 +1.13125 +0.93874997 +0.7425 +0.55375004 +0.40125 +0.32000002 +0.33000004 +0.42249998 +0.54625 +0.64625 +0.67125 +0.6112499 +0.49875003 +0.4025 +0.37875 +0.4175 +0.49375 +0.5575 +0.58875 +0.55875 +0.4725 +0.365 +0.27624997 +0.22625 +0.2175 +0.245 +0.30124998 +0.38875002 +0.53000003 +0.745 +1.0462501 +1.41125 +1.78375 +2.095 +2.35125 +2.37875 +2.2775 +2.08875 +1.86875 +1.65875 +1.48125 +1.3312501 +1.2075 +1.1125001 +1.05625 +1.0425 +1.0574999 +1.06875 +1.04125 +0.9625 +0.84624994 +0.745 +0.70375 +0.72875005 +0.80375004 +0.9075 +0.9975 +1.0325 +1.0037501 +0.94750005 +0.90125 +0.91 +0.99125004 +1.1537501 +1.37125 +1.60375 +1.81 +1.9499999 +1.99125 +1.9275 +1.78 +1.5725 +1.34125 +1.10375 +0.88124996 +0.68125 +0.52125 +0.42499998 +0.40499997 +0.46124998 +0.57125 +0.685 +0.75375 +0.75374997 +0.6875 +0.59 +0.5275 +0.525 +0.56374997 +0.62 +0.6675 +0.67499995 +0.62250006 +0.53 +0.42375 +0.34375 +0.315 +0.34125 +0.415 +0.53375 +0.69874996 +0.9275 +1.2175 +1.5550001 +1.8974999 +2.18125 +2.35125 +2.37875 +2.2775 +2.08875 +1.86875 +1.65875 +1.48125 +1.3312501 +1.2075 +1.1125001 +1.05625 +1.0425 +1.0574999 +1.06875 +1.04125 +0.9625 +0.84624994 +0.745 +0.70375 +0.72875005 +0.80375004 +0.9075 +0.9975 +1.0325 +1.0037501 +0.94750005 +0.90125 +0.91 +0.99125004 +1.1537501 +1.37125 +1.60375 +1.81 +1.9499999 +1.99125 +1.9275 +1.78 +1.5725 +1.34125 +1.10375 +0.88124996 +0.68125 +0.52125 +0.42499998 +0.40499997 +0.46124998 +0.57125 +0.685 +0.75375 +0.75374997 +0.6875 +0.59 +0.5275 +0.525 +0.56374997 +0.62 +0.6675 +0.67499995 +0.62250006 +0.53 +0.42375 +0.34375 +0.315 +0.34125 +0.415 +0.53375 +0.69874996 +0.9275 +1.2175 +1.5550001 +1.8974999 +2.18125 +2.2412498 +2.25 +2.1375 +1.94375 +1.71 +1.4762498 +1.27 +1.0975 +0.96375 +0.87749994 +0.83750004 +0.83124995 +0.83125 +0.80625 +0.73375 +0.62 +0.50124997 +0.4375 +0.44250003 +0.51375 +0.6175 +0.7350001 +0.82250005 +0.85875 +0.85749996 +0.84875 +0.87249994 +0.9425 +1.0649999 +1.24 +1.4537501 +1.6850001 +1.9025 +2.07375 +2.15625 +2.1262503 +1.9850001 +1.7599999 +1.49125 +1.21625 +0.96375 +0.7475 +0.57124996 +0.44875002 +0.385 +0.39249998 +0.45999998 +0.55875003 +0.64750004 +0.68125 +0.6475 +0.56 +0.47499996 +0.4375 +0.45000002 +0.50375 +0.57125 +0.63 +0.6325 +0.57625 +0.48000002 +0.39125 +0.34625003 +0.36624998 +0.45375 +0.5925 +0.77625 +1.005 +1.2775 +1.5775 +1.87125 +2.1074998 +2.2412498 +2.25 +2.1375 +1.94375 +1.71 +1.4762498 +1.27 +1.0975 +0.96375 +0.87749994 +0.83750004 +0.83124995 +0.83125 +0.80625 +0.73375 +0.62 +0.50124997 +0.4375 +0.44250003 +0.51375 +0.6175 +0.7350001 +0.82250005 +0.85875 +0.85749996 +0.84875 +0.87249994 +0.9425 +1.0649999 +1.24 +1.4537501 +1.6850001 +1.9025 +2.07375 +2.15625 +2.1262503 +1.9850001 +1.7599999 +1.49125 +1.21625 +0.96375 +0.7475 +0.57124996 +0.44875002 +0.385 +0.39249998 +0.45999998 +0.55875003 +0.64750004 +0.68125 +0.6475 +0.56 +0.47499996 +0.4375 +0.45000002 +0.50375 +0.57125 +0.63 +0.6325 +0.57625 +0.48000002 +0.39125 +0.34625003 +0.36624998 +0.45375 +0.5925 +0.77625 +1.005 +1.2775 +1.5775 +1.87125 +2.1074998 +2.0325 +2.0125 +1.8924999 +1.69875 +1.4675 +1.2325001 +1.0162499 +0.83625 +0.7025 +0.625 +0.59875 +0.6 +0.59000003 +0.53375 +0.4175 +0.27 +0.16749999 +0.1275 +0.145 +0.22 +0.3425 +0.45375 +0.53625005 +0.5675 +0.5775 +0.60375 +0.67625 +0.79499996 +0.9512501 +1.1400001 +1.3525001 +1.5850002 +1.8187499 +2.02875 +2.165 +2.1875 +2.085 +1.8725001 +1.5925 +1.2975 +1.025 +0.79499996 +0.60249996 +0.4475 +0.33625 +0.2825 +0.29125 +0.35 +0.42249998 +0.46750003 +0.445 +0.35625 +0.26375 +0.20875 +0.19624999 +0.25125 +0.35250002 +0.45125 +0.52125 +0.51625 +0.45125 +0.3725 +0.32874998 +0.3525 +0.445 +0.59499997 +0.78875005 +1.01625 +1.2662499 +1.52375 +1.7637501 +1.9425001 +2.0325 +2.0125 +1.8924999 +1.69875 +1.4675 +1.2325001 +1.0162499 +0.83625 +0.7025 +0.625 +0.59875 +0.6 +0.59000003 +0.53375 +0.4175 +0.27 +0.16749999 +0.1275 +0.145 +0.22 +0.3425 +0.45375 +0.53625005 +0.5675 +0.5775 +0.60375 +0.67625 +0.79499996 +0.9512501 +1.1400001 +1.3525001 +1.5850002 +1.8187499 +2.02875 +2.165 +2.1875 +2.085 +1.8725001 +1.5925 +1.2975 +1.025 +0.79499996 +0.60249996 +0.4475 +0.33625 +0.2825 +0.29125 +0.35 +0.42249998 +0.46750003 +0.445 +0.35625 +0.26375 +0.20875 +0.19624999 +0.25125 +0.35250002 +0.45125 +0.52125 +0.51625 +0.45125 +0.3725 +0.32874998 +0.3525 +0.445 +0.59499997 +0.78875005 +1.01625 +1.2662499 +1.52375 +1.7637501 +1.9425001 +1.8575 +1.8024999 +1.6625 +1.465 +1.24 +1.00875 +0.7975 +0.61875 +0.49249998 +0.4275 +0.41875 +0.43750003 +0.43375 +0.37 +0.23375 +0.07125 +0.005 +0.0 +0.01 +0.045 +0.13749999 +0.23250002 +0.30124998 +0.31500003 +0.31500003 +0.34249997 +0.42375 +0.56125 +0.73375 +0.92625 +1.1374999 +1.3712499 +1.6274999 +1.87625 +2.0737498 +2.16625 +2.1275 +1.9575 +1.6999999 +1.41125 +1.1374999 +0.8975 +0.69125 +0.51 +0.35875 +0.25 +0.2 +0.21124999 +0.25375 +0.27875 +0.25 +0.15625 +0.07375 +0.018749999 +0.00875 +0.04 +0.13375 +0.26125002 +0.3825 +0.42625 +0.4 +0.34625003 +0.3175 +0.34999996 +0.45374998 +0.61625 +0.81874996 +1.0412501 +1.27375 +1.4975001 +1.68875 +1.8162501 +1.8575 +1.8024999 +1.6625 +1.465 +1.24 +1.00875 +0.7975 +0.61875 +0.49249998 +0.4275 +0.41875 +0.43750003 +0.43375 +0.37 +0.23375 +0.07125 +0.005 +0.0 +0.01 +0.045 +0.13749999 +0.23250002 +0.30124998 +0.31500003 +0.31500003 +0.34249997 +0.42375 +0.56125 +0.73375 +0.92625 +1.1374999 +1.3712499 +1.6274999 +1.87625 +2.0737498 +2.16625 +2.1275 +1.9575 +1.6999999 +1.41125 +1.1374999 +0.8975 +0.69125 +0.51 +0.35875 +0.25 +0.2 +0.21124999 +0.25375 +0.27875 +0.25 +0.15625 +0.07375 +0.018749999 +0.00875 +0.04 +0.13375 +0.26125002 +0.3825 +0.42625 +0.4 +0.34625003 +0.3175 +0.34999996 +0.45374998 +0.61625 +0.81874996 +1.0412501 +1.27375 +1.4975001 +1.68875 +1.8162501 +1.4575 +1.2762499 +1.09 +0.9025 +0.7225 +0.56875 +0.45874995 +0.3975 +0.35875 +0.3075 +0.21375 +0.095000006 +0.04625 +0.04125 +0.03 +0.0075 +0.0025 +0.05125 +0.17 +0.25625 +0.28875 +0.30875003 +0.365 +0.45375 +0.57625 +0.7225 +0.8825 +1.05625 +1.2475 +1.4449999 +1.6325 +1.78 +1.85375 +1.8412501 +1.7525 +1.6137501 +1.4475001 +1.26875 +1.0849999 +0.9 +0.72375 +0.575 +0.46875 +0.41000003 +0.37374997 +0.3225 +0.22250001 +0.1 +0.05375 +0.0475 +0.03375 +0.0075 +0.0025 +0.04625 +0.16 +0.24375 +0.27375 +0.29625002 +0.35500002 +0.44875002 +0.57625 +0.725 +0.8899999 +1.0675 +1.2624999 +1.4649999 +1.65625 +1.8050001 +1.8787501 +1.865 +1.77125 +1.6275 +1.4575 +1.2762499 +1.09 +0.9025 +0.7225 +0.56875 +0.45874995 +0.3975 +0.35875 +0.3075 +0.21375 +0.095000006 +0.04625 +0.04125 +0.03 +0.0075 +0.0025 +0.05125 +0.17 +0.25625 +0.28875 +0.30875003 +0.365 +0.45375 +0.57625 +0.7225 +0.8825 +1.05625 +1.2475 +1.4449999 +1.6325 +1.78 +1.85375 +1.8412501 +1.7525 +1.6137501 +1.4475001 +1.26875 +1.0849999 +0.9 +0.72375 +0.575 +0.46875 +0.41000003 +0.37374997 +0.3225 +0.22250001 +0.1 +0.05375 +0.0475 +0.03375 +0.0075 +0.0025 +0.04625 +0.16 +0.24375 +0.27375 +0.29625002 +0.35500002 +0.44875002 +0.57625 +0.725 +0.8899999 +1.0675 +1.2624999 +1.4649999 +1.65625 +1.8050001 +1.8787501 +1.865 +1.77125 +1.6275 +1.47 +1.26875 +1.06375 +0.86375004 +0.675 +0.51625 +0.40374997 +0.34249997 +0.31375 +0.28375 +0.21750002 +0.121249996 +0.0425 +0.03625 +0.03125 +0.0175 +0.00875 +0.09250001 +0.215 +0.29625 +0.32124996 +0.33375004 +0.36500004 +0.42875004 +0.5325 +0.66375 +0.8175 +0.99625 +1.18875 +1.39375 +1.5874999 +1.74 +1.8187499 +1.8175001 +1.7375001 +1.6 +1.42875 +1.2425001 +1.0487499 +0.8575 +0.685 +0.55 +0.46 +0.41625002 +0.39125 +0.34875003 +0.255 +0.1325 +0.067499995 +0.05625 +0.0425 +0.0175 +0.00625 +0.07375 +0.17 +0.23000002 +0.24750002 +0.27624997 +0.32999998 +0.42375 +0.55 +0.70374995 +0.87875 +1.07 +1.2825 +1.5087501 +1.71875 +1.8775 +1.95375 +1.9324999 +1.82625 +1.6637499 +1.47 +1.26875 +1.06375 +0.86375004 +0.675 +0.51625 +0.40374997 +0.34249997 +0.31375 +0.28375 +0.21750002 +0.121249996 +0.0425 +0.03625 +0.03125 +0.0175 +0.00875 +0.09250001 +0.215 +0.29625 +0.32124996 +0.33375004 +0.36500004 +0.42875004 +0.5325 +0.66375 +0.8175 +0.99625 +1.18875 +1.39375 +1.5874999 +1.74 +1.8187499 +1.8175001 +1.7375001 +1.6 +1.42875 +1.2425001 +1.0487499 +0.8575 +0.685 +0.55 +0.46 +0.41625002 +0.39125 +0.34875003 +0.255 +0.1325 +0.067499995 +0.05625 +0.0425 +0.0175 +0.00625 +0.07375 +0.17 +0.23000002 +0.24750002 +0.27624997 +0.32999998 +0.42375 +0.55 +0.70374995 +0.87875 +1.07 +1.2825 +1.5087501 +1.71875 +1.8775 +1.95375 +1.9324999 +1.82625 +1.6637499 +1.4412501 +1.205 +0.9775 +0.76374996 +0.56874996 +0.40375 +0.29000002 +0.23625 +0.22625001 +0.23125 +0.21124999 +0.1475 +0.067499995 +0.025 +0.02875 +0.02375 +0.03125 +0.13125 +0.26125002 +0.34125 +0.3525 +0.33375 +0.32375002 +0.34375 +0.4075 +0.51875 +0.66875 +0.85125 +1.05375 +1.26625 +1.465 +1.62375 +1.71625 +1.72875 +1.66125 +1.52625 +1.34875 +1.1475 +0.93875 +0.74125004 +0.58000004 +0.46999997 +0.41750002 +0.40500003 +0.4 +0.365 +0.27625 +0.1525 +0.0725 +0.055 +0.03875 +0.01375 +0.041249998 +0.1225 +0.19124998 +0.21375 +0.21875 +0.23875 +0.29125 +0.38500002 +0.51374996 +0.67375 +0.85625 +1.06875 +1.31 +1.5662501 +1.80375 +1.9787501 +2.0549998 +2.01625 +1.87875 +1.6750001 +1.4412501 +1.205 +0.9775 +0.76374996 +0.56874996 +0.40375 +0.29000002 +0.23625 +0.22625001 +0.23125 +0.21124999 +0.1475 +0.067499995 +0.025 +0.02875 +0.02375 +0.03125 +0.13125 +0.26125002 +0.34125 +0.3525 +0.33375 +0.32375002 +0.34375 +0.4075 +0.51875 +0.66875 +0.85125 +1.05375 +1.26625 +1.465 +1.62375 +1.71625 +1.72875 +1.66125 +1.52625 +1.34875 +1.1475 +0.93875 +0.74125004 +0.58000004 +0.46999997 +0.41750002 +0.40500003 +0.4 +0.365 +0.27625 +0.1525 +0.0725 +0.055 +0.03875 +0.01375 +0.041249998 +0.1225 +0.19124998 +0.21375 +0.21875 +0.23875 +0.29125 +0.38500002 +0.51374996 +0.67375 +0.85625 +1.06875 +1.31 +1.5662501 +1.80375 +1.9787501 +2.0549998 +2.01625 +1.87875 +1.6750001 +1.32375 +1.0575 +0.82000005 +0.605 +0.41125 +0.2525 +0.15875001 +0.11875 +0.113749996 +0.1325 +0.16125001 +0.15125 +0.087500006 +0.02125 +0.01875 +0.02125 +0.033749998 +0.095 +0.22500001 +0.3125 +0.32500002 +0.26874998 +0.2075 +0.17999998 +0.205 +0.2925 +0.43875 +0.6275 +0.83625 +1.04875 +1.2437499 +1.4037501 +1.505 +1.53125 +1.48 +1.3549999 +1.17375 +0.955 +0.73125005 +0.53125 +0.38625 +0.31375 +0.3025 +0.3275 +0.345 +0.3175 +0.22625 +0.1075 +0.056250002 +0.03625 +0.01625 +0.02625 +0.11 +0.18625 +0.2175 +0.20374998 +0.18875 +0.20875 +0.26624998 +0.36375 +0.49375 +0.64874995 +0.82500005 +1.0425 +1.3012501 +1.5799999 +1.83875 +2.02375 +2.09125 +2.02875 +1.8499999 +1.59875 +1.32375 +1.0575 +0.82000005 +0.605 +0.41125 +0.2525 +0.15875001 +0.11875 +0.113749996 +0.1325 +0.16125001 +0.15125 +0.087500006 +0.02125 +0.01875 +0.02125 +0.033749998 +0.095 +0.22500001 +0.3125 +0.32500002 +0.26874998 +0.2075 +0.17999998 +0.205 +0.2925 +0.43875 +0.6275 +0.83625 +1.04875 +1.2437499 +1.4037501 +1.505 +1.53125 +1.48 +1.3549999 +1.17375 +0.955 +0.73125005 +0.53125 +0.38625 +0.31375 +0.3025 +0.3275 +0.345 +0.3175 +0.22625 +0.1075 +0.056250002 +0.03625 +0.01625 +0.02625 +0.11 +0.18625 +0.2175 +0.20374998 +0.18875 +0.20875 +0.26624998 +0.36375 +0.49375 +0.64874995 +0.82500005 +1.0425 +1.3012501 +1.5799999 +1.83875 +2.02375 +2.09125 +2.02875 +1.8499999 +1.59875 +1.11125 +0.83374995 +0.60249996 +0.40875 +0.24 +0.1325 +0.07625 +0.05125 +0.04125 +0.04625 +0.065 +0.0925 +0.055 +0.0125 +0.0025 +0.00875 +0.005 +0.0325 +0.09875 +0.19125 +0.22000001 +0.16 +0.068749994 +0.02625 +0.033749998 +0.08 +0.19250001 +0.40124997 +0.6175 +0.80625 +0.95875 +1.10375 +1.2049999 +1.24375 +1.2125 +1.1025 +0.9225 +0.69750005 +0.46249998 +0.2725 +0.175 +0.1275 +0.14 +0.22875 +0.275 +0.23875 +0.12 +0.036250003 +0.01625 +0.00625 +0.01 +0.06625 +0.17375 +0.24375 +0.2475 +0.20875 +0.18125 +0.21 +0.28125 +0.39375 +0.525 +0.65374994 +0.7975 +0.99249995 +1.24 +1.5175002 +1.7775 +1.9575 +2.00875 +1.9175 +1.7025 +1.41375 +1.11125 +0.83374995 +0.60249996 +0.40875 +0.24 +0.1325 +0.07625 +0.05125 +0.04125 +0.04625 +0.065 +0.0925 +0.055 +0.0125 +0.0025 +0.00875 +0.005 +0.0325 +0.09875 +0.19125 +0.22000001 +0.16 +0.068749994 +0.02625 +0.033749998 +0.08 +0.19250001 +0.40124997 +0.6175 +0.80625 +0.95875 +1.10375 +1.2049999 +1.24375 +1.2125 +1.1025 +0.9225 +0.69750005 +0.46249998 +0.2725 +0.175 +0.1275 +0.14 +0.22875 +0.275 +0.23875 +0.12 +0.036250003 +0.01625 +0.00625 +0.01 +0.06625 +0.17375 +0.24375 +0.2475 +0.20875 +0.18125 +0.21 +0.28125 +0.39375 +0.525 +0.65374994 +0.7975 +0.99249995 +1.24 +1.5175002 +1.7775 +1.9575 +2.00875 +1.9175 +1.7025 +1.41375 +0.855 +0.58625 +0.37874997 +0.23249999 +0.1325 +0.076249994 +0.0525 +0.0425 +0.0325 +0.01875 +0.00875 +0.01625 +0.0075 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01875 +0.05875 +0.1 +0.057499997 +0.01125 +0.0 +0.0025 +0.00875 +0.058750004 +0.2225 +0.43125 +0.60375 +0.725 +0.8275 +0.91625 +0.9625 +0.9499999 +0.8625 +0.69624996 +0.47249997 +0.23625 +0.11125 +0.05875 +0.03375 +0.051250003 +0.14625 +0.20000002 +0.14750001 +0.04 +0.00125 +0.0025 +0.0 +0.01875 +0.0925 +0.21374999 +0.285 +0.27625 +0.23250002 +0.215 +0.25625002 +0.35625002 +0.48 +0.595 +0.68875 +0.78374994 +0.9375 +1.1474999 +1.40125 +1.6412499 +1.80625 +1.8387501 +1.7237501 +1.4825 +1.1712501 +0.855 +0.58625 +0.37874997 +0.23249999 +0.1325 +0.076249994 +0.0525 +0.0425 +0.0325 +0.01875 +0.00875 +0.01625 +0.0075 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01875 +0.05875 +0.1 +0.057499997 +0.01125 +0.0 +0.0025 +0.00875 +0.058750004 +0.2225 +0.43125 +0.60375 +0.725 +0.8275 +0.91625 +0.9625 +0.9499999 +0.8625 +0.69624996 +0.47249997 +0.23625 +0.11125 +0.05875 +0.03375 +0.051250003 +0.14625 +0.20000002 +0.14750001 +0.04 +0.00125 +0.0025 +0.0 +0.01875 +0.0925 +0.21374999 +0.285 +0.27625 +0.23250002 +0.215 +0.25625002 +0.35625002 +0.48 +0.595 +0.68875 +0.78374994 +0.9375 +1.1474999 +1.40125 +1.6412499 +1.80625 +1.8387501 +1.7237501 +1.4825 +1.1712501 +0.64875 +0.39249998 +0.24625 +0.15625 +0.095 +0.0625 +0.04875 +0.04625 +0.04375 +0.0325 +0.01125 +0.0 +0.0 +0.0 +0.0 +0.00625 +0.00125 +0.0 +0.0 +0.01625 +0.07375 +0.05375 +0.00125 +0.0 +0.01875 +0.0125 +0.0275 +0.175 +0.35875002 +0.5075 +0.60125 +0.68625003 +0.76125 +0.81125 +0.81624997 +0.755 +0.60875 +0.39499998 +0.18 +0.08875 +0.06625 +0.0325 +0.044999998 +0.15 +0.195 +0.13 +0.0225 +0.0125 +0.01875 +0.0 +0.0225 +0.11750001 +0.25 +0.3225 +0.31125 +0.26874998 +0.26874998 +0.3425 +0.46124998 +0.59749997 +0.7 +0.75875 +0.81500006 +0.915 +1.0775 +1.29125 +1.50625 +1.6525 +1.6724999 +1.54375 +1.28625 +0.96500003 +0.64875 +0.39249998 +0.24625 +0.15625 +0.095 +0.0625 +0.04875 +0.04625 +0.04375 +0.0325 +0.01125 +0.0 +0.0 +0.0 +0.0 +0.00625 +0.00125 +0.0 +0.0 +0.01625 +0.07375 +0.05375 +0.00125 +0.0 +0.01875 +0.0125 +0.0275 +0.175 +0.35875002 +0.5075 +0.60125 +0.68625003 +0.76125 +0.81125 +0.81624997 +0.755 +0.60875 +0.39499998 +0.18 +0.08875 +0.06625 +0.0325 +0.044999998 +0.15 +0.195 +0.13 +0.0225 +0.0125 +0.01875 +0.0 +0.0225 +0.11750001 +0.25 +0.3225 +0.31125 +0.26874998 +0.26874998 +0.3425 +0.46124998 +0.59749997 +0.7 +0.75875 +0.81500006 +0.915 +1.0775 +1.29125 +1.50625 +1.6525 +1.6724999 +1.54375 +1.28625 +0.96500003 +0.56875 +0.33874997 +0.22375001 +0.1575 +0.1125 +0.08 +0.065 +0.0675 +0.06875 +0.0575 +0.04625 +0.065 +0.065 +0.035 +0.01875 +0.03375 +0.0325 +0.01 +0.0025 +0.105000004 +0.19375 +0.18249999 +0.097500004 +0.065 +0.06375 +0.060000002 +0.118750006 +0.255 +0.43625 +0.5675 +0.66625005 +0.73875 +0.80125004 +0.85249996 +0.8725 +0.8325 +0.70875 +0.50875 +0.29375002 +0.1525 +0.1025 +0.09625 +0.15375 +0.24874999 +0.305 +0.23124999 +0.11624999 +0.0575 +0.06375 +0.0425 +0.0375 +0.17375 +0.31124997 +0.38125 +0.36375 +0.33125 +0.36124998 +0.45125 +0.5875 +0.72625 +0.82750005 +0.8787499 +0.9075 +0.9625 +1.0799999 +1.2549999 +1.44625 +1.5825 +1.6025 +1.4724998 +1.2125 +0.88625 +0.56875 +0.33874997 +0.22375001 +0.1575 +0.1125 +0.08 +0.065 +0.0675 +0.06875 +0.0575 +0.04625 +0.065 +0.065 +0.035 +0.01875 +0.03375 +0.0325 +0.01 +0.0025 +0.105000004 +0.19375 +0.18249999 +0.097500004 +0.065 +0.06375 +0.060000002 +0.118750006 +0.255 +0.43625 +0.5675 +0.66625005 +0.73875 +0.80125004 +0.85249996 +0.8725 +0.8325 +0.70875 +0.50875 +0.29375002 +0.1525 +0.1025 +0.09625 +0.15375 +0.24874999 +0.305 +0.23124999 +0.11624999 +0.0575 +0.06375 +0.0425 +0.0375 +0.17375 +0.31124997 +0.38125 +0.36375 +0.33125 +0.36124998 +0.45125 +0.5875 +0.72625 +0.82750005 +0.8787499 +0.9075 +0.9625 +1.0799999 +1.2549999 +1.44625 +1.5825 +1.6025 +1.4724998 +1.2125 +0.88625 +0.6375 +0.4075 +0.28124997 +0.22 +0.19749998 +0.17750001 +0.1475 +0.1225 +0.1175 +0.13875 +0.20125 +0.28625 +0.32 +0.26125 +0.1725 +0.11625 +0.091249995 +0.0975 +0.17375 +0.32999998 +0.46375 +0.47125 +0.39 +0.2725 +0.2025 +0.21750002 +0.32125 +0.48250002 +0.64875 +0.77750003 +0.86499995 +0.92375 +0.975 +1.0275 +1.0575 +1.03 +0.9237501 +0.7375 +0.51375 +0.32 +0.22250001 +0.23624998 +0.3375 +0.46 +0.51625 +0.46124998 +0.31375 +0.17625 +0.12 +0.107499994 +0.15875 +0.285 +0.425 +0.48499998 +0.48 +0.4625 +0.485 +0.57875 +0.7275 +0.88374996 +0.99749994 +1.0475 +1.06125 +1.0837499 +1.165 +1.30875 +1.48375 +1.6225 +1.6524999 +1.53625 +1.2850001 +0.9575 +0.6375 +0.4075 +0.28124997 +0.22 +0.19749998 +0.17750001 +0.1475 +0.1225 +0.1175 +0.13875 +0.20125 +0.28625 +0.32 +0.26125 +0.1725 +0.11625 +0.091249995 +0.0975 +0.17375 +0.32999998 +0.46375 +0.47125 +0.39 +0.2725 +0.2025 +0.21750002 +0.32125 +0.48250002 +0.64875 +0.77750003 +0.86499995 +0.92375 +0.975 +1.0275 +1.0575 +1.03 +0.9237501 +0.7375 +0.51375 +0.32 +0.22250001 +0.23624998 +0.3375 +0.46 +0.51625 +0.46124998 +0.31375 +0.17625 +0.12 +0.107499994 +0.15875 +0.285 +0.425 +0.48499998 +0.48 +0.4625 +0.485 +0.57875 +0.7275 +0.88374996 +0.99749994 +1.0475 +1.06125 +1.0837499 +1.165 +1.30875 +1.48375 +1.6225 +1.6524999 +1.53625 +1.2850001 +0.9575 +0.79875004 +0.555 +0.42249998 +0.39 +0.3975 +0.39000002 +0.3475 +0.295 +0.285 +0.3525 +0.48625 +0.62999994 +0.7075 +0.6712501 +0.5375 +0.38374996 +0.3025 +0.345 +0.4975 +0.68125004 +0.8 +0.8025 +0.6975 +0.55125 +0.445 +0.435 +0.52500004 +0.6775 +0.835 +0.9575 +1.0350001 +1.08625 +1.12875 +1.175 +1.205 +1.18625 +1.095 +0.92125 +0.7025 +0.5 +0.38124996 +0.37875003 +0.47375 +0.60749996 +0.685 +0.65500003 +0.52250004 +0.35 +0.22999999 +0.22 +0.31875 +0.48125 +0.62874997 +0.69875 +0.69125 +0.65625 +0.6575 +0.73625 +0.885 +1.05125 +1.1812501 +1.2425 +1.25 +1.25125 +1.3000001 +1.41625 +1.5774999 +1.71875 +1.7674999 +1.6750001 +1.43875 +1.11875 +0.79875004 +0.555 +0.42249998 +0.39 +0.3975 +0.39000002 +0.3475 +0.295 +0.285 +0.3525 +0.48625 +0.62999994 +0.7075 +0.6712501 +0.5375 +0.38374996 +0.3025 +0.345 +0.4975 +0.68125004 +0.8 +0.8025 +0.6975 +0.55125 +0.445 +0.435 +0.52500004 +0.6775 +0.835 +0.9575 +1.0350001 +1.08625 +1.12875 +1.175 +1.205 +1.18625 +1.095 +0.92125 +0.7025 +0.5 +0.38124996 +0.37875003 +0.47375 +0.60749996 +0.685 +0.65500003 +0.52250004 +0.35 +0.22999999 +0.22 +0.31875 +0.48125 +0.62874997 +0.69875 +0.69125 +0.65625 +0.6575 +0.73625 +0.885 +1.05125 +1.1812501 +1.2425 +1.25 +1.25125 +1.3000001 +1.41625 +1.5774999 +1.71875 +1.7674999 +1.6750001 +1.43875 +1.11875 +0.9575 +0.72374994 +0.61 +0.60125 +0.635 +0.64625 +0.61375 +0.56375 +0.55375 +0.63 +0.78625 +0.9625 +1.0699999 +1.0500001 +0.91375 +0.73875004 +0.62249994 +0.6225 +0.73749995 +0.8875 +0.9799999 +0.95875 +0.82875 +0.6550001 +0.52 +0.485 +0.55125 +0.68499994 +0.8324999 +0.95 +1.025 +1.0662501 +1.09875 +1.13375 +1.15875 +1.145 +1.06875 +0.915 +0.71 +0.50625 +0.37000003 +0.34875 +0.43624997 +0.57500005 +0.685 +0.69875 +0.60875 +0.4625 +0.3525 +0.35125002 +0.475 +0.675 +0.86375 +0.97375 +0.9837499 +0.94375 +0.92 +0.9625 +1.0862501 +1.245 +1.3775 +1.4412501 +1.4387499 +1.415 +1.4237499 +1.5025 +1.6425 +1.785 +1.8525001 +1.7837499 +1.5725 +1.2674999 +0.9575 +0.72374994 +0.61 +0.60125 +0.635 +0.64625 +0.61375 +0.56375 +0.55375 +0.63 +0.78625 +0.9625 +1.0699999 +1.0500001 +0.91375 +0.73875004 +0.62249994 +0.6225 +0.73749995 +0.8875 +0.9799999 +0.95875 +0.82875 +0.6550001 +0.52 +0.485 +0.55125 +0.68499994 +0.8324999 +0.95 +1.025 +1.0662501 +1.09875 +1.13375 +1.15875 +1.145 +1.06875 +0.915 +0.71 +0.50625 +0.37000003 +0.34875 +0.43624997 +0.57500005 +0.685 +0.69875 +0.60875 +0.4625 +0.3525 +0.35125002 +0.475 +0.675 +0.86375 +0.97375 +0.9837499 +0.94375 +0.92 +0.9625 +1.0862501 +1.245 +1.3775 +1.4412501 +1.4387499 +1.415 +1.4237499 +1.5025 +1.6425 +1.785 +1.8525001 +1.7837499 +1.5725 +1.2674999 +1.04 +0.8375 +0.75750005 +0.78499997 +0.85 +0.8825 +0.855 +0.79875 +0.7825 +0.85625 +1.0175 +1.2012501 +1.31125 +1.275 +1.10625 +0.88124996 +0.705 +0.64875 +0.71 +0.82250005 +0.88875 +0.84875 +0.70124996 +0.51 +0.35375 +0.29625 +0.34250003 +0.48125002 +0.63 +0.73 +0.77625 +0.80625004 +0.82375 +0.84499997 +0.86625 +0.86625004 +0.81375 +0.69624996 +0.51625 +0.32500002 +0.1975 +0.1625 +0.2225 +0.39500004 +0.55375004 +0.6075 +0.5475 +0.44625002 +0.37125 +0.4075 +0.58125 +0.85375005 +1.1312499 +1.3249999 +1.3924999 +1.36125 +1.3050001 +1.29625 +1.365 +1.48125 +1.58875 +1.63 +1.5975001 +1.5262501 +1.48125 +1.50875 +1.61375 +1.7475 +1.82875 +1.7874999 +1.60375 +1.325 +1.04 +0.8375 +0.75750005 +0.78499997 +0.85 +0.8825 +0.855 +0.79875 +0.7825 +0.85625 +1.0175 +1.2012501 +1.31125 +1.275 +1.10625 +0.88124996 +0.705 +0.64875 +0.71 +0.82250005 +0.88875 +0.84875 +0.70124996 +0.51 +0.35375 +0.29625 +0.34250003 +0.48125002 +0.63 +0.73 +0.77625 +0.80625004 +0.82375 +0.84499997 +0.86625 +0.86625004 +0.81375 +0.69624996 +0.51625 +0.32500002 +0.1975 +0.1625 +0.2225 +0.39500004 +0.55375004 +0.6075 +0.5475 +0.44625002 +0.37125 +0.4075 +0.58125 +0.85375005 +1.1312499 +1.3249999 +1.3924999 +1.36125 +1.3050001 +1.29625 +1.365 +1.48125 +1.58875 +1.63 +1.5975001 +1.5262501 +1.48125 +1.50875 +1.61375 +1.7475 +1.82875 +1.7874999 +1.60375 +1.325 +1.03125 +0.8675 +0.83625 +0.90999997 +1.01375 +1.0687499 +1.045 +0.98 +0.95000005 +1.015 +1.1687499 +1.3374999 +1.42125 +1.34375 +1.1099999 +0.8075 +0.55375 +0.435 +0.43875 +0.5325 +0.61625004 +0.56125 +0.38124996 +0.20749998 +0.09625 +0.05 +0.098749995 +0.19 +0.31 +0.39875 +0.425 +0.41375 +0.405 +0.41375 +0.44 +0.4675 +0.4625 +0.39125 +0.25875 +0.10875 +0.02 +0.01375 +0.06625 +0.21000001 +0.405 +0.5125 +0.49875003 +0.40375 +0.36125 +0.44375 +0.69375 +1.0975001 +1.51 +1.7925 +1.9287499 +1.9212499 +1.8325 +1.75 +1.72875 +1.7687502 +1.8124999 +1.8 +1.7099999 +1.57375 +1.45625 +1.42125 +1.4850001 +1.605 +1.69625 +1.6825 +1.53125 +1.28375 +1.03125 +0.8675 +0.83625 +0.90999997 +1.01375 +1.0687499 +1.045 +0.98 +0.95000005 +1.015 +1.1687499 +1.3374999 +1.42125 +1.34375 +1.1099999 +0.8075 +0.55375 +0.435 +0.43875 +0.5325 +0.61625004 +0.56125 +0.38124996 +0.20749998 +0.09625 +0.05 +0.098749995 +0.19 +0.31 +0.39875 +0.425 +0.41375 +0.405 +0.41375 +0.44 +0.4675 +0.4625 +0.39125 +0.25875 +0.10875 +0.02 +0.01375 +0.06625 +0.21000001 +0.405 +0.5125 +0.49875003 +0.40375 +0.36125 +0.44375 +0.69375 +1.0975001 +1.51 +1.7925 +1.9287499 +1.9212499 +1.8325 +1.75 +1.72875 +1.7687502 +1.8124999 +1.8 +1.7099999 +1.57375 +1.45625 +1.42125 +1.4850001 +1.605 +1.69625 +1.6825 +1.53125 +1.28375 +0.97875005 +0.84625 +0.85499996 +0.97249997 +1.1125001 +1.19125 +1.17875 +1.1137501 +1.07875 +1.1387501 +1.285 +1.4387499 +1.48625 +1.34875 +1.0350001 +0.645 +0.35000002 +0.20874998 +0.15125 +0.20250002 +0.27874997 +0.23875001 +0.10125 +0.015 +0.0 +0.0 +0.0 +0.01875 +0.06125 +0.1025 +0.12 +0.10875 +0.09625 +0.10125 +0.13375 +0.19624999 +0.2525 +0.2475 +0.16625 +0.058750004 +0.00875 +0.0 +0.035 +0.155 +0.35249996 +0.5075 +0.54 +0.48375002 +0.45125002 +0.5725 +0.91124994 +1.4199998 +1.96125 +2.365 +2.5674999 +2.5912502 +2.46125 +2.2875001 +2.15125 +2.07875 +2.0275 +1.9325 +1.7687501 +1.5574999 +1.36875 +1.27625 +1.30875 +1.4225 +1.53 +1.54375 +1.42125 +1.2025 +0.97875005 +0.84625 +0.85499996 +0.97249997 +1.1125001 +1.19125 +1.17875 +1.1137501 +1.07875 +1.1387501 +1.285 +1.4387499 +1.48625 +1.34875 +1.0350001 +0.645 +0.35000002 +0.20874998 +0.15125 +0.20250002 +0.27874997 +0.23875001 +0.10125 +0.015 +0.0 +0.0 +0.0 +0.01875 +0.06125 +0.1025 +0.12 +0.10875 +0.09625 +0.10125 +0.13375 +0.19624999 +0.2525 +0.2475 +0.16625 +0.058750004 +0.00875 +0.0 +0.035 +0.155 +0.35249996 +0.5075 +0.54 +0.48375002 +0.45125002 +0.5725 +0.91124994 +1.4199998 +1.96125 +2.365 +2.5674999 +2.5912502 +2.46125 +2.2875001 +2.15125 +2.07875 +2.0275 +1.9325 +1.7687501 +1.5574999 +1.36875 +1.27625 +1.30875 +1.4225 +1.53 +1.54375 +1.42125 +1.2025 +0.94499993 +0.82624996 +0.85375 +0.9937501 +1.1600001 +1.2637501 +1.27125 +1.2237501 +1.2099999 +1.2925 +1.4550002 +1.61 +1.6324999 +1.44375 +1.055 +0.585 +0.3 +0.17875 +0.07125 +0.041249998 +0.07875 +0.04875 +0.0 +0.0025 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0125 +0.00625 +0.005 +0.01125 +0.0525 +0.14875 +0.25625 +0.31750003 +0.29 +0.18625 +0.09 +0.0575 +0.1125 +0.26125002 +0.47625 +0.65999997 +0.7225 +0.685 +0.665 +0.80125 +1.17875 +1.7675 +2.4175 +2.92875 +3.2199998 +3.2637498 +3.09 +2.8174999 +2.5587502 +2.36125 +2.2025 +2.02125 +1.7812501 +1.5050001 +1.2650001 +1.1387501 +1.1612501 +1.2875 +1.42125 +1.4625001 +1.365 +1.16 +0.94499993 +0.82624996 +0.85375 +0.9937501 +1.1600001 +1.2637501 +1.27125 +1.2237501 +1.2099999 +1.2925 +1.4550002 +1.61 +1.6324999 +1.44375 +1.055 +0.585 +0.3 +0.17875 +0.07125 +0.041249998 +0.07875 +0.04875 +0.0 +0.0025 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.01 +0.0125 +0.00625 +0.005 +0.01125 +0.0525 +0.14875 +0.25625 +0.31750003 +0.29 +0.18625 +0.09 +0.0575 +0.1125 +0.26125002 +0.47625 +0.65999997 +0.7225 +0.685 +0.665 +0.80125 +1.17875 +1.7675 +2.4175 +2.92875 +3.2199998 +3.2637498 +3.09 +2.8174999 +2.5587502 +2.36125 +2.2025 +2.02125 +1.7812501 +1.5050001 +1.2650001 +1.1387501 +1.1612501 +1.2875 +1.42125 +1.4625001 +1.365 +1.16 +0.98125005 +0.84749997 +0.865 +1.0087501 +1.18625 +1.31375 +1.355 +1.35125 +1.39125 +1.5275 +1.7437501 +1.9337499 +1.9612502 +1.7412499 +1.29625 +0.765 +0.39 +0.23 +0.1025 +0.067499995 +0.1275 +0.10625 +0.060000002 +0.0575 +0.06125 +0.03625 +0.0 +0.04 +0.099999994 +0.1425 +0.1725 +0.16625 +0.15 +0.15375 +0.19999999 +0.325 +0.4875 +0.59625 +0.61625 +0.55125004 +0.43374997 +0.34500003 +0.35750002 +0.495 +0.73125005 +0.9275 +0.99999994 +0.99625 +0.98375 +1.09875 +1.4475001 +2.0525 +2.7637498 +3.35375 +3.73 +3.7862499 +3.57375 +3.22 +2.8537502 +2.5525002 +2.30375 +2.05125 +1.7587501 +1.44625 +1.1837499 +1.0524999 +1.08875 +1.2475001 +1.4200001 +1.4962499 +1.4137499 +1.20875 +0.98125005 +0.84749997 +0.865 +1.0087501 +1.18625 +1.31375 +1.355 +1.35125 +1.39125 +1.5275 +1.7437501 +1.9337499 +1.9612502 +1.7412499 +1.29625 +0.765 +0.39 +0.23 +0.1025 +0.067499995 +0.1275 +0.10625 +0.060000002 +0.0575 +0.06125 +0.03625 +0.0 +0.04 +0.099999994 +0.1425 +0.1725 +0.16625 +0.15 +0.15375 +0.19999999 +0.325 +0.4875 +0.59625 +0.61625 +0.55125004 +0.43374997 +0.34500003 +0.35750002 +0.495 +0.73125005 +0.9275 +0.99999994 +0.99625 +0.98375 +1.09875 +1.4475001 +2.0525 +2.7637498 +3.35375 +3.73 +3.7862499 +3.57375 +3.22 +2.8537502 +2.5525002 +2.30375 +2.05125 +1.7587501 +1.44625 +1.1837499 +1.0524999 +1.08875 +1.2475001 +1.4200001 +1.4962499 +1.4137499 +1.20875 +1.08375 +0.91749996 +0.90875 +1.04 +1.2262499 +1.37875 +1.4662501 +1.52875 +1.64875 +1.8725002 +2.16875 +2.41875 +2.4750001 +2.24875 +1.7675 +1.1712501 +0.6625 +0.37875 +0.2925 +0.3225 +0.39875004 +0.41125 +0.32125 +0.22625001 +0.1825 +0.16499999 +0.195 +0.30875 +0.46375003 +0.56749994 +0.59000003 +0.54875 +0.49375 +0.4775 +0.53499997 +0.66625 +0.83374995 +0.96625006 +1.01125 +0.94624996 +0.8175 +0.70624995 +0.69374996 +0.81125003 +1.0150001 +1.2037499 +1.29125 +1.26875 +1.2225 +1.29375 +1.6075 +2.1774998 +2.8849998 +3.5387497 +3.945 +4.01375 +3.7825003 +3.3825002 +2.96 +2.5975 +2.3025 +2.02125 +1.7150002 +1.3975 +1.14 +1.0287501 +1.0987501 +1.29875 +1.5124999 +1.61875 +1.54875 +1.33375 +1.08375 +0.91749996 +0.90875 +1.04 +1.2262499 +1.37875 +1.4662501 +1.52875 +1.64875 +1.8725002 +2.16875 +2.41875 +2.4750001 +2.24875 +1.7675 +1.1712501 +0.6625 +0.37875 +0.2925 +0.3225 +0.39875004 +0.41125 +0.32125 +0.22625001 +0.1825 +0.16499999 +0.195 +0.30875 +0.46375003 +0.56749994 +0.59000003 +0.54875 +0.49375 +0.4775 +0.53499997 +0.66625 +0.83374995 +0.96625006 +1.01125 +0.94624996 +0.8175 +0.70624995 +0.69374996 +0.81125003 +1.0150001 +1.2037499 +1.29125 +1.26875 +1.2225 +1.29375 +1.6075 +2.1774998 +2.8849998 +3.5387497 +3.945 +4.01375 +3.7825003 +3.3825002 +2.96 +2.5975 +2.3025 +2.02125 +1.7150002 +1.3975 +1.14 +1.0287501 +1.0987501 +1.29875 +1.5124999 +1.61875 +1.54875 +1.33375 +1.205 +1.0125 +0.9825 +1.1025 +1.3024999 +1.4875 +1.63 +1.7674999 +1.975 +2.29625 +2.6812499 +2.9987502 +3.0950003 +2.87625 +2.36875 +1.73 +1.155 +0.79249996 +0.68 +0.73625 +0.82374996 +0.83250004 +0.7325 +0.58 +0.46499997 +0.4575 +0.56625 +0.74 +0.90375 +0.995 +0.99249995 +0.92125 +0.8312501 +0.78499997 +0.81624997 +0.92625 +1.0725 +1.18875 +1.21375 +1.13125 +0.98249996 +0.85125005 +0.81374997 +0.91375005 +1.0999999 +1.2750001 +1.34875 +1.3012501 +1.2175 +1.2412499 +1.5037501 +2.0275002 +2.7112498 +3.3625 +3.7824998 +3.8700001 +3.655 +3.2624998 +2.84375 +2.49125 +2.2075 +1.9437499 +1.65875 +1.36375 +1.1287501 +1.04375 +1.145 +1.37875 +1.6287498 +1.7574999 +1.6999999 +1.4775 +1.205 +1.0125 +0.9825 +1.1025 +1.3024999 +1.4875 +1.63 +1.7674999 +1.975 +2.29625 +2.6812499 +2.9987502 +3.0950003 +2.87625 +2.36875 +1.73 +1.155 +0.79249996 +0.68 +0.73625 +0.82374996 +0.83250004 +0.7325 +0.58 +0.46499997 +0.4575 +0.56625 +0.74 +0.90375 +0.995 +0.99249995 +0.92125 +0.8312501 +0.78499997 +0.81624997 +0.92625 +1.0725 +1.18875 +1.21375 +1.13125 +0.98249996 +0.85125005 +0.81374997 +0.91375005 +1.0999999 +1.2750001 +1.34875 +1.3012501 +1.2175 +1.2412499 +1.5037501 +2.0275002 +2.7112498 +3.3625 +3.7824998 +3.8700001 +3.655 +3.2624998 +2.84375 +2.49125 +2.2075 +1.9437499 +1.65875 +1.36375 +1.1287501 +1.04375 +1.145 +1.37875 +1.6287498 +1.7574999 +1.6999999 +1.4775 +1.305 +1.11 +1.07875 +1.20875 +1.42625 +1.6524999 +1.8500001 +2.05625 +2.33875 +2.7324998 +3.18375 +3.5550003 +3.6850004 +3.4725 +2.95 +2.27125 +1.64625 +1.2325001 +1.07625 +1.0975001 +1.16 +1.1500001 +1.0337499 +0.86625 +0.74250007 +0.72875 +0.83250004 +0.99999994 +1.1475 +1.21125 +1.17625 +1.06625 +0.94375 +0.86249995 +0.8575 +0.925 +1.03 +1.1025 +1.095 +0.98875 +0.8225 +0.67499995 +0.62874997 +0.71375 +0.885 +1.045 +1.105 +1.0425 +0.93 +0.91375 +1.12 +1.5899999 +2.23 +2.85625 +3.2799997 +3.395 +3.22625 +2.8975 +2.5475001 +2.26125 +2.0425 +1.8375001 +1.59875 +1.33875 +1.12875 +1.06 +1.1737499 +1.42125 +1.6875 +1.83625 +1.7925 +1.5775 +1.305 +1.11 +1.07875 +1.20875 +1.42625 +1.6524999 +1.8500001 +2.05625 +2.33875 +2.7324998 +3.18375 +3.5550003 +3.6850004 +3.4725 +2.95 +2.27125 +1.64625 +1.2325001 +1.07625 +1.0975001 +1.16 +1.1500001 +1.0337499 +0.86625 +0.74250007 +0.72875 +0.83250004 +0.99999994 +1.1475 +1.21125 +1.17625 +1.06625 +0.94375 +0.86249995 +0.8575 +0.925 +1.03 +1.1025 +1.095 +0.98875 +0.8225 +0.67499995 +0.62874997 +0.71375 +0.885 +1.045 +1.105 +1.0425 +0.93 +0.91375 +1.12 +1.5899999 +2.23 +2.85625 +3.2799997 +3.395 +3.22625 +2.8975 +2.5475001 +2.26125 +2.0425 +1.8375001 +1.59875 +1.33875 +1.12875 +1.06 +1.1737499 +1.42125 +1.6875 +1.83625 +1.7925 +1.5775 +1.3687501 +1.2025001 +1.1975 +1.355 +1.6049999 +1.86875 +2.10875 +2.3575 +2.6787498 +3.1025 +3.5762498 +3.9662502 +4.10875 +3.9 +3.365 +2.6625001 +1.99125 +1.5212501 +1.3062501 +1.2787501 +1.3375001 +1.28 +1.12 +0.93375003 +0.78999996 +0.75875 +0.8425 +1.00875 +1.12375 +1.13375 +1.0687499 +0.93375 +0.7825 +0.675 +0.63875 +0.67875004 +0.74375 +0.76250005 +0.70750004 +0.58500004 +0.41750002 +0.29749998 +0.255 +0.30999997 +0.4925 +0.64625 +0.67625 +0.60625 +0.4825 +0.44625 +0.60375 +1.03625 +1.6337501 +2.185 +2.5987499 +2.74 +2.63625 +2.3962498 +2.15125 +1.9712499 +1.84875 +1.7225001 +1.54 +1.315 +1.1212499 +1.05125 +1.15375 +1.3974999 +1.6637502 +1.82125 +1.7975 +1.61125 +1.3687501 +1.2025001 +1.1975 +1.355 +1.6049999 +1.86875 +2.10875 +2.3575 +2.6787498 +3.1025 +3.5762498 +3.9662502 +4.10875 +3.9 +3.365 +2.6625001 +1.99125 +1.5212501 +1.3062501 +1.2787501 +1.3375001 +1.28 +1.12 +0.93375003 +0.78999996 +0.75875 +0.8425 +1.00875 +1.12375 +1.13375 +1.0687499 +0.93375 +0.7825 +0.675 +0.63875 +0.67875004 +0.74375 +0.76250005 +0.70750004 +0.58500004 +0.41750002 +0.29749998 +0.255 +0.30999997 +0.4925 +0.64625 +0.67625 +0.60625 +0.4825 +0.44625 +0.60375 +1.03625 +1.6337501 +2.185 +2.5987499 +2.74 +2.63625 +2.3962498 +2.15125 +1.9712499 +1.84875 +1.7225001 +1.54 +1.315 +1.1212499 +1.05125 +1.15375 +1.3974999 +1.6637502 +1.82125 +1.7975 +1.61125 +1.4112501 +1.295 +1.335 +1.5262501 +1.8087499 +2.09875 +2.3587499 +2.615 +2.9262502 +3.32625 +3.775 +4.14375 +4.2762504 +4.07375 +3.5487502 +2.8400002 +2.14625 +1.63375 +1.3625001 +1.31125 +1.3312501 +1.2462499 +1.04875 +0.81624997 +0.65125 +0.615 +0.70375 +0.83875 +0.92875 +0.91625 +0.80125 +0.63125 +0.47375 +0.36875 +0.3375 +0.35625 +0.385 +0.37375003 +0.29375 +0.1725 +0.06 +0.00125 +0.015 +0.06375 +0.17625 +0.31875 +0.34875 +0.24875002 +0.1325 +0.09375 +0.2175 +0.59625 +1.1225001 +1.6062499 +1.9575001 +2.10875 +2.0562499 +1.9 +1.755 +1.6800001 +1.65125 +1.6037501 +1.47625 +1.27875 +1.09125 +1.00875 +1.09375 +1.315 +1.57 +1.7375 +1.7425001 +1.6012499 +1.4112501 +1.295 +1.335 +1.5262501 +1.8087499 +2.09875 +2.3587499 +2.615 +2.9262502 +3.32625 +3.775 +4.14375 +4.2762504 +4.07375 +3.5487502 +2.8400002 +2.14625 +1.63375 +1.3625001 +1.31125 +1.3312501 +1.2462499 +1.04875 +0.81624997 +0.65125 +0.615 +0.70375 +0.83875 +0.92875 +0.91625 +0.80125 +0.63125 +0.47375 +0.36875 +0.3375 +0.35625 +0.385 +0.37375003 +0.29375 +0.1725 +0.06 +0.00125 +0.015 +0.06375 +0.17625 +0.31875 +0.34875 +0.24875002 +0.1325 +0.09375 +0.2175 +0.59625 +1.1225001 +1.6062499 +1.9575001 +2.10875 +2.0562499 +1.9 +1.755 +1.6800001 +1.65125 +1.6037501 +1.47625 +1.27875 +1.09125 +1.00875 +1.09375 +1.315 +1.57 +1.7375 +1.7425001 +1.6012499 +1.4575 +1.395 +1.475 +1.6949999 +1.9925001 +2.2875 +2.5375001 +2.7625 +3.01875 +3.34875 +3.72625 +4.045 +4.16 +3.97375 +3.48875 +2.8175 +2.1375 +1.6125 +1.3062501 +1.2187501 +1.2 +1.0975001 +0.895 +0.655 +0.47125003 +0.41125 +0.46875003 +0.57625 +0.6525 +0.64125 +0.54 +0.38750002 +0.24374999 +0.14999999 +0.11375 +0.115 +0.12625 +0.10875 +0.04625 +0.0025 +0.0 +0.0 +0.0 +0.01625 +0.085 +0.19624999 +0.22625001 +0.14125 +0.051249996 +0.034999996 +0.10875 +0.39625 +0.8325 +1.2437501 +1.53 +1.66125 +1.62 +1.51 +1.4325 +1.42875 +1.46625 +1.46875 +1.3800001 +1.205 +1.02125 +0.93125 +0.99875003 +1.20125 +1.45125 +1.6325 +1.67375 +1.5887501 +1.4575 +1.395 +1.475 +1.6949999 +1.9925001 +2.2875 +2.5375001 +2.7625 +3.01875 +3.34875 +3.72625 +4.045 +4.16 +3.97375 +3.48875 +2.8175 +2.1375 +1.6125 +1.3062501 +1.2187501 +1.2 +1.0975001 +0.895 +0.655 +0.47125003 +0.41125 +0.46875003 +0.57625 +0.6525 +0.64125 +0.54 +0.38750002 +0.24374999 +0.14999999 +0.11375 +0.115 +0.12625 +0.10875 +0.04625 +0.0025 +0.0 +0.0 +0.0 +0.01625 +0.085 +0.19624999 +0.22625001 +0.14125 +0.051249996 +0.034999996 +0.10875 +0.39625 +0.8325 +1.2437501 +1.53 +1.66125 +1.62 +1.51 +1.4325 +1.42875 +1.46625 +1.46875 +1.3800001 +1.205 +1.02125 +0.93125 +0.99875003 +1.20125 +1.45125 +1.6325 +1.67375 +1.5887501 +1.50875 +1.49125 +1.595 +1.82 +2.1075 +2.3799999 +2.5925 +2.7575 +2.9287498 +3.1562498 +3.4325 +3.67875 +3.7775002 +3.6287498 +3.2175 +2.63 +2.01375 +1.51625 +1.2075001 +1.0762501 +1.0387499 +0.93625003 +0.74625003 +0.53125 +0.34125 +0.24249999 +0.27375 +0.365 +0.445 +0.46125 +0.39875 +0.29250002 +0.19125 +0.125 +0.09625 +0.09625 +0.098749995 +0.08125 +0.05375 +0.02875 +0.0125 +0.0 +0.0075 +0.06375 +0.18625 +0.3075 +0.35375 +0.2825 +0.19000001 +0.14375 +0.195 +0.43125 +0.7925 +1.1225001 +1.3575001 +1.435 +1.37125 +1.25875 +1.195 +1.21375 +1.2737501 +1.29625 +1.2275 +1.0675 +0.895 +0.80875 +0.87375 +1.0725 +1.32625 +1.5324999 +1.61625 +1.585 +1.50875 +1.49125 +1.595 +1.82 +2.1075 +2.3799999 +2.5925 +2.7575 +2.9287498 +3.1562498 +3.4325 +3.67875 +3.7775002 +3.6287498 +3.2175 +2.63 +2.01375 +1.51625 +1.2075001 +1.0762501 +1.0387499 +0.93625003 +0.74625003 +0.53125 +0.34125 +0.24249999 +0.27375 +0.365 +0.445 +0.46125 +0.39875 +0.29250002 +0.19125 +0.125 +0.09625 +0.09625 +0.098749995 +0.08125 +0.05375 +0.02875 +0.0125 +0.0 +0.0075 +0.06375 +0.18625 +0.3075 +0.35375 +0.2825 +0.19000001 +0.14375 +0.195 +0.43125 +0.7925 +1.1225001 +1.3575001 +1.435 +1.37125 +1.25875 +1.195 +1.21375 +1.2737501 +1.29625 +1.2275 +1.0675 +0.895 +0.80875 +0.87375 +1.0725 +1.32625 +1.5324999 +1.61625 +1.585 +1.54375 +1.5500001 +1.6550001 +1.86375 +2.11625 +2.3450003 +2.5025 +2.595 +2.6675 +2.7775 +2.94125 +3.1125 +3.1962497 +3.0987499 +2.78875 +2.3175 +1.805 +1.37125 +1.09375 +0.96250004 +0.90625 +0.84124994 +0.7125 +0.53125 +0.35125 +0.235 +0.21124999 +0.28499997 +0.385 +0.44625002 +0.45499998 +0.44375002 +0.41000003 +0.375 +0.3575 +0.35875 +0.3625 +0.35125 +0.305 +0.22874999 +0.15875 +0.11875 +0.13 +0.23374999 +0.40625 +0.5675 +0.64124995 +0.62125003 +0.52625 +0.43999997 +0.45875 +0.62624997 +0.89875007 +1.17375 +1.3449999 +1.3575001 +1.2462502 +1.1 +1.0074999 +1.00125 +1.045 +1.0625001 +0.99750006 +0.85375 +0.70000005 +0.6325 +0.70875 +0.92 +1.1899999 +1.4250001 +1.5525 +1.5712501 +1.54375 +1.5500001 +1.6550001 +1.86375 +2.11625 +2.3450003 +2.5025 +2.595 +2.6675 +2.7775 +2.94125 +3.1125 +3.1962497 +3.0987499 +2.78875 +2.3175 +1.805 +1.37125 +1.09375 +0.96250004 +0.90625 +0.84124994 +0.7125 +0.53125 +0.35125 +0.235 +0.21124999 +0.28499997 +0.385 +0.44625002 +0.45499998 +0.44375002 +0.41000003 +0.375 +0.3575 +0.35875 +0.3625 +0.35125 +0.305 +0.22874999 +0.15875 +0.11875 +0.13 +0.23374999 +0.40625 +0.5675 +0.64124995 +0.62125003 +0.52625 +0.43999997 +0.45875 +0.62624997 +0.89875007 +1.17375 +1.3449999 +1.3575001 +1.2462502 +1.1 +1.0074999 +1.00125 +1.045 +1.0625001 +0.99750006 +0.85375 +0.70000005 +0.6325 +0.70875 +0.92 +1.1899999 +1.4250001 +1.5525 +1.5712501 +1.525 +1.5475 +1.64 +1.81 +2.0162501 +2.19375 +2.29625 +2.31875 +2.3 +2.3 +2.3575 +2.4524999 +2.51875 +2.4762497 +2.27375 +1.9324999 +1.53375 +1.18125 +0.95250005 +0.8525 +0.8312501 +0.8112499 +0.73625 +0.60125 +0.44624996 +0.33125 +0.29749998 +0.35250002 +0.46875 +0.59375 +0.69375 +0.75125 +0.76625 +0.75625 +0.74375 +0.73625 +0.7325 +0.71500003 +0.66375 +0.575 +0.46750003 +0.3875 +0.385 +0.4825 +0.65375 +0.83124995 +0.935 +0.92125 +0.82124996 +0.71250004 +0.69 +0.7975 +1.0074999 +1.21875 +1.3299999 +1.29375 +1.14 +0.95000005 +0.81125 +0.7625 +0.76875 +0.7675 +0.7025 +0.57500005 +0.44625002 +0.41125 +0.49749997 +0.72375 +1.0137501 +1.2775 +1.4475 +1.5150001 +1.525 +1.5475 +1.64 +1.81 +2.0162501 +2.19375 +2.29625 +2.31875 +2.3 +2.3 +2.3575 +2.4524999 +2.51875 +2.4762497 +2.27375 +1.9324999 +1.53375 +1.18125 +0.95250005 +0.8525 +0.8312501 +0.8112499 +0.73625 +0.60125 +0.44624996 +0.33125 +0.29749998 +0.35250002 +0.46875 +0.59375 +0.69375 +0.75125 +0.76625 +0.75625 +0.74375 +0.73625 +0.7325 +0.71500003 +0.66375 +0.575 +0.46750003 +0.3875 +0.385 +0.4825 +0.65375 +0.83124995 +0.935 +0.92125 +0.82124996 +0.71250004 +0.69 +0.7975 +1.0074999 +1.21875 +1.3299999 +1.29375 +1.14 +0.95000005 +0.81125 +0.7625 +0.76875 +0.7675 +0.7025 +0.57500005 +0.44625002 +0.41125 +0.49749997 +0.72375 +1.0137501 +1.2775 +1.4475 +1.5150001 +1.45375 +1.4912499 +1.5649999 +1.6962501 +1.8525 +1.9825001 +2.04 +2.01 +1.9225 +1.8387499 +1.805 +1.8325 +1.8824999 +1.8812499 +1.7712499 +1.54125 +1.2462499 +0.96750003 +0.7825 +0.7125 +0.72875 +0.76 +0.74625003 +0.66499996 +0.54125 +0.43125004 +0.39124998 +0.44625 +0.58374995 +0.7575 +0.92 +1.035 +1.08875 +1.0925 +1.06875 +1.04125 +1.0175 +0.9825 +0.9175 +0.81 +0.68 +0.56874996 +0.53374994 +0.6025 +0.7525 +0.91999996 +1.02125 +1.0037501 +0.89125 +0.75625 +0.69374996 +0.75875 +0.92499995 +1.1012499 +1.19125 +1.14 +0.96875 +0.75499994 +0.58375 +0.49374998 +0.46999997 +0.45125 +0.3875 +0.285 +0.22125 +0.2025 +0.28875 +0.49124998 +0.78999996 +1.0775 +1.29 +1.4075 +1.45375 +1.4912499 +1.5649999 +1.6962501 +1.8525 +1.9825001 +2.04 +2.01 +1.9225 +1.8387499 +1.805 +1.8325 +1.8824999 +1.8812499 +1.7712499 +1.54125 +1.2462499 +0.96750003 +0.7825 +0.7125 +0.72875 +0.76 +0.74625003 +0.66499996 +0.54125 +0.43125004 +0.39124998 +0.44625 +0.58374995 +0.7575 +0.92 +1.035 +1.08875 +1.0925 +1.06875 +1.04125 +1.0175 +0.9825 +0.9175 +0.81 +0.68 +0.56874996 +0.53374994 +0.6025 +0.7525 +0.91999996 +1.02125 +1.0037501 +0.89125 +0.75625 +0.69374996 +0.75875 +0.92499995 +1.1012499 +1.19125 +1.14 +0.96875 +0.75499994 +0.58375 +0.49374998 +0.46999997 +0.45125 +0.3875 +0.285 +0.22125 +0.2025 +0.28875 +0.49124998 +0.78999996 +1.0775 +1.29 +1.4075 +1.375 +1.4312499 +1.495 +1.5912501 +1.7037499 +1.7937499 +1.8200002 +1.7624999 +1.6387501 +1.50125 +1.4050001 +1.3812499 +1.4125 +1.43625 +1.3887501 +1.2412499 +1.0174999 +0.78875 +0.62624997 +0.575 +0.62125 +0.685 +0.72249997 +0.68375 +0.5875 +0.47875 +0.42624998 +0.46875 +0.6125 +0.81625 +1.0275 +1.18625 +1.26875 +1.275 +1.23375 +1.1775 +1.12375 +1.0675001 +0.98625 +0.86375004 +0.71250004 +0.5725 +0.49875003 +0.53 +0.65125 +0.7975 +0.8875 +0.86125004 +0.73249996 +0.57374996 +0.48 +0.51000005 +0.65875 +0.82124996 +0.9175 +0.8875 +0.7375 +0.53125 +0.35250002 +0.24625 +0.205 +0.17999999 +0.14875 +0.1225 +0.1075 +0.1 +0.122499995 +0.285 +0.56375 +0.865 +1.11625 +1.2824999 +1.375 +1.4312499 +1.495 +1.5912501 +1.7037499 +1.7937499 +1.8200002 +1.7624999 +1.6387501 +1.50125 +1.4050001 +1.3812499 +1.4125 +1.43625 +1.3887501 +1.2412499 +1.0174999 +0.78875 +0.62624997 +0.575 +0.62125 +0.685 +0.72249997 +0.68375 +0.5875 +0.47875 +0.42624998 +0.46875 +0.6125 +0.81625 +1.0275 +1.18625 +1.26875 +1.275 +1.23375 +1.1775 +1.12375 +1.0675001 +0.98625 +0.86375004 +0.71250004 +0.5725 +0.49875003 +0.53 +0.65125 +0.7975 +0.8875 +0.86125004 +0.73249996 +0.57374996 +0.48 +0.51000005 +0.65875 +0.82124996 +0.9175 +0.8875 +0.7375 +0.53125 +0.35250002 +0.24625 +0.205 +0.17999999 +0.14875 +0.1225 +0.1075 +0.1 +0.122499995 +0.285 +0.56375 +0.865 +1.11625 +1.2824999 +1.3699999 +1.4525001 +1.51125 +1.5749999 +1.64375 +1.7 +1.70875 +1.6425 +1.5125 +1.355 +1.2312499 +1.17875 +1.195 +1.2312499 +1.22 +1.12 +0.93749994 +0.72999996 +0.59625 +0.56875 +0.61749995 +0.685 +0.71 +0.7025 +0.61625 +0.50124997 +0.4225 +0.44 +0.58625 +0.78875 +1.02 +1.2099999 +1.31125 +1.3199999 +1.2625 +1.175 +1.09375 +1.01625 +0.92375 +0.795 +0.63625 +0.48000002 +0.38 +0.3825 +0.48375 +0.59125 +0.6687499 +0.63750005 +0.5 +0.32750005 +0.20875 +0.25 +0.39124998 +0.5525 +0.64625 +0.63125 +0.52375 +0.35375 +0.19125001 +0.0925 +0.0525 +0.041249998 +0.045 +0.0575 +0.06875 +0.0675 +0.065 +0.16499999 +0.41875 +0.72625005 +1.0100001 +1.2275 +1.3699999 +1.4525001 +1.51125 +1.5749999 +1.64375 +1.7 +1.70875 +1.6425 +1.5125 +1.355 +1.2312499 +1.17875 +1.195 +1.2312499 +1.22 +1.12 +0.93749994 +0.72999996 +0.59625 +0.56875 +0.61749995 +0.685 +0.71 +0.7025 +0.61625 +0.50124997 +0.4225 +0.44 +0.58625 +0.78875 +1.02 +1.2099999 +1.31125 +1.3199999 +1.2625 +1.175 +1.09375 +1.01625 +0.92375 +0.795 +0.63625 +0.48000002 +0.38 +0.3825 +0.48375 +0.59125 +0.6687499 +0.63750005 +0.5 +0.32750005 +0.20875 +0.25 +0.39124998 +0.5525 +0.64625 +0.63125 +0.52375 +0.35375 +0.19125001 +0.0925 +0.0525 +0.041249998 +0.045 +0.0575 +0.06875 +0.0675 +0.065 +0.16499999 +0.41875 +0.72625005 +1.0100001 +1.2275 +1.49875 +1.6049999 +1.65875 +1.6862501 +1.70875 +1.7275 +1.7187499 +1.6537501 +1.535 +1.3924999 +1.27125 +1.225 +1.25 +1.2887499 +1.2825 +1.205 +1.045 +0.86875004 +0.74249995 +0.7 +0.7375 +0.80500007 +0.83624995 +0.79749995 +0.71000004 +0.5775 +0.48375002 +0.49375 +0.60875 +0.8 +1.0075 +1.2049999 +1.325 +1.3387499 +1.26875 +1.1625 +1.05125 +0.95375 +0.85375005 +0.73 +0.57875 +0.42374998 +0.325 +0.33249998 +0.40875 +0.49875 +0.545 +0.51125 +0.38625002 +0.21500002 +0.12125 +0.13625 +0.24875002 +0.39999995 +0.5075 +0.52 +0.43874997 +0.31 +0.18125 +0.105 +0.073750004 +0.0575 +0.052500002 +0.0625 +0.06625 +0.0625 +0.07375 +0.185 +0.4225 +0.73375005 +1.045 +1.3100001 +1.49875 +1.6049999 +1.65875 +1.6862501 +1.70875 +1.7275 +1.7187499 +1.6537501 +1.535 +1.3924999 +1.27125 +1.225 +1.25 +1.2887499 +1.2825 +1.205 +1.045 +0.86875004 +0.74249995 +0.7 +0.7375 +0.80500007 +0.83624995 +0.79749995 +0.71000004 +0.5775 +0.48375002 +0.49375 +0.60875 +0.8 +1.0075 +1.2049999 +1.325 +1.3387499 +1.26875 +1.1625 +1.05125 +0.95375 +0.85375005 +0.73 +0.57875 +0.42374998 +0.325 +0.33249998 +0.40875 +0.49875 +0.545 +0.51125 +0.38625002 +0.21500002 +0.12125 +0.13625 +0.24875002 +0.39999995 +0.5075 +0.52 +0.43874997 +0.31 +0.18125 +0.105 +0.073750004 +0.0575 +0.052500002 +0.0625 +0.06625 +0.0625 +0.07375 +0.185 +0.4225 +0.73375005 +1.045 +1.3100001 +1.7574999 +1.8800001 +1.9162502 +1.9 +1.8687499 +1.8399999 +1.8025 +1.7375 +1.6387501 +1.52625 +1.435 +1.4137499 +1.4412498 +1.4849999 +1.48875 +1.4225 +1.2875 +1.12875 +1.00375 +0.95624995 +0.97999996 +1.0324999 +1.0587499 +1.01875 +0.91375005 +0.77625 +0.67249995 +0.65 +0.7325 +0.89750004 +1.0975 +1.29125 +1.42375 +1.44625 +1.3762499 +1.25125 +1.1162499 +0.99375 +0.88125 +0.76 +0.62 +0.48 +0.39499998 +0.39249998 +0.45125 +0.53875 +0.59499997 +0.57624996 +0.4825 +0.35000002 +0.25375003 +0.24125001 +0.31625 +0.4375 +0.53999996 +0.575 +0.53000003 +0.43625 +0.335 +0.26 +0.21875 +0.19875 +0.17625 +0.17 +0.1625 +0.16874999 +0.2175 +0.355 +0.59499997 +0.9050001 +1.23625 +1.53875 +1.7574999 +1.8800001 +1.9162502 +1.9 +1.8687499 +1.8399999 +1.8025 +1.7375 +1.6387501 +1.52625 +1.435 +1.4137499 +1.4412498 +1.4849999 +1.48875 +1.4225 +1.2875 +1.12875 +1.00375 +0.95624995 +0.97999996 +1.0324999 +1.0587499 +1.01875 +0.91375005 +0.77625 +0.67249995 +0.65 +0.7325 +0.89750004 +1.0975 +1.29125 +1.42375 +1.44625 +1.3762499 +1.25125 +1.1162499 +0.99375 +0.88125 +0.76 +0.62 +0.48 +0.39499998 +0.39249998 +0.45125 +0.53875 +0.59499997 +0.57624996 +0.4825 +0.35000002 +0.25375003 +0.24125001 +0.31625 +0.4375 +0.53999996 +0.575 +0.53000003 +0.43625 +0.335 +0.26 +0.21875 +0.19875 +0.17625 +0.17 +0.1625 +0.16874999 +0.2175 +0.355 +0.59499997 +0.9050001 +1.23625 +1.53875 +2.05875 +2.17625 +2.185 +2.12125 +2.02875 +1.9412498 +1.865 +1.7900001 +1.70875 +1.6299999 +1.5762501 +1.5787499 +1.615 +1.6562501 +1.6637499 +1.6149999 +1.49625 +1.3649999 +1.2649999 +1.22875 +1.2499999 +1.2925 +1.3100001 +1.27625 +1.1887499 +1.05125 +0.94124997 +0.90625006 +0.96375 +1.1037499 +1.2900001 +1.49875 +1.64 +1.6799998 +1.6175 +1.4825 +1.32125 +1.1637499 +1.02 +0.885 +0.74625 +0.615 +0.51625 +0.5075 +0.56 +0.64625 +0.7225 +0.75375 +0.72125 +0.6275 +0.53875 +0.50874996 +0.5425 +0.62 +0.69625 +0.73625004 +0.72 +0.665 +0.57624996 +0.4975 +0.44125 +0.405 +0.3775 +0.37 +0.375 +0.4025 +0.4775 +0.62624997 +0.86125004 +1.17 +1.5125 +1.82625 +2.05875 +2.17625 +2.185 +2.12125 +2.02875 +1.9412498 +1.865 +1.7900001 +1.70875 +1.6299999 +1.5762501 +1.5787499 +1.615 +1.6562501 +1.6637499 +1.6149999 +1.49625 +1.3649999 +1.2649999 +1.22875 +1.2499999 +1.2925 +1.3100001 +1.27625 +1.1887499 +1.05125 +0.94124997 +0.90625006 +0.96375 +1.1037499 +1.2900001 +1.49875 +1.64 +1.6799998 +1.6175 +1.4825 +1.32125 +1.1637499 +1.02 +0.885 +0.74625 +0.615 +0.51625 +0.5075 +0.56 +0.64625 +0.7225 +0.75375 +0.72125 +0.6275 +0.53875 +0.50874996 +0.5425 +0.62 +0.69625 +0.73625004 +0.72 +0.665 +0.57624996 +0.4975 +0.44125 +0.405 +0.3775 +0.37 +0.375 +0.4025 +0.4775 +0.62624997 +0.86125004 +1.17 +1.5125 +1.82625 +2.26875 +2.36875 +2.34625 +2.235 +2.0837498 +1.9362499 +1.81375 +1.7175 +1.6412499 +1.5874999 +1.5687499 +1.5849999 +1.62375 +1.6600001 +1.6662499 +1.615 +1.52 +1.4225 +1.37 +1.36625 +1.4025 +1.4449999 +1.4775 +1.46625 +1.39625 +1.2924999 +1.2025 +1.16875 +1.22125 +1.36125 +1.5550001 +1.7575 +1.9100001 +1.9725001 +1.9275 +1.7924999 +1.60375 +1.4000001 +1.2049999 +1.03125 +0.8725 +0.73625 +0.63374996 +0.59000003 +0.61375 +0.69624996 +0.80375 +0.89000005 +0.91999996 +0.89 +0.82 +0.7675 +0.765 +0.79625 +0.84000003 +0.875 +0.88874996 +0.86625 +0.80125 +0.71375 +0.62875 +0.56500006 +0.52625 +0.52 +0.54499996 +0.6025 +0.705 +0.86875004 +1.10625 +1.4112499 +1.7437501 +2.04875 +2.26875 +2.36875 +2.34625 +2.235 +2.0837498 +1.9362499 +1.81375 +1.7175 +1.6412499 +1.5874999 +1.5687499 +1.5849999 +1.62375 +1.6600001 +1.6662499 +1.615 +1.52 +1.4225 +1.37 +1.36625 +1.4025 +1.4449999 +1.4775 +1.46625 +1.39625 +1.2924999 +1.2025 +1.16875 +1.22125 +1.36125 +1.5550001 +1.7575 +1.9100001 +1.9725001 +1.9275 +1.7924999 +1.60375 +1.4000001 +1.2049999 +1.03125 +0.8725 +0.73625 +0.63374996 +0.59000003 +0.61375 +0.69624996 +0.80375 +0.89000005 +0.91999996 +0.89 +0.82 +0.7675 +0.765 +0.79625 +0.84000003 +0.875 +0.88874996 +0.86625 +0.80125 +0.71375 +0.62875 +0.56500006 +0.52625 +0.52 +0.54499996 +0.6025 +0.705 +0.86875004 +1.10625 +1.4112499 +1.7437501 +2.04875 +2.29375 +2.365 +2.3125 +2.1625 +1.96625 +1.7687501 +1.6012499 +1.4799999 +1.4012499 +1.36625 +1.3675 +1.395 +1.42875 +1.44 +1.41125 +1.3437499 +1.2625 +1.21 +1.2125 +1.2575 +1.32125 +1.38625 +1.4325 +1.4300001 +1.3912499 +1.34125 +1.3125 +1.3287499 +1.40625 +1.5475001 +1.7325001 +1.93125 +2.10125 +2.195 +2.1862497 +2.0674999 +1.8637499 +1.615 +1.3575001 +1.12375 +0.92499995 +0.76124996 +0.64375 +0.57875 +0.5725 +0.62875 +0.72625 +0.83375 +0.915 +0.94375 +0.91875 +0.86375 +0.82000005 +0.80875003 +0.8225 +0.8525 +0.89 +0.90625 +0.88375 +0.8125 +0.71000004 +0.61625 +0.55375004 +0.54375005 +0.58500004 +0.67375 +0.80875003 +0.99375004 +1.2362499 +1.5224999 +1.8275 +2.10375 +2.29375 +2.365 +2.3125 +2.1625 +1.96625 +1.7687501 +1.6012499 +1.4799999 +1.4012499 +1.36625 +1.3675 +1.395 +1.42875 +1.44 +1.41125 +1.3437499 +1.2625 +1.21 +1.2125 +1.2575 +1.32125 +1.38625 +1.4325 +1.4300001 +1.3912499 +1.34125 +1.3125 +1.3287499 +1.40625 +1.5475001 +1.7325001 +1.93125 +2.10125 +2.195 +2.1862497 +2.0674999 +1.8637499 +1.615 +1.3575001 +1.12375 +0.92499995 +0.76124996 +0.64375 +0.57875 +0.5725 +0.62875 +0.72625 +0.83375 +0.915 +0.94375 +0.91875 +0.86375 +0.82000005 +0.80875003 +0.8225 +0.8525 +0.89 +0.90625 +0.88375 +0.8125 +0.71000004 +0.61625 +0.55375004 +0.54375005 +0.58500004 +0.67375 +0.80875003 +0.99375004 +1.2362499 +1.5224999 +1.8275 +2.10375 +2.1275 +2.165 +2.0875 +1.91625 +1.6925 +1.4637501 +1.2624999 +1.115 +1.03 +1.0024999 +1.02 +1.05375 +1.06875 +1.04125 +0.96500003 +0.86249995 +0.78000003 +0.76874995 +0.81875 +0.90875 +1.00125 +1.08125 +1.13 +1.13625 +1.1274999 +1.1324999 +1.1700001 +1.2475 +1.3612499 +1.5174999 +1.705 +1.91 +2.10625 +2.2512498 +2.3000002 +2.22625 +2.035 +1.7599999 +1.4512498 +1.15625 +0.90625 +0.7075 +0.56 +0.45999998 +0.40874997 +0.41875002 +0.48125 +0.5775 +0.68000007 +0.74749994 +0.7575 +0.71125 +0.645 +0.60249996 +0.59000003 +0.61875 +0.67625 +0.745 +0.77374995 +0.73875 +0.6475 +0.53875 +0.45749998 +0.43999997 +0.495 +0.6125 +0.77874994 +0.9862499 +1.2249999 +1.49 +1.7537501 +1.9800001 +2.1275 +2.165 +2.0875 +1.91625 +1.6925 +1.4637501 +1.2624999 +1.115 +1.03 +1.0024999 +1.02 +1.05375 +1.06875 +1.04125 +0.96500003 +0.86249995 +0.78000003 +0.76874995 +0.81875 +0.90875 +1.00125 +1.08125 +1.13 +1.13625 +1.1274999 +1.1324999 +1.1700001 +1.2475 +1.3612499 +1.5174999 +1.705 +1.91 +2.10625 +2.2512498 +2.3000002 +2.22625 +2.035 +1.7599999 +1.4512498 +1.15625 +0.90625 +0.7075 +0.56 +0.45999998 +0.40874997 +0.41875002 +0.48125 +0.5775 +0.68000007 +0.74749994 +0.7575 +0.71125 +0.645 +0.60249996 +0.59000003 +0.61875 +0.67625 +0.745 +0.77374995 +0.73875 +0.6475 +0.53875 +0.45749998 +0.43999997 +0.495 +0.6125 +0.77874994 +0.9862499 +1.2249999 +1.49 +1.7537501 +1.9800001 +1.865 +1.86375 +1.7662499 +1.585 +1.3512499 +1.1049999 +0.88625 +0.72375 +0.6325 +0.6125 +0.64125 +0.67999995 +0.6825 +0.61875004 +0.49874997 +0.355 +0.27999997 +0.28 +0.34375 +0.46124998 +0.57 +0.64125 +0.6825 +0.68749994 +0.6925 +0.73249996 +0.81875 +0.94249994 +1.09375 +1.265 +1.46125 +1.6825001 +1.9174999 +2.1275 +2.255 +2.255 +2.115 +1.8525 +1.5237501 +1.1925 +0.90125 +0.66875 +0.48874998 +0.35250002 +0.2525 +0.19999999 +0.21375 +0.27124998 +0.35125 +0.4275 +0.45250002 +0.40625 +0.33499998 +0.26625 +0.23875001 +0.27375 +0.34875 +0.45125002 +0.53999996 +0.55375004 +0.49124998 +0.38875 +0.305 +0.28749996 +0.35125002 +0.49124998 +0.68375003 +0.90874994 +1.14375 +1.3825 +1.59875 +1.7687501 +1.865 +1.86375 +1.7662499 +1.585 +1.3512499 +1.1049999 +0.88625 +0.72375 +0.6325 +0.6125 +0.64125 +0.67999995 +0.6825 +0.61875004 +0.49874997 +0.355 +0.27999997 +0.28 +0.34375 +0.46124998 +0.57 +0.64125 +0.6825 +0.68749994 +0.6925 +0.73249996 +0.81875 +0.94249994 +1.09375 +1.265 +1.46125 +1.6825001 +1.9174999 +2.1275 +2.255 +2.255 +2.115 +1.8525 +1.5237501 +1.1925 +0.90125 +0.66875 +0.48874998 +0.35250002 +0.2525 +0.19999999 +0.21375 +0.27124998 +0.35125 +0.4275 +0.45250002 +0.40625 +0.33499998 +0.26625 +0.23875001 +0.27375 +0.34875 +0.45125002 +0.53999996 +0.55375004 +0.49124998 +0.38875 +0.305 +0.28749996 +0.35125002 +0.49124998 +0.68375003 +0.90874994 +1.14375 +1.3825 +1.59875 +1.7687501 +1.6550001 +1.6137499 +1.4875 +1.29625 +1.0625 +0.81500006 +0.59125006 +0.42125002 +0.32999998 +0.31874996 +0.36124998 +0.41375 +0.41875 +0.34375 +0.2 +0.05375 +0.005 +0.00625 +0.045 +0.13125001 +0.22875 +0.285 +0.30750003 +0.29125 +0.28625 +0.325 +0.4175 +0.55625004 +0.72375 +0.905 +1.10875 +1.3487499 +1.6224998 +1.8975002 +2.1137502 +2.21 +2.1525 +1.94875 +1.64625 +1.3149998 +1.01 +0.75874996 +0.5575 +0.38875 +0.2475 +0.14625 +0.10125001 +0.10375 +0.14750001 +0.20250002 +0.22125 +0.16875 +0.092499994 +0.028749999 +0.00875 +0.024999999 +0.09125 +0.20125 +0.32875 +0.385 +0.3575 +0.27749997 +0.20249999 +0.19125 +0.26624998 +0.42250004 +0.635 +0.87125 +1.10625 +1.3212501 +1.495 +1.6125 +1.6550001 +1.6137499 +1.4875 +1.29625 +1.0625 +0.81500006 +0.59125006 +0.42125002 +0.32999998 +0.31874996 +0.36124998 +0.41375 +0.41875 +0.34375 +0.2 +0.05375 +0.005 +0.00625 +0.045 +0.13125001 +0.22875 +0.285 +0.30750003 +0.29125 +0.28625 +0.325 +0.4175 +0.55625004 +0.72375 +0.905 +1.10875 +1.3487499 +1.6224998 +1.8975002 +2.1137502 +2.21 +2.1525 +1.94875 +1.64625 +1.3149998 +1.01 +0.75874996 +0.5575 +0.38875 +0.2475 +0.14625 +0.10125001 +0.10375 +0.14750001 +0.20250002 +0.22125 +0.16875 +0.092499994 +0.028749999 +0.00875 +0.024999999 +0.09125 +0.20125 +0.32875 +0.385 +0.3575 +0.27749997 +0.20249999 +0.19125 +0.26624998 +0.42250004 +0.635 +0.87125 +1.10625 +1.3212501 +1.495 +1.6125 +1.2837498 +1.11 +0.93125004 +0.75374997 +0.5975 +0.48749995 +0.42375 +0.385 +0.32999998 +0.22875 +0.10125001 +0.04625 +0.04375 +0.04125 +0.03 +0.01 +0.052500002 +0.17125 +0.2575 +0.28875 +0.3 +0.33875 +0.43875003 +0.57125 +0.72125 +0.8775 +1.045 +1.2275 +1.4212499 +1.605 +1.75125 +1.8262501 +1.8125 +1.7262502 +1.5937501 +1.44125 +1.2774999 +1.10625 +0.92875 +0.755 +0.605 +0.49875 +0.43625003 +0.39749998 +0.34125 +0.23375 +0.10250001 +0.05375 +0.05125 +0.0475 +0.03375 +0.01 +0.04625 +0.16 +0.24375 +0.27375 +0.28875 +0.33375 +0.43875 +0.575 +0.72625 +0.885 +1.055 +1.2412499 +1.44 +1.63 +1.77625 +1.8487501 +1.83125 +1.7400001 +1.605 +1.4475 +1.2837498 +1.11 +0.93125004 +0.75374997 +0.5975 +0.48749995 +0.42375 +0.385 +0.32999998 +0.22875 +0.10125001 +0.04625 +0.04375 +0.04125 +0.03 +0.01 +0.052500002 +0.17125 +0.2575 +0.28875 +0.3 +0.33875 +0.43875003 +0.57125 +0.72125 +0.8775 +1.045 +1.2275 +1.4212499 +1.605 +1.75125 +1.8262501 +1.8125 +1.7262502 +1.5937501 +1.44125 +1.2774999 +1.10625 +0.92875 +0.755 +0.605 +0.49875 +0.43625003 +0.39749998 +0.34125 +0.23375 +0.10250001 +0.05375 +0.05125 +0.0475 +0.03375 +0.01 +0.04625 +0.16 +0.24375 +0.27375 +0.28875 +0.33375 +0.43875 +0.575 +0.72625 +0.885 +1.055 +1.2412499 +1.44 +1.63 +1.77625 +1.8487501 +1.83125 +1.7400001 +1.605 +1.4475 +1.27125 +1.08375 +0.89250004 +0.70875 +0.54749995 +0.43374997 +0.37124997 +0.34374997 +0.31 +0.23625 +0.13 +0.042499997 +0.03375 +0.03625 +0.03125 +0.0275 +0.09875 +0.21875 +0.29874998 +0.32 +0.31375003 +0.34 +0.41250002 +0.52250004 +0.66249996 +0.8175 +0.9875 +1.17375 +1.37 +1.5574999 +1.7075 +1.7925 +1.7912502 +1.715 +1.5887499 +1.42875 +1.2562499 +1.0749999 +0.8925 +0.72375 +0.58625 +0.49500003 +0.44500002 +0.41375002 +0.36125 +0.25875002 +0.12875 +0.0625 +0.06 +0.05625 +0.0425 +0.02375 +0.074999996 +0.17 +0.23125002 +0.25 +0.26125 +0.3225 +0.42625 +0.56000006 +0.71374995 +0.87874997 +1.0612501 +1.2675 +1.48625 +1.6924999 +1.8475001 +1.9175001 +1.8912499 +1.78625 +1.63 +1.4549999 +1.27125 +1.08375 +0.89250004 +0.70875 +0.54749995 +0.43374997 +0.37124997 +0.34374997 +0.31 +0.23625 +0.13 +0.042499997 +0.03375 +0.03625 +0.03125 +0.0275 +0.09875 +0.21875 +0.29874998 +0.32 +0.31375003 +0.34 +0.41250002 +0.52250004 +0.66249996 +0.8175 +0.9875 +1.17375 +1.37 +1.5574999 +1.7075 +1.7925 +1.7912502 +1.715 +1.5887499 +1.42875 +1.2562499 +1.0749999 +0.8925 +0.72375 +0.58625 +0.49500003 +0.44500002 +0.41375002 +0.36125 +0.25875002 +0.12875 +0.0625 +0.06 +0.05625 +0.0425 +0.02375 +0.074999996 +0.17 +0.23125002 +0.25 +0.26125 +0.3225 +0.42625 +0.56000006 +0.71374995 +0.87874997 +1.0612501 +1.2675 +1.48625 +1.6924999 +1.8475001 +1.9175001 +1.8912499 +1.78625 +1.63 +1.4549999 +1.2037501 +0.99625003 +0.79625005 +0.60375 +0.43875 +0.32 +0.26500002 +0.2575 +0.26250002 +0.23874998 +0.16375 +0.07375 +0.02 +0.025 +0.02875 +0.0525 +0.1525 +0.27125 +0.34875 +0.35625002 +0.32125 +0.2975 +0.325 +0.40125 +0.52125 +0.67375 +0.85 +1.0425 +1.24125 +1.43375 +1.59375 +1.69 +1.71 +1.6524999 +1.53 +1.3625 +1.17375 +0.975 +0.78874993 +0.63 +0.52 +0.46250004 +0.44125003 +0.425 +0.375 +0.27625 +0.14750001 +0.065 +0.0575 +0.055 +0.03875 +0.06125 +0.13 +0.19875 +0.22500001 +0.2225 +0.23999998 +0.30499998 +0.41125 +0.54375005 +0.6975 +0.87125 +1.0737499 +1.3075 +1.5575 +1.7875 +1.9512501 +2.0149999 +1.9662501 +1.82375 +1.62875 +1.41625 +1.2037501 +0.99625003 +0.79625005 +0.60375 +0.43875 +0.32 +0.26500002 +0.2575 +0.26250002 +0.23874998 +0.16375 +0.07375 +0.02 +0.025 +0.02875 +0.0525 +0.1525 +0.27125 +0.34875 +0.35625002 +0.32125 +0.2975 +0.325 +0.40125 +0.52125 +0.67375 +0.85 +1.0425 +1.24125 +1.43375 +1.59375 +1.69 +1.71 +1.6524999 +1.53 +1.3625 +1.17375 +0.975 +0.78874993 +0.63 +0.52 +0.46250004 +0.44125003 +0.425 +0.375 +0.27625 +0.14750001 +0.065 +0.0575 +0.055 +0.03875 +0.06125 +0.13 +0.19875 +0.22500001 +0.2225 +0.23999998 +0.30499998 +0.41125 +0.54375005 +0.6975 +0.87125 +1.0737499 +1.3075 +1.5575 +1.7875 +1.9512501 +2.0149999 +1.9662501 +1.82375 +1.62875 +1.41625 +1.0512501 +0.83625 +0.6375 +0.45000002 +0.28625 +0.19000001 +0.14625 +0.14125 +0.17125 +0.19625 +0.17625 +0.10875 +0.024999999 +0.0075 +0.02375 +0.05375 +0.12875 +0.25125 +0.33375 +0.34 +0.28125 +0.19999999 +0.16874999 +0.205 +0.30625 +0.45625 +0.6375 +0.83500004 +1.0325 +1.21875 +1.3774999 +1.4875 +1.5274999 +1.49125 +1.37875 +1.205 +0.9987499 +0.78375 +0.59375 +0.45625 +0.38500002 +0.37 +0.38375002 +0.385 +0.3375 +0.23750001 +0.11125 +0.0475 +0.04125 +0.03625 +0.059999995 +0.13499999 +0.21625002 +0.25 +0.24125001 +0.22125 +0.24249999 +0.31625 +0.42374998 +0.55125 +0.69875 +0.8675 +1.0725 +1.3225001 +1.59625 +1.8412501 +2.00625 +2.05125 +1.96875 +1.785 +1.54375 +1.29 +1.0512501 +0.83625 +0.6375 +0.45000002 +0.28625 +0.19000001 +0.14625 +0.14125 +0.17125 +0.19625 +0.17625 +0.10875 +0.024999999 +0.0075 +0.02375 +0.05375 +0.12875 +0.25125 +0.33375 +0.34 +0.28125 +0.19999999 +0.16874999 +0.205 +0.30625 +0.45625 +0.6375 +0.83500004 +1.0325 +1.21875 +1.3774999 +1.4875 +1.5274999 +1.49125 +1.37875 +1.205 +0.9987499 +0.78375 +0.59375 +0.45625 +0.38500002 +0.37 +0.38375002 +0.385 +0.3375 +0.23750001 +0.11125 +0.0475 +0.04125 +0.03625 +0.059999995 +0.13499999 +0.21625002 +0.25 +0.24125001 +0.22125 +0.24249999 +0.31625 +0.42374998 +0.55125 +0.69875 +0.8675 +1.0725 +1.3225001 +1.59625 +1.8412501 +2.00625 +2.05125 +1.96875 +1.785 +1.54375 +1.29 +0.82625 +0.62 +0.43999997 +0.27749997 +0.16624999 +0.10124999 +0.07 +0.0625 +0.0775 +0.103750005 +0.1225 +0.0875 +0.02375 +0.0 +0.0025 +0.02125 +0.05375 +0.1275 +0.22874999 +0.2525 +0.19 +0.08625 +0.033749998 +0.035 +0.098749995 +0.2175 +0.41625 +0.6275 +0.81750005 +0.97125 +1.0887499 +1.2012501 +1.25875 +1.24375 +1.15 +0.97874993 +0.7575 +0.5325 +0.34374997 +0.24124998 +0.20749998 +0.23125002 +0.2825 +0.325 +0.28875 +0.175 +0.051250003 +0.01125 +0.01625 +0.028749999 +0.120000005 +0.23875 +0.31125 +0.31875 +0.28750002 +0.26375 +0.2875 +0.37375 +0.485 +0.61249995 +0.74250007 +0.88250005 +1.06 +1.2975 +1.5649999 +1.805 +1.9562501 +1.9762499 +1.855 +1.63 +1.3512499 +1.0725001 +0.82625 +0.62 +0.43999997 +0.27749997 +0.16624999 +0.10124999 +0.07 +0.0625 +0.0775 +0.103750005 +0.1225 +0.0875 +0.02375 +0.0 +0.0025 +0.02125 +0.05375 +0.1275 +0.22874999 +0.2525 +0.19 +0.08625 +0.033749998 +0.035 +0.098749995 +0.2175 +0.41625 +0.6275 +0.81750005 +0.97125 +1.0887499 +1.2012501 +1.25875 +1.24375 +1.15 +0.97874993 +0.7575 +0.5325 +0.34374997 +0.24124998 +0.20749998 +0.23125002 +0.2825 +0.325 +0.28875 +0.175 +0.051250003 +0.01125 +0.01625 +0.028749999 +0.120000005 +0.23875 +0.31125 +0.31875 +0.28750002 +0.26375 +0.2875 +0.37375 +0.485 +0.61249995 +0.74250007 +0.88250005 +1.06 +1.2975 +1.5649999 +1.805 +1.9562501 +1.9762499 +1.855 +1.63 +1.3512499 +1.0725001 +0.57375 +0.39624998 +0.27375 +0.175 +0.10875 +0.0725 +0.0525 +0.0425 +0.03875 +0.041249998 +0.04 +0.024999999 +0.00375 +0.0 +0.0 +0.0 +0.00625 +0.035 +0.091249995 +0.14375 +0.098749995 +0.02125 +0.0 +0.0 +0.0175 +0.073750004 +0.25 +0.45499998 +0.62500006 +0.75124997 +0.84250003 +0.92625 +0.99625003 +1.00125 +0.92749995 +0.76625 +0.54625 +0.315 +0.15375 +0.0975 +0.091249995 +0.125 +0.21875 +0.27499998 +0.22875 +0.098749995 +0.01375 +0.0 +0.0075 +0.04875 +0.18 +0.32 +0.39249998 +0.39000002 +0.3525 +0.33749998 +0.38 +0.47999996 +0.60375 +0.71874994 +0.815 +0.90999997 +1.0387499 +1.24 +1.4775 +1.6937501 +1.82125 +1.81125 +1.6600001 +1.40375 +1.1012499 +0.8125 +0.57375 +0.39624998 +0.27375 +0.175 +0.10875 +0.0725 +0.0525 +0.0425 +0.03875 +0.041249998 +0.04 +0.024999999 +0.00375 +0.0 +0.0 +0.0 +0.00625 +0.035 +0.091249995 +0.14375 +0.098749995 +0.02125 +0.0 +0.0 +0.0175 +0.073750004 +0.25 +0.45499998 +0.62500006 +0.75124997 +0.84250003 +0.92625 +0.99625003 +1.00125 +0.92749995 +0.76625 +0.54625 +0.315 +0.15375 +0.0975 +0.091249995 +0.125 +0.21875 +0.27499998 +0.22875 +0.098749995 +0.01375 +0.0 +0.0075 +0.04875 +0.18 +0.32 +0.39249998 +0.39000002 +0.3525 +0.33749998 +0.38 +0.47999996 +0.60375 +0.71874994 +0.815 +0.90999997 +1.0387499 +1.24 +1.4775 +1.6937501 +1.82125 +1.81125 +1.6600001 +1.40375 +1.1012499 +0.8125 +0.3775 +0.2725 +0.20375 +0.14625 +0.095 +0.0625 +0.04875 +0.04625 +0.04375 +0.035 +0.01875 +0.00625 +0.0 +0.0 +0.0 +0.00625 +0.00125 +0.00875 +0.045 +0.11125 +0.09125 +0.018749999 +0.0 +0.0 +0.01875 +0.052500002 +0.20249999 +0.38625 +0.5325 +0.63124996 +0.695 +0.77750003 +0.8525 +0.87750006 +0.82624996 +0.68375 +0.46875 +0.24375 +0.11 +0.0875 +0.083749995 +0.13 +0.21874999 +0.27875 +0.2225 +0.082499996 +0.00125 +0.0125 +0.02875 +0.06875 +0.22375 +0.37625003 +0.45250002 +0.45000002 +0.41375002 +0.41500002 +0.48375002 +0.615 +0.74625 +0.84999996 +0.9125 +0.95625 +1.03875 +1.19 +1.3837501 +1.565 +1.66625 +1.6374999 +1.46875 +1.1975 +0.885 +0.595 +0.3775 +0.2725 +0.20375 +0.14625 +0.095 +0.0625 +0.04875 +0.04625 +0.04375 +0.035 +0.01875 +0.00625 +0.0 +0.0 +0.0 +0.00625 +0.00125 +0.00875 +0.045 +0.11125 +0.09125 +0.018749999 +0.0 +0.0 +0.01875 +0.052500002 +0.20249999 +0.38625 +0.5325 +0.63124996 +0.695 +0.77750003 +0.8525 +0.87750006 +0.82624996 +0.68375 +0.46875 +0.24375 +0.11 +0.0875 +0.083749995 +0.13 +0.21874999 +0.27875 +0.2225 +0.082499996 +0.00125 +0.0125 +0.02875 +0.06875 +0.22375 +0.37625003 +0.45250002 +0.45000002 +0.41375002 +0.41500002 +0.48375002 +0.615 +0.74625 +0.84999996 +0.9125 +0.95625 +1.03875 +1.19 +1.3837501 +1.565 +1.66625 +1.6374999 +1.46875 +1.1975 +0.885 +0.595 +0.31875 +0.25875 +0.21125 +0.155 +0.105 +0.07375 +0.065 +0.0675 +0.06875 +0.07875 +0.105 +0.09125 +0.045 +0.0025 +0.01875 +0.03375 +0.0325 +0.02125 +0.122499995 +0.21749999 +0.21625 +0.12125 +0.03625 +0.04625 +0.08125 +0.16499999 +0.30249998 +0.4525 +0.5825 +0.65875006 +0.73125 +0.81 +0.88874996 +0.92875004 +0.89750004 +0.77250004 +0.57124996 +0.345 +0.1875 +0.1325 +0.15625 +0.23875 +0.33374998 +0.37 +0.3075 +0.15 +0.05 +0.0575 +0.0775 +0.13874999 +0.27125 +0.43125 +0.5075 +0.49874997 +0.46375 +0.48375 +0.59625006 +0.75 +0.89124995 +0.98499995 +1.02625 +1.0425 +1.0862501 +1.18875 +1.33875 +1.4875001 +1.5712501 +1.5374999 +1.37 +1.09875 +0.78375 +0.49749997 +0.31875 +0.25875 +0.21125 +0.155 +0.105 +0.07375 +0.065 +0.0675 +0.06875 +0.07875 +0.105 +0.09125 +0.045 +0.0025 +0.01875 +0.03375 +0.0325 +0.02125 +0.122499995 +0.21749999 +0.21625 +0.12125 +0.03625 +0.04625 +0.08125 +0.16499999 +0.30249998 +0.4525 +0.5825 +0.65875006 +0.73125 +0.81 +0.88874996 +0.92875004 +0.89750004 +0.77250004 +0.57124996 +0.345 +0.1875 +0.1325 +0.15625 +0.23875 +0.33374998 +0.37 +0.3075 +0.15 +0.05 +0.0575 +0.0775 +0.13874999 +0.27125 +0.43125 +0.5075 +0.49874997 +0.46375 +0.48375 +0.59625006 +0.75 +0.89124995 +0.98499995 +1.02625 +1.0425 +1.0862501 +1.18875 +1.33875 +1.4875001 +1.5712501 +1.5374999 +1.37 +1.09875 +0.78375 +0.49749997 +0.36125 +0.29 +0.24624999 +0.2025 +0.16625 +0.13 +0.11 +0.111250006 +0.1525 +0.23375 +0.32625 +0.35375002 +0.2775 +0.17 +0.1075 +0.09625 +0.12124999 +0.2075 +0.35125 +0.465 +0.46750003 +0.36875 +0.25875 +0.205 +0.245 +0.36249998 +0.51875 +0.65999997 +0.765 +0.8375 +0.9024999 +0.9724999 +1.0487499 +1.095 +1.08 +0.97125 +0.7824999 +0.5575 +0.37 +0.27375 +0.29625002 +0.395 +0.5075 +0.54999995 +0.485 +0.335 +0.18625 +0.125 +0.16 +0.2575 +0.40124997 +0.5275 +0.585 +0.5675 +0.5525 +0.59250003 +0.70875 +0.87749994 +1.0374999 +1.14375 +1.18125 +1.18 +1.1887499 +1.2475001 +1.3600001 +1.48625 +1.56625 +1.54375 +1.3925 +1.13375 +0.8225 +0.54375 +0.36125 +0.29 +0.24624999 +0.2025 +0.16625 +0.13 +0.11 +0.111250006 +0.1525 +0.23375 +0.32625 +0.35375002 +0.2775 +0.17 +0.1075 +0.09625 +0.12124999 +0.2075 +0.35125 +0.465 +0.46750003 +0.36875 +0.25875 +0.205 +0.245 +0.36249998 +0.51875 +0.65999997 +0.765 +0.8375 +0.9024999 +0.9724999 +1.0487499 +1.095 +1.08 +0.97125 +0.7824999 +0.5575 +0.37 +0.27375 +0.29625002 +0.395 +0.5075 +0.54999995 +0.485 +0.335 +0.18625 +0.125 +0.16 +0.2575 +0.40124997 +0.5275 +0.585 +0.5675 +0.5525 +0.59250003 +0.70875 +0.87749994 +1.0374999 +1.14375 +1.18125 +1.18 +1.1887499 +1.2475001 +1.3600001 +1.48625 +1.56625 +1.54375 +1.3925 +1.13375 +0.8225 +0.54375 +0.47000003 +0.37375 +0.33374998 +0.33499998 +0.33000004 +0.29500002 +0.25875 +0.26749998 +0.3575 +0.50875 +0.65749997 +0.72875 +0.68625 +0.54875 +0.39875 +0.32500002 +0.37499997 +0.52375 +0.69249994 +0.7925 +0.78125 +0.67125 +0.53875 +0.45499995 +0.465 +0.56125 +0.6999999 +0.83375 +0.93249995 +0.99875 +1.0525 +1.115 +1.1812501 +1.22875 +1.21875 +1.12625 +0.95125 +0.73249996 +0.53499997 +0.41875 +0.41375 +0.50125 +0.615 +0.67499995 +0.6375 +0.51 +0.35750002 +0.2625 +0.27999997 +0.40124997 +0.56874996 +0.70750004 +0.76750004 +0.75625 +0.73249996 +0.75624996 +0.8575 +1.02375 +1.1949999 +1.31375 +1.35875 +1.35 +1.33125 +1.3499999 +1.4275 +1.5325 +1.6175001 +1.61375 +1.48875 +1.25375 +0.95124996 +0.66625 +0.47000003 +0.37375 +0.33374998 +0.33499998 +0.33000004 +0.29500002 +0.25875 +0.26749998 +0.3575 +0.50875 +0.65749997 +0.72875 +0.68625 +0.54875 +0.39875 +0.32500002 +0.37499997 +0.52375 +0.69249994 +0.7925 +0.78125 +0.67125 +0.53875 +0.45499995 +0.465 +0.56125 +0.6999999 +0.83375 +0.93249995 +0.99875 +1.0525 +1.115 +1.1812501 +1.22875 +1.21875 +1.12625 +0.95125 +0.73249996 +0.53499997 +0.41875 +0.41375 +0.50125 +0.615 +0.67499995 +0.6375 +0.51 +0.35750002 +0.2625 +0.27999997 +0.40124997 +0.56874996 +0.70750004 +0.76750004 +0.75625 +0.73249996 +0.75624996 +0.8575 +1.02375 +1.1949999 +1.31375 +1.35875 +1.35 +1.33125 +1.3499999 +1.4275 +1.5325 +1.6175001 +1.61375 +1.48875 +1.25375 +0.95124996 +0.66625 +0.60499996 +0.51374996 +0.5125 +0.55 +0.56874996 +0.54875004 +0.52125 +0.53625 +0.63375 +0.8025 +0.97999996 +1.0862501 +1.0662501 +0.93625 +0.77125 +0.66749996 +0.6775 +0.78375006 +0.9175 +0.99375 +0.95875 +0.83000004 +0.67125 +0.55625 +0.53375 +0.60125005 +0.71625 +0.83624995 +0.93 +0.99 +1.0375 +1.0862501 +1.1375 +1.1775 +1.1725 +1.09625 +0.94375 +0.74125 +0.545 +0.41249996 +0.38375 +0.45500004 +0.57375 +0.66249996 +0.66875 +0.585 +0.46499997 +0.38750002 +0.415 +0.5575 +0.76125 +0.9425 +1.0462501 +1.0625 +1.03625 +1.035 +1.1062499 +1.24125 +1.3987501 +1.51875 +1.56 +1.5337499 +1.4812499 +1.4549999 +1.49 +1.5699999 +1.6537498 +1.67125 +1.5774999 +1.3675 +1.085 +0.80625004 +0.60499996 +0.51374996 +0.5125 +0.55 +0.56874996 +0.54875004 +0.52125 +0.53625 +0.63375 +0.8025 +0.97999996 +1.0862501 +1.0662501 +0.93625 +0.77125 +0.66749996 +0.6775 +0.78375006 +0.9175 +0.99375 +0.95875 +0.83000004 +0.67125 +0.55625 +0.53375 +0.60125005 +0.71625 +0.83624995 +0.93 +0.99 +1.0375 +1.0862501 +1.1375 +1.1775 +1.1725 +1.09625 +0.94375 +0.74125 +0.545 +0.41249996 +0.38375 +0.45500004 +0.57375 +0.66249996 +0.66875 +0.585 +0.46499997 +0.38750002 +0.415 +0.5575 +0.76125 +0.9425 +1.0462501 +1.0625 +1.03625 +1.035 +1.1062499 +1.24125 +1.3987501 +1.51875 +1.56 +1.5337499 +1.4812499 +1.4549999 +1.49 +1.5699999 +1.6537498 +1.67125 +1.5774999 +1.3675 +1.085 +0.80625004 +0.72125 +0.65625 +0.68999994 +0.76 +0.8025 +0.79375 +0.76374996 +0.77000004 +0.85999995 +1.02875 +1.21375 +1.32625 +1.3075 +1.16125 +0.9625 +0.80875003 +0.7625 +0.8175 +0.91125 +0.9562501 +0.9025 +0.7575 +0.58124995 +0.44375002 +0.39249998 +0.4275 +0.51750004 +0.64250004 +0.74250007 +0.785 +0.79999995 +0.83250004 +0.86875004 +0.89875 +0.90375 +0.85625005 +0.74375 +0.57875 +0.39625 +0.26000002 +0.21875 +0.275 +0.40250003 +0.55 +0.62625 +0.58875 +0.495 +0.4525 +0.51874995 +0.71125 +0.98625 +1.2575 +1.4475 +1.5224999 +1.5124999 +1.4825 +1.49875 +1.5749999 +1.685 +1.77 +1.785 +1.71875 +1.6125 +1.5275 +1.5037501 +1.5525001 +1.6275 +1.66125 +1.59625 +1.415 +1.1575 +0.89874995 +0.72125 +0.65625 +0.68999994 +0.76 +0.8025 +0.79375 +0.76374996 +0.77000004 +0.85999995 +1.02875 +1.21375 +1.32625 +1.3075 +1.16125 +0.9625 +0.80875003 +0.7625 +0.8175 +0.91125 +0.9562501 +0.9025 +0.7575 +0.58124995 +0.44375002 +0.39249998 +0.4275 +0.51750004 +0.64250004 +0.74250007 +0.785 +0.79999995 +0.83250004 +0.86875004 +0.89875 +0.90375 +0.85625005 +0.74375 +0.57875 +0.39625 +0.26000002 +0.21875 +0.275 +0.40250003 +0.55 +0.62625 +0.58875 +0.495 +0.4525 +0.51874995 +0.71125 +0.98625 +1.2575 +1.4475 +1.5224999 +1.5124999 +1.4825 +1.49875 +1.5749999 +1.685 +1.77 +1.785 +1.71875 +1.6125 +1.5275 +1.5037501 +1.5525001 +1.6275 +1.66125 +1.59625 +1.415 +1.1575 +0.89874995 +0.7825 +0.75375 +0.82875 +0.9375 +1.005 +1.00125 +0.95875 +0.94375 +1.015 +1.1674999 +1.33625 +1.4312501 +1.3899999 +1.2075 +0.95250005 +0.73499995 +0.6275 +0.62875 +0.68125 +0.71750003 +0.68875 +0.53499997 +0.325 +0.19375 +0.14 +0.14874999 +0.23375 +0.35250002 +0.43874997 +0.47375 +0.47125 +0.45999998 +0.47 +0.49999997 +0.52625 +0.52625 +0.47625 +0.3625 +0.21625 +0.09875001 +0.0575 +0.10875 +0.26874998 +0.46375 +0.5975 +0.62875 +0.57875 +0.545 +0.64874995 +0.90749997 +1.28625 +1.7075 +2.025 +2.155 +2.1612499 +2.10125 +2.04375 +2.0324998 +2.05625 +2.07 +2.0225 +1.89375 +1.7175001 +1.5575 +1.47 +1.4762499 +1.54 +1.585 +1.5474999 +1.39375 +1.1637499 +0.9325 +0.7825 +0.75375 +0.82875 +0.9375 +1.005 +1.00125 +0.95875 +0.94375 +1.015 +1.1674999 +1.33625 +1.4312501 +1.3899999 +1.2075 +0.95250005 +0.73499995 +0.6275 +0.62875 +0.68125 +0.71750003 +0.68875 +0.53499997 +0.325 +0.19375 +0.14 +0.14874999 +0.23375 +0.35250002 +0.43874997 +0.47375 +0.47125 +0.45999998 +0.47 +0.49999997 +0.52625 +0.52625 +0.47625 +0.3625 +0.21625 +0.09875001 +0.0575 +0.10875 +0.26874998 +0.46375 +0.5975 +0.62875 +0.57875 +0.545 +0.64874995 +0.90749997 +1.28625 +1.7075 +2.025 +2.155 +2.1612499 +2.10125 +2.04375 +2.0324998 +2.05625 +2.07 +2.0225 +1.89375 +1.7175001 +1.5575 +1.47 +1.4762499 +1.54 +1.585 +1.5474999 +1.39375 +1.1637499 +0.9325 +0.82000005 +0.8225 +0.93 +1.0675 +1.155 +1.1575 +1.105 +1.0725 +1.125 +1.2587501 +1.4075 +1.47875 +1.4000001 +1.1625 +0.84625006 +0.56374997 +0.41625 +0.36124998 +0.37 +0.425 +0.40750003 +0.26624998 +0.099999994 +0.01375 +0.0 +0.01125 +0.04 +0.09 +0.14874999 +0.1775 +0.1725 +0.16125 +0.16375 +0.20125 +0.27124998 +0.33750004 +0.36 +0.31375 +0.20750001 +0.09625 +0.060000002 +0.10875 +0.25875002 +0.47625 +0.65999997 +0.74875 +0.75 +0.7537501 +0.87874997 +1.2 +1.6912498 +2.23875 +2.68 +2.8962498 +2.9099998 +2.82 +2.6775 +2.5549998 +2.4675 +2.3825 +2.2475 +2.04 +1.7874999 +1.5562501 +1.4125001 +1.38375 +1.4387501 +1.50125 +1.48875 +1.36375 +1.1575 +0.9475 +0.82000005 +0.8225 +0.93 +1.0675 +1.155 +1.1575 +1.105 +1.0725 +1.125 +1.2587501 +1.4075 +1.47875 +1.4000001 +1.1625 +0.84625006 +0.56374997 +0.41625 +0.36124998 +0.37 +0.425 +0.40750003 +0.26624998 +0.099999994 +0.01375 +0.0 +0.01125 +0.04 +0.09 +0.14874999 +0.1775 +0.1725 +0.16125 +0.16375 +0.20125 +0.27124998 +0.33750004 +0.36 +0.31375 +0.20750001 +0.09625 +0.060000002 +0.10875 +0.25875002 +0.47625 +0.65999997 +0.74875 +0.75 +0.7537501 +0.87874997 +1.2 +1.6912498 +2.23875 +2.68 +2.8962498 +2.9099998 +2.82 +2.6775 +2.5549998 +2.4675 +2.3825 +2.2475 +2.04 +1.7874999 +1.5562501 +1.4125001 +1.38375 +1.4387501 +1.50125 +1.48875 +1.36375 +1.1575 +0.9475 +0.87750006 +0.88750005 +1.00875 +1.16125 +1.26125 +1.2725 +1.22375 +1.1925 +1.2449999 +1.38125 +1.52875 +1.58625 +1.4749999 +1.1887499 +0.8125 +0.4775 +0.30999997 +0.23124999 +0.185 +0.21625 +0.21375 +0.09375 +0.00375 +0.0025 +0.00375 +0.0 +0.0 +0.0075 +0.041249998 +0.05875 +0.049999997 +0.0425 +0.060000002 +0.11624999 +0.2225 +0.34875 +0.43749997 +0.45250002 +0.38375002 +0.27375 +0.20875001 +0.24125 +0.39874998 +0.6325 +0.85 +0.97625 +1.00625 +1.02625 +1.17 +1.5225 +2.08125 +2.725 +3.27 +3.56625 +3.6174998 +3.49625 +3.2712498 +3.035 +2.8325 +2.6437502 +2.4225001 +2.145 +1.83 +1.5462501 +1.36875 +1.32875 +1.3950001 +1.4812499 +1.4975 +1.39625 +1.2025 +0.99875 +0.87750006 +0.88750005 +1.00875 +1.16125 +1.26125 +1.2725 +1.22375 +1.1925 +1.2449999 +1.38125 +1.52875 +1.58625 +1.4749999 +1.1887499 +0.8125 +0.4775 +0.30999997 +0.23124999 +0.185 +0.21625 +0.21375 +0.09375 +0.00375 +0.0025 +0.00375 +0.0 +0.0 +0.0075 +0.041249998 +0.05875 +0.049999997 +0.0425 +0.060000002 +0.11624999 +0.2225 +0.34875 +0.43749997 +0.45250002 +0.38375002 +0.27375 +0.20875001 +0.24125 +0.39874998 +0.6325 +0.85 +0.97625 +1.00625 +1.02625 +1.17 +1.5225 +2.08125 +2.725 +3.27 +3.56625 +3.6174998 +3.49625 +3.2712498 +3.035 +2.8325 +2.6437502 +2.4225001 +2.145 +1.83 +1.5462501 +1.36875 +1.32875 +1.3950001 +1.4812499 +1.4975 +1.39625 +1.2025 +0.99875 +0.98375005 +0.97625005 +1.08625 +1.2375001 +1.345 +1.37375 +1.3487499 +1.34875 +1.4375 +1.61 +1.7850001 +1.8562499 +1.7325 +1.4124999 +0.98249996 +0.59374994 +0.36875 +0.26875 +0.23000002 +0.22125 +0.22375001 +0.1225 +0.04125 +0.0575 +0.06125 +0.03625 +0.0275 +0.09375 +0.15875 +0.19375 +0.22000001 +0.22874998 +0.24875 +0.3075 +0.41625002 +0.56750005 +0.69875 +0.7475 +0.71000004 +0.62749994 +0.555 +0.5625 +0.67875 +0.87500006 +1.10125 +1.24125 +1.27375 +1.3212501 +1.4712499 +1.81375 +2.36 +3.0312502 +3.6425 +3.9937499 +4.10125 +3.9574997 +3.67125 +3.3500001 +3.0562499 +2.7899997 +2.5100002 +2.185 +1.8399999 +1.54 +1.3587501 +1.335 +1.4312501 +1.555 +1.60625 +1.52875 +1.3375001 +1.1225 +0.98375005 +0.97625005 +1.08625 +1.2375001 +1.345 +1.37375 +1.3487499 +1.34875 +1.4375 +1.61 +1.7850001 +1.8562499 +1.7325 +1.4124999 +0.98249996 +0.59374994 +0.36875 +0.26875 +0.23000002 +0.22125 +0.22375001 +0.1225 +0.04125 +0.0575 +0.06125 +0.03625 +0.0275 +0.09375 +0.15875 +0.19375 +0.22000001 +0.22874998 +0.24875 +0.3075 +0.41625002 +0.56750005 +0.69875 +0.7475 +0.71000004 +0.62749994 +0.555 +0.5625 +0.67875 +0.87500006 +1.10125 +1.24125 +1.27375 +1.3212501 +1.4712499 +1.81375 +2.36 +3.0312502 +3.6425 +3.9937499 +4.10125 +3.9574997 +3.67125 +3.3500001 +3.0562499 +2.7899997 +2.5100002 +2.185 +1.8399999 +1.54 +1.3587501 +1.335 +1.4312501 +1.555 +1.60625 +1.52875 +1.3375001 +1.1225 +1.135 +1.09375 +1.1787499 +1.32125 +1.44 +1.4987501 +1.5225 +1.58375 +1.7412499 +1.9825 +2.2175 +2.32 +2.2024999 +1.86 +1.3924999 +0.93625003 +0.62375003 +0.48375 +0.46375 +0.48625 +0.46500003 +0.37 +0.25125 +0.19125001 +0.1875 +0.20750001 +0.28625 +0.41375 +0.53000003 +0.59749997 +0.61625004 +0.61125 +0.61625 +0.66499996 +0.76875 +0.90625 +1.03 +1.0887499 +1.06 +0.96500003 +0.86999995 +0.84999996 +0.94375 +1.12625 +1.3225 +1.45125 +1.4925001 +1.5062501 +1.61375 +1.9112501 +2.42875 +3.0725 +3.6825001 +4.095 +4.2200003 +4.07375 +3.76125 +3.4037502 +3.07375 +2.7775002 +2.48 +2.1525002 +1.815 +1.53 +1.37375 +1.38375 +1.5262499 +1.69625 +1.7837499 +1.7275 +1.53875 +1.3050001 +1.135 +1.09375 +1.1787499 +1.32125 +1.44 +1.4987501 +1.5225 +1.58375 +1.7412499 +1.9825 +2.2175 +2.32 +2.2024999 +1.86 +1.3924999 +0.93625003 +0.62375003 +0.48375 +0.46375 +0.48625 +0.46500003 +0.37 +0.25125 +0.19125001 +0.1875 +0.20750001 +0.28625 +0.41375 +0.53000003 +0.59749997 +0.61625004 +0.61125 +0.61625 +0.66499996 +0.76875 +0.90625 +1.03 +1.0887499 +1.06 +0.96500003 +0.86999995 +0.84999996 +0.94375 +1.12625 +1.3225 +1.45125 +1.4925001 +1.5062501 +1.61375 +1.9112501 +2.42875 +3.0725 +3.6825001 +4.095 +4.2200003 +4.07375 +3.76125 +3.4037502 +3.07375 +2.7775002 +2.48 +2.1525002 +1.815 +1.53 +1.37375 +1.38375 +1.5262499 +1.69625 +1.7837499 +1.7275 +1.53875 +1.3050001 +1.29625 +1.23 +1.295 +1.43625 +1.5787499 +1.67875 +1.7700001 +1.9112499 +2.15125 +2.475 +2.77875 +2.9275002 +2.8275 +2.47125 +1.9612501 +1.455 +1.085 +0.9025 +0.86249995 +0.87375 +0.84499997 +0.74625 +0.60875 +0.5 +0.475 +0.54625 +0.68625 +0.8375 +0.95 +0.99999994 +0.995 +0.96250004 +0.93750006 +0.9562501 +1.03 +1.13625 +1.22625 +1.2562499 +1.19875 +1.0799999 +0.9625 +0.91999996 +0.9912499 +1.15375 +1.33125 +1.4412501 +1.4575 +1.43375 +1.4862499 +1.7225001 +2.17875 +2.78 +3.37 +3.7849998 +3.92625 +3.8075 +3.51875 +3.1825 +2.87375 +2.6087499 +2.34625 +2.0549998 +1.7562501 +1.505 +1.3812499 +1.43125 +1.6112499 +1.8237501 +1.9525001 +1.9187499 +1.7374998 +1.49125 +1.29625 +1.23 +1.295 +1.43625 +1.5787499 +1.67875 +1.7700001 +1.9112499 +2.15125 +2.475 +2.77875 +2.9275002 +2.8275 +2.47125 +1.9612501 +1.455 +1.085 +0.9025 +0.86249995 +0.87375 +0.84499997 +0.74625 +0.60875 +0.5 +0.475 +0.54625 +0.68625 +0.8375 +0.95 +0.99999994 +0.995 +0.96250004 +0.93750006 +0.9562501 +1.03 +1.13625 +1.22625 +1.2562499 +1.19875 +1.0799999 +0.9625 +0.91999996 +0.9912499 +1.15375 +1.33125 +1.4412501 +1.4575 +1.43375 +1.4862499 +1.7225001 +2.17875 +2.78 +3.37 +3.7849998 +3.92625 +3.8075 +3.51875 +3.1825 +2.87375 +2.6087499 +2.34625 +2.0549998 +1.7562501 +1.505 +1.3812499 +1.43125 +1.6112499 +1.8237501 +1.9525001 +1.9187499 +1.7374998 +1.49125 +1.43625 +1.36625 +1.43625 +1.5949998 +1.77125 +1.92875 +2.0875 +2.3049998 +2.6249998 +3.0162501 +3.3787498 +3.5662498 +3.48 +3.1100004 +2.5625 +2.0012498 +1.57 +1.33125 +1.25 +1.22875 +1.1775 +1.06 +0.90875 +0.79125 +0.76250005 +0.83374995 +0.9699999 +1.11 +1.2 +1.21625 +1.17125 +1.0975 +1.035 +1.01625 +1.04375 +1.0975 +1.13875 +1.12375 +1.0362501 +0.89625 +0.76624995 +0.7125 +0.77 +0.91374993 +1.07125 +1.1637499 +1.1574999 +1.10375 +1.1075001 +1.27875 +1.6637499 +2.2 +2.7475002 +3.14875 +3.31 +3.23625 +3.0100002 +2.7475 +2.5187497 +2.3274999 +2.1374998 +1.9112501 +1.6612501 +1.4475 +1.3525 +1.42125 +1.6262499 +1.8675 +2.02625 +2.0224998 +1.8625001 +1.6287498 +1.43625 +1.36625 +1.43625 +1.5949998 +1.77125 +1.92875 +2.0875 +2.3049998 +2.6249998 +3.0162501 +3.3787498 +3.5662498 +3.48 +3.1100004 +2.5625 +2.0012498 +1.57 +1.33125 +1.25 +1.22875 +1.1775 +1.06 +0.90875 +0.79125 +0.76250005 +0.83374995 +0.9699999 +1.11 +1.2 +1.21625 +1.17125 +1.0975 +1.035 +1.01625 +1.04375 +1.0975 +1.13875 +1.12375 +1.0362501 +0.89625 +0.76624995 +0.7125 +0.77 +0.91374993 +1.07125 +1.1637499 +1.1574999 +1.10375 +1.1075001 +1.27875 +1.6637499 +2.2 +2.7475002 +3.14875 +3.31 +3.23625 +3.0100002 +2.7475 +2.5187497 +2.3274999 +2.1374998 +1.9112501 +1.6612501 +1.4475 +1.3525 +1.42125 +1.6262499 +1.8675 +2.02625 +2.0224998 +1.8625001 +1.6287498 +1.52875 +1.4912499 +1.59375 +1.79 +2.01375 +2.2275 +2.445 +2.71875 +3.08375 +3.5125 +3.9012504 +4.1075 +4.025 +3.645 +3.06375 +2.4524999 +1.95875 +1.65375 +1.51375 +1.4475 +1.39625 +1.2375 +1.0462501 +0.91 +0.86375 +0.91749996 +1.03125 +1.1625 +1.2099999 +1.16125 +1.07625 +0.96500003 +0.86875 +0.815 +0.8025 +0.8225 +0.8275 +0.76500005 +0.64625 +0.50625 +0.38375002 +0.33875 +0.39000002 +0.52250004 +0.68875 +0.77000004 +0.72875 +0.65375 +0.62375003 +0.74375 +1.0587499 +1.5425 +2.04625 +2.3875 +2.56 +2.53375 +2.38875 +2.22125 +2.0912502 +2.0012498 +1.8987501 +1.745 +1.5387499 +1.3525 +1.2687501 +1.33625 +1.5412499 +1.7925 +1.9725001 +2.0049999 +1.88375 +1.68875 +1.52875 +1.4912499 +1.59375 +1.79 +2.01375 +2.2275 +2.445 +2.71875 +3.08375 +3.5125 +3.9012504 +4.1075 +4.025 +3.645 +3.06375 +2.4524999 +1.95875 +1.65375 +1.51375 +1.4475 +1.39625 +1.2375 +1.0462501 +0.91 +0.86375 +0.91749996 +1.03125 +1.1625 +1.2099999 +1.16125 +1.07625 +0.96500003 +0.86875 +0.815 +0.8025 +0.8225 +0.8275 +0.76500005 +0.64625 +0.50625 +0.38375002 +0.33875 +0.39000002 +0.52250004 +0.68875 +0.77000004 +0.72875 +0.65375 +0.62375003 +0.74375 +1.0587499 +1.5425 +2.04625 +2.3875 +2.56 +2.53375 +2.38875 +2.22125 +2.0912502 +2.0012498 +1.8987501 +1.745 +1.5387499 +1.3525 +1.2687501 +1.33625 +1.5412499 +1.7925 +1.9725001 +2.0049999 +1.88375 +1.68875 +1.57875 +1.595 +1.74875 +1.99375 +2.265 +2.52375 +2.7800002 +3.07375 +3.4425 +3.86375 +4.24 +4.4425 +4.3599997 +3.9787498 +3.38875 +2.7462502 +2.20125 +1.83375 +1.6300001 +1.54375 +1.4612498 +1.2825 +1.0524999 +0.8675 +0.79749995 +0.84499997 +0.95874995 +1.0525 +1.0625 +0.97624993 +0.82625 +0.67 +0.55499995 +0.49375 +0.48125005 +0.48375002 +0.46125 +0.39 +0.26749998 +0.14625 +0.06625 +0.04625 +0.107499994 +0.25375 +0.41250002 +0.485 +0.44125 +0.3225 +0.25124997 +0.32625 +0.605 +1.03 +1.46125 +1.7562499 +1.8912499 +1.8975 +1.815 +1.72875 +1.69125 +1.6850001 +1.6587499 +1.56375 +1.39625 +1.2225 +1.13125 +1.18125 +1.3687501 +1.61375 +1.8100001 +1.88 +1.8149999 +1.67875 +1.57875 +1.595 +1.74875 +1.99375 +2.265 +2.52375 +2.7800002 +3.07375 +3.4425 +3.86375 +4.24 +4.4425 +4.3599997 +3.9787498 +3.38875 +2.7462502 +2.20125 +1.83375 +1.6300001 +1.54375 +1.4612498 +1.2825 +1.0524999 +0.8675 +0.79749995 +0.84499997 +0.95874995 +1.0525 +1.0625 +0.97624993 +0.82625 +0.67 +0.55499995 +0.49375 +0.48125005 +0.48375002 +0.46125 +0.39 +0.26749998 +0.14625 +0.06625 +0.04625 +0.107499994 +0.25375 +0.41250002 +0.485 +0.44125 +0.3225 +0.25124997 +0.32625 +0.605 +1.03 +1.46125 +1.7562499 +1.8912499 +1.8975 +1.815 +1.72875 +1.69125 +1.6850001 +1.6587499 +1.56375 +1.39625 +1.2225 +1.13125 +1.18125 +1.3687501 +1.61375 +1.8100001 +1.88 +1.8149999 +1.67875 +1.5887501 +1.665 +1.8662499 +2.1525002 +2.45875 +2.74375 +3.0049999 +3.2825 +3.61375 +3.985 +4.32 +4.5 +4.4249997 +4.0662503 +3.5012498 +2.8625002 +2.2975001 +1.8925 +1.6387498 +1.515 +1.3987501 +1.205 +0.96875 +0.77 +0.67375 +0.69125 +0.77125 +0.83375 +0.825 +0.72875 +0.57625 +0.42374998 +0.30875 +0.24624999 +0.22625 +0.22 +0.19749999 +0.14 +0.056250002 +0.00375 +0.0 +0.0075 +0.060000002 +0.18375 +0.32375002 +0.39624998 +0.3575 +0.24499999 +0.15625 +0.19500001 +0.40999997 +0.7525 +1.1075001 +1.345 +1.4449999 +1.4525 +1.3925 +1.35 +1.3625 +1.4087499 +1.42875 +1.36875 +1.22375 +1.05375 +0.94875 +0.9775 +1.1425 +1.37625 +1.5862501 +1.69375 +1.68625 +1.6199999 +1.5887501 +1.665 +1.8662499 +2.1525002 +2.45875 +2.74375 +3.0049999 +3.2825 +3.61375 +3.985 +4.32 +4.5 +4.4249997 +4.0662503 +3.5012498 +2.8625002 +2.2975001 +1.8925 +1.6387498 +1.515 +1.3987501 +1.205 +0.96875 +0.77 +0.67375 +0.69125 +0.77125 +0.83375 +0.825 +0.72875 +0.57625 +0.42374998 +0.30875 +0.24624999 +0.22625 +0.22 +0.19749999 +0.14 +0.056250002 +0.00375 +0.0 +0.0075 +0.060000002 +0.18375 +0.32375002 +0.39624998 +0.3575 +0.24499999 +0.15625 +0.19500001 +0.40999997 +0.7525 +1.1075001 +1.345 +1.4449999 +1.4525 +1.3925 +1.35 +1.3625 +1.4087499 +1.42875 +1.36875 +1.22375 +1.05375 +0.94875 +0.9775 +1.1425 +1.37625 +1.5862501 +1.69375 +1.68625 +1.6199999 +1.5550001 +1.6775 +1.91125 +2.22 +2.5387502 +2.8200002 +3.0575001 +3.28625 +3.5462499 +3.84 +4.1112504 +4.26125 +4.2025 +3.9 +3.3974998 +2.81375 +2.2725 +1.8599999 +1.5862501 +1.41125 +1.2774999 +1.08125 +0.84999996 +0.66625 +0.555 +0.5275 +0.58125 +0.63250005 +0.63 +0.55625 +0.435 +0.31125 +0.22625 +0.1825 +0.16499999 +0.1575 +0.1475 +0.11125 +0.0675 +0.0425 +0.03 +0.055 +0.14 +0.27624997 +0.425 +0.505 +0.47625002 +0.3725 +0.29375002 +0.3 +0.4375 +0.705 +0.98375 +1.165 +1.2425 +1.21875 +1.14375 +1.095 +1.1062499 +1.1600001 +1.18875 +1.14 +1.005 +0.83875 +0.72625 +0.73875 +0.88625 +1.11375 +1.3362501 +1.48 +1.5275 +1.5262501 +1.5550001 +1.6775 +1.91125 +2.22 +2.5387502 +2.8200002 +3.0575001 +3.28625 +3.5462499 +3.84 +4.1112504 +4.26125 +4.2025 +3.9 +3.3974998 +2.81375 +2.2725 +1.8599999 +1.5862501 +1.41125 +1.2774999 +1.08125 +0.84999996 +0.66625 +0.555 +0.5275 +0.58125 +0.63250005 +0.63 +0.55625 +0.435 +0.31125 +0.22625 +0.1825 +0.16499999 +0.1575 +0.1475 +0.11125 +0.0675 +0.0425 +0.03 +0.055 +0.14 +0.27624997 +0.425 +0.505 +0.47625002 +0.3725 +0.29375002 +0.3 +0.4375 +0.705 +0.98375 +1.165 +1.2425 +1.21875 +1.14375 +1.095 +1.1062499 +1.1600001 +1.18875 +1.14 +1.005 +0.83875 +0.72625 +0.73875 +0.88625 +1.11375 +1.3362501 +1.48 +1.5275 +1.5262501 +1.47125 +1.62 +1.86125 +2.16375 +2.4675 +2.72125 +2.9175 +3.08 +3.24875 +3.44625 +3.63875 +3.76125 +3.7312503 +3.5025 +3.1037502 +2.615 +2.1375 +1.755 +1.4875 +1.3025 +1.1487501 +0.98375 +0.805 +0.64125 +0.5275 +0.47875 +0.47875002 +0.525 +0.555 +0.53125 +0.47625 +0.43625003 +0.40499997 +0.38625002 +0.37875003 +0.37750003 +0.37 +0.35 +0.31125 +0.26625 +0.23125 +0.2375 +0.30874997 +0.45499998 +0.60875 +0.69625 +0.69124997 +0.63624996 +0.55875 +0.5325 +0.60749996 +0.78375 +0.99125004 +1.14625 +1.1875 +1.1225001 +1.00625 +0.91499996 +0.88499993 +0.905 +0.9187499 +0.86375004 +0.7362499 +0.57875 +0.47 +0.48124996 +0.6175 +0.84125 +1.0762501 +1.2512499 +1.3462499 +1.3987501 +1.47125 +1.62 +1.86125 +2.16375 +2.4675 +2.72125 +2.9175 +3.08 +3.24875 +3.44625 +3.63875 +3.76125 +3.7312503 +3.5025 +3.1037502 +2.615 +2.1375 +1.755 +1.4875 +1.3025 +1.1487501 +0.98375 +0.805 +0.64125 +0.5275 +0.47875 +0.47875002 +0.525 +0.555 +0.53125 +0.47625 +0.43625003 +0.40499997 +0.38625002 +0.37875003 +0.37750003 +0.37 +0.35 +0.31125 +0.26625 +0.23125 +0.2375 +0.30874997 +0.45499998 +0.60875 +0.69625 +0.69124997 +0.63624996 +0.55875 +0.5325 +0.60749996 +0.78375 +0.99125004 +1.14625 +1.1875 +1.1225001 +1.00625 +0.91499996 +0.88499993 +0.905 +0.9187499 +0.86375004 +0.7362499 +0.57875 +0.47 +0.48124996 +0.6175 +0.84125 +1.0762501 +1.2512499 +1.3462499 +1.3987501 +1.3399999 +1.5 +1.72875 +2.0024998 +2.2675 +2.47875 +2.6225002 +2.7125 +2.7900002 +2.88875 +3.0037498 +3.09375 +3.09125 +2.9525 +2.67125 +2.2975 +1.91 +1.5800002 +1.34375 +1.1825 +1.0575 +0.93500006 +0.7975 +0.65999997 +0.555 +0.50374997 +0.50375 +0.54749995 +0.6075 +0.66249996 +0.70125 +0.72375 +0.72875 +0.725 +0.71625 +0.70625 +0.69249994 +0.665 +0.61875 +0.55625 +0.49625003 +0.47375 +0.51375 +0.61625 +0.75 +0.8525 +0.88124996 +0.82875 +0.7387499 +0.68375 +0.71750003 +0.84375 +1.01 +1.12875 +1.14125 +1.0437499 +0.88875 +0.74375004 +0.65999997 +0.6325 +0.615 +0.5575 +0.43874997 +0.31 +0.2475 +0.25375003 +0.37 +0.5675 +0.80750006 +1.0074999 +1.1425 +1.23625 +1.3399999 +1.5 +1.72875 +2.0024998 +2.2675 +2.47875 +2.6225002 +2.7125 +2.7900002 +2.88875 +3.0037498 +3.09375 +3.09125 +2.9525 +2.67125 +2.2975 +1.91 +1.5800002 +1.34375 +1.1825 +1.0575 +0.93500006 +0.7975 +0.65999997 +0.555 +0.50374997 +0.50375 +0.54749995 +0.6075 +0.66249996 +0.70125 +0.72375 +0.72875 +0.725 +0.71625 +0.70625 +0.69249994 +0.665 +0.61875 +0.55625 +0.49625003 +0.47375 +0.51375 +0.61625 +0.75 +0.8525 +0.88124996 +0.82875 +0.7387499 +0.68375 +0.71750003 +0.84375 +1.01 +1.12875 +1.14125 +1.0437499 +0.88875 +0.74375004 +0.65999997 +0.6325 +0.615 +0.5575 +0.43874997 +0.31 +0.2475 +0.25375003 +0.37 +0.5675 +0.80750006 +1.0074999 +1.1425 +1.23625 +1.2 +1.3625 +1.56625 +1.7987498 +2.015 +2.17625 +2.2637498 +2.28875 +2.28875 +2.3012502 +2.3475 +2.4037502 +2.4249997 +2.365 +2.1975 +1.9387499 +1.64 +1.37 +1.1675 +1.0350001 +0.95 +0.875 +0.78375 +0.6825 +0.59124994 +0.53625 +0.54 +0.60125005 +0.70625 +0.8275 +0.93625003 +1.01375 +1.04875 +1.0475 +1.0225 +0.98375 +0.94250005 +0.89250004 +0.82375 +0.73249996 +0.635 +0.56874996 +0.56624997 +0.63875 +0.75125 +0.85125 +0.88125 +0.82500005 +0.72375 +0.6425 +0.64000005 +0.73749995 +0.885 +0.99749994 +1.01 +0.90875 +0.73375005 +0.5575 +0.43125 +0.36374998 +0.32375 +0.2625 +0.19624999 +0.155 +0.14 +0.1375 +0.17374998 +0.33249998 +0.54625 +0.76374996 +0.9337499 +1.06875 +1.2 +1.3625 +1.56625 +1.7987498 +2.015 +2.17625 +2.2637498 +2.28875 +2.28875 +2.3012502 +2.3475 +2.4037502 +2.4249997 +2.365 +2.1975 +1.9387499 +1.64 +1.37 +1.1675 +1.0350001 +0.95 +0.875 +0.78375 +0.6825 +0.59124994 +0.53625 +0.54 +0.60125005 +0.70625 +0.8275 +0.93625003 +1.01375 +1.04875 +1.0475 +1.0225 +0.98375 +0.94250005 +0.89250004 +0.82375 +0.73249996 +0.635 +0.56874996 +0.56624997 +0.63875 +0.75125 +0.85125 +0.88125 +0.82500005 +0.72375 +0.6425 +0.64000005 +0.73749995 +0.885 +0.99749994 +1.01 +0.90875 +0.73375005 +0.5575 +0.43125 +0.36374998 +0.32375 +0.2625 +0.19624999 +0.155 +0.14 +0.1375 +0.17374998 +0.33249998 +0.54625 +0.76374996 +0.9337499 +1.06875 +1.11375 +1.28 +1.46 +1.6450001 +1.8075 +1.91625 +1.95875 +1.935 +1.8799999 +1.83 +1.81875 +1.845 +1.8850001 +1.885 +1.8037499 +1.6387501 +1.4175 +1.19375 +1.0174999 +0.91125 +0.8625001 +0.82374996 +0.77375 +0.7 +0.615 +0.555 +0.5475 +0.615 +0.7475 +0.91875 +1.0862501 +1.20875 +1.2674999 +1.2574999 +1.20375 +1.1275 +1.05 +0.97125 +0.88 +0.76374996 +0.63625 +0.53125 +0.48875004 +0.52250004 +0.61125 +0.6975 +0.72499996 +0.665 +0.55 +0.44625 +0.4225 +0.49874997 +0.64875 +0.77 +0.8025 +0.7275001 +0.5675 +0.3875 +0.24374999 +0.16 +0.11 +0.0825 +0.07875 +0.08875 +0.10125 +0.1 +0.09625 +0.16874999 +0.34749997 +0.57125 +0.77500004 +0.9525 +1.11375 +1.28 +1.46 +1.6450001 +1.8075 +1.91625 +1.95875 +1.935 +1.8799999 +1.83 +1.81875 +1.845 +1.8850001 +1.885 +1.8037499 +1.6387501 +1.4175 +1.19375 +1.0174999 +0.91125 +0.8625001 +0.82374996 +0.77375 +0.7 +0.615 +0.555 +0.5475 +0.615 +0.7475 +0.91875 +1.0862501 +1.20875 +1.2674999 +1.2574999 +1.20375 +1.1275 +1.05 +0.97125 +0.88 +0.76374996 +0.63625 +0.53125 +0.48875004 +0.52250004 +0.61125 +0.6975 +0.72499996 +0.665 +0.55 +0.44625 +0.4225 +0.49874997 +0.64875 +0.77 +0.8025 +0.7275001 +0.5675 +0.3875 +0.24374999 +0.16 +0.11 +0.0825 +0.07875 +0.08875 +0.10125 +0.1 +0.09625 +0.16874999 +0.34749997 +0.57125 +0.77500004 +0.9525 +1.1550001 +1.32875 +1.485 +1.61875 +1.72375 +1.7837499 +1.7875 +1.7375 +1.6525 +1.57 +1.52625 +1.53625 +1.585 +1.62125 +1.6024998 +1.50125 +1.33375 +1.1424999 +1.00875 +0.94000006 +0.91124994 +0.88 +0.81875 +0.76125 +0.675 +0.59375 +0.5625 +0.61375 +0.76500005 +0.95000005 +1.15125 +1.3075001 +1.37875 +1.35875 +1.275 +1.1625 +1.05 +0.9462501 +0.84250003 +0.72 +0.58500004 +0.46125 +0.3925 +0.4025 +0.47499996 +0.53499997 +0.55875 +0.49999997 +0.38000003 +0.265 +0.22125001 +0.31874996 +0.47375 +0.6075001 +0.64625 +0.585 +0.4625 +0.30375 +0.16999999 +0.087500006 +0.05 +0.03625 +0.04625 +0.05875 +0.06875 +0.0675 +0.065 +0.11375 +0.27125 +0.50124997 +0.73625 +0.95875 +1.1550001 +1.32875 +1.485 +1.61875 +1.72375 +1.7837499 +1.7875 +1.7375 +1.6525 +1.57 +1.52625 +1.53625 +1.585 +1.62125 +1.6024998 +1.50125 +1.33375 +1.1424999 +1.00875 +0.94000006 +0.91124994 +0.88 +0.81875 +0.76125 +0.675 +0.59375 +0.5625 +0.61375 +0.76500005 +0.95000005 +1.15125 +1.3075001 +1.37875 +1.35875 +1.275 +1.1625 +1.05 +0.9462501 +0.84250003 +0.72 +0.58500004 +0.46125 +0.3925 +0.4025 +0.47499996 +0.53499997 +0.55875 +0.49999997 +0.38000003 +0.265 +0.22125001 +0.31874996 +0.47375 +0.6075001 +0.64625 +0.585 +0.4625 +0.30375 +0.16999999 +0.087500006 +0.05 +0.03625 +0.04625 +0.05875 +0.06875 +0.0675 +0.065 +0.11375 +0.27125 +0.50124997 +0.73625 +0.95875 +1.3525 +1.5325 +1.6600001 +1.74 +1.7825 +1.795 +1.7675 +1.7025001 +1.6137501 +1.5324999 +1.4837499 +1.50125 +1.5675 +1.6249999 +1.6274999 +1.56375 +1.4337499 +1.29125 +1.17875 +1.1175 +1.095 +1.0762501 +1.025 +0.93125004 +0.83250004 +0.7275 +0.67625 +0.72375005 +0.85625005 +1.0387499 +1.2225001 +1.38375 +1.46625 +1.4425001 +1.3362501 +1.18875 +1.04625 +0.925 +0.81750005 +0.7075 +0.5875 +0.47125 +0.40625 +0.42625 +0.48375002 +0.53625 +0.53499997 +0.47875002 +0.3725 +0.25875002 +0.23875 +0.31 +0.445 +0.57124996 +0.63 +0.595 +0.49250004 +0.3725 +0.26375 +0.20375001 +0.1725 +0.14375001 +0.11749999 +0.10875 +0.105000004 +0.1025 +0.11375 +0.18875001 +0.35875002 +0.59499997 +0.86 +1.1237501 +1.3525 +1.5325 +1.6600001 +1.74 +1.7825 +1.795 +1.7675 +1.7025001 +1.6137501 +1.5324999 +1.4837499 +1.50125 +1.5675 +1.6249999 +1.6274999 +1.56375 +1.4337499 +1.29125 +1.17875 +1.1175 +1.095 +1.0762501 +1.025 +0.93125004 +0.83250004 +0.7275 +0.67625 +0.72375005 +0.85625005 +1.0387499 +1.2225001 +1.38375 +1.46625 +1.4425001 +1.3362501 +1.18875 +1.04625 +0.925 +0.81750005 +0.7075 +0.5875 +0.47125 +0.40625 +0.42625 +0.48375002 +0.53625 +0.53499997 +0.47875002 +0.3725 +0.25875002 +0.23875 +0.31 +0.445 +0.57124996 +0.63 +0.595 +0.49250004 +0.3725 +0.26375 +0.20375001 +0.1725 +0.14375001 +0.11749999 +0.10875 +0.105000004 +0.1025 +0.11375 +0.18875001 +0.35875002 +0.59499997 +0.86 +1.1237501 +1.6637499 +1.84 +1.9325 +1.95625 +1.935 +1.8924999 +1.8375001 +1.7674999 +1.6912501 +1.63 +1.60125 +1.6412499 +1.71375 +1.7775 +1.79875 +1.7574999 +1.6624999 +1.55 +1.45875 +1.40875 +1.39125 +1.37375 +1.3262501 +1.2325001 +1.1137501 +0.99625003 +0.9325 +0.94625 +1.04625 +1.205 +1.37875 +1.53375 +1.6175 +1.5925 +1.47125 +1.30125 +1.1325 +0.99125004 +0.88 +0.78125 +0.68125 +0.5875 +0.5425 +0.55875 +0.60999995 +0.66374993 +0.6825 +0.64250004 +0.565 +0.4825 +0.45250002 +0.49374998 +0.5875 +0.6875 +0.74625003 +0.73499995 +0.66875 +0.58125 +0.5025 +0.44875002 +0.42000002 +0.3975 +0.36499998 +0.34125 +0.31875 +0.31124997 +0.34000003 +0.43125004 +0.59625 +0.83750004 +1.12375 +1.415 +1.6637499 +1.84 +1.9325 +1.95625 +1.935 +1.8924999 +1.8375001 +1.7674999 +1.6912501 +1.63 +1.60125 +1.6412499 +1.71375 +1.7775 +1.79875 +1.7574999 +1.6624999 +1.55 +1.45875 +1.40875 +1.39125 +1.37375 +1.3262501 +1.2325001 +1.1137501 +0.99625003 +0.9325 +0.94625 +1.04625 +1.205 +1.37875 +1.53375 +1.6175 +1.5925 +1.47125 +1.30125 +1.1325 +0.99125004 +0.88 +0.78125 +0.68125 +0.5875 +0.5425 +0.55875 +0.60999995 +0.66374993 +0.6825 +0.64250004 +0.565 +0.4825 +0.45250002 +0.49374998 +0.5875 +0.6875 +0.74625003 +0.73499995 +0.66875 +0.58125 +0.5025 +0.44875002 +0.42000002 +0.3975 +0.36499998 +0.34125 +0.31875 +0.31124997 +0.34000003 +0.43125004 +0.59625 +0.83750004 +1.12375 +1.415 +1.9762499 +2.1337502 +2.18625 +2.1525 +2.0674999 +1.9675 +1.8774999 +1.80375 +1.75 +1.7175 +1.7249999 +1.78 +1.8525 +1.91375 +1.9375 +1.91625 +1.84375 +1.7675 +1.7137501 +1.6900002 +1.6837499 +1.6725 +1.6287501 +1.5512501 +1.44875 +1.33125 +1.2537501 +1.2475 +1.3187499 +1.4462501 +1.6025 +1.7649999 +1.8512499 +1.8312501 +1.71 +1.525 +1.3262501 +1.1537501 +1.01625 +0.90749997 +0.81624997 +0.73625 +0.68375003 +0.69875 +0.7475 +0.80875003 +0.85375 +0.865 +0.8425 +0.7875 +0.75625 +0.77124995 +0.81875 +0.875 +0.91375005 +0.91249996 +0.88 +0.83375 +0.77624995 +0.7275 +0.68875 +0.65375 +0.61625 +0.59625 +0.5875 +0.59375 +0.635 +0.72749996 +0.89250004 +1.13375 +1.4262501 +1.7262499 +1.9762499 +2.1337502 +2.18625 +2.1525 +2.0674999 +1.9675 +1.8774999 +1.80375 +1.75 +1.7175 +1.7249999 +1.78 +1.8525 +1.91375 +1.9375 +1.91625 +1.84375 +1.7675 +1.7137501 +1.6900002 +1.6837499 +1.6725 +1.6287501 +1.5512501 +1.44875 +1.33125 +1.2537501 +1.2475 +1.3187499 +1.4462501 +1.6025 +1.7649999 +1.8512499 +1.8312501 +1.71 +1.525 +1.3262501 +1.1537501 +1.01625 +0.90749997 +0.81624997 +0.73625 +0.68375003 +0.69875 +0.7475 +0.80875003 +0.85375 +0.865 +0.8425 +0.7875 +0.75625 +0.77124995 +0.81875 +0.875 +0.91375005 +0.91249996 +0.88 +0.83375 +0.77624995 +0.7275 +0.68875 +0.65375 +0.61625 +0.59625 +0.5875 +0.59375 +0.635 +0.72749996 +0.89250004 +1.13375 +1.4262501 +1.7262499 +2.1575 +2.28625 +2.2975001 +2.20875 +2.0637498 +1.91125 +1.7862499 +1.6999999 +1.6599998 +1.66 +1.69625 +1.76 +1.8275001 +1.875 +1.8900001 +1.8675 +1.81625 +1.7800001 +1.7775 +1.7975001 +1.8175001 +1.8199999 +1.80375 +1.75875 +1.68125 +1.59375 +1.53125 +1.5225 +1.5762501 +1.6937501 +1.8512499 +2.0025 +2.09625 +2.0974998 +1.99125 +1.80125 +1.57625 +1.35125 +1.16125 +1.0112499 +0.89625 +0.8075 +0.74999994 +0.73375 +0.76125 +0.825 +0.90500003 +0.97249997 +1.0074999 +1.005 +0.9812499 +0.96625 +0.97374994 +0.985 +0.9925 +0.99375004 +0.99625003 +0.99250007 +0.9675 +0.91749996 +0.85625 +0.7975001 +0.74625 +0.72375 +0.73125 +0.76500005 +0.83500004 +0.95 +1.125 +1.3625001 +1.6462501 +1.9287499 +2.1575 +2.28625 +2.2975001 +2.20875 +2.0637498 +1.91125 +1.7862499 +1.6999999 +1.6599998 +1.66 +1.69625 +1.76 +1.8275001 +1.875 +1.8900001 +1.8675 +1.81625 +1.7800001 +1.7775 +1.7975001 +1.8175001 +1.8199999 +1.80375 +1.75875 +1.68125 +1.59375 +1.53125 +1.5225 +1.5762501 +1.6937501 +1.8512499 +2.0025 +2.09625 +2.0974998 +1.99125 +1.80125 +1.57625 +1.35125 +1.16125 +1.0112499 +0.89625 +0.8075 +0.74999994 +0.73375 +0.76125 +0.825 +0.90500003 +0.97249997 +1.0074999 +1.005 +0.9812499 +0.96625 +0.97374994 +0.985 +0.9925 +0.99375004 +0.99625003 +0.99250007 +0.9675 +0.91749996 +0.85625 +0.7975001 +0.74625 +0.72375 +0.73125 +0.76500005 +0.83500004 +0.95 +1.125 +1.3625001 +1.6462501 +1.9287499 +2.1287498 +2.21875 +2.1912498 +2.0612502 +1.8712502 +1.6712501 +1.5100001 +1.4075 +1.3712499 +1.39625 +1.4549999 +1.5250001 +1.57625 +1.5925 +1.565 +1.5187501 +1.485 +1.4925001 +1.5475 +1.6175 +1.675 +1.7087499 +1.71625 +1.69 +1.65125 +1.61875 +1.6125 +1.6424999 +1.71375 +1.825 +1.9649999 +2.11375 +2.23 +2.27 +2.2075 +2.04 +1.7974999 +1.52 +1.25625 +1.0324999 +0.86375 +0.7425 +0.66375005 +0.62625 +0.62749994 +0.6725 +0.74625003 +0.83375007 +0.91625 +0.9675 +0.97875005 +0.9525 +0.91625005 +0.88750005 +0.86625004 +0.8675 +0.8975 +0.94 +0.95874995 +0.93125 +0.85875 +0.7675 +0.69375 +0.66375 +0.685 +0.75625 +0.86625 +1.015 +1.2049999 +1.4325 +1.69 +1.93625 +2.1287498 +2.21875 +2.1912498 +2.0612502 +1.8712502 +1.6712501 +1.5100001 +1.4075 +1.3712499 +1.39625 +1.4549999 +1.5250001 +1.57625 +1.5925 +1.565 +1.5187501 +1.485 +1.4925001 +1.5475 +1.6175 +1.675 +1.7087499 +1.71625 +1.69 +1.65125 +1.61875 +1.6125 +1.6424999 +1.71375 +1.825 +1.9649999 +2.11375 +2.23 +2.27 +2.2075 +2.04 +1.7974999 +1.52 +1.25625 +1.0324999 +0.86375 +0.7425 +0.66375005 +0.62625 +0.62749994 +0.6725 +0.74625003 +0.83375007 +0.91625 +0.9675 +0.97875005 +0.9525 +0.91625005 +0.88750005 +0.86625004 +0.8675 +0.8975 +0.94 +0.95874995 +0.93125 +0.85875 +0.7675 +0.69375 +0.66375 +0.685 +0.75625 +0.86625 +1.015 +1.2049999 +1.4325 +1.69 +1.93625 +1.905 +1.95875 +1.89875 +1.74125 +1.5225 +1.29 +1.09375 +0.96999997 +0.92875004 +0.96375 +1.0375 +1.11 +1.1374999 +1.10625 +1.025 +0.94124997 +0.90250003 +0.95000005 +1.05375 +1.17 +1.25875 +1.3112501 +1.3275 +1.315 +1.3125 +1.3362501 +1.39375 +1.4775 +1.57625 +1.69625 +1.8412502 +2.0049999 +2.16125 +2.26875 +2.2825 +2.1712499 +1.9425 +1.635 +1.30375 +1.0025 +0.76125 +0.59125 +0.475 +0.40125 +0.36374998 +0.36749998 +0.40875 +0.48874998 +0.59000003 +0.6750001 +0.71500003 +0.695 +0.63625 +0.5725 +0.52625 +0.52750003 +0.5762501 +0.66625005 +0.73875 +0.7475 +0.68500006 +0.57875 +0.48125 +0.44125003 +0.47625 +0.5825 +0.73875 +0.92499995 +1.1274999 +1.345 +1.5637499 +1.76375 +1.905 +1.95875 +1.89875 +1.74125 +1.5225 +1.29 +1.09375 +0.96999997 +0.92875004 +0.96375 +1.0375 +1.11 +1.1374999 +1.10625 +1.025 +0.94124997 +0.90250003 +0.95000005 +1.05375 +1.17 +1.25875 +1.3112501 +1.3275 +1.315 +1.3125 +1.3362501 +1.39375 +1.4775 +1.57625 +1.69625 +1.8412502 +2.0049999 +2.16125 +2.26875 +2.2825 +2.1712499 +1.9425 +1.635 +1.30375 +1.0025 +0.76125 +0.59125 +0.475 +0.40125 +0.36374998 +0.36749998 +0.40875 +0.48874998 +0.59000003 +0.6750001 +0.71500003 +0.695 +0.63625 +0.5725 +0.52625 +0.52750003 +0.5762501 +0.66625005 +0.73875 +0.7475 +0.68500006 +0.57875 +0.48125 +0.44125003 +0.47625 +0.5825 +0.73875 +0.92499995 +1.1274999 +1.345 +1.5637499 +1.76375 +1.6025 +1.6125 +1.53125 +1.36125 +1.1275 +0.875 +0.6525 +0.51 +0.46749997 +0.49749997 +0.58 +0.65125 +0.65875 +0.585 +0.45499998 +0.33624998 +0.31125 +0.35750002 +0.46375 +0.60875 +0.71125 +0.7562499 +0.77000004 +0.75875 +0.77125 +0.83 +0.93249995 +1.0575 +1.18875 +1.3249999 +1.4825001 +1.67625 +1.8925 +2.09 +2.20625 +2.18875 +2.01875 +1.7225 +1.36125 +1.00625 +0.70875 +0.49000004 +0.33750004 +0.22625001 +0.14874999 +0.11749999 +0.11875 +0.15625 +0.23374999 +0.31124997 +0.35250002 +0.3325 +0.26625 +0.19624999 +0.15375 +0.1525 +0.21374999 +0.315 +0.415 +0.46875 +0.42875 +0.3225 +0.22 +0.1925 +0.245 +0.36625 +0.54625005 +0.765 +0.98125 +1.1850001 +1.365 +1.51125 +1.6025 +1.6125 +1.53125 +1.36125 +1.1275 +0.875 +0.6525 +0.51 +0.46749997 +0.49749997 +0.58 +0.65125 +0.65875 +0.585 +0.45499998 +0.33624998 +0.31125 +0.35750002 +0.46375 +0.60875 +0.71125 +0.7562499 +0.77000004 +0.75875 +0.77125 +0.83 +0.93249995 +1.0575 +1.18875 +1.3249999 +1.4825001 +1.67625 +1.8925 +2.09 +2.20625 +2.18875 +2.01875 +1.7225 +1.36125 +1.00625 +0.70875 +0.49000004 +0.33750004 +0.22625001 +0.14874999 +0.11749999 +0.11875 +0.15625 +0.23374999 +0.31124997 +0.35250002 +0.3325 +0.26625 +0.19624999 +0.15375 +0.1525 +0.21374999 +0.315 +0.415 +0.46875 +0.42875 +0.3225 +0.22 +0.1925 +0.245 +0.36625 +0.54625005 +0.765 +0.98125 +1.1850001 +1.365 +1.51125 +1.3699999 +1.34125 +1.235 +1.055 +0.82000005 +0.55999994 +0.32874998 +0.20375 +0.16125 +0.18499999 +0.255 +0.3175 +0.31999996 +0.225 +0.105000004 +0.02 +0.0 +0.0075000003 +0.0675 +0.17625 +0.25875 +0.2875 +0.28 +0.26375 +0.27375 +0.32375 +0.41875 +0.55499995 +0.70000005 +0.8500001 +1.02375 +1.2475001 +1.52375 +1.8087499 +2.0375001 +2.1375 +2.06625 +1.83625 +1.50125 +1.14 +0.8225 +0.57875 +0.40125 +0.26749998 +0.1625 +0.09 +0.05375 +0.04875 +0.06875 +0.105000004 +0.1275 +0.0975 +0.042499997 +0.01 +0.0 +0.0 +0.01625 +0.07625 +0.185 +0.25375 +0.23875001 +0.14875 +0.0825 +0.07875001 +0.13 +0.24125 +0.41999996 +0.66249996 +0.89375 +1.0862501 +1.23375 +1.3325 +1.3699999 +1.34125 +1.235 +1.055 +0.82000005 +0.55999994 +0.32874998 +0.20375 +0.16125 +0.18499999 +0.255 +0.3175 +0.31999996 +0.225 +0.105000004 +0.02 +0.0 +0.0075000003 +0.0675 +0.17625 +0.25875 +0.2875 +0.28 +0.26375 +0.27375 +0.32375 +0.41875 +0.55499995 +0.70000005 +0.8500001 +1.02375 +1.2475001 +1.52375 +1.8087499 +2.0375001 +2.1375 +2.06625 +1.83625 +1.50125 +1.14 +0.8225 +0.57875 +0.40125 +0.26749998 +0.1625 +0.09 +0.05375 +0.04875 +0.06875 +0.105000004 +0.1275 +0.0975 +0.042499997 +0.01 +0.0 +0.0 +0.01625 +0.07625 +0.185 +0.25375 +0.23875001 +0.14875 +0.0825 +0.07875001 +0.13 +0.24125 +0.41999996 +0.66249996 +0.89375 +1.0862501 +1.23375 +1.3325 +1.11875 +0.95125 +0.78249997 +0.62875 +0.5175 +0.45250002 +0.41125 +0.35750002 +0.25 +0.114999995 +0.052500002 +0.04375 +0.04375 +0.04125 +0.0325 +0.06125 +0.1725 +0.25875 +0.28875 +0.29874998 +0.32999998 +0.41250002 +0.55750006 +0.71625 +0.87624997 +1.04 +1.2149999 +1.4012499 +1.58125 +1.725 +1.7975001 +1.7850001 +1.6975 +1.5674999 +1.4225 +1.27125 +1.115 +0.95000005 +0.78374994 +0.635 +0.52875006 +0.46500003 +0.42374998 +0.36375004 +0.2525 +0.1125 +0.0575 +0.05125 +0.05125 +0.0475 +0.036250003 +0.05375 +0.16 +0.24375 +0.275 +0.28875 +0.32625002 +0.41750002 +0.56375 +0.725 +0.88625 +1.0500001 +1.22875 +1.4200001 +1.60375 +1.75 +1.81875 +1.8 +1.7075001 +1.57375 +1.42625 +1.2737501 +1.11875 +0.95125 +0.78249997 +0.62875 +0.5175 +0.45250002 +0.41125 +0.35750002 +0.25 +0.114999995 +0.052500002 +0.04375 +0.04375 +0.04125 +0.0325 +0.06125 +0.1725 +0.25875 +0.28875 +0.29874998 +0.32999998 +0.41250002 +0.55750006 +0.71625 +0.87624997 +1.04 +1.2149999 +1.4012499 +1.58125 +1.725 +1.7975001 +1.7850001 +1.6975 +1.5674999 +1.4225 +1.27125 +1.115 +0.95000005 +0.78374994 +0.635 +0.52875006 +0.46500003 +0.42374998 +0.36375004 +0.2525 +0.1125 +0.0575 +0.05125 +0.05125 +0.0475 +0.036250003 +0.05375 +0.16 +0.24375 +0.275 +0.28875 +0.32625002 +0.41750002 +0.56375 +0.725 +0.88625 +1.0500001 +1.22875 +1.4200001 +1.60375 +1.75 +1.81875 +1.8 +1.7075001 +1.57375 +1.42625 +1.2737501 +1.08875 +0.91625005 +0.74000007 +0.5825 +0.4675 +0.40375 +0.37374997 +0.34124997 +0.2625 +0.14875 +0.05125 +0.0325 +0.03375 +0.03625 +0.041249998 +0.121249996 +0.2225 +0.30249998 +0.32124996 +0.31125 +0.31875002 +0.38625002 +0.50750005 +0.65625 +0.8175 +0.98499995 +1.165 +1.35375 +1.53375 +1.6812501 +1.7637501 +1.7662499 +1.6925 +1.5662498 +1.4175 +1.2575 +1.08875 +0.91875005 +0.7575 +0.62249994 +0.53000003 +0.48000002 +0.44125003 +0.38250002 +0.27125 +0.1325 +0.05875 +0.055 +0.06 +0.05625 +0.048750002 +0.09375 +0.17125 +0.23500001 +0.25375 +0.265 +0.30875003 +0.4175 +0.56125 +0.72249997 +0.8875 +1.0649999 +1.2587501 +1.46875 +1.66875 +1.81875 +1.8837501 +1.85375 +1.7425001 +1.58875 +1.4224999 +1.2575 +1.08875 +0.91625005 +0.74000007 +0.5825 +0.4675 +0.40375 +0.37374997 +0.34124997 +0.2625 +0.14875 +0.05125 +0.0325 +0.03375 +0.03625 +0.041249998 +0.121249996 +0.2225 +0.30249998 +0.32124996 +0.31125 +0.31875002 +0.38625002 +0.50750005 +0.65625 +0.8175 +0.98499995 +1.165 +1.35375 +1.53375 +1.6812501 +1.7637501 +1.7662499 +1.6925 +1.5662498 +1.4175 +1.2575 +1.08875 +0.91875005 +0.7575 +0.62249994 +0.53000003 +0.48000002 +0.44125003 +0.38250002 +0.27125 +0.1325 +0.05875 +0.055 +0.06 +0.05625 +0.048750002 +0.09375 +0.17125 +0.23500001 +0.25375 +0.265 +0.30875003 +0.4175 +0.56125 +0.72249997 +0.8875 +1.0649999 +1.2587501 +1.46875 +1.66875 +1.81875 +1.8837501 +1.85375 +1.7425001 +1.58875 +1.4224999 +1.2575 +0.99749994 +0.8175 +0.64125 +0.48000002 +0.36249995 +0.30375 +0.29375002 +0.29874998 +0.27374998 +0.195 +0.0925 +0.025 +0.0175 +0.025 +0.06875 +0.17999999 +0.29375002 +0.35500002 +0.36 +0.3225 +0.28375 +0.29999998 +0.38375 +0.51625 +0.6775 +0.855 +1.0424999 +1.2325 +1.4150001 +1.5687499 +1.6675 +1.69125 +1.63875 +1.5237501 +1.3675 +1.18875 +1.0025 +0.8249999 +0.6775 +0.57 +0.51125 +0.4875 +0.46125 +0.4 +0.2875 +0.14874999 +0.055 +0.05 +0.0575 +0.055 +0.0925 +0.15375 +0.21000001 +0.23875 +0.23875001 +0.24875 +0.31 +0.42624998 +0.57000005 +0.7275 +0.89625 +1.08875 +1.31125 +1.5525 +1.7725 +1.9275 +1.97875 +1.9200001 +1.7699999 +1.5737499 +1.3700001 +1.17875 +0.99749994 +0.8175 +0.64125 +0.48000002 +0.36249995 +0.30375 +0.29375002 +0.29874998 +0.27374998 +0.195 +0.0925 +0.025 +0.0175 +0.025 +0.06875 +0.17999999 +0.29375002 +0.35500002 +0.36 +0.3225 +0.28375 +0.29999998 +0.38375 +0.51625 +0.6775 +0.855 +1.0424999 +1.2325 +1.4150001 +1.5687499 +1.6675 +1.69125 +1.63875 +1.5237501 +1.3675 +1.18875 +1.0025 +0.8249999 +0.6775 +0.57 +0.51125 +0.4875 +0.46125 +0.4 +0.2875 +0.14874999 +0.055 +0.05 +0.0575 +0.055 +0.0925 +0.15375 +0.21000001 +0.23875 +0.23875001 +0.24875 +0.31 +0.42624998 +0.57000005 +0.7275 +0.89625 +1.08875 +1.31125 +1.5525 +1.7725 +1.9275 +1.97875 +1.9200001 +1.7699999 +1.5737499 +1.3700001 +1.17875 +0.83500004 +0.66125 +0.49250004 +0.33625 +0.23375002 +0.185 +0.17875 +0.215 +0.24249999 +0.21875 +0.14125 +0.05 +0.0025 +0.0175 +0.067499995 +0.175 +0.29 +0.3575 +0.35750002 +0.29625 +0.2125 +0.1625 +0.19625 +0.31 +0.47250003 +0.65875 +0.84875 +1.03625 +1.21 +1.3625001 +1.4737499 +1.52125 +1.4949999 +1.39625 +1.235 +1.03625 +0.83 +0.65 +0.5225 +0.45624998 +0.44250003 +0.45125002 +0.44125 +0.37875 +0.26375002 +0.12625 +0.0375 +0.03125 +0.047500003 +0.10125001 +0.17875 +0.25 +0.28750002 +0.2825 +0.2675 +0.28 +0.35375 +0.47625 +0.61249995 +0.75750005 +0.91875005 +1.115 +1.3499999 +1.6099999 +1.845 +1.9950001 +2.0225 +1.9200001 +1.72 +1.47875 +1.2375 +1.0225 +0.83500004 +0.66125 +0.49250004 +0.33625 +0.23375002 +0.185 +0.17875 +0.215 +0.24249999 +0.21875 +0.14125 +0.05 +0.0025 +0.0175 +0.067499995 +0.175 +0.29 +0.3575 +0.35750002 +0.29625 +0.2125 +0.1625 +0.19625 +0.31 +0.47250003 +0.65875 +0.84875 +1.03625 +1.21 +1.3625001 +1.4737499 +1.52125 +1.4949999 +1.39625 +1.235 +1.03625 +0.83 +0.65 +0.5225 +0.45624998 +0.44250003 +0.45125002 +0.44125 +0.37875 +0.26375002 +0.12625 +0.0375 +0.03125 +0.047500003 +0.10125001 +0.17875 +0.25 +0.28750002 +0.2825 +0.2675 +0.28 +0.35375 +0.47625 +0.61249995 +0.75750005 +0.91875005 +1.115 +1.3499999 +1.6099999 +1.845 +1.9950001 +2.0225 +1.9200001 +1.72 +1.47875 +1.2375 +1.0225 +0.62249994 +0.46999997 +0.32750002 +0.21749999 +0.14125 +0.098749995 +0.08875 +0.11125 +0.16000001 +0.17875001 +0.13250001 +0.05 +0.00625 +0.00125 +0.025 +0.08625 +0.1775 +0.275 +0.29125 +0.22749999 +0.11625001 +0.05 +0.04625 +0.10375 +0.25250003 +0.4425 +0.64500004 +0.83625 +0.99375 +1.1175 +1.2025 +1.2712499 +1.2737501 +1.19125 +1.03375 +0.82374996 +0.60375 +0.42249995 +0.31875002 +0.29625 +0.3325 +0.38 +0.38625 +0.34875 +0.24 +0.10125 +0.02125 +0.0175 +0.07875 +0.18624999 +0.3075 +0.38625 +0.3975 +0.37125 +0.35250002 +0.37625003 +0.45625 +0.58125 +0.70374995 +0.83125 +0.97125006 +1.14375 +1.3575001 +1.6100001 +1.83625 +1.96625 +1.9587499 +1.81125 +1.56375 +1.28125 +1.0162501 +0.79625 +0.62249994 +0.46999997 +0.32750002 +0.21749999 +0.14125 +0.098749995 +0.08875 +0.11125 +0.16000001 +0.17875001 +0.13250001 +0.05 +0.00625 +0.00125 +0.025 +0.08625 +0.1775 +0.275 +0.29125 +0.22749999 +0.11625001 +0.05 +0.04625 +0.10375 +0.25250003 +0.4425 +0.64500004 +0.83625 +0.99375 +1.1175 +1.2025 +1.2712499 +1.2737501 +1.19125 +1.03375 +0.82374996 +0.60375 +0.42249995 +0.31875002 +0.29625 +0.3325 +0.38 +0.38625 +0.34875 +0.24 +0.10125 +0.02125 +0.0175 +0.07875 +0.18624999 +0.3075 +0.38625 +0.3975 +0.37125 +0.35250002 +0.37625003 +0.45625 +0.58125 +0.70374995 +0.83125 +0.97125006 +1.14375 +1.3575001 +1.6100001 +1.83625 +1.96625 +1.9587499 +1.81125 +1.56375 +1.28125 +1.0162501 +0.79625 +0.40125 +0.31124997 +0.2275 +0.16125 +0.10875 +0.0725 +0.0525 +0.0575 +0.07875 +0.105000004 +0.07 +0.01875 +0.0 +0.0 +0.0 +0.01875 +0.065 +0.14999999 +0.2025 +0.15375 +0.049999997 +0.00375 +0.0 +0.0225 +0.106249996 +0.2875 +0.48625 +0.655 +0.7875 +0.88874996 +0.9625 +1.02625 +1.0512501 +0.99250007 +0.84375006 +0.63 +0.40500003 +0.23 +0.16 +0.16875 +0.24374999 +0.32375002 +0.36124998 +0.32250002 +0.2025 +0.068749994 +0.0112499995 +0.037499998 +0.1275 +0.2825 +0.4325 +0.51 +0.5125 +0.48 +0.46875 +0.51125 +0.60875 +0.73375005 +0.8475 +0.94125 +1.0337499 +1.1575 +1.33 +1.5512501 +1.74625 +1.8462499 +1.80375 +1.62 +1.3362501 +1.02875 +0.75625 +0.54625005 +0.40125 +0.31124997 +0.2275 +0.16125 +0.10875 +0.0725 +0.0525 +0.0575 +0.07875 +0.105000004 +0.07 +0.01875 +0.0 +0.0 +0.0 +0.01875 +0.065 +0.14999999 +0.2025 +0.15375 +0.049999997 +0.00375 +0.0 +0.0225 +0.106249996 +0.2875 +0.48625 +0.655 +0.7875 +0.88874996 +0.9625 +1.02625 +1.0512501 +0.99250007 +0.84375006 +0.63 +0.40500003 +0.23 +0.16 +0.16875 +0.24374999 +0.32375002 +0.36124998 +0.32250002 +0.2025 +0.068749994 +0.0112499995 +0.037499998 +0.1275 +0.2825 +0.4325 +0.51 +0.5125 +0.48 +0.46875 +0.51125 +0.60875 +0.73375005 +0.8475 +0.94125 +1.0337499 +1.1575 +1.33 +1.5512501 +1.74625 +1.8462499 +1.80375 +1.62 +1.3362501 +1.02875 +0.75625 +0.54625005 +0.28375 +0.245 +0.20125 +0.14625 +0.095 +0.0625 +0.04875 +0.04625 +0.057499997 +0.08125 +0.05 +0.00125 +0.0 +0.0 +0.0 +0.00625 +0.0225 +0.095 +0.1675 +0.14875 +0.057499997 +0.0 +0.0 +0.01 +0.09375 +0.24999999 +0.4225 +0.5675 +0.67125 +0.74625003 +0.81 +0.88874996 +0.9375 +0.90250003 +0.76874995 +0.55875 +0.33125 +0.16 +0.115 +0.14874999 +0.2425 +0.33875 +0.37625 +0.3325 +0.1975 +0.0575 +0.01375 +0.06625 +0.185 +0.35125 +0.51750004 +0.59749997 +0.59875 +0.56875 +0.57125 +0.6375 +0.76250005 +0.9025 +1.00125 +1.0637499 +1.105 +1.1700001 +1.295 +1.4699999 +1.6249999 +1.6912498 +1.6237499 +1.41875 +1.12 +0.80375 +0.5325 +0.35000002 +0.28375 +0.245 +0.20125 +0.14625 +0.095 +0.0625 +0.04875 +0.04625 +0.057499997 +0.08125 +0.05 +0.00125 +0.0 +0.0 +0.0 +0.00625 +0.0225 +0.095 +0.1675 +0.14875 +0.057499997 +0.0 +0.0 +0.01 +0.09375 +0.24999999 +0.4225 +0.5675 +0.67125 +0.74625003 +0.81 +0.88874996 +0.9375 +0.90250003 +0.76874995 +0.55875 +0.33125 +0.16 +0.115 +0.14874999 +0.2425 +0.33875 +0.37625 +0.3325 +0.1975 +0.0575 +0.01375 +0.06625 +0.185 +0.35125 +0.51750004 +0.59749997 +0.59875 +0.56875 +0.57125 +0.6375 +0.76250005 +0.9025 +1.00125 +1.0637499 +1.105 +1.1700001 +1.295 +1.4699999 +1.6249999 +1.6912498 +1.6237499 +1.41875 +1.12 +0.80375 +0.5325 +0.35000002 +0.27375 +0.25625 +0.21125 +0.155 +0.105 +0.07375 +0.065 +0.0675 +0.10875 +0.16375 +0.15125 +0.080000006 +0.0075 +0.0025 +0.01875 +0.03375 +0.058749996 +0.1625 +0.25374997 +0.25875 +0.16 +0.057499997 +0.0175 +0.083749995 +0.20374998 +0.36124998 +0.50875 +0.60625 +0.6875 +0.74375004 +0.82374996 +0.91749996 +0.98 +0.96625006 +0.84875 +0.65 +0.42249998 +0.2425 +0.17875001 +0.22375 +0.32875 +0.44125 +0.475 +0.39875 +0.255 +0.09374999 +0.058749996 +0.1275 +0.265 +0.4375 +0.56875 +0.64874995 +0.64625 +0.61875004 +0.62874997 +0.72624993 +0.89624995 +1.0562499 +1.15375 +1.1837499 +1.18375 +1.205 +1.2850001 +1.4087499 +1.52875 +1.57125 +1.4937501 +1.2887499 +0.995 +0.68125004 +0.41875002 +0.29125 +0.27375 +0.25625 +0.21125 +0.155 +0.105 +0.07375 +0.065 +0.0675 +0.10875 +0.16375 +0.15125 +0.080000006 +0.0075 +0.0025 +0.01875 +0.03375 +0.058749996 +0.1625 +0.25374997 +0.25875 +0.16 +0.057499997 +0.0175 +0.083749995 +0.20374998 +0.36124998 +0.50875 +0.60625 +0.6875 +0.74375004 +0.82374996 +0.91749996 +0.98 +0.96625006 +0.84875 +0.65 +0.42249998 +0.2425 +0.17875001 +0.22375 +0.32875 +0.44125 +0.475 +0.39875 +0.255 +0.09374999 +0.058749996 +0.1275 +0.265 +0.4375 +0.56875 +0.64874995 +0.64625 +0.61875004 +0.62874997 +0.72624993 +0.89624995 +1.0562499 +1.15375 +1.1837499 +1.18375 +1.205 +1.2850001 +1.4087499 +1.52875 +1.57125 +1.4937501 +1.2887499 +0.995 +0.68125004 +0.41875002 +0.29125 +0.3025 +0.285 +0.24125 +0.19375001 +0.145 +0.10875 +0.10625 +0.15625 +0.26125002 +0.37124997 +0.40875 +0.32625 +0.18875 +0.0975 +0.082499996 +0.1225 +0.23 +0.385 +0.49125 +0.47875 +0.3775 +0.24875 +0.19875 +0.25375 +0.39124998 +0.55625 +0.69374996 +0.7825 +0.8375 +0.89125 +0.9675 +1.06 +1.1287501 +1.1287501 +1.0274999 +0.83874995 +0.6125 +0.4225 +0.32874998 +0.35375 +0.46249998 +0.57500005 +0.6125 +0.54375 +0.39125 +0.23375 +0.1675 +0.22 +0.36625 +0.54625005 +0.6775 +0.71750003 +0.69625 +0.66125005 +0.69624996 +0.82375 +1.01 +1.18875 +1.29875 +1.3275 +1.3050001 +1.2850001 +1.3137499 +1.39125 +1.4799999 +1.51625 +1.45125 +1.2624999 +0.9875001 +0.6825 +0.43375 +0.31375 +0.3025 +0.285 +0.24125 +0.19375001 +0.145 +0.10875 +0.10625 +0.15625 +0.26125002 +0.37124997 +0.40875 +0.32625 +0.18875 +0.0975 +0.082499996 +0.1225 +0.23 +0.385 +0.49125 +0.47875 +0.3775 +0.24875 +0.19875 +0.25375 +0.39124998 +0.55625 +0.69374996 +0.7825 +0.8375 +0.89125 +0.9675 +1.06 +1.1287501 +1.1287501 +1.0274999 +0.83874995 +0.6125 +0.4225 +0.32874998 +0.35375 +0.46249998 +0.57500005 +0.6125 +0.54375 +0.39125 +0.23375 +0.1675 +0.22 +0.36625 +0.54625005 +0.6775 +0.71750003 +0.69625 +0.66125005 +0.69624996 +0.82375 +1.01 +1.18875 +1.29875 +1.3275 +1.3050001 +1.2850001 +1.3137499 +1.39125 +1.4799999 +1.51625 +1.45125 +1.2624999 +0.9875001 +0.6825 +0.43375 +0.31375 +0.34 +0.32875 +0.31499997 +0.30125 +0.26749998 +0.23375 +0.24999997 +0.34875 +0.515 +0.67875 +0.76 +0.7125 +0.56374997 +0.4 +0.31875 +0.36999995 +0.52625 +0.69874996 +0.7975 +0.77375 +0.65374994 +0.515 +0.43749997 +0.46624997 +0.57874995 +0.72249997 +0.85 +0.9325 +0.9825 +1.0275 +1.095 +1.17875 +1.2425001 +1.2475001 +1.1625 +0.98875 +0.76874995 +0.56874996 +0.45125 +0.44624996 +0.5325 +0.64125 +0.69625 +0.655 +0.52625 +0.38375 +0.30625 +0.34625 +0.4975 +0.685 +0.83000004 +0.88625 +0.86375 +0.8275 +0.85125 +0.96375 +1.1474999 +1.3325001 +1.45625 +1.4875 +1.45125 +1.3987501 +1.37875 +1.4125 +1.4750001 +1.5125 +1.4675002 +1.3125 +1.0625 +0.7725 +0.5225 +0.37625 +0.34 +0.32875 +0.31499997 +0.30125 +0.26749998 +0.23375 +0.24999997 +0.34875 +0.515 +0.67875 +0.76 +0.7125 +0.56374997 +0.4 +0.31875 +0.36999995 +0.52625 +0.69874996 +0.7975 +0.77375 +0.65374994 +0.515 +0.43749997 +0.46624997 +0.57874995 +0.72249997 +0.85 +0.9325 +0.9825 +1.0275 +1.095 +1.17875 +1.2425001 +1.2475001 +1.1625 +0.98875 +0.76874995 +0.56874996 +0.45125 +0.44624996 +0.5325 +0.64125 +0.69625 +0.655 +0.52625 +0.38375 +0.30625 +0.34625 +0.4975 +0.685 +0.83000004 +0.88625 +0.86375 +0.8275 +0.85125 +0.96375 +1.1474999 +1.3325001 +1.45625 +1.4875 +1.45125 +1.3987501 +1.37875 +1.4125 +1.4750001 +1.5125 +1.4675002 +1.3125 +1.0625 +0.7725 +0.5225 +0.37625 +0.41 +0.42624995 +0.47750002 +0.50874996 +0.4975 +0.47249997 +0.49625 +0.60625 +0.78999996 +0.9825001 +1.09625 +1.0775 +0.9425 +0.77374995 +0.66499996 +0.6775 +0.795 +0.93375003 +1.0062499 +0.96500003 +0.8275 +0.66499996 +0.55875 +0.55125 +0.62875 +0.74625003 +0.855 +0.93 +0.975 +1.0125 +1.0675 +1.13375 +1.1862501 +1.195 +1.1275 +0.98 +0.78000003 +0.58375 +0.44874996 +0.41749996 +0.47750002 +0.5875 +0.66999996 +0.6725 +0.595 +0.48624998 +0.43 +0.48375 +0.65125 +0.87624997 +1.0725 +1.175 +1.1825 +1.15125 +1.15 +1.22875 +1.38125 +1.5475 +1.665 +1.69 +1.62875 +1.53625 +1.46125 +1.44625 +1.47875 +1.5137501 +1.4937501 +1.3725002 +1.15375 +0.88125 +0.6275 +0.46625 +0.41 +0.42624995 +0.47750002 +0.50874996 +0.4975 +0.47249997 +0.49625 +0.60625 +0.78999996 +0.9825001 +1.09625 +1.0775 +0.9425 +0.77374995 +0.66499996 +0.6775 +0.795 +0.93375003 +1.0062499 +0.96500003 +0.8275 +0.66499996 +0.55875 +0.55125 +0.62875 +0.74625003 +0.855 +0.93 +0.975 +1.0125 +1.0675 +1.13375 +1.1862501 +1.195 +1.1275 +0.98 +0.78000003 +0.58375 +0.44874996 +0.41749996 +0.47750002 +0.5875 +0.66999996 +0.6725 +0.595 +0.48624998 +0.43 +0.48375 +0.65125 +0.87624997 +1.0725 +1.175 +1.1825 +1.15125 +1.15 +1.22875 +1.38125 +1.5475 +1.665 +1.69 +1.62875 +1.53625 +1.46125 +1.44625 +1.47875 +1.5137501 +1.4937501 +1.3725002 +1.15375 +0.88125 +0.6275 +0.46625 +0.52125 +0.5775 +0.66749996 +0.72625 +0.72749996 +0.705 +0.72 +0.82 +1.00125 +1.2012498 +1.32625 +1.3175001 +1.18375 +0.99375 +0.84999996 +0.81624997 +0.88375 +0.98 +1.0237501 +0.9624999 +0.80875 +0.63 +0.49749997 +0.45749998 +0.4975 +0.58000004 +0.66625 +0.75 +0.8 +0.81625 +0.8312501 +0.87874997 +0.92375 +0.9375 +0.90000004 +0.79625 +0.64 +0.46874997 +0.33374998 +0.28375 +0.33124998 +0.44374996 +0.56125 +0.64750004 +0.64750004 +0.58250004 +0.545 +0.63625 +0.85125 +1.145 +1.4300001 +1.6225 +1.6925 +1.68 +1.65375 +1.67625 +1.765 +1.8799999 +1.9562502 +1.9449999 +1.845 +1.68875 +1.54625 +1.47 +1.46375 +1.49125 +1.48875 +1.3999999 +1.21 +0.95875 +0.71875 +0.55875 +0.52125 +0.5775 +0.66749996 +0.72625 +0.72749996 +0.705 +0.72 +0.82 +1.00125 +1.2012498 +1.32625 +1.3175001 +1.18375 +0.99375 +0.84999996 +0.81624997 +0.88375 +0.98 +1.0237501 +0.9624999 +0.80875 +0.63 +0.49749997 +0.45749998 +0.4975 +0.58000004 +0.66625 +0.75 +0.8 +0.81625 +0.8312501 +0.87874997 +0.92375 +0.9375 +0.90000004 +0.79625 +0.64 +0.46874997 +0.33374998 +0.28375 +0.33124998 +0.44374996 +0.56125 +0.64750004 +0.64750004 +0.58250004 +0.545 +0.63625 +0.85125 +1.145 +1.4300001 +1.6225 +1.6925 +1.68 +1.65375 +1.67625 +1.765 +1.8799999 +1.9562502 +1.9449999 +1.845 +1.68875 +1.54625 +1.47 +1.46375 +1.49125 +1.48875 +1.3999999 +1.21 +0.95875 +0.71875 +0.55875 +0.6275 +0.71625 +0.84000003 +0.92375 +0.93375003 +0.90125 +0.89 +0.96375 +1.1225001 +1.3075 +1.4225 +1.40375 +1.2537501 +1.035 +0.84625 +0.76250005 +0.78125 +0.83750004 +0.85249996 +0.79125 +0.66499996 +0.47375 +0.29874998 +0.23124999 +0.2375 +0.295 +0.39624998 +0.47875 +0.51750004 +0.52125007 +0.51625 +0.52125 +0.5475 +0.58125 +0.58875 +0.55 +0.46375 +0.33499998 +0.21625 +0.16125 +0.2 +0.335 +0.52125 +0.675 +0.75 +0.75125 +0.755 +0.855 +1.125 +1.51125 +1.91625 +2.2574997 +2.42375 +2.41375 +2.34875 +2.2975 +2.29625 +2.32375 +2.32625 +2.25125 +2.08 +1.8487501 +1.6312499 +1.485 +1.435 +1.45 +1.4575 +1.3962501 +1.2325 +1.0025 +0.77875 +0.64125 +0.6275 +0.71625 +0.84000003 +0.92375 +0.93375003 +0.90125 +0.89 +0.96375 +1.1225001 +1.3075 +1.4225 +1.40375 +1.2537501 +1.035 +0.84625 +0.76250005 +0.78125 +0.83750004 +0.85249996 +0.79125 +0.66499996 +0.47375 +0.29874998 +0.23124999 +0.2375 +0.295 +0.39624998 +0.47875 +0.51750004 +0.52125007 +0.51625 +0.52125 +0.5475 +0.58125 +0.58875 +0.55 +0.46375 +0.33499998 +0.21625 +0.16125 +0.2 +0.335 +0.52125 +0.675 +0.75 +0.75125 +0.755 +0.855 +1.125 +1.51125 +1.91625 +2.2574997 +2.42375 +2.41375 +2.34875 +2.2975 +2.29625 +2.32375 +2.32625 +2.25125 +2.08 +1.8487501 +1.6312499 +1.485 +1.435 +1.45 +1.4575 +1.3962501 +1.2325 +1.0025 +0.77875 +0.64125 +0.725 +0.83875 +0.98625 +1.085 +1.09375 +1.0450001 +1.01 +1.0537499 +1.1862501 +1.3462499 +1.44375 +1.4075 +1.23 +0.97375 +0.7425 +0.60875 +0.57874995 +0.60375 +0.60125 +0.565 +0.45374998 +0.26875 +0.11749999 +0.04625 +0.04375 +0.0775 +0.13625 +0.2025 +0.23875 +0.24125 +0.2325 +0.23625 +0.26874998 +0.33375 +0.40625003 +0.45125 +0.4375 +0.36625 +0.26624998 +0.20375 +0.23375 +0.37375 +0.58375 +0.7875 +0.92625 +0.98625004 +1.03625 +1.17625 +1.4837501 +1.9562501 +2.49625 +2.95625 +3.2175 +3.24125 +3.125 +2.9987502 +2.88875 +2.81 +2.7175002 +2.5562499 +2.31 +2.0024998 +1.71125 +1.5062499 +1.42125 +1.42625 +1.4475 +1.4075 +1.2675 +1.05375 +0.8425 +0.72 +0.725 +0.83875 +0.98625 +1.085 +1.09375 +1.0450001 +1.01 +1.0537499 +1.1862501 +1.3462499 +1.44375 +1.4075 +1.23 +0.97375 +0.7425 +0.60875 +0.57874995 +0.60375 +0.60125 +0.565 +0.45374998 +0.26875 +0.11749999 +0.04625 +0.04375 +0.0775 +0.13625 +0.2025 +0.23875 +0.24125 +0.2325 +0.23625 +0.26874998 +0.33375 +0.40625003 +0.45125 +0.4375 +0.36625 +0.26624998 +0.20375 +0.23375 +0.37375 +0.58375 +0.7875 +0.92625 +0.98625004 +1.03625 +1.17625 +1.4837501 +1.9562501 +2.49625 +2.95625 +3.2175 +3.24125 +3.125 +2.9987502 +2.88875 +2.81 +2.7175002 +2.5562499 +2.31 +2.0024998 +1.71125 +1.5062499 +1.42125 +1.42625 +1.4475 +1.4075 +1.2675 +1.05375 +0.8425 +0.72 +0.83625 +0.95375 +1.1075 +1.20625 +1.2149999 +1.1587499 +1.1099999 +1.13625 +1.25875 +1.41125 +1.5000001 +1.4499999 +1.2475 +0.955 +0.68125 +0.505 +0.43749997 +0.43249997 +0.42499998 +0.38625 +0.29125002 +0.12125 +0.01375 +0.0025 +0.00375 +0.005 +0.021249998 +0.07375 +0.11125 +0.120000005 +0.11625001 +0.1275 +0.18249999 +0.27875 +0.40625 +0.51874995 +0.57250005 +0.5475 +0.4675 +0.39875 +0.4125 +0.5375 +0.75499994 +0.98875004 +1.1650001 +1.26 +1.33125 +1.48875 +1.8249999 +2.35 +2.9724998 +3.5300002 +3.8725002 +3.93 +3.80125 +3.6075003 +3.4025002 +3.21875 +3.035 +2.8000002 +2.48625 +2.125 +1.7862501 +1.5474999 +1.4475 +1.46 +1.5037501 +1.49 +1.37 +1.1650001 +0.955 +0.83 +0.83625 +0.95375 +1.1075 +1.20625 +1.2149999 +1.1587499 +1.1099999 +1.13625 +1.25875 +1.41125 +1.5000001 +1.4499999 +1.2475 +0.955 +0.68125 +0.505 +0.43749997 +0.43249997 +0.42499998 +0.38625 +0.29125002 +0.12125 +0.01375 +0.0025 +0.00375 +0.005 +0.021249998 +0.07375 +0.11125 +0.120000005 +0.11625001 +0.1275 +0.18249999 +0.27875 +0.40625 +0.51874995 +0.57250005 +0.5475 +0.4675 +0.39875 +0.4125 +0.5375 +0.75499994 +0.98875004 +1.1650001 +1.26 +1.33125 +1.48875 +1.8249999 +2.35 +2.9724998 +3.5300002 +3.8725002 +3.93 +3.80125 +3.6075003 +3.4025002 +3.21875 +3.035 +2.8000002 +2.48625 +2.125 +1.7862501 +1.5474999 +1.4475 +1.46 +1.5037501 +1.49 +1.37 +1.1650001 +0.955 +0.83 +0.97624993 +1.07375 +1.2125 +1.3075 +1.3175 +1.26875 +1.23125 +1.2750001 +1.41625 +1.5887499 +1.69125 +1.6412499 +1.42375 +1.1025 +0.78375 +0.56375 +0.465 +0.44 +0.42624998 +0.3625 +0.27374998 +0.11625 +0.036250003 +0.0575 +0.06125 +0.055 +0.081250004 +0.1575 +0.2125 +0.235 +0.2725 +0.315 +0.38125 +0.48125 +0.60999995 +0.74625 +0.83375 +0.82875 +0.76500005 +0.70624995 +0.71 +0.8125 +0.99875003 +1.2037499 +1.3899999 +1.4912502 +1.5525001 +1.7262499 +2.07 +2.5974998 +3.22 +3.80875 +4.205 +4.295 +4.19 +3.95375 +3.6837502 +3.4337502 +3.18875 +2.90875 +2.56625 +2.185 +1.8349999 +1.5975001 +1.5124999 +1.5550001 +1.635 +1.6524999 +1.55625 +1.3587499 +1.13875 +0.99375 +0.97624993 +1.07375 +1.2125 +1.3075 +1.3175 +1.26875 +1.23125 +1.2750001 +1.41625 +1.5887499 +1.69125 +1.6412499 +1.42375 +1.1025 +0.78375 +0.56375 +0.465 +0.44 +0.42624998 +0.3625 +0.27374998 +0.11625 +0.036250003 +0.0575 +0.06125 +0.055 +0.081250004 +0.1575 +0.2125 +0.235 +0.2725 +0.315 +0.38125 +0.48125 +0.60999995 +0.74625 +0.83375 +0.82875 +0.76500005 +0.70624995 +0.71 +0.8125 +0.99875003 +1.2037499 +1.3899999 +1.4912502 +1.5525001 +1.7262499 +2.07 +2.5974998 +3.22 +3.80875 +4.205 +4.295 +4.19 +3.95375 +3.6837502 +3.4337502 +3.18875 +2.90875 +2.56625 +2.185 +1.8349999 +1.5975001 +1.5124999 +1.5550001 +1.635 +1.6524999 +1.55625 +1.3587499 +1.13875 +0.99375 +1.14375 +1.2075 +1.3225 +1.4137499 +1.4362501 +1.41625 +1.42125 +1.5137501 +1.7062501 +1.92625 +2.0625 +2.02875 +1.8037499 +1.4549999 +1.095 +0.8262501 +0.68750006 +0.645 +0.62250006 +0.56125 +0.445 +0.30375 +0.2025 +0.1825 +0.2125 +0.27375 +0.37125 +0.47125 +0.54875 +0.59875 +0.6325 +0.6687499 +0.725 +0.81625 +0.93499994 +1.04875 +1.1175 +1.11125 +1.0425 +0.965 +0.94375 +1.02125 +1.1875 +1.38 +1.53 +1.6087501 +1.66 +1.7875 +2.0787501 +2.56125 +3.1587498 +3.73 +4.1275 +4.2687497 +4.1725 +3.9287503 +3.6412501 +3.375 +3.1225 +2.84625 +2.5175 +2.15625 +1.835 +1.6274999 +1.58125 +1.6662501 +1.79375 +1.8549999 +1.78625 +1.59875 +1.36875 +1.1937499 +1.14375 +1.2075 +1.3225 +1.4137499 +1.4362501 +1.41625 +1.42125 +1.5137501 +1.7062501 +1.92625 +2.0625 +2.02875 +1.8037499 +1.4549999 +1.095 +0.8262501 +0.68750006 +0.645 +0.62250006 +0.56125 +0.445 +0.30375 +0.2025 +0.1825 +0.2125 +0.27375 +0.37125 +0.47125 +0.54875 +0.59875 +0.6325 +0.6687499 +0.725 +0.81625 +0.93499994 +1.04875 +1.1175 +1.11125 +1.0425 +0.965 +0.94375 +1.02125 +1.1875 +1.38 +1.53 +1.6087501 +1.66 +1.7875 +2.0787501 +2.56125 +3.1587498 +3.73 +4.1275 +4.2687497 +4.1725 +3.9287503 +3.6412501 +3.375 +3.1225 +2.84625 +2.5175 +2.15625 +1.835 +1.6274999 +1.58125 +1.6662501 +1.79375 +1.8549999 +1.78625 +1.59875 +1.36875 +1.1937499 +1.3175 +1.355 +1.45875 +1.555 +1.61125 +1.6387501 +1.7087499 +1.8737502 +2.13125 +2.41125 +2.59375 +2.58 +2.35 +1.9725 +1.565 +1.2437501 +1.0575 +0.97875005 +0.9375 +0.86875004 +0.75 +0.60625 +0.49499997 +0.46 +0.51 +0.61875 +0.745 +0.85375005 +0.92375004 +0.96000004 +0.97249997 +0.98375 +1.01125 +1.07 +1.1487501 +1.22 +1.2475001 +1.2062501 +1.1087501 +1.0075 +0.96375 +1.0212501 +1.1625 +1.33125 +1.4549999 +1.5025 +1.5124999 +1.57875 +1.8 +2.2075 +2.7450001 +3.27625 +3.6625 +3.815 +3.7437496 +3.5325 +3.28125 +3.05125 +2.84375 +2.62 +2.345 +2.0375 +1.7625 +1.6012499 +1.5975 +1.7287501 +1.905 +2.0124998 +1.9849999 +1.8162498 +1.5875 +1.3975 +1.3175 +1.355 +1.45875 +1.555 +1.61125 +1.6387501 +1.7087499 +1.8737502 +2.13125 +2.41125 +2.59375 +2.58 +2.35 +1.9725 +1.565 +1.2437501 +1.0575 +0.97875005 +0.9375 +0.86875004 +0.75 +0.60625 +0.49499997 +0.46 +0.51 +0.61875 +0.745 +0.85375005 +0.92375004 +0.96000004 +0.97249997 +0.98375 +1.01125 +1.07 +1.1487501 +1.22 +1.2475001 +1.2062501 +1.1087501 +1.0075 +0.96375 +1.0212501 +1.1625 +1.33125 +1.4549999 +1.5025 +1.5124999 +1.57875 +1.8 +2.2075 +2.7450001 +3.27625 +3.6625 +3.815 +3.7437496 +3.5325 +3.28125 +3.05125 +2.84375 +2.62 +2.345 +2.0375 +1.7625 +1.6012499 +1.5975 +1.7287501 +1.905 +2.0124998 +1.9849999 +1.8162498 +1.5875 +1.3975 +1.47875 +1.5137501 +1.6274999 +1.7525 +1.85625 +1.9499999 +2.09 +2.32625 +2.65 +2.9824998 +3.2025 +3.205 +2.9687502 +2.555 +2.095 +1.71 +1.4624999 +1.3375 +1.26125 +1.16875 +1.03375 +0.87874997 +0.76125 +0.72625 +0.7825 +0.89374995 +1.0149999 +1.1075 +1.1487501 +1.145 +1.1175001 +1.08875 +1.07875 +1.09375 +1.1199999 +1.13375 +1.10875 +1.0300001 +0.91125 +0.79875 +0.74625 +0.78999996 +0.91374993 +1.05875 +1.1575 +1.17375 +1.14625 +1.1600001 +1.3074999 +1.63 +2.08625 +2.55625 +2.91125 +3.0674999 +3.03375 +2.8799999 +2.6999998 +2.55 +2.42375 +2.27875 +2.0825 +1.8412501 +1.6175 +1.495 +1.5250001 +1.6874999 +1.9 +2.0537498 +2.06875 +1.9425 +1.73875 +1.55875 +1.47875 +1.5137501 +1.6274999 +1.7525 +1.85625 +1.9499999 +2.09 +2.32625 +2.65 +2.9824998 +3.2025 +3.205 +2.9687502 +2.555 +2.095 +1.71 +1.4624999 +1.3375 +1.26125 +1.16875 +1.03375 +0.87874997 +0.76125 +0.72625 +0.7825 +0.89374995 +1.0149999 +1.1075 +1.1487501 +1.145 +1.1175001 +1.08875 +1.07875 +1.09375 +1.1199999 +1.13375 +1.10875 +1.0300001 +0.91125 +0.79875 +0.74625 +0.78999996 +0.91374993 +1.05875 +1.1575 +1.17375 +1.14625 +1.1600001 +1.3074999 +1.63 +2.08625 +2.55625 +2.91125 +3.0674999 +3.03375 +2.8799999 +2.6999998 +2.55 +2.42375 +2.27875 +2.0825 +1.8412501 +1.6175 +1.495 +1.5250001 +1.6874999 +1.9 +2.0537498 +2.06875 +1.9425 +1.73875 +1.55875 +1.6 +1.6674999 +1.82 +1.9962499 +2.1575 +2.3187501 +2.52375 +2.8137503 +3.18 +3.54125 +3.78125 +3.7937503 +3.5475 +3.1025 +2.5874999 +2.13875 +1.82125 +1.6324999 +1.5075002 +1.38 +1.2525 +1.0625 +0.9124999 +0.86625004 +0.9075 +1.0025 +1.0975 +1.1737499 +1.16125 +1.0812501 +1.00875 +0.94124997 +0.89625007 +0.87375 +0.85625005 +0.83750004 +0.78375 +0.67375004 +0.5425 +0.44125 +0.40375 +0.44875 +0.56 +0.68625 +0.78625005 +0.7875 +0.71125007 +0.68500006 +0.77125 +1.0174999 +1.3875 +1.8050001 +2.1325 +2.24875 +2.245 +2.15375 +2.0550003 +1.9925 +1.95625 +1.9012499 +1.785 +1.6025001 +1.4175 +1.3175 +1.3549999 +1.5250001 +1.75625 +1.9437499 +2.00875 +1.9375 +1.7850001 +1.6475 +1.6 +1.6674999 +1.82 +1.9962499 +2.1575 +2.3187501 +2.52375 +2.8137503 +3.18 +3.54125 +3.78125 +3.7937503 +3.5475 +3.1025 +2.5874999 +2.13875 +1.82125 +1.6324999 +1.5075002 +1.38 +1.2525 +1.0625 +0.9124999 +0.86625004 +0.9075 +1.0025 +1.0975 +1.1737499 +1.16125 +1.0812501 +1.00875 +0.94124997 +0.89625007 +0.87375 +0.85625005 +0.83750004 +0.78375 +0.67375004 +0.5425 +0.44125 +0.40375 +0.44875 +0.56 +0.68625 +0.78625005 +0.7875 +0.71125007 +0.68500006 +0.77125 +1.0174999 +1.3875 +1.8050001 +2.1325 +2.24875 +2.245 +2.15375 +2.0550003 +1.9925 +1.95625 +1.9012499 +1.785 +1.6025001 +1.4175 +1.3175 +1.3549999 +1.5250001 +1.75625 +1.9437499 +2.00875 +1.9375 +1.7850001 +1.6475 +1.66625 +1.79125 +2.0 +2.2362502 +2.46375 +2.685 +2.935 +3.25125 +3.6274998 +3.98875 +4.2275 +4.24125 +3.99 +3.5287502 +2.9825 +2.47875 +2.09625 +1.8375001 +1.6537501 +1.51375 +1.3625001 +1.155 +0.96875 +0.87625 +0.8925 +0.98 +1.07 +1.0975001 +1.03625 +0.9075 +0.7625 +0.64375 +0.57625 +0.54375 +0.53000003 +0.50125 +0.43749997 +0.3375 +0.2225 +0.14125 +0.12 +0.175 +0.3125 +0.4625 +0.55125 +0.5425 +0.4525 +0.3675 +0.38625 +0.5625 +0.87749994 +1.235 +1.5025 +1.5949998 +1.5774999 +1.52875 +1.4887499 +1.4950001 +1.5337499 +1.5475 +1.4875 +1.35125 +1.19 +1.09125 +1.115 +1.27125 +1.5 +1.70625 +1.8175 +1.8087499 +1.72625 +1.65375 +1.66625 +1.79125 +2.0 +2.2362502 +2.46375 +2.685 +2.935 +3.25125 +3.6274998 +3.98875 +4.2275 +4.24125 +3.99 +3.5287502 +2.9825 +2.47875 +2.09625 +1.8375001 +1.6537501 +1.51375 +1.3625001 +1.155 +0.96875 +0.87625 +0.8925 +0.98 +1.07 +1.0975001 +1.03625 +0.9075 +0.7625 +0.64375 +0.57625 +0.54375 +0.53000003 +0.50125 +0.43749997 +0.3375 +0.2225 +0.14125 +0.12 +0.175 +0.3125 +0.4625 +0.55125 +0.5425 +0.4525 +0.3675 +0.38625 +0.5625 +0.87749994 +1.235 +1.5025 +1.5949998 +1.5774999 +1.52875 +1.4887499 +1.4950001 +1.5337499 +1.5475 +1.4875 +1.35125 +1.19 +1.09125 +1.115 +1.27125 +1.5 +1.70625 +1.8175 +1.8087499 +1.72625 +1.65375 +1.6612499 +1.8475001 +2.11625 +2.4112499 +2.6924999 +2.9524999 +3.2224998 +3.5349998 +3.8899999 +4.2275 +4.45 +4.46375 +4.22875 +3.7825 +3.235 +2.705 +2.275 +1.96375 +1.72375 +1.54875 +1.3675 +1.14625 +0.9475 +0.83375 +0.82375 +0.8775 +0.93000007 +0.92 +0.82874995 +0.68 +0.52124995 +0.3975 +0.3225 +0.2875 +0.26875 +0.24499999 +0.19875 +0.13125 +0.06125 +0.032500003 +0.051249996 +0.12875 +0.26 +0.4025 +0.4875 +0.48000002 +0.39124998 +0.2925 +0.27125 +0.3875 +0.625 +0.90250003 +1.10875 +1.1737499 +1.14 +1.1025001 +1.0825 +1.11875 +1.1925 +1.2399999 +1.2137499 +1.1 +0.9475 +0.83750004 +0.83750004 +0.96500003 +1.17875 +1.3925 +1.5387499 +1.59125 +1.57875 +1.58125 +1.6612499 +1.8475001 +2.11625 +2.4112499 +2.6924999 +2.9524999 +3.2224998 +3.5349998 +3.8899999 +4.2275 +4.45 +4.46375 +4.22875 +3.7825 +3.235 +2.705 +2.275 +1.96375 +1.72375 +1.54875 +1.3675 +1.14625 +0.9475 +0.83375 +0.82375 +0.8775 +0.93000007 +0.92 +0.82874995 +0.68 +0.52124995 +0.3975 +0.3225 +0.2875 +0.26875 +0.24499999 +0.19875 +0.13125 +0.06125 +0.032500003 +0.051249996 +0.12875 +0.26 +0.4025 +0.4875 +0.48000002 +0.39124998 +0.2925 +0.27125 +0.3875 +0.625 +0.90250003 +1.10875 +1.1737499 +1.14 +1.1025001 +1.0825 +1.11875 +1.1925 +1.2399999 +1.2137499 +1.1 +0.9475 +0.83750004 +0.83750004 +0.96500003 +1.17875 +1.3925 +1.5387499 +1.59125 +1.57875 +1.58125 +1.57375 +1.81 +2.11875 +2.4550002 +2.77 +3.0475 +3.31125 +3.5924997 +3.9 +4.1949997 +4.3925 +4.41625 +4.22 +3.8274999 +3.3225 +2.8075001 +2.36625 +2.02125 +1.7475001 +1.5175 +1.3125 +1.085 +0.87874997 +0.7675 +0.73375 +0.745 +0.7725 +0.75 +0.66249996 +0.525 +0.38250002 +0.27375 +0.22000001 +0.20125 +0.1875 +0.17250001 +0.15 +0.11749999 +0.09375 +0.0975 +0.1275 +0.20875001 +0.34375 +0.47875 +0.56375 +0.5625 +0.48125 +0.3775 +0.34750003 +0.41124997 +0.56500006 +0.77500004 +0.93125 +0.96375 +0.93125 +0.87375003 +0.83875 +0.8575 +0.9200001 +0.96999997 +0.9499999 +0.845 +0.695 +0.5725 +0.5475 +0.64375 +0.83500004 +1.05 +1.22125 +1.3174999 +1.36875 +1.4337502 +1.57375 +1.81 +2.11875 +2.4550002 +2.77 +3.0475 +3.31125 +3.5924997 +3.9 +4.1949997 +4.3925 +4.41625 +4.22 +3.8274999 +3.3225 +2.8075001 +2.36625 +2.02125 +1.7475001 +1.5175 +1.3125 +1.085 +0.87874997 +0.7675 +0.73375 +0.745 +0.7725 +0.75 +0.66249996 +0.525 +0.38250002 +0.27375 +0.22000001 +0.20125 +0.1875 +0.17250001 +0.15 +0.11749999 +0.09375 +0.0975 +0.1275 +0.20875001 +0.34375 +0.47875 +0.56375 +0.5625 +0.48125 +0.3775 +0.34750003 +0.41124997 +0.56500006 +0.77500004 +0.93125 +0.96375 +0.93125 +0.87375003 +0.83875 +0.8575 +0.9200001 +0.96999997 +0.9499999 +0.845 +0.695 +0.5725 +0.5475 +0.64375 +0.83500004 +1.05 +1.22125 +1.3174999 +1.36875 +1.4337502 +1.4075 +1.6700001 +1.9962499 +2.3424997 +2.6612499 +2.9337502 +3.17 +3.40125 +3.64375 +3.88 +4.05125 +4.09 +3.9575 +3.64875 +3.2287502 +2.7775 +2.3625 +2.015 +1.73 +1.48 +1.245 +1.03375 +0.86375004 +0.75624996 +0.70875 +0.69500005 +0.67875 +0.65749997 +0.6025 +0.51125 +0.4225 +0.38125 +0.3675 +0.36375 +0.36375 +0.35875 +0.34625 +0.33249998 +0.32 +0.31750003 +0.33625 +0.3875 +0.46875 +0.58375 +0.6687499 +0.67499995 +0.61625 +0.55125 +0.50875 +0.53 +0.625 +0.75750005 +0.86875 +0.90624994 +0.85999995 +0.76874995 +0.6925 +0.66375005 +0.6825 +0.70375 +0.67625 +0.57624996 +0.43125 +0.32125002 +0.2975 +0.36375 +0.51000005 +0.71000004 +0.89125 +1.02125 +1.1175001 +1.2299999 +1.4075 +1.6700001 +1.9962499 +2.3424997 +2.6612499 +2.9337502 +3.17 +3.40125 +3.64375 +3.88 +4.05125 +4.09 +3.9575 +3.64875 +3.2287502 +2.7775 +2.3625 +2.015 +1.73 +1.48 +1.245 +1.03375 +0.86375004 +0.75624996 +0.70875 +0.69500005 +0.67875 +0.65749997 +0.6025 +0.51125 +0.4225 +0.38125 +0.3675 +0.36375 +0.36375 +0.35875 +0.34625 +0.33249998 +0.32 +0.31750003 +0.33625 +0.3875 +0.46875 +0.58375 +0.6687499 +0.67499995 +0.61625 +0.55125 +0.50875 +0.53 +0.625 +0.75750005 +0.86875 +0.90624994 +0.85999995 +0.76874995 +0.6925 +0.66375005 +0.6825 +0.70375 +0.67625 +0.57624996 +0.43125 +0.32125002 +0.2975 +0.36375 +0.51000005 +0.71000004 +0.89125 +1.02125 +1.1175001 +1.2299999 +1.19625 +1.46375 +1.7812499 +2.1087499 +2.40375 +2.6437502 +2.8349998 +3.0062501 +3.17625 +3.3474998 +3.4862502 +3.5437503 +3.4787502 +3.2787502 +2.9725 +2.6112502 +2.255 +1.93625 +1.6637499 +1.4262499 +1.2125 +1.02375 +0.87375 +0.76875 +0.7175 +0.6975 +0.69124997 +0.6825 +0.66875 +0.65375 +0.64750004 +0.6525 +0.66 +0.66375 +0.6575 +0.64125 +0.62125 +0.59625006 +0.56625 +0.53374994 +0.51374996 +0.52125 +0.565 +0.6374999 +0.70625 +0.73625 +0.71 +0.64375 +0.58000004 +0.56874996 +0.62874997 +0.73625 +0.83375 +0.86375004 +0.8075 +0.69124997 +0.57 +0.485 +0.45125002 +0.4375 +0.39624998 +0.305 +0.22000001 +0.18 +0.16875 +0.18125 +0.25625 +0.41250002 +0.58 +0.72875 +0.8575 +0.99875 +1.19625 +1.46375 +1.7812499 +2.1087499 +2.40375 +2.6437502 +2.8349998 +3.0062501 +3.17625 +3.3474998 +3.4862502 +3.5437503 +3.4787502 +3.2787502 +2.9725 +2.6112502 +2.255 +1.93625 +1.6637499 +1.4262499 +1.2125 +1.02375 +0.87375 +0.76875 +0.7175 +0.6975 +0.69124997 +0.6825 +0.66875 +0.65375 +0.64750004 +0.6525 +0.66 +0.66375 +0.6575 +0.64125 +0.62125 +0.59625006 +0.56625 +0.53374994 +0.51374996 +0.52125 +0.565 +0.6374999 +0.70625 +0.73625 +0.71 +0.64375 +0.58000004 +0.56874996 +0.62874997 +0.73625 +0.83375 +0.86375004 +0.8075 +0.69124997 +0.57 +0.485 +0.45125002 +0.4375 +0.39624998 +0.305 +0.22000001 +0.18 +0.16875 +0.18125 +0.25625 +0.41250002 +0.58 +0.72875 +0.8575 +0.99875 +1.00875 +1.2662499 +1.5525 +1.83875 +2.085 +2.27625 +2.4112499 +2.515 +2.61375 +2.72 +2.82375 +2.89375 +2.8937497 +2.79875 +2.6125 +2.355 +2.0725 +1.8 +1.55625 +1.3425 +1.1612499 +1.005 +0.87499994 +0.7825 +0.72624993 +0.7025 +0.70875 +0.73749995 +0.7825 +0.84125 +0.89875 +0.94624996 +0.97 +0.96250004 +0.93 +0.8812499 +0.83124995 +0.77625 +0.71374995 +0.64 +0.57124996 +0.52875 +0.52875 +0.575 +0.6325 +0.66625 +0.645 +0.57374996 +0.4975 +0.46375 +0.50124997 +0.59875 +0.70500004 +0.75124997 +0.7075 +0.5875 +0.44125 +0.31625 +0.24375 +0.20375 +0.16 +0.12375 +0.11 +0.12125 +0.13625 +0.13625 +0.13874999 +0.19875 +0.335 +0.48 +0.62999994 +0.8 +1.00875 +1.2662499 +1.5525 +1.83875 +2.085 +2.27625 +2.4112499 +2.515 +2.61375 +2.72 +2.82375 +2.89375 +2.8937497 +2.79875 +2.6125 +2.355 +2.0725 +1.8 +1.55625 +1.3425 +1.1612499 +1.005 +0.87499994 +0.7825 +0.72624993 +0.7025 +0.70875 +0.73749995 +0.7825 +0.84125 +0.89875 +0.94624996 +0.97 +0.96250004 +0.93 +0.8812499 +0.83124995 +0.77625 +0.71374995 +0.64 +0.57124996 +0.52875 +0.52875 +0.575 +0.6325 +0.66625 +0.645 +0.57374996 +0.4975 +0.46375 +0.50124997 +0.59875 +0.70500004 +0.75124997 +0.7075 +0.5875 +0.44125 +0.31625 +0.24375 +0.20375 +0.16 +0.12375 +0.11 +0.12125 +0.13625 +0.13625 +0.13874999 +0.19875 +0.335 +0.48 +0.62999994 +0.8 +0.9225 +1.16625 +1.4124999 +1.6399999 +1.8225002 +1.9487501 +2.025 +2.0675 +2.1025 +2.1499999 +2.21875 +2.29125 +2.34375 +2.3375 +2.2525 +2.09375 +1.88625 +1.6637499 +1.45125 +1.27125 +1.1275 +0.99500006 +0.88875 +0.79999995 +0.735 +0.70124996 +0.7075 +0.75874996 +0.85249996 +0.9725 +1.09 +1.1737499 +1.2049999 +1.17625 +1.10625 +1.01375 +0.92125 +0.8325001 +0.74125 +0.63625 +0.53125 +0.44875002 +0.4125 +0.42874998 +0.4725 +0.50125 +0.4825 +0.41125003 +0.32375 +0.275 +0.3025 +0.39874998 +0.52875 +0.5975 +0.58 +0.48000002 +0.33375 +0.19875 +0.11125 +0.0675 +0.0425 +0.04125 +0.065 +0.08875 +0.10125 +0.1 +0.09625 +0.11 +0.19374998 +0.33 +0.50249994 +0.7 +0.9225 +1.16625 +1.4124999 +1.6399999 +1.8225002 +1.9487501 +2.025 +2.0675 +2.1025 +2.1499999 +2.21875 +2.29125 +2.34375 +2.3375 +2.2525 +2.09375 +1.88625 +1.6637499 +1.45125 +1.27125 +1.1275 +0.99500006 +0.88875 +0.79999995 +0.735 +0.70124996 +0.7075 +0.75874996 +0.85249996 +0.9725 +1.09 +1.1737499 +1.2049999 +1.17625 +1.10625 +1.01375 +0.92125 +0.8325001 +0.74125 +0.63625 +0.53125 +0.44875002 +0.4125 +0.42874998 +0.4725 +0.50125 +0.4825 +0.41125003 +0.32375 +0.275 +0.3025 +0.39874998 +0.52875 +0.5975 +0.58 +0.48000002 +0.33375 +0.19875 +0.11125 +0.0675 +0.0425 +0.04125 +0.065 +0.08875 +0.10125 +0.1 +0.09625 +0.11 +0.19374998 +0.33 +0.50249994 +0.7 +0.995 +1.2262499 +1.42875 +1.5875001 +1.69625 +1.7562499 +1.7737498 +1.7650001 +1.7524999 +1.7587501 +1.79875 +1.87125 +1.9549999 +2.01 +2.0024998 +1.92375 +1.7787501 +1.6025 +1.45125 +1.32625 +1.21 +1.08875 +0.95875 +0.87 +0.78875005 +0.73375 +0.725 +0.78 +0.91 +1.0575 +1.21 +1.3199999 +1.3525 +1.3012501 +1.19125 +1.05625 +0.92625004 +0.8125 +0.7075 +0.59749997 +0.48375 +0.38625 +0.33 +0.32875 +0.36875 +0.38 +0.36374998 +0.2975 +0.20875 +0.15375 +0.17125 +0.30249998 +0.4525 +0.54125 +0.53000003 +0.43499997 +0.30875 +0.1825 +0.097500004 +0.0525 +0.03625 +0.0375 +0.04625 +0.06125 +0.06875 +0.0675 +0.065 +0.0875 +0.16999999 +0.3225 +0.5275 +0.75624996 +0.995 +1.2262499 +1.42875 +1.5875001 +1.69625 +1.7562499 +1.7737498 +1.7650001 +1.7524999 +1.7587501 +1.79875 +1.87125 +1.9549999 +2.01 +2.0024998 +1.92375 +1.7787501 +1.6025 +1.45125 +1.32625 +1.21 +1.08875 +0.95875 +0.87 +0.78875005 +0.73375 +0.725 +0.78 +0.91 +1.0575 +1.21 +1.3199999 +1.3525 +1.3012501 +1.19125 +1.05625 +0.92625004 +0.8125 +0.7075 +0.59749997 +0.48375 +0.38625 +0.33 +0.32875 +0.36875 +0.38 +0.36374998 +0.2975 +0.20875 +0.15375 +0.17125 +0.30249998 +0.4525 +0.54125 +0.53000003 +0.43499997 +0.30875 +0.1825 +0.097500004 +0.0525 +0.03625 +0.0375 +0.04625 +0.06125 +0.06875 +0.0675 +0.065 +0.0875 +0.16999999 +0.3225 +0.5275 +0.75624996 +1.2312499 +1.4449999 +1.6000001 +1.6875 +1.7212499 +1.7149999 +1.67875 +1.6337501 +1.5962499 +1.58375 +1.61375 +1.6962501 +1.8062501 +1.8924999 +1.9224999 +1.89375 +1.8025001 +1.6912501 +1.585 +1.49 +1.4 +1.29875 +1.1775 +1.0450001 +0.945 +0.865 +0.84625 +0.91125 +1.0387499 +1.1949999 +1.33625 +1.4475 +1.4775 +1.40875 +1.265 +1.09125 +0.92999995 +0.80375004 +0.70125 +0.6075 +0.515 +0.42875 +0.38125 +0.40000004 +0.43249997 +0.445 +0.41125 +0.34625 +0.2725 +0.22125 +0.26375 +0.3775 +0.51 +0.6 +0.60625 +0.53 +0.415 +0.31125 +0.23624998 +0.20875 +0.19624999 +0.17625 +0.15 +0.13749999 +0.13374999 +0.12875 +0.13250001 +0.17999999 +0.29749995 +0.48124996 +0.71500003 +0.97624993 +1.2312499 +1.4449999 +1.6000001 +1.6875 +1.7212499 +1.7149999 +1.67875 +1.6337501 +1.5962499 +1.58375 +1.61375 +1.6962501 +1.8062501 +1.8924999 +1.9224999 +1.89375 +1.8025001 +1.6912501 +1.585 +1.49 +1.4 +1.29875 +1.1775 +1.0450001 +0.945 +0.865 +0.84625 +0.91125 +1.0387499 +1.1949999 +1.33625 +1.4475 +1.4775 +1.40875 +1.265 +1.09125 +0.92999995 +0.80375004 +0.70125 +0.6075 +0.515 +0.42875 +0.38125 +0.40000004 +0.43249997 +0.445 +0.41125 +0.34625 +0.2725 +0.22125 +0.26375 +0.3775 +0.51 +0.6 +0.60625 +0.53 +0.415 +0.31125 +0.23624998 +0.20875 +0.19624999 +0.17625 +0.15 +0.13749999 +0.13374999 +0.12875 +0.13250001 +0.17999999 +0.29749995 +0.48124996 +0.71500003 +0.97624993 +1.55375 +1.7487501 +1.855 +1.8749999 +1.8349999 +1.7662499 +1.68875 +1.62375 +1.58 +1.5712501 +1.6074998 +1.7025 +1.8149999 +1.9125 +1.96375 +1.9625 +1.9187499 +1.855 +1.78875 +1.72875 +1.665 +1.5825 +1.4725001 +1.3425 +1.2225001 +1.1324999 +1.1025001 +1.14625 +1.25125 +1.39 +1.5224999 +1.6199999 +1.64375 +1.5625 +1.395 +1.1925 +1.00625 +0.865 +0.765 +0.6925 +0.625 +0.565 +0.54249996 +0.56624997 +0.59875 +0.61875 +0.60625 +0.56125003 +0.50874996 +0.4825 +0.51374996 +0.595 +0.69125 +0.75750005 +0.76125 +0.70875 +0.62624997 +0.54999995 +0.5025 +0.48375 +0.47875002 +0.46624997 +0.43875003 +0.42125002 +0.40249997 +0.39124998 +0.40125 +0.45250002 +0.57000005 +0.76125 +1.015 +1.29625 +1.55375 +1.7487501 +1.855 +1.8749999 +1.8349999 +1.7662499 +1.68875 +1.62375 +1.58 +1.5712501 +1.6074998 +1.7025 +1.8149999 +1.9125 +1.96375 +1.9625 +1.9187499 +1.855 +1.78875 +1.72875 +1.665 +1.5825 +1.4725001 +1.3425 +1.2225001 +1.1324999 +1.1025001 +1.14625 +1.25125 +1.39 +1.5224999 +1.6199999 +1.64375 +1.5625 +1.395 +1.1925 +1.00625 +0.865 +0.765 +0.6925 +0.625 +0.565 +0.54249996 +0.56624997 +0.59875 +0.61875 +0.60625 +0.56125003 +0.50874996 +0.4825 +0.51374996 +0.595 +0.69125 +0.75750005 +0.76125 +0.70875 +0.62624997 +0.54999995 +0.5025 +0.48375 +0.47875002 +0.46624997 +0.43875003 +0.42125002 +0.40249997 +0.39124998 +0.40125 +0.45250002 +0.57000005 +0.76125 +1.015 +1.29625 +1.845 +2.01125 +2.07 +2.0300002 +1.9237499 +1.7974999 +1.68625 +1.61 +1.5775 +1.5899999 +1.6450001 +1.7462499 +1.85 +1.93375 +1.9837501 +2.00125 +1.98 +1.9625 +1.94875 +1.9325001 +1.9000001 +1.84 +1.75 +1.6437501 +1.5474999 +1.4575 +1.41875 +1.44625 +1.5212499 +1.63125 +1.74375 +1.8425 +1.8637499 +1.7775002 +1.6037501 +1.3824999 +1.16875 +0.99625 +0.87625 +0.7975 +0.74125 +0.6975 +0.67249995 +0.69874996 +0.73625 +0.77 +0.7875 +0.7875 +0.7825 +0.77125 +0.7925 +0.8425001 +0.8925 +0.9187499 +0.90625 +0.86499995 +0.815 +0.78624994 +0.76250005 +0.75375 +0.745 +0.7225 +0.68875 +0.66999996 +0.65999997 +0.6625 +0.68499994 +0.7449999 +0.86625 +1.06 +1.3162501 +1.59625 +1.845 +2.01125 +2.07 +2.0300002 +1.9237499 +1.7974999 +1.68625 +1.61 +1.5775 +1.5899999 +1.6450001 +1.7462499 +1.85 +1.93375 +1.9837501 +2.00125 +1.98 +1.9625 +1.94875 +1.9325001 +1.9000001 +1.84 +1.75 +1.6437501 +1.5474999 +1.4575 +1.41875 +1.44625 +1.5212499 +1.63125 +1.74375 +1.8425 +1.8637499 +1.7775002 +1.6037501 +1.3824999 +1.16875 +0.99625 +0.87625 +0.7975 +0.74125 +0.6975 +0.67249995 +0.69874996 +0.73625 +0.77 +0.7875 +0.7875 +0.7825 +0.77125 +0.7925 +0.8425001 +0.8925 +0.9187499 +0.90625 +0.86499995 +0.815 +0.78624994 +0.76250005 +0.75375 +0.745 +0.7225 +0.68875 +0.66999996 +0.65999997 +0.6625 +0.68499994 +0.7449999 +0.86625 +1.06 +1.3162501 +1.59625 +1.9812502 +2.1125 +2.1299999 +2.03875 +1.8775 +1.7049999 +1.565 +1.48 +1.4625001 +1.4999999 +1.57875 +1.6775 +1.7625 +1.8199999 +1.85 +1.8575 +1.85625 +1.8775 +1.92375 +1.9612501 +1.97125 +1.94125 +1.8912501 +1.8287501 +1.76125 +1.7075 +1.6825 +1.6974999 +1.7562501 +1.85 +1.95875 +2.045 +2.07125 +2.005 +1.84625 +1.6225 +1.37875 +1.1537501 +0.97625 +0.85374993 +0.77125 +0.72 +0.69375 +0.69124997 +0.715 +0.76000005 +0.8125 +0.8625001 +0.90374994 +0.9325 +0.94750005 +0.96 +0.96875006 +0.95 +0.91249996 +0.87624997 +0.86875 +0.8875 +0.90625 +0.90250003 +0.87624997 +0.83375 +0.78625 +0.76125 +0.76374996 +0.7937499 +0.84999996 +0.93750006 +1.07125 +1.265 +1.50625 +1.7612499 +1.9812502 +2.1125 +2.1299999 +2.03875 +1.8775 +1.7049999 +1.565 +1.48 +1.4625001 +1.4999999 +1.57875 +1.6775 +1.7625 +1.8199999 +1.85 +1.8575 +1.85625 +1.8775 +1.92375 +1.9612501 +1.97125 +1.94125 +1.8912501 +1.8287501 +1.76125 +1.7075 +1.6825 +1.6974999 +1.7562501 +1.85 +1.95875 +2.045 +2.07125 +2.005 +1.84625 +1.6225 +1.37875 +1.1537501 +0.97625 +0.85374993 +0.77125 +0.72 +0.69375 +0.69124997 +0.715 +0.76000005 +0.8125 +0.8625001 +0.90374994 +0.9325 +0.94750005 +0.96 +0.96875006 +0.95 +0.91249996 +0.87624997 +0.86875 +0.8875 +0.90625 +0.90250003 +0.87624997 +0.83375 +0.78625 +0.76125 +0.76374996 +0.7937499 +0.84999996 +0.93750006 +1.07125 +1.265 +1.50625 +1.7612499 +1.90375 +1.99625 +1.9749999 +1.85 +1.65375 +1.4425 +1.27125 +1.1775 +1.16875 +1.2325001 +1.3312501 +1.42625 +1.4875001 +1.4999999 +1.4775 +1.4525 +1.45875 +1.52125 +1.625 +1.7225001 +1.775 +1.7887499 +1.7724999 +1.7387501 +1.71375 +1.7149999 +1.7425001 +1.7900001 +1.85375 +1.9337499 +2.02375 +2.10875 +2.1612499 +2.14375 +2.03625 +1.8375 +1.5762501 +1.2925 +1.0337499 +0.82625 +0.68249995 +0.5925 +0.5475 +0.5325 +0.53875 +0.5675 +0.61875 +0.685 +0.76125 +0.82875 +0.8675 +0.8625 +0.82625 +0.77 +0.70750004 +0.67375 +0.69875 +0.76625 +0.83375 +0.85875 +0.82625 +0.75625 +0.6825 +0.64625 +0.66125 +0.72875 +0.8325 +0.96125 +1.115 +1.2987499 +1.51 +1.72625 +1.90375 +1.99625 +1.9749999 +1.85 +1.65375 +1.4425 +1.27125 +1.1775 +1.16875 +1.2325001 +1.3312501 +1.42625 +1.4875001 +1.4999999 +1.4775 +1.4525 +1.45875 +1.52125 +1.625 +1.7225001 +1.775 +1.7887499 +1.7724999 +1.7387501 +1.71375 +1.7149999 +1.7425001 +1.7900001 +1.85375 +1.9337499 +2.02375 +2.10875 +2.1612499 +2.14375 +2.03625 +1.8375 +1.5762501 +1.2925 +1.0337499 +0.82625 +0.68249995 +0.5925 +0.5475 +0.5325 +0.53875 +0.5675 +0.61875 +0.685 +0.76125 +0.82875 +0.8675 +0.8625 +0.82625 +0.77 +0.70750004 +0.67375 +0.69875 +0.76625 +0.83375 +0.85875 +0.82625 +0.75625 +0.6825 +0.64625 +0.66125 +0.72875 +0.8325 +0.96125 +1.115 +1.2987499 +1.51 +1.72625 +1.6475 +1.7025001 +1.6550001 +1.5075 +1.28875 +1.05125 +0.85249996 +0.73875 +0.73 +0.80625 +0.92125 +1.0137501 +1.0425 +1.0 +0.91375005 +0.84124994 +0.83875 +0.93625 +1.0849999 +1.23 +1.3187499 +1.3562499 +1.35375 +1.34125 +1.35875 +1.41125 +1.4950001 +1.5862501 +1.6687499 +1.7512499 +1.8412501 +1.9512498 +2.0575001 +2.12375 +2.1075 +1.97375 +1.7249999 +1.4062501 +1.06875 +0.76750004 +0.54375 +0.39749998 +0.32125 +0.2825 +0.26125 +0.26 +0.28375 +0.34000003 +0.42 +0.5 +0.56 +0.55499995 +0.49375 +0.40375 +0.3275 +0.31125 +0.3525 +0.45125002 +0.56375 +0.6275 +0.60375 +0.5149999 +0.415 +0.36374998 +0.39375 +0.5 +0.65500003 +0.82874995 +1.0037501 +1.17875 +1.35375 +1.52 +1.6475 +1.7025001 +1.6550001 +1.5075 +1.28875 +1.05125 +0.85249996 +0.73875 +0.73 +0.80625 +0.92125 +1.0137501 +1.0425 +1.0 +0.91375005 +0.84124994 +0.83875 +0.93625 +1.0849999 +1.23 +1.3187499 +1.3562499 +1.35375 +1.34125 +1.35875 +1.41125 +1.4950001 +1.5862501 +1.6687499 +1.7512499 +1.8412501 +1.9512498 +2.0575001 +2.12375 +2.1075 +1.97375 +1.7249999 +1.4062501 +1.06875 +0.76750004 +0.54375 +0.39749998 +0.32125 +0.2825 +0.26125 +0.26 +0.28375 +0.34000003 +0.42 +0.5 +0.56 +0.55499995 +0.49375 +0.40375 +0.3275 +0.31125 +0.3525 +0.45125002 +0.56375 +0.6275 +0.60375 +0.5149999 +0.415 +0.36374998 +0.39375 +0.5 +0.65500003 +0.82874995 +1.0037501 +1.17875 +1.35375 +1.52 +1.32875 +1.3487501 +1.2837498 +1.1274999 +0.89875007 +0.64125 +0.42 +0.31875 +0.3025 +0.37 +0.46875 +0.55625004 +0.55999994 +0.46625 +0.3375 +0.2575 +0.2525 +0.32625002 +0.47 +0.62750006 +0.735 +0.76750004 +0.765 +0.7575 +0.78874993 +0.875 +0.99625003 +1.1225 +1.2275 +1.3199999 +1.4275 +1.5775 +1.7587501 +1.93625 +2.04125 +2.0137498 +1.83 +1.5175 +1.14 +0.77625 +0.485 +0.29500002 +0.18625 +0.13374999 +0.0975 +0.07124999 +0.0625 +0.07625 +0.1125 +0.16874999 +0.21874999 +0.20124999 +0.14875 +0.083749995 +0.042499997 +0.03625 +0.05625 +0.12374999 +0.2525 +0.32375002 +0.31625 +0.22749999 +0.14875 +0.1125 +0.145 +0.25375 +0.42125 +0.6325 +0.8274999 +0.99499995 +1.135 +1.24875 +1.32875 +1.3487501 +1.2837498 +1.1274999 +0.89875007 +0.64125 +0.42 +0.31875 +0.3025 +0.37 +0.46875 +0.55625004 +0.55999994 +0.46625 +0.3375 +0.2575 +0.2525 +0.32625002 +0.47 +0.62750006 +0.735 +0.76750004 +0.765 +0.7575 +0.78874993 +0.875 +0.99625003 +1.1225 +1.2275 +1.3199999 +1.4275 +1.5775 +1.7587501 +1.93625 +2.04125 +2.0137498 +1.83 +1.5175 +1.14 +0.77625 +0.485 +0.29500002 +0.18625 +0.13374999 +0.0975 +0.07124999 +0.0625 +0.07625 +0.1125 +0.16874999 +0.21874999 +0.20124999 +0.14875 +0.083749995 +0.042499997 +0.03625 +0.05625 +0.12374999 +0.2525 +0.32375002 +0.31625 +0.22749999 +0.14875 +0.1125 +0.145 +0.25375 +0.42125 +0.6325 +0.8274999 +0.99499995 +1.135 +1.24875 +1.09875 +1.08375 +1.0 +0.84 +0.61125 +0.34875 +0.18374999 +0.118750006 +0.089999996 +0.095000006 +0.155 +0.22 +0.205 +0.121249996 +0.045 +0.0025 +0.0 +0.00125 +0.05625 +0.1625 +0.2425 +0.2525 +0.2525 +0.24625 +0.26875 +0.33 +0.435 +0.56750005 +0.67999995 +0.785 +0.9150001 +1.105 +1.36375 +1.64875 +1.8825 +1.98625 +1.9087498 +1.6637499 +1.3087499 +0.93625003 +0.62249994 +0.405 +0.27625 +0.19875 +0.13749999 +0.08625001 +0.05375 +0.04875 +0.0475 +0.047500003 +0.05125 +0.02 +0.005 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.060000002 +0.125 +0.12125 +0.07125 +0.05375 +0.0675 +0.08875 +0.13125 +0.27624997 +0.49625003 +0.71375 +0.87874997 +0.99125004 +1.06375 +1.09875 +1.08375 +1.0 +0.84 +0.61125 +0.34875 +0.18374999 +0.118750006 +0.089999996 +0.095000006 +0.155 +0.22 +0.205 +0.121249996 +0.045 +0.0025 +0.0 +0.00125 +0.05625 +0.1625 +0.2425 +0.2525 +0.2525 +0.24625 +0.26875 +0.33 +0.435 +0.56750005 +0.67999995 +0.785 +0.9150001 +1.105 +1.36375 +1.64875 +1.8825 +1.98625 +1.9087498 +1.6637499 +1.3087499 +0.93625003 +0.62249994 +0.405 +0.27625 +0.19875 +0.13749999 +0.08625001 +0.05375 +0.04875 +0.0475 +0.047500003 +0.05125 +0.02 +0.005 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.060000002 +0.125 +0.12125 +0.07125 +0.05375 +0.0675 +0.08875 +0.13125 +0.27624997 +0.49625003 +0.71375 +0.87874997 +0.99125004 +1.06375 +0.96000004 +0.80375 +0.65874994 +0.54999995 +0.4825 +0.44 +0.38375002 +0.27625 +0.13749999 +0.06625 +0.05 +0.04375 +0.04375 +0.043750003 +0.08375 +0.17999999 +0.25875 +0.28875 +0.29874998 +0.32875 +0.405 +0.53125006 +0.7025 +0.87249994 +1.03875 +1.21125 +1.3887501 +1.5625 +1.70125 +1.77125 +1.7562501 +1.67 +1.5387499 +1.39625 +1.2525 +1.10875 +0.95875 +0.80375 +0.66249996 +0.55875003 +0.49375004 +0.4525 +0.38875002 +0.27625 +0.13125 +0.068749994 +0.055 +0.05125 +0.05125 +0.05 +0.080000006 +0.1675 +0.24375 +0.27625 +0.29 +0.3275 +0.41 +0.5425 +0.71375 +0.88375 +1.0512501 +1.22375 +1.40625 +1.58375 +1.72375 +1.7912501 +1.77125 +1.6762501 +1.5400001 +1.395 +1.25125 +1.10875 +0.96000004 +0.80375 +0.65874994 +0.54999995 +0.4825 +0.44 +0.38375002 +0.27625 +0.13749999 +0.06625 +0.05 +0.04375 +0.04375 +0.043750003 +0.08375 +0.17999999 +0.25875 +0.28875 +0.29874998 +0.32875 +0.405 +0.53125006 +0.7025 +0.87249994 +1.03875 +1.21125 +1.3887501 +1.5625 +1.70125 +1.77125 +1.7562501 +1.67 +1.5387499 +1.39625 +1.2525 +1.10875 +0.95875 +0.80375 +0.66249996 +0.55875003 +0.49375004 +0.4525 +0.38875002 +0.27625 +0.13125 +0.068749994 +0.055 +0.05125 +0.05125 +0.05 +0.080000006 +0.1675 +0.24375 +0.27625 +0.29 +0.3275 +0.41 +0.5425 +0.71375 +0.88375 +1.0512501 +1.22375 +1.40625 +1.58375 +1.72375 +1.7912501 +1.77125 +1.6762501 +1.5400001 +1.395 +1.25125 +1.10875 +0.9225 +0.765 +0.6175 +0.50625 +0.44 +0.40749997 +0.37249997 +0.29375 +0.17625 +0.07 +0.0375 +0.0325 +0.03375 +0.04625 +0.1375 +0.2425 +0.30374998 +0.32124996 +0.31125 +0.31625003 +0.36625 +0.48125 +0.64124995 +0.81125 +0.98625 +1.16375 +1.34625 +1.52 +1.6600001 +1.73875 +1.73875 +1.6675001 +1.54375 +1.39625 +1.24625 +1.09 +0.93125004 +0.78125 +0.655 +0.56500006 +0.5125 +0.47375 +0.40875 +0.29250002 +0.14625001 +0.06375 +0.0525 +0.055 +0.06 +0.0625 +0.118750006 +0.19125 +0.23750001 +0.26 +0.27375 +0.315 +0.405 +0.55375004 +0.72249997 +0.895 +1.0725 +1.2599999 +1.46 +1.6500001 +1.7925 +1.8525001 +1.8175 +1.7025001 +1.5450001 +1.3800001 +1.22375 +1.075 +0.9225 +0.765 +0.6175 +0.50625 +0.44 +0.40749997 +0.37249997 +0.29375 +0.17625 +0.07 +0.0375 +0.0325 +0.03375 +0.04625 +0.1375 +0.2425 +0.30374998 +0.32124996 +0.31125 +0.31625003 +0.36625 +0.48125 +0.64124995 +0.81125 +0.98625 +1.16375 +1.34625 +1.52 +1.6600001 +1.73875 +1.73875 +1.6675001 +1.54375 +1.39625 +1.24625 +1.09 +0.93125004 +0.78125 +0.655 +0.56500006 +0.5125 +0.47375 +0.40875 +0.29250002 +0.14625001 +0.06375 +0.0525 +0.055 +0.06 +0.0625 +0.118750006 +0.19125 +0.23750001 +0.26 +0.27375 +0.315 +0.405 +0.55375004 +0.72249997 +0.895 +1.0725 +1.2599999 +1.46 +1.6500001 +1.7925 +1.8525001 +1.8175 +1.7025001 +1.5450001 +1.3800001 +1.22375 +1.075 +0.82124996 +0.66625 +0.52125 +0.40999997 +0.35124996 +0.33875 +0.34 +0.31249997 +0.23249999 +0.123749994 +0.0425 +0.015 +0.0175 +0.07625 +0.19874999 +0.31875 +0.37374997 +0.36625 +0.325 +0.28375 +0.285 +0.35875002 +0.5 +0.6725 +0.8575 +1.04875 +1.2362499 +1.4100001 +1.5562499 +1.6512501 +1.6750001 +1.6249999 +1.5125 +1.3625 +1.195 +1.01875 +0.8525 +0.71250004 +0.615 +0.55875003 +0.53249997 +0.50374997 +0.43625 +0.31500003 +0.16250001 +0.05125 +0.04 +0.05 +0.05875 +0.115 +0.1875 +0.23625 +0.255 +0.2575 +0.26999998 +0.3225 +0.43374997 +0.58625 +0.75374997 +0.92625 +1.1125 +1.325 +1.55125 +1.76125 +1.90625 +1.94875 +1.8775 +1.7175 +1.5174999 +1.315 +1.13625 +0.9749999 +0.82124996 +0.66625 +0.52125 +0.40999997 +0.35124996 +0.33875 +0.34 +0.31249997 +0.23249999 +0.123749994 +0.0425 +0.015 +0.0175 +0.07625 +0.19874999 +0.31875 +0.37374997 +0.36625 +0.325 +0.28375 +0.285 +0.35875002 +0.5 +0.6725 +0.8575 +1.04875 +1.2362499 +1.4100001 +1.5562499 +1.6512501 +1.6750001 +1.6249999 +1.5125 +1.3625 +1.195 +1.01875 +0.8525 +0.71250004 +0.615 +0.55875003 +0.53249997 +0.50374997 +0.43625 +0.31500003 +0.16250001 +0.05125 +0.04 +0.05 +0.05875 +0.115 +0.1875 +0.23625 +0.255 +0.2575 +0.26999998 +0.3225 +0.43374997 +0.58625 +0.75374997 +0.92625 +1.1125 +1.325 +1.55125 +1.76125 +1.90625 +1.94875 +1.8775 +1.7175 +1.5174999 +1.315 +1.13625 +0.9749999 +0.66625 +0.52375 +0.38875 +0.29 +0.235 +0.23124999 +0.27125 +0.29500002 +0.27125 +0.19125 +0.08625 +0.015000001 +0.018749999 +0.082499996 +0.21000001 +0.33375 +0.39375 +0.3775 +0.3125 +0.22874999 +0.17750001 +0.195 +0.305 +0.47750005 +0.67499995 +0.8725 +1.05625 +1.225 +1.3675001 +1.4712498 +1.5212499 +1.5 +1.40625 +1.2562499 +1.0687499 +0.87250006 +0.7 +0.58 +0.52000004 +0.51125 +0.52374995 +0.50874996 +0.44000003 +0.3125 +0.15625 +0.04375 +0.02125 +0.05625 +0.13 +0.2275 +0.3025 +0.3275 +0.32625002 +0.315 +0.32999998 +0.39374998 +0.515 +0.66499996 +0.81625 +0.97624993 +1.165 +1.38875 +1.6287501 +1.8475 +1.9849999 +1.99875 +1.8812499 +1.6650001 +1.4125 +1.175 +0.97625 +0.81125 +0.66625 +0.52375 +0.38875 +0.29 +0.235 +0.23124999 +0.27125 +0.29500002 +0.27125 +0.19125 +0.08625 +0.015000001 +0.018749999 +0.082499996 +0.21000001 +0.33375 +0.39375 +0.3775 +0.3125 +0.22874999 +0.17750001 +0.195 +0.305 +0.47750005 +0.67499995 +0.8725 +1.05625 +1.225 +1.3675001 +1.4712498 +1.5212499 +1.5 +1.40625 +1.2562499 +1.0687499 +0.87250006 +0.7 +0.58 +0.52000004 +0.51125 +0.52374995 +0.50874996 +0.44000003 +0.3125 +0.15625 +0.04375 +0.02125 +0.05625 +0.13 +0.2275 +0.3025 +0.3275 +0.32625002 +0.315 +0.32999998 +0.39374998 +0.515 +0.66499996 +0.81625 +0.97624993 +1.165 +1.38875 +1.6287501 +1.8475 +1.9849999 +1.99875 +1.8812499 +1.6650001 +1.4125 +1.175 +0.97625 +0.81125 +0.48499998 +0.36875 +0.2725 +0.195 +0.14750001 +0.1325 +0.16125001 +0.22625 +0.24875 +0.20249999 +0.103750005 +0.028749999 +0.015000001 +0.04375 +0.11625 +0.24374999 +0.3275 +0.335 +0.26874998 +0.15875 +0.074999996 +0.065 +0.12375 +0.275 +0.48000002 +0.6725 +0.85749996 +1.02375 +1.1575 +1.24875 +1.29125 +1.3 +1.23125 +1.08625 +0.8875 +0.6775 +0.5025 +0.40375003 +0.38875 +0.43249997 +0.48375 +0.48999998 +0.42124996 +0.315 +0.18124999 +0.0775 +0.05875 +0.135 +0.26999998 +0.38875 +0.46375 +0.48125002 +0.45999998 +0.44375 +0.46875 +0.54499996 +0.66249996 +0.7975 +0.92125 +1.05875 +1.2275 +1.435 +1.65625 +1.8625 +1.9775 +1.9487501 +1.78125 +1.51375 +1.21875 +0.95500004 +0.7525 +0.60375 +0.48499998 +0.36875 +0.2725 +0.195 +0.14750001 +0.1325 +0.16125001 +0.22625 +0.24875 +0.20249999 +0.103750005 +0.028749999 +0.015000001 +0.04375 +0.11625 +0.24374999 +0.3275 +0.335 +0.26874998 +0.15875 +0.074999996 +0.065 +0.12375 +0.275 +0.48000002 +0.6725 +0.85749996 +1.02375 +1.1575 +1.24875 +1.29125 +1.3 +1.23125 +1.08625 +0.8875 +0.6775 +0.5025 +0.40375003 +0.38875 +0.43249997 +0.48375 +0.48999998 +0.42124996 +0.315 +0.18124999 +0.0775 +0.05875 +0.135 +0.26999998 +0.38875 +0.46375 +0.48125002 +0.45999998 +0.44375 +0.46875 +0.54499996 +0.66249996 +0.7975 +0.92125 +1.05875 +1.2275 +1.435 +1.65625 +1.8625 +1.9775 +1.9487501 +1.78125 +1.51375 +1.21875 +0.95500004 +0.7525 +0.60375 +0.32874998 +0.27124998 +0.21625 +0.16125 +0.10875 +0.08125 +0.08875 +0.13625 +0.18625 +0.16125001 +0.0625 +0.0075000003 +0.0 +0.0075 +0.04 +0.1125 +0.225 +0.27 +0.22 +0.1075 +0.01875 +0.0075 +0.03875 +0.14874999 +0.33625004 +0.525 +0.69375 +0.8312501 +0.94375 +1.03125 +1.08125 +1.0987501 +1.0575 +0.92375004 +0.72125006 +0.50375 +0.32999998 +0.25125 +0.27625 +0.3675 +0.45624998 +0.48125 +0.42874998 +0.3175 +0.185 +0.10250001 +0.12249999 +0.23874998 +0.41 +0.55625004 +0.635 +0.64125 +0.61375 +0.60249996 +0.64375 +0.73875 +0.86 +0.97375 +1.0662501 +1.1587499 +1.2750001 +1.4362501 +1.6212499 +1.7950001 +1.87375 +1.80625 +1.5975 +1.2925001 +0.97 +0.7 +0.50875 +0.39249998 +0.32874998 +0.27124998 +0.21625 +0.16125 +0.10875 +0.08125 +0.08875 +0.13625 +0.18625 +0.16125001 +0.0625 +0.0075000003 +0.0 +0.0075 +0.04 +0.1125 +0.225 +0.27 +0.22 +0.1075 +0.01875 +0.0075 +0.03875 +0.14874999 +0.33625004 +0.525 +0.69375 +0.8312501 +0.94375 +1.03125 +1.08125 +1.0987501 +1.0575 +0.92375004 +0.72125006 +0.50375 +0.32999998 +0.25125 +0.27625 +0.3675 +0.45624998 +0.48125 +0.42874998 +0.3175 +0.185 +0.10250001 +0.12249999 +0.23874998 +0.41 +0.55625004 +0.635 +0.64125 +0.61375 +0.60249996 +0.64375 +0.73875 +0.86 +0.97375 +1.0662501 +1.1587499 +1.2750001 +1.4362501 +1.6212499 +1.7950001 +1.87375 +1.80625 +1.5975 +1.2925001 +0.97 +0.7 +0.50875 +0.39249998 +0.2625 +0.245 +0.20125 +0.14625 +0.095 +0.0625 +0.0625 +0.09875001 +0.155 +0.1475 +0.055 +0.0 +0.0 +0.0 +0.00875 +0.05125 +0.15875 +0.23874998 +0.21999998 +0.11625001 +0.0225 +0.0 +0.026250001 +0.12625 +0.31 +0.48 +0.61 +0.7175 +0.80499995 +0.8825 +0.9425 +0.99125 +0.97624993 +0.8575001 +0.65999997 +0.43875 +0.26375002 +0.19625 +0.2425 +0.36249998 +0.47875002 +0.515 +0.45374998 +0.335 +0.19625 +0.120000005 +0.16 +0.32 +0.52125 +0.6675 +0.75125 +0.75624996 +0.72875 +0.72999996 +0.79249996 +0.91249996 +1.04625 +1.155 +1.21 +1.25 +1.30625 +1.405 +1.5450001 +1.6775 +1.7187499 +1.6225 +1.39125 +1.07125 +0.74 +0.475 +0.31 +0.26875 +0.2625 +0.245 +0.20125 +0.14625 +0.095 +0.0625 +0.0625 +0.09875001 +0.155 +0.1475 +0.055 +0.0 +0.0 +0.0 +0.00875 +0.05125 +0.15875 +0.23874998 +0.21999998 +0.11625001 +0.0225 +0.0 +0.026250001 +0.12625 +0.31 +0.48 +0.61 +0.7175 +0.80499995 +0.8825 +0.9425 +0.99125 +0.97624993 +0.8575001 +0.65999997 +0.43875 +0.26375002 +0.19625 +0.2425 +0.36249998 +0.47875002 +0.515 +0.45374998 +0.335 +0.19625 +0.120000005 +0.16 +0.32 +0.52125 +0.6675 +0.75125 +0.75624996 +0.72875 +0.72999996 +0.79249996 +0.91249996 +1.04625 +1.155 +1.21 +1.25 +1.30625 +1.405 +1.5450001 +1.6775 +1.7187499 +1.6225 +1.39125 +1.07125 +0.74 +0.475 +0.31 +0.26875 +0.27375 +0.25625 +0.21125 +0.155 +0.105 +0.07375 +0.07625 +0.14500001 +0.22500001 +0.24 +0.15125 +0.03875 +0.0 +0.0025 +0.01875 +0.08125 +0.22375 +0.31125 +0.30874997 +0.21875 +0.097500004 +0.03875 +0.07375 +0.22250001 +0.40749997 +0.56625 +0.66625 +0.72375 +0.79125 +0.85875 +0.95250005 +1.025 +1.03 +0.93 +0.74 +0.515 +0.33625 +0.25875002 +0.30499998 +0.43125 +0.5575 +0.60124993 +0.53125 +0.37875 +0.2325 +0.15124999 +0.21874999 +0.39999998 +0.61 +0.76000005 +0.80375 +0.8062501 +0.78000003 +0.78749996 +0.87125 +1.0225 +1.1975 +1.3100001 +1.3462499 +1.3325 +1.33 +1.375 +1.46625 +1.5549998 +1.5699999 +1.4637501 +1.2337499 +0.91749996 +0.59625 +0.34125 +0.24375 +0.25625 +0.27375 +0.25625 +0.21125 +0.155 +0.105 +0.07375 +0.07625 +0.14500001 +0.22500001 +0.24 +0.15125 +0.03875 +0.0 +0.0025 +0.01875 +0.08125 +0.22375 +0.31125 +0.30874997 +0.21875 +0.097500004 +0.03875 +0.07375 +0.22250001 +0.40749997 +0.56625 +0.66625 +0.72375 +0.79125 +0.85875 +0.95250005 +1.025 +1.03 +0.93 +0.74 +0.515 +0.33625 +0.25875002 +0.30499998 +0.43125 +0.5575 +0.60124993 +0.53125 +0.37875 +0.2325 +0.15124999 +0.21874999 +0.39999998 +0.61 +0.76000005 +0.80375 +0.8062501 +0.78000003 +0.78749996 +0.87125 +1.0225 +1.1975 +1.3100001 +1.3462499 +1.3325 +1.33 +1.375 +1.46625 +1.5549998 +1.5699999 +1.4637501 +1.2337499 +0.91749996 +0.59625 +0.34125 +0.24375 +0.25625 +0.3025 +0.285 +0.24 +0.185 +0.1325 +0.112500004 +0.1625 +0.28125 +0.41125 +0.465 +0.39499998 +0.23624998 +0.1075 +0.06875 +0.10875001 +0.23375 +0.40875 +0.5275 +0.515 +0.40125 +0.27 +0.1975 +0.25 +0.39749998 +0.57875 +0.72749996 +0.81875 +0.865 +0.9074999 +0.9775 +1.0725 +1.1525 +1.1712499 +1.0862501 +0.9075 +0.68125 +0.48749998 +0.3875 +0.41125003 +0.52374995 +0.64625 +0.69875 +0.6375 +0.4875 +0.32874998 +0.2525 +0.31125 +0.48375 +0.6925 +0.84374994 +0.89250004 +0.85375 +0.8075 +0.81374997 +0.9275 +1.11875 +1.3125 +1.4412501 +1.4737501 +1.43625 +1.3875 +1.37375 +1.40875 +1.4575 +1.4612501 +1.3662499 +1.1575 +0.86625004 +0.55875 +0.32625 +0.25875 +0.285 +0.3025 +0.285 +0.24 +0.185 +0.1325 +0.112500004 +0.1625 +0.28125 +0.41125 +0.465 +0.39499998 +0.23624998 +0.1075 +0.06875 +0.10875001 +0.23375 +0.40875 +0.5275 +0.515 +0.40125 +0.27 +0.1975 +0.25 +0.39749998 +0.57875 +0.72749996 +0.81875 +0.865 +0.9074999 +0.9775 +1.0725 +1.1525 +1.1712499 +1.0862501 +0.9075 +0.68125 +0.48749998 +0.3875 +0.41125003 +0.52374995 +0.64625 +0.69875 +0.6375 +0.4875 +0.32874998 +0.2525 +0.31125 +0.48375 +0.6925 +0.84374994 +0.89250004 +0.85375 +0.8075 +0.81374997 +0.9275 +1.11875 +1.3125 +1.4412501 +1.4737501 +1.43625 +1.3875 +1.37375 +1.40875 +1.4575 +1.4612501 +1.3662499 +1.1575 +0.86625004 +0.55875 +0.32625 +0.25875 +0.285 +0.33 +0.32625 +0.30874997 +0.27249998 +0.23124999 +0.23875 +0.33375 +0.50375 +0.68125 +0.77875 +0.74375004 +0.59 +0.4075 +0.3025 +0.33749998 +0.49375 +0.68125004 +0.79375 +0.7775 +0.65375 +0.5025 +0.41375 +0.43874997 +0.565 +0.72749996 +0.865 +0.95000005 +0.99 +1.025 +1.085 +1.17 +1.2475 +1.2687501 +1.1987501 +1.0350001 +0.81625 +0.61375004 +0.48750004 +0.47625002 +0.56 +0.6725 +0.7375 +0.705 +0.58625 +0.445 +0.37125 +0.4225 +0.59000003 +0.80625 +0.97624993 +1.0425 +1.015 +0.95875 +0.95874995 +1.0575 +1.2425 +1.4437499 +1.5825001 +1.6175001 +1.56125 +1.46875 +1.4 +1.3812499 +1.39625 +1.3974999 +1.325 +1.15375 +0.895 +0.60625 +0.38 +0.29125 +0.3125 +0.33 +0.32625 +0.30874997 +0.27249998 +0.23124999 +0.23875 +0.33375 +0.50375 +0.68125 +0.77875 +0.74375004 +0.59 +0.4075 +0.3025 +0.33749998 +0.49375 +0.68125004 +0.79375 +0.7775 +0.65375 +0.5025 +0.41375 +0.43874997 +0.565 +0.72749996 +0.865 +0.95000005 +0.99 +1.025 +1.085 +1.17 +1.2475 +1.2687501 +1.1987501 +1.0350001 +0.81625 +0.61375004 +0.48750004 +0.47625002 +0.56 +0.6725 +0.7375 +0.705 +0.58625 +0.445 +0.37125 +0.4225 +0.59000003 +0.80625 +0.97624993 +1.0425 +1.015 +0.95875 +0.95874995 +1.0575 +1.2425 +1.4437499 +1.5825001 +1.6175001 +1.56125 +1.46875 +1.4 +1.3812499 +1.39625 +1.3974999 +1.325 +1.15375 +0.895 +0.60625 +0.38 +0.29125 +0.3125 +0.35625002 +0.40875 +0.45874998 +0.46 +0.435 +0.45 +0.55375004 +0.74125 +0.9499999 +1.0825 +1.0775 +0.94125 +0.75749993 +0.63 +0.6325 +0.75125 +0.90875006 +1.0 +0.96874994 +0.82874995 +0.65749997 +0.54125 +0.53375 +0.6225 +0.75374997 +0.8725 +0.94500005 +0.97749996 +1.0037501 +1.0500001 +1.12 +1.185 +1.2075 +1.155 +1.02125 +0.82625 +0.63125 +0.49 +0.4475 +0.50124997 +0.6075 +0.69374996 +0.71000004 +0.6425 +0.545 +0.49875 +0.56374997 +0.75 +0.9975 +1.2187499 +1.3387499 +1.3462499 +1.2974999 +1.27625 +1.33875 +1.4862499 +1.665 +1.79 +1.81375 +1.73125 +1.5912501 +1.4587499 +1.38125 +1.36125 +1.35625 +1.3125 +1.1775 +0.95500004 +0.68500006 +0.45625 +0.33375 +0.32874998 +0.35625002 +0.40875 +0.45874998 +0.46 +0.435 +0.45 +0.55375004 +0.74125 +0.9499999 +1.0825 +1.0775 +0.94125 +0.75749993 +0.63 +0.6325 +0.75125 +0.90875006 +1.0 +0.96874994 +0.82874995 +0.65749997 +0.54125 +0.53375 +0.6225 +0.75374997 +0.8725 +0.94500005 +0.97749996 +1.0037501 +1.0500001 +1.12 +1.185 +1.2075 +1.155 +1.02125 +0.82625 +0.63125 +0.49 +0.4475 +0.50124997 +0.6075 +0.69374996 +0.71000004 +0.6425 +0.545 +0.49875 +0.56374997 +0.75 +0.9975 +1.2187499 +1.3387499 +1.3462499 +1.2974999 +1.27625 +1.33875 +1.4862499 +1.665 +1.79 +1.81375 +1.73125 +1.5912501 +1.4587499 +1.38125 +1.36125 +1.35625 +1.3125 +1.1775 +0.95500004 +0.68500006 +0.45625 +0.33375 +0.32874998 +0.43750003 +0.55375 +0.63874996 +0.65875 +0.6387501 +0.645 +0.73875 +0.92249995 +1.1375 +1.28875 +1.3 +1.175 +0.9875 +0.835 +0.80125 +0.88125 +1.0 +1.0625 +1.01125 +0.85625 +0.66625 +0.525 +0.48250002 +0.5325 +0.62375 +0.71125007 +0.765 +0.80749995 +0.83374995 +0.84875 +0.87749994 +0.93 +0.95875 +0.93625003 +0.84749997 +0.7037501 +0.54 +0.40749997 +0.34749997 +0.3825 +0.48874998 +0.60625 +0.68125004 +0.70875 +0.68874997 +0.67625 +0.76000005 +0.99125004 +1.305 +1.6125 +1.8212501 +1.8975 +1.8699999 +1.825 +1.83 +1.90875 +2.02875 +2.11125 +2.09375 +1.96375 +1.7612501 +1.5512501 +1.40625 +1.34375 +1.3275 +1.30125 +1.2025 +1.00875 +0.75750005 +0.52375 +0.38750002 +0.36749998 +0.43750003 +0.55375 +0.63874996 +0.65875 +0.6387501 +0.645 +0.73875 +0.92249995 +1.1375 +1.28875 +1.3 +1.175 +0.9875 +0.835 +0.80125 +0.88125 +1.0 +1.0625 +1.01125 +0.85625 +0.66625 +0.525 +0.48250002 +0.5325 +0.62375 +0.71125007 +0.765 +0.80749995 +0.83374995 +0.84875 +0.87749994 +0.93 +0.95875 +0.93625003 +0.84749997 +0.7037501 +0.54 +0.40749997 +0.34749997 +0.3825 +0.48874998 +0.60625 +0.68125004 +0.70875 +0.68874997 +0.67625 +0.76000005 +0.99125004 +1.305 +1.6125 +1.8212501 +1.8975 +1.8699999 +1.825 +1.83 +1.90875 +2.02875 +2.11125 +2.09375 +1.96375 +1.7612501 +1.5512501 +1.40625 +1.34375 +1.3275 +1.30125 +1.2025 +1.00875 +0.75750005 +0.52375 +0.38750002 +0.36749998 +0.55875003 +0.70625 +0.81750005 +0.8425001 +0.8125 +0.79375 +0.8575 +1.0175 +1.21875 +1.3649999 +1.3800001 +1.255 +1.05625 +0.8837501 +0.81374997 +0.85375005 +0.93625 +0.97125 +0.905 +0.75374997 +0.58625 +0.42 +0.32 +0.32375 +0.37625 +0.44125 +0.5125 +0.55375004 +0.565 +0.565 +0.57 +0.58625 +0.6175 +0.63875 +0.615 +0.54499996 +0.4425 +0.33375 +0.27375 +0.3 +0.41 +0.575 +0.74250007 +0.85625 +0.90875006 +0.95624995 +1.07875 +1.33 +1.7199999 +2.135 +2.4687498 +2.6637502 +2.68375 +2.58375 +2.5037498 +2.4912498 +2.52125 +2.5275 +2.445 +2.2487502 +1.9675002 +1.6775 +1.4625 +1.3512499 +1.32 +1.3025 +1.2287501 +1.05875 +0.8237501 +0.595 +0.45625 +0.45125 +0.55875003 +0.70625 +0.81750005 +0.8425001 +0.8125 +0.79375 +0.8575 +1.0175 +1.21875 +1.3649999 +1.3800001 +1.255 +1.05625 +0.8837501 +0.81374997 +0.85375005 +0.93625 +0.97125 +0.905 +0.75374997 +0.58625 +0.42 +0.32 +0.32375 +0.37625 +0.44125 +0.5125 +0.55375004 +0.565 +0.565 +0.57 +0.58625 +0.6175 +0.63875 +0.615 +0.54499996 +0.4425 +0.33375 +0.27375 +0.3 +0.41 +0.575 +0.74250007 +0.85625 +0.90875006 +0.95624995 +1.07875 +1.33 +1.7199999 +2.135 +2.4687498 +2.6637502 +2.68375 +2.58375 +2.5037498 +2.4912498 +2.52125 +2.5275 +2.445 +2.2487502 +1.9675002 +1.6775 +1.4625 +1.3512499 +1.32 +1.3025 +1.2287501 +1.05875 +0.8237501 +0.595 +0.45625 +0.45125 +0.6825 +0.85 +0.96874994 +0.99125004 +0.94000006 +0.89000005 +0.91749996 +1.0450001 +1.2225 +1.35625 +1.365 +1.2362502 +1.025 +0.83000004 +0.73125005 +0.7325 +0.78125006 +0.79875 +0.72375 +0.60249996 +0.44374996 +0.2725 +0.1625 +0.12625 +0.14625001 +0.2 +0.2575 +0.29 +0.29625 +0.2925 +0.295 +0.32 +0.37625 +0.44875 +0.51000005 +0.52875 +0.4925 +0.42 +0.36 +0.37124997 +0.47875 +0.66875005 +0.88249993 +1.06 +1.175 +1.27375 +1.44 +1.74125 +2.1875 +2.70625 +3.1712499 +3.4625 +3.5275 +3.4037502 +3.2275 +3.11875 +3.0450003 +2.9625 +2.805 +2.53625 +2.18375 +1.8262501 +1.55 +1.39875 +1.3575 +1.3487499 +1.2925 +1.1400001 +0.91375005 +0.6875 +0.5525 +0.55625 +0.6825 +0.85 +0.96874994 +0.99125004 +0.94000006 +0.89000005 +0.91749996 +1.0450001 +1.2225 +1.35625 +1.365 +1.2362502 +1.025 +0.83000004 +0.73125005 +0.7325 +0.78125006 +0.79875 +0.72375 +0.60249996 +0.44374996 +0.2725 +0.1625 +0.12625 +0.14625001 +0.2 +0.2575 +0.29 +0.29625 +0.2925 +0.295 +0.32 +0.37625 +0.44875 +0.51000005 +0.52875 +0.4925 +0.42 +0.36 +0.37124997 +0.47875 +0.66875005 +0.88249993 +1.06 +1.175 +1.27375 +1.44 +1.74125 +2.1875 +2.70625 +3.1712499 +3.4625 +3.5275 +3.4037502 +3.2275 +3.11875 +3.0450003 +2.9625 +2.805 +2.53625 +2.18375 +1.8262501 +1.55 +1.39875 +1.3575 +1.3487499 +1.2925 +1.1400001 +0.91375005 +0.6875 +0.5525 +0.55625 +0.8075 +0.9725 +1.08875 +1.1 +1.03125 +0.95875 +0.95875 +1.0625 +1.22625 +1.355 +1.3625 +1.2287501 +1.005 +0.78874993 +0.6575 +0.63 +0.65500003 +0.65874994 +0.58375 +0.46249998 +0.31625 +0.14750001 +0.04875 +0.022499999 +0.03125 +0.0525 +0.10625 +0.1475 +0.16499999 +0.16875002 +0.17750001 +0.2175 +0.305 +0.425 +0.55125 +0.64 +0.65875 +0.615 +0.55625004 +0.54999995 +0.645 +0.83375 +1.06875 +1.28 +1.4312499 +1.5525 +1.73125 +2.0525 +2.5425 +3.13125 +3.68 +4.0512505 +4.16125 +4.02625 +3.80375 +3.6125 +3.45125 +3.29375 +3.0750003 +2.7575 +2.36125 +1.96375 +1.65625 +1.48875 +1.44875 +1.4575 +1.42125 +1.28625 +1.06375 +0.83125 +0.68875 +0.68500006 +0.8075 +0.9725 +1.08875 +1.1 +1.03125 +0.95875 +0.95875 +1.0625 +1.22625 +1.355 +1.3625 +1.2287501 +1.005 +0.78874993 +0.6575 +0.63 +0.65500003 +0.65874994 +0.58375 +0.46249998 +0.31625 +0.14750001 +0.04875 +0.022499999 +0.03125 +0.0525 +0.10625 +0.1475 +0.16499999 +0.16875002 +0.17750001 +0.2175 +0.305 +0.425 +0.55125 +0.64 +0.65875 +0.615 +0.55625004 +0.54999995 +0.645 +0.83375 +1.06875 +1.28 +1.4312499 +1.5525 +1.73125 +2.0525 +2.5425 +3.13125 +3.68 +4.0512505 +4.16125 +4.02625 +3.80375 +3.6125 +3.45125 +3.29375 +3.0750003 +2.7575 +2.36125 +1.96375 +1.65625 +1.48875 +1.44875 +1.4575 +1.42125 +1.28625 +1.06375 +0.83125 +0.68875 +0.68500006 +0.94 +1.0837501 +1.18375 +1.1862501 +1.11 +1.0337499 +1.0312501 +1.1387501 +1.3125 +1.4525001 +1.4687499 +1.3362501 +1.1012499 +0.86 +0.6975 +0.63875 +0.6425 +0.63624996 +0.5637499 +0.42000002 +0.28 +0.11750001 +0.043750003 +0.0625 +0.081250004 +0.10625 +0.13875 +0.2025 +0.23750001 +0.255 +0.31 +0.385 +0.48625 +0.61375 +0.74375 +0.85125 +0.8925 +0.855 +0.79625005 +0.79499996 +0.88250005 +1.05375 +1.26125 +1.44375 +1.5925 +1.7025 +1.85625 +2.1875 +2.69 +3.29125 +3.8474998 +4.24625 +4.3912497 +4.2650003 +4.0487504 +3.8125 +3.6050003 +3.41 +3.16875 +2.84125 +2.44125 +2.0449998 +1.7425001 +1.5887499 +1.575 +1.615 +1.6100001 +1.4949999 +1.2787501 +1.04125 +0.875 +0.845 +0.94 +1.0837501 +1.18375 +1.1862501 +1.11 +1.0337499 +1.0312501 +1.1387501 +1.3125 +1.4525001 +1.4687499 +1.3362501 +1.1012499 +0.86 +0.6975 +0.63875 +0.6425 +0.63624996 +0.5637499 +0.42000002 +0.28 +0.11750001 +0.043750003 +0.0625 +0.081250004 +0.10625 +0.13875 +0.2025 +0.23750001 +0.255 +0.31 +0.385 +0.48625 +0.61375 +0.74375 +0.85125 +0.8925 +0.855 +0.79625005 +0.79499996 +0.88250005 +1.05375 +1.26125 +1.44375 +1.5925 +1.7025 +1.85625 +2.1875 +2.69 +3.29125 +3.8474998 +4.24625 +4.3912497 +4.2650003 +4.0487504 +3.8125 +3.6050003 +3.41 +3.16875 +2.84125 +2.44125 +2.0449998 +1.7425001 +1.5887499 +1.575 +1.615 +1.6100001 +1.4949999 +1.2787501 +1.04125 +0.875 +0.845 +1.08625 +1.19875 +1.28125 +1.28125 +1.2175 +1.1625 +1.19 +1.32875 +1.53375 +1.7012501 +1.7375 +1.60625 +1.36125 +1.09125 +0.8925 +0.7975 +0.77500004 +0.75624996 +0.68625003 +0.54875 +0.3825 +0.245 +0.18249999 +0.19749999 +0.25625 +0.33124998 +0.40750003 +0.47125 +0.52125 +0.56874996 +0.62375003 +0.6925 +0.78499997 +0.9 +1.0125 +1.0875 +1.10375 +1.0575 +0.99125 +0.96625 +1.0275 +1.1775 +1.365 +1.5262501 +1.625 +1.69 +1.8125 +2.08 +2.5262501 +3.085 +3.6275 +4.0125 +4.16 +4.0812497 +3.8725002 +3.6375 +3.4325004 +3.25125 +3.0362499 +2.74125 +2.3825 +2.025 +1.7625 +1.6512501 +1.6787499 +1.765 +1.8025 +1.72 +1.5225 +1.28 +1.0925 +1.0274999 +1.08625 +1.19875 +1.28125 +1.28125 +1.2175 +1.1625 +1.19 +1.32875 +1.53375 +1.7012501 +1.7375 +1.60625 +1.36125 +1.09125 +0.8925 +0.7975 +0.77500004 +0.75624996 +0.68625003 +0.54875 +0.3825 +0.245 +0.18249999 +0.19749999 +0.25625 +0.33124998 +0.40750003 +0.47125 +0.52125 +0.56874996 +0.62375003 +0.6925 +0.78499997 +0.9 +1.0125 +1.0875 +1.10375 +1.0575 +0.99125 +0.96625 +1.0275 +1.1775 +1.365 +1.5262501 +1.625 +1.69 +1.8125 +2.08 +2.5262501 +3.085 +3.6275 +4.0125 +4.16 +4.0812497 +3.8725002 +3.6375 +3.4325004 +3.25125 +3.0362499 +2.74125 +2.3825 +2.025 +1.7625 +1.6512501 +1.6787499 +1.765 +1.8025 +1.72 +1.5225 +1.28 +1.0925 +1.0274999 +1.24125 +1.3299999 +1.4074999 +1.4237499 +1.395 +1.3824999 +1.46125 +1.6525 +1.8987501 +2.10375 +2.16125 +2.035 +1.77 +1.4625 +1.21375 +1.07375 +1.0162499 +0.9775001 +0.89750004 +0.76125 +0.59875 +0.46875 +0.41375002 +0.44375 +0.5325 +0.635 +0.7275 +0.79375 +0.8375 +0.87125003 +0.9075 +0.95625 +1.0175 +1.09 +1.1537501 +1.1837499 +1.15625 +1.0775 +0.9875 +0.9425 +0.98375 +1.11 +1.2675 +1.395 +1.4512501 +1.4662501 +1.52125 +1.70875 +2.0675 +2.5512502 +3.03875 +3.39875 +3.5462499 +3.4899998 +3.315 +3.1225 +2.9675 +2.8437502 +2.6925 +2.47125 +2.1825 +1.8887498 +1.6800001 +1.6187501 +1.69375 +1.8312501 +1.92125 +1.8875 +1.7275 +1.4949999 +1.30125 +1.2125001 +1.24125 +1.3299999 +1.4074999 +1.4237499 +1.395 +1.3824999 +1.46125 +1.6525 +1.8987501 +2.10375 +2.16125 +2.035 +1.77 +1.4625 +1.21375 +1.07375 +1.0162499 +0.9775001 +0.89750004 +0.76125 +0.59875 +0.46875 +0.41375002 +0.44375 +0.5325 +0.635 +0.7275 +0.79375 +0.8375 +0.87125003 +0.9075 +0.95625 +1.0175 +1.09 +1.1537501 +1.1837499 +1.15625 +1.0775 +0.9875 +0.9425 +0.98375 +1.11 +1.2675 +1.395 +1.4512501 +1.4662501 +1.52125 +1.70875 +2.0675 +2.5512502 +3.03875 +3.39875 +3.5462499 +3.4899998 +3.315 +3.1225 +2.9675 +2.8437502 +2.6925 +2.47125 +2.1825 +1.8887498 +1.6800001 +1.6187501 +1.69375 +1.8312501 +1.92125 +1.8875 +1.7275 +1.4949999 +1.30125 +1.2125001 +1.3987501 +1.49 +1.5825 +1.6362501 +1.6587499 +1.71 +1.8475 +2.08875 +2.3799999 +2.61375 +2.68625 +2.5562499 +2.2649999 +1.91125 +1.6050001 +1.40375 +1.2975 +1.2275 +1.12625 +0.97875005 +0.81125 +0.67999995 +0.62874997 +0.67 +0.76875 +0.87624997 +0.96000004 +1.0025 +1.0125 +1.01 +1.00875 +1.02 +1.0437499 +1.06625 +1.0749999 +1.04625 +0.975 +0.87 +0.77125 +0.72375 +0.755 +0.86375 +0.9975 +1.09 +1.10875 +1.0762501 +1.0699999 +1.17875 +1.44625 +1.83625 +2.24875 +2.5599997 +2.695 +2.6625 +2.53625 +2.4075 +2.3274999 +2.285 +2.22125 +2.08375 +1.8725 +1.64375 +1.4875 +1.4687499 +1.5825 +1.7625 +1.90625 +1.9312499 +1.82125 +1.63375 +1.4599999 +1.3762499 +1.3987501 +1.49 +1.5825 +1.6362501 +1.6587499 +1.71 +1.8475 +2.08875 +2.3799999 +2.61375 +2.68625 +2.5562499 +2.2649999 +1.91125 +1.6050001 +1.40375 +1.2975 +1.2275 +1.12625 +0.97875005 +0.81125 +0.67999995 +0.62874997 +0.67 +0.76875 +0.87624997 +0.96000004 +1.0025 +1.0125 +1.01 +1.00875 +1.02 +1.0437499 +1.06625 +1.0749999 +1.04625 +0.975 +0.87 +0.77125 +0.72375 +0.755 +0.86375 +0.9975 +1.09 +1.10875 +1.0762501 +1.0699999 +1.17875 +1.44625 +1.83625 +2.24875 +2.5599997 +2.695 +2.6625 +2.53625 +2.4075 +2.3274999 +2.285 +2.22125 +2.08375 +1.8725 +1.64375 +1.4875 +1.4687499 +1.5825 +1.7625 +1.90625 +1.9312499 +1.82125 +1.63375 +1.4599999 +1.3762499 +1.53625 +1.66 +1.7987499 +1.91 +1.9987501 +2.11375 +2.30375 +2.5849998 +2.9037504 +3.1525002 +3.2325003 +3.09625 +2.78 +2.38 +2.00875 +1.7425001 +1.57375 +1.45 +1.3162501 +1.145 +0.99625 +0.83875 +0.7662501 +0.80249995 +0.8925 +0.9837499 +1.0325 +1.0500001 +1.00125 +0.9225 +0.88 +0.85625005 +0.84749997 +0.8325 +0.8 +0.74375 +0.65874994 +0.54125005 +0.4425 +0.4125 +0.45624998 +0.55875 +0.67 +0.73625004 +0.75 +0.69 +0.6175 +0.66499996 +0.84875005 +1.14875 +1.4762499 +1.74875 +1.8775 +1.8249999 +1.7425 +1.675 +1.6687499 +1.7037499 +1.7187499 +1.66375 +1.52125 +1.345 +1.22125 +1.21875 +1.35 +1.5537499 +1.7375 +1.82125 +1.78 +1.6575 +1.535 +1.4862499 +1.53625 +1.66 +1.7987499 +1.91 +1.9987501 +2.11375 +2.30375 +2.5849998 +2.9037504 +3.1525002 +3.2325003 +3.09625 +2.78 +2.38 +2.00875 +1.7425001 +1.57375 +1.45 +1.3162501 +1.145 +0.99625 +0.83875 +0.7662501 +0.80249995 +0.8925 +0.9837499 +1.0325 +1.0500001 +1.00125 +0.9225 +0.88 +0.85625005 +0.84749997 +0.8325 +0.8 +0.74375 +0.65874994 +0.54125005 +0.4425 +0.4125 +0.45624998 +0.55875 +0.67 +0.73625004 +0.75 +0.69 +0.6175 +0.66499996 +0.84875005 +1.14875 +1.4762499 +1.74875 +1.8775 +1.8249999 +1.7425 +1.675 +1.6687499 +1.7037499 +1.7187499 +1.66375 +1.52125 +1.345 +1.22125 +1.21875 +1.35 +1.5537499 +1.7375 +1.82125 +1.78 +1.6575 +1.535 +1.4862499 +1.625 +1.8037499 +2.00625 +2.1875 +2.34625 +2.5237498 +2.7575 +3.0625 +3.3887503 +3.64 +3.72125 +3.5825 +3.24875 +2.81625 +2.395 +2.06125 +1.825 +1.63875 +1.4549999 +1.2824999 +1.115 +0.94875 +0.845 +0.83875 +0.9075 +0.98625004 +1.025 +0.985 +0.87874997 +0.74875003 +0.63625 +0.565 +0.535 +0.515 +0.48874998 +0.43625 +0.355 +0.26375 +0.19375 +0.17499998 +0.22875 +0.33624998 +0.46249998 +0.5475 +0.55 +0.475 +0.37749997 +0.345 +0.44124997 +0.65999997 +0.93250006 +1.1587499 +1.2537501 +1.19625 +1.1062499 +1.08 +1.12 +1.2062501 +1.2787501 +1.27625 +1.1825 +1.03875 +0.92875 +0.92125 +1.04125 +1.24375 +1.4475 +1.5799999 +1.6062499 +1.5587499 +1.50625 +1.51875 +1.625 +1.8037499 +2.00625 +2.1875 +2.34625 +2.5237498 +2.7575 +3.0625 +3.3887503 +3.64 +3.72125 +3.5825 +3.24875 +2.81625 +2.395 +2.06125 +1.825 +1.63875 +1.4549999 +1.2824999 +1.115 +0.94875 +0.845 +0.83875 +0.9075 +0.98625004 +1.025 +0.985 +0.87874997 +0.74875003 +0.63625 +0.565 +0.535 +0.515 +0.48874998 +0.43625 +0.355 +0.26375 +0.19375 +0.17499998 +0.22875 +0.33624998 +0.46249998 +0.5475 +0.55 +0.475 +0.37749997 +0.345 +0.44124997 +0.65999997 +0.93250006 +1.1587499 +1.2537501 +1.19625 +1.1062499 +1.08 +1.12 +1.2062501 +1.2787501 +1.27625 +1.1825 +1.03875 +0.92875 +0.92125 +1.04125 +1.24375 +1.4475 +1.5799999 +1.6062499 +1.5587499 +1.50625 +1.51875 +1.62875 +1.87 +2.1374998 +2.3925 +2.61875 +2.84375 +3.105 +3.415 +3.7350001 +3.9799998 +4.06625 +3.94 +3.61625 +3.1800003 +2.7325 +2.34875 +2.0475001 +1.8025 +1.565 +1.3612499 +1.1675 +0.98625004 +0.8675 +0.84125 +0.88249993 +0.93000007 +0.9250001 +0.84125 +0.69875 +0.53999996 +0.40999997 +0.33125 +0.29625 +0.27625 +0.255 +0.21499999 +0.16250001 +0.115 +0.0925 +0.1125 +0.18875001 +0.30625 +0.425 +0.50000006 +0.5 +0.425 +0.32 +0.25875 +0.3 +0.44625002 +0.64625 +0.81250006 +0.86999995 +0.80625 +0.71125 +0.69374996 +0.73999995 +0.84125 +0.93625003 +0.95750004 +0.88874996 +0.76125 +0.64625 +0.6175 +0.7075 +0.88874996 +1.0925 +1.2525 +1.335 +1.3575 +1.37875 +1.4587499 +1.62875 +1.87 +2.1374998 +2.3925 +2.61875 +2.84375 +3.105 +3.415 +3.7350001 +3.9799998 +4.06625 +3.94 +3.61625 +3.1800003 +2.7325 +2.34875 +2.0475001 +1.8025 +1.565 +1.3612499 +1.1675 +0.98625004 +0.8675 +0.84125 +0.88249993 +0.93000007 +0.9250001 +0.84125 +0.69875 +0.53999996 +0.40999997 +0.33125 +0.29625 +0.27625 +0.255 +0.21499999 +0.16250001 +0.115 +0.0925 +0.1125 +0.18875001 +0.30625 +0.425 +0.50000006 +0.5 +0.425 +0.32 +0.25875 +0.3 +0.44625002 +0.64625 +0.81250006 +0.86999995 +0.80625 +0.71125 +0.69374996 +0.73999995 +0.84125 +0.93625003 +0.95750004 +0.88874996 +0.76125 +0.64625 +0.6175 +0.7075 +0.88874996 +1.0925 +1.2525 +1.335 +1.3575 +1.37875 +1.4587499 +1.52125 +1.81625 +2.14125 +2.4499998 +2.72875 +2.9875 +3.2587497 +3.55625 +3.85875 +4.0975 +4.195 +4.10125 +3.825 +3.4262502 +2.99 +2.5887501 +2.2475 +1.9512501 +1.67 +1.4075 +1.1875 +0.9875 +0.8525 +0.82250005 +0.83750004 +0.8425 +0.81375 +0.71625 +0.5675 +0.40875 +0.285 +0.2125 +0.19125001 +0.18875 +0.17875 +0.15625 +0.13499999 +0.1225 +0.1375 +0.18374999 +0.25875 +0.36249998 +0.47 +0.54125 +0.54375005 +0.4775 +0.375 +0.29749998 +0.31374997 +0.40374997 +0.52875 +0.65000004 +0.68375003 +0.61125 +0.53 +0.4925 +0.51624995 +0.59125 +0.6725 +0.69875 +0.64125 +0.52 +0.39625 +0.35375 +0.4075 +0.5375 +0.72499996 +0.895 +1.01125 +1.08375 +1.16375 +1.29875 +1.52125 +1.81625 +2.14125 +2.4499998 +2.72875 +2.9875 +3.2587497 +3.55625 +3.85875 +4.0975 +4.195 +4.10125 +3.825 +3.4262502 +2.99 +2.5887501 +2.2475 +1.9512501 +1.67 +1.4075 +1.1875 +0.9875 +0.8525 +0.82250005 +0.83750004 +0.8425 +0.81375 +0.71625 +0.5675 +0.40875 +0.285 +0.2125 +0.19125001 +0.18875 +0.17875 +0.15625 +0.13499999 +0.1225 +0.1375 +0.18374999 +0.25875 +0.36249998 +0.47 +0.54125 +0.54375005 +0.4775 +0.375 +0.29749998 +0.31374997 +0.40374997 +0.52875 +0.65000004 +0.68375003 +0.61125 +0.53 +0.4925 +0.51624995 +0.59125 +0.6725 +0.69875 +0.64125 +0.52 +0.39625 +0.35375 +0.4075 +0.5375 +0.72499996 +0.895 +1.01125 +1.08375 +1.16375 +1.29875 +1.32125 +1.6424999 +1.9937501 +2.33375 +2.6374998 +2.9112499 +3.17625 +3.45 +3.7225 +3.9475 +4.06125 +4.02375 +3.82375 +3.5012503 +3.1237502 +2.74625 +2.39875 +2.0775 +1.7725 +1.4775 +1.21375 +1.0137501 +0.89625 +0.85625 +0.85125005 +0.83124995 +0.76375 +0.6675 +0.545 +0.4175 +0.32874998 +0.3075 +0.315 +0.325 +0.32625 +0.31875 +0.30875 +0.31 +0.32500002 +0.35750002 +0.405 +0.45999998 +0.515 +0.57 +0.58000004 +0.52625 +0.4425 +0.39249998 +0.38500002 +0.43375 +0.51500005 +0.5825 +0.59999996 +0.55375004 +0.47125 +0.4 +0.37874997 +0.41125 +0.45624995 +0.46625 +0.41500002 +0.3 +0.21999998 +0.20000002 +0.20875001 +0.26999998 +0.40500003 +0.5475 +0.675 +0.77750003 +0.89375 +1.06625 +1.32125 +1.6424999 +1.9937501 +2.33375 +2.6374998 +2.9112499 +3.17625 +3.45 +3.7225 +3.9475 +4.06125 +4.02375 +3.82375 +3.5012503 +3.1237502 +2.74625 +2.39875 +2.0775 +1.7725 +1.4775 +1.21375 +1.0137501 +0.89625 +0.85625 +0.85125005 +0.83124995 +0.76375 +0.6675 +0.545 +0.4175 +0.32874998 +0.3075 +0.315 +0.325 +0.32625 +0.31875 +0.30875 +0.31 +0.32500002 +0.35750002 +0.405 +0.45999998 +0.515 +0.57 +0.58000004 +0.52625 +0.4425 +0.39249998 +0.38500002 +0.43375 +0.51500005 +0.5825 +0.59999996 +0.55375004 +0.47125 +0.4 +0.37874997 +0.41125 +0.45624995 +0.46625 +0.41500002 +0.3 +0.21999998 +0.20000002 +0.20875001 +0.26999998 +0.40500003 +0.5475 +0.675 +0.77750003 +0.89375 +1.06625 +1.07625 +1.39875 +1.7475001 +2.08375 +2.3812501 +2.63875 +2.8787498 +3.115 +3.34875 +3.5524998 +3.6837502 +3.70625 +3.6000004 +3.3862503 +3.1 +2.7875001 +2.47 +2.15375 +1.84625 +1.55 +1.28875 +1.08875 +0.96500003 +0.91 +0.88874996 +0.865 +0.81249994 +0.7337499 +0.64874995 +0.5825 +0.555 +0.55875003 +0.5725 +0.57875 +0.5725 +0.55375004 +0.53375 +0.515 +0.50374997 +0.495 +0.49125 +0.49874997 +0.52124995 +0.5425 +0.54875 +0.52250004 +0.46749997 +0.40875003 +0.37749997 +0.39749998 +0.4575 +0.525 +0.555 +0.52125 +0.435 +0.33749998 +0.27875 +0.26500002 +0.26749998 +0.255 +0.20374998 +0.15125 +0.13375 +0.15 +0.16625 +0.16625 +0.19 +0.27375 +0.38500002 +0.4925 +0.6225 +0.8125 +1.07625 +1.39875 +1.7475001 +2.08375 +2.3812501 +2.63875 +2.8787498 +3.115 +3.34875 +3.5524998 +3.6837502 +3.70625 +3.6000004 +3.3862503 +3.1 +2.7875001 +2.47 +2.15375 +1.84625 +1.55 +1.28875 +1.08875 +0.96500003 +0.91 +0.88874996 +0.865 +0.81249994 +0.7337499 +0.64874995 +0.5825 +0.555 +0.55875003 +0.5725 +0.57875 +0.5725 +0.55375004 +0.53375 +0.515 +0.50374997 +0.495 +0.49125 +0.49874997 +0.52124995 +0.5425 +0.54875 +0.52250004 +0.46749997 +0.40875003 +0.37749997 +0.39749998 +0.4575 +0.525 +0.555 +0.52125 +0.435 +0.33749998 +0.27875 +0.26500002 +0.26749998 +0.255 +0.20374998 +0.15125 +0.13375 +0.15 +0.16625 +0.16625 +0.19 +0.27375 +0.38500002 +0.4925 +0.6225 +0.8125 +0.87250006 +1.1775 +1.4937501 +1.7925001 +2.04875 +2.26625 +2.4575002 +2.64 +2.8225002 +2.9962502 +3.1350002 +3.21 +3.1975 +3.09875 +2.9275 +2.70125 +2.44 +2.15875 +1.87125 +1.595 +1.3475001 +1.155 +1.02625 +0.955 +0.91875 +0.8899999 +0.86125 +0.8275 +0.8025 +0.79875004 +0.815 +0.84125 +0.85125 +0.83625 +0.795 +0.74375 +0.6925 +0.64125 +0.58624995 +0.52875006 +0.47375003 +0.4325 +0.41875 +0.4275 +0.435 +0.4175 +0.36749998 +0.305 +0.27375 +0.27874997 +0.32125 +0.39625 +0.45375 +0.4475 +0.37375 +0.27125 +0.19874999 +0.15875 +0.12875 +0.1 +0.07625 +0.0725 +0.095 +0.12125 +0.13625 +0.13625 +0.13125 +0.14375001 +0.19375001 +0.29125 +0.42249998 +0.6125 +0.87250006 +1.1775 +1.4937501 +1.7925001 +2.04875 +2.26625 +2.4575002 +2.64 +2.8225002 +2.9962502 +3.1350002 +3.21 +3.1975 +3.09875 +2.9275 +2.70125 +2.44 +2.15875 +1.87125 +1.595 +1.3475001 +1.155 +1.02625 +0.955 +0.91875 +0.8899999 +0.86125 +0.8275 +0.8025 +0.79875004 +0.815 +0.84125 +0.85125 +0.83625 +0.795 +0.74375 +0.6925 +0.64125 +0.58624995 +0.52875006 +0.47375003 +0.4325 +0.41875 +0.4275 +0.435 +0.4175 +0.36749998 +0.305 +0.27375 +0.27874997 +0.32125 +0.39625 +0.45375 +0.4475 +0.37375 +0.27125 +0.19874999 +0.15875 +0.12875 +0.1 +0.07625 +0.0725 +0.095 +0.12125 +0.13625 +0.13625 +0.13125 +0.14375001 +0.19375001 +0.29125 +0.42249998 +0.6125 +0.795 +1.07125 +1.3387501 +1.5712501 +1.76 +1.91 +2.0325 +2.1512501 +2.27625 +2.41 +2.54 +2.65 +2.71875 +2.72375 +2.66 +2.52875 +2.3425 +2.11375 +1.86375 +1.62 +1.405 +1.21375 +1.0825 +0.9925 +0.93499994 +0.89875 +0.88125 +0.88250005 +0.91375 +0.96875 +1.02875 +1.07 +1.0712501 +1.02125 +0.93625 +0.84000003 +0.74625003 +0.66125 +0.5775 +0.48375 +0.39499998 +0.31875002 +0.28 +0.27125 +0.275 +0.26 +0.21875001 +0.18250002 +0.1575 +0.145 +0.17125002 +0.24875 +0.34125 +0.36125 +0.30875003 +0.21625 +0.13374999 +0.08625 +0.05625 +0.035 +0.0275 +0.03875 +0.065 +0.08875 +0.10125 +0.1 +0.09625 +0.1025 +0.13125 +0.21000001 +0.33749998 +0.53875 +0.795 +1.07125 +1.3387501 +1.5712501 +1.76 +1.91 +2.0325 +2.1512501 +2.27625 +2.41 +2.54 +2.65 +2.71875 +2.72375 +2.66 +2.52875 +2.3425 +2.11375 +1.86375 +1.62 +1.405 +1.21375 +1.0825 +0.9925 +0.93499994 +0.89875 +0.88125 +0.88250005 +0.91375 +0.96875 +1.02875 +1.07 +1.0712501 +1.02125 +0.93625 +0.84000003 +0.74625003 +0.66125 +0.5775 +0.48375 +0.39499998 +0.31875002 +0.28 +0.27125 +0.275 +0.26 +0.21875001 +0.18250002 +0.1575 +0.145 +0.17125002 +0.24875 +0.34125 +0.36125 +0.30875003 +0.21625 +0.13374999 +0.08625 +0.05625 +0.035 +0.0275 +0.03875 +0.065 +0.08875 +0.10125 +0.1 +0.09625 +0.1025 +0.13125 +0.21000001 +0.33749998 +0.53875 +0.88874996 +1.135 +1.3412501 +1.4937501 +1.5974998 +1.6625 +1.7125 +1.7625 +1.82875 +1.91875 +2.03125 +2.1575 +2.2775002 +2.3587499 +2.3849998 +2.33875 +2.22625 +2.0612502 +1.8887501 +1.71125 +1.525 +1.33875 +1.1637499 +1.0575 +0.97624993 +0.92375 +0.9025 +0.92499995 +1.0075 +1.0925 +1.17875 +1.23125 +1.21625 +1.1324999 +1.00125 +0.85875 +0.7312499 +0.62375003 +0.52875 +0.4325 +0.33875003 +0.25375003 +0.20124999 +0.18625 +0.19500001 +0.17 +0.14625001 +0.11375 +0.08625 +0.07 +0.08875 +0.21875 +0.34 +0.3825 +0.325 +0.21625 +0.1275 +0.06625 +0.035 +0.018749999 +0.01625 +0.025 +0.04 +0.0575 +0.06875 +0.0675 +0.065 +0.08125 +0.13 +0.22875 +0.40249997 +0.63625 +0.88874996 +1.135 +1.3412501 +1.4937501 +1.5974998 +1.6625 +1.7125 +1.7625 +1.82875 +1.91875 +2.03125 +2.1575 +2.2775002 +2.3587499 +2.3849998 +2.33875 +2.22625 +2.0612502 +1.8887501 +1.71125 +1.525 +1.33875 +1.1637499 +1.0575 +0.97624993 +0.92375 +0.9025 +0.92499995 +1.0075 +1.0925 +1.17875 +1.23125 +1.21625 +1.1324999 +1.00125 +0.85875 +0.7312499 +0.62375003 +0.52875 +0.4325 +0.33875003 +0.25375003 +0.20124999 +0.18625 +0.19500001 +0.17 +0.14625001 +0.11375 +0.08625 +0.07 +0.08875 +0.21875 +0.34 +0.3825 +0.325 +0.21625 +0.1275 +0.06625 +0.035 +0.018749999 +0.01625 +0.025 +0.04 +0.0575 +0.06875 +0.0675 +0.065 +0.08125 +0.13 +0.22875 +0.40249997 +0.63625 +1.13875 +1.3512499 +1.49375 +1.5637499 +1.5775 +1.5574999 +1.5324999 +1.5225 +1.54 +1.5975 +1.6925 +1.82875 +1.9825 +2.105 +2.175 +2.19 +2.14125 +2.06125 +1.95625 +1.82875 +1.68125 +1.5175 +1.3475 +1.1912501 +1.09 +1.02 +1.005 +1.0574999 +1.15 +1.2537498 +1.32625 +1.37 +1.34125 +1.22375 +1.055 +0.87250006 +0.71625 +0.59999996 +0.51125 +0.4375 +0.36375 +0.29375 +0.25625002 +0.26625 +0.27625 +0.26 +0.2075 +0.1625 +0.13499999 +0.125 +0.20500001 +0.33625 +0.45125002 +0.49375004 +0.44625 +0.33750004 +0.22125 +0.15375 +0.12375 +0.12625 +0.13624999 +0.13125 +0.122499995 +0.12499999 +0.125 +0.12375 +0.12875 +0.1625 +0.25375 +0.41125003 +0.63 +0.88374996 +1.13875 +1.3512499 +1.49375 +1.5637499 +1.5775 +1.5574999 +1.5324999 +1.5225 +1.54 +1.5975 +1.6925 +1.82875 +1.9825 +2.105 +2.175 +2.19 +2.14125 +2.06125 +1.95625 +1.82875 +1.68125 +1.5175 +1.3475 +1.1912501 +1.09 +1.02 +1.005 +1.0574999 +1.15 +1.2537498 +1.32625 +1.37 +1.34125 +1.22375 +1.055 +0.87250006 +0.71625 +0.59999996 +0.51125 +0.4375 +0.36375 +0.29375 +0.25625002 +0.26625 +0.27625 +0.26 +0.2075 +0.1625 +0.13499999 +0.125 +0.20500001 +0.33625 +0.45125002 +0.49375004 +0.44625 +0.33750004 +0.22125 +0.15375 +0.12375 +0.12625 +0.13624999 +0.13125 +0.122499995 +0.12499999 +0.125 +0.12375 +0.12875 +0.1625 +0.25375 +0.41125003 +0.63 +0.88374996 +1.45 +1.63375 +1.71875 +1.7125 +1.64375 +1.5475001 +1.4625001 +1.4075 +1.39625 +1.43625 +1.52 +1.66 +1.80875 +1.9375 +2.0300002 +2.07625 +2.085 +2.065 +2.02125 +1.9499999 +1.84625 +1.71375 +1.5625 +1.4150001 +1.2975 +1.22625 +1.2175 +1.2637498 +1.3499999 +1.44625 +1.5124999 +1.5362499 +1.49125 +1.3525001 +1.15375 +0.94124997 +0.76124996 +0.63374996 +0.555 +0.5 +0.45499998 +0.41000003 +0.39874998 +0.41875 +0.435 +0.4325 +0.40249997 +0.36125 +0.34375 +0.36875 +0.44750002 +0.5525 +0.635 +0.65625 +0.6075 +0.51125 +0.41625 +0.36 +0.35 +0.37 +0.39000002 +0.39375 +0.3775 +0.3725 +0.36625 +0.36624998 +0.38125 +0.42874998 +0.53125 +0.7025 +0.9375 +1.20375 +1.45 +1.63375 +1.71875 +1.7125 +1.64375 +1.5475001 +1.4625001 +1.4075 +1.39625 +1.43625 +1.52 +1.66 +1.80875 +1.9375 +2.0300002 +2.07625 +2.085 +2.065 +2.02125 +1.9499999 +1.84625 +1.71375 +1.5625 +1.4150001 +1.2975 +1.22625 +1.2175 +1.2637498 +1.3499999 +1.44625 +1.5124999 +1.5362499 +1.49125 +1.3525001 +1.15375 +0.94124997 +0.76124996 +0.63374996 +0.555 +0.5 +0.45499998 +0.41000003 +0.39874998 +0.41875 +0.435 +0.4325 +0.40249997 +0.36125 +0.34375 +0.36875 +0.44750002 +0.5525 +0.635 +0.65625 +0.6075 +0.51125 +0.41625 +0.36 +0.35 +0.37 +0.39000002 +0.39375 +0.3775 +0.3725 +0.36625 +0.36624998 +0.38125 +0.42874998 +0.53125 +0.7025 +0.9375 +1.20375 +1.7075 +1.8575 +1.8962499 +1.8287499 +1.6912501 +1.53625 +1.405 +1.32375 +1.3075 +1.345 +1.43375 +1.56125 +1.6875 +1.79375 +1.8737501 +1.93125 +1.96375 +1.99625 +2.015 +2.00375 +1.95125 +1.8587499 +1.7387501 +1.6225 +1.54 +1.4787501 +1.47375 +1.5162501 +1.5875001 +1.6612499 +1.7099999 +1.7349999 +1.6787502 +1.53625 +1.32625 +1.09375 +0.88499993 +0.73 +0.63 +0.57 +0.5325 +0.505 +0.49125 +0.52 +0.5475 +0.56374997 +0.5625 +0.5625 +0.58375 +0.61499995 +0.68125004 +0.75625 +0.7975 +0.78375 +0.71999997 +0.63500005 +0.57124996 +0.56 +0.5725 +0.6025 +0.62250006 +0.6175 +0.59250003 +0.58125 +0.58375 +0.6 +0.63124996 +0.69374996 +0.80625 +0.98249996 +1.2175 +1.47625 +1.7075 +1.8575 +1.8962499 +1.8287499 +1.6912501 +1.53625 +1.405 +1.32375 +1.3075 +1.345 +1.43375 +1.56125 +1.6875 +1.79375 +1.8737501 +1.93125 +1.96375 +1.99625 +2.015 +2.00375 +1.95125 +1.8587499 +1.7387501 +1.6225 +1.54 +1.4787501 +1.47375 +1.5162501 +1.5875001 +1.6612499 +1.7099999 +1.7349999 +1.6787502 +1.53625 +1.32625 +1.09375 +0.88499993 +0.73 +0.63 +0.57 +0.5325 +0.505 +0.49125 +0.52 +0.5475 +0.56374997 +0.5625 +0.5625 +0.58375 +0.61499995 +0.68125004 +0.75625 +0.7975 +0.78375 +0.71999997 +0.63500005 +0.57124996 +0.56 +0.5725 +0.6025 +0.62250006 +0.6175 +0.59250003 +0.58125 +0.58375 +0.6 +0.63124996 +0.69374996 +0.80625 +0.98249996 +1.2175 +1.47625 +1.805 +1.9212501 +1.9237499 +1.815 +1.63125 +1.4325 +1.27 +1.17625 +1.1625 +1.2175 +1.31625 +1.42625 +1.51875 +1.58375 +1.62875 +1.6650001 +1.70625 +1.77375 +1.8562499 +1.9087499 +1.91125 +1.8612502 +1.79375 +1.73 +1.685 +1.66875 +1.6825 +1.7224998 +1.7775 +1.8425001 +1.89375 +1.9075 +1.85875 +1.735 +1.54125 +1.3075 +1.06875 +0.8587499 +0.70124996 +0.59375006 +0.52625006 +0.49125 +0.48125002 +0.48874998 +0.50874996 +0.54125 +0.575 +0.6175 +0.67125 +0.7325 +0.785 +0.82124996 +0.825 +0.77125 +0.6875 +0.61249995 +0.59250003 +0.63 +0.68625 +0.7275 +0.735 +0.71000004 +0.66875 +0.64625 +0.66 +0.70124996 +0.77 +0.86 +0.985 +1.1575001 +1.3750001 +1.6050001 +1.805 +1.9212501 +1.9237499 +1.815 +1.63125 +1.4325 +1.27 +1.17625 +1.1625 +1.2175 +1.31625 +1.42625 +1.51875 +1.58375 +1.62875 +1.6650001 +1.70625 +1.77375 +1.8562499 +1.9087499 +1.91125 +1.8612502 +1.79375 +1.73 +1.685 +1.66875 +1.6825 +1.7224998 +1.7775 +1.8425001 +1.89375 +1.9075 +1.85875 +1.735 +1.54125 +1.3075 +1.06875 +0.8587499 +0.70124996 +0.59375006 +0.52625006 +0.49125 +0.48125002 +0.48874998 +0.50874996 +0.54125 +0.575 +0.6175 +0.67125 +0.7325 +0.785 +0.82124996 +0.825 +0.77125 +0.6875 +0.61249995 +0.59250003 +0.63 +0.68625 +0.7275 +0.735 +0.71000004 +0.66875 +0.64625 +0.66 +0.70124996 +0.77 +0.86 +0.985 +1.1575001 +1.3750001 +1.6050001 +1.7050002 +1.7874999 +1.7637501 +1.6325 +1.425 +1.19625 +1.0087501 +0.90625006 +0.90125 +0.97874993 +1.0925 +1.1949999 +1.25125 +1.2562499 +1.2325 +1.22 +1.2562499 +1.3562499 +1.49375 +1.6087501 +1.6624999 +1.66375 +1.6375 +1.61 +1.6125 +1.6525 +1.7175001 +1.7875001 +1.8487499 +1.8974999 +1.9324999 +1.95125 +1.94 +1.8725001 +1.7375 +1.53125 +1.27375 +1.0024999 +0.75624996 +0.55875 +0.425 +0.35875 +0.33750004 +0.33499998 +0.34625 +0.37 +0.40249997 +0.45624998 +0.53249997 +0.61875 +0.685 +0.70125 +0.66125 +0.575 +0.46875 +0.40249997 +0.41749996 +0.5075 +0.6175 +0.68875 +0.695 +0.64124995 +0.5725 +0.535 +0.555 +0.63124996 +0.74375 +0.87375003 +1.01875 +1.1775 +1.35875 +1.5462499 +1.7050002 +1.7874999 +1.7637501 +1.6325 +1.425 +1.19625 +1.0087501 +0.90625006 +0.90125 +0.97874993 +1.0925 +1.1949999 +1.25125 +1.2562499 +1.2325 +1.22 +1.2562499 +1.3562499 +1.49375 +1.6087501 +1.6624999 +1.66375 +1.6375 +1.61 +1.6125 +1.6525 +1.7175001 +1.7875001 +1.8487499 +1.8974999 +1.9324999 +1.95125 +1.94 +1.8725001 +1.7375 +1.53125 +1.27375 +1.0024999 +0.75624996 +0.55875 +0.425 +0.35875 +0.33750004 +0.33499998 +0.34625 +0.37 +0.40249997 +0.45624998 +0.53249997 +0.61875 +0.685 +0.70125 +0.66125 +0.575 +0.46875 +0.40249997 +0.41749996 +0.5075 +0.6175 +0.68875 +0.695 +0.64124995 +0.5725 +0.535 +0.555 +0.63124996 +0.74375 +0.87375003 +1.01875 +1.1775 +1.35875 +1.5462499 +1.4525 +1.5062499 +1.46625 +1.3262501 +1.10625 +0.86125004 +0.65375 +0.53875 +0.5375 +0.63125 +0.75874996 +0.85875005 +0.87625 +0.81499994 +0.71375 +0.64125 +0.65625 +0.785 +0.96375 +1.125 +1.2149999 +1.2437501 +1.23625 +1.235 +1.2774999 +1.36625 +1.4825001 +1.58875 +1.66125 +1.7062501 +1.7450001 +1.7962501 +1.8525001 +1.885 +1.8525001 +1.7149999 +1.4725 +1.15625 +0.8225 +0.52750003 +0.3125 +0.2175 +0.17999999 +0.15875 +0.15 +0.14999999 +0.15875 +0.19125001 +0.255 +0.33625 +0.4075 +0.41875002 +0.3525 +0.24875 +0.1625 +0.12 +0.13875 +0.25 +0.38374996 +0.495 +0.50750005 +0.435 +0.33625 +0.27999997 +0.31125003 +0.42125 +0.5825 +0.75624996 +0.91625 +1.0625 +1.2025001 +1.3399999 +1.4525 +1.5062499 +1.46625 +1.3262501 +1.10625 +0.86125004 +0.65375 +0.53875 +0.5375 +0.63125 +0.75874996 +0.85875005 +0.87625 +0.81499994 +0.71375 +0.64125 +0.65625 +0.785 +0.96375 +1.125 +1.2149999 +1.2437501 +1.23625 +1.235 +1.2774999 +1.36625 +1.4825001 +1.58875 +1.66125 +1.7062501 +1.7450001 +1.7962501 +1.8525001 +1.885 +1.8525001 +1.7149999 +1.4725 +1.15625 +0.8225 +0.52750003 +0.3125 +0.2175 +0.17999999 +0.15875 +0.15 +0.14999999 +0.15875 +0.19125001 +0.255 +0.33625 +0.4075 +0.41875002 +0.3525 +0.24875 +0.1625 +0.12 +0.13875 +0.25 +0.38374996 +0.495 +0.50750005 +0.435 +0.33625 +0.27999997 +0.31125003 +0.42125 +0.5825 +0.75624996 +0.91625 +1.0625 +1.2025001 +1.3399999 +1.1587499 +1.1862501 +1.1375 +0.9975 +0.7775 +0.52000004 +0.31875 +0.22125 +0.21124999 +0.27625 +0.39624998 +0.48874998 +0.47875 +0.36749998 +0.23624998 +0.15124999 +0.155 +0.245 +0.40125 +0.57125 +0.6775 +0.7 +0.69499993 +0.69624996 +0.7537501 +0.87 +1.0174999 +1.14625 +1.23125 +1.2837499 +1.3425 +1.4425001 +1.5925 +1.75 +1.8499999 +1.8237499 +1.64375 +1.3287501 +0.94624996 +0.58124995 +0.3175 +0.17875 +0.135 +0.10875 +0.085 +0.06625 +0.055 +0.05125 +0.0575 +0.09 +0.1325 +0.12875 +0.08 +0.02125 +0.0 +0.0 +0.0 +0.03125 +0.13499999 +0.24749999 +0.2725 +0.20625 +0.11375 +0.075 +0.105 +0.2 +0.36874998 +0.58250004 +0.76125 +0.89750004 +1.0025 +1.08875 +1.1587499 +1.1862501 +1.1375 +0.9975 +0.7775 +0.52000004 +0.31875 +0.22125 +0.21124999 +0.27625 +0.39624998 +0.48874998 +0.47875 +0.36749998 +0.23624998 +0.15124999 +0.155 +0.245 +0.40125 +0.57125 +0.6775 +0.7 +0.69499993 +0.69624996 +0.7537501 +0.87 +1.0174999 +1.14625 +1.23125 +1.2837499 +1.3425 +1.4425001 +1.5925 +1.75 +1.8499999 +1.8237499 +1.64375 +1.3287501 +0.94624996 +0.58124995 +0.3175 +0.17875 +0.135 +0.10875 +0.085 +0.06625 +0.055 +0.05125 +0.0575 +0.09 +0.1325 +0.12875 +0.08 +0.02125 +0.0 +0.0 +0.0 +0.03125 +0.13499999 +0.24749999 +0.2725 +0.20625 +0.11375 +0.075 +0.105 +0.2 +0.36874998 +0.58250004 +0.76125 +0.89750004 +1.0025 +1.08875 +0.9525 +0.95375 +0.895 +0.75874996 +0.54375 +0.30124998 +0.15249999 +0.11375 +0.08875 +0.08375001 +0.13374999 +0.2075 +0.195 +0.09125 +0.02875 +0.0025 +0.0 +0.0 +0.04625 +0.14750001 +0.22125 +0.235 +0.22874999 +0.2275 +0.26375002 +0.345 +0.47750002 +0.60625 +0.6925 +0.75249994 +0.8349999 +0.98625 +1.225 +1.505 +1.7424998 +1.8500001 +1.7762499 +1.5237501 +1.16 +0.785 +0.48499998 +0.30625 +0.23125 +0.19250001 +0.15125 +0.1 +0.065 +0.04875 +0.0475 +0.0425 +0.02875 +0.00875 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.03375 +0.08625 +0.125 +0.08375 +0.05375 +0.0675 +0.08875 +0.115 +0.23249999 +0.45875 +0.65875006 +0.7925 +0.8725 +0.9225001 +0.9525 +0.95375 +0.895 +0.75874996 +0.54375 +0.30124998 +0.15249999 +0.11375 +0.08875 +0.08375001 +0.13374999 +0.2075 +0.195 +0.09125 +0.02875 +0.0025 +0.0 +0.0 +0.04625 +0.14750001 +0.22125 +0.235 +0.22874999 +0.2275 +0.26375002 +0.345 +0.47750002 +0.60625 +0.6925 +0.75249994 +0.8349999 +0.98625 +1.225 +1.505 +1.7424998 +1.8500001 +1.7762499 +1.5237501 +1.16 +0.785 +0.48499998 +0.30625 +0.23125 +0.19250001 +0.15125 +0.1 +0.065 +0.04875 +0.0475 +0.0425 +0.02875 +0.00875 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.03375 +0.08625 +0.125 +0.08375 +0.05375 +0.0675 +0.08875 +0.115 +0.23249999 +0.45875 +0.65875006 +0.7925 +0.8725 +0.9225001 +0.81125 +0.67999995 +0.58 +0.515 +0.47124994 +0.41249996 +0.30375 +0.165 +0.0875 +0.06375 +0.05 +0.04375 +0.04625 +0.095000006 +0.2025 +0.26624998 +0.28875 +0.29874998 +0.32875 +0.40375 +0.5225 +0.67625 +0.85875 +1.035 +1.2099999 +1.385 +1.55125 +1.6825 +1.7475 +1.73125 +1.6425 +1.51125 +1.3675 +1.2262499 +1.0899999 +0.95125 +0.8125 +0.68375003 +0.58625 +0.52375 +0.48125 +0.41750002 +0.30125 +0.155 +0.0875 +0.06625 +0.055 +0.05125 +0.05375 +0.09375001 +0.19375001 +0.25125 +0.27625 +0.29125 +0.32875 +0.41125 +0.53625 +0.69250005 +0.87375 +1.04875 +1.2249999 +1.4012499 +1.5712501 +1.7025 +1.7650001 +1.74375 +1.64625 +1.5087501 +1.36125 +1.22 +1.0862501 +0.95 +0.81125 +0.67999995 +0.58 +0.515 +0.47124994 +0.41249996 +0.30375 +0.165 +0.0875 +0.06375 +0.05 +0.04375 +0.04625 +0.095000006 +0.2025 +0.26624998 +0.28875 +0.29874998 +0.32875 +0.40375 +0.5225 +0.67625 +0.85875 +1.035 +1.2099999 +1.385 +1.55125 +1.6825 +1.7475 +1.73125 +1.6425 +1.51125 +1.3675 +1.2262499 +1.0899999 +0.95125 +0.8125 +0.68375003 +0.58625 +0.52375 +0.48125 +0.41750002 +0.30125 +0.155 +0.0875 +0.06625 +0.055 +0.05125 +0.05375 +0.09375001 +0.19375001 +0.25125 +0.27625 +0.29125 +0.32875 +0.41125 +0.53625 +0.69250005 +0.87375 +1.04875 +1.2249999 +1.4012499 +1.5712501 +1.7025 +1.7650001 +1.74375 +1.64625 +1.5087501 +1.36125 +1.22 +1.0862501 +0.95 +0.77000004 +0.64375 +0.5425 +0.48125 +0.44624996 +0.40749997 +0.3275 +0.2075 +0.096250005 +0.0525 +0.0375 +0.0325 +0.046250004 +0.14625 +0.25875 +0.3225 +0.32124996 +0.31125 +0.315 +0.3625 +0.46125 +0.61499995 +0.79625 +0.97999996 +1.16625 +1.3474998 +1.515 +1.6487501 +1.7199999 +1.7175 +1.64375 +1.51875 +1.37375 +1.225 +1.0775 +0.9325 +0.7950001 +0.6787499 +0.5975 +0.545 +0.505 +0.43875003 +0.31875002 +0.17 +0.07625 +0.0575 +0.0525 +0.055 +0.06625 +0.13375 +0.2175 +0.25750002 +0.26375002 +0.27875 +0.32375002 +0.4125 +0.54375005 +0.71625 +0.89625 +1.08 +1.2675 +1.4587501 +1.6387501 +1.7712501 +1.8225 +1.785 +1.665 +1.50375 +1.335 +1.1825 +1.0425 +0.9075 +0.77000004 +0.64375 +0.5425 +0.48125 +0.44624996 +0.40749997 +0.3275 +0.2075 +0.096250005 +0.0525 +0.0375 +0.0325 +0.046250004 +0.14625 +0.25875 +0.3225 +0.32124996 +0.31125 +0.315 +0.3625 +0.46125 +0.61499995 +0.79625 +0.97999996 +1.16625 +1.3474998 +1.515 +1.6487501 +1.7199999 +1.7175 +1.64375 +1.51875 +1.37375 +1.225 +1.0775 +0.9325 +0.7950001 +0.6787499 +0.5975 +0.545 +0.505 +0.43875003 +0.31875002 +0.17 +0.07625 +0.0575 +0.0525 +0.055 +0.06625 +0.13375 +0.2175 +0.25750002 +0.26375002 +0.27875 +0.32375002 +0.4125 +0.54375005 +0.71625 +0.89625 +1.08 +1.2675 +1.4587501 +1.6387501 +1.7712501 +1.8225 +1.785 +1.665 +1.50375 +1.335 +1.1825 +1.0425 +0.9075 +0.67375004 +0.55125004 +0.45625 +0.40499997 +0.39 +0.3875 +0.35625 +0.2725 +0.15875001 +0.07125 +0.026250001 +0.02375 +0.085 +0.21000001 +0.33625 +0.39625 +0.38 +0.3275 +0.2875 +0.28625 +0.345 +0.47500002 +0.65500003 +0.85374993 +1.0525 +1.245 +1.42 +1.5587499 +1.6437501 +1.6637499 +1.6125 +1.50125 +1.35375 +1.19 +1.0250001 +0.87 +0.74 +0.65000004 +0.60125 +0.57624996 +0.54625 +0.4775 +0.35125002 +0.19125 +0.065 +0.035 +0.04 +0.05625 +0.12499999 +0.2125 +0.27375 +0.28375 +0.27624997 +0.2925 +0.345 +0.44625002 +0.59375 +0.76875 +0.95 +1.14125 +1.34625 +1.5587499 +1.75375 +1.88625 +1.9200001 +1.8412501 +1.6724999 +1.4637501 +1.26 +1.0825 +0.93500006 +0.8025 +0.67375004 +0.55125004 +0.45625 +0.40499997 +0.39 +0.3875 +0.35625 +0.2725 +0.15875001 +0.07125 +0.026250001 +0.02375 +0.085 +0.21000001 +0.33625 +0.39625 +0.38 +0.3275 +0.2875 +0.28625 +0.345 +0.47500002 +0.65500003 +0.85374993 +1.0525 +1.245 +1.42 +1.5587499 +1.6437501 +1.6637499 +1.6125 +1.50125 +1.35375 +1.19 +1.0250001 +0.87 +0.74 +0.65000004 +0.60125 +0.57624996 +0.54625 +0.4775 +0.35125002 +0.19125 +0.065 +0.035 +0.04 +0.05625 +0.12499999 +0.2125 +0.27375 +0.28375 +0.27624997 +0.2925 +0.345 +0.44625002 +0.59375 +0.76875 +0.95 +1.14125 +1.34625 +1.5587499 +1.75375 +1.88625 +1.9200001 +1.8412501 +1.6724999 +1.4637501 +1.26 +1.0825 +0.93500006 +0.8025 +0.53875 +0.43 +0.34875003 +0.30249998 +0.30124998 +0.33375 +0.35375 +0.32999998 +0.25 +0.14 +0.0575 +0.04625 +0.11375 +0.23875001 +0.36499998 +0.43249997 +0.41 +0.33124998 +0.24625 +0.19500001 +0.21124999 +0.30249998 +0.47000003 +0.68 +0.88875 +1.08375 +1.2537501 +1.3924999 +1.4875 +1.53 +1.50625 +1.415 +1.27125 +1.0925 +0.90875 +0.7462499 +0.63250005 +0.5775 +0.57375 +0.59125 +0.58 +0.5125 +0.3775 +0.21124999 +0.07625 +0.03 +0.065 +0.15 +0.265 +0.35875002 +0.385 +0.37250003 +0.36625 +0.3825 +0.44375002 +0.55375 +0.70125 +0.86625 +1.0350001 +1.2175 +1.4325 +1.6575 +1.8537499 +1.9762499 +1.9775 +1.8487499 +1.6225001 +1.3587501 +1.11375 +0.9187499 +0.77250004 +0.65125 +0.53875 +0.43 +0.34875003 +0.30249998 +0.30124998 +0.33375 +0.35375 +0.32999998 +0.25 +0.14 +0.0575 +0.04625 +0.11375 +0.23875001 +0.36499998 +0.43249997 +0.41 +0.33124998 +0.24625 +0.19500001 +0.21124999 +0.30249998 +0.47000003 +0.68 +0.88875 +1.08375 +1.2537501 +1.3924999 +1.4875 +1.53 +1.50625 +1.415 +1.27125 +1.0925 +0.90875 +0.7462499 +0.63250005 +0.5775 +0.57375 +0.59125 +0.58 +0.5125 +0.3775 +0.21124999 +0.07625 +0.03 +0.065 +0.15 +0.265 +0.35875002 +0.385 +0.37250003 +0.36625 +0.3825 +0.44375002 +0.55375 +0.70125 +0.86625 +1.0350001 +1.2175 +1.4325 +1.6575 +1.8537499 +1.9762499 +1.9775 +1.8487499 +1.6225001 +1.3587501 +1.11375 +0.9187499 +0.77250004 +0.65125 +0.39875 +0.32125 +0.2575 +0.21249999 +0.20375 +0.24375002 +0.3025 +0.325 +0.2825 +0.18625 +0.08625 +0.057499997 +0.089999996 +0.18000002 +0.30375 +0.3925 +0.3875 +0.3125 +0.20375 +0.11624999 +0.09625 +0.1625 +0.305 +0.5 +0.71 +0.89250004 +1.05625 +1.2012501 +1.30375 +1.3512499 +1.33125 +1.26625 +1.1324999 +0.94625 +0.74875 +0.58375 +0.48999998 +0.4775 +0.52625 +0.58625 +0.6 +0.53375 +0.39875 +0.26624998 +0.16749999 +0.1425 +0.21 +0.3425 +0.47875002 +0.55125 +0.56625 +0.55125 +0.5375 +0.56125003 +0.63500005 +0.74625 +0.87499994 +1.01125 +1.14375 +1.30875 +1.50875 +1.71875 +1.8912499 +1.985 +1.945 +1.76375 +1.4825 +1.1725 +0.90125 +0.70374995 +0.5725 +0.48125 +0.39875 +0.32125 +0.2575 +0.21249999 +0.20375 +0.24375002 +0.3025 +0.325 +0.2825 +0.18625 +0.08625 +0.057499997 +0.089999996 +0.18000002 +0.30375 +0.3925 +0.3875 +0.3125 +0.20375 +0.11624999 +0.09625 +0.1625 +0.305 +0.5 +0.71 +0.89250004 +1.05625 +1.2012501 +1.30375 +1.3512499 +1.33125 +1.26625 +1.1324999 +0.94625 +0.74875 +0.58375 +0.48999998 +0.4775 +0.52625 +0.58625 +0.6 +0.53375 +0.39875 +0.26624998 +0.16749999 +0.1425 +0.21 +0.3425 +0.47875002 +0.55125 +0.56625 +0.55125 +0.5375 +0.56125003 +0.63500005 +0.74625 +0.87499994 +1.01125 +1.14375 +1.30875 +1.50875 +1.71875 +1.8912499 +1.985 +1.945 +1.76375 +1.4825 +1.1725 +0.90125 +0.70374995 +0.5725 +0.48125 +0.29625 +0.26 +0.21625 +0.16749999 +0.1375 +0.15625 +0.225 +0.27875 +0.26 +0.16875 +0.05375 +0.016250001 +0.03375 +0.08125 +0.18875 +0.3075 +0.34625 +0.2925 +0.17999999 +0.0725 +0.04 +0.081250004 +0.20875 +0.3875 +0.57375 +0.73875 +0.88125 +1.005 +1.10375 +1.16625 +1.1700001 +1.1162499 +0.99750006 +0.81125 +0.605 +0.43875003 +0.36374998 +0.39 +0.48624998 +0.5875 +0.625 +0.565 +0.44375002 +0.32 +0.2425 +0.26 +0.375 +0.5375 +0.685 +0.76375 +0.77500004 +0.75 +0.74 +0.7775 +0.86625 +0.9812499 +1.0912501 +1.1850001 +1.27625 +1.3912499 +1.54125 +1.7075 +1.8375001 +1.8975 +1.81375 +1.59125 +1.2725 +0.9375 +0.6575 +0.47125 +0.3725 +0.33124998 +0.29625 +0.26 +0.21625 +0.16749999 +0.1375 +0.15625 +0.225 +0.27875 +0.26 +0.16875 +0.05375 +0.016250001 +0.03375 +0.08125 +0.18875 +0.3075 +0.34625 +0.2925 +0.17999999 +0.0725 +0.04 +0.081250004 +0.20875 +0.3875 +0.57375 +0.73875 +0.88125 +1.005 +1.10375 +1.16625 +1.1700001 +1.1162499 +0.99750006 +0.81125 +0.605 +0.43875003 +0.36374998 +0.39 +0.48624998 +0.5875 +0.625 +0.565 +0.44375002 +0.32 +0.2425 +0.26 +0.375 +0.5375 +0.685 +0.76375 +0.77500004 +0.75 +0.74 +0.7775 +0.86625 +0.9812499 +1.0912501 +1.1850001 +1.27625 +1.3912499 +1.54125 +1.7075 +1.8375001 +1.8975 +1.81375 +1.59125 +1.2725 +0.9375 +0.6575 +0.47125 +0.3725 +0.33124998 +0.2625 +0.245 +0.20125 +0.14625 +0.1075 +0.11375 +0.17500001 +0.24500002 +0.25 +0.1625 +0.0425 +0.0 +0.00125 +0.02875 +0.10375 +0.24375 +0.3225 +0.30124998 +0.20125 +0.08875 +0.03875 +0.073750004 +0.185 +0.35125 +0.53625 +0.6725 +0.77250004 +0.87 +0.96 +1.0337499 +1.0600001 +1.0425 +0.9437501 +0.7625 +0.5525 +0.385 +0.31625 +0.3625 +0.4875 +0.61625 +0.67125 +0.615 +0.4825 +0.35999998 +0.29375 +0.33375 +0.4775 +0.6775 +0.84624994 +0.91125 +0.9200001 +0.89250004 +0.89 +0.9475 +1.0575 +1.1825 +1.2862501 +1.35375 +1.3887501 +1.4412501 +1.5237501 +1.6275 +1.71875 +1.7375001 +1.6249999 +1.3799999 +1.05 +0.71 +0.4375 +0.27499998 +0.23875001 +0.24875 +0.2625 +0.245 +0.20125 +0.14625 +0.1075 +0.11375 +0.17500001 +0.24500002 +0.25 +0.1625 +0.0425 +0.0 +0.00125 +0.02875 +0.10375 +0.24375 +0.3225 +0.30124998 +0.20125 +0.08875 +0.03875 +0.073750004 +0.185 +0.35125 +0.53625 +0.6725 +0.77250004 +0.87 +0.96 +1.0337499 +1.0600001 +1.0425 +0.9437501 +0.7625 +0.5525 +0.385 +0.31625 +0.3625 +0.4875 +0.61625 +0.67125 +0.615 +0.4825 +0.35999998 +0.29375 +0.33375 +0.4775 +0.6775 +0.84624994 +0.91125 +0.9200001 +0.89250004 +0.89 +0.9475 +1.0575 +1.1825 +1.2862501 +1.35375 +1.3887501 +1.4412501 +1.5237501 +1.6275 +1.71875 +1.7375001 +1.6249999 +1.3799999 +1.05 +0.71 +0.4375 +0.27499998 +0.23875001 +0.24875 +0.27375 +0.25625 +0.21125 +0.155 +0.1125 +0.11874999 +0.2025 +0.295 +0.32750002 +0.25125 +0.113749996 +0.01625 +0.0 +0.0175 +0.11 +0.27125 +0.38875002 +0.3775 +0.285 +0.1725 +0.10250001 +0.1225 +0.23249999 +0.4325 +0.60875 +0.72625005 +0.79125 +0.84499997 +0.9262499 +1.00625 +1.0762501 +1.0875 +1.00625 +0.8325 +0.62125003 +0.4425 +0.3625 +0.40375003 +0.5325 +0.67125 +0.73625 +0.6875 +0.545 +0.3925 +0.32374996 +0.3675 +0.545 +0.76875 +0.94375 +1.0075 +0.97375 +0.94625 +0.95000005 +1.02125 +1.1525 +1.3062501 +1.4399999 +1.4937501 +1.48375 +1.4625001 +1.4737501 +1.52 +1.5700002 +1.55875 +1.43625 +1.1949999 +0.87375 +0.54625 +0.2875 +0.19 +0.21125 +0.25625 +0.27375 +0.25625 +0.21125 +0.155 +0.1125 +0.11874999 +0.2025 +0.295 +0.32750002 +0.25125 +0.113749996 +0.01625 +0.0 +0.0175 +0.11 +0.27125 +0.38875002 +0.3775 +0.285 +0.1725 +0.10250001 +0.1225 +0.23249999 +0.4325 +0.60875 +0.72625005 +0.79125 +0.84499997 +0.9262499 +1.00625 +1.0762501 +1.0875 +1.00625 +0.8325 +0.62125003 +0.4425 +0.3625 +0.40375003 +0.5325 +0.67125 +0.73625 +0.6875 +0.545 +0.3925 +0.32374996 +0.3675 +0.545 +0.76875 +0.94375 +1.0075 +0.97375 +0.94625 +0.95000005 +1.02125 +1.1525 +1.3062501 +1.4399999 +1.4937501 +1.48375 +1.4625001 +1.4737501 +1.52 +1.5700002 +1.55875 +1.43625 +1.1949999 +0.87375 +0.54625 +0.2875 +0.19 +0.21125 +0.25625 +0.3025 +0.285 +0.23875 +0.1825 +0.15499999 +0.1925 +0.3075 +0.44625002 +0.51625 +0.46625 +0.31 +0.145 +0.06875 +0.097500004 +0.22625 +0.4125 +0.5525 +0.5625 +0.4525 +0.31 +0.22625 +0.24749999 +0.38625002 +0.5774999 +0.74625 +0.85375 +0.91125 +0.95000005 +1.01125 +1.09875 +1.1800001 +1.2049999 +1.1375 +0.975 +0.76125 +0.56625 +0.46125 +0.47375003 +0.58375 +0.71375 +0.7900001 +0.75250006 +0.62375 +0.47000003 +0.38625 +0.435 +0.6075 +0.8287501 +1.00625 +1.0775 +1.0450001 +0.97625005 +0.9625 +1.0374999 +1.20625 +1.40375 +1.5524999 +1.6037501 +1.5687499 +1.49625 +1.44 +1.42375 +1.4275 +1.3962499 +1.2824999 +1.0675 +0.77875 +0.47249997 +0.24125 +0.19625 +0.23875 +0.285 +0.3025 +0.285 +0.23875 +0.1825 +0.15499999 +0.1925 +0.3075 +0.44625002 +0.51625 +0.46625 +0.31 +0.145 +0.06875 +0.097500004 +0.22625 +0.4125 +0.5525 +0.5625 +0.4525 +0.31 +0.22625 +0.24749999 +0.38625002 +0.5774999 +0.74625 +0.85375 +0.91125 +0.95000005 +1.01125 +1.09875 +1.1800001 +1.2049999 +1.1375 +0.975 +0.76125 +0.56625 +0.46125 +0.47375003 +0.58375 +0.71375 +0.7900001 +0.75250006 +0.62375 +0.47000003 +0.38625 +0.435 +0.6075 +0.8287501 +1.00625 +1.0775 +1.0450001 +0.97625005 +0.9625 +1.0374999 +1.20625 +1.40375 +1.5524999 +1.6037501 +1.5687499 +1.49625 +1.44 +1.42375 +1.4275 +1.3962499 +1.2824999 +1.0675 +0.77875 +0.47249997 +0.24125 +0.19625 +0.23875 +0.285 +0.33 +0.3275 +0.30249998 +0.2625 +0.255 +0.32874998 +0.48375 +0.66499996 +0.77875 +0.76375 +0.62249994 +0.42875 +0.295 +0.2975 +0.43625 +0.62875 +0.76625 +0.77750003 +0.6675 +0.51 +0.405 +0.40875 +0.52625 +0.70125 +0.8612499 +0.96374995 +1.015 +1.0462501 +1.0962499 +1.175 +1.2475001 +1.27875 +1.225 +1.08 +0.87249994 +0.66875005 +0.53625 +0.5125 +0.58750004 +0.70374995 +0.78499997 +0.77875 +0.68125 +0.55375 +0.48 +0.52625 +0.69374996 +0.9225 +1.1199999 +1.2125 +1.1949999 +1.125 +1.09125 +1.1562499 +1.3174999 +1.5174999 +1.6725001 +1.72375 +1.66875 +1.54875 +1.43 +1.34875 +1.3087499 +1.27 +1.1825 +1.00875 +0.75625 +0.47500002 +0.25875 +0.22125 +0.265 +0.3125 +0.33 +0.3275 +0.30249998 +0.2625 +0.255 +0.32874998 +0.48375 +0.66499996 +0.77875 +0.76375 +0.62249994 +0.42875 +0.295 +0.2975 +0.43625 +0.62875 +0.76625 +0.77750003 +0.6675 +0.51 +0.405 +0.40875 +0.52625 +0.70125 +0.8612499 +0.96374995 +1.015 +1.0462501 +1.0962499 +1.175 +1.2475001 +1.27875 +1.225 +1.08 +0.87249994 +0.66875005 +0.53625 +0.5125 +0.58750004 +0.70374995 +0.78499997 +0.77875 +0.68125 +0.55375 +0.48 +0.52625 +0.69374996 +0.9225 +1.1199999 +1.2125 +1.1949999 +1.125 +1.09125 +1.1562499 +1.3174999 +1.5174999 +1.6725001 +1.72375 +1.66875 +1.54875 +1.43 +1.34875 +1.3087499 +1.27 +1.1825 +1.00875 +0.75625 +0.47500002 +0.25875 +0.22125 +0.265 +0.3125 +0.35500002 +0.40749997 +0.43125 +0.41375002 +0.41625 +0.49624997 +0.67 +0.88124996 +1.0324999 +1.0525 +0.92875004 +0.73749995 +0.58375 +0.55625004 +0.66249996 +0.83250004 +0.95375 +0.95375 +0.8325 +0.65875 +0.525 +0.49875003 +0.58500004 +0.72999996 +0.8662499 +0.9575 +0.9975 +1.0162499 +1.0525 +1.11 +1.175 +1.205 +1.1700001 +1.05375 +0.875 +0.68375003 +0.53875 +0.48375 +0.525 +0.6275 +0.72499996 +0.76250005 +0.72625005 +0.6475 +0.60875 +0.6725 +0.85999995 +1.11875 +1.3637501 +1.5100001 +1.5325 +1.4737501 +1.42125 +1.44625 +1.565 +1.73625 +1.875 +1.90875 +1.8225 +1.6524999 +1.4625 +1.3149998 +1.22875 +1.1825 +1.12125 +0.98875 +0.77750003 +0.51625 +0.30625 +0.23625 +0.27125 +0.31625 +0.35500002 +0.40749997 +0.43125 +0.41375002 +0.41625 +0.49624997 +0.67 +0.88124996 +1.0324999 +1.0525 +0.92875004 +0.73749995 +0.58375 +0.55625004 +0.66249996 +0.83250004 +0.95375 +0.95375 +0.8325 +0.65875 +0.525 +0.49875003 +0.58500004 +0.72999996 +0.8662499 +0.9575 +0.9975 +1.0162499 +1.0525 +1.11 +1.175 +1.205 +1.1700001 +1.05375 +0.875 +0.68375003 +0.53875 +0.48375 +0.525 +0.6275 +0.72499996 +0.76250005 +0.72625005 +0.6475 +0.60875 +0.6725 +0.85999995 +1.11875 +1.3637501 +1.5100001 +1.5325 +1.4737501 +1.42125 +1.44625 +1.565 +1.73625 +1.875 +1.90875 +1.8225 +1.6524999 +1.4625 +1.3149998 +1.22875 +1.1825 +1.12125 +0.98875 +0.77750003 +0.51625 +0.30625 +0.23625 +0.27125 +0.31625 +0.42250004 +0.53749996 +0.58375 +0.57 +0.56374997 +0.635 +0.80375004 +1.0237501 +1.1975 +1.2425001 +1.1375 +0.95 +0.78499997 +0.73125 +0.8075 +0.94625 +1.04375 +1.02875 +0.89374995 +0.69874996 +0.54 +0.48 +0.525 +0.62875 +0.7325 +0.7975 +0.81999993 +0.8425 +0.86875 +0.8950001 +0.92375004 +0.96125007 +0.95624995 +0.8874999 +0.7625 +0.61249995 +0.48 +0.4125 +0.43124998 +0.5275 +0.65250003 +0.74625 +0.78375 +0.80125 +0.83000004 +0.9237499 +1.1337501 +1.4537501 +1.7800001 +2.01625 +2.105 +2.0749998 +2.0 +1.965 +2.01125 +2.115 +2.20125 +2.195 +2.06 +1.8225001 +1.5550001 +1.33125 +1.1975 +1.1375 +1.0925001 +0.99750006 +0.81875 +0.57624996 +0.36 +0.25 +0.2575 +0.315 +0.42250004 +0.53749996 +0.58375 +0.57 +0.56374997 +0.635 +0.80375004 +1.0237501 +1.1975 +1.2425001 +1.1375 +0.95 +0.78499997 +0.73125 +0.8075 +0.94625 +1.04375 +1.02875 +0.89374995 +0.69874996 +0.54 +0.48 +0.525 +0.62875 +0.7325 +0.7975 +0.81999993 +0.8425 +0.86875 +0.8950001 +0.92375004 +0.96125007 +0.95624995 +0.8874999 +0.7625 +0.61249995 +0.48 +0.4125 +0.43124998 +0.5275 +0.65250003 +0.74625 +0.78375 +0.80125 +0.83000004 +0.9237499 +1.1337501 +1.4537501 +1.7800001 +2.01625 +2.105 +2.0749998 +2.0 +1.965 +2.01125 +2.115 +2.20125 +2.195 +2.06 +1.8225001 +1.5550001 +1.33125 +1.1975 +1.1375 +1.0925001 +0.99750006 +0.81875 +0.57624996 +0.36 +0.25 +0.2575 +0.315 +0.5375 +0.68 +0.73249996 +0.70875 +0.67625 +0.71375 +0.8575 +1.065 +1.2425 +1.3 +1.21125 +1.0275 +0.8575 +0.78625 +0.83375 +0.9437501 +1.02125 +0.99 +0.84499997 +0.65250003 +0.50375 +0.40375 +0.37624997 +0.42875 +0.495 +0.53874993 +0.57875 +0.59625 +0.60249996 +0.61 +0.62375 +0.64374995 +0.66625 +0.66375005 +0.61625004 +0.5325 +0.44125003 +0.37625 +0.38625002 +0.48125002 +0.63125 +0.79875004 +0.945 +1.04875 +1.14375 +1.29375 +1.5475 +1.90375 +2.31875 +2.66375 +2.8537498 +2.89625 +2.8125 +2.67625 +2.61625 +2.6275 +2.63625 +2.5625 +2.3625 +2.055 +1.70625 +1.41125 +1.2275001 +1.1475 +1.11 +1.03875 +0.88125 +0.64875 +0.41875 +0.28375 +0.26875 +0.36750004 +0.5375 +0.68 +0.73249996 +0.70875 +0.67625 +0.71375 +0.8575 +1.065 +1.2425 +1.3 +1.21125 +1.0275 +0.8575 +0.78625 +0.83375 +0.9437501 +1.02125 +0.99 +0.84499997 +0.65250003 +0.50375 +0.40375 +0.37624997 +0.42875 +0.495 +0.53874993 +0.57875 +0.59625 +0.60249996 +0.61 +0.62375 +0.64374995 +0.66625 +0.66375005 +0.61625004 +0.5325 +0.44125003 +0.37625 +0.38625002 +0.48125002 +0.63125 +0.79875004 +0.945 +1.04875 +1.14375 +1.29375 +1.5475 +1.90375 +2.31875 +2.66375 +2.8537498 +2.89625 +2.8125 +2.67625 +2.61625 +2.6275 +2.63625 +2.5625 +2.3625 +2.055 +1.70625 +1.41125 +1.2275001 +1.1475 +1.11 +1.03875 +0.88125 +0.64875 +0.41875 +0.28375 +0.26875 +0.36750004 +0.65625 +0.80625004 +0.855 +0.8075 +0.73875 +0.73625004 +0.84375 +1.0274999 +1.19875 +1.26125 +1.1825 +1.0074999 +0.83375 +0.75 +0.77625006 +0.86249995 +0.9225 +0.8837501 +0.735 +0.56624997 +0.41375 +0.29375 +0.23125 +0.22874999 +0.26375 +0.30375 +0.33124998 +0.33999997 +0.33874997 +0.33749998 +0.355 +0.39874998 +0.46875 +0.54 +0.585 +0.58375 +0.54125 +0.49125 +0.48874998 +0.56875 +0.735 +0.945 +1.14875 +1.3149999 +1.46375 +1.6550001 +1.95375 +2.3737497 +2.8625002 +3.3125002 +3.61375 +3.70875 +3.61625 +3.4125 +3.2337499 +3.1487498 +3.07125 +2.9325001 +2.675 +2.30625 +1.89625 +1.545 +1.3199999 +1.22125 +1.18875 +1.1325 +0.98749995 +0.75750005 +0.515 +0.3575 +0.3425 +0.46749994 +0.65625 +0.80625004 +0.855 +0.8075 +0.73875 +0.73625004 +0.84375 +1.0274999 +1.19875 +1.26125 +1.1825 +1.0074999 +0.83375 +0.75 +0.77625006 +0.86249995 +0.9225 +0.8837501 +0.735 +0.56624997 +0.41375 +0.29375 +0.23125 +0.22874999 +0.26375 +0.30375 +0.33124998 +0.33999997 +0.33874997 +0.33749998 +0.355 +0.39874998 +0.46875 +0.54 +0.585 +0.58375 +0.54125 +0.49125 +0.48874998 +0.56875 +0.735 +0.945 +1.14875 +1.3149999 +1.46375 +1.6550001 +1.95375 +2.3737497 +2.8625002 +3.3125002 +3.61375 +3.70875 +3.61625 +3.4125 +3.2337499 +3.1487498 +3.07125 +2.9325001 +2.675 +2.30625 +1.89625 +1.545 +1.3199999 +1.22125 +1.18875 +1.1325 +0.98749995 +0.75750005 +0.515 +0.3575 +0.3425 +0.46749994 +0.76124996 +0.90375 +0.93875 +0.8675 +0.76625 +0.73 +0.80625 +0.97125 +1.1375 +1.2075 +1.14 +0.97375 +0.79499996 +0.69874996 +0.70625 +0.775 +0.82375 +0.78125006 +0.63750005 +0.46749997 +0.3175 +0.18375 +0.106249996 +0.08624999 +0.106249996 +0.14 +0.17250001 +0.18875 +0.19375 +0.19874999 +0.22874999 +0.29625 +0.41125 +0.5425 +0.65749997 +0.71625 +0.71000004 +0.67125005 +0.655 +0.71625 +0.87624997 +1.0949999 +1.3262501 +1.5225 +1.6899999 +1.89 +2.2 +2.64625 +3.19125 +3.71375 +4.09 +4.23625 +4.15 +3.90375 +3.665 +3.50625 +3.3712502 +3.1900003 +2.9012501 +2.5037498 +2.0675 +1.6925 +1.4499999 +1.35125 +1.3275 +1.28375 +1.1475 +0.9187499 +0.6675 +0.49249998 +0.465 +0.5799999 +0.76124996 +0.90375 +0.93875 +0.8675 +0.76625 +0.73 +0.80625 +0.97125 +1.1375 +1.2075 +1.14 +0.97375 +0.79499996 +0.69874996 +0.70625 +0.775 +0.82375 +0.78125006 +0.63750005 +0.46749997 +0.3175 +0.18375 +0.106249996 +0.08624999 +0.106249996 +0.14 +0.17250001 +0.18875 +0.19375 +0.19874999 +0.22874999 +0.29625 +0.41125 +0.5425 +0.65749997 +0.71625 +0.71000004 +0.67125005 +0.655 +0.71625 +0.87624997 +1.0949999 +1.3262501 +1.5225 +1.6899999 +1.89 +2.2 +2.64625 +3.19125 +3.71375 +4.09 +4.23625 +4.15 +3.90375 +3.665 +3.50625 +3.3712502 +3.1900003 +2.9012501 +2.5037498 +2.0675 +1.6925 +1.4499999 +1.35125 +1.3275 +1.28375 +1.1475 +0.9187499 +0.6675 +0.49249998 +0.465 +0.5799999 +0.85625 +0.9775 +0.99375004 +0.90749997 +0.79125 +0.73875004 +0.80375 +0.96500003 +1.1400001 +1.2225001 +1.1675 +1.00625 +0.82374996 +0.70874995 +0.69375 +0.74625003 +0.785 +0.74499995 +0.61125004 +0.41875 +0.27125 +0.13624999 +0.07875 +0.09750001 +0.13125 +0.15625 +0.17375 +0.21125 +0.23125 +0.25124997 +0.32375 +0.42874998 +0.5625 +0.70250005 +0.81624997 +0.88750005 +0.89500004 +0.84625 +0.8225 +0.88625 +1.0387499 +1.24625 +1.445 +1.59625 +1.7425001 +1.9100001 +2.18125 +2.63875 +3.2037501 +3.7487497 +4.13375 +4.2974997 +4.23 +3.97875 +3.7450001 +3.5587502 +3.4087498 +3.2300003 +2.9525 +2.575 +2.155 +1.7925001 +1.5662501 +1.4875 +1.4875 +1.4675001 +1.34875 +1.1275 +0.86625004 +0.67125 +0.61625004 +0.70124996 +0.85625 +0.9775 +0.99375004 +0.90749997 +0.79125 +0.73875004 +0.80375 +0.96500003 +1.1400001 +1.2225001 +1.1675 +1.00625 +0.82374996 +0.70874995 +0.69375 +0.74625003 +0.785 +0.74499995 +0.61125004 +0.41875 +0.27125 +0.13624999 +0.07875 +0.09750001 +0.13125 +0.15625 +0.17375 +0.21125 +0.23125 +0.25124997 +0.32375 +0.42874998 +0.5625 +0.70250005 +0.81624997 +0.88750005 +0.89500004 +0.84625 +0.8225 +0.88625 +1.0387499 +1.24625 +1.445 +1.59625 +1.7425001 +1.9100001 +2.18125 +2.63875 +3.2037501 +3.7487497 +4.13375 +4.2974997 +4.23 +3.97875 +3.7450001 +3.5587502 +3.4087498 +3.2300003 +2.9525 +2.575 +2.155 +1.7925001 +1.5662501 +1.4875 +1.4875 +1.4675001 +1.34875 +1.1275 +0.86625004 +0.67125 +0.61625004 +0.70124996 +0.95375 +1.0487499 +1.0525 +0.96500003 +0.8549999 +0.8125 +0.89125 +1.0687499 +1.2587501 +1.3612499 +1.3175001 +1.15375 +0.95624995 +0.81500006 +0.77250004 +0.8012499 +0.83124995 +0.79625005 +0.6712499 +0.49000004 +0.31875 +0.21124999 +0.18625 +0.22625001 +0.29125 +0.34875003 +0.39249998 +0.42625004 +0.46000004 +0.50874996 +0.57875 +0.67625 +0.795 +0.91625 +1.01 +1.0462501 +1.0237501 +0.96500003 +0.93125 +0.97124994 +1.0975 +1.27625 +1.4475 +1.5612501 +1.63 +1.72875 +1.9475 +2.33375 +2.845 +3.3625002 +3.7424998 +3.89875 +3.835 +3.635 +3.4187498 +3.2537498 +3.13625 +3.0037498 +2.785 +2.465 +2.1012502 +1.7874999 +1.60625 +1.5675 +1.60875 +1.6275 +1.5437499 +1.3437499 +1.0862501 +0.8725 +0.78499997 +0.8325 +0.95375 +1.0487499 +1.0525 +0.96500003 +0.8549999 +0.8125 +0.89125 +1.0687499 +1.2587501 +1.3612499 +1.3175001 +1.15375 +0.95624995 +0.81500006 +0.77250004 +0.8012499 +0.83124995 +0.79625005 +0.6712499 +0.49000004 +0.31875 +0.21124999 +0.18625 +0.22625001 +0.29125 +0.34875003 +0.39249998 +0.42625004 +0.46000004 +0.50874996 +0.57875 +0.67625 +0.795 +0.91625 +1.01 +1.0462501 +1.0237501 +0.96500003 +0.93125 +0.97124994 +1.0975 +1.27625 +1.4475 +1.5612501 +1.63 +1.72875 +1.9475 +2.33375 +2.845 +3.3625002 +3.7424998 +3.89875 +3.835 +3.635 +3.4187498 +3.2537498 +3.13625 +3.0037498 +2.785 +2.465 +2.1012502 +1.7874999 +1.60625 +1.5675 +1.60875 +1.6275 +1.5437499 +1.3437499 +1.0862501 +0.8725 +0.78499997 +0.8325 +1.0649999 +1.145 +1.15125 +1.08125 +1.00125 +0.9862499 +1.09375 +1.3 +1.51125 +1.6287501 +1.59375 +1.4212501 +1.19875 +1.0187501 +0.9337499 +0.935 +0.94875 +0.91125 +0.79 +0.61750007 +0.45625 +0.36375 +0.35875 +0.425 +0.51625 +0.59499997 +0.6525 +0.68499994 +0.71000004 +0.74750006 +0.80125004 +0.87624997 +0.9575 +1.0325 +1.075 +1.065 +1.0037501 +0.9225 +0.87 +0.8925 +0.99625 +1.14625 +1.27375 +1.335 +1.3399999 +1.36125 +1.4912499 +1.78 +2.20375 +2.65375 +2.99875 +3.14625 +3.0974998 +2.935 +2.76125 +2.6525002 +2.6025 +2.54875 +2.415 +2.18 +1.8949999 +1.6474999 +1.5199999 +1.5300001 +1.6200001 +1.69375 +1.6625 +1.505 +1.275 +1.06375 +0.95625 +0.97499996 +1.0649999 +1.145 +1.15125 +1.08125 +1.00125 +0.9862499 +1.09375 +1.3 +1.51125 +1.6287501 +1.59375 +1.4212501 +1.19875 +1.0187501 +0.9337499 +0.935 +0.94875 +0.91125 +0.79 +0.61750007 +0.45625 +0.36375 +0.35875 +0.425 +0.51625 +0.59499997 +0.6525 +0.68499994 +0.71000004 +0.74750006 +0.80125004 +0.87624997 +0.9575 +1.0325 +1.075 +1.065 +1.0037501 +0.9225 +0.87 +0.8925 +0.99625 +1.14625 +1.27375 +1.335 +1.3399999 +1.36125 +1.4912499 +1.78 +2.20375 +2.65375 +2.99875 +3.14625 +3.0974998 +2.935 +2.76125 +2.6525002 +2.6025 +2.54875 +2.415 +2.18 +1.8949999 +1.6474999 +1.5199999 +1.5300001 +1.6200001 +1.69375 +1.6625 +1.505 +1.275 +1.06375 +0.95625 +0.97499996 +1.2037501 +1.2862501 +1.315 +1.28375 +1.2475001 +1.27875 +1.42125 +1.65125 +1.88375 +2.0099998 +1.97125 +1.78125 +1.5237501 +1.2937499 +1.15875 +1.115 +1.10125 +1.04875 +0.92375 +0.75000006 +0.59499997 +0.51125 +0.52125 +0.60375 +0.7075 +0.78875005 +0.83000004 +0.83625 +0.83000004 +0.83625 +0.86125 +0.9 +0.94000006 +0.9625 +0.95 +0.89 +0.7975 +0.70375 +0.65375 +0.67499995 +0.76750004 +0.89 +0.98 +0.99499995 +0.94250005 +0.89500004 +0.94000006 +1.1375 +1.46125 +1.8275 +2.1125 +2.2350001 +2.195 +2.0674999 +1.9512501 +1.90875 +1.935 +1.96625 +1.9237502 +1.775 +1.5675 +1.3812501 +1.30375 +1.3575001 +1.495 +1.62125 +1.655 +1.55875 +1.3799999 +1.2025 +1.10625 +1.1175001 +1.2037501 +1.2862501 +1.315 +1.28375 +1.2475001 +1.27875 +1.42125 +1.65125 +1.88375 +2.0099998 +1.97125 +1.78125 +1.5237501 +1.2937499 +1.15875 +1.115 +1.10125 +1.04875 +0.92375 +0.75000006 +0.59499997 +0.51125 +0.52125 +0.60375 +0.7075 +0.78875005 +0.83000004 +0.83625 +0.83000004 +0.83625 +0.86125 +0.9 +0.94000006 +0.9625 +0.95 +0.89 +0.7975 +0.70375 +0.65375 +0.67499995 +0.76750004 +0.89 +0.98 +0.99499995 +0.94250005 +0.89500004 +0.94000006 +1.1375 +1.46125 +1.8275 +2.1125 +2.2350001 +2.195 +2.0674999 +1.9512501 +1.90875 +1.935 +1.96625 +1.9237502 +1.775 +1.5675 +1.3812501 +1.30375 +1.3575001 +1.495 +1.62125 +1.655 +1.55875 +1.3799999 +1.2025 +1.10625 +1.1175001 +1.345 +1.4625 +1.5374999 +1.56375 +1.585 +1.6650001 +1.83875 +2.0875 +2.3262498 +2.4550002 +2.4087498 +2.20125 +1.90625 +1.6237501 +1.4275 +1.3274999 +1.2675 +1.1800001 +1.03625 +0.855 +0.72749996 +0.63250005 +0.62874997 +0.71375 +0.81125003 +0.87125 +0.87 +0.84749997 +0.78875005 +0.73 +0.72125 +0.73375 +0.74375 +0.72999996 +0.6775 +0.60375 +0.51125 +0.41875 +0.3775 +0.41499996 +0.51125 +0.61625 +0.67625 +0.655 +0.59125 +0.50125 +0.46250004 +0.58 +0.81625 +1.09625 +1.31375 +1.42125 +1.3975 +1.26 +1.1862501 +1.19875 +1.2874999 +1.3862501 +1.415 +1.3412501 +1.1925 +1.0525 +1.0024999 +1.0775 +1.2425001 +1.41125 +1.5062499 +1.4849999 +1.3774999 +1.25875 +1.2025001 +1.2387501 +1.345 +1.4625 +1.5374999 +1.56375 +1.585 +1.6650001 +1.83875 +2.0875 +2.3262498 +2.4550002 +2.4087498 +2.20125 +1.90625 +1.6237501 +1.4275 +1.3274999 +1.2675 +1.1800001 +1.03625 +0.855 +0.72749996 +0.63250005 +0.62874997 +0.71375 +0.81125003 +0.87125 +0.87 +0.84749997 +0.78875005 +0.73 +0.72125 +0.73375 +0.74375 +0.72999996 +0.6775 +0.60375 +0.51125 +0.41875 +0.3775 +0.41499996 +0.51125 +0.61625 +0.67625 +0.655 +0.59125 +0.50125 +0.46250004 +0.58 +0.81625 +1.09625 +1.31375 +1.42125 +1.3975 +1.26 +1.1862501 +1.19875 +1.2874999 +1.3862501 +1.415 +1.3412501 +1.1925 +1.0525 +1.0024999 +1.0775 +1.2425001 +1.41125 +1.5062499 +1.4849999 +1.3774999 +1.25875 +1.2025001 +1.2387501 +1.4525 +1.6249999 +1.7674999 +1.865 +1.9525001 +2.08 +2.2849998 +2.54375 +2.7850003 +2.9137502 +2.86625 +2.6475 +2.325 +1.99875 +1.7425001 +1.5762501 +1.4525001 +1.3162501 +1.13625 +0.96375 +0.83124995 +0.73249996 +0.70624995 +0.75625 +0.835 +0.87874997 +0.86125 +0.77875006 +0.66625 +0.565 +0.4975 +0.47 +0.46625003 +0.44875002 +0.41 +0.34625 +0.27125 +0.21125 +0.1975 +0.24125 +0.335 +0.43375 +0.50125 +0.49625 +0.4175 +0.3075 +0.23375 +0.25875 +0.40125 +0.6025 +0.78375006 +0.8725 +0.83375 +0.70125 +0.6175 +0.65625 +0.77624995 +0.91125 +0.98375005 +0.955 +0.84625 +0.73 +0.68500006 +0.755 +0.91875 +1.1049999 +1.2449999 +1.29 +1.2587501 +1.2112501 +1.215 +1.2987499 +1.4525 +1.6249999 +1.7674999 +1.865 +1.9525001 +2.08 +2.2849998 +2.54375 +2.7850003 +2.9137502 +2.86625 +2.6475 +2.325 +1.99875 +1.7425001 +1.5762501 +1.4525001 +1.3162501 +1.13625 +0.96375 +0.83124995 +0.73249996 +0.70624995 +0.75625 +0.835 +0.87874997 +0.86125 +0.77875006 +0.66625 +0.565 +0.4975 +0.47 +0.46625003 +0.44875002 +0.41 +0.34625 +0.27125 +0.21125 +0.1975 +0.24125 +0.335 +0.43375 +0.50125 +0.49625 +0.4175 +0.3075 +0.23375 +0.25875 +0.40125 +0.6025 +0.78375006 +0.8725 +0.83375 +0.70125 +0.6175 +0.65625 +0.77624995 +0.91125 +0.98375005 +0.955 +0.84625 +0.73 +0.68500006 +0.755 +0.91875 +1.1049999 +1.2449999 +1.29 +1.2587501 +1.2112501 +1.215 +1.2987499 +1.4799998 +1.7149999 +1.9300001 +2.105 +2.26 +2.43625 +2.66625 +2.935 +3.17875 +3.31375 +3.28 +3.0737498 +2.7512498 +2.4012501 +2.1 +1.8675001 +1.675 +1.48 +1.2537501 +1.05625 +0.9 +0.78875005 +0.75625 +0.78999996 +0.84125 +0.8537501 +0.79125 +0.6625 +0.51 +0.3825 +0.30375 +0.27249998 +0.26500002 +0.25375 +0.2225 +0.1775 +0.13499999 +0.1175 +0.1425 +0.21124999 +0.31 +0.4075 +0.4675 +0.4575 +0.37875 +0.26874998 +0.17999999 +0.16749999 +0.2475 +0.38625 +0.515 +0.56624997 +0.51375 +0.385 +0.29375 +0.34124997 +0.4525 +0.58 +0.6687499 +0.6625 +0.575 +0.46375 +0.405 +0.44875 +0.58625 +0.76375 +0.91999996 +1.01125 +1.04125 +1.0625 +1.1275 +1.26875 +1.4799998 +1.7149999 +1.9300001 +2.105 +2.26 +2.43625 +2.66625 +2.935 +3.17875 +3.31375 +3.28 +3.0737498 +2.7512498 +2.4012501 +2.1 +1.8675001 +1.675 +1.48 +1.2537501 +1.05625 +0.9 +0.78875005 +0.75625 +0.78999996 +0.84125 +0.8537501 +0.79125 +0.6625 +0.51 +0.3825 +0.30375 +0.27249998 +0.26500002 +0.25375 +0.2225 +0.1775 +0.13499999 +0.1175 +0.1425 +0.21124999 +0.31 +0.4075 +0.4675 +0.4575 +0.37875 +0.26874998 +0.17999999 +0.16749999 +0.2475 +0.38625 +0.515 +0.56624997 +0.51375 +0.385 +0.29375 +0.34124997 +0.4525 +0.58 +0.6687499 +0.6625 +0.575 +0.46375 +0.405 +0.44875 +0.58625 +0.76375 +0.91999996 +1.01125 +1.04125 +1.0625 +1.1275 +1.26875 +1.39 +1.68125 +1.96125 +2.20625 +2.42375 +2.645 +2.89625 +3.1725001 +3.4237502 +3.5774999 +3.5787501 +3.41375 +3.12625 +2.7912502 +2.4725 +2.195 +1.94625 +1.6925 +1.4175 +1.16 +0.97374994 +0.84375 +0.7925 +0.8225 +0.84875 +0.8175 +0.73125 +0.58124995 +0.41625 +0.28125 +0.20125 +0.175 +0.17875001 +0.185 +0.1675 +0.13874999 +0.125 +0.13499999 +0.18374999 +0.26125 +0.345 +0.42125002 +0.47125 +0.465 +0.4025 +0.3025 +0.21125 +0.17250001 +0.225 +0.3175 +0.39374998 +0.42499998 +0.36999997 +0.2475 +0.1825 +0.2175 +0.29125 +0.38125 +0.45 +0.45499998 +0.37875003 +0.26874998 +0.21874999 +0.2375 +0.31375 +0.445 +0.58625 +0.695 +0.765 +0.83124995 +0.94374996 +1.1324999 +1.39 +1.68125 +1.96125 +2.20625 +2.42375 +2.645 +2.89625 +3.1725001 +3.4237502 +3.5774999 +3.5787501 +3.41375 +3.12625 +2.7912502 +2.4725 +2.195 +1.94625 +1.6925 +1.4175 +1.16 +0.97374994 +0.84375 +0.7925 +0.8225 +0.84875 +0.8175 +0.73125 +0.58124995 +0.41625 +0.28125 +0.20125 +0.175 +0.17875001 +0.185 +0.1675 +0.13874999 +0.125 +0.13499999 +0.18374999 +0.26125 +0.345 +0.42125002 +0.47125 +0.465 +0.4025 +0.3025 +0.21125 +0.17250001 +0.225 +0.3175 +0.39374998 +0.42499998 +0.36999997 +0.2475 +0.1825 +0.2175 +0.29125 +0.38125 +0.45 +0.45499998 +0.37875003 +0.26874998 +0.21874999 +0.2375 +0.31375 +0.445 +0.58625 +0.695 +0.765 +0.83124995 +0.94374996 +1.1324999 +1.1975 +1.5224999 +1.845 +2.135 +2.3975 +2.6499999 +2.9175 +3.1975 +3.45625 +3.635 +3.68625 +3.59 +3.3775 +3.09625 +2.80125 +2.5162501 +2.2337499 +1.94125 +1.6324999 +1.33625 +1.095 +0.95124996 +0.90625 +0.92 +0.92375004 +0.86875 +0.74125004 +0.5875 +0.435 +0.31375 +0.25125 +0.26 +0.28750002 +0.29874998 +0.29375002 +0.27875 +0.27125 +0.2875 +0.32125002 +0.36874998 +0.41625002 +0.44625 +0.45 +0.4425 +0.39875004 +0.315 +0.235 +0.21625 +0.245 +0.305 +0.35625 +0.36374998 +0.31 +0.22625 +0.16874999 +0.17750001 +0.2125 +0.2575 +0.295 +0.2925 +0.22749999 +0.16 +0.1475 +0.16875 +0.18375 +0.22375001 +0.30625 +0.39500004 +0.46875 +0.5575 +0.6975 +0.91249996 +1.1975 +1.5224999 +1.845 +2.135 +2.3975 +2.6499999 +2.9175 +3.1975 +3.45625 +3.635 +3.68625 +3.59 +3.3775 +3.09625 +2.80125 +2.5162501 +2.2337499 +1.94125 +1.6324999 +1.33625 +1.095 +0.95124996 +0.90625 +0.92 +0.92375004 +0.86875 +0.74125004 +0.5875 +0.435 +0.31375 +0.25125 +0.26 +0.28750002 +0.29874998 +0.29375002 +0.27875 +0.27125 +0.2875 +0.32125002 +0.36874998 +0.41625002 +0.44625 +0.45 +0.4425 +0.39875004 +0.315 +0.235 +0.21625 +0.245 +0.305 +0.35625 +0.36374998 +0.31 +0.22625 +0.16874999 +0.17750001 +0.2125 +0.2575 +0.295 +0.2925 +0.22749999 +0.16 +0.1475 +0.16875 +0.18375 +0.22375001 +0.30625 +0.39500004 +0.46875 +0.5575 +0.6975 +0.91249996 +0.96125007 +1.29 +1.6212499 +1.9275 +2.2024999 +2.4612498 +2.72625 +2.99875 +3.255 +3.4562502 +3.5612497 +3.55 +3.4350002 +3.2475002 +3.0175002 +2.7649999 +2.49125 +2.18625 +1.86375 +1.5550001 +1.29875 +1.1324999 +1.06 +1.0450001 +1.0275 +0.96874994 +0.85499996 +0.71000004 +0.57750005 +0.4925 +0.46625 +0.47625002 +0.49375 +0.49749997 +0.4825 +0.46 +0.44 +0.42999998 +0.42624998 +0.4275 +0.42125002 +0.41375002 +0.40125 +0.3775 +0.33875 +0.28375 +0.22749999 +0.20625001 +0.21624999 +0.2525 +0.29000002 +0.3125 +0.29 +0.22375 +0.16250001 +0.155 +0.1675 +0.1725 +0.17124999 +0.15749998 +0.120000005 +0.10125 +0.12125 +0.15 +0.16625 +0.16625 +0.16375 +0.185 +0.23999998 +0.32625 +0.46500003 +0.67249995 +0.96125007 +1.29 +1.6212499 +1.9275 +2.2024999 +2.4612498 +2.72625 +2.99875 +3.255 +3.4562502 +3.5612497 +3.55 +3.4350002 +3.2475002 +3.0175002 +2.7649999 +2.49125 +2.18625 +1.86375 +1.5550001 +1.29875 +1.1324999 +1.06 +1.0450001 +1.0275 +0.96874994 +0.85499996 +0.71000004 +0.57750005 +0.4925 +0.46625 +0.47625002 +0.49375 +0.49749997 +0.4825 +0.46 +0.44 +0.42999998 +0.42624998 +0.4275 +0.42125002 +0.41375002 +0.40125 +0.3775 +0.33875 +0.28375 +0.22749999 +0.20625001 +0.21624999 +0.2525 +0.29000002 +0.3125 +0.29 +0.22375 +0.16250001 +0.155 +0.1675 +0.1725 +0.17124999 +0.15749998 +0.120000005 +0.10125 +0.12125 +0.15 +0.16625 +0.16625 +0.16375 +0.185 +0.23999998 +0.32625 +0.46500003 +0.67249995 +0.77375007 +1.08 +1.3862498 +1.6662501 +1.9150001 +2.14875 +2.38375 +2.6237502 +2.8612502 +3.06875 +3.2175002 +3.285 +3.2762504 +3.1975 +3.06625 +2.885 +2.65125 +2.3712502 +2.065 +1.76 +1.50125 +1.31625 +1.2112501 +1.1600001 +1.12 +1.0574999 +0.96625 +0.86125004 +0.77250004 +0.72249997 +0.70875 +0.715 +0.71250004 +0.68499994 +0.64 +0.58625 +0.5375 +0.49375 +0.44875 +0.39875 +0.345 +0.3025 +0.27375 +0.2525 +0.225 +0.18374999 +0.1575 +0.16 +0.1625 +0.15874998 +0.17999999 +0.2125 +0.22375001 +0.185 +0.13125 +0.12125 +0.13 +0.125 +0.1 +0.07125 +0.05875 +0.06875 +0.095 +0.12125 +0.13625 +0.13625 +0.13125 +0.135 +0.16 +0.21374999 +0.31249997 +0.49625 +0.77375007 +1.08 +1.3862498 +1.6662501 +1.9150001 +2.14875 +2.38375 +2.6237502 +2.8612502 +3.06875 +3.2175002 +3.285 +3.2762504 +3.1975 +3.06625 +2.885 +2.65125 +2.3712502 +2.065 +1.76 +1.50125 +1.31625 +1.2112501 +1.1600001 +1.12 +1.0574999 +0.96625 +0.86125004 +0.77250004 +0.72249997 +0.70875 +0.715 +0.71250004 +0.68499994 +0.64 +0.58625 +0.5375 +0.49375 +0.44875 +0.39875 +0.345 +0.3025 +0.27375 +0.2525 +0.225 +0.18374999 +0.1575 +0.16 +0.1625 +0.15874998 +0.17999999 +0.2125 +0.22375001 +0.185 +0.13125 +0.12125 +0.13 +0.125 +0.1 +0.07125 +0.05875 +0.06875 +0.095 +0.12125 +0.13625 +0.13625 +0.13125 +0.135 +0.16 +0.21374999 +0.31249997 +0.49625 +0.71375 +0.985 +1.2375 +1.4562501 +1.6424999 +1.8149999 +1.98875 +2.1725 +2.36875 +2.5575001 +2.725 +2.855 +2.9387498 +2.97 +2.9425 +2.85 +2.6899998 +2.4675 +2.2 +1.9250001 +1.67875 +1.475 +1.3399999 +1.25 +1.1824999 +1.11125 +1.0375 +0.96875 +0.92499995 +0.90999997 +0.91499996 +0.91 +0.87625 +0.80875003 +0.7199999 +0.62625 +0.545 +0.47250003 +0.4 +0.32 +0.24000001 +0.18 +0.14 +0.114999995 +0.097500004 +0.083749995 +0.09 +0.10625 +0.11625 +0.0975 +0.08375 +0.11125 +0.15499999 +0.1375 +0.088750005 +0.07125 +0.08125 +0.0775 +0.05625 +0.035 +0.0275 +0.03875 +0.065 +0.08875 +0.10125 +0.1 +0.09625 +0.1025 +0.13125 +0.18125 +0.27375 +0.45499998 +0.71375 +0.985 +1.2375 +1.4562501 +1.6424999 +1.8149999 +1.98875 +2.1725 +2.36875 +2.5575001 +2.725 +2.855 +2.9387498 +2.97 +2.9425 +2.85 +2.6899998 +2.4675 +2.2 +1.9250001 +1.67875 +1.475 +1.3399999 +1.25 +1.1824999 +1.11125 +1.0375 +0.96875 +0.92499995 +0.90999997 +0.91499996 +0.91 +0.87625 +0.80875003 +0.7199999 +0.62625 +0.545 +0.47250003 +0.4 +0.32 +0.24000001 +0.18 +0.14 +0.114999995 +0.097500004 +0.083749995 +0.09 +0.10625 +0.11625 +0.0975 +0.08375 +0.11125 +0.15499999 +0.1375 +0.088750005 +0.07125 +0.08125 +0.0775 +0.05625 +0.035 +0.0275 +0.03875 +0.065 +0.08875 +0.10125 +0.1 +0.09625 +0.1025 +0.13125 +0.18125 +0.27375 +0.45499998 +0.82250005 +1.04875 +1.2325 +1.3675001 +1.46625 +1.54875 +1.6400001 +1.75125 +1.8850001 +2.0375 +2.1999998 +2.36 +2.50875 +2.62375 +2.69 +2.68875 +2.6125002 +2.4624999 +2.2825 +2.08 +1.8599999 +1.6412499 +1.4475 +1.3275 +1.2325 +1.1512501 +1.08375 +1.04375 +1.0500001 +1.05375 +1.06375 +1.0487499 +0.98499995 +0.87249994 +0.73625 +0.605 +0.49625 +0.40750003 +0.32875 +0.24875 +0.17625001 +0.120000005 +0.07625 +0.051250003 +0.04625 +0.02375 +0.03125 +0.0575 +0.06375 +0.045 +0.037499998 +0.11125 +0.19125 +0.18625 +0.11375 +0.042499997 +0.0325 +0.03375 +0.01875 +0.00375 +0.00375 +0.0125 +0.035 +0.0575 +0.06875 +0.0675 +0.065 +0.07749999 +0.12625 +0.2075 +0.35750002 +0.57875 +0.82250005 +1.04875 +1.2325 +1.3675001 +1.46625 +1.54875 +1.6400001 +1.75125 +1.8850001 +2.0375 +2.1999998 +2.36 +2.50875 +2.62375 +2.69 +2.68875 +2.6125002 +2.4624999 +2.2825 +2.08 +1.8599999 +1.6412499 +1.4475 +1.3275 +1.2325 +1.1512501 +1.08375 +1.04375 +1.0500001 +1.05375 +1.06375 +1.0487499 +0.98499995 +0.87249994 +0.73625 +0.605 +0.49625 +0.40750003 +0.32875 +0.24875 +0.17625001 +0.120000005 +0.07625 +0.051250003 +0.04625 +0.02375 +0.03125 +0.0575 +0.06375 +0.045 +0.037499998 +0.11125 +0.19125 +0.18625 +0.11375 +0.042499997 +0.0325 +0.03375 +0.01875 +0.00375 +0.00375 +0.0125 +0.035 +0.0575 +0.06875 +0.0675 +0.065 +0.07749999 +0.12625 +0.2075 +0.35750002 +0.57875 +1.0675 +1.2512499 +1.3625001 +1.4087499 +1.4075 +1.395 +1.3937501 +1.42625 +1.4962499 +1.605 +1.7450001 +1.9187499 +2.105 +2.2675 +2.38125 +2.44625 +2.44625 +2.39625 +2.3 +2.15875 +1.9825 +1.78625 +1.5912501 +1.4175 +1.30625 +1.21875 +1.17375 +1.1774999 +1.205 +1.2237501 +1.2099999 +1.1725 +1.07875 +0.9262499 +0.74625 +0.58 +0.44875 +0.35750002 +0.28875 +0.22875002 +0.17374998 +0.122499995 +0.089999996 +0.097500004 +0.098749995 +0.07875 +0.04375 +0.0375 +0.04625 +0.043750003 +0.11624999 +0.23249999 +0.31375003 +0.30625 +0.22 +0.115 +0.04625 +0.0325 +0.03125 +0.03875 +0.0575 +0.0625 +0.067499995 +0.083749995 +0.095 +0.10249999 +0.113749996 +0.15375 +0.24249999 +0.39499998 +0.6 +0.83625007 +1.0675 +1.2512499 +1.3625001 +1.4087499 +1.4075 +1.395 +1.3937501 +1.42625 +1.4962499 +1.605 +1.7450001 +1.9187499 +2.105 +2.2675 +2.38125 +2.44625 +2.44625 +2.39625 +2.3 +2.15875 +1.9825 +1.78625 +1.5912501 +1.4175 +1.30625 +1.21875 +1.17375 +1.1774999 +1.205 +1.2237501 +1.2099999 +1.1725 +1.07875 +0.9262499 +0.74625 +0.58 +0.44875 +0.35750002 +0.28875 +0.22875002 +0.17374998 +0.122499995 +0.089999996 +0.097500004 +0.098749995 +0.07875 +0.04375 +0.0375 +0.04625 +0.043750003 +0.11624999 +0.23249999 +0.31375003 +0.30625 +0.22 +0.115 +0.04625 +0.0325 +0.03125 +0.03875 +0.0575 +0.0625 +0.067499995 +0.083749995 +0.095 +0.10249999 +0.113749996 +0.15375 +0.24249999 +0.39499998 +0.6 +0.83625007 +1.3599999 +1.5074999 +1.5587499 +1.52375 +1.4325 +1.3312501 +1.25 +1.21375 +1.23125 +1.30125 +1.4175 +1.5849999 +1.7612499 +1.92625 +2.0587502 +2.15625 +2.2175002 +2.24125 +2.22 +2.1475 +2.02875 +1.8725002 +1.69875 +1.54 +1.42125 +1.34875 +1.3299999 +1.34875 +1.38625 +1.4087499 +1.3849999 +1.32125 +1.2025 +1.0225 +0.80999994 +0.61249995 +0.46125 +0.36249998 +0.3 +0.25625 +0.21624999 +0.17875 +0.17125 +0.19125001 +0.20124999 +0.18625 +0.15875 +0.14 +0.14750001 +0.20375 +0.315 +0.42624998 +0.485 +0.45875 +0.36125 +0.23749998 +0.15625 +0.1325 +0.14750001 +0.19 +0.23124999 +0.24375 +0.235 +0.24375 +0.25875 +0.28625 +0.3275 +0.39625 +0.5075 +0.68 +0.90000004 +1.1425 +1.3599999 +1.5074999 +1.5587499 +1.52375 +1.4325 +1.3312501 +1.25 +1.21375 +1.23125 +1.30125 +1.4175 +1.5849999 +1.7612499 +1.92625 +2.0587502 +2.15625 +2.2175002 +2.24125 +2.22 +2.1475 +2.02875 +1.8725002 +1.69875 +1.54 +1.42125 +1.34875 +1.3299999 +1.34875 +1.38625 +1.4087499 +1.3849999 +1.32125 +1.2025 +1.0225 +0.80999994 +0.61249995 +0.46125 +0.36249998 +0.3 +0.25625 +0.21624999 +0.17875 +0.17125 +0.19125001 +0.20124999 +0.18625 +0.15875 +0.14 +0.14750001 +0.20375 +0.315 +0.42624998 +0.485 +0.45875 +0.36125 +0.23749998 +0.15625 +0.1325 +0.14750001 +0.19 +0.23124999 +0.24375 +0.235 +0.24375 +0.25875 +0.28625 +0.3275 +0.39625 +0.5075 +0.68 +0.90000004 +1.1425 +1.59 +1.7062501 +1.7125 +1.6175 +1.46 +1.2875 +1.145 +1.0637499 +1.04875 +1.0975001 +1.2 +1.34125 +1.4837501 +1.6112499 +1.7225 +1.8225001 +1.9025 +1.97875 +2.0262501 +2.02875 +1.9725001 +1.8675 +1.735 +1.6187501 +1.5412499 +1.49875 +1.5025 +1.54125 +1.58125 +1.595 +1.5637499 +1.5012499 +1.3725 +1.1825 +0.96000004 +0.74250007 +0.56125003 +0.43374997 +0.34875 +0.2925 +0.25249997 +0.22749999 +0.21749999 +0.24875 +0.275 +0.28375 +0.28 +0.29125002 +0.34 +0.41 +0.51125 +0.60125 +0.62874997 +0.57624996 +0.46499997 +0.3475 +0.27875 +0.2825 +0.32875 +0.39 +0.43124998 +0.435 +0.41500002 +0.41125 +0.43375 +0.4775 +0.5425 +0.63124996 +0.75875 +0.93625 +1.15625 +1.39 +1.59 +1.7062501 +1.7125 +1.6175 +1.46 +1.2875 +1.145 +1.0637499 +1.04875 +1.0975001 +1.2 +1.34125 +1.4837501 +1.6112499 +1.7225 +1.8225001 +1.9025 +1.97875 +2.0262501 +2.02875 +1.9725001 +1.8675 +1.735 +1.6187501 +1.5412499 +1.49875 +1.5025 +1.54125 +1.58125 +1.595 +1.5637499 +1.5012499 +1.3725 +1.1825 +0.96000004 +0.74250007 +0.56125003 +0.43374997 +0.34875 +0.2925 +0.25249997 +0.22749999 +0.21749999 +0.24875 +0.275 +0.28375 +0.28 +0.29125002 +0.34 +0.41 +0.51125 +0.60125 +0.62874997 +0.57624996 +0.46499997 +0.3475 +0.27875 +0.2825 +0.32875 +0.39 +0.43124998 +0.435 +0.41500002 +0.41125 +0.43375 +0.4775 +0.5425 +0.63124996 +0.75875 +0.93625 +1.15625 +1.39 +1.67125 +1.7625 +1.7437499 +1.615 +1.41375 +1.19625 +1.015 +0.90749997 +0.8825 +0.93375 +1.03 +1.14125 +1.23625 +1.3074999 +1.3675001 +1.4275 +1.5025 +1.6049999 +1.7137499 +1.785 +1.79125 +1.7362499 +1.665 +1.60875 +1.5825 +1.59375 +1.63375 +1.685 +1.7249999 +1.7449999 +1.72875 +1.665 +1.55125 +1.3825 +1.1800001 +0.96 +0.74875003 +0.56499994 +0.4175 +0.30875 +0.2475 +0.22 +0.2125 +0.22125 +0.24125001 +0.27 +0.30375 +0.35250002 +0.4275 +0.52 +0.60875 +0.66749996 +0.66499996 +0.5825 +0.45999998 +0.35375 +0.32375002 +0.37374997 +0.45875 +0.53 +0.55875003 +0.54125 +0.50124997 +0.48375 +0.51 +0.57624996 +0.6725 +0.7875 +0.92499995 +1.0962499 +1.2950001 +1.5 +1.67125 +1.7625 +1.7437499 +1.615 +1.41375 +1.19625 +1.015 +0.90749997 +0.8825 +0.93375 +1.03 +1.14125 +1.23625 +1.3074999 +1.3675001 +1.4275 +1.5025 +1.6049999 +1.7137499 +1.785 +1.79125 +1.7362499 +1.665 +1.60875 +1.5825 +1.59375 +1.63375 +1.685 +1.7249999 +1.7449999 +1.72875 +1.665 +1.55125 +1.3825 +1.1800001 +0.96 +0.74875003 +0.56499994 +0.4175 +0.30875 +0.2475 +0.22 +0.2125 +0.22125 +0.24125001 +0.27 +0.30375 +0.35250002 +0.4275 +0.52 +0.60875 +0.66749996 +0.66499996 +0.5825 +0.45999998 +0.35375 +0.32375002 +0.37374997 +0.45875 +0.53 +0.55875003 +0.54125 +0.50124997 +0.48375 +0.51 +0.57624996 +0.6725 +0.7875 +0.92499995 +1.0962499 +1.2950001 +1.5 +1.5874999 +1.65375 +1.6212499 +1.4825001 +1.26625 +1.0225 +0.81875 +0.6975 +0.67875 +0.74625 +0.855 +0.95125 +0.9975 +0.99375004 +0.96500003 +0.9599999 +1.01125 +1.1337501 +1.29125 +1.4175 +1.475 +1.4725001 +1.4475 +1.4325001 +1.4575 +1.53375 +1.6324999 +1.72 +1.7749999 +1.7925 +1.7725 +1.72875 +1.6612499 +1.5624999 +1.4225 +1.2325001 +1.0024999 +0.7525 +0.515 +0.32375002 +0.2175 +0.17875001 +0.15375 +0.14750001 +0.15875001 +0.1775 +0.20625 +0.2575 +0.345 +0.45875 +0.5575 +0.5975 +0.55875 +0.45125 +0.315 +0.21749999 +0.2225 +0.32375002 +0.45999998 +0.56375 +0.58750004 +0.5425 +0.46875 +0.43 +0.45499998 +0.5475 +0.68125 +0.8275 +0.97375 +1.1262499 +1.2874999 +1.45 +1.5874999 +1.65375 +1.6212499 +1.4825001 +1.26625 +1.0225 +0.81875 +0.6975 +0.67875 +0.74625 +0.855 +0.95125 +0.9975 +0.99375004 +0.96500003 +0.9599999 +1.01125 +1.1337501 +1.29125 +1.4175 +1.475 +1.4725001 +1.4475 +1.4325001 +1.4575 +1.53375 +1.6324999 +1.72 +1.7749999 +1.7925 +1.7725 +1.72875 +1.6612499 +1.5624999 +1.4225 +1.2325001 +1.0024999 +0.7525 +0.515 +0.32375002 +0.2175 +0.17875001 +0.15375 +0.14750001 +0.15875001 +0.1775 +0.20625 +0.2575 +0.345 +0.45875 +0.5575 +0.5975 +0.55875 +0.45125 +0.315 +0.21749999 +0.2225 +0.32375002 +0.45999998 +0.56375 +0.58750004 +0.5425 +0.46875 +0.43 +0.45499998 +0.5475 +0.68125 +0.8275 +0.97375 +1.1262499 +1.2874999 +1.45 +1.3800001 +1.43 +1.3925 +1.2575 +1.04 +0.78749996 +0.56874996 +0.44 +0.42874998 +0.515 +0.64250004 +0.73375 +0.73875004 +0.65875 +0.54 +0.4575 +0.475 +0.61249995 +0.80249995 +0.96875 +1.0575 +1.0799999 +1.0725 +1.08 +1.14625 +1.2687501 +1.41625 +1.5425001 +1.6125 +1.6312501 +1.625 +1.62625 +1.6437501 +1.65625 +1.6225001 +1.5037501 +1.285 +0.9875 +0.65875 +0.37124997 +0.20375 +0.15125 +0.12 +0.09625 +0.082499996 +0.07625 +0.07749999 +0.105000004 +0.16749999 +0.2625 +0.37125 +0.40500003 +0.34625 +0.23875001 +0.11125 +0.044999998 +0.05625 +0.1575 +0.34000003 +0.48 +0.50875 +0.44 +0.33374998 +0.27125 +0.29500002 +0.41375 +0.5875 +0.76624995 +0.92 +1.0525 +1.1700001 +1.2825 +1.3800001 +1.43 +1.3925 +1.2575 +1.04 +0.78749996 +0.56874996 +0.44 +0.42874998 +0.515 +0.64250004 +0.73375 +0.73875004 +0.65875 +0.54 +0.4575 +0.475 +0.61249995 +0.80249995 +0.96875 +1.0575 +1.0799999 +1.0725 +1.08 +1.14625 +1.2687501 +1.41625 +1.5425001 +1.6125 +1.6312501 +1.625 +1.62625 +1.6437501 +1.65625 +1.6225001 +1.5037501 +1.285 +0.9875 +0.65875 +0.37124997 +0.20375 +0.15125 +0.12 +0.09625 +0.082499996 +0.07625 +0.07749999 +0.105000004 +0.16749999 +0.2625 +0.37125 +0.40500003 +0.34625 +0.23875001 +0.11125 +0.044999998 +0.05625 +0.1575 +0.34000003 +0.48 +0.50875 +0.44 +0.33374998 +0.27125 +0.29500002 +0.41375 +0.5875 +0.76624995 +0.92 +1.0525 +1.1700001 +1.2825 +1.1474999 +1.1775 +1.1437501 +1.02 +0.80875003 +0.55375 +0.34375 +0.2175 +0.1975 +0.27875 +0.42125 +0.5125 +0.48875 +0.35625 +0.19749999 +0.08499999 +0.08500001 +0.1775 +0.33625 +0.52125 +0.62 +0.6325 +0.62 +0.625 +0.70124996 +0.8475 +1.02 +1.16125 +1.23875 +1.2650001 +1.28375 +1.3487501 +1.4712499 +1.62125 +1.72625 +1.7149999 +1.5537499 +1.24875 +0.86750007 +0.50124997 +0.2625 +0.1775 +0.1375 +0.115 +0.09625 +0.07375 +0.055 +0.05125 +0.055 +0.09375 +0.16625 +0.19624999 +0.15625 +0.0625 +0.00625 +0.0 +0.0 +0.03875 +0.17249998 +0.34375 +0.38125 +0.3025 +0.19500001 +0.120000005 +0.13875 +0.24 +0.4475 +0.65875 +0.825 +0.94125 +1.02125 +1.0875001 +1.1474999 +1.1775 +1.1437501 +1.02 +0.80875003 +0.55375 +0.34375 +0.2175 +0.1975 +0.27875 +0.42125 +0.5125 +0.48875 +0.35625 +0.19749999 +0.08499999 +0.08500001 +0.1775 +0.33625 +0.52125 +0.62 +0.6325 +0.62 +0.625 +0.70124996 +0.8475 +1.02 +1.16125 +1.23875 +1.2650001 +1.28375 +1.3487501 +1.4712499 +1.62125 +1.72625 +1.7149999 +1.5537499 +1.24875 +0.86750007 +0.50124997 +0.2625 +0.1775 +0.1375 +0.115 +0.09625 +0.07375 +0.055 +0.05125 +0.055 +0.09375 +0.16625 +0.19624999 +0.15625 +0.0625 +0.00625 +0.0 +0.0 +0.03875 +0.17249998 +0.34375 +0.38125 +0.3025 +0.19500001 +0.120000005 +0.13875 +0.24 +0.4475 +0.65875 +0.825 +0.94125 +1.02125 +1.0875001 +0.98749995 +0.9975 +0.96125 +0.84874994 +0.6475 +0.40125 +0.21749999 +0.120000005 +0.099999994 +0.13125001 +0.2525 +0.34625 +0.30874997 +0.18125 +0.04625 +0.0025 +0.0 +0.0 +0.05875 +0.18125 +0.27375 +0.26749998 +0.24499999 +0.22875 +0.27249998 +0.3925 +0.55375004 +0.685 +0.7575 +0.78749996 +0.83375 +0.95500004 +1.1775 +1.45375 +1.7 +1.8212498 +1.7525 +1.5 +1.1337501 +0.75750005 +0.46749994 +0.31 +0.26 +0.2425 +0.20874998 +0.14375001 +0.088750005 +0.06 +0.0475 +0.0575 +0.0975 +0.10124999 +0.0775 +0.0225 +0.0 +0.0 +0.0 +0.01 +0.09 +0.24749999 +0.29375 +0.22 +0.125 +0.073750004 +0.092499994 +0.1525 +0.3425 +0.58 +0.7625 +0.87249994 +0.92875004 +0.96000004 +0.98749995 +0.9975 +0.96125 +0.84874994 +0.6475 +0.40125 +0.21749999 +0.120000005 +0.099999994 +0.13125001 +0.2525 +0.34625 +0.30874997 +0.18125 +0.04625 +0.0025 +0.0 +0.0 +0.05875 +0.18125 +0.27375 +0.26749998 +0.24499999 +0.22875 +0.27249998 +0.3925 +0.55375004 +0.685 +0.7575 +0.78749996 +0.83375 +0.95500004 +1.1775 +1.45375 +1.7 +1.8212498 +1.7525 +1.5 +1.1337501 +0.75750005 +0.46749994 +0.31 +0.26 +0.2425 +0.20874998 +0.14375001 +0.088750005 +0.06 +0.0475 +0.0575 +0.0975 +0.10124999 +0.0775 +0.0225 +0.0 +0.0 +0.0 +0.01 +0.09 +0.24749999 +0.29375 +0.22 +0.125 +0.073750004 +0.092499994 +0.1525 +0.3425 +0.58 +0.7625 +0.87249994 +0.92875004 +0.96000004 +0.68875 +0.60125 +0.54499996 +0.505 +0.44374996 +0.33375 +0.19125001 +0.113749996 +0.085 +0.06375 +0.05 +0.04625 +0.09875001 +0.21375 +0.2875 +0.29625 +0.29874998 +0.32875 +0.4025 +0.52125 +0.6675 +0.83124995 +1.02125 +1.205 +1.385 +1.5475 +1.67125 +1.73 +1.70875 +1.6175001 +1.48375 +1.33875 +1.1975 +1.0625 +0.9325 +0.80625 +0.6925 +0.60625 +0.55125 +0.51125 +0.44625002 +0.32874998 +0.18124999 +0.11125 +0.085 +0.06625 +0.055 +0.05375 +0.097500004 +0.20750001 +0.2775 +0.28375 +0.29125 +0.32875 +0.41250002 +0.53625 +0.68625003 +0.85249996 +1.03875 +1.22375 +1.4024999 +1.565 +1.68875 +1.7437501 +1.7162501 +1.61875 +1.47875 +1.3299999 +1.18625 +1.0562501 +0.9275 +0.80125 +0.68875 +0.60125 +0.54499996 +0.505 +0.44374996 +0.33375 +0.19125001 +0.113749996 +0.085 +0.06375 +0.05 +0.04625 +0.09875001 +0.21375 +0.2875 +0.29625 +0.29874998 +0.32875 +0.4025 +0.52125 +0.6675 +0.83124995 +1.02125 +1.205 +1.385 +1.5475 +1.67125 +1.73 +1.70875 +1.6175001 +1.48375 +1.33875 +1.1975 +1.0625 +0.9325 +0.80625 +0.6925 +0.60625 +0.55125 +0.51125 +0.44625002 +0.32874998 +0.18124999 +0.11125 +0.085 +0.06625 +0.055 +0.05375 +0.097500004 +0.20750001 +0.2775 +0.28375 +0.29125 +0.32875 +0.41250002 +0.53625 +0.68625003 +0.85249996 +1.03875 +1.22375 +1.4024999 +1.565 +1.68875 +1.7437501 +1.7162501 +1.61875 +1.47875 +1.3299999 +1.18625 +1.0562501 +0.9275 +0.80125 +0.65125 +0.57124996 +0.52 +0.49124998 +0.44875002 +0.36374995 +0.24000001 +0.12625 +0.075 +0.0525 +0.0375 +0.05 +0.14875 +0.265 +0.33624998 +0.33875 +0.31125 +0.315 +0.36125 +0.45749998 +0.59375 +0.77 +0.96625 +1.16 +1.35 +1.5187501 +1.6474999 +1.7125 +1.7012501 +1.62375 +1.495 +1.3499999 +1.1999999 +1.05625 +0.92 +0.795 +0.69125 +0.62 +0.57500005 +0.5375 +0.47125003 +0.34875 +0.19624999 +0.09875 +0.07 +0.0575 +0.0525 +0.06125 +0.13875 +0.2325 +0.28625 +0.285 +0.2825 +0.32875 +0.41875002 +0.54875004 +0.70375 +0.89125 +1.0812501 +1.275 +1.465 +1.6362499 +1.7562501 +1.79875 +1.7524999 +1.63125 +1.4662501 +1.295 +1.14 +1.0025 +0.87625 +0.7575 +0.65125 +0.57124996 +0.52 +0.49124998 +0.44875002 +0.36374995 +0.24000001 +0.12625 +0.075 +0.0525 +0.0375 +0.05 +0.14875 +0.265 +0.33624998 +0.33875 +0.31125 +0.315 +0.36125 +0.45749998 +0.59375 +0.77 +0.96625 +1.16 +1.35 +1.5187501 +1.6474999 +1.7125 +1.7012501 +1.62375 +1.495 +1.3499999 +1.1999999 +1.05625 +0.92 +0.795 +0.69125 +0.62 +0.57500005 +0.5375 +0.47125003 +0.34875 +0.19624999 +0.09875 +0.07 +0.0575 +0.0525 +0.06125 +0.13875 +0.2325 +0.28625 +0.285 +0.2825 +0.32875 +0.41875002 +0.54875004 +0.70375 +0.89125 +1.0812501 +1.275 +1.465 +1.6362499 +1.7562501 +1.79875 +1.7524999 +1.63125 +1.4662501 +1.295 +1.14 +1.0025 +0.87625 +0.7575 +0.56500006 +0.495 +0.46125 +0.45125002 +0.44375 +0.405 +0.31625 +0.19749999 +0.10375 +0.05375 +0.0425 +0.098749995 +0.22125 +0.34625 +0.41000003 +0.39875 +0.34125 +0.29125 +0.28875 +0.3475 +0.46375 +0.63124996 +0.8375 +1.05 +1.25375 +1.435 +1.5749999 +1.65375 +1.6624999 +1.60625 +1.4912499 +1.34375 +1.1812501 +1.02125 +0.87750006 +0.75625 +0.675 +0.6325 +0.615 +0.58875 +0.52125 +0.39250004 +0.22875 +0.095 +0.04125 +0.035 +0.053749997 +0.125 +0.225 +0.305 +0.32625 +0.30999997 +0.31375 +0.36624998 +0.4675 +0.60375 +0.775 +0.9650001 +1.16375 +1.37 +1.5749998 +1.7550001 +1.8725 +1.8937501 +1.80625 +1.635 +1.4200001 +1.21 +1.03 +0.885 +0.76500005 +0.65875 +0.56500006 +0.495 +0.46125 +0.45125002 +0.44375 +0.405 +0.31625 +0.19749999 +0.10375 +0.05375 +0.0425 +0.098749995 +0.22125 +0.34625 +0.41000003 +0.39875 +0.34125 +0.29125 +0.28875 +0.3475 +0.46375 +0.63124996 +0.8375 +1.05 +1.25375 +1.435 +1.5749999 +1.65375 +1.6624999 +1.60625 +1.4912499 +1.34375 +1.1812501 +1.02125 +0.87750006 +0.75625 +0.675 +0.6325 +0.615 +0.58875 +0.52125 +0.39250004 +0.22875 +0.095 +0.04125 +0.035 +0.053749997 +0.125 +0.225 +0.305 +0.32625 +0.30999997 +0.31375 +0.36624998 +0.4675 +0.60375 +0.775 +0.9650001 +1.16375 +1.37 +1.5749998 +1.7550001 +1.8725 +1.8937501 +1.80625 +1.635 +1.4200001 +1.21 +1.03 +0.885 +0.76500005 +0.65875 +0.45624998 +0.40125003 +0.37875003 +0.38750005 +0.41125 +0.42249998 +0.39 +0.30624998 +0.20124999 +0.11625 +0.09625 +0.16125 +0.27625003 +0.39124998 +0.45875 +0.44374996 +0.35999998 +0.26375 +0.21375 +0.22875 +0.31875 +0.46625 +0.67 +0.89375 +1.10375 +1.2887499 +1.43125 +1.5225 +1.5537499 +1.5225 +1.42875 +1.2837499 +1.11 +0.93625003 +0.78499997 +0.67875 +0.63 +0.63 +0.65000004 +0.64625 +0.585 +0.45250002 +0.2825 +0.13125 +0.05875 +0.07875 +0.165 +0.29125 +0.40125 +0.44875002 +0.43625 +0.41625002 +0.43375 +0.495 +0.60125005 +0.7375 +0.9 +1.0812501 +1.27375 +1.4799999 +1.69125 +1.8712499 +1.9699999 +1.9562501 +1.8187499 +1.5875001 +1.31875 +1.06625 +0.865 +0.72 +0.61625 +0.53125 +0.45624998 +0.40125003 +0.37875003 +0.38750005 +0.41125 +0.42249998 +0.39 +0.30624998 +0.20124999 +0.11625 +0.09625 +0.16125 +0.27625003 +0.39124998 +0.45875 +0.44374996 +0.35999998 +0.26375 +0.21375 +0.22875 +0.31875 +0.46625 +0.67 +0.89375 +1.10375 +1.2887499 +1.43125 +1.5225 +1.5537499 +1.5225 +1.42875 +1.2837499 +1.11 +0.93625003 +0.78499997 +0.67875 +0.63 +0.63 +0.65000004 +0.64625 +0.585 +0.45250002 +0.2825 +0.13125 +0.05875 +0.07875 +0.165 +0.29125 +0.40125 +0.44875002 +0.43625 +0.41625002 +0.43375 +0.495 +0.60125005 +0.7375 +0.9 +1.0812501 +1.27375 +1.4799999 +1.69125 +1.8712499 +1.9699999 +1.9562501 +1.8187499 +1.5875001 +1.31875 +1.06625 +0.865 +0.72 +0.61625 +0.53125 +0.36124998 +0.32249996 +0.29999998 +0.3075 +0.34875 +0.39375 +0.40625 +0.365 +0.27499998 +0.1775 +0.1275 +0.16375001 +0.26 +0.37124997 +0.44624996 +0.44874996 +0.36375 +0.25125 +0.16375 +0.1425 +0.2075 +0.34375003 +0.52624995 +0.72875 +0.9325 +1.0987499 +1.2475 +1.36375 +1.42 +1.4012501 +1.30625 +1.175 +0.99750006 +0.81375 +0.66125 +0.575 +0.56625 +0.61625004 +0.68125004 +0.70375 +0.65 +0.52125 +0.36 +0.26125002 +0.23499998 +0.29625002 +0.41750002 +0.54875 +0.645 +0.65999997 +0.64125 +0.63 +0.65375 +0.72375 +0.83000004 +0.95124996 +1.0825 +1.23 +1.3875 +1.5787499 +1.77875 +1.9350001 +1.9950001 +1.9375 +1.7475001 +1.4625 +1.1475 +0.86749995 +0.66249996 +0.53374994 +0.46 +0.40874997 +0.36124998 +0.32249996 +0.29999998 +0.3075 +0.34875 +0.39375 +0.40625 +0.365 +0.27499998 +0.1775 +0.1275 +0.16375001 +0.26 +0.37124997 +0.44624996 +0.44874996 +0.36375 +0.25125 +0.16375 +0.1425 +0.2075 +0.34375003 +0.52624995 +0.72875 +0.9325 +1.0987499 +1.2475 +1.36375 +1.42 +1.4012501 +1.30625 +1.175 +0.99750006 +0.81375 +0.66125 +0.575 +0.56625 +0.61625004 +0.68125004 +0.70375 +0.65 +0.52125 +0.36 +0.26125002 +0.23499998 +0.29625002 +0.41750002 +0.54875 +0.645 +0.65999997 +0.64125 +0.63 +0.65375 +0.72375 +0.83000004 +0.95124996 +1.0825 +1.23 +1.3875 +1.5787499 +1.77875 +1.9350001 +1.9950001 +1.9375 +1.7475001 +1.4625 +1.1475 +0.86749995 +0.66249996 +0.53374994 +0.46 +0.40874997 +0.29999998 +0.27749997 +0.25125 +0.24 +0.27374998 +0.335 +0.3775 +0.36375 +0.28249997 +0.17 +0.089999996 +0.096250005 +0.165 +0.29125002 +0.39625 +0.42624998 +0.37125 +0.25875 +0.1525 +0.1075 +0.1525 +0.275 +0.44374996 +0.62125 +0.79 +0.93500006 +1.0687499 +1.1825 +1.2574999 +1.2675 +1.1975001 +1.06625 +0.89374995 +0.7062501 +0.5525 +0.4825 +0.50875 +0.60249996 +0.71125 +0.765 +0.7225 +0.5975 +0.46375 +0.3925 +0.40750003 +0.51375 +0.66875005 +0.8125 +0.89625 +0.90874994 +0.885 +0.87375 +0.90875 +0.98999995 +1.0962499 +1.2012498 +1.29375 +1.38375 +1.4962502 +1.63875 +1.7900001 +1.8987501 +1.91375 +1.81625 +1.5875001 +1.26875 +0.9325 +0.64374995 +0.45125 +0.35500002 +0.32249996 +0.31624997 +0.29999998 +0.27749997 +0.25125 +0.24 +0.27374998 +0.335 +0.3775 +0.36375 +0.28249997 +0.17 +0.089999996 +0.096250005 +0.165 +0.29125002 +0.39625 +0.42624998 +0.37125 +0.25875 +0.1525 +0.1075 +0.1525 +0.275 +0.44374996 +0.62125 +0.79 +0.93500006 +1.0687499 +1.1825 +1.2574999 +1.2675 +1.1975001 +1.06625 +0.89374995 +0.7062501 +0.5525 +0.4825 +0.50875 +0.60249996 +0.71125 +0.765 +0.7225 +0.5975 +0.46375 +0.3925 +0.40750003 +0.51375 +0.66875005 +0.8125 +0.89625 +0.90874994 +0.885 +0.87375 +0.90875 +0.98999995 +1.0962499 +1.2012498 +1.29375 +1.38375 +1.4962502 +1.63875 +1.7900001 +1.8987501 +1.91375 +1.81625 +1.5875001 +1.26875 +0.9325 +0.64374995 +0.45125 +0.35500002 +0.32249996 +0.31624997 +0.27749997 +0.26 +0.22749999 +0.20375 +0.22 +0.28625 +0.35000002 +0.35625 +0.285 +0.15625 +0.05375 +0.035 +0.08125 +0.19375 +0.33375 +0.41500002 +0.39000002 +0.2925 +0.18375 +0.1275 +0.15624999 +0.26375 +0.4175 +0.5725 +0.73 +0.84125 +0.94 +1.04625 +1.13125 +1.1675 +1.12375 +1.0225 +0.86125004 +0.6675 +0.51375 +0.44875 +0.48999998 +0.6125 +0.74875003 +0.82375 +0.79375005 +0.67125 +0.535 +0.47875 +0.5175 +0.65500003 +0.83375 +1.0025 +1.0925 +1.0825 +1.0575 +1.04875 +1.09625 +1.19625 +1.3125 +1.4087499 +1.4725 +1.52 +1.5637501 +1.63625 +1.7187501 +1.7675 +1.7462499 +1.6237501 +1.375 +1.04875 +0.71124995 +0.43499997 +0.265 +0.2175 +0.23250002 +0.2625 +0.27749997 +0.26 +0.22749999 +0.20375 +0.22 +0.28625 +0.35000002 +0.35625 +0.285 +0.15625 +0.05375 +0.035 +0.08125 +0.19375 +0.33375 +0.41500002 +0.39000002 +0.2925 +0.18375 +0.1275 +0.15624999 +0.26375 +0.4175 +0.5725 +0.73 +0.84125 +0.94 +1.04625 +1.13125 +1.1675 +1.12375 +1.0225 +0.86125004 +0.6675 +0.51375 +0.44875 +0.48999998 +0.6125 +0.74875003 +0.82375 +0.79375005 +0.67125 +0.535 +0.47875 +0.5175 +0.65500003 +0.83375 +1.0025 +1.0925 +1.0825 +1.0575 +1.04875 +1.09625 +1.19625 +1.3125 +1.4087499 +1.4725 +1.52 +1.5637501 +1.63625 +1.7187501 +1.7675 +1.7462499 +1.6237501 +1.375 +1.04875 +0.71124995 +0.43499997 +0.265 +0.2175 +0.23250002 +0.2625 +0.28125 +0.26749998 +0.23125 +0.20125002 +0.21625 +0.29 +0.37875 +0.415 +0.35875 +0.22 +0.07874999 +0.02375 +0.04875 +0.15875 +0.32625 +0.4525 +0.46625 +0.36875 +0.25375003 +0.18875 +0.20375 +0.29875 +0.4425 +0.62874997 +0.76875 +0.8625 +0.93 +0.99875003 +1.09125 +1.14375 +1.1487501 +1.07625 +0.9225 +0.72749996 +0.56125 +0.48125 +0.515 +0.63625 +0.78000003 +0.86625004 +0.84875 +0.735 +0.595 +0.5125 +0.5575 +0.70124996 +0.91875005 +1.1062499 +1.19625 +1.1825 +1.11375 +1.11 +1.1675 +1.28625 +1.4187499 +1.5324999 +1.6087501 +1.62 +1.59625 +1.57875 +1.58375 +1.58625 +1.54 +1.40125 +1.16375 +0.85375005 +0.535 +0.27625 +0.155 +0.1575 +0.2125 +0.26125 +0.28125 +0.26749998 +0.23125 +0.20125002 +0.21625 +0.29 +0.37875 +0.415 +0.35875 +0.22 +0.07874999 +0.02375 +0.04875 +0.15875 +0.32625 +0.4525 +0.46625 +0.36875 +0.25375003 +0.18875 +0.20375 +0.29875 +0.4425 +0.62874997 +0.76875 +0.8625 +0.93 +0.99875003 +1.09125 +1.14375 +1.1487501 +1.07625 +0.9225 +0.72749996 +0.56125 +0.48125 +0.515 +0.63625 +0.78000003 +0.86625004 +0.84875 +0.735 +0.595 +0.5125 +0.5575 +0.70124996 +0.91875005 +1.1062499 +1.19625 +1.1825 +1.11375 +1.11 +1.1675 +1.28625 +1.4187499 +1.5324999 +1.6087501 +1.62 +1.59625 +1.57875 +1.58375 +1.58625 +1.54 +1.40125 +1.16375 +0.85375005 +0.535 +0.27625 +0.155 +0.1575 +0.2125 +0.26125 +0.305 +0.29125 +0.25875 +0.235 +0.2625 +0.36125 +0.48624998 +0.56 +0.53 +0.395 +0.21875 +0.10375 +0.1075 +0.225 +0.40625003 +0.55625 +0.59875 +0.51750004 +0.37875 +0.27625 +0.27875 +0.3775 +0.55625 +0.73749995 +0.87125003 +0.95624995 +1.0137501 +1.07125 +1.1475 +1.2162501 +1.23875 +1.18125 +1.0375 +0.84125 +0.65875006 +0.54875 +0.5525 +0.6499999 +0.7825 +0.875 +0.87500006 +0.78000003 +0.64750004 +0.565 +0.59625 +0.74875 +0.96375 +1.155 +1.2525 +1.24 +1.17125 +1.12375 +1.1675 +1.2937499 +1.4687499 +1.62375 +1.6987499 +1.685 +1.6075 +1.52125 +1.4525001 +1.3987501 +1.32875 +1.19625 +0.9875 +0.71375 +0.425 +0.19624999 +0.145 +0.18125 +0.23875 +0.285 +0.305 +0.29125 +0.25875 +0.235 +0.2625 +0.36125 +0.48624998 +0.56 +0.53 +0.395 +0.21875 +0.10375 +0.1075 +0.225 +0.40625003 +0.55625 +0.59875 +0.51750004 +0.37875 +0.27625 +0.27875 +0.3775 +0.55625 +0.73749995 +0.87125003 +0.95624995 +1.0137501 +1.07125 +1.1475 +1.2162501 +1.23875 +1.18125 +1.0375 +0.84125 +0.65875006 +0.54875 +0.5525 +0.6499999 +0.7825 +0.875 +0.87500006 +0.78000003 +0.64750004 +0.565 +0.59625 +0.74875 +0.96375 +1.155 +1.2525 +1.24 +1.17125 +1.12375 +1.1675 +1.2937499 +1.4687499 +1.62375 +1.6987499 +1.685 +1.6075 +1.52125 +1.4525001 +1.3987501 +1.32875 +1.19625 +0.9875 +0.71375 +0.425 +0.19624999 +0.145 +0.18125 +0.23875 +0.285 +0.33125 +0.33499998 +0.31374997 +0.30375 +0.35125 +0.4775 +0.64124995 +0.76125 +0.76874995 +0.64874995 +0.46125 +0.30625 +0.26999998 +0.3725 +0.55375004 +0.70875 +0.75624996 +0.68 +0.5375 +0.4175 +0.395 +0.48625004 +0.65125 +0.8275 +0.9575 +1.03625 +1.08625 +1.13375 +1.19625 +1.26125 +1.28625 +1.24125 +1.1125 +0.9275 +0.73375 +0.59875 +0.56375 +0.62375 +0.7375 +0.83500004 +0.86 +0.8025 +0.70124996 +0.63624996 +0.67125 +0.82374996 +1.0450001 +1.25125 +1.3725 +1.3774999 +1.3100001 +1.25125 +1.27 +1.3850001 +1.5600001 +1.7175 +1.79 +1.7537501 +1.63 +1.4725 +1.3349999 +1.23125 +1.1425 +1.0337499 +0.87 +0.64125 +0.3825 +0.18875 +0.16375 +0.20875 +0.265 +0.3125 +0.33125 +0.33499998 +0.31374997 +0.30375 +0.35125 +0.4775 +0.64124995 +0.76125 +0.76874995 +0.64874995 +0.46125 +0.30625 +0.26999998 +0.3725 +0.55375004 +0.70875 +0.75624996 +0.68 +0.5375 +0.4175 +0.395 +0.48625004 +0.65125 +0.8275 +0.9575 +1.03625 +1.08625 +1.13375 +1.19625 +1.26125 +1.28625 +1.24125 +1.1125 +0.9275 +0.73375 +0.59875 +0.56375 +0.62375 +0.7375 +0.83500004 +0.86 +0.8025 +0.70124996 +0.63624996 +0.67125 +0.82374996 +1.0450001 +1.25125 +1.3725 +1.3774999 +1.3100001 +1.25125 +1.27 +1.3850001 +1.5600001 +1.7175 +1.79 +1.7537501 +1.63 +1.4725 +1.3349999 +1.23125 +1.1425 +1.0337499 +0.87 +0.64125 +0.3825 +0.18875 +0.16375 +0.20875 +0.265 +0.3125 +0.36375 +0.40124997 +0.4025 +0.4 +0.45499998 +0.59625 +0.79125 +0.95125 +0.995 +0.89875 +0.71250004 +0.53875005 +0.475 +0.55 +0.71125007 +0.85625 +0.9 +0.81874996 +0.66375005 +0.52125 +0.46874997 +0.53125 +0.67375004 +0.82875 +0.9462501 +1.015 +1.0462501 +1.07625 +1.12 +1.1700001 +1.1987499 +1.1725 +1.07375 +0.9175 +0.74 +0.59749997 +0.53000003 +0.55625 +0.65 +0.76124996 +0.82624996 +0.82750005 +0.78499997 +0.76375 +0.825 +0.995 +1.245 +1.49625 +1.6662499 +1.7149999 +1.66125 +1.5837499 +1.56125 +1.6312501 +1.7674999 +1.9000001 +1.9537499 +1.88375 +1.705 +1.475 +1.26375 +1.10875 +1.0075 +0.92375004 +0.8025 +0.6175 +0.39375 +0.2125 +0.1775 +0.2175 +0.27125 +0.31625 +0.36375 +0.40124997 +0.4025 +0.4 +0.45499998 +0.59625 +0.79125 +0.95125 +0.995 +0.89875 +0.71250004 +0.53875005 +0.475 +0.55 +0.71125007 +0.85625 +0.9 +0.81874996 +0.66375005 +0.52125 +0.46874997 +0.53125 +0.67375004 +0.82875 +0.9462501 +1.015 +1.0462501 +1.07625 +1.12 +1.1700001 +1.1987499 +1.1725 +1.07375 +0.9175 +0.74 +0.59749997 +0.53000003 +0.55625 +0.65 +0.76124996 +0.82624996 +0.82750005 +0.78499997 +0.76375 +0.825 +0.995 +1.245 +1.49625 +1.6662499 +1.7149999 +1.66125 +1.5837499 +1.56125 +1.6312501 +1.7674999 +1.9000001 +1.9537499 +1.88375 +1.705 +1.475 +1.26375 +1.10875 +1.0075 +0.92375004 +0.8025 +0.6175 +0.39375 +0.2125 +0.1775 +0.2175 +0.27125 +0.31625 +0.42125005 +0.5 +0.50374997 +0.48875 +0.53125 +0.66999996 +0.87625 +1.0600001 +1.135 +1.06625 +0.89000005 +0.71125 +0.63125 +0.6825 +0.8225 +0.95250005 +0.98625 +0.89625007 +0.72375 +0.555 +0.46875 +0.49124998 +0.59250003 +0.7149999 +0.80499995 +0.84875 +0.8575 +0.88374996 +0.9175 +0.94124997 +0.9525 +0.9562501 +0.91125005 +0.81 +0.68 +0.55625 +0.48 +0.48625 +0.5675 +0.695 +0.815 +0.89 +0.9275 +0.99125 +1.1125 +1.31375 +1.5975 +1.9200001 +2.175 +2.29 +2.2675 +2.175 +2.09375 +2.08375 +2.14625 +2.21875 +2.2237499 +2.1025 +1.86125 +1.55375 +1.2662499 +1.05625 +0.9375 +0.87 +0.78375006 +0.63375 +0.43 +0.24 +0.17500001 +0.2 +0.24875 +0.315 +0.42125005 +0.5 +0.50374997 +0.48875 +0.53125 +0.66999996 +0.87625 +1.0600001 +1.135 +1.06625 +0.89000005 +0.71125 +0.63125 +0.6825 +0.8225 +0.95250005 +0.98625 +0.89625007 +0.72375 +0.555 +0.46875 +0.49124998 +0.59250003 +0.7149999 +0.80499995 +0.84875 +0.8575 +0.88374996 +0.9175 +0.94124997 +0.9525 +0.9562501 +0.91125005 +0.81 +0.68 +0.55625 +0.48 +0.48625 +0.5675 +0.695 +0.815 +0.89 +0.9275 +0.99125 +1.1125 +1.31375 +1.5975 +1.9200001 +2.175 +2.29 +2.2675 +2.175 +2.09375 +2.08375 +2.14625 +2.21875 +2.2237499 +2.1025 +1.86125 +1.55375 +1.2662499 +1.05625 +0.9375 +0.87 +0.78375006 +0.63375 +0.43 +0.24 +0.17500001 +0.2 +0.24875 +0.315 +0.51374996 +0.60249996 +0.59625006 +0.555 +0.56375 +0.67375 +0.86625 +1.0587499 +1.15875 +1.115 +0.9574999 +0.785 +0.69874996 +0.73625004 +0.8575 +0.9775 +1.0012499 +0.90250003 +0.71500003 +0.53875 +0.44875 +0.41875 +0.4425 +0.5125 +0.56874996 +0.59125 +0.615 +0.63124996 +0.6425 +0.65374994 +0.66875005 +0.68375003 +0.69000006 +0.66999996 +0.61125004 +0.53375006 +0.47625 +0.47 +0.54499996 +0.6875 +0.85875 +1.0237501 +1.17125 +1.315 +1.495 +1.7524999 +2.09125 +2.4625 +2.805 +3.0087502 +3.04125 +2.9687502 +2.83125 +2.6975 +2.6475 +2.6375 +2.5749998 +2.395 +2.0875 +1.71 +1.3525 +1.0912501 +0.95 +0.88750005 +0.82375 +0.69375 +0.48875 +0.28375 +0.17250001 +0.16499999 +0.2225 +0.35000002 +0.51374996 +0.60249996 +0.59625006 +0.555 +0.56375 +0.67375 +0.86625 +1.0587499 +1.15875 +1.115 +0.9574999 +0.785 +0.69874996 +0.73625004 +0.8575 +0.9775 +1.0012499 +0.90250003 +0.71500003 +0.53875 +0.44875 +0.41875 +0.4425 +0.5125 +0.56874996 +0.59125 +0.615 +0.63124996 +0.6425 +0.65374994 +0.66875005 +0.68375003 +0.69000006 +0.66999996 +0.61125004 +0.53375006 +0.47625 +0.47 +0.54499996 +0.6875 +0.85875 +1.0237501 +1.17125 +1.315 +1.495 +1.7524999 +2.09125 +2.4625 +2.805 +3.0087502 +3.04125 +2.9687502 +2.83125 +2.6975 +2.6475 +2.6375 +2.5749998 +2.395 +2.0875 +1.71 +1.3525 +1.0912501 +0.95 +0.88750005 +0.82375 +0.69375 +0.48875 +0.28375 +0.17250001 +0.16499999 +0.2225 +0.35000002 +0.60625 +0.69000006 +0.65999997 +0.5825 +0.545 +0.615 +0.78499997 +0.975 +1.09 +1.06875 +0.935 +0.77375 +0.68874997 +0.7175001 +0.82875 +0.93875 +0.95875 +0.8575001 +0.665 +0.49624997 +0.38625002 +0.32 +0.30125 +0.31375 +0.33874997 +0.35875 +0.36875 +0.36999997 +0.36999997 +0.37999997 +0.41375 +0.47375 +0.54875 +0.61249995 +0.64375 +0.63125 +0.59749997 +0.5875 +0.645 +0.78625 +0.98625 +1.2075 +1.41125 +1.605 +1.8262501 +2.1225 +2.515 +2.9625 +3.3799999 +3.67375 +3.78 +3.71125 +3.52125 +3.2962496 +3.1275 +3.03875 +2.91625 +2.68875 +2.3375 +1.9087499 +1.50375 +1.205 +1.0425 +0.9775001 +0.925 +0.805 +0.59625006 +0.365 +0.20500001 +0.16125 +0.2425 +0.42499998 +0.60625 +0.69000006 +0.65999997 +0.5825 +0.545 +0.615 +0.78499997 +0.975 +1.09 +1.06875 +0.935 +0.77375 +0.68874997 +0.7175001 +0.82875 +0.93875 +0.95875 +0.8575001 +0.665 +0.49624997 +0.38625002 +0.32 +0.30125 +0.31375 +0.33874997 +0.35875 +0.36875 +0.36999997 +0.36999997 +0.37999997 +0.41375 +0.47375 +0.54875 +0.61249995 +0.64375 +0.63125 +0.59749997 +0.5875 +0.645 +0.78625 +0.98625 +1.2075 +1.41125 +1.605 +1.8262501 +2.1225 +2.515 +2.9625 +3.3799999 +3.67375 +3.78 +3.71125 +3.52125 +3.2962496 +3.1275 +3.03875 +2.91625 +2.68875 +2.3375 +1.9087499 +1.50375 +1.205 +1.0425 +0.9775001 +0.925 +0.805 +0.59625006 +0.365 +0.20500001 +0.16125 +0.2425 +0.42499998 +0.67375004 +0.7425 +0.69124997 +0.575 +0.49625 +0.53000003 +0.67499995 +0.86125 +0.98999995 +0.99125 +0.88000005 +0.73375 +0.64750004 +0.66875 +0.77 +0.87624997 +0.8975 +0.8 +0.6125 +0.4325 +0.31 +0.21749999 +0.16874999 +0.16125001 +0.17375 +0.18875 +0.20125 +0.20500001 +0.20500001 +0.22125 +0.275 +0.37125003 +0.50625 +0.63625 +0.73 +0.7625 +0.745 +0.72749996 +0.76375 +0.8875 +1.0899999 +1.32125 +1.545 +1.7525 +1.9762499 +2.2724998 +2.67625 +3.1612499 +3.6437502 +4.005 +4.165 +4.1150002 +3.9050002 +3.6225002 +3.4025 +3.2675 +3.12 +2.88125 +2.5225 +2.085 +1.6650001 +1.355 +1.1875 +1.125 +1.08 +0.96125007 +0.74999994 +0.495 +0.29375002 +0.23 +0.31875002 +0.5025 +0.67375004 +0.7425 +0.69124997 +0.575 +0.49625 +0.53000003 +0.67499995 +0.86125 +0.98999995 +0.99125 +0.88000005 +0.73375 +0.64750004 +0.66875 +0.77 +0.87624997 +0.8975 +0.8 +0.6125 +0.4325 +0.31 +0.21749999 +0.16874999 +0.16125001 +0.17375 +0.18875 +0.20125 +0.20500001 +0.20500001 +0.22125 +0.275 +0.37125003 +0.50625 +0.63625 +0.73 +0.7625 +0.745 +0.72749996 +0.76375 +0.8875 +1.0899999 +1.32125 +1.545 +1.7525 +1.9762499 +2.2724998 +2.67625 +3.1612499 +3.6437502 +4.005 +4.165 +4.1150002 +3.9050002 +3.6225002 +3.4025 +3.2675 +3.12 +2.88125 +2.5225 +2.085 +1.6650001 +1.355 +1.1875 +1.125 +1.08 +0.96125007 +0.74999994 +0.495 +0.29375002 +0.23 +0.31875002 +0.5025 +0.7175 +0.7675 +0.69375 +0.55499995 +0.45250002 +0.46499997 +0.59625006 +0.78375 +0.925 +0.94875 +0.85375 +0.715 +0.62625 +0.63624996 +0.725 +0.82750005 +0.855 +0.77 +0.595 +0.38875002 +0.2575 +0.15625 +0.12249999 +0.14750001 +0.1725 +0.18375 +0.17875001 +0.19500002 +0.20500001 +0.23125 +0.32625 +0.46249998 +0.6175 +0.75874996 +0.84749997 +0.88125 +0.8625 +0.82750005 +0.8475 +0.96875006 +1.165 +1.3774999 +1.5574999 +1.7000002 +1.8762499 +2.12375 +2.48625 +2.98875 +3.50375 +3.89625 +4.0625 +4.01875 +3.82 +3.53125 +3.3349998 +3.20375 +3.0774999 +2.875 +2.5575 +2.15875 +1.76625 +1.4725 +1.32125 +1.27625 +1.245 +1.1387501 +0.9325 +0.66999996 +0.44625002 +0.35375002 +0.41500002 +0.57124996 +0.7175 +0.7675 +0.69375 +0.55499995 +0.45250002 +0.46499997 +0.59625006 +0.78375 +0.925 +0.94875 +0.85375 +0.715 +0.62625 +0.63624996 +0.725 +0.82750005 +0.855 +0.77 +0.595 +0.38875002 +0.2575 +0.15625 +0.12249999 +0.14750001 +0.1725 +0.18375 +0.17875001 +0.19500002 +0.20500001 +0.23125 +0.32625 +0.46249998 +0.6175 +0.75874996 +0.84749997 +0.88125 +0.8625 +0.82750005 +0.8475 +0.96875006 +1.165 +1.3774999 +1.5574999 +1.7000002 +1.8762499 +2.12375 +2.48625 +2.98875 +3.50375 +3.89625 +4.0625 +4.01875 +3.82 +3.53125 +3.3349998 +3.20375 +3.0774999 +2.875 +2.5575 +2.15875 +1.76625 +1.4725 +1.32125 +1.27625 +1.245 +1.1387501 +0.9325 +0.66999996 +0.44625002 +0.35375002 +0.41500002 +0.57124996 +0.75749993 +0.78749996 +0.705 +0.5625 +0.45625 +0.46500003 +0.59749997 +0.79249996 +0.9475 +0.98625 +0.90125 +0.7575 +0.65250003 +0.64 +0.71500003 +0.8125 +0.85249996 +0.78375 +0.62125 +0.42624998 +0.26999998 +0.1925 +0.19375001 +0.24375 +0.2975 +0.335 +0.35125 +0.36 +0.38125 +0.42875 +0.5175 +0.63875 +0.775 +0.895 +0.96250004 +0.96124995 +0.91125 +0.86375 +0.87249994 +0.96750003 +1.1324999 +1.3075 +1.4374999 +1.5162499 +1.5887501 +1.74625 +2.04875 +2.4837499 +2.96 +3.3400002 +3.5175002 +3.4750001 +3.28375 +3.0612502 +2.89875 +2.8175 +2.7575 +2.6325 +2.39625 +2.0687501 +1.735 +1.48875 +1.3775 +1.3649999 +1.36625 +1.29125 +1.1075 +0.85125005 +0.61625 +0.4975 +0.52125 +0.64 +0.75749993 +0.78749996 +0.705 +0.5625 +0.45625 +0.46500003 +0.59749997 +0.79249996 +0.9475 +0.98625 +0.90125 +0.7575 +0.65250003 +0.64 +0.71500003 +0.8125 +0.85249996 +0.78375 +0.62125 +0.42624998 +0.26999998 +0.1925 +0.19375001 +0.24375 +0.2975 +0.335 +0.35125 +0.36 +0.38125 +0.42875 +0.5175 +0.63875 +0.775 +0.895 +0.96250004 +0.96124995 +0.91125 +0.86375 +0.87249994 +0.96750003 +1.1324999 +1.3075 +1.4374999 +1.5162499 +1.5887501 +1.74625 +2.04875 +2.4837499 +2.96 +3.3400002 +3.5175002 +3.4750001 +3.28375 +3.0612502 +2.89875 +2.8175 +2.7575 +2.6325 +2.39625 +2.0687501 +1.735 +1.48875 +1.3775 +1.3649999 +1.36625 +1.29125 +1.1075 +0.85125005 +0.61625 +0.4975 +0.52125 +0.64 +0.82124996 +0.84125 +0.76624995 +0.6375 +0.54749995 +0.5625 +0.705 +0.90875006 +1.0712501 +1.1187501 +1.03 +0.87125003 +0.73875 +0.695 +0.74625003 +0.83500004 +0.88 +0.825 +0.67625 +0.495 +0.35125 +0.2925 +0.3175 +0.39374998 +0.47375 +0.5275 +0.55375 +0.56125003 +0.57375 +0.61249995 +0.67875004 +0.77250004 +0.86625004 +0.9375 +0.9549999 +0.91375005 +0.8375 +0.7725 +0.7675 +0.84499997 +0.97875005 +1.11 +1.18 +1.18 +1.1637499 +1.2212499 +1.42 +1.76125 +2.1637502 +2.4975002 +2.6625 +2.6325 +2.4737499 +2.2975 +2.19375 +2.1837502 +2.2112498 +2.18625 +2.04625 +1.8087499 +1.5500001 +1.365 +1.3025001 +1.335 +1.38375 +1.36125 +1.2225001 +0.99750006 +0.77874994 +0.64375 +0.64 +0.72499996 +0.82124996 +0.84125 +0.76624995 +0.6375 +0.54749995 +0.5625 +0.705 +0.90875006 +1.0712501 +1.1187501 +1.03 +0.87125003 +0.73875 +0.695 +0.74625003 +0.83500004 +0.88 +0.825 +0.67625 +0.495 +0.35125 +0.2925 +0.3175 +0.39374998 +0.47375 +0.5275 +0.55375 +0.56125003 +0.57375 +0.61249995 +0.67875004 +0.77250004 +0.86625004 +0.9375 +0.9549999 +0.91375005 +0.8375 +0.7725 +0.7675 +0.84499997 +0.97875005 +1.11 +1.18 +1.18 +1.1637499 +1.2212499 +1.42 +1.76125 +2.1637502 +2.4975002 +2.6625 +2.6325 +2.4737499 +2.2975 +2.19375 +2.1837502 +2.2112498 +2.18625 +2.04625 +1.8087499 +1.5500001 +1.365 +1.3025001 +1.335 +1.38375 +1.36125 +1.2225001 +0.99750006 +0.77874994 +0.64375 +0.64 +0.72499996 +0.9275 +0.95875 +0.905 +0.80750006 +0.74250007 +0.77875 +0.93000007 +1.1375 +1.3000001 +1.3425 +1.24375 +1.0587499 +0.88875 +0.80249995 +0.82124996 +0.88874996 +0.925 +0.87499994 +0.73625004 +0.56 +0.42874998 +0.3875 +0.43375 +0.52875 +0.62 +0.66999996 +0.6775 +0.65875 +0.64750004 +0.6625 +0.70625 +0.76624995 +0.8175 +0.83250004 +0.7987499 +0.71999997 +0.6275 +0.56375 +0.5675 +0.64250004 +0.755 +0.8450001 +0.8625 +0.7975 +0.7049999 +0.67375 +0.77750003 +1.02375 +1.3412501 +1.6112499 +1.74375 +1.7124999 +1.58 +1.44625 +1.4012499 +1.4612501 +1.5674999 +1.6312501 +1.5837501 +1.4312501 +1.24375 +1.1125 +1.0962499 +1.1750001 +1.2762499 +1.31375 +1.24125 +1.0749999 +0.89124995 +0.77375007 +0.7625 +0.8374999 +0.9275 +0.95875 +0.905 +0.80750006 +0.74250007 +0.77875 +0.93000007 +1.1375 +1.3000001 +1.3425 +1.24375 +1.0587499 +0.88875 +0.80249995 +0.82124996 +0.88874996 +0.925 +0.87499994 +0.73625004 +0.56 +0.42874998 +0.3875 +0.43375 +0.52875 +0.62 +0.66999996 +0.6775 +0.65875 +0.64750004 +0.6625 +0.70625 +0.76624995 +0.8175 +0.83250004 +0.7987499 +0.71999997 +0.6275 +0.56375 +0.5675 +0.64250004 +0.755 +0.8450001 +0.8625 +0.7975 +0.7049999 +0.67375 +0.77750003 +1.02375 +1.3412501 +1.6112499 +1.74375 +1.7124999 +1.58 +1.44625 +1.4012499 +1.4612501 +1.5674999 +1.6312501 +1.5837501 +1.4312501 +1.24375 +1.1125 +1.0962499 +1.1750001 +1.2762499 +1.31375 +1.24125 +1.0749999 +0.89124995 +0.77375007 +0.7625 +0.8374999 +1.0662501 +1.13 +1.12 +1.06875 +1.0400001 +1.0975001 +1.2550001 +1.4575 +1.6175001 +1.6474999 +1.5337499 +1.3262501 +1.11375 +0.97999996 +0.94874996 +0.97999996 +0.98875004 +0.92125 +0.77750003 +0.60375 +0.5125 +0.4675 +0.5075 +0.60999995 +0.69125 +0.71625 +0.68125 +0.64125 +0.58750004 +0.55125 +0.5775 +0.6175 +0.63875 +0.6175 +0.55125 +0.46750003 +0.3875 +0.33625 +0.35 +0.4375 +0.54125 +0.60375 +0.58000004 +0.47250003 +0.35625 +0.2725 +0.285 +0.45125002 +0.68625 +0.895 +0.98375 +0.96124995 +0.85499996 +0.71625 +0.70874995 +0.81000006 +0.96999997 +1.095 +1.1125 +1.025 +0.89125 +0.79875 +0.8075 +0.915 +1.0562501 +1.1525 +1.14875 +1.0575 +0.93250006 +0.85499996 +0.86750007 +0.9575 +1.0662501 +1.13 +1.12 +1.06875 +1.0400001 +1.0975001 +1.2550001 +1.4575 +1.6175001 +1.6474999 +1.5337499 +1.3262501 +1.11375 +0.97999996 +0.94874996 +0.97999996 +0.98875004 +0.92125 +0.77750003 +0.60375 +0.5125 +0.4675 +0.5075 +0.60999995 +0.69125 +0.71625 +0.68125 +0.64125 +0.58750004 +0.55125 +0.5775 +0.6175 +0.63875 +0.6175 +0.55125 +0.46750003 +0.3875 +0.33625 +0.35 +0.4375 +0.54125 +0.60375 +0.58000004 +0.47250003 +0.35625 +0.2725 +0.285 +0.45125002 +0.68625 +0.895 +0.98375 +0.96124995 +0.85499996 +0.71625 +0.70874995 +0.81000006 +0.96999997 +1.095 +1.1125 +1.025 +0.89125 +0.79875 +0.8075 +0.915 +1.0562501 +1.1525 +1.14875 +1.0575 +0.93250006 +0.85499996 +0.86750007 +0.9575 +1.1925 +1.3100001 +1.36375 +1.3700001 +1.3874999 +1.475 +1.6400001 +1.84 +1.995 +2.0212502 +1.9012501 +1.675 +1.4300001 +1.2475001 +1.16 +1.13125 +1.0912501 +0.98875 +0.8225 +0.67 +0.5825 +0.54625005 +0.57375 +0.645 +0.7075 +0.71375 +0.66 +0.57 +0.47875 +0.41875002 +0.39875004 +0.40750003 +0.41625002 +0.39375004 +0.34249997 +0.275 +0.2175 +0.19875 +0.23374999 +0.3125 +0.4025 +0.4525 +0.43625 +0.34375003 +0.21375 +0.10625 +0.085 +0.15375 +0.30125 +0.45125 +0.53249997 +0.51 +0.39874998 +0.26625 +0.25125 +0.36874998 +0.5325 +0.675 +0.7312499 +0.68125004 +0.5775 +0.5025 +0.51375 +0.62249994 +0.77750003 +0.90875006 +0.96374995 +0.94124997 +0.88374996 +0.8625 +0.91749996 +1.0425 +1.1925 +1.3100001 +1.36375 +1.3700001 +1.3874999 +1.475 +1.6400001 +1.84 +1.995 +2.0212502 +1.9012501 +1.675 +1.4300001 +1.2475001 +1.16 +1.13125 +1.0912501 +0.98875 +0.8225 +0.67 +0.5825 +0.54625005 +0.57375 +0.645 +0.7075 +0.71375 +0.66 +0.57 +0.47875 +0.41875002 +0.39875004 +0.40750003 +0.41625002 +0.39375004 +0.34249997 +0.275 +0.2175 +0.19875 +0.23374999 +0.3125 +0.4025 +0.4525 +0.43625 +0.34375003 +0.21375 +0.10625 +0.085 +0.15375 +0.30125 +0.45125 +0.53249997 +0.51 +0.39874998 +0.26625 +0.25125 +0.36874998 +0.5325 +0.675 +0.7312499 +0.68125004 +0.5775 +0.5025 +0.51375 +0.62249994 +0.77750003 +0.90875006 +0.96374995 +0.94124997 +0.88374996 +0.8625 +0.91749996 +1.0425 +1.25375 +1.4337499 +1.5587499 +1.6387501 +1.7137499 +1.83625 +2.01875 +2.2275 +2.38625 +2.4237502 +2.31625 +2.095 +1.8375001 +1.6175001 +1.47125 +1.37375 +1.2700001 +1.11625 +0.91125 +0.74375 +0.64375 +0.60625 +0.63625 +0.69625 +0.73375 +0.7075 +0.60875 +0.47499996 +0.35500002 +0.28125 +0.26 +0.26875 +0.2775 +0.2575 +0.21249999 +0.16125 +0.13250001 +0.145 +0.20625001 +0.29375 +0.3775 +0.425 +0.40500003 +0.3175 +0.19500001 +0.09375 +0.05 +0.07875 +0.17625 +0.28375 +0.33625 +0.29874998 +0.1875 +0.08 +0.08 +0.1725 +0.29124996 +0.41125003 +0.47750002 +0.45000002 +0.36125 +0.28375 +0.28125003 +0.36125 +0.49624997 +0.63125 +0.7175 +0.7425 +0.745 +0.77874994 +0.88124996 +1.0525 +1.25375 +1.4337499 +1.5587499 +1.6387501 +1.7137499 +1.83625 +2.01875 +2.2275 +2.38625 +2.4237502 +2.31625 +2.095 +1.8375001 +1.6175001 +1.47125 +1.37375 +1.2700001 +1.11625 +0.91125 +0.74375 +0.64375 +0.60625 +0.63625 +0.69625 +0.73375 +0.7075 +0.60875 +0.47499996 +0.35500002 +0.28125 +0.26 +0.26875 +0.2775 +0.2575 +0.21249999 +0.16125 +0.13250001 +0.145 +0.20625001 +0.29375 +0.3775 +0.425 +0.40500003 +0.3175 +0.19500001 +0.09375 +0.05 +0.07875 +0.17625 +0.28375 +0.33625 +0.29874998 +0.1875 +0.08 +0.08 +0.1725 +0.29124996 +0.41125003 +0.47750002 +0.45000002 +0.36125 +0.28375 +0.28125003 +0.36125 +0.49624997 +0.63125 +0.7175 +0.7425 +0.745 +0.77874994 +0.88124996 +1.0525 +1.2075 +1.4475 +1.6437498 +1.79625 +1.93625 +2.10375 +2.3150003 +2.54125 +2.72125 +2.7925 +2.7237499 +2.5375 +2.2975001 +2.06625 +1.8787498 +1.72125 +1.5512501 +1.3387499 +1.09125 +0.87 +0.745 +0.69375 +0.71125007 +0.77125 +0.78625 +0.71625 +0.59 +0.43375 +0.29625 +0.21499999 +0.1925 +0.20375001 +0.22250001 +0.21625 +0.17875001 +0.13750002 +0.12875 +0.155 +0.2225 +0.30624998 +0.37125003 +0.4 +0.385 +0.3175 +0.2175 +0.12125 +0.0675 +0.0775 +0.16 +0.23750001 +0.26125 +0.22999999 +0.1325 +0.03125 +0.05875 +0.1375 +0.20875 +0.27749997 +0.33375 +0.3175 +0.23875 +0.16999999 +0.16125 +0.2 +0.27499998 +0.36999995 +0.4525 +0.5025 +0.54 +0.60999995 +0.75 +0.9599999 +1.2075 +1.4475 +1.6437498 +1.79625 +1.93625 +2.10375 +2.3150003 +2.54125 +2.72125 +2.7925 +2.7237499 +2.5375 +2.2975001 +2.06625 +1.8787498 +1.72125 +1.5512501 +1.3387499 +1.09125 +0.87 +0.745 +0.69375 +0.71125007 +0.77125 +0.78625 +0.71625 +0.59 +0.43375 +0.29625 +0.21499999 +0.1925 +0.20375001 +0.22250001 +0.21625 +0.17875001 +0.13750002 +0.12875 +0.155 +0.2225 +0.30624998 +0.37125003 +0.4 +0.385 +0.3175 +0.2175 +0.12125 +0.0675 +0.0775 +0.16 +0.23750001 +0.26125 +0.22999999 +0.1325 +0.03125 +0.05875 +0.1375 +0.20875 +0.27749997 +0.33375 +0.3175 +0.23875 +0.16999999 +0.16125 +0.2 +0.27499998 +0.36999995 +0.4525 +0.5025 +0.54 +0.60999995 +0.75 +0.9599999 +1.0600001 +1.34125 +1.5925 +1.80625 +2.0025 +2.2150002 +2.455 +2.7075 +2.92 +3.04 +3.0324998 +2.9125001 +2.7262502 +2.52125 +2.3287501 +2.135 +1.9200001 +1.66 +1.3774999 +1.11625 +0.93625 +0.8675 +0.88625 +0.93125004 +0.92499995 +0.83000004 +0.65625 +0.485 +0.34624997 +0.26125002 +0.24 +0.27875 +0.30875 +0.30875 +0.28125 +0.25 +0.23875001 +0.25875002 +0.30125 +0.3475 +0.3775 +0.37124997 +0.32874998 +0.27875 +0.20625 +0.12625 +0.08 +0.11 +0.17 +0.22999999 +0.25125 +0.21 +0.122499995 +0.052500002 +0.08 +0.14125 +0.18625 +0.21375 +0.24249998 +0.23499998 +0.17375 +0.1275 +0.14125 +0.16875 +0.18375 +0.20375 +0.23875 +0.2725 +0.32 +0.40250003 +0.55125 +0.78125 +1.0600001 +1.34125 +1.5925 +1.80625 +2.0025 +2.2150002 +2.455 +2.7075 +2.92 +3.04 +3.0324998 +2.9125001 +2.7262502 +2.52125 +2.3287501 +2.135 +1.9200001 +1.66 +1.3774999 +1.11625 +0.93625 +0.8675 +0.88625 +0.93125004 +0.92499995 +0.83000004 +0.65625 +0.485 +0.34624997 +0.26125002 +0.24 +0.27875 +0.30875 +0.30875 +0.28125 +0.25 +0.23875001 +0.25875002 +0.30125 +0.3475 +0.3775 +0.37124997 +0.32874998 +0.27875 +0.20625 +0.12625 +0.08 +0.11 +0.17 +0.22999999 +0.25125 +0.21 +0.122499995 +0.052500002 +0.08 +0.14125 +0.18625 +0.21375 +0.24249998 +0.23499998 +0.17375 +0.1275 +0.14125 +0.16875 +0.18375 +0.20375 +0.23875 +0.2725 +0.32 +0.40250003 +0.55125 +0.78125 +0.86375 +1.16 +1.435 +1.6824999 +1.9124999 +2.15 +2.41125 +2.68125 +2.92375 +3.09125 +3.15625 +3.12375 +3.02125 +2.885 +2.72625 +2.54375 +2.3187501 +2.0425 +1.74 +1.45875 +1.2525 +1.1487501 +1.12875 +1.13625 +1.105 +1.00125 +0.83500004 +0.6525 +0.50874996 +0.4325 +0.42000002 +0.43875003 +0.45125002 +0.44 +0.40875 +0.37125 +0.34875003 +0.33875 +0.33875 +0.33749998 +0.32625002 +0.3025 +0.26500002 +0.21375 +0.15625 +0.10499999 +0.1025 +0.123749994 +0.15249999 +0.1825 +0.20250002 +0.19125 +0.13625 +0.07625 +0.09125 +0.13625 +0.16625 +0.17 +0.16624999 +0.15624999 +0.120000005 +0.098749995 +0.12125 +0.15 +0.16625 +0.16625 +0.1575 +0.155 +0.18124999 +0.24499999 +0.37 +0.58125 +0.86375 +1.16 +1.435 +1.6824999 +1.9124999 +2.15 +2.41125 +2.68125 +2.92375 +3.09125 +3.15625 +3.12375 +3.02125 +2.885 +2.72625 +2.54375 +2.3187501 +2.0425 +1.74 +1.45875 +1.2525 +1.1487501 +1.12875 +1.13625 +1.105 +1.00125 +0.83500004 +0.6525 +0.50874996 +0.4325 +0.42000002 +0.43875003 +0.45125002 +0.44 +0.40875 +0.37125 +0.34875003 +0.33875 +0.33875 +0.33749998 +0.32625002 +0.3025 +0.26500002 +0.21375 +0.15625 +0.10499999 +0.1025 +0.123749994 +0.15249999 +0.1825 +0.20250002 +0.19125 +0.13625 +0.07625 +0.09125 +0.13625 +0.16625 +0.17 +0.16624999 +0.15624999 +0.120000005 +0.098749995 +0.12125 +0.15 +0.16625 +0.16625 +0.1575 +0.155 +0.18124999 +0.24499999 +0.37 +0.58125 +0.70750004 +0.9875 +1.2512499 +1.49125 +1.715 +1.9487503 +2.20125 +2.465 +2.7162502 +2.9175003 +3.04875 +3.1062498 +3.105 +3.06125 +2.98 +2.85125 +2.65875 +2.4025 +2.11 +1.82625 +1.59625 +1.4525001 +1.38375 +1.34375 +1.28 +1.1675 +1.0137501 +0.8500001 +0.71875 +0.64374995 +0.61125 +0.6 +0.58 +0.54 +0.48625 +0.43125 +0.38500002 +0.34625 +0.31124997 +0.27 +0.23125002 +0.19625002 +0.15875 +0.12375 +0.09125 +0.07875 +0.0975 +0.13 +0.14625 +0.1325 +0.11625 +0.118750006 +0.09125 +0.05625 +0.0725 +0.10875 +0.13 +0.125 +0.105000004 +0.0825 +0.065 +0.06875 +0.095 +0.12125 +0.13625 +0.13625 +0.13125 +0.135 +0.16 +0.20875 +0.27499998 +0.44125 +0.70750004 +0.9875 +1.2512499 +1.49125 +1.715 +1.9487503 +2.20125 +2.465 +2.7162502 +2.9175003 +3.04875 +3.1062498 +3.105 +3.06125 +2.98 +2.85125 +2.65875 +2.4025 +2.11 +1.82625 +1.59625 +1.4525001 +1.38375 +1.34375 +1.28 +1.1675 +1.0137501 +0.8500001 +0.71875 +0.64374995 +0.61125 +0.6 +0.58 +0.54 +0.48625 +0.43125 +0.38500002 +0.34625 +0.31124997 +0.27 +0.23125002 +0.19625002 +0.15875 +0.12375 +0.09125 +0.07875 +0.0975 +0.13 +0.14625 +0.1325 +0.11625 +0.118750006 +0.09125 +0.05625 +0.0725 +0.10875 +0.13 +0.125 +0.105000004 +0.0825 +0.065 +0.06875 +0.095 +0.12125 +0.13625 +0.13625 +0.13125 +0.135 +0.16 +0.20875 +0.27499998 +0.44125 +0.66749996 +0.90749997 +1.1275 +1.3175 +1.49625 +1.68375 +1.8924999 +2.11875 +2.3475 +2.55375 +2.7237496 +2.85375 +2.95125 +3.01 +3.025 +2.98 +2.8575 +2.6599998 +2.4075 +2.1437502 +1.91375 +1.72875 +1.6087499 +1.5175 +1.41875 +1.2950001 +1.15 +1.0087501 +0.89375 +0.8175 +0.76874995 +0.72125 +0.65999997 +0.57875 +0.4925 +0.41125003 +0.345 +0.28875 +0.23625 +0.19125 +0.155 +0.113749996 +0.07375 +0.042500004 +0.03 +0.0425 +0.07625 +0.10625 +0.11625 +0.0975 +0.0575 +0.03875 +0.0375 +0.012499999 +0.02625 +0.06125 +0.08125 +0.0775 +0.05625 +0.035 +0.0275 +0.03875 +0.065 +0.08875 +0.10125 +0.1 +0.09625 +0.1025 +0.13125 +0.18125 +0.26125 +0.42875 +0.66749996 +0.90749997 +1.1275 +1.3175 +1.49625 +1.68375 +1.8924999 +2.11875 +2.3475 +2.55375 +2.7237496 +2.85375 +2.95125 +3.01 +3.025 +2.98 +2.8575 +2.6599998 +2.4075 +2.1437502 +1.91375 +1.72875 +1.6087499 +1.5175 +1.41875 +1.2950001 +1.15 +1.0087501 +0.89375 +0.8175 +0.76874995 +0.72125 +0.65999997 +0.57875 +0.4925 +0.41125003 +0.345 +0.28875 +0.23625 +0.19125 +0.155 +0.113749996 +0.07375 +0.042500004 +0.03 +0.0425 +0.07625 +0.10625 +0.11625 +0.0975 +0.0575 +0.03875 +0.0375 +0.012499999 +0.02625 +0.06125 +0.08125 +0.0775 +0.05625 +0.035 +0.0275 +0.03875 +0.065 +0.08875 +0.10125 +0.1 +0.09625 +0.1025 +0.13125 +0.18125 +0.26125 +0.42875 +0.7775 +0.96625 +1.1175001 +1.2312499 +1.33125 +1.4375 +1.5687499 +1.7275 +1.9025002 +2.085 +2.26125 +2.43375 +2.6 +2.745 +2.855 +2.90375 +2.87 +2.7525 +2.5925 +2.4 +2.1875 +1.9737499 +1.7762501 +1.645 +1.51875 +1.3850001 +1.25 +1.12875 +1.0474999 +0.96375 +0.89374995 +0.80875 +0.70250005 +0.57624996 +0.44875 +0.34125 +0.2625 +0.21000001 +0.17125002 +0.13374999 +0.10125 +0.06625 +0.0275 +0.0 +0.0 +0.0 +0.03 +0.0575 +0.06375 +0.0425 +0.01 +0.03875 +0.067499995 +0.0425 +0.0025 +0.01 +0.0325 +0.03375 +0.01875 +0.0025 +0.0 +0.01125 +0.035 +0.0575 +0.06875 +0.0675 +0.065 +0.083749995 +0.13624999 +0.21875 +0.35999998 +0.5625 +0.7775 +0.96625 +1.1175001 +1.2312499 +1.33125 +1.4375 +1.5687499 +1.7275 +1.9025002 +2.085 +2.26125 +2.43375 +2.6 +2.745 +2.855 +2.90375 +2.87 +2.7525 +2.5925 +2.4 +2.1875 +1.9737499 +1.7762501 +1.645 +1.51875 +1.3850001 +1.25 +1.12875 +1.0474999 +0.96375 +0.89374995 +0.80875 +0.70250005 +0.57624996 +0.44875 +0.34125 +0.2625 +0.21000001 +0.17125002 +0.13374999 +0.10125 +0.06625 +0.0275 +0.0 +0.0 +0.0 +0.03 +0.0575 +0.06375 +0.0425 +0.01 +0.03875 +0.067499995 +0.0425 +0.0025 +0.01 +0.0325 +0.03375 +0.01875 +0.0025 +0.0 +0.01125 +0.035 +0.0575 +0.06875 +0.0675 +0.065 +0.083749995 +0.13624999 +0.21875 +0.35999998 +0.5625 +1.00375 +1.1450001 +1.22375 +1.25 +1.2537501 +1.26125 +1.2975 +1.37 +1.4749999 +1.61125 +1.7675002 +1.9575 +2.165 +2.36 +2.52125 +2.6425 +2.69 +2.6825 +2.61375 +2.49125 +2.3225 +2.125 +1.9225001 +1.73375 +1.59375 +1.46375 +1.35875 +1.2887499 +1.225 +1.14625 +1.0325 +0.90874994 +0.76 +0.585 +0.41749996 +0.28375 +0.19875 +0.16125 +0.1325 +0.1025 +0.07124999 +0.033749998 +0.0075 +0.01 +0.0075 +0.00125 +0.0 +0.0125 +0.01875 +0.0175 +0.04875 +0.123749994 +0.165 +0.1275 +0.04625 +0.0 +0.00125 +0.00625 +0.0 +0.01125 +0.01625 +0.0175 +0.027500002 +0.04875 +0.067499995 +0.083749995 +0.11124999 +0.16749999 +0.26875 +0.41625 +0.60375 +0.81125 +1.00375 +1.1450001 +1.22375 +1.25 +1.2537501 +1.26125 +1.2975 +1.37 +1.4749999 +1.61125 +1.7675002 +1.9575 +2.165 +2.36 +2.52125 +2.6425 +2.69 +2.6825 +2.61375 +2.49125 +2.3225 +2.125 +1.9225001 +1.73375 +1.59375 +1.46375 +1.35875 +1.2887499 +1.225 +1.14625 +1.0325 +0.90874994 +0.76 +0.585 +0.41749996 +0.28375 +0.19875 +0.16125 +0.1325 +0.1025 +0.07124999 +0.033749998 +0.0075 +0.01 +0.0075 +0.00125 +0.0 +0.0125 +0.01875 +0.0175 +0.04875 +0.123749994 +0.165 +0.1275 +0.04625 +0.0 +0.00125 +0.00625 +0.0 +0.01125 +0.01625 +0.0175 +0.027500002 +0.04875 +0.067499995 +0.083749995 +0.11124999 +0.16749999 +0.26875 +0.41625 +0.60375 +0.81125 +1.26875 +1.37375 +1.39125 +1.3387499 +1.2499999 +1.16125 +1.105 +1.0925 +1.1275 +1.21375 +1.34 +1.51875 +1.71875 +1.915 +2.0925002 +2.24375 +2.35625 +2.42625 +2.44125 +2.39625 +2.29 +2.13625 +1.9612501 +1.79125 +1.6537501 +1.55375 +1.4937501 +1.4537501 +1.4100001 +1.335 +1.2112501 +1.05125 +0.87 +0.66125 +0.46124998 +0.30124998 +0.20375 +0.15875 +0.13125 +0.105000004 +0.073750004 +0.03875 +0.0275 +0.03875 +0.04 +0.030000001 +0.020000001 +0.0225 +0.036250003 +0.08 +0.18499999 +0.29125 +0.32250002 +0.25875 +0.14625 +0.05 +0.01375 +0.02 +0.0325 +0.06875 +0.10374999 +0.113749996 +0.10625 +0.12499999 +0.16250001 +0.21999998 +0.29500002 +0.38875002 +0.51625 +0.68625 +0.88750005 +1.09625 +1.26875 +1.37375 +1.39125 +1.3387499 +1.2499999 +1.16125 +1.105 +1.0925 +1.1275 +1.21375 +1.34 +1.51875 +1.71875 +1.915 +2.0925002 +2.24375 +2.35625 +2.42625 +2.44125 +2.39625 +2.29 +2.13625 +1.9612501 +1.79125 +1.6537501 +1.55375 +1.4937501 +1.4537501 +1.4100001 +1.335 +1.2112501 +1.05125 +0.87 +0.66125 +0.46124998 +0.30124998 +0.20375 +0.15875 +0.13125 +0.105000004 +0.073750004 +0.03875 +0.0275 +0.03875 +0.04 +0.030000001 +0.020000001 +0.0225 +0.036250003 +0.08 +0.18499999 +0.29125 +0.32250002 +0.25875 +0.14625 +0.05 +0.01375 +0.02 +0.0325 +0.06875 +0.10374999 +0.113749996 +0.10625 +0.12499999 +0.16250001 +0.21999998 +0.29500002 +0.38875002 +0.51625 +0.68625 +0.88750005 +1.09625 +1.4812499 +1.5575 +1.5350001 +1.42625 +1.2675 +1.1025 +0.96875006 +0.89 +0.8762499 +0.9237499 +1.0224999 +1.17 +1.32875 +1.4825001 +1.62625 +1.77 +1.8962501 +2.015 +2.1025 +2.135 +2.09875 +2.0024998 +1.87375 +1.755 +1.6725 +1.61875 +1.605 +1.6049999 +1.585 +1.5174999 +1.39 +1.24 +1.045 +0.825 +0.61249995 +0.43124998 +0.3 +0.21625 +0.1625 +0.12625 +0.09375 +0.061250005 +0.041249998 +0.057499997 +0.06875 +0.072500005 +0.07125 +0.0925 +0.1525 +0.2475 +0.3725 +0.46875 +0.48250002 +0.4025 +0.265 +0.14124998 +0.0875 +0.10625 +0.1625 +0.24125 +0.29 +0.29250002 +0.27 +0.275 +0.315 +0.38750002 +0.48624998 +0.60375005 +0.7475 +0.92375 +1.12625 +1.32375 +1.4812499 +1.5575 +1.5350001 +1.42625 +1.2675 +1.1025 +0.96875006 +0.89 +0.8762499 +0.9237499 +1.0224999 +1.17 +1.32875 +1.4825001 +1.62625 +1.77 +1.8962501 +2.015 +2.1025 +2.135 +2.09875 +2.0024998 +1.87375 +1.755 +1.6725 +1.61875 +1.605 +1.6049999 +1.585 +1.5174999 +1.39 +1.24 +1.045 +0.825 +0.61249995 +0.43124998 +0.3 +0.21625 +0.1625 +0.12625 +0.09375 +0.061250005 +0.041249998 +0.057499997 +0.06875 +0.072500005 +0.07125 +0.0925 +0.1525 +0.2475 +0.3725 +0.46875 +0.48250002 +0.4025 +0.265 +0.14124998 +0.0875 +0.10625 +0.1625 +0.24125 +0.29 +0.29250002 +0.27 +0.275 +0.315 +0.38750002 +0.48624998 +0.60375005 +0.7475 +0.92375 +1.12625 +1.32375 +1.5725 +1.6312499 +1.5900002 +1.4537499 +1.25375 +1.0375 +0.85375 +0.73249996 +0.69375 +0.72749996 +0.8125 +0.9225 +1.025 +1.11 +1.18875 +1.2737501 +1.3787501 +1.51125 +1.65375 +1.75375 +1.78125 +1.73875 +1.6737502 +1.6225 +1.6012499 +1.6175 +1.655 +1.6925 +1.69875 +1.65875 +1.5649999 +1.425 +1.25125 +1.06125 +0.86875004 +0.685 +0.51375 +0.35999998 +0.23875 +0.16125 +0.12125 +0.08625 +0.060000002 +0.0525 +0.0575 +0.073750004 +0.10875001 +0.17125 +0.26874998 +0.39375 +0.51375 +0.59 +0.58875 +0.49249998 +0.34375 +0.22 +0.18624999 +0.24625002 +0.34750003 +0.4325 +0.46625 +0.445 +0.39874998 +0.38 +0.41625002 +0.50375 +0.62624997 +0.765 +0.915 +1.08375 +1.26375 +1.43625 +1.5725 +1.6312499 +1.5900002 +1.4537499 +1.25375 +1.0375 +0.85375 +0.73249996 +0.69375 +0.72749996 +0.8125 +0.9225 +1.025 +1.11 +1.18875 +1.2737501 +1.3787501 +1.51125 +1.65375 +1.75375 +1.78125 +1.73875 +1.6737502 +1.6225 +1.6012499 +1.6175 +1.655 +1.6925 +1.69875 +1.65875 +1.5649999 +1.425 +1.25125 +1.06125 +0.86875004 +0.685 +0.51375 +0.35999998 +0.23875 +0.16125 +0.12125 +0.08625 +0.060000002 +0.0525 +0.0575 +0.073750004 +0.10875001 +0.17125 +0.26874998 +0.39375 +0.51375 +0.59 +0.58875 +0.49249998 +0.34375 +0.22 +0.18624999 +0.24625002 +0.34750003 +0.4325 +0.46625 +0.445 +0.39874998 +0.38 +0.41625002 +0.50375 +0.62624997 +0.765 +0.915 +1.08375 +1.26375 +1.43625 +1.5312499 +1.5787499 +1.5350001 +1.395 +1.18 +0.9375 +0.72249997 +0.58375 +0.5425 +0.58875 +0.6825 +0.7725 +0.82 +0.81874996 +0.7925 +0.79125 +0.855 +0.99125004 +1.16625 +1.31375 +1.385 +1.39375 +1.37375 +1.36375 +1.4 +1.48625 +1.5975 +1.69125 +1.7325 +1.7124999 +1.64 +1.5375 +1.4275 +1.3112501 +1.18625 +1.0325 +0.84125006 +0.615 +0.38625 +0.22500001 +0.15875 +0.12375 +0.09 +0.066250004 +0.05875 +0.07625 +0.11125 +0.17125002 +0.28 +0.42375 +0.55875 +0.62625 +0.60125 +0.4875 +0.32999998 +0.215 +0.20875001 +0.31125 +0.46000004 +0.57124996 +0.59624994 +0.54125 +0.45499998 +0.40749997 +0.43375 +0.53625 +0.68499994 +0.84375 +0.99875 +1.14375 +1.2850001 +1.4224999 +1.5312499 +1.5787499 +1.5350001 +1.395 +1.18 +0.9375 +0.72249997 +0.58375 +0.5425 +0.58875 +0.6825 +0.7725 +0.82 +0.81874996 +0.7925 +0.79125 +0.855 +0.99125004 +1.16625 +1.31375 +1.385 +1.39375 +1.37375 +1.36375 +1.4 +1.48625 +1.5975 +1.69125 +1.7325 +1.7124999 +1.64 +1.5375 +1.4275 +1.3112501 +1.18625 +1.0325 +0.84125006 +0.615 +0.38625 +0.22500001 +0.15875 +0.12375 +0.09 +0.066250004 +0.05875 +0.07625 +0.11125 +0.17125002 +0.28 +0.42375 +0.55875 +0.62625 +0.60125 +0.4875 +0.32999998 +0.215 +0.20875001 +0.31125 +0.46000004 +0.57124996 +0.59624994 +0.54125 +0.45499998 +0.40749997 +0.43375 +0.53625 +0.68499994 +0.84375 +0.99875 +1.14375 +1.2850001 +1.4224999 +1.3987498 +1.43875 +1.40125 +1.2724999 +1.06 +0.80750006 +0.57875 +0.4325 +0.39875 +0.47125 +0.5875 +0.67499995 +0.6775 +0.59250003 +0.46625 +0.37625003 +0.38500002 +0.52375 +0.7175 +0.89 +0.9825001 +1.00375 +0.99375 +1.00125 +1.07625 +1.2149999 +1.3824999 +1.5225 +1.5925002 +1.5925 +1.55375 +1.515 +1.5037501 +1.5074999 +1.4925 +1.40875 +1.22625 +0.94875 +0.62375003 +0.34125 +0.20500001 +0.15125 +0.12 +0.0925 +0.08499999 +0.08625 +0.08875 +0.114999995 +0.2 +0.34624997 +0.48999998 +0.55875003 +0.52 +0.39125 +0.245 +0.1425 +0.13625 +0.2775 +0.47375 +0.6175 +0.6425 +0.55875003 +0.435 +0.35375002 +0.37124997 +0.4925 +0.67 +0.84999996 +1.00625 +1.1275 +1.2275 +1.32125 +1.3987498 +1.43875 +1.40125 +1.2724999 +1.06 +0.80750006 +0.57875 +0.4325 +0.39875 +0.47125 +0.5875 +0.67499995 +0.6775 +0.59250003 +0.46625 +0.37625003 +0.38500002 +0.52375 +0.7175 +0.89 +0.9825001 +1.00375 +0.99375 +1.00125 +1.07625 +1.2149999 +1.3824999 +1.5225 +1.5925002 +1.5925 +1.55375 +1.515 +1.5037501 +1.5074999 +1.4925 +1.40875 +1.22625 +0.94875 +0.62375003 +0.34125 +0.20500001 +0.15125 +0.12 +0.0925 +0.08499999 +0.08625 +0.08875 +0.114999995 +0.2 +0.34624997 +0.48999998 +0.55875003 +0.52 +0.39125 +0.245 +0.1425 +0.13625 +0.2775 +0.47375 +0.6175 +0.6425 +0.55875003 +0.435 +0.35375002 +0.37124997 +0.4925 +0.67 +0.84999996 +1.00625 +1.1275 +1.2275 +1.32125 +1.245 +1.275 +1.25 +1.1375 +0.935 +0.68125004 +0.445 +0.29999998 +0.27625 +0.37249997 +0.51374996 +0.60749996 +0.58375 +0.43624997 +0.2525 +0.10500001 +0.08125 +0.16875002 +0.36875 +0.55 +0.64125 +0.64000005 +0.61375 +0.61249995 +0.69125 +0.8525 +1.045 +1.20375 +1.28625 +1.3000001 +1.29625 +1.33375 +1.4387499 +1.58875 +1.71125 +1.73125 +1.59375 +1.30375 +0.92625 +0.55625 +0.30875 +0.2075 +0.175 +0.17125002 +0.16749999 +0.14125 +0.11 +0.095 +0.125 +0.23374999 +0.37375 +0.435 +0.39625 +0.27249998 +0.14375 +0.07125001 +0.072500005 +0.18875 +0.42125002 +0.59375 +0.625 +0.52250004 +0.36875 +0.26749998 +0.2725 +0.4075 +0.61249995 +0.81999993 +0.97999996 +1.08375 +1.145 +1.19375 +1.245 +1.275 +1.25 +1.1375 +0.935 +0.68125004 +0.445 +0.29999998 +0.27625 +0.37249997 +0.51374996 +0.60749996 +0.58375 +0.43624997 +0.2525 +0.10500001 +0.08125 +0.16875002 +0.36875 +0.55 +0.64125 +0.64000005 +0.61375 +0.61249995 +0.69125 +0.8525 +1.045 +1.20375 +1.28625 +1.3000001 +1.29625 +1.33375 +1.4387499 +1.58875 +1.71125 +1.73125 +1.59375 +1.30375 +0.92625 +0.55625 +0.30875 +0.2075 +0.175 +0.17125002 +0.16749999 +0.14125 +0.11 +0.095 +0.125 +0.23374999 +0.37375 +0.435 +0.39625 +0.27249998 +0.14375 +0.07125001 +0.072500005 +0.18875 +0.42125002 +0.59375 +0.625 +0.52250004 +0.36875 +0.26749998 +0.2725 +0.4075 +0.61249995 +0.81999993 +0.97999996 +1.08375 +1.145 +1.19375 +1.13875 +1.1575 +1.1362499 +1.03625 +0.84749997 +0.59749997 +0.36249998 +0.22625 +0.19875 +0.30749997 +0.46999997 +0.57124996 +0.535 +0.35625002 +0.17 +0.03125 +0.0 +0.03 +0.16874999 +0.34625 +0.42125002 +0.38750002 +0.32875 +0.29625 +0.34625 +0.4875 +0.665 +0.8075 +0.88 +0.89750004 +0.92499995 +1.0287501 +1.23875 +1.5175 +1.77625 +1.91375 +1.85625 +1.6075 +1.24 +0.8625 +0.5749999 +0.42499998 +0.38625 +0.3875 +0.35875 +0.275 +0.1775 +0.1175 +0.12125 +0.1975 +0.305 +0.35125 +0.30125 +0.18875 +0.08 +0.0175 +0.0325 +0.12125 +0.35750002 +0.54875004 +0.58624995 +0.47625002 +0.30375 +0.20125 +0.19875 +0.3325 +0.56125003 +0.7925001 +0.965 +1.05875 +1.0975 +1.11625 +1.13875 +1.1575 +1.1362499 +1.03625 +0.84749997 +0.59749997 +0.36249998 +0.22625 +0.19875 +0.30749997 +0.46999997 +0.57124996 +0.535 +0.35625002 +0.17 +0.03125 +0.0 +0.03 +0.16874999 +0.34625 +0.42125002 +0.38750002 +0.32875 +0.29625 +0.34625 +0.4875 +0.665 +0.8075 +0.88 +0.89750004 +0.92499995 +1.0287501 +1.23875 +1.5175 +1.77625 +1.91375 +1.85625 +1.6075 +1.24 +0.8625 +0.5749999 +0.42499998 +0.38625 +0.3875 +0.35875 +0.275 +0.1775 +0.1175 +0.12125 +0.1975 +0.305 +0.35125 +0.30125 +0.18875 +0.08 +0.0175 +0.0325 +0.12125 +0.35750002 +0.54875004 +0.58624995 +0.47625002 +0.30375 +0.20125 +0.19875 +0.3325 +0.56125003 +0.7925001 +0.965 +1.05875 +1.0975 +1.11625 +0.60999995 +0.5675 +0.53499997 +0.47749996 +0.36374998 +0.22000001 +0.14 +0.11125 +0.085 +0.06375 +0.052500002 +0.10000001 +0.21625 +0.2975 +0.3175 +0.305 +0.3275 +0.4025 +0.52125 +0.66625005 +0.8225 +0.99375 +1.19125 +1.3812501 +1.5475 +1.6675 +1.72 +1.69 +1.59375 +1.45875 +1.31125 +1.1687499 +1.0337499 +0.90625 +0.78625 +0.685 +0.61375 +0.57124996 +0.5375 +0.47625 +0.3575 +0.20999998 +0.1375 +0.10875 +0.085 +0.06625 +0.0575 +0.096250005 +0.21125 +0.29125002 +0.30999997 +0.3 +0.32999998 +0.41250002 +0.5375 +0.68625003 +0.84499997 +1.0175 +1.2125 +1.3999999 +1.565 +1.6825 +1.7300001 +1.695 +1.59125 +1.4525 +1.3 +1.15625 +1.0225 +0.8975 +0.78 +0.67999995 +0.60999995 +0.5675 +0.53499997 +0.47749996 +0.36374998 +0.22000001 +0.14 +0.11125 +0.085 +0.06375 +0.052500002 +0.10000001 +0.21625 +0.2975 +0.3175 +0.305 +0.3275 +0.4025 +0.52125 +0.66625005 +0.8225 +0.99375 +1.19125 +1.3812501 +1.5475 +1.6675 +1.72 +1.69 +1.59375 +1.45875 +1.31125 +1.1687499 +1.0337499 +0.90625 +0.78625 +0.685 +0.61375 +0.57124996 +0.5375 +0.47625 +0.3575 +0.20999998 +0.1375 +0.10875 +0.085 +0.06625 +0.0575 +0.096250005 +0.21125 +0.29125002 +0.30999997 +0.3 +0.32999998 +0.41250002 +0.5375 +0.68625003 +0.84499997 +1.0175 +1.2125 +1.3999999 +1.565 +1.6825 +1.7300001 +1.695 +1.59125 +1.4525 +1.3 +1.15625 +1.0225 +0.8975 +0.78 +0.67999995 +0.5825 +0.55125004 +0.53125 +0.4925 +0.40249994 +0.275 +0.1575 +0.1025 +0.075 +0.0525 +0.058750004 +0.15125 +0.26624998 +0.34 +0.34875 +0.32500002 +0.3125 +0.36125 +0.45749998 +0.59125 +0.7475 +0.9375 +1.145 +1.3462499 +1.525 +1.6524999 +1.7124999 +1.6949999 +1.6074998 +1.475 +1.3249999 +1.1750001 +1.03125 +0.89750004 +0.78125 +0.68874997 +0.62750006 +0.59375 +0.56625 +0.50374997 +0.38124996 +0.22874999 +0.12625 +0.0925 +0.07 +0.0575 +0.057499997 +0.13250001 +0.23875001 +0.30375 +0.315 +0.3075 +0.33375 +0.42375 +0.55375004 +0.7075 +0.8775 +1.0725001 +1.275 +1.4699999 +1.6387498 +1.7512501 +1.7825 +1.7275001 +1.6 +1.4337499 +1.2599999 +1.0999999 +0.96 +0.83875 +0.72999996 +0.64250004 +0.5825 +0.55125004 +0.53125 +0.4925 +0.40249994 +0.275 +0.1575 +0.1025 +0.075 +0.0525 +0.058750004 +0.15125 +0.26624998 +0.34 +0.34875 +0.32500002 +0.3125 +0.36125 +0.45749998 +0.59125 +0.7475 +0.9375 +1.145 +1.3462499 +1.525 +1.6524999 +1.7124999 +1.6949999 +1.6074998 +1.475 +1.3249999 +1.1750001 +1.03125 +0.89750004 +0.78125 +0.68874997 +0.62750006 +0.59375 +0.56625 +0.50374997 +0.38124996 +0.22874999 +0.12625 +0.0925 +0.07 +0.0575 +0.057499997 +0.13250001 +0.23875001 +0.30375 +0.315 +0.3075 +0.33375 +0.42375 +0.55375004 +0.7075 +0.8775 +1.0725001 +1.275 +1.4699999 +1.6387498 +1.7512501 +1.7825 +1.7275001 +1.6 +1.4337499 +1.2599999 +1.0999999 +0.96 +0.83875 +0.72999996 +0.64250004 +0.51625 +0.50625 +0.51125 +0.50625 +0.46375 +0.365 +0.23875001 +0.14 +0.08625 +0.073750004 +0.121249996 +0.23499998 +0.3525 +0.415 +0.4075 +0.35625 +0.3025 +0.29250002 +0.35 +0.46375 +0.6175 +0.8125 +1.0350001 +1.2524999 +1.4487499 +1.59625 +1.67625 +1.6775 +1.60875 +1.4862499 +1.33375 +1.17 +1.0125 +0.87125003 +0.7625 +0.68625 +0.6525 +0.64125 +0.62375 +0.56375 +0.43875003 +0.27374998 +0.13250001 +0.06125 +0.04125 +0.05625 +0.12125 +0.22625001 +0.32 +0.36 +0.35625 +0.34875 +0.38625002 +0.48749998 +0.62125 +0.7825 +0.96875006 +1.1775 +1.39 +1.595 +1.7650001 +1.8675001 +1.8725002 +1.7774999 +1.6 +1.38375 +1.16875 +0.98249996 +0.83625 +0.71875 +0.62624997 +0.55625004 +0.51625 +0.50625 +0.51125 +0.50625 +0.46375 +0.365 +0.23875001 +0.14 +0.08625 +0.073750004 +0.121249996 +0.23499998 +0.3525 +0.415 +0.4075 +0.35625 +0.3025 +0.29250002 +0.35 +0.46375 +0.6175 +0.8125 +1.0350001 +1.2524999 +1.4487499 +1.59625 +1.67625 +1.6775 +1.60875 +1.4862499 +1.33375 +1.17 +1.0125 +0.87125003 +0.7625 +0.68625 +0.6525 +0.64125 +0.62375 +0.56375 +0.43875003 +0.27374998 +0.13250001 +0.06125 +0.04125 +0.05625 +0.12125 +0.22625001 +0.32 +0.36 +0.35625 +0.34875 +0.38625002 +0.48749998 +0.62125 +0.7825 +0.96875006 +1.1775 +1.39 +1.595 +1.7650001 +1.8675001 +1.8725002 +1.7774999 +1.6 +1.38375 +1.16875 +0.98249996 +0.83625 +0.71875 +0.62624997 +0.55625004 +0.44 +0.44625002 +0.47625002 +0.50250006 +0.50375 +0.45999998 +0.37 +0.2625 +0.17999999 +0.16000001 +0.2125 +0.31875 +0.42125005 +0.4775 +0.46499997 +0.39124998 +0.29375 +0.23375 +0.2475 +0.33624998 +0.48125 +0.66625 +0.885 +1.11375 +1.31625 +1.475 +1.5725 +1.59875 +1.5525 +1.44875 +1.2987499 +1.125 +0.955 +0.81375 +0.71625 +0.67375 +0.67625004 +0.6999999 +0.70250005 +0.65000004 +0.52875 +0.3625 +0.19999999 +0.105000004 +0.10375 +0.1825 +0.30749997 +0.42749998 +0.49499995 +0.50374997 +0.48250002 +0.48374996 +0.5425 +0.64625 +0.78000003 +0.93125 +1.11125 +1.3149999 +1.5275 +1.7287501 +1.8924999 +1.9749999 +1.93875 +1.79 +1.5575 +1.2862499 +1.03 +0.82374996 +0.67375004 +0.57374996 +0.505 +0.46 +0.44 +0.44625002 +0.47625002 +0.50250006 +0.50375 +0.45999998 +0.37 +0.2625 +0.17999999 +0.16000001 +0.2125 +0.31875 +0.42125005 +0.4775 +0.46499997 +0.39124998 +0.29375 +0.23375 +0.2475 +0.33624998 +0.48125 +0.66625 +0.885 +1.11375 +1.31625 +1.475 +1.5725 +1.59875 +1.5525 +1.44875 +1.2987499 +1.125 +0.955 +0.81375 +0.71625 +0.67375 +0.67625004 +0.6999999 +0.70250005 +0.65000004 +0.52875 +0.3625 +0.19999999 +0.105000004 +0.10375 +0.1825 +0.30749997 +0.42749998 +0.49499995 +0.50374997 +0.48250002 +0.48374996 +0.5425 +0.64625 +0.78000003 +0.93125 +1.11125 +1.3149999 +1.5275 +1.7287501 +1.8924999 +1.9749999 +1.93875 +1.79 +1.5575 +1.2862499 +1.03 +0.82374996 +0.67375004 +0.57374996 +0.505 +0.46 +0.38125 +0.39499998 +0.43 +0.4725 +0.505 +0.50124997 +0.45125002 +0.365 +0.27625 +0.2275 +0.24875 +0.34 +0.44375 +0.50625 +0.495 +0.42000002 +0.30124998 +0.21375 +0.1925 +0.25375 +0.385 +0.55999994 +0.75374997 +0.95500004 +1.1475 +1.3025 +1.4225 +1.4912499 +1.4787499 +1.3824999 +1.22 +1.045 +0.8725 +0.7325 +0.655 +0.65124995 +0.70125 +0.76625 +0.79875 +0.7587501 +0.645 +0.4925 +0.35999998 +0.32874998 +0.38375 +0.49749997 +0.62125 +0.715 +0.75625 +0.7375 +0.72 +0.74 +0.805 +0.9075 +1.02625 +1.15125 +1.29125 +1.4637501 +1.645 +1.8325001 +1.9750001 +2.0187502 +1.9312501 +1.73 +1.4474999 +1.13375 +0.85124993 +0.63874996 +0.50374997 +0.43375 +0.4 +0.38375002 +0.38125 +0.39499998 +0.43 +0.4725 +0.505 +0.50124997 +0.45125002 +0.365 +0.27625 +0.2275 +0.24875 +0.34 +0.44375 +0.50625 +0.495 +0.42000002 +0.30124998 +0.21375 +0.1925 +0.25375 +0.385 +0.55999994 +0.75374997 +0.95500004 +1.1475 +1.3025 +1.4225 +1.4912499 +1.4787499 +1.3824999 +1.22 +1.045 +0.8725 +0.7325 +0.655 +0.65124995 +0.70125 +0.76625 +0.79875 +0.7587501 +0.645 +0.4925 +0.35999998 +0.32874998 +0.38375 +0.49749997 +0.62125 +0.715 +0.75625 +0.7375 +0.72 +0.74 +0.805 +0.9075 +1.02625 +1.15125 +1.29125 +1.4637501 +1.645 +1.8325001 +1.9750001 +2.0187502 +1.9312501 +1.73 +1.4474999 +1.13375 +0.85124993 +0.63874996 +0.50374997 +0.43375 +0.4 +0.38375002 +0.35125002 +0.36249998 +0.385 +0.42625 +0.46999997 +0.4925 +0.47125 +0.39874998 +0.29749998 +0.2225 +0.20750001 +0.28125 +0.39499998 +0.48875 +0.50875 +0.45 +0.34 +0.23625 +0.19000001 +0.22874999 +0.3425 +0.5 +0.67125 +0.8375 +0.99375004 +1.135 +1.2625 +1.35125 +1.37 +1.3050001 +1.15625 +0.9725001 +0.79999995 +0.665 +0.60375005 +0.63125 +0.72374994 +0.83 +0.89374995 +0.87250006 +0.77125 +0.6325 +0.54375 +0.5575 +0.65625 +0.80249995 +0.93875 +1.02125 +1.04125 +1.01625 +1.00375 +1.02875 +1.1025 +1.20125 +1.3 +1.3899999 +1.4825 +1.5925001 +1.7262499 +1.865 +1.9550002 +1.9475001 +1.815 +1.5825 +1.2674999 +0.94124997 +0.65624994 +0.45624995 +0.35125 +0.32 +0.32750002 +0.34124997 +0.35125002 +0.36249998 +0.385 +0.42625 +0.46999997 +0.4925 +0.47125 +0.39874998 +0.29749998 +0.2225 +0.20750001 +0.28125 +0.39499998 +0.48875 +0.50875 +0.45 +0.34 +0.23625 +0.19000001 +0.22874999 +0.3425 +0.5 +0.67125 +0.8375 +0.99375004 +1.135 +1.2625 +1.35125 +1.37 +1.3050001 +1.15625 +0.9725001 +0.79999995 +0.665 +0.60375005 +0.63125 +0.72374994 +0.83 +0.89374995 +0.87250006 +0.77125 +0.6325 +0.54375 +0.5575 +0.65625 +0.80249995 +0.93875 +1.02125 +1.04125 +1.01625 +1.00375 +1.02875 +1.1025 +1.20125 +1.3 +1.3899999 +1.4825 +1.5925001 +1.7262499 +1.865 +1.9550002 +1.9475001 +1.815 +1.5825 +1.2674999 +0.94124997 +0.65624994 +0.45624995 +0.35125 +0.32 +0.32750002 +0.34124997 +0.345 +0.345 +0.35125 +0.3825 +0.43 +0.47249997 +0.47125 +0.41 +0.3 +0.19125 +0.14125 +0.18750001 +0.31000003 +0.43625003 +0.5025 +0.48624998 +0.39 +0.285 +0.22625 +0.25 +0.34625 +0.485 +0.63124996 +0.765 +0.90624994 +1.0237501 +1.1324999 +1.23125 +1.2775 +1.24125 +1.115 +0.95250005 +0.78124994 +0.64374995 +0.58624995 +0.6275 +0.74375 +0.88 +0.96625006 +0.9625 +0.87375003 +0.74625 +0.6675 +0.7075 +0.83625 +1.005 +1.1525002 +1.245 +1.25875 +1.2149999 +1.20125 +1.2375 +1.32375 +1.4262499 +1.5174999 +1.58 +1.625 +1.67875 +1.73625 +1.8025 +1.82625 +1.7674999 +1.6112499 +1.3675001 +1.0550001 +0.73375005 +0.465 +0.29 +0.2225 +0.235 +0.28 +0.32500002 +0.345 +0.345 +0.35125 +0.3825 +0.43 +0.47249997 +0.47125 +0.41 +0.3 +0.19125 +0.14125 +0.18750001 +0.31000003 +0.43625003 +0.5025 +0.48624998 +0.39 +0.285 +0.22625 +0.25 +0.34625 +0.485 +0.63124996 +0.765 +0.90624994 +1.0237501 +1.1324999 +1.23125 +1.2775 +1.24125 +1.115 +0.95250005 +0.78124994 +0.64374995 +0.58624995 +0.6275 +0.74375 +0.88 +0.96625006 +0.9625 +0.87375003 +0.74625 +0.6675 +0.7075 +0.83625 +1.005 +1.1525002 +1.245 +1.25875 +1.2149999 +1.20125 +1.2375 +1.32375 +1.4262499 +1.5174999 +1.58 +1.625 +1.67875 +1.73625 +1.8025 +1.82625 +1.7674999 +1.6112499 +1.3675001 +1.0550001 +0.73375005 +0.465 +0.29 +0.2225 +0.235 +0.28 +0.32500002 +0.34375 +0.3425 +0.33875003 +0.36124998 +0.41875 +0.48250002 +0.51 +0.46375 +0.34875003 +0.21125 +0.1225 +0.13125 +0.2375 +0.38875002 +0.50875 +0.53875 +0.47125 +0.35125 +0.27874997 +0.28875 +0.37249997 +0.49625003 +0.63000005 +0.78625 +0.91375005 +1.015 +1.1012499 +1.1775 +1.24125 +1.2250001 +1.14625 +1.0037501 +0.83000004 +0.68125 +0.60875 +0.63874996 +0.75125 +0.89124995 +0.9925 +1.00375 +0.92875 +0.815 +0.7375 +0.7575 +0.89374995 +1.07125 +1.2512499 +1.3575001 +1.3675 +1.315 +1.2625 +1.30625 +1.405 +1.52375 +1.62125 +1.685 +1.71875 +1.71375 +1.68875 +1.65875 +1.61375 +1.52375 +1.365 +1.13125 +0.8425 +0.5475 +0.30374998 +0.165 +0.14375 +0.18375 +0.25125 +0.31375 +0.34375 +0.3425 +0.33875003 +0.36124998 +0.41875 +0.48250002 +0.51 +0.46375 +0.34875003 +0.21125 +0.1225 +0.13125 +0.2375 +0.38875002 +0.50875 +0.53875 +0.47125 +0.35125 +0.27874997 +0.28875 +0.37249997 +0.49625003 +0.63000005 +0.78625 +0.91375005 +1.015 +1.1012499 +1.1775 +1.24125 +1.2250001 +1.14625 +1.0037501 +0.83000004 +0.68125 +0.60875 +0.63874996 +0.75125 +0.89124995 +0.9925 +1.00375 +0.92875 +0.815 +0.7375 +0.7575 +0.89374995 +1.07125 +1.2512499 +1.3575001 +1.3675 +1.315 +1.2625 +1.30625 +1.405 +1.52375 +1.62125 +1.685 +1.71875 +1.71375 +1.68875 +1.65875 +1.61375 +1.52375 +1.365 +1.13125 +0.8425 +0.5475 +0.30374998 +0.165 +0.14375 +0.18375 +0.25125 +0.31375 +0.345 +0.35125 +0.34625 +0.3725 +0.44500002 +0.54125 +0.60625005 +0.58750004 +0.475 +0.31625003 +0.18999998 +0.16 +0.24874997 +0.40625 +0.55 +0.6125 +0.57 +0.45999998 +0.35500002 +0.32874998 +0.40249997 +0.53625 +0.70874995 +0.86125 +0.98 +1.0712501 +1.15125 +1.2225001 +1.2762501 +1.2837499 +1.2225 +1.0912501 +0.91624993 +0.75124997 +0.65 +0.64625 +0.73 +0.8575001 +0.9625 +0.99249995 +0.94125 +0.84625006 +0.77875 +0.79625 +0.9187499 +1.1075 +1.2925 +1.4012499 +1.41625 +1.36125 +1.305 +1.3049998 +1.3925 +1.52375 +1.66125 +1.75125 +1.7637501 +1.7062501 +1.6074998 +1.49875 +1.3912499 +1.27 +1.1149999 +0.91125 +0.665 +0.405 +0.19 +0.11875 +0.13125 +0.18375 +0.2525 +0.31124997 +0.345 +0.35125 +0.34625 +0.3725 +0.44500002 +0.54125 +0.60625005 +0.58750004 +0.475 +0.31625003 +0.18999998 +0.16 +0.24874997 +0.40625 +0.55 +0.6125 +0.57 +0.45999998 +0.35500002 +0.32874998 +0.40249997 +0.53625 +0.70874995 +0.86125 +0.98 +1.0712501 +1.15125 +1.2225001 +1.2762501 +1.2837499 +1.2225 +1.0912501 +0.91624993 +0.75124997 +0.65 +0.64625 +0.73 +0.8575001 +0.9625 +0.99249995 +0.94125 +0.84625006 +0.77875 +0.79625 +0.9187499 +1.1075 +1.2925 +1.4012499 +1.41625 +1.36125 +1.305 +1.3049998 +1.3925 +1.52375 +1.66125 +1.75125 +1.7637501 +1.7062501 +1.6074998 +1.49875 +1.3912499 +1.27 +1.1149999 +0.91125 +0.665 +0.405 +0.19 +0.11875 +0.13125 +0.18375 +0.2525 +0.31124997 +0.3525 +0.36374998 +0.36749998 +0.40375 +0.49625 +0.62874997 +0.73875 +0.75750005 +0.6625 +0.4925 +0.33249998 +0.26624998 +0.32625 +0.475 +0.62874997 +0.70500004 +0.67375 +0.565 +0.45374998 +0.4075 +0.46375003 +0.59875005 +0.76750004 +0.92125 +1.03625 +1.1187501 +1.18625 +1.2449999 +1.2924999 +1.3037499 +1.25625 +1.13875 +0.9725 +0.79999995 +0.67375004 +0.63 +0.67625 +0.78 +0.8875 +0.945 +0.93125 +0.875 +0.8325 +0.8625 +0.98749995 +1.1812501 +1.3774998 +1.5075 +1.5375 +1.4875 +1.41875 +1.39875 +1.46125 +1.58875 +1.7275 +1.81 +1.80125 +1.695 +1.5274999 +1.3437501 +1.17875 +1.035 +0.89750004 +0.73625 +0.53999996 +0.32 +0.16749999 +0.135 +0.16 +0.20875 +0.265 +0.31875 +0.3525 +0.36374998 +0.36749998 +0.40375 +0.49625 +0.62874997 +0.73875 +0.75750005 +0.6625 +0.4925 +0.33249998 +0.26624998 +0.32625 +0.475 +0.62874997 +0.70500004 +0.67375 +0.565 +0.45374998 +0.4075 +0.46375003 +0.59875005 +0.76750004 +0.92125 +1.03625 +1.1187501 +1.18625 +1.2449999 +1.2924999 +1.3037499 +1.25625 +1.13875 +0.9725 +0.79999995 +0.67375004 +0.63 +0.67625 +0.78 +0.8875 +0.945 +0.93125 +0.875 +0.8325 +0.8625 +0.98749995 +1.1812501 +1.3774998 +1.5075 +1.5375 +1.4875 +1.41875 +1.39875 +1.46125 +1.58875 +1.7275 +1.81 +1.80125 +1.695 +1.5274999 +1.3437501 +1.17875 +1.035 +0.89750004 +0.73625 +0.53999996 +0.32 +0.16749999 +0.135 +0.16 +0.20875 +0.265 +0.31875 +0.36625 +0.39124995 +0.3975 +0.435 +0.54125 +0.7025 +0.85375 +0.9125 +0.84375 +0.6775 +0.49875 +0.405 +0.4375 +0.57124996 +0.72124994 +0.8 +0.77000004 +0.655 +0.5275 +0.45874998 +0.48749998 +0.60249996 +0.76 +0.90125 +1.005 +1.07125 +1.11625 +1.1524999 +1.18625 +1.19875 +1.16875 +1.0825 +0.94874996 +0.79499996 +0.66375 +0.5925 +0.60375 +0.68625 +0.8 +0.89500004 +0.94125 +0.94624996 +0.95624995 +1.01875 +1.1675 +1.3875 +1.6199999 +1.795 +1.8625001 +1.8287499 +1.7462499 +1.68625 +1.69625 +1.78 +1.8825 +1.9374999 +1.89375 +1.7325 +1.4925001 +1.2362499 +1.015 +0.85375 +0.73625 +0.62 +0.46875 +0.29625002 +0.18375 +0.155 +0.175 +0.2175 +0.27125 +0.31875 +0.36625 +0.39124995 +0.3975 +0.435 +0.54125 +0.7025 +0.85375 +0.9125 +0.84375 +0.6775 +0.49875 +0.405 +0.4375 +0.57124996 +0.72124994 +0.8 +0.77000004 +0.655 +0.5275 +0.45874998 +0.48749998 +0.60249996 +0.76 +0.90125 +1.005 +1.07125 +1.11625 +1.1524999 +1.18625 +1.19875 +1.16875 +1.0825 +0.94874996 +0.79499996 +0.66375 +0.5925 +0.60375 +0.68625 +0.8 +0.89500004 +0.94125 +0.94624996 +0.95624995 +1.01875 +1.1675 +1.3875 +1.6199999 +1.795 +1.8625001 +1.8287499 +1.7462499 +1.68625 +1.69625 +1.78 +1.8825 +1.9374999 +1.89375 +1.7325 +1.4925001 +1.2362499 +1.015 +0.85375 +0.73625 +0.62 +0.46875 +0.29625002 +0.18375 +0.155 +0.175 +0.2175 +0.27125 +0.31875 +0.39999998 +0.43375003 +0.42625 +0.44750002 +0.5475 +0.7175 +0.89625 +0.99125 +0.9537501 +0.80625 +0.62875 +0.52 +0.53625 +0.655 +0.8 +0.87749994 +0.84625 +0.71875 +0.56875 +0.46499997 +0.45499998 +0.53499997 +0.6575 +0.77375 +0.8525 +0.88875 +0.90374994 +0.93499994 +0.96375 +0.96750003 +0.94750005 +0.91375 +0.8425 +0.73875 +0.63125 +0.55749995 +0.55 +0.61875 +0.74125004 +0.88250005 +1.0025 +1.0875 +1.1675 +1.3087499 +1.515 +1.77125 +2.045 +2.29125 +2.4225001 +2.4225 +2.325 +2.21 +2.1425 +2.1412501 +2.17375 +2.17375 +2.07375 +1.8512502 +1.5400001 +1.2099999 +0.93875 +0.75624996 +0.65 +0.57125 +0.455 +0.30875 +0.19125001 +0.155 +0.165 +0.2 +0.24875 +0.3175 +0.39999998 +0.43375003 +0.42625 +0.44750002 +0.5475 +0.7175 +0.89625 +0.99125 +0.9537501 +0.80625 +0.62875 +0.52 +0.53625 +0.655 +0.8 +0.87749994 +0.84625 +0.71875 +0.56875 +0.46499997 +0.45499998 +0.53499997 +0.6575 +0.77375 +0.8525 +0.88875 +0.90374994 +0.93499994 +0.96375 +0.96750003 +0.94750005 +0.91375 +0.8425 +0.73875 +0.63125 +0.55749995 +0.55 +0.61875 +0.74125004 +0.88250005 +1.0025 +1.0875 +1.1675 +1.3087499 +1.515 +1.77125 +2.045 +2.29125 +2.4225001 +2.4225 +2.325 +2.21 +2.1425 +2.1412501 +2.17375 +2.17375 +2.07375 +1.8512502 +1.5400001 +1.2099999 +0.93875 +0.75624996 +0.65 +0.57125 +0.455 +0.30875 +0.19125001 +0.155 +0.165 +0.2 +0.24875 +0.3175 +0.45499998 +0.47750002 +0.4425 +0.42875004 +0.49875003 +0.65749997 +0.84375006 +0.9674999 +0.9675 +0.84999996 +0.6875 +0.58124995 +0.59125 +0.70250005 +0.8425 +0.9212499 +0.8875 +0.74875 +0.57375 +0.4475 +0.425 +0.44875 +0.495 +0.565 +0.61 +0.62375003 +0.6475 +0.66625 +0.68000007 +0.6912501 +0.7025 +0.70625 +0.70124996 +0.67249995 +0.61875004 +0.5675 +0.5575 +0.61249995 +0.7425 +0.9225 +1.10875 +1.2887499 +1.4725001 +1.6800001 +1.9424999 +2.26 +2.59875 +2.8899999 +3.09375 +3.1412501 +3.05 +2.90875 +2.7575 +2.6225 +2.55375 +2.4825 +2.32375 +2.04375 +1.6724999 +1.28375 +0.9649999 +0.76124996 +0.65749997 +0.59375 +0.49874997 +0.3575 +0.20625 +0.13375 +0.13375 +0.16 +0.21875 +0.33999997 +0.45499998 +0.47750002 +0.4425 +0.42875004 +0.49875003 +0.65749997 +0.84375006 +0.9674999 +0.9675 +0.84999996 +0.6875 +0.58124995 +0.59125 +0.70250005 +0.8425 +0.9212499 +0.8875 +0.74875 +0.57375 +0.4475 +0.425 +0.44875 +0.495 +0.565 +0.61 +0.62375003 +0.6475 +0.66625 +0.68000007 +0.6912501 +0.7025 +0.70625 +0.70124996 +0.67249995 +0.61875004 +0.5675 +0.5575 +0.61249995 +0.7425 +0.9225 +1.10875 +1.2887499 +1.4725001 +1.6800001 +1.9424999 +2.26 +2.59875 +2.8899999 +3.09375 +3.1412501 +3.05 +2.90875 +2.7575 +2.6225 +2.55375 +2.4825 +2.32375 +2.04375 +1.6724999 +1.28375 +0.9649999 +0.76124996 +0.65749997 +0.59375 +0.49874997 +0.3575 +0.20625 +0.13375 +0.13375 +0.16 +0.21875 +0.33999997 +0.5075 +0.51 +0.4375 +0.3775 +0.4025 +0.53375 +0.71999997 +0.86499995 +0.90000004 +0.815 +0.67625 +0.5825 +0.59250003 +0.70125 +0.8425 +0.92625 +0.89250004 +0.7525 +0.5575 +0.42749998 +0.36749998 +0.34625 +0.34749997 +0.36125 +0.37749997 +0.3875 +0.39125 +0.39375 +0.39875 +0.42374998 +0.47500002 +0.54875 +0.625 +0.67875004 +0.695 +0.6825 +0.67375 +0.715 +0.83124995 +1.02 +1.24875 +1.4812499 +1.71125 +1.9587501 +2.2524998 +2.61375 +3.0162501 +3.3887498 +3.6550002 +3.7575 +3.6974998 +3.52 +3.2925 +3.0625 +2.88875 +2.7637498 +2.5649998 +2.25625 +1.8512502 +1.4275 +1.07875 +0.85375 +0.7475 +0.68875 +0.5975 +0.43999994 +0.25875 +0.12875001 +0.09 +0.12 +0.22 +0.39 +0.5075 +0.51 +0.4375 +0.3775 +0.4025 +0.53375 +0.71999997 +0.86499995 +0.90000004 +0.815 +0.67625 +0.5825 +0.59250003 +0.70125 +0.8425 +0.92625 +0.89250004 +0.7525 +0.5575 +0.42749998 +0.36749998 +0.34625 +0.34749997 +0.36125 +0.37749997 +0.3875 +0.39125 +0.39375 +0.39875 +0.42374998 +0.47500002 +0.54875 +0.625 +0.67875004 +0.695 +0.6825 +0.67375 +0.715 +0.83124995 +1.02 +1.24875 +1.4812499 +1.71125 +1.9587501 +2.2524998 +2.61375 +3.0162501 +3.3887498 +3.6550002 +3.7575 +3.6974998 +3.52 +3.2925 +3.0625 +2.88875 +2.7637498 +2.5649998 +2.25625 +1.8512502 +1.4275 +1.07875 +0.85375 +0.7475 +0.68875 +0.5975 +0.43999994 +0.25875 +0.12875001 +0.09 +0.12 +0.22 +0.39 +0.535 +0.51500005 +0.40875 +0.30124998 +0.28625 +0.39125 +0.57000005 +0.73 +0.795 +0.745 +0.63124996 +0.5475 +0.5575 +0.66375005 +0.8075 +0.90125006 +0.87875 +0.74125004 +0.5425 +0.38374996 +0.29625 +0.2375 +0.20750001 +0.20375001 +0.20875001 +0.21375 +0.215 +0.21125 +0.21625 +0.25125 +0.33125 +0.455 +0.59874994 +0.71624994 +0.78125 +0.78999996 +0.7775 +0.79499996 +0.89 +1.06375 +1.2924999 +1.53125 +1.7637501 +2.0075 +2.29375 +2.6537502 +3.0775003 +3.4962502 +3.8274999 +3.9837499 +3.95125 +3.77 +3.5062501 +3.2287502 +3.0275002 +2.8862503 +2.6925 +2.39625 +2.0037498 +1.58375 +1.2287499 +1.0000001 +0.89124995 +0.83375 +0.74125 +0.56999993 +0.35250002 +0.17125002 +0.08375 +0.107499994 +0.24875 +0.42999998 +0.535 +0.51500005 +0.40875 +0.30124998 +0.28625 +0.39125 +0.57000005 +0.73 +0.795 +0.745 +0.63124996 +0.5475 +0.5575 +0.66375005 +0.8075 +0.90125006 +0.87875 +0.74125004 +0.5425 +0.38374996 +0.29625 +0.2375 +0.20750001 +0.20375001 +0.20875001 +0.21375 +0.215 +0.21125 +0.21625 +0.25125 +0.33125 +0.455 +0.59874994 +0.71624994 +0.78125 +0.78999996 +0.7775 +0.79499996 +0.89 +1.06375 +1.2924999 +1.53125 +1.7637501 +2.0075 +2.29375 +2.6537502 +3.0775003 +3.4962502 +3.8274999 +3.9837499 +3.95125 +3.77 +3.5062501 +3.2287502 +3.0275002 +2.8862503 +2.6925 +2.39625 +2.0037498 +1.58375 +1.2287499 +1.0000001 +0.89124995 +0.83375 +0.74125 +0.56999993 +0.35250002 +0.17125002 +0.08375 +0.107499994 +0.24875 +0.42999998 +0.53375006 +0.49625 +0.365 +0.23 +0.18749999 +0.26999998 +0.44375 +0.6162499 +0.70624995 +0.6825 +0.58500004 +0.505 +0.51 +0.60875 +0.75374997 +0.86125 +0.8575 +0.73749995 +0.54375 +0.34374997 +0.2375 +0.1625 +0.14500001 +0.17500001 +0.19625 +0.19500001 +0.17125002 +0.17500001 +0.18 +0.22 +0.34125 +0.50374997 +0.67375004 +0.79875 +0.85249996 +0.84749997 +0.81875 +0.80750006 +0.87875 +1.04875 +1.2637501 +1.47 +1.6374999 +1.79125 +2.0137498 +2.3212502 +2.7125 +3.165 +3.5412502 +3.7350001 +3.70625 +3.5275002 +3.27375 +3.0087502 +2.8575 +2.755 +2.61875 +2.385 +2.04875 +1.6725 +1.34375 +1.13 +1.02875 +0.98 +0.8937501 +0.72125 +0.485 +0.26625 +0.14375001 +0.16 +0.29125002 +0.45 +0.53375006 +0.49625 +0.365 +0.23 +0.18749999 +0.26999998 +0.44375 +0.6162499 +0.70624995 +0.6825 +0.58500004 +0.505 +0.51 +0.60875 +0.75374997 +0.86125 +0.8575 +0.73749995 +0.54375 +0.34374997 +0.2375 +0.1625 +0.14500001 +0.17500001 +0.19625 +0.19500001 +0.17125002 +0.17500001 +0.18 +0.22 +0.34125 +0.50374997 +0.67375004 +0.79875 +0.85249996 +0.84749997 +0.81875 +0.80750006 +0.87875 +1.04875 +1.2637501 +1.47 +1.6374999 +1.79125 +2.0137498 +2.3212502 +2.7125 +3.165 +3.5412502 +3.7350001 +3.70625 +3.5275002 +3.27375 +3.0087502 +2.8575 +2.755 +2.61875 +2.385 +2.04875 +1.6725 +1.34375 +1.13 +1.02875 +0.98 +0.8937501 +0.72125 +0.485 +0.26625 +0.14375001 +0.16 +0.29125002 +0.45 +0.53125 +0.48 +0.33875 +0.19375 +0.14250001 +0.20750001 +0.37875003 +0.56 +0.66749996 +0.6575 +0.56375 +0.47500002 +0.46500003 +0.55375004 +0.70125 +0.8225 +0.84625006 +0.74875003 +0.565 +0.36875 +0.22875 +0.175 +0.19375001 +0.24625 +0.29875 +0.31875002 +0.31125 +0.29874998 +0.30625 +0.36124998 +0.46875 +0.615 +0.76125 +0.865 +0.89374995 +0.855 +0.79249996 +0.76500005 +0.82 +0.95625 +1.1312499 +1.27875 +1.375 +1.4375 +1.5387499 +1.74625 +2.08125 +2.4875 +2.85 +3.05125 +3.0499997 +2.8825 +2.6525 +2.46625 +2.3799999 +2.3575 +2.31375 +2.1775002 +1.93125 +1.625 +1.35 +1.1712501 +1.0975 +1.0725 +1.01 +0.85749996 +0.63125 +0.39875 +0.25 +0.23875 +0.33874997 +0.46625 +0.53125 +0.48 +0.33875 +0.19375 +0.14250001 +0.20750001 +0.37875003 +0.56 +0.66749996 +0.6575 +0.56375 +0.47500002 +0.46500003 +0.55375004 +0.70125 +0.8225 +0.84625006 +0.74875003 +0.565 +0.36875 +0.22875 +0.175 +0.19375001 +0.24625 +0.29875 +0.31875002 +0.31125 +0.29874998 +0.30625 +0.36124998 +0.46875 +0.615 +0.76125 +0.865 +0.89374995 +0.855 +0.79249996 +0.76500005 +0.82 +0.95625 +1.1312499 +1.27875 +1.375 +1.4375 +1.5387499 +1.74625 +2.08125 +2.4875 +2.85 +3.05125 +3.0499997 +2.8825 +2.6525 +2.46625 +2.3799999 +2.3575 +2.31375 +2.1775002 +1.93125 +1.625 +1.35 +1.1712501 +1.0975 +1.0725 +1.01 +0.85749996 +0.63125 +0.39875 +0.25 +0.23875 +0.33874997 +0.46625 +0.55625 +0.505 +0.36874998 +0.22749999 +0.16874999 +0.22874999 +0.39624998 +0.58000004 +0.69125 +0.68375 +0.58250004 +0.47375 +0.44124997 +0.5175 +0.65625 +0.7925001 +0.8375 +0.76125 +0.59374994 +0.40875 +0.27875 +0.24125001 +0.28500003 +0.36625 +0.43875 +0.47375 +0.47125 +0.45499998 +0.45374998 +0.4925 +0.57750005 +0.6887499 +0.79125 +0.845 +0.83000004 +0.76124996 +0.67875 +0.64250004 +0.6825 +0.795 +0.92499995 +1.0124999 +1.02125 +0.98499995 +0.975 +1.07375 +1.3112501 +1.6412499 +1.9562501 +2.145 +2.15375 +2.0149999 +1.8299999 +1.7075 +1.6937499 +1.7625 +1.8237501 +1.7962501 +1.65 +1.42875 +1.21625 +1.0849999 +1.05125 +1.06625 +1.04625 +0.9412501 +0.74625003 +0.52750003 +0.375 +0.33374998 +0.4025 +0.505 +0.55625 +0.505 +0.36874998 +0.22749999 +0.16874999 +0.22874999 +0.39624998 +0.58000004 +0.69125 +0.68375 +0.58250004 +0.47375 +0.44124997 +0.5175 +0.65625 +0.7925001 +0.8375 +0.76125 +0.59374994 +0.40875 +0.27875 +0.24125001 +0.28500003 +0.36625 +0.43875 +0.47375 +0.47125 +0.45499998 +0.45374998 +0.4925 +0.57750005 +0.6887499 +0.79125 +0.845 +0.83000004 +0.76124996 +0.67875 +0.64250004 +0.6825 +0.795 +0.92499995 +1.0124999 +1.02125 +0.98499995 +0.975 +1.07375 +1.3112501 +1.6412499 +1.9562501 +2.145 +2.15375 +2.0149999 +1.8299999 +1.7075 +1.6937499 +1.7625 +1.8237501 +1.7962501 +1.65 +1.42875 +1.21625 +1.0849999 +1.05125 +1.06625 +1.04625 +0.9412501 +0.74625003 +0.52750003 +0.375 +0.33374998 +0.4025 +0.505 +0.63750005 +0.59625 +0.47875 +0.3475 +0.2875 +0.3475 +0.5075 +0.6825 +0.7875 +0.77125007 +0.65375 +0.51875 +0.46 +0.50874996 +0.6325 +0.76875 +0.8249999 +0.76500005 +0.60875 +0.43375003 +0.31875 +0.30124998 +0.36749998 +0.46625 +0.5475 +0.57375 +0.555 +0.51874995 +0.5 +0.525 +0.5875 +0.66375005 +0.71875 +0.72249997 +0.66375005 +0.56874996 +0.4875 +0.46125 +0.51 +0.61249995 +0.70875 +0.73875004 +0.67875004 +0.56 +0.45999998 +0.46249998 +0.61125 +0.8625 +1.1175 +1.27125 +1.2725 +1.1525 +1.00375 +0.92625004 +0.975 +1.11625 +1.26125 +1.32625 +1.2674999 +1.12 +0.96750003 +0.88374996 +0.8925 +0.95375 +0.98875004 +0.9425 +0.80375004 +0.62625 +0.48749998 +0.4425 +0.495 +0.58500004 +0.63750005 +0.59625 +0.47875 +0.3475 +0.2875 +0.3475 +0.5075 +0.6825 +0.7875 +0.77125007 +0.65375 +0.51875 +0.46 +0.50874996 +0.6325 +0.76875 +0.8249999 +0.76500005 +0.60875 +0.43375003 +0.31875 +0.30124998 +0.36749998 +0.46625 +0.5475 +0.57375 +0.555 +0.51874995 +0.5 +0.525 +0.5875 +0.66375005 +0.71875 +0.72249997 +0.66375005 +0.56874996 +0.4875 +0.46125 +0.51 +0.61249995 +0.70875 +0.73875004 +0.67875004 +0.56 +0.45999998 +0.46249998 +0.61125 +0.8625 +1.1175 +1.27125 +1.2725 +1.1525 +1.00375 +0.92625004 +0.975 +1.11625 +1.26125 +1.32625 +1.2674999 +1.12 +0.96750003 +0.88374996 +0.8925 +0.95375 +0.98875004 +0.9425 +0.80375004 +0.62625 +0.48749998 +0.4425 +0.495 +0.58500004 +0.76750004 +0.7575 +0.67 +0.56375 +0.5125 +0.5675 +0.71125 +0.8737501 +0.96500003 +0.935 +0.79999995 +0.64 +0.5425 +0.5525 +0.6525 +0.77 +0.81625 +0.75250006 +0.59875 +0.43125 +0.36499998 +0.35 +0.41375 +0.52 +0.58625 +0.58625 +0.53125 +0.48624998 +0.445 +0.4375 +0.48999998 +0.54875 +0.57 +0.53499997 +0.45250002 +0.36499998 +0.30874997 +0.29625002 +0.35375 +0.45999998 +0.53875 +0.53 +0.42375 +0.25125 +0.123749994 +0.0925 +0.15125 +0.32 +0.51625 +0.63125 +0.615 +0.515 +0.39749998 +0.32000002 +0.39875 +0.56625 +0.75625 +0.8775 +0.8775 +0.78875005 +0.67875004 +0.62875 +0.66499996 +0.76125 +0.84749997 +0.8612499 +0.78874993 +0.6675 +0.5625 +0.53625 +0.59625 +0.6975 +0.76750004 +0.7575 +0.67 +0.56375 +0.5125 +0.5675 +0.71125 +0.8737501 +0.96500003 +0.935 +0.79999995 +0.64 +0.5425 +0.5525 +0.6525 +0.77 +0.81625 +0.75250006 +0.59875 +0.43125 +0.36499998 +0.35 +0.41375 +0.52 +0.58625 +0.58625 +0.53125 +0.48624998 +0.445 +0.4375 +0.48999998 +0.54875 +0.57 +0.53499997 +0.45250002 +0.36499998 +0.30874997 +0.29625002 +0.35375 +0.45999998 +0.53875 +0.53 +0.42375 +0.25125 +0.123749994 +0.0925 +0.15125 +0.32 +0.51625 +0.63125 +0.615 +0.515 +0.39749998 +0.32000002 +0.39875 +0.56625 +0.75625 +0.8775 +0.8775 +0.78875005 +0.67875004 +0.62875 +0.66499996 +0.76125 +0.84749997 +0.8612499 +0.78874993 +0.6675 +0.5625 +0.53625 +0.59625 +0.6975 +0.9125 +0.94874996 +0.9100001 +0.83875 +0.80875 +0.865 +1.0000001 +1.15125 +1.2325001 +1.19625 +1.05125 +0.86875004 +0.7337499 +0.70124996 +0.75624996 +0.8287501 +0.8399999 +0.7525 +0.58625 +0.45374998 +0.40249997 +0.40625 +0.46499997 +0.54125 +0.58625 +0.5675 +0.50375 +0.425 +0.37 +0.35625 +0.38 +0.41 +0.41625 +0.375 +0.30624998 +0.23625001 +0.2 +0.22 +0.29 +0.3775 +0.43374997 +0.41250002 +0.31375 +0.16624999 +0.042499997 +0.0075 +0.01 +0.08 +0.21124999 +0.29625 +0.28875 +0.2 +0.095 +0.051250003 +0.092499994 +0.235 +0.40875 +0.5425 +0.5775 +0.51875 +0.4325 +0.39374995 +0.43750003 +0.545 +0.65625 +0.71375 +0.6975 +0.63250005 +0.57624996 +0.58625 +0.67625004 +0.805 +0.9125 +0.94874996 +0.9100001 +0.83875 +0.80875 +0.865 +1.0000001 +1.15125 +1.2325001 +1.19625 +1.05125 +0.86875004 +0.7337499 +0.70124996 +0.75624996 +0.8287501 +0.8399999 +0.7525 +0.58625 +0.45374998 +0.40249997 +0.40625 +0.46499997 +0.54125 +0.58625 +0.5675 +0.50375 +0.425 +0.37 +0.35625 +0.38 +0.41 +0.41625 +0.375 +0.30624998 +0.23625001 +0.2 +0.22 +0.29 +0.3775 +0.43374997 +0.41250002 +0.31375 +0.16624999 +0.042499997 +0.0075 +0.01 +0.08 +0.21124999 +0.29625 +0.28875 +0.2 +0.095 +0.051250003 +0.092499994 +0.235 +0.40875 +0.5425 +0.5775 +0.51875 +0.4325 +0.39374995 +0.43750003 +0.545 +0.65625 +0.71375 +0.6975 +0.63250005 +0.57624996 +0.58625 +0.67625004 +0.805 +1.015 +1.1125 +1.13375 +1.11625 +1.12375 +1.19875 +1.3375001 +1.4875 +1.575 +1.54875 +1.4112501 +1.22125 +1.06375 +0.98375 +0.97875 +0.98749995 +0.94124997 +0.81499994 +0.62624997 +0.49249998 +0.44375 +0.46125 +0.52875 +0.5975 +0.6175 +0.56624997 +0.46374997 +0.35875 +0.29125 +0.2825 +0.3125 +0.345 +0.345 +0.30125 +0.2275 +0.16749999 +0.15125 +0.19 +0.27125 +0.35875 +0.40875 +0.38875 +0.29875 +0.165 +0.0525 +0.005 +0.0025 +0.057499997 +0.155 +0.21875 +0.2075 +0.1225 +0.02875 +0.0 +0.0425 +0.14625 +0.25 +0.35875 +0.40500006 +0.36124998 +0.285 +0.2425 +0.265 +0.35124996 +0.45625 +0.52750003 +0.5425 +0.52125 +0.51125 +0.56375 +0.68874997 +0.85875005 +1.015 +1.1125 +1.13375 +1.11625 +1.12375 +1.19875 +1.3375001 +1.4875 +1.575 +1.54875 +1.4112501 +1.22125 +1.06375 +0.98375 +0.97875 +0.98749995 +0.94124997 +0.81499994 +0.62624997 +0.49249998 +0.44375 +0.46125 +0.52875 +0.5975 +0.6175 +0.56624997 +0.46374997 +0.35875 +0.29125 +0.2825 +0.3125 +0.345 +0.345 +0.30125 +0.2275 +0.16749999 +0.15125 +0.19 +0.27125 +0.35875 +0.40875 +0.38875 +0.29875 +0.165 +0.0525 +0.005 +0.0025 +0.057499997 +0.155 +0.21875 +0.2075 +0.1225 +0.02875 +0.0 +0.0425 +0.14625 +0.25 +0.35875 +0.40500006 +0.36124998 +0.285 +0.2425 +0.265 +0.35124996 +0.45625 +0.52750003 +0.5425 +0.52125 +0.51125 +0.56375 +0.68874997 +0.85875005 +1.03 +1.1862501 +1.28 +1.3299999 +1.39125 +1.5024999 +1.66375 +1.8325 +1.94375 +1.9487499 +1.84375 +1.67375 +1.51125 +1.4000001 +1.33875 +1.28 +1.1724999 +0.995 +0.77875 +0.60375 +0.54625 +0.56 +0.6225 +0.69625 +0.69375 +0.59874994 +0.4725 +0.3475 +0.26999998 +0.2575 +0.2875 +0.3175 +0.3225 +0.2825 +0.21000001 +0.15125 +0.14 +0.17750001 +0.25375 +0.32999998 +0.36374998 +0.34249997 +0.27625 +0.17625 +0.08 +0.025 +0.025 +0.08125 +0.17875 +0.23624998 +0.21625 +0.1425 +0.0475 +0.005 +0.055 +0.1375 +0.2125 +0.295 +0.33875 +0.3075 +0.23 +0.18249999 +0.18124999 +0.22 +0.27749997 +0.32874998 +0.35250002 +0.35625002 +0.37875 +0.45999998 +0.61875 +0.82375 +1.03 +1.1862501 +1.28 +1.3299999 +1.39125 +1.5024999 +1.66375 +1.8325 +1.94375 +1.9487499 +1.84375 +1.67375 +1.51125 +1.4000001 +1.33875 +1.28 +1.1724999 +0.995 +0.77875 +0.60375 +0.54625 +0.56 +0.6225 +0.69625 +0.69375 +0.59874994 +0.4725 +0.3475 +0.26999998 +0.2575 +0.2875 +0.3175 +0.3225 +0.2825 +0.21000001 +0.15125 +0.14 +0.17750001 +0.25375 +0.32999998 +0.36374998 +0.34249997 +0.27625 +0.17625 +0.08 +0.025 +0.025 +0.08125 +0.17875 +0.23624998 +0.21625 +0.1425 +0.0475 +0.005 +0.055 +0.1375 +0.2125 +0.295 +0.33875 +0.3075 +0.23 +0.18249999 +0.18124999 +0.22 +0.27749997 +0.32874998 +0.35250002 +0.35625002 +0.37875 +0.45999998 +0.61875 +0.82375 +0.95 +1.1575 +1.31125 +1.43 +1.5512501 +1.7075 +1.9062501 +2.10875 +2.2575 +2.3125 +2.2625 +2.1425002 +2.0075 +1.89375 +1.80125 +1.6962501 +1.53875 +1.3225 +1.0799999 +0.875 +0.76750004 +0.77 +0.83875 +0.895 +0.87375003 +0.75125 +0.57125 +0.4225 +0.3325 +0.3025 +0.32375 +0.3725 +0.3875 +0.35 +0.28375 +0.22875 +0.20624998 +0.22875 +0.2725 +0.315 +0.32625002 +0.29125002 +0.22125001 +0.15125 +0.08625 +0.03875 +0.048750002 +0.120000005 +0.20499998 +0.26375002 +0.25875 +0.18875 +0.08624999 +0.0475 +0.08125 +0.14125 +0.2025 +0.27125 +0.31 +0.28875002 +0.21625 +0.16249998 +0.14999999 +0.16875 +0.18625 +0.19624999 +0.20124999 +0.20624998 +0.23625 +0.31875 +0.48 +0.7099999 +0.95 +1.1575 +1.31125 +1.43 +1.5512501 +1.7075 +1.9062501 +2.10875 +2.2575 +2.3125 +2.2625 +2.1425002 +2.0075 +1.89375 +1.80125 +1.6962501 +1.53875 +1.3225 +1.0799999 +0.875 +0.76750004 +0.77 +0.83875 +0.895 +0.87375003 +0.75125 +0.57125 +0.4225 +0.3325 +0.3025 +0.32375 +0.3725 +0.3875 +0.35 +0.28375 +0.22875 +0.20624998 +0.22875 +0.2725 +0.315 +0.32625002 +0.29125002 +0.22125001 +0.15125 +0.08625 +0.03875 +0.048750002 +0.120000005 +0.20499998 +0.26375002 +0.25875 +0.18875 +0.08624999 +0.0475 +0.08125 +0.14125 +0.2025 +0.27125 +0.31 +0.28875002 +0.21625 +0.16249998 +0.14999999 +0.16875 +0.18625 +0.19624999 +0.20124999 +0.20624998 +0.23625 +0.31875 +0.48 +0.7099999 +0.815 +1.04625 +1.24125 +1.40875 +1.5775 +1.7737501 +2.005 +2.24 +2.4337502 +2.54625 +2.5662498 +2.51875 +2.4425 +2.365 +2.28375 +2.1725001 +2.00125 +1.7700001 +1.51375 +1.2900001 +1.15375 +1.11875 +1.14375 +1.16 +1.11 +0.97375005 +0.78499997 +0.60375 +0.48250002 +0.435 +0.44375 +0.46125 +0.45375 +0.41375005 +0.35 +0.29375002 +0.26000002 +0.2525 +0.25875 +0.26125 +0.25125 +0.2225 +0.1775 +0.12000001 +0.0725 +0.05375 +0.08125 +0.1325 +0.18124999 +0.21875 +0.23750001 +0.20375001 +0.13125 +0.08499999 +0.0925 +0.1375 +0.18375 +0.21875 +0.24999999 +0.24249999 +0.18625 +0.13624999 +0.125 +0.15 +0.16625 +0.16625 +0.1575 +0.155 +0.175 +0.22625 +0.34375 +0.56375 +0.815 +1.04625 +1.24125 +1.40875 +1.5775 +1.7737501 +2.005 +2.24 +2.4337502 +2.54625 +2.5662498 +2.51875 +2.4425 +2.365 +2.28375 +2.1725001 +2.00125 +1.7700001 +1.51375 +1.2900001 +1.15375 +1.11875 +1.14375 +1.16 +1.11 +0.97375005 +0.78499997 +0.60375 +0.48250002 +0.435 +0.44375 +0.46125 +0.45375 +0.41375005 +0.35 +0.29375002 +0.26000002 +0.2525 +0.25875 +0.26125 +0.25125 +0.2225 +0.1775 +0.12000001 +0.0725 +0.05375 +0.08125 +0.1325 +0.18124999 +0.21875 +0.23750001 +0.20375001 +0.13125 +0.08499999 +0.0925 +0.1375 +0.18375 +0.21875 +0.24999999 +0.24249999 +0.18625 +0.13624999 +0.125 +0.15 +0.16625 +0.16625 +0.1575 +0.155 +0.175 +0.22625 +0.34375 +0.56375 +0.695 +0.92375 +1.1225 +1.30375 +1.4862499 +1.70125 +1.9425001 +2.1925 +2.4125 +2.57125 +2.6625 +2.69875 +2.7075 +2.70125 +2.67625 +2.60625 +2.4637501 +2.2524998 +2.0049999 +1.77375 +1.6075 +1.52 +1.485 +1.44875 +1.3587501 +1.2025 +1.0074999 +0.81625 +0.6725 +0.59 +0.54875 +0.5225 +0.48125005 +0.42125002 +0.35375005 +0.2925 +0.25 +0.225 +0.21 +0.1975 +0.17625001 +0.14875 +0.11375 +0.08 +0.055 +0.06125 +0.09625 +0.13 +0.14999999 +0.15374999 +0.14625 +0.1325 +0.0925 +0.0575 +0.0725 +0.10875 +0.1325 +0.145 +0.15 +0.14125 +0.112500004 +0.0825 +0.095 +0.12125 +0.13625 +0.13625 +0.13125 +0.135 +0.16 +0.20875 +0.28124997 +0.45874995 +0.695 +0.92375 +1.1225 +1.30375 +1.4862499 +1.70125 +1.9425001 +2.1925 +2.4125 +2.57125 +2.6625 +2.69875 +2.7075 +2.70125 +2.67625 +2.60625 +2.4637501 +2.2524998 +2.0049999 +1.77375 +1.6075 +1.52 +1.485 +1.44875 +1.3587501 +1.2025 +1.0074999 +0.81625 +0.6725 +0.59 +0.54875 +0.5225 +0.48125005 +0.42125002 +0.35375005 +0.2925 +0.25 +0.225 +0.21 +0.1975 +0.17625001 +0.14875 +0.11375 +0.08 +0.055 +0.06125 +0.09625 +0.13 +0.14999999 +0.15374999 +0.14625 +0.1325 +0.0925 +0.0575 +0.0725 +0.10875 +0.1325 +0.145 +0.15 +0.14125 +0.112500004 +0.0825 +0.095 +0.12125 +0.13625 +0.13625 +0.13125 +0.135 +0.16 +0.20875 +0.28124997 +0.45874995 +0.65999997 +0.85625 +1.025 +1.17875 +1.34 +1.52875 +1.75 +1.9812498 +2.1975 +2.3787498 +2.52 +2.63125 +2.73 +2.8175 +2.8762498 +2.88375 +2.8100002 +2.6562498 +2.4475 +2.2325 +2.0525 +1.90875 +1.8125 +1.715 +1.5825 +1.405 +1.2025 +1.0037501 +0.84 +0.71999997 +0.62875 +0.5475 +0.46374997 +0.37375003 +0.29125 +0.2325 +0.19749999 +0.17875 +0.16749999 +0.15625 +0.14 +0.1075 +0.06875 +0.0375 +0.0275 +0.0425 +0.07625 +0.10625 +0.11625 +0.0975 +0.065 +0.033749998 +0.013749999 +0.0025 +0.02625 +0.06125 +0.08125 +0.0775 +0.061249997 +0.0475 +0.035 +0.03875 +0.065 +0.08875 +0.10125 +0.1 +0.09625 +0.1025 +0.13125 +0.18375 +0.28624997 +0.45125 +0.65999997 +0.85625 +1.025 +1.17875 +1.34 +1.52875 +1.75 +1.9812498 +2.1975 +2.3787498 +2.52 +2.63125 +2.73 +2.8175 +2.8762498 +2.88375 +2.8100002 +2.6562498 +2.4475 +2.2325 +2.0525 +1.90875 +1.8125 +1.715 +1.5825 +1.405 +1.2025 +1.0037501 +0.84 +0.71999997 +0.62875 +0.5475 +0.46374997 +0.37375003 +0.29125 +0.2325 +0.19749999 +0.17875 +0.16749999 +0.15625 +0.14 +0.1075 +0.06875 +0.0375 +0.0275 +0.0425 +0.07625 +0.10625 +0.11625 +0.0975 +0.065 +0.033749998 +0.013749999 +0.0025 +0.02625 +0.06125 +0.08125 +0.0775 +0.061249997 +0.0475 +0.035 +0.03875 +0.065 +0.08875 +0.10125 +0.1 +0.09625 +0.1025 +0.13125 +0.18375 +0.28624997 +0.45125 +0.74249995 +0.89 +1.0024999 +1.1 +1.2025 +1.32875 +1.49 +1.6674999 +1.8474998 +2.01875 +2.17875 +2.33875 +2.5099998 +2.6799998 +2.83375 +2.9312499 +2.9475 +2.8787498 +2.76375 +2.6162503 +2.44625 +2.26375 +2.0800002 +1.9350001 +1.7687501 +1.5775 +1.3725 +1.175 +1.0150001 +0.85375 +0.7125 +0.575 +0.43625 +0.30624998 +0.21000001 +0.16250001 +0.13875 +0.12625 +0.12375 +0.11875 +0.1 +0.06625 +0.0275 +0.0 +0.0 +0.0 +0.03 +0.0575 +0.06375 +0.0425 +0.00125 +0.01 +0.0075000003 +0.0 +0.0 +0.01 +0.0325 +0.03375 +0.01875 +0.0025 +0.0 +0.01125 +0.035 +0.0575 +0.06875 +0.0675 +0.07124999 +0.1 +0.1525 +0.245 +0.38875002 +0.5675 +0.74249995 +0.89 +1.0024999 +1.1 +1.2025 +1.32875 +1.49 +1.6674999 +1.8474998 +2.01875 +2.17875 +2.33875 +2.5099998 +2.6799998 +2.83375 +2.9312499 +2.9475 +2.8787498 +2.76375 +2.6162503 +2.44625 +2.26375 +2.0800002 +1.9350001 +1.7687501 +1.5775 +1.3725 +1.175 +1.0150001 +0.85375 +0.7125 +0.575 +0.43625 +0.30624998 +0.21000001 +0.16250001 +0.13875 +0.12625 +0.12375 +0.11875 +0.1 +0.06625 +0.0275 +0.0 +0.0 +0.0 +0.03 +0.0575 +0.06375 +0.0425 +0.00125 +0.01 +0.0075000003 +0.0 +0.0 +0.01 +0.0325 +0.03375 +0.01875 +0.0025 +0.0 +0.01125 +0.035 +0.0575 +0.06875 +0.0675 +0.07124999 +0.1 +0.1525 +0.245 +0.38875002 +0.5675 +0.92625 +1.025 +1.0749999 +1.0975 +1.11625 +1.15875 +1.2325 +1.3312501 +1.44875 +1.58125 +1.73 +1.9175 +2.13625 +2.3575 +2.56375 +2.7337499 +2.8375 +2.8825002 +2.86625 +2.78875 +2.65875 +2.4900002 +2.295 +2.0925 +1.9125 +1.7250001 +1.5487499 +1.395 +1.235 +1.0562501 +0.84999996 +0.65375 +0.46375 +0.29 +0.16749999 +0.11624999 +0.098749995 +0.0975 +0.09625 +0.0875 +0.06625 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0125 +0.01875 +0.0 +0.02125 +0.056250002 +0.066250004 +0.02875 +0.0 +0.0 +0.00125 +0.00625 +0.0 +0.0 +0.00125 +0.0025 +0.0125 +0.037499998 +0.06125 +0.08875 +0.13250001 +0.2075 +0.31249997 +0.44875 +0.60999995 +0.78125 +0.92625 +1.025 +1.0749999 +1.0975 +1.11625 +1.15875 +1.2325 +1.3312501 +1.44875 +1.58125 +1.73 +1.9175 +2.13625 +2.3575 +2.56375 +2.7337499 +2.8375 +2.8825002 +2.86625 +2.78875 +2.65875 +2.4900002 +2.295 +2.0925 +1.9125 +1.7250001 +1.5487499 +1.395 +1.235 +1.0562501 +0.84999996 +0.65375 +0.46375 +0.29 +0.16749999 +0.11624999 +0.098749995 +0.0975 +0.09625 +0.0875 +0.06625 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0125 +0.01875 +0.0 +0.02125 +0.056250002 +0.066250004 +0.02875 +0.0 +0.0 +0.00125 +0.00625 +0.0 +0.0 +0.00125 +0.0025 +0.0125 +0.037499998 +0.06125 +0.08875 +0.13250001 +0.2075 +0.31249997 +0.44875 +0.60999995 +0.78125 +1.15125 +1.2137499 +1.20875 +1.1587499 +1.095 +1.045 +1.02375 +1.03625 +1.0812501 +1.1637499 +1.2837499 +1.46875 +1.68375 +1.9100001 +2.13375 +2.33375 +2.5012498 +2.62375 +2.6975 +2.70375 +2.63875 +2.5149999 +2.3487499 +2.16625 +1.9975001 +1.84875 +1.7225001 +1.6025 +1.4625 +1.2825 +1.055 +0.81375 +0.5825 +0.3675 +0.2125 +0.125 +0.105 +0.10375 +0.09875 +0.085 +0.05875 +0.02125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01125 +0.0325 +0.11000001 +0.19874999 +0.21125 +0.1375 +0.04625 +0.00375 +0.0 +0.0 +0.01625 +0.04625 +0.06625 +0.068749994 +0.0625 +0.087500006 +0.13875 +0.215 +0.30625 +0.4125 +0.53999996 +0.6925 +0.86375004 +1.0275 +1.15125 +1.2137499 +1.20875 +1.1587499 +1.095 +1.045 +1.02375 +1.03625 +1.0812501 +1.1637499 +1.2837499 +1.46875 +1.68375 +1.9100001 +2.13375 +2.33375 +2.5012498 +2.62375 +2.6975 +2.70375 +2.63875 +2.5149999 +2.3487499 +2.16625 +1.9975001 +1.84875 +1.7225001 +1.6025 +1.4625 +1.2825 +1.055 +0.81375 +0.5825 +0.3675 +0.2125 +0.125 +0.105 +0.10375 +0.09875 +0.085 +0.05875 +0.02125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01125 +0.0325 +0.11000001 +0.19874999 +0.21125 +0.1375 +0.04625 +0.00375 +0.0 +0.0 +0.01625 +0.04625 +0.06625 +0.068749994 +0.0625 +0.087500006 +0.13875 +0.215 +0.30625 +0.4125 +0.53999996 +0.6925 +0.86375004 +1.0275 +1.34375 +1.38375 +1.3425 +1.2425001 +1.11125 +0.98 +0.8737501 +0.80875003 +0.79625 +0.83375 +0.9287499 +1.08125 +1.2574999 +1.43875 +1.625 +1.81375 +1.98625 +2.1575 +2.30125 +2.38875 +2.3974998 +2.3337498 +2.2175002 +2.08875 +1.985 +1.89125 +1.8249999 +1.76125 +1.66 +1.4962499 +1.2724999 +1.03625 +0.79125005 +0.5625 +0.37625 +0.25125 +0.18375 +0.14625 +0.13125 +0.11125 +0.08125 +0.0425 +0.00375 +0.0 +0.0 +0.0 +0.005 +0.024999999 +0.074999996 +0.16875 +0.30749997 +0.41 +0.41875 +0.32875 +0.18375 +0.0775 +0.048750002 +0.075 +0.1375 +0.2225 +0.26749998 +0.26375002 +0.23500001 +0.24000001 +0.28875002 +0.3725 +0.48499998 +0.61125004 +0.7525 +0.91249996 +1.0812501 +1.2350001 +1.34375 +1.38375 +1.3425 +1.2425001 +1.11125 +0.98 +0.8737501 +0.80875003 +0.79625 +0.83375 +0.9287499 +1.08125 +1.2574999 +1.43875 +1.625 +1.81375 +1.98625 +2.1575 +2.30125 +2.38875 +2.3974998 +2.3337498 +2.2175002 +2.08875 +1.985 +1.89125 +1.8249999 +1.76125 +1.66 +1.4962499 +1.2724999 +1.03625 +0.79125005 +0.5625 +0.37625 +0.25125 +0.18375 +0.14625 +0.13125 +0.11125 +0.08125 +0.0425 +0.00375 +0.0 +0.0 +0.0 +0.005 +0.024999999 +0.074999996 +0.16875 +0.30749997 +0.41 +0.41875 +0.32875 +0.18375 +0.0775 +0.048750002 +0.075 +0.1375 +0.2225 +0.26749998 +0.26375002 +0.23500001 +0.24000001 +0.28875002 +0.3725 +0.48499998 +0.61125004 +0.7525 +0.91249996 +1.0812501 +1.2350001 +1.4525 +1.48 +1.4274999 +1.3000001 +1.125 +0.93625 +0.7662501 +0.64875 +0.5975 +0.61625 +0.69624996 +0.81125 +0.93125 +1.04125 +1.1487501 +1.2675 +1.40625 +1.5825 +1.7724999 +1.92125 +1.9950001 +1.9825 +1.9312501 +1.875 +1.83375 +1.82125 +1.8262501 +1.82125 +1.7699999 +1.65625 +1.48125 +1.2700001 +1.05 +0.85125005 +0.685 +0.54499996 +0.41125003 +0.29 +0.205 +0.15375 +0.12125 +0.08375 +0.04625 +0.01625 +0.0 +0.01875 +0.05375 +0.12250001 +0.23375 +0.38125 +0.525 +0.61875 +0.62749994 +0.52625 +0.37125 +0.24374999 +0.21249999 +0.28125003 +0.39000002 +0.47375003 +0.5 +0.465 +0.40625 +0.38125 +0.41375 +0.50374997 +0.63250005 +0.775 +0.92125 +1.0725 +1.22375 +1.35875 +1.4525 +1.48 +1.4274999 +1.3000001 +1.125 +0.93625 +0.7662501 +0.64875 +0.5975 +0.61625 +0.69624996 +0.81125 +0.93125 +1.04125 +1.1487501 +1.2675 +1.40625 +1.5825 +1.7724999 +1.92125 +1.9950001 +1.9825 +1.9312501 +1.875 +1.83375 +1.82125 +1.8262501 +1.82125 +1.7699999 +1.65625 +1.48125 +1.2700001 +1.05 +0.85125005 +0.685 +0.54499996 +0.41125003 +0.29 +0.205 +0.15375 +0.12125 +0.08375 +0.04625 +0.01625 +0.0 +0.01875 +0.05375 +0.12250001 +0.23375 +0.38125 +0.525 +0.61875 +0.62749994 +0.52625 +0.37125 +0.24374999 +0.21249999 +0.28125003 +0.39000002 +0.47375003 +0.5 +0.465 +0.40625 +0.38125 +0.41375 +0.50374997 +0.63250005 +0.775 +0.92125 +1.0725 +1.22375 +1.35875 +1.4637499 +1.48625 +1.43625 +1.3075 +1.1125 +0.88625 +0.67875 +0.53125 +0.46875 +0.5 +0.585 +0.68125004 +0.7475 +0.76624995 +0.76 +0.77375 +0.85375005 +1.01625 +1.2275001 +1.4137499 +1.5225 +1.5537499 +1.5412501 +1.5237501 +1.54 +1.6074998 +1.7037499 +1.77875 +1.79 +1.725 +1.59625 +1.43875 +1.2925 +1.175 +1.07625 +0.965 +0.81374997 +0.60625 +0.38250002 +0.2325 +0.16 +0.12375 +0.09 +0.06125 +0.07625 +0.114999995 +0.15875 +0.22625002 +0.3475 +0.515 +0.6825 +0.77875006 +0.77125007 +0.6575 +0.49124998 +0.36375 +0.34999996 +0.45 +0.59375 +0.69874996 +0.70875 +0.63374996 +0.53000003 +0.465 +0.48 +0.57625 +0.7225 +0.8825 +1.03 +1.16 +1.28 +1.385 +1.4637499 +1.48625 +1.43625 +1.3075 +1.1125 +0.88625 +0.67875 +0.53125 +0.46875 +0.5 +0.585 +0.68125004 +0.7475 +0.76624995 +0.76 +0.77375 +0.85375005 +1.01625 +1.2275001 +1.4137499 +1.5225 +1.5537499 +1.5412501 +1.5237501 +1.54 +1.6074998 +1.7037499 +1.77875 +1.79 +1.725 +1.59625 +1.43875 +1.2925 +1.175 +1.07625 +0.965 +0.81374997 +0.60625 +0.38250002 +0.2325 +0.16 +0.12375 +0.09 +0.06125 +0.07625 +0.114999995 +0.15875 +0.22625002 +0.3475 +0.515 +0.6825 +0.77875006 +0.77125007 +0.6575 +0.49124998 +0.36375 +0.34999996 +0.45 +0.59375 +0.69874996 +0.70875 +0.63374996 +0.53000003 +0.465 +0.48 +0.57625 +0.7225 +0.8825 +1.03 +1.16 +1.28 +1.385 +1.4024999 +1.4275 +1.38875 +1.27 +1.07125 +0.83000004 +0.6 +0.44125 +0.39 +0.44625 +0.55875 +0.65500003 +0.67625 +0.60749996 +0.48999998 +0.40125 +0.41625 +0.5625 +0.77750003 +0.9749999 +1.08875 +1.1225001 +1.1075001 +1.1 +1.15625 +1.28375 +1.44875 +1.5887501 +1.6500001 +1.6312499 +1.5587499 +1.48625 +1.45 +1.4587499 +1.4699999 +1.4250001 +1.28 +1.025 +0.70375 +0.40375 +0.235 +0.17625001 +0.1425 +0.16 +0.19624999 +0.21625 +0.22250001 +0.26 +0.37 +0.54375 +0.72375005 +0.8275 +0.81 +0.68249995 +0.505 +0.38 +0.37749997 +0.515 +0.70125 +0.8312501 +0.835 +0.7275 +0.57875 +0.47625 +0.4775 +0.58625007 +0.7575 +0.93500006 +1.0812501 +1.19125 +1.2737501 +1.3450001 +1.4024999 +1.4275 +1.38875 +1.27 +1.07125 +0.83000004 +0.6 +0.44125 +0.39 +0.44625 +0.55875 +0.65500003 +0.67625 +0.60749996 +0.48999998 +0.40125 +0.41625 +0.5625 +0.77750003 +0.9749999 +1.08875 +1.1225001 +1.1075001 +1.1 +1.15625 +1.28375 +1.44875 +1.5887501 +1.6500001 +1.6312499 +1.5587499 +1.48625 +1.45 +1.4587499 +1.4699999 +1.4250001 +1.28 +1.025 +0.70375 +0.40375 +0.235 +0.17625001 +0.1425 +0.16 +0.19624999 +0.21625 +0.22250001 +0.26 +0.37 +0.54375 +0.72375005 +0.8275 +0.81 +0.68249995 +0.505 +0.38 +0.37749997 +0.515 +0.70125 +0.8312501 +0.835 +0.7275 +0.57875 +0.47625 +0.4775 +0.58625007 +0.7575 +0.93500006 +1.0812501 +1.19125 +1.2737501 +1.3450001 +1.3187499 +1.3412501 +1.32 +1.2175 +1.02625 +0.77875006 +0.53875 +0.37875003 +0.3475 +0.43625 +0.58 +0.68874997 +0.68375 +0.55125004 +0.35125 +0.19125 +0.1575 +0.28375 +0.49375 +0.685 +0.78125 +0.77624995 +0.73375 +0.70875 +0.77125 +0.92625004 +1.1225 +1.2925 +1.38125 +1.39 +1.37125 +1.38625 +1.4775 +1.6287501 +1.775 +1.825 +1.7162501 +1.44625 +1.07625 +0.70624995 +0.44125 +0.32375002 +0.30749997 +0.34 +0.35999998 +0.3275 +0.27124998 +0.255 +0.33125004 +0.49249998 +0.67 +0.76625 +0.7475 +0.605 +0.41875 +0.2975 +0.32000002 +0.4825 +0.71000004 +0.86499995 +0.87125003 +0.7425 +0.5625 +0.43374997 +0.4275 +0.55249995 +0.75000006 +0.95125 +1.1037501 +1.195 +1.2449999 +1.28 +1.3187499 +1.3412501 +1.32 +1.2175 +1.02625 +0.77875006 +0.53875 +0.37875003 +0.3475 +0.43625 +0.58 +0.68874997 +0.68375 +0.55125004 +0.35125 +0.19125 +0.1575 +0.28375 +0.49375 +0.685 +0.78125 +0.77624995 +0.73375 +0.70875 +0.77125 +0.92625004 +1.1225 +1.2925 +1.38125 +1.39 +1.37125 +1.38625 +1.4775 +1.6287501 +1.775 +1.825 +1.7162501 +1.44625 +1.07625 +0.70624995 +0.44125 +0.32375002 +0.30749997 +0.34 +0.35999998 +0.3275 +0.27124998 +0.255 +0.33125004 +0.49249998 +0.67 +0.76625 +0.7475 +0.605 +0.41875 +0.2975 +0.32000002 +0.4825 +0.71000004 +0.86499995 +0.87125003 +0.7425 +0.5625 +0.43374997 +0.4275 +0.55249995 +0.75000006 +0.95125 +1.1037501 +1.195 +1.2449999 +1.28 +1.26 +1.28 +1.26375 +1.1737499 +0.9925 +0.74875003 +0.50875 +0.35625 +0.33999997 +0.455 +0.6275 +0.75 +0.73625 +0.57375 +0.33125 +0.1375 +0.08625001 +0.19000001 +0.39374998 +0.5725 +0.64125 +0.59000003 +0.505 +0.4425 +0.47625 +0.615 +0.8000001 +0.9575001 +1.03875 +1.05625 +1.0725 +1.1600001 +1.3587501 +1.63875 +1.90875 +2.0612502 +2.01625 +1.77625 +1.4112499 +1.0387499 +0.76 +0.625 +0.6025 +0.61375004 +0.58375 +0.4875 +0.36125 +0.28375 +0.31249997 +0.44124997 +0.59625 +0.6725 +0.63875 +0.48125002 +0.29125 +0.18125 +0.21249999 +0.3975 +0.655 +0.82875 +0.84000003 +0.7025 +0.5075 +0.37000003 +0.36749998 +0.50625 +0.72875 +0.95375 +1.115 +1.2012501 +1.23 +1.24125 +1.26 +1.28 +1.26375 +1.1737499 +0.9925 +0.74875003 +0.50875 +0.35625 +0.33999997 +0.455 +0.6275 +0.75 +0.73625 +0.57375 +0.33125 +0.1375 +0.08625001 +0.19000001 +0.39374998 +0.5725 +0.64125 +0.59000003 +0.505 +0.4425 +0.47625 +0.615 +0.8000001 +0.9575001 +1.03875 +1.05625 +1.0725 +1.1600001 +1.3587501 +1.63875 +1.90875 +2.0612502 +2.01625 +1.77625 +1.4112499 +1.0387499 +0.76 +0.625 +0.6025 +0.61375004 +0.58375 +0.4875 +0.36125 +0.28375 +0.31249997 +0.44124997 +0.59625 +0.6725 +0.63875 +0.48125002 +0.29125 +0.18125 +0.21249999 +0.3975 +0.655 +0.82875 +0.84000003 +0.7025 +0.5075 +0.37000003 +0.36749998 +0.50625 +0.72875 +0.95375 +1.115 +1.2012501 +1.23 +1.24125 +0.5775 +0.55625 +0.50749993 +0.39624998 +0.25125 +0.16875 +0.1375 +0.11125 +0.085 +0.06625 +0.10625 +0.21625 +0.3 +0.3275 +0.32625002 +0.33375 +0.4025 +0.52125 +0.66625005 +0.8225 +0.98499995 +1.165 +1.3675001 +1.5437499 +1.66875 +1.7162501 +1.68 +1.5762501 +1.4362501 +1.28625 +1.14125 +1.00625 +0.8775 +0.76 +0.665 +0.60625 +0.57874995 +0.55625 +0.50374997 +0.3875 +0.23874998 +0.16624999 +0.135 +0.10875 +0.085 +0.068749994 +0.09875001 +0.21125 +0.29625002 +0.325 +0.3275 +0.33875 +0.41375002 +0.53875 +0.6875 +0.84625 +1.01 +1.1899999 +1.3887498 +1.5625 +1.6825 +1.7225001 +1.6800001 +1.5699999 +1.4250001 +1.27375 +1.12625 +0.99125 +0.865 +0.75 +0.65874994 +0.60125 +0.5775 +0.55625 +0.50749993 +0.39624998 +0.25125 +0.16875 +0.1375 +0.11125 +0.085 +0.06625 +0.10625 +0.21625 +0.3 +0.3275 +0.32625002 +0.33375 +0.4025 +0.52125 +0.66625005 +0.8225 +0.98499995 +1.165 +1.3675001 +1.5437499 +1.66875 +1.7162501 +1.68 +1.5762501 +1.4362501 +1.28625 +1.14125 +1.00625 +0.8775 +0.76 +0.665 +0.60625 +0.57874995 +0.55625 +0.50374997 +0.3875 +0.23874998 +0.16624999 +0.135 +0.10875 +0.085 +0.068749994 +0.09875001 +0.21125 +0.29625002 +0.325 +0.3275 +0.33875 +0.41375002 +0.53875 +0.6875 +0.84625 +1.01 +1.1899999 +1.3887498 +1.5625 +1.6825 +1.7225001 +1.6800001 +1.5699999 +1.4250001 +1.27375 +1.12625 +0.99125 +0.865 +0.75 +0.65874994 +0.60125 +0.56374997 +0.56250006 +0.5325 +0.44624996 +0.315 +0.19250001 +0.13125 +0.1025 +0.075 +0.0775 +0.16 +0.26749998 +0.33874997 +0.35250002 +0.335 +0.32625002 +0.35875002 +0.45749998 +0.59 +0.74625003 +0.9175 +1.1187501 +1.3325 +1.5237501 +1.66125 +1.72 +1.69625 +1.6012499 +1.45875 +1.30625 +1.15125 +1.0075 +0.87500006 +0.75750005 +0.67375 +0.62250006 +0.60125005 +0.58375 +0.53125 +0.41375 +0.26125 +0.1575 +0.12 +0.0925 +0.07 +0.0625 +0.13 +0.23625001 +0.3125 +0.33375 +0.33875 +0.35875 +0.43000004 +0.56 +0.71500003 +0.88125 +1.0575001 +1.265 +1.4675 +1.6424999 +1.75 +1.7737501 +1.70875 +1.57375 +1.4024999 +1.2275 +1.0649999 +0.92249995 +0.7975 +0.6925 +0.615 +0.5749999 +0.56374997 +0.56250006 +0.5325 +0.44624996 +0.315 +0.19250001 +0.13125 +0.1025 +0.075 +0.0775 +0.16 +0.26749998 +0.33874997 +0.35250002 +0.335 +0.32625002 +0.35875002 +0.45749998 +0.59 +0.74625003 +0.9175 +1.1187501 +1.3325 +1.5237501 +1.66125 +1.72 +1.69625 +1.6012499 +1.45875 +1.30625 +1.15125 +1.0075 +0.87500006 +0.75750005 +0.67375 +0.62250006 +0.60125005 +0.58375 +0.53125 +0.41375 +0.26125 +0.1575 +0.12 +0.0925 +0.07 +0.0625 +0.13 +0.23625001 +0.3125 +0.33375 +0.33875 +0.35875 +0.43000004 +0.56 +0.71500003 +0.88125 +1.0575001 +1.265 +1.4675 +1.6424999 +1.75 +1.7737501 +1.70875 +1.57375 +1.4024999 +1.2275 +1.0649999 +0.92249995 +0.7975 +0.6925 +0.615 +0.5749999 +0.53 +0.56 +0.56874996 +0.52500004 +0.42249998 +0.28875002 +0.18 +0.1225 +0.11 +0.15625 +0.25875002 +0.36124998 +0.41500002 +0.40875 +0.3625 +0.315 +0.30374998 +0.35375002 +0.465 +0.6175 +0.79875 +1.01125 +1.24125 +1.45375 +1.615 +1.7025 +1.7025001 +1.625 +1.48875 +1.3275 +1.16 +1.0 +0.8625 +0.755 +0.68875 +0.65999997 +0.65625 +0.64875 +0.59749997 +0.48000002 +0.31999996 +0.17625 +0.095000006 +0.065 +0.07 +0.12374999 +0.22625 +0.32500002 +0.37875 +0.39125 +0.39375 +0.42000002 +0.50374997 +0.63875 +0.7987499 +0.97375 +1.1775 +1.3987501 +1.61 +1.7775 +1.87125 +1.8625001 +1.7525 +1.5699999 +1.3499999 +1.1324999 +0.94374996 +0.79125 +0.67125 +0.5825 +0.52875 +0.5125 +0.53 +0.56 +0.56874996 +0.52500004 +0.42249998 +0.28875002 +0.18 +0.1225 +0.11 +0.15625 +0.25875002 +0.36124998 +0.41500002 +0.40875 +0.3625 +0.315 +0.30374998 +0.35375002 +0.465 +0.6175 +0.79875 +1.01125 +1.24125 +1.45375 +1.615 +1.7025 +1.7025001 +1.625 +1.48875 +1.3275 +1.16 +1.0 +0.8625 +0.755 +0.68875 +0.65999997 +0.65625 +0.64875 +0.59749997 +0.48000002 +0.31999996 +0.17625 +0.095000006 +0.065 +0.07 +0.12374999 +0.22625 +0.32500002 +0.37875 +0.39125 +0.39375 +0.42000002 +0.50374997 +0.63875 +0.7987499 +0.97375 +1.1775 +1.3987501 +1.61 +1.7775 +1.87125 +1.8625001 +1.7525 +1.5699999 +1.3499999 +1.1324999 +0.94374996 +0.79125 +0.67125 +0.5825 +0.52875 +0.5125 +0.495 +0.5525 +0.595 +0.595 +0.54125 +0.44125 +0.32874995 +0.24625002 +0.22874999 +0.2775 +0.36750004 +0.455 +0.49625 +0.47500002 +0.40624997 +0.32250002 +0.2625 +0.26749998 +0.35375 +0.49625 +0.68 +0.88374996 +1.11 +1.3325 +1.51375 +1.62625 +1.655 +1.60125 +1.48125 +1.3175 +1.1387501 +0.97124994 +0.83375007 +0.74375 +0.7075 +0.71375 +0.74125 +0.75125 +0.7074999 +0.59875 +0.44250003 +0.28125 +0.1725 +0.15 +0.21249999 +0.32874998 +0.445 +0.52375 +0.55125 +0.5475 +0.54625 +0.5875 +0.68625003 +0.81625 +0.9675 +1.1374999 +1.3375 +1.56125 +1.7637501 +1.91625 +1.98125 +1.9325 +1.76875 +1.53 +1.26 +1.0024999 +0.7937499 +0.63625 +0.53125 +0.46749997 +0.44250003 +0.45375004 +0.495 +0.5525 +0.595 +0.595 +0.54125 +0.44125 +0.32874995 +0.24625002 +0.22874999 +0.2775 +0.36750004 +0.455 +0.49625 +0.47500002 +0.40624997 +0.32250002 +0.2625 +0.26749998 +0.35375 +0.49625 +0.68 +0.88374996 +1.11 +1.3325 +1.51375 +1.62625 +1.655 +1.60125 +1.48125 +1.3175 +1.1387501 +0.97124994 +0.83375007 +0.74375 +0.7075 +0.71375 +0.74125 +0.75125 +0.7074999 +0.59875 +0.44250003 +0.28125 +0.1725 +0.15 +0.21249999 +0.32874998 +0.445 +0.52375 +0.55125 +0.5475 +0.54625 +0.5875 +0.68625003 +0.81625 +0.9675 +1.1374999 +1.3375 +1.56125 +1.7637501 +1.91625 +1.98125 +1.9325 +1.76875 +1.53 +1.26 +1.0024999 +0.7937499 +0.63625 +0.53125 +0.46749997 +0.44250003 +0.45375004 +0.47500002 +0.54125 +0.6 +0.63 +0.61375004 +0.54875 +0.4575 +0.37125 +0.33125 +0.3525 +0.42125 +0.51375 +0.56624997 +0.545 +0.46125 +0.3575 +0.26375 +0.24125 +0.29875 +0.425 +0.59625006 +0.78625 +0.9825 +1.17875 +1.3625001 +1.49 +1.56125 +1.55625 +1.465 +1.2987499 +1.09375 +0.92375 +0.79499996 +0.72625 +0.72749996 +0.78 +0.845 +0.88374996 +0.85875 +0.7625 +0.62375003 +0.49375 +0.42625 +0.46999997 +0.5775 +0.69625 +0.78375006 +0.8275 +0.83125 +0.81125 +0.8225 +0.88124996 +0.97375 +1.0887499 +1.21375 +1.35125 +1.5162499 +1.7075 +1.8800001 +2.0062501 +2.0375001 +1.93875 +1.7162501 +1.4325 +1.12625 +0.84874994 +0.635 +0.49124998 +0.4125 +0.38375002 +0.38875005 +0.42125002 +0.47500002 +0.54125 +0.6 +0.63 +0.61375004 +0.54875 +0.4575 +0.37125 +0.33125 +0.3525 +0.42125 +0.51375 +0.56624997 +0.545 +0.46125 +0.3575 +0.26375 +0.24125 +0.29875 +0.425 +0.59625006 +0.78625 +0.9825 +1.17875 +1.3625001 +1.49 +1.56125 +1.55625 +1.465 +1.2987499 +1.09375 +0.92375 +0.79499996 +0.72625 +0.72749996 +0.78 +0.845 +0.88374996 +0.85875 +0.7625 +0.62375003 +0.49375 +0.42625 +0.46999997 +0.5775 +0.69625 +0.78375006 +0.8275 +0.83125 +0.81125 +0.8225 +0.88124996 +0.97375 +1.0887499 +1.21375 +1.35125 +1.5162499 +1.7075 +1.8800001 +2.0062501 +2.0375001 +1.93875 +1.7162501 +1.4325 +1.12625 +0.84874994 +0.635 +0.49124998 +0.4125 +0.38375002 +0.38875005 +0.42125002 +0.47250003 +0.53124994 +0.58500004 +0.62624997 +0.63000005 +0.59125 +0.515 +0.42249995 +0.35875002 +0.35124996 +0.40125 +0.50125 +0.58 +0.59125 +0.52874994 +0.41875 +0.3175 +0.2725 +0.305 +0.40999997 +0.5575 +0.72249997 +0.8875 +1.04625 +1.20625 +1.345 +1.4449999 +1.4725001 +1.41375 +1.26875 +1.0699999 +0.8862501 +0.76624995 +0.71875 +0.75 +0.84124994 +0.94625 +1.015 +1.01125 +0.9325 +0.815 +0.71625006 +0.705 +0.795 +0.9325 +1.0625 +1.14125 +1.1600001 +1.1425 +1.125 +1.14375 +1.2049999 +1.2925 +1.385 +1.4749999 +1.5674999 +1.6775001 +1.80625 +1.9300001 +2.00375 +1.9775001 +1.83 +1.5725001 +1.26875 +0.95624995 +0.68375003 +0.48624998 +0.37125 +0.32999998 +0.33874997 +0.3725 +0.42 +0.47250003 +0.53124994 +0.58500004 +0.62624997 +0.63000005 +0.59125 +0.515 +0.42249995 +0.35875002 +0.35124996 +0.40125 +0.50125 +0.58 +0.59125 +0.52874994 +0.41875 +0.3175 +0.2725 +0.305 +0.40999997 +0.5575 +0.72249997 +0.8875 +1.04625 +1.20625 +1.345 +1.4449999 +1.4725001 +1.41375 +1.26875 +1.0699999 +0.8862501 +0.76624995 +0.71875 +0.75 +0.84124994 +0.94625 +1.015 +1.01125 +0.9325 +0.815 +0.71625006 +0.705 +0.795 +0.9325 +1.0625 +1.14125 +1.1600001 +1.1425 +1.125 +1.14375 +1.2049999 +1.2925 +1.385 +1.4749999 +1.5674999 +1.6775001 +1.80625 +1.9300001 +2.00375 +1.9775001 +1.83 +1.5725001 +1.26875 +0.95624995 +0.68375003 +0.48624998 +0.37125 +0.32999998 +0.33874997 +0.3725 +0.42 +0.47875 +0.51625 +0.55875 +0.59999996 +0.62 +0.6 +0.535 +0.43749997 +0.3475 +0.3075 +0.335 +0.43 +0.54 +0.59624994 +0.5725 +0.49125 +0.38625002 +0.32875 +0.345 +0.4275 +0.55375004 +0.68875 +0.81874996 +0.94749993 +1.1012499 +1.23125 +1.3312498 +1.3874999 +1.35875 +1.2375002 +1.05375 +0.8825 +0.76625 +0.7225 +0.7675 +0.88125 +1.01 +1.105 +1.1187501 +1.05875 +0.96375 +0.88624996 +0.89375 +1.01125 +1.1700001 +1.3087499 +1.38375 +1.4025 +1.38125 +1.34375 +1.3675 +1.43625 +1.52625 +1.6075001 +1.67125 +1.71875 +1.7700002 +1.83375 +1.8774998 +1.8812499 +1.79875 +1.6125 +1.3549999 +1.0600001 +0.76375 +0.51750004 +0.34750003 +0.26999998 +0.26625 +0.31375 +0.375 +0.43125004 +0.47875 +0.51625 +0.55875 +0.59999996 +0.62 +0.6 +0.535 +0.43749997 +0.3475 +0.3075 +0.335 +0.43 +0.54 +0.59624994 +0.5725 +0.49125 +0.38625002 +0.32875 +0.345 +0.4275 +0.55375004 +0.68875 +0.81874996 +0.94749993 +1.1012499 +1.23125 +1.3312498 +1.3874999 +1.35875 +1.2375002 +1.05375 +0.8825 +0.76625 +0.7225 +0.7675 +0.88125 +1.01 +1.105 +1.1187501 +1.05875 +0.96375 +0.88624996 +0.89375 +1.01125 +1.1700001 +1.3087499 +1.38375 +1.4025 +1.38125 +1.34375 +1.3675 +1.43625 +1.52625 +1.6075001 +1.67125 +1.71875 +1.7700002 +1.83375 +1.8774998 +1.8812499 +1.79875 +1.6125 +1.3549999 +1.0600001 +0.76375 +0.51750004 +0.34750003 +0.26999998 +0.26625 +0.31375 +0.375 +0.43125004 +0.47000006 +0.49625 +0.52875006 +0.57250005 +0.6125 +0.62 +0.57125 +0.47 +0.3525 +0.27499998 +0.27375 +0.35 +0.46875003 +0.56624997 +0.59625006 +0.5525 +0.46375 +0.3825 +0.37625 +0.44625002 +0.555 +0.67249995 +0.78375 +0.935 +1.0762501 +1.1999999 +1.29375 +1.33875 +1.33125 +1.2300001 +1.08375 +0.9225001 +0.79499996 +0.7375 +0.77000004 +0.8762501 +1.01125 +1.11625 +1.15125 +1.1112499 +1.0350001 +0.97625 +0.9875 +1.0875 +1.25 +1.3887501 +1.4925001 +1.51875 +1.48875 +1.4437499 +1.43125 +1.50875 +1.61125 +1.6975 +1.7525 +1.78 +1.8 +1.7862499 +1.7425001 +1.6587499 +1.5274999 +1.335 +1.09875 +0.83374995 +0.57375 +0.35875002 +0.22 +0.17749998 +0.205 +0.27625 +0.3625 +0.42875 +0.47000006 +0.49625 +0.52875006 +0.57250005 +0.6125 +0.62 +0.57125 +0.47 +0.3525 +0.27499998 +0.27375 +0.35 +0.46875003 +0.56624997 +0.59625006 +0.5525 +0.46375 +0.3825 +0.37625 +0.44625002 +0.555 +0.67249995 +0.78375 +0.935 +1.0762501 +1.1999999 +1.29375 +1.33875 +1.33125 +1.2300001 +1.08375 +0.9225001 +0.79499996 +0.7375 +0.77000004 +0.8762501 +1.01125 +1.11625 +1.15125 +1.1112499 +1.0350001 +0.97625 +0.9875 +1.0875 +1.25 +1.3887501 +1.4925001 +1.51875 +1.48875 +1.4437499 +1.43125 +1.50875 +1.61125 +1.6975 +1.7525 +1.78 +1.8 +1.7862499 +1.7425001 +1.6587499 +1.5274999 +1.335 +1.09875 +0.83374995 +0.57375 +0.35875002 +0.22 +0.17749998 +0.205 +0.27625 +0.3625 +0.42875 +0.4425 +0.46625003 +0.5 +0.55875 +0.625 +0.66749996 +0.64625 +0.54625 +0.40875 +0.2925 +0.25500003 +0.30875 +0.42749998 +0.54999995 +0.61249995 +0.59875 +0.52625 +0.44625 +0.4075 +0.44375 +0.54875004 +0.6775 +0.82875 +0.97499996 +1.1062499 +1.22375 +1.3149999 +1.36375 +1.3525 +1.2762501 +1.1425 +0.98 +0.83750004 +0.7525 +0.7525 +0.82624996 +0.94500005 +1.05375 +1.1112499 +1.09875 +1.04875 +1.00875 +1.0275 +1.1225 +1.2725 +1.42625 +1.52875 +1.5562501 +1.5225 +1.4725001 +1.455 +1.4925001 +1.5875 +1.685 +1.7674999 +1.8012499 +1.7725 +1.68625 +1.56 +1.41 +1.2375 +1.0475 +0.84124994 +0.6225 +0.40625 +0.22125 +0.1375 +0.12125 +0.16125 +0.22875 +0.31625 +0.39749995 +0.4425 +0.46625003 +0.5 +0.55875 +0.625 +0.66749996 +0.64625 +0.54625 +0.40875 +0.2925 +0.25500003 +0.30875 +0.42749998 +0.54999995 +0.61249995 +0.59875 +0.52625 +0.44625 +0.4075 +0.44375 +0.54875004 +0.6775 +0.82875 +0.97499996 +1.1062499 +1.22375 +1.3149999 +1.36375 +1.3525 +1.2762501 +1.1425 +0.98 +0.83750004 +0.7525 +0.7525 +0.82624996 +0.94500005 +1.05375 +1.1112499 +1.09875 +1.04875 +1.00875 +1.0275 +1.1225 +1.2725 +1.42625 +1.52875 +1.5562501 +1.5225 +1.4725001 +1.455 +1.4925001 +1.5875 +1.685 +1.7674999 +1.8012499 +1.7725 +1.68625 +1.56 +1.41 +1.2375 +1.0475 +0.84124994 +0.6225 +0.40625 +0.22125 +0.1375 +0.12125 +0.16125 +0.22875 +0.31625 +0.39749995 +0.4025 +0.43124998 +0.46875 +0.54375005 +0.64375 +0.7275 +0.74375 +0.6625 +0.51375 +0.36499998 +0.285 +0.30875 +0.41750002 +0.54875 +0.635 +0.63875 +0.575 +0.49125 +0.445 +0.47 +0.56375 +0.70375 +0.8587499 +1.00375 +1.12875 +1.2325001 +1.3100001 +1.35125 +1.34375 +1.28 +1.16125 +1.01 +0.85875 +0.74875003 +0.71125 +0.74749994 +0.84124994 +0.95125 +1.0325 +1.06375 +1.05625 +1.05125 +1.08875 +1.19125 +1.34625 +1.5075 +1.6225001 +1.6587499 +1.63 +1.57 +1.53125 +1.5474999 +1.62125 +1.72 +1.7924999 +1.8025 +1.7262499 +1.57375 +1.37375 +1.16125 +0.9625 +0.78625 +0.61875 +0.45 +0.27625 +0.1675 +0.13125 +0.135 +0.16 +0.21499999 +0.28499997 +0.35125 +0.4025 +0.43124998 +0.46875 +0.54375005 +0.64375 +0.7275 +0.74375 +0.6625 +0.51375 +0.36499998 +0.285 +0.30875 +0.41750002 +0.54875 +0.635 +0.63875 +0.575 +0.49125 +0.445 +0.47 +0.56375 +0.70375 +0.8587499 +1.00375 +1.12875 +1.2325001 +1.3100001 +1.35125 +1.34375 +1.28 +1.16125 +1.01 +0.85875 +0.74875003 +0.71125 +0.74749994 +0.84124994 +0.95125 +1.0325 +1.06375 +1.05625 +1.05125 +1.08875 +1.19125 +1.34625 +1.5075 +1.6225001 +1.6587499 +1.63 +1.57 +1.53125 +1.5474999 +1.62125 +1.72 +1.7924999 +1.8025 +1.7262499 +1.57375 +1.37375 +1.16125 +0.9625 +0.78625 +0.61875 +0.45 +0.27625 +0.1675 +0.13125 +0.135 +0.16 +0.21499999 +0.28499997 +0.35125 +0.36749998 +0.39499998 +0.43249997 +0.515 +0.63875 +0.76124996 +0.82000005 +0.7675 +0.62624997 +0.45875 +0.34999996 +0.34625 +0.44125003 +0.5749999 +0.66875 +0.68375003 +0.62125003 +0.5275 +0.46375 +0.4675 +0.545 +0.6775 +0.825 +0.96124995 +1.0674999 +1.1475 +1.2 +1.2237499 +1.2175 +1.17125 +1.0862501 +0.96875 +0.84 +0.72999996 +0.66625 +0.66999996 +0.74375004 +0.85499996 +0.97125 +1.06125 +1.1175001 +1.16875 +1.2487501 +1.37875 +1.5587499 +1.7487501 +1.8999999 +1.96875 +1.95125 +1.8774999 +1.8012499 +1.7662501 +1.7887499 +1.845 +1.8812499 +1.8487501 +1.71875 +1.4975 +1.2275 +0.96375 +0.74375 +0.58125 +0.45625 +0.335 +0.22625001 +0.17750001 +0.1575 +0.155 +0.175 +0.2175 +0.27125 +0.32375 +0.36749998 +0.39499998 +0.43249997 +0.515 +0.63875 +0.76124996 +0.82000005 +0.7675 +0.62624997 +0.45875 +0.34999996 +0.34625 +0.44125003 +0.5749999 +0.66875 +0.68375003 +0.62125003 +0.5275 +0.46375 +0.4675 +0.545 +0.6775 +0.825 +0.96124995 +1.0674999 +1.1475 +1.2 +1.2237499 +1.2175 +1.17125 +1.0862501 +0.96875 +0.84 +0.72999996 +0.66625 +0.66999996 +0.74375004 +0.85499996 +0.97125 +1.06125 +1.1175001 +1.16875 +1.2487501 +1.37875 +1.5587499 +1.7487501 +1.8999999 +1.96875 +1.95125 +1.8774999 +1.8012499 +1.7662501 +1.7887499 +1.845 +1.8812499 +1.8487501 +1.71875 +1.4975 +1.2275 +0.96375 +0.74375 +0.58125 +0.45625 +0.335 +0.22625001 +0.17750001 +0.1575 +0.155 +0.175 +0.2175 +0.27125 +0.32375 +0.35125 +0.36499998 +0.3825 +0.45374998 +0.58374995 +0.7325 +0.8275 +0.81374997 +0.695 +0.53499997 +0.415 +0.3975 +0.48125002 +0.6125 +0.71500003 +0.73625004 +0.67125005 +0.56125 +0.46624997 +0.435 +0.48 +0.58375 +0.7049999 +0.81625 +0.8924999 +0.93625 +0.9549999 +0.97999996 +0.98875 +0.96125 +0.90875006 +0.85625005 +0.7825 +0.7025 +0.6425 +0.63375 +0.68874997 +0.80500007 +0.9575 +1.11375 +1.25125 +1.3762499 +1.51625 +1.7175 +1.9575 +2.1887498 +2.3775 +2.50125 +2.5137498 +2.42875 +2.3 +2.1875 +2.12125 +2.0975 +2.06875 +1.9749999 +1.7825 +1.49625 +1.165 +0.85249996 +0.61750007 +0.46624997 +0.37125 +0.2975 +0.22625 +0.185 +0.16625 +0.155 +0.165 +0.2 +0.24875 +0.31 +0.35125 +0.36499998 +0.3825 +0.45374998 +0.58374995 +0.7325 +0.8275 +0.81374997 +0.695 +0.53499997 +0.415 +0.3975 +0.48125002 +0.6125 +0.71500003 +0.73625004 +0.67125005 +0.56125 +0.46624997 +0.435 +0.48 +0.58375 +0.7049999 +0.81625 +0.8924999 +0.93625 +0.9549999 +0.97999996 +0.98875 +0.96125 +0.90875006 +0.85625005 +0.7825 +0.7025 +0.6425 +0.63375 +0.68874997 +0.80500007 +0.9575 +1.11375 +1.25125 +1.3762499 +1.51625 +1.7175 +1.9575 +2.1887498 +2.3775 +2.50125 +2.5137498 +2.42875 +2.3 +2.1875 +2.12125 +2.0975 +2.06875 +1.9749999 +1.7825 +1.49625 +1.165 +0.85249996 +0.61750007 +0.46624997 +0.37125 +0.2975 +0.22625 +0.185 +0.16625 +0.155 +0.165 +0.2 +0.24875 +0.31 +0.35375 +0.33875 +0.31875 +0.35874996 +0.47375 +0.63000005 +0.755 +0.7825 +0.70375 +0.56625 +0.45625 +0.43624997 +0.51625 +0.65125 +0.76125 +0.78999996 +0.72124994 +0.59000003 +0.45999998 +0.39624998 +0.42625 +0.47500002 +0.52874994 +0.595 +0.63625 +0.6525 +0.67999995 +0.6999999 +0.71000004 +0.7200001 +0.72625005 +0.72625 +0.7175 +0.69375 +0.66125005 +0.65125 +0.70000005 +0.8125 +0.99 +1.20125 +1.4125 +1.625 +1.85625 +2.11875 +2.4125 +2.71125 +2.9625 +3.1162503 +3.1625 +3.08125 +2.9125 +2.7450001 +2.58625 +2.43375 +2.3137498 +2.16125 +1.9149998 +1.57875 +1.1999999 +0.85375 +0.6 +0.45375 +0.3775 +0.32 +0.24874999 +0.18624999 +0.155 +0.13375 +0.13375 +0.16 +0.21875 +0.30374998 +0.35375 +0.33875 +0.31875 +0.35874996 +0.47375 +0.63000005 +0.755 +0.7825 +0.70375 +0.56625 +0.45625 +0.43624997 +0.51625 +0.65125 +0.76125 +0.78999996 +0.72124994 +0.59000003 +0.45999998 +0.39624998 +0.42625 +0.47500002 +0.52874994 +0.595 +0.63625 +0.6525 +0.67999995 +0.6999999 +0.71000004 +0.7200001 +0.72625005 +0.72625 +0.7175 +0.69375 +0.66125005 +0.65125 +0.70000005 +0.8125 +0.99 +1.20125 +1.4125 +1.625 +1.85625 +2.11875 +2.4125 +2.71125 +2.9625 +3.1162503 +3.1625 +3.08125 +2.9125 +2.7450001 +2.58625 +2.43375 +2.3137498 +2.16125 +1.9149998 +1.57875 +1.1999999 +0.85375 +0.6 +0.45375 +0.3775 +0.32 +0.24874999 +0.18624999 +0.155 +0.13375 +0.13375 +0.16 +0.21875 +0.30374998 +0.36125 +0.31124997 +0.24875002 +0.24125001 +0.32375 +0.47750002 +0.62375 +0.69124997 +0.65625 +0.54999995 +0.45750004 +0.44375002 +0.52874994 +0.6675 +0.79125 +0.83125 +0.7625 +0.61875 +0.455 +0.37 +0.355 +0.35750002 +0.37 +0.38500002 +0.39749998 +0.40749997 +0.41250002 +0.41875 +0.435 +0.47750002 +0.54625 +0.63125 +0.705 +0.74625003 +0.75624996 +0.75624996 +0.78999996 +0.88874996 +1.06125 +1.29 +1.5424999 +1.80125 +2.0662498 +2.3575 +2.68375 +3.0325 +3.3525 +3.5774999 +3.6625001 +3.6 +3.425 +3.19625 +2.955 +2.72 +2.5149999 +2.3287501 +2.06 +1.70875 +1.31375 +0.95 +0.68500006 +0.5325 +0.45624995 +0.3925 +0.30499998 +0.19999999 +0.13 +0.09875 +0.09 +0.114999995 +0.21125 +0.32625 +0.36125 +0.31124997 +0.24875002 +0.24125001 +0.32375 +0.47750002 +0.62375 +0.69124997 +0.65625 +0.54999995 +0.45750004 +0.44375002 +0.52874994 +0.6675 +0.79125 +0.83125 +0.7625 +0.61875 +0.455 +0.37 +0.355 +0.35750002 +0.37 +0.38500002 +0.39749998 +0.40749997 +0.41250002 +0.41875 +0.435 +0.47750002 +0.54625 +0.63125 +0.705 +0.74625003 +0.75624996 +0.75624996 +0.78999996 +0.88874996 +1.06125 +1.29 +1.5424999 +1.80125 +2.0662498 +2.3575 +2.68375 +3.0325 +3.3525 +3.5774999 +3.6625001 +3.6 +3.425 +3.19625 +2.955 +2.72 +2.5149999 +2.3287501 +2.06 +1.70875 +1.31375 +0.95 +0.68500006 +0.5325 +0.45624995 +0.3925 +0.30499998 +0.19999999 +0.13 +0.09875 +0.09 +0.114999995 +0.21125 +0.32625 +0.35625 +0.2775 +0.18374999 +0.13624999 +0.17625001 +0.31374997 +0.475 +0.57750005 +0.58125 +0.50875 +0.43124998 +0.42125002 +0.50624996 +0.65250003 +0.79125 +0.84999996 +0.79375005 +0.645 +0.4575 +0.32874998 +0.27375 +0.23875 +0.22500001 +0.22500001 +0.2325 +0.23125 +0.2275 +0.22500001 +0.24375002 +0.30374998 +0.41375002 +0.55625 +0.69624996 +0.78749996 +0.82124996 +0.81999993 +0.82874995 +0.895 +1.04375 +1.25875 +1.50875 +1.7562499 +2.01 +2.285 +2.60125 +2.96 +3.31375 +3.59 +3.7325 +3.705 +3.53625 +3.29 +3.02 +2.75625 +2.5525 +2.3787498 +2.14125 +1.8162501 +1.4424999 +1.09 +0.82374996 +0.66875 +0.58875 +0.515 +0.4 +0.2525 +0.12625 +0.0625 +0.04875 +0.0925 +0.21999998 +0.33875003 +0.35625 +0.2775 +0.18374999 +0.13624999 +0.17625001 +0.31374997 +0.475 +0.57750005 +0.58125 +0.50875 +0.43124998 +0.42125002 +0.50624996 +0.65250003 +0.79125 +0.84999996 +0.79375005 +0.645 +0.4575 +0.32874998 +0.27375 +0.23875 +0.22500001 +0.22500001 +0.2325 +0.23125 +0.2275 +0.22500001 +0.24375002 +0.30374998 +0.41375002 +0.55625 +0.69624996 +0.78749996 +0.82124996 +0.81999993 +0.82874995 +0.895 +1.04375 +1.25875 +1.50875 +1.7562499 +2.01 +2.285 +2.60125 +2.96 +3.31375 +3.59 +3.7325 +3.705 +3.53625 +3.29 +3.02 +2.75625 +2.5525 +2.3787498 +2.14125 +1.8162501 +1.4424999 +1.09 +0.82374996 +0.66875 +0.58875 +0.515 +0.4 +0.2525 +0.12625 +0.0625 +0.04875 +0.0925 +0.21999998 +0.33875003 +0.33249998 +0.24374999 +0.13875 +0.066250004 +0.07125 +0.17875 +0.35000002 +0.47625 +0.51125 +0.46125 +0.39125 +0.3775 +0.45499998 +0.60499996 +0.76124996 +0.84625 +0.81250006 +0.67125 +0.47500002 +0.29125 +0.2075 +0.155 +0.15625 +0.19749999 +0.22 +0.20875001 +0.1725 +0.16625 +0.17875001 +0.24000001 +0.39375 +0.57875 +0.73875 +0.82875 +0.83625 +0.805 +0.78125 +0.80875003 +0.92875004 +1.13375 +1.3562499 +1.55375 +1.72125 +1.8925 +2.1437497 +2.46 +2.8 +3.13125 +3.3324997 +3.34375 +3.1812499 +2.93875 +2.69125 +2.46375 +2.345 +2.2375002 +2.08 +1.8312502 +1.515 +1.2 +0.95124996 +0.80125 +0.72125 +0.64750004 +0.52125 +0.34375 +0.17249998 +0.05875 +0.030000001 +0.09375 +0.22875002 +0.33125 +0.33249998 +0.24374999 +0.13875 +0.066250004 +0.07125 +0.17875 +0.35000002 +0.47625 +0.51125 +0.46125 +0.39125 +0.3775 +0.45499998 +0.60499996 +0.76124996 +0.84625 +0.81250006 +0.67125 +0.47500002 +0.29125 +0.2075 +0.155 +0.15625 +0.19749999 +0.22 +0.20875001 +0.1725 +0.16625 +0.17875001 +0.24000001 +0.39375 +0.57875 +0.73875 +0.82875 +0.83625 +0.805 +0.78125 +0.80875003 +0.92875004 +1.13375 +1.3562499 +1.55375 +1.72125 +1.8925 +2.1437497 +2.46 +2.8 +3.13125 +3.3324997 +3.34375 +3.1812499 +2.93875 +2.69125 +2.46375 +2.345 +2.2375002 +2.08 +1.8312502 +1.515 +1.2 +0.95124996 +0.80125 +0.72125 +0.64750004 +0.52125 +0.34375 +0.17249998 +0.05875 +0.030000001 +0.09375 +0.22875002 +0.33125 +0.31375003 +0.2225 +0.115 +0.035 +0.012499999 +0.098749995 +0.26624998 +0.40875003 +0.45999998 +0.41875 +0.34375 +0.31874996 +0.39125 +0.53625005 +0.71375 +0.82875 +0.82625 +0.7025 +0.5075 +0.3125 +0.19 +0.15875 +0.1975 +0.26749998 +0.31875 +0.32375 +0.29375 +0.26 +0.26375002 +0.33374998 +0.4675 +0.6325 +0.77 +0.8325 +0.815 +0.7425 +0.67999995 +0.6875 +0.78499997 +0.945 +1.10875 +1.23 +1.30125 +1.3662499 +1.49125 +1.72 +2.03125 +2.3425002 +2.55375 +2.59875 +2.475 +2.26 +2.05125 +1.9287499 +1.8975 +1.8975 +1.8475001 +1.70375 +1.4725001 +1.2112501 +1.0000001 +0.86875 +0.80499995 +0.74625003 +0.635 +0.45749998 +0.2625 +0.114999995 +0.06375 +0.118750006 +0.23500001 +0.3225 +0.31375003 +0.2225 +0.115 +0.035 +0.012499999 +0.098749995 +0.26624998 +0.40875003 +0.45999998 +0.41875 +0.34375 +0.31874996 +0.39125 +0.53625005 +0.71375 +0.82875 +0.82625 +0.7025 +0.5075 +0.3125 +0.19 +0.15875 +0.1975 +0.26749998 +0.31875 +0.32375 +0.29375 +0.26 +0.26375002 +0.33374998 +0.4675 +0.6325 +0.77 +0.8325 +0.815 +0.7425 +0.67999995 +0.6875 +0.78499997 +0.945 +1.10875 +1.23 +1.30125 +1.3662499 +1.49125 +1.72 +2.03125 +2.3425002 +2.55375 +2.59875 +2.475 +2.26 +2.05125 +1.9287499 +1.8975 +1.8975 +1.8475001 +1.70375 +1.4725001 +1.2112501 +1.0000001 +0.86875 +0.80499995 +0.74625003 +0.635 +0.45749998 +0.2625 +0.114999995 +0.06375 +0.118750006 +0.23500001 +0.3225 +0.325 +0.23625001 +0.122499995 +0.035 +0.012499999 +0.0775 +0.22999999 +0.3775 +0.43375 +0.39000002 +0.30374998 +0.2775 +0.33999997 +0.4725 +0.65625006 +0.80375 +0.83000004 +0.72375 +0.535 +0.34375 +0.22375001 +0.21000001 +0.27875003 +0.37625 +0.4475 +0.46125 +0.43125 +0.3875 +0.37625003 +0.42625004 +0.53125 +0.65749997 +0.74875 +0.76874995 +0.7125 +0.6175 +0.54375 +0.54125 +0.62 +0.74375 +0.8487501 +0.885 +0.85125005 +0.80125 +0.81125 +0.94125 +1.1775 +1.44625 +1.64625 +1.70125 +1.6087501 +1.43625 +1.2875 +1.2425 +1.3037499 +1.4100001 +1.475 +1.43625 +1.29125 +1.1 +0.935 +0.8375 +0.80375004 +0.77875006 +0.70375 +0.56125 +0.3725 +0.2125 +0.14375 +0.17125 +0.26375002 +0.33625 +0.325 +0.23625001 +0.122499995 +0.035 +0.012499999 +0.0775 +0.22999999 +0.3775 +0.43375 +0.39000002 +0.30374998 +0.2775 +0.33999997 +0.4725 +0.65625006 +0.80375 +0.83000004 +0.72375 +0.535 +0.34375 +0.22375001 +0.21000001 +0.27875003 +0.37625 +0.4475 +0.46125 +0.43125 +0.3875 +0.37625003 +0.42625004 +0.53125 +0.65749997 +0.74875 +0.76874995 +0.7125 +0.6175 +0.54375 +0.54125 +0.62 +0.74375 +0.8487501 +0.885 +0.85125005 +0.80125 +0.81125 +0.94125 +1.1775 +1.44625 +1.64625 +1.70125 +1.6087501 +1.43625 +1.2875 +1.2425 +1.3037499 +1.4100001 +1.475 +1.43625 +1.29125 +1.1 +0.935 +0.8375 +0.80375004 +0.77875006 +0.70375 +0.56125 +0.3725 +0.2125 +0.14375 +0.17125 +0.26375002 +0.33625 +0.39249998 +0.305 +0.17875001 +0.08 +0.04875 +0.10875 +0.2525 +0.39249998 +0.445 +0.39125 +0.2975 +0.26624998 +0.31375 +0.42749998 +0.60375005 +0.77 +0.81375 +0.72 +0.53625 +0.35125 +0.24625 +0.2525 +0.3425 +0.45624998 +0.53125 +0.53874993 +0.49249998 +0.43624997 +0.415 +0.45374998 +0.535 +0.6225 +0.66625 +0.63875 +0.55125 +0.44625002 +0.3825 +0.39374998 +0.47749996 +0.5825 +0.64 +0.60499996 +0.48624998 +0.3425 +0.2725 +0.32125 +0.475 +0.69375 +0.86375 +0.90999997 +0.8274999 +0.68125 +0.57375 +0.5775 +0.70624995 +0.89124995 +1.04125 +1.09 +1.02125 +0.88875 +0.77000004 +0.71125 +0.72 +0.7425 +0.72 +0.62 +0.46624997 +0.32000002 +0.24000001 +0.255 +0.33124998 +0.39749998 +0.39249998 +0.305 +0.17875001 +0.08 +0.04875 +0.10875 +0.2525 +0.39249998 +0.445 +0.39125 +0.2975 +0.26624998 +0.31375 +0.42749998 +0.60375005 +0.77 +0.81375 +0.72 +0.53625 +0.35125 +0.24625 +0.2525 +0.3425 +0.45624998 +0.53125 +0.53874993 +0.49249998 +0.43624997 +0.415 +0.45374998 +0.535 +0.6225 +0.66625 +0.63875 +0.55125 +0.44625002 +0.3825 +0.39374998 +0.47749996 +0.5825 +0.64 +0.60499996 +0.48624998 +0.3425 +0.2725 +0.32125 +0.475 +0.69375 +0.86375 +0.90999997 +0.8274999 +0.68125 +0.57375 +0.5775 +0.70624995 +0.89124995 +1.04125 +1.09 +1.02125 +0.88875 +0.77000004 +0.71125 +0.72 +0.7425 +0.72 +0.62 +0.46624997 +0.32000002 +0.24000001 +0.255 +0.33124998 +0.39749998 +0.5175 +0.43875 +0.3075 +0.19749999 +0.15499999 +0.21125 +0.34625 +0.47124997 +0.51125 +0.44625002 +0.34125 +0.2825 +0.30375 +0.39874998 +0.56624997 +0.72875 +0.775 +0.68 +0.49874997 +0.32625 +0.27125 +0.28250003 +0.36875 +0.48375002 +0.54375 +0.52500004 +0.455 +0.40875 +0.385 +0.40249997 +0.47875 +0.54375005 +0.55 +0.48749998 +0.38125002 +0.2925 +0.26375 +0.29375002 +0.38125 +0.48124996 +0.51 +0.4325 +0.25875 +0.07625 +0.02 +0.015000001 +0.06875 +0.22749999 +0.36750004 +0.39625 +0.3075 +0.18875 +0.135 +0.12875 +0.26 +0.45999998 +0.6575 +0.75625 +0.73875004 +0.65375006 +0.57 +0.5425 +0.585 +0.64875 +0.6750001 +0.625 +0.51750004 +0.39875 +0.32874998 +0.34750003 +0.42625 +0.50375 +0.5175 +0.43875 +0.3075 +0.19749999 +0.15499999 +0.21125 +0.34625 +0.47124997 +0.51125 +0.44625002 +0.34125 +0.2825 +0.30375 +0.39874998 +0.56624997 +0.72875 +0.775 +0.68 +0.49874997 +0.32625 +0.27125 +0.28250003 +0.36875 +0.48375002 +0.54375 +0.52500004 +0.455 +0.40875 +0.385 +0.40249997 +0.47875 +0.54375005 +0.55 +0.48749998 +0.38125002 +0.2925 +0.26375 +0.29375002 +0.38125 +0.48124996 +0.51 +0.4325 +0.25875 +0.07625 +0.02 +0.015000001 +0.06875 +0.22749999 +0.36750004 +0.39625 +0.3075 +0.18875 +0.135 +0.12875 +0.26 +0.45999998 +0.6575 +0.75625 +0.73875004 +0.65375006 +0.57 +0.5425 +0.585 +0.64875 +0.6750001 +0.625 +0.51750004 +0.39875 +0.32874998 +0.34750003 +0.42625 +0.50375 +0.675 +0.62874997 +0.515 +0.39875 +0.35125 +0.405 +0.52500004 +0.63625 +0.66875 +0.59749997 +0.47250003 +0.37375003 +0.35375 +0.43375003 +0.58625007 +0.71624994 +0.73875 +0.62874997 +0.44625002 +0.315 +0.28625003 +0.3225 +0.405 +0.48499998 +0.52 +0.49125 +0.42875 +0.37499997 +0.36124998 +0.39124998 +0.44125 +0.4725 +0.45625 +0.38249996 +0.2875 +0.2175 +0.21 +0.2675 +0.3625 +0.43875003 +0.44375 +0.3525 +0.19375 +0.04625 +0.0 +0.0 +0.00375 +0.08125 +0.17625 +0.1925 +0.1275 +0.04 +0.005 +0.0 +0.0625 +0.21624999 +0.40249997 +0.52 +0.53125 +0.46999997 +0.405 +0.39250004 +0.44625002 +0.52875 +0.58374995 +0.57374996 +0.505 +0.42125002 +0.38375 +0.42249998 +0.525 +0.62875 +0.675 +0.62874997 +0.515 +0.39875 +0.35125 +0.405 +0.52500004 +0.63625 +0.66875 +0.59749997 +0.47250003 +0.37375003 +0.35375 +0.43375003 +0.58625007 +0.71624994 +0.73875 +0.62874997 +0.44625002 +0.315 +0.28625003 +0.3225 +0.405 +0.48499998 +0.52 +0.49125 +0.42875 +0.37499997 +0.36124998 +0.39124998 +0.44125 +0.4725 +0.45625 +0.38249996 +0.2875 +0.2175 +0.21 +0.2675 +0.3625 +0.43875003 +0.44375 +0.3525 +0.19375 +0.04625 +0.0 +0.0 +0.00375 +0.08125 +0.17625 +0.1925 +0.1275 +0.04 +0.005 +0.0 +0.0625 +0.21624999 +0.40249997 +0.52 +0.53125 +0.46999997 +0.405 +0.39250004 +0.44625002 +0.52875 +0.58374995 +0.57374996 +0.505 +0.42125002 +0.38375 +0.42249998 +0.525 +0.62875 +0.81874996 +0.82125 +0.74875 +0.66 +0.625 +0.675 +0.78625 +0.89375 +0.92875 +0.8625 +0.7275 +0.59875 +0.5475 +0.59875 +0.70375 +0.77625006 +0.7537499 +0.6225 +0.43374997 +0.32 +0.3075 +0.365 +0.45875 +0.53000003 +0.53875005 +0.485 +0.40249997 +0.34125 +0.3375 +0.385 +0.44625 +0.475 +0.44125 +0.35125 +0.24625 +0.1775 +0.17875001 +0.24624999 +0.34625003 +0.4225 +0.42624998 +0.3475 +0.21125 +0.075 +0.00875 +0.00625 +0.045 +0.13125 +0.21374999 +0.22875 +0.165 +0.068749994 +0.01625 +0.0025 +0.0425 +0.16624999 +0.30875 +0.41500002 +0.43625003 +0.38375002 +0.32125002 +0.29999998 +0.33750004 +0.40875003 +0.46500003 +0.47 +0.42749998 +0.3775 +0.375 +0.4475 +0.5825 +0.72749996 +0.81874996 +0.82125 +0.74875 +0.66 +0.625 +0.675 +0.78625 +0.89375 +0.92875 +0.8625 +0.7275 +0.59875 +0.5475 +0.59875 +0.70375 +0.77625006 +0.7537499 +0.6225 +0.43374997 +0.32 +0.3075 +0.365 +0.45875 +0.53000003 +0.53875005 +0.485 +0.40249997 +0.34125 +0.3375 +0.385 +0.44625 +0.475 +0.44125 +0.35125 +0.24625 +0.1775 +0.17875001 +0.24624999 +0.34625003 +0.4225 +0.42624998 +0.3475 +0.21125 +0.075 +0.00875 +0.00625 +0.045 +0.13125 +0.21374999 +0.22875 +0.165 +0.068749994 +0.01625 +0.0025 +0.0425 +0.16624999 +0.30875 +0.41500002 +0.43625003 +0.38375002 +0.32125002 +0.29999998 +0.33750004 +0.40875003 +0.46500003 +0.47 +0.42749998 +0.3775 +0.375 +0.4475 +0.5825 +0.72749996 +0.9025 +0.9625 +0.94624996 +0.90875006 +0.9075 +0.97624993 +1.09875 +1.2149999 +1.26625 +1.2225001 +1.1025 +0.97499996 +0.9025 +0.90874994 +0.95 +0.9625 +0.89 +0.72749996 +0.53125 +0.39749998 +0.39249998 +0.4575 +0.54875 +0.625 +0.615 +0.52 +0.42125 +0.35375 +0.34875 +0.39999998 +0.46 +0.48125 +0.4425 +0.3475 +0.2325 +0.155 +0.15 +0.20625001 +0.295 +0.3625 +0.365 +0.305 +0.20875 +0.10875 +0.0475 +0.048750002 +0.1075 +0.19875002 +0.2975 +0.32625 +0.26624998 +0.17125 +0.074999996 +0.03125 +0.08375 +0.19125 +0.3175 +0.40874997 +0.4275 +0.38000003 +0.31 +0.265 +0.26874998 +0.30249998 +0.3325 +0.32999998 +0.29999998 +0.275 +0.30125 +0.405 +0.575 +0.76250005 +0.9025 +0.9625 +0.94624996 +0.90875006 +0.9075 +0.97624993 +1.09875 +1.2149999 +1.26625 +1.2225001 +1.1025 +0.97499996 +0.9025 +0.90874994 +0.95 +0.9625 +0.89 +0.72749996 +0.53125 +0.39749998 +0.39249998 +0.4575 +0.54875 +0.625 +0.615 +0.52 +0.42125 +0.35375 +0.34875 +0.39999998 +0.46 +0.48125 +0.4425 +0.3475 +0.2325 +0.155 +0.15 +0.20625001 +0.295 +0.3625 +0.365 +0.305 +0.20875 +0.10875 +0.0475 +0.048750002 +0.1075 +0.19875002 +0.2975 +0.32625 +0.26624998 +0.17125 +0.074999996 +0.03125 +0.08375 +0.19125 +0.3175 +0.40874997 +0.4275 +0.38000003 +0.31 +0.265 +0.26874998 +0.30249998 +0.3325 +0.32999998 +0.29999998 +0.275 +0.30125 +0.405 +0.575 +0.76250005 +0.9050001 +1.01625 +1.06375 +1.08375 +1.1325 +1.24 +1.39125 +1.535 +1.61625 +1.60875 +1.5262501 +1.4225 +1.3525001 +1.3287499 +1.3275001 +1.2924999 +1.18125 +0.9962499 +0.79375 +0.64625 +0.60625 +0.66875 +0.77 +0.83125 +0.79875004 +0.67625004 +0.52250004 +0.42874998 +0.40750003 +0.43625003 +0.48125 +0.51625 +0.48499998 +0.39124998 +0.28125 +0.2 +0.17625 +0.21000001 +0.26749998 +0.30999997 +0.31124997 +0.26125002 +0.17875001 +0.1175 +0.0825 +0.085 +0.14375 +0.25625 +0.35750002 +0.40374997 +0.37124997 +0.28 +0.17750001 +0.1275 +0.16 +0.235 +0.33749998 +0.42000002 +0.44 +0.3925 +0.31875002 +0.24874999 +0.22125 +0.22125 +0.22125 +0.21 +0.18874998 +0.17874998 +0.21249999 +0.31374997 +0.50625 +0.72125 +0.9050001 +1.01625 +1.06375 +1.08375 +1.1325 +1.24 +1.39125 +1.535 +1.61625 +1.60875 +1.5262501 +1.4225 +1.3525001 +1.3287499 +1.3275001 +1.2924999 +1.18125 +0.9962499 +0.79375 +0.64625 +0.60625 +0.66875 +0.77 +0.83125 +0.79875004 +0.67625004 +0.52250004 +0.42874998 +0.40750003 +0.43625003 +0.48125 +0.51625 +0.48499998 +0.39124998 +0.28125 +0.2 +0.17625 +0.21000001 +0.26749998 +0.30999997 +0.31124997 +0.26125002 +0.17875001 +0.1175 +0.0825 +0.085 +0.14375 +0.25625 +0.35750002 +0.40374997 +0.37124997 +0.28 +0.17750001 +0.1275 +0.16 +0.235 +0.33749998 +0.42000002 +0.44 +0.3925 +0.31875002 +0.24874999 +0.22125 +0.22125 +0.22125 +0.21 +0.18874998 +0.17874998 +0.21249999 +0.31374997 +0.50625 +0.72125 +0.83624995 +0.98375005 +1.0812501 +1.1575 +1.2562499 +1.4037501 +1.58875 +1.7649999 +1.88625 +1.92875 +1.9000001 +1.84625 +1.805 +1.7912501 +1.7837499 +1.7349999 +1.615 +1.42625 +1.22375 +1.0687499 +1.0075 +1.035 +1.09375 +1.11375 +1.05125 +0.9075001 +0.73375 +0.59000003 +0.51625 +0.51 +0.5325 +0.53375 +0.4875 +0.4 +0.30124998 +0.2225 +0.19125 +0.19875 +0.21999998 +0.23624998 +0.23625001 +0.215 +0.17624998 +0.13125001 +0.103750005 +0.11625001 +0.1675 +0.24374998 +0.32124996 +0.38 +0.38125 +0.32750002 +0.2475 +0.18624999 +0.1875 +0.23125002 +0.29874998 +0.36875004 +0.3925 +0.35875002 +0.28375 +0.20875 +0.17250001 +0.16375001 +0.16875 +0.16625 +0.1575 +0.155 +0.17625 +0.2475 +0.41125 +0.635 +0.83624995 +0.98375005 +1.0812501 +1.1575 +1.2562499 +1.4037501 +1.58875 +1.7649999 +1.88625 +1.92875 +1.9000001 +1.84625 +1.805 +1.7912501 +1.7837499 +1.7349999 +1.615 +1.42625 +1.22375 +1.0687499 +1.0075 +1.035 +1.09375 +1.11375 +1.05125 +0.9075001 +0.73375 +0.59000003 +0.51625 +0.51 +0.5325 +0.53375 +0.4875 +0.4 +0.30124998 +0.2225 +0.19125 +0.19875 +0.21999998 +0.23624998 +0.23625001 +0.215 +0.17624998 +0.13125001 +0.103750005 +0.11625001 +0.1675 +0.24374998 +0.32124996 +0.38 +0.38125 +0.32750002 +0.2475 +0.18624999 +0.1875 +0.23125002 +0.29874998 +0.36875004 +0.3925 +0.35875002 +0.28375 +0.20875 +0.17250001 +0.16375001 +0.16875 +0.16625 +0.1575 +0.155 +0.17625 +0.2475 +0.41125 +0.635 +0.75 +0.90625006 +1.0250001 +1.13375 +1.2649999 +1.4387499 +1.645 +1.84375 +2.00125 +2.0900002 +2.1237502 +2.135 +2.1537502 +2.1875 +2.22 +2.2024999 +2.11 +1.95125 +1.7637501 +1.60375 +1.5100001 +1.4812499 +1.4775 +1.4412501 +1.335 +1.16 +0.95875 +0.77875 +0.65375 +0.585 +0.5425 +0.49625 +0.42749998 +0.33875006 +0.25249997 +0.20125 +0.18 +0.175 +0.17625 +0.1775 +0.17375 +0.16 +0.14375 +0.1275 +0.11375 +0.11500001 +0.14124998 +0.17999999 +0.21875 +0.25375 +0.275 +0.25375 +0.19624999 +0.14625 +0.13375 +0.15625 +0.19125 +0.22625 +0.25375 +0.24 +0.185 +0.1325 +0.1075 +0.12125 +0.13625 +0.13625 +0.13125 +0.135 +0.16 +0.22125 +0.35624993 +0.555 +0.75 +0.90625006 +1.0250001 +1.13375 +1.2649999 +1.4387499 +1.645 +1.84375 +2.00125 +2.0900002 +2.1237502 +2.135 +2.1537502 +2.1875 +2.22 +2.2024999 +2.11 +1.95125 +1.7637501 +1.60375 +1.5100001 +1.4812499 +1.4775 +1.4412501 +1.335 +1.16 +0.95875 +0.77875 +0.65375 +0.585 +0.5425 +0.49625 +0.42749998 +0.33875006 +0.25249997 +0.20125 +0.18 +0.175 +0.17625 +0.1775 +0.17375 +0.16 +0.14375 +0.1275 +0.11375 +0.11500001 +0.14124998 +0.17999999 +0.21875 +0.25375 +0.275 +0.25375 +0.19624999 +0.14625 +0.13375 +0.15625 +0.19125 +0.22625 +0.25375 +0.24 +0.185 +0.1325 +0.1075 +0.12125 +0.13625 +0.13625 +0.13125 +0.135 +0.16 +0.22125 +0.35624993 +0.555 +0.69625 +0.83375 +0.945 +1.0524999 +1.185 +1.3587499 +1.5625 +1.7612499 +1.9274999 +2.05 +2.135 +2.2124999 +2.31 +2.42 +2.5225 +2.57625 +2.55125 +2.4512498 +2.3025 +2.15625 +2.045 +1.9537499 +1.8824999 +1.7800002 +1.62375 +1.4162499 +1.18375 +0.96624994 +0.7875 +0.64875 +0.53499997 +0.43 +0.32500002 +0.22625 +0.18374999 +0.16125 +0.1525 +0.155 +0.16 +0.15625 +0.14 +0.11625 +0.095 +0.0825 +0.07125 +0.06375 +0.081250004 +0.10625 +0.125 +0.12875 +0.12 +0.106249996 +0.08125 +0.04 +0.03625 +0.06125 +0.08625 +0.097500004 +0.0975 +0.0875 +0.06375 +0.04875 +0.065 +0.08875 +0.10125 +0.1 +0.09625 +0.1025 +0.13499999 +0.21875001 +0.355 +0.5275 +0.69625 +0.83375 +0.945 +1.0524999 +1.185 +1.3587499 +1.5625 +1.7612499 +1.9274999 +2.05 +2.135 +2.2124999 +2.31 +2.42 +2.5225 +2.57625 +2.55125 +2.4512498 +2.3025 +2.15625 +2.045 +1.9537499 +1.8824999 +1.7800002 +1.62375 +1.4162499 +1.18375 +0.96624994 +0.7875 +0.64875 +0.53499997 +0.43 +0.32500002 +0.22625 +0.18374999 +0.16125 +0.1525 +0.155 +0.16 +0.15625 +0.14 +0.11625 +0.095 +0.0825 +0.07125 +0.06375 +0.081250004 +0.10625 +0.125 +0.12875 +0.12 +0.106249996 +0.08125 +0.04 +0.03625 +0.06125 +0.08625 +0.097500004 +0.0975 +0.0875 +0.06375 +0.04875 +0.065 +0.08875 +0.10125 +0.1 +0.09625 +0.1025 +0.13499999 +0.21875001 +0.355 +0.5275 +0.71874994 +0.81874996 +0.89625 +0.97375 +1.07375 +1.2125 +1.3812499 +1.5487499 +1.6975 +1.8237499 +1.93875 +2.07 +2.2375 +2.4275002 +2.6125 +2.7525 +2.8187501 +2.8037498 +2.75 +2.6699998 +2.5600002 +2.425 +2.2625003 +2.11 +1.91375 +1.6800001 +1.4275 +1.18 +0.96875 +0.75875 +0.57125 +0.39875 +0.24625 +0.145 +0.1275 +0.12125 +0.12 +0.12125 +0.12375 +0.11875 +0.1 +0.06625 +0.035 +0.0175 +0.012499999 +0.0025 +0.03 +0.0575 +0.06375 +0.0425 +0.01 +0.0225 +0.02 +0.00375 +0.0 +0.01 +0.0325 +0.03375 +0.01875 +0.0025 +0.0 +0.01125 +0.035 +0.0575 +0.06875 +0.075 +0.09125 +0.121249996 +0.18375 +0.29 +0.43374997 +0.585 +0.71874994 +0.81874996 +0.89625 +0.97375 +1.07375 +1.2125 +1.3812499 +1.5487499 +1.6975 +1.8237499 +1.93875 +2.07 +2.2375 +2.4275002 +2.6125 +2.7525 +2.8187501 +2.8037498 +2.75 +2.6699998 +2.5600002 +2.425 +2.2625003 +2.11 +1.91375 +1.6800001 +1.4275 +1.18 +0.96875 +0.75875 +0.57125 +0.39875 +0.24625 +0.145 +0.1275 +0.12125 +0.12 +0.12125 +0.12375 +0.11875 +0.1 +0.06625 +0.035 +0.0175 +0.012499999 +0.0025 +0.03 +0.0575 +0.06375 +0.0425 +0.01 +0.0225 +0.02 +0.00375 +0.0 +0.01 +0.0325 +0.03375 +0.01875 +0.0025 +0.0 +0.01125 +0.035 +0.0575 +0.06875 +0.075 +0.09125 +0.121249996 +0.18375 +0.29 +0.43374997 +0.585 +0.825 +0.88375 +0.91624993 +0.9425 +0.98749995 +1.0649999 +1.16625 +1.2750001 +1.37875 +1.4825001 +1.6025 +1.77375 +1.99375 +2.23625 +2.47375 +2.6862502 +2.8400002 +2.94375 +2.99 +2.97875 +2.91125 +2.7875 +2.6125002 +2.3975 +2.185 +1.94625 +1.7062501 +1.48125 +1.245 +0.99 +0.71625 +0.47124997 +0.26500002 +0.12625 +0.09625 +0.0975 +0.09625 +0.0975 +0.09625 +0.0875 +0.06625 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0125 +0.01875 +0.0 +0.01125 +0.036250003 +0.0375 +0.0125 +0.0 +0.0 +0.00125 +0.00625 +0.0 +0.0025 +0.015 +0.0175 +0.028749999 +0.055 +0.08499999 +0.12375 +0.17874998 +0.25125 +0.34375 +0.45999998 +0.59375 +0.725 +0.825 +0.88375 +0.91624993 +0.9425 +0.98749995 +1.0649999 +1.16625 +1.2750001 +1.37875 +1.4825001 +1.6025 +1.77375 +1.99375 +2.23625 +2.47375 +2.6862502 +2.8400002 +2.94375 +2.99 +2.97875 +2.91125 +2.7875 +2.6125002 +2.3975 +2.185 +1.94625 +1.7062501 +1.48125 +1.245 +0.99 +0.71625 +0.47124997 +0.26500002 +0.12625 +0.09625 +0.0975 +0.09625 +0.0975 +0.09625 +0.0875 +0.06625 +0.03 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0125 +0.01875 +0.0 +0.01125 +0.036250003 +0.0375 +0.0125 +0.0 +0.0 +0.00125 +0.00625 +0.0 +0.0025 +0.015 +0.0175 +0.028749999 +0.055 +0.08499999 +0.12375 +0.17874998 +0.25125 +0.34375 +0.45999998 +0.59375 +0.725 +0.98375 +1.015 +1.0024999 +0.975 +0.95624995 +0.9575 +0.9775 +1.01 +1.05375 +1.1187501 +1.2262499 +1.40625 +1.6325 +1.88625 +2.14375 +2.3899999 +2.6075 +2.79375 +2.93375 +3.01125 +3.0125 +2.935 +2.785 +2.59125 +2.38375 +2.1787498 +1.9837501 +1.78125 +1.55125 +1.27875 +0.96999997 +0.66875005 +0.41000003 +0.2175 +0.1225 +0.105 +0.105 +0.10375 +0.09875 +0.085 +0.05875 +0.02125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.02625 +0.09625 +0.1675 +0.175 +0.1075 +0.03875 +0.015 +0.005 +0.01125 +0.04625 +0.09 +0.11874999 +0.122499995 +0.113749996 +0.14 +0.19 +0.25875 +0.34124997 +0.43249997 +0.53875 +0.66125005 +0.79125 +0.90625 +0.98375 +1.015 +1.0024999 +0.975 +0.95624995 +0.9575 +0.9775 +1.01 +1.05375 +1.1187501 +1.2262499 +1.40625 +1.6325 +1.88625 +2.14375 +2.3899999 +2.6075 +2.79375 +2.93375 +3.01125 +3.0125 +2.935 +2.785 +2.59125 +2.38375 +2.1787498 +1.9837501 +1.78125 +1.55125 +1.27875 +0.96999997 +0.66875005 +0.41000003 +0.2175 +0.1225 +0.105 +0.105 +0.10375 +0.09875 +0.085 +0.05875 +0.02125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.02625 +0.09625 +0.1675 +0.175 +0.1075 +0.03875 +0.015 +0.005 +0.01125 +0.04625 +0.09 +0.11874999 +0.122499995 +0.113749996 +0.14 +0.19 +0.25875 +0.34124997 +0.43249997 +0.53875 +0.66125005 +0.79125 +0.90625 +1.1437501 +1.15625 +1.1175 +1.0475 +0.96875 +0.8925 +0.83 +0.78875 +0.77500004 +0.80625 +0.89624995 +1.0575 +1.255 +1.47125 +1.6949999 +1.9250001 +2.1487498 +2.3825002 +2.5987499 +2.76 +2.84125 +2.82375 +2.7224998 +2.58125 +2.435 +2.28375 +2.14875 +2.0075002 +1.8162501 +1.5600001 +1.25 +0.95 +0.67125005 +0.4475 +0.29375 +0.21874999 +0.18499999 +0.16 +0.13125 +0.11125 +0.08125 +0.0425 +0.00375 +0.0 +0.0 +0.0125 +0.02 +0.03875 +0.08 +0.17124999 +0.31375 +0.42000002 +0.43375 +0.34750003 +0.215 +0.11749999 +0.0975 +0.14625 +0.22874999 +0.31500003 +0.35375 +0.33875 +0.3025 +0.29875 +0.335 +0.40749997 +0.5025 +0.60875005 +0.725 +0.85 +0.975 +1.07875 +1.1437501 +1.15625 +1.1175 +1.0475 +0.96875 +0.8925 +0.83 +0.78875 +0.77500004 +0.80625 +0.89624995 +1.0575 +1.255 +1.47125 +1.6949999 +1.9250001 +2.1487498 +2.3825002 +2.5987499 +2.76 +2.84125 +2.82375 +2.7224998 +2.58125 +2.435 +2.28375 +2.14875 +2.0075002 +1.8162501 +1.5600001 +1.25 +0.95 +0.67125005 +0.4475 +0.29375 +0.21874999 +0.18499999 +0.16 +0.13125 +0.11125 +0.08125 +0.0425 +0.00375 +0.0 +0.0 +0.0125 +0.02 +0.03875 +0.08 +0.17124999 +0.31375 +0.42000002 +0.43375 +0.34750003 +0.215 +0.11749999 +0.0975 +0.14625 +0.22874999 +0.31500003 +0.35375 +0.33875 +0.3025 +0.29875 +0.335 +0.40749997 +0.5025 +0.60875005 +0.725 +0.85 +0.975 +1.07875 +1.25625 +1.2624999 +1.215 +1.12 +0.99375 +0.8525 +0.72 +0.6175 +0.5675 +0.5825 +0.66375 +0.79625 +0.945 +1.0912501 +1.24 +1.395 +1.5787499 +1.8125 +2.07125 +2.2962499 +2.43875 +2.475 +2.4362502 +2.36 +2.275 +2.205 +2.15 +2.07875 +1.955 +1.76 +1.50875 +1.2325001 +0.9825001 +0.78749996 +0.65125 +0.55125004 +0.445 +0.325 +0.22625 +0.16375001 +0.12125 +0.08375 +0.04625 +0.018749999 +0.052500002 +0.0975 +0.13374999 +0.19 +0.29624996 +0.45125 +0.6075 +0.715 +0.73 +0.635 +0.48499998 +0.36 +0.335 +0.41125 +0.52 +0.59875 +0.61125 +0.56 +0.485 +0.44125 +0.45624998 +0.52625 +0.635 +0.75750005 +0.8775 +0.99750006 +1.11 +1.20125 +1.25625 +1.2624999 +1.215 +1.12 +0.99375 +0.8525 +0.72 +0.6175 +0.5675 +0.5825 +0.66375 +0.79625 +0.945 +1.0912501 +1.24 +1.395 +1.5787499 +1.8125 +2.07125 +2.2962499 +2.43875 +2.475 +2.4362502 +2.36 +2.275 +2.205 +2.15 +2.07875 +1.955 +1.76 +1.50875 +1.2325001 +0.9825001 +0.78749996 +0.65125 +0.55125004 +0.445 +0.325 +0.22625 +0.16375001 +0.12125 +0.08375 +0.04625 +0.018749999 +0.052500002 +0.0975 +0.13374999 +0.19 +0.29624996 +0.45125 +0.6075 +0.715 +0.73 +0.635 +0.48499998 +0.36 +0.335 +0.41125 +0.52 +0.59875 +0.61125 +0.56 +0.485 +0.44125 +0.45624998 +0.52625 +0.635 +0.75750005 +0.8775 +0.99750006 +1.11 +1.20125 +1.29875 +1.3050001 +1.26125 +1.1587499 +1.0037501 +0.81625 +0.63375 +0.4925 +0.42624998 +0.44874996 +0.54 +0.65999997 +0.76 +0.81875 +0.84625006 +0.89250004 +1.0062499 +1.2149999 +1.48875 +1.7450001 +1.9162501 +1.9862499 +1.98125 +1.9350001 +1.9075 +1.92375 +1.9712499 +1.99875 +1.95875 +1.8375 +1.6475 +1.43875 +1.26625 +1.1524999 +1.08375 +1.0137501 +0.895 +0.7025 +0.46249998 +0.26875 +0.18625 +0.13375 +0.11 +0.15375 +0.2275 +0.28624997 +0.32375002 +0.38000003 +0.49625 +0.67499995 +0.85875 +0.97249997 +0.97125 +0.85625 +0.68250006 +0.545 +0.52375007 +0.6175 +0.75125 +0.84000003 +0.83124995 +0.73625 +0.61 +0.52250004 +0.515 +0.59000003 +0.71625 +0.85625 +0.98375 +1.09 +1.1800001 +1.2525 +1.29875 +1.3050001 +1.26125 +1.1587499 +1.0037501 +0.81625 +0.63375 +0.4925 +0.42624998 +0.44874996 +0.54 +0.65999997 +0.76 +0.81875 +0.84625006 +0.89250004 +1.0062499 +1.2149999 +1.48875 +1.7450001 +1.9162501 +1.9862499 +1.98125 +1.9350001 +1.9075 +1.92375 +1.9712499 +1.99875 +1.95875 +1.8375 +1.6475 +1.43875 +1.26625 +1.1524999 +1.08375 +1.0137501 +0.895 +0.7025 +0.46249998 +0.26875 +0.18625 +0.13375 +0.11 +0.15375 +0.2275 +0.28624997 +0.32375002 +0.38000003 +0.49625 +0.67499995 +0.85875 +0.97249997 +0.97125 +0.85625 +0.68250006 +0.545 +0.52375007 +0.6175 +0.75125 +0.84000003 +0.83124995 +0.73625 +0.61 +0.52250004 +0.515 +0.59000003 +0.71625 +0.85625 +0.98375 +1.09 +1.1800001 +1.2525 +1.2787501 +1.2912501 +1.26 +1.1612501 +0.9899999 +0.77500004 +0.56 +0.39874998 +0.33875 +0.38750002 +0.5075 +0.63 +0.6875 +0.65625 +0.5675 +0.5025 +0.54 +0.72375005 +0.98875 +1.24625 +1.41 +1.47125 +1.45375 +1.4137499 +1.42375 +1.5074999 +1.64 +1.755 +1.79125 +1.73875 +1.62625 +1.5137501 +1.4574999 +1.46625 +1.5037498 +1.4987501 +1.38875 +1.1575 +0.8425 +0.52875 +0.32750002 +0.26 +0.27875 +0.355 +0.42875 +0.45499998 +0.45 +0.4775 +0.58624995 +0.77374995 +0.975 +1.09375 +1.07875 +0.94124997 +0.74375 +0.5975 +0.57625 +0.6975 +0.865 +0.97249997 +0.95125 +0.82 +0.64750004 +0.52125 +0.5025 +0.5925 +0.74625003 +0.90999997 +1.04125 +1.1337501 +1.19625 +1.245 +1.2787501 +1.2912501 +1.26 +1.1612501 +0.9899999 +0.77500004 +0.56 +0.39874998 +0.33875 +0.38750002 +0.5075 +0.63 +0.6875 +0.65625 +0.5675 +0.5025 +0.54 +0.72375005 +0.98875 +1.24625 +1.41 +1.47125 +1.45375 +1.4137499 +1.42375 +1.5074999 +1.64 +1.755 +1.79125 +1.73875 +1.62625 +1.5137501 +1.4574999 +1.46625 +1.5037498 +1.4987501 +1.38875 +1.1575 +0.8425 +0.52875 +0.32750002 +0.26 +0.27875 +0.355 +0.42875 +0.45499998 +0.45 +0.4775 +0.58624995 +0.77374995 +0.975 +1.09375 +1.07875 +0.94124997 +0.74375 +0.5975 +0.57625 +0.6975 +0.865 +0.97249997 +0.95125 +0.82 +0.64750004 +0.52125 +0.5025 +0.5925 +0.74625003 +0.90999997 +1.04125 +1.1337501 +1.19625 +1.245 +1.23375 +1.25 +1.2312499 +1.1424999 +0.96999997 +0.73875 +0.50374997 +0.34125 +0.29874998 +0.38250002 +0.5375 +0.67 +0.7025 +0.60625 +0.43124998 +0.28 +0.27124998 +0.425 +0.675 +0.9125 +1.0487499 +1.0575 +1.0025 +0.94375 +0.96375 +1.08375 +1.2637501 +1.4262502 +1.51125 +1.5087501 +1.4625 +1.45 +1.52 +1.66875 +1.8275001 +1.9075 +1.8299999 +1.58375 +1.22875 +0.87375003 +0.62 +0.51624995 +0.53375 +0.595 +0.62 +0.58124995 +0.51125 +0.48875 +0.57125 +0.75124997 +0.94874996 +1.0587499 +1.035 +0.87625 +0.66125 +0.51375 +0.51 +0.6525 +0.85749996 +0.985 +0.96250004 +0.80749995 +0.60499996 +0.4575 +0.43875 +0.55 +0.7375 +0.9275 +1.0675 +1.1500001 +1.1862501 +1.20875 +1.23375 +1.25 +1.2312499 +1.1424999 +0.96999997 +0.73875 +0.50374997 +0.34125 +0.29874998 +0.38250002 +0.5375 +0.67 +0.7025 +0.60625 +0.43124998 +0.28 +0.27124998 +0.425 +0.675 +0.9125 +1.0487499 +1.0575 +1.0025 +0.94375 +0.96375 +1.08375 +1.2637501 +1.4262502 +1.51125 +1.5087501 +1.4625 +1.45 +1.52 +1.66875 +1.8275001 +1.9075 +1.8299999 +1.58375 +1.22875 +0.87375003 +0.62 +0.51624995 +0.53375 +0.595 +0.62 +0.58124995 +0.51125 +0.48875 +0.57125 +0.75124997 +0.94874996 +1.0587499 +1.035 +0.87625 +0.66125 +0.51375 +0.51 +0.6525 +0.85749996 +0.985 +0.96250004 +0.80749995 +0.60499996 +0.4575 +0.43875 +0.55 +0.7375 +0.9275 +1.0675 +1.1500001 +1.1862501 +1.20875 +1.2012501 +1.2175 +1.20375 +1.1225 +0.955 +0.72 +0.485 +0.32750002 +0.3075 +0.42125002 +0.60625 +0.75875 +0.77874994 +0.64625 +0.4275 +0.235 +0.20625001 +0.34500003 +0.58 +0.795 +0.89125 +0.84375 +0.73749995 +0.64500004 +0.64875 +0.76625 +0.94625 +1.11125 +1.19875 +1.2112501 +1.2075 +1.26875 +1.4475 +1.71375 +1.9875001 +2.15 +2.12 +1.8912499 +1.54125 +1.18625 +0.93375 +0.82375 +0.82500005 +0.84625006 +0.81 +0.70125 +0.565 +0.49 +0.53625 +0.6925 +0.86749995 +0.9512501 +0.9075 +0.72499996 +0.50125 +0.3575 +0.37249997 +0.53625 +0.77124995 +0.915 +0.895 +0.7325 +0.5175 +0.36875 +0.36125 +0.49375 +0.71124995 +0.925 +1.08 +1.15875 +1.18125 +1.1875 +1.2012501 +1.2175 +1.20375 +1.1225 +0.955 +0.72 +0.485 +0.32750002 +0.3075 +0.42125002 +0.60625 +0.75875 +0.77874994 +0.64625 +0.4275 +0.235 +0.20625001 +0.34500003 +0.58 +0.795 +0.89125 +0.84375 +0.73749995 +0.64500004 +0.64875 +0.76625 +0.94625 +1.11125 +1.19875 +1.2112501 +1.2075 +1.26875 +1.4475 +1.71375 +1.9875001 +2.15 +2.12 +1.8912499 +1.54125 +1.18625 +0.93375 +0.82375 +0.82500005 +0.84625006 +0.81 +0.70125 +0.565 +0.49 +0.53625 +0.6925 +0.86749995 +0.9512501 +0.9075 +0.72499996 +0.50125 +0.3575 +0.37249997 +0.53625 +0.77124995 +0.915 +0.895 +0.7325 +0.5175 +0.36875 +0.36125 +0.49375 +0.71124995 +0.925 +1.08 +1.15875 +1.18125 +1.1875 +0.56625 +0.53 +0.42749998 +0.285 +0.19875 +0.16625 +0.1375 +0.11125 +0.0875 +0.120000005 +0.2225 +0.3 +0.32999998 +0.33750004 +0.35625 +0.41000003 +0.52125 +0.66625005 +0.8225 +0.98499995 +1.1575 +1.34125 +1.53 +1.66625 +1.7175001 +1.6775 +1.5662501 +1.4187499 +1.26375 +1.11625 +0.97875 +0.85 +0.73125005 +0.6375 +0.58625 +0.57124996 +0.56374997 +0.52250004 +0.415 +0.26749998 +0.195 +0.16375 +0.135 +0.10875 +0.0875 +0.11 +0.215 +0.2975 +0.32999998 +0.34125 +0.365 +0.4225 +0.53875 +0.68874997 +0.84749997 +1.01 +1.1825 +1.36625 +1.5512501 +1.67875 +1.72125 +1.6725 +1.5550001 +1.4025 +1.24625 +1.0987499 +0.9625 +0.83375 +0.7175 +0.62875 +0.58 +0.56875 +0.56625 +0.53 +0.42749998 +0.285 +0.19875 +0.16625 +0.1375 +0.11125 +0.0875 +0.120000005 +0.2225 +0.3 +0.32999998 +0.33750004 +0.35625 +0.41000003 +0.52125 +0.66625005 +0.8225 +0.98499995 +1.1575 +1.34125 +1.53 +1.66625 +1.7175001 +1.6775 +1.5662501 +1.4187499 +1.26375 +1.11625 +0.97875 +0.85 +0.73125005 +0.6375 +0.58625 +0.57124996 +0.56374997 +0.52250004 +0.415 +0.26749998 +0.195 +0.16375 +0.135 +0.10875 +0.0875 +0.11 +0.215 +0.2975 +0.32999998 +0.34125 +0.365 +0.4225 +0.53875 +0.68874997 +0.84749997 +1.01 +1.1825 +1.36625 +1.5512501 +1.67875 +1.72125 +1.6725 +1.5550001 +1.4025 +1.24625 +1.0987499 +0.9625 +0.83375 +0.7175 +0.62875 +0.58 +0.56875 +0.5775 +0.56625 +0.48749995 +0.3575 +0.23250002 +0.1625 +0.13125 +0.1025 +0.10375 +0.17875 +0.27374998 +0.3375 +0.35000002 +0.34 +0.33999997 +0.37500003 +0.45749998 +0.59 +0.74625003 +0.9175 +1.1012499 +1.30875 +1.51125 +1.6625 +1.73125 +1.70375 +1.6049999 +1.455 +1.29 +1.13125 +0.98375005 +0.84875 +0.73375 +0.64874995 +0.60625005 +0.59625 +0.58875 +0.54875004 +0.44124997 +0.2925 +0.18875 +0.15125 +0.12 +0.0925 +0.075 +0.13625 +0.23625001 +0.31125 +0.34375 +0.35750002 +0.3875 +0.45250002 +0.56375 +0.72 +0.88624996 +1.06125 +1.24875 +1.45625 +1.6362499 +1.75 +1.7725 +1.6975 +1.5537499 +1.375 +1.1949999 +1.0337499 +0.88750005 +0.76 +0.6525 +0.57875 +0.55 +0.55875003 +0.5775 +0.56625 +0.48749995 +0.3575 +0.23250002 +0.1625 +0.13125 +0.1025 +0.10375 +0.17875 +0.27374998 +0.3375 +0.35000002 +0.34 +0.33999997 +0.37500003 +0.45749998 +0.59 +0.74625003 +0.9175 +1.1012499 +1.30875 +1.51125 +1.6625 +1.73125 +1.70375 +1.6049999 +1.455 +1.29 +1.13125 +0.98375005 +0.84875 +0.73375 +0.64874995 +0.60625005 +0.59625 +0.58875 +0.54875004 +0.44124997 +0.2925 +0.18875 +0.15125 +0.12 +0.0925 +0.075 +0.13625 +0.23625001 +0.31125 +0.34375 +0.35750002 +0.3875 +0.45250002 +0.56375 +0.72 +0.88624996 +1.06125 +1.24875 +1.45625 +1.6362499 +1.75 +1.7725 +1.6975 +1.5537499 +1.375 +1.1949999 +1.0337499 +0.88750005 +0.76 +0.6525 +0.57875 +0.55 +0.55875003 +0.58874995 +0.61875 +0.58625 +0.48375 +0.34375003 +0.22625001 +0.16125001 +0.14999999 +0.19500001 +0.29 +0.37875003 +0.41875002 +0.40375 +0.36124998 +0.3225 +0.31875002 +0.365 +0.4675 +0.62 +0.80125004 +1.0 +1.22125 +1.4449999 +1.625 +1.7275001 +1.7325 +1.6500001 +1.505 +1.33 +1.1537501 +0.98875 +0.85 +0.74375004 +0.67875004 +0.65749997 +0.66 +0.66125 +0.62125 +0.51624995 +0.36249998 +0.22125 +0.1375 +0.10125 +0.09625 +0.13624999 +0.22999999 +0.32875 +0.38625002 +0.41125 +0.4275 +0.46250004 +0.53375 +0.65375 +0.8125 +0.9875001 +1.17875 +1.395 +1.61375 +1.785 +1.87625 +1.85875 +1.74 +1.5450001 +1.32 +1.10125 +0.91125 +0.755 +0.62874997 +0.53625 +0.48875 +0.49 +0.5325 +0.58874995 +0.61875 +0.58625 +0.48375 +0.34375003 +0.22625001 +0.16125001 +0.14999999 +0.19500001 +0.29 +0.37875003 +0.41875002 +0.40375 +0.36124998 +0.3225 +0.31875002 +0.365 +0.4675 +0.62 +0.80125004 +1.0 +1.22125 +1.4449999 +1.625 +1.7275001 +1.7325 +1.6500001 +1.505 +1.33 +1.1537501 +0.98875 +0.85 +0.74375004 +0.67875004 +0.65749997 +0.66 +0.66125 +0.62125 +0.51624995 +0.36249998 +0.22125 +0.1375 +0.10125 +0.09625 +0.13624999 +0.22999999 +0.32875 +0.38625002 +0.41125 +0.4275 +0.46250004 +0.53375 +0.65375 +0.8125 +0.9875001 +1.17875 +1.395 +1.61375 +1.785 +1.87625 +1.85875 +1.74 +1.5450001 +1.32 +1.10125 +0.91125 +0.755 +0.62874997 +0.53625 +0.48875 +0.49 +0.5325 +0.6049999 +0.6725001 +0.68625 +0.63 +0.52125 +0.39999998 +0.31375 +0.29625002 +0.345 +0.42375 +0.49375 +0.52 +0.485 +0.40999997 +0.33624998 +0.29000002 +0.29375 +0.36874998 +0.51125 +0.69124997 +0.895 +1.11 +1.335 +1.5387499 +1.67375 +1.7149999 +1.6600001 +1.53125 +1.35 +1.16 +0.98625 +0.84875 +0.7624999 +0.72875 +0.74125 +0.77125 +0.78875005 +0.75624996 +0.66125 +0.51625 +0.36124998 +0.25125 +0.21625 +0.26125 +0.35750002 +0.46374997 +0.5425 +0.58375 +0.59624994 +0.60749996 +0.6425 +0.72125 +0.84875 +0.99625003 +1.1675 +1.3575001 +1.5749999 +1.7875 +1.9399999 +1.99125 +1.93 +1.7562499 +1.50625 +1.235 +0.9812499 +0.77125 +0.61125 +0.49750003 +0.42875 +0.4125 +0.44500002 +0.51625 +0.6049999 +0.6725001 +0.68625 +0.63 +0.52125 +0.39999998 +0.31375 +0.29625002 +0.345 +0.42375 +0.49375 +0.52 +0.485 +0.40999997 +0.33624998 +0.29000002 +0.29375 +0.36874998 +0.51125 +0.69124997 +0.895 +1.11 +1.335 +1.5387499 +1.67375 +1.7149999 +1.6600001 +1.53125 +1.35 +1.16 +0.98625 +0.84875 +0.7624999 +0.72875 +0.74125 +0.77125 +0.78875005 +0.75624996 +0.66125 +0.51625 +0.36124998 +0.25125 +0.21625 +0.26125 +0.35750002 +0.46374997 +0.5425 +0.58375 +0.59624994 +0.60749996 +0.6425 +0.72125 +0.84875 +0.99625003 +1.1675 +1.3575001 +1.5749999 +1.7875 +1.9399999 +1.99125 +1.93 +1.7562499 +1.50625 +1.235 +0.9812499 +0.77125 +0.61125 +0.49750003 +0.42875 +0.4125 +0.44500002 +0.51625 +0.62875 +0.7125 +0.75374997 +0.73375 +0.65749997 +0.555 +0.4675 +0.43 +0.45375 +0.515 +0.58 +0.62 +0.59125 +0.50125 +0.39499998 +0.31625 +0.28875 +0.3425 +0.46375003 +0.62750006 +0.8175 +1.015 +1.2125 +1.405 +1.56375 +1.6375 +1.6325002 +1.5450001 +1.3825 +1.1775 +0.97625005 +0.84875 +0.78875005 +0.795 +0.85 +0.9175 +0.96000004 +0.945 +0.86625 +0.74499995 +0.62625 +0.55375 +0.55625 +0.65125 +0.76500005 +0.8525001 +0.89125 +0.89874995 +0.89875 +0.9025 +0.95 +1.0350001 +1.14 +1.2625 +1.40375 +1.565 +1.74625 +1.9262499 +2.0362499 +2.05125 +1.9425 +1.7175 +1.42 +1.11875 +0.85 +0.64124995 +0.495 +0.40625 +0.37 +0.3825 +0.43875 +0.52625 +0.62875 +0.7125 +0.75374997 +0.73375 +0.65749997 +0.555 +0.4675 +0.43 +0.45375 +0.515 +0.58 +0.62 +0.59125 +0.50125 +0.39499998 +0.31625 +0.28875 +0.3425 +0.46375003 +0.62750006 +0.8175 +1.015 +1.2125 +1.405 +1.56375 +1.6375 +1.6325002 +1.5450001 +1.3825 +1.1775 +0.97625005 +0.84875 +0.78875005 +0.795 +0.85 +0.9175 +0.96000004 +0.945 +0.86625 +0.74499995 +0.62625 +0.55375 +0.55625 +0.65125 +0.76500005 +0.8525001 +0.89125 +0.89874995 +0.89875 +0.9025 +0.95 +1.0350001 +1.14 +1.2625 +1.40375 +1.565 +1.74625 +1.9262499 +2.0362499 +2.05125 +1.9425 +1.7175 +1.42 +1.11875 +0.85 +0.64124995 +0.495 +0.40625 +0.37 +0.3825 +0.43875 +0.52625 +0.65125006 +0.73375 +0.78125 +0.78000003 +0.72625 +0.63875 +0.5475 +0.49 +0.48625 +0.53499997 +0.60375 +0.66625 +0.66875 +0.60125 +0.49375 +0.395 +0.35125002 +0.38124996 +0.47500002 +0.61375 +0.77125 +0.93500006 +1.1025 +1.27125 +1.4275 +1.5375 +1.57375 +1.52125 +1.3812499 +1.1875 +0.99 +0.85875 +0.8225 +0.8625 +0.95625 +1.0587499 +1.13 +1.1375 +1.07875 +0.985 +0.90125 +0.86875 +0.92625004 +1.0512501 +1.1737502 +1.2499999 +1.27 +1.2537501 +1.23625 +1.2449999 +1.295 +1.37 +1.45375 +1.5424999 +1.6375 +1.74875 +1.875 +1.98625 +2.045 +2.0025 +1.8425 +1.5825 +1.26625 +0.97 +0.71500003 +0.53 +0.41375 +0.36124998 +0.35875 +0.39875 +0.4675 +0.5575 +0.65125006 +0.73375 +0.78125 +0.78000003 +0.72625 +0.63875 +0.5475 +0.49 +0.48625 +0.53499997 +0.60375 +0.66625 +0.66875 +0.60125 +0.49375 +0.395 +0.35125002 +0.38124996 +0.47500002 +0.61375 +0.77125 +0.93500006 +1.1025 +1.27125 +1.4275 +1.5375 +1.57375 +1.52125 +1.3812499 +1.1875 +0.99 +0.85875 +0.8225 +0.8625 +0.95625 +1.0587499 +1.13 +1.1375 +1.07875 +0.985 +0.90125 +0.86875 +0.92625004 +1.0512501 +1.1737502 +1.2499999 +1.27 +1.2537501 +1.23625 +1.2449999 +1.295 +1.37 +1.45375 +1.5424999 +1.6375 +1.74875 +1.875 +1.98625 +2.045 +2.0025 +1.8425 +1.5825 +1.26625 +0.97 +0.71500003 +0.53 +0.41375 +0.36124998 +0.35875 +0.39875 +0.4675 +0.5575 +0.65875 +0.72499996 +0.77125 +0.7825 +0.7475 +0.67125 +0.5725 +0.4925 +0.46249998 +0.4925 +0.56125003 +0.64375 +0.6875 +0.65874994 +0.575 +0.4875 +0.4275 +0.43625003 +0.50874996 +0.62 +0.74375 +0.8712499 +1.005 +1.1525 +1.3212501 +1.4437499 +1.4975 +1.4775001 +1.3625001 +1.1837499 +0.99250007 +0.87625 +0.85 +0.90375 +1.0175 +1.1437501 +1.2375 +1.2674999 +1.23125 +1.1625 +1.10875 +1.1075001 +1.18125 +1.325 +1.4499999 +1.5224999 +1.5274999 +1.50875 +1.48875 +1.4825001 +1.5325 +1.6075002 +1.67875 +1.74125 +1.7950001 +1.8499999 +1.90625 +1.95 +1.9300001 +1.8275 +1.6287498 +1.355 +1.06 +0.79375005 +0.575 +0.4225 +0.34375003 +0.32875 +0.36124998 +0.42374998 +0.5 +0.58125 +0.65875 +0.72499996 +0.77125 +0.7825 +0.7475 +0.67125 +0.5725 +0.4925 +0.46249998 +0.4925 +0.56125003 +0.64375 +0.6875 +0.65874994 +0.575 +0.4875 +0.4275 +0.43625003 +0.50874996 +0.62 +0.74375 +0.8712499 +1.005 +1.1525 +1.3212501 +1.4437499 +1.4975 +1.4775001 +1.3625001 +1.1837499 +0.99250007 +0.87625 +0.85 +0.90375 +1.0175 +1.1437501 +1.2375 +1.2674999 +1.23125 +1.1625 +1.10875 +1.1075001 +1.18125 +1.325 +1.4499999 +1.5224999 +1.5274999 +1.50875 +1.48875 +1.4825001 +1.5325 +1.6075002 +1.67875 +1.74125 +1.7950001 +1.8499999 +1.90625 +1.95 +1.9300001 +1.8275 +1.6287498 +1.355 +1.06 +0.79375005 +0.575 +0.4225 +0.34375003 +0.32875 +0.36124998 +0.42374998 +0.5 +0.58125 +0.63124996 +0.6875 +0.73625004 +0.76374996 +0.75124997 +0.68874997 +0.5875 +0.48375 +0.41875 +0.41875 +0.48125 +0.56875 +0.63750005 +0.6525 +0.61625 +0.55125 +0.495 +0.47249997 +0.51875 +0.61125 +0.71500003 +0.81875 +0.93375003 +1.1075001 +1.275 +1.40625 +1.4650002 +1.43875 +1.345 +1.1775 +1.015 +0.89750004 +0.85875 +0.90124995 +1.0074999 +1.1375 +1.24375 +1.29375 +1.28375 +1.24125 +1.21 +1.2275 +1.30375 +1.4224999 +1.5475 +1.6112499 +1.63625 +1.62 +1.59125 +1.5812501 +1.59625 +1.67875 +1.75625 +1.80875 +1.8350002 +1.85 +1.8587501 +1.82 +1.71625 +1.55 +1.32875 +1.075 +0.825 +0.60125 +0.42374998 +0.3075 +0.26 +0.27125 +0.32999998 +0.41375 +0.49625 +0.56874996 +0.63124996 +0.6875 +0.73625004 +0.76374996 +0.75124997 +0.68874997 +0.5875 +0.48375 +0.41875 +0.41875 +0.48125 +0.56875 +0.63750005 +0.6525 +0.61625 +0.55125 +0.495 +0.47249997 +0.51875 +0.61125 +0.71500003 +0.81875 +0.93375003 +1.1075001 +1.275 +1.40625 +1.4650002 +1.43875 +1.345 +1.1775 +1.015 +0.89750004 +0.85875 +0.90124995 +1.0074999 +1.1375 +1.24375 +1.29375 +1.28375 +1.24125 +1.21 +1.2275 +1.30375 +1.4224999 +1.5475 +1.6112499 +1.63625 +1.62 +1.59125 +1.5812501 +1.59625 +1.67875 +1.75625 +1.80875 +1.8350002 +1.85 +1.8587501 +1.82 +1.71625 +1.55 +1.32875 +1.075 +0.825 +0.60125 +0.42374998 +0.3075 +0.26 +0.27125 +0.32999998 +0.41375 +0.49625 +0.56874996 +0.56750005 +0.62125 +0.68 +0.73375 +0.75374997 +0.71624994 +0.62 +0.49374998 +0.39125 +0.35125 +0.38875 +0.4775 +0.57 +0.62 +0.61375004 +0.57000005 +0.5225 +0.49749997 +0.5125 +0.575 +0.675 +0.79125 +0.94375 +1.11125 +1.2737501 +1.4000001 +1.4662501 +1.4475 +1.3525 +1.20625 +1.0462501 +0.91499996 +0.84749997 +0.8575 +0.93625 +1.05 +1.1575 +1.22875 +1.25125 +1.2425001 +1.2375 +1.26875 +1.34875 +1.4599999 +1.5725001 +1.64375 +1.6637499 +1.64 +1.60375 +1.5862498 +1.6012499 +1.6475 +1.71875 +1.77125 +1.805 +1.8012501 +1.74125 +1.6225002 +1.45125 +1.24125 +1.015 +0.78875 +0.58625 +0.41125 +0.27 +0.19500001 +0.17 +0.18624999 +0.25 +0.3425 +0.43624997 +0.51 +0.56750005 +0.62125 +0.68 +0.73375 +0.75374997 +0.71624994 +0.62 +0.49374998 +0.39125 +0.35125 +0.38875 +0.4775 +0.57 +0.62 +0.61375004 +0.57000005 +0.5225 +0.49749997 +0.5125 +0.575 +0.675 +0.79125 +0.94375 +1.11125 +1.2737501 +1.4000001 +1.4662501 +1.4475 +1.3525 +1.20625 +1.0462501 +0.91499996 +0.84749997 +0.8575 +0.93625 +1.05 +1.1575 +1.22875 +1.25125 +1.2425001 +1.2375 +1.26875 +1.34875 +1.4599999 +1.5725001 +1.64375 +1.6637499 +1.64 +1.60375 +1.5862498 +1.6012499 +1.6475 +1.71875 +1.77125 +1.805 +1.8012501 +1.74125 +1.6225002 +1.45125 +1.24125 +1.015 +0.78875 +0.58625 +0.41125 +0.27 +0.19500001 +0.17 +0.18624999 +0.25 +0.3425 +0.43624997 +0.51 +0.47625 +0.53374994 +0.60499996 +0.6875 +0.74375 +0.74375004 +0.665 +0.53 +0.395 +0.31375 +0.32 +0.39374998 +0.495 +0.56875 +0.58750004 +0.56125 +0.51625 +0.48875004 +0.5 +0.55875003 +0.65999997 +0.78999996 +0.94375 +1.105 +1.2550001 +1.3675001 +1.425 +1.40875 +1.32625 +1.195 +1.04375 +0.91125005 +0.82 +0.795 +0.835 +0.92375 +1.03375 +1.13125 +1.1975001 +1.2362499 +1.27 +1.3275001 +1.42 +1.53875 +1.6537501 +1.73125 +1.7524998 +1.72625 +1.6787499 +1.64125 +1.6337501 +1.6625 +1.7162501 +1.7624999 +1.77125 +1.71875 +1.59625 +1.4075 +1.1775 +0.93625 +0.71750003 +0.53125 +0.37750003 +0.24750002 +0.17375001 +0.1375 +0.13125 +0.14375001 +0.18625 +0.2575 +0.33874997 +0.41875 +0.47625 +0.53374994 +0.60499996 +0.6875 +0.74375 +0.74375004 +0.665 +0.53 +0.395 +0.31375 +0.32 +0.39374998 +0.495 +0.56875 +0.58750004 +0.56125 +0.51625 +0.48875004 +0.5 +0.55875003 +0.65999997 +0.78999996 +0.94375 +1.105 +1.2550001 +1.3675001 +1.425 +1.40875 +1.32625 +1.195 +1.04375 +0.91125005 +0.82 +0.795 +0.835 +0.92375 +1.03375 +1.13125 +1.1975001 +1.2362499 +1.27 +1.3275001 +1.42 +1.53875 +1.6537501 +1.73125 +1.7524998 +1.72625 +1.6787499 +1.64125 +1.6337501 +1.6625 +1.7162501 +1.7624999 +1.77125 +1.71875 +1.59625 +1.4075 +1.1775 +0.93625 +0.71750003 +0.53125 +0.37750003 +0.24750002 +0.17375001 +0.1375 +0.13125 +0.14375001 +0.18625 +0.2575 +0.33874997 +0.41875 +0.385 +0.42999998 +0.50625 +0.60875 +0.7012501 +0.7387499 +0.69 +0.56375 +0.415 +0.30749997 +0.28375 +0.34375 +0.445 +0.53375 +0.57 +0.55375004 +0.50875 +0.46875003 +0.46750003 +0.515 +0.61125 +0.73875004 +0.885 +1.02875 +1.1524999 +1.2387501 +1.275 +1.2574999 +1.1937499 +1.0975 +0.985 +0.87375003 +0.78875 +0.745 +0.75625 +0.82375 +0.935 +1.0625 +1.18625 +1.29125 +1.38625 +1.4887501 +1.6125 +1.7574999 +1.89625 +1.9962499 +2.04125 +2.02375 +1.95875 +1.88375 +1.8275 +1.8025001 +1.80625 +1.80875 +1.77 +1.6624999 +1.4762499 +1.2237501 +0.945 +0.68874997 +0.48250002 +0.33375 +0.23000002 +0.18 +0.16875 +0.16625 +0.1575 +0.155 +0.175 +0.2175 +0.27625 +0.33624998 +0.385 +0.42999998 +0.50625 +0.60875 +0.7012501 +0.7387499 +0.69 +0.56375 +0.415 +0.30749997 +0.28375 +0.34375 +0.445 +0.53375 +0.57 +0.55375004 +0.50875 +0.46875003 +0.46750003 +0.515 +0.61125 +0.73875004 +0.885 +1.02875 +1.1524999 +1.2387501 +1.275 +1.2574999 +1.1937499 +1.0975 +0.985 +0.87375003 +0.78875 +0.745 +0.75625 +0.82375 +0.935 +1.0625 +1.18625 +1.29125 +1.38625 +1.4887501 +1.6125 +1.7574999 +1.89625 +1.9962499 +2.04125 +2.02375 +1.95875 +1.88375 +1.8275 +1.8025001 +1.80625 +1.80875 +1.77 +1.6624999 +1.4762499 +1.2237501 +0.945 +0.68874997 +0.48250002 +0.33375 +0.23000002 +0.18 +0.16875 +0.16625 +0.1575 +0.155 +0.175 +0.2175 +0.27625 +0.33624998 +0.3175 +0.33624998 +0.38625002 +0.48874998 +0.60249996 +0.67625004 +0.665 +0.5675 +0.4275 +0.315 +0.27875 +0.33 +0.43375003 +0.5325 +0.58500004 +0.57375 +0.51875 +0.45875 +0.42749998 +0.44625002 +0.51625 +0.62249994 +0.74249995 +0.855 +0.94124997 +0.99125004 +1.0025 +1.005 +0.98375 +0.93125004 +0.86375 +0.81375 +0.765 +0.73 +0.73125005 +0.7875 +0.89625 +1.05375 +1.2337501 +1.41375 +1.585 +1.75125 +1.92625 +2.13625 +2.3325002 +2.4699998 +2.5349998 +2.5387502 +2.465 +2.3425 +2.2087498 +2.0974998 +2.01375 +1.9412501 +1.8362501 +1.665 +1.415 +1.11125 +0.79875 +0.53 +0.33999997 +0.22874999 +0.18375 +0.17750001 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.2 +0.24875 +0.29375 +0.3175 +0.33624998 +0.38625002 +0.48874998 +0.60249996 +0.67625004 +0.665 +0.5675 +0.4275 +0.315 +0.27875 +0.33 +0.43375003 +0.5325 +0.58500004 +0.57375 +0.51875 +0.45875 +0.42749998 +0.44625002 +0.51625 +0.62249994 +0.74249995 +0.855 +0.94124997 +0.99125004 +1.0025 +1.005 +0.98375 +0.93125004 +0.86375 +0.81375 +0.765 +0.73 +0.73125005 +0.7875 +0.89625 +1.05375 +1.2337501 +1.41375 +1.585 +1.75125 +1.92625 +2.13625 +2.3325002 +2.4699998 +2.5349998 +2.5387502 +2.465 +2.3425 +2.2087498 +2.0974998 +2.01375 +1.9412501 +1.8362501 +1.665 +1.415 +1.11125 +0.79875 +0.53 +0.33999997 +0.22874999 +0.18375 +0.17750001 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.2 +0.24875 +0.29375 +0.27249998 +0.25875 +0.26874998 +0.3375 +0.45750004 +0.5575 +0.58875 +0.5325 +0.425 +0.325 +0.29 +0.34125 +0.44875002 +0.56375 +0.62875 +0.6225 +0.55875 +0.46749997 +0.3925 +0.37875 +0.43375 +0.4925 +0.54625 +0.61500007 +0.66125 +0.685 +0.71375 +0.72875 +0.73999995 +0.7475 +0.7575 +0.76124996 +0.76 +0.75625 +0.75874996 +0.80375004 +0.91125005 +1.08125 +1.3037499 +1.54625 +1.78375 +2.0262501 +2.2849998 +2.54875 +2.8025 +3.0049999 +3.1174998 +3.11875 +3.0387502 +2.87625 +2.67375 +2.495 +2.32125 +2.1299999 +1.9437501 +1.7199998 +1.42875 +1.09125 +0.75875 +0.48499998 +0.3075 +0.2225 +0.19375 +0.18374999 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.2125 +0.25875 +0.27249998 +0.25875 +0.26874998 +0.3375 +0.45750004 +0.5575 +0.58875 +0.5325 +0.425 +0.325 +0.29 +0.34125 +0.44875002 +0.56375 +0.62875 +0.6225 +0.55875 +0.46749997 +0.3925 +0.37875 +0.43375 +0.4925 +0.54625 +0.61500007 +0.66125 +0.685 +0.71375 +0.72875 +0.73999995 +0.7475 +0.7575 +0.76124996 +0.76 +0.75625 +0.75874996 +0.80375004 +0.91125005 +1.08125 +1.3037499 +1.54625 +1.78375 +2.0262501 +2.2849998 +2.54875 +2.8025 +3.0049999 +3.1174998 +3.11875 +3.0387502 +2.87625 +2.67375 +2.495 +2.32125 +2.1299999 +1.9437501 +1.7199998 +1.42875 +1.09125 +0.75875 +0.48499998 +0.3075 +0.2225 +0.19375 +0.18374999 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.2125 +0.25875 +0.23625 +0.20124999 +0.16875 +0.19125001 +0.28875002 +0.40875003 +0.48125 +0.47375 +0.40374997 +0.32625 +0.29874998 +0.3525 +0.46875 +0.59625 +0.6825 +0.68875 +0.61499995 +0.49625 +0.37375 +0.33 +0.34125 +0.35875 +0.37875003 +0.39874998 +0.41749996 +0.43 +0.44000003 +0.45375 +0.49 +0.555 +0.64125 +0.73125 +0.7975 +0.8299999 +0.84499997 +0.87875 +0.96625006 +1.1275 +1.3512502 +1.61375 +1.8874998 +2.1625 +2.44625 +2.7375002 +3.02875 +3.2862499 +3.4625 +3.51625 +3.4425 +3.265 +3.0325 +2.78375 +2.5375001 +2.2775 +2.02625 +1.78625 +1.48875 +1.1512499 +0.8225 +0.54875 +0.37 +0.28125003 +0.23875001 +0.20625001 +0.1825 +0.16375 +0.13 +0.09875 +0.09 +0.1175 +0.1875 +0.23875 +0.23625 +0.20124999 +0.16875 +0.19125001 +0.28875002 +0.40875003 +0.48125 +0.47375 +0.40374997 +0.32625 +0.29874998 +0.3525 +0.46875 +0.59625 +0.6825 +0.68875 +0.61499995 +0.49625 +0.37375 +0.33 +0.34125 +0.35875 +0.37875003 +0.39874998 +0.41749996 +0.43 +0.44000003 +0.45375 +0.49 +0.555 +0.64125 +0.73125 +0.7975 +0.8299999 +0.84499997 +0.87875 +0.96625006 +1.1275 +1.3512502 +1.61375 +1.8874998 +2.1625 +2.44625 +2.7375002 +3.02875 +3.2862499 +3.4625 +3.51625 +3.4425 +3.265 +3.0325 +2.78375 +2.5375001 +2.2775 +2.02625 +1.78625 +1.48875 +1.1512499 +0.8225 +0.54875 +0.37 +0.28125003 +0.23875001 +0.20625001 +0.1825 +0.16375 +0.13 +0.09875 +0.09 +0.1175 +0.1875 +0.23875 +0.20625 +0.16250001 +0.1125 +0.0875 +0.1425 +0.27125 +0.3775 +0.41125 +0.37875 +0.31874996 +0.295 +0.34625 +0.46625 +0.60999995 +0.72125 +0.7475 +0.67749995 +0.53625 +0.375 +0.275 +0.24625 +0.23375 +0.23625 +0.2475 +0.2575 +0.25625 +0.25125 +0.26 +0.30374998 +0.3975 +0.53375006 +0.68 +0.79749995 +0.85499996 +0.86875004 +0.87375 +0.92375004 +1.0475 +1.2475001 +1.4925001 +1.75375 +2.00875 +2.26875 +2.54375 +2.8362498 +3.1187499 +3.3387501 +3.445 +3.415 +3.2575 +3.01875 +2.75375 +2.49125 +2.22875 +2.0037498 +1.7987499 +1.545 +1.2437501 +0.9375 +0.67749995 +0.49374998 +0.38625002 +0.32500002 +0.26749998 +0.19500001 +0.14125 +0.1 +0.0625 +0.04875 +0.10125001 +0.18874998 +0.23124999 +0.20625 +0.16250001 +0.1125 +0.0875 +0.1425 +0.27125 +0.3775 +0.41125 +0.37875 +0.31874996 +0.295 +0.34625 +0.46625 +0.60999995 +0.72125 +0.7475 +0.67749995 +0.53625 +0.375 +0.275 +0.24625 +0.23375 +0.23625 +0.2475 +0.2575 +0.25625 +0.25125 +0.26 +0.30374998 +0.3975 +0.53375006 +0.68 +0.79749995 +0.85499996 +0.86875004 +0.87375 +0.92375004 +1.0475 +1.2475001 +1.4925001 +1.75375 +2.00875 +2.26875 +2.54375 +2.8362498 +3.1187499 +3.3387501 +3.445 +3.415 +3.2575 +3.01875 +2.75375 +2.49125 +2.22875 +2.0037498 +1.7987499 +1.545 +1.2437501 +0.9375 +0.67749995 +0.49374998 +0.38625002 +0.32500002 +0.26749998 +0.19500001 +0.14125 +0.1 +0.0625 +0.04875 +0.10125001 +0.18874998 +0.23124999 +0.18499999 +0.1425 +0.09 +0.0425 +0.049999997 +0.16749999 +0.29874998 +0.365 +0.35625002 +0.30375 +0.27375 +0.315 +0.43625 +0.59999996 +0.73875 +0.79499996 +0.7375 +0.5875 +0.39875 +0.23249999 +0.17500001 +0.1525 +0.18 +0.2375 +0.2625 +0.24125 +0.1925 +0.1875 +0.21875 +0.315 +0.49625 +0.68125 +0.80875003 +0.84875 +0.8125 +0.77000004 +0.775 +0.85125 +1.0174999 +1.24375 +1.4649999 +1.6512501 +1.8162501 +1.99 +2.23125 +2.49625 +2.73 +2.9075 +2.9475 +2.8325 +2.6012502 +2.35125 +2.1325 +1.935 +1.81875 +1.7 +1.53125 +1.30375 +1.0424999 +0.80625004 +0.63 +0.5175 +0.43749997 +0.35625002 +0.2525 +0.14375 +0.0725 +0.0325 +0.0275 +0.103750005 +0.19375001 +0.2225 +0.18499999 +0.1425 +0.09 +0.0425 +0.049999997 +0.16749999 +0.29874998 +0.365 +0.35625002 +0.30375 +0.27375 +0.315 +0.43625 +0.59999996 +0.73875 +0.79499996 +0.7375 +0.5875 +0.39875 +0.23249999 +0.17500001 +0.1525 +0.18 +0.2375 +0.2625 +0.24125 +0.1925 +0.1875 +0.21875 +0.315 +0.49625 +0.68125 +0.80875003 +0.84875 +0.8125 +0.77000004 +0.775 +0.85125 +1.0174999 +1.24375 +1.4649999 +1.6512501 +1.8162501 +1.99 +2.23125 +2.49625 +2.73 +2.9075 +2.9475 +2.8325 +2.6012502 +2.35125 +2.1325 +1.935 +1.81875 +1.7 +1.53125 +1.30375 +1.0424999 +0.80625004 +0.63 +0.5175 +0.43749997 +0.35625002 +0.2525 +0.14375 +0.0725 +0.0325 +0.0275 +0.103750005 +0.19375001 +0.2225 +0.17625 +0.13499999 +0.0825 +0.03 +0.01375 +0.10125 +0.2475 +0.33249998 +0.33625 +0.28125 +0.2375 +0.27374998 +0.3825 +0.56250006 +0.74000007 +0.83000004 +0.79375 +0.64625 +0.43875 +0.255 +0.1575 +0.1625 +0.23875 +0.32875 +0.37625 +0.36124998 +0.30624998 +0.25875002 +0.2725 +0.37 +0.5275 +0.6875 +0.78875 +0.7975 +0.7275 +0.6375 +0.59749997 +0.64625 +0.7825 +0.9524999 +1.0975 +1.1912501 +1.2487501 +1.3175 +1.44875 +1.655 +1.8937501 +2.08625 +2.1612499 +2.09 +1.91375 +1.70625 +1.5474999 +1.4775 +1.4725 +1.4712499 +1.4125 +1.2750001 +1.07875 +0.8750001 +0.71500003 +0.61125 +0.54125 +0.46124998 +0.3425 +0.20750001 +0.09375 +0.0275 +0.036250003 +0.10999999 +0.19250001 +0.21625 +0.17625 +0.13499999 +0.0825 +0.03 +0.01375 +0.10125 +0.2475 +0.33249998 +0.33625 +0.28125 +0.2375 +0.27374998 +0.3825 +0.56250006 +0.74000007 +0.83000004 +0.79375 +0.64625 +0.43875 +0.255 +0.1575 +0.1625 +0.23875 +0.32875 +0.37625 +0.36124998 +0.30624998 +0.25875002 +0.2725 +0.37 +0.5275 +0.6875 +0.78875 +0.7975 +0.7275 +0.6375 +0.59749997 +0.64625 +0.7825 +0.9524999 +1.0975 +1.1912501 +1.2487501 +1.3175 +1.44875 +1.655 +1.8937501 +2.08625 +2.1612499 +2.09 +1.91375 +1.70625 +1.5474999 +1.4775 +1.4725 +1.4712499 +1.4125 +1.2750001 +1.07875 +0.8750001 +0.71500003 +0.61125 +0.54125 +0.46124998 +0.3425 +0.20750001 +0.09375 +0.0275 +0.036250003 +0.10999999 +0.19250001 +0.21625 +0.19000001 +0.13374999 +0.08125 +0.02625 +0.0075 +0.068749994 +0.21124999 +0.3075 +0.31125 +0.2475 +0.2125 +0.24875 +0.34249997 +0.5125 +0.725 +0.8525001 +0.8375 +0.69 +0.47375 +0.28375 +0.19125 +0.21875 +0.32750002 +0.445 +0.51 +0.495 +0.43125 +0.3675 +0.36 +0.42999998 +0.55375004 +0.675 +0.72875 +0.69500005 +0.595 +0.49 +0.44 +0.47875 +0.58624995 +0.7062501 +0.77625 +0.7687501 +0.70875 +0.6625 +0.6975 +0.835 +1.03625 +1.21875 +1.31 +1.27 +1.1362499 +0.9875 +0.90250003 +0.9250001 +1.0275 +1.1387501 +1.18875 +1.14125 +1.0074999 +0.84999996 +0.72 +0.64 +0.59624994 +0.545 +0.45 +0.31625 +0.18 +0.0925 +0.08625 +0.14 +0.21125 +0.23124999 +0.19000001 +0.13374999 +0.08125 +0.02625 +0.0075 +0.068749994 +0.21124999 +0.3075 +0.31125 +0.2475 +0.2125 +0.24875 +0.34249997 +0.5125 +0.725 +0.8525001 +0.8375 +0.69 +0.47375 +0.28375 +0.19125 +0.21875 +0.32750002 +0.445 +0.51 +0.495 +0.43125 +0.3675 +0.36 +0.42999998 +0.55375004 +0.675 +0.72875 +0.69500005 +0.595 +0.49 +0.44 +0.47875 +0.58624995 +0.7062501 +0.77625 +0.7687501 +0.70875 +0.6625 +0.6975 +0.835 +1.03625 +1.21875 +1.31 +1.27 +1.1362499 +0.9875 +0.90250003 +0.9250001 +1.0275 +1.1387501 +1.18875 +1.14125 +1.0074999 +0.84999996 +0.72 +0.64 +0.59624994 +0.545 +0.45 +0.31625 +0.18 +0.0925 +0.08625 +0.14 +0.21125 +0.23124999 +0.24500003 +0.15625 +0.0825 +0.03 +0.00375 +0.058750004 +0.19125001 +0.28875 +0.29125 +0.22125 +0.20125 +0.24125 +0.32125 +0.47249997 +0.7012501 +0.85249996 +0.85 +0.70124996 +0.48125 +0.28875002 +0.20875 +0.2575 +0.38625002 +0.51750004 +0.58500004 +0.56125003 +0.485 +0.41125 +0.39625 +0.45374998 +0.5525 +0.63 +0.63625 +0.56499994 +0.44500002 +0.34125 +0.3125 +0.36625 +0.4725 +0.5625 +0.57 +0.47749996 +0.32625002 +0.21 +0.18375 +0.24125 +0.38500002 +0.55125 +0.63625 +0.60375 +0.48874998 +0.37 +0.33125 +0.40874997 +0.58375 +0.77624995 +0.9075 +0.93 +0.855 +0.74 +0.64625 +0.60125 +0.59999996 +0.59250003 +0.53499997 +0.4225 +0.28875 +0.18875 +0.15875 +0.19999999 +0.26375 +0.28875002 +0.24500003 +0.15625 +0.0825 +0.03 +0.00375 +0.058750004 +0.19125001 +0.28875 +0.29125 +0.22125 +0.20125 +0.24125 +0.32125 +0.47249997 +0.7012501 +0.85249996 +0.85 +0.70124996 +0.48125 +0.28875002 +0.20875 +0.2575 +0.38625002 +0.51750004 +0.58500004 +0.56125003 +0.485 +0.41125 +0.39625 +0.45374998 +0.5525 +0.63 +0.63625 +0.56499994 +0.44500002 +0.34125 +0.3125 +0.36625 +0.4725 +0.5625 +0.57 +0.47749996 +0.32625002 +0.21 +0.18375 +0.24125 +0.38500002 +0.55125 +0.63625 +0.60375 +0.48874998 +0.37 +0.33125 +0.40874997 +0.58375 +0.77624995 +0.9075 +0.93 +0.855 +0.74 +0.64625 +0.60125 +0.59999996 +0.59250003 +0.53499997 +0.4225 +0.28875 +0.18875 +0.15875 +0.19999999 +0.26375 +0.28875002 +0.35125002 +0.2425 +0.12375 +0.05125 +0.030000001 +0.085 +0.20625001 +0.29500002 +0.29375002 +0.22375 +0.19125 +0.2225 +0.2875 +0.43749997 +0.6625 +0.81874996 +0.81499994 +0.66 +0.4375 +0.255 +0.22500001 +0.275 +0.39500004 +0.52375007 +0.5725 +0.53125 +0.44374996 +0.39999998 +0.39499998 +0.4375 +0.52625 +0.57500005 +0.54375 +0.44 +0.3125 +0.23749998 +0.24875 +0.325 +0.43375 +0.50875 +0.48250002 +0.33999997 +0.14125 +0.01375 +0.0 +0.00125 +0.048750002 +0.195 +0.2675 +0.22874999 +0.11125 +0.0425 +0.03625 +0.07625 +0.24625 +0.47500002 +0.64875 +0.71500003 +0.68000007 +0.60124993 +0.53875 +0.53000003 +0.565 +0.59749997 +0.5775 +0.49124998 +0.37125 +0.2725 +0.23999998 +0.28125 +0.35250002 +0.3925 +0.35125002 +0.2425 +0.12375 +0.05125 +0.030000001 +0.085 +0.20625001 +0.29500002 +0.29375002 +0.22375 +0.19125 +0.2225 +0.2875 +0.43749997 +0.6625 +0.81874996 +0.81499994 +0.66 +0.4375 +0.255 +0.22500001 +0.275 +0.39500004 +0.52375007 +0.5725 +0.53125 +0.44374996 +0.39999998 +0.39499998 +0.4375 +0.52625 +0.57500005 +0.54375 +0.44 +0.3125 +0.23749998 +0.24875 +0.325 +0.43375 +0.50875 +0.48250002 +0.33999997 +0.14125 +0.01375 +0.0 +0.00125 +0.048750002 +0.195 +0.2675 +0.22874999 +0.11125 +0.0425 +0.03625 +0.07625 +0.24625 +0.47500002 +0.64875 +0.71500003 +0.68000007 +0.60124993 +0.53875 +0.53000003 +0.565 +0.59749997 +0.5775 +0.49124998 +0.37125 +0.2725 +0.23999998 +0.28125 +0.35250002 +0.3925 +0.50874996 +0.39875 +0.25625 +0.1475 +0.113749996 +0.17250001 +0.28500003 +0.3675 +0.36249998 +0.2875 +0.21375 +0.20750001 +0.26375 +0.42374998 +0.63375 +0.76750004 +0.74749994 +0.58375 +0.36374998 +0.2275 +0.22625002 +0.30249998 +0.40875 +0.4975 +0.52125 +0.48250002 +0.42624998 +0.39749998 +0.42374998 +0.48499998 +0.5425 +0.55 +0.48874998 +0.36999997 +0.255 +0.20249999 +0.23875 +0.3425 +0.455 +0.50625 +0.45625 +0.305 +0.1225 +0.0175 +0.0 +0.00625 +0.065 +0.15 +0.1925 +0.14750001 +0.06 +0.01 +0.0 +0.005 +0.10125 +0.30375 +0.48125 +0.56375 +0.5525 +0.49499997 +0.45250002 +0.46375 +0.51625 +0.56749994 +0.56875 +0.50375 +0.40124997 +0.31875002 +0.30374998 +0.36624998 +0.46125 +0.52625 +0.50874996 +0.39875 +0.25625 +0.1475 +0.113749996 +0.17250001 +0.28500003 +0.3675 +0.36249998 +0.2875 +0.21375 +0.20750001 +0.26375 +0.42374998 +0.63375 +0.76750004 +0.74749994 +0.58375 +0.36374998 +0.2275 +0.22625002 +0.30249998 +0.40875 +0.4975 +0.52125 +0.48250002 +0.42624998 +0.39749998 +0.42374998 +0.48499998 +0.5425 +0.55 +0.48874998 +0.36999997 +0.255 +0.20249999 +0.23875 +0.3425 +0.455 +0.50625 +0.45625 +0.305 +0.1225 +0.0175 +0.0 +0.00625 +0.065 +0.15 +0.1925 +0.14750001 +0.06 +0.01 +0.0 +0.005 +0.10125 +0.30375 +0.48125 +0.56375 +0.5525 +0.49499997 +0.45250002 +0.46375 +0.51625 +0.56749994 +0.56875 +0.50375 +0.40124997 +0.31875002 +0.30374998 +0.36624998 +0.46125 +0.52625 +0.68249995 +0.59875 +0.45874998 +0.3375 +0.3 +0.35375 +0.45625 +0.5325 +0.52625006 +0.43625003 +0.33374998 +0.28250003 +0.33125 +0.48125002 +0.65250003 +0.7425 +0.69250005 +0.52250004 +0.3125 +0.20875001 +0.23000002 +0.325 +0.44 +0.51375 +0.5175 +0.46625 +0.40874997 +0.4 +0.45250002 +0.53875 +0.60375005 +0.59749997 +0.50499994 +0.36249998 +0.2325 +0.17750001 +0.2175 +0.3275 +0.44375 +0.50125 +0.46125 +0.33499998 +0.17750001 +0.060000002 +0.03375 +0.08 +0.175 +0.275 +0.31625 +0.27875 +0.17875001 +0.08125 +0.03375 +0.035 +0.11375 +0.28375 +0.43624997 +0.515 +0.50874996 +0.45749998 +0.41875 +0.4225 +0.465 +0.5075 +0.50875 +0.45249996 +0.37 +0.31125003 +0.3275 +0.42374998 +0.55875 +0.66375 +0.68249995 +0.59875 +0.45874998 +0.3375 +0.3 +0.35375 +0.45625 +0.5325 +0.52625006 +0.43625003 +0.33374998 +0.28250003 +0.33125 +0.48125002 +0.65250003 +0.7425 +0.69250005 +0.52250004 +0.3125 +0.20875001 +0.23000002 +0.325 +0.44 +0.51375 +0.5175 +0.46625 +0.40874997 +0.4 +0.45250002 +0.53875 +0.60375005 +0.59749997 +0.50499994 +0.36249998 +0.2325 +0.17750001 +0.2175 +0.3275 +0.44375 +0.50125 +0.46125 +0.33499998 +0.17750001 +0.060000002 +0.03375 +0.08 +0.175 +0.275 +0.31625 +0.27875 +0.17875001 +0.08125 +0.03375 +0.035 +0.11375 +0.28375 +0.43624997 +0.515 +0.50874996 +0.45749998 +0.41875 +0.4225 +0.465 +0.5075 +0.50875 +0.45249996 +0.37 +0.31125003 +0.3275 +0.42374998 +0.55875 +0.66375 +0.82875 +0.78875005 +0.68499994 +0.5875 +0.55875 +0.61125004 +0.71124995 +0.78499997 +0.78375 +0.70125 +0.58875 +0.51875 +0.54499996 +0.64874995 +0.76 +0.8025 +0.72375 +0.5475 +0.35375002 +0.24874999 +0.2875 +0.39375 +0.50625 +0.5825 +0.5675 +0.48625 +0.42999995 +0.42875 +0.49375 +0.5875 +0.6475 +0.625 +0.52 +0.36374998 +0.21499999 +0.14125 +0.1675 +0.2625 +0.37125 +0.43124998 +0.40625 +0.315 +0.20875 +0.13 +0.12 +0.18124999 +0.285 +0.38875002 +0.46124998 +0.445 +0.35375002 +0.2525 +0.17 +0.13624999 +0.21375 +0.35375 +0.47875 +0.54125005 +0.53000003 +0.47625002 +0.4225 +0.40125 +0.41250002 +0.42624998 +0.40874997 +0.35125 +0.28375 +0.2525 +0.30375 +0.43749997 +0.61625 +0.76625 +0.82875 +0.78875005 +0.68499994 +0.5875 +0.55875 +0.61125004 +0.71124995 +0.78499997 +0.78375 +0.70125 +0.58875 +0.51875 +0.54499996 +0.64874995 +0.76 +0.8025 +0.72375 +0.5475 +0.35375002 +0.24874999 +0.2875 +0.39375 +0.50625 +0.5825 +0.5675 +0.48625 +0.42999995 +0.42875 +0.49375 +0.5875 +0.6475 +0.625 +0.52 +0.36374998 +0.21499999 +0.14125 +0.1675 +0.2625 +0.37125 +0.43124998 +0.40625 +0.315 +0.20875 +0.13 +0.12 +0.18124999 +0.285 +0.38875002 +0.46124998 +0.445 +0.35375002 +0.2525 +0.17 +0.13624999 +0.21375 +0.35375 +0.47875 +0.54125005 +0.53000003 +0.47625002 +0.4225 +0.40125 +0.41250002 +0.42624998 +0.40874997 +0.35125 +0.28375 +0.2525 +0.30375 +0.43749997 +0.61625 +0.76625 +0.9125 +0.9225 +0.86875 +0.81125003 +0.81125 +0.88250005 +0.99125004 +1.07625 +1.08875 +1.025 +0.92625 +0.8575 +0.86125004 +0.92375 +0.99125 +0.995 +0.8975 +0.72249997 +0.54875 +0.44875 +0.465 +0.57375 +0.695 +0.75875 +0.72375 +0.61875 +0.51374996 +0.49 +0.53875 +0.61125 +0.655 +0.645 +0.54875004 +0.39374998 +0.24625 +0.1625 +0.16375 +0.23125002 +0.3125 +0.365 +0.36 +0.29874998 +0.21625 +0.17500001 +0.18375 +0.23875 +0.3375 +0.46875 +0.56 +0.57625 +0.515 +0.415 +0.32625 +0.2975 +0.3425 +0.435 +0.52374995 +0.56874996 +0.54999995 +0.48875 +0.4225 +0.3725 +0.345 +0.32500002 +0.29250002 +0.24000001 +0.195 +0.18624999 +0.24499999 +0.40875003 +0.61875 +0.80625004 +0.9125 +0.9225 +0.86875 +0.81125003 +0.81125 +0.88250005 +0.99125004 +1.07625 +1.08875 +1.025 +0.92625 +0.8575 +0.86125004 +0.92375 +0.99125 +0.995 +0.8975 +0.72249997 +0.54875 +0.44875 +0.465 +0.57375 +0.695 +0.75875 +0.72375 +0.61875 +0.51374996 +0.49 +0.53875 +0.61125 +0.655 +0.645 +0.54875004 +0.39374998 +0.24625 +0.1625 +0.16375 +0.23125002 +0.3125 +0.365 +0.36 +0.29874998 +0.21625 +0.17500001 +0.18375 +0.23875 +0.3375 +0.46875 +0.56 +0.57625 +0.515 +0.415 +0.32625 +0.2975 +0.3425 +0.435 +0.52374995 +0.56874996 +0.54999995 +0.48875 +0.4225 +0.3725 +0.345 +0.32500002 +0.29250002 +0.24000001 +0.195 +0.18624999 +0.24499999 +0.40875003 +0.61875 +0.80625004 +0.91375 +0.96625006 +0.96125 +0.95375 +0.995 +1.09375 +1.22375 +1.3274999 +1.365 +1.33375 +1.2687501 +1.22 +1.225 +1.2774999 +1.32875 +1.32125 +1.22875 +1.0712501 +0.915 +0.82375 +0.8275 +0.90375 +0.98625 +1.0100001 +0.94624996 +0.82124996 +0.69 +0.60875 +0.59875005 +0.62875 +0.65125 +0.61625 +0.51375 +0.375 +0.24624999 +0.17374998 +0.165 +0.19625 +0.24374999 +0.2875 +0.3025 +0.28875002 +0.2575 +0.22874999 +0.23125 +0.27249998 +0.35500002 +0.45499998 +0.53999996 +0.58124995 +0.56125003 +0.49375 +0.42000002 +0.37499997 +0.38125 +0.43 +0.48874998 +0.5175 +0.50125 +0.44125 +0.36625004 +0.3025 +0.25500003 +0.22500001 +0.1925 +0.17 +0.1575 +0.15875 +0.20625 +0.35875002 +0.57875 +0.78125006 +0.91375 +0.96625006 +0.96125 +0.95375 +0.995 +1.09375 +1.22375 +1.3274999 +1.365 +1.33375 +1.2687501 +1.22 +1.225 +1.2774999 +1.32875 +1.32125 +1.22875 +1.0712501 +0.915 +0.82375 +0.8275 +0.90375 +0.98625 +1.0100001 +0.94624996 +0.82124996 +0.69 +0.60875 +0.59875005 +0.62875 +0.65125 +0.61625 +0.51375 +0.375 +0.24624999 +0.17374998 +0.165 +0.19625 +0.24374999 +0.2875 +0.3025 +0.28875002 +0.2575 +0.22874999 +0.23125 +0.27249998 +0.35500002 +0.45499998 +0.53999996 +0.58124995 +0.56125003 +0.49375 +0.42000002 +0.37499997 +0.38125 +0.43 +0.48874998 +0.5175 +0.50125 +0.44125 +0.36625004 +0.3025 +0.25500003 +0.22500001 +0.1925 +0.17 +0.1575 +0.15875 +0.20625 +0.35875002 +0.57875 +0.78125006 +0.8525 +0.925 +0.95500004 +0.9912499 +1.0675 +1.19625 +1.3449999 +1.4699999 +1.5375 +1.5462501 +1.5237501 +1.5174999 +1.555 +1.6324999 +1.7075 +1.72875 +1.67125 +1.5525 +1.42125 +1.3312501 +1.3075 +1.32875 +1.35 +1.31875 +1.2124999 +1.0487499 +0.88 +0.74625003 +0.6675 +0.625 +0.58125 +0.51125 +0.40375 +0.28625 +0.2075 +0.1725 +0.165 +0.17125 +0.19 +0.2125 +0.23249999 +0.25375 +0.26000002 +0.255 +0.24625 +0.24999999 +0.28000003 +0.3325 +0.39874998 +0.4475 +0.45875004 +0.425 +0.36375 +0.30875 +0.285 +0.3 +0.33375 +0.36 +0.35375 +0.30874997 +0.2475 +0.19125001 +0.1575 +0.14 +0.13875 +0.13625 +0.13125 +0.135 +0.18499999 +0.32625002 +0.5225 +0.71625 +0.8525 +0.925 +0.95500004 +0.9912499 +1.0675 +1.19625 +1.3449999 +1.4699999 +1.5375 +1.5462501 +1.5237501 +1.5174999 +1.555 +1.6324999 +1.7075 +1.72875 +1.67125 +1.5525 +1.42125 +1.3312501 +1.3075 +1.32875 +1.35 +1.31875 +1.2124999 +1.0487499 +0.88 +0.74625003 +0.6675 +0.625 +0.58125 +0.51125 +0.40375 +0.28625 +0.2075 +0.1725 +0.165 +0.17125 +0.19 +0.2125 +0.23249999 +0.25375 +0.26000002 +0.255 +0.24625 +0.24999999 +0.28000003 +0.3325 +0.39874998 +0.4475 +0.45875004 +0.425 +0.36375 +0.30875 +0.285 +0.3 +0.33375 +0.36 +0.35375 +0.30874997 +0.2475 +0.19125001 +0.1575 +0.14 +0.13875 +0.13625 +0.13125 +0.135 +0.18499999 +0.32625002 +0.5225 +0.71625 +0.76375 +0.835 +0.88 +0.9375 +1.035 +1.17875 +1.34 +1.4762499 +1.5662501 +1.6062499 +1.63125 +1.67625 +1.7725 +1.9037501 +2.0349998 +2.1200001 +2.13125 +2.075 +1.9862499 +1.9087499 +1.86375 +1.8237499 +1.77875 +1.68375 +1.5250001 +1.32 +1.10125 +0.90500003 +0.74749994 +0.61625004 +0.49875003 +0.37875003 +0.26 +0.18375 +0.16 +0.155 +0.1525 +0.155 +0.16 +0.1625 +0.16624999 +0.17125 +0.19625 +0.2025 +0.18249999 +0.16000001 +0.15375 +0.1675 +0.19875 +0.2275 +0.25375003 +0.2425 +0.20374998 +0.15125 +0.1175 +0.1175 +0.14 +0.155 +0.155 +0.13875 +0.11 +0.08375 +0.08124999 +0.091249995 +0.10125 +0.1 +0.098749995 +0.11624999 +0.18374999 +0.3125 +0.48124996 +0.64500004 +0.76375 +0.835 +0.88 +0.9375 +1.035 +1.17875 +1.34 +1.4762499 +1.5662501 +1.6062499 +1.63125 +1.67625 +1.7725 +1.9037501 +2.0349998 +2.1200001 +2.13125 +2.075 +1.9862499 +1.9087499 +1.86375 +1.8237499 +1.77875 +1.68375 +1.5250001 +1.32 +1.10125 +0.90500003 +0.74749994 +0.61625004 +0.49875003 +0.37875003 +0.26 +0.18375 +0.16 +0.155 +0.1525 +0.155 +0.16 +0.1625 +0.16624999 +0.17125 +0.19625 +0.2025 +0.18249999 +0.16000001 +0.15375 +0.1675 +0.19875 +0.2275 +0.25375003 +0.2425 +0.20374998 +0.15125 +0.1175 +0.1175 +0.14 +0.155 +0.155 +0.13875 +0.11 +0.08375 +0.08124999 +0.091249995 +0.10125 +0.1 +0.098749995 +0.11624999 +0.18374999 +0.3125 +0.48124996 +0.64500004 +0.7024999 +0.7575 +0.79375005 +0.84874994 +0.94625 +1.0825 +1.235 +1.36375 +1.45375 +1.5125 +1.57125 +1.67125 +1.8275001 +2.025 +2.22875 +2.3937502 +2.4925 +2.5212498 +2.5275002 +2.5162501 +2.47375 +2.38875 +2.2524998 +2.105 +1.90125 +1.655 +1.395 +1.1424999 +0.92375 +0.70000005 +0.49625 +0.31375 +0.16875002 +0.11875 +0.12375 +0.12125 +0.12 +0.12125 +0.12375 +0.11875 +0.10125 +0.08499999 +0.0825 +0.0875 +0.08125 +0.041249998 +0.04 +0.0575 +0.067499995 +0.06375 +0.05625 +0.09375 +0.087500006 +0.048750002 +0.01125 +0.01 +0.0325 +0.036250003 +0.02875 +0.02125 +0.025 +0.03375 +0.05125 +0.07 +0.087500006 +0.10125 +0.11625 +0.1525 +0.23249999 +0.35 +0.4875 +0.6125 +0.7024999 +0.7575 +0.79375005 +0.84874994 +0.94625 +1.0825 +1.235 +1.36375 +1.45375 +1.5125 +1.57125 +1.67125 +1.8275001 +2.025 +2.22875 +2.3937502 +2.4925 +2.5212498 +2.5275002 +2.5162501 +2.47375 +2.38875 +2.2524998 +2.105 +1.90125 +1.655 +1.395 +1.1424999 +0.92375 +0.70000005 +0.49625 +0.31375 +0.16875002 +0.11875 +0.12375 +0.12125 +0.12 +0.12125 +0.12375 +0.11875 +0.10125 +0.08499999 +0.0825 +0.0875 +0.08125 +0.041249998 +0.04 +0.0575 +0.067499995 +0.06375 +0.05625 +0.09375 +0.087500006 +0.048750002 +0.01125 +0.01 +0.0325 +0.036250003 +0.02875 +0.02125 +0.025 +0.03375 +0.05125 +0.07 +0.087500006 +0.10125 +0.11625 +0.1525 +0.23249999 +0.35 +0.4875 +0.6125 +0.70875 +0.73875 +0.755 +0.79125 +0.86375 +0.96874994 +1.08375 +1.18 +1.24875 +1.305 +1.385 +1.53125 +1.745 +1.995 +2.24625 +2.4825 +2.66875 +2.81625 +2.925 +2.9875 +2.98875 +2.91625 +2.7649999 +2.55125 +2.32125 +2.05625 +1.7849998 +1.5262499 +1.255 +0.96375 +0.65875 +0.39499998 +0.19624999 +0.1075 +0.09625 +0.0975 +0.09625 +0.0975 +0.09625 +0.0875 +0.06625 +0.03 +0.0075 +0.02 +0.0175 +0.005 +0.0 +0.0125 +0.01875 +0.0 +0.02 +0.06125 +0.065 +0.030000001 +0.00875 +0.0 +0.00125 +0.00625 +0.01375 +0.049999997 +0.072500005 +0.07875 +0.09 +0.114999995 +0.14375 +0.18 +0.21875001 +0.26875 +0.34375 +0.4425 +0.55125 +0.645 +0.70875 +0.73875 +0.755 +0.79125 +0.86375 +0.96874994 +1.08375 +1.18 +1.24875 +1.305 +1.385 +1.53125 +1.745 +1.995 +2.24625 +2.4825 +2.66875 +2.81625 +2.925 +2.9875 +2.98875 +2.91625 +2.7649999 +2.55125 +2.32125 +2.05625 +1.7849998 +1.5262499 +1.255 +0.96375 +0.65875 +0.39499998 +0.19624999 +0.1075 +0.09625 +0.0975 +0.09625 +0.0975 +0.09625 +0.0875 +0.06625 +0.03 +0.0075 +0.02 +0.0175 +0.005 +0.0 +0.0125 +0.01875 +0.0 +0.02 +0.06125 +0.065 +0.030000001 +0.00875 +0.0 +0.00125 +0.00625 +0.01375 +0.049999997 +0.072500005 +0.07875 +0.09 +0.114999995 +0.14375 +0.18 +0.21875001 +0.26875 +0.34375 +0.4425 +0.55125 +0.645 +0.78125 +0.795 +0.78999996 +0.79625 +0.83 +0.88249993 +0.93874997 +0.9825 +1.01125 +1.05375 +1.14125 +1.31125 +1.5424999 +1.81125 +2.08875 +2.35875 +2.61625 +2.8525 +3.0612497 +3.2187498 +3.295 +3.26875 +3.1425 +2.94 +2.7025 +2.4525 +2.205 +1.94625 +1.6574999 +1.3275 +0.96875 +0.64 +0.37875 +0.2075 +0.13875 +0.1275 +0.11875 +0.10375 +0.09875 +0.085 +0.05875 +0.02125 +0.0 +0.0 +0.00375 +0.01 +0.005 +0.0 +0.005 +0.033749998 +0.106249996 +0.18375 +0.1975 +0.14125 +0.0725 +0.037499998 +0.03375 +0.06375 +0.1225 +0.19 +0.23125002 +0.23375002 +0.22250001 +0.23625 +0.26375002 +0.305 +0.35125 +0.40875 +0.48250002 +0.5725 +0.6650001 +0.74 +0.78125 +0.795 +0.78999996 +0.79625 +0.83 +0.88249993 +0.93874997 +0.9825 +1.01125 +1.05375 +1.14125 +1.31125 +1.5424999 +1.81125 +2.08875 +2.35875 +2.61625 +2.8525 +3.0612497 +3.2187498 +3.295 +3.26875 +3.1425 +2.94 +2.7025 +2.4525 +2.205 +1.94625 +1.6574999 +1.3275 +0.96875 +0.64 +0.37875 +0.2075 +0.13875 +0.1275 +0.11875 +0.10375 +0.09875 +0.085 +0.05875 +0.02125 +0.0 +0.0 +0.00375 +0.01 +0.005 +0.0 +0.005 +0.033749998 +0.106249996 +0.18375 +0.1975 +0.14125 +0.0725 +0.037499998 +0.03375 +0.06375 +0.1225 +0.19 +0.23125002 +0.23375002 +0.22250001 +0.23625 +0.26375002 +0.305 +0.35125 +0.40875 +0.48250002 +0.5725 +0.6650001 +0.74 +0.89125 +0.8925 +0.87375003 +0.8525 +0.84000003 +0.82875 +0.815 +0.79625005 +0.78499997 +0.8087501 +0.89624995 +1.06625 +1.28625 +1.53 +1.78125 +2.04375 +2.31125 +2.60375 +2.89875 +3.1487498 +3.30875 +3.34625 +3.2625003 +3.1025002 +2.9099998 +2.6975002 +2.4937499 +2.28 +2.0162501 +1.6887501 +1.31875 +0.97875 +0.69125 +0.48499998 +0.36124998 +0.29625 +0.245 +0.19125 +0.15375 +0.11125 +0.08125 +0.0425 +0.00375 +0.0112499995 +0.058749996 +0.07875 +0.07 +0.073750004 +0.11749999 +0.21000001 +0.35125002 +0.46125 +0.48125 +0.4125 +0.29749998 +0.2075 +0.19375 +0.26375 +0.35750002 +0.44125003 +0.47375003 +0.45 +0.4 +0.3775 +0.38625002 +0.42125 +0.47625 +0.54625 +0.62500006 +0.71125007 +0.79625 +0.85875 +0.89125 +0.8925 +0.87375003 +0.8525 +0.84000003 +0.82875 +0.815 +0.79625005 +0.78499997 +0.8087501 +0.89624995 +1.06625 +1.28625 +1.53 +1.78125 +2.04375 +2.31125 +2.60375 +2.89875 +3.1487498 +3.30875 +3.34625 +3.2625003 +3.1025002 +2.9099998 +2.6975002 +2.4937499 +2.28 +2.0162501 +1.6887501 +1.31875 +0.97875 +0.69125 +0.48499998 +0.36124998 +0.29625 +0.245 +0.19125 +0.15375 +0.11125 +0.08125 +0.0425 +0.00375 +0.0112499995 +0.058749996 +0.07875 +0.07 +0.073750004 +0.11749999 +0.21000001 +0.35125002 +0.46125 +0.48125 +0.4125 +0.29749998 +0.2075 +0.19375 +0.26375 +0.35750002 +0.44125003 +0.47375003 +0.45 +0.4 +0.3775 +0.38625002 +0.42125 +0.47625 +0.54625 +0.62500006 +0.71125007 +0.79625 +0.85875 +0.985 +0.985 +0.96250004 +0.91875 +0.85875 +0.78499997 +0.7025 +0.625 +0.58124995 +0.59875 +0.68874997 +0.84749997 +1.03375 +1.22 +1.40375 +1.59625 +1.8287501 +2.1275 +2.4725 +2.7925 +3.0200002 +3.11 +3.0812502 +2.9725 +2.82625 +2.6825 +2.54875 +2.4037502 +2.2025 +1.9375001 +1.6212499 +1.30125 +1.0325 +0.85249996 +0.74875003 +0.67875 +0.58875 +0.44625002 +0.28875 +0.1925 +0.13125001 +0.085 +0.073750004 +0.1325 +0.21375 +0.26874998 +0.28625003 +0.31625 +0.4025 +0.545 +0.69875 +0.80875 +0.825 +0.73125 +0.58375 +0.46499997 +0.44625 +0.5225 +0.63 +0.70125 +0.70374995 +0.63874996 +0.5425 +0.47625 +0.46125 +0.49625 +0.5675 +0.65375006 +0.74125004 +0.82750005 +0.90250003 +0.95624995 +0.985 +0.985 +0.96250004 +0.91875 +0.85875 +0.78499997 +0.7025 +0.625 +0.58124995 +0.59875 +0.68874997 +0.84749997 +1.03375 +1.22 +1.40375 +1.59625 +1.8287501 +2.1275 +2.4725 +2.7925 +3.0200002 +3.11 +3.0812502 +2.9725 +2.82625 +2.6825 +2.54875 +2.4037502 +2.2025 +1.9375001 +1.6212499 +1.30125 +1.0325 +0.85249996 +0.74875003 +0.67875 +0.58875 +0.44625002 +0.28875 +0.1925 +0.13125001 +0.085 +0.073750004 +0.1325 +0.21375 +0.26874998 +0.28625003 +0.31625 +0.4025 +0.545 +0.69875 +0.80875 +0.825 +0.73125 +0.58375 +0.46499997 +0.44625 +0.5225 +0.63 +0.70125 +0.70374995 +0.63874996 +0.5425 +0.47625 +0.46125 +0.49625 +0.5675 +0.65375006 +0.74125004 +0.82750005 +0.90250003 +0.95624995 +1.0250001 +1.02875 +1.0075 +0.95125 +0.85625 +0.725 +0.5825 +0.46249998 +0.4 +0.4275 +0.53625005 +0.69 +0.83500004 +0.93875 +1.01 +1.0962499 +1.25875 +1.5337499 +1.89375 +2.24875 +2.5037498 +2.62625 +2.6200001 +2.53375 +2.43375 +2.37 +2.3400002 +2.29875 +2.195 +2.00875 +1.7575 +1.505 +1.3125 +1.20625 +1.17 +1.135 +1.0425 +0.85749996 +0.60125 +0.36999997 +0.23750001 +0.20625 +0.26 +0.3725 +0.48125002 +0.53000003 +0.53875 +0.56374997 +0.65999997 +0.82750005 +1.0062499 +1.1125 +1.1012499 +0.97 +0.77874994 +0.62624997 +0.59625006 +0.6825 +0.80625 +0.88125 +0.8575 +0.74499995 +0.59875 +0.48875 +0.45625 +0.5025 +0.60125 +0.71375 +0.815 +0.89625 +0.9562501 +1.0 +1.0250001 +1.02875 +1.0075 +0.95125 +0.85625 +0.725 +0.5825 +0.46249998 +0.4 +0.4275 +0.53625005 +0.69 +0.83500004 +0.93875 +1.01 +1.0962499 +1.25875 +1.5337499 +1.89375 +2.24875 +2.5037498 +2.62625 +2.6200001 +2.53375 +2.43375 +2.37 +2.3400002 +2.29875 +2.195 +2.00875 +1.7575 +1.505 +1.3125 +1.20625 +1.17 +1.135 +1.0425 +0.85749996 +0.60125 +0.36999997 +0.23750001 +0.20625 +0.26 +0.3725 +0.48125002 +0.53000003 +0.53875 +0.56374997 +0.65999997 +0.82750005 +1.0062499 +1.1125 +1.1012499 +0.97 +0.77874994 +0.62624997 +0.59625006 +0.6825 +0.80625 +0.88125 +0.8575 +0.74499995 +0.59875 +0.48875 +0.45625 +0.5025 +0.60125 +0.71375 +0.815 +0.89625 +0.9562501 +1.0 +1.005 +1.01625 +1.0 +0.9375 +0.81625 +0.6425 +0.45499998 +0.305 +0.24875002 +0.295 +0.4325 +0.59 +0.695 +0.71250004 +0.665 +0.63875 +0.71875 +0.96625 +1.31625 +1.66625 +1.91375 +2.02 +1.9975 +1.91 +1.84875 +1.855 +1.92125 +1.9825 +1.9737501 +1.87125 +1.7049999 +1.55 +1.4675 +1.4762502 +1.5387499 +1.5699999 +1.49 +1.28 +0.9775 +0.68000007 +0.48375002 +0.4375 +0.5125 +0.6325 +0.71375 +0.71999997 +0.68874997 +0.68875 +0.78125 +0.96125 +1.155 +1.2574999 +1.215 +1.04125 +0.80499995 +0.62749994 +0.585 +0.6875 +0.8375 +0.9262501 +0.8875 +0.7375 +0.54625 +0.40625 +0.3725 +0.44375 +0.58 +0.72499996 +0.84000003 +0.91375005 +0.9575 +0.98625004 +1.005 +1.01625 +1.0 +0.9375 +0.81625 +0.6425 +0.45499998 +0.305 +0.24875002 +0.295 +0.4325 +0.59 +0.695 +0.71250004 +0.665 +0.63875 +0.71875 +0.96625 +1.31625 +1.66625 +1.91375 +2.02 +1.9975 +1.91 +1.84875 +1.855 +1.92125 +1.9825 +1.9737501 +1.87125 +1.7049999 +1.55 +1.4675 +1.4762502 +1.5387499 +1.5699999 +1.49 +1.28 +0.9775 +0.68000007 +0.48375002 +0.4375 +0.5125 +0.6325 +0.71375 +0.71999997 +0.68874997 +0.68875 +0.78125 +0.96125 +1.155 +1.2574999 +1.215 +1.04125 +0.80499995 +0.62749994 +0.585 +0.6875 +0.8375 +0.9262501 +0.8875 +0.7375 +0.54625 +0.40625 +0.3725 +0.44375 +0.58 +0.72499996 +0.84000003 +0.91375005 +0.9575 +0.98625004 +0.955 +0.96999997 +0.9624999 +0.89750004 +0.7587501 +0.5575 +0.33875 +0.19874999 +0.16624999 +0.2325 +0.37875003 +0.54499996 +0.62125 +0.56875 +0.43000004 +0.3125 +0.3425 +0.555 +0.88249993 +1.20875 +1.4187499 +1.46875 +1.4075 +1.305 +1.26125 +1.32 +1.4525 +1.58375 +1.64125 +1.6025 +1.5150001 +1.46 +1.4962499 +1.6325 +1.8050001 +1.9087499 +1.8575 +1.635 +1.3075001 +0.98249996 +0.76625 +0.70625 +0.7624999 +0.84375 +0.87125003 +0.815 +0.725 +0.69 +0.76875 +0.9475 +1.14 +1.2249999 +1.15875 +0.94375 +0.67625 +0.485 +0.45 +0.5675 +0.7525 +0.8575 +0.81375 +0.63875 +0.4225 +0.27249998 +0.26625 +0.36125 +0.52625 +0.70624995 +0.835 +0.90250003 +0.9275 +0.93749994 +0.955 +0.96999997 +0.9624999 +0.89750004 +0.7587501 +0.5575 +0.33875 +0.19874999 +0.16624999 +0.2325 +0.37875003 +0.54499996 +0.62125 +0.56875 +0.43000004 +0.3125 +0.3425 +0.555 +0.88249993 +1.20875 +1.4187499 +1.46875 +1.4075 +1.305 +1.26125 +1.32 +1.4525 +1.58375 +1.64125 +1.6025 +1.5150001 +1.46 +1.4962499 +1.6325 +1.8050001 +1.9087499 +1.8575 +1.635 +1.3075001 +0.98249996 +0.76625 +0.70625 +0.7624999 +0.84375 +0.87125003 +0.815 +0.725 +0.69 +0.76875 +0.9475 +1.14 +1.2249999 +1.15875 +0.94375 +0.67625 +0.485 +0.45 +0.5675 +0.7525 +0.8575 +0.81375 +0.63875 +0.4225 +0.27249998 +0.26625 +0.36125 +0.52625 +0.70624995 +0.835 +0.90250003 +0.9275 +0.93749994 +0.915 +0.93375003 +0.92625 +0.8600001 +0.71500003 +0.5 +0.28875 +0.18124999 +0.16874999 +0.23625 +0.39 +0.56624997 +0.62500006 +0.53 +0.33999997 +0.17625 +0.185 +0.3775 +0.68375 +0.97999996 +1.1412501 +1.12875 +1.02125 +0.89375 +0.85375005 +0.93125 +1.09 +1.2425001 +1.3175001 +1.30625 +1.265 +1.2837499 +1.4224999 +1.6662501 +1.93125 +2.1 +2.08375 +1.8725 +1.545 +1.225 +1.0150001 +0.9525 +0.99 +1.03 +0.995 +0.875 +0.73375 +0.66625 +0.73125005 +0.89875 +1.0725 +1.1275 +1.0275 +0.77875 +0.49125 +0.29625002 +0.27624997 +0.41500002 +0.6225 +0.73875004 +0.69375 +0.50874996 +0.28625 +0.18 +0.19874999 +0.30249998 +0.47875 +0.68125 +0.825 +0.89 +0.90374994 +0.90500003 +0.915 +0.93375003 +0.92625 +0.8600001 +0.71500003 +0.5 +0.28875 +0.18124999 +0.16874999 +0.23625 +0.39 +0.56624997 +0.62500006 +0.53 +0.33999997 +0.17625 +0.185 +0.3775 +0.68375 +0.97999996 +1.1412501 +1.12875 +1.02125 +0.89375 +0.85375005 +0.93125 +1.09 +1.2425001 +1.3175001 +1.30625 +1.265 +1.2837499 +1.4224999 +1.6662501 +1.93125 +2.1 +2.08375 +1.8725 +1.545 +1.225 +1.0150001 +0.9525 +0.99 +1.03 +0.995 +0.875 +0.73375 +0.66625 +0.73125005 +0.89875 +1.0725 +1.1275 +1.0275 +0.77875 +0.49125 +0.29625002 +0.27624997 +0.41500002 +0.6225 +0.73875004 +0.69375 +0.50874996 +0.28625 +0.18 +0.19874999 +0.30249998 +0.47875 +0.68125 +0.825 +0.89 +0.90374994 +0.90500003 +0.54 +0.45 +0.31499997 +0.23125 +0.19625 +0.16625 +0.1375 +0.113749996 +0.14125 +0.23625 +0.30625 +0.32999998 +0.34000003 +0.3675 +0.43125 +0.52750003 +0.66625005 +0.8225 +0.98499995 +1.1575 +1.33375 +1.50375 +1.6525 +1.715 +1.67875 +1.56375 +1.40875 +1.24625 +1.09375 +0.95374995 +0.82125 +0.7025 +0.60875 +0.55875003 +0.55125 +0.55625 +0.52875 +0.435 +0.29375 +0.225 +0.1925 +0.16375 +0.135 +0.11125 +0.12875 +0.22625001 +0.30125 +0.32999998 +0.34625 +0.38 +0.44875002 +0.54625005 +0.68874997 +0.84749997 +1.01125 +1.18375 +1.3587499 +1.5287501 +1.66625 +1.71875 +1.6725 +1.5475001 +1.3887501 +1.2237499 +1.0725 +0.93499994 +0.80375 +0.68625 +0.59625006 +0.54999995 +0.5475 +0.55875 +0.54 +0.45 +0.31499997 +0.23125 +0.19625 +0.16625 +0.1375 +0.113749996 +0.14125 +0.23625 +0.30625 +0.32999998 +0.34000003 +0.3675 +0.43125 +0.52750003 +0.66625005 +0.8225 +0.98499995 +1.1575 +1.33375 +1.50375 +1.6525 +1.715 +1.67875 +1.56375 +1.40875 +1.24625 +1.09375 +0.95374995 +0.82125 +0.7025 +0.60875 +0.55875003 +0.55125 +0.55625 +0.52875 +0.435 +0.29375 +0.225 +0.1925 +0.16375 +0.135 +0.11125 +0.12875 +0.22625001 +0.30125 +0.32999998 +0.34625 +0.38 +0.44875002 +0.54625005 +0.68874997 +0.84749997 +1.01125 +1.18375 +1.3587499 +1.5287501 +1.66625 +1.71875 +1.6725 +1.5475001 +1.3887501 +1.2237499 +1.0725 +0.93499994 +0.80375 +0.68625 +0.59625006 +0.54999995 +0.5475 +0.55875 +0.58125 +0.52000004 +0.39749998 +0.27374998 +0.1975 +0.1625 +0.13125 +0.135 +0.20375 +0.29 +0.3425 +0.34875 +0.33625 +0.34249997 +0.38625002 +0.4725 +0.59 +0.74625003 +0.9175 +1.1012499 +1.2925 +1.4875001 +1.6512501 +1.73375 +1.7175001 +1.61375 +1.4562501 +1.285 +1.115 +0.96125 +0.82250005 +0.7075 +0.62125003 +0.58000004 +0.57875 +0.5825 +0.55375004 +0.45999998 +0.32125002 +0.21875 +0.1825 +0.15125 +0.12 +0.097500004 +0.15 +0.2425 +0.31125 +0.34375 +0.3675 +0.40625 +0.48 +0.58375007 +0.72125006 +0.8899999 +1.06625 +1.25125 +1.4399999 +1.6224998 +1.7425001 +1.77125 +1.69625 +1.545 +1.35625 +1.17 +1.0024999 +0.85625005 +0.72499996 +0.615 +0.54125 +0.515 +0.535 +0.57375 +0.58125 +0.52000004 +0.39749998 +0.27374998 +0.1975 +0.1625 +0.13125 +0.135 +0.20375 +0.29 +0.3425 +0.34875 +0.33625 +0.34249997 +0.38625002 +0.4725 +0.59 +0.74625003 +0.9175 +1.1012499 +1.2925 +1.4875001 +1.6512501 +1.73375 +1.7175001 +1.61375 +1.4562501 +1.285 +1.115 +0.96125 +0.82250005 +0.7075 +0.62125003 +0.58000004 +0.57875 +0.5825 +0.55375004 +0.45999998 +0.32125002 +0.21875 +0.1825 +0.15125 +0.12 +0.097500004 +0.15 +0.2425 +0.31125 +0.34375 +0.3675 +0.40625 +0.48 +0.58375007 +0.72125006 +0.8899999 +1.06625 +1.25125 +1.4399999 +1.6224998 +1.7425001 +1.77125 +1.69625 +1.545 +1.35625 +1.17 +1.0024999 +0.85625005 +0.72499996 +0.615 +0.54125 +0.515 +0.535 +0.57375 +0.64875 +0.63375 +0.54125 +0.4 +0.27749997 +0.20500001 +0.19 +0.23625 +0.3275 +0.405 +0.42875004 +0.40249997 +0.35250002 +0.31875 +0.325 +0.38125002 +0.48125 +0.62250006 +0.80375004 +1.00125 +1.2125 +1.42875 +1.6225 +1.7425001 +1.76 +1.68125 +1.53 +1.34375 +1.15375 +0.9812501 +0.83625007 +0.72625 +0.6625 +0.6425 +0.65374994 +0.6625 +0.635 +0.54125 +0.4 +0.26375002 +0.18125 +0.14125 +0.13 +0.16250001 +0.2425 +0.33375 +0.39124998 +0.42125 +0.4475 +0.49500003 +0.57124996 +0.6775 +0.8225 +0.9975 +1.1899999 +1.3924999 +1.605 +1.7825 +1.87625 +1.8599999 +1.73375 +1.5312499 +1.29625 +1.075 +0.8825 +0.72375005 +0.59375 +0.49874997 +0.45 +0.45749998 +0.515 +0.59375006 +0.64875 +0.63375 +0.54125 +0.4 +0.27749997 +0.20500001 +0.19 +0.23625 +0.3275 +0.405 +0.42875004 +0.40249997 +0.35250002 +0.31875 +0.325 +0.38125002 +0.48125 +0.62250006 +0.80375004 +1.00125 +1.2125 +1.42875 +1.6225 +1.7425001 +1.76 +1.68125 +1.53 +1.34375 +1.15375 +0.9812501 +0.83625007 +0.72625 +0.6625 +0.6425 +0.65374994 +0.6625 +0.635 +0.54125 +0.4 +0.26375002 +0.18125 +0.14125 +0.13 +0.16250001 +0.2425 +0.33375 +0.39124998 +0.42125 +0.4475 +0.49500003 +0.57124996 +0.6775 +0.8225 +0.9975 +1.1899999 +1.3924999 +1.605 +1.7825 +1.87625 +1.8599999 +1.73375 +1.5312499 +1.29625 +1.075 +0.8825 +0.72375005 +0.59375 +0.49874997 +0.45 +0.45749998 +0.515 +0.59375006 +0.72625 +0.76 +0.71375 +0.605 +0.47750002 +0.38625 +0.36375 +0.40875 +0.48375 +0.53875 +0.5475 +0.5 +0.41375 +0.33749998 +0.30374998 +0.3225 +0.39499998 +0.525 +0.70374995 +0.90500003 +1.12375 +1.34125 +1.5487499 +1.7075 +1.7687498 +1.7212502 +1.5874999 +1.3987498 +1.1912501 +1.00625 +0.8625001 +0.7725 +0.74125004 +0.7562501 +0.79125 +0.81374997 +0.7925 +0.71 +0.57875 +0.43625003 +0.32750002 +0.28625 +0.32 +0.39875 +0.48999998 +0.56125 +0.60125 +0.62624997 +0.65250003 +0.6975 +0.76625 +0.87375003 +1.02 +1.19 +1.38125 +1.5849998 +1.7924999 +1.95125 +2.0037498 +1.93125 +1.7475 +1.49375 +1.2149999 +0.9625 +0.755 +0.59375 +0.47500002 +0.40124997 +0.38375002 +0.42374998 +0.51625 +0.6312501 +0.72625 +0.76 +0.71375 +0.605 +0.47750002 +0.38625 +0.36375 +0.40875 +0.48375 +0.53875 +0.5475 +0.5 +0.41375 +0.33749998 +0.30374998 +0.3225 +0.39499998 +0.525 +0.70374995 +0.90500003 +1.12375 +1.34125 +1.5487499 +1.7075 +1.7687498 +1.7212502 +1.5874999 +1.3987498 +1.1912501 +1.00625 +0.8625001 +0.7725 +0.74125004 +0.7562501 +0.79125 +0.81374997 +0.7925 +0.71 +0.57875 +0.43625003 +0.32750002 +0.28625 +0.32 +0.39875 +0.48999998 +0.56125 +0.60125 +0.62624997 +0.65250003 +0.6975 +0.76625 +0.87375003 +1.02 +1.19 +1.38125 +1.5849998 +1.7924999 +1.95125 +2.0037498 +1.93125 +1.7475 +1.49375 +1.2149999 +0.9625 +0.755 +0.59375 +0.47500002 +0.40124997 +0.38375002 +0.42374998 +0.51625 +0.6312501 +0.79875 +0.86 +0.84875 +0.77125007 +0.66125 +0.5675 +0.52625 +0.5475 +0.605 +0.65749997 +0.67 +0.63125 +0.5375 +0.43 +0.35125 +0.33750004 +0.3825 +0.49875 +0.65875 +0.845 +1.04625 +1.2512499 +1.4475 +1.615 +1.7187499 +1.71375 +1.6212502 +1.46125 +1.26125 +1.06 +0.90125 +0.84 +0.84875 +0.90875 +0.97999996 +1.02625 +1.01875 +0.95500004 +0.84999996 +0.745 +0.6775 +0.66999996 +0.72125 +0.82625 +0.9125 +0.95500004 +0.95875 +0.9575 +0.97749996 +1.01 +1.08125 +1.1825 +1.30125 +1.4425 +1.6049999 +1.7837498 +1.9487499 +2.06375 +2.06375 +1.9437499 +1.7175 +1.4212501 +1.11375 +0.85375 +0.6525 +0.5075 +0.41375 +0.36875 +0.37875003 +0.44375 +0.5525 +0.68375003 +0.79875 +0.86 +0.84875 +0.77125007 +0.66125 +0.5675 +0.52625 +0.5475 +0.605 +0.65749997 +0.67 +0.63125 +0.5375 +0.43 +0.35125 +0.33750004 +0.3825 +0.49875 +0.65875 +0.845 +1.04625 +1.2512499 +1.4475 +1.615 +1.7187499 +1.71375 +1.6212502 +1.46125 +1.26125 +1.06 +0.90125 +0.84 +0.84875 +0.90875 +0.97999996 +1.02625 +1.01875 +0.95500004 +0.84999996 +0.745 +0.6775 +0.66999996 +0.72125 +0.82625 +0.9125 +0.95500004 +0.95875 +0.9575 +0.97749996 +1.01 +1.08125 +1.1825 +1.30125 +1.4425 +1.6049999 +1.7837498 +1.9487499 +2.06375 +2.06375 +1.9437499 +1.7175 +1.4212501 +1.11375 +0.85375 +0.6525 +0.5075 +0.41375 +0.36875 +0.37875003 +0.44375 +0.5525 +0.68375003 +0.85125 +0.92125005 +0.92625004 +0.86875004 +0.77125 +0.67375 +0.61375 +0.6125 +0.65749997 +0.71625 +0.7475 +0.7375 +0.665 +0.56 +0.46499997 +0.42249998 +0.4475 +0.53499997 +0.665 +0.81625 +0.97999996 +1.15375 +1.33625 +1.505 +1.6287501 +1.67125 +1.6250001 +1.49 +1.30375 +1.1125 +0.96375006 +0.9125001 +0.96000004 +1.0575 +1.165 +1.2375 +1.255 +1.21 +1.135 +1.06875 +1.04125 +1.0699999 +1.1600001 +1.27125 +1.345 +1.36625 +1.35125 +1.32875 +1.3325 +1.36625 +1.4300001 +1.5049999 +1.59 +1.68875 +1.8037499 +1.9287499 +2.03375 +2.0775 +2.02375 +1.8549999 +1.5925 +1.285 +0.9825 +0.74625 +0.575 +0.46625 +0.40875 +0.39499998 +0.42749998 +0.50374997 +0.6125 +0.73875004 +0.85125 +0.92125005 +0.92625004 +0.86875004 +0.77125 +0.67375 +0.61375 +0.6125 +0.65749997 +0.71625 +0.7475 +0.7375 +0.665 +0.56 +0.46499997 +0.42249998 +0.4475 +0.53499997 +0.665 +0.81625 +0.97999996 +1.15375 +1.33625 +1.505 +1.6287501 +1.67125 +1.6250001 +1.49 +1.30375 +1.1125 +0.96375006 +0.9125001 +0.96000004 +1.0575 +1.165 +1.2375 +1.255 +1.21 +1.135 +1.06875 +1.04125 +1.0699999 +1.1600001 +1.27125 +1.345 +1.36625 +1.35125 +1.32875 +1.3325 +1.36625 +1.4300001 +1.5049999 +1.59 +1.68875 +1.8037499 +1.9287499 +2.03375 +2.0775 +2.02375 +1.8549999 +1.5925 +1.285 +0.9825 +0.74625 +0.575 +0.46625 +0.40875 +0.39499998 +0.42749998 +0.50374997 +0.6125 +0.73875004 +0.86125004 +0.92875004 +0.9437501 +0.90375 +0.81624997 +0.7125 +0.63125 +0.605 +0.63500005 +0.6975 +0.75125 +0.77250004 +0.74 +0.65875 +0.56875 +0.52125 +0.52125 +0.58125 +0.67875 +0.79375 +0.91749996 +1.05625 +1.2175 +1.385 +1.5450001 +1.6149999 +1.59125 +1.485 +1.315 +1.1325 +0.99125 +0.96000004 +1.025 +1.14375 +1.27375 +1.37125 +1.4074999 +1.3912499 +1.34375 +1.30875 +1.3175 +1.3712499 +1.4675 +1.58 +1.6437501 +1.64625 +1.615 +1.5912501 +1.59375 +1.60875 +1.6662501 +1.7300001 +1.79125 +1.8499999 +1.9124999 +1.9687501 +2.0 +1.9762499 +1.85375 +1.64625 +1.37125 +1.07625 +0.81874996 +0.62875 +0.50124997 +0.4325 +0.41125 +0.4275 +0.47750002 +0.55875 +0.65625006 +0.7625 +0.86125004 +0.92875004 +0.9437501 +0.90375 +0.81624997 +0.7125 +0.63125 +0.605 +0.63500005 +0.6975 +0.75125 +0.77250004 +0.74 +0.65875 +0.56875 +0.52125 +0.52125 +0.58125 +0.67875 +0.79375 +0.91749996 +1.05625 +1.2175 +1.385 +1.5450001 +1.6149999 +1.59125 +1.485 +1.315 +1.1325 +0.99125 +0.96000004 +1.025 +1.14375 +1.27375 +1.37125 +1.4074999 +1.3912499 +1.34375 +1.30875 +1.3175 +1.3712499 +1.4675 +1.58 +1.6437501 +1.64625 +1.615 +1.5912501 +1.59375 +1.60875 +1.6662501 +1.7300001 +1.79125 +1.8499999 +1.9124999 +1.9687501 +2.0 +1.9762499 +1.85375 +1.64625 +1.37125 +1.07625 +0.81874996 +0.62875 +0.50124997 +0.4325 +0.41125 +0.4275 +0.47750002 +0.55875 +0.65625006 +0.7625 +0.815 +0.8825 +0.91625005 +0.89750004 +0.825 +0.71374995 +0.61 +0.55125 +0.55375 +0.6075 +0.68 +0.72375 +0.72124994 +0.67625 +0.62 +0.58125 +0.57374996 +0.59625 +0.66249996 +0.75124997 +0.84875 +0.96625 +1.11375 +1.3175001 +1.49125 +1.5849999 +1.5699999 +1.45875 +1.30125 +1.11875 +0.99875003 +0.96624994 +1.02 +1.1325 +1.2662499 +1.37625 +1.43625 +1.445 +1.4300001 +1.42375 +1.4525001 +1.5224999 +1.6125 +1.6925001 +1.74375 +1.7325001 +1.7112501 +1.6925001 +1.6899999 +1.7025 +1.725 +1.79125 +1.8450001 +1.8787501 +1.8950001 +1.89625 +1.8725 +1.77125 +1.58875 +1.34375 +1.075 +0.825 +0.6275 +0.48624998 +0.40124997 +0.36625 +0.37124997 +0.40875 +0.47375 +0.555 +0.64250004 +0.73249996 +0.815 +0.8825 +0.91625005 +0.89750004 +0.825 +0.71374995 +0.61 +0.55125 +0.55375 +0.6075 +0.68 +0.72375 +0.72124994 +0.67625 +0.62 +0.58125 +0.57374996 +0.59625 +0.66249996 +0.75124997 +0.84875 +0.96625 +1.11375 +1.3175001 +1.49125 +1.5849999 +1.5699999 +1.45875 +1.30125 +1.11875 +0.99875003 +0.96624994 +1.02 +1.1325 +1.2662499 +1.37625 +1.43625 +1.445 +1.4300001 +1.42375 +1.4525001 +1.5224999 +1.6125 +1.6925001 +1.74375 +1.7325001 +1.7112501 +1.6925001 +1.6899999 +1.7025 +1.725 +1.79125 +1.8450001 +1.8787501 +1.8950001 +1.89625 +1.8725 +1.77125 +1.58875 +1.34375 +1.075 +0.825 +0.6275 +0.48624998 +0.40124997 +0.36625 +0.37124997 +0.40875 +0.47375 +0.555 +0.64250004 +0.73249996 +0.71625 +0.79249996 +0.84875005 +0.86 +0.80999994 +0.705 +0.58124995 +0.4825 +0.44624996 +0.47625 +0.5475 +0.61125004 +0.6425 +0.63124996 +0.59875005 +0.57375 +0.57 +0.58875 +0.625 +0.68375003 +0.7775 +0.90375 +1.08625 +1.285 +1.46 +1.5600001 +1.5562501 +1.45375 +1.2912499 +1.12125 +0.99125 +0.93375003 +0.9575 +1.04125 +1.1624999 +1.2737501 +1.35625 +1.3987501 +1.4225001 +1.4475 +1.49875 +1.575 +1.6625 +1.73125 +1.76125 +1.75125 +1.7187501 +1.68625 +1.675 +1.6875 +1.715 +1.745 +1.7825 +1.80125 +1.80125 +1.7650001 +1.66875 +1.5 +1.2725 +1.01875 +0.77375 +0.56875 +0.42 +0.32000002 +0.26625 +0.2525 +0.26749998 +0.31500003 +0.3875 +0.47124997 +0.555 +0.63625 +0.71625 +0.79249996 +0.84875005 +0.86 +0.80999994 +0.705 +0.58124995 +0.4825 +0.44624996 +0.47625 +0.5475 +0.61125004 +0.6425 +0.63124996 +0.59875005 +0.57375 +0.57 +0.58875 +0.625 +0.68375003 +0.7775 +0.90375 +1.08625 +1.285 +1.46 +1.5600001 +1.5562501 +1.45375 +1.2912499 +1.12125 +0.99125 +0.93375003 +0.9575 +1.04125 +1.1624999 +1.2737501 +1.35625 +1.3987501 +1.4225001 +1.4475 +1.49875 +1.575 +1.6625 +1.73125 +1.76125 +1.75125 +1.7187501 +1.68625 +1.675 +1.6875 +1.715 +1.745 +1.7825 +1.80125 +1.80125 +1.7650001 +1.66875 +1.5 +1.2725 +1.01875 +0.77375 +0.56875 +0.42 +0.32000002 +0.26625 +0.2525 +0.26749998 +0.31500003 +0.3875 +0.47124997 +0.555 +0.63625 +0.5750001 +0.66125 +0.74125 +0.7899999 +0.77125 +0.68375003 +0.54999995 +0.42249998 +0.34625 +0.3425 +0.4 +0.4725 +0.525 +0.54125 +0.53125 +0.5175 +0.51875 +0.5375 +0.5775 +0.64125 +0.7375 +0.87375 +1.0475 +1.23875 +1.39875 +1.48875 +1.4875001 +1.3974999 +1.25 +1.09125 +0.95875 +0.88375 +0.87375 +0.92625 +1.02375 +1.13625 +1.2437499 +1.3337499 +1.40875 +1.4787501 +1.5587499 +1.6525 +1.7437501 +1.815 +1.84375 +1.82875 +1.78625 +1.7362499 +1.7025 +1.6949999 +1.70375 +1.7212499 +1.7362499 +1.7324998 +1.69 +1.5912501 +1.42875 +1.20875 +0.95250005 +0.7025 +0.49249998 +0.33375 +0.22874999 +0.18625002 +0.16500002 +0.16125001 +0.16874999 +0.19750002 +0.25375 +0.3325 +0.41499996 +0.49499997 +0.5750001 +0.66125 +0.74125 +0.7899999 +0.77125 +0.68375003 +0.54999995 +0.42249998 +0.34625 +0.3425 +0.4 +0.4725 +0.525 +0.54125 +0.53125 +0.5175 +0.51875 +0.5375 +0.5775 +0.64125 +0.7375 +0.87375 +1.0475 +1.23875 +1.39875 +1.48875 +1.4875001 +1.3974999 +1.25 +1.09125 +0.95875 +0.88375 +0.87375 +0.92625 +1.02375 +1.13625 +1.2437499 +1.3337499 +1.40875 +1.4787501 +1.5587499 +1.6525 +1.7437501 +1.815 +1.84375 +1.82875 +1.78625 +1.7362499 +1.7025 +1.6949999 +1.70375 +1.7212499 +1.7362499 +1.7324998 +1.69 +1.5912501 +1.42875 +1.20875 +0.95250005 +0.7025 +0.49249998 +0.33375 +0.22874999 +0.18625002 +0.16500002 +0.16125001 +0.16874999 +0.19750002 +0.25375 +0.3325 +0.41499996 +0.49499997 +0.42125002 +0.5 +0.59874994 +0.675 +0.6925 +0.63250005 +0.5075 +0.36875004 +0.27 +0.24750002 +0.28 +0.35375002 +0.42125002 +0.46 +0.46625 +0.45874998 +0.45750004 +0.47125 +0.50625 +0.57 +0.66499996 +0.79499996 +0.95374995 +1.1175 +1.25 +1.3199999 +1.3125 +1.24 +1.13 +1.00875 +0.90749997 +0.84 +0.81875 +0.84999996 +0.9275 +1.04125 +1.1775 +1.3225 +1.46 +1.595 +1.7237499 +1.85 +1.965 +2.0525 +2.0987499 +2.09375 +2.05 +1.985 +1.9125 +1.85375 +1.8112501 +1.77625 +1.74125 +1.685 +1.58375 +1.42375 +1.2075001 +0.94499993 +0.67875 +0.445 +0.27 +0.1725 +0.14 +0.15 +0.16625 +0.16625 +0.1575 +0.155 +0.17999999 +0.22999999 +0.295 +0.36124998 +0.42125002 +0.5 +0.59874994 +0.675 +0.6925 +0.63250005 +0.5075 +0.36875004 +0.27 +0.24750002 +0.28 +0.35375002 +0.42125002 +0.46 +0.46625 +0.45874998 +0.45750004 +0.47125 +0.50625 +0.57 +0.66499996 +0.79499996 +0.95374995 +1.1175 +1.25 +1.3199999 +1.3125 +1.24 +1.13 +1.00875 +0.90749997 +0.84 +0.81875 +0.84999996 +0.9275 +1.04125 +1.1775 +1.3225 +1.46 +1.595 +1.7237499 +1.85 +1.965 +2.0525 +2.0987499 +2.09375 +2.05 +1.985 +1.9125 +1.85375 +1.8112501 +1.77625 +1.74125 +1.685 +1.58375 +1.42375 +1.2075001 +0.94499993 +0.67875 +0.445 +0.27 +0.1725 +0.14 +0.15 +0.16625 +0.16625 +0.1575 +0.155 +0.17999999 +0.22999999 +0.295 +0.36124998 +0.31625 +0.34875 +0.42625004 +0.51875 +0.56625 +0.53999996 +0.44375002 +0.32 +0.23750001 +0.2025 +0.21999998 +0.28875 +0.37 +0.42375 +0.445 +0.43875003 +0.42624998 +0.41875 +0.4325 +0.4725 +0.54499996 +0.65125 +0.77874994 +0.90500003 +0.99875 +1.0412501 +1.03125 +1.005 +0.9625 +0.9 +0.84125 +0.8175 +0.815 +0.83874995 +0.90500003 +1.01875 +1.17875 +1.37375 +1.5799999 +1.78375 +1.97625 +2.15125 +2.30875 +2.4575002 +2.5525 +2.5662503 +2.5149999 +2.435 +2.3200002 +2.19 +2.06 +1.9375 +1.82 +1.68875 +1.52 +1.30125 +1.03875 +0.755 +0.48999998 +0.27875 +0.1675 +0.13125 +0.14125 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.2 +0.24875 +0.29125 +0.31625 +0.34875 +0.42625004 +0.51875 +0.56625 +0.53999996 +0.44375002 +0.32 +0.23750001 +0.2025 +0.21999998 +0.28875 +0.37 +0.42375 +0.445 +0.43875003 +0.42624998 +0.41875 +0.4325 +0.4725 +0.54499996 +0.65125 +0.77874994 +0.90500003 +0.99875 +1.0412501 +1.03125 +1.005 +0.9625 +0.9 +0.84125 +0.8175 +0.815 +0.83874995 +0.90500003 +1.01875 +1.17875 +1.37375 +1.5799999 +1.78375 +1.97625 +2.15125 +2.30875 +2.4575002 +2.5525 +2.5662503 +2.5149999 +2.435 +2.3200002 +2.19 +2.06 +1.9375 +1.82 +1.68875 +1.52 +1.30125 +1.03875 +0.755 +0.48999998 +0.27875 +0.1675 +0.13125 +0.14125 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.2 +0.24875 +0.29125 +0.26 +0.24875 +0.26375 +0.34 +0.41125003 +0.42125002 +0.3675 +0.2875 +0.23500001 +0.20124999 +0.21 +0.275 +0.37125 +0.44500002 +0.47500002 +0.47000003 +0.4375 +0.39499998 +0.365 +0.37374997 +0.43875 +0.5 +0.56 +0.63875 +0.69375 +0.71875 +0.74375004 +0.76 +0.77624995 +0.79375 +0.8125 +0.83 +0.84999996 +0.87875 +0.9325 +1.03625 +1.2075 +1.4275 +1.6850001 +1.94875 +2.1975 +2.4375 +2.6699998 +2.8737502 +3.02125 +3.0875 +3.0562499 +2.93625 +2.77875 +2.58 +2.36625 +2.1775 +1.9762499 +1.735 +1.49625 +1.24 +0.95500004 +0.66625 +0.41125 +0.24625 +0.16625 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.20375 +0.24375 +0.26 +0.24875 +0.26375 +0.34 +0.41125003 +0.42125002 +0.3675 +0.2875 +0.23500001 +0.20124999 +0.21 +0.275 +0.37125 +0.44500002 +0.47500002 +0.47000003 +0.4375 +0.39499998 +0.365 +0.37374997 +0.43875 +0.5 +0.56 +0.63875 +0.69375 +0.71875 +0.74375004 +0.76 +0.77624995 +0.79375 +0.8125 +0.83 +0.84999996 +0.87875 +0.9325 +1.03625 +1.2075 +1.4275 +1.6850001 +1.94875 +2.1975 +2.4375 +2.6699998 +2.8737502 +3.02125 +3.0875 +3.0562499 +2.93625 +2.77875 +2.58 +2.36625 +2.1775 +1.9762499 +1.735 +1.49625 +1.24 +0.95500004 +0.66625 +0.41125 +0.24625 +0.16625 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.20375 +0.24375 +0.20875 +0.1925 +0.1625 +0.1825 +0.26125002 +0.30874997 +0.29999998 +0.2625 +0.22875002 +0.20500001 +0.21499999 +0.28875 +0.3975 +0.4925 +0.545 +0.54 +0.485 +0.40249997 +0.3175 +0.3 +0.3275 +0.35625 +0.38625002 +0.41625 +0.44375002 +0.46250004 +0.48125002 +0.51625 +0.57875 +0.66625 +0.76625 +0.85499996 +0.91249996 +0.94625 +0.98749995 +1.07125 +1.22125 +1.44 +1.70375 +1.9837499 +2.2599998 +2.52625 +2.7800002 +3.015 +3.20875 +3.32875 +3.3462498 +3.2512498 +3.06875 +2.8325 +2.5774999 +2.3225 +2.0600002 +1.77125 +1.4849999 +1.2262499 +0.95000005 +0.6787499 +0.45125 +0.2975 +0.21125 +0.17 +0.16875 +0.18 +0.1825 +0.16375 +0.13 +0.09875 +0.09 +0.12 +0.1575 +0.1925 +0.20875 +0.1925 +0.1625 +0.1825 +0.26125002 +0.30874997 +0.29999998 +0.2625 +0.22875002 +0.20500001 +0.21499999 +0.28875 +0.3975 +0.4925 +0.545 +0.54 +0.485 +0.40249997 +0.3175 +0.3 +0.3275 +0.35625 +0.38625002 +0.41625 +0.44375002 +0.46250004 +0.48125002 +0.51625 +0.57875 +0.66625 +0.76625 +0.85499996 +0.91249996 +0.94625 +0.98749995 +1.07125 +1.22125 +1.44 +1.70375 +1.9837499 +2.2599998 +2.52625 +2.7800002 +3.015 +3.20875 +3.32875 +3.3462498 +3.2512498 +3.06875 +2.8325 +2.5774999 +2.3225 +2.0600002 +1.77125 +1.4849999 +1.2262499 +0.95000005 +0.6787499 +0.45125 +0.2975 +0.21125 +0.17 +0.16875 +0.18 +0.1825 +0.16375 +0.13 +0.09875 +0.09 +0.12 +0.1575 +0.1925 +0.17125 +0.15375 +0.1125 +0.09125 +0.1525 +0.23 +0.265 +0.25625 +0.22875002 +0.20750001 +0.22375003 +0.30125 +0.4225 +0.5425 +0.62 +0.6275 +0.55875 +0.43625 +0.3 +0.22875 +0.22625001 +0.23625001 +0.25625 +0.2825 +0.29625 +0.29500002 +0.30125 +0.335 +0.4125 +0.53999996 +0.68875 +0.81874996 +0.90375 +0.93249995 +0.9425 +0.98125005 +1.085 +1.26875 +1.5062501 +1.76375 +2.01875 +2.2575 +2.4924998 +2.72375 +2.93625 +3.0962498 +3.1649997 +3.115 +2.96375 +2.735 +2.47375 +2.2125 +1.9549999 +1.6825001 +1.4399999 +1.22625 +0.99875 +0.765 +0.555 +0.39749998 +0.29125002 +0.22500001 +0.19000001 +0.1775 +0.16875 +0.14125 +0.1 +0.0625 +0.066250004 +0.11 +0.1475 +0.15875 +0.17125 +0.15375 +0.1125 +0.09125 +0.1525 +0.23 +0.265 +0.25625 +0.22875002 +0.20750001 +0.22375003 +0.30125 +0.4225 +0.5425 +0.62 +0.6275 +0.55875 +0.43625 +0.3 +0.22875 +0.22625001 +0.23625001 +0.25625 +0.2825 +0.29625 +0.29500002 +0.30125 +0.335 +0.4125 +0.53999996 +0.68875 +0.81874996 +0.90375 +0.93249995 +0.9425 +0.98125005 +1.085 +1.26875 +1.5062501 +1.76375 +2.01875 +2.2575 +2.4924998 +2.72375 +2.93625 +3.0962498 +3.1649997 +3.115 +2.96375 +2.735 +2.47375 +2.2125 +1.9549999 +1.6825001 +1.4399999 +1.22625 +0.99875 +0.765 +0.555 +0.39749998 +0.29125002 +0.22500001 +0.19000001 +0.1775 +0.16875 +0.14125 +0.1 +0.0625 +0.066250004 +0.11 +0.1475 +0.15875 +0.155 +0.13625 +0.09 +0.055 +0.10125 +0.19749999 +0.26375 +0.27625 +0.24625 +0.2125 +0.2225 +0.29749998 +0.43 +0.58124995 +0.69250005 +0.71999997 +0.6475 +0.49499997 +0.31875002 +0.18125 +0.16 +0.17375001 +0.23375002 +0.305 +0.32625 +0.2925 +0.24125 +0.25125003 +0.3175 +0.44625 +0.635 +0.79625 +0.87375 +0.86 +0.8 +0.775 +0.82625 +0.95624995 +1.15625 +1.3874999 +1.5924999 +1.7587498 +1.9024999 +2.05125 +2.24125 +2.415 +2.52 +2.55875 +2.48 +2.2975 +2.05125 +1.82125 +1.63125 +1.44375 +1.32375 +1.2000002 +1.05 +0.86999995 +0.68250006 +0.52 +0.39874998 +0.31625 +0.25500003 +0.2 +0.15375 +0.11875 +0.0725 +0.049999997 +0.08375 +0.1375 +0.16375001 +0.15625001 +0.155 +0.13625 +0.09 +0.055 +0.10125 +0.19749999 +0.26375 +0.27625 +0.24625 +0.2125 +0.2225 +0.29749998 +0.43 +0.58124995 +0.69250005 +0.71999997 +0.6475 +0.49499997 +0.31875002 +0.18125 +0.16 +0.17375001 +0.23375002 +0.305 +0.32625 +0.2925 +0.24125 +0.25125003 +0.3175 +0.44625 +0.635 +0.79625 +0.87375 +0.86 +0.8 +0.775 +0.82625 +0.95624995 +1.15625 +1.3874999 +1.5924999 +1.7587498 +1.9024999 +2.05125 +2.24125 +2.415 +2.52 +2.55875 +2.48 +2.2975 +2.05125 +1.82125 +1.63125 +1.44375 +1.32375 +1.2000002 +1.05 +0.86999995 +0.68250006 +0.52 +0.39874998 +0.31625 +0.25500003 +0.2 +0.15375 +0.11875 +0.0725 +0.049999997 +0.08375 +0.1375 +0.16375001 +0.15625001 +0.155 +0.1325 +0.0825 +0.04625 +0.08874999 +0.19375001 +0.2825 +0.31 +0.2775 +0.225 +0.21749999 +0.27499998 +0.41999996 +0.605 +0.75875 +0.8137499 +0.74249995 +0.56999993 +0.36374998 +0.205 +0.15375002 +0.21 +0.32750002 +0.42874998 +0.46499997 +0.4225 +0.34624997 +0.30125 +0.34125 +0.46625 +0.62874997 +0.7575 +0.79875 +0.74625003 +0.64250004 +0.56375 +0.56625 +0.665 +0.8249999 +0.99 +1.1075 +1.1725 +1.2175001 +1.28125 +1.39625 +1.55125 +1.6962501 +1.7775 +1.7500001 +1.6225002 +1.4437499 +1.2725 +1.1637499 +1.1225 +1.1225 +1.11 +1.04875 +0.93249995 +0.78 +0.62874997 +0.5075 +0.42 +0.35125 +0.2825 +0.205 +0.13374999 +0.0875 +0.07625 +0.10625 +0.16000001 +0.18750001 +0.17125 +0.155 +0.1325 +0.0825 +0.04625 +0.08874999 +0.19375001 +0.2825 +0.31 +0.2775 +0.225 +0.21749999 +0.27499998 +0.41999996 +0.605 +0.75875 +0.8137499 +0.74249995 +0.56999993 +0.36374998 +0.205 +0.15375002 +0.21 +0.32750002 +0.42874998 +0.46499997 +0.4225 +0.34624997 +0.30125 +0.34125 +0.46625 +0.62874997 +0.7575 +0.79875 +0.74625003 +0.64250004 +0.56375 +0.56625 +0.665 +0.8249999 +0.99 +1.1075 +1.1725 +1.2175001 +1.28125 +1.39625 +1.55125 +1.6962501 +1.7775 +1.7500001 +1.6225002 +1.4437499 +1.2725 +1.1637499 +1.1225 +1.1225 +1.11 +1.04875 +0.93249995 +0.78 +0.62874997 +0.5075 +0.42 +0.35125 +0.2825 +0.205 +0.13374999 +0.0875 +0.07625 +0.10625 +0.16000001 +0.18750001 +0.17125 +0.16625 +0.1325 +0.08125 +0.045 +0.081250004 +0.1875 +0.2925 +0.3275 +0.28875 +0.225 +0.20625 +0.2625 +0.40249994 +0.6225 +0.81625 +0.89750004 +0.825 +0.6325 +0.40375 +0.2375 +0.19875 +0.28625 +0.43875 +0.56875 +0.60875 +0.55625 +0.45999998 +0.39 +0.39999998 +0.49374998 +0.61875 +0.70624995 +0.6999999 +0.60875 +0.47875002 +0.38875002 +0.385 +0.4675 +0.59250003 +0.69500005 +0.7225001 +0.67999995 +0.61125 +0.58375 +0.6337501 +0.75750005 +0.90125 +1.0012499 +1.00875 +0.92375 +0.79875004 +0.69875 +0.6775 +0.74249995 +0.85125 +0.94500005 +0.97124994 +0.91624993 +0.80124986 +0.67375 +0.57250005 +0.50625 +0.46375003 +0.41125 +0.33249998 +0.24125001 +0.16375001 +0.12875 +0.14625001 +0.18749999 +0.21749999 +0.2 +0.16625 +0.1325 +0.08125 +0.045 +0.081250004 +0.1875 +0.2925 +0.3275 +0.28875 +0.225 +0.20625 +0.2625 +0.40249994 +0.6225 +0.81625 +0.89750004 +0.825 +0.6325 +0.40375 +0.2375 +0.19875 +0.28625 +0.43875 +0.56875 +0.60875 +0.55625 +0.45999998 +0.39 +0.39999998 +0.49374998 +0.61875 +0.70624995 +0.6999999 +0.60875 +0.47875002 +0.38875002 +0.385 +0.4675 +0.59250003 +0.69500005 +0.7225001 +0.67999995 +0.61125 +0.58375 +0.6337501 +0.75750005 +0.90125 +1.0012499 +1.00875 +0.92375 +0.79875004 +0.69875 +0.6775 +0.74249995 +0.85125 +0.94500005 +0.97124994 +0.91624993 +0.80124986 +0.67375 +0.57250005 +0.50625 +0.46375003 +0.41125 +0.33249998 +0.24125001 +0.16375001 +0.12875 +0.14625001 +0.18749999 +0.21749999 +0.2 +0.2 +0.13624999 +0.0825 +0.044999998 +0.0575 +0.16 +0.275 +0.31874996 +0.27874997 +0.21375 +0.1975 +0.2525 +0.38999996 +0.63 +0.8550001 +0.95000005 +0.87125003 +0.66 +0.4125 +0.2425 +0.2175 +0.33 +0.50124997 +0.63874996 +0.675 +0.61125004 +0.50375 +0.42624998 +0.42874998 +0.505 +0.6 +0.6412501 +0.5925 +0.47249997 +0.33999997 +0.2625 +0.285 +0.38375002 +0.50125 +0.56 +0.515 +0.38124996 +0.23250002 +0.15625 +0.1525 +0.21624999 +0.34874997 +0.45 +0.46250004 +0.39 +0.28875 +0.23125 +0.2525 +0.38125002 +0.5675 +0.73749995 +0.82875 +0.82374996 +0.74625003 +0.65 +0.5825 +0.55375 +0.54875 +0.52625 +0.46249998 +0.35999998 +0.25875 +0.195 +0.19249998 +0.23124999 +0.2675 +0.2575 +0.2 +0.13624999 +0.0825 +0.044999998 +0.0575 +0.16 +0.275 +0.31874996 +0.27874997 +0.21375 +0.1975 +0.2525 +0.38999996 +0.63 +0.8550001 +0.95000005 +0.87125003 +0.66 +0.4125 +0.2425 +0.2175 +0.33 +0.50124997 +0.63874996 +0.675 +0.61125004 +0.50375 +0.42624998 +0.42874998 +0.505 +0.6 +0.6412501 +0.5925 +0.47249997 +0.33999997 +0.2625 +0.285 +0.38375002 +0.50125 +0.56 +0.515 +0.38124996 +0.23250002 +0.15625 +0.1525 +0.21624999 +0.34874997 +0.45 +0.46250004 +0.39 +0.28875 +0.23125 +0.2525 +0.38125002 +0.5675 +0.73749995 +0.82875 +0.82374996 +0.74625003 +0.65 +0.5825 +0.55375 +0.54875 +0.52625 +0.46249998 +0.35999998 +0.25875 +0.195 +0.19249998 +0.23124999 +0.2675 +0.2575 +0.27374998 +0.16624999 +0.09 +0.04625 +0.04625 +0.135 +0.24875 +0.29875 +0.25875 +0.19749999 +0.18875 +0.23625 +0.37374997 +0.62125003 +0.8525 +0.94750005 +0.85749996 +0.62874997 +0.37124997 +0.20375 +0.22749999 +0.335 +0.49125 +0.62000006 +0.6387501 +0.56375 +0.45749998 +0.42124996 +0.4425 +0.5025 +0.58125 +0.58875006 +0.50375 +0.35999998 +0.23 +0.19874999 +0.2725 +0.39625 +0.50874996 +0.54875 +0.46124998 +0.275 +0.09125 +0.00375 +0.0 +0.021249998 +0.106249996 +0.20249997 +0.2075 +0.12875 +0.035 +0.00375 +0.03625 +0.12625 +0.34 +0.54375 +0.67125 +0.70000005 +0.65500003 +0.59375 +0.56125003 +0.57125 +0.60249996 +0.60749996 +0.555 +0.4475 +0.33125 +0.255 +0.2475 +0.29500002 +0.34625 +0.3475 +0.27374998 +0.16624999 +0.09 +0.04625 +0.04625 +0.135 +0.24875 +0.29875 +0.25875 +0.19749999 +0.18875 +0.23625 +0.37374997 +0.62125003 +0.8525 +0.94750005 +0.85749996 +0.62874997 +0.37124997 +0.20375 +0.22749999 +0.335 +0.49125 +0.62000006 +0.6387501 +0.56375 +0.45749998 +0.42124996 +0.4425 +0.5025 +0.58125 +0.58875006 +0.50375 +0.35999998 +0.23 +0.19874999 +0.2725 +0.39625 +0.50874996 +0.54875 +0.46124998 +0.275 +0.09125 +0.00375 +0.0 +0.021249998 +0.106249996 +0.20249997 +0.2075 +0.12875 +0.035 +0.00375 +0.03625 +0.12625 +0.34 +0.54375 +0.67125 +0.70000005 +0.65500003 +0.59375 +0.56125003 +0.57125 +0.60249996 +0.60749996 +0.555 +0.4475 +0.33125 +0.255 +0.2475 +0.29500002 +0.34625 +0.3475 +0.40375 +0.26375 +0.13749999 +0.0725 +0.06999999 +0.14625001 +0.255 +0.30625 +0.2675 +0.19499998 +0.18 +0.2125 +0.35625002 +0.59624994 +0.815 +0.89125 +0.78625 +0.54625 +0.2925 +0.17250001 +0.21625 +0.33875 +0.4725 +0.5525 +0.5525 +0.49375004 +0.44124997 +0.44125 +0.5 +0.58 +0.61999995 +0.5775 +0.45625 +0.3025 +0.19624999 +0.19375 +0.29749998 +0.45125002 +0.57124996 +0.58500004 +0.47625 +0.28125 +0.1 +0.01875 +0.02875 +0.08625 +0.17750001 +0.235 +0.2125 +0.12125 +0.04 +0.01 +0.0175 +0.073750004 +0.22874999 +0.42875 +0.56249994 +0.605 +0.58125 +0.54375 +0.53875 +0.575 +0.62375 +0.64 +0.58875 +0.48000002 +0.36374998 +0.29125 +0.29999998 +0.37375 +0.45375 +0.475 +0.40375 +0.26375 +0.13749999 +0.0725 +0.06999999 +0.14625001 +0.255 +0.30625 +0.2675 +0.19499998 +0.18 +0.2125 +0.35625002 +0.59624994 +0.815 +0.89125 +0.78625 +0.54625 +0.2925 +0.17250001 +0.21625 +0.33875 +0.4725 +0.5525 +0.5525 +0.49375004 +0.44124997 +0.44125 +0.5 +0.58 +0.61999995 +0.5775 +0.45625 +0.3025 +0.19624999 +0.19375 +0.29749998 +0.45125002 +0.57124996 +0.58500004 +0.47625 +0.28125 +0.1 +0.01875 +0.02875 +0.08625 +0.17750001 +0.235 +0.2125 +0.12125 +0.04 +0.01 +0.0175 +0.073750004 +0.22874999 +0.42875 +0.56249994 +0.605 +0.58125 +0.54375 +0.53875 +0.575 +0.62375 +0.64 +0.58875 +0.48000002 +0.36374998 +0.29125 +0.29999998 +0.37375 +0.45375 +0.475 +0.5775 +0.43375 +0.275 +0.17375 +0.16250001 +0.23875003 +0.33875 +0.38125 +0.3375 +0.24875 +0.1925 +0.22 +0.36249998 +0.5825 +0.76625 +0.81250006 +0.68999994 +0.45624998 +0.22125001 +0.13625 +0.20375 +0.33625 +0.465 +0.52750003 +0.51125 +0.45875 +0.43124998 +0.4675 +0.565 +0.6675 +0.705 +0.63750005 +0.48 +0.29749998 +0.17750001 +0.17375 +0.28375 +0.44625 +0.57375 +0.6 +0.50874996 +0.3475 +0.18875 +0.10625 +0.1275 +0.22749999 +0.3425 +0.40625 +0.38625 +0.29500002 +0.18375 +0.105 +0.0925 +0.1375 +0.25625 +0.425 +0.54125005 +0.58125 +0.5625 +0.5325 +0.53375 +0.56875 +0.60875 +0.615 +0.5575 +0.44749996 +0.33999997 +0.29250002 +0.3375 +0.45375 +0.57625 +0.63374996 +0.5775 +0.43375 +0.275 +0.17375 +0.16250001 +0.23875003 +0.33875 +0.38125 +0.3375 +0.24875 +0.1925 +0.22 +0.36249998 +0.5825 +0.76625 +0.81250006 +0.68999994 +0.45624998 +0.22125001 +0.13625 +0.20375 +0.33625 +0.465 +0.52750003 +0.51125 +0.45875 +0.43124998 +0.4675 +0.565 +0.6675 +0.705 +0.63750005 +0.48 +0.29749998 +0.17750001 +0.17375 +0.28375 +0.44625 +0.57375 +0.6 +0.50874996 +0.3475 +0.18875 +0.10625 +0.1275 +0.22749999 +0.3425 +0.40625 +0.38625 +0.29500002 +0.18375 +0.105 +0.0925 +0.1375 +0.25625 +0.425 +0.54125005 +0.58125 +0.5625 +0.5325 +0.53375 +0.56875 +0.60875 +0.615 +0.5575 +0.44749996 +0.33999997 +0.29250002 +0.3375 +0.45375 +0.57625 +0.63374996 +0.7675 +0.64500004 +0.48749998 +0.3775 +0.36125 +0.425 +0.5075 +0.53999996 +0.48999998 +0.39 +0.30875 +0.31875002 +0.43875 +0.61375 +0.7525 +0.7675 +0.63875 +0.4225 +0.22375001 +0.14875 +0.23125 +0.37 +0.48749998 +0.55125 +0.525 +0.4575 +0.4475 +0.51 +0.62875 +0.73625004 +0.76125 +0.67125 +0.49625 +0.2975 +0.15375 +0.12625 +0.21875 +0.36624998 +0.49374998 +0.5375 +0.47500002 +0.3575 +0.24999999 +0.20875 +0.25375 +0.35999998 +0.47625002 +0.54875004 +0.56875 +0.50624996 +0.39375 +0.31125003 +0.27499998 +0.28750002 +0.38250002 +0.50624996 +0.5925 +0.61375 +0.5875 +0.55125 +0.53625 +0.545 +0.56125003 +0.54124993 +0.4675 +0.36249998 +0.27375 +0.26375002 +0.35500002 +0.5225 +0.69249994 +0.78999996 +0.7675 +0.64500004 +0.48749998 +0.3775 +0.36125 +0.425 +0.5075 +0.53999996 +0.48999998 +0.39 +0.30875 +0.31875002 +0.43875 +0.61375 +0.7525 +0.7675 +0.63875 +0.4225 +0.22375001 +0.14875 +0.23125 +0.37 +0.48749998 +0.55125 +0.525 +0.4575 +0.4475 +0.51 +0.62875 +0.73625004 +0.76125 +0.67125 +0.49625 +0.2975 +0.15375 +0.12625 +0.21875 +0.36624998 +0.49374998 +0.5375 +0.47500002 +0.3575 +0.24999999 +0.20875 +0.25375 +0.35999998 +0.47625002 +0.54875004 +0.56875 +0.50624996 +0.39375 +0.31125003 +0.27499998 +0.28750002 +0.38250002 +0.50624996 +0.5925 +0.61375 +0.5875 +0.55125 +0.53625 +0.545 +0.56125003 +0.54124993 +0.4675 +0.36249998 +0.27375 +0.26375002 +0.35500002 +0.5225 +0.69249994 +0.78999996 +0.92375004 +0.83875 +0.71000004 +0.61625 +0.6 +0.65625 +0.73 +0.75500005 +0.70250005 +0.60125005 +0.515 +0.505 +0.59 +0.7225 +0.8225 +0.81999993 +0.69750005 +0.51125 +0.35125 +0.2925 +0.35625 +0.49375004 +0.6225 +0.67375004 +0.63874996 +0.56 +0.51000005 +0.5575 +0.66625 +0.75375 +0.76624995 +0.6925 +0.52625 +0.32874998 +0.1825 +0.13749999 +0.19625 +0.31625 +0.425 +0.475 +0.4525 +0.375 +0.29375 +0.28 +0.33124998 +0.42125 +0.53499997 +0.65125006 +0.70500004 +0.6825 +0.60125005 +0.51 +0.45499998 +0.45999998 +0.51874995 +0.5925 +0.64 +0.63874996 +0.60125 +0.54875 +0.51125 +0.4925 +0.47375003 +0.43 +0.34875003 +0.26125002 +0.20375001 +0.22 +0.35125 +0.55875003 +0.77250004 +0.90625 +0.92375004 +0.83875 +0.71000004 +0.61625 +0.6 +0.65625 +0.73 +0.75500005 +0.70250005 +0.60125005 +0.515 +0.505 +0.59 +0.7225 +0.8225 +0.81999993 +0.69750005 +0.51125 +0.35125 +0.2925 +0.35625 +0.49375004 +0.6225 +0.67375004 +0.63874996 +0.56 +0.51000005 +0.5575 +0.66625 +0.75375 +0.76624995 +0.6925 +0.52625 +0.32874998 +0.1825 +0.13749999 +0.19625 +0.31625 +0.425 +0.475 +0.4525 +0.375 +0.29375 +0.28 +0.33124998 +0.42125 +0.53499997 +0.65125006 +0.70500004 +0.6825 +0.60125005 +0.51 +0.45499998 +0.45999998 +0.51874995 +0.5925 +0.64 +0.63874996 +0.60125 +0.54875 +0.51125 +0.4925 +0.47375003 +0.43 +0.34875003 +0.26125002 +0.20375001 +0.22 +0.35125 +0.55875003 +0.77250004 +0.90625 +0.99500006 +0.9475 +0.85875005 +0.79625005 +0.80249995 +0.865 +0.9375001 +0.96500003 +0.92125005 +0.83374995 +0.755 +0.74 +0.80375 +0.91375 +0.99625 +0.99375004 +0.89750004 +0.74875 +0.62375003 +0.58375 +0.63875 +0.74625 +0.84000003 +0.86 +0.8037499 +0.7125 +0.6425 +0.63625 +0.685 +0.7375 +0.73875 +0.65375 +0.495 +0.32125002 +0.19624999 +0.15749998 +0.1825 +0.2575 +0.34875 +0.40875 +0.42249998 +0.4025 +0.37125 +0.35875 +0.38625 +0.45499998 +0.54999995 +0.6475 +0.7125 +0.72625005 +0.69124997 +0.63 +0.57374996 +0.5525 +0.56375 +0.59250003 +0.61 +0.59250003 +0.54375 +0.4825 +0.43125 +0.39625004 +0.35875 +0.3075 +0.24125001 +0.18125 +0.16 +0.18875 +0.335 +0.56 +0.7875 +0.94499993 +0.99500006 +0.9475 +0.85875005 +0.79625005 +0.80249995 +0.865 +0.9375001 +0.96500003 +0.92125005 +0.83374995 +0.755 +0.74 +0.80375 +0.91375 +0.99625 +0.99375004 +0.89750004 +0.74875 +0.62375003 +0.58375 +0.63875 +0.74625 +0.84000003 +0.86 +0.8037499 +0.7125 +0.6425 +0.63625 +0.685 +0.7375 +0.73875 +0.65375 +0.495 +0.32125002 +0.19624999 +0.15749998 +0.1825 +0.2575 +0.34875 +0.40875 +0.42249998 +0.4025 +0.37125 +0.35875 +0.38625 +0.45499998 +0.54999995 +0.6475 +0.7125 +0.72625005 +0.69124997 +0.63 +0.57374996 +0.5525 +0.56375 +0.59250003 +0.61 +0.59250003 +0.54375 +0.4825 +0.43125 +0.39625004 +0.35875 +0.3075 +0.24125001 +0.18125 +0.16 +0.18875 +0.335 +0.56 +0.7875 +0.94499993 +0.95875 +0.9412501 +0.8925 +0.86875004 +0.90374994 +0.98625 +1.07125 +1.11 +1.0875 +1.02375 +0.96750003 +0.96750003 +1.0375 +1.1487501 +1.2475001 +1.27625 +1.2225001 +1.1225001 +1.0325 +0.99875003 +1.02875 +1.0899999 +1.1274999 +1.105 +1.01375 +0.8875 +0.77875 +0.71625 +0.69250005 +0.675 +0.62875 +0.53 +0.39124998 +0.25875002 +0.18625 +0.1675 +0.17375001 +0.20500001 +0.26 +0.31874996 +0.365 +0.39124998 +0.395 +0.39499998 +0.39749998 +0.415 +0.45625 +0.515 +0.5749999 +0.6125 +0.61125 +0.5775 +0.53000003 +0.4875 +0.465 +0.4625 +0.46 +0.43875 +0.39625 +0.34375 +0.29874998 +0.26625 +0.23875001 +0.20375 +0.165 +0.14 +0.13374999 +0.17375 +0.31125 +0.525 +0.74 +0.89624995 +0.95875 +0.9412501 +0.8925 +0.86875004 +0.90374994 +0.98625 +1.07125 +1.11 +1.0875 +1.02375 +0.96750003 +0.96750003 +1.0375 +1.1487501 +1.2475001 +1.27625 +1.2225001 +1.1225001 +1.0325 +0.99875003 +1.02875 +1.0899999 +1.1274999 +1.105 +1.01375 +0.8875 +0.77875 +0.71625 +0.69250005 +0.675 +0.62875 +0.53 +0.39124998 +0.25875002 +0.18625 +0.1675 +0.17375001 +0.20500001 +0.26 +0.31874996 +0.365 +0.39124998 +0.395 +0.39499998 +0.39749998 +0.415 +0.45625 +0.515 +0.5749999 +0.6125 +0.61125 +0.5775 +0.53000003 +0.4875 +0.465 +0.4625 +0.46 +0.43875 +0.39625 +0.34375 +0.29874998 +0.26625 +0.23875001 +0.20375 +0.165 +0.14 +0.13374999 +0.17375 +0.31125 +0.525 +0.74 +0.89624995 +0.83750004 +0.83624995 +0.8187501 +0.83124995 +0.89625 +1.00125 +1.10375 +1.1625 +1.1637499 +1.12875 +1.105 +1.1375 +1.2375 +1.3812499 +1.52 +1.6062499 +1.62125 +1.5862501 +1.54 +1.52 +1.5324999 +1.5362499 +1.5162499 +1.4362501 +1.3 +1.13 +0.96624994 +0.82625 +0.71625 +0.61625004 +0.50625 +0.38125 +0.25875 +0.17875001 +0.16 +0.155 +0.1525 +0.16125 +0.18374999 +0.21 +0.24749999 +0.2975 +0.32874998 +0.33124998 +0.31 +0.2825 +0.27124998 +0.28875 +0.325 +0.36875 +0.3925 +0.38000003 +0.35125002 +0.29625 +0.25625 +0.24375 +0.23375 +0.22250001 +0.205 +0.18249999 +0.16250001 +0.15124999 +0.1475 +0.14125 +0.12875 +0.11624999 +0.12 +0.17125 +0.2925 +0.46875 +0.6475 +0.77874994 +0.83750004 +0.83624995 +0.8187501 +0.83124995 +0.89625 +1.00125 +1.10375 +1.1625 +1.1637499 +1.12875 +1.105 +1.1375 +1.2375 +1.3812499 +1.52 +1.6062499 +1.62125 +1.5862501 +1.54 +1.52 +1.5324999 +1.5362499 +1.5162499 +1.4362501 +1.3 +1.13 +0.96624994 +0.82625 +0.71625 +0.61625004 +0.50625 +0.38125 +0.25875 +0.17875001 +0.16 +0.155 +0.1525 +0.16125 +0.18374999 +0.21 +0.24749999 +0.2975 +0.32874998 +0.33124998 +0.31 +0.2825 +0.27124998 +0.28875 +0.325 +0.36875 +0.3925 +0.38000003 +0.35125002 +0.29625 +0.25625 +0.24375 +0.23375 +0.22250001 +0.205 +0.18249999 +0.16250001 +0.15124999 +0.1475 +0.14125 +0.12875 +0.11624999 +0.12 +0.17125 +0.2925 +0.46875 +0.6475 +0.77874994 +0.69625 +0.69874996 +0.7 +0.73625004 +0.82375 +0.94499993 +1.0587499 +1.13 +1.1475 +1.13875 +1.15 +1.22125 +1.36875 +1.55875 +1.75375 +1.915 +2.0137498 +2.0625 +2.11 +2.1574998 +2.17375 +2.135 +2.0300002 +1.8999999 +1.715 +1.49875 +1.27375 +1.06 +0.87624997 +0.67625004 +0.4875 +0.31125 +0.1775 +0.12625 +0.12375 +0.12125 +0.12 +0.12125 +0.12375 +0.125 +0.1275 +0.13999999 +0.16875 +0.18625 +0.1675 +0.10875 +0.0775 +0.08375 +0.099999994 +0.11749999 +0.13875 +0.19125 +0.19 +0.14375 +0.08624999 +0.05125 +0.0575 +0.060000002 +0.06625 +0.08 +0.0925 +0.10750001 +0.12625 +0.1375 +0.14125 +0.13875 +0.14874999 +0.19624999 +0.29124996 +0.42125 +0.55250007 +0.65 +0.69625 +0.69874996 +0.7 +0.73625004 +0.82375 +0.94499993 +1.0587499 +1.13 +1.1475 +1.13875 +1.15 +1.22125 +1.36875 +1.55875 +1.75375 +1.915 +2.0137498 +2.0625 +2.11 +2.1574998 +2.17375 +2.135 +2.0300002 +1.8999999 +1.715 +1.49875 +1.27375 +1.06 +0.87624997 +0.67625004 +0.4875 +0.31125 +0.1775 +0.12625 +0.12375 +0.12125 +0.12 +0.12125 +0.12375 +0.125 +0.1275 +0.13999999 +0.16875 +0.18625 +0.1675 +0.10875 +0.0775 +0.08375 +0.099999994 +0.11749999 +0.13875 +0.19125 +0.19 +0.14375 +0.08624999 +0.05125 +0.0575 +0.060000002 +0.06625 +0.08 +0.0925 +0.10750001 +0.12625 +0.1375 +0.14125 +0.13875 +0.14874999 +0.19624999 +0.29124996 +0.42125 +0.55250007 +0.65 +0.60375 +0.60625 +0.615 +0.66249996 +0.75499994 +0.8725 +0.97875 +1.0425 +1.06375 +1.0725 +1.11375 +1.2325 +1.4325 +1.67 +1.90875 +2.1325002 +2.32125 +2.49 +2.645 +2.7687502 +2.83125 +2.80625 +2.685 +2.48625 +2.26375 +2.0075 +1.7512501 +1.50625 +1.2475 +0.9625 +0.66499996 +0.415 +0.22999999 +0.13625 +0.11875 +0.11125 +0.10375 +0.0975 +0.09625 +0.0875 +0.06625 +0.03625 +0.033749998 +0.065 +0.065 +0.026250001 +0.0 +0.0125 +0.01875 +0.0025 +0.045 +0.115 +0.13 +0.089999996 +0.041249998 +0.015000001 +0.0075000003 +0.0325 +0.07125 +0.122499995 +0.16375001 +0.17999999 +0.19125001 +0.20625 +0.215 +0.21624999 +0.22375 +0.255 +0.31875 +0.41125 +0.50374997 +0.57000005 +0.60375 +0.60625 +0.615 +0.66249996 +0.75499994 +0.8725 +0.97875 +1.0425 +1.06375 +1.0725 +1.11375 +1.2325 +1.4325 +1.67 +1.90875 +2.1325002 +2.32125 +2.49 +2.645 +2.7687502 +2.83125 +2.80625 +2.685 +2.48625 +2.26375 +2.0075 +1.7512501 +1.50625 +1.2475 +0.9625 +0.66499996 +0.415 +0.22999999 +0.13625 +0.11875 +0.11125 +0.10375 +0.0975 +0.09625 +0.0875 +0.06625 +0.03625 +0.033749998 +0.065 +0.065 +0.026250001 +0.0 +0.0125 +0.01875 +0.0025 +0.045 +0.115 +0.13 +0.089999996 +0.041249998 +0.015000001 +0.0075000003 +0.0325 +0.07125 +0.122499995 +0.16375001 +0.17999999 +0.19125001 +0.20625 +0.215 +0.21624999 +0.22375 +0.255 +0.31875 +0.41125 +0.50374997 +0.57000005 +0.59375 +0.59749997 +0.60875005 +0.655 +0.73375 +0.8275 +0.9025 +0.93875 +0.945 +0.96125 +1.02625 +1.1850001 +1.41125 +1.6737502 +1.9425 +2.20875 +2.47125 +2.74 +3.0062497 +3.2312498 +3.37375 +3.3975 +3.295 +3.09375 +2.84375 +2.57625 +2.3112502 +2.04 +1.7362499 +1.3924999 +1.0275 +0.70250005 +0.45999998 +0.30375 +0.23250002 +0.20124999 +0.16375 +0.13875 +0.10875 +0.085 +0.05875 +0.02125 +0.0025 +0.0275 +0.05625 +0.042499997 +0.02125 +0.0075 +0.012499999 +0.04375 +0.12375 +0.2175 +0.2475 +0.20375 +0.13250001 +0.08500001 +0.085 +0.13125 +0.21500002 +0.29375002 +0.3375 +0.3425 +0.3225 +0.31625 +0.30875 +0.30625 +0.31124997 +0.33499998 +0.3825 +0.45374998 +0.52374995 +0.57124996 +0.59375 +0.59749997 +0.60875005 +0.655 +0.73375 +0.8275 +0.9025 +0.93875 +0.945 +0.96125 +1.02625 +1.1850001 +1.41125 +1.6737502 +1.9425 +2.20875 +2.47125 +2.74 +3.0062497 +3.2312498 +3.37375 +3.3975 +3.295 +3.09375 +2.84375 +2.57625 +2.3112502 +2.04 +1.7362499 +1.3924999 +1.0275 +0.70250005 +0.45999998 +0.30375 +0.23250002 +0.20124999 +0.16375 +0.13875 +0.10875 +0.085 +0.05875 +0.02125 +0.0025 +0.0275 +0.05625 +0.042499997 +0.02125 +0.0075 +0.012499999 +0.04375 +0.12375 +0.2175 +0.2475 +0.20375 +0.13250001 +0.08500001 +0.085 +0.13125 +0.21500002 +0.29375002 +0.3375 +0.3425 +0.3225 +0.31625 +0.30875 +0.30625 +0.31124997 +0.33499998 +0.3825 +0.45374998 +0.52374995 +0.57124996 +0.64750004 +0.6575 +0.67 +0.70375 +0.755 +0.8037499 +0.82875 +0.82124996 +0.80625 +0.82125 +0.9074999 +1.085 +1.31625 +1.57 +1.8275001 +2.09875 +2.3875 +2.7275 +3.0912497 +3.4250002 +3.65875 +3.745 +3.67625 +3.4962504 +3.2625 +3.00125 +2.75 +2.4925 +2.18875 +1.8275001 +1.4312501 +1.08375 +0.81125 +0.63625 +0.54249996 +0.48375002 +0.40624997 +0.3 +0.2 +0.13499999 +0.082499996 +0.0425 +0.03875 +0.120000005 +0.1875 +0.19250001 +0.1475 +0.12125 +0.15625 +0.25 +0.38875002 +0.49875 +0.5275 +0.46625 +0.3625 +0.2825 +0.27374998 +0.345 +0.43875003 +0.52 +0.55 +0.52 +0.45749998 +0.40875 +0.37875003 +0.37125 +0.385 +0.41625 +0.46874997 +0.53124994 +0.59000003 +0.63 +0.64750004 +0.6575 +0.67 +0.70375 +0.755 +0.8037499 +0.82875 +0.82124996 +0.80625 +0.82125 +0.9074999 +1.085 +1.31625 +1.57 +1.8275001 +2.09875 +2.3875 +2.7275 +3.0912497 +3.4250002 +3.65875 +3.745 +3.67625 +3.4962504 +3.2625 +3.00125 +2.75 +2.4925 +2.18875 +1.8275001 +1.4312501 +1.08375 +0.81125 +0.63625 +0.54249996 +0.48375002 +0.40624997 +0.3 +0.2 +0.13499999 +0.082499996 +0.0425 +0.03875 +0.120000005 +0.1875 +0.19250001 +0.1475 +0.12125 +0.15625 +0.25 +0.38875002 +0.49875 +0.5275 +0.46625 +0.3625 +0.2825 +0.27374998 +0.345 +0.43875003 +0.52 +0.55 +0.52 +0.45749998 +0.40875 +0.37875003 +0.37125 +0.385 +0.41625 +0.46874997 +0.53124994 +0.59000003 +0.63 +0.7125 +0.72625 +0.74125004 +0.76 +0.77375 +0.765 +0.72749996 +0.67249995 +0.63625 +0.65500003 +0.75874996 +0.94124997 +1.15875 +1.37375 +1.5799999 +1.79875 +2.0674999 +2.42625 +2.8575 +3.275 +3.5862498 +3.7225 +3.6950002 +3.5462499 +3.3325002 +3.11125 +2.90625 +2.6925 +2.4337502 +2.11625 +1.75875 +1.4200001 +1.15875 +1.0049999 +0.93500006 +0.89125 +0.80875003 +0.64500004 +0.43750003 +0.26250002 +0.17 +0.16 +0.22749999 +0.34375 +0.44375002 +0.47249997 +0.45125002 +0.44375 +0.49875 +0.62125 +0.76374996 +0.86125004 +0.8675 +0.76375 +0.60625 +0.48250002 +0.46249998 +0.5375 +0.64125 +0.70875 +0.7025 +0.6275 +0.51750004 +0.425 +0.37875 +0.38 +0.41875 +0.47374997 +0.53875 +0.6025 +0.6575 +0.69375 +0.7125 +0.72625 +0.74125004 +0.76 +0.77375 +0.765 +0.72749996 +0.67249995 +0.63625 +0.65500003 +0.75874996 +0.94124997 +1.15875 +1.37375 +1.5799999 +1.79875 +2.0674999 +2.42625 +2.8575 +3.275 +3.5862498 +3.7225 +3.6950002 +3.5462499 +3.3325002 +3.11125 +2.90625 +2.6925 +2.4337502 +2.11625 +1.75875 +1.4200001 +1.15875 +1.0049999 +0.93500006 +0.89125 +0.80875003 +0.64500004 +0.43750003 +0.26250002 +0.17 +0.16 +0.22749999 +0.34375 +0.44375002 +0.47249997 +0.45125002 +0.44375 +0.49875 +0.62125 +0.76374996 +0.86125004 +0.8675 +0.76375 +0.60625 +0.48250002 +0.46249998 +0.5375 +0.64125 +0.70875 +0.7025 +0.6275 +0.51750004 +0.425 +0.37875 +0.38 +0.41875 +0.47374997 +0.53875 +0.6025 +0.6575 +0.69375 +0.72749996 +0.74499995 +0.76125 +0.76500005 +0.74 +0.6725 +0.5725 +0.47125 +0.41875 +0.45624998 +0.58375 +0.7725 +0.96125 +1.105 +1.21125 +1.3325 +1.5425 +1.89125 +2.35 +2.8125 +3.16125 +3.33 +3.3162498 +3.17375 +2.9862502 +2.82625 +2.70875 +2.58875 +2.4175 +2.17125 +1.8699999 +1.58625 +1.3875 +1.30125 +1.2962499 +1.29625 +1.22375 +1.04 +0.78125 +0.535 +0.38875 +0.38875 +0.505 +0.6575 +0.75875 +0.77625 +0.745 +0.73 +0.7937499 +0.93749994 +1.0949999 +1.1725 +1.12375 +0.9574999 +0.73125 +0.55625004 +0.51125 +0.58875 +0.70750004 +0.77750003 +0.74375 +0.62 +0.46000004 +0.335 +0.28875 +0.31875 +0.38875 +0.48250002 +0.5675 +0.6325 +0.67625004 +0.70625 +0.72749996 +0.74499995 +0.76125 +0.76500005 +0.74 +0.6725 +0.5725 +0.47125 +0.41875 +0.45624998 +0.58375 +0.7725 +0.96125 +1.105 +1.21125 +1.3325 +1.5425 +1.89125 +2.35 +2.8125 +3.16125 +3.33 +3.3162498 +3.17375 +2.9862502 +2.82625 +2.70875 +2.58875 +2.4175 +2.17125 +1.8699999 +1.58625 +1.3875 +1.30125 +1.2962499 +1.29625 +1.22375 +1.04 +0.78125 +0.535 +0.38875 +0.38875 +0.505 +0.6575 +0.75875 +0.77625 +0.745 +0.73 +0.7937499 +0.93749994 +1.0949999 +1.1725 +1.12375 +0.9574999 +0.73125 +0.55625004 +0.51125 +0.58875 +0.70750004 +0.77750003 +0.74375 +0.62 +0.46000004 +0.335 +0.28875 +0.31875 +0.38875 +0.48250002 +0.5675 +0.6325 +0.67625004 +0.70625 +0.66875 +0.6925 +0.71000004 +0.70000005 +0.6374999 +0.51874995 +0.36624998 +0.24625 +0.19625 +0.24875 +0.38500002 +0.58 +0.73 +0.78875005 +0.7825 +0.7925 +0.92625 +1.2525 +1.70625 +2.1725001 +2.5162501 +2.67375 +2.6399999 +2.4925 +2.33625 +2.24375 +2.22 +2.2062502 +2.13125 +1.96875 +1.7487501 +1.55125 +1.44875 +1.465 +1.5525 +1.6149999 +1.56375 +1.37 +1.085 +0.80875003 +0.64875 +0.6475 +0.76125 +0.90250003 +0.97749996 +0.95875 +0.88874996 +0.85875 +0.92875 +1.0849999 +1.2500001 +1.30625 +1.20375 +0.96624994 +0.67375004 +0.45250002 +0.38375 +0.47374997 +0.615 +0.69624996 +0.64875 +0.48999995 +0.29375 +0.185 +0.17 +0.22874999 +0.33 +0.43999997 +0.5425 +0.605 +0.63250005 +0.65125 +0.66875 +0.6925 +0.71000004 +0.70000005 +0.6374999 +0.51874995 +0.36624998 +0.24625 +0.19625 +0.24875 +0.38500002 +0.58 +0.73 +0.78875005 +0.7825 +0.7925 +0.92625 +1.2525 +1.70625 +2.1725001 +2.5162501 +2.67375 +2.6399999 +2.4925 +2.33625 +2.24375 +2.22 +2.2062502 +2.13125 +1.96875 +1.7487501 +1.55125 +1.44875 +1.465 +1.5525 +1.6149999 +1.56375 +1.37 +1.085 +0.80875003 +0.64875 +0.6475 +0.76125 +0.90250003 +0.97749996 +0.95875 +0.88874996 +0.85875 +0.92875 +1.0849999 +1.2500001 +1.30625 +1.20375 +0.96624994 +0.67375004 +0.45250002 +0.38375 +0.47374997 +0.615 +0.69624996 +0.64875 +0.48999995 +0.29375 +0.185 +0.17 +0.22874999 +0.33 +0.43999997 +0.5425 +0.605 +0.63250005 +0.65125 +0.57125 +0.59875 +0.61749995 +0.59624994 +0.505 +0.34374997 +0.19875002 +0.12 +0.085 +0.10375 +0.23375 +0.39624998 +0.51125 +0.49625 +0.39125 +0.3075 +0.395 +0.67875 +1.1125 +1.5575 +1.86625 +1.97 +1.905 +1.7475001 +1.6199999 +1.5912501 +1.6487501 +1.71875 +1.7224998 +1.63125 +1.4875 +1.3787501 +1.3837501 +1.51 +1.6912501 +1.8149999 +1.7874999 +1.59 +1.28875 +1.00375 +0.83750004 +0.8324999 +0.93250006 +1.04125 +1.0675 +0.99499995 +0.88750005 +0.84000003 +0.915 +1.08375 +1.245 +1.27375 +1.12625 +0.825 +0.47875 +0.23500001 +0.19874999 +0.2925 +0.4375 +0.5325 +0.4775 +0.29625 +0.14999999 +0.105000004 +0.10875 +0.17 +0.27125 +0.38750002 +0.48874998 +0.54375 +0.55625 +0.5575 +0.57125 +0.59875 +0.61749995 +0.59624994 +0.505 +0.34374997 +0.19875002 +0.12 +0.085 +0.10375 +0.23375 +0.39624998 +0.51125 +0.49625 +0.39125 +0.3075 +0.395 +0.67875 +1.1125 +1.5575 +1.86625 +1.97 +1.905 +1.7475001 +1.6199999 +1.5912501 +1.6487501 +1.71875 +1.7224998 +1.63125 +1.4875 +1.3787501 +1.3837501 +1.51 +1.6912501 +1.8149999 +1.7874999 +1.59 +1.28875 +1.00375 +0.83750004 +0.8324999 +0.93250006 +1.04125 +1.0675 +0.99499995 +0.88750005 +0.84000003 +0.915 +1.08375 +1.245 +1.27375 +1.12625 +0.825 +0.47875 +0.23500001 +0.19874999 +0.2925 +0.4375 +0.5325 +0.4775 +0.29625 +0.14999999 +0.105000004 +0.10875 +0.17 +0.27125 +0.38750002 +0.48874998 +0.54375 +0.55625 +0.5575 +0.50624996 +0.52875 +0.54125 +0.50624996 +0.39374995 +0.24625 +0.15625 +0.11375 +0.08875 +0.09125 +0.1725 +0.29375 +0.37125003 +0.305 +0.15 +0.04875 +0.10875 +0.3375 +0.73375 +1.14375 +1.405 +1.4525 +1.35125 +1.18875 +1.08375 +1.1 +1.2112501 +1.3262501 +1.3649999 +1.30875 +1.21375 +1.1750001 +1.2674999 +1.4825 +1.7362499 +1.9075 +1.9025 +1.71125 +1.4125 +1.1337501 +0.98 +0.97625 +1.06125 +1.1324999 +1.1125 +0.995 +0.8625 +0.81500006 +0.89875 +1.0775 +1.23 +1.2237501 +1.03125 +0.6775 +0.29874998 +0.08625 +0.085 +0.15875 +0.29500002 +0.38750002 +0.32500002 +0.17625 +0.088750005 +0.0675 +0.08875 +0.1375 +0.24375 +0.35750002 +0.44999993 +0.49624997 +0.49874997 +0.4925 +0.50624996 +0.52875 +0.54125 +0.50624996 +0.39374995 +0.24625 +0.15625 +0.11375 +0.08875 +0.09125 +0.1725 +0.29375 +0.37125003 +0.305 +0.15 +0.04875 +0.10875 +0.3375 +0.73375 +1.14375 +1.405 +1.4525 +1.35125 +1.18875 +1.08375 +1.1 +1.2112501 +1.3262501 +1.3649999 +1.30875 +1.21375 +1.1750001 +1.2674999 +1.4825 +1.7362499 +1.9075 +1.9025 +1.71125 +1.4125 +1.1337501 +0.98 +0.97625 +1.06125 +1.1324999 +1.1125 +0.995 +0.8625 +0.81500006 +0.89875 +1.0775 +1.23 +1.2237501 +1.03125 +0.6775 +0.29874998 +0.08625 +0.085 +0.15875 +0.29500002 +0.38750002 +0.32500002 +0.17625 +0.088750005 +0.0675 +0.08875 +0.1375 +0.24375 +0.35750002 +0.44999993 +0.49624997 +0.49874997 +0.4925 +0.45874998 +0.33624998 +0.26125 +0.22875 +0.19625 +0.16625 +0.14 +0.1675 +0.2575 +0.32 +0.33624998 +0.34000003 +0.37 +0.44125003 +0.54875 +0.67375004 +0.8225 +0.98499995 +1.1575 +1.33375 +1.49625 +1.62625 +1.7012501 +1.67625 +1.565 +1.405 +1.235 +1.07625 +0.92999995 +0.795 +0.67375 +0.58124995 +0.52875006 +0.52375 +0.53625005 +0.52125 +0.4425 +0.31375 +0.2525 +0.2225 +0.1925 +0.16375 +0.1375 +0.15249999 +0.24625 +0.3125 +0.335 +0.34750003 +0.385 +0.4625 +0.5725 +0.69625 +0.84749997 +1.0125 +1.185 +1.3587499 +1.52 +1.64375 +1.7062501 +1.6687499 +1.5475001 +1.38125 +1.21 +1.05125 +0.9075 +0.7775 +0.65624994 +0.56625 +0.5175 +0.51750004 +0.53749996 +0.53125 +0.45874998 +0.33624998 +0.26125 +0.22875 +0.19625 +0.16625 +0.14 +0.1675 +0.2575 +0.32 +0.33624998 +0.34000003 +0.37 +0.44125003 +0.54875 +0.67375004 +0.8225 +0.98499995 +1.1575 +1.33375 +1.49625 +1.62625 +1.7012501 +1.67625 +1.565 +1.405 +1.235 +1.07625 +0.92999995 +0.795 +0.67375 +0.58124995 +0.52875006 +0.52375 +0.53625005 +0.52125 +0.4425 +0.31375 +0.2525 +0.2225 +0.1925 +0.16375 +0.1375 +0.15249999 +0.24625 +0.3125 +0.335 +0.34750003 +0.385 +0.4625 +0.5725 +0.69625 +0.84749997 +1.0125 +1.185 +1.3587499 +1.52 +1.64375 +1.7062501 +1.6687499 +1.5475001 +1.38125 +1.21 +1.05125 +0.9075 +0.7775 +0.65624994 +0.56625 +0.5175 +0.51750004 +0.53749996 +0.53125 +0.5325 +0.42749998 +0.31124997 +0.23625 +0.1975 +0.1625 +0.16625 +0.23249999 +0.31374997 +0.3575 +0.35250002 +0.33375 +0.33875 +0.39000002 +0.4825 +0.60625 +0.74625003 +0.9175 +1.1012499 +1.2925 +1.4725001 +1.6300001 +1.72375 +1.7199999 +1.625 +1.4649999 +1.28375 +1.1075001 +0.94375 +0.8 +0.68 +0.59375 +0.55125004 +0.55 +0.56375 +0.5475 +0.46749997 +0.34125 +0.2475 +0.21375 +0.1825 +0.15125 +0.125 +0.175 +0.2575 +0.32125 +0.34624997 +0.3675 +0.41625 +0.4975 +0.61125004 +0.74 +0.8925 +1.0699999 +1.255 +1.4399999 +1.6037499 +1.7262499 +1.7612499 +1.695 +1.5425001 +1.3475001 +1.15375 +0.97875 +0.82624996 +0.69375 +0.5825 +0.50624996 +0.4775 +0.5025 +0.55 +0.57625 +0.5325 +0.42749998 +0.31124997 +0.23625 +0.1975 +0.1625 +0.16625 +0.23249999 +0.31374997 +0.3575 +0.35250002 +0.33375 +0.33875 +0.39000002 +0.4825 +0.60625 +0.74625003 +0.9175 +1.1012499 +1.2925 +1.4725001 +1.6300001 +1.72375 +1.7199999 +1.625 +1.4649999 +1.28375 +1.1075001 +0.94375 +0.8 +0.68 +0.59375 +0.55125004 +0.55 +0.56375 +0.5475 +0.46749997 +0.34125 +0.2475 +0.21375 +0.1825 +0.15125 +0.125 +0.175 +0.2575 +0.32125 +0.34624997 +0.3675 +0.41625 +0.4975 +0.61125004 +0.74 +0.8925 +1.0699999 +1.255 +1.4399999 +1.6037499 +1.7262499 +1.7612499 +1.695 +1.5425001 +1.3475001 +1.15375 +0.97875 +0.82624996 +0.69375 +0.5825 +0.50624996 +0.4775 +0.5025 +0.55 +0.57625 +0.6625 +0.58374995 +0.4525 +0.32999998 +0.255 +0.23375002 +0.27625 +0.36499998 +0.435 +0.44875002 +0.40875 +0.34875 +0.31 +0.3225 +0.38750002 +0.4975 +0.635 +0.80500007 +1.00375 +1.2175 +1.425 +1.6125001 +1.7425001 +1.7775 +1.7099999 +1.56125 +1.36875 +1.16625 +0.98 +0.8275 +0.71124995 +0.64125 +0.62 +0.63374996 +0.65125 +0.63374996 +0.5575 +0.42625 +0.3 +0.22125 +0.1825 +0.16874999 +0.19625 +0.27 +0.35125 +0.39875 +0.42625004 +0.45625 +0.5125 +0.6 +0.71250004 +0.84374994 +1.00625 +1.1975 +1.3987501 +1.5987499 +1.77 +1.8662499 +1.85625 +1.7325001 +1.525 +1.2837499 +1.055 +0.8575 +0.69625 +0.56624997 +0.4675 +0.41625 +0.42249995 +0.48624995 +0.57875 +0.65375 +0.6625 +0.58374995 +0.4525 +0.32999998 +0.255 +0.23375002 +0.27625 +0.36499998 +0.435 +0.44875002 +0.40875 +0.34875 +0.31 +0.3225 +0.38750002 +0.4975 +0.635 +0.80500007 +1.00375 +1.2175 +1.425 +1.6125001 +1.7425001 +1.7775 +1.7099999 +1.56125 +1.36875 +1.16625 +0.98 +0.8275 +0.71124995 +0.64125 +0.62 +0.63374996 +0.65125 +0.63374996 +0.5575 +0.42625 +0.3 +0.22125 +0.1825 +0.16874999 +0.19625 +0.27 +0.35125 +0.39875 +0.42625004 +0.45625 +0.5125 +0.6 +0.71250004 +0.84374994 +1.00625 +1.1975 +1.3987501 +1.5987499 +1.77 +1.8662499 +1.85625 +1.7325001 +1.525 +1.2837499 +1.055 +0.8575 +0.69625 +0.56624997 +0.4675 +0.41625 +0.42249995 +0.48624995 +0.57875 +0.65375 +0.8075 +0.77874994 +0.68250006 +0.55875 +0.46249998 +0.43499997 +0.47125 +0.53875 +0.58750004 +0.58 +0.51624995 +0.42375004 +0.33875 +0.30374998 +0.335 +0.42375 +0.5475 +0.71375 +0.9187499 +1.13875 +1.3625 +1.56125 +1.7225 +1.805 +1.7774999 +1.64875 +1.4549999 +1.2387499 +1.03625 +0.87874997 +0.78125 +0.74375004 +0.7575 +0.7975 +0.8274999 +0.8175 +0.74875003 +0.63 +0.49624997 +0.395 +0.35500002 +0.38124996 +0.45125002 +0.52875 +0.5875 +0.62125 +0.64125 +0.67375 +0.72999996 +0.80999994 +0.90875006 +1.0374999 +1.2062501 +1.39625 +1.6012499 +1.7937499 +1.9437499 +2.00375 +1.9350001 +1.7449999 +1.4875001 +1.2075 +0.94874996 +0.74 +0.58125 +0.46249998 +0.38625 +0.36124998 +0.40124997 +0.5025 +0.63375 +0.75125 +0.8075 +0.77874994 +0.68250006 +0.55875 +0.46249998 +0.43499997 +0.47125 +0.53875 +0.58750004 +0.58 +0.51624995 +0.42375004 +0.33875 +0.30374998 +0.335 +0.42375 +0.5475 +0.71375 +0.9187499 +1.13875 +1.3625 +1.56125 +1.7225 +1.805 +1.7774999 +1.64875 +1.4549999 +1.2387499 +1.03625 +0.87874997 +0.78125 +0.74375004 +0.7575 +0.7975 +0.8274999 +0.8175 +0.74875003 +0.63 +0.49624997 +0.395 +0.35500002 +0.38124996 +0.45125002 +0.52875 +0.5875 +0.62125 +0.64125 +0.67375 +0.72999996 +0.80999994 +0.90875006 +1.0374999 +1.2062501 +1.39625 +1.6012499 +1.7937499 +1.9437499 +2.00375 +1.9350001 +1.7449999 +1.4875001 +1.2075 +0.94874996 +0.74 +0.58125 +0.46249998 +0.38625 +0.36124998 +0.40124997 +0.5025 +0.63375 +0.75125 +0.9375 +0.945 +0.87875 +0.77125 +0.67249995 +0.62375 +0.63624996 +0.68625003 +0.73 +0.72625 +0.66625 +0.56875 +0.46 +0.38375002 +0.36875004 +0.425 +0.53 +0.68499994 +0.87125 +1.075 +1.2887499 +1.49375 +1.66375 +1.7737501 +1.795 +1.7024999 +1.5375 +1.3399999 +1.14375 +0.98375 +0.88625 +0.89 +0.95000005 +1.025 +1.07875 +1.08375 +1.03125 +0.93875 +0.84374994 +0.7825 +0.77625 +0.81624997 +0.87875 +0.9625 +1.00875 +1.01625 +1.00875 +1.02 +1.06375 +1.1225001 +1.21125 +1.3275001 +1.4675 +1.63375 +1.81125 +1.9699999 +2.0675 +2.0725 +1.9449999 +1.715 +1.425 +1.12625 +0.85749996 +0.66125 +0.52500004 +0.43 +0.38 +0.38375 +0.4475 +0.56499994 +0.71375 +0.85249996 +0.9375 +0.945 +0.87875 +0.77125 +0.67249995 +0.62375 +0.63624996 +0.68625003 +0.73 +0.72625 +0.66625 +0.56875 +0.46 +0.38375002 +0.36875004 +0.425 +0.53 +0.68499994 +0.87125 +1.075 +1.2887499 +1.49375 +1.66375 +1.7737501 +1.795 +1.7024999 +1.5375 +1.3399999 +1.14375 +0.98375 +0.88625 +0.89 +0.95000005 +1.025 +1.07875 +1.08375 +1.03125 +0.93875 +0.84374994 +0.7825 +0.77625 +0.81624997 +0.87875 +0.9625 +1.00875 +1.01625 +1.00875 +1.02 +1.06375 +1.1225001 +1.21125 +1.3275001 +1.4675 +1.63375 +1.81125 +1.9699999 +2.0675 +2.0725 +1.9449999 +1.715 +1.425 +1.12625 +0.85749996 +0.66125 +0.52500004 +0.43 +0.38 +0.38375 +0.4475 +0.56499994 +0.71375 +0.85249996 +1.02625 +1.05125 +1.005 +0.90999997 +0.805 +0.7375 +0.72749996 +0.765 +0.815 +0.83625007 +0.7975 +0.72124994 +0.61625004 +0.525 +0.48375 +0.505 +0.585 +0.70625 +0.85375005 +1.02 +1.20125 +1.39375 +1.5762501 +1.7099999 +1.76625 +1.72375 +1.59375 +1.415 +1.23125 +1.0875 +1.0137501 +1.0375 +1.13875 +1.2525 +1.3325001 +1.35875 +1.3275 +1.265 +1.20875 +1.18875 +1.2175 +1.275 +1.355 +1.4250001 +1.4449999 +1.4325001 +1.4075 +1.3987501 +1.42375 +1.47 +1.5375 +1.62125 +1.7212499 +1.84 +1.9662501 +2.0674999 +2.1012502 +2.03625 +1.8612499 +1.6025 +1.3025 +1.01375 +0.77375 +0.61625004 +0.51874995 +0.46375 +0.44500002 +0.4675 +0.53875005 +0.65375 +0.79375 +0.93125 +1.02625 +1.05125 +1.005 +0.90999997 +0.805 +0.7375 +0.72749996 +0.765 +0.815 +0.83625007 +0.7975 +0.72124994 +0.61625004 +0.525 +0.48375 +0.505 +0.585 +0.70625 +0.85375005 +1.02 +1.20125 +1.39375 +1.5762501 +1.7099999 +1.76625 +1.72375 +1.59375 +1.415 +1.23125 +1.0875 +1.0137501 +1.0375 +1.13875 +1.2525 +1.3325001 +1.35875 +1.3275 +1.265 +1.20875 +1.18875 +1.2175 +1.275 +1.355 +1.4250001 +1.4449999 +1.4325001 +1.4075 +1.3987501 +1.42375 +1.47 +1.5375 +1.62125 +1.7212499 +1.84 +1.9662501 +2.0674999 +2.1012502 +2.03625 +1.8612499 +1.6025 +1.3025 +1.01375 +0.77375 +0.61625004 +0.51874995 +0.46375 +0.44500002 +0.4675 +0.53875005 +0.65375 +0.79375 +0.93125 +1.04875 +1.08375 +1.0550001 +0.96999997 +0.86 +0.77000004 +0.735 +0.75874996 +0.81374997 +0.86 +0.85875 +0.80875003 +0.7325 +0.64874995 +0.59375 +0.59999996 +0.645 +0.72875005 +0.835 +0.95625 +1.1025 +1.2737501 +1.45625 +1.6125001 +1.72 +1.7112501 +1.6012499 +1.4425 +1.2687501 +1.1337501 +1.0737499 +1.1262499 +1.2512499 +1.3874999 +1.49375 +1.54125 +1.5362499 +1.50375 +1.4825001 +1.49375 +1.5487499 +1.6212499 +1.6887499 +1.745 +1.7449999 +1.71 +1.6675 +1.66125 +1.6800001 +1.70375 +1.7575 +1.8175 +1.88375 +1.9512501 +2.01375 +2.0425 +2.0037498 +1.8812499 +1.66125 +1.3887501 +1.1062499 +0.855 +0.675 +0.57125 +0.52 +0.50375 +0.51000005 +0.54625005 +0.61625 +0.715 +0.83375 +0.955 +1.04875 +1.08375 +1.0550001 +0.96999997 +0.86 +0.77000004 +0.735 +0.75874996 +0.81374997 +0.86 +0.85875 +0.80875003 +0.7325 +0.64874995 +0.59375 +0.59999996 +0.645 +0.72875005 +0.835 +0.95625 +1.1025 +1.2737501 +1.45625 +1.6125001 +1.72 +1.7112501 +1.6012499 +1.4425 +1.2687501 +1.1337501 +1.0737499 +1.1262499 +1.2512499 +1.3874999 +1.49375 +1.54125 +1.5362499 +1.50375 +1.4825001 +1.49375 +1.5487499 +1.6212499 +1.6887499 +1.745 +1.7449999 +1.71 +1.6675 +1.66125 +1.6800001 +1.70375 +1.7575 +1.8175 +1.88375 +1.9512501 +2.01375 +2.0425 +2.0037498 +1.8812499 +1.66125 +1.3887501 +1.1062499 +0.855 +0.675 +0.57125 +0.52 +0.50375 +0.51000005 +0.54625005 +0.61625 +0.715 +0.83375 +0.955 +0.99500006 +1.0475 +1.04 +0.96875 +0.855 +0.74125 +0.67375 +0.67125 +0.72 +0.7825 +0.815 +0.79625 +0.74125 +0.67875 +0.64375 +0.6475 +0.6775 +0.71500003 +0.7825 +0.87375003 +0.99375004 +1.15 +1.3312501 +1.5400001 +1.6762501 +1.6949999 +1.5949999 +1.42 +1.25125 +1.11125 +1.06875 +1.12375 +1.2437501 +1.38375 +1.5037501 +1.575 +1.5987499 +1.6 +1.61 +1.6474999 +1.71625 +1.79125 +1.8437501 +1.8549999 +1.8362501 +1.7787501 +1.75 +1.75 +1.7675 +1.79 +1.8050001 +1.8587501 +1.9025 +1.9300001 +1.92875 +1.8937501 +1.8075 +1.6287501 +1.37625 +1.0975 +0.84625006 +0.655 +0.53875 +0.48375 +0.47125 +0.4825 +0.51 +0.5525 +0.6175 +0.7 +0.79875004 +0.90375006 +0.99500006 +1.0475 +1.04 +0.96875 +0.855 +0.74125 +0.67375 +0.67125 +0.72 +0.7825 +0.815 +0.79625 +0.74125 +0.67875 +0.64375 +0.6475 +0.6775 +0.71500003 +0.7825 +0.87375003 +0.99375004 +1.15 +1.3312501 +1.5400001 +1.6762501 +1.6949999 +1.5949999 +1.42 +1.25125 +1.11125 +1.06875 +1.12375 +1.2437501 +1.38375 +1.5037501 +1.575 +1.5987499 +1.6 +1.61 +1.6474999 +1.71625 +1.79125 +1.8437501 +1.8549999 +1.8362501 +1.7787501 +1.75 +1.75 +1.7675 +1.79 +1.8050001 +1.8587501 +1.9025 +1.9300001 +1.92875 +1.8937501 +1.8075 +1.6287501 +1.37625 +1.0975 +0.84625006 +0.655 +0.53875 +0.48375 +0.47125 +0.4825 +0.51 +0.5525 +0.6175 +0.7 +0.79875004 +0.90375006 +0.8712499 +0.9475001 +0.96875 +0.92125 +0.80999994 +0.67625 +0.5725 +0.53125 +0.55625004 +0.61875004 +0.67125 +0.685 +0.65999997 +0.62499994 +0.60499996 +0.615 +0.64625 +0.67999995 +0.71375006 +0.77250004 +0.88375 +1.0474999 +1.2662499 +1.47875 +1.6250001 +1.6562499 +1.5699999 +1.4024999 +1.2175001 +1.0762501 +1.01625 +1.04375 +1.14 +1.26875 +1.39375 +1.48875 +1.5474999 +1.5899999 +1.635 +1.7 +1.78 +1.8524998 +1.89375 +1.88375 +1.8349999 +1.7712499 +1.7275 +1.715 +1.72875 +1.75625 +1.78 +1.79 +1.80375 +1.795 +1.7637501 +1.68625 +1.53625 +1.3162501 +1.05375 +0.79499996 +0.5825 +0.43749997 +0.36499998 +0.34125 +0.34875 +0.37375 +0.41125 +0.45750004 +0.51625 +0.5875 +0.67375 +0.77375 +0.8712499 +0.9475001 +0.96875 +0.92125 +0.80999994 +0.67625 +0.5725 +0.53125 +0.55625004 +0.61875004 +0.67125 +0.685 +0.65999997 +0.62499994 +0.60499996 +0.615 +0.64625 +0.67999995 +0.71375006 +0.77250004 +0.88375 +1.0474999 +1.2662499 +1.47875 +1.6250001 +1.6562499 +1.5699999 +1.4024999 +1.2175001 +1.0762501 +1.01625 +1.04375 +1.14 +1.26875 +1.39375 +1.48875 +1.5474999 +1.5899999 +1.635 +1.7 +1.78 +1.8524998 +1.89375 +1.88375 +1.8349999 +1.7712499 +1.7275 +1.715 +1.72875 +1.75625 +1.78 +1.79 +1.80375 +1.795 +1.7637501 +1.68625 +1.53625 +1.3162501 +1.05375 +0.79499996 +0.5825 +0.43749997 +0.36499998 +0.34125 +0.34875 +0.37375 +0.41125 +0.45750004 +0.51625 +0.5875 +0.67375 +0.77375 +0.69125 +0.78999996 +0.84375 +0.82624996 +0.72999996 +0.58875 +0.4525 +0.37375003 +0.36874998 +0.41750002 +0.4775 +0.5125 +0.515 +0.50250006 +0.5025 +0.5199999 +0.5575 +0.6 +0.645 +0.70624995 +0.8125 +0.97875 +1.18625 +1.3875 +1.52625 +1.55625 +1.4825001 +1.3312501 +1.15875 +1.01875 +0.94374996 +0.94624996 +1.01375 +1.125 +1.2524999 +1.3725 +1.48 +1.5737499 +1.6675 +1.76625 +1.8625 +1.94125 +1.9775001 +1.96 +1.8987501 +1.8175001 +1.7525 +1.71375 +1.7074999 +1.71875 +1.72875 +1.7237501 +1.70125 +1.6550001 +1.5699999 +1.4312501 +1.235 +0.99125004 +0.73375 +0.50374997 +0.33249998 +0.22874999 +0.19875 +0.20000002 +0.21375002 +0.23125 +0.2525 +0.29000002 +0.345 +0.41 +0.48749995 +0.58375 +0.69125 +0.78999996 +0.84375 +0.82624996 +0.72999996 +0.58875 +0.4525 +0.37375003 +0.36874998 +0.41750002 +0.4775 +0.5125 +0.515 +0.50250006 +0.5025 +0.5199999 +0.5575 +0.6 +0.645 +0.70624995 +0.8125 +0.97875 +1.18625 +1.3875 +1.52625 +1.55625 +1.4825001 +1.3312501 +1.15875 +1.01875 +0.94374996 +0.94624996 +1.01375 +1.125 +1.2524999 +1.3725 +1.48 +1.5737499 +1.6675 +1.76625 +1.8625 +1.94125 +1.9775001 +1.96 +1.8987501 +1.8175001 +1.7525 +1.71375 +1.7074999 +1.71875 +1.72875 +1.7237501 +1.70125 +1.6550001 +1.5699999 +1.4312501 +1.235 +0.99125004 +0.73375 +0.50374997 +0.33249998 +0.22874999 +0.19875 +0.20000002 +0.21375002 +0.23125 +0.2525 +0.29000002 +0.345 +0.41 +0.48749995 +0.58375 +0.48250002 +0.59125 +0.67375 +0.68499994 +0.61125 +0.475 +0.33124998 +0.24625 +0.23 +0.25125 +0.3 +0.34875 +0.37375003 +0.38125002 +0.39250004 +0.42000002 +0.45999998 +0.50374997 +0.5525 +0.615 +0.71375 +0.86249995 +1.0437499 +1.21875 +1.3349999 +1.3625001 +1.3025 +1.185 +1.05375 +0.9475 +0.89 +0.8875 +0.93874997 +1.0374999 +1.1675 +1.3162501 +1.4749999 +1.6325 +1.7875 +1.93375 +2.065 +2.1625 +2.21 +2.1999998 +2.1412501 +2.05 +1.96 +1.8862499 +1.8312501 +1.79 +1.7487501 +1.69125 +1.6137501 +1.5075 +1.3612499 +1.1725 +0.94624996 +0.6975 +0.46 +0.26875 +0.16125 +0.113749996 +0.12125 +0.15 +0.16625 +0.16625 +0.16375 +0.1725 +0.20375 +0.255 +0.32125 +0.3975 +0.48250002 +0.59125 +0.67375 +0.68499994 +0.61125 +0.475 +0.33124998 +0.24625 +0.23 +0.25125 +0.3 +0.34875 +0.37375003 +0.38125002 +0.39250004 +0.42000002 +0.45999998 +0.50374997 +0.5525 +0.615 +0.71375 +0.86249995 +1.0437499 +1.21875 +1.3349999 +1.3625001 +1.3025 +1.185 +1.05375 +0.9475 +0.89 +0.8875 +0.93874997 +1.0374999 +1.1675 +1.3162501 +1.4749999 +1.6325 +1.7875 +1.93375 +2.065 +2.1625 +2.21 +2.1999998 +2.1412501 +2.05 +1.96 +1.8862499 +1.8312501 +1.79 +1.7487501 +1.69125 +1.6137501 +1.5075 +1.3612499 +1.1725 +0.94624996 +0.6975 +0.46 +0.26875 +0.16125 +0.113749996 +0.12125 +0.15 +0.16625 +0.16625 +0.16375 +0.1725 +0.20375 +0.255 +0.32125 +0.3975 +0.3325 +0.39 +0.47 +0.50625 +0.46125 +0.34999996 +0.2425 +0.19875 +0.18375 +0.17625 +0.19749999 +0.2475 +0.28875 +0.31 +0.33249998 +0.36124998 +0.39125 +0.42 +0.45 +0.49375 +0.56875 +0.68375 +0.82625 +0.96125 +1.05 +1.0725 +1.03625 +0.99249995 +0.945 +0.89500004 +0.86875 +0.8924999 +0.94874996 +1.0362499 +1.1637499 +1.3325 +1.5337499 +1.7537501 +1.9725001 +2.17875 +2.35625 +2.48875 +2.5675 +2.60875 +2.5825 +2.48625 +2.3574998 +2.2387502 +2.1174998 +1.995 +1.865 +1.7225001 +1.5637499 +1.3850001 +1.1800001 +0.9525 +0.71124995 +0.47625002 +0.28 +0.16999999 +0.12375 +0.12 +0.14125 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.2 +0.24875 +0.29125 +0.3325 +0.39 +0.47 +0.50625 +0.46125 +0.34999996 +0.2425 +0.19875 +0.18375 +0.17625 +0.19749999 +0.2475 +0.28875 +0.31 +0.33249998 +0.36124998 +0.39125 +0.42 +0.45 +0.49375 +0.56875 +0.68375 +0.82625 +0.96125 +1.05 +1.0725 +1.03625 +0.99249995 +0.945 +0.89500004 +0.86875 +0.8924999 +0.94874996 +1.0362499 +1.1637499 +1.3325 +1.5337499 +1.7537501 +1.9725001 +2.17875 +2.35625 +2.48875 +2.5675 +2.60875 +2.5825 +2.48625 +2.3574998 +2.2387502 +2.1174998 +1.995 +1.865 +1.7225001 +1.5637499 +1.3850001 +1.1800001 +0.9525 +0.71124995 +0.47625002 +0.28 +0.16999999 +0.12375 +0.12 +0.14125 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.2 +0.24875 +0.29125 +0.26 +0.25875 +0.28 +0.32375 +0.31 +0.245 +0.1925 +0.18499999 +0.18875 +0.17875 +0.17875 +0.2175 +0.27625 +0.3175 +0.34374997 +0.36249998 +0.37125 +0.36499998 +0.35249996 +0.36874998 +0.4375 +0.50624996 +0.58000004 +0.6675 +0.7275 +0.75124997 +0.78125 +0.80625004 +0.83750004 +0.87249994 +0.91125 +0.95 +1.0025 +1.08125 +1.1949999 +1.36375 +1.5862501 +1.8412501 +2.1074998 +2.36375 +2.585 +2.7725 +2.92375 +3.0149999 +3.03 +2.9625 +2.8225002 +2.6325002 +2.4425 +2.235 +2.01875 +1.81375 +1.58125 +1.3062501 +1.04625 +0.8025 +0.5675 +0.36249998 +0.245 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.20375 +0.24375 +0.26 +0.25875 +0.28 +0.32375 +0.31 +0.245 +0.1925 +0.18499999 +0.18875 +0.17875 +0.17875 +0.2175 +0.27625 +0.3175 +0.34374997 +0.36249998 +0.37125 +0.36499998 +0.35249996 +0.36874998 +0.4375 +0.50624996 +0.58000004 +0.6675 +0.7275 +0.75124997 +0.78125 +0.80625004 +0.83750004 +0.87249994 +0.91125 +0.95 +1.0025 +1.08125 +1.1949999 +1.36375 +1.5862501 +1.8412501 +2.1074998 +2.36375 +2.585 +2.7725 +2.92375 +3.0149999 +3.03 +2.9625 +2.8225002 +2.6325002 +2.4425 +2.235 +2.01875 +1.81375 +1.58125 +1.3062501 +1.04625 +0.8025 +0.5675 +0.36249998 +0.245 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.20375 +0.24375 +0.20875 +0.1925 +0.16875 +0.18625 +0.19875 +0.18 +0.15999998 +0.16624999 +0.1825 +0.18 +0.18625 +0.2375 +0.315 +0.37374997 +0.41375 +0.42125002 +0.39500004 +0.3425 +0.27875 +0.27375 +0.3125 +0.355 +0.4 +0.44125003 +0.47750002 +0.51 +0.55125 +0.615 +0.70625 +0.81624997 +0.9225 +1.00625 +1.065 +1.12 +1.20875 +1.3525 +1.56125 +1.8175 +2.0925 +2.3587499 +2.60125 +2.8125 +2.99 +3.1212502 +3.1850002 +3.1625 +3.0487502 +2.8587499 +2.61875 +2.3625 +2.10375 +1.8425001 +1.565 +1.2574999 +0.96625006 +0.735 +0.52375 +0.365 +0.28625 +0.23375 +0.1925 +0.16875 +0.16875 +0.18 +0.1825 +0.16375 +0.13 +0.09875 +0.097500004 +0.1125 +0.1525 +0.1925 +0.20875 +0.1925 +0.16875 +0.18625 +0.19875 +0.18 +0.15999998 +0.16624999 +0.1825 +0.18 +0.18625 +0.2375 +0.315 +0.37374997 +0.41375 +0.42125002 +0.39500004 +0.3425 +0.27875 +0.27375 +0.3125 +0.355 +0.4 +0.44125003 +0.47750002 +0.51 +0.55125 +0.615 +0.70625 +0.81624997 +0.9225 +1.00625 +1.065 +1.12 +1.20875 +1.3525 +1.56125 +1.8175 +2.0925 +2.3587499 +2.60125 +2.8125 +2.99 +3.1212502 +3.1850002 +3.1625 +3.0487502 +2.8587499 +2.61875 +2.3625 +2.10375 +1.8425001 +1.565 +1.2574999 +0.96625006 +0.735 +0.52375 +0.365 +0.28625 +0.23375 +0.1925 +0.16875 +0.16875 +0.18 +0.1825 +0.16375 +0.13 +0.09875 +0.097500004 +0.1125 +0.1525 +0.1925 +0.17125 +0.15375 +0.11875 +0.13000001 +0.15875 +0.16749999 +0.16499999 +0.16499999 +0.16875 +0.1775 +0.2025 +0.27499998 +0.37 +0.45749998 +0.51375 +0.51625 +0.45875 +0.355 +0.24249999 +0.195 +0.2175 +0.25125 +0.2925 +0.32750002 +0.3475 +0.35500002 +0.38625 +0.45624998 +0.5725 +0.72 +0.86375004 +0.9675 +1.02 +1.04 +1.0775 +1.1675 +1.33 +1.5525001 +1.80125 +2.0425 +2.2625 +2.45125 +2.62375 +2.7712502 +2.8750002 +2.905 +2.83875 +2.6825 +2.46375 +2.21125 +1.9525001 +1.6999999 +1.44375 +1.16875 +0.9275 +0.74125004 +0.5775 +0.44875 +0.3625 +0.2925 +0.23625 +0.19625 +0.18 +0.1775 +0.16875 +0.14125 +0.10375 +0.095 +0.10124999 +0.10625 +0.12 +0.15375 +0.17125 +0.15375 +0.11875 +0.13000001 +0.15875 +0.16749999 +0.16499999 +0.16499999 +0.16875 +0.1775 +0.2025 +0.27499998 +0.37 +0.45749998 +0.51375 +0.51625 +0.45875 +0.355 +0.24249999 +0.195 +0.2175 +0.25125 +0.2925 +0.32750002 +0.3475 +0.35500002 +0.38625 +0.45624998 +0.5725 +0.72 +0.86375004 +0.9675 +1.02 +1.04 +1.0775 +1.1675 +1.33 +1.5525001 +1.80125 +2.0425 +2.2625 +2.45125 +2.62375 +2.7712502 +2.8750002 +2.905 +2.83875 +2.6825 +2.46375 +2.21125 +1.9525001 +1.6999999 +1.44375 +1.16875 +0.9275 +0.74125004 +0.5775 +0.44875 +0.3625 +0.2925 +0.23625 +0.19625 +0.18 +0.1775 +0.16875 +0.14125 +0.10375 +0.095 +0.10124999 +0.10625 +0.12 +0.15375 +0.15625 +0.13875 +0.120000005 +0.14375 +0.18875 +0.2225 +0.22874999 +0.21374999 +0.19375001 +0.18875 +0.22 +0.30374998 +0.42625004 +0.5475 +0.62875 +0.63624996 +0.55125 +0.405 +0.2525 +0.15125 +0.17375 +0.22875 +0.31125 +0.38625 +0.39999998 +0.36124998 +0.32375 +0.3675 +0.4675 +0.61375 +0.78999996 +0.90250003 +0.925 +0.88125 +0.83000004 +0.84625006 +0.955 +1.1274999 +1.335 +1.5437499 +1.71375 +1.8425001 +1.94625 +2.04125 +2.1575 +2.2287498 +2.22 +2.1575 +2.0125 +1.81125 +1.5787499 +1.37625 +1.20375 +1.02125 +0.90125 +0.79125 +0.68125 +0.5725 +0.47125 +0.37624997 +0.29375 +0.2325 +0.1925 +0.1725 +0.1575 +0.13374999 +0.1275 +0.1425 +0.16000001 +0.16125001 +0.14500001 +0.14750001 +0.15625 +0.13875 +0.120000005 +0.14375 +0.18875 +0.2225 +0.22874999 +0.21374999 +0.19375001 +0.18875 +0.22 +0.30374998 +0.42625004 +0.5475 +0.62875 +0.63624996 +0.55125 +0.405 +0.2525 +0.15125 +0.17375 +0.22875 +0.31125 +0.38625 +0.39999998 +0.36124998 +0.32375 +0.3675 +0.4675 +0.61375 +0.78999996 +0.90250003 +0.925 +0.88125 +0.83000004 +0.84625006 +0.955 +1.1274999 +1.335 +1.5437499 +1.71375 +1.8425001 +1.94625 +2.04125 +2.1575 +2.2287498 +2.22 +2.1575 +2.0125 +1.81125 +1.5787499 +1.37625 +1.20375 +1.02125 +0.90125 +0.79125 +0.68125 +0.5725 +0.47125 +0.37624997 +0.29375 +0.2325 +0.1925 +0.1725 +0.1575 +0.13374999 +0.1275 +0.1425 +0.16000001 +0.16125001 +0.14500001 +0.14750001 +0.175 +0.16624999 +0.15375 +0.18375 +0.24625 +0.305 +0.32874998 +0.30999997 +0.26500002 +0.23 +0.24125001 +0.32625 +0.475 +0.64 +0.7562501 +0.76875 +0.66249996 +0.48 +0.29375 +0.1875 +0.19749999 +0.31 +0.4525 +0.54999995 +0.5575 +0.49 +0.41 +0.38875002 +0.45875 +0.59625006 +0.73875004 +0.81 +0.78625 +0.68874997 +0.5875 +0.54875004 +0.60625 +0.74249995 +0.90875 +1.0450001 +1.125 +1.1624999 +1.1912501 +1.24125 +1.325 +1.4150001 +1.47625 +1.47 +1.3887501 +1.25125 +1.0975001 +0.97249997 +0.8937501 +0.86125004 +0.85125 +0.83 +0.775 +0.68875 +0.58125 +0.475 +0.38499996 +0.315 +0.265 +0.22999999 +0.2075 +0.19 +0.18375 +0.19375001 +0.21124999 +0.22000001 +0.20750001 +0.1825 +0.175 +0.16624999 +0.15375 +0.18375 +0.24625 +0.305 +0.32874998 +0.30999997 +0.26500002 +0.23 +0.24125001 +0.32625 +0.475 +0.64 +0.7562501 +0.76875 +0.66249996 +0.48 +0.29375 +0.1875 +0.19749999 +0.31 +0.4525 +0.54999995 +0.5575 +0.49 +0.41 +0.38875002 +0.45875 +0.59625006 +0.73875004 +0.81 +0.78625 +0.68874997 +0.5875 +0.54875004 +0.60625 +0.74249995 +0.90875 +1.0450001 +1.125 +1.1624999 +1.1912501 +1.24125 +1.325 +1.4150001 +1.47625 +1.47 +1.3887501 +1.25125 +1.0975001 +0.97249997 +0.8937501 +0.86125004 +0.85125 +0.83 +0.775 +0.68875 +0.58125 +0.475 +0.38499996 +0.315 +0.265 +0.22999999 +0.2075 +0.19 +0.18375 +0.19375001 +0.21124999 +0.22000001 +0.20750001 +0.1825 +0.21375 +0.19375 +0.17124999 +0.19750002 +0.27875 +0.35875 +0.39999998 +0.38125002 +0.315 +0.25375 +0.2525 +0.34375 +0.5275 +0.73625 +0.87999994 +0.8950001 +0.76624995 +0.54499996 +0.33375 +0.2275 +0.26500002 +0.41875002 +0.59749997 +0.70875 +0.7075 +0.61249995 +0.49875 +0.44375 +0.48 +0.58375 +0.6825 +0.71000004 +0.63750005 +0.5075 +0.385 +0.34 +0.39249998 +0.5125 +0.635 +0.7 +0.685 +0.61875 +0.55750006 +0.55 +0.60875 +0.70625 +0.7925 +0.82000005 +0.78125 +0.69375 +0.605 +0.5625 +0.585 +0.66124994 +0.74999994 +0.81000006 +0.81 +0.7525 +0.65749997 +0.56499994 +0.49374998 +0.45000005 +0.42000002 +0.3875 +0.34250003 +0.29500002 +0.25375 +0.23874998 +0.24999999 +0.26375002 +0.26624998 +0.24249999 +0.21375 +0.19375 +0.17124999 +0.19750002 +0.27875 +0.35875 +0.39999998 +0.38125002 +0.315 +0.25375 +0.2525 +0.34375 +0.5275 +0.73625 +0.87999994 +0.8950001 +0.76624995 +0.54499996 +0.33375 +0.2275 +0.26500002 +0.41875002 +0.59749997 +0.70875 +0.7075 +0.61249995 +0.49875 +0.44375 +0.48 +0.58375 +0.6825 +0.71000004 +0.63750005 +0.5075 +0.385 +0.34 +0.39249998 +0.5125 +0.635 +0.7 +0.685 +0.61875 +0.55750006 +0.55 +0.60875 +0.70625 +0.7925 +0.82000005 +0.78125 +0.69375 +0.605 +0.5625 +0.585 +0.66124994 +0.74999994 +0.81000006 +0.81 +0.7525 +0.65749997 +0.56499994 +0.49374998 +0.45000005 +0.42000002 +0.3875 +0.34250003 +0.29500002 +0.25375 +0.23874998 +0.24999999 +0.26375002 +0.26624998 +0.24249999 +0.23875001 +0.18999998 +0.15375002 +0.16375 +0.24749999 +0.35125 +0.41375002 +0.4025 +0.33124998 +0.25875002 +0.25375 +0.3575 +0.5725 +0.8175 +0.98249996 +0.99000007 +0.83 +0.57375 +0.33749998 +0.23 +0.2875 +0.46375 +0.65875 +0.76875 +0.75500005 +0.6437501 +0.5175 +0.45374998 +0.48125 +0.565 +0.63124996 +0.61375 +0.50624996 +0.35875 +0.2475 +0.22999999 +0.315 +0.44875002 +0.55375 +0.56624997 +0.46999997 +0.31625003 +0.1925 +0.14750001 +0.1625 +0.25125003 +0.34500003 +0.38375 +0.35125002 +0.27625 +0.22250001 +0.21125 +0.29500002 +0.44125003 +0.60375 +0.7225 +0.765 +0.73625 +0.66875 +0.6050001 +0.57125 +0.56625 +0.565 +0.54 +0.47750002 +0.39 +0.31124997 +0.26999998 +0.2725 +0.29874998 +0.315 +0.29375002 +0.23875001 +0.18999998 +0.15375002 +0.16375 +0.24749999 +0.35125 +0.41375002 +0.4025 +0.33124998 +0.25875002 +0.25375 +0.3575 +0.5725 +0.8175 +0.98249996 +0.99000007 +0.83 +0.57375 +0.33749998 +0.23 +0.2875 +0.46375 +0.65875 +0.76875 +0.75500005 +0.6437501 +0.5175 +0.45374998 +0.48125 +0.565 +0.63124996 +0.61375 +0.50624996 +0.35875 +0.2475 +0.22999999 +0.315 +0.44875002 +0.55375 +0.56624997 +0.46999997 +0.31625003 +0.1925 +0.14750001 +0.1625 +0.25125003 +0.34500003 +0.38375 +0.35125002 +0.27625 +0.22250001 +0.21125 +0.29500002 +0.44125003 +0.60375 +0.7225 +0.765 +0.73625 +0.66875 +0.6050001 +0.57125 +0.56625 +0.565 +0.54 +0.47750002 +0.39 +0.31124997 +0.26999998 +0.2725 +0.29874998 +0.315 +0.29375002 +0.26125002 +0.17 +0.120000005 +0.106249996 +0.17625 +0.29625 +0.3775 +0.38000003 +0.31 +0.2425 +0.2425 +0.36 +0.5975 +0.8624999 +1.03 +1.02375 +0.8325 +0.545 +0.29250002 +0.1825 +0.2825 +0.44875002 +0.61625 +0.71125 +0.68 +0.56500006 +0.4525 +0.43624997 +0.4825 +0.545 +0.59125 +0.53999996 +0.40375 +0.2475 +0.1575 +0.20000002 +0.34625003 +0.50374997 +0.6 +0.58125 +0.4375 +0.22874999 +0.07 +0.0062499996 +0.028749999 +0.11 +0.17750001 +0.20875001 +0.16 +0.07625 +0.025 +0.03 +0.11874999 +0.25625 +0.45 +0.59875 +0.66875 +0.66624993 +0.6287501 +0.60625005 +0.61625004 +0.65124995 +0.67499995 +0.65375 +0.57124996 +0.45125002 +0.34249997 +0.28625 +0.295 +0.33874997 +0.36874998 +0.34625 +0.26125002 +0.17 +0.120000005 +0.106249996 +0.17625 +0.29625 +0.3775 +0.38000003 +0.31 +0.2425 +0.2425 +0.36 +0.5975 +0.8624999 +1.03 +1.02375 +0.8325 +0.545 +0.29250002 +0.1825 +0.2825 +0.44875002 +0.61625 +0.71125 +0.68 +0.56500006 +0.4525 +0.43624997 +0.4825 +0.545 +0.59125 +0.53999996 +0.40375 +0.2475 +0.1575 +0.20000002 +0.34625003 +0.50374997 +0.6 +0.58125 +0.4375 +0.22874999 +0.07 +0.0062499996 +0.028749999 +0.11 +0.17750001 +0.20875001 +0.16 +0.07625 +0.025 +0.03 +0.11874999 +0.25625 +0.45 +0.59875 +0.66875 +0.66624993 +0.6287501 +0.60625005 +0.61625004 +0.65124995 +0.67499995 +0.65375 +0.57124996 +0.45125002 +0.34249997 +0.28625 +0.295 +0.33874997 +0.36874998 +0.34625 +0.32375 +0.19125 +0.1125 +0.08625 +0.12875 +0.24625002 +0.33875 +0.3475 +0.28 +0.21874999 +0.22375001 +0.34750003 +0.58875 +0.85375 +1.0112499 +0.9825001 +0.77 +0.46625 +0.21 +0.14 +0.2525 +0.41625002 +0.54875 +0.59125 +0.545 +0.46249998 +0.42000002 +0.45250002 +0.54125 +0.61749995 +0.61375004 +0.50875 +0.33999997 +0.18375 +0.13499999 +0.22250001 +0.4075 +0.59875 +0.6975 +0.65000004 +0.48 +0.25875 +0.096250005 +0.05375 +0.1075 +0.20500001 +0.2775 +0.26875 +0.18125 +0.074999996 +0.0175 +0.018749999 +0.08625001 +0.19875 +0.3525 +0.50375 +0.58250004 +0.595 +0.585 +0.595 +0.64 +0.7025 +0.73625004 +0.7075 +0.60375 +0.46125 +0.34125 +0.29 +0.3225 +0.39999998 +0.45374998 +0.43 +0.32375 +0.19125 +0.1125 +0.08625 +0.12875 +0.24625002 +0.33875 +0.3475 +0.28 +0.21874999 +0.22375001 +0.34750003 +0.58875 +0.85375 +1.0112499 +0.9825001 +0.77 +0.46625 +0.21 +0.14 +0.2525 +0.41625002 +0.54875 +0.59125 +0.545 +0.46249998 +0.42000002 +0.45250002 +0.54125 +0.61749995 +0.61375004 +0.50875 +0.33999997 +0.18375 +0.13499999 +0.22250001 +0.4075 +0.59875 +0.6975 +0.65000004 +0.48 +0.25875 +0.096250005 +0.05375 +0.1075 +0.20500001 +0.2775 +0.26875 +0.18125 +0.074999996 +0.0175 +0.018749999 +0.08625001 +0.19875 +0.3525 +0.50375 +0.58250004 +0.595 +0.585 +0.595 +0.64 +0.7025 +0.73625004 +0.7075 +0.60375 +0.46125 +0.34125 +0.29 +0.3225 +0.39999998 +0.45374998 +0.43 +0.46125 +0.30124998 +0.1775 +0.12625 +0.1575 +0.26125 +0.345 +0.34875 +0.2775 +0.20499998 +0.20625 +0.32750002 +0.55875 +0.8025 +0.9375 +0.8874999 +0.6675 +0.37374997 +0.13625 +0.09625 +0.21375 +0.37499994 +0.48874998 +0.51250005 +0.46 +0.40125 +0.40124997 +0.48375 +0.61 +0.70125 +0.68625 +0.55125 +0.3475 +0.1725 +0.115 +0.20750001 +0.40375 +0.6075 +0.72 +0.6875 +0.53625 +0.345 +0.20625001 +0.1775 +0.25000003 +0.36499998 +0.44375 +0.43875 +0.34875 +0.225 +0.13 +0.107499994 +0.16 +0.24749999 +0.36124998 +0.49124998 +0.55875 +0.57374996 +0.5725 +0.59625 +0.6525 +0.715 +0.73875 +0.69 +0.56625 +0.41375 +0.30374998 +0.28625003 +0.36625 +0.49 +0.58125 +0.575 +0.46125 +0.30124998 +0.1775 +0.12625 +0.1575 +0.26125 +0.345 +0.34875 +0.2775 +0.20499998 +0.20625 +0.32750002 +0.55875 +0.8025 +0.9375 +0.8874999 +0.6675 +0.37374997 +0.13625 +0.09625 +0.21375 +0.37499994 +0.48874998 +0.51250005 +0.46 +0.40125 +0.40124997 +0.48375 +0.61 +0.70125 +0.68625 +0.55125 +0.3475 +0.1725 +0.115 +0.20750001 +0.40375 +0.6075 +0.72 +0.6875 +0.53625 +0.345 +0.20625001 +0.1775 +0.25000003 +0.36499998 +0.44375 +0.43875 +0.34875 +0.225 +0.13 +0.107499994 +0.16 +0.24749999 +0.36124998 +0.49124998 +0.55875 +0.57374996 +0.5725 +0.59625 +0.6525 +0.715 +0.73875 +0.69 +0.56625 +0.41375 +0.30374998 +0.28625003 +0.36625 +0.49 +0.58125 +0.575 +0.66249996 +0.48875 +0.33374998 +0.2625 +0.28749996 +0.36875004 +0.43 +0.41375 +0.32999998 +0.24 +0.22374998 +0.32874998 +0.53249997 +0.74249995 +0.84625 +0.7875 +0.58 +0.31875 +0.12625 +0.09 +0.21374999 +0.3625 +0.45999998 +0.48625 +0.4375 +0.3825 +0.41375 +0.53125 +0.67875 +0.77124995 +0.74 +0.58124995 +0.35875 +0.16624999 +0.085 +0.15375 +0.33249998 +0.52375 +0.64500004 +0.64125 +0.52750003 +0.3825 +0.28875002 +0.285 +0.37 +0.4875 +0.57375 +0.58500004 +0.53875 +0.43875003 +0.33625 +0.3025 +0.32625 +0.37625003 +0.47 +0.55875003 +0.6 +0.6 +0.59 +0.605 +0.645 +0.68625 +0.68625 +0.6125 +0.47875002 +0.33249998 +0.25125 +0.2825 +0.42125 +0.6025 +0.7425 +0.76500005 +0.66249996 +0.48875 +0.33374998 +0.2625 +0.28749996 +0.36875004 +0.43 +0.41375 +0.32999998 +0.24 +0.22374998 +0.32874998 +0.53249997 +0.74249995 +0.84625 +0.7875 +0.58 +0.31875 +0.12625 +0.09 +0.21374999 +0.3625 +0.45999998 +0.48625 +0.4375 +0.3825 +0.41375 +0.53125 +0.67875 +0.77124995 +0.74 +0.58124995 +0.35875 +0.16624999 +0.085 +0.15375 +0.33249998 +0.52375 +0.64500004 +0.64125 +0.52750003 +0.3825 +0.28875002 +0.285 +0.37 +0.4875 +0.57375 +0.58500004 +0.53875 +0.43875003 +0.33625 +0.3025 +0.32625 +0.37625003 +0.47 +0.55875003 +0.6 +0.6 +0.59 +0.605 +0.645 +0.68625 +0.68625 +0.6125 +0.47875002 +0.33249998 +0.25125 +0.2825 +0.42125 +0.6025 +0.7425 +0.76500005 +0.87500006 +0.71875006 +0.56375 +0.48125 +0.4875 +0.54 +0.57500005 +0.54 +0.43874997 +0.33625 +0.30125 +0.37625 +0.54 +0.71000004 +0.79375 +0.73625 +0.56125 +0.34875 +0.20375 +0.18499999 +0.28125 +0.42875 +0.53374994 +0.55875 +0.5125 +0.46125 +0.46749997 +0.57625 +0.7175 +0.79499996 +0.75625 +0.61625004 +0.4075 +0.21499999 +0.12249999 +0.16125001 +0.30125 +0.46625 +0.58 +0.59999996 +0.53625 +0.43374997 +0.35625 +0.3675 +0.44500002 +0.545 +0.63624996 +0.705 +0.70625 +0.65125 +0.57374996 +0.52 +0.51375 +0.5525 +0.60625005 +0.64500004 +0.64874995 +0.62375003 +0.59625 +0.58750004 +0.6025 +0.615 +0.58875006 +0.50250006 +0.3725 +0.2525 +0.20625001 +0.285 +0.47375003 +0.70625 +0.8875 +0.94749993 +0.87500006 +0.71875006 +0.56375 +0.48125 +0.4875 +0.54 +0.57500005 +0.54 +0.43874997 +0.33625 +0.30125 +0.37625 +0.54 +0.71000004 +0.79375 +0.73625 +0.56125 +0.34875 +0.20375 +0.18499999 +0.28125 +0.42875 +0.53374994 +0.55875 +0.5125 +0.46125 +0.46749997 +0.57625 +0.7175 +0.79499996 +0.75625 +0.61625004 +0.4075 +0.21499999 +0.12249999 +0.16125001 +0.30125 +0.46625 +0.58 +0.59999996 +0.53625 +0.43374997 +0.35625 +0.3675 +0.44500002 +0.545 +0.63624996 +0.705 +0.70625 +0.65125 +0.57374996 +0.52 +0.51375 +0.5525 +0.60625005 +0.64500004 +0.64874995 +0.62375003 +0.59625 +0.58750004 +0.6025 +0.615 +0.58875006 +0.50250006 +0.3725 +0.2525 +0.20625001 +0.285 +0.47375003 +0.70625 +0.8875 +0.94749993 +1.0100001 +0.88500005 +0.75 +0.675 +0.67625 +0.71124995 +0.72749996 +0.68000007 +0.57625 +0.46750003 +0.41750002 +0.46749997 +0.59625006 +0.73749995 +0.8125 +0.77375 +0.64125 +0.4825 +0.38000003 +0.38125002 +0.47 +0.59000003 +0.66999996 +0.67625004 +0.62750006 +0.575 +0.5725 +0.63249993 +0.72375 +0.77874994 +0.74375 +0.6075 +0.42000002 +0.25 +0.16624999 +0.17875 +0.27500004 +0.40375 +0.5075 +0.55125 +0.5375 +0.49374998 +0.45624998 +0.45375 +0.49875003 +0.57375 +0.66 +0.72749996 +0.75875 +0.75 +0.71750003 +0.68249995 +0.66249996 +0.6625 +0.66625 +0.66 +0.6325 +0.58374995 +0.5375 +0.5125 +0.5075 +0.50375 +0.46875 +0.38625002 +0.2775 +0.19375001 +0.17999999 +0.28875002 +0.50625 +0.76124996 +0.96625006 +1.05375 +1.0100001 +0.88500005 +0.75 +0.675 +0.67625 +0.71124995 +0.72749996 +0.68000007 +0.57625 +0.46750003 +0.41750002 +0.46749997 +0.59625006 +0.73749995 +0.8125 +0.77375 +0.64125 +0.4825 +0.38000003 +0.38125002 +0.47 +0.59000003 +0.66999996 +0.67625004 +0.62750006 +0.575 +0.5725 +0.63249993 +0.72375 +0.77874994 +0.74375 +0.6075 +0.42000002 +0.25 +0.16624999 +0.17875 +0.27500004 +0.40375 +0.5075 +0.55125 +0.5375 +0.49374998 +0.45624998 +0.45375 +0.49875003 +0.57375 +0.66 +0.72749996 +0.75875 +0.75 +0.71750003 +0.68249995 +0.66249996 +0.6625 +0.66625 +0.66 +0.6325 +0.58374995 +0.5375 +0.5125 +0.5075 +0.50375 +0.46875 +0.38625002 +0.2775 +0.19375001 +0.17999999 +0.28875002 +0.50625 +0.76124996 +0.96625006 +1.05375 +1.01125 +0.91875 +0.81875 +0.7675 +0.77875 +0.82 +0.83624995 +0.795 +0.70124996 +0.59749997 +0.55 +0.5875 +0.69625 +0.82500005 +0.9075 +0.90375 +0.82500005 +0.72249997 +0.65875006 +0.66625005 +0.73375 +0.81375 +0.8575 +0.83625007 +0.76875 +0.69624996 +0.6625 +0.67125 +0.7 +0.70375 +0.645 +0.52125 +0.36625 +0.2375 +0.17875 +0.185 +0.23375 +0.31875 +0.40750003 +0.46624997 +0.49374998 +0.49875 +0.49124998 +0.48749998 +0.49625 +0.52125 +0.56125003 +0.60749996 +0.6525 +0.68 +0.6825 +0.66625 +0.64250004 +0.61375 +0.5825 +0.5475 +0.50125 +0.4475 +0.40125 +0.37625 +0.37375 +0.37250003 +0.35 +0.29125002 +0.21249999 +0.16 +0.17499998 +0.28750002 +0.49500003 +0.7375 +0.93500006 +1.0325 +1.01125 +0.91875 +0.81875 +0.7675 +0.77875 +0.82 +0.83624995 +0.795 +0.70124996 +0.59749997 +0.55 +0.5875 +0.69625 +0.82500005 +0.9075 +0.90375 +0.82500005 +0.72249997 +0.65875006 +0.66625005 +0.73375 +0.81375 +0.8575 +0.83625007 +0.76875 +0.69624996 +0.6625 +0.67125 +0.7 +0.70375 +0.645 +0.52125 +0.36625 +0.2375 +0.17875 +0.185 +0.23375 +0.31875 +0.40750003 +0.46624997 +0.49374998 +0.49875 +0.49124998 +0.48749998 +0.49625 +0.52125 +0.56125003 +0.60749996 +0.6525 +0.68 +0.6825 +0.66625 +0.64250004 +0.61375 +0.5825 +0.5475 +0.50125 +0.4475 +0.40125 +0.37625 +0.37375 +0.37250003 +0.35 +0.29125002 +0.21249999 +0.16 +0.17499998 +0.28750002 +0.49500003 +0.7375 +0.93500006 +1.0325 +0.87875 +0.8175 +0.75624996 +0.74 +0.77874994 +0.84124994 +0.88 +0.85875 +0.7875 +0.70375 +0.67 +0.71 +0.82250005 +0.9599999 +1.0699999 +1.1175 +1.1025 +1.065 +1.04375 +1.065 +1.12 +1.1525 +1.15125 +1.09375 +0.99249995 +0.88374996 +0.79625 +0.73499995 +0.685 +0.6225 +0.52875 +0.4025 +0.275 +0.19375001 +0.16125 +0.1625 +0.18249999 +0.21999998 +0.26874998 +0.3175 +0.36375 +0.39874998 +0.41375 +0.40625 +0.38124996 +0.35625 +0.34875 +0.36500004 +0.40125 +0.445 +0.47625 +0.47875 +0.465 +0.42374998 +0.37625 +0.33125 +0.29 +0.25375 +0.23 +0.22999999 +0.24374999 +0.26375 +0.26624998 +0.23624997 +0.18875001 +0.15374999 +0.1725 +0.26874998 +0.43875 +0.64000005 +0.80375 +0.8874999 +0.87875 +0.8175 +0.75624996 +0.74 +0.77874994 +0.84124994 +0.88 +0.85875 +0.7875 +0.70375 +0.67 +0.71 +0.82250005 +0.9599999 +1.0699999 +1.1175 +1.1025 +1.065 +1.04375 +1.065 +1.12 +1.1525 +1.15125 +1.09375 +0.99249995 +0.88374996 +0.79625 +0.73499995 +0.685 +0.6225 +0.52875 +0.4025 +0.275 +0.19375001 +0.16125 +0.1625 +0.18249999 +0.21999998 +0.26874998 +0.3175 +0.36375 +0.39874998 +0.41375 +0.40625 +0.38124996 +0.35625 +0.34875 +0.36500004 +0.40125 +0.445 +0.47625 +0.47875 +0.465 +0.42374998 +0.37625 +0.33125 +0.29 +0.25375 +0.23 +0.22999999 +0.24374999 +0.26375 +0.26624998 +0.23624997 +0.18875001 +0.15374999 +0.1725 +0.26874998 +0.43875 +0.64000005 +0.80375 +0.8874999 +0.6887501 +0.65125 +0.62500006 +0.6475 +0.72249997 +0.81125 +0.875 +0.88 +0.83624995 +0.77875 +0.765 +0.82625 +0.95875 +1.12375 +1.27875 +1.39 +1.45625 +1.49625 +1.5649999 +1.6525 +1.7137499 +1.7125 +1.63375 +1.5362501 +1.3937501 +1.23375 +1.08 +0.94 +0.8175 +0.66499996 +0.50874996 +0.35625 +0.22749999 +0.16 +0.14125 +0.13625 +0.13875 +0.1425 +0.14875 +0.16125 +0.17999999 +0.20499998 +0.235 +0.23625 +0.21 +0.14125 +0.11125 +0.1175 +0.13749999 +0.16499999 +0.20374998 +0.27 +0.285 +0.24749999 +0.1775 +0.1175 +0.09875 +0.0975 +0.1125 +0.14375 +0.18499999 +0.22125 +0.24124998 +0.235 +0.2075 +0.17875001 +0.18249999 +0.24249999 +0.36125 +0.505 +0.62625 +0.69124997 +0.6887501 +0.65125 +0.62500006 +0.6475 +0.72249997 +0.81125 +0.875 +0.88 +0.83624995 +0.77875 +0.765 +0.82625 +0.95875 +1.12375 +1.27875 +1.39 +1.45625 +1.49625 +1.5649999 +1.6525 +1.7137499 +1.7125 +1.63375 +1.5362501 +1.3937501 +1.23375 +1.08 +0.94 +0.8175 +0.66499996 +0.50874996 +0.35625 +0.22749999 +0.16 +0.14125 +0.13625 +0.13875 +0.1425 +0.14875 +0.16125 +0.17999999 +0.20499998 +0.235 +0.23625 +0.21 +0.14125 +0.11125 +0.1175 +0.13749999 +0.16499999 +0.20374998 +0.27 +0.285 +0.24749999 +0.1775 +0.1175 +0.09875 +0.0975 +0.1125 +0.14375 +0.18499999 +0.22125 +0.24124998 +0.235 +0.2075 +0.17875001 +0.18249999 +0.24249999 +0.36125 +0.505 +0.62625 +0.69124997 +0.53249997 +0.51625 +0.52375 +0.58000004 +0.67875004 +0.7875 +0.86375 +0.88375 +0.85625005 +0.8262501 +0.84000003 +0.9425 +1.11625 +1.31625 +1.5074999 +1.6837502 +1.835 +1.9987501 +2.17625 +2.3400002 +2.4475 +2.46 +2.36875 +2.1975 +2.00875 +1.7962501 +1.5912501 +1.40375 +1.1975 +0.95750004 +0.6975 +0.48125 +0.32375 +0.22999999 +0.19375 +0.17625 +0.15125 +0.12875 +0.1025 +0.0875 +0.067499995 +0.051249996 +0.06625 +0.113749996 +0.1 +0.03875 +0.0 +0.0125 +0.01875 +0.00875 +0.074999996 +0.165 +0.19624999 +0.16625002 +0.10125 +0.046249997 +0.03125 +0.065 +0.12 +0.19375 +0.25125 +0.27999997 +0.2875 +0.28 +0.25125 +0.2175 +0.20250002 +0.23000002 +0.29999998 +0.3975 +0.48125 +0.52875 +0.53249997 +0.51625 +0.52375 +0.58000004 +0.67875004 +0.7875 +0.86375 +0.88375 +0.85625005 +0.8262501 +0.84000003 +0.9425 +1.11625 +1.31625 +1.5074999 +1.6837502 +1.835 +1.9987501 +2.17625 +2.3400002 +2.4475 +2.46 +2.36875 +2.1975 +2.00875 +1.7962501 +1.5912501 +1.40375 +1.1975 +0.95750004 +0.6975 +0.48125 +0.32375 +0.22999999 +0.19375 +0.17625 +0.15125 +0.12875 +0.1025 +0.0875 +0.067499995 +0.051249996 +0.06625 +0.113749996 +0.1 +0.03875 +0.0 +0.0125 +0.01875 +0.00875 +0.074999996 +0.165 +0.19624999 +0.16625002 +0.10125 +0.046249997 +0.03125 +0.065 +0.12 +0.19375 +0.25125 +0.27999997 +0.2875 +0.28 +0.25125 +0.2175 +0.20250002 +0.23000002 +0.29999998 +0.3975 +0.48125 +0.52875 +0.4725 +0.48124996 +0.51125 +0.58500004 +0.695 +0.8025 +0.87125 +0.88375 +0.86 +0.85125 +0.89875 +1.0437499 +1.2499999 +1.4799999 +1.70625 +1.9300001 +2.17 +2.44125 +2.73625 +3.00875 +3.19875 +3.2575002 +3.1774998 +2.98625 +2.7450001 +2.49125 +2.2525 +2.0100002 +1.7375 +1.425 +1.09 +0.80125 +0.59875 +0.475 +0.41500002 +0.37125 +0.31 +0.22125 +0.15 +0.1 +0.05875 +0.02125 +0.037499998 +0.10625 +0.12625 +0.085 +0.03875 +0.01625 +0.0225 +0.055 +0.14625 +0.2525 +0.29125002 +0.25625 +0.1825 +0.12375 +0.11625 +0.17125 +0.25875 +0.34625 +0.4 +0.40625 +0.37625003 +0.3425 +0.29625 +0.255 +0.23500001 +0.24624999 +0.2925 +0.36249998 +0.42499998 +0.46249998 +0.4725 +0.48124996 +0.51125 +0.58500004 +0.695 +0.8025 +0.87125 +0.88375 +0.86 +0.85125 +0.89875 +1.0437499 +1.2499999 +1.4799999 +1.70625 +1.9300001 +2.17 +2.44125 +2.73625 +3.00875 +3.19875 +3.2575002 +3.1774998 +2.98625 +2.7450001 +2.49125 +2.2525 +2.0100002 +1.7375 +1.425 +1.09 +0.80125 +0.59875 +0.475 +0.41500002 +0.37125 +0.31 +0.22125 +0.15 +0.1 +0.05875 +0.02125 +0.037499998 +0.10625 +0.12625 +0.085 +0.03875 +0.01625 +0.0225 +0.055 +0.14625 +0.2525 +0.29125002 +0.25625 +0.1825 +0.12375 +0.11625 +0.17125 +0.25875 +0.34625 +0.4 +0.40625 +0.37625003 +0.3425 +0.29625 +0.255 +0.23500001 +0.24624999 +0.2925 +0.36249998 +0.42499998 +0.46249998 +0.5025 +0.5275 +0.57625 +0.65625 +0.75375 +0.83625 +0.8725 +0.85875 +0.83125 +0.83625 +0.91875 +1.0949999 +1.3225 +1.55875 +1.79125 +2.04125 +2.32375 +2.6812499 +3.09375 +3.4850001 +3.77375 +3.89375 +3.83 +3.63375 +3.3749995 +3.09125 +2.8262498 +2.5637498 +2.26125 +1.9062501 +1.52625 +1.2075 +0.97625005 +0.84250003 +0.785 +0.74125 +0.65624994 +0.505 +0.32874998 +0.1925 +0.12 +0.10875 +0.16125 +0.27249998 +0.33375 +0.30625 +0.22875 +0.17249998 +0.19749999 +0.28875 +0.42375 +0.53375 +0.555 +0.48624998 +0.37625003 +0.29 +0.27625 +0.345 +0.44 +0.52125 +0.5525 +0.51874995 +0.44124997 +0.36624998 +0.30624998 +0.26875 +0.25875 +0.27874997 +0.32750002 +0.38875 +0.445 +0.48 +0.5025 +0.5275 +0.57625 +0.65625 +0.75375 +0.83625 +0.8725 +0.85875 +0.83125 +0.83625 +0.91875 +1.0949999 +1.3225 +1.55875 +1.79125 +2.04125 +2.32375 +2.6812499 +3.09375 +3.4850001 +3.77375 +3.89375 +3.83 +3.63375 +3.3749995 +3.09125 +2.8262498 +2.5637498 +2.26125 +1.9062501 +1.52625 +1.2075 +0.97625005 +0.84250003 +0.785 +0.74125 +0.65624994 +0.505 +0.32874998 +0.1925 +0.12 +0.10875 +0.16125 +0.27249998 +0.33375 +0.30625 +0.22875 +0.17249998 +0.19749999 +0.28875 +0.42375 +0.53375 +0.555 +0.48624998 +0.37625003 +0.29 +0.27625 +0.345 +0.44 +0.52125 +0.5525 +0.51874995 +0.44124997 +0.36624998 +0.30624998 +0.26875 +0.25875 +0.27874997 +0.32750002 +0.38875 +0.445 +0.48 +0.55 +0.58875 +0.64750004 +0.72375005 +0.79375 +0.83 +0.81625 +0.7675 +0.7274999 +0.74625 +0.85875 +1.0575 +1.28875 +1.50875 +1.7125001 +1.92875 +2.2124999 +2.6125 +3.11125 +3.6062498 +3.98 +4.1475 +4.11125 +3.9187498 +3.6437502 +3.36125 +3.1025 +2.8475 +2.56 +2.22375 +1.8612499 +1.53625 +1.30875 +1.19875 +1.1724999 +1.15625 +1.0749999 +0.89874995 +0.6599999 +0.44250003 +0.32375 +0.3375 +0.45000002 +0.5825 +0.65749997 +0.65 +0.59125 +0.55125 +0.58500004 +0.6925 +0.81875 +0.895 +0.87500006 +0.74 +0.5575 +0.41625 +0.38625 +0.45749998 +0.56 +0.625 +0.615 +0.53249997 +0.41000003 +0.30124998 +0.23750001 +0.22625 +0.24875 +0.29999998 +0.365 +0.43125 +0.48375 +0.52000004 +0.55 +0.58875 +0.64750004 +0.72375005 +0.79375 +0.83 +0.81625 +0.7675 +0.7274999 +0.74625 +0.85875 +1.0575 +1.28875 +1.50875 +1.7125001 +1.92875 +2.2124999 +2.6125 +3.11125 +3.6062498 +3.98 +4.1475 +4.11125 +3.9187498 +3.6437502 +3.36125 +3.1025 +2.8475 +2.56 +2.22375 +1.8612499 +1.53625 +1.30875 +1.19875 +1.1724999 +1.15625 +1.0749999 +0.89874995 +0.6599999 +0.44250003 +0.32375 +0.3375 +0.45000002 +0.5825 +0.65749997 +0.65 +0.59125 +0.55125 +0.58500004 +0.6925 +0.81875 +0.895 +0.87500006 +0.74 +0.5575 +0.41625 +0.38625 +0.45749998 +0.56 +0.625 +0.615 +0.53249997 +0.41000003 +0.30124998 +0.23750001 +0.22625 +0.24875 +0.29999998 +0.365 +0.43125 +0.48375 +0.52000004 +0.53499997 +0.58125 +0.64374995 +0.70750004 +0.74375 +0.72749996 +0.655 +0.56374997 +0.51375 +0.5525 +0.69750005 +0.9125 +1.12875 +1.295 +1.415 +1.55125 +1.795 +2.20375 +2.75 +3.30625 +3.7312498 +3.93125 +3.9 +3.6925 +3.4175 +3.1637502 +2.96125 +2.7737498 +2.54875 +2.25875 +1.9337499 +1.64375 +1.4625001 +1.4125 +1.4525 +1.48875 +1.43125 +1.24625 +0.9837499 +0.73625004 +0.60749996 +0.63 +0.76625 +0.91999996 +1.00125 +0.985 +0.9125 +0.8675 +0.90999997 +1.035 +1.165 +1.1999999 +1.09625 +0.87125 +0.59749997 +0.39000002 +0.32875 +0.40249997 +0.52 +0.58875 +0.55125 +0.42125 +0.25625 +0.15625 +0.1275 +0.1475 +0.20875001 +0.28500003 +0.36249998 +0.4275 +0.46999997 +0.50125 +0.53499997 +0.58125 +0.64374995 +0.70750004 +0.74375 +0.72749996 +0.655 +0.56374997 +0.51375 +0.5525 +0.69750005 +0.9125 +1.12875 +1.295 +1.415 +1.55125 +1.795 +2.20375 +2.75 +3.30625 +3.7312498 +3.93125 +3.9 +3.6925 +3.4175 +3.1637502 +2.96125 +2.7737498 +2.54875 +2.25875 +1.9337499 +1.64375 +1.4625001 +1.4125 +1.4525 +1.48875 +1.43125 +1.24625 +0.9837499 +0.73625004 +0.60749996 +0.63 +0.76625 +0.91999996 +1.00125 +0.985 +0.9125 +0.8675 +0.90999997 +1.035 +1.165 +1.1999999 +1.09625 +0.87125 +0.59749997 +0.39000002 +0.32875 +0.40249997 +0.52 +0.58875 +0.55125 +0.42125 +0.25625 +0.15625 +0.1275 +0.1475 +0.20875001 +0.28500003 +0.36249998 +0.4275 +0.46999997 +0.50125 +0.44125 +0.48625 +0.53875 +0.5875 +0.58750004 +0.5175 +0.4025 +0.29 +0.24 +0.27375 +0.43375 +0.65625 +0.83750004 +0.92375004 +0.93625003 +0.97125006 +1.1475 +1.5462501 +2.1025 +2.67875 +3.1112502 +3.30625 +3.255 +3.03375 +2.77625 +2.57375 +2.45 +2.3537502 +2.21125 +1.9925001 +1.7275 +1.50625 +1.4025 +1.43875 +1.56125 +1.6575 +1.62875 +1.4487499 +1.17375 +0.91625 +0.7875 +0.82250005 +0.9675 +1.12 +1.1837499 +1.14125 +1.045 +0.99625003 +1.05625 +1.19875 +1.32875 +1.3225 +1.14 +0.8175 +0.45374998 +0.19624999 +0.14125001 +0.225 +0.34375 +0.40875 +0.36124995 +0.21124999 +0.10875 +0.068749994 +0.075 +0.106249996 +0.15499999 +0.23874998 +0.3125 +0.36249998 +0.39 +0.41125 +0.44125 +0.48625 +0.53875 +0.5875 +0.58750004 +0.5175 +0.4025 +0.29 +0.24 +0.27375 +0.43375 +0.65625 +0.83750004 +0.92375004 +0.93625003 +0.97125006 +1.1475 +1.5462501 +2.1025 +2.67875 +3.1112502 +3.30625 +3.255 +3.03375 +2.77625 +2.57375 +2.45 +2.3537502 +2.21125 +1.9925001 +1.7275 +1.50625 +1.4025 +1.43875 +1.56125 +1.6575 +1.62875 +1.4487499 +1.17375 +0.91625 +0.7875 +0.82250005 +0.9675 +1.12 +1.1837499 +1.14125 +1.045 +0.99625003 +1.05625 +1.19875 +1.32875 +1.3225 +1.14 +0.8175 +0.45374998 +0.19624999 +0.14125001 +0.225 +0.34375 +0.40875 +0.36124995 +0.21124999 +0.10875 +0.068749994 +0.075 +0.106249996 +0.15499999 +0.23874998 +0.3125 +0.36249998 +0.39 +0.41125 +0.33375 +0.35999998 +0.39749998 +0.4125 +0.37374997 +0.28500003 +0.17875001 +0.1125 +0.085 +0.0825 +0.175 +0.35125 +0.4875 +0.49374998 +0.40500003 +0.35625 +0.47875 +0.83374995 +1.37625 +1.94125 +2.3512502 +2.5074997 +2.43125 +2.2075 +1.97875 +1.84375 +1.8062501 +1.7962501 +1.7324998 +1.57875 +1.3787501 +1.22875 +1.20875 +1.33375 +1.53125 +1.6787499 +1.67625 +1.49625 +1.2162501 +0.96000004 +0.84 +0.88374996 +1.0275 +1.16125 +1.1925 +1.1162499 +1.0075 +0.96875 +1.0537499 +1.2212499 +1.35 +1.305 +1.06125 +0.65125 +0.22749999 +0.0475 +0.02 +0.05375 +0.15875 +0.21125 +0.16125 +0.0875 +0.05375 +0.06375 +0.085 +0.11125 +0.1375 +0.19125 +0.25500003 +0.28875 +0.30625 +0.31750003 +0.33375 +0.35999998 +0.39749998 +0.4125 +0.37374997 +0.28500003 +0.17875001 +0.1125 +0.085 +0.0825 +0.175 +0.35125 +0.4875 +0.49374998 +0.40500003 +0.35625 +0.47875 +0.83374995 +1.37625 +1.94125 +2.3512502 +2.5074997 +2.43125 +2.2075 +1.97875 +1.84375 +1.8062501 +1.7962501 +1.7324998 +1.57875 +1.3787501 +1.22875 +1.20875 +1.33375 +1.53125 +1.6787499 +1.67625 +1.49625 +1.2162501 +0.96000004 +0.84 +0.88374996 +1.0275 +1.16125 +1.1925 +1.1162499 +1.0075 +0.96875 +1.0537499 +1.2212499 +1.35 +1.305 +1.06125 +0.65125 +0.22749999 +0.0475 +0.02 +0.05375 +0.15875 +0.21125 +0.16125 +0.0875 +0.05375 +0.06375 +0.085 +0.11125 +0.1375 +0.19125 +0.25500003 +0.28875 +0.30625 +0.31750003 +0.285 +0.29874998 +0.30124998 +0.27875 +0.22499998 +0.17125 +0.14 +0.11375 +0.08875 +0.0675 +0.060000002 +0.13624999 +0.20625 +0.16 +0.06875 +0.0025 +0.05875 +0.33 +0.81 +1.345 +1.71375 +1.8275 +1.7325001 +1.5174999 +1.33375 +1.265 +1.29875 +1.3525001 +1.33625 +1.2225001 +1.0675 +0.97375 +1.0237501 +1.2175 +1.4675001 +1.64625 +1.65375 +1.47625 +1.19875 +0.95500004 +0.84875 +0.9025 +1.04125 +1.1524999 +1.16 +1.0675001 +0.96500003 +0.96000004 +1.0862501 +1.2800001 +1.41 +1.33125 +1.0287501 +0.555 +0.13374999 +0.0 +0.0 +0.0025 +0.0725 +0.114999995 +0.08 +0.0525 +0.05375 +0.0675 +0.08875 +0.11375 +0.14 +0.17875 +0.22625 +0.25375 +0.265 +0.27625 +0.285 +0.29874998 +0.30124998 +0.27875 +0.22499998 +0.17125 +0.14 +0.11375 +0.08875 +0.0675 +0.060000002 +0.13624999 +0.20625 +0.16 +0.06875 +0.0025 +0.05875 +0.33 +0.81 +1.345 +1.71375 +1.8275 +1.7325001 +1.5174999 +1.33375 +1.265 +1.29875 +1.3525001 +1.33625 +1.2225001 +1.0675 +0.97375 +1.0237501 +1.2175 +1.4675001 +1.64625 +1.65375 +1.47625 +1.19875 +0.95500004 +0.84875 +0.9025 +1.04125 +1.1524999 +1.16 +1.0675001 +0.96500003 +0.96000004 +1.0862501 +1.2800001 +1.41 +1.33125 +1.0287501 +0.555 +0.13374999 +0.0 +0.0 +0.0025 +0.0725 +0.114999995 +0.08 +0.0525 +0.05375 +0.0675 +0.08875 +0.11375 +0.14 +0.17875 +0.22625 +0.25375 +0.265 +0.27625 +0.34499997 +0.2825 +0.25875 +0.22875 +0.19625 +0.16875 +0.19375001 +0.28375 +0.34125 +0.34874997 +0.34500003 +0.36875004 +0.44375002 +0.56 +0.69625 +0.8299999 +0.98499995 +1.1575 +1.33375 +1.4975001 +1.6200001 +1.6762501 +1.66375 +1.5625 +1.40625 +1.2325 +1.0649999 +0.91124994 +0.7725 +0.6475 +0.5525 +0.50000006 +0.49375004 +0.50875 +0.50125 +0.43375 +0.32125 +0.2725 +0.25 +0.2225 +0.1925 +0.16624999 +0.17875 +0.27125 +0.33124998 +0.3475 +0.35125 +0.385 +0.46625 +0.5875 +0.7225 +0.85499996 +1.0125 +1.185 +1.3587499 +1.51875 +1.63625 +1.6825 +1.65625 +1.54375 +1.38 +1.2025 +1.03625 +0.88625 +0.75124997 +0.62999994 +0.5375 +0.48749995 +0.48625 +0.50874996 +0.51 +0.45 +0.34499997 +0.2825 +0.25875 +0.22875 +0.19625 +0.16875 +0.19375001 +0.28375 +0.34125 +0.34874997 +0.34500003 +0.36875004 +0.44375002 +0.56 +0.69625 +0.8299999 +0.98499995 +1.1575 +1.33375 +1.4975001 +1.6200001 +1.6762501 +1.66375 +1.5625 +1.40625 +1.2325 +1.0649999 +0.91124994 +0.7725 +0.6475 +0.5525 +0.50000006 +0.49375004 +0.50875 +0.50125 +0.43375 +0.32125 +0.2725 +0.25 +0.2225 +0.1925 +0.16624999 +0.17875 +0.27125 +0.33124998 +0.3475 +0.35125 +0.385 +0.46625 +0.5875 +0.7225 +0.85499996 +1.0125 +1.185 +1.3587499 +1.51875 +1.63625 +1.6825 +1.65625 +1.54375 +1.38 +1.2025 +1.03625 +0.88625 +0.75124997 +0.62999994 +0.5375 +0.48749995 +0.48625 +0.50874996 +0.51 +0.45 +0.43874997 +0.33999997 +0.2725 +0.23625 +0.1975 +0.2 +0.2625 +0.34249997 +0.37875 +0.36374998 +0.335 +0.33499998 +0.38625 +0.48749998 +0.61999995 +0.76375 +0.9175 +1.1012499 +1.295 +1.4775001 +1.6187501 +1.7049999 +1.7137499 +1.6275 +1.4762499 +1.29125 +1.10625 +0.93625 +0.78249997 +0.65625 +0.56500006 +0.52125 +0.51875 +0.535 +0.52750003 +0.45999998 +0.34875003 +0.26624998 +0.2425 +0.21375 +0.1825 +0.15625 +0.20249999 +0.28375 +0.33875 +0.35500002 +0.36874998 +0.41375 +0.505 +0.62750006 +0.76625 +0.91125 +1.07125 +1.25625 +1.4399999 +1.6012498 +1.70625 +1.7437499 +1.6825 +1.54 +1.345 +1.1424999 +0.96125 +0.8025 +0.66625 +0.55375 +0.47499996 +0.44624996 +0.46875 +0.51875 +0.5525 +0.52750003 +0.43874997 +0.33999997 +0.2725 +0.23625 +0.1975 +0.2 +0.2625 +0.34249997 +0.37875 +0.36374998 +0.335 +0.33499998 +0.38625 +0.48749998 +0.61999995 +0.76375 +0.9175 +1.1012499 +1.295 +1.4775001 +1.6187501 +1.7049999 +1.7137499 +1.6275 +1.4762499 +1.29125 +1.10625 +0.93625 +0.78249997 +0.65625 +0.56500006 +0.52125 +0.51875 +0.535 +0.52750003 +0.45999998 +0.34875003 +0.26624998 +0.2425 +0.21375 +0.1825 +0.15625 +0.20249999 +0.28375 +0.33875 +0.35500002 +0.36874998 +0.41375 +0.505 +0.62750006 +0.76625 +0.91125 +1.07125 +1.25625 +1.4399999 +1.6012498 +1.70625 +1.7437499 +1.6825 +1.54 +1.345 +1.1424999 +0.96125 +0.8025 +0.66625 +0.55375 +0.47499996 +0.44624996 +0.46875 +0.51875 +0.5525 +0.52750003 +0.6087499 +0.49249998 +0.37874997 +0.30625 +0.28375 +0.32250002 +0.40374997 +0.4675 +0.47375003 +0.42374998 +0.35125002 +0.30625 +0.315 +0.38500002 +0.50375 +0.65125 +0.81625 +1.0075 +1.22375 +1.43375 +1.6137502 +1.7349999 +1.78 +1.72625 +1.5862501 +1.39625 +1.18875 +0.99249995 +0.82500005 +0.70124996 +0.6225 +0.59375 +0.60625 +0.62750006 +0.6225 +0.5575 +0.44125 +0.32625002 +0.255 +0.22 +0.20750001 +0.23375 +0.30375 +0.38 +0.41875002 +0.43625003 +0.45875 +0.515 +0.60999995 +0.735 +0.87375 +1.025 +1.2037501 +1.40375 +1.59875 +1.75625 +1.8475 +1.8425 +1.7262499 +1.5250001 +1.28125 +1.0425 +0.83875 +0.67375 +0.54 +0.44250003 +0.3875 +0.39124995 +0.45499998 +0.5525 +0.6375 +0.66375 +0.6087499 +0.49249998 +0.37874997 +0.30625 +0.28375 +0.32250002 +0.40374997 +0.4675 +0.47375003 +0.42374998 +0.35125002 +0.30625 +0.315 +0.38500002 +0.50375 +0.65125 +0.81625 +1.0075 +1.22375 +1.43375 +1.6137502 +1.7349999 +1.78 +1.72625 +1.5862501 +1.39625 +1.18875 +0.99249995 +0.82500005 +0.70124996 +0.6225 +0.59375 +0.60625 +0.62750006 +0.6225 +0.5575 +0.44125 +0.32625002 +0.255 +0.22 +0.20750001 +0.23375 +0.30375 +0.38 +0.41875002 +0.43625003 +0.45875 +0.515 +0.60999995 +0.735 +0.87375 +1.025 +1.2037501 +1.40375 +1.59875 +1.75625 +1.8475 +1.8425 +1.7262499 +1.5250001 +1.28125 +1.0425 +0.83875 +0.67375 +0.54 +0.44250003 +0.3875 +0.39124995 +0.45499998 +0.5525 +0.6375 +0.66375 +0.81874996 +0.74125004 +0.63124996 +0.54125 +0.50875 +0.53499997 +0.59375 +0.63250005 +0.615 +0.54 +0.435 +0.345 +0.30625 +0.33375 +0.43125 +0.57 +0.7325 +0.9275 +1.1525 +1.3824999 +1.5899999 +1.74 +1.82125 +1.8125001 +1.70125 +1.5137501 +1.2924999 +1.08 +0.90625 +0.79375005 +0.74499995 +0.75125 +0.78999996 +0.82624996 +0.8275 +0.77375007 +0.66875 +0.54625 +0.44874996 +0.41125 +0.43875 +0.50624996 +0.5775 +0.62625 +0.64750004 +0.65875 +0.68375 +0.74 +0.83 +0.94124997 +1.0625 +1.215 +1.40625 +1.61 +1.7975 +1.9337499 +1.9849999 +1.92625 +1.7475 +1.4875 +1.205 +0.94624996 +0.72875 +0.56625 +0.45125002 +0.375 +0.34999996 +0.38625 +0.48375002 +0.62125 +0.75 +0.8262501 +0.81874996 +0.74125004 +0.63124996 +0.54125 +0.50875 +0.53499997 +0.59375 +0.63250005 +0.615 +0.54 +0.435 +0.345 +0.30625 +0.33375 +0.43125 +0.57 +0.7325 +0.9275 +1.1525 +1.3824999 +1.5899999 +1.74 +1.82125 +1.8125001 +1.70125 +1.5137501 +1.2924999 +1.08 +0.90625 +0.79375005 +0.74499995 +0.75125 +0.78999996 +0.82624996 +0.8275 +0.77375007 +0.66875 +0.54625 +0.44874996 +0.41125 +0.43875 +0.50624996 +0.5775 +0.62625 +0.64750004 +0.65875 +0.68375 +0.74 +0.83 +0.94124997 +1.0625 +1.215 +1.40625 +1.61 +1.7975 +1.9337499 +1.9849999 +1.92625 +1.7475 +1.4875 +1.205 +0.94624996 +0.72875 +0.56625 +0.45125002 +0.375 +0.34999996 +0.38625 +0.48375002 +0.62125 +0.75 +0.8262501 +1.00875 +0.96374995 +0.87375003 +0.78000003 +0.72374994 +0.725 +0.76 +0.79125 +0.77875 +0.70500004 +0.59 +0.48375 +0.40875 +0.39374998 +0.4475 +0.56375 +0.70625 +0.8899999 +1.09875 +1.32125 +1.5387498 +1.7175 +1.8262501 +1.8475001 +1.77875 +1.6150001 +1.4137499 +1.2225 +1.065 +0.96124995 +0.925 +0.97624993 +1.0525 +1.11375 +1.1324999 +1.09375 +1.01375 +0.92625 +0.86875004 +0.86125004 +0.9 +0.95625 +1.00375 +1.0500001 +1.0625 +1.05375 +1.0550001 +1.0862501 +1.155 +1.2325 +1.3412501 +1.48125 +1.6487501 +1.8249999 +1.98125 +2.0725 +2.0625 +1.9437499 +1.7125 +1.4275 +1.1374999 +0.8775 +0.66999996 +0.53375 +0.44625 +0.39999998 +0.39999998 +0.45749995 +0.5725 +0.72375 +0.87375003 +0.97875 +1.00875 +0.96374995 +0.87375003 +0.78000003 +0.72374994 +0.725 +0.76 +0.79125 +0.77875 +0.70500004 +0.59 +0.48375 +0.40875 +0.39374998 +0.4475 +0.56375 +0.70625 +0.8899999 +1.09875 +1.32125 +1.5387498 +1.7175 +1.8262501 +1.8475001 +1.77875 +1.6150001 +1.4137499 +1.2225 +1.065 +0.96124995 +0.925 +0.97624993 +1.0525 +1.11375 +1.1324999 +1.09375 +1.01375 +0.92625 +0.86875004 +0.86125004 +0.9 +0.95625 +1.00375 +1.0500001 +1.0625 +1.05375 +1.0550001 +1.0862501 +1.155 +1.2325 +1.3412501 +1.48125 +1.6487501 +1.8249999 +1.98125 +2.0725 +2.0625 +1.9437499 +1.7125 +1.4275 +1.1374999 +0.8775 +0.66999996 +0.53375 +0.44625 +0.39999998 +0.39999998 +0.45749995 +0.5725 +0.72375 +0.87375003 +0.97875 +1.13625 +1.1125001 +1.03625 +0.94000006 +0.86375 +0.84125 +0.8625 +0.8974999 +0.905 +0.86125 +0.76250005 +0.66125 +0.57375 +0.5325 +0.55125 +0.6275 +0.74 +0.8825 +1.0512501 +1.2425 +1.4475 +1.64125 +1.78625 +1.8462502 +1.81375 +1.6899999 +1.51875 +1.34375 +1.20625 +1.13125 +1.1274999 +1.2025 +1.3175 +1.4087499 +1.4474999 +1.4300002 +1.37875 +1.3262501 +1.3062501 +1.3325 +1.38625 +1.4387499 +1.4850001 +1.5075 +1.4937499 +1.465 +1.45 +1.4575 +1.495 +1.5525 +1.6325002 +1.7362499 +1.86125 +1.9875 +2.0862498 +2.11625 +2.0425 +1.86375 +1.6075 +1.3175001 +1.0437499 +0.81625 +0.65 +0.5625 +0.515 +0.49875 +0.51750004 +0.5825 +0.68999994 +0.83000004 +0.97375 +1.0875 +1.13625 +1.1125001 +1.03625 +0.94000006 +0.86375 +0.84125 +0.8625 +0.8974999 +0.905 +0.86125 +0.76250005 +0.66125 +0.57375 +0.5325 +0.55125 +0.6275 +0.74 +0.8825 +1.0512501 +1.2425 +1.4475 +1.64125 +1.78625 +1.8462502 +1.81375 +1.6899999 +1.51875 +1.34375 +1.20625 +1.13125 +1.1274999 +1.2025 +1.3175 +1.4087499 +1.4474999 +1.4300002 +1.37875 +1.3262501 +1.3062501 +1.3325 +1.38625 +1.4387499 +1.4850001 +1.5075 +1.4937499 +1.465 +1.45 +1.4575 +1.495 +1.5525 +1.6325002 +1.7362499 +1.86125 +1.9875 +2.0862498 +2.11625 +2.0425 +1.86375 +1.6075 +1.3175001 +1.0437499 +0.81625 +0.65 +0.5625 +0.515 +0.49875 +0.51750004 +0.5825 +0.68999994 +0.83000004 +0.97375 +1.0875 +1.1812501 +1.17625 +1.1099999 +1.01 +0.91375 +0.8625 +0.86750007 +0.90749997 +0.94374996 +0.93999994 +0.87749994 +0.78999996 +0.71124995 +0.65999997 +0.65625006 +0.70125 +0.76875 +0.86375 +0.98625 +1.14125 +1.32375 +1.5200001 +1.69 +1.79 +1.8162501 +1.7225 +1.56125 +1.4000001 +1.2725 +1.2125001 +1.22875 +1.3375 +1.4812499 +1.59625 +1.65875 +1.67 +1.645 +1.6274999 +1.64 +1.6887499 +1.755 +1.8037499 +1.82125 +1.8187499 +1.7812499 +1.7312499 +1.69875 +1.70625 +1.73625 +1.76125 +1.8199999 +1.8937501 +1.9725001 +2.04125 +2.06875 +2.02625 +1.8937501 +1.67875 +1.405 +1.13375 +0.89875007 +0.725 +0.625 +0.59125 +0.58625 +0.59625 +0.62624997 +0.68249995 +0.77 +0.88499993 +1.01 +1.1175001 +1.1812501 +1.17625 +1.1099999 +1.01 +0.91375 +0.8625 +0.86750007 +0.90749997 +0.94374996 +0.93999994 +0.87749994 +0.78999996 +0.71124995 +0.65999997 +0.65625006 +0.70125 +0.76875 +0.86375 +0.98625 +1.14125 +1.32375 +1.5200001 +1.69 +1.79 +1.8162501 +1.7225 +1.56125 +1.4000001 +1.2725 +1.2125001 +1.22875 +1.3375 +1.4812499 +1.59625 +1.65875 +1.67 +1.645 +1.6274999 +1.64 +1.6887499 +1.755 +1.8037499 +1.82125 +1.8187499 +1.7812499 +1.7312499 +1.69875 +1.70625 +1.73625 +1.76125 +1.8199999 +1.8937501 +1.9725001 +2.04125 +2.06875 +2.02625 +1.8937501 +1.67875 +1.405 +1.13375 +0.89875007 +0.725 +0.625 +0.59125 +0.58625 +0.59625 +0.62624997 +0.68249995 +0.77 +0.88499993 +1.01 +1.1175001 +1.13625 +1.15625 +1.105 +1.0025 +0.88375 +0.79625 +0.77500004 +0.80875 +0.86375 +0.89375 +0.87375003 +0.8087501 +0.73875 +0.6925 +0.6925 +0.72625005 +0.77 +0.81250006 +0.89000005 +1.01375 +1.17875 +1.37375 +1.5587499 +1.72875 +1.79 +1.7237501 +1.5625 +1.37625 +1.2450001 +1.1800001 +1.2175 +1.335 +1.48375 +1.61625 +1.7037499 +1.74375 +1.755 +1.76875 +1.8075 +1.8725001 +1.94125 +1.97875 +1.9675001 +1.9137499 +1.8499999 +1.78 +1.76375 +1.7824999 +1.8125 +1.8362501 +1.8499999 +1.9037501 +1.9449999 +1.9562501 +1.9162501 +1.8162501 +1.65125 +1.4124999 +1.1375 +0.88499993 +0.69750005 +0.58875 +0.55125 +0.55625 +0.5825 +0.61375 +0.64625 +0.69125 +0.7562501 +0.84375 +0.95125 +1.0575 +1.13625 +1.15625 +1.105 +1.0025 +0.88375 +0.79625 +0.77500004 +0.80875 +0.86375 +0.89375 +0.87375003 +0.8087501 +0.73875 +0.6925 +0.6925 +0.72625005 +0.77 +0.81250006 +0.89000005 +1.01375 +1.17875 +1.37375 +1.5587499 +1.72875 +1.79 +1.7237501 +1.5625 +1.37625 +1.2450001 +1.1800001 +1.2175 +1.335 +1.48375 +1.61625 +1.7037499 +1.74375 +1.755 +1.76875 +1.8075 +1.8725001 +1.94125 +1.97875 +1.9675001 +1.9137499 +1.8499999 +1.78 +1.76375 +1.7824999 +1.8125 +1.8362501 +1.8499999 +1.9037501 +1.9449999 +1.9562501 +1.9162501 +1.8162501 +1.65125 +1.4124999 +1.1375 +0.88499993 +0.69750005 +0.58875 +0.55125 +0.55625 +0.5825 +0.61375 +0.64625 +0.69125 +0.7562501 +0.84375 +0.95125 +1.0575 +1.0074999 +1.0575 +1.03125 +0.92999995 +0.79125 +0.6675 +0.60875 +0.62 +0.6750001 +0.72625 +0.73875 +0.70375 +0.65625 +0.62749994 +0.63500005 +0.67 +0.7125 +0.74875003 +0.78875005 +0.8725 +1.0275 +1.23125 +1.46375 +1.64625 +1.72625 +1.67625 +1.5275 +1.3375001 +1.1825001 +1.105 +1.125 +1.22375 +1.36375 +1.5037501 +1.6187501 +1.6937499 +1.74625 +1.8 +1.8675001 +1.9449999 +2.0124998 +2.035 +2.0 +1.9174999 +1.8175 +1.7412499 +1.7125001 +1.7225 +1.75625 +1.7887499 +1.80625 +1.8050001 +1.8000001 +1.76 +1.6850001 +1.5525 +1.35125 +1.1 +0.8425 +0.6275 +0.48250002 +0.4125 +0.40625 +0.43374997 +0.47375 +0.5125 +0.54625 +0.57875 +0.625 +0.695 +0.7925001 +0.90625 +1.0074999 +1.0575 +1.03125 +0.92999995 +0.79125 +0.6675 +0.60875 +0.62 +0.6750001 +0.72625 +0.73875 +0.70375 +0.65625 +0.62749994 +0.63500005 +0.67 +0.7125 +0.74875003 +0.78875005 +0.8725 +1.0275 +1.23125 +1.46375 +1.64625 +1.72625 +1.67625 +1.5275 +1.3375001 +1.1825001 +1.105 +1.125 +1.22375 +1.36375 +1.5037501 +1.6187501 +1.6937499 +1.74625 +1.8 +1.8675001 +1.9449999 +2.0124998 +2.035 +2.0 +1.9174999 +1.8175 +1.7412499 +1.7125001 +1.7225 +1.75625 +1.7887499 +1.80625 +1.8050001 +1.8000001 +1.76 +1.6850001 +1.5525 +1.35125 +1.1 +0.8425 +0.6275 +0.48250002 +0.4125 +0.40625 +0.43374997 +0.47375 +0.5125 +0.54625 +0.57875 +0.625 +0.695 +0.7925001 +0.90625 +0.81 +0.8925 +0.8925 +0.80249995 +0.65125 +0.5 +0.405 +0.3875 +0.43375003 +0.4925 +0.525 +0.51625 +0.48875 +0.47875 +0.5025 +0.55125004 +0.60375 +0.64875007 +0.695 +0.77500004 +0.91375005 +1.11625 +1.3375 +1.51875 +1.5999999 +1.56125 +1.42875 +1.255 +1.1 +1.01375 +1.0125 +1.09125 +1.2187499 +1.365 +1.5074999 +1.6287501 +1.7362499 +1.83875 +1.94 +2.0362499 +2.10375 +2.1200001 +2.06875 +1.9662501 +1.8425 +1.74 +1.6837499 +1.6737499 +1.69375 +1.71375 +1.715 +1.68875 +1.63625 +1.55125 +1.42375 +1.2475 +1.0287501 +0.78749996 +0.55875 +0.3775 +0.26375 +0.22125 +0.23 +0.26125002 +0.29625002 +0.3275 +0.35625 +0.38375002 +0.41625002 +0.47124997 +0.56249994 +0.68499994 +0.81 +0.8925 +0.8925 +0.80249995 +0.65125 +0.5 +0.405 +0.3875 +0.43375003 +0.4925 +0.525 +0.51625 +0.48875 +0.47875 +0.5025 +0.55125004 +0.60375 +0.64875007 +0.695 +0.77500004 +0.91375005 +1.11625 +1.3375 +1.51875 +1.5999999 +1.56125 +1.42875 +1.255 +1.1 +1.01375 +1.0125 +1.09125 +1.2187499 +1.365 +1.5074999 +1.6287501 +1.7362499 +1.83875 +1.94 +2.0362499 +2.10375 +2.1200001 +2.06875 +1.9662501 +1.8425 +1.74 +1.6837499 +1.6737499 +1.69375 +1.71375 +1.715 +1.68875 +1.63625 +1.55125 +1.42375 +1.2475 +1.0287501 +0.78749996 +0.55875 +0.3775 +0.26375 +0.22125 +0.23 +0.26125002 +0.29625002 +0.3275 +0.35625 +0.38375002 +0.41625002 +0.47124997 +0.56249994 +0.68499994 +0.5675 +0.675 +0.70125 +0.62874997 +0.48125 +0.31875 +0.23625 +0.22000001 +0.2425 +0.27875 +0.31375 +0.325 +0.3175 +0.32375 +0.36124998 +0.4225 +0.48499998 +0.5375 +0.58625 +0.65625 +0.77750003 +0.95125 +1.14625 +1.30625 +1.3837501 +1.3637501 +1.2625 +1.1275 +1.01125 +0.94874996 +0.955 +1.0250001 +1.145 +1.2975 +1.46625 +1.6362499 +1.8050001 +1.96625 +2.11625 +2.24125 +2.3225 +2.34375 +2.2925 +2.18125 +2.04375 +1.9124999 +1.8175001 +1.76125 +1.7299999 +1.70125 +1.6524999 +1.57125 +1.45625 +1.3125 +1.14125 +0.93875 +0.72374994 +0.5075 +0.3175 +0.19750002 +0.12375 +0.10374999 +0.12375 +0.155 +0.18 +0.19125001 +0.19749999 +0.20875 +0.23125 +0.275 +0.35000002 +0.44750002 +0.5675 +0.675 +0.70125 +0.62874997 +0.48125 +0.31875 +0.23625 +0.22000001 +0.2425 +0.27875 +0.31375 +0.325 +0.3175 +0.32375 +0.36124998 +0.4225 +0.48499998 +0.5375 +0.58625 +0.65625 +0.77750003 +0.95125 +1.14625 +1.30625 +1.3837501 +1.3637501 +1.2625 +1.1275 +1.01125 +0.94874996 +0.955 +1.0250001 +1.145 +1.2975 +1.46625 +1.6362499 +1.8050001 +1.96625 +2.11625 +2.24125 +2.3225 +2.34375 +2.2925 +2.18125 +2.04375 +1.9124999 +1.8175001 +1.76125 +1.7299999 +1.70125 +1.6524999 +1.57125 +1.45625 +1.3125 +1.14125 +0.93875 +0.72374994 +0.5075 +0.3175 +0.19750002 +0.12375 +0.10374999 +0.12375 +0.155 +0.18 +0.19125001 +0.19749999 +0.20875 +0.23125 +0.275 +0.35000002 +0.44750002 +0.365 +0.43875 +0.48250002 +0.43250003 +0.30375 +0.2025 +0.17500001 +0.18125 +0.18375 +0.1775 +0.18374999 +0.2 +0.20875002 +0.22625 +0.26999998 +0.3325 +0.39124998 +0.4325 +0.46250004 +0.5075 +0.59375 +0.72875 +0.8825 +1.015 +1.08625 +1.0875001 +1.0375 +0.99375004 +0.96374995 +0.94874996 +0.97 +1.05375 +1.1725 +1.325 +1.5074999 +1.7150002 +1.93375 +2.15375 +2.355 +2.52 +2.63375 +2.6737502 +2.64375 +2.5674999 +2.4412498 +2.27625 +2.1174998 +1.9975 +1.8899999 +1.77875 +1.6424999 +1.47875 +1.2887502 +1.08375 +0.87375 +0.6675 +0.47125003 +0.3075 +0.20499998 +0.14375 +0.12125 +0.12 +0.14125 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.2 +0.24875 +0.29874998 +0.365 +0.43875 +0.48250002 +0.43250003 +0.30375 +0.2025 +0.17500001 +0.18125 +0.18375 +0.1775 +0.18374999 +0.2 +0.20875002 +0.22625 +0.26999998 +0.3325 +0.39124998 +0.4325 +0.46250004 +0.5075 +0.59375 +0.72875 +0.8825 +1.015 +1.08625 +1.0875001 +1.0375 +0.99375004 +0.96374995 +0.94874996 +0.97 +1.05375 +1.1725 +1.325 +1.5074999 +1.7150002 +1.93375 +2.15375 +2.355 +2.52 +2.63375 +2.6737502 +2.64375 +2.5674999 +2.4412498 +2.27625 +2.1174998 +1.9975 +1.8899999 +1.77875 +1.6424999 +1.47875 +1.2887502 +1.08375 +0.87375 +0.6675 +0.47125003 +0.3075 +0.20499998 +0.14375 +0.12125 +0.12 +0.14125 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.2 +0.24875 +0.29874998 +0.26 +0.27125 +0.2875 +0.2575 +0.18375 +0.14750001 +0.155 +0.17875 +0.18875 +0.17875 +0.1625 +0.16875 +0.19000001 +0.22000001 +0.26125 +0.30625 +0.3425 +0.35 +0.34125 +0.3575 +0.43375 +0.51874995 +0.60375005 +0.70124996 +0.76625 +0.79749995 +0.83875 +0.885 +0.93875 +1.00125 +1.0662501 +1.13875 +1.24 +1.37625 +1.55125 +1.76625 +2.0175 +2.27125 +2.5112498 +2.7125 +2.85875 +2.9499998 +2.9825 +2.94875 +2.845 +2.68375 +2.4850001 +2.27 +2.0762498 +1.8762499 +1.65625 +1.4387499 +1.18875 +0.90749997 +0.66499996 +0.46749997 +0.31125 +0.2525 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.20375 +0.24375 +0.26 +0.27125 +0.2875 +0.2575 +0.18375 +0.14750001 +0.155 +0.17875 +0.18875 +0.17875 +0.1625 +0.16875 +0.19000001 +0.22000001 +0.26125 +0.30625 +0.3425 +0.35 +0.34125 +0.3575 +0.43375 +0.51874995 +0.60375005 +0.70124996 +0.76625 +0.79749995 +0.83875 +0.885 +0.93875 +1.00125 +1.0662501 +1.13875 +1.24 +1.37625 +1.55125 +1.76625 +2.0175 +2.27125 +2.5112498 +2.7125 +2.85875 +2.9499998 +2.9825 +2.94875 +2.845 +2.68375 +2.4850001 +2.27 +2.0762498 +1.8762499 +1.65625 +1.4387499 +1.18875 +0.90749997 +0.66499996 +0.46749997 +0.31125 +0.2525 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.20375 +0.24375 +0.20875 +0.1925 +0.1775 +0.165 +0.12125 +0.1025 +0.13 +0.16375 +0.1825 +0.18 +0.175 +0.19625 +0.235 +0.2775 +0.3175 +0.34375 +0.34 +0.30249998 +0.24624999 +0.24875 +0.29875 +0.35875 +0.41875002 +0.47750002 +0.53 +0.585 +0.65875006 +0.75750005 +0.87874997 +1.00375 +1.11375 +1.2 +1.27875 +1.3775 +1.5187501 +1.7175001 +1.96 +2.21875 +2.4625 +2.67125 +2.835 +2.9537501 +3.02125 +3.0325 +2.9725 +2.84125 +2.64625 +2.40875 +2.15625 +1.9 +1.645 +1.38375 +1.1025 +0.80375 +0.54249996 +0.37375 +0.27625 +0.28 +0.2725 +0.23375 +0.1925 +0.16875 +0.16875 +0.18 +0.1825 +0.16375 +0.13374999 +0.11375 +0.095 +0.11125 +0.1525 +0.1925 +0.20875 +0.1925 +0.1775 +0.165 +0.12125 +0.1025 +0.13 +0.16375 +0.1825 +0.18 +0.175 +0.19625 +0.235 +0.2775 +0.3175 +0.34375 +0.34 +0.30249998 +0.24624999 +0.24875 +0.29875 +0.35875 +0.41875002 +0.47750002 +0.53 +0.585 +0.65875006 +0.75750005 +0.87874997 +1.00375 +1.11375 +1.2 +1.27875 +1.3775 +1.5187501 +1.7175001 +1.96 +2.21875 +2.4625 +2.67125 +2.835 +2.9537501 +3.02125 +3.0325 +2.9725 +2.84125 +2.64625 +2.40875 +2.15625 +1.9 +1.645 +1.38375 +1.1025 +0.80375 +0.54249996 +0.37375 +0.27625 +0.28 +0.2725 +0.23375 +0.1925 +0.16875 +0.16875 +0.18 +0.1825 +0.16375 +0.13374999 +0.11375 +0.095 +0.11125 +0.1525 +0.1925 +0.17125 +0.1675 +0.17375 +0.16499999 +0.13624999 +0.113749996 +0.118750006 +0.1425 +0.16875 +0.17999999 +0.2025 +0.25 +0.30999997 +0.37124997 +0.41875002 +0.4275 +0.3825 +0.295 +0.2 +0.17375 +0.2225 +0.28125 +0.335 +0.38125 +0.41375 +0.44625 +0.515 +0.6275 +0.77375007 +0.92625 +1.05 +1.12625 +1.16875 +1.2075 +1.2900001 +1.43625 +1.6387501 +1.8674998 +2.0874999 +2.2737498 +2.4225 +2.5362499 +2.6225 +2.6725 +2.6675 +2.58875 +2.435 +2.22125 +1.9812502 +1.73125 +1.485 +1.2462499 +0.99749994 +0.73375 +0.5225 +0.39999998 +0.33624998 +0.34125 +0.3375 +0.2925 +0.23625 +0.19625 +0.18 +0.1775 +0.16875 +0.16125 +0.16000001 +0.1425 +0.11125 +0.095 +0.11624999 +0.15375 +0.17125 +0.1675 +0.17375 +0.16499999 +0.13624999 +0.113749996 +0.118750006 +0.1425 +0.16875 +0.17999999 +0.2025 +0.25 +0.30999997 +0.37124997 +0.41875002 +0.4275 +0.3825 +0.295 +0.2 +0.17375 +0.2225 +0.28125 +0.335 +0.38125 +0.41375 +0.44625 +0.515 +0.6275 +0.77375007 +0.92625 +1.05 +1.12625 +1.16875 +1.2075 +1.2900001 +1.43625 +1.6387501 +1.8674998 +2.0874999 +2.2737498 +2.4225 +2.5362499 +2.6225 +2.6725 +2.6675 +2.58875 +2.435 +2.22125 +1.9812502 +1.73125 +1.485 +1.2462499 +0.99749994 +0.73375 +0.5225 +0.39999998 +0.33624998 +0.34125 +0.3375 +0.2925 +0.23625 +0.19625 +0.18 +0.1775 +0.16875 +0.16125 +0.16000001 +0.1425 +0.11125 +0.095 +0.11624999 +0.15375 +0.19375001 +0.22250001 +0.245 +0.2575 +0.24625 +0.22250001 +0.195 +0.18374999 +0.19 +0.20875 +0.2475 +0.31875 +0.41 +0.50124997 +0.55625 +0.54625 +0.46125 +0.32999998 +0.21 +0.15375 +0.22 +0.30625 +0.39749998 +0.46875003 +0.475 +0.4475 +0.44250003 +0.52500004 +0.65375 +0.79625005 +0.93375003 +0.995 +0.98249996 +0.9387499 +0.92625004 +0.99875003 +1.15 +1.3325 +1.515 +1.6749998 +1.78875 +1.86625 +1.9174999 +1.95375 +1.9925 +1.975 +1.88625 +1.7662499 +1.6012499 +1.4075 +1.2025 +1.025 +0.865 +0.68874997 +0.57875 +0.5 +0.45374998 +0.42999998 +0.405 +0.3525 +0.28125 +0.2225 +0.1925 +0.1875 +0.20000002 +0.22125 +0.24 +0.24 +0.20625001 +0.1625 +0.145 +0.16250001 +0.19375001 +0.22250001 +0.245 +0.2575 +0.24625 +0.22250001 +0.195 +0.18374999 +0.19 +0.20875 +0.2475 +0.31875 +0.41 +0.50124997 +0.55625 +0.54625 +0.46125 +0.32999998 +0.21 +0.15375 +0.22 +0.30625 +0.39749998 +0.46875003 +0.475 +0.4475 +0.44250003 +0.52500004 +0.65375 +0.79625005 +0.93375003 +0.995 +0.98249996 +0.9387499 +0.92625004 +0.99875003 +1.15 +1.3325 +1.515 +1.6749998 +1.78875 +1.86625 +1.9174999 +1.95375 +1.9925 +1.975 +1.88625 +1.7662499 +1.6012499 +1.4075 +1.2025 +1.025 +0.865 +0.68874997 +0.57875 +0.5 +0.45374998 +0.42999998 +0.405 +0.3525 +0.28125 +0.2225 +0.1925 +0.1875 +0.20000002 +0.22125 +0.24 +0.24 +0.20625001 +0.1625 +0.145 +0.16250001 +0.2825 +0.31375 +0.3475 +0.37374997 +0.3875 +0.38125 +0.35875 +0.32 +0.28500003 +0.2725 +0.305 +0.39124998 +0.52124995 +0.6474999 +0.71625 +0.6875 +0.56375 +0.39375 +0.25625 +0.21500002 +0.29250002 +0.44125003 +0.58375 +0.65500003 +0.6325 +0.55375004 +0.49374998 +0.505 +0.5975 +0.72749996 +0.82125 +0.83000004 +0.7575 +0.655 +0.58875 +0.60875005 +0.71374995 +0.86375 +1.00125 +1.09125 +1.12875 +1.14 +1.15625 +1.19125 +1.23625 +1.27 +1.26125 +1.205 +1.1087501 +0.98875004 +0.87625 +0.7875 +0.725 +0.68375 +0.6575 +0.62625 +0.58625 +0.54 +0.48624998 +0.41625 +0.34875 +0.29625 +0.27375 +0.27875 +0.29749998 +0.31374997 +0.32125002 +0.31375 +0.29375 +0.27124998 +0.25875002 +0.26 +0.2825 +0.31375 +0.3475 +0.37374997 +0.3875 +0.38125 +0.35875 +0.32 +0.28500003 +0.2725 +0.305 +0.39124998 +0.52124995 +0.6474999 +0.71625 +0.6875 +0.56375 +0.39375 +0.25625 +0.21500002 +0.29250002 +0.44125003 +0.58375 +0.65500003 +0.6325 +0.55375004 +0.49374998 +0.505 +0.5975 +0.72749996 +0.82125 +0.83000004 +0.7575 +0.655 +0.58875 +0.60875005 +0.71374995 +0.86375 +1.00125 +1.09125 +1.12875 +1.14 +1.15625 +1.19125 +1.23625 +1.27 +1.26125 +1.205 +1.1087501 +0.98875004 +0.87625 +0.7875 +0.725 +0.68375 +0.6575 +0.62625 +0.58625 +0.54 +0.48624998 +0.41625 +0.34875 +0.29625 +0.27375 +0.27875 +0.29749998 +0.31374997 +0.32125002 +0.31375 +0.29375 +0.27124998 +0.25875002 +0.26 +0.355 +0.36624998 +0.39124998 +0.43124998 +0.47625 +0.49375 +0.47875 +0.425 +0.35625002 +0.32125 +0.3525 +0.46874997 +0.6424999 +0.80625 +0.88124996 +0.82875 +0.66 +0.44750002 +0.29500002 +0.275 +0.39000002 +0.58375 +0.7525 +0.81750005 +0.7637501 +0.64 +0.53625 +0.51 +0.56874996 +0.65874994 +0.7075 +0.6675 +0.54875 +0.41625 +0.34125003 +0.36249998 +0.46625 +0.59625 +0.68499994 +0.69875 +0.64624995 +0.57625 +0.53499997 +0.55125 +0.60875 +0.67375 +0.70500004 +0.68875 +0.63625 +0.575 +0.53999996 +0.545 +0.58500004 +0.64125 +0.6875 +0.7025 +0.68125 +0.62875 +0.56749994 +0.51624995 +0.48375 +0.46500003 +0.45375 +0.4425 +0.42375 +0.39749998 +0.37 +0.35125 +0.34625 +0.34499997 +0.34874997 +0.34875 +0.355 +0.36624998 +0.39124998 +0.43124998 +0.47625 +0.49375 +0.47875 +0.425 +0.35625002 +0.32125 +0.3525 +0.46874997 +0.6424999 +0.80625 +0.88124996 +0.82875 +0.66 +0.44750002 +0.29500002 +0.275 +0.39000002 +0.58375 +0.7525 +0.81750005 +0.7637501 +0.64 +0.53625 +0.51 +0.56874996 +0.65874994 +0.7075 +0.6675 +0.54875 +0.41625 +0.34125003 +0.36249998 +0.46625 +0.59625 +0.68499994 +0.69875 +0.64624995 +0.57625 +0.53499997 +0.55125 +0.60875 +0.67375 +0.70500004 +0.68875 +0.63625 +0.575 +0.53999996 +0.545 +0.58500004 +0.64125 +0.6875 +0.7025 +0.68125 +0.62875 +0.56749994 +0.51624995 +0.48375 +0.46500003 +0.45375 +0.4425 +0.42375 +0.39749998 +0.37 +0.35125 +0.34625 +0.34499997 +0.34874997 +0.34875 +0.34625 +0.32500002 +0.335 +0.3875 +0.46249998 +0.5175 +0.5225 +0.46625 +0.3875 +0.3425 +0.38625 +0.53749996 +0.7575 +0.95 +1.025 +0.9375 +0.71750003 +0.46250004 +0.28875 +0.27375 +0.415 +0.6275 +0.79875004 +0.85 +0.77250004 +0.62875 +0.5075 +0.475 +0.52375 +0.59250003 +0.6075 +0.5275 +0.38375 +0.2525 +0.20125 +0.26375002 +0.40374997 +0.54375 +0.60375 +0.5525 +0.41875002 +0.26874998 +0.18499999 +0.17 +0.2275 +0.30374998 +0.3475 +0.3375 +0.28875 +0.24749999 +0.23875001 +0.29749998 +0.40625 +0.53249997 +0.635 +0.685 +0.68125 +0.6475 +0.61375 +0.59875005 +0.61 +0.625 +0.625 +0.5925 +0.52624995 +0.44625002 +0.38375002 +0.35250002 +0.35500002 +0.37375003 +0.38625002 +0.37249997 +0.34625 +0.32500002 +0.335 +0.3875 +0.46249998 +0.5175 +0.5225 +0.46625 +0.3875 +0.3425 +0.38625 +0.53749996 +0.7575 +0.95 +1.025 +0.9375 +0.71750003 +0.46250004 +0.28875 +0.27375 +0.415 +0.6275 +0.79875004 +0.85 +0.77250004 +0.62875 +0.5075 +0.475 +0.52375 +0.59250003 +0.6075 +0.5275 +0.38375 +0.2525 +0.20125 +0.26375002 +0.40374997 +0.54375 +0.60375 +0.5525 +0.41875002 +0.26874998 +0.18499999 +0.17 +0.2275 +0.30374998 +0.3475 +0.3375 +0.28875 +0.24749999 +0.23875001 +0.29749998 +0.40625 +0.53249997 +0.635 +0.685 +0.68125 +0.6475 +0.61375 +0.59875005 +0.61 +0.625 +0.625 +0.5925 +0.52624995 +0.44625002 +0.38375002 +0.35250002 +0.35500002 +0.37375003 +0.38625002 +0.37249997 +0.28125 +0.22250001 +0.205 +0.26125 +0.36374998 +0.45875 +0.48749998 +0.44375 +0.365 +0.32625002 +0.39249998 +0.58125 +0.8375 +1.0475 +1.1112499 +0.9875 +0.7175 +0.42000002 +0.225 +0.20750001 +0.38374996 +0.57374996 +0.70875 +0.73625004 +0.64125 +0.50124997 +0.40125 +0.42125002 +0.485 +0.53000003 +0.5225 +0.41625002 +0.25875 +0.13875 +0.1325 +0.26875 +0.47500002 +0.63124996 +0.67 +0.5775 +0.385 +0.17999999 +0.0575 +0.03625 +0.1125 +0.19250001 +0.20750001 +0.18124999 +0.10625 +0.0625 +0.05 +0.1075 +0.25875 +0.38375002 +0.515 +0.58750004 +0.60625005 +0.6 +0.60375 +0.64 +0.70000005 +0.75 +0.755 +0.69625 +0.58 +0.45125002 +0.35625002 +0.32375002 +0.34250003 +0.38125002 +0.39375 +0.355 +0.28125 +0.22250001 +0.205 +0.26125 +0.36374998 +0.45875 +0.48749998 +0.44375 +0.365 +0.32625002 +0.39249998 +0.58125 +0.8375 +1.0475 +1.1112499 +0.9875 +0.7175 +0.42000002 +0.225 +0.20750001 +0.38374996 +0.57374996 +0.70875 +0.73625004 +0.64125 +0.50124997 +0.40125 +0.42125002 +0.485 +0.53000003 +0.5225 +0.41625002 +0.25875 +0.13875 +0.1325 +0.26875 +0.47500002 +0.63124996 +0.67 +0.5775 +0.385 +0.17999999 +0.0575 +0.03625 +0.1125 +0.19250001 +0.20750001 +0.18124999 +0.10625 +0.0625 +0.05 +0.1075 +0.25875 +0.38375002 +0.515 +0.58750004 +0.60625005 +0.6 +0.60375 +0.64 +0.70000005 +0.75 +0.755 +0.69625 +0.58 +0.45125002 +0.35625002 +0.32375002 +0.34250003 +0.38125002 +0.39375 +0.355 +0.24000001 +0.16 +0.12875 +0.14625 +0.2525 +0.36874998 +0.41875002 +0.385 +0.3125 +0.28249997 +0.36875 +0.58375 +0.85875005 +1.0725 +1.1212499 +0.96500003 +0.66125 +0.33875 +0.13375 +0.1425 +0.31499997 +0.48999998 +0.57624996 +0.55 +0.44875 +0.35375002 +0.33875 +0.40875 +0.51125 +0.5625 +0.5025 +0.34625 +0.16875 +0.07 +0.12375001 +0.31875 +0.56874996 +0.75749993 +0.79125 +0.65875006 +0.43124998 +0.2075 +0.091249995 +0.1025 +0.19375001 +0.27875 +0.2875 +0.2025 +0.08624999 +0.015 +0.0025 +0.052500002 +0.17875001 +0.29874998 +0.40250003 +0.48375 +0.5175 +0.535 +0.575 +0.655 +0.75374997 +0.825 +0.82375 +0.7312499 +0.57375 +0.41125 +0.305 +0.28875 +0.33999997 +0.40375003 +0.4225 +0.35875 +0.24000001 +0.16 +0.12875 +0.14625 +0.2525 +0.36874998 +0.41875002 +0.385 +0.3125 +0.28249997 +0.36875 +0.58375 +0.85875005 +1.0725 +1.1212499 +0.96500003 +0.66125 +0.33875 +0.13375 +0.1425 +0.31499997 +0.48999998 +0.57624996 +0.55 +0.44875 +0.35375002 +0.33875 +0.40875 +0.51125 +0.5625 +0.5025 +0.34625 +0.16875 +0.07 +0.12375001 +0.31875 +0.56874996 +0.75749993 +0.79125 +0.65875006 +0.43124998 +0.2075 +0.091249995 +0.1025 +0.19375001 +0.27875 +0.2875 +0.2025 +0.08624999 +0.015 +0.0025 +0.052500002 +0.17875001 +0.29874998 +0.40250003 +0.48375 +0.5175 +0.535 +0.575 +0.655 +0.75374997 +0.825 +0.82375 +0.7312499 +0.57375 +0.41125 +0.305 +0.28875 +0.33999997 +0.40375003 +0.4225 +0.35875 +0.31625 +0.20625 +0.1525 +0.13749999 +0.21 +0.32375002 +0.37124997 +0.33374998 +0.25875 +0.23 +0.3225 +0.545 +0.81999993 +1.025 +1.0575 +0.88625 +0.57624996 +0.2625 +0.072500005 +0.0875 +0.245 +0.39499998 +0.45749998 +0.41375002 +0.32 +0.26 +0.29749998 +0.42 +0.55875 +0.615 +0.53875 +0.355 +0.15375 +0.05125 +0.10625 +0.31375 +0.58 +0.78375006 +0.8312501 +0.71250004 +0.4975 +0.29375002 +0.1925 +0.21625 +0.315 +0.405 +0.41375002 +0.325 +0.18875 +0.085 +0.045 +0.08625001 +0.19500001 +0.295 +0.37375 +0.4475 +0.47875002 +0.50625 +0.565 +0.665 +0.77750003 +0.84499997 +0.82125 +0.6987501 +0.5125 +0.33625 +0.24874999 +0.27249998 +0.37625 +0.485 +0.52 +0.44875 +0.31625 +0.20625 +0.1525 +0.13749999 +0.21 +0.32375002 +0.37124997 +0.33374998 +0.25875 +0.23 +0.3225 +0.545 +0.81999993 +1.025 +1.0575 +0.88625 +0.57624996 +0.2625 +0.072500005 +0.0875 +0.245 +0.39499998 +0.45749998 +0.41375002 +0.32 +0.26 +0.29749998 +0.42 +0.55875 +0.615 +0.53875 +0.355 +0.15375 +0.05125 +0.10625 +0.31375 +0.58 +0.78375006 +0.8312501 +0.71250004 +0.4975 +0.29375002 +0.1925 +0.21625 +0.315 +0.405 +0.41375002 +0.325 +0.18875 +0.085 +0.045 +0.08625001 +0.19500001 +0.295 +0.37375 +0.4475 +0.47875002 +0.50625 +0.565 +0.665 +0.77750003 +0.84499997 +0.82125 +0.6987501 +0.5125 +0.33625 +0.24874999 +0.27249998 +0.37625 +0.485 +0.52 +0.44875 +0.48875 +0.335 +0.23875 +0.2175 +0.28125 +0.36625 +0.38749996 +0.32874998 +0.23875 +0.20499998 +0.2825 +0.48624998 +0.7425 +0.9275 +0.9475 +0.78375 +0.5 +0.22625 +0.07 +0.068749994 +0.21374999 +0.34249997 +0.38250002 +0.34999996 +0.27125 +0.22875002 +0.30625 +0.4625 +0.61875 +0.67499995 +0.58124995 +0.375 +0.16375 +0.045 +0.07625 +0.25875002 +0.51 +0.70624995 +0.77125 +0.6875 +0.51125 +0.34500003 +0.27374998 +0.31 +0.41 +0.50125 +0.51750004 +0.45 +0.34875 +0.24375 +0.19 +0.2325 +0.315 +0.385 +0.455 +0.49749997 +0.51125 +0.52624995 +0.57874995 +0.67125 +0.7675 +0.815 +0.765 +0.61875 +0.4225 +0.2625 +0.215 +0.29250002 +0.46 +0.62375 +0.69624996 +0.63750005 +0.48875 +0.335 +0.23875 +0.2175 +0.28125 +0.36625 +0.38749996 +0.32874998 +0.23875 +0.20499998 +0.2825 +0.48624998 +0.7425 +0.9275 +0.9475 +0.78375 +0.5 +0.22625 +0.07 +0.068749994 +0.21374999 +0.34249997 +0.38250002 +0.34999996 +0.27125 +0.22875002 +0.30625 +0.4625 +0.61875 +0.67499995 +0.58124995 +0.375 +0.16375 +0.045 +0.07625 +0.25875002 +0.51 +0.70624995 +0.77125 +0.6875 +0.51125 +0.34500003 +0.27374998 +0.31 +0.41 +0.50125 +0.51750004 +0.45 +0.34875 +0.24375 +0.19 +0.2325 +0.315 +0.385 +0.455 +0.49749997 +0.51125 +0.52624995 +0.57874995 +0.67125 +0.7675 +0.815 +0.765 +0.61875 +0.4225 +0.2625 +0.215 +0.29250002 +0.46 +0.62375 +0.69624996 +0.63750005 +0.725 +0.54875 +0.42499998 +0.3975 +0.4375 +0.47999996 +0.4675 +0.38125002 +0.2725 +0.21375 +0.265 +0.43875 +0.65875 +0.8175 +0.83500004 +0.69374996 +0.45499998 +0.23499998 +0.11625 +0.12875 +0.2425 +0.3625 +0.4175 +0.3925 +0.33249998 +0.305 +0.36375 +0.51625 +0.66625 +0.70875 +0.615 +0.43624997 +0.2375 +0.113749996 +0.12249999 +0.26625 +0.47375 +0.6525 +0.7225 +0.67375004 +0.55375004 +0.425 +0.35375002 +0.38625 +0.47375003 +0.55125 +0.58875 +0.58875 +0.5425 +0.48125002 +0.44249997 +0.45125 +0.49874997 +0.55499995 +0.58874995 +0.58875 +0.5675 +0.55625004 +0.58375 +0.64874995 +0.72 +0.74125004 +0.67375004 +0.52375 +0.3425 +0.21624999 +0.2125 +0.34374997 +0.56875 +0.78375 +0.89875 +0.86749995 +0.725 +0.54875 +0.42499998 +0.3975 +0.4375 +0.47999996 +0.4675 +0.38125002 +0.2725 +0.21375 +0.265 +0.43875 +0.65875 +0.8175 +0.83500004 +0.69374996 +0.45499998 +0.23499998 +0.11625 +0.12875 +0.2425 +0.3625 +0.4175 +0.3925 +0.33249998 +0.305 +0.36375 +0.51625 +0.66625 +0.70875 +0.615 +0.43624997 +0.2375 +0.113749996 +0.12249999 +0.26625 +0.47375 +0.6525 +0.7225 +0.67375004 +0.55375004 +0.425 +0.35375002 +0.38625 +0.47375003 +0.55125 +0.58875 +0.58875 +0.5425 +0.48125002 +0.44249997 +0.45125 +0.49874997 +0.55499995 +0.58874995 +0.58875 +0.5675 +0.55625004 +0.58375 +0.64874995 +0.72 +0.74125004 +0.67375004 +0.52375 +0.3425 +0.21624999 +0.2125 +0.34374997 +0.56875 +0.78375 +0.89875 +0.86749995 +0.92125005 +0.76125 +0.63750005 +0.59250003 +0.6025 +0.61 +0.56875 +0.46375 +0.33500004 +0.25625002 +0.28250003 +0.41625 +0.59375006 +0.72749996 +0.74625 +0.63875 +0.45750004 +0.29 +0.21375 +0.24624999 +0.34875 +0.45000002 +0.49374998 +0.47125 +0.42249998 +0.41125 +0.46625 +0.57874995 +0.6875 +0.72249997 +0.64875 +0.48749998 +0.30875 +0.1925 +0.18499999 +0.2875 +0.445 +0.5875 +0.66249996 +0.6525 +0.58874995 +0.51375 +0.47125 +0.47625 +0.52250004 +0.58500004 +0.63625 +0.65749997 +0.65624994 +0.64375 +0.63875 +0.65000004 +0.67125 +0.6825 +0.6675 +0.62624997 +0.5725 +0.53375006 +0.535 +0.57625 +0.62375 +0.63375 +0.56875 +0.4375 +0.28625 +0.19500001 +0.22875 +0.39874998 +0.6525 +0.89875 +1.04125 +1.03875 +0.92125005 +0.76125 +0.63750005 +0.59250003 +0.6025 +0.61 +0.56875 +0.46375 +0.33500004 +0.25625002 +0.28250003 +0.41625 +0.59375006 +0.72749996 +0.74625 +0.63875 +0.45750004 +0.29 +0.21375 +0.24624999 +0.34875 +0.45000002 +0.49374998 +0.47125 +0.42249998 +0.41125 +0.46625 +0.57874995 +0.6875 +0.72249997 +0.64875 +0.48749998 +0.30875 +0.1925 +0.18499999 +0.2875 +0.445 +0.5875 +0.66249996 +0.6525 +0.58874995 +0.51375 +0.47125 +0.47625 +0.52250004 +0.58500004 +0.63625 +0.65749997 +0.65624994 +0.64375 +0.63875 +0.65000004 +0.67125 +0.6825 +0.6675 +0.62624997 +0.5725 +0.53375006 +0.535 +0.57625 +0.62375 +0.63375 +0.56875 +0.4375 +0.28625 +0.19500001 +0.22875 +0.39874998 +0.6525 +0.89875 +1.04125 +1.03875 +0.9775 +0.845 +0.7375 +0.695 +0.69625 +0.6975 +0.65 +0.5425 +0.41374996 +0.32625002 +0.32874998 +0.425 +0.56624997 +0.67625 +0.70500004 +0.63500005 +0.51375 +0.40249997 +0.36 +0.3975 +0.48125 +0.55625 +0.58375 +0.56 +0.515 +0.4975 +0.53249997 +0.60375 +0.66875 +0.67875 +0.60375 +0.4725 +0.32875 +0.2325 +0.22000001 +0.2825 +0.3875 +0.49124998 +0.56 +0.57875 +0.56374997 +0.53625 +0.5125 +0.50625 +0.5125 +0.5325 +0.55625 +0.58000004 +0.6075 +0.635 +0.65999997 +0.67375 +0.67625 +0.655 +0.60625 +0.5375 +0.46875 +0.42000002 +0.415 +0.44750002 +0.4925 +0.51000005 +0.46749997 +0.3675 +0.25625 +0.1975 +0.24999999 +0.41875 +0.66249996 +0.9 +1.0475 +1.0675 +0.9775 +0.845 +0.7375 +0.695 +0.69625 +0.6975 +0.65 +0.5425 +0.41374996 +0.32625002 +0.32874998 +0.425 +0.56624997 +0.67625 +0.70500004 +0.63500005 +0.51375 +0.40249997 +0.36 +0.3975 +0.48125 +0.55625 +0.58375 +0.56 +0.515 +0.4975 +0.53249997 +0.60375 +0.66875 +0.67875 +0.60375 +0.4725 +0.32875 +0.2325 +0.22000001 +0.2825 +0.3875 +0.49124998 +0.56 +0.57875 +0.56374997 +0.53625 +0.5125 +0.50625 +0.5125 +0.5325 +0.55625 +0.58000004 +0.6075 +0.635 +0.65999997 +0.67375 +0.67625 +0.655 +0.60625 +0.5375 +0.46875 +0.42000002 +0.415 +0.44750002 +0.4925 +0.51000005 +0.46749997 +0.3675 +0.25625 +0.1975 +0.24999999 +0.41875 +0.66249996 +0.9 +1.0475 +1.0675 +0.87 +0.77250004 +0.6999999 +0.68 +0.7 +0.71750003 +0.68875 +0.60375 +0.49 +0.40875 +0.39999998 +0.46875 +0.585 +0.69 +0.735 +0.7125 +0.65000004 +0.59625 +0.59000003 +0.63875 +0.715 +0.75874996 +0.7637501 +0.72375 +0.665 +0.62375 +0.6175 +0.63 +0.63624996 +0.60625 +0.525 +0.41125 +0.30124998 +0.22875 +0.21499999 +0.24374998 +0.29749998 +0.35500002 +0.39874998 +0.42 +0.43375 +0.4375 +0.42874998 +0.41 +0.38249996 +0.35375 +0.34375 +0.35375 +0.3875 +0.4375 +0.48375 +0.50874996 +0.51374996 +0.47375 +0.40875003 +0.33875 +0.28125 +0.2475 +0.25625 +0.30499998 +0.365 +0.4 +0.38875002 +0.325 +0.24625 +0.20375 +0.24625002 +0.38125 +0.5812501 +0.78 +0.90874994 +0.93375003 +0.87 +0.77250004 +0.6999999 +0.68 +0.7 +0.71750003 +0.68875 +0.60375 +0.49 +0.40875 +0.39999998 +0.46875 +0.585 +0.69 +0.735 +0.7125 +0.65000004 +0.59625 +0.59000003 +0.63875 +0.715 +0.75874996 +0.7637501 +0.72375 +0.665 +0.62375 +0.6175 +0.63 +0.63624996 +0.60625 +0.525 +0.41125 +0.30124998 +0.22875 +0.21499999 +0.24374998 +0.29749998 +0.35500002 +0.39874998 +0.42 +0.43375 +0.4375 +0.42874998 +0.41 +0.38249996 +0.35375 +0.34375 +0.35375 +0.3875 +0.4375 +0.48375 +0.50874996 +0.51374996 +0.47375 +0.40875003 +0.33875 +0.28125 +0.2475 +0.25625 +0.30499998 +0.365 +0.4 +0.38875002 +0.325 +0.24625 +0.20375 +0.24625002 +0.38125 +0.5812501 +0.78 +0.90874994 +0.93375003 +0.67875004 +0.6175 +0.585 +0.60375 +0.65749997 +0.70624995 +0.71000004 +0.65749997 +0.57125 +0.50249994 +0.495 +0.55750006 +0.67125005 +0.78499997 +0.86375 +0.895 +0.90375 +0.9225 +0.99875003 +1.1075001 +1.19375 +1.2125 +1.15625 +1.09125 +0.99750006 +0.91125005 +0.84375 +0.78625 +0.735 +0.63625 +0.51875 +0.39875 +0.3 +0.23875 +0.21875 +0.22125003 +0.22874999 +0.22875 +0.22875 +0.22500001 +0.22749998 +0.24125 +0.24750002 +0.23124999 +0.19749999 +0.12625 +0.10374999 +0.11 +0.1325 +0.17000002 +0.22 +0.3025 +0.32874998 +0.2925 +0.2075 +0.12875 +0.098749995 +0.10125001 +0.14125 +0.21375 +0.29 +0.34 +0.34625 +0.30875 +0.24875 +0.205 +0.21874999 +0.305 +0.44624996 +0.59375 +0.6925 +0.71625 +0.67875004 +0.6175 +0.585 +0.60375 +0.65749997 +0.70624995 +0.71000004 +0.65749997 +0.57125 +0.50249994 +0.495 +0.55750006 +0.67125005 +0.78499997 +0.86375 +0.895 +0.90375 +0.9225 +0.99875003 +1.1075001 +1.19375 +1.2125 +1.15625 +1.09125 +0.99750006 +0.91125005 +0.84375 +0.78625 +0.735 +0.63625 +0.51875 +0.39875 +0.3 +0.23875 +0.21875 +0.22125003 +0.22874999 +0.22875 +0.22875 +0.22500001 +0.22749998 +0.24125 +0.24750002 +0.23124999 +0.19749999 +0.12625 +0.10374999 +0.11 +0.1325 +0.17000002 +0.22 +0.3025 +0.32874998 +0.2925 +0.2075 +0.12875 +0.098749995 +0.10125001 +0.14125 +0.21375 +0.29 +0.34 +0.34625 +0.30875 +0.24875 +0.205 +0.21874999 +0.305 +0.44624996 +0.59375 +0.6925 +0.71625 +0.51375 +0.49124998 +0.5 +0.55875 +0.645 +0.72499996 +0.75625 +0.72625 +0.66375 +0.615 +0.62375003 +0.71124995 +0.85249996 +0.99 +1.1 +1.19375 +1.2850001 +1.42125 +1.6 +1.7825 +1.915 +1.9487499 +1.8812499 +1.7425001 +1.6000001 +1.4525 +1.3262501 +1.22125 +1.09 +0.91375 +0.7075 +0.5425 +0.4275 +0.36125 +0.33375 +0.315 +0.27625 +0.21374999 +0.1575 +0.11375 +0.08 +0.068749994 +0.0975 +0.1275 +0.09875 +0.033749998 +0.0 +0.0125 +0.01875 +0.01375 +0.09375 +0.19375001 +0.23 +0.19874999 +0.12375 +0.051249996 +0.0275 +0.065 +0.14125 +0.24000001 +0.3225 +0.35875 +0.35125002 +0.31375003 +0.25125 +0.19875 +0.1875 +0.23250002 +0.32250002 +0.42624998 +0.5025 +0.52750003 +0.51375 +0.49124998 +0.5 +0.55875 +0.645 +0.72499996 +0.75625 +0.72625 +0.66375 +0.615 +0.62375003 +0.71124995 +0.85249996 +0.99 +1.1 +1.19375 +1.2850001 +1.42125 +1.6 +1.7825 +1.915 +1.9487499 +1.8812499 +1.7425001 +1.6000001 +1.4525 +1.3262501 +1.22125 +1.09 +0.91375 +0.7075 +0.5425 +0.4275 +0.36125 +0.33375 +0.315 +0.27625 +0.21374999 +0.1575 +0.11375 +0.08 +0.068749994 +0.0975 +0.1275 +0.09875 +0.033749998 +0.0 +0.0125 +0.01875 +0.01375 +0.09375 +0.19375001 +0.23 +0.19874999 +0.12375 +0.051249996 +0.0275 +0.065 +0.14125 +0.24000001 +0.3225 +0.35875 +0.35125002 +0.31375003 +0.25125 +0.19875 +0.1875 +0.23250002 +0.32250002 +0.42624998 +0.5025 +0.52750003 +0.45875 +0.47374997 +0.51875 +0.60625 +0.71375 +0.80375 +0.84125 +0.8175 +0.76625 +0.74 +0.77875 +0.90749997 +1.07875 +1.25 +1.4024999 +1.55375 +1.73875 +1.9875 +2.28625 +2.57875 +2.7912498 +2.8675 +2.79875 +2.625 +2.41125 +2.2024999 +2.01875 +1.83875 +1.6312501 +1.37875 +1.10375 +0.875 +0.7275 +0.65375006 +0.62375003 +0.5925 +0.5175 +0.39000002 +0.25 +0.14750001 +0.0875 +0.06875 +0.11375 +0.17625 +0.17375 +0.1125 +0.05375 +0.030000001 +0.0375 +0.0775 +0.18125 +0.29000002 +0.32375 +0.27875 +0.19000001 +0.115 +0.098749995 +0.15375 +0.25375 +0.35625 +0.41875 +0.425 +0.38 +0.31875 +0.2475 +0.1925 +0.17625001 +0.20374998 +0.2675 +0.35 +0.41625 +0.45 +0.45875 +0.47374997 +0.51875 +0.60625 +0.71375 +0.80375 +0.84125 +0.8175 +0.76625 +0.74 +0.77875 +0.90749997 +1.07875 +1.25 +1.4024999 +1.55375 +1.73875 +1.9875 +2.28625 +2.57875 +2.7912498 +2.8675 +2.79875 +2.625 +2.41125 +2.2024999 +2.01875 +1.83875 +1.6312501 +1.37875 +1.10375 +0.875 +0.7275 +0.65375006 +0.62375003 +0.5925 +0.5175 +0.39000002 +0.25 +0.14750001 +0.0875 +0.06875 +0.11375 +0.17625 +0.17375 +0.1125 +0.05375 +0.030000001 +0.0375 +0.0775 +0.18125 +0.29000002 +0.32375 +0.27875 +0.19000001 +0.115 +0.098749995 +0.15375 +0.25375 +0.35625 +0.41875 +0.425 +0.38 +0.31875 +0.2475 +0.1925 +0.17625001 +0.20374998 +0.2675 +0.35 +0.41625 +0.45 +0.5075 +0.55125 +0.6225 +0.72625 +0.83625007 +0.91375 +0.93125 +0.8937501 +0.84499997 +0.83875 +0.91625 +1.08625 +1.2875001 +1.48125 +1.65875 +1.85375 +2.09875 +2.45 +2.875 +3.295 +3.6075 +3.73625 +3.6687498 +3.46125 +3.2 +2.92375 +2.6825001 +2.4500003 +2.1875 +1.87875 +1.55 +1.2925 +1.1212499 +1.05 +1.03625 +1.01625 +0.92749995 +0.7575 +0.54125 +0.35249996 +0.25125 +0.24874999 +0.31875 +0.42 +0.4525 +0.39749998 +0.29875 +0.235 +0.26125 +0.35875002 +0.49374998 +0.5925001 +0.59625 +0.49999997 +0.36375 +0.255 +0.23 +0.29749998 +0.395 +0.48249996 +0.5125 +0.47125 +0.37874997 +0.2875 +0.21374999 +0.175 +0.17750001 +0.21875 +0.28750002 +0.36625 +0.43125 +0.475 +0.5075 +0.55125 +0.6225 +0.72625 +0.83625007 +0.91375 +0.93125 +0.8937501 +0.84499997 +0.83875 +0.91625 +1.08625 +1.2875001 +1.48125 +1.65875 +1.85375 +2.09875 +2.45 +2.875 +3.295 +3.6075 +3.73625 +3.6687498 +3.46125 +3.2 +2.92375 +2.6825001 +2.4500003 +2.1875 +1.87875 +1.55 +1.2925 +1.1212499 +1.05 +1.03625 +1.01625 +0.92749995 +0.7575 +0.54125 +0.35249996 +0.25125 +0.24874999 +0.31875 +0.42 +0.4525 +0.39749998 +0.29875 +0.235 +0.26125 +0.35875002 +0.49374998 +0.5925001 +0.59625 +0.49999997 +0.36375 +0.255 +0.23 +0.29749998 +0.395 +0.48249996 +0.5125 +0.47125 +0.37874997 +0.2875 +0.21374999 +0.175 +0.17750001 +0.21875 +0.28750002 +0.36625 +0.43125 +0.475 +0.5725 +0.6362501 +0.7275 +0.83500004 +0.93 +0.97499996 +0.95374995 +0.8874999 +0.83125 +0.84624994 +0.96375 +1.1650001 +1.38625 +1.58375 +1.7550001 +1.9399999 +2.20875 +2.62375 +3.1574998 +3.6924999 +4.0975 +4.27 +4.21375 +3.98125 +3.665 +3.34875 +3.0712502 +2.81375 +2.53125 +2.2124999 +1.8837501 +1.60625 +1.44 +1.39625 +1.42625 +1.4437499 +1.3699999 +1.18 +0.92249995 +0.6875 +0.56125003 +0.5725 +0.6775 +0.79125 +0.83750004 +0.7975 +0.71500003 +0.66625 +0.7025 +0.81374997 +0.93125 +0.9812499 +0.9175 +0.73625004 +0.5125 +0.34124997 +0.29749998 +0.365 +0.46625 +0.53125 +0.51750004 +0.42499998 +0.29250002 +0.17999998 +0.13250001 +0.12875 +0.16624999 +0.24125 +0.33 +0.41125 +0.47625 +0.52374995 +0.5725 +0.6362501 +0.7275 +0.83500004 +0.93 +0.97499996 +0.95374995 +0.8874999 +0.83125 +0.84624994 +0.96375 +1.1650001 +1.38625 +1.58375 +1.7550001 +1.9399999 +2.20875 +2.62375 +3.1574998 +3.6924999 +4.0975 +4.27 +4.21375 +3.98125 +3.665 +3.34875 +3.0712502 +2.81375 +2.53125 +2.2124999 +1.8837501 +1.60625 +1.44 +1.39625 +1.42625 +1.4437499 +1.3699999 +1.18 +0.92249995 +0.6875 +0.56125003 +0.5725 +0.6775 +0.79125 +0.83750004 +0.7975 +0.71500003 +0.66625 +0.7025 +0.81374997 +0.93125 +0.9812499 +0.9175 +0.73625004 +0.5125 +0.34124997 +0.29749998 +0.365 +0.46625 +0.53125 +0.51750004 +0.42499998 +0.29250002 +0.17999998 +0.13250001 +0.12875 +0.16624999 +0.24125 +0.33 +0.41125 +0.47625 +0.52374995 +0.54999995 +0.62625 +0.72749996 +0.83250004 +0.905 +0.90625 +0.8375 +0.73625004 +0.67125 +0.70875 +0.8625 +1.09 +1.31 +1.4712499 +1.5775 +1.70125 +1.9499999 +2.39625 +2.99875 +3.6162498 +4.08 +4.29125 +4.2275 +3.9575 +3.6062498 +3.28125 +3.0212502 +2.7937498 +2.5425 +2.2425 +1.92125 +1.65875 +1.525 +1.5362499 +1.635 +1.70875 +1.6662501 +1.47875 +1.2037501 +0.95124996 +0.82374996 +0.85499996 +0.99375004 +1.13375 +1.1924999 +1.1500001 +1.0625 +1.0175 +1.06875 +1.195 +1.30875 +1.30125 +1.13375 +0.8375 +0.5075 +0.2625 +0.1925 +0.26250002 +0.38 +0.44750002 +0.40625 +0.26999998 +0.1375 +0.073750004 +0.065 +0.0875 +0.13875 +0.22625001 +0.33125 +0.40624997 +0.45499998 +0.49499997 +0.54999995 +0.62625 +0.72749996 +0.83250004 +0.905 +0.90625 +0.8375 +0.73625004 +0.67125 +0.70875 +0.8625 +1.09 +1.31 +1.4712499 +1.5775 +1.70125 +1.9499999 +2.39625 +2.99875 +3.6162498 +4.08 +4.29125 +4.2275 +3.9575 +3.6062498 +3.28125 +3.0212502 +2.7937498 +2.5425 +2.2425 +1.92125 +1.65875 +1.525 +1.5362499 +1.635 +1.70875 +1.6662501 +1.47875 +1.2037501 +0.95124996 +0.82374996 +0.85499996 +0.99375004 +1.13375 +1.1924999 +1.1500001 +1.0625 +1.0175 +1.06875 +1.195 +1.30875 +1.30125 +1.13375 +0.8375 +0.5075 +0.2625 +0.1925 +0.26250002 +0.38 +0.44750002 +0.40625 +0.26999998 +0.1375 +0.073750004 +0.065 +0.0875 +0.13875 +0.22625001 +0.33125 +0.40624997 +0.45499998 +0.49499997 +0.41375 +0.4825 +0.58875 +0.6875 +0.7325 +0.6925 +0.575 +0.45624998 +0.38125002 +0.42125002 +0.6 +0.83625 +1.03 +1.11875 +1.12625 +1.1587499 +1.35375 +1.7987499 +2.4299998 +3.0875 +3.58 +3.79375 +3.71 +3.4137502 +3.0575001 +2.7562501 +2.5475 +2.3825002 +2.18875 +1.9312501 +1.6475 +1.42625 +1.3475 +1.43 +1.60125 +1.73375 +1.7237499 +1.54625 +1.27 +1.0175 +0.90375 +0.9575 +1.11875 +1.2725 +1.3275 +1.27625 +1.18625 +1.155 +1.23875 +1.3900001 +1.4975 +1.4375 +1.17 +0.7575 +0.33125 +0.083749995 +0.02125 +0.07875 +0.18249999 +0.24249999 +0.20375001 +0.1025 +0.043750003 +0.0525 +0.075 +0.1025 +0.13374999 +0.18999998 +0.26874998 +0.32625 +0.35 +0.3775 +0.41375 +0.4825 +0.58875 +0.6875 +0.7325 +0.6925 +0.575 +0.45624998 +0.38125002 +0.42125002 +0.6 +0.83625 +1.03 +1.11875 +1.12625 +1.1587499 +1.35375 +1.7987499 +2.4299998 +3.0875 +3.58 +3.79375 +3.71 +3.4137502 +3.0575001 +2.7562501 +2.5475 +2.3825002 +2.18875 +1.9312501 +1.6475 +1.42625 +1.3475 +1.43 +1.60125 +1.73375 +1.7237499 +1.54625 +1.27 +1.0175 +0.90375 +0.9575 +1.11875 +1.2725 +1.3275 +1.27625 +1.18625 +1.155 +1.23875 +1.3900001 +1.4975 +1.4375 +1.17 +0.7575 +0.33125 +0.083749995 +0.02125 +0.07875 +0.18249999 +0.24249999 +0.20375001 +0.1025 +0.043750003 +0.0525 +0.075 +0.1025 +0.13374999 +0.18999998 +0.26874998 +0.32625 +0.35 +0.3775 +0.29375 +0.3225 +0.3825 +0.45625 +0.47625002 +0.41875 +0.29000002 +0.1825 +0.135 +0.15375 +0.26375 +0.47 +0.61875 +0.62625 +0.53875 +0.47875 +0.61375004 +1.0325 +1.66 +2.32125 +2.8112502 +2.9987497 +2.90125 +2.6025 +2.2687502 +2.02375 +1.88875 +1.8012501 +1.67 +1.4612498 +1.2212499 +1.05 +1.02875 +1.17625 +1.4037501 +1.5799999 +1.59375 +1.42125 +1.145 +0.90125 +0.80625004 +0.88375 +1.05625 +1.21 +1.2575 +1.2 +1.12125 +1.1275 +1.25625 +1.4475001 +1.55625 +1.4499999 +1.1075 +0.595 +0.15375 +0.0 +0.0 +0.0075 +0.04 +0.07 +0.0625 +0.04375 +0.05 +0.06375 +0.085 +0.11125 +0.1375 +0.17125 +0.20875 +0.23625 +0.25875 +0.28 +0.29375 +0.3225 +0.3825 +0.45625 +0.47625002 +0.41875 +0.29000002 +0.1825 +0.135 +0.15375 +0.26375 +0.47 +0.61875 +0.62625 +0.53875 +0.47875 +0.61375004 +1.0325 +1.66 +2.32125 +2.8112502 +2.9987497 +2.90125 +2.6025 +2.2687502 +2.02375 +1.88875 +1.8012501 +1.67 +1.4612498 +1.2212499 +1.05 +1.02875 +1.17625 +1.4037501 +1.5799999 +1.59375 +1.42125 +1.145 +0.90125 +0.80625004 +0.88375 +1.05625 +1.21 +1.2575 +1.2 +1.12125 +1.1275 +1.25625 +1.4475001 +1.55625 +1.4499999 +1.1075 +0.595 +0.15375 +0.0 +0.0 +0.0075 +0.04 +0.07 +0.0625 +0.04375 +0.05 +0.06375 +0.085 +0.11125 +0.1375 +0.17125 +0.20875 +0.23625 +0.25875 +0.28 +0.28 +0.2725 +0.26749998 +0.2775 +0.26749998 +0.21000001 +0.15125 +0.11375 +0.08875 +0.0675 +0.08 +0.16125 +0.2375 +0.20375 +0.1025 +0.0275 +0.09625 +0.3975 +0.975 +1.615 +2.08 +2.2425 +2.13625 +1.85875 +1.5787501 +1.4074999 +1.3500001 +1.33 +1.24875 +1.0762501 +0.87125 +0.73875 +0.7674999 +0.96125007 +1.2262499 +1.42 +1.43625 +1.2600001 +0.98625 +0.75500005 +0.67999995 +0.775 +0.9575 +1.10875 +1.15375 +1.10875 +1.06875 +1.13625 +1.3299999 +1.56625 +1.6850001 +1.5424999 +1.14125 +0.555 +0.12375 +0.0 +0.0 +0.0025 +0.02875 +0.045 +0.05125 +0.04875 +0.05375 +0.0675 +0.08875 +0.11375 +0.14 +0.16625 +0.19749999 +0.22375 +0.25125 +0.2725 +0.28 +0.2725 +0.26749998 +0.2775 +0.26749998 +0.21000001 +0.15125 +0.11375 +0.08875 +0.0675 +0.08 +0.16125 +0.2375 +0.20375 +0.1025 +0.0275 +0.09625 +0.3975 +0.975 +1.615 +2.08 +2.2425 +2.13625 +1.85875 +1.5787501 +1.4074999 +1.3500001 +1.33 +1.24875 +1.0762501 +0.87125 +0.73875 +0.7674999 +0.96125007 +1.2262499 +1.42 +1.43625 +1.2600001 +0.98625 +0.75500005 +0.67999995 +0.775 +0.9575 +1.10875 +1.15375 +1.10875 +1.06875 +1.13625 +1.3299999 +1.56625 +1.6850001 +1.5424999 +1.14125 +0.555 +0.12375 +0.0 +0.0 +0.0025 +0.02875 +0.045 +0.05125 +0.04875 +0.05375 +0.0675 +0.08875 +0.11375 +0.14 +0.16625 +0.19749999 +0.22375 +0.25125 +0.2725 +0.29125 +0.28 +0.25875 +0.22875 +0.19875 +0.22250001 +0.31 +0.3675 +0.36874995 +0.35750002 +0.37375003 +0.44375002 +0.5625 +0.70750004 +0.85249996 +0.9925 +1.1575 +1.33375 +1.49875 +1.62125 +1.6700001 +1.6387501 +1.55 +1.4037501 +1.23375 +1.06125 +0.90124995 +0.755 +0.625 +0.52625 +0.47125003 +0.46500003 +0.47749996 +0.47375 +0.4125 +0.31375 +0.28 +0.27 +0.25 +0.2225 +0.195 +0.20749998 +0.2975 +0.35625 +0.36625 +0.36374998 +0.38875002 +0.4675 +0.5925 +0.73625 +0.88124996 +1.02 +1.185 +1.3587499 +1.51875 +1.635 +1.6750001 +1.6324999 +1.5312501 +1.3775 +1.20125 +1.02875 +0.87249994 +0.73 +0.60374993 +0.51125 +0.45874995 +0.4575 +0.47749996 +0.48125 +0.42999998 +0.33624998 +0.29125 +0.28 +0.25875 +0.22875 +0.19875 +0.22250001 +0.31 +0.3675 +0.36874995 +0.35750002 +0.37375003 +0.44375002 +0.5625 +0.70750004 +0.85249996 +0.9925 +1.1575 +1.33375 +1.49875 +1.62125 +1.6700001 +1.6387501 +1.55 +1.4037501 +1.23375 +1.06125 +0.90124995 +0.755 +0.625 +0.52625 +0.47125003 +0.46500003 +0.47749996 +0.47375 +0.4125 +0.31375 +0.28 +0.27 +0.25 +0.2225 +0.195 +0.20749998 +0.2975 +0.35625 +0.36625 +0.36374998 +0.38875002 +0.4675 +0.5925 +0.73625 +0.88124996 +1.02 +1.185 +1.3587499 +1.51875 +1.635 +1.6750001 +1.6324999 +1.5312501 +1.3775 +1.20125 +1.02875 +0.87249994 +0.73 +0.60374993 +0.51125 +0.45874995 +0.4575 +0.47749996 +0.48125 +0.42999998 +0.33624998 +0.34999996 +0.3 +0.2725 +0.23625 +0.23750001 +0.295 +0.37125 +0.40499997 +0.38375002 +0.34499997 +0.33625 +0.3825 +0.48499998 +0.625 +0.77750003 +0.93499994 +1.1025 +1.29625 +1.48125 +1.62375 +1.695 +1.6949999 +1.62125 +1.47875 +1.3025 +1.115 +0.93499994 +0.77500004 +0.63874996 +0.53999996 +0.49124998 +0.48624998 +0.5025 +0.49875006 +0.44 +0.3425 +0.2725 +0.26125 +0.2425 +0.21375 +0.1875 +0.23374999 +0.31374997 +0.36375004 +0.3725 +0.3775 +0.41499996 +0.5025 +0.63250005 +0.78124994 +0.93625 +1.08875 +1.25625 +1.4399999 +1.5975 +1.7025001 +1.7212499 +1.6637499 +1.5312499 +1.345 +1.14125 +0.9525 +0.78625 +0.64374995 +0.52625 +0.4475 +0.4175 +0.43749994 +0.4875 +0.52375 +0.50375 +0.43124998 +0.34999996 +0.3 +0.2725 +0.23625 +0.23750001 +0.295 +0.37125 +0.40499997 +0.38375002 +0.34499997 +0.33625 +0.3825 +0.48499998 +0.625 +0.77750003 +0.93499994 +1.1025 +1.29625 +1.48125 +1.62375 +1.695 +1.6949999 +1.62125 +1.47875 +1.3025 +1.115 +0.93499994 +0.77500004 +0.63874996 +0.53999996 +0.49124998 +0.48624998 +0.5025 +0.49875006 +0.44 +0.3425 +0.2725 +0.26125 +0.2425 +0.21375 +0.1875 +0.23374999 +0.31374997 +0.36375004 +0.3725 +0.3775 +0.41499996 +0.5025 +0.63250005 +0.78124994 +0.93625 +1.08875 +1.25625 +1.4399999 +1.5975 +1.7025001 +1.7212499 +1.6637499 +1.5312499 +1.345 +1.14125 +0.9525 +0.78625 +0.64374995 +0.52625 +0.4475 +0.4175 +0.43749994 +0.4875 +0.52375 +0.50375 +0.43124998 +0.5125 +0.41749996 +0.355 +0.33624998 +0.3725 +0.44375 +0.5 +0.5 +0.4425 +0.365 +0.30875003 +0.31 +0.37875003 +0.50125 +0.6575 +0.8325 +1.02125 +1.22875 +1.445 +1.6262499 +1.73875 +1.7737501 +1.72875 +1.60125 +1.42 +1.21375 +1.0124999 +0.83375 +0.695 +0.605 +0.56874996 +0.57625 +0.59875 +0.59875 +0.54625 +0.4425 +0.33875 +0.2775 +0.25125 +0.2425 +0.26999998 +0.33999997 +0.41375005 +0.45 +0.455 +0.465 +0.51374996 +0.60749996 +0.74 +0.89125 +1.05 +1.2175 +1.405 +1.5975 +1.75 +1.8275001 +1.8175001 +1.71 +1.51875 +1.28375 +1.0425 +0.83125 +0.65500003 +0.51875 +0.41875002 +0.36499998 +0.3675 +0.4275 +0.5225 +0.6075 +0.6425 +0.60375 +0.5125 +0.41749996 +0.355 +0.33624998 +0.3725 +0.44375 +0.5 +0.5 +0.4425 +0.365 +0.30875003 +0.31 +0.37875003 +0.50125 +0.6575 +0.8325 +1.02125 +1.22875 +1.445 +1.6262499 +1.73875 +1.7737501 +1.72875 +1.60125 +1.42 +1.21375 +1.0124999 +0.83375 +0.695 +0.605 +0.56874996 +0.57625 +0.59875 +0.59875 +0.54625 +0.4425 +0.33875 +0.2775 +0.25125 +0.2425 +0.26999998 +0.33999997 +0.41375005 +0.45 +0.455 +0.465 +0.51374996 +0.60749996 +0.74 +0.89125 +1.05 +1.2175 +1.405 +1.5975 +1.75 +1.8275001 +1.8175001 +1.71 +1.51875 +1.28375 +1.0425 +0.83125 +0.65500003 +0.51875 +0.41875002 +0.36499998 +0.3675 +0.4275 +0.5225 +0.6075 +0.6425 +0.60375 +0.775 +0.6862499 +0.61375 +0.585 +0.60375 +0.64874995 +0.6725 +0.64500004 +0.56374997 +0.45125002 +0.35250002 +0.31125 +0.33499998 +0.4275 +0.57375 +0.75125 +0.94625 +1.1650001 +1.40125 +1.61625 +1.7737501 +1.84125 +1.8275 +1.7312499 +1.5587499 +1.3475001 +1.1324999 +0.9475 +0.815 +0.74749994 +0.74 +0.77250004 +0.8125 +0.82250005 +0.7825 +0.69124997 +0.58 +0.48999998 +0.455 +0.48375 +0.55375 +0.62625 +0.67125005 +0.685 +0.68 +0.6925 +0.73875 +0.8275 +0.9487501 +1.0849999 +1.2325001 +1.40875 +1.6112502 +1.7962501 +1.92625 +1.9637499 +1.9012499 +1.73625 +1.48875 +1.2099999 +0.94624996 +0.72749996 +0.5575 +0.43625 +0.36374998 +0.34125003 +0.3775 +0.47124997 +0.60249996 +0.72999996 +0.81374997 +0.82624996 +0.775 +0.6862499 +0.61375 +0.585 +0.60375 +0.64874995 +0.6725 +0.64500004 +0.56374997 +0.45125002 +0.35250002 +0.31125 +0.33499998 +0.4275 +0.57375 +0.75125 +0.94625 +1.1650001 +1.40125 +1.61625 +1.7737501 +1.84125 +1.8275 +1.7312499 +1.5587499 +1.3475001 +1.1324999 +0.9475 +0.815 +0.74749994 +0.74 +0.77250004 +0.8125 +0.82250005 +0.7825 +0.69124997 +0.58 +0.48999998 +0.455 +0.48375 +0.55375 +0.62625 +0.67125005 +0.685 +0.68 +0.6925 +0.73875 +0.8275 +0.9487501 +1.0849999 +1.2325001 +1.40875 +1.6112502 +1.7962501 +1.92625 +1.9637499 +1.9012499 +1.73625 +1.48875 +1.2099999 +0.94624996 +0.72749996 +0.5575 +0.43625 +0.36374998 +0.34125003 +0.3775 +0.47124997 +0.60249996 +0.72999996 +0.81374997 +0.82624996 +1.0125 +0.94875 +0.87625 +0.82624996 +0.815 +0.83124995 +0.84250003 +0.81625 +0.7375 +0.61625 +0.49625 +0.42749998 +0.415 +0.465 +0.57375 +0.73 +0.90625 +1.1175001 +1.35 +1.5774999 +1.7674999 +1.8837498 +1.9012499 +1.8287499 +1.6862499 +1.48625 +1.29375 +1.1375 +1.03375 +0.9875 +0.99375004 +1.0625 +1.1287501 +1.16 +1.1374999 +1.07 +0.98875 +0.93375003 +0.92499995 +0.9625 +1.02 +1.0662501 +1.0825 +1.095 +1.08625 +1.08125 +1.0975 +1.1525 +1.24375 +1.34625 +1.48125 +1.65125 +1.82875 +1.9812499 +2.0674999 +2.0525 +1.92375 +1.7087499 +1.4274999 +1.145 +0.89374995 +0.69375 +0.54375 +0.455 +0.41250002 +0.41750002 +0.47625 +0.58374995 +0.72624993 +0.87125 +0.98125 +1.0312499 +1.0125 +0.94875 +0.87625 +0.82624996 +0.815 +0.83124995 +0.84250003 +0.81625 +0.7375 +0.61625 +0.49625 +0.42749998 +0.415 +0.465 +0.57375 +0.73 +0.90625 +1.1175001 +1.35 +1.5774999 +1.7674999 +1.8837498 +1.9012499 +1.8287499 +1.6862499 +1.48625 +1.29375 +1.1375 +1.03375 +0.9875 +0.99375004 +1.0625 +1.1287501 +1.16 +1.1374999 +1.07 +0.98875 +0.93375003 +0.92499995 +0.9625 +1.02 +1.0662501 +1.0825 +1.095 +1.08625 +1.08125 +1.0975 +1.1525 +1.24375 +1.34625 +1.48125 +1.65125 +1.82875 +1.9812499 +2.0674999 +2.0525 +1.92375 +1.7087499 +1.4274999 +1.145 +0.89374995 +0.69375 +0.54375 +0.455 +0.41250002 +0.41750002 +0.47625 +0.58374995 +0.72624993 +0.87125 +0.98125 +1.0312499 +1.17875 +1.13125 +1.0574999 +0.98875 +0.95124996 +0.95124996 +0.96250004 +0.9562501 +0.90500003 +0.80625004 +0.68875 +0.6075 +0.56875 +0.58500004 +0.65500003 +0.76375 +0.9025 +1.075 +1.2774999 +1.49625 +1.7012501 +1.85625 +1.9237499 +1.89 +1.7774999 +1.61125 +1.445 +1.3125 +1.23875 +1.22875 +1.2712499 +1.36125 +1.46 +1.515 +1.5137501 +1.4725001 +1.4225 +1.3987501 +1.41625 +1.465 +1.51875 +1.5425 +1.5475 +1.53625 +1.505 +1.47875 +1.4725001 +1.4949999 +1.54875 +1.6262499 +1.73375 +1.86375 +1.995 +2.0925 +2.11625 +2.0387502 +1.8575 +1.60625 +1.3275001 +1.06625 +0.85249996 +0.6975 +0.5925 +0.5525 +0.54375 +0.56874996 +0.62874997 +0.72749996 +0.85375 +0.99125 +1.105 +1.1737499 +1.17875 +1.13125 +1.0574999 +0.98875 +0.95124996 +0.95124996 +0.96250004 +0.9562501 +0.90500003 +0.80625004 +0.68875 +0.6075 +0.56875 +0.58500004 +0.65500003 +0.76375 +0.9025 +1.075 +1.2774999 +1.49625 +1.7012501 +1.85625 +1.9237499 +1.89 +1.7774999 +1.61125 +1.445 +1.3125 +1.23875 +1.22875 +1.2712499 +1.36125 +1.46 +1.515 +1.5137501 +1.4725001 +1.4225 +1.3987501 +1.41625 +1.465 +1.51875 +1.5425 +1.5475 +1.53625 +1.505 +1.47875 +1.4725001 +1.4949999 +1.54875 +1.6262499 +1.73375 +1.86375 +1.995 +2.0925 +2.11625 +2.0387502 +1.8575 +1.60625 +1.3275001 +1.06625 +0.85249996 +0.6975 +0.5925 +0.5525 +0.54375 +0.56874996 +0.62874997 +0.72749996 +0.85375 +0.99125 +1.105 +1.1737499 +1.25 +1.2162501 +1.1412501 +1.0537499 +0.9875 +0.96750003 +0.9825 +1.00125 +0.99249995 +0.93625003 +0.84 +0.75625 +0.70750004 +0.7 +0.73125 +0.79999995 +0.88374996 +1.00625 +1.1687499 +1.365 +1.5749999 +1.7575 +1.86875 +1.88375 +1.825 +1.68125 +1.52 +1.4000001 +1.34125 +1.3512499 +1.4187499 +1.5450001 +1.67375 +1.75375 +1.7812501 +1.76875 +1.74875 +1.7524999 +1.7900001 +1.84875 +1.8962499 +1.90125 +1.86625 +1.8275001 +1.7724999 +1.725 +1.7025 +1.7224998 +1.7624999 +1.8012501 +1.8812499 +1.9699999 +2.0500002 +2.08125 +2.03625 +1.8975 +1.68125 +1.4237499 +1.1575 +0.93874997 +0.78 +0.68125 +0.64125 +0.64624995 +0.66999996 +0.70375 +0.75374997 +0.8275 +0.9224999 +1.035 +1.1437501 +1.2225 +1.25 +1.2162501 +1.1412501 +1.0537499 +0.9875 +0.96750003 +0.9825 +1.00125 +0.99249995 +0.93625003 +0.84 +0.75625 +0.70750004 +0.7 +0.73125 +0.79999995 +0.88374996 +1.00625 +1.1687499 +1.365 +1.5749999 +1.7575 +1.86875 +1.88375 +1.825 +1.68125 +1.52 +1.4000001 +1.34125 +1.3512499 +1.4187499 +1.5450001 +1.67375 +1.75375 +1.7812501 +1.76875 +1.74875 +1.7524999 +1.7900001 +1.84875 +1.8962499 +1.90125 +1.86625 +1.8275001 +1.7724999 +1.725 +1.7025 +1.7224998 +1.7624999 +1.8012501 +1.8812499 +1.9699999 +2.0500002 +2.08125 +2.03625 +1.8975 +1.68125 +1.4237499 +1.1575 +0.93874997 +0.78 +0.68125 +0.64125 +0.64624995 +0.66999996 +0.70375 +0.75374997 +0.8275 +0.9224999 +1.035 +1.1437501 +1.2225 +1.2225001 +1.2112501 +1.135 +1.025 +0.925 +0.87375 +0.88125 +0.92 +0.9475 +0.9325 +0.87125003 +0.79375 +0.73749995 +0.72125 +0.74375004 +0.79 +0.8425 +0.90375 +1.02125 +1.1975 +1.4024999 +1.6025001 +1.7487501 +1.8437501 +1.8199999 +1.6949999 +1.5237498 +1.3725 +1.3087499 +1.31375 +1.41125 +1.55625 +1.70375 +1.8112501 +1.8699999 +1.89125 +1.9050001 +1.9337499 +1.9862499 +2.045 +2.08 +2.0600002 +1.99 +1.8949999 +1.81625 +1.75 +1.75 +1.78375 +1.825 +1.85875 +1.88375 +1.94 +1.96875 +1.93625 +1.8275001 +1.65 +1.4312501 +1.17875 +0.93874997 +0.75375 +0.64625 +0.6075 +0.62125003 +0.6575 +0.7 +0.73625 +0.77125 +0.81374997 +0.88 +0.97 +1.07375 +1.16875 +1.2225001 +1.2112501 +1.135 +1.025 +0.925 +0.87375 +0.88125 +0.92 +0.9475 +0.9325 +0.87125003 +0.79375 +0.73749995 +0.72125 +0.74375004 +0.79 +0.8425 +0.90375 +1.02125 +1.1975 +1.4024999 +1.6025001 +1.7487501 +1.8437501 +1.8199999 +1.6949999 +1.5237498 +1.3725 +1.3087499 +1.31375 +1.41125 +1.55625 +1.70375 +1.8112501 +1.8699999 +1.89125 +1.9050001 +1.9337499 +1.9862499 +2.045 +2.08 +2.0600002 +1.99 +1.8949999 +1.81625 +1.75 +1.75 +1.78375 +1.825 +1.85875 +1.88375 +1.94 +1.96875 +1.93625 +1.8275001 +1.65 +1.4312501 +1.17875 +0.93874997 +0.75375 +0.64625 +0.6075 +0.62125003 +0.6575 +0.7 +0.73625 +0.77125 +0.81374997 +0.88 +0.97 +1.07375 +1.16875 +1.1025 +1.1162499 +1.045 +0.91625005 +0.77874994 +0.69 +0.67499995 +0.71375 +0.76374996 +0.78125 +0.75374997 +0.6975 +0.65125 +0.64 +0.665 +0.71 +0.755 +0.80375004 +0.87875 +1.0125 +1.21375 +1.4337499 +1.635 +1.7525 +1.75125 +1.6412501 +1.4725001 +1.3100001 +1.2125 +1.20875 +1.29375 +1.4375001 +1.595 +1.72875 +1.8287501 +1.8912499 +1.9425 +2.0012498 +2.0662498 +2.1212502 +2.1399999 +2.09375 +1.9925001 +1.8612498 +1.74625 +1.68 +1.67375 +1.71 +1.76 +1.8000001 +1.8162501 +1.80625 +1.7725 +1.68625 +1.5512501 +1.3675001 +1.1387501 +0.90125 +0.69374996 +0.5475 +0.47500002 +0.46500003 +0.49875003 +0.54749995 +0.5975 +0.6325 +0.65250003 +0.67125005 +0.71125 +0.78875 +0.89875 +1.01625 +1.1025 +1.1162499 +1.045 +0.91625005 +0.77874994 +0.69 +0.67499995 +0.71375 +0.76374996 +0.78125 +0.75374997 +0.6975 +0.65125 +0.64 +0.665 +0.71 +0.755 +0.80375004 +0.87875 +1.0125 +1.21375 +1.4337499 +1.635 +1.7525 +1.75125 +1.6412501 +1.4725001 +1.3100001 +1.2125 +1.20875 +1.29375 +1.4375001 +1.595 +1.72875 +1.8287501 +1.8912499 +1.9425 +2.0012498 +2.0662498 +2.1212502 +2.1399999 +2.09375 +1.9925001 +1.8612498 +1.74625 +1.68 +1.67375 +1.71 +1.76 +1.8000001 +1.8162501 +1.80625 +1.7725 +1.68625 +1.5512501 +1.3675001 +1.1387501 +0.90125 +0.69374996 +0.5475 +0.47500002 +0.46500003 +0.49875003 +0.54749995 +0.5975 +0.6325 +0.65250003 +0.67125005 +0.71125 +0.78875 +0.89875 +1.01625 +0.905 +0.94624996 +0.88249993 +0.74249995 +0.5725 +0.45000005 +0.40999997 +0.44249997 +0.50250006 +0.5425 +0.53749996 +0.5 +0.46875 +0.47375 +0.51874995 +0.57625 +0.63249993 +0.6825 +0.7525 +0.87125 +1.0525 +1.27125 +1.47375 +1.59875 +1.61375 +1.5199999 +1.3675001 +1.2112501 +1.10625 +1.0899999 +1.16125 +1.29875 +1.46375 +1.63 +1.7724999 +1.8875 +1.98875 +2.0825 +2.165 +2.21875 +2.22 +2.155 +2.02375 +1.86375 +1.7212499 +1.62875 +1.60125 +1.6225 +1.665 +1.6924999 +1.6837502 +1.63875 +1.5525 +1.4237499 +1.2562499 +1.055 +0.8375 +0.6275 +0.455 +0.335 +0.275 +0.27 +0.30249998 +0.35125 +0.39999998 +0.42875 +0.43875 +0.44000003 +0.45874998 +0.525 +0.6425 +0.7875 +0.905 +0.94624996 +0.88249993 +0.74249995 +0.5725 +0.45000005 +0.40999997 +0.44249997 +0.50250006 +0.5425 +0.53749996 +0.5 +0.46875 +0.47375 +0.51874995 +0.57625 +0.63249993 +0.6825 +0.7525 +0.87125 +1.0525 +1.27125 +1.47375 +1.59875 +1.61375 +1.5199999 +1.3675001 +1.2112501 +1.10625 +1.0899999 +1.16125 +1.29875 +1.46375 +1.63 +1.7724999 +1.8875 +1.98875 +2.0825 +2.165 +2.21875 +2.22 +2.155 +2.02375 +1.86375 +1.7212499 +1.62875 +1.60125 +1.6225 +1.665 +1.6924999 +1.6837502 +1.63875 +1.5525 +1.4237499 +1.2562499 +1.055 +0.8375 +0.6275 +0.455 +0.335 +0.275 +0.27 +0.30249998 +0.35125 +0.39999998 +0.42875 +0.43875 +0.44000003 +0.45874998 +0.525 +0.6425 +0.7875 +0.65375 +0.71750003 +0.6687499 +0.525 +0.345 +0.2425 +0.21125 +0.23250002 +0.27250004 +0.30375 +0.31125 +0.29000002 +0.27625 +0.29749998 +0.35875 +0.43625003 +0.505 +0.55625004 +0.61499995 +0.71124995 +0.86125004 +1.05375 +1.2387501 +1.365 +1.3974999 +1.33875 +1.2237501 +1.1062499 +1.0337499 +1.0325 +1.10875 +1.2450001 +1.4212499 +1.615 +1.8012501 +1.97375 +2.12875 +2.2649999 +2.3737502 +2.43625 +2.4325001 +2.35625 +2.21125 +2.03 +1.8562499 +1.7249999 +1.65375 +1.63125 +1.6237501 +1.6025001 +1.5437499 +1.44 +1.29625 +1.12625 +0.93875 +0.745 +0.55875003 +0.39 +0.26125 +0.18 +0.13250001 +0.12625 +0.15125 +0.19 +0.22375 +0.24000002 +0.23875 +0.23124999 +0.24249999 +0.29375 +0.39000002 +0.51374996 +0.65375 +0.71750003 +0.6687499 +0.525 +0.345 +0.2425 +0.21125 +0.23250002 +0.27250004 +0.30375 +0.31125 +0.29000002 +0.27625 +0.29749998 +0.35875 +0.43625003 +0.505 +0.55625004 +0.61499995 +0.71124995 +0.86125004 +1.05375 +1.2387501 +1.365 +1.3974999 +1.33875 +1.2237501 +1.1062499 +1.0337499 +1.0325 +1.10875 +1.2450001 +1.4212499 +1.615 +1.8012501 +1.97375 +2.12875 +2.2649999 +2.3737502 +2.43625 +2.4325001 +2.35625 +2.21125 +2.03 +1.8562499 +1.7249999 +1.65375 +1.63125 +1.6237501 +1.6025001 +1.5437499 +1.44 +1.29625 +1.12625 +0.93875 +0.745 +0.55875003 +0.39 +0.26125 +0.18 +0.13250001 +0.12625 +0.15125 +0.19 +0.22375 +0.24000002 +0.23875 +0.23124999 +0.24249999 +0.29375 +0.39000002 +0.51374996 +0.41 +0.47374994 +0.44 +0.30874997 +0.2 +0.15875 +0.16625 +0.18125 +0.18375 +0.17875 +0.16999999 +0.15874998 +0.16 +0.18875 +0.25374997 +0.33 +0.395 +0.435 +0.46625 +0.52125 +0.63000005 +0.78125 +0.94 +1.0625 +1.1175001 +1.1075001 +1.0587499 +1.0362499 +1.045 +1.0799999 +1.16 +1.3037499 +1.485 +1.68875 +1.905 +2.12 +2.3225 +2.505 +2.64375 +2.7275 +2.7362502 +2.66625 +2.5262501 +2.365 +2.18125 +1.9975001 +1.8462498 +1.74875 +1.6625001 +1.56 +1.4187499 +1.24 +1.0350001 +0.8275 +0.635 +0.4675 +0.33249998 +0.245 +0.18249999 +0.14375 +0.12125 +0.12 +0.14125 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.2 +0.24875 +0.32125 +0.41 +0.47374994 +0.44 +0.30874997 +0.2 +0.15875 +0.16625 +0.18125 +0.18375 +0.17875 +0.16999999 +0.15874998 +0.16 +0.18875 +0.25374997 +0.33 +0.395 +0.435 +0.46625 +0.52125 +0.63000005 +0.78125 +0.94 +1.0625 +1.1175001 +1.1075001 +1.0587499 +1.0362499 +1.045 +1.0799999 +1.16 +1.3037499 +1.485 +1.68875 +1.905 +2.12 +2.3225 +2.505 +2.64375 +2.7275 +2.7362502 +2.66625 +2.5262501 +2.365 +2.18125 +1.9975001 +1.8462498 +1.74875 +1.6625001 +1.56 +1.4187499 +1.24 +1.0350001 +0.8275 +0.635 +0.4675 +0.33249998 +0.245 +0.18249999 +0.14375 +0.12125 +0.12 +0.14125 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.2 +0.24875 +0.32125 +0.26749998 +0.27874997 +0.255 +0.18249999 +0.1375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.23124999 +0.2875 +0.32500002 +0.32999998 +0.31875002 +0.3425 +0.43624997 +0.54 +0.64250004 +0.75 +0.8249999 +0.87125003 +0.9375 +1.0124999 +1.0975001 +1.19 +1.2924999 +1.4112501 +1.5649999 +1.75625 +1.9699999 +2.2024999 +2.43625 +2.6437502 +2.8087502 +2.915 +2.95 +2.9212499 +2.8412502 +2.70625 +2.5275002 +2.32375 +2.11 +1.90125 +1.72125 +1.53 +1.315 +1.09375 +0.84999996 +0.58875 +0.39249998 +0.26125 +0.22999999 +0.23125 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.20375 +0.24375 +0.26749998 +0.27874997 +0.255 +0.18249999 +0.1375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.23124999 +0.2875 +0.32500002 +0.32999998 +0.31875002 +0.3425 +0.43624997 +0.54 +0.64250004 +0.75 +0.8249999 +0.87125003 +0.9375 +1.0124999 +1.0975001 +1.19 +1.2924999 +1.4112501 +1.5649999 +1.75625 +1.9699999 +2.2024999 +2.43625 +2.6437502 +2.8087502 +2.915 +2.95 +2.9212499 +2.8412502 +2.70625 +2.5275002 +2.32375 +2.11 +1.90125 +1.72125 +1.53 +1.315 +1.09375 +0.84999996 +0.58875 +0.39249998 +0.26125 +0.22999999 +0.23125 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.20375 +0.24375 +0.20875 +0.20249999 +0.18 +0.12625 +0.09 +0.09875 +0.13 +0.16375 +0.1825 +0.18 +0.17125 +0.1725 +0.195 +0.23625 +0.2775 +0.30499998 +0.29999995 +0.26375 +0.21 +0.22375 +0.29250002 +0.3725 +0.45624998 +0.53624994 +0.61375 +0.705 +0.8175 +0.95125 +1.095 +1.2325001 +1.3499999 +1.455 +1.57 +1.7137499 +1.90125 +2.1225 +2.35375 +2.565 +2.7324998 +2.84375 +2.9025002 +2.9087498 +2.86875 +2.77875 +2.6337502 +2.4399998 +2.21 +1.9649999 +1.7175 +1.475 +1.235 +0.98499995 +0.7225 +0.45749998 +0.255 +0.18624999 +0.2325 +0.2775 +0.2725 +0.23375 +0.1925 +0.16875 +0.16875 +0.18 +0.1825 +0.17374998 +0.15125 +0.10875 +0.09 +0.11125 +0.1525 +0.1925 +0.20875 +0.20249999 +0.18 +0.12625 +0.09 +0.09875 +0.13 +0.16375 +0.1825 +0.18 +0.17125 +0.1725 +0.195 +0.23625 +0.2775 +0.30499998 +0.29999995 +0.26375 +0.21 +0.22375 +0.29250002 +0.3725 +0.45624998 +0.53624994 +0.61375 +0.705 +0.8175 +0.95125 +1.095 +1.2325001 +1.3499999 +1.455 +1.57 +1.7137499 +1.90125 +2.1225 +2.35375 +2.565 +2.7324998 +2.84375 +2.9025002 +2.9087498 +2.86875 +2.77875 +2.6337502 +2.4399998 +2.21 +1.9649999 +1.7175 +1.475 +1.235 +0.98499995 +0.7225 +0.45749998 +0.255 +0.18624999 +0.2325 +0.2775 +0.2725 +0.23375 +0.1925 +0.16875 +0.16875 +0.18 +0.1825 +0.17374998 +0.15125 +0.10875 +0.09 +0.11125 +0.1525 +0.1925 +0.20875 +0.235 +0.21875 +0.16125001 +0.10625 +0.09 +0.10875 +0.14625 +0.1775 +0.195 +0.20750001 +0.22875 +0.265 +0.31624997 +0.3575 +0.36374998 +0.32374996 +0.24624999 +0.16875 +0.16625 +0.23875001 +0.3175 +0.38875002 +0.44875 +0.50624996 +0.58 +0.6925 +0.84125 +1.005 +1.1487501 +1.2524999 +1.3149999 +1.37125 +1.4475 +1.5762501 +1.7537501 +1.9549999 +2.145 +2.29375 +2.39375 +2.4550002 +2.4812498 +2.4825 +2.44875 +2.36125 +2.215 +2.01625 +1.78375 +1.5487499 +1.3162501 +1.09375 +0.875 +0.6475 +0.41375 +0.255 +0.22 +0.28375 +0.34 +0.3375 +0.2925 +0.23625 +0.19625 +0.18 +0.17875 +0.205 +0.2225 +0.20624998 +0.15 +0.09624999 +0.08625 +0.11875 +0.16375001 +0.20875 +0.235 +0.21875 +0.16125001 +0.10625 +0.09 +0.10875 +0.14625 +0.1775 +0.195 +0.20750001 +0.22875 +0.265 +0.31624997 +0.3575 +0.36374998 +0.32374996 +0.24624999 +0.16875 +0.16625 +0.23875001 +0.3175 +0.38875002 +0.44875 +0.50624996 +0.58 +0.6925 +0.84125 +1.005 +1.1487501 +1.2524999 +1.3149999 +1.37125 +1.4475 +1.5762501 +1.7537501 +1.9549999 +2.145 +2.29375 +2.39375 +2.4550002 +2.4812498 +2.4825 +2.44875 +2.36125 +2.215 +2.01625 +1.78375 +1.5487499 +1.3162501 +1.09375 +0.875 +0.6475 +0.41375 +0.255 +0.22 +0.28375 +0.34 +0.3375 +0.2925 +0.23625 +0.19625 +0.18 +0.17875 +0.205 +0.2225 +0.20624998 +0.15 +0.09624999 +0.08625 +0.11875 +0.16375001 +0.31375 +0.36499998 +0.36625 +0.32125002 +0.25375 +0.20125002 +0.18124999 +0.195 +0.225 +0.2525 +0.28375 +0.32625 +0.38249996 +0.44374996 +0.47875 +0.46249998 +0.38624996 +0.27999997 +0.19875 +0.18624999 +0.28750002 +0.3875 +0.47750002 +0.5425 +0.555 +0.5575 +0.5925 +0.71125 +0.85125005 +0.97 +1.0625 +1.09 +1.0712501 +1.0575 +1.095 +1.21 +1.3712499 +1.5225 +1.64375 +1.7325 +1.78375 +1.8087499 +1.8162498 +1.80125 +1.7775 +1.70125 +1.5625001 +1.4225 +1.26625 +1.0975 +0.92375 +0.76875 +0.6225 +0.45375 +0.36374998 +0.3325 +0.3575 +0.40875 +0.405 +0.3525 +0.28125 +0.23124999 +0.2175 +0.24249999 +0.29375 +0.33249998 +0.32750002 +0.2775 +0.20750001 +0.165 +0.18 +0.24000001 +0.31375 +0.36499998 +0.36625 +0.32125002 +0.25375 +0.20125002 +0.18124999 +0.195 +0.225 +0.2525 +0.28375 +0.32625 +0.38249996 +0.44374996 +0.47875 +0.46249998 +0.38624996 +0.27999997 +0.19875 +0.18624999 +0.28750002 +0.3875 +0.47750002 +0.5425 +0.555 +0.5575 +0.5925 +0.71125 +0.85125005 +0.97 +1.0625 +1.09 +1.0712501 +1.0575 +1.095 +1.21 +1.3712499 +1.5225 +1.64375 +1.7325 +1.78375 +1.8087499 +1.8162498 +1.80125 +1.7775 +1.70125 +1.5625001 +1.4225 +1.26625 +1.0975 +0.92375 +0.76875 +0.6225 +0.45375 +0.36374998 +0.3325 +0.3575 +0.40875 +0.405 +0.3525 +0.28125 +0.23124999 +0.2175 +0.24249999 +0.29375 +0.33249998 +0.32750002 +0.2775 +0.20750001 +0.165 +0.18 +0.24000001 +0.47000003 +0.515 +0.52625 +0.50374997 +0.45874998 +0.41 +0.37 +0.3425 +0.32875 +0.33625 +0.375 +0.44625 +0.53875 +0.6175 +0.6425 +0.58750004 +0.4675 +0.34124994 +0.26874998 +0.2925 +0.4125 +0.5675 +0.685 +0.72 +0.67875 +0.61375 +0.5875 +0.63250005 +0.7325 +0.83 +0.8675 +0.82624996 +0.74250007 +0.67125 +0.66375005 +0.73625 +0.86 +0.98125005 +1.065 +1.09625 +1.095 +1.0925001 +1.1075 +1.13 +1.14375 +1.12875 +1.0775 +1.0012499 +0.915 +0.83375 +0.7625 +0.69499993 +0.63 +0.56875 +0.51875 +0.48375002 +0.47000003 +0.47625 +0.46375 +0.41625 +0.365 +0.33625 +0.345 +0.37875 +0.41375002 +0.42875 +0.41999996 +0.38375002 +0.3425 +0.3275 +0.34875 +0.40375 +0.47000003 +0.515 +0.52625 +0.50374997 +0.45874998 +0.41 +0.37 +0.3425 +0.32875 +0.33625 +0.375 +0.44625 +0.53875 +0.6175 +0.6425 +0.58750004 +0.4675 +0.34124994 +0.26874998 +0.2925 +0.4125 +0.5675 +0.685 +0.72 +0.67875 +0.61375 +0.5875 +0.63250005 +0.7325 +0.83 +0.8675 +0.82624996 +0.74250007 +0.67125 +0.66375005 +0.73625 +0.86 +0.98125005 +1.065 +1.09625 +1.095 +1.0925001 +1.1075 +1.13 +1.14375 +1.12875 +1.0775 +1.0012499 +0.915 +0.83375 +0.7625 +0.69499993 +0.63 +0.56875 +0.51875 +0.48375002 +0.47000003 +0.47625 +0.46375 +0.41625 +0.365 +0.33625 +0.345 +0.37875 +0.41375002 +0.42875 +0.41999996 +0.38375002 +0.3425 +0.3275 +0.34875 +0.40375 +0.53875 +0.5725 +0.59749997 +0.60375 +0.59375 +0.55875003 +0.51 +0.45 +0.40249997 +0.39999998 +0.46000004 +0.57500005 +0.71125 +0.80875003 +0.81249994 +0.71375 +0.54249996 +0.38375002 +0.31625 +0.37999997 +0.545 +0.7325 +0.85 +0.85375 +0.76 +0.63875 +0.56624997 +0.575 +0.63625 +0.69125 +0.68 +0.59125 +0.46625 +0.37499997 +0.37 +0.45499998 +0.58000004 +0.68 +0.70750004 +0.66625 +0.5925 +0.54125 +0.535 +0.57375 +0.62375003 +0.65250003 +0.6424999 +0.60625 +0.57125 +0.5575 +0.5725 +0.605 +0.63000005 +0.6375 +0.6225 +0.595 +0.56375 +0.5425 +0.52875006 +0.52374995 +0.52750003 +0.52625 +0.52625 +0.5225 +0.5075 +0.48624998 +0.45875 +0.43374997 +0.42499998 +0.42999998 +0.455 +0.49624997 +0.53875 +0.5725 +0.59749997 +0.60375 +0.59375 +0.55875003 +0.51 +0.45 +0.40249997 +0.39999998 +0.46000004 +0.57500005 +0.71125 +0.80875003 +0.81249994 +0.71375 +0.54249996 +0.38375002 +0.31625 +0.37999997 +0.545 +0.7325 +0.85 +0.85375 +0.76 +0.63875 +0.56624997 +0.575 +0.63625 +0.69125 +0.68 +0.59125 +0.46625 +0.37499997 +0.37 +0.45499998 +0.58000004 +0.68 +0.70750004 +0.66625 +0.5925 +0.54125 +0.535 +0.57375 +0.62375003 +0.65250003 +0.6424999 +0.60625 +0.57125 +0.5575 +0.5725 +0.605 +0.63000005 +0.6375 +0.6225 +0.595 +0.56375 +0.5425 +0.52875006 +0.52374995 +0.52750003 +0.52625 +0.52625 +0.5225 +0.5075 +0.48624998 +0.45875 +0.43374997 +0.42499998 +0.42999998 +0.455 +0.49624997 +0.47375 +0.48499998 +0.51875 +0.565 +0.6 +0.60125005 +0.55999994 +0.48874998 +0.43 +0.43374997 +0.52875 +0.69624996 +0.87625 +0.985 +0.96375 +0.8025 +0.57125 +0.3725 +0.29749998 +0.37875 +0.56624997 +0.76125 +0.865 +0.83625 +0.70875 +0.5625 +0.47875 +0.48375002 +0.535 +0.565 +0.52125 +0.40249997 +0.26625 +0.19500002 +0.23375 +0.36625 +0.52625 +0.62375 +0.61125 +0.4975 +0.3475 +0.23499998 +0.19999999 +0.23875 +0.30374998 +0.34625 +0.34375 +0.3075 +0.27624997 +0.28375 +0.34375003 +0.43875003 +0.53375 +0.59749997 +0.615 +0.59875005 +0.57124996 +0.56625 +0.59125 +0.6375 +0.68500006 +0.70500004 +0.69000006 +0.635 +0.5575 +0.48499998 +0.43625003 +0.41875002 +0.42874998 +0.45 +0.46374997 +0.46875 +0.47375 +0.48499998 +0.51875 +0.565 +0.6 +0.60125005 +0.55999994 +0.48874998 +0.43 +0.43374997 +0.52875 +0.69624996 +0.87625 +0.985 +0.96375 +0.8025 +0.57125 +0.3725 +0.29749998 +0.37875 +0.56624997 +0.76125 +0.865 +0.83625 +0.70875 +0.5625 +0.47875 +0.48375002 +0.535 +0.565 +0.52125 +0.40249997 +0.26625 +0.19500002 +0.23375 +0.36625 +0.52625 +0.62375 +0.61125 +0.4975 +0.3475 +0.23499998 +0.19999999 +0.23875 +0.30374998 +0.34625 +0.34375 +0.3075 +0.27624997 +0.28375 +0.34375003 +0.43875003 +0.53375 +0.59749997 +0.615 +0.59875005 +0.57124996 +0.56625 +0.59125 +0.6375 +0.68500006 +0.70500004 +0.69000006 +0.635 +0.5575 +0.48499998 +0.43625003 +0.41875002 +0.42874998 +0.45 +0.46374997 +0.46875 +0.305 +0.29375002 +0.32375 +0.40500003 +0.49375 +0.53875 +0.51874995 +0.45125002 +0.39874998 +0.42499998 +0.56125 +0.7825 +1.0025 +1.1162499 +1.05875 +0.84125 +0.5475 +0.30249998 +0.20875 +0.28125003 +0.49750003 +0.6575 +0.71375 +0.65500003 +0.51250005 +0.37625003 +0.32 +0.3775 +0.44625002 +0.45125 +0.3875 +0.25125 +0.125 +0.09375 +0.19125 +0.4075 +0.6275 +0.73 +0.67625 +0.5075 +0.29125 +0.12499999 +0.06375 +0.096250005 +0.18875 +0.23125 +0.18625 +0.11750001 +0.08125 +0.083749995 +0.11749999 +0.245 +0.39125 +0.45624998 +0.49875003 +0.49875 +0.49624997 +0.52625 +0.60125 +0.71124995 +0.8062501 +0.8449999 +0.80625 +0.695 +0.55125004 +0.42875 +0.3625 +0.35375002 +0.38250002 +0.40875 +0.39875 +0.35500002 +0.305 +0.29375002 +0.32375 +0.40500003 +0.49375 +0.53875 +0.51874995 +0.45125002 +0.39874998 +0.42499998 +0.56125 +0.7825 +1.0025 +1.1162499 +1.05875 +0.84125 +0.5475 +0.30249998 +0.20875 +0.28125003 +0.49750003 +0.6575 +0.71375 +0.65500003 +0.51250005 +0.37625003 +0.32 +0.3775 +0.44625002 +0.45125 +0.3875 +0.25125 +0.125 +0.09375 +0.19125 +0.4075 +0.6275 +0.73 +0.67625 +0.5075 +0.29125 +0.12499999 +0.06375 +0.096250005 +0.18875 +0.23125 +0.18625 +0.11750001 +0.08125 +0.083749995 +0.11749999 +0.245 +0.39125 +0.45624998 +0.49875003 +0.49875 +0.49624997 +0.52625 +0.60125 +0.71124995 +0.8062501 +0.8449999 +0.80625 +0.695 +0.55125004 +0.42875 +0.3625 +0.35375002 +0.38250002 +0.40875 +0.39875 +0.35500002 +0.19 +0.15875 +0.16375 +0.23 +0.3475 +0.42749998 +0.42499998 +0.3675 +0.325 +0.375 +0.55 +0.81250006 +1.05875 +1.17375 +1.08875 +0.82625 +0.48624998 +0.21624999 +0.107499994 +0.17875 +0.37624997 +0.50624996 +0.50875 +0.39999998 +0.26125002 +0.18875 +0.21374999 +0.32125002 +0.4225 +0.43 +0.32 +0.145 +0.033749998 +0.04125 +0.20375001 +0.4875 +0.75125 +0.87375 +0.8025 +0.57875 +0.315 +0.1225 +0.072500005 +0.13625 +0.23125002 +0.26500002 +0.19500001 +0.07125 +0.0112499995 +0.0025 +0.01625 +0.11 +0.2575 +0.33125 +0.3575 +0.37625 +0.39874998 +0.465 +0.59124994 +0.7475 +0.87875 +0.92375004 +0.8525 +0.68875 +0.49124998 +0.33374998 +0.26749998 +0.28375 +0.33875 +0.3725 +0.34250003 +0.24875 +0.19 +0.15875 +0.16375 +0.23 +0.3475 +0.42749998 +0.42499998 +0.3675 +0.325 +0.375 +0.55 +0.81250006 +1.05875 +1.17375 +1.08875 +0.82625 +0.48624998 +0.21624999 +0.107499994 +0.17875 +0.37624997 +0.50624996 +0.50875 +0.39999998 +0.26125002 +0.18875 +0.21374999 +0.32125002 +0.4225 +0.43 +0.32 +0.145 +0.033749998 +0.04125 +0.20375001 +0.4875 +0.75125 +0.87375 +0.8025 +0.57875 +0.315 +0.1225 +0.072500005 +0.13625 +0.23125002 +0.26500002 +0.19500001 +0.07125 +0.0112499995 +0.0025 +0.01625 +0.11 +0.2575 +0.33125 +0.3575 +0.37625 +0.39874998 +0.465 +0.59124994 +0.7475 +0.87875 +0.92375004 +0.8525 +0.68875 +0.49124998 +0.33374998 +0.26749998 +0.28375 +0.33875 +0.3725 +0.34250003 +0.24875 +0.2175 +0.1925 +0.1525 +0.16250001 +0.2625 +0.34625 +0.34249997 +0.2825 +0.245 +0.30125 +0.5 +0.78374994 +1.0425 +1.1525 +1.0550001 +0.775 +0.42624998 +0.16999999 +0.05125 +0.099999994 +0.26500002 +0.35999998 +0.33125 +0.21375 +0.113749996 +0.09 +0.1525 +0.3 +0.4275 +0.43875 +0.31375 +0.13125001 +0.02125 +0.02625 +0.1925 +0.49749997 +0.77874994 +0.91375 +0.85125 +0.6325 +0.37125 +0.185 +0.13875 +0.20375001 +0.29749998 +0.32625002 +0.24875 +0.1175 +0.030000001 +0.0025 +0.01125 +0.073750004 +0.2 +0.27249998 +0.2925 +0.31624997 +0.34999996 +0.4375 +0.59000003 +0.7675 +0.90874994 +0.94124997 +0.83624995 +0.63 +0.40124997 +0.23999998 +0.19999999 +0.25125 +0.3525 +0.41375002 +0.3775 +0.27875 +0.2175 +0.1925 +0.1525 +0.16250001 +0.2625 +0.34625 +0.34249997 +0.2825 +0.245 +0.30125 +0.5 +0.78374994 +1.0425 +1.1525 +1.0550001 +0.775 +0.42624998 +0.16999999 +0.05125 +0.099999994 +0.26500002 +0.35999998 +0.33125 +0.21375 +0.113749996 +0.09 +0.1525 +0.3 +0.4275 +0.43875 +0.31375 +0.13125001 +0.02125 +0.02625 +0.1925 +0.49749997 +0.77874994 +0.91375 +0.85125 +0.6325 +0.37125 +0.185 +0.13875 +0.20375001 +0.29749998 +0.32625002 +0.24875 +0.1175 +0.030000001 +0.0025 +0.01125 +0.073750004 +0.2 +0.27249998 +0.2925 +0.31624997 +0.34999996 +0.4375 +0.59000003 +0.7675 +0.90874994 +0.94124997 +0.83624995 +0.63 +0.40124997 +0.23999998 +0.19999999 +0.25125 +0.3525 +0.41375002 +0.3775 +0.27875 +0.31625 +0.25 +0.2125 +0.21375 +0.2925 +0.34875 +0.32125 +0.2425 +0.2 +0.24375 +0.43249997 +0.71375 +0.96625 +1.07125 +0.975 +0.70874995 +0.38625 +0.1575 +0.055 +0.074999996 +0.21000001 +0.27625 +0.23125 +0.1475 +0.087500006 +0.073750004 +0.15625 +0.33249998 +0.47125 +0.47749996 +0.33875 +0.145 +0.0275 +0.025 +0.16250001 +0.44375 +0.715 +0.84999996 +0.8075 +0.625 +0.39624998 +0.23250002 +0.19875002 +0.26749998 +0.3575 +0.38625 +0.31875002 +0.1975 +0.11125 +0.06875 +0.058750004 +0.15 +0.26749998 +0.32500002 +0.35000002 +0.35875002 +0.38250002 +0.46250004 +0.60875 +0.78125006 +0.90500003 +0.91125 +0.78 +0.55249995 +0.31875 +0.19874999 +0.19 +0.2875 +0.45125002 +0.55625 +0.53875 +0.43375 +0.31625 +0.25 +0.2125 +0.21375 +0.2925 +0.34875 +0.32125 +0.2425 +0.2 +0.24375 +0.43249997 +0.71375 +0.96625 +1.07125 +0.975 +0.70874995 +0.38625 +0.1575 +0.055 +0.074999996 +0.21000001 +0.27625 +0.23125 +0.1475 +0.087500006 +0.073750004 +0.15625 +0.33249998 +0.47125 +0.47749996 +0.33875 +0.145 +0.0275 +0.025 +0.16250001 +0.44375 +0.715 +0.84999996 +0.8075 +0.625 +0.39624998 +0.23250002 +0.19875002 +0.26749998 +0.3575 +0.38625 +0.31875002 +0.1975 +0.11125 +0.06875 +0.058750004 +0.15 +0.26749998 +0.32500002 +0.35000002 +0.35875002 +0.38250002 +0.46250004 +0.60875 +0.78125006 +0.90500003 +0.91125 +0.78 +0.55249995 +0.31875 +0.19874999 +0.19 +0.2875 +0.45125002 +0.55625 +0.53875 +0.43375 +0.51625 +0.39624998 +0.33749998 +0.35875 +0.41750002 +0.43 +0.365 +0.26125 +0.1925 +0.21500002 +0.37125 +0.62375003 +0.85375 +0.9475 +0.86749995 +0.63625 +0.36 +0.16749999 +0.09374999 +0.12375 +0.22 +0.28125 +0.26125 +0.19875002 +0.15124999 +0.1425 +0.2225 +0.3975 +0.53 +0.52750003 +0.39499998 +0.22874999 +0.11 +0.095 +0.21625 +0.44875 +0.6775 +0.80625 +0.785 +0.6475 +0.46874997 +0.33125 +0.2825 +0.335 +0.4125 +0.43875 +0.4 +0.33999997 +0.28 +0.25 +0.27124998 +0.34875 +0.43249997 +0.48250002 +0.485 +0.45875 +0.45250002 +0.505 +0.62249994 +0.765 +0.8625 +0.84749997 +0.70625 +0.48250002 +0.27624997 +0.18875 +0.22250001 +0.385 +0.60375 +0.7575 +0.77625 +0.66749996 +0.51625 +0.39624998 +0.33749998 +0.35875 +0.41750002 +0.43 +0.365 +0.26125 +0.1925 +0.21500002 +0.37125 +0.62375003 +0.85375 +0.9475 +0.86749995 +0.63625 +0.36 +0.16749999 +0.09374999 +0.12375 +0.22 +0.28125 +0.26125 +0.19875002 +0.15124999 +0.1425 +0.2225 +0.3975 +0.53 +0.52750003 +0.39499998 +0.22874999 +0.11 +0.095 +0.21625 +0.44875 +0.6775 +0.80625 +0.785 +0.6475 +0.46874997 +0.33125 +0.2825 +0.335 +0.4125 +0.43875 +0.4 +0.33999997 +0.28 +0.25 +0.27124998 +0.34875 +0.43249997 +0.48250002 +0.485 +0.45875 +0.45250002 +0.505 +0.62249994 +0.765 +0.8625 +0.84749997 +0.70625 +0.48250002 +0.27624997 +0.18875 +0.22250001 +0.385 +0.60375 +0.7575 +0.77625 +0.66749996 +0.75250006 +0.61749995 +0.55249995 +0.5525 +0.5675 +0.5375 +0.44125003 +0.3075 +0.20750001 +0.20625001 +0.32999998 +0.53625 +0.72375 +0.805 +0.7362499 +0.55125 +0.33625 +0.18249999 +0.14 +0.19375001 +0.28125 +0.335 +0.32125002 +0.2675 +0.22874999 +0.24875 +0.345 +0.48250002 +0.58375 +0.58625 +0.48874995 +0.33874997 +0.21625 +0.195 +0.28875 +0.46375 +0.64125 +0.74625003 +0.74750006 +0.66249996 +0.54375 +0.45125 +0.41500002 +0.42874998 +0.46875 +0.495 +0.49 +0.4675 +0.4475 +0.4575 +0.50125 +0.56375 +0.6125001 +0.62 +0.58000004 +0.51874995 +0.48125002 +0.50125 +0.585 +0.69625 +0.77374995 +0.7575 +0.63 +0.43625 +0.2625 +0.19500001 +0.27875 +0.48750004 +0.73875 +0.92499995 +0.9787501 +0.89875 +0.75250006 +0.61749995 +0.55249995 +0.5525 +0.5675 +0.5375 +0.44125003 +0.3075 +0.20750001 +0.20625001 +0.32999998 +0.53625 +0.72375 +0.805 +0.7362499 +0.55125 +0.33625 +0.18249999 +0.14 +0.19375001 +0.28125 +0.335 +0.32125002 +0.2675 +0.22874999 +0.24875 +0.345 +0.48250002 +0.58375 +0.58625 +0.48874995 +0.33874997 +0.21625 +0.195 +0.28875 +0.46375 +0.64125 +0.74625003 +0.74750006 +0.66249996 +0.54375 +0.45125 +0.41500002 +0.42874998 +0.46875 +0.495 +0.49 +0.4675 +0.4475 +0.4575 +0.50125 +0.56375 +0.6125001 +0.62 +0.58000004 +0.51874995 +0.48125002 +0.50125 +0.585 +0.69625 +0.77374995 +0.7575 +0.63 +0.43625 +0.2625 +0.19500001 +0.27875 +0.48750004 +0.73875 +0.92499995 +0.9787501 +0.89875 +0.87250006 +0.7525 +0.6825 +0.66499996 +0.65625 +0.61125004 +0.505 +0.36374998 +0.25125003 +0.2275 +0.31 +0.46 +0.60125 +0.65999997 +0.60625 +0.46375 +0.3025 +0.19749999 +0.17999999 +0.23749998 +0.31625 +0.36125 +0.35625 +0.31875 +0.29499996 +0.32125 +0.40750003 +0.5175 +0.59375 +0.59375006 +0.515 +0.3975 +0.3 +0.275 +0.33374998 +0.44750002 +0.56624997 +0.64375 +0.65749997 +0.61625004 +0.5525 +0.5 +0.47125 +0.46374997 +0.46499997 +0.46250004 +0.45624998 +0.4525 +0.46875 +0.5075 +0.5625 +0.6125 +0.6325 +0.60625005 +0.53625 +0.45500004 +0.39875 +0.40250003 +0.47 +0.5675 +0.64375 +0.64625 +0.555 +0.405 +0.27125 +0.23125 +0.32625 +0.53125 +0.775 +0.96750003 +1.0400001 +0.99375004 +0.87250006 +0.7525 +0.6825 +0.66499996 +0.65625 +0.61125004 +0.505 +0.36374998 +0.25125003 +0.2275 +0.31 +0.46 +0.60125 +0.65999997 +0.60625 +0.46375 +0.3025 +0.19749999 +0.17999999 +0.23749998 +0.31625 +0.36125 +0.35625 +0.31875 +0.29499996 +0.32125 +0.40750003 +0.5175 +0.59375 +0.59375006 +0.515 +0.3975 +0.3 +0.275 +0.33374998 +0.44750002 +0.56624997 +0.64375 +0.65749997 +0.61625004 +0.5525 +0.5 +0.47125 +0.46374997 +0.46499997 +0.46250004 +0.45624998 +0.4525 +0.46875 +0.5075 +0.5625 +0.6125 +0.6325 +0.60625005 +0.53625 +0.45500004 +0.39875 +0.40250003 +0.47 +0.5675 +0.64375 +0.64625 +0.555 +0.405 +0.27125 +0.23125 +0.32625 +0.53125 +0.775 +0.96750003 +1.0400001 +0.99375004 +0.82 +0.72625 +0.67375 +0.66375 +0.6625 +0.62874997 +0.54125 +0.4175 +0.3125 +0.2725 +0.31875 +0.41875 +0.51875 +0.55999994 +0.51750004 +0.41750002 +0.31 +0.25 +0.2575 +0.3225 +0.40125 +0.43375003 +0.43 +0.39875 +0.37750003 +0.3925 +0.44875002 +0.51625 +0.56000006 +0.5475 +0.4825 +0.395 +0.325 +0.30125 +0.33124998 +0.39124998 +0.45375 +0.49124998 +0.49624997 +0.47375 +0.44625 +0.41875 +0.39499998 +0.36875 +0.335 +0.29874998 +0.2725 +0.2725 +0.305 +0.35625 +0.42125 +0.46625 +0.48000002 +0.43 +0.35000002 +0.27125 +0.22375001 +0.235 +0.3075 +0.41250002 +0.5025 +0.53000003 +0.48125002 +0.37625 +0.2775 +0.24750002 +0.32125002 +0.4875 +0.6925 +0.85875 +0.93375 +0.90874994 +0.82 +0.72625 +0.67375 +0.66375 +0.6625 +0.62874997 +0.54125 +0.4175 +0.3125 +0.2725 +0.31875 +0.41875 +0.51875 +0.55999994 +0.51750004 +0.41750002 +0.31 +0.25 +0.2575 +0.3225 +0.40125 +0.43375003 +0.43 +0.39875 +0.37750003 +0.3925 +0.44875002 +0.51625 +0.56000006 +0.5475 +0.4825 +0.395 +0.325 +0.30125 +0.33124998 +0.39124998 +0.45375 +0.49124998 +0.49624997 +0.47375 +0.44625 +0.41875 +0.39499998 +0.36875 +0.335 +0.29874998 +0.2725 +0.2725 +0.305 +0.35625 +0.42125 +0.46625 +0.48000002 +0.43 +0.35000002 +0.27125 +0.22375001 +0.235 +0.3075 +0.41250002 +0.5025 +0.53000003 +0.48125002 +0.37625 +0.2775 +0.24750002 +0.32125002 +0.4875 +0.6925 +0.85875 +0.93375 +0.90874994 +0.66749996 +0.61125 +0.59 +0.60625005 +0.63124996 +0.62749994 +0.57500005 +0.48375002 +0.39375 +0.35000002 +0.37 +0.44 +0.51750004 +0.5575 +0.54 +0.48625 +0.43875 +0.43624997 +0.515 +0.63375 +0.72375 +0.74375 +0.695 +0.65125 +0.60749996 +0.58875 +0.59624994 +0.61125004 +0.61875004 +0.56625 +0.4875 +0.40749997 +0.35 +0.32875 +0.33875 +0.36125 +0.37 +0.35250002 +0.31875 +0.28375 +0.26 +0.24749999 +0.23000002 +0.20249999 +0.15875 +0.08875 +0.068749994 +0.07625 +0.09625 +0.13125001 +0.18874998 +0.27875003 +0.30624998 +0.255 +0.155 +0.07375 +0.062499996 +0.092499994 +0.17375001 +0.29125 +0.395 +0.44 +0.4175 +0.345 +0.26624998 +0.22875002 +0.27124998 +0.38374996 +0.53499997 +0.66625 +0.73125005 +0.7225001 +0.66749996 +0.61125 +0.59 +0.60625005 +0.63124996 +0.62749994 +0.57500005 +0.48375002 +0.39375 +0.35000002 +0.37 +0.44 +0.51750004 +0.5575 +0.54 +0.48625 +0.43875 +0.43624997 +0.515 +0.63375 +0.72375 +0.74375 +0.695 +0.65125 +0.60749996 +0.58875 +0.59624994 +0.61125004 +0.61875004 +0.56625 +0.4875 +0.40749997 +0.35 +0.32875 +0.33875 +0.36125 +0.37 +0.35250002 +0.31875 +0.28375 +0.26 +0.24749999 +0.23000002 +0.20249999 +0.15875 +0.08875 +0.068749994 +0.07625 +0.09625 +0.13125001 +0.18874998 +0.27875003 +0.30624998 +0.255 +0.155 +0.07375 +0.062499996 +0.092499994 +0.17375001 +0.29125 +0.395 +0.44 +0.4175 +0.345 +0.26624998 +0.22875002 +0.27124998 +0.38374996 +0.53499997 +0.66625 +0.73125005 +0.7225001 +0.54499996 +0.52750003 +0.54125 +0.58875 +0.64374995 +0.67375 +0.65125 +0.585 +0.51125 +0.4725 +0.48875 +0.5675 +0.66 +0.71625 +0.72749996 +0.73125 +0.7575 +0.86 +1.03 +1.2137499 +1.34625 +1.385 +1.32625 +1.2125001 +1.12125 +1.04375 +0.99749994 +0.97375 +0.91625 +0.80625004 +0.66249996 +0.5525 +0.48999998 +0.46625 +0.46999997 +0.46749997 +0.42875 +0.35125 +0.25875002 +0.1775 +0.13 +0.11625 +0.122499995 +0.13374999 +0.09125 +0.030000001 +0.0 +0.0125 +0.01875 +0.01375 +0.105 +0.20250002 +0.22875002 +0.17750001 +0.08625 +0.0175 +0.00875 +0.0475 +0.14625 +0.28 +0.3775 +0.40874997 +0.38 +0.315 +0.24000001 +0.1975 +0.21125 +0.28375003 +0.39 +0.4925 +0.55375 +0.56625 +0.54499996 +0.52750003 +0.54125 +0.58875 +0.64374995 +0.67375 +0.65125 +0.585 +0.51125 +0.4725 +0.48875 +0.5675 +0.66 +0.71625 +0.72749996 +0.73125 +0.7575 +0.86 +1.03 +1.2137499 +1.34625 +1.385 +1.32625 +1.2125001 +1.12125 +1.04375 +0.99749994 +0.97375 +0.91625 +0.80625004 +0.66249996 +0.5525 +0.48999998 +0.46625 +0.46999997 +0.46749997 +0.42875 +0.35125 +0.25875002 +0.1775 +0.13 +0.11625 +0.122499995 +0.13374999 +0.09125 +0.030000001 +0.0 +0.0125 +0.01875 +0.01375 +0.105 +0.20250002 +0.22875002 +0.17750001 +0.08625 +0.0175 +0.00875 +0.0475 +0.14625 +0.28 +0.3775 +0.40874997 +0.38 +0.315 +0.24000001 +0.1975 +0.21125 +0.28375003 +0.39 +0.4925 +0.55375 +0.56625 +0.54125005 +0.56125 +0.60999995 +0.685 +0.76 +0.80625 +0.7925 +0.7325 +0.665 +0.63875 +0.67625004 +0.7875 +0.90999997 +1.0024999 +1.0625 +1.12625 +1.2475 +1.46 +1.7437501 +2.03125 +2.23875 +2.31 +2.2425 +2.0837502 +1.9087499 +1.75875 +1.6487501 +1.5487499 +1.41625 +1.2375 +1.0374999 +0.8775 +0.8 +0.7825 +0.795 +0.78625005 +0.71750003 +0.58125 +0.41625002 +0.27124998 +0.18625 +0.17 +0.2075 +0.24749999 +0.22500002 +0.14625001 +0.08 +0.06125 +0.073750004 +0.1375 +0.25625 +0.35625 +0.36749998 +0.29 +0.1725 +0.08375 +0.065 +0.12250001 +0.23875001 +0.35625 +0.42625 +0.42624998 +0.36249998 +0.28625 +0.215 +0.17750001 +0.19 +0.25 +0.33875 +0.43 +0.4975 +0.53000003 +0.54125005 +0.56125 +0.60999995 +0.685 +0.76 +0.80625 +0.7925 +0.7325 +0.665 +0.63875 +0.67625004 +0.7875 +0.90999997 +1.0024999 +1.0625 +1.12625 +1.2475 +1.46 +1.7437501 +2.03125 +2.23875 +2.31 +2.2425 +2.0837502 +1.9087499 +1.75875 +1.6487501 +1.5487499 +1.41625 +1.2375 +1.0374999 +0.8775 +0.8 +0.7825 +0.795 +0.78625005 +0.71750003 +0.58125 +0.41625002 +0.27124998 +0.18625 +0.17 +0.2075 +0.24749999 +0.22500002 +0.14625001 +0.08 +0.06125 +0.073750004 +0.1375 +0.25625 +0.35625 +0.36749998 +0.29 +0.1725 +0.08375 +0.065 +0.12250001 +0.23875001 +0.35625 +0.42625 +0.42624998 +0.36249998 +0.28625 +0.215 +0.17750001 +0.19 +0.25 +0.33875 +0.43 +0.4975 +0.53000003 +0.65000004 +0.7 +0.7775 +0.86999995 +0.95125 +0.98749995 +0.96000004 +0.8875 +0.81875 +0.80875003 +0.88500005 +1.0374999 +1.20125 +1.3299999 +1.43 +1.54875 +1.7425001 +2.0637498 +2.4750001 +2.8899999 +3.19375 +3.3062499 +3.2237499 +3.0149999 +2.7687497 +2.53 +2.3400002 +2.17 +1.9724998 +1.7299999 +1.475 +1.29375 +1.2049999 +1.2075 +1.2512499 +1.2637501 +1.1875 +1.01 +0.77875 +0.57125 +0.45374998 +0.4375 +0.48875 +0.565 +0.57124996 +0.50124997 +0.4025 +0.35375002 +0.40375003 +0.5175 +0.655 +0.73625004 +0.7025 +0.5625 +0.3825 +0.245 +0.20625 +0.27375 +0.37624997 +0.465 +0.49 +0.4375 +0.33374998 +0.24 +0.18124999 +0.17125 +0.21374999 +0.29125002 +0.39000002 +0.48499998 +0.55875 +0.61 +0.65000004 +0.7 +0.7775 +0.86999995 +0.95125 +0.98749995 +0.96000004 +0.8875 +0.81875 +0.80875003 +0.88500005 +1.0374999 +1.20125 +1.3299999 +1.43 +1.54875 +1.7425001 +2.0637498 +2.4750001 +2.8899999 +3.19375 +3.3062499 +3.2237499 +3.0149999 +2.7687497 +2.53 +2.3400002 +2.17 +1.9724998 +1.7299999 +1.475 +1.29375 +1.2049999 +1.2075 +1.2512499 +1.2637501 +1.1875 +1.01 +0.77875 +0.57125 +0.45374998 +0.4375 +0.48875 +0.565 +0.57124996 +0.50124997 +0.4025 +0.35375002 +0.40375003 +0.5175 +0.655 +0.73625004 +0.7025 +0.5625 +0.3825 +0.245 +0.20625 +0.27375 +0.37624997 +0.465 +0.49 +0.4375 +0.33374998 +0.24 +0.18124999 +0.17125 +0.21374999 +0.29125002 +0.39000002 +0.48499998 +0.55875 +0.61 +0.76374996 +0.84 +0.93875 +1.0425 +1.1175 +1.1325 +1.0725 +0.97249997 +0.89874995 +0.90875006 +1.0250001 +1.215 +1.41 +1.5625 +1.675 +1.80375 +2.03875 +2.43875 +2.97125 +3.5087497 +3.905 +4.06 +3.97125 +3.7137504 +3.38375 +3.07375 +2.8174999 +2.59 +2.3487499 +2.07875 +1.80875 +1.60625 +1.52125 +1.56125 +1.65875 +1.7175001 +1.6574999 +1.46125 +1.18875 +0.94125 +0.80375 +0.80375 +0.89 +0.97999996 +1.0025 +0.9525 +0.87625 +0.8525 +0.9225 +1.05875 +1.17875 +1.2012501 +1.0875001 +0.84499997 +0.56624997 +0.35999998 +0.29874998 +0.3625 +0.46249998 +0.52125 +0.49625 +0.39 +0.25375003 +0.16 +0.13 +0.1575 +0.2475 +0.36375004 +0.47750002 +0.57625 +0.64875 +0.70500004 +0.76374996 +0.84 +0.93875 +1.0425 +1.1175 +1.1325 +1.0725 +0.97249997 +0.89874995 +0.90875006 +1.0250001 +1.215 +1.41 +1.5625 +1.675 +1.80375 +2.03875 +2.43875 +2.97125 +3.5087497 +3.905 +4.06 +3.97125 +3.7137504 +3.38375 +3.07375 +2.8174999 +2.59 +2.3487499 +2.07875 +1.80875 +1.60625 +1.52125 +1.56125 +1.65875 +1.7175001 +1.6574999 +1.46125 +1.18875 +0.94125 +0.80375 +0.80375 +0.89 +0.97999996 +1.0025 +0.9525 +0.87625 +0.8525 +0.9225 +1.05875 +1.17875 +1.2012501 +1.0875001 +0.84499997 +0.56624997 +0.35999998 +0.29874998 +0.3625 +0.46249998 +0.52125 +0.49625 +0.39 +0.25375003 +0.16 +0.13 +0.1575 +0.2475 +0.36375004 +0.47750002 +0.57625 +0.64875 +0.70500004 +0.76124996 +0.855 +0.9725 +1.0875 +1.155 +1.1400001 +1.04375 +0.91499996 +0.8325 +0.8625 +1.0150001 +1.2375 +1.44375 +1.575 +1.6387498 +1.725 +1.95625 +2.40375 +3.0249999 +3.65875 +4.12875 +4.3224998 +4.21875 +3.9025 +3.50875 +3.1525002 +2.8775 +2.64625 +2.4025002 +2.12 +1.8375 +1.63125 +1.57 +1.66 +1.825 +1.9425 +1.9150001 +1.72125 +1.43 +1.16625 +1.03125 +1.0562501 +1.1837499 +1.31 +1.35375 +1.3137499 +1.2475001 +1.24375 +1.34375 +1.5037501 +1.6199999 +1.5787499 +1.34625 +0.97749996 +0.585 +0.3075 +0.21875 +0.28625 +0.40750003 +0.47 +0.41625 +0.2775 +0.14375 +0.073750004 +0.085 +0.1375 +0.2525 +0.40125003 +0.52375 +0.60375005 +0.65375 +0.69875 +0.76124996 +0.855 +0.9725 +1.0875 +1.155 +1.1400001 +1.04375 +0.91499996 +0.8325 +0.8625 +1.0150001 +1.2375 +1.44375 +1.575 +1.6387498 +1.725 +1.95625 +2.40375 +3.0249999 +3.65875 +4.12875 +4.3224998 +4.21875 +3.9025 +3.50875 +3.1525002 +2.8775 +2.64625 +2.4025002 +2.12 +1.8375 +1.63125 +1.57 +1.66 +1.825 +1.9425 +1.9150001 +1.72125 +1.43 +1.16625 +1.03125 +1.0562501 +1.1837499 +1.31 +1.35375 +1.3137499 +1.2475001 +1.24375 +1.34375 +1.5037501 +1.6199999 +1.5787499 +1.34625 +0.97749996 +0.585 +0.3075 +0.21875 +0.28625 +0.40750003 +0.47 +0.41625 +0.2775 +0.14375 +0.073750004 +0.085 +0.1375 +0.2525 +0.40125003 +0.52375 +0.60375005 +0.65375 +0.69875 +0.595 +0.69875 +0.83375 +0.95875 +1.01875 +0.97875 +0.84624994 +0.69125 +0.60125 +0.64625 +0.82374996 +1.0575 +1.2425 +1.31125 +1.2862501 +1.29125 +1.4775 +1.9399998 +2.60625 +3.30125 +3.8162498 +4.0237503 +3.9 +3.5412498 +3.11625 +2.75125 +2.4925 +2.2925 +2.07375 +1.8062501 +1.5312501 +1.3412501 +1.31375 +1.45625 +1.6849998 +1.85625 +1.8587501 +1.675 +1.3825 +1.12125 +1.005 +1.0612501 +1.225 +1.3775 +1.4375 +1.4075 +1.3587501 +1.39125 +1.5375 +1.73375 +1.8462498 +1.7462499 +1.405 +0.9125 +0.43375 +0.13374999 +0.05125 +0.1125 +0.22749999 +0.31499997 +0.27499998 +0.15375 +0.056250002 +0.0525 +0.07625 +0.13374999 +0.24249999 +0.37375 +0.47750002 +0.51875 +0.53375006 +0.55 +0.595 +0.69875 +0.83375 +0.95875 +1.01875 +0.97875 +0.84624994 +0.69125 +0.60125 +0.64625 +0.82374996 +1.0575 +1.2425 +1.31125 +1.2862501 +1.29125 +1.4775 +1.9399998 +2.60625 +3.30125 +3.8162498 +4.0237503 +3.9 +3.5412498 +3.11625 +2.75125 +2.4925 +2.2925 +2.07375 +1.8062501 +1.5312501 +1.3412501 +1.31375 +1.45625 +1.6849998 +1.85625 +1.8587501 +1.675 +1.3825 +1.12125 +1.005 +1.0612501 +1.225 +1.3775 +1.4375 +1.4075 +1.3587501 +1.39125 +1.5375 +1.73375 +1.8462498 +1.7462499 +1.405 +0.9125 +0.43375 +0.13374999 +0.05125 +0.1125 +0.22749999 +0.31499997 +0.27499998 +0.15375 +0.056250002 +0.0525 +0.07625 +0.13374999 +0.24249999 +0.37375 +0.47750002 +0.51875 +0.53375006 +0.55 +0.3825 +0.45125002 +0.58875 +0.71875 +0.76625 +0.6999999 +0.55875 +0.40375 +0.30625 +0.33125 +0.5025 +0.72625 +0.865 +0.85249996 +0.73249996 +0.64374995 +0.7825 +1.2262499 +1.9024999 +2.62125 +3.1525 +3.34875 +3.21625 +2.8475 +2.42625 +2.09375 +1.885 +1.735 +1.55625 +1.31375 +1.0575 +0.89125 +0.89875 +1.08625 +1.35625 +1.5600001 +1.5799999 +1.4 +1.11125 +0.86125 +0.77 +0.85625 +1.0475 +1.22 +1.29375 +1.28 +1.2675 +1.35375 +1.5637499 +1.8087499 +1.9275 +1.7774999 +1.3575001 +0.76125 +0.25375 +0.015 +0.0 +0.022499999 +0.09125 +0.17625 +0.16499999 +0.0875 +0.05 +0.06375 +0.085 +0.1325 +0.22874999 +0.33375 +0.39125 +0.39249998 +0.36875 +0.3575 +0.3825 +0.45125002 +0.58875 +0.71875 +0.76625 +0.6999999 +0.55875 +0.40375 +0.30625 +0.33125 +0.5025 +0.72625 +0.865 +0.85249996 +0.73249996 +0.64374995 +0.7825 +1.2262499 +1.9024999 +2.62125 +3.1525 +3.34875 +3.21625 +2.8475 +2.42625 +2.09375 +1.885 +1.735 +1.55625 +1.31375 +1.0575 +0.89125 +0.89875 +1.08625 +1.35625 +1.5600001 +1.5799999 +1.4 +1.11125 +0.86125 +0.77 +0.85625 +1.0475 +1.22 +1.29375 +1.28 +1.2675 +1.35375 +1.5637499 +1.8087499 +1.9275 +1.7774999 +1.3575001 +0.76125 +0.25375 +0.015 +0.0 +0.022499999 +0.09125 +0.17625 +0.16499999 +0.0875 +0.05 +0.06375 +0.085 +0.1325 +0.22874999 +0.33375 +0.39125 +0.39249998 +0.36875 +0.3575 +0.2875 +0.31625 +0.38749996 +0.48375 +0.51625 +0.44875 +0.31499997 +0.18499999 +0.12875 +0.12875001 +0.20500001 +0.36874998 +0.4625 +0.41125 +0.25125 +0.125 +0.1975 +0.54875 +1.21375 +1.9275 +2.45125 +2.6362498 +2.5049999 +2.1575 +1.7825 +1.51 +1.3625 +1.27 +1.1324999 +0.91499996 +0.67875004 +0.53375 +0.57 +0.78749996 +1.0775 +1.29125 +1.3100001 +1.125 +0.83375 +0.59625 +0.5275 +0.64 +0.84999996 +1.0374999 +1.1287501 +1.14625 +1.19 +1.3525 +1.6400001 +1.93875 +2.07125 +1.8912499 +1.41125 +0.745 +0.21375 +0.005 +0.0 +0.0025 +0.0875 +0.1775 +0.16624999 +0.10249999 +0.05375 +0.0675 +0.08875 +0.1375 +0.24625 +0.33375 +0.3575 +0.33249998 +0.2875 +0.27375 +0.2875 +0.31625 +0.38749996 +0.48375 +0.51625 +0.44875 +0.31499997 +0.18499999 +0.12875 +0.12875001 +0.20500001 +0.36874998 +0.4625 +0.41125 +0.25125 +0.125 +0.1975 +0.54875 +1.21375 +1.9275 +2.45125 +2.6362498 +2.5049999 +2.1575 +1.7825 +1.51 +1.3625 +1.27 +1.1324999 +0.91499996 +0.67875004 +0.53375 +0.57 +0.78749996 +1.0775 +1.29125 +1.3100001 +1.125 +0.83375 +0.59625 +0.5275 +0.64 +0.84999996 +1.0374999 +1.1287501 +1.14625 +1.19 +1.3525 +1.6400001 +1.93875 +2.07125 +1.8912499 +1.41125 +0.745 +0.21375 +0.005 +0.0 +0.0025 +0.0875 +0.1775 +0.16624999 +0.10249999 +0.05375 +0.0675 +0.08875 +0.1375 +0.24625 +0.33375 +0.3575 +0.33249998 +0.2875 +0.27375 +0.28875 +0.28 +0.25875 +0.23125 +0.25375 +0.33875 +0.39249998 +0.39499995 +0.37875003 +0.3875 +0.45000002 +0.5625 +0.71000004 +0.86375 +1.015 +1.165 +1.33375 +1.49875 +1.62125 +1.6712501 +1.63125 +1.52375 +1.39 +1.23 +1.0625 +0.89875 +0.74375 +0.6075 +0.5025 +0.44500002 +0.43500003 +0.4475 +0.4425 +0.385 +0.29375 +0.2725 +0.2775 +0.27 +0.25 +0.225 +0.23624998 +0.32625 +0.38375002 +0.39124998 +0.38375002 +0.40125 +0.4725 +0.5925 +0.74 +0.895 +1.04625 +1.1925 +1.3587499 +1.51875 +1.63375 +1.6737502 +1.62375 +1.5087501 +1.365 +1.19875 +1.02875 +0.86625004 +0.71625 +0.5825 +0.485 +0.43374997 +0.42875 +0.4475 +0.45 +0.40124997 +0.31499997 +0.2825 +0.28875 +0.28 +0.25875 +0.23125 +0.25375 +0.33875 +0.39249998 +0.39499995 +0.37875003 +0.3875 +0.45000002 +0.5625 +0.71000004 +0.86375 +1.015 +1.165 +1.33375 +1.49875 +1.62125 +1.6712501 +1.63125 +1.52375 +1.39 +1.23 +1.0625 +0.89875 +0.74375 +0.6075 +0.5025 +0.44500002 +0.43500003 +0.4475 +0.4425 +0.385 +0.29375 +0.2725 +0.2775 +0.27 +0.25 +0.225 +0.23624998 +0.32625 +0.38375002 +0.39124998 +0.38375002 +0.40125 +0.4725 +0.5925 +0.74 +0.895 +1.04625 +1.1925 +1.3587499 +1.51875 +1.63375 +1.6737502 +1.62375 +1.5087501 +1.365 +1.19875 +1.02875 +0.86625004 +0.71625 +0.5825 +0.485 +0.43374997 +0.42875 +0.4475 +0.45 +0.40124997 +0.31499997 +0.2825 +0.30875 +0.3 +0.2725 +0.27874997 +0.3325 +0.4 +0.43124998 +0.40875 +0.365 +0.35000002 +0.3875 +0.48375 +0.6225 +0.7825 +0.94875 +1.1212499 +1.2975 +1.4837501 +1.6274999 +1.7 +1.6812501 +1.6 +1.46875 +1.30375 +1.125 +0.94124997 +0.77375 +0.62874997 +0.52 +0.4625 +0.45250002 +0.4675 +0.46375 +0.41125 +0.32500002 +0.26624998 +0.2675 +0.26125 +0.2425 +0.21875 +0.265 +0.34624997 +0.395 +0.40125 +0.39499998 +0.42374998 +0.50125 +0.62875 +0.785 +0.95 +1.11375 +1.2725 +1.4387499 +1.5949999 +1.6975001 +1.7150002 +1.6425 +1.5125 +1.3362501 +1.14375 +0.95375 +0.78125 +0.62875 +0.50374997 +0.4225 +0.39249998 +0.40875 +0.45625 +0.48875004 +0.47125 +0.40624997 +0.34124997 +0.30875 +0.3 +0.2725 +0.27874997 +0.3325 +0.4 +0.43124998 +0.40875 +0.365 +0.35000002 +0.3875 +0.48375 +0.6225 +0.7825 +0.94875 +1.1212499 +1.2975 +1.4837501 +1.6274999 +1.7 +1.6812501 +1.6 +1.46875 +1.30375 +1.125 +0.94124997 +0.77375 +0.62874997 +0.52 +0.4625 +0.45250002 +0.4675 +0.46375 +0.41125 +0.32500002 +0.26624998 +0.2675 +0.26125 +0.2425 +0.21875 +0.265 +0.34624997 +0.395 +0.40125 +0.39499998 +0.42374998 +0.50125 +0.62875 +0.785 +0.95 +1.11375 +1.2725 +1.4387499 +1.5949999 +1.6975001 +1.7150002 +1.6425 +1.5125 +1.3362501 +1.14375 +0.95375 +0.78125 +0.62875 +0.50374997 +0.4225 +0.39249998 +0.40875 +0.45625 +0.48875004 +0.47125 +0.40624997 +0.34124997 +0.43249995 +0.39124998 +0.385 +0.42374998 +0.49124998 +0.53375006 +0.52375 +0.46124998 +0.38 +0.32124996 +0.31625003 +0.3775 +0.49499997 +0.65500003 +0.83875 +1.0387499 +1.245 +1.45375 +1.6375 +1.7550001 +1.7762499 +1.71875 +1.6 +1.4325 +1.23625 +1.0374999 +0.85124993 +0.69875 +0.59375 +0.54375 +0.54125 +0.5625 +0.56624997 +0.52125 +0.43249997 +0.33875 +0.28875 +0.27125 +0.27125 +0.3025 +0.37749997 +0.45250005 +0.485 +0.485 +0.48125 +0.515 +0.59999996 +0.73125005 +0.8925 +1.0649999 +1.24125 +1.415 +1.59125 +1.7425001 +1.8175001 +1.79625 +1.6850001 +1.5050001 +1.28125 +1.0487499 +0.83375007 +0.65 +0.5025 +0.3975 +0.345 +0.34875 +0.40625 +0.49499997 +0.57500005 +0.6075 +0.57624996 +0.5025 +0.43249995 +0.39124998 +0.385 +0.42374998 +0.49124998 +0.53375006 +0.52375 +0.46124998 +0.38 +0.32124996 +0.31625003 +0.3775 +0.49499997 +0.65500003 +0.83875 +1.0387499 +1.245 +1.45375 +1.6375 +1.7550001 +1.7762499 +1.71875 +1.6 +1.4325 +1.23625 +1.0374999 +0.85124993 +0.69875 +0.59375 +0.54375 +0.54125 +0.5625 +0.56624997 +0.52125 +0.43249997 +0.33875 +0.28875 +0.27125 +0.27125 +0.3025 +0.37749997 +0.45250005 +0.485 +0.485 +0.48125 +0.515 +0.59999996 +0.73125005 +0.8925 +1.0649999 +1.24125 +1.415 +1.59125 +1.7425001 +1.8175001 +1.79625 +1.6850001 +1.5050001 +1.28125 +1.0487499 +0.83375007 +0.65 +0.5025 +0.3975 +0.345 +0.34875 +0.40625 +0.49499997 +0.57500005 +0.6075 +0.57624996 +0.5025 +0.7125001 +0.66625 +0.65374994 +0.6725 +0.705 +0.71125 +0.67125 +0.58125 +0.46749997 +0.36625 +0.3175 +0.33999997 +0.42625 +0.56875 +0.75249994 +0.96250004 +1.185 +1.4187499 +1.64125 +1.80125 +1.875 +1.84375 +1.74125 +1.5837501 +1.3887501 +1.1837499 +0.995 +0.84875 +0.75874996 +0.72875 +0.74750006 +0.78625 +0.8025 +0.775 +0.69875 +0.59749997 +0.51500005 +0.4825 +0.515 +0.58875 +0.66875005 +0.7175 +0.72749996 +0.7125 +0.705 +0.73375 +0.81125003 +0.93375003 +1.08375 +1.2462499 +1.42 +1.60625 +1.7887499 +1.9137499 +1.94875 +1.875 +1.71 +1.48125 +1.2162501 +0.955 +0.73375 +0.5575 +0.4275 +0.35125 +0.3325 +0.3725 +0.46624994 +0.58875 +0.7049999 +0.7825 +0.8025 +0.77 +0.7125001 +0.66625 +0.65374994 +0.6725 +0.705 +0.71125 +0.67125 +0.58125 +0.46749997 +0.36625 +0.3175 +0.33999997 +0.42625 +0.56875 +0.75249994 +0.96250004 +1.185 +1.4187499 +1.64125 +1.80125 +1.875 +1.84375 +1.74125 +1.5837501 +1.3887501 +1.1837499 +0.995 +0.84875 +0.75874996 +0.72875 +0.74750006 +0.78625 +0.8025 +0.775 +0.69875 +0.59749997 +0.51500005 +0.4825 +0.515 +0.58875 +0.66875005 +0.7175 +0.72749996 +0.7125 +0.705 +0.73375 +0.81125003 +0.93375003 +1.08375 +1.2462499 +1.42 +1.60625 +1.7887499 +1.9137499 +1.94875 +1.875 +1.71 +1.48125 +1.2162501 +0.955 +0.73375 +0.5575 +0.4275 +0.35125 +0.3325 +0.3725 +0.46624994 +0.58875 +0.7049999 +0.7825 +0.8025 +0.77 +0.98625 +0.94375 +0.9150001 +0.9024999 +0.9025 +0.88874996 +0.84250003 +0.75375 +0.63500005 +0.515 +0.435 +0.42625 +0.47625002 +0.58125 +0.73125 +0.9225001 +1.13375 +1.37375 +1.6137501 +1.8100001 +1.93 +1.9525 +1.875 +1.73 +1.55375 +1.3612499 +1.2025 +1.0975 +1.04375 +1.03625 +1.06 +1.125 +1.165 +1.1587499 +1.1075001 +1.03375 +0.9775 +0.96375 +0.99875 +1.06125 +1.115 +1.1325 +1.115 +1.105 +1.0949999 +1.10125 +1.13875 +1.2187501 +1.34 +1.475 +1.64125 +1.8199999 +1.97125 +2.05375 +2.0337498 +1.90375 +1.6875 +1.42875 +1.15125 +0.90625 +0.71124995 +0.56374997 +0.4625 +0.41875 +0.4325 +0.49375 +0.59999996 +0.73 +0.86 +0.9625 +1.015 +1.0175 +0.98625 +0.94375 +0.9150001 +0.9024999 +0.9025 +0.88874996 +0.84250003 +0.75375 +0.63500005 +0.515 +0.435 +0.42625 +0.47625002 +0.58125 +0.73125 +0.9225001 +1.13375 +1.37375 +1.6137501 +1.8100001 +1.93 +1.9525 +1.875 +1.73 +1.55375 +1.3612499 +1.2025 +1.0975 +1.04375 +1.03625 +1.06 +1.125 +1.165 +1.1587499 +1.1075001 +1.03375 +0.9775 +0.96375 +0.99875 +1.06125 +1.115 +1.1325 +1.115 +1.105 +1.0949999 +1.10125 +1.13875 +1.2187501 +1.34 +1.475 +1.64125 +1.8199999 +1.97125 +2.05375 +2.0337498 +1.90375 +1.6875 +1.42875 +1.15125 +0.90625 +0.71124995 +0.56374997 +0.4625 +0.41875 +0.4325 +0.49375 +0.59999996 +0.73 +0.86 +0.9625 +1.015 +1.0175 +1.1812501 +1.1437501 +1.095 +1.05875 +1.03625 +1.0175 +0.98749995 +0.92375 +0.82875 +0.71875 +0.62375003 +0.59000003 +0.60625 +0.6675 +0.77250004 +0.9125 +1.0899999 +1.3025 +1.5350001 +1.75125 +1.91375 +1.9875 +1.96 +1.84875 +1.6949999 +1.535 +1.4075 +1.33125 +1.315 +1.3475 +1.40375 +1.48125 +1.55125 +1.5699999 +1.54375 +1.49625 +1.4662501 +1.4699999 +1.51 +1.565 +1.59625 +1.5849999 +1.55625 +1.525 +1.48875 +1.46875 +1.4775 +1.51875 +1.6 +1.7112501 +1.8462499 +1.9825001 +2.0825 +2.10375 +2.02375 +1.8449999 +1.6 +1.3312501 +1.08375 +0.88 +0.73125 +0.63125 +0.57375 +0.57124996 +0.6075 +0.675 +0.7674999 +0.87750006 +0.99250007 +1.0949999 +1.1650002 +1.1925 +1.1812501 +1.1437501 +1.095 +1.05875 +1.03625 +1.0175 +0.98749995 +0.92375 +0.82875 +0.71875 +0.62375003 +0.59000003 +0.60625 +0.6675 +0.77250004 +0.9125 +1.0899999 +1.3025 +1.5350001 +1.75125 +1.91375 +1.9875 +1.96 +1.84875 +1.6949999 +1.535 +1.4075 +1.33125 +1.315 +1.3475 +1.40375 +1.48125 +1.55125 +1.5699999 +1.54375 +1.49625 +1.4662501 +1.4699999 +1.51 +1.565 +1.59625 +1.5849999 +1.55625 +1.525 +1.48875 +1.46875 +1.4775 +1.51875 +1.6 +1.7112501 +1.8462499 +1.9825001 +2.0825 +2.10375 +2.02375 +1.8449999 +1.6 +1.3312501 +1.08375 +0.88 +0.73125 +0.63125 +0.57375 +0.57124996 +0.6075 +0.675 +0.7674999 +0.87750006 +0.99250007 +1.0949999 +1.1650002 +1.1925 +1.2762501 +1.23875 +1.17375 +1.10875 +1.06375 +1.04625 +1.0387499 +1.01625 +0.96375 +0.88 +0.79 +0.73375 +0.725 +0.74875 +0.80375004 +0.895 +1.01625 +1.1862501 +1.395 +1.6187501 +1.8112501 +1.93125 +1.95625 +1.89 +1.7825 +1.63875 +1.5150001 +1.45625 +1.45875 +1.515 +1.59875 +1.71625 +1.815 +1.8625 +1.865 +1.84625 +1.8375001 +1.8575001 +1.9 +1.94375 +1.9549999 +1.91625 +1.8475 +1.7874999 +1.72875 +1.6875 +1.6775 +1.7137499 +1.78 +1.8487499 +1.95 +2.0375001 +2.07625 +2.03125 +1.89375 +1.67875 +1.425 +1.185 +0.9725 +0.825 +0.73375 +0.6875 +0.6825 +0.71500003 +0.76375 +0.82124996 +0.88500005 +0.96 +1.0437499 +1.135 +1.2162501 +1.2674999 +1.2762501 +1.23875 +1.17375 +1.10875 +1.06375 +1.04625 +1.0387499 +1.01625 +0.96375 +0.88 +0.79 +0.73375 +0.725 +0.74875 +0.80375004 +0.895 +1.01625 +1.1862501 +1.395 +1.6187501 +1.8112501 +1.93125 +1.95625 +1.89 +1.7825 +1.63875 +1.5150001 +1.45625 +1.45875 +1.515 +1.59875 +1.71625 +1.815 +1.8625 +1.865 +1.84625 +1.8375001 +1.8575001 +1.9 +1.94375 +1.9549999 +1.91625 +1.8475 +1.7874999 +1.72875 +1.6875 +1.6775 +1.7137499 +1.78 +1.8487499 +1.95 +2.0375001 +2.07625 +2.03125 +1.89375 +1.67875 +1.425 +1.185 +0.9725 +0.825 +0.73375 +0.6875 +0.6825 +0.71500003 +0.76375 +0.82124996 +0.88500005 +0.96 +1.0437499 +1.135 +1.2162501 +1.2674999 +1.26375 +1.2325001 +1.1525 +1.0525 +0.97624993 +0.94624996 +0.95500004 +0.97125 +0.96250004 +0.91375005 +0.84125 +0.7749999 +0.74125004 +0.74249995 +0.77875 +0.83875 +0.91999996 +1.02875 +1.205 +1.4225001 +1.635 +1.7925 +1.8625 +1.875 +1.795 +1.66 +1.52125 +1.42875 +1.43 +1.48625 +1.6099999 +1.7574999 +1.88375 +1.9662501 +2.00375 +2.0149999 +2.02875 +2.0600002 +2.10125 +2.1312501 +2.11625 +2.0475 +1.9375 +1.82375 +1.7450001 +1.6925 +1.71 +1.76375 +1.8275 +1.88375 +1.9175 +1.96125 +1.9425 +1.8399999 +1.6550001 +1.42625 +1.20125 +0.9875001 +0.81875 +0.7075 +0.66375005 +0.6675 +0.70375 +0.75499994 +0.80625 +0.845 +0.87625 +0.915 +0.97375 +1.0575 +1.1537501 +1.2325 +1.26375 +1.2325001 +1.1525 +1.0525 +0.97624993 +0.94624996 +0.95500004 +0.97125 +0.96250004 +0.91375005 +0.84125 +0.7749999 +0.74125004 +0.74249995 +0.77875 +0.83875 +0.91999996 +1.02875 +1.205 +1.4225001 +1.635 +1.7925 +1.8625 +1.875 +1.795 +1.66 +1.52125 +1.42875 +1.43 +1.48625 +1.6099999 +1.7574999 +1.88375 +1.9662501 +2.00375 +2.0149999 +2.02875 +2.0600002 +2.10125 +2.1312501 +2.11625 +2.0475 +1.9375 +1.82375 +1.7450001 +1.6925 +1.71 +1.76375 +1.8275 +1.88375 +1.9175 +1.96125 +1.9425 +1.8399999 +1.6550001 +1.42625 +1.20125 +0.9875001 +0.81875 +0.7075 +0.66375005 +0.6675 +0.70375 +0.75499994 +0.80625 +0.845 +0.87625 +0.915 +0.97375 +1.0575 +1.1537501 +1.2325 +1.1550001 +1.13125 +1.03125 +0.89625 +0.7824999 +0.7312499 +0.74125 +0.78 +0.8025 +0.78625 +0.73625 +0.67875004 +0.64625 +0.64625 +0.6775 +0.72875 +0.79249996 +0.88125 +1.0137501 +1.19875 +1.4175 +1.61 +1.7475 +1.78875 +1.7275 +1.5975 +1.4512501 +1.34125 +1.3087499 +1.3649999 +1.49375 +1.655 +1.81125 +1.9325 +2.0125 +2.06125 +2.10125 +2.14375 +2.1825001 +2.19125 +2.14625 +2.0425 +1.8974999 +1.75125 +1.64375 +1.6000001 +1.6225 +1.685 +1.7574999 +1.8100001 +1.825 +1.7875 +1.705 +1.55625 +1.36875 +1.15875 +0.94750005 +0.76374996 +0.62625 +0.54875 +0.525 +0.54625 +0.59625006 +0.65250003 +0.6975 +0.72 +0.725 +0.73375 +0.77375 +0.86125004 +0.98125005 +1.0949999 +1.1550001 +1.13125 +1.03125 +0.89625 +0.7824999 +0.7312499 +0.74125 +0.78 +0.8025 +0.78625 +0.73625 +0.67875004 +0.64625 +0.64625 +0.6775 +0.72875 +0.79249996 +0.88125 +1.0137501 +1.19875 +1.4175 +1.61 +1.7475 +1.78875 +1.7275 +1.5975 +1.4512501 +1.34125 +1.3087499 +1.3649999 +1.49375 +1.655 +1.81125 +1.9325 +2.0125 +2.06125 +2.10125 +2.14375 +2.1825001 +2.19125 +2.14625 +2.0425 +1.8974999 +1.75125 +1.64375 +1.6000001 +1.6225 +1.685 +1.7574999 +1.8100001 +1.825 +1.7875 +1.705 +1.55625 +1.36875 +1.15875 +0.94750005 +0.76374996 +0.62625 +0.54875 +0.525 +0.54625 +0.59625006 +0.65250003 +0.6975 +0.72 +0.725 +0.73375 +0.77375 +0.86125004 +0.98125005 +1.0949999 +0.96374995 +0.94875 +0.8349999 +0.66999996 +0.52 +0.44499996 +0.45124993 +0.50125 +0.5475 +0.555 +0.52375 +0.47875 +0.45624998 +0.47375 +0.5225 +0.58375 +0.64874995 +0.7275 +0.84124994 +1.00625 +1.21125 +1.41375 +1.5649999 +1.62875 +1.5887499 +1.475 +1.3375 +1.225 +1.18625 +1.235 +1.365 +1.5425001 +1.7275001 +1.8924999 +2.0225 +2.1175 +2.19 +2.24875 +2.28125 +2.2687502 +2.195 +2.0575 +1.8775 +1.70125 +1.5687499 +1.5087501 +1.5175 +1.5725 +1.6374999 +1.67125 +1.6524999 +1.5775 +1.44625 +1.2725 +1.0775001 +0.8775 +0.6925 +0.53875 +0.4275 +0.35625002 +0.33 +0.34625003 +0.39125 +0.44375002 +0.48375 +0.49374998 +0.47750002 +0.46250004 +0.48999998 +0.58125 +0.72499996 +0.87375 +0.96374995 +0.94875 +0.8349999 +0.66999996 +0.52 +0.44499996 +0.45124993 +0.50125 +0.5475 +0.555 +0.52375 +0.47875 +0.45624998 +0.47375 +0.5225 +0.58375 +0.64874995 +0.7275 +0.84124994 +1.00625 +1.21125 +1.41375 +1.5649999 +1.62875 +1.5887499 +1.475 +1.3375 +1.225 +1.18625 +1.235 +1.365 +1.5425001 +1.7275001 +1.8924999 +2.0225 +2.1175 +2.19 +2.24875 +2.28125 +2.2687502 +2.195 +2.0575 +1.8775 +1.70125 +1.5687499 +1.5087501 +1.5175 +1.5725 +1.6374999 +1.67125 +1.6524999 +1.5775 +1.44625 +1.2725 +1.0775001 +0.8775 +0.6925 +0.53875 +0.4275 +0.35625002 +0.33 +0.34625003 +0.39125 +0.44375002 +0.48375 +0.49374998 +0.47750002 +0.46250004 +0.48999998 +0.58125 +0.72499996 +0.87375 +0.71125 +0.70875 +0.59124994 +0.40999997 +0.28125 +0.2175 +0.22250001 +0.2625 +0.29875 +0.3125 +0.29125 +0.25874996 +0.25124997 +0.29125 +0.35874996 +0.43750003 +0.51 +0.5725 +0.65999997 +0.79 +0.965 +1.15375 +1.3112501 +1.39625 +1.3924999 +1.3199999 +1.2225 +1.145 +1.1325 +1.19875 +1.34 +1.53125 +1.7425001 +1.9475 +2.1275 +2.27125 +2.38375 +2.4612498 +2.49375 +2.46875 +2.3725 +2.21125 +2.0075002 +1.8 +1.6325 +1.5312499 +1.5 +1.5112499 +1.52875 +1.5137501 +1.4437499 +1.3175 +1.14625 +0.9562501 +0.77 +0.60375 +0.46124998 +0.34375 +0.25875 +0.19625 +0.165 +0.17 +0.20125002 +0.24375 +0.2725 +0.2725 +0.25125 +0.23249999 +0.24999999 +0.32250002 +0.44125003 +0.60125 +0.71125 +0.70875 +0.59124994 +0.40999997 +0.28125 +0.2175 +0.22250001 +0.2625 +0.29875 +0.3125 +0.29125 +0.25874996 +0.25124997 +0.29125 +0.35874996 +0.43750003 +0.51 +0.5725 +0.65999997 +0.79 +0.965 +1.15375 +1.3112501 +1.39625 +1.3924999 +1.3199999 +1.2225 +1.145 +1.1325 +1.19875 +1.34 +1.53125 +1.7425001 +1.9475 +2.1275 +2.27125 +2.38375 +2.4612498 +2.49375 +2.46875 +2.3725 +2.21125 +2.0075002 +1.8 +1.6325 +1.5312499 +1.5 +1.5112499 +1.52875 +1.5137501 +1.4437499 +1.3175 +1.14625 +0.9562501 +0.77 +0.60375 +0.46124998 +0.34375 +0.25875 +0.19625 +0.165 +0.17 +0.20125002 +0.24375 +0.2725 +0.2725 +0.25125 +0.23249999 +0.24999999 +0.32250002 +0.44125003 +0.60125 +0.45499998 +0.45999995 +0.35 +0.235 +0.1675 +0.155 +0.16625 +0.18125 +0.18375 +0.175 +0.15374999 +0.1325 +0.13874999 +0.17875 +0.24999999 +0.32625002 +0.38625002 +0.425 +0.47 +0.5525 +0.68249995 +0.84625006 +1.00125 +1.1125 +1.16 +1.15375 +1.12875 +1.1437501 +1.2 +1.295 +1.4325 +1.6325002 +1.85875 +2.08625 +2.2975 +2.48 +2.625 +2.7250001 +2.7687502 +2.74375 +2.645 +2.4775 +2.2662501 +2.06375 +1.87375 +1.7075 +1.5875 +1.52375 +1.46 +1.36625 +1.2225 +1.03625 +0.83 +0.63500005 +0.47500002 +0.35625002 +0.28375 +0.23 +0.18124999 +0.14375 +0.12125 +0.12 +0.14125 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.2 +0.26375 +0.36249998 +0.45499998 +0.45999995 +0.35 +0.235 +0.1675 +0.155 +0.16625 +0.18125 +0.18375 +0.175 +0.15374999 +0.1325 +0.13874999 +0.17875 +0.24999999 +0.32625002 +0.38625002 +0.425 +0.47 +0.5525 +0.68249995 +0.84625006 +1.00125 +1.1125 +1.16 +1.15375 +1.12875 +1.1437501 +1.2 +1.295 +1.4325 +1.6325002 +1.85875 +2.08625 +2.2975 +2.48 +2.625 +2.7250001 +2.7687502 +2.74375 +2.645 +2.4775 +2.2662501 +2.06375 +1.87375 +1.7075 +1.5875 +1.52375 +1.46 +1.36625 +1.2225 +1.03625 +0.83 +0.63500005 +0.47500002 +0.35625002 +0.28375 +0.23 +0.18124999 +0.14375 +0.12125 +0.12 +0.14125 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.2 +0.26375 +0.36249998 +0.27874997 +0.27124998 +0.215 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.22625 +0.27374998 +0.3 +0.3 +0.29375 +0.3375 +0.45624998 +0.58375 +0.70500004 +0.82875 +0.92125 +0.995 +1.0925 +1.2012501 +1.32125 +1.45375 +1.5975001 +1.7625 +1.96 +2.17625 +2.39125 +2.59 +2.75875 +2.8737497 +2.9299998 +2.91625 +2.835 +2.705 +2.54375 +2.35625 +2.1512501 +1.94625 +1.74875 +1.5637499 +1.4037501 +1.23 +1.02625 +0.82 +0.59625006 +0.375 +0.23624998 +0.1925 +0.20875 +0.23125 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.20375 +0.24625 +0.27874997 +0.27124998 +0.215 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.22625 +0.27374998 +0.3 +0.3 +0.29375 +0.3375 +0.45624998 +0.58375 +0.70500004 +0.82875 +0.92125 +0.995 +1.0925 +1.2012501 +1.32125 +1.45375 +1.5975001 +1.7625 +1.96 +2.17625 +2.39125 +2.59 +2.75875 +2.8737497 +2.9299998 +2.91625 +2.835 +2.705 +2.54375 +2.35625 +2.1512501 +1.94625 +1.74875 +1.5637499 +1.4037501 +1.23 +1.02625 +0.82 +0.59625006 +0.375 +0.23624998 +0.1925 +0.20875 +0.23125 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.20375 +0.24625 +0.22249998 +0.2175 +0.16499999 +0.11125 +0.09 +0.09875 +0.13 +0.16375 +0.1825 +0.18 +0.16875 +0.16875 +0.1925 +0.23375 +0.2725 +0.28375 +0.26749998 +0.22124998 +0.17374998 +0.20875 +0.30374998 +0.41250002 +0.52375 +0.63250005 +0.7475 +0.88 +1.03125 +1.19625 +1.36 +1.51125 +1.645 +1.7775 +1.9262499 +2.1000001 +2.29625 +2.49 +2.6574998 +2.77625 +2.8325 +2.83 +2.78 +2.6925 +2.575 +2.42375 +2.23875 +2.0249999 +1.7949998 +1.56125 +1.33375 +1.11625 +0.90000004 +0.67499995 +0.45 +0.2375 +0.10875 +0.15124999 +0.2325 +0.2775 +0.2725 +0.23375 +0.1925 +0.16875 +0.16875 +0.18 +0.19375 +0.185 +0.14124998 +0.09875 +0.09 +0.11125 +0.1525 +0.1925 +0.22249998 +0.2175 +0.16499999 +0.11125 +0.09 +0.09875 +0.13 +0.16375 +0.1825 +0.18 +0.16875 +0.16875 +0.1925 +0.23375 +0.2725 +0.28375 +0.26749998 +0.22124998 +0.17374998 +0.20875 +0.30374998 +0.41250002 +0.52375 +0.63250005 +0.7475 +0.88 +1.03125 +1.19625 +1.36 +1.51125 +1.645 +1.7775 +1.9262499 +2.1000001 +2.29625 +2.49 +2.6574998 +2.77625 +2.8325 +2.83 +2.78 +2.6925 +2.575 +2.42375 +2.23875 +2.0249999 +1.7949998 +1.56125 +1.33375 +1.11625 +0.90000004 +0.67499995 +0.45 +0.2375 +0.10875 +0.15124999 +0.2325 +0.2775 +0.2725 +0.23375 +0.1925 +0.16875 +0.16875 +0.18 +0.19375 +0.185 +0.14124998 +0.09875 +0.09 +0.11125 +0.1525 +0.1925 +0.27624997 +0.28125 +0.21875 +0.13625 +0.08625 +0.0825 +0.11750001 +0.16499999 +0.2 +0.21249999 +0.20875001 +0.21375002 +0.24249999 +0.29375 +0.3375 +0.34 +0.2925 +0.21249999 +0.1475 +0.17 +0.26749998 +0.3675 +0.45874998 +0.545 +0.64125 +0.76125 +0.9150001 +1.09 +1.25625 +1.3900001 +1.4825 +1.5525 +1.6337501 +1.7437501 +1.8925 +2.05625 +2.20625 +2.3125002 +2.3625 +2.365 +2.3425 +2.29625 +2.24 +2.15125 +2.02 +1.8399999 +1.625 +1.39875 +1.1850001 +0.98375005 +0.79249996 +0.60125 +0.40499997 +0.21375 +0.1225 +0.17875 +0.28375 +0.34 +0.3375 +0.2925 +0.23625 +0.19625 +0.18375 +0.21624999 +0.2525 +0.25125 +0.19500001 +0.122499995 +0.08125 +0.088750005 +0.14125 +0.21249999 +0.27624997 +0.28125 +0.21875 +0.13625 +0.08625 +0.0825 +0.11750001 +0.16499999 +0.2 +0.21249999 +0.20875001 +0.21375002 +0.24249999 +0.29375 +0.3375 +0.34 +0.2925 +0.21249999 +0.1475 +0.17 +0.26749998 +0.3675 +0.45874998 +0.545 +0.64125 +0.76125 +0.9150001 +1.09 +1.25625 +1.3900001 +1.4825 +1.5525 +1.6337501 +1.7437501 +1.8925 +2.05625 +2.20625 +2.3125002 +2.3625 +2.365 +2.3425 +2.29625 +2.24 +2.15125 +2.02 +1.8399999 +1.625 +1.39875 +1.1850001 +0.98375005 +0.79249996 +0.60125 +0.40499997 +0.21375 +0.1225 +0.17875 +0.28375 +0.34 +0.3375 +0.2925 +0.23625 +0.19625 +0.18375 +0.21624999 +0.2525 +0.25125 +0.19500001 +0.122499995 +0.08125 +0.088750005 +0.14125 +0.21249999 +0.44875002 +0.46625 +0.4125 +0.31625 +0.22749999 +0.18875 +0.20374998 +0.24624999 +0.285 +0.30374998 +0.30624998 +0.31375 +0.3475 +0.39499998 +0.42374998 +0.4125 +0.35 +0.2625 +0.215 +0.235 +0.35625 +0.45875 +0.54375 +0.61125 +0.65125 +0.69499993 +0.77000004 +0.91 +1.04125 +1.12875 +1.19125 +1.20625 +1.2099999 +1.23875 +1.3100001 +1.43125 +1.5550001 +1.6349999 +1.6737499 +1.6912501 +1.6899999 +1.68125 +1.66 +1.6125 +1.55 +1.4350001 +1.2750001 +1.1387501 +1.00875 +0.8775 +0.73375 +0.59875 +0.46124998 +0.30374998 +0.24 +0.25875 +0.345 +0.40875 +0.405 +0.3525 +0.29125 +0.2575 +0.26624998 +0.32125 +0.37750003 +0.38625 +0.3375 +0.25875 +0.1975 +0.1975 +0.26250002 +0.36749998 +0.44875002 +0.46625 +0.4125 +0.31625 +0.22749999 +0.18875 +0.20374998 +0.24624999 +0.285 +0.30374998 +0.30624998 +0.31375 +0.3475 +0.39499998 +0.42374998 +0.4125 +0.35 +0.2625 +0.215 +0.235 +0.35625 +0.45875 +0.54375 +0.61125 +0.65125 +0.69499993 +0.77000004 +0.91 +1.04125 +1.12875 +1.19125 +1.20625 +1.2099999 +1.23875 +1.3100001 +1.43125 +1.5550001 +1.6349999 +1.6737499 +1.6912501 +1.6899999 +1.68125 +1.66 +1.6125 +1.55 +1.4350001 +1.2750001 +1.1387501 +1.00875 +0.8775 +0.73375 +0.59875 +0.46124998 +0.30374998 +0.24 +0.25875 +0.345 +0.40875 +0.405 +0.3525 +0.29125 +0.2575 +0.26624998 +0.32125 +0.37750003 +0.38625 +0.3375 +0.25875 +0.1975 +0.1975 +0.26250002 +0.36749998 +0.63124996 +0.65375 +0.61875 +0.54375 +0.46374997 +0.4075 +0.385 +0.37999997 +0.3875 +0.4025 +0.42875004 +0.46875 +0.52000004 +0.55625 +0.55499995 +0.5025 +0.4125 +0.3375 +0.3275 +0.395 +0.52374995 +0.65375 +0.7325 +0.74125004 +0.7075 +0.6775 +0.6912501 +0.75625 +0.84000003 +0.89375 +0.88624996 +0.83 +0.77 +0.75249994 +0.79875 +0.8925 +0.9875 +1.0462501 +1.05875 +1.04125 +1.0237501 +1.02875 +1.05125 +1.0675 +1.0525 +1.0 +0.92625 +0.85625 +0.80375 +0.76625 +0.72625 +0.6625 +0.575 +0.48375 +0.4125 +0.385 +0.41375 +0.46375 +0.46625 +0.43875003 +0.40999997 +0.40375 +0.42624998 +0.46125 +0.48874998 +0.48749998 +0.45625004 +0.40875 +0.38125002 +0.40125 +0.46875 +0.5587499 +0.63124996 +0.65375 +0.61875 +0.54375 +0.46374997 +0.4075 +0.385 +0.37999997 +0.3875 +0.4025 +0.42875004 +0.46875 +0.52000004 +0.55625 +0.55499995 +0.5025 +0.4125 +0.3375 +0.3275 +0.395 +0.52374995 +0.65375 +0.7325 +0.74125004 +0.7075 +0.6775 +0.6912501 +0.75625 +0.84000003 +0.89375 +0.88624996 +0.83 +0.77 +0.75249994 +0.79875 +0.8925 +0.9875 +1.0462501 +1.05875 +1.04125 +1.0237501 +1.02875 +1.05125 +1.0675 +1.0525 +1.0 +0.92625 +0.85625 +0.80375 +0.76625 +0.72625 +0.6625 +0.575 +0.48375 +0.4125 +0.385 +0.41375 +0.46375 +0.46625 +0.43875003 +0.40999997 +0.40375 +0.42624998 +0.46125 +0.48874998 +0.48749998 +0.45625004 +0.40875 +0.38125002 +0.40125 +0.46875 +0.5587499 +0.69375 +0.71999997 +0.7125 +0.675 +0.62125003 +0.55875003 +0.50624996 +0.46625 +0.45375004 +0.48250002 +0.55 +0.6375 +0.71625 +0.74625 +0.7 +0.5875 +0.46124995 +0.38250002 +0.40125 +0.51624995 +0.67875004 +0.81500006 +0.86375 +0.81375 +0.7125 +0.62125003 +0.59375 +0.62375 +0.6675 +0.675 +0.615 +0.51375 +0.425 +0.40500003 +0.47 +0.585 +0.6825 +0.715 +0.67375 +0.595 +0.53125 +0.5187501 +0.55625 +0.61125004 +0.64374995 +0.63624996 +0.59875 +0.56875 +0.575 +0.61625 +0.66875 +0.69250005 +0.67125 +0.61 +0.535 +0.48125002 +0.47499996 +0.50375 +0.54249996 +0.58250004 +0.60124993 +0.60125 +0.59 +0.57374996 +0.5525 +0.53 +0.5075 +0.49 +0.495 +0.5225 +0.57750005 +0.64000005 +0.69375 +0.71999997 +0.7125 +0.675 +0.62125003 +0.55875003 +0.50624996 +0.46625 +0.45375004 +0.48250002 +0.55 +0.6375 +0.71625 +0.74625 +0.7 +0.5875 +0.46124995 +0.38250002 +0.40125 +0.51624995 +0.67875004 +0.81500006 +0.86375 +0.81375 +0.7125 +0.62125003 +0.59375 +0.62375 +0.6675 +0.675 +0.615 +0.51375 +0.425 +0.40500003 +0.47 +0.585 +0.6825 +0.715 +0.67375 +0.595 +0.53125 +0.5187501 +0.55625 +0.61125004 +0.64374995 +0.63624996 +0.59875 +0.56875 +0.575 +0.61625 +0.66875 +0.69250005 +0.67125 +0.61 +0.535 +0.48125002 +0.47499996 +0.50375 +0.54249996 +0.58250004 +0.60124993 +0.60125 +0.59 +0.57374996 +0.5525 +0.53 +0.5075 +0.49 +0.495 +0.5225 +0.57750005 +0.64000005 +0.5775 +0.60375 +0.63125 +0.64875 +0.6375 +0.59625 +0.53499997 +0.48125 +0.46875003 +0.5275 +0.65000004 +0.79749995 +0.90749997 +0.92125 +0.8225 +0.64124995 +0.45624998 +0.355 +0.3775 +0.51375 +0.68875 +0.8125 +0.825 +0.72875 +0.58875 +0.4775 +0.44374996 +0.47375 +0.5075 +0.49000004 +0.40249997 +0.28125 +0.205 +0.21999998 +0.34375 +0.50875 +0.63374996 +0.6475 +0.55125 +0.39999998 +0.26875 +0.21625 +0.24875 +0.31875 +0.37125 +0.37125 +0.33375 +0.30124998 +0.31874996 +0.3925 +0.50125 +0.5925 +0.62875 +0.5975 +0.53125 +0.47375 +0.46874997 +0.52625006 +0.625 +0.7225 +0.77875 +0.77625006 +0.72125 +0.63625 +0.555 +0.49750003 +0.47375 +0.47875 +0.49874997 +0.52 +0.53875 +0.55625 +0.5775 +0.60375 +0.63125 +0.64875 +0.6375 +0.59625 +0.53499997 +0.48125 +0.46875003 +0.5275 +0.65000004 +0.79749995 +0.90749997 +0.92125 +0.8225 +0.64124995 +0.45624998 +0.355 +0.3775 +0.51375 +0.68875 +0.8125 +0.825 +0.72875 +0.58875 +0.4775 +0.44374996 +0.47375 +0.5075 +0.49000004 +0.40249997 +0.28125 +0.205 +0.21999998 +0.34375 +0.50875 +0.63374996 +0.6475 +0.55125 +0.39999998 +0.26875 +0.21625 +0.24875 +0.31875 +0.37125 +0.37125 +0.33375 +0.30124998 +0.31874996 +0.3925 +0.50125 +0.5925 +0.62875 +0.5975 +0.53125 +0.47375 +0.46874997 +0.52625006 +0.625 +0.7225 +0.77875 +0.77625006 +0.72125 +0.63625 +0.555 +0.49750003 +0.47375 +0.47875 +0.49874997 +0.52 +0.53875 +0.55625 +0.3375 +0.35249996 +0.4075 +0.48499998 +0.53 +0.52375 +0.47250003 +0.41875002 +0.425 +0.525 +0.7099999 +0.9175 +1.0575 +1.0562501 +0.89874995 +0.64625 +0.39624998 +0.2675 +0.255 +0.385 +0.5775 +0.65374994 +0.6075 +0.48375002 +0.3325 +0.24625 +0.24124998 +0.32625002 +0.37374997 +0.33124998 +0.23125002 +0.11749999 +0.08 +0.13625 +0.33375004 +0.58125 +0.75249994 +0.75124997 +0.59375 +0.3725 +0.17625001 +0.08125 +0.09125 +0.16 +0.23375 +0.22375001 +0.13125 +0.0875 +0.09875 +0.14999999 +0.24249999 +0.39125 +0.48375 +0.45250002 +0.40499997 +0.36624998 +0.39749998 +0.4975 +0.66125 +0.8225 +0.91625 +0.90500003 +0.79875 +0.64125 +0.49374998 +0.40125 +0.37375 +0.39249998 +0.4175 +0.41875002 +0.38750002 +0.34375 +0.3375 +0.35249996 +0.4075 +0.48499998 +0.53 +0.52375 +0.47250003 +0.41875002 +0.425 +0.525 +0.7099999 +0.9175 +1.0575 +1.0562501 +0.89874995 +0.64625 +0.39624998 +0.2675 +0.255 +0.385 +0.5775 +0.65374994 +0.6075 +0.48375002 +0.3325 +0.24625 +0.24124998 +0.32625002 +0.37374997 +0.33124998 +0.23125002 +0.11749999 +0.08 +0.13625 +0.33375004 +0.58125 +0.75249994 +0.75124997 +0.59375 +0.3725 +0.17625001 +0.08125 +0.09125 +0.16 +0.23375 +0.22375001 +0.13125 +0.0875 +0.09875 +0.14999999 +0.24249999 +0.39125 +0.48375 +0.45250002 +0.40499997 +0.36624998 +0.39749998 +0.4975 +0.66125 +0.8225 +0.91625 +0.90500003 +0.79875 +0.64125 +0.49374998 +0.40125 +0.37375 +0.39249998 +0.4175 +0.41875002 +0.38750002 +0.34375 +0.17375 +0.17 +0.19874999 +0.285 +0.37875 +0.39874998 +0.35750002 +0.31125 +0.3375 +0.47875002 +0.72 +0.97875 +1.14125 +1.12875 +0.9312501 +0.6175 +0.33124998 +0.17999999 +0.1225 +0.23749998 +0.4 +0.43875003 +0.34 +0.18 +0.083749995 +0.05375 +0.12 +0.23125002 +0.31 +0.26999998 +0.13 +0.02375 +0.0075 +0.099999994 +0.37875003 +0.69249994 +0.895 +0.89750004 +0.7025 +0.41 +0.15625 +0.0325 +0.053749997 +0.14750001 +0.21625 +0.18125 +0.0625 +0.00875 +0.00375 +0.0075 +0.06 +0.19125 +0.305 +0.295 +0.24375 +0.24499999 +0.31499997 +0.4525 +0.67249995 +0.88249993 +0.99750006 +0.97 +0.81375 +0.59125 +0.3875 +0.27 +0.24875 +0.28875 +0.32625002 +0.31 +0.22999997 +0.1875 +0.17375 +0.17 +0.19874999 +0.285 +0.37875 +0.39874998 +0.35750002 +0.31125 +0.3375 +0.47875002 +0.72 +0.97875 +1.14125 +1.12875 +0.9312501 +0.6175 +0.33124998 +0.17999999 +0.1225 +0.23749998 +0.4 +0.43875003 +0.34 +0.18 +0.083749995 +0.05375 +0.12 +0.23125002 +0.31 +0.26999998 +0.13 +0.02375 +0.0075 +0.099999994 +0.37875003 +0.69249994 +0.895 +0.89750004 +0.7025 +0.41 +0.15625 +0.0325 +0.053749997 +0.14750001 +0.21625 +0.18125 +0.0625 +0.00875 +0.00375 +0.0075 +0.06 +0.19125 +0.305 +0.295 +0.24375 +0.24499999 +0.31499997 +0.4525 +0.67249995 +0.88249993 +0.99750006 +0.97 +0.81375 +0.59125 +0.3875 +0.27 +0.24875 +0.28875 +0.32625002 +0.31 +0.22999997 +0.1875 +0.20875 +0.1925 +0.155 +0.1825 +0.27875003 +0.30375004 +0.25625002 +0.2175 +0.25 +0.40499997 +0.68250006 +0.97625005 +1.1587499 +1.1424999 +0.925 +0.58624995 +0.2875 +0.14625 +0.06 +0.12375001 +0.2475 +0.25 +0.135 +0.044999998 +0.00875 +0.0 +0.058749996 +0.18 +0.2775 +0.24 +0.105 +0.01625 +0.0025 +0.09 +0.38250002 +0.71750003 +0.93500006 +0.9425 +0.745 +0.44625 +0.1825 +0.055 +0.072500005 +0.16125 +0.22 +0.1725 +0.05375 +0.00625 +0.0 +0.0 +0.00375 +0.08125 +0.19125 +0.20000002 +0.16125 +0.1875 +0.26874998 +0.43750003 +0.68875 +0.91624993 +1.0325 +0.97874993 +0.77750003 +0.50750005 +0.27875 +0.18374999 +0.17374998 +0.23750001 +0.305 +0.29 +0.21249999 +0.19749999 +0.20875 +0.1925 +0.155 +0.1825 +0.27875003 +0.30375004 +0.25625002 +0.2175 +0.25 +0.40499997 +0.68250006 +0.97625005 +1.1587499 +1.1424999 +0.925 +0.58624995 +0.2875 +0.14625 +0.06 +0.12375001 +0.2475 +0.25 +0.135 +0.044999998 +0.00875 +0.0 +0.058749996 +0.18 +0.2775 +0.24 +0.105 +0.01625 +0.0025 +0.09 +0.38250002 +0.71750003 +0.93500006 +0.9425 +0.745 +0.44625 +0.1825 +0.055 +0.072500005 +0.16125 +0.22 +0.1725 +0.05375 +0.00625 +0.0 +0.0 +0.00375 +0.08125 +0.19125 +0.20000002 +0.16125 +0.1875 +0.26874998 +0.43750003 +0.68875 +0.91624993 +1.0325 +0.97874993 +0.77750003 +0.50750005 +0.27875 +0.18374999 +0.17374998 +0.23750001 +0.305 +0.29 +0.21249999 +0.19749999 +0.26 +0.24375 +0.2075 +0.23 +0.295 +0.29625002 +0.22875002 +0.19 +0.205 +0.33499998 +0.62249994 +0.9237499 +1.115 +1.10625 +0.89375 +0.5675 +0.27875 +0.1375 +0.06375 +0.095 +0.18250002 +0.16 +0.05875 +0.02875 +0.0175 +0.0 +0.065 +0.19749999 +0.3 +0.26 +0.121249996 +0.015 +0.00625 +0.0875 +0.35374996 +0.66625005 +0.875 +0.88874996 +0.71625006 +0.45000002 +0.20500001 +0.085 +0.105 +0.19 +0.24625002 +0.19874999 +0.089999996 +0.01625 +0.0175 +0.0175 +0.0225 +0.105000004 +0.21125 +0.22125 +0.20625001 +0.2175 +0.29749998 +0.47250003 +0.7175 +0.93500006 +1.03 +0.95125 +0.72249997 +0.43124998 +0.22874999 +0.17875 +0.18625 +0.2825 +0.39750004 +0.41000003 +0.34125 +0.26624998 +0.26 +0.24375 +0.2075 +0.23 +0.295 +0.29625002 +0.22875002 +0.19 +0.205 +0.33499998 +0.62249994 +0.9237499 +1.115 +1.10625 +0.89375 +0.5675 +0.27875 +0.1375 +0.06375 +0.095 +0.18250002 +0.16 +0.05875 +0.02875 +0.0175 +0.0 +0.065 +0.19749999 +0.3 +0.26 +0.121249996 +0.015 +0.00625 +0.0875 +0.35374996 +0.66625005 +0.875 +0.88874996 +0.71625006 +0.45000002 +0.20500001 +0.085 +0.105 +0.19 +0.24625002 +0.19874999 +0.089999996 +0.01625 +0.0175 +0.0175 +0.0225 +0.105000004 +0.21125 +0.22125 +0.20625001 +0.2175 +0.29749998 +0.47250003 +0.7175 +0.93500006 +1.03 +0.95125 +0.72249997 +0.43124998 +0.22874999 +0.17875 +0.18625 +0.2825 +0.39750004 +0.41000003 +0.34125 +0.26624998 +0.37 +0.32874998 +0.32375 +0.37375 +0.41625002 +0.37124997 +0.26875 +0.19125001 +0.19 +0.29625 +0.555 +0.84 +1.02 +1.015 +0.83000004 +0.545 +0.28625 +0.1475 +0.11625 +0.15625 +0.20375001 +0.1825 +0.11625 +0.08375 +0.07875 +0.07 +0.11624999 +0.27 +0.365 +0.3225 +0.18875 +0.09125 +0.07375 +0.17 +0.39875 +0.665 +0.84125 +0.86125 +0.72625005 +0.50875 +0.30875 +0.19500002 +0.185 +0.25625002 +0.30124998 +0.25875 +0.1725 +0.11749999 +0.10874999 +0.11375 +0.1575 +0.26 +0.34625 +0.36625 +0.3375 +0.31875 +0.37375 +0.5225 +0.73375 +0.91999996 +0.98999995 +0.8975 +0.66875 +0.39 +0.21374999 +0.18375 +0.24125 +0.40624997 +0.57375 +0.63125 +0.56 +0.4475 +0.37 +0.32874998 +0.32375 +0.37375 +0.41625002 +0.37124997 +0.26875 +0.19125001 +0.19 +0.29625 +0.555 +0.84 +1.02 +1.015 +0.83000004 +0.545 +0.28625 +0.1475 +0.11625 +0.15625 +0.20375001 +0.1825 +0.11625 +0.08375 +0.07875 +0.07 +0.11624999 +0.27 +0.365 +0.3225 +0.18875 +0.09125 +0.07375 +0.17 +0.39875 +0.665 +0.84125 +0.86125 +0.72625005 +0.50875 +0.30875 +0.19500002 +0.185 +0.25625002 +0.30124998 +0.25875 +0.1725 +0.11749999 +0.10874999 +0.11375 +0.1575 +0.26 +0.34625 +0.36625 +0.3375 +0.31875 +0.37375 +0.5225 +0.73375 +0.91999996 +0.98999995 +0.8975 +0.66875 +0.39 +0.21374999 +0.18375 +0.24125 +0.40624997 +0.57375 +0.63125 +0.56 +0.4475 +0.58 +0.52250004 +0.53375006 +0.56875 +0.56249994 +0.4775 +0.33375 +0.215 +0.18375 +0.27875 +0.49375 +0.7325 +0.88124996 +0.87625 +0.7175 +0.48000002 +0.27124998 +0.15999998 +0.1575 +0.21624999 +0.26624998 +0.2525 +0.19125 +0.14125 +0.13874999 +0.155 +0.24374999 +0.37874997 +0.45125002 +0.42375 +0.3275 +0.225 +0.19500001 +0.27875 +0.45875 +0.66125 +0.8 +0.82125 +0.7275 +0.57124996 +0.4275 +0.34625 +0.33375 +0.36000004 +0.3775 +0.35 +0.29125 +0.24625 +0.23875 +0.27625 +0.36374998 +0.45999998 +0.51124996 +0.49625 +0.43874997 +0.39 +0.41125 +0.52250004 +0.6925 +0.84749997 +0.90625 +0.825 +0.62125003 +0.3825 +0.225 +0.205 +0.32375 +0.5425001 +0.74375 +0.84125 +0.81 +0.6975 +0.58 +0.52250004 +0.53375006 +0.56875 +0.56249994 +0.4775 +0.33375 +0.215 +0.18375 +0.27875 +0.49375 +0.7325 +0.88124996 +0.87625 +0.7175 +0.48000002 +0.27124998 +0.15999998 +0.1575 +0.21624999 +0.26624998 +0.2525 +0.19125 +0.14125 +0.13874999 +0.155 +0.24374999 +0.37874997 +0.45125002 +0.42375 +0.3275 +0.225 +0.19500001 +0.27875 +0.45875 +0.66125 +0.8 +0.82125 +0.7275 +0.57124996 +0.4275 +0.34625 +0.33375 +0.36000004 +0.3775 +0.35 +0.29125 +0.24625 +0.23875 +0.27625 +0.36374998 +0.45999998 +0.51124996 +0.49625 +0.43874997 +0.39 +0.41125 +0.52250004 +0.6925 +0.84749997 +0.90625 +0.825 +0.62125003 +0.3825 +0.225 +0.205 +0.32375 +0.5425001 +0.74375 +0.84125 +0.81 +0.6975 +0.7575 +0.6962501 +0.685 +0.6875 +0.65125 +0.55125 +0.4 +0.26125002 +0.2075 +0.27375 +0.435 +0.61 +0.71375 +0.69125 +0.55375004 +0.35999998 +0.19749998 +0.13 +0.13875 +0.20000002 +0.2525 +0.25375 +0.2075 +0.16874999 +0.17499998 +0.21124999 +0.31375003 +0.42874998 +0.49374998 +0.48125 +0.41125 +0.33625 +0.30875 +0.3625 +0.48250002 +0.6175 +0.71125 +0.73 +0.67375 +0.57375 +0.48250002 +0.42750004 +0.40875 +0.40875003 +0.395 +0.35875 +0.31125 +0.28125 +0.29375 +0.35375 +0.43875 +0.50750005 +0.525 +0.48 +0.4 +0.33375 +0.33375 +0.42125005 +0.56624997 +0.70500004 +0.77374995 +0.725 +0.5725 +0.38625002 +0.25875 +0.26 +0.39499998 +0.60875005 +0.8125 +0.93125 +0.9337499 +0.855 +0.7575 +0.6962501 +0.685 +0.6875 +0.65125 +0.55125 +0.4 +0.26125002 +0.2075 +0.27375 +0.435 +0.61 +0.71375 +0.69125 +0.55375004 +0.35999998 +0.19749998 +0.13 +0.13875 +0.20000002 +0.2525 +0.25375 +0.2075 +0.16874999 +0.17499998 +0.21124999 +0.31375003 +0.42874998 +0.49374998 +0.48125 +0.41125 +0.33625 +0.30875 +0.3625 +0.48250002 +0.6175 +0.71125 +0.73 +0.67375 +0.57375 +0.48250002 +0.42750004 +0.40875 +0.40875003 +0.395 +0.35875 +0.31125 +0.28125 +0.29375 +0.35375 +0.43875 +0.50750005 +0.525 +0.48 +0.4 +0.33375 +0.33375 +0.42125005 +0.56624997 +0.70500004 +0.77374995 +0.725 +0.5725 +0.38625002 +0.25875 +0.26 +0.39499998 +0.60875005 +0.8125 +0.93125 +0.9337499 +0.855 +0.76250005 +0.71374995 +0.6975 +0.69124997 +0.65500003 +0.56624997 +0.43749997 +0.31125003 +0.2525 +0.28250003 +0.38374996 +0.49624997 +0.55375 +0.51374996 +0.38875002 +0.23 +0.12624998 +0.091249995 +0.10124999 +0.16125001 +0.2225 +0.23 +0.20374998 +0.18 +0.18499999 +0.22625 +0.315 +0.40625 +0.46125 +0.45875 +0.415 +0.36500004 +0.34875 +0.37875 +0.45124996 +0.52875 +0.57750005 +0.5775 +0.5375 +0.47375 +0.42 +0.38125002 +0.35625002 +0.32874998 +0.285 +0.22874999 +0.18125 +0.17625001 +0.2 +0.25375 +0.3225 +0.37375 +0.3775 +0.31 +0.2225 +0.16625 +0.17249998 +0.24375 +0.38125 +0.52625 +0.61375 +0.60375 +0.50750005 +0.375 +0.2825 +0.28375003 +0.39374998 +0.56999993 +0.74749994 +0.8625 +0.88375 +0.83374995 +0.76250005 +0.71374995 +0.6975 +0.69124997 +0.65500003 +0.56624997 +0.43749997 +0.31125003 +0.2525 +0.28250003 +0.38374996 +0.49624997 +0.55375 +0.51374996 +0.38875002 +0.23 +0.12624998 +0.091249995 +0.10124999 +0.16125001 +0.2225 +0.23 +0.20374998 +0.18 +0.18499999 +0.22625 +0.315 +0.40625 +0.46125 +0.45875 +0.415 +0.36500004 +0.34875 +0.37875 +0.45124996 +0.52875 +0.57750005 +0.5775 +0.5375 +0.47375 +0.42 +0.38125002 +0.35625002 +0.32874998 +0.285 +0.22874999 +0.18125 +0.17625001 +0.2 +0.25375 +0.3225 +0.37375 +0.3775 +0.31 +0.2225 +0.16625 +0.17249998 +0.24375 +0.38125 +0.52625 +0.61375 +0.60375 +0.50750005 +0.375 +0.2825 +0.28375003 +0.39374998 +0.56999993 +0.74749994 +0.8625 +0.88375 +0.83374995 +0.66625 +0.6375 +0.63374996 +0.63875 +0.62125003 +0.56125003 +0.46749997 +0.36875 +0.31 +0.31375 +0.37125 +0.43625 +0.46374997 +0.41749996 +0.31375 +0.2025 +0.13875 +0.13125 +0.19874999 +0.30875 +0.38625 +0.38875002 +0.32999998 +0.29749998 +0.2875 +0.31625 +0.37375003 +0.43125 +0.47750002 +0.45625 +0.415 +0.3775 +0.3675 +0.38875 +0.43375 +0.47374997 +0.47875002 +0.44625002 +0.3875 +0.32625 +0.2825 +0.2525 +0.22749999 +0.19125 +0.14 +0.06375 +0.04 +0.0575 +0.06875 +0.085 +0.13875 +0.22375001 +0.23125002 +0.16 +0.06125 +0.02625 +0.03625 +0.091249995 +0.22 +0.36874998 +0.4725 +0.49 +0.43374997 +0.3425 +0.27125 +0.26375 +0.33624998 +0.46625003 +0.60375 +0.70125 +0.73375 +0.71000004 +0.66625 +0.6375 +0.63374996 +0.63875 +0.62125003 +0.56125003 +0.46749997 +0.36875 +0.31 +0.31375 +0.37125 +0.43625 +0.46374997 +0.41749996 +0.31375 +0.2025 +0.13875 +0.13125 +0.19874999 +0.30875 +0.38625 +0.38875002 +0.32999998 +0.29749998 +0.2875 +0.31625 +0.37375003 +0.43125 +0.47750002 +0.45625 +0.415 +0.3775 +0.3675 +0.38875 +0.43375 +0.47374997 +0.47875002 +0.44625002 +0.3875 +0.32625 +0.2825 +0.2525 +0.22749999 +0.19125 +0.14 +0.06375 +0.04 +0.0575 +0.06875 +0.085 +0.13875 +0.22375001 +0.23125002 +0.16 +0.06125 +0.02625 +0.03625 +0.091249995 +0.22 +0.36874998 +0.4725 +0.49 +0.43374997 +0.3425 +0.27125 +0.26375 +0.33624998 +0.46625003 +0.60375 +0.70125 +0.73375 +0.71000004 +0.60124993 +0.59625 +0.61249995 +0.635 +0.6412501 +0.61125 +0.54249996 +0.46249998 +0.40625 +0.3975 +0.43499997 +0.495 +0.53125 +0.5025 +0.4225 +0.35125 +0.32999998 +0.41125 +0.56875 +0.73875 +0.855 +0.875 +0.81 +0.71125 +0.66 +0.63875 +0.65874994 +0.69625 +0.6975 +0.64375 +0.5525 +0.4975 +0.49 +0.515 +0.5575 +0.57874995 +0.5475 +0.47125 +0.37 +0.27375 +0.21375 +0.185 +0.1775 +0.1775 +0.12625 +0.0525 +0.02125 +0.02125 +0.0275 +0.05125 +0.14125 +0.22375 +0.22 +0.1375 +0.04375 +0.00375 +0.00125 +0.048750002 +0.17125002 +0.325 +0.42125002 +0.43 +0.37749997 +0.30499998 +0.24625 +0.23499998 +0.285 +0.37875 +0.48375002 +0.57 +0.6125 +0.61375 +0.60124993 +0.59625 +0.61249995 +0.635 +0.6412501 +0.61125 +0.54249996 +0.46249998 +0.40625 +0.3975 +0.43499997 +0.495 +0.53125 +0.5025 +0.4225 +0.35125 +0.32999998 +0.41125 +0.56875 +0.73875 +0.855 +0.875 +0.81 +0.71125 +0.66 +0.63875 +0.65874994 +0.69625 +0.6975 +0.64375 +0.5525 +0.4975 +0.49 +0.515 +0.5575 +0.57874995 +0.5475 +0.47125 +0.37 +0.27375 +0.21375 +0.185 +0.1775 +0.1775 +0.12625 +0.0525 +0.02125 +0.02125 +0.0275 +0.05125 +0.14125 +0.22375 +0.22 +0.1375 +0.04375 +0.00375 +0.00125 +0.048750002 +0.17125002 +0.325 +0.42125002 +0.43 +0.37749997 +0.30499998 +0.24625 +0.23499998 +0.285 +0.37875 +0.48375002 +0.57 +0.6125 +0.61375 +0.66249996 +0.685 +0.72124994 +0.76 +0.78 +0.76124996 +0.69874996 +0.6175 +0.55625 +0.545 +0.59125 +0.6825 +0.7475 +0.75749993 +0.73 +0.71625 +0.78125 +0.95750004 +1.21375 +1.475 +1.6537501 +1.6999999 +1.6200001 +1.4762499 +1.34 +1.25 +1.215 +1.1887499 +1.1275 +1.02 +0.88750005 +0.7987499 +0.78999996 +0.83624995 +0.89875 +0.92499995 +0.875 +0.75 +0.58500004 +0.435 +0.34375003 +0.31375003 +0.33875 +0.3625 +0.33125 +0.24499999 +0.16999999 +0.1475 +0.1875 +0.28875 +0.41875 +0.49374998 +0.46375 +0.34124997 +0.18875 +0.08875 +0.07 +0.13625 +0.26874998 +0.39124995 +0.45250002 +0.43375 +0.35625 +0.28625003 +0.24 +0.2425 +0.29625002 +0.38374996 +0.48125 +0.5675 +0.6225 +0.65 +0.66249996 +0.685 +0.72124994 +0.76 +0.78 +0.76124996 +0.69874996 +0.6175 +0.55625 +0.545 +0.59125 +0.6825 +0.7475 +0.75749993 +0.73 +0.71625 +0.78125 +0.95750004 +1.21375 +1.475 +1.6537501 +1.6999999 +1.6200001 +1.4762499 +1.34 +1.25 +1.215 +1.1887499 +1.1275 +1.02 +0.88750005 +0.7987499 +0.78999996 +0.83624995 +0.89875 +0.92499995 +0.875 +0.75 +0.58500004 +0.435 +0.34375003 +0.31375003 +0.33875 +0.3625 +0.33125 +0.24499999 +0.16999999 +0.1475 +0.1875 +0.28875 +0.41875 +0.49374998 +0.46375 +0.34124997 +0.18875 +0.08875 +0.07 +0.13625 +0.26874998 +0.39124995 +0.45250002 +0.43375 +0.35625 +0.28625003 +0.24 +0.2425 +0.29625002 +0.38374996 +0.48125 +0.5675 +0.6225 +0.65 +0.8425 +0.88750005 +0.94124997 +0.99375 +1.01625 +0.98625 +0.90624994 +0.805 +0.73375 +0.73 +0.80625 +0.93875 +1.05375 +1.11 +1.13 +1.17875 +1.315 +1.59375 +1.9725 +2.3537502 +2.61875 +2.69875 +2.5962503 +2.3925 +2.1775 +1.99625 +1.8775 +1.78125 +1.65625 +1.4875001 +1.30875 +1.20875 +1.2037499 +1.28375 +1.3912499 +1.4499999 +1.39625 +1.23125 +1.0025 +0.79375 +0.67125 +0.64625 +0.68375003 +0.74375 +0.7425 +0.67875 +0.60625 +0.59625 +0.68375003 +0.82374996 +0.96125 +1.0125 +0.925 +0.72749996 +0.49875 +0.32874998 +0.27875 +0.3425 +0.44375002 +0.525 +0.5325 +0.46375 +0.35625002 +0.27875 +0.255 +0.29250002 +0.38 +0.48875 +0.59999996 +0.6925 +0.75874996 +0.80375004 +0.8425 +0.88750005 +0.94124997 +0.99375 +1.01625 +0.98625 +0.90624994 +0.805 +0.73375 +0.73 +0.80625 +0.93875 +1.05375 +1.11 +1.13 +1.17875 +1.315 +1.59375 +1.9725 +2.3537502 +2.61875 +2.69875 +2.5962503 +2.3925 +2.1775 +1.99625 +1.8775 +1.78125 +1.65625 +1.4875001 +1.30875 +1.20875 +1.2037499 +1.28375 +1.3912499 +1.4499999 +1.39625 +1.23125 +1.0025 +0.79375 +0.67125 +0.64625 +0.68375003 +0.74375 +0.7425 +0.67875 +0.60625 +0.59625 +0.68375003 +0.82374996 +0.96125 +1.0125 +0.925 +0.72749996 +0.49875 +0.32874998 +0.27875 +0.3425 +0.44375002 +0.525 +0.5325 +0.46375 +0.35625002 +0.27875 +0.255 +0.29250002 +0.38 +0.48875 +0.59999996 +0.6925 +0.75874996 +0.80375004 +1.01625 +1.08375 +1.16125 +1.225 +1.2462499 +1.19875 +1.08875 +0.9575 +0.87125003 +0.88125 +0.99500006 +1.1675 +1.32375 +1.41625 +1.4612501 +1.53125 +1.71875 +2.08125 +2.58375 +3.08875 +3.44875 +3.5649998 +3.45 +3.185 +2.875 +2.6062498 +2.40375 +2.23875 +2.0575 +1.8512499 +1.6550001 +1.5324999 +1.5375 +1.66125 +1.83 +1.935 +1.8975 +1.7049999 +1.43 +1.17875 +1.0375 +1.03125 +1.10625 +1.1824999 +1.205 +1.1725 +1.13625 +1.1750001 +1.305 +1.4825001 +1.61125 +1.6037499 +1.43 +1.11875 +0.7825 +0.5375 +0.45625 +0.51124996 +0.60375005 +0.64375 +0.5949999 +0.47500002 +0.34 +0.26125002 +0.27125 +0.36 +0.49625 +0.63875 +0.76250005 +0.85375 +0.91625 +0.965 +1.01625 +1.08375 +1.16125 +1.225 +1.2462499 +1.19875 +1.08875 +0.9575 +0.87125003 +0.88125 +0.99500006 +1.1675 +1.32375 +1.41625 +1.4612501 +1.53125 +1.71875 +2.08125 +2.58375 +3.08875 +3.44875 +3.5649998 +3.45 +3.185 +2.875 +2.6062498 +2.40375 +2.23875 +2.0575 +1.8512499 +1.6550001 +1.5324999 +1.5375 +1.66125 +1.83 +1.935 +1.8975 +1.7049999 +1.43 +1.17875 +1.0375 +1.03125 +1.10625 +1.1824999 +1.205 +1.1725 +1.13625 +1.1750001 +1.305 +1.4825001 +1.61125 +1.6037499 +1.43 +1.11875 +0.7825 +0.5375 +0.45625 +0.51124996 +0.60375005 +0.64375 +0.5949999 +0.47500002 +0.34 +0.26125002 +0.27125 +0.36 +0.49625 +0.63875 +0.76250005 +0.85375 +0.91625 +0.965 +1.0487499 +1.135 +1.24 +1.3275 +1.35625 +1.2924999 +1.1512499 +0.9925 +0.89374995 +0.91749996 +1.065 +1.2750001 +1.45 +1.53375 +1.5437499 +1.58375 +1.7787502 +2.2 +2.8025002 +3.41625 +3.8612502 +4.02 +3.88625 +3.5499997 +3.1562502 +2.8174999 +2.57125 +2.3775 +2.1712499 +1.9337499 +1.7062501 +1.5675 +1.5875 +1.7574999 +1.99 +2.14625 +2.13375 +1.93625 +1.6337501 +1.35875 +1.2175 +1.23875 +1.3599999 +1.48125 +1.53625 +1.5262499 +1.5200001 +1.5987499 +1.78 +2.00125 +2.13375 +2.0625 +1.77 +1.3274999 +0.87624997 +0.55875 +0.45375 +0.52125 +0.63374996 +0.67875004 +0.60375 +0.44499996 +0.2925 +0.225 +0.25625 +0.39874998 +0.58 +0.74749994 +0.86625 +0.93125 +0.96375 +0.995 +1.0487499 +1.135 +1.24 +1.3275 +1.35625 +1.2924999 +1.1512499 +0.9925 +0.89374995 +0.91749996 +1.065 +1.2750001 +1.45 +1.53375 +1.5437499 +1.58375 +1.7787502 +2.2 +2.8025002 +3.41625 +3.8612502 +4.02 +3.88625 +3.5499997 +3.1562502 +2.8174999 +2.57125 +2.3775 +2.1712499 +1.9337499 +1.7062501 +1.5675 +1.5875 +1.7574999 +1.99 +2.14625 +2.13375 +1.93625 +1.6337501 +1.35875 +1.2175 +1.23875 +1.3599999 +1.48125 +1.53625 +1.5262499 +1.5200001 +1.5987499 +1.78 +2.00125 +2.13375 +2.0625 +1.77 +1.3274999 +0.87624997 +0.55875 +0.45375 +0.52125 +0.63374996 +0.67875004 +0.60375 +0.44499996 +0.2925 +0.225 +0.25625 +0.39874998 +0.58 +0.74749994 +0.86625 +0.93125 +0.96375 +0.995 +0.88624996 +0.99 +1.12875 +1.24625 +1.2875 +1.2175 +1.0562501 +0.87624997 +0.76875 +0.80375004 +0.975 +1.19625 +1.35625 +1.38625 +1.3162501 +1.28375 +1.4424999 +1.8950001 +2.55875 +3.2512503 +3.7575 +3.9412498 +3.7850003 +3.3950002 +2.945 +2.57125 +2.31 +2.1125 +1.9024999 +1.6524999 +1.4087499 +1.2662501 +1.3 +1.50875 +1.79125 +1.9925001 +2.00125 +1.8050001 +1.4950001 +1.21625 +1.0912501 +1.1487501 +1.3125 +1.4725001 +1.55625 +1.5725 +1.6000001 +1.73 +1.9775 +2.24375 +2.38125 +2.255 +1.855 +1.29375 +0.73875 +0.39375 +0.27625 +0.36625 +0.5325 +0.60875 +0.53625 +0.37125 +0.2325 +0.18249999 +0.22999999 +0.38875 +0.59999996 +0.76625 +0.84999996 +0.86375 +0.84499997 +0.8425001 +0.88624996 +0.99 +1.12875 +1.24625 +1.2875 +1.2175 +1.0562501 +0.87624997 +0.76875 +0.80375004 +0.975 +1.19625 +1.35625 +1.38625 +1.3162501 +1.28375 +1.4424999 +1.8950001 +2.55875 +3.2512503 +3.7575 +3.9412498 +3.7850003 +3.3950002 +2.945 +2.57125 +2.31 +2.1125 +1.9024999 +1.6524999 +1.4087499 +1.2662501 +1.3 +1.50875 +1.79125 +1.9925001 +2.00125 +1.8050001 +1.4950001 +1.21625 +1.0912501 +1.1487501 +1.3125 +1.4725001 +1.55625 +1.5725 +1.6000001 +1.73 +1.9775 +2.24375 +2.38125 +2.255 +1.855 +1.29375 +0.73875 +0.39375 +0.27625 +0.36625 +0.5325 +0.60875 +0.53625 +0.37125 +0.2325 +0.18249999 +0.22999999 +0.38875 +0.59999996 +0.76625 +0.84999996 +0.86375 +0.84499997 +0.8425001 +0.61125004 +0.72749996 +0.89124995 +1.03625 +1.0912501 +1.02 +0.84250003 +0.64875007 +0.535 +0.57374996 +0.75250006 +0.9625 +1.0825 +1.0400001 +0.88 +0.75625 +0.875 +1.31625 +2.005 +2.7424998 +3.28125 +3.4675 +3.30375 +2.88875 +2.42 +2.045 +1.8000001 +1.6237501 +1.42625 +1.1750001 +0.925 +0.78375 +0.83125 +1.06625 +1.37625 +1.6025 +1.6212499 +1.42375 +1.1125 +0.845 +0.74375004 +0.83374995 +1.03375 +1.2262499 +1.3362501 +1.3825 +1.45625 +1.6487501 +1.9625 +2.28125 +2.43 +2.2587502 +1.7850001 +1.1287501 +0.51875 +0.1875 +0.10125 +0.18374999 +0.39374998 +0.5125 +0.45625 +0.30625 +0.19375 +0.16375 +0.21875 +0.37625 +0.58000004 +0.72375 +0.75875 +0.70625 +0.625 +0.58375 +0.61125004 +0.72749996 +0.89124995 +1.03625 +1.0912501 +1.02 +0.84250003 +0.64875007 +0.535 +0.57374996 +0.75250006 +0.9625 +1.0825 +1.0400001 +0.88 +0.75625 +0.875 +1.31625 +2.005 +2.7424998 +3.28125 +3.4675 +3.30375 +2.88875 +2.42 +2.045 +1.8000001 +1.6237501 +1.42625 +1.1750001 +0.925 +0.78375 +0.83125 +1.06625 +1.37625 +1.6025 +1.6212499 +1.42375 +1.1125 +0.845 +0.74375004 +0.83374995 +1.03375 +1.2262499 +1.3362501 +1.3825 +1.45625 +1.6487501 +1.9625 +2.28125 +2.43 +2.2587502 +1.7850001 +1.1287501 +0.51875 +0.1875 +0.10125 +0.18374999 +0.39374998 +0.5125 +0.45625 +0.30625 +0.19375 +0.16375 +0.21875 +0.37625 +0.58000004 +0.72375 +0.75875 +0.70625 +0.625 +0.58375 +0.40625 +0.50375 +0.67375 +0.82374996 +0.87749994 +0.79625 +0.6075 +0.42374998 +0.31 +0.32375002 +0.49375 +0.68625 +0.76625 +0.66125 +0.45125002 +0.27625 +0.31999996 +0.74125 +1.4312501 +2.18 +2.73 +2.91625 +2.75625 +2.3475 +1.8987501 +1.5525001 +1.3425 +1.19875 +1.0237501 +0.7825 +0.53625 +0.3975 +0.45874998 +0.70624995 +1.0275 +1.2575 +1.275 +1.07125 +0.7575 +0.49874997 +0.41875 +0.53375 +0.76125 +0.97625 +1.11125 +1.1937499 +1.325 +1.5862501 +1.96875 +2.3375 +2.5025 +2.305 +1.78 +1.065 +0.41249996 +0.095 +0.035 +0.14125 +0.36624998 +0.50625 +0.45999998 +0.30125 +0.19375001 +0.16624999 +0.23 +0.40375 +0.59749997 +0.70875 +0.695 +0.58624995 +0.46500003 +0.39875 +0.40625 +0.50375 +0.67375 +0.82374996 +0.87749994 +0.79625 +0.6075 +0.42374998 +0.31 +0.32375002 +0.49375 +0.68625 +0.76625 +0.66125 +0.45125002 +0.27625 +0.31999996 +0.74125 +1.4312501 +2.18 +2.73 +2.91625 +2.75625 +2.3475 +1.8987501 +1.5525001 +1.3425 +1.19875 +1.0237501 +0.7825 +0.53625 +0.3975 +0.45874998 +0.70624995 +1.0275 +1.2575 +1.275 +1.07125 +0.7575 +0.49874997 +0.41875 +0.53375 +0.76125 +0.97625 +1.11125 +1.1937499 +1.325 +1.5862501 +1.96875 +2.3375 +2.5025 +2.305 +1.78 +1.065 +0.41249996 +0.095 +0.035 +0.14125 +0.36624998 +0.50625 +0.45999998 +0.30125 +0.19375001 +0.16624999 +0.23 +0.40375 +0.59749997 +0.70875 +0.695 +0.58624995 +0.46500003 +0.39875 +0.28875 +0.28 +0.26125 +0.2875 +0.36874998 +0.42000002 +0.42124996 +0.40375 +0.40875 +0.46375 +0.56875 +0.71000004 +0.86625004 +1.02625 +1.1875 +1.34125 +1.49875 +1.6225 +1.6725001 +1.6324999 +1.5175 +1.365 +1.21625 +1.06 +0.89875 +0.74 +0.59625 +0.48375 +0.42125002 +0.4075 +0.41875 +0.41249996 +0.355 +0.26624998 +0.2525 +0.27 +0.2775 +0.27 +0.2525 +0.26624998 +0.355 +0.41249996 +0.41874996 +0.40750003 +0.42125 +0.48375 +0.59625 +0.74 +0.89875 +1.0600001 +1.2175 +1.36625 +1.51875 +1.63375 +1.6725001 +1.62375 +1.5 +1.34125 +1.1875 +1.02625 +0.86625004 +0.71 +0.56874996 +0.46375 +0.40875 +0.4025 +0.41999996 +0.42000002 +0.36874998 +0.28625 +0.26125 +0.28 +0.28875 +0.28 +0.26125 +0.2875 +0.36874998 +0.42000002 +0.42124996 +0.40375 +0.40875 +0.46375 +0.56875 +0.71000004 +0.86625004 +1.02625 +1.1875 +1.34125 +1.49875 +1.6225 +1.6725001 +1.6324999 +1.5175 +1.365 +1.21625 +1.06 +0.89875 +0.74 +0.59625 +0.48375 +0.42125002 +0.4075 +0.41875 +0.41249996 +0.355 +0.26624998 +0.2525 +0.27 +0.2775 +0.27 +0.2525 +0.26624998 +0.355 +0.41249996 +0.41874996 +0.40750003 +0.42125 +0.48375 +0.59625 +0.74 +0.89875 +1.0600001 +1.2175 +1.36625 +1.51875 +1.63375 +1.6725001 +1.62375 +1.5 +1.34125 +1.1875 +1.02625 +0.86625004 +0.71 +0.56874996 +0.46375 +0.40875 +0.4025 +0.41999996 +0.42000002 +0.36874998 +0.28625 +0.26125 +0.28 +0.30875 +0.3 +0.31499997 +0.37374997 +0.43625003 +0.46 +0.4325 +0.38875002 +0.37 +0.40125 +0.48874998 +0.62125 +0.78000003 +0.95375 +1.135 +1.31625 +1.4875 +1.6325 +1.7062501 +1.6887498 +1.5875 +1.4475 +1.2925 +1.12375 +0.9499999 +0.77875 +0.625 +0.5075 +0.44 +0.42249998 +0.4325 +0.43 +0.37874997 +0.29625 +0.2475 +0.26125 +0.2675 +0.26125 +0.2475 +0.29625 +0.37874997 +0.42875004 +0.43124998 +0.42125 +0.43875 +0.5075 +0.62625 +0.78000003 +0.95250005 +1.125 +1.2962501 +1.45375 +1.5924999 +1.69375 +1.7112501 +1.6375 +1.49125 +1.31875 +1.13625 +0.95500004 +0.78125 +0.62249994 +0.48874998 +0.39999998 +0.3675 +0.385 +0.42874998 +0.45625 +0.435 +0.37249997 +0.31374997 +0.3 +0.30875 +0.3 +0.31499997 +0.37374997 +0.43625003 +0.46 +0.4325 +0.38875002 +0.37 +0.40125 +0.48874998 +0.62125 +0.78000003 +0.95375 +1.135 +1.31625 +1.4875 +1.6325 +1.7062501 +1.6887498 +1.5875 +1.4475 +1.2925 +1.12375 +0.9499999 +0.77875 +0.625 +0.5075 +0.44 +0.42249998 +0.4325 +0.43 +0.37874997 +0.29625 +0.2475 +0.26125 +0.2675 +0.26125 +0.2475 +0.29625 +0.37874997 +0.42875004 +0.43124998 +0.42125 +0.43875 +0.5075 +0.62625 +0.78000003 +0.95250005 +1.125 +1.2962501 +1.45375 +1.5924999 +1.69375 +1.7112501 +1.6375 +1.49125 +1.31875 +1.13625 +0.95500004 +0.78125 +0.62249994 +0.48874998 +0.39999998 +0.3675 +0.385 +0.42874998 +0.45625 +0.435 +0.37249997 +0.31374997 +0.3 +0.40624997 +0.41999996 +0.46999997 +0.53875 +0.57375 +0.55125004 +0.4825 +0.3975 +0.33625 +0.32999998 +0.38375002 +0.49249998 +0.64875 +0.83625007 +1.045 +1.2637501 +1.4737501 +1.6525 +1.76875 +1.79 +1.72 +1.5874999 +1.42625 +1.2450001 +1.05625 +0.87249994 +0.71250004 +0.59124994 +0.52625 +0.51 +0.525 +0.52875 +0.49000004 +0.40874997 +0.32625 +0.28625 +0.27875 +0.2875 +0.32875 +0.40999997 +0.49125004 +0.52500004 +0.52125 +0.50874996 +0.525 +0.59375 +0.71875006 +0.88000005 +1.0625 +1.2537501 +1.435 +1.5974998 +1.7312499 +1.805 +1.785 +1.665 +1.4825001 +1.26875 +1.0487499 +0.83875006 +0.65125 +0.495 +0.38250002 +0.325 +0.33000004 +0.38875 +0.47249997 +0.54375005 +0.56874996 +0.53624994 +0.47124997 +0.41999996 +0.40624997 +0.41999996 +0.46999997 +0.53875 +0.57375 +0.55125004 +0.4825 +0.3975 +0.33625 +0.32999998 +0.38375002 +0.49249998 +0.64875 +0.83625007 +1.045 +1.2637501 +1.4737501 +1.6525 +1.76875 +1.79 +1.72 +1.5874999 +1.42625 +1.2450001 +1.05625 +0.87249994 +0.71250004 +0.59124994 +0.52625 +0.51 +0.525 +0.52875 +0.49000004 +0.40874997 +0.32625 +0.28625 +0.27875 +0.2875 +0.32875 +0.40999997 +0.49125004 +0.52500004 +0.52125 +0.50874996 +0.525 +0.59375 +0.71875006 +0.88000005 +1.0625 +1.2537501 +1.435 +1.5974998 +1.7312499 +1.805 +1.785 +1.665 +1.4825001 +1.26875 +1.0487499 +0.83875006 +0.65125 +0.495 +0.38250002 +0.325 +0.33000004 +0.38875 +0.47249997 +0.54375005 +0.56874996 +0.53624994 +0.47124997 +0.41999996 +0.68625 +0.7 +0.73375 +0.76124996 +0.75249994 +0.695 +0.595 +0.47875 +0.38125 +0.33125 +0.34625 +0.42625 +0.5625 +0.74625 +0.9649999 +1.2050002 +1.4437499 +1.6625 +1.82875 +1.9025 +1.8725 +1.7524998 +1.5899999 +1.4100001 +1.22 +1.0387499 +0.88750005 +0.78125 +0.72625 +0.72499996 +0.75374997 +0.77250004 +0.75374997 +0.69 +0.60125 +0.52375 +0.49625 +0.52875 +0.61 +0.70000005 +0.75874996 +0.77250004 +0.7512499 +0.7275 +0.73375 +0.79375005 +0.905 +1.05875 +1.24 +1.4275 +1.6099999 +1.775 +1.89625 +1.9275 +1.855 +1.6824999 +1.45875 +1.21375 +0.96750003 +0.745 +0.56125 +0.42625 +0.34125 +0.3225 +0.36749998 +0.46125 +0.5775 +0.68125004 +0.74625003 +0.76124996 +0.73625004 +0.7025 +0.68625 +0.7 +0.73375 +0.76124996 +0.75249994 +0.695 +0.595 +0.47875 +0.38125 +0.33125 +0.34625 +0.42625 +0.5625 +0.74625 +0.9649999 +1.2050002 +1.4437499 +1.6625 +1.82875 +1.9025 +1.8725 +1.7524998 +1.5899999 +1.4100001 +1.22 +1.0387499 +0.88750005 +0.78125 +0.72625 +0.72499996 +0.75374997 +0.77250004 +0.75374997 +0.69 +0.60125 +0.52375 +0.49625 +0.52875 +0.61 +0.70000005 +0.75874996 +0.77250004 +0.7512499 +0.7275 +0.73375 +0.79375005 +0.905 +1.05875 +1.24 +1.4275 +1.6099999 +1.775 +1.89625 +1.9275 +1.855 +1.6824999 +1.45875 +1.21375 +0.96750003 +0.745 +0.56125 +0.42625 +0.34125 +0.3225 +0.36749998 +0.46125 +0.5775 +0.68125004 +0.74625003 +0.76124996 +0.73625004 +0.7025 +0.97375005 +0.975 +0.9775001 +0.97125 +0.93625 +0.865 +0.76 +0.63874996 +0.52625 +0.44875 +0.4275 +0.48000002 +0.58250004 +0.72999996 +0.91999996 +1.15125 +1.3937498 +1.6425 +1.8475 +1.97125 +1.99375 +1.9175 +1.76625 +1.59 +1.42125 +1.26 +1.1487501 +1.09 +1.07125 +1.0825 +1.10875 +1.15125 +1.1575 +1.12 +1.0575 +1.0024999 +0.98375 +1.0124999 +1.075 +1.14125 +1.1737499 +1.1587499 +1.115 +1.0962499 +1.0925 +1.12125 +1.18625 +1.3 +1.4587499 +1.625 +1.8 +1.95 +2.02875 +2.0075 +1.87875 +1.6675 +1.4100001 +1.1574999 +0.91875005 +0.72375 +0.57624996 +0.475 +0.42 +0.43625 +0.50624996 +0.615 +0.73749995 +0.84875 +0.92999995 +0.97375 +0.985 +0.97999996 +0.97375005 +0.975 +0.9775001 +0.97125 +0.93625 +0.865 +0.76 +0.63874996 +0.52625 +0.44875 +0.4275 +0.48000002 +0.58250004 +0.72999996 +0.91999996 +1.15125 +1.3937498 +1.6425 +1.8475 +1.97125 +1.99375 +1.9175 +1.76625 +1.59 +1.42125 +1.26 +1.1487501 +1.09 +1.07125 +1.0825 +1.10875 +1.15125 +1.1575 +1.12 +1.0575 +1.0024999 +0.98375 +1.0124999 +1.075 +1.14125 +1.1737499 +1.1587499 +1.115 +1.0962499 +1.0925 +1.12125 +1.18625 +1.3 +1.4587499 +1.625 +1.8 +1.95 +2.02875 +2.0075 +1.87875 +1.6675 +1.4100001 +1.1574999 +0.91875005 +0.72375 +0.57624996 +0.475 +0.42 +0.43625 +0.50624996 +0.615 +0.73749995 +0.84875 +0.92999995 +0.97375 +0.985 +0.97999996 +1.18125 +1.17 +1.1475 +1.1175 +1.0725 +1.01125 +0.9275 +0.82875 +0.72625 +0.64375 +0.595 +0.61125 +0.66999996 +0.77 +0.91125005 +1.095 +1.3199999 +1.5649999 +1.79125 +1.96 +2.0375001 +2.0149999 +1.91 +1.76 +1.61125 +1.48625 +1.41125 +1.38625 +1.405 +1.4512501 +1.4999999 +1.5550001 +1.5912501 +1.5837499 +1.5437499 +1.50625 +1.4975001 +1.52375 +1.5725 +1.61375 +1.6175 +1.5762501 +1.5224999 +1.4800001 +1.4462501 +1.44125 +1.4725 +1.5500001 +1.67125 +1.8125 +1.955 +2.055 +2.0762498 +1.9975 +1.82375 +1.5862501 +1.3299999 +1.095 +0.90125 +0.75624996 +0.6575 +0.6 +0.5825 +0.62625 +0.705 +0.8025 +0.9025 +0.99375 +1.06875 +1.125 +1.16 +1.18 +1.18125 +1.17 +1.1475 +1.1175 +1.0725 +1.01125 +0.9275 +0.82875 +0.72625 +0.64375 +0.595 +0.61125 +0.66999996 +0.77 +0.91125005 +1.095 +1.3199999 +1.5649999 +1.79125 +1.96 +2.0375001 +2.0149999 +1.91 +1.76 +1.61125 +1.48625 +1.41125 +1.38625 +1.405 +1.4512501 +1.4999999 +1.5550001 +1.5912501 +1.5837499 +1.5437499 +1.50625 +1.4975001 +1.52375 +1.5725 +1.61375 +1.6175 +1.5762501 +1.5224999 +1.4800001 +1.4462501 +1.44125 +1.4725 +1.5500001 +1.67125 +1.8125 +1.955 +2.055 +2.0762498 +1.9975 +1.82375 +1.5862501 +1.3299999 +1.095 +0.90125 +0.75624996 +0.6575 +0.6 +0.5825 +0.62625 +0.705 +0.8025 +0.9025 +0.99375 +1.06875 +1.125 +1.16 +1.18 +1.2837499 +1.2587501 +1.21125 +1.1575 +1.105 +1.06375 +1.0175 +0.96 +0.89 +0.815 +0.75125 +0.7275 +0.7475 +0.79749995 +0.88250005 +1.0174999 +1.19375 +1.415 +1.64875 +1.8500001 +1.9799999 +2.0125 +1.95625 +1.84375 +1.7374998 +1.6274999 +1.5562499 +1.55125 +1.5924999 +1.6637499 +1.7425001 +1.8350002 +1.905 +1.9262499 +1.9137499 +1.8924999 +1.89 +1.9137499 +1.9499999 +1.965 +1.9412501 +1.87 +1.77875 +1.70625 +1.65 +1.6249999 +1.6387501 +1.7099999 +1.81125 +1.90625 +2.0062501 +2.05375 +2.01375 +1.87875 +1.67 +1.4237499 +1.19125 +1.005 +0.86125004 +0.7725 +0.72625005 +0.71 +0.73375005 +0.79375005 +0.86499995 +0.9325 +0.99375 +1.05 +1.1075 +1.1724999 +1.23125 +1.2725 +1.2837499 +1.2587501 +1.21125 +1.1575 +1.105 +1.06375 +1.0175 +0.96 +0.89 +0.815 +0.75125 +0.7275 +0.7475 +0.79749995 +0.88250005 +1.0174999 +1.19375 +1.415 +1.64875 +1.8500001 +1.9799999 +2.0125 +1.95625 +1.84375 +1.7374998 +1.6274999 +1.5562499 +1.55125 +1.5924999 +1.6637499 +1.7425001 +1.8350002 +1.905 +1.9262499 +1.9137499 +1.8924999 +1.89 +1.9137499 +1.9499999 +1.965 +1.9412501 +1.87 +1.77875 +1.70625 +1.65 +1.6249999 +1.6387501 +1.7099999 +1.81125 +1.90625 +2.0062501 +2.05375 +2.01375 +1.87875 +1.67 +1.4237499 +1.19125 +1.005 +0.86125004 +0.7725 +0.72625005 +0.71 +0.73375005 +0.79375005 +0.86499995 +0.9325 +0.99375 +1.05 +1.1075 +1.1724999 +1.23125 +1.2725 +1.2775 +1.24 +1.1625 +1.0775 +1.0125 +0.9799999 +0.97125 +0.95624995 +0.92375 +0.8662499 +0.80125 +0.75250006 +0.73375 +0.74875 +0.805 +0.9025 +1.03875 +1.21 +1.43125 +1.655 +1.8225 +1.90375 +1.8937501 +1.8525 +1.7612498 +1.655 +1.5675001 +1.53125 +1.5737499 +1.6575 +1.7862499 +1.9187499 +2.02125 +2.0762498 +2.0925 +2.09125 +2.0974998 +2.115 +2.1325 +2.1225002 +2.06625 +1.9625001 +1.8312501 +1.7125001 +1.6449999 +1.6162499 +1.65875 +1.7462499 +1.8425 +1.915 +1.93625 +1.9312501 +1.83875 +1.66 +1.4287499 +1.19875 +1.01625 +0.87125 +0.77125 +0.71625 +0.70375 +0.72875 +0.78 +0.8425 +0.89624995 +0.93000007 +0.95125 +0.97375 +1.0224999 +1.1000001 +1.1887501 +1.2575 +1.2775 +1.24 +1.1625 +1.0775 +1.0125 +0.9799999 +0.97125 +0.95624995 +0.92375 +0.8662499 +0.80125 +0.75250006 +0.73375 +0.74875 +0.805 +0.9025 +1.03875 +1.21 +1.43125 +1.655 +1.8225 +1.90375 +1.8937501 +1.8525 +1.7612498 +1.655 +1.5675001 +1.53125 +1.5737499 +1.6575 +1.7862499 +1.9187499 +2.02125 +2.0762498 +2.0925 +2.09125 +2.0974998 +2.115 +2.1325 +2.1225002 +2.06625 +1.9625001 +1.8312501 +1.7125001 +1.6449999 +1.6162499 +1.65875 +1.7462499 +1.8425 +1.915 +1.93625 +1.9312501 +1.83875 +1.66 +1.4287499 +1.19875 +1.01625 +0.87125 +0.77125 +0.71625 +0.70375 +0.72875 +0.78 +0.8425 +0.89624995 +0.93000007 +0.95125 +0.97375 +1.0224999 +1.1000001 +1.1887501 +1.2575 +1.17 +1.11875 +1.00625 +0.88124996 +0.79499996 +0.765 +0.7775 +0.79625005 +0.7925 +0.75625 +0.70125 +0.65 +0.62375003 +0.63 +0.6725 +0.75 +0.86375 +1.01375 +1.1975 +1.4012501 +1.59625 +1.7250001 +1.7900001 +1.7750001 +1.6937499 +1.58125 +1.48 +1.425 +1.44625 +1.5437499 +1.695 +1.8575 +1.99875 +2.09375 +2.1475 +2.17 +2.18375 +2.1950002 +2.19 +2.1475 +2.05375 +1.91 +1.75 +1.6087499 +1.5249999 +1.515 +1.57375 +1.6712499 +1.7674999 +1.8249999 +1.8175001 +1.72875 +1.58 +1.37625 +1.16375 +0.9725001 +0.81749994 +0.70124996 +0.62624997 +0.58875 +0.58875 +0.62125 +0.67749995 +0.73125 +0.76625 +0.7725 +0.76125 +0.76374996 +0.81374997 +0.9125 +1.0374999 +1.1400001 +1.17 +1.11875 +1.00625 +0.88124996 +0.79499996 +0.765 +0.7775 +0.79625005 +0.7925 +0.75625 +0.70125 +0.65 +0.62375003 +0.63 +0.6725 +0.75 +0.86375 +1.01375 +1.1975 +1.4012501 +1.59625 +1.7250001 +1.7900001 +1.7750001 +1.6937499 +1.58125 +1.48 +1.425 +1.44625 +1.5437499 +1.695 +1.8575 +1.99875 +2.09375 +2.1475 +2.17 +2.18375 +2.1950002 +2.19 +2.1475 +2.05375 +1.91 +1.75 +1.6087499 +1.5249999 +1.515 +1.57375 +1.6712499 +1.7674999 +1.8249999 +1.8175001 +1.72875 +1.58 +1.37625 +1.16375 +0.9725001 +0.81749994 +0.70124996 +0.62624997 +0.58875 +0.58875 +0.62125 +0.67749995 +0.73125 +0.76625 +0.7725 +0.76125 +0.76374996 +0.81374997 +0.9125 +1.0374999 +1.1400001 +0.97875 +0.91375 +0.76874995 +0.61125 +0.49874997 +0.46625 +0.4925 +0.53375 +0.55375 +0.53625 +0.49124998 +0.44875002 +0.43374997 +0.45375 +0.5075 +0.58375 +0.68249995 +0.81125003 +0.975 +1.1662501 +1.35875 +1.51625 +1.61 +1.6225001 +1.5625 +1.4599999 +1.35875 +1.3037499 +1.3249999 +1.43125 +1.59875 +1.7925001 +1.9749999 +2.1175 +2.2137501 +2.2649999 +2.29125 +2.29375 +2.26375 +2.1825 +2.0475 +1.86875 +1.67625 +1.5137498 +1.41625 +1.39875 +1.4524999 +1.5424999 +1.6274999 +1.6600001 +1.6175 +1.4962499 +1.31375 +1.1075 +0.90875006 +0.74125004 +0.61125 +0.51874995 +0.44999996 +0.40374997 +0.3925 +0.41500002 +0.46249998 +0.50875 +0.52875 +0.51375 +0.48000002 +0.47000003 +0.52000004 +0.645 +0.8037499 +0.93625 +0.97875 +0.91375 +0.76874995 +0.61125 +0.49874997 +0.46625 +0.4925 +0.53375 +0.55375 +0.53625 +0.49124998 +0.44875002 +0.43374997 +0.45375 +0.5075 +0.58375 +0.68249995 +0.81125003 +0.975 +1.1662501 +1.35875 +1.51625 +1.61 +1.6225001 +1.5625 +1.4599999 +1.35875 +1.3037499 +1.3249999 +1.43125 +1.59875 +1.7925001 +1.9749999 +2.1175 +2.2137501 +2.2649999 +2.29125 +2.29375 +2.26375 +2.1825 +2.0475 +1.86875 +1.67625 +1.5137498 +1.41625 +1.39875 +1.4524999 +1.5424999 +1.6274999 +1.6600001 +1.6175 +1.4962499 +1.31375 +1.1075 +0.90875006 +0.74125004 +0.61125 +0.51874995 +0.44999996 +0.40374997 +0.3925 +0.41500002 +0.46249998 +0.50875 +0.52875 +0.51375 +0.48000002 +0.47000003 +0.52000004 +0.645 +0.8037499 +0.93625 +0.72625005 +0.65374994 +0.49249998 +0.34625 +0.2525 +0.2225 +0.2475 +0.28750002 +0.30875 +0.29999998 +0.26375 +0.23249999 +0.23499998 +0.275 +0.34624997 +0.4275 +0.5125 +0.61 +0.7375001 +0.89750004 +1.0749999 +1.2437501 +1.365 +1.4174999 +1.4 +1.3425 +1.2800001 +1.2562499 +1.3062501 +1.4325 +1.6237501 +1.8462499 +2.0625 +2.2462502 +2.3825002 +2.46625 +2.50625 +2.50125 +2.4475 +2.33625 +2.1675 +1.9574999 +1.7375001 +1.5462501 +1.4187499 +1.3625001 +1.3774999 +1.42625 +1.4625 +1.4475 +1.35875 +1.2049999 +1.0087501 +0.81125 +0.64500004 +0.51750004 +0.42624998 +0.35000002 +0.28250003 +0.22625 +0.20000002 +0.21000001 +0.24375 +0.28 +0.29375 +0.275 +0.24125 +0.22749999 +0.26749998 +0.3675 +0.5225 +0.6725 +0.72625005 +0.65374994 +0.49249998 +0.34625 +0.2525 +0.2225 +0.2475 +0.28750002 +0.30875 +0.29999998 +0.26375 +0.23249999 +0.23499998 +0.275 +0.34624997 +0.4275 +0.5125 +0.61 +0.7375001 +0.89750004 +1.0749999 +1.2437501 +1.365 +1.4174999 +1.4 +1.3425 +1.2800001 +1.2562499 +1.3062501 +1.4325 +1.6237501 +1.8462499 +2.0625 +2.2462502 +2.3825002 +2.46625 +2.50625 +2.50125 +2.4475 +2.33625 +2.1675 +1.9574999 +1.7375001 +1.5462501 +1.4187499 +1.3625001 +1.3774999 +1.42625 +1.4625 +1.4475 +1.35875 +1.2049999 +1.0087501 +0.81125 +0.64500004 +0.51750004 +0.42624998 +0.35000002 +0.28250003 +0.22625 +0.20000002 +0.21000001 +0.24375 +0.28 +0.29375 +0.275 +0.24125 +0.22749999 +0.26749998 +0.3675 +0.5225 +0.6725 +0.46749997 +0.39749998 +0.29 +0.205 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.17 +0.1425 +0.12 +0.1275 +0.17 +0.23875 +0.31 +0.36874998 +0.42374998 +0.49624997 +0.6075 +0.76 +0.92875 +1.0775 +1.18375 +1.235 +1.25125 +1.2625 +1.325 +1.43625 +1.5825001 +1.7712499 +2.0075002 +2.2425 +2.44875 +2.61 +2.7162502 +2.7675 +2.7625 +2.69625 +2.57 +2.3887498 +2.165 +1.93125 +1.7349999 +1.5762501 +1.4499999 +1.37125 +1.34 +1.2975001 +1.21375 +1.07125 +0.8825 +0.68125 +0.51 +0.39124998 +0.31875002 +0.28125 +0.24125001 +0.19125 +0.145 +0.12125 +0.12 +0.14125 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.20875001 +0.30249998 +0.41124997 +0.46749997 +0.39749998 +0.29 +0.205 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.17 +0.1425 +0.12 +0.1275 +0.17 +0.23875 +0.31 +0.36874998 +0.42374998 +0.49624997 +0.6075 +0.76 +0.92875 +1.0775 +1.18375 +1.235 +1.25125 +1.2625 +1.325 +1.43625 +1.5825001 +1.7712499 +2.0075002 +2.2425 +2.44875 +2.61 +2.7162502 +2.7675 +2.7625 +2.69625 +2.57 +2.3887498 +2.165 +1.93125 +1.7349999 +1.5762501 +1.4499999 +1.37125 +1.34 +1.2975001 +1.21375 +1.07125 +0.8825 +0.68125 +0.51 +0.39124998 +0.31875002 +0.28125 +0.24125001 +0.19125 +0.145 +0.12125 +0.12 +0.14125 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.165 +0.20875001 +0.30249998 +0.41124997 +0.27874997 +0.2525 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.22125 +0.2525 +0.27249998 +0.27 +0.285 +0.36 +0.51125 +0.66625005 +0.81000006 +0.95500004 +1.075 +1.1800001 +1.3125 +1.4599999 +1.6175001 +1.7862499 +1.96875 +2.1625 +2.37 +2.56875 +2.7312498 +2.8462498 +2.90875 +2.90375 +2.8387501 +2.71875 +2.5525 +2.36125 +2.1675 +1.9725 +1.78375 +1.6012499 +1.4325 +1.2775 +1.14625 +0.99375 +0.81 +0.62624997 +0.4375 +0.26375002 +0.18375 +0.18249999 +0.21124999 +0.23125 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.20375 +0.25375 +0.27874997 +0.2525 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.22125 +0.2525 +0.27249998 +0.27 +0.285 +0.36 +0.51125 +0.66625005 +0.81000006 +0.95500004 +1.075 +1.1800001 +1.3125 +1.4599999 +1.6175001 +1.7862499 +1.96875 +2.1625 +2.37 +2.56875 +2.7312498 +2.8462498 +2.90875 +2.90375 +2.8387501 +2.71875 +2.5525 +2.36125 +2.1675 +1.9725 +1.78375 +1.6012499 +1.4325 +1.2775 +1.14625 +0.99375 +0.81 +0.62624997 +0.4375 +0.26375002 +0.18375 +0.18249999 +0.21124999 +0.23125 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.20375 +0.25375 +0.23625 +0.20875 +0.1525 +0.11125 +0.09 +0.09875 +0.13 +0.16499999 +0.1875 +0.18125 +0.16875 +0.16875 +0.1925 +0.23375 +0.2725 +0.2775 +0.24 +0.18749999 +0.15249999 +0.22124998 +0.35250002 +0.49499997 +0.6437501 +0.79125005 +0.9475 +1.12 +1.30625 +1.4950001 +1.67625 +1.84125 +1.9937499 +2.1475 +2.305 +2.4675 +2.61875 +2.7375 +2.79875 +2.7975001 +2.7350001 +2.6325 +2.505 +2.3625002 +2.21 +2.04 +1.8487499 +1.64 +1.4275 +1.22 +1.0237501 +0.83875 +0.65374994 +0.4675 +0.28875 +0.1325 +0.072500005 +0.14625 +0.2325 +0.2775 +0.2725 +0.23375 +0.1925 +0.16875 +0.16875 +0.18625 +0.1975 +0.16999999 +0.13 +0.09875 +0.09 +0.11125 +0.1525 +0.20875 +0.23625 +0.20875 +0.1525 +0.11125 +0.09 +0.09875 +0.13 +0.16499999 +0.1875 +0.18125 +0.16875 +0.16875 +0.1925 +0.23375 +0.2725 +0.2775 +0.24 +0.18749999 +0.15249999 +0.22124998 +0.35250002 +0.49499997 +0.6437501 +0.79125005 +0.9475 +1.12 +1.30625 +1.4950001 +1.67625 +1.84125 +1.9937499 +2.1475 +2.305 +2.4675 +2.61875 +2.7375 +2.79875 +2.7975001 +2.7350001 +2.6325 +2.505 +2.3625002 +2.21 +2.04 +1.8487499 +1.64 +1.4275 +1.22 +1.0237501 +0.83875 +0.65374994 +0.4675 +0.28875 +0.1325 +0.072500005 +0.14625 +0.2325 +0.2775 +0.2725 +0.23375 +0.1925 +0.16875 +0.16875 +0.18625 +0.1975 +0.16999999 +0.13 +0.09875 +0.09 +0.11125 +0.1525 +0.20875 +0.3125 +0.2725 +0.18749999 +0.112500004 +0.0775 +0.0925 +0.14125 +0.19749999 +0.22625 +0.21875 +0.20125002 +0.19875 +0.23625 +0.2925 +0.3375 +0.34 +0.28375 +0.19499998 +0.14375 +0.19624999 +0.32125 +0.44625 +0.56625 +0.69000006 +0.83000004 +0.99375004 +1.1825 +1.36875 +1.5325 +1.6575 +1.74875 +1.8299999 +1.92875 +2.04125 +2.1637502 +2.2662501 +2.3225 +2.32 +2.2687502 +2.1925 +2.115 +2.0337498 +1.94875 +1.83625 +1.68125 +1.49125 +1.2837499 +1.07875 +0.90000004 +0.73749995 +0.58 +0.42249998 +0.26375 +0.11624999 +0.08 +0.17875 +0.28375 +0.34 +0.3375 +0.2925 +0.23625 +0.2 +0.21000001 +0.24249998 +0.2575 +0.22375 +0.15625 +0.098749995 +0.07875 +0.11000001 +0.185 +0.27125 +0.3125 +0.2725 +0.18749999 +0.112500004 +0.0775 +0.0925 +0.14125 +0.19749999 +0.22625 +0.21875 +0.20125002 +0.19875 +0.23625 +0.2925 +0.3375 +0.34 +0.28375 +0.19499998 +0.14375 +0.19624999 +0.32125 +0.44625 +0.56625 +0.69000006 +0.83000004 +0.99375004 +1.1825 +1.36875 +1.5325 +1.6575 +1.74875 +1.8299999 +1.92875 +2.04125 +2.1637502 +2.2662501 +2.3225 +2.32 +2.2687502 +2.1925 +2.115 +2.0337498 +1.94875 +1.83625 +1.68125 +1.49125 +1.2837499 +1.07875 +0.90000004 +0.73749995 +0.58 +0.42249998 +0.26375 +0.11624999 +0.08 +0.17875 +0.28375 +0.34 +0.3375 +0.2925 +0.23625 +0.2 +0.21000001 +0.24249998 +0.2575 +0.22375 +0.15625 +0.098749995 +0.07875 +0.11000001 +0.185 +0.27125 +0.51625 +0.47875 +0.38124996 +0.27375 +0.2075 +0.20875 +0.25875 +0.31375003 +0.34125003 +0.32875 +0.29625 +0.28625 +0.31500003 +0.36374998 +0.405 +0.40875 +0.34625 +0.27124998 +0.2525 +0.29375002 +0.41875005 +0.51874995 +0.60749996 +0.6975 +0.77375 +0.86249995 +0.97 +1.115 +1.2249999 +1.2875 +1.33375 +1.36 +1.3925 +1.44375 +1.5150001 +1.5912501 +1.6387501 +1.6275 +1.58875 +1.5562501 +1.5350001 +1.52 +1.48875 +1.41875 +1.3275 +1.1899999 +1.03 +0.91499996 +0.82374996 +0.73375005 +0.61499995 +0.49 +0.35875 +0.21374999 +0.17625 +0.235 +0.345 +0.40875 +0.405 +0.36249998 +0.315 +0.295 +0.3225 +0.37125003 +0.39375 +0.365 +0.29625 +0.22875 +0.21 +0.26125 +0.3675 +0.47000003 +0.51625 +0.47875 +0.38124996 +0.27375 +0.2075 +0.20875 +0.25875 +0.31375003 +0.34125003 +0.32875 +0.29625 +0.28625 +0.31500003 +0.36374998 +0.405 +0.40875 +0.34625 +0.27124998 +0.2525 +0.29375002 +0.41875005 +0.51874995 +0.60749996 +0.6975 +0.77375 +0.86249995 +0.97 +1.115 +1.2249999 +1.2875 +1.33375 +1.36 +1.3925 +1.44375 +1.5150001 +1.5912501 +1.6387501 +1.6275 +1.58875 +1.5562501 +1.5350001 +1.52 +1.48875 +1.41875 +1.3275 +1.1899999 +1.03 +0.91499996 +0.82374996 +0.73375005 +0.61499995 +0.49 +0.35875 +0.21374999 +0.17625 +0.235 +0.345 +0.40875 +0.405 +0.36249998 +0.315 +0.295 +0.3225 +0.37125003 +0.39375 +0.365 +0.29625 +0.22875 +0.21 +0.26125 +0.3675 +0.47000003 +0.71375 +0.69125 +0.61125 +0.515 +0.43875 +0.4075 +0.41 +0.42874998 +0.44499996 +0.44875 +0.44750002 +0.45375 +0.46875003 +0.48250002 +0.48624998 +0.46375 +0.41 +0.38000003 +0.41250002 +0.4925 +0.59625 +0.68625 +0.73375 +0.74125 +0.73499995 +0.74875 +0.79749995 +0.865 +0.91875005 +0.93375003 +0.90625 +0.86625 +0.85125 +0.88249993 +0.95000005 +1.015 +1.0437499 +1.02375 +0.9775 +0.94000006 +0.9375 +0.96750003 +1.0050001 +1.01 +0.96375 +0.8825 +0.805 +0.76125 +0.755 +0.75874996 +0.73 +0.64875007 +0.52625 +0.4025 +0.3225 +0.3225 +0.3975 +0.465 +0.49125 +0.48625 +0.47499996 +0.46749997 +0.475 +0.49375 +0.5025 +0.4875 +0.45375 +0.42625 +0.43125 +0.48999998 +0.58124995 +0.67125 +0.71375 +0.69125 +0.61125 +0.515 +0.43875 +0.4075 +0.41 +0.42874998 +0.44499996 +0.44875 +0.44750002 +0.45375 +0.46875003 +0.48250002 +0.48624998 +0.46375 +0.41 +0.38000003 +0.41250002 +0.4925 +0.59625 +0.68625 +0.73375 +0.74125 +0.73499995 +0.74875 +0.79749995 +0.865 +0.91875005 +0.93375003 +0.90625 +0.86625 +0.85125 +0.88249993 +0.95000005 +1.015 +1.0437499 +1.02375 +0.9775 +0.94000006 +0.9375 +0.96750003 +1.0050001 +1.01 +0.96375 +0.8825 +0.805 +0.76125 +0.755 +0.75874996 +0.73 +0.64875007 +0.52625 +0.4025 +0.3225 +0.3225 +0.3975 +0.465 +0.49125 +0.48625 +0.47499996 +0.46749997 +0.475 +0.49375 +0.5025 +0.4875 +0.45375 +0.42625 +0.43125 +0.48999998 +0.58124995 +0.67125 +0.77375 +0.77 +0.7275 +0.65875 +0.5875 +0.52750003 +0.49499995 +0.48874998 +0.50624996 +0.54875 +0.59875 +0.64500004 +0.66624993 +0.64500004 +0.58374995 +0.5075 +0.44875 +0.45000002 +0.51874995 +0.6375 +0.75124997 +0.81125 +0.79625 +0.72625005 +0.64875 +0.60875 +0.61749995 +0.64875 +0.66125 +0.62375 +0.54499996 +0.47250003 +0.44750002 +0.49999997 +0.60125 +0.69374996 +0.72375 +0.6750001 +0.58000004 +0.50125 +0.47875 +0.52500004 +0.6 +0.65625 +0.65749997 +0.61625 +0.575 +0.5762501 +0.63625 +0.72375 +0.78125 +0.765 +0.66875 +0.53499997 +0.42249998 +0.38500002 +0.42999998 +0.52000004 +0.60875 +0.66875005 +0.67875 +0.65000004 +0.60749996 +0.57375 +0.55125 +0.54125 +0.53749996 +0.54125 +0.56874996 +0.615 +0.6775 +0.73749995 +0.77375 +0.77 +0.7275 +0.65875 +0.5875 +0.52750003 +0.49499995 +0.48874998 +0.50624996 +0.54875 +0.59875 +0.64500004 +0.66624993 +0.64500004 +0.58374995 +0.5075 +0.44875 +0.45000002 +0.51874995 +0.6375 +0.75124997 +0.81125 +0.79625 +0.72625005 +0.64875 +0.60875 +0.61749995 +0.64875 +0.66125 +0.62375 +0.54499996 +0.47250003 +0.44750002 +0.49999997 +0.60125 +0.69374996 +0.72375 +0.6750001 +0.58000004 +0.50125 +0.47875 +0.52500004 +0.6 +0.65625 +0.65749997 +0.61625 +0.575 +0.5762501 +0.63625 +0.72375 +0.78125 +0.765 +0.66875 +0.53499997 +0.42249998 +0.38500002 +0.42999998 +0.52000004 +0.60875 +0.66875005 +0.67875 +0.65000004 +0.60749996 +0.57375 +0.55125 +0.54125 +0.53749996 +0.54125 +0.56874996 +0.615 +0.6775 +0.73749995 +0.63374996 +0.65374994 +0.66375 +0.64625 +0.59875 +0.54 +0.49124998 +0.475 +0.51875 +0.6125001 +0.73125005 +0.82624996 +0.85625005 +0.795 +0.66625 +0.52124995 +0.42875 +0.41750002 +0.5025 +0.63124996 +0.7375 +0.7625 +0.6925 +0.57125 +0.46 +0.40875 +0.41875 +0.45000002 +0.45 +0.38874996 +0.29 +0.21624999 +0.21749999 +0.32625002 +0.49124998 +0.63124996 +0.67125 +0.58750004 +0.4325 +0.2825 +0.21124999 +0.23875 +0.32375002 +0.40249997 +0.42125002 +0.38375 +0.33625 +0.34125 +0.4225 +0.55625004 +0.67375 +0.71375 +0.6525 +0.52500004 +0.40375 +0.36124998 +0.42374998 +0.55999994 +0.7225 +0.83500004 +0.86125004 +0.8037499 +0.70125 +0.59875 +0.53125 +0.50875 +0.52125 +0.54375 +0.56500006 +0.5825 +0.59375 +0.61 +0.63374996 +0.65374994 +0.66375 +0.64625 +0.59875 +0.54 +0.49124998 +0.475 +0.51875 +0.6125001 +0.73125005 +0.82624996 +0.85625005 +0.795 +0.66625 +0.52124995 +0.42875 +0.41750002 +0.5025 +0.63124996 +0.7375 +0.7625 +0.6925 +0.57125 +0.46 +0.40875 +0.41875 +0.45000002 +0.45 +0.38874996 +0.29 +0.21624999 +0.21749999 +0.32625002 +0.49124998 +0.63124996 +0.67125 +0.58750004 +0.4325 +0.2825 +0.21124999 +0.23875 +0.32375002 +0.40249997 +0.42125002 +0.38375 +0.33625 +0.34125 +0.4225 +0.55625004 +0.67375 +0.71375 +0.6525 +0.52500004 +0.40375 +0.36124998 +0.42374998 +0.55999994 +0.7225 +0.83500004 +0.86125004 +0.8037499 +0.70125 +0.59875 +0.53125 +0.50875 +0.52125 +0.54375 +0.56500006 +0.5825 +0.59375 +0.61 +0.35750002 +0.38875 +0.45250002 +0.49875003 +0.49625 +0.45125002 +0.39875 +0.39125 +0.47000003 +0.6275 +0.82 +0.97 +1.00625 +0.9074999 +0.705 +0.48749998 +0.35875 +0.29874998 +0.36 +0.47500002 +0.58625 +0.55375 +0.425 +0.28 +0.19749999 +0.16624999 +0.19749999 +0.28375 +0.29375 +0.2075 +0.11000001 +0.075 +0.105000004 +0.27875 +0.52125 +0.72875 +0.79499996 +0.66999996 +0.435 +0.21000001 +0.083749995 +0.085 +0.14749998 +0.22375 +0.25875 +0.1975 +0.10374999 +0.106249996 +0.165 +0.26375002 +0.41375 +0.51750004 +0.51250005 +0.375 +0.27249998 +0.27124998 +0.36874998 +0.55875 +0.7899999 +0.9599999 +1.0 +0.90875 +0.7375 +0.56125003 +0.44125003 +0.39875 +0.4175 +0.4475 +0.4525 +0.41999996 +0.36625 +0.34250003 +0.35750002 +0.38875 +0.45250002 +0.49875003 +0.49625 +0.45125002 +0.39875 +0.39125 +0.47000003 +0.6275 +0.82 +0.97 +1.00625 +0.9074999 +0.705 +0.48749998 +0.35875 +0.29874998 +0.36 +0.47500002 +0.58625 +0.55375 +0.425 +0.28 +0.19749999 +0.16624999 +0.19749999 +0.28375 +0.29375 +0.2075 +0.11000001 +0.075 +0.105000004 +0.27875 +0.52125 +0.72875 +0.79499996 +0.66999996 +0.435 +0.21000001 +0.083749995 +0.085 +0.14749998 +0.22375 +0.25875 +0.1975 +0.10374999 +0.106249996 +0.165 +0.26375002 +0.41375 +0.51750004 +0.51250005 +0.375 +0.27249998 +0.27124998 +0.36874998 +0.55875 +0.7899999 +0.9599999 +1.0 +0.90875 +0.7375 +0.56125003 +0.44125003 +0.39875 +0.4175 +0.4475 +0.4525 +0.41999996 +0.36625 +0.34250003 +0.17125 +0.185 +0.23125 +0.31624997 +0.35125002 +0.31875 +0.26625 +0.27125 +0.37875 +0.59625 +0.85625 +1.0562501 +1.105 +0.97625 +0.7175 +0.44000003 +0.2875 +0.19624999 +0.1775 +0.29125 +0.36874998 +0.3 +0.14125001 +0.0475 +0.0112499995 +0.0075 +0.07125 +0.18125002 +0.21625002 +0.13375 +0.028749999 +0.0 +0.045 +0.2725 +0.60249996 +0.865 +0.94125 +0.7975 +0.505 +0.19999999 +0.0275 +0.005 +0.065 +0.16499999 +0.18375 +0.088750005 +0.01625 +0.0 +0.00375 +0.0425 +0.14625 +0.29 +0.31875 +0.2125 +0.12625 +0.18875 +0.30875 +0.54 +0.83124995 +1.03625 +1.08125 +0.955 +0.71875 +0.47625002 +0.31124997 +0.2575 +0.28 +0.31875 +0.31125 +0.235 +0.1725 +0.16125 +0.17125 +0.185 +0.23125 +0.31624997 +0.35125002 +0.31875 +0.26625 +0.27125 +0.37875 +0.59625 +0.85625 +1.0562501 +1.105 +0.97625 +0.7175 +0.44000003 +0.2875 +0.19624999 +0.1775 +0.29125 +0.36874998 +0.3 +0.14125001 +0.0475 +0.0112499995 +0.0075 +0.07125 +0.18125002 +0.21625002 +0.13375 +0.028749999 +0.0 +0.045 +0.2725 +0.60249996 +0.865 +0.94125 +0.7975 +0.505 +0.19999999 +0.0275 +0.005 +0.065 +0.16499999 +0.18375 +0.088750005 +0.01625 +0.0 +0.00375 +0.0425 +0.14625 +0.29 +0.31875 +0.2125 +0.12625 +0.18875 +0.30875 +0.54 +0.83124995 +1.03625 +1.08125 +0.955 +0.71875 +0.47625002 +0.31124997 +0.2575 +0.28 +0.31875 +0.31125 +0.235 +0.1725 +0.16125 +0.20875 +0.1925 +0.16875 +0.21374999 +0.26125002 +0.22250003 +0.17375001 +0.1875 +0.2875 +0.53375006 +0.84250003 +1.08 +1.1474999 +1.01 +0.7225 +0.4125 +0.2375 +0.14625 +0.083749995 +0.1525 +0.19125 +0.103750005 +0.02625 +0.0 +0.0 +0.0 +0.0275 +0.11875 +0.16999999 +0.09625 +0.01375 +0.0 +0.040000003 +0.27625 +0.62499994 +0.9025 +0.985 +0.835 +0.53125 +0.2125 +0.02875 +0.0 +0.04875 +0.13499999 +0.14125 +0.045 +0.00125 +0.0 +0.0 +0.0 +0.0275 +0.121249996 +0.175 +0.10875 +0.06125 +0.14625 +0.27875 +0.54 +0.85875 +1.0762501 +1.10875 +0.94749993 +0.6625 +0.37374997 +0.21625002 +0.1725 +0.18875001 +0.245 +0.24625 +0.17124999 +0.1575 +0.1925 +0.20875 +0.1925 +0.16875 +0.21374999 +0.26125002 +0.22250003 +0.17375001 +0.1875 +0.2875 +0.53375006 +0.84250003 +1.08 +1.1474999 +1.01 +0.7225 +0.4125 +0.2375 +0.14625 +0.083749995 +0.1525 +0.19125 +0.103750005 +0.02625 +0.0 +0.0 +0.0 +0.0275 +0.11875 +0.16999999 +0.09625 +0.01375 +0.0 +0.040000003 +0.27625 +0.62499994 +0.9025 +0.985 +0.835 +0.53125 +0.2125 +0.02875 +0.0 +0.04875 +0.13499999 +0.14125 +0.045 +0.00125 +0.0 +0.0 +0.0 +0.0275 +0.121249996 +0.175 +0.10875 +0.06125 +0.14625 +0.27875 +0.54 +0.85875 +1.0762501 +1.10875 +0.94749993 +0.6625 +0.37374997 +0.21625002 +0.1725 +0.18875001 +0.245 +0.24625 +0.17124999 +0.1575 +0.1925 +0.26 +0.24375 +0.22125 +0.27124998 +0.29000002 +0.22500002 +0.16625 +0.17875 +0.24249999 +0.47375 +0.79999995 +1.0587499 +1.1425 +1.0150001 +0.7325 +0.42125002 +0.22625001 +0.1375 +0.099999994 +0.125 +0.1375 +0.051250003 +0.0025 +0.0175 +0.0175 +0.0 +0.03 +0.12375 +0.17750001 +0.10875 +0.0175 +0.0 +0.0425 +0.27125 +0.59374994 +0.85 +0.93125 +0.79125 +0.5125 +0.2225 +0.043750003 +0.00875 +0.06 +0.14500001 +0.14625 +0.057499997 +0.0 +0.0 +0.0175 +0.0175 +0.01875 +0.1025 +0.16375 +0.118750006 +0.095 +0.15 +0.30374998 +0.5774999 +0.88375 +1.0875 +1.0975001 +0.91125 +0.6025 +0.30749997 +0.19624999 +0.17875 +0.1975 +0.28375 +0.31625 +0.26375 +0.20875 +0.24375 +0.26 +0.24375 +0.22125 +0.27124998 +0.29000002 +0.22500002 +0.16625 +0.17875 +0.24249999 +0.47375 +0.79999995 +1.0587499 +1.1425 +1.0150001 +0.7325 +0.42125002 +0.22625001 +0.1375 +0.099999994 +0.125 +0.1375 +0.051250003 +0.0025 +0.0175 +0.0175 +0.0 +0.03 +0.12375 +0.17750001 +0.10875 +0.0175 +0.0 +0.0425 +0.27125 +0.59374994 +0.85 +0.93125 +0.79125 +0.5125 +0.2225 +0.043750003 +0.00875 +0.06 +0.14500001 +0.14625 +0.057499997 +0.0 +0.0 +0.0175 +0.0175 +0.01875 +0.1025 +0.16375 +0.118750006 +0.095 +0.15 +0.30374998 +0.5774999 +0.88375 +1.0875 +1.0975001 +0.91125 +0.6025 +0.30749997 +0.19624999 +0.17875 +0.1975 +0.28375 +0.31625 +0.26375 +0.20875 +0.24375 +0.32625 +0.3325 +0.37625 +0.43624997 +0.42000002 +0.3075 +0.1975 +0.18125 +0.22625001 +0.43375 +0.7462499 +0.99999994 +1.0875 +0.97625 +0.72375 +0.445 +0.24875 +0.17375 +0.1825 +0.2125 +0.19375 +0.11125 +0.0575 +0.07625 +0.07875 +0.055 +0.08625 +0.195 +0.24375002 +0.17375001 +0.075 +0.056250002 +0.135 +0.33999997 +0.61875 +0.83625 +0.90125 +0.7899999 +0.55625004 +0.3075 +0.1525 +0.10375 +0.1375 +0.20875001 +0.21000001 +0.11875 +0.0325 +0.05375 +0.07875 +0.09 +0.125 +0.21374999 +0.2625 +0.23750001 +0.19875 +0.22500001 +0.3675 +0.61625004 +0.885 +1.05625 +1.05125 +0.85999995 +0.55875003 +0.2875 +0.185 +0.1875 +0.26999998 +0.41250002 +0.4925 +0.45624998 +0.37125 +0.32875 +0.32625 +0.3325 +0.37625 +0.43624997 +0.42000002 +0.3075 +0.1975 +0.18125 +0.22625001 +0.43375 +0.7462499 +0.99999994 +1.0875 +0.97625 +0.72375 +0.445 +0.24875 +0.17375 +0.1825 +0.2125 +0.19375 +0.11125 +0.0575 +0.07625 +0.07875 +0.055 +0.08625 +0.195 +0.24375002 +0.17375001 +0.075 +0.056250002 +0.135 +0.33999997 +0.61875 +0.83625 +0.90125 +0.7899999 +0.55625004 +0.3075 +0.1525 +0.10375 +0.1375 +0.20875001 +0.21000001 +0.11875 +0.0325 +0.05375 +0.07875 +0.09 +0.125 +0.21374999 +0.2625 +0.23750001 +0.19875 +0.22500001 +0.3675 +0.61625004 +0.885 +1.05625 +1.05125 +0.85999995 +0.55875003 +0.2875 +0.185 +0.1875 +0.26999998 +0.41250002 +0.4925 +0.45624998 +0.37125 +0.32875 +0.49375004 +0.5325 +0.60499996 +0.63625 +0.57374996 +0.42125002 +0.26125 +0.1825 +0.23125002 +0.41750002 +0.68375 +0.90125 +0.97125 +0.87250006 +0.655 +0.42125002 +0.26375 +0.21249999 +0.2475 +0.29625002 +0.29125 +0.21499999 +0.13625 +0.12375 +0.13125 +0.1325 +0.20875 +0.3125 +0.34625 +0.3025 +0.23000002 +0.19999999 +0.26500002 +0.435 +0.6475 +0.81375 +0.865 +0.78125 +0.6075 +0.4225 +0.3 +0.26625 +0.29375002 +0.32375 +0.30375 +0.225 +0.145 +0.122499995 +0.14625 +0.17999999 +0.27374998 +0.36875 +0.39124998 +0.34625 +0.28625 +0.285 +0.39250004 +0.59250003 +0.81750005 +0.96625006 +0.96124995 +0.7937499 +0.53249997 +0.2975 +0.19375001 +0.2275 +0.3725 +0.56 +0.6825 +0.6912501 +0.6175 +0.52875 +0.49375004 +0.5325 +0.60499996 +0.63625 +0.57374996 +0.42125002 +0.26125 +0.1825 +0.23125002 +0.41750002 +0.68375 +0.90125 +0.97125 +0.87250006 +0.655 +0.42125002 +0.26375 +0.21249999 +0.2475 +0.29625002 +0.29125 +0.21499999 +0.13625 +0.12375 +0.13125 +0.1325 +0.20875 +0.3125 +0.34625 +0.3025 +0.23000002 +0.19999999 +0.26500002 +0.435 +0.6475 +0.81375 +0.865 +0.78125 +0.6075 +0.4225 +0.3 +0.26625 +0.29375002 +0.32375 +0.30375 +0.225 +0.145 +0.122499995 +0.14625 +0.17999999 +0.27374998 +0.36875 +0.39124998 +0.34625 +0.28625 +0.285 +0.39250004 +0.59250003 +0.81750005 +0.96625006 +0.96124995 +0.7937499 +0.53249997 +0.2975 +0.19375001 +0.2275 +0.3725 +0.56 +0.6825 +0.6912501 +0.6175 +0.52875 +0.70125 +0.72375 +0.75749993 +0.75375 +0.665 +0.50375 +0.32999998 +0.22625001 +0.25250003 +0.40125 +0.605 +0.76375 +0.79875004 +0.69500005 +0.5025 +0.30624998 +0.19249998 +0.16375 +0.2075 +0.26625 +0.28 +0.23374999 +0.15625 +0.1325 +0.14625 +0.18124999 +0.27499998 +0.37 +0.40875003 +0.3875 +0.34125003 +0.32375 +0.36875 +0.48375002 +0.62875 +0.74249995 +0.77625006 +0.71999997 +0.605 +0.48250002 +0.4 +0.37374997 +0.3825 +0.385 +0.34750003 +0.27 +0.19125 +0.15874998 +0.18124999 +0.23875 +0.33 +0.39124998 +0.385 +0.31875 +0.24375 +0.22375 +0.30125 +0.47000003 +0.66625 +0.80375 +0.8212501 +0.70250005 +0.50375 +0.31875002 +0.23625003 +0.29125002 +0.45125 +0.64250004 +0.78000003 +0.82374996 +0.78625005 +0.72875 +0.70125 +0.72375 +0.75749993 +0.75375 +0.665 +0.50375 +0.32999998 +0.22625001 +0.25250003 +0.40125 +0.605 +0.76375 +0.79875004 +0.69500005 +0.5025 +0.30624998 +0.19249998 +0.16375 +0.2075 +0.26625 +0.28 +0.23374999 +0.15625 +0.1325 +0.14625 +0.18124999 +0.27499998 +0.37 +0.40875003 +0.3875 +0.34125003 +0.32375 +0.36875 +0.48375002 +0.62875 +0.74249995 +0.77625006 +0.71999997 +0.605 +0.48250002 +0.4 +0.37374997 +0.3825 +0.385 +0.34750003 +0.27 +0.19125 +0.15874998 +0.18124999 +0.23875 +0.33 +0.39124998 +0.385 +0.31875 +0.24375 +0.22375 +0.30125 +0.47000003 +0.66625 +0.80375 +0.8212501 +0.70250005 +0.50375 +0.31875002 +0.23625003 +0.29125002 +0.45125 +0.64250004 +0.78000003 +0.82374996 +0.78625005 +0.72875 +0.74125004 +0.7512501 +0.7674999 +0.74625 +0.66125 +0.51875 +0.36625 +0.2725 +0.27750003 +0.37500003 +0.5125 +0.60625 +0.6 +0.48624998 +0.30625 +0.145 +0.08624999 +0.073750004 +0.095 +0.15125 +0.18625 +0.15625 +0.1075 +0.0975 +0.12 +0.16 +0.23625 +0.32125002 +0.36999997 +0.37375003 +0.35125 +0.34499997 +0.38125 +0.45749998 +0.55125 +0.62125003 +0.63625 +0.5975 +0.52 +0.43999997 +0.38625 +0.36374998 +0.35375 +0.32875 +0.27125 +0.18625 +0.12875 +0.11875 +0.1325 +0.17125 +0.23249999 +0.26625 +0.2475 +0.16250001 +0.0975 +0.09375 +0.14375 +0.27375 +0.45624998 +0.60125 +0.65 +0.58624995 +0.45624998 +0.32750002 +0.2725 +0.32250002 +0.45749995 +0.61875004 +0.745 +0.8 +0.78999996 +0.7575 +0.74125004 +0.7512501 +0.7674999 +0.74625 +0.66125 +0.51875 +0.36625 +0.2725 +0.27750003 +0.37500003 +0.5125 +0.60625 +0.6 +0.48624998 +0.30625 +0.145 +0.08624999 +0.073750004 +0.095 +0.15125 +0.18625 +0.15625 +0.1075 +0.0975 +0.12 +0.16 +0.23625 +0.32125002 +0.36999997 +0.37375003 +0.35125 +0.34499997 +0.38125 +0.45749998 +0.55125 +0.62125003 +0.63625 +0.5975 +0.52 +0.43999997 +0.38625 +0.36374998 +0.35375 +0.32875 +0.27125 +0.18625 +0.12875 +0.11875 +0.1325 +0.17125 +0.23249999 +0.26625 +0.2475 +0.16250001 +0.0975 +0.09375 +0.14375 +0.27375 +0.45624998 +0.60125 +0.65 +0.58624995 +0.45624998 +0.32750002 +0.2725 +0.32250002 +0.45749995 +0.61875004 +0.745 +0.8 +0.78999996 +0.7575 +0.67875 +0.68625 +0.69625 +0.675 +0.6075 +0.4975 +0.38125 +0.305 +0.29875 +0.35625 +0.43625003 +0.48125002 +0.44874996 +0.32999998 +0.16749999 +0.05625 +0.037499998 +0.03125 +0.06875 +0.16 +0.21249999 +0.185 +0.114999995 +0.09875 +0.10875 +0.13874999 +0.2025 +0.2775 +0.3375 +0.3375 +0.32500002 +0.3275 +0.3575 +0.41875002 +0.49 +0.53624994 +0.53875 +0.49375 +0.42249998 +0.35625 +0.3125 +0.29 +0.27 +0.23499998 +0.175 +0.082499996 +0.04875 +0.0575 +0.06375 +0.075 +0.120000005 +0.17875001 +0.1575 +0.0725 +0.01125 +0.01 +0.033749998 +0.10875 +0.2775 +0.4275 +0.4975 +0.47625 +0.39749998 +0.31375 +0.27874997 +0.315 +0.41375 +0.53499997 +0.6375 +0.69 +0.69624996 +0.68375 +0.67875 +0.68625 +0.69625 +0.675 +0.6075 +0.4975 +0.38125 +0.305 +0.29875 +0.35625 +0.43625003 +0.48125002 +0.44874996 +0.32999998 +0.16749999 +0.05625 +0.037499998 +0.03125 +0.06875 +0.16 +0.21249999 +0.185 +0.114999995 +0.09875 +0.10875 +0.13874999 +0.2025 +0.2775 +0.3375 +0.3375 +0.32500002 +0.3275 +0.3575 +0.41875002 +0.49 +0.53624994 +0.53875 +0.49375 +0.42249998 +0.35625 +0.3125 +0.29 +0.27 +0.23499998 +0.175 +0.082499996 +0.04875 +0.0575 +0.06375 +0.075 +0.120000005 +0.17875001 +0.1575 +0.0725 +0.01125 +0.01 +0.033749998 +0.10875 +0.2775 +0.4275 +0.4975 +0.47625 +0.39749998 +0.31375 +0.27874997 +0.315 +0.41375 +0.53499997 +0.6375 +0.69 +0.69624996 +0.68375 +0.64750004 +0.65999997 +0.6675 +0.65374994 +0.60249996 +0.52 +0.42874998 +0.3625 +0.34375 +0.37625003 +0.42874998 +0.46624997 +0.445 +0.34375 +0.20625 +0.115 +0.095000006 +0.14875 +0.275 +0.42000002 +0.50374997 +0.4925 +0.4075 +0.31625003 +0.2875 +0.30124998 +0.35875002 +0.43749997 +0.47500002 +0.45625 +0.40625 +0.39749998 +0.43624997 +0.5075 +0.585 +0.63124996 +0.61875 +0.555 +0.45875 +0.3725 +0.3175 +0.29375002 +0.29125 +0.29125 +0.23875001 +0.15250002 +0.085 +0.0775 +0.11 +0.1625 +0.25625 +0.305 +0.26125 +0.14625 +0.05375 +0.0225 +0.0175 +0.09375 +0.23500001 +0.37999997 +0.44750002 +0.4275 +0.36249998 +0.30625 +0.285 +0.3175 +0.39374998 +0.48624998 +0.5675 +0.62 +0.63875 +0.64250004 +0.64750004 +0.65999997 +0.6675 +0.65374994 +0.60249996 +0.52 +0.42874998 +0.3625 +0.34375 +0.37625003 +0.42874998 +0.46624997 +0.445 +0.34375 +0.20625 +0.115 +0.095000006 +0.14875 +0.275 +0.42000002 +0.50374997 +0.4925 +0.4075 +0.31625003 +0.2875 +0.30124998 +0.35875002 +0.43749997 +0.47500002 +0.45625 +0.40625 +0.39749998 +0.43624997 +0.5075 +0.585 +0.63124996 +0.61875 +0.555 +0.45875 +0.3725 +0.3175 +0.29375002 +0.29125 +0.29125 +0.23875001 +0.15250002 +0.085 +0.0775 +0.11 +0.1625 +0.25625 +0.305 +0.26125 +0.14625 +0.05375 +0.0225 +0.0175 +0.09375 +0.23500001 +0.37999997 +0.44750002 +0.4275 +0.36249998 +0.30625 +0.285 +0.3175 +0.39374998 +0.48624998 +0.5675 +0.62 +0.63875 +0.64250004 +0.75124997 +0.76874995 +0.77874994 +0.76874995 +0.72375 +0.64625 +0.55375 +0.47749996 +0.4425 +0.46374997 +0.52 +0.58625 +0.59749997 +0.53875 +0.445 +0.38 +0.40875 +0.55625004 +0.78125006 +1.00125 +1.13625 +1.14375 +1.0450001 +0.90749997 +0.80625 +0.77250004 +0.795 +0.8275 +0.8225 +0.765 +0.685 +0.65500003 +0.70624995 +0.80875003 +0.92249995 +0.98875 +0.97125 +0.87125003 +0.72749996 +0.59624994 +0.5175 +0.49624997 +0.525 +0.55625 +0.53 +0.46124998 +0.395 +0.38625 +0.46 +0.58875 +0.70875 +0.745 +0.66375 +0.4925 +0.30124998 +0.18 +0.1625 +0.24 +0.37 +0.47375 +0.50625 +0.46375 +0.38375002 +0.335 +0.33124998 +0.38 +0.46124998 +0.55125 +0.63125 +0.68625 +0.7175 +0.73625004 +0.75124997 +0.76874995 +0.77874994 +0.76874995 +0.72375 +0.64625 +0.55375 +0.47749996 +0.4425 +0.46374997 +0.52 +0.58625 +0.59749997 +0.53875 +0.445 +0.38 +0.40875 +0.55625004 +0.78125006 +1.00125 +1.13625 +1.14375 +1.0450001 +0.90749997 +0.80625 +0.77250004 +0.795 +0.8275 +0.8225 +0.765 +0.685 +0.65500003 +0.70624995 +0.80875003 +0.92249995 +0.98875 +0.97125 +0.87125003 +0.72749996 +0.59624994 +0.5175 +0.49624997 +0.525 +0.55625 +0.53 +0.46124998 +0.395 +0.38625 +0.46 +0.58875 +0.70875 +0.745 +0.66375 +0.4925 +0.30124998 +0.18 +0.1625 +0.24 +0.37 +0.47375 +0.50625 +0.46375 +0.38375002 +0.335 +0.33124998 +0.38 +0.46124998 +0.55125 +0.63125 +0.68625 +0.7175 +0.73625004 +0.97375 +0.99625 +1.0124999 +1.00625 +0.9575 +0.8675 +0.75 +0.6425 +0.58625 +0.605 +0.6875 +0.7975 +0.85999995 +0.85374993 +0.8075 +0.80125004 +0.8925 +1.12875 +1.4625 +1.79 +2.0 +2.03375 +1.9125001 +1.7212499 +1.5525 +1.4375 +1.3924999 +1.3675 +1.3075 +1.1999999 +1.0825 +1.0525 +1.11875 +1.26625 +1.4350001 +1.54 +1.52375 +1.385 +1.18 +0.995 +0.88875 +0.87750006 +0.92249995 +0.99125 +1.0074999 +0.97624993 +0.95124996 +0.99625 +1.1324999 +1.29875 +1.43 +1.44 +1.29375 +1.03125 +0.74749994 +0.54625 +0.4775 +0.53125 +0.61375 +0.66875 +0.64624995 +0.5575 +0.45250002 +0.4025 +0.42375004 +0.50624996 +0.62 +0.7325 +0.8225 +0.88375 +0.92125 +0.94874996 +0.97375 +0.99625 +1.0124999 +1.00625 +0.9575 +0.8675 +0.75 +0.6425 +0.58625 +0.605 +0.6875 +0.7975 +0.85999995 +0.85374993 +0.8075 +0.80125004 +0.8925 +1.12875 +1.4625 +1.79 +2.0 +2.03375 +1.9125001 +1.7212499 +1.5525 +1.4375 +1.3924999 +1.3675 +1.3075 +1.1999999 +1.0825 +1.0525 +1.11875 +1.26625 +1.4350001 +1.54 +1.52375 +1.385 +1.18 +0.995 +0.88875 +0.87750006 +0.92249995 +0.99125 +1.0074999 +0.97624993 +0.95124996 +0.99625 +1.1324999 +1.29875 +1.43 +1.44 +1.29375 +1.03125 +0.74749994 +0.54625 +0.4775 +0.53125 +0.61375 +0.66875 +0.64624995 +0.5575 +0.45250002 +0.4025 +0.42375004 +0.50624996 +0.62 +0.7325 +0.8225 +0.88375 +0.92125 +0.94874996 +1.18625 +1.2225 +1.25625 +1.2625 +1.2125001 +1.10125 +0.94875 +0.8025 +0.72375 +0.74625003 +0.85999995 +1.01375 +1.125 +1.1587499 +1.1450001 +1.16125 +1.3025 +1.6212499 +2.075 +2.52375 +2.82625 +2.8974998 +2.7649999 +2.5175 +2.2575002 +2.06 +1.93625 +1.8425 +1.7275 +1.5825 +1.45 +1.3975 +1.4775 +1.675 +1.9025 +2.0524998 +2.0425 +1.8687501 +1.60875 +1.37625 +1.2525 +1.26 +1.3462499 +1.43625 +1.4825001 +1.4962499 +1.5337499 +1.6512501 +1.8562502 +2.0825 +2.2150002 +2.17 +1.9325 +1.5512501 +1.155 +0.86999995 +0.76374996 +0.7975 +0.86499995 +0.87375 +0.79499996 +0.65624994 +0.52625 +0.475 +0.52625 +0.655 +0.81375 +0.955 +1.0525 +1.1075 +1.1349999 +1.15625 +1.18625 +1.2225 +1.25625 +1.2625 +1.2125001 +1.10125 +0.94875 +0.8025 +0.72375 +0.74625003 +0.85999995 +1.01375 +1.125 +1.1587499 +1.1450001 +1.16125 +1.3025 +1.6212499 +2.075 +2.52375 +2.82625 +2.8974998 +2.7649999 +2.5175 +2.2575002 +2.06 +1.93625 +1.8425 +1.7275 +1.5825 +1.45 +1.3975 +1.4775 +1.675 +1.9025 +2.0524998 +2.0425 +1.8687501 +1.60875 +1.37625 +1.2525 +1.26 +1.3462499 +1.43625 +1.4825001 +1.4962499 +1.5337499 +1.6512501 +1.8562502 +2.0825 +2.2150002 +2.17 +1.9325 +1.5512501 +1.155 +0.86999995 +0.76374996 +0.7975 +0.86499995 +0.87375 +0.79499996 +0.65624994 +0.52625 +0.475 +0.52625 +0.655 +0.81375 +0.955 +1.0525 +1.1075 +1.1349999 +1.15625 +1.24375 +1.30125 +1.3675 +1.4025002 +1.3687501 +1.24875 +1.0675 +0.88625 +0.785 +0.815 +0.95875 +1.14875 +1.28625 +1.31875 +1.27875 +1.2737501 +1.4275001 +1.8112501 +2.3712502 +2.94125 +3.3362498 +3.4587498 +3.3112497 +2.99125 +2.6425 +2.36875 +2.1912498 +2.06 +1.9100001 +1.7225 +1.5475 +1.4725 +1.56 +1.7962501 +2.0787501 +2.2662501 +2.2675 +2.0725 +1.77375 +1.505 +1.3787501 +1.4124999 +1.545 +1.6850001 +1.7725 +1.82 +1.9024999 +2.0825 +2.3600001 +2.645 +2.795 +2.6962502 +2.3424997 +1.8349999 +1.3249999 +0.97125 +0.845 +0.89375 +0.98375005 +0.995 +0.89125 +0.71500003 +0.5575 +0.50874996 +0.58874995 +0.76125 +0.9575 +1.11 +1.1975 +1.22125 +1.215 +1.215 +1.24375 +1.30125 +1.3675 +1.4025002 +1.3687501 +1.24875 +1.0675 +0.88625 +0.785 +0.815 +0.95875 +1.14875 +1.28625 +1.31875 +1.27875 +1.2737501 +1.4275001 +1.8112501 +2.3712502 +2.94125 +3.3362498 +3.4587498 +3.3112497 +2.99125 +2.6425 +2.36875 +2.1912498 +2.06 +1.9100001 +1.7225 +1.5475 +1.4725 +1.56 +1.7962501 +2.0787501 +2.2662501 +2.2675 +2.0725 +1.77375 +1.505 +1.3787501 +1.4124999 +1.545 +1.6850001 +1.7725 +1.82 +1.9024999 +2.0825 +2.3600001 +2.645 +2.795 +2.6962502 +2.3424997 +1.8349999 +1.3249999 +0.97125 +0.845 +0.89375 +0.98375005 +0.995 +0.89125 +0.71500003 +0.5575 +0.50874996 +0.58874995 +0.76125 +0.9575 +1.11 +1.1975 +1.22125 +1.215 +1.215 +1.09 +1.175 +1.2850001 +1.3687501 +1.365 +1.255 +1.06125 +0.86125 +0.74375 +0.77625 +0.93999994 +1.1424999 +1.2700001 +1.2587501 +1.1487501 +1.0787499 +1.2062501 +1.63 +2.2675002 +2.9337502 +3.4062502 +3.565 +3.3974998 +3.0149999 +2.59625 +2.2662501 +2.0525 +1.89875 +1.72375 +1.505 +1.2962501 +1.20125 +1.29 +1.54875 +1.8675001 +2.0862498 +2.09375 +1.8887501 +1.5662501 +1.285 +1.1675 +1.2337501 +1.4087499 +1.5912501 +1.7125001 +1.79375 +1.915 +2.15625 +2.505 +2.84625 +3.0112498 +2.8675003 +2.4175 +1.7987499 +1.2 +0.80375004 +0.68125 +0.7825001 +0.9325 +0.985 +0.8875 +0.6975 +0.52875 +0.48250002 +0.58375 +0.78625 +0.99999994 +1.145 +1.19125 +1.16125 +1.1012499 +1.0675001 +1.09 +1.175 +1.2850001 +1.3687501 +1.365 +1.255 +1.06125 +0.86125 +0.74375 +0.77625 +0.93999994 +1.1424999 +1.2700001 +1.2587501 +1.1487501 +1.0787499 +1.2062501 +1.63 +2.2675002 +2.9337502 +3.4062502 +3.565 +3.3974998 +3.0149999 +2.59625 +2.2662501 +2.0525 +1.89875 +1.72375 +1.505 +1.2962501 +1.20125 +1.29 +1.54875 +1.8675001 +2.0862498 +2.09375 +1.8887501 +1.5662501 +1.285 +1.1675 +1.2337501 +1.4087499 +1.5912501 +1.7125001 +1.79375 +1.915 +2.15625 +2.505 +2.84625 +3.0112498 +2.8675003 +2.4175 +1.7987499 +1.2 +0.80375004 +0.68125 +0.7825001 +0.9325 +0.985 +0.8875 +0.6975 +0.52875 +0.48250002 +0.58375 +0.78625 +0.99999994 +1.145 +1.19125 +1.16125 +1.1012499 +1.0675001 +0.81374997 +0.92125 +1.0775001 +1.20875 +1.2450001 +1.1512501 +0.95500004 +0.74375 +0.62 +0.65500003 +0.8225 +1.0174999 +1.11375 +1.03875 +0.845 +0.69000006 +0.78499997 +1.21125 +1.89 +2.61625 +3.1425002 +3.315 +3.1374998 +2.7174997 +2.2537498 +1.8912499 +1.6600001 +1.4975 +1.3112501 +1.0725 +0.84000003 +0.72625 +0.80999994 +1.0799999 +1.4162501 +1.6500001 +1.6625 +1.4475 +1.1175001 +0.83875 +0.7362501 +0.83375 +1.04375 +1.25875 +1.4075 +1.5162499 +1.67875 +1.9725001 +2.38125 +2.7725 +2.9487498 +2.7675002 +2.25875 +1.56125 +0.905 +0.495 +0.405 +0.56 +0.78624994 +0.8925 +0.82125 +0.635 +0.465 +0.42249998 +0.53875005 +0.755 +0.96625 +1.0862501 +1.0825 +0.98875 +0.8675 +0.79625005 +0.81374997 +0.92125 +1.0775001 +1.20875 +1.2450001 +1.1512501 +0.95500004 +0.74375 +0.62 +0.65500003 +0.8225 +1.0174999 +1.11375 +1.03875 +0.845 +0.69000006 +0.78499997 +1.21125 +1.89 +2.61625 +3.1425002 +3.315 +3.1374998 +2.7174997 +2.2537498 +1.8912499 +1.6600001 +1.4975 +1.3112501 +1.0725 +0.84000003 +0.72625 +0.80999994 +1.0799999 +1.4162501 +1.6500001 +1.6625 +1.4475 +1.1175001 +0.83875 +0.7362501 +0.83375 +1.04375 +1.25875 +1.4075 +1.5162499 +1.67875 +1.9725001 +2.38125 +2.7725 +2.9487498 +2.7675002 +2.25875 +1.56125 +0.905 +0.495 +0.405 +0.56 +0.78624994 +0.8925 +0.82125 +0.635 +0.465 +0.42249998 +0.53875005 +0.755 +0.96625 +1.0862501 +1.0825 +0.98875 +0.8675 +0.79625005 +0.58750004 +0.70875 +0.8875 +1.0475001 +1.10625 +1.0250001 +0.8275 +0.61125 +0.48499998 +0.5175 +0.6825 +0.86625004 +0.93125004 +0.80499995 +0.54875 +0.33375 +0.39375 +0.81000006 +1.5037498 +2.2575002 +2.8112502 +2.9925003 +2.81125 +2.3787498 +1.8999999 +1.5287501 +1.2975 +1.13625 +0.9475 +0.70375 +0.45999998 +0.33375 +0.41875 +0.6875 +1.0275 +1.2662499 +1.27625 +1.0575 +0.72625 +0.45125 +0.36499995 +0.47875 +0.715 +0.95 +1.1175001 +1.25125 +1.4475 +1.78625 +2.2412498 +2.6674998 +2.85375 +2.65375 +2.1087499 +1.365 +0.6775 +0.26874998 +0.20750001 +0.40375 +0.6825 +0.82875 +0.7775 +0.59625 +0.42625 +0.38625 +0.50874996 +0.72875 +0.93125 +1.0250001 +0.98125005 +0.83750004 +0.67375004 +0.57625 +0.58750004 +0.70875 +0.8875 +1.0475001 +1.10625 +1.0250001 +0.8275 +0.61125 +0.48499998 +0.5175 +0.6825 +0.86625004 +0.93125004 +0.80499995 +0.54875 +0.33375 +0.39375 +0.81000006 +1.5037498 +2.2575002 +2.8112502 +2.9925003 +2.81125 +2.3787498 +1.8999999 +1.5287501 +1.2975 +1.13625 +0.9475 +0.70375 +0.45999998 +0.33375 +0.41875 +0.6875 +1.0275 +1.2662499 +1.27625 +1.0575 +0.72625 +0.45125 +0.36499995 +0.47875 +0.715 +0.95 +1.1175001 +1.25125 +1.4475 +1.78625 +2.2412498 +2.6674998 +2.85375 +2.65375 +2.1087499 +1.365 +0.6775 +0.26874998 +0.20750001 +0.40375 +0.6825 +0.82875 +0.7775 +0.59625 +0.42625 +0.38625 +0.50874996 +0.72875 +0.93125 +1.0250001 +0.98125005 +0.83750004 +0.67375004 +0.57625 +0.28875 +0.2825 +0.31624997 +0.40124997 +0.45 +0.44875 +0.42875004 +0.435 +0.485 +0.58250004 +0.71625 +0.86625004 +1.0287501 +1.19875 +1.36375 +1.5075 +1.62375 +1.6725001 +1.63375 +1.51875 +1.35875 +1.19125 +1.04625 +0.895 +0.74 +0.5925 +0.4725 +0.4025 +0.38375 +0.39249998 +0.38375002 +0.32625 +0.23624998 +0.225 +0.25 +0.27 +0.2775 +0.2725 +0.29375 +0.385 +0.44124997 +0.44749996 +0.43375003 +0.445 +0.5025 +0.6075 +0.74375 +0.89875 +1.06375 +1.23 +1.3912501 +1.525 +1.6325 +1.6725001 +1.6225001 +1.49875 +1.33375 +1.165 +1.015 +0.86375 +0.71 +0.56249994 +0.45000002 +0.3875 +0.37750003 +0.39499998 +0.39125 +0.33875 +0.255 +0.23125 +0.25875 +0.28 +0.28875 +0.2825 +0.31624997 +0.40124997 +0.45 +0.44875 +0.42875004 +0.435 +0.485 +0.58250004 +0.71625 +0.86625004 +1.0287501 +1.19875 +1.36375 +1.5075 +1.62375 +1.6725001 +1.63375 +1.51875 +1.35875 +1.19125 +1.04625 +0.895 +0.74 +0.5925 +0.4725 +0.4025 +0.38375 +0.39249998 +0.38375002 +0.32625 +0.23624998 +0.225 +0.25 +0.27 +0.2775 +0.2725 +0.29375 +0.385 +0.44124997 +0.44749996 +0.43375003 +0.445 +0.5025 +0.6075 +0.74375 +0.89875 +1.06375 +1.23 +1.3912501 +1.525 +1.6325 +1.6725001 +1.6225001 +1.49875 +1.33375 +1.165 +1.015 +0.86375 +0.71 +0.56249994 +0.45000002 +0.3875 +0.37750003 +0.39499998 +0.39125 +0.33875 +0.255 +0.23125 +0.25875 +0.28 +0.30875 +0.34124997 +0.40874997 +0.47375003 +0.49125004 +0.46000004 +0.41375 +0.39499998 +0.4225 +0.50374997 +0.6275 +0.78 +0.9525 +1.14125 +1.3325 +1.50875 +1.6375 +1.7112498 +1.6937499 +1.5925 +1.43625 +1.2712499 +1.1112499 +0.94875 +0.785 +0.62874997 +0.5025 +0.42624998 +0.39875 +0.40375 +0.39749998 +0.34749997 +0.265 +0.21875 +0.2425 +0.26125 +0.2675 +0.26624998 +0.32500002 +0.40999997 +0.46125 +0.46375 +0.45 +0.4625 +0.52 +0.63 +0.77625 +0.94499993 +1.1274999 +1.30625 +1.4725 +1.6049999 +1.68875 +1.70625 +1.6324999 +1.4875 +1.29875 +1.1212499 +0.94875 +0.7825 +0.62250006 +0.48375 +0.38624996 +0.3475 +0.36125004 +0.40375 +0.42874998 +0.40125 +0.335 +0.27874997 +0.2725 +0.3 +0.30875 +0.34124997 +0.40874997 +0.47375003 +0.49125004 +0.46000004 +0.41375 +0.39499998 +0.4225 +0.50374997 +0.6275 +0.78 +0.9525 +1.14125 +1.3325 +1.50875 +1.6375 +1.7112498 +1.6937499 +1.5925 +1.43625 +1.2712499 +1.1112499 +0.94875 +0.785 +0.62874997 +0.5025 +0.42624998 +0.39875 +0.40375 +0.39749998 +0.34749997 +0.265 +0.21875 +0.2425 +0.26125 +0.2675 +0.26624998 +0.32500002 +0.40999997 +0.46125 +0.46375 +0.45 +0.4625 +0.52 +0.63 +0.77625 +0.94499993 +1.1274999 +1.30625 +1.4725 +1.6049999 +1.68875 +1.70625 +1.6324999 +1.4875 +1.29875 +1.1212499 +0.94875 +0.7825 +0.62250006 +0.48375 +0.38624996 +0.3475 +0.36125004 +0.40375 +0.42874998 +0.40125 +0.335 +0.27874997 +0.2725 +0.3 +0.43249995 +0.50374997 +0.58 +0.61375 +0.58500004 +0.50625 +0.4175 +0.35625 +0.34749997 +0.39999998 +0.50125 +0.64875 +0.83124995 +1.045 +1.27375 +1.49625 +1.675 +1.785 +1.805 +1.7312499 +1.5837499 +1.41 +1.2375 +1.06 +0.88750005 +0.72875 +0.59875 +0.51875 +0.48874998 +0.4925 +0.49125 +0.45625004 +0.37749997 +0.30125 +0.27125 +0.2725 +0.2925 +0.3425 +0.43624997 +0.52250004 +0.56374997 +0.55875 +0.53875 +0.54625 +0.5975 +0.70750004 +0.8625 +1.0487499 +1.2475001 +1.4425001 +1.6124998 +1.73375 +1.79 +1.76875 +1.6525 +1.46375 +1.25 +1.04 +0.84 +0.65625 +0.495 +0.3775 +0.3125 +0.31375003 +0.37125 +0.45374995 +0.5175 +0.5325 +0.49374998 +0.42624998 +0.3875 +0.39374998 +0.43249995 +0.50374997 +0.58 +0.61375 +0.58500004 +0.50625 +0.4175 +0.35625 +0.34749997 +0.39999998 +0.50125 +0.64875 +0.83124995 +1.045 +1.27375 +1.49625 +1.675 +1.785 +1.805 +1.7312499 +1.5837499 +1.41 +1.2375 +1.06 +0.88750005 +0.72875 +0.59875 +0.51875 +0.48874998 +0.4925 +0.49125 +0.45625004 +0.37749997 +0.30125 +0.27125 +0.2725 +0.2925 +0.3425 +0.43624997 +0.52250004 +0.56374997 +0.55875 +0.53875 +0.54625 +0.5975 +0.70750004 +0.8625 +1.0487499 +1.2475001 +1.4425001 +1.6124998 +1.73375 +1.79 +1.76875 +1.6525 +1.46375 +1.25 +1.04 +0.84 +0.65625 +0.495 +0.3775 +0.3125 +0.31375003 +0.37125 +0.45374995 +0.5175 +0.5325 +0.49374998 +0.42624998 +0.3875 +0.39374998 +0.71625006 +0.77250004 +0.81125 +0.7975 +0.72375 +0.61 +0.4875 +0.39 +0.34500003 +0.35875 +0.4325 +0.56125003 +0.7375 +0.95624995 +1.21125 +1.47 +1.6925001 +1.855 +1.9275 +1.89625 +1.775 +1.59375 +1.4075 +1.235 +1.06875 +0.9224999 +0.8062501 +0.735 +0.71125 +0.72124994 +0.735 +0.72125 +0.6675 +0.58624995 +0.515 +0.49124998 +0.52875 +0.615 +0.71374995 +0.78625 +0.81 +0.79125 +0.755 +0.74249995 +0.78000003 +0.87499994 +1.02125 +1.2099999 +1.415 +1.61 +1.76875 +1.8725 +1.9025 +1.82875 +1.6625 +1.43375 +1.1937499 +0.9675 +0.75750005 +0.57 +0.42625 +0.34 +0.31375 +0.35875 +0.45625 +0.56875 +0.6625 +0.71000004 +0.71 +0.68375 +0.66374993 +0.6725 +0.71625006 +0.77250004 +0.81125 +0.7975 +0.72375 +0.61 +0.4875 +0.39 +0.34500003 +0.35875 +0.4325 +0.56125003 +0.7375 +0.95624995 +1.21125 +1.47 +1.6925001 +1.855 +1.9275 +1.89625 +1.775 +1.59375 +1.4075 +1.235 +1.06875 +0.9224999 +0.8062501 +0.735 +0.71125 +0.72124994 +0.735 +0.72125 +0.6675 +0.58624995 +0.515 +0.49124998 +0.52875 +0.615 +0.71374995 +0.78625 +0.81 +0.79125 +0.755 +0.74249995 +0.78000003 +0.87499994 +1.02125 +1.2099999 +1.415 +1.61 +1.76875 +1.8725 +1.9025 +1.82875 +1.6625 +1.43375 +1.1937499 +0.9675 +0.75750005 +0.57 +0.42625 +0.34 +0.31375 +0.35875 +0.45625 +0.56875 +0.6625 +0.71000004 +0.71 +0.68375 +0.66374993 +0.6725 +0.995 +1.025 +1.0275 +0.98249996 +0.89 +0.7649999 +0.63375 +0.5225 +0.455 +0.43625 +0.475 +0.57625 +0.72375005 +0.91625 +1.15125 +1.4175 +1.6687499 +1.8787501 +2.0075 +2.02875 +1.95 +1.8 +1.6187499 +1.4487499 +1.31 +1.1925 +1.12125 +1.0925 +1.0962499 +1.1112499 +1.12 +1.135 +1.1112499 +1.055 +1.0025 +0.98125 +1.005 +1.0675001 +1.14 +1.1875 +1.1899999 +1.1475 +1.08625 +1.07125 +1.0899999 +1.14875 +1.2537501 +1.4112499 +1.6 +1.7724999 +1.9175 +1.99375 +1.97125 +1.8475001 +1.6424999 +1.3924999 +1.14375 +0.92625 +0.73249996 +0.5825 +0.48 +0.4275 +0.4325 +0.5075 +0.6225 +0.74125 +0.83750004 +0.895 +0.91875005 +0.92375004 +0.93500006 +0.95875 +0.995 +1.025 +1.0275 +0.98249996 +0.89 +0.7649999 +0.63375 +0.5225 +0.455 +0.43625 +0.475 +0.57625 +0.72375005 +0.91625 +1.15125 +1.4175 +1.6687499 +1.8787501 +2.0075 +2.02875 +1.95 +1.8 +1.6187499 +1.4487499 +1.31 +1.1925 +1.12125 +1.0925 +1.0962499 +1.1112499 +1.12 +1.135 +1.1112499 +1.055 +1.0025 +0.98125 +1.005 +1.0675001 +1.14 +1.1875 +1.1899999 +1.1475 +1.08625 +1.07125 +1.0899999 +1.14875 +1.2537501 +1.4112499 +1.6 +1.7724999 +1.9175 +1.99375 +1.97125 +1.8475001 +1.6424999 +1.3924999 +1.14375 +0.92625 +0.73249996 +0.5825 +0.48 +0.4275 +0.4325 +0.5075 +0.6225 +0.74125 +0.83750004 +0.895 +0.91875005 +0.92375004 +0.93500006 +0.95875 +1.195 +1.2025 +1.1800001 +1.1212499 +1.03 +0.9225 +0.8125 +0.71500003 +0.64000005 +0.60125 +0.59999996 +0.6575 +0.75625 +0.90125 +1.095 +1.3299999 +1.5862498 +1.82375 +1.9975 +2.07625 +2.055 +1.955 +1.8125 +1.6687499 +1.5524999 +1.4725 +1.44125 +1.44625 +1.4799999 +1.5225 +1.5550001 +1.5799999 +1.5875001 +1.55875 +1.51875 +1.4962499 +1.5075 +1.5487499 +1.5975 +1.6175 +1.5925 +1.52125 +1.4512501 +1.405 +1.3862499 +1.41125 +1.4862499 +1.60875 +1.7624999 +1.91 +2.0149999 +2.0375 +1.96 +1.7912499 +1.565 +1.3199999 +1.095 +0.91125005 +0.77 +0.66999996 +0.61125004 +0.595 +0.625 +0.7125 +0.8187501 +0.91749996 +0.99125 +1.03625 +1.0649999 +1.0925 +1.1275 +1.16625 +1.195 +1.2025 +1.1800001 +1.1212499 +1.03 +0.9225 +0.8125 +0.71500003 +0.64000005 +0.60125 +0.59999996 +0.6575 +0.75625 +0.90125 +1.095 +1.3299999 +1.5862498 +1.82375 +1.9975 +2.07625 +2.055 +1.955 +1.8125 +1.6687499 +1.5524999 +1.4725 +1.44125 +1.44625 +1.4799999 +1.5225 +1.5550001 +1.5799999 +1.5875001 +1.55875 +1.51875 +1.4962499 +1.5075 +1.5487499 +1.5975 +1.6175 +1.5925 +1.52125 +1.4512501 +1.405 +1.3862499 +1.41125 +1.4862499 +1.60875 +1.7624999 +1.91 +2.0149999 +2.0375 +1.96 +1.7912499 +1.565 +1.3199999 +1.095 +0.91125005 +0.77 +0.66999996 +0.61125004 +0.595 +0.625 +0.7125 +0.8187501 +0.91749996 +0.99125 +1.03625 +1.0649999 +1.0925 +1.1275 +1.16625 +1.2900001 +1.275 +1.2275 +1.15875 +1.0825 +1.0074999 +0.935 +0.8675 +0.805 +0.755 +0.72125 +0.72625 +0.77250004 +0.86125004 +0.99875003 +1.1962501 +1.425 +1.67 +1.87875 +2.0137498 +2.05375 +2.0062501 +1.90625 +1.7924999 +1.71625 +1.6512501 +1.6249999 +1.6500001 +1.70625 +1.77875 +1.84 +1.9050001 +1.94375 +1.9412498 +1.9124999 +1.8912499 +1.89125 +1.915 +1.935 +1.9262501 +1.8712502 +1.7725 +1.6637499 +1.5925 +1.55125 +1.5562501 +1.6149999 +1.7312498 +1.8625001 +1.95625 +2.0124998 +1.98 +1.8499999 +1.6487501 +1.415 +1.1925 +1.0124999 +0.88875 +0.7975 +0.74750006 +0.7275001 +0.73999995 +0.79375 +0.87874997 +0.9575 +1.0149999 +1.05 +1.0725 +1.10625 +1.15625 +1.215 +1.26625 +1.2900001 +1.275 +1.2275 +1.15875 +1.0825 +1.0074999 +0.935 +0.8675 +0.805 +0.755 +0.72125 +0.72625 +0.77250004 +0.86125004 +0.99875003 +1.1962501 +1.425 +1.67 +1.87875 +2.0137498 +2.05375 +2.0062501 +1.90625 +1.7924999 +1.71625 +1.6512501 +1.6249999 +1.6500001 +1.70625 +1.77875 +1.84 +1.9050001 +1.94375 +1.9412498 +1.9124999 +1.8912499 +1.89125 +1.915 +1.935 +1.9262501 +1.8712502 +1.7725 +1.6637499 +1.5925 +1.55125 +1.5562501 +1.6149999 +1.7312498 +1.8625001 +1.95625 +2.0124998 +1.98 +1.8499999 +1.6487501 +1.415 +1.1925 +1.0124999 +0.88875 +0.7975 +0.74750006 +0.7275001 +0.73999995 +0.79375 +0.87874997 +0.9575 +1.0149999 +1.05 +1.0725 +1.10625 +1.15625 +1.215 +1.26625 +1.2750001 +1.23375 +1.15625 +1.0725 +1.005 +0.96 +0.9275 +0.895 +0.85375 +0.8025 +0.75249994 +0.71500003 +0.71375 +0.755 +0.85625 +1.0175 +1.22125 +1.4387499 +1.66 +1.83875 +1.93125 +1.935 +1.87375 +1.82125 +1.7525 +1.68625 +1.64625 +1.6449999 +1.7125 +1.80375 +1.9237499 +2.0324998 +2.10375 +2.1275 +2.1175 +2.09875 +2.0900002 +2.09 +2.08125 +2.04 +1.9525 +1.825 +1.685 +1.57375 +1.5312501 +1.5375 +1.6274999 +1.7549999 +1.87375 +1.9350001 +1.905 +1.8225 +1.655 +1.4312501 +1.1999999 +1.01625 +0.90125 +0.82 +0.76500005 +0.7362499 +0.74125004 +0.7774999 +0.84375 +0.9125001 +0.9575 +0.97375 +0.97125 +0.98125 +1.0274999 +1.1062499 +1.195 +1.26 +1.2750001 +1.23375 +1.15625 +1.0725 +1.005 +0.96 +0.9275 +0.895 +0.85375 +0.8025 +0.75249994 +0.71500003 +0.71375 +0.755 +0.85625 +1.0175 +1.22125 +1.4387499 +1.66 +1.83875 +1.93125 +1.935 +1.87375 +1.82125 +1.7525 +1.68625 +1.64625 +1.6449999 +1.7125 +1.80375 +1.9237499 +2.0324998 +2.10375 +2.1275 +2.1175 +2.09875 +2.0900002 +2.09 +2.08125 +2.04 +1.9525 +1.825 +1.685 +1.57375 +1.5312501 +1.5375 +1.6274999 +1.7549999 +1.87375 +1.9350001 +1.905 +1.8225 +1.655 +1.4312501 +1.1999999 +1.01625 +0.90125 +0.82 +0.76500005 +0.7362499 +0.74125004 +0.7774999 +0.84375 +0.9125001 +0.9575 +0.97375 +0.97125 +0.98125 +1.0274999 +1.1062499 +1.195 +1.26 +1.1575 +1.08375 +0.9699999 +0.86375 +0.7925 +0.7674999 +0.7687501 +0.765 +0.74375 +0.70124996 +0.64750004 +0.59999996 +0.58125 +0.605 +0.68 +0.81374997 +0.99250007 +1.19875 +1.4025 +1.5799999 +1.71375 +1.775 +1.7849998 +1.74875 +1.6812499 +1.60375 +1.5487499 +1.54 +1.5987501 +1.7187499 +1.87125 +2.02125 +2.13125 +2.18625 +2.2 +2.18625 +2.1675 +2.1425 +2.0975 +2.015 +1.89 +1.7337501 +1.575 +1.4562501 +1.4100001 +1.44625 +1.55125 +1.6837499 +1.79375 +1.83 +1.7675002 +1.61125 +1.40125 +1.17125 +0.97875005 +0.84375 +0.75374997 +0.69375 +0.65125 +0.63125 +0.63875 +0.675 +0.7325 +0.78 +0.7975 +0.78125 +0.7587501 +0.7662499 +0.83124995 +0.94875 +1.0725 +1.1524999 +1.1575 +1.08375 +0.9699999 +0.86375 +0.7925 +0.7674999 +0.7687501 +0.765 +0.74375 +0.70124996 +0.64750004 +0.59999996 +0.58125 +0.605 +0.68 +0.81374997 +0.99250007 +1.19875 +1.4025 +1.5799999 +1.71375 +1.775 +1.7849998 +1.74875 +1.6812499 +1.60375 +1.5487499 +1.54 +1.5987501 +1.7187499 +1.87125 +2.02125 +2.13125 +2.18625 +2.2 +2.18625 +2.1675 +2.1425 +2.0975 +2.015 +1.89 +1.7337501 +1.575 +1.4562501 +1.4100001 +1.44625 +1.55125 +1.6837499 +1.79375 +1.83 +1.7675002 +1.61125 +1.40125 +1.17125 +0.97875005 +0.84375 +0.75374997 +0.69375 +0.65125 +0.63125 +0.63875 +0.675 +0.7325 +0.78 +0.7975 +0.78125 +0.7587501 +0.7662499 +0.83124995 +0.94875 +1.0725 +1.1524999 +0.95375 +0.85125 +0.70124996 +0.56874996 +0.495 +0.48375005 +0.50875 +0.52875 +0.52375 +0.48875 +0.44125003 +0.40250003 +0.39124998 +0.42125 +0.49374998 +0.60625005 +0.7624999 +0.94499993 +1.13875 +1.3212501 +1.4749999 +1.5775001 +1.6225 +1.6137499 +1.5587499 +1.4862499 +1.4337499 +1.4325 +1.50375 +1.64625 +1.83 +2.0175 +2.1662502 +2.26125 +2.29875 +2.29375 +2.2625 +2.20875 +2.12 +1.9912499 +1.8225 +1.6375 +1.46125 +1.335 +1.2875 +1.32375 +1.42625 +1.54625 +1.63625 +1.6474999 +1.5562501 +1.3799999 +1.15875 +0.94375 +0.775 +0.66125 +0.58875 +0.53249997 +0.48250002 +0.44624996 +0.43875 +0.46500003 +0.51 +0.53875 +0.53375 +0.49750003 +0.46249998 +0.47375 +0.5625 +0.7125 +0.86625 +0.96125 +0.95375 +0.85125 +0.70124996 +0.56874996 +0.495 +0.48375005 +0.50875 +0.52875 +0.52375 +0.48875 +0.44125003 +0.40250003 +0.39124998 +0.42125 +0.49374998 +0.60625005 +0.7624999 +0.94499993 +1.13875 +1.3212501 +1.4749999 +1.5775001 +1.6225 +1.6137499 +1.5587499 +1.4862499 +1.4337499 +1.4325 +1.50375 +1.64625 +1.83 +2.0175 +2.1662502 +2.26125 +2.29875 +2.29375 +2.2625 +2.20875 +2.12 +1.9912499 +1.8225 +1.6375 +1.46125 +1.335 +1.2875 +1.32375 +1.42625 +1.54625 +1.63625 +1.6474999 +1.5562501 +1.3799999 +1.15875 +0.94375 +0.775 +0.66125 +0.58875 +0.53249997 +0.48250002 +0.44624996 +0.43875 +0.46500003 +0.51 +0.53875 +0.53375 +0.49750003 +0.46249998 +0.47375 +0.5625 +0.7125 +0.86625 +0.96125 +0.69 +0.5675 +0.42125002 +0.31 +0.24749999 +0.23875 +0.26625 +0.29375002 +0.29625 +0.2725 +0.23500001 +0.20625001 +0.20750001 +0.25125003 +0.325 +0.425 +0.54749995 +0.69 +0.84999996 +1.0225 +1.1875 +1.3225 +1.41625 +1.455 +1.4462501 +1.41625 +1.39875 +1.4337499 +1.53625 +1.7062501 +1.9212499 +2.13875 +2.32125 +2.44625 +2.50625 +2.50875 +2.46375 +2.3775 +2.2475 +2.0775 +1.875 +1.6600001 +1.46375 +1.31625 +1.24125 +1.24375 +1.3037499 +1.38 +1.425 +1.39625 +1.28 +1.0925 +0.88374996 +0.69875 +0.565 +0.48250002 +0.42875004 +0.37124997 +0.30624998 +0.25375 +0.22625 +0.23874998 +0.27124998 +0.2925 +0.2875 +0.25625 +0.225 +0.2325 +0.30375 +0.43875 +0.60875 +0.70875 +0.69 +0.5675 +0.42125002 +0.31 +0.24749999 +0.23875 +0.26625 +0.29375002 +0.29625 +0.2725 +0.23500001 +0.20625001 +0.20750001 +0.25125003 +0.325 +0.425 +0.54749995 +0.69 +0.84999996 +1.0225 +1.1875 +1.3225 +1.41625 +1.455 +1.4462501 +1.41625 +1.39875 +1.4337499 +1.53625 +1.7062501 +1.9212499 +2.13875 +2.32125 +2.44625 +2.50625 +2.50875 +2.46375 +2.3775 +2.2475 +2.0775 +1.875 +1.6600001 +1.46375 +1.31625 +1.24125 +1.24375 +1.3037499 +1.38 +1.425 +1.39625 +1.28 +1.0925 +0.88374996 +0.69875 +0.565 +0.48250002 +0.42875004 +0.37124997 +0.30624998 +0.25375 +0.22625 +0.23874998 +0.27124998 +0.2925 +0.2875 +0.25625 +0.225 +0.2325 +0.30375 +0.43875 +0.60875 +0.70875 +0.42874998 +0.34499997 +0.2575 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.16875 +0.14125 +0.12 +0.1225 +0.1575 +0.22125 +0.29250002 +0.36375 +0.45250005 +0.5625 +0.70375 +0.87 +1.04 +1.1862501 +1.295 +1.365 +1.41125 +1.4637499 +1.5762501 +1.7349999 +1.9225 +2.13125 +2.3625 +2.56 +2.6975 +2.7675002 +2.7712498 +2.7124999 +2.605 +2.4475 +2.2525 +2.03375 +1.805 +1.59125 +1.43625 +1.325 +1.24875 +1.2112501 +1.2099999 +1.18625 +1.105 +0.96000004 +0.7725 +0.58500004 +0.44375 +0.36249998 +0.32375002 +0.29874998 +0.25875002 +0.20375 +0.14999999 +0.12125 +0.121249996 +0.1425 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.17 +0.24125001 +0.355 +0.44999996 +0.42874998 +0.34499997 +0.2575 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.16875 +0.14125 +0.12 +0.1225 +0.1575 +0.22125 +0.29250002 +0.36375 +0.45250005 +0.5625 +0.70375 +0.87 +1.04 +1.1862501 +1.295 +1.365 +1.41125 +1.4637499 +1.5762501 +1.7349999 +1.9225 +2.13125 +2.3625 +2.56 +2.6975 +2.7675002 +2.7712498 +2.7124999 +2.605 +2.4475 +2.2525 +2.03375 +1.805 +1.59125 +1.43625 +1.325 +1.24875 +1.2112501 +1.2099999 +1.18625 +1.105 +0.96000004 +0.7725 +0.58500004 +0.44375 +0.36249998 +0.32375002 +0.29874998 +0.25875002 +0.20375 +0.14999999 +0.12125 +0.121249996 +0.1425 +0.16875 +0.18375 +0.18125 +0.16625 +0.155 +0.17 +0.24125001 +0.355 +0.44999996 +0.26999998 +0.24375 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.21875 +0.23875 +0.24874999 +0.26625 +0.31875002 +0.4375 +0.62625 +0.80999994 +0.97625005 +1.14625 +1.295 +1.4325 +1.6012499 +1.7837499 +1.9725 +2.1675 +2.36125 +2.54625 +2.7137501 +2.84375 +2.9099998 +2.90875 +2.84625 +2.7250001 +2.5637498 +2.375 +2.16875 +1.96875 +1.7862499 +1.6175001 +1.4599999 +1.3125 +1.18 +1.0575001 +0.95500004 +0.82750005 +0.66625 +0.51124996 +0.36 +0.23000002 +0.1875 +0.20624998 +0.225 +0.23375 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.2125 +0.2625 +0.26999998 +0.24375 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.21875 +0.23875 +0.24874999 +0.26625 +0.31875002 +0.4375 +0.62625 +0.80999994 +0.97625005 +1.14625 +1.295 +1.4325 +1.6012499 +1.7837499 +1.9725 +2.1675 +2.36125 +2.54625 +2.7137501 +2.84375 +2.9099998 +2.90875 +2.84625 +2.7250001 +2.5637498 +2.375 +2.16875 +1.96875 +1.7862499 +1.6175001 +1.4599999 +1.3125 +1.18 +1.0575001 +0.95500004 +0.82750005 +0.66625 +0.51124996 +0.36 +0.23000002 +0.1875 +0.20624998 +0.225 +0.23375 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.16 +0.2125 +0.2625 +0.225 +0.1925 +0.1525 +0.11125 +0.09 +0.09875 +0.13624999 +0.17875 +0.18875 +0.18 +0.16875 +0.16875 +0.1925 +0.23375 +0.2725 +0.2775 +0.2325 +0.17625 +0.175 +0.28875 +0.4675 +0.65375 +0.83875 +1.0237501 +1.2199999 +1.4275001 +1.64 +1.84875 +2.04 +2.21 +2.3624997 +2.505 +2.6325 +2.7350001 +2.7975001 +2.79875 +2.7375002 +2.6187499 +2.4675 +2.305 +2.1475 +1.9937499 +1.8412498 +1.6762501 +1.495 +1.30625 +1.1200001 +0.9475 +0.79125005 +0.64375 +0.495 +0.35250002 +0.22125 +0.11 +0.083749995 +0.15374999 +0.2325 +0.2775 +0.2725 +0.23375 +0.1925 +0.16875 +0.17 +0.185 +0.18375 +0.16375 +0.13 +0.09875 +0.09 +0.11125 +0.16875 +0.22 +0.225 +0.1925 +0.1525 +0.11125 +0.09 +0.09875 +0.13624999 +0.17875 +0.18875 +0.18 +0.16875 +0.16875 +0.1925 +0.23375 +0.2725 +0.2775 +0.2325 +0.17625 +0.175 +0.28875 +0.4675 +0.65375 +0.83875 +1.0237501 +1.2199999 +1.4275001 +1.64 +1.84875 +2.04 +2.21 +2.3624997 +2.505 +2.6325 +2.7350001 +2.7975001 +2.79875 +2.7375002 +2.6187499 +2.4675 +2.305 +2.1475 +1.9937499 +1.8412498 +1.6762501 +1.495 +1.30625 +1.1200001 +0.9475 +0.79125005 +0.64375 +0.495 +0.35250002 +0.22125 +0.11 +0.083749995 +0.15374999 +0.2325 +0.2775 +0.2725 +0.23375 +0.1925 +0.16875 +0.17 +0.185 +0.18375 +0.16375 +0.13 +0.09875 +0.09 +0.11125 +0.16875 +0.22 +0.28875 +0.22625001 +0.15374999 +0.09875 +0.08499999 +0.118750006 +0.1825 +0.22999999 +0.23374999 +0.2075 +0.18375 +0.19625 +0.23625 +0.2925 +0.3375 +0.34 +0.28375 +0.19874999 +0.17625 +0.26375 +0.42249998 +0.58000004 +0.7349999 +0.89875007 +1.0825 +1.2837499 +1.4912498 +1.68125 +1.8362501 +1.94875 +2.03375 +2.1125002 +2.1950002 +2.26875 +2.32 +2.3225 +2.26625 +2.16375 +2.04125 +1.92625 +1.8325 +1.74875 +1.6575 +1.5325 +1.3687501 +1.1825 +0.99375004 +0.82624996 +0.69125 +0.56875 +0.44625 +0.32125 +0.19625 +0.08375 +0.076249994 +0.17875 +0.28375 +0.34 +0.3375 +0.2925 +0.23875 +0.21750002 +0.22125001 +0.23499998 +0.225 +0.18249999 +0.13 +0.09125 +0.0925 +0.14375001 +0.23125 +0.295 +0.28875 +0.22625001 +0.15374999 +0.09875 +0.08499999 +0.118750006 +0.1825 +0.22999999 +0.23374999 +0.2075 +0.18375 +0.19625 +0.23625 +0.2925 +0.3375 +0.34 +0.28375 +0.19874999 +0.17625 +0.26375 +0.42249998 +0.58000004 +0.7349999 +0.89875007 +1.0825 +1.2837499 +1.4912498 +1.68125 +1.8362501 +1.94875 +2.03375 +2.1125002 +2.1950002 +2.26875 +2.32 +2.3225 +2.26625 +2.16375 +2.04125 +1.92625 +1.8325 +1.74875 +1.6575 +1.5325 +1.3687501 +1.1825 +0.99375004 +0.82624996 +0.69125 +0.56875 +0.44625 +0.32125 +0.19625 +0.08375 +0.076249994 +0.17875 +0.28375 +0.34 +0.3375 +0.2925 +0.23875 +0.21750002 +0.22125001 +0.23499998 +0.225 +0.18249999 +0.13 +0.09125 +0.0925 +0.14375001 +0.23125 +0.295 +0.48875004 +0.41375 +0.30875003 +0.23374999 +0.215 +0.25625 +0.31875 +0.35875 +0.35250005 +0.30625 +0.26125 +0.25625 +0.29125 +0.3525 +0.405 +0.40875 +0.35 +0.30375 +0.31124997 +0.36374998 +0.49 +0.59250003 +0.69875 +0.82 +0.94 +1.0662501 +1.1899999 +1.3275001 +1.415 +1.45375 +1.4962499 +1.5337499 +1.5762501 +1.61875 +1.64125 +1.6387501 +1.59125 +1.50125 +1.41375 +1.3725001 +1.3612499 +1.3575 +1.3225 +1.22875 +1.115 +0.97 +0.8262501 +0.74875003 +0.70125 +0.6425 +0.54125 +0.41875 +0.28875002 +0.155 +0.14375001 +0.23125 +0.345 +0.40875 +0.41625 +0.38624996 +0.345 +0.33 +0.345 +0.36 +0.34875 +0.305 +0.24875 +0.22125 +0.24999999 +0.33375 +0.4325 +0.4975 +0.48875004 +0.41375 +0.30875003 +0.23374999 +0.215 +0.25625 +0.31875 +0.35875 +0.35250005 +0.30625 +0.26125 +0.25625 +0.29125 +0.3525 +0.405 +0.40875 +0.35 +0.30375 +0.31124997 +0.36374998 +0.49 +0.59250003 +0.69875 +0.82 +0.94 +1.0662501 +1.1899999 +1.3275001 +1.415 +1.45375 +1.4962499 +1.5337499 +1.5762501 +1.61875 +1.64125 +1.6387501 +1.59125 +1.50125 +1.41375 +1.3725001 +1.3612499 +1.3575 +1.3225 +1.22875 +1.115 +0.97 +0.8262501 +0.74875003 +0.70125 +0.6425 +0.54125 +0.41875 +0.28875002 +0.155 +0.14375001 +0.23125 +0.345 +0.40875 +0.41625 +0.38624996 +0.345 +0.33 +0.345 +0.36 +0.34875 +0.305 +0.24875 +0.22125 +0.24999999 +0.33375 +0.4325 +0.4975 +0.6925 +0.63125 +0.5425 +0.45875 +0.41500002 +0.4125 +0.43875003 +0.4625 +0.4675 +0.44875002 +0.4225 +0.4025 +0.40375 +0.42874998 +0.46 +0.46375 +0.44124997 +0.45499998 +0.5025 +0.56374997 +0.62875 +0.6825 +0.71999997 +0.7475 +0.78625 +0.84124994 +0.90500003 +0.95875007 +0.98125 +0.97 +0.94625 +0.94000006 +0.96500003 +1.01375 +1.055 +1.0550001 +1.00375 +0.91875 +0.84624994 +0.82624996 +0.86375 +0.9274999 +0.96875 +0.94750005 +0.87000006 +0.77500004 +0.71250004 +0.71000004 +0.74875 +0.77250004 +0.73375 +0.61625004 +0.45499998 +0.3125 +0.24749999 +0.29125 +0.3975 +0.49124998 +0.545 +0.55125004 +0.52625 +0.4925 +0.475 +0.47125 +0.46875 +0.45875 +0.44875002 +0.45000002 +0.4875 +0.55875003 +0.64125 +0.6925 +0.6925 +0.63125 +0.5425 +0.45875 +0.41500002 +0.4125 +0.43875003 +0.4625 +0.4675 +0.44875002 +0.4225 +0.4025 +0.40375 +0.42874998 +0.46 +0.46375 +0.44124997 +0.45499998 +0.5025 +0.56374997 +0.62875 +0.6825 +0.71999997 +0.7475 +0.78625 +0.84124994 +0.90500003 +0.95875007 +0.98125 +0.97 +0.94625 +0.94000006 +0.96500003 +1.01375 +1.055 +1.0550001 +1.00375 +0.91875 +0.84624994 +0.82624996 +0.86375 +0.9274999 +0.96875 +0.94750005 +0.87000006 +0.77500004 +0.71250004 +0.71000004 +0.74875 +0.77250004 +0.73375 +0.61625004 +0.45499998 +0.3125 +0.24749999 +0.29125 +0.3975 +0.49124998 +0.545 +0.55125004 +0.52625 +0.4925 +0.475 +0.47125 +0.46875 +0.45875 +0.44875002 +0.45000002 +0.4875 +0.55875003 +0.64125 +0.6925 +0.7587501 +0.72875 +0.67 +0.595 +0.53375006 +0.49625 +0.49124998 +0.51124996 +0.54375 +0.5775 +0.6 +0.60125 +0.58124995 +0.54499996 +0.5125 +0.49625 +0.50625 +0.55625004 +0.63374996 +0.70625 +0.74249995 +0.73125 +0.68375 +0.62874997 +0.60125005 +0.60999995 +0.63874996 +0.65250003 +0.62625 +0.565 +0.50250006 +0.48375002 +0.52875 +0.61875 +0.70624995 +0.73625004 +0.68125004 +0.57 +0.46124998 +0.42000002 +0.4675 +0.5675 +0.65875 +0.69124997 +0.65375 +0.59499997 +0.57375 +0.62375 +0.73375 +0.83624995 +0.8612499 +0.77375007 +0.59999996 +0.42 +0.31624997 +0.3275 +0.44124997 +0.59125 +0.70875 +0.75374997 +0.72249997 +0.64875 +0.57875 +0.53625 +0.52875 +0.545 +0.56875 +0.59499997 +0.63249993 +0.6725 +0.71875 +0.75250006 +0.7587501 +0.72875 +0.67 +0.595 +0.53375006 +0.49625 +0.49124998 +0.51124996 +0.54375 +0.5775 +0.6 +0.60125 +0.58124995 +0.54499996 +0.5125 +0.49625 +0.50625 +0.55625004 +0.63374996 +0.70625 +0.74249995 +0.73125 +0.68375 +0.62874997 +0.60125005 +0.60999995 +0.63874996 +0.65250003 +0.62625 +0.565 +0.50250006 +0.48375002 +0.52875 +0.61875 +0.70624995 +0.73625004 +0.68125004 +0.57 +0.46124998 +0.42000002 +0.4675 +0.5675 +0.65875 +0.69124997 +0.65375 +0.59499997 +0.57375 +0.62375 +0.73375 +0.83624995 +0.8612499 +0.77375007 +0.59999996 +0.42 +0.31624997 +0.3275 +0.44124997 +0.59125 +0.70875 +0.75374997 +0.72249997 +0.64875 +0.57875 +0.53625 +0.52875 +0.545 +0.56875 +0.59499997 +0.63249993 +0.6725 +0.71875 +0.75250006 +0.63125 +0.64374995 +0.635 +0.59250003 +0.53249997 +0.48000002 +0.45999998 +0.49124998 +0.5725 +0.67499995 +0.75874996 +0.78875 +0.75249994 +0.65999997 +0.55499995 +0.48999998 +0.48 +0.53625 +0.625 +0.69000006 +0.69375 +0.62625 +0.5175 +0.41500005 +0.36624998 +0.37249997 +0.40625 +0.41625 +0.37375003 +0.28875 +0.2175 +0.21374999 +0.3075 +0.46875 +0.61875 +0.6825 +0.62 +0.45999998 +0.29 +0.1925 +0.21374999 +0.31124997 +0.42374998 +0.47875 +0.45499998 +0.39624998 +0.3725 +0.435 +0.57875 +0.73125 +0.81 +0.7575 +0.59375 +0.4025 +0.28499997 +0.31 +0.45499998 +0.67125 +0.85749996 +0.93875 +0.89874995 +0.77625 +0.63874996 +0.545 +0.515 +0.54 +0.58125 +0.61 +0.61875 +0.61125 +0.60375 +0.6125 +0.63125 +0.64374995 +0.635 +0.59250003 +0.53249997 +0.48000002 +0.45999998 +0.49124998 +0.5725 +0.67499995 +0.75874996 +0.78875 +0.75249994 +0.65999997 +0.55499995 +0.48999998 +0.48 +0.53625 +0.625 +0.69000006 +0.69375 +0.62625 +0.5175 +0.41500005 +0.36624998 +0.37249997 +0.40625 +0.41625 +0.37375003 +0.28875 +0.2175 +0.21374999 +0.3075 +0.46875 +0.61875 +0.6825 +0.62 +0.45999998 +0.29 +0.1925 +0.21374999 +0.31124997 +0.42374998 +0.47875 +0.45499998 +0.39624998 +0.3725 +0.435 +0.57875 +0.73125 +0.81 +0.7575 +0.59375 +0.4025 +0.28499997 +0.31 +0.45499998 +0.67125 +0.85749996 +0.93875 +0.89874995 +0.77625 +0.63874996 +0.545 +0.515 +0.54 +0.58125 +0.61 +0.61875 +0.61125 +0.60375 +0.6125 +0.36124998 +0.41250002 +0.4675 +0.47625 +0.43375 +0.3775 +0.35250002 +0.40625 +0.5425 +0.72124994 +0.875 +0.9412499 +0.88874996 +0.73749995 +0.555 +0.43249997 +0.38625 +0.4 +0.4725 +0.5175 +0.5175 +0.39125 +0.22874999 +0.16125001 +0.13125 +0.13999999 +0.1975 +0.25875 +0.21999998 +0.1125 +0.06125 +0.082499996 +0.23 +0.465 +0.68375003 +0.795 +0.72875 +0.5075 +0.24875 +0.085 +0.07625 +0.13375 +0.24249999 +0.29749998 +0.28375 +0.19749999 +0.13 +0.1725 +0.28375 +0.46 +0.57625 +0.58625 +0.46999997 +0.2625 +0.17125 +0.24374999 +0.42374998 +0.70875 +0.96 +1.0775 +1.02875 +0.85374993 +0.64374995 +0.48874998 +0.42625 +0.44500002 +0.49125 +0.51 +0.47500002 +0.405 +0.3425 +0.33875 +0.36124998 +0.41250002 +0.4675 +0.47625 +0.43375 +0.3775 +0.35250002 +0.40625 +0.5425 +0.72124994 +0.875 +0.9412499 +0.88874996 +0.73749995 +0.555 +0.43249997 +0.38625 +0.4 +0.4725 +0.5175 +0.5175 +0.39125 +0.22874999 +0.16125001 +0.13125 +0.13999999 +0.1975 +0.25875 +0.21999998 +0.1125 +0.06125 +0.082499996 +0.23 +0.465 +0.68375003 +0.795 +0.72875 +0.5075 +0.24875 +0.085 +0.07625 +0.13375 +0.24249999 +0.29749998 +0.28375 +0.19749999 +0.13 +0.1725 +0.28375 +0.46 +0.57625 +0.58625 +0.46999997 +0.2625 +0.17125 +0.24374999 +0.42374998 +0.70875 +0.96 +1.0775 +1.02875 +0.85374993 +0.64374995 +0.48874998 +0.42625 +0.44500002 +0.49125 +0.51 +0.47500002 +0.405 +0.3425 +0.33875 +0.17875 +0.21374999 +0.27875 +0.33125 +0.305 +0.24249999 +0.21625 +0.28375003 +0.46750003 +0.71625 +0.93875 +1.0412499 +0.97999996 +0.78624994 +0.5375 +0.365 +0.29375 +0.245 +0.27250004 +0.31875 +0.29 +0.14625001 +0.04 +0.0025 +0.00375 +0.01625 +0.08875 +0.18375002 +0.16499999 +0.065 +0.005 +0.025 +0.2025 +0.505 +0.7975 +0.94124997 +0.865 +0.6025 +0.2725 +0.0425 +0.0025 +0.028749999 +0.13374999 +0.21625 +0.18125 +0.07125 +0.0075 +0.0075 +0.048750002 +0.14375001 +0.3 +0.36875 +0.29125 +0.11750001 +0.0775 +0.18249999 +0.38375002 +0.71999997 +1.02125 +1.1612501 +1.09625 +0.87250006 +0.59875 +0.3875 +0.29875 +0.3075 +0.35625 +0.365 +0.29625002 +0.1875 +0.14375 +0.15375 +0.17875 +0.21374999 +0.27875 +0.33125 +0.305 +0.24249999 +0.21625 +0.28375003 +0.46750003 +0.71625 +0.93875 +1.0412499 +0.97999996 +0.78624994 +0.5375 +0.365 +0.29375 +0.245 +0.27250004 +0.31875 +0.29 +0.14625001 +0.04 +0.0025 +0.00375 +0.01625 +0.08875 +0.18375002 +0.16499999 +0.065 +0.005 +0.025 +0.2025 +0.505 +0.7975 +0.94124997 +0.865 +0.6025 +0.2725 +0.0425 +0.0025 +0.028749999 +0.13374999 +0.21625 +0.18125 +0.07125 +0.0075 +0.0075 +0.048750002 +0.14375001 +0.3 +0.36875 +0.29125 +0.11750001 +0.0775 +0.18249999 +0.38375002 +0.71999997 +1.02125 +1.1612501 +1.09625 +0.87250006 +0.59875 +0.3875 +0.29875 +0.3075 +0.35625 +0.365 +0.29625002 +0.1875 +0.14375 +0.15375 +0.20875 +0.19749999 +0.21249999 +0.26749998 +0.23625001 +0.15750001 +0.13875 +0.1975 +0.37624997 +0.67375 +0.94749993 +1.085 +1.035 +0.82 +0.535 +0.32375002 +0.2325 +0.16499999 +0.15124999 +0.17500001 +0.12125 +0.0275 +0.0 +0.0 +0.0 +0.00125 +0.045 +0.14125001 +0.135 +0.04875 +0.0 +0.02875 +0.2125 +0.53125 +0.835 +0.985 +0.90250003 +0.625 +0.27625 +0.040000003 +0.0 +0.01375 +0.09625 +0.17 +0.11875 +0.0275 +0.0 +0.0 +0.0 +0.02625 +0.10375 +0.19125 +0.1525 +0.041249998 +0.0425 +0.15124999 +0.36749998 +0.7275 +1.04875 +1.18875 +1.10375 +0.8425 +0.52250004 +0.28500003 +0.20625001 +0.20750001 +0.25375003 +0.27 +0.1925 +0.1275 +0.1525 +0.1925 +0.20875 +0.19749999 +0.21249999 +0.26749998 +0.23625001 +0.15750001 +0.13875 +0.1975 +0.37624997 +0.67375 +0.94749993 +1.085 +1.035 +0.82 +0.535 +0.32375002 +0.2325 +0.16499999 +0.15124999 +0.17500001 +0.12125 +0.0275 +0.0 +0.0 +0.0 +0.00125 +0.045 +0.14125001 +0.135 +0.04875 +0.0 +0.02875 +0.2125 +0.53125 +0.835 +0.985 +0.90250003 +0.625 +0.27625 +0.040000003 +0.0 +0.01375 +0.09625 +0.17 +0.11875 +0.0275 +0.0 +0.0 +0.0 +0.02625 +0.10375 +0.19125 +0.1525 +0.041249998 +0.0425 +0.15124999 +0.36749998 +0.7275 +1.04875 +1.18875 +1.10375 +0.8425 +0.52250004 +0.28500003 +0.20625001 +0.20750001 +0.25375003 +0.27 +0.1925 +0.1275 +0.1525 +0.1925 +0.26 +0.24875 +0.30749997 +0.3425 +0.28375003 +0.17625001 +0.155 +0.18624999 +0.3175 +0.62375003 +0.92499995 +1.0875 +1.0562501 +0.84999996 +0.565 +0.33124998 +0.21625 +0.17750001 +0.17375 +0.16375 +0.1025 +0.01875 +0.0 +0.0175 +0.0175 +0.0 +0.057499997 +0.14625 +0.14500001 +0.06 +0.00875 +0.0375 +0.2175 +0.51750004 +0.7975 +0.93125004 +0.85 +0.5875 +0.26625 +0.0475 +0.00625 +0.0175 +0.10875001 +0.17750001 +0.12375001 +0.03 +0.0 +0.0 +0.0175 +0.02 +0.05125 +0.13749999 +0.125 +0.044999998 +0.055 +0.16000001 +0.39375 +0.74499995 +1.0487499 +1.1737499 +1.06875 +0.78624994 +0.4525 +0.23249999 +0.18875 +0.19 +0.24625002 +0.29 +0.245 +0.1775 +0.20375 +0.24375 +0.26 +0.24875 +0.30749997 +0.3425 +0.28375003 +0.17625001 +0.155 +0.18624999 +0.3175 +0.62375003 +0.92499995 +1.0875 +1.0562501 +0.84999996 +0.565 +0.33124998 +0.21625 +0.17750001 +0.17375 +0.16375 +0.1025 +0.01875 +0.0 +0.0175 +0.0175 +0.0 +0.057499997 +0.14625 +0.14500001 +0.06 +0.00875 +0.0375 +0.2175 +0.51750004 +0.7975 +0.93125004 +0.85 +0.5875 +0.26625 +0.0475 +0.00625 +0.0175 +0.10875001 +0.17750001 +0.12375001 +0.03 +0.0 +0.0 +0.0175 +0.02 +0.05125 +0.13749999 +0.125 +0.044999998 +0.055 +0.16000001 +0.39375 +0.74499995 +1.0487499 +1.1737499 +1.06875 +0.78624994 +0.4525 +0.23249999 +0.18875 +0.19 +0.24625002 +0.29 +0.245 +0.1775 +0.20375 +0.24375 +0.34625003 +0.41375 +0.505 +0.52750003 +0.42250004 +0.25875 +0.1725 +0.1825 +0.3025 +0.58625 +0.88124996 +1.05 +1.0337499 +0.85124993 +0.59625 +0.37875 +0.26999998 +0.26000002 +0.29 +0.285 +0.20125 +0.09375 +0.0625 +0.07625 +0.07875 +0.0725 +0.1325 +0.21000001 +0.20875 +0.12875001 +0.07 +0.12625 +0.29749998 +0.5575 +0.795 +0.90500003 +0.8325 +0.61375 +0.33875 +0.145 +0.082499996 +0.10875 +0.1825 +0.24375002 +0.195 +0.072500005 +0.015 +0.05375 +0.07875 +0.085 +0.1425 +0.20625 +0.19 +0.13 +0.1125 +0.20375001 +0.43375 +0.74375 +1.0099999 +1.11 +1.0012499 +0.72499996 +0.40625 +0.21125 +0.18375 +0.2125 +0.31875 +0.41 +0.40124997 +0.3275 +0.29000002 +0.30874997 +0.34625003 +0.41375 +0.505 +0.52750003 +0.42250004 +0.25875 +0.1725 +0.1825 +0.3025 +0.58625 +0.88124996 +1.05 +1.0337499 +0.85124993 +0.59625 +0.37875 +0.26999998 +0.26000002 +0.29 +0.285 +0.20125 +0.09375 +0.0625 +0.07625 +0.07875 +0.0725 +0.1325 +0.21000001 +0.20875 +0.12875001 +0.07 +0.12625 +0.29749998 +0.5575 +0.795 +0.90500003 +0.8325 +0.61375 +0.33875 +0.145 +0.082499996 +0.10875 +0.1825 +0.24375002 +0.195 +0.072500005 +0.015 +0.05375 +0.07875 +0.085 +0.1425 +0.20625 +0.19 +0.13 +0.1125 +0.20375001 +0.43375 +0.74375 +1.0099999 +1.11 +1.0012499 +0.72499996 +0.40625 +0.21125 +0.18375 +0.2125 +0.31875 +0.41 +0.40124997 +0.3275 +0.29000002 +0.30874997 +0.54625005 +0.6624999 +0.74500006 +0.725 +0.58000004 +0.37 +0.21875 +0.19375001 +0.31375003 +0.56125 +0.81875 +0.9675 +0.9475 +0.78625 +0.5675 +0.39124998 +0.31500003 +0.33124998 +0.385 +0.40499997 +0.35125002 +0.2375 +0.14874999 +0.13875 +0.14249998 +0.18375 +0.26125 +0.31875 +0.31374997 +0.2625 +0.23000002 +0.27124998 +0.40750003 +0.60625005 +0.78625 +0.8675 +0.81125003 +0.6424999 +0.43625 +0.28 +0.22875 +0.26624998 +0.33375004 +0.35625 +0.2975 +0.1725 +0.09375 +0.11125 +0.13125 +0.1675 +0.25125 +0.30874997 +0.2825 +0.20875 +0.16749999 +0.23374999 +0.4225 +0.67999995 +0.90375006 +0.98999995 +0.895 +0.65875 +0.38875002 +0.21500002 +0.1825 +0.27 +0.42375004 +0.55375 +0.59375 +0.55125 +0.4875 +0.47625002 +0.54625005 +0.6624999 +0.74500006 +0.725 +0.58000004 +0.37 +0.21875 +0.19375001 +0.31375003 +0.56125 +0.81875 +0.9675 +0.9475 +0.78625 +0.5675 +0.39124998 +0.31500003 +0.33124998 +0.385 +0.40499997 +0.35125002 +0.2375 +0.14874999 +0.13875 +0.14249998 +0.18375 +0.26125 +0.31875 +0.31374997 +0.2625 +0.23000002 +0.27124998 +0.40750003 +0.60625005 +0.78625 +0.8675 +0.81125003 +0.6424999 +0.43625 +0.28 +0.22875 +0.26624998 +0.33375004 +0.35625 +0.2975 +0.1725 +0.09375 +0.11125 +0.13125 +0.1675 +0.25125 +0.30874997 +0.2825 +0.20875 +0.16749999 +0.23374999 +0.4225 +0.67999995 +0.90375006 +0.98999995 +0.895 +0.65875 +0.38875002 +0.21500002 +0.1825 +0.27 +0.42375004 +0.55375 +0.59375 +0.55125 +0.4875 +0.47625002 +0.74625 +0.83375 +0.87999994 +0.82875 +0.6675 +0.455 +0.28625003 +0.23625001 +0.33375 +0.53000003 +0.72875 +0.8312501 +0.79124993 +0.6375 +0.445 +0.29625002 +0.245 +0.28 +0.35 +0.39249998 +0.37 +0.29 +0.20124999 +0.16749999 +0.17499998 +0.225 +0.30500004 +0.36374998 +0.37500003 +0.35250002 +0.33499998 +0.37000003 +0.46625 +0.60249996 +0.725 +0.77875 +0.74 +0.62375003 +0.48625004 +0.38500002 +0.35375 +0.38 +0.4175 +0.41875 +0.35375002 +0.24000001 +0.1475 +0.13 +0.14625 +0.19375 +0.27375 +0.30125004 +0.25875002 +0.17625 +0.1275 +0.17124999 +0.31125 +0.5275 +0.72375 +0.81125 +0.75374997 +0.57875 +0.375 +0.23750001 +0.22625001 +0.335 +0.49999997 +0.64 +0.70500004 +0.70124996 +0.6762499 +0.68375003 +0.74625 +0.83375 +0.87999994 +0.82875 +0.6675 +0.455 +0.28625003 +0.23625001 +0.33375 +0.53000003 +0.72875 +0.8312501 +0.79124993 +0.6375 +0.445 +0.29625002 +0.245 +0.28 +0.35 +0.39249998 +0.37 +0.29 +0.20124999 +0.16749999 +0.17499998 +0.225 +0.30500004 +0.36374998 +0.37500003 +0.35250002 +0.33499998 +0.37000003 +0.46625 +0.60249996 +0.725 +0.77875 +0.74 +0.62375003 +0.48625004 +0.38500002 +0.35375 +0.38 +0.4175 +0.41875 +0.35375002 +0.24000001 +0.1475 +0.13 +0.14625 +0.19375 +0.27375 +0.30125004 +0.25875002 +0.17625 +0.1275 +0.17124999 +0.31125 +0.5275 +0.72375 +0.81125 +0.75374997 +0.57875 +0.375 +0.23750001 +0.22625001 +0.335 +0.49999997 +0.64 +0.70500004 +0.70124996 +0.6762499 +0.68375003 +0.77500004 +0.83624995 +0.85749996 +0.795 +0.64750004 +0.46375 +0.31875002 +0.27125 +0.34 +0.48 +0.6125 +0.66125005 +0.59375 +0.435 +0.2525 +0.14 +0.113749996 +0.1325 +0.18875001 +0.2475 +0.25125 +0.18999998 +0.13125001 +0.113749996 +0.12875 +0.15875 +0.22000001 +0.28625 +0.31875 +0.32250002 +0.325 +0.35375002 +0.42374998 +0.51624995 +0.6025 +0.63875 +0.61875004 +0.54625 +0.46124998 +0.39749998 +0.37749997 +0.39000002 +0.40500003 +0.38000003 +0.30625 +0.20250002 +0.13 +0.11 +0.11625 +0.1475 +0.19874999 +0.20125 +0.15125 +0.06875 +0.03875 +0.06625 +0.14874999 +0.3275 +0.5075 +0.6075 +0.59499997 +0.48624998 +0.35125 +0.265 +0.27374998 +0.37000003 +0.5125 +0.6325 +0.69624996 +0.71 +0.7049999 +0.72375 +0.77500004 +0.83624995 +0.85749996 +0.795 +0.64750004 +0.46375 +0.31875002 +0.27125 +0.34 +0.48 +0.6125 +0.66125005 +0.59375 +0.435 +0.2525 +0.14 +0.113749996 +0.1325 +0.18875001 +0.2475 +0.25125 +0.18999998 +0.13125001 +0.113749996 +0.12875 +0.15875 +0.22000001 +0.28625 +0.31875 +0.32250002 +0.325 +0.35375002 +0.42374998 +0.51624995 +0.6025 +0.63875 +0.61875004 +0.54625 +0.46124998 +0.39749998 +0.37749997 +0.39000002 +0.40500003 +0.38000003 +0.30625 +0.20250002 +0.13 +0.11 +0.11625 +0.1475 +0.19874999 +0.20125 +0.15125 +0.06875 +0.03875 +0.06625 +0.14874999 +0.3275 +0.5075 +0.6075 +0.59499997 +0.48624998 +0.35125 +0.265 +0.27374998 +0.37000003 +0.5125 +0.6325 +0.69624996 +0.71 +0.7049999 +0.72375 +0.70124996 +0.74125004 +0.74625 +0.6875 +0.56624997 +0.4225 +0.3125 +0.27749997 +0.325 +0.42000002 +0.5 +0.50874996 +0.425 +0.26125 +0.09375 +0.035 +0.0325 +0.02125 +0.0725 +0.1575 +0.17875001 +0.118750006 +0.033749998 +0.0425 +0.06375 +0.07625 +0.112500004 +0.17500001 +0.235 +0.24249999 +0.25125 +0.27875 +0.33749998 +0.4175 +0.49625 +0.53999996 +0.53499997 +0.4875 +0.42374998 +0.37625 +0.36125 +0.36374998 +0.36499998 +0.33750004 +0.2775 +0.1725 +0.111250006 +0.10250001 +0.120000005 +0.15625 +0.18625 +0.21249999 +0.16 +0.06875 +0.02125 +0.015 +0.054999996 +0.1825 +0.34624997 +0.45125 +0.47 +0.41250002 +0.33374998 +0.2875 +0.30625 +0.38375 +0.48875 +0.57625 +0.625 +0.64000005 +0.64124995 +0.66125 +0.70124996 +0.74125004 +0.74625 +0.6875 +0.56624997 +0.4225 +0.3125 +0.27749997 +0.325 +0.42000002 +0.5 +0.50874996 +0.425 +0.26125 +0.09375 +0.035 +0.0325 +0.02125 +0.0725 +0.1575 +0.17875001 +0.118750006 +0.033749998 +0.0425 +0.06375 +0.07625 +0.112500004 +0.17500001 +0.235 +0.24249999 +0.25125 +0.27875 +0.33749998 +0.4175 +0.49625 +0.53999996 +0.53499997 +0.4875 +0.42374998 +0.37625 +0.36125 +0.36374998 +0.36499998 +0.33750004 +0.2775 +0.1725 +0.111250006 +0.10250001 +0.120000005 +0.15625 +0.18625 +0.21249999 +0.16 +0.06875 +0.02125 +0.015 +0.054999996 +0.1825 +0.34624997 +0.45125 +0.47 +0.41250002 +0.33374998 +0.2875 +0.30625 +0.38375 +0.48875 +0.57625 +0.625 +0.64000005 +0.64124995 +0.66125 +0.66 +0.6825 +0.675 +0.61875 +0.51874995 +0.4075 +0.32 +0.2875 +0.3175 +0.38375002 +0.43875 +0.44750002 +0.38 +0.23499998 +0.0875 +0.022499999 +0.023750002 +0.05375 +0.14625 +0.26125 +0.305 +0.25625 +0.16250001 +0.091249995 +0.08375 +0.0975 +0.1525 +0.23875001 +0.29125 +0.29125002 +0.26375002 +0.28125 +0.35125 +0.45 +0.55375 +0.62 +0.63 +0.58625 +0.51625 +0.45749998 +0.43374997 +0.43624997 +0.45625 +0.47500002 +0.4375 +0.35875 +0.28875 +0.28125 +0.335 +0.4075 +0.49249998 +0.50375 +0.42000002 +0.275 +0.14875 +0.09375 +0.11 +0.2125 +0.34375003 +0.445 +0.46625 +0.4175 +0.355 +0.33249998 +0.35999998 +0.42624998 +0.50625 +0.57 +0.6025 +0.6125 +0.61625 +0.63 +0.66 +0.6825 +0.675 +0.61875 +0.51874995 +0.4075 +0.32 +0.2875 +0.3175 +0.38375002 +0.43875 +0.44750002 +0.38 +0.23499998 +0.0875 +0.022499999 +0.023750002 +0.05375 +0.14625 +0.26125 +0.305 +0.25625 +0.16250001 +0.091249995 +0.08375 +0.0975 +0.1525 +0.23875001 +0.29125 +0.29125002 +0.26375002 +0.28125 +0.35125 +0.45 +0.55375 +0.62 +0.63 +0.58625 +0.51625 +0.45749998 +0.43374997 +0.43624997 +0.45625 +0.47500002 +0.4375 +0.35875 +0.28875 +0.28125 +0.335 +0.4075 +0.49249998 +0.50375 +0.42000002 +0.275 +0.14875 +0.09375 +0.11 +0.2125 +0.34375003 +0.445 +0.46625 +0.4175 +0.355 +0.33249998 +0.35999998 +0.42624998 +0.50625 +0.57 +0.6025 +0.6125 +0.61625 +0.63 +0.75125 +0.76 +0.74125 +0.68375 +0.5875 +0.48125 +0.39000002 +0.34124997 +0.34875003 +0.4025 +0.46375 +0.50625 +0.47375 +0.36999997 +0.24 +0.1625 +0.17999999 +0.30125 +0.4925 +0.66375 +0.745 +0.70874995 +0.58875 +0.45749998 +0.38875002 +0.395 +0.46124998 +0.53000003 +0.55625004 +0.525 +0.47499996 +0.48 +0.57 +0.71375 +0.86625 +0.9699999 +0.98999995 +0.92749995 +0.82250005 +0.7325 +0.6925 +0.70625 +0.7649999 +0.8225 +0.8275 +0.795 +0.77250004 +0.8037499 +0.91 +1.045 +1.14375 +1.13625 +1.00125 +0.78125006 +0.55625004 +0.40875003 +0.37999997 +0.445 +0.53875 +0.5975 +0.58625 +0.52 +0.44499996 +0.42875 +0.4675 +0.54375 +0.62624997 +0.6875 +0.71624994 +0.72374994 +0.72624993 +0.7362499 +0.75125 +0.76 +0.74125 +0.68375 +0.5875 +0.48125 +0.39000002 +0.34124997 +0.34875003 +0.4025 +0.46375 +0.50625 +0.47375 +0.36999997 +0.24 +0.1625 +0.17999999 +0.30125 +0.4925 +0.66375 +0.745 +0.70874995 +0.58875 +0.45749998 +0.38875002 +0.395 +0.46124998 +0.53000003 +0.55625004 +0.525 +0.47499996 +0.48 +0.57 +0.71375 +0.86625 +0.9699999 +0.98999995 +0.92749995 +0.82250005 +0.7325 +0.6925 +0.70625 +0.7649999 +0.8225 +0.8275 +0.795 +0.77250004 +0.8037499 +0.91 +1.045 +1.14375 +1.13625 +1.00125 +0.78125006 +0.55625004 +0.40875003 +0.37999997 +0.445 +0.53875 +0.5975 +0.58625 +0.52 +0.44499996 +0.42875 +0.4675 +0.54375 +0.62624997 +0.6875 +0.71624994 +0.72374994 +0.72624993 +0.7362499 +0.96375 +0.96125 +0.93750006 +0.87499994 +0.77375 +0.6475 +0.52500004 +0.44 +0.42125002 +0.46875 +0.5575 +0.64625 +0.66875 +0.61125 +0.525 +0.485 +0.5475 +0.7475 +1.03125 +1.29375 +1.4399999 +1.43 +1.2925 +1.1225001 +1.00625 +0.9574999 +0.97624993 +1.0075 +0.99125 +0.91875 +0.83875 +0.85 +0.9650001 +1.1599998 +1.3749999 +1.5212501 +1.5425 +1.4449999 +1.28625 +1.1487501 +1.09125 +1.12125 +1.2037499 +1.3075001 +1.3675 +1.3924999 +1.4312501 +1.5425 +1.73125 +1.91875 +2.03375 +2.0 +1.7899998 +1.4625001 +1.12875 +0.89125 +0.79375005 +0.81375 +0.8562499 +0.85999995 +0.7975 +0.6875 +0.58875 +0.5675 +0.62624997 +0.73125 +0.84000003 +0.91625 +0.95374995 +0.95874995 +0.95624995 +0.95875 +0.96375 +0.96125 +0.93750006 +0.87499994 +0.77375 +0.6475 +0.52500004 +0.44 +0.42125002 +0.46875 +0.5575 +0.64625 +0.66875 +0.61125 +0.525 +0.485 +0.5475 +0.7475 +1.03125 +1.29375 +1.4399999 +1.43 +1.2925 +1.1225001 +1.00625 +0.9574999 +0.97624993 +1.0075 +0.99125 +0.91875 +0.83875 +0.85 +0.9650001 +1.1599998 +1.3749999 +1.5212501 +1.5425 +1.4449999 +1.28625 +1.1487501 +1.09125 +1.12125 +1.2037499 +1.3075001 +1.3675 +1.3924999 +1.4312501 +1.5425 +1.73125 +1.91875 +2.03375 +2.0 +1.7899998 +1.4625001 +1.12875 +0.89125 +0.79375005 +0.81375 +0.8562499 +0.85999995 +0.7975 +0.6875 +0.58875 +0.5675 +0.62624997 +0.73125 +0.84000003 +0.91625 +0.95374995 +0.95874995 +0.95624995 +0.95875 +1.17 +1.17125 +1.1575 +1.10375 +0.9975 +0.84625 +0.68125 +0.54875 +0.4975 +0.54375005 +0.66249996 +0.795 +0.86625004 +0.85375 +0.79499996 +0.775 +0.88 +1.155 +1.5512501 +1.9325001 +2.17 +2.19875 +2.0625 +1.8512499 +1.66125 +1.55125 +1.50875 +1.4837499 +1.4200001 +1.3162501 +1.2225 +1.2149999 +1.3437499 +1.585 +1.8550001 +2.0375 +2.0575 +1.91625 +1.69875 +1.51 +1.435 +1.4875 +1.6125 +1.74375 +1.84125 +1.9237499 +2.0425 +2.2475002 +2.5225 +2.7849998 +2.9137502 +2.82625 +2.52375 +2.075 +1.6212499 +1.2925 +1.1500001 +1.1474999 +1.17 +1.1324999 +1.01375 +0.85375005 +0.72875 +0.70124996 +0.78000003 +0.9225 +1.06875 +1.17 +1.21125 +1.20625 +1.1862501 +1.1724999 +1.17 +1.17125 +1.1575 +1.10375 +0.9975 +0.84625 +0.68125 +0.54875 +0.4975 +0.54375005 +0.66249996 +0.795 +0.86625004 +0.85375 +0.79499996 +0.775 +0.88 +1.155 +1.5512501 +1.9325001 +2.17 +2.19875 +2.0625 +1.8512499 +1.66125 +1.55125 +1.50875 +1.4837499 +1.4200001 +1.3162501 +1.2225 +1.2149999 +1.3437499 +1.585 +1.8550001 +2.0375 +2.0575 +1.91625 +1.69875 +1.51 +1.435 +1.4875 +1.6125 +1.74375 +1.84125 +1.9237499 +2.0425 +2.2475002 +2.5225 +2.7849998 +2.9137502 +2.82625 +2.52375 +2.075 +1.6212499 +1.2925 +1.1500001 +1.1474999 +1.17 +1.1324999 +1.01375 +0.85375005 +0.72875 +0.70124996 +0.78000003 +0.9225 +1.06875 +1.17 +1.21125 +1.20625 +1.1862501 +1.1724999 +1.2275 +1.2475 +1.265 +1.2425001 +1.15125 +0.99125004 +0.79 +0.615 +0.53125 +0.575 +0.72125006 +0.88874996 +0.9875 +0.98 +0.89874995 +0.85875005 +0.98125005 +1.325 +1.835 +2.3425 +2.6825001 +2.77 +2.6287498 +2.3575 +2.09 +1.9125001 +1.825 +1.7662499 +1.6650001 +1.51625 +1.37875 +1.34375 +1.4725 +1.7462499 +2.0562499 +2.26125 +2.2725 +2.095 +1.82375 +1.5925 +1.5075 +1.58125 +1.75125 +1.9300001 +2.06625 +2.18625 +2.35875 +2.635 +2.9937503 +3.3274999 +3.4837499 +3.35 +2.94125 +2.37125 +1.8112501 +1.4175 +1.26 +1.27375 +1.3225 +1.29375 +1.15125 +0.9525 +0.7975 +0.7625 +0.86 +1.0387499 +1.2149999 +1.3275 +1.3575 +1.32375 +1.26875 +1.23125 +1.2275 +1.2475 +1.265 +1.2425001 +1.15125 +0.99125004 +0.79 +0.615 +0.53125 +0.575 +0.72125006 +0.88874996 +0.9875 +0.98 +0.89874995 +0.85875005 +0.98125005 +1.325 +1.835 +2.3425 +2.6825001 +2.77 +2.6287498 +2.3575 +2.09 +1.9125001 +1.825 +1.7662499 +1.6650001 +1.51625 +1.37875 +1.34375 +1.4725 +1.7462499 +2.0562499 +2.26125 +2.2725 +2.095 +1.82375 +1.5925 +1.5075 +1.58125 +1.75125 +1.9300001 +2.06625 +2.18625 +2.35875 +2.635 +2.9937503 +3.3274999 +3.4837499 +3.35 +2.94125 +2.37125 +1.8112501 +1.4175 +1.26 +1.27375 +1.3225 +1.29375 +1.15125 +0.9525 +0.7975 +0.7625 +0.86 +1.0387499 +1.2149999 +1.3275 +1.3575 +1.32375 +1.26875 +1.23125 +1.07625 +1.1287501 +1.1975 +1.23 +1.1800001 +1.03125 +0.815 +0.61125004 +0.505 +0.54375 +0.7025 +0.8862499 +0.9825 +0.9375 +0.79625 +0.69874996 +0.80375 +1.2 +1.7987499 +2.4175 +2.85 +2.98625 +2.8324997 +2.50125 +2.1612499 +1.9175 +1.78875 +1.7 +1.56875 +1.38125 +1.2025 +1.13625 +1.2537498 +1.5375 +1.87 +2.0874999 +2.0925 +1.88625 +1.5775 +1.32125 +1.2325001 +1.3275 +1.5324999 +1.74625 +1.91125 +2.0575 +2.26375 +2.5912502 +3.0187497 +3.4112499 +3.5899997 +3.42375 +2.93375 +2.2675 +1.63 +1.2062501 +1.0612501 +1.135 +1.2537498 +1.2725 +1.14375 +0.93500006 +0.76125 +0.72125006 +0.83375 +1.0325 +1.2237501 +1.33 +1.33 +1.24875 +1.1474999 +1.0812501 +1.07625 +1.1287501 +1.1975 +1.23 +1.1800001 +1.03125 +0.815 +0.61125004 +0.505 +0.54375 +0.7025 +0.8862499 +0.9825 +0.9375 +0.79625 +0.69874996 +0.80375 +1.2 +1.7987499 +2.4175 +2.85 +2.98625 +2.8324997 +2.50125 +2.1612499 +1.9175 +1.78875 +1.7 +1.56875 +1.38125 +1.2025 +1.13625 +1.2537498 +1.5375 +1.87 +2.0874999 +2.0925 +1.88625 +1.5775 +1.32125 +1.2325001 +1.3275 +1.5324999 +1.74625 +1.91125 +2.0575 +2.26375 +2.5912502 +3.0187497 +3.4112499 +3.5899997 +3.42375 +2.93375 +2.2675 +1.63 +1.2062501 +1.0612501 +1.135 +1.2537498 +1.2725 +1.14375 +0.93500006 +0.76125 +0.72125006 +0.83375 +1.0325 +1.2237501 +1.33 +1.33 +1.24875 +1.1474999 +1.0812501 +0.805 +0.88875 +1.0187501 +1.115 +1.11625 +0.995 +0.78125 +0.56499994 +0.44375 +0.47875002 +0.64124995 +0.82124996 +0.895 +0.79749995 +0.5825 +0.4125 +0.495 +0.905 +1.56125 +2.25875 +2.7599998 +2.9225001 +2.75875 +2.3775 +1.9724998 +1.675 +1.5049999 +1.38875 +1.2349999 +1.0174999 +0.805 +0.7075 +0.80875003 +1.0899999 +1.4275 +1.655 +1.6575 +1.43625 +1.1075 +0.8399999 +0.755 +0.86875 +1.09875 +1.3349999 +1.5162499 +1.67125 +1.895 +2.25375 +2.72125 +3.1512501 +3.34125 +3.1500003 +2.61625 +1.89 +1.2112501 +0.785 +0.68249995 +0.8225 +1.0274999 +1.11125 +1.0175 +0.81624997 +0.64124995 +0.59875 +0.7175001 +0.92875004 +1.1225001 +1.215 +1.17625 +1.0475 +0.9 +0.805 +0.805 +0.88875 +1.0187501 +1.115 +1.11625 +0.995 +0.78125 +0.56499994 +0.44375 +0.47875002 +0.64124995 +0.82124996 +0.895 +0.79749995 +0.5825 +0.4125 +0.495 +0.905 +1.56125 +2.25875 +2.7599998 +2.9225001 +2.75875 +2.3775 +1.9724998 +1.675 +1.5049999 +1.38875 +1.2349999 +1.0174999 +0.805 +0.7075 +0.80875003 +1.0899999 +1.4275 +1.655 +1.6575 +1.43625 +1.1075 +0.8399999 +0.755 +0.86875 +1.09875 +1.3349999 +1.5162499 +1.67125 +1.895 +2.25375 +2.72125 +3.1512501 +3.34125 +3.1500003 +2.61625 +1.89 +1.2112501 +0.785 +0.68249995 +0.8225 +1.0274999 +1.11125 +1.0175 +0.81624997 +0.64124995 +0.59875 +0.7175001 +0.92875004 +1.1225001 +1.215 +1.17625 +1.0475 +0.9 +0.805 +0.58375 +0.69500005 +0.865 +1.01 +1.05375 +0.95750004 +0.755 +0.53375 +0.40749997 +0.44 +0.60125005 +0.77875006 +0.83375 +0.69624996 +0.42999998 +0.21000001 +0.26875 +0.6775 +1.365 +2.10875 +2.6512501 +2.8275 +2.65375 +2.23625 +1.785 +1.4425 +1.2375 +1.09625 +0.925 +0.68875 +0.4525 +0.33624998 +0.42249998 +0.69874996 +1.03625 +1.26875 +1.2737501 +1.04875 +0.715 +0.4475 +0.36249998 +0.48624995 +0.73 +0.97249997 +1.1575 +1.31125 +1.53375 +1.9012499 +2.38375 +2.8249998 +3.01875 +2.81375 +2.2575002 +1.50375 +0.81000006 +0.39374998 +0.33124998 +0.5225 +0.79125 +0.92625 +0.865 +0.6775 +0.50374997 +0.46374997 +0.58624995 +0.80125 +0.99875003 +1.0775 +1.0187501 +0.85999995 +0.6875 +0.58000004 +0.58375 +0.69500005 +0.865 +1.01 +1.05375 +0.95750004 +0.755 +0.53375 +0.40749997 +0.44 +0.60125005 +0.77875006 +0.83375 +0.69624996 +0.42999998 +0.21000001 +0.26875 +0.6775 +1.365 +2.10875 +2.6512501 +2.8275 +2.65375 +2.23625 +1.785 +1.4425 +1.2375 +1.09625 +0.925 +0.68875 +0.4525 +0.33624998 +0.42249998 +0.69874996 +1.03625 +1.26875 +1.2737501 +1.04875 +0.715 +0.4475 +0.36249998 +0.48624995 +0.73 +0.97249997 +1.1575 +1.31125 +1.53375 +1.9012499 +2.38375 +2.8249998 +3.01875 +2.81375 +2.2575002 +1.50375 +0.81000006 +0.39374998 +0.33124998 +0.5225 +0.79125 +0.92625 +0.865 +0.6775 +0.50374997 +0.46374997 +0.58624995 +0.80125 +0.99875003 +1.0775 +1.0187501 +0.85999995 +0.6875 +0.58000004 +0.29125 +0.33624998 +0.43124998 +0.48250002 +0.4775 +0.45750004 +0.45999998 +0.51125 +0.60375 +0.73 +0.87249994 +1.0287501 +1.20125 +1.37625 +1.5312501 +1.6312501 +1.67375 +1.63375 +1.51875 +1.35875 +1.185 +1.02 +0.88124996 +0.73625 +0.5925 +0.46875 +0.39 +0.365 +0.36749995 +0.35750002 +0.29749998 +0.20749998 +0.195 +0.2225 +0.25 +0.27 +0.28 +0.31375 +0.4125 +0.47249997 +0.47624996 +0.46375 +0.47125 +0.52625 +0.62625 +0.755 +0.9025 +1.0625 +1.23375 +1.40375 +1.55 +1.6387501 +1.6712501 +1.62125 +1.49875 +1.33375 +1.1575 +0.9925 +0.85249996 +0.7075 +0.56249994 +0.44375002 +0.37375 +0.3575 +0.36874998 +0.36625004 +0.31 +0.22375001 +0.19875 +0.22875 +0.25875 +0.28 +0.29125 +0.33624998 +0.43124998 +0.48250002 +0.4775 +0.45750004 +0.45999998 +0.51125 +0.60375 +0.73 +0.87249994 +1.0287501 +1.20125 +1.37625 +1.5312501 +1.6312501 +1.67375 +1.63375 +1.51875 +1.35875 +1.185 +1.02 +0.88124996 +0.73625 +0.5925 +0.46875 +0.39 +0.365 +0.36749995 +0.35750002 +0.29749998 +0.20749998 +0.195 +0.2225 +0.25 +0.27 +0.28 +0.31375 +0.4125 +0.47249997 +0.47624996 +0.46375 +0.47125 +0.52625 +0.62625 +0.755 +0.9025 +1.0625 +1.23375 +1.40375 +1.55 +1.6387501 +1.6712501 +1.62125 +1.49875 +1.33375 +1.1575 +0.9925 +0.85249996 +0.7075 +0.56249994 +0.44375002 +0.37375 +0.3575 +0.36874998 +0.36625004 +0.31 +0.22375001 +0.19875 +0.22875 +0.25875 +0.28 +0.34999996 +0.43374997 +0.5075 +0.52750003 +0.49125004 +0.44 +0.42125 +0.45 +0.52625 +0.64374995 +0.78625 +0.9525 +1.14125 +1.3412501 +1.5262501 +1.6600001 +1.7149999 +1.6975 +1.595 +1.43875 +1.255 +1.08875 +0.93625 +0.78124994 +0.63374996 +0.50375 +0.41875 +0.38250002 +0.37875 +0.3675 +0.31499997 +0.23374999 +0.1875 +0.21375 +0.2425 +0.26125 +0.2725 +0.34375 +0.44 +0.49500003 +0.49875 +0.48375 +0.48999998 +0.54249996 +0.64125 +0.77875 +0.93874997 +1.12 +1.3075 +1.4825 +1.625 +1.6987499 +1.7 +1.6275 +1.4837501 +1.2975 +1.10375 +0.93499994 +0.77750003 +0.625 +0.48499998 +0.3825 +0.335 +0.3425 +0.38125002 +0.40249997 +0.36874998 +0.29749998 +0.24000001 +0.23625 +0.2725 +0.3 +0.34999996 +0.43374997 +0.5075 +0.52750003 +0.49125004 +0.44 +0.42125 +0.45 +0.52625 +0.64374995 +0.78625 +0.9525 +1.14125 +1.3412501 +1.5262501 +1.6600001 +1.7149999 +1.6975 +1.595 +1.43875 +1.255 +1.08875 +0.93625 +0.78124994 +0.63374996 +0.50375 +0.41875 +0.38250002 +0.37875 +0.3675 +0.31499997 +0.23374999 +0.1875 +0.21375 +0.2425 +0.26125 +0.2725 +0.34375 +0.44 +0.49500003 +0.49875 +0.48375 +0.48999998 +0.54249996 +0.64125 +0.77875 +0.93874997 +1.12 +1.3075 +1.4825 +1.625 +1.6987499 +1.7 +1.6275 +1.4837501 +1.2975 +1.10375 +0.93499994 +0.77750003 +0.625 +0.48499998 +0.3825 +0.335 +0.3425 +0.38125002 +0.40249997 +0.36874998 +0.29749998 +0.24000001 +0.23625 +0.2725 +0.3 +0.515 +0.6087499 +0.65125 +0.62 +0.53625 +0.44000003 +0.3775 +0.37124997 +0.42000002 +0.52 +0.65624994 +0.83125 +1.04125 +1.2775 +1.51 +1.6987499 +1.8062501 +1.8175 +1.7425001 +1.59125 +1.40125 +1.21625 +1.0487499 +0.89 +0.73875 +0.61 +0.52 +0.475 +0.465 +0.45624998 +0.41875005 +0.34249997 +0.27 +0.24375 +0.255 +0.2825 +0.345 +0.44875 +0.54875 +0.59875 +0.59749997 +0.5749999 +0.5725 +0.61375 +0.705 +0.84625 +1.0274999 +1.22875 +1.4350001 +1.61625 +1.7437501 +1.79 +1.7550001 +1.6375 +1.45375 +1.235 +1.025 +0.83374995 +0.65875 +0.5025 +0.38 +0.31 +0.30374998 +0.3575 +0.435 +0.49500003 +0.5 +0.45 +0.37875 +0.34124997 +0.35875 +0.41999996 +0.515 +0.6087499 +0.65125 +0.62 +0.53625 +0.44000003 +0.3775 +0.37124997 +0.42000002 +0.52 +0.65624994 +0.83125 +1.04125 +1.2775 +1.51 +1.6987499 +1.8062501 +1.8175 +1.7425001 +1.59125 +1.40125 +1.21625 +1.0487499 +0.89 +0.73875 +0.61 +0.52 +0.475 +0.465 +0.45624998 +0.41875005 +0.34249997 +0.27 +0.24375 +0.255 +0.2825 +0.345 +0.44875 +0.54875 +0.59875 +0.59749997 +0.5749999 +0.5725 +0.61375 +0.705 +0.84625 +1.0274999 +1.22875 +1.4350001 +1.61625 +1.7437501 +1.79 +1.7550001 +1.6375 +1.45375 +1.235 +1.025 +0.83374995 +0.65875 +0.5025 +0.38 +0.31 +0.30374998 +0.3575 +0.435 +0.49500003 +0.5 +0.45 +0.37875 +0.34124997 +0.35875 +0.41999996 +0.78374994 +0.83875 +0.8325001 +0.75624996 +0.63125 +0.49874997 +0.39875 +0.35500002 +0.37375 +0.445 +0.56375 +0.73375 +0.9475 +1.205 +1.47875 +1.72125 +1.885 +1.9487499 +1.9137499 +1.7887499 +1.6062502 +1.40375 +1.22625 +1.07875 +0.94375 +0.82875 +0.74625 +0.70625 +0.69624996 +0.69750005 +0.67999995 +0.63125 +0.55625 +0.49125004 +0.46875 +0.51 +0.60249996 +0.71250004 +0.79875 +0.8349999 +0.82375 +0.78499997 +0.75874996 +0.77500004 +0.8475 +0.98249996 +1.16625 +1.37875 +1.5887501 +1.76125 +1.86 +1.875 +1.80125 +1.64125 +1.41875 +1.175 +0.95125 +0.755 +0.58 +0.43375 +0.33999997 +0.31125 +0.34875 +0.445 +0.55875003 +0.645 +0.67875004 +0.66249996 +0.62125 +0.60374993 +0.63 +0.69874996 +0.78374994 +0.83875 +0.8325001 +0.75624996 +0.63125 +0.49874997 +0.39875 +0.35500002 +0.37375 +0.445 +0.56375 +0.73375 +0.9475 +1.205 +1.47875 +1.72125 +1.885 +1.9487499 +1.9137499 +1.7887499 +1.6062502 +1.40375 +1.22625 +1.07875 +0.94375 +0.82875 +0.74625 +0.70625 +0.69624996 +0.69750005 +0.67999995 +0.63125 +0.55625 +0.49125004 +0.46875 +0.51 +0.60249996 +0.71250004 +0.79875 +0.8349999 +0.82375 +0.78499997 +0.75874996 +0.77500004 +0.8475 +0.98249996 +1.16625 +1.37875 +1.5887501 +1.76125 +1.86 +1.875 +1.80125 +1.64125 +1.41875 +1.175 +0.95125 +0.755 +0.58 +0.43375 +0.33999997 +0.31125 +0.34875 +0.445 +0.55875003 +0.645 +0.67875004 +0.66249996 +0.62125 +0.60374993 +0.63 +0.69874996 +1.0325 +1.055 +1.01625 +0.9125 +0.77125 +0.6275 +0.5125 +0.44875 +0.43750003 +0.47875002 +0.56375 +0.71124995 +0.90625 +1.14875 +1.4225 +1.695 +1.905 +2.03375 +2.05375 +1.97125 +1.8199999 +1.64125 +1.46875 +1.33 +1.22875 +1.1450001 +1.10125 +1.095 +1.105 +1.1112499 +1.09375 +1.0762501 +1.03125 +0.97875 +0.95374995 +0.975 +1.03625 +1.1175 +1.17875 +1.1949999 +1.1637499 +1.09875 +1.04 +1.04375 +1.0975 +1.2025 +1.355 +1.5437499 +1.74 +1.88125 +1.9524999 +1.93 +1.8100001 +1.6137501 +1.3737501 +1.1325 +0.91499996 +0.7375 +0.58374995 +0.47625 +0.42625 +0.435 +0.49875 +0.61625 +0.7375 +0.82374996 +0.86125004 +0.86125004 +0.8499999 +0.86125 +0.90374994 +0.97124994 +1.0325 +1.055 +1.01625 +0.9125 +0.77125 +0.6275 +0.5125 +0.44875 +0.43750003 +0.47875002 +0.56375 +0.71124995 +0.90625 +1.14875 +1.4225 +1.695 +1.905 +2.03375 +2.05375 +1.97125 +1.8199999 +1.64125 +1.46875 +1.33 +1.22875 +1.1450001 +1.10125 +1.095 +1.105 +1.1112499 +1.09375 +1.0762501 +1.03125 +0.97875 +0.95374995 +0.975 +1.03625 +1.1175 +1.17875 +1.1949999 +1.1637499 +1.09875 +1.04 +1.04375 +1.0975 +1.2025 +1.355 +1.5437499 +1.74 +1.88125 +1.9524999 +1.93 +1.8100001 +1.6137501 +1.3737501 +1.1325 +0.91499996 +0.7375 +0.58374995 +0.47625 +0.42625 +0.435 +0.49875 +0.61625 +0.7375 +0.82374996 +0.86125004 +0.86125004 +0.8499999 +0.86125 +0.90374994 +0.97124994 +1.2075 +1.2075 +1.15 +1.0450001 +0.91375005 +0.7874999 +0.685 +0.61749995 +0.585 +0.5925 +0.63125 +0.73125 +0.88 +1.08375 +1.33125 +1.6 +1.8449999 +2.02375 +2.10375 +2.0825 +1.9825001 +1.8462499 +1.7112501 +1.5975001 +1.52125 +1.4775001 +1.46875 +1.48875 +1.5250001 +1.55625 +1.5637499 +1.5587502 +1.53875 +1.4962499 +1.465 +1.465 +1.4975001 +1.54875 +1.58375 +1.5775 +1.5187501 +1.4250001 +1.3475 +1.315 +1.33125 +1.4074999 +1.5350001 +1.6924999 +1.8512499 +1.96 +1.9874998 +1.91375 +1.75125 +1.5350001 +1.3025 +1.0899999 +0.91249996 +0.77250004 +0.6675 +0.60625005 +0.59000003 +0.62375 +0.70000005 +0.815 +0.91375 +0.97749996 +0.99749994 +0.99999994 +1.0062499 +1.04 +1.10125 +1.16625 +1.2075 +1.2075 +1.15 +1.0450001 +0.91375005 +0.7874999 +0.685 +0.61749995 +0.585 +0.5925 +0.63125 +0.73125 +0.88 +1.08375 +1.33125 +1.6 +1.8449999 +2.02375 +2.10375 +2.0825 +1.9825001 +1.8462499 +1.7112501 +1.5975001 +1.52125 +1.4775001 +1.46875 +1.48875 +1.5250001 +1.55625 +1.5637499 +1.5587502 +1.53875 +1.4962499 +1.465 +1.465 +1.4975001 +1.54875 +1.58375 +1.5775 +1.5187501 +1.4250001 +1.3475 +1.315 +1.33125 +1.4074999 +1.5350001 +1.6924999 +1.8512499 +1.96 +1.9874998 +1.91375 +1.75125 +1.5350001 +1.3025 +1.0899999 +0.91249996 +0.77250004 +0.6675 +0.60625005 +0.59000003 +0.62375 +0.70000005 +0.815 +0.91375 +0.97749996 +0.99749994 +0.99999994 +1.0062499 +1.04 +1.10125 +1.16625 +1.285 +1.26 +1.19 +1.095 +0.99249995 +0.89874995 +0.82374996 +0.76625 +0.72624993 +0.70375 +0.69875 +0.73375 +0.82500005 +0.97249997 +1.1787499 +1.43 +1.68 +1.8937502 +2.03125 +2.07625 +2.0375 +1.95 +1.84875 +1.76125 +1.7199999 +1.6899999 +1.6875 +1.72875 +1.7874999 +1.8475 +1.88625 +1.9187499 +1.9225001 +1.89125 +1.85625 +1.8387501 +1.8449999 +1.8662499 +1.8712499 +1.83625 +1.7525 +1.6287501 +1.515 +1.45875 +1.45625 +1.5149999 +1.62625 +1.77625 +1.9087499 +1.95625 +1.93125 +1.81125 +1.61875 +1.395 +1.18625 +1.015 +0.89000005 +0.81000006 +0.74875003 +0.72499996 +0.73375005 +0.77875 +0.85875005 +0.95250005 +1.0137501 +1.03625 +1.0325 +1.03125 +1.0575 +1.11875 +1.1949999 +1.2587501 +1.285 +1.26 +1.19 +1.095 +0.99249995 +0.89874995 +0.82374996 +0.76625 +0.72624993 +0.70375 +0.69875 +0.73375 +0.82500005 +0.97249997 +1.1787499 +1.43 +1.68 +1.8937502 +2.03125 +2.07625 +2.0375 +1.95 +1.84875 +1.76125 +1.7199999 +1.6899999 +1.6875 +1.72875 +1.7874999 +1.8475 +1.88625 +1.9187499 +1.9225001 +1.89125 +1.85625 +1.8387501 +1.8449999 +1.8662499 +1.8712499 +1.83625 +1.7525 +1.6287501 +1.515 +1.45875 +1.45625 +1.5149999 +1.62625 +1.77625 +1.9087499 +1.95625 +1.93125 +1.81125 +1.61875 +1.395 +1.18625 +1.015 +0.89000005 +0.81000006 +0.74875003 +0.72499996 +0.73375005 +0.77875 +0.85875005 +0.95250005 +1.0137501 +1.03625 +1.0325 +1.03125 +1.0575 +1.11875 +1.1949999 +1.2587501 +1.2500001 +1.19875 +1.11375 +1.0237501 +0.94624996 +0.885 +0.84250003 +0.805 +0.76624995 +0.72625005 +0.69124997 +0.675 +0.70500004 +0.8025 +0.97249997 +1.2025001 +1.44875 +1.6650001 +1.8399999 +1.9425 +1.96125 +1.9162501 +1.8425 +1.80625 +1.77 +1.7375 +1.7225 +1.745 +1.8237499 +1.9100001 +2.00875 +2.0825 +2.1125 +2.09625 +2.0625 +2.03 +2.0137498 +2.00125 +1.97125 +1.9025 +1.79125 +1.64875 +1.5137498 +1.43 +1.4287499 +1.49125 +1.6324999 +1.7887499 +1.89625 +1.90375 +1.7937499 +1.635 +1.4224999 +1.2049999 +1.01875 +0.8975 +0.8375 +0.79375 +0.75874996 +0.74375 +0.76374996 +0.81749994 +0.89124995 +0.95124996 +0.97249997 +0.9575 +0.9375 +0.94499993 +1.0025 +1.09625 +1.1875 +1.2462499 +1.2500001 +1.19875 +1.11375 +1.0237501 +0.94624996 +0.885 +0.84250003 +0.805 +0.76624995 +0.72625005 +0.69124997 +0.675 +0.70500004 +0.8025 +0.97249997 +1.2025001 +1.44875 +1.6650001 +1.8399999 +1.9425 +1.96125 +1.9162501 +1.8425 +1.80625 +1.77 +1.7375 +1.7225 +1.745 +1.8237499 +1.9100001 +2.00875 +2.0825 +2.1125 +2.09625 +2.0625 +2.03 +2.0137498 +2.00125 +1.97125 +1.9025 +1.79125 +1.64875 +1.5137498 +1.43 +1.4287499 +1.49125 +1.6324999 +1.7887499 +1.89625 +1.90375 +1.7937499 +1.635 +1.4224999 +1.2049999 +1.01875 +0.8975 +0.8375 +0.79375 +0.75874996 +0.74375 +0.76374996 +0.81749994 +0.89124995 +0.95124996 +0.97249997 +0.9575 +0.9375 +0.94499993 +1.0025 +1.09625 +1.1875 +1.2462499 +1.1125 +1.0274999 +0.91875005 +0.82375 +0.7625 +0.73125005 +0.71625 +0.69624996 +0.665 +0.61999995 +0.5725 +0.53625 +0.54125 +0.60499996 +0.7425 +0.94375 +1.17875 +1.4037501 +1.5825001 +1.7049999 +1.7725 +1.7825 +1.7700001 +1.73875 +1.695 +1.6525 +1.6337501 +1.65875 +1.7412499 +1.8662499 +2.00375 +2.11375 +2.175 +2.17875 +2.1487498 +2.10375 +2.0587502 +2.0075 +1.93625 +1.8275001 +1.6875 +1.5325 +1.3962499 +1.31875 +1.3262501 +1.4174999 +1.5675 +1.7175 +1.8075 +1.7875 +1.6524999 +1.4325 +1.19875 +0.9875 +0.84625 +0.77250004 +0.7325001 +0.69874996 +0.6675 +0.65375 +0.6675 +0.7099999 +0.76250005 +0.78999996 +0.78125 +0.74499995 +0.72499996 +0.75374997 +0.84624994 +0.97375 +1.085 +1.1374999 +1.1125 +1.0274999 +0.91875005 +0.82375 +0.7625 +0.73125005 +0.71625 +0.69624996 +0.665 +0.61999995 +0.5725 +0.53625 +0.54125 +0.60499996 +0.7425 +0.94375 +1.17875 +1.4037501 +1.5825001 +1.7049999 +1.7725 +1.7825 +1.7700001 +1.73875 +1.695 +1.6525 +1.6337501 +1.65875 +1.7412499 +1.8662499 +2.00375 +2.11375 +2.175 +2.17875 +2.1487498 +2.10375 +2.0587502 +2.0075 +1.93625 +1.8275001 +1.6875 +1.5325 +1.3962499 +1.31875 +1.3262501 +1.4174999 +1.5675 +1.7175 +1.8075 +1.7875 +1.6524999 +1.4325 +1.19875 +0.9875 +0.84625 +0.77250004 +0.7325001 +0.69874996 +0.6675 +0.65375 +0.6675 +0.7099999 +0.76250005 +0.78999996 +0.78125 +0.74499995 +0.72499996 +0.75374997 +0.84624994 +0.97375 +1.085 +1.1374999 +0.89125 +0.7725 +0.6374999 +0.53875 +0.4875 +0.48125 +0.48874998 +0.48375 +0.45875 +0.4175 +0.3725 +0.33999997 +0.34375 +0.39875 +0.51375 +0.6875 +0.89875 +1.11375 +1.3037499 +1.45375 +1.5562501 +1.6125 +1.63375 +1.6237501 +1.5887499 +1.55125 +1.5437499 +1.5849999 +1.69125 +1.8475001 +2.01875 +2.165 +2.2525 +2.27875 +2.2537498 +2.1925 +2.115 +2.0175 +1.895 +1.74375 +1.5725 +1.4037501 +1.265 +1.19625 +1.20875 +1.3024999 +1.44125 +1.5725 +1.6425 +1.6024998 +1.45375 +1.2325 +0.99875 +0.80999994 +0.69125 +0.62750006 +0.58875 +0.5475 +0.50249994 +0.46875 +0.46875 +0.4975 +0.52875 +0.5325 +0.50124997 +0.45624995 +0.44124994 +0.495 +0.62125 +0.77875 +0.90125 +0.94624996 +0.89125 +0.7725 +0.6374999 +0.53875 +0.4875 +0.48125 +0.48874998 +0.48375 +0.45875 +0.4175 +0.3725 +0.33999997 +0.34375 +0.39875 +0.51375 +0.6875 +0.89875 +1.11375 +1.3037499 +1.45375 +1.5562501 +1.6125 +1.63375 +1.6237501 +1.5887499 +1.55125 +1.5437499 +1.5849999 +1.69125 +1.8475001 +2.01875 +2.165 +2.2525 +2.27875 +2.2537498 +2.1925 +2.115 +2.0175 +1.895 +1.74375 +1.5725 +1.4037501 +1.265 +1.19625 +1.20875 +1.3024999 +1.44125 +1.5725 +1.6425 +1.6024998 +1.45375 +1.2325 +0.99875 +0.80999994 +0.69125 +0.62750006 +0.58875 +0.5475 +0.50249994 +0.46875 +0.46875 +0.4975 +0.52875 +0.5325 +0.50124997 +0.45624995 +0.44124994 +0.495 +0.62125 +0.77875 +0.90125 +0.94624996 +0.61875 +0.48624998 +0.37625003 +0.29250002 +0.2525 +0.24875002 +0.26375002 +0.27249998 +0.26 +0.23000002 +0.19500002 +0.17124999 +0.17750001 +0.22749999 +0.31875 +0.46000004 +0.63375 +0.815 +0.995 +1.16 +1.3 +1.4075 +1.4825001 +1.52125 +1.53125 +1.53875 +1.5675 +1.6475 +1.79 +1.9762502 +2.175 +2.34375 +2.4537501 +2.4925 +2.46625 +2.38625 +2.26875 +2.1225 +1.94875 +1.7575 +1.56 +1.37625 +1.23 +1.1424999 +1.13 +1.18625 +1.2812501 +1.3725 +1.4037501 +1.3425 +1.1899999 +0.9825 +0.77625 +0.62125003 +0.52750003 +0.48 +0.43875003 +0.38375002 +0.3225 +0.26999998 +0.2525 +0.26624998 +0.28375 +0.2825 +0.2625 +0.23125002 +0.22 +0.26125 +0.36749998 +0.5375 +0.66375 +0.69375 +0.61875 +0.48624998 +0.37625003 +0.29250002 +0.2525 +0.24875002 +0.26375002 +0.27249998 +0.26 +0.23000002 +0.19500002 +0.17124999 +0.17750001 +0.22749999 +0.31875 +0.46000004 +0.63375 +0.815 +0.995 +1.16 +1.3 +1.4075 +1.4825001 +1.52125 +1.53125 +1.53875 +1.5675 +1.6475 +1.79 +1.9762502 +2.175 +2.34375 +2.4537501 +2.4925 +2.46625 +2.38625 +2.26875 +2.1225 +1.94875 +1.7575 +1.56 +1.37625 +1.23 +1.1424999 +1.13 +1.18625 +1.2812501 +1.3725 +1.4037501 +1.3425 +1.1899999 +0.9825 +0.77625 +0.62125003 +0.52750003 +0.48 +0.43875003 +0.38375002 +0.3225 +0.26999998 +0.2525 +0.26624998 +0.28375 +0.2825 +0.2625 +0.23125002 +0.22 +0.26125 +0.36749998 +0.5375 +0.66375 +0.69375 +0.38 +0.30624998 +0.24875 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.16875 +0.14125 +0.12 +0.12125 +0.1475 +0.21 +0.295 +0.40125 +0.53624994 +0.68749994 +0.85249996 +1.02375 +1.19125 +1.33875 +1.4575001 +1.5487502 +1.6274999 +1.7212499 +1.8737501 +2.06375 +2.2575002 +2.44375 +2.6187499 +2.73375 +2.77 +2.73 +2.62875 +2.4762502 +2.2925 +2.085 +1.8687501 +1.65875 +1.4662501 +1.30375 +1.2 +1.1437501 +1.115 +1.11375 +1.135 +1.115 +1.02875 +0.8775 +0.695 +0.53 +0.41750002 +0.36375 +0.34125 +0.31499997 +0.27 +0.21249999 +0.16124998 +0.13374999 +0.1325 +0.1475 +0.16875 +0.18375 +0.18125 +0.16625 +0.1575 +0.2 +0.30124998 +0.41749996 +0.43749997 +0.38 +0.30624998 +0.24875 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.16875 +0.14125 +0.12 +0.12125 +0.1475 +0.21 +0.295 +0.40125 +0.53624994 +0.68749994 +0.85249996 +1.02375 +1.19125 +1.33875 +1.4575001 +1.5487502 +1.6274999 +1.7212499 +1.8737501 +2.06375 +2.2575002 +2.44375 +2.6187499 +2.73375 +2.77 +2.73 +2.62875 +2.4762502 +2.2925 +2.085 +1.8687501 +1.65875 +1.4662501 +1.30375 +1.2 +1.1437501 +1.115 +1.11375 +1.135 +1.115 +1.02875 +0.8775 +0.695 +0.53 +0.41750002 +0.36375 +0.34125 +0.31499997 +0.27 +0.21249999 +0.16124998 +0.13374999 +0.1325 +0.1475 +0.16875 +0.18375 +0.18125 +0.16625 +0.1575 +0.2 +0.30124998 +0.41749996 +0.43749997 +0.2625 +0.24375 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.21875 +0.23625 +0.25875 +0.31875002 +0.42999998 +0.59625 +0.82 +1.02625 +1.2125001 +1.4037501 +1.58125 +1.74875 +1.94625 +2.1512501 +2.35625 +2.54375 +2.705 +2.8287501 +2.91125 +2.9350002 +2.8799999 +2.75875 +2.59 +2.385 +2.17125 +1.965 +1.76875 +1.5975001 +1.4537499 +1.32125 +1.20125 +1.0925 +0.995 +0.90375 +0.82875 +0.7225 +0.58375 +0.45624998 +0.33749998 +0.23875001 +0.2175 +0.23375002 +0.24624999 +0.23875 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.17125 +0.23125 +0.2625 +0.2625 +0.24375 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.21875 +0.23625 +0.25875 +0.31875002 +0.42999998 +0.59625 +0.82 +1.02625 +1.2125001 +1.4037501 +1.58125 +1.74875 +1.94625 +2.1512501 +2.35625 +2.54375 +2.705 +2.8287501 +2.91125 +2.9350002 +2.8799999 +2.75875 +2.59 +2.385 +2.17125 +1.965 +1.76875 +1.5975001 +1.4537499 +1.32125 +1.20125 +1.0925 +0.995 +0.90375 +0.82875 +0.7225 +0.58375 +0.45624998 +0.33749998 +0.23875001 +0.2175 +0.23375002 +0.24624999 +0.23875 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.13375 +0.13375 +0.17125 +0.23125 +0.2625 +0.20875 +0.1925 +0.1525 +0.11125 +0.09 +0.11000001 +0.15125 +0.17499998 +0.1825 +0.18 +0.16875 +0.16875 +0.1925 +0.23375 +0.2725 +0.2775 +0.2375 +0.21249998 +0.27999997 +0.45 +0.675 +0.9 +1.11625 +1.33375 +1.56125 +1.7949998 +2.0249999 +2.23875 +2.42375 +2.575 +2.6925 +2.7800002 +2.83 +2.8324997 +2.77625 +2.6575 +2.4900002 +2.2962499 +2.1000001 +1.92625 +1.7774999 +1.645 +1.5112499 +1.3600001 +1.19625 +1.03125 +0.88 +0.74750006 +0.6325 +0.52375 +0.41250002 +0.30375 +0.20875 +0.13125 +0.11750001 +0.18124998 +0.23875 +0.2775 +0.2725 +0.23375 +0.1925 +0.16875 +0.16875 +0.18 +0.1825 +0.16375 +0.13 +0.09875 +0.09 +0.12375 +0.17750001 +0.20624998 +0.20875 +0.1925 +0.1525 +0.11125 +0.09 +0.11000001 +0.15125 +0.17499998 +0.1825 +0.18 +0.16875 +0.16875 +0.1925 +0.23375 +0.2725 +0.2775 +0.2375 +0.21249998 +0.27999997 +0.45 +0.675 +0.9 +1.11625 +1.33375 +1.56125 +1.7949998 +2.0249999 +2.23875 +2.42375 +2.575 +2.6925 +2.7800002 +2.83 +2.8324997 +2.77625 +2.6575 +2.4900002 +2.2962499 +2.1000001 +1.92625 +1.7774999 +1.645 +1.5112499 +1.3600001 +1.19625 +1.03125 +0.88 +0.74750006 +0.6325 +0.52375 +0.41250002 +0.30375 +0.20875 +0.13125 +0.11750001 +0.18124998 +0.23875 +0.2775 +0.2725 +0.23375 +0.1925 +0.16875 +0.16875 +0.18 +0.1825 +0.16375 +0.13 +0.09875 +0.09 +0.12375 +0.17750001 +0.20624998 +0.22999999 +0.1825 +0.1325 +0.10125001 +0.10875 +0.1575 +0.20999998 +0.225 +0.2075 +0.18124999 +0.18 +0.19625 +0.23625 +0.2925 +0.3375 +0.34 +0.28375 +0.24125 +0.27375 +0.40499997 +0.60125 +0.7925 +0.98125 +1.18375 +1.4024999 +1.625 +1.84 +2.02 +2.15125 +2.24 +2.29625 +2.34 +2.3674998 +2.3625002 +2.3125 +2.20625 +2.0562499 +1.8925 +1.7437499 +1.6312499 +1.5549998 +1.4825 +1.3900001 +1.2562499 +1.09 +0.9150001 +0.76125 +0.6375 +0.54625005 +0.46124998 +0.3675 +0.2675 +0.17 +0.087500006 +0.09375 +0.18749999 +0.28375 +0.34 +0.33875 +0.29874998 +0.25375 +0.22500001 +0.215 +0.20875 +0.1925 +0.15875 +0.120000005 +0.1 +0.11625 +0.17500001 +0.24 +0.25875 +0.22999999 +0.1825 +0.1325 +0.10125001 +0.10875 +0.1575 +0.20999998 +0.225 +0.2075 +0.18124999 +0.18 +0.19625 +0.23625 +0.2925 +0.3375 +0.34 +0.28375 +0.24125 +0.27375 +0.40499997 +0.60125 +0.7925 +0.98125 +1.18375 +1.4024999 +1.625 +1.84 +2.02 +2.15125 +2.24 +2.29625 +2.34 +2.3674998 +2.3625002 +2.3125 +2.20625 +2.0562499 +1.8925 +1.7437499 +1.6312499 +1.5549998 +1.4825 +1.3900001 +1.2562499 +1.09 +0.9150001 +0.76125 +0.6375 +0.54625005 +0.46124998 +0.3675 +0.2675 +0.17 +0.087500006 +0.09375 +0.18749999 +0.28375 +0.34 +0.33875 +0.29874998 +0.25375 +0.22500001 +0.215 +0.20875 +0.1925 +0.15875 +0.120000005 +0.1 +0.11625 +0.17500001 +0.24 +0.25875 +0.38625 +0.30875 +0.245 +0.22125001 +0.24499999 +0.29749998 +0.34 +0.3425 +0.3025 +0.25 +0.22375 +0.23249999 +0.28125 +0.3525 +0.405 +0.40875 +0.37374997 +0.36749998 +0.40125 +0.46625 +0.59875 +0.71125007 +0.84250003 +1.005 +1.1637499 +1.31125 +1.435 +1.55 +1.60875 +1.625 +1.6574999 +1.68875 +1.7112501 +1.7037499 +1.64875 +1.5550001 +1.43125 +1.29625 +1.20875 +1.1899999 +1.2075 +1.215 +1.1637499 +1.045 +0.91 +0.77000004 +0.65875 +0.62625 +0.61500007 +0.57875 +0.48125 +0.35625 +0.23 +0.1175 +0.13499999 +0.235 +0.34875 +0.42749998 +0.44750002 +0.41875 +0.37249997 +0.33999997 +0.32 +0.30375 +0.28125 +0.24999999 +0.22875 +0.24125001 +0.2925 +0.365 +0.42000002 +0.43 +0.38625 +0.30875 +0.245 +0.22125001 +0.24499999 +0.29749998 +0.34 +0.3425 +0.3025 +0.25 +0.22375 +0.23249999 +0.28125 +0.3525 +0.405 +0.40875 +0.37374997 +0.36749998 +0.40125 +0.46625 +0.59875 +0.71125007 +0.84250003 +1.005 +1.1637499 +1.31125 +1.435 +1.55 +1.60875 +1.625 +1.6574999 +1.68875 +1.7112501 +1.7037499 +1.64875 +1.5550001 +1.43125 +1.29625 +1.20875 +1.1899999 +1.2075 +1.215 +1.1637499 +1.045 +0.91 +0.77000004 +0.65875 +0.62625 +0.61500007 +0.57875 +0.48125 +0.35625 +0.23 +0.1175 +0.13499999 +0.235 +0.34875 +0.42749998 +0.44750002 +0.41875 +0.37249997 +0.33999997 +0.32 +0.30375 +0.28125 +0.24999999 +0.22875 +0.24125001 +0.2925 +0.365 +0.42000002 +0.43 +0.58 +0.51875 +0.45375 +0.40875 +0.39749998 +0.415 +0.43875 +0.44875 +0.435 +0.4 +0.35875 +0.33749998 +0.35625 +0.40375 +0.45875 +0.48 +0.50374997 +0.54499996 +0.58375 +0.6125 +0.64250004 +0.67875004 +0.7275 +0.79625 +0.88125 +0.9625 +1.0225 +1.0474999 +1.0387499 +1.01625 +1.0074999 +1.02625 +1.06625 +1.095 +1.0775001 +0.99875 +0.88125 +0.7675 +0.71625 +0.74499995 +0.82750005 +0.9074999 +0.92875004 +0.86875004 +0.76125 +0.66875 +0.64125 +0.6825 +0.74875 +0.77125 +0.70124996 +0.54375 +0.3575 +0.2275 +0.20499998 +0.29375 +0.43624997 +0.55999994 +0.61875004 +0.6025 +0.54125 +0.47375003 +0.42875 +0.41375 +0.42 +0.43374997 +0.44875 +0.475 +0.51625 +0.56624997 +0.60375005 +0.61 +0.58 +0.51875 +0.45375 +0.40875 +0.39749998 +0.415 +0.43875 +0.44875 +0.435 +0.4 +0.35875 +0.33749998 +0.35625 +0.40375 +0.45875 +0.48 +0.50374997 +0.54499996 +0.58375 +0.6125 +0.64250004 +0.67875004 +0.7275 +0.79625 +0.88125 +0.9625 +1.0225 +1.0474999 +1.0387499 +1.01625 +1.0074999 +1.02625 +1.06625 +1.095 +1.0775001 +0.99875 +0.88125 +0.7675 +0.71625 +0.74499995 +0.82750005 +0.9074999 +0.92875004 +0.86875004 +0.76125 +0.66875 +0.64125 +0.6825 +0.74875 +0.77125 +0.70124996 +0.54375 +0.3575 +0.2275 +0.20499998 +0.29375 +0.43624997 +0.55999994 +0.61875004 +0.6025 +0.54125 +0.47375003 +0.42875 +0.41375 +0.42 +0.43374997 +0.44875 +0.475 +0.51625 +0.56624997 +0.60375005 +0.61 +0.66125 +0.62874997 +0.5775 +0.52125 +0.4825 +0.46625 +0.47999996 +0.5125 +0.54375 +0.56000006 +0.55125 +0.52375 +0.49499997 +0.47875 +0.49624997 +0.54125 +0.60249996 +0.66875 +0.70875 +0.70875 +0.66999996 +0.61875 +0.57625 +0.5675 +0.59375 +0.63374996 +0.65875 +0.63875 +0.58125 +0.52125 +0.49625006 +0.53625 +0.6225 +0.7125 +0.74625 +0.69500005 +0.5725 +0.43874997 +0.36624998 +0.3975 +0.50875 +0.6375 +0.71000004 +0.69750005 +0.62875 +0.57125 +0.58625 +0.6875 +0.82124996 +0.90375006 +0.865 +0.7012501 +0.47875 +0.3025 +0.24874997 +0.33999997 +0.52124995 +0.7075 +0.80999994 +0.80375 +0.71500003 +0.6 +0.5125 +0.48375005 +0.50624996 +0.55625 +0.59999996 +0.62874997 +0.64874995 +0.6575 +0.66875 +0.6725 +0.66125 +0.62874997 +0.5775 +0.52125 +0.4825 +0.46625 +0.47999996 +0.5125 +0.54375 +0.56000006 +0.55125 +0.52375 +0.49499997 +0.47875 +0.49624997 +0.54125 +0.60249996 +0.66875 +0.70875 +0.70875 +0.66999996 +0.61875 +0.57625 +0.5675 +0.59375 +0.63374996 +0.65875 +0.63875 +0.58125 +0.52125 +0.49625006 +0.53625 +0.6225 +0.7125 +0.74625 +0.69500005 +0.5725 +0.43874997 +0.36624998 +0.3975 +0.50875 +0.6375 +0.71000004 +0.69750005 +0.62875 +0.57125 +0.58625 +0.6875 +0.82124996 +0.90375006 +0.865 +0.7012501 +0.47875 +0.3025 +0.24874997 +0.33999997 +0.52124995 +0.7075 +0.80999994 +0.80375 +0.71500003 +0.6 +0.5125 +0.48375005 +0.50624996 +0.55625 +0.59999996 +0.62874997 +0.64874995 +0.6575 +0.66875 +0.6725 +0.5775 +0.58875 +0.5725 +0.52625 +0.46749997 +0.4325 +0.44875002 +0.515 +0.60999995 +0.695 +0.73125005 +0.70625 +0.64 +0.5625 +0.52124995 +0.53499997 +0.5925 +0.66375 +0.6975 +0.66625 +0.57249993 +0.45375 +0.35375002 +0.31125 +0.32625002 +0.37 +0.39374998 +0.36624998 +0.29 +0.21374999 +0.195 +0.27125 +0.42499998 +0.5875 +0.67875 +0.645 +0.4975 +0.3125 +0.18375 +0.17999999 +0.27875 +0.42375 +0.52500004 +0.53625 +0.47875 +0.42125 +0.44125 +0.56375 +0.73625 +0.86375 +0.86 +0.70875 +0.47625 +0.27749997 +0.2225 +0.33749998 +0.57500005 +0.8275 +0.9837499 +0.99 +0.87 +0.695 +0.55375004 +0.49500003 +0.52125 +0.58375 +0.63750005 +0.64875 +0.62125 +0.57874995 +0.55375004 +0.55625 +0.5775 +0.58875 +0.5725 +0.52625 +0.46749997 +0.4325 +0.44875002 +0.515 +0.60999995 +0.695 +0.73125005 +0.70625 +0.64 +0.5625 +0.52124995 +0.53499997 +0.5925 +0.66375 +0.6975 +0.66625 +0.57249993 +0.45375 +0.35375002 +0.31125 +0.32625002 +0.37 +0.39374998 +0.36624998 +0.29 +0.21374999 +0.195 +0.27125 +0.42499998 +0.5875 +0.67875 +0.645 +0.4975 +0.3125 +0.18375 +0.17999999 +0.27875 +0.42375 +0.52500004 +0.53625 +0.47875 +0.42125 +0.44125 +0.56375 +0.73625 +0.86375 +0.86 +0.70875 +0.47625 +0.27749997 +0.2225 +0.33749998 +0.57500005 +0.8275 +0.9837499 +0.99 +0.87 +0.695 +0.55375004 +0.49500003 +0.52125 +0.58375 +0.63750005 +0.64875 +0.62125 +0.57874995 +0.55375004 +0.55625 +0.3625 +0.43375003 +0.46624997 +0.44125003 +0.37874997 +0.33374998 +0.35500002 +0.45874998 +0.6225 +0.7825 +0.87125 +0.8575 +0.75125 +0.60875005 +0.49375 +0.46124998 +0.48125 +0.5325 +0.54999995 +0.48875 +0.39124998 +0.22 +0.114999995 +0.095 +0.112500004 +0.16750002 +0.22375001 +0.23375002 +0.15625 +0.05625 +0.057499997 +0.175 +0.3925 +0.62375003 +0.765 +0.75249994 +0.58125 +0.32 +0.10625 +0.06 +0.118750006 +0.255 +0.36625 +0.3775 +0.32625002 +0.24125 +0.21000001 +0.3075 +0.4875 +0.6425 +0.67625004 +0.5775 +0.38 +0.1575 +0.14 +0.28124997 +0.58250004 +0.9025 +1.10875 +1.1287501 +0.97625 +0.74375 +0.54125 +0.44375002 +0.45375 +0.51875 +0.56374997 +0.54375 +0.46125 +0.36 +0.30624998 +0.31875002 +0.3625 +0.43375003 +0.46624997 +0.44125003 +0.37874997 +0.33374998 +0.35500002 +0.45874998 +0.6225 +0.7825 +0.87125 +0.8575 +0.75125 +0.60875005 +0.49375 +0.46124998 +0.48125 +0.5325 +0.54999995 +0.48875 +0.39124998 +0.22 +0.114999995 +0.095 +0.112500004 +0.16750002 +0.22375001 +0.23375002 +0.15625 +0.05625 +0.057499997 +0.175 +0.3925 +0.62375003 +0.765 +0.75249994 +0.58125 +0.32 +0.10625 +0.06 +0.118750006 +0.255 +0.36625 +0.3775 +0.32625002 +0.24125 +0.21000001 +0.3075 +0.4875 +0.6425 +0.67625004 +0.5775 +0.38 +0.1575 +0.14 +0.28124997 +0.58250004 +0.9025 +1.10875 +1.1287501 +0.97625 +0.74375 +0.54125 +0.44375002 +0.45375 +0.51875 +0.56374997 +0.54375 +0.46125 +0.36 +0.30624998 +0.31875002 +0.20499998 +0.27124998 +0.35375 +0.34625003 +0.27499998 +0.21125 +0.22874999 +0.35999998 +0.5825 +0.81125 +0.95375 +0.9575 +0.82624996 +0.6275 +0.45 +0.37124997 +0.34999996 +0.3625 +0.355 +0.305 +0.19125 +0.06 +0.005 +0.0025 +0.0125 +0.0625 +0.18124999 +0.21625 +0.14750001 +0.05375 +0.0325 +0.15375 +0.4125 +0.7025 +0.89750004 +0.895 +0.69249994 +0.37875003 +0.099999994 +0.005 +0.02625 +0.13 +0.26999998 +0.31 +0.23124999 +0.11999999 +0.053749997 +0.08 +0.18125 +0.3425 +0.43875 +0.4 +0.23749998 +0.0625 +0.061249997 +0.22625 +0.56125003 +0.93375 +1.17375 +1.1975 +1.01875 +0.73625004 +0.48125002 +0.34625 +0.33875 +0.39874998 +0.43624997 +0.39249998 +0.265 +0.155 +0.12875 +0.15625 +0.20499998 +0.27124998 +0.35375 +0.34625003 +0.27499998 +0.21125 +0.22874999 +0.35999998 +0.5825 +0.81125 +0.95375 +0.9575 +0.82624996 +0.6275 +0.45 +0.37124997 +0.34999996 +0.3625 +0.355 +0.305 +0.19125 +0.06 +0.005 +0.0025 +0.0125 +0.0625 +0.18124999 +0.21625 +0.14750001 +0.05375 +0.0325 +0.15375 +0.4125 +0.7025 +0.89750004 +0.895 +0.69249994 +0.37875003 +0.099999994 +0.005 +0.02625 +0.13 +0.26999998 +0.31 +0.23124999 +0.11999999 +0.053749997 +0.08 +0.18125 +0.3425 +0.43875 +0.4 +0.23749998 +0.0625 +0.061249997 +0.22625 +0.56125003 +0.93375 +1.17375 +1.1975 +1.01875 +0.73625004 +0.48125002 +0.34625 +0.33875 +0.39874998 +0.43624997 +0.39249998 +0.265 +0.155 +0.12875 +0.15625 +0.21374999 +0.25249997 +0.33124998 +0.32625002 +0.22875 +0.1425 +0.14999999 +0.26 +0.51 +0.78875005 +0.97875 +1.00875 +0.875 +0.65 +0.4325 +0.31375 +0.27374998 +0.26500002 +0.24249999 +0.19125 +0.08125 +0.00375 +0.0 +0.0 +0.00625 +0.05375 +0.17249998 +0.22000001 +0.16125001 +0.0725 +0.055 +0.1825 +0.44625 +0.74499995 +0.94250005 +0.935 +0.7175 +0.3825 +0.09 +0.0025 +0.01625 +0.105000004 +0.24 +0.2775 +0.18 +0.058749996 +0.0 +0.00875 +0.044999998 +0.135 +0.25 +0.2475 +0.12375 +0.0175 +0.0425 +0.20124999 +0.54125 +0.93 +1.18125 +1.2 +1.0 +0.6825 +0.39375 +0.2475 +0.23625001 +0.29 +0.335 +0.2875 +0.16125 +0.113749996 +0.1525 +0.1925 +0.21374999 +0.25249997 +0.33124998 +0.32625002 +0.22875 +0.1425 +0.14999999 +0.26 +0.51 +0.78875005 +0.97875 +1.00875 +0.875 +0.65 +0.4325 +0.31375 +0.27374998 +0.26500002 +0.24249999 +0.19125 +0.08125 +0.00375 +0.0 +0.0 +0.00625 +0.05375 +0.17249998 +0.22000001 +0.16125001 +0.0725 +0.055 +0.1825 +0.44625 +0.74499995 +0.94250005 +0.935 +0.7175 +0.3825 +0.09 +0.0025 +0.01625 +0.105000004 +0.24 +0.2775 +0.18 +0.058749996 +0.0 +0.00875 +0.044999998 +0.135 +0.25 +0.2475 +0.12375 +0.0175 +0.0425 +0.20124999 +0.54125 +0.93 +1.18125 +1.2 +1.0 +0.6825 +0.39375 +0.2475 +0.23625001 +0.29 +0.335 +0.2875 +0.16125 +0.113749996 +0.1525 +0.1925 +0.28249997 +0.38124996 +0.45375 +0.42374998 +0.2825 +0.165 +0.155 +0.21874999 +0.44125003 +0.7437499 +0.965 +1.02 +0.90375 +0.68375 +0.46 +0.325 +0.28375 +0.28875 +0.27624997 +0.21125 +0.105 +0.0225 +0.0 +0.0175 +0.03375 +0.09 +0.19874999 +0.24625 +0.19 +0.105000004 +0.085 +0.19874999 +0.445 +0.72125 +0.895 +0.875 +0.66625 +0.3475 +0.082499996 +0.01125 +0.02125 +0.121249996 +0.26 +0.3 +0.19749999 +0.065 +0.0 +0.0 +0.02875 +0.07625 +0.16 +0.1825 +0.095 +0.00875 +0.055 +0.2125 +0.54 +0.90625 +1.14 +1.14625 +0.93375 +0.60875 +0.31375 +0.195 +0.2 +0.2525 +0.3175 +0.29500002 +0.20375001 +0.16375 +0.20375 +0.24375 +0.28249997 +0.38124996 +0.45375 +0.42374998 +0.2825 +0.165 +0.155 +0.21874999 +0.44125003 +0.7437499 +0.965 +1.02 +0.90375 +0.68375 +0.46 +0.325 +0.28375 +0.28875 +0.27624997 +0.21125 +0.105 +0.0225 +0.0 +0.0175 +0.03375 +0.09 +0.19874999 +0.24625 +0.19 +0.105000004 +0.085 +0.19874999 +0.445 +0.72125 +0.895 +0.875 +0.66625 +0.3475 +0.082499996 +0.01125 +0.02125 +0.121249996 +0.26 +0.3 +0.19749999 +0.065 +0.0 +0.0 +0.02875 +0.07625 +0.16 +0.1825 +0.095 +0.00875 +0.055 +0.2125 +0.54 +0.90625 +1.14 +1.14625 +0.93375 +0.60875 +0.31375 +0.195 +0.2 +0.2525 +0.3175 +0.29500002 +0.20375001 +0.16375 +0.20375 +0.24375 +0.46500003 +0.6025 +0.68 +0.60875 +0.41625 +0.22999999 +0.16875 +0.21124999 +0.405 +0.69624996 +0.91875005 +0.98875 +0.89750004 +0.70000005 +0.5025 +0.38500002 +0.36374998 +0.39875 +0.41875002 +0.36874998 +0.2475 +0.12625 +0.08625 +0.106249996 +0.1425 +0.2125 +0.27249998 +0.30124998 +0.25625 +0.17625001 +0.16125001 +0.2825 +0.49875 +0.7275 +0.86625004 +0.84499997 +0.66125005 +0.39374998 +0.16875 +0.083749995 +0.1175 +0.2225 +0.33125 +0.365 +0.26999998 +0.10249999 +0.03 +0.05375 +0.08625 +0.14375 +0.21375 +0.21625002 +0.13374999 +0.06375 +0.08625 +0.24125 +0.53375 +0.85 +1.04875 +1.0425 +0.84124994 +0.53375 +0.26875 +0.175 +0.19375001 +0.28375003 +0.38249996 +0.40625 +0.33875003 +0.27499998 +0.28625 +0.3525 +0.46500003 +0.6025 +0.68 +0.60875 +0.41625 +0.22999999 +0.16875 +0.21124999 +0.405 +0.69624996 +0.91875005 +0.98875 +0.89750004 +0.70000005 +0.5025 +0.38500002 +0.36374998 +0.39875 +0.41875002 +0.36874998 +0.2475 +0.12625 +0.08625 +0.106249996 +0.1425 +0.2125 +0.27249998 +0.30124998 +0.25625 +0.17625001 +0.16125001 +0.2825 +0.49875 +0.7275 +0.86625004 +0.84499997 +0.66125005 +0.39374998 +0.16875 +0.083749995 +0.1175 +0.2225 +0.33125 +0.365 +0.26999998 +0.10249999 +0.03 +0.05375 +0.08625 +0.14375 +0.21375 +0.21625002 +0.13374999 +0.06375 +0.08625 +0.24125 +0.53375 +0.85 +1.04875 +1.0425 +0.84124994 +0.53375 +0.26875 +0.175 +0.19375001 +0.28375003 +0.38249996 +0.40625 +0.33875003 +0.27499998 +0.28625 +0.3525 +0.715 +0.855 +0.89500004 +0.78625 +0.5625 +0.32125 +0.19624999 +0.225 +0.39874998 +0.65000004 +0.85 +0.9125 +0.82875 +0.66125 +0.4975 +0.41000003 +0.42 +0.48375 +0.535 +0.525 +0.4425 +0.32749996 +0.245 +0.23125 +0.26624998 +0.33 +0.38625 +0.39249998 +0.35000002 +0.3025 +0.31 +0.39875 +0.55625004 +0.72625 +0.82625 +0.8025 +0.65875006 +0.45375004 +0.28 +0.21 +0.25375 +0.36375 +0.45499998 +0.46125 +0.36375 +0.20749998 +0.11624999 +0.11875 +0.14874999 +0.2225 +0.28875 +0.28375003 +0.20249999 +0.11875 +0.115 +0.24124998 +0.48125002 +0.74250007 +0.9075 +0.9 +0.72625 +0.46875 +0.25000003 +0.1675 +0.215 +0.3425 +0.48000002 +0.5425 +0.52625 +0.48000002 +0.47750002 +0.5625 +0.715 +0.855 +0.89500004 +0.78625 +0.5625 +0.32125 +0.19624999 +0.225 +0.39874998 +0.65000004 +0.85 +0.9125 +0.82875 +0.66125 +0.4975 +0.41000003 +0.42 +0.48375 +0.535 +0.525 +0.4425 +0.32749996 +0.245 +0.23125 +0.26624998 +0.33 +0.38625 +0.39249998 +0.35000002 +0.3025 +0.31 +0.39875 +0.55625004 +0.72625 +0.82625 +0.8025 +0.65875006 +0.45375004 +0.28 +0.21 +0.25375 +0.36375 +0.45499998 +0.46125 +0.36375 +0.20749998 +0.11624999 +0.11875 +0.14874999 +0.2225 +0.28875 +0.28375003 +0.20249999 +0.11875 +0.115 +0.24124998 +0.48125002 +0.74250007 +0.9075 +0.9 +0.72625 +0.46875 +0.25000003 +0.1675 +0.215 +0.3425 +0.48000002 +0.5425 +0.52625 +0.48000002 +0.47750002 +0.5625 +0.87250006 +0.9812499 +0.9875001 +0.86125004 +0.63374996 +0.39875 +0.255 +0.25875 +0.40125 +0.59875 +0.75125 +0.78375 +0.6925 +0.5375 +0.39625 +0.32875 +0.355 +0.43625 +0.51124996 +0.5325 +0.48624998 +0.39874998 +0.31625 +0.27999997 +0.29749998 +0.345 +0.39374998 +0.41125003 +0.39875 +0.37875 +0.38875002 +0.4525 +0.5575 +0.67125 +0.735 +0.71375 +0.615 +0.47750005 +0.365 +0.325 +0.36625 +0.45 +0.51125 +0.50375 +0.41250002 +0.27875 +0.1775 +0.15874998 +0.18249999 +0.24499997 +0.29375002 +0.27375 +0.1925 +0.107499994 +0.09374999 +0.17624998 +0.365 +0.57874995 +0.71999997 +0.72624993 +0.6 +0.40875 +0.2475 +0.1925 +0.26125 +0.40500003 +0.5475 +0.62625 +0.63875 +0.62874997 +0.64875007 +0.73999995 +0.87250006 +0.9812499 +0.9875001 +0.86125004 +0.63374996 +0.39875 +0.255 +0.25875 +0.40125 +0.59875 +0.75125 +0.78375 +0.6925 +0.5375 +0.39625 +0.32875 +0.355 +0.43625 +0.51124996 +0.5325 +0.48624998 +0.39874998 +0.31625 +0.27999997 +0.29749998 +0.345 +0.39374998 +0.41125003 +0.39875 +0.37875 +0.38875002 +0.4525 +0.5575 +0.67125 +0.735 +0.71375 +0.615 +0.47750005 +0.365 +0.325 +0.36625 +0.45 +0.51125 +0.50375 +0.41250002 +0.27875 +0.1775 +0.15874998 +0.18249999 +0.24499997 +0.29375002 +0.27375 +0.1925 +0.107499994 +0.09374999 +0.17624998 +0.365 +0.57874995 +0.71999997 +0.72624993 +0.6 +0.40875 +0.2475 +0.1925 +0.26125 +0.40500003 +0.5475 +0.62625 +0.63875 +0.62874997 +0.64875007 +0.73999995 +0.85125 +0.92999995 +0.92 +0.7975 +0.59875 +0.4 +0.28 +0.28125 +0.3875 +0.53125 +0.63 +0.625 +0.51874995 +0.36 +0.2225 +0.16874999 +0.18625 +0.25750002 +0.33625 +0.37750003 +0.35875002 +0.28 +0.21375 +0.18124999 +0.18625 +0.21125 +0.26250002 +0.29999998 +0.31875002 +0.325 +0.34249997 +0.3875 +0.45749998 +0.53375 +0.5825 +0.58 +0.52625 +0.44624996 +0.3825 +0.36499998 +0.3975 +0.45374998 +0.49 +0.47125 +0.39125 +0.28125 +0.19624999 +0.17500001 +0.19874999 +0.24374998 +0.2725 +0.2375 +0.16125001 +0.075 +0.05625 +0.106249996 +0.23374999 +0.41 +0.535 +0.56125 +0.48499998 +0.35750002 +0.25875002 +0.24000001 +0.3125 +0.44125 +0.56 +0.62625 +0.64125 +0.64 +0.6675 +0.745 +0.85125 +0.92999995 +0.92 +0.7975 +0.59875 +0.4 +0.28 +0.28125 +0.3875 +0.53125 +0.63 +0.625 +0.51874995 +0.36 +0.2225 +0.16874999 +0.18625 +0.25750002 +0.33625 +0.37750003 +0.35875002 +0.28 +0.21375 +0.18124999 +0.18625 +0.21125 +0.26250002 +0.29999998 +0.31875002 +0.325 +0.34249997 +0.3875 +0.45749998 +0.53375 +0.5825 +0.58 +0.52625 +0.44624996 +0.3825 +0.36499998 +0.3975 +0.45374998 +0.49 +0.47125 +0.39125 +0.28125 +0.19624999 +0.17500001 +0.19874999 +0.24374998 +0.2725 +0.2375 +0.16125001 +0.075 +0.05625 +0.106249996 +0.23374999 +0.41 +0.535 +0.56125 +0.48499998 +0.35750002 +0.25875002 +0.24000001 +0.3125 +0.44125 +0.56 +0.62625 +0.64125 +0.64 +0.6675 +0.745 +0.7275 +0.77875 +0.75750005 +0.65375 +0.4975 +0.34499997 +0.26125 +0.27 +0.35374996 +0.45625 +0.51375 +0.48375 +0.36625 +0.20375 +0.07625 +0.0375 +0.04875 +0.07125 +0.16 +0.23125002 +0.22375 +0.1375 +0.043750003 +0.0475 +0.06375 +0.0675 +0.09374999 +0.13999999 +0.19125001 +0.20000002 +0.21374999 +0.24874999 +0.30749997 +0.3825 +0.44875002 +0.48000002 +0.47249997 +0.43125 +0.39375 +0.38625 +0.41125003 +0.45375 +0.48375 +0.4775 +0.43125 +0.34374997 +0.28875 +0.28125 +0.31875 +0.37125 +0.39000002 +0.38625 +0.30875 +0.19875 +0.12125 +0.11624999 +0.20125 +0.32875 +0.43374997 +0.46625 +0.425 +0.34749997 +0.29125 +0.29875 +0.37 +0.46999997 +0.5525 +0.59000003 +0.58875 +0.5775 +0.5925 +0.64875 +0.7275 +0.77875 +0.75750005 +0.65375 +0.4975 +0.34499997 +0.26125 +0.27 +0.35374996 +0.45625 +0.51375 +0.48375 +0.36625 +0.20375 +0.07625 +0.0375 +0.04875 +0.07125 +0.16 +0.23125002 +0.22375 +0.1375 +0.043750003 +0.0475 +0.06375 +0.0675 +0.09374999 +0.13999999 +0.19125001 +0.20000002 +0.21374999 +0.24874999 +0.30749997 +0.3825 +0.44875002 +0.48000002 +0.47249997 +0.43125 +0.39375 +0.38625 +0.41125003 +0.45375 +0.48375 +0.4775 +0.43125 +0.34374997 +0.28875 +0.28125 +0.31875 +0.37125 +0.39000002 +0.38625 +0.30875 +0.19875 +0.12125 +0.11624999 +0.20125 +0.32875 +0.43374997 +0.46625 +0.425 +0.34749997 +0.29125 +0.29875 +0.37 +0.46999997 +0.5525 +0.59000003 +0.58875 +0.5775 +0.5925 +0.64875 +0.63124996 +0.65625 +0.62499994 +0.535 +0.41125 +0.29875 +0.23749998 +0.24875 +0.31624997 +0.39875 +0.44125 +0.42125 +0.325 +0.17125 +0.0425 +0.00625 +0.005 +0.04375 +0.13749999 +0.22 +0.22375001 +0.14125 +0.051250003 +0.00875 +0.0275 +0.03375 +0.0525 +0.12625 +0.17750001 +0.1775 +0.15500002 +0.1775 +0.2525 +0.36124998 +0.47 +0.54875 +0.5775 +0.55875 +0.52375 +0.51124996 +0.53375 +0.5825 +0.64374995 +0.6975 +0.69624996 +0.65874994 +0.62624997 +0.65375006 +0.73 +0.81 +0.875 +0.855 +0.73875 +0.56875 +0.41125 +0.32875 +0.34625 +0.42875 +0.5025 +0.53125 +0.495 +0.42374998 +0.37625003 +0.39499998 +0.45999998 +0.53999996 +0.5975 +0.60875 +0.58375 +0.5575 +0.5525 +0.58375 +0.63124996 +0.65625 +0.62499994 +0.535 +0.41125 +0.29875 +0.23749998 +0.24875 +0.31624997 +0.39875 +0.44125 +0.42125 +0.325 +0.17125 +0.0425 +0.00625 +0.005 +0.04375 +0.13749999 +0.22 +0.22375001 +0.14125 +0.051250003 +0.00875 +0.0275 +0.03375 +0.0525 +0.12625 +0.17750001 +0.1775 +0.15500002 +0.1775 +0.2525 +0.36124998 +0.47 +0.54875 +0.5775 +0.55875 +0.52375 +0.51124996 +0.53375 +0.5825 +0.64374995 +0.6975 +0.69624996 +0.65874994 +0.62624997 +0.65375006 +0.73 +0.81 +0.875 +0.855 +0.73875 +0.56875 +0.41125 +0.32875 +0.34625 +0.42875 +0.5025 +0.53125 +0.495 +0.42374998 +0.37625003 +0.39499998 +0.45999998 +0.53999996 +0.5975 +0.60875 +0.58375 +0.5575 +0.5525 +0.58375 +0.665 +0.665 +0.62250006 +0.53375 +0.42 +0.31625 +0.2525 +0.25 +0.29999998 +0.37499997 +0.43375 +0.4525 +0.39124998 +0.26874998 +0.13625 +0.06999999 +0.08875 +0.18875 +0.34125 +0.46375003 +0.49374998 +0.41875 +0.28875 +0.185 +0.15 +0.17 +0.245 +0.33125 +0.3625 +0.33875003 +0.2925 +0.30624998 +0.40875 +0.57124996 +0.745 +0.87375 +0.92625 +0.90375006 +0.84999996 +0.81624997 +0.83624995 +0.90875 +1.02 +1.1275 +1.18875 +1.2149999 +1.25 +1.3375001 +1.47875 +1.62 +1.7 +1.65375 +1.475 +1.2137501 +0.9575 +0.78125 +0.71625 +0.73 +0.7575 +0.7475 +0.6825 +0.59125 +0.52625 +0.5425 +0.6075 +0.68875 +0.74125004 +0.74375 +0.7075 +0.66625 +0.6425 +0.64750004 +0.665 +0.665 +0.62250006 +0.53375 +0.42 +0.31625 +0.2525 +0.25 +0.29999998 +0.37499997 +0.43375 +0.4525 +0.39124998 +0.26874998 +0.13625 +0.06999999 +0.08875 +0.18875 +0.34125 +0.46375003 +0.49374998 +0.41875 +0.28875 +0.185 +0.15 +0.17 +0.245 +0.33125 +0.3625 +0.33875003 +0.2925 +0.30624998 +0.40875 +0.57124996 +0.745 +0.87375 +0.92625 +0.90375006 +0.84999996 +0.81624997 +0.83624995 +0.90875 +1.02 +1.1275 +1.18875 +1.2149999 +1.25 +1.3375001 +1.47875 +1.62 +1.7 +1.65375 +1.475 +1.2137501 +0.9575 +0.78125 +0.71625 +0.73 +0.7575 +0.7475 +0.6825 +0.59125 +0.52625 +0.5425 +0.6075 +0.68875 +0.74125004 +0.74375 +0.7075 +0.66625 +0.6425 +0.64750004 +0.81875 +0.79875 +0.74625003 +0.6525 +0.53 +0.40749997 +0.31125 +0.27125 +0.2975 +0.37249997 +0.46374997 +0.5325 +0.525 +0.44125003 +0.33625 +0.28625 +0.32999998 +0.49874997 +0.72749996 +0.925 +1.0125 +0.96124995 +0.8175 +0.67375004 +0.60625 +0.61249995 +0.67875 +0.74249995 +0.74375 +0.68 +0.6075 +0.63249993 +0.76374996 +0.9825001 +1.2212499 +1.39375 +1.4525 +1.4012501 +1.30375 +1.23375 +1.2475 +1.3475001 +1.49125 +1.65625 +1.7812499 +1.8775 +1.99 +2.1675 +2.4025002 +2.6024997 +2.69875 +2.6187499 +2.35375 +1.9725 +1.5937501 +1.31375 +1.17125 +1.13625 +1.1125 +1.0537499 +0.93875 +0.80625 +0.71375 +0.71500003 +0.78875 +0.8875 +0.95875 +0.97499996 +0.94124997 +0.8875 +0.8475 +0.8275 +0.81875 +0.79875 +0.74625003 +0.6525 +0.53 +0.40749997 +0.31125 +0.27125 +0.2975 +0.37249997 +0.46374997 +0.5325 +0.525 +0.44125003 +0.33625 +0.28625 +0.32999998 +0.49874997 +0.72749996 +0.925 +1.0125 +0.96124995 +0.8175 +0.67375004 +0.60625 +0.61249995 +0.67875 +0.74249995 +0.74375 +0.68 +0.6075 +0.63249993 +0.76374996 +0.9825001 +1.2212499 +1.39375 +1.4525 +1.4012501 +1.30375 +1.23375 +1.2475 +1.3475001 +1.49125 +1.65625 +1.7812499 +1.8775 +1.99 +2.1675 +2.4025002 +2.6024997 +2.69875 +2.6187499 +2.35375 +1.9725 +1.5937501 +1.31375 +1.17125 +1.13625 +1.1125 +1.0537499 +0.93875 +0.80625 +0.71375 +0.71500003 +0.78875 +0.8875 +0.95875 +0.97499996 +0.94124997 +0.8875 +0.8475 +0.8275 +0.97875 +0.9525 +0.90374994 +0.81375 +0.68125004 +0.52875 +0.38625002 +0.29375002 +0.28375 +0.35750002 +0.48125 +0.59499997 +0.63625 +0.5925 +0.50875 +0.46750003 +0.54749995 +0.78249997 +1.11875 +1.4300001 +1.6037501 +1.5950001 +1.4625 +1.3000001 +1.185 +1.15375 +1.1850001 +1.20625 +1.1662501 +1.07625 +0.99375 +1.0 +1.14625 +1.4062499 +1.69125 +1.8924999 +1.9399999 +1.84375 +1.6850001 +1.5699999 +1.5699999 +1.6925 +1.8812499 +2.07375 +2.2375 +2.39125 +2.58875 +2.865 +3.19 +3.4699998 +3.58125 +3.4487498 +3.0887501 +2.58375 +2.08125 +1.70875 +1.52 +1.46375 +1.4275 +1.33125 +1.1675 +0.98875 +0.86375 +0.84875 +0.935 +1.0625 +1.1662501 +1.20375 +1.17375 +1.11125 +1.0475 +1.0024999 +0.97875 +0.9525 +0.90374994 +0.81375 +0.68125004 +0.52875 +0.38625002 +0.29375002 +0.28375 +0.35750002 +0.48125 +0.59499997 +0.63625 +0.5925 +0.50875 +0.46750003 +0.54749995 +0.78249997 +1.11875 +1.4300001 +1.6037501 +1.5950001 +1.4625 +1.3000001 +1.185 +1.15375 +1.1850001 +1.20625 +1.1662501 +1.07625 +0.99375 +1.0 +1.14625 +1.4062499 +1.69125 +1.8924999 +1.9399999 +1.84375 +1.6850001 +1.5699999 +1.5699999 +1.6925 +1.8812499 +2.07375 +2.2375 +2.39125 +2.58875 +2.865 +3.19 +3.4699998 +3.58125 +3.4487498 +3.0887501 +2.58375 +2.08125 +1.70875 +1.52 +1.46375 +1.4275 +1.33125 +1.1675 +0.98875 +0.86375 +0.84875 +0.935 +1.0625 +1.1662501 +1.20375 +1.17375 +1.11125 +1.0475 +1.0024999 +1.0074999 +0.99625003 +0.97499996 +0.91125 +0.78875005 +0.61375 +0.42749998 +0.2825 +0.2475 +0.31 +0.45125002 +0.60125 +0.67125 +0.63 +0.52625 +0.46750003 +0.56875 +0.87624997 +1.3275 +1.77 +2.04875 +2.1087499 +1.985 +1.7775002 +1.6062499 +1.53 +1.53125 +1.53 +1.46125 +1.3312501 +1.2049999 +1.1825001 +1.3262501 +1.60625 +1.9200001 +2.1275 +2.1525002 +2.0062501 +1.785 +1.62 +1.6025 +1.74 +1.9625 +2.19125 +2.38375 +2.5662498 +2.8075001 +3.1487503 +3.5525002 +3.9025002 +4.045 +3.875 +3.41625 +2.8025 +2.2 +1.7687502 +1.57 +1.5387499 +1.5374999 +1.4575 +1.2775 +1.05875 +0.9 +0.87125003 +0.96625006 +1.1225 +1.2587501 +1.3149999 +1.2825 +1.19625 +1.1025 +1.0362501 +1.0074999 +0.99625003 +0.97499996 +0.91125 +0.78875005 +0.61375 +0.42749998 +0.2825 +0.2475 +0.31 +0.45125002 +0.60125 +0.67125 +0.63 +0.52625 +0.46750003 +0.56875 +0.87624997 +1.3275 +1.77 +2.04875 +2.1087499 +1.985 +1.7775002 +1.6062499 +1.53 +1.53125 +1.53 +1.46125 +1.3312501 +1.2049999 +1.1825001 +1.3262501 +1.60625 +1.9200001 +2.1275 +2.1525002 +2.0062501 +1.785 +1.62 +1.6025 +1.74 +1.9625 +2.19125 +2.38375 +2.5662498 +2.8075001 +3.1487503 +3.5525002 +3.9025002 +4.045 +3.875 +3.41625 +2.8025 +2.2 +1.7687502 +1.57 +1.5387499 +1.5374999 +1.4575 +1.2775 +1.05875 +0.9 +0.87125003 +0.96625006 +1.1225 +1.2587501 +1.3149999 +1.2825 +1.19625 +1.1025 +1.0362501 +0.85125005 +0.8725 +0.9 +0.88875 +0.80125004 +0.63125 +0.4175 +0.2575 +0.205 +0.2475 +0.37625 +0.53499997 +0.60625 +0.5375 +0.38 +0.29375002 +0.39375 +0.73875 +1.29375 +1.855 +2.2375 +2.35625 +2.23 +1.97375 +1.7349999 +1.6025 +1.5674999 +1.54375 +1.45 +1.285 +1.1175 +1.06 +1.185 +1.46625 +1.7862501 +1.995 +1.99875 +1.81 +1.5374999 +1.3312501 +1.2975 +1.44 +1.6800001 +1.9250001 +2.125 +2.315 +2.56875 +2.9399998 +3.39875 +3.7987497 +3.96625 +3.7749999 +3.2512503 +2.5587502 +1.895 +1.4425 +1.26625 +1.3025 +1.3812499 +1.35875 +1.1975 +0.96999997 +0.78875005 +0.74625003 +0.84875 +1.0275 +1.18625 +1.2524999 +1.2075 +1.0925 +0.9625001 +0.8775 +0.85125005 +0.8725 +0.9 +0.88875 +0.80125004 +0.63125 +0.4175 +0.2575 +0.205 +0.2475 +0.37625 +0.53499997 +0.60625 +0.5375 +0.38 +0.29375002 +0.39375 +0.73875 +1.29375 +1.855 +2.2375 +2.35625 +2.23 +1.97375 +1.7349999 +1.6025 +1.5674999 +1.54375 +1.45 +1.285 +1.1175 +1.06 +1.185 +1.46625 +1.7862501 +1.995 +1.99875 +1.81 +1.5374999 +1.3312501 +1.2975 +1.44 +1.6800001 +1.9250001 +2.125 +2.315 +2.56875 +2.9399998 +3.39875 +3.7987497 +3.96625 +3.7749999 +3.2512503 +2.5587502 +1.895 +1.4425 +1.26625 +1.3025 +1.3812499 +1.35875 +1.1975 +0.96999997 +0.78875005 +0.74625003 +0.84875 +1.0275 +1.18625 +1.2524999 +1.2075 +1.0925 +0.9625001 +0.8775 +0.59250003 +0.64625007 +0.73625 +0.79125 +0.75375 +0.60875005 +0.4025 +0.245 +0.185 +0.2075 +0.3125 +0.45625 +0.515 +0.405 +0.20625 +0.10875 +0.1875 +0.51875 +1.12875 +1.7850001 +2.25125 +2.40375 +2.2675 +1.95875 +1.6487501 +1.4525001 +1.3712499 +1.3175 +1.2025001 +1.0075 +0.80499995 +0.71500003 +0.81499994 +1.0849999 +1.40375 +1.61375 +1.61 +1.39625 +1.09375 +0.86125 +0.8125 +0.95375 +1.20125 +1.45 +1.6424999 +1.81125 +2.0487502 +2.42 +2.8925 +3.3175 +3.49375 +3.2887502 +2.7425 +2.0049999 +1.31625 +0.875 +0.74875 +0.85749996 +1.02875 +1.08 +0.9625 +0.74625003 +0.55999994 +0.51375 +0.6225 +0.81624997 +0.99125004 +1.06125 +1.0037501 +0.86125 +0.70624995 +0.6025 +0.59250003 +0.64625007 +0.73625 +0.79125 +0.75375 +0.60875005 +0.4025 +0.245 +0.185 +0.2075 +0.3125 +0.45625 +0.515 +0.405 +0.20625 +0.10875 +0.1875 +0.51875 +1.12875 +1.7850001 +2.25125 +2.40375 +2.2675 +1.95875 +1.6487501 +1.4525001 +1.3712499 +1.3175 +1.2025001 +1.0075 +0.80499995 +0.71500003 +0.81499994 +1.0849999 +1.40375 +1.61375 +1.61 +1.39625 +1.09375 +0.86125 +0.8125 +0.95375 +1.20125 +1.45 +1.6424999 +1.81125 +2.0487502 +2.42 +2.8925 +3.3175 +3.49375 +3.2887502 +2.7425 +2.0049999 +1.31625 +0.875 +0.74875 +0.85749996 +1.02875 +1.08 +0.9625 +0.74625003 +0.55999994 +0.51375 +0.6225 +0.81624997 +0.99125004 +1.06125 +1.0037501 +0.86125 +0.70624995 +0.6025 +0.40625 +0.48625 +0.61375004 +0.72374994 +0.7375001 +0.62375003 +0.42999998 +0.255 +0.1875 +0.20750001 +0.30625 +0.46124998 +0.51125 +0.38 +0.16749999 +0.0375 +0.095000006 +0.41249996 +1.065 +1.7800001 +2.3025 +2.47625 +2.32375 +1.96375 +1.5849999 +1.32 +1.18 +1.09 +0.95125 +0.735 +0.5075 +0.39 +0.47 +0.73 +1.05 +1.2675 +1.2649999 +1.04875 +0.73375 +0.48749998 +0.42624998 +0.5625 +0.80875003 +1.04875 +1.22 +1.35625 +1.5575 +1.9000001 +2.3525 +2.77 +2.9424999 +2.7325 +2.18 +1.4312501 +0.74125 +0.32 +0.27375 +0.425 +0.6475 +0.76125 +0.685 +0.48874998 +0.31 +0.28875 +0.39874998 +0.5812501 +0.77 +0.84875 +0.795 +0.64625 +0.4825 +0.39875 +0.40625 +0.48625 +0.61375004 +0.72374994 +0.7375001 +0.62375003 +0.42999998 +0.255 +0.1875 +0.20750001 +0.30625 +0.46124998 +0.51125 +0.38 +0.16749999 +0.0375 +0.095000006 +0.41249996 +1.065 +1.7800001 +2.3025 +2.47625 +2.32375 +1.96375 +1.5849999 +1.32 +1.18 +1.09 +0.95125 +0.735 +0.5075 +0.39 +0.47 +0.73 +1.05 +1.2675 +1.2649999 +1.04875 +0.73375 +0.48749998 +0.42624998 +0.5625 +0.80875003 +1.04875 +1.22 +1.35625 +1.5575 +1.9000001 +2.3525 +2.77 +2.9424999 +2.7325 +2.18 +1.4312501 +0.74125 +0.32 +0.27375 +0.425 +0.6475 +0.76125 +0.685 +0.48874998 +0.31 +0.28875 +0.39874998 +0.5812501 +0.77 +0.84875 +0.795 +0.64625 +0.4825 +0.39875 +0.34499997 +0.45125 +0.51125 +0.51000005 +0.4875 +0.48749995 +0.5375 +0.63 +0.75125 +0.88625 +1.035 +1.20125 +1.3799999 +1.5425 +1.6550001 +1.6825 +1.635 +1.51875 +1.35875 +1.185 +1.0125 +0.85499996 +0.7225 +0.58875 +0.4675 +0.385 +0.3525 +0.34749997 +0.33249998 +0.27125 +0.17875 +0.16624999 +0.1925 +0.2225 +0.25 +0.2725 +0.32125 +0.4325 +0.50125 +0.5075 +0.49375004 +0.5 +0.5525 +0.64875 +0.77375 +0.91249996 +1.0649999 +1.23375 +1.4075 +1.5637499 +1.6650001 +1.6775001 +1.62125 +1.49875 +1.33375 +1.1575 +0.985 +0.8299999 +0.69624996 +0.55999994 +0.44375002 +0.3675 +0.34375 +0.34749997 +0.34125 +0.28375 +0.19375001 +0.16875 +0.19625 +0.22875 +0.25875 +0.2825 +0.34499997 +0.45125 +0.51125 +0.51000005 +0.4875 +0.48749995 +0.5375 +0.63 +0.75125 +0.88625 +1.035 +1.20125 +1.3799999 +1.5425 +1.6550001 +1.6825 +1.635 +1.51875 +1.35875 +1.185 +1.0125 +0.85499996 +0.7225 +0.58875 +0.4675 +0.385 +0.3525 +0.34749997 +0.33249998 +0.27125 +0.17875 +0.16624999 +0.1925 +0.2225 +0.25 +0.2725 +0.32125 +0.4325 +0.50125 +0.5075 +0.49375004 +0.5 +0.5525 +0.64875 +0.77375 +0.91249996 +1.0649999 +1.23375 +1.4075 +1.5637499 +1.6650001 +1.6775001 +1.62125 +1.49875 +1.33375 +1.1575 +0.985 +0.8299999 +0.69624996 +0.55999994 +0.44375002 +0.3675 +0.34375 +0.34749997 +0.34125 +0.28375 +0.19375001 +0.16875 +0.19625 +0.22875 +0.25875 +0.2825 +0.43999997 +0.53125006 +0.56000006 +0.52625 +0.47249997 +0.44874996 +0.47624993 +0.55375 +0.66625 +0.80125 +0.9575 +1.14 +1.3425001 +1.5362501 +1.6775 +1.73875 +1.7025 +1.5974998 +1.4399999 +1.25625 +1.07125 +0.91125 +0.7675 +0.62874997 +0.5075 +0.4175 +0.37250003 +0.36 +0.34125 +0.28625 +0.20249999 +0.15625 +0.1825 +0.21375 +0.2425 +0.26624998 +0.34875003 +0.45874995 +0.52750003 +0.53375 +0.5175 +0.5225 +0.5675 +0.66125 +0.7875 +0.94 +1.1125 +1.2975 +1.4824998 +1.6350001 +1.7199999 +1.7125 +1.6237501 +1.48125 +1.29625 +1.1025 +0.9175 +0.76374996 +0.62 +0.48749998 +0.38374996 +0.33124998 +0.33 +0.36124998 +0.3775 +0.34249997 +0.26375 +0.2025 +0.1975 +0.23625 +0.2725 +0.34124997 +0.43999997 +0.53125006 +0.56000006 +0.52625 +0.47249997 +0.44874996 +0.47624993 +0.55375 +0.66625 +0.80125 +0.9575 +1.14 +1.3425001 +1.5362501 +1.6775 +1.73875 +1.7025 +1.5974998 +1.4399999 +1.25625 +1.07125 +0.91125 +0.7675 +0.62874997 +0.5075 +0.4175 +0.37250003 +0.36 +0.34125 +0.28625 +0.20249999 +0.15625 +0.1825 +0.21375 +0.2425 +0.26624998 +0.34875003 +0.45874995 +0.52750003 +0.53375 +0.5175 +0.5225 +0.5675 +0.66125 +0.7875 +0.94 +1.1125 +1.2975 +1.4824998 +1.6350001 +1.7199999 +1.7125 +1.6237501 +1.48125 +1.29625 +1.1025 +0.9175 +0.76374996 +0.62 +0.48749998 +0.38374996 +0.33124998 +0.33 +0.36124998 +0.3775 +0.34249997 +0.26375 +0.2025 +0.1975 +0.23625 +0.2725 +0.34124997 +0.61625 +0.675 +0.65125 +0.5675 +0.46875 +0.40125 +0.39374998 +0.44500005 +0.54125 +0.67249995 +0.8374999 +1.04 +1.27625 +1.515 +1.7149999 +1.8312501 +1.8375 +1.7500001 +1.5975 +1.405 +1.20375 +1.0250001 +0.875 +0.7375001 +0.615 +0.52375 +0.47 +0.44875002 +0.43 +0.38500002 +0.30625 +0.235 +0.21000001 +0.22375 +0.26125002 +0.3325 +0.44875 +0.5625 +0.62624997 +0.63125 +0.61125 +0.60249996 +0.63375 +0.715 +0.84000003 +1.0074999 +1.2037499 +1.4124999 +1.60375 +1.745 +1.79875 +1.7524999 +1.62625 +1.4449999 +1.22875 +1.01125 +0.81875 +0.65250003 +0.505 +0.38625002 +0.3125 +0.3025 +0.34750003 +0.41999996 +0.47375003 +0.47125 +0.40999997 +0.33125 +0.29125 +0.31125 +0.385 +0.49999997 +0.61625 +0.675 +0.65125 +0.5675 +0.46875 +0.40125 +0.39374998 +0.44500005 +0.54125 +0.67249995 +0.8374999 +1.04 +1.27625 +1.515 +1.7149999 +1.8312501 +1.8375 +1.7500001 +1.5975 +1.405 +1.20375 +1.0250001 +0.875 +0.7375001 +0.615 +0.52375 +0.47 +0.44875002 +0.43 +0.38500002 +0.30625 +0.235 +0.21000001 +0.22375 +0.26125002 +0.3325 +0.44875 +0.5625 +0.62624997 +0.63125 +0.61125 +0.60249996 +0.63375 +0.715 +0.84000003 +1.0074999 +1.2037499 +1.4124999 +1.60375 +1.745 +1.79875 +1.7524999 +1.62625 +1.4449999 +1.22875 +1.01125 +0.81875 +0.65250003 +0.505 +0.38625002 +0.3125 +0.3025 +0.34750003 +0.41999996 +0.47375003 +0.47125 +0.40999997 +0.33125 +0.29125 +0.31125 +0.385 +0.49999997 +0.84000003 +0.85 +0.78 +0.65375 +0.51374996 +0.41000003 +0.3675 +0.38625 +0.45875 +0.57500005 +0.73375 +0.94624996 +1.2025 +1.4775001 +1.73375 +1.9124999 +1.9737501 +1.92625 +1.7962501 +1.6112499 +1.40875 +1.21625 +1.065 +0.94375 +0.8375 +0.75624996 +0.705 +0.68125 +0.66875005 +0.64125 +0.58875 +0.51625 +0.45125002 +0.43125 +0.47625 +0.575 +0.69625 +0.79625 +0.84625 +0.84499997 +0.80999994 +0.77750003 +0.77750003 +0.83124995 +0.94625 +1.1199999 +1.33 +1.5487499 +1.7362499 +1.8475001 +1.8574998 +1.7737501 +1.61625 +1.4012501 +1.165 +0.93625003 +0.74 +0.57625 +0.43875 +0.3425 +0.31125 +0.34625 +0.43374997 +0.54125 +0.6225 +0.64624995 +0.61625 +0.56125 +0.53375 +0.56374997 +0.65 +0.76125 +0.84000003 +0.85 +0.78 +0.65375 +0.51374996 +0.41000003 +0.3675 +0.38625 +0.45875 +0.57500005 +0.73375 +0.94624996 +1.2025 +1.4775001 +1.73375 +1.9124999 +1.9737501 +1.92625 +1.7962501 +1.6112499 +1.40875 +1.21625 +1.065 +0.94375 +0.8375 +0.75624996 +0.705 +0.68125 +0.66875005 +0.64125 +0.58875 +0.51625 +0.45125002 +0.43125 +0.47625 +0.575 +0.69625 +0.79625 +0.84625 +0.84499997 +0.80999994 +0.77750003 +0.77750003 +0.83124995 +0.94625 +1.1199999 +1.33 +1.5487499 +1.7362499 +1.8475001 +1.8574998 +1.7737501 +1.61625 +1.4012501 +1.165 +0.93625003 +0.74 +0.57625 +0.43875 +0.3425 +0.31125 +0.34625 +0.43374997 +0.54125 +0.6225 +0.64624995 +0.61625 +0.56125 +0.53375 +0.56374997 +0.65 +0.76125 +1.04625 +1.02125 +0.925 +0.77875 +0.625 +0.50375 +0.43625 +0.42874998 +0.47375003 +0.56 +0.69375 +0.8937501 +1.145 +1.425 +1.7025001 +1.93125 +2.05375 +2.0675 +1.98125 +1.82875 +1.6512501 +1.48125 +1.34 +1.23375 +1.1625 +1.10375 +1.08125 +1.0862501 +1.095 +1.07875 +1.0274999 +0.98125 +0.9325 +0.90500003 +0.92375 +0.98625 +1.0725 +1.1475 +1.1800001 +1.1587499 +1.1012499 +1.0325 +0.99125004 +1.03375 +1.1374999 +1.2937499 +1.4800001 +1.67625 +1.83875 +1.9075 +1.8837498 +1.7674999 +1.5775001 +1.35 +1.1175001 +0.905 +0.7225 +0.58 +0.4675 +0.415 +0.4275 +0.49625 +0.59999996 +0.71875 +0.8 +0.82375 +0.80375004 +0.77374995 +0.77374995 +0.8225 +0.90875006 +0.99750006 +1.04625 +1.02125 +0.925 +0.77875 +0.625 +0.50375 +0.43625 +0.42874998 +0.47375003 +0.56 +0.69375 +0.8937501 +1.145 +1.425 +1.7025001 +1.93125 +2.05375 +2.0675 +1.98125 +1.82875 +1.6512501 +1.48125 +1.34 +1.23375 +1.1625 +1.10375 +1.08125 +1.0862501 +1.095 +1.07875 +1.0274999 +0.98125 +0.9325 +0.90500003 +0.92375 +0.98625 +1.0725 +1.1475 +1.1800001 +1.1587499 +1.1012499 +1.0325 +0.99125004 +1.03375 +1.1374999 +1.2937499 +1.4800001 +1.67625 +1.83875 +1.9075 +1.8837498 +1.7674999 +1.5775001 +1.35 +1.1175001 +0.905 +0.7225 +0.58 +0.4675 +0.415 +0.4275 +0.49625 +0.59999996 +0.71875 +0.8 +0.82375 +0.80375004 +0.77374995 +0.77374995 +0.8225 +0.90875006 +0.99750006 +1.18875 +1.1475 +1.04625 +0.90625006 +0.76374996 +0.64875 +0.57875 +0.55375 +0.56624997 +0.61125 +0.6975 +0.8525 +1.06625 +1.3275001 +1.6062499 +1.8575 +2.03875 +2.1162498 +2.0925 +1.995 +1.86375 +1.73375 +1.62625 +1.5462501 +1.4975001 +1.4725 +1.47875 +1.505 +1.53625 +1.5474999 +1.52125 +1.4812499 +1.43875 +1.4025 +1.39375 +1.42125 +1.47375 +1.51875 +1.5287501 +1.48625 +1.39875 +1.2924999 +1.22875 +1.2387499 +1.3125 +1.4449999 +1.61125 +1.775 +1.8924999 +1.9237499 +1.85625 +1.70125 +1.4962499 +1.2775 +1.075 +0.9025 +0.76375 +0.65500003 +0.585 +0.56875 +0.6075 +0.68874997 +0.7875 +0.89125 +0.9462501 +0.95250005 +0.93125 +0.91499996 +0.93625 +1.0025 +1.0887501 +1.16375 +1.18875 +1.1475 +1.04625 +0.90625006 +0.76374996 +0.64875 +0.57875 +0.55375 +0.56624997 +0.61125 +0.6975 +0.8525 +1.06625 +1.3275001 +1.6062499 +1.8575 +2.03875 +2.1162498 +2.0925 +1.995 +1.86375 +1.73375 +1.62625 +1.5462501 +1.4975001 +1.4725 +1.47875 +1.505 +1.53625 +1.5474999 +1.52125 +1.4812499 +1.43875 +1.4025 +1.39375 +1.42125 +1.47375 +1.51875 +1.5287501 +1.48625 +1.39875 +1.2924999 +1.22875 +1.2387499 +1.3125 +1.4449999 +1.61125 +1.775 +1.8924999 +1.9237499 +1.85625 +1.70125 +1.4962499 +1.2775 +1.075 +0.9025 +0.76375 +0.65500003 +0.585 +0.56875 +0.6075 +0.68874997 +0.7875 +0.89125 +0.9462501 +0.95250005 +0.93125 +0.91499996 +0.93625 +1.0025 +1.0887501 +1.16375 +1.2400001 +1.1875 +1.0899999 +0.97375 +0.86 +0.7675 +0.70625 +0.6725 +0.6575 +0.6625 +0.6925 +0.78 +0.93874997 +1.1575 +1.4175 +1.68625 +1.89875 +2.03625 +2.08125 +2.05 +1.97 +1.8812499 +1.8012501 +1.7437499 +1.72875 +1.7149999 +1.7249999 +1.7725 +1.8275 +1.86625 +1.87125 +1.8599999 +1.8275 +1.7812499 +1.7512499 +1.75 +1.7675 +1.7825 +1.7625 +1.695 +1.58125 +1.44875 +1.35125 +1.34125 +1.4000001 +1.52 +1.66875 +1.81875 +1.9025 +1.86875 +1.7575 +1.575 +1.365 +1.16875 +1.00625 +0.8825 +0.79499996 +0.7375 +0.70000005 +0.7075 +0.75625 +0.82874995 +0.9150001 +0.9812499 +0.99875 +0.98 +0.95375 +0.95500004 +1.0025 +1.08625 +1.1725 +1.2325 +1.2400001 +1.1875 +1.0899999 +0.97375 +0.86 +0.7675 +0.70625 +0.6725 +0.6575 +0.6625 +0.6925 +0.78 +0.93874997 +1.1575 +1.4175 +1.68625 +1.89875 +2.03625 +2.08125 +2.05 +1.97 +1.8812499 +1.8012501 +1.7437499 +1.72875 +1.7149999 +1.7249999 +1.7725 +1.8275 +1.86625 +1.87125 +1.8599999 +1.8275 +1.7812499 +1.7512499 +1.75 +1.7675 +1.7825 +1.7625 +1.695 +1.58125 +1.44875 +1.35125 +1.34125 +1.4000001 +1.52 +1.66875 +1.81875 +1.9025 +1.86875 +1.7575 +1.575 +1.365 +1.16875 +1.00625 +0.8825 +0.79499996 +0.7375 +0.70000005 +0.7075 +0.75625 +0.82874995 +0.9150001 +0.9812499 +0.99875 +0.98 +0.95375 +0.95500004 +1.0025 +1.08625 +1.1725 +1.2325 +1.1862501 +1.11875 +1.02625 +0.93 +0.845 +0.78000003 +0.73375 +0.69874996 +0.66875 +0.64374995 +0.63125 +0.6575 +0.75125 +0.92249995 +1.1637499 +1.4325 +1.6724999 +1.8375001 +1.9362501 +1.9687499 +1.9399999 +1.8824999 +1.8175 +1.80375 +1.7899998 +1.7775 +1.78 +1.81625 +1.895 +1.9624999 +2.02125 +2.04625 +2.02625 +1.9812498 +1.93625 +1.9062501 +1.89 +1.8674998 +1.8162501 +1.7225 +1.5899999 +1.45 +1.34125 +1.30875 +1.3725 +1.4937501 +1.6675 +1.81375 +1.8650001 +1.7900001 +1.6037501 +1.4025 +1.1975 +1.02125 +0.89375 +0.82 +0.78875005 +0.75875 +0.7375 +0.74 +0.7825 +0.8475 +0.90999997 +0.93625 +0.92125 +0.88375 +0.865 +0.89374995 +0.975 +1.07875 +1.16625 +1.2049999 +1.1862501 +1.11875 +1.02625 +0.93 +0.845 +0.78000003 +0.73375 +0.69874996 +0.66875 +0.64374995 +0.63125 +0.6575 +0.75125 +0.92249995 +1.1637499 +1.4325 +1.6724999 +1.8375001 +1.9362501 +1.9687499 +1.9399999 +1.8824999 +1.8175 +1.80375 +1.7899998 +1.7775 +1.78 +1.81625 +1.895 +1.9624999 +2.02125 +2.04625 +2.02625 +1.9812498 +1.93625 +1.9062501 +1.89 +1.8674998 +1.8162501 +1.7225 +1.5899999 +1.45 +1.34125 +1.30875 +1.3725 +1.4937501 +1.6675 +1.81375 +1.8650001 +1.7900001 +1.6037501 +1.4025 +1.1975 +1.02125 +0.89375 +0.82 +0.78875005 +0.75875 +0.7375 +0.74 +0.7825 +0.8475 +0.90999997 +0.93625 +0.92125 +0.88375 +0.865 +0.89374995 +0.975 +1.07875 +1.16625 +1.2049999 +1.0337502 +0.945 +0.84625006 +0.76125 +0.7 +0.65875 +0.62874997 +0.59625 +0.55999994 +0.52250004 +0.49124998 +0.48624998 +0.54 +0.6725 +0.88 +1.135 +1.3875 +1.5862501 +1.7125 +1.7725 +1.79125 +1.7737501 +1.76 +1.7412502 +1.72 +1.7037499 +1.71375 +1.76125 +1.8512499 +1.9612501 +2.055 +2.1075 +2.105 +2.0625 +2.0062501 +1.9449999 +1.8887501 +1.8237501 +1.7325001 +1.61125 +1.47 +1.3325 +1.24 +1.2225 +1.295 +1.43875 +1.6112502 +1.7412499 +1.77125 +1.6750001 +1.4762499 +1.22875 +1.0124999 +0.8525 +0.7687501 +0.735 +0.71375 +0.68625003 +0.66125 +0.65875 +0.68625003 +0.72749996 +0.75749993 +0.75124997 +0.71500003 +0.6787499 +0.68375 +0.75 +0.86625004 +0.9875 +1.07 +1.085 +1.0337502 +0.945 +0.84625006 +0.76125 +0.7 +0.65875 +0.62874997 +0.59625 +0.55999994 +0.52250004 +0.49124998 +0.48624998 +0.54 +0.6725 +0.88 +1.135 +1.3875 +1.5862501 +1.7125 +1.7725 +1.79125 +1.7737501 +1.76 +1.7412502 +1.72 +1.7037499 +1.71375 +1.76125 +1.8512499 +1.9612501 +2.055 +2.1075 +2.105 +2.0625 +2.0062501 +1.9449999 +1.8887501 +1.8237501 +1.7325001 +1.61125 +1.47 +1.3325 +1.24 +1.2225 +1.295 +1.43875 +1.6112502 +1.7412499 +1.77125 +1.6750001 +1.4762499 +1.22875 +1.0124999 +0.8525 +0.7687501 +0.735 +0.71375 +0.68625003 +0.66125 +0.65875 +0.68625003 +0.72749996 +0.75749993 +0.75124997 +0.71500003 +0.6787499 +0.68375 +0.75 +0.86625004 +0.9875 +1.07 +1.085 +0.805 +0.68999994 +0.58124995 +0.5075 +0.465 +0.44250003 +0.42374998 +0.39999998 +0.36624998 +0.32875 +0.29625002 +0.285 +0.3225 +0.42625 +0.6025 +0.8325 +1.0762501 +1.2925 +1.4549999 +1.56 +1.6175 +1.6437501 +1.6549999 +1.6512501 +1.6387501 +1.635 +1.6637499 +1.7375 +1.85375 +1.9937501 +2.11625 +2.19 +2.2025 +2.1625 +2.0874999 +1.99125 +1.885 +1.7674999 +1.6325 +1.48 +1.32875 +1.1999999 +1.12 +1.11625 +1.195 +1.3325 +1.48625 +1.5975 +1.6125 +1.51125 +1.31125 +1.07375 +0.86375 +0.72125 +0.64624995 +0.61125004 +0.5812501 +0.5437499 +0.5025 +0.48125 +0.48999998 +0.51124996 +0.51625 +0.4875 +0.4425 +0.41499996 +0.44625002 +0.54749995 +0.69374996 +0.82624996 +0.89874995 +0.8874999 +0.805 +0.68999994 +0.58124995 +0.5075 +0.465 +0.44250003 +0.42374998 +0.39999998 +0.36624998 +0.32875 +0.29625002 +0.285 +0.3225 +0.42625 +0.6025 +0.8325 +1.0762501 +1.2925 +1.4549999 +1.56 +1.6175 +1.6437501 +1.6549999 +1.6512501 +1.6387501 +1.635 +1.6637499 +1.7375 +1.85375 +1.9937501 +2.11625 +2.19 +2.2025 +2.1625 +2.0874999 +1.99125 +1.885 +1.7674999 +1.6325 +1.48 +1.32875 +1.1999999 +1.12 +1.11625 +1.195 +1.3325 +1.48625 +1.5975 +1.6125 +1.51125 +1.31125 +1.07375 +0.86375 +0.72125 +0.64624995 +0.61125004 +0.5812501 +0.5437499 +0.5025 +0.48125 +0.48999998 +0.51124996 +0.51625 +0.4875 +0.4425 +0.41499996 +0.44625002 +0.54749995 +0.69374996 +0.82624996 +0.89874995 +0.8874999 +0.53125 +0.435 +0.34750003 +0.28500003 +0.25125 +0.23625001 +0.23125002 +0.22375 +0.20625 +0.18 +0.15125 +0.13875 +0.16125001 +0.22999999 +0.36499998 +0.55749995 +0.77500004 +0.98375 +1.165 +1.3100001 +1.4225 +1.5074999 +1.57125 +1.61625 +1.65125 +1.6924999 +1.7612499 +1.8712499 +2.02 +2.18 +2.32 +2.40375 +2.4212499 +2.3725 +2.27 +2.13125 +1.97125 +1.79625 +1.61625 +1.43625 +1.2737501 +1.145 +1.06375 +1.04375 +1.09125 +1.1875 +1.3000001 +1.3774999 +1.3725 +1.27 +1.0899999 +0.87874997 +0.69750005 +0.57625 +0.51125 +0.475 +0.43750003 +0.38375 +0.32874998 +0.295 +0.28375 +0.28625 +0.275 +0.25625002 +0.23250002 +0.22000001 +0.24499999 +0.32500002 +0.4825 +0.615 +0.67249995 +0.63624996 +0.53125 +0.435 +0.34750003 +0.28500003 +0.25125 +0.23625001 +0.23125002 +0.22375 +0.20625 +0.18 +0.15125 +0.13875 +0.16125001 +0.22999999 +0.36499998 +0.55749995 +0.77500004 +0.98375 +1.165 +1.3100001 +1.4225 +1.5074999 +1.57125 +1.61625 +1.65125 +1.6924999 +1.7612499 +1.8712499 +2.02 +2.18 +2.32 +2.40375 +2.4212499 +2.3725 +2.27 +2.13125 +1.97125 +1.79625 +1.61625 +1.43625 +1.2737501 +1.145 +1.06375 +1.04375 +1.09125 +1.1875 +1.3000001 +1.3774999 +1.3725 +1.27 +1.0899999 +0.87874997 +0.69750005 +0.57625 +0.51125 +0.475 +0.43750003 +0.38375 +0.32874998 +0.295 +0.28375 +0.28625 +0.275 +0.25625002 +0.23250002 +0.22000001 +0.24499999 +0.32500002 +0.4825 +0.615 +0.67249995 +0.63624996 +0.33875 +0.29125 +0.24875 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.16875 +0.14125 +0.12 +0.12125 +0.14874999 +0.225 +0.34375 +0.5125 +0.69625 +0.88000005 +1.0575001 +1.2275 +1.3875 +1.5324999 +1.6600001 +1.77375 +1.88625 +2.01125 +2.18125 +2.365 +2.5175 +2.6325 +2.71 +2.7175 +2.6450002 +2.5099998 +2.32625 +2.1162498 +1.9 +1.6875001 +1.495 +1.33 +1.19375 +1.08875 +1.045 +1.03625 +1.0450001 +1.0675001 +1.0925 +1.0649999 +0.9675 +0.8125 +0.6425 +0.49874997 +0.41375002 +0.37375003 +0.35000002 +0.31875002 +0.27375 +0.2225 +0.18249999 +0.16 +0.14874999 +0.15124999 +0.16875 +0.18375 +0.18125 +0.17 +0.19 +0.27375 +0.39125004 +0.43124998 +0.39249998 +0.33875 +0.29125 +0.24875 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.16875 +0.14125 +0.12 +0.12125 +0.14874999 +0.225 +0.34375 +0.5125 +0.69625 +0.88000005 +1.0575001 +1.2275 +1.3875 +1.5324999 +1.6600001 +1.77375 +1.88625 +2.01125 +2.18125 +2.365 +2.5175 +2.6325 +2.71 +2.7175 +2.6450002 +2.5099998 +2.32625 +2.1162498 +1.9 +1.6875001 +1.495 +1.33 +1.19375 +1.08875 +1.045 +1.03625 +1.0450001 +1.0675001 +1.0925 +1.0649999 +0.9675 +0.8125 +0.6425 +0.49874997 +0.41375002 +0.37375003 +0.35000002 +0.31875002 +0.27375 +0.2225 +0.18249999 +0.16 +0.14874999 +0.15124999 +0.16875 +0.18375 +0.18125 +0.17 +0.19 +0.27375 +0.39125004 +0.43124998 +0.39249998 +0.26 +0.24375 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.21875 +0.2575 +0.3275 +0.475 +0.64374995 +0.84999996 +1.09375 +1.3149999 +1.5124999 +1.7212499 +1.9187499 +2.11 +2.32375 +2.5275 +2.70625 +2.84125 +2.92125 +2.94375 +2.91 +2.81375 +2.6499999 +2.4362502 +2.2025 +1.9637499 +1.75125 +1.57 +1.4174999 +1.2925 +1.19 +1.0975001 +1.0125 +0.93749994 +0.87125003 +0.8075 +0.75 +0.66 +0.53999996 +0.43625 +0.3425 +0.26375002 +0.2475 +0.25875 +0.26 +0.24374999 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.1375 +0.15625 +0.21124999 +0.23875 +0.25125 +0.26 +0.24375 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.21875 +0.2575 +0.3275 +0.475 +0.64374995 +0.84999996 +1.09375 +1.3149999 +1.5124999 +1.7212499 +1.9187499 +2.11 +2.32375 +2.5275 +2.70625 +2.84125 +2.92125 +2.94375 +2.91 +2.81375 +2.6499999 +2.4362502 +2.2025 +1.9637499 +1.75125 +1.57 +1.4174999 +1.2925 +1.19 +1.0975001 +1.0125 +0.93749994 +0.87125003 +0.8075 +0.75 +0.66 +0.53999996 +0.43625 +0.3425 +0.26375002 +0.2475 +0.25875 +0.26 +0.24374999 +0.21875 +0.185 +0.15375 +0.14375 +0.1575 +0.17875 +0.18875 +0.17875 +0.155 +0.1375 +0.15625 +0.21124999 +0.23875 +0.25125 +0.20875 +0.1925 +0.1525 +0.11125 +0.1 +0.12 +0.13999999 +0.16375 +0.1825 +0.18 +0.16875 +0.16875 +0.1925 +0.23375 +0.2725 +0.2775 +0.2725 +0.35875002 +0.5 +0.72249997 +0.985 +1.235 +1.4749999 +1.7175 +1.9649999 +2.21 +2.44 +2.63375 +2.7787502 +2.86875 +2.90875 +2.9025002 +2.8437502 +2.7325 +2.565 +2.35375 +2.1225 +1.9012501 +1.71375 +1.57 +1.4549999 +1.35 +1.2325 +1.095 +0.9512501 +0.81750005 +0.705 +0.61375 +0.53625 +0.45624998 +0.3725 +0.29250002 +0.22375 +0.1675 +0.16 +0.21374999 +0.26 +0.2825 +0.275 +0.23625 +0.19624999 +0.17125 +0.16875 +0.18 +0.1825 +0.16375 +0.13 +0.09875 +0.10500001 +0.13875 +0.1625 +0.1925 +0.20875 +0.1925 +0.1525 +0.11125 +0.1 +0.12 +0.13999999 +0.16375 +0.1825 +0.18 +0.16875 +0.16875 +0.1925 +0.23375 +0.2725 +0.2775 +0.2725 +0.35875002 +0.5 +0.72249997 +0.985 +1.235 +1.4749999 +1.7175 +1.9649999 +2.21 +2.44 +2.63375 +2.7787502 +2.86875 +2.90875 +2.9025002 +2.8437502 +2.7325 +2.565 +2.35375 +2.1225 +1.9012501 +1.71375 +1.57 +1.4549999 +1.35 +1.2325 +1.095 +0.9512501 +0.81750005 +0.705 +0.61375 +0.53625 +0.45624998 +0.3725 +0.29250002 +0.22375 +0.1675 +0.16 +0.21374999 +0.26 +0.2825 +0.275 +0.23625 +0.19624999 +0.17125 +0.16875 +0.18 +0.1825 +0.16375 +0.13 +0.09875 +0.10500001 +0.13875 +0.1625 +0.1925 +0.18125 +0.16 +0.13 +0.11624999 +0.13624999 +0.16874999 +0.18125 +0.1775 +0.17 +0.1775 +0.18 +0.19625 +0.23625 +0.2925 +0.3375 +0.34 +0.325 +0.37375 +0.47375 +0.64750004 +0.875 +1.09375 +1.31375 +1.5475 +1.7875 +2.0162501 +2.2150002 +2.3612502 +2.44875 +2.4824998 +2.4812498 +2.4524999 +2.39625 +2.29375 +2.145 +1.955 +1.75375 +1.5762501 +1.4475 +1.3687499 +1.3175 +1.2525 +1.14875 +1.0050001 +0.84125 +0.6925 +0.5799999 +0.5025 +0.45000002 +0.39125 +0.3175 +0.23875001 +0.16624999 +0.10874999 +0.1275 +0.21875 +0.30749997 +0.35999998 +0.36124998 +0.32124996 +0.26874998 +0.22375001 +0.1975 +0.18624999 +0.17375 +0.14999999 +0.1275 +0.120000005 +0.14125 +0.175 +0.19375001 +0.19125 +0.18125 +0.16 +0.13 +0.11624999 +0.13624999 +0.16874999 +0.18125 +0.1775 +0.17 +0.1775 +0.18 +0.19625 +0.23625 +0.2925 +0.3375 +0.34 +0.325 +0.37375 +0.47375 +0.64750004 +0.875 +1.09375 +1.31375 +1.5475 +1.7875 +2.0162501 +2.2150002 +2.3612502 +2.44875 +2.4824998 +2.4812498 +2.4524999 +2.39625 +2.29375 +2.145 +1.955 +1.75375 +1.5762501 +1.4475 +1.3687499 +1.3175 +1.2525 +1.14875 +1.0050001 +0.84125 +0.6925 +0.5799999 +0.5025 +0.45000002 +0.39125 +0.3175 +0.23875001 +0.16624999 +0.10874999 +0.1275 +0.21875 +0.30749997 +0.35999998 +0.36124998 +0.32124996 +0.26874998 +0.22375001 +0.1975 +0.18624999 +0.17375 +0.14999999 +0.1275 +0.120000005 +0.14125 +0.175 +0.19375001 +0.19125 +0.25875002 +0.22625001 +0.21249999 +0.23125 +0.26375002 +0.2875 +0.28625 +0.25875002 +0.22375001 +0.20125 +0.19749999 +0.2225 +0.28125 +0.3525 +0.405 +0.42125 +0.4475 +0.49125 +0.55125004 +0.62750006 +0.76875 +0.90125 +1.0625 +1.2625 +1.4475 +1.59875 +1.7012501 +1.7775 +1.7974999 +1.7812499 +1.785 +1.7825 +1.7524999 +1.6737499 +1.53625 +1.3712499 +1.21 +1.0812501 +1.0275 +1.05125 +1.09125 +1.08625 +1.005 +0.855 +0.71125007 +0.5925 +0.52125 +0.53 +0.54625 +0.5125 +0.41 +0.2875 +0.18125 +0.10125 +0.1525 +0.27124998 +0.39874998 +0.4825 +0.49624997 +0.45374995 +0.38499996 +0.3175 +0.26874998 +0.24374999 +0.22999999 +0.22749999 +0.24125 +0.26749998 +0.2975 +0.31875002 +0.31875 +0.295 +0.25875002 +0.22625001 +0.21249999 +0.23125 +0.26375002 +0.2875 +0.28625 +0.25875002 +0.22375001 +0.20125 +0.19749999 +0.2225 +0.28125 +0.3525 +0.405 +0.42125 +0.4475 +0.49125 +0.55125004 +0.62750006 +0.76875 +0.90125 +1.0625 +1.2625 +1.4475 +1.59875 +1.7012501 +1.7775 +1.7974999 +1.7812499 +1.785 +1.7825 +1.7524999 +1.6737499 +1.53625 +1.3712499 +1.21 +1.0812501 +1.0275 +1.05125 +1.09125 +1.08625 +1.005 +0.855 +0.71125007 +0.5925 +0.52125 +0.53 +0.54625 +0.5125 +0.41 +0.2875 +0.18125 +0.10125 +0.1525 +0.27124998 +0.39874998 +0.4825 +0.49624997 +0.45374995 +0.38499996 +0.3175 +0.26874998 +0.24374999 +0.22999999 +0.22749999 +0.24125 +0.26749998 +0.2975 +0.31875002 +0.31875 +0.295 +0.42500004 +0.39875 +0.38 +0.37 +0.3725 +0.37874997 +0.38 +0.37375 +0.3525 +0.31875 +0.29125 +0.2925 +0.33374998 +0.40125 +0.47125 +0.53625 +0.6025 +0.65125 +0.66875 +0.66749996 +0.675 +0.715 +0.795 +0.90749997 +1.02625 +1.11375 +1.15125 +1.1387501 +1.10125 +1.0725 +1.07125 +1.0975 +1.12125 +1.10125 +1.0124999 +0.87125 +0.725 +0.63250005 +0.635 +0.7175 +0.82375 +0.8887501 +0.865 +0.76124996 +0.63750005 +0.565 +0.5775 +0.65375 +0.72749996 +0.72375005 +0.615 +0.4325 +0.255 +0.16875 +0.20875 +0.34875 +0.52125007 +0.6475 +0.68 +0.62125 +0.51875 +0.42 +0.3625 +0.35500002 +0.3825 +0.41875 +0.45124996 +0.47 +0.47625 +0.47375 +0.46499997 +0.44875002 +0.42500004 +0.39875 +0.38 +0.37 +0.3725 +0.37874997 +0.38 +0.37375 +0.3525 +0.31875 +0.29125 +0.2925 +0.33374998 +0.40125 +0.47125 +0.53625 +0.6025 +0.65125 +0.66875 +0.66749996 +0.675 +0.715 +0.795 +0.90749997 +1.02625 +1.11375 +1.15125 +1.1387501 +1.10125 +1.0725 +1.07125 +1.0975 +1.12125 +1.10125 +1.0124999 +0.87125 +0.725 +0.63250005 +0.635 +0.7175 +0.82375 +0.8887501 +0.865 +0.76124996 +0.63750005 +0.565 +0.5775 +0.65375 +0.72749996 +0.72375005 +0.615 +0.4325 +0.255 +0.16875 +0.20875 +0.34875 +0.52125007 +0.6475 +0.68 +0.62125 +0.51875 +0.42 +0.3625 +0.35500002 +0.3825 +0.41875 +0.45124996 +0.47 +0.47625 +0.47375 +0.46499997 +0.44875002 +0.5175 +0.50625 +0.485 +0.45125 +0.42624998 +0.41750002 +0.43625 +0.4675 +0.49249998 +0.49625 +0.47625 +0.45000002 +0.43624997 +0.46499997 +0.53499997 +0.63 +0.71625 +0.75625 +0.73625 +0.66749996 +0.58250004 +0.52250004 +0.5175 +0.56374997 +0.63125 +0.6775 +0.67499995 +0.61875 +0.54375 +0.5 +0.51875 +0.5975 +0.69374996 +0.74625003 +0.71125 +0.5925 +0.4425 +0.33874997 +0.33625 +0.43875 +0.58625 +0.7025 +0.72625 +0.66625 +0.58 +0.54375 +0.60375 +0.735 +0.86125004 +0.89 +0.7825 +0.5675 +0.34250003 +0.2175 +0.24999999 +0.42125002 +0.6475 +0.81999993 +0.87249994 +0.79875 +0.65250003 +0.51 +0.43 +0.43249997 +0.49000004 +0.56 +0.59999996 +0.60125 +0.5775 +0.5425 +0.52125 +0.5175 +0.5175 +0.50625 +0.485 +0.45125 +0.42624998 +0.41750002 +0.43625 +0.4675 +0.49249998 +0.49625 +0.47625 +0.45000002 +0.43624997 +0.46499997 +0.53499997 +0.63 +0.71625 +0.75625 +0.73625 +0.66749996 +0.58250004 +0.52250004 +0.5175 +0.56374997 +0.63125 +0.6775 +0.67499995 +0.61875 +0.54375 +0.5 +0.51875 +0.5975 +0.69374996 +0.74625003 +0.71125 +0.5925 +0.4425 +0.33874997 +0.33625 +0.43875 +0.58625 +0.7025 +0.72625 +0.66625 +0.58 +0.54375 +0.60375 +0.735 +0.86125004 +0.89 +0.7825 +0.5675 +0.34250003 +0.2175 +0.24999999 +0.42125002 +0.6475 +0.81999993 +0.87249994 +0.79875 +0.65250003 +0.51 +0.43 +0.43249997 +0.49000004 +0.56 +0.59999996 +0.60125 +0.5775 +0.5425 +0.52125 +0.5175 +0.49 +0.51375 +0.5025 +0.45625 +0.40750003 +0.39500004 +0.43625 +0.5175 +0.60875 +0.66375005 +0.66 +0.6125 +0.555 +0.52875006 +0.56125003 +0.6375 +0.7175 +0.74749994 +0.6975 +0.57125 +0.41875 +0.29625 +0.245 +0.26874998 +0.33249998 +0.38 +0.36875 +0.29874998 +0.21 +0.165 +0.21374999 +0.35000002 +0.5225 +0.64750004 +0.65500003 +0.5375 +0.35500002 +0.2025 +0.15875 +0.24125001 +0.4 +0.5425 +0.6 +0.56375 +0.48874998 +0.45625 +0.52625 +0.68375003 +0.84375 +0.90375 +0.80875003 +0.58625 +0.34125 +0.19749999 +0.24 +0.45250002 +0.73625 +0.96874994 +1.0475001 +0.95875 +0.76874995 +0.57374996 +0.45999998 +0.45625 +0.52875 +0.60875005 +0.6425 +0.61125 +0.53749996 +0.46625 +0.435 +0.4525 +0.49 +0.51375 +0.5025 +0.45625 +0.40750003 +0.39500004 +0.43625 +0.5175 +0.60875 +0.66375005 +0.66 +0.6125 +0.555 +0.52875006 +0.56125003 +0.6375 +0.7175 +0.74749994 +0.6975 +0.57125 +0.41875 +0.29625 +0.245 +0.26874998 +0.33249998 +0.38 +0.36875 +0.29874998 +0.21 +0.165 +0.21374999 +0.35000002 +0.5225 +0.64750004 +0.65500003 +0.5375 +0.35500002 +0.2025 +0.15875 +0.24125001 +0.4 +0.5425 +0.6 +0.56375 +0.48874998 +0.45625 +0.52625 +0.68375003 +0.84375 +0.90375 +0.80875003 +0.58625 +0.34125 +0.19749999 +0.24 +0.45250002 +0.73625 +0.96874994 +1.0475001 +0.95875 +0.76874995 +0.57374996 +0.45999998 +0.45625 +0.52875 +0.60875005 +0.6425 +0.61125 +0.53749996 +0.46625 +0.435 +0.4525 +0.37375 +0.445 +0.45625 +0.40625 +0.33999997 +0.3225 +0.3825 +0.51624995 +0.67625 +0.7900001 +0.81125 +0.74750006 +0.64 +0.54875004 +0.5225 +0.56 +0.61375004 +0.62624997 +0.55375 +0.39625 +0.245 +0.095 +0.04875 +0.0775 +0.14249998 +0.2225 +0.23125002 +0.18875001 +0.0925 +0.02875 +0.10124999 +0.29 +0.5275 +0.70625 +0.74375004 +0.62749994 +0.4075 +0.17750001 +0.06375 +0.105 +0.2525 +0.41125 +0.48625 +0.45 +0.3775 +0.32 +0.34 +0.48750004 +0.65875 +0.74875003 +0.68 +0.49750003 +0.27625 +0.11125 +0.175 +0.43249997 +0.7774999 +1.0625 +1.1687499 +1.07375 +0.84125 +0.595 +0.44125 +0.41750002 +0.48625 +0.565 +0.57875 +0.5075 +0.38125 +0.27624997 +0.2475 +0.28625 +0.37375 +0.445 +0.45625 +0.40625 +0.33999997 +0.3225 +0.3825 +0.51624995 +0.67625 +0.7900001 +0.81125 +0.74750006 +0.64 +0.54875004 +0.5225 +0.56 +0.61375004 +0.62624997 +0.55375 +0.39625 +0.245 +0.095 +0.04875 +0.0775 +0.14249998 +0.2225 +0.23125002 +0.18875001 +0.0925 +0.02875 +0.10124999 +0.29 +0.5275 +0.70625 +0.74375004 +0.62749994 +0.4075 +0.17750001 +0.06375 +0.105 +0.2525 +0.41125 +0.48625 +0.45 +0.3775 +0.32 +0.34 +0.48750004 +0.65875 +0.74875003 +0.68 +0.49750003 +0.27625 +0.11125 +0.175 +0.43249997 +0.7774999 +1.0625 +1.1687499 +1.07375 +0.84125 +0.595 +0.44125 +0.41750002 +0.48625 +0.565 +0.57875 +0.5075 +0.38125 +0.27624997 +0.2475 +0.28625 +0.26624998 +0.38375002 +0.41625 +0.35875002 +0.26999998 +0.22999997 +0.29250002 +0.46374995 +0.68 +0.85 +0.9075001 +0.83875 +0.6912501 +0.54625 +0.4625 +0.45499998 +0.48125 +0.47625 +0.39125 +0.2575 +0.11 +0.01625 +0.0 +0.01 +0.074999996 +0.19500001 +0.265 +0.23125 +0.13624999 +0.072500005 +0.122499995 +0.3125 +0.58124995 +0.80250007 +0.87375 +0.75125 +0.4875 +0.20374998 +0.041249998 +0.03125 +0.1475 +0.32 +0.43 +0.42249998 +0.32125 +0.21375 +0.18875 +0.2575 +0.40125 +0.51124996 +0.50625 +0.37625003 +0.17875001 +0.0475 +0.0975 +0.38125 +0.77000004 +1.0912501 +1.21875 +1.115 +0.8525001 +0.56625 +0.37750003 +0.33374998 +0.395 +0.46625 +0.46500003 +0.36124998 +0.21000001 +0.120000005 +0.1175 +0.1725 +0.26624998 +0.38375002 +0.41625 +0.35875002 +0.26999998 +0.22999997 +0.29250002 +0.46374995 +0.68 +0.85 +0.9075001 +0.83875 +0.6912501 +0.54625 +0.4625 +0.45499998 +0.48125 +0.47625 +0.39125 +0.2575 +0.11 +0.01625 +0.0 +0.01 +0.074999996 +0.19500001 +0.265 +0.23125 +0.13624999 +0.072500005 +0.122499995 +0.3125 +0.58124995 +0.80250007 +0.87375 +0.75125 +0.4875 +0.20374998 +0.041249998 +0.03125 +0.1475 +0.32 +0.43 +0.42249998 +0.32125 +0.21375 +0.18875 +0.2575 +0.40125 +0.51124996 +0.50625 +0.37625003 +0.17875001 +0.0475 +0.0975 +0.38125 +0.77000004 +1.0912501 +1.21875 +1.115 +0.8525001 +0.56625 +0.37750003 +0.33374998 +0.395 +0.46625 +0.46500003 +0.36124998 +0.21000001 +0.120000005 +0.1175 +0.1725 +0.29500002 +0.4175 +0.455 +0.37374997 +0.2425 +0.16875 +0.20624998 +0.38249996 +0.63249993 +0.84749997 +0.94125 +0.88499993 +0.72625 +0.55125 +0.4325 +0.39499998 +0.4025 +0.39625004 +0.315 +0.2 +0.073750004 +0.01125 +0.0025 +0.030000001 +0.11749999 +0.24875 +0.32625002 +0.2975 +0.20374998 +0.13875 +0.18499999 +0.37125 +0.63250005 +0.85125 +0.91375005 +0.77875006 +0.4975 +0.19250001 +0.02625 +0.02125 +0.13125 +0.31375003 +0.43875003 +0.42749998 +0.29999998 +0.1525 +0.089999996 +0.113749996 +0.21374999 +0.33124998 +0.36 +0.265 +0.1 +0.00875 +0.06625 +0.34 +0.72999996 +1.06 +1.19125 +1.08375 +0.8075 +0.5 +0.29000002 +0.2425 +0.30124998 +0.37625 +0.37749997 +0.27125 +0.14125 +0.11125 +0.1525 +0.20125 +0.29500002 +0.4175 +0.455 +0.37374997 +0.2425 +0.16875 +0.20624998 +0.38249996 +0.63249993 +0.84749997 +0.94125 +0.88499993 +0.72625 +0.55125 +0.4325 +0.39499998 +0.4025 +0.39625004 +0.315 +0.2 +0.073750004 +0.01125 +0.0025 +0.030000001 +0.11749999 +0.24875 +0.32625002 +0.2975 +0.20374998 +0.13875 +0.18499999 +0.37125 +0.63250005 +0.85125 +0.91375005 +0.77875006 +0.4975 +0.19250001 +0.02625 +0.02125 +0.13125 +0.31375003 +0.43875003 +0.42749998 +0.29999998 +0.1525 +0.089999996 +0.113749996 +0.21374999 +0.33124998 +0.36 +0.265 +0.1 +0.00875 +0.06625 +0.34 +0.72999996 +1.06 +1.19125 +1.08375 +0.8075 +0.5 +0.29000002 +0.2425 +0.30124998 +0.37625 +0.37749997 +0.27125 +0.14125 +0.11125 +0.1525 +0.20125 +0.45 +0.57874995 +0.6 +0.47750002 +0.28750002 +0.16875 +0.175 +0.30874997 +0.5625 +0.80125 +0.925 +0.89500004 +0.75 +0.575 +0.45 +0.41 +0.42499998 +0.4325 +0.38 +0.2675 +0.15 +0.058750004 +0.05125 +0.11125 +0.215 +0.31875 +0.38625 +0.35750002 +0.26749998 +0.19875 +0.2325 +0.39 +0.62 +0.8125 +0.8562499 +0.71500003 +0.44375 +0.15625 +0.02 +0.0325 +0.15125 +0.33874997 +0.47750002 +0.47125 +0.3325 +0.15625 +0.073750004 +0.07 +0.14750001 +0.24875002 +0.27625 +0.21 +0.075 +0.0 +0.075 +0.32 +0.68125 +0.9875 +1.105 +0.99749994 +0.72375005 +0.41875002 +0.2225 +0.19 +0.25250003 +0.345 +0.36999997 +0.29250002 +0.18750001 +0.16875 +0.21 +0.3 +0.45 +0.57874995 +0.6 +0.47750002 +0.28750002 +0.16875 +0.175 +0.30874997 +0.5625 +0.80125 +0.925 +0.89500004 +0.75 +0.575 +0.45 +0.41 +0.42499998 +0.4325 +0.38 +0.2675 +0.15 +0.058750004 +0.05125 +0.11125 +0.215 +0.31875 +0.38625 +0.35750002 +0.26749998 +0.19875 +0.2325 +0.39 +0.62 +0.8125 +0.8562499 +0.71500003 +0.44375 +0.15625 +0.02 +0.0325 +0.15125 +0.33874997 +0.47750002 +0.47125 +0.3325 +0.15625 +0.073750004 +0.07 +0.14750001 +0.24875002 +0.27625 +0.21 +0.075 +0.0 +0.075 +0.32 +0.68125 +0.9875 +1.105 +0.99749994 +0.72375005 +0.41875002 +0.2225 +0.19 +0.25250003 +0.345 +0.36999997 +0.29250002 +0.18750001 +0.16875 +0.21 +0.3 +0.68499994 +0.81874996 +0.80625004 +0.63875 +0.395 +0.21125 +0.17375 +0.27374998 +0.49749997 +0.73375 +0.86875 +0.86125 +0.74249995 +0.58875 +0.485 +0.46375003 +0.50374997 +0.54625 +0.535 +0.45499998 +0.33625 +0.24000001 +0.2225 +0.2775 +0.36499998 +0.44000003 +0.45250002 +0.4125 +0.335 +0.27375 +0.29749998 +0.4425 +0.63750005 +0.78625 +0.81125003 +0.68125 +0.445 +0.21125 +0.09375 +0.12 +0.255 +0.42874998 +0.53625 +0.53 +0.3975 +0.20875001 +0.1025 +0.12625001 +0.20125 +0.28875 +0.3125 +0.23250002 +0.10125 +0.04125 +0.106249996 +0.31500003 +0.625 +0.88750005 +0.9812499 +0.87625 +0.625 +0.35000002 +0.18750001 +0.1775 +0.26375002 +0.37999997 +0.44125 +0.4075 +0.32375002 +0.28875 +0.35375 +0.49875 +0.68499994 +0.81874996 +0.80625004 +0.63875 +0.395 +0.21125 +0.17375 +0.27374998 +0.49749997 +0.73375 +0.86875 +0.86125 +0.74249995 +0.58875 +0.485 +0.46375003 +0.50374997 +0.54625 +0.535 +0.45499998 +0.33625 +0.24000001 +0.2225 +0.2775 +0.36499998 +0.44000003 +0.45250002 +0.4125 +0.335 +0.27375 +0.29749998 +0.4425 +0.63750005 +0.78625 +0.81125003 +0.68125 +0.445 +0.21125 +0.09375 +0.12 +0.255 +0.42874998 +0.53625 +0.53 +0.3975 +0.20875001 +0.1025 +0.12625001 +0.20125 +0.28875 +0.3125 +0.23250002 +0.10125 +0.04125 +0.106249996 +0.31500003 +0.625 +0.88750005 +0.9812499 +0.87625 +0.625 +0.35000002 +0.18750001 +0.1775 +0.26375002 +0.37999997 +0.44125 +0.4075 +0.32375002 +0.28875 +0.35375 +0.49875 +0.91625005 +1.02375 +0.97875005 +0.78125 +0.50750005 +0.27625 +0.18625 +0.2625 +0.4525 +0.65874994 +0.7825 +0.78000003 +0.6775 +0.55375 +0.47625002 +0.48000002 +0.54875004 +0.625 +0.65875 +0.62624997 +0.54625 +0.465 +0.42625 +0.44 +0.4875 +0.52875 +0.53125 +0.48375 +0.41875002 +0.38375002 +0.415 +0.515 +0.6475 +0.74625003 +0.75124997 +0.64375 +0.46125 +0.28375003 +0.19624999 +0.23125 +0.36749998 +0.52500004 +0.61750007 +0.59375 +0.46749997 +0.30874997 +0.21 +0.20875 +0.275 +0.3525 +0.37125 +0.29874998 +0.17999999 +0.10124999 +0.1375 +0.30625 +0.5525 +0.76124996 +0.83625 +0.74249995 +0.53 +0.305 +0.17750001 +0.19125001 +0.3075 +0.45000002 +0.54 +0.5475 +0.51 +0.49874997 +0.5725 +0.735 +0.91625005 +1.02375 +0.97875005 +0.78125 +0.50750005 +0.27625 +0.18625 +0.2625 +0.4525 +0.65874994 +0.7825 +0.78000003 +0.6775 +0.55375 +0.47625002 +0.48000002 +0.54875004 +0.625 +0.65875 +0.62624997 +0.54625 +0.465 +0.42625 +0.44 +0.4875 +0.52875 +0.53125 +0.48375 +0.41875002 +0.38375002 +0.415 +0.515 +0.6475 +0.74625003 +0.75124997 +0.64375 +0.46125 +0.28375003 +0.19624999 +0.23125 +0.36749998 +0.52500004 +0.61750007 +0.59375 +0.46749997 +0.30874997 +0.21 +0.20875 +0.275 +0.3525 +0.37125 +0.29874998 +0.17999999 +0.10124999 +0.1375 +0.30625 +0.5525 +0.76124996 +0.83625 +0.74249995 +0.53 +0.305 +0.17750001 +0.19125001 +0.3075 +0.45000002 +0.54 +0.5475 +0.51 +0.49874997 +0.5725 +0.735 +1.01125 +1.0875 +1.02375 +0.82375 +0.55625 +0.33 +0.22625001 +0.27125 +0.42 +0.58125 +0.6725 +0.65375 +0.555 +0.44125 +0.37750003 +0.39375 +0.47625 +0.5725 +0.6375 +0.64 +0.59124994 +0.52250004 +0.46999997 +0.45500004 +0.46875 +0.49 +0.49750003 +0.48125 +0.45374998 +0.44125 +0.46125 +0.5225 +0.6 +0.65500003 +0.64875 +0.56874996 +0.445 +0.32875 +0.2775 +0.31625003 +0.4275 +0.55375 +0.62375003 +0.60375 +0.50124997 +0.3725 +0.2875 +0.27875 +0.3325 +0.39375 +0.40125 +0.33749998 +0.22999999 +0.14874999 +0.16125 +0.28125 +0.46875 +0.63125 +0.68874997 +0.61375 +0.45 +0.28375 +0.20125002 +0.23625001 +0.36374998 +0.51 +0.60749996 +0.63125 +0.61625 +0.62624997 +0.705 +0.855 +1.01125 +1.0875 +1.02375 +0.82375 +0.55625 +0.33 +0.22625001 +0.27125 +0.42 +0.58125 +0.6725 +0.65375 +0.555 +0.44125 +0.37750003 +0.39375 +0.47625 +0.5725 +0.6375 +0.64 +0.59124994 +0.52250004 +0.46999997 +0.45500004 +0.46875 +0.49 +0.49750003 +0.48125 +0.45374998 +0.44125 +0.46125 +0.5225 +0.6 +0.65500003 +0.64875 +0.56874996 +0.445 +0.32875 +0.2775 +0.31625003 +0.4275 +0.55375 +0.62375003 +0.60375 +0.50124997 +0.3725 +0.2875 +0.27875 +0.3325 +0.39375 +0.40125 +0.33749998 +0.22999999 +0.14874999 +0.16125 +0.28125 +0.46875 +0.63125 +0.68874997 +0.61375 +0.45 +0.28375 +0.20125002 +0.23625001 +0.36374998 +0.51 +0.60749996 +0.63125 +0.61625 +0.62624997 +0.705 +0.855 +0.92625 +0.97999996 +0.91624993 +0.7425 +0.51625 +0.3275 +0.24375 +0.27625 +0.38875 +0.505 +0.55625 +0.51375 +0.405 +0.28625 +0.21374999 +0.22000001 +0.29125002 +0.385 +0.45624998 +0.48000002 +0.45125 +0.37875 +0.31625 +0.28625 +0.2825 +0.3025 +0.3325 +0.35 +0.35875 +0.36374998 +0.38 +0.41375002 +0.4575 +0.49249998 +0.49625 +0.45625 +0.38875002 +0.32625002 +0.305 +0.34125 +0.42749998 +0.52125 +0.57875 +0.57 +0.50125 +0.415 +0.36249998 +0.3675 +0.41749996 +0.47 +0.47625 +0.41625 +0.3225 +0.23125 +0.215 +0.29 +0.42125002 +0.53875 +0.58125 +0.52625 +0.40750003 +0.29250002 +0.24875 +0.3 +0.41875 +0.545 +0.6225 +0.63375 +0.61375 +0.61625 +0.68 +0.8025 +0.92625 +0.97999996 +0.91624993 +0.7425 +0.51625 +0.3275 +0.24375 +0.27625 +0.38875 +0.505 +0.55625 +0.51375 +0.405 +0.28625 +0.21374999 +0.22000001 +0.29125002 +0.385 +0.45624998 +0.48000002 +0.45125 +0.37875 +0.31625 +0.28625 +0.2825 +0.3025 +0.3325 +0.35 +0.35875 +0.36374998 +0.38 +0.41375002 +0.4575 +0.49249998 +0.49625 +0.45625 +0.38875002 +0.32625002 +0.305 +0.34125 +0.42749998 +0.52125 +0.57875 +0.57 +0.50125 +0.415 +0.36249998 +0.3675 +0.41749996 +0.47 +0.47625 +0.41625 +0.3225 +0.23125 +0.215 +0.29 +0.42125002 +0.53875 +0.58125 +0.52625 +0.40750003 +0.29250002 +0.24875 +0.3 +0.41875 +0.545 +0.6225 +0.63375 +0.61375 +0.61625 +0.68 +0.8025 +0.74 +0.77624995 +0.7225 +0.58500004 +0.41499996 +0.28 +0.22625 +0.26500002 +0.35625 +0.44 +0.46375 +0.40625 +0.28875 +0.1575 +0.0775 +0.06375 +0.09625 +0.165 +0.255 +0.30625 +0.27875 +0.1875 +0.089999996 +0.075 +0.082499996 +0.09625 +0.11875 +0.15875 +0.2025 +0.20250002 +0.20875001 +0.22624998 +0.265 +0.31374997 +0.35500002 +0.37125 +0.36 +0.33625 +0.33374998 +0.36875 +0.44124997 +0.52625 +0.59375 +0.61875004 +0.61125 +0.56625 +0.56125003 +0.60125 +0.67249995 +0.73625 +0.745 +0.72375 +0.63374996 +0.515 +0.42625 +0.41625 +0.48499998 +0.55499995 +0.57375 +0.52 +0.42874998 +0.34625 +0.3275 +0.3825 +0.48499998 +0.5775 +0.61875004 +0.6 +0.55625 +0.53375 +0.56624997 +0.65 +0.74 +0.77624995 +0.7225 +0.58500004 +0.41499996 +0.28 +0.22625 +0.26500002 +0.35625 +0.44 +0.46375 +0.40625 +0.28875 +0.1575 +0.0775 +0.06375 +0.09625 +0.165 +0.255 +0.30625 +0.27875 +0.1875 +0.089999996 +0.075 +0.082499996 +0.09625 +0.11875 +0.15875 +0.2025 +0.20250002 +0.20875001 +0.22624998 +0.265 +0.31374997 +0.35500002 +0.37125 +0.36 +0.33625 +0.33374998 +0.36875 +0.44124997 +0.52625 +0.59375 +0.61875004 +0.61125 +0.56625 +0.56125003 +0.60125 +0.67249995 +0.73625 +0.745 +0.72375 +0.63374996 +0.515 +0.42625 +0.41625 +0.48499998 +0.55499995 +0.57375 +0.52 +0.42874998 +0.34625 +0.3275 +0.3825 +0.48499998 +0.5775 +0.61875004 +0.6 +0.55625 +0.53375 +0.56624997 +0.65 +0.58375 +0.59749997 +0.5475 +0.44124997 +0.31625 +0.22500002 +0.2 +0.2425 +0.32624996 +0.40125 +0.42 +0.3775 +0.28 +0.14625 +0.041249998 +0.01375 +0.018749999 +0.08625 +0.1775 +0.22875 +0.2025 +0.105 +0.01375 +0.0 +0.01875 +0.0125 +0.030000001 +0.09125 +0.13375 +0.122499995 +0.08625001 +0.09375 +0.15625 +0.25 +0.35 +0.43 +0.46624997 +0.47124997 +0.47500002 +0.51125 +0.58875 +0.6925 +0.80625004 +0.91625 +0.97375 +0.9975 +1.03125 +1.115 +1.2312499 +1.3262501 +1.385 +1.3462499 +1.2137499 +1.03 +0.86 +0.75624996 +0.72625 +0.73375 +0.71625 +0.65999997 +0.5675 +0.4775 +0.45125 +0.5 +0.5825 +0.64874995 +0.65999997 +0.61125 +0.5375 +0.48625 +0.48374996 +0.52750003 +0.58375 +0.59749997 +0.5475 +0.44124997 +0.31625 +0.22500002 +0.2 +0.2425 +0.32624996 +0.40125 +0.42 +0.3775 +0.28 +0.14625 +0.041249998 +0.01375 +0.018749999 +0.08625 +0.1775 +0.22875 +0.2025 +0.105 +0.01375 +0.0 +0.01875 +0.0125 +0.030000001 +0.09125 +0.13375 +0.122499995 +0.08625001 +0.09375 +0.15625 +0.25 +0.35 +0.43 +0.46624997 +0.47124997 +0.47500002 +0.51125 +0.58875 +0.6925 +0.80625004 +0.91625 +0.97375 +0.9975 +1.03125 +1.115 +1.2312499 +1.3262501 +1.385 +1.3462499 +1.2137499 +1.03 +0.86 +0.75624996 +0.72625 +0.73375 +0.71625 +0.65999997 +0.5675 +0.4775 +0.45125 +0.5 +0.5825 +0.64874995 +0.65999997 +0.61125 +0.5375 +0.48625 +0.48374996 +0.52750003 +0.545 +0.53999996 +0.485 +0.39125 +0.28625 +0.21 +0.1875 +0.22499998 +0.29999998 +0.38125002 +0.42624998 +0.42624998 +0.35625002 +0.23875 +0.1225 +0.065 +0.08375 +0.17249998 +0.29 +0.36749998 +0.35625002 +0.25625 +0.1375 +0.07125 +0.06375 +0.08 +0.14625001 +0.22500001 +0.24749999 +0.2075 +0.14875 +0.14875 +0.245 +0.4025 +0.57624996 +0.71625 +0.78749996 +0.8 +0.79625005 +0.82624996 +0.915 +1.0587499 +1.2375001 +1.41625 +1.54875 +1.64875 +1.75875 +1.9062499 +2.08625 +2.2424998 +2.31 +2.23875 +2.03125 +1.7437501 +1.46 +1.2475001 +1.12625 +1.0625 +1.0025 +0.90999997 +0.7875 +0.67625 +0.62 +0.65125 +0.72249997 +0.7825 +0.78625 +0.72375 +0.6325 +0.555 +0.51874995 +0.52625 +0.545 +0.53999996 +0.485 +0.39125 +0.28625 +0.21 +0.1875 +0.22499998 +0.29999998 +0.38125002 +0.42624998 +0.42624998 +0.35625002 +0.23875 +0.1225 +0.065 +0.08375 +0.17249998 +0.29 +0.36749998 +0.35625002 +0.25625 +0.1375 +0.07125 +0.06375 +0.08 +0.14625001 +0.22500001 +0.24749999 +0.2075 +0.14875 +0.14875 +0.245 +0.4025 +0.57624996 +0.71625 +0.78749996 +0.8 +0.79625005 +0.82624996 +0.915 +1.0587499 +1.2375001 +1.41625 +1.54875 +1.64875 +1.75875 +1.9062499 +2.08625 +2.2424998 +2.31 +2.23875 +2.03125 +1.7437501 +1.46 +1.2475001 +1.12625 +1.0625 +1.0025 +0.90999997 +0.7875 +0.67625 +0.62 +0.65125 +0.72249997 +0.7825 +0.78625 +0.72375 +0.6325 +0.555 +0.51874995 +0.52625 +0.625 +0.59875 +0.53875 +0.4425 +0.33249998 +0.24125 +0.19 +0.19749999 +0.25875 +0.34999996 +0.4375 +0.49 +0.46499997 +0.37375 +0.26749998 +0.21375 +0.24625 +0.3825 +0.5625 +0.7025 +0.73625 +0.65500003 +0.51125 +0.39375 +0.36374998 +0.40874997 +0.50125 +0.57125 +0.565 +0.485 +0.39875 +0.41500002 +0.54125 +0.75875 +1.0 +1.185 +1.26625 +1.26125 +1.2275 +1.235 +1.3324999 +1.5137501 +1.73375 +1.9725 +2.17 +2.34 +2.5237498 +2.75875 +3.025 +3.23 +3.30625 +3.1937501 +2.8899999 +2.475 +2.06375 +1.74125 +1.54125 +1.43625 +1.3325 +1.20125 +1.0374999 +0.885 +0.7925 +0.8 +0.87125003 +0.94125 +0.96 +0.90999997 +0.8175 +0.72375 +0.66 +0.635 +0.625 +0.59875 +0.53875 +0.4425 +0.33249998 +0.24125 +0.19 +0.19749999 +0.25875 +0.34999996 +0.4375 +0.49 +0.46499997 +0.37375 +0.26749998 +0.21375 +0.24625 +0.3825 +0.5625 +0.7025 +0.73625 +0.65500003 +0.51125 +0.39375 +0.36374998 +0.40874997 +0.50125 +0.57125 +0.565 +0.485 +0.39875 +0.41500002 +0.54125 +0.75875 +1.0 +1.185 +1.26625 +1.26125 +1.2275 +1.235 +1.3324999 +1.5137501 +1.73375 +1.9725 +2.17 +2.34 +2.5237498 +2.75875 +3.025 +3.23 +3.30625 +3.1937501 +2.8899999 +2.475 +2.06375 +1.74125 +1.54125 +1.43625 +1.3325 +1.20125 +1.0374999 +0.885 +0.7925 +0.8 +0.87125003 +0.94125 +0.96 +0.90999997 +0.8175 +0.72375 +0.66 +0.635 +0.71875 +0.685 +0.62625 +0.52875 +0.40625003 +0.28 +0.18375 +0.1525 +0.1825 +0.27124998 +0.39625 +0.49624997 +0.51374996 +0.45125 +0.35999998 +0.31 +0.37 +0.56625 +0.84499997 +1.0875 +1.2012501 +1.1624999 +1.0387499 +0.9175 +0.8625 +0.89375 +0.965 +1.00375 +0.96375 +0.86 +0.76624995 +0.76625 +0.90875 +1.1650001 +1.4474999 +1.6524999 +1.7225001 +1.6725 +1.5849999 +1.5537499 +1.6437501 +1.8462499 +2.1087499 +2.365 +2.58875 +2.805 +3.05625 +3.37375 +3.71875 +3.99125 +4.07625 +3.905 +3.5087497 +2.97125 +2.43875 +2.0287502 +1.7925 +1.6775 +1.57375 +1.4175001 +1.2149999 +1.01875 +0.89125 +0.87625 +0.95000005 +1.04625 +1.1 +1.0749999 +0.99125004 +0.88875 +0.80375 +0.74999994 +0.71875 +0.685 +0.62625 +0.52875 +0.40625003 +0.28 +0.18375 +0.1525 +0.1825 +0.27124998 +0.39625 +0.49624997 +0.51374996 +0.45125 +0.35999998 +0.31 +0.37 +0.56625 +0.84499997 +1.0875 +1.2012501 +1.1624999 +1.0387499 +0.9175 +0.8625 +0.89375 +0.965 +1.00375 +0.96375 +0.86 +0.76624995 +0.76625 +0.90875 +1.1650001 +1.4474999 +1.6524999 +1.7225001 +1.6725 +1.5849999 +1.5537499 +1.6437501 +1.8462499 +2.1087499 +2.365 +2.58875 +2.805 +3.05625 +3.37375 +3.71875 +3.99125 +4.07625 +3.905 +3.5087497 +2.97125 +2.43875 +2.0287502 +1.7925 +1.6775 +1.57375 +1.4175001 +1.2149999 +1.01875 +0.89125 +0.87625 +0.95000005 +1.04625 +1.1 +1.0749999 +0.99125004 +0.88875 +0.80375 +0.74999994 +0.71124995 +0.68625003 +0.64750004 +0.56875 +0.4425 +0.28625 +0.16624999 +0.11125 +0.09625 +0.16125 +0.28375 +0.41375002 +0.46249998 +0.40374997 +0.29125 +0.23249999 +0.3175 +0.585 +0.97749996 +1.34625 +1.565 +1.5949999 +1.4875 +1.34125 +1.25125 +1.2574999 +1.31875 +1.3475001 +1.2900001 +1.155 +1.0225 +0.99625003 +1.13375 +1.4025 +1.705 +1.90875 +1.94875 +1.84125 +1.6875 +1.6025001 +1.66625 +1.87125 +2.14875 +2.4225 +2.6525 +2.8725 +3.1425 +3.50125 +3.9050002 +4.235 +4.3475003 +4.1425 +3.65875 +3.0249999 +2.40375 +1.94625 +1.7112501 +1.63375 +1.57875 +1.4512501 +1.24 +1.00875 +0.845 +0.81 +0.88874996 +1.015 +1.10625 +1.11375 +1.0425 +0.92875004 +0.8225 +0.74875 +0.71124995 +0.68625003 +0.64750004 +0.56875 +0.4425 +0.28625 +0.16624999 +0.11125 +0.09625 +0.16125 +0.28375 +0.41375002 +0.46249998 +0.40374997 +0.29125 +0.23249999 +0.3175 +0.585 +0.97749996 +1.34625 +1.565 +1.5949999 +1.4875 +1.34125 +1.25125 +1.2574999 +1.31875 +1.3475001 +1.2900001 +1.155 +1.0225 +0.99625003 +1.13375 +1.4025 +1.705 +1.90875 +1.94875 +1.84125 +1.6875 +1.6025001 +1.66625 +1.87125 +2.14875 +2.4225 +2.6525 +2.8725 +3.1425 +3.50125 +3.9050002 +4.235 +4.3475003 +4.1425 +3.65875 +3.0249999 +2.40375 +1.94625 +1.7112501 +1.63375 +1.57875 +1.4512501 +1.24 +1.00875 +0.845 +0.81 +0.88874996 +1.015 +1.10625 +1.11375 +1.0425 +0.92875004 +0.8225 +0.74875 +0.55875 +0.56125003 +0.555 +0.51625 +0.40875 +0.27374998 +0.1625 +0.10375 +0.075 +0.07125 +0.15875 +0.27375 +0.3125 +0.23249999 +0.12625 +0.06875 +0.13375 +0.43375 +0.9125 +1.405 +1.7287501 +1.82125 +1.72 +1.5337498 +1.39625 +1.3612499 +1.4025002 +1.425 +1.3549999 +1.1975 +1.03 +0.97375 +1.0899999 +1.35375 +1.65625 +1.8525 +1.8625 +1.70375 +1.4849999 +1.345 +1.3725 +1.5625001 +1.83375 +2.09625 +2.305 +2.4975 +2.74875 +3.1112502 +3.545 +3.91375 +4.04875 +3.8337498 +3.30125 +2.60625 +1.9399998 +1.4775001 +1.2737501 +1.2725 +1.3062499 +1.2449999 +1.05875 +0.81875 +0.63124996 +0.57875 +0.66375 +0.81749994 +0.9475 +0.98375 +0.92 +0.79749995 +0.67125005 +0.58625 +0.55875 +0.56125003 +0.555 +0.51625 +0.40875 +0.27374998 +0.1625 +0.10375 +0.075 +0.07125 +0.15875 +0.27375 +0.3125 +0.23249999 +0.12625 +0.06875 +0.13375 +0.43375 +0.9125 +1.405 +1.7287501 +1.82125 +1.72 +1.5337498 +1.39625 +1.3612499 +1.4025002 +1.425 +1.3549999 +1.1975 +1.03 +0.97375 +1.0899999 +1.35375 +1.65625 +1.8525 +1.8625 +1.70375 +1.4849999 +1.345 +1.3725 +1.5625001 +1.83375 +2.09625 +2.305 +2.4975 +2.74875 +3.1112502 +3.545 +3.91375 +4.04875 +3.8337498 +3.30125 +2.60625 +1.9399998 +1.4775001 +1.2737501 +1.2725 +1.3062499 +1.2449999 +1.05875 +0.81875 +0.63124996 +0.57875 +0.66375 +0.81749994 +0.9475 +0.98375 +0.92 +0.79749995 +0.67125005 +0.58625 +0.36624998 +0.39000002 +0.42249998 +0.42374998 +0.36374998 +0.2575 +0.15875 +0.11125 +0.085 +0.06375 +0.09375 +0.16499999 +0.17875001 +0.10250001 +0.044999998 +0.0075 +0.015 +0.25375 +0.76125 +1.3575001 +1.77 +1.9012499 +1.795 +1.5600001 +1.35375 +1.26375 +1.26875 +1.275 +1.19625 +1.02125 +0.8275 +0.74125 +0.83125 +1.08375 +1.3800001 +1.5725 +1.5675 +1.37625 +1.11375 +0.92875004 +0.92 +1.0862501 +1.3399999 +1.58 +1.7537501 +1.89625 +2.0975 +2.42625 +2.85125 +3.23 +3.375 +3.1599998 +2.6212502 +1.9025002 +1.2262499 +0.78249997 +0.63625 +0.71000004 +0.84125 +0.86249995 +0.72625 +0.49625003 +0.3175 +0.285 +0.37750006 +0.5325 +0.67125 +0.73625 +0.68625 +0.55875003 +0.43 +0.37375 +0.36624998 +0.39000002 +0.42249998 +0.42374998 +0.36374998 +0.2575 +0.15875 +0.11125 +0.085 +0.06375 +0.09375 +0.16499999 +0.17875001 +0.10250001 +0.044999998 +0.0075 +0.015 +0.25375 +0.76125 +1.3575001 +1.77 +1.9012499 +1.795 +1.5600001 +1.35375 +1.26375 +1.26875 +1.275 +1.19625 +1.02125 +0.8275 +0.74125 +0.83125 +1.08375 +1.3800001 +1.5725 +1.5675 +1.37625 +1.11375 +0.92875004 +0.92 +1.0862501 +1.3399999 +1.58 +1.7537501 +1.89625 +2.0975 +2.42625 +2.85125 +3.23 +3.375 +3.1599998 +2.6212502 +1.9025002 +1.2262499 +0.78249997 +0.63625 +0.71000004 +0.84125 +0.86249995 +0.72625 +0.49625003 +0.3175 +0.285 +0.37750006 +0.5325 +0.67125 +0.73625 +0.68625 +0.55875003 +0.43 +0.37375 +0.28125 +0.30875 +0.35999998 +0.38625 +0.3625 +0.27249998 +0.16375 +0.11375 +0.08875 +0.0675 +0.1075 +0.1675 +0.1825 +0.10124999 +0.02875 +0.0025 +0.005 +0.21375 +0.745 +1.41125 +1.8887501 +2.045 +1.925 +1.635 +1.35125 +1.1850001 +1.1325 +1.1075001 +1.0124999 +0.82375 +0.61375 +0.49875003 +0.56749994 +0.8062501 +1.10375 +1.3025 +1.29875 +1.09875 +0.81499994 +0.59875005 +0.5625 +0.705 +0.94125 +1.1575 +1.29125 +1.37625 +1.5149999 +1.78375 +2.1625 +2.51875 +2.6625 +2.4537501 +1.9275 +1.21375 +0.54875004 +0.19749999 +0.1225 +0.225 +0.3975 +0.4575 +0.3675 +0.2 +0.11500001 +0.1075 +0.15999998 +0.28875 +0.4225 +0.48749998 +0.45499998 +0.35999998 +0.295 +0.28 +0.28125 +0.30875 +0.35999998 +0.38625 +0.3625 +0.27249998 +0.16375 +0.11375 +0.08875 +0.0675 +0.1075 +0.1675 +0.1825 +0.10124999 +0.02875 +0.0025 +0.005 +0.21375 +0.745 +1.41125 +1.8887501 +2.045 +1.925 +1.635 +1.35125 +1.1850001 +1.1325 +1.1075001 +1.0124999 +0.82375 +0.61375 +0.49875003 +0.56749994 +0.8062501 +1.10375 +1.3025 +1.29875 +1.09875 +0.81499994 +0.59875005 +0.5625 +0.705 +0.94125 +1.1575 +1.29125 +1.37625 +1.5149999 +1.78375 +2.1625 +2.51875 +2.6625 +2.4537501 +1.9275 +1.21375 +0.54875004 +0.19749999 +0.1225 +0.225 +0.3975 +0.4575 +0.3675 +0.2 +0.11500001 +0.1075 +0.15999998 +0.28875 +0.4225 +0.48749998 +0.45499998 +0.35999998 +0.295 +0.28 +0.45874998 +0.53125 +0.53875 +0.51875 +0.5175 +0.56625 +0.65624994 +0.77750003 +0.9075 +1.05 +1.20875 +1.3799999 +1.54625 +1.6675 +1.705 +1.64375 +1.51875 +1.35875 +1.185 +1.0125 +0.84749997 +0.69625 +0.57375 +0.4625 +0.385 +0.3475 +0.33625 +0.3125 +0.2475 +0.1525 +0.1375 +0.16375 +0.1925 +0.2225 +0.2525 +0.31375 +0.44125 +0.52125 +0.53625005 +0.52375 +0.52875 +0.58124995 +0.67375004 +0.79625005 +0.92999995 +1.07625 +1.23625 +1.40625 +1.56625 +1.6775 +1.7025001 +1.6275 +1.4975001 +1.33375 +1.1575 +0.985 +0.8225 +0.67375 +0.54875 +0.44125003 +0.36875 +0.33875 +0.33499998 +0.32 +0.2575 +0.1675 +0.14 +0.16625 +0.19625 +0.22875 +0.26125 +0.33624998 +0.45874998 +0.53125 +0.53875 +0.51875 +0.5175 +0.56625 +0.65624994 +0.77750003 +0.9075 +1.05 +1.20875 +1.3799999 +1.54625 +1.6675 +1.705 +1.64375 +1.51875 +1.35875 +1.185 +1.0125 +0.84749997 +0.69625 +0.57375 +0.4625 +0.385 +0.3475 +0.33625 +0.3125 +0.2475 +0.1525 +0.1375 +0.16375 +0.1925 +0.2225 +0.2525 +0.31375 +0.44125 +0.52125 +0.53625005 +0.52375 +0.52875 +0.58124995 +0.67375004 +0.79625005 +0.92999995 +1.07625 +1.23625 +1.40625 +1.56625 +1.6775 +1.7025001 +1.6275 +1.4975001 +1.33375 +1.1575 +0.985 +0.8225 +0.67375 +0.54875 +0.44125003 +0.36875 +0.33875 +0.33499998 +0.32 +0.2575 +0.1675 +0.14 +0.16625 +0.19625 +0.22875 +0.26125 +0.33624998 +0.53625 +0.58000004 +0.555 +0.5075 +0.48125 +0.50624996 +0.5825 +0.69374996 +0.825 +0.97624993 +1.1475 +1.34375 +1.5375001 +1.6875 +1.7574999 +1.72375 +1.6012499 +1.4399999 +1.2562499 +1.07125 +0.89375 +0.74125 +0.61375 +0.50124997 +0.41874996 +0.37125003 +0.34999996 +0.32625002 +0.26125 +0.17500001 +0.125 +0.15125 +0.1825 +0.21375 +0.2475 +0.3425 +0.46625 +0.54625 +0.5637501 +0.55 +0.5525 +0.59624994 +0.68375 +0.80500007 +0.94874996 +1.11125 +1.28875 +1.4712499 +1.63125 +1.7275 +1.73 +1.63625 +1.4775 +1.295 +1.10125 +0.9175 +0.74625 +0.60625005 +0.4825 +0.38875002 +0.33625 +0.33 +0.34875 +0.35625 +0.315 +0.23374999 +0.16875 +0.1625 +0.1975 +0.23625 +0.31249997 +0.42999998 +0.53625 +0.58000004 +0.555 +0.5075 +0.48125 +0.50624996 +0.5825 +0.69374996 +0.825 +0.97624993 +1.1475 +1.34375 +1.5375001 +1.6875 +1.7574999 +1.72375 +1.6012499 +1.4399999 +1.2562499 +1.07125 +0.89375 +0.74125 +0.61375 +0.50124997 +0.41874996 +0.37125003 +0.34999996 +0.32625002 +0.26125 +0.17500001 +0.125 +0.15125 +0.1825 +0.21375 +0.2475 +0.3425 +0.46625 +0.54625 +0.5637501 +0.55 +0.5525 +0.59624994 +0.68375 +0.80500007 +0.94874996 +1.11125 +1.28875 +1.4712499 +1.63125 +1.7275 +1.73 +1.63625 +1.4775 +1.295 +1.10125 +0.9175 +0.74625 +0.60625005 +0.4825 +0.38875002 +0.33625 +0.33 +0.34875 +0.35625 +0.315 +0.23374999 +0.16875 +0.1625 +0.1975 +0.23625 +0.31249997 +0.42999998 +0.67625004 +0.67 +0.59625 +0.5 +0.43249995 +0.42125 +0.47125 +0.56624997 +0.69625 +0.85625 +1.04875 +1.27875 +1.5175 +1.7225001 +1.8475 +1.8612499 +1.7662499 +1.5987499 +1.4037501 +1.20375 +1.01125 +0.84875005 +0.71875 +0.6075 +0.5225 +0.46875003 +0.44125003 +0.4125 +0.35999998 +0.275 +0.2 +0.17250001 +0.1875 +0.22749999 +0.31 +0.435 +0.56374997 +0.63875 +0.655 +0.63874996 +0.62874997 +0.65625 +0.72999996 +0.8450001 +0.99875003 +1.1837499 +1.38625 +1.5787499 +1.72875 +1.79625 +1.7599999 +1.6275 +1.43375 +1.22375 +1.0074999 +0.80625 +0.6375 +0.49874997 +0.38875002 +0.3225 +0.30874997 +0.34500003 +0.40625 +0.45125002 +0.44125 +0.375 +0.28875 +0.24250002 +0.26125 +0.33499998 +0.45999998 +0.59624994 +0.67625004 +0.67 +0.59625 +0.5 +0.43249995 +0.42125 +0.47125 +0.56624997 +0.69625 +0.85625 +1.04875 +1.27875 +1.5175 +1.7225001 +1.8475 +1.8612499 +1.7662499 +1.5987499 +1.4037501 +1.20375 +1.01125 +0.84875005 +0.71875 +0.6075 +0.5225 +0.46875003 +0.44125003 +0.4125 +0.35999998 +0.275 +0.2 +0.17250001 +0.1875 +0.22749999 +0.31 +0.435 +0.56374997 +0.63875 +0.655 +0.63874996 +0.62874997 +0.65625 +0.72999996 +0.8450001 +0.99875003 +1.1837499 +1.38625 +1.5787499 +1.72875 +1.79625 +1.7599999 +1.6275 +1.43375 +1.22375 +1.0074999 +0.80625 +0.6375 +0.49874997 +0.38875002 +0.3225 +0.30874997 +0.34500003 +0.40625 +0.45125002 +0.44125 +0.375 +0.28875 +0.24250002 +0.26125 +0.33499998 +0.45999998 +0.59624994 +0.8400001 +0.78625 +0.67125005 +0.53499997 +0.42875004 +0.38249996 +0.40125 +0.47375003 +0.58875 +0.74625003 +0.9525 +1.2049999 +1.48 +1.7362499 +1.9237499 +1.99625 +1.9437499 +1.7974999 +1.6099999 +1.40625 +1.2149999 +1.04625 +0.92125005 +0.825 +0.75 +0.70125 +0.67125 +0.64875 +0.61 +0.5475 +0.46875 +0.40125 +0.37875003 +0.42499998 +0.5325 +0.66375 +0.77875006 +0.84125 +0.85 +0.8225 +0.78875 +0.7824999 +0.82375 +0.9225 +1.07875 +1.2800001 +1.4962499 +1.6912501 +1.8175001 +1.8412501 +1.75625 +1.5899999 +1.3825 +1.1525 +0.9275 +0.72249997 +0.55875003 +0.43375 +0.345 +0.31375 +0.34500003 +0.42875 +0.52250004 +0.5925 +0.60999995 +0.5675 +0.5025 +0.46625003 +0.48999995 +0.58124995 +0.70500004 +0.80499995 +0.8400001 +0.78625 +0.67125005 +0.53499997 +0.42875004 +0.38249996 +0.40125 +0.47375003 +0.58875 +0.74625003 +0.9525 +1.2049999 +1.48 +1.7362499 +1.9237499 +1.99625 +1.9437499 +1.7974999 +1.6099999 +1.40625 +1.2149999 +1.04625 +0.92125005 +0.825 +0.75 +0.70125 +0.67125 +0.64875 +0.61 +0.5475 +0.46875 +0.40125 +0.37875003 +0.42499998 +0.5325 +0.66375 +0.77875006 +0.84125 +0.85 +0.8225 +0.78875 +0.7824999 +0.82375 +0.9225 +1.07875 +1.2800001 +1.4962499 +1.6912501 +1.8175001 +1.8412501 +1.75625 +1.5899999 +1.3825 +1.1525 +0.9275 +0.72249997 +0.55875003 +0.43375 +0.345 +0.31375 +0.34500003 +0.42875 +0.52250004 +0.5925 +0.60999995 +0.5675 +0.5025 +0.46625003 +0.48999995 +0.58124995 +0.70500004 +0.80499995 +0.99375004 +0.91375 +0.7775 +0.62499994 +0.49874997 +0.4275 +0.41875 +0.4625 +0.5525 +0.68625 +0.8775 +1.1375 +1.4275 +1.71 +1.9375 +2.07 +2.07375 +1.9812499 +1.825 +1.64875 +1.48125 +1.34125 +1.22625 +1.145 +1.09625 +1.06125 +1.05375 +1.0625 +1.0500001 +1.0 +0.9175 +0.86125004 +0.83125 +0.84875 +0.91625 +1.01125 +1.09625 +1.1425 +1.1337501 +1.0825 +1.015 +0.96375006 +0.965 +1.065 +1.2225 +1.41375 +1.60875 +1.7687501 +1.8575001 +1.8325001 +1.7175 +1.5387499 +1.32125 +1.09875 +0.89 +0.70500004 +0.55625 +0.45375 +0.39624998 +0.40875 +0.48375002 +0.59 +0.68875 +0.76 +0.775 +0.74125 +0.6975 +0.6825 +0.72749996 +0.82 +0.92375 +0.99375 +0.99375004 +0.91375 +0.7775 +0.62499994 +0.49874997 +0.4275 +0.41875 +0.4625 +0.5525 +0.68625 +0.8775 +1.1375 +1.4275 +1.71 +1.9375 +2.07 +2.07375 +1.9812499 +1.825 +1.64875 +1.48125 +1.34125 +1.22625 +1.145 +1.09625 +1.06125 +1.05375 +1.0625 +1.0500001 +1.0 +0.9175 +0.86125004 +0.83125 +0.84875 +0.91625 +1.01125 +1.09625 +1.1425 +1.1337501 +1.0825 +1.015 +0.96375006 +0.965 +1.065 +1.2225 +1.41375 +1.60875 +1.7687501 +1.8575001 +1.8325001 +1.7175 +1.5387499 +1.32125 +1.09875 +0.89 +0.70500004 +0.55625 +0.45375 +0.39624998 +0.40875 +0.48375002 +0.59 +0.68875 +0.76 +0.775 +0.74125 +0.6975 +0.6825 +0.72749996 +0.82 +0.92375 +0.99375 +1.1025 +1.0162499 +0.885 +0.74250007 +0.61875 +0.5375 +0.50875 +0.52500004 +0.57625 +0.66875 +0.81625 +1.04375 +1.3175 +1.6075 +1.86375 +2.0425 +2.1162498 +2.0862498 +1.9874998 +1.8612499 +1.7362499 +1.6325002 +1.5525 +1.4925 +1.4599999 +1.4499999 +1.4649999 +1.49375 +1.5074999 +1.485 +1.4175 +1.3487499 +1.30625 +1.2925 +1.32125 +1.3775 +1.43125 +1.4525001 +1.4225 +1.34375 +1.24 +1.14875 +1.13125 +1.20625 +1.3437499 +1.51875 +1.6899999 +1.8112501 +1.8487501 +1.78625 +1.64125 +1.4475 +1.2425001 +1.05125 +0.8825 +0.74 +0.6275 +0.55125 +0.53249997 +0.57375 +0.66125 +0.76250005 +0.8425001 +0.89124995 +0.8874999 +0.8525 +0.82125 +0.8275 +0.8875 +0.98125 +1.0699999 +1.12125 +1.1025 +1.0162499 +0.885 +0.74250007 +0.61875 +0.5375 +0.50875 +0.52500004 +0.57625 +0.66875 +0.81625 +1.04375 +1.3175 +1.6075 +1.86375 +2.0425 +2.1162498 +2.0862498 +1.9874998 +1.8612499 +1.7362499 +1.6325002 +1.5525 +1.4925 +1.4599999 +1.4499999 +1.4649999 +1.49375 +1.5074999 +1.485 +1.4175 +1.3487499 +1.30625 +1.2925 +1.32125 +1.3775 +1.43125 +1.4525001 +1.4225 +1.34375 +1.24 +1.14875 +1.13125 +1.20625 +1.3437499 +1.51875 +1.6899999 +1.8112501 +1.8487501 +1.78625 +1.64125 +1.4475 +1.2425001 +1.05125 +0.8825 +0.74 +0.6275 +0.55125 +0.53249997 +0.57375 +0.66125 +0.76250005 +0.8425001 +0.89124995 +0.8874999 +0.8525 +0.82125 +0.8275 +0.8875 +0.98125 +1.0699999 +1.12125 +1.135 +1.0537499 +0.94 +0.82124996 +0.71500003 +0.64000005 +0.59875 +0.58875 +0.60249996 +0.64625 +0.73625004 +0.89875 +1.13375 +1.405 +1.6724999 +1.89875 +2.0275002 +2.06875 +2.04125 +1.9725001 +1.8937501 +1.82 +1.7612499 +1.7175 +1.7125 +1.7112501 +1.73125 +1.78125 +1.8187499 +1.82125 +1.7737498 +1.71875 +1.6674999 +1.6312499 +1.62625 +1.64625 +1.6687499 +1.6600001 +1.6049999 +1.5024999 +1.37375 +1.25875 +1.2125001 +1.2725 +1.4000001 +1.56125 +1.7099999 +1.8100001 +1.8087502 +1.69 +1.52 +1.32375 +1.14125 +0.98625004 +0.86375 +0.7675 +0.69624996 +0.6625 +0.65999997 +0.71124995 +0.79 +0.86625004 +0.91875 +0.9325 +0.905 +0.865 +0.84875 +0.88125 +0.95875 +1.055 +1.1325 +1.1637499 +1.135 +1.0537499 +0.94 +0.82124996 +0.71500003 +0.64000005 +0.59875 +0.58875 +0.60249996 +0.64625 +0.73625004 +0.89875 +1.13375 +1.405 +1.6724999 +1.89875 +2.0275002 +2.06875 +2.04125 +1.9725001 +1.8937501 +1.82 +1.7612499 +1.7175 +1.7125 +1.7112501 +1.73125 +1.78125 +1.8187499 +1.82125 +1.7737498 +1.71875 +1.6674999 +1.6312499 +1.62625 +1.64625 +1.6687499 +1.6600001 +1.6049999 +1.5024999 +1.37375 +1.25875 +1.2125001 +1.2725 +1.4000001 +1.56125 +1.7099999 +1.8100001 +1.8087502 +1.69 +1.52 +1.32375 +1.14125 +0.98625004 +0.86375 +0.7675 +0.69624996 +0.6625 +0.65999997 +0.71124995 +0.79 +0.86625004 +0.91875 +0.9325 +0.905 +0.865 +0.84875 +0.88125 +0.95875 +1.055 +1.1325 +1.1637499 +1.075 +0.99625003 +0.9 +0.80625 +0.72249997 +0.655 +0.61125004 +0.58125 +0.5675 +0.57375 +0.6125001 +0.70875 +0.88250005 +1.1212499 +1.3974999 +1.6525 +1.8387501 +1.9262501 +1.95625 +1.9449999 +1.90375 +1.8487499 +1.7950001 +1.79125 +1.7887499 +1.79125 +1.8100001 +1.8499999 +1.9137498 +1.94 +1.94 +1.9074999 +1.8537501 +1.8025 +1.77125 +1.75625 +1.7425 +1.70125 +1.6212499 +1.5025 +1.36875 +1.25625 +1.2075001 +1.2450001 +1.37625 +1.5325 +1.69625 +1.78375 +1.75 +1.6 +1.375 +1.17875 +1.01375 +0.89000005 +0.8025 +0.7475 +0.725 +0.7075 +0.70875 +0.74125 +0.7975 +0.84999996 +0.87125003 +0.8525001 +0.80999994 +0.7775 +0.7875 +0.8525 +0.9524999 +1.04875 +1.11125 +1.1187501 +1.075 +0.99625003 +0.9 +0.80625 +0.72249997 +0.655 +0.61125004 +0.58125 +0.5675 +0.57375 +0.6125001 +0.70875 +0.88250005 +1.1212499 +1.3974999 +1.6525 +1.8387501 +1.9262501 +1.95625 +1.9449999 +1.90375 +1.8487499 +1.7950001 +1.79125 +1.7887499 +1.79125 +1.8100001 +1.8499999 +1.9137498 +1.94 +1.94 +1.9074999 +1.8537501 +1.8025 +1.77125 +1.75625 +1.7425 +1.70125 +1.6212499 +1.5025 +1.36875 +1.25625 +1.2075001 +1.2450001 +1.37625 +1.5325 +1.69625 +1.78375 +1.75 +1.6 +1.375 +1.17875 +1.01375 +0.89000005 +0.8025 +0.7475 +0.725 +0.7075 +0.70875 +0.74125 +0.7975 +0.84999996 +0.87125003 +0.8525001 +0.80999994 +0.7775 +0.7875 +0.8525 +0.9524999 +1.04875 +1.11125 +1.1187501 +0.92375004 +0.83875 +0.7525 +0.67499995 +0.6075 +0.5525 +0.50874996 +0.47250003 +0.44625002 +0.43 +0.43875003 +0.49375004 +0.62 +0.82124996 +1.07875 +1.3475001 +1.5725001 +1.72 +1.7862501 +1.8 +1.79 +1.76375 +1.74875 +1.7375001 +1.7325001 +1.7425 +1.775 +1.8325 +1.9074999 +1.9687499 +1.99625 +1.98 +1.9287499 +1.8637501 +1.805 +1.7487501 +1.69125 +1.6137499 +1.5075002 +1.38 +1.25625 +1.16375 +1.13625 +1.1925 +1.3225 +1.49375 +1.64625 +1.7162501 +1.6650002 +1.5037501 +1.2737501 +1.0425 +0.8725 +0.7625 +0.71375006 +0.6925 +0.67375 +0.65625 +0.64874995 +0.66375 +0.6925 +0.7125 +0.7025 +0.6625 +0.62125 +0.6125 +0.66125 +0.7625 +0.88 +0.97375 +1.01125 +0.99 +0.92375004 +0.83875 +0.7525 +0.67499995 +0.6075 +0.5525 +0.50874996 +0.47250003 +0.44625002 +0.43 +0.43875003 +0.49375004 +0.62 +0.82124996 +1.07875 +1.3475001 +1.5725001 +1.72 +1.7862501 +1.8 +1.79 +1.76375 +1.74875 +1.7375001 +1.7325001 +1.7425 +1.775 +1.8325 +1.9074999 +1.9687499 +1.99625 +1.98 +1.9287499 +1.8637501 +1.805 +1.7487501 +1.69125 +1.6137499 +1.5075002 +1.38 +1.25625 +1.16375 +1.13625 +1.1925 +1.3225 +1.49375 +1.64625 +1.7162501 +1.6650002 +1.5037501 +1.2737501 +1.0425 +0.8725 +0.7625 +0.71375006 +0.6925 +0.67375 +0.65625 +0.64874995 +0.66375 +0.6925 +0.7125 +0.7025 +0.6625 +0.62125 +0.6125 +0.66125 +0.7625 +0.88 +0.97375 +1.01125 +0.99 +0.7025 +0.61 +0.5275 +0.46500003 +0.40875003 +0.35999998 +0.32250002 +0.29625002 +0.27625 +0.25625 +0.2475 +0.27375 +0.365 +0.53 +0.76250005 +1.02375 +1.26875 +1.46 +1.5825 +1.64375 +1.6675 +1.6750001 +1.67625 +1.6800001 +1.6899999 +1.7175 +1.7750001 +1.85875 +1.9562501 +2.03875 +2.0812502 +2.07375 +2.02 +1.9375001 +1.84375 +1.73875 +1.62625 +1.5025 +1.3675001 +1.235 +1.1212499 +1.0512501 +1.04375 +1.11 +1.23875 +1.39375 +1.5275 +1.58375 +1.5325 +1.375 +1.15625 +0.93500006 +0.76750004 +0.66375005 +0.6125 +0.5825 +0.55625 +0.5275 +0.5075 +0.50125 +0.50625 +0.49875003 +0.46625 +0.41875 +0.3875 +0.41 +0.49625 +0.62624997 +0.75374997 +0.83624995 +0.84499997 +0.7925 +0.7025 +0.61 +0.5275 +0.46500003 +0.40875003 +0.35999998 +0.32250002 +0.29625002 +0.27625 +0.25625 +0.2475 +0.27375 +0.365 +0.53 +0.76250005 +1.02375 +1.26875 +1.46 +1.5825 +1.64375 +1.6675 +1.6750001 +1.67625 +1.6800001 +1.6899999 +1.7175 +1.7750001 +1.85875 +1.9562501 +2.03875 +2.0812502 +2.07375 +2.02 +1.9375001 +1.84375 +1.73875 +1.62625 +1.5025 +1.3675001 +1.235 +1.1212499 +1.0512501 +1.04375 +1.11 +1.23875 +1.39375 +1.5275 +1.58375 +1.5325 +1.375 +1.15625 +0.93500006 +0.76750004 +0.66375005 +0.6125 +0.5825 +0.55625 +0.5275 +0.5075 +0.50125 +0.50625 +0.49875003 +0.46625 +0.41875 +0.3875 +0.41 +0.49625 +0.62624997 +0.75374997 +0.83624995 +0.84499997 +0.7925 +0.46500003 +0.395 +0.32874998 +0.27374998 +0.22874999 +0.195 +0.1825 +0.18 +0.17125 +0.1525 +0.12875 +0.13 +0.17875 +0.28625 +0.4825 +0.7225 +0.96874994 +1.1862499 +1.35125 +1.47 +1.5537499 +1.61625 +1.67 +1.7225001 +1.78125 +1.85625 +1.9487499 +2.05875 +2.1712499 +2.26125 +2.3075001 +2.29375 +2.2262502 +2.115 +1.9712499 +1.8075001 +1.63375 +1.4612501 +1.2987499 +1.16 +1.0537499 +0.99125 +0.98 +1.02125 +1.1125 +1.22625 +1.325 +1.36375 +1.3137499 +1.1775 +0.9875001 +0.795 +0.64250004 +0.5475 +0.4925 +0.45499998 +0.42375004 +0.38625002 +0.35500002 +0.33625 +0.31875002 +0.28875 +0.25 +0.22625001 +0.22000001 +0.245 +0.32125 +0.46125 +0.58625 +0.6475 +0.63 +0.55 +0.46500003 +0.395 +0.32874998 +0.27374998 +0.22874999 +0.195 +0.1825 +0.18 +0.17125 +0.1525 +0.12875 +0.13 +0.17875 +0.28625 +0.4825 +0.7225 +0.96874994 +1.1862499 +1.35125 +1.47 +1.5537499 +1.61625 +1.67 +1.7225001 +1.78125 +1.85625 +1.9487499 +2.05875 +2.1712499 +2.26125 +2.3075001 +2.29375 +2.2262502 +2.115 +1.9712499 +1.8075001 +1.63375 +1.4612501 +1.2987499 +1.16 +1.0537499 +0.99125 +0.98 +1.02125 +1.1125 +1.22625 +1.325 +1.36375 +1.3137499 +1.1775 +0.9875001 +0.795 +0.64250004 +0.5475 +0.4925 +0.45499998 +0.42375004 +0.38625002 +0.35500002 +0.33625 +0.31875002 +0.28875 +0.25 +0.22625001 +0.22000001 +0.245 +0.32125 +0.46125 +0.58625 +0.6475 +0.63 +0.55 +0.31625 +0.29125 +0.24875 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.16875 +0.14125 +0.12 +0.12125 +0.17124999 +0.2875 +0.48250005 +0.7125 +0.935 +1.13625 +1.3112501 +1.46625 +1.6112499 +1.7512498 +1.8874999 +2.0225 +2.1575 +2.29 +2.4412498 +2.5675 +2.635 +2.6399999 +2.6074998 +2.51 +2.35625 +2.15875 +1.9375 +1.7112501 +1.5025 +1.3237499 +1.1824999 +1.08 +1.00375 +0.9575 +0.96375 +0.99375 +1.02375 +1.0475 +1.06125 +1.0175 +0.90999997 +0.76 +0.60625005 +0.48499998 +0.41000003 +0.37124997 +0.34625 +0.32125 +0.29000002 +0.26 +0.23125002 +0.20125002 +0.1625 +0.14999999 +0.16875 +0.18375 +0.19000001 +0.21375 +0.29375 +0.39750004 +0.43375003 +0.39625 +0.3475 +0.31625 +0.29125 +0.24875 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.16875 +0.14125 +0.12 +0.12125 +0.17124999 +0.2875 +0.48250005 +0.7125 +0.935 +1.13625 +1.3112501 +1.46625 +1.6112499 +1.7512498 +1.8874999 +2.0225 +2.1575 +2.29 +2.4412498 +2.5675 +2.635 +2.6399999 +2.6074998 +2.51 +2.35625 +2.15875 +1.9375 +1.7112501 +1.5025 +1.3237499 +1.1824999 +1.08 +1.00375 +0.9575 +0.96375 +0.99375 +1.02375 +1.0475 +1.06125 +1.0175 +0.90999997 +0.76 +0.60625005 +0.48499998 +0.41000003 +0.37124997 +0.34625 +0.32125 +0.29000002 +0.26 +0.23125002 +0.20125002 +0.1625 +0.14999999 +0.16875 +0.18375 +0.19000001 +0.21375 +0.29375 +0.39750004 +0.43375003 +0.39625 +0.3475 +0.26 +0.24375 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.24 +0.33875 +0.53375 +0.74749994 +0.9625 +1.18875 +1.43875 +1.65625 +1.8587499 +2.07625 +2.2875 +2.485 +2.6837502 +2.8449998 +2.94875 +2.9825 +2.95 +2.8525 +2.7075 +2.51625 +2.2775002 +2.0175 +1.76625 +1.545 +1.3712499 +1.245 +1.145 +1.06625 +1.00125 +0.93874997 +0.88499993 +0.83875 +0.7975 +0.74875003 +0.70124996 +0.62125003 +0.51875 +0.43375 +0.3575 +0.28625 +0.26749998 +0.27625 +0.27875 +0.27374998 +0.25375 +0.22125001 +0.17875001 +0.14874999 +0.1575 +0.17875 +0.18875 +0.17875 +0.16875 +0.18375 +0.23125 +0.24375 +0.23125 +0.24375 +0.26 +0.24375 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.185 +0.24 +0.33875 +0.53375 +0.74749994 +0.9625 +1.18875 +1.43875 +1.65625 +1.8587499 +2.07625 +2.2875 +2.485 +2.6837502 +2.8449998 +2.94875 +2.9825 +2.95 +2.8525 +2.7075 +2.51625 +2.2775002 +2.0175 +1.76625 +1.545 +1.3712499 +1.245 +1.145 +1.06625 +1.00125 +0.93874997 +0.88499993 +0.83875 +0.7975 +0.74875003 +0.70124996 +0.62125003 +0.51875 +0.43375 +0.3575 +0.28625 +0.26749998 +0.27625 +0.27875 +0.27374998 +0.25375 +0.22125001 +0.17875001 +0.14874999 +0.1575 +0.17875 +0.18875 +0.17875 +0.16875 +0.18375 +0.23125 +0.24375 +0.23125 +0.24375 +0.20875 +0.1925 +0.1525 +0.11624999 +0.105000004 +0.1025 +0.13 +0.16375 +0.1825 +0.18 +0.16875 +0.16875 +0.1925 +0.23375 +0.275 +0.32125 +0.46 +0.64625 +0.84625 +1.1025 +1.38375 +1.6449999 +1.9 +2.15625 +2.40875 +2.6462502 +2.8412502 +2.9725 +3.0325 +3.02125 +2.9537501 +2.8349998 +2.6712499 +2.4625 +2.21875 +1.96 +1.7175 +1.5187501 +1.3775 +1.27875 +1.2 +1.1137501 +1.00375 +0.87874997 +0.75750005 +0.65875 +0.58500004 +0.53 +0.4775 +0.41875002 +0.35875 +0.29874998 +0.24874999 +0.20374998 +0.19875 +0.25375003 +0.29874998 +0.3225 +0.31625 +0.27625 +0.22 +0.175 +0.16875 +0.18 +0.1825 +0.16375 +0.13374999 +0.13000001 +0.14375001 +0.13624999 +0.1525 +0.1925 +0.20875 +0.1925 +0.1525 +0.11624999 +0.105000004 +0.1025 +0.13 +0.16375 +0.1825 +0.18 +0.16875 +0.16875 +0.1925 +0.23375 +0.275 +0.32125 +0.46 +0.64625 +0.84625 +1.1025 +1.38375 +1.6449999 +1.9 +2.15625 +2.40875 +2.6462502 +2.8412502 +2.9725 +3.0325 +3.02125 +2.9537501 +2.8349998 +2.6712499 +2.4625 +2.21875 +1.96 +1.7175 +1.5187501 +1.3775 +1.27875 +1.2 +1.1137501 +1.00375 +0.87874997 +0.75750005 +0.65875 +0.58500004 +0.53 +0.4775 +0.41875002 +0.35875 +0.29874998 +0.24874999 +0.20374998 +0.19875 +0.25375003 +0.29874998 +0.3225 +0.31625 +0.27625 +0.22 +0.175 +0.16875 +0.18 +0.1825 +0.16375 +0.13374999 +0.13000001 +0.14375001 +0.13624999 +0.1525 +0.1925 +0.17125 +0.1575 +0.13874999 +0.13125 +0.12875 +0.122499995 +0.12 +0.14125 +0.16875 +0.1775 +0.18 +0.19625 +0.23625 +0.2925 +0.33875 +0.39249998 +0.505 +0.64125 +0.79375005 +0.9975 +1.2462499 +1.485 +1.72875 +1.98 +2.225 +2.435 +2.58875 +2.6675 +2.6725001 +2.6225 +2.5362499 +2.42 +2.2762501 +2.0874999 +1.8675001 +1.6387501 +1.43625 +1.29 +1.2075 +1.16625 +1.1287501 +1.05 +0.92625 +0.77375 +0.6275 +0.515 +0.44625 +0.40999997 +0.3825 +0.3375 +0.28125 +0.2225 +0.17375 +0.14 +0.17624998 +0.2775 +0.37125 +0.42125002 +0.41625 +0.36624998 +0.29 +0.21875 +0.1825 +0.1775 +0.17 +0.16 +0.15125 +0.15 +0.145 +0.13 +0.12625 +0.15375 +0.17125 +0.1575 +0.13874999 +0.13125 +0.12875 +0.122499995 +0.12 +0.14125 +0.16875 +0.1775 +0.18 +0.19625 +0.23625 +0.2925 +0.33875 +0.39249998 +0.505 +0.64125 +0.79375005 +0.9975 +1.2462499 +1.485 +1.72875 +1.98 +2.225 +2.435 +2.58875 +2.6675 +2.6725001 +2.6225 +2.5362499 +2.42 +2.2762501 +2.0874999 +1.8675001 +1.6387501 +1.43625 +1.29 +1.2075 +1.16625 +1.1287501 +1.05 +0.92625 +0.77375 +0.6275 +0.515 +0.44625 +0.40999997 +0.3825 +0.3375 +0.28125 +0.2225 +0.17375 +0.14 +0.17624998 +0.2775 +0.37125 +0.42125002 +0.41625 +0.36624998 +0.29 +0.21875 +0.1825 +0.1775 +0.17 +0.16 +0.15125 +0.15 +0.145 +0.13 +0.12625 +0.15375 +0.18125 +0.19125 +0.21 +0.23 +0.22625 +0.19999999 +0.17500001 +0.165 +0.16875 +0.17625 +0.18875 +0.2225 +0.28125 +0.3525 +0.42624998 +0.5175 +0.61499995 +0.7062501 +0.78624994 +0.87 +1.0250001 +1.18 +1.3725 +1.5975 +1.7912501 +1.9225 +1.975 +1.9925001 +1.95 +1.8824999 +1.8425 +1.7875001 +1.6949999 +1.545 +1.34625 +1.15 +0.99875 +0.9125001 +0.90875 +0.9625 +0.99625 +0.9575001 +0.83125 +0.6575 +0.525 +0.4425 +0.41125 +0.45 +0.47250003 +0.4325 +0.32875 +0.22 +0.14875 +0.1125 +0.20249999 +0.34625003 +0.4825 +0.55999994 +0.55375004 +0.48125 +0.3775 +0.28124997 +0.225 +0.20875 +0.21874999 +0.24124998 +0.2625 +0.26 +0.23375 +0.1975 +0.17625001 +0.17500001 +0.18125 +0.19125 +0.21 +0.23 +0.22625 +0.19999999 +0.17500001 +0.165 +0.16875 +0.17625 +0.18875 +0.2225 +0.28125 +0.3525 +0.42624998 +0.5175 +0.61499995 +0.7062501 +0.78624994 +0.87 +1.0250001 +1.18 +1.3725 +1.5975 +1.7912501 +1.9225 +1.975 +1.9925001 +1.95 +1.8824999 +1.8425 +1.7875001 +1.6949999 +1.545 +1.34625 +1.15 +0.99875 +0.9125001 +0.90875 +0.9625 +0.99625 +0.9575001 +0.83125 +0.6575 +0.525 +0.4425 +0.41125 +0.45 +0.47250003 +0.4325 +0.32875 +0.22 +0.14875 +0.1125 +0.20249999 +0.34625003 +0.4825 +0.55999994 +0.55375004 +0.48125 +0.3775 +0.28124997 +0.225 +0.20875 +0.21874999 +0.24124998 +0.2625 +0.26 +0.23375 +0.1975 +0.17625001 +0.17500001 +0.28125003 +0.30875 +0.32375 +0.32125 +0.30249998 +0.28 +0.265 +0.2575 +0.2525 +0.2475 +0.25125003 +0.27625 +0.33374998 +0.42374998 +0.535 +0.65250003 +0.74500006 +0.78999996 +0.78375 +0.76250005 +0.76750004 +0.82875 +0.95 +1.10125 +1.23 +1.2974999 +1.2925 +1.23125 +1.1625 +1.12125 +1.11875 +1.13125 +1.1162499 +1.0375 +0.895 +0.725 +0.5975 +0.5575 +0.61875004 +0.73249996 +0.8275 +0.8425 +0.76250005 +0.62624997 +0.51 +0.47125003 +0.5175 +0.60749996 +0.66249996 +0.6225 +0.48874998 +0.3125 +0.17750001 +0.15624999 +0.26125 +0.445 +0.62125003 +0.72125006 +0.71 +0.60375 +0.46375 +0.35 +0.29874998 +0.31125003 +0.35999998 +0.4075 +0.4225 +0.39874998 +0.34625 +0.29500002 +0.26375002 +0.26125 +0.28125003 +0.30875 +0.32375 +0.32125 +0.30249998 +0.28 +0.265 +0.2575 +0.2525 +0.2475 +0.25125003 +0.27625 +0.33374998 +0.42374998 +0.535 +0.65250003 +0.74500006 +0.78999996 +0.78375 +0.76250005 +0.76750004 +0.82875 +0.95 +1.10125 +1.23 +1.2974999 +1.2925 +1.23125 +1.1625 +1.12125 +1.11875 +1.13125 +1.1162499 +1.0375 +0.895 +0.725 +0.5975 +0.5575 +0.61875004 +0.73249996 +0.8275 +0.8425 +0.76250005 +0.62624997 +0.51 +0.47125003 +0.5175 +0.60749996 +0.66249996 +0.6225 +0.48874998 +0.3125 +0.17750001 +0.15624999 +0.26125 +0.445 +0.62125003 +0.72125006 +0.71 +0.60375 +0.46375 +0.35 +0.29874998 +0.31125003 +0.35999998 +0.4075 +0.4225 +0.39874998 +0.34625 +0.29500002 +0.26375002 +0.26125 +0.37 +0.39999998 +0.4 +0.3725 +0.34375 +0.32875 +0.3475 +0.38375002 +0.41250002 +0.42375 +0.41500002 +0.40624997 +0.42874995 +0.50375 +0.62125 +0.7475 +0.82375 +0.82125 +0.73999995 +0.6225 +0.52250004 +0.49 +0.53499997 +0.62875 +0.71375 +0.74 +0.69624996 +0.60375 +0.52125 +0.5 +0.55375004 +0.65125 +0.72625 +0.72375 +0.6275 +0.47875 +0.35 +0.31 +0.3775 +0.52124995 +0.6625 +0.73 +0.69375 +0.59875 +0.515 +0.51374996 +0.60499996 +0.73875004 +0.825 +0.7925 +0.63375 +0.41250002 +0.23750001 +0.19625 +0.31374997 +0.53875005 +0.7625 +0.88875 +0.87 +0.72999996 +0.54625 +0.4025 +0.35125002 +0.38625002 +0.46500003 +0.52875 +0.53499997 +0.48375002 +0.405 +0.33625 +0.315 +0.33375 +0.37 +0.39999998 +0.4 +0.3725 +0.34375 +0.32875 +0.3475 +0.38375002 +0.41250002 +0.42375 +0.41500002 +0.40624997 +0.42874995 +0.50375 +0.62125 +0.7475 +0.82375 +0.82125 +0.73999995 +0.6225 +0.52250004 +0.49 +0.53499997 +0.62875 +0.71375 +0.74 +0.69624996 +0.60375 +0.52125 +0.5 +0.55375004 +0.65125 +0.72625 +0.72375 +0.6275 +0.47875 +0.35 +0.31 +0.3775 +0.52124995 +0.6625 +0.73 +0.69375 +0.59875 +0.515 +0.51374996 +0.60499996 +0.73875004 +0.825 +0.7925 +0.63375 +0.41250002 +0.23750001 +0.19625 +0.31374997 +0.53875005 +0.7625 +0.88875 +0.87 +0.72999996 +0.54625 +0.4025 +0.35125002 +0.38625002 +0.46500003 +0.52875 +0.53499997 +0.48375002 +0.405 +0.33625 +0.315 +0.33375 +0.39375 +0.43624997 +0.42625 +0.38250002 +0.34124997 +0.3425 +0.3975 +0.48624998 +0.56625 +0.59875 +0.58000004 +0.5375 +0.51625 +0.55125004 +0.6425 +0.74749994 +0.8037499 +0.76750004 +0.63249993 +0.44375 +0.27750003 +0.19125 +0.20875 +0.28125 +0.3625 +0.38375002 +0.32625 +0.22250001 +0.14125 +0.14999999 +0.2475 +0.42125 +0.5775 +0.64000005 +0.575 +0.41499996 +0.2525 +0.17 +0.21624999 +0.35875002 +0.525 +0.62875 +0.6275 +0.5525 +0.47999996 +0.48499998 +0.5925 +0.7475 +0.8575001 +0.83750004 +0.675 +0.43499997 +0.23625 +0.18875 +0.33 +0.59875 +0.87125003 +1.0300001 +1.0124999 +0.84000003 +0.61 +0.43125004 +0.36875004 +0.41375002 +0.50624996 +0.57124996 +0.55875 +0.47375 +0.35999998 +0.2825 +0.275 +0.325 +0.39375 +0.43624997 +0.42625 +0.38250002 +0.34124997 +0.3425 +0.3975 +0.48624998 +0.56625 +0.59875 +0.58000004 +0.5375 +0.51625 +0.55125004 +0.6425 +0.74749994 +0.8037499 +0.76750004 +0.63249993 +0.44375 +0.27750003 +0.19125 +0.20875 +0.28125 +0.3625 +0.38375002 +0.32625 +0.22250001 +0.14125 +0.14999999 +0.2475 +0.42125 +0.5775 +0.64000005 +0.575 +0.41499996 +0.2525 +0.17 +0.21624999 +0.35875002 +0.525 +0.62875 +0.6275 +0.5525 +0.47999996 +0.48499998 +0.5925 +0.7475 +0.8575001 +0.83750004 +0.675 +0.43499997 +0.23625 +0.18875 +0.33 +0.59875 +0.87125003 +1.0300001 +1.0124999 +0.84000003 +0.61 +0.43125004 +0.36875004 +0.41375002 +0.50624996 +0.57124996 +0.55875 +0.47375 +0.35999998 +0.2825 +0.275 +0.325 +0.37375 +0.44 +0.42875 +0.36625 +0.31 +0.31625 +0.40499997 +0.545 +0.67749995 +0.73875 +0.71624994 +0.64125 +0.56875 +0.55125 +0.59625006 +0.67 +0.7025 +0.64250004 +0.48125 +0.26375 +0.1075 +0.0275 +0.0275 +0.1025 +0.20625001 +0.24375 +0.1925 +0.1125 +0.0325 +0.022499999 +0.15625 +0.38375002 +0.5975 +0.70000005 +0.64500004 +0.47500002 +0.26875 +0.11875 +0.10875 +0.23875001 +0.41750002 +0.54625 +0.565 +0.48875 +0.42125 +0.40125 +0.46499997 +0.61625004 +0.74 +0.74375004 +0.59625 +0.38375 +0.2025 +0.1275 +0.2925 +0.6025 +0.92375 +1.115 +1.0999999 +0.90874994 +0.64000005 +0.42625 +0.34249997 +0.38375002 +0.47875002 +0.53375 +0.49875 +0.3775 +0.23749998 +0.1575 +0.17625001 +0.2625 +0.37375 +0.44 +0.42875 +0.36625 +0.31 +0.31625 +0.40499997 +0.545 +0.67749995 +0.73875 +0.71624994 +0.64125 +0.56875 +0.55125 +0.59625006 +0.67 +0.7025 +0.64250004 +0.48125 +0.26375 +0.1075 +0.0275 +0.0275 +0.1025 +0.20625001 +0.24375 +0.1925 +0.1125 +0.0325 +0.022499999 +0.15625 +0.38375002 +0.5975 +0.70000005 +0.64500004 +0.47500002 +0.26875 +0.11875 +0.10875 +0.23875001 +0.41750002 +0.54625 +0.565 +0.48875 +0.42125 +0.40125 +0.46499997 +0.61625004 +0.74 +0.74375004 +0.59625 +0.38375 +0.2025 +0.1275 +0.2925 +0.6025 +0.92375 +1.115 +1.0999999 +0.90874994 +0.64000005 +0.42625 +0.34249997 +0.38375002 +0.47875002 +0.53375 +0.49875 +0.3775 +0.23749998 +0.1575 +0.17625001 +0.2625 +0.37624997 +0.46375 +0.44750002 +0.36 +0.27499998 +0.2675 +0.37 +0.54625 +0.7225 +0.82125 +0.80875003 +0.71375006 +0.59875 +0.53 +0.53249997 +0.57374996 +0.58875006 +0.52125 +0.35875 +0.17875001 +0.052500002 +0.0025 +0.012499999 +0.08499999 +0.20625 +0.28750002 +0.27875 +0.19375 +0.1025 +0.091249995 +0.2075 +0.42874998 +0.66125005 +0.79125 +0.7575 +0.56875 +0.31875 +0.12375 +0.07 +0.16625 +0.34875003 +0.5025 +0.5625 +0.51124996 +0.40875 +0.33875 +0.35375 +0.445 +0.55125 +0.57875 +0.49 +0.315 +0.1425 +0.07375 +0.21999998 +0.55625 +0.90874994 +1.12375 +1.1175001 +0.915 +0.62375 +0.385 +0.28500003 +0.32125 +0.41250002 +0.46 +0.40624997 +0.26625 +0.12625 +0.085 +0.11875 +0.22250001 +0.37624997 +0.46375 +0.44750002 +0.36 +0.27499998 +0.2675 +0.37 +0.54625 +0.7225 +0.82125 +0.80875003 +0.71375006 +0.59875 +0.53 +0.53249997 +0.57374996 +0.58875006 +0.52125 +0.35875 +0.17875001 +0.052500002 +0.0025 +0.012499999 +0.08499999 +0.20625 +0.28750002 +0.27875 +0.19375 +0.1025 +0.091249995 +0.2075 +0.42874998 +0.66125005 +0.79125 +0.7575 +0.56875 +0.31875 +0.12375 +0.07 +0.16625 +0.34875003 +0.5025 +0.5625 +0.51124996 +0.40875 +0.33875 +0.35375 +0.445 +0.55125 +0.57875 +0.49 +0.315 +0.1425 +0.07375 +0.21999998 +0.55625 +0.90874994 +1.12375 +1.1175001 +0.915 +0.62375 +0.385 +0.28500003 +0.32125 +0.41250002 +0.46 +0.40624997 +0.26625 +0.12625 +0.085 +0.11875 +0.22250001 +0.465 +0.56 +0.52625 +0.3975 +0.26375002 +0.21749999 +0.30249998 +0.49374998 +0.70125 +0.83250004 +0.8449999 +0.75374997 +0.62375 +0.52625 +0.50125 +0.52375 +0.53375006 +0.47750002 +0.3375 +0.19500001 +0.08625001 +0.044999998 +0.085 +0.18875 +0.32500002 +0.41375 +0.405 +0.315 +0.21625 +0.19250001 +0.29375002 +0.4975 +0.7125 +0.8312501 +0.78375 +0.58 +0.31375 +0.10625 +0.051250003 +0.15375 +0.35500002 +0.53875 +0.615 +0.55875003 +0.41999996 +0.2975 +0.26 +0.32 +0.41375002 +0.45749998 +0.39499998 +0.245 +0.0875 +0.03 +0.15874998 +0.49 +0.84125 +1.0625 +1.06375 +0.86125004 +0.56875 +0.32250002 +0.21875 +0.25625 +0.35250002 +0.40499997 +0.35499996 +0.21875 +0.11625 +0.11125 +0.16625 +0.3 +0.465 +0.56 +0.52625 +0.3975 +0.26375002 +0.21749999 +0.30249998 +0.49374998 +0.70125 +0.83250004 +0.8449999 +0.75374997 +0.62375 +0.52625 +0.50125 +0.52375 +0.53375006 +0.47750002 +0.3375 +0.19500001 +0.08625001 +0.044999998 +0.085 +0.18875 +0.32500002 +0.41375 +0.405 +0.315 +0.21625 +0.19250001 +0.29375002 +0.4975 +0.7125 +0.8312501 +0.78375 +0.58 +0.31375 +0.10625 +0.051250003 +0.15375 +0.35500002 +0.53875 +0.615 +0.55875003 +0.41999996 +0.2975 +0.26 +0.32 +0.41375002 +0.45749998 +0.39499998 +0.245 +0.0875 +0.03 +0.15874998 +0.49 +0.84125 +1.0625 +1.06375 +0.86125004 +0.56875 +0.32250002 +0.21875 +0.25625 +0.35250002 +0.40499997 +0.35499996 +0.21875 +0.11625 +0.11125 +0.16625 +0.3 +0.65375 +0.73625 +0.6675 +0.48624998 +0.2925 +0.19375001 +0.23874998 +0.4125 +0.62874997 +0.78625 +0.82875 +0.75749993 +0.64 +0.545 +0.51375 +0.53875 +0.56374997 +0.5375 +0.44000003 +0.315 +0.23249999 +0.19000001 +0.22625 +0.34875 +0.4675 +0.5175 +0.50125 +0.41 +0.31 +0.27374998 +0.345 +0.505 +0.6825 +0.77625 +0.71250004 +0.51 +0.25875002 +0.07 +0.040000003 +0.16874999 +0.38125 +0.58125 +0.675 +0.61875 +0.46249998 +0.30624998 +0.22875002 +0.25375 +0.35 +0.4 +0.3425 +0.21374999 +0.06875 +0.015 +0.14375 +0.43375 +0.75625 +0.96000004 +0.96125 +0.77374995 +0.49625003 +0.26875 +0.18374999 +0.22874999 +0.33874997 +0.41124997 +0.3875 +0.28125 +0.19125001 +0.195 +0.295 +0.47250003 +0.65375 +0.73625 +0.6675 +0.48624998 +0.2925 +0.19375001 +0.23874998 +0.4125 +0.62874997 +0.78625 +0.82875 +0.75749993 +0.64 +0.545 +0.51375 +0.53875 +0.56374997 +0.5375 +0.44000003 +0.315 +0.23249999 +0.19000001 +0.22625 +0.34875 +0.4675 +0.5175 +0.50125 +0.41 +0.31 +0.27374998 +0.345 +0.505 +0.6825 +0.77625 +0.71250004 +0.51 +0.25875002 +0.07 +0.040000003 +0.16874999 +0.38125 +0.58125 +0.675 +0.61875 +0.46249998 +0.30624998 +0.22875002 +0.25375 +0.35 +0.4 +0.3425 +0.21374999 +0.06875 +0.015 +0.14375 +0.43375 +0.75625 +0.96000004 +0.96125 +0.77374995 +0.49625003 +0.26875 +0.18374999 +0.22874999 +0.33874997 +0.41124997 +0.3875 +0.28125 +0.19125001 +0.195 +0.295 +0.47250003 +0.885 +0.94124997 +0.8325 +0.60374993 +0.35375 +0.20125 +0.20124999 +0.34 +0.53875 +0.70125 +0.76250005 +0.71875 +0.62624997 +0.54999995 +0.53625 +0.57875 +0.63375 +0.65 +0.6075 +0.52124995 +0.43875 +0.41125 +0.45374998 +0.53999996 +0.61375 +0.62874997 +0.565 +0.47375003 +0.38625 +0.345 +0.39124995 +0.52750003 +0.66375 +0.72375 +0.65749997 +0.47750002 +0.26250002 +0.117499985 +0.1125 +0.2475 +0.46249998 +0.64874995 +0.7175 +0.66625 +0.51625 +0.35000002 +0.265 +0.3075 +0.395 +0.445 +0.39374998 +0.255 +0.106249996 +0.06375 +0.17375 +0.40999997 +0.68249995 +0.855 +0.85125005 +0.68125 +0.44000003 +0.24375 +0.18625 +0.2575 +0.38374996 +0.48250002 +0.49125004 +0.42749998 +0.3625 +0.37625 +0.50625 +0.70750004 +0.885 +0.94124997 +0.8325 +0.60374993 +0.35375 +0.20125 +0.20124999 +0.34 +0.53875 +0.70125 +0.76250005 +0.71875 +0.62624997 +0.54999995 +0.53625 +0.57875 +0.63375 +0.65 +0.6075 +0.52124995 +0.43875 +0.41125 +0.45374998 +0.53999996 +0.61375 +0.62874997 +0.565 +0.47375003 +0.38625 +0.345 +0.39124995 +0.52750003 +0.66375 +0.72375 +0.65749997 +0.47750002 +0.26250002 +0.117499985 +0.1125 +0.2475 +0.46249998 +0.64874995 +0.7175 +0.66625 +0.51625 +0.35000002 +0.265 +0.3075 +0.395 +0.445 +0.39374998 +0.255 +0.106249996 +0.06375 +0.17375 +0.40999997 +0.68249995 +0.855 +0.85125005 +0.68125 +0.44000003 +0.24375 +0.18625 +0.2575 +0.38374996 +0.48250002 +0.49125004 +0.42749998 +0.3625 +0.37625 +0.50625 +0.70750004 +1.05625 +1.0862501 +0.9525 +0.69500005 +0.41875 +0.22625001 +0.18625 +0.28625 +0.45375 +0.5975 +0.65875006 +0.63 +0.5575 +0.50375 +0.50875 +0.57125 +0.65625 +0.7125 +0.72125006 +0.685 +0.63249993 +0.6025 +0.6125 +0.64875007 +0.67749995 +0.675 +0.62125 +0.5375 +0.46625 +0.44 +0.47749996 +0.56 +0.63750005 +0.66125005 +0.59250003 +0.4475 +0.285 +0.18 +0.19375 +0.32375 +0.51625 +0.68500006 +0.75375 +0.6975 +0.56375 +0.43 +0.37249997 +0.4025 +0.47875 +0.525 +0.48625 +0.36625004 +0.23249999 +0.175 +0.24499999 +0.4275 +0.64 +0.77125 +0.75874996 +0.6125 +0.40999997 +0.2575 +0.2275 +0.31875 +0.46375 +0.57750005 +0.6125 +0.5825 +0.55 +0.58374995 +0.71625 +0.90375006 +1.05625 +1.0862501 +0.9525 +0.69500005 +0.41875 +0.22625001 +0.18625 +0.28625 +0.45375 +0.5975 +0.65875006 +0.63 +0.5575 +0.50375 +0.50875 +0.57125 +0.65625 +0.7125 +0.72125006 +0.685 +0.63249993 +0.6025 +0.6125 +0.64875007 +0.67749995 +0.675 +0.62125 +0.5375 +0.46625 +0.44 +0.47749996 +0.56 +0.63750005 +0.66125005 +0.59250003 +0.4475 +0.285 +0.18 +0.19375 +0.32375 +0.51625 +0.68500006 +0.75375 +0.6975 +0.56375 +0.43 +0.37249997 +0.4025 +0.47875 +0.525 +0.48625 +0.36625004 +0.23249999 +0.175 +0.24499999 +0.4275 +0.64 +0.77125 +0.75874996 +0.6125 +0.40999997 +0.2575 +0.2275 +0.31875 +0.46375 +0.57750005 +0.6125 +0.5825 +0.55 +0.58374995 +0.71625 +0.90375006 +1.085 +1.095 +0.95625 +0.71124995 +0.44375002 +0.25375 +0.1925 +0.25625 +0.3825 +0.49374998 +0.53625 +0.5025 +0.435 +0.38625 +0.395 +0.46374997 +0.55875003 +0.64250004 +0.68625003 +0.68375003 +0.65250003 +0.62 +0.5975 +0.59375006 +0.59625 +0.59 +0.5675 +0.52875 +0.49625003 +0.48249996 +0.49749997 +0.53375 +0.5625 +0.5575 +0.49625003 +0.39 +0.27999997 +0.215 +0.235 +0.345 +0.5025 +0.6425 +0.7087499 +0.67875004 +0.5875 +0.49749997 +0.46375 +0.49875 +0.57375 +0.62125 +0.59625 +0.5025 +0.39 +0.32875 +0.36624998 +0.4925 +0.64 +0.72999996 +0.70500004 +0.57875 +0.415 +0.30249998 +0.3 +0.39874998 +0.5425 +0.65500003 +0.69374996 +0.67125005 +0.64625 +0.68125 +0.7975 +0.96000004 +1.085 +1.095 +0.95625 +0.71124995 +0.44375002 +0.25375 +0.1925 +0.25625 +0.3825 +0.49374998 +0.53625 +0.5025 +0.435 +0.38625 +0.395 +0.46374997 +0.55875003 +0.64250004 +0.68625003 +0.68375003 +0.65250003 +0.62 +0.5975 +0.59375006 +0.59625 +0.59 +0.5675 +0.52875 +0.49625003 +0.48249996 +0.49749997 +0.53375 +0.5625 +0.5575 +0.49625003 +0.39 +0.27999997 +0.215 +0.235 +0.345 +0.5025 +0.6425 +0.7087499 +0.67875004 +0.5875 +0.49749997 +0.46375 +0.49875 +0.57375 +0.62125 +0.59625 +0.5025 +0.39 +0.32875 +0.36624998 +0.4925 +0.64 +0.72999996 +0.70500004 +0.57875 +0.415 +0.30249998 +0.3 +0.39874998 +0.5425 +0.65500003 +0.69374996 +0.67125005 +0.64625 +0.68125 +0.7975 +0.96000004 +0.9512501 +0.95500004 +0.8374999 +0.63125 +0.40999997 +0.25250003 +0.19999999 +0.245 +0.3375 +0.4125 +0.42624998 +0.37624997 +0.29749998 +0.235 +0.22625001 +0.2775 +0.35875 +0.44375002 +0.5 +0.51374996 +0.49375 +0.44125003 +0.39749998 +0.36875 +0.36375004 +0.37375 +0.38750002 +0.3975 +0.39999998 +0.3975 +0.39874998 +0.40125 +0.40375 +0.39499998 +0.35999998 +0.3 +0.24124998 +0.21 +0.2325 +0.3175 +0.44375 +0.56375 +0.6375 +0.64625 +0.615 +0.58375 +0.59375 +0.655 +0.7425 +0.80375 +0.80125 +0.73 +0.63874996 +0.56374997 +0.56125 +0.63 +0.71625 +0.75625 +0.71125 +0.5925 +0.4575 +0.37374997 +0.38500002 +0.4775 +0.605 +0.6925 +0.71125007 +0.67125005 +0.63 +0.6425 +0.72625 +0.85249996 +0.9512501 +0.95500004 +0.8374999 +0.63125 +0.40999997 +0.25250003 +0.19999999 +0.245 +0.3375 +0.4125 +0.42624998 +0.37624997 +0.29749998 +0.235 +0.22625001 +0.2775 +0.35875 +0.44375002 +0.5 +0.51374996 +0.49375 +0.44125003 +0.39749998 +0.36875 +0.36375004 +0.37375 +0.38750002 +0.3975 +0.39999998 +0.3975 +0.39874998 +0.40125 +0.40375 +0.39499998 +0.35999998 +0.3 +0.24124998 +0.21 +0.2325 +0.3175 +0.44375 +0.56375 +0.6375 +0.64625 +0.615 +0.58375 +0.59375 +0.655 +0.7425 +0.80375 +0.80125 +0.73 +0.63874996 +0.56374997 +0.56125 +0.63 +0.71625 +0.75625 +0.71125 +0.5925 +0.4575 +0.37374997 +0.38500002 +0.4775 +0.605 +0.6925 +0.71125007 +0.67125005 +0.63 +0.6425 +0.72625 +0.85249996 +0.73375 +0.73749995 +0.65 +0.49624997 +0.33625 +0.22749999 +0.20249999 +0.2475 +0.32 +0.36875 +0.36375 +0.30124998 +0.21124999 +0.125 +0.08625 +0.099999994 +0.15124999 +0.2175 +0.29250002 +0.32874998 +0.30249998 +0.21875 +0.12875 +0.11125 +0.11624999 +0.13125 +0.15624999 +0.19749999 +0.23125 +0.22000001 +0.20250002 +0.19374998 +0.20625 +0.22375001 +0.23125 +0.22999999 +0.22000001 +0.21625 +0.24375 +0.31875002 +0.4325 +0.5575 +0.66375 +0.735 +0.78625 +0.81375 +0.88374996 +0.99125004 +1.1125 +1.1975 +1.2137499 +1.1937499 +1.1075 +0.99875 +0.91249996 +0.88125 +0.89375 +0.87875 +0.8012501 +0.67375004 +0.54625005 +0.47125003 +0.48000002 +0.56 +0.65875 +0.7125 +0.69750005 +0.62625 +0.55375 +0.52875 +0.5725 +0.66125005 +0.73375 +0.73749995 +0.65 +0.49624997 +0.33625 +0.22749999 +0.20249999 +0.2475 +0.32 +0.36875 +0.36375 +0.30124998 +0.21124999 +0.125 +0.08625 +0.099999994 +0.15124999 +0.2175 +0.29250002 +0.32874998 +0.30249998 +0.21875 +0.12875 +0.11125 +0.11624999 +0.13125 +0.15624999 +0.19749999 +0.23125 +0.22000001 +0.20250002 +0.19374998 +0.20625 +0.22375001 +0.23125 +0.22999999 +0.22000001 +0.21625 +0.24375 +0.31875002 +0.4325 +0.5575 +0.66375 +0.735 +0.78625 +0.81375 +0.88374996 +0.99125004 +1.1125 +1.1975 +1.2137499 +1.1937499 +1.1075 +0.99875 +0.91249996 +0.88125 +0.89375 +0.87875 +0.8012501 +0.67375004 +0.54625005 +0.47125003 +0.48000002 +0.56 +0.65875 +0.7125 +0.69750005 +0.62625 +0.55375 +0.52875 +0.5725 +0.66125005 +0.545 +0.54625 +0.48125 +0.37375 +0.265 +0.20125002 +0.20125002 +0.25375 +0.325 +0.37250003 +0.36999997 +0.3225 +0.24 +0.14125 +0.058749996 +0.0325 +0.052499995 +0.123749994 +0.19875 +0.22999999 +0.19375 +0.09375 +0.01375 +0.0 +0.01875 +0.0125 +0.033749998 +0.09875 +0.1275 +0.097500004 +0.03875 +0.04375 +0.0925 +0.14875 +0.21249999 +0.27749997 +0.31375 +0.33499998 +0.37 +0.44875002 +0.57875 +0.7375 +0.91375005 +1.09 +1.2212499 +1.3262501 +1.44 +1.59375 +1.7612501 +1.8812499 +1.94875 +1.9149998 +1.7825 +1.5999999 +1.4212501 +1.2837499 +1.1887499 +1.1062499 +0.99 +0.85249996 +0.71125007 +0.6125 +0.59375 +0.65250003 +0.72375 +0.75375 +0.71125 +0.6125 +0.5075 +0.445 +0.4475 +0.49625 +0.545 +0.54625 +0.48125 +0.37375 +0.265 +0.20125002 +0.20125002 +0.25375 +0.325 +0.37250003 +0.36999997 +0.3225 +0.24 +0.14125 +0.058749996 +0.0325 +0.052499995 +0.123749994 +0.19875 +0.22999999 +0.19375 +0.09375 +0.01375 +0.0 +0.01875 +0.0125 +0.033749998 +0.09875 +0.1275 +0.097500004 +0.03875 +0.04375 +0.0925 +0.14875 +0.21249999 +0.27749997 +0.31375 +0.33499998 +0.37 +0.44875002 +0.57875 +0.7375 +0.91375005 +1.09 +1.2212499 +1.3262501 +1.44 +1.59375 +1.7612501 +1.8812499 +1.94875 +1.9149998 +1.7825 +1.5999999 +1.4212501 +1.2837499 +1.1887499 +1.1062499 +0.99 +0.85249996 +0.71125007 +0.6125 +0.59375 +0.65250003 +0.72375 +0.75375 +0.71125 +0.6125 +0.5075 +0.445 +0.4475 +0.49625 +0.465 +0.45874998 +0.405 +0.32000002 +0.24 +0.19624999 +0.2025 +0.2575 +0.33249998 +0.39875 +0.42499995 +0.41875 +0.35625 +0.25375 +0.15375 +0.09875 +0.114999995 +0.19000001 +0.27875 +0.32374996 +0.29000002 +0.18125 +0.0775 +0.035 +0.0325 +0.05375 +0.1125 +0.17375 +0.17625001 +0.113749996 +0.0475 +0.05 +0.12125 +0.23625001 +0.385 +0.51625 +0.59375 +0.62875 +0.6675 +0.75375 +0.9125 +1.1249999 +1.37875 +1.6312499 +1.83875 +2.0187502 +2.2025 +2.40875 +2.6275 +2.79875 +2.8675 +2.79125 +2.5787501 +2.28625 +1.9875 +1.7387499 +1.55375 +1.4025 +1.25 +1.07875 +0.90749997 +0.77875006 +0.72125 +0.7525 +0.8075 +0.83125 +0.78375006 +0.67749995 +0.55375004 +0.46375 +0.43124998 +0.44375 +0.465 +0.45874998 +0.405 +0.32000002 +0.24 +0.19624999 +0.2025 +0.2575 +0.33249998 +0.39875 +0.42499995 +0.41875 +0.35625 +0.25375 +0.15375 +0.09875 +0.114999995 +0.19000001 +0.27875 +0.32374996 +0.29000002 +0.18125 +0.0775 +0.035 +0.0325 +0.05375 +0.1125 +0.17375 +0.17625001 +0.113749996 +0.0475 +0.05 +0.12125 +0.23625001 +0.385 +0.51625 +0.59375 +0.62875 +0.6675 +0.75375 +0.9125 +1.1249999 +1.37875 +1.6312499 +1.83875 +2.0187502 +2.2025 +2.40875 +2.6275 +2.79875 +2.8675 +2.79125 +2.5787501 +2.28625 +1.9875 +1.7387499 +1.55375 +1.4025 +1.25 +1.07875 +0.90749997 +0.77875006 +0.72125 +0.7525 +0.8075 +0.83125 +0.78375006 +0.67749995 +0.55375004 +0.46375 +0.43124998 +0.44375 +0.49 +0.47125 +0.42000002 +0.34000003 +0.26 +0.205 +0.19375 +0.23 +0.30624998 +0.395 +0.47125 +0.5125 +0.48250002 +0.3925 +0.29125 +0.23750001 +0.25625002 +0.36374998 +0.5 +0.59625 +0.5925 +0.49374998 +0.35250002 +0.25125 +0.24499999 +0.30500004 +0.3975 +0.4525 +0.42 +0.31500003 +0.21000001 +0.2125 +0.3225 +0.52125 +0.7475 +0.92499995 +1.01875 +1.0462499 +1.07 +1.15125 +1.33125 +1.58875 +1.8824999 +2.1875 +2.45 +2.6825001 +2.9175003 +3.1899998 +3.47125 +3.6750002 +3.73625 +3.6074998 +3.295 +2.875 +2.45 +2.0974998 +1.84625 +1.665 +1.48375 +1.2875001 +1.0862501 +0.91625 +0.82250005 +0.82625 +0.8775 +0.91249996 +0.88625 +0.79499996 +0.67375 +0.56874996 +0.51125 +0.4925 +0.49 +0.47125 +0.42000002 +0.34000003 +0.26 +0.205 +0.19375 +0.23 +0.30624998 +0.395 +0.47125 +0.5125 +0.48250002 +0.3925 +0.29125 +0.23750001 +0.25625002 +0.36374998 +0.5 +0.59625 +0.5925 +0.49374998 +0.35250002 +0.25125 +0.24499999 +0.30500004 +0.3975 +0.4525 +0.42 +0.31500003 +0.21000001 +0.2125 +0.3225 +0.52125 +0.7475 +0.92499995 +1.01875 +1.0462499 +1.07 +1.15125 +1.33125 +1.58875 +1.8824999 +2.1875 +2.45 +2.6825001 +2.9175003 +3.1899998 +3.47125 +3.6750002 +3.73625 +3.6074998 +3.295 +2.875 +2.45 +2.0974998 +1.84625 +1.665 +1.48375 +1.2875001 +1.0862501 +0.91625 +0.82250005 +0.82625 +0.8775 +0.91249996 +0.88625 +0.79499996 +0.67375 +0.56874996 +0.51125 +0.4925 +0.53749996 +0.5125 +0.46125 +0.38125002 +0.28375 +0.19875 +0.155 +0.15500002 +0.2025 +0.31 +0.43125 +0.51750004 +0.52375 +0.45499998 +0.36249998 +0.30875003 +0.35125 +0.5125 +0.7362499 +0.91749996 +0.98125 +0.91499996 +0.79375005 +0.6975 +0.67625004 +0.7325 +0.81 +0.83875 +0.775 +0.6475 +0.53499997 +0.52375 +0.655 +0.89874995 +1.16625 +1.365 +1.44875 +1.44 +1.4200001 +1.4725 +1.64375 +1.9212501 +2.2425 +2.5475 +2.8125 +3.05875 +3.33125 +3.6550002 +3.98625 +4.23375 +4.28625 +4.0975 +3.6925 +3.1574998 +2.62375 +2.19875 +1.9287499 +1.7574999 +1.595 +1.3937501 +1.165 +0.9575 +0.82875 +0.80875 +0.86499995 +0.9275 +0.9425 +0.8875 +0.78375006 +0.6775 +0.6 +0.55875 +0.53749996 +0.5125 +0.46125 +0.38125002 +0.28375 +0.19875 +0.155 +0.15500002 +0.2025 +0.31 +0.43125 +0.51750004 +0.52375 +0.45499998 +0.36249998 +0.30875003 +0.35125 +0.5125 +0.7362499 +0.91749996 +0.98125 +0.91499996 +0.79375005 +0.6975 +0.67625004 +0.7325 +0.81 +0.83875 +0.775 +0.6475 +0.53499997 +0.52375 +0.655 +0.89874995 +1.16625 +1.365 +1.44875 +1.44 +1.4200001 +1.4725 +1.64375 +1.9212501 +2.2425 +2.5475 +2.8125 +3.05875 +3.33125 +3.6550002 +3.98625 +4.23375 +4.28625 +4.0975 +3.6925 +3.1574998 +2.62375 +2.19875 +1.9287499 +1.7574999 +1.595 +1.3937501 +1.165 +0.9575 +0.82875 +0.80875 +0.86499995 +0.9275 +0.9425 +0.8875 +0.78375006 +0.6775 +0.6 +0.55875 +0.5075 +0.48749998 +0.45 +0.37625 +0.26749998 +0.17250001 +0.11625 +0.091249995 +0.09625 +0.155 +0.27625 +0.40375 +0.44 +0.37625 +0.26749998 +0.20625 +0.2725 +0.5075 +0.8375 +1.1337501 +1.2875001 +1.2837499 +1.17875 +1.0662501 +1.0250001 +1.0725 +1.155 +1.18625 +1.11375 +0.965 +0.82124996 +0.78875 +0.91875005 +1.17625 +1.4625 +1.6600001 +1.715 +1.6512499 +1.56375 +1.5575 +1.69375 +1.9549999 +2.27125 +2.5625 +2.8 +3.0162501 +3.2712498 +3.59875 +3.96 +4.2437496 +4.31625 +4.09375 +3.6162498 +2.9987497 +2.39625 +1.94 +1.6875 +1.5725 +1.4749999 +1.3175001 +1.0925001 +0.85625005 +0.69125 +0.64874995 +0.7099999 +0.8087499 +0.87249994 +0.86375004 +0.78749996 +0.68375 +0.59375 +0.5375 +0.5075 +0.48749998 +0.45 +0.37625 +0.26749998 +0.17250001 +0.11625 +0.091249995 +0.09625 +0.155 +0.27625 +0.40375 +0.44 +0.37625 +0.26749998 +0.20625 +0.2725 +0.5075 +0.8375 +1.1337501 +1.2875001 +1.2837499 +1.17875 +1.0662501 +1.0250001 +1.0725 +1.155 +1.18625 +1.11375 +0.965 +0.82124996 +0.78875 +0.91875005 +1.17625 +1.4625 +1.6600001 +1.715 +1.6512499 +1.56375 +1.5575 +1.69375 +1.9549999 +2.27125 +2.5625 +2.8 +3.0162501 +3.2712498 +3.59875 +3.96 +4.2437496 +4.31625 +4.09375 +3.6162498 +2.9987497 +2.39625 +1.94 +1.6875 +1.5725 +1.4749999 +1.3175001 +1.0925001 +0.85625005 +0.69125 +0.64874995 +0.7099999 +0.8087499 +0.87249994 +0.86375004 +0.78749996 +0.68375 +0.59375 +0.5375 +0.38625 +0.3775 +0.36249998 +0.30749997 +0.225 +0.16499999 +0.13125 +0.1025 +0.075 +0.05875 +0.1075 +0.20250002 +0.24 +0.1875 +0.0925 +0.03875 +0.083749995 +0.33125 +0.75750005 +1.1700001 +1.42 +1.4725001 +1.37625 +1.235 +1.16 +1.18875 +1.27125 +1.315 +1.25 +1.09125 +0.92625 +0.8725 +0.98625004 +1.24125 +1.5275 +1.7175 +1.74 +1.62 +1.45875 +1.3787501 +1.4575 +1.6787502 +1.9587501 +2.21125 +2.395 +2.5525 +2.75375 +3.0525 +3.4175 +3.7237499 +3.81875 +3.5974998 +3.0875 +2.4299998 +1.79875 +1.35375 +1.14125 +1.1125 +1.11375 +1.0325 +0.8375 +0.595 +0.40625 +0.35875002 +0.42875 +0.54625 +0.66125 +0.6975 +0.64875 +0.5525 +0.45499998 +0.405 +0.38625 +0.3775 +0.36249998 +0.30749997 +0.225 +0.16499999 +0.13125 +0.1025 +0.075 +0.05875 +0.1075 +0.20250002 +0.24 +0.1875 +0.0925 +0.03875 +0.083749995 +0.33125 +0.75750005 +1.1700001 +1.42 +1.4725001 +1.37625 +1.235 +1.16 +1.18875 +1.27125 +1.315 +1.25 +1.09125 +0.92625 +0.8725 +0.98625004 +1.24125 +1.5275 +1.7175 +1.74 +1.62 +1.45875 +1.3787501 +1.4575 +1.6787502 +1.9587501 +2.21125 +2.395 +2.5525 +2.75375 +3.0525 +3.4175 +3.7237499 +3.81875 +3.5974998 +3.0875 +2.4299998 +1.79875 +1.35375 +1.14125 +1.1125 +1.11375 +1.0325 +0.8375 +0.595 +0.40625 +0.35875002 +0.42875 +0.54625 +0.66125 +0.6975 +0.64875 +0.5525 +0.45499998 +0.405 +0.28875 +0.28 +0.26624998 +0.24125 +0.20125 +0.16625 +0.1375 +0.11125 +0.085 +0.06375 +0.05 +0.0625 +0.0725 +0.05125 +0.03 +0.0075 +0.0 +0.15375 +0.59499997 +1.1075 +1.4425 +1.5299999 +1.43375 +1.2524999 +1.1274999 +1.1175001 +1.1887501 +1.23875 +1.18625 +1.03 +0.855 +0.77750003 +0.87125003 +1.1175001 +1.40125 +1.58625 +1.5875 +1.42375 +1.20375 +1.05875 +1.0787499 +1.25 +1.4875001 +1.69375 +1.82 +1.9000001 +2.0275 +2.26875 +2.60625 +2.915 +3.025 +2.81875 +2.3212497 +1.6600001 +1.0325 +0.61375 +0.47125 +0.51625 +0.615 +0.61625 +0.47 +0.2575 +0.14 +0.113749996 +0.15625 +0.26375002 +0.39 +0.44625 +0.42374998 +0.3525 +0.30124998 +0.285 +0.28875 +0.28 +0.26624998 +0.24125 +0.20125 +0.16625 +0.1375 +0.11125 +0.085 +0.06375 +0.05 +0.0625 +0.0725 +0.05125 +0.03 +0.0075 +0.0 +0.15375 +0.59499997 +1.1075 +1.4425 +1.5299999 +1.43375 +1.2524999 +1.1274999 +1.1175001 +1.1887501 +1.23875 +1.18625 +1.03 +0.855 +0.77750003 +0.87125003 +1.1175001 +1.40125 +1.58625 +1.5875 +1.42375 +1.20375 +1.05875 +1.0787499 +1.25 +1.4875001 +1.69375 +1.82 +1.9000001 +2.0275 +2.26875 +2.60625 +2.915 +3.025 +2.81875 +2.3212497 +1.6600001 +1.0325 +0.61375 +0.47125 +0.51625 +0.615 +0.61625 +0.47 +0.2575 +0.14 +0.113749996 +0.15625 +0.26375002 +0.39 +0.44625 +0.42374998 +0.3525 +0.30124998 +0.285 +0.28 +0.2725 +0.25125 +0.22625 +0.195 +0.16625 +0.14 +0.11375 +0.08875 +0.0675 +0.05375 +0.0525 +0.05 +0.0425 +0.02875 +0.0025 +0.0 +0.12375 +0.555 +1.14125 +1.5399998 +1.65875 +1.5525 +1.325 +1.135 +1.0637499 +1.095 +1.1325 +1.08375 +0.93125 +0.74875 +0.65125 +0.72624993 +0.95875 +1.23875 +1.4287499 +1.4275 +1.2475001 +0.9887501 +0.79625 +0.7675 +0.89750004 +1.1025 +1.27375 +1.35125 +1.36375 +1.4125 +1.58 +1.86375 +2.15 +2.26875 +2.0825 +1.6149999 +0.975 +0.3975 +0.09625 +0.024999999 +0.07625 +0.19 +0.2325 +0.16 +0.074999996 +0.05375 +0.0675 +0.08875 +0.125 +0.18375 +0.23875 +0.24874999 +0.24 +0.25125 +0.2725 +0.28 +0.2725 +0.25125 +0.22625 +0.195 +0.16625 +0.14 +0.11375 +0.08875 +0.0675 +0.05375 +0.0525 +0.05 +0.0425 +0.02875 +0.0025 +0.0 +0.12375 +0.555 +1.14125 +1.5399998 +1.65875 +1.5525 +1.325 +1.135 +1.0637499 +1.095 +1.1325 +1.08375 +0.93125 +0.74875 +0.65125 +0.72624993 +0.95875 +1.23875 +1.4287499 +1.4275 +1.2475001 +0.9887501 +0.79625 +0.7675 +0.89750004 +1.1025 +1.27375 +1.35125 +1.36375 +1.4125 +1.58 +1.86375 +2.15 +2.26875 +2.0825 +1.6149999 +0.975 +0.3975 +0.09625 +0.024999999 +0.07625 +0.19 +0.2325 +0.16 +0.074999996 +0.05375 +0.0675 +0.08875 +0.125 +0.18375 +0.23875 +0.24874999 +0.24 +0.25125 +0.2725 +0.54 +0.55875 +0.5475 +0.54999995 +0.59625 +0.68499994 +0.80375004 +0.93375003 +1.0725 +1.2237499 +1.3875 +1.5475 +1.67125 +1.7175001 +1.66625 +1.5275 +1.35875 +1.185 +1.0125 +0.84749997 +0.68874997 +0.54625 +0.44875002 +0.38125002 +0.3475 +0.33125 +0.30124998 +0.2275 +0.12875 +0.11125 +0.135 +0.16375 +0.1925 +0.225 +0.29375 +0.435 +0.52875 +0.55625004 +0.55125 +0.55875 +0.60999995 +0.7025 +0.82125 +0.95374995 +1.095 +1.24625 +1.40875 +1.5649999 +1.6800001 +1.715 +1.6525 +1.50375 +1.33375 +1.1575 +0.985 +0.8225 +0.66625 +0.52624995 +0.43 +0.3675 +0.34 +0.32999998 +0.30625004 +0.23625 +0.14125 +0.113749996 +0.1375 +0.16625 +0.19625 +0.23125 +0.31499997 +0.45 +0.54 +0.55875 +0.5475 +0.54999995 +0.59625 +0.68499994 +0.80375004 +0.93375003 +1.0725 +1.2237499 +1.3875 +1.5475 +1.67125 +1.7175001 +1.66625 +1.5275 +1.35875 +1.185 +1.0125 +0.84749997 +0.68874997 +0.54625 +0.44875002 +0.38125002 +0.3475 +0.33125 +0.30124998 +0.2275 +0.12875 +0.11125 +0.135 +0.16375 +0.1925 +0.225 +0.29375 +0.435 +0.52875 +0.55625004 +0.55125 +0.55875 +0.60999995 +0.7025 +0.82125 +0.95374995 +1.095 +1.24625 +1.40875 +1.5649999 +1.6800001 +1.715 +1.6525 +1.50375 +1.33375 +1.1575 +0.985 +0.8225 +0.66625 +0.52624995 +0.43 +0.3675 +0.34 +0.32999998 +0.30625004 +0.23625 +0.14125 +0.113749996 +0.1375 +0.16625 +0.19625 +0.23125 +0.31499997 +0.45 +0.58500004 +0.5775 +0.53875 +0.51625 +0.54125 +0.61375 +0.72249997 +0.85375005 +1.0012499 +1.1687499 +1.3525 +1.54125 +1.6924999 +1.7662499 +1.74 +1.6212499 +1.4399999 +1.255 +1.0699999 +0.89250004 +0.7225 +0.58625 +0.48375002 +0.41249996 +0.37250003 +0.34875 +0.31625003 +0.24499999 +0.1525 +0.097500004 +0.12 +0.15125 +0.1825 +0.21875 +0.32250002 +0.46124995 +0.55375004 +0.58250004 +0.5787501 +0.5825 +0.625 +0.71125 +0.8275 +0.96624994 +1.1200001 +1.28875 +1.4625 +1.62 +1.7237499 +1.7375 +1.655 +1.49 +1.2924999 +1.10125 +0.9175 +0.74625 +0.58875 +0.46874997 +0.385 +0.34125 +0.335 +0.34749997 +0.3425 +0.29125 +0.205 +0.1375 +0.13125 +0.1625 +0.1975 +0.27499998 +0.39999998 +0.52375 +0.58500004 +0.5775 +0.53875 +0.51625 +0.54125 +0.61375 +0.72249997 +0.85375005 +1.0012499 +1.1687499 +1.3525 +1.54125 +1.6924999 +1.7662499 +1.74 +1.6212499 +1.4399999 +1.255 +1.0699999 +0.89250004 +0.7225 +0.58625 +0.48375002 +0.41249996 +0.37250003 +0.34875 +0.31625003 +0.24499999 +0.1525 +0.097500004 +0.12 +0.15125 +0.1825 +0.21875 +0.32250002 +0.46124995 +0.55375004 +0.58250004 +0.5787501 +0.5825 +0.625 +0.71125 +0.8275 +0.96624994 +1.1200001 +1.28875 +1.4625 +1.62 +1.7237499 +1.7375 +1.655 +1.49 +1.2924999 +1.10125 +0.9175 +0.74625 +0.58875 +0.46874997 +0.385 +0.34125 +0.335 +0.34749997 +0.3425 +0.29125 +0.205 +0.1375 +0.13125 +0.1625 +0.1975 +0.27499998 +0.39999998 +0.52375 +0.66625 +0.61125 +0.53 +0.4675 +0.45749998 +0.50125 +0.595 +0.72249997 +0.88 +1.0725 +1.29 +1.5224999 +1.7250001 +1.8525 +1.8712499 +1.7837499 +1.60875 +1.39875 +1.1975 +1.0062499 +0.83 +0.6875 +0.58375 +0.51 +0.46375 +0.43625003 +0.40375 +0.345 +0.25 +0.1675 +0.135 +0.14750001 +0.18875 +0.27249998 +0.41 +0.55125 +0.6399999 +0.6675 +0.66125 +0.65250003 +0.67625 +0.745 +0.85625 +1.0 +1.1725 +1.36375 +1.55125 +1.7024999 +1.78 +1.75875 +1.6375 +1.43875 +1.2175 +1.00375 +0.80500007 +0.625 +0.48375 +0.38250002 +0.32625 +0.3175 +0.35125 +0.4025 +0.43125004 +0.41250002 +0.33875 +0.24749999 +0.2 +0.21375 +0.285 +0.40875 +0.55125 +0.65000004 +0.66625 +0.61125 +0.53 +0.4675 +0.45749998 +0.50125 +0.595 +0.72249997 +0.88 +1.0725 +1.29 +1.5224999 +1.7250001 +1.8525 +1.8712499 +1.7837499 +1.60875 +1.39875 +1.1975 +1.0062499 +0.83 +0.6875 +0.58375 +0.51 +0.46375 +0.43625003 +0.40375 +0.345 +0.25 +0.1675 +0.135 +0.14750001 +0.18875 +0.27249998 +0.41 +0.55125 +0.6399999 +0.6675 +0.66125 +0.65250003 +0.67625 +0.745 +0.85625 +1.0 +1.1725 +1.36375 +1.55125 +1.7024999 +1.78 +1.75875 +1.6375 +1.43875 +1.2175 +1.00375 +0.80500007 +0.625 +0.48375 +0.38250002 +0.32625 +0.3175 +0.35125 +0.4025 +0.43125004 +0.41250002 +0.33875 +0.24749999 +0.2 +0.21375 +0.285 +0.40875 +0.55125 +0.65000004 +0.76500005 +0.67 +0.5525 +0.45249996 +0.40375 +0.41875 +0.48874998 +0.60375 +0.76250005 +0.96624994 +1.21375 +1.4875001 +1.7375 +1.92375 +2.0012498 +1.9549999 +1.8037499 +1.6012499 +1.39625 +1.2062501 +1.0375 +0.89250004 +0.79 +0.72499996 +0.68375003 +0.65875 +0.63375 +0.58875 +0.5125 +0.42125 +0.34375 +0.31750003 +0.36249998 +0.47250003 +0.61625 +0.74375 +0.8225 +0.84124994 +0.82125 +0.78999996 +0.78125 +0.81874996 +0.90875 +1.0525 +1.2375001 +1.4425 +1.6312499 +1.7674999 +1.81 +1.7425 +1.5775 +1.3625001 +1.13875 +0.91875005 +0.71375 +0.5375 +0.4125 +0.3375 +0.315 +0.34625 +0.42375004 +0.51 +0.5625 +0.565 +0.51625 +0.44500002 +0.40249997 +0.42 +0.5075 +0.6325 +0.74249995 +0.79375005 +0.76500005 +0.67 +0.5525 +0.45249996 +0.40375 +0.41875 +0.48874998 +0.60375 +0.76250005 +0.96624994 +1.21375 +1.4875001 +1.7375 +1.92375 +2.0012498 +1.9549999 +1.8037499 +1.6012499 +1.39625 +1.2062501 +1.0375 +0.89250004 +0.79 +0.72499996 +0.68375003 +0.65875 +0.63375 +0.58875 +0.5125 +0.42125 +0.34375 +0.31750003 +0.36249998 +0.47250003 +0.61625 +0.74375 +0.8225 +0.84124994 +0.82125 +0.78999996 +0.78125 +0.81874996 +0.90875 +1.0525 +1.2375001 +1.4425 +1.6312499 +1.7674999 +1.81 +1.7425 +1.5775 +1.3625001 +1.13875 +0.91875005 +0.71375 +0.5375 +0.4125 +0.3375 +0.315 +0.34625 +0.42375004 +0.51 +0.5625 +0.565 +0.51625 +0.44500002 +0.40249997 +0.42 +0.5075 +0.6325 +0.74249995 +0.79375005 +0.8675 +0.75375 +0.61875004 +0.5 +0.425 +0.4075 +0.44875002 +0.54125 +0.67999995 +0.87375 +1.1262499 +1.4250001 +1.715 +1.9425 +2.0662498 +2.075 +1.9712499 +1.81125 +1.63375 +1.4675 +1.3275 +1.2112501 +1.11625 +1.05375 +1.03 +1.015 +1.01625 +1.00875 +0.9625 +0.875 +0.77750003 +0.7375 +0.75249994 +0.82375 +0.92875004 +1.0287501 +1.08625 +1.08875 +1.045 +0.97999996 +0.92875004 +0.9250001 +0.98749995 +1.14375 +1.3399999 +1.5375 +1.69625 +1.785 +1.78375 +1.6700001 +1.49375 +1.2887499 +1.075 +0.8712499 +0.685 +0.52875 +0.4175 +0.375 +0.38625 +0.46 +0.56874996 +0.66625 +0.71000004 +0.71125 +0.67 +0.6175 +0.59625006 +0.63125 +0.71875 +0.82500005 +0.905 +0.92249995 +0.8675 +0.75375 +0.61875004 +0.5 +0.425 +0.4075 +0.44875002 +0.54125 +0.67999995 +0.87375 +1.1262499 +1.4250001 +1.715 +1.9425 +2.0662498 +2.075 +1.9712499 +1.81125 +1.63375 +1.4675 +1.3275 +1.2112501 +1.11625 +1.05375 +1.03 +1.015 +1.01625 +1.00875 +0.9625 +0.875 +0.77750003 +0.7375 +0.75249994 +0.82375 +0.92875004 +1.0287501 +1.08625 +1.08875 +1.045 +0.97999996 +0.92875004 +0.9250001 +0.98749995 +1.14375 +1.3399999 +1.5375 +1.69625 +1.785 +1.78375 +1.6700001 +1.49375 +1.2887499 +1.075 +0.8712499 +0.685 +0.52875 +0.4175 +0.375 +0.38625 +0.46 +0.56874996 +0.66625 +0.71000004 +0.71125 +0.67 +0.6175 +0.59625006 +0.63125 +0.71875 +0.82500005 +0.905 +0.92249995 +0.94625 +0.83624995 +0.70875 +0.59125 +0.50375 +0.465 +0.47375 +0.52875 +0.63 +0.79249996 +1.0137501 +1.3025 +1.6025 +1.8612499 +2.03625 +2.10125 +2.0675 +1.9662501 +1.8399999 +1.72125 +1.62125 +1.5374999 +1.47 +1.42125 +1.40125 +1.4075 +1.4325001 +1.445 +1.425 +1.3549999 +1.2537501 +1.18 +1.1625 +1.1949999 +1.2600001 +1.3262501 +1.36 +1.3375 +1.2662499 +1.165 +1.075 +1.035 +1.0875001 +1.23125 +1.415 +1.59375 +1.7237501 +1.7637501 +1.7125 +1.5762501 +1.3937501 +1.20125 +1.02 +0.85375 +0.70624995 +0.585 +0.505 +0.48375 +0.52500004 +0.61625 +0.72124994 +0.7975 +0.8175 +0.80125 +0.755 +0.7175 +0.7175 +0.76875 +0.8574999 +0.95000005 +1.00875 +1.01125 +0.94625 +0.83624995 +0.70875 +0.59125 +0.50375 +0.465 +0.47375 +0.52875 +0.63 +0.79249996 +1.0137501 +1.3025 +1.6025 +1.8612499 +2.03625 +2.10125 +2.0675 +1.9662501 +1.8399999 +1.72125 +1.62125 +1.5374999 +1.47 +1.42125 +1.40125 +1.4075 +1.4325001 +1.445 +1.425 +1.3549999 +1.2537501 +1.18 +1.1625 +1.1949999 +1.2600001 +1.3262501 +1.36 +1.3375 +1.2662499 +1.165 +1.075 +1.035 +1.0875001 +1.23125 +1.415 +1.59375 +1.7237501 +1.7637501 +1.7125 +1.5762501 +1.3937501 +1.20125 +1.02 +0.85375 +0.70624995 +0.585 +0.505 +0.48375 +0.52500004 +0.61625 +0.72124994 +0.7975 +0.8175 +0.80125 +0.755 +0.7175 +0.7175 +0.76875 +0.8574999 +0.95000005 +1.00875 +1.01125 +0.97249997 +0.87749994 +0.77000004 +0.6675 +0.57875 +0.52375 +0.50624996 +0.5225 +0.5825 +0.69624996 +0.86625004 +1.10625 +1.38875 +1.66125 +1.875 +2.00875 +2.04375 +2.01375 +1.9512498 +1.8837498 +1.8175 +1.7575 +1.7037499 +1.66125 +1.6674999 +1.6800001 +1.71 +1.7449999 +1.7449999 +1.6887499 +1.5912501 +1.5124999 +1.4725001 +1.47375 +1.5024999 +1.5374999 +1.54 +1.4949999 +1.39625 +1.2725 +1.1625 +1.10375 +1.13375 +1.2687501 +1.4424999 +1.60125 +1.69875 +1.71375 +1.63125 +1.45625 +1.2737501 +1.1025 +0.95625 +0.835 +0.72875 +0.64375 +0.595 +0.6 +0.64875007 +0.7325 +0.80875003 +0.84749997 +0.83875 +0.8025 +0.75624996 +0.7325 +0.75625 +0.8274999 +0.9187499 +1.0 +1.04 +1.03125 +0.97249997 +0.87749994 +0.77000004 +0.6675 +0.57875 +0.52375 +0.50624996 +0.5225 +0.5825 +0.69624996 +0.86625004 +1.10625 +1.38875 +1.66125 +1.875 +2.00875 +2.04375 +2.01375 +1.9512498 +1.8837498 +1.8175 +1.7575 +1.7037499 +1.66125 +1.6674999 +1.6800001 +1.71 +1.7449999 +1.7449999 +1.6887499 +1.5912501 +1.5124999 +1.4725001 +1.47375 +1.5024999 +1.5374999 +1.54 +1.4949999 +1.39625 +1.2725 +1.1625 +1.10375 +1.13375 +1.2687501 +1.4424999 +1.60125 +1.69875 +1.71375 +1.63125 +1.45625 +1.2737501 +1.1025 +0.95625 +0.835 +0.72875 +0.64375 +0.595 +0.6 +0.64875007 +0.7325 +0.80875003 +0.84749997 +0.83875 +0.8025 +0.75624996 +0.7325 +0.75625 +0.8274999 +0.9187499 +1.0 +1.04 +1.03125 +0.92125005 +0.84375 +0.75624996 +0.66749996 +0.58375 +0.51874995 +0.48 +0.47 +0.495 +0.56125003 +0.67875004 +0.8575 +1.095 +1.3599999 +1.61375 +1.8087499 +1.91625 +1.93875 +1.93 +1.9025 +1.8587501 +1.8037499 +1.74875 +1.74625 +1.7562499 +1.7775 +1.80875 +1.8362501 +1.8549999 +1.8162498 +1.7525 +1.6825 +1.62875 +1.605 +1.6025 +1.5999999 +1.5737499 +1.5012499 +1.38875 +1.2624999 +1.1575 +1.1075 +1.1387501 +1.25125 +1.4200001 +1.5649999 +1.6675 +1.6700001 +1.56125 +1.3725 +1.15125 +0.99375004 +0.87375003 +0.7825 +0.705 +0.655 +0.64625 +0.65875006 +0.695 +0.74375 +0.785 +0.79125 +0.76 +0.70875 +0.6725 +0.67625 +0.7325 +0.82374996 +0.91875 +0.98375005 +1.0025 +0.9775 +0.92125005 +0.84375 +0.75624996 +0.66749996 +0.58375 +0.51874995 +0.48 +0.47 +0.495 +0.56125003 +0.67875004 +0.8575 +1.095 +1.3599999 +1.61375 +1.8087499 +1.91625 +1.93875 +1.93 +1.9025 +1.8587501 +1.8037499 +1.74875 +1.74625 +1.7562499 +1.7775 +1.80875 +1.8362501 +1.8549999 +1.8162498 +1.7525 +1.6825 +1.62875 +1.605 +1.6025 +1.5999999 +1.5737499 +1.5012499 +1.38875 +1.2624999 +1.1575 +1.1075 +1.1387501 +1.25125 +1.4200001 +1.5649999 +1.6675 +1.6700001 +1.56125 +1.3725 +1.15125 +0.99375004 +0.87375003 +0.7825 +0.705 +0.655 +0.64625 +0.65875006 +0.695 +0.74375 +0.785 +0.79125 +0.76 +0.70875 +0.6725 +0.67625 +0.7325 +0.82374996 +0.91875 +0.98375005 +1.0025 +0.9775 +0.79125005 +0.71999997 +0.645 +0.56625 +0.48625004 +0.41749996 +0.36999997 +0.3475 +0.35375 +0.38875002 +0.46374997 +0.59374994 +0.7875 +1.0325 +1.2950001 +1.5325 +1.7062501 +1.7987502 +1.82125 +1.80375 +1.775 +1.7375001 +1.7162501 +1.7100002 +1.725 +1.7574999 +1.8050001 +1.85 +1.87375 +1.8625 +1.81375 +1.7475001 +1.68375 +1.6312499 +1.595 +1.5500001 +1.4862502 +1.3887501 +1.2725 +1.15625 +1.0762501 +1.055 +1.1075 +1.2275 +1.3875 +1.53625 +1.62625 +1.615 +1.4975 +1.30625 +1.09 +0.89875 +0.77250004 +0.6875 +0.64500004 +0.62625 +0.61875004 +0.62624997 +0.64624995 +0.6675 +0.67375 +0.645 +0.59499997 +0.54375 +0.5325 +0.57624996 +0.66999996 +0.78125 +0.8712499 +0.91125 +0.9012501 +0.85375 +0.79125005 +0.71999997 +0.645 +0.56625 +0.48625004 +0.41749996 +0.36999997 +0.3475 +0.35375 +0.38875002 +0.46374997 +0.59374994 +0.7875 +1.0325 +1.2950001 +1.5325 +1.7062501 +1.7987502 +1.82125 +1.80375 +1.775 +1.7375001 +1.7162501 +1.7100002 +1.725 +1.7574999 +1.8050001 +1.85 +1.87375 +1.8625 +1.81375 +1.7475001 +1.68375 +1.6312499 +1.595 +1.5500001 +1.4862502 +1.3887501 +1.2725 +1.15625 +1.0762501 +1.055 +1.1075 +1.2275 +1.3875 +1.53625 +1.62625 +1.615 +1.4975 +1.30625 +1.09 +0.89875 +0.77250004 +0.6875 +0.64500004 +0.62625 +0.61875004 +0.62624997 +0.64624995 +0.6675 +0.67375 +0.645 +0.59499997 +0.54375 +0.5325 +0.57624996 +0.66999996 +0.78125 +0.8712499 +0.91125 +0.9012501 +0.85375 +0.60125005 +0.53499997 +0.46624997 +0.39374998 +0.315 +0.25625002 +0.22625 +0.21375002 +0.21500002 +0.22500001 +0.255 +0.34249997 +0.49124998 +0.7049999 +0.96625006 +1.23 +1.4524999 +1.60625 +1.6862501 +1.7087499 +1.7025001 +1.6887499 +1.68125 +1.6937499 +1.73 +1.7862499 +1.8525001 +1.915 +1.95 +1.9475 +1.9025 +1.8324999 +1.75 +1.6650001 +1.5787499 +1.4825001 +1.37 +1.2475 +1.1275 +1.03 +0.97624993 +0.98249996 +1.04875 +1.1687499 +1.3149999 +1.4475001 +1.5224999 +1.51 +1.4012499 +1.22375 +1.01875 +0.83375 +0.69875 +0.61375 +0.56375 +0.53625 +0.525 +0.52750003 +0.53125 +0.52750003 +0.5025 +0.45125002 +0.39125 +0.35375 +0.37375003 +0.4575 +0.5849999 +0.705 +0.77750003 +0.7875 +0.74249995 +0.67375 +0.60125005 +0.53499997 +0.46624997 +0.39374998 +0.315 +0.25625002 +0.22625 +0.21375002 +0.21500002 +0.22500001 +0.255 +0.34249997 +0.49124998 +0.7049999 +0.96625006 +1.23 +1.4524999 +1.60625 +1.6862501 +1.7087499 +1.7025001 +1.6887499 +1.68125 +1.6937499 +1.73 +1.7862499 +1.8525001 +1.915 +1.95 +1.9475 +1.9025 +1.8324999 +1.75 +1.6650001 +1.5787499 +1.4825001 +1.37 +1.2475 +1.1275 +1.03 +0.97624993 +0.98249996 +1.04875 +1.1687499 +1.3149999 +1.4475001 +1.5224999 +1.51 +1.4012499 +1.22375 +1.01875 +0.83375 +0.69875 +0.61375 +0.56375 +0.53625 +0.525 +0.52750003 +0.53125 +0.52750003 +0.5025 +0.45125002 +0.39125 +0.35375 +0.37375003 +0.4575 +0.5849999 +0.705 +0.77750003 +0.7875 +0.74249995 +0.67375 +0.41500002 +0.36624998 +0.30874997 +0.24625 +0.1925 +0.16125 +0.1575 +0.16625 +0.16625 +0.15 +0.13875 +0.16749999 +0.24999999 +0.42875 +0.67249995 +0.9449999 +1.2025 +1.4062501 +1.54625 +1.6275 +1.67375 +1.7125001 +1.75875 +1.82375 +1.90625 +1.99875 +2.0862498 +2.15625 +2.19 +2.17875 +2.1262498 +2.03625 +1.9187499 +1.78625 +1.6374999 +1.4774998 +1.31375 +1.1624999 +1.0387499 +0.95375 +0.91625 +0.92625 +0.97875 +1.06375 +1.17 +1.26625 +1.32375 +1.3149999 +1.2262499 +1.0749999 +0.89875 +0.73125 +0.60125 +0.51374996 +0.45875 +0.42999998 +0.42125005 +0.41750002 +0.41250002 +0.3925 +0.3425 +0.27499998 +0.2225 +0.21375 +0.24625 +0.34000003 +0.4775 +0.59124994 +0.64250004 +0.61999995 +0.54625005 +0.465 +0.41500002 +0.36624998 +0.30874997 +0.24625 +0.1925 +0.16125 +0.1575 +0.16625 +0.16625 +0.15 +0.13875 +0.16749999 +0.24999999 +0.42875 +0.67249995 +0.9449999 +1.2025 +1.4062501 +1.54625 +1.6275 +1.67375 +1.7125001 +1.75875 +1.82375 +1.90625 +1.99875 +2.0862498 +2.15625 +2.19 +2.17875 +2.1262498 +2.03625 +1.9187499 +1.78625 +1.6374999 +1.4774998 +1.31375 +1.1624999 +1.0387499 +0.95375 +0.91625 +0.92625 +0.97875 +1.06375 +1.17 +1.26625 +1.32375 +1.3149999 +1.2262499 +1.0749999 +0.89875 +0.73125 +0.60125 +0.51374996 +0.45875 +0.42999998 +0.42125005 +0.41750002 +0.41250002 +0.3925 +0.3425 +0.27499998 +0.2225 +0.21375 +0.24625 +0.34000003 +0.4775 +0.59124994 +0.64250004 +0.61999995 +0.54625005 +0.465 +0.30875 +0.29125 +0.24875 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.16875 +0.14125 +0.122499995 +0.14750001 +0.24625 +0.45625 +0.7225 +0.99749994 +1.24125 +1.4375 +1.5862501 +1.71 +1.83375 +1.9675 +2.115 +2.26375 +2.3975 +2.5 +2.5825002 +2.60875 +2.55875 +2.455 +2.33 +2.16875 +1.9737501 +1.75875 +1.5375001 +1.3287499 +1.1587499 +1.0350001 +0.95875 +0.9187499 +0.9025 +0.90375 +0.945 +0.9925 +1.0224999 +1.0325 +1.025 +0.96375 +0.85375 +0.715 +0.58125 +0.47125 +0.39749998 +0.35875 +0.34625 +0.35 +0.3525 +0.34374997 +0.31125003 +0.24875 +0.17625 +0.14874999 +0.16875 +0.20125 +0.2575 +0.36124998 +0.45125 +0.47125003 +0.42125002 +0.3475 +0.315 +0.30875 +0.29125 +0.24875 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.16875 +0.14125 +0.122499995 +0.14750001 +0.24625 +0.45625 +0.7225 +0.99749994 +1.24125 +1.4375 +1.5862501 +1.71 +1.83375 +1.9675 +2.115 +2.26375 +2.3975 +2.5 +2.5825002 +2.60875 +2.55875 +2.455 +2.33 +2.16875 +1.9737501 +1.75875 +1.5375001 +1.3287499 +1.1587499 +1.0350001 +0.95875 +0.9187499 +0.9025 +0.90375 +0.945 +0.9925 +1.0224999 +1.0325 +1.025 +0.96375 +0.85375 +0.715 +0.58125 +0.47125 +0.39749998 +0.35875 +0.34625 +0.35 +0.3525 +0.34374997 +0.31125003 +0.24875 +0.17625 +0.14874999 +0.16875 +0.20125 +0.2575 +0.36124998 +0.45125 +0.47125003 +0.42125002 +0.3475 +0.315 +0.26 +0.24375 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.21125 +0.34999996 +0.59499997 +0.86875 +1.12875 +1.36125 +1.58125 +1.81375 +2.01875 +2.2175 +2.4425 +2.65 +2.8225002 +2.9625 +3.0300002 +3.015 +2.9237502 +2.7725 +2.57875 +2.35875 +2.1125002 +1.8475 +1.5862501 +1.36375 +1.1887499 +1.07625 +1.0075 +0.95625 +0.91125 +0.87249994 +0.8375001 +0.80625 +0.78125 +0.75124997 +0.71000004 +0.6675 +0.59749997 +0.50625 +0.4375 +0.36874998 +0.29749998 +0.2825 +0.305 +0.335 +0.35625 +0.35124996 +0.3075 +0.2275 +0.16499999 +0.1575 +0.17875 +0.195 +0.21624999 +0.26625 +0.31 +0.2975 +0.23625 +0.21875 +0.24375 +0.26 +0.24375 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.14375 +0.15375 +0.21125 +0.34999996 +0.59499997 +0.86875 +1.12875 +1.36125 +1.58125 +1.81375 +2.01875 +2.2175 +2.4425 +2.65 +2.8225002 +2.9625 +3.0300002 +3.015 +2.9237502 +2.7725 +2.57875 +2.35875 +2.1125002 +1.8475 +1.5862501 +1.36375 +1.1887499 +1.07625 +1.0075 +0.95625 +0.91125 +0.87249994 +0.8375001 +0.80625 +0.78125 +0.75124997 +0.71000004 +0.6675 +0.59749997 +0.50625 +0.4375 +0.36874998 +0.29749998 +0.2825 +0.305 +0.335 +0.35625 +0.35124996 +0.3075 +0.2275 +0.16499999 +0.1575 +0.17875 +0.195 +0.21624999 +0.26625 +0.31 +0.2975 +0.23625 +0.21875 +0.24375 +0.20875 +0.1925 +0.15375 +0.11875 +0.09 +0.09875 +0.13 +0.16375 +0.1825 +0.18 +0.16875 +0.16875 +0.1925 +0.2475 +0.36 +0.56875 +0.8212501 +1.07 +1.3 +1.565 +1.8425 +2.10375 +2.3625002 +2.61875 +2.8587499 +3.04875 +3.1625 +3.1850002 +3.12125 +2.99 +2.8125 +2.60125 +2.35875 +2.0925 +1.8174999 +1.56125 +1.3525 +1.20875 +1.12 +1.065 +1.00625 +0.92249995 +0.81624997 +0.70624995 +0.615 +0.55125 +0.51 +0.47750002 +0.44125003 +0.40000004 +0.355 +0.31249997 +0.27375 +0.23625 +0.23874998 +0.30875 +0.37625003 +0.41875 +0.4125 +0.35625 +0.26125 +0.18625 +0.16875 +0.18 +0.185 +0.19374998 +0.21124999 +0.20750001 +0.16499999 +0.1275 +0.1525 +0.1925 +0.20875 +0.1925 +0.15375 +0.11875 +0.09 +0.09875 +0.13 +0.16375 +0.1825 +0.18 +0.16875 +0.16875 +0.1925 +0.2475 +0.36 +0.56875 +0.8212501 +1.07 +1.3 +1.565 +1.8425 +2.10375 +2.3625002 +2.61875 +2.8587499 +3.04875 +3.1625 +3.1850002 +3.12125 +2.99 +2.8125 +2.60125 +2.35875 +2.0925 +1.8174999 +1.56125 +1.3525 +1.20875 +1.12 +1.065 +1.00625 +0.92249995 +0.81624997 +0.70624995 +0.615 +0.55125 +0.51 +0.47750002 +0.44125003 +0.40000004 +0.355 +0.31249997 +0.27375 +0.23625 +0.23874998 +0.30875 +0.37625003 +0.41875 +0.4125 +0.35625 +0.26125 +0.18625 +0.16875 +0.18 +0.185 +0.19374998 +0.21124999 +0.20750001 +0.16499999 +0.1275 +0.1525 +0.1925 +0.17125 +0.16125 +0.14999999 +0.121249996 +0.08125 +0.06625 +0.1 +0.14125 +0.16875 +0.1775 +0.18 +0.19625 +0.23625 +0.31749997 +0.44625002 +0.63375 +0.84625006 +1.04625 +1.22875 +1.4437501 +1.7 +1.9525001 +2.20875 +2.4625 +2.68625 +2.83875 +2.9049997 +2.875 +2.77125 +2.62375 +2.4512498 +2.26 +2.045 +1.80125 +1.5525 +1.3299999 +1.1675 +1.0775 +1.04 +1.0174999 +0.97 +0.86375004 +0.72 +0.5725 +0.45624998 +0.38625 +0.355 +0.34374997 +0.32874998 +0.29500002 +0.25125 +0.2175 +0.195 +0.1825 +0.23624998 +0.35375 +0.46 +0.51625 +0.5025 +0.42624998 +0.31499997 +0.21875 +0.18 +0.1775 +0.1925 +0.20624998 +0.20500001 +0.17250001 +0.11000001 +0.075 +0.1125 +0.15375 +0.17125 +0.16125 +0.14999999 +0.121249996 +0.08125 +0.06625 +0.1 +0.14125 +0.16875 +0.1775 +0.18 +0.19625 +0.23625 +0.31749997 +0.44625002 +0.63375 +0.84625006 +1.04625 +1.22875 +1.4437501 +1.7 +1.9525001 +2.20875 +2.4625 +2.68625 +2.83875 +2.9049997 +2.875 +2.77125 +2.62375 +2.4512498 +2.26 +2.045 +1.80125 +1.5525 +1.3299999 +1.1675 +1.0775 +1.04 +1.0174999 +0.97 +0.86375004 +0.72 +0.5725 +0.45624998 +0.38625 +0.355 +0.34374997 +0.32874998 +0.29500002 +0.25125 +0.2175 +0.195 +0.1825 +0.23624998 +0.35375 +0.46 +0.51625 +0.5025 +0.42624998 +0.31499997 +0.21875 +0.18 +0.1775 +0.1925 +0.20624998 +0.20500001 +0.17250001 +0.11000001 +0.075 +0.1125 +0.15375 +0.16625 +0.19125001 +0.20875001 +0.18375 +0.12875 +0.087500006 +0.08749999 +0.122499995 +0.15375 +0.17625 +0.19875 +0.235 +0.30499998 +0.41875 +0.56874996 +0.745 +0.90625 +1.02875 +1.11875 +1.20875 +1.37625 +1.55625 +1.77625 +2.00875 +2.1825001 +2.2562501 +2.22875 +2.1575 +2.0375001 +1.91125 +1.8187498 +1.7125001 +1.5637499 +1.365 +1.14125 +0.9549999 +0.84625006 +0.81624997 +0.85125005 +0.905 +0.90375006 +0.81375 +0.64875 +0.47125 +0.3675 +0.32375002 +0.32500002 +0.37500003 +0.39 +0.34625003 +0.25125003 +0.17375 +0.14625001 +0.155 +0.2775 +0.43624997 +0.57249993 +0.6325 +0.6 +0.49750003 +0.36249998 +0.25375 +0.205 +0.2125 +0.24875 +0.275 +0.26250002 +0.2025 +0.12 +0.0725 +0.0925 +0.1375 +0.16625 +0.19125001 +0.20875001 +0.18375 +0.12875 +0.087500006 +0.08749999 +0.122499995 +0.15375 +0.17625 +0.19875 +0.235 +0.30499998 +0.41875 +0.56874996 +0.745 +0.90625 +1.02875 +1.11875 +1.20875 +1.37625 +1.55625 +1.77625 +2.00875 +2.1825001 +2.2562501 +2.22875 +2.1575 +2.0375001 +1.91125 +1.8187498 +1.7125001 +1.5637499 +1.365 +1.14125 +0.9549999 +0.84625006 +0.81624997 +0.85125005 +0.905 +0.90375006 +0.81375 +0.64875 +0.47125 +0.3675 +0.32375002 +0.32500002 +0.37500003 +0.39 +0.34625003 +0.25125003 +0.17375 +0.14625001 +0.155 +0.2775 +0.43624997 +0.57249993 +0.6325 +0.6 +0.49750003 +0.36249998 +0.25375 +0.205 +0.2125 +0.24875 +0.275 +0.26250002 +0.2025 +0.12 +0.0725 +0.0925 +0.1375 +0.20375001 +0.25750002 +0.2725 +0.23874998 +0.1825 +0.1425 +0.14124998 +0.16749999 +0.20374998 +0.23875001 +0.27 +0.31249997 +0.39249998 +0.51875 +0.68375 +0.84125006 +0.94875 +0.98375 +0.96124995 +0.93125 +0.9525 +1.05 +1.2125 +1.3812499 +1.4950001 +1.5125 +1.4375001 +1.3199999 +1.2125001 +1.15625 +1.14125 +1.1275 +1.07 +0.94499993 +0.77374995 +0.6175 +0.5375 +0.55625004 +0.65250003 +0.76125 +0.8075 +0.76 +0.63124996 +0.4875 +0.39374998 +0.38750002 +0.45374998 +0.5325 +0.5575 +0.49124998 +0.35750002 +0.21749999 +0.15 +0.19375 +0.3475 +0.54375 +0.7025 +0.76125 +0.7025 +0.5575 +0.39874998 +0.28624997 +0.25625002 +0.29125002 +0.35 +0.37749997 +0.34625 +0.25750002 +0.15625 +0.10125 +0.11625 +0.15374999 +0.20375001 +0.25750002 +0.2725 +0.23874998 +0.1825 +0.1425 +0.14124998 +0.16749999 +0.20374998 +0.23875001 +0.27 +0.31249997 +0.39249998 +0.51875 +0.68375 +0.84125006 +0.94875 +0.98375 +0.96124995 +0.93125 +0.9525 +1.05 +1.2125 +1.3812499 +1.4950001 +1.5125 +1.4375001 +1.3199999 +1.2125001 +1.15625 +1.14125 +1.1275 +1.07 +0.94499993 +0.77374995 +0.6175 +0.5375 +0.55625004 +0.65250003 +0.76125 +0.8075 +0.76 +0.63124996 +0.4875 +0.39374998 +0.38750002 +0.45374998 +0.5325 +0.5575 +0.49124998 +0.35750002 +0.21749999 +0.15 +0.19375 +0.3475 +0.54375 +0.7025 +0.76125 +0.7025 +0.5575 +0.39874998 +0.28624997 +0.25625002 +0.29125002 +0.35 +0.37749997 +0.34625 +0.25750002 +0.15625 +0.10125 +0.11625 +0.15374999 +0.26375002 +0.3175 +0.31875 +0.27625 +0.23125 +0.2125 +0.24499997 +0.30249998 +0.3575 +0.39000002 +0.40000004 +0.41625 +0.47749996 +0.59375 +0.74499995 +0.87625 +0.93125 +0.88374996 +0.75999993 +0.62250006 +0.54 +0.55499995 +0.65375 +0.77375 +0.84499997 +0.82750005 +0.72875005 +0.60375 +0.52 +0.52250004 +0.59625 +0.68999994 +0.7275 +0.67375004 +0.54375 +0.40500003 +0.32750002 +0.35375002 +0.46875003 +0.61 +0.705 +0.705 +0.61875004 +0.51 +0.44875 +0.47625 +0.57750005 +0.6825 +0.71625006 +0.6375 +0.46875 +0.28750002 +0.19 +0.23500001 +0.41125 +0.645 +0.82874995 +0.8874999 +0.79999995 +0.615 +0.42125 +0.3025 +0.28375 +0.34500003 +0.42125002 +0.45000005 +0.4 +0.28625 +0.17125 +0.11625001 +0.1425 +0.1925 +0.26375002 +0.3175 +0.31875 +0.27625 +0.23125 +0.2125 +0.24499997 +0.30249998 +0.3575 +0.39000002 +0.40000004 +0.41625 +0.47749996 +0.59375 +0.74499995 +0.87625 +0.93125 +0.88374996 +0.75999993 +0.62250006 +0.54 +0.55499995 +0.65375 +0.77375 +0.84499997 +0.82750005 +0.72875005 +0.60375 +0.52 +0.52250004 +0.59625 +0.68999994 +0.7275 +0.67375004 +0.54375 +0.40500003 +0.32750002 +0.35375002 +0.46875003 +0.61 +0.705 +0.705 +0.61875004 +0.51 +0.44875 +0.47625 +0.57750005 +0.6825 +0.71625006 +0.6375 +0.46875 +0.28750002 +0.19 +0.23500001 +0.41125 +0.645 +0.82874995 +0.8874999 +0.79999995 +0.615 +0.42125 +0.3025 +0.28375 +0.34500003 +0.42125002 +0.45000005 +0.4 +0.28625 +0.17125 +0.11625001 +0.1425 +0.1925 +0.31500003 +0.36499998 +0.35125 +0.3 +0.25875002 +0.27 +0.34125 +0.43750003 +0.51375 +0.53875 +0.52125 +0.49874997 +0.5225 +0.60625005 +0.73125 +0.8312499 +0.84125006 +0.73625004 +0.54124993 +0.33249998 +0.19125 +0.17500001 +0.2375 +0.34374997 +0.40875 +0.38125002 +0.27375 +0.1575 +0.11875 +0.1575 +0.29500002 +0.47249997 +0.59125006 +0.59000003 +0.48000002 +0.32625 +0.21875 +0.21625 +0.3225 +0.48125 +0.61125004 +0.6525 +0.6 +0.51000005 +0.45874998 +0.49499997 +0.60749996 +0.7300001 +0.77625 +0.6975 +0.51125 +0.3075 +0.19250001 +0.23750001 +0.44124997 +0.71124995 +0.92375004 +0.9875 +0.88 +0.655 +0.42999998 +0.29874998 +0.28500003 +0.3575 +0.4425 +0.4625 +0.39249998 +0.25875 +0.13625 +0.10125 +0.14000002 +0.2175 +0.31500003 +0.36499998 +0.35125 +0.3 +0.25875002 +0.27 +0.34125 +0.43750003 +0.51375 +0.53875 +0.52125 +0.49874997 +0.5225 +0.60625005 +0.73125 +0.8312499 +0.84125006 +0.73625004 +0.54124993 +0.33249998 +0.19125 +0.17500001 +0.2375 +0.34374997 +0.40875 +0.38125002 +0.27375 +0.1575 +0.11875 +0.1575 +0.29500002 +0.47249997 +0.59125006 +0.59000003 +0.48000002 +0.32625 +0.21875 +0.21625 +0.3225 +0.48125 +0.61125004 +0.6525 +0.6 +0.51000005 +0.45874998 +0.49499997 +0.60749996 +0.7300001 +0.77625 +0.6975 +0.51125 +0.3075 +0.19250001 +0.23750001 +0.44124997 +0.71124995 +0.92375004 +0.9875 +0.88 +0.655 +0.42999998 +0.29874998 +0.28500003 +0.3575 +0.4425 +0.4625 +0.39249998 +0.25875 +0.13625 +0.10125 +0.14000002 +0.2175 +0.365 +0.415 +0.38625002 +0.31875 +0.2725 +0.3025 +0.405 +0.53625 +0.635 +0.65875 +0.6175 +0.5575 +0.53499997 +0.57625 +0.66249996 +0.7325 +0.71375 +0.57750005 +0.35375 +0.123749994 +0.03 +0.0025 +0.04125 +0.15625 +0.23375 +0.21374999 +0.11 +0.028749999 +0.0025 +0.035 +0.205 +0.43625 +0.60125 +0.63 +0.51750004 +0.34625 +0.2 +0.14375 +0.21749999 +0.38375 +0.54125 +0.615 +0.58000004 +0.48625 +0.43624997 +0.4525 +0.52875 +0.655 +0.71500003 +0.65125 +0.47125 +0.2825 +0.1775 +0.195 +0.41750002 +0.71750003 +0.9599999 +1.03375 +0.91499996 +0.66875 +0.41875002 +0.27625 +0.25875002 +0.32875 +0.41500002 +0.42374998 +0.33624998 +0.19 +0.082499996 +0.072500005 +0.12375 +0.2425 +0.365 +0.415 +0.38625002 +0.31875 +0.2725 +0.3025 +0.405 +0.53625 +0.635 +0.65875 +0.6175 +0.5575 +0.53499997 +0.57625 +0.66249996 +0.7325 +0.71375 +0.57750005 +0.35375 +0.123749994 +0.03 +0.0025 +0.04125 +0.15625 +0.23375 +0.21374999 +0.11 +0.028749999 +0.0025 +0.035 +0.205 +0.43625 +0.60125 +0.63 +0.51750004 +0.34625 +0.2 +0.14375 +0.21749999 +0.38375 +0.54125 +0.615 +0.58000004 +0.48625 +0.43624997 +0.4525 +0.52875 +0.655 +0.71500003 +0.65125 +0.47125 +0.2825 +0.1775 +0.195 +0.41750002 +0.71750003 +0.9599999 +1.03375 +0.91499996 +0.66875 +0.41875002 +0.27625 +0.25875002 +0.32875 +0.41500002 +0.42374998 +0.33624998 +0.19 +0.082499996 +0.072500005 +0.12375 +0.2425 +0.44750002 +0.495 +0.44375 +0.3425 +0.27624997 +0.30375 +0.41999996 +0.57624996 +0.69875 +0.73375 +0.68625003 +0.59999996 +0.53875 +0.53999996 +0.5925 +0.63875 +0.60875 +0.47125 +0.25875 +0.08625001 +0.01875 +0.0175 +0.0725 +0.17999999 +0.2725 +0.2775 +0.20500001 +0.1075 +0.05375 +0.09625 +0.25875002 +0.47750002 +0.65250003 +0.6975 +0.59875 +0.4075 +0.2225 +0.13499999 +0.18375 +0.3375 +0.51124996 +0.61375 +0.6175 +0.54125 +0.4525 +0.42 +0.46249998 +0.54125 +0.59250003 +0.55125 +0.41625 +0.2525 +0.14 +0.15 +0.3475 +0.66499996 +0.92625004 +1.01375 +0.89875007 +0.645 +0.3875 +0.24000001 +0.22125 +0.28875 +0.375 +0.38 +0.28375003 +0.1425 +0.06625 +0.06875 +0.14999999 +0.30625 +0.44750002 +0.495 +0.44375 +0.3425 +0.27624997 +0.30375 +0.41999996 +0.57624996 +0.69875 +0.73375 +0.68625003 +0.59999996 +0.53875 +0.53999996 +0.5925 +0.63875 +0.60875 +0.47125 +0.25875 +0.08625001 +0.01875 +0.0175 +0.0725 +0.17999999 +0.2725 +0.2775 +0.20500001 +0.1075 +0.05375 +0.09625 +0.25875002 +0.47750002 +0.65250003 +0.6975 +0.59875 +0.4075 +0.2225 +0.13499999 +0.18375 +0.3375 +0.51124996 +0.61375 +0.6175 +0.54125 +0.4525 +0.42 +0.46249998 +0.54125 +0.59250003 +0.55125 +0.41625 +0.2525 +0.14 +0.15 +0.3475 +0.66499996 +0.92625004 +1.01375 +0.89875007 +0.645 +0.3875 +0.24000001 +0.22125 +0.28875 +0.375 +0.38 +0.28375003 +0.1425 +0.06625 +0.06875 +0.14999999 +0.30625 +0.59125 +0.62125 +0.53125 +0.38750002 +0.2775 +0.27249998 +0.38 +0.5475 +0.69249994 +0.75000006 +0.71500003 +0.62875 +0.555 +0.53375 +0.56875 +0.60375005 +0.5775 +0.465 +0.29 +0.16 +0.107499994 +0.13 +0.225 +0.34875 +0.43875 +0.44375 +0.36499998 +0.25 +0.17750001 +0.20625001 +0.345 +0.53625005 +0.68750006 +0.72 +0.6075 +0.40374997 +0.20750001 +0.114999995 +0.1725 +0.3475 +0.55125 +0.68625 +0.70125 +0.61 +0.48375 +0.40124997 +0.40125 +0.45999998 +0.5125 +0.48875 +0.375 +0.21375 +0.096250005 +0.09375001 +0.26999998 +0.58125 +0.8425 +0.9425 +0.84124994 +0.6 +0.35125 +0.20625 +0.19374998 +0.27499998 +0.3675 +0.37874997 +0.29250002 +0.16625 +0.105000004 +0.13624999 +0.26125002 +0.445 +0.59125 +0.62125 +0.53125 +0.38750002 +0.2775 +0.27249998 +0.38 +0.5475 +0.69249994 +0.75000006 +0.71500003 +0.62875 +0.555 +0.53375 +0.56875 +0.60375005 +0.5775 +0.465 +0.29 +0.16 +0.107499994 +0.13 +0.225 +0.34875 +0.43875 +0.44375 +0.36499998 +0.25 +0.17750001 +0.20625001 +0.345 +0.53625005 +0.68750006 +0.72 +0.6075 +0.40374997 +0.20750001 +0.114999995 +0.1725 +0.3475 +0.55125 +0.68625 +0.70125 +0.61 +0.48375 +0.40124997 +0.40125 +0.45999998 +0.5125 +0.48875 +0.375 +0.21375 +0.096250005 +0.09375001 +0.26999998 +0.58125 +0.8425 +0.9425 +0.84124994 +0.6 +0.35125 +0.20625 +0.19374998 +0.27499998 +0.3675 +0.37874997 +0.29250002 +0.16625 +0.105000004 +0.13624999 +0.26125002 +0.445 +0.78125 +0.7825 +0.64624995 +0.4475 +0.2825 +0.23 +0.30874997 +0.46875 +0.62250006 +0.7075 +0.7 +0.635 +0.57374996 +0.55625 +0.58750004 +0.6275 +0.625 +0.5525 +0.43125 +0.32625002 +0.3025 +0.33625 +0.42125002 +0.53875 +0.60249996 +0.57374996 +0.4875 +0.37 +0.285 +0.28875 +0.38250002 +0.52125 +0.63624996 +0.65 +0.53 +0.33249998 +0.15375 +0.07875 +0.16124998 +0.36375 +0.5875 +0.73999995 +0.77125 +0.67875004 +0.53125 +0.41375 +0.38250002 +0.42000002 +0.48625 +0.47750002 +0.3625 +0.21374999 +0.09 +0.07125 +0.23625 +0.51375 +0.76 +0.85875 +0.77625 +0.56375 +0.33875 +0.20999998 +0.21875 +0.32 +0.42375 +0.45374998 +0.39000002 +0.2875 +0.23625001 +0.29 +0.44875002 +0.64625 +0.78125 +0.7825 +0.64624995 +0.4475 +0.2825 +0.23 +0.30874997 +0.46875 +0.62250006 +0.7075 +0.7 +0.635 +0.57374996 +0.55625 +0.58750004 +0.6275 +0.625 +0.5525 +0.43125 +0.32625002 +0.3025 +0.33625 +0.42125002 +0.53875 +0.60249996 +0.57374996 +0.4875 +0.37 +0.285 +0.28875 +0.38250002 +0.52125 +0.63624996 +0.65 +0.53 +0.33249998 +0.15375 +0.07875 +0.16124998 +0.36375 +0.5875 +0.73999995 +0.77125 +0.67875004 +0.53125 +0.41375 +0.38250002 +0.42000002 +0.48625 +0.47750002 +0.3625 +0.21374999 +0.09 +0.07125 +0.23625 +0.51375 +0.76 +0.85875 +0.77625 +0.56375 +0.33875 +0.20999998 +0.21875 +0.32 +0.42375 +0.45374998 +0.39000002 +0.2875 +0.23625001 +0.29 +0.44875002 +0.64625 +0.9649999 +0.93 +0.755 +0.50875 +0.29500002 +0.19500001 +0.23750001 +0.36999997 +0.5175 +0.61625004 +0.63625 +0.60125005 +0.56499994 +0.5625 +0.60375 +0.65999997 +0.69 +0.66749996 +0.60499996 +0.53625 +0.5075 +0.5425 +0.62375003 +0.70374995 +0.73 +0.67625004 +0.55875 +0.44500002 +0.3675 +0.34750003 +0.4 +0.51000005 +0.59000003 +0.58125 +0.47125 +0.305 +0.1575 +0.117499985 +0.21375 +0.4175 +0.64250004 +0.78999996 +0.8037499 +0.7175 +0.57625 +0.45375 +0.42125005 +0.4875 +0.56125 +0.56125 +0.45999998 +0.29375 +0.1625 +0.15125 +0.2875 +0.51625 +0.72499996 +0.81374997 +0.74375004 +0.5625 +0.37750003 +0.28 +0.30875 +0.42374998 +0.54249996 +0.59000003 +0.55125 +0.47749996 +0.44625002 +0.515 +0.67625004 +0.85749996 +0.9649999 +0.93 +0.755 +0.50875 +0.29500002 +0.19500001 +0.23750001 +0.36999997 +0.5175 +0.61625004 +0.63625 +0.60125005 +0.56499994 +0.5625 +0.60375 +0.65999997 +0.69 +0.66749996 +0.60499996 +0.53625 +0.5075 +0.5425 +0.62375003 +0.70374995 +0.73 +0.67625004 +0.55875 +0.44500002 +0.3675 +0.34750003 +0.4 +0.51000005 +0.59000003 +0.58125 +0.47125 +0.305 +0.1575 +0.117499985 +0.21375 +0.4175 +0.64250004 +0.78999996 +0.8037499 +0.7175 +0.57625 +0.45375 +0.42125005 +0.4875 +0.56125 +0.56125 +0.45999998 +0.29375 +0.1625 +0.15125 +0.2875 +0.51625 +0.72499996 +0.81374997 +0.74375004 +0.5625 +0.37750003 +0.28 +0.30875 +0.42374998 +0.54249996 +0.59000003 +0.55125 +0.47749996 +0.44625002 +0.515 +0.67625004 +0.85749996 +1.07125 +1.01125 +0.81499994 +0.54875 +0.30874997 +0.1775 +0.185 +0.2775 +0.4025 +0.4975 +0.52875 +0.51375 +0.49374998 +0.50625 +0.55875003 +0.63125 +0.69 +0.71125 +0.70125 +0.67625004 +0.665 +0.68125004 +0.71875 +0.75125 +0.7475 +0.69874996 +0.60999995 +0.51374996 +0.44374996 +0.42499998 +0.45749998 +0.50875 +0.53625 +0.50625 +0.40875 +0.2775 +0.17625 +0.16125 +0.25125 +0.43500003 +0.63625 +0.78000003 +0.80999994 +0.73375 +0.6175 +0.53625 +0.53625 +0.6075 +0.68375003 +0.70125 +0.62625 +0.4875 +0.3675 +0.34125 +0.4375 +0.61125 +0.775 +0.83750004 +0.76874995 +0.615 +0.46124998 +0.3925 +0.43875003 +0.56 +0.68000007 +0.73625 +0.71374995 +0.65625 +0.6325 +0.69625 +0.8400001 +0.99249995 +1.07125 +1.01125 +0.81499994 +0.54875 +0.30874997 +0.1775 +0.185 +0.2775 +0.4025 +0.4975 +0.52875 +0.51375 +0.49374998 +0.50625 +0.55875003 +0.63125 +0.69 +0.71125 +0.70125 +0.67625004 +0.665 +0.68125004 +0.71875 +0.75125 +0.7475 +0.69874996 +0.60999995 +0.51374996 +0.44374996 +0.42499998 +0.45749998 +0.50875 +0.53625 +0.50625 +0.40875 +0.2775 +0.17625 +0.16125 +0.25125 +0.43500003 +0.63625 +0.78000003 +0.80999994 +0.73375 +0.6175 +0.53625 +0.53625 +0.6075 +0.68375003 +0.70125 +0.62625 +0.4875 +0.3675 +0.34125 +0.4375 +0.61125 +0.775 +0.83750004 +0.76874995 +0.615 +0.46124998 +0.3925 +0.43875003 +0.56 +0.68000007 +0.73625 +0.71374995 +0.65625 +0.6325 +0.69625 +0.8400001 +0.99249995 +1.05 +0.98249996 +0.7937499 +0.54375005 +0.3125 +0.17875 +0.15499999 +0.21249999 +0.30625 +0.37625003 +0.39875 +0.38375 +0.36375 +0.3725 +0.42249998 +0.49625003 +0.56875 +0.61875004 +0.64500004 +0.65 +0.645 +0.6425 +0.6425 +0.63874996 +0.62375 +0.595 +0.55625 +0.5125 +0.4775 +0.46125 +0.46 +0.46374997 +0.45 +0.405 +0.32375 +0.23625 +0.1825 +0.17375 +0.24 +0.3825 +0.55125 +0.68375 +0.7337499 +0.71 +0.655 +0.62749994 +0.6625 +0.7525 +0.85 +0.895 +0.85375 +0.75499994 +0.65875006 +0.6275 +0.68625 +0.80375004 +0.90875 +0.93250006 +0.85375 +0.70875 +0.5775 +0.52375 +0.57125 +0.68625003 +0.795 +0.84125 +0.81624997 +0.75375 +0.71875 +0.7625 +0.87125003 +0.99375004 +1.05 +0.98249996 +0.7937499 +0.54375005 +0.3125 +0.17875 +0.15499999 +0.21249999 +0.30625 +0.37625003 +0.39875 +0.38375 +0.36375 +0.3725 +0.42249998 +0.49625003 +0.56875 +0.61875004 +0.64500004 +0.65 +0.645 +0.6425 +0.6425 +0.63874996 +0.62375 +0.595 +0.55625 +0.5125 +0.4775 +0.46125 +0.46 +0.46374997 +0.45 +0.405 +0.32375 +0.23625 +0.1825 +0.17375 +0.24 +0.3825 +0.55125 +0.68375 +0.7337499 +0.71 +0.655 +0.62749994 +0.6625 +0.7525 +0.85 +0.895 +0.85375 +0.75499994 +0.65875006 +0.6275 +0.68625 +0.80375004 +0.90875 +0.93250006 +0.85375 +0.70875 +0.5775 +0.52375 +0.57125 +0.68625003 +0.795 +0.84125 +0.81624997 +0.75375 +0.71875 +0.7625 +0.87125003 +0.99375004 +0.905 +0.84999996 +0.6975 +0.48875 +0.2975 +0.17875001 +0.15 +0.18750001 +0.24875 +0.29 +0.29000002 +0.255 +0.2225 +0.20875001 +0.2325 +0.28625 +0.35125 +0.41125003 +0.45 +0.465 +0.46375003 +0.43375 +0.40500003 +0.3825 +0.37499997 +0.37875 +0.39000002 +0.39624998 +0.39624995 +0.38249996 +0.35999998 +0.33125 +0.30125 +0.265 +0.22499998 +0.18499999 +0.16 +0.15625 +0.1975 +0.29125 +0.435 +0.5675 +0.65374994 +0.695 +0.71999997 +0.7625 +0.85375 +0.9825 +1.1125001 +1.19125 +1.195 +1.135 +1.065 +1.0175 +1.03 +1.0825 +1.1212499 +1.0912501 +0.98125 +0.83 +0.69874996 +0.64374995 +0.68 +0.775 +0.86 +0.88375 +0.835 +0.75 +0.69 +0.69874996 +0.77125 +0.86125 +0.905 +0.84999996 +0.6975 +0.48875 +0.2975 +0.17875001 +0.15 +0.18750001 +0.24875 +0.29 +0.29000002 +0.255 +0.2225 +0.20875001 +0.2325 +0.28625 +0.35125 +0.41125003 +0.45 +0.465 +0.46375003 +0.43375 +0.40500003 +0.3825 +0.37499997 +0.37875 +0.39000002 +0.39624998 +0.39624995 +0.38249996 +0.35999998 +0.33125 +0.30125 +0.265 +0.22499998 +0.18499999 +0.16 +0.15625 +0.1975 +0.29125 +0.435 +0.5675 +0.65374994 +0.695 +0.71999997 +0.7625 +0.85375 +0.9825 +1.1125001 +1.19125 +1.195 +1.135 +1.065 +1.0175 +1.03 +1.0825 +1.1212499 +1.0912501 +0.98125 +0.83 +0.69874996 +0.64374995 +0.68 +0.775 +0.86 +0.88375 +0.835 +0.75 +0.69 +0.69874996 +0.77125 +0.86125 +0.70875 +0.67125 +0.56125 +0.41125 +0.27375 +0.19125001 +0.17625 +0.20625001 +0.24625 +0.26375 +0.245 +0.19625 +0.14125 +0.09625 +0.0825 +0.1 +0.14 +0.18749999 +0.24749999 +0.285 +0.27 +0.20250002 +0.12375 +0.11625 +0.12375 +0.13875 +0.17125002 +0.21000001 +0.23625 +0.2075 +0.16624999 +0.14625001 +0.1425 +0.14375 +0.145 +0.14 +0.13499999 +0.13875 +0.165 +0.24624999 +0.39000002 +0.5475 +0.6925 +0.8175 +0.93999994 +1.05 +1.20625 +1.3875 +1.5575 +1.675 +1.71375 +1.71375 +1.6525 +1.565 +1.48625 +1.4337499 +1.3887498 +1.29375 +1.14 +0.96125007 +0.815 +0.74125 +0.75625 +0.82500005 +0.88125 +0.8775 +0.80249995 +0.69124997 +0.59749997 +0.56875 +0.60625 +0.67125005 +0.70875 +0.67125 +0.56125 +0.41125 +0.27375 +0.19125001 +0.17625 +0.20625001 +0.24625 +0.26375 +0.245 +0.19625 +0.14125 +0.09625 +0.0825 +0.1 +0.14 +0.18749999 +0.24749999 +0.285 +0.27 +0.20250002 +0.12375 +0.11625 +0.12375 +0.13875 +0.17125002 +0.21000001 +0.23625 +0.2075 +0.16624999 +0.14625001 +0.1425 +0.14375 +0.145 +0.14 +0.13499999 +0.13875 +0.165 +0.24624999 +0.39000002 +0.5475 +0.6925 +0.8175 +0.93999994 +1.05 +1.20625 +1.3875 +1.5575 +1.675 +1.71375 +1.71375 +1.6525 +1.565 +1.48625 +1.4337499 +1.3887498 +1.29375 +1.14 +0.96125007 +0.815 +0.74125 +0.75625 +0.82500005 +0.88125 +0.8775 +0.80249995 +0.69124997 +0.59749997 +0.56875 +0.60625 +0.67125005 +0.54625 +0.525 +0.45250002 +0.35125 +0.2625 +0.21625 +0.22 +0.25375 +0.29125002 +0.30874997 +0.29125002 +0.25125003 +0.19375 +0.120000005 +0.05875 +0.03625 +0.0475 +0.10125001 +0.16625 +0.19624999 +0.16499999 +0.074999996 +0.00875 +0.0 +0.01875 +0.0125 +0.03875 +0.1 +0.11375 +0.06625 +0.02125 +0.03125 +0.06625 +0.09375 +0.1275 +0.15249999 +0.175 +0.195 +0.23875 +0.345 +0.5175 +0.7275 +0.95750004 +1.1975 +1.4037501 +1.5912501 +1.78375 +2.0025 +2.21625 +2.3687499 +2.4599998 +2.4475002 +2.3400002 +2.17625 +1.9987501 +1.8337499 +1.67875 +1.5137501 +1.3162501 +1.1162499 +0.9425 +0.82874995 +0.805 +0.845 +0.88125 +0.86125 +0.77375007 +0.64624995 +0.52875 +0.46875 +0.47250003 +0.51500005 +0.54625 +0.525 +0.45250002 +0.35125 +0.2625 +0.21625 +0.22 +0.25375 +0.29125002 +0.30874997 +0.29125002 +0.25125003 +0.19375 +0.120000005 +0.05875 +0.03625 +0.0475 +0.10125001 +0.16625 +0.19624999 +0.16499999 +0.074999996 +0.00875 +0.0 +0.01875 +0.0125 +0.03875 +0.1 +0.11375 +0.06625 +0.02125 +0.03125 +0.06625 +0.09375 +0.1275 +0.15249999 +0.175 +0.195 +0.23875 +0.345 +0.5175 +0.7275 +0.95750004 +1.1975 +1.4037501 +1.5912501 +1.78375 +2.0025 +2.21625 +2.3687499 +2.4599998 +2.4475002 +2.3400002 +2.17625 +1.9987501 +1.8337499 +1.67875 +1.5137501 +1.3162501 +1.1162499 +0.9425 +0.82874995 +0.805 +0.845 +0.88125 +0.86125 +0.77375007 +0.64624995 +0.52875 +0.46875 +0.47250003 +0.51500005 +0.4775 +0.46749997 +0.4175 +0.345 +0.2825 +0.255 +0.265 +0.30625 +0.35625 +0.39499998 +0.40625 +0.39999998 +0.34625 +0.25875 +0.17125002 +0.11625001 +0.123749994 +0.18249999 +0.25625 +0.29125 +0.2525 +0.14625001 +0.055000003 +0.02 +0.018749999 +0.03875 +0.085 +0.12625001 +0.10625 +0.0375 +0.0 +0.02125 +0.07375 +0.13625 +0.21625 +0.30875 +0.37249997 +0.42000002 +0.48874998 +0.62500006 +0.83875 +1.11125 +1.425 +1.7375 +2.01 +2.2525 +2.4912498 +2.7424998 +2.98875 +3.1775 +3.2575002 +3.19875 +3.00875 +2.73625 +2.4412498 +2.17 +1.93 +1.70625 +1.4799999 +1.25 +1.04375 +0.89875 +0.83250004 +0.84625006 +0.87375 +0.86125 +0.7825 +0.65875 +0.5325 +0.45624998 +0.43875 +0.45749998 +0.4775 +0.46749997 +0.4175 +0.345 +0.2825 +0.255 +0.265 +0.30625 +0.35625 +0.39499998 +0.40625 +0.39999998 +0.34625 +0.25875 +0.17125002 +0.11625001 +0.123749994 +0.18249999 +0.25625 +0.29125 +0.2525 +0.14625001 +0.055000003 +0.02 +0.018749999 +0.03875 +0.085 +0.12625001 +0.10625 +0.0375 +0.0 +0.02125 +0.07375 +0.13625 +0.21625 +0.30875 +0.37249997 +0.42000002 +0.48874998 +0.62500006 +0.83875 +1.11125 +1.425 +1.7375 +2.01 +2.2525 +2.4912498 +2.7424998 +2.98875 +3.1775 +3.2575002 +3.19875 +3.00875 +2.73625 +2.4412498 +2.17 +1.93 +1.70625 +1.4799999 +1.25 +1.04375 +0.89875 +0.83250004 +0.84625006 +0.87375 +0.86125 +0.7825 +0.65875 +0.5325 +0.45624998 +0.43875 +0.45749998 +0.495 +0.48499998 +0.4425 +0.38 +0.32 +0.28625 +0.28750002 +0.3225 +0.385 +0.45749998 +0.51875 +0.5525 +0.52125 +0.4375 +0.33875 +0.28375 +0.29125 +0.37625 +0.48624998 +0.555 +0.53375 +0.42374998 +0.2825 +0.18749999 +0.18249999 +0.235 +0.30625 +0.33375 +0.27250004 +0.1575 +0.07 +0.08125 +0.1625 +0.30874997 +0.495 +0.65375 +0.74375004 +0.795 +0.86249995 +1.00625 +1.24625 +1.565 +1.9100001 +2.26125 +2.56375 +2.82625 +3.085 +3.3649998 +3.6437502 +3.83625 +3.8937502 +3.7737498 +3.485 +3.0937502 +2.68125 +2.3225 +2.03375 +1.7975001 +1.56125 +1.3225 +1.095 +0.91875005 +0.82000005 +0.81249994 +0.8425 +0.85375 +0.80875 +0.7125 +0.60375 +0.5225 +0.48749998 +0.48749998 +0.495 +0.48499998 +0.4425 +0.38 +0.32 +0.28625 +0.28750002 +0.3225 +0.385 +0.45749998 +0.51875 +0.5525 +0.52125 +0.4375 +0.33875 +0.28375 +0.29125 +0.37625 +0.48624998 +0.555 +0.53375 +0.42374998 +0.2825 +0.18749999 +0.18249999 +0.235 +0.30625 +0.33375 +0.27250004 +0.1575 +0.07 +0.08125 +0.1625 +0.30874997 +0.495 +0.65375 +0.74375004 +0.795 +0.86249995 +1.00625 +1.24625 +1.565 +1.9100001 +2.26125 +2.56375 +2.82625 +3.085 +3.3649998 +3.6437502 +3.83625 +3.8937502 +3.7737498 +3.485 +3.0937502 +2.68125 +2.3225 +2.03375 +1.7975001 +1.56125 +1.3225 +1.095 +0.91875005 +0.82000005 +0.81249994 +0.8425 +0.85375 +0.80875 +0.7125 +0.60375 +0.5225 +0.48749998 +0.48749998 +0.53375 +0.52 +0.48125002 +0.41625002 +0.3425 +0.28125003 +0.2525 +0.26000002 +0.32375 +0.4275 +0.53875 +0.615 +0.61750007 +0.54875004 +0.45499998 +0.39750004 +0.42625 +0.5575 +0.74 +0.875 +0.895 +0.8025 +0.67249995 +0.58000004 +0.56125003 +0.60875 +0.66249996 +0.65875 +0.56625 +0.42000002 +0.3 +0.28625 +0.41000003 +0.63625 +0.885 +1.0699999 +1.1612501 +1.18625 +1.2225 +1.34125 +1.57375 +1.89875 +2.2537498 +2.57625 +2.84625 +3.0900002 +3.34375 +3.63375 +3.92375 +4.1312504 +4.16375 +3.9800003 +3.6062498 +3.11125 +2.6125 +2.2024999 +1.9175 +1.715 +1.52 +1.29625 +1.0575 +0.85249996 +0.72875 +0.70500004 +0.745 +0.78999996 +0.7975 +0.7512499 +0.67249995 +0.5975 +0.5525 +0.53625 +0.53375 +0.52 +0.48125002 +0.41625002 +0.3425 +0.28125003 +0.2525 +0.26000002 +0.32375 +0.4275 +0.53875 +0.615 +0.61750007 +0.54875004 +0.45499998 +0.39750004 +0.42625 +0.5575 +0.74 +0.875 +0.895 +0.8025 +0.67249995 +0.58000004 +0.56125003 +0.60875 +0.66249996 +0.65875 +0.56625 +0.42000002 +0.3 +0.28625 +0.41000003 +0.63625 +0.885 +1.0699999 +1.1612501 +1.18625 +1.2225 +1.34125 +1.57375 +1.89875 +2.2537498 +2.57625 +2.84625 +3.0900002 +3.34375 +3.63375 +3.92375 +4.1312504 +4.16375 +3.9800003 +3.6062498 +3.11125 +2.6125 +2.2024999 +1.9175 +1.715 +1.52 +1.29625 +1.0575 +0.85249996 +0.72875 +0.70500004 +0.745 +0.78999996 +0.7975 +0.7512499 +0.67249995 +0.5975 +0.5525 +0.53625 +0.51374996 +0.50249994 +0.47125003 +0.40749997 +0.32625002 +0.2425 +0.17625 +0.15374999 +0.17875001 +0.27375 +0.42749998 +0.54875 +0.58125 +0.51625 +0.40749997 +0.34250003 +0.40000004 +0.59749997 +0.87125 +1.0962499 +1.18625 +1.14 +1.01875 +0.9075 +0.875 +0.9225 +0.99 +0.99499995 +0.9 +0.7375 +0.59625 +0.5725 +0.70375 +0.95624995 +1.23 +1.425 +1.495 +1.4687501 +1.44 +1.4949999 +1.6787499 +1.9675 +2.2875 +2.56875 +2.7799997 +2.9562497 +3.1537502 +3.4099998 +3.695 +3.91625 +3.95625 +3.745 +3.30625 +2.7499998 +2.20375 +1.785 +1.5375 +1.41 +1.2987499 +1.13625 +0.915 +0.69124997 +0.535 +0.49125 +0.5375 +0.62625 +0.69375 +0.7025 +0.6625 +0.59999996 +0.54875 +0.5225 +0.51374996 +0.50249994 +0.47125003 +0.40749997 +0.32625002 +0.2425 +0.17625 +0.15374999 +0.17875001 +0.27375 +0.42749998 +0.54875 +0.58125 +0.51625 +0.40749997 +0.34250003 +0.40000004 +0.59749997 +0.87125 +1.0962499 +1.18625 +1.14 +1.01875 +0.9075 +0.875 +0.9225 +0.99 +0.99499995 +0.9 +0.7375 +0.59625 +0.5725 +0.70375 +0.95624995 +1.23 +1.425 +1.495 +1.4687501 +1.44 +1.4949999 +1.6787499 +1.9675 +2.2875 +2.56875 +2.7799997 +2.9562497 +3.1537502 +3.4099998 +3.695 +3.91625 +3.95625 +3.745 +3.30625 +2.7499998 +2.20375 +1.785 +1.5375 +1.41 +1.2987499 +1.13625 +0.915 +0.69124997 +0.535 +0.49125 +0.5375 +0.62625 +0.69375 +0.7025 +0.6625 +0.59999996 +0.54875 +0.5225 +0.42 +0.4175 +0.39874998 +0.35125 +0.27375 +0.18624999 +0.13499999 +0.1025 +0.09125 +0.12375 +0.21624999 +0.35999998 +0.40625 +0.34875 +0.23875001 +0.15875 +0.19625 +0.45374998 +0.8175 +1.14 +1.3050001 +1.30375 +1.185 +1.0525 +1.00125 +1.0475 +1.13625 +1.17125 +1.0975 +0.94 +0.79124993 +0.75625 +0.88500005 +1.145 +1.43 +1.6225001 +1.6637499 +1.5799999 +1.4675 +1.4337499 +1.5375 +1.75875 +2.02 +2.23375 +2.36625 +2.455 +2.57125 +2.77125 +3.0375 +3.2687502 +3.33125 +3.1287503 +2.67875 +2.1025 +1.5462501 +1.1474999 +0.95375 +0.9225 +0.91875 +0.84000003 +0.6575 +0.42875004 +0.25875002 +0.21749999 +0.26250002 +0.37375 +0.48624998 +0.55249995 +0.54875 +0.5025 +0.45875 +0.4325 +0.42 +0.4175 +0.39874998 +0.35125 +0.27375 +0.18624999 +0.13499999 +0.1025 +0.09125 +0.12375 +0.21624999 +0.35999998 +0.40625 +0.34875 +0.23875001 +0.15875 +0.19625 +0.45374998 +0.8175 +1.14 +1.3050001 +1.30375 +1.185 +1.0525 +1.00125 +1.0475 +1.13625 +1.17125 +1.0975 +0.94 +0.79124993 +0.75625 +0.88500005 +1.145 +1.43 +1.6225001 +1.6637499 +1.5799999 +1.4675 +1.4337499 +1.5375 +1.75875 +2.02 +2.23375 +2.36625 +2.455 +2.57125 +2.77125 +3.0375 +3.2687502 +3.33125 +3.1287503 +2.67875 +2.1025 +1.5462501 +1.1474999 +0.95375 +0.9225 +0.91875 +0.84000003 +0.6575 +0.42875004 +0.25875002 +0.21749999 +0.26250002 +0.37375 +0.48624998 +0.55249995 +0.54875 +0.5025 +0.45875 +0.4325 +0.32625002 +0.32750002 +0.31875 +0.2875 +0.22125 +0.16625 +0.1375 +0.11125 +0.085 +0.067499995 +0.09375 +0.16125 +0.21375 +0.17000002 +0.07625 +0.0275 +0.0475 +0.22749999 +0.6512499 +1.06125 +1.2975 +1.3237499 +1.2075001 +1.0500001 +0.96875 +1.0037501 +1.1049999 +1.1737499 +1.1374999 +1.00125 +0.85499996 +0.81125003 +0.93 +1.18875 +1.47625 +1.66875 +1.68625 +1.55125 +1.3612499 +1.23875 +1.2574999 +1.4075 +1.6049998 +1.7562501 +1.8149999 +1.8175001 +1.8475 +1.97875 +2.21125 +2.445 +2.53375 +2.35875 +1.9412501 +1.37625 +0.83375 +0.47875002 +0.34875 +0.3825 +0.4825 +0.48499995 +0.35125 +0.16875 +0.06875 +0.06375 +0.08625 +0.1525 +0.25625002 +0.34375 +0.38 +0.3675 +0.33874997 +0.32500002 +0.32625002 +0.32750002 +0.31875 +0.2875 +0.22125 +0.16625 +0.1375 +0.11125 +0.085 +0.067499995 +0.09375 +0.16125 +0.21375 +0.17000002 +0.07625 +0.0275 +0.0475 +0.22749999 +0.6512499 +1.06125 +1.2975 +1.3237499 +1.2075001 +1.0500001 +0.96875 +1.0037501 +1.1049999 +1.1737499 +1.1374999 +1.00125 +0.85499996 +0.81125003 +0.93 +1.18875 +1.47625 +1.66875 +1.68625 +1.55125 +1.3612499 +1.23875 +1.2574999 +1.4075 +1.6049998 +1.7562501 +1.8149999 +1.8175001 +1.8475 +1.97875 +2.21125 +2.445 +2.53375 +2.35875 +1.9412501 +1.37625 +0.83375 +0.47875002 +0.34875 +0.3825 +0.4825 +0.48499995 +0.35125 +0.16875 +0.06875 +0.06375 +0.08625 +0.1525 +0.25625002 +0.34375 +0.38 +0.3675 +0.33874997 +0.32500002 +0.28375 +0.28625 +0.28124997 +0.255 +0.20749998 +0.16625 +0.14 +0.11375 +0.08875 +0.0675 +0.0575 +0.08125 +0.12 +0.08625 +0.02875 +0.0025 +0.0 +0.13374999 +0.55499995 +1.02875 +1.32875 +1.38375 +1.26625 +1.08125 +0.95875007 +0.96000004 +1.05375 +1.13875 +1.1274999 +1.015 +0.87625 +0.82 +0.92625004 +1.17125 +1.4549999 +1.64625 +1.65375 +1.48875 +1.2449999 +1.0525 +1.0025 +1.09375 +1.24875 +1.36125 +1.37375 +1.3125 +1.27 +1.3349999 +1.5224998 +1.74625 +1.85375 +1.7162501 +1.345 +0.81 +0.33 +0.05875 +0.0 +0.042499997 +0.14625 +0.20124999 +0.13499999 +0.055 +0.05375 +0.0675 +0.08875 +0.11375 +0.145 +0.19624999 +0.24999997 +0.27374998 +0.27749997 +0.2775 +0.28375 +0.28625 +0.28124997 +0.255 +0.20749998 +0.16625 +0.14 +0.11375 +0.08875 +0.0675 +0.0575 +0.08125 +0.12 +0.08625 +0.02875 +0.0025 +0.0 +0.13374999 +0.55499995 +1.02875 +1.32875 +1.38375 +1.26625 +1.08125 +0.95875007 +0.96000004 +1.05375 +1.13875 +1.1274999 +1.015 +0.87625 +0.82 +0.92625004 +1.17125 +1.4549999 +1.64625 +1.65375 +1.48875 +1.2449999 +1.0525 +1.0025 +1.09375 +1.24875 +1.36125 +1.37375 +1.3125 +1.27 +1.3349999 +1.5224998 +1.74625 +1.85375 +1.7162501 +1.345 +0.81 +0.33 +0.05875 +0.0 +0.042499997 +0.14625 +0.20124999 +0.13499999 +0.055 +0.05375 +0.0675 +0.08875 +0.11375 +0.145 +0.19624999 +0.24999997 +0.27374998 +0.27749997 +0.2775 +0.5675 +0.56875 +0.58 +0.62875 +0.71625 +0.83250004 +0.96125 +1.09875 +1.2449999 +1.4024999 +1.5537499 +1.6725 +1.72125 +1.6775 +1.5512501 +1.36625 +1.1837499 +1.01125 +0.84749997 +0.68874997 +0.53875 +0.4225 +0.36625 +0.3425 +0.32999998 +0.2975 +0.215 +0.11 +0.0875 +0.10875 +0.135 +0.16375 +0.195 +0.26624998 +0.415 +0.52125 +0.56375 +0.57125 +0.58625 +0.63874996 +0.73125005 +0.85 +0.97999996 +1.1175001 +1.265 +1.4200001 +1.5675 +1.67875 +1.7187501 +1.66625 +1.53 +1.34125 +1.1575 +0.985 +0.8225 +0.66625 +0.52 +0.40875003 +0.35625 +0.3375 +0.32999998 +0.3 +0.2225 +0.120000005 +0.0875 +0.11125 +0.1375 +0.16625 +0.19875 +0.285 +0.42874998 +0.53125 +0.5675 +0.56875 +0.58 +0.62875 +0.71625 +0.83250004 +0.96125 +1.09875 +1.2449999 +1.4024999 +1.5537499 +1.6725 +1.72125 +1.6775 +1.5512501 +1.36625 +1.1837499 +1.01125 +0.84749997 +0.68874997 +0.53875 +0.4225 +0.36625 +0.3425 +0.32999998 +0.2975 +0.215 +0.11 +0.0875 +0.10875 +0.135 +0.16375 +0.195 +0.26624998 +0.415 +0.52125 +0.56375 +0.57125 +0.58625 +0.63874996 +0.73125005 +0.85 +0.97999996 +1.1175001 +1.265 +1.4200001 +1.5675 +1.67875 +1.7187501 +1.66625 +1.53 +1.34125 +1.1575 +0.985 +0.8225 +0.66625 +0.52 +0.40875003 +0.35625 +0.3375 +0.32999998 +0.3 +0.2225 +0.120000005 +0.0875 +0.11125 +0.1375 +0.16625 +0.19875 +0.285 +0.42874998 +0.53125 +0.58250004 +0.56250006 +0.55125004 +0.58000004 +0.65 +0.75624996 +0.88500005 +1.03 +1.1925 +1.3712499 +1.55 +1.6949999 +1.7687501 +1.7475001 +1.6362499 +1.4575 +1.2512499 +1.0662501 +0.89 +0.72125 +0.56624997 +0.455 +0.39249998 +0.36375 +0.34875 +0.31374997 +0.2375 +0.1375 +0.075 +0.0925 +0.12 +0.15125 +0.1875 +0.29250002 +0.44125 +0.5475 +0.58875006 +0.5975 +0.60875 +0.6525 +0.73875004 +0.85375 +0.98875 +1.1375 +1.2975 +1.4612501 +1.6112499 +1.7125001 +1.7375001 +1.6650001 +1.5124999 +1.31 +1.10125 +0.9175 +0.74625 +0.59000003 +0.45499998 +0.3725 +0.3375 +0.33875 +0.35000002 +0.3375 +0.27499998 +0.18124999 +0.1075 +0.1025 +0.13125 +0.1625 +0.23500001 +0.36124998 +0.49250004 +0.57250005 +0.58250004 +0.56250006 +0.55125004 +0.58000004 +0.65 +0.75624996 +0.88500005 +1.03 +1.1925 +1.3712499 +1.55 +1.6949999 +1.7687501 +1.7475001 +1.6362499 +1.4575 +1.2512499 +1.0662501 +0.89 +0.72125 +0.56624997 +0.455 +0.39249998 +0.36375 +0.34875 +0.31374997 +0.2375 +0.1375 +0.075 +0.0925 +0.12 +0.15125 +0.1875 +0.29250002 +0.44125 +0.5475 +0.58875006 +0.5975 +0.60875 +0.6525 +0.73875004 +0.85375 +0.98875 +1.1375 +1.2975 +1.4612501 +1.6112499 +1.7125001 +1.7375001 +1.6650001 +1.5124999 +1.31 +1.10125 +0.9175 +0.74625 +0.59000003 +0.45499998 +0.3725 +0.3375 +0.33875 +0.35000002 +0.3375 +0.27499998 +0.18124999 +0.1075 +0.1025 +0.13125 +0.1625 +0.23500001 +0.36124998 +0.49250004 +0.57250005 +0.60625005 +0.54749995 +0.50125 +0.49499997 +0.54 +0.6275 +0.7525 +0.90875 +1.0975 +1.31375 +1.5374999 +1.7312499 +1.8525 +1.8725001 +1.7874999 +1.61875 +1.4025 +1.19 +0.99750006 +0.8225 +0.66375 +0.54625 +0.47875 +0.44500002 +0.42875 +0.40125003 +0.33875 +0.23625001 +0.1425 +0.10125001 +0.1075 +0.14625001 +0.23125 +0.3725 +0.525 +0.62874997 +0.66875 +0.66999996 +0.66999996 +0.695 +0.76124996 +0.87 +1.01 +1.1737499 +1.35 +1.525 +1.67125 +1.7525 +1.745 +1.63875 +1.4537499 +1.22625 +1.00125 +0.80375004 +0.6225 +0.47125 +0.3675 +0.32 +0.3225 +0.36 +0.405 +0.4225 +0.3875 +0.305 +0.21 +0.16125001 +0.17125 +0.23625 +0.35500002 +0.4975 +0.60125005 +0.63624996 +0.60625005 +0.54749995 +0.50125 +0.49499997 +0.54 +0.6275 +0.7525 +0.90875 +1.0975 +1.31375 +1.5374999 +1.7312499 +1.8525 +1.8725001 +1.7874999 +1.61875 +1.4025 +1.19 +0.99750006 +0.8225 +0.66375 +0.54625 +0.47875 +0.44500002 +0.42875 +0.40125003 +0.33875 +0.23625001 +0.1425 +0.10125001 +0.1075 +0.14625001 +0.23125 +0.3725 +0.525 +0.62874997 +0.66875 +0.66999996 +0.66999996 +0.695 +0.76124996 +0.87 +1.01 +1.1737499 +1.35 +1.525 +1.67125 +1.7525 +1.745 +1.63875 +1.4537499 +1.22625 +1.00125 +0.80375004 +0.6225 +0.47125 +0.3675 +0.32 +0.3225 +0.36 +0.405 +0.4225 +0.3875 +0.305 +0.21 +0.16125001 +0.17125 +0.23625 +0.35500002 +0.4975 +0.60125005 +0.63624996 +0.645 +0.5525 +0.47375 +0.43499997 +0.44375 +0.5075 +0.62 +0.7775 +0.98499995 +1.2325 +1.5 +1.7475 +1.9237502 +1.9925001 +1.9487499 +1.8037499 +1.595 +1.38125 +1.19 +1.02 +0.87375003 +0.75 +0.6775 +0.6475 +0.63624996 +0.61875 +0.57375 +0.49124998 +0.3825 +0.29 +0.24875002 +0.29 +0.40374997 +0.555 +0.69624996 +0.7875 +0.8187499 +0.80499995 +0.78 +0.77375 +0.81 +0.90000004 +1.0362499 +1.2075 +1.3975 +1.575 +1.7037499 +1.7587498 +1.7124999 +1.5687499 +1.3575 +1.12375 +0.905 +0.70375 +0.525 +0.385 +0.31125 +0.30625 +0.34875 +0.42125 +0.5 +0.54125 +0.52125 +0.46125 +0.38625 +0.33750004 +0.35375 +0.43499997 +0.55375 +0.66375 +0.72375 +0.71250004 +0.645 +0.5525 +0.47375 +0.43499997 +0.44375 +0.5075 +0.62 +0.7775 +0.98499995 +1.2325 +1.5 +1.7475 +1.9237502 +1.9925001 +1.9487499 +1.8037499 +1.595 +1.38125 +1.19 +1.02 +0.87375003 +0.75 +0.6775 +0.6475 +0.63624996 +0.61875 +0.57375 +0.49124998 +0.3825 +0.29 +0.24875002 +0.29 +0.40374997 +0.555 +0.69624996 +0.7875 +0.8187499 +0.80499995 +0.78 +0.77375 +0.81 +0.90000004 +1.0362499 +1.2075 +1.3975 +1.575 +1.7037499 +1.7587498 +1.7124999 +1.5687499 +1.3575 +1.12375 +0.905 +0.70375 +0.525 +0.385 +0.31125 +0.30625 +0.34875 +0.42125 +0.5 +0.54125 +0.52125 +0.46125 +0.38625 +0.33750004 +0.35375 +0.43499997 +0.55375 +0.66375 +0.72375 +0.71250004 +0.6987501 +0.5925 +0.4975 +0.43124998 +0.41 +0.44125003 +0.52625 +0.66875 +0.8725 +1.13 +1.4212499 +1.7175 +1.9437499 +2.06125 +2.0575001 +1.95625 +1.7849998 +1.6049999 +1.4424999 +1.30125 +1.1825 +1.08125 +1.00375 +0.9674999 +0.96750003 +0.965 +0.95500004 +0.9125 +0.82624996 +0.71750003 +0.63124996 +0.63875 +0.715 +0.83 +0.945 +1.01625 +1.02875 +0.98999995 +0.92875004 +0.87874997 +0.87874997 +0.94000006 +1.06375 +1.26125 +1.46125 +1.6212502 +1.7075 +1.70875 +1.6249999 +1.45375 +1.25125 +1.04625 +0.845 +0.65875006 +0.49874997 +0.38125 +0.32999998 +0.35750002 +0.4325 +0.5375 +0.63124996 +0.67 +0.64125 +0.58624995 +0.53125 +0.5075 +0.54 +0.62 +0.71875 +0.79499996 +0.82000005 +0.78375 +0.6987501 +0.5925 +0.4975 +0.43124998 +0.41 +0.44125003 +0.52625 +0.66875 +0.8725 +1.13 +1.4212499 +1.7175 +1.9437499 +2.06125 +2.0575001 +1.95625 +1.7849998 +1.6049999 +1.4424999 +1.30125 +1.1825 +1.08125 +1.00375 +0.9674999 +0.96750003 +0.965 +0.95500004 +0.9125 +0.82624996 +0.71750003 +0.63124996 +0.63875 +0.715 +0.83 +0.945 +1.01625 +1.02875 +0.98999995 +0.92875004 +0.87874997 +0.87874997 +0.94000006 +1.06375 +1.26125 +1.46125 +1.6212502 +1.7075 +1.70875 +1.6249999 +1.45375 +1.25125 +1.04625 +0.845 +0.65875006 +0.49874997 +0.38125 +0.32999998 +0.35750002 +0.4325 +0.5375 +0.63124996 +0.67 +0.64125 +0.58624995 +0.53125 +0.5075 +0.54 +0.62 +0.71875 +0.79499996 +0.82000005 +0.78375 +0.7537501 +0.65500003 +0.55875 +0.48 +0.43125004 +0.42875 +0.47625 +0.585 +0.76 +1.0012499 +1.285 +1.5925 +1.855 +2.02375 +2.0774999 +2.0337498 +1.9287499 +1.8037499 +1.6887499 +1.5900002 +1.505 +1.43 +1.36625 +1.33 +1.33125 +1.35125 +1.36625 +1.345 +1.27125 +1.1600001 +1.04875 +1.00375 +1.0425 +1.12125 +1.205 +1.25375 +1.23875 +1.17 +1.0712501 +0.98625004 +0.95000005 +0.985 +1.1125 +1.3037499 +1.49 +1.625 +1.67125 +1.6262499 +1.5075 +1.33625 +1.15375 +0.97999996 +0.81625 +0.66499996 +0.53499997 +0.4475 +0.42249998 +0.465 +0.56 +0.66499996 +0.7375001 +0.74750006 +0.6975 +0.64375 +0.6025 +0.60375 +0.65374994 +0.735 +0.81625 +0.87125003 +0.87874997 +0.83625 +0.7537501 +0.65500003 +0.55875 +0.48 +0.43125004 +0.42875 +0.47625 +0.585 +0.76 +1.0012499 +1.285 +1.5925 +1.855 +2.02375 +2.0774999 +2.0337498 +1.9287499 +1.8037499 +1.6887499 +1.5900002 +1.505 +1.43 +1.36625 +1.33 +1.33125 +1.35125 +1.36625 +1.345 +1.27125 +1.1600001 +1.04875 +1.00375 +1.0425 +1.12125 +1.205 +1.25375 +1.23875 +1.17 +1.0712501 +0.98625004 +0.95000005 +0.985 +1.1125 +1.3037499 +1.49 +1.625 +1.67125 +1.6262499 +1.5075 +1.33625 +1.15375 +0.97999996 +0.81625 +0.66499996 +0.53499997 +0.4475 +0.42249998 +0.465 +0.56 +0.66499996 +0.7375001 +0.74750006 +0.6975 +0.64375 +0.6025 +0.60375 +0.65374994 +0.735 +0.81625 +0.87125003 +0.87874997 +0.83625 +0.78 +0.7 +0.61375004 +0.52875006 +0.46 +0.425 +0.43499997 +0.50374997 +0.64 +0.84 +1.0875 +1.3712499 +1.64625 +1.85375 +1.97 +2.0049999 +1.97 +1.9124999 +1.8499999 +1.79125 +1.7300001 +1.66625 +1.60875 +1.575 +1.5975001 +1.6274999 +1.64625 +1.6437501 +1.58 +1.4675 +1.3412501 +1.28125 +1.2874999 +1.335 +1.39 +1.40875 +1.3699999 +1.275 +1.1524999 +1.04625 +0.99625003 +1.0212499 +1.1325 +1.315 +1.485 +1.59125 +1.6025 +1.53875 +1.40375 +1.2175 +1.05625 +0.91749996 +0.7937499 +0.67875 +0.58125 +0.52 +0.51625 +0.575 +0.65875 +0.74 +0.77250004 +0.74000007 +0.67625004 +0.62375 +0.6025 +0.62874997 +0.69874996 +0.78375 +0.85249996 +0.88875 +0.88500005 +0.84375 +0.78 +0.7 +0.61375004 +0.52875006 +0.46 +0.425 +0.43499997 +0.50374997 +0.64 +0.84 +1.0875 +1.3712499 +1.64625 +1.85375 +1.97 +2.0049999 +1.97 +1.9124999 +1.8499999 +1.79125 +1.7300001 +1.66625 +1.60875 +1.575 +1.5975001 +1.6274999 +1.64625 +1.6437501 +1.58 +1.4675 +1.3412501 +1.28125 +1.2874999 +1.335 +1.39 +1.40875 +1.3699999 +1.275 +1.1524999 +1.04625 +0.99625003 +1.0212499 +1.1325 +1.315 +1.485 +1.59125 +1.6025 +1.53875 +1.40375 +1.2175 +1.05625 +0.91749996 +0.7937499 +0.67875 +0.58125 +0.52 +0.51625 +0.575 +0.65875 +0.74 +0.77250004 +0.74000007 +0.67625004 +0.62375 +0.6025 +0.62874997 +0.69874996 +0.78375 +0.85249996 +0.88875 +0.88500005 +0.84375 +0.75 +0.6875 +0.61125004 +0.52375 +0.44 +0.38 +0.36375 +0.4 +0.49749997 +0.65000004 +0.84875 +1.0862501 +1.34125 +1.5725001 +1.75625 +1.87375 +1.9187499 +1.905 +1.8787501 +1.845 +1.79125 +1.72375 +1.6612501 +1.6687499 +1.69875 +1.73875 +1.7625 +1.74375 +1.6925001 +1.5849999 +1.48375 +1.4187499 +1.405 +1.425 +1.4475001 +1.4375 +1.375 +1.26375 +1.1374999 +1.03875 +0.99999994 +1.0375 +1.14625 +1.30125 +1.4587499 +1.54 +1.5574999 +1.4849999 +1.33875 +1.155 +0.9675 +0.84875 +0.75124997 +0.6625 +0.58625 +0.55125004 +0.58000004 +0.635 +0.6925 +0.72375 +0.71250004 +0.65625 +0.58500004 +0.5425 +0.5525 +0.6125 +0.7049999 +0.7937499 +0.84749997 +0.86 +0.8375 +0.7975 +0.75 +0.6875 +0.61125004 +0.52375 +0.44 +0.38 +0.36375 +0.4 +0.49749997 +0.65000004 +0.84875 +1.0862501 +1.34125 +1.5725001 +1.75625 +1.87375 +1.9187499 +1.905 +1.8787501 +1.845 +1.79125 +1.72375 +1.6612501 +1.6687499 +1.69875 +1.73875 +1.7625 +1.74375 +1.6925001 +1.5849999 +1.48375 +1.4187499 +1.405 +1.425 +1.4475001 +1.4375 +1.375 +1.26375 +1.1374999 +1.03875 +0.99999994 +1.0375 +1.14625 +1.30125 +1.4587499 +1.54 +1.5574999 +1.4849999 +1.33875 +1.155 +0.9675 +0.84875 +0.75124997 +0.6625 +0.58625 +0.55125004 +0.58000004 +0.635 +0.6925 +0.72375 +0.71250004 +0.65625 +0.58500004 +0.5425 +0.5525 +0.6125 +0.7049999 +0.7937499 +0.84749997 +0.86 +0.8375 +0.7975 +0.65375 +0.60125 +0.52875 +0.4375 +0.34375 +0.27375 +0.24875002 +0.26500002 +0.33249998 +0.44375 +0.595 +0.78499997 +1.01125 +1.25125 +1.47875 +1.665 +1.785 +1.83625 +1.8275 +1.7824999 +1.73 +1.6725 +1.6475 +1.65625 +1.69625 +1.74875 +1.7849998 +1.77625 +1.72125 +1.6312499 +1.53625 +1.46625 +1.4312501 +1.41875 +1.40375 +1.3587499 +1.27125 +1.1575 +1.045 +0.97375 +0.96625006 +1.03 +1.1525 +1.30125 +1.43875 +1.5224999 +1.53 +1.45 +1.30375 +1.12625 +0.94625 +0.7925 +0.68375003 +0.59875 +0.55375 +0.54999995 +0.5775 +0.62 +0.6525 +0.65 +0.6 +0.52125 +0.4525 +0.43374997 +0.48375 +0.585 +0.69875 +0.78124994 +0.81 +0.79125 +0.74625 +0.69875 +0.65375 +0.60125 +0.52875 +0.4375 +0.34375 +0.27375 +0.24875002 +0.26500002 +0.33249998 +0.44375 +0.595 +0.78499997 +1.01125 +1.25125 +1.47875 +1.665 +1.785 +1.83625 +1.8275 +1.7824999 +1.73 +1.6725 +1.6475 +1.65625 +1.69625 +1.74875 +1.7849998 +1.77625 +1.72125 +1.6312499 +1.53625 +1.46625 +1.4312501 +1.41875 +1.40375 +1.3587499 +1.27125 +1.1575 +1.045 +0.97375 +0.96625006 +1.03 +1.1525 +1.30125 +1.43875 +1.5224999 +1.53 +1.45 +1.30375 +1.12625 +0.94625 +0.7925 +0.68375003 +0.59875 +0.55375 +0.54999995 +0.5775 +0.62 +0.6525 +0.65 +0.6 +0.52125 +0.4525 +0.43374997 +0.48375 +0.585 +0.69875 +0.78124994 +0.81 +0.79125 +0.74625 +0.69875 +0.5125 +0.46249998 +0.38875 +0.30249998 +0.22250001 +0.17250001 +0.15625 +0.16500002 +0.20125002 +0.25500003 +0.36 +0.5025 +0.69000006 +0.92375 +1.18375 +1.4237498 +1.6125001 +1.7262499 +1.76375 +1.74375 +1.7 +1.66375 +1.6575 +1.68875 +1.7524999 +1.82 +1.86375 +1.8600001 +1.8050001 +1.71375 +1.6137501 +1.5287501 +1.4625001 +1.40625 +1.33875 +1.2462499 +1.13375 +1.01875 +0.92875004 +0.89 +0.91375 +0.99750006 +1.1212499 +1.2600001 +1.38125 +1.4525 +1.455 +1.3824999 +1.2524999 +1.085 +0.91375 +0.75874996 +0.63374996 +0.54625005 +0.50125 +0.4975 +0.5225 +0.55625004 +0.57 +0.53749996 +0.4625 +0.37374997 +0.31625 +0.33125 +0.42249998 +0.555 +0.68 +0.74625003 +0.74125 +0.685 +0.61375 +0.55750006 +0.5125 +0.46249998 +0.38875 +0.30249998 +0.22250001 +0.17250001 +0.15625 +0.16500002 +0.20125002 +0.25500003 +0.36 +0.5025 +0.69000006 +0.92375 +1.18375 +1.4237498 +1.6125001 +1.7262499 +1.76375 +1.74375 +1.7 +1.66375 +1.6575 +1.68875 +1.7524999 +1.82 +1.86375 +1.8600001 +1.8050001 +1.71375 +1.6137501 +1.5287501 +1.4625001 +1.40625 +1.33875 +1.2462499 +1.13375 +1.01875 +0.92875004 +0.89 +0.91375 +0.99750006 +1.1212499 +1.2600001 +1.38125 +1.4525 +1.455 +1.3824999 +1.2524999 +1.085 +0.91375 +0.75874996 +0.63374996 +0.54625005 +0.50125 +0.4975 +0.5225 +0.55625004 +0.57 +0.53749996 +0.4625 +0.37374997 +0.31625 +0.33125 +0.42249998 +0.555 +0.68 +0.74625003 +0.74125 +0.685 +0.61375 +0.55750006 +0.37875 +0.33999997 +0.28375 +0.2225 +0.175 +0.155 +0.1575 +0.16625 +0.16625 +0.16875 +0.1975 +0.27624997 +0.42624998 +0.6474999 +0.92 +1.2062501 +1.45375 +1.62875 +1.7237501 +1.755 +1.75875 +1.775 +1.8225 +1.905 +2.005 +2.08875 +2.1299999 +2.11375 +2.0425 +1.93375 +1.81375 +1.6949999 +1.58 +1.4587499 +1.3275 +1.18 +1.03875 +0.92249995 +0.85125 +0.83374995 +0.86875 +0.94375 +1.04 +1.14 +1.2249999 +1.27625 +1.28125 +1.23 +1.125 +0.98499995 +0.83124995 +0.6825 +0.55625 +0.4675 +0.42625 +0.42750004 +0.45999998 +0.49125 +0.49125 +0.44 +0.3475 +0.255 +0.21875 +0.25375 +0.36875004 +0.51625 +0.635 +0.67249995 +0.6325 +0.54499996 +0.455 +0.40375 +0.37875 +0.33999997 +0.28375 +0.2225 +0.175 +0.155 +0.1575 +0.16625 +0.16625 +0.16875 +0.1975 +0.27624997 +0.42624998 +0.6474999 +0.92 +1.2062501 +1.45375 +1.62875 +1.7237501 +1.755 +1.75875 +1.775 +1.8225 +1.905 +2.005 +2.08875 +2.1299999 +2.11375 +2.0425 +1.93375 +1.81375 +1.6949999 +1.58 +1.4587499 +1.3275 +1.18 +1.03875 +0.92249995 +0.85125 +0.83374995 +0.86875 +0.94375 +1.04 +1.14 +1.2249999 +1.27625 +1.28125 +1.23 +1.125 +0.98499995 +0.83124995 +0.6825 +0.55625 +0.4675 +0.42625 +0.42750004 +0.45999998 +0.49125 +0.49125 +0.44 +0.3475 +0.255 +0.21875 +0.25375 +0.36875004 +0.51625 +0.635 +0.67249995 +0.6325 +0.54499996 +0.455 +0.40375 +0.30875 +0.29125 +0.24875 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.16875 +0.1525 +0.16624999 +0.25625 +0.45624998 +0.73499995 +1.05 +1.3462499 +1.5812501 +1.7412502 +1.8425001 +1.9250001 +2.02875 +2.1625 +2.3175 +2.46 +2.555 +2.5800002 +2.5525 +2.4575 +2.3000002 +2.1174998 +1.95 +1.77375 +1.5812501 +1.3787501 +1.1825001 +1.015 +0.90000004 +0.8375 +0.825 +0.84375 +0.875 +0.90875 +0.96250004 +1.005 +1.0175 +1.00125 +0.97374994 +0.90749997 +0.80625 +0.6825 +0.5575 +0.45 +0.37999997 +0.35750002 +0.38125002 +0.4275 +0.46500003 +0.4575 +0.39249998 +0.29 +0.19874999 +0.175 +0.22250001 +0.3225 +0.45875004 +0.55125 +0.55625 +0.48375002 +0.37750003 +0.30625 +0.29874998 +0.30875 +0.29125 +0.24875 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.18375 +0.16875 +0.1525 +0.16624999 +0.25625 +0.45624998 +0.73499995 +1.05 +1.3462499 +1.5812501 +1.7412502 +1.8425001 +1.9250001 +2.02875 +2.1625 +2.3175 +2.46 +2.555 +2.5800002 +2.5525 +2.4575 +2.3000002 +2.1174998 +1.95 +1.77375 +1.5812501 +1.3787501 +1.1825001 +1.015 +0.90000004 +0.8375 +0.825 +0.84375 +0.875 +0.90875 +0.96250004 +1.005 +1.0175 +1.00125 +0.97374994 +0.90749997 +0.80625 +0.6825 +0.5575 +0.45 +0.37999997 +0.35750002 +0.38125002 +0.4275 +0.46500003 +0.4575 +0.39249998 +0.29 +0.19874999 +0.175 +0.22250001 +0.3225 +0.45875004 +0.55125 +0.55625 +0.48375002 +0.37750003 +0.30625 +0.29874998 +0.26 +0.24375 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.15625 +0.21500002 +0.3775 +0.65375 +0.98249996 +1.3062501 +1.5787499 +1.79 +1.97625 +2.1775 +2.3662498 +2.5625002 +2.77875 +2.9537501 +3.05625 +3.0875 +3.0212498 +2.87375 +2.67 +2.4375 +2.19125 +1.94375 +1.69 +1.43375 +1.2075 +1.03625 +0.92625004 +0.87375 +0.85499996 +0.83624995 +0.8125 +0.79375005 +0.77624995 +0.75999993 +0.74375004 +0.71875 +0.67625 +0.63875 +0.5775 +0.5 +0.43875 +0.37374997 +0.31 +0.3125 +0.37125 +0.44250003 +0.4875 +0.47875002 +0.40250003 +0.285 +0.19624999 +0.17999999 +0.22500001 +0.2975 +0.39124998 +0.44250003 +0.41125005 +0.31375003 +0.22 +0.20875 +0.24375 +0.26 +0.24375 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.18875 +0.17875 +0.1575 +0.15625 +0.21500002 +0.3775 +0.65375 +0.98249996 +1.3062501 +1.5787499 +1.79 +1.97625 +2.1775 +2.3662498 +2.5625002 +2.77875 +2.9537501 +3.05625 +3.0875 +3.0212498 +2.87375 +2.67 +2.4375 +2.19125 +1.94375 +1.69 +1.43375 +1.2075 +1.03625 +0.92625004 +0.87375 +0.85499996 +0.83624995 +0.8125 +0.79375005 +0.77624995 +0.75999993 +0.74375004 +0.71875 +0.67625 +0.63875 +0.5775 +0.5 +0.43875 +0.37374997 +0.31 +0.3125 +0.37125 +0.44250003 +0.4875 +0.47875002 +0.40250003 +0.285 +0.19624999 +0.17999999 +0.22500001 +0.2975 +0.39124998 +0.44250003 +0.41125005 +0.31375003 +0.22 +0.20875 +0.24375 +0.20875 +0.19749999 +0.16125 +0.11125 +0.09 +0.09875 +0.13 +0.16375 +0.1825 +0.18 +0.17 +0.18750001 +0.25625 +0.4125 +0.67375004 +0.99499995 +1.3125 +1.58875 +1.8137499 +2.06 +2.3225002 +2.5774999 +2.8325 +3.06875 +3.2512498 +3.3462498 +3.32875 +3.20875 +3.0149999 +2.7799997 +2.52625 +2.26 +1.98375 +1.70375 +1.44 +1.22125 +1.0712501 +0.9875 +0.94625 +0.9125 +0.85499996 +0.76625 +0.66625 +0.57875 +0.51625 +0.48125002 +0.46250004 +0.44375 +0.41625 +0.38625002 +0.35625 +0.3275 +0.3 +0.27499998 +0.29874998 +0.39875 +0.49500003 +0.55 +0.53125 +0.43875003 +0.3125 +0.21499999 +0.19375001 +0.22625001 +0.28125 +0.33374998 +0.33999997 +0.27 +0.16125001 +0.121249996 +0.1525 +0.1925 +0.20875 +0.19749999 +0.16125 +0.11125 +0.09 +0.09875 +0.13 +0.16375 +0.1825 +0.18 +0.17 +0.18750001 +0.25625 +0.4125 +0.67375004 +0.99499995 +1.3125 +1.58875 +1.8137499 +2.06 +2.3225002 +2.5774999 +2.8325 +3.06875 +3.2512498 +3.3462498 +3.32875 +3.20875 +3.0149999 +2.7799997 +2.52625 +2.26 +1.98375 +1.70375 +1.44 +1.22125 +1.0712501 +0.9875 +0.94625 +0.9125 +0.85499996 +0.76625 +0.66625 +0.57875 +0.51625 +0.48125002 +0.46250004 +0.44375 +0.41625 +0.38625002 +0.35625 +0.3275 +0.3 +0.27499998 +0.29874998 +0.39875 +0.49500003 +0.55 +0.53125 +0.43875003 +0.3125 +0.21499999 +0.19375001 +0.22625001 +0.28125 +0.33374998 +0.33999997 +0.27 +0.16125001 +0.121249996 +0.1525 +0.1925 +0.17625 +0.18875 +0.15375 +0.08625 +0.04875 +0.0625 +0.1 +0.14125 +0.16875 +0.1875 +0.20875001 +0.25125 +0.34124997 +0.50999993 +0.7625 +1.0550001 +1.33125 +1.5587499 +1.7425001 +1.9549999 +2.2125 +2.4737499 +2.7325 +2.9624999 +3.1187499 +3.165 +3.09625 +2.9362502 +2.72375 +2.4925 +2.2575 +2.01625 +1.7662499 +1.5062499 +1.26875 +1.085 +0.98125 +0.9425 +0.93249995 +0.90125 +0.82124996 +0.68874997 +0.54 +0.41250002 +0.33499998 +0.30124998 +0.295 +0.2925 +0.28375 +0.25875 +0.23625001 +0.22625001 +0.22874999 +0.23999998 +0.3175 +0.45374998 +0.57125 +0.6225 +0.58750004 +0.47875002 +0.34125 +0.24000002 +0.21000002 +0.2375 +0.28375 +0.30624998 +0.2675 +0.16625002 +0.07125 +0.06875 +0.1125 +0.15375 +0.17625 +0.18875 +0.15375 +0.08625 +0.04875 +0.0625 +0.1 +0.14125 +0.16875 +0.1875 +0.20875001 +0.25125 +0.34124997 +0.50999993 +0.7625 +1.0550001 +1.33125 +1.5587499 +1.7425001 +1.9549999 +2.2125 +2.4737499 +2.7325 +2.9624999 +3.1187499 +3.165 +3.09625 +2.9362502 +2.72375 +2.4925 +2.2575 +2.01625 +1.7662499 +1.5062499 +1.26875 +1.085 +0.98125 +0.9425 +0.93249995 +0.90125 +0.82124996 +0.68874997 +0.54 +0.41250002 +0.33499998 +0.30124998 +0.295 +0.2925 +0.28375 +0.25875 +0.23625001 +0.22625001 +0.22874999 +0.23999998 +0.3175 +0.45374998 +0.57125 +0.6225 +0.58750004 +0.47875002 +0.34125 +0.24000002 +0.21000002 +0.2375 +0.28375 +0.30624998 +0.2675 +0.16625002 +0.07125 +0.06875 +0.1125 +0.15375 +0.17500001 +0.21000001 +0.185 +0.1075 +0.03625 +0.0325 +0.0725 +0.11875 +0.18125 +0.23875001 +0.2825 +0.33999997 +0.44875002 +0.63 +0.8662499 +1.11375 +1.315 +1.45125 +1.5412499 +1.63625 +1.8212501 +2.02875 +2.2625 +2.4762502 +2.5837502 +2.55625 +2.4150002 +2.24125 +2.0475001 +1.8675001 +1.735 +1.59125 +1.4074999 +1.18625 +0.96999997 +0.82625 +0.775 +0.78625 +0.83000004 +0.85375 +0.7975 +0.65875 +0.48125 +0.32125 +0.25125 +0.24125 +0.25624996 +0.30124998 +0.30874997 +0.26874998 +0.19625 +0.16 +0.17625001 +0.22125 +0.36749998 +0.5325 +0.65625 +0.69625 +0.63375 +0.50125 +0.35625 +0.25625 +0.22875 +0.26500002 +0.31125 +0.31 +0.2375 +0.115 +0.03125 +0.0425 +0.09 +0.13625 +0.17500001 +0.21000001 +0.185 +0.1075 +0.03625 +0.0325 +0.0725 +0.11875 +0.18125 +0.23875001 +0.2825 +0.33999997 +0.44875002 +0.63 +0.8662499 +1.11375 +1.315 +1.45125 +1.5412499 +1.63625 +1.8212501 +2.02875 +2.2625 +2.4762502 +2.5837502 +2.55625 +2.4150002 +2.24125 +2.0475001 +1.8675001 +1.735 +1.59125 +1.4074999 +1.18625 +0.96999997 +0.82625 +0.775 +0.78625 +0.83000004 +0.85375 +0.7975 +0.65875 +0.48125 +0.32125 +0.25125 +0.24125 +0.25624996 +0.30124998 +0.30874997 +0.26874998 +0.19625 +0.16 +0.17625001 +0.22125 +0.36749998 +0.5325 +0.65625 +0.69625 +0.63375 +0.50125 +0.35625 +0.25625 +0.22875 +0.26500002 +0.31125 +0.31 +0.2375 +0.115 +0.03125 +0.0425 +0.09 +0.13625 +0.19250001 +0.23750001 +0.2125 +0.13375 +0.065000005 +0.04625 +0.08500001 +0.16499999 +0.25625 +0.32500002 +0.375 +0.435 +0.54625 +0.7175 +0.92749995 +1.115 +1.22875 +1.2549999 +1.2225 +1.20125 +1.2525 +1.3962499 +1.58375 +1.7425001 +1.8025 +1.7325001 +1.57375 +1.3912499 +1.2525 +1.1825 +1.15125 +1.11 +1.015 +0.86125 +0.69625 +0.5775 +0.5525 +0.61125 +0.7100001 +0.77375 +0.755 +0.65 +0.50124997 +0.36999997 +0.30625 +0.32375002 +0.38625002 +0.44 +0.43625 +0.36625 +0.2575 +0.17375001 +0.16750002 +0.26375 +0.4375 +0.62375 +0.74749994 +0.76375 +0.6675 +0.50249994 +0.34749997 +0.2625 +0.25125 +0.30375 +0.35 +0.33124998 +0.23500001 +0.099999994 +0.018749999 +0.03 +0.0825 +0.13374999 +0.19250001 +0.23750001 +0.2125 +0.13375 +0.065000005 +0.04625 +0.08500001 +0.16499999 +0.25625 +0.32500002 +0.375 +0.435 +0.54625 +0.7175 +0.92749995 +1.115 +1.22875 +1.2549999 +1.2225 +1.20125 +1.2525 +1.3962499 +1.58375 +1.7425001 +1.8025 +1.7325001 +1.57375 +1.3912499 +1.2525 +1.1825 +1.15125 +1.11 +1.015 +0.86125 +0.69625 +0.5775 +0.5525 +0.61125 +0.7100001 +0.77375 +0.755 +0.65 +0.50124997 +0.36999997 +0.30625 +0.32375002 +0.38625002 +0.44 +0.43625 +0.36625 +0.2575 +0.17375001 +0.16750002 +0.26375 +0.4375 +0.62375 +0.74749994 +0.76375 +0.6675 +0.50249994 +0.34749997 +0.2625 +0.25125 +0.30375 +0.35 +0.33124998 +0.23500001 +0.099999994 +0.018749999 +0.03 +0.0825 +0.13374999 +0.22125001 +0.26875 +0.24249999 +0.1725 +0.12125 +0.1225 +0.19125001 +0.29250002 +0.38125002 +0.43375003 +0.45625 +0.49500003 +0.58624995 +0.73749995 +0.90874994 +1.0375 +1.0662501 +0.985 +0.84125 +0.715 +0.67625 +0.74875003 +0.88374996 +1.00125 +1.02625 +0.93625 +0.78 +0.62875 +0.55375 +0.57625 +0.6575 +0.72749996 +0.72249997 +0.63125 +0.49875 +0.39749998 +0.37625 +0.44750002 +0.57 +0.6725 +0.70124996 +0.64125 +0.52875 +0.42999998 +0.39500004 +0.4375 +0.52125 +0.58375 +0.57625 +0.47875 +0.33625004 +0.22125 +0.2 +0.305 +0.49875 +0.70375 +0.83125 +0.82375 +0.68625003 +0.48999995 +0.33999997 +0.25625 +0.255 +0.31874996 +0.3675 +0.34249997 +0.22874998 +0.088750005 +0.01875 +0.02625 +0.08125 +0.145 +0.22125001 +0.26875 +0.24249999 +0.1725 +0.12125 +0.1225 +0.19125001 +0.29250002 +0.38125002 +0.43375003 +0.45625 +0.49500003 +0.58624995 +0.73749995 +0.90874994 +1.0375 +1.0662501 +0.985 +0.84125 +0.715 +0.67625 +0.74875003 +0.88374996 +1.00125 +1.02625 +0.93625 +0.78 +0.62875 +0.55375 +0.57625 +0.6575 +0.72749996 +0.72249997 +0.63125 +0.49875 +0.39749998 +0.37625 +0.44750002 +0.57 +0.6725 +0.70124996 +0.64125 +0.52875 +0.42999998 +0.39500004 +0.4375 +0.52125 +0.58375 +0.57625 +0.47875 +0.33625004 +0.22125 +0.2 +0.305 +0.49875 +0.70375 +0.83125 +0.82375 +0.68625003 +0.48999995 +0.33999997 +0.25625 +0.255 +0.31874996 +0.3675 +0.34249997 +0.22874998 +0.088750005 +0.01875 +0.02625 +0.08125 +0.145 +0.27875 +0.3175 +0.28375 +0.22 +0.18375 +0.2175 +0.31125 +0.4225 +0.5 +0.5225 +0.50875 +0.51000005 +0.5675 +0.68375003 +0.81874996 +0.895 +0.85625005 +0.7 +0.48125 +0.29000002 +0.21125 +0.24124998 +0.35124996 +0.45500004 +0.475 +0.385 +0.23875 +0.14750001 +0.1275 +0.1975 +0.36 +0.5175 +0.58500004 +0.5375 +0.415 +0.29625002 +0.25125 +0.30874997 +0.43625003 +0.5675 +0.63875 +0.62125 +0.54 +0.45749998 +0.43124998 +0.48125 +0.57500005 +0.6500001 +0.64625 +0.54 +0.3775 +0.2375 +0.205 +0.3125 +0.5275 +0.75249994 +0.88374996 +0.86 +0.6925 +0.47249997 +0.325 +0.24249999 +0.24000001 +0.305 +0.35875 +0.32375 +0.20125 +0.068749994 +0.0175 +0.03 +0.08625 +0.17875 +0.27875 +0.3175 +0.28375 +0.22 +0.18375 +0.2175 +0.31125 +0.4225 +0.5 +0.5225 +0.50875 +0.51000005 +0.5675 +0.68375003 +0.81874996 +0.895 +0.85625005 +0.7 +0.48125 +0.29000002 +0.21125 +0.24124998 +0.35124996 +0.45500004 +0.475 +0.385 +0.23875 +0.14750001 +0.1275 +0.1975 +0.36 +0.5175 +0.58500004 +0.5375 +0.415 +0.29625002 +0.25125 +0.30874997 +0.43625003 +0.5675 +0.63875 +0.62125 +0.54 +0.45749998 +0.43124998 +0.48125 +0.57500005 +0.6500001 +0.64625 +0.54 +0.3775 +0.2375 +0.205 +0.3125 +0.5275 +0.75249994 +0.88374996 +0.86 +0.6925 +0.47249997 +0.325 +0.24249999 +0.24000001 +0.305 +0.35875 +0.32375 +0.20125 +0.068749994 +0.0175 +0.03 +0.08625 +0.17875 +0.36625004 +0.3925 +0.3425 +0.27125 +0.24124998 +0.29125 +0.40125 +0.52 +0.58875 +0.58625 +0.5375 +0.50249994 +0.5225 +0.60249996 +0.6962501 +0.735 +0.65875 +0.4675 +0.22375001 +0.041249998 +0.00375 +0.0125 +0.09375 +0.20374998 +0.22749999 +0.1425 +0.021249998 +0.0 +0.0 +0.05625 +0.25125 +0.45999998 +0.56875 +0.53875 +0.41000003 +0.27249998 +0.19874999 +0.21625 +0.33 +0.48375002 +0.59 +0.605 +0.53749996 +0.44625002 +0.42124996 +0.45749998 +0.5275 +0.61375004 +0.62375003 +0.52625 +0.35750002 +0.2275 +0.19875 +0.27375 +0.50124997 +0.74249995 +0.88374996 +0.85625005 +0.67375004 +0.44499993 +0.295 +0.2225 +0.21374999 +0.27749997 +0.33375 +0.295 +0.17500001 +0.06 +0.0225 +0.0425 +0.120000005 +0.255 +0.36625004 +0.3925 +0.3425 +0.27125 +0.24124998 +0.29125 +0.40125 +0.52 +0.58875 +0.58625 +0.5375 +0.50249994 +0.5225 +0.60249996 +0.6962501 +0.735 +0.65875 +0.4675 +0.22375001 +0.041249998 +0.00375 +0.0125 +0.09375 +0.20374998 +0.22749999 +0.1425 +0.021249998 +0.0 +0.0 +0.05625 +0.25125 +0.45999998 +0.56875 +0.53875 +0.41000003 +0.27249998 +0.19874999 +0.21625 +0.33 +0.48375002 +0.59 +0.605 +0.53749996 +0.44625002 +0.42124996 +0.45749998 +0.5275 +0.61375004 +0.62375003 +0.52625 +0.35750002 +0.2275 +0.19875 +0.27375 +0.50124997 +0.74249995 +0.88374996 +0.85625005 +0.67375004 +0.44499993 +0.295 +0.2225 +0.21374999 +0.27749997 +0.33375 +0.295 +0.17500001 +0.06 +0.0225 +0.0425 +0.120000005 +0.255 +0.4925 +0.49500003 +0.4175 +0.32 +0.2775 +0.32625 +0.43874997 +0.56125 +0.63124996 +0.62125 +0.55875 +0.49875 +0.48749995 +0.53625 +0.6025 +0.61875004 +0.53375 +0.34750003 +0.13374999 +0.0175 +0.01 +0.04 +0.11875 +0.21124999 +0.23874998 +0.1775 +0.08625 +0.028749999 +0.01875 +0.1 +0.28125 +0.47375 +0.5875 +0.57124996 +0.45125 +0.29749998 +0.19375001 +0.19625 +0.3025 +0.45375 +0.58 +0.62 +0.58 +0.5 +0.44125003 +0.44125 +0.49374998 +0.54875004 +0.55375 +0.475 +0.33875 +0.21625 +0.1725 +0.23250002 +0.4275 +0.68125 +0.83500004 +0.8175001 +0.64125 +0.4125 +0.2525 +0.19625 +0.19749999 +0.27625 +0.33375 +0.29625 +0.18375 +0.083749995 +0.0525 +0.09375 +0.2225 +0.38625002 +0.4925 +0.49500003 +0.4175 +0.32 +0.2775 +0.32625 +0.43874997 +0.56125 +0.63124996 +0.62125 +0.55875 +0.49875 +0.48749995 +0.53625 +0.6025 +0.61875004 +0.53375 +0.34750003 +0.13374999 +0.0175 +0.01 +0.04 +0.11875 +0.21124999 +0.23874998 +0.1775 +0.08625 +0.028749999 +0.01875 +0.1 +0.28125 +0.47375 +0.5875 +0.57124996 +0.45125 +0.29749998 +0.19375001 +0.19625 +0.3025 +0.45375 +0.58 +0.62 +0.58 +0.5 +0.44125003 +0.44125 +0.49374998 +0.54875004 +0.55375 +0.475 +0.33875 +0.21625 +0.1725 +0.23250002 +0.4275 +0.68125 +0.83500004 +0.8175001 +0.64125 +0.4125 +0.2525 +0.19625 +0.19749999 +0.27625 +0.33375 +0.29625 +0.18375 +0.083749995 +0.0525 +0.09375 +0.2225 +0.38625002 +0.65 +0.61625 +0.495 +0.35875002 +0.28375 +0.30875003 +0.41375 +0.53874993 +0.6175 +0.62 +0.56874996 +0.51 +0.49125 +0.52375 +0.57624996 +0.58624995 +0.51125 +0.35999995 +0.17999999 +0.0925 +0.105 +0.18375 +0.295 +0.38624996 +0.40625 +0.3425 +0.22749999 +0.1275 +0.10625 +0.18875 +0.3475 +0.50875 +0.6 +0.57375 +0.44625 +0.28375 +0.17375001 +0.17750001 +0.29749998 +0.48 +0.6375 +0.7049999 +0.6675 +0.565 +0.46750003 +0.43124998 +0.45874998 +0.51125 +0.52750003 +0.465 +0.33625 +0.20375 +0.13624999 +0.17875 +0.3525 +0.60375005 +0.76750004 +0.77125 +0.62125003 +0.40375 +0.24374999 +0.1925 +0.2375 +0.33499998 +0.4 +0.3725 +0.27 +0.17125 +0.1525 +0.23375 +0.39375 +0.56125 +0.65 +0.61625 +0.495 +0.35875002 +0.28375 +0.30875003 +0.41375 +0.53874993 +0.6175 +0.62 +0.56874996 +0.51 +0.49125 +0.52375 +0.57624996 +0.58624995 +0.51125 +0.35999995 +0.17999999 +0.0925 +0.105 +0.18375 +0.295 +0.38624996 +0.40625 +0.3425 +0.22749999 +0.1275 +0.10625 +0.18875 +0.3475 +0.50875 +0.6 +0.57375 +0.44625 +0.28375 +0.17375001 +0.17750001 +0.29749998 +0.48 +0.6375 +0.7049999 +0.6675 +0.565 +0.46750003 +0.43124998 +0.45874998 +0.51125 +0.52750003 +0.465 +0.33625 +0.20375 +0.13624999 +0.17875 +0.3525 +0.60375005 +0.76750004 +0.77125 +0.62125003 +0.40375 +0.24374999 +0.1925 +0.2375 +0.33499998 +0.4 +0.3725 +0.27 +0.17125 +0.1525 +0.23375 +0.39375 +0.56125 +0.80625 +0.7325 +0.56624997 +0.38125 +0.26375002 +0.2525 +0.33874997 +0.45750004 +0.55125 +0.5825 +0.55875 +0.52625 +0.52000004 +0.55375 +0.60125005 +0.62 +0.5725 +0.465 +0.3425 +0.27499998 +0.31125 +0.39375 +0.48875 +0.56875 +0.56624997 +0.47625002 +0.36 +0.25375 +0.20875001 +0.24999999 +0.3575 +0.46875 +0.5325 +0.49874997 +0.3725 +0.21874999 +0.12625 +0.1475 +0.2925 +0.50124997 +0.6775 +0.76125 +0.73625 +0.62875 +0.51 +0.4475 +0.45749998 +0.5075 +0.55125 +0.505 +0.37 +0.23125 +0.14874999 +0.16875 +0.34000003 +0.5725 +0.73999995 +0.765 +0.6475 +0.47 +0.32875 +0.295 +0.36875 +0.48000002 +0.54999995 +0.53125 +0.44625 +0.36125004 +0.35125 +0.44375 +0.60499996 +0.75125 +0.80625 +0.7325 +0.56624997 +0.38125 +0.26375002 +0.2525 +0.33874997 +0.45750004 +0.55125 +0.5825 +0.55875 +0.52625 +0.52000004 +0.55375 +0.60125005 +0.62 +0.5725 +0.465 +0.3425 +0.27499998 +0.31125 +0.39375 +0.48875 +0.56875 +0.56624997 +0.47625002 +0.36 +0.25375 +0.20875001 +0.24999999 +0.3575 +0.46875 +0.5325 +0.49874997 +0.3725 +0.21874999 +0.12625 +0.1475 +0.2925 +0.50124997 +0.6775 +0.76125 +0.73625 +0.62875 +0.51 +0.4475 +0.45749998 +0.5075 +0.55125 +0.505 +0.37 +0.23125 +0.14874999 +0.16875 +0.34000003 +0.5725 +0.73999995 +0.765 +0.6475 +0.47 +0.32875 +0.295 +0.36875 +0.48000002 +0.54999995 +0.53125 +0.44625 +0.36125004 +0.35125 +0.44375 +0.60499996 +0.75125 +0.92375004 +0.81499994 +0.60749996 +0.38625002 +0.23 +0.19250001 +0.24625002 +0.34625 +0.445 +0.50125 +0.51375 +0.51 +0.52625 +0.5675 +0.61875 +0.65125006 +0.6375 +0.58 +0.5125 +0.47750002 +0.49750006 +0.57 +0.655 +0.70250005 +0.67625 +0.575 +0.435 +0.33124998 +0.28 +0.28500003 +0.34125 +0.42624998 +0.465 +0.42625 +0.32125 +0.2 +0.13374999 +0.1775 +0.32750002 +0.53625 +0.71875 +0.79999995 +0.7625 +0.66625 +0.5575 +0.49625003 +0.52 +0.61375 +0.67625 +0.65 +0.525 +0.36875 +0.27 +0.29875 +0.45 +0.6525 +0.80875 +0.8425 +0.75625 +0.6125 +0.50625 +0.49374998 +0.57375 +0.68750006 +0.7575 +0.745 +0.6675 +0.59000003 +0.58124995 +0.66125 +0.79625005 +0.90625 +0.92375004 +0.81499994 +0.60749996 +0.38625002 +0.23 +0.19250001 +0.24625002 +0.34625 +0.445 +0.50125 +0.51375 +0.51 +0.52625 +0.5675 +0.61875 +0.65125006 +0.6375 +0.58 +0.5125 +0.47750002 +0.49750006 +0.57 +0.655 +0.70250005 +0.67625 +0.575 +0.435 +0.33124998 +0.28 +0.28500003 +0.34125 +0.42624998 +0.465 +0.42625 +0.32125 +0.2 +0.13374999 +0.1775 +0.32750002 +0.53625 +0.71875 +0.79999995 +0.7625 +0.66625 +0.5575 +0.49625003 +0.52 +0.61375 +0.67625 +0.65 +0.525 +0.36875 +0.27 +0.29875 +0.45 +0.6525 +0.80875 +0.8425 +0.75625 +0.6125 +0.50625 +0.49374998 +0.57375 +0.68750006 +0.7575 +0.745 +0.6675 +0.59000003 +0.58124995 +0.66125 +0.79625005 +0.90625 +0.9625 +0.83250004 +0.61375004 +0.37750003 +0.20875 +0.1575 +0.1725 +0.24125001 +0.32375 +0.3875 +0.42125002 +0.43749997 +0.46374997 +0.5125 +0.5675 +0.6087499 +0.6225 +0.60875 +0.59125 +0.5875 +0.6125 +0.655 +0.69500005 +0.705 +0.66749996 +0.58875 +0.49125004 +0.40125 +0.34875 +0.34000003 +0.36624998 +0.39374998 +0.39375 +0.3475 +0.2625 +0.185 +0.15499999 +0.19125 +0.3225 +0.51 +0.6825 +0.7749999 +0.76875 +0.69500005 +0.62125 +0.60625005 +0.67375 +0.78375 +0.86749995 +0.87125003 +0.7825 +0.65625006 +0.57 +0.585 +0.70375 +0.8675 +0.995 +1.02125 +0.945 +0.8225 +0.73375005 +0.73 +0.80499995 +0.905 +0.96500003 +0.94625 +0.86749995 +0.78249997 +0.75374997 +0.805 +0.90250003 +0.9775001 +0.9625 +0.83250004 +0.61375004 +0.37750003 +0.20875 +0.1575 +0.1725 +0.24125001 +0.32375 +0.3875 +0.42125002 +0.43749997 +0.46374997 +0.5125 +0.5675 +0.6087499 +0.6225 +0.60875 +0.59125 +0.5875 +0.6125 +0.655 +0.69500005 +0.705 +0.66749996 +0.58875 +0.49125004 +0.40125 +0.34875 +0.34000003 +0.36624998 +0.39374998 +0.39375 +0.3475 +0.2625 +0.185 +0.15499999 +0.19125 +0.3225 +0.51 +0.6825 +0.7749999 +0.76875 +0.69500005 +0.62125 +0.60625005 +0.67375 +0.78375 +0.86749995 +0.87125003 +0.7825 +0.65625006 +0.57 +0.585 +0.70375 +0.8675 +0.995 +1.02125 +0.945 +0.8225 +0.73375005 +0.73 +0.80499995 +0.905 +0.96500003 +0.94625 +0.86749995 +0.78249997 +0.75374997 +0.805 +0.90250003 +0.9775001 +0.91375 +0.78749996 +0.58125 +0.36 +0.19874999 +0.1375 +0.13499999 +0.165 +0.21875 +0.26500002 +0.2925 +0.30875 +0.33125 +0.3675 +0.41375002 +0.45499998 +0.48375005 +0.50124997 +0.51874995 +0.5375 +0.55625004 +0.57125 +0.57500005 +0.56125003 +0.53125 +0.49 +0.45 +0.41375 +0.38500002 +0.36499998 +0.3525 +0.335 +0.3025 +0.2575 +0.21000001 +0.17625001 +0.165 +0.18125 +0.26125002 +0.4075 +0.56 +0.6675 +0.705 +0.7025 +0.7 +0.74375004 +0.85375 +0.9975 +1.11875 +1.1650001 +1.13 +1.0500001 +0.99125004 +1.00125 +1.0862501 +1.2012501 +1.28125 +1.2724999 +1.1774999 +1.05 +0.9575 +0.94124997 +0.99750006 +1.0725 +1.11 +1.07625 +0.98249996 +0.8787501 +0.82 +0.83624995 +0.8937501 +0.94125 +0.91375 +0.78749996 +0.58125 +0.36 +0.19874999 +0.1375 +0.13499999 +0.165 +0.21875 +0.26500002 +0.2925 +0.30875 +0.33125 +0.3675 +0.41375002 +0.45499998 +0.48375005 +0.50124997 +0.51874995 +0.5375 +0.55625004 +0.57125 +0.57500005 +0.56125003 +0.53125 +0.49 +0.45 +0.41375 +0.38500002 +0.36499998 +0.3525 +0.335 +0.3025 +0.2575 +0.21000001 +0.17625001 +0.165 +0.18125 +0.26125002 +0.4075 +0.56 +0.6675 +0.705 +0.7025 +0.7 +0.74375004 +0.85375 +0.9975 +1.11875 +1.1650001 +1.13 +1.0500001 +0.99125004 +1.00125 +1.0862501 +1.2012501 +1.28125 +1.2724999 +1.1774999 +1.05 +0.9575 +0.94124997 +0.99750006 +1.0725 +1.11 +1.07625 +0.98249996 +0.8787501 +0.82 +0.83624995 +0.8937501 +0.94125 +0.79625 +0.69375 +0.52625 +0.3425 +0.19999999 +0.12625 +0.1125 +0.1275 +0.15375 +0.17124999 +0.1775 +0.17375 +0.175 +0.18374999 +0.20125 +0.23000002 +0.26375002 +0.29125 +0.3225 +0.35125 +0.365 +0.35000002 +0.32875 +0.30625 +0.29875 +0.30125 +0.31625 +0.32500002 +0.32125002 +0.2975 +0.25875 +0.21499999 +0.19375 +0.17999999 +0.16624999 +0.155 +0.1525 +0.155 +0.1825 +0.27499998 +0.41375 +0.5450001 +0.64750004 +0.72625 +0.81125 +0.9325 +1.1 +1.2900001 +1.455 +1.55625 +1.57875 +1.5475 +1.52 +1.5137501 +1.55125 +1.60125 +1.6099999 +1.54125 +1.4025002 +1.245 +1.1262499 +1.07875 +1.105 +1.1512499 +1.1637499 +1.1075001 +0.995 +0.86749995 +0.78125 +0.76125 +0.78999996 +0.82 +0.79625 +0.69375 +0.52625 +0.3425 +0.19999999 +0.12625 +0.1125 +0.1275 +0.15375 +0.17124999 +0.1775 +0.17375 +0.175 +0.18374999 +0.20125 +0.23000002 +0.26375002 +0.29125 +0.3225 +0.35125 +0.365 +0.35000002 +0.32875 +0.30625 +0.29875 +0.30125 +0.31625 +0.32500002 +0.32125002 +0.2975 +0.25875 +0.21499999 +0.19375 +0.17999999 +0.16624999 +0.155 +0.1525 +0.155 +0.1825 +0.27499998 +0.41375 +0.5450001 +0.64750004 +0.72625 +0.81125 +0.9325 +1.1 +1.2900001 +1.455 +1.55625 +1.57875 +1.5475 +1.52 +1.5137501 +1.55125 +1.60125 +1.6099999 +1.54125 +1.4025002 +1.245 +1.1262499 +1.07875 +1.105 +1.1512499 +1.1637499 +1.1075001 +0.995 +0.86749995 +0.78125 +0.76125 +0.78999996 +0.82 +0.6675 +0.59749997 +0.4775 +0.34125 +0.22749999 +0.1575 +0.13625 +0.14000002 +0.14875 +0.14874999 +0.13125 +0.103750005 +0.0775 +0.05 +0.045 +0.05875 +0.07375 +0.096250005 +0.14375 +0.19000001 +0.19125 +0.13749999 +0.07625 +0.07875 +0.09 +0.105 +0.13875 +0.16749999 +0.18625 +0.14125 +0.10124999 +0.09375 +0.10625 +0.11875 +0.12375 +0.12125 +0.12 +0.12125 +0.13125 +0.19624999 +0.34500003 +0.52625 +0.70375 +0.87625 +1.06 +1.24375 +1.47125 +1.7087501 +1.9212499 +2.07125 +2.13625 +2.17375 +2.1575 +2.1100001 +2.0525 +1.9912499 +1.9137499 +1.76875 +1.5749999 +1.3712499 +1.21 +1.12625 +1.11625 +1.13625 +1.13125 +1.06125 +0.93625 +0.79249996 +0.68625 +0.64375 +0.65375006 +0.67875 +0.6675 +0.59749997 +0.4775 +0.34125 +0.22749999 +0.1575 +0.13625 +0.14000002 +0.14875 +0.14874999 +0.13125 +0.103750005 +0.0775 +0.05 +0.045 +0.05875 +0.07375 +0.096250005 +0.14375 +0.19000001 +0.19125 +0.13749999 +0.07625 +0.07875 +0.09 +0.105 +0.13875 +0.16749999 +0.18625 +0.14125 +0.10124999 +0.09375 +0.10625 +0.11875 +0.12375 +0.12125 +0.12 +0.12125 +0.13125 +0.19624999 +0.34500003 +0.52625 +0.70375 +0.87625 +1.06 +1.24375 +1.47125 +1.7087501 +1.9212499 +2.07125 +2.13625 +2.17375 +2.1575 +2.1100001 +2.0525 +1.9912499 +1.9137499 +1.76875 +1.5749999 +1.3712499 +1.21 +1.12625 +1.11625 +1.13625 +1.13125 +1.06125 +0.93625 +0.79249996 +0.68625 +0.64375 +0.65375006 +0.67875 +0.5875 +0.5475 +0.46625 +0.37 +0.2875 +0.2375 +0.21875 +0.2175 +0.2175 +0.21249999 +0.19125 +0.16375 +0.122499995 +0.07125 +0.02625 +0.0125 +0.01625 +0.04125 +0.089999996 +0.13 +0.114999995 +0.045 +0.0025 +0.0 +0.01875 +0.0125 +0.026250001 +0.065 +0.065 +0.033749998 +0.00625 +0.03 +0.06625 +0.0875 +0.09625 +0.105 +0.11 +0.12 +0.145 +0.25125 +0.45125 +0.695 +0.96250004 +1.2475 +1.50625 +1.7512501 +1.9950001 +2.2575 +2.505 +2.685 +2.80625 +2.8312502 +2.76875 +2.645 +2.49 +2.32 +2.1275 +1.915 +1.67 +1.4325 +1.2325 +1.1025 +1.0512501 +1.0525 +1.04 +0.97625 +0.85875 +0.7225 +0.61125004 +0.56 +0.56249994 +0.58625 +0.5875 +0.5475 +0.46625 +0.37 +0.2875 +0.2375 +0.21875 +0.2175 +0.2175 +0.21249999 +0.19125 +0.16375 +0.122499995 +0.07125 +0.02625 +0.0125 +0.01625 +0.04125 +0.089999996 +0.13 +0.114999995 +0.045 +0.0025 +0.0 +0.01875 +0.0125 +0.026250001 +0.065 +0.065 +0.033749998 +0.00625 +0.03 +0.06625 +0.0875 +0.09625 +0.105 +0.11 +0.12 +0.145 +0.25125 +0.45125 +0.695 +0.96250004 +1.2475 +1.50625 +1.7512501 +1.9950001 +2.2575 +2.505 +2.685 +2.80625 +2.8312502 +2.76875 +2.645 +2.49 +2.32 +2.1275 +1.915 +1.67 +1.4325 +1.2325 +1.1025 +1.0512501 +1.0525 +1.04 +0.97625 +0.85875 +0.7225 +0.61125004 +0.56 +0.56249994 +0.58625 +0.58625 +0.56625 +0.50875 +0.43499997 +0.37124997 +0.33125 +0.31625 +0.31875 +0.32999998 +0.34125 +0.3425 +0.33750004 +0.29375002 +0.215 +0.13125 +0.08500001 +0.085 +0.1325 +0.20374998 +0.2475 +0.2175 +0.12375 +0.04375 +0.01 +0.01 +0.02125 +0.042499997 +0.05625 +0.0275 +0.0025 +0.0 +0.02125 +0.05875 +0.095 +0.13375 +0.1625 +0.2025 +0.2375 +0.3175 +0.48624998 +0.74 +1.0487499 +1.3925 +1.7362499 +2.04 +2.31125 +2.5762498 +2.8412502 +3.0962503 +3.295 +3.3975 +3.3737497 +3.23125 +3.0062501 +2.74 +2.47125 +2.20875 +1.9424999 +1.6737499 +1.4112501 +1.185 +1.02625 +0.94250005 +0.93125004 +0.92875004 +0.8925 +0.8074999 +0.6975 +0.6025 +0.55375 +0.555 +0.57875 +0.58625 +0.56625 +0.50875 +0.43499997 +0.37124997 +0.33125 +0.31625 +0.31875 +0.32999998 +0.34125 +0.3425 +0.33750004 +0.29375002 +0.215 +0.13125 +0.08500001 +0.085 +0.1325 +0.20374998 +0.2475 +0.2175 +0.12375 +0.04375 +0.01 +0.01 +0.02125 +0.042499997 +0.05625 +0.0275 +0.0025 +0.0 +0.02125 +0.05875 +0.095 +0.13375 +0.1625 +0.2025 +0.2375 +0.3175 +0.48624998 +0.74 +1.0487499 +1.3925 +1.7362499 +2.04 +2.31125 +2.5762498 +2.8412502 +3.0962503 +3.295 +3.3975 +3.3737497 +3.23125 +3.0062501 +2.74 +2.47125 +2.20875 +1.9424999 +1.6737499 +1.4112501 +1.185 +1.02625 +0.94250005 +0.93125004 +0.92875004 +0.8925 +0.8074999 +0.6975 +0.6025 +0.55375 +0.555 +0.57875 +0.645 +0.62999994 +0.585 +0.52125 +0.45749998 +0.4125 +0.39 +0.395 +0.4275 +0.47375 +0.52000004 +0.55 +0.52 +0.43625 +0.33875 +0.28125 +0.28375 +0.36249998 +0.46625 +0.5275 +0.49875 +0.38875002 +0.24374999 +0.14625001 +0.13125 +0.15374999 +0.19249998 +0.1875 +0.120000005 +0.035 +0.00375 +0.04375 +0.105 +0.17999999 +0.29 +0.40375 +0.48625 +0.5525 +0.65625 +0.84124994 +1.1225 +1.4700001 +1.8312501 +2.18875 +2.4924998 +2.75 +2.995 +3.2525 +3.5062504 +3.6825 +3.7450001 +3.65875 +3.4250002 +3.09125 +2.7275 +2.38625 +2.09125 +1.83375 +1.5725 +1.31625 +1.085 +0.90749997 +0.805 +0.7875 +0.805 +0.81 +0.77624995 +0.71375 +0.65125 +0.61625004 +0.61749995 +0.6325 +0.645 +0.62999994 +0.585 +0.52125 +0.45749998 +0.4125 +0.39 +0.395 +0.4275 +0.47375 +0.52000004 +0.55 +0.52 +0.43625 +0.33875 +0.28125 +0.28375 +0.36249998 +0.46625 +0.5275 +0.49875 +0.38875002 +0.24374999 +0.14625001 +0.13125 +0.15374999 +0.19249998 +0.1875 +0.120000005 +0.035 +0.00375 +0.04375 +0.105 +0.17999999 +0.29 +0.40375 +0.48625 +0.5525 +0.65625 +0.84124994 +1.1225 +1.4700001 +1.8312501 +2.18875 +2.4924998 +2.75 +2.995 +3.2525 +3.5062504 +3.6825 +3.7450001 +3.65875 +3.4250002 +3.09125 +2.7275 +2.38625 +2.09125 +1.83375 +1.5725 +1.31625 +1.085 +0.90749997 +0.805 +0.7875 +0.805 +0.81 +0.77624995 +0.71375 +0.65125 +0.61625004 +0.61749995 +0.6325 +0.7075 +0.69375 +0.65250003 +0.5899999 +0.51625 +0.45125 +0.40625 +0.40125 +0.44750002 +0.535 +0.63375 +0.7025 +0.70124996 +0.63 +0.53499997 +0.47375 +0.4925 +0.60625 +0.76375 +0.8675 +0.86125 +0.7475 +0.60125005 +0.49374998 +0.45375 +0.46874997 +0.48499998 +0.445 +0.3275 +0.1975 +0.1225 +0.1325 +0.23 +0.41375002 +0.63125 +0.80375004 +0.89625 +0.9487501 +1.02875 +1.1912498 +1.4575001 +1.79625 +2.14625 +2.4500003 +2.69125 +2.8937502 +3.09375 +3.3225002 +3.55125 +3.715 +3.73875 +3.5862498 +3.275 +2.8575 +2.42625 +2.0575 +1.7874999 +1.5825 +1.385 +1.16625 +0.94124997 +0.7525 +0.6374999 +0.61375 +0.65 +0.70124996 +0.73249996 +0.73125 +0.70874995 +0.69125 +0.69 +0.69874996 +0.7075 +0.69375 +0.65250003 +0.5899999 +0.51625 +0.45125 +0.40625 +0.40125 +0.44750002 +0.535 +0.63375 +0.7025 +0.70124996 +0.63 +0.53499997 +0.47375 +0.4925 +0.60625 +0.76375 +0.8675 +0.86125 +0.7475 +0.60125005 +0.49374998 +0.45375 +0.46874997 +0.48499998 +0.445 +0.3275 +0.1975 +0.1225 +0.1325 +0.23 +0.41375002 +0.63125 +0.80375004 +0.89625 +0.9487501 +1.02875 +1.1912498 +1.4575001 +1.79625 +2.14625 +2.4500003 +2.69125 +2.8937502 +3.09375 +3.3225002 +3.55125 +3.715 +3.73875 +3.5862498 +3.275 +2.8575 +2.42625 +2.0575 +1.7874999 +1.5825 +1.385 +1.16625 +0.94124997 +0.7525 +0.6374999 +0.61375 +0.65 +0.70124996 +0.73249996 +0.73125 +0.70874995 +0.69125 +0.69 +0.69874996 +0.71875 +0.70875 +0.67625 +0.6125 +0.52375 +0.42249998 +0.3475 +0.315 +0.3575 +0.47750002 +0.62624997 +0.74125 +0.77000004 +0.70375 +0.59375 +0.525 +0.56624997 +0.73125 +0.95750004 +1.12375 +1.1587499 +1.07 +0.9212499 +0.79125 +0.7375 +0.75499994 +0.78125 +0.7525 +0.63750005 +0.47625002 +0.35500002 +0.35375 +0.5025 +0.75374997 +1.02375 +1.2175 +1.3025 +1.3125 +1.32875 +1.42 +1.6212499 +1.90375 +2.2 +2.4375 +2.595 +2.7037501 +2.8162498 +2.9787502 +3.17625 +3.3325 +3.355 +3.1749997 +2.8125 +2.35 +1.89125 +1.5324998 +1.31875 +1.20625 +1.10875 +0.96875 +0.775 +0.5775 +0.43875 +0.39625 +0.445 +0.54375 +0.63875 +0.69875 +0.72 +0.71750003 +0.7125 +0.71500003 +0.71875 +0.70875 +0.67625 +0.6125 +0.52375 +0.42249998 +0.3475 +0.315 +0.3575 +0.47750002 +0.62624997 +0.74125 +0.77000004 +0.70375 +0.59375 +0.525 +0.56624997 +0.73125 +0.95750004 +1.12375 +1.1587499 +1.07 +0.9212499 +0.79125 +0.7375 +0.75499994 +0.78125 +0.7525 +0.63750005 +0.47625002 +0.35500002 +0.35375 +0.5025 +0.75374997 +1.02375 +1.2175 +1.3025 +1.3125 +1.32875 +1.42 +1.6212499 +1.90375 +2.2 +2.4375 +2.595 +2.7037501 +2.8162498 +2.9787502 +3.17625 +3.3325 +3.355 +3.1749997 +2.8125 +2.35 +1.89125 +1.5324998 +1.31875 +1.20625 +1.10875 +0.96875 +0.775 +0.5775 +0.43875 +0.39625 +0.445 +0.54375 +0.63875 +0.69875 +0.72 +0.71750003 +0.7125 +0.71500003 +0.66 +0.65999997 +0.64125 +0.58125 +0.475 +0.36125 +0.2575 +0.1975 +0.20750001 +0.30874997 +0.495 +0.6475 +0.69374996 +0.62 +0.4875 +0.40125 +0.45250002 +0.67375004 +0.96625 +1.20375 +1.28875 +1.225 +1.07125 +0.92499995 +0.86375 +0.89125 +0.95375 +0.965 +0.88 +0.73375 +0.61625004 +0.6175 +0.77750003 +1.05625 +1.35125 +1.5574999 +1.62125 +1.57125 +1.49375 +1.48 +1.5825 +1.7800001 +1.9962499 +2.15375 +2.21875 +2.225 +2.24125 +2.33125 +2.4962502 +2.65375 +2.69875 +2.53375 +2.1725001 +1.7062501 +1.2525 +0.92625 +0.775 +0.76875 +0.78375006 +0.7325 +0.58125 +0.38 +0.23375002 +0.17375 +0.21875001 +0.33749998 +0.48749998 +0.6025 +0.66125 +0.67375004 +0.66499996 +0.65999997 +0.66 +0.65999997 +0.64125 +0.58125 +0.475 +0.36125 +0.2575 +0.1975 +0.20750001 +0.30874997 +0.495 +0.6475 +0.69374996 +0.62 +0.4875 +0.40125 +0.45250002 +0.67375004 +0.96625 +1.20375 +1.28875 +1.225 +1.07125 +0.92499995 +0.86375 +0.89125 +0.95375 +0.965 +0.88 +0.73375 +0.61625004 +0.6175 +0.77750003 +1.05625 +1.35125 +1.5574999 +1.62125 +1.57125 +1.49375 +1.48 +1.5825 +1.7800001 +1.9962499 +2.15375 +2.21875 +2.225 +2.24125 +2.33125 +2.4962502 +2.65375 +2.69875 +2.53375 +2.1725001 +1.7062501 +1.2525 +0.92625 +0.775 +0.76875 +0.78375006 +0.7325 +0.58125 +0.38 +0.23375002 +0.17375 +0.21875001 +0.33749998 +0.48749998 +0.6025 +0.66125 +0.67375004 +0.66499996 +0.65999997 +0.56624997 +0.5775 +0.57375 +0.52125 +0.41750002 +0.3 +0.19625 +0.135 +0.12625 +0.16375 +0.30249998 +0.4775 +0.53499997 +0.44875002 +0.31499997 +0.20625 +0.23500001 +0.47875 +0.82500005 +1.12625 +1.26625 +1.2187501 +1.07 +0.91125005 +0.84000003 +0.88375 +0.98375 +1.0487499 +1.0175 +0.90625 +0.80375004 +0.80875003 +0.97375 +1.26125 +1.57 +1.7800001 +1.8225 +1.71125 +1.5375 +1.4137499 +1.4075 +1.51625 +1.6575 +1.74625 +1.7375 +1.6600001 +1.595 +1.6199999 +1.75125 +1.91875 +1.99625 +1.87375 +1.5575 +1.1125 +0.67875004 +0.395 +0.29999998 +0.36875 +0.48500004 +0.50874996 +0.39625 +0.2275 +0.09 +0.06375 +0.09375 +0.17250001 +0.315 +0.47500002 +0.56375 +0.5875 +0.5775 +0.5625 +0.56624997 +0.5775 +0.57375 +0.52125 +0.41750002 +0.3 +0.19625 +0.135 +0.12625 +0.16375 +0.30249998 +0.4775 +0.53499997 +0.44875002 +0.31499997 +0.20625 +0.23500001 +0.47875 +0.82500005 +1.12625 +1.26625 +1.2187501 +1.07 +0.91125005 +0.84000003 +0.88375 +0.98375 +1.0487499 +1.0175 +0.90625 +0.80375004 +0.80875003 +0.97375 +1.26125 +1.57 +1.7800001 +1.8225 +1.71125 +1.5375 +1.4137499 +1.4075 +1.51625 +1.6575 +1.74625 +1.7375 +1.6600001 +1.595 +1.6199999 +1.75125 +1.91875 +1.99625 +1.87375 +1.5575 +1.1125 +0.67875004 +0.395 +0.29999998 +0.36875 +0.48500004 +0.50874996 +0.39625 +0.2275 +0.09 +0.06375 +0.09375 +0.17250001 +0.315 +0.47500002 +0.56375 +0.5875 +0.5775 +0.5625 +0.49999997 +0.52000004 +0.52374995 +0.47874996 +0.38624996 +0.27 +0.16375001 +0.11375 +0.08875 +0.10250001 +0.18125 +0.32625002 +0.39249998 +0.30875003 +0.185 +0.0875 +0.08625 +0.29874998 +0.6775 +1.03125 +1.22125 +1.20375 +1.06375 +0.8937501 +0.81374997 +0.8575 +0.98125005 +1.0912501 +1.1075001 +1.0350001 +0.95 +0.95125 +1.1049999 +1.3850001 +1.69 +1.895 +1.915 +1.7575 +1.51 +1.29625 +1.2037501 +1.24 +1.335 +1.3900001 +1.3475 +1.225 +1.105 +1.085 +1.19375 +1.365 +1.47875 +1.4075 +1.1437501 +0.73375 +0.3375 +0.10875 +0.046249997 +0.12375 +0.29125 +0.36625 +0.2925 +0.16749999 +0.0775 +0.0675 +0.08875 +0.13 +0.22 +0.36499998 +0.4775 +0.51375 +0.5075 +0.49874997 +0.49999997 +0.52000004 +0.52374995 +0.47874996 +0.38624996 +0.27 +0.16375001 +0.11375 +0.08875 +0.10250001 +0.18125 +0.32625002 +0.39249998 +0.30875003 +0.185 +0.0875 +0.08625 +0.29874998 +0.6775 +1.03125 +1.22125 +1.20375 +1.06375 +0.8937501 +0.81374997 +0.8575 +0.98125005 +1.0912501 +1.1075001 +1.0350001 +0.95 +0.95125 +1.1049999 +1.3850001 +1.69 +1.895 +1.915 +1.7575 +1.51 +1.29625 +1.2037501 +1.24 +1.335 +1.3900001 +1.3475 +1.225 +1.105 +1.085 +1.19375 +1.365 +1.47875 +1.4075 +1.1437501 +0.73375 +0.3375 +0.10875 +0.046249997 +0.12375 +0.29125 +0.36625 +0.2925 +0.16749999 +0.0775 +0.0675 +0.08875 +0.13 +0.22 +0.36499998 +0.4775 +0.51375 +0.5075 +0.49874997 +0.5775 +0.60125 +0.65875 +0.75 +0.86375 +0.99125 +1.125 +1.2724999 +1.4237499 +1.5687499 +1.67875 +1.72125 +1.68125 +1.5625 +1.38875 +1.19 +1.01 +0.84749997 +0.68874997 +0.53875 +0.41500002 +0.33875 +0.32750002 +0.32625002 +0.2975 +0.21125 +0.09875001 +0.068749994 +0.085 +0.10875 +0.135 +0.16624999 +0.23749998 +0.3875 +0.5025 +0.55625004 +0.57875 +0.60625 +0.66499996 +0.76125 +0.87875 +1.0074999 +1.1425 +1.2874999 +1.4375 +1.5775001 +1.68125 +1.7175001 +1.6700001 +1.5437499 +1.3675 +1.165 +0.985 +0.8225 +0.66625 +0.52124995 +0.4025 +0.33375 +0.32625 +0.3275 +0.3 +0.21625 +0.10625 +0.06625 +0.085 +0.11125 +0.1375 +0.16875 +0.2525 +0.39749998 +0.50874996 +0.5575 +0.5775 +0.60125 +0.65875 +0.75 +0.86375 +0.99125 +1.125 +1.2724999 +1.4237499 +1.5687499 +1.67875 +1.72125 +1.68125 +1.5625 +1.38875 +1.19 +1.01 +0.84749997 +0.68874997 +0.53875 +0.41500002 +0.33875 +0.32750002 +0.32625002 +0.2975 +0.21125 +0.09875001 +0.068749994 +0.085 +0.10875 +0.135 +0.16624999 +0.23749998 +0.3875 +0.5025 +0.55625004 +0.57875 +0.60625 +0.66499996 +0.76125 +0.87875 +1.0074999 +1.1425 +1.2874999 +1.4375 +1.5775001 +1.68125 +1.7175001 +1.6700001 +1.5437499 +1.3675 +1.165 +0.985 +0.8225 +0.66625 +0.52124995 +0.4025 +0.33375 +0.32625 +0.3275 +0.3 +0.21625 +0.10625 +0.06625 +0.085 +0.11125 +0.1375 +0.16875 +0.2525 +0.39749998 +0.50874996 +0.5575 +0.5675 +0.5775 +0.615 +0.69124997 +0.795 +0.9187499 +1.0625 +1.2225 +1.3975 +1.56875 +1.7025001 +1.7712501 +1.7475001 +1.6412499 +1.47 +1.26625 +1.06125 +0.88625 +0.72 +0.56374997 +0.43500003 +0.36249998 +0.34375 +0.34000003 +0.31624997 +0.23875 +0.13125 +0.0625 +0.07 +0.0925 +0.12 +0.1575 +0.26125 +0.4125 +0.53000003 +0.58250004 +0.6025 +0.625 +0.67749995 +0.765 +0.88 +1.015 +1.15875 +1.3125 +1.4675001 +1.61 +1.70125 +1.72625 +1.66625 +1.5250001 +1.3337499 +1.11875 +0.9175 +0.74625 +0.59000003 +0.45749998 +0.35750002 +0.32625002 +0.335 +0.35250002 +0.33875 +0.26875 +0.16375 +0.08125 +0.075 +0.1025 +0.13125 +0.1975 +0.31875002 +0.45125 +0.53875 +0.5687501 +0.5675 +0.5775 +0.615 +0.69124997 +0.795 +0.9187499 +1.0625 +1.2225 +1.3975 +1.56875 +1.7025001 +1.7712501 +1.7475001 +1.6412499 +1.47 +1.26625 +1.06125 +0.88625 +0.72 +0.56374997 +0.43500003 +0.36249998 +0.34375 +0.34000003 +0.31624997 +0.23875 +0.13125 +0.0625 +0.07 +0.0925 +0.12 +0.1575 +0.26125 +0.4125 +0.53000003 +0.58250004 +0.6025 +0.625 +0.67749995 +0.765 +0.88 +1.015 +1.15875 +1.3125 +1.4675001 +1.61 +1.70125 +1.72625 +1.66625 +1.5250001 +1.3337499 +1.11875 +0.9175 +0.74625 +0.59000003 +0.45749998 +0.35750002 +0.32625002 +0.335 +0.35250002 +0.33875 +0.26875 +0.16375 +0.08125 +0.075 +0.1025 +0.13125 +0.1975 +0.31875002 +0.45125 +0.53875 +0.5687501 +0.54499996 +0.5225 +0.5325 +0.58125 +0.67 +0.78875 +0.94 +1.1274999 +1.3425 +1.5625 +1.7462499 +1.8562499 +1.8687501 +1.78125 +1.6187499 +1.4087499 +1.18875 +0.9875 +0.8125 +0.65375 +0.52 +0.4375 +0.41125003 +0.40875 +0.39375 +0.33875 +0.23499998 +0.13 +0.07625 +0.0725 +0.103750005 +0.18625 +0.32999998 +0.48875 +0.605 +0.65500003 +0.66625 +0.6737499 +0.7062501 +0.77625 +0.8850001 +1.0224999 +1.1824999 +1.3499999 +1.51125 +1.6450002 +1.7225001 +1.72 +1.6275 +1.4612501 +1.2462499 +1.01375 +0.80125 +0.62 +0.46750003 +0.35500002 +0.305 +0.3175 +0.365 +0.41125 +0.42125 +0.3725 +0.2725 +0.17249998 +0.12375 +0.1325 +0.19250001 +0.3025 +0.43875 +0.54249996 +0.58625 +0.57625 +0.54499996 +0.5225 +0.5325 +0.58125 +0.67 +0.78875 +0.94 +1.1274999 +1.3425 +1.5625 +1.7462499 +1.8562499 +1.8687501 +1.78125 +1.6187499 +1.4087499 +1.18875 +0.9875 +0.8125 +0.65375 +0.52 +0.4375 +0.41125003 +0.40875 +0.39375 +0.33875 +0.23499998 +0.13 +0.07625 +0.0725 +0.103750005 +0.18625 +0.32999998 +0.48875 +0.605 +0.65500003 +0.66625 +0.6737499 +0.7062501 +0.77625 +0.8850001 +1.0224999 +1.1824999 +1.3499999 +1.51125 +1.6450002 +1.7225001 +1.72 +1.6275 +1.4612501 +1.2462499 +1.01375 +0.80125 +0.62 +0.46750003 +0.35500002 +0.305 +0.3175 +0.365 +0.41125 +0.42125 +0.3725 +0.2725 +0.17249998 +0.12375 +0.1325 +0.19250001 +0.3025 +0.43875 +0.54249996 +0.58625 +0.57625 +0.53 +0.48125002 +0.4625 +0.48 +0.54 +0.64375 +0.7975 +1.00375 +1.2575 +1.52375 +1.7624998 +1.93 +1.9837501 +1.92875 +1.7850001 +1.58625 +1.3675001 +1.1675 +0.99625 +0.84875 +0.72125 +0.62625 +0.5875 +0.59124994 +0.59375 +0.56 +0.47625 +0.35875002 +0.245 +0.18624999 +0.21374999 +0.32375 +0.48375002 +0.6375 +0.74249995 +0.78375 +0.77625 +0.755 +0.75250006 +0.79499996 +0.88625 +1.0237501 +1.19 +1.3662499 +1.53 +1.6475 +1.6975 +1.66375 +1.5437499 +1.355 +1.1262499 +0.895 +0.69125 +0.51124996 +0.36875 +0.28375 +0.27875 +0.33875 +0.42125 +0.49249998 +0.52 +0.4875 +0.40625 +0.3225 +0.27374998 +0.2875 +0.3675 +0.47875002 +0.57875 +0.63625 +0.63625 +0.59125006 +0.53 +0.48125002 +0.4625 +0.48 +0.54 +0.64375 +0.7975 +1.00375 +1.2575 +1.52375 +1.7624998 +1.93 +1.9837501 +1.92875 +1.7850001 +1.58625 +1.3675001 +1.1675 +0.99625 +0.84875 +0.72125 +0.62625 +0.5875 +0.59124994 +0.59375 +0.56 +0.47625 +0.35875002 +0.245 +0.18624999 +0.21374999 +0.32375 +0.48375002 +0.6375 +0.74249995 +0.78375 +0.77625 +0.755 +0.75250006 +0.79499996 +0.88625 +1.0237501 +1.19 +1.3662499 +1.53 +1.6475 +1.6975 +1.66375 +1.5437499 +1.355 +1.1262499 +0.895 +0.69125 +0.51124996 +0.36875 +0.28375 +0.27875 +0.33875 +0.42125 +0.49249998 +0.52 +0.4875 +0.40625 +0.3225 +0.27374998 +0.2875 +0.3675 +0.47875002 +0.57875 +0.63625 +0.63625 +0.59125006 +0.54125 +0.47875 +0.43625 +0.42249998 +0.44749996 +0.5225 +0.66 +0.86625 +1.1375 +1.4362499 +1.7175 +1.9425001 +2.05125 +2.03375 +1.9200001 +1.7537501 +1.56625 +1.40375 +1.2625 +1.14 +1.035 +0.95 +0.89625 +0.88875 +0.90875006 +0.8975 +0.8525001 +0.765 +0.65125 +0.55249995 +0.51500005 +0.58750004 +0.7149999 +0.84624994 +0.93499994 +0.9575 +0.9200001 +0.86 +0.815 +0.81875 +0.8874999 +1.015 +1.18125 +1.3824999 +1.5450001 +1.6325 +1.6312501 +1.5537499 +1.415 +1.21875 +1.015 +0.8175 +0.6275 +0.46375 +0.34250003 +0.2875 +0.30875003 +0.40125 +0.50374997 +0.59125 +0.62 +0.58000004 +0.49875 +0.435 +0.41375 +0.44875 +0.52750003 +0.61625004 +0.68125 +0.7 +0.67249995 +0.61375 +0.54125 +0.47875 +0.43625 +0.42249998 +0.44749996 +0.5225 +0.66 +0.86625 +1.1375 +1.4362499 +1.7175 +1.9425001 +2.05125 +2.03375 +1.9200001 +1.7537501 +1.56625 +1.40375 +1.2625 +1.14 +1.035 +0.95 +0.89625 +0.88875 +0.90875006 +0.8975 +0.8525001 +0.765 +0.65125 +0.55249995 +0.51500005 +0.58750004 +0.7149999 +0.84624994 +0.93499994 +0.9575 +0.9200001 +0.86 +0.815 +0.81875 +0.8874999 +1.015 +1.18125 +1.3824999 +1.5450001 +1.6325 +1.6312501 +1.5537499 +1.415 +1.21875 +1.015 +0.8175 +0.6275 +0.46375 +0.34250003 +0.2875 +0.30875003 +0.40125 +0.50374997 +0.59125 +0.62 +0.58000004 +0.49875 +0.435 +0.41375 +0.44875 +0.52750003 +0.61625004 +0.68125 +0.7 +0.67249995 +0.61375 +0.57250005 +0.51 +0.45374998 +0.41124997 +0.39749998 +0.43375003 +0.53999996 +0.725 +0.98375005 +1.2850001 +1.5825001 +1.8425001 +2.0024998 +2.045 +1.9862499 +1.8750001 +1.74875 +1.6375002 +1.5424999 +1.4537501 +1.37 +1.295 +1.245 +1.23375 +1.2562499 +1.27 +1.25 +1.17375 +1.0512501 +0.92625004 +0.84749997 +0.86375004 +0.95875 +1.065 +1.1325 +1.12875 +1.06 +0.96125 +0.87625 +0.84875 +0.89625007 +1.01125 +1.1875 +1.3812499 +1.5212501 +1.57375 +1.5375 +1.425 +1.2737501 +1.1025 +0.93499994 +0.77125 +0.61375 +0.475 +0.38125002 +0.35125 +0.39499998 +0.49375 +0.60125 +0.66875 +0.66625 +0.60375 +0.51625 +0.4725 +0.48 +0.5375 +0.61875 +0.69 +0.7275 +0.72625 +0.69125 +0.63625 +0.57250005 +0.51 +0.45374998 +0.41124997 +0.39749998 +0.43375003 +0.53999996 +0.725 +0.98375005 +1.2850001 +1.5825001 +1.8425001 +2.0024998 +2.045 +1.9862499 +1.8750001 +1.74875 +1.6375002 +1.5424999 +1.4537501 +1.37 +1.295 +1.245 +1.23375 +1.2562499 +1.27 +1.25 +1.17375 +1.0512501 +0.92625004 +0.84749997 +0.86375004 +0.95875 +1.065 +1.1325 +1.12875 +1.06 +0.96125 +0.87625 +0.84875 +0.89625007 +1.01125 +1.1875 +1.3812499 +1.5212501 +1.57375 +1.5375 +1.425 +1.2737501 +1.1025 +0.93499994 +0.77125 +0.61375 +0.475 +0.38125002 +0.35125 +0.39499998 +0.49375 +0.60125 +0.66875 +0.66625 +0.60375 +0.51625 +0.4725 +0.48 +0.5375 +0.61875 +0.69 +0.7275 +0.72625 +0.69125 +0.63625 +0.59875 +0.54375 +0.47875 +0.4125 +0.36125 +0.35750002 +0.425 +0.5775 +0.805 +1.08125 +1.36625 +1.62875 +1.8275 +1.9300001 +1.9437499 +1.9112499 +1.85125 +1.7950001 +1.74125 +1.67875 +1.6075001 +1.5325001 +1.4825001 +1.47 +1.5150001 +1.5399998 +1.5224999 +1.45 +1.325 +1.18125 +1.0775 +1.0725 +1.14125 +1.2225001 +1.26625 +1.23875 +1.1424999 +1.01875 +0.91249996 +0.87125 +0.9125 +1.0225 +1.1837499 +1.3625 +1.4775001 +1.4975001 +1.43125 +1.3149999 +1.17125 +1.005 +0.8712499 +0.74375 +0.62 +0.50874996 +0.43625 +0.42624998 +0.4825 +0.58124995 +0.65875 +0.6875 +0.6437501 +0.54999995 +0.47125 +0.45125 +0.49 +0.57 +0.6575 +0.715 +0.73125 +0.71625 +0.68125004 +0.64125 +0.59875 +0.54375 +0.47875 +0.4125 +0.36125 +0.35750002 +0.425 +0.5775 +0.805 +1.08125 +1.36625 +1.62875 +1.8275 +1.9300001 +1.9437499 +1.9112499 +1.85125 +1.7950001 +1.74125 +1.67875 +1.6075001 +1.5325001 +1.4825001 +1.47 +1.5150001 +1.5399998 +1.5224999 +1.45 +1.325 +1.18125 +1.0775 +1.0725 +1.14125 +1.2225001 +1.26625 +1.23875 +1.1424999 +1.01875 +0.91249996 +0.87125 +0.9125 +1.0225 +1.1837499 +1.3625 +1.4775001 +1.4975001 +1.43125 +1.3149999 +1.17125 +1.005 +0.8712499 +0.74375 +0.62 +0.50874996 +0.43625 +0.42624998 +0.4825 +0.58124995 +0.65875 +0.6875 +0.6437501 +0.54999995 +0.47125 +0.45125 +0.49 +0.57 +0.6575 +0.715 +0.73125 +0.71625 +0.68125004 +0.64125 +0.58625 +0.54125 +0.47 +0.38000003 +0.3025 +0.26875 +0.305 +0.4225 +0.61249995 +0.84749997 +1.09875 +1.3399999 +1.5475 +1.7 +1.805 +1.86 +1.8725001 +1.845 +1.80875 +1.75625 +1.6787502 +1.595 +1.5400001 +1.57 +1.62625 +1.6637499 +1.6412499 +1.5475001 +1.4225001 +1.2762501 +1.18875 +1.17625 +1.2225001 +1.2787501 +1.2962501 +1.245 +1.13625 +1.005 +0.90625 +0.8775 +0.93125004 +1.05375 +1.2049999 +1.345 +1.43875 +1.435 +1.3787501 +1.26875 +1.1287501 +0.975 +0.82 +0.715 +0.61125 +0.51874995 +0.4625 +0.4725 +0.55 +0.63125 +0.66875 +0.64 +0.5575 +0.45750004 +0.39624998 +0.40749997 +0.485 +0.59000003 +0.67999995 +0.71999997 +0.71375 +0.68 +0.64250004 +0.61375 +0.58625 +0.54125 +0.47 +0.38000003 +0.3025 +0.26875 +0.305 +0.4225 +0.61249995 +0.84749997 +1.09875 +1.3399999 +1.5475 +1.7 +1.805 +1.86 +1.8725001 +1.845 +1.80875 +1.75625 +1.6787502 +1.595 +1.5400001 +1.57 +1.62625 +1.6637499 +1.6412499 +1.5475001 +1.4225001 +1.2762501 +1.18875 +1.17625 +1.2225001 +1.2787501 +1.2962501 +1.245 +1.13625 +1.005 +0.90625 +0.8775 +0.93125004 +1.05375 +1.2049999 +1.345 +1.43875 +1.435 +1.3787501 +1.26875 +1.1287501 +0.975 +0.82 +0.715 +0.61125 +0.51874995 +0.4625 +0.4725 +0.55 +0.63125 +0.66875 +0.64 +0.5575 +0.45750004 +0.39624998 +0.40749997 +0.485 +0.59000003 +0.67999995 +0.71999997 +0.71375 +0.68 +0.64250004 +0.61375 +0.52750003 +0.48250002 +0.40000004 +0.29999998 +0.21499999 +0.17625 +0.19125001 +0.26875 +0.42374998 +0.61 +0.81500006 +1.02625 +1.2337499 +1.43 +1.60125 +1.7375 +1.8212502 +1.84 +1.7975001 +1.71875 +1.6324999 +1.55875 +1.5462501 +1.585 +1.6500001 +1.69375 +1.6775001 +1.5874999 +1.45 +1.3175001 +1.23 +1.205 +1.22625 +1.2475 +1.2337501 +1.16 +1.0475 +0.93125004 +0.86125 +0.86375 +0.9475 +1.085 +1.2375001 +1.3625001 +1.4325 +1.4325 +1.3699999 +1.2637501 +1.13 +0.98375 +0.83375 +0.69 +0.575 +0.48624998 +0.4625 +0.5025 +0.57375 +0.635 +0.64125 +0.5775 +0.46625 +0.3625 +0.3275 +0.37875 +0.495 +0.62375003 +0.71000004 +0.72499996 +0.68375 +0.6225 +0.575 +0.55 +0.52750003 +0.48250002 +0.40000004 +0.29999998 +0.21499999 +0.17625 +0.19125001 +0.26875 +0.42374998 +0.61 +0.81500006 +1.02625 +1.2337499 +1.43 +1.60125 +1.7375 +1.8212502 +1.84 +1.7975001 +1.71875 +1.6324999 +1.55875 +1.5462501 +1.585 +1.6500001 +1.69375 +1.6775001 +1.5874999 +1.45 +1.3175001 +1.23 +1.205 +1.22625 +1.2475 +1.2337501 +1.16 +1.0475 +0.93125004 +0.86125 +0.86375 +0.9475 +1.085 +1.2375001 +1.3625001 +1.4325 +1.4325 +1.3699999 +1.2637501 +1.13 +0.98375 +0.83375 +0.69 +0.575 +0.48624998 +0.4625 +0.5025 +0.57375 +0.635 +0.64125 +0.5775 +0.46625 +0.3625 +0.3275 +0.37875 +0.495 +0.62375003 +0.71000004 +0.72499996 +0.68375 +0.6225 +0.575 +0.55 +0.43625 +0.38625 +0.31375 +0.235 +0.16875 +0.135 +0.1325 +0.17375001 +0.2625 +0.40375003 +0.5575 +0.72749996 +0.9237499 +1.1487501 +1.3824999 +1.59125 +1.74 +1.8075 +1.7937498 +1.7237499 +1.64125 +1.5937501 +1.60375 +1.665 +1.7425001 +1.78625 +1.76625 +1.67 +1.52875 +1.39 +1.2887499 +1.24 +1.22 +1.1949999 +1.13625 +1.03625 +0.92125 +0.8299999 +0.7975 +0.83625 +0.94125 +1.0825 +1.225 +1.3362501 +1.3925 +1.3899999 +1.33375 +1.23875 +1.11875 +0.98125 +0.83000004 +0.68125 +0.55125004 +0.46875 +0.4525 +0.495 +0.56625 +0.6125 +0.59749997 +0.5075 +0.38375002 +0.29375002 +0.2875 +0.38 +0.53000003 +0.6700001 +0.74 +0.71875 +0.63875 +0.54875 +0.48624998 +0.45875 +0.43625 +0.38625 +0.31375 +0.235 +0.16875 +0.135 +0.1325 +0.17375001 +0.2625 +0.40375003 +0.5575 +0.72749996 +0.9237499 +1.1487501 +1.3824999 +1.59125 +1.74 +1.8075 +1.7937498 +1.7237499 +1.64125 +1.5937501 +1.60375 +1.665 +1.7425001 +1.78625 +1.76625 +1.67 +1.52875 +1.39 +1.2887499 +1.24 +1.22 +1.1949999 +1.13625 +1.03625 +0.92125 +0.8299999 +0.7975 +0.83625 +0.94125 +1.0825 +1.225 +1.3362501 +1.3925 +1.3899999 +1.33375 +1.23875 +1.11875 +0.98125 +0.83000004 +0.68125 +0.55125004 +0.46875 +0.4525 +0.495 +0.56625 +0.6125 +0.59749997 +0.5075 +0.38375002 +0.29375002 +0.2875 +0.38 +0.53000003 +0.6700001 +0.74 +0.71875 +0.63875 +0.54875 +0.48624998 +0.45875 +0.35375 +0.32125 +0.27125 +0.2175 +0.175 +0.155 +0.1575 +0.16875 +0.19625 +0.25875 +0.35875002 +0.48875 +0.67 +0.91375005 +1.19875 +1.4749999 +1.6925 +1.8149999 +1.8475 +1.82 +1.785 +1.7912501 +1.8525 +1.95125 +2.04375 +2.0800002 +2.0325 +1.9112499 +1.7475 +1.58125 +1.4525 +1.3575001 +1.2762501 +1.185 +1.0675 +0.9375 +0.82125 +0.75125 +0.74625003 +0.80375004 +0.90250003 +1.02125 +1.12875 +1.20375 +1.2425001 +1.23875 +1.2 +1.1324999 +1.03625 +0.91625 +0.775 +0.62874997 +0.50125 +0.42874998 +0.42375 +0.47875002 +0.555 +0.595 +0.56500006 +0.46374997 +0.3375 +0.25875002 +0.27875003 +0.39875 +0.56375 +0.69875 +0.74125004 +0.68125 +0.56625 +0.4525 +0.385 +0.36749998 +0.35375 +0.32125 +0.27125 +0.2175 +0.175 +0.155 +0.1575 +0.16875 +0.19625 +0.25875 +0.35875002 +0.48875 +0.67 +0.91375005 +1.19875 +1.4749999 +1.6925 +1.8149999 +1.8475 +1.82 +1.785 +1.7912501 +1.8525 +1.95125 +2.04375 +2.0800002 +2.0325 +1.9112499 +1.7475 +1.58125 +1.4525 +1.3575001 +1.2762501 +1.185 +1.0675 +0.9375 +0.82125 +0.75125 +0.74625003 +0.80375004 +0.90250003 +1.02125 +1.12875 +1.20375 +1.2425001 +1.23875 +1.2 +1.1324999 +1.03625 +0.91625 +0.775 +0.62874997 +0.50125 +0.42874998 +0.42375 +0.47875002 +0.555 +0.595 +0.56500006 +0.46374997 +0.3375 +0.25875002 +0.27875003 +0.39875 +0.56375 +0.69875 +0.74125004 +0.68125 +0.56625 +0.4525 +0.385 +0.36749998 +0.31125 +0.29125 +0.24875 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.19250001 +0.21125 +0.25 +0.33875 +0.5075 +0.765 +1.0912501 +1.4262501 +1.7099999 +1.8974998 +1.9937501 +2.03625 +2.085 +2.1774998 +2.315 +2.4624999 +2.56375 +2.575 +2.48375 +2.3325 +2.13625 +1.9175 +1.7175001 +1.5587499 +1.4037501 +1.2349999 +1.05875 +0.90000004 +0.78375 +0.72625005 +0.72875 +0.775 +0.84 +0.8975 +0.94 +0.98375 +1.005 +0.98875 +0.95124996 +0.91625 +0.85749996 +0.77 +0.65375 +0.52875 +0.42375 +0.375 +0.3975 +0.47375 +0.5625 +0.60499996 +0.56624997 +0.45625 +0.33124998 +0.2575 +0.2875 +0.4125 +0.57000005 +0.68000007 +0.68749994 +0.5925 +0.45374998 +0.33749998 +0.29375 +0.29999998 +0.31125 +0.29125 +0.24875 +0.2 +0.165 +0.155 +0.16625 +0.18125 +0.19250001 +0.21125 +0.25 +0.33875 +0.5075 +0.765 +1.0912501 +1.4262501 +1.7099999 +1.8974998 +1.9937501 +2.03625 +2.085 +2.1774998 +2.315 +2.4624999 +2.56375 +2.575 +2.48375 +2.3325 +2.13625 +1.9175 +1.7175001 +1.5587499 +1.4037501 +1.2349999 +1.05875 +0.90000004 +0.78375 +0.72625005 +0.72875 +0.775 +0.84 +0.8975 +0.94 +0.98375 +1.005 +0.98875 +0.95124996 +0.91625 +0.85749996 +0.77 +0.65375 +0.52875 +0.42375 +0.375 +0.3975 +0.47375 +0.5625 +0.60499996 +0.56624997 +0.45625 +0.33124998 +0.2575 +0.2875 +0.4125 +0.57000005 +0.68000007 +0.68749994 +0.5925 +0.45374998 +0.33749998 +0.29375 +0.29999998 +0.27499998 +0.2525 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.19375 +0.21499999 +0.23625 +0.29749998 +0.45374998 +0.72499996 +1.0787501 +1.45625 +1.78625 +2.02625 +2.185 +2.32125 +2.495 +2.6737502 +2.8587499 +3.03875 +3.13625 +3.1175 +3.0049999 +2.8024998 +2.5487502 +2.2849998 +2.02625 +1.7775 +1.54125 +1.30875 +1.0875001 +0.91125 +0.80375004 +0.7525 +0.75125 +0.765 +0.7675 +0.7575 +0.7475 +0.74000007 +0.72875 +0.71375 +0.685 +0.6437501 +0.615 +0.56374997 +0.4925 +0.43375 +0.37875 +0.3375 +0.385 +0.4925 +0.59499997 +0.64125 +0.59749997 +0.48 +0.35125 +0.27625 +0.30375 +0.41500002 +0.5425 +0.6125 +0.57875 +0.4575 +0.31125 +0.225 +0.21874999 +0.25625 +0.27499998 +0.2525 +0.20375 +0.16 +0.13375 +0.13375 +0.155 +0.17875 +0.19375 +0.21499999 +0.23625 +0.29749998 +0.45374998 +0.72499996 +1.0787501 +1.45625 +1.78625 +2.02625 +2.185 +2.32125 +2.495 +2.6737502 +2.8587499 +3.03875 +3.13625 +3.1175 +3.0049999 +2.8024998 +2.5487502 +2.2849998 +2.02625 +1.7775 +1.54125 +1.30875 +1.0875001 +0.91125 +0.80375004 +0.7525 +0.75125 +0.765 +0.7675 +0.7575 +0.7475 +0.74000007 +0.72875 +0.71375 +0.685 +0.6437501 +0.615 +0.56374997 +0.4925 +0.43375 +0.37875 +0.3375 +0.385 +0.4925 +0.59499997 +0.64125 +0.59749997 +0.48 +0.35125 +0.27625 +0.30375 +0.41500002 +0.5425 +0.6125 +0.57875 +0.4575 +0.31125 +0.225 +0.21874999 +0.25625 +0.255 +0.22749999 +0.15875 +0.11125 +0.09 +0.09875 +0.13 +0.16375 +0.20875001 +0.25 +0.28125 +0.34625 +0.5075 +0.78375 +1.14625 +1.5337499 +1.8725 +2.1299999 +2.32 +2.5375 +2.78375 +3.0325 +3.2649999 +3.4425 +3.5162501 +3.4625 +3.2862499 +3.02875 +2.7375 +2.44625 +2.1625 +1.8874999 +1.61375 +1.3512499 +1.1274999 +0.96625006 +0.87875 +0.845 +0.8299999 +0.7975 +0.73125 +0.64124995 +0.555 +0.49 +0.45374998 +0.44000003 +0.43000004 +0.4175 +0.39875 +0.37874997 +0.35875 +0.34125 +0.33 +0.33125 +0.39249998 +0.52875 +0.64374995 +0.6875 +0.63500005 +0.51000005 +0.37624997 +0.29875 +0.315 +0.40125 +0.4925 +0.515 +0.44000003 +0.2975 +0.17000002 +0.1275 +0.16125 +0.22 +0.255 +0.22749999 +0.15875 +0.11125 +0.09 +0.09875 +0.13 +0.16375 +0.20875001 +0.25 +0.28125 +0.34625 +0.5075 +0.78375 +1.14625 +1.5337499 +1.8725 +2.1299999 +2.32 +2.5375 +2.78375 +3.0325 +3.2649999 +3.4425 +3.5162501 +3.4625 +3.2862499 +3.02875 +2.7375 +2.44625 +2.1625 +1.8874999 +1.61375 +1.3512499 +1.1274999 +0.96625006 +0.87875 +0.845 +0.8299999 +0.7975 +0.73125 +0.64124995 +0.555 +0.49 +0.45374998 +0.44000003 +0.43000004 +0.4175 +0.39875 +0.37874997 +0.35875 +0.34125 +0.33 +0.33125 +0.39249998 +0.52875 +0.64374995 +0.6875 +0.63500005 +0.51000005 +0.37624997 +0.29875 +0.315 +0.40125 +0.4925 +0.515 +0.44000003 +0.2975 +0.17000002 +0.1275 +0.16125 +0.22 +0.24874999 +0.22999999 +0.145 +0.06875 +0.04875 +0.0625 +0.1 +0.1675 +0.25875002 +0.3225 +0.37000003 +0.45374998 +0.62125 +0.8925 +1.24125 +1.60125 +1.9037501 +2.1225 +2.28875 +2.49125 +2.7537503 +3.0187502 +3.255 +3.41375 +3.44875 +3.3387501 +3.1187499 +2.83625 +2.5437498 +2.26875 +2.00875 +1.7512499 +1.4949999 +1.2475 +1.0475 +0.92375004 +0.87375 +0.86875 +0.855 +0.795 +0.6825 +0.53375 +0.3975 +0.30375 +0.26 +0.25125 +0.25625 +0.25375 +0.24875 +0.23875001 +0.23375002 +0.24625 +0.27499998 +0.315 +0.41749996 +0.5725 +0.69124997 +0.72375 +0.655 +0.5225 +0.38625 +0.31125003 +0.32125002 +0.38749996 +0.43875 +0.41875002 +0.30875 +0.15625 +0.067499995 +0.06875 +0.121249996 +0.18875 +0.24874999 +0.22999999 +0.145 +0.06875 +0.04875 +0.0625 +0.1 +0.1675 +0.25875002 +0.3225 +0.37000003 +0.45374998 +0.62125 +0.8925 +1.24125 +1.60125 +1.9037501 +2.1225 +2.28875 +2.49125 +2.7537503 +3.0187502 +3.255 +3.41375 +3.44875 +3.3387501 +3.1187499 +2.83625 +2.5437498 +2.26875 +2.00875 +1.7512499 +1.4949999 +1.2475 +1.0475 +0.92375004 +0.87375 +0.86875 +0.855 +0.795 +0.6825 +0.53375 +0.3975 +0.30375 +0.26 +0.25125 +0.25625 +0.25375 +0.24875 +0.23875001 +0.23375002 +0.24625 +0.27499998 +0.315 +0.41749996 +0.5725 +0.69124997 +0.72375 +0.655 +0.5225 +0.38625 +0.31125003 +0.32125002 +0.38749996 +0.43875 +0.41875002 +0.30875 +0.15625 +0.067499995 +0.06875 +0.121249996 +0.18875 +0.24125 +0.24000002 +0.15125 +0.051250003 +0.01875 +0.0325 +0.097500004 +0.21749999 +0.3375 +0.42125 +0.48375 +0.57125 +0.7350001 +0.98999995 +1.3000001 +1.595 +1.815 +1.9462501 +2.0325 +2.1375 +2.3512497 +2.57875 +2.7975 +2.94375 +2.9325 +2.7662501 +2.49625 +2.2312498 +1.9862499 +1.7812502 +1.6275 +1.46375 +1.26375 +1.0475 +0.865 +0.77500004 +0.77000004 +0.79875 +0.81875 +0.78875005 +0.6825 +0.52000004 +0.35000002 +0.2225 +0.1875 +0.1925 +0.205 +0.2375 +0.24125001 +0.215 +0.175 +0.17500001 +0.22749999 +0.30124998 +0.45999998 +0.6225 +0.73125 +0.7425 +0.65250003 +0.5075 +0.37375 +0.30749997 +0.32 +0.375 +0.4 +0.345 +0.20750001 +0.06375 +0.01875 +0.0425 +0.096250005 +0.16624999 +0.24125 +0.24000002 +0.15125 +0.051250003 +0.01875 +0.0325 +0.097500004 +0.21749999 +0.3375 +0.42125 +0.48375 +0.57125 +0.7350001 +0.98999995 +1.3000001 +1.595 +1.815 +1.9462501 +2.0325 +2.1375 +2.3512497 +2.57875 +2.7975 +2.94375 +2.9325 +2.7662501 +2.49625 +2.2312498 +1.9862499 +1.7812502 +1.6275 +1.46375 +1.26375 +1.0475 +0.865 +0.77500004 +0.77000004 +0.79875 +0.81875 +0.78875005 +0.6825 +0.52000004 +0.35000002 +0.2225 +0.1875 +0.1925 +0.205 +0.2375 +0.24125001 +0.215 +0.175 +0.17500001 +0.22749999 +0.30124998 +0.45999998 +0.6225 +0.73125 +0.7425 +0.65250003 +0.5075 +0.37375 +0.30749997 +0.32 +0.375 +0.4 +0.345 +0.20750001 +0.06375 +0.01875 +0.0425 +0.096250005 +0.16624999 +0.2375 +0.24249999 +0.1625 +0.06375 +0.01625 +0.052500002 +0.15875 +0.3025 +0.43499997 +0.51500005 +0.56625 +0.6425 +0.7925 +1.01625 +1.2700001 +1.47875 +1.59 +1.605 +1.5774999 +1.5849999 +1.68625 +1.86625 +2.05125 +2.1537502 +2.11125 +1.9300001 +1.6775 +1.44375 +1.2887499 +1.21375 +1.17 +1.0999999 +0.97749996 +0.81875 +0.6775 +0.60875 +0.62624997 +0.69625 +0.76125 +0.76375 +0.685 +0.54875 +0.405 +0.30124998 +0.26375002 +0.28375 +0.325 +0.35125 +0.33624998 +0.2775 +0.21000004 +0.1775 +0.2175 +0.33874997 +0.51375 +0.67499995 +0.7637501 +0.74500006 +0.62500006 +0.465 +0.34624997 +0.2825 +0.30749997 +0.3625 +0.37249997 +0.29625 +0.1425 +0.025 +0.0025 +0.03 +0.085 +0.15499999 +0.2375 +0.24249999 +0.1625 +0.06375 +0.01625 +0.052500002 +0.15875 +0.3025 +0.43499997 +0.51500005 +0.56625 +0.6425 +0.7925 +1.01625 +1.2700001 +1.47875 +1.59 +1.605 +1.5774999 +1.5849999 +1.68625 +1.86625 +2.05125 +2.1537502 +2.11125 +1.9300001 +1.6775 +1.44375 +1.2887499 +1.21375 +1.17 +1.0999999 +0.97749996 +0.81875 +0.6775 +0.60875 +0.62624997 +0.69625 +0.76125 +0.76375 +0.685 +0.54875 +0.405 +0.30124998 +0.26375002 +0.28375 +0.325 +0.35125 +0.33624998 +0.2775 +0.21000004 +0.1775 +0.2175 +0.33874997 +0.51375 +0.67499995 +0.7637501 +0.74500006 +0.62500006 +0.465 +0.34624997 +0.2825 +0.30749997 +0.3625 +0.37249997 +0.29625 +0.1425 +0.025 +0.0025 +0.03 +0.085 +0.15499999 +0.2525 +0.2625 +0.195 +0.112500004 +0.085 +0.13874999 +0.26625 +0.41 +0.515 +0.56625 +0.59000003 +0.64250004 +0.7625 +0.94375 +1.13375 +1.255 +1.26 +1.16125 +1.0237501 +0.94000006 +0.96500003 +1.0862501 +1.23 +1.3024999 +1.24375 +1.07125 +0.85749996 +0.69250005 +0.63250005 +0.67375 +0.74625 +0.78124994 +0.73375005 +0.625 +0.51000005 +0.4525 +0.47750002 +0.56375 +0.65625 +0.70125 +0.66999996 +0.57625 +0.465 +0.39 +0.37249997 +0.40875 +0.46 +0.48499998 +0.4525 +0.3675 +0.26875 +0.21375 +0.24625 +0.375 +0.55625 +0.71625 +0.78625 +0.7325001 +0.57625 +0.42999998 +0.32625 +0.2625 +0.2775 +0.34125 +0.3475 +0.26125 +0.11 +0.015 +0.0 +0.02625 +0.082499996 +0.16875 +0.2525 +0.2625 +0.195 +0.112500004 +0.085 +0.13874999 +0.26625 +0.41 +0.515 +0.56625 +0.59000003 +0.64250004 +0.7625 +0.94375 +1.13375 +1.255 +1.26 +1.16125 +1.0237501 +0.94000006 +0.96500003 +1.0862501 +1.23 +1.3024999 +1.24375 +1.07125 +0.85749996 +0.69250005 +0.63250005 +0.67375 +0.74625 +0.78124994 +0.73375005 +0.625 +0.51000005 +0.4525 +0.47750002 +0.56375 +0.65625 +0.70125 +0.66999996 +0.57625 +0.465 +0.39 +0.37249997 +0.40875 +0.46 +0.48499998 +0.4525 +0.3675 +0.26875 +0.21375 +0.24625 +0.375 +0.55625 +0.71625 +0.78625 +0.7325001 +0.57625 +0.42999998 +0.32625 +0.2625 +0.2775 +0.34125 +0.3475 +0.26125 +0.11 +0.015 +0.0 +0.02625 +0.082499996 +0.16875 +0.30999997 +0.31375 +0.2525 +0.18625 +0.1775 +0.2475 +0.37375 +0.49499995 +0.56625 +0.57375 +0.55625 +0.57374996 +0.65749997 +0.79249996 +0.92499995 +0.97375005 +0.895 +0.71625 +0.50875 +0.36874998 +0.34999996 +0.44125003 +0.565 +0.62874997 +0.57625 +0.42125 +0.26375 +0.17875001 +0.18125 +0.29125 +0.45624998 +0.5725 +0.5875 +0.50875 +0.3975 +0.32374996 +0.32999998 +0.41375002 +0.52875 +0.61125004 +0.6275 +0.57375 +0.48875 +0.425 +0.41625 +0.4625 +0.525 +0.56 +0.52500004 +0.42499998 +0.305 +0.22874999 +0.25125 +0.38125 +0.56874996 +0.73125 +0.78625 +0.7062501 +0.53499997 +0.40375 +0.31375 +0.24624999 +0.2475 +0.3175 +0.32874998 +0.24000001 +0.1 +0.015 +0.0025 +0.03 +0.10625 +0.22375003 +0.30999997 +0.31375 +0.2525 +0.18625 +0.1775 +0.2475 +0.37375 +0.49499995 +0.56625 +0.57375 +0.55625 +0.57374996 +0.65749997 +0.79249996 +0.92499995 +0.97375005 +0.895 +0.71625 +0.50875 +0.36874998 +0.34999996 +0.44125003 +0.565 +0.62874997 +0.57625 +0.42125 +0.26375 +0.17875001 +0.18125 +0.29125 +0.45624998 +0.5725 +0.5875 +0.50875 +0.3975 +0.32374996 +0.32999998 +0.41375002 +0.52875 +0.61125004 +0.6275 +0.57375 +0.48875 +0.425 +0.41625 +0.4625 +0.525 +0.56 +0.52500004 +0.42499998 +0.305 +0.22874999 +0.25125 +0.38125 +0.56874996 +0.73125 +0.78625 +0.7062501 +0.53499997 +0.40375 +0.31375 +0.24624999 +0.2475 +0.3175 +0.32874998 +0.24000001 +0.1 +0.015 +0.0025 +0.03 +0.10625 +0.22375003 +0.41125 +0.39875 +0.32874998 +0.26375002 +0.25875002 +0.33124998 +0.445 +0.5425 +0.57875 +0.54875004 +0.49625 +0.48000002 +0.53 +0.62750006 +0.71125007 +0.7125 +0.59000003 +0.37374997 +0.17375 +0.041249998 +0.0425 +0.08875 +0.19375001 +0.26375002 +0.21999998 +0.085 +0.00125 +0.0 +0.01 +0.10625 +0.31625 +0.48125002 +0.52875 +0.46375 +0.33875 +0.24875 +0.23749998 +0.29874998 +0.41 +0.52375 +0.57625 +0.55 +0.47250003 +0.39874998 +0.39999998 +0.44375 +0.495 +0.5475 +0.52750003 +0.43 +0.2975 +0.22500002 +0.25 +0.34 +0.5325 +0.7 +0.75499994 +0.66625 +0.48999998 +0.35875 +0.28125 +0.225 +0.24 +0.3125 +0.33 +0.2525 +0.125 +0.04375 +0.0275 +0.07625 +0.19625 +0.3325 +0.41125 +0.39875 +0.32874998 +0.26375002 +0.25875002 +0.33124998 +0.445 +0.5425 +0.57875 +0.54875004 +0.49625 +0.48000002 +0.53 +0.62750006 +0.71125007 +0.7125 +0.59000003 +0.37374997 +0.17375 +0.041249998 +0.0425 +0.08875 +0.19375001 +0.26375002 +0.21999998 +0.085 +0.00125 +0.0 +0.01 +0.10625 +0.31625 +0.48125002 +0.52875 +0.46375 +0.33875 +0.24875 +0.23749998 +0.29874998 +0.41 +0.52375 +0.57625 +0.55 +0.47250003 +0.39874998 +0.39999998 +0.44375 +0.495 +0.5475 +0.52750003 +0.43 +0.2975 +0.22500002 +0.25 +0.34 +0.5325 +0.7 +0.75499994 +0.66625 +0.48999998 +0.35875 +0.28125 +0.225 +0.24 +0.3125 +0.33 +0.2525 +0.125 +0.04375 +0.0275 +0.07625 +0.19625 +0.3325 +0.54375 +0.5025 +0.41000003 +0.32375 +0.305 +0.36374998 +0.4625 +0.54125 +0.55875003 +0.51375 +0.4475 +0.41250002 +0.43875 +0.5075 +0.56125 +0.5375 +0.40875 +0.22 +0.065 +0.0 +0.01 +0.06 +0.145 +0.19124998 +0.15375 +0.065 +0.00625 +0.0 +0.0175 +0.1225 +0.305 +0.45375 +0.50875 +0.455 +0.34249997 +0.23875 +0.20249999 +0.255 +0.37 +0.48624998 +0.5525 +0.5425 +0.485 +0.42374998 +0.39749998 +0.42625 +0.48250002 +0.51750004 +0.49875 +0.41125 +0.3025 +0.22625002 +0.22749999 +0.30374998 +0.46500003 +0.6425 +0.71125 +0.63625 +0.46875 +0.32 +0.2475 +0.23 +0.29 +0.37124997 +0.395 +0.32625002 +0.21000001 +0.1275 +0.1275 +0.21249999 +0.3575 +0.49125 +0.54375 +0.5025 +0.41000003 +0.32375 +0.305 +0.36374998 +0.4625 +0.54125 +0.55875003 +0.51375 +0.4475 +0.41250002 +0.43875 +0.5075 +0.56125 +0.5375 +0.40875 +0.22 +0.065 +0.0 +0.01 +0.06 +0.145 +0.19124998 +0.15375 +0.065 +0.00625 +0.0 +0.0175 +0.1225 +0.305 +0.45375 +0.50875 +0.455 +0.34249997 +0.23875 +0.20249999 +0.255 +0.37 +0.48624998 +0.5525 +0.5425 +0.485 +0.42374998 +0.39749998 +0.42625 +0.48250002 +0.51750004 +0.49875 +0.41125 +0.3025 +0.22625002 +0.22749999 +0.30374998 +0.46500003 +0.6425 +0.71125 +0.63625 +0.46875 +0.32 +0.2475 +0.23 +0.29 +0.37124997 +0.395 +0.32625002 +0.21000001 +0.1275 +0.1275 +0.21249999 +0.3575 +0.49125 +0.68000007 +0.59875 +0.46499997 +0.34875 +0.30249998 +0.33875 +0.41875 +0.49 +0.51 +0.47625 +0.4225 +0.39500004 +0.41625 +0.47 +0.51 +0.48125 +0.36999997 +0.2175 +0.0775 +0.03375 +0.08125 +0.17875 +0.27875 +0.31625003 +0.275 +0.175 +0.08 +0.03375 +0.060000002 +0.1775 +0.33499998 +0.46124998 +0.50124997 +0.44375 +0.3275 +0.2175 +0.17750001 +0.2325 +0.3625 +0.505 +0.59749997 +0.60375 +0.53875 +0.45250002 +0.39999998 +0.40874997 +0.46625 +0.51750004 +0.51374996 +0.44000003 +0.32500002 +0.22999999 +0.20875001 +0.27 +0.41875 +0.60625 +0.6975 +0.6575 +0.52000004 +0.3725 +0.30624998 +0.33374998 +0.425 +0.52375 +0.55125 +0.49000004 +0.385 +0.30874997 +0.31625 +0.4175 +0.55875003 +0.66625 +0.68000007 +0.59875 +0.46499997 +0.34875 +0.30249998 +0.33875 +0.41875 +0.49 +0.51 +0.47625 +0.4225 +0.39500004 +0.41625 +0.47 +0.51 +0.48125 +0.36999997 +0.2175 +0.0775 +0.03375 +0.08125 +0.17875 +0.27875 +0.31625003 +0.275 +0.175 +0.08 +0.03375 +0.060000002 +0.1775 +0.33499998 +0.46124998 +0.50124997 +0.44375 +0.3275 +0.2175 +0.17750001 +0.2325 +0.3625 +0.505 +0.59749997 +0.60375 +0.53875 +0.45250002 +0.39999998 +0.40874997 +0.46625 +0.51750004 +0.51374996 +0.44000003 +0.32500002 +0.22999999 +0.20875001 +0.27 +0.41875 +0.60625 +0.6975 +0.6575 +0.52000004 +0.3725 +0.30624998 +0.33374998 +0.425 +0.52375 +0.55125 +0.49000004 +0.385 +0.30874997 +0.31625 +0.4175 +0.55875003 +0.66625 +0.7825 +0.65625 +0.48125 +0.32999998 +0.2525 +0.26250002 +0.3275 +0.39874995 +0.43625 +0.43375003 +0.41500002 +0.4125 +0.445 +0.49625 +0.52875 +0.50624996 +0.42000002 +0.29625 +0.19124998 +0.17 +0.2525 +0.35375 +0.42749998 +0.46125 +0.40625 +0.285 +0.18124999 +0.120000005 +0.13 +0.20875001 +0.315 +0.4 +0.42625 +0.37625 +0.26875 +0.1675 +0.14125 +0.20875001 +0.35874996 +0.525 +0.63125 +0.64750004 +0.5875 +0.49374998 +0.42874998 +0.42999998 +0.48625 +0.55 +0.5825 +0.52375 +0.39374998 +0.28750002 +0.24875 +0.29875 +0.465 +0.6575 +0.775 +0.77250004 +0.6825 +0.57625 +0.52874994 +0.575 +0.67999995 +0.77374995 +0.79499996 +0.73499995 +0.6325 +0.55875003 +0.56125003 +0.64125 +0.74875003 +0.81250006 +0.7825 +0.65625 +0.48125 +0.32999998 +0.2525 +0.26250002 +0.3275 +0.39874995 +0.43625 +0.43375003 +0.41500002 +0.4125 +0.445 +0.49625 +0.52875 +0.50624996 +0.42000002 +0.29625 +0.19124998 +0.17 +0.2525 +0.35375 +0.42749998 +0.46125 +0.40625 +0.285 +0.18124999 +0.120000005 +0.13 +0.20875001 +0.315 +0.4 +0.42625 +0.37625 +0.26875 +0.1675 +0.14125 +0.20875001 +0.35874996 +0.525 +0.63125 +0.64750004 +0.5875 +0.49374998 +0.42874998 +0.42999998 +0.48625 +0.55 +0.5825 +0.52375 +0.39374998 +0.28750002 +0.24875 +0.29875 +0.465 +0.6575 +0.775 +0.77250004 +0.6825 +0.57625 +0.52874994 +0.575 +0.67999995 +0.77374995 +0.79499996 +0.73499995 +0.6325 +0.55875003 +0.56125003 +0.64125 +0.74875003 +0.81250006 +0.8237501 +0.66125 +0.4575 +0.28 +0.19624999 +0.18374999 +0.225 +0.29000002 +0.34 +0.3725 +0.39375 +0.42125002 +0.46625003 +0.51625 +0.54875 +0.53499997 +0.48 +0.40375 +0.35 +0.34875003 +0.4025 +0.48375 +0.54875 +0.5575 +0.49375 +0.3775 +0.2525 +0.18374999 +0.175 +0.20749998 +0.26500002 +0.33375 +0.355 +0.31375 +0.23625001 +0.1675 +0.15875 +0.24125001 +0.39249998 +0.55875003 +0.67125 +0.68874997 +0.62 +0.53875 +0.49 +0.5 +0.57875 +0.69875 +0.76125 +0.7225 +0.60499996 +0.4775 +0.42624998 +0.49625 +0.66125005 +0.85249996 +0.98375005 +1.01125 +0.9574999 +0.88375 +0.85875 +0.905 +0.9975 +1.07375 +1.07875 +1.00625 +0.8937501 +0.80125 +0.77625 +0.82 +0.88 +0.89500004 +0.8237501 +0.66125 +0.4575 +0.28 +0.19624999 +0.18374999 +0.225 +0.29000002 +0.34 +0.3725 +0.39375 +0.42125002 +0.46625003 +0.51625 +0.54875 +0.53499997 +0.48 +0.40375 +0.35 +0.34875003 +0.4025 +0.48375 +0.54875 +0.5575 +0.49375 +0.3775 +0.2525 +0.18374999 +0.175 +0.20749998 +0.26500002 +0.33375 +0.355 +0.31375 +0.23625001 +0.1675 +0.15875 +0.24125001 +0.39249998 +0.55875003 +0.67125 +0.68874997 +0.62 +0.53875 +0.49 +0.5 +0.57875 +0.69875 +0.76125 +0.7225 +0.60499996 +0.4775 +0.42624998 +0.49625 +0.66125005 +0.85249996 +0.98375005 +1.01125 +0.9574999 +0.88375 +0.85875 +0.905 +0.9975 +1.07375 +1.07875 +1.00625 +0.8937501 +0.80125 +0.77625 +0.82 +0.88 +0.89500004 +0.79875004 +0.62375003 +0.41250002 +0.24875 +0.17875 +0.155 +0.16125 +0.1925 +0.24125001 +0.28375003 +0.32749996 +0.3725 +0.42249998 +0.47 +0.49249998 +0.4875 +0.46 +0.42625 +0.41375 +0.43375003 +0.47625002 +0.525 +0.55 +0.5325 +0.475 +0.39375 +0.30874997 +0.24624999 +0.21875001 +0.22625001 +0.2525 +0.27375 +0.27249998 +0.24249998 +0.20125002 +0.1675 +0.17124999 +0.24125 +0.37625 +0.52875 +0.645 +0.6875 +0.65999997 +0.60875 +0.59375 +0.65374994 +0.78249997 +0.92625 +1.0175 +1.0174999 +0.94000006 +0.84499997 +0.81 +0.87625 +1.02625 +1.19875 +1.3225 +1.35375 +1.3087499 +1.2437499 +1.2137499 +1.24375 +1.305 +1.34875 +1.3275001 +1.2325 +1.09625 +0.97499996 +0.91125 +0.9075 +0.9212501 +0.89625007 +0.79875004 +0.62375003 +0.41250002 +0.24875 +0.17875 +0.155 +0.16125 +0.1925 +0.24125001 +0.28375003 +0.32749996 +0.3725 +0.42249998 +0.47 +0.49249998 +0.4875 +0.46 +0.42625 +0.41375 +0.43375003 +0.47625002 +0.525 +0.55 +0.5325 +0.475 +0.39375 +0.30874997 +0.24624999 +0.21875001 +0.22625001 +0.2525 +0.27375 +0.27249998 +0.24249998 +0.20125002 +0.1675 +0.17124999 +0.24125 +0.37625 +0.52875 +0.645 +0.6875 +0.65999997 +0.60875 +0.59375 +0.65374994 +0.78249997 +0.92625 +1.0175 +1.0174999 +0.94000006 +0.84499997 +0.81 +0.87625 +1.02625 +1.19875 +1.3225 +1.35375 +1.3087499 +1.2437499 +1.2137499 +1.24375 +1.305 +1.34875 +1.3275001 +1.2325 +1.09625 +0.97499996 +0.91125 +0.9075 +0.9212501 +0.89625007 +0.73375 +0.57 +0.3825 +0.23374999 +0.16 +0.135 +0.13125 +0.13875 +0.155 +0.18375002 +0.2175 +0.25750002 +0.29625 +0.32500002 +0.335 +0.32875 +0.32125002 +0.32125 +0.33999997 +0.37125 +0.40375 +0.41875002 +0.41 +0.385 +0.34875 +0.31375 +0.285 +0.2625 +0.24499999 +0.23 +0.215 +0.2025 +0.19624999 +0.1875 +0.17625 +0.1675 +0.17 +0.2025 +0.28875 +0.42 +0.54125 +0.62 +0.655 +0.6775 +0.73 +0.845 +1.015 +1.1962501 +1.3325 +1.3874999 +1.36875 +1.3287499 +1.32375 +1.39 +1.5162501 +1.65 +1.7337501 +1.7325 +1.66125 +1.5675001 +1.5075002 +1.4975001 +1.52 +1.5224999 +1.47 +1.3500001 +1.1924999 +1.0425 +0.9425 +0.89875 +0.87749994 +0.83500004 +0.73375 +0.57 +0.3825 +0.23374999 +0.16 +0.135 +0.13125 +0.13875 +0.155 +0.18375002 +0.2175 +0.25750002 +0.29625 +0.32500002 +0.335 +0.32875 +0.32125002 +0.32125 +0.33999997 +0.37125 +0.40375 +0.41875002 +0.41 +0.385 +0.34875 +0.31375 +0.285 +0.2625 +0.24499999 +0.23 +0.215 +0.2025 +0.19624999 +0.1875 +0.17625 +0.1675 +0.17 +0.2025 +0.28875 +0.42 +0.54125 +0.62 +0.655 +0.6775 +0.73 +0.845 +1.015 +1.1962501 +1.3325 +1.3874999 +1.36875 +1.3287499 +1.32375 +1.39 +1.5162501 +1.65 +1.7337501 +1.7325 +1.66125 +1.5675001 +1.5075002 +1.4975001 +1.52 +1.5224999 +1.47 +1.3500001 +1.1924999 +1.0425 +0.9425 +0.89875 +0.87749994 +0.83500004 +0.6625 +0.5274999 +0.36999997 +0.23375 +0.14499998 +0.105 +0.09625 +0.1 +0.10375 +0.10499999 +0.10999999 +0.12124999 +0.13125001 +0.13374999 +0.13374999 +0.13625 +0.1375 +0.15249999 +0.17749998 +0.20374998 +0.2275 +0.21125 +0.1875 +0.18 +0.1775 +0.18375 +0.19375001 +0.1975 +0.19250001 +0.165 +0.13250001 +0.13375 +0.14625 +0.15625 +0.16 +0.155 +0.1525 +0.155 +0.1875 +0.27624997 +0.41125003 +0.5375 +0.64750004 +0.7575 +0.89000005 +1.0675 +1.29 +1.515 +1.7024999 +1.81875 +1.8662498 +1.8787501 +1.9087499 +1.96 +2.04 +2.11125 +2.12375 +2.05625 +1.9250001 +1.78 +1.6650001 +1.6049999 +1.5825 +1.55375 +1.4775001 +1.34375 +1.1725 +1.00625 +0.88750005 +0.8225 +0.78875005 +0.74625003 +0.6625 +0.5274999 +0.36999997 +0.23375 +0.14499998 +0.105 +0.09625 +0.1 +0.10375 +0.10499999 +0.10999999 +0.12124999 +0.13125001 +0.13374999 +0.13374999 +0.13625 +0.1375 +0.15249999 +0.17749998 +0.20374998 +0.2275 +0.21125 +0.1875 +0.18 +0.1775 +0.18375 +0.19375001 +0.1975 +0.19250001 +0.165 +0.13250001 +0.13375 +0.14625 +0.15625 +0.16 +0.155 +0.1525 +0.155 +0.1875 +0.27624997 +0.41125003 +0.5375 +0.64750004 +0.7575 +0.89000005 +1.0675 +1.29 +1.515 +1.7024999 +1.81875 +1.8662498 +1.8787501 +1.9087499 +1.96 +2.04 +2.11125 +2.12375 +2.05625 +1.9250001 +1.78 +1.6650001 +1.6049999 +1.5825 +1.55375 +1.4775001 +1.34375 +1.1725 +1.00625 +0.88750005 +0.8225 +0.78875005 +0.74625003 +0.63000005 +0.53249997 +0.40624997 +0.2825 +0.18375 +0.125 +0.098749995 +0.08625001 +0.081250004 +0.073750004 +0.0575 +0.03625 +0.01875 +0.012499999 +0.02125 +0.03375 +0.0325 +0.02125 +0.048750002 +0.0875 +0.09375 +0.055 +0.0225 +0.04625 +0.06375 +0.0675 +0.07125 +0.08125 +0.0875 +0.055 +0.04625 +0.067499995 +0.1 +0.11875 +0.12375 +0.12125 +0.12 +0.12125 +0.12375 +0.18750001 +0.34750003 +0.535 +0.72749996 +0.92375 +1.1424999 +1.365 +1.6274999 +1.895 +2.12625 +2.29375 +2.3899999 +2.47375 +2.51625 +2.5275 +2.51125 +2.4700003 +2.3925 +2.24375 +2.04125 +1.8300002 +1.66 +1.5474999 +1.49 +1.4425 +1.365 +1.2375 +1.07375 +0.91499996 +0.79875 +0.7375 +0.7125 +0.68499994 +0.63000005 +0.53249997 +0.40624997 +0.2825 +0.18375 +0.125 +0.098749995 +0.08625001 +0.081250004 +0.073750004 +0.0575 +0.03625 +0.01875 +0.012499999 +0.02125 +0.03375 +0.0325 +0.02125 +0.048750002 +0.0875 +0.09375 +0.055 +0.0225 +0.04625 +0.06375 +0.0675 +0.07125 +0.08125 +0.0875 +0.055 +0.04625 +0.067499995 +0.1 +0.11875 +0.12375 +0.12125 +0.12 +0.12125 +0.12375 +0.18750001 +0.34750003 +0.535 +0.72749996 +0.92375 +1.1424999 +1.365 +1.6274999 +1.895 +2.12625 +2.29375 +2.3899999 +2.47375 +2.51625 +2.5275 +2.51125 +2.4700003 +2.3925 +2.24375 +2.04125 +1.8300002 +1.66 +1.5474999 +1.49 +1.4425 +1.365 +1.2375 +1.07375 +0.91499996 +0.79875 +0.7375 +0.7125 +0.68499994 +0.6625 +0.595 +0.4975 +0.39499998 +0.30124998 +0.23250002 +0.18249999 +0.14625001 +0.12625 +0.11125 +0.09 +0.072500005 +0.049999997 +0.01375 +0.0 +0.00625 +0.00125 +0.00875 +0.030000001 +0.065 +0.06125 +0.02 +0.0 +0.0 +0.01875 +0.0125 +0.005 +0.0175 +0.02 +0.0075 +0.0 +0.03 +0.06625 +0.0875 +0.09625 +0.0975 +0.09625 +0.0975 +0.11624999 +0.2175 +0.43125 +0.68874997 +0.96375 +1.255 +1.5262499 +1.7849998 +2.04375 +2.315 +2.57 +2.765 +2.91625 +2.98875 +2.9875 +2.925 +2.8162498 +2.6675 +2.4775 +2.2525 +1.9949999 +1.745 +1.5312499 +1.37375 +1.2837499 +1.2375 +1.1775 +1.08125 +0.955 +0.83124995 +0.74 +0.7 +0.695 +0.69125 +0.6625 +0.595 +0.4975 +0.39499998 +0.30124998 +0.23250002 +0.18249999 +0.14625001 +0.12625 +0.11125 +0.09 +0.072500005 +0.049999997 +0.01375 +0.0 +0.00625 +0.00125 +0.00875 +0.030000001 +0.065 +0.06125 +0.02 +0.0 +0.0 +0.01875 +0.0125 +0.005 +0.0175 +0.02 +0.0075 +0.0 +0.03 +0.06625 +0.0875 +0.09625 +0.0975 +0.09625 +0.0975 +0.11624999 +0.2175 +0.43125 +0.68874997 +0.96375 +1.255 +1.5262499 +1.7849998 +2.04375 +2.315 +2.57 +2.765 +2.91625 +2.98875 +2.9875 +2.925 +2.8162498 +2.6675 +2.4775 +2.2525 +1.9949999 +1.745 +1.5312499 +1.37375 +1.2837499 +1.2375 +1.1775 +1.08125 +0.955 +0.83124995 +0.74 +0.7 +0.695 +0.69125 +0.755 +0.7075 +0.6275 +0.535 +0.44500005 +0.37124997 +0.315 +0.27375 +0.24999999 +0.24125001 +0.23374999 +0.23124999 +0.19 +0.1225 +0.06375 +0.03375 +0.037499998 +0.0725 +0.14125001 +0.1975 +0.18375002 +0.10625 +0.033749998 +0.0025 +0.0025 +0.005 +0.01 +0.00375 +0.0 +0.0 +0.0 +0.02125 +0.05875 +0.085 +0.09875 +0.1175 +0.12875 +0.14375 +0.22125 +0.40500003 +0.6775 +0.99000007 +1.3275 +1.6574999 +1.94625 +2.2050002 +2.4524999 +2.7 +2.9424999 +3.1425 +3.26875 +3.295 +3.21875 +3.0612497 +2.8525 +2.61625 +2.3587499 +2.0887501 +1.8112499 +1.5425 +1.31125 +1.1412501 +1.035 +0.9975 +0.97249997 +0.92875004 +0.8625 +0.7937499 +0.74375004 +0.73499995 +0.75250006 +0.76625 +0.755 +0.7075 +0.6275 +0.535 +0.44500005 +0.37124997 +0.315 +0.27375 +0.24999999 +0.24125001 +0.23374999 +0.23124999 +0.19 +0.1225 +0.06375 +0.03375 +0.037499998 +0.0725 +0.14125001 +0.1975 +0.18375002 +0.10625 +0.033749998 +0.0025 +0.0025 +0.005 +0.01 +0.00375 +0.0 +0.0 +0.0 +0.02125 +0.05875 +0.085 +0.09875 +0.1175 +0.12875 +0.14375 +0.22125 +0.40500003 +0.6775 +0.99000007 +1.3275 +1.6574999 +1.94625 +2.2050002 +2.4524999 +2.7 +2.9424999 +3.1425 +3.26875 +3.295 +3.21875 +3.0612497 +2.8525 +2.61625 +2.3587499 +2.0887501 +1.8112499 +1.5425 +1.31125 +1.1412501 +1.035 +0.9975 +0.97249997 +0.92875004 +0.8625 +0.7937499 +0.74375004 +0.73499995 +0.75250006 +0.76625 +0.87375 +0.83625 +0.76500005 +0.6775 +0.5875 +0.50374997 +0.44 +0.4025 +0.39625 +0.41625 +0.45 +0.47375 +0.44124997 +0.35500002 +0.2575 +0.20125 +0.20875 +0.29749998 +0.41250002 +0.48125002 +0.46124998 +0.35125 +0.20375 +0.107499994 +0.08375 +0.07625 +0.07875 +0.058749996 +0.0112499995 +0.0 +0.00375 +0.0425 +0.08125 +0.13374999 +0.18124999 +0.24249999 +0.29874998 +0.37125003 +0.505 +0.72125 +1.0174999 +1.3575001 +1.6925001 +2.0162501 +2.28 +2.49375 +2.6912498 +2.9000003 +3.1125002 +3.2687502 +3.34625 +3.30875 +3.14875 +2.8987498 +2.60375 +2.31 +2.0362499 +1.7875 +1.5325 +1.28625 +1.06625 +0.89625 +0.7925 +0.76624995 +0.78000003 +0.79625 +0.80125 +0.79875 +0.8 +0.82000005 +0.85249996 +0.87625 +0.87375 +0.83625 +0.76500005 +0.6775 +0.5875 +0.50374997 +0.44 +0.4025 +0.39625 +0.41625 +0.45 +0.47375 +0.44124997 +0.35500002 +0.2575 +0.20125 +0.20875 +0.29749998 +0.41250002 +0.48125002 +0.46124998 +0.35125 +0.20375 +0.107499994 +0.08375 +0.07625 +0.07875 +0.058749996 +0.0112499995 +0.0 +0.00375 +0.0425 +0.08125 +0.13374999 +0.18124999 +0.24249999 +0.29874998 +0.37125003 +0.505 +0.72125 +1.0174999 +1.3575001 +1.6925001 +2.0162501 +2.28 +2.49375 +2.6912498 +2.9000003 +3.1125002 +3.2687502 +3.34625 +3.30875 +3.14875 +2.8987498 +2.60375 +2.31 +2.0362499 +1.7875 +1.5325 +1.28625 +1.06625 +0.89625 +0.7925 +0.76624995 +0.78000003 +0.79625 +0.80125 +0.79875 +0.8 +0.82000005 +0.85249996 +0.87625 +0.96999997 +0.93875 +0.8775 +0.7925 +0.69625 +0.6 +0.5225 +0.48375 +0.49874997 +0.56 +0.645 +0.70375 +0.69375 +0.61875004 +0.52 +0.4575 +0.475 +0.58375 +0.73125 +0.825 +0.80875 +0.6825 +0.525 +0.3975 +0.32624996 +0.30374998 +0.28125 +0.215 +0.11625 +0.04375 +0.0475 +0.09375 +0.16 +0.265 +0.43250003 +0.58375 +0.68375003 +0.7625 +0.87625 +1.065 +1.33875 +1.65875 +1.9675001 +2.21875 +2.4025 +2.5362499 +2.6650002 +2.8162498 +2.9775 +3.1012502 +3.1262503 +3.0200002 +2.7925 +2.4724998 +2.1274998 +1.8187499 +1.585 +1.40625 +1.23125 +1.04125 +0.84749997 +0.6825 +0.58124995 +0.55875 +0.6025 +0.67625 +0.7525 +0.81625 +0.8675 +0.9125 +0.94875 +0.97125 +0.96999997 +0.93875 +0.8775 +0.7925 +0.69625 +0.6 +0.5225 +0.48375 +0.49874997 +0.56 +0.645 +0.70375 +0.69375 +0.61875004 +0.52 +0.4575 +0.475 +0.58375 +0.73125 +0.825 +0.80875 +0.6825 +0.525 +0.3975 +0.32624996 +0.30374998 +0.28125 +0.215 +0.11625 +0.04375 +0.0475 +0.09375 +0.16 +0.265 +0.43250003 +0.58375 +0.68375003 +0.7625 +0.87625 +1.065 +1.33875 +1.65875 +1.9675001 +2.21875 +2.4025 +2.5362499 +2.6650002 +2.8162498 +2.9775 +3.1012502 +3.1262503 +3.0200002 +2.7925 +2.4724998 +2.1274998 +1.8187499 +1.585 +1.40625 +1.23125 +1.04125 +0.84749997 +0.6825 +0.58124995 +0.55875 +0.6025 +0.67625 +0.7525 +0.81625 +0.8675 +0.9125 +0.94875 +0.97125 +1.0125 +0.9887501 +0.94 +0.86 +0.75500005 +0.63500005 +0.53125 +0.48250002 +0.51125 +0.61625004 +0.75124997 +0.855 +0.87375003 +0.8025 +0.6875 +0.61 +0.63625 +0.77875 +0.9700001 +1.10125 +1.09875 +0.98125 +0.81125003 +0.6575 +0.57124996 +0.54875 +0.535 +0.47500002 +0.35250002 +0.23125 +0.1725 +0.20250002 +0.33749998 +0.57374996 +0.84125 +1.03625 +1.14125 +1.18625 +1.2337501 +1.345 +1.54 +1.79125 +2.0375 +2.2150002 +2.305 +2.335 +2.3600001 +2.42625 +2.53625 +2.63625 +2.6512501 +2.5175 +2.24875 +1.8937501 +1.53375 +1.24875 +1.0825 +1.005 +0.9425 +0.84250003 +0.6925 +0.53000003 +0.41 +0.3775 +0.43624997 +0.55375 +0.69124997 +0.815 +0.90625 +0.96374995 +0.99625003 +1.0125 +1.0125 +0.9887501 +0.94 +0.86 +0.75500005 +0.63500005 +0.53125 +0.48250002 +0.51125 +0.61625004 +0.75124997 +0.855 +0.87375003 +0.8025 +0.6875 +0.61 +0.63625 +0.77875 +0.9700001 +1.10125 +1.09875 +0.98125 +0.81125003 +0.6575 +0.57124996 +0.54875 +0.535 +0.47500002 +0.35250002 +0.23125 +0.1725 +0.20250002 +0.33749998 +0.57374996 +0.84125 +1.03625 +1.14125 +1.18625 +1.2337501 +1.345 +1.54 +1.79125 +2.0375 +2.2150002 +2.305 +2.335 +2.3600001 +2.42625 +2.53625 +2.63625 +2.6512501 +2.5175 +2.24875 +1.8937501 +1.53375 +1.24875 +1.0825 +1.005 +0.9425 +0.84250003 +0.6925 +0.53000003 +0.41 +0.3775 +0.43624997 +0.55375 +0.69124997 +0.815 +0.90625 +0.96374995 +0.99625003 +1.0125 +0.995 +0.985 +0.95000005 +0.87875 +0.76000005 +0.61125 +0.4725 +0.4 +0.42875 +0.56125 +0.74249995 +0.88625 +0.92375004 +0.84250003 +0.70124996 +0.6025 +0.62750006 +0.80499995 +1.04125 +1.215 +1.24 +1.13 +0.94749993 +0.7775001 +0.69374996 +0.69124997 +0.715 +0.70124996 +0.60999995 +0.48500004 +0.40624997 +0.45250005 +0.64875 +0.9487499 +1.26125 +1.4837499 +1.57625 +1.5575 +1.505 +1.49875 +1.5812501 +1.7362499 +1.8987501 +1.99625 +1.995 +1.92625 +1.8525001 +1.84375 +1.9137499 +2.01125 +2.045 +1.93125 +1.66625 +1.31625 +0.96625 +0.71875 +0.62125003 +0.65125 +0.70750004 +0.6975 +0.59125 +0.4275 +0.28 +0.22625001 +0.27750003 +0.42624998 +0.61125 +0.78125 +0.89875007 +0.96375006 +0.98875004 +0.99625003 +0.995 +0.985 +0.95000005 +0.87875 +0.76000005 +0.61125 +0.4725 +0.4 +0.42875 +0.56125 +0.74249995 +0.88625 +0.92375004 +0.84250003 +0.70124996 +0.6025 +0.62750006 +0.80499995 +1.04125 +1.215 +1.24 +1.13 +0.94749993 +0.7775001 +0.69374996 +0.69124997 +0.715 +0.70124996 +0.60999995 +0.48500004 +0.40624997 +0.45250005 +0.64875 +0.9487499 +1.26125 +1.4837499 +1.57625 +1.5575 +1.505 +1.49875 +1.5812501 +1.7362499 +1.8987501 +1.99625 +1.995 +1.92625 +1.8525001 +1.84375 +1.9137499 +2.01125 +2.045 +1.93125 +1.66625 +1.31625 +0.96625 +0.71875 +0.62125003 +0.65125 +0.70750004 +0.6975 +0.59125 +0.4275 +0.28 +0.22625001 +0.27750003 +0.42624998 +0.61125 +0.78125 +0.89875007 +0.96375006 +0.98875004 +0.99625003 +0.94624996 +0.94875 +0.9325 +0.8675 +0.73625 +0.55499995 +0.3875 +0.2925 +0.29375 +0.43625 +0.645 +0.81375 +0.86 +0.76374996 +0.59 +0.45749998 +0.48499998 +0.67625 +0.94374996 +1.15875 +1.2175 +1.11375 +0.9337499 +0.765 +0.69 +0.72125 +0.80375 +0.85249996 +0.81999993 +0.73625004 +0.6775 +0.73749995 +0.9525 +1.2800001 +1.615 +1.8499999 +1.91625 +1.825 +1.6600001 +1.5262501 +1.48875 +1.54375 +1.6287501 +1.665 +1.6025002 +1.4637501 +1.32375 +1.26125 +1.30875 +1.42125 +1.4949999 +1.42625 +1.20875 +0.88249993 +0.555 +0.34249997 +0.305 +0.40750003 +0.5575 +0.61875 +0.545 +0.3725 +0.21875001 +0.145 +0.1725 +0.3125 +0.52875 +0.72875 +0.86499995 +0.9325 +0.94875 +0.94624996 +0.94624996 +0.94875 +0.9325 +0.8675 +0.73625 +0.55499995 +0.3875 +0.2925 +0.29375 +0.43625 +0.645 +0.81375 +0.86 +0.76374996 +0.59 +0.45749998 +0.48499998 +0.67625 +0.94374996 +1.15875 +1.2175 +1.11375 +0.9337499 +0.765 +0.69 +0.72125 +0.80375 +0.85249996 +0.81999993 +0.73625004 +0.6775 +0.73749995 +0.9525 +1.2800001 +1.615 +1.8499999 +1.91625 +1.825 +1.6600001 +1.5262501 +1.48875 +1.54375 +1.6287501 +1.665 +1.6025002 +1.4637501 +1.32375 +1.26125 +1.30875 +1.42125 +1.4949999 +1.42625 +1.20875 +0.88249993 +0.555 +0.34249997 +0.305 +0.40750003 +0.5575 +0.61875 +0.545 +0.3725 +0.21875001 +0.145 +0.1725 +0.3125 +0.52875 +0.72875 +0.86499995 +0.9325 +0.94875 +0.94624996 +0.9125 +0.925 +0.9175 +0.85375 +0.71 +0.505 +0.32874998 +0.22375 +0.20125 +0.3 +0.51375 +0.695 +0.74375 +0.63625 +0.44125 +0.27875 +0.29625 +0.49125 +0.77875 +1.0274999 +1.125 +1.04625 +0.885 +0.72625005 +0.665 +0.72875 +0.86125 +0.97374994 +1.005 +0.96375 +0.92625004 +0.98625 +1.19625 +1.5174999 +1.85125 +2.07625 +2.1075 +1.9525 +1.69375 +1.45125 +1.3124999 +1.29125 +1.3325001 +1.3425001 +1.26375 +1.10375 +0.93625003 +0.85499996 +0.89875 +1.035 +1.155 +1.14375 +0.98 +0.68375003 +0.37750003 +0.185 +0.17375 +0.31375 +0.51625 +0.62000006 +0.565 +0.385 +0.22250001 +0.1475 +0.15624999 +0.2625 +0.47375 +0.68625003 +0.83125 +0.89874995 +0.91249996 +0.9075 +0.9125 +0.925 +0.9175 +0.85375 +0.71 +0.505 +0.32874998 +0.22375 +0.20125 +0.3 +0.51375 +0.695 +0.74375 +0.63625 +0.44125 +0.27875 +0.29625 +0.49125 +0.77875 +1.0274999 +1.125 +1.04625 +0.885 +0.72625005 +0.665 +0.72875 +0.86125 +0.97374994 +1.005 +0.96375 +0.92625004 +0.98625 +1.19625 +1.5174999 +1.85125 +2.07625 +2.1075 +1.9525 +1.69375 +1.45125 +1.3124999 +1.29125 +1.3325001 +1.3425001 +1.26375 +1.10375 +0.93625003 +0.85499996 +0.89875 +1.035 +1.155 +1.14375 +0.98 +0.68375003 +0.37750003 +0.185 +0.17375 +0.31375 +0.51625 +0.62000006 +0.565 +0.385 +0.22250001 +0.1475 +0.15624999 +0.2625 +0.47375 +0.68625003 +0.83125 +0.89874995 +0.91249996 +0.9075 +0.60999995 +0.68 +0.78 +0.8975 +1.02125 +1.1550001 +1.3 +1.4512501 +1.59125 +1.69375 +1.7287501 +1.6825 +1.565 +1.4 +1.2125 +1.0174999 +0.84624994 +0.6875 +0.53875 +0.41375002 +0.33124998 +0.30125 +0.31124997 +0.29250002 +0.21125 +0.095000006 +0.0575 +0.06625 +0.085 +0.10875 +0.1375 +0.20999998 +0.3575 +0.47625 +0.53625005 +0.57125 +0.61375 +0.685 +0.7875 +0.90749997 +1.035 +1.17 +1.3125 +1.46 +1.595 +1.6912501 +1.72 +1.66875 +1.5475 +1.38125 +1.19125 +0.9925 +0.8225 +0.66625 +0.52124995 +0.4025 +0.32625 +0.30375 +0.31625003 +0.2975 +0.21625 +0.10000001 +0.052500002 +0.06375 +0.085 +0.11125 +0.14 +0.22125001 +0.36374998 +0.47749996 +0.535 +0.56875 +0.60999995 +0.68 +0.78 +0.8975 +1.02125 +1.1550001 +1.3 +1.4512501 +1.59125 +1.69375 +1.7287501 +1.6825 +1.565 +1.4 +1.2125 +1.0174999 +0.84624994 +0.6875 +0.53875 +0.41375002 +0.33124998 +0.30125 +0.31124997 +0.29250002 +0.21125 +0.095000006 +0.0575 +0.06625 +0.085 +0.10875 +0.1375 +0.20999998 +0.3575 +0.47625 +0.53625005 +0.57125 +0.61375 +0.685 +0.7875 +0.90749997 +1.035 +1.17 +1.3125 +1.46 +1.595 +1.6912501 +1.72 +1.66875 +1.5475 +1.38125 +1.19125 +0.9925 +0.8225 +0.66625 +0.52124995 +0.4025 +0.32625 +0.30375 +0.31625003 +0.2975 +0.21625 +0.10000001 +0.052500002 +0.06375 +0.085 +0.11125 +0.14 +0.22125001 +0.36374998 +0.47749996 +0.535 +0.56875 +0.58375 +0.64250004 +0.72875 +0.83625 +0.9574999 +1.09625 +1.2562499 +1.43 +1.5962499 +1.72375 +1.7787501 +1.7487501 +1.6399999 +1.4725001 +1.27875 +1.0749999 +0.88124996 +0.71500003 +0.56 +0.43 +0.34125 +0.31375 +0.32 +0.30874997 +0.24125 +0.1325 +0.057499997 +0.0575 +0.07 +0.0925 +0.12625 +0.22999999 +0.3825 +0.5025 +0.56500006 +0.595 +0.62874997 +0.6925 +0.78625 +0.90625 +1.03875 +1.1825 +1.3337499 +1.48125 +1.6137499 +1.70125 +1.7175001 +1.65625 +1.5275 +1.3462499 +1.1437501 +0.93499994 +0.74625 +0.59000003 +0.45749998 +0.35875 +0.30875 +0.32125 +0.34749997 +0.34125 +0.26875 +0.155 +0.0625 +0.0525 +0.075 +0.1025 +0.16125001 +0.28 +0.40749994 +0.49625 +0.53499997 +0.55500007 +0.58375 +0.64250004 +0.72875 +0.83625 +0.9574999 +1.09625 +1.2562499 +1.43 +1.5962499 +1.72375 +1.7787501 +1.7487501 +1.6399999 +1.4725001 +1.27875 +1.0749999 +0.88124996 +0.71500003 +0.56 +0.43 +0.34125 +0.31375 +0.32 +0.30874997 +0.24125 +0.1325 +0.057499997 +0.0575 +0.07 +0.0925 +0.12625 +0.22999999 +0.3825 +0.5025 +0.56500006 +0.595 +0.62874997 +0.6925 +0.78625 +0.90625 +1.03875 +1.1825 +1.3337499 +1.48125 +1.6137499 +1.70125 +1.7175001 +1.65625 +1.5275 +1.3462499 +1.1437501 +0.93499994 +0.74625 +0.59000003 +0.45749998 +0.35875 +0.30875 +0.32125 +0.34749997 +0.34125 +0.26875 +0.155 +0.0625 +0.0525 +0.075 +0.1025 +0.16125001 +0.28 +0.40749994 +0.49625 +0.53499997 +0.55500007 +0.52500004 +0.56125003 +0.62624997 +0.71625 +0.8325 +0.97749996 +1.16125 +1.37625 +1.5925 +1.77 +1.8687501 +1.8687501 +1.77 +1.60625 +1.4037501 +1.1912501 +0.9837501 +0.79875004 +0.63874996 +0.50375 +0.40625 +0.36875 +0.375 +0.37625 +0.33249998 +0.23625001 +0.12875 +0.06375 +0.045 +0.066250004 +0.1425 +0.285 +0.44750002 +0.57 +0.6325 +0.65000004 +0.66625 +0.705 +0.78249997 +0.895 +1.035 +1.19375 +1.35625 +1.50875 +1.63125 +1.6975 +1.6925 +1.6075001 +1.4562501 +1.2574999 +1.03625 +0.8125 +0.6175 +0.46499997 +0.35375 +0.29375 +0.30125 +0.35750002 +0.4125 +0.4225 +0.36375 +0.2525 +0.13875 +0.0875 +0.09625 +0.15125 +0.255 +0.38125 +0.48 +0.52500004 +0.5275 +0.5175 +0.52500004 +0.56125003 +0.62624997 +0.71625 +0.8325 +0.97749996 +1.16125 +1.37625 +1.5925 +1.77 +1.8687501 +1.8687501 +1.77 +1.60625 +1.4037501 +1.1912501 +0.9837501 +0.79875004 +0.63874996 +0.50375 +0.40625 +0.36875 +0.375 +0.37625 +0.33249998 +0.23625001 +0.12875 +0.06375 +0.045 +0.066250004 +0.1425 +0.285 +0.44750002 +0.57 +0.6325 +0.65000004 +0.66625 +0.705 +0.78249997 +0.895 +1.035 +1.19375 +1.35625 +1.50875 +1.63125 +1.6975 +1.6925 +1.6075001 +1.4562501 +1.2574999 +1.03625 +0.8125 +0.6175 +0.46499997 +0.35375 +0.29375 +0.30125 +0.35750002 +0.4125 +0.4225 +0.36375 +0.2525 +0.13875 +0.0875 +0.09625 +0.15125 +0.255 +0.38125 +0.48 +0.52500004 +0.5275 +0.5175 +0.4675 +0.47875002 +0.5175 +0.5825 +0.67875 +0.82625 +1.02875 +1.2824999 +1.5525 +1.78625 +1.93875 +1.98125 +1.90875 +1.7524999 +1.55875 +1.34875 +1.1475 +0.9675 +0.81624997 +0.68625 +0.5875 +0.53000003 +0.5275 +0.54625 +0.53375 +0.4625 +0.34125003 +0.21375 +0.13374999 +0.1425 +0.24374999 +0.405 +0.56624997 +0.68375003 +0.7375 +0.73625004 +0.71875 +0.72125 +0.7675 +0.86625004 +1.00875 +1.17625 +1.3475001 +1.4975 +1.6 +1.6424999 +1.6087501 +1.5037501 +1.3375 +1.13 +0.9 +0.68 +0.49625 +0.35375002 +0.26749998 +0.2525 +0.31125 +0.40875 +0.48625 +0.50374997 +0.45500004 +0.36124998 +0.26 +0.20624998 +0.22375 +0.3025 +0.40875003 +0.49875003 +0.54375 +0.545 +0.51624995 +0.48125002 +0.4675 +0.47875002 +0.5175 +0.5825 +0.67875 +0.82625 +1.02875 +1.2824999 +1.5525 +1.78625 +1.93875 +1.98125 +1.90875 +1.7524999 +1.55875 +1.34875 +1.1475 +0.9675 +0.81624997 +0.68625 +0.5875 +0.53000003 +0.5275 +0.54625 +0.53375 +0.4625 +0.34125003 +0.21375 +0.13374999 +0.1425 +0.24374999 +0.405 +0.56624997 +0.68375003 +0.7375 +0.73625004 +0.71875 +0.72125 +0.7675 +0.86625004 +1.00875 +1.17625 +1.3475001 +1.4975 +1.6 +1.6424999 +1.6087501 +1.5037501 +1.3375 +1.13 +0.9 +0.68 +0.49625 +0.35375002 +0.26749998 +0.2525 +0.31125 +0.40875 +0.48625 +0.50374997 +0.45500004 +0.36124998 +0.26 +0.20624998 +0.22375 +0.3025 +0.40875003 +0.49875003 +0.54375 +0.545 +0.51624995 +0.48125002 +0.43625003 +0.42875004 +0.43750003 +0.46499997 +0.5325 +0.6625 +0.86749995 +1.1425 +1.4512501 +1.7325 +1.93875 +2.0375001 +2.00625 +1.8774999 +1.70125 +1.52375 +1.3525 +1.21375 +1.0887499 +0.97375 +0.88124996 +0.8225 +0.805 +0.82125 +0.83750004 +0.79 +0.69625 +0.57750005 +0.47000003 +0.4225 +0.45499998 +0.585 +0.7325 +0.83875 +0.87375 +0.8425 +0.78249997 +0.7375001 +0.74625003 +0.825 +0.9625 +1.1325 +1.3025 +1.4649999 +1.55625 +1.56125 +1.4837501 +1.3525 +1.18875 +0.98875004 +0.78624994 +0.59625 +0.42499998 +0.29874998 +0.24125 +0.2625 +0.35 +0.4675 +0.5475 +0.56625 +0.51375 +0.42125002 +0.33625 +0.3125 +0.35500002 +0.43875 +0.52125 +0.5725 +0.5775 +0.54625 +0.50125 +0.46000004 +0.43625003 +0.42875004 +0.43750003 +0.46499997 +0.5325 +0.6625 +0.86749995 +1.1425 +1.4512501 +1.7325 +1.93875 +2.0375001 +2.00625 +1.8774999 +1.70125 +1.52375 +1.3525 +1.21375 +1.0887499 +0.97375 +0.88124996 +0.8225 +0.805 +0.82125 +0.83750004 +0.79 +0.69625 +0.57750005 +0.47000003 +0.4225 +0.45499998 +0.585 +0.7325 +0.83875 +0.87375 +0.8425 +0.78249997 +0.7375001 +0.74625003 +0.825 +0.9625 +1.1325 +1.3025 +1.4649999 +1.55625 +1.56125 +1.4837501 +1.3525 +1.18875 +0.98875004 +0.78624994 +0.59625 +0.42499998 +0.29874998 +0.24125 +0.2625 +0.35 +0.4675 +0.5475 +0.56625 +0.51375 +0.42125002 +0.33625 +0.3125 +0.35500002 +0.43875 +0.52125 +0.5725 +0.5775 +0.54625 +0.50125 +0.46000004 +0.435 +0.41500002 +0.39375 +0.3825 +0.40749997 +0.50624996 +0.69375 +0.96624994 +1.2824999 +1.59125 +1.8299999 +1.9775 +2.00375 +1.93 +1.80625 +1.6775 +1.5674999 +1.475 +1.385 +1.2924999 +1.2049999 +1.14375 +1.125 +1.1400001 +1.1625 +1.14125 +1.0625 +0.9325 +0.795 +0.70500004 +0.695 +0.7775 +0.90625 +0.9975 +1.01 +0.94500005 +0.8424999 +0.755 +0.7325 +0.7925 +0.92375004 +1.09125 +1.2687501 +1.41375 +1.4725001 +1.445 +1.345 +1.2037499 +1.0487499 +0.8875 +0.7225 +0.5575 +0.41 +0.305 +0.2725 +0.3175 +0.41875 +0.52875 +0.59125 +0.58000004 +0.50124997 +0.40125 +0.33249998 +0.345 +0.41250002 +0.505 +0.57125 +0.59375 +0.57375 +0.53 +0.48875 +0.4575 +0.435 +0.41500002 +0.39375 +0.3825 +0.40749997 +0.50624996 +0.69375 +0.96624994 +1.2824999 +1.59125 +1.8299999 +1.9775 +2.00375 +1.93 +1.80625 +1.6775 +1.5674999 +1.475 +1.385 +1.2924999 +1.2049999 +1.14375 +1.125 +1.1400001 +1.1625 +1.14125 +1.0625 +0.9325 +0.795 +0.70500004 +0.695 +0.7775 +0.90625 +0.9975 +1.01 +0.94500005 +0.8424999 +0.755 +0.7325 +0.7925 +0.92375004 +1.09125 +1.2687501 +1.41375 +1.4725001 +1.445 +1.345 +1.2037499 +1.0487499 +0.8875 +0.7225 +0.5575 +0.41 +0.305 +0.2725 +0.3175 +0.41875 +0.52875 +0.59125 +0.58000004 +0.50124997 +0.40125 +0.33249998 +0.345 +0.41250002 +0.505 +0.57125 +0.59375 +0.57375 +0.53 +0.48875 +0.4575 +0.44875002 +0.41875002 +0.36874998 +0.3175 +0.30249998 +0.36125004 +0.52 +0.76625 +1.0712501 +1.37625 +1.62375 +1.7987499 +1.8812499 +1.8774999 +1.8275 +1.7750001 +1.72 +1.6712499 +1.6075001 +1.52625 +1.4362499 +1.3675001 +1.34375 +1.3625 +1.4087499 +1.39625 +1.3087499 +1.17 +1.01125 +0.89375 +0.85625 +0.9275 +1.0375 +1.11 +1.10375 +1.01125 +0.87999994 +0.76874995 +0.73125005 +0.78749996 +0.91875005 +1.08375 +1.2375 +1.35875 +1.3875 +1.3312501 +1.21875 +1.095 +0.96624994 +0.81874996 +0.68875 +0.55375004 +0.4275 +0.34500003 +0.32875 +0.38500002 +0.48624998 +0.57875 +0.59625 +0.53999996 +0.43 +0.32375 +0.28625 +0.33625 +0.435 +0.5325 +0.58625007 +0.5875 +0.54875004 +0.50375 +0.4725 +0.46125004 +0.44875002 +0.41875002 +0.36874998 +0.3175 +0.30249998 +0.36125004 +0.52 +0.76625 +1.0712501 +1.37625 +1.62375 +1.7987499 +1.8812499 +1.8774999 +1.8275 +1.7750001 +1.72 +1.6712499 +1.6075001 +1.52625 +1.4362499 +1.3675001 +1.34375 +1.3625 +1.4087499 +1.39625 +1.3087499 +1.17 +1.01125 +0.89375 +0.85625 +0.9275 +1.0375 +1.11 +1.10375 +1.01125 +0.87999994 +0.76874995 +0.73125005 +0.78749996 +0.91875005 +1.08375 +1.2375 +1.35875 +1.3875 +1.3312501 +1.21875 +1.095 +0.96624994 +0.81874996 +0.68875 +0.55375004 +0.4275 +0.34500003 +0.32875 +0.38500002 +0.48624998 +0.57875 +0.59625 +0.53999996 +0.43 +0.32375 +0.28625 +0.33625 +0.435 +0.5325 +0.58625007 +0.5875 +0.54875004 +0.50375 +0.4725 +0.46125004 +0.44625002 +0.40749997 +0.3325 +0.25500003 +0.20874998 +0.22874999 +0.35625 +0.5725 +0.84499997 +1.1212499 +1.3587501 +1.5387499 +1.65625 +1.72625 +1.77125 +1.80125 +1.8025 +1.7625 +1.6975 +1.6112499 +1.5087501 +1.4300001 +1.4025 +1.4675001 +1.5250001 +1.52 +1.41875 +1.25 +1.0875 +0.96 +0.93750006 +1.00125 +1.0925 +1.14625 +1.1187501 +1.0125 +0.87500006 +0.76750004 +0.7425 +0.81374997 +0.9562501 +1.1225001 +1.2575 +1.33125 +1.33875 +1.26375 +1.1725001 +1.0699999 +0.95625 +0.825 +0.67375 +0.555 +0.44625 +0.37624997 +0.3725 +0.44125 +0.55125004 +0.61125004 +0.58250004 +0.47125 +0.33875 +0.25 +0.2525 +0.34125 +0.47125003 +0.57375 +0.61125 +0.58124995 +0.52250004 +0.47250003 +0.45125002 +0.45250002 +0.44625002 +0.40749997 +0.3325 +0.25500003 +0.20874998 +0.22874999 +0.35625 +0.5725 +0.84499997 +1.1212499 +1.3587501 +1.5387499 +1.65625 +1.72625 +1.77125 +1.80125 +1.8025 +1.7625 +1.6975 +1.6112499 +1.5087501 +1.4300001 +1.4025 +1.4675001 +1.5250001 +1.52 +1.41875 +1.25 +1.0875 +0.96 +0.93750006 +1.00125 +1.0925 +1.14625 +1.1187501 +1.0125 +0.87500006 +0.76750004 +0.7425 +0.81374997 +0.9562501 +1.1225001 +1.2575 +1.33125 +1.33875 +1.26375 +1.1725001 +1.0699999 +0.95625 +0.825 +0.67375 +0.555 +0.44625 +0.37624997 +0.3725 +0.44125 +0.55125004 +0.61125004 +0.58250004 +0.47125 +0.33875 +0.25 +0.2525 +0.34125 +0.47125003 +0.57375 +0.61125 +0.58124995 +0.52250004 +0.47250003 +0.45125002 +0.45250002 +0.41499996 +0.36249998 +0.28625 +0.21125 +0.14999999 +0.14375 +0.21749999 +0.405 +0.635 +0.865 +1.07375 +1.24875 +1.4025 +1.5387499 +1.665 +1.76875 +1.82125 +1.8025 +1.7112501 +1.5874999 +1.4775 +1.4125 +1.4324999 +1.50375 +1.56625 +1.5587499 +1.46 +1.2875 +1.1125 +0.9962501 +0.9700001 +1.0162499 +1.0825 +1.1075 +1.0587499 +0.94750005 +0.82374996 +0.74749994 +0.75625 +0.85375005 +1.0125 +1.1812501 +1.3075 +1.3625 +1.3487501 +1.28125 +1.19375 +1.09625 +0.99375 +0.86875 +0.71999997 +0.56374997 +0.44375 +0.38125002 +0.41125 +0.50625 +0.6025 +0.63374996 +0.57125 +0.435 +0.2975 +0.22874999 +0.26874998 +0.39625 +0.5475 +0.65000004 +0.66125 +0.59625 +0.50874996 +0.4425 +0.42000005 +0.42499998 +0.41499996 +0.36249998 +0.28625 +0.21125 +0.14999999 +0.14375 +0.21749999 +0.405 +0.635 +0.865 +1.07375 +1.24875 +1.4025 +1.5387499 +1.665 +1.76875 +1.82125 +1.8025 +1.7112501 +1.5874999 +1.4775 +1.4125 +1.4324999 +1.50375 +1.56625 +1.5587499 +1.46 +1.2875 +1.1125 +0.9962501 +0.9700001 +1.0162499 +1.0825 +1.1075 +1.0587499 +0.94750005 +0.82374996 +0.74749994 +0.75625 +0.85375005 +1.0125 +1.1812501 +1.3075 +1.3625 +1.3487501 +1.28125 +1.19375 +1.09625 +0.99375 +0.86875 +0.71999997 +0.56374997 +0.44375 +0.38125002 +0.41125 +0.50625 +0.6025 +0.63374996 +0.57125 +0.435 +0.2975 +0.22874999 +0.26874998 +0.39625 +0.5475 +0.65000004 +0.66125 +0.59625 +0.50874996 +0.4425 +0.42000005 +0.42499998 +0.36875 +0.33249998 +0.27124998 +0.20875 +0.16 +0.135 +0.1625 +0.27625 +0.465 +0.645 +0.81250006 +0.97249997 +1.1487501 +1.345 +1.5487499 +1.72125 +1.82375 +1.82875 +1.7512498 +1.6287501 +1.52625 +1.49125 +1.5325 +1.6162499 +1.675 +1.6562501 +1.5425 +1.3625 +1.18125 +1.05875 +1.0124999 +1.02625 +1.0475 +1.03 +0.95625 +0.84375 +0.745 +0.70625 +0.75124997 +0.875 +1.04 +1.2 +1.3100001 +1.35375 +1.3349999 +1.275 +1.19875 +1.1125 +1.0174999 +0.89624995 +0.74375 +0.58500004 +0.4625 +0.41375 +0.45499998 +0.55375004 +0.6437501 +0.66 +0.5775 +0.43 +0.29874998 +0.25875 +0.33874997 +0.49875 +0.66249996 +0.74875003 +0.72375 +0.61875004 +0.49500003 +0.41250002 +0.38374996 +0.385 +0.36875 +0.33249998 +0.27124998 +0.20875 +0.16 +0.135 +0.1625 +0.27625 +0.465 +0.645 +0.81250006 +0.97249997 +1.1487501 +1.345 +1.5487499 +1.72125 +1.82375 +1.82875 +1.7512498 +1.6287501 +1.52625 +1.49125 +1.5325 +1.6162499 +1.675 +1.6562501 +1.5425 +1.3625 +1.18125 +1.05875 +1.0124999 +1.02625 +1.0475 +1.03 +0.95625 +0.84375 +0.745 +0.70625 +0.75124997 +0.875 +1.04 +1.2 +1.3100001 +1.35375 +1.3349999 +1.275 +1.19875 +1.1125 +1.0174999 +0.89624995 +0.74375 +0.58500004 +0.4625 +0.41375 +0.45499998 +0.55375004 +0.6437501 +0.66 +0.5775 +0.43 +0.29874998 +0.25875 +0.33874997 +0.49875 +0.66249996 +0.74875003 +0.72375 +0.61875004 +0.49500003 +0.41250002 +0.38374996 +0.385 +0.34125 +0.31625 +0.27125 +0.2175 +0.175 +0.155 +0.16875 +0.22625001 +0.35125002 +0.485 +0.60625 +0.74999994 +0.94499993 +1.19625 +1.4725001 +1.7175 +1.87875 +1.92625 +1.8837501 +1.8025 +1.74875 +1.765 +1.8462499 +1.9437499 +1.98875 +1.93875 +1.7850001 +1.5737499 +1.3687499 +1.2175 +1.1324999 +1.08875 +1.04625 +0.97 +0.85999995 +0.74625003 +0.66749996 +0.66125 +0.73125005 +0.85499996 +0.9975 +1.1225001 +1.2025 +1.2275001 +1.20875 +1.1637499 +1.10875 +1.0475 +0.96875 +0.85625 +0.71375 +0.5625 +0.45375 +0.42499998 +0.48250002 +0.59124994 +0.685 +0.69374996 +0.60625 +0.45999998 +0.34000003 +0.325 +0.43 +0.61 +0.7675 +0.82875 +0.76374996 +0.61875 +0.47250003 +0.37874997 +0.35 +0.34999996 +0.34125 +0.31625 +0.27125 +0.2175 +0.175 +0.155 +0.16875 +0.22625001 +0.35125002 +0.485 +0.60625 +0.74999994 +0.94499993 +1.19625 +1.4725001 +1.7175 +1.87875 +1.92625 +1.8837501 +1.8025 +1.74875 +1.765 +1.8462499 +1.9437499 +1.98875 +1.93875 +1.7850001 +1.5737499 +1.3687499 +1.2175 +1.1324999 +1.08875 +1.04625 +0.97 +0.85999995 +0.74625003 +0.66749996 +0.66125 +0.73125005 +0.85499996 +0.9975 +1.1225001 +1.2025 +1.2275001 +1.20875 +1.1637499 +1.10875 +1.0475 +0.96875 +0.85625 +0.71375 +0.5625 +0.45375 +0.42499998 +0.48250002 +0.59124994 +0.685 +0.69374996 +0.60625 +0.45999998 +0.34000003 +0.325 +0.43 +0.61 +0.7675 +0.82875 +0.76374996 +0.61875 +0.47250003 +0.37874997 +0.35 +0.34999996 +0.3275 +0.29125 +0.24875 +0.2 +0.165 +0.155 +0.17 +0.22375 +0.3125 +0.39874998 +0.48749998 +0.61625 +0.83 +1.13125 +1.47625 +1.79375 +2.02 +2.13 +2.15 +2.14375 +2.1750002 +2.26875 +2.40125 +2.51125 +2.5262501 +2.4175 +2.2024999 +1.9575001 +1.7175 +1.5074999 +1.3425001 +1.225 +1.10375 +0.95875 +0.81 +0.6925 +0.63 +0.6375 +0.70125 +0.7925 +0.8825 +0.94250005 +0.97 +0.98875 +0.97999996 +0.94125 +0.89625 +0.86750007 +0.81874996 +0.7325 +0.615 +0.49249998 +0.41250002 +0.41375 +0.5 +0.62624997 +0.72499996 +0.73499995 +0.64625 +0.50374997 +0.39875 +0.39375 +0.5075 +0.68 +0.81625 +0.8425 +0.74375 +0.57375 +0.41875002 +0.33375 +0.3225 +0.33374998 +0.3275 +0.29125 +0.24875 +0.2 +0.165 +0.155 +0.17 +0.22375 +0.3125 +0.39874998 +0.48749998 +0.61625 +0.83 +1.13125 +1.47625 +1.79375 +2.02 +2.13 +2.15 +2.14375 +2.1750002 +2.26875 +2.40125 +2.51125 +2.5262501 +2.4175 +2.2024999 +1.9575001 +1.7175 +1.5074999 +1.3425001 +1.225 +1.10375 +0.95875 +0.81 +0.6925 +0.63 +0.6375 +0.70125 +0.7925 +0.8825 +0.94250005 +0.97 +0.98875 +0.97999996 +0.94125 +0.89625 +0.86750007 +0.81874996 +0.7325 +0.615 +0.49249998 +0.41250002 +0.41375 +0.5 +0.62624997 +0.72499996 +0.73499995 +0.64625 +0.50374997 +0.39875 +0.39375 +0.5075 +0.68 +0.81625 +0.8425 +0.74375 +0.57375 +0.41875002 +0.33375 +0.3225 +0.33374998 +0.32 +0.25875 +0.20375 +0.16 +0.13375 +0.13375 +0.1625 +0.23874998 +0.32999998 +0.39874998 +0.4675 +0.59000003 +0.82249993 +1.1662499 +1.56625 +1.9424999 +2.2275 +2.39625 +2.4887502 +2.5862498 +2.745 +2.9125001 +3.06375 +3.1625001 +3.1337502 +2.9625 +2.71125 +2.4125 +2.11875 +1.85625 +1.625 +1.40625 +1.19625 +0.99500006 +0.81875 +0.70000005 +0.65125 +0.655 +0.68874997 +0.7225 +0.73249996 +0.72625 +0.7200001 +0.71000004 +0.7 +0.68 +0.65250003 +0.61875 +0.59499997 +0.54625 +0.475 +0.42625 +0.39624998 +0.40499997 +0.5075 +0.65500003 +0.7625 +0.77375 +0.68500006 +0.5475 +0.44625002 +0.4425 +0.545 +0.6937499 +0.7925 +0.77874994 +0.65125 +0.47375 +0.33249998 +0.275 +0.29874998 +0.3375 +0.32 +0.25875 +0.20375 +0.16 +0.13375 +0.13375 +0.1625 +0.23874998 +0.32999998 +0.39874998 +0.4675 +0.59000003 +0.82249993 +1.1662499 +1.56625 +1.9424999 +2.2275 +2.39625 +2.4887502 +2.5862498 +2.745 +2.9125001 +3.06375 +3.1625001 +3.1337502 +2.9625 +2.71125 +2.4125 +2.11875 +1.85625 +1.625 +1.40625 +1.19625 +0.99500006 +0.81875 +0.70000005 +0.65125 +0.655 +0.68874997 +0.7225 +0.73249996 +0.72625 +0.7200001 +0.71000004 +0.7 +0.68 +0.65250003 +0.61875 +0.59499997 +0.54625 +0.475 +0.42625 +0.39624998 +0.40499997 +0.5075 +0.65500003 +0.7625 +0.77375 +0.68500006 +0.5475 +0.44625002 +0.4425 +0.545 +0.6937499 +0.7925 +0.77874994 +0.65125 +0.47375 +0.33249998 +0.275 +0.29874998 +0.3375 +0.34249997 +0.25125 +0.15625 +0.11125 +0.09 +0.09875 +0.16624999 +0.28625 +0.395 +0.46749997 +0.5325 +0.66125005 +0.90874994 +1.275 +1.7037501 +2.105 +2.415 +2.61875 +2.7625 +2.955 +3.1962502 +3.425 +3.6 +3.6625 +3.5774999 +3.3525 +3.0325 +2.68375 +2.3575 +2.06625 +1.80125 +1.5424999 +1.29 +1.06125 +0.88874996 +0.78999996 +0.75625 +0.75625 +0.74625 +0.70500004 +0.63125 +0.54625 +0.47750002 +0.43500003 +0.41875 +0.4125 +0.4075 +0.39749998 +0.385 +0.36999997 +0.3575 +0.355 +0.37 +0.4125 +0.515 +0.67625004 +0.78625 +0.79625 +0.70625 +0.57 +0.46750003 +0.45749998 +0.53875005 +0.65375 +0.71000004 +0.65749997 +0.50875 +0.3325 +0.22 +0.2075 +0.27125 +0.345 +0.34249997 +0.25125 +0.15625 +0.11125 +0.09 +0.09875 +0.16624999 +0.28625 +0.395 +0.46749997 +0.5325 +0.66125005 +0.90874994 +1.275 +1.7037501 +2.105 +2.415 +2.61875 +2.7625 +2.955 +3.1962502 +3.425 +3.6 +3.6625 +3.5774999 +3.3525 +3.0325 +2.68375 +2.3575 +2.06625 +1.80125 +1.5424999 +1.29 +1.06125 +0.88874996 +0.78999996 +0.75625 +0.75625 +0.74625 +0.70500004 +0.63125 +0.54625 +0.47750002 +0.43500003 +0.41875 +0.4125 +0.4075 +0.39749998 +0.385 +0.36999997 +0.3575 +0.355 +0.37 +0.4125 +0.515 +0.67625004 +0.78625 +0.79625 +0.70625 +0.57 +0.46750003 +0.45749998 +0.53875005 +0.65375 +0.71000004 +0.65749997 +0.50875 +0.3325 +0.22 +0.2075 +0.27125 +0.345 +0.35625002 +0.26125 +0.13624999 +0.06875 +0.04875 +0.088750005 +0.21125 +0.37249997 +0.50625 +0.58625 +0.65250003 +0.78375006 +1.03375 +1.3975 +1.81375 +2.1975 +2.4837499 +2.67125 +2.81625 +3.02 +3.29 +3.53625 +3.7025 +3.7312498 +3.59375 +3.31375 +2.96 +2.60125 +2.2849998 +2.01 +1.7562499 +1.5062499 +1.26125 +1.04375 +0.895 +0.82874995 +0.81999993 +0.82124996 +0.78749996 +0.69374996 +0.55875 +0.41375002 +0.30375 +0.24375 +0.22500001 +0.22750002 +0.23125002 +0.22875002 +0.22625001 +0.2275 +0.23875001 +0.27375 +0.32875 +0.3975 +0.52625 +0.68875 +0.79375 +0.7937499 +0.69750005 +0.5625 +0.46124998 +0.4475 +0.51125 +0.59000003 +0.605 +0.51625 +0.35125002 +0.18999998 +0.11624999 +0.14 +0.23625 +0.33874997 +0.35625002 +0.26125 +0.13624999 +0.06875 +0.04875 +0.088750005 +0.21125 +0.37249997 +0.50625 +0.58625 +0.65250003 +0.78375006 +1.03375 +1.3975 +1.81375 +2.1975 +2.4837499 +2.67125 +2.81625 +3.02 +3.29 +3.53625 +3.7025 +3.7312498 +3.59375 +3.31375 +2.96 +2.60125 +2.2849998 +2.01 +1.7562499 +1.5062499 +1.26125 +1.04375 +0.895 +0.82874995 +0.81999993 +0.82124996 +0.78749996 +0.69374996 +0.55875 +0.41375002 +0.30375 +0.24375 +0.22500001 +0.22750002 +0.23125002 +0.22875002 +0.22625001 +0.2275 +0.23875001 +0.27375 +0.32875 +0.3975 +0.52625 +0.68875 +0.79375 +0.7937499 +0.69750005 +0.5625 +0.46124998 +0.4475 +0.51125 +0.59000003 +0.605 +0.51625 +0.35125002 +0.18999998 +0.11624999 +0.14 +0.23625 +0.33874997 +0.35000002 +0.275 +0.14125 +0.05375 +0.045 +0.1325 +0.29749998 +0.48624998 +0.62874997 +0.70500004 +0.7674999 +0.8925 +1.12875 +1.4625 +1.8275001 +2.14375 +2.3525 +2.4725 +2.56125 +2.69625 +2.9387503 +3.1587498 +3.3087502 +3.32875 +3.15625 +2.83625 +2.46 +2.14375 +1.8887501 +1.6862501 +1.53 +1.355 +1.15375 +0.95875 +0.8225 +0.78125 +0.805 +0.8225 +0.79875 +0.71875 +0.58 +0.41750002 +0.275 +0.1825 +0.16624999 +0.17250001 +0.1725 +0.195 +0.20125 +0.19125001 +0.17750001 +0.20750001 +0.28625 +0.37750003 +0.54375 +0.6975 +0.78249997 +0.765 +0.65749997 +0.52625 +0.43625 +0.425 +0.4775 +0.53000003 +0.51124996 +0.39625 +0.21874999 +0.085 +0.0425 +0.09125 +0.19749999 +0.31374997 +0.35000002 +0.275 +0.14125 +0.05375 +0.045 +0.1325 +0.29749998 +0.48624998 +0.62874997 +0.70500004 +0.7674999 +0.8925 +1.12875 +1.4625 +1.8275001 +2.14375 +2.3525 +2.4725 +2.56125 +2.69625 +2.9387503 +3.1587498 +3.3087502 +3.32875 +3.15625 +2.83625 +2.46 +2.14375 +1.8887501 +1.6862501 +1.53 +1.355 +1.15375 +0.95875 +0.8225 +0.78125 +0.805 +0.8225 +0.79875 +0.71875 +0.58 +0.41750002 +0.275 +0.1825 +0.16624999 +0.17250001 +0.1725 +0.195 +0.20125 +0.19125001 +0.17750001 +0.20750001 +0.28625 +0.37750003 +0.54375 +0.6975 +0.78249997 +0.765 +0.65749997 +0.52625 +0.43625 +0.425 +0.4775 +0.53000003 +0.51124996 +0.39625 +0.21874999 +0.085 +0.0425 +0.09125 +0.19749999 +0.31374997 +0.34375003 +0.285 +0.17125 +0.091249995 +0.10374999 +0.22125 +0.40875 +0.595 +0.72 +0.77875006 +0.82375 +0.9275 +1.12875 +1.41 +1.69875 +1.9137502 +2.0162501 +2.0300002 +2.02875 +2.0887501 +2.24 +2.4275 +2.56 +2.54625 +2.3675 +2.0675 +1.7425001 +1.48625 +1.3374999 +1.26625 +1.20875 +1.1112499 +0.96999997 +0.82124996 +0.71875 +0.69125 +0.73125 +0.78375 +0.79625 +0.745 +0.63000005 +0.48874998 +0.36875004 +0.29250002 +0.265 +0.27125 +0.2875 +0.29375002 +0.27499998 +0.23625001 +0.20625 +0.21000001 +0.275 +0.40750003 +0.57000005 +0.7075 +0.76250005 +0.71875 +0.59875005 +0.47375003 +0.39124998 +0.38875 +0.445 +0.48624998 +0.44875002 +0.315 +0.14 +0.02375 +0.0075 +0.0625 +0.17250001 +0.2925 +0.34375003 +0.285 +0.17125 +0.091249995 +0.10374999 +0.22125 +0.40875 +0.595 +0.72 +0.77875006 +0.82375 +0.9275 +1.12875 +1.41 +1.69875 +1.9137502 +2.0162501 +2.0300002 +2.02875 +2.0887501 +2.24 +2.4275 +2.56 +2.54625 +2.3675 +2.0675 +1.7425001 +1.48625 +1.3374999 +1.26625 +1.20875 +1.1112499 +0.96999997 +0.82124996 +0.71875 +0.69125 +0.73125 +0.78375 +0.79625 +0.745 +0.63000005 +0.48874998 +0.36875004 +0.29250002 +0.265 +0.27125 +0.2875 +0.29375002 +0.27499998 +0.23625001 +0.20625 +0.21000001 +0.275 +0.40750003 +0.57000005 +0.7075 +0.76250005 +0.71875 +0.59875005 +0.47375003 +0.39124998 +0.38875 +0.445 +0.48624998 +0.44875002 +0.315 +0.14 +0.02375 +0.0075 +0.0625 +0.17250001 +0.2925 +0.35750002 +0.31500003 +0.22625001 +0.17 +0.20499998 +0.33125 +0.51125 +0.66375 +0.74875 +0.77375 +0.78749996 +0.85749996 +1.0125 +1.2275001 +1.42875 +1.54125 +1.53125 +1.4375 +1.34125 +1.3249999 +1.41375 +1.55875 +1.6612501 +1.63875 +1.47125 +1.2125 +0.96375 +0.80625 +0.77125007 +0.81624997 +0.86249995 +0.85375 +0.77125 +0.65875 +0.5725 +0.55625 +0.60499996 +0.68125 +0.73 +0.72125 +0.6525 +0.55375004 +0.46125004 +0.40625 +0.39249998 +0.40875 +0.42624998 +0.4225 +0.38375 +0.31875 +0.26000002 +0.24625 +0.30625 +0.43624997 +0.5899999 +0.70875 +0.73749995 +0.66375005 +0.53625005 +0.42749998 +0.355 +0.35375002 +0.42000002 +0.46375 +0.4175 +0.28 +0.11875 +0.02 +0.00875 +0.0675 +0.185 +0.30375 +0.35750002 +0.31500003 +0.22625001 +0.17 +0.20499998 +0.33125 +0.51125 +0.66375 +0.74875 +0.77375 +0.78749996 +0.85749996 +1.0125 +1.2275001 +1.42875 +1.54125 +1.53125 +1.4375 +1.34125 +1.3249999 +1.41375 +1.55875 +1.6612501 +1.63875 +1.47125 +1.2125 +0.96375 +0.80625 +0.77125007 +0.81624997 +0.86249995 +0.85375 +0.77125 +0.65875 +0.5725 +0.55625 +0.60499996 +0.68125 +0.73 +0.72125 +0.6525 +0.55375004 +0.46125004 +0.40625 +0.39249998 +0.40875 +0.42624998 +0.4225 +0.38375 +0.31875 +0.26000002 +0.24625 +0.30625 +0.43624997 +0.5899999 +0.70875 +0.73749995 +0.66375005 +0.53625005 +0.42749998 +0.355 +0.35375002 +0.42000002 +0.46375 +0.4175 +0.28 +0.11875 +0.02 +0.00875 +0.0675 +0.185 +0.30375 +0.41875002 +0.38125 +0.3075 +0.2675 +0.30875 +0.425 +0.57124996 +0.68 +0.71625 +0.69375 +0.66625 +0.69750005 +0.80625004 +0.95874995 +1.085 +1.1075 +1.0100001 +0.83874995 +0.6775 +0.61125 +0.66124994 +0.78 +0.87125003 +0.85625005 +0.71875 +0.51125 +0.34374997 +0.26749998 +0.31374997 +0.45125 +0.58375 +0.64250004 +0.6075 +0.51374996 +0.425 +0.39375 +0.435 +0.52 +0.60249996 +0.64125 +0.62 +0.55625 +0.48874998 +0.44375 +0.44125 +0.47 +0.5025 +0.50625 +0.46374997 +0.38125002 +0.3 +0.26624998 +0.31375 +0.43625 +0.5875 +0.695 +0.70375 +0.60875005 +0.48999998 +0.39625 +0.33875 +0.3425 +0.41750002 +0.47124997 +0.43249997 +0.30124998 +0.15 +0.06 +0.0525 +0.12625 +0.255 +0.37125 +0.41875002 +0.38125 +0.3075 +0.2675 +0.30875 +0.425 +0.57124996 +0.68 +0.71625 +0.69375 +0.66625 +0.69750005 +0.80625004 +0.95874995 +1.085 +1.1075 +1.0100001 +0.83874995 +0.6775 +0.61125 +0.66124994 +0.78 +0.87125003 +0.85625005 +0.71875 +0.51125 +0.34374997 +0.26749998 +0.31374997 +0.45125 +0.58375 +0.64250004 +0.6075 +0.51374996 +0.425 +0.39375 +0.435 +0.52 +0.60249996 +0.64125 +0.62 +0.55625 +0.48874998 +0.44375 +0.44125 +0.47 +0.5025 +0.50625 +0.46374997 +0.38125002 +0.3 +0.26624998 +0.31375 +0.43625 +0.5875 +0.695 +0.70375 +0.60875005 +0.48999998 +0.39625 +0.33875 +0.3425 +0.41750002 +0.47124997 +0.43249997 +0.30124998 +0.15 +0.06 +0.0525 +0.12625 +0.255 +0.37125 +0.52250004 +0.4725 +0.39499998 +0.3525 +0.38499996 +0.47750002 +0.57875 +0.6399999 +0.63 +0.56874996 +0.50874996 +0.51124996 +0.5825 +0.68625003 +0.7525 +0.72124994 +0.575 +0.3875 +0.22625 +0.14 +0.18875 +0.285 +0.36124998 +0.36375 +0.2525 +0.105 +0.015000001 +0.02 +0.072500005 +0.22375001 +0.40874997 +0.50874996 +0.50124997 +0.41125 +0.3075 +0.26375002 +0.2925 +0.3675 +0.4575 +0.53000003 +0.545 +0.5025 +0.4375 +0.38875 +0.40875 +0.45499998 +0.48875004 +0.51875 +0.4875 +0.40375 +0.305 +0.27125 +0.32125 +0.40125 +0.5525 +0.66 +0.66499996 +0.57 +0.45125 +0.375 +0.34125 +0.375 +0.4625 +0.53000003 +0.50625 +0.3925 +0.25125 +0.16874999 +0.17374998 +0.26 +0.3925 +0.49875 +0.52250004 +0.4725 +0.39499998 +0.3525 +0.38499996 +0.47750002 +0.57875 +0.6399999 +0.63 +0.56874996 +0.50874996 +0.51124996 +0.5825 +0.68625003 +0.7525 +0.72124994 +0.575 +0.3875 +0.22625 +0.14 +0.18875 +0.285 +0.36124998 +0.36375 +0.2525 +0.105 +0.015000001 +0.02 +0.072500005 +0.22375001 +0.40874997 +0.50874996 +0.50124997 +0.41125 +0.3075 +0.26375002 +0.2925 +0.3675 +0.4575 +0.53000003 +0.545 +0.5025 +0.4375 +0.38875 +0.40875 +0.45499998 +0.48875004 +0.51875 +0.4875 +0.40375 +0.305 +0.27125 +0.32125 +0.40125 +0.5525 +0.66 +0.66499996 +0.57 +0.45125 +0.375 +0.34125 +0.375 +0.4625 +0.53000003 +0.50625 +0.3925 +0.25125 +0.16874999 +0.17374998 +0.26 +0.3925 +0.49875 +0.64624995 +0.56624997 +0.46625 +0.40375 +0.40749997 +0.46750003 +0.5325 +0.55625004 +0.52000004 +0.44375 +0.37625003 +0.365 +0.41375002 +0.48624998 +0.51750004 +0.45874998 +0.32125 +0.18124999 +0.06 +0.005 +0.04 +0.1275 +0.19 +0.17500001 +0.085 +0.00375 +0.0 +0.0 +0.04625 +0.19375 +0.3525 +0.44125 +0.44125003 +0.3625 +0.26749998 +0.21000001 +0.2175 +0.2875 +0.38249996 +0.45374998 +0.475 +0.44125 +0.39125 +0.36125 +0.375 +0.42875 +0.49125004 +0.51625 +0.48625 +0.4075 +0.3225 +0.28625 +0.315 +0.38625002 +0.51 +0.63374996 +0.65999997 +0.58875 +0.47875005 +0.41 +0.41375 +0.48875 +0.59999996 +0.6775 +0.66375005 +0.56625 +0.4425 +0.36499998 +0.37875 +0.47125003 +0.5875 +0.65749997 +0.64624995 +0.56624997 +0.46625 +0.40375 +0.40749997 +0.46750003 +0.5325 +0.55625004 +0.52000004 +0.44375 +0.37625003 +0.365 +0.41375002 +0.48624998 +0.51750004 +0.45874998 +0.32125 +0.18124999 +0.06 +0.005 +0.04 +0.1275 +0.19 +0.17500001 +0.085 +0.00375 +0.0 +0.0 +0.04625 +0.19375 +0.3525 +0.44125 +0.44125003 +0.3625 +0.26749998 +0.21000001 +0.2175 +0.2875 +0.38249996 +0.45374998 +0.475 +0.44125 +0.39125 +0.36125 +0.375 +0.42875 +0.49125004 +0.51625 +0.48625 +0.4075 +0.3225 +0.28625 +0.315 +0.38625002 +0.51 +0.63374996 +0.65999997 +0.58875 +0.47875005 +0.41 +0.41375 +0.48875 +0.59999996 +0.6775 +0.66375005 +0.56625 +0.4425 +0.36499998 +0.37875 +0.47125003 +0.5875 +0.65749997 +0.74375 +0.6225 +0.48875 +0.39625 +0.36874998 +0.39625 +0.43625 +0.44625002 +0.41125003 +0.34875 +0.29999998 +0.2975 +0.34250003 +0.3975 +0.41000003 +0.35375 +0.2525 +0.14625 +0.045 +0.01625 +0.068749994 +0.165 +0.22874999 +0.21375 +0.13125 +0.045 +0.00625 +0.00875 +0.074999996 +0.21124999 +0.3475 +0.42624998 +0.4225 +0.34625 +0.24625 +0.17875001 +0.17750001 +0.24624999 +0.35125 +0.44125 +0.475 +0.44625 +0.385 +0.3375 +0.34125 +0.40249997 +0.48499998 +0.53875 +0.53 +0.45875 +0.36499998 +0.3075 +0.32 +0.39125 +0.51874995 +0.6675 +0.73125005 +0.70875 +0.63750005 +0.58874995 +0.6225 +0.7275 +0.85125 +0.92625004 +0.9125 +0.81999993 +0.70625 +0.63374996 +0.63875 +0.7075 +0.78125 +0.80249995 +0.74375 +0.6225 +0.48875 +0.39625 +0.36874998 +0.39625 +0.43625 +0.44625002 +0.41125003 +0.34875 +0.29999998 +0.2975 +0.34250003 +0.3975 +0.41000003 +0.35375 +0.2525 +0.14625 +0.045 +0.01625 +0.068749994 +0.165 +0.22874999 +0.21375 +0.13125 +0.045 +0.00625 +0.00875 +0.074999996 +0.21124999 +0.3475 +0.42624998 +0.4225 +0.34625 +0.24625 +0.17875001 +0.17750001 +0.24624999 +0.35125 +0.44125 +0.475 +0.44625 +0.385 +0.3375 +0.34125 +0.40249997 +0.48499998 +0.53875 +0.53 +0.45875 +0.36499998 +0.3075 +0.32 +0.39125 +0.51874995 +0.6675 +0.73125005 +0.70875 +0.63750005 +0.58874995 +0.6225 +0.7275 +0.85125 +0.92625004 +0.9125 +0.81999993 +0.70625 +0.63374996 +0.63875 +0.7075 +0.78125 +0.80249995 +0.77875 +0.61499995 +0.44875002 +0.3275 +0.275 +0.27875 +0.30624998 +0.3225 +0.31249997 +0.29 +0.27874997 +0.29999998 +0.34875 +0.39375 +0.39625 +0.34499997 +0.2575 +0.16624999 +0.08625 +0.074999996 +0.17125 +0.26624998 +0.30875 +0.2975 +0.21625 +0.1075 +0.04875 +0.047500003 +0.10875 +0.20875001 +0.30499998 +0.35875 +0.3575 +0.3 +0.21249999 +0.15 +0.155 +0.22625001 +0.34249997 +0.44750002 +0.48749998 +0.46 +0.4 +0.34875 +0.35375002 +0.42125 +0.52 +0.5975 +0.625 +0.56625 +0.4575 +0.39249998 +0.3975 +0.47625 +0.645 +0.82374996 +0.93499994 +0.9625 +0.94249994 +0.93375003 +0.985 +1.08875 +1.2012501 +1.2562499 +1.2249999 +1.1225001 +0.99749994 +0.9075 +0.88250005 +0.9025 +0.9225 +0.88625 +0.77875 +0.61499995 +0.44875002 +0.3275 +0.275 +0.27875 +0.30624998 +0.3225 +0.31249997 +0.29 +0.27874997 +0.29999998 +0.34875 +0.39375 +0.39625 +0.34499997 +0.2575 +0.16624999 +0.08625 +0.074999996 +0.17125 +0.26624998 +0.30875 +0.2975 +0.21625 +0.1075 +0.04875 +0.047500003 +0.10875 +0.20875001 +0.30499998 +0.35875 +0.3575 +0.3 +0.21249999 +0.15 +0.155 +0.22625001 +0.34249997 +0.44750002 +0.48749998 +0.46 +0.4 +0.34875 +0.35375002 +0.42125 +0.52 +0.5975 +0.625 +0.56625 +0.4575 +0.39249998 +0.3975 +0.47625 +0.645 +0.82374996 +0.93499994 +0.9625 +0.94249994 +0.93375003 +0.985 +1.08875 +1.2012501 +1.2562499 +1.2249999 +1.1225001 +0.99749994 +0.9075 +0.88250005 +0.9025 +0.9225 +0.88625 +0.73875 +0.54875 +0.36249998 +0.24749999 +0.18874998 +0.17749998 +0.195 +0.21875 +0.23625001 +0.24875 +0.26999998 +0.3175 +0.37 +0.40625 +0.39999998 +0.34875 +0.28 +0.22125 +0.17999999 +0.2 +0.26749998 +0.34 +0.37624997 +0.355 +0.28125 +0.18374999 +0.09875 +0.08250001 +0.11749999 +0.17 +0.22749999 +0.28500003 +0.3 +0.26875 +0.21499999 +0.18 +0.19625 +0.27625 +0.39 +0.495 +0.5425 +0.515 +0.445 +0.40750003 +0.42874998 +0.50875 +0.63625 +0.77375 +0.83375 +0.7975 +0.70000005 +0.61875 +0.62375 +0.74125 +0.935 +1.13625 +1.28125 +1.3475 +1.3625 +1.375 +1.42375 +1.5050001 +1.5812501 +1.60125 +1.5375 +1.40625 +1.25125 +1.1225 +1.04875 +1.015 +0.97375005 +0.88750005 +0.73875 +0.54875 +0.36249998 +0.24749999 +0.18874998 +0.17749998 +0.195 +0.21875 +0.23625001 +0.24875 +0.26999998 +0.3175 +0.37 +0.40625 +0.39999998 +0.34875 +0.28 +0.22125 +0.17999999 +0.2 +0.26749998 +0.34 +0.37624997 +0.355 +0.28125 +0.18374999 +0.09875 +0.08250001 +0.11749999 +0.17 +0.22749999 +0.28500003 +0.3 +0.26875 +0.21499999 +0.18 +0.19625 +0.27625 +0.39 +0.495 +0.5425 +0.515 +0.445 +0.40750003 +0.42874998 +0.50875 +0.63625 +0.77375 +0.83375 +0.7975 +0.70000005 +0.61875 +0.62375 +0.74125 +0.935 +1.13625 +1.28125 +1.3475 +1.3625 +1.375 +1.42375 +1.5050001 +1.5812501 +1.60125 +1.5375 +1.40625 +1.25125 +1.1225 +1.04875 +1.015 +0.97375005 +0.88750005 +0.6525 +0.45624998 +0.30125 +0.21875 +0.175 +0.155 +0.1575 +0.16875 +0.18 +0.20125002 +0.23374999 +0.28999996 +0.34000003 +0.36125 +0.34375003 +0.2975 +0.26125 +0.2325 +0.22500001 +0.26125 +0.31 +0.345 +0.34875 +0.31375 +0.26375 +0.20624998 +0.1525 +0.11875 +0.12125 +0.145 +0.17875001 +0.20750001 +0.22124998 +0.21874999 +0.20375 +0.19375 +0.22 +0.29625002 +0.40125 +0.5025 +0.5625 +0.56875 +0.54125 +0.52625 +0.575 +0.6975 +0.86875 +1.03125 +1.12125 +1.125 +1.07125 +1.025 +1.055 +1.185 +1.3812499 +1.585 +1.7362499 +1.80875 +1.8225 +1.82375 +1.84 +1.875 +1.9000001 +1.87 +1.765 +1.5974998 +1.40625 +1.2362502 +1.115 +1.0274999 +0.93875 +0.81874996 +0.6525 +0.45624998 +0.30125 +0.21875 +0.175 +0.155 +0.1575 +0.16875 +0.18 +0.20125002 +0.23374999 +0.28999996 +0.34000003 +0.36125 +0.34375003 +0.2975 +0.26125 +0.2325 +0.22500001 +0.26125 +0.31 +0.345 +0.34875 +0.31375 +0.26375 +0.20624998 +0.1525 +0.11875 +0.12125 +0.145 +0.17875001 +0.20750001 +0.22124998 +0.21874999 +0.20375 +0.19375 +0.22 +0.29625002 +0.40125 +0.5025 +0.5625 +0.56875 +0.54125 +0.52625 +0.575 +0.6975 +0.86875 +1.03125 +1.12125 +1.125 +1.07125 +1.025 +1.055 +1.185 +1.3812499 +1.585 +1.7362499 +1.80875 +1.8225 +1.82375 +1.84 +1.875 +1.9000001 +1.87 +1.765 +1.5974998 +1.40625 +1.2362502 +1.115 +1.0274999 +0.93875 +0.81874996 +0.5725 +0.40374994 +0.27749997 +0.20875 +0.16 +0.135 +0.13125 +0.13625 +0.13625 +0.13375 +0.15875001 +0.19500001 +0.22749999 +0.225 +0.20125 +0.18625 +0.17750001 +0.17000002 +0.1775 +0.20374998 +0.23250002 +0.23499998 +0.21624999 +0.20499998 +0.19624999 +0.17499998 +0.14999999 +0.13000001 +0.11750001 +0.11375 +0.121249996 +0.14375 +0.16125 +0.17375 +0.17999999 +0.1825 +0.19875 +0.24749999 +0.34125006 +0.44375 +0.52625 +0.5812501 +0.615 +0.66375005 +0.76250005 +0.92375 +1.12625 +1.31875 +1.4550002 +1.5150001 +1.5212499 +1.53125 +1.5962499 +1.7325 +1.9149998 +2.08875 +2.2075 +2.245 +2.21625 +2.16625 +2.125 +2.0975 +2.0637498 +1.9862499 +1.8437501 +1.65 +1.435 +1.24 +1.085 +0.96875 +0.85875 +0.7325 +0.5725 +0.40374994 +0.27749997 +0.20875 +0.16 +0.135 +0.13125 +0.13625 +0.13625 +0.13375 +0.15875001 +0.19500001 +0.22749999 +0.225 +0.20125 +0.18625 +0.17750001 +0.17000002 +0.1775 +0.20374998 +0.23250002 +0.23499998 +0.21624999 +0.20499998 +0.19624999 +0.17499998 +0.14999999 +0.13000001 +0.11750001 +0.11375 +0.121249996 +0.14375 +0.16125 +0.17375 +0.17999999 +0.1825 +0.19875 +0.24749999 +0.34125006 +0.44375 +0.52625 +0.5812501 +0.615 +0.66375005 +0.76250005 +0.92375 +1.12625 +1.31875 +1.4550002 +1.5150001 +1.5212499 +1.53125 +1.5962499 +1.7325 +1.9149998 +2.08875 +2.2075 +2.245 +2.21625 +2.16625 +2.125 +2.0975 +2.0637498 +1.9862499 +1.8437501 +1.65 +1.435 +1.24 +1.085 +0.96875 +0.85875 +0.7325 +0.54499996 +0.40124997 +0.27624997 +0.185 +0.13125 +0.1025 +0.09625 +0.1 +0.10125 +0.08875 +0.074999996 +0.074999996 +0.08 +0.07625 +0.076249994 +0.0825 +0.08125 +0.07125 +0.06625 +0.08125 +0.091249995 +0.0775 +0.088750005 +0.106249996 +0.11625 +0.111250006 +0.097500004 +0.08625 +0.072500005 +0.06375 +0.0775 +0.1075 +0.14 +0.15625 +0.16 +0.155 +0.15875 +0.17875 +0.22999999 +0.34125 +0.46249998 +0.57375 +0.67999995 +0.7975001 +0.95124996 +1.1500001 +1.38625 +1.6137499 +1.7987502 +1.9225 +1.9962499 +2.06 +2.15625 +2.2762501 +2.41625 +2.53125 +2.58 +2.54375 +2.44125 +2.3175 +2.20125 +2.1087499 +2.02625 +1.915 +1.7625 +1.56625 +1.3525001 +1.15625 +1.0024999 +0.88750005 +0.7875 +0.67875 +0.54499996 +0.40124997 +0.27624997 +0.185 +0.13125 +0.1025 +0.09625 +0.1 +0.10125 +0.08875 +0.074999996 +0.074999996 +0.08 +0.07625 +0.076249994 +0.0825 +0.08125 +0.07125 +0.06625 +0.08125 +0.091249995 +0.0775 +0.088750005 +0.106249996 +0.11625 +0.111250006 +0.097500004 +0.08625 +0.072500005 +0.06375 +0.0775 +0.1075 +0.14 +0.15625 +0.16 +0.155 +0.15875 +0.17875 +0.22999999 +0.34125 +0.46249998 +0.57375 +0.67999995 +0.7975001 +0.95124996 +1.1500001 +1.38625 +1.6137499 +1.7987502 +1.9225 +1.9962499 +2.06 +2.15625 +2.2762501 +2.41625 +2.53125 +2.58 +2.54375 +2.44125 +2.3175 +2.20125 +2.1087499 +2.02625 +1.915 +1.7625 +1.56625 +1.3525001 +1.15625 +1.0024999 +0.88750005 +0.7875 +0.67875 +0.6025 +0.47875 +0.34625 +0.23375 +0.1525 +0.1 +0.0725 +0.0675 +0.06875 +0.0575 +0.035 +0.01125 +0.0 +0.0025 +0.01875 +0.03375 +0.0325 +0.01 +0.00375 +0.02 +0.0225 +0.00875 +0.00125 +0.0425 +0.06375 +0.0575 +0.0325 +0.012499999 +0.0175 +0.0075 +0.0275 +0.06625 +0.1 +0.11875 +0.12375 +0.12125 +0.12 +0.125 +0.15 +0.265 +0.43250003 +0.61 +0.78625 +0.96875 +1.1800001 +1.3975 +1.6524999 +1.9075001 +2.1312501 +2.30375 +2.42625 +2.5600002 +2.67 +2.75 +2.79375 +2.7962499 +2.75125 +2.6275 +2.44375 +2.24 +2.05875 +1.915 +1.80125 +1.6862501 +1.55 +1.3837498 +1.20375 +1.0425 +0.92375004 +0.84 +0.77374995 +0.70124996 +0.6025 +0.47875 +0.34625 +0.23375 +0.1525 +0.1 +0.0725 +0.0675 +0.06875 +0.0575 +0.035 +0.01125 +0.0 +0.0025 +0.01875 +0.03375 +0.0325 +0.01 +0.00375 +0.02 +0.0225 +0.00875 +0.00125 +0.0425 +0.06375 +0.0575 +0.0325 +0.012499999 +0.0175 +0.0075 +0.0275 +0.06625 +0.1 +0.11875 +0.12375 +0.12125 +0.12 +0.125 +0.15 +0.265 +0.43250003 +0.61 +0.78625 +0.96875 +1.1800001 +1.3975 +1.6524999 +1.9075001 +2.1312501 +2.30375 +2.42625 +2.5600002 +2.67 +2.75 +2.79375 +2.7962499 +2.75125 +2.6275 +2.44375 +2.24 +2.05875 +1.915 +1.80125 +1.6862501 +1.55 +1.3837498 +1.20375 +1.0425 +0.92375004 +0.84 +0.77374995 +0.70124996 +0.7425 +0.6375 +0.51500005 +0.39499998 +0.28375 +0.1925 +0.12625 +0.0875 +0.06625 +0.049999997 +0.02875 +0.015 +0.0025 +0.0 +0.0 +0.00625 +0.00125 +0.0 +0.0125 +0.0375 +0.03625 +0.01125 +0.0 +0.0 +0.01875 +0.0125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.06625 +0.0875 +0.09625 +0.0975 +0.09625 +0.0975 +0.13499999 +0.28625 +0.5075 +0.74625003 +0.99 +1.245 +1.48125 +1.7062502 +1.93375 +2.17875 +2.41625 +2.6125002 +2.7875 +2.9112499 +2.97875 +2.9899998 +2.9437501 +2.8387501 +2.68125 +2.48 +2.23625 +1.99375 +1.77375 +1.5912502 +1.4612501 +1.3675 +1.2725 +1.16375 +1.05125 +0.955 +0.89125 +0.86125 +0.84 +0.8075 +0.7425 +0.6375 +0.51500005 +0.39499998 +0.28375 +0.1925 +0.12625 +0.0875 +0.06625 +0.049999997 +0.02875 +0.015 +0.0025 +0.0 +0.0 +0.00625 +0.00125 +0.0 +0.0125 +0.0375 +0.03625 +0.01125 +0.0 +0.0 +0.01875 +0.0125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.06625 +0.0875 +0.09625 +0.0975 +0.09625 +0.0975 +0.13499999 +0.28625 +0.5075 +0.74625003 +0.99 +1.245 +1.48125 +1.7062502 +1.93375 +2.17875 +2.41625 +2.6125002 +2.7875 +2.9112499 +2.97875 +2.9899998 +2.9437501 +2.8387501 +2.68125 +2.48 +2.23625 +1.99375 +1.77375 +1.5912502 +1.4612501 +1.3675 +1.2725 +1.16375 +1.05125 +0.955 +0.89125 +0.86125 +0.84 +0.8075 +0.92125 +0.83375 +0.71625006 +0.59125 +0.46875 +0.36124998 +0.26874998 +0.2 +0.15374999 +0.1325 +0.122499995 +0.11874999 +0.09 +0.04625 +0.01125 +0.005 +0.015 +0.03875 +0.1075 +0.175 +0.1675 +0.09625 +0.02625 +0.0 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02125 +0.05875 +0.085 +0.09875 +0.10375 +0.106249996 +0.1275 +0.23125 +0.43625 +0.70625 +0.9912499 +1.2787501 +1.55125 +1.78125 +1.9837499 +2.17875 +2.38125 +2.59375 +2.785 +2.935 +3.0124998 +3.01125 +2.93375 +2.79375 +2.6075 +2.3899999 +2.1437502 +1.88625 +1.6325 +1.40625 +1.22625 +1.1 +1.04 +1.0 +0.96750003 +0.93749994 +0.91999996 +0.9225 +0.9475 +0.9725 +0.96875 +0.92125 +0.83375 +0.71625006 +0.59125 +0.46875 +0.36124998 +0.26874998 +0.2 +0.15374999 +0.1325 +0.122499995 +0.11874999 +0.09 +0.04625 +0.01125 +0.005 +0.015 +0.03875 +0.1075 +0.175 +0.1675 +0.09625 +0.02625 +0.0 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02125 +0.05875 +0.085 +0.09875 +0.10375 +0.106249996 +0.1275 +0.23125 +0.43625 +0.70625 +0.9912499 +1.2787501 +1.55125 +1.78125 +1.9837499 +2.17875 +2.38125 +2.59375 +2.785 +2.935 +3.0124998 +3.01125 +2.93375 +2.79375 +2.6075 +2.3899999 +2.1437502 +1.88625 +1.6325 +1.40625 +1.22625 +1.1 +1.04 +1.0 +0.96750003 +0.93749994 +0.91999996 +0.9225 +0.9475 +0.9725 +0.96875 +1.09375 +1.015 +0.90375 +0.77750003 +0.65000004 +0.53 +0.42625 +0.35125002 +0.3175 +0.31875002 +0.33875 +0.35375 +0.315 +0.22625 +0.14 +0.105 +0.11875 +0.215 +0.3475 +0.43375 +0.42 +0.31375003 +0.16499999 +0.06999999 +0.04875 +0.02625 +0.0125 +0.0 +0.0 +0.0 +0.00375 +0.0425 +0.08125 +0.11125 +0.14999999 +0.18249999 +0.22125 +0.30374998 +0.4675 +0.70124996 +0.98875004 +1.28875 +1.5637499 +1.81625 +2.0075 +2.14875 +2.2775002 +2.425 +2.59125 +2.72875 +2.82375 +2.84125 +2.76 +2.59875 +2.3825 +2.1475 +1.9175 +1.70125 +1.4737501 +1.255 +1.0575 +0.89624995 +0.79 +0.75625 +0.7725 +0.81125003 +0.86499995 +0.9275 +0.995 +1.06375 +1.1162499 +1.1287498 +1.09375 +1.015 +0.90375 +0.77750003 +0.65000004 +0.53 +0.42625 +0.35125002 +0.3175 +0.31875002 +0.33875 +0.35375 +0.315 +0.22625 +0.14 +0.105 +0.11875 +0.215 +0.3475 +0.43375 +0.42 +0.31375003 +0.16499999 +0.06999999 +0.04875 +0.02625 +0.0125 +0.0 +0.0 +0.0 +0.00375 +0.0425 +0.08125 +0.11125 +0.14999999 +0.18249999 +0.22125 +0.30374998 +0.4675 +0.70124996 +0.98875004 +1.28875 +1.5637499 +1.81625 +2.0075 +2.14875 +2.2775002 +2.425 +2.59125 +2.72875 +2.82375 +2.84125 +2.76 +2.59875 +2.3825 +2.1475 +1.9175 +1.70125 +1.4737501 +1.255 +1.0575 +0.89624995 +0.79 +0.75625 +0.7725 +0.81125003 +0.86499995 +0.9275 +0.995 +1.06375 +1.1162499 +1.1287498 +1.215 +1.14625 +1.0475 +0.92875 +0.79999995 +0.6675 +0.5525 +0.47875 +0.46375 +0.5025 +0.56624997 +0.61125 +0.59125 +0.50875 +0.40875 +0.34625 +0.37 +0.485 +0.635 +0.73 +0.71500003 +0.59125 +0.43124998 +0.29125 +0.2 +0.15125 +0.11 +0.05375 +0.0025 +0.01625 +0.04625 +0.08375 +0.13125001 +0.2025 +0.31125 +0.44 +0.55625 +0.66499996 +0.81125003 +1.0150001 +1.27 +1.5462501 +1.79 +1.9712499 +2.0774999 +2.1375 +2.1875 +2.2649999 +2.365 +2.45625 +2.4912498 +2.43875 +2.29625 +2.07125 +1.8125 +1.56875 +1.38375 +1.2425001 +1.1025 +0.9524999 +0.79625 +0.6575 +0.565 +0.54499996 +0.59499997 +0.69375 +0.82 +0.9512501 +1.06875 +1.165 +1.22625 +1.2425 +1.215 +1.14625 +1.0475 +0.92875 +0.79999995 +0.6675 +0.5525 +0.47875 +0.46375 +0.5025 +0.56624997 +0.61125 +0.59125 +0.50875 +0.40875 +0.34625 +0.37 +0.485 +0.635 +0.73 +0.71500003 +0.59125 +0.43124998 +0.29125 +0.2 +0.15125 +0.11 +0.05375 +0.0025 +0.01625 +0.04625 +0.08375 +0.13125001 +0.2025 +0.31125 +0.44 +0.55625 +0.66499996 +0.81125003 +1.0150001 +1.27 +1.5462501 +1.79 +1.9712499 +2.0774999 +2.1375 +2.1875 +2.2649999 +2.365 +2.45625 +2.4912498 +2.43875 +2.29625 +2.07125 +1.8125 +1.56875 +1.38375 +1.2425001 +1.1025 +0.9524999 +0.79625 +0.6575 +0.565 +0.54499996 +0.59499997 +0.69375 +0.82 +0.9512501 +1.06875 +1.165 +1.22625 +1.2425 +1.265 +1.2125 +1.1337501 +1.02875 +0.8975 +0.75000006 +0.61875 +0.54125 +0.54499996 +0.62749994 +0.7425 +0.82874995 +0.83250004 +0.74750006 +0.62249994 +0.5375 +0.55500007 +0.6825 +0.8562499 +0.97125006 +0.95875 +0.83375 +0.65875 +0.49375 +0.38750002 +0.33375 +0.29125002 +0.22125 +0.13375 +0.08125 +0.1 +0.15125 +0.23625 +0.43499997 +0.68625003 +0.88875 +1.02 +1.1 +1.18 +1.29875 +1.47375 +1.68125 +1.86625 +1.97875 +2.005 +1.96625 +1.91375 +1.9 +1.9375001 +1.9975002 +2.01125 +1.9300001 +1.745 +1.48875 +1.2149999 +0.99625 +0.87875 +0.84125006 +0.8225 +0.7675 +0.6625 +0.53375 +0.43124998 +0.40375 +0.46625003 +0.605 +0.7825 +0.96250004 +1.11375 +1.2175001 +1.2725 +1.28625 +1.265 +1.2125 +1.1337501 +1.02875 +0.8975 +0.75000006 +0.61875 +0.54125 +0.54499996 +0.62749994 +0.7425 +0.82874995 +0.83250004 +0.74750006 +0.62249994 +0.5375 +0.55500007 +0.6825 +0.8562499 +0.97125006 +0.95875 +0.83375 +0.65875 +0.49375 +0.38750002 +0.33375 +0.29125002 +0.22125 +0.13375 +0.08125 +0.1 +0.15125 +0.23625 +0.43499997 +0.68625003 +0.88875 +1.02 +1.1 +1.18 +1.29875 +1.47375 +1.68125 +1.86625 +1.97875 +2.005 +1.96625 +1.91375 +1.9 +1.9375001 +1.9975002 +2.01125 +1.9300001 +1.745 +1.48875 +1.2149999 +0.99625 +0.87875 +0.84125006 +0.8225 +0.7675 +0.6625 +0.53375 +0.43124998 +0.40375 +0.46625003 +0.605 +0.7825 +0.96250004 +1.11375 +1.2175001 +1.2725 +1.28625 +1.25375 +1.2237501 +1.17 +1.0799999 +0.94500005 +0.7775 +0.62125 +0.53 +0.54375 +0.6625 +0.825 +0.95000005 +0.97 +0.87 +0.71124995 +0.59375 +0.59749997 +0.74375 +0.9412501 +1.07875 +1.0762501 +0.95 +0.76 +0.58250004 +0.4825 +0.45250002 +0.45000002 +0.41625 +0.3325 +0.25125 +0.22875 +0.29625 +0.4975 +0.81375 +1.1387501 +1.3824999 +1.5049999 +1.5225 +1.4949999 +1.48875 +1.5450001 +1.6575 +1.7662499 +1.8137499 +1.7674999 +1.6450001 +1.5050001 +1.41875 +1.4175 +1.4675001 +1.4962499 +1.4275 +1.24625 +0.98875004 +0.72375 +0.54 +0.485 +0.55375004 +0.65125 +0.69 +0.63124996 +0.5025 +0.3725 +0.31625 +0.37124997 +0.53125 +0.74375 +0.955 +1.1225 +1.22375 +1.2637501 +1.2700001 +1.25375 +1.2237501 +1.17 +1.0799999 +0.94500005 +0.7775 +0.62125 +0.53 +0.54375 +0.6625 +0.825 +0.95000005 +0.97 +0.87 +0.71124995 +0.59375 +0.59749997 +0.74375 +0.9412501 +1.07875 +1.0762501 +0.95 +0.76 +0.58250004 +0.4825 +0.45250002 +0.45000002 +0.41625 +0.3325 +0.25125 +0.22875 +0.29625 +0.4975 +0.81375 +1.1387501 +1.3824999 +1.5049999 +1.5225 +1.4949999 +1.48875 +1.5450001 +1.6575 +1.7662499 +1.8137499 +1.7674999 +1.6450001 +1.5050001 +1.41875 +1.4175 +1.4675001 +1.4962499 +1.4275 +1.24625 +0.98875004 +0.72375 +0.54 +0.485 +0.55375004 +0.65125 +0.69 +0.63124996 +0.5025 +0.3725 +0.31625 +0.37124997 +0.53125 +0.74375 +0.955 +1.1225 +1.22375 +1.2637501 +1.2700001 +1.2175 +1.2075 +1.18 +1.0999999 +0.95750004 +0.76624995 +0.57625 +0.46499997 +0.47875002 +0.61875 +0.81374997 +0.96250004 +0.9875 +0.86875 +0.675 +0.5175 +0.51375 +0.66125005 +0.87625 +1.035 +1.05125 +0.9225 +0.7375001 +0.5675 +0.48875 +0.50750005 +0.57 +0.60125 +0.57125 +0.5075 +0.48749998 +0.59124994 +0.84375 +1.2012501 +1.56375 +1.8224999 +1.915 +1.8475001 +1.6962501 +1.55 +1.47875 +1.49125 +1.5350001 +1.5350001 +1.445 +1.275 +1.0875001 +0.96375 +0.9475 +1.01625 +1.0837499 +1.0562499 +0.9125 +0.6750001 +0.425 +0.27124998 +0.2725 +0.40875 +0.59499997 +0.70000005 +0.67 +0.53125 +0.36875 +0.2775 +0.315 +0.47750002 +0.71 +0.94000006 +1.11 +1.2012501 +1.22875 +1.225 +1.2175 +1.2075 +1.18 +1.0999999 +0.95750004 +0.76624995 +0.57625 +0.46499997 +0.47875002 +0.61875 +0.81374997 +0.96250004 +0.9875 +0.86875 +0.675 +0.5175 +0.51375 +0.66125005 +0.87625 +1.035 +1.05125 +0.9225 +0.7375001 +0.5675 +0.48875 +0.50750005 +0.57 +0.60125 +0.57125 +0.5075 +0.48749998 +0.59124994 +0.84375 +1.2012501 +1.56375 +1.8224999 +1.915 +1.8475001 +1.6962501 +1.55 +1.47875 +1.49125 +1.5350001 +1.5350001 +1.445 +1.275 +1.0875001 +0.96375 +0.9475 +1.01625 +1.0837499 +1.0562499 +0.9125 +0.6750001 +0.425 +0.27124998 +0.2725 +0.40875 +0.59499997 +0.70000005 +0.67 +0.53125 +0.36875 +0.2775 +0.315 +0.47750002 +0.71 +0.94000006 +1.11 +1.2012501 +1.22875 +1.225 +1.195 +1.2025 +1.18625 +1.10875 +0.95375 +0.7375 +0.52000004 +0.38625 +0.39 +0.53124994 +0.73749995 +0.89625 +0.92 +0.78499997 +0.5625 +0.375 +0.3575 +0.50124997 +0.725 +0.90749997 +0.94875 +0.84124994 +0.67875 +0.53125 +0.48875 +0.56 +0.6875 +0.78875005 +0.8212501 +0.79875004 +0.7975 +0.905 +1.1575 +1.51375 +1.87 +2.1125 +2.1575 +2.0087502 +1.74125 +1.47625 +1.2975 +1.23375 +1.2375001 +1.2237501 +1.1325 +0.96 +0.77125007 +0.65 +0.65 +0.75124997 +0.87 +0.89374995 +0.79499996 +0.58 +0.345 +0.20625 +0.2325 +0.40125 +0.6325 +0.77375 +0.7575 +0.60125 +0.4075 +0.28625 +0.3025 +0.45875004 +0.69374996 +0.92625 +1.09375 +1.1762499 +1.19625 +1.19375 +1.195 +1.2025 +1.18625 +1.10875 +0.95375 +0.7375 +0.52000004 +0.38625 +0.39 +0.53124994 +0.73749995 +0.89625 +0.92 +0.78499997 +0.5625 +0.375 +0.3575 +0.50124997 +0.725 +0.90749997 +0.94875 +0.84124994 +0.67875 +0.53125 +0.48875 +0.56 +0.6875 +0.78875005 +0.8212501 +0.79875004 +0.7975 +0.905 +1.1575 +1.51375 +1.87 +2.1125 +2.1575 +2.0087502 +1.74125 +1.47625 +1.2975 +1.23375 +1.2375001 +1.2237501 +1.1325 +0.96 +0.77125007 +0.65 +0.65 +0.75124997 +0.87 +0.89374995 +0.79499996 +0.58 +0.345 +0.20625 +0.2325 +0.40125 +0.6325 +0.77375 +0.7575 +0.60125 +0.4075 +0.28625 +0.3025 +0.45875004 +0.69374996 +0.92625 +1.09375 +1.1762499 +1.19625 +1.19375 +0.68874997 +0.80125 +0.9275 +1.0550001 +1.18625 +1.3287499 +1.47875 +1.6175 +1.7162501 +1.7437501 +1.68875 +1.565 +1.4025 +1.22375 +1.04 +0.85249996 +0.68625 +0.53749996 +0.41250002 +0.32999998 +0.2925 +0.28375 +0.27750003 +0.20750001 +0.096250005 +0.05375 +0.055 +0.06625 +0.085 +0.11125 +0.18124999 +0.32874998 +0.44625002 +0.51 +0.55125 +0.60625 +0.6925 +0.80625 +0.93375 +1.06375 +1.1975 +1.34 +1.4849999 +1.6175001 +1.70875 +1.73125 +1.67125 +1.5475 +1.385 +1.205 +1.02 +0.8299999 +0.66625 +0.52124995 +0.4025 +0.3275 +0.29749998 +0.29500002 +0.28625 +0.21375 +0.10000001 +0.04625 +0.05 +0.06375 +0.085 +0.113749996 +0.19125001 +0.33375 +0.445 +0.50500005 +0.54625 +0.60125 +0.68874997 +0.80125 +0.9275 +1.0550001 +1.18625 +1.3287499 +1.47875 +1.6175 +1.7162501 +1.7437501 +1.68875 +1.565 +1.4025 +1.22375 +1.04 +0.85249996 +0.68625 +0.53749996 +0.41250002 +0.32999998 +0.2925 +0.28375 +0.27750003 +0.20750001 +0.096250005 +0.05375 +0.055 +0.06625 +0.085 +0.11125 +0.18124999 +0.32874998 +0.44625002 +0.51 +0.55125 +0.60625 +0.6925 +0.80625 +0.93375 +1.06375 +1.1975 +1.34 +1.4849999 +1.6175001 +1.70875 +1.73125 +1.67125 +1.5475 +1.385 +1.205 +1.02 +0.8299999 +0.66625 +0.52124995 +0.4025 +0.3275 +0.29749998 +0.29500002 +0.28625 +0.21375 +0.10000001 +0.04625 +0.05 +0.06375 +0.085 +0.113749996 +0.19125001 +0.33375 +0.445 +0.50500005 +0.54625 +0.60125 +0.65125 +0.75749993 +0.875 +0.99875 +1.135 +1.29125 +1.4625 +1.6274999 +1.7499999 +1.7975 +1.7562501 +1.6374998 +1.4675001 +1.28 +1.08625 +0.895 +0.7075 +0.55375 +0.42375 +0.33375 +0.29 +0.29000002 +0.29000002 +0.235 +0.1375 +0.06 +0.0525 +0.0575 +0.07 +0.09875 +0.19749999 +0.35 +0.47250003 +0.5375 +0.57500005 +0.62125003 +0.695 +0.8 +0.92625004 +1.0625 +1.20625 +1.35625 +1.5025 +1.6299999 +1.7075 +1.7175 +1.65 +1.52 +1.3499999 +1.15875 +0.9625 +0.765 +0.59125 +0.45749998 +0.36124998 +0.3125 +0.3075 +0.33499998 +0.335 +0.26875 +0.1525 +0.05375 +0.0375 +0.0525 +0.075 +0.12875 +0.24375 +0.36749995 +0.45375004 +0.49499997 +0.52375 +0.57375 +0.65125 +0.75749993 +0.875 +0.99875 +1.135 +1.29125 +1.4625 +1.6274999 +1.7499999 +1.7975 +1.7562501 +1.6374998 +1.4675001 +1.28 +1.08625 +0.895 +0.7075 +0.55375 +0.42375 +0.33375 +0.29 +0.29000002 +0.29000002 +0.235 +0.1375 +0.06 +0.0525 +0.0575 +0.07 +0.09875 +0.19749999 +0.35 +0.47250003 +0.5375 +0.57500005 +0.62125003 +0.695 +0.8 +0.92625004 +1.0625 +1.20625 +1.35625 +1.5025 +1.6299999 +1.7075 +1.7175 +1.65 +1.52 +1.3499999 +1.15875 +0.9625 +0.765 +0.59125 +0.45749998 +0.36124998 +0.3125 +0.3075 +0.33499998 +0.335 +0.26875 +0.1525 +0.05375 +0.0375 +0.0525 +0.075 +0.12875 +0.24375 +0.36749995 +0.45375004 +0.49499997 +0.52375 +0.57375 +0.5687501 +0.65875 +0.76250005 +0.88124996 +1.02375 +1.2025001 +1.4125001 +1.62625 +1.8 +1.8900001 +1.87375 +1.7625 +1.5875 +1.38625 +1.1825 +0.9825 +0.7925 +0.62125003 +0.48749998 +0.38625 +0.33499998 +0.33125 +0.34375 +0.3175 +0.23374999 +0.13125 +0.061249997 +0.035 +0.04125 +0.103750005 +0.24 +0.40375003 +0.53125 +0.59625 +0.625 +0.64625 +0.6925 +0.77875006 +0.89875007 +1.045 +1.2049999 +1.3675 +1.515 +1.62875 +1.6837499 +1.6712501 +1.5862498 +1.44125 +1.255 +1.05125 +0.8375 +0.63125 +0.46375 +0.35 +0.2925 +0.2925 +0.34249997 +0.4025 +0.41875 +0.35999998 +0.23749998 +0.114999995 +0.056250002 +0.06375 +0.113749996 +0.21 +0.33125 +0.4225 +0.46125 +0.46749997 +0.47375 +0.50375 +0.5687501 +0.65875 +0.76250005 +0.88124996 +1.02375 +1.2025001 +1.4125001 +1.62625 +1.8 +1.8900001 +1.87375 +1.7625 +1.5875 +1.38625 +1.1825 +0.9825 +0.7925 +0.62125003 +0.48749998 +0.38625 +0.33499998 +0.33125 +0.34375 +0.3175 +0.23374999 +0.13125 +0.061249997 +0.035 +0.04125 +0.103750005 +0.24 +0.40375003 +0.53125 +0.59625 +0.625 +0.64625 +0.6925 +0.77875006 +0.89875007 +1.045 +1.2049999 +1.3675 +1.515 +1.62875 +1.6837499 +1.6712501 +1.5862498 +1.44125 +1.255 +1.05125 +0.8375 +0.63125 +0.46375 +0.35 +0.2925 +0.2925 +0.34249997 +0.4025 +0.41875 +0.35999998 +0.23749998 +0.114999995 +0.056250002 +0.06375 +0.113749996 +0.21 +0.33125 +0.4225 +0.46125 +0.46749997 +0.47375 +0.50375 +0.47375 +0.54125 +0.62375003 +0.725 +0.86625004 +1.0625 +1.3125 +1.58 +1.8125 +1.9562501 +1.98125 +1.8925 +1.72125 +1.51625 +1.3125 +1.1225 +0.94125 +0.78 +0.64625 +0.5425 +0.48375 +0.46625 +0.48375 +0.48999995 +0.4375 +0.32500002 +0.19500001 +0.105000004 +0.088750005 +0.16999999 +0.325 +0.49125 +0.6175 +0.67875004 +0.68625 +0.67125 +0.67875 +0.72999996 +0.8375 +0.98749995 +1.1624999 +1.33625 +1.47875 +1.5687499 +1.5975 +1.5600001 +1.4575 +1.3062501 +1.11875 +0.905 +0.6825 +0.48125002 +0.33625 +0.2475 +0.23375 +0.28375 +0.38 +0.46750003 +0.48874998 +0.42875004 +0.31875 +0.20624998 +0.1425 +0.1575 +0.24000001 +0.34375 +0.4275 +0.46125004 +0.45125 +0.42625 +0.41000003 +0.42625 +0.47375 +0.54125 +0.62375003 +0.725 +0.86625004 +1.0625 +1.3125 +1.58 +1.8125 +1.9562501 +1.98125 +1.8925 +1.72125 +1.51625 +1.3125 +1.1225 +0.94125 +0.78 +0.64625 +0.5425 +0.48375 +0.46625 +0.48375 +0.48999995 +0.4375 +0.32500002 +0.19500001 +0.105000004 +0.088750005 +0.16999999 +0.325 +0.49125 +0.6175 +0.67875004 +0.68625 +0.67125 +0.67875 +0.72999996 +0.8375 +0.98749995 +1.1624999 +1.33625 +1.47875 +1.5687499 +1.5975 +1.5600001 +1.4575 +1.3062501 +1.11875 +0.905 +0.6825 +0.48125002 +0.33625 +0.2475 +0.23375 +0.28375 +0.38 +0.46750003 +0.48874998 +0.42875004 +0.31875 +0.20624998 +0.1425 +0.1575 +0.24000001 +0.34375 +0.4275 +0.46125004 +0.45125 +0.42625 +0.41000003 +0.42625 +0.39875 +0.44 +0.48749998 +0.55625 +0.68 +0.87875 +1.1525 +1.4637499 +1.7487501 +1.9475 +2.01875 +1.975 +1.8325001 +1.6425 +1.4575001 +1.29875 +1.1524999 +1.0262499 +0.9075 +0.805 +0.74 +0.71999997 +0.73125 +0.74625 +0.725 +0.6275 +0.49749997 +0.38375 +0.32875 +0.35625 +0.45374998 +0.60625005 +0.72875005 +0.77875 +0.75624996 +0.69875 +0.65375 +0.66499996 +0.75249994 +0.9025 +1.08375 +1.25875 +1.38625 +1.47875 +1.4912499 +1.4224999 +1.2962501 +1.1375 +0.965 +0.76 +0.56 +0.385 +0.25375 +0.1925 +0.21375 +0.3 +0.4125 +0.50124997 +0.50875 +0.44375 +0.34 +0.24875 +0.21125 +0.2575 +0.34875003 +0.4325 +0.47375 +0.46374997 +0.42 +0.37625 +0.355 +0.36624995 +0.39875 +0.44 +0.48749998 +0.55625 +0.68 +0.87875 +1.1525 +1.4637499 +1.7487501 +1.9475 +2.01875 +1.975 +1.8325001 +1.6425 +1.4575001 +1.29875 +1.1524999 +1.0262499 +0.9075 +0.805 +0.74 +0.71999997 +0.73125 +0.74625 +0.725 +0.6275 +0.49749997 +0.38375 +0.32875 +0.35625 +0.45374998 +0.60625005 +0.72875005 +0.77875 +0.75624996 +0.69875 +0.65375 +0.66499996 +0.75249994 +0.9025 +1.08375 +1.25875 +1.38625 +1.47875 +1.4912499 +1.4224999 +1.2962501 +1.1375 +0.965 +0.76 +0.56 +0.385 +0.25375 +0.1925 +0.21375 +0.3 +0.4125 +0.50124997 +0.50875 +0.44375 +0.34 +0.24875 +0.21125 +0.2575 +0.34875003 +0.4325 +0.47375 +0.46374997 +0.42 +0.37625 +0.355 +0.36624995 +0.35625 +0.37 +0.375 +0.40375 +0.49249995 +0.67625004 +0.95124996 +1.2775 +1.59625 +1.8337499 +1.9475001 +1.9550002 +1.8649999 +1.7262499 +1.5925001 +1.4825001 +1.39 +1.3 +1.20125 +1.1025 +1.02875 +1.00375 +1.01625 +1.0387499 +1.02375 +0.93875 +0.8025 +0.65625 +0.5575 +0.54375005 +0.61125 +0.73375 +0.84625 +0.88 +0.825 +0.72249997 +0.6325 +0.60875 +0.67875004 +0.82624996 +1.01 +1.1775 +1.305 +1.37 +1.35125 +1.2625 +1.135 +0.99125004 +0.84 +0.67125 +0.5 +0.3425 +0.22875 +0.19000001 +0.23625 +0.34 +0.45000002 +0.50874996 +0.48874998 +0.39499998 +0.28125 +0.20750001 +0.20375 +0.28375 +0.38875002 +0.46125 +0.47249997 +0.43374997 +0.37375 +0.32999998 +0.32 +0.33624998 +0.35625 +0.37 +0.375 +0.40375 +0.49249995 +0.67625004 +0.95124996 +1.2775 +1.59625 +1.8337499 +1.9475001 +1.9550002 +1.8649999 +1.7262499 +1.5925001 +1.4825001 +1.39 +1.3 +1.20125 +1.1025 +1.02875 +1.00375 +1.01625 +1.0387499 +1.02375 +0.93875 +0.8025 +0.65625 +0.5575 +0.54375005 +0.61125 +0.73375 +0.84625 +0.88 +0.825 +0.72249997 +0.6325 +0.60875 +0.67875004 +0.82624996 +1.01 +1.1775 +1.305 +1.37 +1.35125 +1.2625 +1.135 +0.99125004 +0.84 +0.67125 +0.5 +0.3425 +0.22875 +0.19000001 +0.23625 +0.34 +0.45000002 +0.50874996 +0.48874998 +0.39499998 +0.28125 +0.20750001 +0.20375 +0.28375 +0.38875002 +0.46125 +0.47249997 +0.43374997 +0.37375 +0.32999998 +0.32 +0.33624998 +0.3425 +0.32375 +0.29000002 +0.27375 +0.3225 +0.47875 +0.73625004 +1.0575 +1.37875 +1.6325 +1.77875 +1.8262501 +1.8025 +1.73625 +1.6724999 +1.63 +1.58125 +1.5174999 +1.42625 +1.32375 +1.2375 +1.2012501 +1.2149999 +1.24 +1.25125 +1.165 +1.005 +0.83624995 +0.7075 +0.6675 +0.71625 +0.8375 +0.94125 +0.9575 +0.87874997 +0.745 +0.62624997 +0.58750004 +0.6525 +0.8025 +0.98875 +1.145 +1.24125 +1.2774999 +1.23125 +1.1325 +1.01125 +0.9 +0.78375 +0.63125 +0.485 +0.34625 +0.25 +0.22625 +0.28500003 +0.38875002 +0.48125 +0.50875 +0.43625 +0.31 +0.1875 +0.13 +0.17 +0.28875 +0.4075 +0.46875 +0.45875 +0.39749998 +0.33124998 +0.29625 +0.30124998 +0.32750002 +0.3425 +0.32375 +0.29000002 +0.27375 +0.3225 +0.47875 +0.73625004 +1.0575 +1.37875 +1.6325 +1.77875 +1.8262501 +1.8025 +1.73625 +1.6724999 +1.63 +1.58125 +1.5174999 +1.42625 +1.32375 +1.2375 +1.2012501 +1.2149999 +1.24 +1.25125 +1.165 +1.005 +0.83624995 +0.7075 +0.6675 +0.71625 +0.8375 +0.94125 +0.9575 +0.87874997 +0.745 +0.62624997 +0.58750004 +0.6525 +0.8025 +0.98875 +1.145 +1.24125 +1.2774999 +1.23125 +1.1325 +1.01125 +0.9 +0.78375 +0.63125 +0.485 +0.34625 +0.25 +0.22625 +0.28500003 +0.38875002 +0.48125 +0.50875 +0.43625 +0.31 +0.1875 +0.13 +0.17 +0.28875 +0.4075 +0.46875 +0.45875 +0.39749998 +0.33124998 +0.29625 +0.30124998 +0.32750002 +0.33125 +0.29625 +0.24000001 +0.19375001 +0.19625 +0.3125 +0.545 +0.84125006 +1.1425 +1.3874998 +1.5475 +1.625 +1.65625 +1.6725 +1.69875 +1.72 +1.7075 +1.63125 +1.52375 +1.405 +1.30625 +1.26125 +1.27375 +1.34625 +1.36375 +1.2787501 +1.1012499 +0.89375 +0.7575 +0.71 +0.77625 +0.895 +0.985 +0.9875 +0.89375 +0.75250006 +0.6375 +0.60625005 +0.68625 +0.84875 +1.0375 +1.185 +1.2524999 +1.24125 +1.1775 +1.07125 +0.98749995 +0.9075 +0.8075 +0.67125 +0.4975 +0.3725 +0.28875 +0.27875 +0.34125003 +0.44875 +0.5375 +0.52374995 +0.405 +0.24000001 +0.120000005 +0.098749995 +0.18875 +0.3375 +0.465 +0.51250005 +0.47375 +0.3875 +0.31125 +0.28250003 +0.2975 +0.32625 +0.33125 +0.29625 +0.24000001 +0.19375001 +0.19625 +0.3125 +0.545 +0.84125006 +1.1425 +1.3874998 +1.5475 +1.625 +1.65625 +1.6725 +1.69875 +1.72 +1.7075 +1.63125 +1.52375 +1.405 +1.30625 +1.26125 +1.27375 +1.34625 +1.36375 +1.2787501 +1.1012499 +0.89375 +0.7575 +0.71 +0.77625 +0.895 +0.985 +0.9875 +0.89375 +0.75250006 +0.6375 +0.60625005 +0.68625 +0.84875 +1.0375 +1.185 +1.2524999 +1.24125 +1.1775 +1.07125 +0.98749995 +0.9075 +0.8075 +0.67125 +0.4975 +0.3725 +0.28875 +0.27875 +0.34125003 +0.44875 +0.5375 +0.52374995 +0.405 +0.24000001 +0.120000005 +0.098749995 +0.18875 +0.3375 +0.465 +0.51250005 +0.47375 +0.3875 +0.31125 +0.28250003 +0.2975 +0.32625 +0.32874998 +0.29874998 +0.24125 +0.18125 +0.1475 +0.19624999 +0.40125 +0.66375 +0.92375 +1.13875 +1.29625 +1.4025 +1.4912499 +1.5862501 +1.6850001 +1.76 +1.7712498 +1.69625 +1.55 +1.3924999 +1.29 +1.2625 +1.32125 +1.3975 +1.41125 +1.3225 +1.1412499 +0.9337499 +0.78625 +0.74749994 +0.8075 +0.90875 +0.97625 +0.95875 +0.8625001 +0.73249996 +0.64375 +0.645 +0.755 +0.9325 +1.12375 +1.26125 +1.315 +1.2862501 +1.2075 +1.1175001 +1.04125 +0.96999997 +0.88 +0.74875 +0.57875 +0.4175 +0.32874998 +0.32875 +0.425 +0.55 +0.61625 +0.57124996 +0.42749998 +0.25625 +0.14875 +0.16375 +0.29250002 +0.4625 +0.58875 +0.60999995 +0.53499997 +0.41625 +0.3225 +0.28875 +0.30499998 +0.3275 +0.32874998 +0.29874998 +0.24125 +0.18125 +0.1475 +0.19624999 +0.40125 +0.66375 +0.92375 +1.13875 +1.29625 +1.4025 +1.4912499 +1.5862501 +1.6850001 +1.76 +1.7712498 +1.69625 +1.55 +1.3924999 +1.29 +1.2625 +1.32125 +1.3975 +1.41125 +1.3225 +1.1412499 +0.9337499 +0.78625 +0.74749994 +0.8075 +0.90875 +0.97625 +0.95875 +0.8625001 +0.73249996 +0.64375 +0.645 +0.755 +0.9325 +1.12375 +1.26125 +1.315 +1.2862501 +1.2075 +1.1175001 +1.04125 +0.96999997 +0.88 +0.74875 +0.57875 +0.4175 +0.32874998 +0.32875 +0.425 +0.55 +0.61625 +0.57124996 +0.42749998 +0.25625 +0.14875 +0.16375 +0.29250002 +0.4625 +0.58875 +0.60999995 +0.53499997 +0.41625 +0.3225 +0.28875 +0.30499998 +0.3275 +0.33625 +0.3125 +0.265 +0.20875 +0.16 +0.17125 +0.315 +0.53999996 +0.75124997 +0.9237501 +1.06125 +1.18875 +1.33125 +1.49875 +1.6699998 +1.7962501 +1.83125 +1.76375 +1.6200001 +1.46875 +1.3775 +1.3787498 +1.45 +1.52375 +1.52375 +1.41125 +1.21625 +1.00375 +0.8525 +0.8025 +0.83624995 +0.90125 +0.92875 +0.88500005 +0.78499997 +0.67875 +0.62749994 +0.6687499 +0.8025 +0.98875004 +1.1687499 +1.295 +1.33375 +1.3025 +1.22875 +1.15125 +1.0849999 +1.02 +0.935 +0.805 +0.63875 +0.48499998 +0.4 +0.42249998 +0.52875 +0.6525 +0.71 +0.65375 +0.50374997 +0.33875 +0.25625002 +0.30625 +0.46625 +0.6475 +0.75750005 +0.74375 +0.625 +0.47125 +0.355 +0.31125 +0.31624997 +0.33499998 +0.33625 +0.3125 +0.265 +0.20875 +0.16 +0.17125 +0.315 +0.53999996 +0.75124997 +0.9237501 +1.06125 +1.18875 +1.33125 +1.49875 +1.6699998 +1.7962501 +1.83125 +1.76375 +1.6200001 +1.46875 +1.3775 +1.3787498 +1.45 +1.52375 +1.52375 +1.41125 +1.21625 +1.00375 +0.8525 +0.8025 +0.83624995 +0.90125 +0.92875 +0.88500005 +0.78499997 +0.67875 +0.62749994 +0.6687499 +0.8025 +0.98875004 +1.1687499 +1.295 +1.33375 +1.3025 +1.22875 +1.15125 +1.0849999 +1.02 +0.935 +0.805 +0.63875 +0.48499998 +0.4 +0.42249998 +0.52875 +0.6525 +0.71 +0.65375 +0.50374997 +0.33875 +0.25625002 +0.30625 +0.46625 +0.6475 +0.75750005 +0.74375 +0.625 +0.47125 +0.355 +0.31125 +0.31624997 +0.33499998 +0.33625 +0.31625 +0.27125 +0.2175 +0.175 +0.18125 +0.2875 +0.46875 +0.63625 +0.765 +0.87874997 +1.02125 +1.2175001 +1.46125 +1.7075 +1.8925 +1.9675 +1.9275001 +1.8187499 +1.71 +1.6687499 +1.7099999 +1.7974999 +1.8549999 +1.8149999 +1.65875 +1.42375 +1.1825 +1.00875 +0.92499995 +0.90999997 +0.9125001 +0.88000005 +0.79875 +0.69124997 +0.60625 +0.59000003 +0.65874994 +0.79625 +0.96375 +1.11125 +1.205 +1.23 +1.19625 +1.1375 +1.0799999 +1.0325 +0.985 +0.90875 +0.79124993 +0.6387501 +0.505 +0.44499996 +0.48875 +0.61 +0.74 +0.80125 +0.7462499 +0.60249996 +0.45625004 +0.39875 +0.47375003 +0.64875 +0.8275 +0.91249996 +0.8625 +0.70500004 +0.52125 +0.39249998 +0.34375 +0.34624997 +0.34875 +0.33625 +0.31625 +0.27125 +0.2175 +0.175 +0.18125 +0.2875 +0.46875 +0.63625 +0.765 +0.87874997 +1.02125 +1.2175001 +1.46125 +1.7075 +1.8925 +1.9675 +1.9275001 +1.8187499 +1.71 +1.6687499 +1.7099999 +1.7974999 +1.8549999 +1.8149999 +1.65875 +1.42375 +1.1825 +1.00875 +0.92499995 +0.90999997 +0.9125001 +0.88000005 +0.79875 +0.69124997 +0.60625 +0.59000003 +0.65874994 +0.79625 +0.96375 +1.11125 +1.205 +1.23 +1.19625 +1.1375 +1.0799999 +1.0325 +0.985 +0.90875 +0.79124993 +0.6387501 +0.505 +0.44499996 +0.48875 +0.61 +0.74 +0.80125 +0.7462499 +0.60249996 +0.45625004 +0.39875 +0.47375003 +0.64875 +0.8275 +0.91249996 +0.8625 +0.70500004 +0.52125 +0.39249998 +0.34375 +0.34624997 +0.34875 +0.335 +0.29125 +0.24875 +0.2 +0.165 +0.18 +0.29375 +0.45250002 +0.58624995 +0.6775 +0.7775 +0.9375 +1.1875 +1.50625 +1.8312502 +2.085 +2.21875 +2.2350001 +2.19375 +2.165 +2.1975 +2.29375 +2.395 +2.42 +2.31625 +2.0849998 +1.785 +1.5150001 +1.30875 +1.15875 +1.05375 +0.97625 +0.87250006 +0.7425 +0.62375 +0.55375004 +0.55375 +0.62624997 +0.7375 +0.8525 +0.93999994 +0.98125005 +0.97625005 +0.96374995 +0.935 +0.89 +0.84875 +0.8275 +0.77624995 +0.685 +0.56624997 +0.46749997 +0.44250003 +0.51625 +0.65749997 +0.80125004 +0.86625 +0.82000005 +0.68875 +0.55875003 +0.52125 +0.60749996 +0.77874994 +0.93875 +0.99375 +0.91125 +0.72875 +0.53749996 +0.41250002 +0.37750003 +0.39125004 +0.3825 +0.335 +0.29125 +0.24875 +0.2 +0.165 +0.18 +0.29375 +0.45250002 +0.58624995 +0.6775 +0.7775 +0.9375 +1.1875 +1.50625 +1.8312502 +2.085 +2.21875 +2.2350001 +2.19375 +2.165 +2.1975 +2.29375 +2.395 +2.42 +2.31625 +2.0849998 +1.785 +1.5150001 +1.30875 +1.15875 +1.05375 +0.97625 +0.87250006 +0.7425 +0.62375 +0.55375004 +0.55375 +0.62624997 +0.7375 +0.8525 +0.93999994 +0.98125005 +0.97625005 +0.96374995 +0.935 +0.89 +0.84875 +0.8275 +0.77624995 +0.685 +0.56624997 +0.46749997 +0.44250003 +0.51625 +0.65749997 +0.80125004 +0.86625 +0.82000005 +0.68875 +0.55875003 +0.52125 +0.60749996 +0.77874994 +0.93875 +0.99375 +0.91125 +0.72875 +0.53749996 +0.41250002 +0.37750003 +0.39125004 +0.3825 +0.35625 +0.25875 +0.20375 +0.16 +0.13375 +0.185 +0.33375 +0.48874998 +0.60375 +0.67875 +0.775 +0.955 +1.2524999 +1.6387501 +2.03125 +2.35125 +2.5487502 +2.63625 +2.6775 +2.7575002 +2.90875 +3.05 +3.1237502 +3.09375 +2.9074998 +2.59875 +2.26 +1.9425001 +1.6800001 +1.4725 +1.28875 +1.1025 +0.9175 +0.74750006 +0.61875 +0.5575 +0.5675 +0.6125 +0.6675 +0.70624995 +0.7125 +0.7025 +0.69125 +0.68 +0.66625 +0.64750004 +0.62375 +0.5925 +0.565 +0.5125 +0.44875 +0.425 +0.4475 +0.51875 +0.66625 +0.82125 +0.89375 +0.855 +0.73625004 +0.6225 +0.59125 +0.67375 +0.82875 +0.9575 +0.97749996 +0.86750007 +0.67875 +0.49875003 +0.40250003 +0.39874998 +0.43749997 +0.43875 +0.35625 +0.25875 +0.20375 +0.16 +0.13375 +0.185 +0.33375 +0.48874998 +0.60375 +0.67875 +0.775 +0.955 +1.2524999 +1.6387501 +2.03125 +2.35125 +2.5487502 +2.63625 +2.6775 +2.7575002 +2.90875 +3.05 +3.1237502 +3.09375 +2.9074998 +2.59875 +2.26 +1.9425001 +1.6800001 +1.4725 +1.28875 +1.1025 +0.9175 +0.74750006 +0.61875 +0.5575 +0.5675 +0.6125 +0.6675 +0.70624995 +0.7125 +0.7025 +0.69125 +0.68 +0.66625 +0.64750004 +0.62375 +0.5925 +0.565 +0.5125 +0.44875 +0.425 +0.4475 +0.51875 +0.66625 +0.82125 +0.89375 +0.855 +0.73625004 +0.6225 +0.59125 +0.67375 +0.82875 +0.9575 +0.97749996 +0.86750007 +0.67875 +0.49875003 +0.40250003 +0.39874998 +0.43749997 +0.43875 +0.40624997 +0.26 +0.16125001 +0.11125 +0.120000005 +0.22749999 +0.40625 +0.57875 +0.69125 +0.75875 +0.85375 +1.0550001 +1.38625 +1.8125 +2.25125 +2.6100001 +2.8500001 +2.9924998 +3.105 +3.2925 +3.52 +3.6975 +3.7575002 +3.655 +3.3887498 +3.0162501 +2.61375 +2.2525 +1.9587501 +1.71125 +1.4812499 +1.24875 +1.02 +0.83124995 +0.715 +0.6737499 +0.68249995 +0.69499993 +0.67875 +0.625 +0.54875 +0.47500002 +0.42375 +0.39875 +0.39375 +0.39125 +0.3875 +0.3775 +0.36124998 +0.3475 +0.34625 +0.3675 +0.4275 +0.51500005 +0.64875 +0.80625 +0.88125 +0.84749997 +0.74 +0.63375 +0.60625 +0.67625 +0.80375 +0.8974999 +0.88374996 +0.75374997 +0.565 +0.41125003 +0.35625002 +0.39624998 +0.46999997 +0.49124998 +0.40624997 +0.26 +0.16125001 +0.11125 +0.120000005 +0.22749999 +0.40625 +0.57875 +0.69125 +0.75875 +0.85375 +1.0550001 +1.38625 +1.8125 +2.25125 +2.6100001 +2.8500001 +2.9924998 +3.105 +3.2925 +3.52 +3.6975 +3.7575002 +3.655 +3.3887498 +3.0162501 +2.61375 +2.2525 +1.9587501 +1.71125 +1.4812499 +1.24875 +1.02 +0.83124995 +0.715 +0.6737499 +0.68249995 +0.69499993 +0.67875 +0.625 +0.54875 +0.47500002 +0.42375 +0.39875 +0.39375 +0.39125 +0.3875 +0.3775 +0.36124998 +0.3475 +0.34625 +0.3675 +0.4275 +0.51500005 +0.64875 +0.80625 +0.88125 +0.84749997 +0.74 +0.63375 +0.60625 +0.67625 +0.80375 +0.8974999 +0.88374996 +0.75374997 +0.565 +0.41125003 +0.35625002 +0.39624998 +0.46999997 +0.49124998 +0.4475 +0.29000002 +0.15124999 +0.103750005 +0.1575 +0.315 +0.52875 +0.71375 +0.8249999 +0.88874996 +0.98375 +1.1887499 +1.5275 +1.9587499 +2.39375 +2.74875 +2.99125 +3.14625 +3.2887502 +3.5062501 +3.77 +3.95125 +3.9812498 +3.8262496 +3.5 +3.0775 +2.6537502 +2.29375 +2.0075 +1.7637501 +1.53125 +1.29 +1.06625 +0.89 +0.79499996 +0.77750003 +0.78999996 +0.78125 +0.71624994 +0.59625 +0.4575 +0.33125 +0.25125 +0.21625 +0.21125 +0.215 +0.21375 +0.205 +0.20500001 +0.21000001 +0.2375 +0.29625 +0.38375 +0.4825 +0.6225 +0.77375007 +0.845 +0.81 +0.70874995 +0.61375 +0.5875 +0.64750004 +0.7475 +0.80375 +0.75749993 +0.61125 +0.42874998 +0.29999998 +0.28125 +0.365 +0.47375 +0.5175 +0.4475 +0.29000002 +0.15124999 +0.103750005 +0.1575 +0.315 +0.52875 +0.71375 +0.8249999 +0.88874996 +0.98375 +1.1887499 +1.5275 +1.9587499 +2.39375 +2.74875 +2.99125 +3.14625 +3.2887502 +3.5062501 +3.77 +3.95125 +3.9812498 +3.8262496 +3.5 +3.0775 +2.6537502 +2.29375 +2.0075 +1.7637501 +1.53125 +1.29 +1.06625 +0.89 +0.79499996 +0.77750003 +0.78999996 +0.78125 +0.71624994 +0.59625 +0.4575 +0.33125 +0.25125 +0.21625 +0.21125 +0.215 +0.21375 +0.205 +0.20500001 +0.21000001 +0.2375 +0.29625 +0.38375 +0.4825 +0.6225 +0.77375007 +0.845 +0.81 +0.70874995 +0.61375 +0.5875 +0.64750004 +0.7475 +0.80375 +0.75749993 +0.61125 +0.42874998 +0.29999998 +0.28125 +0.365 +0.47375 +0.5175 +0.46875 +0.3375 +0.20750001 +0.1675 +0.2525 +0.44500002 +0.675 +0.85875005 +0.96124995 +1.0125 +1.0962499 +1.285 +1.6012499 +1.99625 +2.38125 +2.6825001 +2.8700001 +2.9850001 +3.1062498 +3.27875 +3.5275002 +3.68375 +3.7 +3.5375001 +3.19 +2.74875 +2.3212502 +2.01375 +1.7874999 +1.6025 +1.44625 +1.2625 +1.06875 +0.90875006 +0.8212501 +0.81875 +0.84749997 +0.83875 +0.76874995 +0.65375 +0.505 +0.36499998 +0.255 +0.18375 +0.175 +0.17125 +0.15875001 +0.17125002 +0.17875001 +0.18 +0.185 +0.2375 +0.33875 +0.44625 +0.60999995 +0.7425 +0.79749995 +0.7575 +0.66125 +0.58124995 +0.56375 +0.61875004 +0.69874996 +0.72499996 +0.65125 +0.49 +0.31 +0.20124999 +0.20625001 +0.31749997 +0.45000002 +0.51500005 +0.46875 +0.3375 +0.20750001 +0.1675 +0.2525 +0.44500002 +0.675 +0.85875005 +0.96124995 +1.0125 +1.0962499 +1.285 +1.6012499 +1.99625 +2.38125 +2.6825001 +2.8700001 +2.9850001 +3.1062498 +3.27875 +3.5275002 +3.68375 +3.7 +3.5375001 +3.19 +2.74875 +2.3212502 +2.01375 +1.7874999 +1.6025 +1.44625 +1.2625 +1.06875 +0.90875006 +0.8212501 +0.81875 +0.84749997 +0.83875 +0.76874995 +0.65375 +0.505 +0.36499998 +0.255 +0.18375 +0.175 +0.17125 +0.15875001 +0.17125002 +0.17875001 +0.18 +0.185 +0.2375 +0.33875 +0.44625 +0.60999995 +0.7425 +0.79749995 +0.7575 +0.66125 +0.58124995 +0.56375 +0.61875004 +0.69874996 +0.72499996 +0.65125 +0.49 +0.31 +0.20124999 +0.20625001 +0.31749997 +0.45000002 +0.51500005 +0.4875 +0.38875 +0.29125002 +0.27749997 +0.3875 +0.59000003 +0.80875003 +0.96999997 +1.04625 +1.0712501 +1.12625 +1.2774999 +1.5424999 +1.8687499 +2.1725001 +2.38 +2.47625 +2.5124998 +2.5662498 +2.6899998 +2.8625002 +3.0024998 +3.0125 +2.8424997 +2.5125 +2.1175 +1.7687501 +1.5337499 +1.4087499 +1.3399999 +1.2574999 +1.13375 +0.98125005 +0.85625 +0.79625 +0.80375 +0.84375 +0.86249995 +0.82875 +0.73625 +0.6125 +0.48999998 +0.39624998 +0.33499998 +0.30375 +0.28875 +0.2825 +0.27374998 +0.25375 +0.23250002 +0.22250001 +0.24875 +0.33125 +0.465 +0.61625 +0.7275 +0.75625 +0.70625 +0.61625004 +0.5475 +0.54749995 +0.60875 +0.68375 +0.69375 +0.6 +0.4275 +0.24875 +0.15375 +0.16625 +0.28625 +0.43 +0.51 +0.4875 +0.38875 +0.29125002 +0.27749997 +0.3875 +0.59000003 +0.80875003 +0.96999997 +1.04625 +1.0712501 +1.12625 +1.2774999 +1.5424999 +1.8687499 +2.1725001 +2.38 +2.47625 +2.5124998 +2.5662498 +2.6899998 +2.8625002 +3.0024998 +3.0125 +2.8424997 +2.5125 +2.1175 +1.7687501 +1.5337499 +1.4087499 +1.3399999 +1.2574999 +1.13375 +0.98125005 +0.85625 +0.79625 +0.80375 +0.84375 +0.86249995 +0.82875 +0.73625 +0.6125 +0.48999998 +0.39624998 +0.33499998 +0.30375 +0.28875 +0.2825 +0.27374998 +0.25375 +0.23250002 +0.22250001 +0.24875 +0.33125 +0.465 +0.61625 +0.7275 +0.75625 +0.70625 +0.61625004 +0.5475 +0.54749995 +0.60875 +0.68375 +0.69375 +0.6 +0.4275 +0.24875 +0.15375 +0.16625 +0.28625 +0.43 +0.51 +0.52624995 +0.45374998 +0.38875002 +0.40125 +0.52000004 +0.705 +0.89125 +1.00625 +1.03625 +1.02125 +1.035 +1.1387501 +1.3412501 +1.5862501 +1.7887499 +1.8900001 +1.88375 +1.8275001 +1.8062499 +1.8675 +1.9925001 +2.1037502 +2.105 +1.94875 +1.66625 +1.34625 +1.09625 +0.96999997 +0.95500004 +0.98625004 +0.99 +0.92999995 +0.8225 +0.72125 +0.67375004 +0.69124997 +0.74875 +0.79875 +0.80625004 +0.76374996 +0.68375003 +0.6 +0.5275 +0.48375002 +0.46 +0.44875002 +0.43875 +0.41375 +0.37375 +0.32500002 +0.29125 +0.30125 +0.37125 +0.49499997 +0.6275 +0.71625006 +0.72624993 +0.66375005 +0.58124995 +0.52874994 +0.55125004 +0.63249993 +0.71375 +0.72125 +0.62 +0.44625002 +0.26999998 +0.17625 +0.20124999 +0.31375 +0.45374998 +0.53499997 +0.52624995 +0.45374998 +0.38875002 +0.40125 +0.52000004 +0.705 +0.89125 +1.00625 +1.03625 +1.02125 +1.035 +1.1387501 +1.3412501 +1.5862501 +1.7887499 +1.8900001 +1.88375 +1.8275001 +1.8062499 +1.8675 +1.9925001 +2.1037502 +2.105 +1.94875 +1.66625 +1.34625 +1.09625 +0.96999997 +0.95500004 +0.98625004 +0.99 +0.92999995 +0.8225 +0.72125 +0.67375004 +0.69124997 +0.74875 +0.79875 +0.80625004 +0.76374996 +0.68375003 +0.6 +0.5275 +0.48375002 +0.46 +0.44875002 +0.43875 +0.41375 +0.37375 +0.32500002 +0.29125 +0.30125 +0.37125 +0.49499997 +0.6275 +0.71625006 +0.72624993 +0.66375005 +0.58124995 +0.52874994 +0.55125004 +0.63249993 +0.71375 +0.72125 +0.62 +0.44625002 +0.26999998 +0.17625 +0.20124999 +0.31375 +0.45374998 +0.53499997 +0.60625005 +0.54499996 +0.49499997 +0.51500005 +0.615 +0.76250005 +0.89375 +0.9487501 +0.9275 +0.86625004 +0.83875 +0.895 +1.0374999 +1.205 +1.3212501 +1.3275 +1.235 +1.1075 +1.02625 +1.04125 +1.1324999 +1.225 +1.2325001 +1.1099999 +0.88750005 +0.64750004 +0.48499998 +0.45499998 +0.53125 +0.64375 +0.71750003 +0.71125 +0.6375 +0.54625 +0.4925 +0.49875 +0.5575 +0.6325 +0.68625003 +0.69374996 +0.66125005 +0.60875 +0.56 +0.52875 +0.52375 +0.5325 +0.5375 +0.5225 +0.47375 +0.40624997 +0.34875 +0.33875 +0.39625 +0.50875 +0.63250005 +0.7062501 +0.7025 +0.6375 +0.57125 +0.5425 +0.59125 +0.69875 +0.7975 +0.81375 +0.72249997 +0.55625 +0.38875 +0.29874998 +0.32 +0.42625 +0.54625 +0.61625004 +0.60625005 +0.54499996 +0.49499997 +0.51500005 +0.615 +0.76250005 +0.89375 +0.9487501 +0.9275 +0.86625004 +0.83875 +0.895 +1.0374999 +1.205 +1.3212501 +1.3275 +1.235 +1.1075 +1.02625 +1.04125 +1.1324999 +1.225 +1.2325001 +1.1099999 +0.88750005 +0.64750004 +0.48499998 +0.45499998 +0.53125 +0.64375 +0.71750003 +0.71125 +0.6375 +0.54625 +0.4925 +0.49875 +0.5575 +0.6325 +0.68625003 +0.69374996 +0.66125005 +0.60875 +0.56 +0.52875 +0.52375 +0.5325 +0.5375 +0.5225 +0.47375 +0.40624997 +0.34875 +0.33875 +0.39625 +0.50875 +0.63250005 +0.7062501 +0.7025 +0.6375 +0.57125 +0.5425 +0.59125 +0.69875 +0.7975 +0.81375 +0.72249997 +0.55625 +0.38875 +0.29874998 +0.32 +0.42625 +0.54625 +0.61625004 +0.71625 +0.64250004 +0.58375 +0.58625 +0.65375006 +0.74875003 +0.815 +0.8125 +0.74250007 +0.64875 +0.59499997 +0.62 +0.7175 +0.825 +0.87375003 +0.82 +0.68125 +0.52625 +0.41750002 +0.40249997 +0.515 +0.5925 +0.59625 +0.5125 +0.345 +0.18750001 +0.0925 +0.123749994 +0.24749999 +0.38875 +0.50625 +0.5375 +0.48000002 +0.38375 +0.31 +0.30875 +0.36499998 +0.43875 +0.505 +0.54999995 +0.55 +0.51375 +0.4725 +0.44875 +0.48624998 +0.53125 +0.55 +0.56125003 +0.52375 +0.44875002 +0.3725 +0.365 +0.42625 +0.50125 +0.625 +0.70125 +0.70624995 +0.65625 +0.605 +0.61375 +0.69875 +0.83375 +0.95124996 +0.9837499 +0.90875 +0.75749993 +0.60749996 +0.52625 +0.53999996 +0.6225 +0.71124995 +0.74875003 +0.71625 +0.64250004 +0.58375 +0.58625 +0.65375006 +0.74875003 +0.815 +0.8125 +0.74250007 +0.64875 +0.59499997 +0.62 +0.7175 +0.825 +0.87375003 +0.82 +0.68125 +0.52625 +0.41750002 +0.40249997 +0.515 +0.5925 +0.59625 +0.5125 +0.345 +0.18750001 +0.0925 +0.123749994 +0.24749999 +0.38875 +0.50625 +0.5375 +0.48000002 +0.38375 +0.31 +0.30875 +0.36499998 +0.43875 +0.505 +0.54999995 +0.55 +0.51375 +0.4725 +0.44875 +0.48624998 +0.53125 +0.55 +0.56125003 +0.52375 +0.44875002 +0.3725 +0.365 +0.42625 +0.50125 +0.625 +0.70125 +0.70624995 +0.65625 +0.605 +0.61375 +0.69875 +0.83375 +0.95124996 +0.9837499 +0.90875 +0.75749993 +0.60749996 +0.52625 +0.53999996 +0.6225 +0.71124995 +0.74875003 +0.8225 +0.71750003 +0.63 +0.59624994 +0.61875 +0.65999997 +0.6725 +0.62875 +0.53625 +0.43500003 +0.37749997 +0.3925 +0.46250004 +0.5325 +0.54 +0.465 +0.33999997 +0.21124999 +0.11125 +0.095 +0.19999999 +0.28875 +0.29375002 +0.21000001 +0.08375 +0.01 +0.0075 +0.0425 +0.16624999 +0.31375 +0.41250002 +0.43124998 +0.37999997 +0.29000002 +0.22 +0.19999999 +0.23625001 +0.30624998 +0.37499997 +0.41375 +0.41250002 +0.38 +0.35625002 +0.37 +0.425 +0.50375 +0.5675 +0.5825 +0.54249996 +0.4675 +0.40625 +0.40250003 +0.45375 +0.52625 +0.63374996 +0.73499995 +0.7724999 +0.75874996 +0.74625 +0.78999996 +0.90874994 +1.0675 +1.19875 +1.24125 +1.17875 +1.04125 +0.90250003 +0.8225 +0.81875 +0.86625004 +0.9075 +0.895 +0.8225 +0.71750003 +0.63 +0.59624994 +0.61875 +0.65999997 +0.6725 +0.62875 +0.53625 +0.43500003 +0.37749997 +0.3925 +0.46250004 +0.5325 +0.54 +0.465 +0.33999997 +0.21124999 +0.11125 +0.095 +0.19999999 +0.28875 +0.29375002 +0.21000001 +0.08375 +0.01 +0.0075 +0.0425 +0.16624999 +0.31375 +0.41250002 +0.43124998 +0.37999997 +0.29000002 +0.22 +0.19999999 +0.23625001 +0.30624998 +0.37499997 +0.41375 +0.41250002 +0.38 +0.35625002 +0.37 +0.425 +0.50375 +0.5675 +0.5825 +0.54249996 +0.4675 +0.40625 +0.40250003 +0.45375 +0.52625 +0.63374996 +0.73499995 +0.7724999 +0.75874996 +0.74625 +0.78999996 +0.90874994 +1.0675 +1.19875 +1.24125 +1.17875 +1.04125 +0.90250003 +0.8225 +0.81875 +0.86625004 +0.9075 +0.895 +0.87499994 +0.72875005 +0.605 +0.5325 +0.5125 +0.51125 +0.49375 +0.4375 +0.35375 +0.27625 +0.2425 +0.26125 +0.32 +0.36625004 +0.35375 +0.295 +0.2325 +0.14625 +0.0425 +0.02875 +0.1225 +0.2075 +0.21875 +0.155 +0.057499997 +0.0025 +0.005 +0.0525 +0.165 +0.29875 +0.38875002 +0.40875 +0.35875 +0.27125 +0.19000001 +0.15124999 +0.1675 +0.2275 +0.30124998 +0.345 +0.345 +0.3125 +0.2825 +0.29125 +0.35875002 +0.46375 +0.56624997 +0.61749995 +0.59749997 +0.52875 +0.46124998 +0.44375 +0.4925 +0.58375 +0.71124995 +0.855 +0.9425 +0.98375 +1.0225 +1.105 +1.245 +1.41125 +1.5375 +1.5725001 +1.5062501 +1.3712502 +1.23 +1.1325 +1.095 +1.0925 +1.0725 +0.99875 +0.87499994 +0.72875005 +0.605 +0.5325 +0.5125 +0.51125 +0.49375 +0.4375 +0.35375 +0.27625 +0.2425 +0.26125 +0.32 +0.36625004 +0.35375 +0.295 +0.2325 +0.14625 +0.0425 +0.02875 +0.1225 +0.2075 +0.21875 +0.155 +0.057499997 +0.0025 +0.005 +0.0525 +0.165 +0.29875 +0.38875002 +0.40875 +0.35875 +0.27125 +0.19000001 +0.15124999 +0.1675 +0.2275 +0.30124998 +0.345 +0.345 +0.3125 +0.2825 +0.29125 +0.35875002 +0.46375 +0.56624997 +0.61749995 +0.59749997 +0.52875 +0.46124998 +0.44375 +0.4925 +0.58375 +0.71124995 +0.855 +0.9425 +0.98375 +1.0225 +1.105 +1.245 +1.41125 +1.5375 +1.5725001 +1.5062501 +1.3712502 +1.23 +1.1325 +1.095 +1.0925 +1.0725 +0.99875 +0.84000003 +0.65875 +0.50374997 +0.40499997 +0.35625002 +0.33124998 +0.30499998 +0.26749998 +0.23 +0.20249999 +0.19624999 +0.22 +0.27625 +0.305 +0.2825 +0.24000001 +0.20375 +0.1375 +0.06 +0.0475 +0.14249998 +0.21625 +0.21875 +0.17874998 +0.09875 +0.024999999 +0.025 +0.08 +0.17625001 +0.27625 +0.34250003 +0.3575 +0.32500002 +0.25875 +0.18375 +0.14 +0.15125 +0.20375 +0.2775 +0.32750002 +0.32375 +0.2875 +0.2575 +0.26999998 +0.34750003 +0.4725 +0.59875 +0.67625 +0.69625 +0.64 +0.56 +0.54625 +0.60375 +0.72375 +0.9125 +1.10625 +1.2525 +1.3512499 +1.4337499 +1.5424999 +1.68375 +1.83 +1.9275 +1.93375 +1.8425 +1.6875 +1.52375 +1.39125 +1.30375 +1.2362499 +1.14625 +1.01375 +0.84000003 +0.65875 +0.50374997 +0.40499997 +0.35625002 +0.33124998 +0.30499998 +0.26749998 +0.23 +0.20249999 +0.19624999 +0.22 +0.27625 +0.305 +0.2825 +0.24000001 +0.20375 +0.1375 +0.06 +0.0475 +0.14249998 +0.21625 +0.21875 +0.17874998 +0.09875 +0.024999999 +0.025 +0.08 +0.17625001 +0.27625 +0.34250003 +0.3575 +0.32500002 +0.25875 +0.18375 +0.14 +0.15125 +0.20375 +0.2775 +0.32750002 +0.32375 +0.2875 +0.2575 +0.26999998 +0.34750003 +0.4725 +0.59875 +0.67625 +0.69625 +0.64 +0.56 +0.54625 +0.60375 +0.72375 +0.9125 +1.10625 +1.2525 +1.3512499 +1.4337499 +1.5424999 +1.68375 +1.83 +1.9275 +1.93375 +1.8425 +1.6875 +1.52375 +1.39125 +1.30375 +1.2362499 +1.14625 +1.01375 +0.7275 +0.5225 +0.36749998 +0.27124998 +0.21624999 +0.18999998 +0.18124999 +0.18375 +0.18375 +0.1775 +0.18374999 +0.21499999 +0.26625 +0.27625 +0.25125 +0.21375 +0.18625 +0.1425 +0.1 +0.10874999 +0.17624998 +0.22749999 +0.23624998 +0.20249999 +0.14500001 +0.088750005 +0.052500002 +0.08625 +0.15124999 +0.2125 +0.2575 +0.3 +0.305 +0.27375 +0.23375 +0.21000001 +0.22500001 +0.27875 +0.34874997 +0.39749998 +0.39875 +0.3575 +0.31125 +0.3325 +0.4225 +0.5575 +0.71124995 +0.84875 +0.89750004 +0.86625 +0.80125004 +0.78 +0.8525 +1.0275 +1.26125 +1.4937501 +1.6850001 +1.82125 +1.9275 +2.03 +2.14375 +2.24125 +2.285 +2.2425 +2.11125 +1.92125 +1.7187499 +1.54125 +1.395 +1.2625 +1.115 +0.9325 +0.7275 +0.5225 +0.36749998 +0.27124998 +0.21624999 +0.18999998 +0.18124999 +0.18375 +0.18375 +0.1775 +0.18374999 +0.21499999 +0.26625 +0.27625 +0.25125 +0.21375 +0.18625 +0.1425 +0.1 +0.10874999 +0.17624998 +0.22749999 +0.23624998 +0.20249999 +0.14500001 +0.088750005 +0.052500002 +0.08625 +0.15124999 +0.2125 +0.2575 +0.3 +0.305 +0.27375 +0.23375 +0.21000001 +0.22500001 +0.27875 +0.34874997 +0.39749998 +0.39875 +0.3575 +0.31125 +0.3325 +0.4225 +0.5575 +0.71124995 +0.84875 +0.89750004 +0.86625 +0.80125004 +0.78 +0.8525 +1.0275 +1.26125 +1.4937501 +1.6850001 +1.82125 +1.9275 +2.03 +2.14375 +2.24125 +2.285 +2.2425 +2.11125 +1.92125 +1.7187499 +1.54125 +1.395 +1.2625 +1.115 +0.9325 +0.58124995 +0.38875 +0.28 +0.2175 +0.175 +0.155 +0.1575 +0.16625 +0.16625 +0.15375 +0.16125 +0.1925 +0.22375 +0.21875 +0.19375 +0.1825 +0.1675 +0.1375 +0.12375 +0.145 +0.18625 +0.20125002 +0.1875 +0.17375 +0.15249999 +0.12 +0.089999996 +0.0875 +0.11 +0.14625001 +0.18625 +0.2225 +0.24625 +0.2575 +0.2575 +0.2625 +0.29125002 +0.345 +0.41500002 +0.46875003 +0.49 +0.48 +0.46624997 +0.4925 +0.58875 +0.74875003 +0.935 +1.09 +1.1675 +1.1750001 +1.155 +1.17125 +1.27625 +1.4749999 +1.725 +1.97125 +2.17375 +2.30875 +2.39625 +2.4612498 +2.5125 +2.54125 +2.5175 +2.4175 +2.2400002 +2.0137498 +1.7762499 +1.5575 +1.36625 +1.1875 +1.00125 +0.7975 +0.58124995 +0.38875 +0.28 +0.2175 +0.175 +0.155 +0.1575 +0.16625 +0.16625 +0.15375 +0.16125 +0.1925 +0.22375 +0.21875 +0.19375 +0.1825 +0.1675 +0.1375 +0.12375 +0.145 +0.18625 +0.20125002 +0.1875 +0.17375 +0.15249999 +0.12 +0.089999996 +0.0875 +0.11 +0.14625001 +0.18625 +0.2225 +0.24625 +0.2575 +0.2575 +0.2625 +0.29125002 +0.345 +0.41500002 +0.46875003 +0.49 +0.48 +0.46624997 +0.4925 +0.58875 +0.74875003 +0.935 +1.09 +1.1675 +1.1750001 +1.155 +1.17125 +1.27625 +1.4749999 +1.725 +1.97125 +2.17375 +2.30875 +2.39625 +2.4612498 +2.5125 +2.54125 +2.5175 +2.4175 +2.2400002 +2.0137498 +1.7762499 +1.5575 +1.36625 +1.1875 +1.00125 +0.7975 +0.47625 +0.32874998 +0.265 +0.20875 +0.16 +0.135 +0.13125 +0.13625 +0.13625 +0.12125 +0.10875 +0.1225 +0.12875001 +0.12125 +0.12 +0.1275 +0.13 +0.10875 +0.08875 +0.099999994 +0.111250006 +0.106249996 +0.11624999 +0.13624999 +0.14625 +0.13 +0.09625 +0.07125001 +0.07000001 +0.08375 +0.11 +0.14625001 +0.18125 +0.2075 +0.22999999 +0.25250003 +0.29 +0.34875 +0.42375 +0.4975 +0.55249995 +0.5875 +0.62 +0.68249995 +0.8 +0.9725 +1.1687499 +1.3425 +1.4625 +1.5224999 +1.56 +1.62875 +1.76625 +1.97375 +2.21625 +2.4424999 +2.61125 +2.70125 +2.73 +2.72 +2.68875 +2.63625 +2.545 +2.3975 +2.1925 +1.9475 +1.6975 +1.46125 +1.255 +1.0662501 +0.87624997 +0.67749995 +0.47625 +0.32874998 +0.265 +0.20875 +0.16 +0.135 +0.13125 +0.13625 +0.13625 +0.12125 +0.10875 +0.1225 +0.12875001 +0.12125 +0.12 +0.1275 +0.13 +0.10875 +0.08875 +0.099999994 +0.111250006 +0.106249996 +0.11624999 +0.13624999 +0.14625 +0.13 +0.09625 +0.07125001 +0.07000001 +0.08375 +0.11 +0.14625001 +0.18125 +0.2075 +0.22999999 +0.25250003 +0.29 +0.34875 +0.42375 +0.4975 +0.55249995 +0.5875 +0.62 +0.68249995 +0.8 +0.9725 +1.1687499 +1.3425 +1.4625 +1.5224999 +1.56 +1.62875 +1.76625 +1.97375 +2.21625 +2.4424999 +2.61125 +2.70125 +2.73 +2.72 +2.68875 +2.63625 +2.545 +2.3975 +2.1925 +1.9475 +1.6975 +1.46125 +1.255 +1.0662501 +0.87624997 +0.67749995 +0.46875 +0.33249998 +0.24125 +0.18125 +0.13125 +0.1025 +0.09625 +0.1 +0.10125 +0.08875 +0.065 +0.04625 +0.04 +0.04 +0.05625 +0.0775 +0.08125 +0.06125 +0.028749999 +0.01375 +0.01875 +0.022499999 +0.0575 +0.0975 +0.11625 +0.10625 +0.07625 +0.0425 +0.0275 +0.0375 +0.06875 +0.1075 +0.14 +0.16375 +0.18374999 +0.19999999 +0.23 +0.28625 +0.3775 +0.48 +0.58 +0.6675 +0.75124997 +0.8500001 +0.98875 +1.16875 +1.375 +1.5725 +1.73375 +1.8525 +1.9512501 +2.0675 +2.2325 +2.4212499 +2.6212502 +2.7899997 +2.8874998 +2.8975003 +2.8387501 +2.7375002 +2.62 +2.4937499 +2.355 +2.185 +1.9825 +1.75375 +1.5224999 +1.31125 +1.12875 +0.9675 +0.81 +0.6425 +0.46875 +0.33249998 +0.24125 +0.18125 +0.13125 +0.1025 +0.09625 +0.1 +0.10125 +0.08875 +0.065 +0.04625 +0.04 +0.04 +0.05625 +0.0775 +0.08125 +0.06125 +0.028749999 +0.01375 +0.01875 +0.022499999 +0.0575 +0.0975 +0.11625 +0.10625 +0.07625 +0.0425 +0.0275 +0.0375 +0.06875 +0.1075 +0.14 +0.16375 +0.18374999 +0.19999999 +0.23 +0.28625 +0.3775 +0.48 +0.58 +0.6675 +0.75124997 +0.8500001 +0.98875 +1.16875 +1.375 +1.5725 +1.73375 +1.8525 +1.9512501 +2.0675 +2.2325 +2.4212499 +2.6212502 +2.7899997 +2.8874998 +2.8975003 +2.8387501 +2.7375002 +2.62 +2.4937499 +2.355 +2.185 +1.9825 +1.75375 +1.5224999 +1.31125 +1.12875 +0.9675 +0.81 +0.6425 +0.585 +0.43374997 +0.30124998 +0.20250002 +0.13125 +0.07999999 +0.065 +0.0675 +0.06875 +0.0575 +0.035 +0.01125 +0.0 +0.0025 +0.01875 +0.03375 +0.0325 +0.01 +0.0 +0.0075000003 +0.01 +0.0 +0.00125 +0.0425 +0.06375 +0.0575 +0.03 +0.0 +0.0 +0.0 +0.0275 +0.06625 +0.1 +0.11875 +0.12875 +0.14 +0.16125 +0.20750001 +0.31125 +0.455 +0.60875005 +0.75125 +0.88125 +1.015 +1.175 +1.3425 +1.55 +1.7625 +1.9562501 +2.1212502 +2.2649999 +2.44625 +2.61625 +2.76375 +2.8687499 +2.925 +2.93 +2.8487499 +2.69625 +2.5124998 +2.3274999 +2.155 +1.99625 +1.8362501 +1.6687499 +1.4925 +1.3199999 +1.17125 +1.0500001 +0.94625 +0.84499997 +0.72499996 +0.585 +0.43374997 +0.30124998 +0.20250002 +0.13125 +0.07999999 +0.065 +0.0675 +0.06875 +0.0575 +0.035 +0.01125 +0.0 +0.0025 +0.01875 +0.03375 +0.0325 +0.01 +0.0 +0.0075000003 +0.01 +0.0 +0.00125 +0.0425 +0.06375 +0.0575 +0.03 +0.0 +0.0 +0.0 +0.0275 +0.06625 +0.1 +0.11875 +0.12875 +0.14 +0.16125 +0.20750001 +0.31125 +0.455 +0.60875005 +0.75125 +0.88125 +1.015 +1.175 +1.3425 +1.55 +1.7625 +1.9562501 +2.1212502 +2.2649999 +2.44625 +2.61625 +2.76375 +2.8687499 +2.925 +2.93 +2.8487499 +2.69625 +2.5124998 +2.3274999 +2.155 +1.99625 +1.8362501 +1.6687499 +1.4925 +1.3199999 +1.17125 +1.0500001 +0.94625 +0.84499997 +0.72499996 +0.7987499 +0.65374994 +0.50375 +0.36374998 +0.24000001 +0.14625 +0.091249995 +0.06375 +0.04875 +0.033749998 +0.01375 +0.00125 +0.0 +0.0 +0.0 +0.00625 +0.00125 +0.0 +0.028749999 +0.066250004 +0.05625 +0.02125 +0.0 +0.0 +0.01875 +0.0125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.06625 +0.0875 +0.09625 +0.099999994 +0.114999995 +0.16875 +0.29874998 +0.485 +0.69 +0.88 +1.05625 +1.235 +1.395 +1.5487499 +1.7125001 +1.90625 +2.11125 +2.295 +2.4899998 +2.65875 +2.78875 +2.86625 +2.8825 +2.83625 +2.7287498 +2.5700002 +2.3575 +2.13625 +1.9175 +1.71875 +1.56 +1.4375 +1.32875 +1.23 +1.145 +1.08375 +1.04625 +1.02 +0.98125 +0.90875 +0.7987499 +0.65374994 +0.50375 +0.36374998 +0.24000001 +0.14625 +0.091249995 +0.06375 +0.04875 +0.033749998 +0.01375 +0.00125 +0.0 +0.0 +0.0 +0.00625 +0.00125 +0.0 +0.028749999 +0.066250004 +0.05625 +0.02125 +0.0 +0.0 +0.01875 +0.0125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03 +0.06625 +0.0875 +0.09625 +0.099999994 +0.114999995 +0.16875 +0.29874998 +0.485 +0.69 +0.88 +1.05625 +1.235 +1.395 +1.5487499 +1.7125001 +1.90625 +2.11125 +2.295 +2.4899998 +2.65875 +2.78875 +2.86625 +2.8825 +2.83625 +2.7287498 +2.5700002 +2.3575 +2.13625 +1.9175 +1.71875 +1.56 +1.4375 +1.32875 +1.23 +1.145 +1.08375 +1.04625 +1.02 +0.98125 +0.90875 +1.0425 +0.90625 +0.74749994 +0.59250003 +0.44875002 +0.32625 +0.225 +0.14874999 +0.10125 +0.08125 +0.06875 +0.06625 +0.04625 +0.01625 +0.0 +0.0 +0.00375 +0.04625 +0.1375 +0.21125 +0.19875 +0.11 +0.0325 +0.00875 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02125 +0.05875 +0.085 +0.09875 +0.10375 +0.12625 +0.2175 +0.38125002 +0.60875005 +0.85125005 +1.0762501 +1.2825 +1.4625001 +1.6025 +1.7225001 +1.8487501 +1.995 +2.16875 +2.3487499 +2.515 +2.63875 +2.70375 +2.6975002 +2.62375 +2.50125 +2.33375 +2.13375 +1.9100001 +1.68375 +1.46875 +1.28375 +1.145 +1.0675 +1.02625 +1.01375 +1.0249999 +1.0587499 +1.10625 +1.15375 +1.17125 +1.13625 +1.0425 +0.90625 +0.74749994 +0.59250003 +0.44875002 +0.32625 +0.225 +0.14874999 +0.10125 +0.08125 +0.06875 +0.06625 +0.04625 +0.01625 +0.0 +0.0 +0.00375 +0.04625 +0.1375 +0.21125 +0.19875 +0.11 +0.0325 +0.00875 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02125 +0.05875 +0.085 +0.09875 +0.10375 +0.12625 +0.2175 +0.38125002 +0.60875005 +0.85125005 +1.0762501 +1.2825 +1.4625001 +1.6025 +1.7225001 +1.8487501 +1.995 +2.16875 +2.3487499 +2.515 +2.63875 +2.70375 +2.6975002 +2.62375 +2.50125 +2.33375 +2.13375 +1.9100001 +1.68375 +1.46875 +1.28375 +1.145 +1.0675 +1.02625 +1.01375 +1.0249999 +1.0587499 +1.10625 +1.15375 +1.17125 +1.13625 +1.25 +1.1212499 +0.96625 +0.805 +0.65250003 +0.51250005 +0.39124998 +0.30499998 +0.25875002 +0.25125 +0.26375002 +0.2675 +0.2225 +0.13499999 +0.068749994 +0.056250002 +0.07875 +0.18374999 +0.32875 +0.41875002 +0.41 +0.3075 +0.1625 +0.065 +0.034999996 +0.01125 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.0425 +0.08125 +0.11125 +0.13624999 +0.18124999 +0.25375 +0.38625002 +0.5825 +0.82124996 +1.0749999 +1.31125 +1.5 +1.66 +1.7612499 +1.8249999 +1.885 +1.9749999 +2.0987499 +2.22375 +2.33375 +2.3975 +2.38875 +2.30125 +2.1575 +1.9849999 +1.80625 +1.63125 +1.44125 +1.2575 +1.08125 +0.92875004 +0.8175 +0.7775 +0.7925 +0.85499996 +0.95250005 +1.07 +1.1899999 +1.2887499 +1.34375 +1.3287499 +1.25 +1.1212499 +0.96625 +0.805 +0.65250003 +0.51250005 +0.39124998 +0.30499998 +0.25875002 +0.25125 +0.26375002 +0.2675 +0.2225 +0.13499999 +0.068749994 +0.056250002 +0.07875 +0.18374999 +0.32875 +0.41875002 +0.41 +0.3075 +0.1625 +0.065 +0.034999996 +0.01125 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.0425 +0.08125 +0.11125 +0.13624999 +0.18124999 +0.25375 +0.38625002 +0.5825 +0.82124996 +1.0749999 +1.31125 +1.5 +1.66 +1.7612499 +1.8249999 +1.885 +1.9749999 +2.0987499 +2.22375 +2.33375 +2.3975 +2.38875 +2.30125 +2.1575 +1.9849999 +1.80625 +1.63125 +1.44125 +1.2575 +1.08125 +0.92875004 +0.8175 +0.7775 +0.7925 +0.85499996 +0.95250005 +1.07 +1.1899999 +1.2887499 +1.34375 +1.3287499 +1.3725 +1.26 +1.1225001 +0.97249997 +0.8175 +0.66499996 +0.53000003 +0.43625 +0.40375 +0.42374998 +0.47125 +0.5 +0.46625 +0.37875 +0.27875 +0.22375 +0.25375 +0.37125003 +0.52625 +0.62749994 +0.61875004 +0.50874996 +0.36124998 +0.22874999 +0.13250001 +0.07125 +0.03125 +0.00125 +0.0 +0.01625 +0.04625 +0.08375 +0.12125 +0.18125 +0.27625 +0.40625 +0.55 +0.69875 +0.87500006 +1.0825 +1.3075 +1.5187501 +1.68625 +1.78625 +1.8199999 +1.81375 +1.8037499 +1.8237499 +1.8800001 +1.9512501 +1.99875 +1.9950001 +1.9212501 +1.7724999 +1.5825 +1.39625 +1.25625 +1.15125 +1.0525 +0.93874997 +0.81125 +0.69000006 +0.59875 +0.575 +0.62625 +0.74 +0.90374994 +1.0825 +1.24875 +1.3774999 +1.4437501 +1.43875 +1.3725 +1.26 +1.1225001 +0.97249997 +0.8175 +0.66499996 +0.53000003 +0.43625 +0.40375 +0.42374998 +0.47125 +0.5 +0.46625 +0.37875 +0.27875 +0.22375 +0.25375 +0.37125003 +0.52625 +0.62749994 +0.61875004 +0.50874996 +0.36124998 +0.22874999 +0.13250001 +0.07125 +0.03125 +0.00125 +0.0 +0.01625 +0.04625 +0.08375 +0.12125 +0.18125 +0.27625 +0.40625 +0.55 +0.69875 +0.87500006 +1.0825 +1.3075 +1.5187501 +1.68625 +1.78625 +1.8199999 +1.81375 +1.8037499 +1.8237499 +1.8800001 +1.9512501 +1.99875 +1.9950001 +1.9212501 +1.7724999 +1.5825 +1.39625 +1.25625 +1.15125 +1.0525 +0.93874997 +0.81125 +0.69000006 +0.59875 +0.575 +0.62625 +0.74 +0.90374994 +1.0825 +1.24875 +1.3774999 +1.4437501 +1.43875 +1.3975 +1.3125 +1.20375 +1.0749999 +0.92375 +0.75624996 +0.605 +0.50625 +0.48749998 +0.5475 +0.64 +0.70625 +0.69124997 +0.59 +0.45499998 +0.36374998 +0.37375 +0.49124998 +0.6575 +0.77125 +0.765 +0.65749997 +0.49875 +0.345 +0.23375002 +0.16875 +0.120000005 +0.07 +0.04125 +0.06125 +0.09 +0.125 +0.2 +0.35500002 +0.59000003 +0.8075 +0.97125 +1.0925 +1.2025001 +1.325 +1.47375 +1.6300001 +1.7537501 +1.81 +1.7850001 +1.69875 +1.5975 +1.5325 +1.5262501 +1.5575001 +1.57875 +1.5362499 +1.41375 +1.2275 +1.01625 +0.84375 +0.76 +0.755 +0.77000004 +0.755 +0.68375 +0.57875 +0.48250005 +0.44625 +0.50500005 +0.65000004 +0.8525 +1.07125 +1.2625 +1.3925 +1.45375 +1.4512498 +1.3975 +1.3125 +1.20375 +1.0749999 +0.92375 +0.75624996 +0.605 +0.50625 +0.48749998 +0.5475 +0.64 +0.70625 +0.69124997 +0.59 +0.45499998 +0.36374998 +0.37375 +0.49124998 +0.6575 +0.77125 +0.765 +0.65749997 +0.49875 +0.345 +0.23375002 +0.16875 +0.120000005 +0.07 +0.04125 +0.06125 +0.09 +0.125 +0.2 +0.35500002 +0.59000003 +0.8075 +0.97125 +1.0925 +1.2025001 +1.325 +1.47375 +1.6300001 +1.7537501 +1.81 +1.7850001 +1.69875 +1.5975 +1.5325 +1.5262501 +1.5575001 +1.57875 +1.5362499 +1.41375 +1.2275 +1.01625 +0.84375 +0.76 +0.755 +0.77000004 +0.755 +0.68375 +0.57875 +0.48250005 +0.44625 +0.50500005 +0.65000004 +0.8525 +1.07125 +1.2625 +1.3925 +1.45375 +1.4512498 +1.35375 +1.3012499 +1.2275 +1.12 +0.97 +0.78874993 +0.615 +0.505 +0.49874997 +0.59375 +0.7325001 +0.83374995 +0.82875 +0.70625 +0.52875 +0.39499998 +0.38 +0.505 +0.6825 +0.81 +0.81 +0.69875 +0.53 +0.36625 +0.265 +0.22500001 +0.21125 +0.18374999 +0.1375 +0.115 +0.145 +0.20375 +0.37250003 +0.675 +1.00625 +1.2737501 +1.43125 +1.4887501 +1.4875 +1.48125 +1.5175 +1.5899999 +1.6587499 +1.6724999 +1.6012499 +1.45375 +1.28125 +1.15125 +1.10375 +1.1212499 +1.1475 +1.1062499 +0.975 +0.77750003 +0.5625 +0.41625 +0.38375002 +0.47625002 +0.60249996 +0.67875 +0.65625 +0.55375 +0.43124998 +0.3675 +0.41375002 +0.57124996 +0.79875 +1.03625 +1.2312499 +1.3525 +1.4 +1.3937501 +1.35375 +1.3012499 +1.2275 +1.12 +0.97 +0.78874993 +0.615 +0.505 +0.49874997 +0.59375 +0.7325001 +0.83374995 +0.82875 +0.70625 +0.52875 +0.39499998 +0.38 +0.505 +0.6825 +0.81 +0.81 +0.69875 +0.53 +0.36625 +0.265 +0.22500001 +0.21125 +0.18374999 +0.1375 +0.115 +0.145 +0.20375 +0.37250003 +0.675 +1.00625 +1.2737501 +1.43125 +1.4887501 +1.4875 +1.48125 +1.5175 +1.5899999 +1.6587499 +1.6724999 +1.6012499 +1.45375 +1.28125 +1.15125 +1.10375 +1.1212499 +1.1475 +1.1062499 +0.975 +0.77750003 +0.5625 +0.41625 +0.38375002 +0.47625002 +0.60249996 +0.67875 +0.65625 +0.55375 +0.43124998 +0.3675 +0.41375002 +0.57124996 +0.79875 +1.03625 +1.2312499 +1.3525 +1.4 +1.3937501 +1.28875 +1.26625 +1.225 +1.13625 +0.98125 +0.77874994 +0.57875 +0.45375 +0.45499998 +0.57625 +0.74875 +0.87125003 +0.8675 +0.72125006 +0.505 +0.32750002 +0.2975 +0.41875 +0.605 +0.74750006 +0.75875 +0.64374995 +0.47875 +0.32750002 +0.255 +0.2675 +0.31625003 +0.34125 +0.31625003 +0.28124997 +0.29500002 +0.4125 +0.67625 +1.04875 +1.4262499 +1.7087501 +1.8325 +1.7950001 +1.65625 +1.5074999 +1.415 +1.4000001 +1.41625 +1.4050001 +1.31125 +1.13375 +0.92999995 +0.77125 +0.7125 +0.7475 +0.8025 +0.78875005 +0.685 +0.49375 +0.28375 +0.1575 +0.18375 +0.32874998 +0.54 +0.68125004 +0.68874997 +0.57375 +0.42249998 +0.32625 +0.3525 +0.5125 +0.75000006 +0.9962499 +1.185 +1.29 +1.3199999 +1.31 +1.28875 +1.26625 +1.225 +1.13625 +0.98125 +0.77874994 +0.57875 +0.45375 +0.45499998 +0.57625 +0.74875 +0.87125003 +0.8675 +0.72125006 +0.505 +0.32750002 +0.2975 +0.41875 +0.605 +0.74750006 +0.75875 +0.64374995 +0.47875 +0.32750002 +0.255 +0.2675 +0.31625003 +0.34125 +0.31625003 +0.28124997 +0.29500002 +0.4125 +0.67625 +1.04875 +1.4262499 +1.7087501 +1.8325 +1.7950001 +1.65625 +1.5074999 +1.415 +1.4000001 +1.41625 +1.4050001 +1.31125 +1.13375 +0.92999995 +0.77125 +0.7125 +0.7475 +0.8025 +0.78875005 +0.685 +0.49375 +0.28375 +0.1575 +0.18375 +0.32874998 +0.54 +0.68125004 +0.68874997 +0.57375 +0.42249998 +0.32625 +0.3525 +0.5125 +0.75000006 +0.9962499 +1.185 +1.29 +1.3199999 +1.31 +1.2487501 +1.25125 +1.22875 +1.14375 +0.98249996 +0.75500005 +0.5325 +0.39249998 +0.39125 +0.52125 +0.7075 +0.84124994 +0.83375 +0.66875 +0.42375004 +0.215 +0.18125 +0.29125 +0.48125 +0.63875 +0.6700001 +0.57 +0.4275 +0.3075 +0.2825 +0.35625 +0.47375003 +0.5625 +0.58875 +0.57624996 +0.59875 +0.73125005 +1.01 +1.38375 +1.7549999 +2.0087502 +2.06875 +1.93 +1.66625 +1.3875 +1.18875 +1.09875 +1.0825 +1.06375 +0.97875 +0.81375 +0.62 +0.47749996 +0.44750002 +0.51874995 +0.61625 +0.64374995 +0.5725 +0.39374998 +0.19 +0.08625 +0.13499999 +0.30499998 +0.56 +0.73125005 +0.74875 +0.6225 +0.44125 +0.31875002 +0.33124998 +0.48250002 +0.7225 +0.96375 +1.145 +1.23625 +1.25875 +1.2524999 +1.2487501 +1.25125 +1.22875 +1.14375 +0.98249996 +0.75500005 +0.5325 +0.39249998 +0.39125 +0.52125 +0.7075 +0.84124994 +0.83375 +0.66875 +0.42375004 +0.215 +0.18125 +0.29125 +0.48125 +0.63875 +0.6700001 +0.57 +0.4275 +0.3075 +0.2825 +0.35625 +0.47375003 +0.5625 +0.58875 +0.57624996 +0.59875 +0.73125005 +1.01 +1.38375 +1.7549999 +2.0087502 +2.06875 +1.93 +1.66625 +1.3875 +1.18875 +1.09875 +1.0825 +1.06375 +0.97875 +0.81375 +0.62 +0.47749996 +0.44750002 +0.51874995 +0.61625 +0.64374995 +0.5725 +0.39374998 +0.19 +0.08625 +0.13499999 +0.30499998 +0.56 +0.73125005 +0.74875 +0.6225 +0.44125 +0.31875002 +0.33124998 +0.48250002 +0.7225 +0.96375 +1.145 +1.23625 +1.25875 +1.2524999 +0.81 +0.94874996 +1.0862501 +1.21875 +1.36 +1.5074999 +1.645 +1.7425001 +1.7650001 +1.7025 +1.5712501 +1.4025 +1.2262499 +1.05 +0.87499994 +0.69375 +0.53625 +0.41250002 +0.32874998 +0.29125 +0.27625 +0.25125003 +0.19375001 +0.09375001 +0.05375 +0.05125 +0.055 +0.06625 +0.0875 +0.15499999 +0.3 +0.41750002 +0.48125 +0.52375 +0.58625 +0.685 +0.81374997 +0.95250005 +1.0899999 +1.2275 +1.3675 +1.5125 +1.6437501 +1.7325001 +1.74875 +1.6825 +1.55125 +1.385 +1.20875 +1.0349998 +0.85749996 +0.675 +0.52124995 +0.4025 +0.32874998 +0.29874998 +0.28875 +0.265 +0.2025 +0.096250005 +0.04625 +0.04375 +0.05 +0.06375 +0.0875 +0.165 +0.305 +0.41374996 +0.4725 +0.515 +0.58 +0.68 +0.81 +0.94874996 +1.0862501 +1.21875 +1.36 +1.5074999 +1.645 +1.7425001 +1.7650001 +1.7025 +1.5712501 +1.4025 +1.2262499 +1.05 +0.87499994 +0.69375 +0.53625 +0.41250002 +0.32874998 +0.29125 +0.27625 +0.25125003 +0.19375001 +0.09375001 +0.05375 +0.05125 +0.055 +0.06625 +0.0875 +0.15499999 +0.3 +0.41750002 +0.48125 +0.52375 +0.58625 +0.685 +0.81374997 +0.95250005 +1.0899999 +1.2275 +1.3675 +1.5125 +1.6437501 +1.7325001 +1.74875 +1.6825 +1.55125 +1.385 +1.20875 +1.0349998 +0.85749996 +0.675 +0.52124995 +0.4025 +0.32874998 +0.29874998 +0.28875 +0.265 +0.2025 +0.096250005 +0.04625 +0.04375 +0.05 +0.06375 +0.0875 +0.165 +0.305 +0.41374996 +0.4725 +0.515 +0.58 +0.68 +0.7662499 +0.90375 +1.03875 +1.1787499 +1.33 +1.4975001 +1.66 +1.78 +1.82125 +1.7712501 +1.6412499 +1.46375 +1.2724999 +1.08625 +0.905 +0.72125 +0.54875 +0.41875002 +0.32874998 +0.2825 +0.2675 +0.26125002 +0.21875 +0.135 +0.06625 +0.055 +0.0525 +0.0575 +0.07625 +0.16875 +0.3175 +0.44000003 +0.50625 +0.54625005 +0.60125 +0.68499994 +0.80125004 +0.93875 +1.085 +1.2312499 +1.38125 +1.52625 +1.6512499 +1.72375 +1.7249999 +1.6524999 +1.5162499 +1.3449999 +1.1637499 +0.98 +0.79499996 +0.61125 +0.45749998 +0.36124998 +0.315 +0.31125 +0.32125 +0.32250002 +0.26 +0.15125 +0.051250003 +0.0325 +0.0375 +0.0525 +0.09875 +0.21124999 +0.33249998 +0.41375 +0.4525 +0.48375 +0.54375 +0.64250004 +0.7662499 +0.90375 +1.03875 +1.1787499 +1.33 +1.4975001 +1.66 +1.78 +1.82125 +1.7712501 +1.6412499 +1.46375 +1.2724999 +1.08625 +0.905 +0.72125 +0.54875 +0.41875002 +0.32874998 +0.2825 +0.2675 +0.26125002 +0.21875 +0.135 +0.06625 +0.055 +0.0525 +0.0575 +0.07625 +0.16875 +0.3175 +0.44000003 +0.50625 +0.54625005 +0.60125 +0.68499994 +0.80125004 +0.93875 +1.085 +1.2312499 +1.38125 +1.52625 +1.6512499 +1.72375 +1.7249999 +1.6524999 +1.5162499 +1.3449999 +1.1637499 +0.98 +0.79499996 +0.61125 +0.45749998 +0.36124998 +0.315 +0.31125 +0.32125 +0.32250002 +0.26 +0.15125 +0.051250003 +0.0325 +0.0375 +0.0525 +0.09875 +0.21124999 +0.33249998 +0.41375 +0.4525 +0.48375 +0.54375 +0.64250004 +0.67125 +0.7975 +0.92875 +1.0749999 +1.25125 +1.45375 +1.6637499 +1.8325 +1.91625 +1.8899999 +1.76125 +1.5725 +1.3625 +1.16 +0.97 +0.78875005 +0.61375 +0.4675 +0.36624998 +0.31375 +0.29625 +0.30124998 +0.28875 +0.2225 +0.1325 +0.06375 +0.04 +0.035 +0.075 +0.2 +0.35875005 +0.48624998 +0.55625 +0.5875 +0.61625004 +0.66875005 +0.76250005 +0.89375 +1.04875 +1.21375 +1.37875 +1.5250001 +1.635 +1.6825 +1.66 +1.5699999 +1.4250001 +1.2462499 +1.0525 +0.85375 +0.65625006 +0.47750002 +0.3475 +0.28875 +0.29125 +0.33125 +0.385 +0.405 +0.35 +0.22874999 +0.10125 +0.036250003 +0.03625 +0.08125 +0.17125 +0.2875 +0.37124997 +0.4025 +0.40625 +0.41750002 +0.46250004 +0.55250007 +0.67125 +0.7975 +0.92875 +1.0749999 +1.25125 +1.45375 +1.6637499 +1.8325 +1.91625 +1.8899999 +1.76125 +1.5725 +1.3625 +1.16 +0.97 +0.78875005 +0.61375 +0.4675 +0.36624998 +0.31375 +0.29625 +0.30124998 +0.28875 +0.2225 +0.1325 +0.06375 +0.04 +0.035 +0.075 +0.2 +0.35875005 +0.48624998 +0.55625 +0.5875 +0.61625004 +0.66875005 +0.76250005 +0.89375 +1.04875 +1.21375 +1.37875 +1.5250001 +1.635 +1.6825 +1.66 +1.5699999 +1.4250001 +1.2462499 +1.0525 +0.85375 +0.65625006 +0.47750002 +0.3475 +0.28875 +0.29125 +0.33125 +0.385 +0.405 +0.35 +0.22874999 +0.10125 +0.036250003 +0.03625 +0.08125 +0.17125 +0.2875 +0.37124997 +0.4025 +0.40625 +0.41750002 +0.46250004 +0.55250007 +0.54499996 +0.65250003 +0.7700001 +0.91625005 +1.10875 +1.3512499 +1.6137501 +1.84125 +1.97875 +1.9875 +1.8774999 +1.6912501 +1.4725001 +1.2625 +1.07875 +0.91125005 +0.7475 +0.60125 +0.49499997 +0.43375 +0.41625002 +0.42000002 +0.42874998 +0.39625 +0.30124998 +0.1825 +0.09125 +0.06 +0.114999995 +0.2525 +0.415 +0.54749995 +0.61375 +0.62625 +0.61625004 +0.625 +0.68375 +0.7987499 +0.96000004 +1.1425 +1.32125 +1.46625 +1.5524999 +1.5699999 +1.52125 +1.4187499 +1.27125 +1.09375 +0.89875007 +0.69000006 +0.48250002 +0.31875 +0.22874999 +0.21375002 +0.26375 +0.35000002 +0.4325 +0.46124998 +0.40249997 +0.28375 +0.16125 +0.089999996 +0.098749995 +0.17875 +0.28375 +0.36375 +0.39 +0.36875 +0.33625 +0.32874998 +0.36500004 +0.4425 +0.54499996 +0.65250003 +0.7700001 +0.91625005 +1.10875 +1.3512499 +1.6137501 +1.84125 +1.97875 +1.9875 +1.8774999 +1.6912501 +1.4725001 +1.2625 +1.07875 +0.91125005 +0.7475 +0.60125 +0.49499997 +0.43375 +0.41625002 +0.42000002 +0.42874998 +0.39625 +0.30124998 +0.1825 +0.09125 +0.06 +0.114999995 +0.2525 +0.415 +0.54749995 +0.61375 +0.62625 +0.61625004 +0.625 +0.68375 +0.7987499 +0.96000004 +1.1425 +1.32125 +1.46625 +1.5524999 +1.5699999 +1.52125 +1.4187499 +1.27125 +1.09375 +0.89875007 +0.69000006 +0.48250002 +0.31875 +0.22874999 +0.21375002 +0.26375 +0.35000002 +0.4325 +0.46124998 +0.40249997 +0.28375 +0.16125 +0.089999996 +0.098749995 +0.17875 +0.28375 +0.36375 +0.39 +0.36875 +0.33625 +0.32874998 +0.36500004 +0.4425 +0.42374998 +0.5 +0.58750004 +0.715 +0.90875 +1.1750001 +1.4812499 +1.76375 +1.95625 +2.01125 +1.935 +1.77875 +1.5787499 +1.385 +1.22375 +1.09 +0.9525 +0.8299999 +0.72375 +0.65375 +0.63 +0.64125 +0.65375 +0.635 +0.55875003 +0.42374998 +0.29625 +0.23500001 +0.26125 +0.35625 +0.48250002 +0.61125 +0.67375004 +0.66125 +0.60625 +0.56375 +0.5775 +0.6712499 +0.83375 +1.0275 +1.2137499 +1.3449999 +1.4050001 +1.42 +1.36375 +1.2475001 +1.0925 +0.9225 +0.73875 +0.53249997 +0.34375 +0.2075 +0.1425 +0.16375001 +0.25125 +0.36249998 +0.44125 +0.4525 +0.37375 +0.26 +0.16375 +0.1275 +0.16125 +0.25625 +0.34875 +0.3875 +0.36624998 +0.3075 +0.255 +0.24625 +0.28249997 +0.34624997 +0.42374998 +0.5 +0.58750004 +0.715 +0.90875 +1.1750001 +1.4812499 +1.76375 +1.95625 +2.01125 +1.935 +1.77875 +1.5787499 +1.385 +1.22375 +1.09 +0.9525 +0.8299999 +0.72375 +0.65375 +0.63 +0.64125 +0.65375 +0.635 +0.55875003 +0.42374998 +0.29625 +0.23500001 +0.26125 +0.35625 +0.48250002 +0.61125 +0.67375004 +0.66125 +0.60625 +0.56375 +0.5775 +0.6712499 +0.83375 +1.0275 +1.2137499 +1.3449999 +1.4050001 +1.42 +1.36375 +1.2475001 +1.0925 +0.9225 +0.73875 +0.53249997 +0.34375 +0.2075 +0.1425 +0.16375001 +0.25125 +0.36249998 +0.44125 +0.4525 +0.37375 +0.26 +0.16375 +0.1275 +0.16125 +0.25625 +0.34875 +0.3875 +0.36624998 +0.3075 +0.255 +0.24625 +0.28249997 +0.34624997 +0.33124998 +0.36499998 +0.41 +0.50374997 +0.67999995 +0.9524999 +1.27875 +1.5975 +1.8300002 +1.9325 +1.8987501 +1.7900001 +1.6387501 +1.4962499 +1.3837501 +1.29375 +1.20125 +1.09625 +0.99 +0.90874994 +0.8737499 +0.88500005 +0.90875 +0.89374995 +0.815 +0.66875005 +0.51375 +0.4075 +0.3925 +0.46375 +0.57625 +0.68500006 +0.73875 +0.6975 +0.59749997 +0.50750005 +0.48375 +0.5575 +0.72 +0.91999996 +1.10375 +1.21875 +1.2675 +1.2574999 +1.1825 +1.06875 +0.93500006 +0.7875 +0.62375 +0.44375002 +0.27499998 +0.1525 +0.1075 +0.15249999 +0.25875 +0.37124997 +0.42624998 +0.39625 +0.29125 +0.16499999 +0.09625 +0.09 +0.15125002 +0.26875 +0.35375 +0.36749998 +0.315 +0.23749998 +0.1875 +0.19624999 +0.235 +0.28499997 +0.33124998 +0.36499998 +0.41 +0.50374997 +0.67999995 +0.9524999 +1.27875 +1.5975 +1.8300002 +1.9325 +1.8987501 +1.7900001 +1.6387501 +1.4962499 +1.3837501 +1.29375 +1.20125 +1.09625 +0.99 +0.90874994 +0.8737499 +0.88500005 +0.90875 +0.89374995 +0.815 +0.66875005 +0.51375 +0.4075 +0.3925 +0.46375 +0.57625 +0.68500006 +0.73875 +0.6975 +0.59749997 +0.50750005 +0.48375 +0.5575 +0.72 +0.91999996 +1.10375 +1.21875 +1.2675 +1.2574999 +1.1825 +1.06875 +0.93500006 +0.7875 +0.62375 +0.44375002 +0.27499998 +0.1525 +0.1075 +0.15249999 +0.25875 +0.37124997 +0.42624998 +0.39625 +0.29125 +0.16499999 +0.09625 +0.09 +0.15125002 +0.26875 +0.35375 +0.36749998 +0.315 +0.23749998 +0.1875 +0.19624999 +0.235 +0.28499997 +0.27999997 +0.27624997 +0.27249998 +0.31625 +0.46749997 +0.725 +1.05125 +1.3775 +1.635 +1.7674999 +1.7787501 +1.7187501 +1.63625 +1.56375 +1.51375 +1.4775001 +1.4100001 +1.3125 +1.19625 +1.0962499 +1.0487499 +1.0575 +1.0825 +1.07375 +1.00875 +0.84625006 +0.65500003 +0.5175 +0.47875 +0.53499997 +0.64125 +0.7575 +0.8025 +0.74 +0.61125 +0.49124998 +0.4475 +0.51500005 +0.6762499 +0.8825 +1.05875 +1.1537501 +1.1675 +1.1312499 +1.0462501 +0.94000006 +0.82874995 +0.72375 +0.59125 +0.4175 +0.26375002 +0.15625 +0.1275 +0.18375 +0.29250002 +0.38875002 +0.41 +0.34000003 +0.19375 +0.08125 +0.035 +0.0425 +0.13499999 +0.27374998 +0.35375 +0.3475 +0.2725 +0.1875 +0.1525 +0.17249998 +0.21624999 +0.26 +0.27999997 +0.27624997 +0.27249998 +0.31625 +0.46749997 +0.725 +1.05125 +1.3775 +1.635 +1.7674999 +1.7787501 +1.7187501 +1.63625 +1.56375 +1.51375 +1.4775001 +1.4100001 +1.3125 +1.19625 +1.0962499 +1.0487499 +1.0575 +1.0825 +1.07375 +1.00875 +0.84625006 +0.65500003 +0.5175 +0.47875 +0.53499997 +0.64125 +0.7575 +0.8025 +0.74 +0.61125 +0.49124998 +0.4475 +0.51500005 +0.6762499 +0.8825 +1.05875 +1.1537501 +1.1675 +1.1312499 +1.0462501 +0.94000006 +0.82874995 +0.72375 +0.59125 +0.4175 +0.26375002 +0.15625 +0.1275 +0.18375 +0.29250002 +0.38875002 +0.41 +0.34000003 +0.19375 +0.08125 +0.035 +0.0425 +0.13499999 +0.27374998 +0.35375 +0.3475 +0.2725 +0.1875 +0.1525 +0.17249998 +0.21624999 +0.26 +0.27875 +0.2575 +0.21375 +0.205 +0.30749997 +0.54375 +0.85125 +1.1625 +1.4125001 +1.5625 +1.61 +1.595 +1.57625 +1.58 +1.605 +1.6100001 +1.555 +1.42875 +1.28625 +1.1675 +1.11 +1.1125001 +1.14125 +1.175 +1.1125 +0.94625 +0.73125 +0.5575 +0.5125 +0.5675 +0.69625 +0.815 +0.8475 +0.77500004 +0.63875 +0.51625 +0.48000002 +0.55875003 +0.7325 +0.94124997 +1.11 +1.1875 +1.17125 +1.09125 +0.99875003 +0.90000004 +0.835 +0.76250005 +0.65 +0.48375002 +0.3 +0.20375 +0.18875 +0.25375 +0.35875 +0.44375002 +0.45124996 +0.34125 +0.175 +0.05125 +0.0125 +0.054999996 +0.1975 +0.3475 +0.41625 +0.38125 +0.28125 +0.185 +0.15125 +0.175 +0.2225 +0.26375 +0.27875 +0.2575 +0.21375 +0.205 +0.30749997 +0.54375 +0.85125 +1.1625 +1.4125001 +1.5625 +1.61 +1.595 +1.57625 +1.58 +1.605 +1.6100001 +1.555 +1.42875 +1.28625 +1.1675 +1.11 +1.1125001 +1.14125 +1.175 +1.1125 +0.94625 +0.73125 +0.5575 +0.5125 +0.5675 +0.69625 +0.815 +0.8475 +0.77500004 +0.63875 +0.51625 +0.48000002 +0.55875003 +0.7325 +0.94124997 +1.11 +1.1875 +1.17125 +1.09125 +0.99875003 +0.90000004 +0.835 +0.76250005 +0.65 +0.48375002 +0.3 +0.20375 +0.18875 +0.25375 +0.35875 +0.44375002 +0.45124996 +0.34125 +0.175 +0.05125 +0.0125 +0.054999996 +0.1975 +0.3475 +0.41625 +0.38125 +0.28125 +0.185 +0.15125 +0.175 +0.2225 +0.26375 +0.3025 +0.285 +0.23875 +0.19500001 +0.225 +0.43125004 +0.7099999 +0.98625 +1.20875 +1.3525 +1.4250001 +1.4637501 +1.5137498 +1.58625 +1.6637499 +1.695 +1.64375 +1.5037501 +1.3199999 +1.1675 +1.10875 +1.12875 +1.1999999 +1.23375 +1.165 +0.99375004 +0.78249997 +0.61125004 +0.555 +0.61625 +0.74125 +0.8425 +0.85875 +0.77875 +0.65500003 +0.555 +0.54625 +0.65375 +0.84499997 +1.05375 +1.2137501 +1.2774999 +1.2475 +1.1575 +1.0562501 +0.98 +0.92625 +0.86125 +0.75625 +0.59625 +0.42000002 +0.29375 +0.27625 +0.3525 +0.48250002 +0.57875 +0.56 +0.4275 +0.24625002 +0.115 +0.092499994 +0.1925 +0.37125 +0.5175 +0.56125003 +0.49 +0.355 +0.23375 +0.185 +0.20125 +0.24499999 +0.2875 +0.3025 +0.285 +0.23875 +0.19500001 +0.225 +0.43125004 +0.7099999 +0.98625 +1.20875 +1.3525 +1.4250001 +1.4637501 +1.5137498 +1.58625 +1.6637499 +1.695 +1.64375 +1.5037501 +1.3199999 +1.1675 +1.10875 +1.12875 +1.1999999 +1.23375 +1.165 +0.99375004 +0.78249997 +0.61125004 +0.555 +0.61625 +0.74125 +0.8425 +0.85875 +0.77875 +0.65500003 +0.555 +0.54625 +0.65375 +0.84499997 +1.05375 +1.2137501 +1.2774999 +1.2475 +1.1575 +1.0562501 +0.98 +0.92625 +0.86125 +0.75625 +0.59625 +0.42000002 +0.29375 +0.27625 +0.3525 +0.48250002 +0.57875 +0.56 +0.4275 +0.24625002 +0.115 +0.092499994 +0.1925 +0.37125 +0.5175 +0.56125003 +0.49 +0.355 +0.23375 +0.185 +0.20125 +0.24499999 +0.2875 +0.33 +0.3125 +0.265 +0.21249999 +0.21374999 +0.38625002 +0.63625 +0.87 +1.04875 +1.16875 +1.2574999 +1.345 +1.46 +1.6012499 +1.7287501 +1.785 +1.73875 +1.59625 +1.4162499 +1.2775 +1.23 +1.27 +1.34 +1.35875 +1.2674999 +1.07875 +0.8587499 +0.6875 +0.62625 +0.67125 +0.76375 +0.83000004 +0.81875 +0.735 +0.62875 +0.56625 +0.59625006 +0.72875 +0.93000007 +1.12875 +1.27125 +1.325 +1.29125 +1.20625 +1.1175001 +1.05125 +1.0025 +0.94124997 +0.84125 +0.68874997 +0.52625 +0.41625 +0.41 +0.50625 +0.64375 +0.735 +0.71375 +0.57875 +0.40125 +0.2825 +0.29625002 +0.435 +0.62249994 +0.75374997 +0.76125 +0.64625 +0.47375 +0.32625 +0.255 +0.2575 +0.28749996 +0.31375 +0.33 +0.3125 +0.265 +0.21249999 +0.21374999 +0.38625002 +0.63625 +0.87 +1.04875 +1.16875 +1.2574999 +1.345 +1.46 +1.6012499 +1.7287501 +1.785 +1.73875 +1.59625 +1.4162499 +1.2775 +1.23 +1.27 +1.34 +1.35875 +1.2674999 +1.07875 +0.8587499 +0.6875 +0.62625 +0.67125 +0.76375 +0.83000004 +0.81875 +0.735 +0.62875 +0.56625 +0.59625006 +0.72875 +0.93000007 +1.12875 +1.27125 +1.325 +1.29125 +1.20625 +1.1175001 +1.05125 +1.0025 +0.94124997 +0.84125 +0.68874997 +0.52625 +0.41625 +0.41 +0.50625 +0.64375 +0.735 +0.71375 +0.57875 +0.40125 +0.2825 +0.29625002 +0.435 +0.62249994 +0.75374997 +0.76125 +0.64625 +0.47375 +0.32625 +0.255 +0.2575 +0.28749996 +0.31375 +0.33375 +0.31625 +0.27125 +0.22 +0.2325 +0.39125 +0.60875 +0.8025 +0.94 +1.03625 +1.13375 +1.2700001 +1.45625 +1.6737499 +1.85875 +1.9525001 +1.9300001 +1.8124999 +1.6700001 +1.575 +1.56625 +1.625 +1.6837499 +1.6587499 +1.51625 +1.2837499 +1.03125 +0.84 +0.75374997 +0.75374997 +0.79125 +0.7975 +0.74625 +0.64875 +0.56125 +0.5325 +0.595 +0.735 +0.9187499 +1.08875 +1.20125 +1.235 +1.20125 +1.13 +1.06125 +1.01 +0.97624993 +0.92625 +0.83625 +0.705 +0.5675 +0.48624998 +0.50750005 +0.625 +0.77375 +0.87000006 +0.8575 +0.73625004 +0.58125 +0.49375 +0.5325 +0.6875 +0.87 +0.97875005 +0.95125 +0.8000001 +0.59874994 +0.435 +0.35750002 +0.34875 +0.35625 +0.34625 +0.33375 +0.31625 +0.27125 +0.22 +0.2325 +0.39125 +0.60875 +0.8025 +0.94 +1.03625 +1.13375 +1.2700001 +1.45625 +1.6737499 +1.85875 +1.9525001 +1.9300001 +1.8124999 +1.6700001 +1.575 +1.56625 +1.625 +1.6837499 +1.6587499 +1.51625 +1.2837499 +1.03125 +0.84 +0.75374997 +0.75374997 +0.79125 +0.7975 +0.74625 +0.64875 +0.56125 +0.5325 +0.595 +0.735 +0.9187499 +1.08875 +1.20125 +1.235 +1.20125 +1.13 +1.06125 +1.01 +0.97624993 +0.92625 +0.83625 +0.705 +0.5675 +0.48624998 +0.50750005 +0.625 +0.77375 +0.87000006 +0.8575 +0.73625004 +0.58125 +0.49375 +0.5325 +0.6875 +0.87 +0.97875005 +0.95125 +0.8000001 +0.59874994 +0.435 +0.35750002 +0.34875 +0.35625 +0.34625 +0.3325 +0.29125 +0.24875 +0.21000001 +0.25 +0.41875002 +0.61875004 +0.78125 +0.88500005 +0.96500003 +1.0775 +1.2650001 +1.5312501 +1.8275 +2.0825 +2.235 +2.26375 +2.2075 +2.13625 +2.11625 +2.1625 +2.23625 +2.2625 +2.1725 +1.945 +1.6375 +1.3275 +1.1125 +0.99125004 +0.9187499 +0.85625 +0.78875 +0.68500006 +0.56874996 +0.49125 +0.48375 +0.5525 +0.67499995 +0.80875 +0.92125 +0.9825001 +0.98625 +0.95000005 +0.9175001 +0.88374996 +0.84375 +0.80875003 +0.78000003 +0.71750003 +0.62 +0.52250004 +0.48125 +0.5325 +0.67125 +0.83500004 +0.94125 +0.94125 +0.84250003 +0.71625 +0.65375 +0.7125 +0.86875004 +1.03875 +1.12 +1.0625 +0.89124995 +0.68125004 +0.52124995 +0.45374995 +0.45499998 +0.4575 +0.40375 +0.3325 +0.29125 +0.24875 +0.21000001 +0.25 +0.41875002 +0.61875004 +0.78125 +0.88500005 +0.96500003 +1.0775 +1.2650001 +1.5312501 +1.8275 +2.0825 +2.235 +2.26375 +2.2075 +2.13625 +2.11625 +2.1625 +2.23625 +2.2625 +2.1725 +1.945 +1.6375 +1.3275 +1.1125 +0.99125004 +0.9187499 +0.85625 +0.78875 +0.68500006 +0.56874996 +0.49125 +0.48375 +0.5525 +0.67499995 +0.80875 +0.92125 +0.9825001 +0.98625 +0.95000005 +0.9175001 +0.88374996 +0.84375 +0.80875003 +0.78000003 +0.71750003 +0.62 +0.52250004 +0.48125 +0.5325 +0.67125 +0.83500004 +0.94125 +0.94125 +0.84250003 +0.71625 +0.65375 +0.7125 +0.86875004 +1.03875 +1.12 +1.0625 +0.89124995 +0.68125004 +0.52124995 +0.45374995 +0.45499998 +0.4575 +0.40375 +0.36624998 +0.26250002 +0.20875 +0.19875 +0.28375 +0.4675 +0.66999996 +0.81375 +0.89750004 +0.97125 +1.105 +1.3425 +1.67875 +2.05375 +2.3825 +2.6025002 +2.7037501 +2.73 +2.7525 +2.8312497 +2.96875 +3.04125 +2.99125 +2.805 +2.48 +2.09125 +1.7524999 +1.4950001 +1.315 +1.17125 +1.0237501 +0.8525 +0.6825 +0.55 +0.47625 +0.47625 +0.53375 +0.605 +0.665 +0.695 +0.68999994 +0.66875 +0.65375 +0.64250004 +0.63125 +0.615 +0.59124994 +0.55125 +0.5125 +0.46 +0.41875 +0.44875 +0.53875005 +0.66 +0.82000005 +0.93500006 +0.95 +0.87000006 +0.7700001 +0.73 +0.795 +0.94375 +1.09375 +1.1487501 +1.0687501 +0.89000005 +0.695 +0.56375 +0.52875 +0.5525 +0.5625 +0.49750003 +0.36624998 +0.26250002 +0.20875 +0.19875 +0.28375 +0.4675 +0.66999996 +0.81375 +0.89750004 +0.97125 +1.105 +1.3425 +1.67875 +2.05375 +2.3825 +2.6025002 +2.7037501 +2.73 +2.7525 +2.8312497 +2.96875 +3.04125 +2.99125 +2.805 +2.48 +2.09125 +1.7524999 +1.4950001 +1.315 +1.17125 +1.0237501 +0.8525 +0.6825 +0.55 +0.47625 +0.47625 +0.53375 +0.605 +0.665 +0.695 +0.68999994 +0.66875 +0.65375 +0.64250004 +0.63125 +0.615 +0.59124994 +0.55125 +0.5125 +0.46 +0.41875 +0.44875 +0.53875005 +0.66 +0.82000005 +0.93500006 +0.95 +0.87000006 +0.7700001 +0.73 +0.795 +0.94375 +1.09375 +1.1487501 +1.0687501 +0.89000005 +0.695 +0.56375 +0.52875 +0.5525 +0.5625 +0.49750003 +0.44124997 +0.28249997 +0.2025 +0.22625001 +0.35625 +0.565 +0.77125 +0.90625 +0.9800001 +1.05375 +1.2049999 +1.48 +1.8675001 +2.29875 +2.68375 +2.9612498 +3.125 +3.2312498 +3.33875 +3.52125 +3.71125 +3.7800002 +3.67375 +3.3799999 +2.9625 +2.5149999 +2.1225 +1.82625 +1.605 +1.41125 +1.2075 +0.98625 +0.78625 +0.645 +0.5875 +0.5975 +0.63124996 +0.64375 +0.6125 +0.54875 +0.47375 +0.41375 +0.38 +0.37 +0.37 +0.36874998 +0.35875 +0.33874997 +0.31375 +0.30125 +0.32 +0.38624996 +0.49624994 +0.6225 +0.7537501 +0.8725 +0.8937501 +0.83375 +0.75625 +0.73 +0.7975 +0.935 +1.0575 +1.0875001 +0.99375004 +0.81874996 +0.64624995 +0.55375004 +0.56125 +0.61875 +0.65000004 +0.59 +0.44124997 +0.28249997 +0.2025 +0.22625001 +0.35625 +0.565 +0.77125 +0.90625 +0.9800001 +1.05375 +1.2049999 +1.48 +1.8675001 +2.29875 +2.68375 +2.9612498 +3.125 +3.2312498 +3.33875 +3.52125 +3.71125 +3.7800002 +3.67375 +3.3799999 +2.9625 +2.5149999 +2.1225 +1.82625 +1.605 +1.41125 +1.2075 +0.98625 +0.78625 +0.645 +0.5875 +0.5975 +0.63124996 +0.64375 +0.6125 +0.54875 +0.47375 +0.41375 +0.38 +0.37 +0.37 +0.36874998 +0.35875 +0.33874997 +0.31375 +0.30125 +0.32 +0.38624996 +0.49624994 +0.6225 +0.7537501 +0.8725 +0.8937501 +0.83375 +0.75625 +0.73 +0.7975 +0.935 +1.0575 +1.0875001 +0.99375004 +0.81874996 +0.64624995 +0.55375004 +0.56125 +0.61875 +0.65000004 +0.59 +0.52 +0.36 +0.27374998 +0.31375 +0.48125 +0.7124999 +0.9200001 +1.0525 +1.11625 +1.1850001 +1.33875 +1.625 +2.02875 +2.4775 +2.8787498 +3.17625 +3.3725004 +3.52125 +3.6825001 +3.9050002 +4.115 +4.165 +4.0025 +3.6425002 +3.165 +2.67625 +2.2725 +1.97625 +1.7525 +1.545 +1.32125 +1.0875 +0.89 +0.76375 +0.72749996 +0.745 +0.76250005 +0.73 +0.63625 +0.50375 +0.37374997 +0.27499998 +0.22125 +0.20500001 +0.20500001 +0.20125002 +0.18875 +0.17000002 +0.1625 +0.17125002 +0.2175 +0.31 +0.4325 +0.5525 +0.68125004 +0.7925 +0.82 +0.77250004 +0.71375 +0.7037499 +0.77375 +0.89625 +0.99375 +0.99875003 +0.88875 +0.71625 +0.5675 +0.51 +0.555 +0.64750004 +0.70124996 +0.65625 +0.52 +0.36 +0.27374998 +0.31375 +0.48125 +0.7124999 +0.9200001 +1.0525 +1.11625 +1.1850001 +1.33875 +1.625 +2.02875 +2.4775 +2.8787498 +3.17625 +3.3725004 +3.52125 +3.6825001 +3.9050002 +4.115 +4.165 +4.0025 +3.6425002 +3.165 +2.67625 +2.2725 +1.97625 +1.7525 +1.545 +1.32125 +1.0875 +0.89 +0.76375 +0.72749996 +0.745 +0.76250005 +0.73 +0.63625 +0.50375 +0.37374997 +0.27499998 +0.22125 +0.20500001 +0.20500001 +0.20125002 +0.18875 +0.17000002 +0.1625 +0.17125002 +0.2175 +0.31 +0.4325 +0.5525 +0.68125004 +0.7925 +0.82 +0.77250004 +0.71375 +0.7037499 +0.77375 +0.89625 +0.99375 +0.99875003 +0.88875 +0.71625 +0.5675 +0.51 +0.555 +0.64750004 +0.70124996 +0.65625 +0.59000003 +0.46125 +0.40125 +0.47 +0.65625 +0.8925 +1.0925 +1.2099999 +1.2575 +1.3050001 +1.43875 +1.7075 +2.0875 +2.5049996 +2.8712502 +3.14125 +3.31875 +3.4625003 +3.6287498 +3.825 +4.01875 +4.04 +3.86125 +3.5 +3.01375 +2.5225 +2.12375 +1.87625 +1.6962501 +1.5225 +1.35375 +1.16375 +0.98875004 +0.87750006 +0.84125 +0.8625001 +0.88125 +0.83374995 +0.72875 +0.5975 +0.46375 +0.35 +0.26625 +0.20875 +0.19500001 +0.17875001 +0.14750001 +0.14750001 +0.15124999 +0.1575 +0.17875001 +0.2575 +0.38375002 +0.4975 +0.6425 +0.74 +0.76374996 +0.72875 +0.68875 +0.69749993 +0.77375 +0.8875 +0.96500003 +0.94375 +0.81874996 +0.6425 +0.505 +0.46625 +0.53125 +0.64624995 +0.72125 +0.69874996 +0.59000003 +0.46125 +0.40125 +0.47 +0.65625 +0.8925 +1.0925 +1.2099999 +1.2575 +1.3050001 +1.43875 +1.7075 +2.0875 +2.5049996 +2.8712502 +3.14125 +3.31875 +3.4625003 +3.6287498 +3.825 +4.01875 +4.04 +3.86125 +3.5 +3.01375 +2.5225 +2.12375 +1.87625 +1.6962501 +1.5225 +1.35375 +1.16375 +0.98875004 +0.87750006 +0.84125 +0.8625001 +0.88125 +0.83374995 +0.72875 +0.5975 +0.46375 +0.35 +0.26625 +0.20875 +0.19500001 +0.17875001 +0.14750001 +0.14750001 +0.15124999 +0.1575 +0.17875001 +0.2575 +0.38375002 +0.4975 +0.6425 +0.74 +0.76374996 +0.72875 +0.68875 +0.69749993 +0.77375 +0.8875 +0.96500003 +0.94375 +0.81874996 +0.6425 +0.505 +0.46625 +0.53125 +0.64624995 +0.72125 +0.69874996 +0.66125 +0.57125 +0.54999995 +0.64375 +0.84 +1.06625 +1.2425 +1.32625 +1.33875 +1.3512499 +1.44375 +1.6624999 +1.98625 +2.33375 +2.6275 +2.82375 +2.93625 +3.03125 +3.16125 +3.32125 +3.455 +3.47 +3.30125 +2.9525 +2.50875 +2.085 +1.76875 +1.5837501 +1.4875 +1.4025002 +1.28625 +1.135 +0.9925 +0.90875006 +0.89500004 +0.9225 +0.95 +0.93125004 +0.85875 +0.75 +0.63625 +0.53875 +0.46375 +0.41 +0.36499998 +0.32874998 +0.29875 +0.2725 +0.25125003 +0.23250002 +0.24 +0.29 +0.38875002 +0.52125 +0.65125 +0.73375005 +0.74625003 +0.72 +0.7025 +0.735 +0.83000004 +0.94625 +1.0125 +0.97375 +0.8325 +0.64625 +0.50625 +0.46749997 +0.53499997 +0.65250003 +0.7375 +0.7362499 +0.66125 +0.57125 +0.54999995 +0.64375 +0.84 +1.06625 +1.2425 +1.32625 +1.33875 +1.3512499 +1.44375 +1.6624999 +1.98625 +2.33375 +2.6275 +2.82375 +2.93625 +3.03125 +3.16125 +3.32125 +3.455 +3.47 +3.30125 +2.9525 +2.50875 +2.085 +1.76875 +1.5837501 +1.4875 +1.4025002 +1.28625 +1.135 +0.9925 +0.90875006 +0.89500004 +0.9225 +0.95 +0.93125004 +0.85875 +0.75 +0.63625 +0.53875 +0.46375 +0.41 +0.36499998 +0.32874998 +0.29875 +0.2725 +0.25125003 +0.23250002 +0.24 +0.29 +0.38875002 +0.52125 +0.65125 +0.73375005 +0.74625003 +0.72 +0.7025 +0.735 +0.83000004 +0.94625 +1.0125 +0.97375 +0.8325 +0.64625 +0.50625 +0.46749997 +0.53499997 +0.65250003 +0.7375 +0.7362499 +0.74625 +0.69124997 +0.69875 +0.805 +0.99 +1.18125 +1.31125 +1.34375 +1.3050002 +1.2725 +1.3149999 +1.4725001 +1.72125 +1.9825001 +2.17875 +2.2775002 +2.3049998 +2.3275 +2.3962498 +2.51125 +2.6100001 +2.6125002 +2.4575 +2.15625 +1.78625 +1.4549999 +1.24375 +1.1587499 +1.15 +1.145 +1.0875 +0.98375 +0.8725 +0.80625004 +0.80375004 +0.84999996 +0.90125 +0.92375 +0.89875 +0.83875 +0.76750004 +0.70124996 +0.64750004 +0.60375 +0.56624997 +0.53125 +0.49249998 +0.44875002 +0.40125 +0.35750002 +0.3425 +0.37375 +0.4575 +0.57750005 +0.69124997 +0.75875 +0.76874995 +0.75375 +0.75874996 +0.82625 +0.94875 +1.08 +1.14875 +1.10125 +0.94875 +0.755 +0.60374993 +0.55499995 +0.61125 +0.71125 +0.79 +0.79999995 +0.74625 +0.69124997 +0.69875 +0.805 +0.99 +1.18125 +1.31125 +1.34375 +1.3050002 +1.2725 +1.3149999 +1.4725001 +1.72125 +1.9825001 +2.17875 +2.2775002 +2.3049998 +2.3275 +2.3962498 +2.51125 +2.6100001 +2.6125002 +2.4575 +2.15625 +1.78625 +1.4549999 +1.24375 +1.1587499 +1.15 +1.145 +1.0875 +0.98375 +0.8725 +0.80625004 +0.80375004 +0.84999996 +0.90125 +0.92375 +0.89875 +0.83875 +0.76750004 +0.70124996 +0.64750004 +0.60375 +0.56624997 +0.53125 +0.49249998 +0.44875002 +0.40125 +0.35750002 +0.3425 +0.37375 +0.4575 +0.57750005 +0.69124997 +0.75875 +0.76874995 +0.75375 +0.75874996 +0.82625 +0.94875 +1.08 +1.14875 +1.10125 +0.94875 +0.755 +0.60374993 +0.55499995 +0.61125 +0.71125 +0.79 +0.79999995 +0.85875 +0.81249994 +0.82625 +0.9187499 +1.06375 +1.2 +1.265 +1.23625 +1.1487501 +1.07 +1.0675 +1.17125 +1.3487501 +1.52125 +1.62625 +1.63375 +1.58 +1.53375 +1.54625 +1.6175 +1.6925 +1.69625 +1.5725 +1.33375 +1.04875 +0.81374997 +0.69625 +0.7 +0.76875 +0.8275 +0.82375 +0.7575 +0.6675 +0.60375 +0.59499997 +0.63874996 +0.70874995 +0.7675 +0.79625 +0.79249996 +0.76375 +0.72749996 +0.6975 +0.67625 +0.66375 +0.655 +0.63374996 +0.595 +0.53625 +0.47250003 +0.435 +0.44875002 +0.5225 +0.63625 +0.7425 +0.80625004 +0.8225 +0.82624996 +0.865 +0.97125006 +1.13125 +1.2887499 +1.3687501 +1.3262501 +1.1775 +0.97875005 +0.82 +0.75374997 +0.78000003 +0.85249996 +0.90875006 +0.90624994 +0.85875 +0.81249994 +0.82625 +0.9187499 +1.06375 +1.2 +1.265 +1.23625 +1.1487501 +1.07 +1.0675 +1.17125 +1.3487501 +1.52125 +1.62625 +1.63375 +1.58 +1.53375 +1.54625 +1.6175 +1.6925 +1.69625 +1.5725 +1.33375 +1.04875 +0.81374997 +0.69625 +0.7 +0.76875 +0.8275 +0.82375 +0.7575 +0.6675 +0.60375 +0.59499997 +0.63874996 +0.70874995 +0.7675 +0.79625 +0.79249996 +0.76375 +0.72749996 +0.6975 +0.67625 +0.66375 +0.655 +0.63374996 +0.595 +0.53625 +0.47250003 +0.435 +0.44875002 +0.5225 +0.63625 +0.7425 +0.80625004 +0.8225 +0.82624996 +0.865 +0.97125006 +1.13125 +1.2887499 +1.3687501 +1.3262501 +1.1775 +0.97875005 +0.82 +0.75374997 +0.78000003 +0.85249996 +0.90875006 +0.90624994 +0.97625 +0.91375 +0.90250003 +0.95625 +1.04375 +1.1087499 +1.1062499 +1.02125 +0.89625007 +0.79125 +0.765 +0.83250004 +0.95374995 +1.06 +1.0912501 +1.0337499 +0.92499995 +0.83625 +0.81375 +0.86 +0.96124995 +0.96125 +0.86 +0.6825 +0.47625002 +0.32125 +0.2725 +0.35625002 +0.46875003 +0.545 +0.58000004 +0.53999996 +0.45749998 +0.37999997 +0.35 +0.3875 +0.46750003 +0.5375 +0.5875 +0.61875 +0.61875 +0.60125 +0.58625 +0.59125 +0.64125 +0.68125 +0.68000007 +0.66625 +0.61375 +0.5425 +0.48999998 +0.5125 +0.59875 +0.68 +0.79375005 +0.87375 +0.91625 +0.9524999 +1.0325 +1.1850001 +1.385 +1.5675 +1.6637499 +1.63625 +1.4925001 +1.30125 +1.1375 +1.05375 +1.0450001 +1.0725 +1.08375 +1.0475 +0.97625 +0.91375 +0.90250003 +0.95625 +1.04375 +1.1087499 +1.1062499 +1.02125 +0.89625007 +0.79125 +0.765 +0.83250004 +0.95374995 +1.06 +1.0912501 +1.0337499 +0.92499995 +0.83625 +0.81375 +0.86 +0.96124995 +0.96125 +0.86 +0.6825 +0.47625002 +0.32125 +0.2725 +0.35625002 +0.46875003 +0.545 +0.58000004 +0.53999996 +0.45749998 +0.37999997 +0.35 +0.3875 +0.46750003 +0.5375 +0.5875 +0.61875 +0.61875 +0.60125 +0.58625 +0.59125 +0.64125 +0.68125 +0.68000007 +0.66625 +0.61375 +0.5425 +0.48999998 +0.5125 +0.59875 +0.68 +0.79375005 +0.87375 +0.91625 +0.9524999 +1.0325 +1.1850001 +1.385 +1.5675 +1.6637499 +1.63625 +1.4925001 +1.30125 +1.1375 +1.05375 +1.0450001 +1.0725 +1.08375 +1.0475 +1.06 +0.95875 +0.90625 +0.90375006 +0.9275 +0.92625 +0.8675 +0.75000006 +0.61375 +0.51124996 +0.48625 +0.5375 +0.625 +0.68625 +0.67249995 +0.58874995 +0.47374997 +0.36999997 +0.32625002 +0.39875 +0.51 +0.53249997 +0.44875002 +0.3 +0.1575 +0.085 +0.10625 +0.21374999 +0.34375 +0.43625 +0.4525 +0.39999998 +0.315 +0.23374999 +0.19874999 +0.21749999 +0.275 +0.3425 +0.39374998 +0.41375 +0.41 +0.39875 +0.41875002 +0.47875 +0.57 +0.66 +0.71375006 +0.70375 +0.64625 +0.57625 +0.54625 +0.58250004 +0.67 +0.76250005 +0.87 +0.9862499 +1.075 +1.1624999 +1.2925 +1.48625 +1.7149999 +1.9175001 +2.02375 +2.00375 +1.8675001 +1.6812501 +1.5125 +1.40125 +1.3499999 +1.32 +1.2687501 +1.175 +1.06 +0.95875 +0.90625 +0.90375006 +0.9275 +0.92625 +0.8675 +0.75000006 +0.61375 +0.51124996 +0.48625 +0.5375 +0.625 +0.68625 +0.67249995 +0.58874995 +0.47374997 +0.36999997 +0.32625002 +0.39875 +0.51 +0.53249997 +0.44875002 +0.3 +0.1575 +0.085 +0.10625 +0.21374999 +0.34375 +0.43625 +0.4525 +0.39999998 +0.315 +0.23374999 +0.19874999 +0.21749999 +0.275 +0.3425 +0.39374998 +0.41375 +0.41 +0.39875 +0.41875002 +0.47875 +0.57 +0.66 +0.71375006 +0.70375 +0.64625 +0.57625 +0.54625 +0.58250004 +0.67 +0.76250005 +0.87 +0.9862499 +1.075 +1.1624999 +1.2925 +1.48625 +1.7149999 +1.9175001 +2.02375 +2.00375 +1.8675001 +1.6812501 +1.5125 +1.40125 +1.3499999 +1.32 +1.2687501 +1.175 +1.06875 +0.92125 +0.81999993 +0.76624995 +0.73375 +0.68625 +0.59749997 +0.47749996 +0.36374998 +0.29250002 +0.28374997 +0.33750004 +0.40875003 +0.43874997 +0.40625 +0.33624998 +0.25875 +0.18375 +0.1225 +0.1875 +0.29874998 +0.33624998 +0.28375 +0.17625 +0.07875 +0.05 +0.09375 +0.19500001 +0.3175 +0.405 +0.425 +0.3775 +0.29375 +0.20625 +0.14500001 +0.1325 +0.16125 +0.2125 +0.2575 +0.2775 +0.26875 +0.26000002 +0.28125 +0.35499996 +0.475 +0.60875 +0.7075 +0.73375005 +0.69624996 +0.63625 +0.60625 +0.64375 +0.74375 +0.86875004 +1.0125 +1.18375 +1.32875 +1.47625 +1.65625 +1.8787501 +2.11875 +2.31625 +2.4125 +2.38375 +2.2462502 +2.0525 +1.8675 +1.7225 +1.6175 +1.5174999 +1.39375 +1.2375 +1.06875 +0.92125 +0.81999993 +0.76624995 +0.73375 +0.68625 +0.59749997 +0.47749996 +0.36374998 +0.29250002 +0.28374997 +0.33750004 +0.40875003 +0.43874997 +0.40625 +0.33624998 +0.25875 +0.18375 +0.1225 +0.1875 +0.29874998 +0.33624998 +0.28375 +0.17625 +0.07875 +0.05 +0.09375 +0.19500001 +0.3175 +0.405 +0.425 +0.3775 +0.29375 +0.20625 +0.14500001 +0.1325 +0.16125 +0.2125 +0.2575 +0.2775 +0.26875 +0.26000002 +0.28125 +0.35499996 +0.475 +0.60875 +0.7075 +0.73375005 +0.69624996 +0.63625 +0.60625 +0.64375 +0.74375 +0.86875004 +1.0125 +1.18375 +1.32875 +1.47625 +1.65625 +1.8787501 +2.11875 +2.31625 +2.4125 +2.38375 +2.2462502 +2.0525 +1.8675 +1.7225 +1.6175 +1.5174999 +1.39375 +1.2375 +0.97624993 +0.79 +0.65374994 +0.56624997 +0.50250006 +0.43125 +0.34625 +0.265 +0.21000001 +0.18249999 +0.18374999 +0.22874999 +0.28625 +0.30000004 +0.265 +0.23625 +0.20375 +0.14125 +0.08625 +0.1325 +0.23 +0.26125 +0.22 +0.16 +0.095 +0.067499995 +0.12125 +0.2175 +0.3175 +0.385 +0.4 +0.36499998 +0.30125 +0.22749999 +0.16125 +0.12875 +0.1375 +0.17250001 +0.21125 +0.2275 +0.21000001 +0.1925 +0.215 +0.29625002 +0.43374997 +0.59 +0.71625 +0.76874995 +0.77124995 +0.72875005 +0.69375 +0.745 +0.86999995 +1.03625 +1.2562499 +1.485 +1.69375 +1.8912499 +2.1 +2.32875 +2.5475001 +2.71 +2.7712502 +2.71125 +2.55125 +2.3387501 +2.1249998 +1.93625 +1.77 +1.5999999 +1.4074999 +1.19125 +0.97624993 +0.79 +0.65374994 +0.56624997 +0.50250006 +0.43125 +0.34625 +0.265 +0.21000001 +0.18249999 +0.18374999 +0.22874999 +0.28625 +0.30000004 +0.265 +0.23625 +0.20375 +0.14125 +0.08625 +0.1325 +0.23 +0.26125 +0.22 +0.16 +0.095 +0.067499995 +0.12125 +0.2175 +0.3175 +0.385 +0.4 +0.36499998 +0.30125 +0.22749999 +0.16125 +0.12875 +0.1375 +0.17250001 +0.21125 +0.2275 +0.21000001 +0.1925 +0.215 +0.29625002 +0.43374997 +0.59 +0.71625 +0.76874995 +0.77124995 +0.72875005 +0.69375 +0.745 +0.86999995 +1.03625 +1.2562499 +1.485 +1.69375 +1.8912499 +2.1 +2.32875 +2.5475001 +2.71 +2.7712502 +2.71125 +2.55125 +2.3387501 +2.1249998 +1.93625 +1.77 +1.5999999 +1.4074999 +1.19125 +0.79875 +0.59375 +0.45125002 +0.35500002 +0.28250003 +0.22749999 +0.18875 +0.18125 +0.18375 +0.16875 +0.14874999 +0.17249998 +0.21249999 +0.20874998 +0.19375 +0.1975 +0.18625 +0.14125 +0.105 +0.145 +0.1975 +0.22 +0.20249999 +0.16750002 +0.13499999 +0.120000005 +0.13999999 +0.20625 +0.27874997 +0.32 +0.3375 +0.35125002 +0.3375 +0.30249998 +0.26375002 +0.2425 +0.24625 +0.27625 +0.3075 +0.31875 +0.30499998 +0.27375 +0.27 +0.34625 +0.485 +0.6425 +0.79 +0.9 +0.93375 +0.91375005 +0.89874995 +0.94874996 +1.09375 +1.3249999 +1.59875 +1.875 +2.12375 +2.34875 +2.555 +2.74875 +2.9137502 +3.01125 +3.0125 +2.905 +2.71 +2.47 +2.22625 +1.9925001 +1.7712499 +1.5437499 +1.2987499 +1.0425 +0.79875 +0.59375 +0.45125002 +0.35500002 +0.28250003 +0.22749999 +0.18875 +0.18125 +0.18375 +0.16875 +0.14874999 +0.17249998 +0.21249999 +0.20874998 +0.19375 +0.1975 +0.18625 +0.14125 +0.105 +0.145 +0.1975 +0.22 +0.20249999 +0.16750002 +0.13499999 +0.120000005 +0.13999999 +0.20625 +0.27874997 +0.32 +0.3375 +0.35125002 +0.3375 +0.30249998 +0.26375002 +0.2425 +0.24625 +0.27625 +0.3075 +0.31875 +0.30499998 +0.27375 +0.27 +0.34625 +0.485 +0.6425 +0.79 +0.9 +0.93375 +0.91375005 +0.89874995 +0.94874996 +1.09375 +1.3249999 +1.59875 +1.875 +2.12375 +2.34875 +2.555 +2.74875 +2.9137502 +3.01125 +3.0125 +2.905 +2.71 +2.47 +2.22625 +1.9925001 +1.7712499 +1.5437499 +1.2987499 +1.0425 +0.59875 +0.415 +0.29875 +0.22375 +0.175 +0.155 +0.1575 +0.16625 +0.16625 +0.15 +0.12375 +0.12625 +0.1375 +0.135 +0.145 +0.165 +0.16625 +0.13625 +0.114999995 +0.15 +0.17374998 +0.16624999 +0.15125 +0.145 +0.14375 +0.14125 +0.14125 +0.17125002 +0.20375 +0.23375 +0.26625 +0.29749998 +0.3225 +0.3375 +0.34375 +0.35125002 +0.36875 +0.40375 +0.44125 +0.46625 +0.46749997 +0.45625004 +0.46375 +0.51875 +0.6375 +0.79875004 +0.9625 +1.085 +1.14375 +1.16 +1.185 +1.27 +1.445 +1.70125 +1.9975 +2.28875 +2.545 +2.7512498 +2.9162498 +3.04 +3.1174998 +3.13125 +3.0625 +2.9075 +2.68125 +2.42 +2.1525 +1.8925 +1.64 +1.38125 +1.115 +0.84624994 +0.59875 +0.415 +0.29875 +0.22375 +0.175 +0.155 +0.1575 +0.16625 +0.16625 +0.15 +0.12375 +0.12625 +0.1375 +0.135 +0.145 +0.165 +0.16625 +0.13625 +0.114999995 +0.15 +0.17374998 +0.16624999 +0.15125 +0.145 +0.14375 +0.14125 +0.14125 +0.17125002 +0.20375 +0.23375 +0.26625 +0.29749998 +0.3225 +0.3375 +0.34375 +0.35125002 +0.36875 +0.40375 +0.44125 +0.46625 +0.46749997 +0.45625004 +0.46375 +0.51875 +0.6375 +0.79875004 +0.9625 +1.085 +1.14375 +1.16 +1.185 +1.27 +1.445 +1.70125 +1.9975 +2.28875 +2.545 +2.7512498 +2.9162498 +3.04 +3.1174998 +3.13125 +3.0625 +2.9075 +2.68125 +2.42 +2.1525 +1.8925 +1.64 +1.38125 +1.115 +0.84624994 +0.45874998 +0.3225 +0.265 +0.20875 +0.16 +0.135 +0.13125 +0.13625 +0.13625 +0.12125 +0.095 +0.075 +0.07 +0.07625 +0.1 +0.125 +0.13 +0.10875 +0.0875 +0.09875 +0.09750001 +0.07625 +0.095 +0.1325 +0.14625 +0.13125 +0.113749996 +0.1075 +0.11375 +0.12875 +0.1575 +0.20125002 +0.25375 +0.30874997 +0.35125 +0.38750005 +0.42875 +0.48125 +0.5425 +0.59625 +0.63 +0.65000004 +0.67375 +0.72875 +0.83375 +0.97875 +1.13375 +1.2637501 +1.3575001 +1.4212501 +1.4925 +1.6175001 +1.81875 +2.0787501 +2.36625 +2.6375 +2.85625 +3.0049999 +3.0900002 +3.1174998 +3.09625 +3.0225003 +2.89125 +2.70125 +2.465 +2.2062502 +1.9450002 +1.69 +1.4425 +1.195 +0.94 +0.68999994 +0.45874998 +0.3225 +0.265 +0.20875 +0.16 +0.135 +0.13125 +0.13625 +0.13625 +0.12125 +0.095 +0.075 +0.07 +0.07625 +0.1 +0.125 +0.13 +0.10875 +0.0875 +0.09875 +0.09750001 +0.07625 +0.095 +0.1325 +0.14625 +0.13125 +0.113749996 +0.1075 +0.11375 +0.12875 +0.1575 +0.20125002 +0.25375 +0.30874997 +0.35125 +0.38750005 +0.42875 +0.48125 +0.5425 +0.59625 +0.63 +0.65000004 +0.67375 +0.72875 +0.83375 +0.97875 +1.13375 +1.2637501 +1.3575001 +1.4212501 +1.4925 +1.6175001 +1.81875 +2.0787501 +2.36625 +2.6375 +2.85625 +3.0049999 +3.0900002 +3.1174998 +3.09625 +3.0225003 +2.89125 +2.70125 +2.465 +2.2062502 +1.9450002 +1.69 +1.4425 +1.195 +0.94 +0.68999994 +0.44625002 +0.3075 +0.23875 +0.18125 +0.13125 +0.1025 +0.09625 +0.1 +0.10125 +0.08875 +0.065 +0.03875 +0.0275 +0.035 +0.05625 +0.0775 +0.08125 +0.06125 +0.03875 +0.0375 +0.023750002 +0.015 +0.0575 +0.0975 +0.11625 +0.10625 +0.07625 +0.045 +0.0325 +0.042500004 +0.074999996 +0.1225 +0.17500001 +0.2325 +0.29375 +0.34750003 +0.40875003 +0.4875 +0.58250004 +0.67625 +0.75374997 +0.8075 +0.84875005 +0.90374994 +0.9937501 +1.11625 +1.265 +1.4087499 +1.53625 +1.64875 +1.7712502 +1.9287502 +2.14375 +2.38125 +2.625 +2.8374999 +2.9837499 +3.0462499 +3.03125 +2.9587502 +2.8425002 +2.6974998 +2.53 +2.335 +2.12 +1.89625 +1.6775 +1.4675 +1.2674999 +1.0699999 +0.86125 +0.65 +0.44625002 +0.3075 +0.23875 +0.18125 +0.13125 +0.1025 +0.09625 +0.1 +0.10125 +0.08875 +0.065 +0.03875 +0.0275 +0.035 +0.05625 +0.0775 +0.08125 +0.06125 +0.03875 +0.0375 +0.023750002 +0.015 +0.0575 +0.0975 +0.11625 +0.10625 +0.07625 +0.045 +0.0325 +0.042500004 +0.074999996 +0.1225 +0.17500001 +0.2325 +0.29375 +0.34750003 +0.40875003 +0.4875 +0.58250004 +0.67625 +0.75374997 +0.8075 +0.84875005 +0.90374994 +0.9937501 +1.11625 +1.265 +1.4087499 +1.53625 +1.64875 +1.7712502 +1.9287502 +2.14375 +2.38125 +2.625 +2.8374999 +2.9837499 +3.0462499 +3.03125 +2.9587502 +2.8425002 +2.6974998 +2.53 +2.335 +2.12 +1.89625 +1.6775 +1.4675 +1.2674999 +1.0699999 +0.86125 +0.65 +0.58000004 +0.405 +0.275 +0.18625 +0.114999995 +0.07375 +0.065 +0.0675 +0.06875 +0.0575 +0.035 +0.01125 +0.0 +0.0025 +0.01875 +0.03375 +0.0325 +0.012499999 +0.0425 +0.067499995 +0.03875 +0.00875 +0.00125 +0.0425 +0.06375 +0.0575 +0.03 +0.0 +0.0 +0.0 +0.0275 +0.067499995 +0.115 +0.16625 +0.21249999 +0.26375 +0.34 +0.44625002 +0.58124995 +0.72125006 +0.8425 +0.93249995 +0.99125004 +1.0475 +1.12875 +1.22 +1.3575 +1.5125 +1.66625 +1.8175001 +1.975 +2.1875 +2.4 +2.5925 +2.7425 +2.8474998 +2.9025 +2.87 +2.76125 +2.6025 +2.4225 +2.2375 +2.0625 +1.8912501 +1.72875 +1.5712501 +1.42875 +1.3000001 +1.18125 +1.0612501 +0.92125 +0.76 +0.58000004 +0.405 +0.275 +0.18625 +0.114999995 +0.07375 +0.065 +0.0675 +0.06875 +0.0575 +0.035 +0.01125 +0.0 +0.0025 +0.01875 +0.03375 +0.0325 +0.012499999 +0.0425 +0.067499995 +0.03875 +0.00875 +0.00125 +0.0425 +0.06375 +0.0575 +0.03 +0.0 +0.0 +0.0 +0.0275 +0.067499995 +0.115 +0.16625 +0.21249999 +0.26375 +0.34 +0.44625002 +0.58124995 +0.72125006 +0.8425 +0.93249995 +0.99125004 +1.0475 +1.12875 +1.22 +1.3575 +1.5125 +1.66625 +1.8175001 +1.975 +2.1875 +2.4 +2.5925 +2.7425 +2.8474998 +2.9025 +2.87 +2.76125 +2.6025 +2.4225 +2.2375 +2.0625 +1.8912501 +1.72875 +1.5712501 +1.42875 +1.3000001 +1.18125 +1.0612501 +0.92125 +0.76 +0.82875 +0.64750004 +0.47125003 +0.32 +0.2 +0.125 +0.08625 +0.07 +0.06 +0.04875 +0.028749999 +0.01625 +0.01125 +0.0 +0.0 +0.00625 +0.00125 +0.04625 +0.1275 +0.16499999 +0.123749994 +0.04875 +0.0175 +0.0 +0.01875 +0.0125 +0.00125 +0.0075 +0.01 +0.0075 +0.00375 +0.035 +0.08125 +0.123749994 +0.16 +0.2 +0.2825 +0.41875 +0.59375006 +0.78125 +0.94499993 +1.0625 +1.14625 +1.225 +1.28875 +1.35875 +1.45125 +1.5875001 +1.7525 +1.9225001 +2.125 +2.3225 +2.49125 +2.61375 +2.6825 +2.6887503 +2.6375 +2.5275 +2.36 +2.165 +1.9575 +1.7562501 +1.59 +1.46375 +1.3675 +1.295 +1.2475 +1.2212499 +1.1987499 +1.1687499 +1.1012499 +0.98625004 +0.82875 +0.64750004 +0.47125003 +0.32 +0.2 +0.125 +0.08625 +0.07 +0.06 +0.04875 +0.028749999 +0.01625 +0.01125 +0.0 +0.0 +0.00625 +0.00125 +0.04625 +0.1275 +0.16499999 +0.123749994 +0.04875 +0.0175 +0.0 +0.01875 +0.0125 +0.00125 +0.0075 +0.01 +0.0075 +0.00375 +0.035 +0.08125 +0.123749994 +0.16 +0.2 +0.2825 +0.41875 +0.59375006 +0.78125 +0.94499993 +1.0625 +1.14625 +1.225 +1.28875 +1.35875 +1.45125 +1.5875001 +1.7525 +1.9225001 +2.125 +2.3225 +2.49125 +2.61375 +2.6825 +2.6887503 +2.6375 +2.5275 +2.36 +2.165 +1.9575 +1.7562501 +1.59 +1.46375 +1.3675 +1.295 +1.2475 +1.2212499 +1.1987499 +1.1687499 +1.1012499 +0.98625004 +1.11125 +0.92999995 +0.74125 +0.56875 +0.425 +0.315 +0.22999999 +0.1725 +0.13874999 +0.125 +0.113749996 +0.10374999 +0.06875 +0.0325 +0.02 +0.01375 +0.05 +0.14625001 +0.25875 +0.32250002 +0.29125 +0.18499999 +0.08 +0.03375 +0.025 +0.020000001 +0.030000001 +0.04 +0.03875 +0.0275 +0.0175 +0.036250003 +0.07875 +0.1175 +0.15375 +0.2025 +0.3025 +0.46624994 +0.675 +0.89625 +1.08875 +1.2325001 +1.3349999 +1.4099998 +1.45375 +1.49375 +1.5537499 +1.65125 +1.79375 +1.96125 +2.1362498 +2.29 +2.39625 +2.44125 +2.42625 +2.35625 +2.24375 +2.0925 +1.915 +1.7187499 +1.51875 +1.3399999 +1.195 +1.11375 +1.0825 +1.095 +1.14125 +1.21375 +1.2862501 +1.3362501 +1.3312501 +1.25375 +1.11125 +0.92999995 +0.74125 +0.56875 +0.425 +0.315 +0.22999999 +0.1725 +0.13874999 +0.125 +0.113749996 +0.10374999 +0.06875 +0.0325 +0.02 +0.01375 +0.05 +0.14625001 +0.25875 +0.32250002 +0.29125 +0.18499999 +0.08 +0.03375 +0.025 +0.020000001 +0.030000001 +0.04 +0.03875 +0.0275 +0.0175 +0.036250003 +0.07875 +0.1175 +0.15375 +0.2025 +0.3025 +0.46624994 +0.675 +0.89625 +1.08875 +1.2325001 +1.3349999 +1.4099998 +1.45375 +1.49375 +1.5537499 +1.65125 +1.79375 +1.96125 +2.1362498 +2.29 +2.39625 +2.44125 +2.42625 +2.35625 +2.24375 +2.0925 +1.915 +1.7187499 +1.51875 +1.3399999 +1.195 +1.11375 +1.0825 +1.095 +1.14125 +1.21375 +1.2862501 +1.3362501 +1.3312501 +1.25375 +1.3387499 +1.16625 +0.97749996 +0.8 +0.64500004 +0.51375 +0.40625003 +0.33124998 +0.29375 +0.28625 +0.2925 +0.29 +0.24125001 +0.16 +0.1 +0.095 +0.1425 +0.265 +0.40250003 +0.48250002 +0.46874997 +0.3725 +0.24125 +0.1425 +0.1025 +0.0775 +0.072500005 +0.06875 +0.0575 +0.0375 +0.022499999 +0.055000003 +0.09625 +0.14249998 +0.20625 +0.29749998 +0.43374997 +0.6225 +0.845 +1.075 +1.27875 +1.42875 +1.52125 +1.585 +1.6049999 +1.605 +1.6125001 +1.6625 +1.765 +1.88 +2.0025 +2.09875 +2.135 +2.1025 +2.015 +1.895 +1.7625002 +1.6324999 +1.4849999 +1.3287499 +1.1700001 +1.0225 +0.9074999 +0.85749996 +0.87375003 +0.95000005 +1.075 +1.22625 +1.3737501 +1.48125 +1.5174999 +1.46625 +1.3387499 +1.16625 +0.97749996 +0.8 +0.64500004 +0.51375 +0.40625003 +0.33124998 +0.29375 +0.28625 +0.2925 +0.29 +0.24125001 +0.16 +0.1 +0.095 +0.1425 +0.265 +0.40250003 +0.48250002 +0.46874997 +0.3725 +0.24125 +0.1425 +0.1025 +0.0775 +0.072500005 +0.06875 +0.0575 +0.0375 +0.022499999 +0.055000003 +0.09625 +0.14249998 +0.20625 +0.29749998 +0.43374997 +0.6225 +0.845 +1.075 +1.27875 +1.42875 +1.52125 +1.585 +1.6049999 +1.605 +1.6125001 +1.6625 +1.765 +1.88 +2.0025 +2.09875 +2.135 +2.1025 +2.015 +1.895 +1.7625002 +1.6324999 +1.4849999 +1.3287499 +1.1700001 +1.0225 +0.9074999 +0.85749996 +0.87375003 +0.95000005 +1.075 +1.22625 +1.3737501 +1.48125 +1.5174999 +1.46625 +1.45 +1.3000001 +1.13375 +0.96624994 +0.80750006 +0.65874994 +0.53000003 +0.43875 +0.4025 +0.41625 +0.45125 +0.46625 +0.425 +0.33625 +0.24375 +0.19749999 +0.22999999 +0.34375 +0.49249998 +0.58875 +0.59 +0.4975 +0.37374997 +0.26375002 +0.18124999 +0.12625 +0.08625001 +0.05875 +0.03625 +0.03 +0.048750002 +0.08375 +0.12875 +0.215 +0.34624997 +0.50874996 +0.69 +0.88250005 +1.085 +1.2837499 +1.4624999 +1.6025001 +1.68875 +1.715 +1.6912501 +1.6425 +1.5999999 +1.59125 +1.6274998 +1.6937501 +1.755 +1.78125 +1.7537502 +1.65375 +1.51125 +1.3687501 +1.2625 +1.1912501 +1.12125 +1.0325 +0.9225 +0.80625 +0.7099999 +0.67125 +0.71000004 +0.82750005 +1.005 +1.21125 +1.4024999 +1.5400001 +1.5949999 +1.5587499 +1.45 +1.3000001 +1.13375 +0.96624994 +0.80750006 +0.65874994 +0.53000003 +0.43875 +0.4025 +0.41625 +0.45125 +0.46625 +0.425 +0.33625 +0.24375 +0.19749999 +0.22999999 +0.34375 +0.49249998 +0.58875 +0.59 +0.4975 +0.37374997 +0.26375002 +0.18124999 +0.12625 +0.08625001 +0.05875 +0.03625 +0.03 +0.048750002 +0.08375 +0.12875 +0.215 +0.34624997 +0.50874996 +0.69 +0.88250005 +1.085 +1.2837499 +1.4624999 +1.6025001 +1.68875 +1.715 +1.6912501 +1.6425 +1.5999999 +1.59125 +1.6274998 +1.6937501 +1.755 +1.78125 +1.7537502 +1.65375 +1.51125 +1.3687501 +1.2625 +1.1912501 +1.12125 +1.0325 +0.9225 +0.80625 +0.7099999 +0.67125 +0.71000004 +0.82750005 +1.005 +1.21125 +1.4024999 +1.5400001 +1.5949999 +1.5587499 +1.435 +1.3175 +1.1875 +1.0437499 +0.885 +0.71875 +0.565 +0.46 +0.42999998 +0.47250003 +0.54749995 +0.59375 +0.56375 +0.45624998 +0.31625 +0.2225 +0.225 +0.33 +0.4875 +0.60125 +0.6125 +0.53375 +0.40750003 +0.2775 +0.17875002 +0.12125 +0.081250004 +0.0525 +0.04625 +0.06125 +0.09 +0.12375 +0.19250001 +0.35875002 +0.59875 +0.835 +1.0387499 +1.2025 +1.33875 +1.4599999 +1.5724999 +1.67375 +1.7412499 +1.7524999 +1.6975 +1.5925 +1.4762499 +1.3924999 +1.36625 +1.3900001 +1.41875 +1.39875 +1.31375 +1.16625 +0.99125004 +0.845 +0.7775 +0.78749996 +0.82250005 +0.8275 +0.775 +0.67625 +0.57124996 +0.52 +0.5575 +0.69375 +0.90374994 +1.1387501 +1.3500001 +1.49125 +1.5462499 +1.51875 +1.435 +1.3175 +1.1875 +1.0437499 +0.885 +0.71875 +0.565 +0.46 +0.42999998 +0.47250003 +0.54749995 +0.59375 +0.56375 +0.45624998 +0.31625 +0.2225 +0.225 +0.33 +0.4875 +0.60125 +0.6125 +0.53375 +0.40750003 +0.2775 +0.17875002 +0.12125 +0.081250004 +0.0525 +0.04625 +0.06125 +0.09 +0.12375 +0.19250001 +0.35875002 +0.59875 +0.835 +1.0387499 +1.2025 +1.33875 +1.4599999 +1.5724999 +1.67375 +1.7412499 +1.7524999 +1.6975 +1.5925 +1.4762499 +1.3924999 +1.36625 +1.3900001 +1.41875 +1.39875 +1.31375 +1.16625 +0.99125004 +0.845 +0.7775 +0.78749996 +0.82250005 +0.8275 +0.775 +0.67625 +0.57124996 +0.52 +0.5575 +0.69375 +0.90374994 +1.1387501 +1.3500001 +1.49125 +1.5462499 +1.51875 +1.3300002 +1.2550001 +1.16375 +1.0450001 +0.885 +0.70125 +0.52125 +0.39874998 +0.37625003 +0.45 +0.56375 +0.64125 +0.61499995 +0.47874996 +0.29125 +0.15375 +0.14250001 +0.24499999 +0.39125 +0.52000004 +0.54125 +0.46500003 +0.33249998 +0.19624999 +0.11999999 +0.09125 +0.08125 +0.0725 +0.07 +0.0925 +0.12 +0.17375001 +0.31 +0.595 +0.93 +1.2199999 +1.415 +1.5112501 +1.53625 +1.535 +1.54625 +1.5850002 +1.6200001 +1.615 +1.5349998 +1.3875 +1.2125001 +1.0712501 +1.0049999 +1.0075 +1.02875 +1.0 +0.89 +0.7175 +0.52375 +0.38500002 +0.35875 +0.4525 +0.58750004 +0.67999995 +0.67625 +0.5825 +0.45625 +0.37625 +0.40500003 +0.55 +0.77625 +1.025 +1.2337501 +1.3649999 +1.4112501 +1.39 +1.3300002 +1.2550001 +1.16375 +1.0450001 +0.885 +0.70125 +0.52125 +0.39874998 +0.37625003 +0.45 +0.56375 +0.64125 +0.61499995 +0.47874996 +0.29125 +0.15375 +0.14250001 +0.24499999 +0.39125 +0.52000004 +0.54125 +0.46500003 +0.33249998 +0.19624999 +0.11999999 +0.09125 +0.08125 +0.0725 +0.07 +0.0925 +0.12 +0.17375001 +0.31 +0.595 +0.93 +1.2199999 +1.415 +1.5112501 +1.53625 +1.535 +1.54625 +1.5850002 +1.6200001 +1.615 +1.5349998 +1.3875 +1.2125001 +1.0712501 +1.0049999 +1.0075 +1.02875 +1.0 +0.89 +0.7175 +0.52375 +0.38500002 +0.35875 +0.4525 +0.58750004 +0.67999995 +0.67625 +0.5825 +0.45625 +0.37625 +0.40500003 +0.55 +0.77625 +1.025 +1.2337501 +1.3649999 +1.4112501 +1.39 +1.2025 +1.16625 +1.11375 +1.0125 +0.84999996 +0.64125 +0.43374997 +0.29874998 +0.28875 +0.38250002 +0.52874994 +0.62499994 +0.59625 +0.4325 +0.21124999 +0.08 +0.07125 +0.14375001 +0.27249998 +0.39624998 +0.4275 +0.3475 +0.22 +0.121249996 +0.095 +0.106249996 +0.13 +0.14874999 +0.14750001 +0.14874999 +0.17875001 +0.27999997 +0.52624995 +0.89874995 +1.2837499 +1.5862501 +1.73875 +1.73125 +1.61625 +1.4687501 +1.3625001 +1.325 +1.3262501 +1.3100001 +1.2225 +1.05625 +0.85625005 +0.69125 +0.61625 +0.6275 +0.66625 +0.64875 +0.55 +0.36875 +0.16875 +0.081250004 +0.09750001 +0.23 +0.42499998 +0.58125 +0.6075 +0.5075 +0.35875 +0.25500003 +0.27375 +0.41875 +0.6525 +0.905 +1.105 +1.22 +1.25375 +1.23625 +1.2025 +1.16625 +1.11375 +1.0125 +0.84999996 +0.64125 +0.43374997 +0.29874998 +0.28875 +0.38250002 +0.52874994 +0.62499994 +0.59625 +0.4325 +0.21124999 +0.08 +0.07125 +0.14375001 +0.27249998 +0.39624998 +0.4275 +0.3475 +0.22 +0.121249996 +0.095 +0.106249996 +0.13 +0.14874999 +0.14750001 +0.14874999 +0.17875001 +0.27999997 +0.52624995 +0.89874995 +1.2837499 +1.5862501 +1.73875 +1.73125 +1.61625 +1.4687501 +1.3625001 +1.325 +1.3262501 +1.3100001 +1.2225 +1.05625 +0.85625005 +0.69125 +0.61625 +0.6275 +0.66625 +0.64875 +0.55 +0.36875 +0.16875 +0.081250004 +0.09750001 +0.23 +0.42499998 +0.58125 +0.6075 +0.5075 +0.35875 +0.25500003 +0.27375 +0.41875 +0.6525 +0.905 +1.105 +1.22 +1.25375 +1.23625 +1.1237501 +1.11875 +1.08625 +0.99375 +0.82125 +0.5875 +0.35875 +0.22375001 +0.2225 +0.31750003 +0.48125002 +0.5875 +0.55375 +0.37124997 +0.14750001 +0.035 +0.0175 +0.080000006 +0.18875 +0.30125 +0.34875 +0.27875 +0.18375 +0.11624999 +0.11625 +0.1725 +0.26125 +0.33749998 +0.3625 +0.35999998 +0.39874998 +0.54625 +0.83375007 +1.2125 +1.5862501 +1.84875 +1.9212499 +1.7975 +1.5450001 +1.2675 +1.0575001 +0.95125 +0.92375004 +0.90500003 +0.82875 +0.67875 +0.49249998 +0.34749997 +0.30124998 +0.3425 +0.41375 +0.42375 +0.34625 +0.16874999 +0.03 +0.0 +0.028749999 +0.14375 +0.3425 +0.53 +0.57 +0.46499997 +0.29375002 +0.17750001 +0.20124999 +0.33624998 +0.57124996 +0.81874996 +1.0075 +1.10875 +1.13625 +1.1312499 +1.1237501 +1.11875 +1.08625 +0.99375 +0.82125 +0.5875 +0.35875 +0.22375001 +0.2225 +0.31750003 +0.48125002 +0.5875 +0.55375 +0.37124997 +0.14750001 +0.035 +0.0175 +0.080000006 +0.18875 +0.30125 +0.34875 +0.27875 +0.18375 +0.11624999 +0.11625 +0.1725 +0.26125 +0.33749998 +0.3625 +0.35999998 +0.39874998 +0.54625 +0.83375007 +1.2125 +1.5862501 +1.84875 +1.9212499 +1.7975 +1.5450001 +1.2675 +1.0575001 +0.95125 +0.92375004 +0.90500003 +0.82875 +0.67875 +0.49249998 +0.34749997 +0.30124998 +0.3425 +0.41375 +0.42375 +0.34625 +0.16874999 +0.03 +0.0 +0.028749999 +0.14375 +0.3425 +0.53 +0.57 +0.46499997 +0.29375002 +0.17750001 +0.20124999 +0.33624998 +0.57124996 +0.81874996 +1.0075 +1.10875 +1.13625 +1.1312499 +0.95875 +1.1075001 +1.25 +1.39375 +1.5387499 +1.6750001 +1.77 +1.7912501 +1.72375 +1.585 +1.4075 +1.225 +1.05125 +0.885 +0.715 +0.54375 +0.41125003 +0.32874998 +0.29125 +0.27625 +0.24375 +0.1675 +0.080000006 +0.05 +0.05125 +0.05125 +0.055 +0.068749994 +0.13125 +0.275 +0.38875002 +0.4525 +0.49375004 +0.55875 +0.66374993 +0.80499995 +0.95875 +1.11 +1.25375 +1.3974999 +1.54 +1.67125 +1.7575002 +1.77125 +1.70125 +1.5625 +1.38875 +1.21 +1.0387499 +0.87249994 +0.7025 +0.53000003 +0.40375 +0.32874998 +0.29874998 +0.28875 +0.25875 +0.17999999 +0.08375 +0.043750003 +0.04375 +0.04375 +0.05 +0.06625 +0.13875 +0.2775 +0.38375 +0.44125 +0.48249996 +0.54999995 +0.65875 +0.80249995 +0.95875 +1.1075001 +1.25 +1.39375 +1.5387499 +1.6750001 +1.77 +1.7912501 +1.72375 +1.585 +1.4075 +1.225 +1.05125 +0.885 +0.715 +0.54375 +0.41125003 +0.32874998 +0.29125 +0.27625 +0.24375 +0.1675 +0.080000006 +0.05 +0.05125 +0.05125 +0.055 +0.068749994 +0.13125 +0.275 +0.38875002 +0.4525 +0.49375004 +0.55875 +0.66374993 +0.80499995 +0.95875 +1.11 +1.25375 +1.3974999 +1.54 +1.67125 +1.7575002 +1.77125 +1.70125 +1.5625 +1.38875 +1.21 +1.0387499 +0.87249994 +0.7025 +0.53000003 +0.40375 +0.32874998 +0.29874998 +0.28875 +0.25875 +0.17999999 +0.08375 +0.043750003 +0.04375 +0.04375 +0.05 +0.06625 +0.13875 +0.2775 +0.38375 +0.44125 +0.48249996 +0.54999995 +0.65875 +0.80249995 +0.91625005 +1.07 +1.21875 +1.37375 +1.5387499 +1.6962501 +1.81375 +1.85 +1.79375 +1.6537501 +1.4637501 +1.26625 +1.0775 +0.90125 +0.73 +0.56125 +0.4125 +0.32375 +0.27875 +0.26375002 +0.24000001 +0.19250001 +0.120000005 +0.0625 +0.06 +0.055 +0.0525 +0.06375 +0.1475 +0.29125 +0.4075 +0.47375 +0.51375 +0.56875 +0.65999997 +0.78875005 +0.93875 +1.09625 +1.25375 +1.405 +1.5500001 +1.675 +1.745 +1.7425001 +1.6612501 +1.52 +1.345 +1.16125 +0.98375 +0.80999994 +0.64 +0.47875 +0.3625 +0.315 +0.31125 +0.32125 +0.305 +0.245 +0.14125 +0.04875 +0.03375 +0.0325 +0.0375 +0.073750004 +0.18 +0.29874998 +0.37624997 +0.41124997 +0.4425 +0.50625 +0.61625 +0.76125 +0.91625005 +1.07 +1.21875 +1.37375 +1.5387499 +1.6962501 +1.81375 +1.85 +1.79375 +1.6537501 +1.4637501 +1.26625 +1.0775 +0.90125 +0.73 +0.56125 +0.4125 +0.32375 +0.27875 +0.26375002 +0.24000001 +0.19250001 +0.120000005 +0.0625 +0.06 +0.055 +0.0525 +0.06375 +0.1475 +0.29125 +0.4075 +0.47375 +0.51375 +0.56875 +0.65999997 +0.78875005 +0.93875 +1.09625 +1.25375 +1.405 +1.5500001 +1.675 +1.745 +1.7425001 +1.6612501 +1.52 +1.345 +1.16125 +0.98375 +0.80999994 +0.64 +0.47875 +0.3625 +0.315 +0.31125 +0.32125 +0.305 +0.245 +0.14125 +0.04875 +0.03375 +0.0325 +0.0375 +0.073750004 +0.18 +0.29874998 +0.37624997 +0.41124997 +0.4425 +0.50625 +0.61625 +0.76125 +0.81499994 +0.9675 +1.1262501 +1.3050001 +1.505 +1.70625 +1.87 +1.94625 +1.9087499 +1.77125 +1.565 +1.34375 +1.13375 +0.94624996 +0.77374995 +0.60749996 +0.45625 +0.345 +0.29250002 +0.27625 +0.26999998 +0.24874999 +0.19625 +0.1225 +0.06375 +0.05 +0.04 +0.05875 +0.17125002 +0.32250005 +0.44375 +0.51124996 +0.54375 +0.57375 +0.63374996 +0.73375 +0.87625 +1.04125 +1.2175001 +1.38625 +1.53625 +1.6462499 +1.6924999 +1.6637502 +1.5649999 +1.415 +1.235 +1.045 +0.85625 +0.67125 +0.5 +0.35875002 +0.28625 +0.2875 +0.3275 +0.37 +0.3825 +0.33125 +0.21374999 +0.0925 +0.02625 +0.02 +0.05375 +0.13624999 +0.24624999 +0.3275 +0.35375 +0.34875 +0.35999998 +0.4125 +0.51875 +0.66125005 +0.81499994 +0.9675 +1.1262501 +1.3050001 +1.505 +1.70625 +1.87 +1.94625 +1.9087499 +1.77125 +1.565 +1.34375 +1.13375 +0.94624996 +0.77374995 +0.60749996 +0.45625 +0.345 +0.29250002 +0.27625 +0.26999998 +0.24874999 +0.19625 +0.1225 +0.06375 +0.05 +0.04 +0.05875 +0.17125002 +0.32250005 +0.44375 +0.51124996 +0.54375 +0.57375 +0.63374996 +0.73375 +0.87625 +1.04125 +1.2175001 +1.38625 +1.53625 +1.6462499 +1.6924999 +1.6637502 +1.5649999 +1.415 +1.235 +1.045 +0.85625 +0.67125 +0.5 +0.35875002 +0.28625 +0.2875 +0.3275 +0.37 +0.3825 +0.33125 +0.21374999 +0.0925 +0.02625 +0.02 +0.05375 +0.13624999 +0.24624999 +0.3275 +0.35375 +0.34875 +0.35999998 +0.4125 +0.51875 +0.66125005 +0.665 +0.80875 +0.96875006 +1.165 +1.4012499 +1.655 +1.8749999 +2.0 +1.99875 +1.8712499 +1.66375 +1.4325 +1.21 +1.02375 +0.86375004 +0.7125 +0.56374997 +0.44375002 +0.3825 +0.36625 +0.3725 +0.36875 +0.33875 +0.26 +0.16 +0.0825 +0.042499997 +0.0775 +0.195 +0.3475 +0.47500002 +0.5425 +0.55875 +0.55 +0.56375 +0.6275 +0.75125 +0.9225 +1.11625 +1.30375 +1.4525 +1.54375 +1.56 +1.50375 +1.39125 +1.24125 +1.06625 +0.87875 +0.68500006 +0.49000004 +0.31875002 +0.21125 +0.19500001 +0.24625 +0.33125 +0.4 +0.42125 +0.3675 +0.25 +0.12125 +0.04625 +0.05125 +0.1225 +0.2275 +0.3075 +0.3275 +0.30124998 +0.25875002 +0.25125 +0.29875 +0.39375 +0.525 +0.665 +0.80875 +0.96875006 +1.165 +1.4012499 +1.655 +1.8749999 +2.0 +1.99875 +1.8712499 +1.66375 +1.4325 +1.21 +1.02375 +0.86375004 +0.7125 +0.56374997 +0.44375002 +0.3825 +0.36625 +0.3725 +0.36875 +0.33875 +0.26 +0.16 +0.0825 +0.042499997 +0.0775 +0.195 +0.3475 +0.47500002 +0.5425 +0.55875 +0.55 +0.56375 +0.6275 +0.75125 +0.9225 +1.11625 +1.30375 +1.4525 +1.54375 +1.56 +1.50375 +1.39125 +1.24125 +1.06625 +0.87875 +0.68500006 +0.49000004 +0.31875002 +0.21125 +0.19500001 +0.24625 +0.33125 +0.4 +0.42125 +0.3675 +0.25 +0.12125 +0.04625 +0.05125 +0.1225 +0.2275 +0.3075 +0.3275 +0.30124998 +0.25875002 +0.25125 +0.29875 +0.39375 +0.525 +0.49625 +0.6125 +0.75749993 +0.95375 +1.21375 +1.51 +1.7825 +1.96125 +2.00375 +1.9074999 +1.71875 +1.50875 +1.3087499 +1.14125 +1.005 +0.88250005 +0.7475 +0.635 +0.56125 +0.53749996 +0.55125 +0.56624997 +0.545 +0.46875 +0.3525 +0.21625 +0.1425 +0.1675 +0.26625 +0.39499998 +0.49499997 +0.56125 +0.55625 +0.50625 +0.46749997 +0.4875 +0.58624995 +0.75874996 +0.96625006 +1.1625 +1.3050001 +1.37 +1.3549999 +1.30375 +1.20125 +1.0562501 +0.88624996 +0.7 +0.51 +0.31125 +0.1625 +0.09625 +0.11625 +0.20375001 +0.31249997 +0.38625 +0.385 +0.31 +0.1825 +0.09 +0.057499997 +0.08625 +0.16999999 +0.26375002 +0.30874997 +0.28375 +0.21625002 +0.1625 +0.16 +0.20374998 +0.28125 +0.38375 +0.49625 +0.6125 +0.75749993 +0.95375 +1.21375 +1.51 +1.7825 +1.96125 +2.00375 +1.9074999 +1.71875 +1.50875 +1.3087499 +1.14125 +1.005 +0.88250005 +0.7475 +0.635 +0.56125 +0.53749996 +0.55125 +0.56624997 +0.545 +0.46875 +0.3525 +0.21625 +0.1425 +0.1675 +0.26625 +0.39499998 +0.49499997 +0.56125 +0.55625 +0.50625 +0.46749997 +0.4875 +0.58624995 +0.75874996 +0.96625006 +1.1625 +1.3050001 +1.37 +1.3549999 +1.30375 +1.20125 +1.0562501 +0.88624996 +0.7 +0.51 +0.31125 +0.1625 +0.09625 +0.11625 +0.20375001 +0.31249997 +0.38625 +0.385 +0.31 +0.1825 +0.09 +0.057499997 +0.08625 +0.16999999 +0.26375002 +0.30874997 +0.28375 +0.21625002 +0.1625 +0.16 +0.20374998 +0.28125 +0.38375 +0.34625 +0.415 +0.52625 +0.71 +0.97375 +1.2925 +1.6012499 +1.82375 +1.91125 +1.85625 +1.7075 +1.54125 +1.39125 +1.27625 +1.185 +1.0912501 +0.9812499 +0.86625004 +0.7775 +0.73999995 +0.75 +0.77500004 +0.76375 +0.6825 +0.53999996 +0.375 +0.26 +0.24249999 +0.32 +0.44375 +0.54375 +0.5875 +0.56125003 +0.4725 +0.385 +0.3625 +0.44 +0.61 +0.82500005 +1.0237501 +1.1537501 +1.1912501 +1.16625 +1.10375 +1.005 +0.88125 +0.73875 +0.57125 +0.39 +0.20875001 +0.08125 +0.04 +0.0725 +0.17999999 +0.2925 +0.34625 +0.30749997 +0.18875 +0.08125 +0.03375 +0.01625 +0.05375 +0.15 +0.24625 +0.26875 +0.215 +0.13625 +0.10125 +0.115 +0.16125 +0.2175 +0.28124997 +0.34625 +0.415 +0.52625 +0.71 +0.97375 +1.2925 +1.6012499 +1.82375 +1.91125 +1.85625 +1.7075 +1.54125 +1.39125 +1.27625 +1.185 +1.0912501 +0.9812499 +0.86625004 +0.7775 +0.73999995 +0.75 +0.77500004 +0.76375 +0.6825 +0.53999996 +0.375 +0.26 +0.24249999 +0.32 +0.44375 +0.54375 +0.5875 +0.56125003 +0.4725 +0.385 +0.3625 +0.44 +0.61 +0.82500005 +1.0237501 +1.1537501 +1.1912501 +1.16625 +1.10375 +1.005 +0.88125 +0.73875 +0.57125 +0.39 +0.20875001 +0.08125 +0.04 +0.0725 +0.17999999 +0.2925 +0.34625 +0.30749997 +0.18875 +0.08125 +0.03375 +0.01625 +0.05375 +0.15 +0.24625 +0.26875 +0.215 +0.13625 +0.10125 +0.115 +0.16125 +0.2175 +0.28124997 +0.26624998 +0.2825 +0.32999998 +0.48874998 +0.74250007 +1.06375 +1.3825 +1.6274999 +1.74875 +1.7400001 +1.6387501 +1.5237501 +1.4412501 +1.38875 +1.3475001 +1.29125 +1.18375 +1.0575 +0.9475 +0.89 +0.89250004 +0.9200001 +0.91125 +0.8275 +0.68375003 +0.49 +0.33375 +0.29375 +0.35999998 +0.4825 +0.58500004 +0.635 +0.595 +0.47875 +0.36124998 +0.3175 +0.38375 +0.55375 +0.77125 +0.96500003 +1.07875 +1.09 +1.0337499 +0.96 +0.86999995 +0.77250004 +0.66 +0.53000003 +0.36999997 +0.185 +0.07375 +0.03875 +0.088750005 +0.20125 +0.30124998 +0.32125 +0.23875 +0.11 +0.02875 +0.00125 +0.0 +0.03125 +0.14125 +0.23875001 +0.2425 +0.1725 +0.099999994 +0.075 +0.095 +0.14625 +0.20125 +0.245 +0.26624998 +0.2825 +0.32999998 +0.48874998 +0.74250007 +1.06375 +1.3825 +1.6274999 +1.74875 +1.7400001 +1.6387501 +1.5237501 +1.4412501 +1.38875 +1.3475001 +1.29125 +1.18375 +1.0575 +0.9475 +0.89 +0.89250004 +0.9200001 +0.91125 +0.8275 +0.68375003 +0.49 +0.33375 +0.29375 +0.35999998 +0.4825 +0.58500004 +0.635 +0.595 +0.47875 +0.36124998 +0.3175 +0.38375 +0.55375 +0.77125 +0.96500003 +1.07875 +1.09 +1.0337499 +0.96 +0.86999995 +0.77250004 +0.66 +0.53000003 +0.36999997 +0.185 +0.07375 +0.03875 +0.088750005 +0.20125 +0.30124998 +0.32125 +0.23875 +0.11 +0.02875 +0.00125 +0.0 +0.03125 +0.14125 +0.23875001 +0.2425 +0.1725 +0.099999994 +0.075 +0.095 +0.14625 +0.20125 +0.245 +0.27375 +0.25625 +0.24625 +0.33749998 +0.57750005 +0.8825 +1.1925 +1.4350001 +1.5699999 +1.5925 +1.54375 +1.485 +1.46 +1.4675 +1.47875 +1.4412501 +1.3287501 +1.1625 +1.02125 +0.95000005 +0.94625 +0.97249997 +0.96624994 +0.9225 +0.77500004 +0.5725 +0.3975 +0.32375 +0.3925 +0.5175 +0.64874995 +0.70250005 +0.6525 +0.52750003 +0.40625 +0.36375 +0.44125 +0.61875 +0.83750004 +1.025 +1.12125 +1.1149999 +1.03375 +0.92625 +0.84499997 +0.76124996 +0.69875 +0.6025 +0.45375 +0.27375 +0.12375 +0.10249999 +0.1725 +0.285 +0.3675 +0.36625 +0.26999998 +0.125 +0.03375 +0.0025 +0.005 +0.09 +0.22875 +0.31625 +0.29625 +0.205 +0.10999999 +0.08125 +0.105 +0.155 +0.21125 +0.25625 +0.27375 +0.25625 +0.24625 +0.33749998 +0.57750005 +0.8825 +1.1925 +1.4350001 +1.5699999 +1.5925 +1.54375 +1.485 +1.46 +1.4675 +1.47875 +1.4412501 +1.3287501 +1.1625 +1.02125 +0.95000005 +0.94625 +0.97249997 +0.96624994 +0.9225 +0.77500004 +0.5725 +0.3975 +0.32375 +0.3925 +0.5175 +0.64874995 +0.70250005 +0.6525 +0.52750003 +0.40625 +0.36375 +0.44125 +0.61875 +0.83750004 +1.025 +1.12125 +1.1149999 +1.03375 +0.92625 +0.84499997 +0.76124996 +0.69875 +0.6025 +0.45375 +0.27375 +0.12375 +0.10249999 +0.1725 +0.285 +0.3675 +0.36625 +0.26999998 +0.125 +0.03375 +0.0025 +0.005 +0.09 +0.22875 +0.31625 +0.29625 +0.205 +0.10999999 +0.08125 +0.105 +0.155 +0.21125 +0.25625 +0.3025 +0.285 +0.25375 +0.29125 +0.50124997 +0.785 +1.0637499 +1.28125 +1.40875 +1.45125 +1.45 +1.4512501 +1.48875 +1.5474999 +1.5825 +1.5487499 +1.42375 +1.2412499 +1.06375 +0.9625 +0.96125 +1.0025 +1.0375 +0.98749995 +0.83875 +0.6375 +0.46875 +0.40125 +0.46 +0.5925 +0.71375 +0.75750005 +0.69750005 +0.58 +0.47875 +0.46375 +0.56375 +0.75625 +0.97875005 +1.1537501 +1.2375 +1.21875 +1.13 +1.02125 +0.93500006 +0.8775 +0.82375 +0.73625004 +0.59625 +0.42624998 +0.29 +0.24125 +0.31 +0.42624998 +0.52750003 +0.5325 +0.41625 +0.2475 +0.118750006 +0.07625 +0.13374999 +0.28375 +0.4425 +0.50374997 +0.4475 +0.31125 +0.18624999 +0.12625 +0.1325 +0.18125 +0.23875 +0.285 +0.3025 +0.285 +0.25375 +0.29125 +0.50124997 +0.785 +1.0637499 +1.28125 +1.40875 +1.45125 +1.45 +1.4512501 +1.48875 +1.5474999 +1.5825 +1.5487499 +1.42375 +1.2412499 +1.06375 +0.9625 +0.96125 +1.0025 +1.0375 +0.98749995 +0.83875 +0.6375 +0.46875 +0.40125 +0.46 +0.5925 +0.71375 +0.75750005 +0.69750005 +0.58 +0.47875 +0.46375 +0.56375 +0.75625 +0.97875005 +1.1537501 +1.2375 +1.21875 +1.13 +1.02125 +0.93500006 +0.8775 +0.82375 +0.73625004 +0.59625 +0.42624998 +0.29 +0.24125 +0.31 +0.42624998 +0.52750003 +0.5325 +0.41625 +0.2475 +0.118750006 +0.07625 +0.13374999 +0.28375 +0.4425 +0.50374997 +0.4475 +0.31125 +0.18624999 +0.12625 +0.1325 +0.18125 +0.23875 +0.285 +0.33 +0.3125 +0.27749997 +0.3075 +0.50000006 +0.76 +1.0037501 +1.1825 +1.285 +1.335 +1.375 +1.44 +1.53625 +1.6400001 +1.69875 +1.6675 +1.5387499 +1.3537501 +1.1875 +1.09875 +1.10375 +1.155 +1.175 +1.10625 +0.93874997 +0.7275 +0.56125 +0.49624997 +0.54375 +0.65124995 +0.74 +0.75500005 +0.6875 +0.58500004 +0.51750004 +0.53875 +0.66625 +0.86749995 +1.0824999 +1.24125 +1.30875 +1.28625 +1.205 +1.10625 +1.03 +0.98 +0.92999995 +0.845 +0.715 +0.56374997 +0.44875 +0.42624998 +0.5025 +0.63625 +0.74125004 +0.745 +0.63375 +0.46125 +0.32625 +0.3075 +0.41875002 +0.59625 +0.7375 +0.76374996 +0.66499996 +0.48875004 +0.32500002 +0.22999999 +0.21374999 +0.24625 +0.27999997 +0.3125 +0.33 +0.3125 +0.27749997 +0.3075 +0.50000006 +0.76 +1.0037501 +1.1825 +1.285 +1.335 +1.375 +1.44 +1.53625 +1.6400001 +1.69875 +1.6675 +1.5387499 +1.3537501 +1.1875 +1.09875 +1.10375 +1.155 +1.175 +1.10625 +0.93874997 +0.7275 +0.56125 +0.49624997 +0.54375 +0.65124995 +0.74 +0.75500005 +0.6875 +0.58500004 +0.51750004 +0.53875 +0.66625 +0.86749995 +1.0824999 +1.24125 +1.30875 +1.28625 +1.205 +1.10625 +1.03 +0.98 +0.92999995 +0.845 +0.715 +0.56374997 +0.44875 +0.42624998 +0.5025 +0.63625 +0.74125004 +0.745 +0.63375 +0.46125 +0.32625 +0.3075 +0.41875002 +0.59625 +0.7375 +0.76374996 +0.66499996 +0.48875004 +0.32500002 +0.22999999 +0.21374999 +0.24625 +0.27999997 +0.3125 +0.33375 +0.31625 +0.29000002 +0.34875 +0.53625 +0.77500004 +0.98 +1.12125 +1.19875 +1.2574999 +1.34 +1.46875 +1.63375 +1.7912501 +1.8837501 +1.8737501 +1.7662499 +1.6100001 +1.485 +1.435 +1.45625 +1.4962499 +1.47875 +1.3562499 +1.13875 +0.89875007 +0.70875 +0.62375 +0.6375 +0.695 +0.72625005 +0.69625 +0.6125 +0.52375 +0.48875 +0.54125 +0.68125 +0.87 +1.055 +1.185 +1.2337499 +1.2112501 +1.14125 +1.0625 +1.00125 +0.96125 +0.91875 +0.84625 +0.73749995 +0.61625004 +0.535 +0.5425 +0.64500004 +0.79375005 +0.90875006 +0.92375 +0.83375 +0.6875 +0.58750004 +0.6025 +0.73125 +0.90374994 +1.0237501 +1.01625 +0.88124996 +0.67875004 +0.49874997 +0.39624998 +0.37125 +0.3775 +0.36249998 +0.3375 +0.33375 +0.31625 +0.29000002 +0.34875 +0.53625 +0.77500004 +0.98 +1.12125 +1.19875 +1.2574999 +1.34 +1.46875 +1.63375 +1.7912501 +1.8837501 +1.8737501 +1.7662499 +1.6100001 +1.485 +1.435 +1.45625 +1.4962499 +1.47875 +1.3562499 +1.13875 +0.89875007 +0.70875 +0.62375 +0.6375 +0.695 +0.72625005 +0.69625 +0.6125 +0.52375 +0.48875 +0.54125 +0.68125 +0.87 +1.055 +1.185 +1.2337499 +1.2112501 +1.14125 +1.0625 +1.00125 +0.96125 +0.91875 +0.84625 +0.73749995 +0.61625004 +0.535 +0.5425 +0.64500004 +0.79375005 +0.90875006 +0.92375 +0.83375 +0.6875 +0.58750004 +0.6025 +0.73125 +0.90374994 +1.0237501 +1.01625 +0.88124996 +0.67875004 +0.49874997 +0.39624998 +0.37125 +0.3775 +0.36249998 +0.3375 +0.3325 +0.29999998 +0.29875 +0.39500004 +0.58625 +0.8075 +0.9825001 +1.09 +1.1525 +1.2250001 +1.3525 +1.55375 +1.8000001 +2.0262501 +2.1750002 +2.2125 +2.1599998 +2.0725 +2.0175 +2.0225 +2.0625 +2.07375 +1.98875 +1.7774999 +1.47875 +1.17375 +0.9375 +0.83 +0.80125 +0.775 +0.7125 +0.62624997 +0.5175 +0.4325 +0.4175 +0.48375002 +0.60875005 +0.75750005 +0.88625 +0.96625 +0.98750013 +0.9575 +0.90375 +0.86875 +0.8425 +0.80625 +0.75749993 +0.7075 +0.63124996 +0.5525 +0.51125 +0.5525 +0.67625004 +0.84125 +0.9675 +0.99875003 +0.935 +0.82750005 +0.765 +0.80750006 +0.95125 +1.11625 +1.215 +1.1825 +1.0262499 +0.8187499 +0.64625 +0.55375 +0.535 +0.53499997 +0.495 +0.40500003 +0.3325 +0.29999998 +0.29875 +0.39500004 +0.58625 +0.8075 +0.9825001 +1.09 +1.1525 +1.2250001 +1.3525 +1.55375 +1.8000001 +2.0262501 +2.1750002 +2.2125 +2.1599998 +2.0725 +2.0175 +2.0225 +2.0625 +2.07375 +1.98875 +1.7774999 +1.47875 +1.17375 +0.9375 +0.83 +0.80125 +0.775 +0.7125 +0.62624997 +0.5175 +0.4325 +0.4175 +0.48375002 +0.60875005 +0.75750005 +0.88625 +0.96625 +0.98750013 +0.9575 +0.90375 +0.86875 +0.8425 +0.80625 +0.75749993 +0.7075 +0.63124996 +0.5525 +0.51125 +0.5525 +0.67625004 +0.84125 +0.9675 +0.99875003 +0.935 +0.82750005 +0.765 +0.80750006 +0.95125 +1.11625 +1.215 +1.1825 +1.0262499 +0.8187499 +0.64625 +0.55375 +0.535 +0.53499997 +0.495 +0.40500003 +0.38375002 +0.30875 +0.3275 +0.445 +0.64875 +0.86000013 +1.015 +1.1 +1.1574999 +1.24875 +1.425 +1.6962501 +2.02375 +2.3287501 +2.5500002 +2.66375 +2.69375 +2.69875 +2.7312498 +2.8125 +2.89625 +2.85375 +2.64625 +2.31875 +1.92125 +1.5475001 +1.2937499 +1.14375 +1.04875 +0.945 +0.79875004 +0.625 +0.47625002 +0.39125 +0.3825 +0.44125 +0.5325 +0.61 +0.65875006 +0.67125 +0.65 +0.62375 +0.61 +0.6025 +0.59625 +0.57874995 +0.53875 +0.47750002 +0.42874998 +0.39375 +0.40375 +0.50375 +0.65250003 +0.78999996 +0.90749997 +0.95500004 +0.91625005 +0.84625006 +0.82 +0.8887501 +1.0375 +1.1975 +1.27875 +1.2325 +1.075 +0.88125 +0.7350001 +0.67625 +0.68250006 +0.68874997 +0.64 +0.52125 +0.38375002 +0.30875 +0.3275 +0.445 +0.64875 +0.86000013 +1.015 +1.1 +1.1574999 +1.24875 +1.425 +1.6962501 +2.02375 +2.3287501 +2.5500002 +2.66375 +2.69375 +2.69875 +2.7312498 +2.8125 +2.89625 +2.85375 +2.64625 +2.31875 +1.92125 +1.5475001 +1.2937499 +1.14375 +1.04875 +0.945 +0.79875004 +0.625 +0.47625002 +0.39125 +0.3825 +0.44125 +0.5325 +0.61 +0.65875006 +0.67125 +0.65 +0.62375 +0.61 +0.6025 +0.59625 +0.57874995 +0.53875 +0.47750002 +0.42874998 +0.39375 +0.40375 +0.50375 +0.65250003 +0.78999996 +0.90749997 +0.95500004 +0.91625005 +0.84625006 +0.82 +0.8887501 +1.0375 +1.1975 +1.27875 +1.2325 +1.075 +0.88125 +0.7350001 +0.67625 +0.68250006 +0.68874997 +0.64 +0.52125 +0.48375 +0.3825 +0.39874998 +0.53625 +0.74875003 +0.95625 +1.09875 +1.1700001 +1.2237499 +1.3312501 +1.545 +1.8725001 +2.2649999 +2.6362498 +2.9275 +3.11625 +3.2350001 +3.3374999 +3.455 +3.6162498 +3.7087498 +3.61375 +3.3125 +2.8625 +2.37375 +1.95375 +1.6550001 +1.4637501 +1.315 +1.1487501 +0.945 +0.735 +0.56874996 +0.48875 +0.49124998 +0.54125 +0.58375 +0.585 +0.54 +0.46875 +0.39875 +0.35499996 +0.33749998 +0.33874997 +0.33999997 +0.33124998 +0.30375 +0.26375002 +0.22875 +0.23125002 +0.29375 +0.41375 +0.56625 +0.6925 +0.78000003 +0.83625 +0.81750005 +0.78125 +0.78875005 +0.875 +1.03125 +1.1825 +1.25 +1.19625 +1.04625 +0.87749994 +0.76750004 +0.74750006 +0.78625 +0.81374997 +0.76625 +0.64 +0.48375 +0.3825 +0.39874998 +0.53625 +0.74875003 +0.95625 +1.09875 +1.1700001 +1.2237499 +1.3312501 +1.545 +1.8725001 +2.2649999 +2.6362498 +2.9275 +3.11625 +3.2350001 +3.3374999 +3.455 +3.6162498 +3.7087498 +3.61375 +3.3125 +2.8625 +2.37375 +1.95375 +1.6550001 +1.4637501 +1.315 +1.1487501 +0.945 +0.735 +0.56874996 +0.48875 +0.49124998 +0.54125 +0.58375 +0.585 +0.54 +0.46875 +0.39875 +0.35499996 +0.33749998 +0.33874997 +0.33999997 +0.33124998 +0.30375 +0.26375002 +0.22875 +0.23125002 +0.29375 +0.41375 +0.56625 +0.6925 +0.78000003 +0.83625 +0.81750005 +0.78125 +0.78875005 +0.875 +1.03125 +1.1825 +1.25 +1.19625 +1.04625 +0.87749994 +0.76750004 +0.74750006 +0.78625 +0.81374997 +0.76625 +0.64 +0.59749997 +0.50625 +0.53624994 +0.68750006 +0.90500003 +1.11 +1.2425 +1.3 +1.3425 +1.4475001 +1.6762501 +2.0275 +2.4475 +2.8562498 +3.1875002 +3.4275 +3.6112502 +3.78375 +3.96375 +4.15 +4.23625 +4.09 +3.71125 +3.19 +2.65 +2.2 +1.89 +1.6899999 +1.5225 +1.3262501 +1.095 +0.87375003 +0.71875 +0.655 +0.67125 +0.71 +0.71625 +0.6575 +0.5425 +0.40875 +0.29874998 +0.22875 +0.19874999 +0.19375 +0.18874998 +0.17249998 +0.14 +0.10250001 +0.08749999 +0.10875 +0.18375 +0.3175 +0.4675 +0.5775 +0.6625 +0.71875 +0.71875 +0.70875 +0.74375004 +0.85124993 +1.01375 +1.15625 +1.21 +1.14625 +0.99875003 +0.8475 +0.76750004 +0.78 +0.84749997 +0.895 +0.8625 +0.74375004 +0.59749997 +0.50625 +0.53624994 +0.68750006 +0.90500003 +1.11 +1.2425 +1.3 +1.3425 +1.4475001 +1.6762501 +2.0275 +2.4475 +2.8562498 +3.1875002 +3.4275 +3.6112502 +3.78375 +3.96375 +4.15 +4.23625 +4.09 +3.71125 +3.19 +2.65 +2.2 +1.89 +1.6899999 +1.5225 +1.3262501 +1.095 +0.87375003 +0.71875 +0.655 +0.67125 +0.71 +0.71625 +0.6575 +0.5425 +0.40875 +0.29874998 +0.22875 +0.19874999 +0.19375 +0.18874998 +0.17249998 +0.14 +0.10250001 +0.08749999 +0.10875 +0.18375 +0.3175 +0.4675 +0.5775 +0.6625 +0.71875 +0.71875 +0.70875 +0.74375004 +0.85124993 +1.01375 +1.15625 +1.21 +1.14625 +0.99875003 +0.8475 +0.76750004 +0.78 +0.84749997 +0.895 +0.8625 +0.74375004 +0.72 +0.6625 +0.71875 +0.89000005 +1.1137501 +1.30875 +1.42125 +1.4525 +1.46875 +1.5500001 +1.75875 +2.09625 +2.5037498 +2.9 +3.2262497 +3.4724998 +3.67375 +3.8725002 +4.07625 +4.2349997 +4.2974997 +4.1112504 +3.71375 +3.2 +2.66375 +2.2175 +1.9100001 +1.7425001 +1.5925 +1.41 +1.2225 +1.0374999 +0.90625 +0.85249996 +0.85999995 +0.89500004 +0.8875 +0.8025 +0.6725 +0.5425 +0.42999998 +0.34749997 +0.28625 +0.235 +0.21125 +0.17375 +0.12 +0.106249996 +0.10124999 +0.11375 +0.15875 +0.27125 +0.41375002 +0.51375 +0.6175 +0.66999996 +0.6825 +0.69750005 +0.76124996 +0.8949999 +1.065 +1.20125 +1.23875 +1.15875 +1.0 +0.85 +0.77874994 +0.805 +0.88374996 +0.94625 +0.93125 +0.83750004 +0.72 +0.6625 +0.71875 +0.89000005 +1.1137501 +1.30875 +1.42125 +1.4525 +1.46875 +1.5500001 +1.75875 +2.09625 +2.5037498 +2.9 +3.2262497 +3.4724998 +3.67375 +3.8725002 +4.07625 +4.2349997 +4.2974997 +4.1112504 +3.71375 +3.2 +2.66375 +2.2175 +1.9100001 +1.7425001 +1.5925 +1.41 +1.2225 +1.0374999 +0.90625 +0.85249996 +0.85999995 +0.89500004 +0.8875 +0.8025 +0.6725 +0.5425 +0.42999998 +0.34749997 +0.28625 +0.235 +0.21125 +0.17375 +0.12 +0.106249996 +0.10124999 +0.11375 +0.15875 +0.27125 +0.41375002 +0.51375 +0.6175 +0.66999996 +0.6825 +0.69750005 +0.76124996 +0.8949999 +1.065 +1.20125 +1.23875 +1.15875 +1.0 +0.85 +0.77874994 +0.805 +0.88374996 +0.94625 +0.93125 +0.83750004 +0.85375 +0.835 +0.925 +1.11375 +1.3324999 +1.5025 +1.57875 +1.56875 +1.5412499 +1.58 +1.7425001 +2.02875 +2.3825 +2.7225 +2.99875 +3.2025 +3.3725 +3.55125 +3.7350001 +3.8725 +3.8787498 +3.695 +3.32375 +2.8375 +2.35875 +1.9837499 +1.7512499 +1.625 +1.5325 +1.4124999 +1.255 +1.1 +0.9962499 +0.9675 +0.99625003 +1.035 +1.0350001 +0.97875 +0.88 +0.77 +0.67375004 +0.6 +0.54375 +0.48875004 +0.43125 +0.37 +0.3125 +0.26624998 +0.23375 +0.225 +0.25875002 +0.33875 +0.45250005 +0.57125 +0.66375 +0.7125 +0.735 +0.77750003 +0.87749994 +1.0387499 +1.2262499 +1.3625 +1.3875 +1.2850001 +1.10875 +0.94 +0.85375 +0.86625 +0.9375 +1.0 +0.99875 +0.9325 +0.85375 +0.835 +0.925 +1.11375 +1.3324999 +1.5025 +1.57875 +1.56875 +1.5412499 +1.58 +1.7425001 +2.02875 +2.3825 +2.7225 +2.99875 +3.2025 +3.3725 +3.55125 +3.7350001 +3.8725 +3.8787498 +3.695 +3.32375 +2.8375 +2.35875 +1.9837499 +1.7512499 +1.625 +1.5325 +1.4124999 +1.255 +1.1 +0.9962499 +0.9675 +0.99625003 +1.035 +1.0350001 +0.97875 +0.88 +0.77 +0.67375004 +0.6 +0.54375 +0.48875004 +0.43125 +0.37 +0.3125 +0.26624998 +0.23375 +0.225 +0.25875002 +0.33875 +0.45250005 +0.57125 +0.66375 +0.7125 +0.735 +0.77750003 +0.87749994 +1.0387499 +1.2262499 +1.3625 +1.3875 +1.2850001 +1.10875 +0.94 +0.85375 +0.86625 +0.9375 +1.0 +0.99875 +0.9325 +0.99625 +1.0075 +1.11875 +1.3012501 +1.4975001 +1.62125 +1.6437501 +1.58 +1.5 +1.4900001 +1.5975 +1.8175 +2.0925 +2.35125 +2.54125 +2.6687503 +2.7737498 +2.895 +3.03375 +3.1349998 +3.12375 +2.94875 +2.61375 +2.19625 +1.805 +1.5262499 +1.3837498 +1.3349999 +1.3050001 +1.23875 +1.12375 +1.00125 +0.92 +0.90874994 +0.95374995 +1.0162501 +1.0525 +1.04375 +0.9937501 +0.93 +0.87125003 +0.82375 +0.7825 +0.74 +0.68999994 +0.63 +0.56 +0.49124998 +0.4325 +0.39874998 +0.41375 +0.47875 +0.58 +0.69124997 +0.77750003 +0.82750005 +0.86875004 +0.94125 +1.0825 +1.28625 +1.4987501 +1.6437501 +1.65875 +1.54125 +1.34 +1.1437501 +1.0275 +1.00875 +1.055 +1.0962499 +1.09375 +1.04375 +0.99625 +1.0075 +1.11875 +1.3012501 +1.4975001 +1.62125 +1.6437501 +1.58 +1.5 +1.4900001 +1.5975 +1.8175 +2.0925 +2.35125 +2.54125 +2.6687503 +2.7737498 +2.895 +3.03375 +3.1349998 +3.12375 +2.94875 +2.61375 +2.19625 +1.805 +1.5262499 +1.3837498 +1.3349999 +1.3050001 +1.23875 +1.12375 +1.00125 +0.92 +0.90874994 +0.95374995 +1.0162501 +1.0525 +1.04375 +0.9937501 +0.93 +0.87125003 +0.82375 +0.7825 +0.74 +0.68999994 +0.63 +0.56 +0.49124998 +0.4325 +0.39874998 +0.41375 +0.47875 +0.58 +0.69124997 +0.77750003 +0.82750005 +0.86875004 +0.94125 +1.0825 +1.28625 +1.4987501 +1.6437501 +1.65875 +1.54125 +1.34 +1.1437501 +1.0275 +1.00875 +1.055 +1.0962499 +1.09375 +1.04375 +1.1387501 +1.15625 +1.255 +1.4075 +1.5474999 +1.61375 +1.5725 +1.455 +1.33125 +1.2775 +1.3362501 +1.4950001 +1.6925 +1.86125 +1.96125 +2.00125 +2.0275002 +2.08375 +2.1674998 +2.2325 +2.215 +2.065 +1.7887499 +1.45375 +1.1625 +0.97625 +0.9175 +0.93749994 +0.96625006 +0.94500005 +0.86875 +0.77000004 +0.7 +0.69 +0.735 +0.80875003 +0.87874997 +0.91875005 +0.92625 +0.915 +0.8975 +0.88249993 +0.87125003 +0.85875005 +0.84124994 +0.80750006 +0.7525 +0.6825 +0.61125 +0.55999994 +0.55875 +0.615 +0.7125 +0.82375 +0.91625 +0.9825 +1.0487499 +1.1637499 +1.35625 +1.60625 +1.85375 +2.0162501 +2.0362499 +1.91 +1.6912501 +1.47 +1.3199999 +1.2587501 +1.25625 +1.2625 +1.23625 +1.1824999 +1.1387501 +1.15625 +1.255 +1.4075 +1.5474999 +1.61375 +1.5725 +1.455 +1.33125 +1.2775 +1.3362501 +1.4950001 +1.6925 +1.86125 +1.96125 +2.00125 +2.0275002 +2.08375 +2.1674998 +2.2325 +2.215 +2.065 +1.7887499 +1.45375 +1.1625 +0.97625 +0.9175 +0.93749994 +0.96625006 +0.94500005 +0.86875 +0.77000004 +0.7 +0.69 +0.735 +0.80875003 +0.87874997 +0.91875005 +0.92625 +0.915 +0.8975 +0.88249993 +0.87125003 +0.85875005 +0.84124994 +0.80750006 +0.7525 +0.6825 +0.61125 +0.55999994 +0.55875 +0.615 +0.7125 +0.82375 +0.91625 +0.9825 +1.0487499 +1.1637499 +1.35625 +1.60625 +1.85375 +2.0162501 +2.0362499 +1.91 +1.6912501 +1.47 +1.3199999 +1.2587501 +1.25625 +1.2625 +1.23625 +1.1824999 +1.2575 +1.24875 +1.30625 +1.4012501 +1.4712499 +1.4662501 +1.365 +1.2075 +1.05875 +0.98625 +1.0187501 +1.13375 +1.27 +1.3625001 +1.3824999 +1.35125 +1.3137499 +1.31375 +1.3575001 +1.4025 +1.42125 +1.2912499 +1.06125 +0.81250006 +0.605 +0.49875 +0.50124997 +0.59125 +0.65125 +0.64124995 +0.59250003 +0.51 +0.435 +0.4075 +0.4325 +0.51125 +0.60375 +0.66374993 +0.7 +0.72375 +0.735 +0.745 +0.765 +0.7925 +0.84749997 +0.87 +0.83500004 +0.78625005 +0.7175 +0.66374993 +0.65500003 +0.72749996 +0.85 +0.93875 +1.0525 +1.1525 +1.2637501 +1.4312501 +1.67625 +1.9775001 +2.2599998 +2.4425 +2.47125 +2.345 +2.1225002 +1.885 +1.7049999 +1.5987499 +1.54 +1.49 +1.41625 +1.3262501 +1.2575 +1.24875 +1.30625 +1.4012501 +1.4712499 +1.4662501 +1.365 +1.2075 +1.05875 +0.98625 +1.0187501 +1.13375 +1.27 +1.3625001 +1.3824999 +1.35125 +1.3137499 +1.31375 +1.3575001 +1.4025 +1.42125 +1.2912499 +1.06125 +0.81250006 +0.605 +0.49875 +0.50124997 +0.59125 +0.65125 +0.64124995 +0.59250003 +0.51 +0.435 +0.4075 +0.4325 +0.51125 +0.60375 +0.66374993 +0.7 +0.72375 +0.735 +0.745 +0.765 +0.7925 +0.84749997 +0.87 +0.83500004 +0.78625005 +0.7175 +0.66374993 +0.65500003 +0.72749996 +0.85 +0.93875 +1.0525 +1.1525 +1.2637501 +1.4312501 +1.67625 +1.9775001 +2.2599998 +2.4425 +2.47125 +2.345 +2.1225002 +1.885 +1.7049999 +1.5987499 +1.54 +1.49 +1.41625 +1.3262501 +1.3162501 +1.25625 +1.255 +1.2787501 +1.27625 +1.2075 +1.06375 +0.89125 +0.74625 +0.6825 +0.71375 +0.80625004 +0.89875 +0.93875 +0.90874994 +0.8325 +0.76125 +0.73625004 +0.7612501 +0.83375 +0.8725 +0.78375 +0.59999996 +0.4 +0.26250002 +0.23375 +0.30749997 +0.41750002 +0.49625 +0.50124997 +0.43375 +0.33249998 +0.24375 +0.1975 +0.21124999 +0.27125 +0.34625 +0.41 +0.44875002 +0.46375003 +0.47250003 +0.4975 +0.565 +0.66625 +0.77875 +0.86125 +0.87875 +0.83125 +0.75750005 +0.70875 +0.7325 +0.83124995 +0.96375 +1.07625 +1.1975 +1.3475 +1.52 +1.745 +2.04375 +2.38125 +2.6875 +2.8825002 +2.91625 +2.7937498 +2.5712502 +2.32625 +2.1174998 +1.96625 +1.845 +1.7237499 +1.58375 +1.435 +1.3162501 +1.25625 +1.255 +1.2787501 +1.27625 +1.2075 +1.06375 +0.89125 +0.74625 +0.6825 +0.71375 +0.80625004 +0.89875 +0.93875 +0.90874994 +0.8325 +0.76125 +0.73625004 +0.7612501 +0.83375 +0.8725 +0.78375 +0.59999996 +0.4 +0.26250002 +0.23375 +0.30749997 +0.41750002 +0.49625 +0.50124997 +0.43375 +0.33249998 +0.24375 +0.1975 +0.21124999 +0.27125 +0.34625 +0.41 +0.44875002 +0.46375003 +0.47250003 +0.4975 +0.565 +0.66625 +0.77875 +0.86125 +0.87875 +0.83125 +0.75750005 +0.70875 +0.7325 +0.83124995 +0.96375 +1.07625 +1.1975 +1.3475 +1.52 +1.745 +2.04375 +2.38125 +2.6875 +2.8825002 +2.91625 +2.7937498 +2.5712502 +2.32625 +2.1174998 +1.96625 +1.845 +1.7237499 +1.58375 +1.435 +1.285 +1.1675 +1.10375 +1.0625 +1.0025 +0.88875 +0.73 +0.5675 +0.45125002 +0.41625 +0.46375 +0.55125 +0.62125 +0.63 +0.575 +0.49749997 +0.42749998 +0.39749998 +0.4275 +0.51375 +0.56625 +0.515 +0.38625 +0.2475 +0.16750002 +0.17999999 +0.26875 +0.37875 +0.4575 +0.4675 +0.40750003 +0.31 +0.21124999 +0.1425 +0.1175 +0.13499999 +0.1775 +0.2225 +0.25375 +0.265 +0.2725 +0.30375004 +0.38250002 +0.51 +0.6625 +0.79125 +0.8537501 +0.84125 +0.78999996 +0.75625 +0.78875005 +0.9 +1.05625 +1.21125 +1.37625 +1.5887499 +1.8225001 +2.105 +2.44 +2.7925 +3.0974998 +3.28 +3.3025 +3.1762502 +2.9537501 +2.6999998 +2.4675 +2.2687502 +2.08375 +1.8887501 +1.675 +1.4637499 +1.285 +1.1675 +1.10375 +1.0625 +1.0025 +0.88875 +0.73 +0.5675 +0.45125002 +0.41625 +0.46375 +0.55125 +0.62125 +0.63 +0.575 +0.49749997 +0.42749998 +0.39749998 +0.4275 +0.51375 +0.56625 +0.515 +0.38625 +0.2475 +0.16750002 +0.17999999 +0.26875 +0.37875 +0.4575 +0.4675 +0.40750003 +0.31 +0.21124999 +0.1425 +0.1175 +0.13499999 +0.1775 +0.2225 +0.25375 +0.265 +0.2725 +0.30375004 +0.38250002 +0.51 +0.6625 +0.79125 +0.8537501 +0.84125 +0.78999996 +0.75625 +0.78875005 +0.9 +1.05625 +1.21125 +1.37625 +1.5887499 +1.8225001 +2.105 +2.44 +2.7925 +3.0974998 +3.28 +3.3025 +3.1762502 +2.9537501 +2.6999998 +2.4675 +2.2687502 +2.08375 +1.8887501 +1.675 +1.4637499 +1.1487501 +0.98375 +0.87499994 +0.79125 +0.695 +0.565 +0.42125002 +0.30374998 +0.2475 +0.23999998 +0.28249997 +0.36875 +0.42374998 +0.41625 +0.36875 +0.31875 +0.28375 +0.26500002 +0.30249998 +0.36999997 +0.425 +0.39374998 +0.3 +0.22500001 +0.18999998 +0.21125 +0.3025 +0.40249997 +0.465 +0.47125 +0.42125005 +0.33874997 +0.25625 +0.18875 +0.14124998 +0.125 +0.13875 +0.16125 +0.18 +0.18375 +0.18125 +0.20125 +0.28125 +0.41625 +0.58125 +0.73125005 +0.81750005 +0.83125 +0.8225 +0.81000006 +0.84375 +0.97375 +1.1600001 +1.3625 +1.61 +1.88 +2.1675 +2.485 +2.825 +3.1575 +3.42375 +3.565 +3.5562499 +3.4137502 +3.1825001 +2.92 +2.66625 +2.4237502 +2.1799998 +1.9175 +1.6412499 +1.37375 +1.1487501 +0.98375 +0.87499994 +0.79125 +0.695 +0.565 +0.42125002 +0.30374998 +0.2475 +0.23999998 +0.28249997 +0.36875 +0.42374998 +0.41625 +0.36875 +0.31875 +0.28375 +0.26500002 +0.30249998 +0.36999997 +0.425 +0.39374998 +0.3 +0.22500001 +0.18999998 +0.21125 +0.3025 +0.40249997 +0.465 +0.47125 +0.42125005 +0.33874997 +0.25625 +0.18875 +0.14124998 +0.125 +0.13875 +0.16125 +0.18 +0.18375 +0.18125 +0.20125 +0.28125 +0.41625 +0.58125 +0.73125005 +0.81750005 +0.83125 +0.8225 +0.81000006 +0.84375 +0.97375 +1.1600001 +1.3625 +1.61 +1.88 +2.1675 +2.485 +2.825 +3.1575 +3.42375 +3.565 +3.5562499 +3.4137502 +3.1825001 +2.92 +2.66625 +2.4237502 +2.1799998 +1.9175 +1.6412499 +1.37375 +0.92999995 +0.74 +0.60625005 +0.50375 +0.40500003 +0.295 +0.20875001 +0.18125 +0.18375 +0.175 +0.18124999 +0.22625 +0.27 +0.26125 +0.23749998 +0.22375001 +0.2225 +0.22999999 +0.27875 +0.33249998 +0.35125 +0.325 +0.2775 +0.2425 +0.24125 +0.275 +0.32874998 +0.39875 +0.4425 +0.44125 +0.41249996 +0.39 +0.35875002 +0.3225 +0.29250002 +0.27499998 +0.275 +0.28875 +0.2975 +0.2975 +0.28625 +0.285 +0.3225 +0.435 +0.58750004 +0.7275001 +0.82875 +0.89874995 +0.9225 +0.93375003 +0.98249996 +1.1075 +1.31375 +1.5799999 +1.8799999 +2.18875 +2.505 +2.8212502 +3.13 +3.4 +3.59125 +3.665 +3.6074998 +3.4412498 +3.2 +2.9325001 +2.66125 +2.3874998 +2.1 +1.79625 +1.48 +1.18 +0.92999995 +0.74 +0.60625005 +0.50375 +0.40500003 +0.295 +0.20875001 +0.18125 +0.18375 +0.175 +0.18124999 +0.22625 +0.27 +0.26125 +0.23749998 +0.22375001 +0.2225 +0.22999999 +0.27875 +0.33249998 +0.35125 +0.325 +0.2775 +0.2425 +0.24125 +0.275 +0.32874998 +0.39875 +0.4425 +0.44125 +0.41249996 +0.39 +0.35875002 +0.3225 +0.29250002 +0.27499998 +0.275 +0.28875 +0.2975 +0.2975 +0.28625 +0.285 +0.3225 +0.435 +0.58750004 +0.7275001 +0.82875 +0.89874995 +0.9225 +0.93375003 +0.98249996 +1.1075 +1.31375 +1.5799999 +1.8799999 +2.18875 +2.505 +2.8212502 +3.13 +3.4 +3.59125 +3.665 +3.6074998 +3.4412498 +3.2 +2.9325001 +2.66125 +2.3874998 +2.1 +1.79625 +1.48 +1.18 +0.69 +0.51000005 +0.38 +0.2825 +0.20499998 +0.16125 +0.1575 +0.16625 +0.16625 +0.15 +0.12625 +0.12625 +0.13875 +0.13999999 +0.1475 +0.16625 +0.185 +0.20750001 +0.26250002 +0.30375 +0.29500002 +0.25375 +0.22125 +0.20875 +0.22625001 +0.26624998 +0.32 +0.35375 +0.3675 +0.37 +0.37750003 +0.39250004 +0.41250002 +0.425 +0.435 +0.4425 +0.4575 +0.4775 +0.49875003 +0.50875 +0.505 +0.5025 +0.52375 +0.5875 +0.695 +0.81874996 +0.92999995 +1.0075 +1.0525 +1.09125 +1.16875 +1.3162501 +1.54125 +1.8249999 +2.14125 +2.4612498 +2.7662501 +3.0425 +3.2787502 +3.4537501 +3.54375 +3.5362499 +3.4275002 +3.23875 +2.99875 +2.7350001 +2.4637501 +2.1825001 +1.885 +1.5675001 +1.245 +0.94375 +0.69 +0.51000005 +0.38 +0.2825 +0.20499998 +0.16125 +0.1575 +0.16625 +0.16625 +0.15 +0.12625 +0.12625 +0.13875 +0.13999999 +0.1475 +0.16625 +0.185 +0.20750001 +0.26250002 +0.30375 +0.29500002 +0.25375 +0.22125 +0.20875 +0.22625001 +0.26624998 +0.32 +0.35375 +0.3675 +0.37 +0.37750003 +0.39250004 +0.41250002 +0.425 +0.435 +0.4425 +0.4575 +0.4775 +0.49875003 +0.50875 +0.505 +0.5025 +0.52375 +0.5875 +0.695 +0.81874996 +0.92999995 +1.0075 +1.0525 +1.09125 +1.16875 +1.3162501 +1.54125 +1.8249999 +2.14125 +2.4612498 +2.7662501 +3.0425 +3.2787502 +3.4537501 +3.54375 +3.5362499 +3.4275002 +3.23875 +2.99875 +2.7350001 +2.4637501 +2.1825001 +1.885 +1.5675001 +1.245 +0.94375 +0.51375 +0.35999998 +0.26999998 +0.20875 +0.16 +0.135 +0.13125 +0.13625 +0.13625 +0.12125 +0.095 +0.06875 +0.05875 +0.07125 +0.1 +0.125 +0.1425 +0.1675 +0.21625 +0.23125 +0.19124998 +0.14 +0.121249996 +0.14874999 +0.17625 +0.19125 +0.21875 +0.24125001 +0.2425 +0.24374999 +0.26375 +0.31500003 +0.3825 +0.44625002 +0.49875 +0.54 +0.58375 +0.635 +0.6875 +0.72875005 +0.745 +0.74750006 +0.7525 +0.7825 +0.84499997 +0.93125004 +1.02375 +1.10375 +1.1737499 +1.24875 +1.35625 +1.5225 +1.7524998 +2.03375 +2.335 +2.6299999 +2.8899999 +3.09125 +3.22625 +3.2887502 +3.275 +3.1912503 +3.0425 +2.84625 +2.62375 +2.38875 +2.145 +1.8900001 +1.6175001 +1.33 +1.0325 +0.7562501 +0.51375 +0.35999998 +0.26999998 +0.20875 +0.16 +0.135 +0.13125 +0.13625 +0.13625 +0.12125 +0.095 +0.06875 +0.05875 +0.07125 +0.1 +0.125 +0.1425 +0.1675 +0.21625 +0.23125 +0.19124998 +0.14 +0.121249996 +0.14874999 +0.17625 +0.19125 +0.21875 +0.24125001 +0.2425 +0.24374999 +0.26375 +0.31500003 +0.3825 +0.44625002 +0.49875 +0.54 +0.58375 +0.635 +0.6875 +0.72875005 +0.745 +0.74750006 +0.7525 +0.7825 +0.84499997 +0.93125004 +1.02375 +1.10375 +1.1737499 +1.24875 +1.35625 +1.5225 +1.7524998 +2.03375 +2.335 +2.6299999 +2.8899999 +3.09125 +3.22625 +3.2887502 +3.275 +3.1912503 +3.0425 +2.84625 +2.62375 +2.38875 +2.145 +1.8900001 +1.6175001 +1.33 +1.0325 +0.7562501 +0.47250003 +0.32 +0.23875 +0.18125 +0.13125 +0.1025 +0.09625 +0.1 +0.10125 +0.08875 +0.065 +0.03875 +0.0275 +0.035 +0.05625 +0.0775 +0.091249995 +0.123749994 +0.16375 +0.155 +0.09625 +0.041249998 +0.0575 +0.0975 +0.11625 +0.120000005 +0.1175 +0.1125 +0.105 +0.10875 +0.14125 +0.2075 +0.30374998 +0.39624998 +0.47750002 +0.5475 +0.62375003 +0.71500003 +0.81250006 +0.8925 +0.9425 +0.95375 +0.94124997 +0.93499994 +0.95375 +1.00375 +1.08125 +1.1725 +1.2687501 +1.38 +1.5175 +1.6937501 +1.9250001 +2.1737502 +2.4325001 +2.67 +2.8537502 +2.96375 +2.99125 +2.94625 +2.84375 +2.69875 +2.53375 +2.35625 +2.17375 +1.9925 +1.8087499 +1.61375 +1.40625 +1.1800001 +0.93874997 +0.69624996 +0.47250003 +0.32 +0.23875 +0.18125 +0.13125 +0.1025 +0.09625 +0.1 +0.10125 +0.08875 +0.065 +0.03875 +0.0275 +0.035 +0.05625 +0.0775 +0.091249995 +0.123749994 +0.16375 +0.155 +0.09625 +0.041249998 +0.0575 +0.0975 +0.11625 +0.120000005 +0.1175 +0.1125 +0.105 +0.10875 +0.14125 +0.2075 +0.30374998 +0.39624998 +0.47750002 +0.5475 +0.62375003 +0.71500003 +0.81250006 +0.8925 +0.9425 +0.95375 +0.94124997 +0.93499994 +0.95375 +1.00375 +1.08125 +1.1725 +1.2687501 +1.38 +1.5175 +1.6937501 +1.9250001 +2.1737502 +2.4325001 +2.67 +2.8537502 +2.96375 +2.99125 +2.94625 +2.84375 +2.69875 +2.53375 +2.35625 +2.17375 +1.9925 +1.8087499 +1.61375 +1.40625 +1.1800001 +0.93874997 +0.69624996 +0.59625 +0.4025 +0.26375002 +0.17625 +0.10874999 +0.07375 +0.065 +0.0675 +0.06875 +0.0575 +0.03625 +0.015000001 +0.00125 +0.0025 +0.01875 +0.03375 +0.065 +0.12375 +0.18625 +0.19125 +0.11125 +0.03625 +0.00375 +0.0425 +0.06375 +0.05875 +0.05375 +0.04625 +0.05125 +0.04875 +0.08125 +0.1425 +0.23 +0.32374996 +0.41 +0.49749997 +0.60375 +0.73375 +0.8775 +1.00375 +1.0825 +1.1025 +1.08125 +1.0500001 +1.0437499 +1.05375 +1.1237501 +1.22625 +1.3487499 +1.4887501 +1.6424999 +1.8599999 +2.08 +2.2825 +2.4525 +2.59 +2.6874998 +2.705 +2.64 +2.51125 +2.3487499 +2.17625 +2.015 +1.87375 +1.7525 +1.6424999 +1.54 +1.435 +1.3174999 +1.1762501 +1.00375 +0.80499995 +0.59625 +0.4025 +0.26375002 +0.17625 +0.10874999 +0.07375 +0.065 +0.0675 +0.06875 +0.0575 +0.03625 +0.015000001 +0.00125 +0.0025 +0.01875 +0.03375 +0.065 +0.12375 +0.18625 +0.19125 +0.11125 +0.03625 +0.00375 +0.0425 +0.06375 +0.05875 +0.05375 +0.04625 +0.05125 +0.04875 +0.08125 +0.1425 +0.23 +0.32374996 +0.41 +0.49749997 +0.60375 +0.73375 +0.8775 +1.00375 +1.0825 +1.1025 +1.08125 +1.0500001 +1.0437499 +1.05375 +1.1237501 +1.22625 +1.3487499 +1.4887501 +1.6424999 +1.8599999 +2.08 +2.2825 +2.4525 +2.59 +2.6874998 +2.705 +2.64 +2.51125 +2.3487499 +2.17625 +2.015 +1.87375 +1.7525 +1.6424999 +1.54 +1.435 +1.3174999 +1.1762501 +1.00375 +0.80499995 +0.85375 +0.64375 +0.45 +0.29375 +0.18624999 +0.1275 +0.10499999 +0.0975 +0.095 +0.08875 +0.073750004 +0.057500005 +0.03875 +0.03125 +0.02625 +0.05125 +0.11625001 +0.22 +0.30625 +0.31375 +0.23249999 +0.11625 +0.043750003 +0.0275 +0.043750003 +0.05625 +0.07875 +0.09875 +0.097500004 +0.09 +0.0925 +0.1375 +0.2075 +0.28 +0.35625002 +0.45 +0.57875 +0.74749994 +0.93499994 +1.1 +1.20875 +1.24 +1.22375 +1.2049999 +1.1775 +1.17375 +1.20625 +1.3 +1.43625 +1.5912501 +1.7862499 +1.9825 +2.15875 +2.3000002 +2.39625 +2.445 +2.4412498 +2.3874998 +2.2675 +2.1050003 +1.91875 +1.73375 +1.58375 +1.4849999 +1.4237499 +1.3912501 +1.38125 +1.375 +1.3575001 +1.3075 +1.2075 +1.05 +0.85375 +0.64375 +0.45 +0.29375 +0.18624999 +0.1275 +0.10499999 +0.0975 +0.095 +0.08875 +0.073750004 +0.057500005 +0.03875 +0.03125 +0.02625 +0.05125 +0.11625001 +0.22 +0.30625 +0.31375 +0.23249999 +0.11625 +0.043750003 +0.0275 +0.043750003 +0.05625 +0.07875 +0.09875 +0.097500004 +0.09 +0.0925 +0.1375 +0.2075 +0.28 +0.35625002 +0.45 +0.57875 +0.74749994 +0.93499994 +1.1 +1.20875 +1.24 +1.22375 +1.2049999 +1.1775 +1.17375 +1.20625 +1.3 +1.43625 +1.5912501 +1.7862499 +1.9825 +2.15875 +2.3000002 +2.39625 +2.445 +2.4412498 +2.3874998 +2.2675 +2.1050003 +1.91875 +1.73375 +1.58375 +1.4849999 +1.4237499 +1.3912501 +1.38125 +1.375 +1.3575001 +1.3075 +1.2075 +1.05 +1.1574999 +0.94250005 +0.735 +0.55999994 +0.4325 +0.3475 +0.29625 +0.26875 +0.2575 +0.25375 +0.24375 +0.23124999 +0.19000001 +0.14750001 +0.1325 +0.15625 +0.23749998 +0.36125 +0.45874998 +0.485 +0.42625 +0.315 +0.20375 +0.14500001 +0.1425 +0.15875 +0.18625 +0.20124999 +0.19125001 +0.17124999 +0.1575 +0.17875001 +0.22999999 +0.28625 +0.3575 +0.46 +0.61375 +0.81500006 +1.03625 +1.2287501 +1.35875 +1.40625 +1.4087499 +1.38625 +1.3487499 +1.3299999 +1.3487501 +1.4187499 +1.5425 +1.69875 +1.8725 +2.0287502 +2.1475 +2.22 +2.24125 +2.2175 +2.15625 +2.05875 +1.9262499 +1.7612499 +1.585 +1.4175 +1.2825 +1.2175001 +1.2037499 +1.24 +1.3112501 +1.39625 +1.4712499 +1.50375 +1.4649999 +1.3449999 +1.1574999 +0.94250005 +0.735 +0.55999994 +0.4325 +0.3475 +0.29625 +0.26875 +0.2575 +0.25375 +0.24375 +0.23124999 +0.19000001 +0.14750001 +0.1325 +0.15625 +0.23749998 +0.36125 +0.45874998 +0.485 +0.42625 +0.315 +0.20375 +0.14500001 +0.1425 +0.15875 +0.18625 +0.20124999 +0.19125001 +0.17124999 +0.1575 +0.17875001 +0.22999999 +0.28625 +0.3575 +0.46 +0.61375 +0.81500006 +1.03625 +1.2287501 +1.35875 +1.40625 +1.4087499 +1.38625 +1.3487499 +1.3299999 +1.3487501 +1.4187499 +1.5425 +1.69875 +1.8725 +2.0287502 +2.1475 +2.22 +2.24125 +2.2175 +2.15625 +2.05875 +1.9262499 +1.7612499 +1.585 +1.4175 +1.2825 +1.2175001 +1.2037499 +1.24 +1.3112501 +1.39625 +1.4712499 +1.50375 +1.4649999 +1.3449999 +1.405 +1.19625 +0.99 +0.81125003 +0.6725 +0.57 +0.49625 +0.45 +0.43 +0.43124998 +0.435 +0.43124998 +0.39 +0.32625 +0.27625 +0.28624997 +0.34875 +0.465 +0.57625 +0.62874997 +0.60125 +0.51125 +0.40375003 +0.32999998 +0.30125 +0.28625 +0.28375 +0.275 +0.24874999 +0.21374999 +0.18875001 +0.21374999 +0.2625 +0.32874998 +0.42374998 +0.55875 +0.745 +0.97 +1.2025001 +1.4025002 +1.54 +1.6025 +1.59875 +1.58125 +1.54125 +1.5025 +1.4925001 +1.53125 +1.62875 +1.7412499 +1.8675001 +1.9725001 +2.02875 +2.02625 +1.97875 +1.90125 +1.815 +1.72875 +1.6137501 +1.4837501 +1.3412501 +1.1999999 +1.08125 +1.03 +1.0475 +1.12625 +1.26 +1.41875 +1.565 +1.6587498 +1.66625 +1.575 +1.405 +1.19625 +0.99 +0.81125003 +0.6725 +0.57 +0.49625 +0.45 +0.43 +0.43124998 +0.435 +0.43124998 +0.39 +0.32625 +0.27625 +0.28624997 +0.34875 +0.465 +0.57625 +0.62874997 +0.60125 +0.51125 +0.40375003 +0.32999998 +0.30125 +0.28625 +0.28375 +0.275 +0.24874999 +0.21374999 +0.18875001 +0.21374999 +0.2625 +0.32874998 +0.42374998 +0.55875 +0.745 +0.97 +1.2025001 +1.4025002 +1.54 +1.6025 +1.59875 +1.58125 +1.54125 +1.5025 +1.4925001 +1.53125 +1.62875 +1.7412499 +1.8675001 +1.9725001 +2.02875 +2.02625 +1.97875 +1.90125 +1.815 +1.72875 +1.6137501 +1.4837501 +1.3412501 +1.1999999 +1.08125 +1.03 +1.0475 +1.12625 +1.26 +1.41875 +1.565 +1.6587498 +1.66625 +1.575 +1.5137498 +1.3312501 +1.14625 +0.97625005 +0.83000004 +0.70500004 +0.60249996 +0.5325 +0.50624996 +0.51875 +0.5475 +0.55875003 +0.5225 +0.44750002 +0.37125003 +0.335 +0.36375 +0.46 +0.5825 +0.66499996 +0.6675 +0.59250003 +0.5 +0.4225 +0.3625 +0.32125 +0.2825 +0.2425 +0.205 +0.18249999 +0.1825 +0.21000001 +0.27625 +0.39374998 +0.55125 +0.74375 +0.965 +1.19375 +1.40625 +1.58375 +1.7024999 +1.76625 +1.7750001 +1.74125 +1.6837499 +1.6212499 +1.57625 +1.5725001 +1.61375 +1.685 +1.7525 +1.79125 +1.7850001 +1.7137499 +1.6049999 +1.4925001 +1.4162501 +1.37 +1.3187499 +1.24375 +1.14125 +1.02375 +0.91624993 +0.86 +0.885 +0.98875 +1.1637499 +1.37125 +1.56375 +1.69375 +1.7262499 +1.6574999 +1.5137498 +1.3312501 +1.14625 +0.97625005 +0.83000004 +0.70500004 +0.60249996 +0.5325 +0.50624996 +0.51875 +0.5475 +0.55875003 +0.5225 +0.44750002 +0.37125003 +0.335 +0.36375 +0.46 +0.5825 +0.66499996 +0.6675 +0.59250003 +0.5 +0.4225 +0.3625 +0.32125 +0.2825 +0.2425 +0.205 +0.18249999 +0.1825 +0.21000001 +0.27625 +0.39374998 +0.55125 +0.74375 +0.965 +1.19375 +1.40625 +1.58375 +1.7024999 +1.76625 +1.7750001 +1.74125 +1.6837499 +1.6212499 +1.57625 +1.5725001 +1.61375 +1.685 +1.7525 +1.79125 +1.7850001 +1.7137499 +1.6049999 +1.4925001 +1.4162501 +1.37 +1.3187499 +1.24375 +1.14125 +1.02375 +0.91624993 +0.86 +0.885 +0.98875 +1.1637499 +1.37125 +1.56375 +1.69375 +1.7262499 +1.6574999 +1.4625 +1.3199999 +1.1700001 +1.01875 +0.86875 +0.715 +0.57625 +0.48125002 +0.4525 +0.48625 +0.54875004 +0.58500004 +0.55625 +0.45625 +0.32875 +0.23625001 +0.2275 +0.31499997 +0.45125 +0.55875003 +0.58375 +0.5325 +0.4425 +0.3425 +0.265 +0.21625 +0.1825 +0.1525 +0.1275 +0.125 +0.14500001 +0.1825 +0.29125 +0.48749995 +0.73625 +0.99625003 +1.23875 +1.43875 +1.5899999 +1.69375 +1.7637501 +1.80625 +1.82125 +1.7950001 +1.72625 +1.6275 +1.52375 +1.45 +1.4349998 +1.46375 +1.4975001 +1.48875 +1.4175 +1.29125 +1.13375 +1.00125 +0.94624996 +0.96000004 +0.99749994 +1.005 +0.95375 +0.84874994 +0.72875 +0.65625006 +0.67125 +0.79 +0.98875 +1.225 +1.4375 +1.5775001 +1.62125 +1.5749998 +1.4625 +1.3199999 +1.1700001 +1.01875 +0.86875 +0.715 +0.57625 +0.48125002 +0.4525 +0.48625 +0.54875004 +0.58500004 +0.55625 +0.45625 +0.32875 +0.23625001 +0.2275 +0.31499997 +0.45125 +0.55875003 +0.58375 +0.5325 +0.4425 +0.3425 +0.265 +0.21625 +0.1825 +0.1525 +0.1275 +0.125 +0.14500001 +0.1825 +0.29125 +0.48749995 +0.73625 +0.99625003 +1.23875 +1.43875 +1.5899999 +1.69375 +1.7637501 +1.80625 +1.82125 +1.7950001 +1.72625 +1.6275 +1.52375 +1.45 +1.4349998 +1.46375 +1.4975001 +1.48875 +1.4175 +1.29125 +1.13375 +1.00125 +0.94624996 +0.96000004 +0.99749994 +1.005 +0.95375 +0.84874994 +0.72875 +0.65625006 +0.67125 +0.79 +0.98875 +1.225 +1.4375 +1.5775001 +1.62125 +1.5749998 +1.29125 +1.1975 +1.08875 +0.95874995 +0.80125004 +0.61875 +0.4425 +0.3225 +0.29375 +0.34875 +0.445 +0.5075 +0.4775 +0.34500003 +0.17124999 +0.073750004 +0.045 +0.11125 +0.23875001 +0.34625 +0.38750002 +0.34625 +0.24875002 +0.16375 +0.11 +0.08 +0.07125 +0.07 +0.07375 +0.0925 +0.12 +0.1725 +0.33999997 +0.63 +0.96875006 +1.27875 +1.51 +1.64125 +1.6850001 +1.6750001 +1.6575 +1.65625 +1.65875 +1.635 +1.5549998 +1.4212501 +1.2662499 +1.14125 +1.08375 +1.08625 +1.105 +1.075 +0.96875 +0.8025 +0.61249995 +0.475 +0.44000003 +0.52625 +0.65375006 +0.74125 +0.735 +0.6375 +0.5 +0.40625 +0.41250005 +0.53999996 +0.75624996 +1.005 +1.21875 +1.3562499 +1.4024999 +1.3712499 +1.29125 +1.1975 +1.08875 +0.95874995 +0.80125004 +0.61875 +0.4425 +0.3225 +0.29375 +0.34875 +0.445 +0.5075 +0.4775 +0.34500003 +0.17124999 +0.073750004 +0.045 +0.11125 +0.23875001 +0.34625 +0.38750002 +0.34625 +0.24875002 +0.16375 +0.11 +0.08 +0.07125 +0.07 +0.07375 +0.0925 +0.12 +0.1725 +0.33999997 +0.63 +0.96875006 +1.27875 +1.51 +1.64125 +1.6850001 +1.6750001 +1.6575 +1.65625 +1.65875 +1.635 +1.5549998 +1.4212501 +1.2662499 +1.14125 +1.08375 +1.08625 +1.105 +1.075 +0.96875 +0.8025 +0.61249995 +0.475 +0.44000003 +0.52625 +0.65375006 +0.74125 +0.735 +0.6375 +0.5 +0.40625 +0.41250005 +0.53999996 +0.75624996 +1.005 +1.21875 +1.3562499 +1.4024999 +1.3712499 +1.0962499 +1.0425 +0.97125 +0.8575 +0.68874997 +0.47625 +0.26625 +0.165 +0.14125 +0.20875001 +0.30875 +0.38125002 +0.34625 +0.18375 +0.061249997 +0.0075 +0.0 +0.00625 +0.0625 +0.15625 +0.18875 +0.14 +0.08 +0.05125 +0.05125 +0.05125 +0.0625 +0.0775 +0.09125 +0.11125 +0.14875 +0.23374999 +0.47124997 +0.84000003 +1.22875 +1.5462499 +1.7225001 +1.74625 +1.64875 +1.50125 +1.3775 +1.3125 +1.2912501 +1.2625 +1.18 +1.03125 +0.85125 +0.70125 +0.62874997 +0.63375 +0.65874994 +0.6275 +0.52125 +0.33625 +0.17750001 +0.085 +0.07749999 +0.175 +0.34500003 +0.48624998 +0.5125 +0.415 +0.26500002 +0.17625001 +0.19125 +0.3175 +0.52500004 +0.77875 +0.98749995 +1.11375 +1.1562499 +1.13875 +1.0962499 +1.0425 +0.97125 +0.8575 +0.68874997 +0.47625 +0.26625 +0.165 +0.14125 +0.20875001 +0.30875 +0.38125002 +0.34625 +0.18375 +0.061249997 +0.0075 +0.0 +0.00625 +0.0625 +0.15625 +0.18875 +0.14 +0.08 +0.05125 +0.05125 +0.05125 +0.0625 +0.0775 +0.09125 +0.11125 +0.14875 +0.23374999 +0.47124997 +0.84000003 +1.22875 +1.5462499 +1.7225001 +1.74625 +1.64875 +1.50125 +1.3775 +1.3125 +1.2912501 +1.2625 +1.18 +1.03125 +0.85125 +0.70125 +0.62874997 +0.63375 +0.65874994 +0.6275 +0.52125 +0.33625 +0.17750001 +0.085 +0.07749999 +0.175 +0.34500003 +0.48624998 +0.5125 +0.415 +0.26500002 +0.17625001 +0.19125 +0.3175 +0.52500004 +0.77875 +0.98749995 +1.11375 +1.1562499 +1.13875 +0.9675001 +0.95000005 +0.90000004 +0.79124993 +0.6087499 +0.36875 +0.17875 +0.1175 +0.095 +0.13875 +0.225 +0.29500002 +0.2525 +0.10375 +0.03625 +0.0025 +0.0 +0.0 +0.0225 +0.0775 +0.098749995 +0.07125001 +0.04375 +0.0425 +0.05875 +0.083749995 +0.13000001 +0.1875 +0.2175 +0.23375 +0.28375 +0.43874997 +0.72875 +1.1062499 +1.47875 +1.7450001 +1.8287499 +1.72125 +1.4812499 +1.2062501 +0.98375005 +0.86 +0.81374997 +0.7825 +0.70625 +0.5675 +0.39749998 +0.27375 +0.23375 +0.25875 +0.29375 +0.27625 +0.18125 +0.05875 +0.0 +0.0 +0.0 +0.02 +0.1675 +0.30375 +0.345 +0.2475 +0.11750001 +0.07875 +0.095 +0.19125 +0.375 +0.61875 +0.82 +0.93375003 +0.97625 +0.98 +0.9675001 +0.95000005 +0.90000004 +0.79124993 +0.6087499 +0.36875 +0.17875 +0.1175 +0.095 +0.13875 +0.225 +0.29500002 +0.2525 +0.10375 +0.03625 +0.0025 +0.0 +0.0 +0.0225 +0.0775 +0.098749995 +0.07125001 +0.04375 +0.0425 +0.05875 +0.083749995 +0.13000001 +0.1875 +0.2175 +0.23375 +0.28375 +0.43874997 +0.72875 +1.1062499 +1.47875 +1.7450001 +1.8287499 +1.72125 +1.4812499 +1.2062501 +0.98375005 +0.86 +0.81374997 +0.7825 +0.70625 +0.5675 +0.39749998 +0.27375 +0.23375 +0.25875 +0.29375 +0.27625 +0.18125 +0.05875 +0.0 +0.0 +0.0 +0.02 +0.1675 +0.30375 +0.345 +0.2475 +0.11750001 +0.07875 +0.095 +0.19125 +0.375 +0.61875 +0.82 +0.93375003 +0.97625 +0.98 +1.1175 +1.2724999 +1.425 +1.5725 +1.7062501 +1.8000002 +1.8175001 +1.75 +1.605 +1.4200001 +1.23 +1.05125 +0.88625 +0.725 +0.565 +0.41750002 +0.3275 +0.29 +0.27625 +0.24375 +0.16 +0.05375 +0.036250003 +0.0475 +0.05125 +0.05125 +0.0575 +0.1125 +0.2525 +0.3625 +0.42374998 +0.46500003 +0.52875 +0.63499993 +0.78374994 +0.95125 +1.1162499 +1.2725 +1.4237499 +1.5687499 +1.69875 +1.7850001 +1.7975001 +1.725 +1.58125 +1.4 +1.2149999 +1.0387499 +0.87624997 +0.71625 +0.5575 +0.41250002 +0.32874998 +0.29874998 +0.28875 +0.25875 +0.1725 +0.06125 +0.0325 +0.04125 +0.04375 +0.04375 +0.052500002 +0.11624999 +0.25 +0.3575 +0.41124997 +0.4525 +0.5175 +0.62875 +0.78249997 +0.95125 +1.1175 +1.2724999 +1.425 +1.5725 +1.7062501 +1.8000002 +1.8175001 +1.75 +1.605 +1.4200001 +1.23 +1.05125 +0.88625 +0.725 +0.565 +0.41750002 +0.3275 +0.29 +0.27625 +0.24375 +0.16 +0.05375 +0.036250003 +0.0475 +0.05125 +0.05125 +0.0575 +0.1125 +0.2525 +0.3625 +0.42374998 +0.46500003 +0.52875 +0.63499993 +0.78374994 +0.95125 +1.1162499 +1.2725 +1.4237499 +1.5687499 +1.69875 +1.7850001 +1.7975001 +1.725 +1.58125 +1.4 +1.2149999 +1.0387499 +0.87624997 +0.71625 +0.5575 +0.41250002 +0.32874998 +0.29874998 +0.28875 +0.25875 +0.1725 +0.06125 +0.0325 +0.04125 +0.04375 +0.04375 +0.052500002 +0.11624999 +0.25 +0.3575 +0.41124997 +0.4525 +0.5175 +0.62875 +0.78249997 +0.95125 +1.0837499 +1.2512499 +1.41625 +1.58375 +1.7375 +1.84875 +1.8812499 +1.82 +1.6725 +1.475 +1.2650001 +1.0712501 +0.8925 +0.7275 +0.5675 +0.4225 +0.315 +0.27375 +0.26 +0.2375 +0.17375001 +0.09375 +0.048750002 +0.05625 +0.06 +0.055 +0.05875 +0.13374999 +0.26999998 +0.38125002 +0.4425 +0.48125002 +0.53375 +0.6262499 +0.76250005 +0.925 +1.09625 +1.265 +1.425 +1.5749999 +1.69875 +1.77 +1.7662501 +1.6825001 +1.5324999 +1.3512499 +1.16125 +0.98125 +0.81499994 +0.65500003 +0.50625 +0.38375 +0.31625 +0.31125 +0.32125 +0.30375 +0.225 +0.12375 +0.041249998 +0.03625 +0.03375 +0.0325 +0.055 +0.15375 +0.26625 +0.34375 +0.37624997 +0.40499997 +0.4675 +0.58125 +0.7375001 +0.91375 +1.0837499 +1.2512499 +1.41625 +1.58375 +1.7375 +1.84875 +1.8812499 +1.82 +1.6725 +1.475 +1.2650001 +1.0712501 +0.8925 +0.7275 +0.5675 +0.4225 +0.315 +0.27375 +0.26 +0.2375 +0.17375001 +0.09375 +0.048750002 +0.05625 +0.06 +0.055 +0.05875 +0.13374999 +0.26999998 +0.38125002 +0.4425 +0.48125002 +0.53375 +0.6262499 +0.76250005 +0.925 +1.09625 +1.265 +1.425 +1.5749999 +1.69875 +1.77 +1.7662501 +1.6825001 +1.5324999 +1.3512499 +1.16125 +0.98125 +0.81499994 +0.65500003 +0.50625 +0.38375 +0.31625 +0.31125 +0.32125 +0.30375 +0.225 +0.12375 +0.041249998 +0.03625 +0.03375 +0.0325 +0.055 +0.15375 +0.26625 +0.34375 +0.37624997 +0.40499997 +0.4675 +0.58125 +0.7375001 +0.91375 +0.98749995 +1.1687499 +1.3587501 +1.5624999 +1.75875 +1.91125 +1.9775002 +1.9325 +1.78375 +1.56875 +1.33125 +1.11 +0.91875 +0.74999994 +0.59125 +0.4475 +0.3325 +0.27 +0.2575 +0.255 +0.22250001 +0.1625 +0.098749995 +0.05625 +0.0575 +0.05 +0.05625 +0.15625 +0.29500002 +0.4075 +0.47 +0.4975 +0.52625 +0.5875 +0.69625 +0.84625 +1.025 +1.2112501 +1.39 +1.545 +1.6600001 +1.70875 +1.68 +1.5762501 +1.41625 +1.2312499 +1.03875 +0.85 +0.675 +0.51625 +0.38375 +0.29874998 +0.28375 +0.325 +0.36625 +0.36374998 +0.305 +0.19375 +0.08 +0.025 +0.0175 +0.036250003 +0.10625 +0.20999998 +0.28625 +0.31124997 +0.305 +0.31 +0.36499998 +0.4775 +0.63374996 +0.80875 +0.98749995 +1.1687499 +1.3587501 +1.5624999 +1.75875 +1.91125 +1.9775002 +1.9325 +1.78375 +1.56875 +1.33125 +1.11 +0.91875 +0.74999994 +0.59125 +0.4475 +0.3325 +0.27 +0.2575 +0.255 +0.22250001 +0.1625 +0.098749995 +0.05625 +0.0575 +0.05 +0.05625 +0.15625 +0.29500002 +0.4075 +0.47 +0.4975 +0.52625 +0.5875 +0.69625 +0.84625 +1.025 +1.2112501 +1.39 +1.545 +1.6600001 +1.70875 +1.68 +1.5762501 +1.41625 +1.2312499 +1.03875 +0.85 +0.675 +0.51625 +0.38375 +0.29874998 +0.28375 +0.325 +0.36625 +0.36374998 +0.305 +0.19375 +0.08 +0.025 +0.0175 +0.036250003 +0.10625 +0.20999998 +0.28625 +0.31124997 +0.305 +0.31 +0.36499998 +0.4775 +0.63374996 +0.80875 +0.825 +1.0124999 +1.225 +1.46375 +1.7075 +1.91375 +2.025 +2.0075 +1.8700001 +1.6462502 +1.3949999 +1.165 +0.96874994 +0.805 +0.66249996 +0.52625 +0.40375 +0.32999998 +0.315 +0.32624996 +0.32750002 +0.28625 +0.2075 +0.125 +0.066250004 +0.03875 +0.056250002 +0.1575 +0.29625 +0.41000003 +0.47124997 +0.48624998 +0.47875002 +0.49625 +0.56625 +0.695 +0.8775 +1.0825 +1.28 +1.4387499 +1.5375 +1.5587499 +1.50125 +1.38375 +1.2237501 +1.04375 +0.855 +0.6650001 +0.48250005 +0.32500002 +0.21125 +0.17750001 +0.22874999 +0.3125 +0.3775 +0.38375 +0.3225 +0.2125 +0.09375 +0.02625 +0.015000001 +0.08 +0.17375 +0.24875 +0.27249998 +0.245 +0.19875 +0.1925 +0.23875001 +0.33874997 +0.4875 +0.6525 +0.825 +1.0124999 +1.225 +1.46375 +1.7075 +1.91375 +2.025 +2.0075 +1.8700001 +1.6462502 +1.3949999 +1.165 +0.96874994 +0.805 +0.66249996 +0.52625 +0.40375 +0.32999998 +0.315 +0.32624996 +0.32750002 +0.28625 +0.2075 +0.125 +0.066250004 +0.03875 +0.056250002 +0.1575 +0.29625 +0.41000003 +0.47124997 +0.48624998 +0.47875002 +0.49625 +0.56625 +0.695 +0.8775 +1.0825 +1.28 +1.4387499 +1.5375 +1.5587499 +1.50125 +1.38375 +1.2237501 +1.04375 +0.855 +0.6650001 +0.48250005 +0.32500002 +0.21125 +0.17750001 +0.22874999 +0.3125 +0.3775 +0.38375 +0.3225 +0.2125 +0.09375 +0.02625 +0.015000001 +0.08 +0.17375 +0.24875 +0.27249998 +0.245 +0.19875 +0.1925 +0.23875001 +0.33874997 +0.4875 +0.6525 +0.61875 +0.7925 +1.0087501 +1.27125 +1.5550001 +1.80875 +1.9675001 +1.9937501 +1.8812499 +1.6725 +1.4350001 +1.2275 +1.05875 +0.9187499 +0.79125 +0.67 +0.54625 +0.46875 +0.44375 +0.45999998 +0.48125 +0.46375 +0.3825 +0.26 +0.145 +0.065 +0.07749999 +0.18124999 +0.315 +0.4175 +0.45125002 +0.445 +0.40249997 +0.36875 +0.39375004 +0.5 +0.67999995 +0.8975 +1.10625 +1.26125 +1.33875 +1.3299999 +1.2524999 +1.1575 +1.0237501 +0.8575 +0.66625 +0.47000003 +0.28500003 +0.13 +0.065 +0.075 +0.15875 +0.26875 +0.335 +0.32625 +0.23624998 +0.1225 +0.04625 +0.015000001 +0.028749999 +0.10375 +0.18625 +0.22999999 +0.21000001 +0.1425 +0.105 +0.106249996 +0.1425 +0.21874999 +0.32875 +0.46999997 +0.61875 +0.7925 +1.0087501 +1.27125 +1.5550001 +1.80875 +1.9675001 +1.9937501 +1.8812499 +1.6725 +1.4350001 +1.2275 +1.05875 +0.9187499 +0.79125 +0.67 +0.54625 +0.46875 +0.44375 +0.45999998 +0.48125 +0.46375 +0.3825 +0.26 +0.145 +0.065 +0.07749999 +0.18124999 +0.315 +0.4175 +0.45125002 +0.445 +0.40249997 +0.36875 +0.39375004 +0.5 +0.67999995 +0.8975 +1.10625 +1.26125 +1.33875 +1.3299999 +1.2524999 +1.1575 +1.0237501 +0.8575 +0.66625 +0.47000003 +0.28500003 +0.13 +0.065 +0.075 +0.15875 +0.26875 +0.335 +0.32625 +0.23624998 +0.1225 +0.04625 +0.015000001 +0.028749999 +0.10375 +0.18625 +0.22999999 +0.21000001 +0.1425 +0.105 +0.106249996 +0.1425 +0.21874999 +0.32875 +0.46999997 +0.4075 +0.55125 +0.75499994 +1.0224999 +1.3287499 +1.6175001 +1.8162501 +1.88375 +1.8087499 +1.64 +1.43625 +1.275 +1.1587499 +1.06625 +0.97375 +0.86 +0.73875 +0.64374995 +0.6025 +0.61375 +0.64125 +0.635 +0.55625 +0.4075 +0.24124998 +0.12249999 +0.1025 +0.185 +0.3175 +0.42874998 +0.45999998 +0.41875002 +0.34125 +0.26250002 +0.24625 +0.32874998 +0.505 +0.72625 +0.93750006 +1.08375 +1.13625 +1.1025001 +1.0312499 +0.94375 +0.83125 +0.69375 +0.525 +0.33375 +0.15125 +0.03875 +0.0075 +0.01875 +0.1075 +0.22 +0.26999998 +0.225 +0.1125 +0.04 +0.0075 +0.0 +0.0075000003 +0.0625 +0.1425 +0.1725 +0.12625 +0.07875 +0.061249997 +0.0725 +0.10875 +0.16125 +0.22875 +0.31374997 +0.4075 +0.55125 +0.75499994 +1.0224999 +1.3287499 +1.6175001 +1.8162501 +1.88375 +1.8087499 +1.64 +1.43625 +1.275 +1.1587499 +1.06625 +0.97375 +0.86 +0.73875 +0.64374995 +0.6025 +0.61375 +0.64125 +0.635 +0.55625 +0.4075 +0.24124998 +0.12249999 +0.1025 +0.185 +0.3175 +0.42874998 +0.45999998 +0.41875002 +0.34125 +0.26250002 +0.24625 +0.32874998 +0.505 +0.72625 +0.93750006 +1.08375 +1.13625 +1.1025001 +1.0312499 +0.94375 +0.83125 +0.69375 +0.525 +0.33375 +0.15125 +0.03875 +0.0075 +0.01875 +0.1075 +0.22 +0.26999998 +0.225 +0.1125 +0.04 +0.0075 +0.0 +0.0075000003 +0.0625 +0.1425 +0.1725 +0.12625 +0.07875 +0.061249997 +0.0725 +0.10875 +0.16125 +0.22875 +0.31374997 +0.28625 +0.35375002 +0.53000003 +0.79125005 +1.10375 +1.405 +1.625 +1.7212498 +1.68875 +1.56625 +1.41625 +1.30625 +1.25 +1.21 +1.14875 +1.05125 +0.91375 +0.7925 +0.72999996 +0.72875 +0.75625 +0.75125 +0.6675 +0.5025 +0.32625002 +0.1725 +0.11999999 +0.19625 +0.335 +0.45374998 +0.485 +0.4425 +0.34125 +0.23374999 +0.195 +0.265 +0.4375 +0.66125 +0.86625004 +0.9975 +1.0274999 +0.9725 +0.8825 +0.80499995 +0.7175 +0.61 +0.46750003 +0.30375 +0.145 +0.026250001 +0.0 +0.0225 +0.11625 +0.22 +0.23875 +0.1575 +0.04625 +0.015000001 +0.0 +0.0 +0.0 +0.04375 +0.12625 +0.14375 +0.09625 +0.060000002 +0.04875 +0.0625 +0.095 +0.14625 +0.20125 +0.245 +0.28625 +0.35375002 +0.53000003 +0.79125005 +1.10375 +1.405 +1.625 +1.7212498 +1.68875 +1.56625 +1.41625 +1.30625 +1.25 +1.21 +1.14875 +1.05125 +0.91375 +0.7925 +0.72999996 +0.72875 +0.75625 +0.75125 +0.6675 +0.5025 +0.32625002 +0.1725 +0.11999999 +0.19625 +0.335 +0.45374998 +0.485 +0.4425 +0.34125 +0.23374999 +0.195 +0.265 +0.4375 +0.66125 +0.86625004 +0.9975 +1.0274999 +0.9725 +0.8825 +0.80499995 +0.7175 +0.61 +0.46750003 +0.30375 +0.145 +0.026250001 +0.0 +0.0225 +0.11625 +0.22 +0.23875 +0.1575 +0.04625 +0.015000001 +0.0 +0.0 +0.0 +0.04375 +0.12625 +0.14375 +0.09625 +0.060000002 +0.04875 +0.0625 +0.095 +0.14625 +0.20125 +0.245 +0.27375 +0.28875 +0.3975 +0.64625 +0.94875 +1.2425 +1.46125 +1.5687499 +1.56625 +1.48875 +1.3987501 +1.34125 +1.33 +1.33 +1.295 +1.19875 +1.0450001 +0.88124996 +0.7875 +0.78 +0.80625004 +0.80250007 +0.71875 +0.58875 +0.40624997 +0.24625 +0.18125 +0.23249999 +0.37874997 +0.50375 +0.5625 +0.52374995 +0.4125 +0.3 +0.26125 +0.33749998 +0.51375 +0.73749995 +0.935 +1.0487499 +1.05875 +0.99125004 +0.88624996 +0.79125 +0.72374994 +0.63624996 +0.53875 +0.40125 +0.24375 +0.114999995 +0.04 +0.0975 +0.21875 +0.30874997 +0.30125 +0.20125 +0.08 +0.03375 +0.01875 +0.0025 +0.027500002 +0.1275 +0.21749999 +0.21375 +0.14625 +0.07875 +0.065 +0.07375 +0.105 +0.155 +0.21125 +0.25625 +0.27375 +0.28875 +0.3975 +0.64625 +0.94875 +1.2425 +1.46125 +1.5687499 +1.56625 +1.48875 +1.3987501 +1.34125 +1.33 +1.33 +1.295 +1.19875 +1.0450001 +0.88124996 +0.7875 +0.78 +0.80625004 +0.80250007 +0.71875 +0.58875 +0.40624997 +0.24625 +0.18125 +0.23249999 +0.37874997 +0.50375 +0.5625 +0.52374995 +0.4125 +0.3 +0.26125 +0.33749998 +0.51375 +0.73749995 +0.935 +1.0487499 +1.05875 +0.99125004 +0.88624996 +0.79125 +0.72374994 +0.63624996 +0.53875 +0.40125 +0.24375 +0.114999995 +0.04 +0.0975 +0.21875 +0.30874997 +0.30125 +0.20125 +0.08 +0.03375 +0.01875 +0.0025 +0.027500002 +0.1275 +0.21749999 +0.21375 +0.14625 +0.07875 +0.065 +0.07375 +0.105 +0.155 +0.21125 +0.25625 +0.3025 +0.305 +0.38375 +0.60875 +0.89500004 +1.1637499 +1.3625 +1.4599999 +1.4699999 +1.4324999 +1.4 +1.3987501 +1.4287499 +1.4525001 +1.4200001 +1.30875 +1.13875 +0.96250004 +0.84 +0.8075 +0.83875006 +0.85 +0.80375004 +0.67375004 +0.49375004 +0.34124997 +0.28625 +0.34375 +0.47750005 +0.60625 +0.65999997 +0.61375004 +0.5075 +0.4075 +0.39249998 +0.48999998 +0.67875 +0.9025 +1.0899999 +1.1875 +1.1850001 +1.1112499 +1.00875 +0.9175 +0.84999996 +0.78499997 +0.6975 +0.56875 +0.41625 +0.29 +0.24000001 +0.28500003 +0.40125 +0.48875 +0.49249998 +0.38875 +0.23750001 +0.13000001 +0.09 +0.11500001 +0.225 +0.36875004 +0.44124997 +0.39875 +0.2825 +0.16624999 +0.10625 +0.10375 +0.13499999 +0.1825 +0.23875 +0.285 +0.3025 +0.305 +0.38375 +0.60875 +0.89500004 +1.1637499 +1.3625 +1.4599999 +1.4699999 +1.4324999 +1.4 +1.3987501 +1.4287499 +1.4525001 +1.4200001 +1.30875 +1.13875 +0.96250004 +0.84 +0.8075 +0.83875006 +0.85 +0.80375004 +0.67375004 +0.49375004 +0.34124997 +0.28625 +0.34375 +0.47750005 +0.60625 +0.65999997 +0.61375004 +0.5075 +0.4075 +0.39249998 +0.48999998 +0.67875 +0.9025 +1.0899999 +1.1875 +1.1850001 +1.1112499 +1.00875 +0.9175 +0.84999996 +0.78499997 +0.6975 +0.56875 +0.41625 +0.29 +0.24000001 +0.28500003 +0.40125 +0.48875 +0.49249998 +0.38875 +0.23750001 +0.13000001 +0.09 +0.11500001 +0.225 +0.36875004 +0.44124997 +0.39875 +0.2825 +0.16624999 +0.10625 +0.10375 +0.13499999 +0.1825 +0.23875 +0.285 +0.33 +0.33875 +0.43624997 +0.655 +0.91999996 +1.1575 +1.32 +1.3974999 +1.4112501 +1.4075 +1.42625 +1.47875 +1.54875 +1.58875 +1.5575 +1.4387499 +1.2637501 +1.09375 +0.98999995 +0.96625006 +0.99375 +1.0025 +0.93875 +0.79249996 +0.60625 +0.45625 +0.40625003 +0.46124998 +0.57624996 +0.67499995 +0.69874996 +0.64250004 +0.54375 +0.47375 +0.4925 +0.61625 +0.81375 +1.0300001 +1.20125 +1.285 +1.2774999 +1.20875 +1.115 +1.0350001 +0.97375 +0.9150001 +0.8312501 +0.71124995 +0.57875 +0.47624996 +0.45375 +0.52375 +0.64625 +0.74625 +0.7575 +0.66 +0.49875003 +0.3625 +0.33125 +0.42000002 +0.58 +0.7175 +0.75250006 +0.66625 +0.50375 +0.33875 +0.23499997 +0.20625 +0.22375 +0.2525 +0.27874997 +0.3125 +0.33 +0.33875 +0.43624997 +0.655 +0.91999996 +1.1575 +1.32 +1.3974999 +1.4112501 +1.4075 +1.42625 +1.47875 +1.54875 +1.58875 +1.5575 +1.4387499 +1.2637501 +1.09375 +0.98999995 +0.96625006 +0.99375 +1.0025 +0.93875 +0.79249996 +0.60625 +0.45625 +0.40625003 +0.46124998 +0.57624996 +0.67499995 +0.69874996 +0.64250004 +0.54375 +0.47375 +0.4925 +0.61625 +0.81375 +1.0300001 +1.20125 +1.285 +1.2774999 +1.20875 +1.115 +1.0350001 +0.97375 +0.9150001 +0.8312501 +0.71124995 +0.57875 +0.47624996 +0.45375 +0.52375 +0.64625 +0.74625 +0.7575 +0.66 +0.49875003 +0.3625 +0.33125 +0.42000002 +0.58 +0.7175 +0.75250006 +0.66625 +0.50375 +0.33875 +0.23499997 +0.20625 +0.22375 +0.2525 +0.27874997 +0.3125 +0.34625 +0.37875 +0.51 +0.7275 +0.975 +1.175 +1.30375 +1.35625 +1.3774999 +1.41 +1.48375 +1.5975001 +1.7125 +1.7825 +1.765 +1.66375 +1.51625 +1.38375 +1.315 +1.31125 +1.32875 +1.3025 +1.1875 +0.99 +0.77 +0.6025001 +0.53499997 +0.56 +0.63250005 +0.67875 +0.6575 +0.57875 +0.48624998 +0.44625 +0.495 +0.63374996 +0.82374996 +1.01625 +1.15625 +1.2225001 +1.21375 +1.15625 +1.08125 +1.01375 +0.9625 +0.90875006 +0.83375 +0.73375 +0.63 +0.56499994 +0.57750005 +0.675 +0.81499994 +0.93 +0.95500004 +0.87875 +0.75250006 +0.6575 +0.66125 +0.77624995 +0.93500006 +1.0525 +1.05375 +0.93375 +0.74125 +0.5625 +0.4525 +0.415 +0.4175 +0.40499997 +0.36375 +0.33875 +0.34625 +0.37875 +0.51 +0.7275 +0.975 +1.175 +1.30375 +1.35625 +1.3774999 +1.41 +1.48375 +1.5975001 +1.7125 +1.7825 +1.765 +1.66375 +1.51625 +1.38375 +1.315 +1.31125 +1.32875 +1.3025 +1.1875 +0.99 +0.77 +0.6025001 +0.53499997 +0.56 +0.63250005 +0.67875 +0.6575 +0.57875 +0.48624998 +0.44625 +0.495 +0.63374996 +0.82374996 +1.01625 +1.15625 +1.2225001 +1.21375 +1.15625 +1.08125 +1.01375 +0.9625 +0.90875006 +0.83375 +0.73375 +0.63 +0.56499994 +0.57750005 +0.675 +0.81499994 +0.93 +0.95500004 +0.87875 +0.75250006 +0.6575 +0.66125 +0.77624995 +0.93500006 +1.0525 +1.05375 +0.93375 +0.74125 +0.5625 +0.4525 +0.415 +0.4175 +0.40499997 +0.36375 +0.33875 +0.385 +0.43 +0.57250005 +0.7925 +1.01875 +1.19125 +1.28625 +1.325 +1.3587501 +1.4337499 +1.5725001 +1.76 +1.9412501 +2.06 +2.09125 +2.04 +1.9537499 +1.89125 +1.8775 +1.8924999 +1.885 +1.79 +1.585 +1.3025 +1.01625 +0.8 +0.69 +0.68874997 +0.70875 +0.67249995 +0.5725 +0.46249998 +0.37249997 +0.34875 +0.41250002 +0.54375 +0.7 +0.84250003 +0.93499994 +0.96875 +0.95625 +0.91125 +0.8575001 +0.83375 +0.8075 +0.75124997 +0.67125 +0.59874994 +0.535 +0.51 +0.55625 +0.67875 +0.83374995 +0.95875 +1.00125 +0.955 +0.87000006 +0.82125 +0.86875 +1.01 +1.1762501 +1.2787501 +1.26125 +1.1225001 +0.92499995 +0.75374997 +0.65625 +0.62874997 +0.62375 +0.59000003 +0.5112501 +0.42000002 +0.385 +0.43 +0.57250005 +0.7925 +1.01875 +1.19125 +1.28625 +1.325 +1.3587501 +1.4337499 +1.5725001 +1.76 +1.9412501 +2.06 +2.09125 +2.04 +1.9537499 +1.89125 +1.8775 +1.8924999 +1.885 +1.79 +1.585 +1.3025 +1.01625 +0.8 +0.69 +0.68874997 +0.70875 +0.67249995 +0.5725 +0.46249998 +0.37249997 +0.34875 +0.41250002 +0.54375 +0.7 +0.84250003 +0.93499994 +0.96875 +0.95625 +0.91125 +0.8575001 +0.83375 +0.8075 +0.75124997 +0.67125 +0.59874994 +0.535 +0.51 +0.55625 +0.67875 +0.83374995 +0.95875 +1.00125 +0.955 +0.87000006 +0.82125 +0.86875 +1.01 +1.1762501 +1.2787501 +1.26125 +1.1225001 +0.92499995 +0.75374997 +0.65625 +0.62874997 +0.62375 +0.59000003 +0.5112501 +0.42000002 +0.46749997 +0.49624997 +0.63874996 +0.85 +1.05875 +1.2075 +1.27875 +1.31 +1.36125 +1.4837501 +1.69125 +1.9575002 +2.2175 +2.4112499 +2.515 +2.54875 +2.5575 +2.58625 +2.63875 +2.68375 +2.66375 +2.46875 +2.1174998 +1.72 +1.3475001 +1.07875 +0.95625 +0.90875006 +0.85625 +0.7425 +0.57500005 +0.40375 +0.295 +0.27875 +0.34000003 +0.4425 +0.545 +0.60875005 +0.63375 +0.62249994 +0.5925 +0.57 +0.565 +0.565 +0.55375 +0.5125 +0.44125 +0.35875002 +0.32375 +0.3375 +0.42 +0.58625 +0.75375 +0.85 +0.88875 +0.87 +0.82624996 +0.82624996 +0.91749996 +1.0875 +1.2650001 +1.36625 +1.34375 +1.20875 +1.0275 +0.88125 +0.815 +0.8125 +0.81625 +0.77375007 +0.66625 +0.5425 +0.46749997 +0.49624997 +0.63874996 +0.85 +1.05875 +1.2075 +1.27875 +1.31 +1.36125 +1.4837501 +1.69125 +1.9575002 +2.2175 +2.4112499 +2.515 +2.54875 +2.5575 +2.58625 +2.63875 +2.68375 +2.66375 +2.46875 +2.1174998 +1.72 +1.3475001 +1.07875 +0.95625 +0.90875006 +0.85625 +0.7425 +0.57500005 +0.40375 +0.295 +0.27875 +0.34000003 +0.4425 +0.545 +0.60875005 +0.63375 +0.62249994 +0.5925 +0.57 +0.565 +0.565 +0.55375 +0.5125 +0.44125 +0.35875002 +0.32375 +0.3375 +0.42 +0.58625 +0.75375 +0.85 +0.88875 +0.87 +0.82624996 +0.82624996 +0.91749996 +1.0875 +1.2650001 +1.36625 +1.34375 +1.20875 +1.0275 +0.88125 +0.815 +0.8125 +0.81625 +0.77375007 +0.66625 +0.5425 +0.5725 +0.59250003 +0.72875 +0.93500006 +1.13125 +1.26125 +1.3149999 +1.33875 +1.4012501 +1.56125 +1.82625 +2.16 +2.4950001 +2.76625 +2.9575 +3.09 +3.205 +3.33125 +3.44625 +3.5275002 +3.4625 +3.1712499 +2.7062497 +2.1875 +1.74125 +1.4399999 +1.27375 +1.175 +1.06 +0.8825 +0.66875 +0.47875 +0.37124997 +0.35999998 +0.42000002 +0.49249998 +0.52875 +0.51 +0.44875 +0.37625003 +0.32 +0.29500002 +0.29250002 +0.29625002 +0.29 +0.2575 +0.2 +0.14625 +0.12625 +0.1625 +0.2725 +0.44374996 +0.6025 +0.68125 +0.695 +0.69500005 +0.68750006 +0.73625004 +0.86875004 +1.0662501 +1.26 +1.365 +1.345 +1.22 +1.06375 +0.95125 +0.92125 +0.94875 +0.97 +0.9275 +0.81 +0.66625 +0.5725 +0.59250003 +0.72875 +0.93500006 +1.13125 +1.26125 +1.3149999 +1.33875 +1.4012501 +1.56125 +1.82625 +2.16 +2.4950001 +2.76625 +2.9575 +3.09 +3.205 +3.33125 +3.44625 +3.5275002 +3.4625 +3.1712499 +2.7062497 +2.1875 +1.74125 +1.4399999 +1.27375 +1.175 +1.06 +0.8825 +0.66875 +0.47875 +0.37124997 +0.35999998 +0.42000002 +0.49249998 +0.52875 +0.51 +0.44875 +0.37625003 +0.32 +0.29500002 +0.29250002 +0.29625002 +0.29 +0.2575 +0.2 +0.14625 +0.12625 +0.1625 +0.2725 +0.44374996 +0.6025 +0.68125 +0.695 +0.69500005 +0.68750006 +0.73625004 +0.86875004 +1.0662501 +1.26 +1.365 +1.345 +1.22 +1.06375 +0.95125 +0.92125 +0.94875 +0.97 +0.9275 +0.81 +0.66625 +0.7025 +0.73 +0.875 +1.08375 +1.2725 +1.38375 +1.4162501 +1.4212501 +1.48 +1.65375 +1.9475 +2.32125 +2.70125 +3.0299997 +3.29125 +3.5075002 +3.7175002 +3.9225001 +4.08625 +4.16125 +4.05125 +3.68 +3.1287498 +2.5412502 +2.0562499 +1.73125 +1.5525 +1.4312501 +1.28 +1.06875 +0.83375 +0.6425 +0.5525 +0.55625 +0.615 +0.65875 +0.64 +0.55125 +0.425 +0.3025 +0.21999998 +0.1775 +0.16875 +0.165 +0.14750001 +0.106249996 +0.052500002 +0.0275 +0.02375 +0.051249996 +0.1475 +0.31625 +0.46249998 +0.52374995 +0.54 +0.54999995 +0.57374996 +0.65999997 +0.83375 +1.06125 +1.26875 +1.37875 +1.3575001 +1.235 +1.09 +1.0 +0.99625003 +1.045 +1.08 +1.045 +0.93125004 +0.78999996 +0.7025 +0.73 +0.875 +1.08375 +1.2725 +1.38375 +1.4162501 +1.4212501 +1.48 +1.65375 +1.9475 +2.32125 +2.70125 +3.0299997 +3.29125 +3.5075002 +3.7175002 +3.9225001 +4.08625 +4.16125 +4.05125 +3.68 +3.1287498 +2.5412502 +2.0562499 +1.73125 +1.5525 +1.4312501 +1.28 +1.06875 +0.83375 +0.6425 +0.5525 +0.55625 +0.615 +0.65875 +0.64 +0.55125 +0.425 +0.3025 +0.21999998 +0.1775 +0.16875 +0.165 +0.14750001 +0.106249996 +0.052500002 +0.0275 +0.02375 +0.051249996 +0.1475 +0.31625 +0.46249998 +0.52374995 +0.54 +0.54999995 +0.57374996 +0.65999997 +0.83375 +1.06125 +1.26875 +1.37875 +1.3575001 +1.235 +1.09 +1.0 +0.99625003 +1.045 +1.08 +1.045 +0.93125004 +0.78999996 +0.86375004 +0.92125005 +1.08875 +1.3025 +1.4812498 +1.5700002 +1.56875 +1.54 +1.5699999 +1.72625 +2.01125 +2.3825002 +2.77 +3.11625 +3.4062502 +3.66875 +3.9274998 +4.17625 +4.3625 +4.39625 +4.24625 +3.825 +3.25625 +2.68625 +2.2125 +1.8925 +1.7025 +1.5925 +1.44 +1.2262499 +1.03 +0.88125 +0.81499994 +0.82625 +0.86875004 +0.8925 +0.85125 +0.73 +0.58375 +0.46625 +0.38625002 +0.33374998 +0.29 +0.24125001 +0.2025 +0.13874999 +0.07 +0.05625 +0.066250004 +0.07875 +0.14 +0.28000003 +0.415 +0.46625 +0.50874996 +0.52750003 +0.575 +0.70125 +0.9125 +1.1724999 +1.395 +1.5024999 +1.46875 +1.33125 +1.17375 +1.0775 +1.0737499 +1.12375 +1.1625 +1.13625 +1.0375 +0.92125005 +0.86375004 +0.92125005 +1.08875 +1.3025 +1.4812498 +1.5700002 +1.56875 +1.54 +1.5699999 +1.72625 +2.01125 +2.3825002 +2.77 +3.11625 +3.4062502 +3.66875 +3.9274998 +4.17625 +4.3625 +4.39625 +4.24625 +3.825 +3.25625 +2.68625 +2.2125 +1.8925 +1.7025 +1.5925 +1.44 +1.2262499 +1.03 +0.88125 +0.81499994 +0.82625 +0.86875004 +0.8925 +0.85125 +0.73 +0.58375 +0.46625 +0.38625002 +0.33374998 +0.29 +0.24125001 +0.2025 +0.13874999 +0.07 +0.05625 +0.066250004 +0.07875 +0.14 +0.28000003 +0.415 +0.46625 +0.50874996 +0.52750003 +0.575 +0.70125 +0.9125 +1.1724999 +1.395 +1.5024999 +1.46875 +1.33125 +1.17375 +1.0775 +1.0737499 +1.12375 +1.1625 +1.13625 +1.0375 +0.92125005 +1.04875 +1.1424999 +1.3325001 +1.55 +1.70875 +1.7612499 +1.7162501 +1.6387501 +1.625 +1.73625 +1.9800001 +2.31 +2.65875 +2.9737499 +3.24625 +3.49875 +3.7562501 +4.005 +4.18125 +4.1974998 +3.9924996 +3.58 +3.0462499 +2.5187502 +2.105 +1.84875 +1.7125001 +1.62 +1.4975 +1.33 +1.15625 +1.03 +0.99125004 +1.0274999 +1.08875 +1.115 +1.07625 +0.98125005 +0.86375 +0.76 +0.69 +0.645 +0.60375 +0.54999995 +0.47625 +0.38500002 +0.295 +0.23125 +0.20499998 +0.22124998 +0.2925 +0.40249997 +0.51124996 +0.58624995 +0.62375 +0.65625 +0.73125 +0.89750004 +1.1537501 +1.44375 +1.6787499 +1.7825 +1.7275 +1.5600001 +1.36875 +1.23875 +1.20375 +1.22875 +1.25375 +1.22875 +1.14875 +1.0649999 +1.04875 +1.1424999 +1.3325001 +1.55 +1.70875 +1.7612499 +1.7162501 +1.6387501 +1.625 +1.73625 +1.9800001 +2.31 +2.65875 +2.9737499 +3.24625 +3.49875 +3.7562501 +4.005 +4.18125 +4.1974998 +3.9924996 +3.58 +3.0462499 +2.5187502 +2.105 +1.84875 +1.7125001 +1.62 +1.4975 +1.33 +1.15625 +1.03 +0.99125004 +1.0274999 +1.08875 +1.115 +1.07625 +0.98125005 +0.86375 +0.76 +0.69 +0.645 +0.60375 +0.54999995 +0.47625 +0.38500002 +0.295 +0.23125 +0.20499998 +0.22124998 +0.2925 +0.40249997 +0.51124996 +0.58624995 +0.62375 +0.65625 +0.73125 +0.89750004 +1.1537501 +1.44375 +1.6787499 +1.7825 +1.7275 +1.5600001 +1.36875 +1.23875 +1.20375 +1.22875 +1.25375 +1.22875 +1.14875 +1.0649999 +1.2337501 +1.3525 +1.55 +1.75375 +1.88 +1.88 +1.7812501 +1.6537501 +1.5887499 +1.65 +1.83875 +2.105 +2.3837502 +2.6287498 +2.8362498 +3.03375 +3.2437503 +3.44875 +3.58875 +3.5837498 +3.37625 +2.98875 +2.51125 +2.06 +1.73375 +1.5562501 +1.48875 +1.44625 +1.365 +1.2325001 +1.0875 +0.98875 +0.97 +1.02625 +1.10875 +1.16875 +1.17125 +1.1225 +1.05125 +0.99 +0.95125 +0.93 +0.90625006 +0.8675 +0.79875 +0.70500004 +0.6 +0.5075 +0.45125 +0.45375 +0.51875 +0.62125 +0.72375 +0.79875004 +0.84375 +0.89500004 +1.0074999 +1.2212499 +1.52625 +1.8575001 +2.1125 +2.21125 +2.13375 +1.9287502 +1.6925 +1.51125 +1.4237499 +1.4024999 +1.3975 +1.3525 +1.27875 +1.22 +1.2337501 +1.3525 +1.55 +1.75375 +1.88 +1.88 +1.7812501 +1.6537501 +1.5887499 +1.65 +1.83875 +2.105 +2.3837502 +2.6287498 +2.8362498 +3.03375 +3.2437503 +3.44875 +3.58875 +3.5837498 +3.37625 +2.98875 +2.51125 +2.06 +1.73375 +1.5562501 +1.48875 +1.44625 +1.365 +1.2325001 +1.0875 +0.98875 +0.97 +1.02625 +1.10875 +1.16875 +1.17125 +1.1225 +1.05125 +0.99 +0.95125 +0.93 +0.90625006 +0.8675 +0.79875 +0.70500004 +0.6 +0.5075 +0.45125 +0.45375 +0.51875 +0.62125 +0.72375 +0.79875004 +0.84375 +0.89500004 +1.0074999 +1.2212499 +1.52625 +1.8575001 +2.1125 +2.21125 +2.13375 +1.9287502 +1.6925 +1.51125 +1.4237499 +1.4024999 +1.3975 +1.3525 +1.27875 +1.22 +1.3975 +1.51 +1.68625 +1.84875 +1.92 +1.8650001 +1.71375 +1.5425 +1.4425001 +1.4612501 +1.59875 +1.8 +2.00125 +2.15875 +2.28 +2.39375 +2.5262501 +2.6687498 +2.7625 +2.7324998 +2.54 +2.20125 +1.7975 +1.43875 +1.20375 +1.1062499 +1.09875 +1.10375 +1.06125 +0.9625 +0.84250003 +0.7575 +0.74875003 +0.80749995 +0.90125 +0.9862501 +1.035 +1.04375 +1.03 +1.0187501 +1.0175 +1.03 +1.0450001 +1.04125 +1.0074999 +0.93750006 +0.8399999 +0.74375004 +0.6775 +0.66749996 +0.7275 +0.83124995 +0.94125 +1.02625 +1.095 +1.1787499 +1.3375001 +1.6100001 +1.9737501 +2.3474998 +2.6287498 +2.73125 +2.6399999 +2.40625 +2.12875 +1.89625 +1.7512499 +1.6700001 +1.60875 +1.53 +1.44 +1.3775 +1.3975 +1.51 +1.68625 +1.84875 +1.92 +1.8650001 +1.71375 +1.5425 +1.4425001 +1.4612501 +1.59875 +1.8 +2.00125 +2.15875 +2.28 +2.39375 +2.5262501 +2.6687498 +2.7625 +2.7324998 +2.54 +2.20125 +1.7975 +1.43875 +1.20375 +1.1062499 +1.09875 +1.10375 +1.06125 +0.9625 +0.84250003 +0.7575 +0.74875003 +0.80749995 +0.90125 +0.9862501 +1.035 +1.04375 +1.03 +1.0187501 +1.0175 +1.03 +1.0450001 +1.04125 +1.0074999 +0.93750006 +0.8399999 +0.74375004 +0.6775 +0.66749996 +0.7275 +0.83124995 +0.94125 +1.02625 +1.095 +1.1787499 +1.3375001 +1.6100001 +1.9737501 +2.3474998 +2.6287498 +2.73125 +2.6399999 +2.40625 +2.12875 +1.89625 +1.7512499 +1.6700001 +1.60875 +1.53 +1.44 +1.3775 +1.505 +1.5812501 +1.7049999 +1.80375 +1.8075 +1.6975 +1.5074999 +1.3149999 +1.1999999 +1.205 +1.3112501 +1.4625001 +1.5925 +1.66625 +1.6999999 +1.7325001 +1.7900002 +1.87 +1.9225 +1.8825 +1.74875 +1.45375 +1.11375 +0.845 +0.69000006 +0.65375 +0.69000006 +0.75 +0.7325 +0.635 +0.53499997 +0.45499998 +0.43249997 +0.47249997 +0.555 +0.65875 +0.74375 +0.78625005 +0.80249995 +0.8275 +0.8575 +0.90374994 +0.95750004 +1.0050001 +1.05 +1.0325 +0.9475 +0.8675 +0.80625004 +0.80125004 +0.86125 +0.99625003 +1.14 +1.21875 +1.3225001 +1.45875 +1.67875 +2.0125 +2.4325 +2.85125 +3.155 +3.26625 +3.1687498 +2.9225001 +2.62 +2.35 +2.1537502 +2.0125 +1.88625 +1.75125 +1.61375 +1.5175 +1.505 +1.5812501 +1.7049999 +1.80375 +1.8075 +1.6975 +1.5074999 +1.3149999 +1.1999999 +1.205 +1.3112501 +1.4625001 +1.5925 +1.66625 +1.6999999 +1.7325001 +1.7900002 +1.87 +1.9225 +1.8825 +1.74875 +1.45375 +1.11375 +0.845 +0.69000006 +0.65375 +0.69000006 +0.75 +0.7325 +0.635 +0.53499997 +0.45499998 +0.43249997 +0.47249997 +0.555 +0.65875 +0.74375 +0.78625005 +0.80249995 +0.8275 +0.8575 +0.90374994 +0.95750004 +1.0050001 +1.05 +1.0325 +0.9475 +0.8675 +0.80625004 +0.80125004 +0.86125 +0.99625003 +1.14 +1.21875 +1.3225001 +1.45875 +1.67875 +2.0125 +2.4325 +2.85125 +3.155 +3.26625 +3.1687498 +2.9225001 +2.62 +2.35 +2.1537502 +2.0125 +1.88625 +1.75125 +1.61375 +1.5175 +1.53625 +1.5474999 +1.6025 +1.62625 +1.5662501 +1.4100001 +1.2025 +1.01375 +0.9125 +0.9262499 +1.0225 +1.1425 +1.22 +1.2337499 +1.2037499 +1.17625 +1.185 +1.225 +1.25625 +1.2537501 +1.1587499 +0.93250006 +0.65749997 +0.43999997 +0.34875 +0.3775 +0.475 +0.55 +0.5475 +0.46249998 +0.33625 +0.22625 +0.17750001 +0.19375001 +0.26375 +0.355 +0.43625 +0.48875 +0.515 +0.5325 +0.5675 +0.63625 +0.74875 +0.87874997 +0.985 +1.025 +0.98625004 +0.90374994 +0.84000003 +0.84749997 +0.94875 +1.115 +1.2825 +1.3950001 +1.52 +1.72 +2.005 +2.3975 +2.86125 +3.305 +3.6225002 +3.7375002 +3.6425 +3.3975003 +3.0900002 +2.79875 +2.56125 +2.36 +2.1675 +1.9625001 +1.7625 +1.6075 +1.53625 +1.5474999 +1.6025 +1.62625 +1.5662501 +1.4100001 +1.2025 +1.01375 +0.9125 +0.9262499 +1.0225 +1.1425 +1.22 +1.2337499 +1.2037499 +1.17625 +1.185 +1.225 +1.25625 +1.2537501 +1.1587499 +0.93250006 +0.65749997 +0.43999997 +0.34875 +0.3775 +0.475 +0.55 +0.5475 +0.46249998 +0.33625 +0.22625 +0.17750001 +0.19375001 +0.26375 +0.355 +0.43625 +0.48875 +0.515 +0.5325 +0.5675 +0.63625 +0.74875 +0.87874997 +0.985 +1.025 +0.98625004 +0.90374994 +0.84000003 +0.84749997 +0.94875 +1.115 +1.2825 +1.3950001 +1.52 +1.72 +2.005 +2.3975 +2.86125 +3.305 +3.6225002 +3.7375002 +3.6425 +3.3975003 +3.0900002 +2.79875 +2.56125 +2.36 +2.1675 +1.9625001 +1.7625 +1.6075 +1.475 +1.41875 +1.39875 +1.3562499 +1.24375 +1.06125 +0.855 +0.68874997 +0.62 +0.6575 +0.76125 +0.86499995 +0.91625 +0.89750004 +0.83625 +0.78499997 +0.78000003 +0.815 +0.84875 +0.87 +0.8125 +0.64625 +0.44625 +0.29999998 +0.25875 +0.32 +0.425 +0.5 +0.5 +0.425 +0.30625 +0.18875 +0.1125 +0.0925 +0.114999995 +0.1625 +0.215 +0.255 +0.27625 +0.29625 +0.33125 +0.41 +0.53999996 +0.69874996 +0.84125 +0.9250001 +0.93000007 +0.88249993 +0.84125 +0.8675 +0.98625004 +1.1675 +1.3612499 +1.5224999 +1.69875 +1.9612501 +2.30375 +2.7375 +3.21875 +3.6574998 +3.96375 +4.0662503 +3.96875 +3.7325003 +3.43375 +3.1387498 +2.875 +2.6275 +2.3712502 +2.09625 +1.83 +1.6125 +1.475 +1.41875 +1.39875 +1.3562499 +1.24375 +1.06125 +0.855 +0.68874997 +0.62 +0.6575 +0.76125 +0.86499995 +0.91625 +0.89750004 +0.83625 +0.78499997 +0.78000003 +0.815 +0.84875 +0.87 +0.8125 +0.64625 +0.44625 +0.29999998 +0.25875 +0.32 +0.425 +0.5 +0.5 +0.425 +0.30625 +0.18875 +0.1125 +0.0925 +0.114999995 +0.1625 +0.215 +0.255 +0.27625 +0.29625 +0.33125 +0.41 +0.53999996 +0.69874996 +0.84125 +0.9250001 +0.93000007 +0.88249993 +0.84125 +0.8675 +0.98625004 +1.1675 +1.3612499 +1.5224999 +1.69875 +1.9612501 +2.30375 +2.7375 +3.21875 +3.6574998 +3.96375 +4.0662503 +3.96875 +3.7325003 +3.43375 +3.1387498 +2.875 +2.6275 +2.3712502 +2.09625 +1.83 +1.6125 +1.315 +1.20375 +1.1275 +1.0375 +0.895 +0.70375 +0.51375 +0.3975 +0.36374998 +0.41750002 +0.53375006 +0.63125 +0.66749996 +0.63875 +0.57875 +0.54375 +0.55875003 +0.61249995 +0.66625 +0.68375 +0.65 +0.52874994 +0.38624996 +0.31375003 +0.315 +0.37499997 +0.47750002 +0.54375005 +0.54125005 +0.47 +0.3625 +0.2525 +0.17874998 +0.1425 +0.12875 +0.13499999 +0.15625 +0.17250001 +0.18375 +0.19625 +0.21875 +0.28500003 +0.40875 +0.5675 +0.71625006 +0.81375 +0.8425 +0.82000005 +0.8225 +0.87 +0.9875 +1.1875 +1.4075 +1.615 +1.8687501 +2.18125 +2.56125 +3.0025 +3.4600003 +3.8562503 +4.11125 +4.18125 +4.07625 +3.84875 +3.56625 +3.2824998 +3.0087497 +2.72875 +2.4237502 +2.0974998 +1.77625 +1.5049999 +1.315 +1.20375 +1.1275 +1.0375 +0.895 +0.70375 +0.51375 +0.3975 +0.36374998 +0.41750002 +0.53375006 +0.63125 +0.66749996 +0.63875 +0.57875 +0.54375 +0.55875003 +0.61249995 +0.66625 +0.68375 +0.65 +0.52874994 +0.38624996 +0.31375003 +0.315 +0.37499997 +0.47750002 +0.54375005 +0.54125005 +0.47 +0.3625 +0.2525 +0.17874998 +0.1425 +0.12875 +0.13499999 +0.15625 +0.17250001 +0.18375 +0.19625 +0.21875 +0.28500003 +0.40875 +0.5675 +0.71625006 +0.81375 +0.8425 +0.82000005 +0.8225 +0.87 +0.9875 +1.1875 +1.4075 +1.615 +1.8687501 +2.18125 +2.56125 +3.0025 +3.4600003 +3.8562503 +4.11125 +4.18125 +4.07625 +3.84875 +3.56625 +3.2824998 +3.0087497 +2.72875 +2.4237502 +2.0974998 +1.77625 +1.5049999 +1.08375 +0.93625003 +0.8262501 +0.71000004 +0.5575 +0.39375 +0.255 +0.20625001 +0.215 +0.24749999 +0.32125 +0.41375 +0.44375002 +0.42249998 +0.39124998 +0.39 +0.44500002 +0.5325 +0.60625005 +0.6225 +0.57 +0.48375 +0.40625 +0.3825 +0.4175 +0.48250002 +0.53999996 +0.58 +0.57000005 +0.50625 +0.42624998 +0.37875 +0.34750003 +0.32625 +0.315 +0.31249997 +0.315 +0.32125 +0.32375 +0.325 +0.33375 +0.36249998 +0.42624998 +0.54499996 +0.6675 +0.75 +0.79125 +0.82625 +0.85875 +0.92375 +1.0450001 +1.22625 +1.455 +1.7199999 +2.0162501 +2.3537498 +2.7350001 +3.1437502 +3.5349998 +3.84625 +4.025 +4.04 +3.92 +3.7074997 +3.4524999 +3.19125 +2.9225001 +2.6275 +2.29875 +1.9450002 +1.5999999 +1.30375 +1.08375 +0.93625003 +0.8262501 +0.71000004 +0.5575 +0.39375 +0.255 +0.20625001 +0.215 +0.24749999 +0.32125 +0.41375 +0.44375002 +0.42249998 +0.39124998 +0.39 +0.44500002 +0.5325 +0.60625005 +0.6225 +0.57 +0.48375 +0.40625 +0.3825 +0.4175 +0.48250002 +0.53999996 +0.58 +0.57000005 +0.50625 +0.42624998 +0.37875 +0.34750003 +0.32625 +0.315 +0.31249997 +0.315 +0.32125 +0.32375 +0.325 +0.33375 +0.36249998 +0.42624998 +0.54499996 +0.6675 +0.75 +0.79125 +0.82625 +0.85875 +0.92375 +1.0450001 +1.22625 +1.455 +1.7199999 +2.0162501 +2.3537498 +2.7350001 +3.1437502 +3.5349998 +3.84625 +4.025 +4.04 +3.92 +3.7074997 +3.4524999 +3.19125 +2.9225001 +2.6275 +2.29875 +1.9450002 +1.5999999 +1.30375 +0.83 +0.66749996 +0.54625005 +0.4275 +0.29375 +0.1875 +0.1575 +0.16625 +0.16625 +0.16250001 +0.17625001 +0.21 +0.23625 +0.23624998 +0.24 +0.27750003 +0.3675 +0.48 +0.56 +0.56875 +0.5075 +0.42125 +0.36624998 +0.37 +0.42875004 +0.50624996 +0.55875003 +0.56374997 +0.5325 +0.48999995 +0.46249998 +0.4625 +0.48000002 +0.5025 +0.52 +0.53625 +0.55125 +0.5675 +0.58 +0.5875 +0.5875 +0.59124994 +0.61375 +0.65875 +0.71875 +0.77625 +0.82625 +0.86875 +0.9175 +0.99625 +1.125 +1.3062501 +1.53625 +1.8074999 +2.10875 +2.4399998 +2.78875 +3.125 +3.4175003 +3.61875 +3.7 +3.65875 +3.5237498 +3.3325 +3.1150002 +2.8875 +2.6412501 +2.36125 +2.04125 +1.6937501 +1.35375 +1.0587499 +0.83 +0.66749996 +0.54625005 +0.4275 +0.29375 +0.1875 +0.1575 +0.16625 +0.16625 +0.16250001 +0.17625001 +0.21 +0.23625 +0.23624998 +0.24 +0.27750003 +0.3675 +0.48 +0.56 +0.56875 +0.5075 +0.42125 +0.36624998 +0.37 +0.42875004 +0.50624996 +0.55875003 +0.56374997 +0.5325 +0.48999995 +0.46249998 +0.4625 +0.48000002 +0.5025 +0.52 +0.53625 +0.55125 +0.5675 +0.58 +0.5875 +0.5875 +0.59124994 +0.61375 +0.65875 +0.71875 +0.77625 +0.82625 +0.86875 +0.9175 +0.99625 +1.125 +1.3062501 +1.53625 +1.8074999 +2.10875 +2.4399998 +2.78875 +3.125 +3.4175003 +3.61875 +3.7 +3.65875 +3.5237498 +3.3325 +3.1150002 +2.8875 +2.6412501 +2.36125 +2.04125 +1.6937501 +1.35375 +1.0587499 +0.63 +0.47 +0.34749997 +0.2425 +0.16875 +0.135 +0.13125 +0.13625 +0.13625 +0.12125 +0.098749995 +0.08625 +0.0875 +0.1 +0.13375 +0.19375001 +0.29250002 +0.41 +0.47875 +0.46125 +0.375 +0.28125 +0.24125 +0.26 +0.32125 +0.40124997 +0.4525 +0.45125002 +0.41750002 +0.38875002 +0.39375 +0.44375002 +0.5125 +0.58375 +0.64625 +0.695 +0.74125 +0.78999996 +0.83875 +0.86750007 +0.87125003 +0.85375 +0.82875 +0.81250006 +0.81125 +0.8262501 +0.85625 +0.9025 +0.96875 +1.06375 +1.195 +1.3687501 +1.5875 +1.84 +2.1225 +2.41875 +2.7062497 +2.9524999 +3.1274998 +3.21 +3.2000003 +3.10875 +2.9700003 +2.8075 +2.64 +2.4625 +2.2624998 +2.02375 +1.74375 +1.4375 +1.13 +0.855 +0.63 +0.47 +0.34749997 +0.2425 +0.16875 +0.135 +0.13125 +0.13625 +0.13625 +0.12125 +0.098749995 +0.08625 +0.0875 +0.1 +0.13375 +0.19375001 +0.29250002 +0.41 +0.47875 +0.46125 +0.375 +0.28125 +0.24125 +0.26 +0.32125 +0.40124997 +0.4525 +0.45125002 +0.41750002 +0.38875002 +0.39375 +0.44375002 +0.5125 +0.58375 +0.64625 +0.695 +0.74125 +0.78999996 +0.83875 +0.86750007 +0.87125003 +0.85375 +0.82875 +0.81250006 +0.81125 +0.8262501 +0.85625 +0.9025 +0.96875 +1.06375 +1.195 +1.3687501 +1.5875 +1.84 +2.1225 +2.41875 +2.7062497 +2.9524999 +3.1274998 +3.21 +3.2000003 +3.10875 +2.9700003 +2.8075 +2.64 +2.4625 +2.2624998 +2.02375 +1.74375 +1.4375 +1.13 +0.855 +0.55625004 +0.38374996 +0.26749998 +0.18125 +0.13125 +0.1025 +0.09625 +0.1 +0.10125 +0.08875 +0.065 +0.03875 +0.0275 +0.035 +0.065 +0.13 +0.23625 +0.34374997 +0.38750002 +0.34124997 +0.23374999 +0.12875 +0.105 +0.13875 +0.19250001 +0.24875002 +0.29375 +0.29 +0.26125 +0.24875 +0.28 +0.36250004 +0.4675 +0.57375 +0.66625 +0.74875003 +0.8375 +0.93125004 +1.025 +1.0875001 +1.1025 +1.0675 +1.0 +0.92375004 +0.86749995 +0.8475 +0.86875 +0.925 +1.01125 +1.1225 +1.2562499 +1.42 +1.6200001 +1.8375 +2.07875 +2.3225 +2.5325 +2.6812499 +2.7450001 +2.7262502 +2.63875 +2.51375 +2.38625 +2.2637498 +2.1525 +2.03625 +1.9037501 +1.7312499 +1.5212501 +1.2812501 +1.025 +0.7775 +0.55625004 +0.38374996 +0.26749998 +0.18125 +0.13125 +0.1025 +0.09625 +0.1 +0.10125 +0.08875 +0.065 +0.03875 +0.0275 +0.035 +0.065 +0.13 +0.23625 +0.34374997 +0.38750002 +0.34124997 +0.23374999 +0.12875 +0.105 +0.13875 +0.19250001 +0.24875002 +0.29375 +0.29 +0.26125 +0.24875 +0.28 +0.36250004 +0.4675 +0.57375 +0.66625 +0.74875003 +0.8375 +0.93125004 +1.025 +1.0875001 +1.1025 +1.0675 +1.0 +0.92375004 +0.86749995 +0.8475 +0.86875 +0.925 +1.01125 +1.1225 +1.2562499 +1.42 +1.6200001 +1.8375 +2.07875 +2.3225 +2.5325 +2.6812499 +2.7450001 +2.7262502 +2.63875 +2.51375 +2.38625 +2.2637498 +2.1525 +2.03625 +1.9037501 +1.7312499 +1.5212501 +1.2812501 +1.025 +0.7775 +0.65375 +0.44749996 +0.285 +0.17999999 +0.1125 +0.07375 +0.065 +0.0675 +0.06875 +0.0625 +0.04875 +0.0275 +0.01625 +0.018749999 +0.051250003 +0.12875 +0.23875001 +0.335 +0.38250002 +0.34 +0.21875 +0.0875 +0.028749999 +0.065 +0.12 +0.17375 +0.19999999 +0.19500001 +0.18625 +0.17375 +0.215 +0.305 +0.41375 +0.52375 +0.62624997 +0.73249996 +0.8575001 +0.99875003 +1.1374999 +1.2349999 +1.2650001 +1.2175 +1.12 +1.0075 +0.9250001 +0.87249994 +0.89625 +0.96999997 +1.07875 +1.205 +1.34 +1.525 +1.7112501 +1.8887501 +2.05125 +2.2037501 +2.3375 +2.4 +2.375 +2.28 +2.14625 +2.0075002 +1.89625 +1.8175001 +1.76375 +1.715 +1.65375 +1.56625 +1.4437499 +1.2850001 +1.0899999 +0.87125 +0.65375 +0.44749996 +0.285 +0.17999999 +0.1125 +0.07375 +0.065 +0.0675 +0.06875 +0.0625 +0.04875 +0.0275 +0.01625 +0.018749999 +0.051250003 +0.12875 +0.23875001 +0.335 +0.38250002 +0.34 +0.21875 +0.0875 +0.028749999 +0.065 +0.12 +0.17375 +0.19999999 +0.19500001 +0.18625 +0.17375 +0.215 +0.305 +0.41375 +0.52375 +0.62624997 +0.73249996 +0.8575001 +0.99875003 +1.1374999 +1.2349999 +1.2650001 +1.2175 +1.12 +1.0075 +0.9250001 +0.87249994 +0.89625 +0.96999997 +1.07875 +1.205 +1.34 +1.525 +1.7112501 +1.8887501 +2.05125 +2.2037501 +2.3375 +2.4 +2.375 +2.28 +2.14625 +2.0075002 +1.89625 +1.8175001 +1.76375 +1.715 +1.65375 +1.56625 +1.4437499 +1.2850001 +1.0899999 +0.87125 +0.90125 +0.67375 +0.46625 +0.30499995 +0.195 +0.1425 +0.12625 +0.1275 +0.13624999 +0.14375 +0.1425 +0.13624999 +0.12625 +0.12375 +0.14750001 +0.22625 +0.33874997 +0.44625 +0.49375004 +0.45125 +0.33625 +0.20500001 +0.125 +0.11625 +0.16875 +0.22 +0.26 +0.27625 +0.26624998 +0.25625 +0.26375 +0.32750002 +0.41625 +0.5025 +0.59874994 +0.7175 +0.87125003 +1.0562499 +1.2325001 +1.3625 +1.40625 +1.35625 +1.25375 +1.15 +1.0575 +1.005 +1.0074999 +1.08375 +1.2099999 +1.3475001 +1.5175 +1.68125 +1.82875 +1.95625 +2.0612502 +2.14 +2.185 +2.18125 +2.105 +1.9825 +1.8287499 +1.68125 +1.57625 +1.52875 +1.52 +1.53 +1.54375 +1.545 +1.5125 +1.4387499 +1.3075001 +1.12125 +0.90125 +0.67375 +0.46625 +0.30499995 +0.195 +0.1425 +0.12625 +0.1275 +0.13624999 +0.14375 +0.1425 +0.13624999 +0.12625 +0.12375 +0.14750001 +0.22625 +0.33874997 +0.44625 +0.49375004 +0.45125 +0.33625 +0.20500001 +0.125 +0.11625 +0.16875 +0.22 +0.26 +0.27625 +0.26624998 +0.25625 +0.26375 +0.32750002 +0.41625 +0.5025 +0.59874994 +0.7175 +0.87125003 +1.0562499 +1.2325001 +1.3625 +1.40625 +1.35625 +1.25375 +1.15 +1.0575 +1.005 +1.0074999 +1.08375 +1.2099999 +1.3475001 +1.5175 +1.68125 +1.82875 +1.95625 +2.0612502 +2.14 +2.185 +2.18125 +2.105 +1.9825 +1.8287499 +1.68125 +1.57625 +1.52875 +1.52 +1.53 +1.54375 +1.545 +1.5125 +1.4387499 +1.3075001 +1.12125 +1.21875 +0.97999996 +0.7575 +0.58375 +0.46499997 +0.40125 +0.37624997 +0.37625 +0.38625 +0.39624998 +0.39375 +0.39 +0.36999997 +0.35000002 +0.36 +0.41625002 +0.51125 +0.6075 +0.65624994 +0.635 +0.5525 +0.44750002 +0.36874998 +0.34125 +0.36375 +0.40249997 +0.4325 +0.435 +0.41875 +0.39874998 +0.38875 +0.41750002 +0.47375 +0.54125 +0.62875 +0.76000005 +0.9425 +1.15875 +1.36625 +1.5174999 +1.5737499 +1.53375 +1.4462498 +1.35 +1.2637501 +1.2175 +1.2262499 +1.2950001 +1.4175 +1.5625 +1.7137501 +1.84625 +1.95 +2.02125 +2.065 +2.085 +2.07625 +2.03 +1.9375 +1.80875 +1.66 +1.5200001 +1.4175 +1.3825 +1.3975 +1.4525001 +1.5274999 +1.6075 +1.66 +1.66375 +1.5912501 +1.435 +1.21875 +0.97999996 +0.7575 +0.58375 +0.46499997 +0.40125 +0.37624997 +0.37625 +0.38625 +0.39624998 +0.39375 +0.39 +0.36999997 +0.35000002 +0.36 +0.41625002 +0.51125 +0.6075 +0.65624994 +0.635 +0.5525 +0.44750002 +0.36874998 +0.34125 +0.36375 +0.40249997 +0.4325 +0.435 +0.41875 +0.39874998 +0.38875 +0.41750002 +0.47375 +0.54125 +0.62875 +0.76000005 +0.9425 +1.15875 +1.36625 +1.5174999 +1.5737499 +1.53375 +1.4462498 +1.35 +1.2637501 +1.2175 +1.2262499 +1.2950001 +1.4175 +1.5625 +1.7137501 +1.84625 +1.95 +2.02125 +2.065 +2.085 +2.07625 +2.03 +1.9375 +1.80875 +1.66 +1.5200001 +1.4175 +1.3825 +1.3975 +1.4525001 +1.5274999 +1.6075 +1.66 +1.66375 +1.5912501 +1.435 +1.49125 +1.2574999 +1.03625 +0.8587499 +0.735 +0.65875 +0.61875004 +0.6 +0.59999996 +0.60875 +0.6175 +0.6225 +0.6025 +0.57 +0.55375 +0.57875 +0.63624996 +0.71999997 +0.78375 +0.79749995 +0.75625 +0.68125004 +0.60875005 +0.57375 +0.5725 +0.56874996 +0.56375 +0.5475 +0.52000004 +0.48749998 +0.46625 +0.49374998 +0.53999996 +0.61 +0.72 +0.8825 +1.09625 +1.3362501 +1.55625 +1.7087501 +1.77375 +1.74875 +1.665 +1.5875 +1.5162499 +1.47375 +1.4725 +1.53 +1.6324999 +1.745 +1.85875 +1.95125 +2.00375 +2.0149999 +1.9962499 +1.9625001 +1.92375 +1.88 +1.79625 +1.6875 +1.56125 +1.4337499 +1.32875 +1.28875 +1.3075 +1.3862499 +1.5087501 +1.65 +1.7762499 +1.8425 +1.8175 +1.6925 +1.49125 +1.2574999 +1.03625 +0.8587499 +0.735 +0.65875 +0.61875004 +0.6 +0.59999996 +0.60875 +0.6175 +0.6225 +0.6025 +0.57 +0.55375 +0.57875 +0.63624996 +0.71999997 +0.78375 +0.79749995 +0.75625 +0.68125004 +0.60875005 +0.57375 +0.5725 +0.56874996 +0.56375 +0.5475 +0.52000004 +0.48749998 +0.46625 +0.49374998 +0.53999996 +0.61 +0.72 +0.8825 +1.09625 +1.3362501 +1.55625 +1.7087501 +1.77375 +1.74875 +1.665 +1.5875 +1.5162499 +1.47375 +1.4725 +1.53 +1.6324999 +1.745 +1.85875 +1.95125 +2.00375 +2.0149999 +1.9962499 +1.9625001 +1.92375 +1.88 +1.79625 +1.6875 +1.56125 +1.4337499 +1.32875 +1.28875 +1.3075 +1.3862499 +1.5087501 +1.65 +1.7762499 +1.8425 +1.8175 +1.6925 +1.61875 +1.4112501 +1.2075 +1.03625 +0.9025 +0.8025 +0.72749996 +0.6825 +0.66875 +0.68625 +0.71625 +0.735 +0.72 +0.675 +0.6275 +0.60375 +0.6225 +0.6875 +0.77125 +0.825 +0.82124996 +0.76875 +0.71250004 +0.66625 +0.6275 +0.5925 +0.55375004 +0.51 +0.47250003 +0.45125002 +0.45375 +0.48875004 +0.56125003 +0.6775 +0.84499997 +1.06375 +1.3125 +1.5550001 +1.75875 +1.89125 +1.9449999 +1.93125 +1.8724998 +1.7937499 +1.72125 +1.6700001 +1.65125 +1.675 +1.7349999 +1.81375 +1.8775 +1.9112501 +1.90875 +1.8562499 +1.77375 +1.69625 +1.6537501 +1.63125 +1.595 +1.52625 +1.42625 +1.31 +1.1999999 +1.14 +1.1537501 +1.24375 +1.4 +1.58875 +1.7637501 +1.87375 +1.8850001 +1.79125 +1.61875 +1.4112501 +1.2075 +1.03625 +0.9025 +0.8025 +0.72749996 +0.6825 +0.66875 +0.68625 +0.71625 +0.735 +0.72 +0.675 +0.6275 +0.60375 +0.6225 +0.6875 +0.77125 +0.825 +0.82124996 +0.76875 +0.71250004 +0.66625 +0.6275 +0.5925 +0.55375004 +0.51 +0.47250003 +0.45125002 +0.45375 +0.48875004 +0.56125003 +0.6775 +0.84499997 +1.06375 +1.3125 +1.5550001 +1.75875 +1.89125 +1.9449999 +1.93125 +1.8724998 +1.7937499 +1.72125 +1.6700001 +1.65125 +1.675 +1.7349999 +1.81375 +1.8775 +1.9112501 +1.90875 +1.8562499 +1.77375 +1.69625 +1.6537501 +1.63125 +1.595 +1.52625 +1.42625 +1.31 +1.1999999 +1.14 +1.1537501 +1.24375 +1.4 +1.58875 +1.7637501 +1.87375 +1.8850001 +1.79125 +1.5587499 +1.39125 +1.22125 +1.06375 +0.9150001 +0.7775 +0.65999997 +0.58124995 +0.5575 +0.59 +0.64750004 +0.69250005 +0.68125 +0.61375004 +0.5125 +0.43125 +0.4125 +0.46875 +0.575 +0.66125 +0.68749994 +0.66 +0.60249996 +0.53000003 +0.46375 +0.4125 +0.375 +0.33999997 +0.31499997 +0.30875 +0.32500002 +0.39 +0.52625 +0.72875005 +0.98625004 +1.2675 +1.5375 +1.7537498 +1.9000001 +1.9725 +1.9862499 +1.9662501 +1.9262502 +1.8687499 +1.79375 +1.7125001 +1.6424999 +1.605 +1.6125 +1.6537502 +1.68875 +1.67625 +1.6087501 +1.49375 +1.3562499 +1.24625 +1.20625 +1.2275 +1.26 +1.2587501 +1.1975 +1.0862501 +0.96125 +0.87874997 +0.88000005 +0.97999996 +1.1625 +1.3837501 +1.5875 +1.72 +1.755 +1.6925 +1.5587499 +1.39125 +1.22125 +1.06375 +0.9150001 +0.7775 +0.65999997 +0.58124995 +0.5575 +0.59 +0.64750004 +0.69250005 +0.68125 +0.61375004 +0.5125 +0.43125 +0.4125 +0.46875 +0.575 +0.66125 +0.68749994 +0.66 +0.60249996 +0.53000003 +0.46375 +0.4125 +0.375 +0.33999997 +0.31499997 +0.30875 +0.32500002 +0.39 +0.52625 +0.72875005 +0.98625004 +1.2675 +1.5375 +1.7537498 +1.9000001 +1.9725 +1.9862499 +1.9662501 +1.9262502 +1.8687499 +1.79375 +1.7125001 +1.6424999 +1.605 +1.6125 +1.6537502 +1.68875 +1.67625 +1.6087501 +1.49375 +1.3562499 +1.24625 +1.20625 +1.2275 +1.26 +1.2587501 +1.1975 +1.0862501 +0.96125 +0.87874997 +0.88000005 +0.97999996 +1.1625 +1.3837501 +1.5875 +1.72 +1.755 +1.6925 +1.3487499 +1.2299999 +1.09875 +0.95500004 +0.79125 +0.61375 +0.44999996 +0.33875 +0.3025 +0.35125 +0.44 +0.50624996 +0.4925 +0.38875 +0.26375 +0.15625 +0.12 +0.1625 +0.24875 +0.3525 +0.40125 +0.3825 +0.3225 +0.25125 +0.19624999 +0.16125001 +0.145 +0.1375 +0.13624999 +0.1525 +0.18624999 +0.28125 +0.49624997 +0.79375 +1.1375 +1.46625 +1.7212499 +1.87125 +1.9137499 +1.8837501 +1.8275 +1.77625 +1.73375 +1.6837499 +1.6012499 +1.4875001 +1.3637501 +1.2725 +1.23875 +1.25 +1.2687501 +1.2325001 +1.125 +0.96375 +0.78499997 +0.65625 +0.62375 +0.7 +0.81000006 +0.87875 +0.86 +0.75375 +0.61625 +0.515 +0.51125 +0.62500006 +0.83000004 +1.0712501 +1.2874999 +1.4300001 +1.47875 +1.44375 +1.3487499 +1.2299999 +1.09875 +0.95500004 +0.79125 +0.61375 +0.44999996 +0.33875 +0.3025 +0.35125 +0.44 +0.50624996 +0.4925 +0.38875 +0.26375 +0.15625 +0.12 +0.1625 +0.24875 +0.3525 +0.40125 +0.3825 +0.3225 +0.25125 +0.19624999 +0.16125001 +0.145 +0.1375 +0.13624999 +0.1525 +0.18624999 +0.28125 +0.49624997 +0.79375 +1.1375 +1.46625 +1.7212499 +1.87125 +1.9137499 +1.8837501 +1.8275 +1.77625 +1.73375 +1.6837499 +1.6012499 +1.4875001 +1.3637501 +1.2725 +1.23875 +1.25 +1.2687501 +1.2325001 +1.125 +0.96375 +0.78499997 +0.65625 +0.62375 +0.7 +0.81000006 +0.87875 +0.86 +0.75375 +0.61625 +0.515 +0.51125 +0.62500006 +0.83000004 +1.0712501 +1.2874999 +1.4300001 +1.47875 +1.44375 +1.0975 +1.0237501 +0.9275 +0.79375005 +0.6125 +0.39749998 +0.22625001 +0.13125001 +0.096250005 +0.1275 +0.2125 +0.27249998 +0.24999999 +0.14625 +0.053749997 +0.0075 +0.0 +0.0 +0.02125 +0.08 +0.121249996 +0.10625 +0.07625 +0.05375 +0.05125 +0.05125 +0.055 +0.06625 +0.085 +0.10875 +0.15 +0.28875 +0.55125 +0.9187499 +1.30875 +1.63625 +1.8312498 +1.8699999 +1.7775 +1.6225 +1.47125 +1.3712502 +1.3100001 +1.2550001 +1.1650001 +1.0287501 +0.87375 +0.75374997 +0.7 +0.70875 +0.72625 +0.68500006 +0.57125 +0.40125 +0.245 +0.155 +0.14375 +0.21375 +0.35625002 +0.47625 +0.48874998 +0.39000002 +0.2625 +0.19 +0.19500001 +0.2925 +0.49125 +0.7475 +0.965 +1.1075 +1.1649998 +1.15 +1.0975 +1.0237501 +0.9275 +0.79375005 +0.6125 +0.39749998 +0.22625001 +0.13125001 +0.096250005 +0.1275 +0.2125 +0.27249998 +0.24999999 +0.14625 +0.053749997 +0.0075 +0.0 +0.0 +0.02125 +0.08 +0.121249996 +0.10625 +0.07625 +0.05375 +0.05125 +0.05125 +0.055 +0.06625 +0.085 +0.10875 +0.15 +0.28875 +0.55125 +0.9187499 +1.30875 +1.63625 +1.8312498 +1.8699999 +1.7775 +1.6225 +1.47125 +1.3712502 +1.3100001 +1.2550001 +1.1650001 +1.0287501 +0.87375 +0.75374997 +0.7 +0.70875 +0.72625 +0.68500006 +0.57125 +0.40125 +0.245 +0.155 +0.14375 +0.21375 +0.35625002 +0.47625 +0.48874998 +0.39000002 +0.2625 +0.19 +0.19500001 +0.2925 +0.49125 +0.7475 +0.965 +1.1075 +1.1649998 +1.15 +0.93 +0.89375 +0.82 +0.6875 +0.48749998 +0.25875 +0.14125 +0.11375 +0.08875 +0.0675 +0.088750005 +0.12625 +0.091249995 +0.0475 +0.02875 +0.0025 +0.0 +0.0 +0.0 +0.00125 +0.00625 +0.0025 +0.02875 +0.0425 +0.0475 +0.06 +0.08625 +0.13 +0.16749999 +0.205 +0.28 +0.45625 +0.75624996 +1.1325 +1.5024999 +1.76875 +1.8575001 +1.76375 +1.5325 +1.25375 +1.015 +0.86125 +0.77874994 +0.71750003 +0.62750006 +0.49125004 +0.35 +0.265 +0.2325 +0.24249999 +0.26125 +0.22375001 +0.14750001 +0.04625 +0.0 +0.0 +0.0 +0.0025 +0.0775 +0.19 +0.20625 +0.12875 +0.07 +0.0675 +0.08875 +0.12625 +0.27499998 +0.515 +0.72999996 +0.86749995 +0.93250006 +0.94499993 +0.93 +0.89375 +0.82 +0.6875 +0.48749998 +0.25875 +0.14125 +0.11375 +0.08875 +0.0675 +0.088750005 +0.12625 +0.091249995 +0.0475 +0.02875 +0.0025 +0.0 +0.0 +0.0 +0.00125 +0.00625 +0.0025 +0.02875 +0.0425 +0.0475 +0.06 +0.08625 +0.13 +0.16749999 +0.205 +0.28 +0.45625 +0.75624996 +1.1325 +1.5024999 +1.76875 +1.8575001 +1.76375 +1.5325 +1.25375 +1.015 +0.86125 +0.77874994 +0.71750003 +0.62750006 +0.49125004 +0.35 +0.265 +0.2325 +0.24249999 +0.26125 +0.22375001 +0.14750001 +0.04625 +0.0 +0.0 +0.0 +0.0025 +0.0775 +0.19 +0.20625 +0.12875 +0.07 +0.0675 +0.08875 +0.12625 +0.27499998 +0.515 +0.72999996 +0.86749995 +0.93250006 +0.94499993 +1.2824999 +1.4475 +1.60375 +1.7400001 +1.8299999 +1.8475001 +1.77625 +1.63 +1.4412501 +1.2425 +1.05625 +0.88625 +0.7275 +0.575 +0.44 +0.33375 +0.28875 +0.275 +0.24375 +0.16 +0.04625 +0.01 +0.03375 +0.0475 +0.05125 +0.05375 +0.10125001 +0.23375 +0.34000003 +0.39749998 +0.43625003 +0.5 +0.60499996 +0.75624996 +0.93 +1.1075001 +1.2787501 +1.4424999 +1.595 +1.7275001 +1.81375 +1.8262501 +1.75125 +1.605 +1.4200001 +1.22625 +1.04375 +0.87624997 +0.71999997 +0.57125 +0.43875003 +0.3375 +0.29874998 +0.28875 +0.25875 +0.1725 +0.05375 +0.01 +0.03 +0.04125 +0.04375 +0.04625 +0.10125001 +0.22875 +0.33124998 +0.38499996 +0.42374998 +0.48749995 +0.59625 +0.7525 +0.93 +1.11 +1.2824999 +1.4475 +1.60375 +1.7400001 +1.8299999 +1.8475001 +1.77625 +1.63 +1.4412501 +1.2425 +1.05625 +0.88625 +0.7275 +0.575 +0.44 +0.33375 +0.28875 +0.275 +0.24375 +0.16 +0.04625 +0.01 +0.03375 +0.0475 +0.05125 +0.05375 +0.10125001 +0.23375 +0.34000003 +0.39749998 +0.43625003 +0.5 +0.60499996 +0.75624996 +0.93 +1.1075001 +1.2787501 +1.4424999 +1.595 +1.7275001 +1.81375 +1.8262501 +1.75125 +1.605 +1.4200001 +1.22625 +1.04375 +0.87624997 +0.71999997 +0.57125 +0.43875003 +0.3375 +0.29874998 +0.28875 +0.25875 +0.1725 +0.05375 +0.01 +0.03 +0.04125 +0.04375 +0.04625 +0.10125001 +0.22875 +0.33124998 +0.38499996 +0.42374998 +0.48749995 +0.59625 +0.7525 +0.93 +1.11 +1.26625 +1.4499999 +1.6250001 +1.78125 +1.8887498 +1.915 +1.8475001 +1.69625 +1.49125 +1.2737501 +1.07 +0.88624996 +0.72 +0.56625 +0.43125 +0.32625 +0.26500002 +0.25375003 +0.235 +0.17125 +0.07625 +0.02375 +0.0425 +0.05625 +0.06 +0.06125 +0.1275 +0.25875 +0.36 +0.41375 +0.44875002 +0.49875003 +0.59124994 +0.72875 +0.90000004 +1.0825 +1.26375 +1.4362501 +1.595 +1.7237501 +1.7975001 +1.7950001 +1.70875 +1.55625 +1.3662499 +1.17 +0.98249996 +0.8125 +0.66 +0.52125 +0.41125003 +0.33625 +0.31125 +0.32125 +0.3025 +0.2225 +0.103750005 +0.0275 +0.03125 +0.03625 +0.03375 +0.046249997 +0.13374999 +0.24000001 +0.31375003 +0.34499997 +0.37249997 +0.43249997 +0.54375005 +0.70375 +0.88874996 +1.0799999 +1.26625 +1.4499999 +1.6250001 +1.78125 +1.8887498 +1.915 +1.8475001 +1.69625 +1.49125 +1.2737501 +1.07 +0.88624996 +0.72 +0.56625 +0.43125 +0.32625 +0.26500002 +0.25375003 +0.235 +0.17125 +0.07625 +0.02375 +0.0425 +0.05625 +0.06 +0.06125 +0.1275 +0.25875 +0.36 +0.41375 +0.44875002 +0.49875003 +0.59124994 +0.72875 +0.90000004 +1.0825 +1.26375 +1.4362501 +1.595 +1.7237501 +1.7975001 +1.7950001 +1.70875 +1.55625 +1.3662499 +1.17 +0.98249996 +0.8125 +0.66 +0.52125 +0.41125003 +0.33625 +0.31125 +0.32125 +0.3025 +0.2225 +0.103750005 +0.0275 +0.03125 +0.03625 +0.03375 +0.046249997 +0.13374999 +0.24000001 +0.31375003 +0.34499997 +0.37249997 +0.43249997 +0.54375005 +0.70375 +0.88874996 +1.0799999 +1.19125 +1.4024999 +1.6175 +1.8149999 +1.96125 +2.0125 +1.95625 +1.7987502 +1.575 +1.3287499 +1.0949999 +0.89375 +0.71999997 +0.56624997 +0.43125 +0.32375002 +0.25875002 +0.23875 +0.23875001 +0.21000001 +0.14 +0.067499995 +0.03875 +0.055 +0.0575 +0.065 +0.15375 +0.28125 +0.38 +0.4325 +0.45375 +0.47625002 +0.53749996 +0.65 +0.80875 +0.99625 +1.195 +1.38375 +1.55125 +1.6712499 +1.72625 +1.70125 +1.5975 +1.4350001 +1.23875 +1.0375 +0.845 +0.67 +0.51875 +0.4 +0.325 +0.2975 +0.3225 +0.36 +0.35500002 +0.28375 +0.16625 +0.06375 +0.02875 +0.025 +0.0275 +0.08624999 +0.1775 +0.25125 +0.2725 +0.265 +0.27 +0.32125 +0.435 +0.5975 +0.78499997 +0.985 +1.19125 +1.4024999 +1.6175 +1.8149999 +1.96125 +2.0125 +1.95625 +1.7987502 +1.575 +1.3287499 +1.0949999 +0.89375 +0.71999997 +0.56624997 +0.43125 +0.32375002 +0.25875002 +0.23875 +0.23875001 +0.21000001 +0.14 +0.067499995 +0.03875 +0.055 +0.0575 +0.065 +0.15375 +0.28125 +0.38 +0.4325 +0.45375 +0.47625002 +0.53749996 +0.65 +0.80875 +0.99625 +1.195 +1.38375 +1.55125 +1.6712499 +1.72625 +1.70125 +1.5975 +1.4350001 +1.23875 +1.0375 +0.845 +0.67 +0.51875 +0.4 +0.325 +0.2975 +0.3225 +0.36 +0.35500002 +0.28375 +0.16625 +0.06375 +0.02875 +0.025 +0.0275 +0.08624999 +0.1775 +0.25125 +0.2725 +0.265 +0.27 +0.32125 +0.435 +0.5975 +0.78499997 +0.985 +1.03625 +1.2737501 +1.52875 +1.77125 +1.9625001 +2.055 +2.02125 +1.8675001 +1.6325 +1.3675 +1.12125 +0.91875005 +0.75 +0.60125 +0.47375 +0.36499998 +0.29 +0.2675 +0.2825 +0.28750002 +0.25 +0.1625 +0.08125 +0.0425 +0.04125 +0.055 +0.13875 +0.26500002 +0.3625 +0.41125 +0.41375 +0.40499997 +0.42375 +0.49875 +0.63625 +0.825 +1.0412499 +1.2487501 +1.42 +1.5275 +1.5587502 +1.5112499 +1.3924999 +1.22625 +1.035 +0.83625007 +0.64125 +0.46250004 +0.315 +0.21625 +0.17874998 +0.21249999 +0.29625 +0.35750002 +0.3575 +0.28 +0.16375 +0.06999999 +0.02875 +0.01 +0.05 +0.13499999 +0.20124999 +0.22 +0.1925 +0.1525 +0.1525 +0.19125001 +0.285 +0.44250003 +0.625 +0.82124996 +1.03625 +1.2737501 +1.52875 +1.77125 +1.9625001 +2.055 +2.02125 +1.8675001 +1.6325 +1.3675 +1.12125 +0.91875005 +0.75 +0.60125 +0.47375 +0.36499998 +0.29 +0.2675 +0.2825 +0.28750002 +0.25 +0.1625 +0.08125 +0.0425 +0.04125 +0.055 +0.13875 +0.26500002 +0.3625 +0.41125 +0.41375 +0.40499997 +0.42375 +0.49875 +0.63625 +0.825 +1.0412499 +1.2487501 +1.42 +1.5275 +1.5587502 +1.5112499 +1.3924999 +1.22625 +1.035 +0.83625007 +0.64125 +0.46250004 +0.315 +0.21625 +0.17874998 +0.21249999 +0.29625 +0.35750002 +0.3575 +0.28 +0.16375 +0.06999999 +0.02875 +0.01 +0.05 +0.13499999 +0.20124999 +0.22 +0.1925 +0.1525 +0.1525 +0.19125001 +0.285 +0.44250003 +0.625 +0.82124996 +0.81125003 +1.05625 +1.3349999 +1.61625 +1.8525 +1.9862499 +1.985 +1.8525001 +1.6287501 +1.37375 +1.14375 +0.97125 +0.83124995 +0.70125 +0.575 +0.46375003 +0.3775 +0.3525 +0.37125 +0.3975 +0.38625 +0.3075 +0.17999999 +0.068749994 +0.027499998 +0.0275 +0.10124999 +0.24000001 +0.34875 +0.3825 +0.34124997 +0.29375002 +0.26625 +0.29874998 +0.41249996 +0.60125 +0.82624996 +1.04375 +1.2112501 +1.30375 +1.3100001 +1.24125 +1.12125 +0.99375004 +0.83625007 +0.64500004 +0.43625 +0.2425 +0.113749996 +0.0525 +0.049999997 +0.11624999 +0.22750002 +0.29125 +0.275 +0.17625 +0.07875 +0.03125 +0.00375 +0.00625 +0.05 +0.13250001 +0.1625 +0.14125 +0.095 +0.07 +0.07125 +0.099999994 +0.16499999 +0.27374998 +0.42999998 +0.60749996 +0.81125003 +1.05625 +1.3349999 +1.61625 +1.8525 +1.9862499 +1.985 +1.8525001 +1.6287501 +1.37375 +1.14375 +0.97125 +0.83124995 +0.70125 +0.575 +0.46375003 +0.3775 +0.3525 +0.37125 +0.3975 +0.38625 +0.3075 +0.17999999 +0.068749994 +0.027499998 +0.0275 +0.10124999 +0.24000001 +0.34875 +0.3825 +0.34124997 +0.29375002 +0.26625 +0.29874998 +0.41249996 +0.60125 +0.82624996 +1.04375 +1.2112501 +1.30375 +1.3100001 +1.24125 +1.12125 +0.99375004 +0.83625007 +0.64500004 +0.43625 +0.2425 +0.113749996 +0.0525 +0.049999997 +0.11624999 +0.22750002 +0.29125 +0.275 +0.17625 +0.07875 +0.03125 +0.00375 +0.00625 +0.05 +0.13250001 +0.1625 +0.14125 +0.095 +0.07 +0.07125 +0.099999994 +0.16499999 +0.27374998 +0.42999998 +0.60749996 +0.56125003 +0.79875004 +1.0837499 +1.38875 +1.65625 +1.82375 +1.8562499 +1.75625 +1.5649999 +1.3487501 +1.1574999 +1.03375 +0.94125 +0.84749997 +0.73375 +0.60875 +0.51125 +0.46875 +0.47999996 +0.5125 +0.51 +0.4325 +0.2825 +0.125 +0.04 +0.0112499995 +0.068749994 +0.20249999 +0.3225 +0.36124998 +0.3025 +0.20625 +0.14249998 +0.14625 +0.225 +0.40375 +0.63125 +0.84875005 +1.00625 +1.0775 +1.06375 +0.98375 +0.88875 +0.7875 +0.65500003 +0.48625 +0.28750002 +0.10375 +0.025 +0.0 +0.00375 +0.049999997 +0.15375 +0.20249999 +0.15 +0.065 +0.01875 +0.0 +0.0 +0.0 +0.01875 +0.07 +0.08625 +0.065000005 +0.0475 +0.0425 +0.0525 +0.0725 +0.10875 +0.1725 +0.26875 +0.38625 +0.56125003 +0.79875004 +1.0837499 +1.38875 +1.65625 +1.82375 +1.8562499 +1.75625 +1.5649999 +1.3487501 +1.1574999 +1.03375 +0.94125 +0.84749997 +0.73375 +0.60875 +0.51125 +0.46875 +0.47999996 +0.5125 +0.51 +0.4325 +0.2825 +0.125 +0.04 +0.0112499995 +0.068749994 +0.20249999 +0.3225 +0.36124998 +0.3025 +0.20625 +0.14249998 +0.14625 +0.225 +0.40375 +0.63125 +0.84875005 +1.00625 +1.0775 +1.06375 +0.98375 +0.88875 +0.7875 +0.65500003 +0.48625 +0.28750002 +0.10375 +0.025 +0.0 +0.00375 +0.049999997 +0.15375 +0.20249999 +0.15 +0.065 +0.01875 +0.0 +0.0 +0.0 +0.01875 +0.07 +0.08625 +0.065000005 +0.0475 +0.0425 +0.0525 +0.0725 +0.10875 +0.1725 +0.26875 +0.38625 +0.3675 +0.57625 +0.85875 +1.1712501 +1.4512501 +1.6375 +1.69375 +1.6275 +1.4812499 +1.31625 +1.1812501 +1.1049999 +1.0637499 +1.00125 +0.89625 +0.76750004 +0.63874996 +0.57125 +0.56875 +0.59875 +0.59749997 +0.51750004 +0.35125 +0.16625 +0.072500005 +0.026250001 +0.057499997 +0.1975 +0.3325 +0.37625 +0.30874997 +0.20625 +0.1275 +0.10625 +0.15875 +0.33249998 +0.5575 +0.77 +0.91125 +0.95875 +0.92499995 +0.84000003 +0.74625 +0.67125 +0.5675 +0.42249998 +0.23749998 +0.087500006 +0.02875 +0.0 +0.0 +0.057499997 +0.14875 +0.16749999 +0.095 +0.02125 +0.00125 +0.00625 +0.0 +0.0 +0.00125 +0.038750004 +0.06 +0.04625 +0.04375 +0.04625 +0.04875 +0.0625 +0.095 +0.14625 +0.20125 +0.26625 +0.3675 +0.57625 +0.85875 +1.1712501 +1.4512501 +1.6375 +1.69375 +1.6275 +1.4812499 +1.31625 +1.1812501 +1.1049999 +1.0637499 +1.00125 +0.89625 +0.76750004 +0.63874996 +0.57125 +0.56875 +0.59875 +0.59749997 +0.51750004 +0.35125 +0.16625 +0.072500005 +0.026250001 +0.057499997 +0.1975 +0.3325 +0.37625 +0.30874997 +0.20625 +0.1275 +0.10625 +0.15875 +0.33249998 +0.5575 +0.77 +0.91125 +0.95875 +0.92499995 +0.84000003 +0.74625 +0.67125 +0.5675 +0.42249998 +0.23749998 +0.087500006 +0.02875 +0.0 +0.0 +0.057499997 +0.14875 +0.16749999 +0.095 +0.02125 +0.00125 +0.00625 +0.0 +0.0 +0.00125 +0.038750004 +0.06 +0.04625 +0.04375 +0.04625 +0.04875 +0.0625 +0.095 +0.14625 +0.20125 +0.26625 +0.30875 +0.46375 +0.73749995 +1.045 +1.3199999 +1.5024998 +1.5687501 +1.5274999 +1.42 +1.3075 +1.22875 +1.1949999 +1.18125 +1.1375 +1.04125 +0.8975 +0.74875 +0.63874996 +0.61875 +0.64625 +0.64875 +0.5675 +0.39625 +0.24374999 +0.13374999 +0.08625001 +0.123749994 +0.255 +0.39875 +0.4475 +0.40249997 +0.295 +0.20499998 +0.17375001 +0.245 +0.42375 +0.64875 +0.84625 +0.97125 +0.99875003 +0.95124996 +0.86249995 +0.77125007 +0.6875 +0.60625 +0.47875 +0.33375 +0.1975 +0.105 +0.05875 +0.05875 +0.16 +0.25875 +0.25375 +0.1525 +0.03625 +0.0325 +0.03375 +0.01875 +0.01 +0.06875 +0.1275 +0.14125 +0.0975 +0.06875 +0.0675 +0.065 +0.07375 +0.105 +0.155 +0.21125 +0.25625 +0.30875 +0.46375 +0.73749995 +1.045 +1.3199999 +1.5024998 +1.5687501 +1.5274999 +1.42 +1.3075 +1.22875 +1.1949999 +1.18125 +1.1375 +1.04125 +0.8975 +0.74875 +0.63874996 +0.61875 +0.64625 +0.64875 +0.5675 +0.39625 +0.24374999 +0.13374999 +0.08625001 +0.123749994 +0.255 +0.39875 +0.4475 +0.40249997 +0.295 +0.20499998 +0.17375001 +0.245 +0.42375 +0.64875 +0.84625 +0.97125 +0.99875003 +0.95124996 +0.86249995 +0.77125007 +0.6875 +0.60625 +0.47875 +0.33375 +0.1975 +0.105 +0.05875 +0.05875 +0.16 +0.25875 +0.25375 +0.1525 +0.03625 +0.0325 +0.03375 +0.01875 +0.01 +0.06875 +0.1275 +0.14125 +0.0975 +0.06875 +0.0675 +0.065 +0.07375 +0.105 +0.155 +0.21125 +0.25625 +0.33125 +0.48000002 +0.74 +1.0375 +1.29125 +1.4575 +1.5124998 +1.4787501 +1.4037501 +1.3375001 +1.3112501 +1.31625 +1.32 +1.2775 +1.1675 +1.00625 +0.84375 +0.73125 +0.6875 +0.69625 +0.7025 +0.635 +0.50625 +0.3475 +0.23 +0.1975 +0.26749998 +0.40625 +0.53375 +0.58124995 +0.53625 +0.43 +0.3375 +0.32500002 +0.4275 +0.61499995 +0.83625 +1.0225 +1.1325 +1.145 +1.0925 +1.00625 +0.9225 +0.84749997 +0.7674999 +0.66 +0.52625 +0.38125 +0.2725 +0.23875 +0.29125 +0.39249998 +0.47875002 +0.465 +0.35 +0.21000001 +0.12624998 +0.103750005 +0.118750006 +0.19625 +0.315 +0.3825 +0.34749997 +0.24875 +0.1575 +0.11000001 +0.1025 +0.11624999 +0.14375 +0.18375 +0.23875 +0.285 +0.33125 +0.48000002 +0.74 +1.0375 +1.29125 +1.4575 +1.5124998 +1.4787501 +1.4037501 +1.3375001 +1.3112501 +1.31625 +1.32 +1.2775 +1.1675 +1.00625 +0.84375 +0.73125 +0.6875 +0.69625 +0.7025 +0.635 +0.50625 +0.3475 +0.23 +0.1975 +0.26749998 +0.40625 +0.53375 +0.58124995 +0.53625 +0.43 +0.3375 +0.32500002 +0.4275 +0.61499995 +0.83625 +1.0225 +1.1325 +1.145 +1.0925 +1.00625 +0.9225 +0.84749997 +0.7674999 +0.66 +0.52625 +0.38125 +0.2725 +0.23875 +0.29125 +0.39249998 +0.47875002 +0.465 +0.35 +0.21000001 +0.12624998 +0.103750005 +0.118750006 +0.19625 +0.315 +0.3825 +0.34749997 +0.24875 +0.1575 +0.11000001 +0.1025 +0.11624999 +0.14375 +0.18375 +0.23875 +0.285 +0.39375 +0.57 +0.82874995 +1.1112499 +1.3375 +1.47125 +1.5074999 +1.4749999 +1.4274999 +1.405 +1.425 +1.4612501 +1.4749999 +1.4275001 +1.3075 +1.1425 +0.985 +0.8875 +0.85875 +0.87125 +0.865 +0.79 +0.64750004 +0.48375002 +0.36249998 +0.33999997 +0.41875 +0.5425 +0.64500004 +0.66625 +0.6025 +0.5025 +0.43000004 +0.44875002 +0.57375 +0.77125 +0.98625 +1.1575 +1.25 +1.2587501 +1.20875 +1.13375 +1.0575 +0.9925 +0.91625 +0.815 +0.68875 +0.5625 +0.48 +0.47499996 +0.55499995 +0.675 +0.76625 +0.76624995 +0.6625 +0.505 +0.37499994 +0.34375 +0.42875 +0.57625 +0.7025 +0.73375 +0.6525 +0.5 +0.34875 +0.255 +0.22999999 +0.2425 +0.2525 +0.25875 +0.28125 +0.3225 +0.39375 +0.57 +0.82874995 +1.1112499 +1.3375 +1.47125 +1.5074999 +1.4749999 +1.4274999 +1.405 +1.425 +1.4612501 +1.4749999 +1.4275001 +1.3075 +1.1425 +0.985 +0.8875 +0.85875 +0.87125 +0.865 +0.79 +0.64750004 +0.48375002 +0.36249998 +0.33999997 +0.41875 +0.5425 +0.64500004 +0.66625 +0.6025 +0.5025 +0.43000004 +0.44875002 +0.57375 +0.77125 +0.98625 +1.1575 +1.25 +1.2587501 +1.20875 +1.13375 +1.0575 +0.9925 +0.91625 +0.815 +0.68875 +0.5625 +0.48 +0.47499996 +0.55499995 +0.675 +0.76625 +0.76624995 +0.6625 +0.505 +0.37499994 +0.34375 +0.42875 +0.57625 +0.7025 +0.73375 +0.6525 +0.5 +0.34875 +0.255 +0.22999999 +0.2425 +0.2525 +0.25875 +0.28125 +0.3225 +0.48375005 +0.6725 +0.935 +1.19625 +1.3924999 +1.49125 +1.5049999 +1.47875 +1.4625 +1.49 +1.56125 +1.635 +1.6712501 +1.63375 +1.5225 +1.3799999 +1.25875 +1.1949999 +1.19 +1.19625 +1.1575 +1.03625 +0.845 +0.64375 +0.50374997 +0.46875 +0.5225 +0.61 +0.6625 +0.63875 +0.55125 +0.44875 +0.4025 +0.4475 +0.58875 +0.7825 +0.9775 +1.1225 +1.19625 +1.20125 +1.1625 +1.10375 +1.0437499 +0.985 +0.915 +0.81875 +0.70750004 +0.60875005 +0.55875 +0.59000003 +0.70125 +0.845 +0.95124996 +0.9674999 +0.88875 +0.76500005 +0.67875004 +0.69 +0.80499995 +0.96125 +1.0712501 +1.07125 +0.95375 +0.77375 +0.60625 +0.505 +0.475 +0.47750002 +0.46625 +0.42375004 +0.38125 +0.39249998 +0.48375005 +0.6725 +0.935 +1.19625 +1.3924999 +1.49125 +1.5049999 +1.47875 +1.4625 +1.49 +1.56125 +1.635 +1.6712501 +1.63375 +1.5225 +1.3799999 +1.25875 +1.1949999 +1.19 +1.19625 +1.1575 +1.03625 +0.845 +0.64375 +0.50374997 +0.46875 +0.5225 +0.61 +0.6625 +0.63875 +0.55125 +0.44875 +0.4025 +0.4475 +0.58875 +0.7825 +0.9775 +1.1225 +1.19625 +1.20125 +1.1625 +1.10375 +1.0437499 +0.985 +0.915 +0.81875 +0.70750004 +0.60875005 +0.55875 +0.59000003 +0.70125 +0.845 +0.95124996 +0.9674999 +0.88875 +0.76500005 +0.67875004 +0.69 +0.80499995 +0.96125 +1.0712501 +1.07125 +0.95375 +0.77375 +0.60625 +0.505 +0.475 +0.47750002 +0.46625 +0.42375004 +0.38125 +0.39249998 +0.57624996 +0.76125 +1.0074999 +1.245 +1.4100001 +1.4775 +1.4762499 +1.4612501 +1.4849999 +1.57375 +1.7099999 +1.84375 +1.9225001 +1.9225001 +1.86 +1.7762501 +1.7212499 +1.7149999 +1.7325001 +1.7149999 +1.6099999 +1.39875 +1.1175 +0.84875 +0.66125005 +0.58500004 +0.59625 +0.64750004 +0.64750004 +0.5525 +0.41000003 +0.305 +0.27375 +0.33499998 +0.47375 +0.64375 +0.7925 +0.89500004 +0.93625 +0.93375003 +0.905 +0.86500007 +0.82500005 +0.8000001 +0.75 +0.6525 +0.54 +0.47249997 +0.45999998 +0.525 +0.66124994 +0.82124996 +0.94 +0.97125006 +0.91875 +0.83875 +0.805 +0.87 +1.0275 +1.2062501 +1.31875 +1.305 +1.1737499 +0.9862499 +0.82250005 +0.735 +0.71625 +0.7175 +0.69124997 +0.61875 +0.535 +0.50374997 +0.57624996 +0.76125 +1.0074999 +1.245 +1.4100001 +1.4775 +1.4762499 +1.4612501 +1.4849999 +1.57375 +1.7099999 +1.84375 +1.9225001 +1.9225001 +1.86 +1.7762501 +1.7212499 +1.7149999 +1.7325001 +1.7149999 +1.6099999 +1.39875 +1.1175 +0.84875 +0.66125005 +0.58500004 +0.59625 +0.64750004 +0.64750004 +0.5525 +0.41000003 +0.305 +0.27375 +0.33499998 +0.47375 +0.64375 +0.7925 +0.89500004 +0.93625 +0.93375003 +0.905 +0.86500007 +0.82500005 +0.8000001 +0.75 +0.6525 +0.54 +0.47249997 +0.45999998 +0.525 +0.66124994 +0.82124996 +0.94 +0.97125006 +0.91875 +0.83875 +0.805 +0.87 +1.0275 +1.2062501 +1.31875 +1.305 +1.1737499 +0.9862499 +0.82250005 +0.735 +0.71625 +0.7175 +0.69124997 +0.61875 +0.535 +0.50374997 +0.65749997 +0.81874996 +1.04625 +1.25875 +1.39625 +1.43625 +1.4262501 +1.4249998 +1.495 +1.6524999 +1.8625 +2.07 +2.22 +2.2925 +2.31125 +2.32375 +2.36375 +2.43125 +2.46875 +2.42375 +2.2575 +1.9162499 +1.4937501 +1.125 +0.8725 +0.75499994 +0.75125 +0.75 +0.675 +0.52125 +0.335 +0.19375001 +0.15625 +0.22125 +0.34124997 +0.46375 +0.54999995 +0.5825 +0.57625 +0.5525 +0.5275 +0.51625 +0.52125 +0.5175 +0.47875 +0.39624998 +0.29500002 +0.22 +0.23124999 +0.31624997 +0.47375 +0.66499996 +0.79125 +0.7975 +0.755 +0.71500003 +0.735 +0.85875 +1.06875 +1.2850001 +1.41375 +1.4087499 +1.28625 +1.1125001 +0.97375 +0.91375 +0.9225 +0.93375 +0.8975 +0.79625005 +0.67625 +0.61125 +0.65749997 +0.81874996 +1.04625 +1.25875 +1.39625 +1.43625 +1.4262501 +1.4249998 +1.495 +1.6524999 +1.8625 +2.07 +2.22 +2.2925 +2.31125 +2.32375 +2.36375 +2.43125 +2.46875 +2.42375 +2.2575 +1.9162499 +1.4937501 +1.125 +0.8725 +0.75499994 +0.75125 +0.75 +0.675 +0.52125 +0.335 +0.19375001 +0.15625 +0.22125 +0.34124997 +0.46375 +0.54999995 +0.5825 +0.57625 +0.5525 +0.5275 +0.51625 +0.52125 +0.5175 +0.47875 +0.39624998 +0.29500002 +0.22 +0.23124999 +0.31624997 +0.47375 +0.66499996 +0.79125 +0.7975 +0.755 +0.71500003 +0.735 +0.85875 +1.06875 +1.2850001 +1.41375 +1.4087499 +1.28625 +1.1125001 +0.97375 +0.91375 +0.9225 +0.93375 +0.8975 +0.79625005 +0.67625 +0.61125 +0.73625 +0.88249993 +1.095 +1.28875 +1.39875 +1.41625 +1.3924999 +1.4025 +1.50875 +1.7225 +2.0025 +2.28625 +2.515 +2.67875 +2.8049998 +2.93375 +3.0850003 +3.2287502 +3.28375 +3.2175 +2.9562502 +2.49625 +1.9562501 +1.4837499 +1.17625 +1.03625 +0.98625004 +0.92625004 +0.7875 +0.58375 +0.37375 +0.23374999 +0.20374998 +0.26625 +0.36624998 +0.4375 +0.45125002 +0.40625003 +0.33375 +0.26875 +0.23625 +0.23249999 +0.24125001 +0.23875001 +0.20249999 +0.13625 +0.0775 +0.04375 +0.04625 +0.11749999 +0.26875 +0.45374998 +0.565 +0.55875 +0.5 +0.49249998 +0.56374997 +0.7475 +1.0125 +1.27125 +1.43125 +1.4437499 +1.335 +1.18375 +1.0725 +1.04375 +1.0762501 +1.1025 +1.06375 +0.94499993 +0.79875004 +0.70875 +0.73625 +0.88249993 +1.095 +1.28875 +1.39875 +1.41625 +1.3924999 +1.4025 +1.50875 +1.7225 +2.0025 +2.28625 +2.515 +2.67875 +2.8049998 +2.93375 +3.0850003 +3.2287502 +3.28375 +3.2175 +2.9562502 +2.49625 +1.9562501 +1.4837499 +1.17625 +1.03625 +0.98625004 +0.92625004 +0.7875 +0.58375 +0.37375 +0.23374999 +0.20374998 +0.26625 +0.36624998 +0.4375 +0.45125002 +0.40625003 +0.33375 +0.26875 +0.23625 +0.23249999 +0.24125001 +0.23875001 +0.20249999 +0.13625 +0.0775 +0.04375 +0.04625 +0.11749999 +0.26875 +0.45374998 +0.565 +0.55875 +0.5 +0.49249998 +0.56374997 +0.7475 +1.0125 +1.27125 +1.43125 +1.4437499 +1.335 +1.18375 +1.0725 +1.04375 +1.0762501 +1.1025 +1.06375 +0.94499993 +0.79875004 +0.70875 +0.84749997 +0.9962499 +1.20875 +1.3900001 +1.4762499 +1.4662501 +1.4187499 +1.42 +1.5387499 +1.7837499 +2.10875 +2.44625 +2.74375 +2.9900002 +3.21625 +3.45875 +3.7125003 +3.9199998 +3.9899998 +3.8725002 +3.53 +2.9724998 +2.3475 +1.8237499 +1.4925 +1.33125 +1.26 +1.165 +0.98875004 +0.755 +0.5375 +0.41 +0.40124997 +0.4675 +0.5475 +0.5725 +0.51875 +0.40625 +0.27875 +0.17999999 +0.13 +0.11625 +0.12 +0.111250006 +0.073750004 +0.021249998 +0.005 +0.0 +0.00375 +0.01625 +0.12125 +0.29125 +0.38625 +0.365 +0.31374997 +0.33249998 +0.44874996 +0.68375 +1.0 +1.30375 +1.49 +1.51625 +1.4137499 +1.2674999 +1.16375 +1.1512501 +1.19625 +1.22875 +1.18625 +1.0637499 +0.91249996 +0.81874996 +0.84749997 +0.9962499 +1.20875 +1.3900001 +1.4762499 +1.4662501 +1.4187499 +1.42 +1.5387499 +1.7837499 +2.10875 +2.44625 +2.74375 +2.9900002 +3.21625 +3.45875 +3.7125003 +3.9199998 +3.9899998 +3.8725002 +3.53 +2.9724998 +2.3475 +1.8237499 +1.4925 +1.33125 +1.26 +1.165 +0.98875004 +0.755 +0.5375 +0.41 +0.40124997 +0.4675 +0.5475 +0.5725 +0.51875 +0.40625 +0.27875 +0.17999999 +0.13 +0.11625 +0.12 +0.111250006 +0.073750004 +0.021249998 +0.005 +0.0 +0.00375 +0.01625 +0.12125 +0.29125 +0.38625 +0.365 +0.31374997 +0.33249998 +0.44874996 +0.68375 +1.0 +1.30375 +1.49 +1.51625 +1.4137499 +1.2674999 +1.16375 +1.1512501 +1.19625 +1.22875 +1.18625 +1.0637499 +0.91249996 +0.81874996 +1.0124999 +1.1850001 +1.40625 +1.5799999 +1.63875 +1.5949999 +1.50875 +1.4775 +1.57875 +1.8187499 +2.15125 +2.5075 +2.8375 +3.13625 +3.43 +3.7475 +4.06875 +4.3175 +4.3925004 +4.21 +3.80875 +3.1975002 +2.5625 +2.06625 +1.75125 +1.5887501 +1.49125 +1.39 +1.2 +0.96375 +0.78875 +0.70875 +0.72625005 +0.795 +0.8425 +0.83375 +0.74625003 +0.59625 +0.45125 +0.36124998 +0.31625 +0.29625 +0.27 +0.21625 +0.1575 +0.081250004 +0.01875 +0.03625 +0.06125 +0.07125 +0.13875 +0.27375 +0.35750002 +0.32874998 +0.3125 +0.35 +0.5 +0.78749996 +1.155 +1.495 +1.7 +1.725 +1.6050001 +1.4350001 +1.31 +1.2774999 +1.30875 +1.3312501 +1.28375 +1.1650001 +1.0275 +0.9574999 +1.0124999 +1.1850001 +1.40625 +1.5799999 +1.63875 +1.5949999 +1.50875 +1.4775 +1.57875 +1.8187499 +2.15125 +2.5075 +2.8375 +3.13625 +3.43 +3.7475 +4.06875 +4.3175 +4.3925004 +4.21 +3.80875 +3.1975002 +2.5625 +2.06625 +1.75125 +1.5887501 +1.49125 +1.39 +1.2 +0.96375 +0.78875 +0.70875 +0.72625005 +0.795 +0.8425 +0.83375 +0.74625003 +0.59625 +0.45125 +0.36124998 +0.31625 +0.29625 +0.27 +0.21625 +0.1575 +0.081250004 +0.01875 +0.03625 +0.06125 +0.07125 +0.13875 +0.27375 +0.35750002 +0.32874998 +0.3125 +0.35 +0.5 +0.78749996 +1.155 +1.495 +1.7 +1.725 +1.6050001 +1.4350001 +1.31 +1.2774999 +1.30875 +1.3312501 +1.28375 +1.1650001 +1.0275 +0.9574999 +1.215 +1.41875 +1.65125 +1.81375 +1.84375 +1.7525 +1.6175001 +1.54125 +1.6012499 +1.80875 +2.1112502 +2.445 +2.76375 +3.06 +3.3700001 +3.7075002 +4.0475 +4.3050003 +4.3687496 +4.165 +3.71 +3.11125 +2.5225 +2.07125 +1.8125 +1.69625 +1.63125 +1.5250001 +1.35125 +1.1525 +1.0 +0.94625 +0.98999995 +1.07875 +1.1425 +1.12875 +1.0375 +0.90374994 +0.78 +0.7 +0.66625 +0.65374994 +0.63375 +0.5775 +0.47625 +0.34875 +0.23749998 +0.18749999 +0.19 +0.24125 +0.35125 +0.465 +0.52375 +0.52250004 +0.5125 +0.56875 +0.76 +1.1 +1.5174999 +1.8862499 +2.10125 +2.1075 +1.9525 +1.7325001 +1.55375 +1.47 +1.4575001 +1.4475 +1.38625 +1.27 +1.1575 +1.1225 +1.215 +1.41875 +1.65125 +1.81375 +1.84375 +1.7525 +1.6175001 +1.54125 +1.6012499 +1.80875 +2.1112502 +2.445 +2.76375 +3.06 +3.3700001 +3.7075002 +4.0475 +4.3050003 +4.3687496 +4.165 +3.71 +3.11125 +2.5225 +2.07125 +1.8125 +1.69625 +1.63125 +1.5250001 +1.35125 +1.1525 +1.0 +0.94625 +0.98999995 +1.07875 +1.1425 +1.12875 +1.0375 +0.90374994 +0.78 +0.7 +0.66625 +0.65374994 +0.63375 +0.5775 +0.47625 +0.34875 +0.23749998 +0.18749999 +0.19 +0.24125 +0.35125 +0.465 +0.52375 +0.52250004 +0.5125 +0.56875 +0.76 +1.1 +1.5174999 +1.8862499 +2.10125 +2.1075 +1.9525 +1.7325001 +1.55375 +1.47 +1.4575001 +1.4475 +1.38625 +1.27 +1.1575 +1.1225 +1.41875 +1.6387501 +1.8712499 +2.01125 +2.005 +1.86375 +1.67875 +1.5575 +1.5712501 +1.7325001 +1.9875 +2.2675 +2.5325 +2.78 +3.04375 +3.3475 +3.65375 +3.8775 +3.91375 +3.6999998 +3.2537498 +2.6950002 +2.1675 +1.7925 +1.60375 +1.5475 +1.5249999 +1.45 +1.30125 +1.1275 +0.99875 +0.96875 +1.035 +1.1475 +1.2375 +1.26 +1.2075 +1.1175001 +1.03125 +0.98375 +0.97875 +0.995 +0.995 +0.9537499 +0.85875 +0.72249997 +0.58375 +0.48499998 +0.46749997 +0.535 +0.65625 +0.7725 +0.83125 +0.83875 +0.845 +0.9362501 +1.1774999 +1.5725001 +2.03625 +2.4374998 +2.6575 +2.64375 +2.4412498 +2.1612499 +1.9137499 +1.7587501 +1.6800001 +1.61875 +1.52875 +1.40375 +1.30375 +1.29625 +1.41875 +1.6387501 +1.8712499 +2.01125 +2.005 +1.86375 +1.67875 +1.5575 +1.5712501 +1.7325001 +1.9875 +2.2675 +2.5325 +2.78 +3.04375 +3.3475 +3.65375 +3.8775 +3.91375 +3.6999998 +3.2537498 +2.6950002 +2.1675 +1.7925 +1.60375 +1.5475 +1.5249999 +1.45 +1.30125 +1.1275 +0.99875 +0.96875 +1.035 +1.1475 +1.2375 +1.26 +1.2075 +1.1175001 +1.03125 +0.98375 +0.97875 +0.995 +0.995 +0.9537499 +0.85875 +0.72249997 +0.58375 +0.48499998 +0.46749997 +0.535 +0.65625 +0.7725 +0.83125 +0.83875 +0.845 +0.9362501 +1.1774999 +1.5725001 +2.03625 +2.4374998 +2.6575 +2.64375 +2.4412498 +2.1612499 +1.9137499 +1.7587501 +1.6800001 +1.61875 +1.52875 +1.40375 +1.30375 +1.29625 +1.58 +1.7887499 +1.995 +2.09625 +2.0425 +1.8587499 +1.6387501 +1.485 +1.4687499 +1.59125 +1.7962501 +2.01 +2.19625 +2.3612502 +2.545 +2.7662501 +2.9987502 +3.16625 +3.1675 +2.94875 +2.53625 +2.03875 +1.59125 +1.3000001 +1.1850001 +1.1825 +1.19625 +1.1524999 +1.03 +0.87874997 +0.76875 +0.74875 +0.82374996 +0.9475 +1.06125 +1.12 +1.1225 +1.08875 +1.0574999 +1.05375 +1.08625 +1.13875 +1.1799998 +1.1775 +1.1125001 +0.99249995 +0.85749996 +0.7575 +0.73375 +0.8 +0.92625 +1.05375 +1.13125 +1.16125 +1.2049999 +1.34375 +1.6437501 +2.1 +2.6175 +3.05125 +3.2775002 +3.2475 +3.00875 +2.67625 +2.3662498 +2.13875 +1.9912499 +1.8675001 +1.725 +1.5749999 +1.46375 +1.4575 +1.58 +1.7887499 +1.995 +2.09625 +2.0425 +1.8587499 +1.6387501 +1.485 +1.4687499 +1.59125 +1.7962501 +2.01 +2.19625 +2.3612502 +2.545 +2.7662501 +2.9987502 +3.16625 +3.1675 +2.94875 +2.53625 +2.03875 +1.59125 +1.3000001 +1.1850001 +1.1825 +1.19625 +1.1524999 +1.03 +0.87874997 +0.76875 +0.74875 +0.82374996 +0.9475 +1.06125 +1.12 +1.1225 +1.08875 +1.0574999 +1.05375 +1.08625 +1.13875 +1.1799998 +1.1775 +1.1125001 +0.99249995 +0.85749996 +0.7575 +0.73375 +0.8 +0.92625 +1.05375 +1.13125 +1.16125 +1.2049999 +1.34375 +1.6437501 +2.1 +2.6175 +3.05125 +3.2775002 +3.2475 +3.00875 +2.67625 +2.3662498 +2.13875 +1.9912499 +1.8675001 +1.725 +1.5749999 +1.46375 +1.4575 +1.66625 +1.8312501 +1.9849999 +2.0324998 +1.93 +1.7162501 +1.47875 +1.3199999 +1.29875 +1.40125 +1.56875 +1.7262499 +1.8299999 +1.9037498 +1.98875 +2.11875 +2.26875 +2.3725 +2.34625 +2.1375 +1.8050001 +1.365 +0.9825 +0.7675 +0.71 +0.74750006 +0.78749996 +0.78625005 +0.6825 +0.525 +0.42499998 +0.40249997 +0.46125 +0.5725 +0.6875 +0.78375 +0.8375 +0.8425 +0.84375 +0.87625 +0.9425 +1.0325 +1.1162499 +1.1650001 +1.1737499 +1.0975 +0.96624994 +0.8825 +0.87 +0.94750005 +1.085 +1.2525 +1.375 +1.4100001 +1.5049999 +1.70625 +2.075 +2.59125 +3.1550002 +3.6187499 +3.8525 +3.815 +3.5575 +3.19875 +2.84875 +2.57 +2.3587499 +2.1712499 +1.9725002 +1.7725 +1.6212499 +1.5812501 +1.66625 +1.8312501 +1.9849999 +2.0324998 +1.93 +1.7162501 +1.47875 +1.3199999 +1.29875 +1.40125 +1.56875 +1.7262499 +1.8299999 +1.9037498 +1.98875 +2.11875 +2.26875 +2.3725 +2.34625 +2.1375 +1.8050001 +1.365 +0.9825 +0.7675 +0.71 +0.74750006 +0.78749996 +0.78625005 +0.6825 +0.525 +0.42499998 +0.40249997 +0.46125 +0.5725 +0.6875 +0.78375 +0.8375 +0.8425 +0.84375 +0.87625 +0.9425 +1.0325 +1.1162499 +1.1650001 +1.1737499 +1.0975 +0.96624994 +0.8825 +0.87 +0.94750005 +1.085 +1.2525 +1.375 +1.4100001 +1.5049999 +1.70625 +2.075 +2.59125 +3.1550002 +3.6187499 +3.8525 +3.815 +3.5575 +3.19875 +2.84875 +2.57 +2.3587499 +2.1712499 +1.9725002 +1.7725 +1.6212499 +1.5812501 +1.67125 +1.7674999 +1.8525 +1.8375001 +1.6925 +1.4625001 +1.23 +1.0875 +1.0825 +1.1875 +1.335 +1.4475 +1.4912499 +1.48875 +1.4925 +1.545 +1.63375 +1.69625 +1.655 +1.5024999 +1.235 +0.8775 +0.56 +0.385 +0.37124997 +0.4525 +0.54249996 +0.55125004 +0.4625 +0.3125 +0.175 +0.1175 +0.14375 +0.2225 +0.3375 +0.4375 +0.50125 +0.53000003 +0.54375005 +0.57375 +0.64625007 +0.7624999 +0.90749997 +1.03625 +1.0975 +1.0699999 +0.98 +0.88874996 +0.87749994 +0.97125 +1.155 +1.3625 +1.51375 +1.59375 +1.71875 +1.99125 +2.4225001 +2.985 +3.57375 +4.04625 +4.28125 +4.24375 +3.99125 +3.6362498 +3.2787502 +2.9762502 +2.7225 +2.4775 +2.2162502 +1.95625 +1.7499999 +1.6487501 +1.67125 +1.7674999 +1.8525 +1.8375001 +1.6925 +1.4625001 +1.23 +1.0875 +1.0825 +1.1875 +1.335 +1.4475 +1.4912499 +1.48875 +1.4925 +1.545 +1.63375 +1.69625 +1.655 +1.5024999 +1.235 +0.8775 +0.56 +0.385 +0.37124997 +0.4525 +0.54249996 +0.55125004 +0.4625 +0.3125 +0.175 +0.1175 +0.14375 +0.2225 +0.3375 +0.4375 +0.50125 +0.53000003 +0.54375005 +0.57375 +0.64625007 +0.7624999 +0.90749997 +1.03625 +1.0975 +1.0699999 +0.98 +0.88874996 +0.87749994 +0.97125 +1.155 +1.3625 +1.51375 +1.59375 +1.71875 +1.99125 +2.4225001 +2.985 +3.57375 +4.04625 +4.28125 +4.24375 +3.99125 +3.6362498 +3.2787502 +2.9762502 +2.7225 +2.4775 +2.2162502 +1.95625 +1.7499999 +1.6487501 +1.5975001 +1.61875 +1.6325 +1.5600001 +1.38375 +1.1475 +0.93125004 +0.81875 +0.84000003 +0.95875 +1.0999999 +1.19 +1.19875 +1.15375 +1.11375 +1.1275 +1.18875 +1.24375 +1.21625 +1.1087501 +0.9025 +0.625 +0.3875 +0.27124998 +0.2925 +0.39125 +0.48000002 +0.4875 +0.4025 +0.26 +0.12875 +0.05125 +0.0325 +0.06125 +0.13125 +0.19875 +0.24499999 +0.26875 +0.2875 +0.3225 +0.3975 +0.52125 +0.67999995 +0.82875 +0.92 +0.93 +0.8775 +0.82375 +0.83375 +0.94749993 +1.14625 +1.3675 +1.54875 +1.6812501 +1.86 +2.18875 +2.66 +3.2400002 +3.82125 +4.27 +4.4875 +4.45 +4.21625 +3.8875 +3.5537498 +3.2562501 +2.98375 +2.70125 +2.3899999 +2.075 +1.8075 +1.6450001 +1.5975001 +1.61875 +1.6325 +1.5600001 +1.38375 +1.1475 +0.93125004 +0.81875 +0.84000003 +0.95875 +1.0999999 +1.19 +1.19875 +1.15375 +1.11375 +1.1275 +1.18875 +1.24375 +1.21625 +1.1087501 +0.9025 +0.625 +0.3875 +0.27124998 +0.2925 +0.39125 +0.48000002 +0.4875 +0.4025 +0.26 +0.12875 +0.05125 +0.0325 +0.06125 +0.13125 +0.19875 +0.24499999 +0.26875 +0.2875 +0.3225 +0.3975 +0.52125 +0.67999995 +0.82875 +0.92 +0.93 +0.8775 +0.82375 +0.83375 +0.94749993 +1.14625 +1.3675 +1.54875 +1.6812501 +1.86 +2.18875 +2.66 +3.2400002 +3.82125 +4.27 +4.4875 +4.45 +4.21625 +3.8875 +3.5537498 +3.2562501 +2.98375 +2.70125 +2.3899999 +2.075 +1.8075 +1.6450001 +1.4499999 +1.4087499 +1.3612499 +1.2475 +1.05 +0.81375 +0.61999995 +0.53749996 +0.58250004 +0.71624994 +0.85875005 +0.93999994 +0.93874997 +0.8862501 +0.84499997 +0.86625 +0.94 +1.01375 +1.01875 +0.93125 +0.7750001 +0.565 +0.39375 +0.3475 +0.39499998 +0.48125 +0.56250006 +0.56375 +0.47875 +0.34375 +0.20875001 +0.12125 +0.0925 +0.098749995 +0.12375 +0.15 +0.17250001 +0.18125 +0.19624999 +0.225 +0.28 +0.3825 +0.52500004 +0.6625 +0.75 +0.77250004 +0.745 +0.71625 +0.7675 +0.89625 +1.085 +1.3125 +1.5175 +1.6925001 +1.9387501 +2.3 +2.78 +3.335 +3.8612497 +4.25125 +4.42625 +4.37875 +4.17375 +3.8899999 +3.6025 +3.335 +3.06875 +2.77 +2.42875 +2.075 +1.77 +1.5574999 +1.4499999 +1.4087499 +1.3612499 +1.2475 +1.05 +0.81375 +0.61999995 +0.53749996 +0.58250004 +0.71624994 +0.85875005 +0.93999994 +0.93874997 +0.8862501 +0.84499997 +0.86625 +0.94 +1.01375 +1.01875 +0.93125 +0.7750001 +0.565 +0.39375 +0.3475 +0.39499998 +0.48125 +0.56250006 +0.56375 +0.47875 +0.34375 +0.20875001 +0.12125 +0.0925 +0.098749995 +0.12375 +0.15 +0.17250001 +0.18125 +0.19624999 +0.225 +0.28 +0.3825 +0.52500004 +0.6625 +0.75 +0.77250004 +0.745 +0.71625 +0.7675 +0.89625 +1.085 +1.3125 +1.5175 +1.6925001 +1.9387501 +2.3 +2.78 +3.335 +3.8612497 +4.25125 +4.42625 +4.37875 +4.17375 +3.8899999 +3.6025 +3.335 +3.06875 +2.77 +2.42875 +2.075 +1.77 +1.5574999 +1.2475 +1.1600001 +1.0699999 +0.92625 +0.71999997 +0.49875003 +0.34875 +0.29500002 +0.33624998 +0.45874998 +0.59749997 +0.675 +0.68125 +0.64875 +0.64375 +0.7037501 +0.8137499 +0.92125 +0.95874995 +0.89125 +0.745 +0.59375 +0.5025 +0.50625 +0.57624996 +0.65624994 +0.68874997 +0.6687499 +0.58375 +0.46 +0.35375 +0.31 +0.3075 +0.32125002 +0.3375 +0.35 +0.35500002 +0.35875002 +0.3625 +0.3775 +0.40749997 +0.45625 +0.52 +0.60249996 +0.6575 +0.665 +0.65500003 +0.68375003 +0.75874996 +0.89125 +1.065 +1.2574999 +1.4575 +1.6775 +1.9537499 +2.3175 +2.7662501 +3.2487502 +3.6825001 +3.98 +4.0912504 +4.0299997 +3.8525 +3.62875 +3.4037502 +3.1850002 +2.945 +2.65125 +2.3075 +1.9475 +1.6275 +1.3900001 +1.2475 +1.1600001 +1.0699999 +0.92625 +0.71999997 +0.49875003 +0.34875 +0.29500002 +0.33624998 +0.45874998 +0.59749997 +0.675 +0.68125 +0.64875 +0.64375 +0.7037501 +0.8137499 +0.92125 +0.95874995 +0.89125 +0.745 +0.59375 +0.5025 +0.50625 +0.57624996 +0.65624994 +0.68874997 +0.6687499 +0.58375 +0.46 +0.35375 +0.31 +0.3075 +0.32125002 +0.3375 +0.35 +0.35500002 +0.35875002 +0.3625 +0.3775 +0.40749997 +0.45625 +0.52 +0.60249996 +0.6575 +0.665 +0.65500003 +0.68375003 +0.75874996 +0.89125 +1.065 +1.2574999 +1.4575 +1.6775 +1.9537499 +2.3175 +2.7662501 +3.2487502 +3.6825001 +3.98 +4.0912504 +4.0299997 +3.8525 +3.62875 +3.4037502 +3.1850002 +2.945 +2.65125 +2.3075 +1.9475 +1.6275 +1.3900001 +1.01625 +0.90250003 +0.78249997 +0.6225 +0.4325 +0.25375 +0.1725 +0.16875 +0.19625 +0.24875002 +0.32999998 +0.40249997 +0.41875 +0.42000002 +0.46000004 +0.56875 +0.72125 +0.85249996 +0.90250003 +0.84749997 +0.71875 +0.5925 +0.5375 +0.5725 +0.66374993 +0.74875003 +0.7725 +0.72125 +0.6275 +0.53375 +0.48499995 +0.48499998 +0.51875 +0.565 +0.60125 +0.62375003 +0.63874996 +0.65250003 +0.66499996 +0.675 +0.68125 +0.68375003 +0.68499994 +0.67875 +0.6675 +0.65500003 +0.65875 +0.69749993 +0.77624995 +0.90500003 +1.06 +1.23 +1.4125 +1.6250001 +1.8912501 +2.225 +2.6125 +2.9975 +3.31 +3.4975002 +3.5375 +3.46125 +3.31875 +3.1599998 +3.00625 +2.84375 +2.6462502 +2.38375 +2.0662498 +1.7275001 +1.41875 +1.17875 +1.01625 +0.90250003 +0.78249997 +0.6225 +0.4325 +0.25375 +0.1725 +0.16875 +0.19625 +0.24875002 +0.32999998 +0.40249997 +0.41875 +0.42000002 +0.46000004 +0.56875 +0.72125 +0.85249996 +0.90250003 +0.84749997 +0.71875 +0.5925 +0.5375 +0.5725 +0.66374993 +0.74875003 +0.7725 +0.72125 +0.6275 +0.53375 +0.48499995 +0.48499998 +0.51875 +0.565 +0.60125 +0.62375003 +0.63874996 +0.65250003 +0.66499996 +0.675 +0.68125 +0.68375003 +0.68499994 +0.67875 +0.6675 +0.65500003 +0.65875 +0.69749993 +0.77624995 +0.90500003 +1.06 +1.23 +1.4125 +1.6250001 +1.8912501 +2.225 +2.6125 +2.9975 +3.31 +3.4975002 +3.5375 +3.46125 +3.31875 +3.1599998 +3.00625 +2.84375 +2.6462502 +2.38375 +2.0662498 +1.7275001 +1.41875 +1.17875 +0.8175 +0.6775 +0.53625 +0.38375 +0.22374998 +0.1425 +0.13125 +0.13625 +0.13625 +0.13625 +0.14999999 +0.17 +0.19125 +0.21499999 +0.29125 +0.43625 +0.60875 +0.74375 +0.7825 +0.71250004 +0.5775 +0.46125 +0.42625 +0.48375 +0.59 +0.67875004 +0.70125 +0.64875 +0.565 +0.49874997 +0.48999998 +0.54125 +0.62375 +0.71125 +0.78125 +0.83374995 +0.8787501 +0.925 +0.96500003 +0.9862499 +0.97625 +0.9375 +0.87125 +0.79249996 +0.72125 +0.67375 +0.66875 +0.71 +0.79625005 +0.91249996 +1.0450001 +1.1825 +1.335 +1.5250001 +1.7637501 +2.05125 +2.36 +2.6375003 +2.8275 +2.9062498 +2.88375 +2.7975001 +2.6937501 +2.59875 +2.5149999 +2.4162502 +2.2725 +2.06 +1.79 +1.49625 +1.21875 +0.99125 +0.8175 +0.6775 +0.53625 +0.38375 +0.22374998 +0.1425 +0.13125 +0.13625 +0.13625 +0.13625 +0.14999999 +0.17 +0.19125 +0.21499999 +0.29125 +0.43625 +0.60875 +0.74375 +0.7825 +0.71250004 +0.5775 +0.46125 +0.42625 +0.48375 +0.59 +0.67875004 +0.70125 +0.64875 +0.565 +0.49874997 +0.48999998 +0.54125 +0.62375 +0.71125 +0.78125 +0.83374995 +0.8787501 +0.925 +0.96500003 +0.9862499 +0.97625 +0.9375 +0.87125 +0.79249996 +0.72125 +0.67375 +0.66875 +0.71 +0.79625005 +0.91249996 +1.0450001 +1.1825 +1.335 +1.5250001 +1.7637501 +2.05125 +2.36 +2.6375003 +2.8275 +2.9062498 +2.88375 +2.7975001 +2.6937501 +2.59875 +2.5149999 +2.4162502 +2.2725 +2.06 +1.79 +1.49625 +1.21875 +0.99125 +0.71750003 +0.54875 +0.38749996 +0.24374999 +0.13874999 +0.1025 +0.09625 +0.1 +0.10125 +0.08875 +0.067499995 +0.05375 +0.06 +0.09 +0.1775 +0.32999995 +0.49999997 +0.61499995 +0.62375003 +0.52875 +0.38375 +0.26 +0.23500001 +0.305 +0.42125002 +0.5125 +0.53499997 +0.48749998 +0.41875002 +0.38125002 +0.41000003 +0.49875003 +0.62 +0.7375 +0.8375 +0.92375 +1.01125 +1.1012499 +1.18 +1.22125 +1.20625 +1.1287501 +1.0037501 +0.8625 +0.74375004 +0.67375004 +0.67125005 +0.725 +0.81875 +0.92875 +1.0375 +1.1425 +1.2712499 +1.425 +1.62875 +1.86625 +2.0975 +2.27375 +2.3587499 +2.3512502 +2.28 +2.1925 +2.12625 +2.0900002 +2.06875 +2.02875 +1.9425001 +1.79375 +1.5899999 +1.355 +1.1199999 +0.90500003 +0.71750003 +0.54875 +0.38749996 +0.24374999 +0.13874999 +0.1025 +0.09625 +0.1 +0.10125 +0.08875 +0.067499995 +0.05375 +0.06 +0.09 +0.1775 +0.32999995 +0.49999997 +0.61499995 +0.62375003 +0.52875 +0.38375 +0.26 +0.23500001 +0.305 +0.42125002 +0.5125 +0.53499997 +0.48749998 +0.41875002 +0.38125002 +0.41000003 +0.49875003 +0.62 +0.7375 +0.8375 +0.92375 +1.01125 +1.1012499 +1.18 +1.22125 +1.20625 +1.1287501 +1.0037501 +0.8625 +0.74375004 +0.67375004 +0.67125005 +0.725 +0.81875 +0.92875 +1.0375 +1.1425 +1.2712499 +1.425 +1.62875 +1.86625 +2.0975 +2.27375 +2.3587499 +2.3512502 +2.28 +2.1925 +2.12625 +2.0900002 +2.06875 +2.02875 +1.9425001 +1.79375 +1.5899999 +1.355 +1.1199999 +0.90500003 +0.77375 +0.5725 +0.37875 +0.21999998 +0.11875 +0.07375 +0.065 +0.0675 +0.0725 +0.06875 +0.06125 +0.0475 +0.05 +0.08125 +0.16750002 +0.30999997 +0.45749998 +0.54 +0.54125 +0.4525 +0.3025 +0.17 +0.112500004 +0.1875 +0.30374998 +0.39124998 +0.41000003 +0.36875004 +0.32875 +0.30249998 +0.3475 +0.45 +0.57875 +0.7025 +0.81499994 +0.92750007 +1.0550001 +1.18875 +1.30625 +1.37125 +1.35375 +1.2487501 +1.085 +0.9100001 +0.78 +0.69499993 +0.70624995 +0.7825 +0.89124995 +1.0 +1.09 +1.21 +1.3262501 +1.45125 +1.5925 +1.75625 +1.9225 +2.0175002 +2.02625 +1.9575 +1.8600001 +1.775 +1.73625 +1.74125 +1.76625 +1.7762499 +1.7475001 +1.665 +1.5375001 +1.3725002 +1.18125 +0.9775 +0.77375 +0.5725 +0.37875 +0.21999998 +0.11875 +0.07375 +0.065 +0.0675 +0.0725 +0.06875 +0.06125 +0.0475 +0.05 +0.08125 +0.16750002 +0.30999997 +0.45749998 +0.54 +0.54125 +0.4525 +0.3025 +0.17 +0.112500004 +0.1875 +0.30374998 +0.39124998 +0.41000003 +0.36875004 +0.32875 +0.30249998 +0.3475 +0.45 +0.57875 +0.7025 +0.81499994 +0.92750007 +1.0550001 +1.18875 +1.30625 +1.37125 +1.35375 +1.2487501 +1.085 +0.9100001 +0.78 +0.69499993 +0.70624995 +0.7825 +0.89124995 +1.0 +1.09 +1.21 +1.3262501 +1.45125 +1.5925 +1.75625 +1.9225 +2.0175002 +2.02625 +1.9575 +1.8600001 +1.775 +1.73625 +1.74125 +1.76625 +1.7762499 +1.7475001 +1.665 +1.5375001 +1.3725002 +1.18125 +0.9775 +0.9937499 +0.75874996 +0.53625 +0.34874997 +0.21249999 +0.14625001 +0.13125 +0.13624999 +0.14875 +0.17124999 +0.1875 +0.19625 +0.20875 +0.23625 +0.305 +0.42000002 +0.53125 +0.60625 +0.6 +0.51 +0.3775 +0.26375 +0.22124998 +0.25375 +0.35250002 +0.42374998 +0.445 +0.4325 +0.4 +0.38125002 +0.39875 +0.47875 +0.58624995 +0.69249994 +0.8025 +0.93125 +1.09 +1.26625 +1.4175 +1.49875 +1.4837499 +1.3662499 +1.195 +1.0387499 +0.91125 +0.84625006 +0.8525 +0.93874997 +1.06375 +1.1775 +1.2987499 +1.4 +1.49 +1.585 +1.6912501 +1.8012501 +1.8887501 +1.9287499 +1.8924999 +1.8062501 +1.69625 +1.6025 +1.5625 +1.585 +1.63125 +1.67625 +1.70125 +1.68875 +1.63625 +1.545 +1.4012499 +1.21375 +0.9937499 +0.75874996 +0.53625 +0.34874997 +0.21249999 +0.14625001 +0.13125 +0.13624999 +0.14875 +0.17124999 +0.1875 +0.19625 +0.20875 +0.23625 +0.305 +0.42000002 +0.53125 +0.60625 +0.6 +0.51 +0.3775 +0.26375 +0.22124998 +0.25375 +0.35250002 +0.42374998 +0.445 +0.4325 +0.4 +0.38125002 +0.39875 +0.47875 +0.58624995 +0.69249994 +0.8025 +0.93125 +1.09 +1.26625 +1.4175 +1.49875 +1.4837499 +1.3662499 +1.195 +1.0387499 +0.91125 +0.84625006 +0.8525 +0.93874997 +1.06375 +1.1775 +1.2987499 +1.4 +1.49 +1.585 +1.6912501 +1.8012501 +1.8887501 +1.9287499 +1.8924999 +1.8062501 +1.69625 +1.6025 +1.5625 +1.585 +1.63125 +1.67625 +1.70125 +1.68875 +1.63625 +1.545 +1.4012499 +1.21375 +1.3112501 +1.0575 +0.81624997 +0.6225 +0.48874998 +0.42125 +0.40124997 +0.41249996 +0.435 +0.45749998 +0.46625 +0.47875 +0.48375002 +0.5025 +0.55 +0.62624997 +0.70875 +0.76125 +0.75750005 +0.69124997 +0.59499997 +0.51375 +0.4825 +0.50624996 +0.56375 +0.60625005 +0.61875 +0.59875 +0.56625 +0.5425 +0.54375 +0.5875 +0.66625005 +0.75124997 +0.86 +1.005 +1.19375 +1.4 +1.5762501 +1.6700001 +1.6575 +1.5437499 +1.39 +1.25125 +1.14625 +1.1025 +1.1325 +1.22 +1.3449999 +1.4725 +1.5825 +1.6650001 +1.72875 +1.78875 +1.855 +1.91875 +1.9625 +1.9637499 +1.9125 +1.8149999 +1.7025 +1.6075001 +1.5525 +1.56625 +1.6137501 +1.6787499 +1.7462499 +1.7987499 +1.8225 +1.8000001 +1.7062501 +1.53875 +1.3112501 +1.0575 +0.81624997 +0.6225 +0.48874998 +0.42125 +0.40124997 +0.41249996 +0.435 +0.45749998 +0.46625 +0.47875 +0.48375002 +0.5025 +0.55 +0.62624997 +0.70875 +0.76125 +0.75750005 +0.69124997 +0.59499997 +0.51375 +0.4825 +0.50624996 +0.56375 +0.60625005 +0.61875 +0.59875 +0.56625 +0.5425 +0.54375 +0.5875 +0.66625005 +0.75124997 +0.86 +1.005 +1.19375 +1.4 +1.5762501 +1.6700001 +1.6575 +1.5437499 +1.39 +1.25125 +1.14625 +1.1025 +1.1325 +1.22 +1.3449999 +1.4725 +1.5825 +1.6650001 +1.72875 +1.78875 +1.855 +1.91875 +1.9625 +1.9637499 +1.9125 +1.8149999 +1.7025 +1.6075001 +1.5525 +1.56625 +1.6137501 +1.6787499 +1.7462499 +1.7987499 +1.8225 +1.8000001 +1.7062501 +1.53875 +1.6112499 +1.3562499 +1.11375 +0.91875 +0.78625 +0.71250004 +0.68125004 +0.67625 +0.68875 +0.705 +0.7225 +0.745 +0.75375 +0.76000005 +0.78 +0.8225 +0.86625004 +0.90625 +0.9187499 +0.89250004 +0.84250003 +0.7925 +0.76500005 +0.7725 +0.7975001 +0.79375 +0.77 +0.73625 +0.69875 +0.66875 +0.65875 +0.7025 +0.7675 +0.85625 +0.98625 +1.16625 +1.385 +1.61375 +1.7975001 +1.8937498 +1.8812499 +1.7824999 +1.635 +1.52125 +1.4462501 +1.41875 +1.45125 +1.5375 +1.6537502 +1.7562499 +1.8399999 +1.9000001 +1.9325 +1.94875 +1.9625 +1.97875 +1.99375 +1.99 +1.9362501 +1.85 +1.7462502 +1.6450001 +1.5737499 +1.5587499 +1.5937501 +1.6675001 +1.7699999 +1.8824999 +1.9775 +2.0162501 +1.97125 +1.83 +1.6112499 +1.3562499 +1.11375 +0.91875 +0.78625 +0.71250004 +0.68125004 +0.67625 +0.68875 +0.705 +0.7225 +0.745 +0.75375 +0.76000005 +0.78 +0.8225 +0.86625004 +0.90625 +0.9187499 +0.89250004 +0.84250003 +0.7925 +0.76500005 +0.7725 +0.7975001 +0.79375 +0.77 +0.73625 +0.69875 +0.66875 +0.65875 +0.7025 +0.7675 +0.85625 +0.98625 +1.16625 +1.385 +1.61375 +1.7975001 +1.8937498 +1.8812499 +1.7824999 +1.635 +1.52125 +1.4462501 +1.41875 +1.45125 +1.5375 +1.6537502 +1.7562499 +1.8399999 +1.9000001 +1.9325 +1.94875 +1.9625 +1.97875 +1.99375 +1.99 +1.9362501 +1.85 +1.7462502 +1.6450001 +1.5737499 +1.5587499 +1.5937501 +1.6675001 +1.7699999 +1.8824999 +1.9775 +2.0162501 +1.97125 +1.83 +1.775 +1.5425 +1.3149999 +1.1225001 +0.98 +0.88249993 +0.81999993 +0.78625 +0.78375 +0.80375 +0.84 +0.87624997 +0.89500004 +0.895 +0.885 +0.88 +0.88625 +0.9125 +0.95000005 +0.96875 +0.96 +0.93125 +0.91249996 +0.89875 +0.8725 +0.83 +0.7725 +0.71625 +0.675 +0.66375 +0.6825 +0.73375 +0.82124996 +0.9525 +1.14 +1.37375 +1.6275 +1.8600001 +2.02875 +2.10375 +2.0825 +1.9962499 +1.88 +1.7725002 +1.6962501 +1.6700001 +1.6899999 +1.75125 +1.83375 +1.9112501 +1.9575 +1.97125 +1.9612501 +1.92375 +1.8775 +1.84625 +1.8462499 +1.8525001 +1.83125 +1.77 +1.6775 +1.5725001 +1.4825001 +1.44 +1.4575 +1.5387499 +1.6725001 +1.835 +1.9875001 +2.08 +2.07625 +1.9675 +1.775 +1.5425 +1.3149999 +1.1225001 +0.98 +0.88249993 +0.81999993 +0.78625 +0.78375 +0.80375 +0.84 +0.87624997 +0.89500004 +0.895 +0.885 +0.88 +0.88625 +0.9125 +0.95000005 +0.96875 +0.96 +0.93125 +0.91249996 +0.89875 +0.8725 +0.83 +0.7725 +0.71625 +0.675 +0.66375 +0.6825 +0.73375 +0.82124996 +0.9525 +1.14 +1.37375 +1.6275 +1.8600001 +2.02875 +2.10375 +2.0825 +1.9962499 +1.88 +1.7725002 +1.6962501 +1.6700001 +1.6899999 +1.75125 +1.83375 +1.9112501 +1.9575 +1.97125 +1.9612501 +1.92375 +1.8775 +1.84625 +1.8462499 +1.8525001 +1.83125 +1.77 +1.6775 +1.5725001 +1.4825001 +1.44 +1.4575 +1.5387499 +1.6725001 +1.835 +1.9875001 +2.08 +2.07625 +1.9675 +1.73875 +1.5425 +1.3425 +1.1600001 +1.0024999 +0.86625 +0.7575 +0.6875 +0.66875 +0.7 +0.7624999 +0.82374996 +0.85125 +0.83000004 +0.77125 +0.71250004 +0.68375003 +0.7075 +0.77 +0.82625 +0.84875 +0.84250003 +0.8125 +0.75875 +0.6925 +0.62875 +0.5725 +0.5325 +0.5125 +0.51875 +0.55875 +0.6475 +0.79375005 +1.00625 +1.2762501 +1.57 +1.84375 +2.0525 +2.17125 +2.19375 +2.1437502 +2.0575 +1.9625001 +1.87375 +1.7962499 +1.7375 +1.7049999 +1.7062501 +1.74125 +1.78875 +1.81375 +1.7887499 +1.7225001 +1.625 +1.52125 +1.44875 +1.43875 +1.4725 +1.50375 +1.495 +1.42875 +1.325 +1.2149999 +1.14625 +1.1512501 +1.2425 +1.40875 +1.6125 +1.8050001 +1.9312501 +1.9637501 +1.8912499 +1.73875 +1.5425 +1.3425 +1.1600001 +1.0024999 +0.86625 +0.7575 +0.6875 +0.66875 +0.7 +0.7624999 +0.82374996 +0.85125 +0.83000004 +0.77125 +0.71250004 +0.68375003 +0.7075 +0.77 +0.82625 +0.84875 +0.84250003 +0.8125 +0.75875 +0.6925 +0.62875 +0.5725 +0.5325 +0.5125 +0.51875 +0.55875 +0.6475 +0.79375005 +1.00625 +1.2762501 +1.57 +1.84375 +2.0525 +2.17125 +2.19375 +2.1437502 +2.0575 +1.9625001 +1.87375 +1.7962499 +1.7375 +1.7049999 +1.7062501 +1.74125 +1.78875 +1.81375 +1.7887499 +1.7225001 +1.625 +1.52125 +1.44875 +1.43875 +1.4725 +1.50375 +1.495 +1.42875 +1.325 +1.2149999 +1.14625 +1.1512501 +1.2425 +1.40875 +1.6125 +1.8050001 +1.9312501 +1.9637501 +1.8912499 +1.5287501 +1.38125 +1.2149999 +1.0424999 +0.86375 +0.68625 +0.52875 +0.42125002 +0.38625002 +0.43 +0.52 +0.60249996 +0.625 +0.56875 +0.46499997 +0.37 +0.31125003 +0.3275 +0.40375 +0.49375 +0.5375 +0.53499997 +0.48625 +0.41625 +0.34500003 +0.28625 +0.255 +0.24875 +0.26 +0.29375002 +0.36625 +0.5125 +0.73625 +1.04 +1.3874999 +1.71875 +1.98 +2.12625 +2.1525 +2.08875 +1.9825 +1.8725 +1.77875 +1.69125 +1.5987501 +1.4999999 +1.40875 +1.35375 +1.3449999 +1.3675001 +1.3812499 +1.3362501 +1.23 +1.085 +0.93625 +0.83875 +0.82375 +0.9 +0.995 +1.0450001 +1.015 +0.91625 +0.79124993 +0.7075 +0.71125 +0.82375 +1.02 +1.25375 +1.46875 +1.6187499 +1.6750001 +1.6387501 +1.5287501 +1.38125 +1.2149999 +1.0424999 +0.86375 +0.68625 +0.52875 +0.42125002 +0.38625002 +0.43 +0.52 +0.60249996 +0.625 +0.56875 +0.46499997 +0.37 +0.31125003 +0.3275 +0.40375 +0.49375 +0.5375 +0.53499997 +0.48625 +0.41625 +0.34500003 +0.28625 +0.255 +0.24875 +0.26 +0.29375002 +0.36625 +0.5125 +0.73625 +1.04 +1.3874999 +1.71875 +1.98 +2.12625 +2.1525 +2.08875 +1.9825 +1.8725 +1.77875 +1.69125 +1.5987501 +1.4999999 +1.40875 +1.35375 +1.3449999 +1.3675001 +1.3812499 +1.3362501 +1.23 +1.085 +0.93625 +0.83875 +0.82375 +0.9 +0.995 +1.0450001 +1.015 +0.91625 +0.79124993 +0.7075 +0.71125 +0.82375 +1.02 +1.25375 +1.46875 +1.6187499 +1.6750001 +1.6387501 +1.2575 +1.15625 +1.025 +0.86 +0.6625 +0.45 +0.28 +0.17125 +0.13374999 +0.1625 +0.23375 +0.31625003 +0.32625002 +0.26375002 +0.14625 +0.06375 +0.03625 +0.042499997 +0.083749995 +0.14875 +0.19375 +0.1925 +0.155 +0.10874999 +0.07625 +0.05875 +0.06 +0.07874999 +0.11 +0.16 +0.26625 +0.45625 +0.74625003 +1.1125001 +1.4975001 +1.8225 +2.02125 +2.0612497 +1.96375 +1.78875 +1.60625 +1.45625 +1.3462499 +1.2512499 +1.14125 +1.0074999 +0.87874997 +0.78874993 +0.76125 +0.77875 +0.79375 +0.74249995 +0.6275 +0.47 +0.32625 +0.2525 +0.25 +0.315 +0.455 +0.5575 +0.55625004 +0.46249998 +0.35625002 +0.28125 +0.2925 +0.39374998 +0.6125 +0.8687501 +1.095 +1.2537501 +1.3275 +1.32 +1.2575 +1.15625 +1.025 +0.86 +0.6625 +0.45 +0.28 +0.17125 +0.13374999 +0.1625 +0.23375 +0.31625003 +0.32625002 +0.26375002 +0.14625 +0.06375 +0.03625 +0.042499997 +0.083749995 +0.14875 +0.19375 +0.1925 +0.155 +0.10874999 +0.07625 +0.05875 +0.06 +0.07874999 +0.11 +0.16 +0.26625 +0.45625 +0.74625003 +1.1125001 +1.4975001 +1.8225 +2.02125 +2.0612497 +1.96375 +1.78875 +1.60625 +1.45625 +1.3462499 +1.2512499 +1.14125 +1.0074999 +0.87874997 +0.78874993 +0.76125 +0.77875 +0.79375 +0.74249995 +0.6275 +0.47 +0.32625 +0.2525 +0.25 +0.315 +0.455 +0.5575 +0.55625004 +0.46249998 +0.35625002 +0.28125 +0.2925 +0.39374998 +0.6125 +0.8687501 +1.095 +1.2537501 +1.3275 +1.32 +1.07125 +1.0125 +0.90625 +0.74249995 +0.525 +0.3025 +0.1575 +0.11375 +0.08875 +0.0675 +0.07625 +0.1225 +0.13 +0.07375 +0.030000001 +0.0025 +0.0 +0.0 +0.0 +0.005 +0.0175 +0.024999999 +0.03375 +0.0425 +0.0475 +0.04875 +0.072500005 +0.11625 +0.17374998 +0.25 +0.37875 +0.59375 +0.9075 +1.28125 +1.6424999 +1.9012499 +1.9937501 +1.9037501 +1.67625 +1.3924999 +1.13375 +0.94124997 +0.81125 +0.70500004 +0.58875 +0.44875002 +0.335 +0.26999998 +0.25124997 +0.26625 +0.27875 +0.245 +0.1625 +0.05625 +0.00125 +0.0 +0.0 +0.018749999 +0.1075 +0.19999999 +0.21875 +0.15 +0.081250004 +0.06875 +0.09375 +0.15750001 +0.3225 +0.58250004 +0.81125 +0.97249997 +1.0625 +1.0912501 +1.07125 +1.0125 +0.90625 +0.74249995 +0.525 +0.3025 +0.1575 +0.11375 +0.08875 +0.0675 +0.07625 +0.1225 +0.13 +0.07375 +0.030000001 +0.0025 +0.0 +0.0 +0.0 +0.005 +0.0175 +0.024999999 +0.03375 +0.0425 +0.0475 +0.04875 +0.072500005 +0.11625 +0.17374998 +0.25 +0.37875 +0.59375 +0.9075 +1.28125 +1.6424999 +1.9012499 +1.9937501 +1.9037501 +1.67625 +1.3924999 +1.13375 +0.94124997 +0.81125 +0.70500004 +0.58875 +0.44875002 +0.335 +0.26999998 +0.25124997 +0.26625 +0.27875 +0.245 +0.1625 +0.05625 +0.00125 +0.0 +0.0 +0.018749999 +0.1075 +0.19999999 +0.21875 +0.15 +0.081250004 +0.06875 +0.09375 +0.15750001 +0.3225 +0.58250004 +0.81125 +0.97249997 +1.0625 +1.0912501 +1.45625 +1.6262498 +1.7700001 +1.86375 +1.8787501 +1.8050001 +1.65625 +1.46625 +1.2624999 +1.0687499 +0.89124995 +0.72625 +0.5775 +0.45000002 +0.35625 +0.29625002 +0.27375 +0.24375 +0.16 +0.04625 +0.0025 +0.0075 +0.03375 +0.0475 +0.05375 +0.09875 +0.22250001 +0.3225 +0.37374997 +0.41000003 +0.47000003 +0.57624996 +0.725 +0.90125 +1.08625 +1.27 +1.44875 +1.61375 +1.7537502 +1.8425001 +1.855 +1.78 +1.63125 +1.4449999 +1.2462499 +1.05625 +0.88124996 +0.72125 +0.575 +0.45250002 +0.365 +0.3075 +0.28875 +0.2575 +0.17125 +0.052500002 +0.0025 +0.0075 +0.03 +0.04125 +0.04625 +0.095 +0.215 +0.30875 +0.35874996 +0.39749998 +0.45874995 +0.5675 +0.72125 +0.90125 +1.08875 +1.275 +1.45625 +1.6262498 +1.7700001 +1.86375 +1.8787501 +1.8050001 +1.65625 +1.46625 +1.2624999 +1.0687499 +0.89124995 +0.72625 +0.5775 +0.45000002 +0.35625 +0.29625002 +0.27375 +0.24375 +0.16 +0.04625 +0.0025 +0.0075 +0.03375 +0.0475 +0.05375 +0.09875 +0.22250001 +0.3225 +0.37374997 +0.41000003 +0.47000003 +0.57624996 +0.725 +0.90125 +1.08625 +1.27 +1.44875 +1.61375 +1.7537502 +1.8425001 +1.855 +1.78 +1.63125 +1.4449999 +1.2462499 +1.05625 +0.88124996 +0.72125 +0.575 +0.45250002 +0.365 +0.3075 +0.28875 +0.2575 +0.17125 +0.052500002 +0.0025 +0.0075 +0.03 +0.04125 +0.04625 +0.095 +0.215 +0.30875 +0.35874996 +0.39749998 +0.45874995 +0.5675 +0.72125 +0.90125 +1.08875 +1.275 +1.4637499 +1.6575 +1.8225 +1.9299998 +1.9525001 +1.8787501 +1.72125 +1.5137501 +1.2900001 +1.07625 +0.88375 +0.71250004 +0.5575 +0.43125 +0.33624998 +0.27875003 +0.25 +0.23125 +0.17 +0.075 +0.00625 +0.0175 +0.0425 +0.05625 +0.067499995 +0.13125 +0.25375 +0.34875003 +0.39125 +0.41750002 +0.46375 +0.555 +0.6925 +0.86375 +1.05625 +1.25 +1.435 +1.6075 +1.74375 +1.8225 +1.82375 +1.73875 +1.585 +1.3924999 +1.18625 +0.9925 +0.815 +0.6575 +0.52625 +0.42625 +0.365 +0.33125 +0.32 +0.29875 +0.21875 +0.098749995 +0.01 +0.0175 +0.03125 +0.03625 +0.04375 +0.125 +0.22125001 +0.28750002 +0.31625 +0.3425 +0.40249997 +0.5125 +0.6700001 +0.8562499 +1.05625 +1.2625 +1.4637499 +1.6575 +1.8225 +1.9299998 +1.9525001 +1.8787501 +1.72125 +1.5137501 +1.2900001 +1.07625 +0.88375 +0.71250004 +0.5575 +0.43125 +0.33624998 +0.27875003 +0.25 +0.23125 +0.17 +0.075 +0.00625 +0.0175 +0.0425 +0.05625 +0.067499995 +0.13125 +0.25375 +0.34875003 +0.39125 +0.41750002 +0.46375 +0.555 +0.6925 +0.86375 +1.05625 +1.25 +1.435 +1.6075 +1.74375 +1.8225 +1.82375 +1.73875 +1.585 +1.3924999 +1.18625 +0.9925 +0.815 +0.6575 +0.52625 +0.42625 +0.365 +0.33125 +0.32 +0.29875 +0.21875 +0.098749995 +0.01 +0.0175 +0.03125 +0.03625 +0.04375 +0.125 +0.22125001 +0.28750002 +0.31625 +0.3425 +0.40249997 +0.5125 +0.6700001 +0.8562499 +1.05625 +1.2625 +1.42875 +1.6612501 +1.8674998 +2.01125 +2.05625 +1.985 +1.81625 +1.58375 +1.33 +1.0912501 +0.8775 +0.695 +0.53625 +0.40750003 +0.31 +0.25375003 +0.23249999 +0.225 +0.19874999 +0.13 +0.0475 +0.01375 +0.03875 +0.055 +0.0725 +0.1575 +0.28124997 +0.36875 +0.405 +0.41250002 +0.42875004 +0.485 +0.59749997 +0.76125 +0.95875 +1.1675 +1.36875 +1.54625 +1.6800001 +1.7425001 +1.725 +1.6275 +1.4625 +1.26125 +1.04875 +0.84499997 +0.66375005 +0.51375 +0.40375 +0.34125 +0.32250002 +0.335 +0.35625002 +0.34875 +0.27124998 +0.14250001 +0.03875 +0.02375 +0.02875 +0.0275 +0.07625 +0.1575 +0.22125 +0.24 +0.23124999 +0.23625 +0.28625 +0.3975 +0.55875 +0.7525 +0.96375 +1.19125 +1.42875 +1.6612501 +1.8674998 +2.01125 +2.05625 +1.985 +1.81625 +1.58375 +1.33 +1.0912501 +0.8775 +0.695 +0.53625 +0.40750003 +0.31 +0.25375003 +0.23249999 +0.225 +0.19874999 +0.13 +0.0475 +0.01375 +0.03875 +0.055 +0.0725 +0.1575 +0.28124997 +0.36875 +0.405 +0.41250002 +0.42875004 +0.485 +0.59749997 +0.76125 +0.95875 +1.1675 +1.36875 +1.54625 +1.6800001 +1.7425001 +1.725 +1.6275 +1.4625 +1.26125 +1.04875 +0.84499997 +0.66375005 +0.51375 +0.40375 +0.34125 +0.32250002 +0.335 +0.35625002 +0.34875 +0.27124998 +0.14250001 +0.03875 +0.02375 +0.02875 +0.0275 +0.07625 +0.1575 +0.22125 +0.24 +0.23124999 +0.23625 +0.28625 +0.3975 +0.55875 +0.7525 +0.96375 +1.19125 +1.3037499 +1.58 +1.835 +2.02 +2.09375 +2.03875 +1.8675001 +1.61875 +1.345 +1.0899999 +0.87375003 +0.69875 +0.54375 +0.4125 +0.31375 +0.25375 +0.23124999 +0.24124998 +0.25 +0.21625 +0.135 +0.04375 +0.01625 +0.03625 +0.0575 +0.12875 +0.25000003 +0.33875 +0.36875 +0.35375 +0.3325 +0.34750003 +0.42375004 +0.57000005 +0.77 +0.9937499 +1.2099999 +1.3925 +1.515 +1.56 +1.525 +1.415 +1.24875 +1.0487499 +0.83375 +0.625 +0.43875 +0.29625 +0.21000001 +0.18875 +0.21625 +0.28125 +0.34000003 +0.33375 +0.25125 +0.11874999 +0.0425 +0.026250001 +0.01875 +0.0325 +0.10874999 +0.17 +0.17875 +0.14875 +0.11875 +0.12 +0.15750001 +0.24375 +0.39875004 +0.5875 +0.8 +1.0375 +1.3037499 +1.58 +1.835 +2.02 +2.09375 +2.03875 +1.8675001 +1.61875 +1.345 +1.0899999 +0.87375003 +0.69875 +0.54375 +0.4125 +0.31375 +0.25375 +0.23124999 +0.24124998 +0.25 +0.21625 +0.135 +0.04375 +0.01625 +0.03625 +0.0575 +0.12875 +0.25000003 +0.33875 +0.36875 +0.35375 +0.3325 +0.34750003 +0.42375004 +0.57000005 +0.77 +0.9937499 +1.2099999 +1.3925 +1.515 +1.56 +1.525 +1.415 +1.24875 +1.0487499 +0.83375 +0.625 +0.43875 +0.29625 +0.21000001 +0.18875 +0.21625 +0.28125 +0.34000003 +0.33375 +0.25125 +0.11874999 +0.0425 +0.026250001 +0.01875 +0.0325 +0.10874999 +0.17 +0.17875 +0.14875 +0.11875 +0.12 +0.15750001 +0.24375 +0.39875004 +0.5875 +0.8 +1.0375 +1.0875 +1.39125 +1.6837499 +1.9075 +2.0175 +1.9837501 +1.8237499 +1.5812501 +1.31625 +1.0762501 +0.88250005 +0.7425 +0.61249995 +0.48250002 +0.3675 +0.295 +0.265 +0.28750002 +0.31875002 +0.31125 +0.23875001 +0.12 +0.0225 +0.00625 +0.021249998 +0.057499997 +0.175 +0.28875 +0.325 +0.27875 +0.1925 +0.16875 +0.21124998 +0.32375 +0.5225 +0.755 +0.98125 +1.16 +1.2637501 +1.2887499 +1.24 +1.1275 +0.975 +0.8175 +0.62750006 +0.41625 +0.21125 +0.08875 +0.045 +0.04 +0.08625 +0.19 +0.2525 +0.22874999 +0.1275 +0.0525 +0.01375 +0.00875 +0.0025 +0.02375 +0.0875 +0.1225 +0.087500006 +0.058750004 +0.04625 +0.05125 +0.07375 +0.12499999 +0.225 +0.38624996 +0.58 +0.8112499 +1.0875 +1.39125 +1.6837499 +1.9075 +2.0175 +1.9837501 +1.8237499 +1.5812501 +1.31625 +1.0762501 +0.88250005 +0.7425 +0.61249995 +0.48250002 +0.3675 +0.295 +0.265 +0.28750002 +0.31875002 +0.31125 +0.23875001 +0.12 +0.0225 +0.00625 +0.021249998 +0.057499997 +0.175 +0.28875 +0.325 +0.27875 +0.1925 +0.16875 +0.21124998 +0.32375 +0.5225 +0.755 +0.98125 +1.16 +1.2637501 +1.2887499 +1.24 +1.1275 +0.975 +0.8175 +0.62750006 +0.41625 +0.21125 +0.08875 +0.045 +0.04 +0.08625 +0.19 +0.2525 +0.22874999 +0.1275 +0.0525 +0.01375 +0.00875 +0.0025 +0.02375 +0.0875 +0.1225 +0.087500006 +0.058750004 +0.04625 +0.05125 +0.07375 +0.12499999 +0.225 +0.38624996 +0.58 +0.8112499 +0.8275 +1.14375 +1.45875 +1.7125001 +1.8475 +1.84125 +1.7037499 +1.4875 +1.25375 +1.0575 +0.91 +0.81500006 +0.71875 +0.60375 +0.48000002 +0.38 +0.3375 +0.35250002 +0.39000002 +0.39249998 +0.32 +0.18 +0.048750002 +0.005 +0.0025 +0.01375 +0.098749995 +0.22875 +0.27499998 +0.21875 +0.103750005 +0.05375 +0.07125 +0.14 +0.31 +0.54499996 +0.7675 +0.9325 +1.0150001 +1.0224999 +0.96375 +0.86375004 +0.75125 +0.625 +0.455 +0.25 +0.073750004 +0.015 +0.0025 +0.0 +0.02125 +0.09875 +0.14375001 +0.09125 +0.035 +0.00625 +0.0 +0.0 +0.0 +0.00375 +0.024999999 +0.04 +0.022499999 +0.025 +0.0325 +0.0425 +0.0525 +0.0725 +0.1225 +0.21875 +0.35375 +0.55875 +0.8275 +1.14375 +1.45875 +1.7125001 +1.8475 +1.84125 +1.7037499 +1.4875 +1.25375 +1.0575 +0.91 +0.81500006 +0.71875 +0.60375 +0.48000002 +0.38 +0.3375 +0.35250002 +0.39000002 +0.39249998 +0.32 +0.18 +0.048750002 +0.005 +0.0025 +0.01375 +0.098749995 +0.22875 +0.27499998 +0.21875 +0.103750005 +0.05375 +0.07125 +0.14 +0.31 +0.54499996 +0.7675 +0.9325 +1.0150001 +1.0224999 +0.96375 +0.86375004 +0.75125 +0.625 +0.455 +0.25 +0.073750004 +0.015 +0.0025 +0.0 +0.02125 +0.09875 +0.14375001 +0.09125 +0.035 +0.00625 +0.0 +0.0 +0.0 +0.00375 +0.024999999 +0.04 +0.022499999 +0.025 +0.0325 +0.0425 +0.0525 +0.0725 +0.1225 +0.21875 +0.35375 +0.55875 +0.61249995 +0.92875004 +1.2524999 +1.52 +1.67 +1.68 +1.5675 +1.38625 +1.20125 +1.0600001 +0.9675 +0.9125 +0.84999996 +0.74625 +0.60875 +0.48874998 +0.41625002 +0.41375 +0.45 +0.45250002 +0.37625003 +0.22375 +0.06875 +0.01 +0.01875 +0.01375 +0.0825 +0.22249998 +0.27875 +0.21875 +0.1 +0.0475 +0.06625 +0.10125 +0.24249999 +0.47 +0.6825 +0.82750005 +0.88625 +0.87375 +0.81374997 +0.725 +0.63125 +0.5325 +0.38625 +0.20250002 +0.040000003 +0.0125 +0.01875 +0.0 +0.01875 +0.09125 +0.11125 +0.045 +0.00875 +0.0 +0.00125 +0.00625 +0.0 +0.0 +0.00625 +0.0075 +0.01375 +0.0325 +0.04375 +0.04625 +0.04875 +0.0625 +0.095 +0.14874999 +0.22875 +0.36 +0.61249995 +0.92875004 +1.2524999 +1.52 +1.67 +1.68 +1.5675 +1.38625 +1.20125 +1.0600001 +0.9675 +0.9125 +0.84999996 +0.74625 +0.60875 +0.48874998 +0.41625002 +0.41375 +0.45 +0.45250002 +0.37625003 +0.22375 +0.06875 +0.01 +0.01875 +0.01375 +0.0825 +0.22249998 +0.27875 +0.21875 +0.1 +0.0475 +0.06625 +0.10125 +0.24249999 +0.47 +0.6825 +0.82750005 +0.88625 +0.87375 +0.81374997 +0.725 +0.63125 +0.5325 +0.38625 +0.20250002 +0.040000003 +0.0125 +0.01875 +0.0 +0.01875 +0.09125 +0.11125 +0.045 +0.00875 +0.0 +0.00125 +0.00625 +0.0 +0.0 +0.00625 +0.0075 +0.01375 +0.0325 +0.04375 +0.04625 +0.04875 +0.0625 +0.095 +0.14874999 +0.22875 +0.36 +0.515 +0.82874995 +1.155 +1.42 +1.56875 +1.5799999 +1.485 +1.3374999 +1.2 +1.1087501 +1.06625 +1.0375 +0.98249996 +0.87499994 +0.735 +0.5975 +0.50625 +0.47375 +0.49874997 +0.5075 +0.43124998 +0.27 +0.0975 +0.05625 +0.06375 +0.0775 +0.18 +0.3075 +0.36999997 +0.30624998 +0.2 +0.122499995 +0.113749996 +0.18249999 +0.3475 +0.5725 +0.77125 +0.8949999 +0.93375003 +0.9075 +0.84375 +0.77000004 +0.68625 +0.58250004 +0.4525 +0.2725 +0.13749999 +0.075 +0.067499995 +0.0775 +0.1225 +0.21625 +0.2175 +0.1225 +0.0112499995 +0.01 +0.0325 +0.03375 +0.01875 +0.0475 +0.08 +0.081250004 +0.056250002 +0.0575 +0.06875 +0.0675 +0.065 +0.07375 +0.105 +0.155 +0.21375 +0.30124998 +0.515 +0.82874995 +1.155 +1.42 +1.56875 +1.5799999 +1.485 +1.3374999 +1.2 +1.1087501 +1.06625 +1.0375 +0.98249996 +0.87499994 +0.735 +0.5975 +0.50625 +0.47375 +0.49874997 +0.5075 +0.43124998 +0.27 +0.0975 +0.05625 +0.06375 +0.0775 +0.18 +0.3075 +0.36999997 +0.30624998 +0.2 +0.122499995 +0.113749996 +0.18249999 +0.3475 +0.5725 +0.77125 +0.8949999 +0.93375003 +0.9075 +0.84375 +0.77000004 +0.68625 +0.58250004 +0.4525 +0.2725 +0.13749999 +0.075 +0.067499995 +0.0775 +0.1225 +0.21625 +0.2175 +0.1225 +0.0112499995 +0.01 +0.0325 +0.03375 +0.01875 +0.0475 +0.08 +0.081250004 +0.056250002 +0.0575 +0.06875 +0.0675 +0.065 +0.07375 +0.105 +0.155 +0.21375 +0.30124998 +0.56125 +0.86875004 +1.1912501 +1.4424999 +1.5724999 +1.5724999 +1.4825001 +1.35875 +1.26 +1.2125 +1.20625 +1.1925001 +1.13625 +1.0162499 +0.85625 +0.705 +0.6125 +0.58750004 +0.59375 +0.585 +0.5125 +0.35875 +0.2175 +0.14124998 +0.13499999 +0.21625 +0.36874998 +0.5 +0.53999996 +0.47625 +0.35625002 +0.26375002 +0.2575 +0.36625 +0.5625 +0.785 +0.96875 +1.075 +1.0987501 +1.065 +1.005 +0.9412499 +0.86875 +0.77500004 +0.645 +0.48499998 +0.33249998 +0.235 +0.22375001 +0.29874998 +0.41125003 +0.48250002 +0.465 +0.325 +0.17249998 +0.10124999 +0.1 +0.12875 +0.19125 +0.285 +0.3425 +0.29999998 +0.21 +0.14 +0.112500004 +0.11375 +0.123749994 +0.13749999 +0.15249999 +0.18875 +0.24374999 +0.34375 +0.56125 +0.86875004 +1.1912501 +1.4424999 +1.5724999 +1.5724999 +1.4825001 +1.35875 +1.26 +1.2125 +1.20625 +1.1925001 +1.13625 +1.0162499 +0.85625 +0.705 +0.6125 +0.58750004 +0.59375 +0.585 +0.5125 +0.35875 +0.2175 +0.14124998 +0.13499999 +0.21625 +0.36874998 +0.5 +0.53999996 +0.47625 +0.35625002 +0.26375002 +0.2575 +0.36625 +0.5625 +0.785 +0.96875 +1.075 +1.0987501 +1.065 +1.005 +0.9412499 +0.86875 +0.77500004 +0.645 +0.48499998 +0.33249998 +0.235 +0.22375001 +0.29874998 +0.41125003 +0.48250002 +0.465 +0.325 +0.17249998 +0.10124999 +0.1 +0.12875 +0.19125 +0.285 +0.3425 +0.29999998 +0.21 +0.14 +0.112500004 +0.11375 +0.123749994 +0.13749999 +0.15249999 +0.18875 +0.24374999 +0.34375 +0.68375003 +0.99875 +1.31 +1.5374999 +1.6387501 +1.62125 +1.5274999 +1.4275 +1.365 +1.3575001 +1.37625 +1.3687499 +1.30125 +1.16625 +0.99875 +0.8525 +0.77750003 +0.7687501 +0.7875 +0.775 +0.68625 +0.52875 +0.36374998 +0.26624998 +0.27875 +0.39124998 +0.545 +0.65375 +0.66499996 +0.58500004 +0.4625 +0.38375 +0.4025 +0.5325 +0.7375 +0.95375 +1.12375 +1.21375 +1.2312499 +1.1975 +1.145 +1.09125 +1.0287501 +0.9425 +0.8175 +0.66499996 +0.52750003 +0.44875 +0.46874997 +0.57625 +0.71124995 +0.8025 +0.785 +0.66125 +0.4875 +0.35375 +0.33 +0.42375 +0.57750005 +0.69875 +0.71875 +0.63125 +0.48250002 +0.34249997 +0.2675 +0.26375002 +0.29125 +0.305 +0.28624997 +0.27749997 +0.32625 +0.45250002 +0.68375003 +0.99875 +1.31 +1.5374999 +1.6387501 +1.62125 +1.5274999 +1.4275 +1.365 +1.3575001 +1.37625 +1.3687499 +1.30125 +1.16625 +0.99875 +0.8525 +0.77750003 +0.7687501 +0.7875 +0.775 +0.68625 +0.52875 +0.36374998 +0.26624998 +0.27875 +0.39124998 +0.545 +0.65375 +0.66499996 +0.58500004 +0.4625 +0.38375 +0.4025 +0.5325 +0.7375 +0.95375 +1.12375 +1.21375 +1.2312499 +1.1975 +1.145 +1.09125 +1.0287501 +0.9425 +0.8175 +0.66499996 +0.52750003 +0.44875 +0.46874997 +0.57625 +0.71124995 +0.8025 +0.785 +0.66125 +0.4875 +0.35375 +0.33 +0.42375 +0.57750005 +0.69875 +0.71875 +0.63125 +0.48250002 +0.34249997 +0.2675 +0.26375002 +0.29125 +0.305 +0.28624997 +0.27749997 +0.32625 +0.45250002 +0.82375 +1.1299999 +1.42125 +1.6199999 +1.6912501 +1.6512501 +1.5612502 +1.49 +1.47125 +1.51 +1.5587499 +1.5662501 +1.5000001 +1.3675001 +1.21625 +1.105 +1.065 +1.0812501 +1.1012499 +1.06 +0.92499995 +0.72499996 +0.52625 +0.4075 +0.4075 +0.50375 +0.6212499 +0.68375003 +0.65250003 +0.54249996 +0.41875002 +0.35500002 +0.39749998 +0.54375 +0.74625 +0.94624996 +1.09375 +1.1675 +1.17875 +1.1525 +1.115 +1.07375 +1.02125 +0.94 +0.8212501 +0.68 +0.5625 +0.51375 +0.56374997 +0.7025 +0.86625 +0.97625005 +0.98 +0.87874997 +0.73875 +0.64750004 +0.66875005 +0.7962501 +0.9675 +1.085 +1.08 +0.955 +0.77375 +0.6175 +0.53625 +0.53000003 +0.55125004 +0.54875004 +0.5075 +0.45875 +0.46875 +0.5875 +0.82375 +1.1299999 +1.42125 +1.6199999 +1.6912501 +1.6512501 +1.5612502 +1.49 +1.47125 +1.51 +1.5587499 +1.5662501 +1.5000001 +1.3675001 +1.21625 +1.105 +1.065 +1.0812501 +1.1012499 +1.06 +0.92499995 +0.72499996 +0.52625 +0.4075 +0.4075 +0.50375 +0.6212499 +0.68375003 +0.65250003 +0.54249996 +0.41875002 +0.35500002 +0.39749998 +0.54375 +0.74625 +0.94624996 +1.09375 +1.1675 +1.17875 +1.1525 +1.115 +1.07375 +1.02125 +0.94 +0.8212501 +0.68 +0.5625 +0.51375 +0.56374997 +0.7025 +0.86625 +0.97625005 +0.98 +0.87874997 +0.73875 +0.64750004 +0.66875005 +0.7962501 +0.9675 +1.085 +1.08 +0.955 +0.77375 +0.6175 +0.53625 +0.53000003 +0.55125004 +0.54875004 +0.5075 +0.45875 +0.46875 +0.5875 +0.91625 +1.1999999 +1.46375 +1.63125 +1.6712499 +1.61625 +1.5374999 +1.50125 +1.5425 +1.64 +1.74 +1.78375 +1.7475 +1.65125 +1.5550001 +1.51 +1.5275 +1.57375 +1.575 +1.47 +1.245 +0.9549999 +0.68375003 +0.51625 +0.4775 +0.53499997 +0.6025 +0.62624997 +0.55 +0.39375 +0.24125001 +0.19250001 +0.25 +0.39749998 +0.58375 +0.74749994 +0.85249996 +0.89874995 +0.89750004 +0.8787501 +0.85875 +0.83375 +0.79375005 +0.7425 +0.64250004 +0.50374997 +0.3875 +0.3675 +0.44625002 +0.60875005 +0.78875 +0.915 +0.93375003 +0.85875 +0.75624996 +0.71750003 +0.79749995 +0.9825 +1.195 +1.33 +1.3275001 +1.1925 +1.00125 +0.84499997 +0.77250004 +0.77875006 +0.80499995 +0.79249996 +0.725 +0.64125 +0.61375 +0.70375 +0.91625 +1.1999999 +1.46375 +1.63125 +1.6712499 +1.61625 +1.5374999 +1.50125 +1.5425 +1.64 +1.74 +1.78375 +1.7475 +1.65125 +1.5550001 +1.51 +1.5275 +1.57375 +1.575 +1.47 +1.245 +0.9549999 +0.68375003 +0.51625 +0.4775 +0.53499997 +0.6025 +0.62624997 +0.55 +0.39375 +0.24125001 +0.19250001 +0.25 +0.39749998 +0.58375 +0.74749994 +0.85249996 +0.89874995 +0.89750004 +0.8787501 +0.85875 +0.83375 +0.79375005 +0.7425 +0.64250004 +0.50374997 +0.3875 +0.3675 +0.44625002 +0.60875005 +0.78875 +0.915 +0.93375003 +0.85875 +0.75624996 +0.71750003 +0.79749995 +0.9825 +1.195 +1.33 +1.3275001 +1.1925 +1.00125 +0.84499997 +0.77250004 +0.77875006 +0.80499995 +0.79249996 +0.725 +0.64125 +0.61375 +0.70375 +0.94875 +1.20375 +1.4375 +1.5737499 +1.585 +1.51875 +1.4525 +1.46 +1.5674999 +1.7387501 +1.9075 +2.0124998 +2.03875 +2.0224998 +2.02 +2.07125 +2.1675 +2.2437499 +2.21 +2.025 +1.7075 +1.28625 +0.89 +0.64875 +0.5625 +0.57875 +0.62875 +0.59749997 +0.46375 +0.26875 +0.10875 +0.051250003 +0.09375 +0.22125 +0.36874998 +0.47625 +0.52625 +0.52000004 +0.495 +0.475 +0.46625 +0.47124997 +0.47375 +0.43875 +0.3525 +0.23375 +0.14874999 +0.1225 +0.19375 +0.34249997 +0.53499997 +0.68875 +0.7175 +0.62625 +0.54625 +0.56125003 +0.7075 +0.96500003 +1.2412499 +1.4212501 +1.4412501 +1.3225 +1.14625 +1.005 +0.95375 +0.98249996 +1.0225 +1.005 +0.91125 +0.78499997 +0.71375006 +0.76625 +0.94875 +1.20375 +1.4375 +1.5737499 +1.585 +1.51875 +1.4525 +1.46 +1.5674999 +1.7387501 +1.9075 +2.0124998 +2.03875 +2.0224998 +2.02 +2.07125 +2.1675 +2.2437499 +2.21 +2.025 +1.7075 +1.28625 +0.89 +0.64875 +0.5625 +0.57875 +0.62875 +0.59749997 +0.46375 +0.26875 +0.10875 +0.051250003 +0.09375 +0.22125 +0.36874998 +0.47625 +0.52625 +0.52000004 +0.495 +0.475 +0.46625 +0.47124997 +0.47375 +0.43875 +0.3525 +0.23375 +0.14874999 +0.1225 +0.19375 +0.34249997 +0.53499997 +0.68875 +0.7175 +0.62625 +0.54625 +0.56125003 +0.7075 +0.96500003 +1.2412499 +1.4212501 +1.4412501 +1.3225 +1.14625 +1.005 +0.95375 +0.98249996 +1.0225 +1.005 +0.91125 +0.78499997 +0.71375006 +0.76625 +0.96375 +1.1975 +1.405 +1.51 +1.4925001 +1.4075 +1.35 +1.3937501 +1.5587499 +1.7987499 +2.04 +2.22375 +2.34125 +2.4287498 +2.55 +2.7225 +2.90625 +3.01375 +2.93875 +2.6799998 +2.23875 +1.6912501 +1.1999999 +0.87874997 +0.75375 +0.75 +0.74875 +0.65999997 +0.47625002 +0.25875002 +0.10875 +0.060000002 +0.09625 +0.2075 +0.31374997 +0.36 +0.3375 +0.27125 +0.20125 +0.16375 +0.16125 +0.1725 +0.1775 +0.14875 +0.09 +0.04 +0.01125 +0.0 +0.01375 +0.1 +0.26624998 +0.40750003 +0.425 +0.32750002 +0.25750002 +0.33 +0.51875 +0.85125005 +1.20125 +1.44125 +1.5025 +1.4075 +1.2475 +1.1225 +1.09125 +1.13875 +1.18875 +1.16375 +1.04625 +0.88875 +0.78249997 +0.80375 +0.96375 +1.1975 +1.405 +1.51 +1.4925001 +1.4075 +1.35 +1.3937501 +1.5587499 +1.7987499 +2.04 +2.22375 +2.34125 +2.4287498 +2.55 +2.7225 +2.90625 +3.01375 +2.93875 +2.6799998 +2.23875 +1.6912501 +1.1999999 +0.87874997 +0.75375 +0.75 +0.74875 +0.65999997 +0.47625002 +0.25875002 +0.10875 +0.060000002 +0.09625 +0.2075 +0.31374997 +0.36 +0.3375 +0.27125 +0.20125 +0.16375 +0.16125 +0.1725 +0.1775 +0.14875 +0.09 +0.04 +0.01125 +0.0 +0.01375 +0.1 +0.26624998 +0.40750003 +0.425 +0.32750002 +0.25750002 +0.33 +0.51875 +0.85125005 +1.20125 +1.44125 +1.5025 +1.4075 +1.2475 +1.1225 +1.09125 +1.13875 +1.18875 +1.16375 +1.04625 +0.88875 +0.78249997 +0.80375 +1.01625 +1.2437501 +1.4399999 +1.5174999 +1.4675 +1.3575 +1.2875001 +1.3412501 +1.5375 +1.8275001 +2.12875 +2.3825 +2.5875 +2.7875001 +3.0325 +3.3274999 +3.60125 +3.73625 +3.62625 +3.27 +2.725 +2.08125 +1.52 +1.16875 +1.0300001 +1.00625 +0.97625 +0.85 +0.6325 +0.39874998 +0.24125 +0.20624998 +0.27625 +0.38375002 +0.4525 +0.4375 +0.34875 +0.2225 +0.11624999 +0.057499997 +0.045 +0.049999997 +0.05875 +0.041249998 +0.0075 +0.0 +0.0 +0.0 +0.00375 +0.0062499996 +0.09374999 +0.21375 +0.21625 +0.125 +0.1125 +0.205 +0.42125 +0.81499994 +1.23375 +1.53125 +1.6262499 +1.545 +1.3837501 +1.25375 +1.22 +1.2650001 +1.31 +1.275 +1.1412499 +0.96500003 +0.84625 +0.86 +1.01625 +1.2437501 +1.4399999 +1.5174999 +1.4675 +1.3575 +1.2875001 +1.3412501 +1.5375 +1.8275001 +2.12875 +2.3825 +2.5875 +2.7875001 +3.0325 +3.3274999 +3.60125 +3.73625 +3.62625 +3.27 +2.725 +2.08125 +1.52 +1.16875 +1.0300001 +1.00625 +0.97625 +0.85 +0.6325 +0.39874998 +0.24125 +0.20624998 +0.27625 +0.38375002 +0.4525 +0.4375 +0.34875 +0.2225 +0.11624999 +0.057499997 +0.045 +0.049999997 +0.05875 +0.041249998 +0.0075 +0.0 +0.0 +0.0 +0.00375 +0.0062499996 +0.09374999 +0.21375 +0.21625 +0.125 +0.1125 +0.205 +0.42125 +0.81499994 +1.23375 +1.53125 +1.6262499 +1.545 +1.3837501 +1.25375 +1.22 +1.2650001 +1.31 +1.275 +1.1412499 +0.96500003 +0.84625 +0.86 +1.14125 +1.3837501 +1.5762501 +1.6299999 +1.5412499 +1.3912499 +1.2887499 +1.32375 +1.52125 +1.82375 +2.1512501 +2.4512498 +2.71875 +3.00375 +3.34625 +3.7350001 +4.0724998 +4.22875 +4.09125 +3.6475 +3.03125 +2.3375 +1.77875 +1.4675001 +1.34625 +1.31 +1.2412499 +1.10125 +0.87125003 +0.64375 +0.53875 +0.55375 +0.6475 +0.74 +0.76124996 +0.69875 +0.5675 +0.4025 +0.2775 +0.22874999 +0.22999997 +0.24375 +0.22874999 +0.1625 +0.09375 +0.0275 +0.0 +0.03625 +0.06125 +0.07625 +0.145 +0.22375 +0.21625 +0.13250001 +0.14125 +0.25375 +0.53 +0.9862499 +1.4649999 +1.8037499 +1.915 +1.81875 +1.62625 +1.45625 +1.38375 +1.395 +1.41375 +1.35875 +1.21375 +1.03875 +0.92999995 +0.9649999 +1.14125 +1.3837501 +1.5762501 +1.6299999 +1.5412499 +1.3912499 +1.2887499 +1.32375 +1.52125 +1.82375 +2.1512501 +2.4512498 +2.71875 +3.00375 +3.34625 +3.7350001 +4.0724998 +4.22875 +4.09125 +3.6475 +3.03125 +2.3375 +1.77875 +1.4675001 +1.34625 +1.31 +1.2412499 +1.10125 +0.87125003 +0.64375 +0.53875 +0.55375 +0.6475 +0.74 +0.76124996 +0.69875 +0.5675 +0.4025 +0.2775 +0.22874999 +0.22999997 +0.24375 +0.22874999 +0.1625 +0.09375 +0.0275 +0.0 +0.03625 +0.06125 +0.07625 +0.145 +0.22375 +0.21625 +0.13250001 +0.14125 +0.25375 +0.53 +0.9862499 +1.4649999 +1.8037499 +1.915 +1.81875 +1.62625 +1.45625 +1.38375 +1.395 +1.41375 +1.35875 +1.21375 +1.03875 +0.92999995 +0.9649999 +1.3262501 +1.58875 +1.78 +1.8112501 +1.685 +1.485 +1.335 +1.33375 +1.50375 +1.7887499 +2.1075 +2.4075 +2.6949997 +3.01125 +3.39875 +3.8275 +4.1925 +4.3525 +4.1949997 +3.7199998 +3.0524998 +2.3812501 +1.8725001 +1.60625 +1.53125 +1.5287501 +1.47375 +1.3175001 +1.0975001 +0.90875 +0.82875 +0.8725 +0.99 +1.09625 +1.12 +1.04125 +0.895 +0.7375 +0.62874997 +0.59125 +0.60875005 +0.6374999 +0.6325 +0.55875 +0.41875 +0.26375 +0.17125 +0.1625 +0.19875 +0.29000002 +0.41750002 +0.48500004 +0.44875002 +0.36374998 +0.35124996 +0.505 +0.87 +1.3974999 +1.9225 +2.285 +2.3925 +2.2624998 +2.00875 +1.7674999 +1.62375 +1.57125 +1.54 +1.4512501 +1.29375 +1.12625 +1.0437499 +1.11375 +1.3262501 +1.58875 +1.78 +1.8112501 +1.685 +1.485 +1.335 +1.33375 +1.50375 +1.7887499 +2.1075 +2.4075 +2.6949997 +3.01125 +3.39875 +3.8275 +4.1925 +4.3525 +4.1949997 +3.7199998 +3.0524998 +2.3812501 +1.8725001 +1.60625 +1.53125 +1.5287501 +1.47375 +1.3175001 +1.0975001 +0.90875 +0.82875 +0.8725 +0.99 +1.09625 +1.12 +1.04125 +0.895 +0.7375 +0.62874997 +0.59125 +0.60875005 +0.6374999 +0.6325 +0.55875 +0.41875 +0.26375 +0.17125 +0.1625 +0.19875 +0.29000002 +0.41750002 +0.48500004 +0.44875002 +0.36374998 +0.35124996 +0.505 +0.87 +1.3974999 +1.9225 +2.285 +2.3925 +2.2624998 +2.00875 +1.7674999 +1.62375 +1.57125 +1.54 +1.4512501 +1.29375 +1.12625 +1.0437499 +1.11375 +1.5125 +1.78875 +1.97375 +1.9787501 +1.8162501 +1.5699999 +1.38125 +1.3412501 +1.4749999 +1.7262499 +2.005 +2.2687502 +2.52125 +2.81 +3.1750002 +3.585 +3.92875 +4.06 +3.88375 +3.4075 +2.7575 +2.1287498 +1.6825 +1.47875 +1.45875 +1.4925 +1.46375 +1.32625 +1.12375 +0.95625 +0.8975 +0.9675 +1.1075 +1.2375 +1.2875 +1.23875 +1.12375 +0.99875 +0.9175 +0.91 +0.95750004 +1.0174999 +1.035 +0.97999996 +0.8425 +0.66375 +0.51125 +0.45 +0.5075 +0.64875 +0.79625 +0.8675 +0.83625 +0.76375 +0.76874995 +0.96375006 +1.38875 +1.9687501 +2.5350003 +2.9150002 +3.005 +2.82875 +2.505 +2.18125 +1.9512501 +1.8199999 +1.72 +1.58625 +1.4099998 +1.24 +1.17875 +1.275 +1.5125 +1.78875 +1.97375 +1.9787501 +1.8162501 +1.5699999 +1.38125 +1.3412501 +1.4749999 +1.7262499 +2.005 +2.2687502 +2.52125 +2.81 +3.1750002 +3.585 +3.92875 +4.06 +3.88375 +3.4075 +2.7575 +2.1287498 +1.6825 +1.47875 +1.45875 +1.4925 +1.46375 +1.32625 +1.12375 +0.95625 +0.8975 +0.9675 +1.1075 +1.2375 +1.2875 +1.23875 +1.12375 +0.99875 +0.9175 +0.91 +0.95750004 +1.0174999 +1.035 +0.97999996 +0.8425 +0.66375 +0.51125 +0.45 +0.5075 +0.64875 +0.79625 +0.8675 +0.83625 +0.76375 +0.76874995 +0.96375006 +1.38875 +1.9687501 +2.5350003 +2.9150002 +3.005 +2.82875 +2.505 +2.18125 +1.9512501 +1.8199999 +1.72 +1.58625 +1.4099998 +1.24 +1.17875 +1.275 +1.6499999 +1.9125 +2.075 +2.05375 +1.85625 +1.5849999 +1.3725 +1.3125 +1.42125 +1.6350001 +1.86625 +2.065 +2.245 +2.45625 +2.7424998 +3.07625 +3.3549998 +3.4424999 +3.24875 +2.7849998 +2.18 +1.61625 +1.24 +1.0999999 +1.12875 +1.19375 +1.18625 +1.06625 +0.885 +0.73499995 +0.69124997 +0.76875 +0.92125005 +1.0725 +1.155 +1.15 +1.08625 +1.0124999 +0.9800001 +1.01 +1.0949999 +1.1925 +1.25125 +1.2287499 +1.115 +0.9475 +0.79749995 +0.7375 +0.79875004 +0.9475 +1.1075001 +1.1975 +1.19125 +1.15 +1.19875 +1.45125 +1.9350001 +2.5675 +3.1725001 +3.5625 +3.63875 +3.42375 +3.0425 +2.6512501 +2.345 +2.13625 +1.97 +1.7825 +1.5674999 +1.38375 +1.31625 +1.415 +1.6499999 +1.9125 +2.075 +2.05375 +1.85625 +1.5849999 +1.3725 +1.3125 +1.42125 +1.6350001 +1.86625 +2.065 +2.245 +2.45625 +2.7424998 +3.07625 +3.3549998 +3.4424999 +3.24875 +2.7849998 +2.18 +1.61625 +1.24 +1.0999999 +1.12875 +1.19375 +1.18625 +1.06625 +0.885 +0.73499995 +0.69124997 +0.76875 +0.92125005 +1.0725 +1.155 +1.15 +1.08625 +1.0124999 +0.9800001 +1.01 +1.0949999 +1.1925 +1.25125 +1.2287499 +1.115 +0.9475 +0.79749995 +0.7375 +0.79875004 +0.9475 +1.1075001 +1.1975 +1.19125 +1.15 +1.19875 +1.45125 +1.9350001 +2.5675 +3.1725001 +3.5625 +3.63875 +3.42375 +3.0425 +2.6512501 +2.345 +2.13625 +1.97 +1.7825 +1.5674999 +1.38375 +1.31625 +1.415 +1.7075 +1.93 +2.0524998 +1.9962502 +1.7787501 +1.50125 +1.29 +1.2337501 +1.33375 +1.5225 +1.71125 +1.8399999 +1.93 +2.0387502 +2.2175 +2.4525 +2.6487498 +2.6875 +2.485 +2.05125 +1.5425 +1.03625 +0.70875 +0.62 +0.67875004 +0.76500005 +0.77 +0.68875 +0.51874995 +0.355 +0.315 +0.3825 +0.52625 +0.67625 +0.77875 +0.8275 +0.8225 +0.78875005 +0.78499997 +0.84875 +0.96625 +1.1 +1.19625 +1.21375 +1.1624999 +1.03125 +0.88124996 +0.83875 +0.91375 +1.08125 +1.26 +1.39625 +1.4425001 +1.41625 +1.5262499 +1.84375 +2.3887498 +3.0675 +3.6975 +4.09625 +4.16625 +3.935 +3.52875 +3.1025 +2.7537498 +2.49125 +2.2675 +2.0275 +1.7662499 +1.5462499 +1.445 +1.51 +1.7075 +1.93 +2.0524998 +1.9962502 +1.7787501 +1.50125 +1.29 +1.2337501 +1.33375 +1.5225 +1.71125 +1.8399999 +1.93 +2.0387502 +2.2175 +2.4525 +2.6487498 +2.6875 +2.485 +2.05125 +1.5425 +1.03625 +0.70875 +0.62 +0.67875004 +0.76500005 +0.77 +0.68875 +0.51874995 +0.355 +0.315 +0.3825 +0.52625 +0.67625 +0.77875 +0.8275 +0.8225 +0.78875005 +0.78499997 +0.84875 +0.96625 +1.1 +1.19625 +1.21375 +1.1624999 +1.03125 +0.88124996 +0.83875 +0.91375 +1.08125 +1.26 +1.39625 +1.4425001 +1.41625 +1.5262499 +1.84375 +2.3887498 +3.0675 +3.6975 +4.09625 +4.16625 +3.935 +3.52875 +3.1025 +2.7537498 +2.49125 +2.2675 +2.0275 +1.7662499 +1.5462499 +1.445 +1.51 +1.69625 +1.8562499 +1.92375 +1.8299999 +1.6 +1.3312501 +1.14 +1.10375 +1.21375 +1.39375 +1.5475 +1.61875 +1.62875 +1.6462499 +1.72625 +1.87125 +2.0025 +2.01 +1.8162501 +1.4612501 +1.03 +0.605 +0.32375 +0.25 +0.32625 +0.44124997 +0.485 +0.4125 +0.25375 +0.1075 +0.04625 +0.06375 +0.14875 +0.26749998 +0.39000002 +0.46125 +0.48375 +0.48125 +0.49374998 +0.5525 +0.6725 +0.82625 +0.97624993 +1.0625 +1.0525 +0.95875 +0.84499997 +0.79375005 +0.86875004 +1.0550001 +1.2825 +1.46125 +1.5437502 +1.5700002 +1.7149999 +2.09625 +2.6899998 +3.3912501 +4.0237503 +4.41625 +4.4825 +4.25625 +3.86625 +3.45125 +3.1012502 +2.82125 +2.56125 +2.27875 +1.9737499 +1.7049999 +1.5537499 +1.56125 +1.69625 +1.8562499 +1.92375 +1.8299999 +1.6 +1.3312501 +1.14 +1.10375 +1.21375 +1.39375 +1.5475 +1.61875 +1.62875 +1.6462499 +1.72625 +1.87125 +2.0025 +2.01 +1.8162501 +1.4612501 +1.03 +0.605 +0.32375 +0.25 +0.32625 +0.44124997 +0.485 +0.4125 +0.25375 +0.1075 +0.04625 +0.06375 +0.14875 +0.26749998 +0.39000002 +0.46125 +0.48375 +0.48125 +0.49374998 +0.5525 +0.6725 +0.82625 +0.97624993 +1.0625 +1.0525 +0.95875 +0.84499997 +0.79375005 +0.86875004 +1.0550001 +1.2825 +1.46125 +1.5437502 +1.5700002 +1.7149999 +2.09625 +2.6899998 +3.3912501 +4.0237503 +4.41625 +4.4825 +4.25625 +3.86625 +3.45125 +3.1012502 +2.82125 +2.56125 +2.27875 +1.9737499 +1.7049999 +1.5537499 +1.56125 +1.63625 +1.72625 +1.735 +1.6075001 +1.3675001 +1.11125 +0.94375 +0.93 +1.05625 +1.2349999 +1.36875 +1.4050001 +1.3675 +1.32375 +1.345 +1.4375 +1.5387499 +1.54875 +1.3874999 +1.1075 +0.7525 +0.41 +0.195 +0.15625 +0.24499999 +0.35750002 +0.39624998 +0.32375002 +0.18375 +0.060000002 +0.0075 +0.0 +0.00375 +0.056250002 +0.14 +0.19749999 +0.22 +0.22625 +0.24625 +0.30875 +0.42374998 +0.57625 +0.72875 +0.825 +0.83375 +0.77125007 +0.69124997 +0.67375004 +0.77 +0.96875 +1.2049999 +1.39875 +1.515 +1.5962499 +1.7887499 +2.2112498 +2.8175 +3.50625 +4.105 +4.4662495 +4.5237503 +4.32 +3.9737499 +3.61125 +3.30125 +3.0387502 +2.775 +2.4675 +2.13125 +1.8249999 +1.625 +1.5725 +1.63625 +1.72625 +1.735 +1.6075001 +1.3675001 +1.11125 +0.94375 +0.93 +1.05625 +1.2349999 +1.36875 +1.4050001 +1.3675 +1.32375 +1.345 +1.4375 +1.5387499 +1.54875 +1.3874999 +1.1075 +0.7525 +0.41 +0.195 +0.15625 +0.24499999 +0.35750002 +0.39624998 +0.32375002 +0.18375 +0.060000002 +0.0075 +0.0 +0.00375 +0.056250002 +0.14 +0.19749999 +0.22 +0.22625 +0.24625 +0.30875 +0.42374998 +0.57625 +0.72875 +0.825 +0.83375 +0.77125007 +0.69124997 +0.67375004 +0.77 +0.96875 +1.2049999 +1.39875 +1.515 +1.5962499 +1.7887499 +2.2112498 +2.8175 +3.50625 +4.105 +4.4662495 +4.5237503 +4.32 +3.9737499 +3.61125 +3.30125 +3.0387502 +2.775 +2.4675 +2.13125 +1.8249999 +1.625 +1.5725 +1.5425 +1.5675001 +1.52375 +1.3625 +1.1137501 +0.865 +0.71500003 +0.71624994 +0.84875 +1.02625 +1.15375 +1.1787499 +1.12875 +1.0725 +1.0825 +1.17125 +1.285 +1.3249999 +1.22 +0.98375 +0.70500004 +0.4375 +0.2825 +0.29375 +0.39 +0.47625 +0.505 +0.425 +0.27625 +0.14 +0.055 +0.02375 +0.0375 +0.0725 +0.1175 +0.1475 +0.1575 +0.15875 +0.17750001 +0.23124999 +0.3175 +0.435 +0.55625 +0.62999994 +0.6325 +0.58125 +0.52750003 +0.5375 +0.66625005 +0.86749995 +1.0812501 +1.2775 +1.41125 +1.53125 +1.7774998 +2.20625 +2.7862499 +3.41 +3.9337502 +4.23375 +4.27125 +4.0975003 +3.81875 +3.53625 +3.2962499 +3.0812502 +2.8412502 +2.5387502 +2.19375 +1.8675001 +1.6375 +1.53875 +1.5425 +1.5675001 +1.52375 +1.3625 +1.1137501 +0.865 +0.71500003 +0.71624994 +0.84875 +1.02625 +1.15375 +1.1787499 +1.12875 +1.0725 +1.0825 +1.17125 +1.285 +1.3249999 +1.22 +0.98375 +0.70500004 +0.4375 +0.2825 +0.29375 +0.39 +0.47625 +0.505 +0.425 +0.27625 +0.14 +0.055 +0.02375 +0.0375 +0.0725 +0.1175 +0.1475 +0.1575 +0.15875 +0.17750001 +0.23124999 +0.3175 +0.435 +0.55625 +0.62999994 +0.6325 +0.58125 +0.52750003 +0.5375 +0.66625005 +0.86749995 +1.0812501 +1.2775 +1.41125 +1.53125 +1.7774998 +2.20625 +2.7862499 +3.41 +3.9337502 +4.23375 +4.27125 +4.0975003 +3.81875 +3.53625 +3.2962499 +3.0812502 +2.8412502 +2.5387502 +2.19375 +1.8675001 +1.6375 +1.53875 +1.41625 +1.38875 +1.3000001 +1.1112499 +0.85125 +0.60625005 +0.46625 +0.4675 +0.59375 +0.76375 +0.885 +0.9175 +0.8825 +0.85124993 +0.89500004 +1.0175 +1.1675 +1.24875 +1.1987499 +1.01375 +0.77125 +0.57625 +0.505 +0.55625 +0.66125 +0.73125 +0.71 +0.60875 +0.45499998 +0.29999998 +0.20375 +0.205 +0.25625 +0.3125 +0.355 +0.37375 +0.37375 +0.37375 +0.38500002 +0.415 +0.46249998 +0.51 +0.54 +0.55499995 +0.52500004 +0.465 +0.43874997 +0.50249994 +0.64374995 +0.8325 +1.0149999 +1.16125 +1.28 +1.435 +1.6937499 +2.0925 +2.6037498 +3.12375 +3.53625 +3.75375 +3.7624998 +3.6175 +3.41875 +3.2337499 +3.0825 +2.9325 +2.7325 +2.4575 +2.1287498 +1.8125 +1.5775 +1.4537499 +1.41625 +1.38875 +1.3000001 +1.1112499 +0.85125 +0.60625005 +0.46625 +0.4675 +0.59375 +0.76375 +0.885 +0.9175 +0.8825 +0.85124993 +0.89500004 +1.0175 +1.1675 +1.24875 +1.1987499 +1.01375 +0.77125 +0.57625 +0.505 +0.55625 +0.66125 +0.73125 +0.71 +0.60875 +0.45499998 +0.29999998 +0.20375 +0.205 +0.25625 +0.3125 +0.355 +0.37375 +0.37375 +0.37375 +0.38500002 +0.415 +0.46249998 +0.51 +0.54 +0.55499995 +0.52500004 +0.465 +0.43874997 +0.50249994 +0.64374995 +0.8325 +1.0149999 +1.16125 +1.28 +1.435 +1.6937499 +2.0925 +2.6037498 +3.12375 +3.53625 +3.75375 +3.7624998 +3.6175 +3.41875 +3.2337499 +3.0825 +2.9325 +2.7325 +2.4575 +2.1287498 +1.8125 +1.5775 +1.4537499 +1.25375 +1.1875 +1.06125 +0.85 +0.5875 +0.3675 +0.24499999 +0.2475 +0.32625 +0.46750003 +0.5825 +0.62125003 +0.61375004 +0.62875 +0.71874994 +0.88750005 +1.07375 +1.18625 +1.1675 +1.0237501 +0.82624996 +0.68125 +0.65250003 +0.73125 +0.84875 +0.91999996 +0.8887499 +0.765 +0.60625 +0.48250002 +0.43749997 +0.46750003 +0.54125 +0.6175 +0.6700001 +0.69500005 +0.70375 +0.71125 +0.72625005 +0.74375004 +0.7525 +0.73749995 +0.69375 +0.6175 +0.5325 +0.46750003 +0.465 +0.53499997 +0.6674999 +0.8287499 +0.97125006 +1.075 +1.16875 +1.305 +1.5349998 +1.8800001 +2.29875 +2.6962502 +2.9837499 +3.11 +3.0875 +2.97875 +2.8600001 +2.77375 +2.7125 +2.6312501 +2.4812498 +2.2475 +1.9599999 +1.675 +1.455 +1.3225 +1.25375 +1.1875 +1.06125 +0.85 +0.5875 +0.3675 +0.24499999 +0.2475 +0.32625 +0.46750003 +0.5825 +0.62125003 +0.61375004 +0.62875 +0.71874994 +0.88750005 +1.07375 +1.18625 +1.1675 +1.0237501 +0.82624996 +0.68125 +0.65250003 +0.73125 +0.84875 +0.91999996 +0.8887499 +0.765 +0.60625 +0.48250002 +0.43749997 +0.46750003 +0.54125 +0.6175 +0.6700001 +0.69500005 +0.70375 +0.71125 +0.72625005 +0.74375004 +0.7525 +0.73749995 +0.69375 +0.6175 +0.5325 +0.46750003 +0.465 +0.53499997 +0.6674999 +0.8287499 +0.97125006 +1.075 +1.16875 +1.305 +1.5349998 +1.8800001 +2.29875 +2.6962502 +2.9837499 +3.11 +3.0875 +2.97875 +2.8600001 +2.77375 +2.7125 +2.6312501 +2.4812498 +2.2475 +1.9599999 +1.675 +1.455 +1.3225 +1.08625 +0.98125005 +0.81999993 +0.595 +0.3575 +0.1775 +0.1325 +0.14 +0.17 +0.2225 +0.28874996 +0.33375 +0.35125 +0.40249997 +0.5325 +0.72875005 +0.93 +1.04625 +1.02875 +0.8925 +0.71624994 +0.6 +0.605 +0.71 +0.84124994 +0.915 +0.88625 +0.76750004 +0.62875 +0.53625 +0.53 +0.605 +0.71625 +0.8212501 +0.89750004 +0.945 +0.98125 +1.0175 +1.05 +1.065 +1.04375 +0.97499996 +0.85749996 +0.71625006 +0.585 +0.505 +0.5025 +0.575 +0.69624996 +0.82124996 +0.91499996 +0.97125 +1.0274999 +1.13625 +1.3337501 +1.6187501 +1.9437501 +2.2225 +2.39375 +2.4375 +2.39375 +2.32125 +2.275 +2.27375 +2.28875 +2.26875 +2.1725001 +1.99 +1.7499999 +1.51 +1.3149999 +1.1825 +1.08625 +0.98125005 +0.81999993 +0.595 +0.3575 +0.1775 +0.1325 +0.14 +0.17 +0.2225 +0.28874996 +0.33375 +0.35125 +0.40249997 +0.5325 +0.72875005 +0.93 +1.04625 +1.02875 +0.8925 +0.71624994 +0.6 +0.605 +0.71 +0.84124994 +0.915 +0.88625 +0.76750004 +0.62875 +0.53625 +0.53 +0.605 +0.71625 +0.8212501 +0.89750004 +0.945 +0.98125 +1.0175 +1.05 +1.065 +1.04375 +0.97499996 +0.85749996 +0.71625006 +0.585 +0.505 +0.5025 +0.575 +0.69624996 +0.82124996 +0.91499996 +0.97125 +1.0274999 +1.13625 +1.3337501 +1.6187501 +1.9437501 +2.2225 +2.39375 +2.4375 +2.39375 +2.32125 +2.275 +2.27375 +2.28875 +2.26875 +2.1725001 +1.99 +1.7499999 +1.51 +1.3149999 +1.1825 +0.9699999 +0.82125 +0.62875 +0.39749998 +0.19749998 +0.1025 +0.09625 +0.1 +0.10125 +0.1025 +0.10875 +0.12124999 +0.1525 +0.2225 +0.36625 +0.56374997 +0.7475 +0.8374999 +0.79625 +0.64875 +0.48375 +0.38000003 +0.40625 +0.53125 +0.675 +0.755 +0.73125005 +0.62625 +0.51250005 +0.45749998 +0.4925 +0.60375 +0.7475 +0.87624997 +0.97625 +1.0525 +1.125 +1.19875 +1.26125 +1.28375 +1.2412499 +1.125 +0.95000005 +0.7575 +0.59999996 +0.51374996 +0.525 +0.60499996 +0.71875 +0.81374997 +0.86625004 +0.8775 +0.91125 +0.99125004 +1.1587499 +1.3975 +1.6425 +1.8249999 +1.9062499 +1.8924999 +1.83375 +1.7925 +1.8062501 +1.8675001 +1.9362501 +1.9625001 +1.91 +1.7787501 +1.595 +1.4024999 +1.23375 +1.09625 +0.9699999 +0.82125 +0.62875 +0.39749998 +0.19749998 +0.1025 +0.09625 +0.1 +0.10125 +0.1025 +0.10875 +0.12124999 +0.1525 +0.2225 +0.36625 +0.56374997 +0.7475 +0.8374999 +0.79625 +0.64875 +0.48375 +0.38000003 +0.40625 +0.53125 +0.675 +0.755 +0.73125005 +0.62625 +0.51250005 +0.45749998 +0.4925 +0.60375 +0.7475 +0.87624997 +0.97625 +1.0525 +1.125 +1.19875 +1.26125 +1.28375 +1.2412499 +1.125 +0.95000005 +0.7575 +0.59999996 +0.51374996 +0.525 +0.60499996 +0.71875 +0.81374997 +0.86625004 +0.8775 +0.91125 +0.99125004 +1.1587499 +1.3975 +1.6425 +1.8249999 +1.9062499 +1.8924999 +1.83375 +1.7925 +1.8062501 +1.8675001 +1.9362501 +1.9625001 +1.91 +1.7787501 +1.595 +1.4024999 +1.23375 +1.09625 +0.97625005 +0.78125 +0.5575 +0.32125002 +0.145 +0.07375 +0.065 +0.0675 +0.07 +0.06875 +0.060000002 +0.06125 +0.08499999 +0.15375 +0.28875 +0.46375 +0.60749996 +0.65625 +0.6075 +0.47375 +0.31875 +0.22000001 +0.22375001 +0.35875 +0.50624996 +0.58625 +0.565 +0.47499996 +0.40249997 +0.365 +0.4225 +0.55125 +0.70125 +0.8375 +0.9487501 +1.05125 +1.16125 +1.2725 +1.36375 +1.3975 +1.3412501 +1.19 +0.9775 +0.765 +0.61375 +0.5325 +0.56625 +0.66875005 +0.7825 +0.86 +0.88124996 +0.91125 +0.94000006 +1.00875 +1.1324999 +1.31125 +1.4999999 +1.6175 +1.6374999 +1.5875001 +1.5250001 +1.5024999 +1.5475 +1.64125 +1.73875 +1.79 +1.7750001 +1.6925 +1.5687499 +1.42875 +1.28375 +1.1374999 +0.97625005 +0.78125 +0.5575 +0.32125002 +0.145 +0.07375 +0.065 +0.0675 +0.07 +0.06875 +0.060000002 +0.06125 +0.08499999 +0.15375 +0.28875 +0.46375 +0.60749996 +0.65625 +0.6075 +0.47375 +0.31875 +0.22000001 +0.22375001 +0.35875 +0.50624996 +0.58625 +0.565 +0.47499996 +0.40249997 +0.365 +0.4225 +0.55125 +0.70125 +0.8375 +0.9487501 +1.05125 +1.16125 +1.2725 +1.36375 +1.3975 +1.3412501 +1.19 +0.9775 +0.765 +0.61375 +0.5325 +0.56625 +0.66875005 +0.7825 +0.86 +0.88124996 +0.91125 +0.94000006 +1.00875 +1.1324999 +1.31125 +1.4999999 +1.6175 +1.6374999 +1.5875001 +1.5250001 +1.5024999 +1.5475 +1.64125 +1.73875 +1.79 +1.7750001 +1.6925 +1.5687499 +1.42875 +1.28375 +1.1374999 +1.1412499 +0.90374994 +0.65 +0.41000003 +0.22125 +0.1275 +0.105 +0.1075 +0.12 +0.13874999 +0.155 +0.1725 +0.20374998 +0.26375002 +0.36624998 +0.4975 +0.59625 +0.63000005 +0.57125 +0.44499996 +0.31 +0.23875 +0.25875 +0.35375 +0.485 +0.5475 +0.53625 +0.48375 +0.42625 +0.40625 +0.44124997 +0.55125 +0.68625003 +0.80875 +0.92375 +1.0475 +1.1875 +1.3375 +1.45125 +1.4875 +1.42 +1.2525 +1.0387499 +0.85625005 +0.72375 +0.67625 +0.715 +0.82625 +0.95 +1.025 +1.07625 +1.095 +1.1175001 +1.17875 +1.29125 +1.4325 +1.55875 +1.63375 +1.6249999 +1.5675 +1.50125 +1.4725 +1.5112499 +1.6025001 +1.6999999 +1.765 +1.78125 +1.75 +1.6887499 +1.605 +1.4887501 +1.335 +1.1412499 +0.90374994 +0.65 +0.41000003 +0.22125 +0.1275 +0.105 +0.1075 +0.12 +0.13874999 +0.155 +0.1725 +0.20374998 +0.26375002 +0.36624998 +0.4975 +0.59625 +0.63000005 +0.57125 +0.44499996 +0.31 +0.23875 +0.25875 +0.35375 +0.485 +0.5475 +0.53625 +0.48375 +0.42625 +0.40625 +0.44124997 +0.55125 +0.68625003 +0.80875 +0.92375 +1.0475 +1.1875 +1.3375 +1.45125 +1.4875 +1.42 +1.2525 +1.0387499 +0.85625005 +0.72375 +0.67625 +0.715 +0.82625 +0.95 +1.025 +1.07625 +1.095 +1.1175001 +1.17875 +1.29125 +1.4325 +1.55875 +1.63375 +1.6249999 +1.5675 +1.50125 +1.4725 +1.5112499 +1.6025001 +1.6999999 +1.765 +1.78125 +1.75 +1.6887499 +1.605 +1.4887501 +1.335 +1.4300001 +1.16625 +0.89250004 +0.64875 +0.46750003 +0.36 +0.32125 +0.32874998 +0.35500002 +0.38375002 +0.39749998 +0.42000002 +0.44875002 +0.5025 +0.58124995 +0.6687499 +0.735 +0.74625003 +0.68749994 +0.58750004 +0.49374998 +0.4525 +0.4825 +0.5625 +0.645 +0.6825 +0.66374993 +0.61 +0.55875 +0.5425 +0.56624997 +0.64374995 +0.75500005 +0.86625 +0.98625 +1.13125 +1.3025 +1.47625 +1.60625 +1.6437501 +1.57125 +1.3999999 +1.2049999 +1.0462501 +0.94625 +0.9325 +0.99625003 +1.11125 +1.235 +1.3262501 +1.37375 +1.39125 +1.40875 +1.45875 +1.5500001 +1.6625 +1.7575 +1.7987499 +1.7774999 +1.7137499 +1.6412499 +1.6012499 +1.6112499 +1.6775 +1.7574999 +1.8275001 +1.8725 +1.89875 +1.9037501 +1.8775 +1.7974999 +1.64875 +1.4300001 +1.16625 +0.89250004 +0.64875 +0.46750003 +0.36 +0.32125 +0.32874998 +0.35500002 +0.38375002 +0.39749998 +0.42000002 +0.44875002 +0.5025 +0.58124995 +0.6687499 +0.735 +0.74625003 +0.68749994 +0.58750004 +0.49374998 +0.4525 +0.4825 +0.5625 +0.645 +0.6825 +0.66374993 +0.61 +0.55875 +0.5425 +0.56624997 +0.64374995 +0.75500005 +0.86625 +0.98625 +1.13125 +1.3025 +1.47625 +1.60625 +1.6437501 +1.57125 +1.3999999 +1.2049999 +1.0462501 +0.94625 +0.9325 +0.99625003 +1.11125 +1.235 +1.3262501 +1.37375 +1.39125 +1.40875 +1.45875 +1.5500001 +1.6625 +1.7575 +1.7987499 +1.7774999 +1.7137499 +1.6412499 +1.6012499 +1.6112499 +1.6775 +1.7574999 +1.8275001 +1.8725 +1.89875 +1.9037501 +1.8775 +1.7974999 +1.64875 +1.74125 +1.46625 +1.1875 +0.945 +0.76875 +0.6625 +0.61249995 +0.60375 +0.615 +0.6325 +0.65375 +0.68875 +0.72749996 +0.77375 +0.8275 +0.8875 +0.91374993 +0.91375005 +0.875 +0.81875 +0.77124995 +0.75624996 +0.78125 +0.8325 +0.87500006 +0.86 +0.80875003 +0.7475 +0.69875 +0.67999995 +0.69749993 +0.77750003 +0.87749994 +0.99625003 +1.14375 +1.3237499 +1.5275 +1.7199999 +1.85125 +1.8812501 +1.80375 +1.6412499 +1.45 +1.31875 +1.2475 +1.2537501 +1.325 +1.4387499 +1.56125 +1.635 +1.6725001 +1.68375 +1.6900002 +1.71375 +1.7675 +1.8425 +1.90875 +1.9437499 +1.91625 +1.8525001 +1.7800001 +1.7249999 +1.70125 +1.73125 +1.7875001 +1.8587499 +1.9399999 +2.02625 +2.1000001 +2.1325 +2.09375 +1.96125 +1.74125 +1.46625 +1.1875 +0.945 +0.76875 +0.6625 +0.61249995 +0.60375 +0.615 +0.6325 +0.65375 +0.68875 +0.72749996 +0.77375 +0.8275 +0.8875 +0.91374993 +0.91375005 +0.875 +0.81875 +0.77124995 +0.75624996 +0.78125 +0.8325 +0.87500006 +0.86 +0.80875003 +0.7475 +0.69875 +0.67999995 +0.69749993 +0.77750003 +0.87749994 +0.99625003 +1.14375 +1.3237499 +1.5275 +1.7199999 +1.85125 +1.8812501 +1.80375 +1.6412499 +1.45 +1.31875 +1.2475 +1.2537501 +1.325 +1.4387499 +1.56125 +1.635 +1.6725001 +1.68375 +1.6900002 +1.71375 +1.7675 +1.8425 +1.90875 +1.9437499 +1.91625 +1.8525001 +1.7800001 +1.7249999 +1.70125 +1.73125 +1.7875001 +1.8587499 +1.9399999 +2.02625 +2.1000001 +2.1325 +2.09375 +1.96125 +1.9425 +1.6825 +1.4125 +1.1762501 +0.9925 +0.8675 +0.79125 +0.75374997 +0.74625 +0.76375 +0.80375004 +0.85625005 +0.90999997 +0.95624995 +0.99 +1.0075 +1.0037501 +0.9925 +0.9850001 +0.97375 +0.96625 +0.965 +0.985 +1.0024999 +0.98249996 +0.9225 +0.8375 +0.76250005 +0.71750003 +0.72 +0.77 +0.85875 +0.97875 +1.1375 +1.3375 +1.5712501 +1.8062501 +2.0049999 +2.12125 +2.12875 +2.04 +1.8887501 +1.7237501 +1.5925 +1.52125 +1.51875 +1.5762501 +1.6712499 +1.7637501 +1.82375 +1.83625 +1.8175 +1.7974999 +1.7775 +1.7800001 +1.80625 +1.8562499 +1.8925 +1.88625 +1.8350002 +1.76 +1.6899999 +1.6424999 +1.6374999 +1.6775 +1.7600001 +1.87875 +2.0212502 +2.1575 +2.2475 +2.25 +2.14375 +1.9425 +1.6825 +1.4125 +1.1762501 +0.9925 +0.8675 +0.79125 +0.75374997 +0.74625 +0.76375 +0.80375004 +0.85625005 +0.90999997 +0.95624995 +0.99 +1.0075 +1.0037501 +0.9925 +0.9850001 +0.97375 +0.96625 +0.965 +0.985 +1.0024999 +0.98249996 +0.9225 +0.8375 +0.76250005 +0.71750003 +0.72 +0.77 +0.85875 +0.97875 +1.1375 +1.3375 +1.5712501 +1.8062501 +2.0049999 +2.12125 +2.12875 +2.04 +1.8887501 +1.7237501 +1.5925 +1.52125 +1.51875 +1.5762501 +1.6712499 +1.7637501 +1.82375 +1.83625 +1.8175 +1.7974999 +1.7775 +1.7800001 +1.80625 +1.8562499 +1.8925 +1.88625 +1.8350002 +1.76 +1.6899999 +1.6424999 +1.6374999 +1.6775 +1.7600001 +1.87875 +2.0212502 +2.1575 +2.2475 +2.25 +2.14375 +1.94875 +1.7225 +1.4762499 +1.25 +1.05625 +0.9 +0.7850001 +0.71124995 +0.68625003 +0.71125 +0.77375 +0.85625005 +0.92375 +0.955 +0.94500005 +0.91125 +0.8775 +0.86625 +0.8875 +0.91625005 +0.93875 +0.95375 +0.95125 +0.91375 +0.84125006 +0.75624996 +0.6775 +0.62125 +0.60625 +0.635 +0.70875 +0.82874995 +0.99999994 +1.2287501 +1.50375 +1.79125 +2.04625 +2.2237499 +2.2975 +2.2624998 +2.1487498 +1.99875 +1.85375 +1.73375 +1.6487501 +1.6075 +1.6087499 +1.64375 +1.6925 +1.7325001 +1.73375 +1.68875 +1.6175 +1.5475 +1.4925 +1.475 +1.5050001 +1.5600001 +1.5962498 +1.58375 +1.5275 +1.44875 +1.37875 +1.34875 +1.38125 +1.4812499 +1.6375 +1.83 +2.0162501 +2.1475 +2.18625 +2.11625 +1.94875 +1.7225 +1.4762499 +1.25 +1.05625 +0.9 +0.7850001 +0.71124995 +0.68625003 +0.71125 +0.77375 +0.85625005 +0.92375 +0.955 +0.94500005 +0.91125 +0.8775 +0.86625 +0.8875 +0.91625005 +0.93875 +0.95375 +0.95125 +0.91375 +0.84125006 +0.75624996 +0.6775 +0.62125 +0.60625 +0.635 +0.70875 +0.82874995 +0.99999994 +1.2287501 +1.50375 +1.79125 +2.04625 +2.2237499 +2.2975 +2.2624998 +2.1487498 +1.99875 +1.85375 +1.73375 +1.6487501 +1.6075 +1.6087499 +1.64375 +1.6925 +1.7325001 +1.73375 +1.68875 +1.6175 +1.5475 +1.4925 +1.475 +1.5050001 +1.5600001 +1.5962498 +1.58375 +1.5275 +1.44875 +1.37875 +1.34875 +1.38125 +1.4812499 +1.6375 +1.83 +2.0162501 +2.1475 +2.18625 +2.11625 +1.7725 +1.59125 +1.38125 +1.16625 +0.96 +0.77 +0.61125 +0.50375 +0.46375 +0.49624997 +0.58375 +0.68375 +0.745 +0.74375 +0.67999995 +0.59375 +0.5275 +0.52625 +0.5725 +0.63625 +0.6775 +0.69 +0.66125 +0.58625 +0.49374998 +0.41125 +0.36249998 +0.35125002 +0.37875 +0.4475 +0.55999994 +0.73 +0.97124994 +1.2750001 +1.61625 +1.93625 +2.1775 +2.30125 +2.2975 +2.1925 +2.03625 +1.8725 +1.72375 +1.59875 +1.49 +1.3987501 +1.33375 +1.3075 +1.3187499 +1.34125 +1.3362501 +1.27625 +1.17 +1.05375 +0.95000005 +0.9025 +0.92375004 +1.01125 +1.10125 +1.14 +1.1112499 +1.0325 +0.94875 +0.90625 +0.9425 +1.0649999 +1.2587501 +1.4875001 +1.7025001 +1.8625001 +1.9312502 +1.89625 +1.7725 +1.59125 +1.38125 +1.16625 +0.96 +0.77 +0.61125 +0.50375 +0.46375 +0.49624997 +0.58375 +0.68375 +0.745 +0.74375 +0.67999995 +0.59375 +0.5275 +0.52625 +0.5725 +0.63625 +0.6775 +0.69 +0.66125 +0.58625 +0.49374998 +0.41125 +0.36249998 +0.35125002 +0.37875 +0.4475 +0.55999994 +0.73 +0.97124994 +1.2750001 +1.61625 +1.93625 +2.1775 +2.30125 +2.2975 +2.1925 +2.03625 +1.8725 +1.72375 +1.59875 +1.49 +1.3987501 +1.33375 +1.3075 +1.3187499 +1.34125 +1.3362501 +1.27625 +1.17 +1.05375 +0.95000005 +0.9025 +0.92375004 +1.01125 +1.10125 +1.14 +1.1112499 +1.0325 +0.94875 +0.90625 +0.9425 +1.0649999 +1.2587501 +1.4875001 +1.7025001 +1.8625001 +1.9312502 +1.89625 +1.52 +1.3862501 +1.215 +1.0137501 +0.79499996 +0.575 +0.39250004 +0.27124998 +0.21375 +0.23375002 +0.32874998 +0.42875 +0.47125 +0.42624998 +0.3375 +0.22125 +0.15249999 +0.15375 +0.19625 +0.26624998 +0.32500002 +0.32625 +0.2975 +0.22999999 +0.15625 +0.114999995 +0.106249996 +0.13 +0.2025 +0.31125003 +0.46125004 +0.68 +0.97625 +1.33375 +1.7025 +2.01125 +2.19625 +2.22625 +2.1175 +1.9224999 +1.7049998 +1.51125 +1.3512499 +1.2125 +1.0762501 +0.94374996 +0.83375 +0.77125 +0.76250005 +0.78375 +0.7825 +0.71875 +0.60875 +0.46375 +0.3575 +0.31125 +0.32874998 +0.4325 +0.57374996 +0.65625006 +0.65125 +0.57375 +0.48375 +0.44624996 +0.48375 +0.62625 +0.84625 +1.0975001 +1.32875 +1.5012499 +1.59125 +1.5937498 +1.52 +1.3862501 +1.215 +1.0137501 +0.79499996 +0.575 +0.39250004 +0.27124998 +0.21375 +0.23375002 +0.32874998 +0.42875 +0.47125 +0.42624998 +0.3375 +0.22125 +0.15249999 +0.15375 +0.19625 +0.26624998 +0.32500002 +0.32625 +0.2975 +0.22999999 +0.15625 +0.114999995 +0.106249996 +0.13 +0.2025 +0.31125003 +0.46125004 +0.68 +0.97625 +1.33375 +1.7025 +2.01125 +2.19625 +2.22625 +2.1175 +1.9224999 +1.7049998 +1.51125 +1.3512499 +1.2125 +1.0762501 +0.94374996 +0.83375 +0.77125 +0.76250005 +0.78375 +0.7825 +0.71875 +0.60875 +0.46375 +0.3575 +0.31125 +0.32874998 +0.4325 +0.57374996 +0.65625006 +0.65125 +0.57375 +0.48375 +0.44624996 +0.48375 +0.62625 +0.84625 +1.0975001 +1.32875 +1.5012499 +1.59125 +1.5937498 +1.34 +1.255 +1.11375 +0.9225 +0.69124997 +0.44625002 +0.26749998 +0.155 +0.1 +0.096250005 +0.15375 +0.24 +0.25875 +0.19874999 +0.1025 +0.018749999 +0.0 +0.0 +0.01 +0.042499997 +0.095 +0.10125001 +0.09125 +0.06375 +0.0475 +0.04875 +0.07625 +0.14125001 +0.24249999 +0.375 +0.5525 +0.79375 +1.1112499 +1.4737501 +1.815 +2.05875 +2.145 +2.05875 +1.83625 +1.5525 +1.2762499 +1.0500001 +0.87625 +0.725 +0.57625 +0.4325 +0.32875 +0.275 +0.26875 +0.29375 +0.31375 +0.26125 +0.17625 +0.0675 +0.0075000003 +0.0 +0.0175 +0.07875 +0.21125 +0.315 +0.31625 +0.25 +0.17125 +0.14 +0.17875 +0.3025 +0.53375 +0.79125005 +1.0262499 +1.2075001 +1.3199999 +1.3625 +1.34 +1.255 +1.11375 +0.9225 +0.69124997 +0.44625002 +0.26749998 +0.155 +0.1 +0.096250005 +0.15375 +0.24 +0.25875 +0.19874999 +0.1025 +0.018749999 +0.0 +0.0 +0.01 +0.042499997 +0.095 +0.10125001 +0.09125 +0.06375 +0.0475 +0.04875 +0.07625 +0.14125001 +0.24249999 +0.375 +0.5525 +0.79375 +1.1112499 +1.4737501 +1.815 +2.05875 +2.145 +2.05875 +1.83625 +1.5525 +1.2762499 +1.0500001 +0.87625 +0.725 +0.57625 +0.4325 +0.32875 +0.275 +0.26875 +0.29375 +0.31375 +0.26125 +0.17625 +0.0675 +0.0075000003 +0.0 +0.0175 +0.07875 +0.21125 +0.315 +0.31625 +0.25 +0.17125 +0.14 +0.17875 +0.3025 +0.53375 +0.79125005 +1.0262499 +1.2075001 +1.3199999 +1.3625 +1.63625 +1.7925001 +1.895 +1.9112501 +1.835 +1.6850001 +1.49125 +1.2887499 +1.08875 +0.90374994 +0.73125 +0.57625 +0.45125002 +0.36625 +0.31875 +0.28125 +0.24375 +0.16 +0.04625 +0.0025 +0.0 +0.0075 +0.03375 +0.05 +0.1 +0.21875 +0.31125 +0.355 +0.38625002 +0.4425 +0.54625 +0.695 +0.87 +1.0575 +1.24875 +1.4399998 +1.6212502 +1.7725002 +1.8687501 +1.8837501 +1.80875 +1.66125 +1.47125 +1.2712499 +1.075 +0.89375 +0.72625 +0.57625 +0.4575 +0.37875 +0.335 +0.29625 +0.25625 +0.17 +0.051250003 +0.0025 +0.0 +0.0075 +0.03 +0.043750003 +0.095 +0.2075 +0.29375002 +0.33749998 +0.37124997 +0.43249995 +0.54 +0.6925 +0.87 +1.0600001 +1.255 +1.44875 +1.63625 +1.7925001 +1.895 +1.9112501 +1.835 +1.6850001 +1.49125 +1.2887499 +1.08875 +0.90374994 +0.73125 +0.57625 +0.45125002 +0.36625 +0.31875 +0.28125 +0.24375 +0.16 +0.04625 +0.0025 +0.0 +0.0075 +0.03375 +0.05 +0.1 +0.21875 +0.31125 +0.355 +0.38625002 +0.4425 +0.54625 +0.695 +0.87 +1.0575 +1.24875 +1.4399998 +1.6212502 +1.7725002 +1.8687501 +1.8837501 +1.80875 +1.66125 +1.47125 +1.2712499 +1.075 +0.89375 +0.72625 +0.57625 +0.4575 +0.37875 +0.335 +0.29625 +0.25625 +0.17 +0.051250003 +0.0025 +0.0 +0.0075 +0.03 +0.043750003 +0.095 +0.2075 +0.29375002 +0.33749998 +0.37124997 +0.43249995 +0.54 +0.6925 +0.87 +1.0600001 +1.255 +1.44875 +1.6725 +1.85375 +1.96875 +1.9925 +1.9124999 +1.75 +1.5374999 +1.3100001 +1.0925 +0.89375 +0.70874995 +0.54875 +0.42125002 +0.335 +0.29 +0.26500002 +0.23 +0.17 +0.07375 +0.00625 +0.0 +0.0175 +0.0425 +0.06375 +0.13749999 +0.2575 +0.34375 +0.37875003 +0.39375 +0.43250003 +0.51875 +0.65375 +0.82625 +1.02 +1.22375 +1.4225 +1.60625 +1.75625 +1.84625 +1.8499999 +1.77125 +1.6187499 +1.42125 +1.2112501 +1.00875 +0.82250005 +0.66125 +0.5275 +0.43250003 +0.37875 +0.35875 +0.33875 +0.29625002 +0.215 +0.0925 +0.00875 +0.0 +0.0175 +0.03125 +0.044999998 +0.1225 +0.2125 +0.26875 +0.29125 +0.315 +0.37499997 +0.48499995 +0.64 +0.82500005 +1.0275 +1.24125 +1.4612501 +1.6725 +1.85375 +1.96875 +1.9925 +1.9124999 +1.75 +1.5374999 +1.3100001 +1.0925 +0.89375 +0.70874995 +0.54875 +0.42125002 +0.335 +0.29 +0.26500002 +0.23 +0.17 +0.07375 +0.00625 +0.0 +0.0175 +0.0425 +0.06375 +0.13749999 +0.2575 +0.34375 +0.37875003 +0.39375 +0.43250003 +0.51875 +0.65375 +0.82625 +1.02 +1.22375 +1.4225 +1.60625 +1.75625 +1.84625 +1.8499999 +1.77125 +1.6187499 +1.42125 +1.2112501 +1.00875 +0.82250005 +0.66125 +0.5275 +0.43250003 +0.37875 +0.35875 +0.33875 +0.29625002 +0.215 +0.0925 +0.00875 +0.0 +0.0175 +0.03125 +0.044999998 +0.1225 +0.2125 +0.26875 +0.29125 +0.315 +0.37499997 +0.48499995 +0.64 +0.82500005 +1.0275 +1.24125 +1.4612501 +1.6875 +1.91125 +2.06 +2.1000001 +2.02 +1.8375001 +1.595 +1.3362501 +1.0912501 +0.87375003 +0.68 +0.51125 +0.37750003 +0.2875 +0.24375 +0.23249999 +0.22375 +0.19125 +0.1225 +0.041249998 +0.0 +0.01375 +0.03875 +0.07 +0.16 +0.28625 +0.37 +0.39375 +0.38500002 +0.38875002 +0.43625 +0.545 +0.70874995 +0.91125005 +1.13125 +1.3425 +1.5325 +1.6774999 +1.7562501 +1.74875 +1.6587499 +1.49875 +1.295 +1.07375 +0.85749996 +0.66375 +0.50875 +0.4 +0.34624997 +0.34 +0.35875002 +0.36625 +0.34125 +0.26125 +0.13125 +0.02125 +0.01 +0.02375 +0.02875 +0.074999996 +0.15 +0.205 +0.21375 +0.20375001 +0.21000001 +0.26125 +0.37 +0.5275 +0.71875 +0.93375003 +1.1725001 +1.42875 +1.6875 +1.91125 +2.06 +2.1000001 +2.02 +1.8375001 +1.595 +1.3362501 +1.0912501 +0.87375003 +0.68 +0.51125 +0.37750003 +0.2875 +0.24375 +0.23249999 +0.22375 +0.19125 +0.1225 +0.041249998 +0.0 +0.01375 +0.03875 +0.07 +0.16 +0.28625 +0.37 +0.39375 +0.38500002 +0.38875002 +0.43625 +0.545 +0.70874995 +0.91125005 +1.13125 +1.3425 +1.5325 +1.6774999 +1.7562501 +1.74875 +1.6587499 +1.49875 +1.295 +1.07375 +0.85749996 +0.66375 +0.50875 +0.4 +0.34624997 +0.34 +0.35875002 +0.36625 +0.34125 +0.26125 +0.13125 +0.02125 +0.01 +0.02375 +0.02875 +0.074999996 +0.15 +0.205 +0.21375 +0.20375001 +0.21000001 +0.26125 +0.37 +0.5275 +0.71875 +0.93375003 +1.1725001 +1.42875 +1.6125001 +1.88625 +2.07875 +2.1425 +2.06625 +1.8712499 +1.6062499 +1.32375 +1.065 +0.84250003 +0.655 +0.49374998 +0.35625002 +0.255 +0.20625 +0.19999999 +0.21375 +0.2175 +0.18625 +0.11 +0.02625 +0.0 +0.01625 +0.05125 +0.1175 +0.24375002 +0.32999998 +0.34625003 +0.31125 +0.2725 +0.27625 +0.34875 +0.49875 +0.7075 +0.94124997 +1.16875 +1.3599999 +1.49375 +1.555 +1.5375 +1.4412501 +1.2812501 +1.0787499 +0.8525 +0.62625 +0.42625 +0.275 +0.195 +0.185 +0.2275 +0.285 +0.32500002 +0.3125 +0.225 +0.095 +0.02375 +0.01 +0.02125 +0.0325 +0.095 +0.15124999 +0.15499999 +0.114999995 +0.091249995 +0.09625 +0.13250001 +0.21999998 +0.36875 +0.55375 +0.77 +1.0212501 +1.31 +1.6125001 +1.88625 +2.07875 +2.1425 +2.06625 +1.8712499 +1.6062499 +1.32375 +1.065 +0.84250003 +0.655 +0.49374998 +0.35625002 +0.255 +0.20625 +0.19999999 +0.21375 +0.2175 +0.18625 +0.11 +0.02625 +0.0 +0.01625 +0.05125 +0.1175 +0.24375002 +0.32999998 +0.34625003 +0.31125 +0.2725 +0.27625 +0.34875 +0.49875 +0.7075 +0.94124997 +1.16875 +1.3599999 +1.49375 +1.555 +1.5375 +1.4412501 +1.2812501 +1.0787499 +0.8525 +0.62625 +0.42625 +0.275 +0.195 +0.185 +0.2275 +0.285 +0.32500002 +0.3125 +0.225 +0.095 +0.02375 +0.01 +0.02125 +0.0325 +0.095 +0.15124999 +0.15499999 +0.114999995 +0.091249995 +0.09625 +0.13250001 +0.21999998 +0.36875 +0.55375 +0.77 +1.0212501 +1.31 +1.4287499 +1.7424998 +1.97125 +2.06125 +1.99875 +1.805 +1.5362499 +1.25625 +1.01125 +0.81374997 +0.65375 +0.52500004 +0.39375 +0.27875 +0.20375 +0.18875 +0.21000001 +0.24749997 +0.24374999 +0.17375 +0.06625 +0.01 +0.0 +0.00625 +0.04625 +0.12625 +0.23875 +0.275 +0.22875002 +0.13624999 +0.088750005 +0.13624999 +0.2425 +0.4425 +0.68750006 +0.92 +1.105 +1.2225001 +1.26375 +1.235 +1.1425 +0.9975 +0.81 +0.6175 +0.40125 +0.1925 +0.07375 +0.02375 +0.03625 +0.074999996 +0.16 +0.22 +0.19125 +0.09875 +0.0325 +0.00375 +0.00125 +0.00875 +0.015000001 +0.055 +0.092499994 +0.065 +0.03 +0.022499999 +0.035 +0.0575 +0.105 +0.19874999 +0.35625002 +0.54875 +0.79375005 +1.09625 +1.4287499 +1.7424998 +1.97125 +2.06125 +1.99875 +1.805 +1.5362499 +1.25625 +1.01125 +0.81374997 +0.65375 +0.52500004 +0.39375 +0.27875 +0.20375 +0.18875 +0.21000001 +0.24749997 +0.24374999 +0.17375 +0.06625 +0.01 +0.0 +0.00625 +0.04625 +0.12625 +0.23875 +0.275 +0.22875002 +0.13624999 +0.088750005 +0.13624999 +0.2425 +0.4425 +0.68750006 +0.92 +1.105 +1.2225001 +1.26375 +1.235 +1.1425 +0.9975 +0.81 +0.6175 +0.40125 +0.1925 +0.07375 +0.02375 +0.03625 +0.074999996 +0.16 +0.22 +0.19125 +0.09875 +0.0325 +0.00375 +0.00125 +0.00875 +0.015000001 +0.055 +0.092499994 +0.065 +0.03 +0.022499999 +0.035 +0.0575 +0.105 +0.19874999 +0.35625002 +0.54875 +0.79375005 +1.09625 +1.18625 +1.525 +1.77875 +1.8912499 +1.8425 +1.6612501 +1.41125 +1.1575 +0.95125 +0.8025 +0.68875 +0.595 +0.47999996 +0.35625002 +0.25625 +0.215 +0.23249999 +0.27625 +0.285 +0.21375 +0.0925 +0.01875 +0.0 +0.0 +0.00375 +0.04 +0.14750001 +0.2 +0.14625 +0.051250003 +0.0125 +0.02125 +0.085 +0.22250001 +0.46749997 +0.695 +0.86375 +0.9549999 +0.97625 +0.9425 +0.865 +0.74625003 +0.60375005 +0.43124998 +0.22250001 +0.058750004 +0.00875 +0.0 +0.0025 +0.01125 +0.057499997 +0.1 +0.05875 +0.01875 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0075 +0.01625 +0.00875 +0.0 +0.01875 +0.0325 +0.0425 +0.05625 +0.09625 +0.18 +0.32374996 +0.54375005 +0.8399999 +1.18625 +1.525 +1.77875 +1.8912499 +1.8425 +1.6612501 +1.41125 +1.1575 +0.95125 +0.8025 +0.68875 +0.595 +0.47999996 +0.35625002 +0.25625 +0.215 +0.23249999 +0.27625 +0.285 +0.21375 +0.0925 +0.01875 +0.0 +0.0 +0.00375 +0.04 +0.14750001 +0.2 +0.14625 +0.051250003 +0.0125 +0.02125 +0.085 +0.22250001 +0.46749997 +0.695 +0.86375 +0.9549999 +0.97625 +0.9425 +0.865 +0.74625003 +0.60375005 +0.43124998 +0.22250001 +0.058750004 +0.00875 +0.0 +0.0025 +0.01125 +0.057499997 +0.1 +0.05875 +0.01875 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0075 +0.01625 +0.00875 +0.0 +0.01875 +0.0325 +0.0425 +0.05625 +0.09625 +0.18 +0.32374996 +0.54375005 +0.8399999 +0.98249996 +1.33 +1.59875 +1.7237499 +1.6850001 +1.52 +1.29375 +1.0799999 +0.92625 +0.83624995 +0.77000004 +0.7 +0.59749997 +0.46124998 +0.33625004 +0.27375 +0.27 +0.31125003 +0.32250002 +0.25 +0.11749999 +0.0225 +0.0 +0.0 +0.01875 +0.035 +0.13 +0.195 +0.15 +0.045 +0.0025 +0.03 +0.067499995 +0.17125002 +0.39375 +0.60999995 +0.75375 +0.8175 +0.81999993 +0.7825 +0.7225 +0.63125 +0.5075 +0.35875002 +0.17500001 +0.0275 +0.0 +0.0125 +0.01875 +0.00125 +0.05375 +0.07375 +0.01625 +0.0 +0.0 +0.0 +0.00125 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.01125 +0.0325 +0.04375 +0.04625 +0.04875 +0.0625 +0.105 +0.19125 +0.34875 +0.6312499 +0.98249996 +1.33 +1.59875 +1.7237499 +1.6850001 +1.52 +1.29375 +1.0799999 +0.92625 +0.83624995 +0.77000004 +0.7 +0.59749997 +0.46124998 +0.33625004 +0.27375 +0.27 +0.31125003 +0.32250002 +0.25 +0.11749999 +0.0225 +0.0 +0.0 +0.01875 +0.035 +0.13 +0.195 +0.15 +0.045 +0.0025 +0.03 +0.067499995 +0.17125002 +0.39375 +0.60999995 +0.75375 +0.8175 +0.81999993 +0.7825 +0.7225 +0.63125 +0.5075 +0.35875002 +0.17500001 +0.0275 +0.0 +0.0125 +0.01875 +0.00125 +0.05375 +0.07375 +0.01625 +0.0 +0.0 +0.0 +0.00125 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.01125 +0.0325 +0.04375 +0.04625 +0.04875 +0.0625 +0.105 +0.19125 +0.34875 +0.6312499 +0.90375 +1.2575 +1.52875 +1.6525 +1.6137499 +1.455 +1.2524999 +1.07875 +0.97374994 +0.92999995 +0.9024999 +0.83875 +0.72375 +0.57125 +0.43624997 +0.3625 +0.35375 +0.37375 +0.38125 +0.31125 +0.17375 +0.03625 +0.00125 +0.0425 +0.06375 +0.14375 +0.26125 +0.305 +0.24874999 +0.12625 +0.0575 +0.068749994 +0.13375 +0.28875 +0.51125 +0.71 +0.83125 +0.87 +0.85749996 +0.82000005 +0.7724999 +0.705 +0.595 +0.43625 +0.255 +0.088750005 +0.0325 +0.0575 +0.08625 +0.13875 +0.18375 +0.19375 +0.105 +0.0025 +0.0 +0.01 +0.0325 +0.03375 +0.051250003 +0.0675 +0.05375 +0.0225 +0.035 +0.0575 +0.06875 +0.0675 +0.07125 +0.08125 +0.107499994 +0.1675 +0.29375 +0.55125 +0.90375 +1.2575 +1.52875 +1.6525 +1.6137499 +1.455 +1.2524999 +1.07875 +0.97374994 +0.92999995 +0.9024999 +0.83875 +0.72375 +0.57125 +0.43624997 +0.3625 +0.35375 +0.37375 +0.38125 +0.31125 +0.17375 +0.03625 +0.00125 +0.0425 +0.06375 +0.14375 +0.26125 +0.305 +0.24874999 +0.12625 +0.0575 +0.068749994 +0.13375 +0.28875 +0.51125 +0.71 +0.83125 +0.87 +0.85749996 +0.82000005 +0.7724999 +0.705 +0.595 +0.43625 +0.255 +0.088750005 +0.0325 +0.0575 +0.08625 +0.13875 +0.18375 +0.19375 +0.105 +0.0025 +0.0 +0.01 +0.0325 +0.03375 +0.051250003 +0.0675 +0.05375 +0.0225 +0.035 +0.0575 +0.06875 +0.0675 +0.07125 +0.08125 +0.107499994 +0.1675 +0.29375 +0.55125 +0.975 +1.33125 +1.5937501 +1.7025 +1.65125 +1.49 +1.305 +1.1637499 +1.09625 +1.0849999 +1.0737499 +1.00875 +0.87624997 +0.70624995 +0.5575 +0.48125002 +0.4825 +0.515 +0.51125 +0.425 +0.26999998 +0.11625001 +0.0675 +0.10124999 +0.18624999 +0.34375 +0.495 +0.53125 +0.45 +0.30624998 +0.19749999 +0.19000001 +0.30374998 +0.51000005 +0.7425 +0.92625 +1.0275 +1.0525 +1.03125 +0.99125 +0.9562501 +0.90375 +0.80875003 +0.65874994 +0.4675 +0.2875 +0.1875 +0.19250001 +0.29125002 +0.43 +0.51375 +0.47875 +0.33 +0.14750001 +0.0625 +0.07125 +0.12 +0.19375 +0.28250003 +0.32750002 +0.275 +0.175 +0.115 +0.105 +0.12375 +0.15125 +0.17124999 +0.16874999 +0.16999999 +0.22375 +0.36125 +0.62 +0.975 +1.33125 +1.5937501 +1.7025 +1.65125 +1.49 +1.305 +1.1637499 +1.09625 +1.0849999 +1.0737499 +1.00875 +0.87624997 +0.70624995 +0.5575 +0.48125002 +0.4825 +0.515 +0.51125 +0.425 +0.26999998 +0.11625001 +0.0675 +0.10124999 +0.18624999 +0.34375 +0.495 +0.53125 +0.45 +0.30624998 +0.19749999 +0.19000001 +0.30374998 +0.51000005 +0.7425 +0.92625 +1.0275 +1.0525 +1.03125 +0.99125 +0.9562501 +0.90375 +0.80875003 +0.65874994 +0.4675 +0.2875 +0.1875 +0.19250001 +0.29125002 +0.43 +0.51375 +0.47875 +0.33 +0.14750001 +0.0625 +0.07125 +0.12 +0.19375 +0.28250003 +0.32750002 +0.275 +0.175 +0.115 +0.105 +0.12375 +0.15125 +0.17124999 +0.16874999 +0.16999999 +0.22375 +0.36125 +0.62 +1.13625 +1.4862499 +1.73125 +1.81625 +1.74375 +1.58125 +1.41125 +1.3 +1.26625 +1.27625 +1.26875 +1.19125 +1.0387499 +0.85625 +0.71125 +0.65250003 +0.6775 +0.7275 +0.73 +0.63625 +0.46 +0.27875 +0.1825 +0.21624999 +0.36625 +0.55625 +0.69 +0.70125 +0.59749997 +0.44375 +0.34 +0.35125 +0.48375 +0.7 +0.92625 +1.0975001 +1.18375 +1.2 +1.1775 +1.1450001 +1.11625 +1.07375 +0.98749995 +0.84499997 +0.66125 +0.49 +0.40125 +0.42874998 +0.565 +0.73499995 +0.84250003 +0.82124996 +0.67375 +0.46625 +0.30875 +0.28125 +0.38874996 +0.5625 +0.7 +0.72 +0.62 +0.45999998 +0.32625002 +0.27 +0.29500002 +0.3525 +0.38625 +0.3725 +0.34125 +0.36624998 +0.5075 +0.78125 +1.13625 +1.4862499 +1.73125 +1.81625 +1.74375 +1.58125 +1.41125 +1.3 +1.26625 +1.27625 +1.26875 +1.19125 +1.0387499 +0.85625 +0.71125 +0.65250003 +0.6775 +0.7275 +0.73 +0.63625 +0.46 +0.27875 +0.1825 +0.21624999 +0.36625 +0.55625 +0.69 +0.70125 +0.59749997 +0.44375 +0.34 +0.35125 +0.48375 +0.7 +0.92625 +1.0975001 +1.18375 +1.2 +1.1775 +1.1450001 +1.11625 +1.07375 +0.98749995 +0.84499997 +0.66125 +0.49 +0.40125 +0.42874998 +0.565 +0.73499995 +0.84250003 +0.82124996 +0.67375 +0.46625 +0.30875 +0.28125 +0.38874996 +0.5625 +0.7 +0.72 +0.62 +0.45999998 +0.32625002 +0.27 +0.29500002 +0.3525 +0.38625 +0.3725 +0.34125 +0.36624998 +0.5075 +0.78125 +1.2850001 +1.6175 +1.8375 +1.895 +1.8050001 +1.64 +1.49375 +1.4237499 +1.4312501 +1.4674999 +1.46625 +1.38375 +1.22625 +1.0550001 +0.93749994 +0.91875 +0.97375005 +1.02875 +1.0124999 +0.8775 +0.65749997 +0.43875 +0.32000002 +0.345 +0.48250002 +0.6475 +0.735 +0.7 +0.565 +0.40499997 +0.3125 +0.34125 +0.49124998 +0.70875 +0.92 +1.07125 +1.1425 +1.15375 +1.135 +1.11375 +1.0949999 +1.06125 +0.98125 +0.8425 +0.67 +0.515 +0.44625002 +0.5 +0.6625 +0.86 +0.995 +0.99749994 +0.87375 +0.69875 +0.5775 +0.59250003 +0.74 +0.9387499 +1.0812501 +1.08875 +0.95624995 +0.76124996 +0.60125 +0.5375 +0.56375 +0.6225 +0.64875 +0.615 +0.55875 +0.55625 +0.67875004 +0.94 +1.2850001 +1.6175 +1.8375 +1.895 +1.8050001 +1.64 +1.49375 +1.4237499 +1.4312501 +1.4674999 +1.46625 +1.38375 +1.22625 +1.0550001 +0.93749994 +0.91875 +0.97375005 +1.02875 +1.0124999 +0.8775 +0.65749997 +0.43875 +0.32000002 +0.345 +0.48250002 +0.6475 +0.735 +0.7 +0.565 +0.40499997 +0.3125 +0.34125 +0.49124998 +0.70875 +0.92 +1.07125 +1.1425 +1.15375 +1.135 +1.11375 +1.0949999 +1.06125 +0.98125 +0.8425 +0.67 +0.515 +0.44625002 +0.5 +0.6625 +0.86 +0.995 +0.99749994 +0.87375 +0.69875 +0.5775 +0.59250003 +0.74 +0.9387499 +1.0812501 +1.08875 +0.95624995 +0.76124996 +0.60125 +0.5375 +0.56375 +0.6225 +0.64875 +0.615 +0.55875 +0.55625 +0.67875004 +0.94 +1.3425 +1.64625 +1.8362501 +1.86375 +1.7574999 +1.6025 +1.4937501 +1.47875 +1.54125 +1.6249999 +1.65125 +1.5874999 +1.45875 +1.33125 +1.27625 +1.31625 +1.40625 +1.4537499 +1.3774999 +1.1537501 +0.84124994 +0.54999995 +0.38000003 +0.36875 +0.47125006 +0.58750004 +0.62125003 +0.55375 +0.39499998 +0.21374999 +0.12875 +0.17125 +0.315 +0.5175 +0.70125 +0.81750005 +0.86249995 +0.86125 +0.84375 +0.83375 +0.83250004 +0.81 +0.73875 +0.63 +0.48125002 +0.32874998 +0.25625 +0.32875 +0.51250005 +0.72875 +0.88 +0.90124995 +0.8 +0.6575 +0.5875 +0.65999997 +0.86999995 +1.12625 +1.3087499 +1.33375 +1.2025 +0.99625003 +0.82875 +0.76750004 +0.80125004 +0.87 +0.89374995 +0.84000003 +0.75 +0.70875 +0.7950001 +1.0225 +1.3425 +1.64625 +1.8362501 +1.86375 +1.7574999 +1.6025 +1.4937501 +1.47875 +1.54125 +1.6249999 +1.65125 +1.5874999 +1.45875 +1.33125 +1.27625 +1.31625 +1.40625 +1.4537499 +1.3774999 +1.1537501 +0.84124994 +0.54999995 +0.38000003 +0.36875 +0.47125006 +0.58750004 +0.62125003 +0.55375 +0.39499998 +0.21374999 +0.12875 +0.17125 +0.315 +0.5175 +0.70125 +0.81750005 +0.86249995 +0.86125 +0.84375 +0.83375 +0.83250004 +0.81 +0.73875 +0.63 +0.48125002 +0.32874998 +0.25625 +0.32875 +0.51250005 +0.72875 +0.88 +0.90124995 +0.8 +0.6575 +0.5875 +0.65999997 +0.86999995 +1.12625 +1.3087499 +1.33375 +1.2025 +0.99625003 +0.82875 +0.76750004 +0.80125004 +0.87 +0.89374995 +0.84000003 +0.75 +0.70875 +0.7950001 +1.0225 +1.2999998 +1.57125 +1.72625 +1.7224998 +1.605 +1.46375 +1.3975 +1.4462501 +1.58375 +1.7312499 +1.81375 +1.8025 +1.7375001 +1.695 +1.7375001 +1.86 +1.9875 +2.01125 +1.8474998 +1.51 +1.0975 +0.69375 +0.42625 +0.36124998 +0.42125002 +0.49875003 +0.5125 +0.40499997 +0.21000001 +0.06625 +0.01375 +0.01375 +0.103750005 +0.26375 +0.39749998 +0.4625 +0.46749997 +0.43375 +0.40875003 +0.41 +0.42000002 +0.425 +0.39875 +0.31 +0.19 +0.098749995 +0.05 +0.07875 +0.20750001 +0.39875 +0.56125 +0.61625 +0.53249997 +0.38375 +0.35250002 +0.48749998 +0.7799999 +1.1225 +1.3775 +1.4525 +1.3475 +1.155 +0.99375 +0.94000006 +0.99 +1.06875 +1.09 +1.01375 +0.88375 +0.79249996 +0.8274999 +1.015 +1.2999998 +1.57125 +1.72625 +1.7224998 +1.605 +1.46375 +1.3975 +1.4462501 +1.58375 +1.7312499 +1.81375 +1.8025 +1.7375001 +1.695 +1.7375001 +1.86 +1.9875 +2.01125 +1.8474998 +1.51 +1.0975 +0.69375 +0.42625 +0.36124998 +0.42125002 +0.49875003 +0.5125 +0.40499997 +0.21000001 +0.06625 +0.01375 +0.01375 +0.103750005 +0.26375 +0.39749998 +0.4625 +0.46749997 +0.43375 +0.40875003 +0.41 +0.42000002 +0.425 +0.39875 +0.31 +0.19 +0.098749995 +0.05 +0.07875 +0.20750001 +0.39875 +0.56125 +0.61625 +0.53249997 +0.38375 +0.35250002 +0.48749998 +0.7799999 +1.1225 +1.3775 +1.4525 +1.3475 +1.155 +0.99375 +0.94000006 +0.99 +1.06875 +1.09 +1.01375 +0.88375 +0.79249996 +0.8274999 +1.015 +1.21875 +1.4612501 +1.585 +1.55125 +1.41375 +1.2775 +1.2425002 +1.35 +1.56 +1.78 +1.9325001 +2.0037498 +2.0375 +2.1125 +2.2825 +2.50625 +2.6775 +2.6712499 +2.4075 +1.96125 +1.4200001 +0.91124994 +0.5725 +0.45125 +0.48375002 +0.53999996 +0.50750005 +0.3525 +0.155 +0.035 +0.0 +0.00875 +0.058750004 +0.16625 +0.2475 +0.2525 +0.19624999 +0.13374999 +0.10125 +0.09625 +0.10875 +0.120000005 +0.10249999 +0.06125 +0.01875 +0.0 +0.0 +0.0 +0.015 +0.10125 +0.23875 +0.27874997 +0.2025 +0.10875 +0.105000004 +0.26375 +0.6 +1.04 +1.3875 +1.5275 +1.4625 +1.2850001 +1.1275 +1.0762501 +1.1324999 +1.2125 +1.2225 +1.12125 +0.95125 +0.81375 +0.80625 +0.96250004 +1.21875 +1.4612501 +1.585 +1.55125 +1.41375 +1.2775 +1.2425002 +1.35 +1.56 +1.78 +1.9325001 +2.0037498 +2.0375 +2.1125 +2.2825 +2.50625 +2.6775 +2.6712499 +2.4075 +1.96125 +1.4200001 +0.91124994 +0.5725 +0.45125 +0.48375002 +0.53999996 +0.50750005 +0.3525 +0.155 +0.035 +0.0 +0.00875 +0.058750004 +0.16625 +0.2475 +0.2525 +0.19624999 +0.13374999 +0.10125 +0.09625 +0.10875 +0.120000005 +0.10249999 +0.06125 +0.01875 +0.0 +0.0 +0.0 +0.015 +0.10125 +0.23875 +0.27874997 +0.2025 +0.10875 +0.105000004 +0.26375 +0.6 +1.04 +1.3875 +1.5275 +1.4625 +1.2850001 +1.1275 +1.0762501 +1.1324999 +1.2125 +1.2225 +1.12125 +0.95125 +0.81375 +0.80625 +0.96250004 +1.1775 +1.40625 +1.50625 +1.4412501 +1.2737501 +1.1237501 +1.0975 +1.2375001 +1.49625 +1.77875 +2.0049999 +2.1625 +2.305 +2.51375 +2.815 +3.14625 +3.3687496 +3.33875 +2.98875 +2.4175 +1.7675 +1.17875 +0.79875 +0.66375 +0.68875 +0.7225 +0.65999997 +0.47625 +0.26125 +0.112500004 +0.0575 +0.087500006 +0.18875001 +0.29 +0.3175 +0.25625002 +0.14875 +0.0525 +0.01125 +0.0025 +0.00875 +0.0125 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.0025 +0.04875 +0.07875 +0.041249998 +0.01125 +0.06 +0.195 +0.52875 +1.0575 +1.48875 +1.6887499 +1.65 +1.4712499 +1.295 +1.21875 +1.25125 +1.3125 +1.30125 +1.17375 +0.97375 +0.80999994 +0.78499997 +0.9275 +1.1775 +1.40625 +1.50625 +1.4412501 +1.2737501 +1.1237501 +1.0975 +1.2375001 +1.49625 +1.77875 +2.0049999 +2.1625 +2.305 +2.51375 +2.815 +3.14625 +3.3687496 +3.33875 +2.98875 +2.4175 +1.7675 +1.17875 +0.79875 +0.66375 +0.68875 +0.7225 +0.65999997 +0.47625 +0.26125 +0.112500004 +0.0575 +0.087500006 +0.18875001 +0.29 +0.3175 +0.25625002 +0.14875 +0.0525 +0.01125 +0.0025 +0.00875 +0.0125 +0.01 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.0025 +0.04875 +0.07875 +0.041249998 +0.01125 +0.06 +0.195 +0.52875 +1.0575 +1.48875 +1.6887499 +1.65 +1.4712499 +1.295 +1.21875 +1.25125 +1.3125 +1.30125 +1.17375 +0.97375 +0.80999994 +0.78499997 +0.9275 +1.2275 +1.46 +1.54375 +1.4437501 +1.2337501 +1.04875 +1.00625 +1.14875 +1.4275 +1.7425001 +2.0175002 +2.245 +2.4812498 +2.80125 +3.21625 +3.6375 +3.90125 +3.8575 +3.4512498 +2.76875 +2.0524998 +1.425 +1.06375 +0.98 +1.02125 +1.03625 +0.92749995 +0.73125005 +0.49125 +0.3225 +0.32125002 +0.4325 +0.57125 +0.64625 +0.61 +0.4875 +0.325 +0.18625 +0.12375 +0.13 +0.16749999 +0.19624999 +0.17750001 +0.10375 +0.04 +0.0 +0.0 +0.03625 +0.06125 +0.095 +0.12875 +0.1275 +0.0625 +0.005 +0.1025 +0.27499998 +0.70124996 +1.3000001 +1.79375 +2.0325 +1.9925001 +1.7774999 +1.54375 +1.4100001 +1.38625 +1.40125 +1.35375 +1.2 +0.985 +0.8175 +0.80125 +0.9625 +1.2275 +1.46 +1.54375 +1.4437501 +1.2337501 +1.04875 +1.00625 +1.14875 +1.4275 +1.7425001 +2.0175002 +2.245 +2.4812498 +2.80125 +3.21625 +3.6375 +3.90125 +3.8575 +3.4512498 +2.76875 +2.0524998 +1.425 +1.06375 +0.98 +1.02125 +1.03625 +0.92749995 +0.73125005 +0.49125 +0.3225 +0.32125002 +0.4325 +0.57125 +0.64625 +0.61 +0.4875 +0.325 +0.18625 +0.12375 +0.13 +0.16749999 +0.19624999 +0.17750001 +0.10375 +0.04 +0.0 +0.0 +0.03625 +0.06125 +0.095 +0.12875 +0.1275 +0.0625 +0.005 +0.1025 +0.27499998 +0.70124996 +1.3000001 +1.79375 +2.0325 +1.9925001 +1.7774999 +1.54375 +1.4100001 +1.38625 +1.40125 +1.35375 +1.2 +0.985 +0.8175 +0.80125 +0.9625 +1.355 +1.5987499 +1.67125 +1.54 +1.2875 +1.0575 +0.97999996 +1.1 +1.3712499 +1.68875 +1.9762499 +2.23 +2.515 +2.8975 +3.3775 +3.84875 +4.1325 +4.0775 +3.63875 +2.9225001 +2.1575 +1.56 +1.255 +1.2149999 +1.2937499 +1.3275001 +1.2262499 +1.01 +0.7825 +0.65875006 +0.685 +0.82000005 +0.97124994 +1.0474999 +0.99750006 +0.84499997 +0.65500003 +0.50374997 +0.44125 +0.46875003 +0.54625 +0.61125 +0.60249996 +0.4925 +0.31374997 +0.1725 +0.12875 +0.1575 +0.23375002 +0.36 +0.45875 +0.41875002 +0.28500003 +0.1925 +0.24624999 +0.54375005 +1.1049999 +1.7725 +2.31125 +2.5575 +2.49125 +2.2137501 +1.8987501 +1.6750001 +1.5687499 +1.5150001 +1.42 +1.2375 +1.0125 +0.85625 +0.8675 +1.0625001 +1.355 +1.5987499 +1.67125 +1.54 +1.2875 +1.0575 +0.97999996 +1.1 +1.3712499 +1.68875 +1.9762499 +2.23 +2.515 +2.8975 +3.3775 +3.84875 +4.1325 +4.0775 +3.63875 +2.9225001 +2.1575 +1.56 +1.255 +1.2149999 +1.2937499 +1.3275001 +1.2262499 +1.01 +0.7825 +0.65875006 +0.685 +0.82000005 +0.97124994 +1.0474999 +0.99750006 +0.84499997 +0.65500003 +0.50374997 +0.44125 +0.46875003 +0.54625 +0.61125 +0.60249996 +0.4925 +0.31374997 +0.1725 +0.12875 +0.1575 +0.23375002 +0.36 +0.45875 +0.41875002 +0.28500003 +0.1925 +0.24624999 +0.54375005 +1.1049999 +1.7725 +2.31125 +2.5575 +2.49125 +2.2137501 +1.8987501 +1.6750001 +1.5687499 +1.5150001 +1.42 +1.2375 +1.0125 +0.85625 +0.8675 +1.0625001 +1.49875 +1.7512499 +1.8124999 +1.6549999 +1.3712499 +1.10375 +0.99375004 +1.08875 +1.33375 +1.6287501 +1.8937501 +2.1299999 +2.40375 +2.7800002 +3.2549999 +3.72125 +3.99125 +3.9162502 +3.46125 +2.74875 +2.005 +1.4537499 +1.20125 +1.21 +1.3262501 +1.38375 +1.2975 +1.095 +0.8837501 +0.77874994 +0.82875 +0.98749995 +1.15875 +1.2525 +1.22 +1.085 +0.91375 +0.78499997 +0.74625 +0.80375004 +0.91625 +1.0150001 +1.03 +0.93375 +0.745 +0.54375 +0.4225 +0.44 +0.58750004 +0.77250004 +0.88250005 +0.84624994 +0.69875 +0.58124995 +0.65874994 +1.03375 +1.6637499 +2.3762498 +2.9399998 +3.1825001 +3.0762498 +2.7312503 +2.32625 +2.005 +1.8075 +1.6800001 +1.52875 +1.31 +1.07625 +0.9275 +0.96124995 +1.18375 +1.49875 +1.7512499 +1.8124999 +1.6549999 +1.3712499 +1.10375 +0.99375004 +1.08875 +1.33375 +1.6287501 +1.8937501 +2.1299999 +2.40375 +2.7800002 +3.2549999 +3.72125 +3.99125 +3.9162502 +3.46125 +2.74875 +2.005 +1.4537499 +1.20125 +1.21 +1.3262501 +1.38375 +1.2975 +1.095 +0.8837501 +0.77874994 +0.82875 +0.98749995 +1.15875 +1.2525 +1.22 +1.085 +0.91375 +0.78499997 +0.74625 +0.80375004 +0.91625 +1.0150001 +1.03 +0.93375 +0.745 +0.54375 +0.4225 +0.44 +0.58750004 +0.77250004 +0.88250005 +0.84624994 +0.69875 +0.58124995 +0.65874994 +1.03375 +1.6637499 +2.3762498 +2.9399998 +3.1825001 +3.0762498 +2.7312503 +2.32625 +2.005 +1.8075 +1.6800001 +1.52875 +1.31 +1.07625 +0.9275 +0.96124995 +1.18375 +1.5987501 +1.8425 +1.8887501 +1.7150002 +1.41 +1.1325 +1.01125 +1.0887499 +1.3125 +1.5725 +1.7925001 +1.9699998 +2.17875 +2.485 +2.8925 +3.2925 +3.51375 +3.4125001 +2.95625 +2.2675 +1.57 +1.0725 +0.875 +0.9225 +1.0675 +1.1412499 +1.0675 +0.88 +0.68500006 +0.59375 +0.65375 +0.82500005 +1.01375 +1.13125 +1.1337501 +1.04125 +0.91375005 +0.82625 +0.82625 +0.91875005 +1.06375 +1.1975001 +1.2462499 +1.17625 +1.005 +0.81000006 +0.6925 +0.71750003 +0.8737501 +1.0725 +1.1975 +1.1800001 +1.06 +0.97625 +1.1 +1.5275 +2.205 +2.955 +3.5349998 +3.7675004 +3.6275 +3.2287498 +2.75875 +2.365 +2.09625 +1.8987501 +1.69375 +1.4375 +1.1812501 +1.0262501 +1.0600001 +1.2837499 +1.5987501 +1.8425 +1.8887501 +1.7150002 +1.41 +1.1325 +1.01125 +1.0887499 +1.3125 +1.5725 +1.7925001 +1.9699998 +2.17875 +2.485 +2.8925 +3.2925 +3.51375 +3.4125001 +2.95625 +2.2675 +1.57 +1.0725 +0.875 +0.9225 +1.0675 +1.1412499 +1.0675 +0.88 +0.68500006 +0.59375 +0.65375 +0.82500005 +1.01375 +1.13125 +1.1337501 +1.04125 +0.91375005 +0.82625 +0.82625 +0.91875005 +1.06375 +1.1975001 +1.2462499 +1.17625 +1.005 +0.81000006 +0.6925 +0.71750003 +0.8737501 +1.0725 +1.1975 +1.1800001 +1.06 +0.97625 +1.1 +1.5275 +2.205 +2.955 +3.5349998 +3.7675004 +3.6275 +3.2287498 +2.75875 +2.365 +2.09625 +1.8987501 +1.69375 +1.4375 +1.1812501 +1.0262501 +1.0600001 +1.2837499 +1.63 +1.84375 +1.86875 +1.6875 +1.38375 +1.11375 +1.005 +1.08625 +1.29625 +1.5237501 +1.68875 +1.79 +1.9 +2.09875 +2.3925 +2.7000003 +2.855 +2.7262502 +2.2825 +1.6387501 +1.03625 +0.58125 +0.41125 +0.47875002 +0.63124996 +0.7125 +0.64624995 +0.4925 +0.30625 +0.22 +0.27375 +0.41625 +0.605 +0.73749995 +0.77625 +0.74375 +0.67875004 +0.625 +0.645 +0.7625 +0.93500006 +1.0925 +1.1687499 +1.1274999 +1.00875 +0.8425 +0.7225 +0.76500005 +0.9375 +1.155 +1.3025 +1.3375 +1.27375 +1.20875 +1.3937501 +1.87625 +2.59875 +3.36875 +3.9524999 +4.18 +4.025 +3.6100001 +3.11875 +2.6975 +2.3925 +2.155 +1.90875 +1.61875 +1.33125 +1.15 +1.15625 +1.3499999 +1.63 +1.84375 +1.86875 +1.6875 +1.38375 +1.11375 +1.005 +1.08625 +1.29625 +1.5237501 +1.68875 +1.79 +1.9 +2.09875 +2.3925 +2.7000003 +2.855 +2.7262502 +2.2825 +1.6387501 +1.03625 +0.58125 +0.41125 +0.47875002 +0.63124996 +0.7125 +0.64624995 +0.4925 +0.30625 +0.22 +0.27375 +0.41625 +0.605 +0.73749995 +0.77625 +0.74375 +0.67875004 +0.625 +0.645 +0.7625 +0.93500006 +1.0925 +1.1687499 +1.1274999 +1.00875 +0.8425 +0.7225 +0.76500005 +0.9375 +1.155 +1.3025 +1.3375 +1.27375 +1.20875 +1.3937501 +1.87625 +2.59875 +3.36875 +3.9524999 +4.18 +4.025 +3.6100001 +3.11875 +2.6975 +2.3925 +2.155 +1.90875 +1.61875 +1.33125 +1.15 +1.15625 +1.3499999 +1.61875 +1.78375 +1.78125 +1.59 +1.30125 +1.05625 +0.9675 +1.06375 +1.2700001 +1.47375 +1.5875001 +1.6112499 +1.62375 +1.71 +1.8975 +2.1125 +2.21375 +2.07625 +1.66625 +1.1225 +0.59625 +0.2175 +0.09125 +0.13125 +0.2525 +0.34875 +0.31875 +0.17625 +0.06375 +0.015 +0.00125 +0.057499997 +0.17500001 +0.29375 +0.37375003 +0.38500002 +0.35625 +0.33750004 +0.36875 +0.47125 +0.63375 +0.80125 +0.91625 +0.92875004 +0.83875 +0.70375 +0.615 +0.6475 +0.8175 +1.05125 +1.24625 +1.3312501 +1.31125 +1.3025 +1.5149999 +2.0412498 +2.7837498 +3.55125 +4.11875 +4.3325 +4.18375 +3.7912502 +3.3287501 +2.935 +2.6425002 +2.4 +2.13625 +1.8225 +1.50625 +1.29125 +1.2537501 +1.3937501 +1.61875 +1.78375 +1.78125 +1.59 +1.30125 +1.05625 +0.9675 +1.06375 +1.2700001 +1.47375 +1.5875001 +1.6112499 +1.62375 +1.71 +1.8975 +2.1125 +2.21375 +2.07625 +1.66625 +1.1225 +0.59625 +0.2175 +0.09125 +0.13125 +0.2525 +0.34875 +0.31875 +0.17625 +0.06375 +0.015 +0.00125 +0.057499997 +0.17500001 +0.29375 +0.37375003 +0.38500002 +0.35625 +0.33750004 +0.36875 +0.47125 +0.63375 +0.80125 +0.91625 +0.92875004 +0.83875 +0.70375 +0.615 +0.6475 +0.8175 +1.05125 +1.24625 +1.3312501 +1.31125 +1.3025 +1.5149999 +2.0412498 +2.7837498 +3.55125 +4.11875 +4.3325 +4.18375 +3.7912502 +3.3287501 +2.935 +2.6425002 +2.4 +2.13625 +1.8225 +1.50625 +1.29125 +1.2537501 +1.3937501 +1.605 +1.71375 +1.6737499 +1.4725 +1.1925 +0.9675 +0.89750004 +1.0024999 +1.2075 +1.3912501 +1.46875 +1.4425 +1.3875 +1.39375 +1.505 +1.665 +1.7475001 +1.63375 +1.28625 +0.8325 +0.39625 +0.10875 +0.034999996 +0.05125 +0.14124998 +0.22625001 +0.19624999 +0.08499999 +0.01625 +0.0 +0.0 +0.0 +0.0025 +0.04625 +0.10874999 +0.12625 +0.115 +0.11375 +0.15 +0.24374999 +0.3875 +0.54 +0.64125 +0.65250003 +0.57625 +0.46875003 +0.41125 +0.47125 +0.655 +0.895 +1.0975001 +1.1999999 +1.21875 +1.2637501 +1.50875 +2.05125 +2.7725 +3.49375 +4.0125 +4.20125 +4.06875 +3.72625 +3.3375 +3.0162501 +2.78125 +2.5712502 +2.31875 +2.0012498 +1.6737499 +1.43375 +1.3549999 +1.44125 +1.605 +1.71375 +1.6737499 +1.4725 +1.1925 +0.9675 +0.89750004 +1.0024999 +1.2075 +1.3912501 +1.46875 +1.4425 +1.3875 +1.39375 +1.505 +1.665 +1.7475001 +1.63375 +1.28625 +0.8325 +0.39625 +0.10875 +0.034999996 +0.05125 +0.14124998 +0.22625001 +0.19624999 +0.08499999 +0.01625 +0.0 +0.0 +0.0 +0.0025 +0.04625 +0.10874999 +0.12625 +0.115 +0.11375 +0.15 +0.24374999 +0.3875 +0.54 +0.64125 +0.65250003 +0.57625 +0.46875003 +0.41125 +0.47125 +0.655 +0.895 +1.0975001 +1.1999999 +1.21875 +1.2637501 +1.50875 +2.05125 +2.7725 +3.49375 +4.0125 +4.20125 +4.06875 +3.72625 +3.3375 +3.0162501 +2.78125 +2.5712502 +2.31875 +2.0012498 +1.6737499 +1.43375 +1.3549999 +1.44125 +1.6012499 +1.65625 +1.5762501 +1.3525001 +1.0725001 +0.8525001 +0.78499997 +0.885 +1.0775001 +1.2487499 +1.31 +1.26375 +1.1824999 +1.16125 +1.2462499 +1.39875 +1.50125 +1.44 +1.1775 +0.7925 +0.43125 +0.195 +0.12625 +0.19000001 +0.29999998 +0.35375002 +0.3075 +0.18625 +0.06375 +0.0075 +0.0 +0.00625 +0.02375 +0.058750004 +0.0875 +0.09875 +0.09625 +0.09 +0.12 +0.19624999 +0.29874998 +0.39875 +0.46125 +0.445 +0.365 +0.27375 +0.2425 +0.32375 +0.53124994 +0.76375 +0.93625003 +1.0387499 +1.0762501 +1.1525 +1.43375 +1.9475 +2.6025002 +3.2299998 +3.6625 +3.8087502 +3.68875 +3.41875 +3.135 +2.91875 +2.7675 +2.61625 +2.40125 +2.1075 +1.79375 +1.55125 +1.4512501 +1.4925001 +1.6012499 +1.65625 +1.5762501 +1.3525001 +1.0725001 +0.8525001 +0.78499997 +0.885 +1.0775001 +1.2487499 +1.31 +1.26375 +1.1824999 +1.16125 +1.2462499 +1.39875 +1.50125 +1.44 +1.1775 +0.7925 +0.43125 +0.195 +0.12625 +0.19000001 +0.29999998 +0.35375002 +0.3075 +0.18625 +0.06375 +0.0075 +0.0 +0.00625 +0.02375 +0.058750004 +0.0875 +0.09875 +0.09625 +0.09 +0.12 +0.19624999 +0.29874998 +0.39875 +0.46125 +0.445 +0.365 +0.27375 +0.2425 +0.32375 +0.53124994 +0.76375 +0.93625003 +1.0387499 +1.0762501 +1.1525 +1.43375 +1.9475 +2.6025002 +3.2299998 +3.6625 +3.8087502 +3.68875 +3.41875 +3.135 +2.91875 +2.7675 +2.61625 +2.40125 +2.1075 +1.79375 +1.55125 +1.4512501 +1.4925001 +1.58875 +1.595 +1.47375 +1.2249999 +0.93 +0.6975 +0.6175 +0.69750005 +0.86875004 +1.025 +1.08375 +1.0437499 +0.97875 +0.97375 +1.08 +1.2575 +1.4024999 +1.40625 +1.22625 +0.92125 +0.61375 +0.4275 +0.4125 +0.52375 +0.64625 +0.68125 +0.58125 +0.40625003 +0.23375 +0.12125 +0.085 +0.1325 +0.21875 +0.30625004 +0.35625 +0.36625 +0.35500002 +0.3525 +0.37375 +0.42000002 +0.46999997 +0.48875 +0.45500004 +0.385 +0.28500003 +0.19749999 +0.195 +0.32625002 +0.53375006 +0.74 +0.87249994 +0.9187499 +0.93999994 +1.04125 +1.31 +1.76 +2.3062499 +2.80875 +3.1325002 +3.21875 +3.11375 +2.92 +2.75 +2.6525002 +2.5974998 +2.5175 +2.35625 +2.10625 +1.82875 +1.60625 +1.5075 +1.52625 +1.58875 +1.595 +1.47375 +1.2249999 +0.93 +0.6975 +0.6175 +0.69750005 +0.86875004 +1.025 +1.08375 +1.0437499 +0.97875 +0.97375 +1.08 +1.2575 +1.4024999 +1.40625 +1.22625 +0.92125 +0.61375 +0.4275 +0.4125 +0.52375 +0.64625 +0.68125 +0.58125 +0.40625003 +0.23375 +0.12125 +0.085 +0.1325 +0.21875 +0.30625004 +0.35625 +0.36625 +0.35500002 +0.3525 +0.37375 +0.42000002 +0.46999997 +0.48875 +0.45500004 +0.385 +0.28500003 +0.19749999 +0.195 +0.32625002 +0.53375006 +0.74 +0.87249994 +0.9187499 +0.93999994 +1.04125 +1.31 +1.76 +2.3062499 +2.80875 +3.1325002 +3.21875 +3.11375 +2.92 +2.75 +2.6525002 +2.5974998 +2.5175 +2.35625 +2.10625 +1.82875 +1.60625 +1.5075 +1.52625 +1.5325 +1.4925 +1.3312501 +1.0562501 +0.74375004 +0.49499997 +0.40249997 +0.44625 +0.59125 +0.73125005 +0.7925 +0.7750001 +0.74375 +0.78000003 +0.925 +1.1387501 +1.32375 +1.375 +1.2574999 +1.02125 +0.78000003 +0.65375 +0.68125 +0.81375 +0.94125 +0.97375005 +0.86749995 +0.66875 +0.4725 +0.35375 +0.35125 +0.43875003 +0.56 +0.6625 +0.71999997 +0.735 +0.73375 +0.73875 +0.75750005 +0.78125 +0.78 +0.73 +0.625 +0.47875 +0.33749998 +0.26125 +0.29250002 +0.42624998 +0.60875 +0.7675 +0.84749997 +0.84875 +0.83875 +0.91375 +1.13625 +1.50375 +1.93375 +2.29875 +2.5075002 +2.5375 +2.4462502 +2.3325 +2.2712498 +2.28375 +2.31875 +2.305 +2.19625 +1.99625 +1.7674999 +1.5862501 +1.5025 +1.5074999 +1.5325 +1.4925 +1.3312501 +1.0562501 +0.74375004 +0.49499997 +0.40249997 +0.44625 +0.59125 +0.73125005 +0.7925 +0.7750001 +0.74375 +0.78000003 +0.925 +1.1387501 +1.32375 +1.375 +1.2574999 +1.02125 +0.78000003 +0.65375 +0.68125 +0.81375 +0.94125 +0.97375005 +0.86749995 +0.66875 +0.4725 +0.35375 +0.35125 +0.43875003 +0.56 +0.6625 +0.71999997 +0.735 +0.73375 +0.73875 +0.75750005 +0.78125 +0.78 +0.73 +0.625 +0.47875 +0.33749998 +0.26125 +0.29250002 +0.42624998 +0.60875 +0.7675 +0.84749997 +0.84875 +0.83875 +0.91375 +1.13625 +1.50375 +1.93375 +2.29875 +2.5075002 +2.5375 +2.4462502 +2.3325 +2.2712498 +2.28375 +2.31875 +2.305 +2.19625 +1.99625 +1.7674999 +1.5862501 +1.5025 +1.5074999 +1.425 +1.3375 +1.1337501 +0.83874995 +0.51624995 +0.2925 +0.19749999 +0.22125 +0.29999998 +0.41375 +0.4775 +0.48000002 +0.48125002 +0.555 +0.72999996 +0.96375 +1.16125 +1.2275 +1.1324999 +0.93249995 +0.7375 +0.65374994 +0.71875006 +0.8775 +1.02 +1.055 +0.9549999 +0.76874995 +0.5925 +0.50374997 +0.53000003 +0.65 +0.79375 +0.915 +0.9875 +1.02 +1.0387499 +1.06375 +1.0949999 +1.105 +1.0649999 +0.95875 +0.78749996 +0.59375 +0.43 +0.35625 +0.39749998 +0.525 +0.67875 +0.78374994 +0.8 +0.74999994 +0.705 +0.75125 +0.93125004 +1.225 +1.54625 +1.79625 +1.91 +1.8950001 +1.8225001 +1.77875 +1.8125 +1.9074999 +2.01 +2.045 +1.97875 +1.8274999 +1.6475 +1.5087501 +1.44375 +1.43625 +1.425 +1.3375 +1.1337501 +0.83874995 +0.51624995 +0.2925 +0.19749999 +0.22125 +0.29999998 +0.41375 +0.4775 +0.48000002 +0.48125002 +0.555 +0.72999996 +0.96375 +1.16125 +1.2275 +1.1324999 +0.93249995 +0.7375 +0.65374994 +0.71875006 +0.8775 +1.02 +1.055 +0.9549999 +0.76874995 +0.5925 +0.50374997 +0.53000003 +0.65 +0.79375 +0.915 +0.9875 +1.02 +1.0387499 +1.06375 +1.0949999 +1.105 +1.0649999 +0.95875 +0.78749996 +0.59375 +0.43 +0.35625 +0.39749998 +0.525 +0.67875 +0.78374994 +0.8 +0.74999994 +0.705 +0.75125 +0.93125004 +1.225 +1.54625 +1.79625 +1.91 +1.8950001 +1.8225001 +1.77875 +1.8125 +1.9074999 +2.01 +2.045 +1.97875 +1.8274999 +1.6475 +1.5087501 +1.44375 +1.43625 +1.3 +1.1625 +0.92249995 +0.61375 +0.31374997 +0.12875 +0.09625 +0.10625 +0.135 +0.1725 +0.20625 +0.21625002 +0.23875 +0.33124998 +0.51 +0.73375 +0.90749997 +0.9525 +0.84749997 +0.65875 +0.495 +0.43750003 +0.53375 +0.71375 +0.87125003 +0.91749996 +0.83124995 +0.66625 +0.52 +0.46749997 +0.53375 +0.68 +0.8475 +0.9825001 +1.0725 +1.12625 +1.175 +1.22875 +1.27875 +1.285 +1.21875 +1.0662501 +0.8475 +0.62249994 +0.45374998 +0.39249998 +0.44875 +0.5775 +0.7025 +0.7625 +0.7275 +0.63625 +0.575 +0.6 +0.75375 +0.9975 +1.2449999 +1.4100001 +1.4575 +1.42 +1.3699999 +1.37875 +1.4775 +1.62625 +1.76375 +1.82375 +1.7874999 +1.6750001 +1.54125 +1.4375 +1.385 +1.3575001 +1.3 +1.1625 +0.92249995 +0.61375 +0.31374997 +0.12875 +0.09625 +0.10625 +0.135 +0.1725 +0.20625 +0.21625002 +0.23875 +0.33124998 +0.51 +0.73375 +0.90749997 +0.9525 +0.84749997 +0.65875 +0.495 +0.43750003 +0.53375 +0.71375 +0.87125003 +0.91749996 +0.83124995 +0.66625 +0.52 +0.46749997 +0.53375 +0.68 +0.8475 +0.9825001 +1.0725 +1.12625 +1.175 +1.22875 +1.27875 +1.285 +1.21875 +1.0662501 +0.8475 +0.62249994 +0.45374998 +0.39249998 +0.44875 +0.5775 +0.7025 +0.7625 +0.7275 +0.63625 +0.575 +0.6 +0.75375 +0.9975 +1.2449999 +1.4100001 +1.4575 +1.42 +1.3699999 +1.37875 +1.4775 +1.62625 +1.76375 +1.82375 +1.7874999 +1.6750001 +1.54125 +1.4375 +1.385 +1.3575001 +1.245 +1.055 +0.7825 +0.46875003 +0.19624999 +0.07375 +0.065 +0.0675 +0.06875 +0.0675 +0.065 +0.06375 +0.09 +0.175 +0.33875 +0.52500004 +0.65375 +0.65624994 +0.5525 +0.39124998 +0.25 +0.2075 +0.28625 +0.47875 +0.64375 +0.69625 +0.62125 +0.48375 +0.3825 +0.3525 +0.44125 +0.60249996 +0.77625 +0.91875005 +1.0187501 +1.095 +1.17375 +1.26 +1.325 +1.3299999 +1.24375 +1.0587499 +0.8162501 +0.58624995 +0.44 +0.3925 +0.47375 +0.60999995 +0.72375 +0.75124997 +0.68625 +0.6175 +0.56874996 +0.59625 +0.7199999 +0.915 +1.11875 +1.2349999 +1.2475 +1.1975 +1.1674999 +1.2075 +1.3325 +1.5012499 +1.64375 +1.7112501 +1.69125 +1.6125 +1.5249999 +1.455 +1.4075 +1.3525001 +1.245 +1.055 +0.7825 +0.46875003 +0.19624999 +0.07375 +0.065 +0.0675 +0.06875 +0.0675 +0.065 +0.06375 +0.09 +0.175 +0.33875 +0.52500004 +0.65375 +0.65624994 +0.5525 +0.39124998 +0.25 +0.2075 +0.28625 +0.47875 +0.64375 +0.69625 +0.62125 +0.48375 +0.3825 +0.3525 +0.44125 +0.60249996 +0.77625 +0.91875005 +1.0187501 +1.095 +1.17375 +1.26 +1.325 +1.3299999 +1.24375 +1.0587499 +0.8162501 +0.58624995 +0.44 +0.3925 +0.47375 +0.60999995 +0.72375 +0.75124997 +0.68625 +0.6175 +0.56874996 +0.59625 +0.7199999 +0.915 +1.11875 +1.2349999 +1.2475 +1.1975 +1.1674999 +1.2075 +1.3325 +1.5012499 +1.64375 +1.7112501 +1.69125 +1.6125 +1.5249999 +1.455 +1.4075 +1.3525001 +1.3275 +1.08875 +0.78874993 +0.47375 +0.2175 +0.0875 +0.065 +0.06875 +0.07375 +0.073750004 +0.068749994 +0.07375 +0.105000004 +0.18125 +0.30374998 +0.44375002 +0.52125 +0.5075 +0.4 +0.24875 +0.13624999 +0.12125 +0.215 +0.3675 +0.5175 +0.5575 +0.49875 +0.40875003 +0.33249998 +0.32500002 +0.39374998 +0.54249996 +0.70874995 +0.84499997 +0.95250005 +1.0525 +1.1612499 +1.27 +1.3475001 +1.34625 +1.2412499 +1.0374999 +0.79999995 +0.60875 +0.49375 +0.48375002 +0.565 +0.7037501 +0.81624997 +0.83625 +0.805 +0.73749995 +0.70000005 +0.7425 +0.86875 +1.04375 +1.2 +1.2887499 +1.2887499 +1.2499999 +1.225 +1.2600001 +1.3712499 +1.52375 +1.65125 +1.71625 +1.71375 +1.67625 +1.6350001 +1.60375 +1.56125 +1.48125 +1.3275 +1.08875 +0.78874993 +0.47375 +0.2175 +0.0875 +0.065 +0.06875 +0.07375 +0.073750004 +0.068749994 +0.07375 +0.105000004 +0.18125 +0.30374998 +0.44375002 +0.52125 +0.5075 +0.4 +0.24875 +0.13624999 +0.12125 +0.215 +0.3675 +0.5175 +0.5575 +0.49875 +0.40875003 +0.33249998 +0.32500002 +0.39374998 +0.54249996 +0.70874995 +0.84499997 +0.95250005 +1.0525 +1.1612499 +1.27 +1.3475001 +1.34625 +1.2412499 +1.0374999 +0.79999995 +0.60875 +0.49375 +0.48375002 +0.565 +0.7037501 +0.81624997 +0.83625 +0.805 +0.73749995 +0.70000005 +0.7425 +0.86875 +1.04375 +1.2 +1.2887499 +1.2887499 +1.2499999 +1.225 +1.2600001 +1.3712499 +1.52375 +1.65125 +1.71625 +1.71375 +1.67625 +1.6350001 +1.60375 +1.56125 +1.48125 +1.5537499 +1.2787501 +0.96000004 +0.6475 +0.39125 +0.2375 +0.17875 +0.1725 +0.18375 +0.19500001 +0.19874999 +0.21875 +0.26 +0.335 +0.43625 +0.53 +0.575 +0.54 +0.4375 +0.31625 +0.24125001 +0.25375003 +0.35000002 +0.47999996 +0.57875 +0.59499997 +0.53875 +0.45125 +0.39249998 +0.39499998 +0.45875 +0.5825 +0.73375005 +0.86750007 +0.98875 +1.115 +1.2525 +1.3812501 +1.4599999 +1.4499999 +1.32875 +1.1187499 +0.89750004 +0.73249996 +0.65 +0.6725 +0.77625 +0.91125 +1.02125 +1.0587499 +1.0325 +0.98 +0.95624995 +1.0037501 +1.12875 +1.2874999 +1.4225 +1.48875 +1.485 +1.44125 +1.4137499 +1.435 +1.5075 +1.625 +1.7275002 +1.7924999 +1.8199999 +1.8324999 +1.8475 +1.8612499 +1.8375001 +1.7425 +1.5537499 +1.2787501 +0.96000004 +0.6475 +0.39125 +0.2375 +0.17875 +0.1725 +0.18375 +0.19500001 +0.19874999 +0.21875 +0.26 +0.335 +0.43625 +0.53 +0.575 +0.54 +0.4375 +0.31625 +0.24125001 +0.25375003 +0.35000002 +0.47999996 +0.57875 +0.59499997 +0.53875 +0.45125 +0.39249998 +0.39499998 +0.45875 +0.5825 +0.73375005 +0.86750007 +0.98875 +1.115 +1.2525 +1.3812501 +1.4599999 +1.4499999 +1.32875 +1.1187499 +0.89750004 +0.73249996 +0.65 +0.6725 +0.77625 +0.91125 +1.02125 +1.0587499 +1.0325 +0.98 +0.95624995 +1.0037501 +1.12875 +1.2874999 +1.4225 +1.48875 +1.485 +1.44125 +1.4137499 +1.435 +1.5075 +1.625 +1.7275002 +1.7924999 +1.8199999 +1.8324999 +1.8475 +1.8612499 +1.8375001 +1.7425 +1.84125 +1.5524999 +1.2237501 +0.91374993 +0.6675 +0.505 +0.42125 +0.39125 +0.38875 +0.39375 +0.40500003 +0.44125 +0.4975 +0.57375 +0.65874994 +0.72749996 +0.7375001 +0.69624996 +0.62 +0.54249996 +0.50875 +0.53875 +0.62125003 +0.71124995 +0.76374996 +0.72875 +0.64625 +0.56 +0.50750005 +0.5125 +0.57625 +0.7075 +0.855 +1.0 +1.15375 +1.31875 +1.485 +1.6274999 +1.7 +1.6700001 +1.5374999 +1.3287499 +1.1075 +0.96375 +0.90625006 +0.94124997 +1.045 +1.17875 +1.28625 +1.3162501 +1.2925 +1.25 +1.22875 +1.2650001 +1.365 +1.495 +1.6075 +1.6700001 +1.65875 +1.615 +1.5787499 +1.5762498 +1.61375 +1.69 +1.7737501 +1.84625 +1.9137499 +1.9875001 +2.06875 +2.13125 +2.13625 +2.04375 +1.84125 +1.5524999 +1.2237501 +0.91374993 +0.6675 +0.505 +0.42125 +0.39125 +0.38875 +0.39375 +0.40500003 +0.44125 +0.4975 +0.57375 +0.65874994 +0.72749996 +0.7375001 +0.69624996 +0.62 +0.54249996 +0.50875 +0.53875 +0.62125003 +0.71124995 +0.76374996 +0.72875 +0.64625 +0.56 +0.50750005 +0.5125 +0.57625 +0.7075 +0.855 +1.0 +1.15375 +1.31875 +1.485 +1.6274999 +1.7 +1.6700001 +1.5374999 +1.3287499 +1.1075 +0.96375 +0.90625006 +0.94124997 +1.045 +1.17875 +1.28625 +1.3162501 +1.2925 +1.25 +1.22875 +1.2650001 +1.365 +1.495 +1.6075 +1.6700001 +1.65875 +1.615 +1.5787499 +1.5762498 +1.61375 +1.69 +1.7737501 +1.84625 +1.9137499 +1.9875001 +2.06875 +2.13125 +2.13625 +2.04375 +2.0624998 +1.7800001 +1.4612501 +1.1575 +0.91125005 +0.7375 +0.62874997 +0.5675 +0.5425 +0.54375 +0.57124996 +0.62874997 +0.70625 +0.79 +0.86375 +0.9 +0.885 +0.84000003 +0.79625 +0.765 +0.7675 +0.80375 +0.87 +0.91499996 +0.9 +0.82125 +0.70875 +0.615 +0.57375 +0.60374993 +0.69874996 +0.835 +0.99875 +1.1812501 +1.38625 +1.5987501 +1.7975 +1.9412498 +1.9962502 +1.9425001 +1.795 +1.5925 +1.39125 +1.2375001 +1.1675 +1.1899999 +1.2749999 +1.38625 +1.4712499 +1.4975001 +1.46125 +1.4025 +1.36625 +1.37 +1.4224999 +1.5100001 +1.60375 +1.66875 +1.67125 +1.6312501 +1.585 +1.5625 +1.5699998 +1.61875 +1.6950002 +1.7875 +1.9037501 +2.04125 +2.18375 +2.29625 +2.3325 +2.255 +2.0624998 +1.7800001 +1.4612501 +1.1575 +0.91125005 +0.7375 +0.62874997 +0.5675 +0.5425 +0.54375 +0.57124996 +0.62874997 +0.70625 +0.79 +0.86375 +0.9 +0.885 +0.84000003 +0.79625 +0.765 +0.7675 +0.80375 +0.87 +0.91499996 +0.9 +0.82125 +0.70875 +0.615 +0.57375 +0.60374993 +0.69874996 +0.835 +0.99875 +1.1812501 +1.38625 +1.5987501 +1.7975 +1.9412498 +1.9962502 +1.9425001 +1.795 +1.5925 +1.39125 +1.2375001 +1.1675 +1.1899999 +1.2749999 +1.38625 +1.4712499 +1.4975001 +1.46125 +1.4025 +1.36625 +1.37 +1.4224999 +1.5100001 +1.60375 +1.66875 +1.67125 +1.6312501 +1.585 +1.5625 +1.5699998 +1.61875 +1.6950002 +1.7875 +1.9037501 +2.04125 +2.18375 +2.29625 +2.3325 +2.255 +2.11625 +1.8600001 +1.56625 +1.2812499 +1.0350001 +0.8425 +0.7025 +0.61125004 +0.56625 +0.57124996 +0.6225 +0.70750004 +0.80500007 +0.88 +0.91124994 +0.90375 +0.86249995 +0.8225 +0.8087499 +0.81999993 +0.84999996 +0.89375 +0.9275 +0.91249996 +0.84124994 +0.73625 +0.63374996 +0.56624997 +0.55875 +0.615 +0.7275 +0.89 +1.09125 +1.33 +1.59875 +1.8575001 +2.07375 +2.2024999 +2.2225 +2.13375 +1.96625 +1.76625 +1.5762501 +1.42625 +1.335 +1.3075 +1.3312501 +1.38375 +1.4325 +1.44875 +1.41125 +1.3349999 +1.2574999 +1.2125 +1.21 +1.2525 +1.3299999 +1.40625 +1.4437499 +1.43625 +1.3975 +1.3612499 +1.34875 +1.37875 +1.4537499 +1.5725 +1.735 +1.925 +2.1174998 +2.26875 +2.3325 +2.28125 +2.11625 +1.8600001 +1.56625 +1.2812499 +1.0350001 +0.8425 +0.7025 +0.61125004 +0.56625 +0.57124996 +0.6225 +0.70750004 +0.80500007 +0.88 +0.91124994 +0.90375 +0.86249995 +0.8225 +0.8087499 +0.81999993 +0.84999996 +0.89375 +0.9275 +0.91249996 +0.84124994 +0.73625 +0.63374996 +0.56624997 +0.55875 +0.615 +0.7275 +0.89 +1.09125 +1.33 +1.59875 +1.8575001 +2.07375 +2.2024999 +2.2225 +2.13375 +1.96625 +1.76625 +1.5762501 +1.42625 +1.335 +1.3075 +1.3312501 +1.38375 +1.4325 +1.44875 +1.41125 +1.3349999 +1.2574999 +1.2125 +1.21 +1.2525 +1.3299999 +1.40625 +1.4437499 +1.43625 +1.3975 +1.3612499 +1.34875 +1.37875 +1.4537499 +1.5725 +1.735 +1.925 +2.1174998 +2.26875 +2.3325 +2.28125 +1.98875 +1.78125 +1.5262501 +1.26375 +1.02125 +0.80999994 +0.64125 +0.5225 +0.46249998 +0.47249997 +0.54375 +0.64625 +0.73625004 +0.77875 +0.75875 +0.69375 +0.61875004 +0.59000003 +0.60249996 +0.645 +0.69375 +0.7325 +0.73375 +0.67625 +0.5825 +0.48375002 +0.41375 +0.39624998 +0.43749997 +0.5325 +0.67625 +0.875 +1.125 +1.4225 +1.74125 +2.02875 +2.2325 +2.31875 +2.28 +2.1375 +1.94125 +1.73625 +1.5450001 +1.38375 +1.26 +1.175 +1.13 +1.1225001 +1.14 +1.14375 +1.10625 +1.0187501 +0.90875 +0.81875 +0.76875 +0.78 +0.84499997 +0.95125 +1.03625 +1.07125 +1.055 +1.015 +0.98749995 +1.0074999 +1.0875 +1.2337499 +1.4324999 +1.6575 +1.8775002 +2.05125 +2.1374998 +2.1187499 +1.98875 +1.78125 +1.5262501 +1.26375 +1.02125 +0.80999994 +0.64125 +0.5225 +0.46249998 +0.47249997 +0.54375 +0.64625 +0.73625004 +0.77875 +0.75875 +0.69375 +0.61875004 +0.59000003 +0.60249996 +0.645 +0.69375 +0.7325 +0.73375 +0.67625 +0.5825 +0.48375002 +0.41375 +0.39624998 +0.43749997 +0.5325 +0.67625 +0.875 +1.125 +1.4225 +1.74125 +2.02875 +2.2325 +2.31875 +2.28 +2.1375 +1.94125 +1.73625 +1.5450001 +1.38375 +1.26 +1.175 +1.13 +1.1225001 +1.14 +1.14375 +1.10625 +1.0187501 +0.90875 +0.81875 +0.76875 +0.78 +0.84499997 +0.95125 +1.03625 +1.07125 +1.055 +1.015 +0.98749995 +1.0074999 +1.0875 +1.2337499 +1.4324999 +1.6575 +1.8775002 +2.05125 +2.1374998 +2.1187499 +1.7774999 +1.62 +1.4125 +1.17625 +0.93874997 +0.7125 +0.51750004 +0.37750003 +0.30874997 +0.31874996 +0.395 +0.49125004 +0.55625 +0.55125 +0.47375 +0.35625 +0.27375 +0.23875001 +0.26624998 +0.33499998 +0.39875 +0.42624998 +0.41375 +0.3475 +0.27125 +0.21 +0.18875 +0.23374999 +0.32874998 +0.4625 +0.64 +0.8725 +1.1625 +1.4962499 +1.8325 +2.1074998 +2.2625 +2.275 +2.155 +1.9475 +1.71125 +1.49 +1.2912501 +1.1175001 +0.96124995 +0.83000004 +0.73625 +0.6925 +0.69125 +0.69625 +0.66749996 +0.5775 +0.46124998 +0.34375 +0.28 +0.27999997 +0.34749997 +0.47625002 +0.6075 +0.68000007 +0.68 +0.635 +0.59875 +0.61125 +0.6975 +0.85999995 +1.0762501 +1.3212501 +1.5525 +1.7362499 +1.8425 +1.8562499 +1.7774999 +1.62 +1.4125 +1.17625 +0.93874997 +0.7125 +0.51750004 +0.37750003 +0.30874997 +0.31874996 +0.395 +0.49125004 +0.55625 +0.55125 +0.47375 +0.35625 +0.27375 +0.23875001 +0.26624998 +0.33499998 +0.39875 +0.42624998 +0.41375 +0.3475 +0.27125 +0.21 +0.18875 +0.23374999 +0.32874998 +0.4625 +0.64 +0.8725 +1.1625 +1.4962499 +1.8325 +2.1074998 +2.2625 +2.275 +2.155 +1.9475 +1.71125 +1.49 +1.2912501 +1.1175001 +0.96124995 +0.83000004 +0.73625 +0.6925 +0.69125 +0.69625 +0.66749996 +0.5775 +0.46124998 +0.34375 +0.28 +0.27999997 +0.34749997 +0.47625002 +0.6075 +0.68000007 +0.68 +0.635 +0.59875 +0.61125 +0.6975 +0.85999995 +1.0762501 +1.3212501 +1.5525 +1.7362499 +1.8425 +1.8562499 +1.62 +1.51625 +1.3487501 +1.135 +0.9 +0.66125 +0.44875002 +0.29125002 +0.21249999 +0.21625 +0.2825 +0.35875002 +0.39000002 +0.3425 +0.22749999 +0.09375 +0.024999999 +0.00875 +0.028749999 +0.092499994 +0.16625 +0.195 +0.18875001 +0.1425 +0.1025 +0.096250005 +0.13250001 +0.22625 +0.36374998 +0.53125006 +0.73249996 +0.9812499 +1.28625 +1.6187501 +1.9275 +2.145 +2.2175 +2.135 +1.925 +1.6512501 +1.3774999 +1.135 +0.93125 +0.74875003 +0.5775 +0.43124998 +0.33 +0.2875 +0.29625 +0.32125 +0.31125 +0.23124999 +0.13125 +0.045 +0.00625 +0.005 +0.051250003 +0.17375 +0.32999998 +0.41375002 +0.4125 +0.35625 +0.305 +0.30875 +0.39624998 +0.565 +0.78875 +1.0337499 +1.2674999 +1.4599999 +1.5925 +1.6475 +1.62 +1.51625 +1.3487501 +1.135 +0.9 +0.66125 +0.44875002 +0.29125002 +0.21249999 +0.21625 +0.2825 +0.35875002 +0.39000002 +0.3425 +0.22749999 +0.09375 +0.024999999 +0.00875 +0.028749999 +0.092499994 +0.16625 +0.195 +0.18875001 +0.1425 +0.1025 +0.096250005 +0.13250001 +0.22625 +0.36374998 +0.53125006 +0.73249996 +0.9812499 +1.28625 +1.6187501 +1.9275 +2.145 +2.2175 +2.135 +1.925 +1.6512501 +1.3774999 +1.135 +0.93125 +0.74875003 +0.5775 +0.43124998 +0.33 +0.2875 +0.29625 +0.32125 +0.31125 +0.23124999 +0.13125 +0.045 +0.00625 +0.005 +0.051250003 +0.17375 +0.32999998 +0.41375002 +0.4125 +0.35625 +0.305 +0.30875 +0.39624998 +0.565 +0.78875 +1.0337499 +1.2674999 +1.4599999 +1.5925 +1.6475 +1.8024999 +1.91625 +1.9412501 +1.8675001 +1.71375 +1.52 +1.31375 +1.11375 +0.92375 +0.74375 +0.58125 +0.45000002 +0.3675 +0.32875 +0.30374998 +0.25125003 +0.16125 +0.0475 +0.0025 +0.0 +0.0 +0.0075 +0.036250003 +0.096250005 +0.21875 +0.3075 +0.34375 +0.3675 +0.41875 +0.51875 +0.66499996 +0.84000003 +1.02625 +1.22 +1.4187499 +1.6125 +1.7787501 +1.8887501 +1.9100001 +1.83875 +1.6912501 +1.5 +1.2974999 +1.0999999 +0.91375 +0.7375 +0.58125 +0.45875 +0.38250002 +0.34875 +0.3225 +0.26375002 +0.17 +0.051250003 +0.0025 +0.0 +0.0 +0.0075 +0.0325 +0.09125 +0.20625 +0.2875 +0.32375 +0.34999996 +0.40625 +0.51375 +0.66375 +0.84125 +1.0287501 +1.22625 +1.4287498 +1.6287498 +1.8024999 +1.91625 +1.9412501 +1.8675001 +1.71375 +1.52 +1.31375 +1.11375 +0.92375 +0.74375 +0.58125 +0.45000002 +0.3675 +0.32875 +0.30374998 +0.25125003 +0.16125 +0.0475 +0.0025 +0.0 +0.0 +0.0075 +0.036250003 +0.096250005 +0.21875 +0.3075 +0.34375 +0.3675 +0.41875 +0.51875 +0.66499996 +0.84000003 +1.02625 +1.22 +1.4187499 +1.6125 +1.7787501 +1.8887501 +1.9100001 +1.83875 +1.6912501 +1.5 +1.2974999 +1.0999999 +0.91375 +0.7375 +0.58125 +0.45875 +0.38250002 +0.34875 +0.3225 +0.26375002 +0.17 +0.051250003 +0.0025 +0.0 +0.0 +0.0075 +0.0325 +0.09125 +0.20625 +0.2875 +0.32375 +0.34999996 +0.40625 +0.51375 +0.66375 +0.84125 +1.0287501 +1.22625 +1.4287498 +1.6287498 +1.8687499 +2.0 +2.02875 +1.94875 +1.78125 +1.5625 +1.3325 +1.1125001 +0.9075 +0.7175 +0.5475 +0.41250002 +0.32625002 +0.28875 +0.27625 +0.24750002 +0.17125 +0.07625 +0.00625 +0.0 +0.0 +0.0175 +0.05 +0.13499999 +0.2625 +0.34625003 +0.37375003 +0.38000003 +0.40875003 +0.48625 +0.61625004 +0.78875005 +0.98125005 +1.1875001 +1.39625 +1.595 +1.7575 +1.8600001 +1.87625 +1.8012501 +1.6524999 +1.45625 +1.2437501 +1.03625 +0.83875 +0.66875005 +0.5275 +0.43125004 +0.385 +0.37375003 +0.36375 +0.3125 +0.2125 +0.09 +0.00875 +0.0 +0.0 +0.0175 +0.03875 +0.12125 +0.21000001 +0.26125 +0.275 +0.2925 +0.34874997 +0.45875 +0.6125 +0.7950001 +0.99375 +1.2112501 +1.4399999 +1.6700001 +1.8687499 +2.0 +2.02875 +1.94875 +1.78125 +1.5625 +1.3325 +1.1125001 +0.9075 +0.7175 +0.5475 +0.41250002 +0.32625002 +0.28875 +0.27625 +0.24750002 +0.17125 +0.07625 +0.00625 +0.0 +0.0 +0.0175 +0.05 +0.13499999 +0.2625 +0.34625003 +0.37375003 +0.38000003 +0.40875003 +0.48625 +0.61625004 +0.78875005 +0.98125005 +1.1875001 +1.39625 +1.595 +1.7575 +1.8600001 +1.87625 +1.8012501 +1.6524999 +1.45625 +1.2437501 +1.03625 +0.83875 +0.66875005 +0.5275 +0.43125004 +0.385 +0.37375003 +0.36375 +0.3125 +0.2125 +0.09 +0.00875 +0.0 +0.0 +0.0175 +0.03875 +0.12125 +0.21000001 +0.26125 +0.275 +0.2925 +0.34874997 +0.45875 +0.6125 +0.7950001 +0.99375 +1.2112501 +1.4399999 +1.6700001 +1.935 +2.09875 +2.145 +2.05875 +1.865 +1.61 +1.3425 +1.095 +0.87375003 +0.67625004 +0.49624997 +0.35500002 +0.26 +0.22250001 +0.2225 +0.22625 +0.19624999 +0.12 +0.0375 +0.0 +0.0 +0.01375 +0.055 +0.15625 +0.29 +0.3775 +0.39375 +0.37250003 +0.35999998 +0.39625 +0.49500003 +0.65624994 +0.85999995 +1.085 +1.30875 +1.51 +1.6662501 +1.7600001 +1.7687501 +1.68875 +1.5375 +1.335 +1.11125 +0.885 +0.6775 +0.50875 +0.395 +0.34249997 +0.3425 +0.375 +0.39000002 +0.34875 +0.25125 +0.12125 +0.02 +0.0 +0.01 +0.02375 +0.072500005 +0.14875 +0.2 +0.20249999 +0.18249999 +0.18625 +0.24125 +0.35125 +0.505 +0.69124997 +0.90374994 +1.14375 +1.4124999 +1.6899999 +1.935 +2.09875 +2.145 +2.05875 +1.865 +1.61 +1.3425 +1.095 +0.87375003 +0.67625004 +0.49624997 +0.35500002 +0.26 +0.22250001 +0.2225 +0.22625 +0.19624999 +0.12 +0.0375 +0.0 +0.0 +0.01375 +0.055 +0.15625 +0.29 +0.3775 +0.39375 +0.37250003 +0.35999998 +0.39625 +0.49500003 +0.65624994 +0.85999995 +1.085 +1.30875 +1.51 +1.6662501 +1.7600001 +1.7687501 +1.68875 +1.5375 +1.335 +1.11125 +0.885 +0.6775 +0.50875 +0.395 +0.34249997 +0.3425 +0.375 +0.39000002 +0.34875 +0.25125 +0.12125 +0.02 +0.0 +0.01 +0.02375 +0.072500005 +0.14875 +0.2 +0.20249999 +0.18249999 +0.18625 +0.24125 +0.35125 +0.505 +0.69124997 +0.90374994 +1.14375 +1.4124999 +1.6899999 +1.9175 +2.12375 +2.19 +2.1025 +1.88625 +1.6012499 +1.3050001 +1.0387499 +0.81625 +0.62375 +0.4525 +0.30875 +0.20124999 +0.1525 +0.15875001 +0.19125001 +0.20125 +0.16375 +0.09 +0.01375 +0.0 +0.0 +0.03 +0.10375 +0.23624998 +0.32999998 +0.34125 +0.29250002 +0.23249999 +0.2175 +0.28 +0.4275 +0.64 +0.8825 +1.12 +1.3225 +1.47 +1.5437499 +1.5425 +1.46625 +1.31875 +1.1187501 +0.8875 +0.64750004 +0.4275 +0.26375 +0.17875001 +0.17124999 +0.22625 +0.29625002 +0.32875 +0.2975 +0.205 +0.08125 +0.02 +0.0 +0.01 +0.0325 +0.091249995 +0.14250001 +0.1425 +0.10249999 +0.07125 +0.074999996 +0.1175 +0.21124999 +0.3575 +0.53375 +0.74375004 +0.99750006 +1.29875 +1.6225 +1.9175 +2.12375 +2.19 +2.1025 +1.88625 +1.6012499 +1.3050001 +1.0387499 +0.81625 +0.62375 +0.4525 +0.30875 +0.20124999 +0.1525 +0.15875001 +0.19125001 +0.20125 +0.16375 +0.09 +0.01375 +0.0 +0.0 +0.03 +0.10375 +0.23624998 +0.32999998 +0.34125 +0.29250002 +0.23249999 +0.2175 +0.28 +0.4275 +0.64 +0.8825 +1.12 +1.3225 +1.47 +1.5437499 +1.5425 +1.46625 +1.31875 +1.1187501 +0.8875 +0.64750004 +0.4275 +0.26375 +0.17875001 +0.17124999 +0.22625 +0.29625002 +0.32875 +0.2975 +0.205 +0.08125 +0.02 +0.0 +0.01 +0.0325 +0.091249995 +0.14250001 +0.1425 +0.10249999 +0.07125 +0.074999996 +0.1175 +0.21124999 +0.3575 +0.53375 +0.74375004 +0.99750006 +1.29875 +1.6225 +1.7800001 +2.0224998 +2.11 +2.02375 +1.8 +1.5025 +1.20125 +0.94625 +0.74875003 +0.58625 +0.43999997 +0.31 +0.19624999 +0.12125 +0.10875 +0.1475 +0.18375 +0.18624999 +0.1225 +0.03 +0.0025 +0.0 +0.0 +0.02625 +0.10249999 +0.2025 +0.23375 +0.1875 +0.1 +0.058749996 +0.0675 +0.17125 +0.36374998 +0.61625 +0.86 +1.05375 +1.18 +1.23625 +1.22625 +1.15625 +1.02875 +0.84499997 +0.61749995 +0.39625 +0.185 +0.07 +0.01375 +0.01875 +0.075 +0.145 +0.19375001 +0.1625 +0.08375 +0.02375 +0.0 +0.0 +0.00125 +0.01875 +0.043750003 +0.073750004 +0.05625 +0.02375 +0.00375 +0.01625 +0.04625 +0.1 +0.19999999 +0.34875 +0.5325 +0.77624995 +1.08875 +1.4437499 +1.7800001 +2.0224998 +2.11 +2.02375 +1.8 +1.5025 +1.20125 +0.94625 +0.74875003 +0.58625 +0.43999997 +0.31 +0.19624999 +0.12125 +0.10875 +0.1475 +0.18375 +0.18624999 +0.1225 +0.03 +0.0025 +0.0 +0.0 +0.02625 +0.10249999 +0.2025 +0.23375 +0.1875 +0.1 +0.058749996 +0.0675 +0.17125 +0.36374998 +0.61625 +0.86 +1.05375 +1.18 +1.23625 +1.22625 +1.15625 +1.02875 +0.84499997 +0.61749995 +0.39625 +0.185 +0.07 +0.01375 +0.01875 +0.075 +0.145 +0.19375001 +0.1625 +0.08375 +0.02375 +0.0 +0.0 +0.00125 +0.01875 +0.043750003 +0.073750004 +0.05625 +0.02375 +0.00375 +0.01625 +0.04625 +0.1 +0.19999999 +0.34875 +0.5325 +0.77624995 +1.08875 +1.4437499 +1.5675 +1.8349998 +1.94 +1.8612499 +1.6387501 +1.3462499 +1.065 +0.84625 +0.695 +0.58375 +0.47249997 +0.36125 +0.23875 +0.14125 +0.10250001 +0.125 +0.17375 +0.19 +0.13125 +0.03625 +0.00375 +0.0 +0.0 +0.0 +0.02 +0.082499996 +0.1375 +0.0925 +0.02625 +0.0025 +0.0 +0.035 +0.15125 +0.3925 +0.63 +0.80375004 +0.90125 +0.93375 +0.91875005 +0.865 +0.76624995 +0.61 +0.41750002 +0.205 +0.048750002 +0.005 +0.0 +0.0 +0.01 +0.035 +0.066250004 +0.041249998 +0.0125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0062499996 +0.00375 +0.0 +0.0 +0.01875 +0.0325 +0.05375 +0.09625 +0.18 +0.31750005 +0.5325 +0.8375 +1.2075 +1.5675 +1.8349998 +1.94 +1.8612499 +1.6387501 +1.3462499 +1.065 +0.84625 +0.695 +0.58375 +0.47249997 +0.36125 +0.23875 +0.14125 +0.10250001 +0.125 +0.17375 +0.19 +0.13125 +0.03625 +0.00375 +0.0 +0.0 +0.0 +0.02 +0.082499996 +0.1375 +0.0925 +0.02625 +0.0025 +0.0 +0.035 +0.15125 +0.3925 +0.63 +0.80375004 +0.90125 +0.93375 +0.91875005 +0.865 +0.76624995 +0.61 +0.41750002 +0.205 +0.048750002 +0.005 +0.0 +0.0 +0.01 +0.035 +0.066250004 +0.041249998 +0.0125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0062499996 +0.00375 +0.0 +0.0 +0.01875 +0.0325 +0.05375 +0.09625 +0.18 +0.31750005 +0.5325 +0.8375 +1.2075 +1.3875 +1.6675 +1.7824999 +1.71 +1.49125 +1.2125 +0.96125 +0.78875 +0.69750005 +0.63875 +0.56375 +0.45499998 +0.32125 +0.19875 +0.13125 +0.145 +0.18750001 +0.20625001 +0.15375 +0.045 +0.00375 +0.0 +0.0 +0.0 +0.020000001 +0.081250004 +0.12875 +0.09625 +0.0175 +0.0 +0.0 +0.03 +0.10874999 +0.32375 +0.545 +0.695 +0.76 +0.77 +0.75124997 +0.715 +0.64625 +0.52125 +0.3425 +0.15875 +0.0225 +0.0 +0.0 +0.0125 +0.01875 +0.0325 +0.0475 +0.0075 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.01125 +0.0325 +0.04375 +0.0475 +0.06625 +0.09875 +0.17750001 +0.3525 +0.64250004 +1.0137501 +1.3875 +1.6675 +1.7824999 +1.71 +1.49125 +1.2125 +0.96125 +0.78875 +0.69750005 +0.63875 +0.56375 +0.45499998 +0.32125 +0.19875 +0.13125 +0.145 +0.18750001 +0.20625001 +0.15375 +0.045 +0.00375 +0.0 +0.0 +0.0 +0.020000001 +0.081250004 +0.12875 +0.09625 +0.0175 +0.0 +0.0 +0.03 +0.10874999 +0.32375 +0.545 +0.695 +0.76 +0.77 +0.75124997 +0.715 +0.64625 +0.52125 +0.3425 +0.15875 +0.0225 +0.0 +0.0 +0.0125 +0.01875 +0.0325 +0.0475 +0.0075 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.01125 +0.0325 +0.04375 +0.0475 +0.06625 +0.09875 +0.17750001 +0.3525 +0.64250004 +1.0137501 +1.3375 +1.6237501 +1.7375 +1.6612499 +1.4425 +1.1775 +0.95624995 +0.8275 +0.78249997 +0.76250005 +0.7075 +0.58875 +0.42874998 +0.28250003 +0.21249999 +0.22625 +0.275 +0.2825 +0.21875 +0.099999994 +0.01 +0.0 +0.00125 +0.0425 +0.111250006 +0.235 +0.28625 +0.20875001 +0.096250005 +0.01125 +0.0275 +0.07749999 +0.22625001 +0.45375004 +0.6600001 +0.78 +0.82125 +0.8125 +0.79 +0.76624995 +0.72375005 +0.62625 +0.4575 +0.2475 +0.08125 +0.0 +0.03 +0.07 +0.14875 +0.20875 +0.17999999 +0.0975 +0.0 +0.0 +0.0 +0.01 +0.0325 +0.057499997 +0.07875 +0.055 +0.012499999 +0.01125 +0.035 +0.0575 +0.073750004 +0.10000001 +0.11 +0.113749996 +0.16 +0.305 +0.58000004 +0.95624995 +1.3375 +1.6237501 +1.7375 +1.6612499 +1.4425 +1.1775 +0.95624995 +0.8275 +0.78249997 +0.76250005 +0.7075 +0.58875 +0.42874998 +0.28250003 +0.21249999 +0.22625 +0.275 +0.2825 +0.21875 +0.099999994 +0.01 +0.0 +0.00125 +0.0425 +0.111250006 +0.235 +0.28625 +0.20875001 +0.096250005 +0.01125 +0.0275 +0.07749999 +0.22625001 +0.45375004 +0.6600001 +0.78 +0.82125 +0.8125 +0.79 +0.76624995 +0.72375005 +0.62625 +0.4575 +0.2475 +0.08125 +0.0 +0.03 +0.07 +0.14875 +0.20875 +0.17999999 +0.0975 +0.0 +0.0 +0.0 +0.01 +0.0325 +0.057499997 +0.07875 +0.055 +0.012499999 +0.01125 +0.035 +0.0575 +0.073750004 +0.10000001 +0.11 +0.113749996 +0.16 +0.305 +0.58000004 +0.95624995 +1.4375001 +1.72125 +1.8262501 +1.73625 +1.5125 +1.2574999 +1.0587499 +0.96125 +0.945 +0.945 +0.89124995 +0.75624996 +0.57625 +0.41625 +0.34375 +0.37 +0.43875003 +0.46375 +0.38375 +0.2225 +0.0725 +0.015 +0.0575 +0.14874999 +0.32125002 +0.49625 +0.55125 +0.4575 +0.2875 +0.15375 +0.1325 +0.24 +0.455 +0.7 +0.89375 +0.9925 +1.015 +0.99625 +0.97374994 +0.95875 +0.93375003 +0.85375005 +0.69624996 +0.48125 +0.26999998 +0.145 +0.14874999 +0.25875 +0.42875 +0.545 +0.52 +0.34875 +0.15 +0.033749998 +0.028749999 +0.08625 +0.17875001 +0.28125 +0.3325 +0.27999997 +0.165 +0.09125 +0.08875 +0.12875 +0.1925 +0.2425 +0.25125 +0.23249999 +0.255 +0.39125 +0.66999996 +1.0500001 +1.4375001 +1.72125 +1.8262501 +1.73625 +1.5125 +1.2574999 +1.0587499 +0.96125 +0.945 +0.945 +0.89124995 +0.75624996 +0.57625 +0.41625 +0.34375 +0.37 +0.43875003 +0.46375 +0.38375 +0.2225 +0.0725 +0.015 +0.0575 +0.14874999 +0.32125002 +0.49625 +0.55125 +0.4575 +0.2875 +0.15375 +0.1325 +0.24 +0.455 +0.7 +0.89375 +0.9925 +1.015 +0.99625 +0.97374994 +0.95875 +0.93375003 +0.85375005 +0.69624996 +0.48125 +0.26999998 +0.145 +0.14874999 +0.25875 +0.42875 +0.545 +0.52 +0.34875 +0.15 +0.033749998 +0.028749999 +0.08625 +0.17875001 +0.28125 +0.3325 +0.27999997 +0.165 +0.09125 +0.08875 +0.12875 +0.1925 +0.2425 +0.25125 +0.23249999 +0.255 +0.39125 +0.66999996 +1.0500001 +1.6175 +1.8900001 +1.97625 +1.87125 +1.64 +1.395 +1.2199999 +1.15 +1.1537501 +1.1575 +1.09125 +0.935 +0.7375 +0.57875 +0.525 +0.57624996 +0.67125005 +0.71124995 +0.63375 +0.44625002 +0.2425 +0.12875 +0.16125 +0.33124998 +0.5625 +0.73249996 +0.75874996 +0.6425 +0.45749998 +0.31375 +0.29875 +0.43000004 +0.65500003 +0.89375 +1.0749999 +1.165 +1.175 +1.15375 +1.13625 +1.1287501 +1.11 +1.04125 +0.89125 +0.68375 +0.47625 +0.3525 +0.37125 +0.52 +0.72375 +0.87 +0.86375 +0.7025 +0.46249998 +0.26625 +0.21249999 +0.31875 +0.51875 +0.685 +0.7275 +0.62750006 +0.45499998 +0.31 +0.26375 +0.31625 +0.41375002 +0.48250002 +0.48624998 +0.45 +0.45125002 +0.57625 +0.84999996 +1.2325001 +1.6175 +1.8900001 +1.97625 +1.87125 +1.64 +1.395 +1.2199999 +1.15 +1.1537501 +1.1575 +1.09125 +0.935 +0.7375 +0.57875 +0.525 +0.57624996 +0.67125005 +0.71124995 +0.63375 +0.44625002 +0.2425 +0.12875 +0.16125 +0.33124998 +0.5625 +0.73249996 +0.75874996 +0.6425 +0.45749998 +0.31375 +0.29875 +0.43000004 +0.65500003 +0.89375 +1.0749999 +1.165 +1.175 +1.15375 +1.13625 +1.1287501 +1.11 +1.04125 +0.89125 +0.68375 +0.47625 +0.3525 +0.37125 +0.52 +0.72375 +0.87 +0.86375 +0.7025 +0.46249998 +0.26625 +0.21249999 +0.31875 +0.51875 +0.685 +0.7275 +0.62750006 +0.45499998 +0.31 +0.26375 +0.31625 +0.41375002 +0.48250002 +0.48624998 +0.45 +0.45125002 +0.57625 +0.84999996 +1.2325001 +1.7574999 +2.01125 +2.07625 +1.9537499 +1.7224998 +1.4937501 +1.3562499 +1.325 +1.355 +1.3637499 +1.285 +1.11625 +0.92125 +0.78625 +0.76875 +0.85749996 +0.9675 +0.99625003 +0.88499993 +0.65625 +0.41 +0.2625 +0.285 +0.45250002 +0.66375 +0.79499996 +0.775 +0.6225 +0.42374998 +0.28625 +0.28750002 +0.42999998 +0.65749997 +0.8875 +1.0525 +1.12625 +1.1324999 +1.1112499 +1.1 +1.1025001 +1.0925 +1.0287501 +0.88624996 +0.68625 +0.49 +0.37875 +0.415 +0.58625007 +0.81624997 +0.99 +1.015 +0.88 +0.66749996 +0.5025 +0.48375 +0.6325 +0.865 +1.0475 +1.0875 +0.96624994 +0.75875 +0.58124995 +0.51625 +0.57000005 +0.6737499 +0.74625003 +0.74 +0.6825 +0.66125 +0.76125 +1.01875 +1.38625 +1.7574999 +2.01125 +2.07625 +1.9537499 +1.7224998 +1.4937501 +1.3562499 +1.325 +1.355 +1.3637499 +1.285 +1.11625 +0.92125 +0.78625 +0.76875 +0.85749996 +0.9675 +0.99625003 +0.88499993 +0.65625 +0.41 +0.2625 +0.285 +0.45250002 +0.66375 +0.79499996 +0.775 +0.6225 +0.42374998 +0.28625 +0.28750002 +0.42999998 +0.65749997 +0.8875 +1.0525 +1.12625 +1.1324999 +1.1112499 +1.1 +1.1025001 +1.0925 +1.0287501 +0.88624996 +0.68625 +0.49 +0.37875 +0.415 +0.58625007 +0.81624997 +0.99 +1.015 +0.88 +0.66749996 +0.5025 +0.48375 +0.6325 +0.865 +1.0475 +1.0875 +0.96624994 +0.75875 +0.58124995 +0.51625 +0.57000005 +0.6737499 +0.74625003 +0.74 +0.6825 +0.66125 +0.76125 +1.01875 +1.38625 +1.7674999 +1.995 +2.03375 +1.8975 +1.6725 +1.47875 +1.395 +1.4212501 +1.495 +1.5274999 +1.45875 +1.3050001 +1.1425 +1.0575 +1.1012499 +1.22875 +1.3399999 +1.3225 +1.12625 +0.80375004 +0.47750002 +0.27625 +0.26500002 +0.40124997 +0.57 +0.65125 +0.58125 +0.41249996 +0.21499999 +0.114999995 +0.111250006 +0.23000002 +0.445 +0.65 +0.7825 +0.835 +0.83000004 +0.80875003 +0.80375 +0.81624997 +0.81750005 +0.7625 +0.6325 +0.46375 +0.29000002 +0.19 +0.21374999 +0.3825 +0.63 +0.82500005 +0.87250006 +0.76374996 +0.57875 +0.4525 +0.49 +0.7025 +1.00125 +1.24375 +1.3225 +1.21375 +1.00125 +0.8062499 +0.7325 +0.7875 +0.9 +0.97625 +0.96 +0.87499994 +0.8125 +0.87000006 +1.0875 +1.42375 +1.7674999 +1.995 +2.03375 +1.8975 +1.6725 +1.47875 +1.395 +1.4212501 +1.495 +1.5274999 +1.45875 +1.3050001 +1.1425 +1.0575 +1.1012499 +1.22875 +1.3399999 +1.3225 +1.12625 +0.80375004 +0.47750002 +0.27625 +0.26500002 +0.40124997 +0.57 +0.65125 +0.58125 +0.41249996 +0.21499999 +0.114999995 +0.111250006 +0.23000002 +0.445 +0.65 +0.7825 +0.835 +0.83000004 +0.80875003 +0.80375 +0.81624997 +0.81750005 +0.7625 +0.6325 +0.46375 +0.29000002 +0.19 +0.21374999 +0.3825 +0.63 +0.82500005 +0.87250006 +0.76374996 +0.57875 +0.4525 +0.49 +0.7025 +1.00125 +1.24375 +1.3225 +1.21375 +1.00125 +0.8062499 +0.7325 +0.7875 +0.9 +0.97625 +0.96 +0.87499994 +0.8125 +0.87000006 +1.0875 +1.42375 +1.63875 +1.8362501 +1.8487501 +1.6962501 +1.485 +1.3325 +1.31 +1.40875 +1.54875 +1.6324999 +1.60625 +1.5037501 +1.4087499 +1.41375 +1.53875 +1.7149999 +1.8112499 +1.7149999 +1.39625 +0.9512501 +0.54125 +0.25625 +0.17 +0.26250002 +0.39249998 +0.43374997 +0.35625002 +0.16874999 +0.05 +0.00625 +0.0 +0.0375 +0.16000001 +0.31499997 +0.4025 +0.41375002 +0.385 +0.35125 +0.3475 +0.37125 +0.38625002 +0.3625 +0.27625 +0.16375 +0.07125001 +0.0175 +0.0125 +0.092499994 +0.265 +0.44625 +0.50875 +0.44125 +0.29 +0.1975 +0.26999998 +0.5425 +0.94124997 +1.28125 +1.43625 +1.3725 +1.17375 +0.97999996 +0.90000004 +0.95500004 +1.07 +1.1424999 +1.1075001 +0.98375005 +0.86875004 +0.86875 +1.035 +1.3299999 +1.63875 +1.8362501 +1.8487501 +1.6962501 +1.485 +1.3325 +1.31 +1.40875 +1.54875 +1.6324999 +1.60625 +1.5037501 +1.4087499 +1.41375 +1.53875 +1.7149999 +1.8112499 +1.7149999 +1.39625 +0.9512501 +0.54125 +0.25625 +0.17 +0.26250002 +0.39249998 +0.43374997 +0.35625002 +0.16874999 +0.05 +0.00625 +0.0 +0.0375 +0.16000001 +0.31499997 +0.4025 +0.41375002 +0.385 +0.35125 +0.3475 +0.37125 +0.38625002 +0.3625 +0.27625 +0.16375 +0.07125001 +0.0175 +0.0125 +0.092499994 +0.265 +0.44625 +0.50875 +0.44125 +0.29 +0.1975 +0.26999998 +0.5425 +0.94124997 +1.28125 +1.43625 +1.3725 +1.17375 +0.97999996 +0.90000004 +0.95500004 +1.07 +1.1424999 +1.1075001 +0.98375005 +0.86875004 +0.86875 +1.035 +1.3299999 +1.44875 +1.61625 +1.6 +1.43125 +1.2225 +1.0999999 +1.135 +1.3062501 +1.52 +1.6712501 +1.71375 +1.6949999 +1.7075 +1.8325 +2.065 +2.2987502 +2.37875 +2.195 +1.7375 +1.1725 +0.65000004 +0.29375 +0.16375 +0.215 +0.32 +0.34249997 +0.23124999 +0.07125 +0.01 +0.0 +0.0 +0.0 +0.0475 +0.12625 +0.16 +0.12625 +0.082499996 +0.052500002 +0.04625 +0.06 +0.07625 +0.06875 +0.0375 +0.01 +0.0 +0.0 +0.0 +0.0 +0.02875 +0.107499994 +0.16250001 +0.11875 +0.0525 +0.0125 +0.06625 +0.32625 +0.81499994 +1.27375 +1.52125 +1.5175 +1.3400002 +1.14 +1.04 +1.07875 +1.18375 +1.2375 +1.1724999 +1.00625 +0.8375 +0.78124994 +0.905 +1.16625 +1.44875 +1.61625 +1.6 +1.43125 +1.2225 +1.0999999 +1.135 +1.3062501 +1.52 +1.6712501 +1.71375 +1.6949999 +1.7075 +1.8325 +2.065 +2.2987502 +2.37875 +2.195 +1.7375 +1.1725 +0.65000004 +0.29375 +0.16375 +0.215 +0.32 +0.34249997 +0.23124999 +0.07125 +0.01 +0.0 +0.0 +0.0 +0.0475 +0.12625 +0.16 +0.12625 +0.082499996 +0.052500002 +0.04625 +0.06 +0.07625 +0.06875 +0.0375 +0.01 +0.0 +0.0 +0.0 +0.0 +0.02875 +0.107499994 +0.16250001 +0.11875 +0.0525 +0.0125 +0.06625 +0.32625 +0.81499994 +1.27375 +1.52125 +1.5175 +1.3400002 +1.14 +1.04 +1.07875 +1.18375 +1.2375 +1.1724999 +1.00625 +0.8375 +0.78124994 +0.905 +1.16625 +1.2975 +1.44625 +1.40375 +1.2075 +0.98375 +0.86875 +0.93625 +1.1575 +1.4325 +1.65375 +1.78125 +1.8625001 +1.9987499 +2.26 +2.61125 +2.915 +2.9924998 +2.72875 +2.1487498 +1.4525001 +0.84000003 +0.42874998 +0.2825 +0.33624998 +0.43499997 +0.4375 +0.31375 +0.1375 +0.028749999 +0.005 +0.01875 +0.048750002 +0.12375 +0.175 +0.1525 +0.073750004 +0.01125 +0.0 +0.0 +0.0 +0.0025 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.0025 +0.005 +0.005 +0.0 +0.0 +0.06 +0.27749997 +0.81 +1.375 +1.7112501 +1.7524999 +1.5775 +1.3462499 +1.2012501 +1.1937499 +1.2574999 +1.2774999 +1.175 +0.96875 +0.76 +0.67125 +0.775 +1.02625 +1.2975 +1.44625 +1.40375 +1.2075 +0.98375 +0.86875 +0.93625 +1.1575 +1.4325 +1.65375 +1.78125 +1.8625001 +1.9987499 +2.26 +2.61125 +2.915 +2.9924998 +2.72875 +2.1487498 +1.4525001 +0.84000003 +0.42874998 +0.2825 +0.33624998 +0.43499997 +0.4375 +0.31375 +0.1375 +0.028749999 +0.005 +0.01875 +0.048750002 +0.12375 +0.175 +0.1525 +0.073750004 +0.01125 +0.0 +0.0 +0.0 +0.0025 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.0025 +0.005 +0.005 +0.0 +0.0 +0.06 +0.27749997 +0.81 +1.375 +1.7112501 +1.7524999 +1.5775 +1.3462499 +1.2012501 +1.1937499 +1.2574999 +1.2774999 +1.175 +0.96875 +0.76 +0.67125 +0.775 +1.02625 +1.25125 +1.3962499 +1.3299999 +1.095 +0.83375 +0.7 +0.77 +1.015 +1.3275 +1.6 +1.79625 +1.97125 +2.22625 +2.6125002 +3.0725 +3.44125 +3.5237498 +3.21 +2.54625 +1.7375 +1.0699999 +0.64375 +0.5325 +0.64 +0.75624996 +0.735 +0.55625 +0.3425 +0.1775 +0.11875 +0.1925 +0.34625 +0.47875 +0.4975 +0.39125 +0.23875001 +0.111250006 +0.04125 +0.04375 +0.09625 +0.14999999 +0.1725 +0.14 +0.06 +0.0 +0.0 +0.0 +0.03625 +0.07 +0.1225 +0.10125 +0.035 +0.0 +0.005 +0.1025 +0.41250002 +1.03625 +1.6875 +2.0825 +2.1425 +1.9375 +1.6400001 +1.415 +1.3275 +1.325 +1.2937499 +1.15 +0.91249996 +0.6825 +0.5925 +0.70500004 +0.97125006 +1.25125 +1.3962499 +1.3299999 +1.095 +0.83375 +0.7 +0.77 +1.015 +1.3275 +1.6 +1.79625 +1.97125 +2.22625 +2.6125002 +3.0725 +3.44125 +3.5237498 +3.21 +2.54625 +1.7375 +1.0699999 +0.64375 +0.5325 +0.64 +0.75624996 +0.735 +0.55625 +0.3425 +0.1775 +0.11875 +0.1925 +0.34625 +0.47875 +0.4975 +0.39125 +0.23875001 +0.111250006 +0.04125 +0.04375 +0.09625 +0.14999999 +0.1725 +0.14 +0.06 +0.0 +0.0 +0.0 +0.03625 +0.07 +0.1225 +0.10125 +0.035 +0.0 +0.005 +0.1025 +0.41250002 +1.03625 +1.6875 +2.0825 +2.1425 +1.9375 +1.6400001 +1.415 +1.3275 +1.325 +1.2937499 +1.15 +0.91249996 +0.6825 +0.5925 +0.70500004 +0.97125006 +1.30375 +1.4499999 +1.3625 +1.0925 +0.7925 +0.625 +0.67625 +0.9175 +1.24 +1.53375 +1.7662499 +1.9975 +2.3262498 +2.79625 +3.3324997 +3.74375 +3.83 +3.4875 +2.7825 +1.94 +1.2325 +0.84375 +0.79375 +0.9425 +1.0875 +1.07875 +0.9025 +0.655 +0.47625 +0.45999998 +0.59375 +0.78125 +0.91499996 +0.91374993 +0.77875 +0.56624997 +0.37124997 +0.2675 +0.28125 +0.3875 +0.52 +0.59124994 +0.54875 +0.385 +0.20625001 +0.11500001 +0.11125 +0.1775 +0.305 +0.43375 +0.43249997 +0.28 +0.12375 +0.095 +0.26 +0.74 +1.4825001 +2.1875 +2.6125 +2.6575 +2.39625 +2.0125 +1.6875001 +1.5025 +1.41625 +1.32125 +1.13625 +0.87250006 +0.64 +0.56374997 +0.70375 +1.00125 +1.30375 +1.4499999 +1.3625 +1.0925 +0.7925 +0.625 +0.67625 +0.9175 +1.24 +1.53375 +1.7662499 +1.9975 +2.3262498 +2.79625 +3.3324997 +3.74375 +3.83 +3.4875 +2.7825 +1.94 +1.2325 +0.84375 +0.79375 +0.9425 +1.0875 +1.07875 +0.9025 +0.655 +0.47625 +0.45999998 +0.59375 +0.78125 +0.91499996 +0.91374993 +0.77875 +0.56624997 +0.37124997 +0.2675 +0.28125 +0.3875 +0.52 +0.59124994 +0.54875 +0.385 +0.20625001 +0.11500001 +0.11125 +0.1775 +0.305 +0.43375 +0.43249997 +0.28 +0.12375 +0.095 +0.26 +0.74 +1.4825001 +2.1875 +2.6125 +2.6575 +2.39625 +2.0125 +1.6875001 +1.5025 +1.41625 +1.32125 +1.13625 +0.87250006 +0.64 +0.56374997 +0.70375 +1.00125 +1.3899999 +1.54 +1.43875 +1.14375 +0.8175 +0.62 +0.65 +0.87625 +1.1875 +1.47375 +1.7025001 +1.93875 +2.28125 +2.7662501 +3.3125002 +3.7275 +3.8049998 +3.445 +2.7287498 +1.8900001 +1.205 +0.85875 +0.85249996 +1.03875 +1.2087499 +1.2162501 +1.05 +0.81499994 +0.65250003 +0.65500003 +0.80875003 +1.01625 +1.1600001 +1.165 +1.03125 +0.825 +0.63750005 +0.54875 +0.585 +0.72374994 +0.8937501 +1.0012499 +0.9812499 +0.82375 +0.5975 +0.415 +0.36875 +0.48875 +0.70000005 +0.86375 +0.86249995 +0.68375 +0.45499998 +0.3775 +0.6225 +1.21875 +2.0149999 +2.7524998 +3.1825001 +3.2024999 +2.8825 +2.4137502 +1.9925001 +1.7137499 +1.5437499 +1.3887501 +1.16125 +0.8775 +0.645 +0.58124995 +0.7475 +1.07 +1.3899999 +1.54 +1.43875 +1.14375 +0.8175 +0.62 +0.65 +0.87625 +1.1875 +1.47375 +1.7025001 +1.93875 +2.28125 +2.7662501 +3.3125002 +3.7275 +3.8049998 +3.445 +2.7287498 +1.8900001 +1.205 +0.85875 +0.85249996 +1.03875 +1.2087499 +1.2162501 +1.05 +0.81499994 +0.65250003 +0.65500003 +0.80875003 +1.01625 +1.1600001 +1.165 +1.03125 +0.825 +0.63750005 +0.54875 +0.585 +0.72374994 +0.8937501 +1.0012499 +0.9812499 +0.82375 +0.5975 +0.415 +0.36875 +0.48875 +0.70000005 +0.86375 +0.86249995 +0.68375 +0.45499998 +0.3775 +0.6225 +1.21875 +2.0149999 +2.7524998 +3.1825001 +3.2024999 +2.8825 +2.4137502 +1.9925001 +1.7137499 +1.5437499 +1.3887501 +1.16125 +0.8775 +0.645 +0.58124995 +0.7475 +1.07 +1.45 +1.5949999 +1.4875 +1.18375 +0.84625 +0.64750004 +0.67125 +0.885 +1.1762501 +1.4325 +1.6225001 +1.81 +2.1012502 +2.5300002 +3.0225 +3.3925002 +3.4399998 +3.07 +2.3625 +1.55125 +0.905 +0.59749997 +0.62375 +0.83375 +1.0174999 +1.035 +0.8775 +0.65625 +0.50624996 +0.51874995 +0.68375003 +0.9 +1.06125 +1.0912501 +0.9875 +0.81125003 +0.65875 +0.59875 +0.66625 +0.83250004 +1.03 +1.1637499 +1.1675 +1.0287501 +0.8125 +0.635 +0.59625 +0.72249997 +0.94625 +1.1225 +1.135 +0.97374994 +0.76625 +0.72125 +1.005 +1.6387501 +2.46625 +3.21875 +3.64875 +3.6437502 +3.28375 +2.76125 +2.28 +1.9387499 +1.7125 +1.5074999 +1.245 +0.94000006 +0.69625 +0.63625 +0.8025 +1.12875 +1.45 +1.5949999 +1.4875 +1.18375 +0.84625 +0.64750004 +0.67125 +0.885 +1.1762501 +1.4325 +1.6225001 +1.81 +2.1012502 +2.5300002 +3.0225 +3.3925002 +3.4399998 +3.07 +2.3625 +1.55125 +0.905 +0.59749997 +0.62375 +0.83375 +1.0174999 +1.035 +0.8775 +0.65625 +0.50624996 +0.51874995 +0.68375003 +0.9 +1.06125 +1.0912501 +0.9875 +0.81125003 +0.65875 +0.59875 +0.66625 +0.83250004 +1.03 +1.1637499 +1.1675 +1.0287501 +0.8125 +0.635 +0.59625 +0.72249997 +0.94625 +1.1225 +1.135 +0.97374994 +0.76625 +0.72125 +1.005 +1.6387501 +2.46625 +3.21875 +3.64875 +3.6437502 +3.28375 +2.76125 +2.28 +1.9387499 +1.7125 +1.5074999 +1.245 +0.94000006 +0.69625 +0.63625 +0.8025 +1.12875 +1.4637499 +1.59125 +1.4825 +1.19 +0.86875 +0.68499994 +0.71750003 +0.93125 +1.2012501 +1.41625 +1.54375 +1.6475 +1.83875 +2.16125 +2.555 +2.85 +2.8562498 +2.4825 +1.80625 +1.0400001 +0.47375 +0.22375 +0.2425 +0.42 +0.59625 +0.615 +0.465 +0.2775 +0.18 +0.17625 +0.29500002 +0.49249998 +0.66375 +0.72125006 +0.65999997 +0.54749995 +0.44625002 +0.41 +0.48624998 +0.66749996 +0.87375 +1.02 +1.0374999 +0.91625 +0.74375 +0.58750004 +0.54625 +0.69125 +0.9275 +1.12125 +1.155 +1.0475 +0.90125 +0.87125 +1.2025001 +1.87125 +2.7162502 +3.47125 +3.89 +3.8749998 +3.50625 +2.9812498 +2.49375 +2.1399999 +1.8987501 +1.67125 +1.39 +1.0675001 +0.80499995 +0.72375 +0.86749995 +1.16625 +1.4637499 +1.59125 +1.4825 +1.19 +0.86875 +0.68499994 +0.71750003 +0.93125 +1.2012501 +1.41625 +1.54375 +1.6475 +1.83875 +2.16125 +2.555 +2.85 +2.8562498 +2.4825 +1.80625 +1.0400001 +0.47375 +0.22375 +0.2425 +0.42 +0.59625 +0.615 +0.465 +0.2775 +0.18 +0.17625 +0.29500002 +0.49249998 +0.66375 +0.72125006 +0.65999997 +0.54749995 +0.44625002 +0.41 +0.48624998 +0.66749996 +0.87375 +1.02 +1.0374999 +0.91625 +0.74375 +0.58750004 +0.54625 +0.69125 +0.9275 +1.12125 +1.155 +1.0475 +0.90125 +0.87125 +1.2025001 +1.87125 +2.7162502 +3.47125 +3.89 +3.8749998 +3.50625 +2.9812498 +2.49375 +2.1399999 +1.8987501 +1.67125 +1.39 +1.0675001 +0.80499995 +0.72375 +0.86749995 +1.16625 +1.46875 +1.5712501 +1.4575 +1.1812501 +0.8875 +0.73 +0.77874994 +0.99 +1.24125 +1.4125 +1.4725001 +1.485 +1.55875 +1.76125 +2.04875 +2.26875 +2.24625 +1.8924999 +1.27 +0.6025 +0.165 +0.03125 +0.0025 +0.068749994 +0.1925 +0.21375 +0.12625 +0.03875 +0.0025 +0.0 +0.0125 +0.08875 +0.2025 +0.27375 +0.275 +0.22250001 +0.17249998 +0.16874999 +0.23249999 +0.36749998 +0.55 +0.6875 +0.72749996 +0.65250003 +0.5025 +0.37375003 +0.35999998 +0.48625 +0.715 +0.92249995 +1.0075 +0.95500004 +0.85875005 +0.8775 +1.21875 +1.90625 +2.73875 +3.46625 +3.8624997 +3.8449998 +3.5 +3.0200002 +2.58625 +2.27875 +2.065 +1.8525 +1.5699999 +1.2399999 +0.96500003 +0.85625 +0.9625 +1.2149999 +1.46875 +1.5712501 +1.4575 +1.1812501 +0.8875 +0.73 +0.77874994 +0.99 +1.24125 +1.4125 +1.4725001 +1.485 +1.55875 +1.76125 +2.04875 +2.26875 +2.24625 +1.8924999 +1.27 +0.6025 +0.165 +0.03125 +0.0025 +0.068749994 +0.1925 +0.21375 +0.12625 +0.03875 +0.0025 +0.0 +0.0125 +0.08875 +0.2025 +0.27375 +0.275 +0.22250001 +0.17249998 +0.16874999 +0.23249999 +0.36749998 +0.55 +0.6875 +0.72749996 +0.65250003 +0.5025 +0.37375003 +0.35999998 +0.48625 +0.715 +0.92249995 +1.0075 +0.95500004 +0.85875005 +0.8775 +1.21875 +1.90625 +2.73875 +3.46625 +3.8624997 +3.8449998 +3.5 +3.0200002 +2.58625 +2.27875 +2.065 +1.8525 +1.5699999 +1.2399999 +0.96500003 +0.85625 +0.9625 +1.2149999 +1.52 +1.58875 +1.46125 +1.19375 +0.9200001 +0.775 +0.82750005 +1.0287501 +1.2562499 +1.3912499 +1.39625 +1.335 +1.31875 +1.425 +1.63 +1.8037502 +1.78625 +1.4887501 +0.94875 +0.40125 +0.0625 +0.0 +0.0 +0.01 +0.04875 +0.065 +0.01875 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.01875 +0.03875 +0.033749998 +0.0225 +0.02125 +0.0575 +0.1525 +0.29375002 +0.4025 +0.42 +0.3375 +0.22125 +0.14250001 +0.15375 +0.275 +0.49375 +0.7025 +0.80125004 +0.77625 +0.71875 +0.78375 +1.135 +1.8025 +2.58 +3.2400002 +3.5875 +3.5662503 +3.26875 +2.8725 +2.535 +2.31625 +2.17125 +2.00125 +1.7475 +1.4337499 +1.16125 +1.0375 +1.10875 +1.315 +1.52 +1.58875 +1.46125 +1.19375 +0.9200001 +0.775 +0.82750005 +1.0287501 +1.2562499 +1.3912499 +1.39625 +1.335 +1.31875 +1.425 +1.63 +1.8037502 +1.78625 +1.4887501 +0.94875 +0.40125 +0.0625 +0.0 +0.0 +0.01 +0.04875 +0.065 +0.01875 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.01875 +0.03875 +0.033749998 +0.0225 +0.02125 +0.0575 +0.1525 +0.29375002 +0.4025 +0.42 +0.3375 +0.22125 +0.14250001 +0.15375 +0.275 +0.49375 +0.7025 +0.80125004 +0.77625 +0.71875 +0.78375 +1.135 +1.8025 +2.58 +3.2400002 +3.5875 +3.5662503 +3.26875 +2.8725 +2.535 +2.31625 +2.17125 +2.00125 +1.7475 +1.4337499 +1.16125 +1.0375 +1.10875 +1.315 +1.62875 +1.6600001 +1.5074999 +1.23 +0.95250005 +0.80125004 +0.8375 +1.0125 +1.2112498 +1.32 +1.2950001 +1.19375 +1.1300001 +1.1850001 +1.35375 +1.5249999 +1.5487499 +1.33375 +0.90375 +0.4325 +0.12875 +0.02625 +0.0375 +0.10625 +0.17625001 +0.175 +0.09875 +0.00875 +0.0 +0.0 +0.0 +0.0 +0.02 +0.047500003 +0.055000003 +0.04625 +0.03625 +0.035 +0.0625 +0.135 +0.22 +0.2675 +0.2425 +0.1575 +0.08875 +0.0475 +0.055 +0.1525 +0.375 +0.57125 +0.645 +0.625 +0.58875 +0.67125 +1.03 +1.63125 +2.3087502 +2.86 +3.13125 +3.09625 +2.8525 +2.55875 +2.3462498 +2.24375 +2.1837502 +2.0787501 +1.8749998 +1.6012499 +1.3575 +1.24375 +1.2987499 +1.4675 +1.62875 +1.6600001 +1.5074999 +1.23 +0.95250005 +0.80125004 +0.8375 +1.0125 +1.2112498 +1.32 +1.2950001 +1.19375 +1.1300001 +1.1850001 +1.35375 +1.5249999 +1.5487499 +1.33375 +0.90375 +0.4325 +0.12875 +0.02625 +0.0375 +0.10625 +0.17625001 +0.175 +0.09875 +0.00875 +0.0 +0.0 +0.0 +0.0 +0.02 +0.047500003 +0.055000003 +0.04625 +0.03625 +0.035 +0.0625 +0.135 +0.22 +0.2675 +0.2425 +0.1575 +0.08875 +0.0475 +0.055 +0.1525 +0.375 +0.57125 +0.645 +0.625 +0.58875 +0.67125 +1.03 +1.63125 +2.3087502 +2.86 +3.13125 +3.09625 +2.8525 +2.55875 +2.3462498 +2.24375 +2.1837502 +2.0787501 +1.8749998 +1.6012499 +1.3575 +1.24375 +1.2987499 +1.4675 +1.7537498 +1.7425001 +1.5575 +1.2550001 +0.95124996 +0.77125 +0.77 +0.9075 +1.07375 +1.1637499 +1.13125 +1.03 +0.96375 +1.01375 +1.1875 +1.38625 +1.47125 +1.3487501 +1.03375 +0.64 +0.33625 +0.22375001 +0.28750002 +0.4425 +0.55375004 +0.52125 +0.35125 +0.17125 +0.06125 +0.02375 +0.04375 +0.115 +0.2125 +0.29874998 +0.3325 +0.3225 +0.30125 +0.30375 +0.34 +0.39375 +0.4225 +0.38750002 +0.275 +0.155 +0.06125 +0.025 +0.055000003 +0.21375 +0.44125003 +0.6062499 +0.63625 +0.57 +0.515 +0.6125 +0.93 +1.4300001 +1.9725 +2.3899999 +2.5674999 +2.51 +2.3225 +2.1375 +2.05 +2.06125 +2.0925 +2.05875 +1.9150001 +1.69875 +1.5050001 +1.4225 +1.4812499 +1.62875 +1.7537498 +1.7425001 +1.5575 +1.2550001 +0.95124996 +0.77125 +0.77 +0.9075 +1.07375 +1.1637499 +1.13125 +1.03 +0.96375 +1.01375 +1.1875 +1.38625 +1.47125 +1.3487501 +1.03375 +0.64 +0.33625 +0.22375001 +0.28750002 +0.4425 +0.55375004 +0.52125 +0.35125 +0.17125 +0.06125 +0.02375 +0.04375 +0.115 +0.2125 +0.29874998 +0.3325 +0.3225 +0.30125 +0.30375 +0.34 +0.39375 +0.4225 +0.38750002 +0.275 +0.155 +0.06125 +0.025 +0.055000003 +0.21375 +0.44125003 +0.6062499 +0.63625 +0.57 +0.515 +0.6125 +0.93 +1.4300001 +1.9725 +2.3899999 +2.5674999 +2.51 +2.3225 +2.1375 +2.05 +2.06125 +2.0925 +2.05875 +1.9150001 +1.69875 +1.5050001 +1.4225 +1.4812499 +1.62875 +1.8187499 +1.7650001 +1.5425 +1.20625 +0.87125 +0.65125 +0.6075 +0.7025001 +0.8387501 +0.91875005 +0.89625007 +0.81625 +0.7725 +0.85 +1.0450001 +1.27625 +1.4162499 +1.3675001 +1.1425 +0.84000003 +0.60625 +0.53999996 +0.64625 +0.82125 +0.93625 +0.9025 +0.7175 +0.47 +0.275 +0.20625 +0.275 +0.4275 +0.5875 +0.7 +0.745 +0.74125 +0.73 +0.73875004 +0.7649999 +0.78499997 +0.76 +0.65999997 +0.49 +0.28875 +0.15 +0.11874999 +0.20375 +0.395 +0.59875 +0.71124995 +0.69124997 +0.5825 +0.5 +0.56 +0.80875 +1.2012501 +1.6087501 +1.8912499 +1.9799998 +1.9037501 +1.76625 +1.6837499 +1.71 +1.8175 +1.9225 +1.94625 +1.85625 +1.6975 +1.56 +1.52125 +1.59875 +1.7312499 +1.8187499 +1.7650001 +1.5425 +1.20625 +0.87125 +0.65125 +0.6075 +0.7025001 +0.8387501 +0.91875005 +0.89625007 +0.81625 +0.7725 +0.85 +1.0450001 +1.27625 +1.4162499 +1.3675001 +1.1425 +0.84000003 +0.60625 +0.53999996 +0.64625 +0.82125 +0.93625 +0.9025 +0.7175 +0.47 +0.275 +0.20625 +0.275 +0.4275 +0.5875 +0.7 +0.745 +0.74125 +0.73 +0.73875004 +0.7649999 +0.78499997 +0.76 +0.65999997 +0.49 +0.28875 +0.15 +0.11874999 +0.20375 +0.395 +0.59875 +0.71124995 +0.69124997 +0.5825 +0.5 +0.56 +0.80875 +1.2012501 +1.6087501 +1.8912499 +1.9799998 +1.9037501 +1.76625 +1.6837499 +1.71 +1.8175 +1.9225 +1.94625 +1.85625 +1.6975 +1.56 +1.52125 +1.59875 +1.7312499 +1.78125 +1.68125 +1.4162501 +1.0525 +0.69250005 +0.45125 +0.3775 +0.42874998 +0.54125 +0.6125 +0.60625 +0.5525 +0.54 +0.63750005 +0.85 +1.0925 +1.25125 +1.24 +1.0637499 +0.82125 +0.64375 +0.6275 +0.7675 +0.96875 +1.09625 +1.07125 +0.89874995 +0.66499996 +0.485 +0.435 +0.52125 +0.69125 +0.86625 +0.98875004 +1.04375 +1.0550001 +1.05875 +1.0775 +1.10875 +1.11 +1.0450001 +0.89625007 +0.6775 +0.45125002 +0.295 +0.26749998 +0.37875 +0.56375 +0.725 +0.77625 +0.695 +0.5425 +0.42874998 +0.45499998 +0.64875 +0.95375 +1.25 +1.4275 +1.4524999 +1.3699999 +1.28375 +1.2850001 +1.3975 +1.5725 +1.72125 +1.7737501 +1.7212499 +1.61125 +1.5237501 +1.5274999 +1.61625 +1.73375 +1.78125 +1.68125 +1.4162501 +1.0525 +0.69250005 +0.45125 +0.3775 +0.42874998 +0.54125 +0.6125 +0.60625 +0.5525 +0.54 +0.63750005 +0.85 +1.0925 +1.25125 +1.24 +1.0637499 +0.82125 +0.64375 +0.6275 +0.7675 +0.96875 +1.09625 +1.07125 +0.89874995 +0.66499996 +0.485 +0.435 +0.52125 +0.69125 +0.86625 +0.98875004 +1.04375 +1.0550001 +1.05875 +1.0775 +1.10875 +1.11 +1.0450001 +0.89625007 +0.6775 +0.45125002 +0.295 +0.26749998 +0.37875 +0.56375 +0.725 +0.77625 +0.695 +0.5425 +0.42874998 +0.45499998 +0.64875 +0.95375 +1.25 +1.4275 +1.4524999 +1.3699999 +1.28375 +1.2850001 +1.3975 +1.5725 +1.72125 +1.7737501 +1.7212499 +1.61125 +1.5237501 +1.5274999 +1.61625 +1.73375 +1.6574999 +1.5075 +1.2087499 +0.8249999 +0.46249998 +0.24125 +0.16375 +0.18875 +0.25375 +0.31125 +0.3075 +0.27125 +0.27875 +0.38625002 +0.5875 +0.8125 +0.95125 +0.92999995 +0.76375 +0.5525 +0.4225 +0.43625003 +0.60749996 +0.83 +0.9775 +0.9699999 +0.82 +0.61 +0.45875 +0.4375 +0.55125 +0.7387499 +0.9275 +1.0587499 +1.12375 +1.15125 +1.17625 +1.21625 +1.2537501 +1.24625 +1.15625 +0.96875 +0.72124994 +0.4825 +0.33499998 +0.32750002 +0.45125002 +0.62249994 +0.745 +0.74125 +0.61125 +0.42624998 +0.30374998 +0.3125 +0.47750002 +0.7325 +0.96 +1.07625 +1.065 +0.99125 +0.95000005 +1.01375 +1.17875 +1.38375 +1.5475 +1.60875 +1.5725 +1.495 +1.4475 +1.4775001 +1.5699999 +1.65625 +1.6574999 +1.5075 +1.2087499 +0.8249999 +0.46249998 +0.24125 +0.16375 +0.18875 +0.25375 +0.31125 +0.3075 +0.27125 +0.27875 +0.38625002 +0.5875 +0.8125 +0.95125 +0.92999995 +0.76375 +0.5525 +0.4225 +0.43625003 +0.60749996 +0.83 +0.9775 +0.9699999 +0.82 +0.61 +0.45875 +0.4375 +0.55125 +0.7387499 +0.9275 +1.0587499 +1.12375 +1.15125 +1.17625 +1.21625 +1.2537501 +1.24625 +1.15625 +0.96875 +0.72124994 +0.4825 +0.33499998 +0.32750002 +0.45125002 +0.62249994 +0.745 +0.74125 +0.61125 +0.42624998 +0.30374998 +0.3125 +0.47750002 +0.7325 +0.96 +1.07625 +1.065 +0.99125 +0.95000005 +1.01375 +1.17875 +1.38375 +1.5475 +1.60875 +1.5725 +1.495 +1.4475 +1.4775001 +1.5699999 +1.65625 +1.5375 +1.34 +1.0125 +0.62375 +0.28125 +0.095 +0.065 +0.075 +0.095 +0.10249999 +0.08625 +0.060000002 +0.073750004 +0.1625 +0.32625002 +0.50874996 +0.60125 +0.54875004 +0.39750004 +0.23125002 +0.15 +0.17874998 +0.305 +0.54125 +0.7 +0.70624995 +0.5775 +0.39874998 +0.29375 +0.2925 +0.42375 +0.62375 +0.8175 +0.95375 +1.03 +1.07375 +1.12375 +1.1812501 +1.2262499 +1.2112501 +1.09875 +0.88625 +0.625 +0.395 +0.28125 +0.28625003 +0.4225 +0.58875 +0.68375 +0.64625 +0.48875 +0.33625 +0.23750001 +0.2575 +0.39875 +0.61 +0.8075 +0.89625 +0.8775 +0.81875 +0.8125 +0.90625 +1.09125 +1.2975 +1.45 +1.5037498 +1.47625 +1.4237502 +1.41 +1.4575 +1.54 +1.59 +1.5375 +1.34 +1.0125 +0.62375 +0.28125 +0.095 +0.065 +0.075 +0.095 +0.10249999 +0.08625 +0.060000002 +0.073750004 +0.1625 +0.32625002 +0.50874996 +0.60125 +0.54875004 +0.39750004 +0.23125002 +0.15 +0.17874998 +0.305 +0.54125 +0.7 +0.70624995 +0.5775 +0.39874998 +0.29375 +0.2925 +0.42375 +0.62375 +0.8175 +0.95375 +1.03 +1.07375 +1.12375 +1.1812501 +1.2262499 +1.2112501 +1.09875 +0.88625 +0.625 +0.395 +0.28125 +0.28625003 +0.4225 +0.58875 +0.68375 +0.64625 +0.48875 +0.33625 +0.23750001 +0.2575 +0.39875 +0.61 +0.8075 +0.89625 +0.8775 +0.81875 +0.8125 +0.90625 +1.09125 +1.2975 +1.45 +1.5037498 +1.47625 +1.4237502 +1.41 +1.4575 +1.54 +1.59 +1.52375 +1.28 +0.92875 +0.54625 +0.21875001 +0.0625 +0.04875 +0.04625 +0.04375 +0.035 +0.015000001 +0.00625 +0.022499999 +0.07625 +0.17875001 +0.305 +0.34875 +0.285 +0.15125 +0.052500002 +0.0125 +0.0325 +0.14125 +0.31249997 +0.46000004 +0.46375 +0.36 +0.23500001 +0.1625 +0.18375 +0.29375 +0.48624998 +0.67875004 +0.8175 +0.90500003 +0.9725 +1.04375 +1.1175 +1.16 +1.13125 +0.99625 +0.76875 +0.5175 +0.33125 +0.24500002 +0.28125 +0.40625 +0.56 +0.64500004 +0.59875 +0.48000002 +0.34125003 +0.26625 +0.31 +0.46375 +0.66375005 +0.8275 +0.90749997 +0.895 +0.8625001 +0.87125 +0.95875 +1.12125 +1.3050001 +1.435 +1.4825 +1.4712499 +1.4512501 +1.4712499 +1.53875 +1.6112499 +1.62625 +1.52375 +1.28 +0.92875 +0.54625 +0.21875001 +0.0625 +0.04875 +0.04625 +0.04375 +0.035 +0.015000001 +0.00625 +0.022499999 +0.07625 +0.17875001 +0.305 +0.34875 +0.285 +0.15125 +0.052500002 +0.0125 +0.0325 +0.14125 +0.31249997 +0.46000004 +0.46375 +0.36 +0.23500001 +0.1625 +0.18375 +0.29375 +0.48624998 +0.67875004 +0.8175 +0.90500003 +0.9725 +1.04375 +1.1175 +1.16 +1.13125 +0.99625 +0.76875 +0.5175 +0.33125 +0.24500002 +0.28125 +0.40625 +0.56 +0.64500004 +0.59875 +0.48000002 +0.34125003 +0.26625 +0.31 +0.46375 +0.66375005 +0.8275 +0.90749997 +0.895 +0.8625001 +0.87125 +0.95875 +1.12125 +1.3050001 +1.435 +1.4825 +1.4712499 +1.4512501 +1.4712499 +1.53875 +1.6112499 +1.62625 +1.6587499 +1.38375 +1.0175 +0.635 +0.31374997 +0.13375 +0.075 +0.06625 +0.058749996 +0.05 +0.0375 +0.047500003 +0.07125 +0.11624999 +0.19624999 +0.28125003 +0.29375002 +0.22375 +0.12375 +0.065 +0.0425 +0.07125 +0.155 +0.29874998 +0.3975 +0.38375002 +0.29125 +0.185 +0.135 +0.16499999 +0.275 +0.45125 +0.63750005 +0.78375 +0.8925 +0.98875 +1.08375 +1.16625 +1.2025 +1.15 +0.995 +0.7575 +0.52 +0.355 +0.2975 +0.3525 +0.4875 +0.62875 +0.7075 +0.68375 +0.58125 +0.465 +0.41499996 +0.47374997 +0.63124996 +0.82624996 +0.97875 +1.04875 +1.04125 +1.0124999 +1.0174999 +1.08875 +1.2112501 +1.3612499 +1.4725 +1.5274999 +1.5475 +1.575 +1.6424999 +1.74 +1.81375 +1.8025 +1.6587499 +1.38375 +1.0175 +0.635 +0.31374997 +0.13375 +0.075 +0.06625 +0.058749996 +0.05 +0.0375 +0.047500003 +0.07125 +0.11624999 +0.19624999 +0.28125003 +0.29375002 +0.22375 +0.12375 +0.065 +0.0425 +0.07125 +0.155 +0.29874998 +0.3975 +0.38375002 +0.29125 +0.185 +0.135 +0.16499999 +0.275 +0.45125 +0.63750005 +0.78375 +0.8925 +0.98875 +1.08375 +1.16625 +1.2025 +1.15 +0.995 +0.7575 +0.52 +0.355 +0.2975 +0.3525 +0.4875 +0.62875 +0.7075 +0.68375 +0.58125 +0.465 +0.41499996 +0.47374997 +0.63124996 +0.82624996 +0.97875 +1.04875 +1.04125 +1.0124999 +1.0174999 +1.08875 +1.2112501 +1.3612499 +1.4725 +1.5274999 +1.5475 +1.575 +1.6424999 +1.74 +1.81375 +1.8025 +1.895 +1.6025 +1.2325 +0.85375 +0.53875 +0.32375002 +0.2125 +0.16999999 +0.14875 +0.13250001 +0.12375 +0.14375001 +0.185 +0.255 +0.3475 +0.41625 +0.40125 +0.3275 +0.24125001 +0.18875 +0.18125 +0.22625 +0.33 +0.45374995 +0.50875 +0.4525 +0.34125 +0.2425 +0.20125 +0.24000001 +0.355 +0.54375 +0.7325 +0.89875 +1.0437499 +1.1775 +1.2974999 +1.38375 +1.4037501 +1.3275 +1.15125 +0.90874994 +0.66625 +0.515 +0.47 +0.52750003 +0.6525 +0.7875 +0.86875 +0.84375 +0.75374997 +0.65999997 +0.61875 +0.6725 +0.81 +0.9812499 +1.12125 +1.1937499 +1.1837499 +1.15 +1.1450001 +1.1899999 +1.2774999 +1.39625 +1.5 +1.5775 +1.64625 +1.73625 +1.8599999 +1.9925 +2.0787501 +2.0575 +1.895 +1.6025 +1.2325 +0.85375 +0.53875 +0.32375002 +0.2125 +0.16999999 +0.14875 +0.13250001 +0.12375 +0.14375001 +0.185 +0.255 +0.3475 +0.41625 +0.40125 +0.3275 +0.24125001 +0.18875 +0.18125 +0.22625 +0.33 +0.45374995 +0.50875 +0.4525 +0.34125 +0.2425 +0.20125 +0.24000001 +0.355 +0.54375 +0.7325 +0.89875 +1.0437499 +1.1775 +1.2974999 +1.38375 +1.4037501 +1.3275 +1.15125 +0.90874994 +0.66625 +0.515 +0.47 +0.52750003 +0.6525 +0.7875 +0.86875 +0.84375 +0.75374997 +0.65999997 +0.61875 +0.6725 +0.81 +0.9812499 +1.12125 +1.1937499 +1.1837499 +1.15 +1.1450001 +1.1899999 +1.2774999 +1.39625 +1.5 +1.5775 +1.64625 +1.73625 +1.8599999 +1.9925 +2.0787501 +2.0575 +2.10875 +1.8199999 +1.4612501 +1.0975 +0.78749996 +0.5625 +0.41500002 +0.32375002 +0.2675 +0.23500001 +0.2325 +0.27625 +0.35750002 +0.46125 +0.55625 +0.59999996 +0.5675 +0.49375 +0.4175 +0.37875 +0.4025 +0.48250002 +0.59125 +0.66624993 +0.65625 +0.56375 +0.435 +0.33125 +0.30374998 +0.37124997 +0.51625 +0.70500004 +0.90625 +1.1075001 +1.3000001 +1.4775001 +1.6225 +1.7075 +1.70625 +1.6025 +1.4100001 +1.17125 +0.94 +0.77125 +0.70375 +0.73749995 +0.84125 +0.95500004 +1.02125 +1.00375 +0.9125 +0.81000006 +0.75874996 +0.78125 +0.8775 +1.0075 +1.13625 +1.21 +1.215 +1.17875 +1.1575 +1.17875 +1.24375 +1.3425 +1.45375 +1.565 +1.6924999 +1.8449999 +2.0225 +2.19 +2.29125 +2.27125 +2.10875 +1.8199999 +1.4612501 +1.0975 +0.78749996 +0.5625 +0.41500002 +0.32375002 +0.2675 +0.23500001 +0.2325 +0.27625 +0.35750002 +0.46125 +0.55625 +0.59999996 +0.5675 +0.49375 +0.4175 +0.37875 +0.4025 +0.48250002 +0.59125 +0.66624993 +0.65625 +0.56375 +0.435 +0.33125 +0.30374998 +0.37124997 +0.51625 +0.70500004 +0.90625 +1.1075001 +1.3000001 +1.4775001 +1.6225 +1.7075 +1.70625 +1.6025 +1.4100001 +1.17125 +0.94 +0.77125 +0.70375 +0.73749995 +0.84125 +0.95500004 +1.02125 +1.00375 +0.9125 +0.81000006 +0.75874996 +0.78125 +0.8775 +1.0075 +1.13625 +1.21 +1.215 +1.17875 +1.1575 +1.17875 +1.24375 +1.3425 +1.45375 +1.565 +1.6924999 +1.8449999 +2.0225 +2.19 +2.29125 +2.27125 +2.1937501 +1.9300001 +1.59875 +1.2624999 +0.96875006 +0.7325 +0.5625 +0.44125003 +0.36374998 +0.33249998 +0.35 +0.42125002 +0.52250004 +0.61875004 +0.68 +0.68125 +0.63 +0.56375 +0.525 +0.5275 +0.57624996 +0.6625 +0.7375 +0.75124997 +0.6925 +0.58125 +0.46624997 +0.39875 +0.40499997 +0.4925 +0.64750004 +0.84625 +1.0712501 +1.31375 +1.55625 +1.77375 +1.93375 +2.0075002 +1.9775001 +1.8425001 +1.6387501 +1.405 +1.1825001 +1.01125 +0.91625 +0.89625 +0.9375 +0.99625 +1.035 +1.0137501 +0.9325 +0.8175 +0.72875 +0.70374995 +0.745 +0.83625007 +0.94875 +1.0362501 +1.0725 +1.065 +1.045 +1.05 +1.095 +1.185 +1.3050001 +1.4525 +1.625 +1.8275 +2.04375 +2.2337499 +2.34625 +2.33875 +2.1937501 +1.9300001 +1.59875 +1.2624999 +0.96875006 +0.7325 +0.5625 +0.44125003 +0.36374998 +0.33249998 +0.35 +0.42125002 +0.52250004 +0.61875004 +0.68 +0.68125 +0.63 +0.56375 +0.525 +0.5275 +0.57624996 +0.6625 +0.7375 +0.75124997 +0.6925 +0.58125 +0.46624997 +0.39875 +0.40499997 +0.4925 +0.64750004 +0.84625 +1.0712501 +1.31375 +1.55625 +1.77375 +1.93375 +2.0075002 +1.9775001 +1.8425001 +1.6387501 +1.405 +1.1825001 +1.01125 +0.91625 +0.89625 +0.9375 +0.99625 +1.035 +1.0137501 +0.9325 +0.8175 +0.72875 +0.70374995 +0.745 +0.83625007 +0.94875 +1.0362501 +1.0725 +1.065 +1.045 +1.05 +1.095 +1.185 +1.3050001 +1.4525 +1.625 +1.8275 +2.04375 +2.2337499 +2.34625 +2.33875 +2.11625 +1.89875 +1.6137501 +1.31625 +1.04 +0.8075 +0.6212499 +0.48125 +0.38875002 +0.36124998 +0.39624995 +0.47875002 +0.57375 +0.63750005 +0.64374995 +0.58875 +0.50374997 +0.45000002 +0.4375 +0.47499996 +0.5425 +0.62249994 +0.6675 +0.64374995 +0.56375 +0.4625 +0.3875 +0.3725 +0.42625 +0.54375005 +0.71625 +0.9325 +1.185 +1.4625 +1.74125 +1.97875 +2.1325002 +2.1750002 +2.1025 +1.93375 +1.71625 +1.485 +1.2674999 +1.0875001 +0.9549999 +0.8775 +0.84625 +0.8525 +0.8625 +0.83625 +0.76 +0.635 +0.51375 +0.4425 +0.43749997 +0.50125 +0.6025 +0.7199999 +0.80125 +0.83374995 +0.8325 +0.8325 +0.8625 +0.94125 +1.0699999 +1.24125 +1.4449999 +1.675 +1.905 +2.10125 +2.2225 +2.2325 +2.11625 +1.89875 +1.6137501 +1.31625 +1.04 +0.8075 +0.6212499 +0.48125 +0.38875002 +0.36124998 +0.39624995 +0.47875002 +0.57375 +0.63750005 +0.64374995 +0.58875 +0.50374997 +0.45000002 +0.4375 +0.47499996 +0.5425 +0.62249994 +0.6675 +0.64374995 +0.56375 +0.4625 +0.3875 +0.3725 +0.42625 +0.54375005 +0.71625 +0.9325 +1.185 +1.4625 +1.74125 +1.97875 +2.1325002 +2.1750002 +2.1025 +1.93375 +1.71625 +1.485 +1.2674999 +1.0875001 +0.9549999 +0.8775 +0.84625 +0.8525 +0.8625 +0.83625 +0.76 +0.635 +0.51375 +0.4425 +0.43749997 +0.50125 +0.6025 +0.7199999 +0.80125 +0.83374995 +0.8325 +0.8325 +0.8625 +0.94125 +1.0699999 +1.24125 +1.4449999 +1.675 +1.905 +2.10125 +2.2225 +2.2325 +1.9512498 +1.7849998 +1.5537499 +1.29875 +1.04625 +0.8175 +0.62125003 +0.47125 +0.37375 +0.34249997 +0.37875 +0.45125 +0.51874995 +0.53249997 +0.47375 +0.35999998 +0.25125 +0.19624999 +0.20875 +0.26375 +0.34875 +0.41875002 +0.45375 +0.41875002 +0.35 +0.28750002 +0.27125 +0.3175 +0.42374998 +0.57624996 +0.76625 +0.99625 +1.2675 +1.565 +1.8525001 +2.0774999 +2.195 +2.185 +2.05625 +1.8487499 +1.61375 +1.3812499 +1.1662501 +0.975 +0.81375 +0.6875 +0.60749996 +0.5775 +0.57125 +0.55 +0.48000002 +0.35 +0.22 +0.14500001 +0.1275 +0.1675 +0.2625 +0.395 +0.5225 +0.58750004 +0.6 +0.5925 +0.61125 +0.68125 +0.80999994 +0.98999995 +1.20375 +1.4374999 +1.66625 +1.8625 +1.99125 +2.02375 +1.9512498 +1.7849998 +1.5537499 +1.29875 +1.04625 +0.8175 +0.62125003 +0.47125 +0.37375 +0.34249997 +0.37875 +0.45125 +0.51874995 +0.53249997 +0.47375 +0.35999998 +0.25125 +0.19624999 +0.20875 +0.26375 +0.34875 +0.41875002 +0.45375 +0.41875002 +0.35 +0.28750002 +0.27125 +0.3175 +0.42374998 +0.57624996 +0.76625 +0.99625 +1.2675 +1.565 +1.8525001 +2.0774999 +2.195 +2.185 +2.05625 +1.8487499 +1.61375 +1.3812499 +1.1662501 +0.975 +0.81375 +0.6875 +0.60749996 +0.5775 +0.57125 +0.55 +0.48000002 +0.35 +0.22 +0.14500001 +0.1275 +0.1675 +0.2625 +0.395 +0.5225 +0.58750004 +0.6 +0.5925 +0.61125 +0.68125 +0.80999994 +0.98999995 +1.20375 +1.4374999 +1.66625 +1.8625 +1.99125 +2.02375 +1.82375 +1.71 +1.525 +1.3025 +1.0699999 +0.845 +0.64250004 +0.47875002 +0.37124997 +0.33124998 +0.35125 +0.40125 +0.43125 +0.39625 +0.28750002 +0.13625 +0.04 +0.00875 +0.018749999 +0.07375 +0.15375 +0.22375001 +0.265 +0.24875 +0.21000001 +0.19500001 +0.23625 +0.33750004 +0.48499998 +0.665 +0.87125 +1.1087499 +1.3824999 +1.6725 +1.9362501 +2.12 +2.17375 +2.0950003 +1.90375 +1.65625 +1.4 +1.16375 +0.9525 +0.75875 +0.5825 +0.4375 +0.3475 +0.31625 +0.32000002 +0.315 +0.25875002 +0.13999999 +0.045 +0.01 +0.0 +0.005 +0.06875 +0.2075 +0.35625002 +0.42875 +0.43624997 +0.41375 +0.41375 +0.47125 +0.59375 +0.77125 +0.98249996 +1.21125 +1.43625 +1.635 +1.78125 +1.85 +1.82375 +1.71 +1.525 +1.3025 +1.0699999 +0.845 +0.64250004 +0.47875002 +0.37124997 +0.33124998 +0.35125 +0.40125 +0.43125 +0.39625 +0.28750002 +0.13625 +0.04 +0.00875 +0.018749999 +0.07375 +0.15375 +0.22375001 +0.265 +0.24875 +0.21000001 +0.19500001 +0.23625 +0.33750004 +0.48499998 +0.665 +0.87125 +1.1087499 +1.3824999 +1.6725 +1.9362501 +2.12 +2.17375 +2.0950003 +1.90375 +1.65625 +1.4 +1.16375 +0.9525 +0.75875 +0.5825 +0.4375 +0.3475 +0.31625 +0.32000002 +0.315 +0.25875002 +0.13999999 +0.045 +0.01 +0.0 +0.005 +0.06875 +0.2075 +0.35625002 +0.42875 +0.43624997 +0.41375 +0.41375 +0.47125 +0.59375 +0.77125 +0.98249996 +1.21125 +1.43625 +1.635 +1.78125 +1.85 +1.925 +1.9625001 +1.8975 +1.745 +1.54875 +1.34125 +1.1387501 +0.94875 +0.76374996 +0.59375 +0.455 +0.3675 +0.33 +0.315 +0.27375 +0.17 +0.04875 +0.0025 +0.0 +0.0 +0.0 +0.01 +0.0825 +0.21625 +0.3075 +0.33999997 +0.35625 +0.39999998 +0.495 +0.6375 +0.81125003 +0.99625 +1.1887499 +1.39 +1.59125 +1.7712501 +1.89625 +1.9300002 +1.86625 +1.72125 +1.53 +1.3275 +1.1275 +0.93874997 +0.7575 +0.59250003 +0.4625 +0.38250002 +0.3525 +0.33625 +0.29000002 +0.1775 +0.051250003 +0.0025 +0.0 +0.0 +0.0 +0.01 +0.07875 +0.20375 +0.2875 +0.3175 +0.33625 +0.385 +0.48875 +0.63875 +0.81375 +1.0 +1.195 +1.3999999 +1.6074998 +1.795 +1.925 +1.9625001 +1.8975 +1.745 +1.54875 +1.34125 +1.1387501 +0.94875 +0.76374996 +0.59375 +0.455 +0.3675 +0.33 +0.315 +0.27375 +0.17 +0.04875 +0.0025 +0.0 +0.0 +0.0 +0.01 +0.0825 +0.21625 +0.3075 +0.33999997 +0.35625 +0.39999998 +0.495 +0.6375 +0.81125003 +0.99625 +1.1887499 +1.39 +1.59125 +1.7712501 +1.89625 +1.9300002 +1.86625 +1.72125 +1.53 +1.3275 +1.1275 +0.93874997 +0.7575 +0.59250003 +0.4625 +0.38250002 +0.3525 +0.33625 +0.29000002 +0.1775 +0.051250003 +0.0025 +0.0 +0.0 +0.0 +0.01 +0.07875 +0.20375 +0.2875 +0.3175 +0.33625 +0.385 +0.48875 +0.63875 +0.81375 +1.0 +1.195 +1.3999999 +1.6074998 +1.795 +2.01125 +2.05625 +1.9837499 +1.81375 +1.59125 +1.35625 +1.1337501 +0.92875004 +0.73125005 +0.55625 +0.41250002 +0.32 +0.28125 +0.2775 +0.26 +0.18875001 +0.08 +0.0075 +0.0 +0.0 +0.0 +0.025 +0.12375 +0.26 +0.35125002 +0.37625003 +0.37375003 +0.39375 +0.46125 +0.58500004 +0.75124997 +0.94375 +1.1487501 +1.3625 +1.57 +1.7475 +1.86375 +1.895 +1.83 +1.6875 +1.4925 +1.28 +1.0675 +0.86875 +0.68625 +0.53375 +0.43125 +0.38125 +0.37750003 +0.37750003 +0.3375 +0.22750002 +0.087500006 +0.00875 +0.0 +0.0 +0.0 +0.025 +0.113749996 +0.21 +0.2625 +0.27 +0.27875 +0.32874998 +0.43625003 +0.58875 +0.77000004 +0.9675 +1.17875 +1.4099998 +1.6487501 +1.8649999 +2.01125 +2.05625 +1.9837499 +1.81375 +1.59125 +1.35625 +1.1337501 +0.92875004 +0.73125005 +0.55625 +0.41250002 +0.32 +0.28125 +0.2775 +0.26 +0.18875001 +0.08 +0.0075 +0.0 +0.0 +0.0 +0.025 +0.12375 +0.26 +0.35125002 +0.37625003 +0.37375003 +0.39375 +0.46125 +0.58500004 +0.75124997 +0.94375 +1.1487501 +1.3625 +1.57 +1.7475 +1.86375 +1.895 +1.83 +1.6875 +1.4925 +1.28 +1.0675 +0.86875 +0.68625 +0.53375 +0.43125 +0.38125 +0.37750003 +0.37750003 +0.3375 +0.22750002 +0.087500006 +0.00875 +0.0 +0.0 +0.0 +0.025 +0.113749996 +0.21 +0.2625 +0.27 +0.27875 +0.32874998 +0.43625003 +0.58875 +0.77000004 +0.9675 +1.17875 +1.4099998 +1.6487501 +1.8649999 +2.1200001 +2.1775002 +2.095 +1.8975 +1.6337501 +1.355 +1.1025001 +0.87750006 +0.67625 +0.495 +0.34249997 +0.24000001 +0.19875 +0.20625 +0.2225 +0.2025 +0.1275 +0.0375 +0.0 +0.0 +0.0 +0.03 +0.14 +0.28750002 +0.3825 +0.40125 +0.37125003 +0.34375003 +0.36499998 +0.45375 +0.6075 +0.80749995 +1.0337499 +1.26375 +1.47875 +1.6500001 +1.7574998 +1.7800002 +1.7175 +1.5762498 +1.37875 +1.155 +0.925 +0.7075 +0.5225 +0.39625 +0.33625 +0.33875 +0.37875 +0.40375 +0.37 +0.2575 +0.1125 +0.01875 +0.0 +0.0 +0.01 +0.06375 +0.14874999 +0.2025 +0.20250002 +0.1775 +0.17375 +0.22625 +0.33624998 +0.49125 +0.67375 +0.88 +1.1162499 +1.38625 +1.6737499 +1.9362501 +2.1200001 +2.1775002 +2.095 +1.8975 +1.6337501 +1.355 +1.1025001 +0.87750006 +0.67625 +0.495 +0.34249997 +0.24000001 +0.19875 +0.20625 +0.2225 +0.2025 +0.1275 +0.0375 +0.0 +0.0 +0.0 +0.03 +0.14 +0.28750002 +0.3825 +0.40125 +0.37125003 +0.34375003 +0.36499998 +0.45375 +0.6075 +0.80749995 +1.0337499 +1.26375 +1.47875 +1.6500001 +1.7574998 +1.7800002 +1.7175 +1.5762498 +1.37875 +1.155 +0.925 +0.7075 +0.5225 +0.39625 +0.33625 +0.33875 +0.37875 +0.40375 +0.37 +0.2575 +0.1125 +0.01875 +0.0 +0.0 +0.01 +0.06375 +0.14874999 +0.2025 +0.20250002 +0.1775 +0.17375 +0.22625 +0.33624998 +0.49125 +0.67375 +0.88 +1.1162499 +1.38625 +1.6737499 +1.9362501 +2.1475 +2.22625 +2.1375 +1.9087499 +1.6075 +1.2950001 +1.02 +0.79125 +0.6 +0.42374998 +0.2725 +0.16125 +0.106249996 +0.11625 +0.15875 +0.18875 +0.15625 +0.0775 +0.01 +0.0 +0.0 +0.01375 +0.082499996 +0.22 +0.3275 +0.345 +0.28875 +0.215 +0.17875 +0.225 +0.3625 +0.57375 +0.82 +1.06625 +1.28 +1.4399999 +1.53125 +1.5475 +1.4875 +1.3562499 +1.16625 +0.93500006 +0.68625003 +0.4525 +0.26749998 +0.16999999 +0.1575 +0.215 +0.29749998 +0.34 +0.30249998 +0.19 +0.075 +0.0175 +0.0 +0.0 +0.02 +0.08749999 +0.14625001 +0.145 +0.1 +0.06625 +0.0625 +0.1025 +0.21125 +0.36 +0.53125 +0.73249996 +0.9774999 +1.27875 +1.6125 +1.925 +2.1475 +2.22625 +2.1375 +1.9087499 +1.6075 +1.2950001 +1.02 +0.79125 +0.6 +0.42374998 +0.2725 +0.16125 +0.106249996 +0.11625 +0.15875 +0.18875 +0.15625 +0.0775 +0.01 +0.0 +0.0 +0.01375 +0.082499996 +0.22 +0.3275 +0.345 +0.28875 +0.215 +0.17875 +0.225 +0.3625 +0.57375 +0.82 +1.06625 +1.28 +1.4399999 +1.53125 +1.5475 +1.4875 +1.3562499 +1.16625 +0.93500006 +0.68625003 +0.4525 +0.26749998 +0.16999999 +0.1575 +0.215 +0.29749998 +0.34 +0.30249998 +0.19 +0.075 +0.0175 +0.0 +0.0 +0.02 +0.08749999 +0.14625001 +0.145 +0.1 +0.06625 +0.0625 +0.1025 +0.21125 +0.36 +0.53125 +0.73249996 +0.9774999 +1.27875 +1.6125 +1.925 +2.05125 +2.145 +2.05375 +1.8075001 +1.4837501 +1.1587499 +0.89 +0.68499994 +0.52375 +0.3775 +0.235 +0.12249999 +0.055 +0.04875 +0.0825 +0.1375 +0.14 +0.08375 +0.0175 +0.0 +0.0 +0.0 +0.0175 +0.08125 +0.1825 +0.21000001 +0.155 +0.0775 +0.0375 +0.041249998 +0.107499994 +0.2825 +0.54625 +0.79875 +1.00375 +1.1424999 +1.21125 +1.21875 +1.1687499 +1.0587499 +0.8875 +0.66125 +0.4025 +0.1825 +0.07 +0.01375 +0.0125 +0.06125 +0.1425 +0.18625 +0.14500001 +0.072500005 +0.01875 +0.0 +0.0 +0.0 +0.0112499995 +0.0475 +0.0725 +0.055 +0.02375 +0.00375 +0.0 +0.0325 +0.105000004 +0.22500001 +0.36625 +0.53749996 +0.77000004 +1.07875 +1.4399999 +1.7925 +2.05125 +2.145 +2.05375 +1.8075001 +1.4837501 +1.1587499 +0.89 +0.68499994 +0.52375 +0.3775 +0.235 +0.12249999 +0.055 +0.04875 +0.0825 +0.1375 +0.14 +0.08375 +0.0175 +0.0 +0.0 +0.0 +0.0175 +0.08125 +0.1825 +0.21000001 +0.155 +0.0775 +0.0375 +0.041249998 +0.107499994 +0.2825 +0.54625 +0.79875 +1.00375 +1.1424999 +1.21125 +1.21875 +1.1687499 +1.0587499 +0.8875 +0.66125 +0.4025 +0.1825 +0.07 +0.01375 +0.0125 +0.06125 +0.1425 +0.18625 +0.14500001 +0.072500005 +0.01875 +0.0 +0.0 +0.0 +0.0112499995 +0.0475 +0.0725 +0.055 +0.02375 +0.00375 +0.0 +0.0325 +0.105000004 +0.22500001 +0.36625 +0.53749996 +0.77000004 +1.07875 +1.4399999 +1.7925 +1.8675 +1.9775 +1.8862499 +1.6324999 +1.30375 +0.9887501 +0.74749994 +0.59124994 +0.48250002 +0.37625 +0.24875 +0.13499999 +0.0525 +0.0225 +0.040000003 +0.087500006 +0.11000001 +0.06875 +0.01625 +0.0 +0.0 +0.0 +0.0 +0.01 +0.04875 +0.0925 +0.05625 +0.015 +0.0 +0.0 +0.0075 +0.09 +0.3175 +0.56625 +0.75 +0.8575 +0.90124995 +0.9 +0.86375 +0.78625 +0.64625 +0.43625003 +0.19749999 +0.04375 +0.0025 +0.0 +0.0 +0.005 +0.03 +0.048750002 +0.03 +0.0075 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.0062499996 +0.0025 +0.0 +0.0 +0.0 +0.02375 +0.0625 +0.1325 +0.22125001 +0.34375 +0.54125 +0.84 +1.2125 +1.5875 +1.8675 +1.9775 +1.8862499 +1.6324999 +1.30375 +0.9887501 +0.74749994 +0.59124994 +0.48250002 +0.37625 +0.24875 +0.13499999 +0.0525 +0.0225 +0.040000003 +0.087500006 +0.11000001 +0.06875 +0.01625 +0.0 +0.0 +0.0 +0.0 +0.01 +0.04875 +0.0925 +0.05625 +0.015 +0.0 +0.0 +0.0075 +0.09 +0.3175 +0.56625 +0.75 +0.8575 +0.90124995 +0.9 +0.86375 +0.78625 +0.64625 +0.43625003 +0.19749999 +0.04375 +0.0025 +0.0 +0.0 +0.005 +0.03 +0.048750002 +0.03 +0.0075 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.0062499996 +0.0025 +0.0 +0.0 +0.0 +0.02375 +0.0625 +0.1325 +0.22125001 +0.34375 +0.54125 +0.84 +1.2125 +1.5875 +1.7112501 +1.8275 +1.7375 +1.4837499 +1.15625 +0.86 +0.65999997 +0.5575 +0.505 +0.4425 +0.32999998 +0.195 +0.088750005 +0.03625 +0.03625 +0.08874999 +0.11 +0.076249994 +0.015 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04625 +0.089999996 +0.05875 +0.00625 +0.0 +0.0 +0.0 +0.055 +0.2625 +0.48749998 +0.645 +0.71750003 +0.73375 +0.72499996 +0.70374995 +0.65875006 +0.55375004 +0.3675 +0.15125 +0.02 +0.0 +0.0 +0.0 +0.0125 +0.044999998 +0.0375 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.01125 +0.035 +0.07625 +0.1175 +0.15 +0.22125001 +0.3775 +0.6575 +1.03125 +1.4187499 +1.7112501 +1.8275 +1.7375 +1.4837499 +1.15625 +0.86 +0.65999997 +0.5575 +0.505 +0.4425 +0.32999998 +0.195 +0.088750005 +0.03625 +0.03625 +0.08874999 +0.11 +0.076249994 +0.015 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04625 +0.089999996 +0.05875 +0.00625 +0.0 +0.0 +0.0 +0.055 +0.2625 +0.48749998 +0.645 +0.71750003 +0.73375 +0.72499996 +0.70374995 +0.65875006 +0.55375004 +0.3675 +0.15125 +0.02 +0.0 +0.0 +0.0 +0.0125 +0.044999998 +0.0375 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.01125 +0.035 +0.07625 +0.1175 +0.15 +0.22125001 +0.3775 +0.6575 +1.03125 +1.4187499 +1.6850001 +1.8012501 +1.70625 +1.44625 +1.12375 +0.8475 +0.6825 +0.62500006 +0.61625 +0.5775 +0.47 +0.3075 +0.16125 +0.08625 +0.1025 +0.175 +0.21375 +0.16 +0.05625 +0.0 +0.0 +0.0 +0.00125 +0.06625 +0.20375 +0.27624997 +0.21375 +0.0825 +0.0025 +0.0 +0.03 +0.16624999 +0.39249998 +0.6125 +0.74125004 +0.785 +0.7799999 +0.76375 +0.7575 +0.73625 +0.65999997 +0.49875 +0.27375 +0.07875 +0.0 +0.0 +0.034999996 +0.13375 +0.22125001 +0.215 +0.0975 +0.0 +0.0 +0.0 +0.0 +0.01 +0.051249996 +0.0925 +0.073750004 +0.0225 +0.0 +0.01125 +0.035 +0.095 +0.16375 +0.19250001 +0.195 +0.22 +0.3475 +0.61125 +0.98625004 +1.3824999 +1.6850001 +1.8012501 +1.70625 +1.44625 +1.12375 +0.8475 +0.6825 +0.62500006 +0.61625 +0.5775 +0.47 +0.3075 +0.16125 +0.08625 +0.1025 +0.175 +0.21375 +0.16 +0.05625 +0.0 +0.0 +0.0 +0.00125 +0.06625 +0.20375 +0.27624997 +0.21375 +0.0825 +0.0025 +0.0 +0.03 +0.16624999 +0.39249998 +0.6125 +0.74125004 +0.785 +0.7799999 +0.76375 +0.7575 +0.73625 +0.65999997 +0.49875 +0.27375 +0.07875 +0.0 +0.0 +0.034999996 +0.13375 +0.22125001 +0.215 +0.0975 +0.0 +0.0 +0.0 +0.0 +0.01 +0.051249996 +0.0925 +0.073750004 +0.0225 +0.0 +0.01125 +0.035 +0.095 +0.16375 +0.19250001 +0.195 +0.22 +0.3475 +0.61125 +0.98625004 +1.3824999 +1.8050001 +1.91875 +1.8125 +1.5425 +1.2225001 +0.96125007 +0.82 +0.7900001 +0.80250007 +0.76874995 +0.65125 +0.47125 +0.3025 +0.22375001 +0.25625 +0.35625 +0.42124996 +0.37125003 +0.21875 +0.0625 +0.0 +0.015 +0.096250005 +0.27875 +0.48624998 +0.57374996 +0.49125 +0.30125 +0.13875 +0.092499994 +0.18125 +0.39124998 +0.65125 +0.8575 +0.97 +0.99125 +0.97125006 +0.95500004 +0.95750004 +0.95124996 +0.895 +0.7475 +0.52 +0.28125 +0.1275 +0.10625 +0.21124999 +0.3975 +0.5525 +0.55999994 +0.39374998 +0.16624999 +0.03125 +0.0 +0.0375 +0.1425 +0.26874998 +0.345 +0.305 +0.18375 +0.088750005 +0.07125001 +0.13375 +0.24 +0.33374998 +0.37000003 +0.35375002 +0.35250002 +0.45875 +0.71500003 +1.09375 +1.5 +1.8050001 +1.91875 +1.8125 +1.5425 +1.2225001 +0.96125007 +0.82 +0.7900001 +0.80250007 +0.76874995 +0.65125 +0.47125 +0.3025 +0.22375001 +0.25625 +0.35625 +0.42124996 +0.37125003 +0.21875 +0.0625 +0.0 +0.015 +0.096250005 +0.27875 +0.48624998 +0.57374996 +0.49125 +0.30125 +0.13875 +0.092499994 +0.18125 +0.39124998 +0.65125 +0.8575 +0.97 +0.99125 +0.97125006 +0.95500004 +0.95750004 +0.95124996 +0.895 +0.7475 +0.52 +0.28125 +0.1275 +0.10625 +0.21124999 +0.3975 +0.5525 +0.55999994 +0.39374998 +0.16624999 +0.03125 +0.0 +0.0375 +0.1425 +0.26874998 +0.345 +0.305 +0.18375 +0.088750005 +0.07125001 +0.13375 +0.24 +0.33374998 +0.37000003 +0.35375002 +0.35250002 +0.45875 +0.71500003 +1.09375 +1.5 +1.9925001 +2.0962498 +1.9775 +1.7025 +1.385 +1.1387501 +1.0224999 +1.01125 +1.0275 +0.985 +0.84874994 +0.65 +0.47625 +0.41125 +0.47625 +0.60749996 +0.69625 +0.65749997 +0.48125 +0.25625 +0.11125 +0.12125 +0.28625 +0.54625 +0.7624999 +0.82125 +0.71 +0.5025 +0.31875 +0.26500002 +0.37375 +0.60125 +0.85374993 +1.05125 +1.15 +1.1624999 +1.13875 +1.1225 +1.13 +1.13375 +1.085 +0.9475 +0.72625 +0.4925 +0.32875 +0.3125 +0.45374995 +0.675 +0.8612499 +0.89250004 +0.74125 +0.47999996 +0.2475 +0.1525 +0.23374999 +0.4425 +0.64625 +0.72625 +0.64875 +0.47500002 +0.31500003 +0.26000002 +0.32999998 +0.465 +0.57875 +0.61375 +0.585 +0.56874996 +0.65875 +0.90875006 +1.285 +1.69125 +1.9925001 +2.0962498 +1.9775 +1.7025 +1.385 +1.1387501 +1.0224999 +1.01125 +1.0275 +0.985 +0.84874994 +0.65 +0.47625 +0.41125 +0.47625 +0.60749996 +0.69625 +0.65749997 +0.48125 +0.25625 +0.11125 +0.12125 +0.28625 +0.54625 +0.7624999 +0.82125 +0.71 +0.5025 +0.31875 +0.26500002 +0.37375 +0.60125 +0.85374993 +1.05125 +1.15 +1.1624999 +1.13875 +1.1225 +1.13 +1.13375 +1.085 +0.9475 +0.72625 +0.4925 +0.32875 +0.3125 +0.45374995 +0.675 +0.8612499 +0.89250004 +0.74125 +0.47999996 +0.2475 +0.1525 +0.23374999 +0.4425 +0.64625 +0.72625 +0.64875 +0.47500002 +0.31500003 +0.26000002 +0.32999998 +0.465 +0.57875 +0.61375 +0.585 +0.56874996 +0.65875 +0.90875006 +1.285 +1.69125 +2.1212502 +2.20875 +2.07875 +1.8025 +1.4987499 +1.28375 +1.20375 +1.22 +1.2437501 +1.1925 +1.0375 +0.83125 +0.67125 +0.64125 +0.74375 +0.8999999 +0.99125 +0.92625 +0.71125007 +0.44375 +0.2575 +0.24875 +0.41625002 +0.66125005 +0.84125006 +0.86 +0.70875 +0.48000002 +0.2975 +0.2525 +0.37125 +0.59875 +0.84375 +1.0287501 +1.115 +1.12125 +1.0975 +1.085 +1.0975 +1.1075 +1.065 +0.93625 +0.725 +0.49625003 +0.34 +0.33125 +0.4875 +0.73499995 +0.94624996 +1.01125 +0.8937501 +0.65749997 +0.44499996 +0.37875 +0.50124997 +0.74625 +0.97625 +1.0675 +0.97999996 +0.7775 +0.58124995 +0.50125 +0.56125 +0.70250005 +0.8262501 +0.865 +0.82625 +0.78625 +0.85125 +1.07875 +1.4375 +1.8299999 +2.1212502 +2.20875 +2.07875 +1.8025 +1.4987499 +1.28375 +1.20375 +1.22 +1.2437501 +1.1925 +1.0375 +0.83125 +0.67125 +0.64125 +0.74375 +0.8999999 +0.99125 +0.92625 +0.71125007 +0.44375 +0.2575 +0.24875 +0.41625002 +0.66125005 +0.84125006 +0.86 +0.70875 +0.48000002 +0.2975 +0.2525 +0.37125 +0.59875 +0.84375 +1.0287501 +1.115 +1.12125 +1.0975 +1.085 +1.0975 +1.1075 +1.065 +0.93625 +0.725 +0.49625003 +0.34 +0.33125 +0.4875 +0.73499995 +0.94624996 +1.01125 +0.8937501 +0.65749997 +0.44499996 +0.37875 +0.50124997 +0.74625 +0.97625 +1.0675 +0.97999996 +0.7775 +0.58124995 +0.50125 +0.56125 +0.70250005 +0.8262501 +0.865 +0.82625 +0.78625 +0.85125 +1.07875 +1.4375 +1.8299999 +2.0875 +2.1575 +2.02 +1.74875 +1.4762499 +1.31125 +1.2862501 +1.3499999 +1.4 +1.355 +1.20375 +1.01375 +0.89500004 +0.91374993 +1.05875 +1.2262499 +1.2837499 +1.1487501 +0.8425 +0.48874998 +0.24000001 +0.1925 +0.33 +0.54 +0.67625 +0.6475 +0.4625 +0.23874998 +0.12375 +0.09375 +0.16375 +0.36499998 +0.59375 +0.75125 +0.81375 +0.81125003 +0.785 +0.77750003 +0.79375005 +0.81375 +0.7825 +0.66499996 +0.46749997 +0.26875 +0.16250001 +0.15125 +0.255 +0.50375 +0.73625 +0.83 +0.74125004 +0.5375 +0.355 +0.33249998 +0.51625 +0.83374995 +1.135 +1.2850001 +1.2275 +1.025 +0.81249994 +0.71 +0.7575 +0.90125 +1.03 +1.06625 +1.0074999 +0.93125004 +0.95000005 +1.13 +1.455 +1.82 +2.0875 +2.1575 +2.02 +1.74875 +1.4762499 +1.31125 +1.2862501 +1.3499999 +1.4 +1.355 +1.20375 +1.01375 +0.89500004 +0.91374993 +1.05875 +1.2262499 +1.2837499 +1.1487501 +0.8425 +0.48874998 +0.24000001 +0.1925 +0.33 +0.54 +0.67625 +0.6475 +0.4625 +0.23874998 +0.12375 +0.09375 +0.16375 +0.36499998 +0.59375 +0.75125 +0.81375 +0.81125003 +0.785 +0.77750003 +0.79375005 +0.81375 +0.7825 +0.66499996 +0.46749997 +0.26875 +0.16250001 +0.15125 +0.255 +0.50375 +0.73625 +0.83 +0.74125004 +0.5375 +0.355 +0.33249998 +0.51625 +0.83374995 +1.135 +1.2850001 +1.2275 +1.025 +0.81249994 +0.71 +0.7575 +0.90125 +1.03 +1.06625 +1.0074999 +0.93125004 +0.95000005 +1.13 +1.455 +1.82 +1.8849999 +1.9375 +1.7900001 +1.53 +1.2962501 +1.1899999 +1.2375 +1.3662499 +1.4675 +1.4575 +1.34125 +1.2025 +1.15375 +1.2487501 +1.44625 +1.6125 +1.6062499 +1.355 +0.9125 +0.45 +0.15125 +0.07125 +0.13499999 +0.2875 +0.38375 +0.32375 +0.16375001 +0.048750002 +0.0025 +0.0 +0.01625 +0.09375 +0.23249999 +0.34875 +0.37374997 +0.34625 +0.3125 +0.3025 +0.32375002 +0.35625 +0.34375 +0.2625 +0.15375 +0.055 +0.00875 +0.0 +0.0375 +0.15375002 +0.3275 +0.43375 +0.36749998 +0.22874999 +0.13499999 +0.12625 +0.31124997 +0.72625 +1.1449999 +1.395 +1.4024999 +1.2262499 +1.0062499 +0.88 +0.91125 +1.0437499 +1.16625 +1.185 +1.09 +0.96125 +0.91625 +1.03625 +1.31375 +1.64375 +1.8849999 +1.9375 +1.7900001 +1.53 +1.2962501 +1.1899999 +1.2375 +1.3662499 +1.4675 +1.4575 +1.34125 +1.2025 +1.15375 +1.2487501 +1.44625 +1.6125 +1.6062499 +1.355 +0.9125 +0.45 +0.15125 +0.07125 +0.13499999 +0.2875 +0.38375 +0.32375 +0.16375001 +0.048750002 +0.0025 +0.0 +0.01625 +0.09375 +0.23249999 +0.34875 +0.37374997 +0.34625 +0.3125 +0.3025 +0.32375002 +0.35625 +0.34375 +0.2625 +0.15375 +0.055 +0.00875 +0.0 +0.0375 +0.15375002 +0.3275 +0.43375 +0.36749998 +0.22874999 +0.13499999 +0.12625 +0.31124997 +0.72625 +1.1449999 +1.395 +1.4024999 +1.2262499 +1.0062499 +0.88 +0.91125 +1.0437499 +1.16625 +1.185 +1.09 +0.96125 +0.91625 +1.03625 +1.31375 +1.64375 +1.5999999 +1.63375 +1.47125 +1.215 +1.0075 +0.95624995 +1.075 +1.2775002 +1.4462501 +1.4962499 +1.44625 +1.3950001 +1.4512501 +1.6475 +1.9112499 +2.0787501 +1.9975 +1.6149999 +1.0225 +0.45875 +0.1225 +0.01875 +0.033749998 +0.1225 +0.18875 +0.13 +0.0325 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03625 +0.08125 +0.0775 +0.04875 +0.02125 +0.01 +0.02125 +0.04375 +0.04625 +0.02375 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04125 +0.0925 +0.075 +0.02375 +0.0 +0.0 +0.12625 +0.575 +1.125 +1.49625 +1.5875001 +1.44 +1.20875 +1.04625 +1.0350001 +1.135 +1.2287501 +1.21375 +1.07125 +0.88374996 +0.77374995 +0.84124994 +1.075 +1.3787498 +1.5999999 +1.63375 +1.47125 +1.215 +1.0075 +0.95624995 +1.075 +1.2775002 +1.4462501 +1.4962499 +1.44625 +1.3950001 +1.4512501 +1.6475 +1.9112499 +2.0787501 +1.9975 +1.6149999 +1.0225 +0.45875 +0.1225 +0.01875 +0.033749998 +0.1225 +0.18875 +0.13 +0.0325 +0.0 +0.0 +0.0 +0.0 +0.0 +0.03625 +0.08125 +0.0775 +0.04875 +0.02125 +0.01 +0.02125 +0.04375 +0.04625 +0.02375 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04125 +0.0925 +0.075 +0.02375 +0.0 +0.0 +0.12625 +0.575 +1.125 +1.49625 +1.5875001 +1.44 +1.20875 +1.04625 +1.0350001 +1.135 +1.2287501 +1.21375 +1.07125 +0.88374996 +0.77374995 +0.84124994 +1.075 +1.3787498 +1.35 +1.3675001 +1.18625 +0.91375005 +0.7125 +0.6937499 +0.8625 +1.125 +1.36 +1.4825001 +1.5225 +1.5825 +1.7637501 +2.08125 +2.4275 +2.61 +2.4699998 +1.9687499 +1.2425 +0.57375 +0.175 +0.055 +0.0575 +0.15125 +0.215 +0.16125 +0.0475 +0.0 +0.0 +0.0 +0.00375 +0.03125 +0.06875 +0.065 +0.01875 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.10625 +0.5725 +1.2275001 +1.70875 +1.8675001 +1.73625 +1.4675001 +1.2425001 +1.1587499 +1.1949999 +1.2375 +1.17375 +0.98249996 +0.74375 +0.58875 +0.62375 +0.84375 +1.1387501 +1.35 +1.3675001 +1.18625 +0.91375005 +0.7125 +0.6937499 +0.8625 +1.125 +1.36 +1.4825001 +1.5225 +1.5825 +1.7637501 +2.08125 +2.4275 +2.61 +2.4699998 +1.9687499 +1.2425 +0.57375 +0.175 +0.055 +0.0575 +0.15125 +0.215 +0.16125 +0.0475 +0.0 +0.0 +0.0 +0.00375 +0.03125 +0.06875 +0.065 +0.01875 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00375 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.10625 +0.5725 +1.2275001 +1.70875 +1.8675001 +1.73625 +1.4675001 +1.2425001 +1.1587499 +1.1949999 +1.2375 +1.17375 +0.98249996 +0.74375 +0.58875 +0.62375 +0.84375 +1.1387501 +1.21875 +1.22375 +1.015 +0.71375 +0.48875 +0.47 +0.65875 +0.96000004 +1.245 +1.43625 +1.5625 +1.73375 +2.0437498 +2.485 +2.9150002 +3.12625 +2.9475 +2.36625 +1.5462501 +0.76000005 +0.3125 +0.16375 +0.23875 +0.4225 +0.50750005 +0.40750003 +0.2125 +0.07875 +0.02875 +0.055 +0.15249999 +0.2825 +0.36375 +0.30749997 +0.17375 +0.0575 +0.0075 +0.0025 +0.028749999 +0.098749995 +0.16 +0.16999999 +0.11625 +0.018749999 +0.0 +0.0 +0.0 +0.03625 +0.11625001 +0.14 +0.07 +0.0 +0.0 +0.005 +0.18625 +0.78 +1.52625 +2.0874999 +2.285 +2.13875 +1.805 +1.485 +1.3025 +1.24875 +1.2225 +1.10375 +0.8675 +0.59625 +0.42374998 +0.45749998 +0.69000006 +1.00125 +1.21875 +1.22375 +1.015 +0.71375 +0.48875 +0.47 +0.65875 +0.96000004 +1.245 +1.43625 +1.5625 +1.73375 +2.0437498 +2.485 +2.9150002 +3.12625 +2.9475 +2.36625 +1.5462501 +0.76000005 +0.3125 +0.16375 +0.23875 +0.4225 +0.50750005 +0.40750003 +0.2125 +0.07875 +0.02875 +0.055 +0.15249999 +0.2825 +0.36375 +0.30749997 +0.17375 +0.0575 +0.0075 +0.0025 +0.028749999 +0.098749995 +0.16 +0.16999999 +0.11625 +0.018749999 +0.0 +0.0 +0.0 +0.03625 +0.11625001 +0.14 +0.07 +0.0 +0.0 +0.005 +0.18625 +0.78 +1.52625 +2.0874999 +2.285 +2.13875 +1.805 +1.485 +1.3025 +1.24875 +1.2225 +1.10375 +0.8675 +0.59625 +0.42374998 +0.45749998 +0.69000006 +1.00125 +1.2012501 +1.1987499 +0.96250004 +0.625 +0.36874998 +0.33000004 +0.5175 +0.8325 +1.14375 +1.3774999 +1.56625 +1.8162501 +2.2224998 +2.7562501 +3.2549999 +3.49125 +3.2975001 +2.6725 +1.8075 +0.99375004 +0.48624998 +0.36875 +0.53499997 +0.77250004 +0.88125 +0.78249997 +0.54999995 +0.32999998 +0.25125 +0.35 +0.55375 +0.74 +0.80375 +0.71125 +0.50625 +0.29 +0.15625 +0.13 +0.22 +0.39249998 +0.5425 +0.58374995 +0.4775 +0.28375 +0.1375 +0.09125 +0.12875 +0.2525 +0.4175 +0.4775 +0.345 +0.14375 +0.03125 +0.076249994 +0.43125 +1.1512499 +1.9750001 +2.58125 +2.7875 +2.59875 +2.1837502 +1.7562501 +1.4675001 +1.3199999 +1.2175 +1.04625 +0.77500004 +0.485 +0.3125 +0.36625 +0.62875 +0.96750003 +1.2012501 +1.1987499 +0.96250004 +0.625 +0.36874998 +0.33000004 +0.5175 +0.8325 +1.14375 +1.3774999 +1.56625 +1.8162501 +2.2224998 +2.7562501 +3.2549999 +3.49125 +3.2975001 +2.6725 +1.8075 +0.99375004 +0.48624998 +0.36875 +0.53499997 +0.77250004 +0.88125 +0.78249997 +0.54999995 +0.32999998 +0.25125 +0.35 +0.55375 +0.74 +0.80375 +0.71125 +0.50625 +0.29 +0.15625 +0.13 +0.22 +0.39249998 +0.5425 +0.58374995 +0.4775 +0.28375 +0.1375 +0.09125 +0.12875 +0.2525 +0.4175 +0.4775 +0.345 +0.14375 +0.03125 +0.076249994 +0.43125 +1.1512499 +1.9750001 +2.58125 +2.7875 +2.59875 +2.1837502 +1.7562501 +1.4675001 +1.3199999 +1.2175 +1.04625 +0.77500004 +0.485 +0.3125 +0.36625 +0.62875 +0.96750003 +1.235 +1.22875 +0.97625 +0.6125 +0.335 +0.27625 +0.45375 +0.765 +1.07875 +1.3225 +1.5324999 +1.81375 +2.2549999 +2.8224998 +3.345 +3.5900002 +3.3849998 +2.74375 +1.8687501 +1.05875 +0.5725 +0.49 +0.695 +0.96125 +1.0875 +0.9975 +0.77125 +0.5625 +0.49875 +0.61625 +0.83375 +1.02875 +1.08875 +0.98625 +0.77000004 +0.53999996 +0.39 +0.38125 +0.51124996 +0.72375 +0.91 +0.98125 +0.89125 +0.68 +0.45375 +0.33624998 +0.39875 +0.60125005 +0.81375 +0.87875 +0.72875 +0.44125 +0.2225 +0.30125 +0.77625 +1.5712501 +2.42875 +3.05125 +3.245 +3.0149999 +2.52875 +2.01625 +1.6375 +1.41125 +1.2437499 +1.02875 +0.7325 +0.43125004 +0.27124998 +0.34125 +0.63 +0.99125 +1.235 +1.22875 +0.97625 +0.6125 +0.335 +0.27625 +0.45375 +0.765 +1.07875 +1.3225 +1.5324999 +1.81375 +2.2549999 +2.8224998 +3.345 +3.5900002 +3.3849998 +2.74375 +1.8687501 +1.05875 +0.5725 +0.49 +0.695 +0.96125 +1.0875 +0.9975 +0.77125 +0.5625 +0.49875 +0.61625 +0.83375 +1.02875 +1.08875 +0.98625 +0.77000004 +0.53999996 +0.39 +0.38125 +0.51124996 +0.72375 +0.91 +0.98125 +0.89125 +0.68 +0.45375 +0.33624998 +0.39875 +0.60125005 +0.81375 +0.87875 +0.72875 +0.44125 +0.2225 +0.30125 +0.77625 +1.5712501 +2.42875 +3.05125 +3.245 +3.0149999 +2.52875 +2.01625 +1.6375 +1.41125 +1.2437499 +1.02875 +0.7325 +0.43125004 +0.27124998 +0.34125 +0.63 +0.99125 +1.26 +1.25125 +0.99750006 +0.6325 +0.35000002 +0.29 +0.4625 +0.7675 +1.06625 +1.28875 +1.46875 +1.7212499 +2.1287498 +2.66125 +3.1525002 +3.3725 +3.15625 +2.5149999 +1.65125 +0.8625 +0.4025 +0.34125 +0.5625 +0.84125 +0.97499996 +0.89124995 +0.6725 +0.47125 +0.41625002 +0.54 +0.76625 +0.9675 +1.04125 +0.955 +0.75749993 +0.545 +0.41625 +0.42624998 +0.5775 +0.8075 +1.0124999 +1.1012499 +1.0250001 +0.82374996 +0.60125005 +0.49 +0.5575 +0.7674999 +0.98625 +1.05875 +0.91625 +0.64125 +0.43999997 +0.53625 +1.04 +1.8562499 +2.725 +3.35 +3.53125 +3.2762501 +2.7575002 +2.2024999 +1.78125 +1.51375 +1.3137499 +1.07 +0.7575 +0.45000002 +0.285 +0.36 +0.65125 +1.0137501 +1.26 +1.25125 +0.99750006 +0.6325 +0.35000002 +0.29 +0.4625 +0.7675 +1.06625 +1.28875 +1.46875 +1.7212499 +2.1287498 +2.66125 +3.1525002 +3.3725 +3.15625 +2.5149999 +1.65125 +0.8625 +0.4025 +0.34125 +0.5625 +0.84125 +0.97499996 +0.89124995 +0.6725 +0.47125 +0.41625002 +0.54 +0.76625 +0.9675 +1.04125 +0.955 +0.75749993 +0.545 +0.41625 +0.42624998 +0.5775 +0.8075 +1.0124999 +1.1012499 +1.0250001 +0.82374996 +0.60125005 +0.49 +0.5575 +0.7674999 +0.98625 +1.05875 +0.91625 +0.64125 +0.43999997 +0.53625 +1.04 +1.8562499 +2.725 +3.35 +3.53125 +3.2762501 +2.7575002 +2.2024999 +1.78125 +1.51375 +1.3137499 +1.07 +0.7575 +0.45000002 +0.285 +0.36 +0.65125 +1.0137501 +1.2625 +1.25375 +1.01 +0.66625 +0.405 +0.36 +0.53625 +0.83000004 +1.1025001 +1.2787501 +1.39375 +1.5649998 +1.8799999 +2.32375 +2.73875 +2.9125 +2.6825 +2.05875 +1.2287501 +0.47500002 +0.1425 +0.0925 +0.22500001 +0.45874998 +0.58625 +0.505 +0.29500002 +0.17500001 +0.1375 +0.20375 +0.375 +0.58374995 +0.67875004 +0.62625 +0.47 +0.30875003 +0.22875 +0.2475 +0.38124996 +0.6075 +0.80875003 +0.89500004 +0.8225 +0.63 +0.44625 +0.35375 +0.41125 +0.635 +0.865 +0.9525 +0.83124995 +0.60875 +0.46375 +0.565 +1.09375 +1.9175 +2.78125 +3.3950002 +3.5699997 +3.315 +2.8075001 +2.2749999 +1.8687499 +1.61375 +1.4175 +1.1737499 +0.85625005 +0.54375005 +0.365 +0.42125 +0.69 +1.0325 +1.2625 +1.25375 +1.01 +0.66625 +0.405 +0.36 +0.53625 +0.83000004 +1.1025001 +1.2787501 +1.39375 +1.5649998 +1.8799999 +2.32375 +2.73875 +2.9125 +2.6825 +2.05875 +1.2287501 +0.47500002 +0.1425 +0.0925 +0.22500001 +0.45874998 +0.58625 +0.505 +0.29500002 +0.17500001 +0.1375 +0.20375 +0.375 +0.58374995 +0.67875004 +0.62625 +0.47 +0.30875003 +0.22875 +0.2475 +0.38124996 +0.6075 +0.80875003 +0.89500004 +0.8225 +0.63 +0.44625 +0.35375 +0.41125 +0.635 +0.865 +0.9525 +0.83124995 +0.60875 +0.46375 +0.565 +1.09375 +1.9175 +2.78125 +3.3950002 +3.5699997 +3.315 +2.8075001 +2.2749999 +1.8687499 +1.61375 +1.4175 +1.1737499 +0.85625005 +0.54375005 +0.365 +0.42125 +0.69 +1.0325 +1.29375 +1.2787501 +1.05125 +0.73375 +0.50374997 +0.47750002 +0.65625 +0.93375003 +1.1700001 +1.2874999 +1.3237499 +1.38625 +1.5825001 +1.9100001 +2.2375002 +2.365 +2.14 +1.55875 +0.78625 +0.18125 +0.02 +0.0 +0.015 +0.09125 +0.16125 +0.12125 +0.037499998 +0.0 +0.0 +0.0 +0.0475 +0.14625 +0.21625 +0.20875 +0.145 +0.0775 +0.0425 +0.052500002 +0.135 +0.285 +0.44000003 +0.505 +0.45000002 +0.30875 +0.17750001 +0.12375 +0.1875 +0.35250002 +0.55875 +0.6625 +0.59749997 +0.435 +0.3475 +0.47125 +0.98125005 +1.79125 +2.62125 +3.1975 +3.3600001 +3.1262498 +2.6725 +2.215 +1.88375 +1.68875 +1.5375 +1.3199999 +1.0174999 +0.70625 +0.52 +0.55125 +0.78624994 +1.09 +1.29375 +1.2787501 +1.05125 +0.73375 +0.50374997 +0.47750002 +0.65625 +0.93375003 +1.1700001 +1.2874999 +1.3237499 +1.38625 +1.5825001 +1.9100001 +2.2375002 +2.365 +2.14 +1.55875 +0.78625 +0.18125 +0.02 +0.0 +0.015 +0.09125 +0.16125 +0.12125 +0.037499998 +0.0 +0.0 +0.0 +0.0475 +0.14625 +0.21625 +0.20875 +0.145 +0.0775 +0.0425 +0.052500002 +0.135 +0.285 +0.44000003 +0.505 +0.45000002 +0.30875 +0.17750001 +0.12375 +0.1875 +0.35250002 +0.55875 +0.6625 +0.59749997 +0.435 +0.3475 +0.47125 +0.98125005 +1.79125 +2.62125 +3.1975 +3.3600001 +3.1262498 +2.6725 +2.215 +1.88375 +1.68875 +1.5375 +1.3199999 +1.0174999 +0.70625 +0.52 +0.55125 +0.78624994 +1.09 +1.41375 +1.38625 +1.165 +0.8675 +0.65250003 +0.62625 +0.79 +1.0375 +1.2325001 +1.29375 +1.2525 +1.2199999 +1.3062501 +1.5287501 +1.78625 +1.8924999 +1.7037501 +1.2025 +0.52625 +0.0675 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.00125 +0.0 +0.0 +0.0 +0.0075 +0.07375 +0.16625 +0.19500001 +0.14375 +0.07875 +0.028749999 +0.0025 +0.0175 +0.13000001 +0.29999998 +0.40875 +0.36625 +0.25875 +0.2175 +0.35250002 +0.82625 +1.5812501 +2.33 +2.8362503 +2.97 +2.76375 +2.3912501 +2.0387502 +1.82 +1.72125 +1.6399999 +1.4762499 +1.20875 +0.9250001 +0.75 +0.7699999 +0.9725 +1.2387499 +1.41375 +1.38625 +1.165 +0.8675 +0.65250003 +0.62625 +0.79 +1.0375 +1.2325001 +1.29375 +1.2525 +1.2199999 +1.3062501 +1.5287501 +1.78625 +1.8924999 +1.7037501 +1.2025 +0.52625 +0.0675 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.00125 +0.0 +0.0 +0.0 +0.0075 +0.07375 +0.16625 +0.19500001 +0.14375 +0.07875 +0.028749999 +0.0025 +0.0175 +0.13000001 +0.29999998 +0.40875 +0.36625 +0.25875 +0.2175 +0.35250002 +0.82625 +1.5812501 +2.33 +2.8362503 +2.97 +2.76375 +2.3912501 +2.0387502 +1.82 +1.72125 +1.6399999 +1.4762499 +1.20875 +0.9250001 +0.75 +0.7699999 +0.9725 +1.2387499 +1.6275 +1.58 +1.35 +1.04875 +0.82 +0.76875 +0.8950001 +1.09875 +1.25 +1.27 +1.17625 +1.0775 +1.08875 +1.245 +1.4637501 +1.5862501 +1.46875 +1.08 +0.53125 +0.10875 +0.0 +0.0 +0.0175 +0.07 +0.091249995 +0.04375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0175 +0.04 +0.035 +0.0175 +0.01 +0.01375 +0.0375 +0.07625 +0.10625001 +0.09375 +0.03875 +0.00875 +0.0 +0.0 +0.0 +0.056250002 +0.21249999 +0.31625 +0.26749998 +0.185 +0.16125 +0.28 +0.72124994 +1.37625 +2.005 +2.40625 +2.48625 +2.30375 +2.0149999 +1.7825 +1.68875 +1.69625 +1.6949999 +1.59625 +1.3900001 +1.155 +1.01625 +1.05125 +1.2412499 +1.48125 +1.6275 +1.58 +1.35 +1.04875 +0.82 +0.76875 +0.8950001 +1.09875 +1.25 +1.27 +1.17625 +1.0775 +1.08875 +1.245 +1.4637501 +1.5862501 +1.46875 +1.08 +0.53125 +0.10875 +0.0 +0.0 +0.0175 +0.07 +0.091249995 +0.04375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0175 +0.04 +0.035 +0.0175 +0.01 +0.01375 +0.0375 +0.07625 +0.10625001 +0.09375 +0.03875 +0.00875 +0.0 +0.0 +0.0 +0.056250002 +0.21249999 +0.31625 +0.26749998 +0.185 +0.16125 +0.28 +0.72124994 +1.37625 +2.005 +2.40625 +2.48625 +2.30375 +2.0149999 +1.7825 +1.68875 +1.69625 +1.6949999 +1.59625 +1.3900001 +1.155 +1.01625 +1.05125 +1.2412499 +1.48125 +1.8749999 +1.8 +1.54625 +1.2149999 +0.95 +0.85 +0.91999996 +1.07375 +1.185 +1.17875 +1.06375 +0.94 +0.92 +1.0475 +1.2637501 +1.4275 +1.3987501 +1.13125 +0.70375 +0.315 +0.1175 +0.10375 +0.21125 +0.36250004 +0.42249998 +0.32375002 +0.14750001 +0.02875 +0.0 +0.00375 +0.0325 +0.1225 +0.21875001 +0.28625 +0.29125 +0.26125002 +0.24 +0.25499997 +0.30124998 +0.34625 +0.33374998 +0.2425 +0.10125001 +0.00375 +0.0 +0.0 +0.0325 +0.18249999 +0.36875 +0.44375 +0.36 +0.22374998 +0.16375 +0.2975 +0.6825 +1.21 +1.6912501 +1.9662501 +1.9837499 +1.8125 +1.60125 +1.4825 +1.505 +1.6075 +1.68125 +1.6475 +1.5062499 +1.3375 +1.255 +1.3275 +1.52875 +1.755 +1.8749999 +1.8 +1.54625 +1.2149999 +0.95 +0.85 +0.91999996 +1.07375 +1.185 +1.17875 +1.06375 +0.94 +0.92 +1.0475 +1.2637501 +1.4275 +1.3987501 +1.13125 +0.70375 +0.315 +0.1175 +0.10375 +0.21125 +0.36250004 +0.42249998 +0.32375002 +0.14750001 +0.02875 +0.0 +0.00375 +0.0325 +0.1225 +0.21875001 +0.28625 +0.29125 +0.26125002 +0.24 +0.25499997 +0.30124998 +0.34625 +0.33374998 +0.2425 +0.10125001 +0.00375 +0.0 +0.0 +0.0325 +0.18249999 +0.36875 +0.44375 +0.36 +0.22374998 +0.16375 +0.2975 +0.6825 +1.21 +1.6912501 +1.9662501 +1.9837499 +1.8125 +1.60125 +1.4825 +1.505 +1.6075 +1.68125 +1.6475 +1.5062499 +1.3375 +1.255 +1.3275 +1.52875 +1.755 +2.0525 +1.9449999 +1.6575 +1.2875 +0.97375 +0.815 +0.82875 +0.935 +1.0187501 +1.005 +0.895 +0.77500004 +0.75250006 +0.8775 +1.10375 +1.30875 +1.3575001 +1.1912501 +0.87624997 +0.55875 +0.38375002 +0.41375 +0.59375 +0.78499997 +0.84874994 +0.7375 +0.49374998 +0.255 +0.12875 +0.12375 +0.25 +0.45125002 +0.62624997 +0.725 +0.745 +0.725 +0.71124995 +0.72625 +0.75749993 +0.765 +0.70124996 +0.54625 +0.32625002 +0.1375 +0.06 +0.083749995 +0.22000001 +0.445 +0.625 +0.655 +0.53124994 +0.34874997 +0.2525 +0.34999996 +0.64875 +1.0487499 +1.39 +1.5474999 +1.50625 +1.34875 +1.2062501 +1.1850001 +1.2975 +1.46875 +1.59375 +1.6075 +1.5225 +1.42 +1.4012499 +1.51875 +1.73875 +1.9574999 +2.0525 +1.9449999 +1.6575 +1.2875 +0.97375 +0.815 +0.82875 +0.935 +1.0187501 +1.005 +0.895 +0.77500004 +0.75250006 +0.8775 +1.10375 +1.30875 +1.3575001 +1.1912501 +0.87624997 +0.55875 +0.38375002 +0.41375 +0.59375 +0.78499997 +0.84874994 +0.7375 +0.49374998 +0.255 +0.12875 +0.12375 +0.25 +0.45125002 +0.62624997 +0.725 +0.745 +0.725 +0.71124995 +0.72625 +0.75749993 +0.765 +0.70124996 +0.54625 +0.32625002 +0.1375 +0.06 +0.083749995 +0.22000001 +0.445 +0.625 +0.655 +0.53124994 +0.34874997 +0.2525 +0.34999996 +0.64875 +1.0487499 +1.39 +1.5474999 +1.50625 +1.34875 +1.2062501 +1.1850001 +1.2975 +1.46875 +1.59375 +1.6075 +1.5225 +1.42 +1.4012499 +1.51875 +1.73875 +1.9574999 +2.0800002 +1.9375001 +1.6125001 +1.21 +0.85875 +0.65875 +0.62625 +0.69625 +0.765 +0.7525 +0.65999997 +0.55875003 +0.545 +0.66999996 +0.89874995 +1.11625 +1.2025001 +1.0962499 +0.85375005 +0.60875 +0.49249998 +0.56374997 +0.77500004 +0.99 +1.0762501 +0.97875 +0.75 +0.5025 +0.35875 +0.37750003 +0.5325 +0.7475 +0.93375003 +1.04125 +1.07125 +1.06125 +1.05625 +1.07625 +1.10375 +1.0925 +0.995 +0.8025 +0.5525 +0.32874998 +0.2175 +0.26875 +0.45499998 +0.67249995 +0.80875 +0.78249997 +0.6075 +0.3875 +0.2625 +0.31875002 +0.55 +0.85124993 +1.08625 +1.16375 +1.08875 +0.95 +0.8725 +0.9250001 +1.0975001 +1.3062501 +1.4525 +1.48625 +1.43625 +1.385 +1.4187499 +1.57625 +1.8099998 +2.0162501 +2.0800002 +1.9375001 +1.6125001 +1.21 +0.85875 +0.65875 +0.62625 +0.69625 +0.765 +0.7525 +0.65999997 +0.55875003 +0.545 +0.66999996 +0.89874995 +1.11625 +1.2025001 +1.0962499 +0.85375005 +0.60875 +0.49249998 +0.56374997 +0.77500004 +0.99 +1.0762501 +0.97875 +0.75 +0.5025 +0.35875 +0.37750003 +0.5325 +0.7475 +0.93375003 +1.04125 +1.07125 +1.06125 +1.05625 +1.07625 +1.10375 +1.0925 +0.995 +0.8025 +0.5525 +0.32874998 +0.2175 +0.26875 +0.45499998 +0.67249995 +0.80875 +0.78249997 +0.6075 +0.3875 +0.2625 +0.31875002 +0.55 +0.85124993 +1.08625 +1.16375 +1.08875 +0.95 +0.8725 +0.9250001 +1.0975001 +1.3062501 +1.4525 +1.48625 +1.43625 +1.385 +1.4187499 +1.57625 +1.8099998 +2.0162501 +1.9599999 +1.7837499 +1.43125 +1.0075 +0.64 +0.4225 +0.36499998 +0.40875 +0.46875 +0.4625 +0.38625 +0.2975 +0.29125 +0.40750003 +0.61375004 +0.8125 +0.89125 +0.79625 +0.58250004 +0.37875003 +0.3075 +0.40625 +0.64375 +0.8825 +0.99375 +0.92375 +0.72 +0.495 +0.37 +0.40624997 +0.57500005 +0.80125 +0.99625003 +1.10875 +1.14625 +1.14625 +1.1537501 +1.185 +1.21625 +1.1912501 +1.0725 +0.85749996 +0.5925 +0.3675 +0.27125 +0.33749998 +0.5225 +0.71874994 +0.80875 +0.73 +0.515 +0.27125 +0.1425 +0.18125 +0.37 +0.62 +0.8025 +0.8425 +0.76125 +0.65375 +0.62750006 +0.73 +0.93375003 +1.1500001 +1.29125 +1.325 +1.2925 +1.27125 +1.34125 +1.52 +1.75125 +1.93375 +1.9599999 +1.7837499 +1.43125 +1.0075 +0.64 +0.4225 +0.36499998 +0.40875 +0.46875 +0.4625 +0.38625 +0.2975 +0.29125 +0.40750003 +0.61375004 +0.8125 +0.89125 +0.79625 +0.58250004 +0.37875003 +0.3075 +0.40625 +0.64375 +0.8825 +0.99375 +0.92375 +0.72 +0.495 +0.37 +0.40624997 +0.57500005 +0.80125 +0.99625003 +1.10875 +1.14625 +1.14625 +1.1537501 +1.185 +1.21625 +1.1912501 +1.0725 +0.85749996 +0.5925 +0.3675 +0.27125 +0.33749998 +0.5225 +0.71874994 +0.80875 +0.73 +0.515 +0.27125 +0.1425 +0.18125 +0.37 +0.62 +0.8025 +0.8425 +0.76125 +0.65375 +0.62750006 +0.73 +0.93375003 +1.1500001 +1.29125 +1.325 +1.2925 +1.27125 +1.34125 +1.52 +1.75125 +1.93375 +1.79 +1.5787501 +1.20875 +0.78124994 +0.41625 +0.21499999 +0.15249999 +0.17375 +0.20875 +0.19999999 +0.13375 +0.073750004 +0.06875 +0.1475 +0.30124998 +0.45625 +0.4975 +0.38500005 +0.215 +0.1075 +0.07375 +0.14 +0.31625003 +0.56374997 +0.69250005 +0.64624995 +0.46625 +0.2725 +0.1925 +0.235 +0.41250002 +0.645 +0.84499997 +0.965 +1.01125 +1.02625 +1.0487499 +1.0875 +1.1175 +1.0825001 +0.94375 +0.71250004 +0.44375002 +0.23249999 +0.16875 +0.23125002 +0.41500002 +0.59124994 +0.64875 +0.53749996 +0.3025 +0.113749996 +0.041249998 +0.08375 +0.22 +0.41875 +0.58500004 +0.62249994 +0.55625 +0.48375 +0.49499997 +0.62125 +0.82874995 +1.03125 +1.155 +1.18 +1.155 +1.1550001 +1.2475001 +1.4375001 +1.65375 +1.8025 +1.79 +1.5787501 +1.20875 +0.78124994 +0.41625 +0.21499999 +0.15249999 +0.17375 +0.20875 +0.19999999 +0.13375 +0.073750004 +0.06875 +0.1475 +0.30124998 +0.45625 +0.4975 +0.38500005 +0.215 +0.1075 +0.07375 +0.14 +0.31625003 +0.56374997 +0.69250005 +0.64624995 +0.46625 +0.2725 +0.1925 +0.235 +0.41250002 +0.645 +0.84499997 +0.965 +1.01125 +1.02625 +1.0487499 +1.0875 +1.1175 +1.0825001 +0.94375 +0.71250004 +0.44375002 +0.23249999 +0.16875 +0.23125002 +0.41500002 +0.59124994 +0.64875 +0.53749996 +0.3025 +0.113749996 +0.041249998 +0.08375 +0.22 +0.41875 +0.58500004 +0.62249994 +0.55625 +0.48375 +0.49499997 +0.62125 +0.82874995 +1.03125 +1.155 +1.18 +1.155 +1.1550001 +1.2475001 +1.4375001 +1.65375 +1.8025 +1.6912498 +1.4499999 +1.0675 +0.645 +0.2875 +0.11 +0.06375 +0.066250004 +0.06875 +0.046249997 +0.0125 +0.0 +0.0 +0.01375 +0.089999996 +0.17625 +0.1725 +0.095 +0.025 +0.0 +0.0 +0.0 +0.087500006 +0.24875 +0.36875 +0.3275 +0.1825 +0.07625 +0.035 +0.081250004 +0.215 +0.4325 +0.63874996 +0.76874995 +0.83124995 +0.86500007 +0.90250003 +0.94624996 +0.965 +0.90999997 +0.75374997 +0.50750005 +0.24875 +0.10125 +0.066250004 +0.13375 +0.26624998 +0.4175 +0.46125 +0.34375 +0.16624999 +0.0575 +0.026250001 +0.06375 +0.17750001 +0.34125 +0.48624998 +0.53375 +0.495 +0.45624998 +0.48499998 +0.6 +0.78125 +0.96125 +1.06625 +1.09125 +1.085 +1.1150001 +1.2312499 +1.42625 +1.6274999 +1.7412499 +1.6912498 +1.4499999 +1.0675 +0.645 +0.2875 +0.11 +0.06375 +0.066250004 +0.06875 +0.046249997 +0.0125 +0.0 +0.0 +0.01375 +0.089999996 +0.17625 +0.1725 +0.095 +0.025 +0.0 +0.0 +0.0 +0.087500006 +0.24875 +0.36875 +0.3275 +0.1825 +0.07625 +0.035 +0.081250004 +0.215 +0.4325 +0.63874996 +0.76874995 +0.83124995 +0.86500007 +0.90250003 +0.94624996 +0.965 +0.90999997 +0.75374997 +0.50750005 +0.24875 +0.10125 +0.066250004 +0.13375 +0.26624998 +0.4175 +0.46125 +0.34375 +0.16624999 +0.0575 +0.026250001 +0.06375 +0.17750001 +0.34125 +0.48624998 +0.53375 +0.495 +0.45624998 +0.48499998 +0.6 +0.78125 +0.96125 +1.06625 +1.09125 +1.085 +1.1150001 +1.2312499 +1.42625 +1.6274999 +1.7412499 +1.73875 +1.4762499 +1.08875 +0.67125 +0.3175 +0.11625 +0.05625 +0.0425 +0.0325 +0.01875 +0.0 +0.0 +0.0 +0.01 +0.042499997 +0.0725 +0.06125 +0.01625 +0.0 +0.0 +0.0 +0.0 +0.04375 +0.12625 +0.19625 +0.15 +0.0625 +0.01375 +0.0 +0.03125 +0.13 +0.3225 +0.5325 +0.67999995 +0.76750004 +0.83000004 +0.88500005 +0.92625 +0.92625 +0.84375006 +0.66125005 +0.40500003 +0.17500001 +0.0725 +0.060000002 +0.10625 +0.21000001 +0.33625 +0.37375 +0.28375 +0.15375 +0.087500006 +0.0675 +0.1125 +0.21374999 +0.36749998 +0.51374996 +0.56375 +0.54125 +0.50874996 +0.53249997 +0.63 +0.775 +0.93 +1.03125 +1.0775 +1.1075001 +1.1825 +1.3349999 +1.5450001 +1.7362499 +1.8237499 +1.73875 +1.4762499 +1.08875 +0.67125 +0.3175 +0.11625 +0.05625 +0.0425 +0.0325 +0.01875 +0.0 +0.0 +0.0 +0.01 +0.042499997 +0.0725 +0.06125 +0.01625 +0.0 +0.0 +0.0 +0.0 +0.04375 +0.12625 +0.19625 +0.15 +0.0625 +0.01375 +0.0 +0.03125 +0.13 +0.3225 +0.5325 +0.67999995 +0.76750004 +0.83000004 +0.88500005 +0.92625 +0.92625 +0.84375006 +0.66125005 +0.40500003 +0.17500001 +0.0725 +0.060000002 +0.10625 +0.21000001 +0.33625 +0.37375 +0.28375 +0.15375 +0.087500006 +0.0675 +0.1125 +0.21374999 +0.36749998 +0.51374996 +0.56375 +0.54125 +0.50874996 +0.53249997 +0.63 +0.775 +0.93 +1.03125 +1.0775 +1.1075001 +1.1825 +1.3349999 +1.5450001 +1.7362499 +1.8237499 +1.9125001 +1.64 +1.255 +0.845 +0.49374998 +0.2475 +0.1225 +0.072500005 +0.03875 +0.01625 +0.0 +0.00875 +0.02375 +0.052500002 +0.09499999 +0.1325 +0.1075 +0.04875 +0.01375 +0.01125 +0.02375 +0.045 +0.095 +0.1875 +0.22874999 +0.1675 +0.072500005 +0.0275 +0.02 +0.05625 +0.15874998 +0.3775 +0.5975 +0.77 +0.89750004 +0.9925 +1.06375 +1.1025 +1.0775 +0.96250004 +0.7575 +0.49374998 +0.25625002 +0.14 +0.12 +0.16125 +0.26625 +0.38625002 +0.43249997 +0.35375 +0.23875 +0.1625 +0.14625001 +0.18625 +0.2825 +0.44 +0.57875 +0.64000005 +0.615 +0.58 +0.58750004 +0.65999997 +0.77625 +0.91375 +1.0287501 +1.11125 +1.19875 +1.33 +1.5262499 +1.755 +1.9449999 +2.01625 +1.9125001 +1.64 +1.255 +0.845 +0.49374998 +0.2475 +0.1225 +0.072500005 +0.03875 +0.01625 +0.0 +0.00875 +0.02375 +0.052500002 +0.09499999 +0.1325 +0.1075 +0.04875 +0.01375 +0.01125 +0.02375 +0.045 +0.095 +0.1875 +0.22874999 +0.1675 +0.072500005 +0.0275 +0.02 +0.05625 +0.15874998 +0.3775 +0.5975 +0.77 +0.89750004 +0.9925 +1.06375 +1.1025 +1.0775 +0.96250004 +0.7575 +0.49374998 +0.25625002 +0.14 +0.12 +0.16125 +0.26625 +0.38625002 +0.43249997 +0.35375 +0.23875 +0.1625 +0.14625001 +0.18625 +0.2825 +0.44 +0.57875 +0.64000005 +0.615 +0.58 +0.58750004 +0.65999997 +0.77625 +0.91375 +1.0287501 +1.11125 +1.19875 +1.33 +1.5262499 +1.755 +1.9449999 +2.01625 +2.10625 +1.84 +1.47 +1.07625 +0.73 +0.47125 +0.29500002 +0.1775 +0.1 +0.04875 +0.0325 +0.04875 +0.089999996 +0.1575 +0.23500001 +0.265 +0.22125 +0.14625001 +0.09375 +0.08 +0.105000004 +0.16749999 +0.27875 +0.37375 +0.37124997 +0.275 +0.1575 +0.09 +0.083749995 +0.16 +0.32999998 +0.56125 +0.79125 +0.99625003 +1.16625 +1.2975 +1.3862499 +1.41625 +1.365 +1.2225 +1.00125 +0.73999995 +0.49125004 +0.32375002 +0.26125 +0.30124998 +0.40999997 +0.52 +0.5625 +0.50125 +0.36874998 +0.255 +0.2125 +0.23500001 +0.32125002 +0.46875 +0.6025 +0.6687499 +0.6575 +0.61625004 +0.605 +0.65250003 +0.75124997 +0.885 +1.02 +1.1487501 +1.29625 +1.4849999 +1.7162501 +1.9624999 +2.15125 +2.2125 +2.10625 +1.84 +1.47 +1.07625 +0.73 +0.47125 +0.29500002 +0.1775 +0.1 +0.04875 +0.0325 +0.04875 +0.089999996 +0.1575 +0.23500001 +0.265 +0.22125 +0.14625001 +0.09375 +0.08 +0.105000004 +0.16749999 +0.27875 +0.37375 +0.37124997 +0.275 +0.1575 +0.09 +0.083749995 +0.16 +0.32999998 +0.56125 +0.79125 +0.99625003 +1.16625 +1.2975 +1.3862499 +1.41625 +1.365 +1.2225 +1.00125 +0.73999995 +0.49125004 +0.32375002 +0.26125 +0.30124998 +0.40999997 +0.52 +0.5625 +0.50125 +0.36874998 +0.255 +0.2125 +0.23500001 +0.32125002 +0.46875 +0.6025 +0.6687499 +0.6575 +0.61625004 +0.605 +0.65250003 +0.75124997 +0.885 +1.02 +1.1487501 +1.29625 +1.4849999 +1.7162501 +1.9624999 +2.15125 +2.2125 +2.2050002 +1.9612501 +1.6237501 +1.2637501 +0.9387501 +0.67625 +0.47875 +0.3275 +0.21000001 +0.14125 +0.125 +0.155 +0.225 +0.315 +0.37875 +0.37375 +0.305 +0.21875 +0.17375 +0.17999999 +0.23875001 +0.355 +0.47375 +0.5225 +0.48124996 +0.37875003 +0.26749998 +0.20875 +0.23874998 +0.35875 +0.54875004 +0.77625 +1.0162501 +1.2475 +1.4575 +1.62 +1.7199998 +1.7375 +1.6599998 +1.4949999 +1.2674999 +1.015 +0.77750003 +0.6 +0.50374997 +0.49624997 +0.55 +0.61625 +0.64 +0.58875 +0.46375003 +0.315 +0.22125 +0.215 +0.275 +0.385 +0.51 +0.59375 +0.615 +0.5975 +0.58375 +0.6125 +0.69624996 +0.82624996 +0.98 +1.1474999 +1.3387499 +1.5625 +1.81625 +2.0625 +2.24375 +2.30125 +2.2050002 +1.9612501 +1.6237501 +1.2637501 +0.9387501 +0.67625 +0.47875 +0.3275 +0.21000001 +0.14125 +0.125 +0.155 +0.225 +0.315 +0.37875 +0.37375 +0.305 +0.21875 +0.17375 +0.17999999 +0.23875001 +0.355 +0.47375 +0.5225 +0.48124996 +0.37875003 +0.26749998 +0.20875 +0.23874998 +0.35875 +0.54875004 +0.77625 +1.0162501 +1.2475 +1.4575 +1.62 +1.7199998 +1.7375 +1.6599998 +1.4949999 +1.2674999 +1.015 +0.77750003 +0.6 +0.50374997 +0.49624997 +0.55 +0.61625 +0.64 +0.58875 +0.46375003 +0.315 +0.22125 +0.215 +0.275 +0.385 +0.51 +0.59375 +0.615 +0.5975 +0.58375 +0.6125 +0.69624996 +0.82624996 +0.98 +1.1474999 +1.3387499 +1.5625 +1.81625 +2.0625 +2.24375 +2.30125 +2.1625 +1.9575001 +1.67125 +1.3587501 +1.06625 +0.81875 +0.61749995 +0.45125002 +0.3225 +0.245 +0.23 +0.27500004 +0.35 +0.41125 +0.41875 +0.35999998 +0.25875002 +0.1825 +0.16499999 +0.20125 +0.29250002 +0.41875 +0.5125 +0.53 +0.47750002 +0.39 +0.325 +0.3225 +0.39249998 +0.53375 +0.72375 +0.95000005 +1.1949999 +1.4449999 +1.6775 +1.8562499 +1.9512501 +1.9474999 +1.8425 +1.6600001 +1.4325 +1.19375 +0.96875 +0.78375006 +0.65374994 +0.5875 +0.5775 +0.59250003 +0.59499997 +0.54625 +0.43 +0.2725 +0.14625001 +0.113749996 +0.13625 +0.21375 +0.3125 +0.42875 +0.49875003 +0.52000004 +0.52125 +0.54375 +0.615 +0.73499995 +0.89874995 +1.0875 +1.3 +1.5337498 +1.7825001 +2.015 +2.1825 +2.24125 +2.1625 +1.9575001 +1.67125 +1.3587501 +1.06625 +0.81875 +0.61749995 +0.45125002 +0.3225 +0.245 +0.23 +0.27500004 +0.35 +0.41125 +0.41875 +0.35999998 +0.25875002 +0.1825 +0.16499999 +0.20125 +0.29250002 +0.41875 +0.5125 +0.53 +0.47750002 +0.39 +0.325 +0.3225 +0.39249998 +0.53375 +0.72375 +0.95000005 +1.1949999 +1.4449999 +1.6775 +1.8562499 +1.9512501 +1.9474999 +1.8425 +1.6600001 +1.4325 +1.19375 +0.96875 +0.78375006 +0.65374994 +0.5875 +0.5775 +0.59250003 +0.59499997 +0.54625 +0.43 +0.2725 +0.14625001 +0.113749996 +0.13625 +0.21375 +0.3125 +0.42875 +0.49875003 +0.52000004 +0.52125 +0.54375 +0.615 +0.73499995 +0.89874995 +1.0875 +1.3 +1.5337498 +1.7825001 +2.015 +2.1825 +2.24125 +2.0325 +1.87375 +1.64375 +1.3825 +1.12875 +0.90250003 +0.70375 +0.53625 +0.40375 +0.3275 +0.31374997 +0.35 +0.39625 +0.40750003 +0.35125 +0.22749999 +0.1125 +0.07 +0.067499995 +0.11750001 +0.2075 +0.32 +0.40749997 +0.42125005 +0.38 +0.33375 +0.32375002 +0.3775 +0.49249998 +0.65625 +0.84875 +1.0699999 +1.315 +1.5687499 +1.8025 +1.975 +2.05 +2.0125 +1.8775 +1.6775 +1.45125 +1.2262499 +1.01125 +0.82124996 +0.66375005 +0.55 +0.48875 +0.46875 +0.45625 +0.41 +0.29874998 +0.13749999 +0.05 +0.02125 +0.01875 +0.044999998 +0.1325 +0.25625002 +0.3725 +0.42874998 +0.44625002 +0.46375 +0.52374995 +0.63500005 +0.79375 +0.9837499 +1.1949999 +1.4225 +1.65 +1.86125 +2.0175 +2.08125 +2.0325 +1.87375 +1.64375 +1.3825 +1.12875 +0.90250003 +0.70375 +0.53625 +0.40375 +0.3275 +0.31374997 +0.35 +0.39625 +0.40750003 +0.35125 +0.22749999 +0.1125 +0.07 +0.067499995 +0.11750001 +0.2075 +0.32 +0.40749997 +0.42125005 +0.38 +0.33375 +0.32375002 +0.3775 +0.49249998 +0.65625 +0.84875 +1.0699999 +1.315 +1.5687499 +1.8025 +1.975 +2.05 +2.0125 +1.8775 +1.6775 +1.45125 +1.2262499 +1.01125 +0.82124996 +0.66375005 +0.55 +0.48875 +0.46875 +0.45625 +0.41 +0.29874998 +0.13749999 +0.05 +0.02125 +0.01875 +0.044999998 +0.1325 +0.25625002 +0.3725 +0.42874998 +0.44625002 +0.46375 +0.52374995 +0.63500005 +0.79375 +0.9837499 +1.1949999 +1.4225 +1.65 +1.86125 +2.0175 +2.08125 +1.92625 +1.8124999 +1.625 +1.4050001 +1.18125 +0.96875006 +0.775 +0.60375 +0.46875 +0.3825 +0.35625 +0.37375003 +0.38625002 +0.35125002 +0.24249999 +0.08625 +0.015 +0.0 +0.0 +0.0175 +0.0925 +0.18875 +0.285 +0.31 +0.29625 +0.28875 +0.33 +0.43124998 +0.5825 +0.7624999 +0.95875 +1.1750001 +1.415 +1.66 +1.8762499 +2.02 +2.06 +1.98 +1.80875 +1.5887499 +1.3612499 +1.14375 +0.93875 +0.74875003 +0.57875 +0.44374996 +0.36625 +0.33875 +0.32999998 +0.29125 +0.19 +0.049999997 +0.00375 +0.0 +0.0 +0.0 +0.0475 +0.16124998 +0.305 +0.37500003 +0.39000002 +0.3975 +0.44125 +0.53875 +0.6875 +0.86999995 +1.0725 +1.2837499 +1.49875 +1.70125 +1.85875 +1.94125 +1.92625 +1.8124999 +1.625 +1.4050001 +1.18125 +0.96875006 +0.775 +0.60375 +0.46875 +0.3825 +0.35625 +0.37375003 +0.38625002 +0.35125002 +0.24249999 +0.08625 +0.015 +0.0 +0.0 +0.0175 +0.0925 +0.18875 +0.285 +0.31 +0.29625 +0.28875 +0.33 +0.43124998 +0.5825 +0.7624999 +0.95875 +1.1750001 +1.415 +1.66 +1.8762499 +2.02 +2.06 +1.98 +1.80875 +1.5887499 +1.3612499 +1.14375 +0.93875 +0.74875003 +0.57875 +0.44374996 +0.36625 +0.33875 +0.32999998 +0.29125 +0.19 +0.049999997 +0.00375 +0.0 +0.0 +0.0 +0.0475 +0.16124998 +0.305 +0.37500003 +0.39000002 +0.3975 +0.44125 +0.53875 +0.6875 +0.86999995 +1.0725 +1.2837499 +1.49875 +1.70125 +1.85875 +1.94125 +1.97125 +1.9175 +1.775 +1.5799999 +1.37 +1.16625 +0.97375 +0.78999996 +0.61375 +0.46875 +0.37375 +0.33 +0.3175 +0.28500003 +0.1925 +0.05625 +0.0025 +0.0 +0.0 +0.0 +0.0025 +0.05625 +0.20375 +0.30375 +0.33999997 +0.35250002 +0.38875002 +0.47625 +0.61375 +0.78375 +0.96625 +1.1587499 +1.35875 +1.5625 +1.7500001 +1.8875 +1.9375001 +1.88625 +1.7487501 +1.5612499 +1.3575 +1.1574999 +0.965 +0.78249997 +0.6125 +0.475 +0.3875 +0.3525 +0.33999997 +0.30375004 +0.20375 +0.057499997 +0.0025 +0.0 +0.0 +0.0 +0.0025 +0.05625 +0.1925 +0.285 +0.3175 +0.32999998 +0.3725 +0.46875 +0.61375 +0.78875 +0.97249997 +1.16625 +1.36875 +1.5787499 +1.775 +1.91625 +1.97125 +1.9175 +1.775 +1.5799999 +1.37 +1.16625 +0.97375 +0.78999996 +0.61375 +0.46875 +0.37375 +0.33 +0.3175 +0.28500003 +0.1925 +0.05625 +0.0025 +0.0 +0.0 +0.0 +0.0025 +0.05625 +0.20375 +0.30375 +0.33999997 +0.35250002 +0.38875002 +0.47625 +0.61375 +0.78375 +0.96625 +1.1587499 +1.35875 +1.5625 +1.7500001 +1.8875 +1.9375001 +1.88625 +1.7487501 +1.5612499 +1.3575 +1.1574999 +0.965 +0.78249997 +0.6125 +0.475 +0.3875 +0.3525 +0.33999997 +0.30375004 +0.20375 +0.057499997 +0.0025 +0.0 +0.0 +0.0 +0.0025 +0.05625 +0.1925 +0.285 +0.3175 +0.32999998 +0.3725 +0.46875 +0.61375 +0.78875 +0.97249997 +1.16625 +1.36875 +1.5787499 +1.775 +1.91625 +2.06375 +2.00875 +1.84625 +1.62375 +1.38375 +1.1575 +0.9499999 +0.755 +0.5725 +0.4225 +0.32125002 +0.27875 +0.27375 +0.265 +0.2025 +0.0975 +0.0075 +0.0 +0.0 +0.0 +0.0075 +0.099999994 +0.24875 +0.34875003 +0.38125002 +0.37500003 +0.38625002 +0.44625002 +0.5575 +0.71750003 +0.9075 +1.11125 +1.3225 +1.53375 +1.72375 +1.8550001 +1.9 +1.85 +1.71875 +1.5275 +1.3175 +1.105 +0.9 +0.71375 +0.5525 +0.44125003 +0.38125 +0.37250003 +0.38125 +0.35000002 +0.25 +0.10250001 +0.00875 +0.0 +0.0 +0.0 +0.0075 +0.098749995 +0.20375 +0.265 +0.2725 +0.2775 +0.3175 +0.41750002 +0.56875 +0.74875003 +0.9425 +1.15125 +1.3787501 +1.61875 +1.84125 +2.00625 +2.06375 +2.00875 +1.84625 +1.62375 +1.38375 +1.1575 +0.9499999 +0.755 +0.5725 +0.4225 +0.32125002 +0.27875 +0.27375 +0.265 +0.2025 +0.0975 +0.0075 +0.0 +0.0 +0.0 +0.0075 +0.099999994 +0.24875 +0.34875003 +0.38125002 +0.37500003 +0.38625002 +0.44625002 +0.5575 +0.71750003 +0.9075 +1.11125 +1.3225 +1.53375 +1.72375 +1.8550001 +1.9 +1.85 +1.71875 +1.5275 +1.3175 +1.105 +0.9 +0.71375 +0.5525 +0.44125003 +0.38125 +0.37250003 +0.38125 +0.35000002 +0.25 +0.10250001 +0.00875 +0.0 +0.0 +0.0 +0.0075 +0.098749995 +0.20375 +0.265 +0.2725 +0.2775 +0.3175 +0.41750002 +0.56875 +0.74875003 +0.9425 +1.15125 +1.3787501 +1.61875 +1.84125 +2.00625 +2.1912498 +2.12125 +1.9262502 +1.6600001 +1.3774999 +1.115 +0.88625 +0.6825 +0.4975 +0.34249997 +0.23249999 +0.185 +0.19125 +0.21375 +0.20375 +0.13874999 +0.0475 +0.0 +0.0 +0.0 +0.0175 +0.11750001 +0.27249998 +0.37875 +0.405 +0.375 +0.34125 +0.3475 +0.42125002 +0.565 +0.76 +0.98375005 +1.21375 +1.435 +1.6225 +1.7425 +1.7850001 +1.7375002 +1.6112499 +1.42125 +1.2012501 +0.97 +0.7475 +0.55375 +0.41 +0.33875 +0.33375 +0.37125 +0.40375 +0.3825 +0.2775 +0.120000005 +0.0175 +0.0 +0.0 +0.0 +0.0475 +0.14 +0.205 +0.2125 +0.18499999 +0.17625 +0.21874999 +0.32625 +0.48125 +0.66499996 +0.86625 +1.09375 +1.35875 +1.645 +1.9162501 +2.1150002 +2.1912498 +2.12125 +1.9262502 +1.6600001 +1.3774999 +1.115 +0.88625 +0.6825 +0.4975 +0.34249997 +0.23249999 +0.185 +0.19125 +0.21375 +0.20375 +0.13874999 +0.0475 +0.0 +0.0 +0.0 +0.0175 +0.11750001 +0.27249998 +0.37875 +0.405 +0.375 +0.34125 +0.3475 +0.42125002 +0.565 +0.76 +0.98375005 +1.21375 +1.435 +1.6225 +1.7425 +1.7850001 +1.7375002 +1.6112499 +1.42125 +1.2012501 +0.97 +0.7475 +0.55375 +0.41 +0.33875 +0.33375 +0.37125 +0.40375 +0.3825 +0.2775 +0.120000005 +0.0175 +0.0 +0.0 +0.0 +0.0475 +0.14 +0.205 +0.2125 +0.18499999 +0.17625 +0.21874999 +0.32625 +0.48125 +0.66499996 +0.86625 +1.09375 +1.35875 +1.645 +1.9162501 +2.1150002 +2.23875 +2.15875 +1.9337502 +1.62375 +1.2975 +1.01125 +0.77625 +0.57875 +0.40624997 +0.25 +0.13250001 +0.08 +0.085 +0.1275 +0.16875 +0.155 +0.07875 +0.01 +0.0 +0.0 +0.01375 +0.06625 +0.19624999 +0.31625 +0.34625 +0.295 +0.21124999 +0.16125001 +0.18875 +0.3125 +0.51250005 +0.75750005 +1.00875 +1.2325 +1.40625 +1.51125 +1.5462499 +1.5049999 +1.39125 +1.2125001 +0.9875001 +0.73875 +0.49625 +0.29500002 +0.175 +0.15125 +0.2025 +0.28875 +0.3425 +0.31625 +0.19749999 +0.068749994 +0.015 +0.0 +0.0 +0.01 +0.07375 +0.14875 +0.16125001 +0.115 +0.07125 +0.06375 +0.103750005 +0.21624999 +0.36874998 +0.54 +0.73625004 +0.97124994 +1.26125 +1.59125 +1.91 +2.14625 +2.23875 +2.15875 +1.9337502 +1.62375 +1.2975 +1.01125 +0.77625 +0.57875 +0.40624997 +0.25 +0.13250001 +0.08 +0.085 +0.1275 +0.16875 +0.155 +0.07875 +0.01 +0.0 +0.0 +0.01375 +0.06625 +0.19624999 +0.31625 +0.34625 +0.295 +0.21124999 +0.16125001 +0.18875 +0.3125 +0.51250005 +0.75750005 +1.00875 +1.2325 +1.40625 +1.51125 +1.5462499 +1.5049999 +1.39125 +1.2125001 +0.9875001 +0.73875 +0.49625 +0.29500002 +0.175 +0.15125 +0.2025 +0.28875 +0.3425 +0.31625 +0.19749999 +0.068749994 +0.015 +0.0 +0.0 +0.01 +0.07375 +0.14875 +0.16125001 +0.115 +0.07125 +0.06375 +0.103750005 +0.21624999 +0.36874998 +0.54 +0.73625004 +0.97124994 +1.26125 +1.59125 +1.91 +2.14625 +2.1562502 +2.0725 +1.8225001 +1.4812499 +1.135 +0.84625 +0.63124996 +0.46749997 +0.32375002 +0.18125 +0.065 +0.018749999 +0.01625 +0.04375 +0.09125 +0.11125 +0.057499997 +0.01375 +0.0 +0.0 +0.0 +0.01625 +0.06999999 +0.15499999 +0.20375001 +0.1425 +0.06375 +0.021249998 +0.02375 +0.08624999 +0.21499999 +0.47500002 +0.7375 +0.95375 +1.105 +1.18875 +1.21125 +1.18 +1.0887499 +0.93125 +0.71375 +0.45250002 +0.195 +0.07375 +0.015 +0.015 +0.0575 +0.1325 +0.195 +0.14750001 +0.068749994 +0.01625 +0.0 +0.0 +0.0 +0.01 +0.043749996 +0.089999996 +0.066250004 +0.028749999 +0.005 +0.00625 +0.03 +0.12375 +0.26125002 +0.4025 +0.56625 +0.78249997 +1.0775 +1.4325 +1.785 +2.05 +2.1562502 +2.0725 +1.8225001 +1.4812499 +1.135 +0.84625 +0.63124996 +0.46749997 +0.32375002 +0.18125 +0.065 +0.018749999 +0.01625 +0.04375 +0.09125 +0.11125 +0.057499997 +0.01375 +0.0 +0.0 +0.0 +0.01625 +0.06999999 +0.15499999 +0.20375001 +0.1425 +0.06375 +0.021249998 +0.02375 +0.08624999 +0.21499999 +0.47500002 +0.7375 +0.95375 +1.105 +1.18875 +1.21125 +1.18 +1.0887499 +0.93125 +0.71375 +0.45250002 +0.195 +0.07375 +0.015 +0.015 +0.0575 +0.1325 +0.195 +0.14750001 +0.068749994 +0.01625 +0.0 +0.0 +0.0 +0.01 +0.043749996 +0.089999996 +0.066250004 +0.028749999 +0.005 +0.00625 +0.03 +0.12375 +0.26125002 +0.4025 +0.56625 +0.78249997 +1.0775 +1.4325 +1.785 +2.05 +1.9875 +1.9012499 +1.63625 +1.2825 +0.93499994 +0.66875005 +0.49625003 +0.385 +0.28499997 +0.17125 +0.05625 +0.01 +0.0 +0.0025 +0.0275 +0.04875 +0.0275 +0.0075 +0.0 +0.0 +0.0 +0.0 +0.00625 +0.0325 +0.063750006 +0.035 +0.01 +0.0 +0.0 +0.00375 +0.05375 +0.24624999 +0.50624996 +0.70375 +0.82374996 +0.8775 +0.89000005 +0.86749995 +0.80499995 +0.6825 +0.485 +0.22625 +0.044999998 +0.00125 +0.0 +0.0 +0.00625 +0.0275 +0.04875 +0.0275 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.01 +0.015000001 +0.0062499996 +0.0 +0.0 +0.0 +0.01625 +0.09625 +0.195 +0.29125 +0.40375 +0.58 +0.85499996 +1.21625 +1.58875 +1.8749998 +1.9875 +1.9012499 +1.63625 +1.2825 +0.93499994 +0.66875005 +0.49625003 +0.385 +0.28499997 +0.17125 +0.05625 +0.01 +0.0 +0.0025 +0.0275 +0.04875 +0.0275 +0.0075 +0.0 +0.0 +0.0 +0.0 +0.00625 +0.0325 +0.063750006 +0.035 +0.01 +0.0 +0.0 +0.00375 +0.05375 +0.24624999 +0.50624996 +0.70375 +0.82374996 +0.8775 +0.89000005 +0.86749995 +0.80499995 +0.6825 +0.485 +0.22625 +0.044999998 +0.00125 +0.0 +0.0 +0.00625 +0.0275 +0.04875 +0.0275 +0.00625 +0.0 +0.0 +0.0 +0.0 +0.00125 +0.01 +0.015000001 +0.0062499996 +0.0 +0.0 +0.0 +0.01625 +0.09625 +0.195 +0.29125 +0.40375 +0.58 +0.85499996 +1.21625 +1.58875 +1.8749998 +1.8462499 +1.7524998 +1.4799999 +1.1225 +0.78625005 +0.5525 +0.42874998 +0.37374997 +0.32125 +0.2275 +0.1075 +0.02375 +0.0 +0.0 +0.015 +0.04625 +0.026250001 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0075 +0.07125001 +0.04875 +0.0 +0.0 +0.0 +0.0 +0.02125 +0.2 +0.43375 +0.60249996 +0.68625 +0.71250004 +0.71125 +0.7024999 +0.67 +0.5825 +0.415 +0.185 +0.01875 +0.0 +0.0 +0.0 +0.0 +0.03875 +0.0575 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0125 +0.0 +0.0 +0.0 +0.0 +0.04125 +0.1325 +0.205 +0.2525 +0.30874997 +0.44 +0.68999994 +1.04625 +1.42625 +1.72375 +1.8462499 +1.7524998 +1.4799999 +1.1225 +0.78625005 +0.5525 +0.42874998 +0.37374997 +0.32125 +0.2275 +0.1075 +0.02375 +0.0 +0.0 +0.015 +0.04625 +0.026250001 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0075 +0.07125001 +0.04875 +0.0 +0.0 +0.0 +0.0 +0.02125 +0.2 +0.43375 +0.60249996 +0.68625 +0.71250004 +0.71125 +0.7024999 +0.67 +0.5825 +0.415 +0.185 +0.01875 +0.0 +0.0 +0.0 +0.0 +0.03875 +0.0575 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0125 +0.0 +0.0 +0.0 +0.0 +0.04125 +0.1325 +0.205 +0.2525 +0.30874997 +0.44 +0.68999994 +1.04625 +1.42625 +1.72375 +1.8287499 +1.73 +1.4512501 +1.0899999 +0.765 +0.555 +0.4725 +0.46249998 +0.445 +0.35875 +0.22 +0.088750005 +0.02 +0.02 +0.083749995 +0.14500001 +0.13125 +0.042499997 +0.0 +0.0 +0.0 +0.0 +0.00875 +0.155 +0.25375 +0.22500002 +0.106249996 +0.0 +0.0 +0.0 +0.114999995 +0.33374998 +0.56250006 +0.70625 +0.7612499 +0.76 +0.75125 +0.75125 +0.74499995 +0.6875 +0.54249996 +0.31875 +0.10875 +0.0 +0.0 +0.00125 +0.103750005 +0.215 +0.23625 +0.14125 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.030000001 +0.1025 +0.10250001 +0.05 +0.005 +0.0 +0.03375 +0.1325 +0.2425 +0.31 +0.32250002 +0.335 +0.42749998 +0.65875006 +1.00875 +1.395 +1.7037499 +1.8287499 +1.73 +1.4512501 +1.0899999 +0.765 +0.555 +0.4725 +0.46249998 +0.445 +0.35875 +0.22 +0.088750005 +0.02 +0.02 +0.083749995 +0.14500001 +0.13125 +0.042499997 +0.0 +0.0 +0.0 +0.0 +0.00875 +0.155 +0.25375 +0.22500002 +0.106249996 +0.0 +0.0 +0.0 +0.114999995 +0.33374998 +0.56250006 +0.70625 +0.7612499 +0.76 +0.75125 +0.75125 +0.74499995 +0.6875 +0.54249996 +0.31875 +0.10875 +0.0 +0.0 +0.00125 +0.103750005 +0.215 +0.23625 +0.14125 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.030000001 +0.1025 +0.10250001 +0.05 +0.005 +0.0 +0.03375 +0.1325 +0.2425 +0.31 +0.32250002 +0.335 +0.42749998 +0.65875006 +1.00875 +1.395 +1.7037499 +1.9587501 +1.8549999 +1.5675 +1.2025 +0.88125 +0.68999994 +0.63374996 +0.64625 +0.63875 +0.54875 +0.38875002 +0.22125 +0.135 +0.16125 +0.27249998 +0.37375 +0.36499998 +0.24000001 +0.0875 +0.0 +0.0 +0.04625 +0.22250001 +0.45125 +0.58 +0.52625 +0.34125 +0.155 +0.08125 +0.14125001 +0.33249998 +0.5925 +0.81499994 +0.94124997 +0.97625 +0.96 +0.94375 +0.95124996 +0.96375 +0.92375004 +0.7962499 +0.57375 +0.32 +0.1375 +0.08499999 +0.16375001 +0.3525 +0.5325 +0.5775 +0.43874997 +0.2125 +0.044999998 +0.0 +0.0025 +0.09499999 +0.24 +0.35124996 +0.3425 +0.22749999 +0.11375001 +0.085 +0.1525 +0.2925 +0.43125 +0.49999997 +0.49624997 +0.48624998 +0.55749995 +0.77375007 +1.1225 +1.51625 +1.83125 +1.9587501 +1.8549999 +1.5675 +1.2025 +0.88125 +0.68999994 +0.63374996 +0.64625 +0.63875 +0.54875 +0.38875002 +0.22125 +0.135 +0.16125 +0.27249998 +0.37375 +0.36499998 +0.24000001 +0.0875 +0.0 +0.0 +0.04625 +0.22250001 +0.45125 +0.58 +0.52625 +0.34125 +0.155 +0.08125 +0.14125001 +0.33249998 +0.5925 +0.81499994 +0.94124997 +0.97625 +0.96 +0.94375 +0.95124996 +0.96375 +0.92375004 +0.7962499 +0.57375 +0.32 +0.1375 +0.08499999 +0.16375001 +0.3525 +0.5325 +0.5775 +0.43874997 +0.2125 +0.044999998 +0.0 +0.0025 +0.09499999 +0.24 +0.35124996 +0.3425 +0.22749999 +0.11375001 +0.085 +0.1525 +0.2925 +0.43125 +0.49999997 +0.49624997 +0.48624998 +0.55749995 +0.77375007 +1.1225 +1.51625 +1.83125 +2.1525 +2.0437498 +1.7462499 +1.3824999 +1.07 +0.89874995 +0.86 +0.88125 +0.86875 +0.765 +0.5875 +0.41249996 +0.335 +0.39249998 +0.54249996 +0.675 +0.68625 +0.54125 +0.3125 +0.13625002 +0.11 +0.24875 +0.51 +0.76124996 +0.865 +0.78 +0.57124996 +0.3575 +0.26250002 +0.33625 +0.54375 +0.80375 +1.015 +1.13125 +1.155 +1.13 +1.115 +1.12625 +1.145 +1.115 +0.99625003 +0.78375006 +0.53000003 +0.335 +0.27625 +0.3875 +0.6075 +0.81249994 +0.88750005 +0.7725 +0.515 +0.25625 +0.12375 +0.16375 +0.35375 +0.58000004 +0.70624995 +0.67125 +0.51875 +0.35375002 +0.285 +0.35125002 +0.50874996 +0.6625 +0.74000007 +0.735 +0.71250004 +0.76624995 +0.96874994 +1.3137499 +1.70875 +2.0275 +2.1525 +2.0437498 +1.7462499 +1.3824999 +1.07 +0.89874995 +0.86 +0.88125 +0.86875 +0.765 +0.5875 +0.41249996 +0.335 +0.39249998 +0.54249996 +0.675 +0.68625 +0.54125 +0.3125 +0.13625002 +0.11 +0.24875 +0.51 +0.76124996 +0.865 +0.78 +0.57124996 +0.3575 +0.26250002 +0.33625 +0.54375 +0.80375 +1.015 +1.13125 +1.155 +1.13 +1.115 +1.12625 +1.145 +1.115 +0.99625003 +0.78375006 +0.53000003 +0.335 +0.27625 +0.3875 +0.6075 +0.81249994 +0.88750005 +0.7725 +0.515 +0.25625 +0.12375 +0.16375 +0.35375 +0.58000004 +0.70624995 +0.67125 +0.51875 +0.35375002 +0.285 +0.35125002 +0.50874996 +0.6625 +0.74000007 +0.735 +0.71250004 +0.76624995 +0.96874994 +1.3137499 +1.70875 +2.0275 +2.2725 +2.15875 +1.865 +1.51 +1.2237499 +1.0825 +1.07375 +1.1075001 +1.09 +0.97249997 +0.78124994 +0.60999995 +0.555 +0.65250003 +0.835 +0.97875 +0.97875 +0.8025 +0.53499997 +0.31375 +0.2575 +0.39375 +0.645 +0.86375 +0.92749995 +0.8075 +0.57124996 +0.34750003 +0.255 +0.33124998 +0.5425 +0.79125 +0.99375 +1.10125 +1.1175001 +1.0925001 +1.0775001 +1.0912501 +1.1125001 +1.08875 +0.9775 +0.77375 +0.53000003 +0.33625 +0.28125 +0.39499998 +0.63125 +0.8675 +0.975 +0.895 +0.6675 +0.42374998 +0.30375 +0.38 +0.61125 +0.87 +1.02125 +0.9875001 +0.815 +0.6175 +0.51500005 +0.565 +0.72125006 +0.88875 +0.9775 +0.9725 +0.93375 +0.95874995 +1.1362499 +1.4575 +1.84125 +2.1525 +2.2725 +2.15875 +1.865 +1.51 +1.2237499 +1.0825 +1.07375 +1.1075001 +1.09 +0.97249997 +0.78124994 +0.60999995 +0.555 +0.65250003 +0.835 +0.97875 +0.97875 +0.8025 +0.53499997 +0.31375 +0.2575 +0.39375 +0.645 +0.86375 +0.92749995 +0.8075 +0.57124996 +0.34750003 +0.255 +0.33124998 +0.5425 +0.79125 +0.99375 +1.10125 +1.1175001 +1.0925001 +1.0775001 +1.0912501 +1.1125001 +1.08875 +0.9775 +0.77375 +0.53000003 +0.33625 +0.28125 +0.39499998 +0.63125 +0.8675 +0.975 +0.895 +0.6675 +0.42374998 +0.30375 +0.38 +0.61125 +0.87 +1.02125 +0.9875001 +0.815 +0.6175 +0.51500005 +0.565 +0.72125006 +0.88875 +0.9775 +0.9725 +0.93375 +0.95874995 +1.1362499 +1.4575 +1.84125 +2.1525 +2.21625 +2.1 +1.81625 +1.49 +1.2475 +1.1587499 +1.1999999 +1.2650001 +1.25625 +1.1375 +0.9475 +0.8000001 +0.78875 +0.92125 +1.1225 +1.2487501 +1.1899999 +0.9325 +0.58124995 +0.28875 +0.18375 +0.29 +0.5075 +0.68874997 +0.7125 +0.5575 +0.30125 +0.14750001 +0.09875 +0.14375 +0.29375 +0.53 +0.71500003 +0.8000001 +0.80375004 +0.7775 +0.76125 +0.77874994 +0.80499995 +0.79125005 +0.6975 +0.50874996 +0.27499998 +0.14750001 +0.11874999 +0.18375 +0.37374997 +0.6275 +0.76625 +0.7225 +0.52750003 +0.31374997 +0.22999999 +0.35875002 +0.65999997 +0.99875003 +1.22125 +1.2362499 +1.07625 +0.86 +0.73125005 +0.75125 +0.89874995 +1.0687499 +1.1587499 +1.1412499 +1.0687499 +1.0475 +1.1737499 +1.455 +1.81 +2.105 +2.21625 +2.1 +1.81625 +1.49 +1.2475 +1.1587499 +1.1999999 +1.2650001 +1.25625 +1.1375 +0.9475 +0.8000001 +0.78875 +0.92125 +1.1225 +1.2487501 +1.1899999 +0.9325 +0.58124995 +0.28875 +0.18375 +0.29 +0.5075 +0.68874997 +0.7125 +0.5575 +0.30125 +0.14750001 +0.09875 +0.14375 +0.29375 +0.53 +0.71500003 +0.8000001 +0.80375004 +0.7775 +0.76125 +0.77874994 +0.80499995 +0.79125005 +0.6975 +0.50874996 +0.27499998 +0.14750001 +0.11874999 +0.18375 +0.37374997 +0.6275 +0.76625 +0.7225 +0.52750003 +0.31374997 +0.22999999 +0.35875002 +0.65999997 +0.99875003 +1.22125 +1.2362499 +1.07625 +0.86 +0.73125005 +0.75125 +0.89874995 +1.0687499 +1.1587499 +1.1412499 +1.0687499 +1.0475 +1.1737499 +1.455 +1.81 +2.105 +1.9762499 +1.8599999 +1.59 +1.2975 +1.1125 +1.0925 +1.1975 +1.315 +1.34125 +1.2462499 +1.08875 +0.98875 +1.03625 +1.2187501 +1.4275 +1.50875 +1.35125 +0.96500003 +0.485 +0.1275 +0.05 +0.0925 +0.20875 +0.34625003 +0.33625 +0.185 +0.06375 +0.005 +0.0 +0.00875 +0.067499995 +0.1775 +0.29875 +0.34999996 +0.33125 +0.29375 +0.28625 +0.295 +0.33124998 +0.33999997 +0.27249998 +0.1575 +0.055 +0.00625 +0.0 +0.01375 +0.09625 +0.22875 +0.36875 +0.34625 +0.19999999 +0.0975 +0.07 +0.165 +0.535 +0.99625003 +1.3362498 +1.43875 +1.3175 +1.0975 +0.93 +0.91125005 +1.03 +1.1825 +1.2550001 +1.20375 +1.0799999 +0.99500006 +1.055 +1.2824999 +1.6012499 +1.875 +1.9762499 +1.8599999 +1.59 +1.2975 +1.1125 +1.0925 +1.1975 +1.315 +1.34125 +1.2462499 +1.08875 +0.98875 +1.03625 +1.2187501 +1.4275 +1.50875 +1.35125 +0.96500003 +0.485 +0.1275 +0.05 +0.0925 +0.20875 +0.34625003 +0.33625 +0.185 +0.06375 +0.005 +0.0 +0.00875 +0.067499995 +0.1775 +0.29875 +0.34999996 +0.33125 +0.29375 +0.28625 +0.295 +0.33124998 +0.33999997 +0.27249998 +0.1575 +0.055 +0.00625 +0.0 +0.01375 +0.09625 +0.22875 +0.36875 +0.34625 +0.19999999 +0.0975 +0.07 +0.165 +0.535 +0.99625003 +1.3362498 +1.43875 +1.3175 +1.0975 +0.93 +0.91125005 +1.03 +1.1825 +1.2550001 +1.20375 +1.0799999 +0.99500006 +1.055 +1.2824999 +1.6012499 +1.875 +1.6400001 +1.5224999 +1.2575 +0.99125 +0.855 +0.90124995 +1.0775 +1.26125 +1.3449999 +1.3 +1.2075 +1.18875 +1.3224999 +1.57 +1.7950001 +1.8199999 +1.54375 +1.0125 +0.40249997 +0.05875 +0.0 +0.0 +0.0275 +0.085 +0.07 +0.02125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00625 +0.0325 +0.048750002 +0.03125 +0.00875 +0.0 +0.00625 +0.026250001 +0.0375 +0.02125 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0175 +0.057499997 +0.05625 +0.01625 +0.0 +0.0 +0.055 +0.38875 +0.98625004 +1.46375 +1.6712501 +1.5987501 +1.365 +1.14625 +1.0637499 +1.12375 +1.2299999 +1.2624999 +1.16 +0.97375 +0.82 +0.81750005 +0.99749994 +1.28875 +1.54625 +1.6400001 +1.5224999 +1.2575 +0.99125 +0.855 +0.90124995 +1.0775 +1.26125 +1.3449999 +1.3 +1.2075 +1.18875 +1.3224999 +1.57 +1.7950001 +1.8199999 +1.54375 +1.0125 +0.40249997 +0.05875 +0.0 +0.0 +0.0275 +0.085 +0.07 +0.02125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.00625 +0.0325 +0.048750002 +0.03125 +0.00875 +0.0 +0.00625 +0.026250001 +0.0375 +0.02125 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0175 +0.057499997 +0.05625 +0.01625 +0.0 +0.0 +0.055 +0.38875 +0.98625004 +1.46375 +1.6712501 +1.5987501 +1.365 +1.14625 +1.0637499 +1.12375 +1.2299999 +1.2624999 +1.16 +0.97375 +0.82 +0.81750005 +0.99749994 +1.28875 +1.54625 +1.3349999 +1.2075 +0.9375 +0.67125005 +0.56125003 +0.65749997 +0.89124995 +1.1375 +1.28375 +1.3125 +1.31125 +1.40375 +1.645 +1.98125 +2.2375 +2.2224998 +1.8449999 +1.1775 +0.47250003 +0.06 +0.0 +0.0 +0.0175 +0.053750005 +0.05 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0175 +0.021249998 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.005 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0075 +0.005 +0.0 +0.0 +0.0 +0.0425 +0.41375 +1.1 +1.70625 +2.005 +1.96 +1.69375 +1.3987501 +1.22375 +1.19625 +1.23 +1.2012501 +1.04125 +0.79625005 +0.58875 +0.5425 +0.70000005 +0.9875 +1.245 +1.3349999 +1.2075 +0.9375 +0.67125005 +0.56125003 +0.65749997 +0.89124995 +1.1375 +1.28375 +1.3125 +1.31125 +1.40375 +1.645 +1.98125 +2.2375 +2.2224998 +1.8449999 +1.1775 +0.47250003 +0.06 +0.0 +0.0 +0.0175 +0.053750005 +0.05 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0175 +0.021249998 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.005 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0075 +0.005 +0.0 +0.0 +0.0 +0.0425 +0.41375 +1.1 +1.70625 +2.005 +1.96 +1.69375 +1.3987501 +1.22375 +1.19625 +1.23 +1.2012501 +1.04125 +0.79625005 +0.58875 +0.5425 +0.70000005 +0.9875 +1.245 +1.15 +1.0087501 +0.71375 +0.42874998 +0.31375 +0.4275 +0.695 +0.98749995 +1.1949999 +1.30125 +1.4000001 +1.61125 +1.97875 +2.4125 +2.7137504 +2.6850002 +2.23625 +1.4725 +0.67875 +0.13125 +0.00875 +0.03 +0.13374999 +0.27 +0.27875 +0.155 +0.01625 +0.0 +0.0075 +0.04375 +0.14500001 +0.22874999 +0.24 +0.15375 +0.04375 +0.0 +0.0 +0.0 +0.0475 +0.135 +0.18625 +0.17 +0.0925 +0.0075 +0.0 +0.0 +0.0 +0.10374999 +0.17375 +0.14750001 +0.045 +0.0 +0.0 +0.07125 +0.60875 +1.38625 +2.085 +2.4425 +2.4 +2.08 +1.6875 +1.3974999 +1.26125 +1.2075 +1.10875 +0.895 +0.60749996 +0.37 +0.31124997 +0.47749996 +0.78125006 +1.0575 +1.15 +1.0087501 +0.71375 +0.42874998 +0.31375 +0.4275 +0.695 +0.98749995 +1.1949999 +1.30125 +1.4000001 +1.61125 +1.97875 +2.4125 +2.7137504 +2.6850002 +2.23625 +1.4725 +0.67875 +0.13125 +0.00875 +0.03 +0.13374999 +0.27 +0.27875 +0.155 +0.01625 +0.0 +0.0075 +0.04375 +0.14500001 +0.22874999 +0.24 +0.15375 +0.04375 +0.0 +0.0 +0.0 +0.0475 +0.135 +0.18625 +0.17 +0.0925 +0.0075 +0.0 +0.0 +0.0 +0.10374999 +0.17375 +0.14750001 +0.045 +0.0 +0.0 +0.07125 +0.60875 +1.38625 +2.085 +2.4425 +2.4 +2.08 +1.6875 +1.3974999 +1.26125 +1.2075 +1.10875 +0.895 +0.60749996 +0.37 +0.31124997 +0.47749996 +0.78125006 +1.0575 +1.09 +0.93125004 +0.60625005 +0.28875 +0.15125 +0.25875002 +0.54 +0.86 +1.1125001 +1.2824999 +1.4649999 +1.775 +2.24875 +2.7675 +3.1212502 +3.0925002 +2.6062503 +1.7950001 +0.92499995 +0.3225 +0.105000004 +0.18875001 +0.44625005 +0.65500003 +0.66 +0.4775 +0.26250002 +0.1475 +0.16499999 +0.32874998 +0.55 +0.68 +0.65375006 +0.48874998 +0.27625 +0.1225 +0.07625 +0.1275 +0.285 +0.48375002 +0.605 +0.5775 +0.40625 +0.21624999 +0.11624999 +0.11 +0.21875 +0.415 +0.54875 +0.48125 +0.2575 +0.066250004 +0.026250001 +0.26 +0.90000004 +1.7687502 +2.5175002 +2.90125 +2.8437502 +2.45625 +1.9649999 +1.5625 +1.325 +1.18875 +1.02875 +0.77125 +0.45875 +0.21000001 +0.1625 +0.35375 +0.68875 +0.98875 +1.09 +0.93125004 +0.60625005 +0.28875 +0.15125 +0.25875002 +0.54 +0.86 +1.1125001 +1.2824999 +1.4649999 +1.775 +2.24875 +2.7675 +3.1212502 +3.0925002 +2.6062503 +1.7950001 +0.92499995 +0.3225 +0.105000004 +0.18875001 +0.44625005 +0.65500003 +0.66 +0.4775 +0.26250002 +0.1475 +0.16499999 +0.32874998 +0.55 +0.68 +0.65375006 +0.48874998 +0.27625 +0.1225 +0.07625 +0.1275 +0.285 +0.48375002 +0.605 +0.5775 +0.40625 +0.21624999 +0.11624999 +0.11 +0.21875 +0.415 +0.54875 +0.48125 +0.2575 +0.066250004 +0.026250001 +0.26 +0.90000004 +1.7687502 +2.5175002 +2.90125 +2.8437502 +2.45625 +1.9649999 +1.5625 +1.325 +1.18875 +1.02875 +0.77125 +0.45875 +0.21000001 +0.1625 +0.35375 +0.68875 +0.98875 +1.09 +0.92125 +0.57625 +0.23375002 +0.082499996 +0.175 +0.45749998 +0.78875 +1.0575 +1.2624999 +1.4887501 +1.85375 +2.3825 +2.95125 +3.3312497 +3.3100002 +2.8125 +1.9787501 +1.095 +0.4625 +0.2425 +0.39124998 +0.69875 +0.92875 +0.94375 +0.76375 +0.53375 +0.40374997 +0.45749998 +0.6575 +0.8812499 +1.0075 +0.96375 +0.77375 +0.52500004 +0.33 +0.26500002 +0.35750002 +0.56874996 +0.80499995 +0.95500004 +0.95000005 +0.785 +0.55125 +0.3725 +0.36374998 +0.52750003 +0.75625 +0.89374995 +0.8175 +0.5475 +0.24875 +0.1675 +0.48625 +1.19375 +2.08625 +2.85875 +3.2475002 +3.1625001 +2.7275 +2.16625 +1.68875 +1.3825 +1.18875 +0.985 +0.705 +0.3775 +0.12875 +0.1 +0.30875 +0.66875005 +0.98625 +1.09 +0.92125 +0.57625 +0.23375002 +0.082499996 +0.175 +0.45749998 +0.78875 +1.0575 +1.2624999 +1.4887501 +1.85375 +2.3825 +2.95125 +3.3312497 +3.3100002 +2.8125 +1.9787501 +1.095 +0.4625 +0.2425 +0.39124998 +0.69875 +0.92875 +0.94375 +0.76375 +0.53375 +0.40374997 +0.45749998 +0.6575 +0.8812499 +1.0075 +0.96375 +0.77375 +0.52500004 +0.33 +0.26500002 +0.35750002 +0.56874996 +0.80499995 +0.95500004 +0.95000005 +0.785 +0.55125 +0.3725 +0.36374998 +0.52750003 +0.75625 +0.89374995 +0.8175 +0.5475 +0.24875 +0.1675 +0.48625 +1.19375 +2.08625 +2.85875 +3.2475002 +3.1625001 +2.7275 +2.16625 +1.68875 +1.3825 +1.18875 +0.985 +0.705 +0.3775 +0.12875 +0.1 +0.30875 +0.66875005 +0.98625 +1.095 +0.925 +0.57750005 +0.23875001 +0.08125 +0.175 +0.45749998 +0.78249997 +1.05 +1.2462499 +1.46625 +1.8225 +2.34375 +2.8999999 +3.27375 +3.245 +2.74375 +1.9137498 +1.03625 +0.41000003 +0.20125 +0.3575 +0.67 +0.90375 +0.92125 +0.74499995 +0.51625 +0.39000002 +0.4475 +0.65 +0.8775 +1.00375 +0.96375 +0.78 +0.5375 +0.34625003 +0.29000002 +0.38875002 +0.60875005 +0.85249996 +1.01125 +1.00875 +0.85 +0.61749995 +0.44375 +0.43374997 +0.59875 +0.8324999 +0.97125 +0.89500004 +0.62625 +0.3325 +0.2575 +0.58125 +1.29875 +2.1999998 +2.9725003 +3.3574998 +3.2675 +2.8162498 +2.24 +1.7437501 +1.4200001 +1.21 +0.99625003 +0.70625 +0.37625 +0.13 +0.09625 +0.31125 +0.67249995 +0.98999995 +1.095 +0.925 +0.57750005 +0.23875001 +0.08125 +0.175 +0.45749998 +0.78249997 +1.05 +1.2462499 +1.46625 +1.8225 +2.34375 +2.8999999 +3.27375 +3.245 +2.74375 +1.9137498 +1.03625 +0.41000003 +0.20125 +0.3575 +0.67 +0.90375 +0.92125 +0.74499995 +0.51625 +0.39000002 +0.4475 +0.65 +0.8775 +1.00375 +0.96375 +0.78 +0.5375 +0.34625003 +0.29000002 +0.38875002 +0.60875005 +0.85249996 +1.01125 +1.00875 +0.85 +0.61749995 +0.44375 +0.43374997 +0.59875 +0.8324999 +0.97125 +0.89500004 +0.62625 +0.3325 +0.2575 +0.58125 +1.29875 +2.1999998 +2.9725003 +3.3574998 +3.2675 +2.8162498 +2.24 +1.7437501 +1.4200001 +1.21 +0.99625003 +0.70625 +0.37625 +0.13 +0.09625 +0.31125 +0.67249995 +0.98999995 +1.0975 +0.9375 +0.6075 +0.28875 +0.14875 +0.25500003 +0.53249997 +0.84625 +1.085 +1.2375 +1.4000001 +1.69 +2.13875 +2.635 +2.9612498 +2.9162502 +2.42375 +1.615 +0.76125 +0.185 +0.06 +0.14125 +0.36625 +0.5875 +0.5975 +0.42125 +0.21875001 +0.1525 +0.185 +0.30375 +0.53249997 +0.66999996 +0.65375006 +0.49875 +0.2875 +0.15375 +0.12875 +0.19749999 +0.38 +0.60249996 +0.74375 +0.7325 +0.57125 +0.34375 +0.2275 +0.23375002 +0.35875 +0.59749997 +0.74249995 +0.68125004 +0.4325 +0.20750001 +0.19125 +0.46250004 +1.18125 +2.0675 +2.825 +3.2037501 +3.1187499 +2.69875 +2.1637502 +1.7149999 +1.4300001 +1.25375 +1.06125 +0.7824999 +0.45749998 +0.2075 +0.16000001 +0.35750002 +0.6975 +1.0 +1.0975 +0.9375 +0.6075 +0.28875 +0.14875 +0.25500003 +0.53249997 +0.84625 +1.085 +1.2375 +1.4000001 +1.69 +2.13875 +2.635 +2.9612498 +2.9162502 +2.42375 +1.615 +0.76125 +0.185 +0.06 +0.14125 +0.36625 +0.5875 +0.5975 +0.42125 +0.21875001 +0.1525 +0.185 +0.30375 +0.53249997 +0.66999996 +0.65375006 +0.49875 +0.2875 +0.15375 +0.12875 +0.19749999 +0.38 +0.60249996 +0.74375 +0.7325 +0.57125 +0.34375 +0.2275 +0.23375002 +0.35875 +0.59749997 +0.74249995 +0.68125004 +0.4325 +0.20750001 +0.19125 +0.46250004 +1.18125 +2.0675 +2.825 +3.2037501 +3.1187499 +2.69875 +2.1637502 +1.7149999 +1.4300001 +1.25375 +1.06125 +0.7824999 +0.45749998 +0.2075 +0.16000001 +0.35750002 +0.6975 +1.0 +1.1487501 +1.0000001 +0.69874996 +0.41 +0.295 +0.4075 +0.67375 +0.95875 +1.15125 +1.2387501 +1.3125 +1.4962499 +1.83125 +2.2325 +2.50375 +2.4475 +1.9862502 +1.22625 +0.42499998 +0.044999998 +0.0 +0.0225 +0.095 +0.18125 +0.185 +0.08125 +0.0075 +0.0 +0.00375 +0.0425 +0.13625 +0.21625 +0.22125 +0.14500001 +0.056250002 +0.00875 +0.0 +0.0225 +0.107499994 +0.23875 +0.32125 +0.29250002 +0.18375 +0.08625 +0.03125 +0.01875 +0.09375 +0.25375003 +0.36374998 +0.32375 +0.18375 +0.08 +0.05875 +0.29625 +0.93 +1.7787502 +2.4937499 +2.84625 +2.7775002 +2.41 +1.9599999 +1.61 +1.41375 +1.3075 +1.16625 +0.92125 +0.615 +0.37 +0.31 +0.48 +0.7875 +1.06 +1.1487501 +1.0000001 +0.69874996 +0.41 +0.295 +0.4075 +0.67375 +0.95875 +1.15125 +1.2387501 +1.3125 +1.4962499 +1.83125 +2.2325 +2.50375 +2.4475 +1.9862502 +1.22625 +0.42499998 +0.044999998 +0.0 +0.0225 +0.095 +0.18125 +0.185 +0.08125 +0.0075 +0.0 +0.00375 +0.0425 +0.13625 +0.21625 +0.22125 +0.14500001 +0.056250002 +0.00875 +0.0 +0.0225 +0.107499994 +0.23875 +0.32125 +0.29250002 +0.18375 +0.08625 +0.03125 +0.01875 +0.09375 +0.25375003 +0.36374998 +0.32375 +0.18375 +0.08 +0.05875 +0.29625 +0.93 +1.7787502 +2.4937499 +2.84625 +2.7775002 +2.41 +1.9599999 +1.61 +1.41375 +1.3075 +1.16625 +0.92125 +0.615 +0.37 +0.31 +0.48 +0.7875 +1.06 +1.3137499 +1.17375 +0.89 +0.62249994 +0.51375 +0.61125004 +0.84749997 +1.0899999 +1.2250001 +1.2375 +1.2149999 +1.2825 +1.5024999 +1.80875 +2.03625 +1.9925001 +1.595 +0.92875004 +0.2475 +0.0 +0.0 +0.0 +0.0025 +0.0062499996 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0475 +0.045 +0.0175 +0.0 +0.0 +0.0 +0.0 +0.035 +0.11 +0.113749996 +0.055 +0.0125 +0.0 +0.17125 +0.70875 +1.47875 +2.105 +2.4050002 +2.3387501 +2.0325 +1.6875 +1.4550002 +1.37125 +1.355 +1.28375 +1.09125 +0.8225 +0.60249996 +0.55125 +0.70750004 +0.98749995 +1.23625 +1.3137499 +1.17375 +0.89 +0.62249994 +0.51375 +0.61125004 +0.84749997 +1.0899999 +1.2250001 +1.2375 +1.2149999 +1.2825 +1.5024999 +1.80875 +2.03625 +1.9925001 +1.595 +0.92875004 +0.2475 +0.0 +0.0 +0.0 +0.0025 +0.0062499996 +0.00375 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0025 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.0475 +0.045 +0.0175 +0.0 +0.0 +0.0 +0.0 +0.035 +0.11 +0.113749996 +0.055 +0.0125 +0.0 +0.17125 +0.70875 +1.47875 +2.105 +2.4050002 +2.3387501 +2.0325 +1.6875 +1.4550002 +1.37125 +1.355 +1.28375 +1.09125 +0.8225 +0.60249996 +0.55125 +0.70750004 +0.98749995 +1.23625 +1.5962499 +1.45375 +1.1737499 +0.89874995 +0.7662501 +0.82000005 +1.00375 +1.1899999 +1.26875 +1.2175 +1.1175 +1.09 +1.2149999 +1.4512501 +1.655 +1.655 +1.36125 +0.82 +0.26 +0.0 +0.0 +0.0 +0.01 +0.06125 +0.051249996 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.022499999 +0.03375 +0.0175 +0.0 +0.0 +0.00625 +0.028749999 +0.04375 +0.025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.098749995 +0.105 +0.02125 +0.0 +0.0 +0.135 +0.61875 +1.2637501 +1.7687502 +1.9837501 +1.8975 +1.64375 +1.39625 +1.27875 +1.3050001 +1.37625 +1.3725 +1.2425 +1.03375 +0.86500007 +0.8525 +1.0187501 +1.29375 +1.52875 +1.5962499 +1.45375 +1.1737499 +0.89874995 +0.7662501 +0.82000005 +1.00375 +1.1899999 +1.26875 +1.2175 +1.1175 +1.09 +1.2149999 +1.4512501 +1.655 +1.655 +1.36125 +0.82 +0.26 +0.0 +0.0 +0.0 +0.01 +0.06125 +0.051249996 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.022499999 +0.03375 +0.0175 +0.0 +0.0 +0.00625 +0.028749999 +0.04375 +0.025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.02 +0.098749995 +0.105 +0.02125 +0.0 +0.0 +0.135 +0.61875 +1.2637501 +1.7687502 +1.9837501 +1.8975 +1.64375 +1.39625 +1.27875 +1.3050001 +1.37625 +1.3725 +1.2425 +1.03375 +0.86500007 +0.8525 +1.0187501 +1.29375 +1.52875 +1.92125 +1.7662499 +1.46875 +1.16375 +0.98 +0.97125 +1.0899999 +1.21625 +1.24875 +1.1574999 +1.0074999 +0.91999996 +0.98375 +1.17375 +1.3825002 +1.44875 +1.27125 +0.87125003 +0.40749997 +0.11 +0.035 +0.082499996 +0.20374998 +0.32 +0.3025 +0.175 +0.0375 +0.0 +0.0 +0.0 +0.04625 +0.14875 +0.24000001 +0.27625 +0.25375 +0.2225 +0.21000001 +0.23499998 +0.2775 +0.29125 +0.24 +0.12875001 +0.0175 +0.0 +0.0 +0.0 +0.05625 +0.20624998 +0.32500002 +0.30125 +0.16624999 +0.0525 +0.028749999 +0.21375 +0.64874995 +1.15 +1.5125 +1.625 +1.5075 +1.285 +1.1187501 +1.09625 +1.2075 +1.3462499 +1.3987501 +1.33125 +1.1912501 +1.09 +1.1337501 +1.3399999 +1.6274999 +1.8625 +1.92125 +1.7662499 +1.46875 +1.16375 +0.98 +0.97125 +1.0899999 +1.21625 +1.24875 +1.1574999 +1.0074999 +0.91999996 +0.98375 +1.17375 +1.3825002 +1.44875 +1.27125 +0.87125003 +0.40749997 +0.11 +0.035 +0.082499996 +0.20374998 +0.32 +0.3025 +0.175 +0.0375 +0.0 +0.0 +0.0 +0.04625 +0.14875 +0.24000001 +0.27625 +0.25375 +0.2225 +0.21000001 +0.23499998 +0.2775 +0.29125 +0.24 +0.12875001 +0.0175 +0.0 +0.0 +0.0 +0.05625 +0.20624998 +0.32500002 +0.30125 +0.16624999 +0.0525 +0.028749999 +0.21375 +0.64874995 +1.15 +1.5125 +1.625 +1.5075 +1.285 +1.1187501 +1.09625 +1.2075 +1.3462499 +1.3987501 +1.33125 +1.1912501 +1.09 +1.1337501 +1.3399999 +1.6274999 +1.8625 +2.1662502 +1.995 +1.66875 +1.32125 +1.07875 +1.0024999 +1.06 +1.13875 +1.1425 +1.0350001 +0.86749995 +0.75374997 +0.7775 +0.94624996 +1.16375 +1.28875 +1.215 +0.9375 +0.58124995 +0.30499998 +0.22375 +0.34625 +0.56624997 +0.72625005 +0.71750003 +0.53499997 +0.2875 +0.121249996 +0.07625 +0.125 +0.29125 +0.51124996 +0.67125005 +0.7387499 +0.73375 +0.705 +0.6975 +0.71999997 +0.74875 +0.73125 +0.62125003 +0.42125 +0.2075 +0.08125 +0.06125 +0.13 +0.32125 +0.55625 +0.6750001 +0.6112499 +0.41375 +0.21875 +0.175 +0.35125002 +0.69250005 +1.05875 +1.29375 +1.31375 +1.165 +0.97125006 +0.86375004 +0.9125 +1.0787499 +1.2550001 +1.3425 +1.3175001 +1.2362499 +1.205 +1.31375 +1.5675 +1.87875 +2.1175 +2.1662502 +1.995 +1.66875 +1.32125 +1.07875 +1.0024999 +1.06 +1.13875 +1.1425 +1.0350001 +0.86749995 +0.75374997 +0.7775 +0.94624996 +1.16375 +1.28875 +1.215 +0.9375 +0.58124995 +0.30499998 +0.22375 +0.34625 +0.56624997 +0.72625005 +0.71750003 +0.53499997 +0.2875 +0.121249996 +0.07625 +0.125 +0.29125 +0.51124996 +0.67125005 +0.7387499 +0.73375 +0.705 +0.6975 +0.71999997 +0.74875 +0.73125 +0.62125003 +0.42125 +0.2075 +0.08125 +0.06125 +0.13 +0.32125 +0.55625 +0.6750001 +0.6112499 +0.41375 +0.21875 +0.175 +0.35125002 +0.69250005 +1.05875 +1.29375 +1.31375 +1.165 +0.97125006 +0.86375004 +0.9125 +1.0787499 +1.2550001 +1.3425 +1.3175001 +1.2362499 +1.205 +1.31375 +1.5675 +1.87875 +2.1175 +2.23875 +2.05 +1.69625 +1.31375 +1.0225 +0.895 +0.90500003 +0.95500004 +0.9500001 +0.8462501 +0.68375 +0.55875003 +0.5625 +0.71000004 +0.9250001 +1.07875 +1.06375 +0.86875 +0.59625 +0.38875 +0.35875002 +0.51625 +0.7650001 +0.95625 +0.97749996 +0.8175 +0.56374997 +0.345 +0.27125 +0.3675 +0.58124995 +0.81874996 +0.9925 +1.075 +1.07875 +1.05375 +1.0500001 +1.07375 +1.095 +1.0575 +0.92375 +0.7025 +0.44875002 +0.265 +0.22874999 +0.36375 +0.60375 +0.81874996 +0.89874995 +0.79249996 +0.555 +0.32875 +0.24874999 +0.36875 +0.63 +0.90125 +1.0487499 +1.01375 +0.85375 +0.6875 +0.63249993 +0.7275 +0.92125005 +1.1062499 +1.20125 +1.1962501 +1.1550001 +1.17875 +1.3387499 +1.6312499 +1.96125 +2.20125 +2.23875 +2.05 +1.69625 +1.31375 +1.0225 +0.895 +0.90500003 +0.95500004 +0.9500001 +0.8462501 +0.68375 +0.55875003 +0.5625 +0.71000004 +0.9250001 +1.07875 +1.06375 +0.86875 +0.59625 +0.38875 +0.35875002 +0.51625 +0.7650001 +0.95625 +0.97749996 +0.8175 +0.56374997 +0.345 +0.27125 +0.3675 +0.58124995 +0.81874996 +0.9925 +1.075 +1.07875 +1.05375 +1.0500001 +1.07375 +1.095 +1.0575 +0.92375 +0.7025 +0.44875002 +0.265 +0.22874999 +0.36375 +0.60375 +0.81874996 +0.89874995 +0.79249996 +0.555 +0.32875 +0.24874999 +0.36875 +0.63 +0.90125 +1.0487499 +1.01375 +0.85375 +0.6875 +0.63249993 +0.7275 +0.92125005 +1.1062499 +1.20125 +1.1962501 +1.1550001 +1.17875 +1.3387499 +1.6312499 +1.96125 +2.20125 +2.13125 +1.9275 +1.56 +1.15625 +0.84125 +0.6825 +0.66375 +0.70000005 +0.69875 +0.60875 +0.45999998 +0.33375 +0.32250002 +0.4425 +0.63125 +0.775 +0.7725 +0.61 +0.375 +0.21 +0.22125 +0.3875 +0.66375005 +0.88500005 +0.93875 +0.80999994 +0.58124995 +0.37375 +0.3075 +0.4075 +0.62750006 +0.87250006 +1.0575 +1.1437501 +1.155 +1.1337501 +1.1325 +1.1600001 +1.18125 +1.13125 +0.98625 +0.75000006 +0.49125 +0.31 +0.28125 +0.41624996 +0.645 +0.83 +0.86749995 +0.7175 +0.45000002 +0.20625 +0.1275 +0.20125002 +0.41750002 +0.64500004 +0.75625 +0.71 +0.5625 +0.435 +0.4225 +0.54249996 +0.7425 +0.9175 +1.0024999 +1.0 +0.98125 +1.0350001 +1.23 +1.54125 +1.8762499 +2.1075 +2.13125 +1.9275 +1.56 +1.15625 +0.84125 +0.6825 +0.66375 +0.70000005 +0.69875 +0.60875 +0.45999998 +0.33375 +0.32250002 +0.4425 +0.63125 +0.775 +0.7725 +0.61 +0.375 +0.21 +0.22125 +0.3875 +0.66375005 +0.88500005 +0.93875 +0.80999994 +0.58124995 +0.37375 +0.3075 +0.4075 +0.62750006 +0.87250006 +1.0575 +1.1437501 +1.155 +1.1337501 +1.1325 +1.1600001 +1.18125 +1.13125 +0.98625 +0.75000006 +0.49125 +0.31 +0.28125 +0.41624996 +0.645 +0.83 +0.86749995 +0.7175 +0.45000002 +0.20625 +0.1275 +0.20125002 +0.41750002 +0.64500004 +0.75625 +0.71 +0.5625 +0.435 +0.4225 +0.54249996 +0.7425 +0.9175 +1.0024999 +1.0 +0.98125 +1.0350001 +1.23 +1.54125 +1.8762499 +2.1075 +1.9375 +1.72375 +1.3525001 +0.94625 +0.62249994 +0.44875 +0.41375 +0.44 +0.44125 +0.36125 +0.23624998 +0.125 +0.09875 +0.16874999 +0.3175 +0.42624998 +0.4025 +0.24375 +0.10125 +0.025 +0.033749998 +0.1375 +0.335 +0.575 +0.65625 +0.55625004 +0.35 +0.16875 +0.14 +0.225 +0.44375 +0.69375 +0.88625 +0.9825 +1.0 +0.9887501 +0.995 +1.02125 +1.0337499 +0.97625 +0.81625 +0.57 +0.31000003 +0.14375 +0.1375 +0.24249999 +0.45374998 +0.61375 +0.61625004 +0.44124997 +0.1725 +0.0425 +0.0 +0.042499997 +0.1775 +0.3475 +0.45999998 +0.43125 +0.32 +0.23 +0.2475 +0.3775 +0.5675 +0.72749996 +0.7975 +0.7925 +0.78499997 +0.85875 +1.0712501 +1.3874999 +1.7124999 +1.92625 +1.9375 +1.72375 +1.3525001 +0.94625 +0.62249994 +0.44875 +0.41375 +0.44 +0.44125 +0.36125 +0.23624998 +0.125 +0.09875 +0.16874999 +0.3175 +0.42624998 +0.4025 +0.24375 +0.10125 +0.025 +0.033749998 +0.1375 +0.335 +0.575 +0.65625 +0.55625004 +0.35 +0.16875 +0.14 +0.225 +0.44375 +0.69375 +0.88625 +0.9825 +1.0 +0.9887501 +0.995 +1.02125 +1.0337499 +0.97625 +0.81625 +0.57 +0.31000003 +0.14375 +0.1375 +0.24249999 +0.45374998 +0.61375 +0.61625004 +0.44124997 +0.1725 +0.0425 +0.0 +0.042499997 +0.1775 +0.3475 +0.45999998 +0.43125 +0.32 +0.23 +0.2475 +0.3775 +0.5675 +0.72749996 +0.7975 +0.7925 +0.78499997 +0.85875 +1.0712501 +1.3874999 +1.7124999 +1.92625 +1.7937499 +1.5725 +1.2049999 +0.80375004 +0.47625 +0.29625002 +0.24499999 +0.24874999 +0.23875001 +0.17125 +0.07 +0.01125 +0.0025 +0.025 +0.08125 +0.1375 +0.099999994 +0.03125 +0.0 +0.0 +0.0 +0.00125 +0.07875 +0.225 +0.31 +0.22375 +0.08875 +0.015 +0.0 +0.04875 +0.19874999 +0.43625 +0.64125 +0.75249994 +0.78875005 +0.79499996 +0.8037499 +0.82500005 +0.81999993 +0.74375004 +0.56875 +0.31125 +0.09125 +0.01375 +0.0025 +0.0625 +0.20375 +0.32125 +0.31125 +0.13499999 +0.030000001 +0.0 +0.0 +0.0 +0.041249998 +0.1575 +0.23875 +0.23749998 +0.16625 +0.13125 +0.16250001 +0.265 +0.41875 +0.565 +0.63 +0.635 +0.64875 +0.74875003 +0.97375 +1.29 +1.6012499 +1.7974999 +1.7937499 +1.5725 +1.2049999 +0.80375004 +0.47625 +0.29625002 +0.24499999 +0.24874999 +0.23875001 +0.17125 +0.07 +0.01125 +0.0025 +0.025 +0.08125 +0.1375 +0.099999994 +0.03125 +0.0 +0.0 +0.0 +0.00125 +0.07875 +0.225 +0.31 +0.22375 +0.08875 +0.015 +0.0 +0.04875 +0.19874999 +0.43625 +0.64125 +0.75249994 +0.78875005 +0.79499996 +0.8037499 +0.82500005 +0.81999993 +0.74375004 +0.56875 +0.31125 +0.09125 +0.01375 +0.0025 +0.0625 +0.20375 +0.32125 +0.31125 +0.13499999 +0.030000001 +0.0 +0.0 +0.0 +0.041249998 +0.1575 +0.23875 +0.23749998 +0.16625 +0.13125 +0.16250001 +0.265 +0.41875 +0.565 +0.63 +0.635 +0.64875 +0.74875003 +0.97375 +1.29 +1.6012499 +1.7974999 +1.7925 +1.5699999 +1.2075 +0.80875 +0.475 +0.27499998 +0.19999999 +0.17500001 +0.14125 +0.08125 +0.01125 +0.0 +0.0 +0.0 +0.00625 +0.0075000003 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04875 +0.08499999 +0.035 +0.00125 +0.0 +0.0 +0.0 +0.07625 +0.28125 +0.5 +0.635 +0.70124996 +0.72875005 +0.7475 +0.755 +0.72375 +0.61875 +0.42000002 +0.16250001 +0.0175 +0.0 +0.0 +0.00125 +0.06375 +0.13625 +0.12375 +0.03125 +0.0 +0.0 +0.0 +0.0 +0.02125 +0.092499994 +0.15875 +0.16749999 +0.14 +0.125 +0.145 +0.215 +0.32125 +0.45499998 +0.5325 +0.5725 +0.62874997 +0.76374996 +1.01 +1.3299999 +1.63125 +1.8124999 +1.7925 +1.5699999 +1.2075 +0.80875 +0.475 +0.27499998 +0.19999999 +0.17500001 +0.14125 +0.08125 +0.01125 +0.0 +0.0 +0.0 +0.00625 +0.0075000003 +0.00125 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.04875 +0.08499999 +0.035 +0.00125 +0.0 +0.0 +0.0 +0.07625 +0.28125 +0.5 +0.635 +0.70124996 +0.72875005 +0.7475 +0.755 +0.72375 +0.61875 +0.42000002 +0.16250001 +0.0175 +0.0 +0.0 +0.00125 +0.06375 +0.13625 +0.12375 +0.03125 +0.0 +0.0 +0.0 +0.0 +0.02125 +0.092499994 +0.15875 +0.16749999 +0.14 +0.125 +0.145 +0.215 +0.32125 +0.45499998 +0.5325 +0.5725 +0.62874997 +0.76374996 +1.01 +1.3299999 +1.63125 +1.8124999 +1.9287499 +1.70875 +1.355 +0.96124995 +0.62 +0.3825 +0.25 +0.1775 +0.12124999 +0.05125 +0.0 +0.0 +0.0 +0.0 +0.01375 +0.024999999 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01875 +0.053750005 +0.07375 +0.02 +0.0 +0.0 +0.0 +0.005 +0.089999996 +0.31625 +0.55 +0.7175 +0.81999993 +0.87625 +0.90125 +0.895 +0.8325 +0.69125 +0.47000003 +0.21625 +0.03 +0.0 +0.0 +0.015 +0.057499997 +0.11750001 +0.1375 +0.060000002 +0.0 +0.0 +0.0 +0.0 +0.035 +0.103750005 +0.16625 +0.19375001 +0.16375 +0.14125 +0.15125 +0.19624999 +0.28 +0.40749997 +0.515 +0.60375 +0.71500003 +0.8975 +1.17125 +1.4975001 +1.79125 +1.9549999 +1.9287499 +1.70875 +1.355 +0.96124995 +0.62 +0.3825 +0.25 +0.1775 +0.12124999 +0.05125 +0.0 +0.0 +0.0 +0.0 +0.01375 +0.024999999 +0.0025 +0.0 +0.0 +0.0 +0.0 +0.0 +0.01875 +0.053750005 +0.07375 +0.02 +0.0 +0.0 +0.0 +0.005 +0.089999996 +0.31625 +0.55 +0.7175 +0.81999993 +0.87625 +0.90125 +0.895 +0.8325 +0.69125 +0.47000003 +0.21625 +0.03 +0.0 +0.0 +0.015 +0.057499997 +0.11750001 +0.1375 +0.060000002 +0.0 +0.0 +0.0 +0.0 +0.035 +0.103750005 +0.16625 +0.19375001 +0.16375 +0.14125 +0.15125 +0.19624999 +0.28 +0.40749997 +0.515 +0.60375 +0.71500003 +0.8975 +1.17125 +1.4975001 +1.79125 +1.9549999 +2.105 +1.895 +1.55875 +1.17875 +0.83625 +0.57374996 +0.39000002 +0.2525 +0.145 +0.06375 +0.0125 +0.0 +0.01 +0.0425 +0.09 +0.09625 +0.041249998 +0.0 +0.0 +0.0 +0.01125 +0.035 +0.11 +0.19749999 +0.19875 +0.11375 +0.035 +0.0062499996 +0.01625 +0.082499996 +0.26 +0.52 +0.76124996 +0.95875 +1.09875 +1.18125 +1.215 +1.1899998 +1.09625 +0.92625004 +0.68999994 +0.42125 +0.2 +0.07749999 +0.03375 +0.061249997 +0.1425 +0.23625 +0.2575 +0.1875 +0.07375 +0.0 +0.0 +0.0025 +0.04625 +0.11875 +0.20375 +0.24374999 +0.21625 +0.17375 +0.16125 +0.1925 +0.2775 +0.4125 +0.5525 +0.69124997 +0.86 +1.085 +1.37875 +1.7037501 +1.98375 +2.135 +2.105 +1.895 +1.55875 +1.17875 +0.83625 +0.57374996 +0.39000002 +0.2525 +0.145 +0.06375 +0.0125 +0.0 +0.01 +0.0425 +0.09 +0.09625 +0.041249998 +0.0 +0.0 +0.0 +0.01125 +0.035 +0.11 +0.19749999 +0.19875 +0.11375 +0.035 +0.0062499996 +0.01625 +0.082499996 +0.26 +0.52 +0.76124996 +0.95875 +1.09875 +1.18125 +1.215 +1.1899998 +1.09625 +0.92625004 +0.68999994 +0.42125 +0.2 +0.07749999 +0.03375 +0.061249997 +0.1425 +0.23625 +0.2575 +0.1875 +0.07375 +0.0 +0.0 +0.0025 +0.04625 +0.11875 +0.20375 +0.24374999 +0.21625 +0.17375 +0.16125 +0.1925 +0.2775 +0.4125 +0.5525 +0.69124997 +0.86 +1.085 +1.37875 +1.7037501 +1.98375 +2.135 +2.2075 +2.01625 +1.7112501 +1.36125 +1.03625 +0.7687501 +0.5575 +0.385 +0.23375 +0.12125 +0.06125 +0.052500002 +0.0875 +0.15625001 +0.19875 +0.1725 +0.08749999 +0.0175 +0.00375 +0.01625 +0.05 +0.15 +0.28875 +0.36375 +0.3425 +0.25375 +0.15875 +0.11875 +0.17 +0.32 +0.535 +0.78249997 +1.02625 +1.2412499 +1.41125 +1.5162499 +1.5550001 +1.5137501 +1.3975 +1.20625 +0.96875 +0.71124995 +0.47625005 +0.3025 +0.2175 +0.22749999 +0.29749998 +0.37250003 +0.39375 +0.325 +0.19000001 +0.055 +0.0 +0.0025 +0.03375 +0.10875 +0.205 +0.26749998 +0.2625 +0.22375001 +0.19999999 +0.225 +0.31 +0.45125 +0.6125 +0.79124993 +0.995 +1.24125 +1.5362499 +1.8425001 +2.0962498 +2.2337499 +2.2075 +2.01625 +1.7112501 +1.36125 +1.03625 +0.7687501 +0.5575 +0.385 +0.23375 +0.12125 +0.06125 +0.052500002 +0.0875 +0.15625001 +0.19875 +0.1725 +0.08749999 +0.0175 +0.00375 +0.01625 +0.05 +0.15 +0.28875 +0.36375 +0.3425 +0.25375 +0.15875 +0.11875 +0.17 +0.32 +0.535 +0.78249997 +1.02625 +1.2412499 +1.41125 +1.5162499 +1.5550001 +1.5137501 +1.3975 +1.20625 +0.96875 +0.71124995 +0.47625005 +0.3025 +0.2175 +0.22749999 +0.29749998 +0.37250003 +0.39375 +0.325 +0.19000001 +0.055 +0.0 +0.0025 +0.03375 +0.10875 +0.205 +0.26749998 +0.2625 +0.22375001 +0.19999999 +0.225 +0.31 +0.45125 +0.6125 +0.79124993 +0.995 +1.24125 +1.5362499 +1.8425001 +2.0962498 +2.2337499 +2.1775 +2.0175 +1.7550001 +1.4562501 +1.165 +0.91375 +0.7012501 +0.515 +0.35375002 +0.23249999 +0.17 +0.17375 +0.21625 +0.255 +0.24250002 +0.16499999 +0.06125 +0.0225 +0.00875 +0.0325 +0.10625 +0.24375 +0.37625 +0.42875 +0.4075 +0.345 +0.30124998 +0.3175 +0.4075 +0.56875 +0.77374995 +1.0037501 +1.23875 +1.4625001 +1.6500001 +1.76875 +1.80375 +1.75125 +1.615 +1.4137499 +1.185 +0.95000005 +0.72875 +0.54999995 +0.42999998 +0.3875 +0.3975 +0.42999998 +0.44125003 +0.38 +0.2475 +0.0875 +0.0075 +0.0 +0.0075 +0.0475 +0.13374999 +0.23125 +0.2775 +0.2775 +0.2625 +0.28375 +0.35999998 +0.495 +0.665 +0.86125 +1.0762501 +1.3187499 +1.5875 +1.85875 +2.0812502 +2.2024999 +2.1775 +2.0175 +1.7550001 +1.4562501 +1.165 +0.91375 +0.7012501 +0.515 +0.35375002 +0.23249999 +0.17 +0.17375 +0.21625 +0.255 +0.24250002 +0.16499999 +0.06125 +0.0225 +0.00875 +0.0325 +0.10625 +0.24375 +0.37625 +0.42875 +0.4075 +0.345 +0.30124998 +0.3175 +0.4075 +0.56875 +0.77374995 +1.0037501 +1.23875 +1.4625001 +1.6500001 +1.76875 +1.80375 +1.75125 +1.615 +1.4137499 +1.185 +0.95000005 +0.72875 +0.54999995 +0.42999998 +0.3875 +0.3975 +0.42999998 +0.44125003 +0.38 +0.2475 +0.0875 +0.0075 +0.0 +0.0075 +0.0475 +0.13374999 +0.23125 +0.2775 +0.2775 +0.2625 +0.28375 +0.35999998 +0.495 +0.665 +0.86125 +1.0762501 +1.3187499 +1.5875 +1.85875 +2.0812502 +2.2024999 +2.0624998 +1.9325 +1.7199999 +1.4699999 +1.22375 +1.00125 +0.79875 +0.61499995 +0.45375 +0.33749998 +0.2825 +0.27875 +0.29874998 +0.29000002 +0.2175 +0.09 +0.01875 +0.0 +0.0 +0.0125 +0.087500006 +0.21125 +0.34125 +0.39124998 +0.38250002 +0.35875002 +0.37 +0.4375 +0.56374997 +0.73375 +0.93 +1.14375 +1.365 +1.5862498 +1.775 +1.8975 +1.9275 +1.8587501 +1.7075001 +1.5062499 +1.29 +1.075 +0.8675 +0.68625003 +0.54125 +0.44625002 +0.40625 +0.40124997 +0.395 +0.3375 +0.20875 +0.05625 +0.0 +0.0 +0.0 +0.00125 +0.052500002 +0.16375 +0.26624998 +0.30625 +0.3125 +0.3325 +0.4025 +0.5275 +0.695 +0.88874996 +1.0937499 +1.315 +1.55 +1.7825 +1.9724998 +2.075 +2.0624998 +1.9325 +1.7199999 +1.4699999 +1.22375 +1.00125 +0.79875 +0.61499995 +0.45375 +0.33749998 +0.2825 +0.27875 +0.29874998 +0.29000002 +0.2175 +0.09 +0.01875 +0.0 +0.0 +0.0125 +0.087500006 +0.21125 +0.34125 +0.39124998 +0.38250002 +0.35875002 +0.37 +0.4375 +0.56374997 +0.73375 +0.93 +1.14375 +1.365 +1.5862498 +1.775 +1.8975 +1.9275 +1.8587501 +1.7075001 +1.5062499 +1.29 +1.075 +0.8675 +0.68625003 +0.54125 +0.44625002 +0.40625 +0.40124997 +0.395 +0.3375 +0.20875 +0.05625 +0.0 +0.0 +0.0 +0.00125 +0.052500002 +0.16375 +0.26624998 +0.30625 +0.3125 +0.3325 +0.4025 +0.5275 +0.695 +0.88874996 +1.0937499 +1.315 +1.55 +1.7825 +1.9724998 +2.075 +1.96125 +1.85875 +1.68 +1.46625 +1.2524999 +1.0475 +0.85875 +0.67999995 +0.5225 +0.40625003 +0.34500003 +0.33249998 +0.32875 +0.28375 +0.16625 +0.033749998 +0.0 +0.0 +0.0 +0.0 +0.035 +0.1375 +0.2725 +0.32875 +0.3375 +0.34625 +0.39375 +0.49875 +0.65125 +0.8275 +1.01875 +1.21875 +1.4325 +1.64375 +1.8249999 +1.9425001 +1.9599999 +1.87625 +1.7112501 +1.5075 +1.3 +1.0962499 +0.90374994 +0.72125 +0.56125 +0.43874997 +0.37 +0.34875 +0.33375 +0.2775 +0.15 +0.022499999 +0.0 +0.0 +0.0 +0.0 +0.02375 +0.1175 +0.255 +0.31875002 +0.3375 +0.35750002 +0.41875 +0.535 +0.695 +0.87749994 +1.0725 +1.2725 +1.4837499 +1.6899999 +1.8612499 +1.9625001 +1.96125 +1.85875 +1.68 +1.46625 +1.2524999 +1.0475 +0.85875 +0.67999995 +0.5225 +0.40625003 +0.34500003 +0.33249998 +0.32875 +0.28375 +0.16625 +0.033749998 +0.0 +0.0 +0.0 +0.0 +0.035 +0.1375 +0.2725 +0.32875 +0.3375 +0.34625 +0.39375 +0.49875 +0.65125 +0.8275 +1.01875 +1.21875 +1.4325 +1.64375 +1.8249999 +1.9425001 +1.9599999 +1.87625 +1.7112501 +1.5075 +1.3 +1.0962499 +0.90374994 +0.72125 +0.56125 +0.43874997 +0.37 +0.34875 +0.33375 +0.2775 +0.15 +0.022499999 +0.0 +0.0 +0.0 +0.0 +0.02375 +0.1175 +0.255 +0.31875002 +0.3375 +0.35750002 +0.41875 +0.535 +0.695 +0.87749994 +1.0725 +1.2725 +1.4837499 +1.6899999 +1.8612499 +1.9625001 diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 66cabfbd4..1ddb59746 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -1,11 +1,11 @@ -import os - import pytest import numpy as np from scipy import stats from damask import Rotation +from damask import Table from damask import _rotation +from damask import grid_filters n = 1000 atol=1.e-4 @@ -13,7 +13,7 @@ atol=1.e-4 @pytest.fixture def reference_dir(reference_dir_base): """Directory containing reference results.""" - return os.path.join(reference_dir_base,'Rotation') + return reference_dir_base/'Rotation' @pytest.fixture def set_of_rotations(set_of_quaternions): @@ -943,3 +943,39 @@ class TestRotation: sigma_out = np.degrees(np.std(dist)) p = np.average(p) assert (.9 < sigma/sigma_out < 1.1) and p > 1e-2, f'{sigma/sigma_out},{p}' + + + @pytest.mark.parametrize('fractions',[True,False]) + @pytest.mark.parametrize('degrees',[True,False]) + @pytest.mark.parametrize('N',[2**13,2**14,2**15]) + def test_ODF_cell(self,reference_dir,fractions,degrees,N): + steps = np.array([144,36,36]) + limits = np.array([360.,90.,90.]) + rng = tuple(zip(np.zeros(3),limits)) + + weights = Table.load(reference_dir/'ODF_experimental_cell.txt').get('intensity').flatten() + Eulers = grid_filters.cell_coord0(steps,limits) + Eulers = np.radians(Eulers) if not degrees else Eulers + + Eulers_r = Rotation.from_ODF(weights,Eulers.reshape(-1,3,order='F'),N,degrees,fractions).as_Eulers(True) + weights_r = np.histogramdd(Eulers_r,steps,rng)[0].flatten(order='F')/N * np.sum(weights) + + if fractions: assert np.sqrt(((weights_r - weights) ** 2).mean()) < 4 + + @pytest.mark.parametrize('degrees',[True,False]) + @pytest.mark.parametrize('N',[2**13,2**14,2**15]) + def test_ODF_node(self,reference_dir,degrees,N): + steps = np.array([144,36,36]) + limits = np.array([360.,90.,90.]) + rng = tuple(zip(np.zeros(3)-limits/steps*.5,limits-limits/steps*.5)) + + weights = Table.load(reference_dir/'ODF_experimental.txt').get('intensity') + weights = weights.reshape(steps+1,order='F')[:-1,:-1,:-1].reshape(-1,order='F') + + Eulers = grid_filters.node_coord0(steps,limits)[:-1,:-1,:-1] + Eulers = np.radians(Eulers) if not degrees else Eulers + + Eulers_r = Rotation.from_ODF(weights,Eulers.reshape(-1,3,order='F'),N,degrees).as_Eulers(True) + weights_r = np.histogramdd(Eulers_r,steps,rng)[0].flatten(order='F')/N * np.sum(weights) + + assert np.sqrt(((weights_r - weights) ** 2).mean()) < 5 From 8d204ea4452016726415dc4b5dad8cdd5b1708f4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 28 Sep 2020 16:17:43 +0200 Subject: [PATCH 771/958] [skip ci] small simplification --- python/tests/test_Rotation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 1ddb59746..d70d650a0 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -967,7 +967,7 @@ class TestRotation: def test_ODF_node(self,reference_dir,degrees,N): steps = np.array([144,36,36]) limits = np.array([360.,90.,90.]) - rng = tuple(zip(np.zeros(3)-limits/steps*.5,limits-limits/steps*.5)) + rng = tuple(zip(-limits/steps*.5,limits-limits/steps*.5)) weights = Table.load(reference_dir/'ODF_experimental.txt').get('intensity') weights = weights.reshape(steps+1,order='F')[:-1,:-1,:-1].reshape(-1,order='F') From d805887ef7ce18c26e2c494d136ce17330d2660f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 28 Sep 2020 17:56:48 +0200 Subject: [PATCH 772/958] smaller, readable functions --- src/crystallite.f90 | 103 ++++++++++++++++++++++++++++++++++++++++- src/homogenization.f90 | 86 ++-------------------------------- 2 files changed, 105 insertions(+), 84 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 392dba277..30c6a6904 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -119,7 +119,10 @@ module crystallite crystallite_results, & crystallite_restartWrite, & crystallite_restartRead, & - crystallite_forward + crystallite_forward, & + crystallite_initializeRestorationPoints, & + crystallite_windForward, & + crystallite_restore contains @@ -237,7 +240,7 @@ subroutine crystallite_init allocate(output_constituent(phases%length)) do c = 1, phases%length phase => phases%get(c) - generic_param => phase%get('generic',defaultVal = emptyDict) + generic_param => phase%get('generic',defaultVal = emptyDict) #if defined(__GFORTRAN__) output_constituent(c)%label = output_asStrings(generic_param) #else @@ -480,6 +483,102 @@ function crystallite_stress() end function crystallite_stress +!-------------------------------------------------------------------------------------------------- +!> @brief tbd +!-------------------------------------------------------------------------------------------------- +subroutine crystallite_initializeRestorationPoints(i,e) + + integer, intent(in) :: & + i, & !< integration point number + e !< element number + integer :: & + c, & !< grain number + s + + do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) + crystallite_partionedFp0(1:3,1:3,c,i,e) = crystallite_Fp0(1:3,1:3,c,i,e) + crystallite_partionedLp0(1:3,1:3,c,i,e) = crystallite_Lp0(1:3,1:3,c,i,e) + crystallite_partionedFi0(1:3,1:3,c,i,e) = crystallite_Fi0(1:3,1:3,c,i,e) + crystallite_partionedLi0(1:3,1:3,c,i,e) = crystallite_Li0(1:3,1:3,c,i,e) + crystallite_partionedF0(1:3,1:3,c,i,e) = crystallite_F0(1:3,1:3,c,i,e) + crystallite_partionedS0(1:3,1:3,c,i,e) = crystallite_S0(1:3,1:3,c,i,e) + + plasticState(material_phaseAt(c,e))%partionedState0(:,material_phasememberAt(c,i,e)) = & + plasticState(material_phaseAt(c,e))%state0( :,material_phasememberAt(c,i,e)) + do s = 1, phase_Nsources(material_phaseAt(c,e)) + sourceState(material_phaseAt(c,e))%p(s)%partionedState0(:,material_phasememberAt(c,i,e)) = & + sourceState(material_phaseAt(c,e))%p(s)%state0( :,material_phasememberAt(c,i,e)) + enddo + enddo + +end subroutine crystallite_initializeRestorationPoints + + +!-------------------------------------------------------------------------------------------------- +!> @brief tbd +!-------------------------------------------------------------------------------------------------- +subroutine crystallite_windForward(i,e) + + integer, intent(in) :: & + i, & !< integration point number + e !< element number + integer :: & + c, & !< grain number + s + + do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) + crystallite_partionedF0 (1:3,1:3,c,i,e) = crystallite_partionedF(1:3,1:3,c,i,e) + crystallite_partionedFp0(1:3,1:3,c,i,e) = crystallite_Fp (1:3,1:3,c,i,e) + crystallite_partionedLp0(1:3,1:3,c,i,e) = crystallite_Lp (1:3,1:3,c,i,e) + crystallite_partionedFi0(1:3,1:3,c,i,e) = crystallite_Fi (1:3,1:3,c,i,e) + crystallite_partionedLi0(1:3,1:3,c,i,e) = crystallite_Li (1:3,1:3,c,i,e) + crystallite_partionedS0 (1:3,1:3,c,i,e) = crystallite_S (1:3,1:3,c,i,e) + + plasticState (material_phaseAt(c,e))%partionedState0(:,material_phasememberAt(c,i,e)) = & + plasticState (material_phaseAt(c,e))%state (:,material_phasememberAt(c,i,e)) + do s = 1, phase_Nsources(material_phaseAt(c,e)) + sourceState(material_phaseAt(c,e))%p(s)%partionedState0(:,material_phasememberAt(c,i,e)) = & + sourceState(material_phaseAt(c,e))%p(s)%state (:,material_phasememberAt(c,i,e)) + enddo + enddo + +end subroutine crystallite_windForward + + +!-------------------------------------------------------------------------------------------------- +!> @brief tbd +!-------------------------------------------------------------------------------------------------- +subroutine crystallite_restore(i,e,includeL) + + integer, intent(in) :: & + i, & !< integration point number + e !< element number + logical, intent(in) :: & + includeL !< protect agains fake cutback + integer :: & + c, & !< grain number + s + + do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) + if (includeL) then + crystallite_Lp(1:3,1:3,c,i,e) = crystallite_partionedLp0(1:3,1:3,c,i,e) + crystallite_Li(1:3,1:3,c,i,e) = crystallite_partionedLi0(1:3,1:3,c,i,e) + endif ! maybe protecting everything from overwriting makes more sense + crystallite_Fp(1:3,1:3,c,i,e) = crystallite_partionedFp0(1:3,1:3,c,i,e) + crystallite_Fi(1:3,1:3,c,i,e) = crystallite_partionedFi0(1:3,1:3,c,i,e) + crystallite_S (1:3,1:3,c,i,e) = crystallite_partionedS0 (1:3,1:3,c,i,e) + + plasticState (material_phaseAt(c,e))%state( :,material_phasememberAt(c,i,e)) = & + plasticState (material_phaseAt(c,e))%partionedState0(:,material_phasememberAt(c,i,e)) + do s = 1, phase_Nsources(material_phaseAt(c,e)) + sourceState(material_phaseAt(c,e))%p(s)%state( :,material_phasememberAt(c,i,e)) = & + sourceState(material_phaseAt(c,e))%p(s)%partionedState0(:,material_phasememberAt(c,i,e)) + enddo + enddo + +end subroutine crystallite_restore + + !-------------------------------------------------------------------------------------------------- !> @brief calculate tangent (dPdF) !-------------------------------------------------------------------------------------------------- diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 0e7f1bf3a..0e9ca386b 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -211,10 +211,8 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) integer :: & NiterationHomog, & NiterationMPstate, & - g, & !< grain number i, & !< integration point number e, & !< element number - mySource, & myNgrains real(pReal), dimension(discretization_nIP,discretization_nElem) :: & subFrac, & @@ -225,40 +223,13 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) logical, dimension(2,discretization_nIP,discretization_nElem) :: & doneAndHappy -#ifdef DEBUG - - if (debugHomog%basic) then - print'(/a,i5,1x,i2)', ' << HOMOG >> Material Point start at el ip ', debugHomog%element, debugHomog%ip - - print'(a,/,3(12x,3(f14.9,1x)/))', ' << HOMOG >> F0', & - transpose(materialpoint_F0(1:3,1:3,debugHomog%ip,debugHomog%element)) - print'(a,/,3(12x,3(f14.9,1x)/))', ' << HOMOG >> F', & - transpose(materialpoint_F(1:3,1:3,debugHomog%ip,debugHomog%element)) - endif -#endif !-------------------------------------------------------------------------------------------------- ! initialize restoration points do e = FEsolving_execElem(1),FEsolving_execElem(2) - myNgrains = homogenization_Ngrains(material_homogenizationAt(e)) do i = FEsolving_execIP(1),FEsolving_execIP(2); - do g = 1,myNgrains - plasticState (material_phaseAt(g,e))%partionedState0(:,material_phasememberAt(g,i,e)) = & - plasticState (material_phaseAt(g,e))%state0( :,material_phasememberAt(g,i,e)) - do mySource = 1, phase_Nsources(material_phaseAt(g,e)) - sourceState(material_phaseAt(g,e))%p(mySource)%partionedState0(:,material_phasememberAt(g,i,e)) = & - sourceState(material_phaseAt(g,e))%p(mySource)%state0( :,material_phasememberAt(g,i,e)) - enddo - - crystallite_partionedFp0(1:3,1:3,g,i,e) = crystallite_Fp0(1:3,1:3,g,i,e) - crystallite_partionedLp0(1:3,1:3,g,i,e) = crystallite_Lp0(1:3,1:3,g,i,e) - crystallite_partionedFi0(1:3,1:3,g,i,e) = crystallite_Fi0(1:3,1:3,g,i,e) - crystallite_partionedLi0(1:3,1:3,g,i,e) = crystallite_Li0(1:3,1:3,g,i,e) - crystallite_partionedF0(1:3,1:3,g,i,e) = crystallite_F0(1:3,1:3,g,i,e) - crystallite_partionedS0(1:3,1:3,g,i,e) = crystallite_S0(1:3,1:3,g,i,e) - - enddo + call crystallite_initializeRestorationPoints(i,e) subFrac(i,e) = 0.0_pReal converged(i,e) = .false. ! pretend failed step ... @@ -285,44 +256,19 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) any(subStep(FEsolving_execIP(1):FEsolving_execIP(2),& FEsolving_execElem(1):FEsolving_execElem(2)) > num%subStepMinHomog)) - !$OMP PARALLEL DO PRIVATE(myNgrains) + !$OMP PARALLEL DO elementLooping1: do e = FEsolving_execElem(1),FEsolving_execElem(2) myNgrains = homogenization_Ngrains(material_homogenizationAt(e)) IpLooping1: do i = FEsolving_execIP(1),FEsolving_execIP(2) if (converged(i,e)) then -#ifdef DEBUG - if (debugHomog%extensive .and. ((e == debugHomog%element .and. i == debugHomog%ip) & - .or. .not. debugHomog%selective)) then - print'(a,f12.8,a,f12.8,a,i8,1x,i2/)', ' << HOMOG >> winding forward from ', & - subFrac(i,e), ' to current subFrac ', & - subFrac(i,e)+subStep(i,e),' in materialpoint_stressAndItsTangent at el ip ',e,i - endif -#endif - -!--------------------------------------------------------------------------------------------------- -! calculate new subStep and new subFrac subFrac(i,e) = subFrac(i,e) + subStep(i,e) subStep(i,e) = min(1.0_pReal-subFrac(i,e),num%stepIncreaseHomog*subStep(i,e)) ! introduce flexibility for step increase/acceleration steppingNeeded: if (subStep(i,e) > num%subStepMinHomog) then ! wind forward grain starting point - crystallite_partionedF0 (1:3,1:3,1:myNgrains,i,e) = crystallite_partionedF(1:3,1:3,1:myNgrains,i,e) - crystallite_partionedFp0(1:3,1:3,1:myNgrains,i,e) = crystallite_Fp (1:3,1:3,1:myNgrains,i,e) - crystallite_partionedLp0(1:3,1:3,1:myNgrains,i,e) = crystallite_Lp (1:3,1:3,1:myNgrains,i,e) - crystallite_partionedFi0(1:3,1:3,1:myNgrains,i,e) = crystallite_Fi (1:3,1:3,1:myNgrains,i,e) - crystallite_partionedLi0(1:3,1:3,1:myNgrains,i,e) = crystallite_Li (1:3,1:3,1:myNgrains,i,e) - crystallite_partionedS0 (1:3,1:3,1:myNgrains,i,e) = crystallite_S (1:3,1:3,1:myNgrains,i,e) - - do g = 1,myNgrains - plasticState (material_phaseAt(g,e))%partionedState0(:,material_phasememberAt(g,i,e)) = & - plasticState (material_phaseAt(g,e))%state (:,material_phasememberAt(g,i,e)) - do mySource = 1, phase_Nsources(material_phaseAt(g,e)) - sourceState(material_phaseAt(g,e))%p(mySource)%partionedState0(:,material_phasememberAt(g,i,e)) = & - sourceState(material_phaseAt(g,e))%p(mySource)%state (:,material_phasememberAt(g,i,e)) - enddo - enddo + call crystallite_windForward(i,e) if(homogState(material_homogenizationAt(e))%sizeState > 0) & homogState(material_homogenizationAt(e))%subState0(:,material_homogenizationMemberAt(i,e)) = & @@ -347,32 +293,8 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) else ! cutback makes sense subStep(i,e) = num%subStepSizeHomog * subStep(i,e) ! crystallite had severe trouble, so do a significant cutback -#ifdef DEBUG - if (debugHomog%extensive .and. ((e == debugHomog%element .and. i == debugHomog%ip) & - .or. .not. debugHomog%selective)) then - print'(a,f12.8,a,i8,1x,i2/)', & - '<< HOMOG >> cutback step in materialpoint_stressAndItsTangent with new subStep: ',& - subStep(i,e),' at el ip',e,i - endif -#endif + call crystallite_restore(i,e,subStep(i,e) < 1.0_pReal) -!-------------------------------------------------------------------------------------------------- -! restore - if (subStep(i,e) < 1.0_pReal) then ! protect against fake cutback from \Delta t = 2 to 1. Maybe that "trick" is not necessary anymore at all? I.e. start with \Delta t = 1 - crystallite_Lp(1:3,1:3,1:myNgrains,i,e) = crystallite_partionedLp0(1:3,1:3,1:myNgrains,i,e) - crystallite_Li(1:3,1:3,1:myNgrains,i,e) = crystallite_partionedLi0(1:3,1:3,1:myNgrains,i,e) - endif ! maybe protecting everything from overwriting (not only L) makes even more sense - crystallite_Fp(1:3,1:3,1:myNgrains,i,e) = crystallite_partionedFp0(1:3,1:3,1:myNgrains,i,e) - crystallite_Fi(1:3,1:3,1:myNgrains,i,e) = crystallite_partionedFi0(1:3,1:3,1:myNgrains,i,e) - crystallite_S (1:3,1:3,1:myNgrains,i,e) = crystallite_partionedS0 (1:3,1:3,1:myNgrains,i,e) - do g = 1, myNgrains - plasticState (material_phaseAt(g,e))%state( :,material_phasememberAt(g,i,e)) = & - plasticState (material_phaseAt(g,e))%partionedState0(:,material_phasememberAt(g,i,e)) - do mySource = 1, phase_Nsources(material_phaseAt(g,e)) - sourceState(material_phaseAt(g,e))%p(mySource)%state( :,material_phasememberAt(g,i,e)) = & - sourceState(material_phaseAt(g,e))%p(mySource)%partionedState0(:,material_phasememberAt(g,i,e)) - enddo - enddo if(homogState(material_homogenizationAt(e))%sizeState > 0) & homogState(material_homogenizationAt(e))%State( :,material_homogenizationMemberAt(i,e)) = & homogState(material_homogenizationAt(e))%subState0(:,material_homogenizationMemberAt(i,e)) From c254472346f2cb514eae0178420d36929d8607c3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 28 Sep 2020 18:01:43 +0200 Subject: [PATCH 773/958] restrict write access --- src/crystallite.f90 | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 30c6a6904..a9a1056dd 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -35,35 +35,36 @@ module crystallite crystallite_subStep !< size of next integration step type(rotation), dimension(:,:,:), allocatable :: & crystallite_orientation !< current orientation - real(pReal), dimension(:,:,:,:,:), allocatable, public, protected :: & + real(pReal), dimension(:,:,:,:,:), allocatable :: & crystallite_Fe, & !< current "elastic" def grad (end of converged time step) - crystallite_P, & !< 1st Piola-Kirchhoff stress per grain crystallite_S0, & !< 2nd Piola-Kirchhoff stress vector at start of FE inc crystallite_Fp0, & !< plastic def grad at start of FE inc crystallite_Fi0, & !< intermediate def grad at start of FE inc crystallite_F0, & !< def grad at start of FE inc crystallite_Lp0, & !< plastic velocitiy grad at start of FE inc - crystallite_Li0 !< intermediate velocitiy grad at start of FE inc - real(pReal), dimension(:,:,:,:,:), allocatable, public :: & - crystallite_S, & !< current 2nd Piola-Kirchhoff stress vector (end of converged time step) + crystallite_Li0, & !< intermediate velocitiy grad at start of FE inc crystallite_partionedS0, & !< 2nd Piola-Kirchhoff stress vector at start of homog inc crystallite_Fp, & !< current plastic def grad (end of converged time step) crystallite_partionedFp0,& !< plastic def grad at start of homog inc crystallite_Fi, & !< current intermediate def grad (end of converged time step) crystallite_partionedFi0,& !< intermediate def grad at start of homog inc - crystallite_partionedF, & !< def grad to be reached at end of homog inc - crystallite_partionedF0, & !< def grad at start of homog inc - crystallite_Lp, & !< current plastic velocitiy grad (end of converged time step) crystallite_partionedLp0, & !< plastic velocity grad at start of homog inc crystallite_Li, & !< current intermediate velocitiy grad (end of converged time step) - crystallite_partionedLi0 !< intermediate velocity grad at start of homog inc - real(pReal), dimension(:,:,:,:,:), allocatable :: & + crystallite_partionedLi0, & !< intermediate velocity grad at start of homog inc crystallite_subFp0,& !< plastic def grad at start of crystallite inc crystallite_subFi0,& !< intermediate def grad at start of crystallite inc crystallite_subF, & !< def grad to be reached at end of crystallite inc crystallite_subF0, & !< def grad at start of crystallite inc crystallite_subLp0,& !< plastic velocity grad at start of crystallite inc crystallite_subLi0 !< intermediate velocity grad at start of crystallite inc + real(pReal), dimension(:,:,:,:,:), allocatable, public, protected :: & + crystallite_P, & !< 1st Piola-Kirchhoff stress per grain + crystallite_Lp, & !< current plastic velocitiy grad (end of converged time step) + crystallite_S, & !< current 2nd Piola-Kirchhoff stress vector (end of converged time step) + crystallite_partionedF0 !< def grad at start of homog inc + real(pReal), dimension(:,:,:,:,:), allocatable, public :: & + crystallite_partionedF !< def grad to be reached at end of homog inc + real(pReal), dimension(:,:,:,:,:,:,:), allocatable, public, protected :: & crystallite_dPdF !< current individual dPdF per grain (end of converged time step) logical, dimension(:,:,:), allocatable, public :: & @@ -139,8 +140,8 @@ subroutine crystallite_init e, & !< counter in element loop cMax, & !< maximum number of integration point components iMax, & !< maximum number of integration points - eMax, & !< maximum number of elements - myNcomponents !< number of components at current IP + eMax !< maximum number of elements + class(tNode), pointer :: & num_crystallite, & @@ -251,10 +252,9 @@ subroutine crystallite_init !-------------------------------------------------------------------------------------------------- ! initialize - !$OMP PARALLEL DO PRIVATE(myNcomponents,i,c) + !$OMP PARALLEL DO PRIVATE(i,c) do e = FEsolving_execElem(1),FEsolving_execElem(2) - myNcomponents = homogenization_Ngrains(material_homogenizationAt(e)) - do i = FEsolving_execIP(1), FEsolving_execIP(2); do c = 1, myNcomponents + do i = FEsolving_execIP(1), FEsolving_execIP(2); do c = 1, homogenization_Ngrains(material_homogenizationAt(e)) crystallite_Fp0(1:3,1:3,c,i,e) = material_orientation0(c,i,e)%asMatrix() ! Fp reflects initial orientation (see 10.1016/j.actamat.2006.01.005) crystallite_Fp0(1:3,1:3,c,i,e) = crystallite_Fp0(1:3,1:3,c,i,e) & / math_det33(crystallite_Fp0(1:3,1:3,c,i,e))**(1.0_pReal/3.0_pReal) @@ -299,7 +299,6 @@ subroutine crystallite_init print'(a42,1x,i10)', 'max # of constituents/integration point: ', cMax flush(IO_STDOUT) endif - #endif end subroutine crystallite_init @@ -414,7 +413,6 @@ function crystallite_stress() crystallite_subLi0(1:3,1:3,c,i,e) = crystallite_Li (1:3,1:3,c,i,e) crystallite_subFp0(1:3,1:3,c,i,e) = crystallite_Fp (1:3,1:3,c,i,e) crystallite_subFi0(1:3,1:3,c,i,e) = crystallite_Fi (1:3,1:3,c,i,e) - !if abbrevation, make c and p private in omp plasticState( material_phaseAt(c,e))%subState0(:,material_phaseMemberAt(c,i,e)) & = plasticState(material_phaseAt(c,e))%state( :,material_phaseMemberAt(c,i,e)) do s = 1, phase_Nsources(material_phaseAt(c,e)) @@ -465,7 +463,7 @@ function crystallite_stress() !-------------------------------------------------------------------------------------------------- ! integrate --- requires fully defined state array (basic + dependent state) - if (any(todo)) call integrateState(todo) ! TODO: unroll into proper elementloop to avoid N^2 for single point evaluation + if (any(todo)) call integrateState(todo) ! TODO: unroll into proper elementloop to avoid N^2 for single point evaluation where(.not. crystallite_converged .and. crystallite_subStep > num%subStepMinCryst) & ! do not try non-converged but fully cutbacked any further todo = .true. ! TODO: again unroll this into proper elementloop to avoid N^2 for single point evaluation @@ -492,7 +490,7 @@ subroutine crystallite_initializeRestorationPoints(i,e) i, & !< integration point number e !< element number integer :: & - c, & !< grain number + c, & !< constituent number s do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) @@ -523,7 +521,7 @@ subroutine crystallite_windForward(i,e) i, & !< integration point number e !< element number integer :: & - c, & !< grain number + c, & !< constituent number s do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) @@ -556,7 +554,7 @@ subroutine crystallite_restore(i,e,includeL) logical, intent(in) :: & includeL !< protect agains fake cutback integer :: & - c, & !< grain number + c, & !< constituent number s do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) @@ -585,7 +583,7 @@ end subroutine crystallite_restore subroutine crystallite_stressTangent integer :: & - c, & !< counter in integration point component loop + c, & !< counter in constituent loop i, & !< counter in integration point loop e, & !< counter in element loop o, & From b5eaf2cb50f75e9b5a02b6a8dcb1532ae250f072 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 29 Sep 2020 09:03:58 +0200 Subject: [PATCH 774/958] sorted --- src/crystallite.f90 | 48 +++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index a9a1056dd..0bd816142 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -36,27 +36,33 @@ module crystallite type(rotation), dimension(:,:,:), allocatable :: & crystallite_orientation !< current orientation real(pReal), dimension(:,:,:,:,:), allocatable :: & - crystallite_Fe, & !< current "elastic" def grad (end of converged time step) - crystallite_S0, & !< 2nd Piola-Kirchhoff stress vector at start of FE inc - crystallite_Fp0, & !< plastic def grad at start of FE inc - crystallite_Fi0, & !< intermediate def grad at start of FE inc crystallite_F0, & !< def grad at start of FE inc - crystallite_Lp0, & !< plastic velocitiy grad at start of FE inc - crystallite_Li0, & !< intermediate velocitiy grad at start of FE inc - crystallite_partionedS0, & !< 2nd Piola-Kirchhoff stress vector at start of homog inc - crystallite_Fp, & !< current plastic def grad (end of converged time step) - crystallite_partionedFp0,& !< plastic def grad at start of homog inc - crystallite_Fi, & !< current intermediate def grad (end of converged time step) - crystallite_partionedFi0,& !< intermediate def grad at start of homog inc - crystallite_partionedLp0, & !< plastic velocity grad at start of homog inc - crystallite_Li, & !< current intermediate velocitiy grad (end of converged time step) - crystallite_partionedLi0, & !< intermediate velocity grad at start of homog inc - crystallite_subFp0,& !< plastic def grad at start of crystallite inc - crystallite_subFi0,& !< intermediate def grad at start of crystallite inc crystallite_subF, & !< def grad to be reached at end of crystallite inc crystallite_subF0, & !< def grad at start of crystallite inc + ! + crystallite_Fe, & !< current "elastic" def grad (end of converged time step) + ! + crystallite_Fp, & !< current plastic def grad (end of converged time step) + crystallite_Fp0, & !< plastic def grad at start of FE inc + crystallite_partionedFp0,& !< plastic def grad at start of homog inc + crystallite_subFp0,& !< plastic def grad at start of crystallite inc + ! + crystallite_Fi, & !< current intermediate def grad (end of converged time step) + crystallite_Fi0, & !< intermediate def grad at start of FE inc + crystallite_partionedFi0,& !< intermediate def grad at start of homog inc + crystallite_subFi0,& !< intermediate def grad at start of crystallite inc + ! + crystallite_Lp0, & !< plastic velocitiy grad at start of FE inc + crystallite_partionedLp0, & !< plastic velocity grad at start of homog inc crystallite_subLp0,& !< plastic velocity grad at start of crystallite inc - crystallite_subLi0 !< intermediate velocity grad at start of crystallite inc + ! + crystallite_Li, & !< current intermediate velocitiy grad (end of converged time step) + crystallite_Li0, & !< intermediate velocitiy grad at start of FE inc + crystallite_partionedLi0, & !< intermediate velocity grad at start of homog inc + crystallite_subLi0, & !< intermediate velocity grad at start of crystallite inc + ! + crystallite_S0, & !< 2nd Piola-Kirchhoff stress vector at start of FE inc + crystallite_partionedS0 !< 2nd Piola-Kirchhoff stress vector at start of homog inc real(pReal), dimension(:,:,:,:,:), allocatable, public, protected :: & crystallite_P, & !< 1st Piola-Kirchhoff stress per grain crystallite_Lp, & !< current plastic velocitiy grad (end of converged time step) @@ -482,7 +488,7 @@ end function crystallite_stress !-------------------------------------------------------------------------------------------------- -!> @brief tbd +!> @brief Backup data for homog cutback. !-------------------------------------------------------------------------------------------------- subroutine crystallite_initializeRestorationPoints(i,e) @@ -513,7 +519,7 @@ end subroutine crystallite_initializeRestorationPoints !-------------------------------------------------------------------------------------------------- -!> @brief tbd +!> @brief Wind homog inc forward. !-------------------------------------------------------------------------------------------------- subroutine crystallite_windForward(i,e) @@ -544,7 +550,7 @@ end subroutine crystallite_windForward !-------------------------------------------------------------------------------------------------- -!> @brief tbd +!> @brief Restore data after homog cutback. !-------------------------------------------------------------------------------------------------- subroutine crystallite_restore(i,e,includeL) @@ -578,7 +584,7 @@ end subroutine crystallite_restore !-------------------------------------------------------------------------------------------------- -!> @brief calculate tangent (dPdF) +!> @brief Calculate tangent (dPdF). !-------------------------------------------------------------------------------------------------- subroutine crystallite_stressTangent From 3ad63cb966848e78c4f919458029b06516b9b585 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 29 Sep 2020 09:22:15 +0200 Subject: [PATCH 775/958] don't open closed units (MPI) --- src/DAMASK_interface.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index d34034d0d..39f77012c 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -82,7 +82,7 @@ subroutine DAMASK_interface_init print'(/,a)', ' <<<+- DAMASK_interface init -+>>>' - open(OUTPUT_unit, encoding='UTF-8') ! for special characters in output + if(worldrank == 0) open(OUTPUT_UNIT, encoding='UTF-8') ! for special characters in output ! http://patorjk.com/software/taag/#p=display&f=Lean&t=DAMASK%203 #ifdef DEBUG From c46b4d90a613a2ad881d9eec578326fc21e918ed Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 29 Sep 2020 12:48:29 +0200 Subject: [PATCH 776/958] modularizing --- src/crystallite.f90 | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 0bd816142..c0c140571 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -1241,7 +1241,7 @@ subroutine integrateStateFPI(todo) enddo; enddo; enddo !$OMP END PARALLEL DO - if (nonlocalBroken) call nonlocalConvergenceCheck + call nonlocalConvergenceCheck contains @@ -1328,7 +1328,7 @@ subroutine integrateStateEuler(todo) enddo; enddo; enddo !$OMP END PARALLEL DO - if (nonlocalBroken) call nonlocalConvergenceCheck + call nonlocalConvergenceCheck end subroutine integrateStateEuler @@ -1422,7 +1422,7 @@ subroutine integrateStateAdaptiveEuler(todo) enddo; enddo; enddo !$OMP END PARALLEL DO - if (nonlocalBroken) call nonlocalConvergenceCheck + call nonlocalConvergenceCheck end subroutine integrateStateAdaptiveEuler @@ -1612,7 +1612,7 @@ subroutine integrateStateRK(todo,A,B,CC,DB) enddo; enddo; enddo !$OMP END PARALLEL DO - if(nonlocalBroken) call nonlocalConvergenceCheck + call nonlocalConvergenceCheck end subroutine integrateStateRK @@ -1624,7 +1624,19 @@ end subroutine integrateStateRK subroutine nonlocalConvergenceCheck integer :: e,i,p - + logical :: nonlocal_broken + + nonlocal_broken = .false. + !$OMP PARALLEL DO PRIVATE(p) + do e = FEsolving_execElem(1),FEsolving_execElem(2) + p = material_phaseAt(1,e) + do i = FEsolving_execIP(1),FEsolving_execIP(2) + if(plasticState(p)%nonlocal .and. .not. crystallite_converged(1,i,e)) nonlocal_broken = .true. + enddo + enddo + !$OMP END PARALLEL DO + + if(.not. nonlocal_broken) return !$OMP PARALLEL DO PRIVATE(p) do e = FEsolving_execElem(1),FEsolving_execElem(2) p = material_phaseAt(1,e) From f1e96489cc3d59fe11420a9d395caf025fb234f1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 29 Sep 2020 12:56:12 +0200 Subject: [PATCH 777/958] better readable somehow on the cost of the nonlocal performance --- src/crystallite.f90 | 43 ++++++++++++++++--------------------------- 1 file changed, 16 insertions(+), 27 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index c0c140571..5f4b3bbf7 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -1147,16 +1147,15 @@ subroutine integrateStateFPI(todo) plastic_dotState real(pReal), dimension(constitutive_source_maxSizeDotState,2,maxval(phase_Nsources)) :: source_dotState logical :: & - nonlocalBroken, broken + broken + - nonlocalBroken = .false. !$OMP PARALLEL DO PRIVATE(size_pl,size_so,r,zeta,p,c,plastic_dotState,source_dotState,broken) do e = FEsolving_execElem(1),FEsolving_execElem(2) do i = FEsolving_execIP(1),FEsolving_execIP(2) do g = 1,homogenization_Ngrains(material_homogenizationAt(e)) - p = material_phaseAt(g,e) - if(todo(g,i,e) .and. .not. (nonlocalBroken .and. plasticState(p)%nonlocal)) then - + if(todo(g,i,e)) then + p = material_phaseAt(g,e) c = material_phaseMemberAt(g,i,e) broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & @@ -1164,7 +1163,6 @@ subroutine integrateStateFPI(todo) crystallite_Fi(1:3,1:3,g,i,e), & crystallite_partionedFp0, & crystallite_subdt(g,i,e), g,i,e,p,c) - if(broken .and. plasticState(p)%nonlocal) nonlocalBroken = .true. if(broken) cycle size_pl = plasticState(p)%sizeDotState @@ -1236,7 +1234,6 @@ subroutine integrateStateFPI(todo) endif enddo iteration - if(broken .and. plasticState(p)%nonlocal) nonlocalBroken = .true. endif enddo; enddo; enddo !$OMP END PARALLEL DO @@ -1284,16 +1281,15 @@ subroutine integrateStateEuler(todo) s, & sizeDotState logical :: & - nonlocalBroken, broken + broken - nonlocalBroken = .false. !$OMP PARALLEL DO PRIVATE (sizeDotState,p,c,broken) do e = FEsolving_execElem(1),FEsolving_execElem(2) do i = FEsolving_execIP(1),FEsolving_execIP(2) do g = 1,homogenization_Ngrains(material_homogenizationAt(e)) - p = material_phaseAt(g,e) - if(todo(g,i,e) .and. .not. (nonlocalBroken .and. plasticState(p)%nonlocal)) then + if(todo(g,i,e)) then + p = material_phaseAt(g,e) c = material_phaseMemberAt(g,i,e) broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & @@ -1301,7 +1297,6 @@ subroutine integrateStateEuler(todo) crystallite_Fi(1:3,1:3,g,i,e), & crystallite_partionedFp0, & crystallite_subdt(g,i,e), g,i,e,p,c) - if(broken .and. plasticState(p)%nonlocal) nonlocalBroken = .true. if(broken) cycle sizeDotState = plasticState(p)%sizeDotState @@ -1318,11 +1313,9 @@ subroutine integrateStateEuler(todo) broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & crystallite_Fe(1:3,1:3,g,i,e), & crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) - if(broken .and. plasticState(p)%nonlocal) nonlocalBroken = .true. if(broken) cycle broken = integrateStress(g,i,e) - if(broken .and. plasticState(p)%nonlocal) nonlocalBroken = .true. crystallite_converged(g,i,e) = .not. broken endif enddo; enddo; enddo @@ -1349,20 +1342,19 @@ subroutine integrateStateAdaptiveEuler(todo) s, & sizeDotState logical :: & - nonlocalBroken, broken + broken real(pReal), dimension(constitutive_plasticity_maxSizeDotState) :: residuum_plastic real(pReal), dimension(constitutive_source_maxSizeDotState,maxval(phase_Nsources)) :: residuum_source - nonlocalBroken = .false. !$OMP PARALLEL DO PRIVATE(sizeDotState,p,c,residuum_plastic,residuum_source,broken) do e = FEsolving_execElem(1),FEsolving_execElem(2) do i = FEsolving_execIP(1),FEsolving_execIP(2) do g = 1,homogenization_Ngrains(material_homogenizationAt(e)) broken = .false. - p = material_phaseAt(g,e) - if(todo(g,i,e) .and. .not. (nonlocalBroken .and. plasticState(p)%nonlocal)) then + if(todo(g,i,e)) then + p = material_phaseAt(g,e) c = material_phaseMemberAt(g,i,e) broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & @@ -1418,7 +1410,6 @@ subroutine integrateStateAdaptiveEuler(todo) enddo endif - if(broken .and. plasticState(p)%nonlocal) nonlocalBroken = .true. enddo; enddo; enddo !$OMP END PARALLEL DO @@ -1503,19 +1494,18 @@ subroutine integrateStateRK(todo,A,B,CC,DB) s, & sizeDotState logical :: & - nonlocalBroken, broken + broken real(pReal), dimension(constitutive_source_maxSizeDotState,size(B),maxval(phase_Nsources)) :: source_RKdotState real(pReal), dimension(constitutive_plasticity_maxSizeDotState,size(B)) :: plastic_RKdotState - nonlocalBroken = .false. !$OMP PARALLEL DO PRIVATE(sizeDotState,p,c,plastic_RKdotState,source_RKdotState,broken) do e = FEsolving_execElem(1),FEsolving_execElem(2) do i = FEsolving_execIP(1),FEsolving_execIP(2) do g = 1,homogenization_Ngrains(material_homogenizationAt(e)) broken = .false. - p = material_phaseAt(g,e) - if(todo(g,i,e) .and. .not. (nonlocalBroken .and. plasticState(p)%nonlocal)) then + if(todo(g,i,e)) then + p = material_phaseAt(g,e) c = material_phaseMemberAt(g,i,e) broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & @@ -1608,7 +1598,6 @@ subroutine integrateStateRK(todo,A,B,CC,DB) crystallite_converged(g,i,e) = .not. broken endif - if(broken .and. plasticState(p)%nonlocal) nonlocalBroken = .true. enddo; enddo; enddo !$OMP END PARALLEL DO @@ -1624,8 +1613,8 @@ end subroutine integrateStateRK subroutine nonlocalConvergenceCheck integer :: e,i,p - logical :: nonlocal_broken - + logical :: nonlocal_broken + nonlocal_broken = .false. !$OMP PARALLEL DO PRIVATE(p) do e = FEsolving_execElem(1),FEsolving_execElem(2) @@ -1635,7 +1624,7 @@ subroutine nonlocalConvergenceCheck enddo enddo !$OMP END PARALLEL DO - + if(.not. nonlocal_broken) return !$OMP PARALLEL DO PRIVATE(p) do e = FEsolving_execElem(1),FEsolving_execElem(2) From 587d5ee445394808eb55ad2e9164575428e589ea Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 29 Sep 2020 13:13:53 +0200 Subject: [PATCH 778/958] no need for two loops --- src/crystallite.f90 | 97 ++++++++++++--------------------------------- 1 file changed, 25 insertions(+), 72 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 5f4b3bbf7..d21fd453f 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -460,16 +460,18 @@ function crystallite_stress() math_inv33(crystallite_Fi(1:3,1:3,c,i,e))) crystallite_subdt(c,i,e) = crystallite_subStep(c,i,e) * crystallite_dt(c,i,e) crystallite_converged(c,i,e) = .false. + call integrateState(c,i,e) endif enddo enddo enddo elementLooping3 !$OMP END PARALLEL DO + + call nonlocalConvergenceCheck !-------------------------------------------------------------------------------------------------- ! integrate --- requires fully defined state array (basic + dependent state) - if (any(todo)) call integrateState(todo) ! TODO: unroll into proper elementloop to avoid N^2 for single point evaluation where(.not. crystallite_converged .and. crystallite_subStep > num%subStepMinCryst) & ! do not try non-converged but fully cutbacked any further todo = .true. ! TODO: again unroll this into proper elementloop to avoid N^2 for single point evaluation @@ -1125,9 +1127,8 @@ end function integrateStress !> @brief integrate stress, state with adaptive 1st order explicit Euler method !> using Fixed Point Iteration to adapt the stepsize !-------------------------------------------------------------------------------------------------- -subroutine integrateStateFPI(todo) +subroutine integrateStateFPI(g,i,e) - logical, dimension(:,:,:), intent(in) :: todo integer :: & NiterationState, & !< number of iterations in state loop e, & !< element index in element loop @@ -1150,11 +1151,6 @@ subroutine integrateStateFPI(todo) broken - !$OMP PARALLEL DO PRIVATE(size_pl,size_so,r,zeta,p,c,plastic_dotState,source_dotState,broken) - do e = FEsolving_execElem(1),FEsolving_execElem(2) - do i = FEsolving_execIP(1),FEsolving_execIP(2) - do g = 1,homogenization_Ngrains(material_homogenizationAt(e)) - if(todo(g,i,e)) then p = material_phaseAt(g,e) c = material_phaseMemberAt(g,i,e) @@ -1163,7 +1159,7 @@ subroutine integrateStateFPI(todo) crystallite_Fi(1:3,1:3,g,i,e), & crystallite_partionedFp0, & crystallite_subdt(g,i,e), g,i,e,p,c) - if(broken) cycle + if(broken) return size_pl = plasticState(p)%sizeDotState plasticState(p)%state(1:size_pl,c) = plasticState(p)%subState0(1:size_pl,c) & @@ -1234,11 +1230,7 @@ subroutine integrateStateFPI(todo) endif enddo iteration - endif - enddo; enddo; enddo - !$OMP END PARALLEL DO - call nonlocalConvergenceCheck contains @@ -1268,9 +1260,7 @@ end subroutine integrateStateFPI !-------------------------------------------------------------------------------------------------- !> @brief integrate state with 1st order explicit Euler method !-------------------------------------------------------------------------------------------------- -subroutine integrateStateEuler(todo) - - logical, dimension(:,:,:), intent(in) :: todo +subroutine integrateStateEuler(g,i,e) integer :: & e, & !< element index in element loop @@ -1283,11 +1273,6 @@ subroutine integrateStateEuler(todo) logical :: & broken - !$OMP PARALLEL DO PRIVATE (sizeDotState,p,c,broken) - do e = FEsolving_execElem(1),FEsolving_execElem(2) - do i = FEsolving_execIP(1),FEsolving_execIP(2) - do g = 1,homogenization_Ngrains(material_homogenizationAt(e)) - if(todo(g,i,e)) then p = material_phaseAt(g,e) c = material_phaseMemberAt(g,i,e) @@ -1297,7 +1282,7 @@ subroutine integrateStateEuler(todo) crystallite_Fi(1:3,1:3,g,i,e), & crystallite_partionedFp0, & crystallite_subdt(g,i,e), g,i,e,p,c) - if(broken) cycle + if(broken) return sizeDotState = plasticState(p)%sizeDotState plasticState(p)%state(1:sizeDotState,c) = plasticState(p)%subState0(1:sizeDotState,c) & @@ -1313,15 +1298,10 @@ subroutine integrateStateEuler(todo) broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & crystallite_Fe(1:3,1:3,g,i,e), & crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) - if(broken) cycle + if(broken) return broken = integrateStress(g,i,e) crystallite_converged(g,i,e) = .not. broken - endif - enddo; enddo; enddo - !$OMP END PARALLEL DO - - call nonlocalConvergenceCheck end subroutine integrateStateEuler @@ -1329,9 +1309,7 @@ end subroutine integrateStateEuler !-------------------------------------------------------------------------------------------------- !> @brief integrate stress, state with 1st order Euler method with adaptive step size !-------------------------------------------------------------------------------------------------- -subroutine integrateStateAdaptiveEuler(todo) - - logical, dimension(:,:,:), intent(in) :: todo +subroutine integrateStateAdaptiveEuler(g,i,e) integer :: & e, & ! element index in element loop @@ -1347,13 +1325,7 @@ subroutine integrateStateAdaptiveEuler(todo) real(pReal), dimension(constitutive_plasticity_maxSizeDotState) :: residuum_plastic real(pReal), dimension(constitutive_source_maxSizeDotState,maxval(phase_Nsources)) :: residuum_source - !$OMP PARALLEL DO PRIVATE(sizeDotState,p,c,residuum_plastic,residuum_source,broken) - do e = FEsolving_execElem(1),FEsolving_execElem(2) - do i = FEsolving_execIP(1),FEsolving_execIP(2) - do g = 1,homogenization_Ngrains(material_homogenizationAt(e)) - broken = .false. - if(todo(g,i,e)) then p = material_phaseAt(g,e) c = material_phaseMemberAt(g,i,e) @@ -1362,7 +1334,7 @@ subroutine integrateStateAdaptiveEuler(todo) crystallite_Fi(1:3,1:3,g,i,e), & crystallite_partionedFp0, & crystallite_subdt(g,i,e), g,i,e,p,c) - if(broken) cycle + if(broken) return sizeDotState = plasticState(p)%sizeDotState @@ -1381,17 +1353,17 @@ subroutine integrateStateAdaptiveEuler(todo) broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & crystallite_Fe(1:3,1:3,g,i,e), & crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) - if(broken) cycle + if(broken) return broken = integrateStress(g,i,e) - if(broken) cycle + if(broken) return broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & crystallite_partionedF0, & crystallite_Fi(1:3,1:3,g,i,e), & crystallite_partionedFp0, & crystallite_subdt(g,i,e), g,i,e,p,c) - if(broken) cycle + if(broken) return sizeDotState = plasticState(p)%sizeDotState @@ -1407,13 +1379,7 @@ subroutine integrateStateAdaptiveEuler(todo) + 0.5_pReal*sourceState(p)%p(s)%dotState(:,c)*crystallite_subdt(g,i,e), & sourceState(p)%p(s)%state(1:sizeDotState,c), & sourceState(p)%p(s)%atol(1:sizeDotState)) - enddo - - endif - enddo; enddo; enddo - !$OMP END PARALLEL DO - - call nonlocalConvergenceCheck + enddo end subroutine integrateStateAdaptiveEuler @@ -1421,9 +1387,9 @@ end subroutine integrateStateAdaptiveEuler !--------------------------------------------------------------------------------------------------- !> @brief Integrate state (including stress integration) with the classic Runge Kutta method !--------------------------------------------------------------------------------------------------- -subroutine integrateStateRK4(todo) +subroutine integrateStateRK4(g,i,e) - logical, dimension(:,:,:), intent(in) :: todo + integer :: g,i,e real(pReal), dimension(3,3), parameter :: & A = reshape([& @@ -1436,7 +1402,7 @@ subroutine integrateStateRK4(todo) real(pReal), dimension(4), parameter :: & B = [1.0_pReal/6.0_pReal, 1.0_pReal/3.0_pReal, 1.0_pReal/3.0_pReal, 1.0_pReal/6.0_pReal] - call integrateStateRK(todo,A,B,C) + call integrateStateRK(g,i,e,A,B,C) end subroutine integrateStateRK4 @@ -1444,9 +1410,9 @@ end subroutine integrateStateRK4 !--------------------------------------------------------------------------------------------------- !> @brief Integrate state (including stress integration) with the Cash-Carp method !--------------------------------------------------------------------------------------------------- -subroutine integrateStateRKCK45(todo) +subroutine integrateStateRKCK45(g,i,e) - logical, dimension(:,:,:), intent(in) :: todo + integer :: g,i,e real(pReal), dimension(5,5), parameter :: & A = reshape([& @@ -1466,7 +1432,7 @@ subroutine integrateStateRKCK45(todo) [2825.0_pReal/27648.0_pReal, .0_pReal, 18575.0_pReal/48384.0_pReal,& 13525.0_pReal/55296.0_pReal, 277.0_pReal/14336.0_pReal, 1._pReal/4._pReal] - call integrateStateRK(todo,A,B,C,DB) + call integrateStateRK(g,i,e,A,B,C,DB) end subroutine integrateStateRKCK45 @@ -1475,9 +1441,8 @@ end subroutine integrateStateRKCK45 !> @brief Integrate state (including stress integration) with an explicit Runge-Kutta method or an !! embedded explicit Runge-Kutta method !-------------------------------------------------------------------------------------------------- -subroutine integrateStateRK(todo,A,B,CC,DB) +subroutine integrateStateRK(g,i,e,A,B,CC,DB) - logical, dimension(:,:,:), intent(in) :: todo real(pReal), dimension(:,:), intent(in) :: A real(pReal), dimension(:), intent(in) :: B, CC @@ -1498,13 +1463,6 @@ subroutine integrateStateRK(todo,A,B,CC,DB) real(pReal), dimension(constitutive_source_maxSizeDotState,size(B),maxval(phase_Nsources)) :: source_RKdotState real(pReal), dimension(constitutive_plasticity_maxSizeDotState,size(B)) :: plastic_RKdotState - !$OMP PARALLEL DO PRIVATE(sizeDotState,p,c,plastic_RKdotState,source_RKdotState,broken) - do e = FEsolving_execElem(1),FEsolving_execElem(2) - do i = FEsolving_execIP(1),FEsolving_execIP(2) - do g = 1,homogenization_Ngrains(material_homogenizationAt(e)) - broken = .false. - - if(todo(g,i,e)) then p = material_phaseAt(g,e) c = material_phaseMemberAt(g,i,e) @@ -1513,7 +1471,7 @@ subroutine integrateStateRK(todo,A,B,CC,DB) crystallite_Fi(1:3,1:3,g,i,e), & crystallite_partionedFp0, & crystallite_subdt(g,i,e), g,i,e,p,c) - if(broken) cycle + if(broken) return do stage = 1,size(A,1) sizeDotState = plasticState(p)%sizeDotState @@ -1558,7 +1516,7 @@ subroutine integrateStateRK(todo,A,B,CC,DB) if(broken) exit enddo - if(broken) cycle + if(broken) return sizeDotState = plasticState(p)%sizeDotState @@ -1587,21 +1545,16 @@ subroutine integrateStateRK(todo,A,B,CC,DB) sourceState(p)%p(s)%state(1:sizeDotState,c), & sourceState(p)%p(s)%atol(1:sizeDotState)) enddo - if(broken) cycle + if(broken) return broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & crystallite_Fe(1:3,1:3,g,i,e), & crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) - if(broken) cycle + if(broken) return broken = integrateStress(g,i,e) crystallite_converged(g,i,e) = .not. broken - endif - enddo; enddo; enddo - !$OMP END PARALLEL DO - - call nonlocalConvergenceCheck end subroutine integrateStateRK From d0df748fc142481f29cdda9232634aade01b56f8 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 29 Sep 2020 13:36:15 +0200 Subject: [PATCH 779/958] cleaning --- src/crystallite.f90 | 474 ++++++++++++++++++++++---------------------- 1 file changed, 238 insertions(+), 236 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index d21fd453f..9411cdfc7 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -467,7 +467,7 @@ function crystallite_stress() enddo enddo elementLooping3 !$OMP END PARALLEL DO - + call nonlocalConvergenceCheck !-------------------------------------------------------------------------------------------------- @@ -1129,11 +1129,12 @@ end function integrateStress !-------------------------------------------------------------------------------------------------- subroutine integrateStateFPI(g,i,e) - integer :: & - NiterationState, & !< number of iterations in state loop + integer, intent(in) :: & e, & !< element index in element loop i, & !< integration point index in ip loop - g, & !< grain index in grain loop + g !< grain index in grain loop + integer :: & + NiterationState, & !< number of iterations in state loop p, & c, & s, & @@ -1150,86 +1151,85 @@ subroutine integrateStateFPI(g,i,e) logical :: & broken + p = material_phaseAt(g,e) + c = material_phaseMemberAt(g,i,e) - p = material_phaseAt(g,e) - c = material_phaseMemberAt(g,i,e) + broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & + crystallite_partionedF0, & + crystallite_Fi(1:3,1:3,g,i,e), & + crystallite_partionedFp0, & + crystallite_subdt(g,i,e), g,i,e,p,c) + if(broken) return - broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & - crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & - crystallite_subdt(g,i,e), g,i,e,p,c) - if(broken) return + size_pl = plasticState(p)%sizeDotState + plasticState(p)%state(1:size_pl,c) = plasticState(p)%subState0(1:size_pl,c) & + + plasticState(p)%dotState (1:size_pl,c) & + * crystallite_subdt(g,i,e) + plastic_dotState(1:size_pl,2) = 0.0_pReal + do s = 1, phase_Nsources(p) + size_so(s) = sourceState(p)%p(s)%sizeDotState + sourceState(p)%p(s)%state(1:size_so(s),c) = sourceState(p)%p(s)%subState0(1:size_so(s),c) & + + sourceState(p)%p(s)%dotState (1:size_so(s),c) & + * crystallite_subdt(g,i,e) + source_dotState(1:size_so(s),2,s) = 0.0_pReal + enddo - size_pl = plasticState(p)%sizeDotState - plasticState(p)%state(1:size_pl,c) = plasticState(p)%subState0(1:size_pl,c) & - + plasticState(p)%dotState (1:size_pl,c) & - * crystallite_subdt(g,i,e) - plastic_dotState(1:size_pl,2) = 0.0_pReal - do s = 1, phase_Nsources(p) - size_so(s) = sourceState(p)%p(s)%sizeDotState - sourceState(p)%p(s)%state(1:size_so(s),c) = sourceState(p)%p(s)%subState0(1:size_so(s),c) & - + sourceState(p)%p(s)%dotState (1:size_so(s),c) & - * crystallite_subdt(g,i,e) - source_dotState(1:size_so(s),2,s) = 0.0_pReal - enddo + iteration: do NiterationState = 1, num%nState - iteration: do NiterationState = 1, num%nState + if(nIterationState > 1) plastic_dotState(1:size_pl,2) = plastic_dotState(1:size_pl,1) + plastic_dotState(1:size_pl,1) = plasticState(p)%dotState(:,c) + do s = 1, phase_Nsources(p) + if(nIterationState > 1) source_dotState(1:size_so(s),2,s) = source_dotState(1:size_so(s),1,s) + source_dotState(1:size_so(s),1,s) = sourceState(p)%p(s)%dotState(:,c) + enddo - if(nIterationState > 1) plastic_dotState(1:size_pl,2) = plastic_dotState(1:size_pl,1) - plastic_dotState(1:size_pl,1) = plasticState(p)%dotState(:,c) - do s = 1, phase_Nsources(p) - if(nIterationState > 1) source_dotState(1:size_so(s),2,s) = source_dotState(1:size_so(s),1,s) - source_dotState(1:size_so(s),1,s) = sourceState(p)%p(s)%dotState(:,c) - enddo + broken = integrateStress(g,i,e) + if(broken) exit iteration - broken = integrateStress(g,i,e) - if(broken) exit iteration + broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & + crystallite_partionedF0, & + crystallite_Fi(1:3,1:3,g,i,e), & + crystallite_partionedFp0, & + crystallite_subdt(g,i,e), g,i,e,p,c) + if(broken) exit iteration - broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & - crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & - crystallite_subdt(g,i,e), g,i,e,p,c) - if(broken) exit iteration + zeta = damper(plasticState(p)%dotState(:,c),plastic_dotState(1:size_pl,1),& + plastic_dotState(1:size_pl,2)) + plasticState(p)%dotState(:,c) = plasticState(p)%dotState(:,c) * zeta & + + plastic_dotState(1:size_pl,1) * (1.0_pReal - zeta) + r(1:size_pl) = plasticState(p)%state (1:size_pl,c) & + - plasticState(p)%subState0(1:size_pl,c) & + - plasticState(p)%dotState (1:size_pl,c) * crystallite_subdt(g,i,e) + plasticState(p)%state(1:size_pl,c) = plasticState(p)%state(1:size_pl,c) & + - r(1:size_pl) + crystallite_converged(g,i,e) = converged(r(1:size_pl), & + plasticState(p)%state(1:size_pl,c), & + plasticState(p)%atol(1:size_pl)) + do s = 1, phase_Nsources(p) + zeta = damper(sourceState(p)%p(s)%dotState(:,c), & + source_dotState(1:size_so(s),1,s),& + source_dotState(1:size_so(s),2,s)) + sourceState(p)%p(s)%dotState(:,c) = sourceState(p)%p(s)%dotState(:,c) * zeta & + + source_dotState(1:size_so(s),1,s)* (1.0_pReal - zeta) + r(1:size_so(s)) = sourceState(p)%p(s)%state (1:size_so(s),c) & + - sourceState(p)%p(s)%subState0(1:size_so(s),c) & + - sourceState(p)%p(s)%dotState (1:size_so(s),c) * crystallite_subdt(g,i,e) + sourceState(p)%p(s)%state(1:size_so(s),c) = sourceState(p)%p(s)%state(1:size_so(s),c) & + - r(1:size_so(s)) + crystallite_converged(g,i,e) = & + crystallite_converged(g,i,e) .and. converged(r(1:size_so(s)), & + sourceState(p)%p(s)%state(1:size_so(s),c), & + sourceState(p)%p(s)%atol(1:size_so(s))) + enddo - zeta = damper(plasticState(p)%dotState(:,c),plastic_dotState(1:size_pl,1),& - plastic_dotState(1:size_pl,2)) - plasticState(p)%dotState(:,c) = plasticState(p)%dotState(:,c) * zeta & - + plastic_dotState(1:size_pl,1) * (1.0_pReal - zeta) - r(1:size_pl) = plasticState(p)%state (1:size_pl,c) & - - plasticState(p)%subState0(1:size_pl,c) & - - plasticState(p)%dotState (1:size_pl,c) * crystallite_subdt(g,i,e) - plasticState(p)%state(1:size_pl,c) = plasticState(p)%state(1:size_pl,c) & - - r(1:size_pl) - crystallite_converged(g,i,e) = converged(r(1:size_pl), & - plasticState(p)%state(1:size_pl,c), & - plasticState(p)%atol(1:size_pl)) - do s = 1, phase_Nsources(p) - zeta = damper(sourceState(p)%p(s)%dotState(:,c), & - source_dotState(1:size_so(s),1,s),& - source_dotState(1:size_so(s),2,s)) - sourceState(p)%p(s)%dotState(:,c) = sourceState(p)%p(s)%dotState(:,c) * zeta & - + source_dotState(1:size_so(s),1,s)* (1.0_pReal - zeta) - r(1:size_so(s)) = sourceState(p)%p(s)%state (1:size_so(s),c) & - - sourceState(p)%p(s)%subState0(1:size_so(s),c) & - - sourceState(p)%p(s)%dotState (1:size_so(s),c) * crystallite_subdt(g,i,e) - sourceState(p)%p(s)%state(1:size_so(s),c) = sourceState(p)%p(s)%state(1:size_so(s),c) & - - r(1:size_so(s)) - crystallite_converged(g,i,e) = & - crystallite_converged(g,i,e) .and. converged(r(1:size_so(s)), & - sourceState(p)%p(s)%state(1:size_so(s),c), & - sourceState(p)%p(s)%atol(1:size_so(s))) - enddo + if(crystallite_converged(g,i,e)) then + broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & + crystallite_Fe(1:3,1:3,g,i,e), & + crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) + exit iteration + endif - if(crystallite_converged(g,i,e)) then - broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_Fe(1:3,1:3,g,i,e), & - crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) - exit iteration - endif - - enddo iteration + enddo iteration contains @@ -1262,10 +1262,11 @@ end subroutine integrateStateFPI !-------------------------------------------------------------------------------------------------- subroutine integrateStateEuler(g,i,e) - integer :: & + integer, intent(in) :: & e, & !< element index in element loop i, & !< integration point index in ip loop - g, & !< grain index in grain loop + g !< grain index in grain loop + integer :: & p, & c, & s, & @@ -1273,35 +1274,34 @@ subroutine integrateStateEuler(g,i,e) logical :: & broken + p = material_phaseAt(g,e) + c = material_phaseMemberAt(g,i,e) - p = material_phaseAt(g,e) - c = material_phaseMemberAt(g,i,e) + broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & + crystallite_partionedF0, & + crystallite_Fi(1:3,1:3,g,i,e), & + crystallite_partionedFp0, & + crystallite_subdt(g,i,e), g,i,e,p,c) + if(broken) return - broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & - crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & - crystallite_subdt(g,i,e), g,i,e,p,c) - if(broken) return + sizeDotState = plasticState(p)%sizeDotState + plasticState(p)%state(1:sizeDotState,c) = plasticState(p)%subState0(1:sizeDotState,c) & + + plasticState(p)%dotState (1:sizeDotState,c) & + * crystallite_subdt(g,i,e) + do s = 1, phase_Nsources(p) + sizeDotState = sourceState(p)%p(s)%sizeDotState + sourceState(p)%p(s)%state(1:sizeDotState,c) = sourceState(p)%p(s)%subState0(1:sizeDotState,c) & + + sourceState(p)%p(s)%dotState (1:sizeDotState,c) & + * crystallite_subdt(g,i,e) + enddo - sizeDotState = plasticState(p)%sizeDotState - plasticState(p)%state(1:sizeDotState,c) = plasticState(p)%subState0(1:sizeDotState,c) & - + plasticState(p)%dotState (1:sizeDotState,c) & - * crystallite_subdt(g,i,e) - do s = 1, phase_Nsources(p) - sizeDotState = sourceState(p)%p(s)%sizeDotState - sourceState(p)%p(s)%state(1:sizeDotState,c) = sourceState(p)%p(s)%subState0(1:sizeDotState,c) & - + sourceState(p)%p(s)%dotState (1:sizeDotState,c) & - * crystallite_subdt(g,i,e) - enddo + broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & + crystallite_Fe(1:3,1:3,g,i,e), & + crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) + if(broken) return - broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_Fe(1:3,1:3,g,i,e), & - crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) - if(broken) return - - broken = integrateStress(g,i,e) - crystallite_converged(g,i,e) = .not. broken + broken = integrateStress(g,i,e) + crystallite_converged(g,i,e) = .not. broken end subroutine integrateStateEuler @@ -1311,10 +1311,11 @@ end subroutine integrateStateEuler !-------------------------------------------------------------------------------------------------- subroutine integrateStateAdaptiveEuler(g,i,e) + integer, intent(in) :: & + e, & !< element index in element loop + i, & !< integration point index in ip loop + g !< grain index in grain loop integer :: & - e, & ! element index in element loop - i, & ! integration point index in ip loop - g, & ! grain index in grain loop p, & c, & s, & @@ -1326,60 +1327,60 @@ subroutine integrateStateAdaptiveEuler(g,i,e) real(pReal), dimension(constitutive_source_maxSizeDotState,maxval(phase_Nsources)) :: residuum_source - p = material_phaseAt(g,e) - c = material_phaseMemberAt(g,i,e) + p = material_phaseAt(g,e) + c = material_phaseMemberAt(g,i,e) - broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & - crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & - crystallite_subdt(g,i,e), g,i,e,p,c) - if(broken) return + broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & + crystallite_partionedF0, & + crystallite_Fi(1:3,1:3,g,i,e), & + crystallite_partionedFp0, & + crystallite_subdt(g,i,e), g,i,e,p,c) + if(broken) return - sizeDotState = plasticState(p)%sizeDotState + sizeDotState = plasticState(p)%sizeDotState - residuum_plastic(1:sizeDotState) = - plasticState(p)%dotstate(1:sizeDotState,c) * 0.5_pReal * crystallite_subdt(g,i,e) - plasticState(p)%state(1:sizeDotState,c) = plasticState(p)%subState0(1:sizeDotState,c) & - + plasticState(p)%dotstate(1:sizeDotState,c) * crystallite_subdt(g,i,e) - do s = 1, phase_Nsources(p) - sizeDotState = sourceState(p)%p(s)%sizeDotState + residuum_plastic(1:sizeDotState) = - plasticState(p)%dotstate(1:sizeDotState,c) * 0.5_pReal * crystallite_subdt(g,i,e) + plasticState(p)%state(1:sizeDotState,c) = plasticState(p)%subState0(1:sizeDotState,c) & + + plasticState(p)%dotstate(1:sizeDotState,c) * crystallite_subdt(g,i,e) + do s = 1, phase_Nsources(p) + sizeDotState = sourceState(p)%p(s)%sizeDotState - residuum_source(1:sizeDotState,s) = - sourceState(p)%p(s)%dotstate(1:sizeDotState,c) & - * 0.5_pReal * crystallite_subdt(g,i,e) - sourceState(p)%p(s)%state(1:sizeDotState,c) = sourceState(p)%p(s)%subState0(1:sizeDotState,c) & - + sourceState(p)%p(s)%dotstate(1:sizeDotState,c) * crystallite_subdt(g,i,e) - enddo + residuum_source(1:sizeDotState,s) = - sourceState(p)%p(s)%dotstate(1:sizeDotState,c) & + * 0.5_pReal * crystallite_subdt(g,i,e) + sourceState(p)%p(s)%state(1:sizeDotState,c) = sourceState(p)%p(s)%subState0(1:sizeDotState,c) & + + sourceState(p)%p(s)%dotstate(1:sizeDotState,c) * crystallite_subdt(g,i,e) + enddo - broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_Fe(1:3,1:3,g,i,e), & - crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) - if(broken) return + broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & + crystallite_Fe(1:3,1:3,g,i,e), & + crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) + if(broken) return - broken = integrateStress(g,i,e) - if(broken) return + broken = integrateStress(g,i,e) + if(broken) return - broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & - crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & - crystallite_subdt(g,i,e), g,i,e,p,c) - if(broken) return + broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & + crystallite_partionedF0, & + crystallite_Fi(1:3,1:3,g,i,e), & + crystallite_partionedFp0, & + crystallite_subdt(g,i,e), g,i,e,p,c) + if(broken) return - sizeDotState = plasticState(p)%sizeDotState - crystallite_converged(g,i,e) = converged(residuum_plastic(1:sizeDotState) & - + 0.5_pReal * plasticState(p)%dotState(:,c) * crystallite_subdt(g,i,e), & - plasticState(p)%state(1:sizeDotState,c), & - plasticState(p)%atol(1:sizeDotState)) + sizeDotState = plasticState(p)%sizeDotState + crystallite_converged(g,i,e) = converged(residuum_plastic(1:sizeDotState) & + + 0.5_pReal * plasticState(p)%dotState(:,c) * crystallite_subdt(g,i,e), & + plasticState(p)%state(1:sizeDotState,c), & + plasticState(p)%atol(1:sizeDotState)) - do s = 1, phase_Nsources(p) - sizeDotState = sourceState(p)%p(s)%sizeDotState - crystallite_converged(g,i,e) = & - crystallite_converged(g,i,e) .and. converged(residuum_source(1:sizeDotState,s) & - + 0.5_pReal*sourceState(p)%p(s)%dotState(:,c)*crystallite_subdt(g,i,e), & - sourceState(p)%p(s)%state(1:sizeDotState,c), & - sourceState(p)%p(s)%atol(1:sizeDotState)) - enddo + do s = 1, phase_Nsources(p) + sizeDotState = sourceState(p)%p(s)%sizeDotState + crystallite_converged(g,i,e) = & + crystallite_converged(g,i,e) .and. converged(residuum_source(1:sizeDotState,s) & + + 0.5_pReal*sourceState(p)%p(s)%dotState(:,c)*crystallite_subdt(g,i,e), & + sourceState(p)%p(s)%state(1:sizeDotState,c), & + sourceState(p)%p(s)%atol(1:sizeDotState)) + enddo end subroutine integrateStateAdaptiveEuler @@ -1389,7 +1390,7 @@ end subroutine integrateStateAdaptiveEuler !--------------------------------------------------------------------------------------------------- subroutine integrateStateRK4(g,i,e) - integer :: g,i,e + integer, intent(in) :: g,i,e real(pReal), dimension(3,3), parameter :: & A = reshape([& @@ -1412,7 +1413,7 @@ end subroutine integrateStateRK4 !--------------------------------------------------------------------------------------------------- subroutine integrateStateRKCK45(g,i,e) - integer :: g,i,e + integer, intent(in) :: g,i,e real(pReal), dimension(5,5), parameter :: & A = reshape([& @@ -1448,10 +1449,11 @@ subroutine integrateStateRK(g,i,e,A,B,CC,DB) real(pReal), dimension(:), intent(in) :: B, CC real(pReal), dimension(:), intent(in), optional :: DB + integer, intent(in) :: & + e, & !< element index in element loop + i, & !< integration point index in ip loop + g !< grain index in grain loop integer :: & - e, & ! element index in element loop - i, & ! integration point index in ip loop - g, & ! grain index in grain loop stage, & ! stage index in integration stage loop n, & p, & @@ -1463,97 +1465,97 @@ subroutine integrateStateRK(g,i,e,A,B,CC,DB) real(pReal), dimension(constitutive_source_maxSizeDotState,size(B),maxval(phase_Nsources)) :: source_RKdotState real(pReal), dimension(constitutive_plasticity_maxSizeDotState,size(B)) :: plastic_RKdotState - p = material_phaseAt(g,e) - c = material_phaseMemberAt(g,i,e) + p = material_phaseAt(g,e) + c = material_phaseMemberAt(g,i,e) - broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & - crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & - crystallite_subdt(g,i,e), g,i,e,p,c) - if(broken) return + broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & + crystallite_partionedF0, & + crystallite_Fi(1:3,1:3,g,i,e), & + crystallite_partionedFp0, & + crystallite_subdt(g,i,e), g,i,e,p,c) + if(broken) return - do stage = 1,size(A,1) - sizeDotState = plasticState(p)%sizeDotState - plastic_RKdotState(1:sizeDotState,stage) = plasticState(p)%dotState(:,c) - plasticState(p)%dotState(:,c) = A(1,stage) * plastic_RKdotState(1:sizeDotState,1) - do s = 1, phase_Nsources(p) - sizeDotState = sourceState(p)%p(s)%sizeDotState - source_RKdotState(1:sizeDotState,stage,s) = sourceState(p)%p(s)%dotState(:,c) - sourceState(p)%p(s)%dotState(:,c) = A(1,stage) * source_RKdotState(1:sizeDotState,1,s) - enddo + do stage = 1,size(A,1) + sizeDotState = plasticState(p)%sizeDotState + plastic_RKdotState(1:sizeDotState,stage) = plasticState(p)%dotState(:,c) + plasticState(p)%dotState(:,c) = A(1,stage) * plastic_RKdotState(1:sizeDotState,1) + do s = 1, phase_Nsources(p) + sizeDotState = sourceState(p)%p(s)%sizeDotState + source_RKdotState(1:sizeDotState,stage,s) = sourceState(p)%p(s)%dotState(:,c) + sourceState(p)%p(s)%dotState(:,c) = A(1,stage) * source_RKdotState(1:sizeDotState,1,s) + enddo - do n = 2, stage - sizeDotState = plasticState(p)%sizeDotState - plasticState(p)%dotState(:,c) = plasticState(p)%dotState(:,c) & - + A(n,stage) * plastic_RKdotState(1:sizeDotState,n) - do s = 1, phase_Nsources(p) - sizeDotState = sourceState(p)%p(s)%sizeDotState - sourceState(p)%p(s)%dotState(:,c) = sourceState(p)%p(s)%dotState(:,c) & - + A(n,stage) * source_RKdotState(1:sizeDotState,n,s) - enddo - enddo + do n = 2, stage + sizeDotState = plasticState(p)%sizeDotState + plasticState(p)%dotState(:,c) = plasticState(p)%dotState(:,c) & + + A(n,stage) * plastic_RKdotState(1:sizeDotState,n) + do s = 1, phase_Nsources(p) + sizeDotState = sourceState(p)%p(s)%sizeDotState + sourceState(p)%p(s)%dotState(:,c) = sourceState(p)%p(s)%dotState(:,c) & + + A(n,stage) * source_RKdotState(1:sizeDotState,n,s) + enddo + enddo - sizeDotState = plasticState(p)%sizeDotState - plasticState(p)%state(1:sizeDotState,c) = plasticState(p)%subState0(1:sizeDotState,c) & - + plasticState(p)%dotState (1:sizeDotState,c) & - * crystallite_subdt(g,i,e) - do s = 1, phase_Nsources(p) - sizeDotState = sourceState(p)%p(s)%sizeDotState - sourceState(p)%p(s)%state(1:sizeDotState,c) = sourceState(p)%p(s)%subState0(1:sizeDotState,c) & - + sourceState(p)%p(s)%dotState (1:sizeDotState,c) & - * crystallite_subdt(g,i,e) - enddo - - broken = integrateStress(g,i,e,CC(stage)) - if(broken) exit - - broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & - crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & - crystallite_subdt(g,i,e)*CC(stage), g,i,e,p,c) - if(broken) exit - - enddo - if(broken) return - - sizeDotState = plasticState(p)%sizeDotState - - plastic_RKdotState(1:sizeDotState,size(B)) = plasticState (p)%dotState(:,c) - plasticState(p)%dotState(:,c) = matmul(plastic_RKdotState(1:sizeDotState,1:size(B)),B) - plasticState(p)%state(1:sizeDotState,c) = plasticState(p)%subState0(1:sizeDotState,c) & - + plasticState(p)%dotState (1:sizeDotState,c) & + sizeDotState = plasticState(p)%sizeDotState + plasticState(p)%state(1:sizeDotState,c) = plasticState(p)%subState0(1:sizeDotState,c) & + + plasticState(p)%dotState (1:sizeDotState,c) & + * crystallite_subdt(g,i,e) + do s = 1, phase_Nsources(p) + sizeDotState = sourceState(p)%p(s)%sizeDotState + sourceState(p)%p(s)%state(1:sizeDotState,c) = sourceState(p)%p(s)%subState0(1:sizeDotState,c) & + + sourceState(p)%p(s)%dotState (1:sizeDotState,c) & * crystallite_subdt(g,i,e) - if(present(DB)) & - broken = .not. converged( matmul(plastic_RKdotState(1:sizeDotState,1:size(DB)),DB) & - * crystallite_subdt(g,i,e), & - plasticState(p)%state(1:sizeDotState,c), & - plasticState(p)%atol(1:sizeDotState)) + enddo - do s = 1, phase_Nsources(p) - sizeDotState = sourceState(p)%p(s)%sizeDotState + broken = integrateStress(g,i,e,CC(stage)) + if(broken) exit - source_RKdotState(1:sizeDotState,size(B),s) = sourceState(p)%p(s)%dotState(:,c) - sourceState(p)%p(s)%dotState(:,c) = matmul(source_RKdotState(1:sizeDotState,1:size(B),s),B) - sourceState(p)%p(s)%state(1:sizeDotState,c) = sourceState(p)%p(s)%subState0(1:sizeDotState,c) & - + sourceState(p)%p(s)%dotState (1:sizeDotState,c) & - * crystallite_subdt(g,i,e) - if(present(DB)) & - broken = broken .or. .not. converged(matmul(source_RKdotState(1:sizeDotState,1:size(DB),s),DB) & - * crystallite_subdt(g,i,e), & - sourceState(p)%p(s)%state(1:sizeDotState,c), & - sourceState(p)%p(s)%atol(1:sizeDotState)) - enddo - if(broken) return + broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & + crystallite_partionedF0, & + crystallite_Fi(1:3,1:3,g,i,e), & + crystallite_partionedFp0, & + crystallite_subdt(g,i,e)*CC(stage), g,i,e,p,c) + if(broken) exit - broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_Fe(1:3,1:3,g,i,e), & - crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) - if(broken) return + enddo + if(broken) return - broken = integrateStress(g,i,e) - crystallite_converged(g,i,e) = .not. broken + sizeDotState = plasticState(p)%sizeDotState + + plastic_RKdotState(1:sizeDotState,size(B)) = plasticState (p)%dotState(:,c) + plasticState(p)%dotState(:,c) = matmul(plastic_RKdotState(1:sizeDotState,1:size(B)),B) + plasticState(p)%state(1:sizeDotState,c) = plasticState(p)%subState0(1:sizeDotState,c) & + + plasticState(p)%dotState (1:sizeDotState,c) & + * crystallite_subdt(g,i,e) + if(present(DB)) & + broken = .not. converged( matmul(plastic_RKdotState(1:sizeDotState,1:size(DB)),DB) & + * crystallite_subdt(g,i,e), & + plasticState(p)%state(1:sizeDotState,c), & + plasticState(p)%atol(1:sizeDotState)) + + do s = 1, phase_Nsources(p) + sizeDotState = sourceState(p)%p(s)%sizeDotState + + source_RKdotState(1:sizeDotState,size(B),s) = sourceState(p)%p(s)%dotState(:,c) + sourceState(p)%p(s)%dotState(:,c) = matmul(source_RKdotState(1:sizeDotState,1:size(B),s),B) + sourceState(p)%p(s)%state(1:sizeDotState,c) = sourceState(p)%p(s)%subState0(1:sizeDotState,c) & + + sourceState(p)%p(s)%dotState (1:sizeDotState,c) & + * crystallite_subdt(g,i,e) + if(present(DB)) & + broken = broken .or. .not. converged(matmul(source_RKdotState(1:sizeDotState,1:size(DB),s),DB) & + * crystallite_subdt(g,i,e), & + sourceState(p)%p(s)%state(1:sizeDotState,c), & + sourceState(p)%p(s)%atol(1:sizeDotState)) + enddo + if(broken) return + + broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & + crystallite_Fe(1:3,1:3,g,i,e), & + crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) + if(broken) return + + broken = integrateStress(g,i,e) + crystallite_converged(g,i,e) = .not. broken end subroutine integrateStateRK From 31f86c28f4f89a2b6f18d87d9155cc53e4c6c643 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 29 Sep 2020 11:15:10 -0400 Subject: [PATCH 780/958] [skip ci] added parameter description; shortened hybrid_IA pre-loop logic --- python/damask/_rotation.py | 14 +++++--------- python/damask/util.py | 11 ++++------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 495f0c7ec..ebfc1b3df 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -665,9 +665,10 @@ class Rotation: Parameters ---------- - fname : file, str, or pathlib.Path - ODF file containing normalized probability (labeled 'intensity') - on a grid in Euler space (labeled 'euler'). + weights : numpy.ndarray of shape (n) + Texture intensity values (probability density or volume fraction) at Euler grid points. + Eulers : numpy.ndarray of shape (n,3) + Grid coordinates in Euler space at which weights are defined. N : integer, optional Number of discrete orientations to be sampled from the given ODF. Defaults to 500. @@ -680,10 +681,6 @@ class Rotation: A seed to initialize the BitGenerator. Defaults to None, i.e. unpredictable entropy will be pulled from the OS. - Notes - ----- - Explain here the different things that need to be considered - """ def _dg(eu,deg): """Return infinitesimal Euler space volume of bin(s).""" @@ -694,9 +691,8 @@ class Rotation: dg = 1.0 if fractions else _dg(Eulers,degrees) dV_V = dg * np.maximum(0.0,weights.squeeze()) - orientations = Rotation.from_Eulers(Eulers[util.hybrid_IA(dV_V,N,seed)],degrees) - return orientations + return Rotation.from_Eulers(Eulers[util.hybrid_IA(dV_V,N,seed)],degrees) @staticmethod diff --git a/python/damask/util.py b/python/damask/util.py index 12d4fd6cc..9a1b0b67b 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -189,20 +189,17 @@ def execution_stamp(class_name,function_name=None): def hybrid_IA(dist,N,seed=None): - rng = np.random.default_rng(seed) - N_opt_samples = max(np.count_nonzero(dist),N) # random subsampling if too little samples requested + N_opt_samples,N_inv_samples = (max(np.count_nonzero(dist),N),0) # random subsampling if too little samples requested scale_,scale,inc_factor = (0.0,float(N_opt_samples),1.0) - repeats = np.rint(scale*dist).astype(int) - N_inv_samples = np.sum(repeats) while (not np.isclose(scale, scale_)) and (N_inv_samples != N_opt_samples): + repeats = np.rint(scale*dist).astype(int) + N_inv_samples = np.sum(repeats) scale_,scale,inc_factor = (scale,scale+inc_factor*0.5*(scale - scale_), inc_factor*2.0) \ if N_inv_samples < N_opt_samples else \ (scale_,0.5*(scale_ + scale), 1.0) - repeats = np.rint(scale*dist).astype(int) - N_inv_samples = np.sum(repeats) - return np.repeat(np.arange(len(dist)),repeats)[rng.permutation(N_inv_samples)[:N]] + return np.repeat(np.arange(len(dist)),repeats)[np.random.default_rng(seed).permutation(N_inv_samples)[:N]] #################################################################################################### From 350f5eb66a024c68fd2ae0d0e7ce0bd4236b574b Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Tue, 29 Sep 2020 12:55:00 -0400 Subject: [PATCH 781/958] improved from_ODF documentation --- python/damask/_rotation.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index ebfc1b3df..b0c9dab5b 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -656,12 +656,7 @@ class Rotation: @staticmethod def from_ODF(weights,Eulers,N=500,degrees=True,fractions=True,seed=None): """ - Sample discrete orientations from a binned ODF. - - References - ---------- - P. Eisenlohr, F. Roters, Computational Materials Science 42(4), 670-678, 2008 - https://doi.org/10.1016/j.commatsci.2007.09.015 + Sample discrete values from a binned ODF. Parameters ---------- @@ -681,6 +676,22 @@ class Rotation: A seed to initialize the BitGenerator. Defaults to None, i.e. unpredictable entropy will be pulled from the OS. + Returns + ------- + samples : damask.Rotation of shape (N) + Array of sampled rotations closely representing the input ODF. + + Notes + ----- + Due to the distortion of Euler space in the vicinity of ϕ = 0, probability densities, p, defined on + grid points with ϕ = 0 will never result in reconstructed orientations as their dV/V = p dγ = p × 0. + Hence, it is recommended to transform any such dataset to cell centers that avoid grid points at ϕ = 0. + + References + ---------- + P. Eisenlohr, F. Roters, Computational Materials Science 42(4), 670-678, 2008 + https://doi.org/10.1016/j.commatsci.2007.09.015 + """ def _dg(eu,deg): """Return infinitesimal Euler space volume of bin(s).""" From 76f07e4c1e0210ca2f0a5410b0eb8d1e80275d05 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 29 Sep 2020 19:25:50 +0200 Subject: [PATCH 782/958] tmp_path is preferred over tmpdir --- python/tests/test_Colormap.py | 18 ++++++++-------- python/tests/test_Geom.py | 40 +++++++++++++++++------------------ python/tests/test_Table.py | 24 ++++++++++----------- 3 files changed, 41 insertions(+), 41 deletions(-) diff --git a/python/tests/test_Colormap.py b/python/tests/test_Colormap.py index 7f12469f8..71d896016 100644 --- a/python/tests/test_Colormap.py +++ b/python/tests/test_Colormap.py @@ -77,17 +77,17 @@ class TestColormap: @pytest.mark.parametrize('format',['ASCII','paraview','GOM','gmsh']) @pytest.mark.parametrize('model',['rgb','hsv','hsl','xyz','lab','msh']) - def test_from_range(self,model,format,tmpdir): + def test_from_range(self,model,format,tmp_path): N = np.random.randint(2,256) c = Colormap.from_range(np.random.rand(3),np.random.rand(3),model=model,N=N) # noqa - eval(f'c.save_{format}(tmpdir/"color_out")') + eval(f'c.save_{format}(tmp_path/"color_out")') @pytest.mark.parametrize('format',['ASCII','paraview','GOM','gmsh']) @pytest.mark.parametrize('name',['strain','gnuplot','Greys','PRGn','viridis']) - def test_from_predefined(self,name,format,tmpdir): + def test_from_predefined(self,name,format,tmp_path): N = np.random.randint(2,256) c = Colormap.from_predefined(name,N) # noqa - os.chdir(tmpdir) + os.chdir(tmp_path) eval(f'c.save_{format}()') @pytest.mark.parametrize('format,name',[('ASCII','test.txt'), @@ -95,9 +95,9 @@ class TestColormap: ('GOM','test.legend'), ('gmsh','test.msh') ]) - def test_write_filehandle(self,format,name,tmpdir): + def test_write_filehandle(self,format,name,tmp_path): c = Colormap.from_predefined('Dark2') # noqa - fname = tmpdir/name + fname = tmp_path/name with open(fname,'w') as f: # noqa eval(f'c.save_{format}(f)') for i in range(10): @@ -146,14 +146,14 @@ class TestColormap: ('GOM','.legend'), ('gmsh','.msh') ]) - def test_compare_reference(self,format,ext,tmpdir,reference_dir,update): + def test_compare_reference(self,format,ext,tmp_path,reference_dir,update): name = 'binary' c = Colormap.from_predefined(name) # noqa if update: os.chdir(reference_dir) eval(f'c.save_{format}()') else: - os.chdir(tmpdir) + os.chdir(tmp_path) eval(f'c.save_{format}()') time.sleep(.5) - assert filecmp.cmp(tmpdir/(name+ext),reference_dir/(name+ext)) + assert filecmp.cmp(tmp_path/(name+ext),reference_dir/(name+ext)) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 9aff60186..21eb38cdd 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -42,46 +42,46 @@ class TestGeom: assert str(default.diff(new)) != '' - def test_write_read_str(self,default,tmpdir): - default.save_ASCII(str(tmpdir/'default.geom')) - new = Geom.load_ASCII(str(tmpdir/'default.geom')) + def test_write_read_str(self,default,tmp_path): + default.save_ASCII(str(tmp_path/'default.geom')) + new = Geom.load_ASCII(str(tmp_path/'default.geom')) assert geom_equal(default,new) - def test_write_read_file(self,default,tmpdir): - with open(tmpdir/'default.geom','w') as f: + def test_write_read_file(self,default,tmp_path): + with open(tmp_path/'default.geom','w') as f: default.save_ASCII(f,compress=True) - with open(tmpdir/'default.geom') as f: + with open(tmp_path/'default.geom') as f: new = Geom.load_ASCII(f) assert geom_equal(default,new) - def test_read_write_vtr(self,default,tmpdir): - default.save(tmpdir/'default') + def test_read_write_vtr(self,default,tmp_path): + default.save(tmp_path/'default') for _ in range(10): time.sleep(.2) - if os.path.exists(tmpdir/'default.vtr'): break + if os.path.exists(tmp_path/'default.vtr'): break - new = Geom.load(tmpdir/'default.vtr') + new = Geom.load(tmp_path/'default.vtr') assert geom_equal(new,default) - def test_invalid_geom(self,tmpdir): - with open('invalid_file','w') as f: + def test_invalid_geom(self,tmp_path): + with open(tmp_path/'invalid_file','w') as f: f.write('this is not a valid header') - with open('invalid_file','r') as f: + with open(tmp_path/'invalid_file','r') as f: with pytest.raises(TypeError): Geom.load_ASCII(f) - def test_invalid_vtr(self,tmpdir): + def test_invalid_vtr(self,tmp_path): v = VTK.from_rectilinearGrid(np.random.randint(5,10,3)*2,np.random.random(3) + 1.0) - v.save(tmpdir/'no_materialpoint.vtr') + v.save(tmp_path/'no_materialpoint.vtr') for _ in range(10): time.sleep(.2) - if os.path.exists(tmpdir/'no_materialpoint.vtr'): break + if os.path.exists(tmp_path/'no_materialpoint.vtr'): break with pytest.raises(ValueError): - Geom.load(tmpdir/'no_materialpoint.vtr') + Geom.load(tmp_path/'no_materialpoint.vtr') def test_invalid_material(self): with pytest.raises(TypeError): @@ -92,9 +92,9 @@ class TestGeom: assert g.material.dtype in np.sctypes['int'] @pytest.mark.parametrize('compress',[True,False]) - def test_compress(self,default,tmpdir,compress): - default.save_ASCII(tmpdir/'default.geom',compress=compress) - new = Geom.load_ASCII(tmpdir/'default.geom') + def test_compress(self,default,tmp_path,compress): + default.save_ASCII(tmp_path/'default.geom',compress=compress) + new = Geom.load_ASCII(tmp_path/'default.geom') assert geom_equal(new,default) diff --git a/python/tests/test_Table.py b/python/tests/test_Table.py index 7a86c7fed..9dad681bd 100644 --- a/python/tests/test_Table.py +++ b/python/tests/test_Table.py @@ -34,31 +34,31 @@ class TestTable: assert np.allclose(d,1.0) and d.shape[1:] == (1,) @pytest.mark.parametrize('mode',['str','path']) - def test_write_read(self,default,tmpdir,mode): - default.save(tmpdir/'default.txt') + def test_write_read(self,default,tmp_path,mode): + default.save(tmp_path/'default.txt') if mode == 'path': - new = Table.load(tmpdir/'default.txt') + new = Table.load(tmp_path/'default.txt') elif mode == 'str': - new = Table.load(str(tmpdir/'default.txt')) + new = Table.load(str(tmp_path/'default.txt')) assert all(default.data==new.data) and default.shapes == new.shapes - def test_write_read_file(self,default,tmpdir): - with open(tmpdir/'default.txt','w') as f: + def test_write_read_file(self,default,tmp_path): + with open(tmp_path/'default.txt','w') as f: default.save(f) - with open(tmpdir/'default.txt') as f: + with open(tmp_path/'default.txt') as f: new = Table.load(f) assert all(default.data==new.data) and default.shapes == new.shapes - def test_write_read_legacy_style(self,default,tmpdir): - with open(tmpdir/'legacy.txt','w') as f: + def test_write_read_legacy_style(self,default,tmp_path): + with open(tmp_path/'legacy.txt','w') as f: default.save(f,legacy=True) - with open(tmpdir/'legacy.txt') as f: + with open(tmp_path/'legacy.txt') as f: new = Table.load(f) assert all(default.data==new.data) and default.shapes == new.shapes - def test_write_invalid_format(self,default,tmpdir): + def test_write_invalid_format(self,default,tmp_path): with pytest.raises(TypeError): - default.save(tmpdir/'shouldnotbethere.txt',format='invalid') + default.save(tmp_path/'shouldnotbethere.txt',format='invalid') @pytest.mark.parametrize('mode',['str','path']) def test_read_ang(self,reference_dir,mode): From a61bf3bb26d4eac3a04002225ac0cda10e832727 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 29 Sep 2020 19:33:30 +0200 Subject: [PATCH 783/958] file endings, file header can be added, take care of EOF --- src/IO.f90 | 5 +++++ src/YAML_parse.f90 | 50 ++++++++++++++++++++++++++++++++++------------ 2 files changed, 42 insertions(+), 13 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index eeb4ec8c6..0542e7a62 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -496,6 +496,8 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'Access by incorrect node type' case (707) msg = 'Abrupt end of file' + case (708) + msg = '--- expected after YAML file header' !------------------------------------------------------------------------------------------------- ! errors related to the grid solver @@ -623,6 +625,9 @@ subroutine IO_warning(warning_ID,el,ip,g,ext_msg) msg = 'polar decomposition failed' case (700) msg = 'unknown crystal symmetry' + case (709) + msg = 'read only the first document' + case (850) msg = 'max number of cut back exceeded, terminating' case default diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 65b9afe3d..bb990fc52 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -236,15 +236,13 @@ subroutine skip_empty_lines(blck,s_blck) character(len=*), intent(in) :: blck integer, intent(inout) :: s_blck - character(len=:), allocatable :: line integer :: e_blck logical :: empty empty = .true. - do while(empty) + do while(empty .and. len_trim(blck(s_blck:)) /= 0) e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 - line = IO_rmComment(blck(s_blck:e_blck)) - empty = len_trim(line) == 0 + empty = len_trim(IO_rmComment(blck(s_blck:e_blck))) == 0 if(empty) s_blck = e_blck + 2 enddo @@ -252,6 +250,31 @@ subroutine skip_empty_lines(blck,s_blck) end subroutine skip_empty_lines +!-------------------------------------------------------------------------------------------------- +! @brief skip file header +! @details update start position in the block by skipping file header if present. +!-------------------------------------------------------------------------------------------------- +subroutine skip_file_header(blck,s_blck) + + character(len=*), intent(in) :: blck + integer, intent(inout) :: s_blck + + character(len=:), allocatable :: line + + line = IO_rmComment(blck(s_blck:s_blck + index(blck(s_blck:),IO_EOL) - 2)) + if(adjustl(line(1:5)) == '%YAML') then + s_blck = s_blck + index(blck(s_blck:),IO_EOL) + call skip_empty_lines(blck,s_blck) + if(trim(IO_rmComment(blck(s_blck:s_blck + index(blck(s_blck:),IO_EOL) - 2))) == '---') then + s_blck = s_blck + index(blck(s_blck:),IO_EOL) + else + call IO_error(708,ext_msg = line) + endif + endif + +end subroutine skip_file_header + + !-------------------------------------------------------------------------------------------------- ! @brief reads a line of YAML block which is already in flow style ! @details Dicts should be enlcosed within '{}' for it to be consistent with DAMASK YAML parser @@ -388,7 +411,7 @@ recursive subroutine lst(blck,flow,s_blck,s_flow,offset) do while (s_blck <= len_trim(blck)) e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 line = IO_rmComment(blck(s_blck:e_blck)) - if(trim(line) == '---') then + if(trim(line) == '---' .or. trim(line) == '...') then exit elseif (len_trim(line) == 0) then s_blck = e_blck + 2 ! forward to next line @@ -476,7 +499,7 @@ recursive subroutine dct(blck,flow,s_blck,s_flow,offset) do while (s_blck <= len_trim(blck)) e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 line = IO_rmComment(blck(s_blck:e_blck)) - if(trim(line) == '---') then + if(trim(line) == '---' .or. trim(line) == '...') then exit elseif (len_trim(line) == 0) then s_blck = e_blck + 2 ! forward to next line @@ -544,7 +567,7 @@ recursive subroutine decide(blck,flow,s_blck,s_flow,offset) call skip_empty_lines(blck,s_blck) e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 line = IO_rmComment(blck(s_blck:e_blck)) - if(trim(line) == '---') then + if(trim(line) == '---' .or. trim(line) == '...') then continue ! end parsing at this point but not stop the simulation elseif(len_trim(line) == 0) then s_blck = e_blck +2 @@ -584,7 +607,6 @@ function to_flow(blck) character(len=:), allocatable :: line integer :: s_blck, & !< start position in blck - e_blck, & !< end position of a line s_flow, & !< start position in flow offset, & !< counts leading '- ' in nested lists end_line @@ -596,13 +618,14 @@ function to_flow(blck) if(len_trim(blck) /= 0) then call skip_empty_lines(blck,s_blck) - e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 - line = IO_rmComment(blck(s_blck:e_blck)) - if(trim(line) == '---') s_blck = e_blck + 2 + call skip_file_header(blck,s_blck) + line = IO_rmComment(blck(s_blck:s_blck + index(blck(s_blck:),IO_EOL) - 2)) + if(trim(line) == '---') s_blck = s_blck + index(blck(s_blck:),IO_EOL) call decide(blck,to_flow,s_blck,s_flow,offset) endif + line = IO_rmComment(blck(s_blck:s_blck+index(blck(s_blck:),IO_EOL)-2)) + if(trim(line)== '---') call IO_warning(709,ext_msg=line) to_flow = trim(to_flow(:s_flow-1)) - end_line = index(to_flow,IO_EOL) if(end_line > 0) to_flow = to_flow(:end_line-1) @@ -704,6 +727,7 @@ subroutine selfTest basic_mixed: block character(len=*), parameter :: block_flow = & + "%YAML 1.2"//IO_EOL//& " "//IO_EOL//& " "//IO_EOL//& "---"//IO_EOL//& @@ -717,7 +741,7 @@ subroutine selfTest " "//IO_EOL//& " - "//IO_EOL//& " {param_1: [{a: b}, c, {d: {e: [{f: g}, h]}}]}"//IO_EOL//& - "---"//IO_EOL + "..."//IO_EOL character(len=*), parameter :: mixed_flow = & "{aa: [{param_1: [{a: b}, c, {d: {e: [{f: g}, h]}}]}, {c: d}], bb: [{param_1: [{a: b}, c, {d: {e: [{f: g}, h]}}]}]}" From 45b906906d90bfec363f63598c29c4dae0d3ed4e Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 29 Sep 2020 20:07:33 +0200 Subject: [PATCH 784/958] test before reading config files --- src/CPFEM.f90 | 4 ++-- src/CPFEM2.f90 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 05255e2a1..f93472e51 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -78,11 +78,11 @@ subroutine CPFEM_initAll call DAMASK_interface_init call prec_init call IO_init + call YAML_types_init + call YAML_parse_init call config_init call math_init call rotations_init - call YAML_types_init - call YAML_parse_init call HDF5_utilities_init call results_init(.false.) call discretization_marc_init diff --git a/src/CPFEM2.f90 b/src/CPFEM2.f90 index fed43ba78..994859758 100644 --- a/src/CPFEM2.f90 +++ b/src/CPFEM2.f90 @@ -48,11 +48,11 @@ subroutine CPFEM_initAll #ifdef Mesh call FEM_quadrature_init #endif + call YAML_types_init + call YAML_parse_init call config_init call math_init call rotations_init - call YAML_types_init - call YAML_parse_init call lattice_init call HDF5_utilities_init call results_init(restart=interface_restartInc>0) From 385cda9224dba4e84d0e93f5aba967efed279811 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 29 Sep 2020 20:13:02 +0200 Subject: [PATCH 785/958] remove unnecessary variables --- src/YAML_parse.f90 | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index bb990fc52..a63a07cf1 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -236,14 +236,12 @@ subroutine skip_empty_lines(blck,s_blck) character(len=*), intent(in) :: blck integer, intent(inout) :: s_blck - integer :: e_blck logical :: empty empty = .true. do while(empty .and. len_trim(blck(s_blck:)) /= 0) - e_blck = s_blck + index(blck(s_blck:),IO_EOL) - 2 - empty = len_trim(IO_rmComment(blck(s_blck:e_blck))) == 0 - if(empty) s_blck = e_blck + 2 + empty = len_trim(IO_rmComment(blck(s_blck:s_blck + index(blck(s_blck:),IO_EOL) - 2))) == 0 + if(empty) s_blck = s_blck + index(blck(s_blck:),IO_EOL) enddo From 30ce340a6d87ed55f67d914f2f593db32f6a8602 Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 30 Sep 2020 00:18:40 +0200 Subject: [PATCH 786/958] [skip ci] updated version information after successful test of v3.0.0-alpha-381-g63f2419e9 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 9b2b9492e..f11394f7c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-374-gc545ad869 +v3.0.0-alpha-381-g63f2419e9 From 15ef6c8ceb65e671b6c950af4ce62c153da47421 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 30 Sep 2020 01:50:10 +0200 Subject: [PATCH 787/958] more fortran like --- src/YAML_parse.f90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index a63a07cf1..cb5b726dc 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -260,7 +260,7 @@ subroutine skip_file_header(blck,s_blck) character(len=:), allocatable :: line line = IO_rmComment(blck(s_blck:s_blck + index(blck(s_blck:),IO_EOL) - 2)) - if(adjustl(line(1:5)) == '%YAML') then + if(index(adjustl(line),'%YAML') == 1) then s_blck = s_blck + index(blck(s_blck:),IO_EOL) call skip_empty_lines(blck,s_blck) if(trim(IO_rmComment(blck(s_blck:s_blck + index(blck(s_blck:),IO_EOL) - 2))) == '---') then @@ -725,7 +725,7 @@ subroutine selfTest basic_mixed: block character(len=*), parameter :: block_flow = & - "%YAML 1.2"//IO_EOL//& + "%YAML 1.1"//IO_EOL//& " "//IO_EOL//& " "//IO_EOL//& "---"//IO_EOL//& From bd5d557fbb560d08ace9d3fa8b0d3c91832d7639 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 29 Sep 2020 23:32:17 +0200 Subject: [PATCH 788/958] untangling the spaghetti subLp and subLi are local variables --- src/crystallite.f90 | 50 +++++++++++++-------------------------------- 1 file changed, 14 insertions(+), 36 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 9411cdfc7..ad1c2d4a7 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -54,12 +54,10 @@ module crystallite ! crystallite_Lp0, & !< plastic velocitiy grad at start of FE inc crystallite_partionedLp0, & !< plastic velocity grad at start of homog inc - crystallite_subLp0,& !< plastic velocity grad at start of crystallite inc ! crystallite_Li, & !< current intermediate velocitiy grad (end of converged time step) crystallite_Li0, & !< intermediate velocitiy grad at start of FE inc crystallite_partionedLi0, & !< intermediate velocity grad at start of homog inc - crystallite_subLi0, & !< intermediate velocity grad at start of crystallite inc ! crystallite_S0, & !< 2nd Piola-Kirchhoff stress vector at start of FE inc crystallite_partionedS0 !< 2nd Piola-Kirchhoff stress vector at start of homog inc @@ -183,7 +181,6 @@ subroutine crystallite_init crystallite_Li,crystallite_Lp, & crystallite_subF,crystallite_subF0, & crystallite_subFp0,crystallite_subFi0, & - crystallite_subLi0,crystallite_subLp0, & source = crystallite_partionedF) allocate(crystallite_dPdF(3,3,3,3,cMax,iMax,eMax),source=0.0_pReal) @@ -326,34 +323,17 @@ function crystallite_stress() startIP, endIP, & s logical, dimension(homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: todo !ToDo: need to set some values to false for different Ngrains - todo = .false. + real(pReal), dimension(:,:,:,:,:), allocatable :: & + subLp0,& !< plastic velocity grad at start of crystallite inc + subLi0 !< intermediate velocity grad at start of crystallite inc + + + todo = .false. + + subLp0 = crystallite_partionedLp0 + subLi0 = crystallite_partionedLi0 + -#ifdef DEBUG - if (debugCrystallite%selective & - .and. FEsolving_execElem(1) <= debugCrystallite%element & - .and. debugCrystallite%element <= FEsolving_execElem(2)) then - print'(/,a,i8,1x,i2,1x,i3)', '<< CRYST stress >> boundary and initial values at el ip ipc ', & - debugCrystallite%element,debugCrystallite%ip, debugCrystallite%grain - print'(a,/,3(12x,3(f14.9,1x)/))', '<< CRYST stress >> F ', & - transpose(crystallite_partionedF(1:3,1:3,debugCrystallite%grain, & - debugCrystallite%ip,debugCrystallite%element)) - print'(a,/,3(12x,3(f14.9,1x)/))', '<< CRYST stress >> F0 ', & - transpose(crystallite_partionedF0(1:3,1:3,debugCrystallite%grain, & - debugCrystallite%ip,debugCrystallite%element)) - print'(a,/,3(12x,3(f14.9,1x)/))', '<< CRYST stress >> Fp0', & - transpose(crystallite_partionedFp0(1:3,1:3,debugCrystallite%grain, & - debugCrystallite%ip,debugCrystallite%element)) - print'(a,/,3(12x,3(f14.9,1x)/))', '<< CRYST stress >> Fi0', & - transpose(crystallite_partionedFi0(1:3,1:3,debugCrystallite%grain, & - debugCrystallite%ip,debugCrystallite%element)) - print'(a,/,3(12x,3(f14.9,1x)/))', '<< CRYST stress >> Lp0', & - transpose(crystallite_partionedLp0(1:3,1:3,debugCrystallite%grain, & - debugCrystallite%ip,debugCrystallite%element)) - print'(a,/,3(12x,3(f14.9,1x)/))', '<< CRYST stress >> Li0', & - transpose(crystallite_partionedLi0(1:3,1:3,debugCrystallite%grain, & - debugCrystallite%ip,debugCrystallite%element)) - endif -#endif !-------------------------------------------------------------------------------------------------- ! initialize to starting condition @@ -370,9 +350,7 @@ function crystallite_stress() sourceState(material_phaseAt(c,e))%p(s)%partionedState0(:,material_phaseMemberAt(c,i,e)) enddo crystallite_subFp0(1:3,1:3,c,i,e) = crystallite_partionedFp0(1:3,1:3,c,i,e) - crystallite_subLp0(1:3,1:3,c,i,e) = crystallite_partionedLp0(1:3,1:3,c,i,e) crystallite_subFi0(1:3,1:3,c,i,e) = crystallite_partionedFi0(1:3,1:3,c,i,e) - crystallite_subLi0(1:3,1:3,c,i,e) = crystallite_partionedLi0(1:3,1:3,c,i,e) crystallite_subF0(1:3,1:3,c,i,e) = crystallite_partionedF0(1:3,1:3,c,i,e) crystallite_subFrac(c,i,e) = 0.0_pReal crystallite_subStep(c,i,e) = 1.0_pReal/num%subStepSizeCryst @@ -415,8 +393,8 @@ function crystallite_stress() todo(c,i,e) = crystallite_subStep(c,i,e) > 0.0_pReal ! still time left to integrate on? if (todo(c,i,e)) then crystallite_subF0 (1:3,1:3,c,i,e) = crystallite_subF(1:3,1:3,c,i,e) - crystallite_subLp0(1:3,1:3,c,i,e) = crystallite_Lp (1:3,1:3,c,i,e) - crystallite_subLi0(1:3,1:3,c,i,e) = crystallite_Li (1:3,1:3,c,i,e) + subLp0(1:3,1:3,c,i,e) = crystallite_Lp (1:3,1:3,c,i,e) + subLi0(1:3,1:3,c,i,e) = crystallite_Li (1:3,1:3,c,i,e) crystallite_subFp0(1:3,1:3,c,i,e) = crystallite_Fp (1:3,1:3,c,i,e) crystallite_subFi0(1:3,1:3,c,i,e) = crystallite_Fi (1:3,1:3,c,i,e) plasticState( material_phaseAt(c,e))%subState0(:,material_phaseMemberAt(c,i,e)) & @@ -435,8 +413,8 @@ function crystallite_stress() crystallite_Fi (1:3,1:3,c,i,e) = crystallite_subFi0(1:3,1:3,c,i,e) crystallite_S (1:3,1:3,c,i,e) = crystallite_S0 (1:3,1:3,c,i,e) if (crystallite_subStep(c,i,e) < 1.0_pReal) then ! actual (not initial) cutback - crystallite_Lp (1:3,1:3,c,i,e) = crystallite_subLp0(1:3,1:3,c,i,e) - crystallite_Li (1:3,1:3,c,i,e) = crystallite_subLi0(1:3,1:3,c,i,e) + crystallite_Lp (1:3,1:3,c,i,e) = subLp0(1:3,1:3,c,i,e) + crystallite_Li (1:3,1:3,c,i,e) = subLi0(1:3,1:3,c,i,e) endif plasticState (material_phaseAt(c,e))%state( :,material_phaseMemberAt(c,i,e)) & = plasticState(material_phaseAt(c,e))%subState0(:,material_phaseMemberAt(c,i,e)) From 54e4943353829708cf09d97ac1e3d085a75d8c81 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 30 Sep 2020 07:10:15 +0200 Subject: [PATCH 789/958] get rid of shell scripts --- processing/pre/geom_fromMinimalSurface.py | 21 ++------------ python/damask/_geom.py | 35 +++++++++++++++++++++++ python/tests/test_Geom.py | 18 ++++++++++++ 3 files changed, 55 insertions(+), 19 deletions(-) diff --git a/processing/pre/geom_fromMinimalSurface.py b/processing/pre/geom_fromMinimalSurface.py index 83d1a3684..bf0e2b754 100755 --- a/processing/pre/geom_fromMinimalSurface.py +++ b/processing/pre/geom_fromMinimalSurface.py @@ -4,8 +4,6 @@ import os import sys from optparse import OptionParser -import numpy as np - import damask @@ -15,13 +13,6 @@ scriptID = ' '.join([scriptName,damask.version]) minimal_surfaces = ['primitive','gyroid','diamond'] -surface = { - 'primitive': lambda x,y,z: np.cos(x)+np.cos(y)+np.cos(z), - 'gyroid': lambda x,y,z: np.sin(x)*np.cos(y)+np.sin(y)*np.cos(z)+np.cos(x)*np.sin(z), - 'diamond': lambda x,y,z: np.cos(x-y)*np.cos(z)+np.sin(x+y)*np.sin(z), - } - - # -------------------------------------------------------------------- # MAIN # -------------------------------------------------------------------- @@ -71,16 +62,8 @@ parser.set_defaults(type = minimal_surfaces[0], name = None if filename == [] else filename[0] damask.util.report(scriptName,name) -x,y,z = np.meshgrid(options.periods*2.0*np.pi*(np.arange(options.grid[0])+0.5)/options.grid[0], - options.periods*2.0*np.pi*(np.arange(options.grid[1])+0.5)/options.grid[1], - options.periods*2.0*np.pi*(np.arange(options.grid[2])+0.5)/options.grid[2], - indexing='xy',sparse=True) - -microstructure = np.where(options.threshold < surface[options.type](x,y,z), - options.microstructure[1],options.microstructure[0]) - -geom=damask.Geom(microstructure,options.size, - comments=[scriptID + ' ' + ' '.join(sys.argv[1:])]) +geom=damask.Geom.from_minimal_surface(options.grid,options.size,options.type,options.threshold, + options.periods,options.microstructure) damask.util.croak(geom) geom.save_ASCII(sys.stdout if name is None else name,compress=False) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 6a7bc3c0e..aaa534df0 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -292,6 +292,41 @@ class Geom: ) + @staticmethod + def from_minimal_surface(grid,size,surface,threshold=0.0,periods=1,materials=(1,2)): + """ + Generate geometry from definition of minimal surface. + + Parameters + ---------- + grid : int numpy.ndarray of shape (3) + Number of grid points in x,y,z direction. + size : list or numpy.ndarray of shape (3) + Physical size of the geometry in meter. + surface : {'primitive', 'gyroid', 'diamond'} + Type of the minimal surface. + threshold : float, optional. + Threshold of the minimal surface. Defaults to 0.0. + periods : integer, optional. + Number of periods per unit cell. Defaults to 1. + materials : (int, int), optional + Material IDs. Defaults to (1,2). + + """ + s = {'primitive': lambda x,y,z: np.cos(x)+np.cos(y)+np.cos(z), + 'gyroid': lambda x,y,z: np.sin(x)*np.cos(y)+np.sin(y)*np.cos(z)+np.cos(x)*np.sin(z), + 'diamond': lambda x,y,z: np.cos(x-y)*np.cos(z)+np.sin(x+y)*np.sin(z), + } + x,y,z = np.meshgrid(periods*2.0*np.pi*(np.arange(grid[0])+0.5)/grid[0], + periods*2.0*np.pi*(np.arange(grid[1])+0.5)/grid[1], + periods*2.0*np.pi*(np.arange(grid[2])+0.5)/grid[2], + indexing='ij',sparse=True) + return Geom(material = np.where(threshold < s[surface](x,y,z),materials[1],materials[0]), + size = size, + comments = util.execution_stamp('Geom','from_minimal_surface'), + ) + + def save_ASCII(self,fname,compress=None): """ Writes a geom file. diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 21eb38cdd..27829ac34 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -360,3 +360,21 @@ class TestGeom: elif approach == 'Voronoi': geom = Geom.from_Voronoi_tessellation(grid,size,seeds, periodic=np.random.random()>0.5) assert np.all(geom.material == material) + + + @pytest.mark.parametrize('surface',['primitive','gyroid','diamond']) + def test_minimal_surface_basic_properties(self,surface): + grid = np.random.randint(60,100,3) + size = np.ones(3)+np.random.rand(3) + threshold = np.random.rand()-.5 + periods = np.random.randint(2)+1 + materials = np.random.randint(0,40,2) + geom = Geom.from_minimal_surface(grid,size,surface,threshold,periods,materials) + assert geom.material.max() == materials.max() and geom.material.min() == materials.min() \ + and (geom.size == size).all() and (geom.grid == grid).all() + + @pytest.mark.parametrize('surface',['primitive','gyroid','diamond']) + def test_minimal_surface_volume(self,surface): + grid = np.ones(3,dtype='i')*64 + geom = Geom.from_minimal_surface(grid,np.ones(3),surface) + assert np.isclose(np.count_nonzero(geom.material==1)/np.prod(geom.grid),.5) From b383a4530e66b03b3d811e384cc7fa8ef3ecc5b9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 30 Sep 2020 07:53:25 +0200 Subject: [PATCH 790/958] better name, subclassing for easy extension to load --- python/damask/__init__.py | 29 ++++---- python/damask/_config.py | 66 +++++++++++++++++++ .../{_material.py => _configmaterial.py} | 51 +------------- .../material.yaml | 0 ...est_Material.py => test_MaterialConfig.py} | 24 +++---- 5 files changed, 95 insertions(+), 75 deletions(-) create mode 100644 python/damask/_config.py rename python/damask/{_material.py => _configmaterial.py} (80%) rename python/tests/reference/{Material => ConfigMaterial}/material.yaml (100%) rename python/tests/{test_Material.py => test_MaterialConfig.py} (68%) diff --git a/python/damask/__init__.py b/python/damask/__init__.py index e21ebd03d..955993607 100644 --- a/python/damask/__init__.py +++ b/python/damask/__init__.py @@ -10,20 +10,21 @@ with open(_Path(__file__).parent/_Path('VERSION')) as _f: # make classes directly accessible as damask.Class from ._environment import Environment as _ # noqa environment = _() -from ._table import Table # noqa -from ._vtk import VTK # noqa -from ._colormap import Colormap # noqa -from ._rotation import Rotation # noqa -from ._lattice import Symmetry, Lattice# noqa -from ._orientation import Orientation # noqa -from ._result import Result # noqa -from ._geom import Geom # noqa -from ._material import Material # noqa -from . import solver # noqa -from . import util # noqa -from . import seeds # noqa -from . import grid_filters # noqa -from . import mechanics # noqa +from ._table import Table # noqa +from ._vtk import VTK # noqa +from ._colormap import Colormap # noqa +from ._rotation import Rotation # noqa +from ._lattice import Symmetry, Lattice# noqa +from ._orientation import Orientation # noqa +from ._result import Result # noqa +from ._geom import Geom # noqa +from ._config import Config # noqa +from ._configmaterial import ConfigMaterial # noqa +from . import solver # noqa +from . import util # noqa +from . import seeds # noqa +from . import grid_filters # noqa +from . import mechanics # noqa diff --git a/python/damask/_config.py b/python/damask/_config.py new file mode 100644 index 000000000..0e21286aa --- /dev/null +++ b/python/damask/_config.py @@ -0,0 +1,66 @@ +from io import StringIO +import abc + +import yaml +import numpy as np + +class NiceDumper(yaml.SafeDumper): + """Make YAML readable for humans.""" + + def write_line_break(self, data=None): + super().write_line_break(data) + + if len(self.indents) == 1: + super().write_line_break() + + def increase_indent(self, flow=False, indentless=False): + return super().increase_indent(flow, False) + + +class Config(dict): + """YAML-based configuration.""" + + def __repr__(self): + """Show as in file.""" + output = StringIO() + self.save(output) + output.seek(0) + return ''.join(output.readlines()) + + @classmethod + def load(cls,fname): + """Load from yaml file.""" + try: + fhandle = open(fname) + except TypeError: + fhandle = fname + return cls(yaml.safe_load(fhandle)) + + def save(self,fname='material.yaml'): + """ + Save to yaml file. + + Parameters + ---------- + fname : file, str, or pathlib.Path + Filename or file for reading. + + """ + try: + fhandle = open(fname,'w') + except TypeError: + fhandle = fname + fhandle.write(yaml.dump(dict(self),width=256,default_flow_style=None,Dumper=NiceDumper)) + + + @property + @abc.abstractmethod + def is_complete(self): + """Check for completeness.""" + pass + + @property + @abc.abstractmethod + def is_valid(self): + """Check for valid file layout.""" + pass diff --git a/python/damask/_material.py b/python/damask/_configmaterial.py similarity index 80% rename from python/damask/_material.py rename to python/damask/_configmaterial.py index 106d1582e..861e41464 100644 --- a/python/damask/_material.py +++ b/python/damask/_configmaterial.py @@ -1,61 +1,14 @@ -from io import StringIO import copy -import yaml import numpy as np +from . import Config from . import Lattice from . import Rotation -class NiceDumper(yaml.SafeDumper): - """Make YAML readable for humans.""" - - def write_line_break(self, data=None): - super().write_line_break(data) - - if len(self.indents) == 1: - super().write_line_break() - - def increase_indent(self, flow=False, indentless=False): - return super().increase_indent(flow, False) - - -class Material(dict): +class ConfigMaterial(Config): """Material configuration.""" - def __repr__(self): - """Show as in file.""" - output = StringIO() - self.save(output) - output.seek(0) - return ''.join(output.readlines()) - - @staticmethod - def load(fname): - """Load from yaml file.""" - try: - fhandle = open(fname) - except TypeError: - fhandle = fname - return Material(yaml.safe_load(fhandle)) - - def save(self,fname='material.yaml'): - """ - Save to yaml file. - - Parameters - ---------- - fname : file, str, or pathlib.Path - Filename or file for reading. - - """ - try: - fhandle = open(fname,'w') - except TypeError: - fhandle = fname - fhandle.write(yaml.dump(dict(self),width=256,default_flow_style=None,Dumper=NiceDumper)) - - @property def is_complete(self): """Check for completeness.""" diff --git a/python/tests/reference/Material/material.yaml b/python/tests/reference/ConfigMaterial/material.yaml similarity index 100% rename from python/tests/reference/Material/material.yaml rename to python/tests/reference/ConfigMaterial/material.yaml diff --git a/python/tests/test_Material.py b/python/tests/test_MaterialConfig.py similarity index 68% rename from python/tests/test_Material.py rename to python/tests/test_MaterialConfig.py index 567dfe646..1be07fe58 100644 --- a/python/tests/test_Material.py +++ b/python/tests/test_MaterialConfig.py @@ -2,60 +2,60 @@ import os import pytest -from damask import Material +from damask import ConfigMaterial @pytest.fixture def reference_dir(reference_dir_base): """Directory containing reference results.""" - return reference_dir_base/'Material' + return reference_dir_base/'ConfigMaterial' class TestMaterial: @pytest.mark.parametrize('fname',[None,'test.yaml']) def test_load_save(self,reference_dir,tmp_path,fname): - reference = Material.load(reference_dir/'material.yaml') + reference = ConfigMaterial.load(reference_dir/'material.yaml') os.chdir(tmp_path) if fname is None: reference.save() - new = Material.load('material.yaml') + new = ConfigMaterial.load('material.yaml') else: reference.save(fname) - new = Material.load(fname) + new = ConfigMaterial.load(fname) assert reference == new def test_valid_complete(self,reference_dir): - material_config = Material.load(reference_dir/'material.yaml') + material_config = ConfigMaterial.load(reference_dir/'material.yaml') assert material_config.is_valid and material_config.is_complete def test_invalid_lattice(self,reference_dir): - material_config = Material.load(reference_dir/'material.yaml') + material_config = ConfigMaterial.load(reference_dir/'material.yaml') material_config['phase']['Aluminum']['lattice']='fxc' assert not material_config.is_valid def test_invalid_orientation(self,reference_dir): - material_config = Material.load(reference_dir/'material.yaml') + material_config = ConfigMaterial.load(reference_dir/'material.yaml') material_config['microstructure'][0]['constituents'][0]['orientation']=[0,0,0,0] assert not material_config.is_valid def test_invalid_fraction(self,reference_dir): - material_config = Material.load(reference_dir/'material.yaml') + material_config = ConfigMaterial.load(reference_dir/'material.yaml') material_config['microstructure'][0]['constituents'][0]['fraction']=.9 assert not material_config.is_valid @pytest.mark.parametrize('item',['homogenization','phase','microstructure']) def test_incomplete_missing(self,reference_dir,item): - material_config = Material.load(reference_dir/'material.yaml') + material_config = ConfigMaterial.load(reference_dir/'material.yaml') del material_config[item] assert not material_config.is_complete def test_incomplete_wrong_phase(self,reference_dir): - material_config = Material.load(reference_dir/'material.yaml') + material_config = ConfigMaterial.load(reference_dir/'material.yaml') new = material_config.microstructure_rename_phase({'Steel':'FeNbC'}) assert not new.is_complete def test_incomplete_wrong_homogenization(self,reference_dir): - material_config = Material.load(reference_dir/'material.yaml') + material_config = ConfigMaterial.load(reference_dir/'material.yaml') new = material_config.microstructure_rename_homogenization({'Taylor':'isostrain'}) assert not new.is_complete From bbed4f9c6e200fe9da587fc81bfd5aefb4b5ef48 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 30 Sep 2020 08:15:02 +0200 Subject: [PATCH 791/958] nice formatting will be checked by pre-receive hook --- .../SpectralMethod/Polycrystal/material.yaml | 205 +++++++++--------- .../reference/ConfigMaterial/material.yaml | 10 +- 2 files changed, 108 insertions(+), 107 deletions(-) diff --git a/examples/SpectralMethod/Polycrystal/material.yaml b/examples/SpectralMethod/Polycrystal/material.yaml index 16c6042a6..a3b75c5a3 100644 --- a/examples/SpectralMethod/Polycrystal/material.yaml +++ b/examples/SpectralMethod/Polycrystal/material.yaml @@ -1,107 +1,109 @@ homogenization: SX: mech: {type: none} + microstructure: -- constituents: - - fraction: 1.0 - orientation: [1.0, 0.0, 0.0, 0.0] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.7936696712125002, -0.28765777461664166, -0.3436487135089419, 0.4113964260949434] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.33012772942625784, -0.6781865350268957, 0.6494525351030648, 0.09638521992649676] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.43596817439583935, -0.5982537129781701, 0.046599032277502436, 0.6707106499919265] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.169734823419553, -0.699615227367322, -0.6059581215838098, -0.33844257746495854] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.9698864809294915, 0.1729052643205874, -0.15948307917616958, 0.06315956884687175] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.46205660912967883, 0.3105054068891252, -0.617849551030653, 0.555294529545738] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.4512443497461787, -0.7636045534540555, -0.04739348426715133, -0.45939142396805815] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.2161856212656443, -0.6581450184826598, -0.5498086209601588, 0.4667112513346289] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.8753220715350803, -0.4561599367657419, -0.13298279533852678, -0.08969369719975541] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.11908260752431069, 0.18266024809834172, -0.7144822594012615, -0.664807992845101] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.751104669484278, 0.5585633382623958, -0.34579336397009175, 0.06538900566860861] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.08740438971703973, 0.8991264096610437, -0.4156704205935976, 0.10559485570696363] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.5584325870096193, 0.6016408353068798, -0.14280340445801173, 0.5529814994483859] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.4052725440888093, 0.25253073423599154, 0.5693263597910454, -0.669215876471182] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.7570164606888676, 0.15265448024694664, -0.5998021466848317, 0.20942796551297105] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.6987659297138081, -0.132172211261028, -0.19693254724422338, 0.6748883269678543] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.7729330445886478, 0.21682179052722322, -0.5207379472917645, 0.2905078484066341] - phase: Aluminum - homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [1.0, 0.0, 0.0, 0.0] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.7936696712125002, -0.28765777461664166, -0.3436487135089419, 0.4113964260949434] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.33012772942625784, -0.6781865350268957, 0.6494525351030648, 0.09638521992649676] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.43596817439583935, -0.5982537129781701, 0.046599032277502436, 0.6707106499919265] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.169734823419553, -0.699615227367322, -0.6059581215838098, -0.33844257746495854] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.9698864809294915, 0.1729052643205874, -0.15948307917616958, 0.06315956884687175] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.46205660912967883, 0.3105054068891252, -0.617849551030653, 0.555294529545738] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.4512443497461787, -0.7636045534540555, -0.04739348426715133, -0.45939142396805815] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.2161856212656443, -0.6581450184826598, -0.5498086209601588, 0.4667112513346289] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.8753220715350803, -0.4561599367657419, -0.13298279533852678, -0.08969369719975541] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.11908260752431069, 0.18266024809834172, -0.7144822594012615, -0.664807992845101] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.751104669484278, 0.5585633382623958, -0.34579336397009175, 0.06538900566860861] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.08740438971703973, 0.8991264096610437, -0.4156704205935976, 0.10559485570696363] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.5584325870096193, 0.6016408353068798, -0.14280340445801173, 0.5529814994483859] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.4052725440888093, 0.25253073423599154, 0.5693263597910454, -0.669215876471182] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.7570164606888676, 0.15265448024694664, -0.5998021466848317, 0.20942796551297105] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.6987659297138081, -0.132172211261028, -0.19693254724422338, 0.6748883269678543] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.7729330445886478, 0.21682179052722322, -0.5207379472917645, 0.2905078484066341] + phase: Aluminum + homogenization: SX + phase: Aluminum: elasticity: {C_11: 106.75e9, C_12: 60.41e9, C_44: 28.34e9, type: hooke} @@ -117,7 +119,6 @@ phase: h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] n_sl: 20 output: [xi_sl] + type: phenopowerlaw xi_0_sl: [31e6] xi_inf_sl: [63e6] - type: phenopowerlaw - diff --git a/python/tests/reference/ConfigMaterial/material.yaml b/python/tests/reference/ConfigMaterial/material.yaml index 1d3cf08a8..395c38373 100644 --- a/python/tests/reference/ConfigMaterial/material.yaml +++ b/python/tests/reference/ConfigMaterial/material.yaml @@ -2,7 +2,7 @@ homogenization: SX: mech: {type: none} Taylor: - mech: {type: isostrain, N_constituents: 2} + mech: {N_constituents: 2, type: isostrain} microstructure: - constituents: @@ -20,14 +20,14 @@ microstructure: orientation: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] phase: Aluminum homogenization: SX - - homogenization: Taylor - constituents: - - fraction: .5 + - constituents: + - fraction: 0.5 orientation: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106] phase: Aluminum - - fraction: .5 + - fraction: 0.5 orientation: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] phase: Steel + homogenization: Taylor phase: Aluminum: From fdfcb16d150b1089f74ea34ff2fd3d047aca2bd1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 30 Sep 2020 08:16:12 +0200 Subject: [PATCH 792/958] not needed --- python/damask/_config.py | 1 - 1 file changed, 1 deletion(-) diff --git a/python/damask/_config.py b/python/damask/_config.py index 0e21286aa..8fd52a046 100644 --- a/python/damask/_config.py +++ b/python/damask/_config.py @@ -2,7 +2,6 @@ from io import StringIO import abc import yaml -import numpy as np class NiceDumper(yaml.SafeDumper): """Make YAML readable for humans.""" From ff0fdfa0aa084334739d9c4e7ab768a1764aff9f Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 30 Sep 2020 09:00:48 +0200 Subject: [PATCH 793/958] [skip ci] updated version information after successful test of v3.0.0-alpha-389-ge1d459aab --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index f11394f7c..5e3f5a21a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-381-g63f2419e9 +v3.0.0-alpha-389-ge1d459aab From 5ad46ae02134c6f9276b0818519af0548fdafd0a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 30 Sep 2020 08:49:55 +0200 Subject: [PATCH 794/958] completely tested --- python/damask/_config.py | 14 ++++++-- python/damask/_configmaterial.py | 12 +++++++ python/tests/test_Config.py | 34 +++++++++++++++++++ ...terialConfig.py => test_ConfigMaterial.py} | 29 ++++++++++++---- 4 files changed, 79 insertions(+), 10 deletions(-) create mode 100644 python/tests/test_Config.py rename python/tests/{test_MaterialConfig.py => test_ConfigMaterial.py} (73%) diff --git a/python/damask/_config.py b/python/damask/_config.py index 8fd52a046..7b9d950a7 100644 --- a/python/damask/_config.py +++ b/python/damask/_config.py @@ -28,21 +28,29 @@ class Config(dict): @classmethod def load(cls,fname): - """Load from yaml file.""" + """ + Load from yaml file. + + Parameters + ---------- + fname : file, str, or pathlib.Path + Filename or file for writing. + + """ try: fhandle = open(fname) except TypeError: fhandle = fname return cls(yaml.safe_load(fhandle)) - def save(self,fname='material.yaml'): + def save(self,fname): """ Save to yaml file. Parameters ---------- fname : file, str, or pathlib.Path - Filename or file for reading. + Filename or file for writing. """ try: diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index 861e41464..8b6739763 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -9,6 +9,18 @@ from . import Rotation class ConfigMaterial(Config): """Material configuration.""" + def save(self,fname='material.yaml'): + """ + Save to yaml file. + + Parameters + ---------- + fname : file, str, or pathlib.Path, optional + Filename or file for writing. Defaults to 'material.yaml'. + + """ + super().save(fname) + @property def is_complete(self): """Check for completeness.""" diff --git a/python/tests/test_Config.py b/python/tests/test_Config.py new file mode 100644 index 000000000..e4d05cffb --- /dev/null +++ b/python/tests/test_Config.py @@ -0,0 +1,34 @@ +from damask import Config + +class TestConfig: + + def test_load_save_str(self,tmp_path): + config = Config() + config['A'] = 1 + config['B'] = [2,3] + config.save(tmp_path/'config.yaml') + assert Config.load(tmp_path/'config.yaml') == config + + def test_load_save_file(self,tmp_path): + config = Config() + config['A'] = 1 + config['B'] = [2,3] + with open(tmp_path/'config.yaml','w') as f: + config.save(f) + with open(tmp_path/'config.yaml') as f: + assert Config.load(f) == config + + def test_repr(self,tmp_path): + config = Config() + config['A'] = 1 + config['B'] = [2,3] + with open(tmp_path/'config.yaml','w') as f: + f.write(config.__repr__()) + assert Config.load(tmp_path/'config.yaml') == config + + + def test_abstract_is_valid(self): + assert Config().is_valid is None + + def test_abstract_is_complete(self): + assert Config().is_complete is None diff --git a/python/tests/test_MaterialConfig.py b/python/tests/test_ConfigMaterial.py similarity index 73% rename from python/tests/test_MaterialConfig.py rename to python/tests/test_ConfigMaterial.py index 1be07fe58..27889d564 100644 --- a/python/tests/test_MaterialConfig.py +++ b/python/tests/test_ConfigMaterial.py @@ -10,8 +10,8 @@ def reference_dir(reference_dir_base): return reference_dir_base/'ConfigMaterial' -class TestMaterial: - +class TestConfigMaterial: + @pytest.mark.parametrize('fname',[None,'test.yaml']) def test_load_save(self,reference_dir,tmp_path,fname): reference = ConfigMaterial.load(reference_dir/'material.yaml') @@ -32,29 +32,44 @@ class TestMaterial: material_config = ConfigMaterial.load(reference_dir/'material.yaml') material_config['phase']['Aluminum']['lattice']='fxc' assert not material_config.is_valid - + def test_invalid_orientation(self,reference_dir): material_config = ConfigMaterial.load(reference_dir/'material.yaml') material_config['microstructure'][0]['constituents'][0]['orientation']=[0,0,0,0] assert not material_config.is_valid - + def test_invalid_fraction(self,reference_dir): material_config = ConfigMaterial.load(reference_dir/'material.yaml') material_config['microstructure'][0]['constituents'][0]['fraction']=.9 assert not material_config.is_valid - @pytest.mark.parametrize('item',['homogenization','phase','microstructure']) def test_incomplete_missing(self,reference_dir,item): material_config = ConfigMaterial.load(reference_dir/'material.yaml') del material_config[item] assert not material_config.is_complete - + + @pytest.mark.parametrize('item',['orientation','phase']) + def test_incomplete_material_constituent(self,reference_dir,item): + material_config = ConfigMaterial.load(reference_dir/'material.yaml') + del material_config['microstructure'][0]['constituents'][0][item] + assert not material_config.is_complete + + def test_incomplete_material_homogenization(self,reference_dir): + material_config = ConfigMaterial.load(reference_dir/'material.yaml') + del material_config['microstructure'][0]['homogenization'] + assert not material_config.is_complete + + def test_incomplete_phase_lattice(self,reference_dir): + material_config = ConfigMaterial.load(reference_dir/'material.yaml') + del material_config['phase']['Aluminum']['lattice'] + assert not material_config.is_complete + def test_incomplete_wrong_phase(self,reference_dir): material_config = ConfigMaterial.load(reference_dir/'material.yaml') new = material_config.microstructure_rename_phase({'Steel':'FeNbC'}) assert not new.is_complete - + def test_incomplete_wrong_homogenization(self,reference_dir): material_config = ConfigMaterial.load(reference_dir/'material.yaml') new = material_config.microstructure_rename_homogenization({'Taylor':'isostrain'}) From 7f8613f6ad32b56aa3c7c144ff103b18ce595a92 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 30 Sep 2020 10:24:24 +0200 Subject: [PATCH 795/958] always update dPdF (was the default anyways) --- examples/ConfigFiles/numerics.yaml | 1 - src/CPFEM.f90 | 11 +---------- src/grid/spectral_utilities.f90 | 2 +- src/homogenization.f90 | 5 ++--- src/mesh/FEM_utilities.f90 | 2 +- 5 files changed, 5 insertions(+), 16 deletions(-) diff --git a/examples/ConfigFiles/numerics.yaml b/examples/ConfigFiles/numerics.yaml index 4180a7d8a..2ff31930e 100644 --- a/examples/ConfigFiles/numerics.yaml +++ b/examples/ConfigFiles/numerics.yaml @@ -78,7 +78,6 @@ crystallite: iJacoLpresiduum: 1 # frequency of Jacobian update of residuum in Lp commercialFEM: - ijacostiffness: 1 # frequency of stiffness update unitlength: 1 # physical length of one computational length unit generic: diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 05255e2a1..ec36ffe12 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -103,7 +103,6 @@ end subroutine CPFEM_initAll subroutine CPFEM_init class(tNode), pointer :: & - num_commercialFEM, & debug_CPFEM print'(/,a)', ' <<<+- CPFEM init -+>>>'; flush(IO_STDOUT) @@ -112,12 +111,6 @@ subroutine CPFEM_init allocate(CPFEM_dcsdE( 6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) allocate(CPFEM_dcsdE_knownGood(6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) -!------------------------------------------------------------------------------ -! read numerical parameters and do sanity check - num_commercialFEM => config_numerics%get('commercialFEM',defaultVal=emptyDict) - num%iJacoStiffness = num_commercialFEM%get_asInt('ijacostiffness',defaultVal=1) - if (num%iJacoStiffness < 1) call IO_error(301,ext_msg='iJacoStiffness') - !------------------------------------------------------------------------------ ! read debug options @@ -161,7 +154,6 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS integer(pInt) elCP, & ! crystal plasticity element number i, j, k, l, m, n, ph, homog, mySource - logical updateJaco ! flag indicating if Jacobian has to be updated real(pReal), parameter :: ODD_STRESS = 1e15_pReal, & !< return value for stress if terminallyIll ODD_JACOBIAN = 1e50_pReal !< return value for jacobian if terminallyIll @@ -204,12 +196,11 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS CPFEM_dcsde(1:6,1:6,ip,elCP) = ODD_JACOBIAN * math_eye(6) else validCalculation - updateJaco = mod(cycleCounter,num%iJacoStiffness) == 0 FEsolving_execElem = elCP FEsolving_execIP = ip if (debugCPFEM%extensive) & print'(a,i8,1x,i2)', '<< CPFEM >> calculation for elFE ip ',elFE,ip - call materialpoint_stressAndItsTangent(updateJaco, dt) + call materialpoint_stressAndItsTangent(dt) terminalIllness: if (terminallyIll) then diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index dc6430c72..b32e8aa5f 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -827,7 +827,7 @@ subroutine utilities_constitutiveResponse(P,P_av,C_volAvg,C_minmaxAvg,& materialpoint_F = reshape(F,[3,3,1,product(grid(1:2))*grid3]) ! set materialpoint target F to estimated field - call materialpoint_stressAndItsTangent(.true.,timeinc) ! calculate P field + call materialpoint_stressAndItsTangent(timeinc) ! calculate P field P = reshape(materialpoint_P, [3,3,grid(1),grid(2),grid3]) P_av = sum(sum(sum(P,dim=5),dim=4),dim=3) * wgt ! average of P diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 0e9ca386b..9ba5ae6de 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -204,10 +204,9 @@ end subroutine homogenization_init !-------------------------------------------------------------------------------------------------- !> @brief parallelized calculation of stress and corresponding tangent at material points !-------------------------------------------------------------------------------------------------- -subroutine materialpoint_stressAndItsTangent(updateJaco,dt) +subroutine materialpoint_stressAndItsTangent(dt) real(pReal), intent(in) :: dt !< time increment - logical, intent(in) :: updateJaco !< initiating Jacobian update integer :: & NiterationHomog, & NiterationMPstate, & @@ -375,7 +374,7 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) enddo cutBackLooping - if(updateJaco) call crystallite_stressTangent + call crystallite_stressTangent if (.not. terminallyIll ) then call crystallite_orientations() ! calculate crystal orientations diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 4d9786112..4927d0c1c 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -160,7 +160,7 @@ subroutine utilities_constitutiveResponse(timeinc,P_av,forwardData) print'(/,a)', ' ... evaluating constitutive response ......................................' - call materialpoint_stressAndItsTangent(.true.,timeinc) ! calculate P field + call materialpoint_stressAndItsTangent(timeinc) ! calculate P field cutBack = .false. ! reset cutBack status From 57174d0abaf3258b74b909df2dcce0ac4e9477d9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 30 Sep 2020 10:53:05 +0200 Subject: [PATCH 796/958] do not store dPdF at the crystallite level --- examples/ConfigFiles/numerics.yaml | 62 +++++++++++++++--------------- src/crystallite.f90 | 41 +++++++------------- src/homogenization.f90 | 26 +++++++++---- 3 files changed, 63 insertions(+), 66 deletions(-) diff --git a/examples/ConfigFiles/numerics.yaml b/examples/ConfigFiles/numerics.yaml index 2ff31930e..e25c86f5a 100644 --- a/examples/ConfigFiles/numerics.yaml +++ b/examples/ConfigFiles/numerics.yaml @@ -3,27 +3,27 @@ homogenization: mech: - RGC: - atol: 1.0e+4 # absolute tolerance of RGC residuum (in Pa) - rtol: 1.0e-3 # relative ... - amax: 1.0e+10 # absolute upper-limit of RGC residuum (in Pa) - rmax: 1.0e+2 # relative ... - perturbpenalty: 1.0e-7 # perturbation for computing penalty tangent - relevantmismatch: 1.0e-5 # minimum threshold of mismatch - viscositypower: 1.0e+0 # power (sensitivity rate) of numerical viscosity in RGC scheme - viscositymodulus: 0.0e+0 # stress modulus of RGC numerical viscosity (zero = without numerical viscosity) - # suggestion: larger than the aTol_RGC but still far below the expected flow stress of material - refrelaxationrate: 1.0e-3 # reference rate of relaxation (about the same magnitude as straining rate, possibly a bit higher) - maxrelaxationrate: 1.0e+0 # threshold of maximum relaxation vector increment (if exceed this then cutback) - maxvoldiscrepancy: 1.0e-5 # maximum allowable relative volume discrepancy - voldiscrepancymod: 1.0e+12 - discrepancypower: 5.0 - + RGC: + atol: 1.0e+4 # absolute tolerance of RGC residuum (in Pa) + rtol: 1.0e-3 # relative ... + amax: 1.0e+10 # absolute upper-limit of RGC residuum (in Pa) + rmax: 1.0e+2 # relative ... + perturbpenalty: 1.0e-7 # perturbation for computing penalty tangent + relevantmismatch: 1.0e-5 # minimum threshold of mismatch + viscositypower: 1.0e+0 # power (sensitivity rate) of numerical viscosity in RGC scheme + viscositymodulus: 0.0e+0 # stress modulus of RGC numerical viscosity (zero = without numerical viscosity) + # suggestion: larger than the aTol_RGC but still far below the expected flow stress of material + refrelaxationrate: 1.0e-3 # reference rate of relaxation (about the same magnitude as straining rate, possibly a bit higher) + maxrelaxationrate: 1.0e+0 # threshold of maximum relaxation vector increment (if exceed this then cutback) + maxvoldiscrepancy: 1.0e-5 # maximum allowable relative volume discrepancy + voldiscrepancymod: 1.0e+12 + discrepancypower: 5.0 + generic: - subStepMin: 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in homogenization - subStepSize: 0.25 # size of substep when cutback introduced in homogenization (value between 0 and 1) - stepIncrease: 1.5 # increase of next substep size when previous substep converged in homogenization (value higher than 1) - nMPstate: 10 # materialpoint state loop limit + subStepMin: 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in homogenization + subStepSize: 0.25 # size of substep when cutback introduced in homogenization (value between 0 and 1) + stepIncrease: 1.5 # increase of next substep size when previous substep converged in homogenization (value higher than 1) + nMPstate: 10 # materialpoint state loop limit grid: eps_div_atol: 1.0e-3 # absolute tolerance for fulfillment of stress equilibrium @@ -39,30 +39,30 @@ grid: itmax: 250 # Maximum iteration number itmin: 2 # Minimum iteration number fftw_timelimit: -1.0 # timelimit of plan creation for FFTW, see manual on www.fftw.org, Default -1.0: disable timelimit - fftw_plan_mode: FFTW_PATIENT # reads the planing-rigor flag, see manual on www.fftw.org, Default FFTW_PATIENT: use patient planner flag - maxCutBack: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc) - maxStaggeredIter: 10 # max number of field level staggered iterations + fftw_plan_mode: FFTW_PATIENT # reads the planing-rigor flag, see manual on www.fftw.org, Default FFTW_PATIENT: use patient planner flag + maxCutBack: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc) + maxStaggeredIter: 10 # max number of field level staggered iterations memory_efficient: 1 # Precalculate Gamma-operator (81 double per point) update_gamma: false # Update Gamma-operator with current dPdF (not possible if memory_efficient=1) - divergence_correction: 2 # Use size-independent divergence criterion + divergence_correction: 2 # Use size-independent divergence criterion derivative: continuous # Approximation used for derivatives in Fourier space solver: Basic # Type of spectral solver (BasicPETSc/Polarisation/FEM) petsc_options: -snes_type ngmres -snes_ngmres_anderson # PetSc solver options - alpha: 1.0 # polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme - beta: 1.0 # polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme + alpha: 1.0 # polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme + beta: 1.0 # polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme mesh: - maxCutBack: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc) - maxStaggeredIter: 10 # max number of field level staggered iterations + maxCutBack: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc) + maxStaggeredIter: 10 # max number of field level staggered iterations structorder: 2 # order of displacement shape functions (when mesh is defined) - bbarstabilisation: false + bbarstabilisation: false integrationorder: 2 # order of quadrature rule required (when mesh is defined) itmax: 250 # Maximum iteration number itmin: 2 # Minimum iteration number eps_struct_atol: 1.0e-10 # absolute tolerance for mechanical equilibrium eps_struct_rtol: 1.0e-4 # relative tolerance for mechanical equilibrium - + crystallite: subStepMin: 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in crystallite subStepSize: 0.25 # size of substep when cutback introduced in crystallite (value between 0 and 1) @@ -84,5 +84,3 @@ generic: charLength: 1.0 # characteristic length scale for gradient problems. random_seed: 0 # fixed seeding for pseudo-random number generator, Default 0: use random seed. residualStiffness: 1.0e-6 # non-zero residual damage. - - diff --git a/src/crystallite.f90 b/src/crystallite.f90 index ad1c2d4a7..0b19afac1 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -69,8 +69,6 @@ module crystallite real(pReal), dimension(:,:,:,:,:), allocatable, public :: & crystallite_partionedF !< def grad to be reached at end of homog inc - real(pReal), dimension(:,:,:,:,:,:,:), allocatable, public, protected :: & - crystallite_dPdF !< current individual dPdF per grain (end of converged time step) logical, dimension(:,:,:), allocatable, public :: & crystallite_requested !< used by upper level (homogenization) to request crystallite calculation logical, dimension(:,:,:), allocatable :: & @@ -183,8 +181,6 @@ subroutine crystallite_init crystallite_subFp0,crystallite_subFi0, & source = crystallite_partionedF) - allocate(crystallite_dPdF(3,3,3,3,cMax,iMax,eMax),source=0.0_pReal) - allocate(crystallite_dt(cMax,iMax,eMax),source=0.0_pReal) allocate(crystallite_subdt,crystallite_subFrac,crystallite_subStep, & source = crystallite_dt) @@ -293,7 +289,6 @@ subroutine crystallite_init !$OMP END PARALLEL DO devNull = crystallite_stress() - call crystallite_stressTangent #ifdef DEBUG if (debugCrystallite%basic) then @@ -566,12 +561,14 @@ end subroutine crystallite_restore !-------------------------------------------------------------------------------------------------- !> @brief Calculate tangent (dPdF). !-------------------------------------------------------------------------------------------------- -subroutine crystallite_stressTangent +function crystallite_stressTangent(c,i,e) result(dPdF) - integer :: & + real(pReal), dimension(3,3,3,3) :: dPdF + integer, intent(in) :: & c, & !< counter in constituent loop i, & !< counter in integration point loop - e, & !< counter in element loop + e !< counter in element loop + integer :: & o, & p @@ -593,12 +590,6 @@ subroutine crystallite_stressTangent real(pReal), dimension(9,9):: temp_99 logical :: error - !$OMP PARALLEL DO PRIVATE(dSdF,dSdFe,dSdFi,dLpdS,dLpdFi,dFpinvdF,dLidS,dLidFi,dFidS,o,p, & - !$OMP invSubFp0,invSubFi0,invFp,invFi, & - !$OMP rhs_3333,lhs_3333,temp_99,temp_33_1,temp_33_2,temp_33_3,temp_33_4,temp_3333,error) - elementLooping: do e = FEsolving_execElem(1),FEsolving_execElem(2) - do i = FEsolving_execIP(1),FEsolving_execIP(2) - do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) call constitutive_SandItsTangents(devNull,dSdFe,dSdFi, & crystallite_Fe(1:3,1:3,c,i,e), & @@ -679,24 +670,20 @@ subroutine crystallite_stressTangent temp_33_3 = matmul(crystallite_subF(1:3,1:3,c,i,e),invFp) temp_33_4 = matmul(temp_33_3,crystallite_S(1:3,1:3,c,i,e)) - crystallite_dPdF(1:3,1:3,1:3,1:3,c,i,e) = 0.0_pReal + dPdF = 0.0_pReal do p=1,3 - crystallite_dPdF(p,1:3,p,1:3,c,i,e) = transpose(temp_33_2) + dPdF(p,1:3,p,1:3) = transpose(temp_33_2) enddo do o=1,3; do p=1,3 - crystallite_dPdF(1:3,1:3,p,o,c,i,e) = crystallite_dPdF(1:3,1:3,p,o,c,i,e) & - + matmul(matmul(crystallite_subF(1:3,1:3,c,i,e), & - dFpinvdF(1:3,1:3,p,o)),temp_33_1) & - + matmul(matmul(temp_33_3,dSdF(1:3,1:3,p,o)), & - transpose(invFp)) & - + matmul(temp_33_4,transpose(dFpinvdF(1:3,1:3,p,o))) + dPdF(1:3,1:3,p,o) = dPdF(1:3,1:3,p,o) & + + matmul(matmul(crystallite_subF(1:3,1:3,c,i,e), & + dFpinvdF(1:3,1:3,p,o)),temp_33_1) & + + matmul(matmul(temp_33_3,dSdF(1:3,1:3,p,o)), & + transpose(invFp)) & + + matmul(temp_33_4,transpose(dFpinvdF(1:3,1:3,p,o))) enddo; enddo - enddo; enddo - enddo elementLooping - !$OMP END PARALLEL DO - -end subroutine crystallite_stressTangent +end function crystallite_stressTangent !-------------------------------------------------------------------------------------------------- diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 9ba5ae6de..de003fbc3 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -374,8 +374,6 @@ subroutine materialpoint_stressAndItsTangent(dt) enddo cutBackLooping - call crystallite_stressTangent - if (.not. terminallyIll ) then call crystallite_orientations() ! calculate crystal orientations !$OMP PARALLEL DO @@ -437,11 +435,16 @@ function updateState(subdt,subF,ip,el) integer, intent(in) :: & ip, & !< integration point el !< element number + integer :: c logical, dimension(2) :: updateState + real(pReal) :: dPdFs(3,3,3,3,homogenization_Ngrains(material_homogenizationAt(el))) updateState = .true. chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) case (HOMOGENIZATION_RGC_ID) chosenHomogenization + do c=1,homogenization_Ngrains(material_homogenizationAt(el)) + dPdFs(:,:,:,:,c) = crystallite_stressTangent(c,ip,el) + enddo updateState = & updateState .and. & mech_RGC_updateState(crystallite_P(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & @@ -449,7 +452,7 @@ function updateState(subdt,subF,ip,el) crystallite_partionedF0(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el),& subF,& subdt, & - crystallite_dPdF(1:3,1:3,1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & + dPdFs, & ip, & el) end select chosenHomogenization @@ -483,26 +486,35 @@ subroutine averageStressAndItsTangent(ip,el) integer, intent(in) :: & ip, & !< integration point el !< element number - + integer :: c + real(pReal) :: dPdFs(3,3,3,3,homogenization_Ngrains(material_homogenizationAt(el))) + + chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) case (HOMOGENIZATION_NONE_ID) chosenHomogenization materialpoint_P(1:3,1:3,ip,el) = crystallite_P(1:3,1:3,1,ip,el) - materialpoint_dPdF(1:3,1:3,1:3,1:3,ip,el) = crystallite_dPdF(1:3,1:3,1:3,1:3,1,ip,el) + materialpoint_dPdF(1:3,1:3,1:3,1:3,ip,el) = crystallite_stressTangent(1,ip,el) case (HOMOGENIZATION_ISOSTRAIN_ID) chosenHomogenization + do c = 1, homogenization_Ngrains(material_homogenizationAt(el)) + dPdFs(:,:,:,:,c) = crystallite_stressTangent(c,ip,el) + enddo call mech_isostrain_averageStressAndItsTangent(& materialpoint_P(1:3,1:3,ip,el), & materialpoint_dPdF(1:3,1:3,1:3,1:3,ip,el),& crystallite_P(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & - crystallite_dPdF(1:3,1:3,1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & + dPdFs, & homogenization_typeInstance(material_homogenizationAt(el))) case (HOMOGENIZATION_RGC_ID) chosenHomogenization + do c = 1, homogenization_Ngrains(material_homogenizationAt(el)) + dPdFs(:,:,:,:,c) = crystallite_stressTangent(c,ip,el) + enddo call mech_RGC_averageStressAndItsTangent(& materialpoint_P(1:3,1:3,ip,el), & materialpoint_dPdF(1:3,1:3,1:3,1:3,ip,el),& crystallite_P(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & - crystallite_dPdF(1:3,1:3,1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & + dPdFs, & homogenization_typeInstance(material_homogenizationAt(el))) end select chosenHomogenization From 33685bc493b6e80b559f602323623205e3cf704a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 30 Sep 2020 12:32:37 +0200 Subject: [PATCH 797/958] allow user do control output style (numerics.yaml looks strange otherwise) --- python/damask/_config.py | 11 +++++++++-- python/damask/_configmaterial.py | 6 ++++-- python/tests/test_Config.py | 7 +++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/python/damask/_config.py b/python/damask/_config.py index 7b9d950a7..c9130d7aa 100644 --- a/python/damask/_config.py +++ b/python/damask/_config.py @@ -43,7 +43,7 @@ class Config(dict): fhandle = fname return cls(yaml.safe_load(fhandle)) - def save(self,fname): + def save(self,fname,**kwargs): """ Save to yaml file. @@ -51,13 +51,20 @@ class Config(dict): ---------- fname : file, str, or pathlib.Path Filename or file for writing. + **kwargs : dict + Keyword arguments parsed to yaml.dump. """ try: fhandle = open(fname,'w') except TypeError: fhandle = fname - fhandle.write(yaml.dump(dict(self),width=256,default_flow_style=None,Dumper=NiceDumper)) + + if 'width' not in kwargs: + kwargs['width'] = 256 + if 'default_flow_style' not in kwargs: + kwargs['default_flow_style'] = None + fhandle.write(yaml.dump(dict(self),Dumper=NiceDumper,**kwargs)) @property diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index 8b6739763..3eb7180e2 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -9,7 +9,7 @@ from . import Rotation class ConfigMaterial(Config): """Material configuration.""" - def save(self,fname='material.yaml'): + def save(self,fname='material.yaml',**kwargs): """ Save to yaml file. @@ -17,9 +17,11 @@ class ConfigMaterial(Config): ---------- fname : file, str, or pathlib.Path, optional Filename or file for writing. Defaults to 'material.yaml'. + **kwargs : dict + Keyword arguments parsed to yaml.dump. """ - super().save(fname) + super().save(fname,**kwargs) @property def is_complete(self): diff --git a/python/tests/test_Config.py b/python/tests/test_Config.py index e4d05cffb..e715ad763 100644 --- a/python/tests/test_Config.py +++ b/python/tests/test_Config.py @@ -1,12 +1,15 @@ +import pytest + from damask import Config class TestConfig: - def test_load_save_str(self,tmp_path): + @pytest.mark.parametrize('flow_style',[None,True,False]) + def test_load_save_str(self,tmp_path,flow_style): config = Config() config['A'] = 1 config['B'] = [2,3] - config.save(tmp_path/'config.yaml') + config.save(tmp_path/'config.yaml',default_flow_style=flow_style) assert Config.load(tmp_path/'config.yaml') == config def test_load_save_file(self,tmp_path): From a59e64a8e459b779a439edb0fc4022084d1de1d5 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 30 Sep 2020 17:27:49 -0400 Subject: [PATCH 798/958] renamed TPMS and added more from additional references --- python/damask/_geom.py | 154 +++++++++++++++++++++++++------------- python/tests/test_Geom.py | 36 +++++++-- 2 files changed, 134 insertions(+), 56 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index aaa534df0..e760e40c3 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -120,6 +120,29 @@ class Geom: return np.unique(self.material).size + @staticmethod + def load(fname): + """ + Read a VTK rectilinear grid. + + Parameters + ---------- + fname : str or or pathlib.Path + Geometry file to read. + Valid extension is .vtr, it will be appended if not given. + + """ + v = VTK.load(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') + comments = v.get_comments() + grid = np.array(v.vtk_data.GetDimensions())-1 + bbox = np.array(v.vtk_data.GetBounds()).reshape(3,2).T + + return Geom(material = v.get('material').reshape(grid,order='F'), + size = bbox[1] - bbox[0], + origin = bbox[0], + comments=comments) + + @staticmethod def load_ASCII(fname): """ @@ -184,29 +207,6 @@ class Geom: return Geom(material.reshape(grid,order='F'),size,origin,comments) - @staticmethod - def load(fname): - """ - Read a VTK rectilinear grid. - - Parameters - ---------- - fname : str or or pathlib.Path - Geometry file to read. - Valid extension is .vtr, it will be appended if not given. - - """ - v = VTK.load(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr') - comments = v.get_comments() - grid = np.array(v.vtk_data.GetDimensions())-1 - bbox = np.array(v.vtk_data.GetBounds()).reshape(3,2).T - - return Geom(material = v.get('material').reshape(grid,order='F'), - size = bbox[1] - bbox[0], - origin = bbox[0], - comments=comments) - - @staticmethod def _find_closest_seed(seeds, weights, point): return np.argmin(np.sum((np.broadcast_to(point,(len(seeds),3))-seeds)**2,axis=1) - weights) @@ -292,10 +292,52 @@ class Geom: ) + _minimal_surface = \ + {'Schwarz P': lambda x,y,z: np.cos(x) + np.cos(y) + np.cos(z), + 'Double Primitive': lambda x,y,z: ( 0.5 * (np.cos(x)*np.cos(y) + np.cos(y)*np.cos(z) + np.cos(z)*np.cos(x)) + + 0.2 * (np.cos(2*x) + np.cos(2*y) + np.cos(2*z)) ), + 'Schwarz D': lambda x,y,z: ( np.sin(x)*np.sin(y)*np.sin(z) + + np.sin(x)*np.cos(y)*np.cos(z) + + np.cos(x)*np.cos(y)*np.sin(z) + + np.cos(x)*np.sin(y)*np.cos(z) ), + 'Complementary D': lambda x,y,z: ( np.cos(3*x+y)*np.cos(z) - np.sin(3*x-y)*np.sin(z) + np.cos(x+3*y)*np.cos(z) + + np.sin(x-3*y)*np.sin(z) + np.cos(x-y)*np.cos(3*z) - np.sin(x+y)*np.sin(3*z) ), + 'Double Diamond': lambda x,y,z: 0.5 * (np.sin(x)*np.sin(y) + + np.sin(y)*np.sin(z) + + np.sin(z)*np.sin(x) + + np.cos(x) * np.cos(y) * np.cos(z) ), + 'Dprime': lambda x,y,z: 0.5 * ( np.cos(x)*np.cos(y)*np.cos(z) + + np.cos(x)*np.sin(y)*np.sin(z) + + np.sin(x)*np.cos(y)*np.sin(z) + + np.sin(x)*np.sin(y)*np.cos(z) + - np.sin(2*x)*np.sin(2*y) + - np.sin(2*y)*np.sin(2*z) + - np.sin(2*z)*np.sin(2*x) ) - 0.2, + 'Gyroid': lambda x,y,z: np.cos(x)*np.sin(y) + np.cos(y)*np.sin(z) + np.cos(z)*np.sin(x), + 'Gprime': lambda x,y,z : ( np.sin(2*x)*np.cos(y)*np.sin(z) + + np.sin(2*y)*np.cos(z)*np.sin(x) + + np.sin(2*z)*np.cos(x)*np.sin(y) ) + 0.32, + 'Karcher K': lambda x,y,z: ( 0.3 * ( np.cos(x) + np.cos(y) + np.cos(z) + + np.cos(x)*np.cos(y) + np.cos(y)*np.cos(z) + np.cos(z)*np.cos(x) ) + - 0.4 * ( np.cos(2*x) + np.cos(2*y) + np.cos(2*z) ) ) + 0.2, + 'Lidinoid': lambda x,y,z: 0.5 * ( np.sin(2*x)*np.cos(y)*np.sin(z) + + np.sin(2*y)*np.cos(z)*np.sin(x) + + np.sin(2*z)*np.cos(x)*np.sin(y) + - np.cos(2*x)*np.cos(2*y) + - np.cos(2*y)*np.cos(2*z) + - np.cos(2*z)*np.cos(2*x) ) + 0.15, + 'Neovius': lambda x,y,z: ( 3 * (np.cos(x)+np.cos(y)+np.cos(z)) + + 4 * np.cos(x)*np.cos(y)*np.cos(z) ), + 'Fisher-Koch S': lambda x,y,z: ( np.cos(2*x)*np.sin( y)*np.cos( z) + + np.cos( x)*np.cos(2*y)*np.sin( z) + + np.sin( x)*np.cos( y)*np.cos(2*z) ), + } + + @staticmethod def from_minimal_surface(grid,size,surface,threshold=0.0,periods=1,materials=(1,2)): """ - Generate geometry from definition of minimal surface. + Generate geometry from definition of triply periodic minimal surface. Parameters ---------- @@ -303,7 +345,7 @@ class Geom: Number of grid points in x,y,z direction. size : list or numpy.ndarray of shape (3) Physical size of the geometry in meter. - surface : {'primitive', 'gyroid', 'diamond'} + surface : {'primitive', 'gyroid', 'lidinoid', 'neovius', 'diamond', 'doublediamond'} Type of the minimal surface. threshold : float, optional. Threshold of the minimal surface. Defaults to 0.0. @@ -312,21 +354,53 @@ class Geom: materials : (int, int), optional Material IDs. Defaults to (1,2). + References + ---------- + Surface curvature in triply-periodic minimal surface architectures as + a distinct design parameter in preparing advanced tissue engineering scaffolds + Sébastien B G Blanquer, Maike Werner, Markus Hannula, Shahriar Sharifi, + Guillaume P R Lajoinie, David Eglin, Jari Hyttinen, André A Poot, and Dirk W Grijpma + 10.1088/1758-5090/aa6553 + + Triply Periodic Bicontinuous Cubic Microdomain Morphologies by Symmetries + Meinhard Wohlgemuth, Nataliya Yufa, James Hoffman, and Edwin L. Thomas + 10.1021/ma0019499 + + Minisurf – A minimal surface generator for finite element modeling and additive manufacturing + Meng-Ting Hsieh, Lorenzo Valdevit + 10.1016/j.simpa.2020.100026 + """ - s = {'primitive': lambda x,y,z: np.cos(x)+np.cos(y)+np.cos(z), - 'gyroid': lambda x,y,z: np.sin(x)*np.cos(y)+np.sin(y)*np.cos(z)+np.cos(x)*np.sin(z), - 'diamond': lambda x,y,z: np.cos(x-y)*np.cos(z)+np.sin(x+y)*np.sin(z), - } x,y,z = np.meshgrid(periods*2.0*np.pi*(np.arange(grid[0])+0.5)/grid[0], periods*2.0*np.pi*(np.arange(grid[1])+0.5)/grid[1], periods*2.0*np.pi*(np.arange(grid[2])+0.5)/grid[2], indexing='ij',sparse=True) - return Geom(material = np.where(threshold < s[surface](x,y,z),materials[1],materials[0]), + return Geom(material = np.where(threshold < Geom._minimal_surface[surface](x,y,z),materials[1],materials[0]), size = size, comments = util.execution_stamp('Geom','from_minimal_surface'), ) + def save(self,fname,compress=True): + """ + Generates vtk rectilinear grid. + + Parameters + ---------- + fname : str, optional + Filename to write. If no file is given, a string is returned. + Valid extension is .vtr, it will be appended if not given. + compress : bool, optional + Compress with zlib algorithm. Defaults to True. + + """ + v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) + v.add(self.material.flatten(order='F'),'material') + v.add_comments(self.comments) + + v.save(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr',parallel=False,compress=compress) + + def save_ASCII(self,fname,compress=None): """ Writes a geom file. @@ -399,26 +473,6 @@ class Geom: f.write(f'{reps} of {former}\n') - def save(self,fname,compress=True): - """ - Generates vtk rectilinear grid. - - Parameters - ---------- - fname : str, optional - Filename to write. If no file is given, a string is returned. - Valid extension is .vtr, it will be appended if not given. - compress : bool, optional - Compress with zlib algorithm. Defaults to True. - - """ - v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) - v.add(self.material.flatten(order='F'),'material') - v.add_comments(self.comments) - - v.save(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr',parallel=False,compress=compress) - - def show(self): """Show on screen.""" v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 27829ac34..884ae72e7 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -362,7 +362,19 @@ class TestGeom: assert np.all(geom.material == material) - @pytest.mark.parametrize('surface',['primitive','gyroid','diamond']) + @pytest.mark.parametrize('surface',['Schwarz P', + 'Double Primitive', + 'Schwarz D', + 'Complementary D', + 'Double Diamond', + 'Dprime', + 'Gyroid', + 'Gprime', + 'Karcher K', + 'Lidinoid', + 'Neovius', + 'Fisher-Koch S', + ]) def test_minimal_surface_basic_properties(self,surface): grid = np.random.randint(60,100,3) size = np.ones(3)+np.random.rand(3) @@ -373,8 +385,20 @@ class TestGeom: assert geom.material.max() == materials.max() and geom.material.min() == materials.min() \ and (geom.size == size).all() and (geom.grid == grid).all() - @pytest.mark.parametrize('surface',['primitive','gyroid','diamond']) - def test_minimal_surface_volume(self,surface): - grid = np.ones(3,dtype='i')*64 - geom = Geom.from_minimal_surface(grid,np.ones(3),surface) - assert np.isclose(np.count_nonzero(geom.material==1)/np.prod(geom.grid),.5) + @pytest.mark.parametrize('surface,threshold',[('Schwarz P',0), + ('Double Primitive',-1./6.), + ('Schwarz D',0), + ('Complementary D',0), + ('Double Diamond',-0.133), + ('Dprime',-0.0395), + ('Gyroid',0), + ('Gprime',0.22913), + ('Karcher K',0.17045), + ('Lidinoid',0.14455), + ('Neovius',0), + ('Fisher-Koch S',0), + ]) + def test_minimal_surface_volume(self,surface,threshold): + grid = np.ones(3,dtype=int)*64 + geom = Geom.from_minimal_surface(grid,np.ones(3),surface,threshold) + assert np.isclose(np.count_nonzero(geom.material==1)/np.prod(geom.grid),.5,rtol=1e-3) From 898306f82e2b666bb3a9f265d5dbeda4f8828336 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 30 Sep 2020 23:33:09 +0200 Subject: [PATCH 799/958] sanity check for key mismatch --- src/IO.f90 | 3 +++ src/YAML_types.f90 | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/IO.f90 b/src/IO.f90 index 0542e7a62..ee35cf1bc 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -498,6 +498,9 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'Abrupt end of file' case (708) msg = '--- expected after YAML file header' + case (710) + msg = 'key mismatch' + !------------------------------------------------------------------------------------------------- ! errors related to the grid solver diff --git a/src/YAML_types.f90 b/src/YAML_types.f90 index cc1c85efd..86acf05be 100644 --- a/src/YAML_types.f90 +++ b/src/YAML_types.f90 @@ -952,6 +952,9 @@ function tNode_get_byKey_asIndex(self,key) result(keyIndex) endif enddo + if(keyIndex == -1) call IO_error(710,ext_msg=key) + + end function tNode_get_byKey_asIndex From f2048087954aaaf33f15f946e67653342e7d4c0d Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 30 Sep 2020 17:45:02 -0400 Subject: [PATCH 800/958] adapted geom_fromMinimalSurface.py to new TPMS names --- processing/pre/geom_fromMinimalSurface.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/processing/pre/geom_fromMinimalSurface.py b/processing/pre/geom_fromMinimalSurface.py index bf0e2b754..2b40940b7 100755 --- a/processing/pre/geom_fromMinimalSurface.py +++ b/processing/pre/geom_fromMinimalSurface.py @@ -11,7 +11,7 @@ scriptName = os.path.splitext(os.path.basename(__file__))[0] scriptID = ' '.join([scriptName,damask.version]) -minimal_surfaces = ['primitive','gyroid','diamond'] +minimal_surfaces = list(damask.Geom._minimal_surface.keys()) # -------------------------------------------------------------------- # MAIN From 65fe3f821ac1f02266009d6579c929617dd6d7fa Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 1 Oct 2020 01:42:33 +0200 Subject: [PATCH 801/958] [skip ci] updated version information after successful test of v3.0.0-alpha-400-ga3674d931 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 5e3f5a21a..9d7d6ae9a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-389-ge1d459aab +v3.0.0-alpha-400-ga3674d931 From 85b96209e3a43aea264947a456f4517e5c3b00a0 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 1 Oct 2020 01:51:31 +0200 Subject: [PATCH 802/958] use existing error description --- src/IO.f90 | 3 --- src/YAML_types.f90 | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index ee35cf1bc..0542e7a62 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -498,9 +498,6 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'Abrupt end of file' case (708) msg = '--- expected after YAML file header' - case (710) - msg = 'key mismatch' - !------------------------------------------------------------------------------------------------- ! errors related to the grid solver diff --git a/src/YAML_types.f90 b/src/YAML_types.f90 index 86acf05be..09a2d0592 100644 --- a/src/YAML_types.f90 +++ b/src/YAML_types.f90 @@ -952,7 +952,7 @@ function tNode_get_byKey_asIndex(self,key) result(keyIndex) endif enddo - if(keyIndex == -1) call IO_error(710,ext_msg=key) + if(keyIndex == -1) call IO_error(140,ext_msg=key) end function tNode_get_byKey_asIndex From b29f22f51398b7c36608ab5b693239e00c19cb41 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 1 Oct 2020 09:25:32 +0200 Subject: [PATCH 803/958] documenting the actually available TMPS --- python/damask/_geom.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index e760e40c3..2ccbb1988 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -345,14 +345,30 @@ class Geom: Number of grid points in x,y,z direction. size : list or numpy.ndarray of shape (3) Physical size of the geometry in meter. - surface : {'primitive', 'gyroid', 'lidinoid', 'neovius', 'diamond', 'doublediamond'} - Type of the minimal surface. + surface : str + Type of the minimal surface. See notes for details. threshold : float, optional. Threshold of the minimal surface. Defaults to 0.0. periods : integer, optional. Number of periods per unit cell. Defaults to 1. materials : (int, int), optional Material IDs. Defaults to (1,2). + + Notes + ----- + The following triply-periodic minimal surfaces are implemented: + - Schwarz P + - Double Primitive + - Schwarz D + - Complementary D + - Double Diamond + - Dprime + - Gyroid + - Gprime + - Karcher K + - Lidinoid + - Neovius + - Fisher-Koch S References ---------- From 776901cb81f569b801f702f1abaf5d24d92e37fc Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 1 Oct 2020 12:43:05 +0200 Subject: [PATCH 804/958] microstructure --> material --- PRIVATE | 2 +- .../SpectralMethod/Polycrystal/material.yaml | 207 +++++++++--------- src/IO.f90 | 10 +- src/discretization.f90 | 10 +- src/material.f90 | 32 +-- src/mesh/discretization_mesh.f90 | 8 +- 6 files changed, 135 insertions(+), 134 deletions(-) diff --git a/PRIVATE b/PRIVATE index 25ce39dd0..8f27fc91c 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 25ce39dd0f5bf49dc5c2bec20767d93d2b76d353 +Subproject commit 8f27fc91ca757a1dfdfd04892708af7e94941ef9 diff --git a/examples/SpectralMethod/Polycrystal/material.yaml b/examples/SpectralMethod/Polycrystal/material.yaml index 16c6042a6..99ff0440c 100644 --- a/examples/SpectralMethod/Polycrystal/material.yaml +++ b/examples/SpectralMethod/Polycrystal/material.yaml @@ -1,107 +1,109 @@ homogenization: SX: mech: {type: none} -microstructure: -- constituents: - - fraction: 1.0 - orientation: [1.0, 0.0, 0.0, 0.0] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.7936696712125002, -0.28765777461664166, -0.3436487135089419, 0.4113964260949434] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.33012772942625784, -0.6781865350268957, 0.6494525351030648, 0.09638521992649676] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.43596817439583935, -0.5982537129781701, 0.046599032277502436, 0.6707106499919265] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.169734823419553, -0.699615227367322, -0.6059581215838098, -0.33844257746495854] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.9698864809294915, 0.1729052643205874, -0.15948307917616958, 0.06315956884687175] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.46205660912967883, 0.3105054068891252, -0.617849551030653, 0.555294529545738] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.4512443497461787, -0.7636045534540555, -0.04739348426715133, -0.45939142396805815] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.2161856212656443, -0.6581450184826598, -0.5498086209601588, 0.4667112513346289] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.8753220715350803, -0.4561599367657419, -0.13298279533852678, -0.08969369719975541] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.11908260752431069, 0.18266024809834172, -0.7144822594012615, -0.664807992845101] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.751104669484278, 0.5585633382623958, -0.34579336397009175, 0.06538900566860861] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.08740438971703973, 0.8991264096610437, -0.4156704205935976, 0.10559485570696363] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.5584325870096193, 0.6016408353068798, -0.14280340445801173, 0.5529814994483859] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.4052725440888093, 0.25253073423599154, 0.5693263597910454, -0.669215876471182] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.7570164606888676, 0.15265448024694664, -0.5998021466848317, 0.20942796551297105] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.6987659297138081, -0.132172211261028, -0.19693254724422338, 0.6748883269678543] - phase: Aluminum - homogenization: SX -- constituents: - - fraction: 1.0 - orientation: [0.7729330445886478, 0.21682179052722322, -0.5207379472917645, 0.2905078484066341] - phase: Aluminum - homogenization: SX + +material: + - constituents: + - fraction: 1.0 + orientation: [1.0, 0.0, 0.0, 0.0] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.7936696712125002, -0.28765777461664166, -0.3436487135089419, 0.4113964260949434] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.33012772942625784, -0.6781865350268957, 0.6494525351030648, 0.09638521992649676] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.43596817439583935, -0.5982537129781701, 0.046599032277502436, 0.6707106499919265] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.169734823419553, -0.699615227367322, -0.6059581215838098, -0.33844257746495854] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.9698864809294915, 0.1729052643205874, -0.15948307917616958, 0.06315956884687175] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.46205660912967883, 0.3105054068891252, -0.617849551030653, 0.555294529545738] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.4512443497461787, -0.7636045534540555, -0.04739348426715133, -0.45939142396805815] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.2161856212656443, -0.6581450184826598, -0.5498086209601588, 0.4667112513346289] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.8753220715350803, -0.4561599367657419, -0.13298279533852678, -0.08969369719975541] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.11908260752431069, 0.18266024809834172, -0.7144822594012615, -0.664807992845101] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.751104669484278, 0.5585633382623958, -0.34579336397009175, 0.06538900566860861] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.08740438971703973, 0.8991264096610437, -0.4156704205935976, 0.10559485570696363] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.5584325870096193, 0.6016408353068798, -0.14280340445801173, 0.5529814994483859] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.4052725440888093, 0.25253073423599154, 0.5693263597910454, -0.669215876471182] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.7570164606888676, 0.15265448024694664, -0.5998021466848317, 0.20942796551297105] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.6987659297138081, -0.132172211261028, -0.19693254724422338, 0.6748883269678543] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + orientation: [0.7729330445886478, 0.21682179052722322, -0.5207379472917645, 0.2905078484066341] + phase: Aluminum + homogenization: SX + phase: Aluminum: elasticity: {C_11: 106.75e9, C_12: 60.41e9, C_44: 28.34e9, type: hooke} @@ -117,7 +119,6 @@ phase: h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] n_sl: 20 output: [xi_sl] + type: phenopowerlaw xi_0_sl: [31e6] xi_inf_sl: [63e6] - type: phenopowerlaw - diff --git a/src/IO.f90 b/src/IO.f90 index 0542e7a62..4a442cb06 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -427,20 +427,20 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) case (146) msg = 'number of values does not match' case (148) - msg = 'Nconstituents mismatch between homogenization and microstructure' + msg = 'Nconstituents mismatch between homogenization and material' !-------------------------------------------------------------------------------------------------- ! material error messages and related messages in mesh case (150) msg = 'index out of bounds' case (151) - msg = 'microstructure has no constituents' + msg = 'material has no constituents' case (153) msg = 'sum of phase fractions differs from 1' case (155) - msg = 'microstructure index out of bounds' + msg = 'material index out of bounds' case (180) - msg = 'missing/invalid microstructure definition via State Variable 2' + msg = 'missing/invalid material definition via State Variable 2' case (190) msg = 'unknown element type:' case (191) @@ -526,7 +526,7 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) case (842) msg = 'incomplete information in grid mesh header' case (843) - msg = 'microstructure count mismatch' + msg = 'material count mismatch' case (844) msg = 'invalid VTR file' case (846) diff --git a/src/discretization.f90 b/src/discretization.f90 index 3bb905cf3..e6e53fcf4 100644 --- a/src/discretization.f90 +++ b/src/discretization.f90 @@ -15,7 +15,7 @@ module discretization discretization_nElem integer, public, protected, dimension(:), allocatable :: & - discretization_microstructureAt + discretization_materialAt real(pReal), public, protected, dimension(:,:), allocatable :: & discretization_IPcoords0, & @@ -37,12 +37,12 @@ contains !-------------------------------------------------------------------------------------------------- !> @brief stores the relevant information in globally accesible variables !-------------------------------------------------------------------------------------------------- -subroutine discretization_init(microstructureAt,& +subroutine discretization_init(materialAt,& IPcoords0,NodeCoords0,& sharedNodesBegin) integer, dimension(:), intent(in) :: & - microstructureAt + materialAt real(pReal), dimension(:,:), intent(in) :: & IPcoords0, & NodeCoords0 @@ -51,10 +51,10 @@ subroutine discretization_init(microstructureAt,& print'(/,a)', ' <<<+- discretization init -+>>>'; flush(6) - discretization_nElem = size(microstructureAt,1) + discretization_nElem = size(materialAt,1) discretization_nIP = size(IPcoords0,2)/discretization_nElem - discretization_microstructureAt = microstructureAt + discretization_materialAt = materialAt discretization_IPcoords0 = IPcoords0 discretization_IPcoords = IPcoords0 diff --git a/src/material.f90 b/src/material.f90 index 6688a0ae5..3a2483246 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -97,7 +97,7 @@ module material material_orientation0 !< initial orientation of each grain,IP,element integer, dimension(:), allocatable, private :: & - microstructure_Nconstituents !< number of constituents in each microstructure + material_Nconstituents !< number of constituents in each material @@ -317,12 +317,12 @@ end subroutine material_parseHomogenization !-------------------------------------------------------------------------------------------------- -!> @brief parses the microstructure part in the material configuration file +!> @brief parses the material part in the material configuration file !-------------------------------------------------------------------------------------------------- subroutine material_parseMicrostructure - class(tNode), pointer :: microstructures, & !> list of microstructures - microstructure, & !> microstructure definition + class(tNode), pointer :: materials, & !> list of materials + material, & !> material definition constituents, & !> list of constituents constituent, & !> constituent definition phases, & @@ -341,17 +341,17 @@ subroutine material_parseMicrostructure c, & maxNconstituents - microstructures => config_material%get('microstructure') - if(any(discretization_microstructureAt > microstructures%length)) & - call IO_error(155,ext_msg='More microstructures requested than found in material.yaml') + materials => config_material%get('material') + if(any(discretization_materialAt > materials%length)) & + call IO_error(155,ext_msg='More materials requested than found in material.yaml') - allocate(microstructure_Nconstituents(microstructures%length),source=0) - do m = 1, microstructures%length - microstructure => microstructures%get(m) - constituents => microstructure%get('constituents') - microstructure_Nconstituents(m) = constituents%length + allocate(material_Nconstituents(materials%length),source=0) + do m = 1, materials%length + material => materials%get(m) + constituents => material%get('constituents') + material_Nconstituents(m) = constituents%length enddo - maxNconstituents = maxval(microstructure_Nconstituents) + maxNconstituents = maxval(material_Nconstituents) allocate(material_homogenizationAt(discretization_nElem),source=0) allocate(material_homogenizationMemberAt(discretization_nIP,discretization_nElem),source=0) @@ -366,10 +366,10 @@ subroutine material_parseMicrostructure allocate(counterHomogenization(homogenization%length),source=0) do e = 1, discretization_nElem - microstructure => microstructures%get(discretization_microstructureAt(e)) - constituents => microstructure%get('constituents') + material => materials%get(discretization_materialAt(e)) + constituents => material%get('constituents') - material_homogenizationAt(e) = homogenization%getIndex(microstructure%get_asString('homogenization')) + material_homogenizationAt(e) = homogenization%getIndex(material%get_asString('homogenization')) do i = 1, discretization_nIP counterHomogenization(material_homogenizationAt(e)) = counterHomogenization(material_homogenizationAt(e)) + 1 material_homogenizationMemberAt(i,e) = counterHomogenization(material_homogenizationAt(e)) diff --git a/src/mesh/discretization_mesh.f90 b/src/mesh/discretization_mesh.f90 index b57a4b332..bc96951a1 100644 --- a/src/mesh/discretization_mesh.f90 +++ b/src/mesh/discretization_mesh.f90 @@ -78,7 +78,7 @@ subroutine discretization_mesh_init(restart) IS :: faceSetIS PetscErrorCode :: ierr integer, dimension(:), allocatable :: & - microstructureAt + materialAt class(tNode), pointer :: & num_mesh integer :: integrationOrder !< order of quadrature rule required @@ -164,9 +164,9 @@ subroutine discretization_mesh_init(restart) call mesh_FEM_build_ipCoordinates(dimPlex,FEM_quadrature_points(dimPlex,integrationOrder)%p) call mesh_FEM_build_ipVolumes(dimPlex) - allocate(microstructureAt(mesh_NcpElems)) + allocate(materialAt(mesh_NcpElems)) do j = 1, mesh_NcpElems - call DMGetLabelValue(geomMesh,'material',j-1,microstructureAt(j),ierr) + call DMGetLabelValue(geomMesh,'material',j-1,materialAt(j),ierr) CHKERRQ(ierr) end do @@ -178,7 +178,7 @@ subroutine discretization_mesh_init(restart) allocate(mesh_node0(3,mesh_Nnodes),source=0.0_pReal) - call discretization_init(microstructureAt,& + call discretization_init(materialAt,& reshape(mesh_ipCoordinates,[3,mesh_maxNips*mesh_NcpElems]), & mesh_node0) From 33b0181286a5b51b48f026ee6356c7444c02a097 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 1 Oct 2020 14:01:50 +0200 Subject: [PATCH 805/958] orientation --> O --- PRIVATE | 2 +- .../SpectralMethod/Polycrystal/material.yaml | 40 +++++++++---------- src/material.f90 | 4 +- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/PRIVATE b/PRIVATE index 8f27fc91c..28e7fb09f 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 8f27fc91ca757a1dfdfd04892708af7e94941ef9 +Subproject commit 28e7fb09f06ec324841eac1670ebdcbd8aab4ef3 diff --git a/examples/SpectralMethod/Polycrystal/material.yaml b/examples/SpectralMethod/Polycrystal/material.yaml index 99ff0440c..394d16ed8 100644 --- a/examples/SpectralMethod/Polycrystal/material.yaml +++ b/examples/SpectralMethod/Polycrystal/material.yaml @@ -5,102 +5,102 @@ homogenization: material: - constituents: - fraction: 1.0 - orientation: [1.0, 0.0, 0.0, 0.0] + O: [1.0, 0.0, 0.0, 0.0] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.7936696712125002, -0.28765777461664166, -0.3436487135089419, 0.4113964260949434] + O: [0.7936696712125002, -0.28765777461664166, -0.3436487135089419, 0.4113964260949434] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] + O: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106] + O: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.33012772942625784, -0.6781865350268957, 0.6494525351030648, 0.09638521992649676] + O: [0.33012772942625784, -0.6781865350268957, 0.6494525351030648, 0.09638521992649676] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.43596817439583935, -0.5982537129781701, 0.046599032277502436, 0.6707106499919265] + O: [0.43596817439583935, -0.5982537129781701, 0.046599032277502436, 0.6707106499919265] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.169734823419553, -0.699615227367322, -0.6059581215838098, -0.33844257746495854] + O: [0.169734823419553, -0.699615227367322, -0.6059581215838098, -0.33844257746495854] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.9698864809294915, 0.1729052643205874, -0.15948307917616958, 0.06315956884687175] + O: [0.9698864809294915, 0.1729052643205874, -0.15948307917616958, 0.06315956884687175] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.46205660912967883, 0.3105054068891252, -0.617849551030653, 0.555294529545738] + O: [0.46205660912967883, 0.3105054068891252, -0.617849551030653, 0.555294529545738] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.4512443497461787, -0.7636045534540555, -0.04739348426715133, -0.45939142396805815] + O: [0.4512443497461787, -0.7636045534540555, -0.04739348426715133, -0.45939142396805815] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.2161856212656443, -0.6581450184826598, -0.5498086209601588, 0.4667112513346289] + O: [0.2161856212656443, -0.6581450184826598, -0.5498086209601588, 0.4667112513346289] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.8753220715350803, -0.4561599367657419, -0.13298279533852678, -0.08969369719975541] + O: [0.8753220715350803, -0.4561599367657419, -0.13298279533852678, -0.08969369719975541] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.11908260752431069, 0.18266024809834172, -0.7144822594012615, -0.664807992845101] + O: [0.11908260752431069, 0.18266024809834172, -0.7144822594012615, -0.664807992845101] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.751104669484278, 0.5585633382623958, -0.34579336397009175, 0.06538900566860861] + O: [0.751104669484278, 0.5585633382623958, -0.34579336397009175, 0.06538900566860861] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.08740438971703973, 0.8991264096610437, -0.4156704205935976, 0.10559485570696363] + O: [0.08740438971703973, 0.8991264096610437, -0.4156704205935976, 0.10559485570696363] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.5584325870096193, 0.6016408353068798, -0.14280340445801173, 0.5529814994483859] + O: [0.5584325870096193, 0.6016408353068798, -0.14280340445801173, 0.5529814994483859] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.4052725440888093, 0.25253073423599154, 0.5693263597910454, -0.669215876471182] + O: [0.4052725440888093, 0.25253073423599154, 0.5693263597910454, -0.669215876471182] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.7570164606888676, 0.15265448024694664, -0.5998021466848317, 0.20942796551297105] + O: [0.7570164606888676, 0.15265448024694664, -0.5998021466848317, 0.20942796551297105] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.6987659297138081, -0.132172211261028, -0.19693254724422338, 0.6748883269678543] + O: [0.6987659297138081, -0.132172211261028, -0.19693254724422338, 0.6748883269678543] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.7729330445886478, 0.21682179052722322, -0.5207379472917645, 0.2905078484066341] + O: [0.7729330445886478, 0.21682179052722322, -0.5207379472917645, 0.2905078484066341] phase: Aluminum homogenization: SX diff --git a/src/material.f90 b/src/material.f90 index 3a2483246..eece6626e 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -97,7 +97,7 @@ module material material_orientation0 !< initial orientation of each grain,IP,element integer, dimension(:), allocatable, private :: & - material_Nconstituents !< number of constituents in each material + material_Nconstituents !< number of constituents in each material @@ -385,7 +385,7 @@ subroutine material_parseMicrostructure counterPhase(material_phaseAt(c,e)) = counterPhase(material_phaseAt(c,e)) + 1 material_phaseMemberAt(c,i,e) = counterPhase(material_phaseAt(c,e)) - call material_orientation0(c,i,e)%fromQuaternion(constituent%get_asFloats('orientation',requiredSize=4)) + call material_orientation0(c,i,e)%fromQuaternion(constituent%get_asFloats('O',requiredSize=4)) enddo enddo From 26acdaf9ecba588316a43b06a703cdfd75bfa7cf Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 1 Oct 2020 16:07:50 +0200 Subject: [PATCH 806/958] missed out --- src/material.f90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/material.f90 b/src/material.f90 index eece6626e..81f46d64e 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -180,8 +180,8 @@ subroutine material_init(restart) material_name_homogenization(myHomog) = trim(adjustl(sectionName))//material_homogenization%getKey(myHomog) enddo - call material_parseMicrostructure - print*, 'Microstructure parsed' + call material_parseMaterial + print*, 'Material parsed' call material_parseHomogenization print*, 'Homogenization parsed' @@ -319,7 +319,7 @@ end subroutine material_parseHomogenization !-------------------------------------------------------------------------------------------------- !> @brief parses the material part in the material configuration file !-------------------------------------------------------------------------------------------------- -subroutine material_parseMicrostructure +subroutine material_parseMaterial class(tNode), pointer :: materials, & !> list of materials material, & !> material definition @@ -393,7 +393,7 @@ subroutine material_parseMicrostructure enddo -end subroutine material_parseMicrostructure +end subroutine material_parseMaterial end module material From 4a7701d86a89d630f18e6eecf9a4f8123600852c Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 2 Oct 2020 03:46:25 +0200 Subject: [PATCH 807/958] [skip ci] updated version information after successful test of v3.0.0-alpha-406-gca6f7f7a3 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 9d7d6ae9a..8ec654de6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-400-ga3674d931 +v3.0.0-alpha-406-gca6f7f7a3 From 58229b8851fac4195250e57ce01e06a78f1fe909 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 2 Oct 2020 13:26:11 +0200 Subject: [PATCH 808/958] relaxed test conditions even threshold between -.5 and +.5 can result in a single material. --- python/tests/test_Geom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 884ae72e7..c2e476f8f 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -378,11 +378,11 @@ class TestGeom: def test_minimal_surface_basic_properties(self,surface): grid = np.random.randint(60,100,3) size = np.ones(3)+np.random.rand(3) - threshold = np.random.rand()-.5 + threshold = 2*np.random.rand()-1. periods = np.random.randint(2)+1 materials = np.random.randint(0,40,2) geom = Geom.from_minimal_surface(grid,size,surface,threshold,periods,materials) - assert geom.material.max() == materials.max() and geom.material.min() == materials.min() \ + assert set(geom.material.flatten()) | set(materials) == set(materials) \ and (geom.size == size).all() and (geom.grid == grid).all() @pytest.mark.parametrize('surface,threshold',[('Schwarz P',0), From d4615891cea142fab6d60e60adcc1141521cc9e2 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 2 Oct 2020 16:01:58 +0200 Subject: [PATCH 809/958] [skip ci] updated version information after successful test of v3.0.0-alpha-433-g58229b885 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 8ec654de6..56cab3696 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-406-gca6f7f7a3 +v3.0.0-alpha-433-g58229b885 From 1b18cae46bc5a2195cfb2fb675b3518306cb084a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 2 Oct 2020 17:49:52 +0200 Subject: [PATCH 810/958] adjusted to new names --- .../tests/reference/ConfigMaterial/material.yaml | 12 ++++++------ python/tests/test_ConfigMaterial.py | 16 ++++++++-------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/python/tests/reference/ConfigMaterial/material.yaml b/python/tests/reference/ConfigMaterial/material.yaml index 395c38373..5c006c99c 100644 --- a/python/tests/reference/ConfigMaterial/material.yaml +++ b/python/tests/reference/ConfigMaterial/material.yaml @@ -4,28 +4,28 @@ homogenization: Taylor: mech: {N_constituents: 2, type: isostrain} -microstructure: +material: - constituents: - fraction: 1.0 - orientation: [1.0, 0.0, 0.0, 0.0] + O: [1.0, 0.0, 0.0, 0.0] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.7936696712125002, -0.28765777461664166, -0.3436487135089419, 0.4113964260949434] + O: [0.7936696712125002, -0.28765777461664166, -0.3436487135089419, 0.4113964260949434] phase: Aluminum homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] + O: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] phase: Aluminum homogenization: SX - constituents: - fraction: 0.5 - orientation: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106] + O: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106] phase: Aluminum - fraction: 0.5 - orientation: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] + O: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] phase: Steel homogenization: Taylor diff --git a/python/tests/test_ConfigMaterial.py b/python/tests/test_ConfigMaterial.py index 27889d564..4863a8ac4 100644 --- a/python/tests/test_ConfigMaterial.py +++ b/python/tests/test_ConfigMaterial.py @@ -35,29 +35,29 @@ class TestConfigMaterial: def test_invalid_orientation(self,reference_dir): material_config = ConfigMaterial.load(reference_dir/'material.yaml') - material_config['microstructure'][0]['constituents'][0]['orientation']=[0,0,0,0] + material_config['material'][0]['constituents'][0]['O']=[0,0,0,0] assert not material_config.is_valid def test_invalid_fraction(self,reference_dir): material_config = ConfigMaterial.load(reference_dir/'material.yaml') - material_config['microstructure'][0]['constituents'][0]['fraction']=.9 + material_config['material'][0]['constituents'][0]['fraction']=.9 assert not material_config.is_valid - @pytest.mark.parametrize('item',['homogenization','phase','microstructure']) + @pytest.mark.parametrize('item',['homogenization','phase','material']) def test_incomplete_missing(self,reference_dir,item): material_config = ConfigMaterial.load(reference_dir/'material.yaml') del material_config[item] assert not material_config.is_complete - @pytest.mark.parametrize('item',['orientation','phase']) + @pytest.mark.parametrize('item',['O','phase']) def test_incomplete_material_constituent(self,reference_dir,item): material_config = ConfigMaterial.load(reference_dir/'material.yaml') - del material_config['microstructure'][0]['constituents'][0][item] + del material_config['material'][0]['constituents'][0][item] assert not material_config.is_complete def test_incomplete_material_homogenization(self,reference_dir): material_config = ConfigMaterial.load(reference_dir/'material.yaml') - del material_config['microstructure'][0]['homogenization'] + del material_config['material'][0]['homogenization'] assert not material_config.is_complete def test_incomplete_phase_lattice(self,reference_dir): @@ -67,10 +67,10 @@ class TestConfigMaterial: def test_incomplete_wrong_phase(self,reference_dir): material_config = ConfigMaterial.load(reference_dir/'material.yaml') - new = material_config.microstructure_rename_phase({'Steel':'FeNbC'}) + new = material_config.material_rename_phase({'Steel':'FeNbC'}) assert not new.is_complete def test_incomplete_wrong_homogenization(self,reference_dir): material_config = ConfigMaterial.load(reference_dir/'material.yaml') - new = material_config.microstructure_rename_homogenization({'Taylor':'isostrain'}) + new = material_config.material_rename_homogenization({'Taylor':'isostrain'}) assert not new.is_complete From 3d49678e9360fec6d7c90beca24c747c6ad4b914 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 2 Oct 2020 17:51:33 +0200 Subject: [PATCH 811/958] new names part 2 --- python/damask/_configmaterial.py | 44 ++++++++++++++++---------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index 3eb7180e2..26006fef7 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -27,34 +27,34 @@ class ConfigMaterial(Config): def is_complete(self): """Check for completeness.""" ok = True - for top_level in ['homogenization','phase','microstructure']: + for top_level in ['homogenization','phase','material']: # ToDo: With python 3.8 as prerequisite we can shorten with := ok &= top_level in self if top_level not in self: print(f'{top_level} entry missing') if ok: - ok &= len(self['microstructure']) > 0 - if len(self['microstructure']) < 1: print('Incomplete microstructure definition') + ok &= len(self['material']) > 0 + if len(self['material']) < 1: print('Incomplete material definition') if ok: homogenization = set() phase = set() - for i,v in enumerate(self['microstructure']): + for i,v in enumerate(self['material']): if 'homogenization' in v: homogenization.add(v['homogenization']) else: - print(f'No homogenization specified in microstructure {i}') + print(f'No homogenization specified in material {i}') ok = False if 'constituents' in v: for ii,vv in enumerate(v['constituents']): - if 'orientation' not in vv: - print('No orientation specified in constituent {ii} of microstructure {i}') + if 'O' not in vv: + print('No orientation specified in constituent {ii} of material {i}') ok = False if 'phase' in vv: phase.add(vv['phase']) else: - print(f'No phase specified in constituent {ii} of microstructure {i}') + print(f'No phase specified in constituent {ii} of material {i}') ok = False for k,v in self['phase'].items(): @@ -92,42 +92,42 @@ class ConfigMaterial(Config): print(f"Invalid lattice: '{s}' in phase '{k}'") ok = False - if 'microstructure' in self: - for i,v in enumerate(self['microstructure']): + if 'material' in self: + for i,v in enumerate(self['material']): if 'constituents' in v: f = 0.0 for c in v['constituents']: f+= float(c['fraction']) - if 'orientation' in c: + if 'O' in c: try: - Rotation.from_quaternion(c['orientation']) + Rotation.from_quaternion(c['O']) except ValueError: - o = c['orientation'] - print(f"Invalid orientation: '{o}' in microstructure '{i}'") + o = c['O'] + print(f"Invalid orientation: '{o}' in material '{i}'") ok = False if not np.isclose(f,1.0): - print(f"Invalid total fraction '{f}' in microstructure '{i}'") + print(f"Invalid total fraction '{f}' in material '{i}'") ok = False return ok - def microstructure_rename_phase(self,mapping,ID=None,constituent=None): + def material_rename_phase(self,mapping,ID=None,constituent=None): """ - Change phase name in microstructure. + Change phase name in material. Parameters ---------- mapping: dictionary Mapping from old name to new name ID: list of ints, optional - Limit renaming to selected microstructure IDs. + Limit renaming to selected material IDs. constituent: list of ints, optional Limit renaming to selected constituents. """ dup = copy.deepcopy(self) - for i,m in enumerate(dup['microstructure']): + for i,m in enumerate(dup['material']): if ID and i not in ID: continue for c in m['constituents']: if constituent is not None and c not in constituent: continue @@ -138,9 +138,9 @@ class ConfigMaterial(Config): return dup - def microstructure_rename_homogenization(self,mapping,ID=None): + def material_rename_homogenization(self,mapping,ID=None): """ - Change homogenization name in microstructure. + Change homogenization name in material. Parameters ---------- @@ -151,7 +151,7 @@ class ConfigMaterial(Config): """ dup = copy.deepcopy(self) - for i,m in enumerate(dup['microstructure']): + for i,m in enumerate(dup['material']): if ID and i not in ID: continue try: m['homogenization'] = mapping[m['homogenization']] From ea333f8b7129400a0b27c12fc28033c294e3ee74 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 2 Oct 2020 18:53:43 +0200 Subject: [PATCH 812/958] [skip ci] updated version information after successful test of v3.0.0-alpha-439-g365cf9a22 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 8ec654de6..b8a6031af 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-406-gca6f7f7a3 +v3.0.0-alpha-439-g365cf9a22 From 88b92bf3b1aa3efb98b09fd17770eedb31c85f58 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 3 Oct 2020 08:34:10 +0200 Subject: [PATCH 813/958] updated test results changed calling sequence leads to slightly different results --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 3b498f5cb..64e62f805 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 3b498f5cb3c50e669588106de1b4cdc4c03ffff1 +Subproject commit 64e62f805b5ad784e3397ee5f735aaeb3cc134c2 From e5151999e8ee09ad44b00e123a2d1d70a72918a3 Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 5 Oct 2020 18:09:57 +0200 Subject: [PATCH 814/958] [skip ci] updated version information after successful test of v3.0.0-alpha-449-g37dfd32f5 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 56cab3696..5fe6785a3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-433-g58229b885 +v3.0.0-alpha-449-g37dfd32f5 From 46973508a2c9763bcdef8c509da3abde1b5ae929 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Mon, 5 Oct 2020 18:53:05 +0200 Subject: [PATCH 815/958] allow multi line flow yaml --- src/YAML_parse.f90 | 125 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 113 insertions(+), 12 deletions(-) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index cb5b726dc..2beab6fe8 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -222,11 +222,24 @@ logical function isKey(line) else isKey = IO_rmComment(line(len(IO_rmComment(line)):len(IO_rmComment(line)))) == ':' & .and. .not. isFlow(line) + isKey = isKey .and. index(IO_rmComment(line),':') == index(IO_rmComment(line),':',back =.true.) endif end function isKey +!-------------------------------------------------------------------------------------------------- +! @brief check whether a string is a list in flow style +!-------------------------------------------------------------------------------------------------- +logical function isFlowList(line) + + character(len=*), intent(in) :: line + + isFlowList = index(adjustl(line),'[') == 1 + +end function isFlowList + + !-------------------------------------------------------------------------------------------------- ! @brief skip empty lines ! @details update start position in the block by skipping empty lines if present. @@ -272,6 +285,57 @@ subroutine skip_file_header(blck,s_blck) end subroutine skip_file_header +!-------------------------------------------------------------------------------------------------- +!> @brief check if the flow line contains line break +!-------------------------------------------------------------------------------------------------- +logical function is_end(str,e_char) + + character(len=*), intent(in) :: str + character, intent(in) :: e_char !< end of list/dict ( '}' or ']') + integer :: N_sq, & !< number of open square brackets + N_cu, & !< number of open curly brackets + i + character(len=:), allocatable:: line + + is_end = .false. + N_sq = 0 + N_cu = 0 + if(e_char == ']') line = str(index(str(:),'[')+1:) + if(e_char == '}') line = str(index(str(:),'{')+1:) + + do i = 1, len_trim(line) + is_end = (N_sq==0 .and. N_cu==0 .and. scan(line(i:i),e_char) == 1) + N_sq = N_sq + merge(1,0,line(i:i) == '[') + N_cu = N_cu + merge(1,0,line(i:i) == '{') + N_sq = N_sq - merge(1,0,line(i:i) == ']') + N_cu = N_cu - merge(1,0,line(i:i) == '}') + enddo + + +end function is_end + +!-------------------------------------------------------------------------------------------------- +!> @brief return the flow YAML line without line break +!-------------------------------------------------------------------------------------------------- +subroutine line_break(blck,s_blck,e_char,flow_sgl) + + character(len=*), intent(in) :: blck !< YAML in mixed style + integer, intent(inout) :: s_blck + character, intent(in) :: e_char !< end of list/dict ( '}' or ']') + character(len=:), allocatable, intent(out) :: flow_sgl + logical :: line_end + + line_end =.false. + flow_sgl = '' + + do while(.not.line_end) + flow_sgl = flow_sgl//IO_rmComment(blck(s_blck:s_blck + index(blck(s_blck:),IO_EOL) - 2))//' ' + line_end = is_end(flow_sgl,e_char) + s_blck = s_blck + index(blck(s_blck:),IO_EOL) + enddo + +end subroutine line_break + !-------------------------------------------------------------------------------------------------- ! @brief reads a line of YAML block which is already in flow style @@ -402,7 +466,7 @@ recursive subroutine lst(blck,flow,s_blck,s_flow,offset) integer, intent(inout) :: s_blck, & !< start position in blck s_flow, & !< start position in flow offset !< stores leading '- ' in nested lists - character(len=:), allocatable :: line + character(len=:), allocatable :: line,flow_sgl integer :: e_blck,indent indent = indentDepth(blck(s_blck:),offset) @@ -437,8 +501,12 @@ recursive subroutine lst(blck,flow,s_blck,s_flow,offset) s_blck = e_blck +2 offset = 0 elseif(isFlow(line)) then - call line_isFlow(flow,s_flow,line) - s_blck = e_blck +2 + if(isFlowList(line)) then + call line_break(blck,s_blck,']',flow_sgl) + else + call line_break(blck,s_blck,'}',flow_sgl) + endif + call line_isFlow(flow,s_flow,flow_sgl) offset = 0 endif else ! list item in the same line @@ -448,8 +516,13 @@ recursive subroutine lst(blck,flow,s_blck,s_flow,offset) s_blck = e_blck +2 offset = 0 elseif(isFlow(line)) then - call line_isFlow(flow,s_flow,line) - s_blck = e_blck +2 + s_blck = s_blck + index(blck(s_blck:),'-') + if(isFlowList(line)) then + call line_break(blck,s_blck,']',flow_sgl) + else + call line_break(blck,s_blck,'}',flow_sgl) + endif + call line_isFlow(flow,s_flow,flow_sgl) offset = 0 else ! non scalar list item offset = offset + indentDepth(blck(s_blck:))+1 ! offset in spaces to be ignored @@ -486,8 +559,8 @@ recursive subroutine dct(blck,flow,s_blck,s_flow,offset) s_flow, & !< start position in flow offset - character(len=:), allocatable :: line - integer :: e_blck,indent + character(len=:), allocatable :: line,flow_sgl + integer :: e_blck,indent,col_pos logical :: previous_isKey previous_isKey = .false. @@ -521,12 +594,22 @@ recursive subroutine dct(blck,flow,s_blck,s_flow,offset) endif if(isKeyValue(line)) then - call keyValue_toFlow(flow,s_flow,line) + col_pos = index(line,':') + if(isFlow(line(col_pos+1:))) then + if(isFlowList(line(col_pos+1:))) then + call line_break(blck,s_blck,']',flow_sgl) + else + call line_break(blck,s_blck,'}',flow_sgl) + endif + call keyValue_toFlow(flow,s_flow,flow_sgl) + else + call keyValue_toFlow(flow,s_flow,line) + s_blck = e_blck + 2 + endif else call line_toFlow(flow,s_flow,line) + s_blck = e_blck + 2 endif - - s_blck = e_blck +2 end if if(isScalar(line) .or. isKeyValue(line)) then @@ -559,7 +642,7 @@ recursive subroutine decide(blck,flow,s_blck,s_flow,offset) s_flow, & !< start position in flow offset integer :: e_blck - character(len=:), allocatable :: line + character(len=:), allocatable :: line,flow_sgl if(s_blck <= len(blck)) then call skip_empty_lines(blck,s_blck) @@ -583,8 +666,12 @@ recursive subroutine decide(blck,flow,s_blck,s_flow,offset) flow(s_flow:s_flow) = '}' s_flow = s_flow + 1 elseif(isFlow(line)) then + if(isFlowList(line)) then + call line_break(blck,s_blck,']',flow_sgl) + else + call line_break(blck,s_blck,'}',flow_sgl) + endif call line_isFlow(flow,s_flow,line) - s_blck = e_blck +2 else line = line(indentDepth(line)+1:) call line_toFlow(flow,s_flow,line) @@ -723,6 +810,20 @@ subroutine selfTest if (.not. to_flow(flow_mixed_braces) == flow) error stop 'to_flow' end block basic_flow + multi_line_flow: block + character(len=*), parameter :: flow_multi = & + "%YAML 1.1"//IO_EOL//& + "---"//IO_EOL//& + "a: [b,"//IO_EOL//& + "c: "//IO_EOL//& + "d, e]"//IO_EOL + character(len=*), parameter :: flow = & + "{a: [b, {c: d}, e]}" + + if( .not. to_flow(flow_multi) == flow) error stop 'to_flow' + end block multi_line_flow + + basic_mixed: block character(len=*), parameter :: block_flow = & "%YAML 1.1"//IO_EOL//& From 22143ea02418adb7f6a043b5ecd3b56ca04a41f1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 5 Oct 2020 19:06:19 +0200 Subject: [PATCH 816/958] new tests --- .gitlab-ci.yml | 12 +++++++++++- PRIVATE | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4e83757e5..722811446 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -193,6 +193,8 @@ grid_mech_compile_Intel: - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel - cp -r grid_mech_compile grid_mech_compile_Intel - grid_mech_compile_Intel/test.py + - cd pytest + - pytest -k 'compile and grid' except: - master - release @@ -203,6 +205,8 @@ Compile_FEM_Intel: - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel - cp -r FEM_compile FEM_compile_Intel - FEM_compile_Intel/test.py + - cd pytest + - pytest -k 'compile and mesh' except: - master - release @@ -213,6 +217,8 @@ grid_mech_compile_GNU: - module load $GNUCompiler $MPICH_GNU $PETSc_MPICH_GNU - cp -r grid_mech_compile grid_mech_compile_GNU - grid_mech_compile_GNU/test.py + - cd pytest + - pytest -k 'compile and grid' except: - master - release @@ -223,6 +229,8 @@ Compile_FEM_GNU: - module load $GNUCompiler $MPICH_GNU $PETSc_MPICH_GNU - cp -r FEM_compile FEM_compile_GNU - FEM_compile_GNU/test.py + - cd pytest + - pytest -k 'compile and mesh' except: - master - release @@ -244,7 +252,7 @@ Pytest_grid: script: - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel - cd pytest - - pytest + - pytest -m 'not compile' except: - master - release @@ -320,6 +328,8 @@ Marc_compileIfort: script: - module load $IntelMarc $HDF5Marc $MSC - Marc_compileIfort/test.py + - cd pytest + - pytest -k 'compile and Marc' except: - master - release diff --git a/PRIVATE b/PRIVATE index 64e62f805..fc9172ede 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 64e62f805b5ad784e3397ee5f735aaeb3cc134c2 +Subproject commit fc9172ede32ba5609d494a03c1d11bcd60d48cb8 From 6dff0396b6df5b8a376e6a0d11d29d05e2f258fb Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Mon, 5 Oct 2020 19:13:40 +0200 Subject: [PATCH 817/958] [skip sc] more testing --- .../SpectralMethod/Polycrystal/material.yaml | 14 ++++++++++--- src/YAML_parse.f90 | 20 +++++++++++++++++-- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/examples/SpectralMethod/Polycrystal/material.yaml b/examples/SpectralMethod/Polycrystal/material.yaml index 16c6042a6..9da5a1358 100644 --- a/examples/SpectralMethod/Polycrystal/material.yaml +++ b/examples/SpectralMethod/Polycrystal/material.yaml @@ -1,6 +1,8 @@ +--- homogenization: SX: - mech: {type: none} + mech: {type: +none} microstructure: - constituents: - fraction: 1.0 @@ -9,7 +11,8 @@ microstructure: homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.7936696712125002, -0.28765777461664166, -0.3436487135089419, 0.4113964260949434] + orientation: [0.7936696712125002, -0.28765777461664166, + -0.3436487135089419, 0.4113964260949434] phase: Aluminum homogenization: SX - constituents: @@ -19,7 +22,12 @@ microstructure: homogenization: SX - constituents: - fraction: 1.0 - orientation: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106] + orientation: [0.28645844315788244, + + + +-0.022571491243423537, + -0.467933059311115, -0.8357456192708106] phase: Aluminum homogenization: SX - constituents: diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 2beab6fe8..d8d320ad1 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -810,19 +810,35 @@ subroutine selfTest if (.not. to_flow(flow_mixed_braces) == flow) error stop 'to_flow' end block basic_flow - multi_line_flow: block + multi_line_flow1: block character(len=*), parameter :: flow_multi = & "%YAML 1.1"//IO_EOL//& "---"//IO_EOL//& "a: [b,"//IO_EOL//& "c: "//IO_EOL//& "d, e]"//IO_EOL + character(len=*), parameter :: flow = & "{a: [b, {c: d}, e]}" if( .not. to_flow(flow_multi) == flow) error stop 'to_flow' - end block multi_line_flow + end block multi_line_flow1 + multi_line_flow2: block + character(len=*), parameter :: flow_multi = & + "%YAML 1.1"//IO_EOL//& + "---"//IO_EOL//& + "-"//IO_EOL//& + " a: {b:"//IO_EOL//& + "[c,"//IO_EOL//& + "d"//IO_EOL//& + "e, f]}"//IO_EOL + + character(len=*), parameter :: flow = & + "[{a: {b: [c, d e, f]}}]" + + if( .not. to_flow(flow_multi) == flow) error stop 'to_flow' + end block multi_line_flow2 basic_mixed: block character(len=*), parameter :: block_flow = & From 09ddbedb2140340f7dd1e42d0dc3276a11633166 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 5 Oct 2020 21:52:38 +0200 Subject: [PATCH 818/958] updated documentation in test --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index fc9172ede..3f0dae61d 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit fc9172ede32ba5609d494a03c1d11bcd60d48cb8 +Subproject commit 3f0dae61db57d33612507e2813ad222cca5ac790 From 9e0222db7139170dc51d8a8856c64a7c00af62cd Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 5 Oct 2020 22:41:12 +0200 Subject: [PATCH 819/958] just a wrapper to scipy, requires special layout --- processing/post/addGaussian.py | 76 ---------------------------------- 1 file changed, 76 deletions(-) delete mode 100755 processing/post/addGaussian.py diff --git a/processing/post/addGaussian.py b/processing/post/addGaussian.py deleted file mode 100755 index f00122c63..000000000 --- a/processing/post/addGaussian.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -from scipy import ndimage - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog option [ASCIItable(s)]', description = """ -Add column(s) containing Gaussian filtered values of requested column(s). -Operates on periodic and non-periodic ordered three-dimensional data sets. -For details see scipy.ndimage documentation. - -""", version = scriptID) - -parser.add_option('-p','--pos','--periodiccellcenter', - dest = 'pos', - type = 'string', metavar = 'string', - help = 'label of coordinates [%default]') -parser.add_option('-s','--scalar', - dest = 'labels', - action = 'extend', metavar = '', - help = 'label(s) of scalar field values') -parser.add_option('-o','--order', - dest = 'order', - type = int, - metavar = 'int', - help = 'order of the filter [%default]') -parser.add_option('--sigma', - dest = 'sigma', - type = float, - metavar = 'float', - help = 'standard deviation [%default]') -parser.add_option('--periodic', - dest = 'periodic', - action = 'store_true', - help = 'assume periodic grain structure') - - - -parser.set_defaults(pos = 'pos', - order = 0, - sigma = 1, - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -if options.labels is None: parser.error('no data column specified.') - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) - damask.grid_filters.coord0_check(table.get(options.pos)) - - for label in options.labels: - table = table.add('Gauss{}({})'.format(options.sigma,label), - ndimage.filters.gaussian_filter(table.get(label).reshape(-1), - options.sigma,options.order, - mode = 'wrap' if options.periodic else 'nearest'), - scriptID+' '+' '.join(sys.argv[1:])) - - table.save((sys.stdout if name is None else name), legacy=True) From 8f7ec3f2833d759155f4896b991627fdbef3cb41 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 6 Oct 2020 06:39:03 +0200 Subject: [PATCH 820/958] fix for MSC.Marc compilation test --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 3f0dae61d..226ea5596 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 3f0dae61db57d33612507e2813ad222cca5ac790 +Subproject commit 226ea55968c756ae1abbdf51230756bb80696cb0 From 1681889e0befd14dec263bd88d45fad11752b970 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 6 Oct 2020 07:12:04 +0200 Subject: [PATCH 821/958] PETSc 3.14 is out --- src/DAMASK_interface.f90 | 2 +- src/mesh/mesh_mech_FEM.f90 | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/DAMASK_interface.f90 b/src/DAMASK_interface.f90 index 39f77012c..52971ae06 100644 --- a/src/DAMASK_interface.f90 +++ b/src/DAMASK_interface.f90 @@ -11,7 +11,7 @@ !-------------------------------------------------------------------------------------------------- #define PETSC_MAJOR 3 #define PETSC_MINOR_MIN 10 -#define PETSC_MINOR_MAX 13 +#define PETSC_MINOR_MAX 14 module DAMASK_interface use, intrinsic :: ISO_fortran_env diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index de1f0c687..f7d33adcf 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -594,7 +594,11 @@ subroutine FEM_mech_formJacobian(dm_local,xx_local,Jac_pre,Jac,dummy,ierr) !-------------------------------------------------------------------------------------------------- ! apply boundary conditions +#if (PETSC_VERSION_MINOR < 14) call DMPlexCreateRigidBody(dm_local,matnull,ierr); CHKERRQ(ierr) +#else + call DMPlexCreateRigidBody(dm_local,0,matnull,ierr); CHKERRQ(ierr) +#endif call MatSetNullSpace(Jac,matnull,ierr); CHKERRQ(ierr) call MatSetNearNullSpace(Jac,matnull,ierr); CHKERRQ(ierr) call MatNullSpaceDestroy(matnull,ierr); CHKERRQ(ierr) From d3f068cd73b0f41dd17fbf18fba185be13468a21 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 6 Oct 2020 07:12:25 +0200 Subject: [PATCH 822/958] material.config -> material.yaml --- examples/FEM/polyXtal/material.config | 441 ---------------------- examples/FEM/polyXtal/material.yaml | 524 ++++++++++++++++++++++++++ 2 files changed, 524 insertions(+), 441 deletions(-) delete mode 100644 examples/FEM/polyXtal/material.config create mode 100644 examples/FEM/polyXtal/material.yaml diff --git a/examples/FEM/polyXtal/material.config b/examples/FEM/polyXtal/material.config deleted file mode 100644 index c2d1f4ad7..000000000 --- a/examples/FEM/polyXtal/material.config +++ /dev/null @@ -1,441 +0,0 @@ -#-------------------# - -#-------------------# -[SX] -mech none - -#-------------------# - -#-------------------# - -[Aluminum] -elasticity hooke -plasticity phenopowerlaw - -lattice_structure fcc -Nslip 12 # per family - -c11 106.75e9 -c12 60.41e9 -c44 28.34e9 - -gdot0_slip 0.001 -n_slip 20 -tau0_slip 31e6 # per family -tausat_slip 63e6 # per family -a_slip 2.25 -h0_slipslip 75e6 -interaction_slipslip 1 1 1.4 1.4 1.4 1.4 - -(output) f -(output) p - -#-------------------# - -#-------------------# - -[Grain001] -(constituent) phase 1 texture 1 fraction 1.0 -[Grain002] -(constituent) phase 1 texture 2 fraction 1.0 -[Grain003] -(constituent) phase 1 texture 3 fraction 1.0 -[Grain004] -(constituent) phase 1 texture 4 fraction 1.0 -[Grain005] -(constituent) phase 1 texture 5 fraction 1.0 -[Grain006] -(constituent) phase 1 texture 6 fraction 1.0 -[Grain007] -(constituent) phase 1 texture 7 fraction 1.0 -[Grain008] -(constituent) phase 1 texture 8 fraction 1.0 -[Grain009] -(constituent) phase 1 texture 9 fraction 1.0 -[Grain010] -(constituent) phase 1 texture 10 fraction 1.0 -[Grain011] -(constituent) phase 1 texture 11 fraction 1.0 -[Grain012] -(constituent) phase 1 texture 12 fraction 1.0 -[Grain013] -(constituent) phase 1 texture 13 fraction 1.0 -[Grain014] -(constituent) phase 1 texture 14 fraction 1.0 -[Grain015] -(constituent) phase 1 texture 15 fraction 1.0 -[Grain016] -(constituent) phase 1 texture 16 fraction 1.0 -[Grain017] -(constituent) phase 1 texture 17 fraction 1.0 -[Grain018] -(constituent) phase 1 texture 18 fraction 1.0 -[Grain019] -(constituent) phase 1 texture 19 fraction 1.0 -[Grain020] -(constituent) phase 1 texture 20 fraction 1.0 -[Grain021] -(constituent) phase 1 texture 21 fraction 1.0 -[Grain022] -(constituent) phase 1 texture 22 fraction 1.0 -[Grain023] -(constituent) phase 1 texture 23 fraction 1.0 -[Grain024] -(constituent) phase 1 texture 24 fraction 1.0 -[Grain025] -(constituent) phase 1 texture 25 fraction 1.0 -[Grain026] -(constituent) phase 1 texture 26 fraction 1.0 -[Grain027] -(constituent) phase 1 texture 27 fraction 1.0 -[Grain028] -(constituent) phase 1 texture 28 fraction 1.0 -[Grain029] -(constituent) phase 1 texture 29 fraction 1.0 -[Grain030] -(constituent) phase 1 texture 30 fraction 1.0 -[Grain031] -(constituent) phase 1 texture 31 fraction 1.0 -[Grain032] -(constituent) phase 1 texture 32 fraction 1.0 -[Grain033] -(constituent) phase 1 texture 33 fraction 1.0 -[Grain034] -(constituent) phase 1 texture 34 fraction 1.0 -[Grain035] -(constituent) phase 1 texture 35 fraction 1.0 -[Grain036] -(constituent) phase 1 texture 36 fraction 1.0 -[Grain037] -(constituent) phase 1 texture 37 fraction 1.0 -[Grain038] -(constituent) phase 1 texture 38 fraction 1.0 -[Grain039] -(constituent) phase 1 texture 39 fraction 1.0 -[Grain040] -(constituent) phase 1 texture 40 fraction 1.0 -[Grain041] -(constituent) phase 1 texture 41 fraction 1.0 -[Grain042] -(constituent) phase 1 texture 42 fraction 1.0 -[Grain043] -(constituent) phase 1 texture 43 fraction 1.0 -[Grain044] -(constituent) phase 1 texture 44 fraction 1.0 -[Grain045] -(constituent) phase 1 texture 45 fraction 1.0 -[Grain046] -(constituent) phase 1 texture 46 fraction 1.0 -[Grain047] -(constituent) phase 1 texture 47 fraction 1.0 -[Grain048] -(constituent) phase 1 texture 48 fraction 1.0 -[Grain049] -(constituent) phase 1 texture 49 fraction 1.0 -[Grain050] -(constituent) phase 1 texture 50 fraction 1.0 -[Grain051] -(constituent) phase 1 texture 51 fraction 1.0 -[Grain052] -(constituent) phase 1 texture 52 fraction 1.0 -[Grain053] -(constituent) phase 1 texture 53 fraction 1.0 -[Grain054] -(constituent) phase 1 texture 54 fraction 1.0 -[Grain055] -(constituent) phase 1 texture 55 fraction 1.0 -[Grain056] -(constituent) phase 1 texture 56 fraction 1.0 -[Grain057] -(constituent) phase 1 texture 57 fraction 1.0 -[Grain058] -(constituent) phase 1 texture 58 fraction 1.0 -[Grain059] -(constituent) phase 1 texture 59 fraction 1.0 -[Grain060] -(constituent) phase 1 texture 60 fraction 1.0 -[Grain061] -(constituent) phase 1 texture 61 fraction 1.0 -[Grain062] -(constituent) phase 1 texture 62 fraction 1.0 -[Grain063] -(constituent) phase 1 texture 63 fraction 1.0 -[Grain064] -(constituent) phase 1 texture 64 fraction 1.0 -[Grain065] -(constituent) phase 1 texture 65 fraction 1.0 -[Grain066] -(constituent) phase 1 texture 66 fraction 1.0 -[Grain067] -(constituent) phase 1 texture 67 fraction 1.0 -[Grain068] -(constituent) phase 1 texture 68 fraction 1.0 -[Grain069] -(constituent) phase 1 texture 69 fraction 1.0 -[Grain070] -(constituent) phase 1 texture 70 fraction 1.0 -[Grain071] -(constituent) phase 1 texture 71 fraction 1.0 -[Grain072] -(constituent) phase 1 texture 72 fraction 1.0 -[Grain073] -(constituent) phase 1 texture 73 fraction 1.0 -[Grain074] -(constituent) phase 1 texture 74 fraction 1.0 -[Grain075] -(constituent) phase 1 texture 75 fraction 1.0 -[Grain076] -(constituent) phase 1 texture 76 fraction 1.0 -[Grain077] -(constituent) phase 1 texture 77 fraction 1.0 -[Grain078] -(constituent) phase 1 texture 78 fraction 1.0 -[Grain079] -(constituent) phase 1 texture 79 fraction 1.0 -[Grain080] -(constituent) phase 1 texture 80 fraction 1.0 -[Grain081] -(constituent) phase 1 texture 81 fraction 1.0 -[Grain082] -(constituent) phase 1 texture 82 fraction 1.0 -[Grain083] -(constituent) phase 1 texture 83 fraction 1.0 -[Grain084] -(constituent) phase 1 texture 84 fraction 1.0 -[Grain085] -(constituent) phase 1 texture 85 fraction 1.0 -[Grain086] -(constituent) phase 1 texture 86 fraction 1.0 -[Grain087] -(constituent) phase 1 texture 87 fraction 1.0 -[Grain088] -(constituent) phase 1 texture 88 fraction 1.0 -[Grain089] -(constituent) phase 1 texture 89 fraction 1.0 -[Grain090] -(constituent) phase 1 texture 90 fraction 1.0 -[Grain091] -(constituent) phase 1 texture 91 fraction 1.0 -[Grain092] -(constituent) phase 1 texture 92 fraction 1.0 -[Grain093] -(constituent) phase 1 texture 93 fraction 1.0 -[Grain094] -(constituent) phase 1 texture 94 fraction 1.0 -[Grain095] -(constituent) phase 1 texture 95 fraction 1.0 -[Grain096] -(constituent) phase 1 texture 96 fraction 1.0 -[Grain097] -(constituent) phase 1 texture 97 fraction 1.0 -[Grain098] -(constituent) phase 1 texture 98 fraction 1.0 -[Grain099] -(constituent) phase 1 texture 99 fraction 1.0 -[Grain100] -(constituent) phase 1 texture 100 fraction 1.0 - -#-------------------# - -#-------------------# - -[Grain001] -(gauss) phi1 172.344 Phi 114.046 phi2 294.669 -[Grain002] -(gauss) phi1 186.013 Phi 94.7338 phi2 329.683 -[Grain003] -(gauss) phi1 162.41 Phi 98.9455 phi2 130.322 -[Grain004] -(gauss) phi1 355.272 Phi 140.621 phi2 125.567 -[Grain005] -(gauss) phi1 21.7641 Phi 143.388 phi2 240.373 -[Grain006] -(gauss) phi1 88.1966 Phi 92.3358 phi2 194.78 -[Grain007] -(gauss) phi1 161.137 Phi 78.0062 phi2 111.948 -[Grain008] -(gauss) phi1 169.792 Phi 89.5333 phi2 159.265 -[Grain009] -(gauss) phi1 264.847 Phi 130.291 phi2 180.604 -[Grain010] -(gauss) phi1 70.6323 Phi 84.1754 phi2 341.162 -[Grain011] -(gauss) phi1 67.7751 Phi 36.1662 phi2 139.898 -[Grain012] -(gauss) phi1 111.621 Phi 19.1089 phi2 228.338 -[Grain013] -(gauss) phi1 129.9 Phi 139.011 phi2 238.735 -[Grain014] -(gauss) phi1 221.405 Phi 129.743 phi2 99.6471 -[Grain015] -(gauss) phi1 241.783 Phi 98.3729 phi2 260.615 -[Grain016] -(gauss) phi1 72.5592 Phi 122.403 phi2 165.046 -[Grain017] -(gauss) phi1 64.8818 Phi 82.6384 phi2 236.305 -[Grain018] -(gauss) phi1 201.096 Phi 65.9312 phi2 330.745 -[Grain019] -(gauss) phi1 192.994 Phi 81.9371 phi2 239.326 -[Grain020] -(gauss) phi1 125.335 Phi 90.4527 phi2 207.982 -[Grain021] -(gauss) phi1 55.8848 Phi 26.4455 phi2 100.921 -[Grain022] -(gauss) phi1 40.722 Phi 95.6415 phi2 269.174 -[Grain023] -(gauss) phi1 250.487 Phi 69.6035 phi2 201.732 -[Grain024] -(gauss) phi1 204.199 Phi 84.983 phi2 20.3469 -[Grain025] -(gauss) phi1 12.7416 Phi 128.589 phi2 271.553 -[Grain026] -(gauss) phi1 299.704 Phi 85.3961 phi2 217.359 -[Grain027] -(gauss) phi1 48.8232 Phi 83.6209 phi2 200.361 -[Grain028] -(gauss) phi1 336.395 Phi 97.3059 phi2 187.071 -[Grain029] -(gauss) phi1 274.354 Phi 78.2424 phi2 320.308 -[Grain030] -(gauss) phi1 320.776 Phi 149.72 phi2 163.862 -[Grain031] -(gauss) phi1 179.549 Phi 106.548 phi2 345.498 -[Grain032] -(gauss) phi1 163.508 Phi 24.4238 phi2 127.809 -[Grain033] -(gauss) phi1 193.405 Phi 157.012 phi2 321.342 -[Grain034] -(gauss) phi1 9.09886 Phi 95.9453 phi2 102.32 -[Grain035] -(gauss) phi1 353.876 Phi 150.824 phi2 174.886 -[Grain036] -(gauss) phi1 138.914 Phi 76.5811 phi2 167.927 -[Grain037] -(gauss) phi1 262.655 Phi 76.2738 phi2 12.4459 -[Grain038] -(gauss) phi1 121.849 Phi 65.5254 phi2 192.601 -[Grain039] -(gauss) phi1 275.824 Phi 81.6788 phi2 164.228 -[Grain040] -(gauss) phi1 68.9202 Phi 160.5 phi2 210.862 -[Grain041] -(gauss) phi1 51.0398 Phi 82.7291 phi2 74.016 -[Grain042] -(gauss) phi1 338.746 Phi 62.7854 phi2 129.362 -[Grain043] -(gauss) phi1 204.51 Phi 151.256 phi2 178.89 -[Grain044] -(gauss) phi1 122.098 Phi 104.003 phi2 323.04 -[Grain045] -(gauss) phi1 106.693 Phi 108.61 phi2 336.935 -[Grain046] -(gauss) phi1 118.856 Phi 160.992 phi2 316.152 -[Grain047] -(gauss) phi1 177.962 Phi 114.868 phi2 13.6918 -[Grain048] -(gauss) phi1 330.273 Phi 174.495 phi2 231.249 -[Grain049] -(gauss) phi1 7.31937 Phi 94.7313 phi2 17.8461 -[Grain050] -(gauss) phi1 74.3385 Phi 49.9546 phi2 286.482 -[Grain051] -(gauss) phi1 326.388 Phi 76.9547 phi2 214.758 -[Grain052] -(gauss) phi1 276.024 Phi 72.1242 phi2 275.884 -[Grain053] -(gauss) phi1 137.681 Phi 116.99 phi2 6.87047 -[Grain054] -(gauss) phi1 200.213 Phi 123.618 phi2 268.84 -[Grain055] -(gauss) phi1 7.13702 Phi 56.2015 phi2 119.65 -[Grain056] -(gauss) phi1 72.1783 Phi 81.0906 phi2 6.06213 -[Grain057] -(gauss) phi1 184.565 Phi 110.01 phi2 239.546 -[Grain058] -(gauss) phi1 210.124 Phi 128.631 phi2 8.61611 -[Grain059] -(gauss) phi1 290.326 Phi 170.412 phi2 144.269 -[Grain060] -(gauss) phi1 204.748 Phi 76.7343 phi2 200.385 -[Grain061] -(gauss) phi1 54.3015 Phi 65.9143 phi2 117.373 -[Grain062] -(gauss) phi1 261.263 Phi 52.255 phi2 95.9146 -[Grain063] -(gauss) phi1 328.054 Phi 51.0778 phi2 24.2782 -[Grain064] -(gauss) phi1 163.03 Phi 154.894 phi2 64.126 -[Grain065] -(gauss) phi1 183.87 Phi 80.1848 phi2 18.7438 -[Grain066] -(gauss) phi1 219.91 Phi 113.727 phi2 126.67 -[Grain067] -(gauss) phi1 1.43844 Phi 87.6365 phi2 217.342 -[Grain068] -(gauss) phi1 16.6245 Phi 162.07 phi2 43.7899 -[Grain069] -(gauss) phi1 16.86 Phi 53.8682 phi2 256.917 -[Grain070] -(gauss) phi1 1.01921 Phi 118.449 phi2 307.223 -[Grain071] -(gauss) phi1 19.0397 Phi 83.8885 phi2 262.687 -[Grain072] -(gauss) phi1 99.799 Phi 77.2307 phi2 84.9727 -[Grain073] -(gauss) phi1 234.292 Phi 63.5029 phi2 250.315 -[Grain074] -(gauss) phi1 315.529 Phi 106.015 phi2 103.711 -[Grain075] -(gauss) phi1 235.595 Phi 110.152 phi2 210.277 -[Grain076] -(gauss) phi1 341.907 Phi 17.1839 phi2 332.75 -[Grain077] -(gauss) phi1 352.166 Phi 88.6049 phi2 114.964 -[Grain078] -(gauss) phi1 342.33 Phi 117.777 phi2 180.346 -[Grain079] -(gauss) phi1 224.952 Phi 70.5702 phi2 148.486 -[Grain080] -(gauss) phi1 7.71702 Phi 23.6124 phi2 131.591 -[Grain081] -(gauss) phi1 65.1024 Phi 138.774 phi2 247.344 -[Grain082] -(gauss) phi1 37.6181 Phi 51.5209 phi2 8.4169 -[Grain083] -(gauss) phi1 245.335 Phi 53.4543 phi2 52.5205 -[Grain084] -(gauss) phi1 259.572 Phi 87.7026 phi2 272.065 -[Grain085] -(gauss) phi1 269.39 Phi 103.379 phi2 132.506 -[Grain086] -(gauss) phi1 175.156 Phi 119.338 phi2 355.51 -[Grain087] -(gauss) phi1 248.11 Phi 39.4772 phi2 310.371 -[Grain088] -(gauss) phi1 121.809 Phi 141.465 phi2 10.0736 -[Grain089] -(gauss) phi1 2.4357 Phi 47.118 phi2 274.654 -[Grain090] -(gauss) phi1 314.188 Phi 134.146 phi2 250.673 -[Grain091] -(gauss) phi1 114.815 Phi 121.132 phi2 275.124 -[Grain092] -(gauss) phi1 126.699 Phi 99.0325 phi2 320.537 -[Grain093] -(gauss) phi1 184.138 Phi 20.1663 phi2 159.314 -[Grain094] -(gauss) phi1 296.502 Phi 15.2389 phi2 39.382 -[Grain095] -(gauss) phi1 167.8 Phi 151.764 phi2 192.568 -[Grain096] -(gauss) phi1 257.822 Phi 133.446 phi2 257.108 -[Grain097] -(gauss) phi1 71.6923 Phi 74.5726 phi2 342.575 -[Grain098] -(gauss) phi1 176.748 Phi 28.39 phi2 327.375 -[Grain099] -(gauss) phi1 121.822 Phi 141.836 phi2 22.6349 -[Grain100] -(gauss) phi1 180.151 Phi 109.246 phi2 146.177 diff --git a/examples/FEM/polyXtal/material.yaml b/examples/FEM/polyXtal/material.yaml new file mode 100644 index 000000000..3d4b0addf --- /dev/null +++ b/examples/FEM/polyXtal/material.yaml @@ -0,0 +1,524 @@ +homogenization: + SX: + mech: {type: none} + +phase: + Aluminum: + elasticity: {C_11: 106.75e9, C_12: 60.41e9, C_44: 28.34e9, type: hooke} + generic: + output: [F, P, Fe, Fp, Lp] + lattice: fcc + plasticity: + N_sl: [12] + a_sl: 2.25 + atol_xi: 1.0 + dot_gamma_0_sl: 0.001 + h_0_sl_sl: 75e6 + h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + n_sl: 20 + output: [xi_sl] + type: phenopowerlaw + xi_0_sl: [31e6] + xi_inf_sl: [63e6] + +material: + - constituents: + - O: [0.12807292351503236, 0.22200469518411023, 0.6352813278477609, -0.7285114110750144] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.372279509887385, 0.7538147166654958, 0.5325170025119552, -0.09796418474222598] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.36250483607280015, 0.1909385526545633, 0.22801354774620894, 0.883256777487838] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.732294920525089, 0.5171063011556195, -0.1407961220188403, 0.4201448258669421] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.708826030342622, -0.6702053835750753, -0.20103371291967786, -0.08930760776907508] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.5987257793404215, -0.07651654961032513, 0.5682302685884709, 0.5592736545277363] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.06694940093926707, -0.30782756132267486, -0.12043616569331547, 0.9414112279960869] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.18461382116884548, -0.6204161624733774, -0.29958251820830917, 0.700893599028564] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.9169840196863235, -0.06434514294945529, -0.39316017660689456, -0.02061760774585527] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.6721337568887824, 0.25328061978301336, 0.695177984796291, 0.028508068111876502] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.5634397986285561, 0.5706880594373327, 0.08060455928790704, 0.5919067808017289] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.5400408176755693, -0.4956697116684921, 0.14064883310776702, 0.6654963245008945] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.07812412485408982, 0.5540083408137547, 0.5031719732018802, -0.6586268631089227] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.41240828720357114, -0.026821321952330345, -0.06656740215323173, -0.9081678271691396] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.3658567189933218, -0.6119251240676276, 0.3102501533620181, -0.6288412725331445] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.2308179184918794, 0.26432722557112004, -0.14038019870347257, -0.925822664518926] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.4363489638426341, -0.5213523479018052, -0.37065469878209856, -0.6327767421148525] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.15751083378097516, -0.5830676086424881, -0.7731435878587035, -0.19357554997086668] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.41698573506483805, 0.5882742372124636, 0.4716906164392004, 0.5075079122021035] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.17835925061073415, -0.7576341567357145, 0.5458453874401553, 0.3102116620619653] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.016537212068790805, -0.06560032016255024, -0.9814007903497085, 0.17965413246716677] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.7933419088044938, -0.4975616690562898, 0.002907610903989995, 0.35075995640778657] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.3635770516878745, -0.09660008514915623, 0.36238757501055235, 0.8527340713921895] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.35469467802378446, 0.900798059498047, 0.14285057027288334, -0.20578691882349764] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.06696575255653868, 0.5321303636902097, -0.6166115894646206, 0.5763184985417141] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.31809816235976984, 0.4876502255202392, -0.7296452532806524, -0.3586483249903866] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.2549514949878876, 0.05524371396681128, 0.9470351218726387, -0.18727612023499066] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.3760153183052231, -0.4217640210815424, 0.6443784334217433, -0.515270827295598] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.6102174060370085, -0.022958466699548683, -0.6694455254088741, -0.42302519391438936] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.5254549417230717, 0.20193294294562072, -0.19303567281299983, -0.8036525491739303] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.7169626866664082, -0.6629494257626796, -0.1589260699014312, -0.14561960415653047] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.040377943142626056, 0.7396298011497441, -0.661651923110657, -0.11633620074048379] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.8080395996415211, -0.5263437715228787, 0.22303374382245625, -0.1424436334371638] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.21962598047172166, 0.45293590819075397, -0.06718005388282963, -0.8614524549466163] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.7348220818417669, 0.06949262003518837, 0.20336956395879577, 0.643310270595446] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.27437168454785316, 0.607839586873941, -0.06548653269996256, -0.7422686369382898] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.5821287086059501, 0.5669682803260325, -0.47414005369298196, 0.338916428054065] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.3970593041780103, 0.8246645098423279, -0.36199337531483944, 0.1767290338352959] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.5081480477127669, 0.3204901365034085, 0.7369345512733142, -0.3098372171791651] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.6953483497932282, -0.7005111230189092, -0.030120917781595695, -0.15769454422590312] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.20780780106593144, -0.4156481640905742, -0.859796494212616, -0.2116660342236624] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.875449475108018, 0.334405906289409, 0.08321243768586052, 0.3388754883231179] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.4878954087431437, -0.201899911445109, -0.016443700876142255, 0.8490724943061776] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.809006993377334, -0.4511704605616954, 0.3107581234699541, 0.21303119227133527] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.2783061701232137, -0.37155930333092624, 0.2983006011383234, 0.833970090075238] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.8685487200401724, 0.4286175969913296, 0.2073677875225473, -0.13750882576751258] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.8559566148691011, 0.23856401969856064, 0.39423286552950637, 0.23453342982075753] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.1756511736975092, 0.07342062889304078, -0.04772989392115008, -0.9805498119207986] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.7200508938250222, 0.6735134759580867, -0.1233849919850085, 0.11261639204619212] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.047335400154722915, 0.49129103138311975, 0.525630527898618, -0.6928961181271857] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.28118642835330543, 0.5395929890335265, 0.40425497687514045, 0.6828993427786086] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.006026285215314257, -0.1679148292265234, -0.7479485565815042, -0.6421380308936511] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.334648430137024, 0.6496056109679386, -0.1394793624167455, 0.6682577989560725] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.7232075581792949, -0.28960085183792955, -0.6223046032924913, -0.07641436467093393] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.47299579296952254, -0.5670338162851795, -0.5015824290282452, 0.45073572957146774] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.5759837103124865, 0.47483366659316206, 0.13338249877309968, -0.6519086312861638] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.2133016608721166, 0.8062208250934307, -0.14645674169152062, 0.5320345904807013] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.7863833344402563, 0.15848713668741257, 0.5963350020823727, 0.02945579927053303] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.2759341654421687, -0.6656009677995011, 0.632033964698132, -0.2852520910949854] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.3400173283191303, 0.2790322396525497, 0.05686903943434476, -0.8962673362513095] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.3090337373688507, -0.6179184060817985, -0.40306280271429823, -0.6001794478831014] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.48435626950922916, 0.11609254154182697, 0.8072509012091782, 0.31665045157465316] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.9341912300459765, 0.06381865157465592, -0.2688666295423878, 0.22566493067132626] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.3246762949389304, -0.8214600528123802, 0.1647217509197912, -0.43892531245318767] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.22010536155962523, 0.3952675899243737, -0.4188983380967744, 0.787300034616946] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.4751050223053463, -0.4218758221556333, 0.4821369300658099, -0.6031915028641082] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.880861720439117, 0.09303992127699898, 0.06428592081503388, 0.459666752004941] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.017063839192766467, -0.6261860403002049, 0.7746195154331581, 0.0869739882680612] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.8252329561137333, 0.43850926617938535, -0.16721886267130043, 0.314226102648273] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.4088699582548411, 0.5235534931618994, 0.2277666883750278, -0.7119265641211392] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.31369184472576933, -0.5429805343259477, -0.5533576236189442, -0.5482380014906362] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.8207922579932034, -0.40913772106857016, -0.29054259084664685, 0.2729311219362013] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.39996686955088523, 0.8073277952554248, -0.42163315248684, 0.10234167769627939] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.14522555946678525, -0.9642883914638805, -0.07079650136982708, -0.20986969852590256] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.8609444342657742, -0.4171158046302133, 0.08690127066297638, -0.2779159149664443] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.09931399908465133, 0.16026167862873547, -0.3511391996430844, 0.9171445831617433] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.6587918595877198, 0.6189906598816806, 0.0005033162297445391, 0.42760214615103187] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.7412785017238798, -0.6379030203895805, -0.20813887288112973, -0.016252047736315157] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.5032998395625615, -0.8189944544199759, -0.2752734056777696, 0.012724278061564797] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.30815895127983317, 0.20282878988385175, 0.8579906660791383, -0.3574221029279561] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.0912817179686122, 0.5543695707221443, -0.21745503821012058, 0.7981574615193918] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.718183481882936, 0.6611923783626078, 0.21674094418893908, 0.007777419738431369] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.641563954107516, 0.47603559168775506, 0.3154268571613459, 0.512144223844938] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.8439024683820513, 0.43153248029761754, -0.2652577072450959, -0.1767673359360896] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.17482457972766288, 0.13632980653604765, -0.729153335123429, -0.6474457228612067] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.5462682331321344, -0.6419412420912892, 0.5193526292629735, -0.14062469786856494] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.06193959356412827, 0.9446609987066811, 0.2955015499517284, 0.12828841821354212] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.13005379758833394, -0.4761566918831448, -0.8677539374042601, -0.0579992985057245] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.12401013449245081, -0.9269166108137696, 0.1869992698940139, -0.30079620376558064] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.6368058430024911, 0.28319472159332215, 0.09883070908659818, -0.7102897710941695] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.7479222172438762, 0.5613955239110566, -0.3036337525818155, -0.18235670258786588] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.13628779568798424, -0.7300975764648174, 0.27927071064003745, -0.6085975975678171] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.24072388217536397, -0.41900940030067935, -0.16600482052691715, 0.859607779497087] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.75515292090621, 0.08155675624188279, -0.050775397210192544, 0.6484708324946223] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.6714109994800408, 0.44985122714627734, -0.39700997413825245, -0.4349991076392517] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.42120801893902454, -0.5534446724220495, -0.5021395923844388, 0.5139441887103136] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.021268573686443606, 0.024774237164421335, -0.3057203971540149, -0.9515613084348569] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.7264452778402825, -0.06307246428220294, -0.667017211813705, -0.15292861634499988] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.23746818259636918, 0.6362552151914914, 0.7106717442450251, -0.18366773077418935] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.24869738401636882, 0.6772930680861174, -0.5511240766607762, 0.4191490942740014] + fraction: 1.0 + phase: Aluminum + homogenization: SX From ed881a4de2249b0e0b8ae5f77331b88cbea22a68 Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 6 Oct 2020 16:43:07 +0200 Subject: [PATCH 823/958] [skip ci] updated version information after successful test of v3.0.0-alpha-452-gd3f068cd7 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 5fe6785a3..260159fc8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-449-g37dfd32f5 +v3.0.0-alpha-452-gd3f068cd7 From 8d4adebea26cd930016ab39f01f8928b7ec96549 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 6 Oct 2020 17:46:34 +0200 Subject: [PATCH 824/958] pyaml is now needed --- python/setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/setup.py b/python/setup.py index ac2363160..19fbdcd13 100644 --- a/python/setup.py +++ b/python/setup.py @@ -21,6 +21,7 @@ setuptools.setup( "h5py", # requires numpy "vtk", "matplotlib", # requires numpy, pillow + "pyaml" ], classifiers = [ "Intended Audience :: Science/Research", From 08ab4a0b888abdab71f79adfd442ea6d9f75af16 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Tue, 6 Oct 2020 18:09:53 +0200 Subject: [PATCH 825/958] better names --- src/YAML_parse.f90 | 54 +++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index d8d320ad1..8197782b2 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -257,7 +257,6 @@ subroutine skip_empty_lines(blck,s_blck) if(empty) s_blck = s_blck + index(blck(s_blck:),IO_EOL) enddo - end subroutine skip_empty_lines @@ -285,10 +284,11 @@ subroutine skip_file_header(blck,s_blck) end subroutine skip_file_header + !-------------------------------------------------------------------------------------------------- -!> @brief check if the flow line contains line break +!> @brief check if a line in flow YAML starts and ends in the same line !-------------------------------------------------------------------------------------------------- -logical function is_end(str,e_char) +logical function flow_is_closed(str,e_char) character(len=*), intent(in) :: str character, intent(in) :: e_char !< end of list/dict ( '}' or ']') @@ -297,44 +297,44 @@ logical function is_end(str,e_char) i character(len=:), allocatable:: line - is_end = .false. + flow_is_closed = .false. N_sq = 0 N_cu = 0 if(e_char == ']') line = str(index(str(:),'[')+1:) if(e_char == '}') line = str(index(str(:),'{')+1:) do i = 1, len_trim(line) - is_end = (N_sq==0 .and. N_cu==0 .and. scan(line(i:i),e_char) == 1) + flow_is_closed = (N_sq==0 .and. N_cu==0 .and. scan(line(i:i),e_char) == 1) N_sq = N_sq + merge(1,0,line(i:i) == '[') N_cu = N_cu + merge(1,0,line(i:i) == '{') N_sq = N_sq - merge(1,0,line(i:i) == ']') N_cu = N_cu - merge(1,0,line(i:i) == '}') enddo +end function flow_is_closed -end function is_end !-------------------------------------------------------------------------------------------------- !> @brief return the flow YAML line without line break !-------------------------------------------------------------------------------------------------- -subroutine line_break(blck,s_blck,e_char,flow_sgl) +subroutine remove_line_break(blck,s_blck,e_char,flow_line) character(len=*), intent(in) :: blck !< YAML in mixed style integer, intent(inout) :: s_blck character, intent(in) :: e_char !< end of list/dict ( '}' or ']') - character(len=:), allocatable, intent(out) :: flow_sgl + character(len=:), allocatable, intent(out) :: flow_line logical :: line_end line_end =.false. - flow_sgl = '' + flow_line = '' do while(.not.line_end) - flow_sgl = flow_sgl//IO_rmComment(blck(s_blck:s_blck + index(blck(s_blck:),IO_EOL) - 2))//' ' - line_end = is_end(flow_sgl,e_char) - s_blck = s_blck + index(blck(s_blck:),IO_EOL) + flow_line = flow_line//IO_rmComment(blck(s_blck:s_blck + index(blck(s_blck:),IO_EOL) - 2))//' ' + line_end = flow_is_closed(flow_line,e_char) + s_blck = s_blck + index(blck(s_blck:),IO_EOL) enddo -end subroutine line_break +end subroutine remove_line_break !-------------------------------------------------------------------------------------------------- @@ -466,7 +466,7 @@ recursive subroutine lst(blck,flow,s_blck,s_flow,offset) integer, intent(inout) :: s_blck, & !< start position in blck s_flow, & !< start position in flow offset !< stores leading '- ' in nested lists - character(len=:), allocatable :: line,flow_sgl + character(len=:), allocatable :: line,flow_line integer :: e_blck,indent indent = indentDepth(blck(s_blck:),offset) @@ -502,11 +502,11 @@ recursive subroutine lst(blck,flow,s_blck,s_flow,offset) offset = 0 elseif(isFlow(line)) then if(isFlowList(line)) then - call line_break(blck,s_blck,']',flow_sgl) + call remove_line_break(blck,s_blck,']',flow_line) else - call line_break(blck,s_blck,'}',flow_sgl) + call remove_line_break(blck,s_blck,'}',flow_line) endif - call line_isFlow(flow,s_flow,flow_sgl) + call line_isFlow(flow,s_flow,flow_line) offset = 0 endif else ! list item in the same line @@ -518,11 +518,11 @@ recursive subroutine lst(blck,flow,s_blck,s_flow,offset) elseif(isFlow(line)) then s_blck = s_blck + index(blck(s_blck:),'-') if(isFlowList(line)) then - call line_break(blck,s_blck,']',flow_sgl) + call remove_line_break(blck,s_blck,']',flow_line) else - call line_break(blck,s_blck,'}',flow_sgl) + call remove_line_break(blck,s_blck,'}',flow_line) endif - call line_isFlow(flow,s_flow,flow_sgl) + call line_isFlow(flow,s_flow,flow_line) offset = 0 else ! non scalar list item offset = offset + indentDepth(blck(s_blck:))+1 ! offset in spaces to be ignored @@ -559,7 +559,7 @@ recursive subroutine dct(blck,flow,s_blck,s_flow,offset) s_flow, & !< start position in flow offset - character(len=:), allocatable :: line,flow_sgl + character(len=:), allocatable :: line,flow_line integer :: e_blck,indent,col_pos logical :: previous_isKey @@ -597,11 +597,11 @@ recursive subroutine dct(blck,flow,s_blck,s_flow,offset) col_pos = index(line,':') if(isFlow(line(col_pos+1:))) then if(isFlowList(line(col_pos+1:))) then - call line_break(blck,s_blck,']',flow_sgl) + call remove_line_break(blck,s_blck,']',flow_line) else - call line_break(blck,s_blck,'}',flow_sgl) + call remove_line_break(blck,s_blck,'}',flow_line) endif - call keyValue_toFlow(flow,s_flow,flow_sgl) + call keyValue_toFlow(flow,s_flow,flow_line) else call keyValue_toFlow(flow,s_flow,line) s_blck = e_blck + 2 @@ -642,7 +642,7 @@ recursive subroutine decide(blck,flow,s_blck,s_flow,offset) s_flow, & !< start position in flow offset integer :: e_blck - character(len=:), allocatable :: line,flow_sgl + character(len=:), allocatable :: line,flow_line if(s_blck <= len(blck)) then call skip_empty_lines(blck,s_blck) @@ -667,9 +667,9 @@ recursive subroutine decide(blck,flow,s_blck,s_flow,offset) s_flow = s_flow + 1 elseif(isFlow(line)) then if(isFlowList(line)) then - call line_break(blck,s_blck,']',flow_sgl) + call remove_line_break(blck,s_blck,']',flow_line) else - call line_break(blck,s_blck,'}',flow_sgl) + call remove_line_break(blck,s_blck,'}',flow_line) endif call line_isFlow(flow,s_flow,line) else From 84ab21e82e083e987fa1c99bfbc2a8736516f77c Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 6 Oct 2020 20:35:44 +0200 Subject: [PATCH 826/958] [skip ci] updated version information after successful test of v3.0.0-alpha-454-g8d4adebea --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 260159fc8..a386c6e63 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-452-gd3f068cd7 +v3.0.0-alpha-454-g8d4adebea From 28380c098581e87c0b5e67603dd1957d6dfed08e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 6 Oct 2020 23:25:46 +0200 Subject: [PATCH 827/958] N_constituents is a general homogenization poperty --- PRIVATE | 2 +- src/homogenization_mech_isostrain.f90 | 2 +- src/material.f90 | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/PRIVATE b/PRIVATE index 64e62f805..ae5882a2f 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 64e62f805b5ad784e3397ee5f735aaeb3cc134c2 +Subproject commit ae5882a2ffd932807d7589bc375ebff01836495f diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index 6883f1c37..5eec454f1 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -51,7 +51,7 @@ module subroutine mech_isostrain_init homogMech => homog%get('mech') associate(prm => param(homogenization_typeInstance(h))) - prm%N_constituents = homogMech%get_asInt('N_constituents') + prm%N_constituents = homog%get_asInt('N_constituents') select case(homogMech%get_asString('mapping',defaultVal = 'sum')) case ('sum') prm%mapping = parallel_ID diff --git a/src/material.f90 b/src/material.f90 index 742a29b9d..bab2f7499 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -262,10 +262,10 @@ subroutine material_parseHomogenization homogenization_Ngrains(h) = 1 case('isostrain') homogenization_type(h) = HOMOGENIZATION_ISOSTRAIN_ID - homogenization_Ngrains(h) = homogMech%get_asInt('N_constituents') + homogenization_Ngrains(h) = homog%get_asInt('N_constituents') case('RGC') homogenization_type(h) = HOMOGENIZATION_RGC_ID - homogenization_Ngrains(h) = homogMech%get_asInt('N_constituents') + homogenization_Ngrains(h) = homog%get_asInt('N_constituents') case default call IO_error(500,ext_msg=homogMech%get_asString('type')) end select From 5c3426075515346813fb27038fb94b0d1714bf5b Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 6 Oct 2020 23:42:41 +0200 Subject: [PATCH 828/958] [skip ci] updated version information after successful test of v3.0.0-alpha-459-gf221d6e43 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 260159fc8..6f080d4e4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-452-gd3f068cd7 +v3.0.0-alpha-459-gf221d6e43 From d474e3402b71553b3e1fe0ffd426f6f70fa2607d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 7 Oct 2020 09:11:45 +0200 Subject: [PATCH 829/958] not needed for explicit calculation of nonlocal density flow --- src/crystallite.f90 | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 0b19afac1..54ea8ca16 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -441,8 +441,6 @@ function crystallite_stress() enddo elementLooping3 !$OMP END PARALLEL DO - call nonlocalConvergenceCheck - !-------------------------------------------------------------------------------------------------- ! integrate --- requires fully defined state array (basic + dependent state) where(.not. crystallite_converged .and. crystallite_subStep > num%subStepMinCryst) & ! do not try non-converged but fully cutbacked any further @@ -1526,38 +1524,6 @@ subroutine integrateStateRK(g,i,e,A,B,CC,DB) end subroutine integrateStateRK -!-------------------------------------------------------------------------------------------------- -!> @brief sets convergence flag for nonlocal calculations -!> @details one non-converged nonlocal sets all other nonlocals to non-converged to trigger cut back -!-------------------------------------------------------------------------------------------------- -subroutine nonlocalConvergenceCheck - - integer :: e,i,p - logical :: nonlocal_broken - - nonlocal_broken = .false. - !$OMP PARALLEL DO PRIVATE(p) - do e = FEsolving_execElem(1),FEsolving_execElem(2) - p = material_phaseAt(1,e) - do i = FEsolving_execIP(1),FEsolving_execIP(2) - if(plasticState(p)%nonlocal .and. .not. crystallite_converged(1,i,e)) nonlocal_broken = .true. - enddo - enddo - !$OMP END PARALLEL DO - - if(.not. nonlocal_broken) return - !$OMP PARALLEL DO PRIVATE(p) - do e = FEsolving_execElem(1),FEsolving_execElem(2) - p = material_phaseAt(1,e) - do i = FEsolving_execIP(1),FEsolving_execIP(2) - if(plasticState(p)%nonlocal) crystallite_converged(1,i,e) = .false. - enddo - enddo - !$OMP END PARALLEL DO - -end subroutine nonlocalConvergenceCheck - - !-------------------------------------------------------------------------------------------------- !> @brief determines whether a point is converged !-------------------------------------------------------------------------------------------------- From 2a23b5eaa9cc070497086e4a94e77b97477f204a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 7 Oct 2020 09:37:48 +0200 Subject: [PATCH 830/958] simplified --- src/YAML_parse.f90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/YAML_parse.f90 b/src/YAML_parse.f90 index 8197782b2..8e20e0c29 100644 --- a/src/YAML_parse.f90 +++ b/src/YAML_parse.f90 @@ -220,9 +220,9 @@ logical function isKey(line) if(len(IO_rmComment(line)) == 0) then isKey = .false. else - isKey = IO_rmComment(line(len(IO_rmComment(line)):len(IO_rmComment(line)))) == ':' & - .and. .not. isFlow(line) - isKey = isKey .and. index(IO_rmComment(line),':') == index(IO_rmComment(line),':',back =.true.) + isKey = index(IO_rmComment(line),':',back=.false.) == len(IO_rmComment(line)) .and. & + index(IO_rmComment(line),':',back=.true.) == len(IO_rmComment(line)) .and. & + .not. isFlow(line) endif end function isKey From 9550b0d8a29ac8e01eccc2711b54ef326a77fd32 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 7 Oct 2020 17:44:54 +0200 Subject: [PATCH 831/958] mandatory N_constituents --- PRIVATE | 2 +- examples/FEM/polyXtal/material.yaml | 1 + examples/SpectralMethod/Polycrystal/material.yaml | 1 + src/IO.f90 | 4 +--- src/homogenization_mech_RGC.f90 | 2 +- src/homogenization_mech_isostrain.f90 | 2 +- src/homogenization_mech_none.f90 | 5 ++++- src/material.f90 | 4 +--- 8 files changed, 11 insertions(+), 10 deletions(-) diff --git a/PRIVATE b/PRIVATE index ae5882a2f..4c9a47e76 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit ae5882a2ffd932807d7589bc375ebff01836495f +Subproject commit 4c9a47e76ca23cbae70d47b2ab07d1ec15e158d7 diff --git a/examples/FEM/polyXtal/material.yaml b/examples/FEM/polyXtal/material.yaml index 3d4b0addf..5c00f17ad 100644 --- a/examples/FEM/polyXtal/material.yaml +++ b/examples/FEM/polyXtal/material.yaml @@ -1,5 +1,6 @@ homogenization: SX: + N_constituents: 1 mech: {type: none} phase: diff --git a/examples/SpectralMethod/Polycrystal/material.yaml b/examples/SpectralMethod/Polycrystal/material.yaml index 394d16ed8..cdc210152 100644 --- a/examples/SpectralMethod/Polycrystal/material.yaml +++ b/examples/SpectralMethod/Polycrystal/material.yaml @@ -1,5 +1,6 @@ homogenization: SX: + N_constituents: 1 mech: {type: none} material: diff --git a/src/IO.f90 b/src/IO.f90 index 4a442cb06..a95938a7f 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -371,8 +371,6 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'write error for file:' case (102) msg = 'could not read file:' - case (103) - msg = 'could not assemble input files' case (106) msg = 'working directory does not exist:' @@ -411,7 +409,7 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'not enough interaction parameters given' !-------------------------------------------------------------------------------------------------- -! errors related to the parsing of material.config +! errors related to the parsing of material.yaml case (140) msg = 'key not found' case (141) diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index 6c015eea8..b429e949f 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -165,7 +165,7 @@ module subroutine mech_RGC_init(num_homogMech) prm%N_constituents = homogMech%get_asInts('cluster_size',requiredSize=3) if (homogenization_Ngrains(h) /= product(prm%N_constituents)) & - call IO_error(211,ext_msg='clustersize (mech_rgc)') + call IO_error(211,ext_msg='N_constituents (mech_RGC)') prm%xi_alpha = homogMech%get_asFloat('xi_alpha') prm%c_alpha = homogMech%get_asFloat('c_alpha') diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index 5eec454f1..f064578c8 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -51,7 +51,7 @@ module subroutine mech_isostrain_init homogMech => homog%get('mech') associate(prm => param(homogenization_typeInstance(h))) - prm%N_constituents = homog%get_asInt('N_constituents') + prm%N_constituents = homogenization_Ngrains(h) select case(homogMech%get_asString('mapping',defaultVal = 'sum')) case ('sum') prm%mapping = parallel_ID diff --git a/src/homogenization_mech_none.f90 b/src/homogenization_mech_none.f90 index 3cbec5911..a58147c45 100644 --- a/src/homogenization_mech_none.f90 +++ b/src/homogenization_mech_none.f90 @@ -24,8 +24,11 @@ module subroutine mech_none_init print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) do h = 1, size(homogenization_type) - if (homogenization_type(h) /= HOMOGENIZATION_NONE_ID) cycle + if(homogenization_type(h) /= HOMOGENIZATION_NONE_ID) cycle + if(homogenization_Ngrains(h) /= 1) & + call IO_error(211,ext_msg='N_constituents (mech_none)') + NofMyHomog = count(material_homogenizationAt == h) homogState(h)%sizeState = 0 allocate(homogState(h)%state0 (0,NofMyHomog)) diff --git a/src/material.f90 b/src/material.f90 index bab2f7499..11dfeb42e 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -256,16 +256,14 @@ subroutine material_parseHomogenization do h=1, material_Nhomogenization homog => material_homogenization%get(h) homogMech => homog%get('mech') + homogenization_Ngrains(h) = homog%get_asInt('N_constituents') select case (homogMech%get_asString('type')) case('none') homogenization_type(h) = HOMOGENIZATION_NONE_ID - homogenization_Ngrains(h) = 1 case('isostrain') homogenization_type(h) = HOMOGENIZATION_ISOSTRAIN_ID - homogenization_Ngrains(h) = homog%get_asInt('N_constituents') case('RGC') homogenization_type(h) = HOMOGENIZATION_RGC_ID - homogenization_Ngrains(h) = homog%get_asInt('N_constituents') case default call IO_error(500,ext_msg=homogMech%get_asString('type')) end select From 2b18161909f6d7864838ec6ffc7b0e839a46bd40 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 7 Oct 2020 19:44:17 +0200 Subject: [PATCH 832/958] bugfix in PRIVATE: N_constituents was missing --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 4c9a47e76..c92f6d3e2 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 4c9a47e76ca23cbae70d47b2ab07d1ec15e158d7 +Subproject commit c92f6d3e23a4c310898b502f00e395dbe670a63c From 7ffa77b8edeca6f1d37a5439c80e3237491659c3 Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 7 Oct 2020 22:06:47 +0200 Subject: [PATCH 833/958] [skip ci] updated version information after successful test of v3.0.0-alpha-472-g16e47956a --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index a386c6e63..e7674c155 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-454-g8d4adebea +v3.0.0-alpha-472-g16e47956a From 3e4330d10abef1f41198b536ff5dada1775cf0ae Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 7 Oct 2020 22:15:13 +0200 Subject: [PATCH 834/958] partition, not partion --- src/constitutive.f90 | 10 +-- src/crystallite.f90 | 136 ++++++++++++++++---------------- src/homogenization.f90 | 10 +-- src/homogenization_mech_RGC.f90 | 4 +- src/prec.f90 | 2 +- 5 files changed, 81 insertions(+), 81 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 62846359d..64d3f2d31 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -452,11 +452,11 @@ subroutine constitutive_init PhaseLoop2:do p = 1,phases%length !-------------------------------------------------------------------------------------------------- ! partition and initialize state - plasticState(p)%partionedState0 = plasticState(p)%state0 - plasticState(p)%state = plasticState(p)%partionedState0 + plasticState(p)%partitionedState0 = plasticState(p)%state0 + plasticState(p)%state = plasticState(p)%partitionedState0 forall(s = 1:phase_Nsources(p)) - sourceState(p)%p(s)%partionedState0 = sourceState(p)%p(s)%state0 - sourceState(p)%p(s)%state = sourceState(p)%p(s)%partionedState0 + sourceState(p)%p(s)%partitionedState0 = sourceState(p)%p(s)%state0 + sourceState(p)%p(s)%state = sourceState(p)%p(s)%partitionedState0 end forall constitutive_source_maxSizeDotState = max(constitutive_source_maxSizeDotState, & @@ -922,7 +922,7 @@ subroutine constitutive_allocateState(state, & allocate(state%atol (sizeState), source=0.0_pReal) allocate(state%state0 (sizeState,NipcMyPhase), source=0.0_pReal) - allocate(state%partionedState0(sizeState,NipcMyPhase), source=0.0_pReal) + allocate(state%partitionedState0(sizeState,NipcMyPhase), source=0.0_pReal) allocate(state%subState0 (sizeState,NipcMyPhase), source=0.0_pReal) allocate(state%state (sizeState,NipcMyPhase), source=0.0_pReal) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 0b19afac1..667398390 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -44,30 +44,30 @@ module crystallite ! crystallite_Fp, & !< current plastic def grad (end of converged time step) crystallite_Fp0, & !< plastic def grad at start of FE inc - crystallite_partionedFp0,& !< plastic def grad at start of homog inc + crystallite_partitionedFp0,& !< plastic def grad at start of homog inc crystallite_subFp0,& !< plastic def grad at start of crystallite inc ! crystallite_Fi, & !< current intermediate def grad (end of converged time step) crystallite_Fi0, & !< intermediate def grad at start of FE inc - crystallite_partionedFi0,& !< intermediate def grad at start of homog inc + crystallite_partitionedFi0,& !< intermediate def grad at start of homog inc crystallite_subFi0,& !< intermediate def grad at start of crystallite inc ! crystallite_Lp0, & !< plastic velocitiy grad at start of FE inc - crystallite_partionedLp0, & !< plastic velocity grad at start of homog inc + crystallite_partitionedLp0, & !< plastic velocity grad at start of homog inc ! crystallite_Li, & !< current intermediate velocitiy grad (end of converged time step) crystallite_Li0, & !< intermediate velocitiy grad at start of FE inc - crystallite_partionedLi0, & !< intermediate velocity grad at start of homog inc + crystallite_partitionedLi0, & !< intermediate velocity grad at start of homog inc ! crystallite_S0, & !< 2nd Piola-Kirchhoff stress vector at start of FE inc - crystallite_partionedS0 !< 2nd Piola-Kirchhoff stress vector at start of homog inc + crystallite_partitionedS0 !< 2nd Piola-Kirchhoff stress vector at start of homog inc real(pReal), dimension(:,:,:,:,:), allocatable, public, protected :: & crystallite_P, & !< 1st Piola-Kirchhoff stress per grain crystallite_Lp, & !< current plastic velocitiy grad (end of converged time step) crystallite_S, & !< current 2nd Piola-Kirchhoff stress vector (end of converged time step) - crystallite_partionedF0 !< def grad at start of homog inc + crystallite_partitionedF0 !< def grad at start of homog inc real(pReal), dimension(:,:,:,:,:), allocatable, public :: & - crystallite_partionedF !< def grad to be reached at end of homog inc + crystallite_partitionedF !< def grad to be reached at end of homog inc logical, dimension(:,:,:), allocatable, public :: & crystallite_requested !< used by upper level (homogenization) to request crystallite calculation @@ -166,20 +166,20 @@ subroutine crystallite_init iMax = discretization_nIP eMax = discretization_nElem - allocate(crystallite_partionedF(3,3,cMax,iMax,eMax),source=0.0_pReal) + allocate(crystallite_partitionedF(3,3,cMax,iMax,eMax),source=0.0_pReal) allocate(crystallite_S0, & crystallite_F0, crystallite_Fi0,crystallite_Fp0, & crystallite_Li0,crystallite_Lp0, & - crystallite_partionedS0, & - crystallite_partionedF0,crystallite_partionedFp0,crystallite_partionedFi0, & - crystallite_partionedLp0,crystallite_partionedLi0, & + crystallite_partitionedS0, & + crystallite_partitionedF0,crystallite_partitionedFp0,crystallite_partitionedFi0, & + crystallite_partitionedLp0,crystallite_partitionedLi0, & crystallite_S,crystallite_P, & crystallite_Fe,crystallite_Fi,crystallite_Fp, & crystallite_Li,crystallite_Lp, & crystallite_subF,crystallite_subF0, & crystallite_subFp0,crystallite_subFi0, & - source = crystallite_partionedF) + source = crystallite_partitionedF) allocate(crystallite_dt(cMax,iMax,eMax),source=0.0_pReal) allocate(crystallite_subdt,crystallite_subFrac,crystallite_subStep, & @@ -269,10 +269,10 @@ subroutine crystallite_init !$OMP END PARALLEL DO - crystallite_partionedFp0 = crystallite_Fp0 - crystallite_partionedFi0 = crystallite_Fi0 - crystallite_partionedF0 = crystallite_F0 - crystallite_partionedF = crystallite_F0 + crystallite_partitionedFp0 = crystallite_Fp0 + crystallite_partitionedFi0 = crystallite_Fi0 + crystallite_partitionedF0 = crystallite_F0 + crystallite_partitionedF = crystallite_F0 call crystallite_orientations() @@ -280,8 +280,8 @@ subroutine crystallite_init do e = FEsolving_execElem(1),FEsolving_execElem(2) do i = FEsolving_execIP(1),FEsolving_execIP(2) do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) - call constitutive_dependentState(crystallite_partionedF0(1:3,1:3,c,i,e), & - crystallite_partionedFp0(1:3,1:3,c,i,e), & + call constitutive_dependentState(crystallite_partitionedF0(1:3,1:3,c,i,e), & + crystallite_partitionedFp0(1:3,1:3,c,i,e), & c,i,e) ! update dependent state variables to be consistent with basic states enddo enddo @@ -325,8 +325,8 @@ function crystallite_stress() todo = .false. - subLp0 = crystallite_partionedLp0 - subLi0 = crystallite_partionedLi0 + subLp0 = crystallite_partitionedLp0 + subLi0 = crystallite_partitionedLi0 @@ -338,15 +338,15 @@ function crystallite_stress() do i = FEsolving_execIP(1),FEsolving_execIP(2); do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) homogenizationRequestsCalculation: if (crystallite_requested(c,i,e)) then plasticState (material_phaseAt(c,e))%subState0( :,material_phaseMemberAt(c,i,e)) = & - plasticState (material_phaseAt(c,e))%partionedState0(:,material_phaseMemberAt(c,i,e)) + plasticState (material_phaseAt(c,e))%partitionedState0(:,material_phaseMemberAt(c,i,e)) do s = 1, phase_Nsources(material_phaseAt(c,e)) sourceState(material_phaseAt(c,e))%p(s)%subState0( :,material_phaseMemberAt(c,i,e)) = & - sourceState(material_phaseAt(c,e))%p(s)%partionedState0(:,material_phaseMemberAt(c,i,e)) + sourceState(material_phaseAt(c,e))%p(s)%partitionedState0(:,material_phaseMemberAt(c,i,e)) enddo - crystallite_subFp0(1:3,1:3,c,i,e) = crystallite_partionedFp0(1:3,1:3,c,i,e) - crystallite_subFi0(1:3,1:3,c,i,e) = crystallite_partionedFi0(1:3,1:3,c,i,e) - crystallite_subF0(1:3,1:3,c,i,e) = crystallite_partionedF0(1:3,1:3,c,i,e) + crystallite_subFp0(1:3,1:3,c,i,e) = crystallite_partitionedFp0(1:3,1:3,c,i,e) + crystallite_subFi0(1:3,1:3,c,i,e) = crystallite_partitionedFi0(1:3,1:3,c,i,e) + crystallite_subF0(1:3,1:3,c,i,e) = crystallite_partitionedF0(1:3,1:3,c,i,e) crystallite_subFrac(c,i,e) = 0.0_pReal crystallite_subStep(c,i,e) = 1.0_pReal/num%subStepSizeCryst todo(c,i,e) = .true. @@ -426,8 +426,8 @@ function crystallite_stress() ! prepare for integration if (todo(c,i,e)) then crystallite_subF(1:3,1:3,c,i,e) = crystallite_subF0(1:3,1:3,c,i,e) & - + crystallite_subStep(c,i,e) *( crystallite_partionedF (1:3,1:3,c,i,e) & - -crystallite_partionedF0(1:3,1:3,c,i,e)) + + crystallite_subStep(c,i,e) *( crystallite_partitionedF (1:3,1:3,c,i,e) & + -crystallite_partitionedF0(1:3,1:3,c,i,e)) crystallite_Fe(1:3,1:3,c,i,e) = matmul(matmul(crystallite_subF(1:3,1:3,c,i,e), & math_inv33(crystallite_Fp(1:3,1:3,c,i,e))), & math_inv33(crystallite_Fi(1:3,1:3,c,i,e))) @@ -475,17 +475,17 @@ subroutine crystallite_initializeRestorationPoints(i,e) s do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) - crystallite_partionedFp0(1:3,1:3,c,i,e) = crystallite_Fp0(1:3,1:3,c,i,e) - crystallite_partionedLp0(1:3,1:3,c,i,e) = crystallite_Lp0(1:3,1:3,c,i,e) - crystallite_partionedFi0(1:3,1:3,c,i,e) = crystallite_Fi0(1:3,1:3,c,i,e) - crystallite_partionedLi0(1:3,1:3,c,i,e) = crystallite_Li0(1:3,1:3,c,i,e) - crystallite_partionedF0(1:3,1:3,c,i,e) = crystallite_F0(1:3,1:3,c,i,e) - crystallite_partionedS0(1:3,1:3,c,i,e) = crystallite_S0(1:3,1:3,c,i,e) + crystallite_partitionedFp0(1:3,1:3,c,i,e) = crystallite_Fp0(1:3,1:3,c,i,e) + crystallite_partitionedLp0(1:3,1:3,c,i,e) = crystallite_Lp0(1:3,1:3,c,i,e) + crystallite_partitionedFi0(1:3,1:3,c,i,e) = crystallite_Fi0(1:3,1:3,c,i,e) + crystallite_partitionedLi0(1:3,1:3,c,i,e) = crystallite_Li0(1:3,1:3,c,i,e) + crystallite_partitionedF0(1:3,1:3,c,i,e) = crystallite_F0(1:3,1:3,c,i,e) + crystallite_partitionedS0(1:3,1:3,c,i,e) = crystallite_S0(1:3,1:3,c,i,e) - plasticState(material_phaseAt(c,e))%partionedState0(:,material_phasememberAt(c,i,e)) = & + plasticState(material_phaseAt(c,e))%partitionedState0(:,material_phasememberAt(c,i,e)) = & plasticState(material_phaseAt(c,e))%state0( :,material_phasememberAt(c,i,e)) do s = 1, phase_Nsources(material_phaseAt(c,e)) - sourceState(material_phaseAt(c,e))%p(s)%partionedState0(:,material_phasememberAt(c,i,e)) = & + sourceState(material_phaseAt(c,e))%p(s)%partitionedState0(:,material_phasememberAt(c,i,e)) = & sourceState(material_phaseAt(c,e))%p(s)%state0( :,material_phasememberAt(c,i,e)) enddo enddo @@ -506,17 +506,17 @@ subroutine crystallite_windForward(i,e) s do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) - crystallite_partionedF0 (1:3,1:3,c,i,e) = crystallite_partionedF(1:3,1:3,c,i,e) - crystallite_partionedFp0(1:3,1:3,c,i,e) = crystallite_Fp (1:3,1:3,c,i,e) - crystallite_partionedLp0(1:3,1:3,c,i,e) = crystallite_Lp (1:3,1:3,c,i,e) - crystallite_partionedFi0(1:3,1:3,c,i,e) = crystallite_Fi (1:3,1:3,c,i,e) - crystallite_partionedLi0(1:3,1:3,c,i,e) = crystallite_Li (1:3,1:3,c,i,e) - crystallite_partionedS0 (1:3,1:3,c,i,e) = crystallite_S (1:3,1:3,c,i,e) + crystallite_partitionedF0 (1:3,1:3,c,i,e) = crystallite_partitionedF(1:3,1:3,c,i,e) + crystallite_partitionedFp0(1:3,1:3,c,i,e) = crystallite_Fp (1:3,1:3,c,i,e) + crystallite_partitionedLp0(1:3,1:3,c,i,e) = crystallite_Lp (1:3,1:3,c,i,e) + crystallite_partitionedFi0(1:3,1:3,c,i,e) = crystallite_Fi (1:3,1:3,c,i,e) + crystallite_partitionedLi0(1:3,1:3,c,i,e) = crystallite_Li (1:3,1:3,c,i,e) + crystallite_partitionedS0 (1:3,1:3,c,i,e) = crystallite_S (1:3,1:3,c,i,e) - plasticState (material_phaseAt(c,e))%partionedState0(:,material_phasememberAt(c,i,e)) = & + plasticState (material_phaseAt(c,e))%partitionedState0(:,material_phasememberAt(c,i,e)) = & plasticState (material_phaseAt(c,e))%state (:,material_phasememberAt(c,i,e)) do s = 1, phase_Nsources(material_phaseAt(c,e)) - sourceState(material_phaseAt(c,e))%p(s)%partionedState0(:,material_phasememberAt(c,i,e)) = & + sourceState(material_phaseAt(c,e))%p(s)%partitionedState0(:,material_phasememberAt(c,i,e)) = & sourceState(material_phaseAt(c,e))%p(s)%state (:,material_phasememberAt(c,i,e)) enddo enddo @@ -540,18 +540,18 @@ subroutine crystallite_restore(i,e,includeL) do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) if (includeL) then - crystallite_Lp(1:3,1:3,c,i,e) = crystallite_partionedLp0(1:3,1:3,c,i,e) - crystallite_Li(1:3,1:3,c,i,e) = crystallite_partionedLi0(1:3,1:3,c,i,e) + crystallite_Lp(1:3,1:3,c,i,e) = crystallite_partitionedLp0(1:3,1:3,c,i,e) + crystallite_Li(1:3,1:3,c,i,e) = crystallite_partitionedLi0(1:3,1:3,c,i,e) endif ! maybe protecting everything from overwriting makes more sense - crystallite_Fp(1:3,1:3,c,i,e) = crystallite_partionedFp0(1:3,1:3,c,i,e) - crystallite_Fi(1:3,1:3,c,i,e) = crystallite_partionedFi0(1:3,1:3,c,i,e) - crystallite_S (1:3,1:3,c,i,e) = crystallite_partionedS0 (1:3,1:3,c,i,e) + crystallite_Fp(1:3,1:3,c,i,e) = crystallite_partitionedFp0(1:3,1:3,c,i,e) + crystallite_Fi(1:3,1:3,c,i,e) = crystallite_partitionedFi0(1:3,1:3,c,i,e) + crystallite_S (1:3,1:3,c,i,e) = crystallite_partitionedS0 (1:3,1:3,c,i,e) plasticState (material_phaseAt(c,e))%state( :,material_phasememberAt(c,i,e)) = & - plasticState (material_phaseAt(c,e))%partionedState0(:,material_phasememberAt(c,i,e)) + plasticState (material_phaseAt(c,e))%partitionedState0(:,material_phasememberAt(c,i,e)) do s = 1, phase_Nsources(material_phaseAt(c,e)) sourceState(material_phaseAt(c,e))%p(s)%state( :,material_phasememberAt(c,i,e)) = & - sourceState(material_phaseAt(c,e))%p(s)%partionedState0(:,material_phasememberAt(c,i,e)) + sourceState(material_phaseAt(c,e))%p(s)%partitionedState0(:,material_phasememberAt(c,i,e)) enddo enddo @@ -758,7 +758,7 @@ subroutine crystallite_results do o = 1, size(output_constituent(p)%label) select case (output_constituent(p)%label(o)) case('F') - selected_tensors = select_tensors(crystallite_partionedF,p) + selected_tensors = select_tensors(crystallite_partitionedF,p) call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& 'deformation gradient','1') case('Fe') @@ -943,7 +943,7 @@ function integrateStress(ipc,ip,el,timeFraction) result(broken) F = crystallite_subF(1:3,1:3,ipc,ip,el) endif - call constitutive_dependentState(crystallite_partionedF(1:3,1:3,ipc,ip,el), & + call constitutive_dependentState(crystallite_partitionedF(1:3,1:3,ipc,ip,el), & crystallite_Fp(1:3,1:3,ipc,ip,el),ipc,ip,el) Lpguess = crystallite_Lp(1:3,1:3,ipc,ip,el) ! take as first guess @@ -1120,9 +1120,9 @@ subroutine integrateStateFPI(g,i,e) c = material_phaseMemberAt(g,i,e) broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & + crystallite_partitionedF0, & crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & + crystallite_partitionedFp0, & crystallite_subdt(g,i,e), g,i,e,p,c) if(broken) return @@ -1152,9 +1152,9 @@ subroutine integrateStateFPI(g,i,e) if(broken) exit iteration broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & + crystallite_partitionedF0, & crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & + crystallite_partitionedFp0, & crystallite_subdt(g,i,e), g,i,e,p,c) if(broken) exit iteration @@ -1243,9 +1243,9 @@ subroutine integrateStateEuler(g,i,e) c = material_phaseMemberAt(g,i,e) broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & + crystallite_partitionedF0, & crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & + crystallite_partitionedFp0, & crystallite_subdt(g,i,e), g,i,e,p,c) if(broken) return @@ -1296,9 +1296,9 @@ subroutine integrateStateAdaptiveEuler(g,i,e) c = material_phaseMemberAt(g,i,e) broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & + crystallite_partitionedF0, & crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & + crystallite_partitionedFp0, & crystallite_subdt(g,i,e), g,i,e,p,c) if(broken) return @@ -1325,9 +1325,9 @@ subroutine integrateStateAdaptiveEuler(g,i,e) if(broken) return broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & + crystallite_partitionedF0, & crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & + crystallite_partitionedFp0, & crystallite_subdt(g,i,e), g,i,e,p,c) if(broken) return @@ -1434,9 +1434,9 @@ subroutine integrateStateRK(g,i,e,A,B,CC,DB) c = material_phaseMemberAt(g,i,e) broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & + crystallite_partitionedF0, & crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & + crystallite_partitionedFp0, & crystallite_subdt(g,i,e), g,i,e,p,c) if(broken) return @@ -1476,9 +1476,9 @@ subroutine integrateStateRK(g,i,e,A,B,CC,DB) if(broken) exit broken = constitutive_collectDotState(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partionedF0, & + crystallite_partitionedF0, & crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partionedFp0, & + crystallite_partitionedFp0, & crystallite_subdt(g,i,e)*CC(stage), g,i,e,p,c) if(broken) exit @@ -1590,7 +1590,7 @@ subroutine crystallite_restartWrite write(fileName,'(a,i0,a)') trim(getSolverJobName())//'_',worldrank,'.hdf5' fileHandle = HDF5_openFile(fileName,'a') - call HDF5_write(fileHandle,crystallite_partionedF,'F') + call HDF5_write(fileHandle,crystallite_partitionedF,'F') call HDF5_write(fileHandle,crystallite_Fp, 'Fp') call HDF5_write(fileHandle,crystallite_Fi, 'Fi') call HDF5_write(fileHandle,crystallite_Lp, 'Lp') @@ -1665,7 +1665,7 @@ subroutine crystallite_forward integer :: i, j - crystallite_F0 = crystallite_partionedF + crystallite_F0 = crystallite_partitionedF crystallite_Fp0 = crystallite_Fp crystallite_Lp0 = crystallite_Lp crystallite_Fi0 = crystallite_Fi diff --git a/src/homogenization.f90 b/src/homogenization.f90 index de003fbc3..5aa10fcf3 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -404,16 +404,16 @@ subroutine partitionDeformation(subF,ip,el) chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) case (HOMOGENIZATION_NONE_ID) chosenHomogenization - crystallite_partionedF(1:3,1:3,1,ip,el) = subF + crystallite_partitionedF(1:3,1:3,1,ip,el) = subF case (HOMOGENIZATION_ISOSTRAIN_ID) chosenHomogenization call mech_isostrain_partitionDeformation(& - crystallite_partionedF(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & + crystallite_partitionedF(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & subF) case (HOMOGENIZATION_RGC_ID) chosenHomogenization call mech_RGC_partitionDeformation(& - crystallite_partionedF(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & + crystallite_partitionedF(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & subF,& ip, & el) @@ -448,8 +448,8 @@ function updateState(subdt,subF,ip,el) updateState = & updateState .and. & mech_RGC_updateState(crystallite_P(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & - crystallite_partionedF(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & - crystallite_partionedF0(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el),& + crystallite_partitionedF(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & + crystallite_partitionedF0(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el),& subF,& subdt, & dPdFs, & diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index 6c015eea8..7d85e3a9c 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -212,7 +212,7 @@ end subroutine mech_RGC_init !-------------------------------------------------------------------------------------------------- module subroutine mech_RGC_partitionDeformation(F,avgF,instance,of) - real(pReal), dimension (:,:,:), intent(out) :: F !< partioned F per grain + real(pReal), dimension (:,:,:), intent(out) :: F !< partitioned F per grain real(pReal), dimension (3,3), intent(in) :: avgF !< averaged F integer, intent(in) :: & @@ -867,7 +867,7 @@ module procedure mech_RGC_updateState !-------------------------------------------------------------------------------------------------- subroutine grainDeformation(F, avgF, instance, of) - real(pReal), dimension(:,:,:), intent(out) :: F !< partioned F per grain + real(pReal), dimension(:,:,:), intent(out) :: F !< partitioned F per grain real(pReal), dimension(:,:), intent(in) :: avgF !< averaged F integer, intent(in) :: & diff --git a/src/prec.f90 b/src/prec.f90 index cec4928ba..b2866a4f4 100644 --- a/src/prec.f90 +++ b/src/prec.f90 @@ -47,7 +47,7 @@ module prec dotState, & !< rate of state change deltaState !< increment of state change real(pReal), allocatable, dimension(:,:) :: & - partionedState0, & + partitionedState0, & subState0 end type From 264fab44d0990c6ffb1dfb7c94f5f8115bc11e7b Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 8 Oct 2020 07:22:44 +0200 Subject: [PATCH 835/958] [skip ci] updated version information after successful test of v3.0.0-alpha-482-g846cbdd2e --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index e7674c155..ed080a275 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-472-g16e47956a +v3.0.0-alpha-482-g846cbdd2e From 3050471a2d95e4d036918ba5e3480426b617f4f3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 8 Oct 2020 18:05:03 +0200 Subject: [PATCH 836/958] avoid circular inclusion --- python/damask/__init__.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/python/damask/__init__.py b/python/damask/__init__.py index 955993607..600f64138 100644 --- a/python/damask/__init__.py +++ b/python/damask/__init__.py @@ -10,21 +10,21 @@ with open(_Path(__file__).parent/_Path('VERSION')) as _f: # make classes directly accessible as damask.Class from ._environment import Environment as _ # noqa environment = _() -from ._table import Table # noqa -from ._vtk import VTK # noqa -from ._colormap import Colormap # noqa -from ._rotation import Rotation # noqa -from ._lattice import Symmetry, Lattice# noqa -from ._orientation import Orientation # noqa -from ._result import Result # noqa -from ._geom import Geom # noqa -from ._config import Config # noqa -from ._configmaterial import ConfigMaterial # noqa -from . import solver # noqa from . import util # noqa from . import seeds # noqa -from . import grid_filters # noqa from . import mechanics # noqa +from . import solver # noqa +from . import grid_filters # noqa +from ._lattice import Symmetry, Lattice# noqa +from ._table import Table # noqa +from ._rotation import Rotation # noqa +from ._vtk import VTK # noqa +from ._colormap import Colormap # noqa +from ._orientation import Orientation # noqa +from ._config import Config # noqa +from ._configmaterial import ConfigMaterial # noqa +from ._geom import Geom # noqa +from ._result import Result # noqa From bdfbd2c62ea468f5a896a0c8dd7483b5de3f8d29 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 8 Oct 2020 18:05:15 +0200 Subject: [PATCH 837/958] dream3d file in an HDF5 file --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index b096658f8..c2785cf15 100644 --- a/.gitattributes +++ b/.gitattributes @@ -8,6 +8,7 @@ *.jpg binary *.hdf5 binary *.pdf binary +*.dream3d binary # ignore files from MSC.Marc in language statistics installation/mods_MarcMentat/20*/* linguist-vendored From 952ad4f8fec00552c2f100151b88e145368c7fd2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 8 Oct 2020 18:33:40 +0200 Subject: [PATCH 838/958] functionality for geom generation in python lib --- processing/pre/geom_fromDREAM3D.py | 88 ++---------------------------- processing/pre/geom_fromTable.py | 57 ++----------------- python/damask/_geom.py | 38 ++++++++++++- 3 files changed, 44 insertions(+), 139 deletions(-) diff --git a/processing/pre/geom_fromDREAM3D.py b/processing/pre/geom_fromDREAM3D.py index daf7d2ab9..54ed4ca0a 100755 --- a/processing/pre/geom_fromDREAM3D.py +++ b/processing/pre/geom_fromDREAM3D.py @@ -1,12 +1,8 @@ #!/usr/bin/env python3 import os -import sys from optparse import OptionParser -import h5py -import numpy as np - import damask @@ -64,88 +60,12 @@ parser.set_defaults(pointwise = 'CellData', if options.basegroup is None: parser.error('No base group selected') -rootDir ='DataContainers' - - if filenames == []: parser.error('no input file specified.') for name in filenames: - damask.util.report(scriptName,name) + damask.util.report(scriptName,name) - errors = [] + geom = damask.Geom.load_DREAM3D(name,options.basegroup,options.pointwise) + damask.util.croak(geom) - inFile = h5py.File(name, 'r') - group_geom = os.path.join(rootDir,options.basegroup,'_SIMPL_GEOMETRY') - try: - size = inFile[os.path.join(group_geom,'DIMENSIONS')][...] \ - * inFile[os.path.join(group_geom,'SPACING')][...] - grid = inFile[os.path.join(group_geom,'DIMENSIONS')][...] - origin = inFile[os.path.join(group_geom,'ORIGIN')][...] - except KeyError: - errors.append('Geometry data ({}) not found'.format(group_geom)) - - - group_pointwise = os.path.join(rootDir,options.basegroup,options.pointwise) - if options.average is None: - label = 'Point' - - dataset = os.path.join(group_pointwise,options.quaternion) - try: - quats = np.reshape(inFile[dataset][...],(np.product(grid),4)) - rot = [damask.Rotation.from_quaternion(q,True,P=+1) for q in quats] - except KeyError: - errors.append('Pointwise orientation (quaternion) data ({}) not readable'.format(dataset)) - - dataset = os.path.join(group_pointwise,options.phase) - try: - phase = np.reshape(inFile[dataset][...],(np.product(grid))) - except KeyError: - errors.append('Pointwise phase data ({}) not readable'.format(dataset)) - - microstructure = np.arange(1,np.product(grid)+1,dtype=int).reshape(grid,order='F') - - - else: - label = 'Grain' - - dataset = os.path.join(group_pointwise,options.microstructure) - try: - microstructure = np.transpose(inFile[dataset][...].reshape(grid[::-1]),(2,1,0)) # convert from C ordering - except KeyError: - errors.append('Link between pointwise and grain average data ({}) not readable'.format(dataset)) - - group_average = os.path.join(rootDir,options.basegroup,options.average) - - dataset = os.path.join(group_average,options.quaternion) - try: - rot = [damask.Rotation.from_quaternion(q,True,P=+1) for q in inFile[dataset][...][1:]] # skip first entry (unindexed) - except KeyError: - errors.append('Average orientation data ({}) not readable'.format(dataset)) - - dataset = os.path.join(group_average,options.phase) - try: - phase = [i[0] for i in inFile[dataset][...]][1:] # skip first entry (unindexed) - except KeyError: - errors.append('Average phase data ({}) not readable'.format(dataset)) - - if errors != []: - damask.util.croak(errors) - continue - - config_header = [''] - for i in range(np.nanmax(microstructure)): - config_header += ['[{}{}]'.format(label,i+1), - '(gauss)\tphi1 {:.2f}\tPhi {:.2f}\tphi2 {:.2f}'.format(*rot[i].as_Eulers(degrees = True)), - ] - config_header += [''] - for i in range(np.nanmax(microstructure)): - config_header += ['[{}{}]'.format(label,i+1), - '(constituent)\tphase {}\ttexture {}\tfraction 1.0'.format(phase[i],i+1), - ] - - header = [scriptID + ' ' + ' '.join(sys.argv[1:])]\ - + config_header - geom = damask.Geom(microstructure,size,origin,comments=header) - damask.util.croak(geom) - - geom.save_ASCII(os.path.splitext(name)[0]+'.geom',compress=False) + geom.save_ASCII(os.path.splitext(name)[0]+'.geom',compress=False) diff --git a/processing/pre/geom_fromTable.py b/processing/pre/geom_fromTable.py index a0de6a4c5..d3cb2d50d 100755 --- a/processing/pre/geom_fromTable.py +++ b/processing/pre/geom_fromTable.py @@ -2,11 +2,8 @@ import os import sys -from io import StringIO from optparse import OptionParser -import numpy as np - import damask @@ -40,64 +37,20 @@ parser.add_option('-q', '--quaternion', dest = 'quaternion', type = 'string', metavar='string', help = 'quaternion label') -parser.add_option('--axes', - dest = 'axes', - type = 'string', nargs = 3, metavar = ' '.join(['string']*3), - help = 'orientation coordinate frame in terms of position coordinate frame [+x +y +z]') - -parser.set_defaults(pos = 'pos', - ) +parser.set_defaults(pos= 'pos') (options,filenames) = parser.parse_args() if filenames == []: filenames = [None] -if np.sum([options.quaternion is not None, - options.microstructure is not None]) != 1: - parser.error('need either microstructure or quaternion (and optionally phase) as input.') -if options.microstructure is not None and options.phase is not None: - parser.error('need either microstructure or phase (and mandatory quaternion) as input.') -if options.axes is not None and not set(options.axes).issubset(set(['x','+x','-x','y','+y','-y','z','+z','-z'])): - parser.error('invalid axes {} {} {}.'.format(*options.axes)) - for name in filenames: damask.util.report(scriptName,name) - table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) - table.sort_by(['{}_{}'.format(i,options.pos) for i in range(3,0,-1)]) # x fast, y slow - grid,size,origin = damask.grid_filters.cell_coord0_gridSizeOrigin(table.get(options.pos)) + labels = [] + for l in [options.quaternion,options.phase,options.microstructure]: + if l is not None: labels.append(l) - config_header = table.comments - - if options.microstructure: - microstructure = table.get(options.microstructure).reshape(grid,order='F') - - elif options.quaternion: - q = table.get(options.quaternion) - phase = table.get(options.phase).astype(int) if options.phase else \ - np.ones((table.data.shape[0],1),dtype=int) - - unique,unique_inverse = np.unique(np.hstack((q,phase)),return_inverse=True,axis=0) - microstructure = unique_inverse.reshape(grid,order='F') + 1 - - config_header = [''] - for i,data in enumerate(unique): - ori = damask.Rotation(data[0:4]) - config_header += ['[Grain{}]'.format(i+1), - '(gauss)\tphi1 {:.2f}\tPhi {:.2f}\tphi2 {:.2f}'.format(*ori.as_Eulers(degrees = True)), - ] - if options.axes is not None: config_header += ['axes\t{} {} {}'.format(*options.axes)] - - config_header += [''] - for i,data in enumerate(unique): - config_header += ['[Grain{}]'.format(i+1), - '(constituent)\tphase {}\ttexture {}\tfraction 1.0'.format(int(data[4]),i+1), - ] - - header = [scriptID + ' ' + ' '.join(sys.argv[1:])]\ - + config_header - geom = damask.Geom(microstructure,size,origin, - comments=header) + geom = damask.Geom.load_table(name,options.pos,labels) damask.util.croak(geom) geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',compress=False) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 2ccbb1988..ec65154bb 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -1,15 +1,18 @@ import copy import multiprocessing as mp from functools import partial +from os import path import numpy as np +import h5py from scipy import ndimage,spatial from . import environment -from . import Rotation from . import VTK from . import util from . import grid_filters +from . import Table +from . import Rotation class Geom: @@ -353,7 +356,7 @@ class Geom: Number of periods per unit cell. Defaults to 1. materials : (int, int), optional Material IDs. Defaults to (1,2). - + Notes ----- The following triply-periodic minimal surfaces are implemented: @@ -397,6 +400,35 @@ class Geom: ) + @staticmethod + def load_DREAM3D(fname,base_group,point_data=None,material='FeatureIds'): + root_dir ='DataContainers' + f = h5py.File(fname, 'r') + g = path.join(root_dir,base_group,'_SIMPL_GEOMETRY') + size = f[path.join(g,'DIMENSIONS')][()] * f[path.join(g,'SPACING')][()] + grid = f[path.join(g,'DIMENSIONS')][()] + origin = f[path.join(g,'ORIGIN')][()] + group_pointwise = path.join(root_dir,base_group,point_data) + + ma = np.arange(1,np.product(grid)+1,dtype=int) if point_data is None else \ + np.reshape(f[path.join(group_pointwise,material)],grid.prod()) + + return Geom(ma.reshape(grid,order='F'),size,origin,util.execution_stamp('Geom','from_DREAM3D')) + + + @staticmethod + def load_table(fname,coordinates,labels): + table = Table.load(fname).sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]) + + grid,size,origin = grid_filters.cell_coord0_gridSizeOrigin(table.get(coordinates)) + + labels_ = [labels] if isinstance(labels,str) else labels + _,unique_inverse = np.unique(np.hstack([table.get(l) for l in labels_]),return_inverse=True,axis=0) + ma = unique_inverse.reshape(grid,order='F') + 1 + + return Geom(ma,size,origin,util.execution_stamp('Geom','from_table')) + + def save(self,fname,compress=True): """ Generates vtk rectilinear grid. @@ -536,7 +568,7 @@ class Geom: coords_rot = R.broadcast_to(tuple(self.grid))@coords with np.errstate(all='ignore'): - mask = np.where(np.sum(np.power(coords_rot/r,2.0**exponent),axis=-1) > 1.0,True,False) + mask = np.sum(np.power(coords_rot/r,2.0**np.array(exponent)),axis=-1) > 1.0 if periodic: # translate back to center mask = np.roll(mask,((c-np.ones(3)*.5)*self.grid).astype(int),(0,1,2)) From 6ecaaa31c93ad9d41524f1abe8b93c6aafff1a32 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 8 Oct 2020 21:29:58 +0200 Subject: [PATCH 839/958] fairly general function to generate material configuration --- python/damask/_configmaterial.py | 62 +++++++++++++++++++++++++++++--- 1 file changed, 58 insertions(+), 4 deletions(-) diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index 26006fef7..dacc0d080 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -62,10 +62,10 @@ class ConfigMaterial(Config): print(f'No lattice specified in phase {k}') ok = False - #for k,v in self['homogenization'].items(): - # if 'N_constituents' not in v: - # print(f'No. of constituents not specified in homogenization {k}'} - # ok = False + for k,v in self['homogenization'].items(): + if 'N_constituents' not in v: + print(f'No. of constituents not specified in homogenization {k}') + ok = False if phase - set(self['phase']): print(f'Phase(s) {phase-set(self["phase"])} missing') @@ -158,3 +158,57 @@ class ConfigMaterial(Config): except KeyError: continue return dup + + + def material_add(self,constituents,**kwargs): + """ + Add material entries. + + Parameters + ---------- + constituents: scalar or numpy.ndarray + **kwargs: tbd + + Examples + -------- + m = damask.ConfigMaterial() + O = damask.Rotation.from_random(3).as_quaternion() + phase = ['Aluminum','Steel','Aluminum'] + + m.material_add(constituents={'phase':phase,'O':O},homogenization='SX') + + """ + c = [{'constituents':u} for u in ConfigMaterial._constituents(**constituents)] + for k,v in kwargs.items(): + if isinstance(v,np.ndarray): + for i,vv in enumerate(v): + c[i][k] = [w.item() for w in vv] if isinstance(vv,np.ndarray) else vv.item() + else: + for i in range(len(c)): + c[i][k] = v + dup = copy.deepcopy(self) + if 'material' not in dup: dup['material'] = [] + dup['material'] +=c + + return dup + + + @staticmethod + def _constituents(N=1,**kwargs): + for v in kwargs.values(): + if hasattr(v,'__len__') and not isinstance(v,str): N_material = len(v) + + if N == 1: + m = [[{'fraction':1.0}] for _ in range(N_material)] + for k,v in kwargs.items(): + if hasattr(v,'__len__') and not isinstance(v,str): + if len(v) != N_material: + raise ValueError + for i,vv in enumerate(np.array(v)): + m[i][0][k] = [w.item() for w in vv] if isinstance(vv,np.ndarray) else vv.item() + else: + for i in range(N_material): + m[i][0][k] = v + return m + else: + raise NotImplementedError From 0c68d293b643005b9fef3f1dbf9f8bdef4f27989 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 9 Oct 2020 07:44:05 +0200 Subject: [PATCH 840/958] N_constituents is now a general homog property --- python/tests/reference/ConfigMaterial/material.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python/tests/reference/ConfigMaterial/material.yaml b/python/tests/reference/ConfigMaterial/material.yaml index 5c006c99c..97c6504bb 100644 --- a/python/tests/reference/ConfigMaterial/material.yaml +++ b/python/tests/reference/ConfigMaterial/material.yaml @@ -1,8 +1,10 @@ homogenization: SX: + N_constituents: 2 mech: {type: none} Taylor: - mech: {N_constituents: 2, type: isostrain} + N_constituents: 2 + mech: {type: isostrain} material: - constituents: From 75401dd280ea9f86074652b049a0247c7a5cad53 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 9 Oct 2020 07:45:20 +0200 Subject: [PATCH 841/958] generate configuration from table --- python/damask/_configmaterial.py | 24 ++++++++++++++++++++++-- python/damask/_table.py | 4 ++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index dacc0d080..0ad76d99c 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -5,6 +5,7 @@ import numpy as np from . import Config from . import Lattice from . import Rotation +from . import Table class ConfigMaterial(Config): """Material configuration.""" @@ -23,6 +24,22 @@ class ConfigMaterial(Config): """ super().save(fname,**kwargs) + + @staticmethod + def load_table(fname,coordinates=None,constituents={},**kwargs): + t = Table.load(fname) + if coordinates is not None: t = t.sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]) + constituents_ = {k:t.get(v) for k,v in constituents.items()} + kwargs_ = {k:t.get(v) for k,v in kwargs.items()} + + _,idx = np.unique(np.hstack(list({**constituents_,**kwargs_}.values())),return_index=True,axis=0) + + constituents_ = {k:v[idx].squeeze() for k,v in constituents_.items()} + kwargs_ = {k:v[idx].squeeze() for k,v in kwargs_.items()} + + return ConfigMaterial().material_add(constituents_,**kwargs_) + + @property def is_complete(self): """Check for completeness.""" @@ -180,7 +197,9 @@ class ConfigMaterial(Config): """ c = [{'constituents':u} for u in ConfigMaterial._constituents(**constituents)] for k,v in kwargs.items(): - if isinstance(v,np.ndarray): + if hasattr(v,'__len__') and not isinstance(v,str): + if len(v) != len(c): + raise ValueError('len mismatch 1') for i,vv in enumerate(v): c[i][k] = [w.item() for w in vv] if isinstance(vv,np.ndarray) else vv.item() else: @@ -195,6 +214,7 @@ class ConfigMaterial(Config): @staticmethod def _constituents(N=1,**kwargs): + """Construct list of constituents.""" for v in kwargs.values(): if hasattr(v,'__len__') and not isinstance(v,str): N_material = len(v) @@ -203,7 +223,7 @@ class ConfigMaterial(Config): for k,v in kwargs.items(): if hasattr(v,'__len__') and not isinstance(v,str): if len(v) != N_material: - raise ValueError + raise ValueError('len mismatch 2') for i,vv in enumerate(np.array(v)): m[i][0][k] = [w.item() for w in vv] if isinstance(vv,np.ndarray) else vv.item() else: diff --git a/python/damask/_table.py b/python/damask/_table.py index 431cf1886..dd8df97b0 100644 --- a/python/damask/_table.py +++ b/python/damask/_table.py @@ -33,6 +33,10 @@ class Table: """Brief overview.""" return util.srepr(self.comments)+'\n'+self.data.__repr__() + def __len__(self): + """Number of rows.""" + return len(self.data) + def __copy__(self): """Copy Table.""" return copy.deepcopy(self) From 8a6287ec5f96f32abd882fba5b544cdc78fa3142 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 9 Oct 2020 09:18:17 +0200 Subject: [PATCH 842/958] [skip ci] updated version information after successful test of v3.0.0-alpha-485-g754d56da4 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index ed080a275..558076550 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-482-g846cbdd2e +v3.0.0-alpha-485-g754d56da4 From 9012df4655028623e9d01419d25cd62870b585ed Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 9 Oct 2020 12:23:00 +0200 Subject: [PATCH 843/958] [skip ci] updated version information after successful test of v3.0.0-alpha-485-g754d56da4 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index ed080a275..558076550 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-482-g846cbdd2e +v3.0.0-alpha-485-g754d56da4 From 347c88cbb66afae7e24764e814ade89aad19b2ed Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 9 Oct 2020 14:19:19 +0200 Subject: [PATCH 844/958] documented --- python/damask/_configmaterial.py | 83 ++++++++++++++++++++++++---- python/damask/_geom.py | 94 ++++++++++++++++++++++---------- 2 files changed, 137 insertions(+), 40 deletions(-) diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index 0ad76d99c..3b3d22a0e 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -2,6 +2,7 @@ import copy import numpy as np +from . import grid_filters from . import Config from . import Lattice from . import Rotation @@ -18,7 +19,7 @@ class ConfigMaterial(Config): ---------- fname : file, str, or pathlib.Path, optional Filename or file for writing. Defaults to 'material.yaml'. - **kwargs : dict + **kwargs Keyword arguments parsed to yaml.dump. """ @@ -27,8 +28,50 @@ class ConfigMaterial(Config): @staticmethod def load_table(fname,coordinates=None,constituents={},**kwargs): + """ + Load from an ASCII table. + + Parameters + ---------- + fname : str, file handle, or damask.Table + Table that contains material information. + coordinates : str, optional + Label of spatial coordiates. Used for sorting and performing a + sanity check. Default to None, in which case no sorting or checking is + peformed. + constituents : dict, optional + Entries for 'constituents'. The key is the name and the value specifies + the label of the data column in the table + **kwargs + Keyword arguments where the key is the name and the value specifies + the label of the data column in the table + + Examples + -------- + >>> import damask + >>> import damask.ConfigMaterial as cm + >>> damask.Table.load('small.txt') + pos pos pos qu qu qu qu phase homog + 0 0 0 0 0.19 0.8 0.24 -0.51 Aluminum SX + 1 1 0 0 0.8 0.19 0.24 -0.51 Steel SX + >>> cm.load_table('small.txt','pos',{'O':'qu','phase':'phase'},homogenization='h') + material: + - constituents: + - O: [0.19, 0.8, 0.24, -0.51] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.8, 0.19, 0.24, -0.51] + fraction: 1.0 + phase: Steel + homogenization: SX + + """ t = Table.load(fname) - if coordinates is not None: t = t.sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]) + if coordinates is not None: + t = t.sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]) + grid_filters.coord0_check(t.get(coordinates)) constituents_ = {k:t.get(v) for k,v in constituents.items()} kwargs_ = {k:t.get(v) for k,v in kwargs.items()} @@ -183,17 +226,37 @@ class ConfigMaterial(Config): Parameters ---------- - constituents: scalar or numpy.ndarray - **kwargs: tbd + constituents : dict + Entries for 'constituents'. The key is the name and the value specifies + the label of the data column in the table + **kwargs + Keyword arguments where the key is the name and the value specifies + the label of the data column in the table Examples -------- - m = damask.ConfigMaterial() - O = damask.Rotation.from_random(3).as_quaternion() - phase = ['Aluminum','Steel','Aluminum'] - - m.material_add(constituents={'phase':phase,'O':O},homogenization='SX') - + >>> import damask + >>> m = damask.ConfigMaterial() + >>> O = damask.Rotation.from_random(3).as_quaternion() + >>> phase = ['Aluminum','Steel','Aluminum'] + >>> m.material_add(constituents={'phase':phase,'O':O},homogenization='SX') + material: + - constituents: + - O: [0.577764, -0.146299, -0.617669, 0.513010] + fraction: 1.0 + phase: Aluminum + homogenization: SX + - constituents: + - O: [0.184176, 0.340305, 0.737247, 0.553840] + fraction: 1.0 + phase: Steel + homogenization: SX + - constituents: + - O: [0.0886257, -0.144848, 0.615674, -0.769487] + fraction: 1.0 + phase: Aluminum + homogenization: SX + """ c = [{'constituents':u} for u in ConfigMaterial._constituents(**constituents)] for k,v in kwargs.items(): diff --git a/python/damask/_geom.py b/python/damask/_geom.py index ec65154bb..7a5b20fcc 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -210,6 +210,69 @@ class Geom: return Geom(material.reshape(grid,order='F'),size,origin,comments) + + @staticmethod + def load_DREAM3D(fname,base_group,point_data=None,material='FeatureIds'): + """ + Load a DREAM.3D file. + + Parameters + ---------- + fname : str + Filename of the DREAM.3D file + base_group : str + Name of the group (folder) below 'DataContainers'. For example + 'SyntheticVolumeDataContainer'. + point_data : str, optional + Name of the group (folder) containing the point wise material data, + for example 'CellData'. Defaults to None, in which case points consecutively numbered. + material : str, optional + Name of the dataset containing the material ID. Defaults to + 'FeatureIds'. + + """ + root_dir ='DataContainers' + f = h5py.File(fname, 'r') + g = path.join(root_dir,base_group,'_SIMPL_GEOMETRY') + size = f[path.join(g,'DIMENSIONS')][()] * f[path.join(g,'SPACING')][()] + grid = f[path.join(g,'DIMENSIONS')][()] + origin = f[path.join(g,'ORIGIN')][()] + group_pointwise = path.join(root_dir,base_group,point_data) + + ma = np.arange(1,np.product(grid)+1,dtype=int) if point_data is None else \ + np.reshape(f[path.join(group_pointwise,material)],grid.prod()) + + return Geom(ma.reshape(grid,order='F'),size,origin,util.execution_stamp('Geom','load_DREAM3D')) + + + @staticmethod + def load_table(fname,coordinates,labels): + """ + Load an ASCII table. + + Parameters + ---------- + fname : str, file handle, or damask.Table + Table that contains geometry information. + coordinates : str + Label of the column containing the spatial coordinates. + labels : str or list of str + Label(s) of the columns containing the material definition. + Each unique combintation of values results in a material. + + """ + table = (fname if isinstance(fname,Table) else Table.load(fname)). \ + sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]) + + grid,size,origin = grid_filters.cell_coord0_gridSizeOrigin(table.get(coordinates)) + + labels_ = [labels] if isinstance(labels,str) else labels + _,unique_inverse = np.unique(np.hstack([table.get(l) for l in labels_]),return_inverse=True,axis=0) + ma = unique_inverse.reshape(grid,order='F') + 1 + + return Geom(ma,size,origin,util.execution_stamp('Geom','load_table')) + + @staticmethod def _find_closest_seed(seeds, weights, point): return np.argmin(np.sum((np.broadcast_to(point,(len(seeds),3))-seeds)**2,axis=1) - weights) @@ -400,38 +463,9 @@ class Geom: ) - @staticmethod - def load_DREAM3D(fname,base_group,point_data=None,material='FeatureIds'): - root_dir ='DataContainers' - f = h5py.File(fname, 'r') - g = path.join(root_dir,base_group,'_SIMPL_GEOMETRY') - size = f[path.join(g,'DIMENSIONS')][()] * f[path.join(g,'SPACING')][()] - grid = f[path.join(g,'DIMENSIONS')][()] - origin = f[path.join(g,'ORIGIN')][()] - group_pointwise = path.join(root_dir,base_group,point_data) - - ma = np.arange(1,np.product(grid)+1,dtype=int) if point_data is None else \ - np.reshape(f[path.join(group_pointwise,material)],grid.prod()) - - return Geom(ma.reshape(grid,order='F'),size,origin,util.execution_stamp('Geom','from_DREAM3D')) - - - @staticmethod - def load_table(fname,coordinates,labels): - table = Table.load(fname).sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]) - - grid,size,origin = grid_filters.cell_coord0_gridSizeOrigin(table.get(coordinates)) - - labels_ = [labels] if isinstance(labels,str) else labels - _,unique_inverse = np.unique(np.hstack([table.get(l) for l in labels_]),return_inverse=True,axis=0) - ma = unique_inverse.reshape(grid,order='F') + 1 - - return Geom(ma,size,origin,util.execution_stamp('Geom','from_table')) - - def save(self,fname,compress=True): """ - Generates vtk rectilinear grid. + Store as vtk rectilinear grid. Parameters ---------- From 6d806669293ebfb60b7c0f8a6f27608adef90979 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 9 Oct 2020 18:35:34 +0200 Subject: [PATCH 845/958] [skip ci] updated version information after successful test of v3.0.0-alpha-488-gbe89b7ab9 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 558076550..e9c998baf 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-485-g754d56da4 +v3.0.0-alpha-488-gbe89b7ab9 From 57180952ecc3a2d8b36c7c26f2aa993bebb67a75 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 9 Oct 2020 19:05:05 +0200 Subject: [PATCH 846/958] typo --- python/damask/_configmaterial.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index 3b3d22a0e..2d897e79f 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -54,7 +54,7 @@ class ConfigMaterial(Config): pos pos pos qu qu qu qu phase homog 0 0 0 0 0.19 0.8 0.24 -0.51 Aluminum SX 1 1 0 0 0.8 0.19 0.24 -0.51 Steel SX - >>> cm.load_table('small.txt','pos',{'O':'qu','phase':'phase'},homogenization='h') + >>> cm.load_table('small.txt','pos',{'O':'qu','phase':'phase'},homogenization='homog') material: - constituents: - O: [0.19, 0.8, 0.24, -0.51] From 06d11a72da97f25b6c6c82f9b2a75998915bd089 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 9 Oct 2020 19:19:05 +0200 Subject: [PATCH 847/958] better fitting name load implies a more direct takeover. --- processing/pre/geom_fromTable.py | 3 ++- python/damask/_configmaterial.py | 18 ++++++++++-------- python/damask/_geom.py | 16 +++++++--------- 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/processing/pre/geom_fromTable.py b/processing/pre/geom_fromTable.py index d3cb2d50d..29a8b8852 100755 --- a/processing/pre/geom_fromTable.py +++ b/processing/pre/geom_fromTable.py @@ -50,7 +50,8 @@ for name in filenames: for l in [options.quaternion,options.phase,options.microstructure]: if l is not None: labels.append(l) - geom = damask.Geom.load_table(name,options.pos,labels) + t = damask.Table.load(name) + geom = damask.Geom.from_table(t,options.pos,labels) damask.util.croak(geom) geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',compress=False) diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index 2d897e79f..a7ecec108 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -6,7 +6,6 @@ from . import grid_filters from . import Config from . import Lattice from . import Rotation -from . import Table class ConfigMaterial(Config): """Material configuration.""" @@ -27,13 +26,13 @@ class ConfigMaterial(Config): @staticmethod - def load_table(fname,coordinates=None,constituents={},**kwargs): + def from_table(table,coordinates=None,constituents={},**kwargs): """ Load from an ASCII table. Parameters ---------- - fname : str, file handle, or damask.Table + table : damask.Table Table that contains material information. coordinates : str, optional Label of spatial coordiates. Used for sorting and performing a @@ -50,11 +49,12 @@ class ConfigMaterial(Config): -------- >>> import damask >>> import damask.ConfigMaterial as cm - >>> damask.Table.load('small.txt') + >>> t = damask.Table.load('small.txt') + >>> t pos pos pos qu qu qu qu phase homog 0 0 0 0 0.19 0.8 0.24 -0.51 Aluminum SX 1 1 0 0 0.8 0.19 0.24 -0.51 Steel SX - >>> cm.load_table('small.txt','pos',{'O':'qu','phase':'phase'},homogenization='homog') + >>> cm.from_table(t,'pos',{'O':'qu','phase':'phase'},homogenization='homog') material: - constituents: - O: [0.19, 0.8, 0.24, -0.51] @@ -68,10 +68,12 @@ class ConfigMaterial(Config): homogenization: SX """ - t = Table.load(fname) if coordinates is not None: - t = t.sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]) + t = table.sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]) grid_filters.coord0_check(t.get(coordinates)) + else: + t = table + constituents_ = {k:t.get(v) for k,v in constituents.items()} kwargs_ = {k:t.get(v) for k,v in kwargs.items()} @@ -256,7 +258,7 @@ class ConfigMaterial(Config): fraction: 1.0 phase: Aluminum homogenization: SX - + """ c = [{'constituents':u} for u in ConfigMaterial._constituents(**constituents)] for k,v in kwargs.items(): diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 7a5b20fcc..eb4dd055e 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -11,7 +11,6 @@ from . import environment from . import VTK from . import util from . import grid_filters -from . import Table from . import Rotation @@ -246,14 +245,14 @@ class Geom: @staticmethod - def load_table(fname,coordinates,labels): + def from_table(table,coordinates,labels): """ Load an ASCII table. Parameters ---------- - fname : str, file handle, or damask.Table - Table that contains geometry information. + table : damask.Table + Table that contains material information. coordinates : str Label of the column containing the spatial coordinates. labels : str or list of str @@ -261,16 +260,15 @@ class Geom: Each unique combintation of values results in a material. """ - table = (fname if isinstance(fname,Table) else Table.load(fname)). \ - sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]) + t = table.sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]) - grid,size,origin = grid_filters.cell_coord0_gridSizeOrigin(table.get(coordinates)) + grid,size,origin = grid_filters.cell_coord0_gridSizeOrigin(t.get(coordinates)) labels_ = [labels] if isinstance(labels,str) else labels - _,unique_inverse = np.unique(np.hstack([table.get(l) for l in labels_]),return_inverse=True,axis=0) + _,unique_inverse = np.unique(np.hstack([t.get(l) for l in labels_]),return_inverse=True,axis=0) ma = unique_inverse.reshape(grid,order='F') + 1 - return Geom(ma,size,origin,util.execution_stamp('Geom','load_table')) + return Geom(ma,size,origin,util.execution_stamp('Geom','from_table')) @staticmethod From 2db5c9baded9b24b27bf95363dd94635012b2e06 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 9 Oct 2020 22:19:53 +0200 Subject: [PATCH 848/958] geom -> vtr (zero-based) --- PRIVATE | 2 +- .../Polycrystal/20grains16x16x16.geom | 262 -- .../Polycrystal/20grains16x16x16.vtr | 30 + .../Polycrystal/20grains32x32x32.geom | 1030 ----- .../Polycrystal/20grains32x32x32.vtr | 30 + .../Polycrystal/20grains64x64x64.geom | 4102 ----------------- .../Polycrystal/20grains64x64x64.vtr | 30 + src/grid/discretization_grid.f90 | 9 +- 8 files changed, 94 insertions(+), 5401 deletions(-) delete mode 100644 examples/SpectralMethod/Polycrystal/20grains16x16x16.geom create mode 100644 examples/SpectralMethod/Polycrystal/20grains16x16x16.vtr delete mode 100644 examples/SpectralMethod/Polycrystal/20grains32x32x32.geom create mode 100644 examples/SpectralMethod/Polycrystal/20grains32x32x32.vtr delete mode 100644 examples/SpectralMethod/Polycrystal/20grains64x64x64.geom create mode 100644 examples/SpectralMethod/Polycrystal/20grains64x64x64.vtr diff --git a/PRIVATE b/PRIVATE index c92f6d3e2..cd1bd0372 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit c92f6d3e23a4c310898b502f00e395dbe670a63c +Subproject commit cd1bd0372a9f96e206c58e51432d4679742b775c diff --git a/examples/SpectralMethod/Polycrystal/20grains16x16x16.geom b/examples/SpectralMethod/Polycrystal/20grains16x16x16.geom deleted file mode 100644 index 23fe46f8e..000000000 --- a/examples/SpectralMethod/Polycrystal/20grains16x16x16.geom +++ /dev/null @@ -1,262 +0,0 @@ -5 header -grid a 16 b 16 c 16 -size x 1.000000 y 1.000000 z 1.000000 -origin x 0.000000 y 0.000000 z 0.000000 -microstructures 20 -homogenization 1 - 2 2 2 4 4 4 4 1 1 15 15 15 15 15 19 19 -19 4 4 4 4 4 1 1 1 15 15 15 15 15 15 19 - 8 8 4 4 4 1 1 1 1 15 15 15 15 15 15 3 -13 8 4 4 1 1 1 1 9 15 15 15 3 3 3 3 -13 13 13 13 1 1 1 9 9 9 3 3 3 3 3 3 -13 13 13 13 13 1 1 9 9 3 3 3 3 3 3 3 -13 13 13 13 13 13 9 9 9 3 3 3 3 3 3 10 -10 13 13 13 13 13 9 9 9 3 3 3 3 3 10 10 -10 10 13 13 13 13 17 17 3 3 3 3 10 10 10 10 -10 10 10 13 2 17 17 17 17 7 7 7 7 10 10 10 -10 10 2 2 2 2 17 17 17 7 7 7 7 7 10 10 -10 2 2 2 2 2 17 17 17 7 7 7 7 7 7 10 - 2 2 2 2 2 2 2 17 17 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 17 17 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 4 17 7 7 7 7 7 7 19 - 2 2 2 2 2 4 4 4 1 15 15 15 7 19 19 19 - 8 8 8 8 4 4 4 1 9 15 15 15 15 15 19 19 - 8 8 8 8 4 4 1 1 9 9 15 15 15 15 15 8 - 8 8 8 8 8 1 1 9 9 9 9 15 15 15 3 8 - 8 8 8 8 8 1 9 9 9 9 9 3 3 3 3 13 -13 13 13 13 8 1 9 9 9 9 9 3 3 3 3 13 -13 13 13 13 13 9 9 9 9 9 9 3 3 3 3 13 -13 13 13 13 13 13 9 9 9 9 3 3 3 3 3 13 -13 13 13 13 13 13 9 9 9 9 3 3 3 3 10 10 -10 13 13 13 13 13 17 17 9 9 3 7 7 10 10 10 -10 10 13 13 13 17 17 17 17 17 7 7 7 7 10 10 -10 10 2 2 17 17 17 17 17 17 7 7 7 7 7 10 -10 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 - 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 - 2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7 - 2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7 - 2 2 2 2 2 2 4 4 17 15 15 7 7 7 7 19 - 8 8 8 8 8 8 8 9 9 9 9 15 15 15 8 8 - 8 8 8 8 8 8 9 9 9 9 9 9 15 15 8 8 - 8 8 8 8 8 8 9 9 9 9 9 9 9 3 8 8 - 8 8 8 8 8 8 9 9 9 9 9 9 9 3 3 8 -13 13 13 8 8 9 9 9 9 9 9 9 3 3 13 13 -13 13 13 13 13 9 9 9 9 9 9 9 3 3 13 13 -13 13 13 13 13 13 9 9 9 9 9 9 3 3 13 13 -13 13 13 13 13 13 9 9 9 9 9 3 3 3 13 13 -13 13 13 13 13 17 17 17 17 9 9 7 7 10 10 13 -13 13 13 13 17 17 17 17 17 17 7 7 7 7 10 10 -10 13 13 17 17 17 17 17 17 17 7 7 7 7 7 10 -10 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 - 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 - 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 - 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 - 8 8 8 8 8 8 17 17 17 17 7 7 7 7 7 8 - 8 8 8 8 8 8 8 9 9 9 9 9 9 7 8 8 - 8 8 8 8 8 8 8 9 9 9 9 9 9 9 8 8 - 8 8 8 8 8 8 9 9 9 9 9 9 9 9 8 8 - 8 8 8 8 8 8 9 9 9 9 9 9 9 9 8 8 -13 13 8 8 8 8 9 9 9 9 9 9 9 9 13 13 -13 13 13 13 13 9 9 9 9 9 9 9 9 3 13 13 -13 13 13 13 13 13 9 9 9 9 9 9 9 13 13 13 -13 13 13 13 13 13 9 9 9 9 9 9 9 13 13 13 -13 13 13 13 13 17 17 17 17 9 9 12 12 12 13 13 -13 13 13 13 17 17 17 17 17 17 17 7 7 7 7 13 -13 13 13 17 17 17 17 17 17 17 17 7 7 7 7 7 - 7 13 17 17 17 17 17 17 17 17 17 7 7 7 7 7 - 7 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 - 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 - 8 8 8 8 17 17 17 17 17 17 17 7 7 7 7 7 - 8 8 8 8 8 8 17 17 17 17 17 7 7 7 7 8 - 8 8 8 8 8 8 8 9 9 9 9 9 9 8 8 8 - 8 8 8 8 8 8 8 9 9 9 9 9 9 9 8 8 - 8 8 8 8 8 8 9 9 9 9 9 9 9 9 8 8 - 8 8 8 8 8 8 9 9 9 9 9 9 9 9 8 8 -13 8 8 8 8 8 9 9 9 9 9 9 9 9 13 13 -13 13 13 13 13 9 9 9 9 9 9 9 9 9 13 13 -13 13 13 13 13 13 9 9 9 9 9 9 9 13 13 13 -13 13 13 13 13 13 20 9 9 9 9 9 12 12 13 13 -13 13 13 13 13 17 17 17 17 17 12 12 12 12 12 13 -13 13 13 13 17 17 17 17 17 17 12 12 12 12 12 12 -13 13 13 17 17 17 17 17 17 17 17 12 12 12 12 12 -12 13 17 17 17 17 17 17 17 17 17 12 12 12 12 12 -12 2 17 17 17 17 17 17 17 17 17 12 12 12 12 12 -12 8 17 17 17 17 17 17 17 17 17 12 12 12 12 12 - 8 8 8 8 17 17 17 17 17 17 17 12 12 12 12 8 - 8 8 8 8 8 8 17 17 17 17 17 9 12 12 8 8 - 8 8 8 8 8 8 8 9 9 9 14 6 6 6 8 8 - 8 8 8 8 8 8 8 9 9 9 9 14 6 6 8 8 - 8 8 8 8 8 8 8 9 9 9 9 9 14 11 8 8 - 8 8 8 8 8 8 9 9 9 9 9 9 9 11 11 8 - 8 8 8 8 8 8 9 9 9 9 9 9 9 11 11 11 -13 13 13 13 8 20 20 9 9 9 9 9 9 11 11 13 -13 13 13 13 13 20 20 20 9 9 9 9 12 11 11 13 -13 13 13 13 13 20 20 20 20 9 9 12 12 12 12 13 -13 13 13 13 13 17 17 17 17 17 12 12 12 12 12 12 -13 13 13 13 17 17 17 17 17 17 12 12 12 12 12 12 -12 13 13 17 17 17 17 17 17 17 12 12 12 12 12 12 -12 12 17 17 17 17 17 17 17 17 12 12 12 12 12 12 -12 12 17 17 17 17 17 17 17 17 12 12 12 12 12 12 -12 8 17 17 17 17 17 17 17 17 17 12 12 12 12 12 - 8 8 8 8 17 17 17 17 17 17 17 12 12 12 12 12 - 8 8 8 8 8 8 17 17 17 17 6 6 6 6 12 8 - 8 8 8 8 8 8 18 18 18 14 6 6 6 6 6 8 - 8 8 8 8 8 8 18 18 14 14 14 14 6 6 6 8 - 8 8 8 8 8 8 18 14 14 14 14 14 14 11 11 8 - 8 8 8 8 8 8 20 20 14 14 14 14 14 11 11 11 -11 8 8 8 8 20 20 20 20 14 14 14 14 11 11 11 -11 13 13 8 20 20 20 20 20 20 14 14 11 11 11 11 -11 13 13 13 20 20 20 20 20 20 20 14 11 11 11 11 -11 13 13 13 20 20 20 20 20 20 20 12 12 12 11 11 -13 13 13 13 20 20 20 20 20 20 12 12 12 12 12 12 -12 13 13 13 17 17 17 17 17 12 12 12 12 12 12 12 -12 12 13 17 17 17 17 17 17 17 12 12 12 12 12 12 -12 12 17 17 17 17 17 17 17 17 12 12 12 12 12 12 -12 12 17 17 17 17 17 17 17 17 12 12 12 12 12 12 -12 12 17 17 17 17 17 17 17 17 12 12 12 12 12 12 - 8 8 8 8 17 17 17 17 17 17 6 12 12 12 12 12 - 8 8 8 8 8 18 18 18 18 6 6 6 6 6 6 8 - 8 8 8 8 18 18 18 18 18 14 6 6 6 6 6 6 - 8 8 8 8 18 18 18 18 14 14 14 6 6 6 6 11 -11 8 8 8 8 18 18 18 14 14 14 14 14 6 11 11 -11 8 8 8 8 20 20 14 14 14 14 14 14 11 11 11 -11 11 8 8 20 20 20 20 14 14 14 14 14 11 11 11 -11 11 11 20 20 20 20 20 20 14 14 14 11 11 11 11 -11 11 11 20 20 20 20 20 20 20 14 14 11 11 11 11 -11 11 11 20 20 20 20 20 20 20 20 12 12 11 11 11 -11 11 13 20 20 20 20 20 20 20 12 12 12 12 12 12 -12 12 13 20 20 20 20 20 20 12 12 12 12 12 12 12 -12 12 12 17 17 17 17 17 17 12 12 12 12 12 12 12 -12 12 17 17 17 17 17 17 17 12 12 12 12 12 12 12 -12 12 17 17 17 17 17 17 17 12 12 12 12 12 12 12 -12 12 17 17 17 17 17 17 17 17 12 12 12 12 12 12 -12 8 8 8 18 18 18 18 18 6 6 6 6 6 12 12 - 8 8 8 8 18 18 18 18 18 6 6 6 6 6 6 6 - 6 8 8 18 18 18 18 18 18 6 6 6 6 6 6 6 -11 8 8 18 18 18 18 18 18 14 14 6 6 6 6 6 -11 11 8 18 18 18 18 18 14 14 14 14 6 6 11 11 -11 11 11 18 18 18 18 14 14 14 14 14 14 11 11 11 -11 11 11 20 20 20 20 20 14 14 14 14 14 11 11 11 -11 11 11 20 20 20 20 20 20 14 14 14 11 11 11 11 -11 11 11 20 20 20 20 20 20 20 14 14 11 11 11 11 -11 11 11 20 20 20 20 20 20 20 5 12 11 11 11 11 -11 11 11 20 20 20 20 20 20 5 5 12 12 12 12 11 -12 11 11 20 20 20 20 20 5 5 12 12 12 12 12 12 -12 12 12 20 20 20 20 5 5 5 12 12 12 12 12 12 -12 12 12 17 17 17 17 17 5 12 12 12 12 12 12 12 -12 12 12 17 17 17 17 17 17 12 12 12 12 12 12 12 -12 19 19 18 18 18 18 18 18 6 6 12 12 12 12 12 -19 19 18 18 18 18 18 18 18 6 6 6 6 6 6 6 - 6 19 18 18 18 18 18 18 18 6 6 6 6 6 6 6 -19 19 18 18 18 18 18 18 18 6 6 6 6 6 6 6 -11 11 18 18 18 18 18 18 18 14 6 6 6 6 6 6 -11 11 18 18 18 18 18 18 14 14 14 14 6 6 11 11 -11 11 11 18 18 18 18 18 14 14 14 14 14 11 11 11 -11 11 11 20 20 20 20 20 14 14 14 14 14 11 11 11 -11 11 11 20 20 20 20 20 20 14 14 14 11 11 11 11 -11 11 11 20 20 20 20 20 20 5 14 14 11 11 11 11 -11 11 11 20 20 20 20 20 5 5 5 5 11 11 11 11 -11 11 11 20 20 20 20 5 5 5 5 5 12 12 11 11 -11 11 11 20 20 20 5 5 5 5 5 12 12 12 12 12 -12 12 12 20 20 5 5 5 5 5 5 12 12 12 12 12 -12 12 19 2 5 5 5 5 5 5 12 12 12 12 12 12 -19 19 19 2 18 18 5 5 5 5 12 12 12 12 12 12 -19 19 19 18 18 18 18 18 18 6 6 6 6 6 19 19 -19 19 19 18 18 18 18 18 18 6 6 6 6 6 6 19 -19 19 18 18 18 18 18 18 18 6 6 6 6 6 6 6 -19 19 18 18 18 18 18 18 18 6 6 6 6 6 6 19 -19 19 18 18 18 18 18 18 18 16 6 6 6 6 6 6 -11 11 18 18 18 18 18 18 18 14 14 6 6 6 6 11 -11 11 11 18 18 18 18 18 14 14 14 14 14 11 11 11 -11 11 11 18 18 18 18 14 14 14 14 14 14 11 11 11 -11 11 11 20 20 20 20 20 14 14 14 14 11 11 11 11 -11 11 11 20 20 20 20 20 5 5 5 5 11 11 11 11 -11 11 11 20 20 20 20 5 5 5 5 5 11 11 11 11 -11 11 11 20 20 20 5 5 5 5 5 5 5 11 11 11 -11 11 11 20 20 5 5 5 5 5 5 5 12 12 12 11 -12 10 2 2 5 5 5 5 5 5 5 5 12 12 12 12 -19 19 2 2 2 5 5 5 5 5 5 12 12 12 12 19 -19 19 2 2 2 5 5 5 5 5 5 12 12 19 19 19 -19 19 19 2 18 18 18 18 18 6 6 6 6 19 19 19 -19 19 19 18 18 18 18 18 18 6 6 6 6 6 19 19 -19 19 19 18 18 18 18 18 18 6 6 6 6 6 6 19 -19 19 4 4 18 18 18 18 18 16 6 6 6 6 19 19 -19 19 4 4 18 18 18 18 18 16 16 6 6 6 6 19 -11 4 4 4 18 18 18 18 16 16 16 16 6 6 6 11 -11 11 4 4 1 18 18 18 16 16 16 16 16 11 11 11 -11 11 11 1 1 1 18 18 16 16 16 16 16 11 11 11 -11 11 11 1 20 20 20 5 5 14 14 14 11 11 11 11 -11 11 11 20 20 20 5 5 5 5 5 5 11 11 11 11 -11 11 11 20 20 5 5 5 5 5 5 5 5 11 11 11 -11 11 11 20 5 5 5 5 5 5 5 5 5 11 11 11 -10 10 10 2 5 5 5 5 5 5 5 5 5 10 10 10 -10 10 2 2 5 5 5 5 5 5 5 5 5 10 10 10 -19 19 2 2 2 5 5 5 5 5 5 5 19 19 19 19 -19 19 2 2 2 2 5 5 5 5 5 6 19 19 19 19 -19 19 2 2 2 2 18 18 18 6 6 6 19 19 19 19 -19 19 2 2 2 18 18 18 18 6 6 6 6 19 19 19 -19 19 19 4 18 18 18 18 18 6 6 6 6 6 19 19 -19 19 4 4 4 4 18 18 16 16 16 6 6 19 19 19 -19 19 4 4 4 4 1 18 16 16 16 16 6 6 19 19 -19 4 4 4 4 1 1 1 16 16 16 16 15 15 6 19 -11 4 4 4 1 1 1 1 16 16 16 16 15 15 11 11 -11 11 4 1 1 1 1 1 16 16 16 16 15 3 11 11 -11 11 11 1 1 1 1 5 16 16 16 3 3 3 11 11 -11 11 11 1 1 5 5 5 5 5 5 3 3 3 11 11 -10 10 10 20 5 5 5 5 5 5 5 5 3 3 10 10 -10 10 10 10 5 5 5 5 5 5 5 5 5 10 10 10 -10 10 10 2 5 5 5 5 5 5 5 5 10 10 10 10 -10 10 2 2 2 5 5 5 5 5 5 5 10 10 10 10 -19 2 2 2 2 2 5 5 5 5 5 5 7 19 19 19 -19 2 2 2 2 2 2 5 5 5 5 7 19 19 19 19 -19 19 2 2 2 2 2 18 18 6 6 19 19 19 19 19 -19 19 2 2 2 4 18 18 18 6 6 6 19 19 19 19 -19 19 2 4 4 4 18 18 18 16 6 6 6 19 19 19 -19 19 4 4 4 4 4 1 16 16 15 15 15 19 19 19 -19 4 4 4 4 4 1 1 16 16 15 15 15 15 19 19 -19 4 4 4 4 1 1 1 16 16 15 15 15 15 15 19 - 4 4 4 4 1 1 1 1 16 16 15 15 15 15 15 3 -11 4 4 1 1 1 1 1 16 16 15 15 3 3 3 3 -11 11 1 1 1 1 1 1 16 3 3 3 3 3 3 3 -10 10 10 1 1 1 5 5 5 5 3 3 3 3 3 10 -10 10 10 10 5 5 5 5 5 5 5 3 3 3 10 10 -10 10 10 10 5 5 5 5 5 5 5 5 10 10 10 10 -10 10 10 2 2 5 5 5 5 5 5 5 10 10 10 10 -10 10 2 2 2 2 5 5 5 5 5 7 7 10 10 10 -10 2 2 2 2 2 2 5 5 5 7 7 7 7 10 10 -19 2 2 2 2 2 2 5 5 5 7 7 7 19 19 19 -19 2 2 2 2 2 2 2 5 7 7 7 19 19 19 19 -19 2 2 2 2 2 4 4 16 16 6 19 19 19 19 19 -19 19 2 2 4 4 4 4 16 16 15 15 19 19 19 19 -19 2 4 4 4 4 4 1 1 15 15 15 15 19 19 19 -19 4 4 4 4 4 1 1 1 15 15 15 15 15 19 19 -19 4 4 4 4 1 1 1 1 15 15 15 15 15 15 19 - 4 4 4 4 1 1 1 1 1 15 15 15 15 15 3 3 - 3 4 4 1 1 1 1 1 1 15 15 3 3 3 3 3 -10 10 1 1 1 1 1 1 3 3 3 3 3 3 3 3 -10 10 10 1 1 1 1 5 3 3 3 3 3 3 3 10 -10 10 10 10 1 5 5 5 5 3 3 3 3 3 10 10 -10 10 10 10 2 5 5 5 5 5 3 3 10 10 10 10 -10 10 10 2 2 2 5 5 5 5 5 7 10 10 10 10 -10 10 2 2 2 2 5 5 5 5 7 7 7 10 10 10 -10 2 2 2 2 2 2 5 5 7 7 7 7 7 10 10 - 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 19 -19 2 2 2 2 2 2 2 7 7 7 7 7 19 19 19 -19 2 2 2 2 2 4 4 4 15 15 7 19 19 19 19 -19 2 2 2 4 4 4 4 1 15 15 15 19 19 19 19 -19 2 2 4 4 4 4 1 1 15 15 15 15 19 19 19 -19 4 4 4 4 4 1 1 1 15 15 15 15 15 19 19 -19 4 4 4 4 1 1 1 1 15 15 15 15 15 15 19 - 3 4 4 4 1 1 1 1 1 15 15 15 15 3 3 3 -13 13 4 1 1 1 1 1 1 15 3 3 3 3 3 3 -13 13 13 1 1 1 1 1 3 3 3 3 3 3 3 3 -10 13 13 13 1 1 1 1 3 3 3 3 3 3 3 10 -10 10 13 13 13 1 5 5 3 3 3 3 3 3 10 10 -10 10 10 13 13 13 5 5 5 3 3 3 10 10 10 10 -10 10 10 2 2 2 5 5 5 7 7 7 7 10 10 10 -10 10 2 2 2 2 2 5 5 7 7 7 7 7 10 10 -10 2 2 2 2 2 2 17 7 7 7 7 7 7 7 10 - 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 19 - 2 2 2 2 2 2 2 4 4 15 7 7 7 19 19 19 -19 2 2 2 2 4 4 4 1 15 15 15 19 19 19 19 diff --git a/examples/SpectralMethod/Polycrystal/20grains16x16x16.vtr b/examples/SpectralMethod/Polycrystal/20grains16x16x16.vtr new file mode 100644 index 000000000..8c8e5d9dc --- /dev/null +++ b/examples/SpectralMethod/Polycrystal/20grains16x16x16.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAAkAAAALAAAAA==eF7LzUwuyi8uKSpNLiktSi1WMDJgyMjPzU9PzcusSizJzM/jNGQAAASkDSY= + + + + + + + + AQAAAACAAAAAAAAADwYAAA==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 + + + + + AQAAAACAAACIAAAAOAAAAA==eF5jYEAGG+wh9AEofQJKX4DSV6D0DSh9B0o/gNKPoPQTKP0MSr+A0q+g9Bso/Q5Kf7AHAB2kEak= + + + AQAAAACAAACIAAAAOAAAAA==eF5jYEAGG+wh9AEofQJKX4DSV6D0DSh9B0o/gNKPoPQTKP0MSr+A0q+g9Bso/Q5Kf7AHAB2kEak= + + + AQAAAACAAACIAAAAOAAAAA==eF5jYEAGG+wh9AEofQJKX4DSV6D0DSh9B0o/gNKPoPQTKP0MSr+A0q+g9Bso/Q5Kf7AHAB2kEak= + + + + + diff --git a/examples/SpectralMethod/Polycrystal/20grains32x32x32.geom b/examples/SpectralMethod/Polycrystal/20grains32x32x32.geom deleted file mode 100644 index 066d2a82a..000000000 --- a/examples/SpectralMethod/Polycrystal/20grains32x32x32.geom +++ /dev/null @@ -1,1030 +0,0 @@ -5 header -grid a 32 b 32 c 32 -size x 1.000000 y 1.000000 z 1.000000 -origin x 0.000000 y 0.000000 z 0.000000 -microstructures 20 -homogenization 1 -19 2 2 2 2 2 2 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 2 2 2 2 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 2 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 8 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 - 8 8 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 - 8 8 8 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 -13 8 8 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 -13 13 13 13 4 4 4 4 1 1 1 1 1 1 1 1 9 9 15 15 15 15 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 13 13 4 1 1 1 1 1 1 1 1 1 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 13 13 13 13 1 1 1 1 1 1 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 13 13 13 13 13 1 1 1 1 1 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 13 1 1 1 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 10 -10 13 13 13 13 13 13 13 13 13 13 1 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 17 17 9 9 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 17 17 17 17 17 3 3 3 3 3 3 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 10 13 13 13 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 17 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 15 15 15 7 7 7 7 7 7 7 7 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 15 15 15 15 15 15 7 7 7 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 2 2 2 2 2 2 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 2 2 2 2 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 8 8 8 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 - 8 8 8 8 8 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 - 8 8 8 8 8 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 3 8 - 8 8 8 8 8 8 4 4 4 4 1 1 1 1 1 1 9 9 15 15 15 15 15 15 15 15 15 3 3 3 3 8 - 8 8 8 8 8 8 4 4 4 1 1 1 1 1 1 9 9 9 9 15 15 15 15 15 3 3 3 3 3 3 3 3 -13 13 13 13 8 8 8 4 1 1 1 1 1 1 1 9 9 9 9 9 15 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 1 1 1 1 1 1 1 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 1 1 1 1 1 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 1 1 1 1 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 13 1 1 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 10 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 10 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 17 17 9 9 9 9 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 17 17 17 17 17 17 3 3 3 3 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 17 17 15 7 7 7 7 7 7 7 7 7 7 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 15 15 15 15 15 7 7 7 7 7 7 19 19 19 19 - 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 - 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 - 8 8 8 8 8 8 8 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 - 8 8 8 8 8 8 8 4 4 4 4 4 4 1 1 1 9 9 15 15 15 15 15 15 15 15 15 15 15 19 19 8 - 8 8 8 8 8 8 8 8 4 4 4 4 1 1 1 1 9 9 9 15 15 15 15 15 15 15 15 15 15 15 8 8 - 8 8 8 8 8 8 8 8 4 4 4 1 1 1 1 9 9 9 9 9 15 15 15 15 15 15 15 15 15 3 8 8 - 8 8 8 8 8 8 8 8 8 4 1 1 1 1 9 9 9 9 9 9 9 15 15 15 15 15 3 3 3 3 3 8 - 8 8 8 8 8 8 8 8 8 1 1 1 1 1 9 9 9 9 9 9 9 9 15 3 3 3 3 3 3 3 3 8 -13 13 13 8 8 8 8 8 8 1 1 1 1 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 8 8 1 1 1 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 13 1 1 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 10 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 10 10 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 17 17 17 9 9 9 9 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 9 3 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 10 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 10 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 10 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 17 15 15 15 15 7 7 7 7 7 7 7 7 19 19 19 - 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 7 7 7 19 19 19 19 - 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 1 9 9 15 15 15 15 15 15 15 15 15 7 19 19 19 8 - 8 8 8 8 8 8 8 8 8 8 4 4 4 4 1 9 9 9 9 15 15 15 15 15 15 15 15 15 19 19 8 8 - 8 8 8 8 8 8 8 8 8 8 4 4 4 1 1 9 9 9 9 9 15 15 15 15 15 15 15 15 15 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 4 1 1 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 1 1 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 3 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 1 1 9 9 9 9 9 9 9 9 9 9 15 15 3 3 3 3 3 8 8 - 8 8 8 8 8 8 8 8 8 8 8 1 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 8 8 -13 13 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 8 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 10 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 10 10 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 9 9 9 9 9 3 3 3 3 3 10 10 10 10 10 10 10 -10 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 9 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 13 13 13 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 10 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 10 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 4 17 17 17 17 17 17 15 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 17 15 15 15 15 15 15 15 7 7 7 7 7 19 19 2 - 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 9 9 9 9 9 9 15 15 15 15 15 7 7 7 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 4 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 3 3 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 8 8 -13 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 13 13 13 -13 13 13 13 13 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 10 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 10 10 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 9 9 9 9 9 9 3 3 7 7 10 10 10 10 10 13 -13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 9 7 7 7 7 7 7 7 10 10 10 10 10 -10 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 10 10 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 10 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 - 7 10 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 2 - 8 8 8 8 8 8 8 8 8 8 8 8 4 17 17 17 17 17 9 9 15 15 15 7 7 7 7 7 7 7 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 15 15 7 7 7 7 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 15 15 15 15 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 -13 13 13 13 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 17 9 9 9 9 9 9 9 9 9 9 3 3 3 3 10 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 9 9 9 9 9 9 9 7 7 7 10 10 10 13 13 13 -13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 9 7 7 7 7 7 7 10 10 10 13 13 -13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 10 10 10 13 -13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 10 10 10 -10 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 10 10 -10 10 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 10 -10 10 10 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 7 10 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 8 - 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 9 9 9 9 7 7 7 7 7 7 7 7 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 7 7 7 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 8 -13 13 13 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 -13 13 13 13 13 13 13 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 17 9 9 9 9 9 9 9 9 9 9 9 9 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 9 9 9 9 9 9 9 7 7 7 10 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 9 9 7 7 7 7 7 7 10 13 13 13 -13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 10 13 13 -13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 10 13 -13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 10 -10 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 7 10 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 - 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 8 - 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 9 9 9 9 7 7 7 7 7 7 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 9 9 9 9 9 9 9 9 9 9 9 7 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 8 8 -13 13 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 -13 13 13 13 13 13 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 17 17 9 9 9 9 9 9 9 9 9 9 9 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 9 9 9 9 9 9 12 12 12 12 12 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 9 12 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 - 7 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 - 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 - 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 8 - 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 9 9 9 9 7 7 7 7 7 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 9 9 9 9 9 9 9 9 9 9 9 7 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 8 8 8 -13 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 -13 13 13 13 13 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 17 17 17 9 9 9 9 9 9 9 9 9 9 12 12 12 12 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 9 9 9 9 12 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 -12 12 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 -12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 -12 12 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 -12 12 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 8 - 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 8 8 - 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 9 9 9 9 7 7 7 7 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 9 9 9 9 9 9 9 9 6 6 6 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 6 6 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 13 13 13 13 -13 13 13 13 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 13 13 13 13 -13 13 13 13 13 13 13 13 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 20 20 20 9 9 9 9 9 9 9 9 9 9 12 12 12 12 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 9 9 9 9 9 9 9 9 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 9 9 9 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 8 - 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 9 9 9 6 6 6 6 12 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 9 9 9 9 9 9 6 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 6 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 13 8 -13 13 13 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 13 13 -13 13 13 13 13 13 13 8 8 8 8 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 13 13 -13 13 13 13 13 13 13 13 13 13 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 13 13 13 -13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 11 11 11 13 13 13 -13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 12 12 11 11 13 13 13 -13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 9 9 9 9 9 9 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 9 9 9 9 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 9 12 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 12 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 8 - 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 6 6 12 12 12 12 12 12 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 14 14 14 14 6 6 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 9 9 14 14 14 14 6 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 14 14 14 14 14 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 14 14 14 14 14 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 14 14 14 14 14 14 11 11 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 14 14 14 14 11 11 11 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 14 14 14 11 11 11 11 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 14 14 11 11 11 11 11 8 - 8 8 8 8 8 8 8 8 8 8 8 8 20 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 -13 13 8 8 8 8 8 8 8 8 8 20 20 20 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 -13 13 13 13 13 13 8 8 8 8 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 -13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 13 -13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 11 11 11 11 11 11 13 -13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 12 12 11 11 11 11 11 13 -13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 9 9 9 12 12 12 12 12 12 12 11 13 13 -13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 9 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 12 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 12 12 12 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 14 14 14 14 14 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 14 14 14 14 14 14 14 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 14 14 14 14 14 14 14 14 14 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 14 14 14 14 14 14 14 14 14 14 14 6 11 11 11 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 20 9 9 9 14 14 14 14 14 14 14 14 14 11 11 11 11 11 8 - 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 9 9 9 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 9 9 9 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 9 9 9 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 13 13 13 8 8 8 8 20 20 20 20 20 20 20 20 20 9 9 9 14 14 14 11 11 11 11 11 11 11 11 -11 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 9 9 9 14 14 11 11 11 11 11 11 11 11 -11 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 14 11 11 11 11 11 11 11 11 -11 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 12 12 11 11 11 11 11 11 11 -13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 11 11 11 11 -13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 11 11 -13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 12 8 - 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 6 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 14 14 6 6 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 6 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 14 14 14 14 14 14 14 14 6 6 6 6 6 11 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 14 14 14 14 14 14 14 14 14 14 14 6 6 11 11 11 8 - 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 8 8 8 8 8 8 8 8 8 8 8 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 12 11 11 11 11 11 11 11 11 -11 11 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 11 11 11 11 11 -11 11 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 11 11 11 -11 11 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 6 12 12 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 14 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 14 14 14 6 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 14 14 14 14 14 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 14 14 14 14 6 6 6 6 6 6 11 11 - 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 6 11 11 11 11 -11 8 8 8 8 8 8 8 8 8 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 8 8 8 8 8 8 8 8 8 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 8 8 8 8 8 8 8 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 8 8 8 8 8 8 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 8 8 8 8 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 8 8 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 13 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 11 11 11 11 11 11 11 11 11 -11 11 11 11 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 11 11 11 11 11 11 -11 11 11 11 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 11 11 11 11 -11 11 11 11 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 11 -12 11 11 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 13 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 12 12 12 12 12 12 12 12 -12 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 12 12 - 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 14 14 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 -11 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 6 11 11 -11 11 8 8 8 8 8 8 8 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 6 11 11 11 11 -11 11 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 6 11 11 11 11 11 -11 11 11 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 11 8 8 8 8 8 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 11 11 8 8 8 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 8 8 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 11 11 11 11 11 11 11 -11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 11 11 11 11 11 -11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 11 11 -11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 5 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 12 12 12 12 12 - 6 12 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 14 14 6 6 6 6 6 6 6 6 6 6 6 6 -11 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 6 6 6 6 6 6 6 6 6 6 6 -11 11 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 6 11 11 -11 11 11 8 8 8 8 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 6 6 6 6 6 11 11 11 -11 11 11 11 8 8 8 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 6 11 11 11 11 11 -11 11 11 11 8 8 8 8 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 11 11 8 8 8 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 11 11 11 8 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 12 12 11 11 11 11 11 11 11 11 -11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 12 12 12 12 11 11 11 11 11 11 -11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 12 12 12 12 12 12 12 12 11 11 11 -11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 12 12 12 12 12 12 12 12 12 12 11 -12 12 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 12 12 12 12 12 12 12 12 -12 19 19 19 8 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 12 12 - 6 19 19 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 19 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 8 8 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 6 6 6 6 6 6 6 6 6 11 -11 11 11 11 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 6 6 6 6 6 11 11 11 -11 11 11 11 11 8 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 11 11 11 11 11 -11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 12 12 11 11 11 11 11 11 11 -11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 12 12 12 12 12 12 11 11 11 11 -11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 12 12 12 12 12 12 12 12 11 11 -12 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 20 20 20 20 20 20 20 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 19 19 17 17 17 17 17 17 17 17 17 17 17 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 12 12 12 12 12 -19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 6 6 6 6 6 6 6 6 6 11 -11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 11 11 11 -11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 6 11 11 11 11 -11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 14 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 12 12 12 12 11 11 11 11 11 -11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 12 12 12 12 12 12 11 11 11 -11 11 11 11 11 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 -12 12 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 20 20 20 20 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 19 17 17 17 17 17 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 19 19 19 2 17 17 17 17 17 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 19 19 19 19 19 2 18 18 18 18 18 18 18 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 12 12 12 12 12 12 12 19 -19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 6 6 6 6 6 6 6 6 6 6 11 -11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 6 11 11 -11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 6 6 6 6 11 11 11 11 -11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 12 12 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 12 12 12 12 11 11 11 11 -11 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 11 -12 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 -12 12 12 12 11 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 19 2 2 20 20 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 -12 12 19 19 19 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 2 2 2 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 2 2 18 18 18 18 18 18 5 5 5 5 5 6 6 12 12 12 12 12 12 12 12 12 19 19 -19 19 19 19 19 19 2 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 12 19 19 19 19 -19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 -19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 6 6 6 6 6 6 6 6 11 11 -11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 6 6 6 6 11 11 11 11 -11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 11 11 11 11 11 -11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 11 11 -11 11 11 11 11 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 -12 12 12 11 11 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 -12 12 12 19 2 2 2 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 -12 19 19 19 19 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 19 -19 19 19 19 19 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 19 19 19 -19 19 19 19 19 2 2 2 2 18 18 18 18 5 5 5 5 5 5 5 6 6 6 6 12 12 12 19 19 19 19 19 -19 19 19 19 19 19 2 2 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 2 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 4 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 4 4 18 18 18 18 18 18 18 18 18 18 18 18 16 16 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 4 4 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 6 6 6 6 6 6 6 6 11 11 -11 11 11 11 11 4 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 6 6 6 6 6 6 11 11 11 -11 11 11 11 11 4 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 6 6 11 11 11 11 11 -11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 -11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 11 11 11 -11 11 11 11 11 11 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 11 -10 10 10 10 10 2 2 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 -19 19 19 19 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 -19 19 19 19 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 19 19 -19 19 19 19 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 18 18 5 5 5 5 5 5 5 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 2 2 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 2 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 4 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 4 4 4 18 18 18 18 18 18 18 18 18 18 16 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 4 4 4 4 18 18 18 18 18 18 18 18 18 18 16 16 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 4 4 4 4 18 18 18 18 18 18 18 18 18 18 16 16 16 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 4 4 4 4 4 18 18 18 18 18 18 18 18 18 16 16 16 16 16 6 6 6 6 6 6 6 6 6 19 -11 11 11 4 4 4 4 4 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 6 6 6 6 6 6 6 6 11 -11 11 11 11 4 4 4 4 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 6 6 6 6 6 11 11 11 -11 11 11 11 4 4 4 4 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 6 6 11 11 11 11 11 -11 11 11 11 11 4 4 4 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 -11 11 11 11 11 11 4 1 1 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 -11 11 11 11 11 11 1 1 1 1 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 1 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 14 14 14 14 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 -10 10 10 10 10 10 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 10 10 10 10 10 -10 10 10 10 10 10 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 10 10 10 10 -10 10 10 10 10 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 10 10 10 10 -10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 10 10 10 -19 19 19 19 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 6 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 18 18 18 18 18 18 5 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 4 4 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 4 4 4 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 18 18 18 18 18 18 18 18 16 16 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 18 18 18 18 18 18 18 16 16 16 16 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 4 4 4 4 4 4 18 18 18 18 18 18 18 16 16 16 16 16 6 6 6 6 6 6 6 19 19 19 -19 19 19 4 4 4 4 4 4 4 18 18 18 18 18 18 18 16 16 16 16 16 16 6 6 6 6 6 6 6 19 19 -19 19 19 4 4 4 4 4 4 4 18 18 18 18 18 18 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 19 -11 11 11 4 4 4 4 4 4 4 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 6 6 6 6 11 11 11 -11 11 11 11 4 4 4 4 4 1 1 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 6 6 11 11 11 11 -11 11 11 11 4 4 4 4 1 1 1 1 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 -11 11 11 11 11 4 4 1 1 1 1 1 1 18 18 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 -11 11 11 11 11 11 1 1 1 1 1 1 1 1 18 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 -11 11 11 11 11 11 1 1 1 1 1 1 1 1 20 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 -11 11 11 11 11 11 1 1 1 1 20 20 20 20 5 5 5 5 5 5 5 16 16 3 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 3 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 -11 11 11 11 11 11 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 -10 10 10 10 10 10 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 -10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 -19 19 19 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 18 18 18 18 5 5 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 18 18 18 18 18 18 18 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 4 4 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 2 4 4 4 4 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 18 18 18 18 18 18 18 18 16 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 18 18 18 18 18 16 16 16 16 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 18 18 18 18 18 16 16 16 16 16 6 6 6 6 6 6 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 18 18 18 18 16 16 16 16 16 16 16 6 6 6 6 6 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 18 18 18 18 16 16 16 16 16 16 16 16 6 6 6 6 6 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 1 1 18 18 18 16 16 16 16 16 16 16 16 16 15 6 6 6 6 19 19 -11 11 4 4 4 4 4 4 4 4 1 1 1 1 18 16 16 16 16 16 16 16 16 16 16 15 15 15 6 6 11 11 -11 11 11 4 4 4 4 4 4 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 15 15 15 15 11 11 11 -11 11 11 4 4 4 4 4 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 15 15 15 11 11 11 11 -11 11 11 11 4 4 4 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 15 15 11 11 11 11 11 -11 11 11 11 11 4 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 3 3 11 11 11 11 11 -11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 1 1 1 1 1 1 1 5 5 5 5 5 5 5 16 16 3 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 11 1 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 11 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 11 11 11 11 11 -10 10 10 10 10 10 10 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 10 10 10 10 10 -10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 -10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 10 10 10 10 10 10 -19 19 19 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 7 7 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 18 18 18 5 5 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 18 18 18 18 18 18 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 4 18 18 18 18 18 18 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 4 4 4 18 18 18 18 18 18 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 4 4 4 4 4 18 18 18 18 18 18 16 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 18 18 18 18 18 16 16 16 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 18 18 16 16 16 16 16 16 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 18 18 16 16 16 16 16 16 16 15 6 6 6 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 1 1 18 16 16 16 16 16 16 16 15 15 15 6 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 1 1 1 1 16 16 16 16 16 16 16 15 15 15 15 15 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 1 1 1 1 1 16 16 16 16 16 16 16 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 1 1 1 1 1 1 16 16 16 16 16 16 16 15 15 15 15 15 15 15 19 19 -11 11 4 4 4 4 4 4 4 1 1 1 1 1 1 1 16 16 16 16 16 16 16 15 15 15 15 15 15 15 11 11 -11 11 11 4 4 4 4 4 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 15 15 15 15 15 15 11 11 11 -11 11 11 4 4 4 4 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 15 15 15 3 3 3 11 11 11 -11 11 11 11 4 4 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 3 3 3 3 3 3 11 11 11 -11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 3 3 3 3 3 3 3 11 11 11 -11 11 11 11 11 1 1 1 1 1 1 1 1 1 5 5 5 5 5 16 3 3 3 3 3 3 3 3 3 11 11 11 -11 11 11 11 11 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 11 11 11 -11 11 11 11 11 11 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 11 11 11 -10 10 10 10 10 10 10 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 10 10 10 10 -10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 10 10 10 10 10 -10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 7 10 10 10 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 7 7 7 10 10 10 10 10 10 -19 19 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 7 7 7 7 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 7 7 7 7 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 7 7 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 4 18 18 18 18 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 4 4 4 18 18 18 18 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 4 4 4 4 4 18 18 18 16 16 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 4 4 4 4 4 4 4 18 18 18 16 16 16 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 2 4 4 4 4 4 4 4 4 4 18 18 18 16 16 16 16 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 1 16 16 16 16 16 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 1 1 16 16 16 16 16 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 1 1 1 16 16 16 16 16 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 1 1 1 1 16 16 16 16 16 15 15 15 15 15 15 15 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 1 1 1 1 1 16 16 16 16 16 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 1 1 1 1 1 1 16 16 16 16 16 15 15 15 15 15 15 15 15 15 19 19 -11 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 11 -11 11 4 4 4 4 4 4 1 1 1 1 1 1 1 1 16 16 16 16 16 15 15 15 15 15 15 15 3 3 3 11 -11 11 4 4 4 4 4 1 1 1 1 1 1 1 1 1 16 16 16 16 16 15 15 15 15 3 3 3 3 3 3 11 -11 11 11 4 4 4 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 15 3 3 3 3 3 3 3 3 3 11 -11 11 11 11 4 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 11 -11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 5 5 5 16 3 3 3 3 3 3 3 3 3 3 3 3 11 -10 10 10 10 10 1 1 1 1 1 1 1 1 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 10 -10 10 10 10 10 10 1 1 1 1 1 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 10 10 10 -10 10 10 10 10 10 10 1 1 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 10 10 10 10 -10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 10 10 10 10 10 -10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 7 7 10 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 10 10 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 -19 19 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 7 7 7 7 7 7 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 4 4 18 16 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 4 4 4 4 18 16 16 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 4 4 4 4 4 4 18 16 16 16 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 4 4 4 4 4 4 4 4 16 16 16 16 16 15 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 4 4 4 4 4 4 4 4 4 4 16 16 16 16 16 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 1 1 16 16 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 1 1 1 16 16 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 1 1 1 1 16 16 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 16 16 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 16 16 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 16 16 15 15 15 15 15 15 15 15 15 15 15 19 19 -19 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 16 16 15 15 15 15 15 15 15 15 15 15 15 3 3 - 3 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 16 16 15 15 15 15 15 15 15 15 3 3 3 3 3 - 3 11 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 16 16 15 15 15 15 15 3 3 3 3 3 3 3 3 - 3 11 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 16 16 15 15 3 3 3 3 3 3 3 3 3 3 3 - 3 11 11 4 4 1 1 1 1 1 1 1 1 1 1 1 1 16 16 3 3 3 3 3 3 3 3 3 3 3 3 3 -10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -10 10 10 10 10 1 1 1 1 1 1 1 1 1 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 10 -10 10 10 10 10 10 1 1 1 1 1 1 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 10 10 10 -10 10 10 10 10 10 10 1 1 1 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 10 10 10 10 -10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 10 10 10 10 10 -10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 7 7 7 7 7 7 7 7 10 10 10 10 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 7 7 7 7 7 7 7 7 7 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 7 7 7 7 7 7 7 7 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 16 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 4 4 4 4 4 16 16 15 15 7 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 4 4 4 4 4 4 4 16 16 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 4 4 4 4 4 4 4 4 4 16 16 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 4 4 4 4 4 4 4 4 4 4 1 16 16 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 2 2 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 -19 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 -19 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 - 3 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 - 3 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 - 3 10 10 4 4 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 -10 10 10 10 10 10 1 1 1 1 1 1 1 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 10 10 10 -10 10 10 10 10 10 10 1 1 1 1 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 10 10 10 10 -10 10 10 10 10 10 10 10 1 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 7 7 7 7 7 7 7 7 7 7 7 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 15 15 15 7 7 7 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 2 2 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 -19 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 - 3 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 - 3 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 - 3 3 13 4 4 4 1 1 1 1 1 1 1 1 1 1 1 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 10 13 13 4 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -10 10 10 13 13 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -10 10 10 10 13 13 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 -10 10 10 10 10 13 13 1 1 1 1 1 1 1 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 -10 10 10 10 10 10 13 13 1 1 1 1 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 -10 10 10 10 10 10 10 13 13 1 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 10 10 10 10 10 -10 10 10 10 10 10 10 10 13 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 5 5 5 5 5 5 5 5 5 5 3 3 3 3 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 5 5 5 5 5 5 5 5 5 5 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 15 15 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 2 2 2 2 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 2 2 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 -19 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 3 19 - 3 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 - 3 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 - 3 13 13 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 - 3 13 13 13 4 4 1 1 1 1 1 1 1 1 1 1 1 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -10 10 13 13 13 13 13 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -10 10 10 13 13 13 13 13 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 -10 10 10 10 13 13 13 13 13 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 -10 10 10 10 10 13 13 13 13 13 1 1 1 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 -10 10 10 10 10 10 10 13 13 13 13 5 5 5 5 5 5 5 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 5 5 5 5 5 5 5 5 3 3 3 3 3 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 5 5 5 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 5 5 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 15 7 7 7 7 7 7 7 7 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 15 15 15 15 15 7 7 7 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 2 2 2 2 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 2 2 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 -19 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 - 3 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 - 3 13 13 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 - 3 13 13 13 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -10 13 13 13 13 13 13 13 13 1 1 1 1 1 1 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 -10 10 13 13 13 13 13 13 13 13 1 1 1 1 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 1 1 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 5 5 5 5 5 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 17 5 5 5 5 5 5 3 3 3 3 3 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 17 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 17 17 17 5 5 5 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 17 17 17 5 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 15 15 15 15 7 7 7 7 7 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 15 15 15 15 15 15 15 7 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 diff --git a/examples/SpectralMethod/Polycrystal/20grains32x32x32.vtr b/examples/SpectralMethod/Polycrystal/20grains32x32x32.vtr new file mode 100644 index 000000000..616685604 --- /dev/null +++ b/examples/SpectralMethod/Polycrystal/20grains32x32x32.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAAkAAAALAAAAA==eF7LzUwuyi8uKSpNLiktSi1WMDJgyMjPzU9PzcusSizJzM/jNGQAAASkDSY= + + + + + + + + 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 + + + + + AQAAAACAAAAIAQAAUgAAAA==eF5NxTsOQwAAAFA3c1VHMBo7GAwGaZpGRMSv2irqCAZv8JYXBFdReB478c2pM+cufPfDT5euXLtx6869B49+efLbH389++fFqzf/vYcHn1gjIQ== + + + AQAAAACAAAAIAQAAUgAAAA==eF5NxTsOQwAAAFA3c1VHMBo7GAwGaZpGRMSv2irqCAZv8JYXBFdReB478c2pM+cufPfDT5euXLtx6869B49+efLbH389++fFqzf/vYcHn1gjIQ== + + + AQAAAACAAAAIAQAAUgAAAA==eF5NxTsOQwAAAFA3c1VHMBo7GAwGaZpGRMSv2irqCAZv8JYXBFdReB478c2pM+cufPfDT5euXLtx6869B49+efLbH389++fFqzf/vYcHn1gjIQ== + + + + + diff --git a/examples/SpectralMethod/Polycrystal/20grains64x64x64.geom b/examples/SpectralMethod/Polycrystal/20grains64x64x64.geom deleted file mode 100644 index 6622966e4..000000000 --- a/examples/SpectralMethod/Polycrystal/20grains64x64x64.geom +++ /dev/null @@ -1,4102 +0,0 @@ -5 header -grid a 64 b 64 c 64 -size x 1.000000 y 1.000000 z 1.000000 -origin x 0.000000 y 0.000000 z 0.000000 -microstructures 20 -homogenization 1 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 19 19 - 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 - 3 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 - 3 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 - 3 13 13 13 13 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 13 13 13 13 13 13 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 13 13 13 13 13 13 13 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 13 13 13 13 13 13 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 13 13 13 13 13 13 13 13 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 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 -13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 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 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 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 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 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 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 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 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 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 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 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 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 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 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 9 9 9 9 9 9 9 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 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 9 9 9 9 9 9 9 9 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 10 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 5 5 5 3 3 3 3 3 3 3 3 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 2 2 17 17 17 17 17 17 17 17 17 17 17 17 5 5 3 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 - 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 19 19 - 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 8 - 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 - 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 8 8 8 8 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 13 13 13 13 8 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 13 13 13 13 13 13 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 13 13 13 13 13 13 13 13 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 15 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 -13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 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 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 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 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 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 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 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 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 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 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 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 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 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 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 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 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 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 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 3 3 3 3 3 3 3 3 3 3 3 3 3 3 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 3 3 3 3 3 3 3 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 - 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 - 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 8 - 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 8 8 - 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 8 - 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 8 - 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 8 8 8 8 8 8 8 8 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -13 13 13 13 13 13 13 8 8 8 8 8 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 13 13 8 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 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 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 9 3 3 3 3 3 3 3 3 3 3 3 3 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 3 3 3 3 3 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 13 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 17 17 17 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 - 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 - 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 8 - 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 8 -13 13 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 4 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 9 3 3 3 3 3 3 3 3 3 3 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 3 3 3 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 17 17 17 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 - 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 - 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 8 8 -13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 3 3 3 3 3 3 3 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 3 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 13 13 13 13 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 17 17 17 17 17 17 17 17 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 17 17 17 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 19 19 19 19 19 19 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 1 1 1 1 1 1 1 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 -13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 3 3 3 3 3 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 13 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 17 17 17 17 17 17 17 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 17 17 17 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 19 19 19 19 19 19 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 19 19 19 19 19 19 19 19 2 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 1 1 1 1 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 1 1 1 1 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 1 1 1 1 1 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 3 3 3 3 3 3 3 3 3 3 3 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 8 -13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 3 3 3 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 17 17 17 17 17 17 17 17 17 17 17 17 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 17 17 17 17 17 17 17 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 17 17 15 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 19 19 19 19 19 19 2 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 1 1 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 19 19 19 19 19 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 1 1 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 1 1 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 1 1 1 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 3 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 3 3 3 3 3 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 3 3 3 3 3 3 3 3 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 13 13 8 8 -13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 13 13 13 13 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 17 17 17 17 17 17 17 17 17 17 17 17 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 17 17 17 17 17 17 17 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 1 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 19 19 19 19 19 2 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 19 19 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 19 19 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 1 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 3 3 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 3 3 3 3 3 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 13 8 8 8 -13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 10 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 3 3 3 3 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 10 10 10 10 13 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 17 17 17 17 17 17 17 17 17 17 17 9 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 2 2 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 17 17 17 17 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 19 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 4 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 3 3 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 3 3 3 3 3 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 13 13 13 13 -13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 10 10 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 10 10 10 10 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 3 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 10 10 10 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 10 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 2 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 7 7 7 7 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 15 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 15 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 15 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 3 3 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 13 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 13 13 13 8 -13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 10 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 3 10 10 10 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 10 10 10 10 10 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 7 7 10 10 10 10 10 10 10 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 10 10 10 10 13 13 13 13 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 10 10 10 10 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 10 10 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 7 7 7 7 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 15 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 15 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 15 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 15 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 13 13 13 13 13 8 8 -13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 3 10 10 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 10 10 10 10 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 7 7 7 10 10 10 10 10 10 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 7 7 7 10 10 10 10 10 10 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 10 10 10 10 13 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 10 10 10 10 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 10 10 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 15 7 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 15 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 13 8 8 8 -13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 13 13 13 13 -13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 10 10 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 10 10 10 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 7 7 7 10 10 10 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 7 10 10 10 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 10 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 10 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 10 10 10 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 10 10 10 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 10 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 13 13 13 13 -13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 12 12 10 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 10 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 10 10 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 10 10 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 -10 10 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 10 10 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 10 10 13 13 13 13 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 10 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 7 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 8 -13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 13 -13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 7 13 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 7 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 8 8 -13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 7 7 7 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 7 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 7 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 7 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 8 8 8 -13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 13 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 7 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 13 13 13 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 13 13 13 13 13 13 13 8 -13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 13 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 2 2 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 6 6 6 12 12 12 12 12 12 12 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 13 13 13 13 8 8 -13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 13 13 13 13 13 13 13 -13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 13 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 12 12 12 12 12 12 12 12 12 12 12 12 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 6 6 6 6 6 6 6 6 12 12 12 12 12 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 13 8 8 8 -13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 13 13 13 13 13 -13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 11 11 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 9 9 9 9 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 9 9 9 9 9 9 9 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 6 6 6 6 6 6 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 6 6 6 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 6 6 8 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 11 11 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 13 13 13 -13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 13 13 13 -13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 11 11 11 11 11 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 11 11 11 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 9 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 9 9 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 9 9 9 9 9 9 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 9 9 9 9 9 9 9 9 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 6 6 6 6 6 6 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 6 6 6 6 6 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 6 6 11 8 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 11 11 11 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 11 11 11 11 11 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 11 11 11 11 11 11 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 11 11 11 11 11 11 11 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 11 11 11 11 11 11 11 11 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 11 11 11 11 11 11 11 11 11 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 8 -13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 13 -13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 13 -13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 11 11 11 11 11 11 11 11 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 11 11 11 11 11 11 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 9 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 8 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 11 11 11 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 13 13 13 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -13 13 13 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 11 11 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 11 11 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 11 11 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 11 8 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 11 11 11 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 11 11 11 11 11 11 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 13 13 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 13 13 13 13 13 13 13 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 13 13 13 13 13 13 13 13 13 13 13 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 9 9 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 9 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 11 8 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 11 11 11 11 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 11 11 11 11 11 11 11 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 13 13 13 13 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 13 13 13 13 13 13 13 13 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 9 9 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 -11 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 -11 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 -11 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 13 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 11 11 11 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 11 11 11 11 11 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 11 11 11 11 11 11 11 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 13 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 13 13 13 13 13 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 -11 11 11 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 -11 11 11 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 -11 11 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 -12 11 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 13 13 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 11 8 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 11 11 11 11 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 11 11 11 11 11 11 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 11 11 11 11 11 11 11 11 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 -11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 -11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 13 13 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 -11 11 11 11 11 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 -11 11 11 11 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 -11 11 11 11 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 11 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 8 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 11 11 11 11 11 11 11 -11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 11 11 11 11 11 11 11 11 11 -11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 11 11 11 11 11 11 11 11 11 11 -11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 -11 11 11 11 11 11 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 -11 11 11 11 11 11 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 -12 12 11 11 11 11 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 11 13 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 13 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 13 13 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 13 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 8 8 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 -12 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 8 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 -11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 11 11 11 11 11 11 11 -11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 11 11 11 11 11 11 11 11 -11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 11 11 11 11 11 11 11 11 11 11 -11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 -11 11 11 11 11 11 11 11 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 -12 11 11 11 11 11 11 11 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 11 11 11 11 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 11 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 13 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 13 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 13 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 13 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 8 8 8 8 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 -12 12 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 -11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 -11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 -11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 -11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 11 11 11 11 11 11 11 11 -11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 -11 11 11 11 11 11 11 11 11 11 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 11 11 11 11 11 11 11 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 11 11 11 11 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 11 11 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 13 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 8 8 8 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 -12 12 12 12 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 - 6 6 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 -11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 -11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 -11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 -11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 11 11 11 11 11 11 11 11 -11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 8 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 -12 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 8 8 8 8 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 -12 12 12 12 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 11 8 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 -11 11 11 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 -11 11 11 11 8 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 -11 11 11 11 11 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 -11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 11 11 11 11 11 11 11 -11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 8 8 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 -11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 19 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 19 19 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 19 19 19 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 -12 12 12 19 19 19 19 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 - 6 6 19 19 19 19 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 19 19 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 19 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 6 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 8 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 6 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 11 11 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 8 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 -11 11 11 11 11 8 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 -11 11 11 11 11 11 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 -11 11 11 11 11 11 11 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 8 8 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 8 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 -11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 -12 12 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 19 19 19 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 19 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 19 19 19 19 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 19 19 19 19 19 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 19 19 19 19 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 19 19 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 6 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 6 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 6 19 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 6 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 6 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 11 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 11 11 8 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 8 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 -11 11 11 11 11 11 11 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 -11 11 11 11 11 11 11 8 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 -11 11 11 11 11 11 11 11 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 -12 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 19 19 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 19 19 19 19 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 19 19 19 19 19 19 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 19 19 19 19 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 19 19 19 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 19 19 19 19 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 6 19 19 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 6 19 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 6 11 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 11 11 11 11 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 8 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 11 8 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 -11 11 11 11 11 11 11 11 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 -11 11 11 11 11 11 11 11 11 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 19 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 19 19 19 19 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 19 19 19 19 19 19 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 6 11 11 8 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 11 11 11 11 11 8 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 -11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 -11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 -12 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 12 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 19 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 19 19 19 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 19 19 19 19 19 19 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 19 19 19 19 19 19 19 19 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 -11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 -11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 2 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 19 2 2 2 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 19 19 19 19 2 2 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 19 19 19 19 19 19 2 2 2 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 19 19 19 19 19 19 19 19 2 2 2 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 19 19 19 19 19 19 19 19 19 19 2 2 2 18 18 18 18 18 18 18 18 18 18 18 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 19 19 19 19 19 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 5 5 5 5 5 5 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 6 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 -11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 -12 12 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 12 2 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 19 19 2 2 2 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 19 19 19 19 2 2 2 2 2 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 19 19 19 19 19 19 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 18 18 18 18 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 18 18 18 18 18 18 18 18 18 18 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 5 5 5 5 5 5 5 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 6 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 -11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 -11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 -12 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 2 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 12 2 2 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 19 19 2 2 2 2 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 19 19 19 19 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 19 19 19 19 19 19 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 18 18 18 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 18 18 18 18 18 18 18 18 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12 12 12 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 -11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 -11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 12 12 2 2 2 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 12 19 19 2 2 2 2 2 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 19 19 19 19 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 19 19 19 19 19 19 19 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 18 18 18 18 18 18 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 12 12 12 12 12 12 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 19 19 19 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -19 19 19 19 19 19 19 19 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 - 6 11 11 11 11 11 11 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 11 11 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 -11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 -11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 -12 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 11 11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 11 11 11 2 2 2 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 12 12 19 19 2 2 2 2 2 2 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 12 19 19 19 19 19 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 19 19 19 19 19 19 19 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 18 18 18 18 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 12 12 12 12 12 12 12 12 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 19 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 19 19 19 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -19 19 19 19 19 19 19 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 11 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 -11 11 11 11 11 11 11 11 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 -11 11 11 11 11 11 11 11 11 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 -11 11 11 11 11 11 11 11 11 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 6 6 6 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 6 6 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 10 10 10 10 10 10 10 10 2 2 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 10 10 10 10 10 10 2 2 2 2 2 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 12 12 10 10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -12 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 18 18 18 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 12 12 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -11 11 11 11 11 11 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 -11 11 11 11 11 11 11 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 -11 11 11 11 11 11 11 11 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 -11 11 11 11 11 11 11 11 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 6 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 11 11 11 -10 10 10 10 10 10 10 10 10 10 10 2 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 10 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 12 12 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 12 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 12 12 12 12 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 18 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 19 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 -11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 -11 11 11 11 11 11 11 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 -11 11 11 11 11 11 11 11 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 -11 11 11 11 11 11 11 11 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 4 4 1 1 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 4 1 1 1 1 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 18 18 18 18 18 18 18 18 18 18 18 18 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 11 11 11 11 11 11 11 11 11 -10 10 10 10 10 10 10 10 10 10 10 10 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 10 10 10 10 10 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 12 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 12 12 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 12 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 -11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 -11 11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 11 11 11 11 11 -11 11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 4 4 4 4 4 4 4 1 1 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 4 4 4 4 4 1 1 1 1 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 4 4 4 1 1 1 1 1 1 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 4 4 1 1 1 1 1 1 1 1 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 20 20 20 20 20 20 20 20 20 20 20 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 14 14 14 14 14 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 14 14 14 14 14 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 -10 10 10 10 10 10 10 10 10 10 10 10 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 12 10 10 10 10 10 10 10 10 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 12 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 12 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 2 2 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 2 2 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 11 11 11 -11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 11 11 11 11 -11 11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 11 11 11 11 11 11 -11 11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 1 1 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 1 1 1 1 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 4 4 4 4 4 4 4 1 1 1 1 1 1 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 4 4 4 4 4 4 1 1 1 1 1 1 1 1 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 4 4 4 4 1 1 1 1 1 1 1 1 1 1 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 4 4 1 1 1 1 1 1 1 1 1 1 1 1 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 20 20 20 20 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 20 20 20 20 20 20 20 20 5 5 5 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 16 16 16 16 16 16 16 16 16 3 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 14 3 3 3 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 -10 10 10 10 10 10 10 10 10 10 10 10 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 10 10 10 10 10 10 10 10 10 10 10 10 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 12 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 19 19 19 -11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 11 11 11 11 -11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 11 11 11 11 11 11 -11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 6 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 3 3 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 3 3 3 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 20 20 20 5 5 5 5 5 5 5 5 5 5 5 16 16 16 16 16 16 16 16 3 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 16 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 11 11 11 11 11 11 -10 10 10 10 10 10 10 10 10 10 10 10 10 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 2 2 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 19 19 19 19 -11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 6 6 6 6 6 6 6 6 11 11 11 11 -11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 6 6 6 6 6 11 11 11 11 11 -11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 6 11 11 11 11 11 11 11 -11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 3 3 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 11 11 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 11 11 11 11 11 11 11 11 11 11 11 -10 10 10 10 10 10 10 10 10 10 10 10 10 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 5 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 18 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 2 2 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 6 6 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 6 6 6 6 6 6 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 6 6 6 6 6 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 6 6 6 6 19 19 19 19 -11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 6 11 11 11 11 11 -11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 11 11 11 11 11 11 -11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 11 11 11 11 11 11 11 -11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 3 3 3 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 11 20 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 11 11 11 11 11 11 11 11 11 -10 10 10 10 10 10 10 10 10 10 10 10 10 20 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 5 5 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 18 16 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 18 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 6 6 6 6 6 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 6 6 6 6 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 6 6 6 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 6 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 11 11 11 11 -11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 11 11 11 11 11 -11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 11 11 11 11 11 -11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 11 11 11 11 11 11 -11 11 11 11 11 11 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 3 3 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 3 3 3 3 3 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 11 11 -10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 20 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 20 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 5 5 5 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 18 18 18 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 18 18 18 18 18 18 18 18 16 16 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 16 16 16 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 18 16 16 16 16 6 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 18 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 18 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 15 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 18 18 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 6 6 6 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 6 6 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 11 11 11 -11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 11 11 11 11 -11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 11 11 11 11 11 -11 11 11 11 11 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 3 3 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 3 3 3 3 3 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 11 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 11 11 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 11 11 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 -11 11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 11 11 -10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 6 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 18 18 18 18 5 5 5 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 18 18 18 18 18 18 16 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 18 18 18 18 18 18 16 16 6 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 18 18 18 18 18 18 16 16 16 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 18 18 18 18 18 16 16 16 16 16 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 16 16 16 16 16 16 6 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 18 16 16 16 16 16 16 16 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 19 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 18 18 16 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 6 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 -11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 11 11 11 -11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 11 11 11 -11 11 11 11 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 11 11 11 -11 11 11 11 11 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 11 11 11 -11 11 11 11 11 11 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 -11 11 11 11 11 11 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 -11 11 11 11 11 11 11 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 -11 11 11 11 11 11 11 11 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 -11 11 11 11 11 11 11 11 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 -11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 -11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 -11 11 11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 11 11 -10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 18 5 5 5 5 5 6 6 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 18 18 18 18 16 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 18 18 18 18 16 16 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 18 18 18 16 16 16 16 6 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 18 18 18 16 16 16 16 16 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 18 18 18 16 16 16 16 16 16 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 16 16 16 16 16 16 16 16 6 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 16 16 16 16 16 16 16 16 16 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 18 16 16 16 16 16 16 16 16 16 16 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 16 16 16 16 16 16 16 16 16 16 16 15 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 18 16 16 16 16 16 16 16 16 16 16 16 15 15 15 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 -11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 11 -11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 11 -11 11 11 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 11 -11 11 11 11 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 11 -11 11 11 11 11 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 -11 11 11 11 11 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 -11 11 11 11 11 11 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 16 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 -11 11 11 11 11 11 11 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 -11 11 11 11 11 11 11 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 11 -11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 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 11 -11 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 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 11 -10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 -10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 5 5 5 5 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 18 16 16 16 6 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 18 16 16 16 16 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 18 16 16 16 16 16 6 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 16 16 16 16 16 16 16 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 16 16 16 16 16 16 16 16 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 16 16 16 16 16 16 16 16 15 6 6 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 16 16 16 16 16 16 16 16 15 15 15 6 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 16 16 16 16 16 16 16 16 16 15 15 15 15 15 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 - 3 11 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 - 3 11 11 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 - 3 11 11 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 11 11 11 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 11 11 11 11 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 11 11 11 11 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 11 11 11 11 11 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 16 16 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 11 11 11 11 11 11 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 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 10 10 10 10 10 10 4 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 16 16 16 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 -10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 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 10 -10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 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 10 10 -10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 16 16 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 16 16 16 16 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 16 16 16 16 16 15 6 6 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 16 16 16 16 16 15 15 15 6 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 16 16 16 16 16 16 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 16 16 16 16 16 16 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 16 16 16 16 16 16 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 16 16 16 16 16 16 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 19 - 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 11 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 11 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 15 15 15 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 11 11 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 16 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 10 10 10 10 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 16 16 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 10 10 10 10 10 10 10 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 16 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 -10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 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 10 -10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 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 10 10 -10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 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 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 16 16 16 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 16 16 16 15 15 15 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 16 16 16 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 16 16 16 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 16 16 16 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 16 16 16 16 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 16 16 16 16 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 19 - 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 3 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 15 15 15 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 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 15 15 15 15 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 10 10 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 15 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 10 10 10 10 4 4 4 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 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 10 10 10 10 10 10 10 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 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 -10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 -10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 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 10 10 -10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 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 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 15 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 15 15 15 15 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 16 15 15 15 15 15 15 15 15 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 16 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 16 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 16 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 - 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 3 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 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 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 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 10 10 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 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 10 10 10 10 10 4 4 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 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 10 10 10 10 10 10 10 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 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 -10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 -10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 -10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 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 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 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 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 15 15 15 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 19 19 - 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 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 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 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 13 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 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 10 13 13 13 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 10 13 13 13 4 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 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 10 10 10 10 10 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 -10 10 10 10 10 10 10 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 -10 10 10 10 10 10 10 10 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 -10 10 10 10 10 10 10 10 10 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 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 10 10 10 -10 10 10 10 10 10 10 10 10 10 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 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 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 15 15 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 19 - 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 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 13 13 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 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 13 13 13 13 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 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 13 13 13 13 13 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 10 10 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 -10 10 10 10 10 10 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 -10 10 10 10 10 10 10 10 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 10 -10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 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 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 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 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 15 15 15 15 15 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 - 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 13 13 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 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 13 13 13 13 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 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 13 13 13 13 13 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 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 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 10 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 -10 10 10 10 10 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 10 -10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 5 5 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 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 5 5 5 5 5 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 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 1 1 1 1 1 1 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 1 1 1 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 13 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 15 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 19 19 -19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 - 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 13 13 13 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 13 13 13 13 13 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 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 13 13 13 13 13 13 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 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 13 13 13 13 13 13 13 13 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 10 10 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 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 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 5 5 5 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 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 1 1 1 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 19 - 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 13 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 13 13 13 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 13 13 13 13 13 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 3 13 13 13 13 13 13 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 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 13 13 13 13 13 13 13 13 13 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 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 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 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 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 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 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 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 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 9 9 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 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 9 9 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 10 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 9 9 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 10 10 10 10 10 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 9 9 9 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 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 17 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 15 15 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 -19 19 19 19 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 -19 19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 -19 19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 -19 19 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 19 - 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 - 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 - 3 3 13 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 13 13 13 13 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 13 13 13 13 13 13 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 13 13 13 13 13 13 13 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 15 15 15 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - 3 13 13 13 13 13 13 13 13 13 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15 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 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 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 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 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 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 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 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 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 -13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 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 -10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 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 10 -10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 1 1 9 9 9 9 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 10 10 -10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 1 9 9 9 9 9 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 10 10 10 -10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 1 1 9 9 9 9 9 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 10 10 10 10 10 -10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 1 1 9 9 9 9 9 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 10 10 10 10 10 10 -10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 1 9 9 9 9 9 9 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 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 1 1 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1 9 9 9 9 9 9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 13 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13 13 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 17 17 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 17 17 17 17 17 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 10 13 2 2 2 2 2 2 2 2 17 17 17 17 17 5 5 5 5 5 5 5 5 3 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 10 -10 10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 10 -10 10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 10 -10 10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 10 -10 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 10 -10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 10 -10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 10 -10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 10 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 17 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 -19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 15 15 15 15 15 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 7 7 7 7 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 15 15 15 15 15 15 15 15 15 15 15 15 7 7 7 7 7 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 19 -19 19 19 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 19 19 19 19 19 19 19 19 19 19 19 19 19 diff --git a/examples/SpectralMethod/Polycrystal/20grains64x64x64.vtr b/examples/SpectralMethod/Polycrystal/20grains64x64x64.vtr new file mode 100644 index 000000000..95d089829 --- /dev/null +++ b/examples/SpectralMethod/Polycrystal/20grains64x64x64.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAAkAAAALAAAAA==eF7LzUwuyi8uKSpNLiktSi1WMDJgyMjPzU9PzcusSizJzM/jNGQAAASkDSY= + + + + + + + + QAAAAACAAAAAAAAA1gIAAPECAAD2AgAA9QIAAOYCAADUAgAA7gIAAOECAADMAgAArAIAAI4CAABnAgAAUQIAAEYCAAA2AgAANgIAADcCAAAnAgAAOgIAAEcCAABdAgAAcgIAAIgCAACXAgAAkgIAAIgCAACNAgAAfQIAAG0CAABxAgAAaQIAAH8CAABrAgAAaQIAAHUCAACHAgAAiAIAAJECAACLAgAAkQIAAJYCAACgAgAAlwIAAKwCAACxAgAA1AIAAOACAADUAgAA4wIAAOYCAADsAgAA/QIAAAgDAAAAAwAA6gIAAMMCAADDAgAAwwIAANkCAADaAgAAwgIAANECAADgAgAA2QIAAA==eF7t3M1u1EAQhVEIKIAURWje/2FZZLyxsE7b/Vfl6dqc/f1aXvrx7eseT7939sdkdZ9BfQxWHUtVj1GWnjrMVt1aqa7Re5/tvp32j6L61arOUXtf7b6ddo+mOl41W+/a7ttp76iq51W1dxRbnXaOrnqWqr2j2Pq0bxbVV2r32fY67ZpNdd7766n2n2Xv055ZLe0etf+o045ZfXuq7tHewejTjtF9u2i0/rNO+0ZRPc8a5Tsw+7T7aNWtlR9Q3WqNcurRS/Xprfr3eg/RTp1qVYdZqnfrdxDtfu9UR6m9o6i+Z83Wfbt9/9J3oH2jq561Zu2+VztmVf1aGe3Ue/XvY5RT77t3n9V/9jtQ79V/rKNOnVf/ufY+dV7dY9j61Hn1j2ntqa/Ufln9c6B6zPLqqe/q/n/VY5alp75SO2ZRnaV6zPLo1LVU7RpddT2resxyf+oqtWt01bFW9ZilupaqfaOpXr1Uj9Gqa6naO4rqM0p1Ga36ru59VJdRqnO2/to9murTy7/wJ1SH0Wrn6KpXK9X97HtQl16+P9Wu2VS/q6pvqb3ewXul2jWb6nnk/r8D6lnr0TtQr15q12zqPyKlqmOt6jJa7Rpd9Tyr+tWqHrPUztFUx1rV8arqMFvtPlt1a6U6XlX7R1EdRqtevVTPs2r3aKpLb9Wnt+p5Vu0dVXVqrbqMVl1L1c7RVbda1WGW6lqq9s2iOp5V+0dRfaV2zaa6Su0dTfWV2jOr6py9e6t3oB2ze/fuq3+Zd+1e+w60293UftlV79X/NVT31f/eqvvq/xqu/l+3/f9Xe93NV+1/9N9v7XVXX6W//vuune7m/n+Ed+uv3q/2DvQ/yiO1czTVV2rHLKqr1P8+1WGU6nlW7RpV9Tyr+kt1q1Udr6qdo6h+tarvVdV1dO8s70C9WrmdOvZydvco/dWptftTp1GqUy/Vp7Xq08ujU5fRqlet/wAoBGlteF7t3buKG0EQhlFfwPbCYha9/8M6sJQMiNP3rmqpkpP/X8czt2//73b3+yJ/blL3N6i3Rapbq+oy29JTh92qX6/qWKp6rLL2tH8U1bFX9Y3au7X747R7NNWx1Wy9e7s/TntHVT1rzdJ7VPfHaefoqmupvy9q/12OPu2bRfUt7R61/6zTrtlUb3WP9g5mn/bMam/33f1XnXbM5o+Lvf1Xv4PVpz2jeu0s1VeqW6+7TjvvVl1rVWepjrXuPu2/SnUb5Sdc1X/3/bmoPqNUn9mqv+x9B7vv2n3WO1CHXapvreodpfvj1L/2HWjvaKpnr9m7P3sH2jWL6jfKKKe+UntmU91Gu/vUV2rPLKrTbFefupaqXbOoPqucfepZqvbMprqsdtapa6naM5vqsctRp561as9sqsNuW08da9WOWdX+Uaw99axVO2bz4652j6ZOHVvVnln8gNo/itdTv1a1Z3TV+5R3oI6tat+oqm+p2j+K6tiqdo6meraq/XerjrVq5yiq22jVYZfqWat23606zVY9dqmupWr/XarLatVjtV931TdLd+0fRXWZ7VehWfpr76iq02jVu1Z1Ge2vi9o3i+rWqzr2qm6lPVvVvllUx1rVbbTqNFvtm0V11XcmHqrXaNVnldo3uupaqnqNVl1Wq52jqZ6tqtso1WOX2n236teruo1SHXarDqtVt9GqX6/aP4rqMlt1mqX69ardo6lOo1WfVapjq9o7qurWq3qsVh1b1c7RVcda1WG36lmr9s2iukrtHkX1rFW7ZlOds3af9Q60Z1ZP7f7uX+dp3Ue/A+13itoxq+ortdspasfsqvO7/9mq87v/a6jer9Zfe52mer/7v4bqfmr/0v+8nK66n9Zf/33QXqf47Dukp/VX71fpr+/PPvPZd121+27VWWrP6Kprqfq+b5T3oZ61at9oqmOr6lyrOtaqjq1q792qW6+PU8/R7uodvb96jfJ66rVK9ZqlusxSnUb77NRlterV6z82+m0keF7t3bmq2DAQhtEskAVCCPf9HzZFcGMwR8toNDKZ5vT/p9r++PTvPif7dZO630X9SFLdRlWX1baeOuxW/WZVx1bVI8ve0/5VVMdR1bV679Hu12n3aqpnr+pctfds9+u0d1XVtdXvjapDtlGnnaurvrPdq72D6NO+p6jes91391912vU0V/fPfgerT3ue6qruWf2zTjue4pcH1XFWdew1637c1L5VfOos1XFU9Ww1++79q70D9exVHWdV3+rdd70DdYv214PqK9X5lO6r3oG6ZPnUX6p/6zvYdeos1bda56jurar/rlPXXqt33tX/7tu6X2rnqqrXarNPHUfVzlVVnyxXn/qNqn2rqy7ZRp/6zap9q6seu4w69ZtV+1ZV+1dx9NRtVu1bXe1ezdZTtyi1b3W1d1V16hal9q2udq7u/dQr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 + + + + + AQAAAACAAAAIAgAAgwAAAA==eF5NxzlOQgEARdG3s781luASLCkpKCgsCCGEGENAmUdRAZlZAgWn4DYnN3nupXj4yjIrrLLGN9bZYJMttvnOD3bYZY+f/GKfAw454pgTTjnjnAsuueL3wxKz9syPZ3498+eZjWe2ntl55t8ze88cPHP0zMkzZ89cPHP1zK24A9MiTgE= + + + AQAAAACAAAAIAgAAgwAAAA==eF5NxzlOQgEARdG3s781luASLCkpKCgsCCGEGENAmUdRAZlZAgWn4DYnN3nupXj4yjIrrLLGN9bZYJMttvnOD3bYZY+f/GKfAw454pgTTjnjnAsuueL3wxKz9syPZ3498+eZjWe2ntl55t8ze88cPHP0zMkzZ89cPHP1zK24A9MiTgE= + + + AQAAAACAAAAIAgAAgwAAAA==eF5NxzlOQgEARdG3s781luASLCkpKCgsCCGEGENAmUdRAZlZAgWn4DYnN3nupXj4yjIrrLLGN9bZYJMttvnOD3bYZY+f/GKfAw454pgTTjnjnAsuueL3wxKz9syPZ3498+eZjWe2ntl55t8ze88cPHP0zMkzZ89cPHP1zK24A9MiTgE= + + + + + diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index 27df0acd5..84223e0c8 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -67,11 +67,7 @@ subroutine discretization_grid_init(restart) print'(/,a)', ' <<<+- discretization_grid init -+>>>'; flush(IO_STDOUT) - if(index(interface_geomFile,'.vtr') /= 0) then - call readVTR(grid,geomSize,origin,materialAt) - else - call readGeom(grid,geomSize,origin,materialAt) - endif + call readVTR(grid,geomSize,origin,materialAt) print'(/,a,3(i12 ))', ' grid a b c: ', grid print'(a,3(es12.5))', ' size x y z: ', geomSize @@ -412,11 +408,12 @@ subroutine readVTR(grid,geomSize,origin,material) startPos = endPos + 2_pI64 end do - + material = material + 1 if(.not. allocated(material)) call IO_error(error_ID = 844, ext_msg='material data not found') if(size(material) /= product(grid)) call IO_error(error_ID = 844, ext_msg='size(material)') if(any(geomSize<=0)) call IO_error(error_ID = 844, ext_msg='size') if(any(grid<1)) call IO_error(error_ID = 844, ext_msg='grid') + if(any(material<0)) call IO_error(error_ID = 844, ext_msg='material ID < 0') contains From fe27eabc0b92d469e52dd93903022ce0597c9f2b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 10 Oct 2020 07:55:27 +0200 Subject: [PATCH 849/958] fixing tests --- .gitlab-ci.yml | 14 -------------- PRIVATE | 2 +- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4e83757e5..33e0e91a5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -277,20 +277,6 @@ grid_all_restart: - master - release -grid_parsingLoadCase: - stage: grid - script: grid_parsingLoadCase/test.py - except: - - master - - release - -grid_all_loadCaseRotation: - stage: grid - script: grid_all_loadCaseRotation/test.py - except: - - master - - release - grid_all_restartMPI: stage: grid script: diff --git a/PRIVATE b/PRIVATE index cd1bd0372..e30d554c1 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit cd1bd0372a9f96e206c58e51432d4679742b775c +Subproject commit e30d554c1b78d5767bac9f2e2e5037947477b474 From 00e2128e03730302d7d102783a627fdfa3fff1d2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 10 Oct 2020 08:58:26 +0200 Subject: [PATCH 850/958] don't test ASCII functionality vtr writing in Geom class is alwas serial, no need to wait --- python/tests/test_Geom.py | 41 --------------------------------------- 1 file changed, 41 deletions(-) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index c2e476f8f..738b4ac2f 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -1,5 +1,4 @@ import os -import time import pytest import numpy as np @@ -42,44 +41,14 @@ class TestGeom: assert str(default.diff(new)) != '' - def test_write_read_str(self,default,tmp_path): - default.save_ASCII(str(tmp_path/'default.geom')) - new = Geom.load_ASCII(str(tmp_path/'default.geom')) - assert geom_equal(default,new) - - - def test_write_read_file(self,default,tmp_path): - with open(tmp_path/'default.geom','w') as f: - default.save_ASCII(f,compress=True) - with open(tmp_path/'default.geom') as f: - new = Geom.load_ASCII(f) - assert geom_equal(default,new) - - def test_read_write_vtr(self,default,tmp_path): default.save(tmp_path/'default') - for _ in range(10): - time.sleep(.2) - if os.path.exists(tmp_path/'default.vtr'): break - new = Geom.load(tmp_path/'default.vtr') assert geom_equal(new,default) - - def test_invalid_geom(self,tmp_path): - with open(tmp_path/'invalid_file','w') as f: - f.write('this is not a valid header') - with open(tmp_path/'invalid_file','r') as f: - with pytest.raises(TypeError): - Geom.load_ASCII(f) - - def test_invalid_vtr(self,tmp_path): v = VTK.from_rectilinearGrid(np.random.randint(5,10,3)*2,np.random.random(3) + 1.0) v.save(tmp_path/'no_materialpoint.vtr') - for _ in range(10): - time.sleep(.2) - if os.path.exists(tmp_path/'no_materialpoint.vtr'): break with pytest.raises(ValueError): Geom.load(tmp_path/'no_materialpoint.vtr') @@ -91,13 +60,6 @@ class TestGeom: g = Geom(np.zeros((3,3,3)),np.ones(3)) assert g.material.dtype in np.sctypes['int'] - @pytest.mark.parametrize('compress',[True,False]) - def test_compress(self,default,tmp_path,compress): - default.save_ASCII(tmp_path/'default.geom',compress=compress) - new = Geom.load_ASCII(tmp_path/'default.geom') - assert geom_equal(new,default) - - def test_invalid_size(self,default): with pytest.raises(ValueError): Geom(default.material[1:,1:,1:], @@ -185,9 +147,6 @@ class TestGeom: reference = reference_dir/f'clean_{stencil}_{"+".join(map(str,[None] if selection is None else selection))}_{periodic}' if update and stencil > 1: current.save(reference) - for _ in range(10): - time.sleep(.2) - if os.path.exists(reference.with_suffix('.vtr')): break assert geom_equal(Geom.load(reference) if stencil > 1 else default, current ) From ffabeacbcb1d4df52fa4fe8253a29788662163b1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 10 Oct 2020 09:41:11 +0200 Subject: [PATCH 851/958] removing functionality related to deprecated 'geom' format --- processing/pre/geom_fromDREAM3D.py | 2 +- processing/pre/geom_fromMinimalSurface.py | 2 +- processing/pre/geom_fromOsteonGeometry.py | 2 +- processing/pre/geom_fromTable.py | 2 +- processing/pre/geom_grainGrowth.py | 2 +- python/damask/_geom.py | 69 ++------- .../reference/Geom/clean_2_1+2+3_False.vtr | 2 +- .../reference/Geom/clean_2_1+2+3_True.vtr | 2 +- .../tests/reference/Geom/clean_2_1_False.vtr | 2 +- .../tests/reference/Geom/clean_2_1_True.vtr | 2 +- .../reference/Geom/clean_2_None_False.vtr | 2 +- .../reference/Geom/clean_2_None_True.vtr | 2 +- .../reference/Geom/clean_3_1+2+3_False.vtr | 2 +- .../reference/Geom/clean_3_1+2+3_True.vtr | 2 +- .../tests/reference/Geom/clean_3_1_False.vtr | 2 +- .../tests/reference/Geom/clean_3_1_True.vtr | 2 +- .../reference/Geom/clean_3_None_False.vtr | 2 +- .../reference/Geom/clean_3_None_True.vtr | 2 +- .../reference/Geom/clean_4_1+2+3_False.vtr | 2 +- .../reference/Geom/clean_4_1+2+3_True.vtr | 2 +- .../tests/reference/Geom/clean_4_1_False.vtr | 2 +- .../tests/reference/Geom/clean_4_1_True.vtr | 2 +- .../reference/Geom/clean_4_None_False.vtr | 2 +- .../reference/Geom/clean_4_None_True.vtr | 2 +- .../reference/Geom/flip_directions=x-y-z.geom | 25 ---- .../reference/Geom/flip_directions=x.geom | 25 ---- .../reference/Geom/flip_directions=y-z.geom | 25 ---- .../reference/Geom/flip_directions=z-x-y.geom | 25 ---- .../reference/Geom/flip_directions_x-y-z.vtr | 30 ++++ .../reference/Geom/flip_directions_x.vtr | 30 ++++ .../reference/Geom/flip_directions_y-z.vtr | 30 ++++ .../reference/Geom/flip_directions_z-x-y.vtr | 30 ++++ .../mirror_directions=x-y-z_reflect=True.geom | 85 ----------- .../mirror_directions=x_reflect=False.geom | 25 ---- .../mirror_directions=y-z_reflect=False.geom | 53 ------- ...mirror_directions=z-x-y_reflect=False.geom | 53 ------- .../mirror_directions_x+reflect_False.vtr | 30 ++++ .../mirror_directions_x-y-z+reflect_True.vtr | 30 ++++ .../mirror_directions_y-z+reflect_False.vtr | 30 ++++ .../mirror_directions_z-x-y+reflect_False.vtr | 30 ++++ .../Geom/rotate_Eulers=0.0-32.0-240.0.geom | 85 ----------- .../Geom/rotate_Eulers=32.0-68.0-21.0.geom | 104 -------------- .../Geom/rotate_Eulers_0.0-32.0-240.0.vtr | 30 ++++ .../Geom/rotate_Eulers_32.0-68.0-21.0.vtr | 30 ++++ .../reference/Geom/scale_grid=10-10-10.geom | 105 -------------- .../reference/Geom/scale_grid=10-11-10.geom | 115 --------------- .../reference/Geom/scale_grid=10-13-10.geom | 135 ------------------ .../reference/Geom/scale_grid=10-20-2.geom | 45 ------ .../reference/Geom/scale_grid=5-4-20.geom | 85 ----------- .../reference/Geom/scale_grid=8-10-12.geom | 125 ---------------- .../reference/Geom/scale_grid_10-10-10.vtr | 30 ++++ .../reference/Geom/scale_grid_10-11-10.vtr | 30 ++++ .../reference/Geom/scale_grid_10-13-10.vtr | 30 ++++ .../reference/Geom/scale_grid_10-20-2.vtr | 30 ++++ .../reference/Geom/scale_grid_5-4-20.vtr | 30 ++++ .../reference/Geom/scale_grid_8-10-12.vtr | 30 ++++ python/tests/test_Geom.py | 36 ++--- 57 files changed, 534 insertions(+), 1212 deletions(-) delete mode 100644 python/tests/reference/Geom/flip_directions=x-y-z.geom delete mode 100644 python/tests/reference/Geom/flip_directions=x.geom delete mode 100644 python/tests/reference/Geom/flip_directions=y-z.geom delete mode 100644 python/tests/reference/Geom/flip_directions=z-x-y.geom create mode 100644 python/tests/reference/Geom/flip_directions_x-y-z.vtr create mode 100644 python/tests/reference/Geom/flip_directions_x.vtr create mode 100644 python/tests/reference/Geom/flip_directions_y-z.vtr create mode 100644 python/tests/reference/Geom/flip_directions_z-x-y.vtr delete mode 100644 python/tests/reference/Geom/mirror_directions=x-y-z_reflect=True.geom delete mode 100644 python/tests/reference/Geom/mirror_directions=x_reflect=False.geom delete mode 100644 python/tests/reference/Geom/mirror_directions=y-z_reflect=False.geom delete mode 100644 python/tests/reference/Geom/mirror_directions=z-x-y_reflect=False.geom create mode 100644 python/tests/reference/Geom/mirror_directions_x+reflect_False.vtr create mode 100644 python/tests/reference/Geom/mirror_directions_x-y-z+reflect_True.vtr create mode 100644 python/tests/reference/Geom/mirror_directions_y-z+reflect_False.vtr create mode 100644 python/tests/reference/Geom/mirror_directions_z-x-y+reflect_False.vtr delete mode 100644 python/tests/reference/Geom/rotate_Eulers=0.0-32.0-240.0.geom delete mode 100644 python/tests/reference/Geom/rotate_Eulers=32.0-68.0-21.0.geom create mode 100644 python/tests/reference/Geom/rotate_Eulers_0.0-32.0-240.0.vtr create mode 100644 python/tests/reference/Geom/rotate_Eulers_32.0-68.0-21.0.vtr delete mode 100644 python/tests/reference/Geom/scale_grid=10-10-10.geom delete mode 100644 python/tests/reference/Geom/scale_grid=10-11-10.geom delete mode 100644 python/tests/reference/Geom/scale_grid=10-13-10.geom delete mode 100644 python/tests/reference/Geom/scale_grid=10-20-2.geom delete mode 100644 python/tests/reference/Geom/scale_grid=5-4-20.geom delete mode 100644 python/tests/reference/Geom/scale_grid=8-10-12.geom create mode 100644 python/tests/reference/Geom/scale_grid_10-10-10.vtr create mode 100644 python/tests/reference/Geom/scale_grid_10-11-10.vtr create mode 100644 python/tests/reference/Geom/scale_grid_10-13-10.vtr create mode 100644 python/tests/reference/Geom/scale_grid_10-20-2.vtr create mode 100644 python/tests/reference/Geom/scale_grid_5-4-20.vtr create mode 100644 python/tests/reference/Geom/scale_grid_8-10-12.vtr diff --git a/processing/pre/geom_fromDREAM3D.py b/processing/pre/geom_fromDREAM3D.py index daf7d2ab9..639c1d894 100755 --- a/processing/pre/geom_fromDREAM3D.py +++ b/processing/pre/geom_fromDREAM3D.py @@ -148,4 +148,4 @@ for name in filenames: geom = damask.Geom(microstructure,size,origin,comments=header) damask.util.croak(geom) - geom.save_ASCII(os.path.splitext(name)[0]+'.geom',compress=False) + geom.save_ASCII(os.path.splitext(name)[0]+'.geom') diff --git a/processing/pre/geom_fromMinimalSurface.py b/processing/pre/geom_fromMinimalSurface.py index 2b40940b7..eb0cdcc3b 100755 --- a/processing/pre/geom_fromMinimalSurface.py +++ b/processing/pre/geom_fromMinimalSurface.py @@ -66,4 +66,4 @@ geom=damask.Geom.from_minimal_surface(options.grid,options.size,options.type,opt options.periods,options.microstructure) damask.util.croak(geom) -geom.save_ASCII(sys.stdout if name is None else name,compress=False) +geom.save_ASCII(sys.stdout if name is None else name) diff --git a/processing/pre/geom_fromOsteonGeometry.py b/processing/pre/geom_fromOsteonGeometry.py index 2f9de712d..0b6d48001 100755 --- a/processing/pre/geom_fromOsteonGeometry.py +++ b/processing/pre/geom_fromOsteonGeometry.py @@ -138,4 +138,4 @@ geom = damask.Geom(microstructure.reshape(grid), comments=header) damask.util.croak(geom) -geom.save_ASCII(sys.stdout if name is None else name,compress=False) +geom.save_ASCII(sys.stdout if name is None else name) diff --git a/processing/pre/geom_fromTable.py b/processing/pre/geom_fromTable.py index a0de6a4c5..ed172b9fa 100755 --- a/processing/pre/geom_fromTable.py +++ b/processing/pre/geom_fromTable.py @@ -100,4 +100,4 @@ for name in filenames: comments=header) damask.util.croak(geom) - geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom',compress=False) + geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom') diff --git a/processing/pre/geom_grainGrowth.py b/processing/pre/geom_grainGrowth.py index b5793f703..249cb07f5 100755 --- a/processing/pre/geom_grainGrowth.py +++ b/processing/pre/geom_grainGrowth.py @@ -174,4 +174,4 @@ for name in filenames: origin = geom.origin, comments = geom.comments + [scriptID + ' ' + ' '.join(sys.argv[1:])], )\ - .save_ASCII(sys.stdout if name is None else name,compress=False) + .save_ASCII(sys.stdout if name is None else name) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 2ccbb1988..62493763e 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -399,13 +399,12 @@ class Geom: def save(self,fname,compress=True): """ - Generates vtk rectilinear grid. + Generate vtk rectilinear grid. Parameters ---------- - fname : str, optional - Filename to write. If no file is given, a string is returned. - Valid extension is .vtr, it will be appended if not given. + fname : str or or pathlib.Path + Filename to write. Valid extension is .vtr, it will be appended if not given. compress : bool, optional Compress with zlib algorithm. Defaults to True. @@ -417,9 +416,9 @@ class Geom: v.save(fname if str(fname).endswith('.vtr') else str(fname)+'.vtr',parallel=False,compress=compress) - def save_ASCII(self,fname,compress=None): + def save_ASCII(self,fname): """ - Writes a geom file. + Write a geom file. Parameters ---------- @@ -436,57 +435,11 @@ class Geom: 'homogenization 1', ] - grid = self.grid - - if compress is None: - plain = grid.prod()/self.N_materials < 250 - else: - plain = not compress - - if plain: - format_string = '%g' if self.material.dtype in np.sctypes['float'] else \ - '%{}i'.format(1+int(np.floor(np.log10(np.nanmax(self.material))))) - np.savetxt(fname, - self.material.reshape([grid[0],np.prod(grid[1:])],order='F').T, - header='\n'.join(header), fmt=format_string, comments='') - else: - try: - f = open(fname,'w') - except TypeError: - f = fname - - compressType = None - former = start = -1 - reps = 0 - for current in self.material.flatten('F'): - if abs(current - former) == 1 and (start - current) == reps*(former - current): - compressType = 'to' - reps += 1 - elif current == former and start == former: - compressType = 'of' - reps += 1 - else: - if compressType is None: - f.write('\n'.join(header)+'\n') - elif compressType == '.': - f.write(f'{former}\n') - elif compressType == 'to': - f.write(f'{start} to {former}\n') - elif compressType == 'of': - f.write(f'{reps} of {former}\n') - - compressType = '.' - start = current - reps = 1 - - former = current - - if compressType == '.': - f.write(f'{former}\n') - elif compressType == 'to': - f.write(f'{start} to {former}\n') - elif compressType == 'of': - f.write(f'{reps} of {former}\n') + format_string = '%g' if self.material.dtype in np.sctypes['float'] else \ + '%{}i'.format(1+int(np.floor(np.log10(np.nanmax(self.material))))) + np.savetxt(fname, + self.material.reshape([self.grid[0],np.prod(self.grid[1:])],order='F').T, + header='\n'.join(header), fmt=format_string, comments='') def show(self): @@ -498,7 +451,7 @@ class Geom: def add_primitive(self,dimension,center,exponent, fill=None,R=Rotation(),inverse=False,periodic=True): """ - Inserts a primitive geometric object at a given position. + Insert a primitive geometric object at a given position. Parameters ---------- diff --git a/python/tests/reference/Geom/clean_2_1+2+3_False.vtr b/python/tests/reference/Geom/clean_2_1+2+3_False.vtr index 955c58a2a..628cb9971 100644 --- a/python/tests/reference/Geom/clean_2_1+2+3_False.vtr +++ b/python/tests/reference/Geom/clean_2_1+2+3_False.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATgAAAA==eF4FwUEKgCAUBNCO4rIWX8ZJsbxA5/iUFqQVBJ2/9zZt+p52yXeza816mW+0sBCtz6HCGGSPE1wJjMX0BCGYhTQuJLrkKfDA0P0d3xK6 + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_2_1+2+3_True.vtr b/python/tests/reference/Geom/clean_2_1+2+3_True.vtr index eafbde5a4..61a63f549 100644 --- a/python/tests/reference/Geom/clean_2_1+2+3_True.vtr +++ b/python/tests/reference/Geom/clean_2_1+2+3_True.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMoM9Yz0DPQTcwpyEjUNTI31U03tzAwTDM1Mk9T0DAyMDLQNbDUNTJSMDS1MjK0MgFyTQwMNBkAHc8SuA== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_2_1_False.vtr b/python/tests/reference/Geom/clean_2_1_False.vtr index c04d48be6..3f7c3fe08 100644 --- a/python/tests/reference/Geom/clean_2_1_False.vtr +++ b/python/tests/reference/Geom/clean_2_1_False.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF4FwdEJgDAMBUBH6ad+JLzElmoXcI6grYKtCoLze7dZs/fkJd+N15rtct/IYJDV5zDSGGiPE6QEjcX1CgVhJlUnIakkLwQPDN0PHdcSuQ== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_2_1_True.vtr b/python/tests/reference/Geom/clean_2_1_True.vtr index 19c277c7f..a75b806cd 100644 --- a/python/tests/reference/Geom/clean_2_1_True.vtr +++ b/python/tests/reference/Geom/clean_2_1_True.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF4FwVEKgCAQBcCO4md97PJcE9MLdI6ltCCtIOj8zuza9Lt4zU/jrWa9ze8YDNL6nkoSPB1hgS1eQjGjQECIJGKsT2KTi4QZmIYOHg4SwA== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_2_None_False.vtr b/python/tests/reference/Geom/clean_2_None_False.vtr index 58e8cb8fb..c09198927 100644 --- a/python/tests/reference/Geom/clean_2_None_False.vtr +++ b/python/tests/reference/Geom/clean_2_None_False.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF4FwdEJgDAMBUBH6ad+JLzElmoXcI6grYKtCoLze7dZs/fkJd+N15rtct/IYJDV5zDSGGiPE6QEjcX1CgVhJlUnIakkLwQPDN0PHdcSuQ== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_2_None_True.vtr b/python/tests/reference/Geom/clean_2_None_True.vtr index 37bb3b08b..0cd2e30e4 100644 --- a/python/tests/reference/Geom/clean_2_None_True.vtr +++ b/python/tests/reference/Geom/clean_2_None_True.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF4FwVEKgCAQBcCO4md97PJcE9MLdI6ltCCtIOj8zuza9Lt4zU/jrWa9ze8YDNL6nkoSPB1hgS1eQjGjQECIJGKsT2KTi4QZmIYOHg4SwA== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_3_1+2+3_False.vtr b/python/tests/reference/Geom/clean_3_1+2+3_False.vtr index 955c58a2a..628cb9971 100644 --- a/python/tests/reference/Geom/clean_3_1+2+3_False.vtr +++ b/python/tests/reference/Geom/clean_3_1+2+3_False.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATgAAAA==eF4FwUEKgCAUBNCO4rIWX8ZJsbxA5/iUFqQVBJ2/9zZt+p52yXeza816mW+0sBCtz6HCGGSPE1wJjMX0BCGYhTQuJLrkKfDA0P0d3xK6 + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_3_1+2+3_True.vtr b/python/tests/reference/Geom/clean_3_1+2+3_True.vtr index eafbde5a4..61a63f549 100644 --- a/python/tests/reference/Geom/clean_3_1+2+3_True.vtr +++ b/python/tests/reference/Geom/clean_3_1+2+3_True.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMoM9Yz0DPQTcwpyEjUNTI31U03tzAwTDM1Mk9T0DAyMDLQNbDUNTJSMDS1MjK0MgFyTQwMNBkAHc8SuA== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_3_1_False.vtr b/python/tests/reference/Geom/clean_3_1_False.vtr index c04d48be6..3f7c3fe08 100644 --- a/python/tests/reference/Geom/clean_3_1_False.vtr +++ b/python/tests/reference/Geom/clean_3_1_False.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF4FwdEJgDAMBUBH6ad+JLzElmoXcI6grYKtCoLze7dZs/fkJd+N15rtct/IYJDV5zDSGGiPE6QEjcX1CgVhJlUnIakkLwQPDN0PHdcSuQ== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_3_1_True.vtr b/python/tests/reference/Geom/clean_3_1_True.vtr index 2fb4afd9c..a75b806cd 100644 --- a/python/tests/reference/Geom/clean_3_1_True.vtr +++ b/python/tests/reference/Geom/clean_3_1_True.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMoM9Yz0DPQTcwpyEjUNTI31U03tzAwTDM1Mk9T0DAyMDLQNbDUNTJSMDS1MjK0MgFyTQwMNBkAHc8SuA== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_3_None_False.vtr b/python/tests/reference/Geom/clean_3_None_False.vtr index d63601aa6..79f9245c8 100644 --- a/python/tests/reference/Geom/clean_3_None_False.vtr +++ b/python/tests/reference/Geom/clean_3_None_False.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF4FwdEJgDAMBUBH6ad+JLzElmoXcI6grYKtCoLze7dZs/fkJd+N15rtct/IYJDV5zDSGGiPE6QEjcX1CgVhJlUnIakkLwQPDN0PHdcSuQ== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_3_None_True.vtr b/python/tests/reference/Geom/clean_3_None_True.vtr index ffdb40218..e65f727a8 100644 --- a/python/tests/reference/Geom/clean_3_None_True.vtr +++ b/python/tests/reference/Geom/clean_3_None_True.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF4FwVEKgCAQBcCO4md97PJcE9MLdI6ltCCtIOj8zuza9Lt4zU/jrWa9ze8YDNL6nkoSPB1hgS1eQjGjQECIJGKsT2KTi4QZmIYOHg4SwA== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_4_1+2+3_False.vtr b/python/tests/reference/Geom/clean_4_1+2+3_False.vtr index dfb12dae0..d6b0ea5a7 100644 --- a/python/tests/reference/Geom/clean_4_1+2+3_False.vtr +++ b/python/tests/reference/Geom/clean_4_1+2+3_False.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATgAAAA==eF4FwUEKgCAUBNCO4rIWX8ZJsbxA5/iUFqQVBJ2/9zZt+p52yXeza816mW+0sBCtz6HCGGSPE1wJjMX0BCGYhTQuJLrkKfDA0P0d3xK6 + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_4_1+2+3_True.vtr b/python/tests/reference/Geom/clean_4_1+2+3_True.vtr index 5c228bb32..e9fec98a1 100644 --- a/python/tests/reference/Geom/clean_4_1+2+3_True.vtr +++ b/python/tests/reference/Geom/clean_4_1+2+3_True.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMoM9Yz0DPQTcwpyEjUNTI31U03tzAwTDM1Mk9T0DAyMDLQNbDUNTJSMDS1MjK0MgFyTQwMNBkAHc8SuA== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_4_1_False.vtr b/python/tests/reference/Geom/clean_4_1_False.vtr index 1d4fe29b9..3f7c3fe08 100644 --- a/python/tests/reference/Geom/clean_4_1_False.vtr +++ b/python/tests/reference/Geom/clean_4_1_False.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATgAAAA==eF4FwUEKgCAUBNCO4rIWX8ZJsbxA5/iUFqQVBJ2/9zZt+p52yXeza816mW+0sBCtz6HCGGSPE1wJjMX0BCGYhTQuJLrkKfDA0P0d3xK6 + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_4_1_True.vtr b/python/tests/reference/Geom/clean_4_1_True.vtr index 8e8b5b8ef..6eb173237 100644 --- a/python/tests/reference/Geom/clean_4_1_True.vtr +++ b/python/tests/reference/Geom/clean_4_1_True.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMoM9Yz0DPQTcwpyEjUNTI31U03tzAwTDM1Mk9T0DAyMDLQNbDUNTJSMDS1MjK0MgFyTQwMNBkAHc8SuA== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_4_None_False.vtr b/python/tests/reference/Geom/clean_4_None_False.vtr index 91863290c..e57cee87e 100644 --- a/python/tests/reference/Geom/clean_4_None_False.vtr +++ b/python/tests/reference/Geom/clean_4_None_False.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF4FwdEJgDAMBUBH6ad+JLzElmoXcI6grYKtCoLze7dZs/fkJd+N15rtct/IYJDV5zDSGGiPE6QEjcX1CgVhJlUnIakkLwQPDN0PHdcSuQ== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/clean_4_None_True.vtr b/python/tests/reference/Geom/clean_4_None_True.vtr index 8e3375229..c23c66054 100644 --- a/python/tests/reference/Geom/clean_4_None_True.vtr +++ b/python/tests/reference/Geom/clean_4_None_True.vtr @@ -3,7 +3,7 @@ - AQAAAACAAABJAAAATwAAAA==eF4FwVEKgCAQBcCO4md97PJcE9MLdI6ltCCtIOj8zuza9Lt4zU/jrWa9ze8YDNL6nkoSPB1hgS1eQjGjQECIJGKsT2KTi4QZmIYOHg4SwA== + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9VLzklNzFMos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFT8EKY= diff --git a/python/tests/reference/Geom/flip_directions=x-y-z.geom b/python/tests/reference/Geom/flip_directions=x-y-z.geom deleted file mode 100644 index 99e55ad7f..000000000 --- a/python/tests/reference/Geom/flip_directions=x-y-z.geom +++ /dev/null @@ -1,25 +0,0 @@ -4 header -grid a 8 b 5 c 4 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 1 -40 39 38 37 36 35 34 33 -32 31 30 29 28 27 26 25 -24 23 22 21 20 19 18 17 -16 15 14 13 12 11 10 9 - 8 7 6 5 4 3 2 1 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 -41 40 39 38 37 36 35 34 -33 32 31 30 29 28 27 26 -25 24 23 22 21 20 19 18 -17 16 15 14 13 12 11 10 - 9 8 7 6 5 4 3 2 - 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 diff --git a/python/tests/reference/Geom/flip_directions=x.geom b/python/tests/reference/Geom/flip_directions=x.geom deleted file mode 100644 index 9d4ee74a9..000000000 --- a/python/tests/reference/Geom/flip_directions=x.geom +++ /dev/null @@ -1,25 +0,0 @@ -4 header -grid a 8 b 5 c 4 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 1 - 9 8 7 6 5 4 3 2 -17 16 15 14 13 12 11 10 -25 24 23 22 21 20 19 18 -33 32 31 30 29 28 27 26 -41 40 39 38 37 36 35 34 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 8 7 6 5 4 3 2 1 -16 15 14 13 12 11 10 9 -24 23 22 21 20 19 18 17 -32 31 30 29 28 27 26 25 -40 39 38 37 36 35 34 33 diff --git a/python/tests/reference/Geom/flip_directions=y-z.geom b/python/tests/reference/Geom/flip_directions=y-z.geom deleted file mode 100644 index ecd22f902..000000000 --- a/python/tests/reference/Geom/flip_directions=y-z.geom +++ /dev/null @@ -1,25 +0,0 @@ -4 header -grid a 8 b 5 c 4 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 1 -33 34 35 36 37 38 39 40 -25 26 27 28 29 30 31 32 -17 18 19 20 21 22 23 24 - 9 10 11 12 13 14 15 16 - 1 2 3 4 5 6 7 8 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 -34 35 36 37 38 39 40 41 -26 27 28 29 30 31 32 33 -18 19 20 21 22 23 24 25 -10 11 12 13 14 15 16 17 - 2 3 4 5 6 7 8 9 - 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 diff --git a/python/tests/reference/Geom/flip_directions=z-x-y.geom b/python/tests/reference/Geom/flip_directions=z-x-y.geom deleted file mode 100644 index 99e55ad7f..000000000 --- a/python/tests/reference/Geom/flip_directions=z-x-y.geom +++ /dev/null @@ -1,25 +0,0 @@ -4 header -grid a 8 b 5 c 4 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 1 -40 39 38 37 36 35 34 33 -32 31 30 29 28 27 26 25 -24 23 22 21 20 19 18 17 -16 15 14 13 12 11 10 9 - 8 7 6 5 4 3 2 1 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 -41 40 39 38 37 36 35 34 -33 32 31 30 29 28 27 26 -25 24 23 22 21 20 19 18 -17 16 15 14 13 12 11 10 - 9 8 7 6 5 4 3 2 - 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 diff --git a/python/tests/reference/Geom/flip_directions_x-y-z.vtr b/python/tests/reference/Geom/flip_directions_x-y-z.vtr new file mode 100644 index 000000000..fd8b3852b --- /dev/null +++ b/python/tests/reference/Geom/flip_directions_x-y-z.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA9AAAAQAAAAA==eF5LScxNLM7Wc0/Nz9VLy8ksUCiztNQDI11LINAtqCxJLS5R0DAyMLTUNTTUNTBSMDS0MrWwMjDQZAAAP04QTg== + + + + + + + + AQAAAACAAAAABQAAZAAAAA==eF7t0rcWglAAREGzGEFEzKCY8P9/0IKp7KB+28zZ/ta9Zh+++eKTD1a888aSBa+88MwTjzxwz5w7Ztwy5YYJY6654pILzjljxCknHHPEIQfs//1gN7+sGTps1rbDYDd/0ooHCQ== + + + + + AQAAAACAAABIAAAAOgAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2D3IeNxx9YfV6DiN+22x9tFGsbchco/sAMA/fQl6g== + + + AQAAAACAAAAwAAAAKwAAAA==eF5jYICAvrdbF3w/tsEOQh+wC30iUFisdRLKv2D3MeNxx9YfV+wAD5wZgw== + + + AQAAAACAAAAoAAAAIwAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2AHAFVBE/w= + + + + + diff --git a/python/tests/reference/Geom/flip_directions_x.vtr b/python/tests/reference/Geom/flip_directions_x.vtr new file mode 100644 index 000000000..4c75d796c --- /dev/null +++ b/python/tests/reference/Geom/flip_directions_x.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA9AAAAQAAAAA==eF5LScxNLM7Wc0/Nz9VLy8ksUCiztNQDI11LINAtqCxJLS5R0DAyMLTUNTTUNTBSMDS0MrWwMjDQZAAAP04QTg== + + + + + + + + AQAAAACAAAAABQAAcgAAAA==eF7t0sUBwlAUAEESXIO7BIf+G+TAvAL4XLOXaWCz2resMskuO2yzxSYbrDPnhGMWHHHIAfvsccM1V1xywTlnnPLMkiceeeCeO2755otPPnjnjVdemFf+Zep38W/qd/F96nfxfclfv4vvU7+L7z+z9AcJ + + + + + AQAAAACAAABIAAAAOgAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2D3IeNxx9YfV6DiN+22x9tFGsbchco/sAMA/fQl6g== + + + AQAAAACAAAAwAAAAKwAAAA==eF5jYICAvrdbF3w/tsEOQh+wC30iUFisdRLKv2D3MeNxx9YfV+wAD5wZgw== + + + AQAAAACAAAAoAAAAIwAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2AHAFVBE/w= + + + + + diff --git a/python/tests/reference/Geom/flip_directions_y-z.vtr b/python/tests/reference/Geom/flip_directions_y-z.vtr new file mode 100644 index 000000000..ce17a72fa --- /dev/null +++ b/python/tests/reference/Geom/flip_directions_y-z.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA9AAAAQAAAAA==eF5LScxNLM7Wc0/Nz9VLy8ksUCiztNQDI11LINAtqCxJLS5R0DAyMLTUNTTUNTBSMDS0MrWwMjDQZAAAP04QTg== + + + + + + + + AQAAAACAAAAABQAAdAAAAA==eF7t0kcWgkAAREHBgFkxZwXz/S/owpoDMGzpTe37/aL1X8k7H3zyxTc/3PPAI08888Irb8y54JIrrrnhljsOOOSIY0445YxzJkzZZodd9pixz7SxliWrdvdlbHcFY7sL3cd2F7oPP1TtLnSfNNbyB7hKBwk= + + + + + AQAAAACAAABIAAAAOgAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2D3IeNxx9YfV6DiN+22x9tFGsbchco/sAMA/fQl6g== + + + AQAAAACAAAAwAAAAKwAAAA==eF5jYICAvrdbF3w/tsEOQh+wC30iUFisdRLKv2D3MeNxx9YfV+wAD5wZgw== + + + AQAAAACAAAAoAAAAIwAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2AHAFVBE/w= + + + + + diff --git a/python/tests/reference/Geom/flip_directions_z-x-y.vtr b/python/tests/reference/Geom/flip_directions_z-x-y.vtr new file mode 100644 index 000000000..fd8b3852b --- /dev/null +++ b/python/tests/reference/Geom/flip_directions_z-x-y.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA9AAAAQAAAAA==eF5LScxNLM7Wc0/Nz9VLy8ksUCiztNQDI11LINAtqCxJLS5R0DAyMLTUNTTUNTBSMDS0MrWwMjDQZAAAP04QTg== + + + + + + + + AQAAAACAAAAABQAAZAAAAA==eF7t0rcWglAAREGzGEFEzKCY8P9/0IKp7KB+28zZ/ta9Zh+++eKTD1a888aSBa+88MwTjzxwz5w7Ztwy5YYJY6654pILzjljxCknHHPEIQfs//1gN7+sGTps1rbDYDd/0ooHCQ== + + + + + AQAAAACAAABIAAAAOgAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2D3IeNxx9YfV6DiN+22x9tFGsbchco/sAMA/fQl6g== + + + AQAAAACAAAAwAAAAKwAAAA==eF5jYICAvrdbF3w/tsEOQh+wC30iUFisdRLKv2D3MeNxx9YfV+wAD5wZgw== + + + AQAAAACAAAAoAAAAIwAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2AHAFVBE/w= + + + + + diff --git a/python/tests/reference/Geom/mirror_directions=x-y-z_reflect=True.geom b/python/tests/reference/Geom/mirror_directions=x-y-z_reflect=True.geom deleted file mode 100644 index 851d4fb1c..000000000 --- a/python/tests/reference/Geom/mirror_directions=x-y-z_reflect=True.geom +++ /dev/null @@ -1,85 +0,0 @@ -4 header -grid a 16 b 10 c 8 -size x 1.6e-05 y 1e-05 z 8e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 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 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 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 1 - 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 -10 11 12 13 14 15 16 17 17 16 15 14 13 12 11 10 -18 19 20 21 22 23 24 25 25 24 23 22 21 20 19 18 -26 27 28 29 30 31 32 33 33 32 31 30 29 28 27 26 -34 35 36 37 38 39 40 41 41 40 39 38 37 36 35 34 -34 35 36 37 38 39 40 41 41 40 39 38 37 36 35 34 -26 27 28 29 30 31 32 33 33 32 31 30 29 28 27 26 -18 19 20 21 22 23 24 25 25 24 23 22 21 20 19 18 -10 11 12 13 14 15 16 17 17 16 15 14 13 12 11 10 - 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 - 9 10 11 12 13 14 15 16 16 15 14 13 12 11 10 9 -17 18 19 20 21 22 23 24 24 23 22 21 20 19 18 17 -25 26 27 28 29 30 31 32 32 31 30 29 28 27 26 25 -33 34 35 36 37 38 39 40 40 39 38 37 36 35 34 33 -33 34 35 36 37 38 39 40 40 39 38 37 36 35 34 33 -25 26 27 28 29 30 31 32 32 31 30 29 28 27 26 25 -17 18 19 20 21 22 23 24 24 23 22 21 20 19 18 17 - 9 10 11 12 13 14 15 16 16 15 14 13 12 11 10 9 - 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 - 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 - 9 10 11 12 13 14 15 16 16 15 14 13 12 11 10 9 -17 18 19 20 21 22 23 24 24 23 22 21 20 19 18 17 -25 26 27 28 29 30 31 32 32 31 30 29 28 27 26 25 -33 34 35 36 37 38 39 40 40 39 38 37 36 35 34 33 -33 34 35 36 37 38 39 40 40 39 38 37 36 35 34 33 -25 26 27 28 29 30 31 32 32 31 30 29 28 27 26 25 -17 18 19 20 21 22 23 24 24 23 22 21 20 19 18 17 - 9 10 11 12 13 14 15 16 16 15 14 13 12 11 10 9 - 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 -10 11 12 13 14 15 16 17 17 16 15 14 13 12 11 10 -18 19 20 21 22 23 24 25 25 24 23 22 21 20 19 18 -26 27 28 29 30 31 32 33 33 32 31 30 29 28 27 26 -34 35 36 37 38 39 40 41 41 40 39 38 37 36 35 34 -34 35 36 37 38 39 40 41 41 40 39 38 37 36 35 34 -26 27 28 29 30 31 32 33 33 32 31 30 29 28 27 26 -18 19 20 21 22 23 24 25 25 24 23 22 21 20 19 18 -10 11 12 13 14 15 16 17 17 16 15 14 13 12 11 10 - 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 - 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 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 - 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 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 diff --git a/python/tests/reference/Geom/mirror_directions=x_reflect=False.geom b/python/tests/reference/Geom/mirror_directions=x_reflect=False.geom deleted file mode 100644 index 3a6558be1..000000000 --- a/python/tests/reference/Geom/mirror_directions=x_reflect=False.geom +++ /dev/null @@ -1,25 +0,0 @@ -4 header -grid a 14 b 5 c 4 -size x 1.4e-05 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 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 - 2 3 4 5 6 7 8 9 8 7 6 5 4 3 -10 11 12 13 14 15 16 17 16 15 14 13 12 11 -18 19 20 21 22 23 24 25 24 23 22 21 20 19 -26 27 28 29 30 31 32 33 32 31 30 29 28 27 -34 35 36 37 38 39 40 41 40 39 38 37 36 35 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 1 2 3 4 5 6 7 8 7 6 5 4 3 2 - 9 10 11 12 13 14 15 16 15 14 13 12 11 10 -17 18 19 20 21 22 23 24 23 22 21 20 19 18 -25 26 27 28 29 30 31 32 31 30 29 28 27 26 -33 34 35 36 37 38 39 40 39 38 37 36 35 34 diff --git a/python/tests/reference/Geom/mirror_directions=y-z_reflect=False.geom b/python/tests/reference/Geom/mirror_directions=y-z_reflect=False.geom deleted file mode 100644 index 6a451ba7a..000000000 --- a/python/tests/reference/Geom/mirror_directions=y-z_reflect=False.geom +++ /dev/null @@ -1,53 +0,0 @@ -4 header -grid a 8 b 8 c 6 -size x 8e-06 y 8.000000000000001e-06 z 6e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 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 - 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 -26 27 28 29 30 31 32 33 -18 19 20 21 22 23 24 25 -10 11 12 13 14 15 16 17 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 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 -25 26 27 28 29 30 31 32 -17 18 19 20 21 22 23 24 - 9 10 11 12 13 14 15 16 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 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 -26 27 28 29 30 31 32 33 -18 19 20 21 22 23 24 25 -10 11 12 13 14 15 16 17 diff --git a/python/tests/reference/Geom/mirror_directions=z-x-y_reflect=False.geom b/python/tests/reference/Geom/mirror_directions=z-x-y_reflect=False.geom deleted file mode 100644 index 57d110425..000000000 --- a/python/tests/reference/Geom/mirror_directions=z-x-y_reflect=False.geom +++ /dev/null @@ -1,53 +0,0 @@ -4 header -grid a 14 b 8 c 6 -size x 1.4e-05 y 8.000000000000001e-06 z 6e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 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 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 - 2 3 4 5 6 7 8 9 8 7 6 5 4 3 -10 11 12 13 14 15 16 17 16 15 14 13 12 11 -18 19 20 21 22 23 24 25 24 23 22 21 20 19 -26 27 28 29 30 31 32 33 32 31 30 29 28 27 -34 35 36 37 38 39 40 41 40 39 38 37 36 35 -26 27 28 29 30 31 32 33 32 31 30 29 28 27 -18 19 20 21 22 23 24 25 24 23 22 21 20 19 -10 11 12 13 14 15 16 17 16 15 14 13 12 11 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 1 2 3 4 5 6 7 8 7 6 5 4 3 2 - 9 10 11 12 13 14 15 16 15 14 13 12 11 10 -17 18 19 20 21 22 23 24 23 22 21 20 19 18 -25 26 27 28 29 30 31 32 31 30 29 28 27 26 -33 34 35 36 37 38 39 40 39 38 37 36 35 34 -25 26 27 28 29 30 31 32 31 30 29 28 27 26 -17 18 19 20 21 22 23 24 23 22 21 20 19 18 - 9 10 11 12 13 14 15 16 15 14 13 12 11 10 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2 3 4 5 6 7 8 9 8 7 6 5 4 3 -10 11 12 13 14 15 16 17 16 15 14 13 12 11 -18 19 20 21 22 23 24 25 24 23 22 21 20 19 -26 27 28 29 30 31 32 33 32 31 30 29 28 27 -34 35 36 37 38 39 40 41 40 39 38 37 36 35 -26 27 28 29 30 31 32 33 32 31 30 29 28 27 -18 19 20 21 22 23 24 25 24 23 22 21 20 19 -10 11 12 13 14 15 16 17 16 15 14 13 12 11 diff --git a/python/tests/reference/Geom/mirror_directions_x+reflect_False.vtr b/python/tests/reference/Geom/mirror_directions_x+reflect_False.vtr new file mode 100644 index 000000000..fd1752a79 --- /dev/null +++ b/python/tests/reference/Geom/mirror_directions_x+reflect_False.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA/AAAAQgAAAA==eF5LScxNLM7Wc0/Nz9XLzSwqyi9SKLO01AMjXUsg0C2oLEktLlHQMDIwtNQ1NNQ1MFIwNLQytbAyMNBkAAB3FRE+ + + + + + + + + AQAAAACAAADACAAAtAAAAA==eF7t1DcSwzAQBEGR8t57T/n/f1CBZhJEIJUCSRfq7jbcrPZ7WTIZYY51bGATW9jGDnaDv3P3vTfP/B72cYBDHOEYJzgN/s7d994882c4xwUucYVr3OA2+Dt333vzzN/hHg94xBOe8YLX4O/cfe/NM7/AG97xgU984Rs/wd+5+96bZ36eTJbw356J7RXz7aWqPRPbK+bbS1V7JrZXzLeXqvZMbK+Yby8VWLZnYnvF/C+L2gxP + + + + + AQAAAACAAAB4AAAAXQAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2D3IeNxx9YfV6DiN+22x9tFGsbchco/sLNffWbKtfuPoOqe2C1S+1UzRfA5VP1LO9ZF6qlBzq+h+t7aAQC3wj52 + + + AQAAAACAAAAwAAAAKwAAAA==eF5jYICAvrdbF3w/tsEOQh+wC30iUFisdRLKv2D3KeNxx9YfV+wAD6QZhA== + + + AQAAAACAAAAoAAAAIwAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2AHAFVBE/w= + + + + + diff --git a/python/tests/reference/Geom/mirror_directions_x-y-z+reflect_True.vtr b/python/tests/reference/Geom/mirror_directions_x-y-z+reflect_True.vtr new file mode 100644 index 000000000..ea1d1acdb --- /dev/null +++ b/python/tests/reference/Geom/mirror_directions_x-y-z+reflect_True.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA/AAAAQgAAAA==eF5LScxNLM7Wc0/Nz9XLzSwqyi9SKLO01AMjXUsg0C2oLEktLlHQMDIwtNQ1NNQ1MFIwNLQytbAyMNBkAAB3FRE+ + + + + + + + + AQAAAACAAAAAKAAAQwEAAA==eF7t2cdOBDEQRVGGnHNOA03+/x9kwb0bb1Cblp5EF5sjWXaVZNnlomex8vO3KMuynJmruIbruIGbuIXbuNPouPNcZxzjmse8u7iH+3iAh3iEx3jS6LjzXGcc45rHvKd4hud4gZd4hdd40+i481xnHOOax7y3eIf3+ICPuMQnfG503HmuM45xzWPeAV/wFd/wHT/wE78aHXee64xjXPMMjan86f1Pn7/0/UvXn7Isy7n61z6wt+6a1/rd+w71vjvm9f3qfYd7313z+n739iE6tu8wr/3LgGP7sN6+q+2fUvnT+58+f+n7l64/6fzp/U+fv/T9S9efdP70/qfPX/r+pevPb/1hWZblf3ds3Z3q+2PvuzPV99fed3eq78+9fcdU398HHNt3TfX7Qzp/ev/T5y99/9L1p/0/uCzLci5+A0r6OEE= + + + + + AQAAAACAAACIAAAAaAAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2D3IeNxx9YfV6DiN+22x9tFGsbchco/sLNffWbKtfuPoOqe2C1S+1UzRfA5VP1LO9ZF6qlBzq+h+t7aZciG+gqUvofq/2AHANv4Rwk= + + + AQAAAACAAABYAAAARgAAAA==eF5jYICAvrdbF3w/tsEOQh+wC30iUFisdRLKv2D3KeNxx9YfV6DiN+12xNtFGsbchco/sHNYfWbKtfuPoOqe2AEAuAUwpw== + + + AQAAAACAAABIAAAAOgAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2D3IeNxx9YfV6DiN+22x9tFGsbchco/sAMA/fQl6g== + + + + + diff --git a/python/tests/reference/Geom/mirror_directions_y-z+reflect_False.vtr b/python/tests/reference/Geom/mirror_directions_y-z+reflect_False.vtr new file mode 100644 index 000000000..e8bc24ce0 --- /dev/null +++ b/python/tests/reference/Geom/mirror_directions_y-z+reflect_False.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA/AAAAQgAAAA==eF5LScxNLM7Wc0/Nz9XLzSwqyi9SKLO01AMjXUsg0C2oLEktLlHQMDIwtNQ1NNQ1MFIwNLQytbAyMNBkAAB3FRE+ + + + + + + + + AQAAAACAAAAADAAAhAAAAA==eF7t1TcSAjEMBVB2yTnnvOT7X5BiXw+MO+zfvFIjjSVnlTJZMkpzVlljnQ022WKbHXbZY58DDjnimBNOOeOcCy654pobbrnjngceeeKZBS+88sY7H3zyxdD6of2Hzj9PRm26A2UK/noHQuuH9h86/0/vIxmHae/LfLv3//L/vwHV+xEh + + + + + AQAAAACAAABIAAAAOgAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2D3IeNxx9YfV6DiN+22x9tFGsbchco/sAMA/fQl6g== + + + AQAAAACAAABIAAAAOgAAAA==eF5jYICAvrdbF3w/tsEOQh+wC30iUFisdRLKv2D3KeNxx9YfV6DiN+12xNtFGsbchco/sAMA/zQl8w== + + + AQAAAACAAAA4AAAALgAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2D3IeNxx9YfV6DiN+0A6r8c6w== + + + + + diff --git a/python/tests/reference/Geom/mirror_directions_z-x-y+reflect_False.vtr b/python/tests/reference/Geom/mirror_directions_z-x-y+reflect_False.vtr new file mode 100644 index 000000000..b78c88e90 --- /dev/null +++ b/python/tests/reference/Geom/mirror_directions_z-x-y+reflect_False.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA/AAAAQgAAAA==eF5LScxNLM7Wc0/Nz9XLzSwqyi9SKLO01AMjXUsg0C2oLEktLlHQMDIwtNQ1NNQ1MFIwNLQytbAyMNBkAAB3FRE+ + + + + + + + + AQAAAACAAAAAFQAA8QAAAA==eF7t18lSAjEURmFBFMEBUBTBgRn1/V/QRZ+zyYbQFtfNzearVJK/KpV0bnXnommdNE3D7eIl9vAKr7GPNzgo+o473/XmmT/EW7zDe3zAEY5xUvQdd77rzTP/EZ9wis/4gjN8xXnRd9z5rjfP/AW+4Tt+4CcucYXrou+4811vnvkb3OIO93jAL/zGn6LvuPNdb5750fuLPr/o+9lN0/Tf/GsdrK175ls3274zte+K+b5Lbd/R2nfTfN/dtnWiti6Yb13Z4Kl1sLbumR+9v+jzi76fx77PNE3P76l1L///mpb/f0071/6izy/6fv4Cw9od+Q== + + + + + AQAAAACAAAB4AAAAXQAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2D3IeNxx9YfV6DiN+22x9tFGsbchco/sLNffWbKtfuPoOqe2C1S+1UzRfA5VP1LO9ZF6qlBzq+h+t7aAQC3wj52 + + + AQAAAACAAABIAAAAOgAAAA==eF5jYICAvrdbF3w/tsEOQh+wC30iUFisdRLKv2D3KeNxx9YfV6DiN+12xNtFGsbchco/sAMA/zQl8w== + + + AQAAAACAAAA4AAAALgAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2D3IeNxx9YfV6DiN+0A6r8c6w== + + + + + diff --git a/python/tests/reference/Geom/rotate_Eulers=0.0-32.0-240.0.geom b/python/tests/reference/Geom/rotate_Eulers=0.0-32.0-240.0.geom deleted file mode 100644 index f76d931ad..000000000 --- a/python/tests/reference/Geom/rotate_Eulers=0.0-32.0-240.0.geom +++ /dev/null @@ -1,85 +0,0 @@ -4 header -grid a 8 b 10 c 8 -size x 8e-06 y 1e-05 z 8e-06 -origin x 0.0 y -2.5e-06 z -2e-06 -homogenization 1 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 25 32 40 42 42 42 -42 42 1 1 1 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 2 2 2 42 42 42 -42 16 24 31 31 42 42 42 -42 1 1 1 1 1 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 24 31 39 42 42 42 -42 2 2 2 2 42 42 42 -42 2 2 2 2 42 42 42 -42 8 15 23 30 38 42 42 -42 42 14 22 21 29 42 42 -42 42 1 1 1 1 1 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 7 14 22 29 37 42 42 -42 42 2 2 2 2 42 42 -42 42 2 2 2 2 2 42 -42 42 42 12 12 19 27 42 -42 42 42 12 12 19 27 42 -42 42 42 1 1 1 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 4 12 19 27 34 42 -42 42 42 2 2 2 2 42 -42 42 42 3 11 18 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 2 10 17 42 42 -42 42 42 2 2 2 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 diff --git a/python/tests/reference/Geom/rotate_Eulers=32.0-68.0-21.0.geom b/python/tests/reference/Geom/rotate_Eulers=32.0-68.0-21.0.geom deleted file mode 100644 index 31ac1a15c..000000000 --- a/python/tests/reference/Geom/rotate_Eulers=32.0-68.0-21.0.geom +++ /dev/null @@ -1,104 +0,0 @@ -4 header -grid a 11 b 11 c 9 -size x 1.1e-05 y 1.1000000000000001e-05 z 9e-06 -origin x -1.5e-06 y -3.0000000000000005e-06 z -2.4999999999999998e-06 -homogenization 1 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 1 1 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 2 42 42 42 42 42 42 -42 42 42 42 2 3 42 42 42 42 42 -42 42 42 11 12 2 42 42 42 42 42 -42 42 42 42 42 13 42 42 42 42 42 -42 42 42 42 42 42 6 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 2 10 42 42 42 42 42 42 -42 42 42 2 2 11 12 42 42 42 42 -42 42 1 19 20 2 2 5 42 42 42 -42 42 42 1 1 21 2 42 42 42 42 -42 42 42 42 1 1 14 15 42 42 42 -42 42 42 42 42 42 1 1 42 42 42 -42 42 42 42 42 42 42 1 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 2 42 42 42 42 42 42 42 -42 42 42 2 2 42 42 42 42 42 42 -42 42 35 2 2 2 2 42 42 42 42 -42 42 42 28 29 2 2 2 42 42 42 -42 42 42 42 22 23 2 2 2 42 42 -42 42 42 42 42 42 24 16 42 42 42 -42 42 42 42 42 42 42 16 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 34 42 42 42 42 42 42 42 -42 42 42 34 27 42 42 42 42 42 42 -42 42 42 2 2 28 21 42 42 42 42 -42 42 42 42 37 2 22 23 42 42 42 -42 42 42 1 30 31 2 2 15 42 42 -42 42 42 42 1 1 32 25 42 42 42 -42 42 42 42 42 42 1 25 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 2 42 42 42 42 42 42 -42 42 42 42 42 2 42 42 42 42 42 -42 42 42 42 42 39 2 2 42 42 42 -42 42 42 42 42 1 40 42 42 42 42 -42 42 42 42 42 42 1 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 38 39 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 -42 42 42 42 42 42 42 42 42 42 42 diff --git a/python/tests/reference/Geom/rotate_Eulers_0.0-32.0-240.0.vtr b/python/tests/reference/Geom/rotate_Eulers_0.0-32.0-240.0.vtr new file mode 100644 index 000000000..9bba78527 --- /dev/null +++ b/python/tests/reference/Geom/rotate_Eulers_0.0-32.0-240.0.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA/AAAAQgAAAA==eF5LScxNLM7Wc0/Nz9Uryi9JLElVKLO01AMjXUsg0C2oLEktLlHQMDIwtNQ1NNQ1MFIwNLQytbAyMNBkAAB1BxEy + + + + + + + + AQAAAACAAAAAFAAAqgAAAA==eF7t08kKwlAUA9A6gKLiiFYRBwQH+v8fWMQ8kEC4lefCYt7mbJJubloVr1dZa4sdPMNHkGc7wqhn7fN1hVFvDrfwREZ9tVvvuF3y/e9BPql213R/uf0hnMESHuGN8sop3MA1PIg8G+3f/8FvOoB8/3T3K+WVuTuO+k2/MyFXcC/y3+579+20D9XdL5RX5u63B8dwGeStfTftbAQXQV71P92ttf9kDWoiXq4= + + + + + AQAAAACAAABIAAAAOgAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2D3IeNxx9YfV6DiN+22x9tFGsbchco/sAMA/fQl6g== + + + AQAAAACAAABYAAAAVwAAAA==eF77mPG4Y+uPI/tCnggUFmvt3NfzduuC78cW7JsAoe3CIOJ2nyHq7HbG20Uaxpy1c1h9Zsq1+5fslqj9qpkieN2OY5F6apDzbbsc2VBfgdL7dgAiDS/d + + + AQAAAACAAABIAAAAOgAAAA==eF7rfbt1wfdjB/b1gukN+xigoA/Ct4OIH7ALfiJQWKx10g4ifsHuQ8bjjq0/rtiFgMVv2gEA8Y4o8A== + + + + + diff --git a/python/tests/reference/Geom/rotate_Eulers_32.0-68.0-21.0.vtr b/python/tests/reference/Geom/rotate_Eulers_32.0-68.0-21.0.vtr new file mode 100644 index 000000000..00cb57f93 --- /dev/null +++ b/python/tests/reference/Geom/rotate_Eulers_32.0-68.0-21.0.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA/AAAAQgAAAA==eF5LScxNLM7Wc0/Nz9Uryi9JLElVKLO01AMjXUsg0C2oLEktLlHQMDIwtNQ1NNQ1MFIwNLQytbAyMNBkAAB1BxEy + + + + + + + + AQAAAACAAAAIIgAA8QAAAA==eF7t1rkOwjAQBFAIgoJb4hanQBzK/38gBbPNguW1s6bJpHnNeBKkLJu687lqSimlSXaVsTylbbIy5lKV3p4xH3MEx7DUc0+MuVwHxhylFmUOhsa81Uqp5y92Xiv7dwGXUN+nD2N9oX5xBb3+J3T/FM4C+VxLf6+U6qXN9HpPQ71e/Teoe73uc4BH6N2/hhvo3S9u4dyYT7VUL23m1ZhLVXr3xrxV/d7L/Mn+jJ2PeYfSr+cvdl4r++sEz1D/jty9rPfvBe4C+Vyl37uXtluv/fXv/if03sMyZy9jPlV+T1P67QPKXMfylFJKf/sGjc+oPA== + + + + + AQAAAACAAABgAAAAZAAAAA==eF4LeSJQWKy1c1/f260Lvh9bsK8HQtuFQMTtPmQ87tj644jdtni7SMOYs3b2q89MuXb/kt0itV81UwSv27EuUk8Ncr5tlykb6itQet8uzeegVPrlh3YSXDf43N48tgMAAoUxGA== + + + AQAAAACAAABgAAAARgAAAA==eF4LfSJQWKx1cl/f260Lvh87AKU37GOAAijfrh8ibxcKUW8HEb9g9ynjccfWH1fswsDiN+12xdtFGsbchco/sAMAK8s12w== + + + AQAAAACAAABQAAAATwAAAA==eF77kPG4Y+uPI/uCnwgUFmvt3NfzduuC78cW7JsAoe1CIOJ2HyDq7HbE20Uaxpy1s199Zsq1+5fsFqn9qpkieN2ObZF6apDzbTsArFItAw== + + + + + diff --git a/python/tests/reference/Geom/scale_grid=10-10-10.geom b/python/tests/reference/Geom/scale_grid=10-10-10.geom deleted file mode 100644 index 41f78c670..000000000 --- a/python/tests/reference/Geom/scale_grid=10-10-10.geom +++ /dev/null @@ -1,105 +0,0 @@ -4 header -grid a 10 b 10 c 10 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 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 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 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 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 1 - 2 3 4 4 5 6 7 7 8 9 - 2 3 4 4 5 6 7 7 8 9 -10 11 12 12 13 14 15 15 16 17 -10 11 12 12 13 14 15 15 16 17 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -26 27 28 28 29 30 31 31 32 33 -26 27 28 28 29 30 31 31 32 33 -34 35 36 36 37 38 39 39 40 41 -34 35 36 36 37 38 39 39 40 41 - 2 3 4 4 5 6 7 7 8 9 - 2 3 4 4 5 6 7 7 8 9 -10 11 12 12 13 14 15 15 16 17 -10 11 12 12 13 14 15 15 16 17 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -26 27 28 28 29 30 31 31 32 33 -26 27 28 28 29 30 31 31 32 33 -34 35 36 36 37 38 39 39 40 41 -34 35 36 36 37 38 39 39 40 41 - 2 3 4 4 5 6 7 7 8 9 - 2 3 4 4 5 6 7 7 8 9 -10 11 12 12 13 14 15 15 16 17 -10 11 12 12 13 14 15 15 16 17 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -26 27 28 28 29 30 31 31 32 33 -26 27 28 28 29 30 31 31 32 33 -34 35 36 36 37 38 39 39 40 41 -34 35 36 36 37 38 39 39 40 41 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 1 2 3 3 4 5 6 6 7 8 - 1 2 3 3 4 5 6 6 7 8 - 9 10 11 11 12 13 14 14 15 16 - 9 10 11 11 12 13 14 14 15 16 -17 18 19 19 20 21 22 22 23 24 -17 18 19 19 20 21 22 22 23 24 -25 26 27 27 28 29 30 30 31 32 -25 26 27 27 28 29 30 30 31 32 -33 34 35 35 36 37 38 38 39 40 -33 34 35 35 36 37 38 38 39 40 - 1 2 3 3 4 5 6 6 7 8 - 1 2 3 3 4 5 6 6 7 8 - 9 10 11 11 12 13 14 14 15 16 - 9 10 11 11 12 13 14 14 15 16 -17 18 19 19 20 21 22 22 23 24 -17 18 19 19 20 21 22 22 23 24 -25 26 27 27 28 29 30 30 31 32 -25 26 27 27 28 29 30 30 31 32 -33 34 35 35 36 37 38 38 39 40 -33 34 35 35 36 37 38 38 39 40 diff --git a/python/tests/reference/Geom/scale_grid=10-11-10.geom b/python/tests/reference/Geom/scale_grid=10-11-10.geom deleted file mode 100644 index fa0bf784c..000000000 --- a/python/tests/reference/Geom/scale_grid=10-11-10.geom +++ /dev/null @@ -1,115 +0,0 @@ -4 header -grid a 10 b 11 c 10 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 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 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 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 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 1 - 1 1 1 1 1 1 1 1 1 1 - 1 1 1 1 1 1 1 1 1 1 - 2 3 4 4 5 6 7 7 8 9 - 2 3 4 4 5 6 7 7 8 9 -10 11 12 12 13 14 15 15 16 17 -10 11 12 12 13 14 15 15 16 17 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -26 27 28 28 29 30 31 31 32 33 -26 27 28 28 29 30 31 31 32 33 -34 35 36 36 37 38 39 39 40 41 -34 35 36 36 37 38 39 39 40 41 - 2 3 4 4 5 6 7 7 8 9 - 2 3 4 4 5 6 7 7 8 9 -10 11 12 12 13 14 15 15 16 17 -10 11 12 12 13 14 15 15 16 17 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -26 27 28 28 29 30 31 31 32 33 -26 27 28 28 29 30 31 31 32 33 -34 35 36 36 37 38 39 39 40 41 -34 35 36 36 37 38 39 39 40 41 - 2 3 4 4 5 6 7 7 8 9 - 2 3 4 4 5 6 7 7 8 9 -10 11 12 12 13 14 15 15 16 17 -10 11 12 12 13 14 15 15 16 17 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -26 27 28 28 29 30 31 31 32 33 -26 27 28 28 29 30 31 31 32 33 -34 35 36 36 37 38 39 39 40 41 -34 35 36 36 37 38 39 39 40 41 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 1 2 3 3 4 5 6 6 7 8 - 1 2 3 3 4 5 6 6 7 8 - 9 10 11 11 12 13 14 14 15 16 - 9 10 11 11 12 13 14 14 15 16 -17 18 19 19 20 21 22 22 23 24 -17 18 19 19 20 21 22 22 23 24 -17 18 19 19 20 21 22 22 23 24 -25 26 27 27 28 29 30 30 31 32 -25 26 27 27 28 29 30 30 31 32 -33 34 35 35 36 37 38 38 39 40 -33 34 35 35 36 37 38 38 39 40 - 1 2 3 3 4 5 6 6 7 8 - 1 2 3 3 4 5 6 6 7 8 - 9 10 11 11 12 13 14 14 15 16 - 9 10 11 11 12 13 14 14 15 16 -17 18 19 19 20 21 22 22 23 24 -17 18 19 19 20 21 22 22 23 24 -17 18 19 19 20 21 22 22 23 24 -25 26 27 27 28 29 30 30 31 32 -25 26 27 27 28 29 30 30 31 32 -33 34 35 35 36 37 38 38 39 40 -33 34 35 35 36 37 38 38 39 40 diff --git a/python/tests/reference/Geom/scale_grid=10-13-10.geom b/python/tests/reference/Geom/scale_grid=10-13-10.geom deleted file mode 100644 index 705d10ff3..000000000 --- a/python/tests/reference/Geom/scale_grid=10-13-10.geom +++ /dev/null @@ -1,135 +0,0 @@ -4 header -grid a 10 b 13 c 10 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 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 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 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 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 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 1 - 1 1 1 1 1 1 1 1 1 1 - 1 1 1 1 1 1 1 1 1 1 - 2 3 4 4 5 6 7 7 8 9 - 2 3 4 4 5 6 7 7 8 9 -10 11 12 12 13 14 15 15 16 17 -10 11 12 12 13 14 15 15 16 17 -10 11 12 12 13 14 15 15 16 17 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -26 27 28 28 29 30 31 31 32 33 -26 27 28 28 29 30 31 31 32 33 -26 27 28 28 29 30 31 31 32 33 -34 35 36 36 37 38 39 39 40 41 -34 35 36 36 37 38 39 39 40 41 - 2 3 4 4 5 6 7 7 8 9 - 2 3 4 4 5 6 7 7 8 9 -10 11 12 12 13 14 15 15 16 17 -10 11 12 12 13 14 15 15 16 17 -10 11 12 12 13 14 15 15 16 17 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -26 27 28 28 29 30 31 31 32 33 -26 27 28 28 29 30 31 31 32 33 -26 27 28 28 29 30 31 31 32 33 -34 35 36 36 37 38 39 39 40 41 -34 35 36 36 37 38 39 39 40 41 - 2 3 4 4 5 6 7 7 8 9 - 2 3 4 4 5 6 7 7 8 9 -10 11 12 12 13 14 15 15 16 17 -10 11 12 12 13 14 15 15 16 17 -10 11 12 12 13 14 15 15 16 17 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -18 19 20 20 21 22 23 23 24 25 -26 27 28 28 29 30 31 31 32 33 -26 27 28 28 29 30 31 31 32 33 -26 27 28 28 29 30 31 31 32 33 -34 35 36 36 37 38 39 39 40 41 -34 35 36 36 37 38 39 39 40 41 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 2 2 - 1 2 3 3 4 5 6 6 7 8 - 1 2 3 3 4 5 6 6 7 8 - 9 10 11 11 12 13 14 14 15 16 - 9 10 11 11 12 13 14 14 15 16 - 9 10 11 11 12 13 14 14 15 16 -17 18 19 19 20 21 22 22 23 24 -17 18 19 19 20 21 22 22 23 24 -17 18 19 19 20 21 22 22 23 24 -25 26 27 27 28 29 30 30 31 32 -25 26 27 27 28 29 30 30 31 32 -25 26 27 27 28 29 30 30 31 32 -33 34 35 35 36 37 38 38 39 40 -33 34 35 35 36 37 38 38 39 40 - 1 2 3 3 4 5 6 6 7 8 - 1 2 3 3 4 5 6 6 7 8 - 9 10 11 11 12 13 14 14 15 16 - 9 10 11 11 12 13 14 14 15 16 - 9 10 11 11 12 13 14 14 15 16 -17 18 19 19 20 21 22 22 23 24 -17 18 19 19 20 21 22 22 23 24 -17 18 19 19 20 21 22 22 23 24 -25 26 27 27 28 29 30 30 31 32 -25 26 27 27 28 29 30 30 31 32 -25 26 27 27 28 29 30 30 31 32 -33 34 35 35 36 37 38 38 39 40 -33 34 35 35 36 37 38 38 39 40 diff --git a/python/tests/reference/Geom/scale_grid=10-20-2.geom b/python/tests/reference/Geom/scale_grid=10-20-2.geom deleted file mode 100644 index 3dcc4ff0c..000000000 --- a/python/tests/reference/Geom/scale_grid=10-20-2.geom +++ /dev/null @@ -1,45 +0,0 @@ -4 header -grid a 10 b 20 c 2 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 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 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 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 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 1 - 1 2 3 3 4 5 6 6 7 8 - 1 2 3 3 4 5 6 6 7 8 - 1 2 3 3 4 5 6 6 7 8 - 9 10 11 11 12 13 14 14 15 16 - 9 10 11 11 12 13 14 14 15 16 - 9 10 11 11 12 13 14 14 15 16 - 9 10 11 11 12 13 14 14 15 16 - 9 10 11 11 12 13 14 14 15 16 -17 18 19 19 20 21 22 22 23 24 -17 18 19 19 20 21 22 22 23 24 -17 18 19 19 20 21 22 22 23 24 -17 18 19 19 20 21 22 22 23 24 -25 26 27 27 28 29 30 30 31 32 -25 26 27 27 28 29 30 30 31 32 -25 26 27 27 28 29 30 30 31 32 -25 26 27 27 28 29 30 30 31 32 -25 26 27 27 28 29 30 30 31 32 -33 34 35 35 36 37 38 38 39 40 -33 34 35 35 36 37 38 38 39 40 -33 34 35 35 36 37 38 38 39 40 diff --git a/python/tests/reference/Geom/scale_grid=5-4-20.geom b/python/tests/reference/Geom/scale_grid=5-4-20.geom deleted file mode 100644 index 16f243bd2..000000000 --- a/python/tests/reference/Geom/scale_grid=5-4-20.geom +++ /dev/null @@ -1,85 +0,0 @@ -4 header -grid a 5 b 4 c 20 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 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 1 - 2 4 6 7 9 -10 12 14 15 17 -26 28 30 31 33 -34 36 38 39 41 - 2 4 6 7 9 -10 12 14 15 17 -26 28 30 31 33 -34 36 38 39 41 - 2 4 6 7 9 -10 12 14 15 17 -26 28 30 31 33 -34 36 38 39 41 - 2 4 6 7 9 -10 12 14 15 17 -26 28 30 31 33 -34 36 38 39 41 - 2 4 6 7 9 -10 12 14 15 17 -26 28 30 31 33 -34 36 38 39 41 - 2 4 6 7 9 -10 12 14 15 17 -26 28 30 31 33 -34 36 38 39 41 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 2 2 2 2 2 - 1 3 5 6 8 - 9 11 13 14 16 -25 27 29 30 32 -33 35 37 38 40 - 1 3 5 6 8 - 9 11 13 14 16 -25 27 29 30 32 -33 35 37 38 40 - 1 3 5 6 8 - 9 11 13 14 16 -25 27 29 30 32 -33 35 37 38 40 - 1 3 5 6 8 - 9 11 13 14 16 -25 27 29 30 32 -33 35 37 38 40 diff --git a/python/tests/reference/Geom/scale_grid=8-10-12.geom b/python/tests/reference/Geom/scale_grid=8-10-12.geom deleted file mode 100644 index 439c1bee0..000000000 --- a/python/tests/reference/Geom/scale_grid=8-10-12.geom +++ /dev/null @@ -1,125 +0,0 @@ -4 header -grid a 8 b 10 c 12 -size x 8e-06 y 5e-06 z 4e-06 -origin x 0.0 y 0.0 z 0.0 -homogenization 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 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 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 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 1 - 2 3 4 5 6 7 8 9 - 2 3 4 5 6 7 8 9 -10 11 12 13 14 15 16 17 -10 11 12 13 14 15 16 17 -18 19 20 21 22 23 24 25 -18 19 20 21 22 23 24 25 -26 27 28 29 30 31 32 33 -26 27 28 29 30 31 32 33 -34 35 36 37 38 39 40 41 -34 35 36 37 38 39 40 41 - 2 3 4 5 6 7 8 9 - 2 3 4 5 6 7 8 9 -10 11 12 13 14 15 16 17 -10 11 12 13 14 15 16 17 -18 19 20 21 22 23 24 25 -18 19 20 21 22 23 24 25 -26 27 28 29 30 31 32 33 -26 27 28 29 30 31 32 33 -34 35 36 37 38 39 40 41 -34 35 36 37 38 39 40 41 - 2 3 4 5 6 7 8 9 - 2 3 4 5 6 7 8 9 -10 11 12 13 14 15 16 17 -10 11 12 13 14 15 16 17 -18 19 20 21 22 23 24 25 -18 19 20 21 22 23 24 25 -26 27 28 29 30 31 32 33 -26 27 28 29 30 31 32 33 -34 35 36 37 38 39 40 41 -34 35 36 37 38 39 40 41 - 2 3 4 5 6 7 8 9 - 2 3 4 5 6 7 8 9 -10 11 12 13 14 15 16 17 -10 11 12 13 14 15 16 17 -18 19 20 21 22 23 24 25 -18 19 20 21 22 23 24 25 -26 27 28 29 30 31 32 33 -26 27 28 29 30 31 32 33 -34 35 36 37 38 39 40 41 -34 35 36 37 38 39 40 41 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 2 2 2 2 2 2 2 2 - 1 2 3 4 5 6 7 8 - 1 2 3 4 5 6 7 8 - 9 10 11 12 13 14 15 16 - 9 10 11 12 13 14 15 16 -17 18 19 20 21 22 23 24 -17 18 19 20 21 22 23 24 -25 26 27 28 29 30 31 32 -25 26 27 28 29 30 31 32 -33 34 35 36 37 38 39 40 -33 34 35 36 37 38 39 40 - 1 2 3 4 5 6 7 8 - 1 2 3 4 5 6 7 8 - 9 10 11 12 13 14 15 16 - 9 10 11 12 13 14 15 16 -17 18 19 20 21 22 23 24 -17 18 19 20 21 22 23 24 -25 26 27 28 29 30 31 32 -25 26 27 28 29 30 31 32 -33 34 35 36 37 38 39 40 -33 34 35 36 37 38 39 40 diff --git a/python/tests/reference/Geom/scale_grid_10-10-10.vtr b/python/tests/reference/Geom/scale_grid_10-10-10.vtr new file mode 100644 index 000000000..4ab12d017 --- /dev/null +++ b/python/tests/reference/Geom/scale_grid_10-10-10.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9UrTk7MSVUos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFYKEKs= + + + + + + + + AQAAAACAAABAHwAA+QAAAA==eF7t2DcSAjEQRFF28d57t3i4/wUJaCVdpYCqH46Sl/1oklZR+70iDMMwDP+wlHXZMJuyJdtmR3Yl3evJvhyYQzmSY3Mip5LuzeRcLsylXMm1uZFbSfd2ci8P5lGe5Nms5EXSvau8ybv5kE/5Mt/yI+kefc90j75nukffM92j75nu0fdM9+h7pnv0PdM9+p7pHn3PdI++Z7pXhmEYhmEYhqi5fyzfD74bfD+k3UD3cjvE94PvBt8PaTfQvdwO8f3gu8H3Q9oNdC+3Q3w/+G7w/VBJupfbIb4ffDf4fki7ge7R90z36Hume/Q90z36nukefc907wt6sixX + + + + + AQAAAACAAABYAAAARQAAAA==eF5jYIAAj/V7Zn26vsoOQu+yK2vm/fJV8QiUf8qu9+3WBd+PXYCKX7GLl0x1/1JzHSp/y87QVeTdB6N7UHUP7ACC9C8w + + + AQAAAACAAABYAAAASAAAAA==eF5jYICAvrdbF3w/tsAOQm+wC30iUFistRPKP2D3KeNxx9YfR6DiJ+12xNtFGsachcpfsHNYfWbKtfuX7D6C1V2xAwCgPTAG + + + AQAAAACAAABYAAAARQAAAA==eF5jYIAAj/V7Zn26PssOQq+yK2vm/fJVcQuUv8uu9+3WBd+PHYCKH7GLl0x1/1JzHCp/ys7QVeTdB6NzUHUX7ABrNC6Q + + + + + diff --git a/python/tests/reference/Geom/scale_grid_10-11-10.vtr b/python/tests/reference/Geom/scale_grid_10-11-10.vtr new file mode 100644 index 000000000..7a051a249 --- /dev/null +++ b/python/tests/reference/Geom/scale_grid_10-11-10.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9UrTk7MSVUos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFYKEKs= + + + + + + + + AQAAAACAAABgIgAA/gAAAA==eF7t2CcOA0EQRFHnnHPO8f4XNHAtKWmQPxhZveSxj6ZBbbn0/cphGIZh+EdWZFXWzLpsyKbZkm1J9zqyK3tmXw7k0BzJsaR7EzmVM3MuF3JpruRa5t7byK3cmXt5kEfzJM+S7l3kVd7Mu3zIp/mSb0n36Puge/R90D36Pefeo++D7tH3Qffo+6B79H3QPfo9596j74Pu0fdB9yphGIZhGIZh+IOp/5S+v3x3+f4qdhfdS+0431++u3x/FbuL7qV2nO8l30m+l4qdlHsvteN8f/nu8v11knQvteN8f/nu8v1V7C66R98H3aPvg+7R7zn3Hn0fdI++D7r3AZqNMMY= + + + + + AQAAAACAAABYAAAARQAAAA==eF5jYIAAj/V7Zn26vsoOQu+yK2vm/fJV8QiUf8qu9+3WBd+PXYCKX7GLl0x1/1JzHSp/y87QVeTdB6N7UHUP7ACC9C8w + + + AQAAAACAAABgAAAATgAAAA==eF5jYICAV+vf8nA0zrOD0OvsPjhv4jz2YBuUv8/uU68Ix1KBw1DxY3Zvf/pzP99wCip/zu7LJtf2KRoXoeou233MeNyx9ccVOwADxy6u + + + AQAAAACAAABYAAAARQAAAA==eF5jYIAAj/V7Zn26PssOQq+yK2vm/fJVcQuUv8uu9+3WBd+PHYCKH7GLl0x1/1JzHCp/ys7QVeTdB6NzUHUX7ABrNC6Q + + + + + diff --git a/python/tests/reference/Geom/scale_grid_10-13-10.vtr b/python/tests/reference/Geom/scale_grid_10-13-10.vtr new file mode 100644 index 000000000..3dd5c222a --- /dev/null +++ b/python/tests/reference/Geom/scale_grid_10-13-10.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9UrTk7MSVUos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFYKEKs= + + + + + + + + AQAAAACAAACgKAAACQEAAA==eF7t2blWAlEURFEBlcGJQcAZZBD4/x804HRSa72sghtUJzs72Q3qde/m+vVijDHGGLGPA7wV7/Aeh+IIx+juTfABH8UnfMYXcYozrN6b4wJfxSWucC2+4TtW733gJ36J3/iDG3GLv1i9t8M9HsQj/uFJPOMF3T33/bp77nur3nPfW/We+96q99z36+6579fdc99b9Z773qr33PdWvee+X3evH2OMMcYYY4wNW/8ZdP/r7tf93+1+d6/1jqB7XXe67vVup1fvtd4RdK/rTte93u306r3WO4Ludd3pute3WL3XekfQ/a+7X/d/t/vdPff9unvue6vec99b9Z773qr33Pfr7v0DeUA5pA== + + + + + AQAAAACAAABYAAAARQAAAA==eF5jYIAAj/V7Zn26vsoOQu+yK2vm/fJV8QiUf8qu9+3WBd+PXYCKX7GLl0x1/1JzHSp/y87QVeTdB6N7UHUP7ACC9C8w + + + AQAAAACAAABwAAAAWgAAAA==eF5jYICA8tytkUvOz7SD0CvtJIU8nHdHb4byd9plpQjuOKZ4ACp+2O7E/rpz66ceg8qftFOTfvNkBudZqLoLdk671/w9sO8iVP1lu48Zjzu2/rhiBwBjSjRO + + + AQAAAACAAABYAAAARQAAAA==eF5jYIAAj/V7Zn26PssOQq+yK2vm/fJVcQuUv8uu9+3WBd+PHYCKH7GLl0x1/1JzHCp/ys7QVeTdB6NzUHUX7ABrNC6Q + + + + + diff --git a/python/tests/reference/Geom/scale_grid_10-20-2.vtr b/python/tests/reference/Geom/scale_grid_10-20-2.vtr new file mode 100644 index 000000000..aa5cd754d --- /dev/null +++ b/python/tests/reference/Geom/scale_grid_10-20-2.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9UrTk7MSVUos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFYKEKs= + + + + + + + + AQAAAACAAACADAAAdgAAAA==eF7tzMsWgQAYReEuKJUoRKGLS3n/JzSwJ51ZRq3l35Nvtl3nm2uapmmaP+ihLy5wiSsxwBDn/ltjhLGY4AZTcYs7tN/Yqb8Mc9yLBzxiIZ7wjP/2K7HCi3jFG9Zigy3ab+zUX4d3fIhPfGEvDvjGuf8+MEUQzQ== + + + + + AQAAAACAAABYAAAARQAAAA==eF5jYIAAj/V7Zn26vsoOQu+yK2vm/fJV8QiUf8qu9+3WBd+PXYCKX7GLl0x1/1JzHSp/y87QVeTdB6N7UHUP7ACC9C8w + + + AQAAAACAAACoAAAAgQAAAA==eF5jYICAvrdbF3w/NsEOQi+wC30iUFistRLK32D3KeNxx9YfW6DiO+12xNtFGsbshcofsHNYfWbKtfuHoOqO2C1W+1UzRfA4VP1JO/ZF6qlBzqeh+s7aZcmG+gqUnofqv2CX7nNQKv3yRag5l+wkuW7wub25bPcRbN4VOwAdV1bT + + + AQAAAACAAAAYAAAAGAAAAA==eF5jYICA3rdbF3w/dsAOQl+wAwBg4gsl + + + + + diff --git a/python/tests/reference/Geom/scale_grid_5-4-20.vtr b/python/tests/reference/Geom/scale_grid_5-4-20.vtr new file mode 100644 index 000000000..566e82529 --- /dev/null +++ b/python/tests/reference/Geom/scale_grid_5-4-20.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9UrTk7MSVUos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFYKEKs= + + + + + + + + AQAAAACAAACADAAAeAAAAA==eF7t1TkWggAUQ1EREZS5BFQmB9j/Bin++40b8OBJmtumSoKDJZDyBx7xhGeM8YJXzLDAEmts8YYP7HHECZ/4xg+uqH4W9bOon+W7n5Ryf/oPhxih70yCvjMp5ug7U2GDHd7Rd2ZA35kZX+g7s6D6Wf613wZ8oBHR + + + + + AQAAAACAAAAwAAAALAAAAA==eF5jYIAAj/V7Zn26vssOQp+yK2vm/fJV8QqUf8uu9+3WBd+PPbADAPj2GSc= + + + AQAAAACAAAAoAAAAIwAAAA==eF5jYICAjxmPO7b+2GIHoY/YZcmG+gqUnofyr9gBAEcwExU= + + + AQAAAACAAACoAAAAfwAAAA==eF5jYIAAj/V7Zn263mUHoWfZlTXzfvmquATKX2XX+3brgu/HNkDFt9jFS6a6f6nZDpXfZWfoKvLug9E+qLoDdk07Ek+VlRyCqj9il+W3U7b0/FGovuN2IU8ECou1TkL1n7Kzqco4Uth6BmrOOTs1gQPiBQ/OQ827YAcA/NFWxg== + + + + + diff --git a/python/tests/reference/Geom/scale_grid_8-10-12.vtr b/python/tests/reference/Geom/scale_grid_8-10-12.vtr new file mode 100644 index 000000000..28e40ffaa --- /dev/null +++ b/python/tests/reference/Geom/scale_grid_8-10-12.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAA+AAAAQQAAAA==eF5LScxNLM7Wc0/Nz9UrTk7MSVUos7TUAyNdSyDQLagsSS0uUdAwMjC01DU01DUwUjA0tDK1sDIw0GQAAFYKEKs= + + + + + + + + AQAAAACAAAAAHgAAyAAAAA==eF7t2LcBAkEUxFDu8N5776H/BglQBwpvNnmRskn+FrX/K2KMsWKWWMcGNrGFbexgF23fwz4OcIgjHOMEp2j7Gc5xgUtc4Ro3uEXb73CPBzziCc94wSva/oZ3fOATX/jGD37R9nY/trf7sb3dj+3tfmxv92N7ux/b2/3Y3u7H9nY/trf7sb3dj+3tfmxv92N7ux/b2/3YvowxxhhjjJXS/gPa3t4htrd3iO3tHWJ7e4fY3u7H9nY/trf7sb3dj+3tfmz/A1V7KtE= + + + + + AQAAAACAAABIAAAAOgAAAA==eF5jYICA3rdbF3w/tsEOQh+wC3kiUFisdRLKv2D3IeNxx9YfV6DiN+22x9tFGsbchco/sAMA/fQl6g== + + + AQAAAACAAABYAAAASAAAAA==eF5jYICAvrdbF3w/tsAOQm+wC30iUFistRPKP2D3KeNxx9YfR6DiJ+12xNtFGsachcpfsHNYfWbKtfuX7D6C1V2xAwCgPTAG + + + AQAAAACAAABoAAAAUQAAAA==eF5jYIAAwUmfGubHTbOD0Mvset9uXfD92AYof5vdVDP9RPdvu6HiB+zO21+ZcHrSYaj8MbvgJwKFxVonoepO213v8A2UPnQOqv6CHQDLvTPb + + + + + diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 738b4ac2f..2417af90c 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -32,6 +32,10 @@ def reference_dir(reference_dir_base): class TestGeom: + @pytest.fixture(autouse=True) + def _execution_stamp(self, execution_stamp): + print('patched damask.util.execution_stamp') + def test_diff_equal(self,default): assert str(default.diff(default)) == '' @@ -95,10 +99,10 @@ class TestGeom: ) def test_mirror(self,default,update,reference_dir,directions,reflect): modified = default.mirror(directions,reflect) - tag = f'directions={"-".join(directions)}_reflect={reflect}' - reference = reference_dir/f'mirror_{tag}.geom' - if update: modified.save_ASCII(reference) - assert geom_equal(Geom.load_ASCII(reference), + tag = f'directions_{"-".join(directions)}+reflect_{reflect}' + reference = reference_dir/f'mirror_{tag}.vtr' + if update: modified.save(reference) + assert geom_equal(Geom.load(reference), modified) @@ -117,10 +121,10 @@ class TestGeom: ) def test_flip(self,default,update,reference_dir,directions): modified = default.flip(directions) - tag = f'directions={"-".join(directions)}' - reference = reference_dir/f'flip_{tag}.geom' - if update: modified.save_ASCII(reference) - assert geom_equal(Geom.load_ASCII(reference), + tag = f'directions_{"-".join(directions)}' + reference = reference_dir/f'flip_{tag}.vtr' + if update: modified.save(reference) + assert geom_equal(Geom.load(reference), modified) @@ -163,10 +167,10 @@ class TestGeom: ) def test_scale(self,default,update,reference_dir,grid): modified = default.scale(grid) - tag = f'grid={util.srepr(grid,"-")}' - reference = reference_dir/f'scale_{tag}.geom' - if update: modified.save_ASCII(reference) - assert geom_equal(Geom.load_ASCII(reference), + tag = f'grid_{util.srepr(grid,"-")}' + reference = reference_dir/f'scale_{tag}.vtr' + if update: modified.save(reference) + assert geom_equal(Geom.load(reference), modified) @@ -206,10 +210,10 @@ class TestGeom: [0.0,32.0,240.0]]) def test_rotate(self,default,update,reference_dir,Eulers): modified = default.rotate(Rotation.from_Eulers(Eulers,degrees=True)) - tag = f'Eulers={util.srepr(Eulers,"-")}' - reference = reference_dir/f'rotate_{tag}.geom' - if update: modified.save_ASCII(reference) - assert geom_equal(Geom.load_ASCII(reference), + tag = f'Eulers_{util.srepr(Eulers,"-")}' + reference = reference_dir/f'rotate_{tag}.vtr' + if update: modified.save(reference) + assert geom_equal(Geom.load(reference), modified) From 86d91baf90335eb151cbd19cbfbd490f0b95c08c Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 10 Oct 2020 09:57:18 +0200 Subject: [PATCH 852/958] 0-offset for geom --- PRIVATE | 2 +- python/damask/_geom.py | 6 +++--- python/tests/test_Geom.py | 10 ++++------ 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/PRIVATE b/PRIVATE index e30d554c1..4b75ce7ad 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit e30d554c1b78d5767bac9f2e2e5037947477b474 +Subproject commit 4b75ce7adaf901c8c371fb54424df1352c53dfb0 diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 62493763e..cfcdf5539 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -256,7 +256,7 @@ class Geom: else: material_ = material_.reshape(grid) - return Geom(material = material_+1 if material is None else material[material_], + return Geom(material = material_ if material is None else material[material_], size = size, comments = util.execution_stamp('Geom','from_Laguerre_tessellation'), ) @@ -286,7 +286,7 @@ class Geom: KDTree = spatial.cKDTree(seeds,boxsize=size) if periodic else spatial.cKDTree(seeds) devNull,material_ = KDTree.query(coords) - return Geom(material = (material_+1 if material is None else material[material_]).reshape(grid), + return Geom(material = (material_ if material is None else material[material_]).reshape(grid), size = size, comments = util.execution_stamp('Geom','from_Voronoi_tessellation'), ) @@ -335,7 +335,7 @@ class Geom: @staticmethod - def from_minimal_surface(grid,size,surface,threshold=0.0,periods=1,materials=(1,2)): + def from_minimal_surface(grid,size,surface,threshold=0.0,periods=1,materials=(0,1)): """ Generate geometry from definition of triply periodic minimal surface. diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 2417af90c..0f4c1a952 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -1,5 +1,3 @@ -import os - import pytest import numpy as np @@ -305,8 +303,8 @@ class TestGeom: N_seeds= np.random.randint(10,30) seeds = np.random.rand(N_seeds,3) * np.broadcast_to(size,(N_seeds,3)) weights= np.full((N_seeds),-np.inf) - ms = np.random.randint(1, N_seeds+1) - weights[ms-1] = np.random.random() + ms = np.random.randint(N_seeds) + weights[ms] = np.random.random() Laguerre = Geom.from_Laguerre_tessellation(grid,size,seeds,weights,periodic=np.random.random()>0.5) assert np.all(Laguerre.material == ms) @@ -316,8 +314,8 @@ class TestGeom: grid = np.random.randint(5,10,3)*2 size = grid.astype(np.float) seeds = np.vstack((size*np.array([0.5,0.25,0.5]),size*np.array([0.5,0.75,0.5]))) - material = np.ones(grid) - material[:,grid[1]//2:,:] = 2 + material = np.zeros(grid) + material[:,grid[1]//2:,:] = 1 if approach == 'Laguerre': geom = Geom.from_Laguerre_tessellation(grid,size,seeds,np.ones(2),periodic=np.random.random()>0.5) elif approach == 'Voronoi': From 02e6ff85a3718cdbfc5405355479a32053d5898d Mon Sep 17 00:00:00 2001 From: Test User Date: Sat, 10 Oct 2020 13:12:27 +0200 Subject: [PATCH 853/958] [skip ci] updated version information after successful test of v3.0.0-alpha-491-ge44a1dd2e --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index e9c998baf..66ab78bcb 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-488-gbe89b7ab9 +v3.0.0-alpha-491-ge44a1dd2e From c8a9bc60d32bb624dd1fcfcb5502caaedfd3c390 Mon Sep 17 00:00:00 2001 From: Test User Date: Sun, 11 Oct 2020 23:28:10 +0200 Subject: [PATCH 854/958] [skip ci] updated version information after successful test of v3.0.0-alpha-502-g8ab405e5d --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 66ab78bcb..41d9ce4ba 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-491-ge44a1dd2e +v3.0.0-alpha-502-g8ab405e5d From 5267aff1a2546aa2f540851d0435002bc39c8955 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 12 Oct 2020 05:29:48 +0200 Subject: [PATCH 855/958] natural Fortran order --- src/rotations.f90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rotations.f90 b/src/rotations.f90 index 0b72c1dd5..ea4a8a9d8 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -737,13 +737,13 @@ pure function eu2om(eu) result(om) s = sin(eu) om(1,1) = c(1)*c(3)-s(1)*s(3)*c(2) - om(1,2) = s(1)*c(3)+c(1)*s(3)*c(2) - om(1,3) = s(3)*s(2) om(2,1) = -c(1)*s(3)-s(1)*c(3)*c(2) - om(2,2) = -s(1)*s(3)+c(1)*c(3)*c(2) - om(2,3) = c(3)*s(2) om(3,1) = s(1)*s(2) + om(1,2) = s(1)*c(3)+c(1)*s(3)*c(2) + om(2,2) = -s(1)*s(3)+c(1)*c(3)*c(2) om(3,2) = -c(1)*s(2) + om(1,3) = s(3)*s(2) + om(2,3) = c(3)*s(2) om(3,3) = c(2) where(abs(om)<1.0e-12_pReal) om = 0.0_pReal From 19dba92235710ce589f5134bf0dd151664f0f525 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 12 Oct 2020 05:33:32 +0200 Subject: [PATCH 856/958] material.config -> material.yaml --- .../Phase_Phenopowerlaw_BCC-Ferrite.config | 21 ------------------- .../Phase_Phenopowerlaw_BCC-Ferrite.yaml | 16 ++++++++++++++ .../Phase_Phenopowerlaw_BCC-Martensite.config | 21 ------------------- .../Phase_Phenopowerlaw_BCC-Martensite.yaml | 16 ++++++++++++++ 4 files changed, 32 insertions(+), 42 deletions(-) delete mode 100644 examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Ferrite.config create mode 100644 examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Ferrite.yaml delete mode 100644 examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Martensite.config create mode 100644 examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Martensite.yaml diff --git a/examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Ferrite.config b/examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Ferrite.config deleted file mode 100644 index 5af1eee11..000000000 --- a/examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Ferrite.config +++ /dev/null @@ -1,21 +0,0 @@ -# Tasan et.al. 2015 Acta Materalia -# Tasan et.al. 2015 International Journal of Plasticity -# Diehl et.al. 2015 Meccanica -[BCC-Ferrite] - -elasticity hooke -plasticity phenopowerlaw - -lattice_structure bcc -Nslip 12 12 # per family -Ntwin 0 # per family -c11 233.3e9 -c12 135.5e9 -c44 118.0e9 -gdot0_slip 0.001 -n_slip 20 -tau0_slip 95.e6 97.e6 # per family, optimization long simplex 109 -tausat_slip 222.e6 412.7e6 # per family, optimization long simplex 109 -h0_slipslip 1000.0e6 -interaction_slipslip 1 1 1.4 1.4 1.4 1.4 -a_slip 2.0 diff --git a/examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Ferrite.yaml b/examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Ferrite.yaml new file mode 100644 index 000000000..4940ca8bd --- /dev/null +++ b/examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Ferrite.yaml @@ -0,0 +1,16 @@ +# Tasan et.al. 2015 Acta Materalia +# Tasan et.al. 2015 International Journal of Plasticity +# Diehl et.al. 2015 Meccanica +Ferrite: + elasticity: {C_11: 233.3e9, C_12: 135.5e9, C_44: 118.0e9, type: hooke} + lattice: bcc + plasticity: + N_sl: [12, 12] + a_sl: 2.0 + dot_gamma_0_sl: 0.001 + h_0_sl_sl: 1000.0e6 + h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + n_sl: 20 + type: phenopowerlaw + xi_0_sl: [95.e6, 96.e6] + xi_inf_sl: [222.e6, 412.7e6] diff --git a/examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Martensite.config b/examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Martensite.config deleted file mode 100644 index a04f27e7f..000000000 --- a/examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Martensite.config +++ /dev/null @@ -1,21 +0,0 @@ -# Tasan et.al. 2015 Acta Materalia -# Tasan et.al. 2015 International Journal of Plasticity -# Diehl et.al. 2015 Meccanica -[BCC-Martensite] - -elasticity hooke -plasticity phenopowerlaw - -lattice_structure bcc -Nslip 12 12 # per family -Ntwin 0 # per family -c11 417.4e9 -c12 242.4e9 -c44 211.1e9 -gdot0_slip 0.001 -n_slip 20 -tau0_slip 405.8e6 456.7e6 # per family -tausat_slip 872.9e6 971.2e6 # per family -h0_slipslip 563.0e9 -interaction_slipslip 1 1 1.4 1.4 1.4 1.4 -a_slip 2.0 diff --git a/examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Martensite.yaml b/examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Martensite.yaml new file mode 100644 index 000000000..b207d7b34 --- /dev/null +++ b/examples/ConfigFiles/Phase_Phenopowerlaw_BCC-Martensite.yaml @@ -0,0 +1,16 @@ +# Tasan et.al. 2015 Acta Materalia +# Tasan et.al. 2015 International Journal of Plasticity +# Diehl et.al. 2015 Meccanica +Martensite: + elasticity: {C_11: 417.4e9, C_12: 242.4e9, C_44: 211.1e9, type: hooke} + lattice: bcc + plasticity: + N_sl: [12, 12] + a_sl: 2.0 + dot_gamma_0_sl: 0.001 + h_0_sl_sl: 563.0e9 + h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + n_sl: 20 + type: phenopowerlaw + xi_0_sl: [405.8e6, 456.7e6] + xi_inf_sl: [872.9e6, 971.2e6] From 175024ca6659b885732a1040008d7dff72d5651d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 13 Oct 2020 17:39:34 +0200 Subject: [PATCH 857/958] most recent PRIVATE --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 4b75ce7ad..dde6a5836 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 4b75ce7adaf901c8c371fb54424df1352c53dfb0 +Subproject commit dde6a5836089b14bd39d4393a47b82b351d2bd85 From 2c608c1bcf66a41270d97ab1aa23d14950b53903 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 13 Oct 2020 20:23:47 +0200 Subject: [PATCH 858/958] not needed anymore --- .../Kinematics_Hydrogen_Strain.config | 2 - examples/ConfigFiles/rollingTexture.linearODF | 186629 --------------- 2 files changed, 186631 deletions(-) delete mode 100644 examples/ConfigFiles/Kinematics_Hydrogen_Strain.config delete mode 100644 examples/ConfigFiles/rollingTexture.linearODF diff --git a/examples/ConfigFiles/Kinematics_Hydrogen_Strain.config b/examples/ConfigFiles/Kinematics_Hydrogen_Strain.config deleted file mode 100644 index d32c90437..000000000 --- a/examples/ConfigFiles/Kinematics_Hydrogen_Strain.config +++ /dev/null @@ -1,2 +0,0 @@ -(kinematics) vacancy_strain -vacancy_strain_coeff 0.006 diff --git a/examples/ConfigFiles/rollingTexture.linearODF b/examples/ConfigFiles/rollingTexture.linearODF deleted file mode 100644 index 445242e36..000000000 --- a/examples/ConfigFiles/rollingTexture.linearODF +++ /dev/null @@ -1,186629 +0,0 @@ -4 header -# Header: Project1::test1000::All data::Binned: Size=5.0, HW=5.0 4/15/2015 -# Bin Size: 5.0 -# Gaussian Smoothing: 5.0 -1_euler 2_euler 3_euler intensity - 2.50 2.50 2.50 0.980476 - 2.50 2.50 7.50 0.773179 - 2.50 2.50 12.50 0.393272 - 2.50 2.50 17.50 0.149977 - 2.50 2.50 22.50 0.0624685 - 2.50 2.50 27.50 0.0485219 - 2.50 2.50 32.50 0.0601603 - 2.50 2.50 37.50 0.0760385 - 2.50 2.50 42.50 0.083846 - 2.50 2.50 47.50 0.084539 - 2.50 2.50 52.50 0.083846 - 2.50 2.50 57.50 0.0760385 - 2.50 2.50 62.50 0.0601603 - 2.50 2.50 67.50 0.0485219 - 2.50 2.50 72.50 0.0624686 - 2.50 2.50 77.50 0.149977 - 2.50 2.50 82.50 0.393272 - 2.50 2.50 87.50 0.773179 - 2.50 2.50 92.50 0.980476 - 2.50 2.50 97.50 0.773178 - 2.50 2.50 102.50 0.393272 - 2.50 2.50 107.50 0.149977 - 2.50 2.50 112.50 0.0624685 - 2.50 2.50 117.50 0.048522 - 2.50 2.50 122.50 0.0601603 - 2.50 2.50 127.50 0.0760386 - 2.50 2.50 132.50 0.083846 - 2.50 2.50 137.50 0.084539 - 2.50 2.50 142.50 0.083846 - 2.50 2.50 147.50 0.0760385 - 2.50 2.50 152.50 0.0601603 - 2.50 2.50 157.50 0.0485219 - 2.50 2.50 162.50 0.0624686 - 2.50 2.50 167.50 0.149977 - 2.50 2.50 172.50 0.393272 - 2.50 2.50 177.50 0.773178 - 2.50 2.50 182.50 0.980476 - 2.50 2.50 187.50 0.773179 - 2.50 2.50 192.50 0.393272 - 2.50 2.50 197.50 0.149977 - 2.50 2.50 202.50 0.0624685 - 2.50 2.50 207.50 0.0485219 - 2.50 2.50 212.50 0.0601603 - 2.50 2.50 217.50 0.0760385 - 2.50 2.50 222.50 0.083846 - 2.50 2.50 227.50 0.084539 - 2.50 2.50 232.50 0.083846 - 2.50 2.50 237.50 0.0760385 - 2.50 2.50 242.50 0.0601603 - 2.50 2.50 247.50 0.0485219 - 2.50 2.50 252.50 0.0624686 - 2.50 2.50 257.50 0.149977 - 2.50 2.50 262.50 0.393273 - 2.50 2.50 267.50 0.773179 - 2.50 2.50 272.50 0.980476 - 2.50 2.50 277.50 0.773178 - 2.50 2.50 282.50 0.393272 - 2.50 2.50 287.50 0.149977 - 2.50 2.50 292.50 0.0624686 - 2.50 2.50 297.50 0.0485219 - 2.50 2.50 302.50 0.0601603 - 2.50 2.50 307.50 0.0760385 - 2.50 2.50 312.50 0.083846 - 2.50 2.50 317.50 0.084539 - 2.50 2.50 322.50 0.083846 - 2.50 2.50 327.50 0.0760386 - 2.50 2.50 332.50 0.0601603 - 2.50 2.50 337.50 0.048522 - 2.50 2.50 342.50 0.0624685 - 2.50 2.50 347.50 0.149977 - 2.50 2.50 352.50 0.393272 - 2.50 2.50 357.50 0.773178 - 2.50 7.50 2.50 1.24804 - 2.50 7.50 7.50 0.987007 - 2.50 7.50 12.50 0.506917 - 2.50 7.50 17.50 0.197143 - 2.50 7.50 22.50 0.080438 - 2.50 7.50 27.50 0.0491677 - 2.50 7.50 32.50 0.045313 - 2.50 7.50 37.50 0.0573038 - 2.50 7.50 42.50 0.0692314 - 2.50 7.50 47.50 0.0738691 - 2.50 7.50 52.50 0.0692314 - 2.50 7.50 57.50 0.0573038 - 2.50 7.50 62.50 0.045313 - 2.50 7.50 67.50 0.0491677 - 2.50 7.50 72.50 0.080438 - 2.50 7.50 77.50 0.197142 - 2.50 7.50 82.50 0.506916 - 2.50 7.50 87.50 0.987006 - 2.50 7.50 92.50 1.24804 - 2.50 7.50 97.50 0.987009 - 2.50 7.50 102.50 0.506918 - 2.50 7.50 107.50 0.197143 - 2.50 7.50 112.50 0.080438 - 2.50 7.50 117.50 0.0491677 - 2.50 7.50 122.50 0.045313 - 2.50 7.50 127.50 0.0573038 - 2.50 7.50 132.50 0.0692314 - 2.50 7.50 137.50 0.0738691 - 2.50 7.50 142.50 0.0692314 - 2.50 7.50 147.50 0.0573038 - 2.50 7.50 152.50 0.045313 - 2.50 7.50 157.50 0.0491677 - 2.50 7.50 162.50 0.080438 - 2.50 7.50 167.50 0.197143 - 2.50 7.50 172.50 0.506917 - 2.50 7.50 177.50 0.987007 - 2.50 7.50 182.50 1.24804 - 2.50 7.50 187.50 0.987007 - 2.50 7.50 192.50 0.506917 - 2.50 7.50 197.50 0.197142 - 2.50 7.50 202.50 0.080438 - 2.50 7.50 207.50 0.0491677 - 2.50 7.50 212.50 0.045313 - 2.50 7.50 217.50 0.0573038 - 2.50 7.50 222.50 0.0692314 - 2.50 7.50 227.50 0.0738691 - 2.50 7.50 232.50 0.0692314 - 2.50 7.50 237.50 0.0573038 - 2.50 7.50 242.50 0.045313 - 2.50 7.50 247.50 0.0491677 - 2.50 7.50 252.50 0.0804381 - 2.50 7.50 257.50 0.197143 - 2.50 7.50 262.50 0.506919 - 2.50 7.50 267.50 0.987009 - 2.50 7.50 272.50 1.24804 - 2.50 7.50 277.50 0.987006 - 2.50 7.50 282.50 0.506917 - 2.50 7.50 287.50 0.197143 - 2.50 7.50 292.50 0.080438 - 2.50 7.50 297.50 0.0491677 - 2.50 7.50 302.50 0.045313 - 2.50 7.50 307.50 0.0573038 - 2.50 7.50 312.50 0.0692314 - 2.50 7.50 317.50 0.0738691 - 2.50 7.50 322.50 0.0692315 - 2.50 7.50 327.50 0.0573038 - 2.50 7.50 332.50 0.045313 - 2.50 7.50 337.50 0.0491677 - 2.50 7.50 342.50 0.0804379 - 2.50 7.50 347.50 0.197142 - 2.50 7.50 352.50 0.506916 - 2.50 7.50 357.50 0.987006 - 2.50 12.50 2.50 1.59627 - 2.50 12.50 7.50 1.29229 - 2.50 12.50 12.50 0.712488 - 2.50 12.50 17.50 0.305995 - 2.50 12.50 22.50 0.137474 - 2.50 12.50 27.50 0.0745081 - 2.50 12.50 32.50 0.0533662 - 2.50 12.50 37.50 0.0564789 - 2.50 12.50 42.50 0.0727374 - 2.50 12.50 47.50 0.0833499 - 2.50 12.50 52.50 0.0727374 - 2.50 12.50 57.50 0.0564789 - 2.50 12.50 62.50 0.0533663 - 2.50 12.50 67.50 0.0745082 - 2.50 12.50 72.50 0.137474 - 2.50 12.50 77.50 0.305995 - 2.50 12.50 82.50 0.712488 - 2.50 12.50 87.50 1.29229 - 2.50 12.50 92.50 1.59627 - 2.50 12.50 97.50 1.29229 - 2.50 12.50 102.50 0.712489 - 2.50 12.50 107.50 0.305995 - 2.50 12.50 112.50 0.137474 - 2.50 12.50 117.50 0.0745081 - 2.50 12.50 122.50 0.0533662 - 2.50 12.50 127.50 0.0564789 - 2.50 12.50 132.50 0.0727374 - 2.50 12.50 137.50 0.0833499 - 2.50 12.50 142.50 0.0727373 - 2.50 12.50 147.50 0.0564789 - 2.50 12.50 152.50 0.0533663 - 2.50 12.50 157.50 0.0745081 - 2.50 12.50 162.50 0.137474 - 2.50 12.50 167.50 0.305996 - 2.50 12.50 172.50 0.712488 - 2.50 12.50 177.50 1.29229 - 2.50 12.50 182.50 1.59627 - 2.50 12.50 187.50 1.29229 - 2.50 12.50 192.50 0.712488 - 2.50 12.50 197.50 0.305995 - 2.50 12.50 202.50 0.137474 - 2.50 12.50 207.50 0.0745082 - 2.50 12.50 212.50 0.0533663 - 2.50 12.50 217.50 0.0564789 - 2.50 12.50 222.50 0.0727373 - 2.50 12.50 227.50 0.0833499 - 2.50 12.50 232.50 0.0727373 - 2.50 12.50 237.50 0.0564789 - 2.50 12.50 242.50 0.0533663 - 2.50 12.50 247.50 0.0745083 - 2.50 12.50 252.50 0.137474 - 2.50 12.50 257.50 0.305996 - 2.50 12.50 262.50 0.71249 - 2.50 12.50 267.50 1.29229 - 2.50 12.50 272.50 1.59627 - 2.50 12.50 277.50 1.29228 - 2.50 12.50 282.50 0.712488 - 2.50 12.50 287.50 0.305995 - 2.50 12.50 292.50 0.137474 - 2.50 12.50 297.50 0.0745082 - 2.50 12.50 302.50 0.0533663 - 2.50 12.50 307.50 0.0564789 - 2.50 12.50 312.50 0.0727374 - 2.50 12.50 317.50 0.0833499 - 2.50 12.50 322.50 0.0727374 - 2.50 12.50 327.50 0.0564789 - 2.50 12.50 332.50 0.0533662 - 2.50 12.50 337.50 0.0745081 - 2.50 12.50 342.50 0.137474 - 2.50 12.50 347.50 0.305995 - 2.50 12.50 352.50 0.712487 - 2.50 12.50 357.50 1.29228 - 2.50 17.50 2.50 1.78132 - 2.50 17.50 7.50 1.49961 - 2.50 17.50 12.50 0.922101 - 2.50 17.50 17.50 0.474879 - 2.50 17.50 22.50 0.232682 - 2.50 17.50 27.50 0.106683 - 2.50 17.50 32.50 0.0442968 - 2.50 17.50 37.50 0.0422444 - 2.50 17.50 42.50 0.0669501 - 2.50 17.50 47.50 0.0823488 - 2.50 17.50 52.50 0.06695 - 2.50 17.50 57.50 0.0422444 - 2.50 17.50 62.50 0.0442969 - 2.50 17.50 67.50 0.106683 - 2.50 17.50 72.50 0.232683 - 2.50 17.50 77.50 0.474879 - 2.50 17.50 82.50 0.922101 - 2.50 17.50 87.50 1.49961 - 2.50 17.50 92.50 1.78132 - 2.50 17.50 97.50 1.49961 - 2.50 17.50 102.50 0.922101 - 2.50 17.50 107.50 0.474879 - 2.50 17.50 112.50 0.232682 - 2.50 17.50 117.50 0.106683 - 2.50 17.50 122.50 0.0442967 - 2.50 17.50 127.50 0.0422445 - 2.50 17.50 132.50 0.0669501 - 2.50 17.50 137.50 0.0823488 - 2.50 17.50 142.50 0.06695 - 2.50 17.50 147.50 0.0422444 - 2.50 17.50 152.50 0.0442968 - 2.50 17.50 157.50 0.106683 - 2.50 17.50 162.50 0.232682 - 2.50 17.50 167.50 0.474879 - 2.50 17.50 172.50 0.922101 - 2.50 17.50 177.50 1.49961 - 2.50 17.50 182.50 1.78132 - 2.50 17.50 187.50 1.49961 - 2.50 17.50 192.50 0.922101 - 2.50 17.50 197.50 0.474878 - 2.50 17.50 202.50 0.232682 - 2.50 17.50 207.50 0.106683 - 2.50 17.50 212.50 0.0442968 - 2.50 17.50 217.50 0.0422445 - 2.50 17.50 222.50 0.0669501 - 2.50 17.50 227.50 0.0823487 - 2.50 17.50 232.50 0.0669499 - 2.50 17.50 237.50 0.0422444 - 2.50 17.50 242.50 0.0442969 - 2.50 17.50 247.50 0.106683 - 2.50 17.50 252.50 0.232683 - 2.50 17.50 257.50 0.474879 - 2.50 17.50 262.50 0.922103 - 2.50 17.50 267.50 1.49961 - 2.50 17.50 272.50 1.78132 - 2.50 17.50 277.50 1.49961 - 2.50 17.50 282.50 0.922101 - 2.50 17.50 287.50 0.474879 - 2.50 17.50 292.50 0.232682 - 2.50 17.50 297.50 0.106683 - 2.50 17.50 302.50 0.0442969 - 2.50 17.50 307.50 0.0422444 - 2.50 17.50 312.50 0.0669501 - 2.50 17.50 317.50 0.0823487 - 2.50 17.50 322.50 0.0669501 - 2.50 17.50 327.50 0.0422444 - 2.50 17.50 332.50 0.0442968 - 2.50 17.50 337.50 0.106683 - 2.50 17.50 342.50 0.232682 - 2.50 17.50 347.50 0.474878 - 2.50 17.50 352.50 0.9221 - 2.50 17.50 357.50 1.49961 - 2.50 22.50 2.50 1.90406 - 2.50 22.50 7.50 1.67252 - 2.50 22.50 12.50 1.14035 - 2.50 22.50 17.50 0.656469 - 2.50 22.50 22.50 0.319308 - 2.50 22.50 27.50 0.138134 - 2.50 22.50 32.50 0.0639756 - 2.50 22.50 37.50 0.0402311 - 2.50 22.50 42.50 0.0410277 - 2.50 22.50 47.50 0.0480176 - 2.50 22.50 52.50 0.0410277 - 2.50 22.50 57.50 0.0402311 - 2.50 22.50 62.50 0.0639757 - 2.50 22.50 67.50 0.138134 - 2.50 22.50 72.50 0.319308 - 2.50 22.50 77.50 0.656469 - 2.50 22.50 82.50 1.14035 - 2.50 22.50 87.50 1.67252 - 2.50 22.50 92.50 1.90406 - 2.50 22.50 97.50 1.67252 - 2.50 22.50 102.50 1.14035 - 2.50 22.50 107.50 0.656469 - 2.50 22.50 112.50 0.319308 - 2.50 22.50 117.50 0.138134 - 2.50 22.50 122.50 0.0639756 - 2.50 22.50 127.50 0.0402311 - 2.50 22.50 132.50 0.0410277 - 2.50 22.50 137.50 0.0480175 - 2.50 22.50 142.50 0.0410277 - 2.50 22.50 147.50 0.0402312 - 2.50 22.50 152.50 0.0639756 - 2.50 22.50 157.50 0.138134 - 2.50 22.50 162.50 0.319308 - 2.50 22.50 167.50 0.656469 - 2.50 22.50 172.50 1.14035 - 2.50 22.50 177.50 1.67252 - 2.50 22.50 182.50 1.90406 - 2.50 22.50 187.50 1.67252 - 2.50 22.50 192.50 1.14035 - 2.50 22.50 197.50 0.656469 - 2.50 22.50 202.50 0.319308 - 2.50 22.50 207.50 0.138134 - 2.50 22.50 212.50 0.0639756 - 2.50 22.50 217.50 0.0402312 - 2.50 22.50 222.50 0.0410277 - 2.50 22.50 227.50 0.0480175 - 2.50 22.50 232.50 0.0410276 - 2.50 22.50 237.50 0.0402312 - 2.50 22.50 242.50 0.0639757 - 2.50 22.50 247.50 0.138135 - 2.50 22.50 252.50 0.319309 - 2.50 22.50 257.50 0.65647 - 2.50 22.50 262.50 1.14035 - 2.50 22.50 267.50 1.67252 - 2.50 22.50 272.50 1.90406 - 2.50 22.50 277.50 1.67252 - 2.50 22.50 282.50 1.14035 - 2.50 22.50 287.50 0.656469 - 2.50 22.50 292.50 0.319308 - 2.50 22.50 297.50 0.138134 - 2.50 22.50 302.50 0.0639757 - 2.50 22.50 307.50 0.0402312 - 2.50 22.50 312.50 0.0410277 - 2.50 22.50 317.50 0.0480176 - 2.50 22.50 322.50 0.0410277 - 2.50 22.50 327.50 0.0402312 - 2.50 22.50 332.50 0.0639756 - 2.50 22.50 337.50 0.138134 - 2.50 22.50 342.50 0.319307 - 2.50 22.50 347.50 0.656469 - 2.50 22.50 352.50 1.14035 - 2.50 22.50 357.50 1.67252 - 2.50 27.50 2.50 2.01833 - 2.50 27.50 7.50 1.81567 - 2.50 27.50 12.50 1.30406 - 2.50 27.50 17.50 0.780018 - 2.50 27.50 22.50 0.396484 - 2.50 27.50 27.50 0.178891 - 2.50 27.50 32.50 0.0744754 - 2.50 27.50 37.50 0.040116 - 2.50 27.50 42.50 0.0214562 - 2.50 27.50 47.50 0.0140425 - 2.50 27.50 52.50 0.0214562 - 2.50 27.50 57.50 0.0401161 - 2.50 27.50 62.50 0.0744755 - 2.50 27.50 67.50 0.178892 - 2.50 27.50 72.50 0.396484 - 2.50 27.50 77.50 0.780019 - 2.50 27.50 82.50 1.30406 - 2.50 27.50 87.50 1.81567 - 2.50 27.50 92.50 2.01833 - 2.50 27.50 97.50 1.81567 - 2.50 27.50 102.50 1.30406 - 2.50 27.50 107.50 0.780018 - 2.50 27.50 112.50 0.396484 - 2.50 27.50 117.50 0.178891 - 2.50 27.50 122.50 0.0744753 - 2.50 27.50 127.50 0.040116 - 2.50 27.50 132.50 0.0214562 - 2.50 27.50 137.50 0.0140425 - 2.50 27.50 142.50 0.0214562 - 2.50 27.50 147.50 0.0401161 - 2.50 27.50 152.50 0.0744754 - 2.50 27.50 157.50 0.178891 - 2.50 27.50 162.50 0.396484 - 2.50 27.50 167.50 0.780018 - 2.50 27.50 172.50 1.30406 - 2.50 27.50 177.50 1.81566 - 2.50 27.50 182.50 2.01833 - 2.50 27.50 187.50 1.81567 - 2.50 27.50 192.50 1.30406 - 2.50 27.50 197.50 0.780018 - 2.50 27.50 202.50 0.396484 - 2.50 27.50 207.50 0.178891 - 2.50 27.50 212.50 0.0744754 - 2.50 27.50 217.50 0.0401161 - 2.50 27.50 222.50 0.0214562 - 2.50 27.50 227.50 0.0140425 - 2.50 27.50 232.50 0.0214562 - 2.50 27.50 237.50 0.0401161 - 2.50 27.50 242.50 0.0744756 - 2.50 27.50 247.50 0.178892 - 2.50 27.50 252.50 0.396485 - 2.50 27.50 257.50 0.780019 - 2.50 27.50 262.50 1.30406 - 2.50 27.50 267.50 1.81567 - 2.50 27.50 272.50 2.01833 - 2.50 27.50 277.50 1.81567 - 2.50 27.50 282.50 1.30406 - 2.50 27.50 287.50 0.780018 - 2.50 27.50 292.50 0.396484 - 2.50 27.50 297.50 0.178891 - 2.50 27.50 302.50 0.0744754 - 2.50 27.50 307.50 0.0401161 - 2.50 27.50 312.50 0.0214562 - 2.50 27.50 317.50 0.0140425 - 2.50 27.50 322.50 0.0214562 - 2.50 27.50 327.50 0.0401161 - 2.50 27.50 332.50 0.0744753 - 2.50 27.50 337.50 0.178891 - 2.50 27.50 342.50 0.396484 - 2.50 27.50 347.50 0.780017 - 2.50 27.50 352.50 1.30406 - 2.50 27.50 357.50 1.81567 - 2.50 32.50 2.50 2.09376 - 2.50 32.50 7.50 1.90025 - 2.50 32.50 12.50 1.4145 - 2.50 32.50 17.50 0.882763 - 2.50 32.50 22.50 0.485034 - 2.50 32.50 27.50 0.222739 - 2.50 32.50 32.50 0.114577 - 2.50 32.50 37.50 0.0480735 - 2.50 32.50 42.50 0.0146966 - 2.50 32.50 47.50 0.00726674 - 2.50 32.50 52.50 0.0146966 - 2.50 32.50 57.50 0.0480735 - 2.50 32.50 62.50 0.114577 - 2.50 32.50 67.50 0.222739 - 2.50 32.50 72.50 0.485034 - 2.50 32.50 77.50 0.882763 - 2.50 32.50 82.50 1.4145 - 2.50 32.50 87.50 1.90025 - 2.50 32.50 92.50 2.09376 - 2.50 32.50 97.50 1.90025 - 2.50 32.50 102.50 1.4145 - 2.50 32.50 107.50 0.882763 - 2.50 32.50 112.50 0.485034 - 2.50 32.50 117.50 0.222739 - 2.50 32.50 122.50 0.114577 - 2.50 32.50 127.50 0.0480734 - 2.50 32.50 132.50 0.0146966 - 2.50 32.50 137.50 0.00726675 - 2.50 32.50 142.50 0.0146966 - 2.50 32.50 147.50 0.0480735 - 2.50 32.50 152.50 0.114577 - 2.50 32.50 157.50 0.222739 - 2.50 32.50 162.50 0.485034 - 2.50 32.50 167.50 0.882763 - 2.50 32.50 172.50 1.4145 - 2.50 32.50 177.50 1.90025 - 2.50 32.50 182.50 2.09376 - 2.50 32.50 187.50 1.90025 - 2.50 32.50 192.50 1.4145 - 2.50 32.50 197.50 0.882763 - 2.50 32.50 202.50 0.485034 - 2.50 32.50 207.50 0.222739 - 2.50 32.50 212.50 0.114577 - 2.50 32.50 217.50 0.0480735 - 2.50 32.50 222.50 0.0146966 - 2.50 32.50 227.50 0.00726676 - 2.50 32.50 232.50 0.0146966 - 2.50 32.50 237.50 0.0480736 - 2.50 32.50 242.50 0.114577 - 2.50 32.50 247.50 0.22274 - 2.50 32.50 252.50 0.485035 - 2.50 32.50 257.50 0.882764 - 2.50 32.50 262.50 1.4145 - 2.50 32.50 267.50 1.90025 - 2.50 32.50 272.50 2.09376 - 2.50 32.50 277.50 1.90025 - 2.50 32.50 282.50 1.4145 - 2.50 32.50 287.50 0.882763 - 2.50 32.50 292.50 0.485034 - 2.50 32.50 297.50 0.222739 - 2.50 32.50 302.50 0.114577 - 2.50 32.50 307.50 0.0480735 - 2.50 32.50 312.50 0.0146966 - 2.50 32.50 317.50 0.00726675 - 2.50 32.50 322.50 0.0146966 - 2.50 32.50 327.50 0.0480735 - 2.50 32.50 332.50 0.114577 - 2.50 32.50 337.50 0.222739 - 2.50 32.50 342.50 0.485033 - 2.50 32.50 347.50 0.882762 - 2.50 32.50 352.50 1.4145 - 2.50 32.50 357.50 1.90025 - 2.50 37.50 2.50 2.16641 - 2.50 37.50 7.50 1.98889 - 2.50 37.50 12.50 1.5664 - 2.50 37.50 17.50 1.07178 - 2.50 37.50 22.50 0.632949 - 2.50 37.50 27.50 0.342677 - 2.50 37.50 32.50 0.177973 - 2.50 37.50 37.50 0.0765709 - 2.50 37.50 42.50 0.0270765 - 2.50 37.50 47.50 0.0153218 - 2.50 37.50 52.50 0.0270766 - 2.50 37.50 57.50 0.0765711 - 2.50 37.50 62.50 0.177973 - 2.50 37.50 67.50 0.342677 - 2.50 37.50 72.50 0.632948 - 2.50 37.50 77.50 1.07178 - 2.50 37.50 82.50 1.5664 - 2.50 37.50 87.50 1.98889 - 2.50 37.50 92.50 2.16641 - 2.50 37.50 97.50 1.98889 - 2.50 37.50 102.50 1.5664 - 2.50 37.50 107.50 1.07178 - 2.50 37.50 112.50 0.632949 - 2.50 37.50 117.50 0.342676 - 2.50 37.50 122.50 0.177973 - 2.50 37.50 127.50 0.0765709 - 2.50 37.50 132.50 0.0270765 - 2.50 37.50 137.50 0.0153218 - 2.50 37.50 142.50 0.0270765 - 2.50 37.50 147.50 0.076571 - 2.50 37.50 152.50 0.177973 - 2.50 37.50 157.50 0.342676 - 2.50 37.50 162.50 0.632948 - 2.50 37.50 167.50 1.07178 - 2.50 37.50 172.50 1.5664 - 2.50 37.50 177.50 1.98889 - 2.50 37.50 182.50 2.16641 - 2.50 37.50 187.50 1.98889 - 2.50 37.50 192.50 1.5664 - 2.50 37.50 197.50 1.07178 - 2.50 37.50 202.50 0.632949 - 2.50 37.50 207.50 0.342677 - 2.50 37.50 212.50 0.177973 - 2.50 37.50 217.50 0.0765709 - 2.50 37.50 222.50 0.0270765 - 2.50 37.50 227.50 0.0153218 - 2.50 37.50 232.50 0.0270766 - 2.50 37.50 237.50 0.0765712 - 2.50 37.50 242.50 0.177973 - 2.50 37.50 247.50 0.342677 - 2.50 37.50 252.50 0.632949 - 2.50 37.50 257.50 1.07178 - 2.50 37.50 262.50 1.5664 - 2.50 37.50 267.50 1.98889 - 2.50 37.50 272.50 2.16641 - 2.50 37.50 277.50 1.98889 - 2.50 37.50 282.50 1.5664 - 2.50 37.50 287.50 1.07178 - 2.50 37.50 292.50 0.632949 - 2.50 37.50 297.50 0.342677 - 2.50 37.50 302.50 0.177973 - 2.50 37.50 307.50 0.076571 - 2.50 37.50 312.50 0.0270765 - 2.50 37.50 317.50 0.0153218 - 2.50 37.50 322.50 0.0270765 - 2.50 37.50 327.50 0.0765709 - 2.50 37.50 332.50 0.177973 - 2.50 37.50 337.50 0.342676 - 2.50 37.50 342.50 0.632948 - 2.50 37.50 347.50 1.07178 - 2.50 37.50 352.50 1.5664 - 2.50 37.50 357.50 1.98889 - 2.50 42.50 2.50 2.19339 - 2.50 42.50 7.50 2.07809 - 2.50 42.50 12.50 1.77901 - 2.50 42.50 17.50 1.32677 - 2.50 42.50 22.50 0.858282 - 2.50 42.50 27.50 0.510357 - 2.50 42.50 32.50 0.270874 - 2.50 42.50 37.50 0.130463 - 2.50 42.50 42.50 0.0604544 - 2.50 42.50 47.50 0.0430199 - 2.50 42.50 52.50 0.0604545 - 2.50 42.50 57.50 0.130463 - 2.50 42.50 62.50 0.270874 - 2.50 42.50 67.50 0.510358 - 2.50 42.50 72.50 0.858282 - 2.50 42.50 77.50 1.32677 - 2.50 42.50 82.50 1.77901 - 2.50 42.50 87.50 2.07809 - 2.50 42.50 92.50 2.19339 - 2.50 42.50 97.50 2.07809 - 2.50 42.50 102.50 1.77901 - 2.50 42.50 107.50 1.32677 - 2.50 42.50 112.50 0.858283 - 2.50 42.50 117.50 0.510357 - 2.50 42.50 122.50 0.270874 - 2.50 42.50 127.50 0.130463 - 2.50 42.50 132.50 0.0604544 - 2.50 42.50 137.50 0.0430199 - 2.50 42.50 142.50 0.0604545 - 2.50 42.50 147.50 0.130463 - 2.50 42.50 152.50 0.270874 - 2.50 42.50 157.50 0.510357 - 2.50 42.50 162.50 0.858282 - 2.50 42.50 167.50 1.32677 - 2.50 42.50 172.50 1.77901 - 2.50 42.50 177.50 2.07809 - 2.50 42.50 182.50 2.19339 - 2.50 42.50 187.50 2.07809 - 2.50 42.50 192.50 1.77901 - 2.50 42.50 197.50 1.32677 - 2.50 42.50 202.50 0.858282 - 2.50 42.50 207.50 0.510357 - 2.50 42.50 212.50 0.270874 - 2.50 42.50 217.50 0.130463 - 2.50 42.50 222.50 0.0604545 - 2.50 42.50 227.50 0.0430199 - 2.50 42.50 232.50 0.0604547 - 2.50 42.50 237.50 0.130463 - 2.50 42.50 242.50 0.270874 - 2.50 42.50 247.50 0.510358 - 2.50 42.50 252.50 0.858283 - 2.50 42.50 257.50 1.32677 - 2.50 42.50 262.50 1.77901 - 2.50 42.50 267.50 2.07809 - 2.50 42.50 272.50 2.19339 - 2.50 42.50 277.50 2.07809 - 2.50 42.50 282.50 1.77901 - 2.50 42.50 287.50 1.32677 - 2.50 42.50 292.50 0.858282 - 2.50 42.50 297.50 0.510358 - 2.50 42.50 302.50 0.270874 - 2.50 42.50 307.50 0.130463 - 2.50 42.50 312.50 0.0604545 - 2.50 42.50 317.50 0.0430199 - 2.50 42.50 322.50 0.0604544 - 2.50 42.50 327.50 0.130463 - 2.50 42.50 332.50 0.270874 - 2.50 42.50 337.50 0.510357 - 2.50 42.50 342.50 0.858281 - 2.50 42.50 347.50 1.32677 - 2.50 42.50 352.50 1.77901 - 2.50 42.50 357.50 2.07809 - 2.50 47.50 2.50 2.17973 - 2.50 47.50 7.50 2.15413 - 2.50 47.50 12.50 2.00856 - 2.50 47.50 17.50 1.60946 - 2.50 47.50 22.50 1.12116 - 2.50 47.50 27.50 0.643361 - 2.50 47.50 32.50 0.378453 - 2.50 47.50 37.50 0.198172 - 2.50 47.50 42.50 0.0930244 - 2.50 47.50 47.50 0.0770099 - 2.50 47.50 52.50 0.0930244 - 2.50 47.50 57.50 0.198172 - 2.50 47.50 62.50 0.378453 - 2.50 47.50 67.50 0.643361 - 2.50 47.50 72.50 1.12116 - 2.50 47.50 77.50 1.60946 - 2.50 47.50 82.50 2.00856 - 2.50 47.50 87.50 2.15413 - 2.50 47.50 92.50 2.17973 - 2.50 47.50 97.50 2.15413 - 2.50 47.50 102.50 2.00856 - 2.50 47.50 107.50 1.60946 - 2.50 47.50 112.50 1.12116 - 2.50 47.50 117.50 0.64336 - 2.50 47.50 122.50 0.378452 - 2.50 47.50 127.50 0.198172 - 2.50 47.50 132.50 0.0930244 - 2.50 47.50 137.50 0.0770099 - 2.50 47.50 142.50 0.0930245 - 2.50 47.50 147.50 0.198172 - 2.50 47.50 152.50 0.378453 - 2.50 47.50 157.50 0.643361 - 2.50 47.50 162.50 1.12116 - 2.50 47.50 167.50 1.60946 - 2.50 47.50 172.50 2.00856 - 2.50 47.50 177.50 2.15413 - 2.50 47.50 182.50 2.17973 - 2.50 47.50 187.50 2.15413 - 2.50 47.50 192.50 2.00856 - 2.50 47.50 197.50 1.60946 - 2.50 47.50 202.50 1.12116 - 2.50 47.50 207.50 0.643361 - 2.50 47.50 212.50 0.378453 - 2.50 47.50 217.50 0.198172 - 2.50 47.50 222.50 0.0930245 - 2.50 47.50 227.50 0.07701 - 2.50 47.50 232.50 0.0930246 - 2.50 47.50 237.50 0.198173 - 2.50 47.50 242.50 0.378453 - 2.50 47.50 247.50 0.643362 - 2.50 47.50 252.50 1.12116 - 2.50 47.50 257.50 1.60947 - 2.50 47.50 262.50 2.00856 - 2.50 47.50 267.50 2.15413 - 2.50 47.50 272.50 2.17973 - 2.50 47.50 277.50 2.15413 - 2.50 47.50 282.50 2.00856 - 2.50 47.50 287.50 1.60946 - 2.50 47.50 292.50 1.12116 - 2.50 47.50 297.50 0.643361 - 2.50 47.50 302.50 0.378453 - 2.50 47.50 307.50 0.198172 - 2.50 47.50 312.50 0.0930245 - 2.50 47.50 317.50 0.07701 - 2.50 47.50 322.50 0.0930244 - 2.50 47.50 327.50 0.198172 - 2.50 47.50 332.50 0.378453 - 2.50 47.50 337.50 0.64336 - 2.50 47.50 342.50 1.12116 - 2.50 47.50 347.50 1.60946 - 2.50 47.50 352.50 2.00856 - 2.50 47.50 357.50 2.15413 - 2.50 52.50 2.50 2.19339 - 2.50 52.50 7.50 2.2166 - 2.50 52.50 12.50 2.1694 - 2.50 52.50 17.50 1.82225 - 2.50 52.50 22.50 1.27034 - 2.50 52.50 27.50 0.787667 - 2.50 52.50 32.50 0.479776 - 2.50 52.50 37.50 0.252054 - 2.50 52.50 42.50 0.111526 - 2.50 52.50 47.50 0.075761 - 2.50 52.50 52.50 0.111525 - 2.50 52.50 57.50 0.252055 - 2.50 52.50 62.50 0.479776 - 2.50 52.50 67.50 0.787668 - 2.50 52.50 72.50 1.27034 - 2.50 52.50 77.50 1.82225 - 2.50 52.50 82.50 2.16939 - 2.50 52.50 87.50 2.2166 - 2.50 52.50 92.50 2.19339 - 2.50 52.50 97.50 2.2166 - 2.50 52.50 102.50 2.16939 - 2.50 52.50 107.50 1.82225 - 2.50 52.50 112.50 1.27034 - 2.50 52.50 117.50 0.787667 - 2.50 52.50 122.50 0.479776 - 2.50 52.50 127.50 0.252054 - 2.50 52.50 132.50 0.111525 - 2.50 52.50 137.50 0.0757611 - 2.50 52.50 142.50 0.111525 - 2.50 52.50 147.50 0.252055 - 2.50 52.50 152.50 0.479776 - 2.50 52.50 157.50 0.787667 - 2.50 52.50 162.50 1.27034 - 2.50 52.50 167.50 1.82225 - 2.50 52.50 172.50 2.16939 - 2.50 52.50 177.50 2.2166 - 2.50 52.50 182.50 2.19339 - 2.50 52.50 187.50 2.2166 - 2.50 52.50 192.50 2.16939 - 2.50 52.50 197.50 1.82225 - 2.50 52.50 202.50 1.27034 - 2.50 52.50 207.50 0.787667 - 2.50 52.50 212.50 0.479776 - 2.50 52.50 217.50 0.252054 - 2.50 52.50 222.50 0.111526 - 2.50 52.50 227.50 0.0757611 - 2.50 52.50 232.50 0.111526 - 2.50 52.50 237.50 0.252055 - 2.50 52.50 242.50 0.479777 - 2.50 52.50 247.50 0.787668 - 2.50 52.50 252.50 1.27034 - 2.50 52.50 257.50 1.82225 - 2.50 52.50 262.50 2.16939 - 2.50 52.50 267.50 2.2166 - 2.50 52.50 272.50 2.19339 - 2.50 52.50 277.50 2.2166 - 2.50 52.50 282.50 2.16939 - 2.50 52.50 287.50 1.82225 - 2.50 52.50 292.50 1.27034 - 2.50 52.50 297.50 0.787667 - 2.50 52.50 302.50 0.479776 - 2.50 52.50 307.50 0.252055 - 2.50 52.50 312.50 0.111526 - 2.50 52.50 317.50 0.0757611 - 2.50 52.50 322.50 0.111525 - 2.50 52.50 327.50 0.252054 - 2.50 52.50 332.50 0.479776 - 2.50 52.50 337.50 0.787667 - 2.50 52.50 342.50 1.27034 - 2.50 52.50 347.50 1.82224 - 2.50 52.50 352.50 2.16939 - 2.50 52.50 357.50 2.2166 - 2.50 57.50 2.50 2.16641 - 2.50 57.50 7.50 2.16719 - 2.50 57.50 12.50 2.15179 - 2.50 57.50 17.50 1.84381 - 2.50 57.50 22.50 1.2576 - 2.50 57.50 27.50 0.856183 - 2.50 57.50 32.50 0.520818 - 2.50 57.50 37.50 0.237794 - 2.50 57.50 42.50 0.0932043 - 2.50 57.50 47.50 0.0571566 - 2.50 57.50 52.50 0.0932043 - 2.50 57.50 57.50 0.237794 - 2.50 57.50 62.50 0.520818 - 2.50 57.50 67.50 0.856182 - 2.50 57.50 72.50 1.2576 - 2.50 57.50 77.50 1.84381 - 2.50 57.50 82.50 2.15179 - 2.50 57.50 87.50 2.16718 - 2.50 57.50 92.50 2.16641 - 2.50 57.50 97.50 2.16718 - 2.50 57.50 102.50 2.15179 - 2.50 57.50 107.50 1.84381 - 2.50 57.50 112.50 1.2576 - 2.50 57.50 117.50 0.856182 - 2.50 57.50 122.50 0.520818 - 2.50 57.50 127.50 0.237794 - 2.50 57.50 132.50 0.0932043 - 2.50 57.50 137.50 0.0571566 - 2.50 57.50 142.50 0.0932043 - 2.50 57.50 147.50 0.237794 - 2.50 57.50 152.50 0.520818 - 2.50 57.50 157.50 0.856182 - 2.50 57.50 162.50 1.2576 - 2.50 57.50 167.50 1.84381 - 2.50 57.50 172.50 2.15179 - 2.50 57.50 177.50 2.16718 - 2.50 57.50 182.50 2.16641 - 2.50 57.50 187.50 2.16718 - 2.50 57.50 192.50 2.15178 - 2.50 57.50 197.50 1.84381 - 2.50 57.50 202.50 1.2576 - 2.50 57.50 207.50 0.856182 - 2.50 57.50 212.50 0.520818 - 2.50 57.50 217.50 0.237794 - 2.50 57.50 222.50 0.0932044 - 2.50 57.50 227.50 0.0571566 - 2.50 57.50 232.50 0.0932047 - 2.50 57.50 237.50 0.237795 - 2.50 57.50 242.50 0.520818 - 2.50 57.50 247.50 0.856183 - 2.50 57.50 252.50 1.2576 - 2.50 57.50 257.50 1.84381 - 2.50 57.50 262.50 2.15179 - 2.50 57.50 267.50 2.16718 - 2.50 57.50 272.50 2.16641 - 2.50 57.50 277.50 2.16718 - 2.50 57.50 282.50 2.15179 - 2.50 57.50 287.50 1.84381 - 2.50 57.50 292.50 1.2576 - 2.50 57.50 297.50 0.856182 - 2.50 57.50 302.50 0.520818 - 2.50 57.50 307.50 0.237795 - 2.50 57.50 312.50 0.0932045 - 2.50 57.50 317.50 0.0571566 - 2.50 57.50 322.50 0.0932042 - 2.50 57.50 327.50 0.237794 - 2.50 57.50 332.50 0.520817 - 2.50 57.50 337.50 0.856181 - 2.50 57.50 342.50 1.2576 - 2.50 57.50 347.50 1.84381 - 2.50 57.50 352.50 2.15178 - 2.50 57.50 357.50 2.16718 - 2.50 62.50 2.50 2.09376 - 2.50 62.50 7.50 2.026 - 2.50 62.50 12.50 2.01018 - 2.50 62.50 17.50 1.69607 - 2.50 62.50 22.50 1.18241 - 2.50 62.50 27.50 0.761189 - 2.50 62.50 32.50 0.449296 - 2.50 62.50 37.50 0.214446 - 2.50 62.50 42.50 0.0667029 - 2.50 62.50 47.50 0.0264164 - 2.50 62.50 52.50 0.0667029 - 2.50 62.50 57.50 0.214446 - 2.50 62.50 62.50 0.449297 - 2.50 62.50 67.50 0.761189 - 2.50 62.50 72.50 1.18241 - 2.50 62.50 77.50 1.69607 - 2.50 62.50 82.50 2.01018 - 2.50 62.50 87.50 2.026 - 2.50 62.50 92.50 2.09376 - 2.50 62.50 97.50 2.026 - 2.50 62.50 102.50 2.01018 - 2.50 62.50 107.50 1.69607 - 2.50 62.50 112.50 1.18241 - 2.50 62.50 117.50 0.761188 - 2.50 62.50 122.50 0.449296 - 2.50 62.50 127.50 0.214446 - 2.50 62.50 132.50 0.0667029 - 2.50 62.50 137.50 0.0264164 - 2.50 62.50 142.50 0.066703 - 2.50 62.50 147.50 0.214446 - 2.50 62.50 152.50 0.449296 - 2.50 62.50 157.50 0.761188 - 2.50 62.50 162.50 1.18241 - 2.50 62.50 167.50 1.69607 - 2.50 62.50 172.50 2.01018 - 2.50 62.50 177.50 2.026 - 2.50 62.50 182.50 2.09376 - 2.50 62.50 187.50 2.026 - 2.50 62.50 192.50 2.01018 - 2.50 62.50 197.50 1.69607 - 2.50 62.50 202.50 1.18241 - 2.50 62.50 207.50 0.761189 - 2.50 62.50 212.50 0.449296 - 2.50 62.50 217.50 0.214446 - 2.50 62.50 222.50 0.0667029 - 2.50 62.50 227.50 0.0264164 - 2.50 62.50 232.50 0.066703 - 2.50 62.50 237.50 0.214447 - 2.50 62.50 242.50 0.449297 - 2.50 62.50 247.50 0.76119 - 2.50 62.50 252.50 1.18241 - 2.50 62.50 257.50 1.69607 - 2.50 62.50 262.50 2.01018 - 2.50 62.50 267.50 2.026 - 2.50 62.50 272.50 2.09376 - 2.50 62.50 277.50 2.026 - 2.50 62.50 282.50 2.01018 - 2.50 62.50 287.50 1.69607 - 2.50 62.50 292.50 1.18241 - 2.50 62.50 297.50 0.761189 - 2.50 62.50 302.50 0.449297 - 2.50 62.50 307.50 0.214446 - 2.50 62.50 312.50 0.066703 - 2.50 62.50 317.50 0.0264164 - 2.50 62.50 322.50 0.0667029 - 2.50 62.50 327.50 0.214446 - 2.50 62.50 332.50 0.449296 - 2.50 62.50 337.50 0.761188 - 2.50 62.50 342.50 1.18241 - 2.50 62.50 347.50 1.69607 - 2.50 62.50 352.50 2.01018 - 2.50 62.50 357.50 2.026 - 2.50 67.50 2.50 2.01833 - 2.50 67.50 7.50 1.89111 - 2.50 67.50 12.50 1.80767 - 2.50 67.50 17.50 1.56527 - 2.50 67.50 22.50 1.11589 - 2.50 67.50 27.50 0.715156 - 2.50 67.50 32.50 0.405548 - 2.50 67.50 37.50 0.165625 - 2.50 67.50 42.50 0.0585949 - 2.50 67.50 47.50 0.0276749 - 2.50 67.50 52.50 0.0585949 - 2.50 67.50 57.50 0.165625 - 2.50 67.50 62.50 0.405549 - 2.50 67.50 67.50 0.715156 - 2.50 67.50 72.50 1.11589 - 2.50 67.50 77.50 1.56527 - 2.50 67.50 82.50 1.80767 - 2.50 67.50 87.50 1.89112 - 2.50 67.50 92.50 2.01833 - 2.50 67.50 97.50 1.89111 - 2.50 67.50 102.50 1.80767 - 2.50 67.50 107.50 1.56527 - 2.50 67.50 112.50 1.11589 - 2.50 67.50 117.50 0.715155 - 2.50 67.50 122.50 0.405548 - 2.50 67.50 127.50 0.165625 - 2.50 67.50 132.50 0.0585948 - 2.50 67.50 137.50 0.0276749 - 2.50 67.50 142.50 0.0585949 - 2.50 67.50 147.50 0.165625 - 2.50 67.50 152.50 0.405548 - 2.50 67.50 157.50 0.715155 - 2.50 67.50 162.50 1.11589 - 2.50 67.50 167.50 1.56527 - 2.50 67.50 172.50 1.80767 - 2.50 67.50 177.50 1.89112 - 2.50 67.50 182.50 2.01833 - 2.50 67.50 187.50 1.89111 - 2.50 67.50 192.50 1.80768 - 2.50 67.50 197.50 1.56527 - 2.50 67.50 202.50 1.11589 - 2.50 67.50 207.50 0.715155 - 2.50 67.50 212.50 0.405548 - 2.50 67.50 217.50 0.165625 - 2.50 67.50 222.50 0.0585949 - 2.50 67.50 227.50 0.0276749 - 2.50 67.50 232.50 0.0585951 - 2.50 67.50 237.50 0.165626 - 2.50 67.50 242.50 0.405549 - 2.50 67.50 247.50 0.715156 - 2.50 67.50 252.50 1.11589 - 2.50 67.50 257.50 1.56527 - 2.50 67.50 262.50 1.80768 - 2.50 67.50 267.50 1.89111 - 2.50 67.50 272.50 2.01833 - 2.50 67.50 277.50 1.89111 - 2.50 67.50 282.50 1.80767 - 2.50 67.50 287.50 1.56527 - 2.50 67.50 292.50 1.11589 - 2.50 67.50 297.50 0.715156 - 2.50 67.50 302.50 0.405549 - 2.50 67.50 307.50 0.165625 - 2.50 67.50 312.50 0.0585949 - 2.50 67.50 317.50 0.0276749 - 2.50 67.50 322.50 0.0585948 - 2.50 67.50 327.50 0.165625 - 2.50 67.50 332.50 0.405548 - 2.50 67.50 337.50 0.715155 - 2.50 67.50 342.50 1.11589 - 2.50 67.50 347.50 1.56527 - 2.50 67.50 352.50 1.80768 - 2.50 67.50 357.50 1.89111 - 2.50 72.50 2.50 1.90406 - 2.50 72.50 7.50 1.72446 - 2.50 72.50 12.50 1.66054 - 2.50 72.50 17.50 1.42051 - 2.50 72.50 22.50 1.1502 - 2.50 72.50 27.50 0.778984 - 2.50 72.50 32.50 0.390482 - 2.50 72.50 37.50 0.165498 - 2.50 72.50 42.50 0.0573708 - 2.50 72.50 47.50 0.0244137 - 2.50 72.50 52.50 0.0573708 - 2.50 72.50 57.50 0.165498 - 2.50 72.50 62.50 0.390482 - 2.50 72.50 67.50 0.778984 - 2.50 72.50 72.50 1.1502 - 2.50 72.50 77.50 1.42051 - 2.50 72.50 82.50 1.66054 - 2.50 72.50 87.50 1.72446 - 2.50 72.50 92.50 1.90406 - 2.50 72.50 97.50 1.72446 - 2.50 72.50 102.50 1.66054 - 2.50 72.50 107.50 1.42051 - 2.50 72.50 112.50 1.1502 - 2.50 72.50 117.50 0.778983 - 2.50 72.50 122.50 0.390481 - 2.50 72.50 127.50 0.165498 - 2.50 72.50 132.50 0.0573707 - 2.50 72.50 137.50 0.0244137 - 2.50 72.50 142.50 0.0573708 - 2.50 72.50 147.50 0.165498 - 2.50 72.50 152.50 0.390482 - 2.50 72.50 157.50 0.778984 - 2.50 72.50 162.50 1.1502 - 2.50 72.50 167.50 1.42051 - 2.50 72.50 172.50 1.66054 - 2.50 72.50 177.50 1.72446 - 2.50 72.50 182.50 1.90406 - 2.50 72.50 187.50 1.72446 - 2.50 72.50 192.50 1.66054 - 2.50 72.50 197.50 1.42051 - 2.50 72.50 202.50 1.1502 - 2.50 72.50 207.50 0.778984 - 2.50 72.50 212.50 0.390482 - 2.50 72.50 217.50 0.165498 - 2.50 72.50 222.50 0.0573708 - 2.50 72.50 227.50 0.0244137 - 2.50 72.50 232.50 0.057371 - 2.50 72.50 237.50 0.165499 - 2.50 72.50 242.50 0.390482 - 2.50 72.50 247.50 0.778985 - 2.50 72.50 252.50 1.1502 - 2.50 72.50 257.50 1.42051 - 2.50 72.50 262.50 1.66054 - 2.50 72.50 267.50 1.72446 - 2.50 72.50 272.50 1.90406 - 2.50 72.50 277.50 1.72446 - 2.50 72.50 282.50 1.66054 - 2.50 72.50 287.50 1.42051 - 2.50 72.50 292.50 1.1502 - 2.50 72.50 297.50 0.778984 - 2.50 72.50 302.50 0.390482 - 2.50 72.50 307.50 0.165498 - 2.50 72.50 312.50 0.0573708 - 2.50 72.50 317.50 0.0244137 - 2.50 72.50 322.50 0.0573706 - 2.50 72.50 327.50 0.165498 - 2.50 72.50 332.50 0.390481 - 2.50 72.50 337.50 0.778983 - 2.50 72.50 342.50 1.1502 - 2.50 72.50 347.50 1.42051 - 2.50 72.50 352.50 1.66054 - 2.50 72.50 357.50 1.72446 - 2.50 77.50 2.50 1.78132 - 2.50 77.50 7.50 1.56299 - 2.50 77.50 12.50 1.50342 - 2.50 77.50 17.50 1.33642 - 2.50 77.50 22.50 1.09963 - 2.50 77.50 27.50 0.724628 - 2.50 77.50 32.50 0.404642 - 2.50 77.50 37.50 0.164971 - 2.50 77.50 42.50 0.0461097 - 2.50 77.50 47.50 0.0182577 - 2.50 77.50 52.50 0.0461098 - 2.50 77.50 57.50 0.164971 - 2.50 77.50 62.50 0.404642 - 2.50 77.50 67.50 0.724628 - 2.50 77.50 72.50 1.09963 - 2.50 77.50 77.50 1.33642 - 2.50 77.50 82.50 1.50342 - 2.50 77.50 87.50 1.56299 - 2.50 77.50 92.50 1.78132 - 2.50 77.50 97.50 1.56299 - 2.50 77.50 102.50 1.50342 - 2.50 77.50 107.50 1.33642 - 2.50 77.50 112.50 1.09963 - 2.50 77.50 117.50 0.724627 - 2.50 77.50 122.50 0.404641 - 2.50 77.50 127.50 0.164971 - 2.50 77.50 132.50 0.0461097 - 2.50 77.50 137.50 0.0182577 - 2.50 77.50 142.50 0.0461098 - 2.50 77.50 147.50 0.164971 - 2.50 77.50 152.50 0.404641 - 2.50 77.50 157.50 0.724628 - 2.50 77.50 162.50 1.09963 - 2.50 77.50 167.50 1.33642 - 2.50 77.50 172.50 1.50342 - 2.50 77.50 177.50 1.56299 - 2.50 77.50 182.50 1.78132 - 2.50 77.50 187.50 1.56299 - 2.50 77.50 192.50 1.50342 - 2.50 77.50 197.50 1.33642 - 2.50 77.50 202.50 1.09963 - 2.50 77.50 207.50 0.724628 - 2.50 77.50 212.50 0.404641 - 2.50 77.50 217.50 0.164971 - 2.50 77.50 222.50 0.0461098 - 2.50 77.50 227.50 0.0182577 - 2.50 77.50 232.50 0.04611 - 2.50 77.50 237.50 0.164971 - 2.50 77.50 242.50 0.404642 - 2.50 77.50 247.50 0.724628 - 2.50 77.50 252.50 1.09963 - 2.50 77.50 257.50 1.33642 - 2.50 77.50 262.50 1.50342 - 2.50 77.50 267.50 1.56299 - 2.50 77.50 272.50 1.78132 - 2.50 77.50 277.50 1.56299 - 2.50 77.50 282.50 1.50342 - 2.50 77.50 287.50 1.33642 - 2.50 77.50 292.50 1.09963 - 2.50 77.50 297.50 0.724628 - 2.50 77.50 302.50 0.404642 - 2.50 77.50 307.50 0.164971 - 2.50 77.50 312.50 0.0461098 - 2.50 77.50 317.50 0.0182577 - 2.50 77.50 322.50 0.0461097 - 2.50 77.50 327.50 0.164971 - 2.50 77.50 332.50 0.404641 - 2.50 77.50 337.50 0.724627 - 2.50 77.50 342.50 1.09963 - 2.50 77.50 347.50 1.33642 - 2.50 77.50 352.50 1.50342 - 2.50 77.50 357.50 1.56299 - 2.50 82.50 2.50 1.59627 - 2.50 82.50 7.50 1.42598 - 2.50 82.50 12.50 1.30618 - 2.50 82.50 17.50 1.25325 - 2.50 82.50 22.50 1.00248 - 2.50 82.50 27.50 0.612632 - 2.50 82.50 32.50 0.295039 - 2.50 82.50 37.50 0.114316 - 2.50 82.50 42.50 0.03619 - 2.50 82.50 47.50 0.0155044 - 2.50 82.50 52.50 0.03619 - 2.50 82.50 57.50 0.114316 - 2.50 82.50 62.50 0.295039 - 2.50 82.50 67.50 0.612632 - 2.50 82.50 72.50 1.00248 - 2.50 82.50 77.50 1.25325 - 2.50 82.50 82.50 1.30618 - 2.50 82.50 87.50 1.42599 - 2.50 82.50 92.50 1.59627 - 2.50 82.50 97.50 1.42598 - 2.50 82.50 102.50 1.30618 - 2.50 82.50 107.50 1.25326 - 2.50 82.50 112.50 1.00248 - 2.50 82.50 117.50 0.612631 - 2.50 82.50 122.50 0.295039 - 2.50 82.50 127.50 0.114316 - 2.50 82.50 132.50 0.0361899 - 2.50 82.50 137.50 0.0155044 - 2.50 82.50 142.50 0.03619 - 2.50 82.50 147.50 0.114316 - 2.50 82.50 152.50 0.295039 - 2.50 82.50 157.50 0.612632 - 2.50 82.50 162.50 1.00248 - 2.50 82.50 167.50 1.25325 - 2.50 82.50 172.50 1.30618 - 2.50 82.50 177.50 1.42599 - 2.50 82.50 182.50 1.59627 - 2.50 82.50 187.50 1.42598 - 2.50 82.50 192.50 1.30618 - 2.50 82.50 197.50 1.25326 - 2.50 82.50 202.50 1.00248 - 2.50 82.50 207.50 0.612632 - 2.50 82.50 212.50 0.295039 - 2.50 82.50 217.50 0.114316 - 2.50 82.50 222.50 0.03619 - 2.50 82.50 227.50 0.0155044 - 2.50 82.50 232.50 0.0361901 - 2.50 82.50 237.50 0.114317 - 2.50 82.50 242.50 0.295039 - 2.50 82.50 247.50 0.612633 - 2.50 82.50 252.50 1.00248 - 2.50 82.50 257.50 1.25326 - 2.50 82.50 262.50 1.30618 - 2.50 82.50 267.50 1.42599 - 2.50 82.50 272.50 1.59627 - 2.50 82.50 277.50 1.42598 - 2.50 82.50 282.50 1.30618 - 2.50 82.50 287.50 1.25325 - 2.50 82.50 292.50 1.00248 - 2.50 82.50 297.50 0.612632 - 2.50 82.50 302.50 0.295039 - 2.50 82.50 307.50 0.114316 - 2.50 82.50 312.50 0.03619 - 2.50 82.50 317.50 0.0155044 - 2.50 82.50 322.50 0.0361899 - 2.50 82.50 327.50 0.114316 - 2.50 82.50 332.50 0.295038 - 2.50 82.50 337.50 0.612631 - 2.50 82.50 342.50 1.00248 - 2.50 82.50 347.50 1.25325 - 2.50 82.50 352.50 1.30618 - 2.50 82.50 357.50 1.42598 - 2.50 87.50 2.50 1.24804 - 2.50 87.50 7.50 1.05843 - 2.50 87.50 12.50 1.07857 - 2.50 87.50 17.50 0.938111 - 2.50 87.50 22.50 0.72342 - 2.50 87.50 27.50 0.454032 - 2.50 87.50 32.50 0.227926 - 2.50 87.50 37.50 0.107273 - 2.50 87.50 42.50 0.0488811 - 2.50 87.50 47.50 0.0290155 - 2.50 87.50 52.50 0.0488811 - 2.50 87.50 57.50 0.107273 - 2.50 87.50 62.50 0.227927 - 2.50 87.50 67.50 0.454032 - 2.50 87.50 72.50 0.723421 - 2.50 87.50 77.50 0.938111 - 2.50 87.50 82.50 1.07857 - 2.50 87.50 87.50 1.05843 - 2.50 87.50 92.50 1.24804 - 2.50 87.50 97.50 1.05843 - 2.50 87.50 102.50 1.07857 - 2.50 87.50 107.50 0.938112 - 2.50 87.50 112.50 0.723421 - 2.50 87.50 117.50 0.454032 - 2.50 87.50 122.50 0.227926 - 2.50 87.50 127.50 0.107273 - 2.50 87.50 132.50 0.048881 - 2.50 87.50 137.50 0.0290154 - 2.50 87.50 142.50 0.0488811 - 2.50 87.50 147.50 0.107273 - 2.50 87.50 152.50 0.227926 - 2.50 87.50 157.50 0.454032 - 2.50 87.50 162.50 0.723421 - 2.50 87.50 167.50 0.938111 - 2.50 87.50 172.50 1.07857 - 2.50 87.50 177.50 1.05843 - 2.50 87.50 182.50 1.24805 - 2.50 87.50 187.50 1.05843 - 2.50 87.50 192.50 1.07857 - 2.50 87.50 197.50 0.938112 - 2.50 87.50 202.50 0.723421 - 2.50 87.50 207.50 0.454032 - 2.50 87.50 212.50 0.227927 - 2.50 87.50 217.50 0.107273 - 2.50 87.50 222.50 0.0488811 - 2.50 87.50 227.50 0.0290154 - 2.50 87.50 232.50 0.0488812 - 2.50 87.50 237.50 0.107273 - 2.50 87.50 242.50 0.227927 - 2.50 87.50 247.50 0.454032 - 2.50 87.50 252.50 0.723421 - 2.50 87.50 257.50 0.938111 - 2.50 87.50 262.50 1.07857 - 2.50 87.50 267.50 1.05843 - 2.50 87.50 272.50 1.24805 - 2.50 87.50 277.50 1.05843 - 2.50 87.50 282.50 1.07857 - 2.50 87.50 287.50 0.938112 - 2.50 87.50 292.50 0.723421 - 2.50 87.50 297.50 0.454032 - 2.50 87.50 302.50 0.227927 - 2.50 87.50 307.50 0.107273 - 2.50 87.50 312.50 0.0488811 - 2.50 87.50 317.50 0.0290155 - 2.50 87.50 322.50 0.048881 - 2.50 87.50 327.50 0.107273 - 2.50 87.50 332.50 0.227926 - 2.50 87.50 337.50 0.454032 - 2.50 87.50 342.50 0.72342 - 2.50 87.50 347.50 0.938111 - 2.50 87.50 352.50 1.07857 - 2.50 87.50 357.50 1.05843 - 2.50 92.50 2.50 0.980476 - 2.50 92.50 7.50 0.827943 - 2.50 92.50 12.50 0.79997 - 2.50 92.50 17.50 0.711647 - 2.50 92.50 22.50 0.546005 - 2.50 92.50 27.50 0.349564 - 2.50 92.50 32.50 0.209129 - 2.50 92.50 37.50 0.132396 - 2.50 92.50 42.50 0.0754697 - 2.50 92.50 47.50 0.0484155 - 2.50 92.50 52.50 0.0754697 - 2.50 92.50 57.50 0.132396 - 2.50 92.50 62.50 0.209129 - 2.50 92.50 67.50 0.349565 - 2.50 92.50 72.50 0.546005 - 2.50 92.50 77.50 0.711647 - 2.50 92.50 82.50 0.79997 - 2.50 92.50 87.50 0.827943 - 2.50 92.50 92.50 0.980476 - 2.50 92.50 97.50 0.827943 - 2.50 92.50 102.50 0.79997 - 2.50 92.50 107.50 0.711647 - 2.50 92.50 112.50 0.546005 - 2.50 92.50 117.50 0.349564 - 2.50 92.50 122.50 0.209129 - 2.50 92.50 127.50 0.132396 - 2.50 92.50 132.50 0.0754697 - 2.50 92.50 137.50 0.0484155 - 2.50 92.50 142.50 0.0754697 - 2.50 92.50 147.50 0.132396 - 2.50 92.50 152.50 0.209129 - 2.50 92.50 157.50 0.349564 - 2.50 92.50 162.50 0.546004 - 2.50 92.50 167.50 0.711647 - 2.50 92.50 172.50 0.79997 - 2.50 92.50 177.50 0.827942 - 2.50 92.50 182.50 0.980476 - 2.50 92.50 187.50 0.827943 - 2.50 92.50 192.50 0.79997 - 2.50 92.50 197.50 0.711647 - 2.50 92.50 202.50 0.546004 - 2.50 92.50 207.50 0.349564 - 2.50 92.50 212.50 0.209129 - 2.50 92.50 217.50 0.132396 - 2.50 92.50 222.50 0.0754697 - 2.50 92.50 227.50 0.0484155 - 2.50 92.50 232.50 0.0754698 - 2.50 92.50 237.50 0.132396 - 2.50 92.50 242.50 0.209129 - 2.50 92.50 247.50 0.349565 - 2.50 92.50 252.50 0.546005 - 2.50 92.50 257.50 0.711648 - 2.50 92.50 262.50 0.79997 - 2.50 92.50 267.50 0.827943 - 2.50 92.50 272.50 0.980476 - 2.50 92.50 277.50 0.827943 - 2.50 92.50 282.50 0.79997 - 2.50 92.50 287.50 0.711647 - 2.50 92.50 292.50 0.546005 - 2.50 92.50 297.50 0.349565 - 2.50 92.50 302.50 0.209129 - 2.50 92.50 307.50 0.132396 - 2.50 92.50 312.50 0.0754698 - 2.50 92.50 317.50 0.0484156 - 2.50 92.50 322.50 0.0754696 - 2.50 92.50 327.50 0.132396 - 2.50 92.50 332.50 0.209129 - 2.50 92.50 337.50 0.349564 - 2.50 92.50 342.50 0.546004 - 2.50 92.50 347.50 0.711647 - 2.50 92.50 352.50 0.79997 - 2.50 92.50 357.50 0.827942 - 2.50 97.50 2.50 1.24805 - 2.50 97.50 7.50 1.05843 - 2.50 97.50 12.50 1.07857 - 2.50 97.50 17.50 0.938112 - 2.50 97.50 22.50 0.723421 - 2.50 97.50 27.50 0.454032 - 2.50 97.50 32.50 0.227927 - 2.50 97.50 37.50 0.107273 - 2.50 97.50 42.50 0.0488811 - 2.50 97.50 47.50 0.0290154 - 2.50 97.50 52.50 0.0488811 - 2.50 97.50 57.50 0.107273 - 2.50 97.50 62.50 0.227927 - 2.50 97.50 67.50 0.454032 - 2.50 97.50 72.50 0.723421 - 2.50 97.50 77.50 0.938111 - 2.50 97.50 82.50 1.07857 - 2.50 97.50 87.50 1.05843 - 2.50 97.50 92.50 1.24805 - 2.50 97.50 97.50 1.05843 - 2.50 97.50 102.50 1.07857 - 2.50 97.50 107.50 0.938111 - 2.50 97.50 112.50 0.723421 - 2.50 97.50 117.50 0.454032 - 2.50 97.50 122.50 0.227926 - 2.50 97.50 127.50 0.107273 - 2.50 97.50 132.50 0.048881 - 2.50 97.50 137.50 0.0290155 - 2.50 97.50 142.50 0.0488811 - 2.50 97.50 147.50 0.107273 - 2.50 97.50 152.50 0.227926 - 2.50 97.50 157.50 0.454032 - 2.50 97.50 162.50 0.723421 - 2.50 97.50 167.50 0.938112 - 2.50 97.50 172.50 1.07857 - 2.50 97.50 177.50 1.05843 - 2.50 97.50 182.50 1.24805 - 2.50 97.50 187.50 1.05843 - 2.50 97.50 192.50 1.07857 - 2.50 97.50 197.50 0.938111 - 2.50 97.50 202.50 0.72342 - 2.50 97.50 207.50 0.454032 - 2.50 97.50 212.50 0.227926 - 2.50 97.50 217.50 0.107273 - 2.50 97.50 222.50 0.0488811 - 2.50 97.50 227.50 0.0290155 - 2.50 97.50 232.50 0.0488812 - 2.50 97.50 237.50 0.107273 - 2.50 97.50 242.50 0.227927 - 2.50 97.50 247.50 0.454032 - 2.50 97.50 252.50 0.723421 - 2.50 97.50 257.50 0.938111 - 2.50 97.50 262.50 1.07857 - 2.50 97.50 267.50 1.05843 - 2.50 97.50 272.50 1.24804 - 2.50 97.50 277.50 1.05843 - 2.50 97.50 282.50 1.07857 - 2.50 97.50 287.50 0.938111 - 2.50 97.50 292.50 0.723421 - 2.50 97.50 297.50 0.454032 - 2.50 97.50 302.50 0.227927 - 2.50 97.50 307.50 0.107273 - 2.50 97.50 312.50 0.0488811 - 2.50 97.50 317.50 0.0290154 - 2.50 97.50 322.50 0.048881 - 2.50 97.50 327.50 0.107273 - 2.50 97.50 332.50 0.227926 - 2.50 97.50 337.50 0.454031 - 2.50 97.50 342.50 0.72342 - 2.50 97.50 347.50 0.938111 - 2.50 97.50 352.50 1.07857 - 2.50 97.50 357.50 1.05843 - 2.50 102.50 2.50 1.59627 - 2.50 102.50 7.50 1.42598 - 2.50 102.50 12.50 1.30618 - 2.50 102.50 17.50 1.25326 - 2.50 102.50 22.50 1.00248 - 2.50 102.50 27.50 0.612632 - 2.50 102.50 32.50 0.295039 - 2.50 102.50 37.50 0.114316 - 2.50 102.50 42.50 0.03619 - 2.50 102.50 47.50 0.0155044 - 2.50 102.50 52.50 0.03619 - 2.50 102.50 57.50 0.114316 - 2.50 102.50 62.50 0.295039 - 2.50 102.50 67.50 0.612632 - 2.50 102.50 72.50 1.00248 - 2.50 102.50 77.50 1.25325 - 2.50 102.50 82.50 1.30618 - 2.50 102.50 87.50 1.42598 - 2.50 102.50 92.50 1.59627 - 2.50 102.50 97.50 1.42598 - 2.50 102.50 102.50 1.30618 - 2.50 102.50 107.50 1.25326 - 2.50 102.50 112.50 1.00248 - 2.50 102.50 117.50 0.612631 - 2.50 102.50 122.50 0.295038 - 2.50 102.50 127.50 0.114316 - 2.50 102.50 132.50 0.0361899 - 2.50 102.50 137.50 0.0155044 - 2.50 102.50 142.50 0.03619 - 2.50 102.50 147.50 0.114316 - 2.50 102.50 152.50 0.295039 - 2.50 102.50 157.50 0.612632 - 2.50 102.50 162.50 1.00248 - 2.50 102.50 167.50 1.25325 - 2.50 102.50 172.50 1.30618 - 2.50 102.50 177.50 1.42598 - 2.50 102.50 182.50 1.59627 - 2.50 102.50 187.50 1.42598 - 2.50 102.50 192.50 1.30618 - 2.50 102.50 197.50 1.25326 - 2.50 102.50 202.50 1.00248 - 2.50 102.50 207.50 0.612632 - 2.50 102.50 212.50 0.295039 - 2.50 102.50 217.50 0.114316 - 2.50 102.50 222.50 0.03619 - 2.50 102.50 227.50 0.0155045 - 2.50 102.50 232.50 0.0361901 - 2.50 102.50 237.50 0.114317 - 2.50 102.50 242.50 0.295039 - 2.50 102.50 247.50 0.612632 - 2.50 102.50 252.50 1.00248 - 2.50 102.50 257.50 1.25325 - 2.50 102.50 262.50 1.30618 - 2.50 102.50 267.50 1.42599 - 2.50 102.50 272.50 1.59627 - 2.50 102.50 277.50 1.42598 - 2.50 102.50 282.50 1.30618 - 2.50 102.50 287.50 1.25326 - 2.50 102.50 292.50 1.00248 - 2.50 102.50 297.50 0.612632 - 2.50 102.50 302.50 0.295039 - 2.50 102.50 307.50 0.114316 - 2.50 102.50 312.50 0.03619 - 2.50 102.50 317.50 0.0155044 - 2.50 102.50 322.50 0.0361899 - 2.50 102.50 327.50 0.114316 - 2.50 102.50 332.50 0.295038 - 2.50 102.50 337.50 0.612631 - 2.50 102.50 342.50 1.00248 - 2.50 102.50 347.50 1.25325 - 2.50 102.50 352.50 1.30618 - 2.50 102.50 357.50 1.42599 - 2.50 107.50 2.50 1.78132 - 2.50 107.50 7.50 1.56299 - 2.50 107.50 12.50 1.50342 - 2.50 107.50 17.50 1.33642 - 2.50 107.50 22.50 1.09963 - 2.50 107.50 27.50 0.724627 - 2.50 107.50 32.50 0.404641 - 2.50 107.50 37.50 0.164971 - 2.50 107.50 42.50 0.0461097 - 2.50 107.50 47.50 0.0182577 - 2.50 107.50 52.50 0.0461098 - 2.50 107.50 57.50 0.164971 - 2.50 107.50 62.50 0.404642 - 2.50 107.50 67.50 0.724628 - 2.50 107.50 72.50 1.09963 - 2.50 107.50 77.50 1.33642 - 2.50 107.50 82.50 1.50342 - 2.50 107.50 87.50 1.56299 - 2.50 107.50 92.50 1.78132 - 2.50 107.50 97.50 1.56299 - 2.50 107.50 102.50 1.50342 - 2.50 107.50 107.50 1.33642 - 2.50 107.50 112.50 1.09963 - 2.50 107.50 117.50 0.724627 - 2.50 107.50 122.50 0.404641 - 2.50 107.50 127.50 0.164971 - 2.50 107.50 132.50 0.0461097 - 2.50 107.50 137.50 0.0182577 - 2.50 107.50 142.50 0.0461098 - 2.50 107.50 147.50 0.164971 - 2.50 107.50 152.50 0.404642 - 2.50 107.50 157.50 0.724628 - 2.50 107.50 162.50 1.09963 - 2.50 107.50 167.50 1.33642 - 2.50 107.50 172.50 1.50342 - 2.50 107.50 177.50 1.56299 - 2.50 107.50 182.50 1.78132 - 2.50 107.50 187.50 1.56299 - 2.50 107.50 192.50 1.50342 - 2.50 107.50 197.50 1.33642 - 2.50 107.50 202.50 1.09963 - 2.50 107.50 207.50 0.724628 - 2.50 107.50 212.50 0.404642 - 2.50 107.50 217.50 0.164971 - 2.50 107.50 222.50 0.0461098 - 2.50 107.50 227.50 0.0182577 - 2.50 107.50 232.50 0.0461099 - 2.50 107.50 237.50 0.164971 - 2.50 107.50 242.50 0.404642 - 2.50 107.50 247.50 0.724628 - 2.50 107.50 252.50 1.09963 - 2.50 107.50 257.50 1.33642 - 2.50 107.50 262.50 1.50342 - 2.50 107.50 267.50 1.56299 - 2.50 107.50 272.50 1.78132 - 2.50 107.50 277.50 1.56299 - 2.50 107.50 282.50 1.50342 - 2.50 107.50 287.50 1.33642 - 2.50 107.50 292.50 1.09963 - 2.50 107.50 297.50 0.724628 - 2.50 107.50 302.50 0.404642 - 2.50 107.50 307.50 0.164971 - 2.50 107.50 312.50 0.0461098 - 2.50 107.50 317.50 0.0182577 - 2.50 107.50 322.50 0.0461097 - 2.50 107.50 327.50 0.164971 - 2.50 107.50 332.50 0.404641 - 2.50 107.50 337.50 0.724627 - 2.50 107.50 342.50 1.09963 - 2.50 107.50 347.50 1.33642 - 2.50 107.50 352.50 1.50342 - 2.50 107.50 357.50 1.56299 - 2.50 112.50 2.50 1.90406 - 2.50 112.50 7.50 1.72446 - 2.50 112.50 12.50 1.66054 - 2.50 112.50 17.50 1.42051 - 2.50 112.50 22.50 1.1502 - 2.50 112.50 27.50 0.778983 - 2.50 112.50 32.50 0.390482 - 2.50 112.50 37.50 0.165498 - 2.50 112.50 42.50 0.0573708 - 2.50 112.50 47.50 0.0244137 - 2.50 112.50 52.50 0.0573709 - 2.50 112.50 57.50 0.165498 - 2.50 112.50 62.50 0.390482 - 2.50 112.50 67.50 0.778984 - 2.50 112.50 72.50 1.1502 - 2.50 112.50 77.50 1.42051 - 2.50 112.50 82.50 1.66054 - 2.50 112.50 87.50 1.72446 - 2.50 112.50 92.50 1.90406 - 2.50 112.50 97.50 1.72446 - 2.50 112.50 102.50 1.66054 - 2.50 112.50 107.50 1.42051 - 2.50 112.50 112.50 1.1502 - 2.50 112.50 117.50 0.778983 - 2.50 112.50 122.50 0.390482 - 2.50 112.50 127.50 0.165498 - 2.50 112.50 132.50 0.0573707 - 2.50 112.50 137.50 0.0244137 - 2.50 112.50 142.50 0.0573708 - 2.50 112.50 147.50 0.165498 - 2.50 112.50 152.50 0.390482 - 2.50 112.50 157.50 0.778984 - 2.50 112.50 162.50 1.1502 - 2.50 112.50 167.50 1.42051 - 2.50 112.50 172.50 1.66054 - 2.50 112.50 177.50 1.72446 - 2.50 112.50 182.50 1.90406 - 2.50 112.50 187.50 1.72446 - 2.50 112.50 192.50 1.66054 - 2.50 112.50 197.50 1.42051 - 2.50 112.50 202.50 1.1502 - 2.50 112.50 207.50 0.778984 - 2.50 112.50 212.50 0.390482 - 2.50 112.50 217.50 0.165498 - 2.50 112.50 222.50 0.0573708 - 2.50 112.50 227.50 0.0244137 - 2.50 112.50 232.50 0.057371 - 2.50 112.50 237.50 0.165499 - 2.50 112.50 242.50 0.390482 - 2.50 112.50 247.50 0.778984 - 2.50 112.50 252.50 1.1502 - 2.50 112.50 257.50 1.42051 - 2.50 112.50 262.50 1.66054 - 2.50 112.50 267.50 1.72446 - 2.50 112.50 272.50 1.90406 - 2.50 112.50 277.50 1.72446 - 2.50 112.50 282.50 1.66054 - 2.50 112.50 287.50 1.42051 - 2.50 112.50 292.50 1.1502 - 2.50 112.50 297.50 0.778984 - 2.50 112.50 302.50 0.390482 - 2.50 112.50 307.50 0.165498 - 2.50 112.50 312.50 0.0573708 - 2.50 112.50 317.50 0.0244137 - 2.50 112.50 322.50 0.0573706 - 2.50 112.50 327.50 0.165498 - 2.50 112.50 332.50 0.390481 - 2.50 112.50 337.50 0.778983 - 2.50 112.50 342.50 1.1502 - 2.50 112.50 347.50 1.42051 - 2.50 112.50 352.50 1.66054 - 2.50 112.50 357.50 1.72446 - 2.50 117.50 2.50 2.01833 - 2.50 117.50 7.50 1.89111 - 2.50 117.50 12.50 1.80767 - 2.50 117.50 17.50 1.56527 - 2.50 117.50 22.50 1.11589 - 2.50 117.50 27.50 0.715155 - 2.50 117.50 32.50 0.405548 - 2.50 117.50 37.50 0.165625 - 2.50 117.50 42.50 0.0585949 - 2.50 117.50 47.50 0.0276749 - 2.50 117.50 52.50 0.058595 - 2.50 117.50 57.50 0.165625 - 2.50 117.50 62.50 0.405549 - 2.50 117.50 67.50 0.715156 - 2.50 117.50 72.50 1.11589 - 2.50 117.50 77.50 1.56527 - 2.50 117.50 82.50 1.80768 - 2.50 117.50 87.50 1.89111 - 2.50 117.50 92.50 2.01833 - 2.50 117.50 97.50 1.89111 - 2.50 117.50 102.50 1.80768 - 2.50 117.50 107.50 1.56527 - 2.50 117.50 112.50 1.11589 - 2.50 117.50 117.50 0.715155 - 2.50 117.50 122.50 0.405548 - 2.50 117.50 127.50 0.165625 - 2.50 117.50 132.50 0.0585949 - 2.50 117.50 137.50 0.0276749 - 2.50 117.50 142.50 0.0585949 - 2.50 117.50 147.50 0.165625 - 2.50 117.50 152.50 0.405548 - 2.50 117.50 157.50 0.715155 - 2.50 117.50 162.50 1.11589 - 2.50 117.50 167.50 1.56527 - 2.50 117.50 172.50 1.80768 - 2.50 117.50 177.50 1.89111 - 2.50 117.50 182.50 2.01833 - 2.50 117.50 187.50 1.89111 - 2.50 117.50 192.50 1.80767 - 2.50 117.50 197.50 1.56527 - 2.50 117.50 202.50 1.11589 - 2.50 117.50 207.50 0.715155 - 2.50 117.50 212.50 0.405548 - 2.50 117.50 217.50 0.165625 - 2.50 117.50 222.50 0.0585949 - 2.50 117.50 227.50 0.0276749 - 2.50 117.50 232.50 0.058595 - 2.50 117.50 237.50 0.165626 - 2.50 117.50 242.50 0.405549 - 2.50 117.50 247.50 0.715156 - 2.50 117.50 252.50 1.11589 - 2.50 117.50 257.50 1.56527 - 2.50 117.50 262.50 1.80768 - 2.50 117.50 267.50 1.89112 - 2.50 117.50 272.50 2.01833 - 2.50 117.50 277.50 1.89111 - 2.50 117.50 282.50 1.80767 - 2.50 117.50 287.50 1.56527 - 2.50 117.50 292.50 1.11589 - 2.50 117.50 297.50 0.715156 - 2.50 117.50 302.50 0.405549 - 2.50 117.50 307.50 0.165625 - 2.50 117.50 312.50 0.0585949 - 2.50 117.50 317.50 0.0276749 - 2.50 117.50 322.50 0.0585948 - 2.50 117.50 327.50 0.165625 - 2.50 117.50 332.50 0.405547 - 2.50 117.50 337.50 0.715155 - 2.50 117.50 342.50 1.11589 - 2.50 117.50 347.50 1.56527 - 2.50 117.50 352.50 1.80767 - 2.50 117.50 357.50 1.89112 - 2.50 122.50 2.50 2.09376 - 2.50 122.50 7.50 2.026 - 2.50 122.50 12.50 2.01018 - 2.50 122.50 17.50 1.69607 - 2.50 122.50 22.50 1.18241 - 2.50 122.50 27.50 0.761189 - 2.50 122.50 32.50 0.449296 - 2.50 122.50 37.50 0.214446 - 2.50 122.50 42.50 0.066703 - 2.50 122.50 47.50 0.0264164 - 2.50 122.50 52.50 0.066703 - 2.50 122.50 57.50 0.214446 - 2.50 122.50 62.50 0.449297 - 2.50 122.50 67.50 0.761189 - 2.50 122.50 72.50 1.18241 - 2.50 122.50 77.50 1.69607 - 2.50 122.50 82.50 2.01018 - 2.50 122.50 87.50 2.026 - 2.50 122.50 92.50 2.09376 - 2.50 122.50 97.50 2.026 - 2.50 122.50 102.50 2.01018 - 2.50 122.50 107.50 1.69607 - 2.50 122.50 112.50 1.18241 - 2.50 122.50 117.50 0.761189 - 2.50 122.50 122.50 0.449296 - 2.50 122.50 127.50 0.214446 - 2.50 122.50 132.50 0.066703 - 2.50 122.50 137.50 0.0264164 - 2.50 122.50 142.50 0.066703 - 2.50 122.50 147.50 0.214446 - 2.50 122.50 152.50 0.449296 - 2.50 122.50 157.50 0.761189 - 2.50 122.50 162.50 1.18241 - 2.50 122.50 167.50 1.69607 - 2.50 122.50 172.50 2.01018 - 2.50 122.50 177.50 2.026 - 2.50 122.50 182.50 2.09376 - 2.50 122.50 187.50 2.026 - 2.50 122.50 192.50 2.01018 - 2.50 122.50 197.50 1.69607 - 2.50 122.50 202.50 1.18241 - 2.50 122.50 207.50 0.761189 - 2.50 122.50 212.50 0.449297 - 2.50 122.50 217.50 0.214446 - 2.50 122.50 222.50 0.066703 - 2.50 122.50 227.50 0.0264164 - 2.50 122.50 232.50 0.066703 - 2.50 122.50 237.50 0.214446 - 2.50 122.50 242.50 0.449297 - 2.50 122.50 247.50 0.76119 - 2.50 122.50 252.50 1.18241 - 2.50 122.50 257.50 1.69607 - 2.50 122.50 262.50 2.01018 - 2.50 122.50 267.50 2.026 - 2.50 122.50 272.50 2.09376 - 2.50 122.50 277.50 2.026 - 2.50 122.50 282.50 2.01018 - 2.50 122.50 287.50 1.69607 - 2.50 122.50 292.50 1.18241 - 2.50 122.50 297.50 0.76119 - 2.50 122.50 302.50 0.449297 - 2.50 122.50 307.50 0.214446 - 2.50 122.50 312.50 0.0667031 - 2.50 122.50 317.50 0.0264164 - 2.50 122.50 322.50 0.0667029 - 2.50 122.50 327.50 0.214446 - 2.50 122.50 332.50 0.449296 - 2.50 122.50 337.50 0.761188 - 2.50 122.50 342.50 1.18241 - 2.50 122.50 347.50 1.69607 - 2.50 122.50 352.50 2.01018 - 2.50 122.50 357.50 2.026 - 2.50 127.50 2.50 2.16641 - 2.50 127.50 7.50 2.16718 - 2.50 127.50 12.50 2.15179 - 2.50 127.50 17.50 1.84381 - 2.50 127.50 22.50 1.2576 - 2.50 127.50 27.50 0.856182 - 2.50 127.50 32.50 0.520818 - 2.50 127.50 37.50 0.237794 - 2.50 127.50 42.50 0.0932044 - 2.50 127.50 47.50 0.0571567 - 2.50 127.50 52.50 0.0932044 - 2.50 127.50 57.50 0.237794 - 2.50 127.50 62.50 0.520818 - 2.50 127.50 67.50 0.856182 - 2.50 127.50 72.50 1.2576 - 2.50 127.50 77.50 1.84381 - 2.50 127.50 82.50 2.15179 - 2.50 127.50 87.50 2.16718 - 2.50 127.50 92.50 2.16641 - 2.50 127.50 97.50 2.16719 - 2.50 127.50 102.50 2.15179 - 2.50 127.50 107.50 1.84381 - 2.50 127.50 112.50 1.2576 - 2.50 127.50 117.50 0.856182 - 2.50 127.50 122.50 0.520818 - 2.50 127.50 127.50 0.237794 - 2.50 127.50 132.50 0.0932044 - 2.50 127.50 137.50 0.0571567 - 2.50 127.50 142.50 0.0932044 - 2.50 127.50 147.50 0.237795 - 2.50 127.50 152.50 0.520818 - 2.50 127.50 157.50 0.856182 - 2.50 127.50 162.50 1.2576 - 2.50 127.50 167.50 1.84381 - 2.50 127.50 172.50 2.15179 - 2.50 127.50 177.50 2.16718 - 2.50 127.50 182.50 2.16641 - 2.50 127.50 187.50 2.16718 - 2.50 127.50 192.50 2.15179 - 2.50 127.50 197.50 1.84381 - 2.50 127.50 202.50 1.2576 - 2.50 127.50 207.50 0.856183 - 2.50 127.50 212.50 0.520818 - 2.50 127.50 217.50 0.237794 - 2.50 127.50 222.50 0.0932043 - 2.50 127.50 227.50 0.0571566 - 2.50 127.50 232.50 0.0932045 - 2.50 127.50 237.50 0.237795 - 2.50 127.50 242.50 0.520818 - 2.50 127.50 247.50 0.856183 - 2.50 127.50 252.50 1.2576 - 2.50 127.50 257.50 1.84381 - 2.50 127.50 262.50 2.15179 - 2.50 127.50 267.50 2.16718 - 2.50 127.50 272.50 2.16641 - 2.50 127.50 277.50 2.16718 - 2.50 127.50 282.50 2.15179 - 2.50 127.50 287.50 1.84381 - 2.50 127.50 292.50 1.2576 - 2.50 127.50 297.50 0.856182 - 2.50 127.50 302.50 0.520818 - 2.50 127.50 307.50 0.237795 - 2.50 127.50 312.50 0.0932044 - 2.50 127.50 317.50 0.0571566 - 2.50 127.50 322.50 0.0932042 - 2.50 127.50 327.50 0.237794 - 2.50 127.50 332.50 0.520818 - 2.50 127.50 337.50 0.856182 - 2.50 127.50 342.50 1.2576 - 2.50 127.50 347.50 1.84381 - 2.50 127.50 352.50 2.15178 - 2.50 127.50 357.50 2.16718 - 2.50 132.50 2.50 2.19339 - 2.50 132.50 7.50 2.2166 - 2.50 132.50 12.50 2.16939 - 2.50 132.50 17.50 1.82225 - 2.50 132.50 22.50 1.27034 - 2.50 132.50 27.50 0.787667 - 2.50 132.50 32.50 0.479776 - 2.50 132.50 37.50 0.252054 - 2.50 132.50 42.50 0.111526 - 2.50 132.50 47.50 0.0757611 - 2.50 132.50 52.50 0.111526 - 2.50 132.50 57.50 0.252055 - 2.50 132.50 62.50 0.479777 - 2.50 132.50 67.50 0.787668 - 2.50 132.50 72.50 1.27034 - 2.50 132.50 77.50 1.82225 - 2.50 132.50 82.50 2.16939 - 2.50 132.50 87.50 2.2166 - 2.50 132.50 92.50 2.19339 - 2.50 132.50 97.50 2.2166 - 2.50 132.50 102.50 2.16939 - 2.50 132.50 107.50 1.82225 - 2.50 132.50 112.50 1.27034 - 2.50 132.50 117.50 0.787667 - 2.50 132.50 122.50 0.479776 - 2.50 132.50 127.50 0.252054 - 2.50 132.50 132.50 0.111525 - 2.50 132.50 137.50 0.075761 - 2.50 132.50 142.50 0.111526 - 2.50 132.50 147.50 0.252055 - 2.50 132.50 152.50 0.479776 - 2.50 132.50 157.50 0.787668 - 2.50 132.50 162.50 1.27034 - 2.50 132.50 167.50 1.82225 - 2.50 132.50 172.50 2.16939 - 2.50 132.50 177.50 2.2166 - 2.50 132.50 182.50 2.19339 - 2.50 132.50 187.50 2.2166 - 2.50 132.50 192.50 2.1694 - 2.50 132.50 197.50 1.82225 - 2.50 132.50 202.50 1.27034 - 2.50 132.50 207.50 0.787667 - 2.50 132.50 212.50 0.479776 - 2.50 132.50 217.50 0.252054 - 2.50 132.50 222.50 0.111526 - 2.50 132.50 227.50 0.075761 - 2.50 132.50 232.50 0.111526 - 2.50 132.50 237.50 0.252055 - 2.50 132.50 242.50 0.479777 - 2.50 132.50 247.50 0.787668 - 2.50 132.50 252.50 1.27034 - 2.50 132.50 257.50 1.82225 - 2.50 132.50 262.50 2.1694 - 2.50 132.50 267.50 2.2166 - 2.50 132.50 272.50 2.19339 - 2.50 132.50 277.50 2.2166 - 2.50 132.50 282.50 2.16939 - 2.50 132.50 287.50 1.82225 - 2.50 132.50 292.50 1.27034 - 2.50 132.50 297.50 0.787668 - 2.50 132.50 302.50 0.479776 - 2.50 132.50 307.50 0.252055 - 2.50 132.50 312.50 0.111526 - 2.50 132.50 317.50 0.075761 - 2.50 132.50 322.50 0.111525 - 2.50 132.50 327.50 0.252054 - 2.50 132.50 332.50 0.479776 - 2.50 132.50 337.50 0.787666 - 2.50 132.50 342.50 1.27034 - 2.50 132.50 347.50 1.82224 - 2.50 132.50 352.50 2.16939 - 2.50 132.50 357.50 2.2166 - 2.50 137.50 2.50 2.17973 - 2.50 137.50 7.50 2.15413 - 2.50 137.50 12.50 2.00856 - 2.50 137.50 17.50 1.60946 - 2.50 137.50 22.50 1.12116 - 2.50 137.50 27.50 0.643361 - 2.50 137.50 32.50 0.378453 - 2.50 137.50 37.50 0.198172 - 2.50 137.50 42.50 0.0930244 - 2.50 137.50 47.50 0.07701 - 2.50 137.50 52.50 0.0930245 - 2.50 137.50 57.50 0.198173 - 2.50 137.50 62.50 0.378453 - 2.50 137.50 67.50 0.643362 - 2.50 137.50 72.50 1.12116 - 2.50 137.50 77.50 1.60946 - 2.50 137.50 82.50 2.00856 - 2.50 137.50 87.50 2.15413 - 2.50 137.50 92.50 2.17973 - 2.50 137.50 97.50 2.15413 - 2.50 137.50 102.50 2.00856 - 2.50 137.50 107.50 1.60946 - 2.50 137.50 112.50 1.12116 - 2.50 137.50 117.50 0.64336 - 2.50 137.50 122.50 0.378453 - 2.50 137.50 127.50 0.198172 - 2.50 137.50 132.50 0.0930244 - 2.50 137.50 137.50 0.07701 - 2.50 137.50 142.50 0.0930244 - 2.50 137.50 147.50 0.198173 - 2.50 137.50 152.50 0.378453 - 2.50 137.50 157.50 0.643361 - 2.50 137.50 162.50 1.12116 - 2.50 137.50 167.50 1.60946 - 2.50 137.50 172.50 2.00856 - 2.50 137.50 177.50 2.15413 - 2.50 137.50 182.50 2.17973 - 2.50 137.50 187.50 2.15413 - 2.50 137.50 192.50 2.00856 - 2.50 137.50 197.50 1.60946 - 2.50 137.50 202.50 1.12116 - 2.50 137.50 207.50 0.643361 - 2.50 137.50 212.50 0.378453 - 2.50 137.50 217.50 0.198172 - 2.50 137.50 222.50 0.0930244 - 2.50 137.50 227.50 0.0770099 - 2.50 137.50 232.50 0.0930246 - 2.50 137.50 237.50 0.198173 - 2.50 137.50 242.50 0.378453 - 2.50 137.50 247.50 0.643362 - 2.50 137.50 252.50 1.12116 - 2.50 137.50 257.50 1.60947 - 2.50 137.50 262.50 2.00856 - 2.50 137.50 267.50 2.15413 - 2.50 137.50 272.50 2.17973 - 2.50 137.50 277.50 2.15413 - 2.50 137.50 282.50 2.00856 - 2.50 137.50 287.50 1.60946 - 2.50 137.50 292.50 1.12116 - 2.50 137.50 297.50 0.643361 - 2.50 137.50 302.50 0.378453 - 2.50 137.50 307.50 0.198172 - 2.50 137.50 312.50 0.0930244 - 2.50 137.50 317.50 0.0770099 - 2.50 137.50 322.50 0.0930243 - 2.50 137.50 327.50 0.198172 - 2.50 137.50 332.50 0.378452 - 2.50 137.50 337.50 0.64336 - 2.50 137.50 342.50 1.12116 - 2.50 137.50 347.50 1.60946 - 2.50 137.50 352.50 2.00856 - 2.50 137.50 357.50 2.15413 - 2.50 142.50 2.50 2.19339 - 2.50 142.50 7.50 2.07809 - 2.50 142.50 12.50 1.77901 - 2.50 142.50 17.50 1.32677 - 2.50 142.50 22.50 0.858283 - 2.50 142.50 27.50 0.510357 - 2.50 142.50 32.50 0.270874 - 2.50 142.50 37.50 0.130463 - 2.50 142.50 42.50 0.0604545 - 2.50 142.50 47.50 0.0430199 - 2.50 142.50 52.50 0.0604546 - 2.50 142.50 57.50 0.130463 - 2.50 142.50 62.50 0.270874 - 2.50 142.50 67.50 0.510358 - 2.50 142.50 72.50 0.858283 - 2.50 142.50 77.50 1.32677 - 2.50 142.50 82.50 1.77901 - 2.50 142.50 87.50 2.07809 - 2.50 142.50 92.50 2.19339 - 2.50 142.50 97.50 2.07809 - 2.50 142.50 102.50 1.77901 - 2.50 142.50 107.50 1.32677 - 2.50 142.50 112.50 0.858283 - 2.50 142.50 117.50 0.510357 - 2.50 142.50 122.50 0.270874 - 2.50 142.50 127.50 0.130463 - 2.50 142.50 132.50 0.0604545 - 2.50 142.50 137.50 0.04302 - 2.50 142.50 142.50 0.0604546 - 2.50 142.50 147.50 0.130463 - 2.50 142.50 152.50 0.270874 - 2.50 142.50 157.50 0.510357 - 2.50 142.50 162.50 0.858283 - 2.50 142.50 167.50 1.32677 - 2.50 142.50 172.50 1.77901 - 2.50 142.50 177.50 2.07809 - 2.50 142.50 182.50 2.19339 - 2.50 142.50 187.50 2.07809 - 2.50 142.50 192.50 1.77901 - 2.50 142.50 197.50 1.32677 - 2.50 142.50 202.50 0.858283 - 2.50 142.50 207.50 0.510357 - 2.50 142.50 212.50 0.270874 - 2.50 142.50 217.50 0.130463 - 2.50 142.50 222.50 0.0604545 - 2.50 142.50 227.50 0.0430199 - 2.50 142.50 232.50 0.0604546 - 2.50 142.50 237.50 0.130463 - 2.50 142.50 242.50 0.270874 - 2.50 142.50 247.50 0.510358 - 2.50 142.50 252.50 0.858283 - 2.50 142.50 257.50 1.32677 - 2.50 142.50 262.50 1.77901 - 2.50 142.50 267.50 2.07809 - 2.50 142.50 272.50 2.19339 - 2.50 142.50 277.50 2.07809 - 2.50 142.50 282.50 1.77901 - 2.50 142.50 287.50 1.32677 - 2.50 142.50 292.50 0.858283 - 2.50 142.50 297.50 0.510358 - 2.50 142.50 302.50 0.270874 - 2.50 142.50 307.50 0.130463 - 2.50 142.50 312.50 0.0604545 - 2.50 142.50 317.50 0.0430199 - 2.50 142.50 322.50 0.0604544 - 2.50 142.50 327.50 0.130463 - 2.50 142.50 332.50 0.270874 - 2.50 142.50 337.50 0.510357 - 2.50 142.50 342.50 0.858281 - 2.50 142.50 347.50 1.32677 - 2.50 142.50 352.50 1.77901 - 2.50 142.50 357.50 2.07809 - 2.50 147.50 2.50 2.16641 - 2.50 147.50 7.50 1.98889 - 2.50 147.50 12.50 1.5664 - 2.50 147.50 17.50 1.07178 - 2.50 147.50 22.50 0.632949 - 2.50 147.50 27.50 0.342677 - 2.50 147.50 32.50 0.177973 - 2.50 147.50 37.50 0.0765709 - 2.50 147.50 42.50 0.0270765 - 2.50 147.50 47.50 0.0153218 - 2.50 147.50 52.50 0.0270766 - 2.50 147.50 57.50 0.0765711 - 2.50 147.50 62.50 0.177973 - 2.50 147.50 67.50 0.342677 - 2.50 147.50 72.50 0.632949 - 2.50 147.50 77.50 1.07178 - 2.50 147.50 82.50 1.5664 - 2.50 147.50 87.50 1.98889 - 2.50 147.50 92.50 2.16641 - 2.50 147.50 97.50 1.98889 - 2.50 147.50 102.50 1.5664 - 2.50 147.50 107.50 1.07178 - 2.50 147.50 112.50 0.632949 - 2.50 147.50 117.50 0.342676 - 2.50 147.50 122.50 0.177973 - 2.50 147.50 127.50 0.0765708 - 2.50 147.50 132.50 0.0270765 - 2.50 147.50 137.50 0.0153218 - 2.50 147.50 142.50 0.0270765 - 2.50 147.50 147.50 0.0765711 - 2.50 147.50 152.50 0.177973 - 2.50 147.50 157.50 0.342677 - 2.50 147.50 162.50 0.632948 - 2.50 147.50 167.50 1.07178 - 2.50 147.50 172.50 1.5664 - 2.50 147.50 177.50 1.98889 - 2.50 147.50 182.50 2.16641 - 2.50 147.50 187.50 1.98889 - 2.50 147.50 192.50 1.5664 - 2.50 147.50 197.50 1.07178 - 2.50 147.50 202.50 0.632949 - 2.50 147.50 207.50 0.342677 - 2.50 147.50 212.50 0.177973 - 2.50 147.50 217.50 0.076571 - 2.50 147.50 222.50 0.0270765 - 2.50 147.50 227.50 0.0153218 - 2.50 147.50 232.50 0.0270766 - 2.50 147.50 237.50 0.0765712 - 2.50 147.50 242.50 0.177973 - 2.50 147.50 247.50 0.342677 - 2.50 147.50 252.50 0.632949 - 2.50 147.50 257.50 1.07178 - 2.50 147.50 262.50 1.5664 - 2.50 147.50 267.50 1.98889 - 2.50 147.50 272.50 2.16641 - 2.50 147.50 277.50 1.98889 - 2.50 147.50 282.50 1.5664 - 2.50 147.50 287.50 1.07178 - 2.50 147.50 292.50 0.632949 - 2.50 147.50 297.50 0.342677 - 2.50 147.50 302.50 0.177973 - 2.50 147.50 307.50 0.0765711 - 2.50 147.50 312.50 0.0270765 - 2.50 147.50 317.50 0.0153218 - 2.50 147.50 322.50 0.0270765 - 2.50 147.50 327.50 0.0765709 - 2.50 147.50 332.50 0.177973 - 2.50 147.50 337.50 0.342676 - 2.50 147.50 342.50 0.632948 - 2.50 147.50 347.50 1.07178 - 2.50 147.50 352.50 1.5664 - 2.50 147.50 357.50 1.98889 - 2.50 152.50 2.50 2.09376 - 2.50 152.50 7.50 1.90025 - 2.50 152.50 12.50 1.4145 - 2.50 152.50 17.50 0.882763 - 2.50 152.50 22.50 0.485034 - 2.50 152.50 27.50 0.222739 - 2.50 152.50 32.50 0.114577 - 2.50 152.50 37.50 0.0480734 - 2.50 152.50 42.50 0.0146966 - 2.50 152.50 47.50 0.00726675 - 2.50 152.50 52.50 0.0146966 - 2.50 152.50 57.50 0.0480735 - 2.50 152.50 62.50 0.114577 - 2.50 152.50 67.50 0.22274 - 2.50 152.50 72.50 0.485035 - 2.50 152.50 77.50 0.882764 - 2.50 152.50 82.50 1.4145 - 2.50 152.50 87.50 1.90025 - 2.50 152.50 92.50 2.09376 - 2.50 152.50 97.50 1.90025 - 2.50 152.50 102.50 1.4145 - 2.50 152.50 107.50 0.882763 - 2.50 152.50 112.50 0.485034 - 2.50 152.50 117.50 0.222739 - 2.50 152.50 122.50 0.114577 - 2.50 152.50 127.50 0.0480735 - 2.50 152.50 132.50 0.0146966 - 2.50 152.50 137.50 0.00726674 - 2.50 152.50 142.50 0.0146966 - 2.50 152.50 147.50 0.0480735 - 2.50 152.50 152.50 0.114577 - 2.50 152.50 157.50 0.222739 - 2.50 152.50 162.50 0.485034 - 2.50 152.50 167.50 0.882764 - 2.50 152.50 172.50 1.4145 - 2.50 152.50 177.50 1.90025 - 2.50 152.50 182.50 2.09376 - 2.50 152.50 187.50 1.90025 - 2.50 152.50 192.50 1.4145 - 2.50 152.50 197.50 0.882763 - 2.50 152.50 202.50 0.485034 - 2.50 152.50 207.50 0.222739 - 2.50 152.50 212.50 0.114577 - 2.50 152.50 217.50 0.0480735 - 2.50 152.50 222.50 0.0146966 - 2.50 152.50 227.50 0.00726674 - 2.50 152.50 232.50 0.0146966 - 2.50 152.50 237.50 0.0480735 - 2.50 152.50 242.50 0.114577 - 2.50 152.50 247.50 0.22274 - 2.50 152.50 252.50 0.485035 - 2.50 152.50 257.50 0.882764 - 2.50 152.50 262.50 1.4145 - 2.50 152.50 267.50 1.90025 - 2.50 152.50 272.50 2.09376 - 2.50 152.50 277.50 1.90025 - 2.50 152.50 282.50 1.4145 - 2.50 152.50 287.50 0.882763 - 2.50 152.50 292.50 0.485034 - 2.50 152.50 297.50 0.222739 - 2.50 152.50 302.50 0.114577 - 2.50 152.50 307.50 0.0480735 - 2.50 152.50 312.50 0.0146966 - 2.50 152.50 317.50 0.00726673 - 2.50 152.50 322.50 0.0146966 - 2.50 152.50 327.50 0.0480735 - 2.50 152.50 332.50 0.114577 - 2.50 152.50 337.50 0.222739 - 2.50 152.50 342.50 0.485034 - 2.50 152.50 347.50 0.882762 - 2.50 152.50 352.50 1.4145 - 2.50 152.50 357.50 1.90025 - 2.50 157.50 2.50 2.01833 - 2.50 157.50 7.50 1.81567 - 2.50 157.50 12.50 1.30406 - 2.50 157.50 17.50 0.780018 - 2.50 157.50 22.50 0.396484 - 2.50 157.50 27.50 0.178891 - 2.50 157.50 32.50 0.0744754 - 2.50 157.50 37.50 0.0401161 - 2.50 157.50 42.50 0.0214562 - 2.50 157.50 47.50 0.0140425 - 2.50 157.50 52.50 0.0214562 - 2.50 157.50 57.50 0.0401161 - 2.50 157.50 62.50 0.0744755 - 2.50 157.50 67.50 0.178892 - 2.50 157.50 72.50 0.396485 - 2.50 157.50 77.50 0.780018 - 2.50 157.50 82.50 1.30406 - 2.50 157.50 87.50 1.81567 - 2.50 157.50 92.50 2.01833 - 2.50 157.50 97.50 1.81567 - 2.50 157.50 102.50 1.30406 - 2.50 157.50 107.50 0.780018 - 2.50 157.50 112.50 0.396484 - 2.50 157.50 117.50 0.178891 - 2.50 157.50 122.50 0.0744753 - 2.50 157.50 127.50 0.040116 - 2.50 157.50 132.50 0.0214561 - 2.50 157.50 137.50 0.0140425 - 2.50 157.50 142.50 0.0214562 - 2.50 157.50 147.50 0.0401161 - 2.50 157.50 152.50 0.0744754 - 2.50 157.50 157.50 0.178891 - 2.50 157.50 162.50 0.396484 - 2.50 157.50 167.50 0.780018 - 2.50 157.50 172.50 1.30406 - 2.50 157.50 177.50 1.81567 - 2.50 157.50 182.50 2.01833 - 2.50 157.50 187.50 1.81567 - 2.50 157.50 192.50 1.30406 - 2.50 157.50 197.50 0.780018 - 2.50 157.50 202.50 0.396484 - 2.50 157.50 207.50 0.178891 - 2.50 157.50 212.50 0.0744754 - 2.50 157.50 217.50 0.040116 - 2.50 157.50 222.50 0.0214562 - 2.50 157.50 227.50 0.0140425 - 2.50 157.50 232.50 0.0214562 - 2.50 157.50 237.50 0.0401161 - 2.50 157.50 242.50 0.0744755 - 2.50 157.50 247.50 0.178892 - 2.50 157.50 252.50 0.396484 - 2.50 157.50 257.50 0.780019 - 2.50 157.50 262.50 1.30406 - 2.50 157.50 267.50 1.81567 - 2.50 157.50 272.50 2.01833 - 2.50 157.50 277.50 1.81567 - 2.50 157.50 282.50 1.30406 - 2.50 157.50 287.50 0.780019 - 2.50 157.50 292.50 0.396484 - 2.50 157.50 297.50 0.178892 - 2.50 157.50 302.50 0.0744754 - 2.50 157.50 307.50 0.0401161 - 2.50 157.50 312.50 0.0214562 - 2.50 157.50 317.50 0.0140425 - 2.50 157.50 322.50 0.0214562 - 2.50 157.50 327.50 0.0401161 - 2.50 157.50 332.50 0.0744752 - 2.50 157.50 337.50 0.178891 - 2.50 157.50 342.50 0.396483 - 2.50 157.50 347.50 0.780017 - 2.50 157.50 352.50 1.30406 - 2.50 157.50 357.50 1.81566 - 2.50 162.50 2.50 1.90406 - 2.50 162.50 7.50 1.67252 - 2.50 162.50 12.50 1.14035 - 2.50 162.50 17.50 0.656469 - 2.50 162.50 22.50 0.319308 - 2.50 162.50 27.50 0.138134 - 2.50 162.50 32.50 0.0639756 - 2.50 162.50 37.50 0.0402312 - 2.50 162.50 42.50 0.0410277 - 2.50 162.50 47.50 0.0480175 - 2.50 162.50 52.50 0.0410277 - 2.50 162.50 57.50 0.0402312 - 2.50 162.50 62.50 0.0639757 - 2.50 162.50 67.50 0.138135 - 2.50 162.50 72.50 0.319308 - 2.50 162.50 77.50 0.656469 - 2.50 162.50 82.50 1.14035 - 2.50 162.50 87.50 1.67252 - 2.50 162.50 92.50 1.90406 - 2.50 162.50 97.50 1.67252 - 2.50 162.50 102.50 1.14035 - 2.50 162.50 107.50 0.656469 - 2.50 162.50 112.50 0.319308 - 2.50 162.50 117.50 0.138134 - 2.50 162.50 122.50 0.0639756 - 2.50 162.50 127.50 0.0402312 - 2.50 162.50 132.50 0.0410277 - 2.50 162.50 137.50 0.0480175 - 2.50 162.50 142.50 0.0410277 - 2.50 162.50 147.50 0.0402311 - 2.50 162.50 152.50 0.0639757 - 2.50 162.50 157.50 0.138134 - 2.50 162.50 162.50 0.319308 - 2.50 162.50 167.50 0.65647 - 2.50 162.50 172.50 1.14035 - 2.50 162.50 177.50 1.67252 - 2.50 162.50 182.50 1.90406 - 2.50 162.50 187.50 1.67252 - 2.50 162.50 192.50 1.14035 - 2.50 162.50 197.50 0.656469 - 2.50 162.50 202.50 0.319308 - 2.50 162.50 207.50 0.138134 - 2.50 162.50 212.50 0.0639756 - 2.50 162.50 217.50 0.0402311 - 2.50 162.50 222.50 0.0410276 - 2.50 162.50 227.50 0.0480175 - 2.50 162.50 232.50 0.0410276 - 2.50 162.50 237.50 0.0402312 - 2.50 162.50 242.50 0.0639757 - 2.50 162.50 247.50 0.138135 - 2.50 162.50 252.50 0.319308 - 2.50 162.50 257.50 0.65647 - 2.50 162.50 262.50 1.14035 - 2.50 162.50 267.50 1.67252 - 2.50 162.50 272.50 1.90406 - 2.50 162.50 277.50 1.67252 - 2.50 162.50 282.50 1.14035 - 2.50 162.50 287.50 0.656469 - 2.50 162.50 292.50 0.319308 - 2.50 162.50 297.50 0.138134 - 2.50 162.50 302.50 0.0639757 - 2.50 162.50 307.50 0.0402312 - 2.50 162.50 312.50 0.0410277 - 2.50 162.50 317.50 0.0480175 - 2.50 162.50 322.50 0.0410277 - 2.50 162.50 327.50 0.0402311 - 2.50 162.50 332.50 0.0639756 - 2.50 162.50 337.50 0.138134 - 2.50 162.50 342.50 0.319307 - 2.50 162.50 347.50 0.656468 - 2.50 162.50 352.50 1.14035 - 2.50 162.50 357.50 1.67252 - 2.50 167.50 2.50 1.78132 - 2.50 167.50 7.50 1.49961 - 2.50 167.50 12.50 0.922102 - 2.50 167.50 17.50 0.474879 - 2.50 167.50 22.50 0.232682 - 2.50 167.50 27.50 0.106683 - 2.50 167.50 32.50 0.0442968 - 2.50 167.50 37.50 0.0422444 - 2.50 167.50 42.50 0.0669501 - 2.50 167.50 47.50 0.0823487 - 2.50 167.50 52.50 0.06695 - 2.50 167.50 57.50 0.0422444 - 2.50 167.50 62.50 0.0442969 - 2.50 167.50 67.50 0.106683 - 2.50 167.50 72.50 0.232683 - 2.50 167.50 77.50 0.474879 - 2.50 167.50 82.50 0.922102 - 2.50 167.50 87.50 1.49961 - 2.50 167.50 92.50 1.78132 - 2.50 167.50 97.50 1.49961 - 2.50 167.50 102.50 0.922101 - 2.50 167.50 107.50 0.474879 - 2.50 167.50 112.50 0.232683 - 2.50 167.50 117.50 0.106683 - 2.50 167.50 122.50 0.0442968 - 2.50 167.50 127.50 0.0422444 - 2.50 167.50 132.50 0.0669501 - 2.50 167.50 137.50 0.0823487 - 2.50 167.50 142.50 0.06695 - 2.50 167.50 147.50 0.0422444 - 2.50 167.50 152.50 0.0442968 - 2.50 167.50 157.50 0.106683 - 2.50 167.50 162.50 0.232683 - 2.50 167.50 167.50 0.474879 - 2.50 167.50 172.50 0.922102 - 2.50 167.50 177.50 1.49961 - 2.50 167.50 182.50 1.78132 - 2.50 167.50 187.50 1.49961 - 2.50 167.50 192.50 0.922101 - 2.50 167.50 197.50 0.474879 - 2.50 167.50 202.50 0.232683 - 2.50 167.50 207.50 0.106683 - 2.50 167.50 212.50 0.0442968 - 2.50 167.50 217.50 0.0422444 - 2.50 167.50 222.50 0.06695 - 2.50 167.50 227.50 0.0823487 - 2.50 167.50 232.50 0.06695 - 2.50 167.50 237.50 0.0422443 - 2.50 167.50 242.50 0.0442969 - 2.50 167.50 247.50 0.106683 - 2.50 167.50 252.50 0.232683 - 2.50 167.50 257.50 0.474879 - 2.50 167.50 262.50 0.922102 - 2.50 167.50 267.50 1.49961 - 2.50 167.50 272.50 1.78132 - 2.50 167.50 277.50 1.49961 - 2.50 167.50 282.50 0.922102 - 2.50 167.50 287.50 0.474879 - 2.50 167.50 292.50 0.232683 - 2.50 167.50 297.50 0.106683 - 2.50 167.50 302.50 0.0442968 - 2.50 167.50 307.50 0.0422444 - 2.50 167.50 312.50 0.0669501 - 2.50 167.50 317.50 0.0823487 - 2.50 167.50 322.50 0.0669501 - 2.50 167.50 327.50 0.0422444 - 2.50 167.50 332.50 0.0442968 - 2.50 167.50 337.50 0.106683 - 2.50 167.50 342.50 0.232682 - 2.50 167.50 347.50 0.474878 - 2.50 167.50 352.50 0.922101 - 2.50 167.50 357.50 1.49961 - 2.50 172.50 2.50 1.59627 - 2.50 172.50 7.50 1.29229 - 2.50 172.50 12.50 0.712489 - 2.50 172.50 17.50 0.305996 - 2.50 172.50 22.50 0.137474 - 2.50 172.50 27.50 0.0745082 - 2.50 172.50 32.50 0.0533662 - 2.50 172.50 37.50 0.0564789 - 2.50 172.50 42.50 0.0727373 - 2.50 172.50 47.50 0.0833499 - 2.50 172.50 52.50 0.0727373 - 2.50 172.50 57.50 0.0564789 - 2.50 172.50 62.50 0.0533663 - 2.50 172.50 67.50 0.0745083 - 2.50 172.50 72.50 0.137474 - 2.50 172.50 77.50 0.305996 - 2.50 172.50 82.50 0.712489 - 2.50 172.50 87.50 1.29229 - 2.50 172.50 92.50 1.59627 - 2.50 172.50 97.50 1.29228 - 2.50 172.50 102.50 0.712488 - 2.50 172.50 107.50 0.305996 - 2.50 172.50 112.50 0.137474 - 2.50 172.50 117.50 0.0745082 - 2.50 172.50 122.50 0.0533662 - 2.50 172.50 127.50 0.0564789 - 2.50 172.50 132.50 0.0727374 - 2.50 172.50 137.50 0.0833499 - 2.50 172.50 142.50 0.0727373 - 2.50 172.50 147.50 0.0564789 - 2.50 172.50 152.50 0.0533662 - 2.50 172.50 157.50 0.0745082 - 2.50 172.50 162.50 0.137474 - 2.50 172.50 167.50 0.305996 - 2.50 172.50 172.50 0.712489 - 2.50 172.50 177.50 1.29229 - 2.50 172.50 182.50 1.59627 - 2.50 172.50 187.50 1.29229 - 2.50 172.50 192.50 0.712488 - 2.50 172.50 197.50 0.305995 - 2.50 172.50 202.50 0.137474 - 2.50 172.50 207.50 0.0745083 - 2.50 172.50 212.50 0.0533662 - 2.50 172.50 217.50 0.0564789 - 2.50 172.50 222.50 0.0727373 - 2.50 172.50 227.50 0.0833499 - 2.50 172.50 232.50 0.0727373 - 2.50 172.50 237.50 0.0564789 - 2.50 172.50 242.50 0.0533663 - 2.50 172.50 247.50 0.0745082 - 2.50 172.50 252.50 0.137474 - 2.50 172.50 257.50 0.305996 - 2.50 172.50 262.50 0.712489 - 2.50 172.50 267.50 1.29229 - 2.50 172.50 272.50 1.59627 - 2.50 172.50 277.50 1.29229 - 2.50 172.50 282.50 0.712489 - 2.50 172.50 287.50 0.305996 - 2.50 172.50 292.50 0.137474 - 2.50 172.50 297.50 0.0745082 - 2.50 172.50 302.50 0.0533662 - 2.50 172.50 307.50 0.0564789 - 2.50 172.50 312.50 0.0727373 - 2.50 172.50 317.50 0.0833499 - 2.50 172.50 322.50 0.0727374 - 2.50 172.50 327.50 0.0564789 - 2.50 172.50 332.50 0.0533662 - 2.50 172.50 337.50 0.0745082 - 2.50 172.50 342.50 0.137474 - 2.50 172.50 347.50 0.305995 - 2.50 172.50 352.50 0.712487 - 2.50 172.50 357.50 1.29228 - 2.50 177.50 2.50 1.24805 - 2.50 177.50 7.50 0.987008 - 2.50 177.50 12.50 0.506918 - 2.50 177.50 17.50 0.197143 - 2.50 177.50 22.50 0.0804381 - 2.50 177.50 27.50 0.0491677 - 2.50 177.50 32.50 0.045313 - 2.50 177.50 37.50 0.0573038 - 2.50 177.50 42.50 0.0692315 - 2.50 177.50 47.50 0.0738693 - 2.50 177.50 52.50 0.0692315 - 2.50 177.50 57.50 0.0573038 - 2.50 177.50 62.50 0.0453129 - 2.50 177.50 67.50 0.0491677 - 2.50 177.50 72.50 0.0804382 - 2.50 177.50 77.50 0.197143 - 2.50 177.50 82.50 0.506919 - 2.50 177.50 87.50 0.98701 - 2.50 177.50 92.50 1.24805 - 2.50 177.50 97.50 0.987007 - 2.50 177.50 102.50 0.506917 - 2.50 177.50 107.50 0.197143 - 2.50 177.50 112.50 0.0804381 - 2.50 177.50 117.50 0.0491676 - 2.50 177.50 122.50 0.045313 - 2.50 177.50 127.50 0.0573038 - 2.50 177.50 132.50 0.0692315 - 2.50 177.50 137.50 0.0738692 - 2.50 177.50 142.50 0.0692315 - 2.50 177.50 147.50 0.0573038 - 2.50 177.50 152.50 0.0453129 - 2.50 177.50 157.50 0.0491677 - 2.50 177.50 162.50 0.0804381 - 2.50 177.50 167.50 0.197143 - 2.50 177.50 172.50 0.506918 - 2.50 177.50 177.50 0.987008 - 2.50 177.50 182.50 1.24805 - 2.50 177.50 187.50 0.987008 - 2.50 177.50 192.50 0.506918 - 2.50 177.50 197.50 0.197143 - 2.50 177.50 202.50 0.0804381 - 2.50 177.50 207.50 0.0491677 - 2.50 177.50 212.50 0.0453129 - 2.50 177.50 217.50 0.0573038 - 2.50 177.50 222.50 0.0692315 - 2.50 177.50 227.50 0.0738692 - 2.50 177.50 232.50 0.0692315 - 2.50 177.50 237.50 0.0573037 - 2.50 177.50 242.50 0.045313 - 2.50 177.50 247.50 0.0491677 - 2.50 177.50 252.50 0.0804382 - 2.50 177.50 257.50 0.197143 - 2.50 177.50 262.50 0.506917 - 2.50 177.50 267.50 0.987008 - 2.50 177.50 272.50 1.24805 - 2.50 177.50 277.50 0.987011 - 2.50 177.50 282.50 0.506919 - 2.50 177.50 287.50 0.197143 - 2.50 177.50 292.50 0.0804381 - 2.50 177.50 297.50 0.0491677 - 2.50 177.50 302.50 0.045313 - 2.50 177.50 307.50 0.0573038 - 2.50 177.50 312.50 0.0692315 - 2.50 177.50 317.50 0.0738692 - 2.50 177.50 322.50 0.0692315 - 2.50 177.50 327.50 0.0573038 - 2.50 177.50 332.50 0.045313 - 2.50 177.50 337.50 0.0491677 - 2.50 177.50 342.50 0.080438 - 2.50 177.50 347.50 0.197142 - 2.50 177.50 352.50 0.506917 - 2.50 177.50 357.50 0.987007 - 7.50 2.50 2.50 0.773179 - 7.50 2.50 7.50 0.393272 - 7.50 2.50 12.50 0.149977 - 7.50 2.50 17.50 0.0624685 - 7.50 2.50 22.50 0.0485219 - 7.50 2.50 27.50 0.0601603 - 7.50 2.50 32.50 0.0760385 - 7.50 2.50 37.50 0.083846 - 7.50 2.50 42.50 0.084539 - 7.50 2.50 47.50 0.083846 - 7.50 2.50 52.50 0.0760385 - 7.50 2.50 57.50 0.0601603 - 7.50 2.50 62.50 0.0485219 - 7.50 2.50 67.50 0.0624686 - 7.50 2.50 72.50 0.149977 - 7.50 2.50 77.50 0.393272 - 7.50 2.50 82.50 0.773179 - 7.50 2.50 87.50 0.980476 - 7.50 2.50 92.50 0.773178 - 7.50 2.50 97.50 0.393272 - 7.50 2.50 102.50 0.149977 - 7.50 2.50 107.50 0.0624685 - 7.50 2.50 112.50 0.0485219 - 7.50 2.50 117.50 0.0601603 - 7.50 2.50 122.50 0.0760386 - 7.50 2.50 127.50 0.083846 - 7.50 2.50 132.50 0.084539 - 7.50 2.50 137.50 0.083846 - 7.50 2.50 142.50 0.0760385 - 7.50 2.50 147.50 0.0601603 - 7.50 2.50 152.50 0.0485219 - 7.50 2.50 157.50 0.0624686 - 7.50 2.50 162.50 0.149977 - 7.50 2.50 167.50 0.393272 - 7.50 2.50 172.50 0.773178 - 7.50 2.50 177.50 0.980476 - 7.50 2.50 182.50 0.773179 - 7.50 2.50 187.50 0.393272 - 7.50 2.50 192.50 0.149977 - 7.50 2.50 197.50 0.0624685 - 7.50 2.50 202.50 0.0485219 - 7.50 2.50 207.50 0.0601603 - 7.50 2.50 212.50 0.0760385 - 7.50 2.50 217.50 0.083846 - 7.50 2.50 222.50 0.084539 - 7.50 2.50 227.50 0.083846 - 7.50 2.50 232.50 0.0760385 - 7.50 2.50 237.50 0.0601603 - 7.50 2.50 242.50 0.0485219 - 7.50 2.50 247.50 0.0624686 - 7.50 2.50 252.50 0.149977 - 7.50 2.50 257.50 0.393273 - 7.50 2.50 262.50 0.77318 - 7.50 2.50 267.50 0.980476 - 7.50 2.50 272.50 0.773178 - 7.50 2.50 277.50 0.393273 - 7.50 2.50 282.50 0.149977 - 7.50 2.50 287.50 0.0624686 - 7.50 2.50 292.50 0.0485219 - 7.50 2.50 297.50 0.0601603 - 7.50 2.50 302.50 0.0760385 - 7.50 2.50 307.50 0.083846 - 7.50 2.50 312.50 0.084539 - 7.50 2.50 317.50 0.083846 - 7.50 2.50 322.50 0.0760386 - 7.50 2.50 327.50 0.0601603 - 7.50 2.50 332.50 0.048522 - 7.50 2.50 337.50 0.0624685 - 7.50 2.50 342.50 0.149977 - 7.50 2.50 347.50 0.393271 - 7.50 2.50 352.50 0.773178 - 7.50 2.50 357.50 0.980476 - 7.50 7.50 2.50 0.987354 - 7.50 7.50 7.50 0.578476 - 7.50 7.50 12.50 0.235545 - 7.50 7.50 17.50 0.0924006 - 7.50 7.50 22.50 0.0569323 - 7.50 7.50 27.50 0.0533237 - 7.50 7.50 32.50 0.0573382 - 7.50 7.50 37.50 0.0686384 - 7.50 7.50 42.50 0.0739502 - 7.50 7.50 47.50 0.0700448 - 7.50 7.50 52.50 0.0576317 - 7.50 7.50 57.50 0.0448351 - 7.50 7.50 62.50 0.0436248 - 7.50 7.50 67.50 0.0759276 - 7.50 7.50 72.50 0.184364 - 7.50 7.50 77.50 0.4489 - 7.50 7.50 82.50 0.846008 - 7.50 7.50 87.50 1.11342 - 7.50 7.50 92.50 0.987352 - 7.50 7.50 97.50 0.578476 - 7.50 7.50 102.50 0.235545 - 7.50 7.50 107.50 0.0924006 - 7.50 7.50 112.50 0.0569323 - 7.50 7.50 117.50 0.0533237 - 7.50 7.50 122.50 0.0573382 - 7.50 7.50 127.50 0.0686384 - 7.50 7.50 132.50 0.0739502 - 7.50 7.50 137.50 0.0700448 - 7.50 7.50 142.50 0.0576317 - 7.50 7.50 147.50 0.0448351 - 7.50 7.50 152.50 0.0436248 - 7.50 7.50 157.50 0.0759275 - 7.50 7.50 162.50 0.184364 - 7.50 7.50 167.50 0.4489 - 7.50 7.50 172.50 0.846008 - 7.50 7.50 177.50 1.11343 - 7.50 7.50 182.50 0.987353 - 7.50 7.50 187.50 0.578476 - 7.50 7.50 192.50 0.235544 - 7.50 7.50 197.50 0.0924006 - 7.50 7.50 202.50 0.0569323 - 7.50 7.50 207.50 0.0533238 - 7.50 7.50 212.50 0.0573382 - 7.50 7.50 217.50 0.0686384 - 7.50 7.50 222.50 0.0739502 - 7.50 7.50 227.50 0.0700448 - 7.50 7.50 232.50 0.0576317 - 7.50 7.50 237.50 0.0448351 - 7.50 7.50 242.50 0.0436248 - 7.50 7.50 247.50 0.0759276 - 7.50 7.50 252.50 0.184365 - 7.50 7.50 257.50 0.448901 - 7.50 7.50 262.50 0.846011 - 7.50 7.50 267.50 1.11343 - 7.50 7.50 272.50 0.987355 - 7.50 7.50 277.50 0.578476 - 7.50 7.50 282.50 0.235544 - 7.50 7.50 287.50 0.0924006 - 7.50 7.50 292.50 0.0569322 - 7.50 7.50 297.50 0.0533237 - 7.50 7.50 302.50 0.0573382 - 7.50 7.50 307.50 0.0686384 - 7.50 7.50 312.50 0.0739502 - 7.50 7.50 317.50 0.0700448 - 7.50 7.50 322.50 0.0576318 - 7.50 7.50 327.50 0.0448351 - 7.50 7.50 332.50 0.0436248 - 7.50 7.50 337.50 0.0759275 - 7.50 7.50 342.50 0.184364 - 7.50 7.50 347.50 0.448899 - 7.50 7.50 352.50 0.846008 - 7.50 7.50 357.50 1.11343 - 7.50 12.50 2.50 1.3016 - 7.50 12.50 7.50 0.806013 - 7.50 12.50 12.50 0.363567 - 7.50 12.50 17.50 0.152794 - 7.50 12.50 22.50 0.0887193 - 7.50 12.50 27.50 0.066771 - 7.50 12.50 32.50 0.0660808 - 7.50 12.50 37.50 0.0789391 - 7.50 12.50 42.50 0.0858503 - 7.50 12.50 47.50 0.0719836 - 7.50 12.50 52.50 0.0491793 - 7.50 12.50 57.50 0.0428904 - 7.50 12.50 62.50 0.0633138 - 7.50 12.50 67.50 0.127569 - 7.50 12.50 72.50 0.290226 - 7.50 12.50 77.50 0.6362 - 7.50 12.50 82.50 1.12328 - 7.50 12.50 87.50 1.44265 - 7.50 12.50 92.50 1.3016 - 7.50 12.50 97.50 0.806013 - 7.50 12.50 102.50 0.363567 - 7.50 12.50 107.50 0.152794 - 7.50 12.50 112.50 0.0887193 - 7.50 12.50 117.50 0.066771 - 7.50 12.50 122.50 0.0660808 - 7.50 12.50 127.50 0.0789391 - 7.50 12.50 132.50 0.0858503 - 7.50 12.50 137.50 0.0719836 - 7.50 12.50 142.50 0.0491793 - 7.50 12.50 147.50 0.0428904 - 7.50 12.50 152.50 0.0633138 - 7.50 12.50 157.50 0.127569 - 7.50 12.50 162.50 0.290226 - 7.50 12.50 167.50 0.6362 - 7.50 12.50 172.50 1.12328 - 7.50 12.50 177.50 1.44265 - 7.50 12.50 182.50 1.3016 - 7.50 12.50 187.50 0.806012 - 7.50 12.50 192.50 0.363567 - 7.50 12.50 197.50 0.152794 - 7.50 12.50 202.50 0.0887193 - 7.50 12.50 207.50 0.0667711 - 7.50 12.50 212.50 0.0660809 - 7.50 12.50 217.50 0.0789392 - 7.50 12.50 222.50 0.0858503 - 7.50 12.50 227.50 0.0719836 - 7.50 12.50 232.50 0.0491793 - 7.50 12.50 237.50 0.0428905 - 7.50 12.50 242.50 0.0633138 - 7.50 12.50 247.50 0.127569 - 7.50 12.50 252.50 0.290226 - 7.50 12.50 257.50 0.636201 - 7.50 12.50 262.50 1.12328 - 7.50 12.50 267.50 1.44265 - 7.50 12.50 272.50 1.3016 - 7.50 12.50 277.50 0.806013 - 7.50 12.50 282.50 0.363567 - 7.50 12.50 287.50 0.152794 - 7.50 12.50 292.50 0.0887193 - 7.50 12.50 297.50 0.0667711 - 7.50 12.50 302.50 0.0660808 - 7.50 12.50 307.50 0.0789391 - 7.50 12.50 312.50 0.0858503 - 7.50 12.50 317.50 0.0719837 - 7.50 12.50 322.50 0.0491794 - 7.50 12.50 327.50 0.0428904 - 7.50 12.50 332.50 0.0633137 - 7.50 12.50 337.50 0.127569 - 7.50 12.50 342.50 0.290225 - 7.50 12.50 347.50 0.6362 - 7.50 12.50 352.50 1.12328 - 7.50 12.50 357.50 1.44265 - 7.50 17.50 2.50 1.52023 - 7.50 17.50 7.50 1.02628 - 7.50 17.50 12.50 0.531968 - 7.50 17.50 17.50 0.276507 - 7.50 17.50 22.50 0.15518 - 7.50 17.50 27.50 0.0857277 - 7.50 17.50 32.50 0.0524679 - 7.50 17.50 37.50 0.068673 - 7.50 17.50 42.50 0.0845745 - 7.50 17.50 47.50 0.0691217 - 7.50 17.50 52.50 0.040952 - 7.50 17.50 57.50 0.0323908 - 7.50 17.50 62.50 0.0659939 - 7.50 17.50 67.50 0.18591 - 7.50 17.50 72.50 0.432081 - 7.50 17.50 77.50 0.847715 - 7.50 17.50 82.50 1.35189 - 7.50 17.50 87.50 1.65379 - 7.50 17.50 92.50 1.52023 - 7.50 17.50 97.50 1.02628 - 7.50 17.50 102.50 0.531968 - 7.50 17.50 107.50 0.276507 - 7.50 17.50 112.50 0.15518 - 7.50 17.50 117.50 0.0857276 - 7.50 17.50 122.50 0.0524679 - 7.50 17.50 127.50 0.068673 - 7.50 17.50 132.50 0.0845745 - 7.50 17.50 137.50 0.0691217 - 7.50 17.50 142.50 0.040952 - 7.50 17.50 147.50 0.0323908 - 7.50 17.50 152.50 0.0659938 - 7.50 17.50 157.50 0.18591 - 7.50 17.50 162.50 0.432081 - 7.50 17.50 167.50 0.847715 - 7.50 17.50 172.50 1.35189 - 7.50 17.50 177.50 1.65379 - 7.50 17.50 182.50 1.52023 - 7.50 17.50 187.50 1.02628 - 7.50 17.50 192.50 0.531968 - 7.50 17.50 197.50 0.276507 - 7.50 17.50 202.50 0.155179 - 7.50 17.50 207.50 0.0857277 - 7.50 17.50 212.50 0.052468 - 7.50 17.50 217.50 0.068673 - 7.50 17.50 222.50 0.0845744 - 7.50 17.50 227.50 0.0691217 - 7.50 17.50 232.50 0.040952 - 7.50 17.50 237.50 0.0323908 - 7.50 17.50 242.50 0.065994 - 7.50 17.50 247.50 0.18591 - 7.50 17.50 252.50 0.432082 - 7.50 17.50 257.50 0.847715 - 7.50 17.50 262.50 1.3519 - 7.50 17.50 267.50 1.65379 - 7.50 17.50 272.50 1.52023 - 7.50 17.50 277.50 1.02628 - 7.50 17.50 282.50 0.531968 - 7.50 17.50 287.50 0.276507 - 7.50 17.50 292.50 0.15518 - 7.50 17.50 297.50 0.0857277 - 7.50 17.50 302.50 0.052468 - 7.50 17.50 307.50 0.068673 - 7.50 17.50 312.50 0.0845745 - 7.50 17.50 317.50 0.0691218 - 7.50 17.50 322.50 0.040952 - 7.50 17.50 327.50 0.0323908 - 7.50 17.50 332.50 0.0659937 - 7.50 17.50 337.50 0.18591 - 7.50 17.50 342.50 0.432081 - 7.50 17.50 347.50 0.847714 - 7.50 17.50 352.50 1.35189 - 7.50 17.50 357.50 1.65379 - 7.50 22.50 2.50 1.70709 - 7.50 22.50 7.50 1.26139 - 7.50 22.50 12.50 0.757891 - 7.50 22.50 17.50 0.430748 - 7.50 22.50 22.50 0.220447 - 7.50 22.50 27.50 0.111743 - 7.50 22.50 32.50 0.063614 - 7.50 22.50 37.50 0.0511927 - 7.50 22.50 42.50 0.0491587 - 7.50 22.50 47.50 0.0402605 - 7.50 22.50 52.50 0.0275172 - 7.50 22.50 57.50 0.0373365 - 7.50 22.50 62.50 0.0872121 - 7.50 22.50 67.50 0.232619 - 7.50 22.50 72.50 0.554598 - 7.50 22.50 77.50 1.04041 - 7.50 22.50 82.50 1.53789 - 7.50 22.50 87.50 1.81865 - 7.50 22.50 92.50 1.70709 - 7.50 22.50 97.50 1.26139 - 7.50 22.50 102.50 0.75789 - 7.50 22.50 107.50 0.430748 - 7.50 22.50 112.50 0.220447 - 7.50 22.50 117.50 0.111743 - 7.50 22.50 122.50 0.063614 - 7.50 22.50 127.50 0.0511927 - 7.50 22.50 132.50 0.0491587 - 7.50 22.50 137.50 0.0402606 - 7.50 22.50 142.50 0.0275172 - 7.50 22.50 147.50 0.0373365 - 7.50 22.50 152.50 0.087212 - 7.50 22.50 157.50 0.232618 - 7.50 22.50 162.50 0.554598 - 7.50 22.50 167.50 1.04041 - 7.50 22.50 172.50 1.53789 - 7.50 22.50 177.50 1.81865 - 7.50 22.50 182.50 1.70709 - 7.50 22.50 187.50 1.26139 - 7.50 22.50 192.50 0.75789 - 7.50 22.50 197.50 0.430747 - 7.50 22.50 202.50 0.220447 - 7.50 22.50 207.50 0.111743 - 7.50 22.50 212.50 0.063614 - 7.50 22.50 217.50 0.0511927 - 7.50 22.50 222.50 0.0491587 - 7.50 22.50 227.50 0.0402606 - 7.50 22.50 232.50 0.0275172 - 7.50 22.50 237.50 0.0373366 - 7.50 22.50 242.50 0.0872123 - 7.50 22.50 247.50 0.232619 - 7.50 22.50 252.50 0.554598 - 7.50 22.50 257.50 1.04041 - 7.50 22.50 262.50 1.53789 - 7.50 22.50 267.50 1.81865 - 7.50 22.50 272.50 1.70709 - 7.50 22.50 277.50 1.26139 - 7.50 22.50 282.50 0.757891 - 7.50 22.50 287.50 0.430748 - 7.50 22.50 292.50 0.220447 - 7.50 22.50 297.50 0.111743 - 7.50 22.50 302.50 0.063614 - 7.50 22.50 307.50 0.0511927 - 7.50 22.50 312.50 0.0491587 - 7.50 22.50 317.50 0.0402606 - 7.50 22.50 322.50 0.0275173 - 7.50 22.50 327.50 0.0373365 - 7.50 22.50 332.50 0.087212 - 7.50 22.50 337.50 0.232618 - 7.50 22.50 342.50 0.554597 - 7.50 22.50 347.50 1.04041 - 7.50 22.50 352.50 1.53789 - 7.50 22.50 357.50 1.81865 - 7.50 27.50 2.50 1.8763 - 7.50 27.50 7.50 1.47625 - 7.50 27.50 12.50 0.979424 - 7.50 27.50 17.50 0.578258 - 7.50 27.50 22.50 0.316784 - 7.50 27.50 27.50 0.165614 - 7.50 27.50 32.50 0.0718561 - 7.50 27.50 37.50 0.0369661 - 7.50 27.50 42.50 0.0208142 - 7.50 27.50 47.50 0.0123819 - 7.50 27.50 52.50 0.0206685 - 7.50 27.50 57.50 0.0413406 - 7.50 27.50 62.50 0.0856216 - 7.50 27.50 67.50 0.253091 - 7.50 27.50 72.50 0.603202 - 7.50 27.50 77.50 1.13362 - 7.50 27.50 82.50 1.65688 - 7.50 27.50 87.50 1.96189 - 7.50 27.50 92.50 1.8763 - 7.50 27.50 97.50 1.47625 - 7.50 27.50 102.50 0.979424 - 7.50 27.50 107.50 0.578258 - 7.50 27.50 112.50 0.316784 - 7.50 27.50 117.50 0.165614 - 7.50 27.50 122.50 0.0718561 - 7.50 27.50 127.50 0.0369661 - 7.50 27.50 132.50 0.0208142 - 7.50 27.50 137.50 0.0123819 - 7.50 27.50 142.50 0.0206685 - 7.50 27.50 147.50 0.0413407 - 7.50 27.50 152.50 0.0856215 - 7.50 27.50 157.50 0.253091 - 7.50 27.50 162.50 0.603201 - 7.50 27.50 167.50 1.13362 - 7.50 27.50 172.50 1.65688 - 7.50 27.50 177.50 1.96189 - 7.50 27.50 182.50 1.8763 - 7.50 27.50 187.50 1.47625 - 7.50 27.50 192.50 0.979424 - 7.50 27.50 197.50 0.578258 - 7.50 27.50 202.50 0.316784 - 7.50 27.50 207.50 0.165614 - 7.50 27.50 212.50 0.0718561 - 7.50 27.50 217.50 0.0369662 - 7.50 27.50 222.50 0.0208142 - 7.50 27.50 227.50 0.0123819 - 7.50 27.50 232.50 0.0206686 - 7.50 27.50 237.50 0.0413407 - 7.50 27.50 242.50 0.0856218 - 7.50 27.50 247.50 0.253092 - 7.50 27.50 252.50 0.603202 - 7.50 27.50 257.50 1.13362 - 7.50 27.50 262.50 1.65688 - 7.50 27.50 267.50 1.96189 - 7.50 27.50 272.50 1.8763 - 7.50 27.50 277.50 1.47625 - 7.50 27.50 282.50 0.979424 - 7.50 27.50 287.50 0.578258 - 7.50 27.50 292.50 0.316784 - 7.50 27.50 297.50 0.165614 - 7.50 27.50 302.50 0.0718562 - 7.50 27.50 307.50 0.0369662 - 7.50 27.50 312.50 0.0208143 - 7.50 27.50 317.50 0.0123819 - 7.50 27.50 322.50 0.0206685 - 7.50 27.50 327.50 0.0413406 - 7.50 27.50 332.50 0.0856214 - 7.50 27.50 337.50 0.253091 - 7.50 27.50 342.50 0.6032 - 7.50 27.50 347.50 1.13362 - 7.50 27.50 352.50 1.65688 - 7.50 27.50 357.50 1.96189 - 7.50 32.50 2.50 2.00435 - 7.50 32.50 7.50 1.66184 - 7.50 32.50 12.50 1.20743 - 7.50 32.50 17.50 0.779558 - 7.50 32.50 22.50 0.470081 - 7.50 32.50 27.50 0.228221 - 7.50 32.50 32.50 0.111608 - 7.50 32.50 37.50 0.0399339 - 7.50 32.50 42.50 0.0109886 - 7.50 32.50 47.50 0.00744775 - 7.50 32.50 52.50 0.017601 - 7.50 32.50 57.50 0.0492446 - 7.50 32.50 62.50 0.113932 - 7.50 32.50 67.50 0.255734 - 7.50 32.50 72.50 0.607181 - 7.50 32.50 77.50 1.14777 - 7.50 32.50 82.50 1.70348 - 7.50 32.50 87.50 2.0532 - 7.50 32.50 92.50 2.00435 - 7.50 32.50 97.50 1.66184 - 7.50 32.50 102.50 1.20743 - 7.50 32.50 107.50 0.779558 - 7.50 32.50 112.50 0.470081 - 7.50 32.50 117.50 0.228221 - 7.50 32.50 122.50 0.111608 - 7.50 32.50 127.50 0.0399338 - 7.50 32.50 132.50 0.0109886 - 7.50 32.50 137.50 0.00744775 - 7.50 32.50 142.50 0.017601 - 7.50 32.50 147.50 0.0492446 - 7.50 32.50 152.50 0.113931 - 7.50 32.50 157.50 0.255734 - 7.50 32.50 162.50 0.607181 - 7.50 32.50 167.50 1.14777 - 7.50 32.50 172.50 1.70348 - 7.50 32.50 177.50 2.0532 - 7.50 32.50 182.50 2.00435 - 7.50 32.50 187.50 1.66184 - 7.50 32.50 192.50 1.20743 - 7.50 32.50 197.50 0.779558 - 7.50 32.50 202.50 0.470081 - 7.50 32.50 207.50 0.228221 - 7.50 32.50 212.50 0.111608 - 7.50 32.50 217.50 0.0399339 - 7.50 32.50 222.50 0.0109886 - 7.50 32.50 227.50 0.00744775 - 7.50 32.50 232.50 0.0176011 - 7.50 32.50 237.50 0.0492446 - 7.50 32.50 242.50 0.113932 - 7.50 32.50 247.50 0.255735 - 7.50 32.50 252.50 0.607182 - 7.50 32.50 257.50 1.14777 - 7.50 32.50 262.50 1.70348 - 7.50 32.50 267.50 2.0532 - 7.50 32.50 272.50 2.00435 - 7.50 32.50 277.50 1.66184 - 7.50 32.50 282.50 1.20743 - 7.50 32.50 287.50 0.779558 - 7.50 32.50 292.50 0.470081 - 7.50 32.50 297.50 0.228221 - 7.50 32.50 302.50 0.111608 - 7.50 32.50 307.50 0.0399339 - 7.50 32.50 312.50 0.0109886 - 7.50 32.50 317.50 0.00744774 - 7.50 32.50 322.50 0.017601 - 7.50 32.50 327.50 0.0492445 - 7.50 32.50 332.50 0.113931 - 7.50 32.50 337.50 0.255734 - 7.50 32.50 342.50 0.60718 - 7.50 32.50 347.50 1.14777 - 7.50 32.50 352.50 1.70347 - 7.50 32.50 357.50 2.0532 - 7.50 37.50 2.50 2.14417 - 7.50 37.50 7.50 1.89225 - 7.50 37.50 12.50 1.51705 - 7.50 37.50 17.50 1.12216 - 7.50 37.50 22.50 0.708159 - 7.50 37.50 27.50 0.398187 - 7.50 37.50 32.50 0.193987 - 7.50 37.50 37.50 0.0726451 - 7.50 37.50 42.50 0.0241046 - 7.50 37.50 47.50 0.0149224 - 7.50 37.50 52.50 0.0264573 - 7.50 37.50 57.50 0.0673648 - 7.50 37.50 62.50 0.148373 - 7.50 37.50 67.50 0.316605 - 7.50 37.50 72.50 0.667492 - 7.50 37.50 77.50 1.21186 - 7.50 37.50 82.50 1.76924 - 7.50 37.50 87.50 2.13826 - 7.50 37.50 92.50 2.14417 - 7.50 37.50 97.50 1.89225 - 7.50 37.50 102.50 1.51705 - 7.50 37.50 107.50 1.12216 - 7.50 37.50 112.50 0.708159 - 7.50 37.50 117.50 0.398187 - 7.50 37.50 122.50 0.193987 - 7.50 37.50 127.50 0.072645 - 7.50 37.50 132.50 0.0241046 - 7.50 37.50 137.50 0.0149224 - 7.50 37.50 142.50 0.0264573 - 7.50 37.50 147.50 0.0673648 - 7.50 37.50 152.50 0.148373 - 7.50 37.50 157.50 0.316604 - 7.50 37.50 162.50 0.667492 - 7.50 37.50 167.50 1.21186 - 7.50 37.50 172.50 1.76924 - 7.50 37.50 177.50 2.13826 - 7.50 37.50 182.50 2.14417 - 7.50 37.50 187.50 1.89225 - 7.50 37.50 192.50 1.51705 - 7.50 37.50 197.50 1.12215 - 7.50 37.50 202.50 0.708159 - 7.50 37.50 207.50 0.398188 - 7.50 37.50 212.50 0.193987 - 7.50 37.50 217.50 0.0726451 - 7.50 37.50 222.50 0.0241046 - 7.50 37.50 227.50 0.0149224 - 7.50 37.50 232.50 0.0264574 - 7.50 37.50 237.50 0.0673649 - 7.50 37.50 242.50 0.148373 - 7.50 37.50 247.50 0.316605 - 7.50 37.50 252.50 0.667493 - 7.50 37.50 257.50 1.21186 - 7.50 37.50 262.50 1.76924 - 7.50 37.50 267.50 2.13825 - 7.50 37.50 272.50 2.14417 - 7.50 37.50 277.50 1.89226 - 7.50 37.50 282.50 1.51705 - 7.50 37.50 287.50 1.12216 - 7.50 37.50 292.50 0.708159 - 7.50 37.50 297.50 0.398188 - 7.50 37.50 302.50 0.193987 - 7.50 37.50 307.50 0.0726452 - 7.50 37.50 312.50 0.0241046 - 7.50 37.50 317.50 0.0149224 - 7.50 37.50 322.50 0.0264573 - 7.50 37.50 327.50 0.0673647 - 7.50 37.50 332.50 0.148373 - 7.50 37.50 337.50 0.316604 - 7.50 37.50 342.50 0.667492 - 7.50 37.50 347.50 1.21186 - 7.50 37.50 352.50 1.76924 - 7.50 37.50 357.50 2.13825 - 7.50 42.50 2.50 2.24978 - 7.50 42.50 7.50 2.16403 - 7.50 42.50 12.50 1.92215 - 7.50 42.50 17.50 1.53548 - 7.50 42.50 22.50 1.06461 - 7.50 42.50 27.50 0.658197 - 7.50 42.50 32.50 0.340671 - 7.50 42.50 37.50 0.147592 - 7.50 42.50 42.50 0.0655167 - 7.50 42.50 47.50 0.0366469 - 7.50 42.50 52.50 0.0455315 - 7.50 42.50 57.50 0.0951028 - 7.50 42.50 62.50 0.194671 - 7.50 42.50 67.50 0.408709 - 7.50 42.50 72.50 0.784166 - 7.50 42.50 77.50 1.32884 - 7.50 42.50 82.50 1.84277 - 7.50 42.50 87.50 2.17122 - 7.50 42.50 92.50 2.24978 - 7.50 42.50 97.50 2.16403 - 7.50 42.50 102.50 1.92215 - 7.50 42.50 107.50 1.53548 - 7.50 42.50 112.50 1.06461 - 7.50 42.50 117.50 0.658197 - 7.50 42.50 122.50 0.340671 - 7.50 42.50 127.50 0.147592 - 7.50 42.50 132.50 0.0655167 - 7.50 42.50 137.50 0.036647 - 7.50 42.50 142.50 0.0455315 - 7.50 42.50 147.50 0.0951027 - 7.50 42.50 152.50 0.194671 - 7.50 42.50 157.50 0.408708 - 7.50 42.50 162.50 0.784166 - 7.50 42.50 167.50 1.32884 - 7.50 42.50 172.50 1.84277 - 7.50 42.50 177.50 2.17122 - 7.50 42.50 182.50 2.24978 - 7.50 42.50 187.50 2.16403 - 7.50 42.50 192.50 1.92215 - 7.50 42.50 197.50 1.53547 - 7.50 42.50 202.50 1.06461 - 7.50 42.50 207.50 0.658198 - 7.50 42.50 212.50 0.340671 - 7.50 42.50 217.50 0.147592 - 7.50 42.50 222.50 0.0655168 - 7.50 42.50 227.50 0.036647 - 7.50 42.50 232.50 0.0455317 - 7.50 42.50 237.50 0.0951028 - 7.50 42.50 242.50 0.194671 - 7.50 42.50 247.50 0.408709 - 7.50 42.50 252.50 0.784167 - 7.50 42.50 257.50 1.32884 - 7.50 42.50 262.50 1.84277 - 7.50 42.50 267.50 2.17122 - 7.50 42.50 272.50 2.24978 - 7.50 42.50 277.50 2.16403 - 7.50 42.50 282.50 1.92215 - 7.50 42.50 287.50 1.53548 - 7.50 42.50 292.50 1.06461 - 7.50 42.50 297.50 0.658198 - 7.50 42.50 302.50 0.340672 - 7.50 42.50 307.50 0.147592 - 7.50 42.50 312.50 0.0655168 - 7.50 42.50 317.50 0.036647 - 7.50 42.50 322.50 0.0455315 - 7.50 42.50 327.50 0.0951026 - 7.50 42.50 332.50 0.194671 - 7.50 42.50 337.50 0.408708 - 7.50 42.50 342.50 0.784165 - 7.50 42.50 347.50 1.32884 - 7.50 42.50 352.50 1.84277 - 7.50 42.50 357.50 2.17122 - 7.50 47.50 2.50 2.27582 - 7.50 47.50 7.50 2.39142 - 7.50 47.50 12.50 2.32043 - 7.50 47.50 17.50 1.96925 - 7.50 47.50 22.50 1.44285 - 7.50 47.50 27.50 0.87841 - 7.50 47.50 32.50 0.513583 - 7.50 47.50 37.50 0.251363 - 7.50 47.50 42.50 0.114065 - 7.50 47.50 47.50 0.0671405 - 7.50 47.50 52.50 0.0619832 - 7.50 47.50 57.50 0.132148 - 7.50 47.50 62.50 0.250432 - 7.50 47.50 67.50 0.481647 - 7.50 47.50 72.50 0.919116 - 7.50 47.50 77.50 1.42774 - 7.50 47.50 82.50 1.88999 - 7.50 47.50 87.50 2.12178 - 7.50 47.50 92.50 2.27582 - 7.50 47.50 97.50 2.39142 - 7.50 47.50 102.50 2.32043 - 7.50 47.50 107.50 1.96925 - 7.50 47.50 112.50 1.44285 - 7.50 47.50 117.50 0.87841 - 7.50 47.50 122.50 0.513583 - 7.50 47.50 127.50 0.251363 - 7.50 47.50 132.50 0.114065 - 7.50 47.50 137.50 0.0671405 - 7.50 47.50 142.50 0.0619832 - 7.50 47.50 147.50 0.132148 - 7.50 47.50 152.50 0.250432 - 7.50 47.50 157.50 0.481646 - 7.50 47.50 162.50 0.919116 - 7.50 47.50 167.50 1.42774 - 7.50 47.50 172.50 1.88998 - 7.50 47.50 177.50 2.12178 - 7.50 47.50 182.50 2.27582 - 7.50 47.50 187.50 2.39142 - 7.50 47.50 192.50 2.32043 - 7.50 47.50 197.50 1.96925 - 7.50 47.50 202.50 1.44285 - 7.50 47.50 207.50 0.878411 - 7.50 47.50 212.50 0.513583 - 7.50 47.50 217.50 0.251363 - 7.50 47.50 222.50 0.114065 - 7.50 47.50 227.50 0.0671406 - 7.50 47.50 232.50 0.0619833 - 7.50 47.50 237.50 0.132148 - 7.50 47.50 242.50 0.250433 - 7.50 47.50 247.50 0.481648 - 7.50 47.50 252.50 0.919117 - 7.50 47.50 257.50 1.42774 - 7.50 47.50 262.50 1.88999 - 7.50 47.50 267.50 2.12179 - 7.50 47.50 272.50 2.27582 - 7.50 47.50 277.50 2.39142 - 7.50 47.50 282.50 2.32043 - 7.50 47.50 287.50 1.96925 - 7.50 47.50 292.50 1.44285 - 7.50 47.50 297.50 0.878411 - 7.50 47.50 302.50 0.513583 - 7.50 47.50 307.50 0.251363 - 7.50 47.50 312.50 0.114065 - 7.50 47.50 317.50 0.0671406 - 7.50 47.50 322.50 0.0619832 - 7.50 47.50 327.50 0.132148 - 7.50 47.50 332.50 0.250432 - 7.50 47.50 337.50 0.481646 - 7.50 47.50 342.50 0.919115 - 7.50 47.50 347.50 1.42774 - 7.50 47.50 352.50 1.88999 - 7.50 47.50 357.50 2.12179 - 7.50 52.50 2.50 2.24978 - 7.50 52.50 7.50 2.47068 - 7.50 52.50 12.50 2.56976 - 7.50 52.50 17.50 2.24595 - 7.50 52.50 22.50 1.63717 - 7.50 52.50 27.50 1.12989 - 7.50 52.50 32.50 0.674263 - 7.50 52.50 37.50 0.335582 - 7.50 52.50 42.50 0.147045 - 7.50 52.50 47.50 0.0660524 - 7.50 52.50 52.50 0.0740068 - 7.50 52.50 57.50 0.166204 - 7.50 52.50 62.50 0.287931 - 7.50 52.50 67.50 0.54844 - 7.50 52.50 72.50 0.990688 - 7.50 52.50 77.50 1.47984 - 7.50 52.50 82.50 1.89379 - 7.50 52.50 87.50 2.06631 - 7.50 52.50 92.50 2.24978 - 7.50 52.50 97.50 2.47068 - 7.50 52.50 102.50 2.56976 - 7.50 52.50 107.50 2.24595 - 7.50 52.50 112.50 1.63717 - 7.50 52.50 117.50 1.12989 - 7.50 52.50 122.50 0.674263 - 7.50 52.50 127.50 0.335582 - 7.50 52.50 132.50 0.147045 - 7.50 52.50 137.50 0.0660525 - 7.50 52.50 142.50 0.0740068 - 7.50 52.50 147.50 0.166204 - 7.50 52.50 152.50 0.287931 - 7.50 52.50 157.50 0.54844 - 7.50 52.50 162.50 0.990688 - 7.50 52.50 167.50 1.47984 - 7.50 52.50 172.50 1.89379 - 7.50 52.50 177.50 2.06631 - 7.50 52.50 182.50 2.24978 - 7.50 52.50 187.50 2.47068 - 7.50 52.50 192.50 2.56976 - 7.50 52.50 197.50 2.24595 - 7.50 52.50 202.50 1.63717 - 7.50 52.50 207.50 1.12989 - 7.50 52.50 212.50 0.674263 - 7.50 52.50 217.50 0.335582 - 7.50 52.50 222.50 0.147045 - 7.50 52.50 227.50 0.0660525 - 7.50 52.50 232.50 0.0740069 - 7.50 52.50 237.50 0.166205 - 7.50 52.50 242.50 0.287931 - 7.50 52.50 247.50 0.548441 - 7.50 52.50 252.50 0.990689 - 7.50 52.50 257.50 1.47984 - 7.50 52.50 262.50 1.89379 - 7.50 52.50 267.50 2.06631 - 7.50 52.50 272.50 2.24978 - 7.50 52.50 277.50 2.47068 - 7.50 52.50 282.50 2.56976 - 7.50 52.50 287.50 2.24595 - 7.50 52.50 292.50 1.63717 - 7.50 52.50 297.50 1.12989 - 7.50 52.50 302.50 0.674264 - 7.50 52.50 307.50 0.335582 - 7.50 52.50 312.50 0.147045 - 7.50 52.50 317.50 0.0660525 - 7.50 52.50 322.50 0.0740068 - 7.50 52.50 327.50 0.166204 - 7.50 52.50 332.50 0.287931 - 7.50 52.50 337.50 0.54844 - 7.50 52.50 342.50 0.990687 - 7.50 52.50 347.50 1.47984 - 7.50 52.50 352.50 1.89379 - 7.50 52.50 357.50 2.06631 - 7.50 57.50 2.50 2.14417 - 7.50 57.50 7.50 2.35162 - 7.50 57.50 12.50 2.56933 - 7.50 57.50 17.50 2.25069 - 7.50 57.50 22.50 1.6837 - 7.50 57.50 27.50 1.29211 - 7.50 57.50 32.50 0.779027 - 7.50 57.50 37.50 0.35281 - 7.50 57.50 42.50 0.128234 - 7.50 57.50 47.50 0.0551716 - 7.50 57.50 52.50 0.0592553 - 7.50 57.50 57.50 0.142681 - 7.50 57.50 62.50 0.30684 - 7.50 57.50 67.50 0.548291 - 7.50 57.50 72.50 0.949074 - 7.50 57.50 77.50 1.43781 - 7.50 57.50 82.50 1.77356 - 7.50 57.50 87.50 1.97246 - 7.50 57.50 92.50 2.14417 - 7.50 57.50 97.50 2.35162 - 7.50 57.50 102.50 2.56933 - 7.50 57.50 107.50 2.25069 - 7.50 57.50 112.50 1.6837 - 7.50 57.50 117.50 1.29211 - 7.50 57.50 122.50 0.779027 - 7.50 57.50 127.50 0.35281 - 7.50 57.50 132.50 0.128234 - 7.50 57.50 137.50 0.0551716 - 7.50 57.50 142.50 0.0592553 - 7.50 57.50 147.50 0.142681 - 7.50 57.50 152.50 0.30684 - 7.50 57.50 157.50 0.548291 - 7.50 57.50 162.50 0.949073 - 7.50 57.50 167.50 1.43781 - 7.50 57.50 172.50 1.77356 - 7.50 57.50 177.50 1.97246 - 7.50 57.50 182.50 2.14417 - 7.50 57.50 187.50 2.35162 - 7.50 57.50 192.50 2.56933 - 7.50 57.50 197.50 2.25069 - 7.50 57.50 202.50 1.6837 - 7.50 57.50 207.50 1.29211 - 7.50 57.50 212.50 0.779027 - 7.50 57.50 217.50 0.352811 - 7.50 57.50 222.50 0.128234 - 7.50 57.50 227.50 0.0551716 - 7.50 57.50 232.50 0.0592555 - 7.50 57.50 237.50 0.142681 - 7.50 57.50 242.50 0.306841 - 7.50 57.50 247.50 0.548291 - 7.50 57.50 252.50 0.949074 - 7.50 57.50 257.50 1.43782 - 7.50 57.50 262.50 1.77356 - 7.50 57.50 267.50 1.97246 - 7.50 57.50 272.50 2.14417 - 7.50 57.50 277.50 2.35162 - 7.50 57.50 282.50 2.56933 - 7.50 57.50 287.50 2.25069 - 7.50 57.50 292.50 1.6837 - 7.50 57.50 297.50 1.29211 - 7.50 57.50 302.50 0.779028 - 7.50 57.50 307.50 0.352811 - 7.50 57.50 312.50 0.128234 - 7.50 57.50 317.50 0.0551716 - 7.50 57.50 322.50 0.0592552 - 7.50 57.50 327.50 0.142681 - 7.50 57.50 332.50 0.30684 - 7.50 57.50 337.50 0.54829 - 7.50 57.50 342.50 0.949073 - 7.50 57.50 347.50 1.43781 - 7.50 57.50 352.50 1.77356 - 7.50 57.50 357.50 1.97246 - 7.50 62.50 2.50 2.00435 - 7.50 62.50 7.50 2.14313 - 7.50 62.50 12.50 2.36556 - 7.50 62.50 17.50 2.07465 - 7.50 62.50 22.50 1.65406 - 7.50 62.50 27.50 1.19609 - 7.50 62.50 32.50 0.74193 - 7.50 62.50 37.50 0.345126 - 7.50 62.50 42.50 0.106678 - 7.50 62.50 47.50 0.0302474 - 7.50 62.50 52.50 0.0409818 - 7.50 62.50 57.50 0.118409 - 7.50 62.50 62.50 0.250863 - 7.50 62.50 67.50 0.475306 - 7.50 62.50 72.50 0.842803 - 7.50 62.50 77.50 1.26763 - 7.50 62.50 82.50 1.60129 - 7.50 62.50 87.50 1.83272 - 7.50 62.50 92.50 2.00435 - 7.50 62.50 97.50 2.14313 - 7.50 62.50 102.50 2.36556 - 7.50 62.50 107.50 2.07465 - 7.50 62.50 112.50 1.65406 - 7.50 62.50 117.50 1.19609 - 7.50 62.50 122.50 0.74193 - 7.50 62.50 127.50 0.345126 - 7.50 62.50 132.50 0.106678 - 7.50 62.50 137.50 0.0302474 - 7.50 62.50 142.50 0.0409818 - 7.50 62.50 147.50 0.118409 - 7.50 62.50 152.50 0.250863 - 7.50 62.50 157.50 0.475305 - 7.50 62.50 162.50 0.842803 - 7.50 62.50 167.50 1.26763 - 7.50 62.50 172.50 1.60129 - 7.50 62.50 177.50 1.83272 - 7.50 62.50 182.50 2.00435 - 7.50 62.50 187.50 2.14313 - 7.50 62.50 192.50 2.36556 - 7.50 62.50 197.50 2.07465 - 7.50 62.50 202.50 1.65406 - 7.50 62.50 207.50 1.19609 - 7.50 62.50 212.50 0.74193 - 7.50 62.50 217.50 0.345127 - 7.50 62.50 222.50 0.106678 - 7.50 62.50 227.50 0.0302475 - 7.50 62.50 232.50 0.0409818 - 7.50 62.50 237.50 0.118409 - 7.50 62.50 242.50 0.250863 - 7.50 62.50 247.50 0.475307 - 7.50 62.50 252.50 0.842804 - 7.50 62.50 257.50 1.26763 - 7.50 62.50 262.50 1.60129 - 7.50 62.50 267.50 1.83272 - 7.50 62.50 272.50 2.00435 - 7.50 62.50 277.50 2.14313 - 7.50 62.50 282.50 2.36556 - 7.50 62.50 287.50 2.07465 - 7.50 62.50 292.50 1.65406 - 7.50 62.50 297.50 1.1961 - 7.50 62.50 302.50 0.741931 - 7.50 62.50 307.50 0.345126 - 7.50 62.50 312.50 0.106678 - 7.50 62.50 317.50 0.0302475 - 7.50 62.50 322.50 0.0409817 - 7.50 62.50 327.50 0.118409 - 7.50 62.50 332.50 0.250863 - 7.50 62.50 337.50 0.475305 - 7.50 62.50 342.50 0.842802 - 7.50 62.50 347.50 1.26763 - 7.50 62.50 352.50 1.60129 - 7.50 62.50 357.50 1.83272 - 7.50 67.50 2.50 1.8763 - 7.50 67.50 7.50 1.93504 - 7.50 67.50 12.50 2.10575 - 7.50 67.50 17.50 1.94047 - 7.50 67.50 22.50 1.55575 - 7.50 67.50 27.50 1.10522 - 7.50 67.50 32.50 0.624972 - 7.50 67.50 37.50 0.276608 - 7.50 67.50 42.50 0.103845 - 7.50 67.50 47.50 0.0340418 - 7.50 67.50 52.50 0.0339808 - 7.50 67.50 57.50 0.0978963 - 7.50 67.50 62.50 0.242333 - 7.50 67.50 67.50 0.43243 - 7.50 67.50 72.50 0.757156 - 7.50 67.50 77.50 1.1422 - 7.50 67.50 82.50 1.43712 - 7.50 67.50 87.50 1.71558 - 7.50 67.50 92.50 1.8763 - 7.50 67.50 97.50 1.93504 - 7.50 67.50 102.50 2.10575 - 7.50 67.50 107.50 1.94047 - 7.50 67.50 112.50 1.55576 - 7.50 67.50 117.50 1.10522 - 7.50 67.50 122.50 0.624971 - 7.50 67.50 127.50 0.276608 - 7.50 67.50 132.50 0.103845 - 7.50 67.50 137.50 0.0340418 - 7.50 67.50 142.50 0.0339808 - 7.50 67.50 147.50 0.0978964 - 7.50 67.50 152.50 0.242333 - 7.50 67.50 157.50 0.43243 - 7.50 67.50 162.50 0.757155 - 7.50 67.50 167.50 1.1422 - 7.50 67.50 172.50 1.43712 - 7.50 67.50 177.50 1.71558 - 7.50 67.50 182.50 1.8763 - 7.50 67.50 187.50 1.93504 - 7.50 67.50 192.50 2.10575 - 7.50 67.50 197.50 1.94047 - 7.50 67.50 202.50 1.55575 - 7.50 67.50 207.50 1.10522 - 7.50 67.50 212.50 0.624972 - 7.50 67.50 217.50 0.276608 - 7.50 67.50 222.50 0.103845 - 7.50 67.50 227.50 0.0340418 - 7.50 67.50 232.50 0.0339809 - 7.50 67.50 237.50 0.0978967 - 7.50 67.50 242.50 0.242334 - 7.50 67.50 247.50 0.432431 - 7.50 67.50 252.50 0.757156 - 7.50 67.50 257.50 1.1422 - 7.50 67.50 262.50 1.43712 - 7.50 67.50 267.50 1.71558 - 7.50 67.50 272.50 1.8763 - 7.50 67.50 277.50 1.93504 - 7.50 67.50 282.50 2.10575 - 7.50 67.50 287.50 1.94047 - 7.50 67.50 292.50 1.55575 - 7.50 67.50 297.50 1.10522 - 7.50 67.50 302.50 0.624972 - 7.50 67.50 307.50 0.276608 - 7.50 67.50 312.50 0.103845 - 7.50 67.50 317.50 0.0340418 - 7.50 67.50 322.50 0.0339808 - 7.50 67.50 327.50 0.0978962 - 7.50 67.50 332.50 0.242332 - 7.50 67.50 337.50 0.43243 - 7.50 67.50 342.50 0.757155 - 7.50 67.50 347.50 1.1422 - 7.50 67.50 352.50 1.43712 - 7.50 67.50 357.50 1.71558 - 7.50 72.50 2.50 1.70709 - 7.50 72.50 7.50 1.68933 - 7.50 72.50 12.50 1.89483 - 7.50 72.50 17.50 1.77444 - 7.50 72.50 22.50 1.5268 - 7.50 72.50 27.50 1.01541 - 7.50 72.50 32.50 0.535855 - 7.50 72.50 37.50 0.246594 - 7.50 72.50 42.50 0.0913852 - 7.50 72.50 47.50 0.0294823 - 7.50 72.50 52.50 0.0374786 - 7.50 72.50 57.50 0.101049 - 7.50 72.50 62.50 0.262932 - 7.50 72.50 67.50 0.511483 - 7.50 72.50 72.50 0.741912 - 7.50 72.50 77.50 1.03975 - 7.50 72.50 82.50 1.32127 - 7.50 72.50 87.50 1.55244 - 7.50 72.50 92.50 1.70709 - 7.50 72.50 97.50 1.68933 - 7.50 72.50 102.50 1.89483 - 7.50 72.50 107.50 1.77444 - 7.50 72.50 112.50 1.5268 - 7.50 72.50 117.50 1.01541 - 7.50 72.50 122.50 0.535855 - 7.50 72.50 127.50 0.246594 - 7.50 72.50 132.50 0.0913851 - 7.50 72.50 137.50 0.0294823 - 7.50 72.50 142.50 0.0374786 - 7.50 72.50 147.50 0.101049 - 7.50 72.50 152.50 0.262932 - 7.50 72.50 157.50 0.511482 - 7.50 72.50 162.50 0.741912 - 7.50 72.50 167.50 1.03975 - 7.50 72.50 172.50 1.32127 - 7.50 72.50 177.50 1.55244 - 7.50 72.50 182.50 1.70709 - 7.50 72.50 187.50 1.68933 - 7.50 72.50 192.50 1.89483 - 7.50 72.50 197.50 1.77444 - 7.50 72.50 202.50 1.5268 - 7.50 72.50 207.50 1.01541 - 7.50 72.50 212.50 0.535855 - 7.50 72.50 217.50 0.246594 - 7.50 72.50 222.50 0.0913852 - 7.50 72.50 227.50 0.0294823 - 7.50 72.50 232.50 0.0374787 - 7.50 72.50 237.50 0.101049 - 7.50 72.50 242.50 0.262933 - 7.50 72.50 247.50 0.511483 - 7.50 72.50 252.50 0.741913 - 7.50 72.50 257.50 1.03975 - 7.50 72.50 262.50 1.32127 - 7.50 72.50 267.50 1.55244 - 7.50 72.50 272.50 1.70709 - 7.50 72.50 277.50 1.68933 - 7.50 72.50 282.50 1.89483 - 7.50 72.50 287.50 1.77444 - 7.50 72.50 292.50 1.5268 - 7.50 72.50 297.50 1.01541 - 7.50 72.50 302.50 0.535856 - 7.50 72.50 307.50 0.246594 - 7.50 72.50 312.50 0.0913853 - 7.50 72.50 317.50 0.0294823 - 7.50 72.50 322.50 0.0374785 - 7.50 72.50 327.50 0.101049 - 7.50 72.50 332.50 0.262932 - 7.50 72.50 337.50 0.511482 - 7.50 72.50 342.50 0.741912 - 7.50 72.50 347.50 1.03975 - 7.50 72.50 352.50 1.32127 - 7.50 72.50 357.50 1.55244 - 7.50 77.50 2.50 1.52023 - 7.50 77.50 7.50 1.46943 - 7.50 77.50 12.50 1.567 - 7.50 77.50 17.50 1.56492 - 7.50 77.50 22.50 1.28371 - 7.50 77.50 27.50 0.854395 - 7.50 77.50 32.50 0.480503 - 7.50 77.50 37.50 0.215092 - 7.50 77.50 42.50 0.0682122 - 7.50 77.50 47.50 0.0217756 - 7.50 77.50 52.50 0.0330349 - 7.50 77.50 57.50 0.115708 - 7.50 77.50 62.50 0.273979 - 7.50 77.50 67.50 0.503485 - 7.50 77.50 72.50 0.768698 - 7.50 77.50 77.50 0.968556 - 7.50 77.50 82.50 1.22163 - 7.50 77.50 87.50 1.35001 - 7.50 77.50 92.50 1.52023 - 7.50 77.50 97.50 1.46943 - 7.50 77.50 102.50 1.567 - 7.50 77.50 107.50 1.56491 - 7.50 77.50 112.50 1.28371 - 7.50 77.50 117.50 0.854395 - 7.50 77.50 122.50 0.480503 - 7.50 77.50 127.50 0.215092 - 7.50 77.50 132.50 0.0682122 - 7.50 77.50 137.50 0.0217757 - 7.50 77.50 142.50 0.0330349 - 7.50 77.50 147.50 0.115708 - 7.50 77.50 152.50 0.273979 - 7.50 77.50 157.50 0.503485 - 7.50 77.50 162.50 0.768698 - 7.50 77.50 167.50 0.968556 - 7.50 77.50 172.50 1.22163 - 7.50 77.50 177.50 1.35001 - 7.50 77.50 182.50 1.52022 - 7.50 77.50 187.50 1.46943 - 7.50 77.50 192.50 1.567 - 7.50 77.50 197.50 1.56492 - 7.50 77.50 202.50 1.28371 - 7.50 77.50 207.50 0.854395 - 7.50 77.50 212.50 0.480503 - 7.50 77.50 217.50 0.215092 - 7.50 77.50 222.50 0.0682123 - 7.50 77.50 227.50 0.0217757 - 7.50 77.50 232.50 0.033035 - 7.50 77.50 237.50 0.115709 - 7.50 77.50 242.50 0.273979 - 7.50 77.50 247.50 0.503485 - 7.50 77.50 252.50 0.768698 - 7.50 77.50 257.50 0.968557 - 7.50 77.50 262.50 1.22163 - 7.50 77.50 267.50 1.35001 - 7.50 77.50 272.50 1.52023 - 7.50 77.50 277.50 1.46943 - 7.50 77.50 282.50 1.567 - 7.50 77.50 287.50 1.56492 - 7.50 77.50 292.50 1.28371 - 7.50 77.50 297.50 0.854395 - 7.50 77.50 302.50 0.480504 - 7.50 77.50 307.50 0.215093 - 7.50 77.50 312.50 0.0682124 - 7.50 77.50 317.50 0.0217757 - 7.50 77.50 322.50 0.0330348 - 7.50 77.50 327.50 0.115708 - 7.50 77.50 332.50 0.273979 - 7.50 77.50 337.50 0.503485 - 7.50 77.50 342.50 0.768698 - 7.50 77.50 347.50 0.968555 - 7.50 77.50 352.50 1.22163 - 7.50 77.50 357.50 1.35001 - 7.50 82.50 2.50 1.3016 - 7.50 82.50 7.50 1.24446 - 7.50 82.50 12.50 1.25532 - 7.50 82.50 17.50 1.27109 - 7.50 82.50 22.50 1.00952 - 7.50 82.50 27.50 0.621058 - 7.50 82.50 32.50 0.328381 - 7.50 82.50 37.50 0.139193 - 7.50 82.50 42.50 0.0486863 - 7.50 82.50 47.50 0.0183859 - 7.50 82.50 52.50 0.026686 - 7.50 82.50 57.50 0.0814242 - 7.50 82.50 62.50 0.225722 - 7.50 82.50 67.50 0.479395 - 7.50 82.50 72.50 0.758268 - 7.50 82.50 77.50 0.940553 - 7.50 82.50 82.50 1.05056 - 7.50 82.50 87.50 1.2126 - 7.50 82.50 92.50 1.3016 - 7.50 82.50 97.50 1.24446 - 7.50 82.50 102.50 1.25532 - 7.50 82.50 107.50 1.27109 - 7.50 82.50 112.50 1.00952 - 7.50 82.50 117.50 0.621058 - 7.50 82.50 122.50 0.328381 - 7.50 82.50 127.50 0.139193 - 7.50 82.50 132.50 0.0486862 - 7.50 82.50 137.50 0.0183859 - 7.50 82.50 142.50 0.026686 - 7.50 82.50 147.50 0.0814242 - 7.50 82.50 152.50 0.225721 - 7.50 82.50 157.50 0.479395 - 7.50 82.50 162.50 0.758267 - 7.50 82.50 167.50 0.940554 - 7.50 82.50 172.50 1.05056 - 7.50 82.50 177.50 1.21261 - 7.50 82.50 182.50 1.3016 - 7.50 82.50 187.50 1.24446 - 7.50 82.50 192.50 1.25532 - 7.50 82.50 197.50 1.27109 - 7.50 82.50 202.50 1.00952 - 7.50 82.50 207.50 0.621058 - 7.50 82.50 212.50 0.328381 - 7.50 82.50 217.50 0.139193 - 7.50 82.50 222.50 0.0486863 - 7.50 82.50 227.50 0.0183859 - 7.50 82.50 232.50 0.026686 - 7.50 82.50 237.50 0.0814244 - 7.50 82.50 242.50 0.225722 - 7.50 82.50 247.50 0.479396 - 7.50 82.50 252.50 0.758268 - 7.50 82.50 257.50 0.940554 - 7.50 82.50 262.50 1.05056 - 7.50 82.50 267.50 1.2126 - 7.50 82.50 272.50 1.3016 - 7.50 82.50 277.50 1.24446 - 7.50 82.50 282.50 1.25532 - 7.50 82.50 287.50 1.27109 - 7.50 82.50 292.50 1.00952 - 7.50 82.50 297.50 0.621058 - 7.50 82.50 302.50 0.328382 - 7.50 82.50 307.50 0.139193 - 7.50 82.50 312.50 0.0486863 - 7.50 82.50 317.50 0.0183859 - 7.50 82.50 322.50 0.0266859 - 7.50 82.50 327.50 0.081424 - 7.50 82.50 332.50 0.225721 - 7.50 82.50 337.50 0.479394 - 7.50 82.50 342.50 0.758267 - 7.50 82.50 347.50 0.940553 - 7.50 82.50 352.50 1.05056 - 7.50 82.50 357.50 1.21261 - 7.50 87.50 2.50 0.987352 - 7.50 87.50 7.50 0.876181 - 7.50 87.50 12.50 0.932269 - 7.50 87.50 17.50 0.85581 - 7.50 87.50 22.50 0.677906 - 7.50 87.50 27.50 0.419548 - 7.50 87.50 32.50 0.22012 - 7.50 87.50 37.50 0.111535 - 7.50 87.50 42.50 0.0519198 - 7.50 87.50 47.50 0.0282038 - 7.50 87.50 52.50 0.0429038 - 7.50 87.50 57.50 0.0938747 - 7.50 87.50 62.50 0.195041 - 7.50 87.50 67.50 0.366826 - 7.50 87.50 72.50 0.581437 - 7.50 87.50 77.50 0.804857 - 7.50 87.50 82.50 0.905238 - 7.50 87.50 87.50 0.872519 - 7.50 87.50 92.50 0.987352 - 7.50 87.50 97.50 0.876181 - 7.50 87.50 102.50 0.932269 - 7.50 87.50 107.50 0.855811 - 7.50 87.50 112.50 0.677906 - 7.50 87.50 117.50 0.419548 - 7.50 87.50 122.50 0.22012 - 7.50 87.50 127.50 0.111535 - 7.50 87.50 132.50 0.0519197 - 7.50 87.50 137.50 0.0282038 - 7.50 87.50 142.50 0.0429038 - 7.50 87.50 147.50 0.0938746 - 7.50 87.50 152.50 0.195041 - 7.50 87.50 157.50 0.366826 - 7.50 87.50 162.50 0.581437 - 7.50 87.50 167.50 0.804857 - 7.50 87.50 172.50 0.905238 - 7.50 87.50 177.50 0.872519 - 7.50 87.50 182.50 0.98735 - 7.50 87.50 187.50 0.876181 - 7.50 87.50 192.50 0.932269 - 7.50 87.50 197.50 0.855811 - 7.50 87.50 202.50 0.677906 - 7.50 87.50 207.50 0.419548 - 7.50 87.50 212.50 0.220121 - 7.50 87.50 217.50 0.111535 - 7.50 87.50 222.50 0.0519198 - 7.50 87.50 227.50 0.0282038 - 7.50 87.50 232.50 0.0429039 - 7.50 87.50 237.50 0.0938748 - 7.50 87.50 242.50 0.195041 - 7.50 87.50 247.50 0.366826 - 7.50 87.50 252.50 0.581437 - 7.50 87.50 257.50 0.804858 - 7.50 87.50 262.50 0.905238 - 7.50 87.50 267.50 0.872518 - 7.50 87.50 272.50 0.987353 - 7.50 87.50 277.50 0.876181 - 7.50 87.50 282.50 0.932269 - 7.50 87.50 287.50 0.85581 - 7.50 87.50 292.50 0.677906 - 7.50 87.50 297.50 0.419548 - 7.50 87.50 302.50 0.220121 - 7.50 87.50 307.50 0.111535 - 7.50 87.50 312.50 0.0519198 - 7.50 87.50 317.50 0.0282038 - 7.50 87.50 322.50 0.0429037 - 7.50 87.50 327.50 0.0938745 - 7.50 87.50 332.50 0.195041 - 7.50 87.50 337.50 0.366825 - 7.50 87.50 342.50 0.581436 - 7.50 87.50 347.50 0.804857 - 7.50 87.50 352.50 0.905238 - 7.50 87.50 357.50 0.872519 - 7.50 92.50 2.50 0.773179 - 7.50 92.50 7.50 0.675975 - 7.50 92.50 12.50 0.67853 - 7.50 92.50 17.50 0.62136 - 7.50 92.50 22.50 0.48194 - 7.50 92.50 27.50 0.315487 - 7.50 92.50 32.50 0.199216 - 7.50 92.50 37.50 0.129213 - 7.50 92.50 42.50 0.0716309 - 7.50 92.50 47.50 0.0446415 - 7.50 92.50 52.50 0.071631 - 7.50 92.50 57.50 0.129213 - 7.50 92.50 62.50 0.199216 - 7.50 92.50 67.50 0.315487 - 7.50 92.50 72.50 0.48194 - 7.50 92.50 77.50 0.62136 - 7.50 92.50 82.50 0.67853 - 7.50 92.50 87.50 0.675975 - 7.50 92.50 92.50 0.773179 - 7.50 92.50 97.50 0.675975 - 7.50 92.50 102.50 0.67853 - 7.50 92.50 107.50 0.62136 - 7.50 92.50 112.50 0.48194 - 7.50 92.50 117.50 0.315487 - 7.50 92.50 122.50 0.199216 - 7.50 92.50 127.50 0.129213 - 7.50 92.50 132.50 0.0716309 - 7.50 92.50 137.50 0.0446415 - 7.50 92.50 142.50 0.0716309 - 7.50 92.50 147.50 0.129213 - 7.50 92.50 152.50 0.199216 - 7.50 92.50 157.50 0.315487 - 7.50 92.50 162.50 0.48194 - 7.50 92.50 167.50 0.62136 - 7.50 92.50 172.50 0.678531 - 7.50 92.50 177.50 0.675975 - 7.50 92.50 182.50 0.773179 - 7.50 92.50 187.50 0.675975 - 7.50 92.50 192.50 0.678531 - 7.50 92.50 197.50 0.62136 - 7.50 92.50 202.50 0.48194 - 7.50 92.50 207.50 0.315487 - 7.50 92.50 212.50 0.199216 - 7.50 92.50 217.50 0.129213 - 7.50 92.50 222.50 0.071631 - 7.50 92.50 227.50 0.0446415 - 7.50 92.50 232.50 0.0716311 - 7.50 92.50 237.50 0.129213 - 7.50 92.50 242.50 0.199216 - 7.50 92.50 247.50 0.315488 - 7.50 92.50 252.50 0.48194 - 7.50 92.50 257.50 0.62136 - 7.50 92.50 262.50 0.678531 - 7.50 92.50 267.50 0.675975 - 7.50 92.50 272.50 0.773179 - 7.50 92.50 277.50 0.675975 - 7.50 92.50 282.50 0.67853 - 7.50 92.50 287.50 0.62136 - 7.50 92.50 292.50 0.48194 - 7.50 92.50 297.50 0.315488 - 7.50 92.50 302.50 0.199216 - 7.50 92.50 307.50 0.129213 - 7.50 92.50 312.50 0.0716309 - 7.50 92.50 317.50 0.0446415 - 7.50 92.50 322.50 0.0716308 - 7.50 92.50 327.50 0.129213 - 7.50 92.50 332.50 0.199216 - 7.50 92.50 337.50 0.315487 - 7.50 92.50 342.50 0.481939 - 7.50 92.50 347.50 0.62136 - 7.50 92.50 352.50 0.678531 - 7.50 92.50 357.50 0.675975 - 7.50 97.50 2.50 0.987356 - 7.50 97.50 7.50 0.872518 - 7.50 97.50 12.50 0.905238 - 7.50 97.50 17.50 0.804857 - 7.50 97.50 22.50 0.581437 - 7.50 97.50 27.50 0.366826 - 7.50 97.50 32.50 0.195041 - 7.50 97.50 37.50 0.0938746 - 7.50 97.50 42.50 0.0429038 - 7.50 97.50 47.50 0.0282038 - 7.50 97.50 52.50 0.0519197 - 7.50 97.50 57.50 0.111535 - 7.50 97.50 62.50 0.220121 - 7.50 97.50 67.50 0.419548 - 7.50 97.50 72.50 0.677906 - 7.50 97.50 77.50 0.855811 - 7.50 97.50 82.50 0.932269 - 7.50 97.50 87.50 0.876181 - 7.50 97.50 92.50 0.987355 - 7.50 97.50 97.50 0.872518 - 7.50 97.50 102.50 0.905238 - 7.50 97.50 107.50 0.804857 - 7.50 97.50 112.50 0.581437 - 7.50 97.50 117.50 0.366826 - 7.50 97.50 122.50 0.195041 - 7.50 97.50 127.50 0.0938746 - 7.50 97.50 132.50 0.0429038 - 7.50 97.50 137.50 0.0282038 - 7.50 97.50 142.50 0.0519197 - 7.50 97.50 147.50 0.111535 - 7.50 97.50 152.50 0.22012 - 7.50 97.50 157.50 0.419548 - 7.50 97.50 162.50 0.677905 - 7.50 97.50 167.50 0.85581 - 7.50 97.50 172.50 0.932268 - 7.50 97.50 177.50 0.876181 - 7.50 97.50 182.50 0.987357 - 7.50 97.50 187.50 0.872519 - 7.50 97.50 192.50 0.905239 - 7.50 97.50 197.50 0.804858 - 7.50 97.50 202.50 0.581437 - 7.50 97.50 207.50 0.366826 - 7.50 97.50 212.50 0.195041 - 7.50 97.50 217.50 0.0938747 - 7.50 97.50 222.50 0.0429038 - 7.50 97.50 227.50 0.0282038 - 7.50 97.50 232.50 0.0519199 - 7.50 97.50 237.50 0.111535 - 7.50 97.50 242.50 0.220121 - 7.50 97.50 247.50 0.419548 - 7.50 97.50 252.50 0.677906 - 7.50 97.50 257.50 0.85581 - 7.50 97.50 262.50 0.932269 - 7.50 97.50 267.50 0.876181 - 7.50 97.50 272.50 0.987355 - 7.50 97.50 277.50 0.872518 - 7.50 97.50 282.50 0.905238 - 7.50 97.50 287.50 0.804857 - 7.50 97.50 292.50 0.581437 - 7.50 97.50 297.50 0.366826 - 7.50 97.50 302.50 0.195041 - 7.50 97.50 307.50 0.0938747 - 7.50 97.50 312.50 0.0429038 - 7.50 97.50 317.50 0.0282038 - 7.50 97.50 322.50 0.0519196 - 7.50 97.50 327.50 0.111534 - 7.50 97.50 332.50 0.22012 - 7.50 97.50 337.50 0.419547 - 7.50 97.50 342.50 0.677905 - 7.50 97.50 347.50 0.85581 - 7.50 97.50 352.50 0.932269 - 7.50 97.50 357.50 0.876181 - 7.50 102.50 2.50 1.3016 - 7.50 102.50 7.50 1.21261 - 7.50 102.50 12.50 1.05056 - 7.50 102.50 17.50 0.940554 - 7.50 102.50 22.50 0.758268 - 7.50 102.50 27.50 0.479395 - 7.50 102.50 32.50 0.225721 - 7.50 102.50 37.50 0.0814241 - 7.50 102.50 42.50 0.026686 - 7.50 102.50 47.50 0.0183859 - 7.50 102.50 52.50 0.0486863 - 7.50 102.50 57.50 0.139193 - 7.50 102.50 62.50 0.328382 - 7.50 102.50 67.50 0.621059 - 7.50 102.50 72.50 1.00952 - 7.50 102.50 77.50 1.27109 - 7.50 102.50 82.50 1.25532 - 7.50 102.50 87.50 1.24446 - 7.50 102.50 92.50 1.3016 - 7.50 102.50 97.50 1.2126 - 7.50 102.50 102.50 1.05056 - 7.50 102.50 107.50 0.940554 - 7.50 102.50 112.50 0.758268 - 7.50 102.50 117.50 0.479394 - 7.50 102.50 122.50 0.225721 - 7.50 102.50 127.50 0.0814241 - 7.50 102.50 132.50 0.026686 - 7.50 102.50 137.50 0.0183859 - 7.50 102.50 142.50 0.0486862 - 7.50 102.50 147.50 0.139193 - 7.50 102.50 152.50 0.328381 - 7.50 102.50 157.50 0.621058 - 7.50 102.50 162.50 1.00952 - 7.50 102.50 167.50 1.27109 - 7.50 102.50 172.50 1.25532 - 7.50 102.50 177.50 1.24447 - 7.50 102.50 182.50 1.3016 - 7.50 102.50 187.50 1.21261 - 7.50 102.50 192.50 1.05056 - 7.50 102.50 197.50 0.940554 - 7.50 102.50 202.50 0.758267 - 7.50 102.50 207.50 0.479395 - 7.50 102.50 212.50 0.225721 - 7.50 102.50 217.50 0.0814243 - 7.50 102.50 222.50 0.026686 - 7.50 102.50 227.50 0.0183859 - 7.50 102.50 232.50 0.0486863 - 7.50 102.50 237.50 0.139193 - 7.50 102.50 242.50 0.328382 - 7.50 102.50 247.50 0.621059 - 7.50 102.50 252.50 1.00952 - 7.50 102.50 257.50 1.27109 - 7.50 102.50 262.50 1.25532 - 7.50 102.50 267.50 1.24447 - 7.50 102.50 272.50 1.3016 - 7.50 102.50 277.50 1.21261 - 7.50 102.50 282.50 1.05056 - 7.50 102.50 287.50 0.940554 - 7.50 102.50 292.50 0.758268 - 7.50 102.50 297.50 0.479395 - 7.50 102.50 302.50 0.225722 - 7.50 102.50 307.50 0.0814243 - 7.50 102.50 312.50 0.026686 - 7.50 102.50 317.50 0.0183859 - 7.50 102.50 322.50 0.0486861 - 7.50 102.50 327.50 0.139193 - 7.50 102.50 332.50 0.328381 - 7.50 102.50 337.50 0.621057 - 7.50 102.50 342.50 1.00952 - 7.50 102.50 347.50 1.27109 - 7.50 102.50 352.50 1.25532 - 7.50 102.50 357.50 1.24447 - 7.50 107.50 2.50 1.52023 - 7.50 107.50 7.50 1.35001 - 7.50 107.50 12.50 1.22163 - 7.50 107.50 17.50 0.968556 - 7.50 107.50 22.50 0.768698 - 7.50 107.50 27.50 0.503485 - 7.50 107.50 32.50 0.273979 - 7.50 107.50 37.50 0.115708 - 7.50 107.50 42.50 0.0330348 - 7.50 107.50 47.50 0.0217757 - 7.50 107.50 52.50 0.0682123 - 7.50 107.50 57.50 0.215092 - 7.50 107.50 62.50 0.480503 - 7.50 107.50 67.50 0.854395 - 7.50 107.50 72.50 1.28371 - 7.50 107.50 77.50 1.56491 - 7.50 107.50 82.50 1.567 - 7.50 107.50 87.50 1.46943 - 7.50 107.50 92.50 1.52023 - 7.50 107.50 97.50 1.35001 - 7.50 107.50 102.50 1.22163 - 7.50 107.50 107.50 0.968556 - 7.50 107.50 112.50 0.768698 - 7.50 107.50 117.50 0.503485 - 7.50 107.50 122.50 0.273979 - 7.50 107.50 127.50 0.115708 - 7.50 107.50 132.50 0.0330348 - 7.50 107.50 137.50 0.0217757 - 7.50 107.50 142.50 0.0682123 - 7.50 107.50 147.50 0.215092 - 7.50 107.50 152.50 0.480503 - 7.50 107.50 157.50 0.854394 - 7.50 107.50 162.50 1.28371 - 7.50 107.50 167.50 1.56491 - 7.50 107.50 172.50 1.567 - 7.50 107.50 177.50 1.46943 - 7.50 107.50 182.50 1.52023 - 7.50 107.50 187.50 1.35001 - 7.50 107.50 192.50 1.22163 - 7.50 107.50 197.50 0.968556 - 7.50 107.50 202.50 0.768698 - 7.50 107.50 207.50 0.503485 - 7.50 107.50 212.50 0.273979 - 7.50 107.50 217.50 0.115708 - 7.50 107.50 222.50 0.0330349 - 7.50 107.50 227.50 0.0217757 - 7.50 107.50 232.50 0.0682125 - 7.50 107.50 237.50 0.215093 - 7.50 107.50 242.50 0.480504 - 7.50 107.50 247.50 0.854395 - 7.50 107.50 252.50 1.28371 - 7.50 107.50 257.50 1.56491 - 7.50 107.50 262.50 1.567 - 7.50 107.50 267.50 1.46943 - 7.50 107.50 272.50 1.52023 - 7.50 107.50 277.50 1.35001 - 7.50 107.50 282.50 1.22163 - 7.50 107.50 287.50 0.968556 - 7.50 107.50 292.50 0.768698 - 7.50 107.50 297.50 0.503486 - 7.50 107.50 302.50 0.273979 - 7.50 107.50 307.50 0.115709 - 7.50 107.50 312.50 0.0330349 - 7.50 107.50 317.50 0.0217757 - 7.50 107.50 322.50 0.0682121 - 7.50 107.50 327.50 0.215092 - 7.50 107.50 332.50 0.480502 - 7.50 107.50 337.50 0.854394 - 7.50 107.50 342.50 1.28371 - 7.50 107.50 347.50 1.56492 - 7.50 107.50 352.50 1.567 - 7.50 107.50 357.50 1.46943 - 7.50 112.50 2.50 1.70709 - 7.50 112.50 7.50 1.55244 - 7.50 112.50 12.50 1.32127 - 7.50 112.50 17.50 1.03975 - 7.50 112.50 22.50 0.741912 - 7.50 112.50 27.50 0.511482 - 7.50 112.50 32.50 0.262932 - 7.50 112.50 37.50 0.101049 - 7.50 112.50 42.50 0.0374786 - 7.50 112.50 47.50 0.0294823 - 7.50 112.50 52.50 0.0913853 - 7.50 112.50 57.50 0.246594 - 7.50 112.50 62.50 0.535856 - 7.50 112.50 67.50 1.01541 - 7.50 112.50 72.50 1.5268 - 7.50 112.50 77.50 1.77444 - 7.50 112.50 82.50 1.89483 - 7.50 112.50 87.50 1.68933 - 7.50 112.50 92.50 1.70709 - 7.50 112.50 97.50 1.55244 - 7.50 112.50 102.50 1.32127 - 7.50 112.50 107.50 1.03975 - 7.50 112.50 112.50 0.741912 - 7.50 112.50 117.50 0.511482 - 7.50 112.50 122.50 0.262932 - 7.50 112.50 127.50 0.101049 - 7.50 112.50 132.50 0.0374785 - 7.50 112.50 137.50 0.0294823 - 7.50 112.50 142.50 0.0913852 - 7.50 112.50 147.50 0.246594 - 7.50 112.50 152.50 0.535855 - 7.50 112.50 157.50 1.01541 - 7.50 112.50 162.50 1.5268 - 7.50 112.50 167.50 1.77444 - 7.50 112.50 172.50 1.89483 - 7.50 112.50 177.50 1.68933 - 7.50 112.50 182.50 1.70709 - 7.50 112.50 187.50 1.55244 - 7.50 112.50 192.50 1.32127 - 7.50 112.50 197.50 1.03975 - 7.50 112.50 202.50 0.741912 - 7.50 112.50 207.50 0.511483 - 7.50 112.50 212.50 0.262932 - 7.50 112.50 217.50 0.101049 - 7.50 112.50 222.50 0.0374786 - 7.50 112.50 227.50 0.0294823 - 7.50 112.50 232.50 0.0913855 - 7.50 112.50 237.50 0.246594 - 7.50 112.50 242.50 0.535856 - 7.50 112.50 247.50 1.01541 - 7.50 112.50 252.50 1.5268 - 7.50 112.50 257.50 1.77444 - 7.50 112.50 262.50 1.89483 - 7.50 112.50 267.50 1.68933 - 7.50 112.50 272.50 1.70709 - 7.50 112.50 277.50 1.55244 - 7.50 112.50 282.50 1.32127 - 7.50 112.50 287.50 1.03975 - 7.50 112.50 292.50 0.741912 - 7.50 112.50 297.50 0.511483 - 7.50 112.50 302.50 0.262932 - 7.50 112.50 307.50 0.101049 - 7.50 112.50 312.50 0.0374786 - 7.50 112.50 317.50 0.0294823 - 7.50 112.50 322.50 0.0913849 - 7.50 112.50 327.50 0.246593 - 7.50 112.50 332.50 0.535855 - 7.50 112.50 337.50 1.01541 - 7.50 112.50 342.50 1.5268 - 7.50 112.50 347.50 1.77444 - 7.50 112.50 352.50 1.89483 - 7.50 112.50 357.50 1.68933 - 7.50 117.50 2.50 1.8763 - 7.50 117.50 7.50 1.71558 - 7.50 117.50 12.50 1.43712 - 7.50 117.50 17.50 1.1422 - 7.50 117.50 22.50 0.757155 - 7.50 117.50 27.50 0.43243 - 7.50 117.50 32.50 0.242333 - 7.50 117.50 37.50 0.0978963 - 7.50 117.50 42.50 0.0339808 - 7.50 117.50 47.50 0.0340418 - 7.50 117.50 52.50 0.103845 - 7.50 117.50 57.50 0.276609 - 7.50 117.50 62.50 0.624973 - 7.50 117.50 67.50 1.10522 - 7.50 117.50 72.50 1.55576 - 7.50 117.50 77.50 1.94047 - 7.50 117.50 82.50 2.10575 - 7.50 117.50 87.50 1.93504 - 7.50 117.50 92.50 1.8763 - 7.50 117.50 97.50 1.71558 - 7.50 117.50 102.50 1.43712 - 7.50 117.50 107.50 1.1422 - 7.50 117.50 112.50 0.757155 - 7.50 117.50 117.50 0.43243 - 7.50 117.50 122.50 0.242332 - 7.50 117.50 127.50 0.0978962 - 7.50 117.50 132.50 0.0339808 - 7.50 117.50 137.50 0.0340418 - 7.50 117.50 142.50 0.103845 - 7.50 117.50 147.50 0.276608 - 7.50 117.50 152.50 0.624972 - 7.50 117.50 157.50 1.10522 - 7.50 117.50 162.50 1.55576 - 7.50 117.50 167.50 1.94047 - 7.50 117.50 172.50 2.10575 - 7.50 117.50 177.50 1.93504 - 7.50 117.50 182.50 1.8763 - 7.50 117.50 187.50 1.71558 - 7.50 117.50 192.50 1.43712 - 7.50 117.50 197.50 1.1422 - 7.50 117.50 202.50 0.757156 - 7.50 117.50 207.50 0.43243 - 7.50 117.50 212.50 0.242333 - 7.50 117.50 217.50 0.0978963 - 7.50 117.50 222.50 0.0339808 - 7.50 117.50 227.50 0.0340418 - 7.50 117.50 232.50 0.103845 - 7.50 117.50 237.50 0.276609 - 7.50 117.50 242.50 0.624973 - 7.50 117.50 247.50 1.10522 - 7.50 117.50 252.50 1.55576 - 7.50 117.50 257.50 1.94047 - 7.50 117.50 262.50 2.10575 - 7.50 117.50 267.50 1.93504 - 7.50 117.50 272.50 1.8763 - 7.50 117.50 277.50 1.71558 - 7.50 117.50 282.50 1.43712 - 7.50 117.50 287.50 1.1422 - 7.50 117.50 292.50 0.757156 - 7.50 117.50 297.50 0.43243 - 7.50 117.50 302.50 0.242333 - 7.50 117.50 307.50 0.0978965 - 7.50 117.50 312.50 0.0339808 - 7.50 117.50 317.50 0.0340418 - 7.50 117.50 322.50 0.103845 - 7.50 117.50 327.50 0.276608 - 7.50 117.50 332.50 0.62497 - 7.50 117.50 337.50 1.10522 - 7.50 117.50 342.50 1.55575 - 7.50 117.50 347.50 1.94047 - 7.50 117.50 352.50 2.10575 - 7.50 117.50 357.50 1.93505 - 7.50 122.50 2.50 2.00435 - 7.50 122.50 7.50 1.83272 - 7.50 122.50 12.50 1.60129 - 7.50 122.50 17.50 1.26763 - 7.50 122.50 22.50 0.842804 - 7.50 122.50 27.50 0.475306 - 7.50 122.50 32.50 0.250863 - 7.50 122.50 37.50 0.118409 - 7.50 122.50 42.50 0.0409818 - 7.50 122.50 47.50 0.0302474 - 7.50 122.50 52.50 0.106678 - 7.50 122.50 57.50 0.345127 - 7.50 122.50 62.50 0.741932 - 7.50 122.50 67.50 1.1961 - 7.50 122.50 72.50 1.65406 - 7.50 122.50 77.50 2.07465 - 7.50 122.50 82.50 2.36556 - 7.50 122.50 87.50 2.14313 - 7.50 122.50 92.50 2.00435 - 7.50 122.50 97.50 1.83272 - 7.50 122.50 102.50 1.60129 - 7.50 122.50 107.50 1.26763 - 7.50 122.50 112.50 0.842803 - 7.50 122.50 117.50 0.475305 - 7.50 122.50 122.50 0.250863 - 7.50 122.50 127.50 0.118409 - 7.50 122.50 132.50 0.0409817 - 7.50 122.50 137.50 0.0302474 - 7.50 122.50 142.50 0.106678 - 7.50 122.50 147.50 0.345127 - 7.50 122.50 152.50 0.741931 - 7.50 122.50 157.50 1.19609 - 7.50 122.50 162.50 1.65406 - 7.50 122.50 167.50 2.07465 - 7.50 122.50 172.50 2.36556 - 7.50 122.50 177.50 2.14313 - 7.50 122.50 182.50 2.00435 - 7.50 122.50 187.50 1.83272 - 7.50 122.50 192.50 1.60129 - 7.50 122.50 197.50 1.26763 - 7.50 122.50 202.50 0.842803 - 7.50 122.50 207.50 0.475306 - 7.50 122.50 212.50 0.250863 - 7.50 122.50 217.50 0.118409 - 7.50 122.50 222.50 0.0409818 - 7.50 122.50 227.50 0.0302474 - 7.50 122.50 232.50 0.106678 - 7.50 122.50 237.50 0.345127 - 7.50 122.50 242.50 0.741932 - 7.50 122.50 247.50 1.1961 - 7.50 122.50 252.50 1.65406 - 7.50 122.50 257.50 2.07465 - 7.50 122.50 262.50 2.36556 - 7.50 122.50 267.50 2.14313 - 7.50 122.50 272.50 2.00435 - 7.50 122.50 277.50 1.83272 - 7.50 122.50 282.50 1.60129 - 7.50 122.50 287.50 1.26763 - 7.50 122.50 292.50 0.842803 - 7.50 122.50 297.50 0.475306 - 7.50 122.50 302.50 0.250863 - 7.50 122.50 307.50 0.118409 - 7.50 122.50 312.50 0.0409818 - 7.50 122.50 317.50 0.0302474 - 7.50 122.50 322.50 0.106678 - 7.50 122.50 327.50 0.345126 - 7.50 122.50 332.50 0.74193 - 7.50 122.50 337.50 1.19609 - 7.50 122.50 342.50 1.65406 - 7.50 122.50 347.50 2.07465 - 7.50 122.50 352.50 2.36556 - 7.50 122.50 357.50 2.14313 - 7.50 127.50 2.50 2.14417 - 7.50 127.50 7.50 1.97246 - 7.50 127.50 12.50 1.77356 - 7.50 127.50 17.50 1.43781 - 7.50 127.50 22.50 0.949074 - 7.50 127.50 27.50 0.548291 - 7.50 127.50 32.50 0.30684 - 7.50 127.50 37.50 0.142681 - 7.50 127.50 42.50 0.0592553 - 7.50 127.50 47.50 0.0551717 - 7.50 127.50 52.50 0.128234 - 7.50 127.50 57.50 0.352811 - 7.50 127.50 62.50 0.779028 - 7.50 127.50 67.50 1.29211 - 7.50 127.50 72.50 1.6837 - 7.50 127.50 77.50 2.25069 - 7.50 127.50 82.50 2.56933 - 7.50 127.50 87.50 2.35162 - 7.50 127.50 92.50 2.14417 - 7.50 127.50 97.50 1.97246 - 7.50 127.50 102.50 1.77356 - 7.50 127.50 107.50 1.43781 - 7.50 127.50 112.50 0.949074 - 7.50 127.50 117.50 0.548291 - 7.50 127.50 122.50 0.30684 - 7.50 127.50 127.50 0.142681 - 7.50 127.50 132.50 0.0592553 - 7.50 127.50 137.50 0.0551717 - 7.50 127.50 142.50 0.128234 - 7.50 127.50 147.50 0.352811 - 7.50 127.50 152.50 0.779028 - 7.50 127.50 157.50 1.29211 - 7.50 127.50 162.50 1.6837 - 7.50 127.50 167.50 2.25069 - 7.50 127.50 172.50 2.56933 - 7.50 127.50 177.50 2.35162 - 7.50 127.50 182.50 2.14417 - 7.50 127.50 187.50 1.97246 - 7.50 127.50 192.50 1.77356 - 7.50 127.50 197.50 1.43781 - 7.50 127.50 202.50 0.949074 - 7.50 127.50 207.50 0.548291 - 7.50 127.50 212.50 0.30684 - 7.50 127.50 217.50 0.142681 - 7.50 127.50 222.50 0.0592553 - 7.50 127.50 227.50 0.0551716 - 7.50 127.50 232.50 0.128234 - 7.50 127.50 237.50 0.352811 - 7.50 127.50 242.50 0.779028 - 7.50 127.50 247.50 1.29211 - 7.50 127.50 252.50 1.6837 - 7.50 127.50 257.50 2.25069 - 7.50 127.50 262.50 2.56933 - 7.50 127.50 267.50 2.35162 - 7.50 127.50 272.50 2.14417 - 7.50 127.50 277.50 1.97246 - 7.50 127.50 282.50 1.77356 - 7.50 127.50 287.50 1.43781 - 7.50 127.50 292.50 0.949074 - 7.50 127.50 297.50 0.548291 - 7.50 127.50 302.50 0.30684 - 7.50 127.50 307.50 0.142681 - 7.50 127.50 312.50 0.0592553 - 7.50 127.50 317.50 0.0551716 - 7.50 127.50 322.50 0.128234 - 7.50 127.50 327.50 0.35281 - 7.50 127.50 332.50 0.779027 - 7.50 127.50 337.50 1.29211 - 7.50 127.50 342.50 1.6837 - 7.50 127.50 347.50 2.25069 - 7.50 127.50 352.50 2.56933 - 7.50 127.50 357.50 2.35162 - 7.50 132.50 2.50 2.24978 - 7.50 132.50 7.50 2.06631 - 7.50 132.50 12.50 1.89379 - 7.50 132.50 17.50 1.47984 - 7.50 132.50 22.50 0.990688 - 7.50 132.50 27.50 0.54844 - 7.50 132.50 32.50 0.287931 - 7.50 132.50 37.50 0.166204 - 7.50 132.50 42.50 0.0740069 - 7.50 132.50 47.50 0.0660525 - 7.50 132.50 52.50 0.147045 - 7.50 132.50 57.50 0.335582 - 7.50 132.50 62.50 0.674265 - 7.50 132.50 67.50 1.12989 - 7.50 132.50 72.50 1.63717 - 7.50 132.50 77.50 2.24595 - 7.50 132.50 82.50 2.56976 - 7.50 132.50 87.50 2.47068 - 7.50 132.50 92.50 2.24978 - 7.50 132.50 97.50 2.06631 - 7.50 132.50 102.50 1.89379 - 7.50 132.50 107.50 1.47984 - 7.50 132.50 112.50 0.990688 - 7.50 132.50 117.50 0.54844 - 7.50 132.50 122.50 0.287931 - 7.50 132.50 127.50 0.166204 - 7.50 132.50 132.50 0.0740068 - 7.50 132.50 137.50 0.0660525 - 7.50 132.50 142.50 0.147045 - 7.50 132.50 147.50 0.335582 - 7.50 132.50 152.50 0.674264 - 7.50 132.50 157.50 1.12989 - 7.50 132.50 162.50 1.63717 - 7.50 132.50 167.50 2.24595 - 7.50 132.50 172.50 2.56976 - 7.50 132.50 177.50 2.47068 - 7.50 132.50 182.50 2.24978 - 7.50 132.50 187.50 2.06631 - 7.50 132.50 192.50 1.89379 - 7.50 132.50 197.50 1.47984 - 7.50 132.50 202.50 0.990688 - 7.50 132.50 207.50 0.54844 - 7.50 132.50 212.50 0.287931 - 7.50 132.50 217.50 0.166204 - 7.50 132.50 222.50 0.0740069 - 7.50 132.50 227.50 0.0660524 - 7.50 132.50 232.50 0.147045 - 7.50 132.50 237.50 0.335583 - 7.50 132.50 242.50 0.674265 - 7.50 132.50 247.50 1.12989 - 7.50 132.50 252.50 1.63717 - 7.50 132.50 257.50 2.24595 - 7.50 132.50 262.50 2.56976 - 7.50 132.50 267.50 2.47068 - 7.50 132.50 272.50 2.24978 - 7.50 132.50 277.50 2.06631 - 7.50 132.50 282.50 1.89379 - 7.50 132.50 287.50 1.47984 - 7.50 132.50 292.50 0.990688 - 7.50 132.50 297.50 0.548441 - 7.50 132.50 302.50 0.287931 - 7.50 132.50 307.50 0.166204 - 7.50 132.50 312.50 0.0740069 - 7.50 132.50 317.50 0.0660524 - 7.50 132.50 322.50 0.147045 - 7.50 132.50 327.50 0.335582 - 7.50 132.50 332.50 0.674263 - 7.50 132.50 337.50 1.12989 - 7.50 132.50 342.50 1.63717 - 7.50 132.50 347.50 2.24595 - 7.50 132.50 352.50 2.56976 - 7.50 132.50 357.50 2.47068 - 7.50 137.50 2.50 2.27582 - 7.50 137.50 7.50 2.12179 - 7.50 137.50 12.50 1.88999 - 7.50 137.50 17.50 1.42774 - 7.50 137.50 22.50 0.919116 - 7.50 137.50 27.50 0.481647 - 7.50 137.50 32.50 0.250432 - 7.50 137.50 37.50 0.132148 - 7.50 137.50 42.50 0.0619832 - 7.50 137.50 47.50 0.0671406 - 7.50 137.50 52.50 0.114065 - 7.50 137.50 57.50 0.251364 - 7.50 137.50 62.50 0.513584 - 7.50 137.50 67.50 0.878412 - 7.50 137.50 72.50 1.44285 - 7.50 137.50 77.50 1.96925 - 7.50 137.50 82.50 2.32043 - 7.50 137.50 87.50 2.39142 - 7.50 137.50 92.50 2.27582 - 7.50 137.50 97.50 2.12179 - 7.50 137.50 102.50 1.88999 - 7.50 137.50 107.50 1.42774 - 7.50 137.50 112.50 0.919116 - 7.50 137.50 117.50 0.481646 - 7.50 137.50 122.50 0.250432 - 7.50 137.50 127.50 0.132148 - 7.50 137.50 132.50 0.0619832 - 7.50 137.50 137.50 0.0671406 - 7.50 137.50 142.50 0.114065 - 7.50 137.50 147.50 0.251363 - 7.50 137.50 152.50 0.513583 - 7.50 137.50 157.50 0.87841 - 7.50 137.50 162.50 1.44285 - 7.50 137.50 167.50 1.96925 - 7.50 137.50 172.50 2.32043 - 7.50 137.50 177.50 2.39142 - 7.50 137.50 182.50 2.27582 - 7.50 137.50 187.50 2.12179 - 7.50 137.50 192.50 1.88999 - 7.50 137.50 197.50 1.42774 - 7.50 137.50 202.50 0.919116 - 7.50 137.50 207.50 0.481647 - 7.50 137.50 212.50 0.250432 - 7.50 137.50 217.50 0.132148 - 7.50 137.50 222.50 0.0619832 - 7.50 137.50 227.50 0.0671406 - 7.50 137.50 232.50 0.114066 - 7.50 137.50 237.50 0.251363 - 7.50 137.50 242.50 0.513583 - 7.50 137.50 247.50 0.878412 - 7.50 137.50 252.50 1.44285 - 7.50 137.50 257.50 1.96926 - 7.50 137.50 262.50 2.32043 - 7.50 137.50 267.50 2.39142 - 7.50 137.50 272.50 2.27582 - 7.50 137.50 277.50 2.12178 - 7.50 137.50 282.50 1.88999 - 7.50 137.50 287.50 1.42774 - 7.50 137.50 292.50 0.919116 - 7.50 137.50 297.50 0.481647 - 7.50 137.50 302.50 0.250432 - 7.50 137.50 307.50 0.132148 - 7.50 137.50 312.50 0.0619832 - 7.50 137.50 317.50 0.0671405 - 7.50 137.50 322.50 0.114065 - 7.50 137.50 327.50 0.251363 - 7.50 137.50 332.50 0.513582 - 7.50 137.50 337.50 0.878409 - 7.50 137.50 342.50 1.44285 - 7.50 137.50 347.50 1.96925 - 7.50 137.50 352.50 2.32043 - 7.50 137.50 357.50 2.39142 - 7.50 142.50 2.50 2.24978 - 7.50 142.50 7.50 2.17122 - 7.50 142.50 12.50 1.84277 - 7.50 142.50 17.50 1.32884 - 7.50 142.50 22.50 0.784166 - 7.50 142.50 27.50 0.408708 - 7.50 142.50 32.50 0.194671 - 7.50 142.50 37.50 0.0951027 - 7.50 142.50 42.50 0.0455315 - 7.50 142.50 47.50 0.036647 - 7.50 142.50 52.50 0.0655168 - 7.50 142.50 57.50 0.147592 - 7.50 142.50 62.50 0.340672 - 7.50 142.50 67.50 0.658198 - 7.50 142.50 72.50 1.06461 - 7.50 142.50 77.50 1.53548 - 7.50 142.50 82.50 1.92215 - 7.50 142.50 87.50 2.16403 - 7.50 142.50 92.50 2.24978 - 7.50 142.50 97.50 2.17122 - 7.50 142.50 102.50 1.84277 - 7.50 142.50 107.50 1.32884 - 7.50 142.50 112.50 0.784166 - 7.50 142.50 117.50 0.408708 - 7.50 142.50 122.50 0.194671 - 7.50 142.50 127.50 0.0951026 - 7.50 142.50 132.50 0.0455315 - 7.50 142.50 137.50 0.036647 - 7.50 142.50 142.50 0.0655168 - 7.50 142.50 147.50 0.147592 - 7.50 142.50 152.50 0.340672 - 7.50 142.50 157.50 0.658198 - 7.50 142.50 162.50 1.06461 - 7.50 142.50 167.50 1.53548 - 7.50 142.50 172.50 1.92215 - 7.50 142.50 177.50 2.16403 - 7.50 142.50 182.50 2.24978 - 7.50 142.50 187.50 2.17122 - 7.50 142.50 192.50 1.84277 - 7.50 142.50 197.50 1.32884 - 7.50 142.50 202.50 0.784166 - 7.50 142.50 207.50 0.408708 - 7.50 142.50 212.50 0.194671 - 7.50 142.50 217.50 0.0951026 - 7.50 142.50 222.50 0.0455315 - 7.50 142.50 227.50 0.036647 - 7.50 142.50 232.50 0.0655169 - 7.50 142.50 237.50 0.147592 - 7.50 142.50 242.50 0.340672 - 7.50 142.50 247.50 0.658198 - 7.50 142.50 252.50 1.06461 - 7.50 142.50 257.50 1.53548 - 7.50 142.50 262.50 1.92216 - 7.50 142.50 267.50 2.16403 - 7.50 142.50 272.50 2.24978 - 7.50 142.50 277.50 2.17122 - 7.50 142.50 282.50 1.84277 - 7.50 142.50 287.50 1.32884 - 7.50 142.50 292.50 0.784166 - 7.50 142.50 297.50 0.408709 - 7.50 142.50 302.50 0.194671 - 7.50 142.50 307.50 0.0951027 - 7.50 142.50 312.50 0.0455315 - 7.50 142.50 317.50 0.0366469 - 7.50 142.50 322.50 0.0655166 - 7.50 142.50 327.50 0.147592 - 7.50 142.50 332.50 0.340671 - 7.50 142.50 337.50 0.658197 - 7.50 142.50 342.50 1.06461 - 7.50 142.50 347.50 1.53547 - 7.50 142.50 352.50 1.92215 - 7.50 142.50 357.50 2.16403 - 7.50 147.50 2.50 2.14417 - 7.50 147.50 7.50 2.13826 - 7.50 147.50 12.50 1.76924 - 7.50 147.50 17.50 1.21186 - 7.50 147.50 22.50 0.667492 - 7.50 147.50 27.50 0.316604 - 7.50 147.50 32.50 0.148373 - 7.50 147.50 37.50 0.0673647 - 7.50 147.50 42.50 0.0264573 - 7.50 147.50 47.50 0.0149224 - 7.50 147.50 52.50 0.0241047 - 7.50 147.50 57.50 0.0726452 - 7.50 147.50 62.50 0.193987 - 7.50 147.50 67.50 0.398188 - 7.50 147.50 72.50 0.708159 - 7.50 147.50 77.50 1.12216 - 7.50 147.50 82.50 1.51705 - 7.50 147.50 87.50 1.89225 - 7.50 147.50 92.50 2.14417 - 7.50 147.50 97.50 2.13825 - 7.50 147.50 102.50 1.76924 - 7.50 147.50 107.50 1.21186 - 7.50 147.50 112.50 0.667492 - 7.50 147.50 117.50 0.316604 - 7.50 147.50 122.50 0.148373 - 7.50 147.50 127.50 0.0673646 - 7.50 147.50 132.50 0.0264573 - 7.50 147.50 137.50 0.0149224 - 7.50 147.50 142.50 0.0241046 - 7.50 147.50 147.50 0.0726452 - 7.50 147.50 152.50 0.193987 - 7.50 147.50 157.50 0.398187 - 7.50 147.50 162.50 0.708159 - 7.50 147.50 167.50 1.12216 - 7.50 147.50 172.50 1.51705 - 7.50 147.50 177.50 1.89225 - 7.50 147.50 182.50 2.14417 - 7.50 147.50 187.50 2.13826 - 7.50 147.50 192.50 1.76924 - 7.50 147.50 197.50 1.21186 - 7.50 147.50 202.50 0.667492 - 7.50 147.50 207.50 0.316604 - 7.50 147.50 212.50 0.148373 - 7.50 147.50 217.50 0.0673647 - 7.50 147.50 222.50 0.0264573 - 7.50 147.50 227.50 0.0149224 - 7.50 147.50 232.50 0.0241047 - 7.50 147.50 237.50 0.0726453 - 7.50 147.50 242.50 0.193987 - 7.50 147.50 247.50 0.398187 - 7.50 147.50 252.50 0.708159 - 7.50 147.50 257.50 1.12216 - 7.50 147.50 262.50 1.51705 - 7.50 147.50 267.50 1.89225 - 7.50 147.50 272.50 2.14417 - 7.50 147.50 277.50 2.13826 - 7.50 147.50 282.50 1.76924 - 7.50 147.50 287.50 1.21186 - 7.50 147.50 292.50 0.667493 - 7.50 147.50 297.50 0.316605 - 7.50 147.50 302.50 0.148373 - 7.50 147.50 307.50 0.0673648 - 7.50 147.50 312.50 0.0264573 - 7.50 147.50 317.50 0.0149224 - 7.50 147.50 322.50 0.0241046 - 7.50 147.50 327.50 0.072645 - 7.50 147.50 332.50 0.193987 - 7.50 147.50 337.50 0.398187 - 7.50 147.50 342.50 0.708158 - 7.50 147.50 347.50 1.12215 - 7.50 147.50 352.50 1.51705 - 7.50 147.50 357.50 1.89225 - 7.50 152.50 2.50 2.00435 - 7.50 152.50 7.50 2.0532 - 7.50 152.50 12.50 1.70348 - 7.50 152.50 17.50 1.14777 - 7.50 152.50 22.50 0.607181 - 7.50 152.50 27.50 0.255734 - 7.50 152.50 32.50 0.113931 - 7.50 152.50 37.50 0.0492446 - 7.50 152.50 42.50 0.0176011 - 7.50 152.50 47.50 0.00744774 - 7.50 152.50 52.50 0.0109886 - 7.50 152.50 57.50 0.0399339 - 7.50 152.50 62.50 0.111608 - 7.50 152.50 67.50 0.228221 - 7.50 152.50 72.50 0.470081 - 7.50 152.50 77.50 0.779559 - 7.50 152.50 82.50 1.20743 - 7.50 152.50 87.50 1.66184 - 7.50 152.50 92.50 2.00435 - 7.50 152.50 97.50 2.0532 - 7.50 152.50 102.50 1.70347 - 7.50 152.50 107.50 1.14777 - 7.50 152.50 112.50 0.607181 - 7.50 152.50 117.50 0.255734 - 7.50 152.50 122.50 0.113931 - 7.50 152.50 127.50 0.0492446 - 7.50 152.50 132.50 0.0176011 - 7.50 152.50 137.50 0.00744773 - 7.50 152.50 142.50 0.0109886 - 7.50 152.50 147.50 0.0399339 - 7.50 152.50 152.50 0.111608 - 7.50 152.50 157.50 0.228221 - 7.50 152.50 162.50 0.470081 - 7.50 152.50 167.50 0.779558 - 7.50 152.50 172.50 1.20743 - 7.50 152.50 177.50 1.66184 - 7.50 152.50 182.50 2.00435 - 7.50 152.50 187.50 2.0532 - 7.50 152.50 192.50 1.70348 - 7.50 152.50 197.50 1.14777 - 7.50 152.50 202.50 0.607181 - 7.50 152.50 207.50 0.255734 - 7.50 152.50 212.50 0.113931 - 7.50 152.50 217.50 0.0492446 - 7.50 152.50 222.50 0.0176011 - 7.50 152.50 227.50 0.00744773 - 7.50 152.50 232.50 0.0109886 - 7.50 152.50 237.50 0.0399339 - 7.50 152.50 242.50 0.111608 - 7.50 152.50 247.50 0.228221 - 7.50 152.50 252.50 0.470082 - 7.50 152.50 257.50 0.779559 - 7.50 152.50 262.50 1.20743 - 7.50 152.50 267.50 1.66184 - 7.50 152.50 272.50 2.00435 - 7.50 152.50 277.50 2.0532 - 7.50 152.50 282.50 1.70348 - 7.50 152.50 287.50 1.14777 - 7.50 152.50 292.50 0.607181 - 7.50 152.50 297.50 0.255734 - 7.50 152.50 302.50 0.113932 - 7.50 152.50 307.50 0.0492446 - 7.50 152.50 312.50 0.0176011 - 7.50 152.50 317.50 0.00744773 - 7.50 152.50 322.50 0.0109886 - 7.50 152.50 327.50 0.0399338 - 7.50 152.50 332.50 0.111608 - 7.50 152.50 337.50 0.22822 - 7.50 152.50 342.50 0.470081 - 7.50 152.50 347.50 0.779558 - 7.50 152.50 352.50 1.20743 - 7.50 152.50 357.50 1.66184 - 7.50 157.50 2.50 1.8763 - 7.50 157.50 7.50 1.96189 - 7.50 157.50 12.50 1.65688 - 7.50 157.50 17.50 1.13362 - 7.50 157.50 22.50 0.603201 - 7.50 157.50 27.50 0.253091 - 7.50 157.50 32.50 0.0856214 - 7.50 157.50 37.50 0.0413406 - 7.50 157.50 42.50 0.0206685 - 7.50 157.50 47.50 0.0123819 - 7.50 157.50 52.50 0.0208143 - 7.50 157.50 57.50 0.0369662 - 7.50 157.50 62.50 0.0718563 - 7.50 157.50 67.50 0.165615 - 7.50 157.50 72.50 0.316784 - 7.50 157.50 77.50 0.578258 - 7.50 157.50 82.50 0.979424 - 7.50 157.50 87.50 1.47625 - 7.50 157.50 92.50 1.8763 - 7.50 157.50 97.50 1.96189 - 7.50 157.50 102.50 1.65688 - 7.50 157.50 107.50 1.13362 - 7.50 157.50 112.50 0.603201 - 7.50 157.50 117.50 0.253091 - 7.50 157.50 122.50 0.0856213 - 7.50 157.50 127.50 0.0413406 - 7.50 157.50 132.50 0.0206685 - 7.50 157.50 137.50 0.0123819 - 7.50 157.50 142.50 0.0208143 - 7.50 157.50 147.50 0.0369661 - 7.50 157.50 152.50 0.0718562 - 7.50 157.50 157.50 0.165614 - 7.50 157.50 162.50 0.316784 - 7.50 157.50 167.50 0.578258 - 7.50 157.50 172.50 0.979424 - 7.50 157.50 177.50 1.47625 - 7.50 157.50 182.50 1.8763 - 7.50 157.50 187.50 1.96189 - 7.50 157.50 192.50 1.65688 - 7.50 157.50 197.50 1.13362 - 7.50 157.50 202.50 0.603201 - 7.50 157.50 207.50 0.253091 - 7.50 157.50 212.50 0.0856214 - 7.50 157.50 217.50 0.0413406 - 7.50 157.50 222.50 0.0206685 - 7.50 157.50 227.50 0.0123819 - 7.50 157.50 232.50 0.0208143 - 7.50 157.50 237.50 0.0369662 - 7.50 157.50 242.50 0.0718563 - 7.50 157.50 247.50 0.165614 - 7.50 157.50 252.50 0.316784 - 7.50 157.50 257.50 0.578259 - 7.50 157.50 262.50 0.979425 - 7.50 157.50 267.50 1.47625 - 7.50 157.50 272.50 1.8763 - 7.50 157.50 277.50 1.96189 - 7.50 157.50 282.50 1.65688 - 7.50 157.50 287.50 1.13362 - 7.50 157.50 292.50 0.603202 - 7.50 157.50 297.50 0.253091 - 7.50 157.50 302.50 0.0856215 - 7.50 157.50 307.50 0.0413407 - 7.50 157.50 312.50 0.0206685 - 7.50 157.50 317.50 0.0123819 - 7.50 157.50 322.50 0.0208142 - 7.50 157.50 327.50 0.0369661 - 7.50 157.50 332.50 0.071856 - 7.50 157.50 337.50 0.165614 - 7.50 157.50 342.50 0.316784 - 7.50 157.50 347.50 0.578257 - 7.50 157.50 352.50 0.979423 - 7.50 157.50 357.50 1.47625 - 7.50 162.50 2.50 1.70709 - 7.50 162.50 7.50 1.81865 - 7.50 162.50 12.50 1.53789 - 7.50 162.50 17.50 1.04041 - 7.50 162.50 22.50 0.554597 - 7.50 162.50 27.50 0.232618 - 7.50 162.50 32.50 0.087212 - 7.50 162.50 37.50 0.0373365 - 7.50 162.50 42.50 0.0275173 - 7.50 162.50 47.50 0.0402605 - 7.50 162.50 52.50 0.0491587 - 7.50 162.50 57.50 0.0511927 - 7.50 162.50 62.50 0.063614 - 7.50 162.50 67.50 0.111743 - 7.50 162.50 72.50 0.220447 - 7.50 162.50 77.50 0.430748 - 7.50 162.50 82.50 0.757891 - 7.50 162.50 87.50 1.26139 - 7.50 162.50 92.50 1.70709 - 7.50 162.50 97.50 1.81865 - 7.50 162.50 102.50 1.53789 - 7.50 162.50 107.50 1.04041 - 7.50 162.50 112.50 0.554597 - 7.50 162.50 117.50 0.232618 - 7.50 162.50 122.50 0.0872119 - 7.50 162.50 127.50 0.0373365 - 7.50 162.50 132.50 0.0275172 - 7.50 162.50 137.50 0.0402605 - 7.50 162.50 142.50 0.0491587 - 7.50 162.50 147.50 0.0511927 - 7.50 162.50 152.50 0.063614 - 7.50 162.50 157.50 0.111743 - 7.50 162.50 162.50 0.220447 - 7.50 162.50 167.50 0.430748 - 7.50 162.50 172.50 0.757891 - 7.50 162.50 177.50 1.26139 - 7.50 162.50 182.50 1.70709 - 7.50 162.50 187.50 1.81865 - 7.50 162.50 192.50 1.53789 - 7.50 162.50 197.50 1.04041 - 7.50 162.50 202.50 0.554597 - 7.50 162.50 207.50 0.232618 - 7.50 162.50 212.50 0.087212 - 7.50 162.50 217.50 0.0373365 - 7.50 162.50 222.50 0.0275172 - 7.50 162.50 227.50 0.0402605 - 7.50 162.50 232.50 0.0491587 - 7.50 162.50 237.50 0.0511927 - 7.50 162.50 242.50 0.0636141 - 7.50 162.50 247.50 0.111743 - 7.50 162.50 252.50 0.220447 - 7.50 162.50 257.50 0.430748 - 7.50 162.50 262.50 0.757891 - 7.50 162.50 267.50 1.26139 - 7.50 162.50 272.50 1.70709 - 7.50 162.50 277.50 1.81865 - 7.50 162.50 282.50 1.53789 - 7.50 162.50 287.50 1.04041 - 7.50 162.50 292.50 0.554598 - 7.50 162.50 297.50 0.232619 - 7.50 162.50 302.50 0.0872121 - 7.50 162.50 307.50 0.0373365 - 7.50 162.50 312.50 0.0275172 - 7.50 162.50 317.50 0.0402605 - 7.50 162.50 322.50 0.0491587 - 7.50 162.50 327.50 0.0511927 - 7.50 162.50 332.50 0.063614 - 7.50 162.50 337.50 0.111743 - 7.50 162.50 342.50 0.220446 - 7.50 162.50 347.50 0.430747 - 7.50 162.50 352.50 0.757889 - 7.50 162.50 357.50 1.26139 - 7.50 167.50 2.50 1.52023 - 7.50 167.50 7.50 1.65379 - 7.50 167.50 12.50 1.35189 - 7.50 167.50 17.50 0.847715 - 7.50 167.50 22.50 0.432081 - 7.50 167.50 27.50 0.18591 - 7.50 167.50 32.50 0.0659938 - 7.50 167.50 37.50 0.0323908 - 7.50 167.50 42.50 0.040952 - 7.50 167.50 47.50 0.0691218 - 7.50 167.50 52.50 0.0845744 - 7.50 167.50 57.50 0.068673 - 7.50 167.50 62.50 0.052468 - 7.50 167.50 67.50 0.0857278 - 7.50 167.50 72.50 0.15518 - 7.50 167.50 77.50 0.276507 - 7.50 167.50 82.50 0.531969 - 7.50 167.50 87.50 1.02628 - 7.50 167.50 92.50 1.52023 - 7.50 167.50 97.50 1.65379 - 7.50 167.50 102.50 1.35189 - 7.50 167.50 107.50 0.847715 - 7.50 167.50 112.50 0.432081 - 7.50 167.50 117.50 0.18591 - 7.50 167.50 122.50 0.0659938 - 7.50 167.50 127.50 0.0323908 - 7.50 167.50 132.50 0.040952 - 7.50 167.50 137.50 0.0691218 - 7.50 167.50 142.50 0.0845744 - 7.50 167.50 147.50 0.068673 - 7.50 167.50 152.50 0.0524679 - 7.50 167.50 157.50 0.0857277 - 7.50 167.50 162.50 0.15518 - 7.50 167.50 167.50 0.276507 - 7.50 167.50 172.50 0.531968 - 7.50 167.50 177.50 1.02628 - 7.50 167.50 182.50 1.52023 - 7.50 167.50 187.50 1.65379 - 7.50 167.50 192.50 1.35189 - 7.50 167.50 197.50 0.847715 - 7.50 167.50 202.50 0.432081 - 7.50 167.50 207.50 0.18591 - 7.50 167.50 212.50 0.0659938 - 7.50 167.50 217.50 0.0323908 - 7.50 167.50 222.50 0.040952 - 7.50 167.50 227.50 0.0691218 - 7.50 167.50 232.50 0.0845744 - 7.50 167.50 237.50 0.0686729 - 7.50 167.50 242.50 0.052468 - 7.50 167.50 247.50 0.0857277 - 7.50 167.50 252.50 0.15518 - 7.50 167.50 257.50 0.276507 - 7.50 167.50 262.50 0.531969 - 7.50 167.50 267.50 1.02628 - 7.50 167.50 272.50 1.52023 - 7.50 167.50 277.50 1.65379 - 7.50 167.50 282.50 1.35189 - 7.50 167.50 287.50 0.847715 - 7.50 167.50 292.50 0.432081 - 7.50 167.50 297.50 0.18591 - 7.50 167.50 302.50 0.0659939 - 7.50 167.50 307.50 0.0323908 - 7.50 167.50 312.50 0.040952 - 7.50 167.50 317.50 0.0691217 - 7.50 167.50 322.50 0.0845744 - 7.50 167.50 327.50 0.068673 - 7.50 167.50 332.50 0.052468 - 7.50 167.50 337.50 0.0857276 - 7.50 167.50 342.50 0.15518 - 7.50 167.50 347.50 0.276506 - 7.50 167.50 352.50 0.531967 - 7.50 167.50 357.50 1.02628 - 7.50 172.50 2.50 1.3016 - 7.50 172.50 7.50 1.44265 - 7.50 172.50 12.50 1.12328 - 7.50 172.50 17.50 0.6362 - 7.50 172.50 22.50 0.290226 - 7.50 172.50 27.50 0.127569 - 7.50 172.50 32.50 0.0633137 - 7.50 172.50 37.50 0.0428904 - 7.50 172.50 42.50 0.0491793 - 7.50 172.50 47.50 0.0719837 - 7.50 172.50 52.50 0.0858504 - 7.50 172.50 57.50 0.0789392 - 7.50 172.50 62.50 0.0660808 - 7.50 172.50 67.50 0.0667711 - 7.50 172.50 72.50 0.0887194 - 7.50 172.50 77.50 0.152794 - 7.50 172.50 82.50 0.363568 - 7.50 172.50 87.50 0.806013 - 7.50 172.50 92.50 1.3016 - 7.50 172.50 97.50 1.44265 - 7.50 172.50 102.50 1.12328 - 7.50 172.50 107.50 0.6362 - 7.50 172.50 112.50 0.290226 - 7.50 172.50 117.50 0.127569 - 7.50 172.50 122.50 0.0633137 - 7.50 172.50 127.50 0.0428904 - 7.50 172.50 132.50 0.0491793 - 7.50 172.50 137.50 0.0719836 - 7.50 172.50 142.50 0.0858504 - 7.50 172.50 147.50 0.0789392 - 7.50 172.50 152.50 0.0660808 - 7.50 172.50 157.50 0.0667711 - 7.50 172.50 162.50 0.0887194 - 7.50 172.50 167.50 0.152794 - 7.50 172.50 172.50 0.363568 - 7.50 172.50 177.50 0.806013 - 7.50 172.50 182.50 1.3016 - 7.50 172.50 187.50 1.44265 - 7.50 172.50 192.50 1.12328 - 7.50 172.50 197.50 0.6362 - 7.50 172.50 202.50 0.290226 - 7.50 172.50 207.50 0.127569 - 7.50 172.50 212.50 0.0633137 - 7.50 172.50 217.50 0.0428904 - 7.50 172.50 222.50 0.0491793 - 7.50 172.50 227.50 0.0719836 - 7.50 172.50 232.50 0.0858505 - 7.50 172.50 237.50 0.0789391 - 7.50 172.50 242.50 0.0660808 - 7.50 172.50 247.50 0.0667711 - 7.50 172.50 252.50 0.0887194 - 7.50 172.50 257.50 0.152794 - 7.50 172.50 262.50 0.363568 - 7.50 172.50 267.50 0.806014 - 7.50 172.50 272.50 1.3016 - 7.50 172.50 277.50 1.44265 - 7.50 172.50 282.50 1.12328 - 7.50 172.50 287.50 0.6362 - 7.50 172.50 292.50 0.290226 - 7.50 172.50 297.50 0.127569 - 7.50 172.50 302.50 0.0633138 - 7.50 172.50 307.50 0.0428905 - 7.50 172.50 312.50 0.0491793 - 7.50 172.50 317.50 0.0719836 - 7.50 172.50 322.50 0.0858504 - 7.50 172.50 327.50 0.0789392 - 7.50 172.50 332.50 0.0660808 - 7.50 172.50 337.50 0.0667711 - 7.50 172.50 342.50 0.0887194 - 7.50 172.50 347.50 0.152794 - 7.50 172.50 352.50 0.363566 - 7.50 172.50 357.50 0.806012 - 7.50 177.50 2.50 0.987355 - 7.50 177.50 7.50 1.11343 - 7.50 177.50 12.50 0.84601 - 7.50 177.50 17.50 0.4489 - 7.50 177.50 22.50 0.184364 - 7.50 177.50 27.50 0.0759275 - 7.50 177.50 32.50 0.0436248 - 7.50 177.50 37.50 0.0448351 - 7.50 177.50 42.50 0.0576318 - 7.50 177.50 47.50 0.0700448 - 7.50 177.50 52.50 0.0739504 - 7.50 177.50 57.50 0.0686384 - 7.50 177.50 62.50 0.0573382 - 7.50 177.50 67.50 0.0533237 - 7.50 177.50 72.50 0.0569323 - 7.50 177.50 77.50 0.092401 - 7.50 177.50 82.50 0.235545 - 7.50 177.50 87.50 0.578476 - 7.50 177.50 92.50 0.987354 - 7.50 177.50 97.50 1.11343 - 7.50 177.50 102.50 0.846009 - 7.50 177.50 107.50 0.4489 - 7.50 177.50 112.50 0.184364 - 7.50 177.50 117.50 0.0759275 - 7.50 177.50 122.50 0.0436248 - 7.50 177.50 127.50 0.0448351 - 7.50 177.50 132.50 0.0576318 - 7.50 177.50 137.50 0.0700448 - 7.50 177.50 142.50 0.0739504 - 7.50 177.50 147.50 0.0686384 - 7.50 177.50 152.50 0.0573382 - 7.50 177.50 157.50 0.0533237 - 7.50 177.50 162.50 0.0569324 - 7.50 177.50 167.50 0.0924008 - 7.50 177.50 172.50 0.235545 - 7.50 177.50 177.50 0.578477 - 7.50 177.50 182.50 0.987355 - 7.50 177.50 187.50 1.11343 - 7.50 177.50 192.50 0.846009 - 7.50 177.50 197.50 0.4489 - 7.50 177.50 202.50 0.184364 - 7.50 177.50 207.50 0.0759275 - 7.50 177.50 212.50 0.0436248 - 7.50 177.50 217.50 0.0448351 - 7.50 177.50 222.50 0.0576318 - 7.50 177.50 227.50 0.0700448 - 7.50 177.50 232.50 0.0739504 - 7.50 177.50 237.50 0.0686384 - 7.50 177.50 242.50 0.0573382 - 7.50 177.50 247.50 0.0533237 - 7.50 177.50 252.50 0.0569324 - 7.50 177.50 257.50 0.0924008 - 7.50 177.50 262.50 0.235545 - 7.50 177.50 267.50 0.578478 - 7.50 177.50 272.50 0.987357 - 7.50 177.50 277.50 1.11343 - 7.50 177.50 282.50 0.846011 - 7.50 177.50 287.50 0.4489 - 7.50 177.50 292.50 0.184364 - 7.50 177.50 297.50 0.0759276 - 7.50 177.50 302.50 0.0436248 - 7.50 177.50 307.50 0.0448351 - 7.50 177.50 312.50 0.0576318 - 7.50 177.50 317.50 0.0700449 - 7.50 177.50 322.50 0.0739504 - 7.50 177.50 327.50 0.0686384 - 7.50 177.50 332.50 0.0573382 - 7.50 177.50 337.50 0.0533237 - 7.50 177.50 342.50 0.0569323 - 7.50 177.50 347.50 0.0924006 - 7.50 177.50 352.50 0.235544 - 7.50 177.50 357.50 0.578476 - 12.50 2.50 2.50 0.393272 - 12.50 2.50 7.50 0.149977 - 12.50 2.50 12.50 0.0624685 - 12.50 2.50 17.50 0.0485219 - 12.50 2.50 22.50 0.0601603 - 12.50 2.50 27.50 0.0760386 - 12.50 2.50 32.50 0.083846 - 12.50 2.50 37.50 0.084539 - 12.50 2.50 42.50 0.083846 - 12.50 2.50 47.50 0.0760385 - 12.50 2.50 52.50 0.0601603 - 12.50 2.50 57.50 0.0485219 - 12.50 2.50 62.50 0.0624686 - 12.50 2.50 67.50 0.149977 - 12.50 2.50 72.50 0.393272 - 12.50 2.50 77.50 0.773178 - 12.50 2.50 82.50 0.980506 - 12.50 2.50 87.50 0.773179 - 12.50 2.50 92.50 0.393272 - 12.50 2.50 97.50 0.149977 - 12.50 2.50 102.50 0.0624685 - 12.50 2.50 107.50 0.0485219 - 12.50 2.50 112.50 0.0601603 - 12.50 2.50 117.50 0.0760386 - 12.50 2.50 122.50 0.083846 - 12.50 2.50 127.50 0.084539 - 12.50 2.50 132.50 0.083846 - 12.50 2.50 137.50 0.0760385 - 12.50 2.50 142.50 0.0601603 - 12.50 2.50 147.50 0.0485219 - 12.50 2.50 152.50 0.0624686 - 12.50 2.50 157.50 0.149977 - 12.50 2.50 162.50 0.393272 - 12.50 2.50 167.50 0.773178 - 12.50 2.50 172.50 0.980476 - 12.50 2.50 177.50 0.773179 - 12.50 2.50 182.50 0.393272 - 12.50 2.50 187.50 0.149977 - 12.50 2.50 192.50 0.0624685 - 12.50 2.50 197.50 0.0485219 - 12.50 2.50 202.50 0.0601603 - 12.50 2.50 207.50 0.0760385 - 12.50 2.50 212.50 0.083846 - 12.50 2.50 217.50 0.084539 - 12.50 2.50 222.50 0.083846 - 12.50 2.50 227.50 0.0760385 - 12.50 2.50 232.50 0.0601603 - 12.50 2.50 237.50 0.0485219 - 12.50 2.50 242.50 0.0624686 - 12.50 2.50 247.50 0.149977 - 12.50 2.50 252.50 0.393273 - 12.50 2.50 257.50 0.773179 - 12.50 2.50 262.50 0.980476 - 12.50 2.50 267.50 0.773178 - 12.50 2.50 272.50 0.393272 - 12.50 2.50 277.50 0.149977 - 12.50 2.50 282.50 0.0624685 - 12.50 2.50 287.50 0.0485219 - 12.50 2.50 292.50 0.0601603 - 12.50 2.50 297.50 0.0760385 - 12.50 2.50 302.50 0.083846 - 12.50 2.50 307.50 0.084539 - 12.50 2.50 312.50 0.083846 - 12.50 2.50 317.50 0.0760386 - 12.50 2.50 322.50 0.0601603 - 12.50 2.50 327.50 0.048522 - 12.50 2.50 332.50 0.0624685 - 12.50 2.50 337.50 0.149977 - 12.50 2.50 342.50 0.393271 - 12.50 2.50 347.50 0.773178 - 12.50 2.50 352.50 0.980476 - 12.50 2.50 357.50 0.773179 - 12.50 7.50 2.50 0.512872 - 12.50 7.50 7.50 0.23942 - 12.50 7.50 12.50 0.104933 - 12.50 7.50 17.50 0.0662052 - 12.50 7.50 22.50 0.0623606 - 12.50 7.50 27.50 0.0660297 - 12.50 7.50 32.50 0.0683521 - 12.50 7.50 37.50 0.0741997 - 12.50 7.50 42.50 0.0710801 - 12.50 7.50 47.50 0.0581632 - 12.50 7.50 52.50 0.044284 - 12.50 7.50 57.50 0.0444665 - 12.50 7.50 62.50 0.0775083 - 12.50 7.50 67.50 0.18991 - 12.50 7.50 72.50 0.446617 - 12.50 7.50 77.50 0.808348 - 12.50 7.50 82.50 1.00664 - 12.50 7.50 87.50 0.851274 - 12.50 7.50 92.50 0.512871 - 12.50 7.50 97.50 0.23942 - 12.50 7.50 102.50 0.104933 - 12.50 7.50 107.50 0.0662052 - 12.50 7.50 112.50 0.0623606 - 12.50 7.50 117.50 0.0660297 - 12.50 7.50 122.50 0.0683521 - 12.50 7.50 127.50 0.0741996 - 12.50 7.50 132.50 0.0710801 - 12.50 7.50 137.50 0.0581632 - 12.50 7.50 142.50 0.044284 - 12.50 7.50 147.50 0.0444665 - 12.50 7.50 152.50 0.0775082 - 12.50 7.50 157.50 0.189909 - 12.50 7.50 162.50 0.446618 - 12.50 7.50 167.50 0.808347 - 12.50 7.50 172.50 1.00664 - 12.50 7.50 177.50 0.851276 - 12.50 7.50 182.50 0.512872 - 12.50 7.50 187.50 0.23942 - 12.50 7.50 192.50 0.104932 - 12.50 7.50 197.50 0.0662051 - 12.50 7.50 202.50 0.0623606 - 12.50 7.50 207.50 0.0660298 - 12.50 7.50 212.50 0.0683521 - 12.50 7.50 217.50 0.0741996 - 12.50 7.50 222.50 0.0710801 - 12.50 7.50 227.50 0.0581633 - 12.50 7.50 232.50 0.044284 - 12.50 7.50 237.50 0.0444665 - 12.50 7.50 242.50 0.0775081 - 12.50 7.50 247.50 0.189909 - 12.50 7.50 252.50 0.446618 - 12.50 7.50 257.50 0.808348 - 12.50 7.50 262.50 1.00664 - 12.50 7.50 267.50 0.851276 - 12.50 7.50 272.50 0.512873 - 12.50 7.50 277.50 0.23942 - 12.50 7.50 282.50 0.104932 - 12.50 7.50 287.50 0.0662052 - 12.50 7.50 292.50 0.0623606 - 12.50 7.50 297.50 0.0660298 - 12.50 7.50 302.50 0.0683521 - 12.50 7.50 307.50 0.0741996 - 12.50 7.50 312.50 0.0710801 - 12.50 7.50 317.50 0.0581633 - 12.50 7.50 322.50 0.044284 - 12.50 7.50 327.50 0.0444664 - 12.50 7.50 332.50 0.077508 - 12.50 7.50 337.50 0.189909 - 12.50 7.50 342.50 0.446617 - 12.50 7.50 347.50 0.808346 - 12.50 7.50 352.50 1.00664 - 12.50 7.50 357.50 0.851277 - 12.50 12.50 2.50 0.748316 - 12.50 12.50 7.50 0.390836 - 12.50 12.50 12.50 0.189551 - 12.50 12.50 17.50 0.103142 - 12.50 12.50 22.50 0.0810947 - 12.50 12.50 27.50 0.0778743 - 12.50 12.50 32.50 0.0872311 - 12.50 12.50 37.50 0.0934662 - 12.50 12.50 42.50 0.0764977 - 12.50 12.50 47.50 0.04773 - 12.50 12.50 52.50 0.0339706 - 12.50 12.50 57.50 0.0559125 - 12.50 12.50 62.50 0.128447 - 12.50 12.50 67.50 0.295839 - 12.50 12.50 72.50 0.629721 - 12.50 12.50 77.50 1.07311 - 12.50 12.50 82.50 1.31062 - 12.50 12.50 87.50 1.1454 - 12.50 12.50 92.50 0.748315 - 12.50 12.50 97.50 0.390836 - 12.50 12.50 102.50 0.189551 - 12.50 12.50 107.50 0.103142 - 12.50 12.50 112.50 0.0810947 - 12.50 12.50 117.50 0.0778743 - 12.50 12.50 122.50 0.0872312 - 12.50 12.50 127.50 0.0934662 - 12.50 12.50 132.50 0.0764976 - 12.50 12.50 137.50 0.04773 - 12.50 12.50 142.50 0.0339706 - 12.50 12.50 147.50 0.0559125 - 12.50 12.50 152.50 0.128447 - 12.50 12.50 157.50 0.295838 - 12.50 12.50 162.50 0.629721 - 12.50 12.50 167.50 1.07311 - 12.50 12.50 172.50 1.31062 - 12.50 12.50 177.50 1.1454 - 12.50 12.50 182.50 0.748316 - 12.50 12.50 187.50 0.390835 - 12.50 12.50 192.50 0.189551 - 12.50 12.50 197.50 0.103142 - 12.50 12.50 202.50 0.0810947 - 12.50 12.50 207.50 0.0778744 - 12.50 12.50 212.50 0.0872311 - 12.50 12.50 217.50 0.0934662 - 12.50 12.50 222.50 0.0764977 - 12.50 12.50 227.50 0.04773 - 12.50 12.50 232.50 0.0339706 - 12.50 12.50 237.50 0.0559126 - 12.50 12.50 242.50 0.128447 - 12.50 12.50 247.50 0.295839 - 12.50 12.50 252.50 0.629721 - 12.50 12.50 257.50 1.07311 - 12.50 12.50 262.50 1.31062 - 12.50 12.50 267.50 1.1454 - 12.50 12.50 272.50 0.748316 - 12.50 12.50 277.50 0.390836 - 12.50 12.50 282.50 0.189551 - 12.50 12.50 287.50 0.103142 - 12.50 12.50 292.50 0.0810947 - 12.50 12.50 297.50 0.0778743 - 12.50 12.50 302.50 0.0872311 - 12.50 12.50 307.50 0.0934662 - 12.50 12.50 312.50 0.0764977 - 12.50 12.50 317.50 0.04773 - 12.50 12.50 322.50 0.0339706 - 12.50 12.50 327.50 0.0559125 - 12.50 12.50 332.50 0.128447 - 12.50 12.50 337.50 0.295838 - 12.50 12.50 342.50 0.629719 - 12.50 12.50 347.50 1.07311 - 12.50 12.50 352.50 1.31062 - 12.50 12.50 357.50 1.1454 - 12.50 17.50 2.50 1.01248 - 12.50 17.50 7.50 0.608535 - 12.50 17.50 12.50 0.325954 - 12.50 17.50 17.50 0.202944 - 12.50 17.50 22.50 0.133183 - 12.50 17.50 27.50 0.0895592 - 12.50 17.50 32.50 0.0777872 - 12.50 17.50 37.50 0.0912259 - 12.50 17.50 42.50 0.07522 - 12.50 17.50 47.50 0.0423655 - 12.50 17.50 52.50 0.0284921 - 12.50 17.50 57.50 0.0549683 - 12.50 17.50 62.50 0.155453 - 12.50 17.50 67.50 0.397316 - 12.50 17.50 72.50 0.808873 - 12.50 17.50 77.50 1.28696 - 12.50 17.50 82.50 1.54438 - 12.50 17.50 87.50 1.39784 - 12.50 17.50 92.50 1.01248 - 12.50 17.50 97.50 0.608535 - 12.50 17.50 102.50 0.325954 - 12.50 17.50 107.50 0.202944 - 12.50 17.50 112.50 0.133183 - 12.50 17.50 117.50 0.0895592 - 12.50 17.50 122.50 0.0777872 - 12.50 17.50 127.50 0.0912259 - 12.50 17.50 132.50 0.07522 - 12.50 17.50 137.50 0.0423655 - 12.50 17.50 142.50 0.0284921 - 12.50 17.50 147.50 0.0549683 - 12.50 17.50 152.50 0.155452 - 12.50 17.50 157.50 0.397316 - 12.50 17.50 162.50 0.808872 - 12.50 17.50 167.50 1.28696 - 12.50 17.50 172.50 1.54438 - 12.50 17.50 177.50 1.39784 - 12.50 17.50 182.50 1.01248 - 12.50 17.50 187.50 0.608535 - 12.50 17.50 192.50 0.325954 - 12.50 17.50 197.50 0.202944 - 12.50 17.50 202.50 0.133183 - 12.50 17.50 207.50 0.0895593 - 12.50 17.50 212.50 0.0777872 - 12.50 17.50 217.50 0.0912259 - 12.50 17.50 222.50 0.07522 - 12.50 17.50 227.50 0.0423655 - 12.50 17.50 232.50 0.0284921 - 12.50 17.50 237.50 0.0549684 - 12.50 17.50 242.50 0.155453 - 12.50 17.50 247.50 0.397316 - 12.50 17.50 252.50 0.808873 - 12.50 17.50 257.50 1.28696 - 12.50 17.50 262.50 1.54439 - 12.50 17.50 267.50 1.39784 - 12.50 17.50 272.50 1.01248 - 12.50 17.50 277.50 0.608535 - 12.50 17.50 282.50 0.325954 - 12.50 17.50 287.50 0.202944 - 12.50 17.50 292.50 0.133183 - 12.50 17.50 297.50 0.0895592 - 12.50 17.50 302.50 0.0777872 - 12.50 17.50 307.50 0.0912259 - 12.50 17.50 312.50 0.07522 - 12.50 17.50 317.50 0.0423656 - 12.50 17.50 322.50 0.0284921 - 12.50 17.50 327.50 0.0549682 - 12.50 17.50 332.50 0.155452 - 12.50 17.50 337.50 0.397315 - 12.50 17.50 342.50 0.808871 - 12.50 17.50 347.50 1.28696 - 12.50 17.50 352.50 1.54438 - 12.50 17.50 357.50 1.39784 - 12.50 22.50 2.50 1.3146 - 12.50 22.50 7.50 0.890955 - 12.50 22.50 12.50 0.553796 - 12.50 22.50 17.50 0.348407 - 12.50 22.50 22.50 0.19235 - 12.50 22.50 27.50 0.106179 - 12.50 22.50 32.50 0.0712791 - 12.50 22.50 37.50 0.0595539 - 12.50 22.50 42.50 0.0417087 - 12.50 22.50 47.50 0.0251591 - 12.50 22.50 52.50 0.0219787 - 12.50 22.50 57.50 0.0588251 - 12.50 22.50 62.50 0.180599 - 12.50 22.50 67.50 0.463089 - 12.50 22.50 72.50 0.937675 - 12.50 22.50 77.50 1.44195 - 12.50 22.50 82.50 1.72547 - 12.50 22.50 87.50 1.64327 - 12.50 22.50 92.50 1.3146 - 12.50 22.50 97.50 0.890954 - 12.50 22.50 102.50 0.553796 - 12.50 22.50 107.50 0.348407 - 12.50 22.50 112.50 0.19235 - 12.50 22.50 117.50 0.106179 - 12.50 22.50 122.50 0.0712791 - 12.50 22.50 127.50 0.0595539 - 12.50 22.50 132.50 0.0417087 - 12.50 22.50 137.50 0.025159 - 12.50 22.50 142.50 0.0219787 - 12.50 22.50 147.50 0.0588251 - 12.50 22.50 152.50 0.180599 - 12.50 22.50 157.50 0.463088 - 12.50 22.50 162.50 0.937675 - 12.50 22.50 167.50 1.44195 - 12.50 22.50 172.50 1.72547 - 12.50 22.50 177.50 1.64327 - 12.50 22.50 182.50 1.3146 - 12.50 22.50 187.50 0.890954 - 12.50 22.50 192.50 0.553796 - 12.50 22.50 197.50 0.348407 - 12.50 22.50 202.50 0.19235 - 12.50 22.50 207.50 0.106179 - 12.50 22.50 212.50 0.0712791 - 12.50 22.50 217.50 0.0595539 - 12.50 22.50 222.50 0.0417088 - 12.50 22.50 227.50 0.0251591 - 12.50 22.50 232.50 0.0219787 - 12.50 22.50 237.50 0.0588252 - 12.50 22.50 242.50 0.180599 - 12.50 22.50 247.50 0.463089 - 12.50 22.50 252.50 0.937677 - 12.50 22.50 257.50 1.44195 - 12.50 22.50 262.50 1.72547 - 12.50 22.50 267.50 1.64327 - 12.50 22.50 272.50 1.3146 - 12.50 22.50 277.50 0.890954 - 12.50 22.50 282.50 0.553796 - 12.50 22.50 287.50 0.348407 - 12.50 22.50 292.50 0.19235 - 12.50 22.50 297.50 0.106179 - 12.50 22.50 302.50 0.0712791 - 12.50 22.50 307.50 0.0595539 - 12.50 22.50 312.50 0.0417088 - 12.50 22.50 317.50 0.0251591 - 12.50 22.50 322.50 0.0219787 - 12.50 22.50 327.50 0.058825 - 12.50 22.50 332.50 0.180599 - 12.50 22.50 337.50 0.463088 - 12.50 22.50 342.50 0.937675 - 12.50 22.50 347.50 1.44195 - 12.50 22.50 352.50 1.72547 - 12.50 22.50 357.50 1.64328 - 12.50 27.50 2.50 1.60321 - 12.50 27.50 7.50 1.19282 - 12.50 27.50 12.50 0.836843 - 12.50 27.50 17.50 0.524928 - 12.50 27.50 22.50 0.30174 - 12.50 27.50 27.50 0.156275 - 12.50 27.50 32.50 0.0627272 - 12.50 27.50 37.50 0.0319783 - 12.50 27.50 42.50 0.0165516 - 12.50 27.50 47.50 0.00983797 - 12.50 27.50 52.50 0.0213612 - 12.50 27.50 57.50 0.0533852 - 12.50 27.50 62.50 0.156997 - 12.50 27.50 67.50 0.445845 - 12.50 27.50 72.50 0.938178 - 12.50 27.50 77.50 1.50905 - 12.50 27.50 82.50 1.86661 - 12.50 27.50 87.50 1.87144 - 12.50 27.50 92.50 1.60321 - 12.50 27.50 97.50 1.19282 - 12.50 27.50 102.50 0.836843 - 12.50 27.50 107.50 0.524928 - 12.50 27.50 112.50 0.30174 - 12.50 27.50 117.50 0.156275 - 12.50 27.50 122.50 0.0627272 - 12.50 27.50 127.50 0.0319783 - 12.50 27.50 132.50 0.0165517 - 12.50 27.50 137.50 0.00983797 - 12.50 27.50 142.50 0.0213612 - 12.50 27.50 147.50 0.0533852 - 12.50 27.50 152.50 0.156997 - 12.50 27.50 157.50 0.445844 - 12.50 27.50 162.50 0.938178 - 12.50 27.50 167.50 1.50905 - 12.50 27.50 172.50 1.86661 - 12.50 27.50 177.50 1.87144 - 12.50 27.50 182.50 1.60321 - 12.50 27.50 187.50 1.19282 - 12.50 27.50 192.50 0.836842 - 12.50 27.50 197.50 0.524927 - 12.50 27.50 202.50 0.30174 - 12.50 27.50 207.50 0.156275 - 12.50 27.50 212.50 0.0627273 - 12.50 27.50 217.50 0.0319783 - 12.50 27.50 222.50 0.0165517 - 12.50 27.50 227.50 0.00983797 - 12.50 27.50 232.50 0.0213613 - 12.50 27.50 237.50 0.0533853 - 12.50 27.50 242.50 0.156997 - 12.50 27.50 247.50 0.445845 - 12.50 27.50 252.50 0.938179 - 12.50 27.50 257.50 1.50905 - 12.50 27.50 262.50 1.86661 - 12.50 27.50 267.50 1.87144 - 12.50 27.50 272.50 1.60321 - 12.50 27.50 277.50 1.19282 - 12.50 27.50 282.50 0.836843 - 12.50 27.50 287.50 0.524928 - 12.50 27.50 292.50 0.30174 - 12.50 27.50 297.50 0.156276 - 12.50 27.50 302.50 0.0627273 - 12.50 27.50 307.50 0.0319783 - 12.50 27.50 312.50 0.0165517 - 12.50 27.50 317.50 0.00983797 - 12.50 27.50 322.50 0.0213612 - 12.50 27.50 327.50 0.0533851 - 12.50 27.50 332.50 0.156997 - 12.50 27.50 337.50 0.445843 - 12.50 27.50 342.50 0.938176 - 12.50 27.50 347.50 1.50905 - 12.50 27.50 352.50 1.86661 - 12.50 27.50 357.50 1.87144 - 12.50 32.50 2.50 1.86338 - 12.50 32.50 7.50 1.53807 - 12.50 32.50 12.50 1.20728 - 12.50 32.50 17.50 0.811061 - 12.50 32.50 22.50 0.491082 - 12.50 32.50 27.50 0.222834 - 12.50 32.50 32.50 0.0934184 - 12.50 32.50 37.50 0.0282593 - 12.50 32.50 42.50 0.00774663 - 12.50 32.50 47.50 0.00789955 - 12.50 32.50 52.50 0.019153 - 12.50 32.50 57.50 0.0522474 - 12.50 32.50 62.50 0.14802 - 12.50 32.50 67.50 0.375538 - 12.50 32.50 72.50 0.854601 - 12.50 32.50 77.50 1.49025 - 12.50 32.50 82.50 1.95496 - 12.50 32.50 87.50 2.05966 - 12.50 32.50 92.50 1.86337 - 12.50 32.50 97.50 1.53807 - 12.50 32.50 102.50 1.20728 - 12.50 32.50 107.50 0.811061 - 12.50 32.50 112.50 0.491082 - 12.50 32.50 117.50 0.222834 - 12.50 32.50 122.50 0.0934183 - 12.50 32.50 127.50 0.0282593 - 12.50 32.50 132.50 0.00774663 - 12.50 32.50 137.50 0.00789955 - 12.50 32.50 142.50 0.0191531 - 12.50 32.50 147.50 0.0522474 - 12.50 32.50 152.50 0.148019 - 12.50 32.50 157.50 0.375537 - 12.50 32.50 162.50 0.8546 - 12.50 32.50 167.50 1.49025 - 12.50 32.50 172.50 1.95496 - 12.50 32.50 177.50 2.05966 - 12.50 32.50 182.50 1.86337 - 12.50 32.50 187.50 1.53807 - 12.50 32.50 192.50 1.20728 - 12.50 32.50 197.50 0.81106 - 12.50 32.50 202.50 0.491082 - 12.50 32.50 207.50 0.222834 - 12.50 32.50 212.50 0.0934184 - 12.50 32.50 217.50 0.0282593 - 12.50 32.50 222.50 0.00774664 - 12.50 32.50 227.50 0.00789955 - 12.50 32.50 232.50 0.0191531 - 12.50 32.50 237.50 0.0522475 - 12.50 32.50 242.50 0.14802 - 12.50 32.50 247.50 0.375538 - 12.50 32.50 252.50 0.854602 - 12.50 32.50 257.50 1.49025 - 12.50 32.50 262.50 1.95496 - 12.50 32.50 267.50 2.05967 - 12.50 32.50 272.50 1.86337 - 12.50 32.50 277.50 1.53807 - 12.50 32.50 282.50 1.20728 - 12.50 32.50 287.50 0.81106 - 12.50 32.50 292.50 0.491082 - 12.50 32.50 297.50 0.222834 - 12.50 32.50 302.50 0.0934186 - 12.50 32.50 307.50 0.0282593 - 12.50 32.50 312.50 0.00774663 - 12.50 32.50 317.50 0.00789954 - 12.50 32.50 322.50 0.019153 - 12.50 32.50 327.50 0.0522474 - 12.50 32.50 332.50 0.148019 - 12.50 32.50 337.50 0.375537 - 12.50 32.50 342.50 0.854599 - 12.50 32.50 347.50 1.49025 - 12.50 32.50 352.50 1.95496 - 12.50 32.50 357.50 2.05967 - 12.50 37.50 2.50 2.17935 - 12.50 37.50 7.50 2.00917 - 12.50 37.50 12.50 1.73793 - 12.50 37.50 17.50 1.31861 - 12.50 37.50 22.50 0.808453 - 12.50 37.50 27.50 0.419195 - 12.50 37.50 32.50 0.176797 - 12.50 37.50 37.50 0.0562322 - 12.50 37.50 42.50 0.0189671 - 12.50 37.50 47.50 0.0128106 - 12.50 37.50 52.50 0.0225164 - 12.50 37.50 57.50 0.0559942 - 12.50 37.50 62.50 0.142297 - 12.50 37.50 67.50 0.368096 - 12.50 37.50 72.50 0.831755 - 12.50 37.50 77.50 1.47645 - 12.50 37.50 82.50 2.04186 - 12.50 37.50 87.50 2.25355 - 12.50 37.50 92.50 2.17935 - 12.50 37.50 97.50 2.00916 - 12.50 37.50 102.50 1.73793 - 12.50 37.50 107.50 1.31861 - 12.50 37.50 112.50 0.808453 - 12.50 37.50 117.50 0.419195 - 12.50 37.50 122.50 0.176797 - 12.50 37.50 127.50 0.0562322 - 12.50 37.50 132.50 0.0189671 - 12.50 37.50 137.50 0.0128106 - 12.50 37.50 142.50 0.0225164 - 12.50 37.50 147.50 0.0559942 - 12.50 37.50 152.50 0.142297 - 12.50 37.50 157.50 0.368096 - 12.50 37.50 162.50 0.831755 - 12.50 37.50 167.50 1.47645 - 12.50 37.50 172.50 2.04186 - 12.50 37.50 177.50 2.25355 - 12.50 37.50 182.50 2.17935 - 12.50 37.50 187.50 2.00916 - 12.50 37.50 192.50 1.73793 - 12.50 37.50 197.50 1.31861 - 12.50 37.50 202.50 0.808452 - 12.50 37.50 207.50 0.419196 - 12.50 37.50 212.50 0.176797 - 12.50 37.50 217.50 0.0562323 - 12.50 37.50 222.50 0.0189671 - 12.50 37.50 227.50 0.0128106 - 12.50 37.50 232.50 0.0225164 - 12.50 37.50 237.50 0.0559943 - 12.50 37.50 242.50 0.142297 - 12.50 37.50 247.50 0.368097 - 12.50 37.50 252.50 0.831756 - 12.50 37.50 257.50 1.47645 - 12.50 37.50 262.50 2.04186 - 12.50 37.50 267.50 2.25355 - 12.50 37.50 272.50 2.17935 - 12.50 37.50 277.50 2.00917 - 12.50 37.50 282.50 1.73793 - 12.50 37.50 287.50 1.31861 - 12.50 37.50 292.50 0.808453 - 12.50 37.50 297.50 0.419196 - 12.50 37.50 302.50 0.176797 - 12.50 37.50 307.50 0.0562324 - 12.50 37.50 312.50 0.0189671 - 12.50 37.50 317.50 0.0128106 - 12.50 37.50 322.50 0.0225164 - 12.50 37.50 327.50 0.0559941 - 12.50 37.50 332.50 0.142296 - 12.50 37.50 337.50 0.368095 - 12.50 37.50 342.50 0.831754 - 12.50 37.50 347.50 1.47645 - 12.50 37.50 352.50 2.04186 - 12.50 37.50 357.50 2.25355 - 12.50 42.50 2.50 2.49553 - 12.50 42.50 7.50 2.5511 - 12.50 42.50 12.50 2.38862 - 12.50 42.50 17.50 1.93565 - 12.50 42.50 22.50 1.32266 - 12.50 42.50 27.50 0.761163 - 12.50 42.50 32.50 0.347488 - 12.50 42.50 37.50 0.131228 - 12.50 42.50 42.50 0.0544543 - 12.50 42.50 47.50 0.024078 - 12.50 42.50 52.50 0.029337 - 12.50 42.50 57.50 0.064963 - 12.50 42.50 62.50 0.153384 - 12.50 42.50 67.50 0.389939 - 12.50 42.50 72.50 0.837115 - 12.50 42.50 77.50 1.47636 - 12.50 42.50 82.50 2.04755 - 12.50 42.50 87.50 2.365 - 12.50 42.50 92.50 2.49553 - 12.50 42.50 97.50 2.5511 - 12.50 42.50 102.50 2.38862 - 12.50 42.50 107.50 1.93565 - 12.50 42.50 112.50 1.32266 - 12.50 42.50 117.50 0.761163 - 12.50 42.50 122.50 0.347488 - 12.50 42.50 127.50 0.131228 - 12.50 42.50 132.50 0.0544543 - 12.50 42.50 137.50 0.024078 - 12.50 42.50 142.50 0.029337 - 12.50 42.50 147.50 0.0649629 - 12.50 42.50 152.50 0.153384 - 12.50 42.50 157.50 0.389938 - 12.50 42.50 162.50 0.837115 - 12.50 42.50 167.50 1.47636 - 12.50 42.50 172.50 2.04755 - 12.50 42.50 177.50 2.365 - 12.50 42.50 182.50 2.49553 - 12.50 42.50 187.50 2.5511 - 12.50 42.50 192.50 2.38862 - 12.50 42.50 197.50 1.93565 - 12.50 42.50 202.50 1.32266 - 12.50 42.50 207.50 0.761164 - 12.50 42.50 212.50 0.347488 - 12.50 42.50 217.50 0.131228 - 12.50 42.50 222.50 0.0544543 - 12.50 42.50 227.50 0.024078 - 12.50 42.50 232.50 0.0293371 - 12.50 42.50 237.50 0.0649631 - 12.50 42.50 242.50 0.153385 - 12.50 42.50 247.50 0.389939 - 12.50 42.50 252.50 0.837116 - 12.50 42.50 257.50 1.47636 - 12.50 42.50 262.50 2.04755 - 12.50 42.50 267.50 2.365 - 12.50 42.50 272.50 2.49553 - 12.50 42.50 277.50 2.5511 - 12.50 42.50 282.50 2.38862 - 12.50 42.50 287.50 1.93565 - 12.50 42.50 292.50 1.32266 - 12.50 42.50 297.50 0.761164 - 12.50 42.50 302.50 0.347488 - 12.50 42.50 307.50 0.131228 - 12.50 42.50 312.50 0.0544544 - 12.50 42.50 317.50 0.024078 - 12.50 42.50 322.50 0.0293369 - 12.50 42.50 327.50 0.0649629 - 12.50 42.50 332.50 0.153384 - 12.50 42.50 337.50 0.389938 - 12.50 42.50 342.50 0.837114 - 12.50 42.50 347.50 1.47635 - 12.50 42.50 352.50 2.04755 - 12.50 42.50 357.50 2.365 - 12.50 47.50 2.50 2.62872 - 12.50 47.50 7.50 2.92708 - 12.50 47.50 12.50 2.93874 - 12.50 47.50 17.50 2.53676 - 12.50 47.50 22.50 1.86442 - 12.50 47.50 27.50 1.11737 - 12.50 47.50 32.50 0.578409 - 12.50 47.50 37.50 0.257133 - 12.50 47.50 42.50 0.102518 - 12.50 47.50 47.50 0.0461649 - 12.50 47.50 52.50 0.0370031 - 12.50 47.50 57.50 0.0798342 - 12.50 47.50 62.50 0.175949 - 12.50 47.50 67.50 0.390397 - 12.50 47.50 72.50 0.811877 - 12.50 47.50 77.50 1.38669 - 12.50 47.50 82.50 1.92049 - 12.50 47.50 87.50 2.27301 - 12.50 47.50 92.50 2.62872 - 12.50 47.50 97.50 2.92708 - 12.50 47.50 102.50 2.93874 - 12.50 47.50 107.50 2.53676 - 12.50 47.50 112.50 1.86442 - 12.50 47.50 117.50 1.11737 - 12.50 47.50 122.50 0.578409 - 12.50 47.50 127.50 0.257132 - 12.50 47.50 132.50 0.102518 - 12.50 47.50 137.50 0.0461649 - 12.50 47.50 142.50 0.0370031 - 12.50 47.50 147.50 0.0798341 - 12.50 47.50 152.50 0.175949 - 12.50 47.50 157.50 0.390396 - 12.50 47.50 162.50 0.811877 - 12.50 47.50 167.50 1.38669 - 12.50 47.50 172.50 1.92049 - 12.50 47.50 177.50 2.273 - 12.50 47.50 182.50 2.62872 - 12.50 47.50 187.50 2.92708 - 12.50 47.50 192.50 2.93873 - 12.50 47.50 197.50 2.53676 - 12.50 47.50 202.50 1.86442 - 12.50 47.50 207.50 1.11737 - 12.50 47.50 212.50 0.57841 - 12.50 47.50 217.50 0.257133 - 12.50 47.50 222.50 0.102518 - 12.50 47.50 227.50 0.046165 - 12.50 47.50 232.50 0.0370032 - 12.50 47.50 237.50 0.0798342 - 12.50 47.50 242.50 0.175949 - 12.50 47.50 247.50 0.390398 - 12.50 47.50 252.50 0.811879 - 12.50 47.50 257.50 1.38669 - 12.50 47.50 262.50 1.92049 - 12.50 47.50 267.50 2.27301 - 12.50 47.50 272.50 2.62872 - 12.50 47.50 277.50 2.92708 - 12.50 47.50 282.50 2.93874 - 12.50 47.50 287.50 2.53676 - 12.50 47.50 292.50 1.86442 - 12.50 47.50 297.50 1.11737 - 12.50 47.50 302.50 0.57841 - 12.50 47.50 307.50 0.257133 - 12.50 47.50 312.50 0.102518 - 12.50 47.50 317.50 0.046165 - 12.50 47.50 322.50 0.0370031 - 12.50 47.50 327.50 0.0798341 - 12.50 47.50 332.50 0.175949 - 12.50 47.50 337.50 0.390396 - 12.50 47.50 342.50 0.811876 - 12.50 47.50 347.50 1.38669 - 12.50 47.50 352.50 1.92049 - 12.50 47.50 357.50 2.273 - 12.50 52.50 2.50 2.49553 - 12.50 52.50 7.50 2.94319 - 12.50 52.50 12.50 3.21772 - 12.50 52.50 17.50 2.87826 - 12.50 52.50 22.50 2.18842 - 12.50 52.50 27.50 1.51786 - 12.50 52.50 32.50 0.815125 - 12.50 52.50 37.50 0.391492 - 12.50 52.50 42.50 0.144797 - 12.50 52.50 47.50 0.0466048 - 12.50 52.50 52.50 0.0464114 - 12.50 52.50 57.50 0.0917996 - 12.50 52.50 62.50 0.165767 - 12.50 52.50 67.50 0.392732 - 12.50 52.50 72.50 0.753955 - 12.50 52.50 77.50 1.23847 - 12.50 52.50 82.50 1.72614 - 12.50 52.50 87.50 2.05578 - 12.50 52.50 92.50 2.49553 - 12.50 52.50 97.50 2.94319 - 12.50 52.50 102.50 3.21772 - 12.50 52.50 107.50 2.87826 - 12.50 52.50 112.50 2.18842 - 12.50 52.50 117.50 1.51786 - 12.50 52.50 122.50 0.815125 - 12.50 52.50 127.50 0.391492 - 12.50 52.50 132.50 0.144797 - 12.50 52.50 137.50 0.0466048 - 12.50 52.50 142.50 0.0464113 - 12.50 52.50 147.50 0.0917995 - 12.50 52.50 152.50 0.165767 - 12.50 52.50 157.50 0.392732 - 12.50 52.50 162.50 0.753955 - 12.50 52.50 167.50 1.23847 - 12.50 52.50 172.50 1.72614 - 12.50 52.50 177.50 2.05578 - 12.50 52.50 182.50 2.49553 - 12.50 52.50 187.50 2.94319 - 12.50 52.50 192.50 3.21772 - 12.50 52.50 197.50 2.87826 - 12.50 52.50 202.50 2.18842 - 12.50 52.50 207.50 1.51786 - 12.50 52.50 212.50 0.815125 - 12.50 52.50 217.50 0.391492 - 12.50 52.50 222.50 0.144797 - 12.50 52.50 227.50 0.0466048 - 12.50 52.50 232.50 0.0464115 - 12.50 52.50 237.50 0.0917997 - 12.50 52.50 242.50 0.165767 - 12.50 52.50 247.50 0.392733 - 12.50 52.50 252.50 0.753956 - 12.50 52.50 257.50 1.23848 - 12.50 52.50 262.50 1.72614 - 12.50 52.50 267.50 2.05578 - 12.50 52.50 272.50 2.49553 - 12.50 52.50 277.50 2.94319 - 12.50 52.50 282.50 3.21772 - 12.50 52.50 287.50 2.87826 - 12.50 52.50 292.50 2.18842 - 12.50 52.50 297.50 1.51786 - 12.50 52.50 302.50 0.815126 - 12.50 52.50 307.50 0.391492 - 12.50 52.50 312.50 0.144797 - 12.50 52.50 317.50 0.0466049 - 12.50 52.50 322.50 0.0464113 - 12.50 52.50 327.50 0.0917995 - 12.50 52.50 332.50 0.165767 - 12.50 52.50 337.50 0.392732 - 12.50 52.50 342.50 0.753954 - 12.50 52.50 347.50 1.23847 - 12.50 52.50 352.50 1.72614 - 12.50 52.50 357.50 2.05578 - 12.50 57.50 2.50 2.17935 - 12.50 57.50 7.50 2.68301 - 12.50 57.50 12.50 3.142 - 12.50 57.50 17.50 2.89175 - 12.50 57.50 22.50 2.41409 - 12.50 57.50 27.50 1.82909 - 12.50 57.50 32.50 1.06827 - 12.50 57.50 37.50 0.461795 - 12.50 57.50 42.50 0.150861 - 12.50 57.50 47.50 0.0493124 - 12.50 57.50 52.50 0.0333968 - 12.50 57.50 57.50 0.0742197 - 12.50 57.50 62.50 0.162979 - 12.50 57.50 67.50 0.349 - 12.50 57.50 72.50 0.650024 - 12.50 57.50 77.50 1.05549 - 12.50 57.50 82.50 1.47076 - 12.50 57.50 87.50 1.80721 - 12.50 57.50 92.50 2.17935 - 12.50 57.50 97.50 2.68301 - 12.50 57.50 102.50 3.142 - 12.50 57.50 107.50 2.89175 - 12.50 57.50 112.50 2.41409 - 12.50 57.50 117.50 1.82909 - 12.50 57.50 122.50 1.06827 - 12.50 57.50 127.50 0.461795 - 12.50 57.50 132.50 0.150861 - 12.50 57.50 137.50 0.0493124 - 12.50 57.50 142.50 0.0333968 - 12.50 57.50 147.50 0.0742197 - 12.50 57.50 152.50 0.162979 - 12.50 57.50 157.50 0.348999 - 12.50 57.50 162.50 0.650024 - 12.50 57.50 167.50 1.05549 - 12.50 57.50 172.50 1.47076 - 12.50 57.50 177.50 1.80721 - 12.50 57.50 182.50 2.17935 - 12.50 57.50 187.50 2.68301 - 12.50 57.50 192.50 3.142 - 12.50 57.50 197.50 2.89175 - 12.50 57.50 202.50 2.41409 - 12.50 57.50 207.50 1.82909 - 12.50 57.50 212.50 1.06827 - 12.50 57.50 217.50 0.461796 - 12.50 57.50 222.50 0.150861 - 12.50 57.50 227.50 0.0493124 - 12.50 57.50 232.50 0.0333969 - 12.50 57.50 237.50 0.0742198 - 12.50 57.50 242.50 0.162979 - 12.50 57.50 247.50 0.349 - 12.50 57.50 252.50 0.650025 - 12.50 57.50 257.50 1.05549 - 12.50 57.50 262.50 1.47076 - 12.50 57.50 267.50 1.80721 - 12.50 57.50 272.50 2.17935 - 12.50 57.50 277.50 2.68301 - 12.50 57.50 282.50 3.14199 - 12.50 57.50 287.50 2.89175 - 12.50 57.50 292.50 2.41409 - 12.50 57.50 297.50 1.82909 - 12.50 57.50 302.50 1.06827 - 12.50 57.50 307.50 0.461796 - 12.50 57.50 312.50 0.150861 - 12.50 57.50 317.50 0.0493124 - 12.50 57.50 322.50 0.0333968 - 12.50 57.50 327.50 0.0742197 - 12.50 57.50 332.50 0.162979 - 12.50 57.50 337.50 0.348999 - 12.50 57.50 342.50 0.650023 - 12.50 57.50 347.50 1.05549 - 12.50 57.50 352.50 1.47076 - 12.50 57.50 357.50 1.8072 - 12.50 62.50 2.50 1.86337 - 12.50 62.50 7.50 2.35633 - 12.50 62.50 12.50 2.81722 - 12.50 62.50 17.50 2.69226 - 12.50 62.50 22.50 2.44214 - 12.50 62.50 27.50 1.87162 - 12.50 62.50 32.50 1.14071 - 12.50 62.50 37.50 0.513418 - 12.50 62.50 42.50 0.162803 - 12.50 62.50 47.50 0.0377003 - 12.50 62.50 52.50 0.023734 - 12.50 62.50 57.50 0.0563771 - 12.50 62.50 62.50 0.127603 - 12.50 62.50 67.50 0.2733 - 12.50 62.50 72.50 0.528727 - 12.50 62.50 77.50 0.837215 - 12.50 62.50 82.50 1.22202 - 12.50 62.50 87.50 1.56995 - 12.50 62.50 92.50 1.86338 - 12.50 62.50 97.50 2.35633 - 12.50 62.50 102.50 2.81722 - 12.50 62.50 107.50 2.69226 - 12.50 62.50 112.50 2.44214 - 12.50 62.50 117.50 1.87162 - 12.50 62.50 122.50 1.14071 - 12.50 62.50 127.50 0.513417 - 12.50 62.50 132.50 0.162803 - 12.50 62.50 137.50 0.0377003 - 12.50 62.50 142.50 0.023734 - 12.50 62.50 147.50 0.0563771 - 12.50 62.50 152.50 0.127603 - 12.50 62.50 157.50 0.273299 - 12.50 62.50 162.50 0.528727 - 12.50 62.50 167.50 0.837215 - 12.50 62.50 172.50 1.22202 - 12.50 62.50 177.50 1.56995 - 12.50 62.50 182.50 1.86337 - 12.50 62.50 187.50 2.35633 - 12.50 62.50 192.50 2.81722 - 12.50 62.50 197.50 2.69226 - 12.50 62.50 202.50 2.44214 - 12.50 62.50 207.50 1.87162 - 12.50 62.50 212.50 1.14071 - 12.50 62.50 217.50 0.513418 - 12.50 62.50 222.50 0.162803 - 12.50 62.50 227.50 0.0377003 - 12.50 62.50 232.50 0.023734 - 12.50 62.50 237.50 0.0563771 - 12.50 62.50 242.50 0.127603 - 12.50 62.50 247.50 0.2733 - 12.50 62.50 252.50 0.528728 - 12.50 62.50 257.50 0.837216 - 12.50 62.50 262.50 1.22202 - 12.50 62.50 267.50 1.56995 - 12.50 62.50 272.50 1.86337 - 12.50 62.50 277.50 2.35633 - 12.50 62.50 282.50 2.81722 - 12.50 62.50 287.50 2.69226 - 12.50 62.50 292.50 2.44214 - 12.50 62.50 297.50 1.87162 - 12.50 62.50 302.50 1.14071 - 12.50 62.50 307.50 0.513418 - 12.50 62.50 312.50 0.162803 - 12.50 62.50 317.50 0.0377004 - 12.50 62.50 322.50 0.023734 - 12.50 62.50 327.50 0.056377 - 12.50 62.50 332.50 0.127603 - 12.50 62.50 337.50 0.273299 - 12.50 62.50 342.50 0.528727 - 12.50 62.50 347.50 0.837215 - 12.50 62.50 352.50 1.22202 - 12.50 62.50 357.50 1.56995 - 12.50 67.50 2.50 1.60321 - 12.50 67.50 7.50 2.02542 - 12.50 67.50 12.50 2.45028 - 12.50 67.50 17.50 2.47398 - 12.50 67.50 22.50 2.2456 - 12.50 67.50 27.50 1.71088 - 12.50 67.50 32.50 0.984817 - 12.50 67.50 37.50 0.46612 - 12.50 67.50 42.50 0.176851 - 12.50 67.50 47.50 0.0498328 - 12.50 67.50 52.50 0.0218166 - 12.50 67.50 57.50 0.0508089 - 12.50 67.50 62.50 0.116185 - 12.50 67.50 67.50 0.221438 - 12.50 67.50 72.50 0.447433 - 12.50 67.50 77.50 0.720637 - 12.50 67.50 82.50 1.04917 - 12.50 67.50 87.50 1.3825 - 12.50 67.50 92.50 1.60321 - 12.50 67.50 97.50 2.02542 - 12.50 67.50 102.50 2.45028 - 12.50 67.50 107.50 2.47398 - 12.50 67.50 112.50 2.2456 - 12.50 67.50 117.50 1.71088 - 12.50 67.50 122.50 0.984816 - 12.50 67.50 127.50 0.46612 - 12.50 67.50 132.50 0.176851 - 12.50 67.50 137.50 0.0498328 - 12.50 67.50 142.50 0.0218166 - 12.50 67.50 147.50 0.050809 - 12.50 67.50 152.50 0.116185 - 12.50 67.50 157.50 0.221438 - 12.50 67.50 162.50 0.447433 - 12.50 67.50 167.50 0.720637 - 12.50 67.50 172.50 1.04917 - 12.50 67.50 177.50 1.3825 - 12.50 67.50 182.50 1.60321 - 12.50 67.50 187.50 2.02542 - 12.50 67.50 192.50 2.45028 - 12.50 67.50 197.50 2.47398 - 12.50 67.50 202.50 2.2456 - 12.50 67.50 207.50 1.71088 - 12.50 67.50 212.50 0.984817 - 12.50 67.50 217.50 0.466121 - 12.50 67.50 222.50 0.176851 - 12.50 67.50 227.50 0.0498328 - 12.50 67.50 232.50 0.0218167 - 12.50 67.50 237.50 0.0508092 - 12.50 67.50 242.50 0.116186 - 12.50 67.50 247.50 0.221438 - 12.50 67.50 252.50 0.447433 - 12.50 67.50 257.50 0.720638 - 12.50 67.50 262.50 1.04917 - 12.50 67.50 267.50 1.3825 - 12.50 67.50 272.50 1.60321 - 12.50 67.50 277.50 2.02542 - 12.50 67.50 282.50 2.45028 - 12.50 67.50 287.50 2.47398 - 12.50 67.50 292.50 2.2456 - 12.50 67.50 297.50 1.71088 - 12.50 67.50 302.50 0.984818 - 12.50 67.50 307.50 0.466121 - 12.50 67.50 312.50 0.176851 - 12.50 67.50 317.50 0.0498329 - 12.50 67.50 322.50 0.0218166 - 12.50 67.50 327.50 0.0508089 - 12.50 67.50 332.50 0.116185 - 12.50 67.50 337.50 0.221438 - 12.50 67.50 342.50 0.447432 - 12.50 67.50 347.50 0.720637 - 12.50 67.50 352.50 1.04917 - 12.50 67.50 357.50 1.3825 - 12.50 72.50 2.50 1.3146 - 12.50 72.50 7.50 1.61508 - 12.50 72.50 12.50 2.07273 - 12.50 72.50 17.50 2.17321 - 12.50 72.50 22.50 1.95804 - 12.50 72.50 27.50 1.35853 - 12.50 72.50 32.50 0.79817 - 12.50 72.50 37.50 0.390629 - 12.50 72.50 42.50 0.153302 - 12.50 72.50 47.50 0.044293 - 12.50 72.50 52.50 0.0235675 - 12.50 72.50 57.50 0.0489955 - 12.50 72.50 62.50 0.136687 - 12.50 72.50 67.50 0.257137 - 12.50 72.50 72.50 0.413102 - 12.50 72.50 77.50 0.686339 - 12.50 72.50 82.50 0.936391 - 12.50 72.50 87.50 1.16836 - 12.50 72.50 92.50 1.3146 - 12.50 72.50 97.50 1.61508 - 12.50 72.50 102.50 2.07273 - 12.50 72.50 107.50 2.17321 - 12.50 72.50 112.50 1.95804 - 12.50 72.50 117.50 1.35853 - 12.50 72.50 122.50 0.79817 - 12.50 72.50 127.50 0.390629 - 12.50 72.50 132.50 0.153302 - 12.50 72.50 137.50 0.044293 - 12.50 72.50 142.50 0.0235675 - 12.50 72.50 147.50 0.0489955 - 12.50 72.50 152.50 0.136687 - 12.50 72.50 157.50 0.257137 - 12.50 72.50 162.50 0.413102 - 12.50 72.50 167.50 0.686339 - 12.50 72.50 172.50 0.93639 - 12.50 72.50 177.50 1.16836 - 12.50 72.50 182.50 1.3146 - 12.50 72.50 187.50 1.61508 - 12.50 72.50 192.50 2.07273 - 12.50 72.50 197.50 2.17321 - 12.50 72.50 202.50 1.95804 - 12.50 72.50 207.50 1.35853 - 12.50 72.50 212.50 0.79817 - 12.50 72.50 217.50 0.39063 - 12.50 72.50 222.50 0.153302 - 12.50 72.50 227.50 0.044293 - 12.50 72.50 232.50 0.0235675 - 12.50 72.50 237.50 0.0489957 - 12.50 72.50 242.50 0.136687 - 12.50 72.50 247.50 0.257137 - 12.50 72.50 252.50 0.413102 - 12.50 72.50 257.50 0.68634 - 12.50 72.50 262.50 0.936392 - 12.50 72.50 267.50 1.16836 - 12.50 72.50 272.50 1.3146 - 12.50 72.50 277.50 1.61508 - 12.50 72.50 282.50 2.07273 - 12.50 72.50 287.50 2.17321 - 12.50 72.50 292.50 1.95804 - 12.50 72.50 297.50 1.35853 - 12.50 72.50 302.50 0.79817 - 12.50 72.50 307.50 0.390629 - 12.50 72.50 312.50 0.153303 - 12.50 72.50 317.50 0.044293 - 12.50 72.50 322.50 0.0235675 - 12.50 72.50 327.50 0.0489955 - 12.50 72.50 332.50 0.136687 - 12.50 72.50 337.50 0.257137 - 12.50 72.50 342.50 0.413101 - 12.50 72.50 347.50 0.686339 - 12.50 72.50 352.50 0.93639 - 12.50 72.50 357.50 1.16836 - 12.50 77.50 2.50 1.01248 - 12.50 77.50 7.50 1.2343 - 12.50 77.50 12.50 1.5055 - 12.50 77.50 17.50 1.65912 - 12.50 77.50 22.50 1.41792 - 12.50 77.50 27.50 0.986119 - 12.50 77.50 32.50 0.600698 - 12.50 77.50 37.50 0.307125 - 12.50 77.50 42.50 0.111409 - 12.50 77.50 47.50 0.0372109 - 12.50 77.50 52.50 0.0249284 - 12.50 77.50 57.50 0.0602604 - 12.50 77.50 62.50 0.132119 - 12.50 77.50 67.50 0.268075 - 12.50 77.50 72.50 0.428224 - 12.50 77.50 77.50 0.625249 - 12.50 77.50 82.50 0.821513 - 12.50 77.50 87.50 0.917429 - 12.50 77.50 92.50 1.01248 - 12.50 77.50 97.50 1.2343 - 12.50 77.50 102.50 1.5055 - 12.50 77.50 107.50 1.65912 - 12.50 77.50 112.50 1.41792 - 12.50 77.50 117.50 0.986119 - 12.50 77.50 122.50 0.600698 - 12.50 77.50 127.50 0.307124 - 12.50 77.50 132.50 0.111409 - 12.50 77.50 137.50 0.0372109 - 12.50 77.50 142.50 0.0249285 - 12.50 77.50 147.50 0.0602605 - 12.50 77.50 152.50 0.132119 - 12.50 77.50 157.50 0.268075 - 12.50 77.50 162.50 0.428223 - 12.50 77.50 167.50 0.62525 - 12.50 77.50 172.50 0.821513 - 12.50 77.50 177.50 0.91743 - 12.50 77.50 182.50 1.01248 - 12.50 77.50 187.50 1.2343 - 12.50 77.50 192.50 1.5055 - 12.50 77.50 197.50 1.65912 - 12.50 77.50 202.50 1.41792 - 12.50 77.50 207.50 0.986119 - 12.50 77.50 212.50 0.600698 - 12.50 77.50 217.50 0.307125 - 12.50 77.50 222.50 0.111409 - 12.50 77.50 227.50 0.0372109 - 12.50 77.50 232.50 0.0249285 - 12.50 77.50 237.50 0.0602607 - 12.50 77.50 242.50 0.132119 - 12.50 77.50 247.50 0.268075 - 12.50 77.50 252.50 0.428224 - 12.50 77.50 257.50 0.62525 - 12.50 77.50 262.50 0.821514 - 12.50 77.50 267.50 0.91743 - 12.50 77.50 272.50 1.01248 - 12.50 77.50 277.50 1.2343 - 12.50 77.50 282.50 1.5055 - 12.50 77.50 287.50 1.65912 - 12.50 77.50 292.50 1.41792 - 12.50 77.50 297.50 0.986119 - 12.50 77.50 302.50 0.600698 - 12.50 77.50 307.50 0.307125 - 12.50 77.50 312.50 0.111409 - 12.50 77.50 317.50 0.037211 - 12.50 77.50 322.50 0.0249284 - 12.50 77.50 327.50 0.0602605 - 12.50 77.50 332.50 0.132119 - 12.50 77.50 337.50 0.268075 - 12.50 77.50 342.50 0.428224 - 12.50 77.50 347.50 0.625249 - 12.50 77.50 352.50 0.821513 - 12.50 77.50 357.50 0.91743 - 12.50 82.50 2.50 0.748315 - 12.50 82.50 7.50 0.876766 - 12.50 82.50 12.50 1.00203 - 12.50 82.50 17.50 1.07335 - 12.50 82.50 22.50 0.87596 - 12.50 82.50 27.50 0.602202 - 12.50 82.50 32.50 0.36465 - 12.50 82.50 37.50 0.17914 - 12.50 82.50 42.50 0.0765614 - 12.50 82.50 47.50 0.0303563 - 12.50 82.50 52.50 0.0214686 - 12.50 82.50 57.50 0.048819 - 12.50 82.50 62.50 0.134886 - 12.50 82.50 67.50 0.280425 - 12.50 82.50 72.50 0.448151 - 12.50 82.50 77.50 0.560353 - 12.50 82.50 82.50 0.660447 - 12.50 82.50 87.50 0.746945 - 12.50 82.50 92.50 0.748315 - 12.50 82.50 97.50 0.876766 - 12.50 82.50 102.50 1.00203 - 12.50 82.50 107.50 1.07335 - 12.50 82.50 112.50 0.87596 - 12.50 82.50 117.50 0.602202 - 12.50 82.50 122.50 0.36465 - 12.50 82.50 127.50 0.17914 - 12.50 82.50 132.50 0.0765612 - 12.50 82.50 137.50 0.0303563 - 12.50 82.50 142.50 0.0214686 - 12.50 82.50 147.50 0.048819 - 12.50 82.50 152.50 0.134886 - 12.50 82.50 157.50 0.280425 - 12.50 82.50 162.50 0.448151 - 12.50 82.50 167.50 0.560353 - 12.50 82.50 172.50 0.660447 - 12.50 82.50 177.50 0.746945 - 12.50 82.50 182.50 0.748315 - 12.50 82.50 187.50 0.876766 - 12.50 82.50 192.50 1.00203 - 12.50 82.50 197.50 1.07335 - 12.50 82.50 202.50 0.87596 - 12.50 82.50 207.50 0.602202 - 12.50 82.50 212.50 0.36465 - 12.50 82.50 217.50 0.179141 - 12.50 82.50 222.50 0.0765614 - 12.50 82.50 227.50 0.0303563 - 12.50 82.50 232.50 0.0214686 - 12.50 82.50 237.50 0.0488192 - 12.50 82.50 242.50 0.134886 - 12.50 82.50 247.50 0.280425 - 12.50 82.50 252.50 0.448152 - 12.50 82.50 257.50 0.560354 - 12.50 82.50 262.50 0.660447 - 12.50 82.50 267.50 0.746944 - 12.50 82.50 272.50 0.748316 - 12.50 82.50 277.50 0.876766 - 12.50 82.50 282.50 1.00203 - 12.50 82.50 287.50 1.07335 - 12.50 82.50 292.50 0.87596 - 12.50 82.50 297.50 0.602202 - 12.50 82.50 302.50 0.36465 - 12.50 82.50 307.50 0.179141 - 12.50 82.50 312.50 0.0765614 - 12.50 82.50 317.50 0.0303563 - 12.50 82.50 322.50 0.0214686 - 12.50 82.50 327.50 0.0488189 - 12.50 82.50 332.50 0.134886 - 12.50 82.50 337.50 0.280424 - 12.50 82.50 342.50 0.448151 - 12.50 82.50 347.50 0.560353 - 12.50 82.50 352.50 0.660447 - 12.50 82.50 357.50 0.746945 - 12.50 87.50 2.50 0.512871 - 12.50 87.50 7.50 0.52534 - 12.50 87.50 12.50 0.610195 - 12.50 87.50 17.50 0.619436 - 12.50 87.50 22.50 0.495937 - 12.50 87.50 27.50 0.323799 - 12.50 87.50 32.50 0.200306 - 12.50 87.50 37.50 0.116873 - 12.50 87.50 42.50 0.0563672 - 12.50 87.50 47.50 0.0269071 - 12.50 87.50 52.50 0.0333851 - 12.50 87.50 57.50 0.0696181 - 12.50 87.50 62.50 0.131056 - 12.50 87.50 67.50 0.227339 - 12.50 87.50 72.50 0.383061 - 12.50 87.50 77.50 0.564788 - 12.50 87.50 82.50 0.571704 - 12.50 87.50 87.50 0.497721 - 12.50 87.50 92.50 0.512871 - 12.50 87.50 97.50 0.525341 - 12.50 87.50 102.50 0.610196 - 12.50 87.50 107.50 0.619437 - 12.50 87.50 112.50 0.495937 - 12.50 87.50 117.50 0.323799 - 12.50 87.50 122.50 0.200306 - 12.50 87.50 127.50 0.116873 - 12.50 87.50 132.50 0.0563672 - 12.50 87.50 137.50 0.0269071 - 12.50 87.50 142.50 0.0333851 - 12.50 87.50 147.50 0.069618 - 12.50 87.50 152.50 0.131056 - 12.50 87.50 157.50 0.227339 - 12.50 87.50 162.50 0.383061 - 12.50 87.50 167.50 0.564788 - 12.50 87.50 172.50 0.571704 - 12.50 87.50 177.50 0.497722 - 12.50 87.50 182.50 0.51287 - 12.50 87.50 187.50 0.525341 - 12.50 87.50 192.50 0.610196 - 12.50 87.50 197.50 0.619437 - 12.50 87.50 202.50 0.495937 - 12.50 87.50 207.50 0.323799 - 12.50 87.50 212.50 0.200306 - 12.50 87.50 217.50 0.116873 - 12.50 87.50 222.50 0.0563673 - 12.50 87.50 227.50 0.0269072 - 12.50 87.50 232.50 0.0333852 - 12.50 87.50 237.50 0.0696182 - 12.50 87.50 242.50 0.131056 - 12.50 87.50 247.50 0.227339 - 12.50 87.50 252.50 0.383061 - 12.50 87.50 257.50 0.564788 - 12.50 87.50 262.50 0.571703 - 12.50 87.50 267.50 0.497721 - 12.50 87.50 272.50 0.512872 - 12.50 87.50 277.50 0.52534 - 12.50 87.50 282.50 0.610196 - 12.50 87.50 287.50 0.619436 - 12.50 87.50 292.50 0.495937 - 12.50 87.50 297.50 0.323799 - 12.50 87.50 302.50 0.200306 - 12.50 87.50 307.50 0.116873 - 12.50 87.50 312.50 0.0563673 - 12.50 87.50 317.50 0.0269072 - 12.50 87.50 322.50 0.0333851 - 12.50 87.50 327.50 0.069618 - 12.50 87.50 332.50 0.131056 - 12.50 87.50 337.50 0.227339 - 12.50 87.50 342.50 0.38306 - 12.50 87.50 347.50 0.564788 - 12.50 87.50 352.50 0.571704 - 12.50 87.50 357.50 0.497722 - 12.50 92.50 2.50 0.393272 - 12.50 92.50 7.50 0.382022 - 12.50 92.50 12.50 0.429837 - 12.50 92.50 17.50 0.422612 - 12.50 92.50 22.50 0.335764 - 12.50 92.50 27.50 0.232885 - 12.50 92.50 32.50 0.164812 - 12.50 92.50 37.50 0.110206 - 12.50 92.50 42.50 0.0566768 - 12.50 92.50 47.50 0.0326857 - 12.50 92.50 52.50 0.0566768 - 12.50 92.50 57.50 0.110206 - 12.50 92.50 62.50 0.164812 - 12.50 92.50 67.50 0.232885 - 12.50 92.50 72.50 0.335764 - 12.50 92.50 77.50 0.422612 - 12.50 92.50 82.50 0.429837 - 12.50 92.50 87.50 0.382022 - 12.50 92.50 92.50 0.393272 - 12.50 92.50 97.50 0.382022 - 12.50 92.50 102.50 0.429837 - 12.50 92.50 107.50 0.422612 - 12.50 92.50 112.50 0.335764 - 12.50 92.50 117.50 0.232885 - 12.50 92.50 122.50 0.164812 - 12.50 92.50 127.50 0.110205 - 12.50 92.50 132.50 0.0566768 - 12.50 92.50 137.50 0.0326857 - 12.50 92.50 142.50 0.0566768 - 12.50 92.50 147.50 0.110206 - 12.50 92.50 152.50 0.164812 - 12.50 92.50 157.50 0.232885 - 12.50 92.50 162.50 0.335764 - 12.50 92.50 167.50 0.422612 - 12.50 92.50 172.50 0.429838 - 12.50 92.50 177.50 0.382022 - 12.50 92.50 182.50 0.393272 - 12.50 92.50 187.50 0.382023 - 12.50 92.50 192.50 0.429838 - 12.50 92.50 197.50 0.422612 - 12.50 92.50 202.50 0.335765 - 12.50 92.50 207.50 0.232885 - 12.50 92.50 212.50 0.164812 - 12.50 92.50 217.50 0.110206 - 12.50 92.50 222.50 0.0566768 - 12.50 92.50 227.50 0.0326857 - 12.50 92.50 232.50 0.0566769 - 12.50 92.50 237.50 0.110206 - 12.50 92.50 242.50 0.164812 - 12.50 92.50 247.50 0.232886 - 12.50 92.50 252.50 0.335765 - 12.50 92.50 257.50 0.422612 - 12.50 92.50 262.50 0.429837 - 12.50 92.50 267.50 0.382023 - 12.50 92.50 272.50 0.393273 - 12.50 92.50 277.50 0.382023 - 12.50 92.50 282.50 0.429837 - 12.50 92.50 287.50 0.422612 - 12.50 92.50 292.50 0.335765 - 12.50 92.50 297.50 0.232885 - 12.50 92.50 302.50 0.164812 - 12.50 92.50 307.50 0.110206 - 12.50 92.50 312.50 0.0566768 - 12.50 92.50 317.50 0.0326857 - 12.50 92.50 322.50 0.0566767 - 12.50 92.50 327.50 0.110206 - 12.50 92.50 332.50 0.164812 - 12.50 92.50 337.50 0.232885 - 12.50 92.50 342.50 0.335764 - 12.50 92.50 347.50 0.422612 - 12.50 92.50 352.50 0.429837 - 12.50 92.50 357.50 0.382023 - 12.50 97.50 2.50 0.512873 - 12.50 97.50 7.50 0.497722 - 12.50 97.50 12.50 0.571704 - 12.50 97.50 17.50 0.564787 - 12.50 97.50 22.50 0.38306 - 12.50 97.50 27.50 0.227339 - 12.50 97.50 32.50 0.131056 - 12.50 97.50 37.50 0.069618 - 12.50 97.50 42.50 0.0333851 - 12.50 97.50 47.50 0.0269072 - 12.50 97.50 52.50 0.0563672 - 12.50 97.50 57.50 0.116873 - 12.50 97.50 62.50 0.200306 - 12.50 97.50 67.50 0.323799 - 12.50 97.50 72.50 0.495937 - 12.50 97.50 77.50 0.619436 - 12.50 97.50 82.50 0.610196 - 12.50 97.50 87.50 0.52534 - 12.50 97.50 92.50 0.512873 - 12.50 97.50 97.50 0.497721 - 12.50 97.50 102.50 0.571704 - 12.50 97.50 107.50 0.564787 - 12.50 97.50 112.50 0.383061 - 12.50 97.50 117.50 0.227339 - 12.50 97.50 122.50 0.131056 - 12.50 97.50 127.50 0.069618 - 12.50 97.50 132.50 0.0333851 - 12.50 97.50 137.50 0.0269072 - 12.50 97.50 142.50 0.0563672 - 12.50 97.50 147.50 0.116873 - 12.50 97.50 152.50 0.200306 - 12.50 97.50 157.50 0.323799 - 12.50 97.50 162.50 0.495937 - 12.50 97.50 167.50 0.619436 - 12.50 97.50 172.50 0.610196 - 12.50 97.50 177.50 0.52534 - 12.50 97.50 182.50 0.512874 - 12.50 97.50 187.50 0.497722 - 12.50 97.50 192.50 0.571704 - 12.50 97.50 197.50 0.564788 - 12.50 97.50 202.50 0.383061 - 12.50 97.50 207.50 0.227339 - 12.50 97.50 212.50 0.131056 - 12.50 97.50 217.50 0.0696181 - 12.50 97.50 222.50 0.0333851 - 12.50 97.50 227.50 0.0269071 - 12.50 97.50 232.50 0.0563673 - 12.50 97.50 237.50 0.116873 - 12.50 97.50 242.50 0.200306 - 12.50 97.50 247.50 0.323799 - 12.50 97.50 252.50 0.495938 - 12.50 97.50 257.50 0.619437 - 12.50 97.50 262.50 0.610195 - 12.50 97.50 267.50 0.525341 - 12.50 97.50 272.50 0.512873 - 12.50 97.50 277.50 0.497722 - 12.50 97.50 282.50 0.571704 - 12.50 97.50 287.50 0.564788 - 12.50 97.50 292.50 0.383061 - 12.50 97.50 297.50 0.227339 - 12.50 97.50 302.50 0.131056 - 12.50 97.50 307.50 0.0696181 - 12.50 97.50 312.50 0.0333851 - 12.50 97.50 317.50 0.0269072 - 12.50 97.50 322.50 0.0563671 - 12.50 97.50 327.50 0.116872 - 12.50 97.50 332.50 0.200306 - 12.50 97.50 337.50 0.323799 - 12.50 97.50 342.50 0.495937 - 12.50 97.50 347.50 0.619437 - 12.50 97.50 352.50 0.610196 - 12.50 97.50 357.50 0.525341 - 12.50 102.50 2.50 0.748317 - 12.50 102.50 7.50 0.746945 - 12.50 102.50 12.50 0.660447 - 12.50 102.50 17.50 0.560353 - 12.50 102.50 22.50 0.448152 - 12.50 102.50 27.50 0.280425 - 12.50 102.50 32.50 0.134886 - 12.50 102.50 37.50 0.048819 - 12.50 102.50 42.50 0.0214686 - 12.50 102.50 47.50 0.0303563 - 12.50 102.50 52.50 0.0765614 - 12.50 102.50 57.50 0.179141 - 12.50 102.50 62.50 0.364651 - 12.50 102.50 67.50 0.602202 - 12.50 102.50 72.50 0.87596 - 12.50 102.50 77.50 1.07335 - 12.50 102.50 82.50 1.00203 - 12.50 102.50 87.50 0.876766 - 12.50 102.50 92.50 0.748317 - 12.50 102.50 97.50 0.746945 - 12.50 102.50 102.50 0.660447 - 12.50 102.50 107.50 0.560353 - 12.50 102.50 112.50 0.448151 - 12.50 102.50 117.50 0.280425 - 12.50 102.50 122.50 0.134886 - 12.50 102.50 127.50 0.048819 - 12.50 102.50 132.50 0.0214686 - 12.50 102.50 137.50 0.0303563 - 12.50 102.50 142.50 0.0765614 - 12.50 102.50 147.50 0.17914 - 12.50 102.50 152.50 0.36465 - 12.50 102.50 157.50 0.602202 - 12.50 102.50 162.50 0.87596 - 12.50 102.50 167.50 1.07335 - 12.50 102.50 172.50 1.00203 - 12.50 102.50 177.50 0.876766 - 12.50 102.50 182.50 0.748317 - 12.50 102.50 187.50 0.746945 - 12.50 102.50 192.50 0.660447 - 12.50 102.50 197.50 0.560353 - 12.50 102.50 202.50 0.448151 - 12.50 102.50 207.50 0.280425 - 12.50 102.50 212.50 0.134886 - 12.50 102.50 217.50 0.048819 - 12.50 102.50 222.50 0.0214686 - 12.50 102.50 227.50 0.0303563 - 12.50 102.50 232.50 0.0765615 - 12.50 102.50 237.50 0.179141 - 12.50 102.50 242.50 0.36465 - 12.50 102.50 247.50 0.602203 - 12.50 102.50 252.50 0.875961 - 12.50 102.50 257.50 1.07335 - 12.50 102.50 262.50 1.00203 - 12.50 102.50 267.50 0.876766 - 12.50 102.50 272.50 0.748317 - 12.50 102.50 277.50 0.746945 - 12.50 102.50 282.50 0.660447 - 12.50 102.50 287.50 0.560353 - 12.50 102.50 292.50 0.448152 - 12.50 102.50 297.50 0.280425 - 12.50 102.50 302.50 0.134886 - 12.50 102.50 307.50 0.0488191 - 12.50 102.50 312.50 0.0214686 - 12.50 102.50 317.50 0.0303563 - 12.50 102.50 322.50 0.0765612 - 12.50 102.50 327.50 0.17914 - 12.50 102.50 332.50 0.36465 - 12.50 102.50 337.50 0.602202 - 12.50 102.50 342.50 0.875959 - 12.50 102.50 347.50 1.07335 - 12.50 102.50 352.50 1.00203 - 12.50 102.50 357.50 0.876767 - 12.50 107.50 2.50 1.01248 - 12.50 107.50 7.50 0.91743 - 12.50 107.50 12.50 0.821513 - 12.50 107.50 17.50 0.62525 - 12.50 107.50 22.50 0.428224 - 12.50 107.50 27.50 0.268075 - 12.50 107.50 32.50 0.132119 - 12.50 107.50 37.50 0.0602605 - 12.50 107.50 42.50 0.0249284 - 12.50 107.50 47.50 0.037211 - 12.50 107.50 52.50 0.111409 - 12.50 107.50 57.50 0.307125 - 12.50 107.50 62.50 0.600699 - 12.50 107.50 67.50 0.98612 - 12.50 107.50 72.50 1.41792 - 12.50 107.50 77.50 1.65912 - 12.50 107.50 82.50 1.5055 - 12.50 107.50 87.50 1.2343 - 12.50 107.50 92.50 1.01248 - 12.50 107.50 97.50 0.91743 - 12.50 107.50 102.50 0.821513 - 12.50 107.50 107.50 0.625249 - 12.50 107.50 112.50 0.428224 - 12.50 107.50 117.50 0.268075 - 12.50 107.50 122.50 0.132119 - 12.50 107.50 127.50 0.0602604 - 12.50 107.50 132.50 0.0249285 - 12.50 107.50 137.50 0.037211 - 12.50 107.50 142.50 0.111409 - 12.50 107.50 147.50 0.307125 - 12.50 107.50 152.50 0.600698 - 12.50 107.50 157.50 0.986119 - 12.50 107.50 162.50 1.41792 - 12.50 107.50 167.50 1.65912 - 12.50 107.50 172.50 1.5055 - 12.50 107.50 177.50 1.2343 - 12.50 107.50 182.50 1.01248 - 12.50 107.50 187.50 0.91743 - 12.50 107.50 192.50 0.821514 - 12.50 107.50 197.50 0.62525 - 12.50 107.50 202.50 0.428224 - 12.50 107.50 207.50 0.268075 - 12.50 107.50 212.50 0.132119 - 12.50 107.50 217.50 0.0602605 - 12.50 107.50 222.50 0.0249284 - 12.50 107.50 227.50 0.0372109 - 12.50 107.50 232.50 0.111409 - 12.50 107.50 237.50 0.307125 - 12.50 107.50 242.50 0.600698 - 12.50 107.50 247.50 0.98612 - 12.50 107.50 252.50 1.41792 - 12.50 107.50 257.50 1.65912 - 12.50 107.50 262.50 1.5055 - 12.50 107.50 267.50 1.2343 - 12.50 107.50 272.50 1.01248 - 12.50 107.50 277.50 0.91743 - 12.50 107.50 282.50 0.821514 - 12.50 107.50 287.50 0.62525 - 12.50 107.50 292.50 0.428224 - 12.50 107.50 297.50 0.268075 - 12.50 107.50 302.50 0.132119 - 12.50 107.50 307.50 0.0602605 - 12.50 107.50 312.50 0.0249284 - 12.50 107.50 317.50 0.0372109 - 12.50 107.50 322.50 0.111409 - 12.50 107.50 327.50 0.307124 - 12.50 107.50 332.50 0.600697 - 12.50 107.50 337.50 0.986118 - 12.50 107.50 342.50 1.41792 - 12.50 107.50 347.50 1.65912 - 12.50 107.50 352.50 1.5055 - 12.50 107.50 357.50 1.2343 - 12.50 112.50 2.50 1.3146 - 12.50 112.50 7.50 1.16836 - 12.50 112.50 12.50 0.936391 - 12.50 112.50 17.50 0.68634 - 12.50 112.50 22.50 0.413102 - 12.50 112.50 27.50 0.257137 - 12.50 112.50 32.50 0.136687 - 12.50 112.50 37.50 0.0489955 - 12.50 112.50 42.50 0.0235675 - 12.50 112.50 47.50 0.0442931 - 12.50 112.50 52.50 0.153303 - 12.50 112.50 57.50 0.39063 - 12.50 112.50 62.50 0.798171 - 12.50 112.50 67.50 1.35854 - 12.50 112.50 72.50 1.95805 - 12.50 112.50 77.50 2.17321 - 12.50 112.50 82.50 2.07273 - 12.50 112.50 87.50 1.61508 - 12.50 112.50 92.50 1.3146 - 12.50 112.50 97.50 1.16836 - 12.50 112.50 102.50 0.936391 - 12.50 112.50 107.50 0.686339 - 12.50 112.50 112.50 0.413102 - 12.50 112.50 117.50 0.257137 - 12.50 112.50 122.50 0.136687 - 12.50 112.50 127.50 0.0489955 - 12.50 112.50 132.50 0.0235675 - 12.50 112.50 137.50 0.0442931 - 12.50 112.50 142.50 0.153302 - 12.50 112.50 147.50 0.39063 - 12.50 112.50 152.50 0.79817 - 12.50 112.50 157.50 1.35853 - 12.50 112.50 162.50 1.95804 - 12.50 112.50 167.50 2.17321 - 12.50 112.50 172.50 2.07273 - 12.50 112.50 177.50 1.61508 - 12.50 112.50 182.50 1.3146 - 12.50 112.50 187.50 1.16836 - 12.50 112.50 192.50 0.936391 - 12.50 112.50 197.50 0.686339 - 12.50 112.50 202.50 0.413102 - 12.50 112.50 207.50 0.257137 - 12.50 112.50 212.50 0.136687 - 12.50 112.50 217.50 0.0489956 - 12.50 112.50 222.50 0.0235675 - 12.50 112.50 227.50 0.044293 - 12.50 112.50 232.50 0.153303 - 12.50 112.50 237.50 0.39063 - 12.50 112.50 242.50 0.79817 - 12.50 112.50 247.50 1.35853 - 12.50 112.50 252.50 1.95805 - 12.50 112.50 257.50 2.17321 - 12.50 112.50 262.50 2.07273 - 12.50 112.50 267.50 1.61508 - 12.50 112.50 272.50 1.3146 - 12.50 112.50 277.50 1.16836 - 12.50 112.50 282.50 0.936391 - 12.50 112.50 287.50 0.68634 - 12.50 112.50 292.50 0.413102 - 12.50 112.50 297.50 0.257137 - 12.50 112.50 302.50 0.136687 - 12.50 112.50 307.50 0.0489956 - 12.50 112.50 312.50 0.0235675 - 12.50 112.50 317.50 0.044293 - 12.50 112.50 322.50 0.153302 - 12.50 112.50 327.50 0.390629 - 12.50 112.50 332.50 0.798169 - 12.50 112.50 337.50 1.35853 - 12.50 112.50 342.50 1.95804 - 12.50 112.50 347.50 2.17321 - 12.50 112.50 352.50 2.07273 - 12.50 112.50 357.50 1.61508 - 12.50 117.50 2.50 1.60321 - 12.50 117.50 7.50 1.3825 - 12.50 117.50 12.50 1.04917 - 12.50 117.50 17.50 0.720638 - 12.50 117.50 22.50 0.447433 - 12.50 117.50 27.50 0.221438 - 12.50 117.50 32.50 0.116185 - 12.50 117.50 37.50 0.050809 - 12.50 117.50 42.50 0.0218166 - 12.50 117.50 47.50 0.0498329 - 12.50 117.50 52.50 0.176852 - 12.50 117.50 57.50 0.466122 - 12.50 117.50 62.50 0.984819 - 12.50 117.50 67.50 1.71088 - 12.50 117.50 72.50 2.2456 - 12.50 117.50 77.50 2.47398 - 12.50 117.50 82.50 2.45028 - 12.50 117.50 87.50 2.02542 - 12.50 117.50 92.50 1.60321 - 12.50 117.50 97.50 1.3825 - 12.50 117.50 102.50 1.04917 - 12.50 117.50 107.50 0.720637 - 12.50 117.50 112.50 0.447432 - 12.50 117.50 117.50 0.221437 - 12.50 117.50 122.50 0.116185 - 12.50 117.50 127.50 0.0508089 - 12.50 117.50 132.50 0.0218166 - 12.50 117.50 137.50 0.0498329 - 12.50 117.50 142.50 0.176851 - 12.50 117.50 147.50 0.466121 - 12.50 117.50 152.50 0.984818 - 12.50 117.50 157.50 1.71088 - 12.50 117.50 162.50 2.2456 - 12.50 117.50 167.50 2.47398 - 12.50 117.50 172.50 2.45028 - 12.50 117.50 177.50 2.02542 - 12.50 117.50 182.50 1.60321 - 12.50 117.50 187.50 1.3825 - 12.50 117.50 192.50 1.04917 - 12.50 117.50 197.50 0.720638 - 12.50 117.50 202.50 0.447433 - 12.50 117.50 207.50 0.221438 - 12.50 117.50 212.50 0.116185 - 12.50 117.50 217.50 0.050809 - 12.50 117.50 222.50 0.0218166 - 12.50 117.50 227.50 0.0498327 - 12.50 117.50 232.50 0.176852 - 12.50 117.50 237.50 0.466122 - 12.50 117.50 242.50 0.984819 - 12.50 117.50 247.50 1.71088 - 12.50 117.50 252.50 2.2456 - 12.50 117.50 257.50 2.47398 - 12.50 117.50 262.50 2.45028 - 12.50 117.50 267.50 2.02542 - 12.50 117.50 272.50 1.60321 - 12.50 117.50 277.50 1.3825 - 12.50 117.50 282.50 1.04917 - 12.50 117.50 287.50 0.720638 - 12.50 117.50 292.50 0.447433 - 12.50 117.50 297.50 0.221438 - 12.50 117.50 302.50 0.116186 - 12.50 117.50 307.50 0.0508091 - 12.50 117.50 312.50 0.0218166 - 12.50 117.50 317.50 0.0498327 - 12.50 117.50 322.50 0.176851 - 12.50 117.50 327.50 0.46612 - 12.50 117.50 332.50 0.984816 - 12.50 117.50 337.50 1.71088 - 12.50 117.50 342.50 2.2456 - 12.50 117.50 347.50 2.47398 - 12.50 117.50 352.50 2.45028 - 12.50 117.50 357.50 2.02542 - 12.50 122.50 2.50 1.86338 - 12.50 122.50 7.50 1.56995 - 12.50 122.50 12.50 1.22202 - 12.50 122.50 17.50 0.837216 - 12.50 122.50 22.50 0.528728 - 12.50 122.50 27.50 0.273299 - 12.50 122.50 32.50 0.127603 - 12.50 122.50 37.50 0.056377 - 12.50 122.50 42.50 0.023734 - 12.50 122.50 47.50 0.0377003 - 12.50 122.50 52.50 0.162803 - 12.50 122.50 57.50 0.513419 - 12.50 122.50 62.50 1.14071 - 12.50 122.50 67.50 1.87162 - 12.50 122.50 72.50 2.44214 - 12.50 122.50 77.50 2.69226 - 12.50 122.50 82.50 2.81722 - 12.50 122.50 87.50 2.35633 - 12.50 122.50 92.50 1.86338 - 12.50 122.50 97.50 1.56995 - 12.50 122.50 102.50 1.22202 - 12.50 122.50 107.50 0.837216 - 12.50 122.50 112.50 0.528728 - 12.50 122.50 117.50 0.273299 - 12.50 122.50 122.50 0.127603 - 12.50 122.50 127.50 0.056377 - 12.50 122.50 132.50 0.023734 - 12.50 122.50 137.50 0.0377003 - 12.50 122.50 142.50 0.162803 - 12.50 122.50 147.50 0.513418 - 12.50 122.50 152.50 1.14071 - 12.50 122.50 157.50 1.87162 - 12.50 122.50 162.50 2.44214 - 12.50 122.50 167.50 2.69226 - 12.50 122.50 172.50 2.81722 - 12.50 122.50 177.50 2.35633 - 12.50 122.50 182.50 1.86337 - 12.50 122.50 187.50 1.56995 - 12.50 122.50 192.50 1.22202 - 12.50 122.50 197.50 0.837216 - 12.50 122.50 202.50 0.528727 - 12.50 122.50 207.50 0.273299 - 12.50 122.50 212.50 0.127603 - 12.50 122.50 217.50 0.0563771 - 12.50 122.50 222.50 0.023734 - 12.50 122.50 227.50 0.0377002 - 12.50 122.50 232.50 0.162803 - 12.50 122.50 237.50 0.513419 - 12.50 122.50 242.50 1.14071 - 12.50 122.50 247.50 1.87162 - 12.50 122.50 252.50 2.44214 - 12.50 122.50 257.50 2.69226 - 12.50 122.50 262.50 2.81722 - 12.50 122.50 267.50 2.35633 - 12.50 122.50 272.50 1.86338 - 12.50 122.50 277.50 1.56995 - 12.50 122.50 282.50 1.22202 - 12.50 122.50 287.50 0.837216 - 12.50 122.50 292.50 0.528728 - 12.50 122.50 297.50 0.2733 - 12.50 122.50 302.50 0.127603 - 12.50 122.50 307.50 0.0563771 - 12.50 122.50 312.50 0.023734 - 12.50 122.50 317.50 0.0377002 - 12.50 122.50 322.50 0.162802 - 12.50 122.50 327.50 0.513417 - 12.50 122.50 332.50 1.14071 - 12.50 122.50 337.50 1.87162 - 12.50 122.50 342.50 2.44213 - 12.50 122.50 347.50 2.69226 - 12.50 122.50 352.50 2.81722 - 12.50 122.50 357.50 2.35633 - 12.50 127.50 2.50 2.17935 - 12.50 127.50 7.50 1.80721 - 12.50 127.50 12.50 1.47076 - 12.50 127.50 17.50 1.05549 - 12.50 127.50 22.50 0.650024 - 12.50 127.50 27.50 0.348999 - 12.50 127.50 32.50 0.162979 - 12.50 127.50 37.50 0.0742197 - 12.50 127.50 42.50 0.0333968 - 12.50 127.50 47.50 0.0493125 - 12.50 127.50 52.50 0.150861 - 12.50 127.50 57.50 0.461796 - 12.50 127.50 62.50 1.06828 - 12.50 127.50 67.50 1.8291 - 12.50 127.50 72.50 2.41409 - 12.50 127.50 77.50 2.89175 - 12.50 127.50 82.50 3.142 - 12.50 127.50 87.50 2.68301 - 12.50 127.50 92.50 2.17935 - 12.50 127.50 97.50 1.8072 - 12.50 127.50 102.50 1.47076 - 12.50 127.50 107.50 1.05549 - 12.50 127.50 112.50 0.650024 - 12.50 127.50 117.50 0.348999 - 12.50 127.50 122.50 0.162979 - 12.50 127.50 127.50 0.0742197 - 12.50 127.50 132.50 0.0333968 - 12.50 127.50 137.50 0.0493124 - 12.50 127.50 142.50 0.150861 - 12.50 127.50 147.50 0.461796 - 12.50 127.50 152.50 1.06827 - 12.50 127.50 157.50 1.8291 - 12.50 127.50 162.50 2.41409 - 12.50 127.50 167.50 2.89175 - 12.50 127.50 172.50 3.142 - 12.50 127.50 177.50 2.68301 - 12.50 127.50 182.50 2.17935 - 12.50 127.50 187.50 1.8072 - 12.50 127.50 192.50 1.47076 - 12.50 127.50 197.50 1.05549 - 12.50 127.50 202.50 0.650024 - 12.50 127.50 207.50 0.348999 - 12.50 127.50 212.50 0.162979 - 12.50 127.50 217.50 0.0742197 - 12.50 127.50 222.50 0.0333968 - 12.50 127.50 227.50 0.0493123 - 12.50 127.50 232.50 0.150861 - 12.50 127.50 237.50 0.461796 - 12.50 127.50 242.50 1.06828 - 12.50 127.50 247.50 1.8291 - 12.50 127.50 252.50 2.41409 - 12.50 127.50 257.50 2.89175 - 12.50 127.50 262.50 3.142 - 12.50 127.50 267.50 2.68301 - 12.50 127.50 272.50 2.17935 - 12.50 127.50 277.50 1.80721 - 12.50 127.50 282.50 1.47076 - 12.50 127.50 287.50 1.05549 - 12.50 127.50 292.50 0.650024 - 12.50 127.50 297.50 0.349 - 12.50 127.50 302.50 0.162979 - 12.50 127.50 307.50 0.0742198 - 12.50 127.50 312.50 0.0333968 - 12.50 127.50 317.50 0.0493123 - 12.50 127.50 322.50 0.150861 - 12.50 127.50 327.50 0.461795 - 12.50 127.50 332.50 1.06827 - 12.50 127.50 337.50 1.82909 - 12.50 127.50 342.50 2.41409 - 12.50 127.50 347.50 2.89175 - 12.50 127.50 352.50 3.142 - 12.50 127.50 357.50 2.68301 - 12.50 132.50 2.50 2.49553 - 12.50 132.50 7.50 2.05578 - 12.50 132.50 12.50 1.72614 - 12.50 132.50 17.50 1.23847 - 12.50 132.50 22.50 0.753955 - 12.50 132.50 27.50 0.392732 - 12.50 132.50 32.50 0.165767 - 12.50 132.50 37.50 0.0917995 - 12.50 132.50 42.50 0.0464114 - 12.50 132.50 47.50 0.0466049 - 12.50 132.50 52.50 0.144797 - 12.50 132.50 57.50 0.391492 - 12.50 132.50 62.50 0.815127 - 12.50 132.50 67.50 1.51786 - 12.50 132.50 72.50 2.18842 - 12.50 132.50 77.50 2.87826 - 12.50 132.50 82.50 3.21772 - 12.50 132.50 87.50 2.94319 - 12.50 132.50 92.50 2.49553 - 12.50 132.50 97.50 2.05578 - 12.50 132.50 102.50 1.72614 - 12.50 132.50 107.50 1.23847 - 12.50 132.50 112.50 0.753955 - 12.50 132.50 117.50 0.392732 - 12.50 132.50 122.50 0.165767 - 12.50 132.50 127.50 0.0917995 - 12.50 132.50 132.50 0.0464114 - 12.50 132.50 137.50 0.0466048 - 12.50 132.50 142.50 0.144797 - 12.50 132.50 147.50 0.391492 - 12.50 132.50 152.50 0.815126 - 12.50 132.50 157.50 1.51786 - 12.50 132.50 162.50 2.18842 - 12.50 132.50 167.50 2.87826 - 12.50 132.50 172.50 3.21771 - 12.50 132.50 177.50 2.94319 - 12.50 132.50 182.50 2.49553 - 12.50 132.50 187.50 2.05578 - 12.50 132.50 192.50 1.72614 - 12.50 132.50 197.50 1.23847 - 12.50 132.50 202.50 0.753955 - 12.50 132.50 207.50 0.392732 - 12.50 132.50 212.50 0.165767 - 12.50 132.50 217.50 0.0917994 - 12.50 132.50 222.50 0.0464114 - 12.50 132.50 227.50 0.0466047 - 12.50 132.50 232.50 0.144797 - 12.50 132.50 237.50 0.391493 - 12.50 132.50 242.50 0.815127 - 12.50 132.50 247.50 1.51786 - 12.50 132.50 252.50 2.18842 - 12.50 132.50 257.50 2.87826 - 12.50 132.50 262.50 3.21772 - 12.50 132.50 267.50 2.94319 - 12.50 132.50 272.50 2.49553 - 12.50 132.50 277.50 2.05578 - 12.50 132.50 282.50 1.72614 - 12.50 132.50 287.50 1.23847 - 12.50 132.50 292.50 0.753955 - 12.50 132.50 297.50 0.392732 - 12.50 132.50 302.50 0.165767 - 12.50 132.50 307.50 0.0917995 - 12.50 132.50 312.50 0.0464114 - 12.50 132.50 317.50 0.0466047 - 12.50 132.50 322.50 0.144797 - 12.50 132.50 327.50 0.391492 - 12.50 132.50 332.50 0.815124 - 12.50 132.50 337.50 1.51786 - 12.50 132.50 342.50 2.18842 - 12.50 132.50 347.50 2.87825 - 12.50 132.50 352.50 3.21772 - 12.50 132.50 357.50 2.94319 - 12.50 137.50 2.50 2.62872 - 12.50 137.50 7.50 2.27301 - 12.50 137.50 12.50 1.92049 - 12.50 137.50 17.50 1.38669 - 12.50 137.50 22.50 0.811877 - 12.50 137.50 27.50 0.390396 - 12.50 137.50 32.50 0.175949 - 12.50 137.50 37.50 0.0798341 - 12.50 137.50 42.50 0.0370031 - 12.50 137.50 47.50 0.046165 - 12.50 137.50 52.50 0.102518 - 12.50 137.50 57.50 0.257133 - 12.50 137.50 62.50 0.578411 - 12.50 137.50 67.50 1.11737 - 12.50 137.50 72.50 1.86442 - 12.50 137.50 77.50 2.53676 - 12.50 137.50 82.50 2.93874 - 12.50 137.50 87.50 2.92708 - 12.50 137.50 92.50 2.62872 - 12.50 137.50 97.50 2.273 - 12.50 137.50 102.50 1.92049 - 12.50 137.50 107.50 1.38669 - 12.50 137.50 112.50 0.811877 - 12.50 137.50 117.50 0.390396 - 12.50 137.50 122.50 0.175949 - 12.50 137.50 127.50 0.079834 - 12.50 137.50 132.50 0.0370031 - 12.50 137.50 137.50 0.046165 - 12.50 137.50 142.50 0.102518 - 12.50 137.50 147.50 0.257133 - 12.50 137.50 152.50 0.57841 - 12.50 137.50 157.50 1.11737 - 12.50 137.50 162.50 1.86442 - 12.50 137.50 167.50 2.53676 - 12.50 137.50 172.50 2.93873 - 12.50 137.50 177.50 2.92708 - 12.50 137.50 182.50 2.62872 - 12.50 137.50 187.50 2.273 - 12.50 137.50 192.50 1.92049 - 12.50 137.50 197.50 1.38669 - 12.50 137.50 202.50 0.811877 - 12.50 137.50 207.50 0.390397 - 12.50 137.50 212.50 0.175949 - 12.50 137.50 217.50 0.0798341 - 12.50 137.50 222.50 0.0370031 - 12.50 137.50 227.50 0.0461649 - 12.50 137.50 232.50 0.102518 - 12.50 137.50 237.50 0.257133 - 12.50 137.50 242.50 0.578411 - 12.50 137.50 247.50 1.11737 - 12.50 137.50 252.50 1.86442 - 12.50 137.50 257.50 2.53676 - 12.50 137.50 262.50 2.93874 - 12.50 137.50 267.50 2.92708 - 12.50 137.50 272.50 2.62872 - 12.50 137.50 277.50 2.273 - 12.50 137.50 282.50 1.92049 - 12.50 137.50 287.50 1.38669 - 12.50 137.50 292.50 0.811877 - 12.50 137.50 297.50 0.390397 - 12.50 137.50 302.50 0.175949 - 12.50 137.50 307.50 0.0798342 - 12.50 137.50 312.50 0.0370031 - 12.50 137.50 317.50 0.0461649 - 12.50 137.50 322.50 0.102518 - 12.50 137.50 327.50 0.257132 - 12.50 137.50 332.50 0.578409 - 12.50 137.50 337.50 1.11737 - 12.50 137.50 342.50 1.86442 - 12.50 137.50 347.50 2.53676 - 12.50 137.50 352.50 2.93873 - 12.50 137.50 357.50 2.92708 - 12.50 142.50 2.50 2.49553 - 12.50 142.50 7.50 2.365 - 12.50 142.50 12.50 2.04755 - 12.50 142.50 17.50 1.47636 - 12.50 142.50 22.50 0.837116 - 12.50 142.50 27.50 0.389938 - 12.50 142.50 32.50 0.153384 - 12.50 142.50 37.50 0.0649629 - 12.50 142.50 42.50 0.029337 - 12.50 142.50 47.50 0.024078 - 12.50 142.50 52.50 0.0544544 - 12.50 142.50 57.50 0.131228 - 12.50 142.50 62.50 0.347488 - 12.50 142.50 67.50 0.761165 - 12.50 142.50 72.50 1.32266 - 12.50 142.50 77.50 1.93565 - 12.50 142.50 82.50 2.38862 - 12.50 142.50 87.50 2.5511 - 12.50 142.50 92.50 2.49553 - 12.50 142.50 97.50 2.365 - 12.50 142.50 102.50 2.04755 - 12.50 142.50 107.50 1.47636 - 12.50 142.50 112.50 0.837115 - 12.50 142.50 117.50 0.389938 - 12.50 142.50 122.50 0.153384 - 12.50 142.50 127.50 0.0649629 - 12.50 142.50 132.50 0.029337 - 12.50 142.50 137.50 0.024078 - 12.50 142.50 142.50 0.0544544 - 12.50 142.50 147.50 0.131228 - 12.50 142.50 152.50 0.347488 - 12.50 142.50 157.50 0.761164 - 12.50 142.50 162.50 1.32266 - 12.50 142.50 167.50 1.93565 - 12.50 142.50 172.50 2.38862 - 12.50 142.50 177.50 2.5511 - 12.50 142.50 182.50 2.49553 - 12.50 142.50 187.50 2.365 - 12.50 142.50 192.50 2.04755 - 12.50 142.50 197.50 1.47636 - 12.50 142.50 202.50 0.837115 - 12.50 142.50 207.50 0.389938 - 12.50 142.50 212.50 0.153384 - 12.50 142.50 217.50 0.0649629 - 12.50 142.50 222.50 0.029337 - 12.50 142.50 227.50 0.0240779 - 12.50 142.50 232.50 0.0544544 - 12.50 142.50 237.50 0.131228 - 12.50 142.50 242.50 0.347488 - 12.50 142.50 247.50 0.761165 - 12.50 142.50 252.50 1.32266 - 12.50 142.50 257.50 1.93565 - 12.50 142.50 262.50 2.38862 - 12.50 142.50 267.50 2.5511 - 12.50 142.50 272.50 2.49553 - 12.50 142.50 277.50 2.365 - 12.50 142.50 282.50 2.04755 - 12.50 142.50 287.50 1.47636 - 12.50 142.50 292.50 0.837116 - 12.50 142.50 297.50 0.389938 - 12.50 142.50 302.50 0.153384 - 12.50 142.50 307.50 0.0649629 - 12.50 142.50 312.50 0.029337 - 12.50 142.50 317.50 0.0240779 - 12.50 142.50 322.50 0.0544542 - 12.50 142.50 327.50 0.131228 - 12.50 142.50 332.50 0.347487 - 12.50 142.50 337.50 0.761163 - 12.50 142.50 342.50 1.32266 - 12.50 142.50 347.50 1.93565 - 12.50 142.50 352.50 2.38862 - 12.50 142.50 357.50 2.5511 - 12.50 147.50 2.50 2.17935 - 12.50 147.50 7.50 2.25355 - 12.50 147.50 12.50 2.04186 - 12.50 147.50 17.50 1.47645 - 12.50 147.50 22.50 0.831755 - 12.50 147.50 27.50 0.368096 - 12.50 147.50 32.50 0.142297 - 12.50 147.50 37.50 0.0559941 - 12.50 147.50 42.50 0.0225164 - 12.50 147.50 47.50 0.0128106 - 12.50 147.50 52.50 0.0189671 - 12.50 147.50 57.50 0.0562324 - 12.50 147.50 62.50 0.176797 - 12.50 147.50 67.50 0.419196 - 12.50 147.50 72.50 0.808453 - 12.50 147.50 77.50 1.31861 - 12.50 147.50 82.50 1.73793 - 12.50 147.50 87.50 2.00917 - 12.50 147.50 92.50 2.17935 - 12.50 147.50 97.50 2.25355 - 12.50 147.50 102.50 2.04186 - 12.50 147.50 107.50 1.47645 - 12.50 147.50 112.50 0.831755 - 12.50 147.50 117.50 0.368096 - 12.50 147.50 122.50 0.142296 - 12.50 147.50 127.50 0.0559941 - 12.50 147.50 132.50 0.0225164 - 12.50 147.50 137.50 0.0128106 - 12.50 147.50 142.50 0.0189671 - 12.50 147.50 147.50 0.0562324 - 12.50 147.50 152.50 0.176797 - 12.50 147.50 157.50 0.419195 - 12.50 147.50 162.50 0.808453 - 12.50 147.50 167.50 1.31861 - 12.50 147.50 172.50 1.73793 - 12.50 147.50 177.50 2.00916 - 12.50 147.50 182.50 2.17935 - 12.50 147.50 187.50 2.25355 - 12.50 147.50 192.50 2.04186 - 12.50 147.50 197.50 1.47645 - 12.50 147.50 202.50 0.831754 - 12.50 147.50 207.50 0.368096 - 12.50 147.50 212.50 0.142297 - 12.50 147.50 217.50 0.0559942 - 12.50 147.50 222.50 0.0225164 - 12.50 147.50 227.50 0.0128106 - 12.50 147.50 232.50 0.0189671 - 12.50 147.50 237.50 0.0562324 - 12.50 147.50 242.50 0.176797 - 12.50 147.50 247.50 0.419196 - 12.50 147.50 252.50 0.808453 - 12.50 147.50 257.50 1.31861 - 12.50 147.50 262.50 1.73793 - 12.50 147.50 267.50 2.00916 - 12.50 147.50 272.50 2.17935 - 12.50 147.50 277.50 2.25355 - 12.50 147.50 282.50 2.04186 - 12.50 147.50 287.50 1.47645 - 12.50 147.50 292.50 0.831755 - 12.50 147.50 297.50 0.368096 - 12.50 147.50 302.50 0.142297 - 12.50 147.50 307.50 0.0559942 - 12.50 147.50 312.50 0.0225164 - 12.50 147.50 317.50 0.0128106 - 12.50 147.50 322.50 0.0189671 - 12.50 147.50 327.50 0.0562322 - 12.50 147.50 332.50 0.176797 - 12.50 147.50 337.50 0.419195 - 12.50 147.50 342.50 0.808452 - 12.50 147.50 347.50 1.31861 - 12.50 147.50 352.50 1.73793 - 12.50 147.50 357.50 2.00916 - 12.50 152.50 2.50 1.86338 - 12.50 152.50 7.50 2.05966 - 12.50 152.50 12.50 1.95496 - 12.50 152.50 17.50 1.49025 - 12.50 152.50 22.50 0.854601 - 12.50 152.50 27.50 0.375537 - 12.50 152.50 32.50 0.148019 - 12.50 152.50 37.50 0.0522474 - 12.50 152.50 42.50 0.0191531 - 12.50 152.50 47.50 0.00789954 - 12.50 152.50 52.50 0.00774665 - 12.50 152.50 57.50 0.0282593 - 12.50 152.50 62.50 0.0934187 - 12.50 152.50 67.50 0.222835 - 12.50 152.50 72.50 0.491083 - 12.50 152.50 77.50 0.811062 - 12.50 152.50 82.50 1.20728 - 12.50 152.50 87.50 1.53807 - 12.50 152.50 92.50 1.86338 - 12.50 152.50 97.50 2.05967 - 12.50 152.50 102.50 1.95496 - 12.50 152.50 107.50 1.49025 - 12.50 152.50 112.50 0.854601 - 12.50 152.50 117.50 0.375537 - 12.50 152.50 122.50 0.148019 - 12.50 152.50 127.50 0.0522474 - 12.50 152.50 132.50 0.0191531 - 12.50 152.50 137.50 0.00789954 - 12.50 152.50 142.50 0.00774666 - 12.50 152.50 147.50 0.0282593 - 12.50 152.50 152.50 0.0934185 - 12.50 152.50 157.50 0.222834 - 12.50 152.50 162.50 0.491083 - 12.50 152.50 167.50 0.811061 - 12.50 152.50 172.50 1.20728 - 12.50 152.50 177.50 1.53807 - 12.50 152.50 182.50 1.86338 - 12.50 152.50 187.50 2.05967 - 12.50 152.50 192.50 1.95496 - 12.50 152.50 197.50 1.49025 - 12.50 152.50 202.50 0.854601 - 12.50 152.50 207.50 0.375537 - 12.50 152.50 212.50 0.148019 - 12.50 152.50 217.50 0.0522474 - 12.50 152.50 222.50 0.0191531 - 12.50 152.50 227.50 0.00789954 - 12.50 152.50 232.50 0.00774666 - 12.50 152.50 237.50 0.0282593 - 12.50 152.50 242.50 0.0934186 - 12.50 152.50 247.50 0.222835 - 12.50 152.50 252.50 0.491083 - 12.50 152.50 257.50 0.811062 - 12.50 152.50 262.50 1.20728 - 12.50 152.50 267.50 1.53807 - 12.50 152.50 272.50 1.86337 - 12.50 152.50 277.50 2.05966 - 12.50 152.50 282.50 1.95496 - 12.50 152.50 287.50 1.49025 - 12.50 152.50 292.50 0.854601 - 12.50 152.50 297.50 0.375538 - 12.50 152.50 302.50 0.14802 - 12.50 152.50 307.50 0.0522474 - 12.50 152.50 312.50 0.0191531 - 12.50 152.50 317.50 0.00789954 - 12.50 152.50 322.50 0.00774662 - 12.50 152.50 327.50 0.0282593 - 12.50 152.50 332.50 0.0934183 - 12.50 152.50 337.50 0.222834 - 12.50 152.50 342.50 0.491082 - 12.50 152.50 347.50 0.81106 - 12.50 152.50 352.50 1.20728 - 12.50 152.50 357.50 1.53807 - 12.50 157.50 2.50 1.60321 - 12.50 157.50 7.50 1.87144 - 12.50 157.50 12.50 1.86661 - 12.50 157.50 17.50 1.50905 - 12.50 157.50 22.50 0.938178 - 12.50 157.50 27.50 0.445844 - 12.50 157.50 32.50 0.156997 - 12.50 157.50 37.50 0.0533851 - 12.50 157.50 42.50 0.0213612 - 12.50 157.50 47.50 0.00983796 - 12.50 157.50 52.50 0.0165517 - 12.50 157.50 57.50 0.0319783 - 12.50 157.50 62.50 0.0627274 - 12.50 157.50 67.50 0.156276 - 12.50 157.50 72.50 0.301741 - 12.50 157.50 77.50 0.524928 - 12.50 157.50 82.50 0.836843 - 12.50 157.50 87.50 1.19282 - 12.50 157.50 92.50 1.60321 - 12.50 157.50 97.50 1.87144 - 12.50 157.50 102.50 1.86661 - 12.50 157.50 107.50 1.50905 - 12.50 157.50 112.50 0.938177 - 12.50 157.50 117.50 0.445843 - 12.50 157.50 122.50 0.156996 - 12.50 157.50 127.50 0.0533851 - 12.50 157.50 132.50 0.0213612 - 12.50 157.50 137.50 0.00983796 - 12.50 157.50 142.50 0.0165516 - 12.50 157.50 147.50 0.0319783 - 12.50 157.50 152.50 0.0627273 - 12.50 157.50 157.50 0.156275 - 12.50 157.50 162.50 0.301741 - 12.50 157.50 167.50 0.524928 - 12.50 157.50 172.50 0.836844 - 12.50 157.50 177.50 1.19282 - 12.50 157.50 182.50 1.60321 - 12.50 157.50 187.50 1.87144 - 12.50 157.50 192.50 1.86661 - 12.50 157.50 197.50 1.50905 - 12.50 157.50 202.50 0.938177 - 12.50 157.50 207.50 0.445844 - 12.50 157.50 212.50 0.156997 - 12.50 157.50 217.50 0.0533851 - 12.50 157.50 222.50 0.0213612 - 12.50 157.50 227.50 0.00983796 - 12.50 157.50 232.50 0.0165517 - 12.50 157.50 237.50 0.0319783 - 12.50 157.50 242.50 0.0627274 - 12.50 157.50 247.50 0.156276 - 12.50 157.50 252.50 0.301741 - 12.50 157.50 257.50 0.524928 - 12.50 157.50 262.50 0.836844 - 12.50 157.50 267.50 1.19283 - 12.50 157.50 272.50 1.60321 - 12.50 157.50 277.50 1.87144 - 12.50 157.50 282.50 1.86661 - 12.50 157.50 287.50 1.50905 - 12.50 157.50 292.50 0.938178 - 12.50 157.50 297.50 0.445844 - 12.50 157.50 302.50 0.156997 - 12.50 157.50 307.50 0.0533852 - 12.50 157.50 312.50 0.0213612 - 12.50 157.50 317.50 0.00983796 - 12.50 157.50 322.50 0.0165516 - 12.50 157.50 327.50 0.0319782 - 12.50 157.50 332.50 0.0627271 - 12.50 157.50 337.50 0.156275 - 12.50 157.50 342.50 0.30174 - 12.50 157.50 347.50 0.524927 - 12.50 157.50 352.50 0.836843 - 12.50 157.50 357.50 1.19282 - 12.50 162.50 2.50 1.3146 - 12.50 162.50 7.50 1.64327 - 12.50 162.50 12.50 1.72547 - 12.50 162.50 17.50 1.44195 - 12.50 162.50 22.50 0.937675 - 12.50 162.50 27.50 0.463088 - 12.50 162.50 32.50 0.180599 - 12.50 162.50 37.50 0.058825 - 12.50 162.50 42.50 0.0219787 - 12.50 162.50 47.50 0.0251591 - 12.50 162.50 52.50 0.0417087 - 12.50 162.50 57.50 0.0595539 - 12.50 162.50 62.50 0.0712791 - 12.50 162.50 67.50 0.106179 - 12.50 162.50 72.50 0.192351 - 12.50 162.50 77.50 0.348407 - 12.50 162.50 82.50 0.553796 - 12.50 162.50 87.50 0.890955 - 12.50 162.50 92.50 1.3146 - 12.50 162.50 97.50 1.64328 - 12.50 162.50 102.50 1.72547 - 12.50 162.50 107.50 1.44195 - 12.50 162.50 112.50 0.937675 - 12.50 162.50 117.50 0.463088 - 12.50 162.50 122.50 0.180599 - 12.50 162.50 127.50 0.058825 - 12.50 162.50 132.50 0.0219787 - 12.50 162.50 137.50 0.025159 - 12.50 162.50 142.50 0.0417087 - 12.50 162.50 147.50 0.0595539 - 12.50 162.50 152.50 0.0712792 - 12.50 162.50 157.50 0.106179 - 12.50 162.50 162.50 0.19235 - 12.50 162.50 167.50 0.348407 - 12.50 162.50 172.50 0.553797 - 12.50 162.50 177.50 0.890955 - 12.50 162.50 182.50 1.3146 - 12.50 162.50 187.50 1.64328 - 12.50 162.50 192.50 1.72547 - 12.50 162.50 197.50 1.44195 - 12.50 162.50 202.50 0.937675 - 12.50 162.50 207.50 0.463088 - 12.50 162.50 212.50 0.180599 - 12.50 162.50 217.50 0.058825 - 12.50 162.50 222.50 0.0219787 - 12.50 162.50 227.50 0.025159 - 12.50 162.50 232.50 0.0417087 - 12.50 162.50 237.50 0.0595539 - 12.50 162.50 242.50 0.0712792 - 12.50 162.50 247.50 0.106179 - 12.50 162.50 252.50 0.19235 - 12.50 162.50 257.50 0.348407 - 12.50 162.50 262.50 0.553797 - 12.50 162.50 267.50 0.890955 - 12.50 162.50 272.50 1.3146 - 12.50 162.50 277.50 1.64327 - 12.50 162.50 282.50 1.72547 - 12.50 162.50 287.50 1.44195 - 12.50 162.50 292.50 0.937675 - 12.50 162.50 297.50 0.463089 - 12.50 162.50 302.50 0.180599 - 12.50 162.50 307.50 0.0588251 - 12.50 162.50 312.50 0.0219787 - 12.50 162.50 317.50 0.025159 - 12.50 162.50 322.50 0.0417087 - 12.50 162.50 327.50 0.0595539 - 12.50 162.50 332.50 0.071279 - 12.50 162.50 337.50 0.106179 - 12.50 162.50 342.50 0.19235 - 12.50 162.50 347.50 0.348407 - 12.50 162.50 352.50 0.553796 - 12.50 162.50 357.50 0.890954 - 12.50 167.50 2.50 1.01248 - 12.50 167.50 7.50 1.39784 - 12.50 167.50 12.50 1.54438 - 12.50 167.50 17.50 1.28696 - 12.50 167.50 22.50 0.808871 - 12.50 167.50 27.50 0.397316 - 12.50 167.50 32.50 0.155452 - 12.50 167.50 37.50 0.0549682 - 12.50 167.50 42.50 0.0284921 - 12.50 167.50 47.50 0.0423656 - 12.50 167.50 52.50 0.0752199 - 12.50 167.50 57.50 0.0912259 - 12.50 167.50 62.50 0.0777872 - 12.50 167.50 67.50 0.0895593 - 12.50 167.50 72.50 0.133183 - 12.50 167.50 77.50 0.202944 - 12.50 167.50 82.50 0.325955 - 12.50 167.50 87.50 0.608535 - 12.50 167.50 92.50 1.01248 - 12.50 167.50 97.50 1.39784 - 12.50 167.50 102.50 1.54438 - 12.50 167.50 107.50 1.28696 - 12.50 167.50 112.50 0.808872 - 12.50 167.50 117.50 0.397315 - 12.50 167.50 122.50 0.155452 - 12.50 167.50 127.50 0.0549682 - 12.50 167.50 132.50 0.0284921 - 12.50 167.50 137.50 0.0423656 - 12.50 167.50 142.50 0.07522 - 12.50 167.50 147.50 0.0912258 - 12.50 167.50 152.50 0.0777871 - 12.50 167.50 157.50 0.0895592 - 12.50 167.50 162.50 0.133183 - 12.50 167.50 167.50 0.202944 - 12.50 167.50 172.50 0.325954 - 12.50 167.50 177.50 0.608535 - 12.50 167.50 182.50 1.01248 - 12.50 167.50 187.50 1.39784 - 12.50 167.50 192.50 1.54438 - 12.50 167.50 197.50 1.28696 - 12.50 167.50 202.50 0.808872 - 12.50 167.50 207.50 0.397316 - 12.50 167.50 212.50 0.155452 - 12.50 167.50 217.50 0.0549683 - 12.50 167.50 222.50 0.0284921 - 12.50 167.50 227.50 0.0423655 - 12.50 167.50 232.50 0.07522 - 12.50 167.50 237.50 0.0912258 - 12.50 167.50 242.50 0.0777872 - 12.50 167.50 247.50 0.0895592 - 12.50 167.50 252.50 0.133183 - 12.50 167.50 257.50 0.202944 - 12.50 167.50 262.50 0.325955 - 12.50 167.50 267.50 0.608536 - 12.50 167.50 272.50 1.01248 - 12.50 167.50 277.50 1.39784 - 12.50 167.50 282.50 1.54438 - 12.50 167.50 287.50 1.28696 - 12.50 167.50 292.50 0.808872 - 12.50 167.50 297.50 0.397316 - 12.50 167.50 302.50 0.155453 - 12.50 167.50 307.50 0.0549683 - 12.50 167.50 312.50 0.0284921 - 12.50 167.50 317.50 0.0423655 - 12.50 167.50 322.50 0.0752199 - 12.50 167.50 327.50 0.0912259 - 12.50 167.50 332.50 0.0777872 - 12.50 167.50 337.50 0.0895591 - 12.50 167.50 342.50 0.133183 - 12.50 167.50 347.50 0.202944 - 12.50 167.50 352.50 0.325954 - 12.50 167.50 357.50 0.608534 - 12.50 172.50 2.50 0.748318 - 12.50 172.50 7.50 1.1454 - 12.50 172.50 12.50 1.31062 - 12.50 172.50 17.50 1.07311 - 12.50 172.50 22.50 0.629721 - 12.50 172.50 27.50 0.295838 - 12.50 172.50 32.50 0.128447 - 12.50 172.50 37.50 0.0559125 - 12.50 172.50 42.50 0.0339706 - 12.50 172.50 47.50 0.04773 - 12.50 172.50 52.50 0.0764977 - 12.50 172.50 57.50 0.0934663 - 12.50 172.50 62.50 0.0872312 - 12.50 172.50 67.50 0.0778744 - 12.50 172.50 72.50 0.0810948 - 12.50 172.50 77.50 0.103142 - 12.50 172.50 82.50 0.189552 - 12.50 172.50 87.50 0.390836 - 12.50 172.50 92.50 0.748317 - 12.50 172.50 97.50 1.1454 - 12.50 172.50 102.50 1.31062 - 12.50 172.50 107.50 1.07311 - 12.50 172.50 112.50 0.629721 - 12.50 172.50 117.50 0.295838 - 12.50 172.50 122.50 0.128447 - 12.50 172.50 127.50 0.0559125 - 12.50 172.50 132.50 0.0339706 - 12.50 172.50 137.50 0.0477301 - 12.50 172.50 142.50 0.0764977 - 12.50 172.50 147.50 0.0934663 - 12.50 172.50 152.50 0.0872311 - 12.50 172.50 157.50 0.0778744 - 12.50 172.50 162.50 0.0810948 - 12.50 172.50 167.50 0.103142 - 12.50 172.50 172.50 0.189552 - 12.50 172.50 177.50 0.390836 - 12.50 172.50 182.50 0.748318 - 12.50 172.50 187.50 1.1454 - 12.50 172.50 192.50 1.31062 - 12.50 172.50 197.50 1.07311 - 12.50 172.50 202.50 0.629721 - 12.50 172.50 207.50 0.295838 - 12.50 172.50 212.50 0.128447 - 12.50 172.50 217.50 0.0559125 - 12.50 172.50 222.50 0.0339706 - 12.50 172.50 227.50 0.04773 - 12.50 172.50 232.50 0.0764978 - 12.50 172.50 237.50 0.0934663 - 12.50 172.50 242.50 0.0872311 - 12.50 172.50 247.50 0.0778743 - 12.50 172.50 252.50 0.0810948 - 12.50 172.50 257.50 0.103142 - 12.50 172.50 262.50 0.189552 - 12.50 172.50 267.50 0.390837 - 12.50 172.50 272.50 0.748317 - 12.50 172.50 277.50 1.1454 - 12.50 172.50 282.50 1.31062 - 12.50 172.50 287.50 1.07311 - 12.50 172.50 292.50 0.629721 - 12.50 172.50 297.50 0.295838 - 12.50 172.50 302.50 0.128447 - 12.50 172.50 307.50 0.0559126 - 12.50 172.50 312.50 0.0339705 - 12.50 172.50 317.50 0.04773 - 12.50 172.50 322.50 0.0764977 - 12.50 172.50 327.50 0.0934662 - 12.50 172.50 332.50 0.0872311 - 12.50 172.50 337.50 0.0778744 - 12.50 172.50 342.50 0.0810948 - 12.50 172.50 347.50 0.103142 - 12.50 172.50 352.50 0.189551 - 12.50 172.50 357.50 0.390835 - 12.50 177.50 2.50 0.512873 - 12.50 177.50 7.50 0.851276 - 12.50 177.50 12.50 1.00664 - 12.50 177.50 17.50 0.808347 - 12.50 177.50 22.50 0.446618 - 12.50 177.50 27.50 0.189909 - 12.50 177.50 32.50 0.0775082 - 12.50 177.50 37.50 0.0444665 - 12.50 177.50 42.50 0.0442841 - 12.50 177.50 47.50 0.0581633 - 12.50 177.50 52.50 0.0710802 - 12.50 177.50 57.50 0.0741997 - 12.50 177.50 62.50 0.0683521 - 12.50 177.50 67.50 0.0660297 - 12.50 177.50 72.50 0.0623607 - 12.50 177.50 77.50 0.0662052 - 12.50 177.50 82.50 0.104933 - 12.50 177.50 87.50 0.23942 - 12.50 177.50 92.50 0.512873 - 12.50 177.50 97.50 0.851275 - 12.50 177.50 102.50 1.00664 - 12.50 177.50 107.50 0.808347 - 12.50 177.50 112.50 0.446618 - 12.50 177.50 117.50 0.189909 - 12.50 177.50 122.50 0.0775082 - 12.50 177.50 127.50 0.0444665 - 12.50 177.50 132.50 0.044284 - 12.50 177.50 137.50 0.0581634 - 12.50 177.50 142.50 0.0710802 - 12.50 177.50 147.50 0.0741997 - 12.50 177.50 152.50 0.0683521 - 12.50 177.50 157.50 0.0660297 - 12.50 177.50 162.50 0.0623607 - 12.50 177.50 167.50 0.0662052 - 12.50 177.50 172.50 0.104933 - 12.50 177.50 177.50 0.23942 - 12.50 177.50 182.50 0.512873 - 12.50 177.50 187.50 0.851277 - 12.50 177.50 192.50 1.00664 - 12.50 177.50 197.50 0.808347 - 12.50 177.50 202.50 0.446617 - 12.50 177.50 207.50 0.189909 - 12.50 177.50 212.50 0.0775082 - 12.50 177.50 217.50 0.0444665 - 12.50 177.50 222.50 0.044284 - 12.50 177.50 227.50 0.0581633 - 12.50 177.50 232.50 0.0710802 - 12.50 177.50 237.50 0.0741997 - 12.50 177.50 242.50 0.0683521 - 12.50 177.50 247.50 0.0660297 - 12.50 177.50 252.50 0.0623607 - 12.50 177.50 257.50 0.0662052 - 12.50 177.50 262.50 0.104933 - 12.50 177.50 267.50 0.239421 - 12.50 177.50 272.50 0.512874 - 12.50 177.50 277.50 0.851277 - 12.50 177.50 282.50 1.00664 - 12.50 177.50 287.50 0.808347 - 12.50 177.50 292.50 0.446617 - 12.50 177.50 297.50 0.189909 - 12.50 177.50 302.50 0.0775083 - 12.50 177.50 307.50 0.0444665 - 12.50 177.50 312.50 0.044284 - 12.50 177.50 317.50 0.0581633 - 12.50 177.50 322.50 0.0710802 - 12.50 177.50 327.50 0.0741997 - 12.50 177.50 332.50 0.0683521 - 12.50 177.50 337.50 0.0660297 - 12.50 177.50 342.50 0.0623607 - 12.50 177.50 347.50 0.0662052 - 12.50 177.50 352.50 0.104932 - 12.50 177.50 357.50 0.23942 - 17.50 2.50 2.50 0.149977 - 17.50 2.50 7.50 0.0624685 - 17.50 2.50 12.50 0.0485219 - 17.50 2.50 17.50 0.0601603 - 17.50 2.50 22.50 0.0760385 - 17.50 2.50 27.50 0.083846 - 17.50 2.50 32.50 0.084539 - 17.50 2.50 37.50 0.083846 - 17.50 2.50 42.50 0.0760385 - 17.50 2.50 47.50 0.0601603 - 17.50 2.50 52.50 0.0485219 - 17.50 2.50 57.50 0.0624686 - 17.50 2.50 62.50 0.149977 - 17.50 2.50 67.50 0.393273 - 17.50 2.50 72.50 0.773179 - 17.50 2.50 77.50 0.980476 - 17.50 2.50 82.50 0.773178 - 17.50 2.50 87.50 0.393272 - 17.50 2.50 92.50 0.149977 - 17.50 2.50 97.50 0.0624685 - 17.50 2.50 102.50 0.0485219 - 17.50 2.50 107.50 0.0601603 - 17.50 2.50 112.50 0.0760386 - 17.50 2.50 117.50 0.083846 - 17.50 2.50 122.50 0.084539 - 17.50 2.50 127.50 0.083846 - 17.50 2.50 132.50 0.0760385 - 17.50 2.50 137.50 0.0601603 - 17.50 2.50 142.50 0.0485219 - 17.50 2.50 147.50 0.0624686 - 17.50 2.50 152.50 0.149977 - 17.50 2.50 157.50 0.393272 - 17.50 2.50 162.50 0.773179 - 17.50 2.50 167.50 0.980476 - 17.50 2.50 172.50 0.773179 - 17.50 2.50 177.50 0.393273 - 17.50 2.50 182.50 0.149977 - 17.50 2.50 187.50 0.0624685 - 17.50 2.50 192.50 0.0485219 - 17.50 2.50 197.50 0.0601603 - 17.50 2.50 202.50 0.0760386 - 17.50 2.50 207.50 0.083846 - 17.50 2.50 212.50 0.084539 - 17.50 2.50 217.50 0.083846 - 17.50 2.50 222.50 0.0760385 - 17.50 2.50 227.50 0.0601603 - 17.50 2.50 232.50 0.0485219 - 17.50 2.50 237.50 0.0624686 - 17.50 2.50 242.50 0.149977 - 17.50 2.50 247.50 0.393273 - 17.50 2.50 252.50 0.773179 - 17.50 2.50 257.50 0.980476 - 17.50 2.50 262.50 0.773178 - 17.50 2.50 267.50 0.393272 - 17.50 2.50 272.50 0.149977 - 17.50 2.50 277.50 0.0624685 - 17.50 2.50 282.50 0.0485219 - 17.50 2.50 287.50 0.0601603 - 17.50 2.50 292.50 0.0760385 - 17.50 2.50 297.50 0.083846 - 17.50 2.50 302.50 0.084539 - 17.50 2.50 307.50 0.083846 - 17.50 2.50 312.50 0.0760385 - 17.50 2.50 317.50 0.0601603 - 17.50 2.50 322.50 0.048522 - 17.50 2.50 327.50 0.0624685 - 17.50 2.50 332.50 0.149977 - 17.50 2.50 337.50 0.393272 - 17.50 2.50 342.50 0.773178 - 17.50 2.50 347.50 0.980476 - 17.50 2.50 352.50 0.773179 - 17.50 2.50 357.50 0.393273 - 17.50 7.50 2.50 0.210388 - 17.50 7.50 7.50 0.10472 - 17.50 7.50 12.50 0.0745756 - 17.50 7.50 17.50 0.0724643 - 17.50 7.50 22.50 0.076525 - 17.50 7.50 27.50 0.0776944 - 17.50 7.50 32.50 0.0750234 - 17.50 7.50 37.50 0.0724146 - 17.50 7.50 42.50 0.0590314 - 17.50 7.50 47.50 0.0435456 - 17.50 7.50 52.50 0.0421066 - 17.50 7.50 57.50 0.0785193 - 17.50 7.50 62.50 0.199274 - 17.50 7.50 67.50 0.469199 - 17.50 7.50 72.50 0.826356 - 17.50 7.50 77.50 1.00154 - 17.50 7.50 82.50 0.814819 - 17.50 7.50 87.50 0.461129 - 17.50 7.50 92.50 0.210388 - 17.50 7.50 97.50 0.104719 - 17.50 7.50 102.50 0.0745756 - 17.50 7.50 107.50 0.0724642 - 17.50 7.50 112.50 0.076525 - 17.50 7.50 117.50 0.0776944 - 17.50 7.50 122.50 0.0750234 - 17.50 7.50 127.50 0.0724146 - 17.50 7.50 132.50 0.0590314 - 17.50 7.50 137.50 0.0435456 - 17.50 7.50 142.50 0.0421066 - 17.50 7.50 147.50 0.0785193 - 17.50 7.50 152.50 0.199274 - 17.50 7.50 157.50 0.469198 - 17.50 7.50 162.50 0.826355 - 17.50 7.50 167.50 1.00154 - 17.50 7.50 172.50 0.814819 - 17.50 7.50 177.50 0.461129 - 17.50 7.50 182.50 0.210388 - 17.50 7.50 187.50 0.104719 - 17.50 7.50 192.50 0.0745756 - 17.50 7.50 197.50 0.0724642 - 17.50 7.50 202.50 0.076525 - 17.50 7.50 207.50 0.0776945 - 17.50 7.50 212.50 0.0750234 - 17.50 7.50 217.50 0.0724146 - 17.50 7.50 222.50 0.0590314 - 17.50 7.50 227.50 0.0435456 - 17.50 7.50 232.50 0.0421066 - 17.50 7.50 237.50 0.0785195 - 17.50 7.50 242.50 0.199274 - 17.50 7.50 247.50 0.469198 - 17.50 7.50 252.50 0.826355 - 17.50 7.50 257.50 1.00154 - 17.50 7.50 262.50 0.814818 - 17.50 7.50 267.50 0.461129 - 17.50 7.50 272.50 0.210388 - 17.50 7.50 277.50 0.10472 - 17.50 7.50 282.50 0.0745756 - 17.50 7.50 287.50 0.0724642 - 17.50 7.50 292.50 0.076525 - 17.50 7.50 297.50 0.0776945 - 17.50 7.50 302.50 0.0750234 - 17.50 7.50 307.50 0.0724146 - 17.50 7.50 312.50 0.0590315 - 17.50 7.50 317.50 0.0435456 - 17.50 7.50 322.50 0.0421066 - 17.50 7.50 327.50 0.0785193 - 17.50 7.50 332.50 0.199274 - 17.50 7.50 337.50 0.469197 - 17.50 7.50 342.50 0.826354 - 17.50 7.50 347.50 1.00154 - 17.50 7.50 352.50 0.81482 - 17.50 7.50 357.50 0.46113 - 17.50 12.50 2.50 0.376554 - 17.50 12.50 7.50 0.216442 - 17.50 12.50 12.50 0.141283 - 17.50 12.50 17.50 0.0978893 - 17.50 12.50 22.50 0.0936087 - 17.50 12.50 27.50 0.0995422 - 17.50 12.50 32.50 0.103579 - 17.50 12.50 37.50 0.0863411 - 17.50 12.50 42.50 0.051786 - 17.50 12.50 47.50 0.0302449 - 17.50 12.50 52.50 0.0447239 - 17.50 12.50 57.50 0.122106 - 17.50 12.50 62.50 0.30973 - 17.50 12.50 67.50 0.6582 - 17.50 12.50 72.50 1.08936 - 17.50 12.50 77.50 1.30722 - 17.50 12.50 82.50 1.10458 - 17.50 12.50 87.50 0.695288 - 17.50 12.50 92.50 0.376554 - 17.50 12.50 97.50 0.216442 - 17.50 12.50 102.50 0.141283 - 17.50 12.50 107.50 0.0978893 - 17.50 12.50 112.50 0.0936087 - 17.50 12.50 117.50 0.0995422 - 17.50 12.50 122.50 0.103579 - 17.50 12.50 127.50 0.086341 - 17.50 12.50 132.50 0.051786 - 17.50 12.50 137.50 0.0302449 - 17.50 12.50 142.50 0.0447239 - 17.50 12.50 147.50 0.122106 - 17.50 12.50 152.50 0.30973 - 17.50 12.50 157.50 0.658199 - 17.50 12.50 162.50 1.08936 - 17.50 12.50 167.50 1.30722 - 17.50 12.50 172.50 1.10458 - 17.50 12.50 177.50 0.695288 - 17.50 12.50 182.50 0.376554 - 17.50 12.50 187.50 0.216442 - 17.50 12.50 192.50 0.141283 - 17.50 12.50 197.50 0.0978893 - 17.50 12.50 202.50 0.0936087 - 17.50 12.50 207.50 0.0995422 - 17.50 12.50 212.50 0.103579 - 17.50 12.50 217.50 0.0863411 - 17.50 12.50 222.50 0.051786 - 17.50 12.50 227.50 0.0302449 - 17.50 12.50 232.50 0.044724 - 17.50 12.50 237.50 0.122106 - 17.50 12.50 242.50 0.309731 - 17.50 12.50 247.50 0.658199 - 17.50 12.50 252.50 1.08936 - 17.50 12.50 257.50 1.30722 - 17.50 12.50 262.50 1.10458 - 17.50 12.50 267.50 0.695287 - 17.50 12.50 272.50 0.376554 - 17.50 12.50 277.50 0.216442 - 17.50 12.50 282.50 0.141283 - 17.50 12.50 287.50 0.0978893 - 17.50 12.50 292.50 0.0936086 - 17.50 12.50 297.50 0.0995422 - 17.50 12.50 302.50 0.103579 - 17.50 12.50 307.50 0.0863411 - 17.50 12.50 312.50 0.051786 - 17.50 12.50 317.50 0.0302449 - 17.50 12.50 322.50 0.0447238 - 17.50 12.50 327.50 0.122106 - 17.50 12.50 332.50 0.309729 - 17.50 12.50 337.50 0.658198 - 17.50 12.50 342.50 1.08936 - 17.50 12.50 347.50 1.30722 - 17.50 12.50 352.50 1.10458 - 17.50 12.50 357.50 0.695289 - 17.50 17.50 2.50 0.6554 - 17.50 17.50 7.50 0.423372 - 17.50 17.50 12.50 0.260369 - 17.50 17.50 17.50 0.188649 - 17.50 17.50 22.50 0.138135 - 17.50 17.50 27.50 0.110934 - 17.50 17.50 32.50 0.103018 - 17.50 17.50 37.50 0.085331 - 17.50 17.50 42.50 0.0466067 - 17.50 17.50 47.50 0.0264396 - 17.50 17.50 52.50 0.0478193 - 17.50 17.50 57.50 0.141028 - 17.50 17.50 62.50 0.376838 - 17.50 17.50 67.50 0.791946 - 17.50 17.50 72.50 1.26422 - 17.50 17.50 77.50 1.52312 - 17.50 17.50 82.50 1.37686 - 17.50 17.50 87.50 0.996546 - 17.50 17.50 92.50 0.6554 - 17.50 17.50 97.50 0.423372 - 17.50 17.50 102.50 0.260369 - 17.50 17.50 107.50 0.18865 - 17.50 17.50 112.50 0.138135 - 17.50 17.50 117.50 0.110934 - 17.50 17.50 122.50 0.103018 - 17.50 17.50 127.50 0.085331 - 17.50 17.50 132.50 0.0466067 - 17.50 17.50 137.50 0.0264397 - 17.50 17.50 142.50 0.0478193 - 17.50 17.50 147.50 0.141028 - 17.50 17.50 152.50 0.376838 - 17.50 17.50 157.50 0.791945 - 17.50 17.50 162.50 1.26422 - 17.50 17.50 167.50 1.52312 - 17.50 17.50 172.50 1.37687 - 17.50 17.50 177.50 0.996546 - 17.50 17.50 182.50 0.6554 - 17.50 17.50 187.50 0.423372 - 17.50 17.50 192.50 0.26037 - 17.50 17.50 197.50 0.188649 - 17.50 17.50 202.50 0.138135 - 17.50 17.50 207.50 0.110934 - 17.50 17.50 212.50 0.103018 - 17.50 17.50 217.50 0.085331 - 17.50 17.50 222.50 0.0466068 - 17.50 17.50 227.50 0.0264397 - 17.50 17.50 232.50 0.0478194 - 17.50 17.50 237.50 0.141028 - 17.50 17.50 242.50 0.376838 - 17.50 17.50 247.50 0.791947 - 17.50 17.50 252.50 1.26422 - 17.50 17.50 257.50 1.52312 - 17.50 17.50 262.50 1.37686 - 17.50 17.50 267.50 0.996546 - 17.50 17.50 272.50 0.6554 - 17.50 17.50 277.50 0.423372 - 17.50 17.50 282.50 0.260369 - 17.50 17.50 287.50 0.188649 - 17.50 17.50 292.50 0.138135 - 17.50 17.50 297.50 0.110934 - 17.50 17.50 302.50 0.103018 - 17.50 17.50 307.50 0.0853311 - 17.50 17.50 312.50 0.0466068 - 17.50 17.50 317.50 0.0264396 - 17.50 17.50 322.50 0.0478192 - 17.50 17.50 327.50 0.141027 - 17.50 17.50 332.50 0.376837 - 17.50 17.50 337.50 0.791945 - 17.50 17.50 342.50 1.26422 - 17.50 17.50 347.50 1.52312 - 17.50 17.50 352.50 1.37687 - 17.50 17.50 357.50 0.996548 - 17.50 22.50 2.50 1.04451 - 17.50 22.50 7.50 0.736745 - 17.50 22.50 12.50 0.501154 - 17.50 22.50 17.50 0.335263 - 17.50 22.50 22.50 0.185647 - 17.50 22.50 27.50 0.108236 - 17.50 22.50 32.50 0.0792763 - 17.50 22.50 37.50 0.0520203 - 17.50 22.50 42.50 0.0247396 - 17.50 22.50 47.50 0.0190101 - 17.50 22.50 52.50 0.0432779 - 17.50 22.50 57.50 0.147344 - 17.50 22.50 62.50 0.401316 - 17.50 22.50 67.50 0.835966 - 17.50 22.50 72.50 1.34437 - 17.50 22.50 77.50 1.66987 - 17.50 22.50 82.50 1.64759 - 17.50 22.50 87.50 1.36448 - 17.50 22.50 92.50 1.04451 - 17.50 22.50 97.50 0.736745 - 17.50 22.50 102.50 0.501154 - 17.50 22.50 107.50 0.335263 - 17.50 22.50 112.50 0.185647 - 17.50 22.50 117.50 0.108236 - 17.50 22.50 122.50 0.0792763 - 17.50 22.50 127.50 0.0520203 - 17.50 22.50 132.50 0.0247396 - 17.50 22.50 137.50 0.0190101 - 17.50 22.50 142.50 0.0432779 - 17.50 22.50 147.50 0.147344 - 17.50 22.50 152.50 0.401315 - 17.50 22.50 157.50 0.835966 - 17.50 22.50 162.50 1.34437 - 17.50 22.50 167.50 1.66987 - 17.50 22.50 172.50 1.64759 - 17.50 22.50 177.50 1.36448 - 17.50 22.50 182.50 1.04451 - 17.50 22.50 187.50 0.736744 - 17.50 22.50 192.50 0.501154 - 17.50 22.50 197.50 0.335263 - 17.50 22.50 202.50 0.185647 - 17.50 22.50 207.50 0.108236 - 17.50 22.50 212.50 0.0792763 - 17.50 22.50 217.50 0.0520204 - 17.50 22.50 222.50 0.0247396 - 17.50 22.50 227.50 0.01901 - 17.50 22.50 232.50 0.0432779 - 17.50 22.50 237.50 0.147344 - 17.50 22.50 242.50 0.401316 - 17.50 22.50 247.50 0.835966 - 17.50 22.50 252.50 1.34437 - 17.50 22.50 257.50 1.66988 - 17.50 22.50 262.50 1.64759 - 17.50 22.50 267.50 1.36448 - 17.50 22.50 272.50 1.04451 - 17.50 22.50 277.50 0.736745 - 17.50 22.50 282.50 0.501154 - 17.50 22.50 287.50 0.335263 - 17.50 22.50 292.50 0.185647 - 17.50 22.50 297.50 0.108236 - 17.50 22.50 302.50 0.0792763 - 17.50 22.50 307.50 0.0520204 - 17.50 22.50 312.50 0.0247396 - 17.50 22.50 317.50 0.0190101 - 17.50 22.50 322.50 0.0432778 - 17.50 22.50 327.50 0.147344 - 17.50 22.50 332.50 0.401315 - 17.50 22.50 337.50 0.835965 - 17.50 22.50 342.50 1.34437 - 17.50 22.50 347.50 1.66988 - 17.50 22.50 352.50 1.64759 - 17.50 22.50 357.50 1.36448 - 17.50 27.50 2.50 1.46987 - 17.50 27.50 7.50 1.13434 - 17.50 27.50 12.50 0.846133 - 17.50 27.50 17.50 0.526842 - 17.50 27.50 22.50 0.282701 - 17.50 27.50 27.50 0.130854 - 17.50 27.50 32.50 0.0500053 - 17.50 27.50 37.50 0.0230623 - 17.50 27.50 42.50 0.0111999 - 17.50 27.50 47.50 0.0124126 - 17.50 27.50 52.50 0.0375602 - 17.50 27.50 57.50 0.119208 - 17.50 27.50 62.50 0.335643 - 17.50 27.50 67.50 0.755123 - 17.50 27.50 72.50 1.3193 - 17.50 27.50 77.50 1.79157 - 17.50 27.50 82.50 1.90549 - 17.50 27.50 87.50 1.73302 - 17.50 27.50 92.50 1.46987 - 17.50 27.50 97.50 1.13434 - 17.50 27.50 102.50 0.846133 - 17.50 27.50 107.50 0.526842 - 17.50 27.50 112.50 0.282701 - 17.50 27.50 117.50 0.130854 - 17.50 27.50 122.50 0.0500053 - 17.50 27.50 127.50 0.0230623 - 17.50 27.50 132.50 0.0111999 - 17.50 27.50 137.50 0.0124126 - 17.50 27.50 142.50 0.0375602 - 17.50 27.50 147.50 0.119208 - 17.50 27.50 152.50 0.335643 - 17.50 27.50 157.50 0.755123 - 17.50 27.50 162.50 1.3193 - 17.50 27.50 167.50 1.79157 - 17.50 27.50 172.50 1.90549 - 17.50 27.50 177.50 1.73302 - 17.50 27.50 182.50 1.46987 - 17.50 27.50 187.50 1.13434 - 17.50 27.50 192.50 0.846133 - 17.50 27.50 197.50 0.526842 - 17.50 27.50 202.50 0.282701 - 17.50 27.50 207.50 0.130854 - 17.50 27.50 212.50 0.0500053 - 17.50 27.50 217.50 0.0230623 - 17.50 27.50 222.50 0.0111999 - 17.50 27.50 227.50 0.0124126 - 17.50 27.50 232.50 0.0375602 - 17.50 27.50 237.50 0.119208 - 17.50 27.50 242.50 0.335643 - 17.50 27.50 247.50 0.755124 - 17.50 27.50 252.50 1.3193 - 17.50 27.50 257.50 1.79157 - 17.50 27.50 262.50 1.90549 - 17.50 27.50 267.50 1.73302 - 17.50 27.50 272.50 1.46987 - 17.50 27.50 277.50 1.13434 - 17.50 27.50 282.50 0.846133 - 17.50 27.50 287.50 0.526842 - 17.50 27.50 292.50 0.282701 - 17.50 27.50 297.50 0.130854 - 17.50 27.50 302.50 0.0500054 - 17.50 27.50 307.50 0.0230623 - 17.50 27.50 312.50 0.0111999 - 17.50 27.50 317.50 0.0124126 - 17.50 27.50 322.50 0.03756 - 17.50 27.50 327.50 0.119208 - 17.50 27.50 332.50 0.335642 - 17.50 27.50 337.50 0.755122 - 17.50 27.50 342.50 1.3193 - 17.50 27.50 347.50 1.79157 - 17.50 27.50 352.50 1.90549 - 17.50 27.50 357.50 1.73302 - 17.50 32.50 2.50 1.91896 - 17.50 32.50 7.50 1.67282 - 17.50 32.50 12.50 1.34077 - 17.50 32.50 17.50 0.84225 - 17.50 32.50 22.50 0.47031 - 17.50 32.50 27.50 0.185491 - 17.50 32.50 32.50 0.0660116 - 17.50 32.50 37.50 0.0169594 - 17.50 32.50 42.50 0.00605908 - 17.50 32.50 47.50 0.010606 - 17.50 32.50 52.50 0.0280961 - 17.50 32.50 57.50 0.0852507 - 17.50 32.50 62.50 0.251832 - 17.50 32.50 67.50 0.604964 - 17.50 32.50 72.50 1.21541 - 17.50 32.50 77.50 1.86571 - 17.50 32.50 82.50 2.12271 - 17.50 32.50 87.50 2.07289 - 17.50 32.50 92.50 1.91896 - 17.50 32.50 97.50 1.67282 - 17.50 32.50 102.50 1.34077 - 17.50 32.50 107.50 0.84225 - 17.50 32.50 112.50 0.47031 - 17.50 32.50 117.50 0.185491 - 17.50 32.50 122.50 0.0660115 - 17.50 32.50 127.50 0.0169593 - 17.50 32.50 132.50 0.00605908 - 17.50 32.50 137.50 0.010606 - 17.50 32.50 142.50 0.0280961 - 17.50 32.50 147.50 0.0852507 - 17.50 32.50 152.50 0.251832 - 17.50 32.50 157.50 0.604963 - 17.50 32.50 162.50 1.21541 - 17.50 32.50 167.50 1.86571 - 17.50 32.50 172.50 2.12271 - 17.50 32.50 177.50 2.07289 - 17.50 32.50 182.50 1.91896 - 17.50 32.50 187.50 1.67282 - 17.50 32.50 192.50 1.34077 - 17.50 32.50 197.50 0.842249 - 17.50 32.50 202.50 0.470309 - 17.50 32.50 207.50 0.185491 - 17.50 32.50 212.50 0.0660116 - 17.50 32.50 217.50 0.0169594 - 17.50 32.50 222.50 0.00605909 - 17.50 32.50 227.50 0.010606 - 17.50 32.50 232.50 0.0280961 - 17.50 32.50 237.50 0.0852508 - 17.50 32.50 242.50 0.251832 - 17.50 32.50 247.50 0.604964 - 17.50 32.50 252.50 1.21541 - 17.50 32.50 257.50 1.86571 - 17.50 32.50 262.50 2.12271 - 17.50 32.50 267.50 2.07289 - 17.50 32.50 272.50 1.91896 - 17.50 32.50 277.50 1.67282 - 17.50 32.50 282.50 1.34077 - 17.50 32.50 287.50 0.84225 - 17.50 32.50 292.50 0.47031 - 17.50 32.50 297.50 0.185491 - 17.50 32.50 302.50 0.0660117 - 17.50 32.50 307.50 0.0169594 - 17.50 32.50 312.50 0.00605908 - 17.50 32.50 317.50 0.010606 - 17.50 32.50 322.50 0.028096 - 17.50 32.50 327.50 0.0852505 - 17.50 32.50 332.50 0.251831 - 17.50 32.50 337.50 0.604962 - 17.50 32.50 342.50 1.21541 - 17.50 32.50 347.50 1.86571 - 17.50 32.50 352.50 2.12271 - 17.50 32.50 357.50 2.07289 - 17.50 37.50 2.50 2.48319 - 17.50 37.50 7.50 2.43862 - 17.50 37.50 12.50 2.08206 - 17.50 37.50 17.50 1.46004 - 17.50 37.50 22.50 0.819892 - 17.50 37.50 27.50 0.372317 - 17.50 37.50 32.50 0.132328 - 17.50 37.50 37.50 0.0366549 - 17.50 37.50 42.50 0.0127237 - 17.50 37.50 47.50 0.0102016 - 17.50 37.50 52.50 0.0208957 - 17.50 37.50 57.50 0.0607415 - 17.50 37.50 62.50 0.188415 - 17.50 37.50 67.50 0.522556 - 17.50 37.50 72.50 1.1385 - 17.50 37.50 77.50 1.86234 - 17.50 37.50 82.50 2.31353 - 17.50 37.50 87.50 2.43565 - 17.50 37.50 92.50 2.48319 - 17.50 37.50 97.50 2.43862 - 17.50 37.50 102.50 2.08206 - 17.50 37.50 107.50 1.46004 - 17.50 37.50 112.50 0.819892 - 17.50 37.50 117.50 0.372317 - 17.50 37.50 122.50 0.132328 - 17.50 37.50 127.50 0.0366548 - 17.50 37.50 132.50 0.0127237 - 17.50 37.50 137.50 0.0102016 - 17.50 37.50 142.50 0.0208956 - 17.50 37.50 147.50 0.0607416 - 17.50 37.50 152.50 0.188415 - 17.50 37.50 157.50 0.522555 - 17.50 37.50 162.50 1.1385 - 17.50 37.50 167.50 1.86234 - 17.50 37.50 172.50 2.31353 - 17.50 37.50 177.50 2.43565 - 17.50 37.50 182.50 2.48318 - 17.50 37.50 187.50 2.43862 - 17.50 37.50 192.50 2.08206 - 17.50 37.50 197.50 1.46004 - 17.50 37.50 202.50 0.819891 - 17.50 37.50 207.50 0.372317 - 17.50 37.50 212.50 0.132328 - 17.50 37.50 217.50 0.0366549 - 17.50 37.50 222.50 0.0127237 - 17.50 37.50 227.50 0.0102016 - 17.50 37.50 232.50 0.0208957 - 17.50 37.50 237.50 0.0607417 - 17.50 37.50 242.50 0.188416 - 17.50 37.50 247.50 0.522556 - 17.50 37.50 252.50 1.1385 - 17.50 37.50 257.50 1.86234 - 17.50 37.50 262.50 2.31353 - 17.50 37.50 267.50 2.43565 - 17.50 37.50 272.50 2.48319 - 17.50 37.50 277.50 2.43862 - 17.50 37.50 282.50 2.08206 - 17.50 37.50 287.50 1.46004 - 17.50 37.50 292.50 0.819892 - 17.50 37.50 297.50 0.372317 - 17.50 37.50 302.50 0.132328 - 17.50 37.50 307.50 0.036655 - 17.50 37.50 312.50 0.0127237 - 17.50 37.50 317.50 0.0102016 - 17.50 37.50 322.50 0.0208956 - 17.50 37.50 327.50 0.0607414 - 17.50 37.50 332.50 0.188415 - 17.50 37.50 337.50 0.522554 - 17.50 37.50 342.50 1.1385 - 17.50 37.50 347.50 1.86234 - 17.50 37.50 352.50 2.31353 - 17.50 37.50 357.50 2.43565 - 17.50 42.50 2.50 3.07557 - 17.50 42.50 7.50 3.28461 - 17.50 42.50 12.50 3.00581 - 17.50 42.50 17.50 2.3018 - 17.50 42.50 22.50 1.44951 - 17.50 42.50 27.50 0.734423 - 17.50 42.50 32.50 0.281644 - 17.50 42.50 37.50 0.0941096 - 17.50 42.50 42.50 0.0346214 - 17.50 42.50 47.50 0.0129026 - 17.50 42.50 52.50 0.0187252 - 17.50 42.50 57.50 0.0528531 - 17.50 42.50 62.50 0.159378 - 17.50 42.50 67.50 0.458404 - 17.50 42.50 72.50 1.02812 - 17.50 42.50 77.50 1.75871 - 17.50 42.50 82.50 2.33768 - 17.50 42.50 87.50 2.71443 - 17.50 42.50 92.50 3.07558 - 17.50 42.50 97.50 3.28461 - 17.50 42.50 102.50 3.00581 - 17.50 42.50 107.50 2.30179 - 17.50 42.50 112.50 1.44951 - 17.50 42.50 117.50 0.734423 - 17.50 42.50 122.50 0.281644 - 17.50 42.50 127.50 0.0941096 - 17.50 42.50 132.50 0.0346214 - 17.50 42.50 137.50 0.0129026 - 17.50 42.50 142.50 0.0187252 - 17.50 42.50 147.50 0.0528531 - 17.50 42.50 152.50 0.159378 - 17.50 42.50 157.50 0.458403 - 17.50 42.50 162.50 1.02812 - 17.50 42.50 167.50 1.75871 - 17.50 42.50 172.50 2.33768 - 17.50 42.50 177.50 2.71443 - 17.50 42.50 182.50 3.07557 - 17.50 42.50 187.50 3.28461 - 17.50 42.50 192.50 3.00581 - 17.50 42.50 197.50 2.30179 - 17.50 42.50 202.50 1.44951 - 17.50 42.50 207.50 0.734424 - 17.50 42.50 212.50 0.281644 - 17.50 42.50 217.50 0.0941096 - 17.50 42.50 222.50 0.0346215 - 17.50 42.50 227.50 0.0129026 - 17.50 42.50 232.50 0.0187252 - 17.50 42.50 237.50 0.0528532 - 17.50 42.50 242.50 0.159378 - 17.50 42.50 247.50 0.458404 - 17.50 42.50 252.50 1.02812 - 17.50 42.50 257.50 1.75871 - 17.50 42.50 262.50 2.33768 - 17.50 42.50 267.50 2.71443 - 17.50 42.50 272.50 3.07557 - 17.50 42.50 277.50 3.28461 - 17.50 42.50 282.50 3.00582 - 17.50 42.50 287.50 2.30179 - 17.50 42.50 292.50 1.44951 - 17.50 42.50 297.50 0.734424 - 17.50 42.50 302.50 0.281645 - 17.50 42.50 307.50 0.0941096 - 17.50 42.50 312.50 0.0346215 - 17.50 42.50 317.50 0.0129026 - 17.50 42.50 322.50 0.0187251 - 17.50 42.50 327.50 0.052853 - 17.50 42.50 332.50 0.159378 - 17.50 42.50 337.50 0.458402 - 17.50 42.50 342.50 1.02812 - 17.50 42.50 347.50 1.75871 - 17.50 42.50 352.50 2.33768 - 17.50 42.50 357.50 2.71443 - 17.50 47.50 2.50 3.34429 - 17.50 47.50 7.50 3.8114 - 17.50 47.50 12.50 3.76021 - 17.50 47.50 17.50 3.14533 - 17.50 47.50 22.50 2.1993 - 17.50 47.50 27.50 1.22003 - 17.50 47.50 32.50 0.535988 - 17.50 47.50 37.50 0.213094 - 17.50 47.50 42.50 0.0674384 - 17.50 47.50 47.50 0.0259854 - 17.50 47.50 52.50 0.0197802 - 17.50 47.50 57.50 0.0535265 - 17.50 47.50 62.50 0.149389 - 17.50 47.50 67.50 0.359979 - 17.50 47.50 72.50 0.832349 - 17.50 47.50 77.50 1.48139 - 17.50 47.50 82.50 2.09945 - 17.50 47.50 87.50 2.66415 - 17.50 47.50 92.50 3.34429 - 17.50 47.50 97.50 3.8114 - 17.50 47.50 102.50 3.76021 - 17.50 47.50 107.50 3.14533 - 17.50 47.50 112.50 2.1993 - 17.50 47.50 117.50 1.22003 - 17.50 47.50 122.50 0.535988 - 17.50 47.50 127.50 0.213094 - 17.50 47.50 132.50 0.0674383 - 17.50 47.50 137.50 0.0259854 - 17.50 47.50 142.50 0.0197802 - 17.50 47.50 147.50 0.0535264 - 17.50 47.50 152.50 0.149389 - 17.50 47.50 157.50 0.359979 - 17.50 47.50 162.50 0.832349 - 17.50 47.50 167.50 1.48139 - 17.50 47.50 172.50 2.09945 - 17.50 47.50 177.50 2.66415 - 17.50 47.50 182.50 3.34429 - 17.50 47.50 187.50 3.8114 - 17.50 47.50 192.50 3.76021 - 17.50 47.50 197.50 3.14533 - 17.50 47.50 202.50 2.1993 - 17.50 47.50 207.50 1.22003 - 17.50 47.50 212.50 0.535988 - 17.50 47.50 217.50 0.213095 - 17.50 47.50 222.50 0.0674385 - 17.50 47.50 227.50 0.0259854 - 17.50 47.50 232.50 0.0197803 - 17.50 47.50 237.50 0.0535265 - 17.50 47.50 242.50 0.14939 - 17.50 47.50 247.50 0.35998 - 17.50 47.50 252.50 0.832351 - 17.50 47.50 257.50 1.4814 - 17.50 47.50 262.50 2.09946 - 17.50 47.50 267.50 2.66415 - 17.50 47.50 272.50 3.34429 - 17.50 47.50 277.50 3.8114 - 17.50 47.50 282.50 3.76021 - 17.50 47.50 287.50 3.14533 - 17.50 47.50 292.50 2.1993 - 17.50 47.50 297.50 1.22004 - 17.50 47.50 302.50 0.535989 - 17.50 47.50 307.50 0.213095 - 17.50 47.50 312.50 0.0674385 - 17.50 47.50 317.50 0.0259855 - 17.50 47.50 322.50 0.0197802 - 17.50 47.50 327.50 0.0535264 - 17.50 47.50 332.50 0.149389 - 17.50 47.50 337.50 0.359978 - 17.50 47.50 342.50 0.832348 - 17.50 47.50 347.50 1.48139 - 17.50 47.50 352.50 2.09945 - 17.50 47.50 357.50 2.66414 - 17.50 52.50 2.50 3.07557 - 17.50 52.50 7.50 3.78144 - 17.50 52.50 12.50 4.13483 - 17.50 52.50 17.50 3.70354 - 17.50 52.50 22.50 2.82692 - 17.50 52.50 27.50 1.81342 - 17.50 52.50 32.50 0.887785 - 17.50 52.50 37.50 0.379217 - 17.50 52.50 42.50 0.110702 - 17.50 52.50 47.50 0.0300594 - 17.50 52.50 52.50 0.0245617 - 17.50 52.50 57.50 0.0480408 - 17.50 52.50 62.50 0.111763 - 17.50 52.50 67.50 0.295443 - 17.50 52.50 72.50 0.620533 - 17.50 52.50 77.50 1.13723 - 17.50 52.50 82.50 1.70748 - 17.50 52.50 87.50 2.27987 - 17.50 52.50 92.50 3.07557 - 17.50 52.50 97.50 3.78144 - 17.50 52.50 102.50 4.13483 - 17.50 52.50 107.50 3.70354 - 17.50 52.50 112.50 2.82692 - 17.50 52.50 117.50 1.81342 - 17.50 52.50 122.50 0.887785 - 17.50 52.50 127.50 0.379217 - 17.50 52.50 132.50 0.110701 - 17.50 52.50 137.50 0.0300595 - 17.50 52.50 142.50 0.0245617 - 17.50 52.50 147.50 0.0480408 - 17.50 52.50 152.50 0.111763 - 17.50 52.50 157.50 0.295443 - 17.50 52.50 162.50 0.620534 - 17.50 52.50 167.50 1.13723 - 17.50 52.50 172.50 1.70748 - 17.50 52.50 177.50 2.27987 - 17.50 52.50 182.50 3.07558 - 17.50 52.50 187.50 3.78144 - 17.50 52.50 192.50 4.13483 - 17.50 52.50 197.50 3.70354 - 17.50 52.50 202.50 2.82691 - 17.50 52.50 207.50 1.81342 - 17.50 52.50 212.50 0.887786 - 17.50 52.50 217.50 0.379218 - 17.50 52.50 222.50 0.110702 - 17.50 52.50 227.50 0.0300595 - 17.50 52.50 232.50 0.0245618 - 17.50 52.50 237.50 0.0480409 - 17.50 52.50 242.50 0.111763 - 17.50 52.50 247.50 0.295443 - 17.50 52.50 252.50 0.620534 - 17.50 52.50 257.50 1.13723 - 17.50 52.50 262.50 1.70748 - 17.50 52.50 267.50 2.27987 - 17.50 52.50 272.50 3.07557 - 17.50 52.50 277.50 3.78144 - 17.50 52.50 282.50 4.13483 - 17.50 52.50 287.50 3.70354 - 17.50 52.50 292.50 2.82691 - 17.50 52.50 297.50 1.81342 - 17.50 52.50 302.50 0.887786 - 17.50 52.50 307.50 0.379218 - 17.50 52.50 312.50 0.110702 - 17.50 52.50 317.50 0.0300595 - 17.50 52.50 322.50 0.0245617 - 17.50 52.50 327.50 0.0480407 - 17.50 52.50 332.50 0.111763 - 17.50 52.50 337.50 0.295442 - 17.50 52.50 342.50 0.620532 - 17.50 52.50 347.50 1.13723 - 17.50 52.50 352.50 1.70747 - 17.50 52.50 357.50 2.27987 - 17.50 57.50 2.50 2.48318 - 17.50 57.50 7.50 3.38839 - 17.50 57.50 12.50 4.04575 - 17.50 57.50 17.50 3.88467 - 17.50 57.50 22.50 3.3656 - 17.50 57.50 27.50 2.38044 - 17.50 57.50 32.50 1.33187 - 17.50 57.50 37.50 0.527502 - 17.50 57.50 42.50 0.156568 - 17.50 57.50 47.50 0.0411971 - 17.50 57.50 52.50 0.0169254 - 17.50 57.50 57.50 0.0338978 - 17.50 57.50 62.50 0.0885529 - 17.50 57.50 67.50 0.220749 - 17.50 57.50 72.50 0.433036 - 17.50 57.50 77.50 0.809533 - 17.50 57.50 82.50 1.28426 - 17.50 57.50 87.50 1.78362 - 17.50 57.50 92.50 2.48318 - 17.50 57.50 97.50 3.38839 - 17.50 57.50 102.50 4.04575 - 17.50 57.50 107.50 3.88467 - 17.50 57.50 112.50 3.3656 - 17.50 57.50 117.50 2.38044 - 17.50 57.50 122.50 1.33187 - 17.50 57.50 127.50 0.527502 - 17.50 57.50 132.50 0.156568 - 17.50 57.50 137.50 0.0411971 - 17.50 57.50 142.50 0.0169254 - 17.50 57.50 147.50 0.0338977 - 17.50 57.50 152.50 0.0885528 - 17.50 57.50 157.50 0.220749 - 17.50 57.50 162.50 0.433036 - 17.50 57.50 167.50 0.809533 - 17.50 57.50 172.50 1.28426 - 17.50 57.50 177.50 1.78362 - 17.50 57.50 182.50 2.48318 - 17.50 57.50 187.50 3.38839 - 17.50 57.50 192.50 4.04575 - 17.50 57.50 197.50 3.88467 - 17.50 57.50 202.50 3.3656 - 17.50 57.50 207.50 2.38044 - 17.50 57.50 212.50 1.33187 - 17.50 57.50 217.50 0.527503 - 17.50 57.50 222.50 0.156568 - 17.50 57.50 227.50 0.0411971 - 17.50 57.50 232.50 0.0169255 - 17.50 57.50 237.50 0.0338978 - 17.50 57.50 242.50 0.0885529 - 17.50 57.50 247.50 0.220749 - 17.50 57.50 252.50 0.433037 - 17.50 57.50 257.50 0.809534 - 17.50 57.50 262.50 1.28426 - 17.50 57.50 267.50 1.78362 - 17.50 57.50 272.50 2.48318 - 17.50 57.50 277.50 3.38839 - 17.50 57.50 282.50 4.04575 - 17.50 57.50 287.50 3.88467 - 17.50 57.50 292.50 3.3656 - 17.50 57.50 297.50 2.38044 - 17.50 57.50 302.50 1.33187 - 17.50 57.50 307.50 0.527503 - 17.50 57.50 312.50 0.156568 - 17.50 57.50 317.50 0.0411971 - 17.50 57.50 322.50 0.0169254 - 17.50 57.50 327.50 0.0338977 - 17.50 57.50 332.50 0.0885527 - 17.50 57.50 337.50 0.220748 - 17.50 57.50 342.50 0.433035 - 17.50 57.50 347.50 0.809532 - 17.50 57.50 352.50 1.28426 - 17.50 57.50 357.50 1.78361 - 17.50 62.50 2.50 1.91896 - 17.50 62.50 7.50 2.88022 - 17.50 62.50 12.50 3.61386 - 17.50 62.50 17.50 3.7508 - 17.50 62.50 22.50 3.52931 - 17.50 62.50 27.50 2.72954 - 17.50 62.50 32.50 1.58341 - 17.50 62.50 37.50 0.695812 - 17.50 62.50 42.50 0.216973 - 17.50 62.50 47.50 0.0430294 - 17.50 62.50 52.50 0.0137646 - 17.50 62.50 57.50 0.0237501 - 17.50 62.50 62.50 0.0597004 - 17.50 62.50 67.50 0.14401 - 17.50 62.50 72.50 0.291627 - 17.50 62.50 77.50 0.544237 - 17.50 62.50 82.50 0.940372 - 17.50 62.50 87.50 1.34853 - 17.50 62.50 92.50 1.91896 - 17.50 62.50 97.50 2.88022 - 17.50 62.50 102.50 3.61387 - 17.50 62.50 107.50 3.7508 - 17.50 62.50 112.50 3.52931 - 17.50 62.50 117.50 2.72954 - 17.50 62.50 122.50 1.58341 - 17.50 62.50 127.50 0.695811 - 17.50 62.50 132.50 0.216973 - 17.50 62.50 137.50 0.0430295 - 17.50 62.50 142.50 0.0137646 - 17.50 62.50 147.50 0.0237501 - 17.50 62.50 152.50 0.0597003 - 17.50 62.50 157.50 0.144009 - 17.50 62.50 162.50 0.291627 - 17.50 62.50 167.50 0.544237 - 17.50 62.50 172.50 0.940372 - 17.50 62.50 177.50 1.34853 - 17.50 62.50 182.50 1.91896 - 17.50 62.50 187.50 2.88022 - 17.50 62.50 192.50 3.61386 - 17.50 62.50 197.50 3.7508 - 17.50 62.50 202.50 3.52931 - 17.50 62.50 207.50 2.72954 - 17.50 62.50 212.50 1.58341 - 17.50 62.50 217.50 0.695812 - 17.50 62.50 222.50 0.216973 - 17.50 62.50 227.50 0.0430295 - 17.50 62.50 232.50 0.0137646 - 17.50 62.50 237.50 0.0237501 - 17.50 62.50 242.50 0.0597005 - 17.50 62.50 247.50 0.14401 - 17.50 62.50 252.50 0.291627 - 17.50 62.50 257.50 0.544238 - 17.50 62.50 262.50 0.940373 - 17.50 62.50 267.50 1.34853 - 17.50 62.50 272.50 1.91896 - 17.50 62.50 277.50 2.88022 - 17.50 62.50 282.50 3.61386 - 17.50 62.50 287.50 3.7508 - 17.50 62.50 292.50 3.52931 - 17.50 62.50 297.50 2.72954 - 17.50 62.50 302.50 1.58342 - 17.50 62.50 307.50 0.695812 - 17.50 62.50 312.50 0.216973 - 17.50 62.50 317.50 0.0430296 - 17.50 62.50 322.50 0.0137647 - 17.50 62.50 327.50 0.02375 - 17.50 62.50 332.50 0.0597003 - 17.50 62.50 337.50 0.144009 - 17.50 62.50 342.50 0.291626 - 17.50 62.50 347.50 0.544237 - 17.50 62.50 352.50 0.940371 - 17.50 62.50 357.50 1.34853 - 17.50 67.50 2.50 1.46987 - 17.50 67.50 7.50 2.3144 - 17.50 67.50 12.50 3.03827 - 17.50 67.50 17.50 3.35199 - 17.50 67.50 22.50 3.25018 - 17.50 67.50 27.50 2.54594 - 17.50 67.50 32.50 1.51121 - 17.50 67.50 37.50 0.725309 - 17.50 67.50 42.50 0.264226 - 17.50 67.50 47.50 0.0679237 - 17.50 67.50 52.50 0.0169017 - 17.50 67.50 57.50 0.0210163 - 17.50 67.50 62.50 0.0433063 - 17.50 67.50 67.50 0.0988995 - 17.50 67.50 72.50 0.240279 - 17.50 67.50 77.50 0.423829 - 17.50 67.50 82.50 0.7169 - 17.50 67.50 87.50 1.02875 - 17.50 67.50 92.50 1.46987 - 17.50 67.50 97.50 2.3144 - 17.50 67.50 102.50 3.03826 - 17.50 67.50 107.50 3.35198 - 17.50 67.50 112.50 3.25018 - 17.50 67.50 117.50 2.54594 - 17.50 67.50 122.50 1.51121 - 17.50 67.50 127.50 0.725308 - 17.50 67.50 132.50 0.264226 - 17.50 67.50 137.50 0.0679237 - 17.50 67.50 142.50 0.0169017 - 17.50 67.50 147.50 0.0210163 - 17.50 67.50 152.50 0.0433063 - 17.50 67.50 157.50 0.0988994 - 17.50 67.50 162.50 0.240279 - 17.50 67.50 167.50 0.423829 - 17.50 67.50 172.50 0.7169 - 17.50 67.50 177.50 1.02875 - 17.50 67.50 182.50 1.46987 - 17.50 67.50 187.50 2.3144 - 17.50 67.50 192.50 3.03826 - 17.50 67.50 197.50 3.35198 - 17.50 67.50 202.50 3.25018 - 17.50 67.50 207.50 2.54594 - 17.50 67.50 212.50 1.51121 - 17.50 67.50 217.50 0.725309 - 17.50 67.50 222.50 0.264226 - 17.50 67.50 227.50 0.0679237 - 17.50 67.50 232.50 0.0169017 - 17.50 67.50 237.50 0.0210164 - 17.50 67.50 242.50 0.0433063 - 17.50 67.50 247.50 0.0988997 - 17.50 67.50 252.50 0.24028 - 17.50 67.50 257.50 0.42383 - 17.50 67.50 262.50 0.716901 - 17.50 67.50 267.50 1.02875 - 17.50 67.50 272.50 1.46987 - 17.50 67.50 277.50 2.3144 - 17.50 67.50 282.50 3.03826 - 17.50 67.50 287.50 3.35198 - 17.50 67.50 292.50 3.25018 - 17.50 67.50 297.50 2.54594 - 17.50 67.50 302.50 1.51121 - 17.50 67.50 307.50 0.72531 - 17.50 67.50 312.50 0.264226 - 17.50 67.50 317.50 0.0679238 - 17.50 67.50 322.50 0.0169017 - 17.50 67.50 327.50 0.0210163 - 17.50 67.50 332.50 0.0433062 - 17.50 67.50 337.50 0.0988993 - 17.50 67.50 342.50 0.240279 - 17.50 67.50 347.50 0.423829 - 17.50 67.50 352.50 0.7169 - 17.50 67.50 357.50 1.02875 - 17.50 72.50 2.50 1.04451 - 17.50 72.50 7.50 1.66728 - 17.50 72.50 12.50 2.3662 - 17.50 72.50 17.50 2.71154 - 17.50 72.50 22.50 2.58171 - 17.50 72.50 27.50 1.94417 - 17.50 72.50 32.50 1.24363 - 17.50 72.50 37.50 0.617899 - 17.50 72.50 42.50 0.238278 - 17.50 72.50 47.50 0.0689169 - 17.50 72.50 52.50 0.0191545 - 17.50 72.50 57.50 0.0195902 - 17.50 72.50 62.50 0.0527094 - 17.50 72.50 67.50 0.107708 - 17.50 72.50 72.50 0.22959 - 17.50 72.50 77.50 0.406102 - 17.50 72.50 82.50 0.570906 - 17.50 72.50 87.50 0.759542 - 17.50 72.50 92.50 1.04451 - 17.50 72.50 97.50 1.66728 - 17.50 72.50 102.50 2.3662 - 17.50 72.50 107.50 2.71154 - 17.50 72.50 112.50 2.58172 - 17.50 72.50 117.50 1.94417 - 17.50 72.50 122.50 1.24363 - 17.50 72.50 127.50 0.617899 - 17.50 72.50 132.50 0.238278 - 17.50 72.50 137.50 0.0689169 - 17.50 72.50 142.50 0.0191545 - 17.50 72.50 147.50 0.0195902 - 17.50 72.50 152.50 0.0527093 - 17.50 72.50 157.50 0.107708 - 17.50 72.50 162.50 0.22959 - 17.50 72.50 167.50 0.406102 - 17.50 72.50 172.50 0.570906 - 17.50 72.50 177.50 0.759542 - 17.50 72.50 182.50 1.04451 - 17.50 72.50 187.50 1.66728 - 17.50 72.50 192.50 2.3662 - 17.50 72.50 197.50 2.71154 - 17.50 72.50 202.50 2.58171 - 17.50 72.50 207.50 1.94417 - 17.50 72.50 212.50 1.24363 - 17.50 72.50 217.50 0.617899 - 17.50 72.50 222.50 0.238278 - 17.50 72.50 227.50 0.068917 - 17.50 72.50 232.50 0.0191544 - 17.50 72.50 237.50 0.0195902 - 17.50 72.50 242.50 0.0527095 - 17.50 72.50 247.50 0.107708 - 17.50 72.50 252.50 0.22959 - 17.50 72.50 257.50 0.406103 - 17.50 72.50 262.50 0.570907 - 17.50 72.50 267.50 0.759542 - 17.50 72.50 272.50 1.04451 - 17.50 72.50 277.50 1.66728 - 17.50 72.50 282.50 2.3662 - 17.50 72.50 287.50 2.71154 - 17.50 72.50 292.50 2.58171 - 17.50 72.50 297.50 1.94417 - 17.50 72.50 302.50 1.24363 - 17.50 72.50 307.50 0.617899 - 17.50 72.50 312.50 0.238278 - 17.50 72.50 317.50 0.068917 - 17.50 72.50 322.50 0.0191545 - 17.50 72.50 327.50 0.0195902 - 17.50 72.50 332.50 0.0527094 - 17.50 72.50 337.50 0.107708 - 17.50 72.50 342.50 0.229589 - 17.50 72.50 347.50 0.406102 - 17.50 72.50 352.50 0.570906 - 17.50 72.50 357.50 0.759542 - 17.50 77.50 2.50 0.6554 - 17.50 77.50 7.50 1.09969 - 17.50 77.50 12.50 1.54179 - 17.50 77.50 17.50 1.8355 - 17.50 77.50 22.50 1.66899 - 17.50 77.50 27.50 1.26046 - 17.50 77.50 32.50 0.84498 - 17.50 77.50 37.50 0.456396 - 17.50 77.50 42.50 0.189234 - 17.50 77.50 47.50 0.0705296 - 17.50 77.50 52.50 0.0243951 - 17.50 77.50 57.50 0.0230554 - 17.50 77.50 62.50 0.0495344 - 17.50 77.50 67.50 0.115984 - 17.50 77.50 72.50 0.213 - 17.50 77.50 77.50 0.363064 - 17.50 77.50 82.50 0.446929 - 17.50 77.50 87.50 0.515124 - 17.50 77.50 92.50 0.6554 - 17.50 77.50 97.50 1.09969 - 17.50 77.50 102.50 1.54179 - 17.50 77.50 107.50 1.8355 - 17.50 77.50 112.50 1.669 - 17.50 77.50 117.50 1.26046 - 17.50 77.50 122.50 0.84498 - 17.50 77.50 127.50 0.456396 - 17.50 77.50 132.50 0.189233 - 17.50 77.50 137.50 0.0705296 - 17.50 77.50 142.50 0.0243952 - 17.50 77.50 147.50 0.0230554 - 17.50 77.50 152.50 0.0495344 - 17.50 77.50 157.50 0.115984 - 17.50 77.50 162.50 0.213 - 17.50 77.50 167.50 0.363064 - 17.50 77.50 172.50 0.446929 - 17.50 77.50 177.50 0.515124 - 17.50 77.50 182.50 0.655401 - 17.50 77.50 187.50 1.09969 - 17.50 77.50 192.50 1.54179 - 17.50 77.50 197.50 1.8355 - 17.50 77.50 202.50 1.66899 - 17.50 77.50 207.50 1.26046 - 17.50 77.50 212.50 0.84498 - 17.50 77.50 217.50 0.456397 - 17.50 77.50 222.50 0.189234 - 17.50 77.50 227.50 0.0705297 - 17.50 77.50 232.50 0.0243951 - 17.50 77.50 237.50 0.0230554 - 17.50 77.50 242.50 0.0495345 - 17.50 77.50 247.50 0.115984 - 17.50 77.50 252.50 0.213001 - 17.50 77.50 257.50 0.363064 - 17.50 77.50 262.50 0.446929 - 17.50 77.50 267.50 0.515124 - 17.50 77.50 272.50 0.655401 - 17.50 77.50 277.50 1.09968 - 17.50 77.50 282.50 1.54179 - 17.50 77.50 287.50 1.8355 - 17.50 77.50 292.50 1.66899 - 17.50 77.50 297.50 1.26046 - 17.50 77.50 302.50 0.844981 - 17.50 77.50 307.50 0.456397 - 17.50 77.50 312.50 0.189234 - 17.50 77.50 317.50 0.0705298 - 17.50 77.50 322.50 0.0243952 - 17.50 77.50 327.50 0.0230554 - 17.50 77.50 332.50 0.0495343 - 17.50 77.50 337.50 0.115984 - 17.50 77.50 342.50 0.213 - 17.50 77.50 347.50 0.363064 - 17.50 77.50 352.50 0.446928 - 17.50 77.50 357.50 0.515123 - 17.50 82.50 2.50 0.376554 - 17.50 82.50 7.50 0.612695 - 17.50 82.50 12.50 0.843313 - 17.50 82.50 17.50 0.952143 - 17.50 82.50 22.50 0.834678 - 17.50 82.50 27.50 0.660442 - 17.50 82.50 32.50 0.45187 - 17.50 82.50 37.50 0.264102 - 17.50 82.50 42.50 0.134073 - 17.50 82.50 47.50 0.0546284 - 17.50 82.50 52.50 0.0220597 - 17.50 82.50 57.50 0.025875 - 17.50 82.50 62.50 0.0616448 - 17.50 82.50 67.50 0.128137 - 17.50 82.50 72.50 0.220472 - 17.50 82.50 77.50 0.281981 - 17.50 82.50 82.50 0.333227 - 17.50 82.50 87.50 0.348028 - 17.50 82.50 92.50 0.376554 - 17.50 82.50 97.50 0.612695 - 17.50 82.50 102.50 0.843313 - 17.50 82.50 107.50 0.952143 - 17.50 82.50 112.50 0.834678 - 17.50 82.50 117.50 0.660442 - 17.50 82.50 122.50 0.45187 - 17.50 82.50 127.50 0.264102 - 17.50 82.50 132.50 0.134073 - 17.50 82.50 137.50 0.0546285 - 17.50 82.50 142.50 0.0220598 - 17.50 82.50 147.50 0.025875 - 17.50 82.50 152.50 0.0616447 - 17.50 82.50 157.50 0.128137 - 17.50 82.50 162.50 0.220472 - 17.50 82.50 167.50 0.281981 - 17.50 82.50 172.50 0.333228 - 17.50 82.50 177.50 0.348028 - 17.50 82.50 182.50 0.376554 - 17.50 82.50 187.50 0.612695 - 17.50 82.50 192.50 0.843313 - 17.50 82.50 197.50 0.952144 - 17.50 82.50 202.50 0.834679 - 17.50 82.50 207.50 0.660442 - 17.50 82.50 212.50 0.45187 - 17.50 82.50 217.50 0.264102 - 17.50 82.50 222.50 0.134073 - 17.50 82.50 227.50 0.0546285 - 17.50 82.50 232.50 0.0220597 - 17.50 82.50 237.50 0.0258751 - 17.50 82.50 242.50 0.0616449 - 17.50 82.50 247.50 0.128138 - 17.50 82.50 252.50 0.220472 - 17.50 82.50 257.50 0.281981 - 17.50 82.50 262.50 0.333228 - 17.50 82.50 267.50 0.348027 - 17.50 82.50 272.50 0.376554 - 17.50 82.50 277.50 0.612695 - 17.50 82.50 282.50 0.843313 - 17.50 82.50 287.50 0.952143 - 17.50 82.50 292.50 0.834678 - 17.50 82.50 297.50 0.660442 - 17.50 82.50 302.50 0.45187 - 17.50 82.50 307.50 0.264102 - 17.50 82.50 312.50 0.134073 - 17.50 82.50 317.50 0.0546285 - 17.50 82.50 322.50 0.0220598 - 17.50 82.50 327.50 0.025875 - 17.50 82.50 332.50 0.0616447 - 17.50 82.50 337.50 0.128137 - 17.50 82.50 342.50 0.220472 - 17.50 82.50 347.50 0.281981 - 17.50 82.50 352.50 0.333228 - 17.50 82.50 357.50 0.348028 - 17.50 87.50 2.50 0.210388 - 17.50 87.50 7.50 0.284063 - 17.50 87.50 12.50 0.377081 - 17.50 87.50 17.50 0.42735 - 17.50 87.50 22.50 0.364918 - 17.50 87.50 27.50 0.277652 - 17.50 87.50 32.50 0.212862 - 17.50 87.50 37.50 0.14345 - 17.50 87.50 42.50 0.0713344 - 17.50 87.50 47.50 0.0282047 - 17.50 87.50 52.50 0.0220956 - 17.50 87.50 57.50 0.0401866 - 17.50 87.50 62.50 0.068641 - 17.50 87.50 67.50 0.116772 - 17.50 87.50 72.50 0.22208 - 17.50 87.50 77.50 0.330838 - 17.50 87.50 82.50 0.290578 - 17.50 87.50 87.50 0.216551 - 17.50 87.50 92.50 0.210388 - 17.50 87.50 97.50 0.284063 - 17.50 87.50 102.50 0.377082 - 17.50 87.50 107.50 0.42735 - 17.50 87.50 112.50 0.364918 - 17.50 87.50 117.50 0.277652 - 17.50 87.50 122.50 0.212862 - 17.50 87.50 127.50 0.14345 - 17.50 87.50 132.50 0.0713344 - 17.50 87.50 137.50 0.0282047 - 17.50 87.50 142.50 0.0220956 - 17.50 87.50 147.50 0.0401867 - 17.50 87.50 152.50 0.0686409 - 17.50 87.50 157.50 0.116772 - 17.50 87.50 162.50 0.22208 - 17.50 87.50 167.50 0.330838 - 17.50 87.50 172.50 0.290578 - 17.50 87.50 177.50 0.216551 - 17.50 87.50 182.50 0.210388 - 17.50 87.50 187.50 0.284063 - 17.50 87.50 192.50 0.377082 - 17.50 87.50 197.50 0.42735 - 17.50 87.50 202.50 0.364918 - 17.50 87.50 207.50 0.277652 - 17.50 87.50 212.50 0.212862 - 17.50 87.50 217.50 0.14345 - 17.50 87.50 222.50 0.0713344 - 17.50 87.50 227.50 0.0282048 - 17.50 87.50 232.50 0.0220957 - 17.50 87.50 237.50 0.0401867 - 17.50 87.50 242.50 0.068641 - 17.50 87.50 247.50 0.116772 - 17.50 87.50 252.50 0.22208 - 17.50 87.50 257.50 0.330838 - 17.50 87.50 262.50 0.290578 - 17.50 87.50 267.50 0.216551 - 17.50 87.50 272.50 0.210388 - 17.50 87.50 277.50 0.284063 - 17.50 87.50 282.50 0.377082 - 17.50 87.50 287.50 0.42735 - 17.50 87.50 292.50 0.364918 - 17.50 87.50 297.50 0.277652 - 17.50 87.50 302.50 0.212862 - 17.50 87.50 307.50 0.14345 - 17.50 87.50 312.50 0.0713345 - 17.50 87.50 317.50 0.0282048 - 17.50 87.50 322.50 0.0220956 - 17.50 87.50 327.50 0.0401866 - 17.50 87.50 332.50 0.0686409 - 17.50 87.50 337.50 0.116772 - 17.50 87.50 342.50 0.22208 - 17.50 87.50 347.50 0.330838 - 17.50 87.50 352.50 0.290578 - 17.50 87.50 357.50 0.216551 - 17.50 92.50 2.50 0.149977 - 17.50 92.50 7.50 0.172972 - 17.50 92.50 12.50 0.230709 - 17.50 92.50 17.50 0.244703 - 17.50 92.50 22.50 0.200246 - 17.50 92.50 27.50 0.151509 - 17.50 92.50 32.50 0.120114 - 17.50 92.50 37.50 0.080885 - 17.50 92.50 42.50 0.0382171 - 17.50 92.50 47.50 0.0202141 - 17.50 92.50 52.50 0.0382172 - 17.50 92.50 57.50 0.080885 - 17.50 92.50 62.50 0.120114 - 17.50 92.50 67.50 0.151509 - 17.50 92.50 72.50 0.200246 - 17.50 92.50 77.50 0.244704 - 17.50 92.50 82.50 0.230709 - 17.50 92.50 87.50 0.172972 - 17.50 92.50 92.50 0.149977 - 17.50 92.50 97.50 0.172972 - 17.50 92.50 102.50 0.230709 - 17.50 92.50 107.50 0.244704 - 17.50 92.50 112.50 0.200246 - 17.50 92.50 117.50 0.151509 - 17.50 92.50 122.50 0.120114 - 17.50 92.50 127.50 0.0808849 - 17.50 92.50 132.50 0.0382171 - 17.50 92.50 137.50 0.0202141 - 17.50 92.50 142.50 0.0382171 - 17.50 92.50 147.50 0.080885 - 17.50 92.50 152.50 0.120114 - 17.50 92.50 157.50 0.151509 - 17.50 92.50 162.50 0.200246 - 17.50 92.50 167.50 0.244704 - 17.50 92.50 172.50 0.230709 - 17.50 92.50 177.50 0.172972 - 17.50 92.50 182.50 0.149977 - 17.50 92.50 187.50 0.172972 - 17.50 92.50 192.50 0.230709 - 17.50 92.50 197.50 0.244704 - 17.50 92.50 202.50 0.200246 - 17.50 92.50 207.50 0.151509 - 17.50 92.50 212.50 0.120114 - 17.50 92.50 217.50 0.080885 - 17.50 92.50 222.50 0.0382171 - 17.50 92.50 227.50 0.0202141 - 17.50 92.50 232.50 0.0382172 - 17.50 92.50 237.50 0.0808851 - 17.50 92.50 242.50 0.120114 - 17.50 92.50 247.50 0.151509 - 17.50 92.50 252.50 0.200246 - 17.50 92.50 257.50 0.244704 - 17.50 92.50 262.50 0.230709 - 17.50 92.50 267.50 0.172972 - 17.50 92.50 272.50 0.149977 - 17.50 92.50 277.50 0.172972 - 17.50 92.50 282.50 0.230709 - 17.50 92.50 287.50 0.244704 - 17.50 92.50 292.50 0.200246 - 17.50 92.50 297.50 0.151509 - 17.50 92.50 302.50 0.120114 - 17.50 92.50 307.50 0.080885 - 17.50 92.50 312.50 0.0382171 - 17.50 92.50 317.50 0.0202141 - 17.50 92.50 322.50 0.0382171 - 17.50 92.50 327.50 0.0808849 - 17.50 92.50 332.50 0.120114 - 17.50 92.50 337.50 0.151509 - 17.50 92.50 342.50 0.200246 - 17.50 92.50 347.50 0.244704 - 17.50 92.50 352.50 0.230709 - 17.50 92.50 357.50 0.172972 - 17.50 97.50 2.50 0.210389 - 17.50 97.50 7.50 0.216551 - 17.50 97.50 12.50 0.290578 - 17.50 97.50 17.50 0.330838 - 17.50 97.50 22.50 0.22208 - 17.50 97.50 27.50 0.116772 - 17.50 97.50 32.50 0.0686409 - 17.50 97.50 37.50 0.0401866 - 17.50 97.50 42.50 0.0220957 - 17.50 97.50 47.50 0.0282048 - 17.50 97.50 52.50 0.0713344 - 17.50 97.50 57.50 0.14345 - 17.50 97.50 62.50 0.212862 - 17.50 97.50 67.50 0.277652 - 17.50 97.50 72.50 0.364918 - 17.50 97.50 77.50 0.42735 - 17.50 97.50 82.50 0.377081 - 17.50 97.50 87.50 0.284063 - 17.50 97.50 92.50 0.210389 - 17.50 97.50 97.50 0.216551 - 17.50 97.50 102.50 0.290578 - 17.50 97.50 107.50 0.330838 - 17.50 97.50 112.50 0.22208 - 17.50 97.50 117.50 0.116772 - 17.50 97.50 122.50 0.0686409 - 17.50 97.50 127.50 0.0401866 - 17.50 97.50 132.50 0.0220956 - 17.50 97.50 137.50 0.0282048 - 17.50 97.50 142.50 0.0713344 - 17.50 97.50 147.50 0.14345 - 17.50 97.50 152.50 0.212862 - 17.50 97.50 157.50 0.277652 - 17.50 97.50 162.50 0.364918 - 17.50 97.50 167.50 0.42735 - 17.50 97.50 172.50 0.377082 - 17.50 97.50 177.50 0.284063 - 17.50 97.50 182.50 0.210389 - 17.50 97.50 187.50 0.216551 - 17.50 97.50 192.50 0.290578 - 17.50 97.50 197.50 0.330838 - 17.50 97.50 202.50 0.22208 - 17.50 97.50 207.50 0.116772 - 17.50 97.50 212.50 0.068641 - 17.50 97.50 217.50 0.0401866 - 17.50 97.50 222.50 0.0220957 - 17.50 97.50 227.50 0.0282047 - 17.50 97.50 232.50 0.0713345 - 17.50 97.50 237.50 0.14345 - 17.50 97.50 242.50 0.212862 - 17.50 97.50 247.50 0.277652 - 17.50 97.50 252.50 0.364918 - 17.50 97.50 257.50 0.42735 - 17.50 97.50 262.50 0.377082 - 17.50 97.50 267.50 0.284063 - 17.50 97.50 272.50 0.210389 - 17.50 97.50 277.50 0.216551 - 17.50 97.50 282.50 0.290578 - 17.50 97.50 287.50 0.330838 - 17.50 97.50 292.50 0.22208 - 17.50 97.50 297.50 0.116772 - 17.50 97.50 302.50 0.068641 - 17.50 97.50 307.50 0.0401866 - 17.50 97.50 312.50 0.0220957 - 17.50 97.50 317.50 0.0282047 - 17.50 97.50 322.50 0.0713342 - 17.50 97.50 327.50 0.14345 - 17.50 97.50 332.50 0.212862 - 17.50 97.50 337.50 0.277652 - 17.50 97.50 342.50 0.364918 - 17.50 97.50 347.50 0.42735 - 17.50 97.50 352.50 0.377082 - 17.50 97.50 357.50 0.284063 - 17.50 102.50 2.50 0.376554 - 17.50 102.50 7.50 0.348028 - 17.50 102.50 12.50 0.333228 - 17.50 102.50 17.50 0.281981 - 17.50 102.50 22.50 0.220472 - 17.50 102.50 27.50 0.128137 - 17.50 102.50 32.50 0.0616447 - 17.50 102.50 37.50 0.025875 - 17.50 102.50 42.50 0.0220598 - 17.50 102.50 47.50 0.0546285 - 17.50 102.50 52.50 0.134073 - 17.50 102.50 57.50 0.264102 - 17.50 102.50 62.50 0.45187 - 17.50 102.50 67.50 0.660442 - 17.50 102.50 72.50 0.834679 - 17.50 102.50 77.50 0.952143 - 17.50 102.50 82.50 0.843313 - 17.50 102.50 87.50 0.612695 - 17.50 102.50 92.50 0.376554 - 17.50 102.50 97.50 0.348027 - 17.50 102.50 102.50 0.333228 - 17.50 102.50 107.50 0.281981 - 17.50 102.50 112.50 0.220472 - 17.50 102.50 117.50 0.128137 - 17.50 102.50 122.50 0.0616447 - 17.50 102.50 127.50 0.025875 - 17.50 102.50 132.50 0.0220598 - 17.50 102.50 137.50 0.0546285 - 17.50 102.50 142.50 0.134073 - 17.50 102.50 147.50 0.264102 - 17.50 102.50 152.50 0.45187 - 17.50 102.50 157.50 0.660442 - 17.50 102.50 162.50 0.834678 - 17.50 102.50 167.50 0.952143 - 17.50 102.50 172.50 0.843313 - 17.50 102.50 177.50 0.612695 - 17.50 102.50 182.50 0.376554 - 17.50 102.50 187.50 0.348028 - 17.50 102.50 192.50 0.333228 - 17.50 102.50 197.50 0.281981 - 17.50 102.50 202.50 0.220472 - 17.50 102.50 207.50 0.128137 - 17.50 102.50 212.50 0.0616447 - 17.50 102.50 217.50 0.025875 - 17.50 102.50 222.50 0.0220597 - 17.50 102.50 227.50 0.0546284 - 17.50 102.50 232.50 0.134074 - 17.50 102.50 237.50 0.264102 - 17.50 102.50 242.50 0.45187 - 17.50 102.50 247.50 0.660442 - 17.50 102.50 252.50 0.834678 - 17.50 102.50 257.50 0.952143 - 17.50 102.50 262.50 0.843313 - 17.50 102.50 267.50 0.612695 - 17.50 102.50 272.50 0.376554 - 17.50 102.50 277.50 0.348028 - 17.50 102.50 282.50 0.333228 - 17.50 102.50 287.50 0.281981 - 17.50 102.50 292.50 0.220472 - 17.50 102.50 297.50 0.128137 - 17.50 102.50 302.50 0.0616448 - 17.50 102.50 307.50 0.025875 - 17.50 102.50 312.50 0.0220598 - 17.50 102.50 317.50 0.0546284 - 17.50 102.50 322.50 0.134073 - 17.50 102.50 327.50 0.264102 - 17.50 102.50 332.50 0.451869 - 17.50 102.50 337.50 0.660441 - 17.50 102.50 342.50 0.834678 - 17.50 102.50 347.50 0.952143 - 17.50 102.50 352.50 0.843313 - 17.50 102.50 357.50 0.612696 - 17.50 107.50 2.50 0.655401 - 17.50 107.50 7.50 0.515123 - 17.50 107.50 12.50 0.446929 - 17.50 107.50 17.50 0.363064 - 17.50 107.50 22.50 0.213 - 17.50 107.50 27.50 0.115984 - 17.50 107.50 32.50 0.0495343 - 17.50 107.50 37.50 0.0230554 - 17.50 107.50 42.50 0.0243952 - 17.50 107.50 47.50 0.0705298 - 17.50 107.50 52.50 0.189234 - 17.50 107.50 57.50 0.456397 - 17.50 107.50 62.50 0.844981 - 17.50 107.50 67.50 1.26046 - 17.50 107.50 72.50 1.669 - 17.50 107.50 77.50 1.8355 - 17.50 107.50 82.50 1.54179 - 17.50 107.50 87.50 1.09968 - 17.50 107.50 92.50 0.655401 - 17.50 107.50 97.50 0.515123 - 17.50 107.50 102.50 0.446929 - 17.50 107.50 107.50 0.363064 - 17.50 107.50 112.50 0.213 - 17.50 107.50 117.50 0.115984 - 17.50 107.50 122.50 0.0495343 - 17.50 107.50 127.50 0.0230554 - 17.50 107.50 132.50 0.0243952 - 17.50 107.50 137.50 0.0705298 - 17.50 107.50 142.50 0.189234 - 17.50 107.50 147.50 0.456396 - 17.50 107.50 152.50 0.84498 - 17.50 107.50 157.50 1.26046 - 17.50 107.50 162.50 1.66899 - 17.50 107.50 167.50 1.8355 - 17.50 107.50 172.50 1.54179 - 17.50 107.50 177.50 1.09969 - 17.50 107.50 182.50 0.655401 - 17.50 107.50 187.50 0.515123 - 17.50 107.50 192.50 0.446929 - 17.50 107.50 197.50 0.363064 - 17.50 107.50 202.50 0.213 - 17.50 107.50 207.50 0.115984 - 17.50 107.50 212.50 0.0495343 - 17.50 107.50 217.50 0.0230554 - 17.50 107.50 222.50 0.0243951 - 17.50 107.50 227.50 0.0705296 - 17.50 107.50 232.50 0.189234 - 17.50 107.50 237.50 0.456397 - 17.50 107.50 242.50 0.844981 - 17.50 107.50 247.50 1.26046 - 17.50 107.50 252.50 1.669 - 17.50 107.50 257.50 1.8355 - 17.50 107.50 262.50 1.54179 - 17.50 107.50 267.50 1.09968 - 17.50 107.50 272.50 0.655401 - 17.50 107.50 277.50 0.515124 - 17.50 107.50 282.50 0.446929 - 17.50 107.50 287.50 0.363064 - 17.50 107.50 292.50 0.213 - 17.50 107.50 297.50 0.115984 - 17.50 107.50 302.50 0.0495344 - 17.50 107.50 307.50 0.0230554 - 17.50 107.50 312.50 0.0243951 - 17.50 107.50 317.50 0.0705296 - 17.50 107.50 322.50 0.189233 - 17.50 107.50 327.50 0.456396 - 17.50 107.50 332.50 0.844979 - 17.50 107.50 337.50 1.26046 - 17.50 107.50 342.50 1.66899 - 17.50 107.50 347.50 1.83551 - 17.50 107.50 352.50 1.54179 - 17.50 107.50 357.50 1.09969 - 17.50 112.50 2.50 1.04451 - 17.50 112.50 7.50 0.759542 - 17.50 112.50 12.50 0.570906 - 17.50 112.50 17.50 0.406103 - 17.50 112.50 22.50 0.22959 - 17.50 112.50 27.50 0.107708 - 17.50 112.50 32.50 0.0527094 - 17.50 112.50 37.50 0.0195902 - 17.50 112.50 42.50 0.0191545 - 17.50 112.50 47.50 0.0689171 - 17.50 112.50 52.50 0.238278 - 17.50 112.50 57.50 0.617899 - 17.50 112.50 62.50 1.24363 - 17.50 112.50 67.50 1.94417 - 17.50 112.50 72.50 2.58171 - 17.50 112.50 77.50 2.71154 - 17.50 112.50 82.50 2.3662 - 17.50 112.50 87.50 1.66728 - 17.50 112.50 92.50 1.04451 - 17.50 112.50 97.50 0.759542 - 17.50 112.50 102.50 0.570906 - 17.50 112.50 107.50 0.406103 - 17.50 112.50 112.50 0.22959 - 17.50 112.50 117.50 0.107708 - 17.50 112.50 122.50 0.0527094 - 17.50 112.50 127.50 0.0195902 - 17.50 112.50 132.50 0.0191545 - 17.50 112.50 137.50 0.0689171 - 17.50 112.50 142.50 0.238278 - 17.50 112.50 147.50 0.617899 - 17.50 112.50 152.50 1.24363 - 17.50 112.50 157.50 1.94417 - 17.50 112.50 162.50 2.58171 - 17.50 112.50 167.50 2.71154 - 17.50 112.50 172.50 2.3662 - 17.50 112.50 177.50 1.66728 - 17.50 112.50 182.50 1.04451 - 17.50 112.50 187.50 0.759542 - 17.50 112.50 192.50 0.570906 - 17.50 112.50 197.50 0.406103 - 17.50 112.50 202.50 0.22959 - 17.50 112.50 207.50 0.107708 - 17.50 112.50 212.50 0.0527094 - 17.50 112.50 217.50 0.0195902 - 17.50 112.50 222.50 0.0191545 - 17.50 112.50 227.50 0.0689169 - 17.50 112.50 232.50 0.238279 - 17.50 112.50 237.50 0.617899 - 17.50 112.50 242.50 1.24363 - 17.50 112.50 247.50 1.94417 - 17.50 112.50 252.50 2.58171 - 17.50 112.50 257.50 2.71154 - 17.50 112.50 262.50 2.3662 - 17.50 112.50 267.50 1.66728 - 17.50 112.50 272.50 1.04451 - 17.50 112.50 277.50 0.759542 - 17.50 112.50 282.50 0.570906 - 17.50 112.50 287.50 0.406103 - 17.50 112.50 292.50 0.22959 - 17.50 112.50 297.50 0.107708 - 17.50 112.50 302.50 0.0527095 - 17.50 112.50 307.50 0.0195902 - 17.50 112.50 312.50 0.0191545 - 17.50 112.50 317.50 0.0689169 - 17.50 112.50 322.50 0.238277 - 17.50 112.50 327.50 0.617898 - 17.50 112.50 332.50 1.24363 - 17.50 112.50 337.50 1.94417 - 17.50 112.50 342.50 2.58171 - 17.50 112.50 347.50 2.71154 - 17.50 112.50 352.50 2.3662 - 17.50 112.50 357.50 1.66728 - 17.50 117.50 2.50 1.46987 - 17.50 117.50 7.50 1.02875 - 17.50 117.50 12.50 0.716901 - 17.50 117.50 17.50 0.42383 - 17.50 117.50 22.50 0.240279 - 17.50 117.50 27.50 0.0988994 - 17.50 117.50 32.50 0.0433063 - 17.50 117.50 37.50 0.0210163 - 17.50 117.50 42.50 0.0169017 - 17.50 117.50 47.50 0.0679238 - 17.50 117.50 52.50 0.264227 - 17.50 117.50 57.50 0.725311 - 17.50 117.50 62.50 1.51121 - 17.50 117.50 67.50 2.54594 - 17.50 117.50 72.50 3.25018 - 17.50 117.50 77.50 3.35199 - 17.50 117.50 82.50 3.03826 - 17.50 117.50 87.50 2.3144 - 17.50 117.50 92.50 1.46987 - 17.50 117.50 97.50 1.02875 - 17.50 117.50 102.50 0.7169 - 17.50 117.50 107.50 0.423829 - 17.50 117.50 112.50 0.240279 - 17.50 117.50 117.50 0.0988994 - 17.50 117.50 122.50 0.0433062 - 17.50 117.50 127.50 0.0210163 - 17.50 117.50 132.50 0.0169017 - 17.50 117.50 137.50 0.0679238 - 17.50 117.50 142.50 0.264226 - 17.50 117.50 147.50 0.72531 - 17.50 117.50 152.50 1.51121 - 17.50 117.50 157.50 2.54594 - 17.50 117.50 162.50 3.25018 - 17.50 117.50 167.50 3.35199 - 17.50 117.50 172.50 3.03827 - 17.50 117.50 177.50 2.3144 - 17.50 117.50 182.50 1.46987 - 17.50 117.50 187.50 1.02875 - 17.50 117.50 192.50 0.7169 - 17.50 117.50 197.50 0.42383 - 17.50 117.50 202.50 0.240279 - 17.50 117.50 207.50 0.0988994 - 17.50 117.50 212.50 0.0433063 - 17.50 117.50 217.50 0.0210163 - 17.50 117.50 222.50 0.0169017 - 17.50 117.50 227.50 0.0679236 - 17.50 117.50 232.50 0.264226 - 17.50 117.50 237.50 0.725311 - 17.50 117.50 242.50 1.51121 - 17.50 117.50 247.50 2.54594 - 17.50 117.50 252.50 3.25018 - 17.50 117.50 257.50 3.35198 - 17.50 117.50 262.50 3.03826 - 17.50 117.50 267.50 2.3144 - 17.50 117.50 272.50 1.46987 - 17.50 117.50 277.50 1.02875 - 17.50 117.50 282.50 0.716901 - 17.50 117.50 287.50 0.423829 - 17.50 117.50 292.50 0.240279 - 17.50 117.50 297.50 0.0988995 - 17.50 117.50 302.50 0.0433064 - 17.50 117.50 307.50 0.0210164 - 17.50 117.50 312.50 0.0169017 - 17.50 117.50 317.50 0.0679236 - 17.50 117.50 322.50 0.264226 - 17.50 117.50 327.50 0.725308 - 17.50 117.50 332.50 1.51121 - 17.50 117.50 337.50 2.54594 - 17.50 117.50 342.50 3.25017 - 17.50 117.50 347.50 3.35198 - 17.50 117.50 352.50 3.03827 - 17.50 117.50 357.50 2.3144 - 17.50 122.50 2.50 1.91896 - 17.50 122.50 7.50 1.34853 - 17.50 122.50 12.50 0.940372 - 17.50 122.50 17.50 0.544238 - 17.50 122.50 22.50 0.291627 - 17.50 122.50 27.50 0.144009 - 17.50 122.50 32.50 0.0597004 - 17.50 122.50 37.50 0.02375 - 17.50 122.50 42.50 0.0137646 - 17.50 122.50 47.50 0.0430295 - 17.50 122.50 52.50 0.216973 - 17.50 122.50 57.50 0.695812 - 17.50 122.50 62.50 1.58342 - 17.50 122.50 67.50 2.72954 - 17.50 122.50 72.50 3.52931 - 17.50 122.50 77.50 3.7508 - 17.50 122.50 82.50 3.61387 - 17.50 122.50 87.50 2.88022 - 17.50 122.50 92.50 1.91896 - 17.50 122.50 97.50 1.34853 - 17.50 122.50 102.50 0.940372 - 17.50 122.50 107.50 0.544237 - 17.50 122.50 112.50 0.291627 - 17.50 122.50 117.50 0.144009 - 17.50 122.50 122.50 0.0597003 - 17.50 122.50 127.50 0.02375 - 17.50 122.50 132.50 0.0137647 - 17.50 122.50 137.50 0.0430295 - 17.50 122.50 142.50 0.216973 - 17.50 122.50 147.50 0.695812 - 17.50 122.50 152.50 1.58341 - 17.50 122.50 157.50 2.72954 - 17.50 122.50 162.50 3.52931 - 17.50 122.50 167.50 3.7508 - 17.50 122.50 172.50 3.61387 - 17.50 122.50 177.50 2.88023 - 17.50 122.50 182.50 1.91896 - 17.50 122.50 187.50 1.34853 - 17.50 122.50 192.50 0.940372 - 17.50 122.50 197.50 0.544238 - 17.50 122.50 202.50 0.291627 - 17.50 122.50 207.50 0.144009 - 17.50 122.50 212.50 0.0597004 - 17.50 122.50 217.50 0.02375 - 17.50 122.50 222.50 0.0137646 - 17.50 122.50 227.50 0.0430294 - 17.50 122.50 232.50 0.216973 - 17.50 122.50 237.50 0.695812 - 17.50 122.50 242.50 1.58342 - 17.50 122.50 247.50 2.72954 - 17.50 122.50 252.50 3.52931 - 17.50 122.50 257.50 3.7508 - 17.50 122.50 262.50 3.61386 - 17.50 122.50 267.50 2.88022 - 17.50 122.50 272.50 1.91896 - 17.50 122.50 277.50 1.34853 - 17.50 122.50 282.50 0.940372 - 17.50 122.50 287.50 0.544238 - 17.50 122.50 292.50 0.291627 - 17.50 122.50 297.50 0.14401 - 17.50 122.50 302.50 0.0597005 - 17.50 122.50 307.50 0.0237501 - 17.50 122.50 312.50 0.0137646 - 17.50 122.50 317.50 0.0430293 - 17.50 122.50 322.50 0.216972 - 17.50 122.50 327.50 0.69581 - 17.50 122.50 332.50 1.58341 - 17.50 122.50 337.50 2.72953 - 17.50 122.50 342.50 3.52931 - 17.50 122.50 347.50 3.7508 - 17.50 122.50 352.50 3.61387 - 17.50 122.50 357.50 2.88023 - 17.50 127.50 2.50 2.48318 - 17.50 127.50 7.50 1.78362 - 17.50 127.50 12.50 1.28426 - 17.50 127.50 17.50 0.809533 - 17.50 127.50 22.50 0.433036 - 17.50 127.50 27.50 0.220749 - 17.50 127.50 32.50 0.0885527 - 17.50 127.50 37.50 0.0338978 - 17.50 127.50 42.50 0.0169254 - 17.50 127.50 47.50 0.0411971 - 17.50 127.50 52.50 0.156568 - 17.50 127.50 57.50 0.527503 - 17.50 127.50 62.50 1.33187 - 17.50 127.50 67.50 2.38044 - 17.50 127.50 72.50 3.3656 - 17.50 127.50 77.50 3.88467 - 17.50 127.50 82.50 4.04575 - 17.50 127.50 87.50 3.38839 - 17.50 127.50 92.50 2.48318 - 17.50 127.50 97.50 1.78362 - 17.50 127.50 102.50 1.28426 - 17.50 127.50 107.50 0.809533 - 17.50 127.50 112.50 0.433036 - 17.50 127.50 117.50 0.220748 - 17.50 127.50 122.50 0.0885527 - 17.50 127.50 127.50 0.0338978 - 17.50 127.50 132.50 0.0169254 - 17.50 127.50 137.50 0.0411971 - 17.50 127.50 142.50 0.156568 - 17.50 127.50 147.50 0.527503 - 17.50 127.50 152.50 1.33187 - 17.50 127.50 157.50 2.38044 - 17.50 127.50 162.50 3.3656 - 17.50 127.50 167.50 3.88467 - 17.50 127.50 172.50 4.04575 - 17.50 127.50 177.50 3.38839 - 17.50 127.50 182.50 2.48318 - 17.50 127.50 187.50 1.78362 - 17.50 127.50 192.50 1.28426 - 17.50 127.50 197.50 0.809533 - 17.50 127.50 202.50 0.433036 - 17.50 127.50 207.50 0.220749 - 17.50 127.50 212.50 0.0885527 - 17.50 127.50 217.50 0.0338978 - 17.50 127.50 222.50 0.0169254 - 17.50 127.50 227.50 0.041197 - 17.50 127.50 232.50 0.156569 - 17.50 127.50 237.50 0.527503 - 17.50 127.50 242.50 1.33187 - 17.50 127.50 247.50 2.38044 - 17.50 127.50 252.50 3.3656 - 17.50 127.50 257.50 3.88467 - 17.50 127.50 262.50 4.04575 - 17.50 127.50 267.50 3.38839 - 17.50 127.50 272.50 2.48318 - 17.50 127.50 277.50 1.78362 - 17.50 127.50 282.50 1.28426 - 17.50 127.50 287.50 0.809533 - 17.50 127.50 292.50 0.433036 - 17.50 127.50 297.50 0.220749 - 17.50 127.50 302.50 0.0885528 - 17.50 127.50 307.50 0.0338978 - 17.50 127.50 312.50 0.0169254 - 17.50 127.50 317.50 0.041197 - 17.50 127.50 322.50 0.156568 - 17.50 127.50 327.50 0.527502 - 17.50 127.50 332.50 1.33187 - 17.50 127.50 337.50 2.38044 - 17.50 127.50 342.50 3.36559 - 17.50 127.50 347.50 3.88467 - 17.50 127.50 352.50 4.04575 - 17.50 127.50 357.50 3.38839 - 17.50 132.50 2.50 3.07557 - 17.50 132.50 7.50 2.27987 - 17.50 132.50 12.50 1.70748 - 17.50 132.50 17.50 1.13723 - 17.50 132.50 22.50 0.620533 - 17.50 132.50 27.50 0.295443 - 17.50 132.50 32.50 0.111763 - 17.50 132.50 37.50 0.0480407 - 17.50 132.50 42.50 0.0245617 - 17.50 132.50 47.50 0.0300595 - 17.50 132.50 52.50 0.110702 - 17.50 132.50 57.50 0.379218 - 17.50 132.50 62.50 0.887787 - 17.50 132.50 67.50 1.81342 - 17.50 132.50 72.50 2.82692 - 17.50 132.50 77.50 3.70354 - 17.50 132.50 82.50 4.13483 - 17.50 132.50 87.50 3.78144 - 17.50 132.50 92.50 3.07557 - 17.50 132.50 97.50 2.27987 - 17.50 132.50 102.50 1.70748 - 17.50 132.50 107.50 1.13723 - 17.50 132.50 112.50 0.620533 - 17.50 132.50 117.50 0.295442 - 17.50 132.50 122.50 0.111763 - 17.50 132.50 127.50 0.0480407 - 17.50 132.50 132.50 0.0245617 - 17.50 132.50 137.50 0.0300595 - 17.50 132.50 142.50 0.110702 - 17.50 132.50 147.50 0.379218 - 17.50 132.50 152.50 0.887786 - 17.50 132.50 157.50 1.81342 - 17.50 132.50 162.50 2.82692 - 17.50 132.50 167.50 3.70354 - 17.50 132.50 172.50 4.13483 - 17.50 132.50 177.50 3.78144 - 17.50 132.50 182.50 3.07557 - 17.50 132.50 187.50 2.27987 - 17.50 132.50 192.50 1.70748 - 17.50 132.50 197.50 1.13723 - 17.50 132.50 202.50 0.620533 - 17.50 132.50 207.50 0.295442 - 17.50 132.50 212.50 0.111763 - 17.50 132.50 217.50 0.0480407 - 17.50 132.50 222.50 0.0245617 - 17.50 132.50 227.50 0.0300594 - 17.50 132.50 232.50 0.110702 - 17.50 132.50 237.50 0.379219 - 17.50 132.50 242.50 0.887787 - 17.50 132.50 247.50 1.81342 - 17.50 132.50 252.50 2.82692 - 17.50 132.50 257.50 3.70354 - 17.50 132.50 262.50 4.13483 - 17.50 132.50 267.50 3.78144 - 17.50 132.50 272.50 3.07557 - 17.50 132.50 277.50 2.27987 - 17.50 132.50 282.50 1.70748 - 17.50 132.50 287.50 1.13723 - 17.50 132.50 292.50 0.620534 - 17.50 132.50 297.50 0.295443 - 17.50 132.50 302.50 0.111763 - 17.50 132.50 307.50 0.0480408 - 17.50 132.50 312.50 0.0245617 - 17.50 132.50 317.50 0.0300594 - 17.50 132.50 322.50 0.110701 - 17.50 132.50 327.50 0.379217 - 17.50 132.50 332.50 0.887785 - 17.50 132.50 337.50 1.81342 - 17.50 132.50 342.50 2.82691 - 17.50 132.50 347.50 3.70354 - 17.50 132.50 352.50 4.13483 - 17.50 132.50 357.50 3.78144 - 17.50 137.50 2.50 3.34429 - 17.50 137.50 7.50 2.66415 - 17.50 137.50 12.50 2.09945 - 17.50 137.50 17.50 1.48139 - 17.50 137.50 22.50 0.832349 - 17.50 137.50 27.50 0.359978 - 17.50 137.50 32.50 0.149389 - 17.50 137.50 37.50 0.0535264 - 17.50 137.50 42.50 0.0197802 - 17.50 137.50 47.50 0.0259854 - 17.50 137.50 52.50 0.0674385 - 17.50 137.50 57.50 0.213095 - 17.50 137.50 62.50 0.535989 - 17.50 137.50 67.50 1.22004 - 17.50 137.50 72.50 2.1993 - 17.50 137.50 77.50 3.14533 - 17.50 137.50 82.50 3.76021 - 17.50 137.50 87.50 3.8114 - 17.50 137.50 92.50 3.34429 - 17.50 137.50 97.50 2.66415 - 17.50 137.50 102.50 2.09945 - 17.50 137.50 107.50 1.48139 - 17.50 137.50 112.50 0.832349 - 17.50 137.50 117.50 0.359978 - 17.50 137.50 122.50 0.149389 - 17.50 137.50 127.50 0.0535263 - 17.50 137.50 132.50 0.0197802 - 17.50 137.50 137.50 0.0259855 - 17.50 137.50 142.50 0.0674385 - 17.50 137.50 147.50 0.213095 - 17.50 137.50 152.50 0.535989 - 17.50 137.50 157.50 1.22003 - 17.50 137.50 162.50 2.1993 - 17.50 137.50 167.50 3.14533 - 17.50 137.50 172.50 3.76021 - 17.50 137.50 177.50 3.8114 - 17.50 137.50 182.50 3.34429 - 17.50 137.50 187.50 2.66415 - 17.50 137.50 192.50 2.09945 - 17.50 137.50 197.50 1.48139 - 17.50 137.50 202.50 0.832349 - 17.50 137.50 207.50 0.359979 - 17.50 137.50 212.50 0.149389 - 17.50 137.50 217.50 0.0535264 - 17.50 137.50 222.50 0.0197802 - 17.50 137.50 227.50 0.0259854 - 17.50 137.50 232.50 0.0674387 - 17.50 137.50 237.50 0.213095 - 17.50 137.50 242.50 0.535989 - 17.50 137.50 247.50 1.22004 - 17.50 137.50 252.50 2.1993 - 17.50 137.50 257.50 3.14533 - 17.50 137.50 262.50 3.76021 - 17.50 137.50 267.50 3.8114 - 17.50 137.50 272.50 3.34429 - 17.50 137.50 277.50 2.66415 - 17.50 137.50 282.50 2.09946 - 17.50 137.50 287.50 1.48139 - 17.50 137.50 292.50 0.832349 - 17.50 137.50 297.50 0.359979 - 17.50 137.50 302.50 0.149389 - 17.50 137.50 307.50 0.0535264 - 17.50 137.50 312.50 0.0197802 - 17.50 137.50 317.50 0.0259854 - 17.50 137.50 322.50 0.0674382 - 17.50 137.50 327.50 0.213094 - 17.50 137.50 332.50 0.535988 - 17.50 137.50 337.50 1.22003 - 17.50 137.50 342.50 2.1993 - 17.50 137.50 347.50 3.14533 - 17.50 137.50 352.50 3.76021 - 17.50 137.50 357.50 3.8114 - 17.50 142.50 2.50 3.07557 - 17.50 142.50 7.50 2.71443 - 17.50 142.50 12.50 2.33768 - 17.50 142.50 17.50 1.75871 - 17.50 142.50 22.50 1.02812 - 17.50 142.50 27.50 0.458403 - 17.50 142.50 32.50 0.159378 - 17.50 142.50 37.50 0.052853 - 17.50 142.50 42.50 0.0187251 - 17.50 142.50 47.50 0.0129026 - 17.50 142.50 52.50 0.0346215 - 17.50 142.50 57.50 0.0941098 - 17.50 142.50 62.50 0.281645 - 17.50 142.50 67.50 0.734425 - 17.50 142.50 72.50 1.44951 - 17.50 142.50 77.50 2.3018 - 17.50 142.50 82.50 3.00582 - 17.50 142.50 87.50 3.28461 - 17.50 142.50 92.50 3.07557 - 17.50 142.50 97.50 2.71443 - 17.50 142.50 102.50 2.33768 - 17.50 142.50 107.50 1.75871 - 17.50 142.50 112.50 1.02812 - 17.50 142.50 117.50 0.458403 - 17.50 142.50 122.50 0.159378 - 17.50 142.50 127.50 0.052853 - 17.50 142.50 132.50 0.0187252 - 17.50 142.50 137.50 0.0129026 - 17.50 142.50 142.50 0.0346215 - 17.50 142.50 147.50 0.0941098 - 17.50 142.50 152.50 0.281645 - 17.50 142.50 157.50 0.734424 - 17.50 142.50 162.50 1.44951 - 17.50 142.50 167.50 2.30179 - 17.50 142.50 172.50 3.00581 - 17.50 142.50 177.50 3.28461 - 17.50 142.50 182.50 3.07557 - 17.50 142.50 187.50 2.71443 - 17.50 142.50 192.50 2.33768 - 17.50 142.50 197.50 1.75871 - 17.50 142.50 202.50 1.02812 - 17.50 142.50 207.50 0.458403 - 17.50 142.50 212.50 0.159378 - 17.50 142.50 217.50 0.052853 - 17.50 142.50 222.50 0.0187252 - 17.50 142.50 227.50 0.0129026 - 17.50 142.50 232.50 0.0346215 - 17.50 142.50 237.50 0.0941099 - 17.50 142.50 242.50 0.281645 - 17.50 142.50 247.50 0.734425 - 17.50 142.50 252.50 1.44951 - 17.50 142.50 257.50 2.30179 - 17.50 142.50 262.50 3.00582 - 17.50 142.50 267.50 3.28461 - 17.50 142.50 272.50 3.07557 - 17.50 142.50 277.50 2.71443 - 17.50 142.50 282.50 2.33768 - 17.50 142.50 287.50 1.75871 - 17.50 142.50 292.50 1.02812 - 17.50 142.50 297.50 0.458403 - 17.50 142.50 302.50 0.159378 - 17.50 142.50 307.50 0.0528531 - 17.50 142.50 312.50 0.0187251 - 17.50 142.50 317.50 0.0129026 - 17.50 142.50 322.50 0.0346214 - 17.50 142.50 327.50 0.0941096 - 17.50 142.50 332.50 0.281644 - 17.50 142.50 337.50 0.734423 - 17.50 142.50 342.50 1.44951 - 17.50 142.50 347.50 2.30179 - 17.50 142.50 352.50 3.00581 - 17.50 142.50 357.50 3.28461 - 17.50 147.50 2.50 2.48318 - 17.50 147.50 7.50 2.43565 - 17.50 147.50 12.50 2.31353 - 17.50 147.50 17.50 1.86234 - 17.50 147.50 22.50 1.1385 - 17.50 147.50 27.50 0.522555 - 17.50 147.50 32.50 0.188415 - 17.50 147.50 37.50 0.0607415 - 17.50 147.50 42.50 0.0208956 - 17.50 147.50 47.50 0.0102016 - 17.50 147.50 52.50 0.0127237 - 17.50 147.50 57.50 0.036655 - 17.50 147.50 62.50 0.132328 - 17.50 147.50 67.50 0.372317 - 17.50 147.50 72.50 0.819892 - 17.50 147.50 77.50 1.46004 - 17.50 147.50 82.50 2.08206 - 17.50 147.50 87.50 2.43862 - 17.50 147.50 92.50 2.48318 - 17.50 147.50 97.50 2.43565 - 17.50 147.50 102.50 2.31353 - 17.50 147.50 107.50 1.86234 - 17.50 147.50 112.50 1.1385 - 17.50 147.50 117.50 0.522555 - 17.50 147.50 122.50 0.188415 - 17.50 147.50 127.50 0.0607414 - 17.50 147.50 132.50 0.0208956 - 17.50 147.50 137.50 0.0102016 - 17.50 147.50 142.50 0.0127237 - 17.50 147.50 147.50 0.036655 - 17.50 147.50 152.50 0.132328 - 17.50 147.50 157.50 0.372317 - 17.50 147.50 162.50 0.819892 - 17.50 147.50 167.50 1.46004 - 17.50 147.50 172.50 2.08206 - 17.50 147.50 177.50 2.43862 - 17.50 147.50 182.50 2.48318 - 17.50 147.50 187.50 2.43565 - 17.50 147.50 192.50 2.31353 - 17.50 147.50 197.50 1.86234 - 17.50 147.50 202.50 1.1385 - 17.50 147.50 207.50 0.522555 - 17.50 147.50 212.50 0.188415 - 17.50 147.50 217.50 0.0607415 - 17.50 147.50 222.50 0.0208956 - 17.50 147.50 227.50 0.0102016 - 17.50 147.50 232.50 0.0127237 - 17.50 147.50 237.50 0.036655 - 17.50 147.50 242.50 0.132328 - 17.50 147.50 247.50 0.372317 - 17.50 147.50 252.50 0.819892 - 17.50 147.50 257.50 1.46004 - 17.50 147.50 262.50 2.08206 - 17.50 147.50 267.50 2.43862 - 17.50 147.50 272.50 2.48318 - 17.50 147.50 277.50 2.43565 - 17.50 147.50 282.50 2.31353 - 17.50 147.50 287.50 1.86234 - 17.50 147.50 292.50 1.1385 - 17.50 147.50 297.50 0.522555 - 17.50 147.50 302.50 0.188415 - 17.50 147.50 307.50 0.0607416 - 17.50 147.50 312.50 0.0208956 - 17.50 147.50 317.50 0.0102016 - 17.50 147.50 322.50 0.0127237 - 17.50 147.50 327.50 0.0366548 - 17.50 147.50 332.50 0.132328 - 17.50 147.50 337.50 0.372316 - 17.50 147.50 342.50 0.819891 - 17.50 147.50 347.50 1.46004 - 17.50 147.50 352.50 2.08206 - 17.50 147.50 357.50 2.43862 - 17.50 152.50 2.50 1.91896 - 17.50 152.50 7.50 2.07289 - 17.50 152.50 12.50 2.12271 - 17.50 152.50 17.50 1.86571 - 17.50 152.50 22.50 1.21541 - 17.50 152.50 27.50 0.604963 - 17.50 152.50 32.50 0.251832 - 17.50 152.50 37.50 0.0852505 - 17.50 152.50 42.50 0.0280961 - 17.50 152.50 47.50 0.010606 - 17.50 152.50 52.50 0.0060591 - 17.50 152.50 57.50 0.0169594 - 17.50 152.50 62.50 0.0660118 - 17.50 152.50 67.50 0.185491 - 17.50 152.50 72.50 0.47031 - 17.50 152.50 77.50 0.842251 - 17.50 152.50 82.50 1.34077 - 17.50 152.50 87.50 1.67282 - 17.50 152.50 92.50 1.91896 - 17.50 152.50 97.50 2.07289 - 17.50 152.50 102.50 2.12271 - 17.50 152.50 107.50 1.86571 - 17.50 152.50 112.50 1.21541 - 17.50 152.50 117.50 0.604963 - 17.50 152.50 122.50 0.251831 - 17.50 152.50 127.50 0.0852505 - 17.50 152.50 132.50 0.028096 - 17.50 152.50 137.50 0.010606 - 17.50 152.50 142.50 0.0060591 - 17.50 152.50 147.50 0.0169594 - 17.50 152.50 152.50 0.0660117 - 17.50 152.50 157.50 0.185491 - 17.50 152.50 162.50 0.47031 - 17.50 152.50 167.50 0.842251 - 17.50 152.50 172.50 1.34077 - 17.50 152.50 177.50 1.67282 - 17.50 152.50 182.50 1.91896 - 17.50 152.50 187.50 2.07289 - 17.50 152.50 192.50 2.12271 - 17.50 152.50 197.50 1.86571 - 17.50 152.50 202.50 1.21541 - 17.50 152.50 207.50 0.604963 - 17.50 152.50 212.50 0.251832 - 17.50 152.50 217.50 0.0852506 - 17.50 152.50 222.50 0.0280961 - 17.50 152.50 227.50 0.010606 - 17.50 152.50 232.50 0.0060591 - 17.50 152.50 237.50 0.0169594 - 17.50 152.50 242.50 0.0660118 - 17.50 152.50 247.50 0.185491 - 17.50 152.50 252.50 0.47031 - 17.50 152.50 257.50 0.842251 - 17.50 152.50 262.50 1.34077 - 17.50 152.50 267.50 1.67282 - 17.50 152.50 272.50 1.91896 - 17.50 152.50 277.50 2.07289 - 17.50 152.50 282.50 2.12271 - 17.50 152.50 287.50 1.86571 - 17.50 152.50 292.50 1.21541 - 17.50 152.50 297.50 0.604964 - 17.50 152.50 302.50 0.251832 - 17.50 152.50 307.50 0.0852507 - 17.50 152.50 312.50 0.0280961 - 17.50 152.50 317.50 0.010606 - 17.50 152.50 322.50 0.00605908 - 17.50 152.50 327.50 0.0169593 - 17.50 152.50 332.50 0.0660115 - 17.50 152.50 337.50 0.185491 - 17.50 152.50 342.50 0.470309 - 17.50 152.50 347.50 0.842249 - 17.50 152.50 352.50 1.34077 - 17.50 152.50 357.50 1.67282 - 17.50 157.50 2.50 1.46987 - 17.50 157.50 7.50 1.73302 - 17.50 157.50 12.50 1.90549 - 17.50 157.50 17.50 1.79157 - 17.50 157.50 22.50 1.3193 - 17.50 157.50 27.50 0.755122 - 17.50 157.50 32.50 0.335642 - 17.50 157.50 37.50 0.119208 - 17.50 157.50 42.50 0.0375601 - 17.50 157.50 47.50 0.0124126 - 17.50 157.50 52.50 0.0111999 - 17.50 157.50 57.50 0.0230623 - 17.50 157.50 62.50 0.0500054 - 17.50 157.50 67.50 0.130854 - 17.50 157.50 72.50 0.282701 - 17.50 157.50 77.50 0.526842 - 17.50 157.50 82.50 0.846133 - 17.50 157.50 87.50 1.13434 - 17.50 157.50 92.50 1.46987 - 17.50 157.50 97.50 1.73302 - 17.50 157.50 102.50 1.90549 - 17.50 157.50 107.50 1.79157 - 17.50 157.50 112.50 1.3193 - 17.50 157.50 117.50 0.755121 - 17.50 157.50 122.50 0.335642 - 17.50 157.50 127.50 0.119208 - 17.50 157.50 132.50 0.0375601 - 17.50 157.50 137.50 0.0124126 - 17.50 157.50 142.50 0.0111999 - 17.50 157.50 147.50 0.0230623 - 17.50 157.50 152.50 0.0500054 - 17.50 157.50 157.50 0.130854 - 17.50 157.50 162.50 0.282701 - 17.50 157.50 167.50 0.526842 - 17.50 157.50 172.50 0.846134 - 17.50 157.50 177.50 1.13434 - 17.50 157.50 182.50 1.46987 - 17.50 157.50 187.50 1.73302 - 17.50 157.50 192.50 1.90549 - 17.50 157.50 197.50 1.79157 - 17.50 157.50 202.50 1.3193 - 17.50 157.50 207.50 0.755122 - 17.50 157.50 212.50 0.335642 - 17.50 157.50 217.50 0.119208 - 17.50 157.50 222.50 0.0375601 - 17.50 157.50 227.50 0.0124126 - 17.50 157.50 232.50 0.0111999 - 17.50 157.50 237.50 0.0230623 - 17.50 157.50 242.50 0.0500055 - 17.50 157.50 247.50 0.130854 - 17.50 157.50 252.50 0.282701 - 17.50 157.50 257.50 0.526842 - 17.50 157.50 262.50 0.846134 - 17.50 157.50 267.50 1.13434 - 17.50 157.50 272.50 1.46987 - 17.50 157.50 277.50 1.73302 - 17.50 157.50 282.50 1.90549 - 17.50 157.50 287.50 1.79157 - 17.50 157.50 292.50 1.3193 - 17.50 157.50 297.50 0.755123 - 17.50 157.50 302.50 0.335643 - 17.50 157.50 307.50 0.119208 - 17.50 157.50 312.50 0.0375602 - 17.50 157.50 317.50 0.0124126 - 17.50 157.50 322.50 0.0111999 - 17.50 157.50 327.50 0.0230623 - 17.50 157.50 332.50 0.0500052 - 17.50 157.50 337.50 0.130854 - 17.50 157.50 342.50 0.282701 - 17.50 157.50 347.50 0.526841 - 17.50 157.50 352.50 0.846132 - 17.50 157.50 357.50 1.13434 - 17.50 162.50 2.50 1.04451 - 17.50 162.50 7.50 1.36448 - 17.50 162.50 12.50 1.64759 - 17.50 162.50 17.50 1.66988 - 17.50 162.50 22.50 1.34437 - 17.50 162.50 27.50 0.835965 - 17.50 162.50 32.50 0.401315 - 17.50 162.50 37.50 0.147344 - 17.50 162.50 42.50 0.0432778 - 17.50 162.50 47.50 0.0190101 - 17.50 162.50 52.50 0.0247396 - 17.50 162.50 57.50 0.0520204 - 17.50 162.50 62.50 0.0792764 - 17.50 162.50 67.50 0.108237 - 17.50 162.50 72.50 0.185648 - 17.50 162.50 77.50 0.335263 - 17.50 162.50 82.50 0.501155 - 17.50 162.50 87.50 0.736745 - 17.50 162.50 92.50 1.04451 - 17.50 162.50 97.50 1.36448 - 17.50 162.50 102.50 1.64759 - 17.50 162.50 107.50 1.66988 - 17.50 162.50 112.50 1.34437 - 17.50 162.50 117.50 0.835964 - 17.50 162.50 122.50 0.401315 - 17.50 162.50 127.50 0.147344 - 17.50 162.50 132.50 0.0432778 - 17.50 162.50 137.50 0.01901 - 17.50 162.50 142.50 0.0247396 - 17.50 162.50 147.50 0.0520203 - 17.50 162.50 152.50 0.0792764 - 17.50 162.50 157.50 0.108237 - 17.50 162.50 162.50 0.185648 - 17.50 162.50 167.50 0.335263 - 17.50 162.50 172.50 0.501155 - 17.50 162.50 177.50 0.736745 - 17.50 162.50 182.50 1.04451 - 17.50 162.50 187.50 1.36448 - 17.50 162.50 192.50 1.64759 - 17.50 162.50 197.50 1.66987 - 17.50 162.50 202.50 1.34437 - 17.50 162.50 207.50 0.835965 - 17.50 162.50 212.50 0.401315 - 17.50 162.50 217.50 0.147344 - 17.50 162.50 222.50 0.0432778 - 17.50 162.50 227.50 0.0190101 - 17.50 162.50 232.50 0.0247396 - 17.50 162.50 237.50 0.0520204 - 17.50 162.50 242.50 0.0792764 - 17.50 162.50 247.50 0.108237 - 17.50 162.50 252.50 0.185648 - 17.50 162.50 257.50 0.335263 - 17.50 162.50 262.50 0.501155 - 17.50 162.50 267.50 0.736746 - 17.50 162.50 272.50 1.04451 - 17.50 162.50 277.50 1.36448 - 17.50 162.50 282.50 1.64759 - 17.50 162.50 287.50 1.66988 - 17.50 162.50 292.50 1.34437 - 17.50 162.50 297.50 0.835965 - 17.50 162.50 302.50 0.401316 - 17.50 162.50 307.50 0.147344 - 17.50 162.50 312.50 0.0432778 - 17.50 162.50 317.50 0.0190101 - 17.50 162.50 322.50 0.0247396 - 17.50 162.50 327.50 0.0520203 - 17.50 162.50 332.50 0.0792763 - 17.50 162.50 337.50 0.108236 - 17.50 162.50 342.50 0.185647 - 17.50 162.50 347.50 0.335263 - 17.50 162.50 352.50 0.501154 - 17.50 162.50 357.50 0.736744 - 17.50 167.50 2.50 0.655401 - 17.50 167.50 7.50 0.996547 - 17.50 167.50 12.50 1.37687 - 17.50 167.50 17.50 1.52312 - 17.50 167.50 22.50 1.26422 - 17.50 167.50 27.50 0.791945 - 17.50 167.50 32.50 0.376838 - 17.50 167.50 37.50 0.141027 - 17.50 167.50 42.50 0.0478192 - 17.50 167.50 47.50 0.0264396 - 17.50 167.50 52.50 0.0466067 - 17.50 167.50 57.50 0.0853311 - 17.50 167.50 62.50 0.103018 - 17.50 167.50 67.50 0.110934 - 17.50 167.50 72.50 0.138135 - 17.50 167.50 77.50 0.18865 - 17.50 167.50 82.50 0.26037 - 17.50 167.50 87.50 0.423373 - 17.50 167.50 92.50 0.655401 - 17.50 167.50 97.50 0.996547 - 17.50 167.50 102.50 1.37687 - 17.50 167.50 107.50 1.52312 - 17.50 167.50 112.50 1.26422 - 17.50 167.50 117.50 0.791945 - 17.50 167.50 122.50 0.376837 - 17.50 167.50 127.50 0.141027 - 17.50 167.50 132.50 0.0478192 - 17.50 167.50 137.50 0.0264396 - 17.50 167.50 142.50 0.0466068 - 17.50 167.50 147.50 0.0853311 - 17.50 167.50 152.50 0.103018 - 17.50 167.50 157.50 0.110934 - 17.50 167.50 162.50 0.138135 - 17.50 167.50 167.50 0.18865 - 17.50 167.50 172.50 0.26037 - 17.50 167.50 177.50 0.423372 - 17.50 167.50 182.50 0.655401 - 17.50 167.50 187.50 0.996547 - 17.50 167.50 192.50 1.37687 - 17.50 167.50 197.50 1.52312 - 17.50 167.50 202.50 1.26422 - 17.50 167.50 207.50 0.791946 - 17.50 167.50 212.50 0.376838 - 17.50 167.50 217.50 0.141028 - 17.50 167.50 222.50 0.0478192 - 17.50 167.50 227.50 0.0264396 - 17.50 167.50 232.50 0.0466068 - 17.50 167.50 237.50 0.0853312 - 17.50 167.50 242.50 0.103018 - 17.50 167.50 247.50 0.110934 - 17.50 167.50 252.50 0.138135 - 17.50 167.50 257.50 0.18865 - 17.50 167.50 262.50 0.26037 - 17.50 167.50 267.50 0.423373 - 17.50 167.50 272.50 0.655401 - 17.50 167.50 277.50 0.996547 - 17.50 167.50 282.50 1.37686 - 17.50 167.50 287.50 1.52312 - 17.50 167.50 292.50 1.26422 - 17.50 167.50 297.50 0.791946 - 17.50 167.50 302.50 0.376838 - 17.50 167.50 307.50 0.141028 - 17.50 167.50 312.50 0.0478193 - 17.50 167.50 317.50 0.0264396 - 17.50 167.50 322.50 0.0466067 - 17.50 167.50 327.50 0.085331 - 17.50 167.50 332.50 0.103018 - 17.50 167.50 337.50 0.110934 - 17.50 167.50 342.50 0.138135 - 17.50 167.50 347.50 0.188649 - 17.50 167.50 352.50 0.26037 - 17.50 167.50 357.50 0.423372 - 17.50 172.50 2.50 0.376555 - 17.50 172.50 7.50 0.695289 - 17.50 172.50 12.50 1.10458 - 17.50 172.50 17.50 1.30722 - 17.50 172.50 22.50 1.08936 - 17.50 172.50 27.50 0.658199 - 17.50 172.50 32.50 0.30973 - 17.50 172.50 37.50 0.122106 - 17.50 172.50 42.50 0.0447239 - 17.50 172.50 47.50 0.0302449 - 17.50 172.50 52.50 0.051786 - 17.50 172.50 57.50 0.0863412 - 17.50 172.50 62.50 0.103579 - 17.50 172.50 67.50 0.0995423 - 17.50 172.50 72.50 0.0936088 - 17.50 172.50 77.50 0.0978894 - 17.50 172.50 82.50 0.141284 - 17.50 172.50 87.50 0.216443 - 17.50 172.50 92.50 0.376555 - 17.50 172.50 97.50 0.695289 - 17.50 172.50 102.50 1.10458 - 17.50 172.50 107.50 1.30722 - 17.50 172.50 112.50 1.08936 - 17.50 172.50 117.50 0.658198 - 17.50 172.50 122.50 0.30973 - 17.50 172.50 127.50 0.122106 - 17.50 172.50 132.50 0.0447239 - 17.50 172.50 137.50 0.0302449 - 17.50 172.50 142.50 0.051786 - 17.50 172.50 147.50 0.0863412 - 17.50 172.50 152.50 0.103579 - 17.50 172.50 157.50 0.0995423 - 17.50 172.50 162.50 0.0936088 - 17.50 172.50 167.50 0.0978894 - 17.50 172.50 172.50 0.141284 - 17.50 172.50 177.50 0.216442 - 17.50 172.50 182.50 0.376555 - 17.50 172.50 187.50 0.69529 - 17.50 172.50 192.50 1.10458 - 17.50 172.50 197.50 1.30722 - 17.50 172.50 202.50 1.08936 - 17.50 172.50 207.50 0.658199 - 17.50 172.50 212.50 0.30973 - 17.50 172.50 217.50 0.122106 - 17.50 172.50 222.50 0.0447239 - 17.50 172.50 227.50 0.0302449 - 17.50 172.50 232.50 0.0517861 - 17.50 172.50 237.50 0.0863412 - 17.50 172.50 242.50 0.103579 - 17.50 172.50 247.50 0.0995422 - 17.50 172.50 252.50 0.0936088 - 17.50 172.50 257.50 0.0978894 - 17.50 172.50 262.50 0.141284 - 17.50 172.50 267.50 0.216443 - 17.50 172.50 272.50 0.376555 - 17.50 172.50 277.50 0.695289 - 17.50 172.50 282.50 1.10458 - 17.50 172.50 287.50 1.30722 - 17.50 172.50 292.50 1.08936 - 17.50 172.50 297.50 0.658199 - 17.50 172.50 302.50 0.30973 - 17.50 172.50 307.50 0.122106 - 17.50 172.50 312.50 0.044724 - 17.50 172.50 317.50 0.0302449 - 17.50 172.50 322.50 0.051786 - 17.50 172.50 327.50 0.0863411 - 17.50 172.50 332.50 0.103579 - 17.50 172.50 337.50 0.0995422 - 17.50 172.50 342.50 0.0936087 - 17.50 172.50 347.50 0.0978894 - 17.50 172.50 352.50 0.141283 - 17.50 172.50 357.50 0.216442 - 17.50 177.50 2.50 0.210389 - 17.50 177.50 7.50 0.46113 - 17.50 177.50 12.50 0.81482 - 17.50 177.50 17.50 1.00154 - 17.50 177.50 22.50 0.826356 - 17.50 177.50 27.50 0.469198 - 17.50 177.50 32.50 0.199274 - 17.50 177.50 37.50 0.0785193 - 17.50 177.50 42.50 0.0421067 - 17.50 177.50 47.50 0.0435456 - 17.50 177.50 52.50 0.0590315 - 17.50 177.50 57.50 0.0724147 - 17.50 177.50 62.50 0.0750234 - 17.50 177.50 67.50 0.0776945 - 17.50 177.50 72.50 0.0765251 - 17.50 177.50 77.50 0.0724643 - 17.50 177.50 82.50 0.0745757 - 17.50 177.50 87.50 0.10472 - 17.50 177.50 92.50 0.210389 - 17.50 177.50 97.50 0.46113 - 17.50 177.50 102.50 0.81482 - 17.50 177.50 107.50 1.00154 - 17.50 177.50 112.50 0.826356 - 17.50 177.50 117.50 0.469198 - 17.50 177.50 122.50 0.199274 - 17.50 177.50 127.50 0.0785193 - 17.50 177.50 132.50 0.0421066 - 17.50 177.50 137.50 0.0435456 - 17.50 177.50 142.50 0.0590315 - 17.50 177.50 147.50 0.0724147 - 17.50 177.50 152.50 0.0750234 - 17.50 177.50 157.50 0.0776945 - 17.50 177.50 162.50 0.0765251 - 17.50 177.50 167.50 0.0724643 - 17.50 177.50 172.50 0.0745757 - 17.50 177.50 177.50 0.10472 - 17.50 177.50 182.50 0.210389 - 17.50 177.50 187.50 0.46113 - 17.50 177.50 192.50 0.81482 - 17.50 177.50 197.50 1.00154 - 17.50 177.50 202.50 0.826356 - 17.50 177.50 207.50 0.469198 - 17.50 177.50 212.50 0.199274 - 17.50 177.50 217.50 0.0785194 - 17.50 177.50 222.50 0.0421067 - 17.50 177.50 227.50 0.0435456 - 17.50 177.50 232.50 0.0590315 - 17.50 177.50 237.50 0.0724147 - 17.50 177.50 242.50 0.0750234 - 17.50 177.50 247.50 0.0776944 - 17.50 177.50 252.50 0.0765251 - 17.50 177.50 257.50 0.0724643 - 17.50 177.50 262.50 0.0745758 - 17.50 177.50 267.50 0.10472 - 17.50 177.50 272.50 0.210389 - 17.50 177.50 277.50 0.46113 - 17.50 177.50 282.50 0.81482 - 17.50 177.50 287.50 1.00154 - 17.50 177.50 292.50 0.826355 - 17.50 177.50 297.50 0.469199 - 17.50 177.50 302.50 0.199274 - 17.50 177.50 307.50 0.0785195 - 17.50 177.50 312.50 0.0421067 - 17.50 177.50 317.50 0.0435456 - 17.50 177.50 322.50 0.0590314 - 17.50 177.50 327.50 0.0724147 - 17.50 177.50 332.50 0.0750234 - 17.50 177.50 337.50 0.0776944 - 17.50 177.50 342.50 0.0765251 - 17.50 177.50 347.50 0.0724643 - 17.50 177.50 352.50 0.0745757 - 17.50 177.50 357.50 0.10472 - 22.50 2.50 2.50 0.0624685 - 22.50 2.50 7.50 0.0485219 - 22.50 2.50 12.50 0.0601603 - 22.50 2.50 17.50 0.0760385 - 22.50 2.50 22.50 0.083846 - 22.50 2.50 27.50 0.084539 - 22.50 2.50 32.50 0.083846 - 22.50 2.50 37.50 0.0760385 - 22.50 2.50 42.50 0.0601603 - 22.50 2.50 47.50 0.0485219 - 22.50 2.50 52.50 0.0624686 - 22.50 2.50 57.50 0.149977 - 22.50 2.50 62.50 0.393273 - 22.50 2.50 67.50 0.773179 - 22.50 2.50 72.50 0.980536 - 22.50 2.50 77.50 0.773179 - 22.50 2.50 82.50 0.393272 - 22.50 2.50 87.50 0.149977 - 22.50 2.50 92.50 0.0624685 - 22.50 2.50 97.50 0.0485219 - 22.50 2.50 102.50 0.0601603 - 22.50 2.50 107.50 0.0760386 - 22.50 2.50 112.50 0.083846 - 22.50 2.50 117.50 0.084539 - 22.50 2.50 122.50 0.083846 - 22.50 2.50 127.50 0.0760385 - 22.50 2.50 132.50 0.0601603 - 22.50 2.50 137.50 0.0485219 - 22.50 2.50 142.50 0.0624686 - 22.50 2.50 147.50 0.149977 - 22.50 2.50 152.50 0.393272 - 22.50 2.50 157.50 0.773179 - 22.50 2.50 162.50 0.980476 - 22.50 2.50 167.50 0.773179 - 22.50 2.50 172.50 0.393273 - 22.50 2.50 177.50 0.149977 - 22.50 2.50 182.50 0.0624685 - 22.50 2.50 187.50 0.0485219 - 22.50 2.50 192.50 0.0601603 - 22.50 2.50 197.50 0.0760386 - 22.50 2.50 202.50 0.083846 - 22.50 2.50 207.50 0.084539 - 22.50 2.50 212.50 0.083846 - 22.50 2.50 217.50 0.0760385 - 22.50 2.50 222.50 0.0601603 - 22.50 2.50 227.50 0.0485219 - 22.50 2.50 232.50 0.0624686 - 22.50 2.50 237.50 0.149977 - 22.50 2.50 242.50 0.393273 - 22.50 2.50 247.50 0.773179 - 22.50 2.50 252.50 0.980476 - 22.50 2.50 257.50 0.773178 - 22.50 2.50 262.50 0.393272 - 22.50 2.50 267.50 0.149977 - 22.50 2.50 272.50 0.0624685 - 22.50 2.50 277.50 0.0485219 - 22.50 2.50 282.50 0.0601603 - 22.50 2.50 287.50 0.0760385 - 22.50 2.50 292.50 0.083846 - 22.50 2.50 297.50 0.084539 - 22.50 2.50 302.50 0.083846 - 22.50 2.50 307.50 0.0760386 - 22.50 2.50 312.50 0.0601603 - 22.50 2.50 317.50 0.0485219 - 22.50 2.50 322.50 0.0624685 - 22.50 2.50 327.50 0.149977 - 22.50 2.50 332.50 0.393272 - 22.50 2.50 337.50 0.773178 - 22.50 2.50 342.50 0.980476 - 22.50 2.50 347.50 0.773179 - 22.50 2.50 352.50 0.393273 - 22.50 2.50 357.50 0.149977 - 22.50 7.50 2.50 0.102596 - 22.50 7.50 7.50 0.0808217 - 22.50 7.50 12.50 0.082199 - 22.50 7.50 17.50 0.0878966 - 22.50 7.50 22.50 0.0897202 - 22.50 7.50 27.50 0.0859236 - 22.50 7.50 32.50 0.0750918 - 22.50 7.50 37.50 0.0604865 - 22.50 7.50 42.50 0.0434973 - 22.50 7.50 47.50 0.0399292 - 22.50 7.50 52.50 0.0711831 - 22.50 7.50 57.50 0.188831 - 22.50 7.50 62.50 0.4704 - 22.50 7.50 67.50 0.856092 - 22.50 7.50 72.50 1.03537 - 22.50 7.50 77.50 0.829238 - 22.50 7.50 82.50 0.45873 - 22.50 7.50 87.50 0.202463 - 22.50 7.50 92.50 0.102596 - 22.50 7.50 97.50 0.0808217 - 22.50 7.50 102.50 0.082199 - 22.50 7.50 107.50 0.0878967 - 22.50 7.50 112.50 0.0897201 - 22.50 7.50 117.50 0.0859237 - 22.50 7.50 122.50 0.0750918 - 22.50 7.50 127.50 0.0604865 - 22.50 7.50 132.50 0.0434974 - 22.50 7.50 137.50 0.0399292 - 22.50 7.50 142.50 0.0711831 - 22.50 7.50 147.50 0.188831 - 22.50 7.50 152.50 0.4704 - 22.50 7.50 157.50 0.856091 - 22.50 7.50 162.50 1.03537 - 22.50 7.50 167.50 0.829238 - 22.50 7.50 172.50 0.45873 - 22.50 7.50 177.50 0.202463 - 22.50 7.50 182.50 0.102596 - 22.50 7.50 187.50 0.0808217 - 22.50 7.50 192.50 0.082199 - 22.50 7.50 197.50 0.0878966 - 22.50 7.50 202.50 0.0897201 - 22.50 7.50 207.50 0.0859236 - 22.50 7.50 212.50 0.0750918 - 22.50 7.50 217.50 0.0604865 - 22.50 7.50 222.50 0.0434974 - 22.50 7.50 227.50 0.0399292 - 22.50 7.50 232.50 0.0711833 - 22.50 7.50 237.50 0.188832 - 22.50 7.50 242.50 0.4704 - 22.50 7.50 247.50 0.856092 - 22.50 7.50 252.50 1.03537 - 22.50 7.50 257.50 0.829238 - 22.50 7.50 262.50 0.458729 - 22.50 7.50 267.50 0.202462 - 22.50 7.50 272.50 0.102596 - 22.50 7.50 277.50 0.0808217 - 22.50 7.50 282.50 0.082199 - 22.50 7.50 287.50 0.0878966 - 22.50 7.50 292.50 0.0897201 - 22.50 7.50 297.50 0.0859236 - 22.50 7.50 302.50 0.0750918 - 22.50 7.50 307.50 0.0604865 - 22.50 7.50 312.50 0.0434974 - 22.50 7.50 317.50 0.0399292 - 22.50 7.50 322.50 0.0711831 - 22.50 7.50 327.50 0.188831 - 22.50 7.50 332.50 0.470399 - 22.50 7.50 337.50 0.85609 - 22.50 7.50 342.50 1.03537 - 22.50 7.50 347.50 0.829239 - 22.50 7.50 352.50 0.458731 - 22.50 7.50 357.50 0.202463 - 22.50 12.50 2.50 0.24067 - 22.50 12.50 7.50 0.181724 - 22.50 12.50 12.50 0.141147 - 22.50 12.50 17.50 0.111957 - 22.50 12.50 22.50 0.119082 - 22.50 12.50 27.50 0.121307 - 22.50 12.50 32.50 0.100237 - 22.50 12.50 37.50 0.0612511 - 22.50 12.50 42.50 0.0320373 - 22.50 12.50 47.50 0.0389844 - 22.50 12.50 52.50 0.10447 - 22.50 12.50 57.50 0.285569 - 22.50 12.50 62.50 0.65645 - 22.50 12.50 67.50 1.12589 - 22.50 12.50 72.50 1.35396 - 22.50 12.50 77.50 1.13499 - 22.50 12.50 82.50 0.704975 - 22.50 12.50 87.50 0.38469 - 22.50 12.50 92.50 0.24067 - 22.50 12.50 97.50 0.181724 - 22.50 12.50 102.50 0.141147 - 22.50 12.50 107.50 0.111957 - 22.50 12.50 112.50 0.119082 - 22.50 12.50 117.50 0.121307 - 22.50 12.50 122.50 0.100238 - 22.50 12.50 127.50 0.0612511 - 22.50 12.50 132.50 0.0320373 - 22.50 12.50 137.50 0.0389843 - 22.50 12.50 142.50 0.10447 - 22.50 12.50 147.50 0.285569 - 22.50 12.50 152.50 0.656449 - 22.50 12.50 157.50 1.12589 - 22.50 12.50 162.50 1.35396 - 22.50 12.50 167.50 1.13499 - 22.50 12.50 172.50 0.704975 - 22.50 12.50 177.50 0.38469 - 22.50 12.50 182.50 0.24067 - 22.50 12.50 187.50 0.181724 - 22.50 12.50 192.50 0.141147 - 22.50 12.50 197.50 0.111957 - 22.50 12.50 202.50 0.119082 - 22.50 12.50 207.50 0.121307 - 22.50 12.50 212.50 0.100238 - 22.50 12.50 217.50 0.0612511 - 22.50 12.50 222.50 0.0320373 - 22.50 12.50 227.50 0.0389843 - 22.50 12.50 232.50 0.10447 - 22.50 12.50 237.50 0.285569 - 22.50 12.50 242.50 0.65645 - 22.50 12.50 247.50 1.12589 - 22.50 12.50 252.50 1.35396 - 22.50 12.50 257.50 1.13499 - 22.50 12.50 262.50 0.704975 - 22.50 12.50 267.50 0.38469 - 22.50 12.50 272.50 0.24067 - 22.50 12.50 277.50 0.181724 - 22.50 12.50 282.50 0.141147 - 22.50 12.50 287.50 0.111957 - 22.50 12.50 292.50 0.119082 - 22.50 12.50 297.50 0.121307 - 22.50 12.50 302.50 0.100238 - 22.50 12.50 307.50 0.0612512 - 22.50 12.50 312.50 0.0320373 - 22.50 12.50 317.50 0.0389843 - 22.50 12.50 322.50 0.10447 - 22.50 12.50 327.50 0.285568 - 22.50 12.50 332.50 0.656449 - 22.50 12.50 337.50 1.12589 - 22.50 12.50 342.50 1.35396 - 22.50 12.50 347.50 1.13499 - 22.50 12.50 352.50 0.704976 - 22.50 12.50 357.50 0.384691 - 22.50 17.50 2.50 0.527183 - 22.50 17.50 7.50 0.384252 - 22.50 17.50 12.50 0.251369 - 22.50 17.50 17.50 0.196518 - 22.50 17.50 22.50 0.160424 - 22.50 17.50 27.50 0.1371 - 22.50 17.50 32.50 0.10044 - 22.50 17.50 37.50 0.0540655 - 22.50 17.50 42.50 0.0261998 - 22.50 17.50 47.50 0.0433834 - 22.50 17.50 52.50 0.127701 - 22.50 17.50 57.50 0.340341 - 22.50 17.50 62.50 0.7592 - 22.50 17.50 67.50 1.26173 - 22.50 17.50 72.50 1.544 - 22.50 17.50 77.50 1.41763 - 22.50 17.50 82.50 1.0402 - 22.50 17.50 87.50 0.720482 - 22.50 17.50 92.50 0.527182 - 22.50 17.50 97.50 0.384252 - 22.50 17.50 102.50 0.251369 - 22.50 17.50 107.50 0.196518 - 22.50 17.50 112.50 0.160424 - 22.50 17.50 117.50 0.1371 - 22.50 17.50 122.50 0.10044 - 22.50 17.50 127.50 0.0540654 - 22.50 17.50 132.50 0.0261997 - 22.50 17.50 137.50 0.0433834 - 22.50 17.50 142.50 0.127701 - 22.50 17.50 147.50 0.340341 - 22.50 17.50 152.50 0.759199 - 22.50 17.50 157.50 1.26173 - 22.50 17.50 162.50 1.544 - 22.50 17.50 167.50 1.41763 - 22.50 17.50 172.50 1.0402 - 22.50 17.50 177.50 0.720482 - 22.50 17.50 182.50 0.527182 - 22.50 17.50 187.50 0.384252 - 22.50 17.50 192.50 0.251369 - 22.50 17.50 197.50 0.196518 - 22.50 17.50 202.50 0.160424 - 22.50 17.50 207.50 0.1371 - 22.50 17.50 212.50 0.10044 - 22.50 17.50 217.50 0.0540655 - 22.50 17.50 222.50 0.0261998 - 22.50 17.50 227.50 0.0433834 - 22.50 17.50 232.50 0.127702 - 22.50 17.50 237.50 0.340342 - 22.50 17.50 242.50 0.7592 - 22.50 17.50 247.50 1.26173 - 22.50 17.50 252.50 1.544 - 22.50 17.50 257.50 1.41763 - 22.50 17.50 262.50 1.0402 - 22.50 17.50 267.50 0.720482 - 22.50 17.50 272.50 0.527183 - 22.50 17.50 277.50 0.384252 - 22.50 17.50 282.50 0.251369 - 22.50 17.50 287.50 0.196518 - 22.50 17.50 292.50 0.160424 - 22.50 17.50 297.50 0.1371 - 22.50 17.50 302.50 0.10044 - 22.50 17.50 307.50 0.0540655 - 22.50 17.50 312.50 0.0261998 - 22.50 17.50 317.50 0.0433834 - 22.50 17.50 322.50 0.127701 - 22.50 17.50 327.50 0.340341 - 22.50 17.50 332.50 0.759199 - 22.50 17.50 337.50 1.26173 - 22.50 17.50 342.50 1.544 - 22.50 17.50 347.50 1.41763 - 22.50 17.50 352.50 1.0402 - 22.50 17.50 357.50 0.720483 - 22.50 22.50 2.50 0.990531 - 22.50 22.50 7.50 0.731449 - 22.50 22.50 12.50 0.504197 - 22.50 22.50 17.50 0.327897 - 22.50 22.50 22.50 0.180535 - 22.50 22.50 27.50 0.11271 - 22.50 22.50 32.50 0.0712189 - 22.50 22.50 37.50 0.0310734 - 22.50 22.50 42.50 0.0157651 - 22.50 22.50 47.50 0.0397711 - 22.50 22.50 52.50 0.130404 - 22.50 22.50 57.50 0.352546 - 22.50 22.50 62.50 0.745595 - 22.50 22.50 67.50 1.24457 - 22.50 22.50 72.50 1.6252 - 22.50 22.50 77.50 1.68049 - 22.50 22.50 82.50 1.47733 - 22.50 22.50 87.50 1.2191 - 22.50 22.50 92.50 0.990531 - 22.50 22.50 97.50 0.731449 - 22.50 22.50 102.50 0.504197 - 22.50 22.50 107.50 0.327898 - 22.50 22.50 112.50 0.180535 - 22.50 22.50 117.50 0.11271 - 22.50 22.50 122.50 0.0712189 - 22.50 22.50 127.50 0.0310734 - 22.50 22.50 132.50 0.0157651 - 22.50 22.50 137.50 0.0397711 - 22.50 22.50 142.50 0.130404 - 22.50 22.50 147.50 0.352546 - 22.50 22.50 152.50 0.745595 - 22.50 22.50 157.50 1.24457 - 22.50 22.50 162.50 1.6252 - 22.50 22.50 167.50 1.68049 - 22.50 22.50 172.50 1.47733 - 22.50 22.50 177.50 1.2191 - 22.50 22.50 182.50 0.990532 - 22.50 22.50 187.50 0.731449 - 22.50 22.50 192.50 0.504197 - 22.50 22.50 197.50 0.327897 - 22.50 22.50 202.50 0.180535 - 22.50 22.50 207.50 0.11271 - 22.50 22.50 212.50 0.0712189 - 22.50 22.50 217.50 0.0310734 - 22.50 22.50 222.50 0.0157651 - 22.50 22.50 227.50 0.039771 - 22.50 22.50 232.50 0.130404 - 22.50 22.50 237.50 0.352547 - 22.50 22.50 242.50 0.745595 - 22.50 22.50 247.50 1.24457 - 22.50 22.50 252.50 1.6252 - 22.50 22.50 257.50 1.68049 - 22.50 22.50 262.50 1.47733 - 22.50 22.50 267.50 1.2191 - 22.50 22.50 272.50 0.990531 - 22.50 22.50 277.50 0.731449 - 22.50 22.50 282.50 0.504196 - 22.50 22.50 287.50 0.327897 - 22.50 22.50 292.50 0.180535 - 22.50 22.50 297.50 0.11271 - 22.50 22.50 302.50 0.071219 - 22.50 22.50 307.50 0.0310735 - 22.50 22.50 312.50 0.0157651 - 22.50 22.50 317.50 0.039771 - 22.50 22.50 322.50 0.130404 - 22.50 22.50 327.50 0.352546 - 22.50 22.50 332.50 0.745594 - 22.50 22.50 337.50 1.24457 - 22.50 22.50 342.50 1.6252 - 22.50 22.50 347.50 1.68049 - 22.50 22.50 352.50 1.47733 - 22.50 22.50 357.50 1.2191 - 22.50 27.50 2.50 1.58451 - 22.50 27.50 7.50 1.23133 - 22.50 27.50 12.50 0.880206 - 22.50 27.50 17.50 0.497712 - 22.50 27.50 22.50 0.231887 - 22.50 27.50 27.50 0.0958945 - 22.50 27.50 32.50 0.033119 - 22.50 27.50 37.50 0.0126958 - 22.50 27.50 42.50 0.010662 - 22.50 27.50 47.50 0.030863 - 22.50 27.50 52.50 0.104566 - 22.50 27.50 57.50 0.280167 - 22.50 27.50 62.50 0.613146 - 22.50 27.50 67.50 1.12864 - 22.50 27.50 72.50 1.67424 - 22.50 27.50 77.50 1.96043 - 22.50 27.50 82.50 1.93051 - 22.50 27.50 87.50 1.78921 - 22.50 27.50 92.50 1.58451 - 22.50 27.50 97.50 1.23133 - 22.50 27.50 102.50 0.880206 - 22.50 27.50 107.50 0.497712 - 22.50 27.50 112.50 0.231887 - 22.50 27.50 117.50 0.0958945 - 22.50 27.50 122.50 0.033119 - 22.50 27.50 127.50 0.0126958 - 22.50 27.50 132.50 0.010662 - 22.50 27.50 137.50 0.030863 - 22.50 27.50 142.50 0.104566 - 22.50 27.50 147.50 0.280167 - 22.50 27.50 152.50 0.613146 - 22.50 27.50 157.50 1.12864 - 22.50 27.50 162.50 1.67424 - 22.50 27.50 167.50 1.96043 - 22.50 27.50 172.50 1.93051 - 22.50 27.50 177.50 1.7892 - 22.50 27.50 182.50 1.58451 - 22.50 27.50 187.50 1.23133 - 22.50 27.50 192.50 0.880205 - 22.50 27.50 197.50 0.497712 - 22.50 27.50 202.50 0.231887 - 22.50 27.50 207.50 0.0958947 - 22.50 27.50 212.50 0.033119 - 22.50 27.50 217.50 0.0126958 - 22.50 27.50 222.50 0.010662 - 22.50 27.50 227.50 0.0308629 - 22.50 27.50 232.50 0.104566 - 22.50 27.50 237.50 0.280167 - 22.50 27.50 242.50 0.613147 - 22.50 27.50 247.50 1.12864 - 22.50 27.50 252.50 1.67424 - 22.50 27.50 257.50 1.96043 - 22.50 27.50 262.50 1.93051 - 22.50 27.50 267.50 1.7892 - 22.50 27.50 272.50 1.58451 - 22.50 27.50 277.50 1.23133 - 22.50 27.50 282.50 0.880205 - 22.50 27.50 287.50 0.497712 - 22.50 27.50 292.50 0.231887 - 22.50 27.50 297.50 0.0958947 - 22.50 27.50 302.50 0.0331191 - 22.50 27.50 307.50 0.0126958 - 22.50 27.50 312.50 0.010662 - 22.50 27.50 317.50 0.0308629 - 22.50 27.50 322.50 0.104566 - 22.50 27.50 327.50 0.280167 - 22.50 27.50 332.50 0.613145 - 22.50 27.50 337.50 1.12864 - 22.50 27.50 342.50 1.67424 - 22.50 27.50 347.50 1.96043 - 22.50 27.50 352.50 1.93052 - 22.50 27.50 357.50 1.78921 - 22.50 32.50 2.50 2.28343 - 22.50 32.50 7.50 1.94106 - 22.50 32.50 12.50 1.40864 - 22.50 32.50 17.50 0.781421 - 22.50 32.50 22.50 0.378184 - 22.50 32.50 27.50 0.125017 - 22.50 32.50 32.50 0.0367356 - 22.50 32.50 37.50 0.00898051 - 22.50 32.50 42.50 0.00698154 - 22.50 32.50 47.50 0.0215104 - 22.50 32.50 52.50 0.0640098 - 22.50 32.50 57.50 0.175254 - 22.50 32.50 62.50 0.446187 - 22.50 32.50 67.50 0.961776 - 22.50 32.50 72.50 1.66379 - 22.50 32.50 77.50 2.1941 - 22.50 32.50 82.50 2.32479 - 22.50 32.50 87.50 2.35998 - 22.50 32.50 92.50 2.28343 - 22.50 32.50 97.50 1.94106 - 22.50 32.50 102.50 1.40864 - 22.50 32.50 107.50 0.781421 - 22.50 32.50 112.50 0.378184 - 22.50 32.50 117.50 0.125017 - 22.50 32.50 122.50 0.0367355 - 22.50 32.50 127.50 0.0089805 - 22.50 32.50 132.50 0.00698155 - 22.50 32.50 137.50 0.0215104 - 22.50 32.50 142.50 0.0640099 - 22.50 32.50 147.50 0.175254 - 22.50 32.50 152.50 0.446187 - 22.50 32.50 157.50 0.961776 - 22.50 32.50 162.50 1.66379 - 22.50 32.50 167.50 2.1941 - 22.50 32.50 172.50 2.32479 - 22.50 32.50 177.50 2.35998 - 22.50 32.50 182.50 2.28343 - 22.50 32.50 187.50 1.94106 - 22.50 32.50 192.50 1.40864 - 22.50 32.50 197.50 0.781421 - 22.50 32.50 202.50 0.378184 - 22.50 32.50 207.50 0.125017 - 22.50 32.50 212.50 0.0367356 - 22.50 32.50 217.50 0.00898051 - 22.50 32.50 222.50 0.00698155 - 22.50 32.50 227.50 0.0215104 - 22.50 32.50 232.50 0.0640099 - 22.50 32.50 237.50 0.175254 - 22.50 32.50 242.50 0.446188 - 22.50 32.50 247.50 0.961777 - 22.50 32.50 252.50 1.66379 - 22.50 32.50 257.50 2.1941 - 22.50 32.50 262.50 2.32479 - 22.50 32.50 267.50 2.35998 - 22.50 32.50 272.50 2.28343 - 22.50 32.50 277.50 1.94106 - 22.50 32.50 282.50 1.40864 - 22.50 32.50 287.50 0.781421 - 22.50 32.50 292.50 0.378184 - 22.50 32.50 297.50 0.125017 - 22.50 32.50 302.50 0.0367356 - 22.50 32.50 307.50 0.00898051 - 22.50 32.50 312.50 0.00698154 - 22.50 32.50 317.50 0.0215103 - 22.50 32.50 322.50 0.0640097 - 22.50 32.50 327.50 0.175254 - 22.50 32.50 332.50 0.446187 - 22.50 32.50 337.50 0.961774 - 22.50 32.50 342.50 1.66378 - 22.50 32.50 347.50 2.1941 - 22.50 32.50 352.50 2.32479 - 22.50 32.50 357.50 2.35998 - 22.50 37.50 2.50 3.12281 - 22.50 37.50 7.50 2.92585 - 22.50 37.50 12.50 2.22086 - 22.50 37.50 17.50 1.39583 - 22.50 37.50 22.50 0.691645 - 22.50 37.50 27.50 0.268912 - 22.50 37.50 32.50 0.0813846 - 22.50 37.50 37.50 0.0210778 - 22.50 37.50 42.50 0.0079441 - 22.50 37.50 47.50 0.0110938 - 22.50 37.50 52.50 0.0307392 - 22.50 37.50 57.50 0.100306 - 22.50 37.50 62.50 0.31374 - 22.50 37.50 67.50 0.811573 - 22.50 37.50 72.50 1.57418 - 22.50 37.50 77.50 2.26821 - 22.50 37.50 82.50 2.65324 - 22.50 37.50 87.50 2.93791 - 22.50 37.50 92.50 3.12281 - 22.50 37.50 97.50 2.92585 - 22.50 37.50 102.50 2.22085 - 22.50 37.50 107.50 1.39583 - 22.50 37.50 112.50 0.691645 - 22.50 37.50 117.50 0.268912 - 22.50 37.50 122.50 0.0813846 - 22.50 37.50 127.50 0.0210778 - 22.50 37.50 132.50 0.00794411 - 22.50 37.50 137.50 0.0110938 - 22.50 37.50 142.50 0.0307392 - 22.50 37.50 147.50 0.100307 - 22.50 37.50 152.50 0.31374 - 22.50 37.50 157.50 0.811572 - 22.50 37.50 162.50 1.57418 - 22.50 37.50 167.50 2.26821 - 22.50 37.50 172.50 2.65324 - 22.50 37.50 177.50 2.93791 - 22.50 37.50 182.50 3.12281 - 22.50 37.50 187.50 2.92585 - 22.50 37.50 192.50 2.22085 - 22.50 37.50 197.50 1.39583 - 22.50 37.50 202.50 0.691644 - 22.50 37.50 207.50 0.268913 - 22.50 37.50 212.50 0.0813846 - 22.50 37.50 217.50 0.0210779 - 22.50 37.50 222.50 0.00794411 - 22.50 37.50 227.50 0.0110938 - 22.50 37.50 232.50 0.0307392 - 22.50 37.50 237.50 0.100307 - 22.50 37.50 242.50 0.313741 - 22.50 37.50 247.50 0.811573 - 22.50 37.50 252.50 1.57418 - 22.50 37.50 257.50 2.26821 - 22.50 37.50 262.50 2.65324 - 22.50 37.50 267.50 2.93791 - 22.50 37.50 272.50 3.12281 - 22.50 37.50 277.50 2.92586 - 22.50 37.50 282.50 2.22086 - 22.50 37.50 287.50 1.39583 - 22.50 37.50 292.50 0.691645 - 22.50 37.50 297.50 0.268913 - 22.50 37.50 302.50 0.0813847 - 22.50 37.50 307.50 0.0210779 - 22.50 37.50 312.50 0.00794411 - 22.50 37.50 317.50 0.0110938 - 22.50 37.50 322.50 0.0307391 - 22.50 37.50 327.50 0.100306 - 22.50 37.50 332.50 0.31374 - 22.50 37.50 337.50 0.811571 - 22.50 37.50 342.50 1.57418 - 22.50 37.50 347.50 2.26821 - 22.50 37.50 352.50 2.65324 - 22.50 37.50 357.50 2.9379 - 22.50 42.50 2.50 3.95126 - 22.50 42.50 7.50 3.98414 - 22.50 42.50 12.50 3.33049 - 22.50 42.50 17.50 2.33596 - 22.50 42.50 22.50 1.31015 - 22.50 42.50 27.50 0.573797 - 22.50 42.50 32.50 0.193327 - 22.50 42.50 37.50 0.059778 - 22.50 42.50 42.50 0.0171214 - 22.50 42.50 47.50 0.00680786 - 22.50 42.50 52.50 0.0174266 - 22.50 42.50 57.50 0.0653322 - 22.50 42.50 62.50 0.221198 - 22.50 42.50 67.50 0.639227 - 22.50 42.50 72.50 1.35737 - 22.50 42.50 77.50 2.13049 - 22.50 42.50 82.50 2.75895 - 22.50 42.50 87.50 3.40139 - 22.50 42.50 92.50 3.95126 - 22.50 42.50 97.50 3.98414 - 22.50 42.50 102.50 3.33049 - 22.50 42.50 107.50 2.33596 - 22.50 42.50 112.50 1.31015 - 22.50 42.50 117.50 0.573797 - 22.50 42.50 122.50 0.193326 - 22.50 42.50 127.50 0.059778 - 22.50 42.50 132.50 0.0171214 - 22.50 42.50 137.50 0.00680786 - 22.50 42.50 142.50 0.0174266 - 22.50 42.50 147.50 0.0653321 - 22.50 42.50 152.50 0.221197 - 22.50 42.50 157.50 0.639226 - 22.50 42.50 162.50 1.35737 - 22.50 42.50 167.50 2.13049 - 22.50 42.50 172.50 2.75895 - 22.50 42.50 177.50 3.40139 - 22.50 42.50 182.50 3.95126 - 22.50 42.50 187.50 3.98414 - 22.50 42.50 192.50 3.33049 - 22.50 42.50 197.50 2.33596 - 22.50 42.50 202.50 1.31015 - 22.50 42.50 207.50 0.573798 - 22.50 42.50 212.50 0.193326 - 22.50 42.50 217.50 0.059778 - 22.50 42.50 222.50 0.0171215 - 22.50 42.50 227.50 0.00680786 - 22.50 42.50 232.50 0.0174267 - 22.50 42.50 237.50 0.0653323 - 22.50 42.50 242.50 0.221198 - 22.50 42.50 247.50 0.639227 - 22.50 42.50 252.50 1.35737 - 22.50 42.50 257.50 2.13049 - 22.50 42.50 262.50 2.75895 - 22.50 42.50 267.50 3.40139 - 22.50 42.50 272.50 3.95126 - 22.50 42.50 277.50 3.98414 - 22.50 42.50 282.50 3.33049 - 22.50 42.50 287.50 2.33596 - 22.50 42.50 292.50 1.31015 - 22.50 42.50 297.50 0.573798 - 22.50 42.50 302.50 0.193327 - 22.50 42.50 307.50 0.059778 - 22.50 42.50 312.50 0.0171215 - 22.50 42.50 317.50 0.00680786 - 22.50 42.50 322.50 0.0174266 - 22.50 42.50 327.50 0.065332 - 22.50 42.50 332.50 0.221197 - 22.50 42.50 337.50 0.639225 - 22.50 42.50 342.50 1.35737 - 22.50 42.50 347.50 2.13049 - 22.50 42.50 352.50 2.75895 - 22.50 42.50 357.50 3.40139 - 22.50 47.50 2.50 4.32007 - 22.50 47.50 7.50 4.66925 - 22.50 47.50 12.50 4.34864 - 22.50 47.50 17.50 3.38724 - 22.50 47.50 22.50 2.1849 - 22.50 47.50 27.50 1.09209 - 22.50 47.50 32.50 0.435015 - 22.50 47.50 37.50 0.155387 - 22.50 47.50 42.50 0.0359633 - 22.50 47.50 47.50 0.0122731 - 22.50 47.50 52.50 0.0122159 - 22.50 47.50 57.50 0.0497084 - 22.50 47.50 62.50 0.15977 - 22.50 47.50 67.50 0.416995 - 22.50 47.50 72.50 0.994168 - 22.50 47.50 77.50 1.70873 - 22.50 47.50 82.50 2.48277 - 22.50 47.50 87.50 3.4196 - 22.50 47.50 92.50 4.32007 - 22.50 47.50 97.50 4.66925 - 22.50 47.50 102.50 4.34864 - 22.50 47.50 107.50 3.38724 - 22.50 47.50 112.50 2.1849 - 22.50 47.50 117.50 1.09209 - 22.50 47.50 122.50 0.435015 - 22.50 47.50 127.50 0.155387 - 22.50 47.50 132.50 0.0359633 - 22.50 47.50 137.50 0.0122731 - 22.50 47.50 142.50 0.0122159 - 22.50 47.50 147.50 0.0497084 - 22.50 47.50 152.50 0.159769 - 22.50 47.50 157.50 0.416994 - 22.50 47.50 162.50 0.994168 - 22.50 47.50 167.50 1.70873 - 22.50 47.50 172.50 2.48276 - 22.50 47.50 177.50 3.4196 - 22.50 47.50 182.50 4.32007 - 22.50 47.50 187.50 4.66925 - 22.50 47.50 192.50 4.34864 - 22.50 47.50 197.50 3.38724 - 22.50 47.50 202.50 2.1849 - 22.50 47.50 207.50 1.09209 - 22.50 47.50 212.50 0.435015 - 22.50 47.50 217.50 0.155387 - 22.50 47.50 222.50 0.0359634 - 22.50 47.50 227.50 0.0122731 - 22.50 47.50 232.50 0.012216 - 22.50 47.50 237.50 0.0497085 - 22.50 47.50 242.50 0.15977 - 22.50 47.50 247.50 0.416996 - 22.50 47.50 252.50 0.994169 - 22.50 47.50 257.50 1.70873 - 22.50 47.50 262.50 2.48277 - 22.50 47.50 267.50 3.4196 - 22.50 47.50 272.50 4.32007 - 22.50 47.50 277.50 4.66925 - 22.50 47.50 282.50 4.34864 - 22.50 47.50 287.50 3.38724 - 22.50 47.50 292.50 2.1849 - 22.50 47.50 297.50 1.09209 - 22.50 47.50 302.50 0.435016 - 22.50 47.50 307.50 0.155387 - 22.50 47.50 312.50 0.0359635 - 22.50 47.50 317.50 0.0122731 - 22.50 47.50 322.50 0.0122159 - 22.50 47.50 327.50 0.0497083 - 22.50 47.50 332.50 0.159769 - 22.50 47.50 337.50 0.416994 - 22.50 47.50 342.50 0.994166 - 22.50 47.50 347.50 1.70873 - 22.50 47.50 352.50 2.48276 - 22.50 47.50 357.50 3.41959 - 22.50 52.50 2.50 3.95126 - 22.50 52.50 7.50 4.73907 - 22.50 52.50 12.50 4.98895 - 22.50 52.50 17.50 4.29494 - 22.50 52.50 22.50 3.16164 - 22.50 52.50 27.50 1.85735 - 22.50 52.50 32.50 0.86707 - 22.50 52.50 37.50 0.320984 - 22.50 52.50 42.50 0.0813409 - 22.50 52.50 47.50 0.0175414 - 22.50 52.50 52.50 0.0113143 - 22.50 52.50 57.50 0.0326858 - 22.50 52.50 62.50 0.0934185 - 22.50 52.50 67.50 0.264477 - 22.50 52.50 72.50 0.615837 - 22.50 52.50 77.50 1.1717 - 22.50 52.50 82.50 1.90678 - 22.50 52.50 87.50 2.87227 - 22.50 52.50 92.50 3.95126 - 22.50 52.50 97.50 4.73907 - 22.50 52.50 102.50 4.98895 - 22.50 52.50 107.50 4.29494 - 22.50 52.50 112.50 3.16164 - 22.50 52.50 117.50 1.85735 - 22.50 52.50 122.50 0.867069 - 22.50 52.50 127.50 0.320984 - 22.50 52.50 132.50 0.0813408 - 22.50 52.50 137.50 0.0175414 - 22.50 52.50 142.50 0.0113143 - 22.50 52.50 147.50 0.0326858 - 22.50 52.50 152.50 0.0934184 - 22.50 52.50 157.50 0.264477 - 22.50 52.50 162.50 0.615837 - 22.50 52.50 167.50 1.1717 - 22.50 52.50 172.50 1.90678 - 22.50 52.50 177.50 2.87227 - 22.50 52.50 182.50 3.95126 - 22.50 52.50 187.50 4.73907 - 22.50 52.50 192.50 4.98895 - 22.50 52.50 197.50 4.29494 - 22.50 52.50 202.50 3.16163 - 22.50 52.50 207.50 1.85735 - 22.50 52.50 212.50 0.867069 - 22.50 52.50 217.50 0.320984 - 22.50 52.50 222.50 0.081341 - 22.50 52.50 227.50 0.0175414 - 22.50 52.50 232.50 0.0113143 - 22.50 52.50 237.50 0.0326859 - 22.50 52.50 242.50 0.0934186 - 22.50 52.50 247.50 0.264477 - 22.50 52.50 252.50 0.615839 - 22.50 52.50 257.50 1.1717 - 22.50 52.50 262.50 1.90678 - 22.50 52.50 267.50 2.87227 - 22.50 52.50 272.50 3.95126 - 22.50 52.50 277.50 4.73907 - 22.50 52.50 282.50 4.98895 - 22.50 52.50 287.50 4.29494 - 22.50 52.50 292.50 3.16164 - 22.50 52.50 297.50 1.85735 - 22.50 52.50 302.50 0.86707 - 22.50 52.50 307.50 0.320984 - 22.50 52.50 312.50 0.081341 - 22.50 52.50 317.50 0.0175414 - 22.50 52.50 322.50 0.0113143 - 22.50 52.50 327.50 0.0326857 - 22.50 52.50 332.50 0.0934183 - 22.50 52.50 337.50 0.264476 - 22.50 52.50 342.50 0.615836 - 22.50 52.50 347.50 1.1717 - 22.50 52.50 352.50 1.90678 - 22.50 52.50 357.50 2.87227 - 22.50 57.50 2.50 3.12281 - 22.50 57.50 7.50 4.34924 - 22.50 57.50 12.50 5.08928 - 22.50 57.50 17.50 4.86539 - 22.50 57.50 22.50 4.07693 - 22.50 57.50 27.50 2.72937 - 22.50 57.50 32.50 1.4484 - 22.50 57.50 37.50 0.540126 - 22.50 57.50 42.50 0.149992 - 22.50 57.50 47.50 0.032745 - 22.50 57.50 52.50 0.00826451 - 22.50 57.50 57.50 0.0156722 - 22.50 57.50 62.50 0.0566754 - 22.50 57.50 67.50 0.150526 - 22.50 57.50 72.50 0.335682 - 22.50 57.50 77.50 0.705297 - 22.50 57.50 82.50 1.26427 - 22.50 57.50 87.50 2.05638 - 22.50 57.50 92.50 3.12281 - 22.50 57.50 97.50 4.34924 - 22.50 57.50 102.50 5.08928 - 22.50 57.50 107.50 4.86539 - 22.50 57.50 112.50 4.07693 - 22.50 57.50 117.50 2.72937 - 22.50 57.50 122.50 1.4484 - 22.50 57.50 127.50 0.540125 - 22.50 57.50 132.50 0.149992 - 22.50 57.50 137.50 0.032745 - 22.50 57.50 142.50 0.00826452 - 22.50 57.50 147.50 0.0156722 - 22.50 57.50 152.50 0.0566754 - 22.50 57.50 157.50 0.150526 - 22.50 57.50 162.50 0.335682 - 22.50 57.50 167.50 0.705297 - 22.50 57.50 172.50 1.26427 - 22.50 57.50 177.50 2.05638 - 22.50 57.50 182.50 3.12281 - 22.50 57.50 187.50 4.34924 - 22.50 57.50 192.50 5.08928 - 22.50 57.50 197.50 4.86538 - 22.50 57.50 202.50 4.07693 - 22.50 57.50 207.50 2.72937 - 22.50 57.50 212.50 1.4484 - 22.50 57.50 217.50 0.540127 - 22.50 57.50 222.50 0.149992 - 22.50 57.50 227.50 0.032745 - 22.50 57.50 232.50 0.00826453 - 22.50 57.50 237.50 0.0156722 - 22.50 57.50 242.50 0.0566755 - 22.50 57.50 247.50 0.150526 - 22.50 57.50 252.50 0.335683 - 22.50 57.50 257.50 0.705297 - 22.50 57.50 262.50 1.26427 - 22.50 57.50 267.50 2.05638 - 22.50 57.50 272.50 3.12281 - 22.50 57.50 277.50 4.34924 - 22.50 57.50 282.50 5.08928 - 22.50 57.50 287.50 4.86539 - 22.50 57.50 292.50 4.07693 - 22.50 57.50 297.50 2.72937 - 22.50 57.50 302.50 1.4484 - 22.50 57.50 307.50 0.540127 - 22.50 57.50 312.50 0.149992 - 22.50 57.50 317.50 0.0327451 - 22.50 57.50 322.50 0.00826451 - 22.50 57.50 327.50 0.0156722 - 22.50 57.50 332.50 0.0566753 - 22.50 57.50 337.50 0.150525 - 22.50 57.50 342.50 0.335681 - 22.50 57.50 347.50 0.705295 - 22.50 57.50 352.50 1.26427 - 22.50 57.50 357.50 2.05638 - 22.50 62.50 2.50 2.28343 - 22.50 62.50 7.50 3.66596 - 22.50 62.50 12.50 4.6553 - 22.50 62.50 17.50 4.97593 - 22.50 62.50 22.50 4.55045 - 22.50 62.50 27.50 3.41962 - 22.50 62.50 32.50 1.90083 - 22.50 62.50 37.50 0.823461 - 22.50 62.50 42.50 0.244396 - 22.50 62.50 47.50 0.0453351 - 22.50 62.50 52.50 0.0100612 - 22.50 62.50 57.50 0.00995591 - 22.50 62.50 62.50 0.0287022 - 22.50 62.50 67.50 0.0745229 - 22.50 62.50 72.50 0.168754 - 22.50 62.50 77.50 0.385374 - 22.50 62.50 82.50 0.78064 - 22.50 62.50 87.50 1.33413 - 22.50 62.50 92.50 2.28343 - 22.50 62.50 97.50 3.66596 - 22.50 62.50 102.50 4.6553 - 22.50 62.50 107.50 4.97593 - 22.50 62.50 112.50 4.55045 - 22.50 62.50 117.50 3.41962 - 22.50 62.50 122.50 1.90083 - 22.50 62.50 127.50 0.82346 - 22.50 62.50 132.50 0.244396 - 22.50 62.50 137.50 0.0453351 - 22.50 62.50 142.50 0.0100612 - 22.50 62.50 147.50 0.00995591 - 22.50 62.50 152.50 0.0287021 - 22.50 62.50 157.50 0.0745227 - 22.50 62.50 162.50 0.168753 - 22.50 62.50 167.50 0.385374 - 22.50 62.50 172.50 0.780639 - 22.50 62.50 177.50 1.33413 - 22.50 62.50 182.50 2.28343 - 22.50 62.50 187.50 3.66596 - 22.50 62.50 192.50 4.6553 - 22.50 62.50 197.50 4.97593 - 22.50 62.50 202.50 4.55045 - 22.50 62.50 207.50 3.41962 - 22.50 62.50 212.50 1.90083 - 22.50 62.50 217.50 0.823461 - 22.50 62.50 222.50 0.244396 - 22.50 62.50 227.50 0.0453351 - 22.50 62.50 232.50 0.0100612 - 22.50 62.50 237.50 0.00995591 - 22.50 62.50 242.50 0.0287023 - 22.50 62.50 247.50 0.074523 - 22.50 62.50 252.50 0.168754 - 22.50 62.50 257.50 0.385374 - 22.50 62.50 262.50 0.78064 - 22.50 62.50 267.50 1.33413 - 22.50 62.50 272.50 2.28343 - 22.50 62.50 277.50 3.66596 - 22.50 62.50 282.50 4.6553 - 22.50 62.50 287.50 4.97593 - 22.50 62.50 292.50 4.55045 - 22.50 62.50 297.50 3.41962 - 22.50 62.50 302.50 1.90083 - 22.50 62.50 307.50 0.823462 - 22.50 62.50 312.50 0.244396 - 22.50 62.50 317.50 0.0453352 - 22.50 62.50 322.50 0.0100613 - 22.50 62.50 327.50 0.00995589 - 22.50 62.50 332.50 0.0287021 - 22.50 62.50 337.50 0.0745226 - 22.50 62.50 342.50 0.168753 - 22.50 62.50 347.50 0.385374 - 22.50 62.50 352.50 0.780638 - 22.50 62.50 357.50 1.33413 - 22.50 67.50 2.50 1.58451 - 22.50 67.50 7.50 2.79226 - 22.50 67.50 12.50 3.8505 - 22.50 67.50 17.50 4.45135 - 22.50 67.50 22.50 4.34267 - 22.50 67.50 27.50 3.3653 - 22.50 67.50 32.50 2.04 - 22.50 67.50 37.50 0.956496 - 22.50 67.50 42.50 0.33521 - 22.50 67.50 47.50 0.0861293 - 22.50 67.50 52.50 0.0180849 - 22.50 67.50 57.50 0.00788942 - 22.50 67.50 62.50 0.0148723 - 22.50 67.50 67.50 0.0468313 - 22.50 67.50 72.50 0.121093 - 22.50 67.50 77.50 0.241472 - 22.50 67.50 82.50 0.486185 - 22.50 67.50 87.50 0.837527 - 22.50 67.50 92.50 1.58451 - 22.50 67.50 97.50 2.79226 - 22.50 67.50 102.50 3.8505 - 22.50 67.50 107.50 4.45135 - 22.50 67.50 112.50 4.34267 - 22.50 67.50 117.50 3.3653 - 22.50 67.50 122.50 2.04 - 22.50 67.50 127.50 0.956495 - 22.50 67.50 132.50 0.33521 - 22.50 67.50 137.50 0.0861293 - 22.50 67.50 142.50 0.0180849 - 22.50 67.50 147.50 0.00788943 - 22.50 67.50 152.50 0.0148723 - 22.50 67.50 157.50 0.0468313 - 22.50 67.50 162.50 0.121093 - 22.50 67.50 167.50 0.241472 - 22.50 67.50 172.50 0.486185 - 22.50 67.50 177.50 0.837527 - 22.50 67.50 182.50 1.58451 - 22.50 67.50 187.50 2.79226 - 22.50 67.50 192.50 3.8505 - 22.50 67.50 197.50 4.45135 - 22.50 67.50 202.50 4.34267 - 22.50 67.50 207.50 3.3653 - 22.50 67.50 212.50 2.04 - 22.50 67.50 217.50 0.956497 - 22.50 67.50 222.50 0.335211 - 22.50 67.50 227.50 0.0861294 - 22.50 67.50 232.50 0.0180848 - 22.50 67.50 237.50 0.00788944 - 22.50 67.50 242.50 0.0148723 - 22.50 67.50 247.50 0.0468314 - 22.50 67.50 252.50 0.121093 - 22.50 67.50 257.50 0.241472 - 22.50 67.50 262.50 0.486186 - 22.50 67.50 267.50 0.837528 - 22.50 67.50 272.50 1.58451 - 22.50 67.50 277.50 2.79226 - 22.50 67.50 282.50 3.8505 - 22.50 67.50 287.50 4.45135 - 22.50 67.50 292.50 4.34267 - 22.50 67.50 297.50 3.3653 - 22.50 67.50 302.50 2.04001 - 22.50 67.50 307.50 0.956497 - 22.50 67.50 312.50 0.335211 - 22.50 67.50 317.50 0.0861294 - 22.50 67.50 322.50 0.0180849 - 22.50 67.50 327.50 0.00788941 - 22.50 67.50 332.50 0.0148722 - 22.50 67.50 337.50 0.0468312 - 22.50 67.50 342.50 0.121093 - 22.50 67.50 347.50 0.241472 - 22.50 67.50 352.50 0.486184 - 22.50 67.50 357.50 0.837526 - 22.50 72.50 2.50 0.990531 - 22.50 72.50 7.50 1.87704 - 22.50 72.50 12.50 2.84176 - 22.50 72.50 17.50 3.40511 - 22.50 72.50 22.50 3.38126 - 22.50 72.50 27.50 2.70409 - 22.50 72.50 32.50 1.76307 - 22.50 72.50 37.50 0.860057 - 22.50 72.50 42.50 0.328941 - 22.50 72.50 47.50 0.103199 - 22.50 72.50 52.50 0.0241844 - 22.50 72.50 57.50 0.00863224 - 22.50 72.50 62.50 0.0173686 - 22.50 72.50 67.50 0.0461834 - 22.50 72.50 72.50 0.124869 - 22.50 72.50 77.50 0.199709 - 22.50 72.50 82.50 0.307753 - 22.50 72.50 87.50 0.507491 - 22.50 72.50 92.50 0.990532 - 22.50 72.50 97.50 1.87704 - 22.50 72.50 102.50 2.84177 - 22.50 72.50 107.50 3.4051 - 22.50 72.50 112.50 3.38126 - 22.50 72.50 117.50 2.70409 - 22.50 72.50 122.50 1.76307 - 22.50 72.50 127.50 0.860057 - 22.50 72.50 132.50 0.328941 - 22.50 72.50 137.50 0.103199 - 22.50 72.50 142.50 0.0241844 - 22.50 72.50 147.50 0.00863225 - 22.50 72.50 152.50 0.0173686 - 22.50 72.50 157.50 0.0461833 - 22.50 72.50 162.50 0.124869 - 22.50 72.50 167.50 0.19971 - 22.50 72.50 172.50 0.307753 - 22.50 72.50 177.50 0.507491 - 22.50 72.50 182.50 0.990532 - 22.50 72.50 187.50 1.87704 - 22.50 72.50 192.50 2.84177 - 22.50 72.50 197.50 3.40511 - 22.50 72.50 202.50 3.38126 - 22.50 72.50 207.50 2.70409 - 22.50 72.50 212.50 1.76307 - 22.50 72.50 217.50 0.860058 - 22.50 72.50 222.50 0.328941 - 22.50 72.50 227.50 0.103199 - 22.50 72.50 232.50 0.0241843 - 22.50 72.50 237.50 0.00863222 - 22.50 72.50 242.50 0.0173686 - 22.50 72.50 247.50 0.0461835 - 22.50 72.50 252.50 0.124869 - 22.50 72.50 257.50 0.19971 - 22.50 72.50 262.50 0.307754 - 22.50 72.50 267.50 0.507492 - 22.50 72.50 272.50 0.990531 - 22.50 72.50 277.50 1.87704 - 22.50 72.50 282.50 2.84176 - 22.50 72.50 287.50 3.40511 - 22.50 72.50 292.50 3.38126 - 22.50 72.50 297.50 2.70409 - 22.50 72.50 302.50 1.76308 - 22.50 72.50 307.50 0.860058 - 22.50 72.50 312.50 0.328941 - 22.50 72.50 317.50 0.103199 - 22.50 72.50 322.50 0.0241845 - 22.50 72.50 327.50 0.00863228 - 22.50 72.50 332.50 0.0173685 - 22.50 72.50 337.50 0.0461833 - 22.50 72.50 342.50 0.124869 - 22.50 72.50 347.50 0.199709 - 22.50 72.50 352.50 0.307753 - 22.50 72.50 357.50 0.507491 - 22.50 77.50 2.50 0.527182 - 22.50 77.50 7.50 1.13782 - 22.50 77.50 12.50 1.7447 - 22.50 77.50 17.50 2.18688 - 22.50 77.50 22.50 2.07224 - 22.50 77.50 27.50 1.6855 - 22.50 77.50 32.50 1.16453 - 22.50 77.50 37.50 0.644909 - 22.50 77.50 42.50 0.298138 - 22.50 77.50 47.50 0.111532 - 22.50 77.50 52.50 0.0287376 - 22.50 77.50 57.50 0.0095298 - 22.50 77.50 62.50 0.0172979 - 22.50 77.50 67.50 0.0442533 - 22.50 77.50 72.50 0.0988984 - 22.50 77.50 77.50 0.174708 - 22.50 77.50 82.50 0.199615 - 22.50 77.50 87.50 0.286755 - 22.50 77.50 92.50 0.527183 - 22.50 77.50 97.50 1.13782 - 22.50 77.50 102.50 1.7447 - 22.50 77.50 107.50 2.18688 - 22.50 77.50 112.50 2.07224 - 22.50 77.50 117.50 1.6855 - 22.50 77.50 122.50 1.16453 - 22.50 77.50 127.50 0.644908 - 22.50 77.50 132.50 0.298138 - 22.50 77.50 137.50 0.111532 - 22.50 77.50 142.50 0.0287376 - 22.50 77.50 147.50 0.00952982 - 22.50 77.50 152.50 0.0172979 - 22.50 77.50 157.50 0.0442532 - 22.50 77.50 162.50 0.0988983 - 22.50 77.50 167.50 0.174708 - 22.50 77.50 172.50 0.199615 - 22.50 77.50 177.50 0.286755 - 22.50 77.50 182.50 0.527183 - 22.50 77.50 187.50 1.13782 - 22.50 77.50 192.50 1.7447 - 22.50 77.50 197.50 2.18688 - 22.50 77.50 202.50 2.07224 - 22.50 77.50 207.50 1.6855 - 22.50 77.50 212.50 1.16453 - 22.50 77.50 217.50 0.644909 - 22.50 77.50 222.50 0.298138 - 22.50 77.50 227.50 0.111532 - 22.50 77.50 232.50 0.0287375 - 22.50 77.50 237.50 0.00952981 - 22.50 77.50 242.50 0.017298 - 22.50 77.50 247.50 0.0442533 - 22.50 77.50 252.50 0.0988986 - 22.50 77.50 257.50 0.174709 - 22.50 77.50 262.50 0.199615 - 22.50 77.50 267.50 0.286755 - 22.50 77.50 272.50 0.527183 - 22.50 77.50 277.50 1.13782 - 22.50 77.50 282.50 1.7447 - 22.50 77.50 287.50 2.18687 - 22.50 77.50 292.50 2.07224 - 22.50 77.50 297.50 1.6855 - 22.50 77.50 302.50 1.16453 - 22.50 77.50 307.50 0.644909 - 22.50 77.50 312.50 0.298138 - 22.50 77.50 317.50 0.111532 - 22.50 77.50 322.50 0.0287376 - 22.50 77.50 327.50 0.00952984 - 22.50 77.50 332.50 0.0172979 - 22.50 77.50 337.50 0.0442533 - 22.50 77.50 342.50 0.0988982 - 22.50 77.50 347.50 0.174708 - 22.50 77.50 352.50 0.199615 - 22.50 77.50 357.50 0.286755 - 22.50 82.50 2.50 0.24067 - 22.50 82.50 7.50 0.544789 - 22.50 82.50 12.50 0.900072 - 22.50 82.50 17.50 0.999401 - 22.50 82.50 22.50 0.937334 - 22.50 82.50 27.50 0.807817 - 22.50 82.50 32.50 0.611402 - 22.50 82.50 37.50 0.397169 - 22.50 82.50 42.50 0.213845 - 22.50 82.50 47.50 0.0852897 - 22.50 82.50 52.50 0.0257014 - 22.50 82.50 57.50 0.012744 - 22.50 82.50 62.50 0.0225818 - 22.50 82.50 67.50 0.0486991 - 22.50 82.50 72.50 0.0891882 - 22.50 82.50 77.50 0.119734 - 22.50 82.50 82.50 0.138644 - 22.50 82.50 87.50 0.147629 - 22.50 82.50 92.50 0.24067 - 22.50 82.50 97.50 0.544789 - 22.50 82.50 102.50 0.900073 - 22.50 82.50 107.50 0.999402 - 22.50 82.50 112.50 0.937335 - 22.50 82.50 117.50 0.807817 - 22.50 82.50 122.50 0.611402 - 22.50 82.50 127.50 0.397169 - 22.50 82.50 132.50 0.213845 - 22.50 82.50 137.50 0.0852897 - 22.50 82.50 142.50 0.0257014 - 22.50 82.50 147.50 0.012744 - 22.50 82.50 152.50 0.0225818 - 22.50 82.50 157.50 0.048699 - 22.50 82.50 162.50 0.0891881 - 22.50 82.50 167.50 0.119734 - 22.50 82.50 172.50 0.138644 - 22.50 82.50 177.50 0.147629 - 22.50 82.50 182.50 0.24067 - 22.50 82.50 187.50 0.544789 - 22.50 82.50 192.50 0.900073 - 22.50 82.50 197.50 0.999402 - 22.50 82.50 202.50 0.937335 - 22.50 82.50 207.50 0.807817 - 22.50 82.50 212.50 0.611402 - 22.50 82.50 217.50 0.397169 - 22.50 82.50 222.50 0.213845 - 22.50 82.50 227.50 0.0852897 - 22.50 82.50 232.50 0.0257013 - 22.50 82.50 237.50 0.012744 - 22.50 82.50 242.50 0.0225819 - 22.50 82.50 247.50 0.0486992 - 22.50 82.50 252.50 0.0891883 - 22.50 82.50 257.50 0.119734 - 22.50 82.50 262.50 0.138644 - 22.50 82.50 267.50 0.147629 - 22.50 82.50 272.50 0.24067 - 22.50 82.50 277.50 0.544789 - 22.50 82.50 282.50 0.900072 - 22.50 82.50 287.50 0.999401 - 22.50 82.50 292.50 0.937335 - 22.50 82.50 297.50 0.807817 - 22.50 82.50 302.50 0.611402 - 22.50 82.50 307.50 0.397169 - 22.50 82.50 312.50 0.213845 - 22.50 82.50 317.50 0.0852898 - 22.50 82.50 322.50 0.0257015 - 22.50 82.50 327.50 0.012744 - 22.50 82.50 332.50 0.0225818 - 22.50 82.50 337.50 0.048699 - 22.50 82.50 342.50 0.0891882 - 22.50 82.50 347.50 0.119734 - 22.50 82.50 352.50 0.138644 - 22.50 82.50 357.50 0.147629 - 22.50 87.50 2.50 0.102596 - 22.50 87.50 7.50 0.216986 - 22.50 87.50 12.50 0.31521 - 22.50 87.50 17.50 0.378933 - 22.50 87.50 22.50 0.352489 - 22.50 87.50 27.50 0.314486 - 22.50 87.50 32.50 0.280863 - 22.50 87.50 37.50 0.201109 - 22.50 87.50 42.50 0.100634 - 22.50 87.50 47.50 0.0369317 - 22.50 87.50 52.50 0.0173699 - 22.50 87.50 57.50 0.0219536 - 22.50 87.50 62.50 0.0338705 - 22.50 87.50 67.50 0.0566572 - 22.50 87.50 72.50 0.113762 - 22.50 87.50 77.50 0.161509 - 22.50 87.50 82.50 0.125017 - 22.50 87.50 87.50 0.086999 - 22.50 87.50 92.50 0.102596 - 22.50 87.50 97.50 0.216986 - 22.50 87.50 102.50 0.31521 - 22.50 87.50 107.50 0.378934 - 22.50 87.50 112.50 0.352489 - 22.50 87.50 117.50 0.314486 - 22.50 87.50 122.50 0.280863 - 22.50 87.50 127.50 0.201109 - 22.50 87.50 132.50 0.100634 - 22.50 87.50 137.50 0.0369318 - 22.50 87.50 142.50 0.0173699 - 22.50 87.50 147.50 0.0219536 - 22.50 87.50 152.50 0.0338705 - 22.50 87.50 157.50 0.0566572 - 22.50 87.50 162.50 0.113762 - 22.50 87.50 167.50 0.161509 - 22.50 87.50 172.50 0.125017 - 22.50 87.50 177.50 0.0869992 - 22.50 87.50 182.50 0.102596 - 22.50 87.50 187.50 0.216986 - 22.50 87.50 192.50 0.31521 - 22.50 87.50 197.50 0.378934 - 22.50 87.50 202.50 0.352489 - 22.50 87.50 207.50 0.314486 - 22.50 87.50 212.50 0.280863 - 22.50 87.50 217.50 0.201109 - 22.50 87.50 222.50 0.100634 - 22.50 87.50 227.50 0.0369318 - 22.50 87.50 232.50 0.0173699 - 22.50 87.50 237.50 0.0219536 - 22.50 87.50 242.50 0.0338705 - 22.50 87.50 247.50 0.0566572 - 22.50 87.50 252.50 0.113762 - 22.50 87.50 257.50 0.161509 - 22.50 87.50 262.50 0.125017 - 22.50 87.50 267.50 0.0869991 - 22.50 87.50 272.50 0.102596 - 22.50 87.50 277.50 0.216986 - 22.50 87.50 282.50 0.31521 - 22.50 87.50 287.50 0.378933 - 22.50 87.50 292.50 0.352489 - 22.50 87.50 297.50 0.314486 - 22.50 87.50 302.50 0.280863 - 22.50 87.50 307.50 0.201109 - 22.50 87.50 312.50 0.100634 - 22.50 87.50 317.50 0.0369318 - 22.50 87.50 322.50 0.0173699 - 22.50 87.50 327.50 0.0219536 - 22.50 87.50 332.50 0.0338705 - 22.50 87.50 337.50 0.0566571 - 22.50 87.50 342.50 0.113762 - 22.50 87.50 347.50 0.161509 - 22.50 87.50 352.50 0.125017 - 22.50 87.50 357.50 0.0869991 - 22.50 92.50 2.50 0.0624685 - 22.50 92.50 7.50 0.0872056 - 22.50 92.50 12.50 0.134121 - 22.50 92.50 17.50 0.148779 - 22.50 92.50 22.50 0.129042 - 22.50 92.50 27.50 0.114009 - 22.50 92.50 32.50 0.102728 - 22.50 92.50 37.50 0.0713706 - 22.50 92.50 42.50 0.0345643 - 22.50 92.50 47.50 0.0195997 - 22.50 92.50 52.50 0.0345643 - 22.50 92.50 57.50 0.0713707 - 22.50 92.50 62.50 0.102728 - 22.50 92.50 67.50 0.114009 - 22.50 92.50 72.50 0.129042 - 22.50 92.50 77.50 0.148779 - 22.50 92.50 82.50 0.134121 - 22.50 92.50 87.50 0.0872057 - 22.50 92.50 92.50 0.0624686 - 22.50 92.50 97.50 0.0872057 - 22.50 92.50 102.50 0.134121 - 22.50 92.50 107.50 0.148779 - 22.50 92.50 112.50 0.129042 - 22.50 92.50 117.50 0.114009 - 22.50 92.50 122.50 0.102728 - 22.50 92.50 127.50 0.0713706 - 22.50 92.50 132.50 0.0345643 - 22.50 92.50 137.50 0.0195997 - 22.50 92.50 142.50 0.0345643 - 22.50 92.50 147.50 0.0713706 - 22.50 92.50 152.50 0.102728 - 22.50 92.50 157.50 0.114009 - 22.50 92.50 162.50 0.129042 - 22.50 92.50 167.50 0.148779 - 22.50 92.50 172.50 0.134121 - 22.50 92.50 177.50 0.0872057 - 22.50 92.50 182.50 0.0624686 - 22.50 92.50 187.50 0.0872057 - 22.50 92.50 192.50 0.134121 - 22.50 92.50 197.50 0.148779 - 22.50 92.50 202.50 0.129042 - 22.50 92.50 207.50 0.114009 - 22.50 92.50 212.50 0.102728 - 22.50 92.50 217.50 0.0713706 - 22.50 92.50 222.50 0.0345643 - 22.50 92.50 227.50 0.0195997 - 22.50 92.50 232.50 0.0345643 - 22.50 92.50 237.50 0.0713707 - 22.50 92.50 242.50 0.102728 - 22.50 92.50 247.50 0.114009 - 22.50 92.50 252.50 0.129042 - 22.50 92.50 257.50 0.148779 - 22.50 92.50 262.50 0.134121 - 22.50 92.50 267.50 0.0872057 - 22.50 92.50 272.50 0.0624686 - 22.50 92.50 277.50 0.0872057 - 22.50 92.50 282.50 0.134121 - 22.50 92.50 287.50 0.148779 - 22.50 92.50 292.50 0.129042 - 22.50 92.50 297.50 0.114009 - 22.50 92.50 302.50 0.102728 - 22.50 92.50 307.50 0.0713706 - 22.50 92.50 312.50 0.0345643 - 22.50 92.50 317.50 0.0195997 - 22.50 92.50 322.50 0.0345642 - 22.50 92.50 327.50 0.0713706 - 22.50 92.50 332.50 0.102728 - 22.50 92.50 337.50 0.114009 - 22.50 92.50 342.50 0.129042 - 22.50 92.50 347.50 0.148779 - 22.50 92.50 352.50 0.134121 - 22.50 92.50 357.50 0.0872058 - 22.50 97.50 2.50 0.102596 - 22.50 97.50 7.50 0.0869991 - 22.50 97.50 12.50 0.125017 - 22.50 97.50 17.50 0.161509 - 22.50 97.50 22.50 0.113762 - 22.50 97.50 27.50 0.0566571 - 22.50 97.50 32.50 0.0338705 - 22.50 97.50 37.50 0.0219536 - 22.50 97.50 42.50 0.0173699 - 22.50 97.50 47.50 0.0369318 - 22.50 97.50 52.50 0.100634 - 22.50 97.50 57.50 0.201109 - 22.50 97.50 62.50 0.280863 - 22.50 97.50 67.50 0.314486 - 22.50 97.50 72.50 0.352489 - 22.50 97.50 77.50 0.378933 - 22.50 97.50 82.50 0.31521 - 22.50 97.50 87.50 0.216985 - 22.50 97.50 92.50 0.102596 - 22.50 97.50 97.50 0.086999 - 22.50 97.50 102.50 0.125017 - 22.50 97.50 107.50 0.161509 - 22.50 97.50 112.50 0.113762 - 22.50 97.50 117.50 0.0566571 - 22.50 97.50 122.50 0.0338705 - 22.50 97.50 127.50 0.0219536 - 22.50 97.50 132.50 0.0173699 - 22.50 97.50 137.50 0.0369318 - 22.50 97.50 142.50 0.100634 - 22.50 97.50 147.50 0.201109 - 22.50 97.50 152.50 0.280863 - 22.50 97.50 157.50 0.314486 - 22.50 97.50 162.50 0.352489 - 22.50 97.50 167.50 0.378933 - 22.50 97.50 172.50 0.31521 - 22.50 97.50 177.50 0.216986 - 22.50 97.50 182.50 0.102596 - 22.50 97.50 187.50 0.0869991 - 22.50 97.50 192.50 0.125017 - 22.50 97.50 197.50 0.161509 - 22.50 97.50 202.50 0.113762 - 22.50 97.50 207.50 0.0566572 - 22.50 97.50 212.50 0.0338705 - 22.50 97.50 217.50 0.0219536 - 22.50 97.50 222.50 0.0173699 - 22.50 97.50 227.50 0.0369317 - 22.50 97.50 232.50 0.100634 - 22.50 97.50 237.50 0.201109 - 22.50 97.50 242.50 0.280863 - 22.50 97.50 247.50 0.314486 - 22.50 97.50 252.50 0.352489 - 22.50 97.50 257.50 0.378933 - 22.50 97.50 262.50 0.31521 - 22.50 97.50 267.50 0.216986 - 22.50 97.50 272.50 0.102596 - 22.50 97.50 277.50 0.0869991 - 22.50 97.50 282.50 0.125017 - 22.50 97.50 287.50 0.161509 - 22.50 97.50 292.50 0.113762 - 22.50 97.50 297.50 0.0566572 - 22.50 97.50 302.50 0.0338705 - 22.50 97.50 307.50 0.0219536 - 22.50 97.50 312.50 0.0173699 - 22.50 97.50 317.50 0.0369317 - 22.50 97.50 322.50 0.100634 - 22.50 97.50 327.50 0.201109 - 22.50 97.50 332.50 0.280863 - 22.50 97.50 337.50 0.314486 - 22.50 97.50 342.50 0.352489 - 22.50 97.50 347.50 0.378933 - 22.50 97.50 352.50 0.31521 - 22.50 97.50 357.50 0.216986 - 22.50 102.50 2.50 0.24067 - 22.50 102.50 7.50 0.147629 - 22.50 102.50 12.50 0.138644 - 22.50 102.50 17.50 0.119734 - 22.50 102.50 22.50 0.0891883 - 22.50 102.50 27.50 0.0486991 - 22.50 102.50 32.50 0.0225818 - 22.50 102.50 37.50 0.012744 - 22.50 102.50 42.50 0.0257014 - 22.50 102.50 47.50 0.0852898 - 22.50 102.50 52.50 0.213845 - 22.50 102.50 57.50 0.397169 - 22.50 102.50 62.50 0.611403 - 22.50 102.50 67.50 0.807817 - 22.50 102.50 72.50 0.937335 - 22.50 102.50 77.50 0.999401 - 22.50 102.50 82.50 0.900072 - 22.50 102.50 87.50 0.544788 - 22.50 102.50 92.50 0.24067 - 22.50 102.50 97.50 0.147629 - 22.50 102.50 102.50 0.138644 - 22.50 102.50 107.50 0.119734 - 22.50 102.50 112.50 0.0891882 - 22.50 102.50 117.50 0.048699 - 22.50 102.50 122.50 0.0225818 - 22.50 102.50 127.50 0.012744 - 22.50 102.50 132.50 0.0257014 - 22.50 102.50 137.50 0.0852898 - 22.50 102.50 142.50 0.213845 - 22.50 102.50 147.50 0.397169 - 22.50 102.50 152.50 0.611402 - 22.50 102.50 157.50 0.807816 - 22.50 102.50 162.50 0.937335 - 22.50 102.50 167.50 0.9994 - 22.50 102.50 172.50 0.900073 - 22.50 102.50 177.50 0.544789 - 22.50 102.50 182.50 0.24067 - 22.50 102.50 187.50 0.147629 - 22.50 102.50 192.50 0.138644 - 22.50 102.50 197.50 0.119734 - 22.50 102.50 202.50 0.0891883 - 22.50 102.50 207.50 0.0486991 - 22.50 102.50 212.50 0.0225818 - 22.50 102.50 217.50 0.012744 - 22.50 102.50 222.50 0.0257014 - 22.50 102.50 227.50 0.0852896 - 22.50 102.50 232.50 0.213845 - 22.50 102.50 237.50 0.397169 - 22.50 102.50 242.50 0.611402 - 22.50 102.50 247.50 0.807817 - 22.50 102.50 252.50 0.937334 - 22.50 102.50 257.50 0.999401 - 22.50 102.50 262.50 0.900072 - 22.50 102.50 267.50 0.544789 - 22.50 102.50 272.50 0.24067 - 22.50 102.50 277.50 0.147629 - 22.50 102.50 282.50 0.138644 - 22.50 102.50 287.50 0.119734 - 22.50 102.50 292.50 0.0891883 - 22.50 102.50 297.50 0.0486991 - 22.50 102.50 302.50 0.0225818 - 22.50 102.50 307.50 0.012744 - 22.50 102.50 312.50 0.0257014 - 22.50 102.50 317.50 0.0852896 - 22.50 102.50 322.50 0.213845 - 22.50 102.50 327.50 0.397168 - 22.50 102.50 332.50 0.611402 - 22.50 102.50 337.50 0.807817 - 22.50 102.50 342.50 0.937334 - 22.50 102.50 347.50 0.999401 - 22.50 102.50 352.50 0.900073 - 22.50 102.50 357.50 0.54479 - 22.50 107.50 2.50 0.527183 - 22.50 107.50 7.50 0.286755 - 22.50 107.50 12.50 0.199615 - 22.50 107.50 17.50 0.174708 - 22.50 107.50 22.50 0.0988983 - 22.50 107.50 27.50 0.0442532 - 22.50 107.50 32.50 0.0172979 - 22.50 107.50 37.50 0.00952983 - 22.50 107.50 42.50 0.0287376 - 22.50 107.50 47.50 0.111532 - 22.50 107.50 52.50 0.298138 - 22.50 107.50 57.50 0.644909 - 22.50 107.50 62.50 1.16453 - 22.50 107.50 67.50 1.6855 - 22.50 107.50 72.50 2.07224 - 22.50 107.50 77.50 2.18688 - 22.50 107.50 82.50 1.7447 - 22.50 107.50 87.50 1.13782 - 22.50 107.50 92.50 0.527182 - 22.50 107.50 97.50 0.286755 - 22.50 107.50 102.50 0.199615 - 22.50 107.50 107.50 0.174708 - 22.50 107.50 112.50 0.0988983 - 22.50 107.50 117.50 0.0442532 - 22.50 107.50 122.50 0.0172979 - 22.50 107.50 127.50 0.00952984 - 22.50 107.50 132.50 0.0287376 - 22.50 107.50 137.50 0.111532 - 22.50 107.50 142.50 0.298138 - 22.50 107.50 147.50 0.644909 - 22.50 107.50 152.50 1.16453 - 22.50 107.50 157.50 1.6855 - 22.50 107.50 162.50 2.07224 - 22.50 107.50 167.50 2.18687 - 22.50 107.50 172.50 1.7447 - 22.50 107.50 177.50 1.13782 - 22.50 107.50 182.50 0.527182 - 22.50 107.50 187.50 0.286755 - 22.50 107.50 192.50 0.199615 - 22.50 107.50 197.50 0.174708 - 22.50 107.50 202.50 0.0988983 - 22.50 107.50 207.50 0.0442533 - 22.50 107.50 212.50 0.0172979 - 22.50 107.50 217.50 0.00952982 - 22.50 107.50 222.50 0.0287376 - 22.50 107.50 227.50 0.111532 - 22.50 107.50 232.50 0.298139 - 22.50 107.50 237.50 0.644909 - 22.50 107.50 242.50 1.16453 - 22.50 107.50 247.50 1.6855 - 22.50 107.50 252.50 2.07224 - 22.50 107.50 257.50 2.18687 - 22.50 107.50 262.50 1.7447 - 22.50 107.50 267.50 1.13782 - 22.50 107.50 272.50 0.527182 - 22.50 107.50 277.50 0.286755 - 22.50 107.50 282.50 0.199615 - 22.50 107.50 287.50 0.174708 - 22.50 107.50 292.50 0.0988984 - 22.50 107.50 297.50 0.0442533 - 22.50 107.50 302.50 0.0172979 - 22.50 107.50 307.50 0.00952981 - 22.50 107.50 312.50 0.0287375 - 22.50 107.50 317.50 0.111532 - 22.50 107.50 322.50 0.298138 - 22.50 107.50 327.50 0.644908 - 22.50 107.50 332.50 1.16453 - 22.50 107.50 337.50 1.6855 - 22.50 107.50 342.50 2.07224 - 22.50 107.50 347.50 2.18688 - 22.50 107.50 352.50 1.7447 - 22.50 107.50 357.50 1.13782 - 22.50 112.50 2.50 0.990531 - 22.50 112.50 7.50 0.507492 - 22.50 112.50 12.50 0.307753 - 22.50 112.50 17.50 0.19971 - 22.50 112.50 22.50 0.124869 - 22.50 112.50 27.50 0.0461833 - 22.50 112.50 32.50 0.0173686 - 22.50 112.50 37.50 0.00863227 - 22.50 112.50 42.50 0.0241844 - 22.50 112.50 47.50 0.103199 - 22.50 112.50 52.50 0.328942 - 22.50 112.50 57.50 0.860058 - 22.50 112.50 62.50 1.76307 - 22.50 112.50 67.50 2.70409 - 22.50 112.50 72.50 3.38127 - 22.50 112.50 77.50 3.40511 - 22.50 112.50 82.50 2.84177 - 22.50 112.50 87.50 1.87704 - 22.50 112.50 92.50 0.990531 - 22.50 112.50 97.50 0.507492 - 22.50 112.50 102.50 0.307753 - 22.50 112.50 107.50 0.19971 - 22.50 112.50 112.50 0.124869 - 22.50 112.50 117.50 0.0461833 - 22.50 112.50 122.50 0.0173685 - 22.50 112.50 127.50 0.00863227 - 22.50 112.50 132.50 0.0241845 - 22.50 112.50 137.50 0.103199 - 22.50 112.50 142.50 0.328941 - 22.50 112.50 147.50 0.860058 - 22.50 112.50 152.50 1.76307 - 22.50 112.50 157.50 2.70409 - 22.50 112.50 162.50 3.38126 - 22.50 112.50 167.50 3.4051 - 22.50 112.50 172.50 2.84177 - 22.50 112.50 177.50 1.87704 - 22.50 112.50 182.50 0.990531 - 22.50 112.50 187.50 0.507491 - 22.50 112.50 192.50 0.307753 - 22.50 112.50 197.50 0.19971 - 22.50 112.50 202.50 0.124869 - 22.50 112.50 207.50 0.0461833 - 22.50 112.50 212.50 0.0173685 - 22.50 112.50 217.50 0.00863226 - 22.50 112.50 222.50 0.0241844 - 22.50 112.50 227.50 0.103199 - 22.50 112.50 232.50 0.328942 - 22.50 112.50 237.50 0.860059 - 22.50 112.50 242.50 1.76308 - 22.50 112.50 247.50 2.70409 - 22.50 112.50 252.50 3.38126 - 22.50 112.50 257.50 3.40511 - 22.50 112.50 262.50 2.84176 - 22.50 112.50 267.50 1.87704 - 22.50 112.50 272.50 0.990531 - 22.50 112.50 277.50 0.507491 - 22.50 112.50 282.50 0.307753 - 22.50 112.50 287.50 0.19971 - 22.50 112.50 292.50 0.124869 - 22.50 112.50 297.50 0.0461834 - 22.50 112.50 302.50 0.0173686 - 22.50 112.50 307.50 0.00863225 - 22.50 112.50 312.50 0.0241844 - 22.50 112.50 317.50 0.103199 - 22.50 112.50 322.50 0.32894 - 22.50 112.50 327.50 0.860056 - 22.50 112.50 332.50 1.76307 - 22.50 112.50 337.50 2.70409 - 22.50 112.50 342.50 3.38126 - 22.50 112.50 347.50 3.40511 - 22.50 112.50 352.50 2.84177 - 22.50 112.50 357.50 1.87704 - 22.50 117.50 2.50 1.58451 - 22.50 117.50 7.50 0.837527 - 22.50 117.50 12.50 0.486186 - 22.50 117.50 17.50 0.241472 - 22.50 117.50 22.50 0.121093 - 22.50 117.50 27.50 0.0468313 - 22.50 117.50 32.50 0.0148723 - 22.50 117.50 37.50 0.00788942 - 22.50 117.50 42.50 0.0180849 - 22.50 117.50 47.50 0.0861294 - 22.50 117.50 52.50 0.335211 - 22.50 117.50 57.50 0.956498 - 22.50 117.50 62.50 2.04001 - 22.50 117.50 67.50 3.3653 - 22.50 117.50 72.50 4.34267 - 22.50 117.50 77.50 4.45135 - 22.50 117.50 82.50 3.8505 - 22.50 117.50 87.50 2.79225 - 22.50 117.50 92.50 1.58451 - 22.50 117.50 97.50 0.837527 - 22.50 117.50 102.50 0.486185 - 22.50 117.50 107.50 0.241472 - 22.50 117.50 112.50 0.121093 - 22.50 117.50 117.50 0.0468313 - 22.50 117.50 122.50 0.0148723 - 22.50 117.50 127.50 0.00788941 - 22.50 117.50 132.50 0.0180849 - 22.50 117.50 137.50 0.0861293 - 22.50 117.50 142.50 0.335211 - 22.50 117.50 147.50 0.956497 - 22.50 117.50 152.50 2.04001 - 22.50 117.50 157.50 3.3653 - 22.50 117.50 162.50 4.34267 - 22.50 117.50 167.50 4.45135 - 22.50 117.50 172.50 3.8505 - 22.50 117.50 177.50 2.79226 - 22.50 117.50 182.50 1.58451 - 22.50 117.50 187.50 0.837527 - 22.50 117.50 192.50 0.486185 - 22.50 117.50 197.50 0.241472 - 22.50 117.50 202.50 0.121093 - 22.50 117.50 207.50 0.0468313 - 22.50 117.50 212.50 0.0148723 - 22.50 117.50 217.50 0.00788941 - 22.50 117.50 222.50 0.0180848 - 22.50 117.50 227.50 0.0861291 - 22.50 117.50 232.50 0.335211 - 22.50 117.50 237.50 0.956498 - 22.50 117.50 242.50 2.04001 - 22.50 117.50 247.50 3.3653 - 22.50 117.50 252.50 4.34267 - 22.50 117.50 257.50 4.45135 - 22.50 117.50 262.50 3.85049 - 22.50 117.50 267.50 2.79225 - 22.50 117.50 272.50 1.58451 - 22.50 117.50 277.50 0.837527 - 22.50 117.50 282.50 0.486186 - 22.50 117.50 287.50 0.241472 - 22.50 117.50 292.50 0.121093 - 22.50 117.50 297.50 0.0468314 - 22.50 117.50 302.50 0.0148723 - 22.50 117.50 307.50 0.00788942 - 22.50 117.50 312.50 0.0180849 - 22.50 117.50 317.50 0.0861291 - 22.50 117.50 322.50 0.33521 - 22.50 117.50 327.50 0.956494 - 22.50 117.50 332.50 2.04 - 22.50 117.50 337.50 3.3653 - 22.50 117.50 342.50 4.34267 - 22.50 117.50 347.50 4.45135 - 22.50 117.50 352.50 3.8505 - 22.50 117.50 357.50 2.79226 - 22.50 122.50 2.50 2.28343 - 22.50 122.50 7.50 1.33413 - 22.50 122.50 12.50 0.78064 - 22.50 122.50 17.50 0.385374 - 22.50 122.50 22.50 0.168754 - 22.50 122.50 27.50 0.0745228 - 22.50 122.50 32.50 0.0287022 - 22.50 122.50 37.50 0.0099559 - 22.50 122.50 42.50 0.0100612 - 22.50 122.50 47.50 0.0453351 - 22.50 122.50 52.50 0.244396 - 22.50 122.50 57.50 0.823462 - 22.50 122.50 62.50 1.90083 - 22.50 122.50 67.50 3.41962 - 22.50 122.50 72.50 4.55045 - 22.50 122.50 77.50 4.97593 - 22.50 122.50 82.50 4.65531 - 22.50 122.50 87.50 3.66596 - 22.50 122.50 92.50 2.28343 - 22.50 122.50 97.50 1.33413 - 22.50 122.50 102.50 0.78064 - 22.50 122.50 107.50 0.385374 - 22.50 122.50 112.50 0.168754 - 22.50 122.50 117.50 0.0745227 - 22.50 122.50 122.50 0.0287021 - 22.50 122.50 127.50 0.0099559 - 22.50 122.50 132.50 0.0100612 - 22.50 122.50 137.50 0.0453351 - 22.50 122.50 142.50 0.244396 - 22.50 122.50 147.50 0.823462 - 22.50 122.50 152.50 1.90083 - 22.50 122.50 157.50 3.41962 - 22.50 122.50 162.50 4.55045 - 22.50 122.50 167.50 4.97593 - 22.50 122.50 172.50 4.65531 - 22.50 122.50 177.50 3.66596 - 22.50 122.50 182.50 2.28343 - 22.50 122.50 187.50 1.33413 - 22.50 122.50 192.50 0.78064 - 22.50 122.50 197.50 0.385374 - 22.50 122.50 202.50 0.168753 - 22.50 122.50 207.50 0.0745228 - 22.50 122.50 212.50 0.0287022 - 22.50 122.50 217.50 0.00995591 - 22.50 122.50 222.50 0.0100612 - 22.50 122.50 227.50 0.045335 - 22.50 122.50 232.50 0.244397 - 22.50 122.50 237.50 0.823462 - 22.50 122.50 242.50 1.90083 - 22.50 122.50 247.50 3.41962 - 22.50 122.50 252.50 4.55045 - 22.50 122.50 257.50 4.97593 - 22.50 122.50 262.50 4.6553 - 22.50 122.50 267.50 3.66596 - 22.50 122.50 272.50 2.28343 - 22.50 122.50 277.50 1.33413 - 22.50 122.50 282.50 0.78064 - 22.50 122.50 287.50 0.385374 - 22.50 122.50 292.50 0.168754 - 22.50 122.50 297.50 0.0745229 - 22.50 122.50 302.50 0.0287023 - 22.50 122.50 307.50 0.00995591 - 22.50 122.50 312.50 0.0100612 - 22.50 122.50 317.50 0.0453349 - 22.50 122.50 322.50 0.244395 - 22.50 122.50 327.50 0.823459 - 22.50 122.50 332.50 1.90083 - 22.50 122.50 337.50 3.41962 - 22.50 122.50 342.50 4.55044 - 22.50 122.50 347.50 4.97593 - 22.50 122.50 352.50 4.65531 - 22.50 122.50 357.50 3.66596 - 22.50 127.50 2.50 3.12281 - 22.50 127.50 7.50 2.05638 - 22.50 127.50 12.50 1.26427 - 22.50 127.50 17.50 0.705297 - 22.50 127.50 22.50 0.335682 - 22.50 127.50 27.50 0.150526 - 22.50 127.50 32.50 0.0566754 - 22.50 127.50 37.50 0.0156722 - 22.50 127.50 42.50 0.00826451 - 22.50 127.50 47.50 0.0327451 - 22.50 127.50 52.50 0.149992 - 22.50 127.50 57.50 0.540127 - 22.50 127.50 62.50 1.4484 - 22.50 127.50 67.50 2.72937 - 22.50 127.50 72.50 4.07693 - 22.50 127.50 77.50 4.86539 - 22.50 127.50 82.50 5.08928 - 22.50 127.50 87.50 4.34924 - 22.50 127.50 92.50 3.12281 - 22.50 127.50 97.50 2.05638 - 22.50 127.50 102.50 1.26427 - 22.50 127.50 107.50 0.705296 - 22.50 127.50 112.50 0.335682 - 22.50 127.50 117.50 0.150526 - 22.50 127.50 122.50 0.0566754 - 22.50 127.50 127.50 0.0156722 - 22.50 127.50 132.50 0.00826451 - 22.50 127.50 137.50 0.0327451 - 22.50 127.50 142.50 0.149992 - 22.50 127.50 147.50 0.540127 - 22.50 127.50 152.50 1.4484 - 22.50 127.50 157.50 2.72937 - 22.50 127.50 162.50 4.07693 - 22.50 127.50 167.50 4.86539 - 22.50 127.50 172.50 5.08928 - 22.50 127.50 177.50 4.34924 - 22.50 127.50 182.50 3.12281 - 22.50 127.50 187.50 2.05638 - 22.50 127.50 192.50 1.26427 - 22.50 127.50 197.50 0.705296 - 22.50 127.50 202.50 0.335682 - 22.50 127.50 207.50 0.150526 - 22.50 127.50 212.50 0.0566754 - 22.50 127.50 217.50 0.0156722 - 22.50 127.50 222.50 0.00826451 - 22.50 127.50 227.50 0.032745 - 22.50 127.50 232.50 0.149993 - 22.50 127.50 237.50 0.540127 - 22.50 127.50 242.50 1.4484 - 22.50 127.50 247.50 2.72937 - 22.50 127.50 252.50 4.07694 - 22.50 127.50 257.50 4.86539 - 22.50 127.50 262.50 5.08928 - 22.50 127.50 267.50 4.34924 - 22.50 127.50 272.50 3.12281 - 22.50 127.50 277.50 2.05638 - 22.50 127.50 282.50 1.26427 - 22.50 127.50 287.50 0.705297 - 22.50 127.50 292.50 0.335682 - 22.50 127.50 297.50 0.150526 - 22.50 127.50 302.50 0.0566754 - 22.50 127.50 307.50 0.0156722 - 22.50 127.50 312.50 0.00826451 - 22.50 127.50 317.50 0.032745 - 22.50 127.50 322.50 0.149992 - 22.50 127.50 327.50 0.540125 - 22.50 127.50 332.50 1.4484 - 22.50 127.50 337.50 2.72937 - 22.50 127.50 342.50 4.07693 - 22.50 127.50 347.50 4.86538 - 22.50 127.50 352.50 5.08928 - 22.50 127.50 357.50 4.34925 - 22.50 132.50 2.50 3.95125 - 22.50 132.50 7.50 2.87227 - 22.50 132.50 12.50 1.90678 - 22.50 132.50 17.50 1.1717 - 22.50 132.50 22.50 0.615838 - 22.50 132.50 27.50 0.264477 - 22.50 132.50 32.50 0.0934184 - 22.50 132.50 37.50 0.0326858 - 22.50 132.50 42.50 0.0113143 - 22.50 132.50 47.50 0.0175414 - 22.50 132.50 52.50 0.081341 - 22.50 132.50 57.50 0.320984 - 22.50 132.50 62.50 0.867071 - 22.50 132.50 67.50 1.85735 - 22.50 132.50 72.50 3.16164 - 22.50 132.50 77.50 4.29494 - 22.50 132.50 82.50 4.98895 - 22.50 132.50 87.50 4.73907 - 22.50 132.50 92.50 3.95126 - 22.50 132.50 97.50 2.87227 - 22.50 132.50 102.50 1.90678 - 22.50 132.50 107.50 1.1717 - 22.50 132.50 112.50 0.615838 - 22.50 132.50 117.50 0.264477 - 22.50 132.50 122.50 0.0934183 - 22.50 132.50 127.50 0.0326858 - 22.50 132.50 132.50 0.0113143 - 22.50 132.50 137.50 0.0175414 - 22.50 132.50 142.50 0.081341 - 22.50 132.50 147.50 0.320984 - 22.50 132.50 152.50 0.86707 - 22.50 132.50 157.50 1.85735 - 22.50 132.50 162.50 3.16164 - 22.50 132.50 167.50 4.29494 - 22.50 132.50 172.50 4.98895 - 22.50 132.50 177.50 4.73907 - 22.50 132.50 182.50 3.95125 - 22.50 132.50 187.50 2.87227 - 22.50 132.50 192.50 1.90678 - 22.50 132.50 197.50 1.1717 - 22.50 132.50 202.50 0.615837 - 22.50 132.50 207.50 0.264477 - 22.50 132.50 212.50 0.0934184 - 22.50 132.50 217.50 0.0326858 - 22.50 132.50 222.50 0.0113143 - 22.50 132.50 227.50 0.0175414 - 22.50 132.50 232.50 0.0813412 - 22.50 132.50 237.50 0.320985 - 22.50 132.50 242.50 0.867071 - 22.50 132.50 247.50 1.85735 - 22.50 132.50 252.50 3.16164 - 22.50 132.50 257.50 4.29494 - 22.50 132.50 262.50 4.98895 - 22.50 132.50 267.50 4.73907 - 22.50 132.50 272.50 3.95126 - 22.50 132.50 277.50 2.87227 - 22.50 132.50 282.50 1.90678 - 22.50 132.50 287.50 1.1717 - 22.50 132.50 292.50 0.615838 - 22.50 132.50 297.50 0.264477 - 22.50 132.50 302.50 0.0934185 - 22.50 132.50 307.50 0.0326858 - 22.50 132.50 312.50 0.0113143 - 22.50 132.50 317.50 0.0175413 - 22.50 132.50 322.50 0.0813408 - 22.50 132.50 327.50 0.320983 - 22.50 132.50 332.50 0.867068 - 22.50 132.50 337.50 1.85735 - 22.50 132.50 342.50 3.16163 - 22.50 132.50 347.50 4.29494 - 22.50 132.50 352.50 4.98895 - 22.50 132.50 357.50 4.73907 - 22.50 137.50 2.50 4.32007 - 22.50 137.50 7.50 3.4196 - 22.50 137.50 12.50 2.48276 - 22.50 137.50 17.50 1.70873 - 22.50 137.50 22.50 0.994167 - 22.50 137.50 27.50 0.416995 - 22.50 137.50 32.50 0.159769 - 22.50 137.50 37.50 0.0497083 - 22.50 137.50 42.50 0.0122159 - 22.50 137.50 47.50 0.0122731 - 22.50 137.50 52.50 0.0359634 - 22.50 137.50 57.50 0.155387 - 22.50 137.50 62.50 0.435016 - 22.50 137.50 67.50 1.09209 - 22.50 137.50 72.50 2.1849 - 22.50 137.50 77.50 3.38724 - 22.50 137.50 82.50 4.34864 - 22.50 137.50 87.50 4.66925 - 22.50 137.50 92.50 4.32007 - 22.50 137.50 97.50 3.4196 - 22.50 137.50 102.50 2.48276 - 22.50 137.50 107.50 1.70873 - 22.50 137.50 112.50 0.994167 - 22.50 137.50 117.50 0.416994 - 22.50 137.50 122.50 0.159769 - 22.50 137.50 127.50 0.0497083 - 22.50 137.50 132.50 0.0122159 - 22.50 137.50 137.50 0.0122731 - 22.50 137.50 142.50 0.0359635 - 22.50 137.50 147.50 0.155387 - 22.50 137.50 152.50 0.435016 - 22.50 137.50 157.50 1.09209 - 22.50 137.50 162.50 2.1849 - 22.50 137.50 167.50 3.38724 - 22.50 137.50 172.50 4.34864 - 22.50 137.50 177.50 4.66925 - 22.50 137.50 182.50 4.32006 - 22.50 137.50 187.50 3.4196 - 22.50 137.50 192.50 2.48276 - 22.50 137.50 197.50 1.70873 - 22.50 137.50 202.50 0.994167 - 22.50 137.50 207.50 0.416995 - 22.50 137.50 212.50 0.159769 - 22.50 137.50 217.50 0.0497084 - 22.50 137.50 222.50 0.0122159 - 22.50 137.50 227.50 0.0122731 - 22.50 137.50 232.50 0.0359636 - 22.50 137.50 237.50 0.155387 - 22.50 137.50 242.50 0.435016 - 22.50 137.50 247.50 1.09209 - 22.50 137.50 252.50 2.1849 - 22.50 137.50 257.50 3.38724 - 22.50 137.50 262.50 4.34864 - 22.50 137.50 267.50 4.66925 - 22.50 137.50 272.50 4.32006 - 22.50 137.50 277.50 3.4196 - 22.50 137.50 282.50 2.48276 - 22.50 137.50 287.50 1.70873 - 22.50 137.50 292.50 0.994167 - 22.50 137.50 297.50 0.416995 - 22.50 137.50 302.50 0.159769 - 22.50 137.50 307.50 0.0497084 - 22.50 137.50 312.50 0.0122159 - 22.50 137.50 317.50 0.0122731 - 22.50 137.50 322.50 0.0359633 - 22.50 137.50 327.50 0.155387 - 22.50 137.50 332.50 0.435015 - 22.50 137.50 337.50 1.09209 - 22.50 137.50 342.50 2.1849 - 22.50 137.50 347.50 3.38723 - 22.50 137.50 352.50 4.34864 - 22.50 137.50 357.50 4.66925 - 22.50 142.50 2.50 3.95126 - 22.50 142.50 7.50 3.40139 - 22.50 142.50 12.50 2.75895 - 22.50 142.50 17.50 2.13049 - 22.50 142.50 22.50 1.35737 - 22.50 142.50 27.50 0.639225 - 22.50 142.50 32.50 0.221197 - 22.50 142.50 37.50 0.0653321 - 22.50 142.50 42.50 0.0174266 - 22.50 142.50 47.50 0.00680786 - 22.50 142.50 52.50 0.0171215 - 22.50 142.50 57.50 0.0597781 - 22.50 142.50 62.50 0.193327 - 22.50 142.50 67.50 0.573799 - 22.50 142.50 72.50 1.31015 - 22.50 142.50 77.50 2.33596 - 22.50 142.50 82.50 3.33049 - 22.50 142.50 87.50 3.98414 - 22.50 142.50 92.50 3.95126 - 22.50 142.50 97.50 3.40139 - 22.50 142.50 102.50 2.75895 - 22.50 142.50 107.50 2.13049 - 22.50 142.50 112.50 1.35737 - 22.50 142.50 117.50 0.639225 - 22.50 142.50 122.50 0.221197 - 22.50 142.50 127.50 0.065332 - 22.50 142.50 132.50 0.0174266 - 22.50 142.50 137.50 0.00680786 - 22.50 142.50 142.50 0.0171215 - 22.50 142.50 147.50 0.0597781 - 22.50 142.50 152.50 0.193327 - 22.50 142.50 157.50 0.573798 - 22.50 142.50 162.50 1.31015 - 22.50 142.50 167.50 2.33596 - 22.50 142.50 172.50 3.33049 - 22.50 142.50 177.50 3.98414 - 22.50 142.50 182.50 3.95126 - 22.50 142.50 187.50 3.40139 - 22.50 142.50 192.50 2.75895 - 22.50 142.50 197.50 2.13049 - 22.50 142.50 202.50 1.35737 - 22.50 142.50 207.50 0.639225 - 22.50 142.50 212.50 0.221197 - 22.50 142.50 217.50 0.0653321 - 22.50 142.50 222.50 0.0174267 - 22.50 142.50 227.50 0.00680786 - 22.50 142.50 232.50 0.0171215 - 22.50 142.50 237.50 0.0597782 - 22.50 142.50 242.50 0.193327 - 22.50 142.50 247.50 0.573798 - 22.50 142.50 252.50 1.31015 - 22.50 142.50 257.50 2.33596 - 22.50 142.50 262.50 3.33049 - 22.50 142.50 267.50 3.98414 - 22.50 142.50 272.50 3.95126 - 22.50 142.50 277.50 3.40139 - 22.50 142.50 282.50 2.75895 - 22.50 142.50 287.50 2.13049 - 22.50 142.50 292.50 1.35737 - 22.50 142.50 297.50 0.639226 - 22.50 142.50 302.50 0.221198 - 22.50 142.50 307.50 0.0653321 - 22.50 142.50 312.50 0.0174266 - 22.50 142.50 317.50 0.00680786 - 22.50 142.50 322.50 0.0171214 - 22.50 142.50 327.50 0.0597779 - 22.50 142.50 332.50 0.193326 - 22.50 142.50 337.50 0.573797 - 22.50 142.50 342.50 1.31014 - 22.50 142.50 347.50 2.33596 - 22.50 142.50 352.50 3.33049 - 22.50 142.50 357.50 3.98414 - 22.50 147.50 2.50 3.12281 - 22.50 147.50 7.50 2.93791 - 22.50 147.50 12.50 2.65324 - 22.50 147.50 17.50 2.26821 - 22.50 147.50 22.50 1.57418 - 22.50 147.50 27.50 0.811572 - 22.50 147.50 32.50 0.31374 - 22.50 147.50 37.50 0.100306 - 22.50 147.50 42.50 0.0307391 - 22.50 147.50 47.50 0.0110938 - 22.50 147.50 52.50 0.00794411 - 22.50 147.50 57.50 0.0210779 - 22.50 147.50 62.50 0.0813847 - 22.50 147.50 67.50 0.268913 - 22.50 147.50 72.50 0.691645 - 22.50 147.50 77.50 1.39583 - 22.50 147.50 82.50 2.22086 - 22.50 147.50 87.50 2.92586 - 22.50 147.50 92.50 3.12281 - 22.50 147.50 97.50 2.93791 - 22.50 147.50 102.50 2.65324 - 22.50 147.50 107.50 2.26821 - 22.50 147.50 112.50 1.57418 - 22.50 147.50 117.50 0.811572 - 22.50 147.50 122.50 0.31374 - 22.50 147.50 127.50 0.100306 - 22.50 147.50 132.50 0.0307391 - 22.50 147.50 137.50 0.0110938 - 22.50 147.50 142.50 0.00794411 - 22.50 147.50 147.50 0.0210779 - 22.50 147.50 152.50 0.0813847 - 22.50 147.50 157.50 0.268913 - 22.50 147.50 162.50 0.691645 - 22.50 147.50 167.50 1.39583 - 22.50 147.50 172.50 2.22086 - 22.50 147.50 177.50 2.92585 - 22.50 147.50 182.50 3.12281 - 22.50 147.50 187.50 2.93791 - 22.50 147.50 192.50 2.65324 - 22.50 147.50 197.50 2.26821 - 22.50 147.50 202.50 1.57418 - 22.50 147.50 207.50 0.811572 - 22.50 147.50 212.50 0.31374 - 22.50 147.50 217.50 0.100306 - 22.50 147.50 222.50 0.0307391 - 22.50 147.50 227.50 0.0110938 - 22.50 147.50 232.50 0.00794412 - 22.50 147.50 237.50 0.0210779 - 22.50 147.50 242.50 0.0813848 - 22.50 147.50 247.50 0.268913 - 22.50 147.50 252.50 0.691645 - 22.50 147.50 257.50 1.39583 - 22.50 147.50 262.50 2.22086 - 22.50 147.50 267.50 2.92586 - 22.50 147.50 272.50 3.12281 - 22.50 147.50 277.50 2.93791 - 22.50 147.50 282.50 2.65324 - 22.50 147.50 287.50 2.26821 - 22.50 147.50 292.50 1.57418 - 22.50 147.50 297.50 0.811573 - 22.50 147.50 302.50 0.31374 - 22.50 147.50 307.50 0.100307 - 22.50 147.50 312.50 0.0307392 - 22.50 147.50 317.50 0.0110938 - 22.50 147.50 322.50 0.0079441 - 22.50 147.50 327.50 0.0210778 - 22.50 147.50 332.50 0.0813845 - 22.50 147.50 337.50 0.268912 - 22.50 147.50 342.50 0.691643 - 22.50 147.50 347.50 1.39583 - 22.50 147.50 352.50 2.22085 - 22.50 147.50 357.50 2.92585 - 22.50 152.50 2.50 2.28343 - 22.50 152.50 7.50 2.35998 - 22.50 152.50 12.50 2.32479 - 22.50 152.50 17.50 2.1941 - 22.50 152.50 22.50 1.66379 - 22.50 152.50 27.50 0.961775 - 22.50 152.50 32.50 0.446187 - 22.50 152.50 37.50 0.175254 - 22.50 152.50 42.50 0.0640098 - 22.50 152.50 47.50 0.0215104 - 22.50 152.50 52.50 0.00698155 - 22.50 152.50 57.50 0.00898051 - 22.50 152.50 62.50 0.0367357 - 22.50 152.50 67.50 0.125017 - 22.50 152.50 72.50 0.378185 - 22.50 152.50 77.50 0.781422 - 22.50 152.50 82.50 1.40864 - 22.50 152.50 87.50 1.94106 - 22.50 152.50 92.50 2.28343 - 22.50 152.50 97.50 2.35998 - 22.50 152.50 102.50 2.32479 - 22.50 152.50 107.50 2.1941 - 22.50 152.50 112.50 1.66379 - 22.50 152.50 117.50 0.961774 - 22.50 152.50 122.50 0.446187 - 22.50 152.50 127.50 0.175254 - 22.50 152.50 132.50 0.0640097 - 22.50 152.50 137.50 0.0215103 - 22.50 152.50 142.50 0.00698155 - 22.50 152.50 147.50 0.00898052 - 22.50 152.50 152.50 0.0367356 - 22.50 152.50 157.50 0.125017 - 22.50 152.50 162.50 0.378185 - 22.50 152.50 167.50 0.781422 - 22.50 152.50 172.50 1.40864 - 22.50 152.50 177.50 1.94106 - 22.50 152.50 182.50 2.28343 - 22.50 152.50 187.50 2.35998 - 22.50 152.50 192.50 2.32479 - 22.50 152.50 197.50 2.1941 - 22.50 152.50 202.50 1.66379 - 22.50 152.50 207.50 0.961775 - 22.50 152.50 212.50 0.446187 - 22.50 152.50 217.50 0.175254 - 22.50 152.50 222.50 0.0640098 - 22.50 152.50 227.50 0.0215104 - 22.50 152.50 232.50 0.00698154 - 22.50 152.50 237.50 0.00898051 - 22.50 152.50 242.50 0.0367357 - 22.50 152.50 247.50 0.125017 - 22.50 152.50 252.50 0.378185 - 22.50 152.50 257.50 0.781423 - 22.50 152.50 262.50 1.40864 - 22.50 152.50 267.50 1.94106 - 22.50 152.50 272.50 2.28343 - 22.50 152.50 277.50 2.35998 - 22.50 152.50 282.50 2.32479 - 22.50 152.50 287.50 2.1941 - 22.50 152.50 292.50 1.66379 - 22.50 152.50 297.50 0.961776 - 22.50 152.50 302.50 0.446187 - 22.50 152.50 307.50 0.175254 - 22.50 152.50 312.50 0.0640098 - 22.50 152.50 317.50 0.0215104 - 22.50 152.50 322.50 0.00698156 - 22.50 152.50 327.50 0.00898048 - 22.50 152.50 332.50 0.0367355 - 22.50 152.50 337.50 0.125016 - 22.50 152.50 342.50 0.378184 - 22.50 152.50 347.50 0.781421 - 22.50 152.50 352.50 1.40864 - 22.50 152.50 357.50 1.94106 - 22.50 157.50 2.50 1.58451 - 22.50 157.50 7.50 1.78921 - 22.50 157.50 12.50 1.93051 - 22.50 157.50 17.50 1.96043 - 22.50 157.50 22.50 1.67424 - 22.50 157.50 27.50 1.12864 - 22.50 157.50 32.50 0.613146 - 22.50 157.50 37.50 0.280167 - 22.50 157.50 42.50 0.104566 - 22.50 157.50 47.50 0.0308629 - 22.50 157.50 52.50 0.010662 - 22.50 157.50 57.50 0.0126958 - 22.50 157.50 62.50 0.0331191 - 22.50 157.50 67.50 0.0958949 - 22.50 157.50 72.50 0.231887 - 22.50 157.50 77.50 0.497712 - 22.50 157.50 82.50 0.880206 - 22.50 157.50 87.50 1.23133 - 22.50 157.50 92.50 1.58451 - 22.50 157.50 97.50 1.78921 - 22.50 157.50 102.50 1.93051 - 22.50 157.50 107.50 1.96043 - 22.50 157.50 112.50 1.67424 - 22.50 157.50 117.50 1.12864 - 22.50 157.50 122.50 0.613145 - 22.50 157.50 127.50 0.280167 - 22.50 157.50 132.50 0.104566 - 22.50 157.50 137.50 0.0308629 - 22.50 157.50 142.50 0.010662 - 22.50 157.50 147.50 0.0126958 - 22.50 157.50 152.50 0.0331191 - 22.50 157.50 157.50 0.0958946 - 22.50 157.50 162.50 0.231887 - 22.50 157.50 167.50 0.497712 - 22.50 157.50 172.50 0.880205 - 22.50 157.50 177.50 1.23133 - 22.50 157.50 182.50 1.58451 - 22.50 157.50 187.50 1.78921 - 22.50 157.50 192.50 1.93051 - 22.50 157.50 197.50 1.96043 - 22.50 157.50 202.50 1.67424 - 22.50 157.50 207.50 1.12864 - 22.50 157.50 212.50 0.613145 - 22.50 157.50 217.50 0.280167 - 22.50 157.50 222.50 0.104566 - 22.50 157.50 227.50 0.0308629 - 22.50 157.50 232.50 0.010662 - 22.50 157.50 237.50 0.0126958 - 22.50 157.50 242.50 0.0331191 - 22.50 157.50 247.50 0.0958949 - 22.50 157.50 252.50 0.231887 - 22.50 157.50 257.50 0.497712 - 22.50 157.50 262.50 0.880206 - 22.50 157.50 267.50 1.23133 - 22.50 157.50 272.50 1.58451 - 22.50 157.50 277.50 1.7892 - 22.50 157.50 282.50 1.93051 - 22.50 157.50 287.50 1.96043 - 22.50 157.50 292.50 1.67424 - 22.50 157.50 297.50 1.12864 - 22.50 157.50 302.50 0.613146 - 22.50 157.50 307.50 0.280167 - 22.50 157.50 312.50 0.104566 - 22.50 157.50 317.50 0.030863 - 22.50 157.50 322.50 0.010662 - 22.50 157.50 327.50 0.0126958 - 22.50 157.50 332.50 0.0331189 - 22.50 157.50 337.50 0.0958946 - 22.50 157.50 342.50 0.231887 - 22.50 157.50 347.50 0.497711 - 22.50 157.50 352.50 0.880205 - 22.50 157.50 357.50 1.23133 - 22.50 162.50 2.50 0.990532 - 22.50 162.50 7.50 1.2191 - 22.50 162.50 12.50 1.47733 - 22.50 162.50 17.50 1.68049 - 22.50 162.50 22.50 1.6252 - 22.50 162.50 27.50 1.24457 - 22.50 162.50 32.50 0.745595 - 22.50 162.50 37.50 0.352546 - 22.50 162.50 42.50 0.130404 - 22.50 162.50 47.50 0.039771 - 22.50 162.50 52.50 0.0157651 - 22.50 162.50 57.50 0.0310734 - 22.50 162.50 62.50 0.071219 - 22.50 162.50 67.50 0.11271 - 22.50 162.50 72.50 0.180535 - 22.50 162.50 77.50 0.327898 - 22.50 162.50 82.50 0.504197 - 22.50 162.50 87.50 0.731449 - 22.50 162.50 92.50 0.990532 - 22.50 162.50 97.50 1.2191 - 22.50 162.50 102.50 1.47733 - 22.50 162.50 107.50 1.68049 - 22.50 162.50 112.50 1.6252 - 22.50 162.50 117.50 1.24457 - 22.50 162.50 122.50 0.745595 - 22.50 162.50 127.50 0.352546 - 22.50 162.50 132.50 0.130404 - 22.50 162.50 137.50 0.039771 - 22.50 162.50 142.50 0.0157651 - 22.50 162.50 147.50 0.0310734 - 22.50 162.50 152.50 0.0712189 - 22.50 162.50 157.50 0.11271 - 22.50 162.50 162.50 0.180535 - 22.50 162.50 167.50 0.327897 - 22.50 162.50 172.50 0.504197 - 22.50 162.50 177.50 0.731449 - 22.50 162.50 182.50 0.990532 - 22.50 162.50 187.50 1.2191 - 22.50 162.50 192.50 1.47733 - 22.50 162.50 197.50 1.68049 - 22.50 162.50 202.50 1.6252 - 22.50 162.50 207.50 1.24457 - 22.50 162.50 212.50 0.745594 - 22.50 162.50 217.50 0.352546 - 22.50 162.50 222.50 0.130404 - 22.50 162.50 227.50 0.0397711 - 22.50 162.50 232.50 0.0157651 - 22.50 162.50 237.50 0.0310734 - 22.50 162.50 242.50 0.071219 - 22.50 162.50 247.50 0.11271 - 22.50 162.50 252.50 0.180535 - 22.50 162.50 257.50 0.327898 - 22.50 162.50 262.50 0.504197 - 22.50 162.50 267.50 0.731449 - 22.50 162.50 272.50 0.990532 - 22.50 162.50 277.50 1.2191 - 22.50 162.50 282.50 1.47733 - 22.50 162.50 287.50 1.68049 - 22.50 162.50 292.50 1.6252 - 22.50 162.50 297.50 1.24457 - 22.50 162.50 302.50 0.745595 - 22.50 162.50 307.50 0.352546 - 22.50 162.50 312.50 0.130404 - 22.50 162.50 317.50 0.0397711 - 22.50 162.50 322.50 0.0157651 - 22.50 162.50 327.50 0.0310734 - 22.50 162.50 332.50 0.0712188 - 22.50 162.50 337.50 0.11271 - 22.50 162.50 342.50 0.180535 - 22.50 162.50 347.50 0.327897 - 22.50 162.50 352.50 0.504196 - 22.50 162.50 357.50 0.731448 - 22.50 167.50 2.50 0.527183 - 22.50 167.50 7.50 0.720483 - 22.50 167.50 12.50 1.0402 - 22.50 167.50 17.50 1.41763 - 22.50 167.50 22.50 1.544 - 22.50 167.50 27.50 1.26173 - 22.50 167.50 32.50 0.759199 - 22.50 167.50 37.50 0.340341 - 22.50 167.50 42.50 0.127701 - 22.50 167.50 47.50 0.0433833 - 22.50 167.50 52.50 0.0261998 - 22.50 167.50 57.50 0.0540655 - 22.50 167.50 62.50 0.10044 - 22.50 167.50 67.50 0.1371 - 22.50 167.50 72.50 0.160424 - 22.50 167.50 77.50 0.196518 - 22.50 167.50 82.50 0.251369 - 22.50 167.50 87.50 0.384253 - 22.50 167.50 92.50 0.527183 - 22.50 167.50 97.50 0.720483 - 22.50 167.50 102.50 1.0402 - 22.50 167.50 107.50 1.41763 - 22.50 167.50 112.50 1.544 - 22.50 167.50 117.50 1.26173 - 22.50 167.50 122.50 0.759199 - 22.50 167.50 127.50 0.340341 - 22.50 167.50 132.50 0.127701 - 22.50 167.50 137.50 0.0433833 - 22.50 167.50 142.50 0.0261998 - 22.50 167.50 147.50 0.0540655 - 22.50 167.50 152.50 0.10044 - 22.50 167.50 157.50 0.1371 - 22.50 167.50 162.50 0.160424 - 22.50 167.50 167.50 0.196518 - 22.50 167.50 172.50 0.251369 - 22.50 167.50 177.50 0.384252 - 22.50 167.50 182.50 0.527183 - 22.50 167.50 187.50 0.720483 - 22.50 167.50 192.50 1.0402 - 22.50 167.50 197.50 1.41763 - 22.50 167.50 202.50 1.544 - 22.50 167.50 207.50 1.26173 - 22.50 167.50 212.50 0.7592 - 22.50 167.50 217.50 0.340341 - 22.50 167.50 222.50 0.127701 - 22.50 167.50 227.50 0.0433834 - 22.50 167.50 232.50 0.0261998 - 22.50 167.50 237.50 0.0540656 - 22.50 167.50 242.50 0.10044 - 22.50 167.50 247.50 0.1371 - 22.50 167.50 252.50 0.160424 - 22.50 167.50 257.50 0.196518 - 22.50 167.50 262.50 0.251369 - 22.50 167.50 267.50 0.384253 - 22.50 167.50 272.50 0.527183 - 22.50 167.50 277.50 0.720483 - 22.50 167.50 282.50 1.0402 - 22.50 167.50 287.50 1.41763 - 22.50 167.50 292.50 1.544 - 22.50 167.50 297.50 1.26173 - 22.50 167.50 302.50 0.7592 - 22.50 167.50 307.50 0.340341 - 22.50 167.50 312.50 0.127702 - 22.50 167.50 317.50 0.0433834 - 22.50 167.50 322.50 0.0261997 - 22.50 167.50 327.50 0.0540654 - 22.50 167.50 332.50 0.10044 - 22.50 167.50 337.50 0.1371 - 22.50 167.50 342.50 0.160424 - 22.50 167.50 347.50 0.196518 - 22.50 167.50 352.50 0.251369 - 22.50 167.50 357.50 0.384252 - 22.50 172.50 2.50 0.24067 - 22.50 172.50 7.50 0.38469 - 22.50 172.50 12.50 0.704976 - 22.50 172.50 17.50 1.13499 - 22.50 172.50 22.50 1.35396 - 22.50 172.50 27.50 1.12589 - 22.50 172.50 32.50 0.656449 - 22.50 172.50 37.50 0.285568 - 22.50 172.50 42.50 0.10447 - 22.50 172.50 47.50 0.0389843 - 22.50 172.50 52.50 0.0320373 - 22.50 172.50 57.50 0.0612512 - 22.50 172.50 62.50 0.100238 - 22.50 172.50 67.50 0.121307 - 22.50 172.50 72.50 0.119082 - 22.50 172.50 77.50 0.111957 - 22.50 172.50 82.50 0.141148 - 22.50 172.50 87.50 0.181724 - 22.50 172.50 92.50 0.24067 - 22.50 172.50 97.50 0.384691 - 22.50 172.50 102.50 0.704976 - 22.50 172.50 107.50 1.13499 - 22.50 172.50 112.50 1.35396 - 22.50 172.50 117.50 1.12589 - 22.50 172.50 122.50 0.656449 - 22.50 172.50 127.50 0.285568 - 22.50 172.50 132.50 0.10447 - 22.50 172.50 137.50 0.0389843 - 22.50 172.50 142.50 0.0320373 - 22.50 172.50 147.50 0.0612512 - 22.50 172.50 152.50 0.100238 - 22.50 172.50 157.50 0.121307 - 22.50 172.50 162.50 0.119082 - 22.50 172.50 167.50 0.111957 - 22.50 172.50 172.50 0.141148 - 22.50 172.50 177.50 0.181724 - 22.50 172.50 182.50 0.24067 - 22.50 172.50 187.50 0.384691 - 22.50 172.50 192.50 0.704976 - 22.50 172.50 197.50 1.13499 - 22.50 172.50 202.50 1.35396 - 22.50 172.50 207.50 1.12589 - 22.50 172.50 212.50 0.656449 - 22.50 172.50 217.50 0.285569 - 22.50 172.50 222.50 0.10447 - 22.50 172.50 227.50 0.0389843 - 22.50 172.50 232.50 0.0320374 - 22.50 172.50 237.50 0.0612512 - 22.50 172.50 242.50 0.100238 - 22.50 172.50 247.50 0.121307 - 22.50 172.50 252.50 0.119082 - 22.50 172.50 257.50 0.111957 - 22.50 172.50 262.50 0.141148 - 22.50 172.50 267.50 0.181725 - 22.50 172.50 272.50 0.24067 - 22.50 172.50 277.50 0.384691 - 22.50 172.50 282.50 0.704975 - 22.50 172.50 287.50 1.13499 - 22.50 172.50 292.50 1.35396 - 22.50 172.50 297.50 1.12589 - 22.50 172.50 302.50 0.65645 - 22.50 172.50 307.50 0.285569 - 22.50 172.50 312.50 0.10447 - 22.50 172.50 317.50 0.0389843 - 22.50 172.50 322.50 0.0320373 - 22.50 172.50 327.50 0.0612511 - 22.50 172.50 332.50 0.100237 - 22.50 172.50 337.50 0.121307 - 22.50 172.50 342.50 0.119082 - 22.50 172.50 347.50 0.111957 - 22.50 172.50 352.50 0.141147 - 22.50 172.50 357.50 0.181724 - 22.50 177.50 2.50 0.102596 - 22.50 177.50 7.50 0.202463 - 22.50 177.50 12.50 0.458731 - 22.50 177.50 17.50 0.829239 - 22.50 177.50 22.50 1.03537 - 22.50 177.50 27.50 0.856091 - 22.50 177.50 32.50 0.4704 - 22.50 177.50 37.50 0.188831 - 22.50 177.50 42.50 0.0711832 - 22.50 177.50 47.50 0.0399292 - 22.50 177.50 52.50 0.0434975 - 22.50 177.50 57.50 0.0604866 - 22.50 177.50 62.50 0.0750918 - 22.50 177.50 67.50 0.0859237 - 22.50 177.50 72.50 0.0897202 - 22.50 177.50 77.50 0.0878967 - 22.50 177.50 82.50 0.0821991 - 22.50 177.50 87.50 0.0808219 - 22.50 177.50 92.50 0.102596 - 22.50 177.50 97.50 0.202463 - 22.50 177.50 102.50 0.458731 - 22.50 177.50 107.50 0.829239 - 22.50 177.50 112.50 1.03537 - 22.50 177.50 117.50 0.856091 - 22.50 177.50 122.50 0.470399 - 22.50 177.50 127.50 0.188831 - 22.50 177.50 132.50 0.0711832 - 22.50 177.50 137.50 0.0399292 - 22.50 177.50 142.50 0.0434975 - 22.50 177.50 147.50 0.0604866 - 22.50 177.50 152.50 0.0750918 - 22.50 177.50 157.50 0.0859237 - 22.50 177.50 162.50 0.0897202 - 22.50 177.50 167.50 0.0878967 - 22.50 177.50 172.50 0.0821991 - 22.50 177.50 177.50 0.0808219 - 22.50 177.50 182.50 0.102596 - 22.50 177.50 187.50 0.202463 - 22.50 177.50 192.50 0.458731 - 22.50 177.50 197.50 0.829239 - 22.50 177.50 202.50 1.03537 - 22.50 177.50 207.50 0.856091 - 22.50 177.50 212.50 0.4704 - 22.50 177.50 217.50 0.188831 - 22.50 177.50 222.50 0.0711833 - 22.50 177.50 227.50 0.0399293 - 22.50 177.50 232.50 0.0434975 - 22.50 177.50 237.50 0.0604865 - 22.50 177.50 242.50 0.0750918 - 22.50 177.50 247.50 0.0859237 - 22.50 177.50 252.50 0.0897202 - 22.50 177.50 257.50 0.0878968 - 22.50 177.50 262.50 0.0821992 - 22.50 177.50 267.50 0.0808219 - 22.50 177.50 272.50 0.102596 - 22.50 177.50 277.50 0.202463 - 22.50 177.50 282.50 0.45873 - 22.50 177.50 287.50 0.829238 - 22.50 177.50 292.50 1.03537 - 22.50 177.50 297.50 0.856092 - 22.50 177.50 302.50 0.470401 - 22.50 177.50 307.50 0.188832 - 22.50 177.50 312.50 0.0711833 - 22.50 177.50 317.50 0.0399293 - 22.50 177.50 322.50 0.0434974 - 22.50 177.50 327.50 0.0604865 - 22.50 177.50 332.50 0.0750917 - 22.50 177.50 337.50 0.0859236 - 22.50 177.50 342.50 0.0897203 - 22.50 177.50 347.50 0.0878967 - 22.50 177.50 352.50 0.0821991 - 22.50 177.50 357.50 0.080822 - 27.50 2.50 2.50 0.0485219 - 27.50 2.50 7.50 0.0601603 - 27.50 2.50 12.50 0.0760386 - 27.50 2.50 17.50 0.083846 - 27.50 2.50 22.50 0.084539 - 27.50 2.50 27.50 0.083846 - 27.50 2.50 32.50 0.0760385 - 27.50 2.50 37.50 0.0601603 - 27.50 2.50 42.50 0.0485219 - 27.50 2.50 47.50 0.0624686 - 27.50 2.50 52.50 0.149977 - 27.50 2.50 57.50 0.393273 - 27.50 2.50 62.50 0.773179 - 27.50 2.50 67.50 0.980476 - 27.50 2.50 72.50 0.773178 - 27.50 2.50 77.50 0.393272 - 27.50 2.50 82.50 0.149977 - 27.50 2.50 87.50 0.0624686 - 27.50 2.50 92.50 0.048522 - 27.50 2.50 97.50 0.0601603 - 27.50 2.50 102.50 0.0760386 - 27.50 2.50 107.50 0.083846 - 27.50 2.50 112.50 0.084539 - 27.50 2.50 117.50 0.083846 - 27.50 2.50 122.50 0.0760385 - 27.50 2.50 127.50 0.0601603 - 27.50 2.50 132.50 0.0485219 - 27.50 2.50 137.50 0.0624686 - 27.50 2.50 142.50 0.149977 - 27.50 2.50 147.50 0.393273 - 27.50 2.50 152.50 0.773179 - 27.50 2.50 157.50 0.980506 - 27.50 2.50 162.50 0.773179 - 27.50 2.50 167.50 0.393272 - 27.50 2.50 172.50 0.149977 - 27.50 2.50 177.50 0.0624686 - 27.50 2.50 182.50 0.0485219 - 27.50 2.50 187.50 0.0601603 - 27.50 2.50 192.50 0.0760386 - 27.50 2.50 197.50 0.083846 - 27.50 2.50 202.50 0.084539 - 27.50 2.50 207.50 0.083846 - 27.50 2.50 212.50 0.0760385 - 27.50 2.50 217.50 0.0601603 - 27.50 2.50 222.50 0.0485219 - 27.50 2.50 227.50 0.0624685 - 27.50 2.50 232.50 0.149977 - 27.50 2.50 237.50 0.393273 - 27.50 2.50 242.50 0.773179 - 27.50 2.50 247.50 0.980476 - 27.50 2.50 252.50 0.773178 - 27.50 2.50 257.50 0.393272 - 27.50 2.50 262.50 0.149977 - 27.50 2.50 267.50 0.0624685 - 27.50 2.50 272.50 0.0485219 - 27.50 2.50 277.50 0.0601603 - 27.50 2.50 282.50 0.0760386 - 27.50 2.50 287.50 0.083846 - 27.50 2.50 292.50 0.084539 - 27.50 2.50 297.50 0.083846 - 27.50 2.50 302.50 0.0760385 - 27.50 2.50 307.50 0.0601603 - 27.50 2.50 312.50 0.0485219 - 27.50 2.50 317.50 0.0624685 - 27.50 2.50 322.50 0.149977 - 27.50 2.50 327.50 0.393272 - 27.50 2.50 332.50 0.773178 - 27.50 2.50 337.50 0.980476 - 27.50 2.50 342.50 0.773179 - 27.50 2.50 347.50 0.393273 - 27.50 2.50 352.50 0.149977 - 27.50 2.50 357.50 0.0624686 - 27.50 7.50 2.50 0.0874276 - 27.50 7.50 7.50 0.0912088 - 27.50 7.50 12.50 0.0973618 - 27.50 7.50 17.50 0.10012 - 27.50 7.50 22.50 0.0982882 - 27.50 7.50 27.50 0.0873952 - 27.50 7.50 32.50 0.0638134 - 27.50 7.50 37.50 0.0444076 - 27.50 7.50 42.50 0.0398712 - 27.50 7.50 47.50 0.0686876 - 27.50 7.50 52.50 0.173646 - 27.50 7.50 57.50 0.436529 - 27.50 7.50 62.50 0.830729 - 27.50 7.50 67.50 1.05029 - 27.50 7.50 72.50 0.862378 - 27.50 7.50 77.50 0.478808 - 27.50 7.50 82.50 0.209006 - 27.50 7.50 87.50 0.106432 - 27.50 7.50 92.50 0.0874276 - 27.50 7.50 97.50 0.0912089 - 27.50 7.50 102.50 0.0973618 - 27.50 7.50 107.50 0.10012 - 27.50 7.50 112.50 0.0982883 - 27.50 7.50 117.50 0.0873953 - 27.50 7.50 122.50 0.0638134 - 27.50 7.50 127.50 0.0444076 - 27.50 7.50 132.50 0.0398712 - 27.50 7.50 137.50 0.0686876 - 27.50 7.50 142.50 0.173647 - 27.50 7.50 147.50 0.436529 - 27.50 7.50 152.50 0.830729 - 27.50 7.50 157.50 1.05029 - 27.50 7.50 162.50 0.862378 - 27.50 7.50 167.50 0.478808 - 27.50 7.50 172.50 0.209006 - 27.50 7.50 177.50 0.106431 - 27.50 7.50 182.50 0.0874275 - 27.50 7.50 187.50 0.0912089 - 27.50 7.50 192.50 0.0973618 - 27.50 7.50 197.50 0.10012 - 27.50 7.50 202.50 0.0982882 - 27.50 7.50 207.50 0.0873951 - 27.50 7.50 212.50 0.0638134 - 27.50 7.50 217.50 0.0444076 - 27.50 7.50 222.50 0.0398712 - 27.50 7.50 227.50 0.0686875 - 27.50 7.50 232.50 0.173647 - 27.50 7.50 237.50 0.43653 - 27.50 7.50 242.50 0.83073 - 27.50 7.50 247.50 1.05029 - 27.50 7.50 252.50 0.862377 - 27.50 7.50 257.50 0.478807 - 27.50 7.50 262.50 0.209005 - 27.50 7.50 267.50 0.106431 - 27.50 7.50 272.50 0.0874276 - 27.50 7.50 277.50 0.0912089 - 27.50 7.50 282.50 0.0973618 - 27.50 7.50 287.50 0.10012 - 27.50 7.50 292.50 0.0982881 - 27.50 7.50 297.50 0.0873952 - 27.50 7.50 302.50 0.0638134 - 27.50 7.50 307.50 0.0444076 - 27.50 7.50 312.50 0.0398712 - 27.50 7.50 317.50 0.0686875 - 27.50 7.50 322.50 0.173646 - 27.50 7.50 327.50 0.436528 - 27.50 7.50 332.50 0.830729 - 27.50 7.50 337.50 1.05029 - 27.50 7.50 342.50 0.862379 - 27.50 7.50 347.50 0.478809 - 27.50 7.50 352.50 0.209006 - 27.50 7.50 357.50 0.106432 - 27.50 12.50 2.50 0.221571 - 27.50 12.50 7.50 0.187039 - 27.50 12.50 12.50 0.152442 - 27.50 12.50 17.50 0.133941 - 27.50 12.50 22.50 0.143448 - 27.50 12.50 27.50 0.123005 - 27.50 12.50 32.50 0.0759863 - 27.50 12.50 37.50 0.0389614 - 27.50 12.50 42.50 0.0394887 - 27.50 12.50 47.50 0.0984242 - 27.50 12.50 52.50 0.2576 - 27.50 12.50 57.50 0.598379 - 27.50 12.50 62.50 1.08065 - 27.50 12.50 67.50 1.37472 - 27.50 12.50 72.50 1.19976 - 27.50 12.50 77.50 0.751388 - 27.50 12.50 82.50 0.412201 - 27.50 12.50 87.50 0.269639 - 27.50 12.50 92.50 0.221571 - 27.50 12.50 97.50 0.187039 - 27.50 12.50 102.50 0.152442 - 27.50 12.50 107.50 0.133941 - 27.50 12.50 112.50 0.143448 - 27.50 12.50 117.50 0.123005 - 27.50 12.50 122.50 0.0759863 - 27.50 12.50 127.50 0.0389614 - 27.50 12.50 132.50 0.0394887 - 27.50 12.50 137.50 0.0984241 - 27.50 12.50 142.50 0.2576 - 27.50 12.50 147.50 0.598379 - 27.50 12.50 152.50 1.08065 - 27.50 12.50 157.50 1.37472 - 27.50 12.50 162.50 1.19976 - 27.50 12.50 167.50 0.751388 - 27.50 12.50 172.50 0.412201 - 27.50 12.50 177.50 0.269639 - 27.50 12.50 182.50 0.221571 - 27.50 12.50 187.50 0.187039 - 27.50 12.50 192.50 0.152442 - 27.50 12.50 197.50 0.133941 - 27.50 12.50 202.50 0.143448 - 27.50 12.50 207.50 0.123005 - 27.50 12.50 212.50 0.0759863 - 27.50 12.50 217.50 0.0389614 - 27.50 12.50 222.50 0.0394887 - 27.50 12.50 227.50 0.098424 - 27.50 12.50 232.50 0.2576 - 27.50 12.50 237.50 0.59838 - 27.50 12.50 242.50 1.08065 - 27.50 12.50 247.50 1.37472 - 27.50 12.50 252.50 1.19976 - 27.50 12.50 257.50 0.751387 - 27.50 12.50 262.50 0.4122 - 27.50 12.50 267.50 0.269639 - 27.50 12.50 272.50 0.221571 - 27.50 12.50 277.50 0.187039 - 27.50 12.50 282.50 0.152442 - 27.50 12.50 287.50 0.133941 - 27.50 12.50 292.50 0.143447 - 27.50 12.50 297.50 0.123005 - 27.50 12.50 302.50 0.0759864 - 27.50 12.50 307.50 0.0389615 - 27.50 12.50 312.50 0.0394887 - 27.50 12.50 317.50 0.098424 - 27.50 12.50 322.50 0.2576 - 27.50 12.50 327.50 0.598378 - 27.50 12.50 332.50 1.08065 - 27.50 12.50 337.50 1.37472 - 27.50 12.50 342.50 1.19976 - 27.50 12.50 347.50 0.751389 - 27.50 12.50 352.50 0.412201 - 27.50 12.50 357.50 0.269639 - 27.50 17.50 2.50 0.514899 - 27.50 17.50 7.50 0.384518 - 27.50 17.50 12.50 0.250633 - 27.50 17.50 17.50 0.207991 - 27.50 17.50 22.50 0.182654 - 27.50 17.50 27.50 0.136815 - 27.50 17.50 32.50 0.0683475 - 27.50 17.50 37.50 0.0288061 - 27.50 17.50 42.50 0.0405364 - 27.50 17.50 47.50 0.120831 - 27.50 17.50 52.50 0.312384 - 27.50 17.50 57.50 0.685349 - 27.50 17.50 62.50 1.20434 - 27.50 17.50 67.50 1.55515 - 27.50 17.50 72.50 1.48934 - 27.50 17.50 77.50 1.1329 - 27.50 17.50 82.50 0.803028 - 27.50 17.50 87.50 0.631548 - 27.50 17.50 92.50 0.514899 - 27.50 17.50 97.50 0.384518 - 27.50 17.50 102.50 0.250633 - 27.50 17.50 107.50 0.207991 - 27.50 17.50 112.50 0.182654 - 27.50 17.50 117.50 0.136815 - 27.50 17.50 122.50 0.0683474 - 27.50 17.50 127.50 0.0288061 - 27.50 17.50 132.50 0.0405365 - 27.50 17.50 137.50 0.120832 - 27.50 17.50 142.50 0.312384 - 27.50 17.50 147.50 0.68535 - 27.50 17.50 152.50 1.20434 - 27.50 17.50 157.50 1.55515 - 27.50 17.50 162.50 1.48934 - 27.50 17.50 167.50 1.1329 - 27.50 17.50 172.50 0.803028 - 27.50 17.50 177.50 0.631548 - 27.50 17.50 182.50 0.514899 - 27.50 17.50 187.50 0.384518 - 27.50 17.50 192.50 0.250634 - 27.50 17.50 197.50 0.207991 - 27.50 17.50 202.50 0.182654 - 27.50 17.50 207.50 0.136815 - 27.50 17.50 212.50 0.0683475 - 27.50 17.50 217.50 0.0288062 - 27.50 17.50 222.50 0.0405364 - 27.50 17.50 227.50 0.120831 - 27.50 17.50 232.50 0.312384 - 27.50 17.50 237.50 0.685351 - 27.50 17.50 242.50 1.20435 - 27.50 17.50 247.50 1.55515 - 27.50 17.50 252.50 1.48934 - 27.50 17.50 257.50 1.1329 - 27.50 17.50 262.50 0.803028 - 27.50 17.50 267.50 0.631548 - 27.50 17.50 272.50 0.514899 - 27.50 17.50 277.50 0.384519 - 27.50 17.50 282.50 0.250634 - 27.50 17.50 287.50 0.207991 - 27.50 17.50 292.50 0.182654 - 27.50 17.50 297.50 0.136815 - 27.50 17.50 302.50 0.0683476 - 27.50 17.50 307.50 0.0288062 - 27.50 17.50 312.50 0.0405364 - 27.50 17.50 317.50 0.120831 - 27.50 17.50 322.50 0.312383 - 27.50 17.50 327.50 0.685349 - 27.50 17.50 332.50 1.20434 - 27.50 17.50 337.50 1.55515 - 27.50 17.50 342.50 1.48934 - 27.50 17.50 347.50 1.1329 - 27.50 17.50 352.50 0.803029 - 27.50 17.50 357.50 0.631548 - 27.50 22.50 2.50 1.04915 - 27.50 22.50 7.50 0.754684 - 27.50 22.50 12.50 0.486186 - 27.50 22.50 17.50 0.296214 - 27.50 22.50 22.50 0.170401 - 27.50 22.50 27.50 0.101257 - 27.50 22.50 32.50 0.0459574 - 27.50 22.50 37.50 0.0167425 - 27.50 22.50 42.50 0.03181 - 27.50 22.50 47.50 0.116604 - 27.50 22.50 52.50 0.31886 - 27.50 22.50 57.50 0.665951 - 27.50 22.50 62.50 1.1359 - 27.50 22.50 67.50 1.57171 - 27.50 22.50 72.50 1.72458 - 27.50 22.50 77.50 1.60219 - 27.50 22.50 82.50 1.42285 - 27.50 22.50 87.50 1.25412 - 27.50 22.50 92.50 1.04915 - 27.50 22.50 97.50 0.754685 - 27.50 22.50 102.50 0.486186 - 27.50 22.50 107.50 0.296214 - 27.50 22.50 112.50 0.170401 - 27.50 22.50 117.50 0.101257 - 27.50 22.50 122.50 0.0459574 - 27.50 22.50 127.50 0.0167425 - 27.50 22.50 132.50 0.0318101 - 27.50 22.50 137.50 0.116604 - 27.50 22.50 142.50 0.31886 - 27.50 22.50 147.50 0.665951 - 27.50 22.50 152.50 1.1359 - 27.50 22.50 157.50 1.57171 - 27.50 22.50 162.50 1.72458 - 27.50 22.50 167.50 1.60219 - 27.50 22.50 172.50 1.42285 - 27.50 22.50 177.50 1.25412 - 27.50 22.50 182.50 1.04915 - 27.50 22.50 187.50 0.754685 - 27.50 22.50 192.50 0.486186 - 27.50 22.50 197.50 0.296214 - 27.50 22.50 202.50 0.170401 - 27.50 22.50 207.50 0.101257 - 27.50 22.50 212.50 0.0459574 - 27.50 22.50 217.50 0.0167425 - 27.50 22.50 222.50 0.03181 - 27.50 22.50 227.50 0.116604 - 27.50 22.50 232.50 0.318861 - 27.50 22.50 237.50 0.665952 - 27.50 22.50 242.50 1.1359 - 27.50 22.50 247.50 1.57171 - 27.50 22.50 252.50 1.72458 - 27.50 22.50 257.50 1.60219 - 27.50 22.50 262.50 1.42285 - 27.50 22.50 267.50 1.25412 - 27.50 22.50 272.50 1.04915 - 27.50 22.50 277.50 0.754684 - 27.50 22.50 282.50 0.486186 - 27.50 22.50 287.50 0.296214 - 27.50 22.50 292.50 0.170401 - 27.50 22.50 297.50 0.101257 - 27.50 22.50 302.50 0.0459575 - 27.50 22.50 307.50 0.0167425 - 27.50 22.50 312.50 0.03181 - 27.50 22.50 317.50 0.116604 - 27.50 22.50 322.50 0.31886 - 27.50 22.50 327.50 0.66595 - 27.50 22.50 332.50 1.1359 - 27.50 22.50 337.50 1.57171 - 27.50 22.50 342.50 1.72458 - 27.50 22.50 347.50 1.60219 - 27.50 22.50 352.50 1.42285 - 27.50 22.50 357.50 1.25412 - 27.50 27.50 2.50 1.82434 - 27.50 27.50 7.50 1.3143 - 27.50 27.50 12.50 0.835416 - 27.50 27.50 17.50 0.408669 - 27.50 27.50 22.50 0.164729 - 27.50 27.50 27.50 0.0604165 - 27.50 27.50 32.50 0.0170085 - 27.50 27.50 37.50 0.00775407 - 27.50 27.50 42.50 0.0224209 - 27.50 27.50 47.50 0.0869078 - 27.50 27.50 52.50 0.243473 - 27.50 27.50 57.50 0.52221 - 27.50 27.50 62.50 0.969992 - 27.50 27.50 67.50 1.53757 - 27.50 27.50 72.50 1.94329 - 27.50 27.50 77.50 2.09955 - 27.50 27.50 82.50 2.13388 - 27.50 27.50 87.50 2.07889 - 27.50 27.50 92.50 1.82434 - 27.50 27.50 97.50 1.3143 - 27.50 27.50 102.50 0.835416 - 27.50 27.50 107.50 0.408669 - 27.50 27.50 112.50 0.164729 - 27.50 27.50 117.50 0.0604164 - 27.50 27.50 122.50 0.0170085 - 27.50 27.50 127.50 0.00775407 - 27.50 27.50 132.50 0.022421 - 27.50 27.50 137.50 0.0869078 - 27.50 27.50 142.50 0.243473 - 27.50 27.50 147.50 0.52221 - 27.50 27.50 152.50 0.969991 - 27.50 27.50 157.50 1.53757 - 27.50 27.50 162.50 1.94329 - 27.50 27.50 167.50 2.09955 - 27.50 27.50 172.50 2.13388 - 27.50 27.50 177.50 2.07889 - 27.50 27.50 182.50 1.82434 - 27.50 27.50 187.50 1.3143 - 27.50 27.50 192.50 0.835416 - 27.50 27.50 197.50 0.408669 - 27.50 27.50 202.50 0.164729 - 27.50 27.50 207.50 0.0604165 - 27.50 27.50 212.50 0.0170085 - 27.50 27.50 217.50 0.00775408 - 27.50 27.50 222.50 0.0224209 - 27.50 27.50 227.50 0.0869077 - 27.50 27.50 232.50 0.243473 - 27.50 27.50 237.50 0.522211 - 27.50 27.50 242.50 0.969992 - 27.50 27.50 247.50 1.53757 - 27.50 27.50 252.50 1.94329 - 27.50 27.50 257.50 2.09955 - 27.50 27.50 262.50 2.13388 - 27.50 27.50 267.50 2.07889 - 27.50 27.50 272.50 1.82434 - 27.50 27.50 277.50 1.3143 - 27.50 27.50 282.50 0.835417 - 27.50 27.50 287.50 0.408669 - 27.50 27.50 292.50 0.164729 - 27.50 27.50 297.50 0.0604165 - 27.50 27.50 302.50 0.0170085 - 27.50 27.50 307.50 0.00775407 - 27.50 27.50 312.50 0.0224209 - 27.50 27.50 317.50 0.0869076 - 27.50 27.50 322.50 0.243472 - 27.50 27.50 327.50 0.522209 - 27.50 27.50 332.50 0.96999 - 27.50 27.50 337.50 1.53757 - 27.50 27.50 342.50 1.94329 - 27.50 27.50 347.50 2.09955 - 27.50 27.50 352.50 2.13388 - 27.50 27.50 357.50 2.07889 - 27.50 32.50 2.50 2.76505 - 27.50 32.50 7.50 2.07379 - 27.50 32.50 12.50 1.30488 - 27.50 32.50 17.50 0.618996 - 27.50 32.50 22.50 0.245777 - 27.50 32.50 27.50 0.0647093 - 27.50 32.50 32.50 0.0159058 - 27.50 32.50 37.50 0.00538731 - 27.50 32.50 42.50 0.0124351 - 27.50 32.50 47.50 0.0483447 - 27.50 32.50 52.50 0.136774 - 27.50 32.50 57.50 0.334403 - 27.50 32.50 62.50 0.763199 - 27.50 32.50 67.50 1.42938 - 27.50 32.50 72.50 2.04972 - 27.50 32.50 77.50 2.49158 - 27.50 32.50 82.50 2.77948 - 27.50 32.50 87.50 2.9695 - 27.50 32.50 92.50 2.76505 - 27.50 32.50 97.50 2.07378 - 27.50 32.50 102.50 1.30488 - 27.50 32.50 107.50 0.618996 - 27.50 32.50 112.50 0.245777 - 27.50 32.50 117.50 0.0647093 - 27.50 32.50 122.50 0.0159058 - 27.50 32.50 127.50 0.00538731 - 27.50 32.50 132.50 0.0124351 - 27.50 32.50 137.50 0.0483447 - 27.50 32.50 142.50 0.136774 - 27.50 32.50 147.50 0.334403 - 27.50 32.50 152.50 0.763199 - 27.50 32.50 157.50 1.42938 - 27.50 32.50 162.50 2.04972 - 27.50 32.50 167.50 2.49158 - 27.50 32.50 172.50 2.77948 - 27.50 32.50 177.50 2.9695 - 27.50 32.50 182.50 2.76505 - 27.50 32.50 187.50 2.07378 - 27.50 32.50 192.50 1.30488 - 27.50 32.50 197.50 0.618996 - 27.50 32.50 202.50 0.245777 - 27.50 32.50 207.50 0.0647093 - 27.50 32.50 212.50 0.0159058 - 27.50 32.50 217.50 0.00538732 - 27.50 32.50 222.50 0.0124351 - 27.50 32.50 227.50 0.0483447 - 27.50 32.50 232.50 0.136774 - 27.50 32.50 237.50 0.334404 - 27.50 32.50 242.50 0.7632 - 27.50 32.50 247.50 1.42938 - 27.50 32.50 252.50 2.04972 - 27.50 32.50 257.50 2.49158 - 27.50 32.50 262.50 2.77948 - 27.50 32.50 267.50 2.9695 - 27.50 32.50 272.50 2.76505 - 27.50 32.50 277.50 2.07378 - 27.50 32.50 282.50 1.30488 - 27.50 32.50 287.50 0.618997 - 27.50 32.50 292.50 0.245777 - 27.50 32.50 297.50 0.0647094 - 27.50 32.50 302.50 0.0159058 - 27.50 32.50 307.50 0.00538732 - 27.50 32.50 312.50 0.0124351 - 27.50 32.50 317.50 0.0483446 - 27.50 32.50 322.50 0.136773 - 27.50 32.50 327.50 0.334403 - 27.50 32.50 332.50 0.763198 - 27.50 32.50 337.50 1.42938 - 27.50 32.50 342.50 2.04972 - 27.50 32.50 347.50 2.49158 - 27.50 32.50 352.50 2.77948 - 27.50 32.50 357.50 2.9695 - 27.50 37.50 2.50 3.78322 - 27.50 37.50 7.50 3.05865 - 27.50 37.50 12.50 2.02937 - 27.50 37.50 17.50 1.11133 - 27.50 37.50 22.50 0.470414 - 27.50 37.50 27.50 0.153926 - 27.50 37.50 32.50 0.0418859 - 27.50 37.50 37.50 0.010953 - 27.50 37.50 42.50 0.00654008 - 27.50 37.50 47.50 0.0180067 - 27.50 37.50 52.50 0.0588691 - 27.50 37.50 57.50 0.19603 - 27.50 37.50 62.50 0.555868 - 27.50 37.50 67.50 1.21261 - 27.50 37.50 72.50 1.9939 - 27.50 37.50 77.50 2.66563 - 27.50 37.50 82.50 3.28849 - 27.50 37.50 87.50 3.78813 - 27.50 37.50 92.50 3.78322 - 27.50 37.50 97.50 3.05865 - 27.50 37.50 102.50 2.02937 - 27.50 37.50 107.50 1.11133 - 27.50 37.50 112.50 0.470414 - 27.50 37.50 117.50 0.153926 - 27.50 37.50 122.50 0.0418858 - 27.50 37.50 127.50 0.010953 - 27.50 37.50 132.50 0.00654008 - 27.50 37.50 137.50 0.0180067 - 27.50 37.50 142.50 0.058869 - 27.50 37.50 147.50 0.19603 - 27.50 37.50 152.50 0.555867 - 27.50 37.50 157.50 1.21261 - 27.50 37.50 162.50 1.9939 - 27.50 37.50 167.50 2.66563 - 27.50 37.50 172.50 3.28849 - 27.50 37.50 177.50 3.78813 - 27.50 37.50 182.50 3.78322 - 27.50 37.50 187.50 3.05865 - 27.50 37.50 192.50 2.02937 - 27.50 37.50 197.50 1.11133 - 27.50 37.50 202.50 0.470414 - 27.50 37.50 207.50 0.153926 - 27.50 37.50 212.50 0.0418858 - 27.50 37.50 217.50 0.010953 - 27.50 37.50 222.50 0.00654008 - 27.50 37.50 227.50 0.0180067 - 27.50 37.50 232.50 0.0588692 - 27.50 37.50 237.50 0.19603 - 27.50 37.50 242.50 0.555868 - 27.50 37.50 247.50 1.21261 - 27.50 37.50 252.50 1.9939 - 27.50 37.50 257.50 2.66563 - 27.50 37.50 262.50 3.28849 - 27.50 37.50 267.50 3.78813 - 27.50 37.50 272.50 3.78322 - 27.50 37.50 277.50 3.05865 - 27.50 37.50 282.50 2.02937 - 27.50 37.50 287.50 1.11133 - 27.50 37.50 292.50 0.470414 - 27.50 37.50 297.50 0.153926 - 27.50 37.50 302.50 0.0418859 - 27.50 37.50 307.50 0.0109531 - 27.50 37.50 312.50 0.00654008 - 27.50 37.50 317.50 0.0180067 - 27.50 37.50 322.50 0.0588689 - 27.50 37.50 327.50 0.196029 - 27.50 37.50 332.50 0.555866 - 27.50 37.50 337.50 1.21261 - 27.50 37.50 342.50 1.9939 - 27.50 37.50 347.50 2.66563 - 27.50 37.50 352.50 3.28849 - 27.50 37.50 357.50 3.78813 - 27.50 42.50 2.50 4.66762 - 27.50 42.50 7.50 4.11607 - 27.50 42.50 12.50 3.10303 - 27.50 42.50 17.50 1.92656 - 27.50 42.50 22.50 0.9483 - 27.50 42.50 27.50 0.367172 - 27.50 42.50 32.50 0.121203 - 27.50 42.50 37.50 0.0339057 - 27.50 42.50 42.50 0.0074939 - 27.50 42.50 47.50 0.00613909 - 27.50 42.50 52.50 0.0261247 - 27.50 42.50 57.50 0.109017 - 27.50 42.50 62.50 0.362472 - 27.50 42.50 67.50 0.924131 - 27.50 42.50 72.50 1.73472 - 27.50 42.50 77.50 2.57939 - 27.50 42.50 82.50 3.48816 - 27.50 42.50 87.50 4.3612 - 27.50 42.50 92.50 4.66762 - 27.50 42.50 97.50 4.11607 - 27.50 42.50 102.50 3.10303 - 27.50 42.50 107.50 1.92656 - 27.50 42.50 112.50 0.948301 - 27.50 42.50 117.50 0.367172 - 27.50 42.50 122.50 0.121203 - 27.50 42.50 127.50 0.0339057 - 27.50 42.50 132.50 0.0074939 - 27.50 42.50 137.50 0.0061391 - 27.50 42.50 142.50 0.0261247 - 27.50 42.50 147.50 0.109017 - 27.50 42.50 152.50 0.362471 - 27.50 42.50 157.50 0.92413 - 27.50 42.50 162.50 1.73471 - 27.50 42.50 167.50 2.57939 - 27.50 42.50 172.50 3.48815 - 27.50 42.50 177.50 4.3612 - 27.50 42.50 182.50 4.66762 - 27.50 42.50 187.50 4.11606 - 27.50 42.50 192.50 3.10303 - 27.50 42.50 197.50 1.92656 - 27.50 42.50 202.50 0.9483 - 27.50 42.50 207.50 0.367172 - 27.50 42.50 212.50 0.121203 - 27.50 42.50 217.50 0.0339057 - 27.50 42.50 222.50 0.00749391 - 27.50 42.50 227.50 0.00613909 - 27.50 42.50 232.50 0.0261247 - 27.50 42.50 237.50 0.109017 - 27.50 42.50 242.50 0.362472 - 27.50 42.50 247.50 0.924132 - 27.50 42.50 252.50 1.73472 - 27.50 42.50 257.50 2.57939 - 27.50 42.50 262.50 3.48816 - 27.50 42.50 267.50 4.3612 - 27.50 42.50 272.50 4.66762 - 27.50 42.50 277.50 4.11607 - 27.50 42.50 282.50 3.10303 - 27.50 42.50 287.50 1.92656 - 27.50 42.50 292.50 0.9483 - 27.50 42.50 297.50 0.367173 - 27.50 42.50 302.50 0.121204 - 27.50 42.50 307.50 0.0339057 - 27.50 42.50 312.50 0.00749391 - 27.50 42.50 317.50 0.00613908 - 27.50 42.50 322.50 0.0261246 - 27.50 42.50 327.50 0.109017 - 27.50 42.50 332.50 0.36247 - 27.50 42.50 337.50 0.924129 - 27.50 42.50 342.50 1.73471 - 27.50 42.50 347.50 2.57939 - 27.50 42.50 352.50 3.48815 - 27.50 42.50 357.50 4.3612 - 27.50 47.50 2.50 5.03542 - 27.50 47.50 7.50 4.9263 - 27.50 47.50 12.50 4.25359 - 27.50 47.50 17.50 2.98268 - 27.50 47.50 22.50 1.74613 - 27.50 47.50 27.50 0.817871 - 27.50 47.50 32.50 0.325678 - 27.50 47.50 37.50 0.104638 - 27.50 47.50 42.50 0.0192789 - 27.50 47.50 47.50 0.00632723 - 27.50 47.50 52.50 0.0128841 - 27.50 47.50 57.50 0.0622875 - 27.50 47.50 62.50 0.212702 - 27.50 47.50 67.50 0.565487 - 27.50 47.50 72.50 1.24718 - 27.50 47.50 77.50 2.07806 - 27.50 47.50 82.50 3.17018 - 27.50 47.50 87.50 4.37515 - 27.50 47.50 92.50 5.03542 - 27.50 47.50 97.50 4.9263 - 27.50 47.50 102.50 4.25359 - 27.50 47.50 107.50 2.98267 - 27.50 47.50 112.50 1.74612 - 27.50 47.50 117.50 0.817871 - 27.50 47.50 122.50 0.325678 - 27.50 47.50 127.50 0.104638 - 27.50 47.50 132.50 0.0192789 - 27.50 47.50 137.50 0.00632723 - 27.50 47.50 142.50 0.0128841 - 27.50 47.50 147.50 0.0622876 - 27.50 47.50 152.50 0.212702 - 27.50 47.50 157.50 0.565486 - 27.50 47.50 162.50 1.24718 - 27.50 47.50 167.50 2.07805 - 27.50 47.50 172.50 3.17018 - 27.50 47.50 177.50 4.37515 - 27.50 47.50 182.50 5.03542 - 27.50 47.50 187.50 4.9263 - 27.50 47.50 192.50 4.25358 - 27.50 47.50 197.50 2.98267 - 27.50 47.50 202.50 1.74612 - 27.50 47.50 207.50 0.817872 - 27.50 47.50 212.50 0.325678 - 27.50 47.50 217.50 0.104638 - 27.50 47.50 222.50 0.019279 - 27.50 47.50 227.50 0.00632723 - 27.50 47.50 232.50 0.0128841 - 27.50 47.50 237.50 0.0622877 - 27.50 47.50 242.50 0.212703 - 27.50 47.50 247.50 0.565488 - 27.50 47.50 252.50 1.24718 - 27.50 47.50 257.50 2.07806 - 27.50 47.50 262.50 3.17018 - 27.50 47.50 267.50 4.37516 - 27.50 47.50 272.50 5.03542 - 27.50 47.50 277.50 4.9263 - 27.50 47.50 282.50 4.25359 - 27.50 47.50 287.50 2.98267 - 27.50 47.50 292.50 1.74613 - 27.50 47.50 297.50 0.817872 - 27.50 47.50 302.50 0.325678 - 27.50 47.50 307.50 0.104638 - 27.50 47.50 312.50 0.019279 - 27.50 47.50 317.50 0.00632723 - 27.50 47.50 322.50 0.0128841 - 27.50 47.50 327.50 0.0622874 - 27.50 47.50 332.50 0.212702 - 27.50 47.50 337.50 0.565485 - 27.50 47.50 342.50 1.24718 - 27.50 47.50 347.50 2.07805 - 27.50 47.50 352.50 3.17018 - 27.50 47.50 357.50 4.37515 - 27.50 52.50 2.50 4.66762 - 27.50 52.50 7.50 5.26632 - 27.50 52.50 12.50 5.20289 - 27.50 52.50 17.50 4.16698 - 27.50 52.50 22.50 2.87281 - 27.50 52.50 27.50 1.62258 - 27.50 52.50 32.50 0.749231 - 27.50 52.50 37.50 0.259457 - 27.50 52.50 42.50 0.0598364 - 27.50 52.50 47.50 0.00950439 - 27.50 52.50 52.50 0.00713902 - 27.50 52.50 57.50 0.0315213 - 27.50 52.50 62.50 0.0962726 - 27.50 52.50 67.50 0.297183 - 27.50 52.50 72.50 0.704983 - 27.50 52.50 77.50 1.35811 - 27.50 52.50 82.50 2.38046 - 27.50 52.50 87.50 3.66233 - 27.50 52.50 92.50 4.66762 - 27.50 52.50 97.50 5.26632 - 27.50 52.50 102.50 5.20289 - 27.50 52.50 107.50 4.16698 - 27.50 52.50 112.50 2.87281 - 27.50 52.50 117.50 1.62258 - 27.50 52.50 122.50 0.749231 - 27.50 52.50 127.50 0.259457 - 27.50 52.50 132.50 0.0598363 - 27.50 52.50 137.50 0.0095044 - 27.50 52.50 142.50 0.00713903 - 27.50 52.50 147.50 0.0315213 - 27.50 52.50 152.50 0.0962725 - 27.50 52.50 157.50 0.297182 - 27.50 52.50 162.50 0.704983 - 27.50 52.50 167.50 1.35811 - 27.50 52.50 172.50 2.38046 - 27.50 52.50 177.50 3.66233 - 27.50 52.50 182.50 4.66762 - 27.50 52.50 187.50 5.26632 - 27.50 52.50 192.50 5.20289 - 27.50 52.50 197.50 4.16698 - 27.50 52.50 202.50 2.8728 - 27.50 52.50 207.50 1.62258 - 27.50 52.50 212.50 0.749231 - 27.50 52.50 217.50 0.259457 - 27.50 52.50 222.50 0.0598364 - 27.50 52.50 227.50 0.00950442 - 27.50 52.50 232.50 0.00713905 - 27.50 52.50 237.50 0.0315214 - 27.50 52.50 242.50 0.0962728 - 27.50 52.50 247.50 0.297183 - 27.50 52.50 252.50 0.704985 - 27.50 52.50 257.50 1.35811 - 27.50 52.50 262.50 2.38046 - 27.50 52.50 267.50 3.66233 - 27.50 52.50 272.50 4.66762 - 27.50 52.50 277.50 5.26632 - 27.50 52.50 282.50 5.20289 - 27.50 52.50 287.50 4.16698 - 27.50 52.50 292.50 2.87281 - 27.50 52.50 297.50 1.62258 - 27.50 52.50 302.50 0.749232 - 27.50 52.50 307.50 0.259457 - 27.50 52.50 312.50 0.0598364 - 27.50 52.50 317.50 0.00950441 - 27.50 52.50 322.50 0.00713902 - 27.50 52.50 327.50 0.0315212 - 27.50 52.50 332.50 0.0962724 - 27.50 52.50 337.50 0.297182 - 27.50 52.50 342.50 0.704982 - 27.50 52.50 347.50 1.3581 - 27.50 52.50 352.50 2.38045 - 27.50 52.50 357.50 3.66233 - 27.50 57.50 2.50 3.78322 - 27.50 57.50 7.50 5.09998 - 27.50 57.50 12.50 5.6699 - 27.50 57.50 17.50 5.20794 - 27.50 57.50 22.50 4.10428 - 27.50 57.50 27.50 2.66685 - 27.50 57.50 32.50 1.36783 - 27.50 57.50 37.50 0.496881 - 27.50 57.50 42.50 0.130981 - 27.50 57.50 47.50 0.0254932 - 27.50 57.50 52.50 0.00479201 - 27.50 57.50 57.50 0.0103397 - 27.50 57.50 62.50 0.0449127 - 27.50 57.50 67.50 0.129212 - 27.50 57.50 72.50 0.323166 - 27.50 57.50 77.50 0.731469 - 27.50 57.50 82.50 1.45216 - 27.50 57.50 87.50 2.53104 - 27.50 57.50 92.50 3.78322 - 27.50 57.50 97.50 5.09998 - 27.50 57.50 102.50 5.66989 - 27.50 57.50 107.50 5.20794 - 27.50 57.50 112.50 4.10428 - 27.50 57.50 117.50 2.66685 - 27.50 57.50 122.50 1.36783 - 27.50 57.50 127.50 0.49688 - 27.50 57.50 132.50 0.130981 - 27.50 57.50 137.50 0.0254932 - 27.50 57.50 142.50 0.00479201 - 27.50 57.50 147.50 0.0103397 - 27.50 57.50 152.50 0.0449127 - 27.50 57.50 157.50 0.129212 - 27.50 57.50 162.50 0.323166 - 27.50 57.50 167.50 0.731469 - 27.50 57.50 172.50 1.45216 - 27.50 57.50 177.50 2.53104 - 27.50 57.50 182.50 3.78322 - 27.50 57.50 187.50 5.09998 - 27.50 57.50 192.50 5.66989 - 27.50 57.50 197.50 5.20794 - 27.50 57.50 202.50 4.10428 - 27.50 57.50 207.50 2.66685 - 27.50 57.50 212.50 1.36783 - 27.50 57.50 217.50 0.496881 - 27.50 57.50 222.50 0.130981 - 27.50 57.50 227.50 0.0254932 - 27.50 57.50 232.50 0.00479201 - 27.50 57.50 237.50 0.0103397 - 27.50 57.50 242.50 0.0449127 - 27.50 57.50 247.50 0.129212 - 27.50 57.50 252.50 0.323166 - 27.50 57.50 257.50 0.731469 - 27.50 57.50 262.50 1.45217 - 27.50 57.50 267.50 2.53104 - 27.50 57.50 272.50 3.78322 - 27.50 57.50 277.50 5.09998 - 27.50 57.50 282.50 5.66989 - 27.50 57.50 287.50 5.20794 - 27.50 57.50 292.50 4.10428 - 27.50 57.50 297.50 2.66685 - 27.50 57.50 302.50 1.36784 - 27.50 57.50 307.50 0.496882 - 27.50 57.50 312.50 0.130981 - 27.50 57.50 317.50 0.0254932 - 27.50 57.50 322.50 0.004792 - 27.50 57.50 327.50 0.0103397 - 27.50 57.50 332.50 0.0449126 - 27.50 57.50 337.50 0.129212 - 27.50 57.50 342.50 0.323165 - 27.50 57.50 347.50 0.731467 - 27.50 57.50 352.50 1.45216 - 27.50 57.50 357.50 2.53104 - 27.50 62.50 2.50 2.76505 - 27.50 62.50 7.50 4.4001 - 27.50 62.50 12.50 5.45371 - 27.50 62.50 17.50 5.73607 - 27.50 62.50 22.50 4.99965 - 27.50 62.50 27.50 3.60304 - 27.50 62.50 32.50 1.96485 - 27.50 62.50 37.50 0.838125 - 27.50 62.50 42.50 0.237939 - 27.50 62.50 47.50 0.0497145 - 27.50 62.50 52.50 0.0111846 - 27.50 62.50 57.50 0.00573943 - 27.50 62.50 62.50 0.0170952 - 27.50 62.50 67.50 0.0450436 - 27.50 62.50 72.50 0.124567 - 27.50 62.50 77.50 0.330642 - 27.50 62.50 82.50 0.762584 - 27.50 62.50 87.50 1.50963 - 27.50 62.50 92.50 2.76505 - 27.50 62.50 97.50 4.4001 - 27.50 62.50 102.50 5.45371 - 27.50 62.50 107.50 5.73607 - 27.50 62.50 112.50 4.99965 - 27.50 62.50 117.50 3.60304 - 27.50 62.50 122.50 1.96485 - 27.50 62.50 127.50 0.838124 - 27.50 62.50 132.50 0.237939 - 27.50 62.50 137.50 0.0497145 - 27.50 62.50 142.50 0.0111846 - 27.50 62.50 147.50 0.00573944 - 27.50 62.50 152.50 0.0170952 - 27.50 62.50 157.50 0.0450435 - 27.50 62.50 162.50 0.124567 - 27.50 62.50 167.50 0.330642 - 27.50 62.50 172.50 0.762584 - 27.50 62.50 177.50 1.50963 - 27.50 62.50 182.50 2.76505 - 27.50 62.50 187.50 4.4001 - 27.50 62.50 192.50 5.45371 - 27.50 62.50 197.50 5.73607 - 27.50 62.50 202.50 4.99965 - 27.50 62.50 207.50 3.60304 - 27.50 62.50 212.50 1.96485 - 27.50 62.50 217.50 0.838125 - 27.50 62.50 222.50 0.23794 - 27.50 62.50 227.50 0.0497146 - 27.50 62.50 232.50 0.0111846 - 27.50 62.50 237.50 0.00573943 - 27.50 62.50 242.50 0.0170952 - 27.50 62.50 247.50 0.0450437 - 27.50 62.50 252.50 0.124567 - 27.50 62.50 257.50 0.330643 - 27.50 62.50 262.50 0.762585 - 27.50 62.50 267.50 1.50963 - 27.50 62.50 272.50 2.76505 - 27.50 62.50 277.50 4.4001 - 27.50 62.50 282.50 5.45371 - 27.50 62.50 287.50 5.73607 - 27.50 62.50 292.50 4.99965 - 27.50 62.50 297.50 3.60304 - 27.50 62.50 302.50 1.96486 - 27.50 62.50 307.50 0.838126 - 27.50 62.50 312.50 0.23794 - 27.50 62.50 317.50 0.0497147 - 27.50 62.50 322.50 0.0111846 - 27.50 62.50 327.50 0.00573943 - 27.50 62.50 332.50 0.0170952 - 27.50 62.50 337.50 0.0450434 - 27.50 62.50 342.50 0.124566 - 27.50 62.50 347.50 0.330642 - 27.50 62.50 352.50 0.762582 - 27.50 62.50 357.50 1.50962 - 27.50 67.50 2.50 1.82434 - 27.50 67.50 7.50 3.30735 - 27.50 67.50 12.50 4.60096 - 27.50 67.50 17.50 5.30437 - 27.50 67.50 22.50 5.05496 - 27.50 67.50 27.50 3.86145 - 27.50 67.50 32.50 2.34372 - 27.50 67.50 37.50 1.07266 - 27.50 67.50 42.50 0.384125 - 27.50 67.50 47.50 0.11112 - 27.50 67.50 52.50 0.0274634 - 27.50 67.50 57.50 0.00540732 - 27.50 67.50 62.50 0.00665762 - 27.50 67.50 67.50 0.0243377 - 27.50 67.50 72.50 0.0593759 - 27.50 67.50 77.50 0.146936 - 27.50 67.50 82.50 0.374926 - 27.50 67.50 87.50 0.828257 - 27.50 67.50 92.50 1.82434 - 27.50 67.50 97.50 3.30735 - 27.50 67.50 102.50 4.60096 - 27.50 67.50 107.50 5.30437 - 27.50 67.50 112.50 5.05496 - 27.50 67.50 117.50 3.86145 - 27.50 67.50 122.50 2.34371 - 27.50 67.50 127.50 1.07266 - 27.50 67.50 132.50 0.384125 - 27.50 67.50 137.50 0.11112 - 27.50 67.50 142.50 0.0274634 - 27.50 67.50 147.50 0.00540733 - 27.50 67.50 152.50 0.00665761 - 27.50 67.50 157.50 0.0243377 - 27.50 67.50 162.50 0.0593759 - 27.50 67.50 167.50 0.146936 - 27.50 67.50 172.50 0.374926 - 27.50 67.50 177.50 0.828256 - 27.50 67.50 182.50 1.82434 - 27.50 67.50 187.50 3.30735 - 27.50 67.50 192.50 4.60096 - 27.50 67.50 197.50 5.30437 - 27.50 67.50 202.50 5.05497 - 27.50 67.50 207.50 3.86145 - 27.50 67.50 212.50 2.34372 - 27.50 67.50 217.50 1.07266 - 27.50 67.50 222.50 0.384125 - 27.50 67.50 227.50 0.11112 - 27.50 67.50 232.50 0.0274633 - 27.50 67.50 237.50 0.00540733 - 27.50 67.50 242.50 0.00665764 - 27.50 67.50 247.50 0.0243377 - 27.50 67.50 252.50 0.059376 - 27.50 67.50 257.50 0.146936 - 27.50 67.50 262.50 0.374927 - 27.50 67.50 267.50 0.828257 - 27.50 67.50 272.50 1.82434 - 27.50 67.50 277.50 3.30735 - 27.50 67.50 282.50 4.60096 - 27.50 67.50 287.50 5.30437 - 27.50 67.50 292.50 5.05496 - 27.50 67.50 297.50 3.86145 - 27.50 67.50 302.50 2.34372 - 27.50 67.50 307.50 1.07266 - 27.50 67.50 312.50 0.384126 - 27.50 67.50 317.50 0.11112 - 27.50 67.50 322.50 0.0274634 - 27.50 67.50 327.50 0.00540732 - 27.50 67.50 332.50 0.00665758 - 27.50 67.50 337.50 0.0243377 - 27.50 67.50 342.50 0.0593758 - 27.50 67.50 347.50 0.146935 - 27.50 67.50 352.50 0.374926 - 27.50 67.50 357.50 0.828254 - 27.50 72.50 2.50 1.04915 - 27.50 72.50 7.50 2.15028 - 27.50 72.50 12.50 3.34987 - 27.50 72.50 17.50 4.07598 - 27.50 72.50 22.50 4.13578 - 27.50 72.50 27.50 3.35463 - 27.50 72.50 32.50 2.15279 - 27.50 72.50 37.50 1.04996 - 27.50 72.50 42.50 0.424694 - 27.50 72.50 47.50 0.150845 - 27.50 72.50 52.50 0.0386529 - 27.50 72.50 57.50 0.00809182 - 27.50 72.50 62.50 0.00658603 - 27.50 72.50 67.50 0.0206744 - 27.50 72.50 72.50 0.0564973 - 27.50 72.50 77.50 0.0837817 - 27.50 72.50 82.50 0.180152 - 27.50 72.50 87.50 0.418788 - 27.50 72.50 92.50 1.04915 - 27.50 72.50 97.50 2.15028 - 27.50 72.50 102.50 3.34987 - 27.50 72.50 107.50 4.07598 - 27.50 72.50 112.50 4.13578 - 27.50 72.50 117.50 3.35463 - 27.50 72.50 122.50 2.15279 - 27.50 72.50 127.50 1.04996 - 27.50 72.50 132.50 0.424694 - 27.50 72.50 137.50 0.150845 - 27.50 72.50 142.50 0.0386529 - 27.50 72.50 147.50 0.00809184 - 27.50 72.50 152.50 0.00658603 - 27.50 72.50 157.50 0.0206744 - 27.50 72.50 162.50 0.0564973 - 27.50 72.50 167.50 0.0837818 - 27.50 72.50 172.50 0.180152 - 27.50 72.50 177.50 0.418788 - 27.50 72.50 182.50 1.04915 - 27.50 72.50 187.50 2.15028 - 27.50 72.50 192.50 3.34987 - 27.50 72.50 197.50 4.07598 - 27.50 72.50 202.50 4.13578 - 27.50 72.50 207.50 3.35463 - 27.50 72.50 212.50 2.15279 - 27.50 72.50 217.50 1.04996 - 27.50 72.50 222.50 0.424694 - 27.50 72.50 227.50 0.150845 - 27.50 72.50 232.50 0.0386527 - 27.50 72.50 237.50 0.00809179 - 27.50 72.50 242.50 0.00658604 - 27.50 72.50 247.50 0.0206744 - 27.50 72.50 252.50 0.0564974 - 27.50 72.50 257.50 0.0837819 - 27.50 72.50 262.50 0.180153 - 27.50 72.50 267.50 0.418788 - 27.50 72.50 272.50 1.04915 - 27.50 72.50 277.50 2.15028 - 27.50 72.50 282.50 3.34987 - 27.50 72.50 287.50 4.07598 - 27.50 72.50 292.50 4.13578 - 27.50 72.50 297.50 3.35464 - 27.50 72.50 302.50 2.15279 - 27.50 72.50 307.50 1.04996 - 27.50 72.50 312.50 0.424694 - 27.50 72.50 317.50 0.150845 - 27.50 72.50 322.50 0.038653 - 27.50 72.50 327.50 0.00809188 - 27.50 72.50 332.50 0.00658603 - 27.50 72.50 337.50 0.0206743 - 27.50 72.50 342.50 0.0564972 - 27.50 72.50 347.50 0.0837816 - 27.50 72.50 352.50 0.180152 - 27.50 72.50 357.50 0.418787 - 27.50 77.50 2.50 0.514899 - 27.50 77.50 7.50 1.24612 - 27.50 77.50 12.50 2.0119 - 27.50 77.50 17.50 2.59903 - 27.50 77.50 22.50 2.52736 - 27.50 77.50 27.50 2.12693 - 27.50 77.50 32.50 1.48843 - 27.50 77.50 37.50 0.850685 - 27.50 77.50 42.50 0.401136 - 27.50 77.50 47.50 0.146692 - 27.50 77.50 52.50 0.0356937 - 27.50 77.50 57.50 0.0104885 - 27.50 77.50 62.50 0.00714235 - 27.50 77.50 67.50 0.0141453 - 27.50 77.50 72.50 0.0377709 - 27.50 77.50 77.50 0.0665507 - 27.50 77.50 82.50 0.0841895 - 27.50 77.50 87.50 0.193489 - 27.50 77.50 92.50 0.514899 - 27.50 77.50 97.50 1.24612 - 27.50 77.50 102.50 2.0119 - 27.50 77.50 107.50 2.59903 - 27.50 77.50 112.50 2.52736 - 27.50 77.50 117.50 2.12693 - 27.50 77.50 122.50 1.48843 - 27.50 77.50 127.50 0.850685 - 27.50 77.50 132.50 0.401136 - 27.50 77.50 137.50 0.146692 - 27.50 77.50 142.50 0.0356938 - 27.50 77.50 147.50 0.0104885 - 27.50 77.50 152.50 0.00714237 - 27.50 77.50 157.50 0.0141453 - 27.50 77.50 162.50 0.0377709 - 27.50 77.50 167.50 0.0665508 - 27.50 77.50 172.50 0.0841895 - 27.50 77.50 177.50 0.193489 - 27.50 77.50 182.50 0.514899 - 27.50 77.50 187.50 1.24612 - 27.50 77.50 192.50 2.0119 - 27.50 77.50 197.50 2.59903 - 27.50 77.50 202.50 2.52736 - 27.50 77.50 207.50 2.12693 - 27.50 77.50 212.50 1.48843 - 27.50 77.50 217.50 0.850686 - 27.50 77.50 222.50 0.401136 - 27.50 77.50 227.50 0.146692 - 27.50 77.50 232.50 0.0356936 - 27.50 77.50 237.50 0.0104885 - 27.50 77.50 242.50 0.00714238 - 27.50 77.50 247.50 0.0141453 - 27.50 77.50 252.50 0.037771 - 27.50 77.50 257.50 0.0665508 - 27.50 77.50 262.50 0.0841896 - 27.50 77.50 267.50 0.19349 - 27.50 77.50 272.50 0.514899 - 27.50 77.50 277.50 1.24612 - 27.50 77.50 282.50 2.0119 - 27.50 77.50 287.50 2.59903 - 27.50 77.50 292.50 2.52736 - 27.50 77.50 297.50 2.12693 - 27.50 77.50 302.50 1.48843 - 27.50 77.50 307.50 0.850686 - 27.50 77.50 312.50 0.401136 - 27.50 77.50 317.50 0.146692 - 27.50 77.50 322.50 0.0356938 - 27.50 77.50 327.50 0.0104886 - 27.50 77.50 332.50 0.00714235 - 27.50 77.50 337.50 0.0141453 - 27.50 77.50 342.50 0.0377708 - 27.50 77.50 347.50 0.0665508 - 27.50 77.50 352.50 0.0841894 - 27.50 77.50 357.50 0.193489 - 27.50 82.50 2.50 0.221571 - 27.50 82.50 7.50 0.58551 - 27.50 82.50 12.50 1.05127 - 27.50 82.50 17.50 1.13283 - 27.50 82.50 22.50 1.12423 - 27.50 82.50 27.50 1.03232 - 27.50 82.50 32.50 0.8357 - 27.50 82.50 37.50 0.556316 - 27.50 82.50 42.50 0.292626 - 27.50 82.50 47.50 0.111393 - 27.50 82.50 52.50 0.0303807 - 27.50 82.50 57.50 0.00992888 - 27.50 82.50 62.50 0.0095137 - 27.50 82.50 67.50 0.0165146 - 27.50 82.50 72.50 0.0299219 - 27.50 82.50 77.50 0.0422024 - 27.50 82.50 82.50 0.0502739 - 27.50 82.50 87.50 0.0801705 - 27.50 82.50 92.50 0.221571 - 27.50 82.50 97.50 0.58551 - 27.50 82.50 102.50 1.05127 - 27.50 82.50 107.50 1.13283 - 27.50 82.50 112.50 1.12423 - 27.50 82.50 117.50 1.03232 - 27.50 82.50 122.50 0.8357 - 27.50 82.50 127.50 0.556316 - 27.50 82.50 132.50 0.292626 - 27.50 82.50 137.50 0.111393 - 27.50 82.50 142.50 0.0303807 - 27.50 82.50 147.50 0.00992888 - 27.50 82.50 152.50 0.0095137 - 27.50 82.50 157.50 0.0165146 - 27.50 82.50 162.50 0.0299219 - 27.50 82.50 167.50 0.0422024 - 27.50 82.50 172.50 0.0502739 - 27.50 82.50 177.50 0.0801705 - 27.50 82.50 182.50 0.221571 - 27.50 82.50 187.50 0.585511 - 27.50 82.50 192.50 1.05127 - 27.50 82.50 197.50 1.13283 - 27.50 82.50 202.50 1.12423 - 27.50 82.50 207.50 1.03232 - 27.50 82.50 212.50 0.8357 - 27.50 82.50 217.50 0.556316 - 27.50 82.50 222.50 0.292626 - 27.50 82.50 227.50 0.111393 - 27.50 82.50 232.50 0.0303807 - 27.50 82.50 237.50 0.00992887 - 27.50 82.50 242.50 0.0095137 - 27.50 82.50 247.50 0.0165146 - 27.50 82.50 252.50 0.029922 - 27.50 82.50 257.50 0.0422025 - 27.50 82.50 262.50 0.0502739 - 27.50 82.50 267.50 0.0801706 - 27.50 82.50 272.50 0.221571 - 27.50 82.50 277.50 0.58551 - 27.50 82.50 282.50 1.05127 - 27.50 82.50 287.50 1.13283 - 27.50 82.50 292.50 1.12423 - 27.50 82.50 297.50 1.03232 - 27.50 82.50 302.50 0.8357 - 27.50 82.50 307.50 0.556316 - 27.50 82.50 312.50 0.292626 - 27.50 82.50 317.50 0.111393 - 27.50 82.50 322.50 0.0303808 - 27.50 82.50 327.50 0.00992888 - 27.50 82.50 332.50 0.00951369 - 27.50 82.50 337.50 0.0165146 - 27.50 82.50 342.50 0.0299219 - 27.50 82.50 347.50 0.0422023 - 27.50 82.50 352.50 0.0502739 - 27.50 82.50 357.50 0.0801702 - 27.50 87.50 2.50 0.0874276 - 27.50 87.50 7.50 0.245087 - 27.50 87.50 12.50 0.35726 - 27.50 87.50 17.50 0.437467 - 27.50 87.50 22.50 0.420596 - 27.50 87.50 27.50 0.420049 - 27.50 87.50 32.50 0.402788 - 27.50 87.50 37.50 0.289468 - 27.50 87.50 42.50 0.146054 - 27.50 87.50 47.50 0.0570135 - 27.50 87.50 52.50 0.0248785 - 27.50 87.50 57.50 0.0225085 - 27.50 87.50 62.50 0.0280813 - 27.50 87.50 67.50 0.0355995 - 27.50 87.50 72.50 0.0568336 - 27.50 87.50 77.50 0.0717912 - 27.50 87.50 82.50 0.0558491 - 27.50 87.50 87.50 0.0449284 - 27.50 87.50 92.50 0.0874277 - 27.50 87.50 97.50 0.245087 - 27.50 87.50 102.50 0.35726 - 27.50 87.50 107.50 0.437467 - 27.50 87.50 112.50 0.420596 - 27.50 87.50 117.50 0.420049 - 27.50 87.50 122.50 0.402788 - 27.50 87.50 127.50 0.289468 - 27.50 87.50 132.50 0.146054 - 27.50 87.50 137.50 0.0570135 - 27.50 87.50 142.50 0.0248786 - 27.50 87.50 147.50 0.0225085 - 27.50 87.50 152.50 0.0280813 - 27.50 87.50 157.50 0.0355995 - 27.50 87.50 162.50 0.0568337 - 27.50 87.50 167.50 0.0717912 - 27.50 87.50 172.50 0.0558491 - 27.50 87.50 177.50 0.0449284 - 27.50 87.50 182.50 0.0874277 - 27.50 87.50 187.50 0.245087 - 27.50 87.50 192.50 0.35726 - 27.50 87.50 197.50 0.437467 - 27.50 87.50 202.50 0.420596 - 27.50 87.50 207.50 0.420049 - 27.50 87.50 212.50 0.402788 - 27.50 87.50 217.50 0.289468 - 27.50 87.50 222.50 0.146054 - 27.50 87.50 227.50 0.0570136 - 27.50 87.50 232.50 0.0248785 - 27.50 87.50 237.50 0.0225085 - 27.50 87.50 242.50 0.0280813 - 27.50 87.50 247.50 0.0355995 - 27.50 87.50 252.50 0.0568337 - 27.50 87.50 257.50 0.0717913 - 27.50 87.50 262.50 0.055849 - 27.50 87.50 267.50 0.0449284 - 27.50 87.50 272.50 0.0874276 - 27.50 87.50 277.50 0.245087 - 27.50 87.50 282.50 0.35726 - 27.50 87.50 287.50 0.437467 - 27.50 87.50 292.50 0.420596 - 27.50 87.50 297.50 0.420049 - 27.50 87.50 302.50 0.402788 - 27.50 87.50 307.50 0.289468 - 27.50 87.50 312.50 0.146054 - 27.50 87.50 317.50 0.0570136 - 27.50 87.50 322.50 0.0248786 - 27.50 87.50 327.50 0.0225085 - 27.50 87.50 332.50 0.0280813 - 27.50 87.50 337.50 0.0355995 - 27.50 87.50 342.50 0.0568336 - 27.50 87.50 347.50 0.0717912 - 27.50 87.50 352.50 0.0558492 - 27.50 87.50 357.50 0.0449284 - 27.50 92.50 2.50 0.0485219 - 27.50 92.50 7.50 0.0733504 - 27.50 92.50 12.50 0.116684 - 27.50 92.50 17.50 0.129911 - 27.50 92.50 22.50 0.121878 - 27.50 92.50 27.50 0.128577 - 27.50 92.50 32.50 0.130738 - 27.50 92.50 37.50 0.0974755 - 27.50 92.50 42.50 0.0543458 - 27.50 92.50 47.50 0.0370179 - 27.50 92.50 52.50 0.0543459 - 27.50 92.50 57.50 0.0974756 - 27.50 92.50 62.50 0.130738 - 27.50 92.50 67.50 0.128577 - 27.50 92.50 72.50 0.121879 - 27.50 92.50 77.50 0.129911 - 27.50 92.50 82.50 0.116684 - 27.50 92.50 87.50 0.0733504 - 27.50 92.50 92.50 0.048522 - 27.50 92.50 97.50 0.0733505 - 27.50 92.50 102.50 0.116684 - 27.50 92.50 107.50 0.129911 - 27.50 92.50 112.50 0.121879 - 27.50 92.50 117.50 0.128577 - 27.50 92.50 122.50 0.130738 - 27.50 92.50 127.50 0.0974754 - 27.50 92.50 132.50 0.0543458 - 27.50 92.50 137.50 0.0370179 - 27.50 92.50 142.50 0.0543459 - 27.50 92.50 147.50 0.0974755 - 27.50 92.50 152.50 0.130738 - 27.50 92.50 157.50 0.128577 - 27.50 92.50 162.50 0.121879 - 27.50 92.50 167.50 0.129911 - 27.50 92.50 172.50 0.116684 - 27.50 92.50 177.50 0.0733505 - 27.50 92.50 182.50 0.048522 - 27.50 92.50 187.50 0.0733505 - 27.50 92.50 192.50 0.116684 - 27.50 92.50 197.50 0.129911 - 27.50 92.50 202.50 0.121879 - 27.50 92.50 207.50 0.128577 - 27.50 92.50 212.50 0.130738 - 27.50 92.50 217.50 0.0974755 - 27.50 92.50 222.50 0.0543458 - 27.50 92.50 227.50 0.0370179 - 27.50 92.50 232.50 0.0543459 - 27.50 92.50 237.50 0.0974756 - 27.50 92.50 242.50 0.130738 - 27.50 92.50 247.50 0.128577 - 27.50 92.50 252.50 0.121879 - 27.50 92.50 257.50 0.129911 - 27.50 92.50 262.50 0.116684 - 27.50 92.50 267.50 0.0733504 - 27.50 92.50 272.50 0.0485219 - 27.50 92.50 277.50 0.0733504 - 27.50 92.50 282.50 0.116684 - 27.50 92.50 287.50 0.129911 - 27.50 92.50 292.50 0.121879 - 27.50 92.50 297.50 0.128577 - 27.50 92.50 302.50 0.130738 - 27.50 92.50 307.50 0.0974755 - 27.50 92.50 312.50 0.0543458 - 27.50 92.50 317.50 0.0370179 - 27.50 92.50 322.50 0.0543458 - 27.50 92.50 327.50 0.0974755 - 27.50 92.50 332.50 0.130738 - 27.50 92.50 337.50 0.128577 - 27.50 92.50 342.50 0.121879 - 27.50 92.50 347.50 0.129911 - 27.50 92.50 352.50 0.116684 - 27.50 92.50 357.50 0.0733506 - 27.50 97.50 2.50 0.0874276 - 27.50 97.50 7.50 0.0449284 - 27.50 97.50 12.50 0.0558491 - 27.50 97.50 17.50 0.0717912 - 27.50 97.50 22.50 0.0568336 - 27.50 97.50 27.50 0.0355995 - 27.50 97.50 32.50 0.0280813 - 27.50 97.50 37.50 0.0225085 - 27.50 97.50 42.50 0.0248786 - 27.50 97.50 47.50 0.0570136 - 27.50 97.50 52.50 0.146054 - 27.50 97.50 57.50 0.289468 - 27.50 97.50 62.50 0.402788 - 27.50 97.50 67.50 0.420049 - 27.50 97.50 72.50 0.420596 - 27.50 97.50 77.50 0.437467 - 27.50 97.50 82.50 0.35726 - 27.50 97.50 87.50 0.245087 - 27.50 97.50 92.50 0.0874276 - 27.50 97.50 97.50 0.0449284 - 27.50 97.50 102.50 0.0558491 - 27.50 97.50 107.50 0.0717912 - 27.50 97.50 112.50 0.0568336 - 27.50 97.50 117.50 0.0355995 - 27.50 97.50 122.50 0.0280813 - 27.50 97.50 127.50 0.0225085 - 27.50 97.50 132.50 0.0248786 - 27.50 97.50 137.50 0.0570135 - 27.50 97.50 142.50 0.146054 - 27.50 97.50 147.50 0.289468 - 27.50 97.50 152.50 0.402788 - 27.50 97.50 157.50 0.420049 - 27.50 97.50 162.50 0.420596 - 27.50 97.50 167.50 0.437467 - 27.50 97.50 172.50 0.35726 - 27.50 97.50 177.50 0.245087 - 27.50 97.50 182.50 0.0874276 - 27.50 97.50 187.50 0.0449284 - 27.50 97.50 192.50 0.0558491 - 27.50 97.50 197.50 0.0717913 - 27.50 97.50 202.50 0.0568336 - 27.50 97.50 207.50 0.0355995 - 27.50 97.50 212.50 0.0280813 - 27.50 97.50 217.50 0.0225085 - 27.50 97.50 222.50 0.0248786 - 27.50 97.50 227.50 0.0570135 - 27.50 97.50 232.50 0.146054 - 27.50 97.50 237.50 0.289468 - 27.50 97.50 242.50 0.402788 - 27.50 97.50 247.50 0.420049 - 27.50 97.50 252.50 0.420596 - 27.50 97.50 257.50 0.437467 - 27.50 97.50 262.50 0.357259 - 27.50 97.50 267.50 0.245087 - 27.50 97.50 272.50 0.0874276 - 27.50 97.50 277.50 0.0449284 - 27.50 97.50 282.50 0.0558491 - 27.50 97.50 287.50 0.0717912 - 27.50 97.50 292.50 0.0568336 - 27.50 97.50 297.50 0.0355995 - 27.50 97.50 302.50 0.0280813 - 27.50 97.50 307.50 0.0225085 - 27.50 97.50 312.50 0.0248786 - 27.50 97.50 317.50 0.0570135 - 27.50 97.50 322.50 0.146053 - 27.50 97.50 327.50 0.289468 - 27.50 97.50 332.50 0.402788 - 27.50 97.50 337.50 0.420049 - 27.50 97.50 342.50 0.420596 - 27.50 97.50 347.50 0.437467 - 27.50 97.50 352.50 0.35726 - 27.50 97.50 357.50 0.245088 - 27.50 102.50 2.50 0.221571 - 27.50 102.50 7.50 0.0801705 - 27.50 102.50 12.50 0.0502739 - 27.50 102.50 17.50 0.0422024 - 27.50 102.50 22.50 0.0299219 - 27.50 102.50 27.50 0.0165146 - 27.50 102.50 32.50 0.00951369 - 27.50 102.50 37.50 0.00992889 - 27.50 102.50 42.50 0.0303807 - 27.50 102.50 47.50 0.111393 - 27.50 102.50 52.50 0.292626 - 27.50 102.50 57.50 0.556316 - 27.50 102.50 62.50 0.8357 - 27.50 102.50 67.50 1.03232 - 27.50 102.50 72.50 1.12423 - 27.50 102.50 77.50 1.13283 - 27.50 102.50 82.50 1.05127 - 27.50 102.50 87.50 0.58551 - 27.50 102.50 92.50 0.221571 - 27.50 102.50 97.50 0.0801705 - 27.50 102.50 102.50 0.0502739 - 27.50 102.50 107.50 0.0422024 - 27.50 102.50 112.50 0.0299219 - 27.50 102.50 117.50 0.0165146 - 27.50 102.50 122.50 0.0095137 - 27.50 102.50 127.50 0.00992889 - 27.50 102.50 132.50 0.0303807 - 27.50 102.50 137.50 0.111393 - 27.50 102.50 142.50 0.292626 - 27.50 102.50 147.50 0.556316 - 27.50 102.50 152.50 0.8357 - 27.50 102.50 157.50 1.03232 - 27.50 102.50 162.50 1.12423 - 27.50 102.50 167.50 1.13283 - 27.50 102.50 172.50 1.05127 - 27.50 102.50 177.50 0.585511 - 27.50 102.50 182.50 0.221571 - 27.50 102.50 187.50 0.0801705 - 27.50 102.50 192.50 0.0502739 - 27.50 102.50 197.50 0.0422024 - 27.50 102.50 202.50 0.0299219 - 27.50 102.50 207.50 0.0165146 - 27.50 102.50 212.50 0.0095137 - 27.50 102.50 217.50 0.00992888 - 27.50 102.50 222.50 0.0303807 - 27.50 102.50 227.50 0.111393 - 27.50 102.50 232.50 0.292626 - 27.50 102.50 237.50 0.556317 - 27.50 102.50 242.50 0.8357 - 27.50 102.50 247.50 1.03232 - 27.50 102.50 252.50 1.12423 - 27.50 102.50 257.50 1.13283 - 27.50 102.50 262.50 1.05127 - 27.50 102.50 267.50 0.58551 - 27.50 102.50 272.50 0.221571 - 27.50 102.50 277.50 0.0801705 - 27.50 102.50 282.50 0.0502739 - 27.50 102.50 287.50 0.0422024 - 27.50 102.50 292.50 0.0299219 - 27.50 102.50 297.50 0.0165146 - 27.50 102.50 302.50 0.0095137 - 27.50 102.50 307.50 0.00992888 - 27.50 102.50 312.50 0.0303807 - 27.50 102.50 317.50 0.111393 - 27.50 102.50 322.50 0.292625 - 27.50 102.50 327.50 0.556316 - 27.50 102.50 332.50 0.8357 - 27.50 102.50 337.50 1.03232 - 27.50 102.50 342.50 1.12423 - 27.50 102.50 347.50 1.13283 - 27.50 102.50 352.50 1.05127 - 27.50 102.50 357.50 0.585511 - 27.50 107.50 2.50 0.514899 - 27.50 107.50 7.50 0.193489 - 27.50 107.50 12.50 0.0841895 - 27.50 107.50 17.50 0.0665508 - 27.50 107.50 22.50 0.0377708 - 27.50 107.50 27.50 0.0141453 - 27.50 107.50 32.50 0.00714236 - 27.50 107.50 37.50 0.0104886 - 27.50 107.50 42.50 0.0356938 - 27.50 107.50 47.50 0.146692 - 27.50 107.50 52.50 0.401136 - 27.50 107.50 57.50 0.850686 - 27.50 107.50 62.50 1.48843 - 27.50 107.50 67.50 2.12693 - 27.50 107.50 72.50 2.52736 - 27.50 107.50 77.50 2.59903 - 27.50 107.50 82.50 2.0119 - 27.50 107.50 87.50 1.24612 - 27.50 107.50 92.50 0.514899 - 27.50 107.50 97.50 0.193489 - 27.50 107.50 102.50 0.0841895 - 27.50 107.50 107.50 0.0665508 - 27.50 107.50 112.50 0.0377709 - 27.50 107.50 117.50 0.0141453 - 27.50 107.50 122.50 0.00714236 - 27.50 107.50 127.50 0.0104886 - 27.50 107.50 132.50 0.0356939 - 27.50 107.50 137.50 0.146692 - 27.50 107.50 142.50 0.401136 - 27.50 107.50 147.50 0.850686 - 27.50 107.50 152.50 1.48843 - 27.50 107.50 157.50 2.12693 - 27.50 107.50 162.50 2.52736 - 27.50 107.50 167.50 2.59903 - 27.50 107.50 172.50 2.0119 - 27.50 107.50 177.50 1.24612 - 27.50 107.50 182.50 0.514899 - 27.50 107.50 187.50 0.193489 - 27.50 107.50 192.50 0.0841896 - 27.50 107.50 197.50 0.0665509 - 27.50 107.50 202.50 0.0377708 - 27.50 107.50 207.50 0.0141453 - 27.50 107.50 212.50 0.00714236 - 27.50 107.50 217.50 0.0104885 - 27.50 107.50 222.50 0.0356937 - 27.50 107.50 227.50 0.146692 - 27.50 107.50 232.50 0.401137 - 27.50 107.50 237.50 0.850687 - 27.50 107.50 242.50 1.48843 - 27.50 107.50 247.50 2.12693 - 27.50 107.50 252.50 2.52736 - 27.50 107.50 257.50 2.59903 - 27.50 107.50 262.50 2.0119 - 27.50 107.50 267.50 1.24612 - 27.50 107.50 272.50 0.514899 - 27.50 107.50 277.50 0.193489 - 27.50 107.50 282.50 0.0841895 - 27.50 107.50 287.50 0.0665508 - 27.50 107.50 292.50 0.0377709 - 27.50 107.50 297.50 0.0141453 - 27.50 107.50 302.50 0.00714236 - 27.50 107.50 307.50 0.0104885 - 27.50 107.50 312.50 0.0356937 - 27.50 107.50 317.50 0.146692 - 27.50 107.50 322.50 0.401135 - 27.50 107.50 327.50 0.850685 - 27.50 107.50 332.50 1.48843 - 27.50 107.50 337.50 2.12693 - 27.50 107.50 342.50 2.52736 - 27.50 107.50 347.50 2.59903 - 27.50 107.50 352.50 2.0119 - 27.50 107.50 357.50 1.24612 - 27.50 112.50 2.50 1.04915 - 27.50 112.50 7.50 0.418788 - 27.50 112.50 12.50 0.180152 - 27.50 112.50 17.50 0.0837818 - 27.50 112.50 22.50 0.0564973 - 27.50 112.50 27.50 0.0206744 - 27.50 112.50 32.50 0.00658605 - 27.50 112.50 37.50 0.00809187 - 27.50 112.50 42.50 0.0386529 - 27.50 112.50 47.50 0.150845 - 27.50 112.50 52.50 0.424694 - 27.50 112.50 57.50 1.04996 - 27.50 112.50 62.50 2.15279 - 27.50 112.50 67.50 3.35464 - 27.50 112.50 72.50 4.13578 - 27.50 112.50 77.50 4.07598 - 27.50 112.50 82.50 3.34987 - 27.50 112.50 87.50 2.15028 - 27.50 112.50 92.50 1.04915 - 27.50 112.50 97.50 0.418788 - 27.50 112.50 102.50 0.180152 - 27.50 112.50 107.50 0.0837817 - 27.50 112.50 112.50 0.0564973 - 27.50 112.50 117.50 0.0206743 - 27.50 112.50 122.50 0.00658604 - 27.50 112.50 127.50 0.00809187 - 27.50 112.50 132.50 0.038653 - 27.50 112.50 137.50 0.150845 - 27.50 112.50 142.50 0.424694 - 27.50 112.50 147.50 1.04996 - 27.50 112.50 152.50 2.15279 - 27.50 112.50 157.50 3.35463 - 27.50 112.50 162.50 4.13578 - 27.50 112.50 167.50 4.07598 - 27.50 112.50 172.50 3.34987 - 27.50 112.50 177.50 2.15028 - 27.50 112.50 182.50 1.04915 - 27.50 112.50 187.50 0.418788 - 27.50 112.50 192.50 0.180152 - 27.50 112.50 197.50 0.0837818 - 27.50 112.50 202.50 0.0564973 - 27.50 112.50 207.50 0.0206744 - 27.50 112.50 212.50 0.00658604 - 27.50 112.50 217.50 0.00809183 - 27.50 112.50 222.50 0.0386528 - 27.50 112.50 227.50 0.150845 - 27.50 112.50 232.50 0.424695 - 27.50 112.50 237.50 1.04996 - 27.50 112.50 242.50 2.15279 - 27.50 112.50 247.50 3.35464 - 27.50 112.50 252.50 4.13578 - 27.50 112.50 257.50 4.07598 - 27.50 112.50 262.50 3.34986 - 27.50 112.50 267.50 2.15027 - 27.50 112.50 272.50 1.04915 - 27.50 112.50 277.50 0.418788 - 27.50 112.50 282.50 0.180152 - 27.50 112.50 287.50 0.0837818 - 27.50 112.50 292.50 0.0564973 - 27.50 112.50 297.50 0.0206744 - 27.50 112.50 302.50 0.00658604 - 27.50 112.50 307.50 0.00809183 - 27.50 112.50 312.50 0.0386528 - 27.50 112.50 317.50 0.150845 - 27.50 112.50 322.50 0.424693 - 27.50 112.50 327.50 1.04995 - 27.50 112.50 332.50 2.15278 - 27.50 112.50 337.50 3.35463 - 27.50 112.50 342.50 4.13578 - 27.50 112.50 347.50 4.07598 - 27.50 112.50 352.50 3.34987 - 27.50 112.50 357.50 2.15028 - 27.50 117.50 2.50 1.82434 - 27.50 117.50 7.50 0.828257 - 27.50 117.50 12.50 0.374927 - 27.50 117.50 17.50 0.146936 - 27.50 117.50 22.50 0.0593759 - 27.50 117.50 27.50 0.0243377 - 27.50 117.50 32.50 0.00665763 - 27.50 117.50 37.50 0.00540733 - 27.50 117.50 42.50 0.0274634 - 27.50 117.50 47.50 0.11112 - 27.50 117.50 52.50 0.384126 - 27.50 117.50 57.50 1.07266 - 27.50 117.50 62.50 2.34372 - 27.50 117.50 67.50 3.86145 - 27.50 117.50 72.50 5.05497 - 27.50 117.50 77.50 5.30437 - 27.50 117.50 82.50 4.60096 - 27.50 117.50 87.50 3.30735 - 27.50 117.50 92.50 1.82434 - 27.50 117.50 97.50 0.828257 - 27.50 117.50 102.50 0.374927 - 27.50 117.50 107.50 0.146936 - 27.50 117.50 112.50 0.0593759 - 27.50 117.50 117.50 0.0243377 - 27.50 117.50 122.50 0.0066576 - 27.50 117.50 127.50 0.00540733 - 27.50 117.50 132.50 0.0274634 - 27.50 117.50 137.50 0.11112 - 27.50 117.50 142.50 0.384126 - 27.50 117.50 147.50 1.07266 - 27.50 117.50 152.50 2.34372 - 27.50 117.50 157.50 3.86145 - 27.50 117.50 162.50 5.05497 - 27.50 117.50 167.50 5.30437 - 27.50 117.50 172.50 4.60096 - 27.50 117.50 177.50 3.30736 - 27.50 117.50 182.50 1.82434 - 27.50 117.50 187.50 0.828256 - 27.50 117.50 192.50 0.374927 - 27.50 117.50 197.50 0.146936 - 27.50 117.50 202.50 0.0593759 - 27.50 117.50 207.50 0.0243377 - 27.50 117.50 212.50 0.00665763 - 27.50 117.50 217.50 0.00540732 - 27.50 117.50 222.50 0.0274634 - 27.50 117.50 227.50 0.11112 - 27.50 117.50 232.50 0.384126 - 27.50 117.50 237.50 1.07266 - 27.50 117.50 242.50 2.34372 - 27.50 117.50 247.50 3.86145 - 27.50 117.50 252.50 5.05496 - 27.50 117.50 257.50 5.30437 - 27.50 117.50 262.50 4.60096 - 27.50 117.50 267.50 3.30735 - 27.50 117.50 272.50 1.82434 - 27.50 117.50 277.50 0.828257 - 27.50 117.50 282.50 0.374927 - 27.50 117.50 287.50 0.146936 - 27.50 117.50 292.50 0.0593759 - 27.50 117.50 297.50 0.0243377 - 27.50 117.50 302.50 0.00665764 - 27.50 117.50 307.50 0.00540732 - 27.50 117.50 312.50 0.0274633 - 27.50 117.50 317.50 0.11112 - 27.50 117.50 322.50 0.384124 - 27.50 117.50 327.50 1.07266 - 27.50 117.50 332.50 2.34371 - 27.50 117.50 337.50 3.86145 - 27.50 117.50 342.50 5.05496 - 27.50 117.50 347.50 5.30437 - 27.50 117.50 352.50 4.60096 - 27.50 117.50 357.50 3.30736 - 27.50 122.50 2.50 2.76505 - 27.50 122.50 7.50 1.50963 - 27.50 122.50 12.50 0.762584 - 27.50 122.50 17.50 0.330642 - 27.50 122.50 22.50 0.124567 - 27.50 122.50 27.50 0.0450435 - 27.50 122.50 32.50 0.0170952 - 27.50 122.50 37.50 0.00573943 - 27.50 122.50 42.50 0.0111846 - 27.50 122.50 47.50 0.0497145 - 27.50 122.50 52.50 0.237939 - 27.50 122.50 57.50 0.838125 - 27.50 122.50 62.50 1.96486 - 27.50 122.50 67.50 3.60305 - 27.50 122.50 72.50 4.99965 - 27.50 122.50 77.50 5.73607 - 27.50 122.50 82.50 5.45371 - 27.50 122.50 87.50 4.4001 - 27.50 122.50 92.50 2.76505 - 27.50 122.50 97.50 1.50963 - 27.50 122.50 102.50 0.762584 - 27.50 122.50 107.50 0.330643 - 27.50 122.50 112.50 0.124567 - 27.50 122.50 117.50 0.0450434 - 27.50 122.50 122.50 0.0170952 - 27.50 122.50 127.50 0.00573944 - 27.50 122.50 132.50 0.0111846 - 27.50 122.50 137.50 0.0497145 - 27.50 122.50 142.50 0.237939 - 27.50 122.50 147.50 0.838125 - 27.50 122.50 152.50 1.96485 - 27.50 122.50 157.50 3.60304 - 27.50 122.50 162.50 4.99965 - 27.50 122.50 167.50 5.73608 - 27.50 122.50 172.50 5.45371 - 27.50 122.50 177.50 4.4001 - 27.50 122.50 182.50 2.76505 - 27.50 122.50 187.50 1.50963 - 27.50 122.50 192.50 0.762584 - 27.50 122.50 197.50 0.330643 - 27.50 122.50 202.50 0.124567 - 27.50 122.50 207.50 0.0450435 - 27.50 122.50 212.50 0.0170952 - 27.50 122.50 217.50 0.00573944 - 27.50 122.50 222.50 0.0111845 - 27.50 122.50 227.50 0.0497144 - 27.50 122.50 232.50 0.23794 - 27.50 122.50 237.50 0.838126 - 27.50 122.50 242.50 1.96486 - 27.50 122.50 247.50 3.60305 - 27.50 122.50 252.50 4.99965 - 27.50 122.50 257.50 5.73608 - 27.50 122.50 262.50 5.45371 - 27.50 122.50 267.50 4.4001 - 27.50 122.50 272.50 2.76505 - 27.50 122.50 277.50 1.50963 - 27.50 122.50 282.50 0.762584 - 27.50 122.50 287.50 0.330643 - 27.50 122.50 292.50 0.124567 - 27.50 122.50 297.50 0.0450436 - 27.50 122.50 302.50 0.0170952 - 27.50 122.50 307.50 0.00573944 - 27.50 122.50 312.50 0.0111845 - 27.50 122.50 317.50 0.0497144 - 27.50 122.50 322.50 0.237939 - 27.50 122.50 327.50 0.838122 - 27.50 122.50 332.50 1.96485 - 27.50 122.50 337.50 3.60304 - 27.50 122.50 342.50 4.99965 - 27.50 122.50 347.50 5.73607 - 27.50 122.50 352.50 5.45371 - 27.50 122.50 357.50 4.4001 - 27.50 127.50 2.50 3.78322 - 27.50 127.50 7.50 2.53104 - 27.50 127.50 12.50 1.45216 - 27.50 127.50 17.50 0.731469 - 27.50 127.50 22.50 0.323166 - 27.50 127.50 27.50 0.129212 - 27.50 127.50 32.50 0.0449127 - 27.50 127.50 37.50 0.0103397 - 27.50 127.50 42.50 0.00479201 - 27.50 127.50 47.50 0.0254932 - 27.50 127.50 52.50 0.130981 - 27.50 127.50 57.50 0.496881 - 27.50 127.50 62.50 1.36783 - 27.50 127.50 67.50 2.66685 - 27.50 127.50 72.50 4.10428 - 27.50 127.50 77.50 5.20794 - 27.50 127.50 82.50 5.66989 - 27.50 127.50 87.50 5.09999 - 27.50 127.50 92.50 3.78322 - 27.50 127.50 97.50 2.53104 - 27.50 127.50 102.50 1.45216 - 27.50 127.50 107.50 0.731468 - 27.50 127.50 112.50 0.323166 - 27.50 127.50 117.50 0.129212 - 27.50 127.50 122.50 0.0449127 - 27.50 127.50 127.50 0.0103397 - 27.50 127.50 132.50 0.00479201 - 27.50 127.50 137.50 0.0254932 - 27.50 127.50 142.50 0.130981 - 27.50 127.50 147.50 0.496882 - 27.50 127.50 152.50 1.36783 - 27.50 127.50 157.50 2.66685 - 27.50 127.50 162.50 4.10428 - 27.50 127.50 167.50 5.20794 - 27.50 127.50 172.50 5.66989 - 27.50 127.50 177.50 5.09999 - 27.50 127.50 182.50 3.78322 - 27.50 127.50 187.50 2.53104 - 27.50 127.50 192.50 1.45216 - 27.50 127.50 197.50 0.731469 - 27.50 127.50 202.50 0.323165 - 27.50 127.50 207.50 0.129212 - 27.50 127.50 212.50 0.0449127 - 27.50 127.50 217.50 0.0103397 - 27.50 127.50 222.50 0.00479201 - 27.50 127.50 227.50 0.0254931 - 27.50 127.50 232.50 0.130981 - 27.50 127.50 237.50 0.496882 - 27.50 127.50 242.50 1.36784 - 27.50 127.50 247.50 2.66685 - 27.50 127.50 252.50 4.10428 - 27.50 127.50 257.50 5.20794 - 27.50 127.50 262.50 5.6699 - 27.50 127.50 267.50 5.09998 - 27.50 127.50 272.50 3.78322 - 27.50 127.50 277.50 2.53104 - 27.50 127.50 282.50 1.45216 - 27.50 127.50 287.50 0.731469 - 27.50 127.50 292.50 0.323166 - 27.50 127.50 297.50 0.129212 - 27.50 127.50 302.50 0.0449127 - 27.50 127.50 307.50 0.0103397 - 27.50 127.50 312.50 0.00479201 - 27.50 127.50 317.50 0.0254931 - 27.50 127.50 322.50 0.13098 - 27.50 127.50 327.50 0.49688 - 27.50 127.50 332.50 1.36783 - 27.50 127.50 337.50 2.66685 - 27.50 127.50 342.50 4.10427 - 27.50 127.50 347.50 5.20794 - 27.50 127.50 352.50 5.6699 - 27.50 127.50 357.50 5.09999 - 27.50 132.50 2.50 4.66762 - 27.50 132.50 7.50 3.66233 - 27.50 132.50 12.50 2.38045 - 27.50 132.50 17.50 1.35811 - 27.50 132.50 22.50 0.704983 - 27.50 132.50 27.50 0.297182 - 27.50 132.50 32.50 0.0962725 - 27.50 132.50 37.50 0.0315213 - 27.50 132.50 42.50 0.00713903 - 27.50 132.50 47.50 0.00950442 - 27.50 132.50 52.50 0.0598365 - 27.50 132.50 57.50 0.259457 - 27.50 132.50 62.50 0.749232 - 27.50 132.50 67.50 1.62258 - 27.50 132.50 72.50 2.87281 - 27.50 132.50 77.50 4.16698 - 27.50 132.50 82.50 5.20289 - 27.50 132.50 87.50 5.26632 - 27.50 132.50 92.50 4.66762 - 27.50 132.50 97.50 3.66233 - 27.50 132.50 102.50 2.38045 - 27.50 132.50 107.50 1.35811 - 27.50 132.50 112.50 0.704983 - 27.50 132.50 117.50 0.297182 - 27.50 132.50 122.50 0.0962725 - 27.50 132.50 127.50 0.0315213 - 27.50 132.50 132.50 0.00713902 - 27.50 132.50 137.50 0.00950442 - 27.50 132.50 142.50 0.0598364 - 27.50 132.50 147.50 0.259457 - 27.50 132.50 152.50 0.749231 - 27.50 132.50 157.50 1.62258 - 27.50 132.50 162.50 2.87281 - 27.50 132.50 167.50 4.16698 - 27.50 132.50 172.50 5.20289 - 27.50 132.50 177.50 5.26632 - 27.50 132.50 182.50 4.66761 - 27.50 132.50 187.50 3.66233 - 27.50 132.50 192.50 2.38045 - 27.50 132.50 197.50 1.35811 - 27.50 132.50 202.50 0.704983 - 27.50 132.50 207.50 0.297182 - 27.50 132.50 212.50 0.0962725 - 27.50 132.50 217.50 0.0315213 - 27.50 132.50 222.50 0.00713903 - 27.50 132.50 227.50 0.00950438 - 27.50 132.50 232.50 0.0598365 - 27.50 132.50 237.50 0.259457 - 27.50 132.50 242.50 0.749232 - 27.50 132.50 247.50 1.62258 - 27.50 132.50 252.50 2.87281 - 27.50 132.50 257.50 4.16698 - 27.50 132.50 262.50 5.20289 - 27.50 132.50 267.50 5.26632 - 27.50 132.50 272.50 4.66761 - 27.50 132.50 277.50 3.66233 - 27.50 132.50 282.50 2.38045 - 27.50 132.50 287.50 1.35811 - 27.50 132.50 292.50 0.704983 - 27.50 132.50 297.50 0.297183 - 27.50 132.50 302.50 0.0962726 - 27.50 132.50 307.50 0.0315213 - 27.50 132.50 312.50 0.00713904 - 27.50 132.50 317.50 0.00950437 - 27.50 132.50 322.50 0.0598362 - 27.50 132.50 327.50 0.259456 - 27.50 132.50 332.50 0.74923 - 27.50 132.50 337.50 1.62258 - 27.50 132.50 342.50 2.8728 - 27.50 132.50 347.50 4.16698 - 27.50 132.50 352.50 5.20288 - 27.50 132.50 357.50 5.26632 - 27.50 137.50 2.50 5.03542 - 27.50 137.50 7.50 4.37516 - 27.50 137.50 12.50 3.17018 - 27.50 137.50 17.50 2.07805 - 27.50 137.50 22.50 1.24718 - 27.50 137.50 27.50 0.565486 - 27.50 137.50 32.50 0.212702 - 27.50 137.50 37.50 0.0622875 - 27.50 137.50 42.50 0.0128841 - 27.50 137.50 47.50 0.00632722 - 27.50 137.50 52.50 0.019279 - 27.50 137.50 57.50 0.104638 - 27.50 137.50 62.50 0.325679 - 27.50 137.50 67.50 0.817873 - 27.50 137.50 72.50 1.74613 - 27.50 137.50 77.50 2.98267 - 27.50 137.50 82.50 4.25359 - 27.50 137.50 87.50 4.92631 - 27.50 137.50 92.50 5.03542 - 27.50 137.50 97.50 4.37515 - 27.50 137.50 102.50 3.17018 - 27.50 137.50 107.50 2.07805 - 27.50 137.50 112.50 1.24718 - 27.50 137.50 117.50 0.565486 - 27.50 137.50 122.50 0.212702 - 27.50 137.50 127.50 0.0622874 - 27.50 137.50 132.50 0.0128841 - 27.50 137.50 137.50 0.00632723 - 27.50 137.50 142.50 0.019279 - 27.50 137.50 147.50 0.104638 - 27.50 137.50 152.50 0.325678 - 27.50 137.50 157.50 0.817872 - 27.50 137.50 162.50 1.74613 - 27.50 137.50 167.50 2.98267 - 27.50 137.50 172.50 4.25359 - 27.50 137.50 177.50 4.9263 - 27.50 137.50 182.50 5.03542 - 27.50 137.50 187.50 4.37515 - 27.50 137.50 192.50 3.17018 - 27.50 137.50 197.50 2.07805 - 27.50 137.50 202.50 1.24718 - 27.50 137.50 207.50 0.565486 - 27.50 137.50 212.50 0.212702 - 27.50 137.50 217.50 0.0622876 - 27.50 137.50 222.50 0.0128841 - 27.50 137.50 227.50 0.00632723 - 27.50 137.50 232.50 0.019279 - 27.50 137.50 237.50 0.104638 - 27.50 137.50 242.50 0.325679 - 27.50 137.50 247.50 0.817873 - 27.50 137.50 252.50 1.74613 - 27.50 137.50 257.50 2.98268 - 27.50 137.50 262.50 4.25359 - 27.50 137.50 267.50 4.9263 - 27.50 137.50 272.50 5.03542 - 27.50 137.50 277.50 4.37515 - 27.50 137.50 282.50 3.17018 - 27.50 137.50 287.50 2.07805 - 27.50 137.50 292.50 1.24718 - 27.50 137.50 297.50 0.565487 - 27.50 137.50 302.50 0.212702 - 27.50 137.50 307.50 0.0622876 - 27.50 137.50 312.50 0.0128841 - 27.50 137.50 317.50 0.00632722 - 27.50 137.50 322.50 0.0192789 - 27.50 137.50 327.50 0.104637 - 27.50 137.50 332.50 0.325678 - 27.50 137.50 337.50 0.81787 - 27.50 137.50 342.50 1.74612 - 27.50 137.50 347.50 2.98267 - 27.50 137.50 352.50 4.25358 - 27.50 137.50 357.50 4.9263 - 27.50 142.50 2.50 4.66762 - 27.50 142.50 7.50 4.3612 - 27.50 142.50 12.50 3.48816 - 27.50 142.50 17.50 2.57939 - 27.50 142.50 22.50 1.73471 - 27.50 142.50 27.50 0.924129 - 27.50 142.50 32.50 0.362471 - 27.50 142.50 37.50 0.109017 - 27.50 142.50 42.50 0.0261247 - 27.50 142.50 47.50 0.00613908 - 27.50 142.50 52.50 0.00749392 - 27.50 142.50 57.50 0.0339058 - 27.50 142.50 62.50 0.121204 - 27.50 142.50 67.50 0.367173 - 27.50 142.50 72.50 0.948302 - 27.50 142.50 77.50 1.92656 - 27.50 142.50 82.50 3.10303 - 27.50 142.50 87.50 4.11607 - 27.50 142.50 92.50 4.66762 - 27.50 142.50 97.50 4.3612 - 27.50 142.50 102.50 3.48816 - 27.50 142.50 107.50 2.57939 - 27.50 142.50 112.50 1.73471 - 27.50 142.50 117.50 0.924129 - 27.50 142.50 122.50 0.362471 - 27.50 142.50 127.50 0.109017 - 27.50 142.50 132.50 0.0261247 - 27.50 142.50 137.50 0.00613909 - 27.50 142.50 142.50 0.00749392 - 27.50 142.50 147.50 0.0339058 - 27.50 142.50 152.50 0.121204 - 27.50 142.50 157.50 0.367173 - 27.50 142.50 162.50 0.9483 - 27.50 142.50 167.50 1.92656 - 27.50 142.50 172.50 3.10303 - 27.50 142.50 177.50 4.11607 - 27.50 142.50 182.50 4.66762 - 27.50 142.50 187.50 4.3612 - 27.50 142.50 192.50 3.48816 - 27.50 142.50 197.50 2.57939 - 27.50 142.50 202.50 1.73471 - 27.50 142.50 207.50 0.92413 - 27.50 142.50 212.50 0.362471 - 27.50 142.50 217.50 0.109017 - 27.50 142.50 222.50 0.0261247 - 27.50 142.50 227.50 0.0061391 - 27.50 142.50 232.50 0.00749393 - 27.50 142.50 237.50 0.0339058 - 27.50 142.50 242.50 0.121204 - 27.50 142.50 247.50 0.367173 - 27.50 142.50 252.50 0.948302 - 27.50 142.50 257.50 1.92656 - 27.50 142.50 262.50 3.10303 - 27.50 142.50 267.50 4.11607 - 27.50 142.50 272.50 4.66762 - 27.50 142.50 277.50 4.3612 - 27.50 142.50 282.50 3.48816 - 27.50 142.50 287.50 2.57939 - 27.50 142.50 292.50 1.73472 - 27.50 142.50 297.50 0.92413 - 27.50 142.50 302.50 0.362471 - 27.50 142.50 307.50 0.109017 - 27.50 142.50 312.50 0.0261247 - 27.50 142.50 317.50 0.0061391 - 27.50 142.50 322.50 0.00749389 - 27.50 142.50 327.50 0.0339056 - 27.50 142.50 332.50 0.121203 - 27.50 142.50 337.50 0.367172 - 27.50 142.50 342.50 0.948299 - 27.50 142.50 347.50 1.92655 - 27.50 142.50 352.50 3.10302 - 27.50 142.50 357.50 4.11607 - 27.50 147.50 2.50 3.78322 - 27.50 147.50 7.50 3.78813 - 27.50 147.50 12.50 3.28849 - 27.50 147.50 17.50 2.66563 - 27.50 147.50 22.50 1.9939 - 27.50 147.50 27.50 1.21261 - 27.50 147.50 32.50 0.555867 - 27.50 147.50 37.50 0.19603 - 27.50 147.50 42.50 0.058869 - 27.50 147.50 47.50 0.0180067 - 27.50 147.50 52.50 0.00654008 - 27.50 147.50 57.50 0.0109531 - 27.50 147.50 62.50 0.0418859 - 27.50 147.50 67.50 0.153926 - 27.50 147.50 72.50 0.470414 - 27.50 147.50 77.50 1.11133 - 27.50 147.50 82.50 2.02937 - 27.50 147.50 87.50 3.05865 - 27.50 147.50 92.50 3.78322 - 27.50 147.50 97.50 3.78813 - 27.50 147.50 102.50 3.28849 - 27.50 147.50 107.50 2.66563 - 27.50 147.50 112.50 1.9939 - 27.50 147.50 117.50 1.21261 - 27.50 147.50 122.50 0.555867 - 27.50 147.50 127.50 0.196029 - 27.50 147.50 132.50 0.058869 - 27.50 147.50 137.50 0.0180067 - 27.50 147.50 142.50 0.00654009 - 27.50 147.50 147.50 0.0109531 - 27.50 147.50 152.50 0.0418859 - 27.50 147.50 157.50 0.153926 - 27.50 147.50 162.50 0.470414 - 27.50 147.50 167.50 1.11133 - 27.50 147.50 172.50 2.02937 - 27.50 147.50 177.50 3.05864 - 27.50 147.50 182.50 3.78322 - 27.50 147.50 187.50 3.78813 - 27.50 147.50 192.50 3.28849 - 27.50 147.50 197.50 2.66563 - 27.50 147.50 202.50 1.9939 - 27.50 147.50 207.50 1.21261 - 27.50 147.50 212.50 0.555867 - 27.50 147.50 217.50 0.19603 - 27.50 147.50 222.50 0.058869 - 27.50 147.50 227.50 0.0180068 - 27.50 147.50 232.50 0.00654009 - 27.50 147.50 237.50 0.0109531 - 27.50 147.50 242.50 0.0418859 - 27.50 147.50 247.50 0.153926 - 27.50 147.50 252.50 0.470415 - 27.50 147.50 257.50 1.11133 - 27.50 147.50 262.50 2.02937 - 27.50 147.50 267.50 3.05865 - 27.50 147.50 272.50 3.78322 - 27.50 147.50 277.50 3.78813 - 27.50 147.50 282.50 3.28849 - 27.50 147.50 287.50 2.66563 - 27.50 147.50 292.50 1.9939 - 27.50 147.50 297.50 1.21261 - 27.50 147.50 302.50 0.555867 - 27.50 147.50 307.50 0.19603 - 27.50 147.50 312.50 0.058869 - 27.50 147.50 317.50 0.0180068 - 27.50 147.50 322.50 0.00654009 - 27.50 147.50 327.50 0.010953 - 27.50 147.50 332.50 0.0418857 - 27.50 147.50 337.50 0.153925 - 27.50 147.50 342.50 0.470413 - 27.50 147.50 347.50 1.11133 - 27.50 147.50 352.50 2.02937 - 27.50 147.50 357.50 3.05864 - 27.50 152.50 2.50 2.76505 - 27.50 152.50 7.50 2.9695 - 27.50 152.50 12.50 2.77948 - 27.50 152.50 17.50 2.49158 - 27.50 152.50 22.50 2.04972 - 27.50 152.50 27.50 1.42938 - 27.50 152.50 32.50 0.763199 - 27.50 152.50 37.50 0.334403 - 27.50 152.50 42.50 0.136774 - 27.50 152.50 47.50 0.0483446 - 27.50 152.50 52.50 0.0124351 - 27.50 152.50 57.50 0.00538732 - 27.50 152.50 62.50 0.0159059 - 27.50 152.50 67.50 0.0647095 - 27.50 152.50 72.50 0.245777 - 27.50 152.50 77.50 0.618997 - 27.50 152.50 82.50 1.30488 - 27.50 152.50 87.50 2.07379 - 27.50 152.50 92.50 2.76505 - 27.50 152.50 97.50 2.9695 - 27.50 152.50 102.50 2.77948 - 27.50 152.50 107.50 2.49158 - 27.50 152.50 112.50 2.04972 - 27.50 152.50 117.50 1.42938 - 27.50 152.50 122.50 0.763198 - 27.50 152.50 127.50 0.334403 - 27.50 152.50 132.50 0.136774 - 27.50 152.50 137.50 0.0483446 - 27.50 152.50 142.50 0.0124351 - 27.50 152.50 147.50 0.00538732 - 27.50 152.50 152.50 0.0159058 - 27.50 152.50 157.50 0.0647094 - 27.50 152.50 162.50 0.245777 - 27.50 152.50 167.50 0.618997 - 27.50 152.50 172.50 1.30488 - 27.50 152.50 177.50 2.07378 - 27.50 152.50 182.50 2.76505 - 27.50 152.50 187.50 2.9695 - 27.50 152.50 192.50 2.77948 - 27.50 152.50 197.50 2.49158 - 27.50 152.50 202.50 2.04972 - 27.50 152.50 207.50 1.42938 - 27.50 152.50 212.50 0.763199 - 27.50 152.50 217.50 0.334403 - 27.50 152.50 222.50 0.136774 - 27.50 152.50 227.50 0.0483447 - 27.50 152.50 232.50 0.0124351 - 27.50 152.50 237.50 0.00538732 - 27.50 152.50 242.50 0.0159059 - 27.50 152.50 247.50 0.0647096 - 27.50 152.50 252.50 0.245777 - 27.50 152.50 257.50 0.618998 - 27.50 152.50 262.50 1.30488 - 27.50 152.50 267.50 2.07379 - 27.50 152.50 272.50 2.76505 - 27.50 152.50 277.50 2.9695 - 27.50 152.50 282.50 2.77948 - 27.50 152.50 287.50 2.49158 - 27.50 152.50 292.50 2.04972 - 27.50 152.50 297.50 1.42938 - 27.50 152.50 302.50 0.763199 - 27.50 152.50 307.50 0.334403 - 27.50 152.50 312.50 0.136774 - 27.50 152.50 317.50 0.0483447 - 27.50 152.50 322.50 0.0124351 - 27.50 152.50 327.50 0.00538732 - 27.50 152.50 332.50 0.0159058 - 27.50 152.50 337.50 0.0647091 - 27.50 152.50 342.50 0.245776 - 27.50 152.50 347.50 0.618996 - 27.50 152.50 352.50 1.30488 - 27.50 152.50 357.50 2.07378 - 27.50 157.50 2.50 1.82434 - 27.50 157.50 7.50 2.07889 - 27.50 157.50 12.50 2.13388 - 27.50 157.50 17.50 2.09955 - 27.50 157.50 22.50 1.94329 - 27.50 157.50 27.50 1.53757 - 27.50 157.50 32.50 0.969991 - 27.50 157.50 37.50 0.522209 - 27.50 157.50 42.50 0.243473 - 27.50 157.50 47.50 0.0869077 - 27.50 157.50 52.50 0.0224209 - 27.50 157.50 57.50 0.00775408 - 27.50 157.50 62.50 0.0170085 - 27.50 157.50 67.50 0.0604166 - 27.50 157.50 72.50 0.164729 - 27.50 157.50 77.50 0.408669 - 27.50 157.50 82.50 0.835416 - 27.50 157.50 87.50 1.3143 - 27.50 157.50 92.50 1.82434 - 27.50 157.50 97.50 2.07889 - 27.50 157.50 102.50 2.13388 - 27.50 157.50 107.50 2.09955 - 27.50 157.50 112.50 1.94329 - 27.50 157.50 117.50 1.53757 - 27.50 157.50 122.50 0.969991 - 27.50 157.50 127.50 0.522209 - 27.50 157.50 132.50 0.243473 - 27.50 157.50 137.50 0.0869076 - 27.50 157.50 142.50 0.0224209 - 27.50 157.50 147.50 0.00775407 - 27.50 157.50 152.50 0.0170085 - 27.50 157.50 157.50 0.0604165 - 27.50 157.50 162.50 0.164729 - 27.50 157.50 167.50 0.408669 - 27.50 157.50 172.50 0.835416 - 27.50 157.50 177.50 1.3143 - 27.50 157.50 182.50 1.82434 - 27.50 157.50 187.50 2.07889 - 27.50 157.50 192.50 2.13388 - 27.50 157.50 197.50 2.09955 - 27.50 157.50 202.50 1.94329 - 27.50 157.50 207.50 1.53757 - 27.50 157.50 212.50 0.969991 - 27.50 157.50 217.50 0.522209 - 27.50 157.50 222.50 0.243473 - 27.50 157.50 227.50 0.0869077 - 27.50 157.50 232.50 0.0224208 - 27.50 157.50 237.50 0.00775407 - 27.50 157.50 242.50 0.0170085 - 27.50 157.50 247.50 0.0604166 - 27.50 157.50 252.50 0.164729 - 27.50 157.50 257.50 0.40867 - 27.50 157.50 262.50 0.835417 - 27.50 157.50 267.50 1.3143 - 27.50 157.50 272.50 1.82434 - 27.50 157.50 277.50 2.07889 - 27.50 157.50 282.50 2.13388 - 27.50 157.50 287.50 2.09955 - 27.50 157.50 292.50 1.94329 - 27.50 157.50 297.50 1.53757 - 27.50 157.50 302.50 0.969991 - 27.50 157.50 307.50 0.52221 - 27.50 157.50 312.50 0.243473 - 27.50 157.50 317.50 0.0869078 - 27.50 157.50 322.50 0.022421 - 27.50 157.50 327.50 0.00775407 - 27.50 157.50 332.50 0.0170084 - 27.50 157.50 337.50 0.0604164 - 27.50 157.50 342.50 0.164729 - 27.50 157.50 347.50 0.408668 - 27.50 157.50 352.50 0.835416 - 27.50 157.50 357.50 1.3143 - 27.50 162.50 2.50 1.04915 - 27.50 162.50 7.50 1.25412 - 27.50 162.50 12.50 1.42285 - 27.50 162.50 17.50 1.60219 - 27.50 162.50 22.50 1.72458 - 27.50 162.50 27.50 1.57171 - 27.50 162.50 32.50 1.1359 - 27.50 162.50 37.50 0.665951 - 27.50 162.50 42.50 0.318861 - 27.50 162.50 47.50 0.116604 - 27.50 162.50 52.50 0.03181 - 27.50 162.50 57.50 0.0167425 - 27.50 162.50 62.50 0.0459575 - 27.50 162.50 67.50 0.101257 - 27.50 162.50 72.50 0.170401 - 27.50 162.50 77.50 0.296215 - 27.50 162.50 82.50 0.486187 - 27.50 162.50 87.50 0.754685 - 27.50 162.50 92.50 1.04915 - 27.50 162.50 97.50 1.25412 - 27.50 162.50 102.50 1.42285 - 27.50 162.50 107.50 1.60219 - 27.50 162.50 112.50 1.72458 - 27.50 162.50 117.50 1.57171 - 27.50 162.50 122.50 1.1359 - 27.50 162.50 127.50 0.665951 - 27.50 162.50 132.50 0.31886 - 27.50 162.50 137.50 0.116604 - 27.50 162.50 142.50 0.03181 - 27.50 162.50 147.50 0.0167425 - 27.50 162.50 152.50 0.0459574 - 27.50 162.50 157.50 0.101257 - 27.50 162.50 162.50 0.170401 - 27.50 162.50 167.50 0.296214 - 27.50 162.50 172.50 0.486186 - 27.50 162.50 177.50 0.754685 - 27.50 162.50 182.50 1.04915 - 27.50 162.50 187.50 1.25412 - 27.50 162.50 192.50 1.42285 - 27.50 162.50 197.50 1.60219 - 27.50 162.50 202.50 1.72458 - 27.50 162.50 207.50 1.57171 - 27.50 162.50 212.50 1.1359 - 27.50 162.50 217.50 0.665951 - 27.50 162.50 222.50 0.31886 - 27.50 162.50 227.50 0.116604 - 27.50 162.50 232.50 0.0318099 - 27.50 162.50 237.50 0.0167425 - 27.50 162.50 242.50 0.0459575 - 27.50 162.50 247.50 0.101257 - 27.50 162.50 252.50 0.170401 - 27.50 162.50 257.50 0.296215 - 27.50 162.50 262.50 0.486187 - 27.50 162.50 267.50 0.754685 - 27.50 162.50 272.50 1.04915 - 27.50 162.50 277.50 1.25412 - 27.50 162.50 282.50 1.42285 - 27.50 162.50 287.50 1.60219 - 27.50 162.50 292.50 1.72458 - 27.50 162.50 297.50 1.57171 - 27.50 162.50 302.50 1.1359 - 27.50 162.50 307.50 0.665951 - 27.50 162.50 312.50 0.318861 - 27.50 162.50 317.50 0.116604 - 27.50 162.50 322.50 0.0318101 - 27.50 162.50 327.50 0.0167425 - 27.50 162.50 332.50 0.0459573 - 27.50 162.50 337.50 0.101257 - 27.50 162.50 342.50 0.170401 - 27.50 162.50 347.50 0.296214 - 27.50 162.50 352.50 0.486186 - 27.50 162.50 357.50 0.754684 - 27.50 167.50 2.50 0.514899 - 27.50 167.50 7.50 0.631548 - 27.50 167.50 12.50 0.803028 - 27.50 167.50 17.50 1.1329 - 27.50 167.50 22.50 1.48934 - 27.50 167.50 27.50 1.55515 - 27.50 167.50 32.50 1.20434 - 27.50 167.50 37.50 0.685349 - 27.50 167.50 42.50 0.312383 - 27.50 167.50 47.50 0.120831 - 27.50 167.50 52.50 0.0405364 - 27.50 167.50 57.50 0.0288061 - 27.50 167.50 62.50 0.0683477 - 27.50 167.50 67.50 0.136815 - 27.50 167.50 72.50 0.182654 - 27.50 167.50 77.50 0.207991 - 27.50 167.50 82.50 0.250634 - 27.50 167.50 87.50 0.384519 - 27.50 167.50 92.50 0.514899 - 27.50 167.50 97.50 0.631548 - 27.50 167.50 102.50 0.803029 - 27.50 167.50 107.50 1.1329 - 27.50 167.50 112.50 1.48934 - 27.50 167.50 117.50 1.55515 - 27.50 167.50 122.50 1.20434 - 27.50 167.50 127.50 0.685349 - 27.50 167.50 132.50 0.312383 - 27.50 167.50 137.50 0.120831 - 27.50 167.50 142.50 0.0405364 - 27.50 167.50 147.50 0.0288061 - 27.50 167.50 152.50 0.0683475 - 27.50 167.50 157.50 0.136815 - 27.50 167.50 162.50 0.182654 - 27.50 167.50 167.50 0.207991 - 27.50 167.50 172.50 0.250634 - 27.50 167.50 177.50 0.384519 - 27.50 167.50 182.50 0.514899 - 27.50 167.50 187.50 0.631548 - 27.50 167.50 192.50 0.803029 - 27.50 167.50 197.50 1.1329 - 27.50 167.50 202.50 1.48934 - 27.50 167.50 207.50 1.55515 - 27.50 167.50 212.50 1.20435 - 27.50 167.50 217.50 0.685349 - 27.50 167.50 222.50 0.312383 - 27.50 167.50 227.50 0.120831 - 27.50 167.50 232.50 0.0405363 - 27.50 167.50 237.50 0.0288061 - 27.50 167.50 242.50 0.0683476 - 27.50 167.50 247.50 0.136815 - 27.50 167.50 252.50 0.182654 - 27.50 167.50 257.50 0.207991 - 27.50 167.50 262.50 0.250634 - 27.50 167.50 267.50 0.384519 - 27.50 167.50 272.50 0.514899 - 27.50 167.50 277.50 0.631548 - 27.50 167.50 282.50 0.803028 - 27.50 167.50 287.50 1.1329 - 27.50 167.50 292.50 1.48934 - 27.50 167.50 297.50 1.55515 - 27.50 167.50 302.50 1.20435 - 27.50 167.50 307.50 0.68535 - 27.50 167.50 312.50 0.312383 - 27.50 167.50 317.50 0.120832 - 27.50 167.50 322.50 0.0405365 - 27.50 167.50 327.50 0.0288061 - 27.50 167.50 332.50 0.0683473 - 27.50 167.50 337.50 0.136815 - 27.50 167.50 342.50 0.182654 - 27.50 167.50 347.50 0.207991 - 27.50 167.50 352.50 0.250634 - 27.50 167.50 357.50 0.384518 - 27.50 172.50 2.50 0.221571 - 27.50 172.50 7.50 0.269639 - 27.50 172.50 12.50 0.412201 - 27.50 172.50 17.50 0.751389 - 27.50 172.50 22.50 1.19976 - 27.50 172.50 27.50 1.37472 - 27.50 172.50 32.50 1.08065 - 27.50 172.50 37.50 0.598378 - 27.50 172.50 42.50 0.2576 - 27.50 172.50 47.50 0.098424 - 27.50 172.50 52.50 0.0394887 - 27.50 172.50 57.50 0.0389615 - 27.50 172.50 62.50 0.0759865 - 27.50 172.50 67.50 0.123006 - 27.50 172.50 72.50 0.143448 - 27.50 172.50 77.50 0.133941 - 27.50 172.50 82.50 0.152442 - 27.50 172.50 87.50 0.187039 - 27.50 172.50 92.50 0.221571 - 27.50 172.50 97.50 0.269639 - 27.50 172.50 102.50 0.412201 - 27.50 172.50 107.50 0.751389 - 27.50 172.50 112.50 1.19976 - 27.50 172.50 117.50 1.37472 - 27.50 172.50 122.50 1.08065 - 27.50 172.50 127.50 0.598378 - 27.50 172.50 132.50 0.2576 - 27.50 172.50 137.50 0.098424 - 27.50 172.50 142.50 0.0394887 - 27.50 172.50 147.50 0.0389615 - 27.50 172.50 152.50 0.0759865 - 27.50 172.50 157.50 0.123005 - 27.50 172.50 162.50 0.143448 - 27.50 172.50 167.50 0.133941 - 27.50 172.50 172.50 0.152442 - 27.50 172.50 177.50 0.187039 - 27.50 172.50 182.50 0.221571 - 27.50 172.50 187.50 0.269639 - 27.50 172.50 192.50 0.412201 - 27.50 172.50 197.50 0.751389 - 27.50 172.50 202.50 1.19976 - 27.50 172.50 207.50 1.37472 - 27.50 172.50 212.50 1.08065 - 27.50 172.50 217.50 0.598379 - 27.50 172.50 222.50 0.2576 - 27.50 172.50 227.50 0.0984241 - 27.50 172.50 232.50 0.0394887 - 27.50 172.50 237.50 0.0389615 - 27.50 172.50 242.50 0.0759865 - 27.50 172.50 247.50 0.123006 - 27.50 172.50 252.50 0.143448 - 27.50 172.50 257.50 0.133941 - 27.50 172.50 262.50 0.152442 - 27.50 172.50 267.50 0.187039 - 27.50 172.50 272.50 0.221571 - 27.50 172.50 277.50 0.269639 - 27.50 172.50 282.50 0.412201 - 27.50 172.50 287.50 0.751388 - 27.50 172.50 292.50 1.19976 - 27.50 172.50 297.50 1.37472 - 27.50 172.50 302.50 1.08065 - 27.50 172.50 307.50 0.598379 - 27.50 172.50 312.50 0.2576 - 27.50 172.50 317.50 0.0984242 - 27.50 172.50 322.50 0.0394888 - 27.50 172.50 327.50 0.0389614 - 27.50 172.50 332.50 0.0759863 - 27.50 172.50 337.50 0.123005 - 27.50 172.50 342.50 0.143448 - 27.50 172.50 347.50 0.133941 - 27.50 172.50 352.50 0.152442 - 27.50 172.50 357.50 0.187039 - 27.50 177.50 2.50 0.0874278 - 27.50 177.50 7.50 0.106432 - 27.50 177.50 12.50 0.209006 - 27.50 177.50 17.50 0.478809 - 27.50 177.50 22.50 0.862379 - 27.50 177.50 27.50 1.05029 - 27.50 177.50 32.50 0.83073 - 27.50 177.50 37.50 0.436529 - 27.50 177.50 42.50 0.173647 - 27.50 177.50 47.50 0.0686876 - 27.50 177.50 52.50 0.0398713 - 27.50 177.50 57.50 0.0444076 - 27.50 177.50 62.50 0.0638135 - 27.50 177.50 67.50 0.0873953 - 27.50 177.50 72.50 0.0982883 - 27.50 177.50 77.50 0.10012 - 27.50 177.50 82.50 0.0973619 - 27.50 177.50 87.50 0.091209 - 27.50 177.50 92.50 0.0874277 - 27.50 177.50 97.50 0.106432 - 27.50 177.50 102.50 0.209006 - 27.50 177.50 107.50 0.478809 - 27.50 177.50 112.50 0.862379 - 27.50 177.50 117.50 1.05029 - 27.50 177.50 122.50 0.830729 - 27.50 177.50 127.50 0.436529 - 27.50 177.50 132.50 0.173647 - 27.50 177.50 137.50 0.0686876 - 27.50 177.50 142.50 0.0398712 - 27.50 177.50 147.50 0.0444076 - 27.50 177.50 152.50 0.0638134 - 27.50 177.50 157.50 0.0873953 - 27.50 177.50 162.50 0.0982883 - 27.50 177.50 167.50 0.10012 - 27.50 177.50 172.50 0.0973619 - 27.50 177.50 177.50 0.0912091 - 27.50 177.50 182.50 0.0874277 - 27.50 177.50 187.50 0.106432 - 27.50 177.50 192.50 0.209006 - 27.50 177.50 197.50 0.478809 - 27.50 177.50 202.50 0.86238 - 27.50 177.50 207.50 1.05029 - 27.50 177.50 212.50 0.83073 - 27.50 177.50 217.50 0.436529 - 27.50 177.50 222.50 0.173647 - 27.50 177.50 227.50 0.0686876 - 27.50 177.50 232.50 0.0398712 - 27.50 177.50 237.50 0.0444076 - 27.50 177.50 242.50 0.0638134 - 27.50 177.50 247.50 0.0873952 - 27.50 177.50 252.50 0.0982884 - 27.50 177.50 257.50 0.10012 - 27.50 177.50 262.50 0.097362 - 27.50 177.50 267.50 0.0912091 - 27.50 177.50 272.50 0.0874277 - 27.50 177.50 277.50 0.106432 - 27.50 177.50 282.50 0.209006 - 27.50 177.50 287.50 0.478809 - 27.50 177.50 292.50 0.862379 - 27.50 177.50 297.50 1.05029 - 27.50 177.50 302.50 0.830731 - 27.50 177.50 307.50 0.43653 - 27.50 177.50 312.50 0.173647 - 27.50 177.50 317.50 0.0686876 - 27.50 177.50 322.50 0.0398713 - 27.50 177.50 327.50 0.0444076 - 27.50 177.50 332.50 0.0638133 - 27.50 177.50 337.50 0.0873951 - 27.50 177.50 342.50 0.0982884 - 27.50 177.50 347.50 0.10012 - 27.50 177.50 352.50 0.097362 - 27.50 177.50 357.50 0.0912091 - 32.50 2.50 2.50 0.0601603 - 32.50 2.50 7.50 0.0760385 - 32.50 2.50 12.50 0.083846 - 32.50 2.50 17.50 0.084539 - 32.50 2.50 22.50 0.083846 - 32.50 2.50 27.50 0.0760385 - 32.50 2.50 32.50 0.0601603 - 32.50 2.50 37.50 0.0485219 - 32.50 2.50 42.50 0.0624686 - 32.50 2.50 47.50 0.149977 - 32.50 2.50 52.50 0.393272 - 32.50 2.50 57.50 0.773179 - 32.50 2.50 62.50 0.980476 - 32.50 2.50 67.50 0.773178 - 32.50 2.50 72.50 0.393272 - 32.50 2.50 77.50 0.149977 - 32.50 2.50 82.50 0.0624686 - 32.50 2.50 87.50 0.0485219 - 32.50 2.50 92.50 0.0601603 - 32.50 2.50 97.50 0.0760386 - 32.50 2.50 102.50 0.083846 - 32.50 2.50 107.50 0.084539 - 32.50 2.50 112.50 0.083846 - 32.50 2.50 117.50 0.0760385 - 32.50 2.50 122.50 0.0601603 - 32.50 2.50 127.50 0.0485219 - 32.50 2.50 132.50 0.0624686 - 32.50 2.50 137.50 0.149977 - 32.50 2.50 142.50 0.393273 - 32.50 2.50 147.50 0.773179 - 32.50 2.50 152.50 0.980476 - 32.50 2.50 157.50 0.773179 - 32.50 2.50 162.50 0.393272 - 32.50 2.50 167.50 0.149977 - 32.50 2.50 172.50 0.0624686 - 32.50 2.50 177.50 0.0485219 - 32.50 2.50 182.50 0.0601603 - 32.50 2.50 187.50 0.0760386 - 32.50 2.50 192.50 0.083846 - 32.50 2.50 197.50 0.084539 - 32.50 2.50 202.50 0.083846 - 32.50 2.50 207.50 0.0760385 - 32.50 2.50 212.50 0.0601603 - 32.50 2.50 217.50 0.0485219 - 32.50 2.50 222.50 0.0624685 - 32.50 2.50 227.50 0.149977 - 32.50 2.50 232.50 0.393274 - 32.50 2.50 237.50 0.773179 - 32.50 2.50 242.50 0.980476 - 32.50 2.50 247.50 0.773178 - 32.50 2.50 252.50 0.393272 - 32.50 2.50 257.50 0.149977 - 32.50 2.50 262.50 0.0624685 - 32.50 2.50 267.50 0.048522 - 32.50 2.50 272.50 0.0601603 - 32.50 2.50 277.50 0.0760386 - 32.50 2.50 282.50 0.083846 - 32.50 2.50 287.50 0.084539 - 32.50 2.50 292.50 0.083846 - 32.50 2.50 297.50 0.0760385 - 32.50 2.50 302.50 0.0601603 - 32.50 2.50 307.50 0.0485219 - 32.50 2.50 312.50 0.0624685 - 32.50 2.50 317.50 0.149977 - 32.50 2.50 322.50 0.393272 - 32.50 2.50 327.50 0.773178 - 32.50 2.50 332.50 0.980476 - 32.50 2.50 337.50 0.773179 - 32.50 2.50 342.50 0.393273 - 32.50 2.50 347.50 0.149977 - 32.50 2.50 352.50 0.0624686 - 32.50 2.50 357.50 0.0485219 - 32.50 7.50 2.50 0.100121 - 32.50 7.50 7.50 0.106232 - 32.50 7.50 12.50 0.106938 - 32.50 7.50 17.50 0.105452 - 32.50 7.50 22.50 0.0979375 - 32.50 7.50 27.50 0.0748373 - 32.50 7.50 32.50 0.0465597 - 32.50 7.50 37.50 0.041079 - 32.50 7.50 42.50 0.07184 - 32.50 7.50 47.50 0.173853 - 32.50 7.50 52.50 0.416235 - 32.50 7.50 57.50 0.781004 - 32.50 7.50 62.50 1.00586 - 32.50 7.50 67.50 0.859325 - 32.50 7.50 72.50 0.502348 - 32.50 7.50 77.50 0.226978 - 32.50 7.50 82.50 0.114763 - 32.50 7.50 87.50 0.0945823 - 32.50 7.50 92.50 0.100121 - 32.50 7.50 97.50 0.106232 - 32.50 7.50 102.50 0.106938 - 32.50 7.50 107.50 0.105452 - 32.50 7.50 112.50 0.0979375 - 32.50 7.50 117.50 0.0748372 - 32.50 7.50 122.50 0.0465597 - 32.50 7.50 127.50 0.041079 - 32.50 7.50 132.50 0.0718401 - 32.50 7.50 137.50 0.173853 - 32.50 7.50 142.50 0.416235 - 32.50 7.50 147.50 0.781004 - 32.50 7.50 152.50 1.00586 - 32.50 7.50 157.50 0.859325 - 32.50 7.50 162.50 0.502348 - 32.50 7.50 167.50 0.226978 - 32.50 7.50 172.50 0.114763 - 32.50 7.50 177.50 0.0945823 - 32.50 7.50 182.50 0.100121 - 32.50 7.50 187.50 0.106232 - 32.50 7.50 192.50 0.106938 - 32.50 7.50 197.50 0.105452 - 32.50 7.50 202.50 0.0979376 - 32.50 7.50 207.50 0.0748373 - 32.50 7.50 212.50 0.0465597 - 32.50 7.50 217.50 0.041079 - 32.50 7.50 222.50 0.0718399 - 32.50 7.50 227.50 0.173853 - 32.50 7.50 232.50 0.416235 - 32.50 7.50 237.50 0.781005 - 32.50 7.50 242.50 1.00586 - 32.50 7.50 247.50 0.859324 - 32.50 7.50 252.50 0.502347 - 32.50 7.50 257.50 0.226977 - 32.50 7.50 262.50 0.114763 - 32.50 7.50 267.50 0.0945823 - 32.50 7.50 272.50 0.100121 - 32.50 7.50 277.50 0.106232 - 32.50 7.50 282.50 0.106938 - 32.50 7.50 287.50 0.105452 - 32.50 7.50 292.50 0.0979375 - 32.50 7.50 297.50 0.0748372 - 32.50 7.50 302.50 0.0465596 - 32.50 7.50 307.50 0.041079 - 32.50 7.50 312.50 0.0718399 - 32.50 7.50 317.50 0.173853 - 32.50 7.50 322.50 0.416234 - 32.50 7.50 327.50 0.781004 - 32.50 7.50 332.50 1.00586 - 32.50 7.50 337.50 0.859325 - 32.50 7.50 342.50 0.502348 - 32.50 7.50 347.50 0.226978 - 32.50 7.50 352.50 0.114763 - 32.50 7.50 357.50 0.0945823 - 32.50 12.50 2.50 0.23184 - 32.50 12.50 7.50 0.195649 - 32.50 12.50 12.50 0.163188 - 32.50 12.50 17.50 0.150042 - 32.50 12.50 22.50 0.140385 - 32.50 12.50 27.50 0.0951406 - 32.50 12.50 32.50 0.0498096 - 32.50 12.50 37.50 0.044108 - 32.50 12.50 42.50 0.100429 - 32.50 12.50 47.50 0.252107 - 32.50 12.50 52.50 0.562383 - 32.50 12.50 57.50 1.00249 - 32.50 12.50 62.50 1.30522 - 32.50 12.50 67.50 1.20655 - 32.50 12.50 72.50 0.815158 - 32.50 12.50 77.50 0.461096 - 32.50 12.50 82.50 0.304766 - 32.50 12.50 87.50 0.259509 - 32.50 12.50 92.50 0.23184 - 32.50 12.50 97.50 0.195649 - 32.50 12.50 102.50 0.163188 - 32.50 12.50 107.50 0.150042 - 32.50 12.50 112.50 0.140385 - 32.50 12.50 117.50 0.0951406 - 32.50 12.50 122.50 0.0498095 - 32.50 12.50 127.50 0.044108 - 32.50 12.50 132.50 0.100429 - 32.50 12.50 137.50 0.252107 - 32.50 12.50 142.50 0.562383 - 32.50 12.50 147.50 1.00249 - 32.50 12.50 152.50 1.30522 - 32.50 12.50 157.50 1.20655 - 32.50 12.50 162.50 0.815158 - 32.50 12.50 167.50 0.461096 - 32.50 12.50 172.50 0.304766 - 32.50 12.50 177.50 0.259509 - 32.50 12.50 182.50 0.23184 - 32.50 12.50 187.50 0.195649 - 32.50 12.50 192.50 0.163188 - 32.50 12.50 197.50 0.150042 - 32.50 12.50 202.50 0.140385 - 32.50 12.50 207.50 0.0951406 - 32.50 12.50 212.50 0.0498096 - 32.50 12.50 217.50 0.044108 - 32.50 12.50 222.50 0.100429 - 32.50 12.50 227.50 0.252107 - 32.50 12.50 232.50 0.562384 - 32.50 12.50 237.50 1.00249 - 32.50 12.50 242.50 1.30522 - 32.50 12.50 247.50 1.20655 - 32.50 12.50 252.50 0.815158 - 32.50 12.50 257.50 0.461095 - 32.50 12.50 262.50 0.304766 - 32.50 12.50 267.50 0.259509 - 32.50 12.50 272.50 0.23184 - 32.50 12.50 277.50 0.195649 - 32.50 12.50 282.50 0.163188 - 32.50 12.50 287.50 0.150042 - 32.50 12.50 292.50 0.140385 - 32.50 12.50 297.50 0.0951407 - 32.50 12.50 302.50 0.0498096 - 32.50 12.50 307.50 0.044108 - 32.50 12.50 312.50 0.100429 - 32.50 12.50 317.50 0.252107 - 32.50 12.50 322.50 0.562383 - 32.50 12.50 327.50 1.00249 - 32.50 12.50 332.50 1.30522 - 32.50 12.50 337.50 1.20655 - 32.50 12.50 342.50 0.815159 - 32.50 12.50 347.50 0.461096 - 32.50 12.50 352.50 0.304766 - 32.50 12.50 357.50 0.259509 - 32.50 17.50 2.50 0.522419 - 32.50 17.50 7.50 0.373755 - 32.50 17.50 12.50 0.241365 - 32.50 17.50 17.50 0.207394 - 32.50 17.50 22.50 0.167805 - 32.50 17.50 27.50 0.0978279 - 32.50 17.50 32.50 0.0377468 - 32.50 17.50 37.50 0.0400304 - 32.50 17.50 42.50 0.116219 - 32.50 17.50 47.50 0.296413 - 32.50 17.50 52.50 0.631521 - 32.50 17.50 57.50 1.10734 - 32.50 17.50 62.50 1.49764 - 32.50 17.50 67.50 1.52127 - 32.50 17.50 72.50 1.23581 - 32.50 17.50 77.50 0.925448 - 32.50 17.50 82.50 0.737724 - 32.50 17.50 87.50 0.63704 - 32.50 17.50 92.50 0.522419 - 32.50 17.50 97.50 0.373755 - 32.50 17.50 102.50 0.241365 - 32.50 17.50 107.50 0.207394 - 32.50 17.50 112.50 0.167805 - 32.50 17.50 117.50 0.0978279 - 32.50 17.50 122.50 0.0377467 - 32.50 17.50 127.50 0.0400304 - 32.50 17.50 132.50 0.116219 - 32.50 17.50 137.50 0.296413 - 32.50 17.50 142.50 0.631521 - 32.50 17.50 147.50 1.10734 - 32.50 17.50 152.50 1.49764 - 32.50 17.50 157.50 1.52127 - 32.50 17.50 162.50 1.23582 - 32.50 17.50 167.50 0.925448 - 32.50 17.50 172.50 0.737724 - 32.50 17.50 177.50 0.63704 - 32.50 17.50 182.50 0.522419 - 32.50 17.50 187.50 0.373755 - 32.50 17.50 192.50 0.241365 - 32.50 17.50 197.50 0.207394 - 32.50 17.50 202.50 0.167805 - 32.50 17.50 207.50 0.0978279 - 32.50 17.50 212.50 0.0377468 - 32.50 17.50 217.50 0.0400304 - 32.50 17.50 222.50 0.116219 - 32.50 17.50 227.50 0.296413 - 32.50 17.50 232.50 0.631522 - 32.50 17.50 237.50 1.10735 - 32.50 17.50 242.50 1.49764 - 32.50 17.50 247.50 1.52127 - 32.50 17.50 252.50 1.23581 - 32.50 17.50 257.50 0.925447 - 32.50 17.50 262.50 0.737724 - 32.50 17.50 267.50 0.63704 - 32.50 17.50 272.50 0.522419 - 32.50 17.50 277.50 0.373755 - 32.50 17.50 282.50 0.241365 - 32.50 17.50 287.50 0.207394 - 32.50 17.50 292.50 0.167805 - 32.50 17.50 297.50 0.097828 - 32.50 17.50 302.50 0.0377468 - 32.50 17.50 307.50 0.0400304 - 32.50 17.50 312.50 0.116219 - 32.50 17.50 317.50 0.296412 - 32.50 17.50 322.50 0.63152 - 32.50 17.50 327.50 1.10734 - 32.50 17.50 332.50 1.49764 - 32.50 17.50 337.50 1.52127 - 32.50 17.50 342.50 1.23582 - 32.50 17.50 347.50 0.925448 - 32.50 17.50 352.50 0.737725 - 32.50 17.50 357.50 0.63704 - 32.50 22.50 2.50 1.09345 - 32.50 22.50 7.50 0.717939 - 32.50 22.50 12.50 0.412756 - 32.50 22.50 17.50 0.239148 - 32.50 22.50 22.50 0.13557 - 32.50 22.50 27.50 0.066261 - 32.50 22.50 32.50 0.0246356 - 32.50 22.50 37.50 0.0269771 - 32.50 22.50 42.50 0.097123 - 32.50 22.50 47.50 0.278606 - 32.50 22.50 52.50 0.595059 - 32.50 22.50 57.50 1.02935 - 32.50 22.50 62.50 1.48599 - 32.50 22.50 67.50 1.74574 - 32.50 22.50 72.50 1.72818 - 32.50 22.50 77.50 1.61428 - 32.50 22.50 82.50 1.52053 - 32.50 22.50 87.50 1.35571 - 32.50 22.50 92.50 1.09345 - 32.50 22.50 97.50 0.71794 - 32.50 22.50 102.50 0.412756 - 32.50 22.50 107.50 0.239148 - 32.50 22.50 112.50 0.13557 - 32.50 22.50 117.50 0.066261 - 32.50 22.50 122.50 0.0246355 - 32.50 22.50 127.50 0.0269771 - 32.50 22.50 132.50 0.097123 - 32.50 22.50 137.50 0.278606 - 32.50 22.50 142.50 0.595059 - 32.50 22.50 147.50 1.02935 - 32.50 22.50 152.50 1.48599 - 32.50 22.50 157.50 1.74574 - 32.50 22.50 162.50 1.72818 - 32.50 22.50 167.50 1.61428 - 32.50 22.50 172.50 1.52053 - 32.50 22.50 177.50 1.35571 - 32.50 22.50 182.50 1.09345 - 32.50 22.50 187.50 0.717939 - 32.50 22.50 192.50 0.412756 - 32.50 22.50 197.50 0.239148 - 32.50 22.50 202.50 0.13557 - 32.50 22.50 207.50 0.066261 - 32.50 22.50 212.50 0.0246356 - 32.50 22.50 217.50 0.0269771 - 32.50 22.50 222.50 0.0971229 - 32.50 22.50 227.50 0.278606 - 32.50 22.50 232.50 0.59506 - 32.50 22.50 237.50 1.02935 - 32.50 22.50 242.50 1.48599 - 32.50 22.50 247.50 1.74574 - 32.50 22.50 252.50 1.72818 - 32.50 22.50 257.50 1.61428 - 32.50 22.50 262.50 1.52053 - 32.50 22.50 267.50 1.35571 - 32.50 22.50 272.50 1.09345 - 32.50 22.50 277.50 0.71794 - 32.50 22.50 282.50 0.412756 - 32.50 22.50 287.50 0.239148 - 32.50 22.50 292.50 0.13557 - 32.50 22.50 297.50 0.0662611 - 32.50 22.50 302.50 0.0246356 - 32.50 22.50 307.50 0.0269771 - 32.50 22.50 312.50 0.0971228 - 32.50 22.50 317.50 0.278606 - 32.50 22.50 322.50 0.595059 - 32.50 22.50 327.50 1.02935 - 32.50 22.50 332.50 1.48599 - 32.50 22.50 337.50 1.74574 - 32.50 22.50 342.50 1.72818 - 32.50 22.50 347.50 1.61428 - 32.50 22.50 352.50 1.52053 - 32.50 22.50 357.50 1.35571 - 32.50 27.50 2.50 1.96804 - 32.50 27.50 7.50 1.24071 - 32.50 27.50 12.50 0.671076 - 32.50 27.50 17.50 0.279702 - 32.50 27.50 22.50 0.0981173 - 32.50 27.50 27.50 0.0316822 - 32.50 27.50 32.50 0.00850378 - 32.50 27.50 37.50 0.0142588 - 32.50 27.50 42.50 0.0644322 - 32.50 27.50 47.50 0.195391 - 32.50 27.50 52.50 0.435607 - 32.50 27.50 57.50 0.833258 - 32.50 27.50 62.50 1.40128 - 32.50 27.50 67.50 1.89582 - 32.50 27.50 72.50 2.16923 - 32.50 27.50 77.50 2.38837 - 32.50 27.50 82.50 2.5334 - 32.50 27.50 87.50 2.42077 - 32.50 27.50 92.50 1.96804 - 32.50 27.50 97.50 1.24071 - 32.50 27.50 102.50 0.671075 - 32.50 27.50 107.50 0.279702 - 32.50 27.50 112.50 0.0981173 - 32.50 27.50 117.50 0.0316822 - 32.50 27.50 122.50 0.00850377 - 32.50 27.50 127.50 0.0142587 - 32.50 27.50 132.50 0.0644322 - 32.50 27.50 137.50 0.195391 - 32.50 27.50 142.50 0.435607 - 32.50 27.50 147.50 0.833258 - 32.50 27.50 152.50 1.40128 - 32.50 27.50 157.50 1.89582 - 32.50 27.50 162.50 2.16923 - 32.50 27.50 167.50 2.38837 - 32.50 27.50 172.50 2.5334 - 32.50 27.50 177.50 2.42077 - 32.50 27.50 182.50 1.96803 - 32.50 27.50 187.50 1.24071 - 32.50 27.50 192.50 0.671075 - 32.50 27.50 197.50 0.279702 - 32.50 27.50 202.50 0.0981173 - 32.50 27.50 207.50 0.0316823 - 32.50 27.50 212.50 0.00850379 - 32.50 27.50 217.50 0.0142588 - 32.50 27.50 222.50 0.0644322 - 32.50 27.50 227.50 0.195391 - 32.50 27.50 232.50 0.435608 - 32.50 27.50 237.50 0.833259 - 32.50 27.50 242.50 1.40128 - 32.50 27.50 247.50 1.89582 - 32.50 27.50 252.50 2.16923 - 32.50 27.50 257.50 2.38837 - 32.50 27.50 262.50 2.5334 - 32.50 27.50 267.50 2.42077 - 32.50 27.50 272.50 1.96803 - 32.50 27.50 277.50 1.24071 - 32.50 27.50 282.50 0.671075 - 32.50 27.50 287.50 0.279702 - 32.50 27.50 292.50 0.0981173 - 32.50 27.50 297.50 0.0316823 - 32.50 27.50 302.50 0.00850379 - 32.50 27.50 307.50 0.0142587 - 32.50 27.50 312.50 0.0644321 - 32.50 27.50 317.50 0.195391 - 32.50 27.50 322.50 0.435607 - 32.50 27.50 327.50 0.833257 - 32.50 27.50 332.50 1.40128 - 32.50 27.50 337.50 1.89582 - 32.50 27.50 342.50 2.16923 - 32.50 27.50 347.50 2.38837 - 32.50 27.50 352.50 2.5334 - 32.50 27.50 357.50 2.42077 - 32.50 32.50 2.50 2.99998 - 32.50 32.50 7.50 1.90997 - 32.50 32.50 12.50 1.02375 - 32.50 32.50 17.50 0.398624 - 32.50 32.50 22.50 0.12523 - 32.50 32.50 27.50 0.0277001 - 32.50 32.50 32.50 0.00676334 - 32.50 32.50 37.50 0.0075523 - 32.50 32.50 42.50 0.0288181 - 32.50 32.50 47.50 0.0970908 - 32.50 32.50 52.50 0.252065 - 32.50 32.50 57.50 0.590123 - 32.50 32.50 62.50 1.18313 - 32.50 32.50 67.50 1.85573 - 32.50 32.50 72.50 2.38047 - 32.50 32.50 77.50 3.01306 - 32.50 32.50 82.50 3.52469 - 32.50 32.50 87.50 3.62013 - 32.50 32.50 92.50 2.99998 - 32.50 32.50 97.50 1.90997 - 32.50 32.50 102.50 1.02375 - 32.50 32.50 107.50 0.398625 - 32.50 32.50 112.50 0.12523 - 32.50 32.50 117.50 0.0277001 - 32.50 32.50 122.50 0.00676333 - 32.50 32.50 127.50 0.00755231 - 32.50 32.50 132.50 0.0288181 - 32.50 32.50 137.50 0.0970908 - 32.50 32.50 142.50 0.252065 - 32.50 32.50 147.50 0.590123 - 32.50 32.50 152.50 1.18313 - 32.50 32.50 157.50 1.85572 - 32.50 32.50 162.50 2.38047 - 32.50 32.50 167.50 3.01306 - 32.50 32.50 172.50 3.52469 - 32.50 32.50 177.50 3.62013 - 32.50 32.50 182.50 2.99998 - 32.50 32.50 187.50 1.90996 - 32.50 32.50 192.50 1.02375 - 32.50 32.50 197.50 0.398624 - 32.50 32.50 202.50 0.12523 - 32.50 32.50 207.50 0.0277001 - 32.50 32.50 212.50 0.00676333 - 32.50 32.50 217.50 0.00755232 - 32.50 32.50 222.50 0.0288181 - 32.50 32.50 227.50 0.0970908 - 32.50 32.50 232.50 0.252066 - 32.50 32.50 237.50 0.590123 - 32.50 32.50 242.50 1.18313 - 32.50 32.50 247.50 1.85573 - 32.50 32.50 252.50 2.38047 - 32.50 32.50 257.50 3.01306 - 32.50 32.50 262.50 3.52468 - 32.50 32.50 267.50 3.62013 - 32.50 32.50 272.50 2.99998 - 32.50 32.50 277.50 1.90997 - 32.50 32.50 282.50 1.02375 - 32.50 32.50 287.50 0.398625 - 32.50 32.50 292.50 0.12523 - 32.50 32.50 297.50 0.0277002 - 32.50 32.50 302.50 0.00676334 - 32.50 32.50 307.50 0.0075523 - 32.50 32.50 312.50 0.028818 - 32.50 32.50 317.50 0.0970906 - 32.50 32.50 322.50 0.252065 - 32.50 32.50 327.50 0.590122 - 32.50 32.50 332.50 1.18313 - 32.50 32.50 337.50 1.85572 - 32.50 32.50 342.50 2.38047 - 32.50 32.50 347.50 3.01306 - 32.50 32.50 352.50 3.52468 - 32.50 32.50 357.50 3.62013 - 32.50 37.50 2.50 3.97879 - 32.50 37.50 7.50 2.71873 - 32.50 37.50 12.50 1.56092 - 32.50 37.50 17.50 0.710543 - 32.50 37.50 22.50 0.254908 - 32.50 37.50 27.50 0.0727312 - 32.50 37.50 32.50 0.0192987 - 32.50 37.50 37.50 0.0059582 - 32.50 37.50 42.50 0.00985911 - 32.50 37.50 47.50 0.0338126 - 32.50 37.50 52.50 0.118135 - 32.50 37.50 57.50 0.374936 - 32.50 37.50 62.50 0.888364 - 32.50 37.50 67.50 1.60326 - 32.50 37.50 72.50 2.39561 - 32.50 37.50 77.50 3.31617 - 32.50 37.50 82.50 4.256 - 32.50 37.50 87.50 4.60371 - 32.50 37.50 92.50 3.97879 - 32.50 37.50 97.50 2.71873 - 32.50 37.50 102.50 1.56092 - 32.50 37.50 107.50 0.710543 - 32.50 37.50 112.50 0.254908 - 32.50 37.50 117.50 0.0727311 - 32.50 37.50 122.50 0.0192987 - 32.50 37.50 127.50 0.00595819 - 32.50 37.50 132.50 0.00985912 - 32.50 37.50 137.50 0.0338126 - 32.50 37.50 142.50 0.118135 - 32.50 37.50 147.50 0.374936 - 32.50 37.50 152.50 0.888363 - 32.50 37.50 157.50 1.60325 - 32.50 37.50 162.50 2.39561 - 32.50 37.50 167.50 3.31617 - 32.50 37.50 172.50 4.256 - 32.50 37.50 177.50 4.6037 - 32.50 37.50 182.50 3.97878 - 32.50 37.50 187.50 2.71873 - 32.50 37.50 192.50 1.56092 - 32.50 37.50 197.50 0.710543 - 32.50 37.50 202.50 0.254908 - 32.50 37.50 207.50 0.0727312 - 32.50 37.50 212.50 0.0192987 - 32.50 37.50 217.50 0.0059582 - 32.50 37.50 222.50 0.00985911 - 32.50 37.50 227.50 0.0338126 - 32.50 37.50 232.50 0.118135 - 32.50 37.50 237.50 0.374937 - 32.50 37.50 242.50 0.888365 - 32.50 37.50 247.50 1.60326 - 32.50 37.50 252.50 2.39561 - 32.50 37.50 257.50 3.31617 - 32.50 37.50 262.50 4.256 - 32.50 37.50 267.50 4.6037 - 32.50 37.50 272.50 3.97879 - 32.50 37.50 277.50 2.71873 - 32.50 37.50 282.50 1.56092 - 32.50 37.50 287.50 0.710543 - 32.50 37.50 292.50 0.254908 - 32.50 37.50 297.50 0.0727312 - 32.50 37.50 302.50 0.0192987 - 32.50 37.50 307.50 0.00595821 - 32.50 37.50 312.50 0.00985911 - 32.50 37.50 317.50 0.0338125 - 32.50 37.50 322.50 0.118135 - 32.50 37.50 327.50 0.374935 - 32.50 37.50 332.50 0.888362 - 32.50 37.50 337.50 1.60325 - 32.50 37.50 342.50 2.39561 - 32.50 37.50 347.50 3.31617 - 32.50 37.50 352.50 4.256 - 32.50 37.50 357.50 4.6037 - 32.50 42.50 2.50 4.69043 - 32.50 42.50 7.50 3.58904 - 32.50 42.50 12.50 2.37639 - 32.50 42.50 17.50 1.26737 - 32.50 42.50 22.50 0.550165 - 32.50 42.50 27.50 0.201332 - 32.50 42.50 32.50 0.0681548 - 32.50 42.50 37.50 0.0164119 - 32.50 42.50 42.50 0.0046336 - 32.50 42.50 47.50 0.00979708 - 32.50 42.50 52.50 0.049226 - 32.50 42.50 57.50 0.198828 - 32.50 42.50 62.50 0.579262 - 32.50 42.50 67.50 1.24593 - 32.50 42.50 72.50 2.13666 - 32.50 42.50 77.50 3.2594 - 32.50 42.50 82.50 4.48177 - 32.50 42.50 87.50 5.11111 - 32.50 42.50 92.50 4.69043 - 32.50 42.50 97.50 3.58904 - 32.50 42.50 102.50 2.37639 - 32.50 42.50 107.50 1.26737 - 32.50 42.50 112.50 0.550165 - 32.50 42.50 117.50 0.201332 - 32.50 42.50 122.50 0.0681548 - 32.50 42.50 127.50 0.0164119 - 32.50 42.50 132.50 0.0046336 - 32.50 42.50 137.50 0.00979708 - 32.50 42.50 142.50 0.049226 - 32.50 42.50 147.50 0.198828 - 32.50 42.50 152.50 0.579262 - 32.50 42.50 157.50 1.24593 - 32.50 42.50 162.50 2.13666 - 32.50 42.50 167.50 3.2594 - 32.50 42.50 172.50 4.48177 - 32.50 42.50 177.50 5.11111 - 32.50 42.50 182.50 4.69043 - 32.50 42.50 187.50 3.58904 - 32.50 42.50 192.50 2.37639 - 32.50 42.50 197.50 1.26737 - 32.50 42.50 202.50 0.550165 - 32.50 42.50 207.50 0.201332 - 32.50 42.50 212.50 0.0681548 - 32.50 42.50 217.50 0.0164119 - 32.50 42.50 222.50 0.00463361 - 32.50 42.50 227.50 0.00979707 - 32.50 42.50 232.50 0.0492262 - 32.50 42.50 237.50 0.198828 - 32.50 42.50 242.50 0.579263 - 32.50 42.50 247.50 1.24594 - 32.50 42.50 252.50 2.13667 - 32.50 42.50 257.50 3.2594 - 32.50 42.50 262.50 4.48177 - 32.50 42.50 267.50 5.11111 - 32.50 42.50 272.50 4.69043 - 32.50 42.50 277.50 3.58904 - 32.50 42.50 282.50 2.37639 - 32.50 42.50 287.50 1.26737 - 32.50 42.50 292.50 0.550165 - 32.50 42.50 297.50 0.201332 - 32.50 42.50 302.50 0.0681549 - 32.50 42.50 307.50 0.0164119 - 32.50 42.50 312.50 0.0046336 - 32.50 42.50 317.50 0.00979705 - 32.50 42.50 322.50 0.0492259 - 32.50 42.50 327.50 0.198827 - 32.50 42.50 332.50 0.57926 - 32.50 42.50 337.50 1.24593 - 32.50 42.50 342.50 2.13666 - 32.50 42.50 347.50 3.2594 - 32.50 42.50 352.50 4.48177 - 32.50 42.50 357.50 5.11111 - 32.50 47.50 2.50 4.95231 - 32.50 47.50 7.50 4.39341 - 32.50 47.50 12.50 3.38468 - 32.50 47.50 17.50 2.10821 - 32.50 47.50 22.50 1.12772 - 32.50 47.50 27.50 0.533432 - 32.50 47.50 32.50 0.213501 - 32.50 47.50 37.50 0.0660299 - 32.50 47.50 42.50 0.0117542 - 32.50 47.50 47.50 0.00573954 - 32.50 47.50 52.50 0.0206882 - 32.50 47.50 57.50 0.0961166 - 32.50 47.50 62.50 0.316416 - 32.50 47.50 67.50 0.775072 - 32.50 47.50 72.50 1.56269 - 32.50 47.50 77.50 2.64963 - 32.50 47.50 82.50 4.02082 - 32.50 47.50 87.50 4.95934 - 32.50 47.50 92.50 4.95231 - 32.50 47.50 97.50 4.39341 - 32.50 47.50 102.50 3.38468 - 32.50 47.50 107.50 2.10821 - 32.50 47.50 112.50 1.12772 - 32.50 47.50 117.50 0.533431 - 32.50 47.50 122.50 0.213501 - 32.50 47.50 127.50 0.0660298 - 32.50 47.50 132.50 0.0117542 - 32.50 47.50 137.50 0.00573953 - 32.50 47.50 142.50 0.0206882 - 32.50 47.50 147.50 0.0961166 - 32.50 47.50 152.50 0.316416 - 32.50 47.50 157.50 0.775071 - 32.50 47.50 162.50 1.56269 - 32.50 47.50 167.50 2.64963 - 32.50 47.50 172.50 4.02082 - 32.50 47.50 177.50 4.95934 - 32.50 47.50 182.50 4.95231 - 32.50 47.50 187.50 4.39341 - 32.50 47.50 192.50 3.38468 - 32.50 47.50 197.50 2.1082 - 32.50 47.50 202.50 1.12772 - 32.50 47.50 207.50 0.533432 - 32.50 47.50 212.50 0.213501 - 32.50 47.50 217.50 0.06603 - 32.50 47.50 222.50 0.0117542 - 32.50 47.50 227.50 0.00573954 - 32.50 47.50 232.50 0.0206883 - 32.50 47.50 237.50 0.0961168 - 32.50 47.50 242.50 0.316416 - 32.50 47.50 247.50 0.775073 - 32.50 47.50 252.50 1.56269 - 32.50 47.50 257.50 2.64963 - 32.50 47.50 262.50 4.02082 - 32.50 47.50 267.50 4.95934 - 32.50 47.50 272.50 4.95231 - 32.50 47.50 277.50 4.39341 - 32.50 47.50 282.50 3.38468 - 32.50 47.50 287.50 2.10821 - 32.50 47.50 292.50 1.12772 - 32.50 47.50 297.50 0.533432 - 32.50 47.50 302.50 0.213501 - 32.50 47.50 307.50 0.06603 - 32.50 47.50 312.50 0.0117542 - 32.50 47.50 317.50 0.00573953 - 32.50 47.50 322.50 0.0206882 - 32.50 47.50 327.50 0.0961164 - 32.50 47.50 332.50 0.316415 - 32.50 47.50 337.50 0.775071 - 32.50 47.50 342.50 1.56268 - 32.50 47.50 347.50 2.64963 - 32.50 47.50 352.50 4.02082 - 32.50 47.50 357.50 4.95934 - 32.50 52.50 2.50 4.69043 - 32.50 52.50 7.50 4.9821 - 32.50 52.50 12.50 4.46699 - 32.50 52.50 17.50 3.28921 - 32.50 52.50 22.50 2.13189 - 32.50 52.50 27.50 1.22267 - 32.50 52.50 32.50 0.570495 - 32.50 52.50 37.50 0.192946 - 32.50 52.50 42.50 0.0410824 - 32.50 52.50 47.50 0.00650743 - 32.50 52.50 52.50 0.00928603 - 32.50 52.50 57.50 0.0411484 - 32.50 52.50 62.50 0.126388 - 32.50 52.50 67.50 0.383308 - 32.50 52.50 72.50 0.884918 - 32.50 52.50 77.50 1.72464 - 32.50 52.50 82.50 2.95837 - 32.50 52.50 87.50 4.08368 - 32.50 52.50 92.50 4.69043 - 32.50 52.50 97.50 4.9821 - 32.50 52.50 102.50 4.46699 - 32.50 52.50 107.50 3.28921 - 32.50 52.50 112.50 2.13189 - 32.50 52.50 117.50 1.22267 - 32.50 52.50 122.50 0.570495 - 32.50 52.50 127.50 0.192946 - 32.50 52.50 132.50 0.0410823 - 32.50 52.50 137.50 0.00650743 - 32.50 52.50 142.50 0.00928604 - 32.50 52.50 147.50 0.0411485 - 32.50 52.50 152.50 0.126388 - 32.50 52.50 157.50 0.383308 - 32.50 52.50 162.50 0.884918 - 32.50 52.50 167.50 1.72464 - 32.50 52.50 172.50 2.95837 - 32.50 52.50 177.50 4.08367 - 32.50 52.50 182.50 4.69043 - 32.50 52.50 187.50 4.9821 - 32.50 52.50 192.50 4.46699 - 32.50 52.50 197.50 3.28921 - 32.50 52.50 202.50 2.13189 - 32.50 52.50 207.50 1.22267 - 32.50 52.50 212.50 0.570495 - 32.50 52.50 217.50 0.192946 - 32.50 52.50 222.50 0.0410824 - 32.50 52.50 227.50 0.00650744 - 32.50 52.50 232.50 0.00928606 - 32.50 52.50 237.50 0.0411486 - 32.50 52.50 242.50 0.126388 - 32.50 52.50 247.50 0.383309 - 32.50 52.50 252.50 0.884919 - 32.50 52.50 257.50 1.72464 - 32.50 52.50 262.50 2.95837 - 32.50 52.50 267.50 4.08368 - 32.50 52.50 272.50 4.69043 - 32.50 52.50 277.50 4.9821 - 32.50 52.50 282.50 4.467 - 32.50 52.50 287.50 3.28921 - 32.50 52.50 292.50 2.13189 - 32.50 52.50 297.50 1.22267 - 32.50 52.50 302.50 0.570496 - 32.50 52.50 307.50 0.192946 - 32.50 52.50 312.50 0.0410824 - 32.50 52.50 317.50 0.00650744 - 32.50 52.50 322.50 0.00928601 - 32.50 52.50 327.50 0.0411483 - 32.50 52.50 332.50 0.126388 - 32.50 52.50 337.50 0.383307 - 32.50 52.50 342.50 0.884916 - 32.50 52.50 347.50 1.72464 - 32.50 52.50 352.50 2.95836 - 32.50 52.50 357.50 4.08367 - 32.50 57.50 2.50 3.97879 - 32.50 57.50 7.50 5.14815 - 32.50 57.50 12.50 5.31959 - 32.50 57.50 17.50 4.61669 - 32.50 57.50 22.50 3.46852 - 32.50 57.50 27.50 2.23604 - 32.50 57.50 32.50 1.13084 - 32.50 57.50 37.50 0.40545 - 32.50 57.50 42.50 0.10508 - 32.50 57.50 47.50 0.022614 - 32.50 57.50 52.50 0.00544401 - 32.50 57.50 57.50 0.012454 - 32.50 57.50 62.50 0.0483811 - 32.50 57.50 67.50 0.147507 - 32.50 57.50 72.50 0.384209 - 32.50 57.50 77.50 0.878167 - 32.50 57.50 82.50 1.71985 - 32.50 57.50 87.50 2.7973 - 32.50 57.50 92.50 3.97879 - 32.50 57.50 97.50 5.14816 - 32.50 57.50 102.50 5.31958 - 32.50 57.50 107.50 4.61669 - 32.50 57.50 112.50 3.46852 - 32.50 57.50 117.50 2.23604 - 32.50 57.50 122.50 1.13083 - 32.50 57.50 127.50 0.40545 - 32.50 57.50 132.50 0.10508 - 32.50 57.50 137.50 0.022614 - 32.50 57.50 142.50 0.00544401 - 32.50 57.50 147.50 0.012454 - 32.50 57.50 152.50 0.0483811 - 32.50 57.50 157.50 0.147507 - 32.50 57.50 162.50 0.384209 - 32.50 57.50 167.50 0.878167 - 32.50 57.50 172.50 1.71985 - 32.50 57.50 177.50 2.7973 - 32.50 57.50 182.50 3.97879 - 32.50 57.50 187.50 5.14815 - 32.50 57.50 192.50 5.31958 - 32.50 57.50 197.50 4.61669 - 32.50 57.50 202.50 3.46852 - 32.50 57.50 207.50 2.23604 - 32.50 57.50 212.50 1.13084 - 32.50 57.50 217.50 0.40545 - 32.50 57.50 222.50 0.10508 - 32.50 57.50 227.50 0.022614 - 32.50 57.50 232.50 0.00544401 - 32.50 57.50 237.50 0.012454 - 32.50 57.50 242.50 0.0483812 - 32.50 57.50 247.50 0.147508 - 32.50 57.50 252.50 0.38421 - 32.50 57.50 257.50 0.878168 - 32.50 57.50 262.50 1.71985 - 32.50 57.50 267.50 2.7973 - 32.50 57.50 272.50 3.97879 - 32.50 57.50 277.50 5.14815 - 32.50 57.50 282.50 5.31959 - 32.50 57.50 287.50 4.61669 - 32.50 57.50 292.50 3.46852 - 32.50 57.50 297.50 2.23604 - 32.50 57.50 302.50 1.13084 - 32.50 57.50 307.50 0.405451 - 32.50 57.50 312.50 0.10508 - 32.50 57.50 317.50 0.022614 - 32.50 57.50 322.50 0.005444 - 32.50 57.50 327.50 0.012454 - 32.50 57.50 332.50 0.048381 - 32.50 57.50 337.50 0.147507 - 32.50 57.50 342.50 0.384208 - 32.50 57.50 347.50 0.878165 - 32.50 57.50 352.50 1.71985 - 32.50 57.50 357.50 2.79729 - 32.50 62.50 2.50 2.99998 - 32.50 62.50 7.50 4.66052 - 32.50 62.50 12.50 5.52208 - 32.50 62.50 17.50 5.56269 - 32.50 62.50 22.50 4.69798 - 32.50 62.50 27.50 3.29407 - 32.50 62.50 32.50 1.79067 - 32.50 62.50 37.50 0.760749 - 32.50 62.50 42.50 0.228709 - 32.50 62.50 47.50 0.063565 - 32.50 62.50 52.50 0.0160806 - 32.50 62.50 57.50 0.00644962 - 32.50 62.50 62.50 0.015063 - 32.50 62.50 67.50 0.0423287 - 32.50 62.50 72.50 0.128789 - 32.50 62.50 77.50 0.352535 - 32.50 62.50 82.50 0.816469 - 32.50 62.50 87.50 1.64725 - 32.50 62.50 92.50 2.99998 - 32.50 62.50 97.50 4.66052 - 32.50 62.50 102.50 5.52208 - 32.50 62.50 107.50 5.56268 - 32.50 62.50 112.50 4.69798 - 32.50 62.50 117.50 3.29407 - 32.50 62.50 122.50 1.79067 - 32.50 62.50 127.50 0.760749 - 32.50 62.50 132.50 0.228709 - 32.50 62.50 137.50 0.063565 - 32.50 62.50 142.50 0.0160806 - 32.50 62.50 147.50 0.00644963 - 32.50 62.50 152.50 0.0150629 - 32.50 62.50 157.50 0.0423286 - 32.50 62.50 162.50 0.128789 - 32.50 62.50 167.50 0.352535 - 32.50 62.50 172.50 0.816469 - 32.50 62.50 177.50 1.64725 - 32.50 62.50 182.50 2.99998 - 32.50 62.50 187.50 4.66052 - 32.50 62.50 192.50 5.52208 - 32.50 62.50 197.50 5.56268 - 32.50 62.50 202.50 4.69798 - 32.50 62.50 207.50 3.29407 - 32.50 62.50 212.50 1.79067 - 32.50 62.50 217.50 0.76075 - 32.50 62.50 222.50 0.228709 - 32.50 62.50 227.50 0.0635651 - 32.50 62.50 232.50 0.0160806 - 32.50 62.50 237.50 0.00644962 - 32.50 62.50 242.50 0.015063 - 32.50 62.50 247.50 0.0423287 - 32.50 62.50 252.50 0.128789 - 32.50 62.50 257.50 0.352535 - 32.50 62.50 262.50 0.81647 - 32.50 62.50 267.50 1.64726 - 32.50 62.50 272.50 2.99998 - 32.50 62.50 277.50 4.66052 - 32.50 62.50 282.50 5.52208 - 32.50 62.50 287.50 5.56269 - 32.50 62.50 292.50 4.69798 - 32.50 62.50 297.50 3.29407 - 32.50 62.50 302.50 1.79067 - 32.50 62.50 307.50 0.76075 - 32.50 62.50 312.50 0.228709 - 32.50 62.50 317.50 0.0635652 - 32.50 62.50 322.50 0.0160807 - 32.50 62.50 327.50 0.00644962 - 32.50 62.50 332.50 0.0150629 - 32.50 62.50 337.50 0.0423284 - 32.50 62.50 342.50 0.128788 - 32.50 62.50 347.50 0.352535 - 32.50 62.50 352.50 0.816467 - 32.50 62.50 357.50 1.64725 - 32.50 67.50 2.50 1.96803 - 32.50 67.50 7.50 3.5881 - 32.50 67.50 12.50 4.88871 - 32.50 67.50 17.50 5.45633 - 32.50 67.50 22.50 5.11389 - 32.50 67.50 27.50 3.94446 - 32.50 67.50 32.50 2.38624 - 32.50 67.50 37.50 1.11393 - 32.50 67.50 42.50 0.449242 - 32.50 67.50 47.50 0.160589 - 32.50 67.50 52.50 0.0465226 - 32.50 67.50 57.50 0.00810219 - 32.50 67.50 62.50 0.00519187 - 32.50 67.50 67.50 0.0137423 - 32.50 67.50 72.50 0.0403446 - 32.50 67.50 77.50 0.12179 - 32.50 67.50 82.50 0.347857 - 32.50 67.50 87.50 0.870675 - 32.50 67.50 92.50 1.96804 - 32.50 67.50 97.50 3.5881 - 32.50 67.50 102.50 4.88871 - 32.50 67.50 107.50 5.45633 - 32.50 67.50 112.50 5.11389 - 32.50 67.50 117.50 3.94446 - 32.50 67.50 122.50 2.38624 - 32.50 67.50 127.50 1.11393 - 32.50 67.50 132.50 0.449242 - 32.50 67.50 137.50 0.160589 - 32.50 67.50 142.50 0.0465226 - 32.50 67.50 147.50 0.0081022 - 32.50 67.50 152.50 0.00519187 - 32.50 67.50 157.50 0.0137423 - 32.50 67.50 162.50 0.0403446 - 32.50 67.50 167.50 0.12179 - 32.50 67.50 172.50 0.347857 - 32.50 67.50 177.50 0.870674 - 32.50 67.50 182.50 1.96804 - 32.50 67.50 187.50 3.58811 - 32.50 67.50 192.50 4.88871 - 32.50 67.50 197.50 5.45633 - 32.50 67.50 202.50 5.11389 - 32.50 67.50 207.50 3.94446 - 32.50 67.50 212.50 2.38624 - 32.50 67.50 217.50 1.11393 - 32.50 67.50 222.50 0.449242 - 32.50 67.50 227.50 0.160589 - 32.50 67.50 232.50 0.0465225 - 32.50 67.50 237.50 0.00810219 - 32.50 67.50 242.50 0.00519188 - 32.50 67.50 247.50 0.0137423 - 32.50 67.50 252.50 0.0403447 - 32.50 67.50 257.50 0.12179 - 32.50 67.50 262.50 0.347858 - 32.50 67.50 267.50 0.870676 - 32.50 67.50 272.50 1.96803 - 32.50 67.50 277.50 3.5881 - 32.50 67.50 282.50 4.88871 - 32.50 67.50 287.50 5.45633 - 32.50 67.50 292.50 5.11389 - 32.50 67.50 297.50 3.94446 - 32.50 67.50 302.50 2.38624 - 32.50 67.50 307.50 1.11393 - 32.50 67.50 312.50 0.449242 - 32.50 67.50 317.50 0.160589 - 32.50 67.50 322.50 0.0465227 - 32.50 67.50 327.50 0.0081022 - 32.50 67.50 332.50 0.00519184 - 32.50 67.50 337.50 0.0137422 - 32.50 67.50 342.50 0.0403445 - 32.50 67.50 347.50 0.121789 - 32.50 67.50 352.50 0.347856 - 32.50 67.50 357.50 0.870672 - 32.50 72.50 2.50 1.09345 - 32.50 72.50 7.50 2.33131 - 32.50 72.50 12.50 3.60754 - 32.50 72.50 17.50 4.3741 - 32.50 72.50 22.50 4.51332 - 32.50 72.50 27.50 3.68294 - 32.50 72.50 32.50 2.39753 - 32.50 72.50 37.50 1.24276 - 32.50 72.50 42.50 0.569087 - 32.50 72.50 47.50 0.232757 - 32.50 72.50 52.50 0.0711076 - 32.50 72.50 57.50 0.0160791 - 32.50 72.50 62.50 0.00563604 - 32.50 72.50 67.50 0.0101522 - 32.50 72.50 72.50 0.0217754 - 32.50 72.50 77.50 0.0443852 - 32.50 72.50 82.50 0.141005 - 32.50 72.50 87.50 0.40894 - 32.50 72.50 92.50 1.09345 - 32.50 72.50 97.50 2.33131 - 32.50 72.50 102.50 3.60754 - 32.50 72.50 107.50 4.3741 - 32.50 72.50 112.50 4.51332 - 32.50 72.50 117.50 3.68294 - 32.50 72.50 122.50 2.39753 - 32.50 72.50 127.50 1.24276 - 32.50 72.50 132.50 0.569087 - 32.50 72.50 137.50 0.232757 - 32.50 72.50 142.50 0.0711076 - 32.50 72.50 147.50 0.0160792 - 32.50 72.50 152.50 0.00563605 - 32.50 72.50 157.50 0.0101522 - 32.50 72.50 162.50 0.0217754 - 32.50 72.50 167.50 0.0443852 - 32.50 72.50 172.50 0.141005 - 32.50 72.50 177.50 0.40894 - 32.50 72.50 182.50 1.09345 - 32.50 72.50 187.50 2.33131 - 32.50 72.50 192.50 3.60754 - 32.50 72.50 197.50 4.3741 - 32.50 72.50 202.50 4.51332 - 32.50 72.50 207.50 3.68294 - 32.50 72.50 212.50 2.39753 - 32.50 72.50 217.50 1.24276 - 32.50 72.50 222.50 0.569088 - 32.50 72.50 227.50 0.232757 - 32.50 72.50 232.50 0.0711074 - 32.50 72.50 237.50 0.0160791 - 32.50 72.50 242.50 0.00563604 - 32.50 72.50 247.50 0.0101522 - 32.50 72.50 252.50 0.0217755 - 32.50 72.50 257.50 0.0443853 - 32.50 72.50 262.50 0.141006 - 32.50 72.50 267.50 0.408941 - 32.50 72.50 272.50 1.09345 - 32.50 72.50 277.50 2.33131 - 32.50 72.50 282.50 3.60754 - 32.50 72.50 287.50 4.3741 - 32.50 72.50 292.50 4.51332 - 32.50 72.50 297.50 3.68294 - 32.50 72.50 302.50 2.39754 - 32.50 72.50 307.50 1.24276 - 32.50 72.50 312.50 0.569087 - 32.50 72.50 317.50 0.232757 - 32.50 72.50 322.50 0.0711078 - 32.50 72.50 327.50 0.0160792 - 32.50 72.50 332.50 0.00563606 - 32.50 72.50 337.50 0.0101522 - 32.50 72.50 342.50 0.0217754 - 32.50 72.50 347.50 0.0443851 - 32.50 72.50 352.50 0.141005 - 32.50 72.50 357.50 0.408939 - 32.50 77.50 2.50 0.522419 - 32.50 77.50 7.50 1.32122 - 32.50 77.50 12.50 2.20364 - 32.50 77.50 17.50 2.86929 - 32.50 77.50 22.50 2.8726 - 32.50 77.50 27.50 2.49693 - 32.50 77.50 32.50 1.82857 - 32.50 77.50 37.50 1.09998 - 32.50 77.50 42.50 0.516708 - 32.50 77.50 47.50 0.203042 - 32.50 77.50 52.50 0.0627265 - 32.50 77.50 57.50 0.0244949 - 32.50 77.50 62.50 0.00735711 - 32.50 77.50 67.50 0.00480852 - 32.50 77.50 72.50 0.0132994 - 32.50 77.50 77.50 0.024577 - 32.50 77.50 82.50 0.0495179 - 32.50 77.50 87.50 0.167539 - 32.50 77.50 92.50 0.52242 - 32.50 77.50 97.50 1.32122 - 32.50 77.50 102.50 2.20364 - 32.50 77.50 107.50 2.86929 - 32.50 77.50 112.50 2.8726 - 32.50 77.50 117.50 2.49693 - 32.50 77.50 122.50 1.82857 - 32.50 77.50 127.50 1.09998 - 32.50 77.50 132.50 0.516708 - 32.50 77.50 137.50 0.203043 - 32.50 77.50 142.50 0.0627265 - 32.50 77.50 147.50 0.0244949 - 32.50 77.50 152.50 0.00735714 - 32.50 77.50 157.50 0.00480852 - 32.50 77.50 162.50 0.0132994 - 32.50 77.50 167.50 0.024577 - 32.50 77.50 172.50 0.0495179 - 32.50 77.50 177.50 0.167539 - 32.50 77.50 182.50 0.52242 - 32.50 77.50 187.50 1.32122 - 32.50 77.50 192.50 2.20365 - 32.50 77.50 197.50 2.86929 - 32.50 77.50 202.50 2.8726 - 32.50 77.50 207.50 2.49693 - 32.50 77.50 212.50 1.82857 - 32.50 77.50 217.50 1.09998 - 32.50 77.50 222.50 0.516708 - 32.50 77.50 227.50 0.203043 - 32.50 77.50 232.50 0.0627263 - 32.50 77.50 237.50 0.0244948 - 32.50 77.50 242.50 0.00735712 - 32.50 77.50 247.50 0.00480852 - 32.50 77.50 252.50 0.0132994 - 32.50 77.50 257.50 0.024577 - 32.50 77.50 262.50 0.0495179 - 32.50 77.50 267.50 0.167539 - 32.50 77.50 272.50 0.52242 - 32.50 77.50 277.50 1.32122 - 32.50 77.50 282.50 2.20364 - 32.50 77.50 287.50 2.86929 - 32.50 77.50 292.50 2.8726 - 32.50 77.50 297.50 2.49694 - 32.50 77.50 302.50 1.82857 - 32.50 77.50 307.50 1.09998 - 32.50 77.50 312.50 0.516709 - 32.50 77.50 317.50 0.203043 - 32.50 77.50 322.50 0.0627266 - 32.50 77.50 327.50 0.024495 - 32.50 77.50 332.50 0.00735714 - 32.50 77.50 337.50 0.00480852 - 32.50 77.50 342.50 0.0132993 - 32.50 77.50 347.50 0.0245769 - 32.50 77.50 352.50 0.0495178 - 32.50 77.50 357.50 0.167539 - 32.50 82.50 2.50 0.23184 - 32.50 82.50 7.50 0.64425 - 32.50 82.50 12.50 1.16202 - 32.50 82.50 17.50 1.28754 - 32.50 82.50 22.50 1.3641 - 32.50 82.50 27.50 1.32674 - 32.50 82.50 32.50 1.11644 - 32.50 82.50 37.50 0.739673 - 32.50 82.50 42.50 0.378742 - 32.50 82.50 47.50 0.150946 - 32.50 82.50 52.50 0.0511639 - 32.50 82.50 57.50 0.0239013 - 32.50 82.50 62.50 0.01427 - 32.50 82.50 67.50 0.0110281 - 32.50 82.50 72.50 0.0182391 - 32.50 82.50 77.50 0.0212912 - 32.50 82.50 82.50 0.0268917 - 32.50 82.50 87.50 0.0673562 - 32.50 82.50 92.50 0.23184 - 32.50 82.50 97.50 0.644251 - 32.50 82.50 102.50 1.16202 - 32.50 82.50 107.50 1.28754 - 32.50 82.50 112.50 1.3641 - 32.50 82.50 117.50 1.32674 - 32.50 82.50 122.50 1.11644 - 32.50 82.50 127.50 0.739673 - 32.50 82.50 132.50 0.378742 - 32.50 82.50 137.50 0.150946 - 32.50 82.50 142.50 0.0511639 - 32.50 82.50 147.50 0.0239012 - 32.50 82.50 152.50 0.01427 - 32.50 82.50 157.50 0.0110281 - 32.50 82.50 162.50 0.0182391 - 32.50 82.50 167.50 0.0212912 - 32.50 82.50 172.50 0.0268917 - 32.50 82.50 177.50 0.0673561 - 32.50 82.50 182.50 0.23184 - 32.50 82.50 187.50 0.644251 - 32.50 82.50 192.50 1.16202 - 32.50 82.50 197.50 1.28754 - 32.50 82.50 202.50 1.3641 - 32.50 82.50 207.50 1.32674 - 32.50 82.50 212.50 1.11644 - 32.50 82.50 217.50 0.739673 - 32.50 82.50 222.50 0.378742 - 32.50 82.50 227.50 0.150946 - 32.50 82.50 232.50 0.0511638 - 32.50 82.50 237.50 0.0239012 - 32.50 82.50 242.50 0.01427 - 32.50 82.50 247.50 0.0110281 - 32.50 82.50 252.50 0.0182391 - 32.50 82.50 257.50 0.0212912 - 32.50 82.50 262.50 0.0268917 - 32.50 82.50 267.50 0.0673562 - 32.50 82.50 272.50 0.23184 - 32.50 82.50 277.50 0.644251 - 32.50 82.50 282.50 1.16202 - 32.50 82.50 287.50 1.28754 - 32.50 82.50 292.50 1.3641 - 32.50 82.50 297.50 1.32674 - 32.50 82.50 302.50 1.11644 - 32.50 82.50 307.50 0.739673 - 32.50 82.50 312.50 0.378742 - 32.50 82.50 317.50 0.150946 - 32.50 82.50 322.50 0.051164 - 32.50 82.50 327.50 0.0239013 - 32.50 82.50 332.50 0.01427 - 32.50 82.50 337.50 0.0110281 - 32.50 82.50 342.50 0.0182391 - 32.50 82.50 347.50 0.0212912 - 32.50 82.50 352.50 0.0268917 - 32.50 82.50 357.50 0.0673558 - 32.50 87.50 2.50 0.100121 - 32.50 87.50 7.50 0.288125 - 32.50 87.50 12.50 0.437267 - 32.50 87.50 17.50 0.540058 - 32.50 87.50 22.50 0.545034 - 32.50 87.50 27.50 0.583739 - 32.50 87.50 32.50 0.572538 - 32.50 87.50 37.50 0.417592 - 32.50 87.50 42.50 0.227323 - 32.50 87.50 47.50 0.107118 - 32.50 87.50 52.50 0.0561099 - 32.50 87.50 57.50 0.0433886 - 32.50 87.50 62.50 0.0425104 - 32.50 87.50 67.50 0.0399646 - 32.50 87.50 72.50 0.0471942 - 32.50 87.50 77.50 0.0569521 - 32.50 87.50 82.50 0.0552737 - 32.50 87.50 87.50 0.043975 - 32.50 87.50 92.50 0.100122 - 32.50 87.50 97.50 0.288125 - 32.50 87.50 102.50 0.437267 - 32.50 87.50 107.50 0.540058 - 32.50 87.50 112.50 0.545034 - 32.50 87.50 117.50 0.583739 - 32.50 87.50 122.50 0.572538 - 32.50 87.50 127.50 0.417592 - 32.50 87.50 132.50 0.227323 - 32.50 87.50 137.50 0.107118 - 32.50 87.50 142.50 0.0561099 - 32.50 87.50 147.50 0.0433886 - 32.50 87.50 152.50 0.0425104 - 32.50 87.50 157.50 0.0399646 - 32.50 87.50 162.50 0.0471942 - 32.50 87.50 167.50 0.0569521 - 32.50 87.50 172.50 0.0552737 - 32.50 87.50 177.50 0.043975 - 32.50 87.50 182.50 0.100122 - 32.50 87.50 187.50 0.288125 - 32.50 87.50 192.50 0.437267 - 32.50 87.50 197.50 0.540058 - 32.50 87.50 202.50 0.545034 - 32.50 87.50 207.50 0.583739 - 32.50 87.50 212.50 0.572538 - 32.50 87.50 217.50 0.417592 - 32.50 87.50 222.50 0.227323 - 32.50 87.50 227.50 0.107118 - 32.50 87.50 232.50 0.0561098 - 32.50 87.50 237.50 0.0433886 - 32.50 87.50 242.50 0.0425104 - 32.50 87.50 247.50 0.0399646 - 32.50 87.50 252.50 0.0471942 - 32.50 87.50 257.50 0.0569521 - 32.50 87.50 262.50 0.0552736 - 32.50 87.50 267.50 0.043975 - 32.50 87.50 272.50 0.100121 - 32.50 87.50 277.50 0.288125 - 32.50 87.50 282.50 0.437267 - 32.50 87.50 287.50 0.540058 - 32.50 87.50 292.50 0.545034 - 32.50 87.50 297.50 0.583739 - 32.50 87.50 302.50 0.572538 - 32.50 87.50 307.50 0.417592 - 32.50 87.50 312.50 0.227323 - 32.50 87.50 317.50 0.107118 - 32.50 87.50 322.50 0.05611 - 32.50 87.50 327.50 0.0433886 - 32.50 87.50 332.50 0.0425104 - 32.50 87.50 337.50 0.0399646 - 32.50 87.50 342.50 0.0471941 - 32.50 87.50 347.50 0.0569521 - 32.50 87.50 352.50 0.0552738 - 32.50 87.50 357.50 0.043975 - 32.50 92.50 2.50 0.0601603 - 32.50 92.50 7.50 0.0922624 - 32.50 92.50 12.50 0.149325 - 32.50 92.50 17.50 0.171122 - 32.50 92.50 22.50 0.169877 - 32.50 92.50 27.50 0.190178 - 32.50 92.50 32.50 0.203044 - 32.50 92.50 37.50 0.166468 - 32.50 92.50 42.50 0.114674 - 32.50 92.50 47.50 0.0938604 - 32.50 92.50 52.50 0.114674 - 32.50 92.50 57.50 0.166468 - 32.50 92.50 62.50 0.203044 - 32.50 92.50 67.50 0.190178 - 32.50 92.50 72.50 0.169877 - 32.50 92.50 77.50 0.171122 - 32.50 92.50 82.50 0.149325 - 32.50 92.50 87.50 0.0922625 - 32.50 92.50 92.50 0.0601603 - 32.50 92.50 97.50 0.0922626 - 32.50 92.50 102.50 0.149325 - 32.50 92.50 107.50 0.171122 - 32.50 92.50 112.50 0.169877 - 32.50 92.50 117.50 0.190179 - 32.50 92.50 122.50 0.203044 - 32.50 92.50 127.50 0.166468 - 32.50 92.50 132.50 0.114674 - 32.50 92.50 137.50 0.0938603 - 32.50 92.50 142.50 0.114674 - 32.50 92.50 147.50 0.166468 - 32.50 92.50 152.50 0.203044 - 32.50 92.50 157.50 0.190179 - 32.50 92.50 162.50 0.169877 - 32.50 92.50 167.50 0.171122 - 32.50 92.50 172.50 0.149325 - 32.50 92.50 177.50 0.0922626 - 32.50 92.50 182.50 0.0601603 - 32.50 92.50 187.50 0.0922626 - 32.50 92.50 192.50 0.149325 - 32.50 92.50 197.50 0.171122 - 32.50 92.50 202.50 0.169877 - 32.50 92.50 207.50 0.190178 - 32.50 92.50 212.50 0.203044 - 32.50 92.50 217.50 0.166468 - 32.50 92.50 222.50 0.114674 - 32.50 92.50 227.50 0.0938603 - 32.50 92.50 232.50 0.114674 - 32.50 92.50 237.50 0.166468 - 32.50 92.50 242.50 0.203044 - 32.50 92.50 247.50 0.190178 - 32.50 92.50 252.50 0.169877 - 32.50 92.50 257.50 0.171122 - 32.50 92.50 262.50 0.149325 - 32.50 92.50 267.50 0.0922624 - 32.50 92.50 272.50 0.0601603 - 32.50 92.50 277.50 0.0922625 - 32.50 92.50 282.50 0.149325 - 32.50 92.50 287.50 0.171122 - 32.50 92.50 292.50 0.169877 - 32.50 92.50 297.50 0.190178 - 32.50 92.50 302.50 0.203044 - 32.50 92.50 307.50 0.166468 - 32.50 92.50 312.50 0.114674 - 32.50 92.50 317.50 0.0938603 - 32.50 92.50 322.50 0.114674 - 32.50 92.50 327.50 0.166468 - 32.50 92.50 332.50 0.203044 - 32.50 92.50 337.50 0.190179 - 32.50 92.50 342.50 0.169877 - 32.50 92.50 347.50 0.171122 - 32.50 92.50 352.50 0.149325 - 32.50 92.50 357.50 0.0922627 - 32.50 97.50 2.50 0.100121 - 32.50 97.50 7.50 0.043975 - 32.50 97.50 12.50 0.0552736 - 32.50 97.50 17.50 0.0569521 - 32.50 97.50 22.50 0.0471942 - 32.50 97.50 27.50 0.0399646 - 32.50 97.50 32.50 0.0425104 - 32.50 97.50 37.50 0.0433886 - 32.50 97.50 42.50 0.05611 - 32.50 97.50 47.50 0.107119 - 32.50 97.50 52.50 0.227323 - 32.50 97.50 57.50 0.417592 - 32.50 97.50 62.50 0.572538 - 32.50 97.50 67.50 0.583739 - 32.50 97.50 72.50 0.545034 - 32.50 97.50 77.50 0.540057 - 32.50 97.50 82.50 0.437267 - 32.50 97.50 87.50 0.288125 - 32.50 97.50 92.50 0.100121 - 32.50 97.50 97.50 0.043975 - 32.50 97.50 102.50 0.0552737 - 32.50 97.50 107.50 0.0569521 - 32.50 97.50 112.50 0.0471942 - 32.50 97.50 117.50 0.0399646 - 32.50 97.50 122.50 0.0425105 - 32.50 97.50 127.50 0.0433886 - 32.50 97.50 132.50 0.05611 - 32.50 97.50 137.50 0.107118 - 32.50 97.50 142.50 0.227323 - 32.50 97.50 147.50 0.417592 - 32.50 97.50 152.50 0.572537 - 32.50 97.50 157.50 0.583738 - 32.50 97.50 162.50 0.545033 - 32.50 97.50 167.50 0.540057 - 32.50 97.50 172.50 0.437267 - 32.50 97.50 177.50 0.288125 - 32.50 97.50 182.50 0.100121 - 32.50 97.50 187.50 0.043975 - 32.50 97.50 192.50 0.0552737 - 32.50 97.50 197.50 0.0569521 - 32.50 97.50 202.50 0.0471942 - 32.50 97.50 207.50 0.0399646 - 32.50 97.50 212.50 0.0425105 - 32.50 97.50 217.50 0.0433886 - 32.50 97.50 222.50 0.0561099 - 32.50 97.50 227.50 0.107118 - 32.50 97.50 232.50 0.227323 - 32.50 97.50 237.50 0.417593 - 32.50 97.50 242.50 0.572538 - 32.50 97.50 247.50 0.583738 - 32.50 97.50 252.50 0.545033 - 32.50 97.50 257.50 0.540057 - 32.50 97.50 262.50 0.437267 - 32.50 97.50 267.50 0.288125 - 32.50 97.50 272.50 0.100121 - 32.50 97.50 277.50 0.043975 - 32.50 97.50 282.50 0.0552736 - 32.50 97.50 287.50 0.0569521 - 32.50 97.50 292.50 0.0471941 - 32.50 97.50 297.50 0.0399646 - 32.50 97.50 302.50 0.0425104 - 32.50 97.50 307.50 0.0433886 - 32.50 97.50 312.50 0.0561099 - 32.50 97.50 317.50 0.107118 - 32.50 97.50 322.50 0.227323 - 32.50 97.50 327.50 0.417592 - 32.50 97.50 332.50 0.572538 - 32.50 97.50 337.50 0.583739 - 32.50 97.50 342.50 0.545034 - 32.50 97.50 347.50 0.540058 - 32.50 97.50 352.50 0.437268 - 32.50 97.50 357.50 0.288126 - 32.50 102.50 2.50 0.23184 - 32.50 102.50 7.50 0.0673561 - 32.50 102.50 12.50 0.0268917 - 32.50 102.50 17.50 0.0212912 - 32.50 102.50 22.50 0.0182391 - 32.50 102.50 27.50 0.0110281 - 32.50 102.50 32.50 0.01427 - 32.50 102.50 37.50 0.0239013 - 32.50 102.50 42.50 0.0511639 - 32.50 102.50 47.50 0.150946 - 32.50 102.50 52.50 0.378742 - 32.50 102.50 57.50 0.739674 - 32.50 102.50 62.50 1.11644 - 32.50 102.50 67.50 1.32674 - 32.50 102.50 72.50 1.3641 - 32.50 102.50 77.50 1.28754 - 32.50 102.50 82.50 1.16202 - 32.50 102.50 87.50 0.64425 - 32.50 102.50 92.50 0.23184 - 32.50 102.50 97.50 0.0673561 - 32.50 102.50 102.50 0.0268917 - 32.50 102.50 107.50 0.0212912 - 32.50 102.50 112.50 0.0182391 - 32.50 102.50 117.50 0.0110281 - 32.50 102.50 122.50 0.01427 - 32.50 102.50 127.50 0.0239013 - 32.50 102.50 132.50 0.0511639 - 32.50 102.50 137.50 0.150946 - 32.50 102.50 142.50 0.378742 - 32.50 102.50 147.50 0.739673 - 32.50 102.50 152.50 1.11644 - 32.50 102.50 157.50 1.32674 - 32.50 102.50 162.50 1.3641 - 32.50 102.50 167.50 1.28754 - 32.50 102.50 172.50 1.16202 - 32.50 102.50 177.50 0.644252 - 32.50 102.50 182.50 0.23184 - 32.50 102.50 187.50 0.0673561 - 32.50 102.50 192.50 0.0268917 - 32.50 102.50 197.50 0.0212912 - 32.50 102.50 202.50 0.0182391 - 32.50 102.50 207.50 0.0110281 - 32.50 102.50 212.50 0.01427 - 32.50 102.50 217.50 0.0239012 - 32.50 102.50 222.50 0.0511638 - 32.50 102.50 227.50 0.150946 - 32.50 102.50 232.50 0.378742 - 32.50 102.50 237.50 0.739674 - 32.50 102.50 242.50 1.11644 - 32.50 102.50 247.50 1.32674 - 32.50 102.50 252.50 1.3641 - 32.50 102.50 257.50 1.28754 - 32.50 102.50 262.50 1.16202 - 32.50 102.50 267.50 0.64425 - 32.50 102.50 272.50 0.23184 - 32.50 102.50 277.50 0.0673561 - 32.50 102.50 282.50 0.0268917 - 32.50 102.50 287.50 0.0212912 - 32.50 102.50 292.50 0.0182391 - 32.50 102.50 297.50 0.0110281 - 32.50 102.50 302.50 0.01427 - 32.50 102.50 307.50 0.0239012 - 32.50 102.50 312.50 0.0511638 - 32.50 102.50 317.50 0.150946 - 32.50 102.50 322.50 0.378741 - 32.50 102.50 327.50 0.739673 - 32.50 102.50 332.50 1.11644 - 32.50 102.50 337.50 1.32674 - 32.50 102.50 342.50 1.3641 - 32.50 102.50 347.50 1.28754 - 32.50 102.50 352.50 1.16202 - 32.50 102.50 357.50 0.644252 - 32.50 107.50 2.50 0.522419 - 32.50 107.50 7.50 0.167539 - 32.50 107.50 12.50 0.0495179 - 32.50 107.50 17.50 0.024577 - 32.50 107.50 22.50 0.0132993 - 32.50 107.50 27.50 0.00480852 - 32.50 107.50 32.50 0.00735715 - 32.50 107.50 37.50 0.024495 - 32.50 107.50 42.50 0.0627265 - 32.50 107.50 47.50 0.203043 - 32.50 107.50 52.50 0.516708 - 32.50 107.50 57.50 1.09998 - 32.50 107.50 62.50 1.82857 - 32.50 107.50 67.50 2.49693 - 32.50 107.50 72.50 2.8726 - 32.50 107.50 77.50 2.86929 - 32.50 107.50 82.50 2.20364 - 32.50 107.50 87.50 1.32122 - 32.50 107.50 92.50 0.522419 - 32.50 107.50 97.50 0.167539 - 32.50 107.50 102.50 0.0495179 - 32.50 107.50 107.50 0.024577 - 32.50 107.50 112.50 0.0132994 - 32.50 107.50 117.50 0.00480852 - 32.50 107.50 122.50 0.00735716 - 32.50 107.50 127.50 0.024495 - 32.50 107.50 132.50 0.0627265 - 32.50 107.50 137.50 0.203043 - 32.50 107.50 142.50 0.516708 - 32.50 107.50 147.50 1.09998 - 32.50 107.50 152.50 1.82857 - 32.50 107.50 157.50 2.49693 - 32.50 107.50 162.50 2.8726 - 32.50 107.50 167.50 2.86929 - 32.50 107.50 172.50 2.20364 - 32.50 107.50 177.50 1.32122 - 32.50 107.50 182.50 0.522419 - 32.50 107.50 187.50 0.167539 - 32.50 107.50 192.50 0.0495179 - 32.50 107.50 197.50 0.024577 - 32.50 107.50 202.50 0.0132993 - 32.50 107.50 207.50 0.00480852 - 32.50 107.50 212.50 0.00735714 - 32.50 107.50 217.50 0.0244949 - 32.50 107.50 222.50 0.0627264 - 32.50 107.50 227.50 0.203043 - 32.50 107.50 232.50 0.516709 - 32.50 107.50 237.50 1.09999 - 32.50 107.50 242.50 1.82857 - 32.50 107.50 247.50 2.49693 - 32.50 107.50 252.50 2.8726 - 32.50 107.50 257.50 2.86929 - 32.50 107.50 262.50 2.20364 - 32.50 107.50 267.50 1.32122 - 32.50 107.50 272.50 0.522419 - 32.50 107.50 277.50 0.167539 - 32.50 107.50 282.50 0.0495179 - 32.50 107.50 287.50 0.024577 - 32.50 107.50 292.50 0.0132994 - 32.50 107.50 297.50 0.00480852 - 32.50 107.50 302.50 0.00735713 - 32.50 107.50 307.50 0.0244949 - 32.50 107.50 312.50 0.0627264 - 32.50 107.50 317.50 0.203042 - 32.50 107.50 322.50 0.516707 - 32.50 107.50 327.50 1.09998 - 32.50 107.50 332.50 1.82857 - 32.50 107.50 337.50 2.49693 - 32.50 107.50 342.50 2.8726 - 32.50 107.50 347.50 2.86929 - 32.50 107.50 352.50 2.20365 - 32.50 107.50 357.50 1.32122 - 32.50 112.50 2.50 1.09345 - 32.50 112.50 7.50 0.40894 - 32.50 112.50 12.50 0.141006 - 32.50 112.50 17.50 0.0443852 - 32.50 112.50 22.50 0.0217755 - 32.50 112.50 27.50 0.0101522 - 32.50 112.50 32.50 0.00563606 - 32.50 112.50 37.50 0.0160792 - 32.50 112.50 42.50 0.0711077 - 32.50 112.50 47.50 0.232757 - 32.50 112.50 52.50 0.569088 - 32.50 112.50 57.50 1.24276 - 32.50 112.50 62.50 2.39754 - 32.50 112.50 67.50 3.68294 - 32.50 112.50 72.50 4.51332 - 32.50 112.50 77.50 4.3741 - 32.50 112.50 82.50 3.60754 - 32.50 112.50 87.50 2.33131 - 32.50 112.50 92.50 1.09345 - 32.50 112.50 97.50 0.40894 - 32.50 112.50 102.50 0.141005 - 32.50 112.50 107.50 0.0443851 - 32.50 112.50 112.50 0.0217754 - 32.50 112.50 117.50 0.0101522 - 32.50 112.50 122.50 0.00563606 - 32.50 112.50 127.50 0.0160792 - 32.50 112.50 132.50 0.0711077 - 32.50 112.50 137.50 0.232757 - 32.50 112.50 142.50 0.569088 - 32.50 112.50 147.50 1.24276 - 32.50 112.50 152.50 2.39753 - 32.50 112.50 157.50 3.68294 - 32.50 112.50 162.50 4.51332 - 32.50 112.50 167.50 4.3741 - 32.50 112.50 172.50 3.60754 - 32.50 112.50 177.50 2.33131 - 32.50 112.50 182.50 1.09344 - 32.50 112.50 187.50 0.40894 - 32.50 112.50 192.50 0.141005 - 32.50 112.50 197.50 0.0443851 - 32.50 112.50 202.50 0.0217755 - 32.50 112.50 207.50 0.0101522 - 32.50 112.50 212.50 0.00563605 - 32.50 112.50 217.50 0.0160792 - 32.50 112.50 222.50 0.0711075 - 32.50 112.50 227.50 0.232756 - 32.50 112.50 232.50 0.569089 - 32.50 112.50 237.50 1.24276 - 32.50 112.50 242.50 2.39754 - 32.50 112.50 247.50 3.68294 - 32.50 112.50 252.50 4.51332 - 32.50 112.50 257.50 4.37409 - 32.50 112.50 262.50 3.60754 - 32.50 112.50 267.50 2.33131 - 32.50 112.50 272.50 1.09345 - 32.50 112.50 277.50 0.40894 - 32.50 112.50 282.50 0.141005 - 32.50 112.50 287.50 0.0443852 - 32.50 112.50 292.50 0.0217755 - 32.50 112.50 297.50 0.0101522 - 32.50 112.50 302.50 0.00563605 - 32.50 112.50 307.50 0.0160791 - 32.50 112.50 312.50 0.0711075 - 32.50 112.50 317.50 0.232757 - 32.50 112.50 322.50 0.569086 - 32.50 112.50 327.50 1.24276 - 32.50 112.50 332.50 2.39753 - 32.50 112.50 337.50 3.68294 - 32.50 112.50 342.50 4.51332 - 32.50 112.50 347.50 4.3741 - 32.50 112.50 352.50 3.60755 - 32.50 112.50 357.50 2.33132 - 32.50 117.50 2.50 1.96804 - 32.50 117.50 7.50 0.870675 - 32.50 117.50 12.50 0.347857 - 32.50 117.50 17.50 0.12179 - 32.50 117.50 22.50 0.0403447 - 32.50 117.50 27.50 0.0137423 - 32.50 117.50 32.50 0.00519188 - 32.50 117.50 37.50 0.0081022 - 32.50 117.50 42.50 0.0465225 - 32.50 117.50 47.50 0.160589 - 32.50 117.50 52.50 0.449242 - 32.50 117.50 57.50 1.11393 - 32.50 117.50 62.50 2.38624 - 32.50 117.50 67.50 3.94446 - 32.50 117.50 72.50 5.11389 - 32.50 117.50 77.50 5.45633 - 32.50 117.50 82.50 4.88871 - 32.50 117.50 87.50 3.5881 - 32.50 117.50 92.50 1.96803 - 32.50 117.50 97.50 0.870675 - 32.50 117.50 102.50 0.347857 - 32.50 117.50 107.50 0.12179 - 32.50 117.50 112.50 0.0403446 - 32.50 117.50 117.50 0.0137423 - 32.50 117.50 122.50 0.00519187 - 32.50 117.50 127.50 0.00810221 - 32.50 117.50 132.50 0.0465226 - 32.50 117.50 137.50 0.160589 - 32.50 117.50 142.50 0.449242 - 32.50 117.50 147.50 1.11393 - 32.50 117.50 152.50 2.38624 - 32.50 117.50 157.50 3.94446 - 32.50 117.50 162.50 5.11389 - 32.50 117.50 167.50 5.45633 - 32.50 117.50 172.50 4.88871 - 32.50 117.50 177.50 3.58811 - 32.50 117.50 182.50 1.96803 - 32.50 117.50 187.50 0.870675 - 32.50 117.50 192.50 0.347858 - 32.50 117.50 197.50 0.12179 - 32.50 117.50 202.50 0.0403447 - 32.50 117.50 207.50 0.0137423 - 32.50 117.50 212.50 0.00519188 - 32.50 117.50 217.50 0.00810219 - 32.50 117.50 222.50 0.0465225 - 32.50 117.50 227.50 0.160588 - 32.50 117.50 232.50 0.449242 - 32.50 117.50 237.50 1.11393 - 32.50 117.50 242.50 2.38624 - 32.50 117.50 247.50 3.94446 - 32.50 117.50 252.50 5.1139 - 32.50 117.50 257.50 5.45633 - 32.50 117.50 262.50 4.88871 - 32.50 117.50 267.50 3.5881 - 32.50 117.50 272.50 1.96804 - 32.50 117.50 277.50 0.870675 - 32.50 117.50 282.50 0.347857 - 32.50 117.50 287.50 0.12179 - 32.50 117.50 292.50 0.0403447 - 32.50 117.50 297.50 0.0137423 - 32.50 117.50 302.50 0.00519189 - 32.50 117.50 307.50 0.00810219 - 32.50 117.50 312.50 0.0465225 - 32.50 117.50 317.50 0.160588 - 32.50 117.50 322.50 0.449241 - 32.50 117.50 327.50 1.11393 - 32.50 117.50 332.50 2.38624 - 32.50 117.50 337.50 3.94446 - 32.50 117.50 342.50 5.11389 - 32.50 117.50 347.50 5.45633 - 32.50 117.50 352.50 4.88872 - 32.50 117.50 357.50 3.58811 - 32.50 122.50 2.50 2.99998 - 32.50 122.50 7.50 1.64726 - 32.50 122.50 12.50 0.81647 - 32.50 122.50 17.50 0.352535 - 32.50 122.50 22.50 0.128789 - 32.50 122.50 27.50 0.0423286 - 32.50 122.50 32.50 0.015063 - 32.50 122.50 37.50 0.00644962 - 32.50 122.50 42.50 0.0160806 - 32.50 122.50 47.50 0.063565 - 32.50 122.50 52.50 0.228709 - 32.50 122.50 57.50 0.76075 - 32.50 122.50 62.50 1.79067 - 32.50 122.50 67.50 3.29407 - 32.50 122.50 72.50 4.69798 - 32.50 122.50 77.50 5.56268 - 32.50 122.50 82.50 5.52208 - 32.50 122.50 87.50 4.66052 - 32.50 122.50 92.50 2.99998 - 32.50 122.50 97.50 1.64726 - 32.50 122.50 102.50 0.81647 - 32.50 122.50 107.50 0.352535 - 32.50 122.50 112.50 0.128789 - 32.50 122.50 117.50 0.0423285 - 32.50 122.50 122.50 0.0150629 - 32.50 122.50 127.50 0.00644963 - 32.50 122.50 132.50 0.0160806 - 32.50 122.50 137.50 0.063565 - 32.50 122.50 142.50 0.228709 - 32.50 122.50 147.50 0.76075 - 32.50 122.50 152.50 1.79067 - 32.50 122.50 157.50 3.29407 - 32.50 122.50 162.50 4.69798 - 32.50 122.50 167.50 5.56268 - 32.50 122.50 172.50 5.52208 - 32.50 122.50 177.50 4.66052 - 32.50 122.50 182.50 2.99998 - 32.50 122.50 187.50 1.64726 - 32.50 122.50 192.50 0.816469 - 32.50 122.50 197.50 0.352535 - 32.50 122.50 202.50 0.128789 - 32.50 122.50 207.50 0.0423287 - 32.50 122.50 212.50 0.015063 - 32.50 122.50 217.50 0.00644963 - 32.50 122.50 222.50 0.0160805 - 32.50 122.50 227.50 0.0635649 - 32.50 122.50 232.50 0.228709 - 32.50 122.50 237.50 0.760751 - 32.50 122.50 242.50 1.79067 - 32.50 122.50 247.50 3.29407 - 32.50 122.50 252.50 4.69798 - 32.50 122.50 257.50 5.56268 - 32.50 122.50 262.50 5.52208 - 32.50 122.50 267.50 4.66052 - 32.50 122.50 272.50 2.99998 - 32.50 122.50 277.50 1.64726 - 32.50 122.50 282.50 0.81647 - 32.50 122.50 287.50 0.352535 - 32.50 122.50 292.50 0.128789 - 32.50 122.50 297.50 0.0423287 - 32.50 122.50 302.50 0.015063 - 32.50 122.50 307.50 0.00644962 - 32.50 122.50 312.50 0.0160805 - 32.50 122.50 317.50 0.0635648 - 32.50 122.50 322.50 0.228708 - 32.50 122.50 327.50 0.760748 - 32.50 122.50 332.50 1.79067 - 32.50 122.50 337.50 3.29406 - 32.50 122.50 342.50 4.69798 - 32.50 122.50 347.50 5.56268 - 32.50 122.50 352.50 5.52208 - 32.50 122.50 357.50 4.66052 - 32.50 127.50 2.50 3.97879 - 32.50 127.50 7.50 2.7973 - 32.50 127.50 12.50 1.71985 - 32.50 127.50 17.50 0.878167 - 32.50 127.50 22.50 0.384209 - 32.50 127.50 27.50 0.147507 - 32.50 127.50 32.50 0.0483811 - 32.50 127.50 37.50 0.012454 - 32.50 127.50 42.50 0.00544401 - 32.50 127.50 47.50 0.022614 - 32.50 127.50 52.50 0.10508 - 32.50 127.50 57.50 0.405451 - 32.50 127.50 62.50 1.13084 - 32.50 127.50 67.50 2.23604 - 32.50 127.50 72.50 3.46852 - 32.50 127.50 77.50 4.61669 - 32.50 127.50 82.50 5.31958 - 32.50 127.50 87.50 5.14816 - 32.50 127.50 92.50 3.97879 - 32.50 127.50 97.50 2.7973 - 32.50 127.50 102.50 1.71985 - 32.50 127.50 107.50 0.878167 - 32.50 127.50 112.50 0.384209 - 32.50 127.50 117.50 0.147507 - 32.50 127.50 122.50 0.0483811 - 32.50 127.50 127.50 0.012454 - 32.50 127.50 132.50 0.00544401 - 32.50 127.50 137.50 0.022614 - 32.50 127.50 142.50 0.10508 - 32.50 127.50 147.50 0.40545 - 32.50 127.50 152.50 1.13084 - 32.50 127.50 157.50 2.23604 - 32.50 127.50 162.50 3.46852 - 32.50 127.50 167.50 4.61669 - 32.50 127.50 172.50 5.31958 - 32.50 127.50 177.50 5.14816 - 32.50 127.50 182.50 3.97878 - 32.50 127.50 187.50 2.7973 - 32.50 127.50 192.50 1.71985 - 32.50 127.50 197.50 0.878167 - 32.50 127.50 202.50 0.384209 - 32.50 127.50 207.50 0.147507 - 32.50 127.50 212.50 0.0483811 - 32.50 127.50 217.50 0.012454 - 32.50 127.50 222.50 0.005444 - 32.50 127.50 227.50 0.0226139 - 32.50 127.50 232.50 0.10508 - 32.50 127.50 237.50 0.405451 - 32.50 127.50 242.50 1.13084 - 32.50 127.50 247.50 2.23604 - 32.50 127.50 252.50 3.46852 - 32.50 127.50 257.50 4.61669 - 32.50 127.50 262.50 5.31959 - 32.50 127.50 267.50 5.14815 - 32.50 127.50 272.50 3.97879 - 32.50 127.50 277.50 2.7973 - 32.50 127.50 282.50 1.71985 - 32.50 127.50 287.50 0.878167 - 32.50 127.50 292.50 0.384209 - 32.50 127.50 297.50 0.147508 - 32.50 127.50 302.50 0.0483812 - 32.50 127.50 307.50 0.012454 - 32.50 127.50 312.50 0.005444 - 32.50 127.50 317.50 0.0226139 - 32.50 127.50 322.50 0.10508 - 32.50 127.50 327.50 0.405449 - 32.50 127.50 332.50 1.13083 - 32.50 127.50 337.50 2.23603 - 32.50 127.50 342.50 3.46852 - 32.50 127.50 347.50 4.61668 - 32.50 127.50 352.50 5.31958 - 32.50 127.50 357.50 5.14816 - 32.50 132.50 2.50 4.69043 - 32.50 132.50 7.50 4.08367 - 32.50 132.50 12.50 2.95837 - 32.50 132.50 17.50 1.72464 - 32.50 132.50 22.50 0.884918 - 32.50 132.50 27.50 0.383308 - 32.50 132.50 32.50 0.126388 - 32.50 132.50 37.50 0.0411484 - 32.50 132.50 42.50 0.00928605 - 32.50 132.50 47.50 0.00650745 - 32.50 132.50 52.50 0.0410824 - 32.50 132.50 57.50 0.192946 - 32.50 132.50 62.50 0.570496 - 32.50 132.50 67.50 1.22267 - 32.50 132.50 72.50 2.13189 - 32.50 132.50 77.50 3.28921 - 32.50 132.50 82.50 4.46699 - 32.50 132.50 87.50 4.9821 - 32.50 132.50 92.50 4.69043 - 32.50 132.50 97.50 4.08367 - 32.50 132.50 102.50 2.95837 - 32.50 132.50 107.50 1.72464 - 32.50 132.50 112.50 0.884918 - 32.50 132.50 117.50 0.383307 - 32.50 132.50 122.50 0.126388 - 32.50 132.50 127.50 0.0411484 - 32.50 132.50 132.50 0.00928603 - 32.50 132.50 137.50 0.00650745 - 32.50 132.50 142.50 0.0410824 - 32.50 132.50 147.50 0.192946 - 32.50 132.50 152.50 0.570495 - 32.50 132.50 157.50 1.22267 - 32.50 132.50 162.50 2.13189 - 32.50 132.50 167.50 3.28921 - 32.50 132.50 172.50 4.46699 - 32.50 132.50 177.50 4.9821 - 32.50 132.50 182.50 4.69043 - 32.50 132.50 187.50 4.08367 - 32.50 132.50 192.50 2.95836 - 32.50 132.50 197.50 1.72464 - 32.50 132.50 202.50 0.884917 - 32.50 132.50 207.50 0.383307 - 32.50 132.50 212.50 0.126388 - 32.50 132.50 217.50 0.0411484 - 32.50 132.50 222.50 0.00928605 - 32.50 132.50 227.50 0.00650742 - 32.50 132.50 232.50 0.0410825 - 32.50 132.50 237.50 0.192946 - 32.50 132.50 242.50 0.570496 - 32.50 132.50 247.50 1.22267 - 32.50 132.50 252.50 2.13189 - 32.50 132.50 257.50 3.28921 - 32.50 132.50 262.50 4.467 - 32.50 132.50 267.50 4.9821 - 32.50 132.50 272.50 4.69043 - 32.50 132.50 277.50 4.08367 - 32.50 132.50 282.50 2.95837 - 32.50 132.50 287.50 1.72464 - 32.50 132.50 292.50 0.884918 - 32.50 132.50 297.50 0.383308 - 32.50 132.50 302.50 0.126388 - 32.50 132.50 307.50 0.0411485 - 32.50 132.50 312.50 0.00928606 - 32.50 132.50 317.50 0.00650742 - 32.50 132.50 322.50 0.0410823 - 32.50 132.50 327.50 0.192946 - 32.50 132.50 332.50 0.570495 - 32.50 132.50 337.50 1.22267 - 32.50 132.50 342.50 2.13189 - 32.50 132.50 347.50 3.28921 - 32.50 132.50 352.50 4.46699 - 32.50 132.50 357.50 4.9821 - 32.50 137.50 2.50 4.9523 - 32.50 137.50 7.50 4.95933 - 32.50 137.50 12.50 4.02082 - 32.50 137.50 17.50 2.64963 - 32.50 137.50 22.50 1.56269 - 32.50 137.50 27.50 0.775072 - 32.50 137.50 32.50 0.316416 - 32.50 137.50 37.50 0.0961165 - 32.50 137.50 42.50 0.0206882 - 32.50 137.50 47.50 0.00573954 - 32.50 137.50 52.50 0.0117542 - 32.50 137.50 57.50 0.06603 - 32.50 137.50 62.50 0.213501 - 32.50 137.50 67.50 0.533433 - 32.50 137.50 72.50 1.12772 - 32.50 137.50 77.50 2.10821 - 32.50 137.50 82.50 3.38468 - 32.50 137.50 87.50 4.39341 - 32.50 137.50 92.50 4.9523 - 32.50 137.50 97.50 4.95933 - 32.50 137.50 102.50 4.02082 - 32.50 137.50 107.50 2.64963 - 32.50 137.50 112.50 1.56269 - 32.50 137.50 117.50 0.775071 - 32.50 137.50 122.50 0.316415 - 32.50 137.50 127.50 0.0961165 - 32.50 137.50 132.50 0.0206882 - 32.50 137.50 137.50 0.00573954 - 32.50 137.50 142.50 0.0117542 - 32.50 137.50 147.50 0.06603 - 32.50 137.50 152.50 0.213501 - 32.50 137.50 157.50 0.533432 - 32.50 137.50 162.50 1.12772 - 32.50 137.50 167.50 2.10821 - 32.50 137.50 172.50 3.38468 - 32.50 137.50 177.50 4.39341 - 32.50 137.50 182.50 4.95231 - 32.50 137.50 187.50 4.95933 - 32.50 137.50 192.50 4.02082 - 32.50 137.50 197.50 2.64963 - 32.50 137.50 202.50 1.56269 - 32.50 137.50 207.50 0.775072 - 32.50 137.50 212.50 0.316415 - 32.50 137.50 217.50 0.0961166 - 32.50 137.50 222.50 0.0206882 - 32.50 137.50 227.50 0.00573954 - 32.50 137.50 232.50 0.0117543 - 32.50 137.50 237.50 0.0660301 - 32.50 137.50 242.50 0.213501 - 32.50 137.50 247.50 0.533433 - 32.50 137.50 252.50 1.12773 - 32.50 137.50 257.50 2.10821 - 32.50 137.50 262.50 3.38468 - 32.50 137.50 267.50 4.39341 - 32.50 137.50 272.50 4.95231 - 32.50 137.50 277.50 4.95933 - 32.50 137.50 282.50 4.02082 - 32.50 137.50 287.50 2.64963 - 32.50 137.50 292.50 1.56269 - 32.50 137.50 297.50 0.775072 - 32.50 137.50 302.50 0.316416 - 32.50 137.50 307.50 0.0961166 - 32.50 137.50 312.50 0.0206882 - 32.50 137.50 317.50 0.00573953 - 32.50 137.50 322.50 0.0117541 - 32.50 137.50 327.50 0.0660298 - 32.50 137.50 332.50 0.2135 - 32.50 137.50 337.50 0.533431 - 32.50 137.50 342.50 1.12772 - 32.50 137.50 347.50 2.1082 - 32.50 137.50 352.50 3.38468 - 32.50 137.50 357.50 4.39341 - 32.50 142.50 2.50 4.69043 - 32.50 142.50 7.50 5.1111 - 32.50 142.50 12.50 4.48177 - 32.50 142.50 17.50 3.2594 - 32.50 142.50 22.50 2.13667 - 32.50 142.50 27.50 1.24593 - 32.50 142.50 32.50 0.579261 - 32.50 142.50 37.50 0.198827 - 32.50 142.50 42.50 0.049226 - 32.50 142.50 47.50 0.00979707 - 32.50 142.50 52.50 0.00463361 - 32.50 142.50 57.50 0.0164119 - 32.50 142.50 62.50 0.0681549 - 32.50 142.50 67.50 0.201332 - 32.50 142.50 72.50 0.550166 - 32.50 142.50 77.50 1.26737 - 32.50 142.50 82.50 2.37639 - 32.50 142.50 87.50 3.58904 - 32.50 142.50 92.50 4.69043 - 32.50 142.50 97.50 5.1111 - 32.50 142.50 102.50 4.48177 - 32.50 142.50 107.50 3.2594 - 32.50 142.50 112.50 2.13666 - 32.50 142.50 117.50 1.24593 - 32.50 142.50 122.50 0.579261 - 32.50 142.50 127.50 0.198827 - 32.50 142.50 132.50 0.049226 - 32.50 142.50 137.50 0.00979706 - 32.50 142.50 142.50 0.00463361 - 32.50 142.50 147.50 0.0164119 - 32.50 142.50 152.50 0.0681549 - 32.50 142.50 157.50 0.201332 - 32.50 142.50 162.50 0.550165 - 32.50 142.50 167.50 1.26737 - 32.50 142.50 172.50 2.37639 - 32.50 142.50 177.50 3.58904 - 32.50 142.50 182.50 4.69043 - 32.50 142.50 187.50 5.1111 - 32.50 142.50 192.50 4.48177 - 32.50 142.50 197.50 3.2594 - 32.50 142.50 202.50 2.13666 - 32.50 142.50 207.50 1.24593 - 32.50 142.50 212.50 0.579261 - 32.50 142.50 217.50 0.198828 - 32.50 142.50 222.50 0.049226 - 32.50 142.50 227.50 0.00979709 - 32.50 142.50 232.50 0.00463361 - 32.50 142.50 237.50 0.0164119 - 32.50 142.50 242.50 0.068155 - 32.50 142.50 247.50 0.201332 - 32.50 142.50 252.50 0.550166 - 32.50 142.50 257.50 1.26737 - 32.50 142.50 262.50 2.37639 - 32.50 142.50 267.50 3.58904 - 32.50 142.50 272.50 4.69043 - 32.50 142.50 277.50 5.1111 - 32.50 142.50 282.50 4.48177 - 32.50 142.50 287.50 3.2594 - 32.50 142.50 292.50 2.13666 - 32.50 142.50 297.50 1.24593 - 32.50 142.50 302.50 0.579262 - 32.50 142.50 307.50 0.198828 - 32.50 142.50 312.50 0.049226 - 32.50 142.50 317.50 0.0097971 - 32.50 142.50 322.50 0.0046336 - 32.50 142.50 327.50 0.0164118 - 32.50 142.50 332.50 0.0681547 - 32.50 142.50 337.50 0.201331 - 32.50 142.50 342.50 0.550164 - 32.50 142.50 347.50 1.26736 - 32.50 142.50 352.50 2.37638 - 32.50 142.50 357.50 3.58904 - 32.50 147.50 2.50 3.97879 - 32.50 147.50 7.50 4.60371 - 32.50 147.50 12.50 4.256 - 32.50 147.50 17.50 3.31617 - 32.50 147.50 22.50 2.39561 - 32.50 147.50 27.50 1.60325 - 32.50 147.50 32.50 0.888363 - 32.50 147.50 37.50 0.374936 - 32.50 147.50 42.50 0.118135 - 32.50 147.50 47.50 0.0338126 - 32.50 147.50 52.50 0.00985912 - 32.50 147.50 57.50 0.0059582 - 32.50 147.50 62.50 0.0192987 - 32.50 147.50 67.50 0.0727313 - 32.50 147.50 72.50 0.254908 - 32.50 147.50 77.50 0.710543 - 32.50 147.50 82.50 1.56092 - 32.50 147.50 87.50 2.71873 - 32.50 147.50 92.50 3.97879 - 32.50 147.50 97.50 4.6037 - 32.50 147.50 102.50 4.256 - 32.50 147.50 107.50 3.31617 - 32.50 147.50 112.50 2.39561 - 32.50 147.50 117.50 1.60325 - 32.50 147.50 122.50 0.888363 - 32.50 147.50 127.50 0.374935 - 32.50 147.50 132.50 0.118135 - 32.50 147.50 137.50 0.0338126 - 32.50 147.50 142.50 0.00985912 - 32.50 147.50 147.50 0.00595821 - 32.50 147.50 152.50 0.0192987 - 32.50 147.50 157.50 0.0727312 - 32.50 147.50 162.50 0.254908 - 32.50 147.50 167.50 0.710543 - 32.50 147.50 172.50 1.56092 - 32.50 147.50 177.50 2.71873 - 32.50 147.50 182.50 3.97879 - 32.50 147.50 187.50 4.6037 - 32.50 147.50 192.50 4.256 - 32.50 147.50 197.50 3.31617 - 32.50 147.50 202.50 2.39561 - 32.50 147.50 207.50 1.60325 - 32.50 147.50 212.50 0.888363 - 32.50 147.50 217.50 0.374936 - 32.50 147.50 222.50 0.118135 - 32.50 147.50 227.50 0.0338126 - 32.50 147.50 232.50 0.00985911 - 32.50 147.50 237.50 0.00595821 - 32.50 147.50 242.50 0.0192987 - 32.50 147.50 247.50 0.0727313 - 32.50 147.50 252.50 0.254908 - 32.50 147.50 257.50 0.710544 - 32.50 147.50 262.50 1.56092 - 32.50 147.50 267.50 2.71873 - 32.50 147.50 272.50 3.97879 - 32.50 147.50 277.50 4.6037 - 32.50 147.50 282.50 4.256 - 32.50 147.50 287.50 3.31617 - 32.50 147.50 292.50 2.39561 - 32.50 147.50 297.50 1.60325 - 32.50 147.50 302.50 0.888364 - 32.50 147.50 307.50 0.374936 - 32.50 147.50 312.50 0.118135 - 32.50 147.50 317.50 0.0338126 - 32.50 147.50 322.50 0.00985914 - 32.50 147.50 327.50 0.00595819 - 32.50 147.50 332.50 0.0192987 - 32.50 147.50 337.50 0.072731 - 32.50 147.50 342.50 0.254907 - 32.50 147.50 347.50 0.710541 - 32.50 147.50 352.50 1.56092 - 32.50 147.50 357.50 2.71873 - 32.50 152.50 2.50 2.99999 - 32.50 152.50 7.50 3.62013 - 32.50 152.50 12.50 3.52468 - 32.50 152.50 17.50 3.01306 - 32.50 152.50 22.50 2.38047 - 32.50 152.50 27.50 1.85572 - 32.50 152.50 32.50 1.18313 - 32.50 152.50 37.50 0.590122 - 32.50 152.50 42.50 0.252065 - 32.50 152.50 47.50 0.0970907 - 32.50 152.50 52.50 0.028818 - 32.50 152.50 57.50 0.0075523 - 32.50 152.50 62.50 0.00676334 - 32.50 152.50 67.50 0.0277003 - 32.50 152.50 72.50 0.12523 - 32.50 152.50 77.50 0.398625 - 32.50 152.50 82.50 1.02375 - 32.50 152.50 87.50 1.90997 - 32.50 152.50 92.50 2.99998 - 32.50 152.50 97.50 3.62013 - 32.50 152.50 102.50 3.52469 - 32.50 152.50 107.50 3.01306 - 32.50 152.50 112.50 2.38047 - 32.50 152.50 117.50 1.85572 - 32.50 152.50 122.50 1.18313 - 32.50 152.50 127.50 0.590122 - 32.50 152.50 132.50 0.252065 - 32.50 152.50 137.50 0.0970907 - 32.50 152.50 142.50 0.028818 - 32.50 152.50 147.50 0.0075523 - 32.50 152.50 152.50 0.00676334 - 32.50 152.50 157.50 0.0277001 - 32.50 152.50 162.50 0.12523 - 32.50 152.50 167.50 0.398625 - 32.50 152.50 172.50 1.02375 - 32.50 152.50 177.50 1.90997 - 32.50 152.50 182.50 2.99998 - 32.50 152.50 187.50 3.62014 - 32.50 152.50 192.50 3.52469 - 32.50 152.50 197.50 3.01306 - 32.50 152.50 202.50 2.38047 - 32.50 152.50 207.50 1.85572 - 32.50 152.50 212.50 1.18313 - 32.50 152.50 217.50 0.590122 - 32.50 152.50 222.50 0.252065 - 32.50 152.50 227.50 0.0970907 - 32.50 152.50 232.50 0.028818 - 32.50 152.50 237.50 0.00755229 - 32.50 152.50 242.50 0.00676335 - 32.50 152.50 247.50 0.0277002 - 32.50 152.50 252.50 0.12523 - 32.50 152.50 257.50 0.398625 - 32.50 152.50 262.50 1.02375 - 32.50 152.50 267.50 1.90997 - 32.50 152.50 272.50 2.99998 - 32.50 152.50 277.50 3.62013 - 32.50 152.50 282.50 3.52469 - 32.50 152.50 287.50 3.01306 - 32.50 152.50 292.50 2.38047 - 32.50 152.50 297.50 1.85572 - 32.50 152.50 302.50 1.18313 - 32.50 152.50 307.50 0.590123 - 32.50 152.50 312.50 0.252065 - 32.50 152.50 317.50 0.0970908 - 32.50 152.50 322.50 0.0288181 - 32.50 152.50 327.50 0.00755233 - 32.50 152.50 332.50 0.00676332 - 32.50 152.50 337.50 0.0277 - 32.50 152.50 342.50 0.125229 - 32.50 152.50 347.50 0.398623 - 32.50 152.50 352.50 1.02375 - 32.50 152.50 357.50 1.90996 - 32.50 157.50 2.50 1.96804 - 32.50 157.50 7.50 2.42077 - 32.50 157.50 12.50 2.5334 - 32.50 157.50 17.50 2.38837 - 32.50 157.50 22.50 2.16923 - 32.50 157.50 27.50 1.89582 - 32.50 157.50 32.50 1.40128 - 32.50 157.50 37.50 0.833257 - 32.50 157.50 42.50 0.435607 - 32.50 157.50 47.50 0.195391 - 32.50 157.50 52.50 0.0644321 - 32.50 157.50 57.50 0.0142587 - 32.50 157.50 62.50 0.00850379 - 32.50 157.50 67.50 0.0316823 - 32.50 157.50 72.50 0.0981175 - 32.50 157.50 77.50 0.279702 - 32.50 157.50 82.50 0.671076 - 32.50 157.50 87.50 1.24071 - 32.50 157.50 92.50 1.96804 - 32.50 157.50 97.50 2.42077 - 32.50 157.50 102.50 2.5334 - 32.50 157.50 107.50 2.38837 - 32.50 157.50 112.50 2.16923 - 32.50 157.50 117.50 1.89582 - 32.50 157.50 122.50 1.40128 - 32.50 157.50 127.50 0.833257 - 32.50 157.50 132.50 0.435607 - 32.50 157.50 137.50 0.195391 - 32.50 157.50 142.50 0.064432 - 32.50 157.50 147.50 0.0142587 - 32.50 157.50 152.50 0.00850378 - 32.50 157.50 157.50 0.0316822 - 32.50 157.50 162.50 0.0981174 - 32.50 157.50 167.50 0.279702 - 32.50 157.50 172.50 0.671076 - 32.50 157.50 177.50 1.24071 - 32.50 157.50 182.50 1.96804 - 32.50 157.50 187.50 2.42077 - 32.50 157.50 192.50 2.5334 - 32.50 157.50 197.50 2.38837 - 32.50 157.50 202.50 2.16923 - 32.50 157.50 207.50 1.89582 - 32.50 157.50 212.50 1.40128 - 32.50 157.50 217.50 0.833257 - 32.50 157.50 222.50 0.435607 - 32.50 157.50 227.50 0.195391 - 32.50 157.50 232.50 0.0644319 - 32.50 157.50 237.50 0.0142587 - 32.50 157.50 242.50 0.00850379 - 32.50 157.50 247.50 0.0316823 - 32.50 157.50 252.50 0.0981175 - 32.50 157.50 257.50 0.279702 - 32.50 157.50 262.50 0.671077 - 32.50 157.50 267.50 1.24071 - 32.50 157.50 272.50 1.96804 - 32.50 157.50 277.50 2.42077 - 32.50 157.50 282.50 2.5334 - 32.50 157.50 287.50 2.38837 - 32.50 157.50 292.50 2.16923 - 32.50 157.50 297.50 1.89582 - 32.50 157.50 302.50 1.40128 - 32.50 157.50 307.50 0.833259 - 32.50 157.50 312.50 0.435607 - 32.50 157.50 317.50 0.195391 - 32.50 157.50 322.50 0.0644323 - 32.50 157.50 327.50 0.0142588 - 32.50 157.50 332.50 0.00850376 - 32.50 157.50 337.50 0.0316822 - 32.50 157.50 342.50 0.098117 - 32.50 157.50 347.50 0.279702 - 32.50 157.50 352.50 0.671074 - 32.50 157.50 357.50 1.24071 - 32.50 162.50 2.50 1.09345 - 32.50 162.50 7.50 1.35571 - 32.50 162.50 12.50 1.52053 - 32.50 162.50 17.50 1.61428 - 32.50 162.50 22.50 1.72818 - 32.50 162.50 27.50 1.74574 - 32.50 162.50 32.50 1.48599 - 32.50 162.50 37.50 1.02935 - 32.50 162.50 42.50 0.595059 - 32.50 162.50 47.50 0.278606 - 32.50 162.50 52.50 0.0971229 - 32.50 162.50 57.50 0.0269771 - 32.50 162.50 62.50 0.0246356 - 32.50 162.50 67.50 0.0662611 - 32.50 162.50 72.50 0.13557 - 32.50 162.50 77.50 0.239148 - 32.50 162.50 82.50 0.412757 - 32.50 162.50 87.50 0.71794 - 32.50 162.50 92.50 1.09345 - 32.50 162.50 97.50 1.35571 - 32.50 162.50 102.50 1.52053 - 32.50 162.50 107.50 1.61428 - 32.50 162.50 112.50 1.72818 - 32.50 162.50 117.50 1.74574 - 32.50 162.50 122.50 1.48599 - 32.50 162.50 127.50 1.02935 - 32.50 162.50 132.50 0.595058 - 32.50 162.50 137.50 0.278606 - 32.50 162.50 142.50 0.0971228 - 32.50 162.50 147.50 0.026977 - 32.50 162.50 152.50 0.0246356 - 32.50 162.50 157.50 0.066261 - 32.50 162.50 162.50 0.13557 - 32.50 162.50 167.50 0.239148 - 32.50 162.50 172.50 0.412757 - 32.50 162.50 177.50 0.717939 - 32.50 162.50 182.50 1.09345 - 32.50 162.50 187.50 1.35571 - 32.50 162.50 192.50 1.52053 - 32.50 162.50 197.50 1.61428 - 32.50 162.50 202.50 1.72818 - 32.50 162.50 207.50 1.74574 - 32.50 162.50 212.50 1.48599 - 32.50 162.50 217.50 1.02935 - 32.50 162.50 222.50 0.595059 - 32.50 162.50 227.50 0.278606 - 32.50 162.50 232.50 0.0971226 - 32.50 162.50 237.50 0.026977 - 32.50 162.50 242.50 0.0246356 - 32.50 162.50 247.50 0.0662611 - 32.50 162.50 252.50 0.13557 - 32.50 162.50 257.50 0.239149 - 32.50 162.50 262.50 0.412757 - 32.50 162.50 267.50 0.71794 - 32.50 162.50 272.50 1.09345 - 32.50 162.50 277.50 1.35571 - 32.50 162.50 282.50 1.52053 - 32.50 162.50 287.50 1.61428 - 32.50 162.50 292.50 1.72818 - 32.50 162.50 297.50 1.74574 - 32.50 162.50 302.50 1.48599 - 32.50 162.50 307.50 1.02935 - 32.50 162.50 312.50 0.595059 - 32.50 162.50 317.50 0.278606 - 32.50 162.50 322.50 0.0971231 - 32.50 162.50 327.50 0.0269771 - 32.50 162.50 332.50 0.0246355 - 32.50 162.50 337.50 0.066261 - 32.50 162.50 342.50 0.13557 - 32.50 162.50 347.50 0.239148 - 32.50 162.50 352.50 0.412756 - 32.50 162.50 357.50 0.717939 - 32.50 167.50 2.50 0.52242 - 32.50 167.50 7.50 0.637041 - 32.50 167.50 12.50 0.737725 - 32.50 167.50 17.50 0.925448 - 32.50 167.50 22.50 1.23581 - 32.50 167.50 27.50 1.52127 - 32.50 167.50 32.50 1.49764 - 32.50 167.50 37.50 1.10734 - 32.50 167.50 42.50 0.631521 - 32.50 167.50 47.50 0.296412 - 32.50 167.50 52.50 0.116219 - 32.50 167.50 57.50 0.0400303 - 32.50 167.50 62.50 0.0377469 - 32.50 167.50 67.50 0.097828 - 32.50 167.50 72.50 0.167805 - 32.50 167.50 77.50 0.207394 - 32.50 167.50 82.50 0.241365 - 32.50 167.50 87.50 0.373755 - 32.50 167.50 92.50 0.52242 - 32.50 167.50 97.50 0.637041 - 32.50 167.50 102.50 0.737725 - 32.50 167.50 107.50 0.925448 - 32.50 167.50 112.50 1.23582 - 32.50 167.50 117.50 1.52127 - 32.50 167.50 122.50 1.49764 - 32.50 167.50 127.50 1.10734 - 32.50 167.50 132.50 0.631521 - 32.50 167.50 137.50 0.296412 - 32.50 167.50 142.50 0.116219 - 32.50 167.50 147.50 0.0400304 - 32.50 167.50 152.50 0.0377468 - 32.50 167.50 157.50 0.0978279 - 32.50 167.50 162.50 0.167805 - 32.50 167.50 167.50 0.207394 - 32.50 167.50 172.50 0.241365 - 32.50 167.50 177.50 0.373755 - 32.50 167.50 182.50 0.52242 - 32.50 167.50 187.50 0.637041 - 32.50 167.50 192.50 0.737725 - 32.50 167.50 197.50 0.925448 - 32.50 167.50 202.50 1.23582 - 32.50 167.50 207.50 1.52127 - 32.50 167.50 212.50 1.49764 - 32.50 167.50 217.50 1.10734 - 32.50 167.50 222.50 0.631522 - 32.50 167.50 227.50 0.296413 - 32.50 167.50 232.50 0.116219 - 32.50 167.50 237.50 0.0400303 - 32.50 167.50 242.50 0.0377468 - 32.50 167.50 247.50 0.0978281 - 32.50 167.50 252.50 0.167806 - 32.50 167.50 257.50 0.207394 - 32.50 167.50 262.50 0.241365 - 32.50 167.50 267.50 0.373755 - 32.50 167.50 272.50 0.52242 - 32.50 167.50 277.50 0.637041 - 32.50 167.50 282.50 0.737724 - 32.50 167.50 287.50 0.925448 - 32.50 167.50 292.50 1.23581 - 32.50 167.50 297.50 1.52127 - 32.50 167.50 302.50 1.49764 - 32.50 167.50 307.50 1.10734 - 32.50 167.50 312.50 0.631522 - 32.50 167.50 317.50 0.296413 - 32.50 167.50 322.50 0.11622 - 32.50 167.50 327.50 0.0400304 - 32.50 167.50 332.50 0.0377467 - 32.50 167.50 337.50 0.0978278 - 32.50 167.50 342.50 0.167805 - 32.50 167.50 347.50 0.207394 - 32.50 167.50 352.50 0.241365 - 32.50 167.50 357.50 0.373755 - 32.50 172.50 2.50 0.23184 - 32.50 172.50 7.50 0.259509 - 32.50 172.50 12.50 0.304766 - 32.50 172.50 17.50 0.461096 - 32.50 172.50 22.50 0.815159 - 32.50 172.50 27.50 1.20655 - 32.50 172.50 32.50 1.30522 - 32.50 172.50 37.50 1.00249 - 32.50 172.50 42.50 0.562383 - 32.50 172.50 47.50 0.252107 - 32.50 172.50 52.50 0.100429 - 32.50 172.50 57.50 0.044108 - 32.50 172.50 62.50 0.0498097 - 32.50 172.50 67.50 0.0951407 - 32.50 172.50 72.50 0.140385 - 32.50 172.50 77.50 0.150042 - 32.50 172.50 82.50 0.163188 - 32.50 172.50 87.50 0.195649 - 32.50 172.50 92.50 0.23184 - 32.50 172.50 97.50 0.25951 - 32.50 172.50 102.50 0.304766 - 32.50 172.50 107.50 0.461097 - 32.50 172.50 112.50 0.815159 - 32.50 172.50 117.50 1.20655 - 32.50 172.50 122.50 1.30522 - 32.50 172.50 127.50 1.00249 - 32.50 172.50 132.50 0.562383 - 32.50 172.50 137.50 0.252107 - 32.50 172.50 142.50 0.100429 - 32.50 172.50 147.50 0.044108 - 32.50 172.50 152.50 0.0498096 - 32.50 172.50 157.50 0.0951406 - 32.50 172.50 162.50 0.140385 - 32.50 172.50 167.50 0.150042 - 32.50 172.50 172.50 0.163188 - 32.50 172.50 177.50 0.195649 - 32.50 172.50 182.50 0.231841 - 32.50 172.50 187.50 0.25951 - 32.50 172.50 192.50 0.304766 - 32.50 172.50 197.50 0.461097 - 32.50 172.50 202.50 0.815159 - 32.50 172.50 207.50 1.20655 - 32.50 172.50 212.50 1.30522 - 32.50 172.50 217.50 1.00249 - 32.50 172.50 222.50 0.562383 - 32.50 172.50 227.50 0.252107 - 32.50 172.50 232.50 0.100429 - 32.50 172.50 237.50 0.0441079 - 32.50 172.50 242.50 0.0498096 - 32.50 172.50 247.50 0.0951407 - 32.50 172.50 252.50 0.140385 - 32.50 172.50 257.50 0.150042 - 32.50 172.50 262.50 0.163188 - 32.50 172.50 267.50 0.195649 - 32.50 172.50 272.50 0.231841 - 32.50 172.50 277.50 0.259509 - 32.50 172.50 282.50 0.304766 - 32.50 172.50 287.50 0.461096 - 32.50 172.50 292.50 0.815159 - 32.50 172.50 297.50 1.20655 - 32.50 172.50 302.50 1.30522 - 32.50 172.50 307.50 1.00249 - 32.50 172.50 312.50 0.562384 - 32.50 172.50 317.50 0.252107 - 32.50 172.50 322.50 0.100429 - 32.50 172.50 327.50 0.044108 - 32.50 172.50 332.50 0.0498095 - 32.50 172.50 337.50 0.0951406 - 32.50 172.50 342.50 0.140385 - 32.50 172.50 347.50 0.150042 - 32.50 172.50 352.50 0.163188 - 32.50 172.50 357.50 0.195649 - 32.50 177.50 2.50 0.100122 - 32.50 177.50 7.50 0.0945824 - 32.50 177.50 12.50 0.114763 - 32.50 177.50 17.50 0.226978 - 32.50 177.50 22.50 0.502349 - 32.50 177.50 27.50 0.859326 - 32.50 177.50 32.50 1.00586 - 32.50 177.50 37.50 0.781004 - 32.50 177.50 42.50 0.416235 - 32.50 177.50 47.50 0.173853 - 32.50 177.50 52.50 0.0718401 - 32.50 177.50 57.50 0.041079 - 32.50 177.50 62.50 0.0465598 - 32.50 177.50 67.50 0.0748373 - 32.50 177.50 72.50 0.0979377 - 32.50 177.50 77.50 0.105452 - 32.50 177.50 82.50 0.106938 - 32.50 177.50 87.50 0.106232 - 32.50 177.50 92.50 0.100122 - 32.50 177.50 97.50 0.0945824 - 32.50 177.50 102.50 0.114763 - 32.50 177.50 107.50 0.226979 - 32.50 177.50 112.50 0.502349 - 32.50 177.50 117.50 0.859325 - 32.50 177.50 122.50 1.00586 - 32.50 177.50 127.50 0.781005 - 32.50 177.50 132.50 0.416235 - 32.50 177.50 137.50 0.173853 - 32.50 177.50 142.50 0.0718401 - 32.50 177.50 147.50 0.041079 - 32.50 177.50 152.50 0.0465597 - 32.50 177.50 157.50 0.0748372 - 32.50 177.50 162.50 0.0979378 - 32.50 177.50 167.50 0.105452 - 32.50 177.50 172.50 0.106938 - 32.50 177.50 177.50 0.106232 - 32.50 177.50 182.50 0.100122 - 32.50 177.50 187.50 0.0945824 - 32.50 177.50 192.50 0.114763 - 32.50 177.50 197.50 0.226978 - 32.50 177.50 202.50 0.502349 - 32.50 177.50 207.50 0.859326 - 32.50 177.50 212.50 1.00586 - 32.50 177.50 217.50 0.781005 - 32.50 177.50 222.50 0.416235 - 32.50 177.50 227.50 0.173854 - 32.50 177.50 232.50 0.07184 - 32.50 177.50 237.50 0.041079 - 32.50 177.50 242.50 0.0465597 - 32.50 177.50 247.50 0.0748373 - 32.50 177.50 252.50 0.0979379 - 32.50 177.50 257.50 0.105452 - 32.50 177.50 262.50 0.106938 - 32.50 177.50 267.50 0.106232 - 32.50 177.50 272.50 0.100122 - 32.50 177.50 277.50 0.0945824 - 32.50 177.50 282.50 0.114763 - 32.50 177.50 287.50 0.226978 - 32.50 177.50 292.50 0.502349 - 32.50 177.50 297.50 0.859326 - 32.50 177.50 302.50 1.00586 - 32.50 177.50 307.50 0.781005 - 32.50 177.50 312.50 0.416235 - 32.50 177.50 317.50 0.173854 - 32.50 177.50 322.50 0.0718402 - 32.50 177.50 327.50 0.041079 - 32.50 177.50 332.50 0.0465597 - 32.50 177.50 337.50 0.0748372 - 32.50 177.50 342.50 0.0979378 - 32.50 177.50 347.50 0.105452 - 32.50 177.50 352.50 0.106938 - 32.50 177.50 357.50 0.106232 - 37.50 2.50 2.50 0.0760385 - 37.50 2.50 7.50 0.083846 - 37.50 2.50 12.50 0.084539 - 37.50 2.50 17.50 0.083846 - 37.50 2.50 22.50 0.0760385 - 37.50 2.50 27.50 0.0601603 - 37.50 2.50 32.50 0.0485219 - 37.50 2.50 37.50 0.0624686 - 37.50 2.50 42.50 0.149977 - 37.50 2.50 47.50 0.393273 - 37.50 2.50 52.50 0.773179 - 37.50 2.50 57.50 0.980476 - 37.50 2.50 62.50 0.773178 - 37.50 2.50 67.50 0.393272 - 37.50 2.50 72.50 0.149977 - 37.50 2.50 77.50 0.0624685 - 37.50 2.50 82.50 0.0485219 - 37.50 2.50 87.50 0.0601603 - 37.50 2.50 92.50 0.0760386 - 37.50 2.50 97.50 0.083846 - 37.50 2.50 102.50 0.084539 - 37.50 2.50 107.50 0.083846 - 37.50 2.50 112.50 0.0760385 - 37.50 2.50 117.50 0.0601603 - 37.50 2.50 122.50 0.0485219 - 37.50 2.50 127.50 0.0624686 - 37.50 2.50 132.50 0.149977 - 37.50 2.50 137.50 0.393273 - 37.50 2.50 142.50 0.773179 - 37.50 2.50 147.50 0.980476 - 37.50 2.50 152.50 0.773179 - 37.50 2.50 157.50 0.393273 - 37.50 2.50 162.50 0.149977 - 37.50 2.50 167.50 0.0624686 - 37.50 2.50 172.50 0.0485219 - 37.50 2.50 177.50 0.0601603 - 37.50 2.50 182.50 0.0760386 - 37.50 2.50 187.50 0.083846 - 37.50 2.50 192.50 0.084539 - 37.50 2.50 197.50 0.083846 - 37.50 2.50 202.50 0.0760385 - 37.50 2.50 207.50 0.0601603 - 37.50 2.50 212.50 0.0485219 - 37.50 2.50 217.50 0.0624686 - 37.50 2.50 222.50 0.149977 - 37.50 2.50 227.50 0.393272 - 37.50 2.50 232.50 0.773179 - 37.50 2.50 237.50 0.980476 - 37.50 2.50 242.50 0.773178 - 37.50 2.50 247.50 0.393272 - 37.50 2.50 252.50 0.149977 - 37.50 2.50 257.50 0.0624685 - 37.50 2.50 262.50 0.048522 - 37.50 2.50 267.50 0.0601603 - 37.50 2.50 272.50 0.0760386 - 37.50 2.50 277.50 0.083846 - 37.50 2.50 282.50 0.084539 - 37.50 2.50 287.50 0.083846 - 37.50 2.50 292.50 0.0760385 - 37.50 2.50 297.50 0.0601603 - 37.50 2.50 302.50 0.0485219 - 37.50 2.50 307.50 0.0624686 - 37.50 2.50 312.50 0.149977 - 37.50 2.50 317.50 0.393272 - 37.50 2.50 322.50 0.773178 - 37.50 2.50 327.50 0.980476 - 37.50 2.50 332.50 0.773179 - 37.50 2.50 337.50 0.393273 - 37.50 2.50 342.50 0.149977 - 37.50 2.50 347.50 0.0624686 - 37.50 2.50 352.50 0.0485219 - 37.50 2.50 357.50 0.0601603 - 37.50 7.50 2.50 0.116068 - 37.50 7.50 7.50 0.114934 - 37.50 7.50 12.50 0.110487 - 37.50 7.50 17.50 0.103349 - 37.50 7.50 22.50 0.0829734 - 37.50 7.50 27.50 0.0545772 - 37.50 7.50 32.50 0.0411975 - 37.50 7.50 37.50 0.0734261 - 37.50 7.50 42.50 0.182192 - 37.50 7.50 47.50 0.423002 - 37.50 7.50 52.50 0.764686 - 37.50 7.50 57.50 0.961442 - 37.50 7.50 62.50 0.816791 - 37.50 7.50 67.50 0.493236 - 37.50 7.50 72.50 0.242646 - 37.50 7.50 77.50 0.130088 - 37.50 7.50 82.50 0.104517 - 37.50 7.50 87.50 0.109437 - 37.50 7.50 92.50 0.116068 - 37.50 7.50 97.50 0.114934 - 37.50 7.50 102.50 0.110487 - 37.50 7.50 107.50 0.103349 - 37.50 7.50 112.50 0.0829734 - 37.50 7.50 117.50 0.0545772 - 37.50 7.50 122.50 0.0411975 - 37.50 7.50 127.50 0.0734261 - 37.50 7.50 132.50 0.182192 - 37.50 7.50 137.50 0.423002 - 37.50 7.50 142.50 0.764686 - 37.50 7.50 147.50 0.961442 - 37.50 7.50 152.50 0.816791 - 37.50 7.50 157.50 0.493237 - 37.50 7.50 162.50 0.242646 - 37.50 7.50 167.50 0.130088 - 37.50 7.50 172.50 0.104517 - 37.50 7.50 177.50 0.109437 - 37.50 7.50 182.50 0.116068 - 37.50 7.50 187.50 0.114934 - 37.50 7.50 192.50 0.110487 - 37.50 7.50 197.50 0.103349 - 37.50 7.50 202.50 0.0829734 - 37.50 7.50 207.50 0.0545772 - 37.50 7.50 212.50 0.0411976 - 37.50 7.50 217.50 0.0734261 - 37.50 7.50 222.50 0.182192 - 37.50 7.50 227.50 0.423001 - 37.50 7.50 232.50 0.764687 - 37.50 7.50 237.50 0.961441 - 37.50 7.50 242.50 0.816791 - 37.50 7.50 247.50 0.493236 - 37.50 7.50 252.50 0.242645 - 37.50 7.50 257.50 0.130088 - 37.50 7.50 262.50 0.104517 - 37.50 7.50 267.50 0.109437 - 37.50 7.50 272.50 0.116068 - 37.50 7.50 277.50 0.114934 - 37.50 7.50 282.50 0.110487 - 37.50 7.50 287.50 0.103349 - 37.50 7.50 292.50 0.0829734 - 37.50 7.50 297.50 0.0545772 - 37.50 7.50 302.50 0.0411975 - 37.50 7.50 307.50 0.0734261 - 37.50 7.50 312.50 0.182192 - 37.50 7.50 317.50 0.423001 - 37.50 7.50 322.50 0.764685 - 37.50 7.50 327.50 0.961441 - 37.50 7.50 332.50 0.816791 - 37.50 7.50 337.50 0.493237 - 37.50 7.50 342.50 0.242646 - 37.50 7.50 347.50 0.130088 - 37.50 7.50 352.50 0.104517 - 37.50 7.50 357.50 0.109437 - 37.50 12.50 2.50 0.241647 - 37.50 12.50 7.50 0.200088 - 37.50 12.50 12.50 0.170538 - 37.50 12.50 17.50 0.14212 - 37.50 12.50 22.50 0.104071 - 37.50 12.50 27.50 0.0602944 - 37.50 12.50 32.50 0.0491384 - 37.50 12.50 37.50 0.101965 - 37.50 12.50 42.50 0.253802 - 37.50 12.50 47.50 0.554749 - 37.50 12.50 52.50 0.967709 - 37.50 12.50 57.50 1.23544 - 37.50 12.50 62.50 1.14639 - 37.50 12.50 67.50 0.820781 - 37.50 12.50 72.50 0.520798 - 37.50 12.50 77.50 0.35721 - 37.50 12.50 82.50 0.303618 - 37.50 12.50 87.50 0.277079 - 37.50 12.50 92.50 0.241647 - 37.50 12.50 97.50 0.200088 - 37.50 12.50 102.50 0.170538 - 37.50 12.50 107.50 0.14212 - 37.50 12.50 112.50 0.104071 - 37.50 12.50 117.50 0.0602944 - 37.50 12.50 122.50 0.0491385 - 37.50 12.50 127.50 0.101965 - 37.50 12.50 132.50 0.253802 - 37.50 12.50 137.50 0.554749 - 37.50 12.50 142.50 0.967709 - 37.50 12.50 147.50 1.23544 - 37.50 12.50 152.50 1.14639 - 37.50 12.50 157.50 0.820781 - 37.50 12.50 162.50 0.520798 - 37.50 12.50 167.50 0.35721 - 37.50 12.50 172.50 0.303618 - 37.50 12.50 177.50 0.277079 - 37.50 12.50 182.50 0.241647 - 37.50 12.50 187.50 0.200088 - 37.50 12.50 192.50 0.170538 - 37.50 12.50 197.50 0.142121 - 37.50 12.50 202.50 0.104071 - 37.50 12.50 207.50 0.0602945 - 37.50 12.50 212.50 0.0491384 - 37.50 12.50 217.50 0.101965 - 37.50 12.50 222.50 0.253802 - 37.50 12.50 227.50 0.554749 - 37.50 12.50 232.50 0.96771 - 37.50 12.50 237.50 1.23544 - 37.50 12.50 242.50 1.14639 - 37.50 12.50 247.50 0.82078 - 37.50 12.50 252.50 0.520798 - 37.50 12.50 257.50 0.357209 - 37.50 12.50 262.50 0.303618 - 37.50 12.50 267.50 0.277078 - 37.50 12.50 272.50 0.241647 - 37.50 12.50 277.50 0.200088 - 37.50 12.50 282.50 0.170538 - 37.50 12.50 287.50 0.142121 - 37.50 12.50 292.50 0.104071 - 37.50 12.50 297.50 0.0602945 - 37.50 12.50 302.50 0.0491384 - 37.50 12.50 307.50 0.101965 - 37.50 12.50 312.50 0.253802 - 37.50 12.50 317.50 0.554748 - 37.50 12.50 322.50 0.967708 - 37.50 12.50 327.50 1.23544 - 37.50 12.50 332.50 1.14639 - 37.50 12.50 337.50 0.820782 - 37.50 12.50 342.50 0.520798 - 37.50 12.50 347.50 0.35721 - 37.50 12.50 352.50 0.303618 - 37.50 12.50 357.50 0.277079 - 37.50 17.50 2.50 0.507759 - 37.50 17.50 7.50 0.341373 - 37.50 17.50 12.50 0.225285 - 37.50 17.50 17.50 0.175894 - 37.50 17.50 22.50 0.111707 - 37.50 17.50 27.50 0.0538103 - 37.50 17.50 32.50 0.0422284 - 37.50 17.50 37.50 0.111885 - 37.50 17.50 42.50 0.281274 - 37.50 17.50 47.50 0.592621 - 37.50 17.50 52.50 1.03144 - 37.50 17.50 57.50 1.4099 - 37.50 17.50 62.50 1.48102 - 37.50 17.50 67.50 1.284 - 37.50 17.50 72.50 1.05127 - 37.50 17.50 77.50 0.895645 - 37.50 17.50 82.50 0.768401 - 37.50 17.50 87.50 0.658212 - 37.50 17.50 92.50 0.507759 - 37.50 17.50 97.50 0.341373 - 37.50 17.50 102.50 0.225285 - 37.50 17.50 107.50 0.175894 - 37.50 17.50 112.50 0.111707 - 37.50 17.50 117.50 0.0538103 - 37.50 17.50 122.50 0.0422284 - 37.50 17.50 127.50 0.111885 - 37.50 17.50 132.50 0.281274 - 37.50 17.50 137.50 0.592621 - 37.50 17.50 142.50 1.03144 - 37.50 17.50 147.50 1.4099 - 37.50 17.50 152.50 1.48102 - 37.50 17.50 157.50 1.284 - 37.50 17.50 162.50 1.05127 - 37.50 17.50 167.50 0.895645 - 37.50 17.50 172.50 0.768401 - 37.50 17.50 177.50 0.658212 - 37.50 17.50 182.50 0.507759 - 37.50 17.50 187.50 0.341373 - 37.50 17.50 192.50 0.225286 - 37.50 17.50 197.50 0.175894 - 37.50 17.50 202.50 0.111707 - 37.50 17.50 207.50 0.0538103 - 37.50 17.50 212.50 0.0422284 - 37.50 17.50 217.50 0.111885 - 37.50 17.50 222.50 0.281274 - 37.50 17.50 227.50 0.59262 - 37.50 17.50 232.50 1.03144 - 37.50 17.50 237.50 1.4099 - 37.50 17.50 242.50 1.48102 - 37.50 17.50 247.50 1.284 - 37.50 17.50 252.50 1.05127 - 37.50 17.50 257.50 0.895645 - 37.50 17.50 262.50 0.768401 - 37.50 17.50 267.50 0.658212 - 37.50 17.50 272.50 0.507759 - 37.50 17.50 277.50 0.341373 - 37.50 17.50 282.50 0.225286 - 37.50 17.50 287.50 0.175894 - 37.50 17.50 292.50 0.111707 - 37.50 17.50 297.50 0.0538103 - 37.50 17.50 302.50 0.0422283 - 37.50 17.50 307.50 0.111885 - 37.50 17.50 312.50 0.281274 - 37.50 17.50 317.50 0.59262 - 37.50 17.50 322.50 1.03144 - 37.50 17.50 327.50 1.4099 - 37.50 17.50 332.50 1.48102 - 37.50 17.50 337.50 1.284 - 37.50 17.50 342.50 1.05127 - 37.50 17.50 347.50 0.895646 - 37.50 17.50 352.50 0.768402 - 37.50 17.50 357.50 0.658212 - 37.50 22.50 2.50 1.03943 - 37.50 22.50 7.50 0.593795 - 37.50 22.50 12.50 0.307097 - 37.50 22.50 17.50 0.165007 - 37.50 22.50 22.50 0.0783439 - 37.50 22.50 27.50 0.0323285 - 37.50 22.50 32.50 0.0276614 - 37.50 22.50 37.50 0.0816891 - 37.50 22.50 42.50 0.234621 - 37.50 22.50 47.50 0.521484 - 37.50 22.50 52.50 0.932671 - 37.50 22.50 57.50 1.38431 - 37.50 22.50 62.50 1.69363 - 37.50 22.50 67.50 1.80113 - 37.50 22.50 72.50 1.80989 - 37.50 22.50 77.50 1.7923 - 37.50 22.50 82.50 1.68953 - 37.50 22.50 87.50 1.42429 - 37.50 22.50 92.50 1.03943 - 37.50 22.50 97.50 0.593795 - 37.50 22.50 102.50 0.307097 - 37.50 22.50 107.50 0.165007 - 37.50 22.50 112.50 0.078344 - 37.50 22.50 117.50 0.0323285 - 37.50 22.50 122.50 0.0276615 - 37.50 22.50 127.50 0.0816892 - 37.50 22.50 132.50 0.234621 - 37.50 22.50 137.50 0.521483 - 37.50 22.50 142.50 0.932672 - 37.50 22.50 147.50 1.38431 - 37.50 22.50 152.50 1.69363 - 37.50 22.50 157.50 1.80113 - 37.50 22.50 162.50 1.80989 - 37.50 22.50 167.50 1.7923 - 37.50 22.50 172.50 1.68953 - 37.50 22.50 177.50 1.42429 - 37.50 22.50 182.50 1.03943 - 37.50 22.50 187.50 0.593795 - 37.50 22.50 192.50 0.307097 - 37.50 22.50 197.50 0.165007 - 37.50 22.50 202.50 0.078344 - 37.50 22.50 207.50 0.0323286 - 37.50 22.50 212.50 0.0276614 - 37.50 22.50 217.50 0.0816891 - 37.50 22.50 222.50 0.234621 - 37.50 22.50 227.50 0.521483 - 37.50 22.50 232.50 0.932672 - 37.50 22.50 237.50 1.38431 - 37.50 22.50 242.50 1.69363 - 37.50 22.50 247.50 1.80113 - 37.50 22.50 252.50 1.80989 - 37.50 22.50 257.50 1.7923 - 37.50 22.50 262.50 1.68953 - 37.50 22.50 267.50 1.42429 - 37.50 22.50 272.50 1.03943 - 37.50 22.50 277.50 0.593795 - 37.50 22.50 282.50 0.307097 - 37.50 22.50 287.50 0.165007 - 37.50 22.50 292.50 0.078344 - 37.50 22.50 297.50 0.0323286 - 37.50 22.50 302.50 0.0276614 - 37.50 22.50 307.50 0.081689 - 37.50 22.50 312.50 0.23462 - 37.50 22.50 317.50 0.521483 - 37.50 22.50 322.50 0.932671 - 37.50 22.50 327.50 1.38431 - 37.50 22.50 332.50 1.69363 - 37.50 22.50 337.50 1.80113 - 37.50 22.50 342.50 1.80989 - 37.50 22.50 347.50 1.7923 - 37.50 22.50 352.50 1.68953 - 37.50 22.50 357.50 1.4243 - 37.50 27.50 2.50 1.8542 - 37.50 27.50 7.50 0.974831 - 37.50 27.50 12.50 0.436382 - 37.50 27.50 17.50 0.152507 - 37.50 27.50 22.50 0.0458891 - 37.50 27.50 27.50 0.0144217 - 37.50 27.50 32.50 0.0107685 - 37.50 27.50 37.50 0.045769 - 37.50 27.50 42.50 0.151314 - 37.50 27.50 47.50 0.350196 - 37.50 27.50 52.50 0.704692 - 37.50 27.50 57.50 1.22789 - 37.50 27.50 62.50 1.79043 - 37.50 27.50 67.50 2.18769 - 37.50 27.50 72.50 2.5378 - 37.50 27.50 77.50 2.91069 - 37.50 27.50 82.50 2.99848 - 37.50 27.50 87.50 2.6129 - 37.50 27.50 92.50 1.8542 - 37.50 27.50 97.50 0.974831 - 37.50 27.50 102.50 0.436383 - 37.50 27.50 107.50 0.152508 - 37.50 27.50 112.50 0.0458891 - 37.50 27.50 117.50 0.0144217 - 37.50 27.50 122.50 0.0107685 - 37.50 27.50 127.50 0.0457691 - 37.50 27.50 132.50 0.151314 - 37.50 27.50 137.50 0.350196 - 37.50 27.50 142.50 0.704692 - 37.50 27.50 147.50 1.22789 - 37.50 27.50 152.50 1.79043 - 37.50 27.50 157.50 2.18769 - 37.50 27.50 162.50 2.5378 - 37.50 27.50 167.50 2.91069 - 37.50 27.50 172.50 2.99848 - 37.50 27.50 177.50 2.6129 - 37.50 27.50 182.50 1.8542 - 37.50 27.50 187.50 0.97483 - 37.50 27.50 192.50 0.436382 - 37.50 27.50 197.50 0.152507 - 37.50 27.50 202.50 0.0458891 - 37.50 27.50 207.50 0.0144218 - 37.50 27.50 212.50 0.0107685 - 37.50 27.50 217.50 0.045769 - 37.50 27.50 222.50 0.151314 - 37.50 27.50 227.50 0.350196 - 37.50 27.50 232.50 0.704692 - 37.50 27.50 237.50 1.22789 - 37.50 27.50 242.50 1.79043 - 37.50 27.50 247.50 2.18769 - 37.50 27.50 252.50 2.5378 - 37.50 27.50 257.50 2.91069 - 37.50 27.50 262.50 2.99848 - 37.50 27.50 267.50 2.6129 - 37.50 27.50 272.50 1.8542 - 37.50 27.50 277.50 0.974831 - 37.50 27.50 282.50 0.436382 - 37.50 27.50 287.50 0.152507 - 37.50 27.50 292.50 0.0458891 - 37.50 27.50 297.50 0.0144218 - 37.50 27.50 302.50 0.0107685 - 37.50 27.50 307.50 0.0457689 - 37.50 27.50 312.50 0.151314 - 37.50 27.50 317.50 0.350196 - 37.50 27.50 322.50 0.704691 - 37.50 27.50 327.50 1.22789 - 37.50 27.50 332.50 1.79043 - 37.50 27.50 337.50 2.18769 - 37.50 27.50 342.50 2.5378 - 37.50 27.50 347.50 2.91069 - 37.50 27.50 352.50 2.99848 - 37.50 27.50 357.50 2.6129 - 37.50 32.50 2.50 2.76305 - 37.50 32.50 7.50 1.45577 - 37.50 32.50 12.50 0.638209 - 37.50 32.50 17.50 0.195139 - 37.50 32.50 22.50 0.0525425 - 37.50 32.50 27.50 0.0118876 - 37.50 32.50 32.50 0.00625913 - 37.50 32.50 37.50 0.0208731 - 37.50 32.50 42.50 0.0654953 - 37.50 32.50 47.50 0.185082 - 37.50 32.50 52.50 0.455684 - 37.50 32.50 57.50 0.948523 - 37.50 32.50 62.50 1.58333 - 37.50 32.50 67.50 2.24627 - 37.50 32.50 72.50 2.95869 - 37.50 32.50 77.50 3.89519 - 37.50 32.50 82.50 4.32711 - 37.50 32.50 87.50 3.93268 - 37.50 32.50 92.50 2.76305 - 37.50 32.50 97.50 1.45577 - 37.50 32.50 102.50 0.638209 - 37.50 32.50 107.50 0.19514 - 37.50 32.50 112.50 0.0525425 - 37.50 32.50 117.50 0.0118876 - 37.50 32.50 122.50 0.00625914 - 37.50 32.50 127.50 0.0208732 - 37.50 32.50 132.50 0.0654954 - 37.50 32.50 137.50 0.185082 - 37.50 32.50 142.50 0.455684 - 37.50 32.50 147.50 0.948523 - 37.50 32.50 152.50 1.58333 - 37.50 32.50 157.50 2.24627 - 37.50 32.50 162.50 2.95869 - 37.50 32.50 167.50 3.89519 - 37.50 32.50 172.50 4.32711 - 37.50 32.50 177.50 3.93268 - 37.50 32.50 182.50 2.76305 - 37.50 32.50 187.50 1.45577 - 37.50 32.50 192.50 0.638208 - 37.50 32.50 197.50 0.195139 - 37.50 32.50 202.50 0.0525425 - 37.50 32.50 207.50 0.0118876 - 37.50 32.50 212.50 0.00625913 - 37.50 32.50 217.50 0.0208731 - 37.50 32.50 222.50 0.0654953 - 37.50 32.50 227.50 0.185082 - 37.50 32.50 232.50 0.455685 - 37.50 32.50 237.50 0.948524 - 37.50 32.50 242.50 1.58333 - 37.50 32.50 247.50 2.24627 - 37.50 32.50 252.50 2.95869 - 37.50 32.50 257.50 3.89519 - 37.50 32.50 262.50 4.32711 - 37.50 32.50 267.50 3.93268 - 37.50 32.50 272.50 2.76305 - 37.50 32.50 277.50 1.45577 - 37.50 32.50 282.50 0.638209 - 37.50 32.50 287.50 0.19514 - 37.50 32.50 292.50 0.0525425 - 37.50 32.50 297.50 0.0118876 - 37.50 32.50 302.50 0.00625912 - 37.50 32.50 307.50 0.0208731 - 37.50 32.50 312.50 0.0654952 - 37.50 32.50 317.50 0.185082 - 37.50 32.50 322.50 0.455683 - 37.50 32.50 327.50 0.948522 - 37.50 32.50 332.50 1.58333 - 37.50 32.50 337.50 2.24627 - 37.50 32.50 342.50 2.95869 - 37.50 32.50 347.50 3.89518 - 37.50 32.50 352.50 4.32711 - 37.50 32.50 357.50 3.93269 - 37.50 37.50 2.50 3.51915 - 37.50 37.50 7.50 2.02117 - 37.50 37.50 12.50 0.951521 - 37.50 37.50 17.50 0.35245 - 37.50 37.50 22.50 0.114024 - 37.50 37.50 27.50 0.0315765 - 37.50 37.50 32.50 0.00937262 - 37.50 37.50 37.50 0.00694582 - 37.50 37.50 42.50 0.0222083 - 37.50 37.50 47.50 0.0745024 - 37.50 37.50 52.50 0.242967 - 37.50 37.50 57.50 0.6343 - 37.50 37.50 62.50 1.23878 - 37.50 37.50 67.50 2.02369 - 37.50 37.50 72.50 3.0749 - 37.50 37.50 77.50 4.35209 - 37.50 37.50 82.50 5.20278 - 37.50 37.50 87.50 4.87331 - 37.50 37.50 92.50 3.51915 - 37.50 37.50 97.50 2.02117 - 37.50 37.50 102.50 0.951521 - 37.50 37.50 107.50 0.35245 - 37.50 37.50 112.50 0.114024 - 37.50 37.50 117.50 0.0315765 - 37.50 37.50 122.50 0.00937262 - 37.50 37.50 127.50 0.00694582 - 37.50 37.50 132.50 0.0222084 - 37.50 37.50 137.50 0.0745024 - 37.50 37.50 142.50 0.242967 - 37.50 37.50 147.50 0.6343 - 37.50 37.50 152.50 1.23878 - 37.50 37.50 157.50 2.02369 - 37.50 37.50 162.50 3.07489 - 37.50 37.50 167.50 4.35209 - 37.50 37.50 172.50 5.20278 - 37.50 37.50 177.50 4.87331 - 37.50 37.50 182.50 3.51915 - 37.50 37.50 187.50 2.02117 - 37.50 37.50 192.50 0.95152 - 37.50 37.50 197.50 0.35245 - 37.50 37.50 202.50 0.114023 - 37.50 37.50 207.50 0.0315765 - 37.50 37.50 212.50 0.00937262 - 37.50 37.50 217.50 0.00694582 - 37.50 37.50 222.50 0.0222083 - 37.50 37.50 227.50 0.0745024 - 37.50 37.50 232.50 0.242967 - 37.50 37.50 237.50 0.634301 - 37.50 37.50 242.50 1.23878 - 37.50 37.50 247.50 2.02369 - 37.50 37.50 252.50 3.0749 - 37.50 37.50 257.50 4.35209 - 37.50 37.50 262.50 5.20278 - 37.50 37.50 267.50 4.87331 - 37.50 37.50 272.50 3.51916 - 37.50 37.50 277.50 2.02117 - 37.50 37.50 282.50 0.951521 - 37.50 37.50 287.50 0.35245 - 37.50 37.50 292.50 0.114024 - 37.50 37.50 297.50 0.0315765 - 37.50 37.50 302.50 0.00937262 - 37.50 37.50 307.50 0.00694581 - 37.50 37.50 312.50 0.0222083 - 37.50 37.50 317.50 0.0745023 - 37.50 37.50 322.50 0.242966 - 37.50 37.50 327.50 0.634299 - 37.50 37.50 332.50 1.23878 - 37.50 37.50 337.50 2.02368 - 37.50 37.50 342.50 3.07489 - 37.50 37.50 347.50 4.35209 - 37.50 37.50 352.50 5.20278 - 37.50 37.50 357.50 4.87332 - 37.50 42.50 2.50 3.96991 - 37.50 42.50 7.50 2.62754 - 37.50 42.50 12.50 1.43719 - 37.50 42.50 17.50 0.663799 - 37.50 42.50 22.50 0.263237 - 37.50 42.50 27.50 0.0982462 - 37.50 42.50 32.50 0.0331133 - 37.50 42.50 37.50 0.0084693 - 37.50 42.50 42.50 0.00640792 - 37.50 42.50 47.50 0.0228353 - 37.50 42.50 52.50 0.105513 - 37.50 42.50 57.50 0.354945 - 37.50 42.50 62.50 0.858801 - 37.50 42.50 67.50 1.62547 - 37.50 42.50 72.50 2.74658 - 37.50 42.50 77.50 4.1979 - 37.50 42.50 82.50 5.29393 - 37.50 42.50 87.50 5.1399 - 37.50 42.50 92.50 3.96991 - 37.50 42.50 97.50 2.62754 - 37.50 42.50 102.50 1.43719 - 37.50 42.50 107.50 0.663799 - 37.50 42.50 112.50 0.263237 - 37.50 42.50 117.50 0.0982462 - 37.50 42.50 122.50 0.0331132 - 37.50 42.50 127.50 0.0084693 - 37.50 42.50 132.50 0.00640793 - 37.50 42.50 137.50 0.0228352 - 37.50 42.50 142.50 0.105513 - 37.50 42.50 147.50 0.354944 - 37.50 42.50 152.50 0.858801 - 37.50 42.50 157.50 1.62546 - 37.50 42.50 162.50 2.74658 - 37.50 42.50 167.50 4.1979 - 37.50 42.50 172.50 5.29393 - 37.50 42.50 177.50 5.13991 - 37.50 42.50 182.50 3.96991 - 37.50 42.50 187.50 2.62754 - 37.50 42.50 192.50 1.43719 - 37.50 42.50 197.50 0.663799 - 37.50 42.50 202.50 0.263237 - 37.50 42.50 207.50 0.0982463 - 37.50 42.50 212.50 0.0331133 - 37.50 42.50 217.50 0.0084693 - 37.50 42.50 222.50 0.00640791 - 37.50 42.50 227.50 0.0228352 - 37.50 42.50 232.50 0.105513 - 37.50 42.50 237.50 0.354945 - 37.50 42.50 242.50 0.858802 - 37.50 42.50 247.50 1.62547 - 37.50 42.50 252.50 2.74659 - 37.50 42.50 257.50 4.19791 - 37.50 42.50 262.50 5.29393 - 37.50 42.50 267.50 5.1399 - 37.50 42.50 272.50 3.96992 - 37.50 42.50 277.50 2.62754 - 37.50 42.50 282.50 1.43719 - 37.50 42.50 287.50 0.663799 - 37.50 42.50 292.50 0.263237 - 37.50 42.50 297.50 0.0982463 - 37.50 42.50 302.50 0.0331133 - 37.50 42.50 307.50 0.00846931 - 37.50 42.50 312.50 0.0064079 - 37.50 42.50 317.50 0.0228352 - 37.50 42.50 322.50 0.105512 - 37.50 42.50 327.50 0.354943 - 37.50 42.50 332.50 0.858799 - 37.50 42.50 337.50 1.62546 - 37.50 42.50 342.50 2.74658 - 37.50 42.50 347.50 4.1979 - 37.50 42.50 352.50 5.29393 - 37.50 42.50 357.50 5.13991 - 37.50 47.50 2.50 4.10837 - 37.50 47.50 7.50 3.2602 - 37.50 47.50 12.50 2.1423 - 37.50 47.50 17.50 1.20034 - 37.50 47.50 22.50 0.608109 - 37.50 47.50 27.50 0.302599 - 37.50 47.50 32.50 0.122729 - 37.50 47.50 37.50 0.0399896 - 37.50 47.50 42.50 0.00769699 - 37.50 47.50 47.50 0.0101159 - 37.50 47.50 52.50 0.0426947 - 37.50 47.50 57.50 0.174476 - 37.50 47.50 62.50 0.495622 - 37.50 47.50 67.50 1.05436 - 37.50 47.50 72.50 2.01064 - 37.50 47.50 77.50 3.36304 - 37.50 47.50 82.50 4.56805 - 37.50 47.50 87.50 4.74319 - 37.50 47.50 92.50 4.10837 - 37.50 47.50 97.50 3.2602 - 37.50 47.50 102.50 2.1423 - 37.50 47.50 107.50 1.20034 - 37.50 47.50 112.50 0.60811 - 37.50 47.50 117.50 0.302599 - 37.50 47.50 122.50 0.122729 - 37.50 47.50 127.50 0.0399895 - 37.50 47.50 132.50 0.00769699 - 37.50 47.50 137.50 0.0101159 - 37.50 47.50 142.50 0.0426947 - 37.50 47.50 147.50 0.174476 - 37.50 47.50 152.50 0.495622 - 37.50 47.50 157.50 1.05436 - 37.50 47.50 162.50 2.01064 - 37.50 47.50 167.50 3.36304 - 37.50 47.50 172.50 4.56805 - 37.50 47.50 177.50 4.74319 - 37.50 47.50 182.50 4.10837 - 37.50 47.50 187.50 3.2602 - 37.50 47.50 192.50 2.1423 - 37.50 47.50 197.50 1.20034 - 37.50 47.50 202.50 0.608109 - 37.50 47.50 207.50 0.302599 - 37.50 47.50 212.50 0.122729 - 37.50 47.50 217.50 0.0399896 - 37.50 47.50 222.50 0.00769701 - 37.50 47.50 227.50 0.0101159 - 37.50 47.50 232.50 0.0426949 - 37.50 47.50 237.50 0.174477 - 37.50 47.50 242.50 0.495622 - 37.50 47.50 247.50 1.05437 - 37.50 47.50 252.50 2.01064 - 37.50 47.50 257.50 3.36304 - 37.50 47.50 262.50 4.56805 - 37.50 47.50 267.50 4.74319 - 37.50 47.50 272.50 4.10837 - 37.50 47.50 277.50 3.2602 - 37.50 47.50 282.50 2.1423 - 37.50 47.50 287.50 1.20034 - 37.50 47.50 292.50 0.60811 - 37.50 47.50 297.50 0.302599 - 37.50 47.50 302.50 0.12273 - 37.50 47.50 307.50 0.0399896 - 37.50 47.50 312.50 0.00769701 - 37.50 47.50 317.50 0.0101159 - 37.50 47.50 322.50 0.0426946 - 37.50 47.50 327.50 0.174476 - 37.50 47.50 332.50 0.495621 - 37.50 47.50 337.50 1.05436 - 37.50 47.50 342.50 2.01063 - 37.50 47.50 347.50 3.36303 - 37.50 47.50 352.50 4.56805 - 37.50 47.50 357.50 4.74319 - 37.50 52.50 2.50 3.96991 - 37.50 52.50 7.50 3.87971 - 37.50 52.50 12.50 3.09998 - 37.50 52.50 17.50 2.10616 - 37.50 52.50 22.50 1.34208 - 37.50 52.50 27.50 0.804091 - 37.50 52.50 32.50 0.383344 - 37.50 52.50 37.50 0.129828 - 37.50 52.50 42.50 0.0282612 - 37.50 52.50 47.50 0.00708743 - 37.50 52.50 52.50 0.018945 - 37.50 52.50 57.50 0.0729035 - 37.50 52.50 62.50 0.203738 - 37.50 52.50 67.50 0.537619 - 37.50 52.50 72.50 1.16653 - 37.50 52.50 77.50 2.16953 - 37.50 52.50 82.50 3.2544 - 37.50 52.50 87.50 3.81273 - 37.50 52.50 92.50 3.96991 - 37.50 52.50 97.50 3.87971 - 37.50 52.50 102.50 3.09998 - 37.50 52.50 107.50 2.10616 - 37.50 52.50 112.50 1.34208 - 37.50 52.50 117.50 0.804091 - 37.50 52.50 122.50 0.383344 - 37.50 52.50 127.50 0.129828 - 37.50 52.50 132.50 0.0282612 - 37.50 52.50 137.50 0.00708743 - 37.50 52.50 142.50 0.0189451 - 37.50 52.50 147.50 0.0729035 - 37.50 52.50 152.50 0.203738 - 37.50 52.50 157.50 0.537619 - 37.50 52.50 162.50 1.16653 - 37.50 52.50 167.50 2.16953 - 37.50 52.50 172.50 3.2544 - 37.50 52.50 177.50 3.81273 - 37.50 52.50 182.50 3.96991 - 37.50 52.50 187.50 3.87971 - 37.50 52.50 192.50 3.09998 - 37.50 52.50 197.50 2.10616 - 37.50 52.50 202.50 1.34208 - 37.50 52.50 207.50 0.804091 - 37.50 52.50 212.50 0.383344 - 37.50 52.50 217.50 0.129828 - 37.50 52.50 222.50 0.0282612 - 37.50 52.50 227.50 0.00708743 - 37.50 52.50 232.50 0.0189451 - 37.50 52.50 237.50 0.0729036 - 37.50 52.50 242.50 0.203738 - 37.50 52.50 247.50 0.53762 - 37.50 52.50 252.50 1.16654 - 37.50 52.50 257.50 2.16953 - 37.50 52.50 262.50 3.2544 - 37.50 52.50 267.50 3.81273 - 37.50 52.50 272.50 3.96992 - 37.50 52.50 277.50 3.87971 - 37.50 52.50 282.50 3.09998 - 37.50 52.50 287.50 2.10616 - 37.50 52.50 292.50 1.34208 - 37.50 52.50 297.50 0.804091 - 37.50 52.50 302.50 0.383344 - 37.50 52.50 307.50 0.129828 - 37.50 52.50 312.50 0.0282612 - 37.50 52.50 317.50 0.00708743 - 37.50 52.50 322.50 0.018945 - 37.50 52.50 327.50 0.0729032 - 37.50 52.50 332.50 0.203738 - 37.50 52.50 337.50 0.537617 - 37.50 52.50 342.50 1.16653 - 37.50 52.50 347.50 2.16952 - 37.50 52.50 352.50 3.2544 - 37.50 52.50 357.50 3.81272 - 37.50 57.50 2.50 3.51915 - 37.50 57.50 7.50 4.29611 - 37.50 57.50 12.50 4.11789 - 37.50 57.50 17.50 3.39737 - 37.50 57.50 22.50 2.54212 - 37.50 57.50 27.50 1.65246 - 37.50 57.50 32.50 0.839494 - 37.50 57.50 37.50 0.316239 - 37.50 57.50 42.50 0.0895863 - 37.50 57.50 47.50 0.0261523 - 37.50 57.50 52.50 0.0108007 - 37.50 57.50 57.50 0.0239199 - 37.50 57.50 62.50 0.0726641 - 37.50 57.50 67.50 0.205573 - 37.50 57.50 72.50 0.504201 - 37.50 57.50 77.50 1.05389 - 37.50 57.50 82.50 1.82692 - 37.50 57.50 87.50 2.6262 - 37.50 57.50 92.50 3.51916 - 37.50 57.50 97.50 4.29611 - 37.50 57.50 102.50 4.11789 - 37.50 57.50 107.50 3.39737 - 37.50 57.50 112.50 2.54212 - 37.50 57.50 117.50 1.65246 - 37.50 57.50 122.50 0.839494 - 37.50 57.50 127.50 0.316239 - 37.50 57.50 132.50 0.0895863 - 37.50 57.50 137.50 0.0261523 - 37.50 57.50 142.50 0.0108007 - 37.50 57.50 147.50 0.0239199 - 37.50 57.50 152.50 0.0726641 - 37.50 57.50 157.50 0.205573 - 37.50 57.50 162.50 0.5042 - 37.50 57.50 167.50 1.05389 - 37.50 57.50 172.50 1.82692 - 37.50 57.50 177.50 2.6262 - 37.50 57.50 182.50 3.51916 - 37.50 57.50 187.50 4.29611 - 37.50 57.50 192.50 4.11789 - 37.50 57.50 197.50 3.39737 - 37.50 57.50 202.50 2.54212 - 37.50 57.50 207.50 1.65246 - 37.50 57.50 212.50 0.839494 - 37.50 57.50 217.50 0.316239 - 37.50 57.50 222.50 0.0895865 - 37.50 57.50 227.50 0.0261523 - 37.50 57.50 232.50 0.0108007 - 37.50 57.50 237.50 0.0239199 - 37.50 57.50 242.50 0.0726642 - 37.50 57.50 247.50 0.205573 - 37.50 57.50 252.50 0.504201 - 37.50 57.50 257.50 1.0539 - 37.50 57.50 262.50 1.82692 - 37.50 57.50 267.50 2.6262 - 37.50 57.50 272.50 3.51916 - 37.50 57.50 277.50 4.29611 - 37.50 57.50 282.50 4.11789 - 37.50 57.50 287.50 3.39737 - 37.50 57.50 292.50 2.54212 - 37.50 57.50 297.50 1.65246 - 37.50 57.50 302.50 0.839495 - 37.50 57.50 307.50 0.316239 - 37.50 57.50 312.50 0.0895866 - 37.50 57.50 317.50 0.0261523 - 37.50 57.50 322.50 0.0108007 - 37.50 57.50 327.50 0.0239198 - 37.50 57.50 332.50 0.0726639 - 37.50 57.50 337.50 0.205572 - 37.50 57.50 342.50 0.504199 - 37.50 57.50 347.50 1.05389 - 37.50 57.50 352.50 1.82692 - 37.50 57.50 357.50 2.6262 - 37.50 62.50 2.50 2.76305 - 37.50 62.50 7.50 4.16844 - 37.50 62.50 12.50 4.70581 - 37.50 62.50 17.50 4.56616 - 37.50 62.50 22.50 3.88523 - 37.50 62.50 27.50 2.71893 - 37.50 62.50 32.50 1.52692 - 37.50 62.50 37.50 0.699767 - 37.50 62.50 42.50 0.259503 - 37.50 62.50 47.50 0.0876721 - 37.50 62.50 52.50 0.0254595 - 37.50 62.50 57.50 0.0127465 - 37.50 62.50 62.50 0.0214389 - 37.50 62.50 67.50 0.0566323 - 37.50 62.50 72.50 0.15771 - 37.50 62.50 77.50 0.392814 - 37.50 62.50 82.50 0.821724 - 37.50 62.50 87.50 1.58308 - 37.50 62.50 92.50 2.76305 - 37.50 62.50 97.50 4.16844 - 37.50 62.50 102.50 4.70581 - 37.50 62.50 107.50 4.56616 - 37.50 62.50 112.50 3.88523 - 37.50 62.50 117.50 2.71893 - 37.50 62.50 122.50 1.52692 - 37.50 62.50 127.50 0.699766 - 37.50 62.50 132.50 0.259503 - 37.50 62.50 137.50 0.0876722 - 37.50 62.50 142.50 0.0254595 - 37.50 62.50 147.50 0.0127466 - 37.50 62.50 152.50 0.0214389 - 37.50 62.50 157.50 0.0566322 - 37.50 62.50 162.50 0.157709 - 37.50 62.50 167.50 0.392814 - 37.50 62.50 172.50 0.821724 - 37.50 62.50 177.50 1.58308 - 37.50 62.50 182.50 2.76305 - 37.50 62.50 187.50 4.16844 - 37.50 62.50 192.50 4.70581 - 37.50 62.50 197.50 4.56616 - 37.50 62.50 202.50 3.88523 - 37.50 62.50 207.50 2.71893 - 37.50 62.50 212.50 1.52692 - 37.50 62.50 217.50 0.699767 - 37.50 62.50 222.50 0.259503 - 37.50 62.50 227.50 0.0876722 - 37.50 62.50 232.50 0.0254594 - 37.50 62.50 237.50 0.0127465 - 37.50 62.50 242.50 0.0214389 - 37.50 62.50 247.50 0.0566324 - 37.50 62.50 252.50 0.15771 - 37.50 62.50 257.50 0.392814 - 37.50 62.50 262.50 0.821725 - 37.50 62.50 267.50 1.58308 - 37.50 62.50 272.50 2.76305 - 37.50 62.50 277.50 4.16844 - 37.50 62.50 282.50 4.70581 - 37.50 62.50 287.50 4.56617 - 37.50 62.50 292.50 3.88523 - 37.50 62.50 297.50 2.71893 - 37.50 62.50 302.50 1.52693 - 37.50 62.50 307.50 0.699767 - 37.50 62.50 312.50 0.259503 - 37.50 62.50 317.50 0.0876723 - 37.50 62.50 322.50 0.0254596 - 37.50 62.50 327.50 0.0127465 - 37.50 62.50 332.50 0.0214388 - 37.50 62.50 337.50 0.056632 - 37.50 62.50 342.50 0.157709 - 37.50 62.50 347.50 0.392813 - 37.50 62.50 352.50 0.821723 - 37.50 62.50 357.50 1.58308 - 37.50 67.50 2.50 1.8542 - 37.50 67.50 7.50 3.37804 - 37.50 67.50 12.50 4.44461 - 37.50 67.50 17.50 4.86452 - 37.50 67.50 22.50 4.6673 - 37.50 67.50 27.50 3.72494 - 37.50 67.50 32.50 2.34757 - 37.50 67.50 37.50 1.22292 - 37.50 67.50 42.50 0.587849 - 37.50 67.50 47.50 0.247323 - 37.50 67.50 52.50 0.074197 - 37.50 67.50 57.50 0.0164849 - 37.50 67.50 62.50 0.00824426 - 37.50 67.50 67.50 0.0122644 - 37.50 67.50 72.50 0.041049 - 37.50 67.50 77.50 0.121949 - 37.50 67.50 82.50 0.339316 - 37.50 67.50 87.50 0.852008 - 37.50 67.50 92.50 1.8542 - 37.50 67.50 97.50 3.37804 - 37.50 67.50 102.50 4.44461 - 37.50 67.50 107.50 4.86452 - 37.50 67.50 112.50 4.6673 - 37.50 67.50 117.50 3.72494 - 37.50 67.50 122.50 2.34757 - 37.50 67.50 127.50 1.22292 - 37.50 67.50 132.50 0.587849 - 37.50 67.50 137.50 0.247323 - 37.50 67.50 142.50 0.074197 - 37.50 67.50 147.50 0.0164849 - 37.50 67.50 152.50 0.00824427 - 37.50 67.50 157.50 0.0122644 - 37.50 67.50 162.50 0.041049 - 37.50 67.50 167.50 0.121949 - 37.50 67.50 172.50 0.339316 - 37.50 67.50 177.50 0.852007 - 37.50 67.50 182.50 1.8542 - 37.50 67.50 187.50 3.37804 - 37.50 67.50 192.50 4.44461 - 37.50 67.50 197.50 4.86452 - 37.50 67.50 202.50 4.6673 - 37.50 67.50 207.50 3.72494 - 37.50 67.50 212.50 2.34757 - 37.50 67.50 217.50 1.22292 - 37.50 67.50 222.50 0.587849 - 37.50 67.50 227.50 0.247323 - 37.50 67.50 232.50 0.0741967 - 37.50 67.50 237.50 0.0164849 - 37.50 67.50 242.50 0.00824426 - 37.50 67.50 247.50 0.0122644 - 37.50 67.50 252.50 0.0410491 - 37.50 67.50 257.50 0.12195 - 37.50 67.50 262.50 0.339317 - 37.50 67.50 267.50 0.852009 - 37.50 67.50 272.50 1.8542 - 37.50 67.50 277.50 3.37804 - 37.50 67.50 282.50 4.44461 - 37.50 67.50 287.50 4.86452 - 37.50 67.50 292.50 4.6673 - 37.50 67.50 297.50 3.72494 - 37.50 67.50 302.50 2.34757 - 37.50 67.50 307.50 1.22292 - 37.50 67.50 312.50 0.587849 - 37.50 67.50 317.50 0.247324 - 37.50 67.50 322.50 0.0741971 - 37.50 67.50 327.50 0.0164849 - 37.50 67.50 332.50 0.00824425 - 37.50 67.50 337.50 0.0122644 - 37.50 67.50 342.50 0.0410489 - 37.50 67.50 347.50 0.121949 - 37.50 67.50 352.50 0.339316 - 37.50 67.50 357.50 0.852005 - 37.50 72.50 2.50 1.03943 - 37.50 72.50 7.50 2.24898 - 37.50 72.50 12.50 3.40279 - 37.50 72.50 17.50 4.18347 - 37.50 72.50 22.50 4.44627 - 37.50 72.50 27.50 3.82885 - 37.50 72.50 32.50 2.69939 - 37.50 72.50 37.50 1.59131 - 37.50 72.50 42.50 0.852291 - 37.50 72.50 47.50 0.386244 - 37.50 72.50 52.50 0.135272 - 37.50 72.50 57.50 0.0350046 - 37.50 72.50 62.50 0.0103048 - 37.50 72.50 67.50 0.0068694 - 37.50 72.50 72.50 0.0118953 - 37.50 72.50 77.50 0.0382099 - 37.50 72.50 82.50 0.130629 - 37.50 72.50 87.50 0.403743 - 37.50 72.50 92.50 1.03943 - 37.50 72.50 97.50 2.24898 - 37.50 72.50 102.50 3.40278 - 37.50 72.50 107.50 4.18347 - 37.50 72.50 112.50 4.44627 - 37.50 72.50 117.50 3.82885 - 37.50 72.50 122.50 2.69939 - 37.50 72.50 127.50 1.59131 - 37.50 72.50 132.50 0.852291 - 37.50 72.50 137.50 0.386244 - 37.50 72.50 142.50 0.135272 - 37.50 72.50 147.50 0.0350046 - 37.50 72.50 152.50 0.0103048 - 37.50 72.50 157.50 0.0068694 - 37.50 72.50 162.50 0.0118953 - 37.50 72.50 167.50 0.0382099 - 37.50 72.50 172.50 0.130629 - 37.50 72.50 177.50 0.403743 - 37.50 72.50 182.50 1.03943 - 37.50 72.50 187.50 2.24898 - 37.50 72.50 192.50 3.40279 - 37.50 72.50 197.50 4.18348 - 37.50 72.50 202.50 4.44627 - 37.50 72.50 207.50 3.82885 - 37.50 72.50 212.50 2.69939 - 37.50 72.50 217.50 1.59131 - 37.50 72.50 222.50 0.852292 - 37.50 72.50 227.50 0.386244 - 37.50 72.50 232.50 0.135271 - 37.50 72.50 237.50 0.0350045 - 37.50 72.50 242.50 0.0103048 - 37.50 72.50 247.50 0.0068694 - 37.50 72.50 252.50 0.0118953 - 37.50 72.50 257.50 0.03821 - 37.50 72.50 262.50 0.130629 - 37.50 72.50 267.50 0.403743 - 37.50 72.50 272.50 1.03943 - 37.50 72.50 277.50 2.24898 - 37.50 72.50 282.50 3.40279 - 37.50 72.50 287.50 4.18347 - 37.50 72.50 292.50 4.44627 - 37.50 72.50 297.50 3.82885 - 37.50 72.50 302.50 2.6994 - 37.50 72.50 307.50 1.59131 - 37.50 72.50 312.50 0.852292 - 37.50 72.50 317.50 0.386245 - 37.50 72.50 322.50 0.135272 - 37.50 72.50 327.50 0.0350047 - 37.50 72.50 332.50 0.0103048 - 37.50 72.50 337.50 0.00686939 - 37.50 72.50 342.50 0.0118952 - 37.50 72.50 347.50 0.0382098 - 37.50 72.50 352.50 0.130629 - 37.50 72.50 357.50 0.403742 - 37.50 77.50 2.50 0.507759 - 37.50 77.50 7.50 1.28335 - 37.50 77.50 12.50 2.17851 - 37.50 77.50 17.50 2.883 - 37.50 77.50 22.50 3.09226 - 37.50 77.50 27.50 2.90877 - 37.50 77.50 32.50 2.3256 - 37.50 77.50 37.50 1.52481 - 37.50 77.50 42.50 0.776982 - 37.50 77.50 47.50 0.363721 - 37.50 77.50 52.50 0.145 - 37.50 77.50 57.50 0.0581526 - 37.50 77.50 62.50 0.0159019 - 37.50 77.50 67.50 0.00596034 - 37.50 77.50 72.50 0.010016 - 37.50 77.50 77.50 0.0197533 - 37.50 77.50 82.50 0.049848 - 37.50 77.50 87.50 0.171068 - 37.50 77.50 92.50 0.507759 - 37.50 77.50 97.50 1.28335 - 37.50 77.50 102.50 2.17851 - 37.50 77.50 107.50 2.883 - 37.50 77.50 112.50 3.09226 - 37.50 77.50 117.50 2.90877 - 37.50 77.50 122.50 2.3256 - 37.50 77.50 127.50 1.52481 - 37.50 77.50 132.50 0.776981 - 37.50 77.50 137.50 0.36372 - 37.50 77.50 142.50 0.145 - 37.50 77.50 147.50 0.0581526 - 37.50 77.50 152.50 0.015902 - 37.50 77.50 157.50 0.00596034 - 37.50 77.50 162.50 0.010016 - 37.50 77.50 167.50 0.0197533 - 37.50 77.50 172.50 0.0498479 - 37.50 77.50 177.50 0.171068 - 37.50 77.50 182.50 0.50776 - 37.50 77.50 187.50 1.28335 - 37.50 77.50 192.50 2.17851 - 37.50 77.50 197.50 2.883 - 37.50 77.50 202.50 3.09226 - 37.50 77.50 207.50 2.90877 - 37.50 77.50 212.50 2.3256 - 37.50 77.50 217.50 1.52481 - 37.50 77.50 222.50 0.776982 - 37.50 77.50 227.50 0.363721 - 37.50 77.50 232.50 0.145 - 37.50 77.50 237.50 0.0581524 - 37.50 77.50 242.50 0.0159019 - 37.50 77.50 247.50 0.00596034 - 37.50 77.50 252.50 0.010016 - 37.50 77.50 257.50 0.0197533 - 37.50 77.50 262.50 0.049848 - 37.50 77.50 267.50 0.171069 - 37.50 77.50 272.50 0.50776 - 37.50 77.50 277.50 1.28335 - 37.50 77.50 282.50 2.17851 - 37.50 77.50 287.50 2.883 - 37.50 77.50 292.50 3.09226 - 37.50 77.50 297.50 2.90877 - 37.50 77.50 302.50 2.3256 - 37.50 77.50 307.50 1.52481 - 37.50 77.50 312.50 0.776982 - 37.50 77.50 317.50 0.363721 - 37.50 77.50 322.50 0.145 - 37.50 77.50 327.50 0.0581528 - 37.50 77.50 332.50 0.015902 - 37.50 77.50 337.50 0.00596035 - 37.50 77.50 342.50 0.010016 - 37.50 77.50 347.50 0.0197532 - 37.50 77.50 352.50 0.0498478 - 37.50 77.50 357.50 0.171068 - 37.50 82.50 2.50 0.241647 - 37.50 82.50 7.50 0.674684 - 37.50 82.50 12.50 1.18198 - 37.50 82.50 17.50 1.43344 - 37.50 82.50 22.50 1.66071 - 37.50 82.50 27.50 1.74237 - 37.50 82.50 32.50 1.55445 - 37.50 82.50 37.50 1.06492 - 37.50 82.50 42.50 0.591248 - 37.50 82.50 47.50 0.297285 - 37.50 82.50 52.50 0.146365 - 37.50 82.50 57.50 0.0806687 - 37.50 82.50 62.50 0.0426498 - 37.50 82.50 67.50 0.0237957 - 37.50 82.50 72.50 0.0320291 - 37.50 82.50 77.50 0.0349928 - 37.50 82.50 82.50 0.0394666 - 37.50 82.50 87.50 0.07628 - 37.50 82.50 92.50 0.241647 - 37.50 82.50 97.50 0.674684 - 37.50 82.50 102.50 1.18198 - 37.50 82.50 107.50 1.43344 - 37.50 82.50 112.50 1.66071 - 37.50 82.50 117.50 1.74237 - 37.50 82.50 122.50 1.55445 - 37.50 82.50 127.50 1.06492 - 37.50 82.50 132.50 0.591248 - 37.50 82.50 137.50 0.297285 - 37.50 82.50 142.50 0.146365 - 37.50 82.50 147.50 0.0806686 - 37.50 82.50 152.50 0.0426498 - 37.50 82.50 157.50 0.0237957 - 37.50 82.50 162.50 0.032029 - 37.50 82.50 167.50 0.0349927 - 37.50 82.50 172.50 0.0394667 - 37.50 82.50 177.50 0.07628 - 37.50 82.50 182.50 0.241648 - 37.50 82.50 187.50 0.674685 - 37.50 82.50 192.50 1.18198 - 37.50 82.50 197.50 1.43344 - 37.50 82.50 202.50 1.66071 - 37.50 82.50 207.50 1.74237 - 37.50 82.50 212.50 1.55445 - 37.50 82.50 217.50 1.06492 - 37.50 82.50 222.50 0.591249 - 37.50 82.50 227.50 0.297285 - 37.50 82.50 232.50 0.146365 - 37.50 82.50 237.50 0.0806686 - 37.50 82.50 242.50 0.0426497 - 37.50 82.50 247.50 0.0237957 - 37.50 82.50 252.50 0.0320291 - 37.50 82.50 257.50 0.0349927 - 37.50 82.50 262.50 0.0394666 - 37.50 82.50 267.50 0.07628 - 37.50 82.50 272.50 0.241647 - 37.50 82.50 277.50 0.674684 - 37.50 82.50 282.50 1.18198 - 37.50 82.50 287.50 1.43344 - 37.50 82.50 292.50 1.66071 - 37.50 82.50 297.50 1.74237 - 37.50 82.50 302.50 1.55445 - 37.50 82.50 307.50 1.06492 - 37.50 82.50 312.50 0.591249 - 37.50 82.50 317.50 0.297285 - 37.50 82.50 322.50 0.146365 - 37.50 82.50 327.50 0.0806687 - 37.50 82.50 332.50 0.0426498 - 37.50 82.50 337.50 0.0237957 - 37.50 82.50 342.50 0.032029 - 37.50 82.50 347.50 0.0349927 - 37.50 82.50 352.50 0.0394667 - 37.50 82.50 357.50 0.0762797 - 37.50 87.50 2.50 0.116068 - 37.50 87.50 7.50 0.311672 - 37.50 87.50 12.50 0.516306 - 37.50 87.50 17.50 0.660438 - 37.50 87.50 22.50 0.738606 - 37.50 87.50 27.50 0.848225 - 37.50 87.50 32.50 0.857913 - 37.50 87.50 37.50 0.674144 - 37.50 87.50 42.50 0.440733 - 37.50 87.50 47.50 0.270632 - 37.50 87.50 52.50 0.169272 - 37.50 87.50 57.50 0.117472 - 37.50 87.50 62.50 0.0921633 - 37.50 87.50 67.50 0.0748524 - 37.50 87.50 72.50 0.0805734 - 37.50 87.50 77.50 0.0995678 - 37.50 87.50 82.50 0.0890686 - 37.50 87.50 87.50 0.0604835 - 37.50 87.50 92.50 0.116068 - 37.50 87.50 97.50 0.311672 - 37.50 87.50 102.50 0.516306 - 37.50 87.50 107.50 0.660439 - 37.50 87.50 112.50 0.738606 - 37.50 87.50 117.50 0.848225 - 37.50 87.50 122.50 0.857913 - 37.50 87.50 127.50 0.674144 - 37.50 87.50 132.50 0.440733 - 37.50 87.50 137.50 0.270632 - 37.50 87.50 142.50 0.169272 - 37.50 87.50 147.50 0.117472 - 37.50 87.50 152.50 0.0921633 - 37.50 87.50 157.50 0.0748524 - 37.50 87.50 162.50 0.0805733 - 37.50 87.50 167.50 0.0995677 - 37.50 87.50 172.50 0.0890686 - 37.50 87.50 177.50 0.0604835 - 37.50 87.50 182.50 0.116068 - 37.50 87.50 187.50 0.311672 - 37.50 87.50 192.50 0.516307 - 37.50 87.50 197.50 0.660439 - 37.50 87.50 202.50 0.738607 - 37.50 87.50 207.50 0.848225 - 37.50 87.50 212.50 0.857913 - 37.50 87.50 217.50 0.674145 - 37.50 87.50 222.50 0.440733 - 37.50 87.50 227.50 0.270632 - 37.50 87.50 232.50 0.169271 - 37.50 87.50 237.50 0.117472 - 37.50 87.50 242.50 0.0921633 - 37.50 87.50 247.50 0.0748524 - 37.50 87.50 252.50 0.0805733 - 37.50 87.50 257.50 0.0995677 - 37.50 87.50 262.50 0.0890685 - 37.50 87.50 267.50 0.0604835 - 37.50 87.50 272.50 0.116068 - 37.50 87.50 277.50 0.311672 - 37.50 87.50 282.50 0.516306 - 37.50 87.50 287.50 0.660438 - 37.50 87.50 292.50 0.738606 - 37.50 87.50 297.50 0.848224 - 37.50 87.50 302.50 0.857913 - 37.50 87.50 307.50 0.674144 - 37.50 87.50 312.50 0.440733 - 37.50 87.50 317.50 0.270632 - 37.50 87.50 322.50 0.169272 - 37.50 87.50 327.50 0.117472 - 37.50 87.50 332.50 0.0921633 - 37.50 87.50 337.50 0.0748524 - 37.50 87.50 342.50 0.0805733 - 37.50 87.50 347.50 0.0995678 - 37.50 87.50 352.50 0.0890688 - 37.50 87.50 357.50 0.0604834 - 37.50 92.50 2.50 0.0760385 - 37.50 92.50 7.50 0.118631 - 37.50 92.50 12.50 0.202441 - 37.50 92.50 17.50 0.252721 - 37.50 92.50 22.50 0.273722 - 37.50 92.50 27.50 0.315204 - 37.50 92.50 32.50 0.348473 - 37.50 92.50 37.50 0.328532 - 37.50 92.50 42.50 0.288878 - 37.50 92.50 47.50 0.272741 - 37.50 92.50 52.50 0.288878 - 37.50 92.50 57.50 0.328532 - 37.50 92.50 62.50 0.348473 - 37.50 92.50 67.50 0.315204 - 37.50 92.50 72.50 0.273722 - 37.50 92.50 77.50 0.252721 - 37.50 92.50 82.50 0.202441 - 37.50 92.50 87.50 0.118631 - 37.50 92.50 92.50 0.0760386 - 37.50 92.50 97.50 0.118631 - 37.50 92.50 102.50 0.202442 - 37.50 92.50 107.50 0.252721 - 37.50 92.50 112.50 0.273722 - 37.50 92.50 117.50 0.315204 - 37.50 92.50 122.50 0.348473 - 37.50 92.50 127.50 0.328531 - 37.50 92.50 132.50 0.288878 - 37.50 92.50 137.50 0.272741 - 37.50 92.50 142.50 0.288878 - 37.50 92.50 147.50 0.328532 - 37.50 92.50 152.50 0.348473 - 37.50 92.50 157.50 0.315204 - 37.50 92.50 162.50 0.273722 - 37.50 92.50 167.50 0.252721 - 37.50 92.50 172.50 0.202442 - 37.50 92.50 177.50 0.118632 - 37.50 92.50 182.50 0.0760386 - 37.50 92.50 187.50 0.118631 - 37.50 92.50 192.50 0.202442 - 37.50 92.50 197.50 0.252721 - 37.50 92.50 202.50 0.273722 - 37.50 92.50 207.50 0.315204 - 37.50 92.50 212.50 0.348473 - 37.50 92.50 217.50 0.328532 - 37.50 92.50 222.50 0.288878 - 37.50 92.50 227.50 0.272741 - 37.50 92.50 232.50 0.288878 - 37.50 92.50 237.50 0.328532 - 37.50 92.50 242.50 0.348473 - 37.50 92.50 247.50 0.315204 - 37.50 92.50 252.50 0.273722 - 37.50 92.50 257.50 0.252721 - 37.50 92.50 262.50 0.202441 - 37.50 92.50 267.50 0.118631 - 37.50 92.50 272.50 0.0760385 - 37.50 92.50 277.50 0.118631 - 37.50 92.50 282.50 0.202441 - 37.50 92.50 287.50 0.252721 - 37.50 92.50 292.50 0.273721 - 37.50 92.50 297.50 0.315204 - 37.50 92.50 302.50 0.348473 - 37.50 92.50 307.50 0.328531 - 37.50 92.50 312.50 0.288878 - 37.50 92.50 317.50 0.272741 - 37.50 92.50 322.50 0.288878 - 37.50 92.50 327.50 0.328532 - 37.50 92.50 332.50 0.348473 - 37.50 92.50 337.50 0.315204 - 37.50 92.50 342.50 0.273722 - 37.50 92.50 347.50 0.252721 - 37.50 92.50 352.50 0.202442 - 37.50 92.50 357.50 0.118632 - 37.50 97.50 2.50 0.116068 - 37.50 97.50 7.50 0.0604835 - 37.50 97.50 12.50 0.0890686 - 37.50 97.50 17.50 0.0995677 - 37.50 97.50 22.50 0.0805733 - 37.50 97.50 27.50 0.0748524 - 37.50 97.50 32.50 0.0921633 - 37.50 97.50 37.50 0.117472 - 37.50 97.50 42.50 0.169272 - 37.50 97.50 47.50 0.270632 - 37.50 97.50 52.50 0.440733 - 37.50 97.50 57.50 0.674145 - 37.50 97.50 62.50 0.857913 - 37.50 97.50 67.50 0.848225 - 37.50 97.50 72.50 0.738607 - 37.50 97.50 77.50 0.660438 - 37.50 97.50 82.50 0.516306 - 37.50 97.50 87.50 0.311672 - 37.50 97.50 92.50 0.116068 - 37.50 97.50 97.50 0.0604835 - 37.50 97.50 102.50 0.0890687 - 37.50 97.50 107.50 0.0995677 - 37.50 97.50 112.50 0.0805734 - 37.50 97.50 117.50 0.0748525 - 37.50 97.50 122.50 0.0921634 - 37.50 97.50 127.50 0.117472 - 37.50 97.50 132.50 0.169272 - 37.50 97.50 137.50 0.270632 - 37.50 97.50 142.50 0.440733 - 37.50 97.50 147.50 0.674144 - 37.50 97.50 152.50 0.857912 - 37.50 97.50 157.50 0.848224 - 37.50 97.50 162.50 0.738606 - 37.50 97.50 167.50 0.660438 - 37.50 97.50 172.50 0.516306 - 37.50 97.50 177.50 0.311672 - 37.50 97.50 182.50 0.116068 - 37.50 97.50 187.50 0.0604835 - 37.50 97.50 192.50 0.0890687 - 37.50 97.50 197.50 0.0995677 - 37.50 97.50 202.50 0.0805733 - 37.50 97.50 207.50 0.0748525 - 37.50 97.50 212.50 0.0921633 - 37.50 97.50 217.50 0.117472 - 37.50 97.50 222.50 0.169272 - 37.50 97.50 227.50 0.270632 - 37.50 97.50 232.50 0.440734 - 37.50 97.50 237.50 0.674144 - 37.50 97.50 242.50 0.857913 - 37.50 97.50 247.50 0.848224 - 37.50 97.50 252.50 0.738606 - 37.50 97.50 257.50 0.660438 - 37.50 97.50 262.50 0.516306 - 37.50 97.50 267.50 0.311672 - 37.50 97.50 272.50 0.116068 - 37.50 97.50 277.50 0.0604835 - 37.50 97.50 282.50 0.0890686 - 37.50 97.50 287.50 0.0995677 - 37.50 97.50 292.50 0.0805733 - 37.50 97.50 297.50 0.0748524 - 37.50 97.50 302.50 0.0921632 - 37.50 97.50 307.50 0.117472 - 37.50 97.50 312.50 0.169271 - 37.50 97.50 317.50 0.270632 - 37.50 97.50 322.50 0.440732 - 37.50 97.50 327.50 0.674144 - 37.50 97.50 332.50 0.857913 - 37.50 97.50 337.50 0.848225 - 37.50 97.50 342.50 0.738607 - 37.50 97.50 347.50 0.660439 - 37.50 97.50 352.50 0.516307 - 37.50 97.50 357.50 0.311673 - 37.50 102.50 2.50 0.241647 - 37.50 102.50 7.50 0.07628 - 37.50 102.50 12.50 0.0394666 - 37.50 102.50 17.50 0.0349927 - 37.50 102.50 22.50 0.0320291 - 37.50 102.50 27.50 0.0237957 - 37.50 102.50 32.50 0.0426499 - 37.50 102.50 37.50 0.0806688 - 37.50 102.50 42.50 0.146365 - 37.50 102.50 47.50 0.297285 - 37.50 102.50 52.50 0.591249 - 37.50 102.50 57.50 1.06492 - 37.50 102.50 62.50 1.55445 - 37.50 102.50 67.50 1.74237 - 37.50 102.50 72.50 1.66071 - 37.50 102.50 77.50 1.43343 - 37.50 102.50 82.50 1.18198 - 37.50 102.50 87.50 0.674684 - 37.50 102.50 92.50 0.241647 - 37.50 102.50 97.50 0.07628 - 37.50 102.50 102.50 0.0394667 - 37.50 102.50 107.50 0.0349928 - 37.50 102.50 112.50 0.0320291 - 37.50 102.50 117.50 0.0237957 - 37.50 102.50 122.50 0.0426499 - 37.50 102.50 127.50 0.0806688 - 37.50 102.50 132.50 0.146365 - 37.50 102.50 137.50 0.297285 - 37.50 102.50 142.50 0.591249 - 37.50 102.50 147.50 1.06492 - 37.50 102.50 152.50 1.55445 - 37.50 102.50 157.50 1.74237 - 37.50 102.50 162.50 1.66071 - 37.50 102.50 167.50 1.43343 - 37.50 102.50 172.50 1.18198 - 37.50 102.50 177.50 0.674685 - 37.50 102.50 182.50 0.241647 - 37.50 102.50 187.50 0.07628 - 37.50 102.50 192.50 0.0394667 - 37.50 102.50 197.50 0.0349928 - 37.50 102.50 202.50 0.0320291 - 37.50 102.50 207.50 0.0237957 - 37.50 102.50 212.50 0.0426498 - 37.50 102.50 217.50 0.0806687 - 37.50 102.50 222.50 0.146365 - 37.50 102.50 227.50 0.297285 - 37.50 102.50 232.50 0.591249 - 37.50 102.50 237.50 1.06492 - 37.50 102.50 242.50 1.55445 - 37.50 102.50 247.50 1.74237 - 37.50 102.50 252.50 1.66071 - 37.50 102.50 257.50 1.43343 - 37.50 102.50 262.50 1.18198 - 37.50 102.50 267.50 0.674683 - 37.50 102.50 272.50 0.241647 - 37.50 102.50 277.50 0.0762799 - 37.50 102.50 282.50 0.0394666 - 37.50 102.50 287.50 0.0349927 - 37.50 102.50 292.50 0.0320291 - 37.50 102.50 297.50 0.0237957 - 37.50 102.50 302.50 0.0426497 - 37.50 102.50 307.50 0.0806686 - 37.50 102.50 312.50 0.146365 - 37.50 102.50 317.50 0.297285 - 37.50 102.50 322.50 0.591247 - 37.50 102.50 327.50 1.06492 - 37.50 102.50 332.50 1.55445 - 37.50 102.50 337.50 1.74237 - 37.50 102.50 342.50 1.66071 - 37.50 102.50 347.50 1.43344 - 37.50 102.50 352.50 1.18198 - 37.50 102.50 357.50 0.674686 - 37.50 107.50 2.50 0.507759 - 37.50 107.50 7.50 0.171068 - 37.50 107.50 12.50 0.0498479 - 37.50 107.50 17.50 0.0197533 - 37.50 107.50 22.50 0.010016 - 37.50 107.50 27.50 0.00596036 - 37.50 107.50 32.50 0.015902 - 37.50 107.50 37.50 0.0581528 - 37.50 107.50 42.50 0.145 - 37.50 107.50 47.50 0.363721 - 37.50 107.50 52.50 0.776982 - 37.50 107.50 57.50 1.52481 - 37.50 107.50 62.50 2.3256 - 37.50 107.50 67.50 2.90877 - 37.50 107.50 72.50 3.09226 - 37.50 107.50 77.50 2.883 - 37.50 107.50 82.50 2.17851 - 37.50 107.50 87.50 1.28335 - 37.50 107.50 92.50 0.507759 - 37.50 107.50 97.50 0.171068 - 37.50 107.50 102.50 0.0498479 - 37.50 107.50 107.50 0.0197533 - 37.50 107.50 112.50 0.010016 - 37.50 107.50 117.50 0.00596036 - 37.50 107.50 122.50 0.015902 - 37.50 107.50 127.50 0.0581529 - 37.50 107.50 132.50 0.145 - 37.50 107.50 137.50 0.363721 - 37.50 107.50 142.50 0.776982 - 37.50 107.50 147.50 1.52481 - 37.50 107.50 152.50 2.3256 - 37.50 107.50 157.50 2.90877 - 37.50 107.50 162.50 3.09226 - 37.50 107.50 167.50 2.883 - 37.50 107.50 172.50 2.17851 - 37.50 107.50 177.50 1.28335 - 37.50 107.50 182.50 0.507759 - 37.50 107.50 187.50 0.171068 - 37.50 107.50 192.50 0.0498479 - 37.50 107.50 197.50 0.0197533 - 37.50 107.50 202.50 0.010016 - 37.50 107.50 207.50 0.00596036 - 37.50 107.50 212.50 0.015902 - 37.50 107.50 217.50 0.0581526 - 37.50 107.50 222.50 0.145 - 37.50 107.50 227.50 0.36372 - 37.50 107.50 232.50 0.776983 - 37.50 107.50 237.50 1.52481 - 37.50 107.50 242.50 2.3256 - 37.50 107.50 247.50 2.90877 - 37.50 107.50 252.50 3.09226 - 37.50 107.50 257.50 2.883 - 37.50 107.50 262.50 2.17851 - 37.50 107.50 267.50 1.28335 - 37.50 107.50 272.50 0.507759 - 37.50 107.50 277.50 0.171068 - 37.50 107.50 282.50 0.0498479 - 37.50 107.50 287.50 0.0197533 - 37.50 107.50 292.50 0.010016 - 37.50 107.50 297.50 0.00596034 - 37.50 107.50 302.50 0.0159019 - 37.50 107.50 307.50 0.0581525 - 37.50 107.50 312.50 0.145 - 37.50 107.50 317.50 0.36372 - 37.50 107.50 322.50 0.77698 - 37.50 107.50 327.50 1.52481 - 37.50 107.50 332.50 2.3256 - 37.50 107.50 337.50 2.90877 - 37.50 107.50 342.50 3.09226 - 37.50 107.50 347.50 2.883 - 37.50 107.50 352.50 2.17851 - 37.50 107.50 357.50 1.28335 - 37.50 112.50 2.50 1.03943 - 37.50 112.50 7.50 0.403743 - 37.50 112.50 12.50 0.130629 - 37.50 112.50 17.50 0.0382099 - 37.50 112.50 22.50 0.0118953 - 37.50 112.50 27.50 0.0068694 - 37.50 112.50 32.50 0.0103048 - 37.50 112.50 37.50 0.0350047 - 37.50 112.50 42.50 0.135272 - 37.50 112.50 47.50 0.386245 - 37.50 112.50 52.50 0.852292 - 37.50 112.50 57.50 1.59131 - 37.50 112.50 62.50 2.6994 - 37.50 112.50 67.50 3.82885 - 37.50 112.50 72.50 4.44627 - 37.50 112.50 77.50 4.18347 - 37.50 112.50 82.50 3.40278 - 37.50 112.50 87.50 2.24898 - 37.50 112.50 92.50 1.03943 - 37.50 112.50 97.50 0.403743 - 37.50 112.50 102.50 0.130629 - 37.50 112.50 107.50 0.0382099 - 37.50 112.50 112.50 0.0118953 - 37.50 112.50 117.50 0.00686939 - 37.50 112.50 122.50 0.0103048 - 37.50 112.50 127.50 0.0350047 - 37.50 112.50 132.50 0.135272 - 37.50 112.50 137.50 0.386245 - 37.50 112.50 142.50 0.852292 - 37.50 112.50 147.50 1.59131 - 37.50 112.50 152.50 2.69939 - 37.50 112.50 157.50 3.82885 - 37.50 112.50 162.50 4.44627 - 37.50 112.50 167.50 4.18347 - 37.50 112.50 172.50 3.40278 - 37.50 112.50 177.50 2.24898 - 37.50 112.50 182.50 1.03943 - 37.50 112.50 187.50 0.403743 - 37.50 112.50 192.50 0.130629 - 37.50 112.50 197.50 0.0382099 - 37.50 112.50 202.50 0.0118953 - 37.50 112.50 207.50 0.00686939 - 37.50 112.50 212.50 0.0103048 - 37.50 112.50 217.50 0.0350046 - 37.50 112.50 222.50 0.135271 - 37.50 112.50 227.50 0.386244 - 37.50 112.50 232.50 0.852293 - 37.50 112.50 237.50 1.59131 - 37.50 112.50 242.50 2.6994 - 37.50 112.50 247.50 3.82885 - 37.50 112.50 252.50 4.44627 - 37.50 112.50 257.50 4.18347 - 37.50 112.50 262.50 3.40278 - 37.50 112.50 267.50 2.24898 - 37.50 112.50 272.50 1.03943 - 37.50 112.50 277.50 0.403743 - 37.50 112.50 282.50 0.130629 - 37.50 112.50 287.50 0.0382099 - 37.50 112.50 292.50 0.0118953 - 37.50 112.50 297.50 0.00686939 - 37.50 112.50 302.50 0.0103048 - 37.50 112.50 307.50 0.0350045 - 37.50 112.50 312.50 0.135271 - 37.50 112.50 317.50 0.386244 - 37.50 112.50 322.50 0.85229 - 37.50 112.50 327.50 1.59131 - 37.50 112.50 332.50 2.69939 - 37.50 112.50 337.50 3.82885 - 37.50 112.50 342.50 4.44627 - 37.50 112.50 347.50 4.18347 - 37.50 112.50 352.50 3.40279 - 37.50 112.50 357.50 2.24899 - 37.50 117.50 2.50 1.8542 - 37.50 117.50 7.50 0.852008 - 37.50 117.50 12.50 0.339317 - 37.50 117.50 17.50 0.121949 - 37.50 117.50 22.50 0.0410491 - 37.50 117.50 27.50 0.0122644 - 37.50 117.50 32.50 0.00824428 - 37.50 117.50 37.50 0.0164849 - 37.50 117.50 42.50 0.0741969 - 37.50 117.50 47.50 0.247323 - 37.50 117.50 52.50 0.587849 - 37.50 117.50 57.50 1.22292 - 37.50 117.50 62.50 2.34757 - 37.50 117.50 67.50 3.72494 - 37.50 117.50 72.50 4.6673 - 37.50 117.50 77.50 4.86452 - 37.50 117.50 82.50 4.44461 - 37.50 117.50 87.50 3.37804 - 37.50 117.50 92.50 1.8542 - 37.50 117.50 97.50 0.852008 - 37.50 117.50 102.50 0.339317 - 37.50 117.50 107.50 0.121949 - 37.50 117.50 112.50 0.0410491 - 37.50 117.50 117.50 0.0122644 - 37.50 117.50 122.50 0.00824426 - 37.50 117.50 127.50 0.0164849 - 37.50 117.50 132.50 0.0741969 - 37.50 117.50 137.50 0.247323 - 37.50 117.50 142.50 0.587849 - 37.50 117.50 147.50 1.22292 - 37.50 117.50 152.50 2.34757 - 37.50 117.50 157.50 3.72494 - 37.50 117.50 162.50 4.6673 - 37.50 117.50 167.50 4.86452 - 37.50 117.50 172.50 4.44461 - 37.50 117.50 177.50 3.37804 - 37.50 117.50 182.50 1.8542 - 37.50 117.50 187.50 0.852008 - 37.50 117.50 192.50 0.339317 - 37.50 117.50 197.50 0.121949 - 37.50 117.50 202.50 0.0410491 - 37.50 117.50 207.50 0.0122644 - 37.50 117.50 212.50 0.00824427 - 37.50 117.50 217.50 0.0164849 - 37.50 117.50 222.50 0.0741968 - 37.50 117.50 227.50 0.247323 - 37.50 117.50 232.50 0.587849 - 37.50 117.50 237.50 1.22292 - 37.50 117.50 242.50 2.34757 - 37.50 117.50 247.50 3.72494 - 37.50 117.50 252.50 4.6673 - 37.50 117.50 257.50 4.86452 - 37.50 117.50 262.50 4.44461 - 37.50 117.50 267.50 3.37803 - 37.50 117.50 272.50 1.8542 - 37.50 117.50 277.50 0.852008 - 37.50 117.50 282.50 0.339317 - 37.50 117.50 287.50 0.121949 - 37.50 117.50 292.50 0.0410491 - 37.50 117.50 297.50 0.0122644 - 37.50 117.50 302.50 0.00824427 - 37.50 117.50 307.50 0.0164849 - 37.50 117.50 312.50 0.0741968 - 37.50 117.50 317.50 0.247323 - 37.50 117.50 322.50 0.587847 - 37.50 117.50 327.50 1.22292 - 37.50 117.50 332.50 2.34757 - 37.50 117.50 337.50 3.72493 - 37.50 117.50 342.50 4.6673 - 37.50 117.50 347.50 4.86452 - 37.50 117.50 352.50 4.44461 - 37.50 117.50 357.50 3.37804 - 37.50 122.50 2.50 2.76305 - 37.50 122.50 7.50 1.58308 - 37.50 122.50 12.50 0.821725 - 37.50 122.50 17.50 0.392814 - 37.50 122.50 22.50 0.15771 - 37.50 122.50 27.50 0.0566323 - 37.50 122.50 32.50 0.0214389 - 37.50 122.50 37.50 0.0127466 - 37.50 122.50 42.50 0.0254595 - 37.50 122.50 47.50 0.0876721 - 37.50 122.50 52.50 0.259503 - 37.50 122.50 57.50 0.699767 - 37.50 122.50 62.50 1.52693 - 37.50 122.50 67.50 2.71893 - 37.50 122.50 72.50 3.88523 - 37.50 122.50 77.50 4.56616 - 37.50 122.50 82.50 4.70581 - 37.50 122.50 87.50 4.16844 - 37.50 122.50 92.50 2.76305 - 37.50 122.50 97.50 1.58308 - 37.50 122.50 102.50 0.821725 - 37.50 122.50 107.50 0.392814 - 37.50 122.50 112.50 0.15771 - 37.50 122.50 117.50 0.0566322 - 37.50 122.50 122.50 0.0214389 - 37.50 122.50 127.50 0.0127466 - 37.50 122.50 132.50 0.0254595 - 37.50 122.50 137.50 0.087672 - 37.50 122.50 142.50 0.259503 - 37.50 122.50 147.50 0.699767 - 37.50 122.50 152.50 1.52692 - 37.50 122.50 157.50 2.71893 - 37.50 122.50 162.50 3.88523 - 37.50 122.50 167.50 4.56616 - 37.50 122.50 172.50 4.70581 - 37.50 122.50 177.50 4.16844 - 37.50 122.50 182.50 2.76305 - 37.50 122.50 187.50 1.58308 - 37.50 122.50 192.50 0.821725 - 37.50 122.50 197.50 0.392814 - 37.50 122.50 202.50 0.15771 - 37.50 122.50 207.50 0.0566324 - 37.50 122.50 212.50 0.0214389 - 37.50 122.50 217.50 0.0127466 - 37.50 122.50 222.50 0.0254594 - 37.50 122.50 227.50 0.0876719 - 37.50 122.50 232.50 0.259503 - 37.50 122.50 237.50 0.699767 - 37.50 122.50 242.50 1.52693 - 37.50 122.50 247.50 2.71893 - 37.50 122.50 252.50 3.88523 - 37.50 122.50 257.50 4.56616 - 37.50 122.50 262.50 4.70581 - 37.50 122.50 267.50 4.16844 - 37.50 122.50 272.50 2.76305 - 37.50 122.50 277.50 1.58308 - 37.50 122.50 282.50 0.821725 - 37.50 122.50 287.50 0.392814 - 37.50 122.50 292.50 0.15771 - 37.50 122.50 297.50 0.0566324 - 37.50 122.50 302.50 0.0214389 - 37.50 122.50 307.50 0.0127465 - 37.50 122.50 312.50 0.0254594 - 37.50 122.50 317.50 0.0876718 - 37.50 122.50 322.50 0.259502 - 37.50 122.50 327.50 0.699764 - 37.50 122.50 332.50 1.52692 - 37.50 122.50 337.50 2.71893 - 37.50 122.50 342.50 3.88522 - 37.50 122.50 347.50 4.56616 - 37.50 122.50 352.50 4.70581 - 37.50 122.50 357.50 4.16844 - 37.50 127.50 2.50 3.51916 - 37.50 127.50 7.50 2.6262 - 37.50 127.50 12.50 1.82692 - 37.50 127.50 17.50 1.05389 - 37.50 127.50 22.50 0.5042 - 37.50 127.50 27.50 0.205573 - 37.50 127.50 32.50 0.0726641 - 37.50 127.50 37.50 0.0239199 - 37.50 127.50 42.50 0.0108007 - 37.50 127.50 47.50 0.0261523 - 37.50 127.50 52.50 0.0895865 - 37.50 127.50 57.50 0.316239 - 37.50 127.50 62.50 0.839495 - 37.50 127.50 67.50 1.65246 - 37.50 127.50 72.50 2.54212 - 37.50 127.50 77.50 3.39736 - 37.50 127.50 82.50 4.11789 - 37.50 127.50 87.50 4.29612 - 37.50 127.50 92.50 3.51916 - 37.50 127.50 97.50 2.6262 - 37.50 127.50 102.50 1.82692 - 37.50 127.50 107.50 1.05389 - 37.50 127.50 112.50 0.5042 - 37.50 127.50 117.50 0.205573 - 37.50 127.50 122.50 0.0726641 - 37.50 127.50 127.50 0.0239199 - 37.50 127.50 132.50 0.0108007 - 37.50 127.50 137.50 0.0261523 - 37.50 127.50 142.50 0.0895866 - 37.50 127.50 147.50 0.316239 - 37.50 127.50 152.50 0.839495 - 37.50 127.50 157.50 1.65246 - 37.50 127.50 162.50 2.54212 - 37.50 127.50 167.50 3.39737 - 37.50 127.50 172.50 4.11789 - 37.50 127.50 177.50 4.29611 - 37.50 127.50 182.50 3.51916 - 37.50 127.50 187.50 2.6262 - 37.50 127.50 192.50 1.82692 - 37.50 127.50 197.50 1.05389 - 37.50 127.50 202.50 0.5042 - 37.50 127.50 207.50 0.205573 - 37.50 127.50 212.50 0.0726641 - 37.50 127.50 217.50 0.0239199 - 37.50 127.50 222.50 0.0108007 - 37.50 127.50 227.50 0.0261522 - 37.50 127.50 232.50 0.0895867 - 37.50 127.50 237.50 0.31624 - 37.50 127.50 242.50 0.839496 - 37.50 127.50 247.50 1.65246 - 37.50 127.50 252.50 2.54213 - 37.50 127.50 257.50 3.39737 - 37.50 127.50 262.50 4.11789 - 37.50 127.50 267.50 4.29611 - 37.50 127.50 272.50 3.51916 - 37.50 127.50 277.50 2.6262 - 37.50 127.50 282.50 1.82692 - 37.50 127.50 287.50 1.05389 - 37.50 127.50 292.50 0.504201 - 37.50 127.50 297.50 0.205573 - 37.50 127.50 302.50 0.0726641 - 37.50 127.50 307.50 0.0239199 - 37.50 127.50 312.50 0.0108007 - 37.50 127.50 317.50 0.0261522 - 37.50 127.50 322.50 0.089586 - 37.50 127.50 327.50 0.316238 - 37.50 127.50 332.50 0.839493 - 37.50 127.50 337.50 1.65246 - 37.50 127.50 342.50 2.54212 - 37.50 127.50 347.50 3.39736 - 37.50 127.50 352.50 4.11789 - 37.50 127.50 357.50 4.29612 - 37.50 132.50 2.50 3.96992 - 37.50 132.50 7.50 3.81272 - 37.50 132.50 12.50 3.2544 - 37.50 132.50 17.50 2.16953 - 37.50 132.50 22.50 1.16653 - 37.50 132.50 27.50 0.537618 - 37.50 132.50 32.50 0.203738 - 37.50 132.50 37.50 0.0729034 - 37.50 132.50 42.50 0.0189451 - 37.50 132.50 47.50 0.00708745 - 37.50 132.50 52.50 0.0282612 - 37.50 132.50 57.50 0.129828 - 37.50 132.50 62.50 0.383344 - 37.50 132.50 67.50 0.804091 - 37.50 132.50 72.50 1.34208 - 37.50 132.50 77.50 2.10616 - 37.50 132.50 82.50 3.09998 - 37.50 132.50 87.50 3.87971 - 37.50 132.50 92.50 3.96992 - 37.50 132.50 97.50 3.81272 - 37.50 132.50 102.50 3.2544 - 37.50 132.50 107.50 2.16952 - 37.50 132.50 112.50 1.16653 - 37.50 132.50 117.50 0.537618 - 37.50 132.50 122.50 0.203738 - 37.50 132.50 127.50 0.0729034 - 37.50 132.50 132.50 0.018945 - 37.50 132.50 137.50 0.00708745 - 37.50 132.50 142.50 0.0282612 - 37.50 132.50 147.50 0.129828 - 37.50 132.50 152.50 0.383344 - 37.50 132.50 157.50 0.804091 - 37.50 132.50 162.50 1.34208 - 37.50 132.50 167.50 2.10616 - 37.50 132.50 172.50 3.09998 - 37.50 132.50 177.50 3.87971 - 37.50 132.50 182.50 3.96992 - 37.50 132.50 187.50 3.81272 - 37.50 132.50 192.50 3.2544 - 37.50 132.50 197.50 2.16952 - 37.50 132.50 202.50 1.16653 - 37.50 132.50 207.50 0.537618 - 37.50 132.50 212.50 0.203738 - 37.50 132.50 217.50 0.0729035 - 37.50 132.50 222.50 0.0189451 - 37.50 132.50 227.50 0.00708742 - 37.50 132.50 232.50 0.0282613 - 37.50 132.50 237.50 0.129828 - 37.50 132.50 242.50 0.383345 - 37.50 132.50 247.50 0.804092 - 37.50 132.50 252.50 1.34208 - 37.50 132.50 257.50 2.10617 - 37.50 132.50 262.50 3.09998 - 37.50 132.50 267.50 3.87971 - 37.50 132.50 272.50 3.96991 - 37.50 132.50 277.50 3.81272 - 37.50 132.50 282.50 3.2544 - 37.50 132.50 287.50 2.16953 - 37.50 132.50 292.50 1.16653 - 37.50 132.50 297.50 0.537619 - 37.50 132.50 302.50 0.203738 - 37.50 132.50 307.50 0.0729035 - 37.50 132.50 312.50 0.0189451 - 37.50 132.50 317.50 0.00708742 - 37.50 132.50 322.50 0.0282611 - 37.50 132.50 327.50 0.129828 - 37.50 132.50 332.50 0.383343 - 37.50 132.50 337.50 0.80409 - 37.50 132.50 342.50 1.34208 - 37.50 132.50 347.50 2.10616 - 37.50 132.50 352.50 3.09997 - 37.50 132.50 357.50 3.87971 - 37.50 137.50 2.50 4.10837 - 37.50 137.50 7.50 4.74319 - 37.50 137.50 12.50 4.56805 - 37.50 137.50 17.50 3.36304 - 37.50 137.50 22.50 2.01064 - 37.50 137.50 27.50 1.05436 - 37.50 137.50 32.50 0.495621 - 37.50 137.50 37.50 0.174476 - 37.50 137.50 42.50 0.0426947 - 37.50 137.50 47.50 0.0101159 - 37.50 137.50 52.50 0.00769701 - 37.50 137.50 57.50 0.0399896 - 37.50 137.50 62.50 0.12273 - 37.50 137.50 67.50 0.302599 - 37.50 137.50 72.50 0.60811 - 37.50 137.50 77.50 1.20034 - 37.50 137.50 82.50 2.1423 - 37.50 137.50 87.50 3.2602 - 37.50 137.50 92.50 4.10837 - 37.50 137.50 97.50 4.74319 - 37.50 137.50 102.50 4.56805 - 37.50 137.50 107.50 3.36304 - 37.50 137.50 112.50 2.01064 - 37.50 137.50 117.50 1.05436 - 37.50 137.50 122.50 0.495621 - 37.50 137.50 127.50 0.174476 - 37.50 137.50 132.50 0.0426947 - 37.50 137.50 137.50 0.0101159 - 37.50 137.50 142.50 0.00769701 - 37.50 137.50 147.50 0.0399896 - 37.50 137.50 152.50 0.12273 - 37.50 137.50 157.50 0.302599 - 37.50 137.50 162.50 0.60811 - 37.50 137.50 167.50 1.20034 - 37.50 137.50 172.50 2.1423 - 37.50 137.50 177.50 3.2602 - 37.50 137.50 182.50 4.10837 - 37.50 137.50 187.50 4.74319 - 37.50 137.50 192.50 4.56805 - 37.50 137.50 197.50 3.36303 - 37.50 137.50 202.50 2.01064 - 37.50 137.50 207.50 1.05436 - 37.50 137.50 212.50 0.495621 - 37.50 137.50 217.50 0.174476 - 37.50 137.50 222.50 0.0426947 - 37.50 137.50 227.50 0.0101159 - 37.50 137.50 232.50 0.00769704 - 37.50 137.50 237.50 0.0399897 - 37.50 137.50 242.50 0.12273 - 37.50 137.50 247.50 0.302599 - 37.50 137.50 252.50 0.608111 - 37.50 137.50 257.50 1.20034 - 37.50 137.50 262.50 2.1423 - 37.50 137.50 267.50 3.2602 - 37.50 137.50 272.50 4.10837 - 37.50 137.50 277.50 4.74319 - 37.50 137.50 282.50 4.56805 - 37.50 137.50 287.50 3.36304 - 37.50 137.50 292.50 2.01064 - 37.50 137.50 297.50 1.05436 - 37.50 137.50 302.50 0.495622 - 37.50 137.50 307.50 0.174477 - 37.50 137.50 312.50 0.0426948 - 37.50 137.50 317.50 0.0101159 - 37.50 137.50 322.50 0.00769698 - 37.50 137.50 327.50 0.0399895 - 37.50 137.50 332.50 0.122729 - 37.50 137.50 337.50 0.302598 - 37.50 137.50 342.50 0.608109 - 37.50 137.50 347.50 1.20033 - 37.50 137.50 352.50 2.1423 - 37.50 137.50 357.50 3.2602 - 37.50 142.50 2.50 3.96992 - 37.50 142.50 7.50 5.1399 - 37.50 142.50 12.50 5.29393 - 37.50 142.50 17.50 4.1979 - 37.50 142.50 22.50 2.74658 - 37.50 142.50 27.50 1.62546 - 37.50 142.50 32.50 0.8588 - 37.50 142.50 37.50 0.354944 - 37.50 142.50 42.50 0.105513 - 37.50 142.50 47.50 0.0228352 - 37.50 142.50 52.50 0.00640792 - 37.50 142.50 57.50 0.00846931 - 37.50 142.50 62.50 0.0331133 - 37.50 142.50 67.50 0.0982463 - 37.50 142.50 72.50 0.263238 - 37.50 142.50 77.50 0.663799 - 37.50 142.50 82.50 1.43719 - 37.50 142.50 87.50 2.62754 - 37.50 142.50 92.50 3.96992 - 37.50 142.50 97.50 5.1399 - 37.50 142.50 102.50 5.29393 - 37.50 142.50 107.50 4.1979 - 37.50 142.50 112.50 2.74658 - 37.50 142.50 117.50 1.62546 - 37.50 142.50 122.50 0.8588 - 37.50 142.50 127.50 0.354944 - 37.50 142.50 132.50 0.105513 - 37.50 142.50 137.50 0.0228352 - 37.50 142.50 142.50 0.00640792 - 37.50 142.50 147.50 0.00846932 - 37.50 142.50 152.50 0.0331133 - 37.50 142.50 157.50 0.0982463 - 37.50 142.50 162.50 0.263238 - 37.50 142.50 167.50 0.663799 - 37.50 142.50 172.50 1.43719 - 37.50 142.50 177.50 2.62754 - 37.50 142.50 182.50 3.96992 - 37.50 142.50 187.50 5.1399 - 37.50 142.50 192.50 5.29393 - 37.50 142.50 197.50 4.1979 - 37.50 142.50 202.50 2.74658 - 37.50 142.50 207.50 1.62546 - 37.50 142.50 212.50 0.8588 - 37.50 142.50 217.50 0.354944 - 37.50 142.50 222.50 0.105513 - 37.50 142.50 227.50 0.0228353 - 37.50 142.50 232.50 0.00640791 - 37.50 142.50 237.50 0.00846934 - 37.50 142.50 242.50 0.0331133 - 37.50 142.50 247.50 0.0982464 - 37.50 142.50 252.50 0.263238 - 37.50 142.50 257.50 0.6638 - 37.50 142.50 262.50 1.43719 - 37.50 142.50 267.50 2.62755 - 37.50 142.50 272.50 3.96992 - 37.50 142.50 277.50 5.1399 - 37.50 142.50 282.50 5.29393 - 37.50 142.50 287.50 4.19791 - 37.50 142.50 292.50 2.74658 - 37.50 142.50 297.50 1.62546 - 37.50 142.50 302.50 0.8588 - 37.50 142.50 307.50 0.354944 - 37.50 142.50 312.50 0.105513 - 37.50 142.50 317.50 0.0228352 - 37.50 142.50 322.50 0.00640794 - 37.50 142.50 327.50 0.0084693 - 37.50 142.50 332.50 0.0331132 - 37.50 142.50 337.50 0.0982461 - 37.50 142.50 342.50 0.263237 - 37.50 142.50 347.50 0.663798 - 37.50 142.50 352.50 1.43719 - 37.50 142.50 357.50 2.62754 - 37.50 147.50 2.50 3.51916 - 37.50 147.50 7.50 4.87331 - 37.50 147.50 12.50 5.20278 - 37.50 147.50 17.50 4.35209 - 37.50 147.50 22.50 3.0749 - 37.50 147.50 27.50 2.02369 - 37.50 147.50 32.50 1.23878 - 37.50 147.50 37.50 0.634299 - 37.50 147.50 42.50 0.242967 - 37.50 147.50 47.50 0.0745024 - 37.50 147.50 52.50 0.0222083 - 37.50 147.50 57.50 0.00694581 - 37.50 147.50 62.50 0.00937262 - 37.50 147.50 67.50 0.0315765 - 37.50 147.50 72.50 0.114024 - 37.50 147.50 77.50 0.35245 - 37.50 147.50 82.50 0.951522 - 37.50 147.50 87.50 2.02117 - 37.50 147.50 92.50 3.51916 - 37.50 147.50 97.50 4.87332 - 37.50 147.50 102.50 5.20278 - 37.50 147.50 107.50 4.35209 - 37.50 147.50 112.50 3.0749 - 37.50 147.50 117.50 2.02369 - 37.50 147.50 122.50 1.23878 - 37.50 147.50 127.50 0.634299 - 37.50 147.50 132.50 0.242966 - 37.50 147.50 137.50 0.0745024 - 37.50 147.50 142.50 0.0222083 - 37.50 147.50 147.50 0.00694582 - 37.50 147.50 152.50 0.00937262 - 37.50 147.50 157.50 0.0315765 - 37.50 147.50 162.50 0.114024 - 37.50 147.50 167.50 0.35245 - 37.50 147.50 172.50 0.951521 - 37.50 147.50 177.50 2.02117 - 37.50 147.50 182.50 3.51916 - 37.50 147.50 187.50 4.87331 - 37.50 147.50 192.50 5.20278 - 37.50 147.50 197.50 4.35209 - 37.50 147.50 202.50 3.0749 - 37.50 147.50 207.50 2.02369 - 37.50 147.50 212.50 1.23878 - 37.50 147.50 217.50 0.6343 - 37.50 147.50 222.50 0.242966 - 37.50 147.50 227.50 0.0745025 - 37.50 147.50 232.50 0.0222083 - 37.50 147.50 237.50 0.00694581 - 37.50 147.50 242.50 0.00937264 - 37.50 147.50 247.50 0.0315766 - 37.50 147.50 252.50 0.114024 - 37.50 147.50 257.50 0.352451 - 37.50 147.50 262.50 0.951522 - 37.50 147.50 267.50 2.02117 - 37.50 147.50 272.50 3.51916 - 37.50 147.50 277.50 4.87331 - 37.50 147.50 282.50 5.20278 - 37.50 147.50 287.50 4.35209 - 37.50 147.50 292.50 3.0749 - 37.50 147.50 297.50 2.02369 - 37.50 147.50 302.50 1.23878 - 37.50 147.50 307.50 0.634301 - 37.50 147.50 312.50 0.242967 - 37.50 147.50 317.50 0.0745025 - 37.50 147.50 322.50 0.0222084 - 37.50 147.50 327.50 0.00694583 - 37.50 147.50 332.50 0.00937261 - 37.50 147.50 337.50 0.0315764 - 37.50 147.50 342.50 0.114023 - 37.50 147.50 347.50 0.352449 - 37.50 147.50 352.50 0.951519 - 37.50 147.50 357.50 2.02116 - 37.50 152.50 2.50 2.76305 - 37.50 152.50 7.50 3.93268 - 37.50 152.50 12.50 4.32711 - 37.50 152.50 17.50 3.89519 - 37.50 152.50 22.50 2.95869 - 37.50 152.50 27.50 2.24627 - 37.50 152.50 32.50 1.58333 - 37.50 152.50 37.50 0.948522 - 37.50 152.50 42.50 0.455684 - 37.50 152.50 47.50 0.185082 - 37.50 152.50 52.50 0.0654952 - 37.50 152.50 57.50 0.0208731 - 37.50 152.50 62.50 0.00625911 - 37.50 152.50 67.50 0.0118876 - 37.50 152.50 72.50 0.0525426 - 37.50 152.50 77.50 0.19514 - 37.50 152.50 82.50 0.638209 - 37.50 152.50 87.50 1.45577 - 37.50 152.50 92.50 2.76305 - 37.50 152.50 97.50 3.93268 - 37.50 152.50 102.50 4.32711 - 37.50 152.50 107.50 3.89519 - 37.50 152.50 112.50 2.95869 - 37.50 152.50 117.50 2.24627 - 37.50 152.50 122.50 1.58333 - 37.50 152.50 127.50 0.948522 - 37.50 152.50 132.50 0.455683 - 37.50 152.50 137.50 0.185082 - 37.50 152.50 142.50 0.0654953 - 37.50 152.50 147.50 0.0208731 - 37.50 152.50 152.50 0.00625911 - 37.50 152.50 157.50 0.0118876 - 37.50 152.50 162.50 0.0525425 - 37.50 152.50 167.50 0.19514 - 37.50 152.50 172.50 0.638209 - 37.50 152.50 177.50 1.45577 - 37.50 152.50 182.50 2.76305 - 37.50 152.50 187.50 3.93268 - 37.50 152.50 192.50 4.32711 - 37.50 152.50 197.50 3.89519 - 37.50 152.50 202.50 2.95869 - 37.50 152.50 207.50 2.24627 - 37.50 152.50 212.50 1.58333 - 37.50 152.50 217.50 0.948523 - 37.50 152.50 222.50 0.455684 - 37.50 152.50 227.50 0.185082 - 37.50 152.50 232.50 0.0654952 - 37.50 152.50 237.50 0.0208731 - 37.50 152.50 242.50 0.0062591 - 37.50 152.50 247.50 0.0118876 - 37.50 152.50 252.50 0.0525426 - 37.50 152.50 257.50 0.19514 - 37.50 152.50 262.50 0.63821 - 37.50 152.50 267.50 1.45577 - 37.50 152.50 272.50 2.76305 - 37.50 152.50 277.50 3.93268 - 37.50 152.50 282.50 4.32711 - 37.50 152.50 287.50 3.89519 - 37.50 152.50 292.50 2.95869 - 37.50 152.50 297.50 2.24627 - 37.50 152.50 302.50 1.58333 - 37.50 152.50 307.50 0.948523 - 37.50 152.50 312.50 0.455684 - 37.50 152.50 317.50 0.185082 - 37.50 152.50 322.50 0.0654954 - 37.50 152.50 327.50 0.0208731 - 37.50 152.50 332.50 0.00625912 - 37.50 152.50 337.50 0.0118875 - 37.50 152.50 342.50 0.0525423 - 37.50 152.50 347.50 0.195139 - 37.50 152.50 352.50 0.638207 - 37.50 152.50 357.50 1.45577 - 37.50 157.50 2.50 1.8542 - 37.50 157.50 7.50 2.6129 - 37.50 157.50 12.50 2.99848 - 37.50 157.50 17.50 2.91069 - 37.50 157.50 22.50 2.5378 - 37.50 157.50 27.50 2.18769 - 37.50 157.50 32.50 1.79043 - 37.50 157.50 37.50 1.22789 - 37.50 157.50 42.50 0.704691 - 37.50 157.50 47.50 0.350196 - 37.50 157.50 52.50 0.151314 - 37.50 157.50 57.50 0.0457689 - 37.50 157.50 62.50 0.0107685 - 37.50 157.50 67.50 0.0144218 - 37.50 157.50 72.50 0.0458892 - 37.50 157.50 77.50 0.152508 - 37.50 157.50 82.50 0.436383 - 37.50 157.50 87.50 0.974832 - 37.50 157.50 92.50 1.8542 - 37.50 157.50 97.50 2.6129 - 37.50 157.50 102.50 2.99848 - 37.50 157.50 107.50 2.91069 - 37.50 157.50 112.50 2.5378 - 37.50 157.50 117.50 2.18769 - 37.50 157.50 122.50 1.79043 - 37.50 157.50 127.50 1.22789 - 37.50 157.50 132.50 0.704691 - 37.50 157.50 137.50 0.350196 - 37.50 157.50 142.50 0.151314 - 37.50 157.50 147.50 0.0457689 - 37.50 157.50 152.50 0.0107685 - 37.50 157.50 157.50 0.0144218 - 37.50 157.50 162.50 0.0458891 - 37.50 157.50 167.50 0.152507 - 37.50 157.50 172.50 0.436383 - 37.50 157.50 177.50 0.974832 - 37.50 157.50 182.50 1.8542 - 37.50 157.50 187.50 2.6129 - 37.50 157.50 192.50 2.99848 - 37.50 157.50 197.50 2.91069 - 37.50 157.50 202.50 2.5378 - 37.50 157.50 207.50 2.18769 - 37.50 157.50 212.50 1.79043 - 37.50 157.50 217.50 1.22789 - 37.50 157.50 222.50 0.704691 - 37.50 157.50 227.50 0.350196 - 37.50 157.50 232.50 0.151314 - 37.50 157.50 237.50 0.0457688 - 37.50 157.50 242.50 0.0107685 - 37.50 157.50 247.50 0.0144218 - 37.50 157.50 252.50 0.0458892 - 37.50 157.50 257.50 0.152508 - 37.50 157.50 262.50 0.436383 - 37.50 157.50 267.50 0.974832 - 37.50 157.50 272.50 1.8542 - 37.50 157.50 277.50 2.6129 - 37.50 157.50 282.50 2.99848 - 37.50 157.50 287.50 2.91069 - 37.50 157.50 292.50 2.5378 - 37.50 157.50 297.50 2.18769 - 37.50 157.50 302.50 1.79043 - 37.50 157.50 307.50 1.22789 - 37.50 157.50 312.50 0.704692 - 37.50 157.50 317.50 0.350196 - 37.50 157.50 322.50 0.151314 - 37.50 157.50 327.50 0.045769 - 37.50 157.50 332.50 0.0107685 - 37.50 157.50 337.50 0.0144217 - 37.50 157.50 342.50 0.045889 - 37.50 157.50 347.50 0.152507 - 37.50 157.50 352.50 0.436382 - 37.50 157.50 357.50 0.97483 - 37.50 162.50 2.50 1.03943 - 37.50 162.50 7.50 1.4243 - 37.50 162.50 12.50 1.68953 - 37.50 162.50 17.50 1.7923 - 37.50 162.50 22.50 1.80989 - 37.50 162.50 27.50 1.80113 - 37.50 162.50 32.50 1.69363 - 37.50 162.50 37.50 1.38431 - 37.50 162.50 42.50 0.932671 - 37.50 162.50 47.50 0.521483 - 37.50 162.50 52.50 0.23462 - 37.50 162.50 57.50 0.081689 - 37.50 162.50 62.50 0.0276613 - 37.50 162.50 67.50 0.0323286 - 37.50 162.50 72.50 0.0783439 - 37.50 162.50 77.50 0.165008 - 37.50 162.50 82.50 0.307097 - 37.50 162.50 87.50 0.593795 - 37.50 162.50 92.50 1.03943 - 37.50 162.50 97.50 1.4243 - 37.50 162.50 102.50 1.68953 - 37.50 162.50 107.50 1.7923 - 37.50 162.50 112.50 1.80989 - 37.50 162.50 117.50 1.80113 - 37.50 162.50 122.50 1.69363 - 37.50 162.50 127.50 1.38431 - 37.50 162.50 132.50 0.932671 - 37.50 162.50 137.50 0.521483 - 37.50 162.50 142.50 0.23462 - 37.50 162.50 147.50 0.081689 - 37.50 162.50 152.50 0.0276614 - 37.50 162.50 157.50 0.0323285 - 37.50 162.50 162.50 0.0783439 - 37.50 162.50 167.50 0.165007 - 37.50 162.50 172.50 0.307097 - 37.50 162.50 177.50 0.593795 - 37.50 162.50 182.50 1.03943 - 37.50 162.50 187.50 1.4243 - 37.50 162.50 192.50 1.68953 - 37.50 162.50 197.50 1.7923 - 37.50 162.50 202.50 1.80989 - 37.50 162.50 207.50 1.80113 - 37.50 162.50 212.50 1.69363 - 37.50 162.50 217.50 1.38431 - 37.50 162.50 222.50 0.932671 - 37.50 162.50 227.50 0.521484 - 37.50 162.50 232.50 0.23462 - 37.50 162.50 237.50 0.0816889 - 37.50 162.50 242.50 0.0276613 - 37.50 162.50 247.50 0.0323286 - 37.50 162.50 252.50 0.078344 - 37.50 162.50 257.50 0.165008 - 37.50 162.50 262.50 0.307097 - 37.50 162.50 267.50 0.593796 - 37.50 162.50 272.50 1.03943 - 37.50 162.50 277.50 1.4243 - 37.50 162.50 282.50 1.68953 - 37.50 162.50 287.50 1.7923 - 37.50 162.50 292.50 1.80989 - 37.50 162.50 297.50 1.80113 - 37.50 162.50 302.50 1.69363 - 37.50 162.50 307.50 1.38431 - 37.50 162.50 312.50 0.932671 - 37.50 162.50 317.50 0.521484 - 37.50 162.50 322.50 0.234621 - 37.50 162.50 327.50 0.0816891 - 37.50 162.50 332.50 0.0276614 - 37.50 162.50 337.50 0.0323285 - 37.50 162.50 342.50 0.0783437 - 37.50 162.50 347.50 0.165007 - 37.50 162.50 352.50 0.307097 - 37.50 162.50 357.50 0.593794 - 37.50 167.50 2.50 0.50776 - 37.50 167.50 7.50 0.658212 - 37.50 167.50 12.50 0.768402 - 37.50 167.50 17.50 0.895646 - 37.50 167.50 22.50 1.05127 - 37.50 167.50 27.50 1.284 - 37.50 167.50 32.50 1.48102 - 37.50 167.50 37.50 1.4099 - 37.50 167.50 42.50 1.03144 - 37.50 167.50 47.50 0.59262 - 37.50 167.50 52.50 0.281274 - 37.50 167.50 57.50 0.111885 - 37.50 167.50 62.50 0.0422283 - 37.50 167.50 67.50 0.0538103 - 37.50 167.50 72.50 0.111707 - 37.50 167.50 77.50 0.175894 - 37.50 167.50 82.50 0.225286 - 37.50 167.50 87.50 0.341374 - 37.50 167.50 92.50 0.50776 - 37.50 167.50 97.50 0.658213 - 37.50 167.50 102.50 0.768402 - 37.50 167.50 107.50 0.895646 - 37.50 167.50 112.50 1.05127 - 37.50 167.50 117.50 1.284 - 37.50 167.50 122.50 1.48102 - 37.50 167.50 127.50 1.4099 - 37.50 167.50 132.50 1.03144 - 37.50 167.50 137.50 0.59262 - 37.50 167.50 142.50 0.281274 - 37.50 167.50 147.50 0.111885 - 37.50 167.50 152.50 0.0422283 - 37.50 167.50 157.50 0.0538103 - 37.50 167.50 162.50 0.111707 - 37.50 167.50 167.50 0.175894 - 37.50 167.50 172.50 0.225286 - 37.50 167.50 177.50 0.341374 - 37.50 167.50 182.50 0.50776 - 37.50 167.50 187.50 0.658213 - 37.50 167.50 192.50 0.768402 - 37.50 167.50 197.50 0.895646 - 37.50 167.50 202.50 1.05127 - 37.50 167.50 207.50 1.284 - 37.50 167.50 212.50 1.48102 - 37.50 167.50 217.50 1.4099 - 37.50 167.50 222.50 1.03144 - 37.50 167.50 227.50 0.59262 - 37.50 167.50 232.50 0.281273 - 37.50 167.50 237.50 0.111885 - 37.50 167.50 242.50 0.0422283 - 37.50 167.50 247.50 0.0538104 - 37.50 167.50 252.50 0.111707 - 37.50 167.50 257.50 0.175894 - 37.50 167.50 262.50 0.225286 - 37.50 167.50 267.50 0.341374 - 37.50 167.50 272.50 0.50776 - 37.50 167.50 277.50 0.658212 - 37.50 167.50 282.50 0.768402 - 37.50 167.50 287.50 0.895645 - 37.50 167.50 292.50 1.05127 - 37.50 167.50 297.50 1.284 - 37.50 167.50 302.50 1.48102 - 37.50 167.50 307.50 1.4099 - 37.50 167.50 312.50 1.03144 - 37.50 167.50 317.50 0.592621 - 37.50 167.50 322.50 0.281274 - 37.50 167.50 327.50 0.111885 - 37.50 167.50 332.50 0.0422284 - 37.50 167.50 337.50 0.0538102 - 37.50 167.50 342.50 0.111707 - 37.50 167.50 347.50 0.175894 - 37.50 167.50 352.50 0.225286 - 37.50 167.50 357.50 0.341373 - 37.50 172.50 2.50 0.241648 - 37.50 172.50 7.50 0.277079 - 37.50 172.50 12.50 0.303618 - 37.50 172.50 17.50 0.357211 - 37.50 172.50 22.50 0.520799 - 37.50 172.50 27.50 0.820783 - 37.50 172.50 32.50 1.14639 - 37.50 172.50 37.50 1.23544 - 37.50 172.50 42.50 0.967709 - 37.50 172.50 47.50 0.554749 - 37.50 172.50 52.50 0.253802 - 37.50 172.50 57.50 0.101965 - 37.50 172.50 62.50 0.0491384 - 37.50 172.50 67.50 0.0602945 - 37.50 172.50 72.50 0.104071 - 37.50 172.50 77.50 0.142121 - 37.50 172.50 82.50 0.170538 - 37.50 172.50 87.50 0.200088 - 37.50 172.50 92.50 0.241648 - 37.50 172.50 97.50 0.277079 - 37.50 172.50 102.50 0.303618 - 37.50 172.50 107.50 0.357211 - 37.50 172.50 112.50 0.520799 - 37.50 172.50 117.50 0.820782 - 37.50 172.50 122.50 1.14639 - 37.50 172.50 127.50 1.23544 - 37.50 172.50 132.50 0.967708 - 37.50 172.50 137.50 0.554749 - 37.50 172.50 142.50 0.253802 - 37.50 172.50 147.50 0.101965 - 37.50 172.50 152.50 0.0491384 - 37.50 172.50 157.50 0.0602944 - 37.50 172.50 162.50 0.104071 - 37.50 172.50 167.50 0.142121 - 37.50 172.50 172.50 0.170538 - 37.50 172.50 177.50 0.200088 - 37.50 172.50 182.50 0.241648 - 37.50 172.50 187.50 0.277079 - 37.50 172.50 192.50 0.303618 - 37.50 172.50 197.50 0.35721 - 37.50 172.50 202.50 0.520799 - 37.50 172.50 207.50 0.820782 - 37.50 172.50 212.50 1.14639 - 37.50 172.50 217.50 1.23544 - 37.50 172.50 222.50 0.967709 - 37.50 172.50 227.50 0.554749 - 37.50 172.50 232.50 0.253802 - 37.50 172.50 237.50 0.101965 - 37.50 172.50 242.50 0.0491384 - 37.50 172.50 247.50 0.0602945 - 37.50 172.50 252.50 0.104072 - 37.50 172.50 257.50 0.142121 - 37.50 172.50 262.50 0.170538 - 37.50 172.50 267.50 0.200089 - 37.50 172.50 272.50 0.241648 - 37.50 172.50 277.50 0.277079 - 37.50 172.50 282.50 0.303618 - 37.50 172.50 287.50 0.35721 - 37.50 172.50 292.50 0.520799 - 37.50 172.50 297.50 0.820782 - 37.50 172.50 302.50 1.14639 - 37.50 172.50 307.50 1.23544 - 37.50 172.50 312.50 0.967709 - 37.50 172.50 317.50 0.554749 - 37.50 172.50 322.50 0.253803 - 37.50 172.50 327.50 0.101965 - 37.50 172.50 332.50 0.0491385 - 37.50 172.50 337.50 0.0602944 - 37.50 172.50 342.50 0.104071 - 37.50 172.50 347.50 0.142121 - 37.50 172.50 352.50 0.170538 - 37.50 172.50 357.50 0.200088 - 37.50 177.50 2.50 0.116068 - 37.50 177.50 7.50 0.109438 - 37.50 177.50 12.50 0.104517 - 37.50 177.50 17.50 0.130089 - 37.50 177.50 22.50 0.242646 - 37.50 177.50 27.50 0.493237 - 37.50 177.50 32.50 0.816791 - 37.50 177.50 37.50 0.961443 - 37.50 177.50 42.50 0.764686 - 37.50 177.50 47.50 0.423002 - 37.50 177.50 52.50 0.182192 - 37.50 177.50 57.50 0.0734261 - 37.50 177.50 62.50 0.0411975 - 37.50 177.50 67.50 0.0545772 - 37.50 177.50 72.50 0.0829735 - 37.50 177.50 77.50 0.103349 - 37.50 177.50 82.50 0.110487 - 37.50 177.50 87.50 0.114934 - 37.50 177.50 92.50 0.116068 - 37.50 177.50 97.50 0.109438 - 37.50 177.50 102.50 0.104517 - 37.50 177.50 107.50 0.130089 - 37.50 177.50 112.50 0.242646 - 37.50 177.50 117.50 0.493238 - 37.50 177.50 122.50 0.816792 - 37.50 177.50 127.50 0.961443 - 37.50 177.50 132.50 0.764686 - 37.50 177.50 137.50 0.423002 - 37.50 177.50 142.50 0.182192 - 37.50 177.50 147.50 0.0734261 - 37.50 177.50 152.50 0.0411975 - 37.50 177.50 157.50 0.0545772 - 37.50 177.50 162.50 0.0829735 - 37.50 177.50 167.50 0.103349 - 37.50 177.50 172.50 0.110487 - 37.50 177.50 177.50 0.114934 - 37.50 177.50 182.50 0.116068 - 37.50 177.50 187.50 0.109438 - 37.50 177.50 192.50 0.104517 - 37.50 177.50 197.50 0.130088 - 37.50 177.50 202.50 0.242646 - 37.50 177.50 207.50 0.493238 - 37.50 177.50 212.50 0.816792 - 37.50 177.50 217.50 0.961442 - 37.50 177.50 222.50 0.764686 - 37.50 177.50 227.50 0.423002 - 37.50 177.50 232.50 0.182192 - 37.50 177.50 237.50 0.073426 - 37.50 177.50 242.50 0.0411975 - 37.50 177.50 247.50 0.0545772 - 37.50 177.50 252.50 0.0829735 - 37.50 177.50 257.50 0.103349 - 37.50 177.50 262.50 0.110487 - 37.50 177.50 267.50 0.114934 - 37.50 177.50 272.50 0.116068 - 37.50 177.50 277.50 0.109438 - 37.50 177.50 282.50 0.104517 - 37.50 177.50 287.50 0.130088 - 37.50 177.50 292.50 0.242646 - 37.50 177.50 297.50 0.493237 - 37.50 177.50 302.50 0.816792 - 37.50 177.50 307.50 0.961442 - 37.50 177.50 312.50 0.764686 - 37.50 177.50 317.50 0.423002 - 37.50 177.50 322.50 0.182192 - 37.50 177.50 327.50 0.0734262 - 37.50 177.50 332.50 0.0411975 - 37.50 177.50 337.50 0.0545771 - 37.50 177.50 342.50 0.0829735 - 37.50 177.50 347.50 0.103349 - 37.50 177.50 352.50 0.110487 - 37.50 177.50 357.50 0.114934 - 42.50 2.50 2.50 0.083846 - 42.50 2.50 7.50 0.084539 - 42.50 2.50 12.50 0.083846 - 42.50 2.50 17.50 0.0760385 - 42.50 2.50 22.50 0.0601603 - 42.50 2.50 27.50 0.0485219 - 42.50 2.50 32.50 0.0624686 - 42.50 2.50 37.50 0.149977 - 42.50 2.50 42.50 0.393272 - 42.50 2.50 47.50 0.773178 - 42.50 2.50 52.50 0.980476 - 42.50 2.50 57.50 0.773178 - 42.50 2.50 62.50 0.393272 - 42.50 2.50 67.50 0.149977 - 42.50 2.50 72.50 0.0624686 - 42.50 2.50 77.50 0.0485219 - 42.50 2.50 82.50 0.0601603 - 42.50 2.50 87.50 0.0760385 - 42.50 2.50 92.50 0.083846 - 42.50 2.50 97.50 0.084539 - 42.50 2.50 102.50 0.083846 - 42.50 2.50 107.50 0.0760385 - 42.50 2.50 112.50 0.0601603 - 42.50 2.50 117.50 0.0485219 - 42.50 2.50 122.50 0.0624686 - 42.50 2.50 127.50 0.149977 - 42.50 2.50 132.50 0.393273 - 42.50 2.50 137.50 0.773178 - 42.50 2.50 142.50 0.980476 - 42.50 2.50 147.50 0.773179 - 42.50 2.50 152.50 0.393272 - 42.50 2.50 157.50 0.149977 - 42.50 2.50 162.50 0.0624686 - 42.50 2.50 167.50 0.0485219 - 42.50 2.50 172.50 0.0601603 - 42.50 2.50 177.50 0.0760385 - 42.50 2.50 182.50 0.083846 - 42.50 2.50 187.50 0.084539 - 42.50 2.50 192.50 0.083846 - 42.50 2.50 197.50 0.0760385 - 42.50 2.50 202.50 0.0601603 - 42.50 2.50 207.50 0.0485219 - 42.50 2.50 212.50 0.0624686 - 42.50 2.50 217.50 0.149977 - 42.50 2.50 222.50 0.393272 - 42.50 2.50 227.50 0.773177 - 42.50 2.50 232.50 0.980476 - 42.50 2.50 237.50 0.773178 - 42.50 2.50 242.50 0.393272 - 42.50 2.50 247.50 0.149977 - 42.50 2.50 252.50 0.0624685 - 42.50 2.50 257.50 0.0485219 - 42.50 2.50 262.50 0.0601603 - 42.50 2.50 267.50 0.0760386 - 42.50 2.50 272.50 0.083846 - 42.50 2.50 277.50 0.084539 - 42.50 2.50 282.50 0.083846 - 42.50 2.50 287.50 0.0760385 - 42.50 2.50 292.50 0.0601603 - 42.50 2.50 297.50 0.0485219 - 42.50 2.50 302.50 0.0624686 - 42.50 2.50 307.50 0.149977 - 42.50 2.50 312.50 0.393272 - 42.50 2.50 317.50 0.773178 - 42.50 2.50 322.50 0.980476 - 42.50 2.50 327.50 0.773179 - 42.50 2.50 332.50 0.393273 - 42.50 2.50 337.50 0.149977 - 42.50 2.50 342.50 0.0624686 - 42.50 2.50 347.50 0.0485219 - 42.50 2.50 352.50 0.0601603 - 42.50 2.50 357.50 0.0760385 - 42.50 7.50 2.50 0.12541 - 42.50 7.50 7.50 0.119002 - 42.50 7.50 12.50 0.110057 - 42.50 7.50 17.50 0.0897008 - 42.50 7.50 22.50 0.0626697 - 42.50 7.50 27.50 0.0483576 - 42.50 7.50 32.50 0.0709713 - 42.50 7.50 37.50 0.176458 - 42.50 7.50 42.50 0.425681 - 42.50 7.50 47.50 0.774996 - 42.50 7.50 52.50 0.958468 - 42.50 7.50 57.50 0.792093 - 42.50 7.50 62.50 0.462255 - 42.50 7.50 67.50 0.232953 - 42.50 7.50 72.50 0.140119 - 42.50 7.50 77.50 0.118243 - 42.50 7.50 82.50 0.120838 - 42.50 7.50 87.50 0.126956 - 42.50 7.50 92.50 0.12541 - 42.50 7.50 97.50 0.119002 - 42.50 7.50 102.50 0.110057 - 42.50 7.50 107.50 0.0897008 - 42.50 7.50 112.50 0.0626697 - 42.50 7.50 117.50 0.0483576 - 42.50 7.50 122.50 0.0709713 - 42.50 7.50 127.50 0.176458 - 42.50 7.50 132.50 0.425681 - 42.50 7.50 137.50 0.774996 - 42.50 7.50 142.50 0.958468 - 42.50 7.50 147.50 0.792093 - 42.50 7.50 152.50 0.462255 - 42.50 7.50 157.50 0.232953 - 42.50 7.50 162.50 0.140119 - 42.50 7.50 167.50 0.118243 - 42.50 7.50 172.50 0.120838 - 42.50 7.50 177.50 0.126956 - 42.50 7.50 182.50 0.12541 - 42.50 7.50 187.50 0.119002 - 42.50 7.50 192.50 0.110057 - 42.50 7.50 197.50 0.0897008 - 42.50 7.50 202.50 0.0626696 - 42.50 7.50 207.50 0.0483575 - 42.50 7.50 212.50 0.0709713 - 42.50 7.50 217.50 0.176459 - 42.50 7.50 222.50 0.425681 - 42.50 7.50 227.50 0.774995 - 42.50 7.50 232.50 0.958468 - 42.50 7.50 237.50 0.792093 - 42.50 7.50 242.50 0.462256 - 42.50 7.50 247.50 0.232953 - 42.50 7.50 252.50 0.140119 - 42.50 7.50 257.50 0.118243 - 42.50 7.50 262.50 0.120838 - 42.50 7.50 267.50 0.126956 - 42.50 7.50 272.50 0.12541 - 42.50 7.50 277.50 0.119002 - 42.50 7.50 282.50 0.110057 - 42.50 7.50 287.50 0.0897008 - 42.50 7.50 292.50 0.0626696 - 42.50 7.50 297.50 0.0483575 - 42.50 7.50 302.50 0.0709712 - 42.50 7.50 307.50 0.176459 - 42.50 7.50 312.50 0.425681 - 42.50 7.50 317.50 0.774995 - 42.50 7.50 322.50 0.958468 - 42.50 7.50 327.50 0.792094 - 42.50 7.50 332.50 0.462256 - 42.50 7.50 337.50 0.232954 - 42.50 7.50 342.50 0.140119 - 42.50 7.50 347.50 0.118243 - 42.50 7.50 352.50 0.120838 - 42.50 7.50 357.50 0.126956 - 42.50 12.50 2.50 0.244556 - 42.50 12.50 7.50 0.204062 - 42.50 12.50 12.50 0.164515 - 42.50 12.50 17.50 0.108297 - 42.50 12.50 22.50 0.0673723 - 42.50 12.50 27.50 0.0569904 - 42.50 12.50 32.50 0.102746 - 42.50 12.50 37.50 0.244358 - 42.50 12.50 42.50 0.541711 - 42.50 12.50 47.50 0.953291 - 42.50 12.50 52.50 1.21402 - 42.50 12.50 57.50 1.10121 - 42.50 12.50 62.50 0.777772 - 42.50 12.50 67.50 0.526486 - 42.50 12.50 72.50 0.416338 - 42.50 12.50 77.50 0.362094 - 42.50 12.50 82.50 0.329846 - 42.50 12.50 87.50 0.291897 - 42.50 12.50 92.50 0.244556 - 42.50 12.50 97.50 0.204062 - 42.50 12.50 102.50 0.164515 - 42.50 12.50 107.50 0.108297 - 42.50 12.50 112.50 0.0673723 - 42.50 12.50 117.50 0.0569905 - 42.50 12.50 122.50 0.102746 - 42.50 12.50 127.50 0.244358 - 42.50 12.50 132.50 0.541711 - 42.50 12.50 137.50 0.953291 - 42.50 12.50 142.50 1.21402 - 42.50 12.50 147.50 1.10121 - 42.50 12.50 152.50 0.777773 - 42.50 12.50 157.50 0.526486 - 42.50 12.50 162.50 0.416338 - 42.50 12.50 167.50 0.362094 - 42.50 12.50 172.50 0.329846 - 42.50 12.50 177.50 0.291898 - 42.50 12.50 182.50 0.244556 - 42.50 12.50 187.50 0.204062 - 42.50 12.50 192.50 0.164515 - 42.50 12.50 197.50 0.108297 - 42.50 12.50 202.50 0.0673723 - 42.50 12.50 207.50 0.0569904 - 42.50 12.50 212.50 0.102746 - 42.50 12.50 217.50 0.244358 - 42.50 12.50 222.50 0.541711 - 42.50 12.50 227.50 0.953291 - 42.50 12.50 232.50 1.21402 - 42.50 12.50 237.50 1.10121 - 42.50 12.50 242.50 0.777772 - 42.50 12.50 247.50 0.526486 - 42.50 12.50 252.50 0.416337 - 42.50 12.50 257.50 0.362093 - 42.50 12.50 262.50 0.329846 - 42.50 12.50 267.50 0.291897 - 42.50 12.50 272.50 0.244556 - 42.50 12.50 277.50 0.204062 - 42.50 12.50 282.50 0.164515 - 42.50 12.50 287.50 0.108297 - 42.50 12.50 292.50 0.0673723 - 42.50 12.50 297.50 0.0569904 - 42.50 12.50 302.50 0.102746 - 42.50 12.50 307.50 0.244358 - 42.50 12.50 312.50 0.541711 - 42.50 12.50 317.50 0.953291 - 42.50 12.50 322.50 1.21402 - 42.50 12.50 327.50 1.10121 - 42.50 12.50 332.50 0.777773 - 42.50 12.50 337.50 0.526487 - 42.50 12.50 342.50 0.416338 - 42.50 12.50 347.50 0.362094 - 42.50 12.50 352.50 0.329846 - 42.50 12.50 357.50 0.291898 - 42.50 17.50 2.50 0.460877 - 42.50 17.50 7.50 0.30253 - 42.50 17.50 12.50 0.192319 - 42.50 17.50 17.50 0.118854 - 42.50 17.50 22.50 0.0626106 - 42.50 17.50 27.50 0.0515304 - 42.50 17.50 32.50 0.110501 - 42.50 17.50 37.50 0.268721 - 42.50 17.50 42.50 0.554865 - 42.50 17.50 47.50 0.970133 - 42.50 17.50 52.50 1.33987 - 42.50 17.50 57.50 1.42006 - 42.50 17.50 62.50 1.25223 - 42.50 17.50 67.50 1.10149 - 42.50 17.50 72.50 1.04354 - 42.50 17.50 77.50 0.968019 - 42.50 17.50 82.50 0.816206 - 42.50 17.50 87.50 0.652798 - 42.50 17.50 92.50 0.460876 - 42.50 17.50 97.50 0.30253 - 42.50 17.50 102.50 0.192319 - 42.50 17.50 107.50 0.118854 - 42.50 17.50 112.50 0.0626106 - 42.50 17.50 117.50 0.0515305 - 42.50 17.50 122.50 0.110501 - 42.50 17.50 127.50 0.268721 - 42.50 17.50 132.50 0.554866 - 42.50 17.50 137.50 0.970133 - 42.50 17.50 142.50 1.33987 - 42.50 17.50 147.50 1.42006 - 42.50 17.50 152.50 1.25223 - 42.50 17.50 157.50 1.10149 - 42.50 17.50 162.50 1.04354 - 42.50 17.50 167.50 0.968019 - 42.50 17.50 172.50 0.816206 - 42.50 17.50 177.50 0.652798 - 42.50 17.50 182.50 0.460876 - 42.50 17.50 187.50 0.30253 - 42.50 17.50 192.50 0.192319 - 42.50 17.50 197.50 0.118854 - 42.50 17.50 202.50 0.0626106 - 42.50 17.50 207.50 0.0515304 - 42.50 17.50 212.50 0.110501 - 42.50 17.50 217.50 0.268721 - 42.50 17.50 222.50 0.554866 - 42.50 17.50 227.50 0.970133 - 42.50 17.50 232.50 1.33987 - 42.50 17.50 237.50 1.42006 - 42.50 17.50 242.50 1.25223 - 42.50 17.50 247.50 1.10149 - 42.50 17.50 252.50 1.04354 - 42.50 17.50 257.50 0.968018 - 42.50 17.50 262.50 0.816206 - 42.50 17.50 267.50 0.652798 - 42.50 17.50 272.50 0.460877 - 42.50 17.50 277.50 0.30253 - 42.50 17.50 282.50 0.192319 - 42.50 17.50 287.50 0.118854 - 42.50 17.50 292.50 0.0626106 - 42.50 17.50 297.50 0.0515304 - 42.50 17.50 302.50 0.1105 - 42.50 17.50 307.50 0.268721 - 42.50 17.50 312.50 0.554866 - 42.50 17.50 317.50 0.970133 - 42.50 17.50 322.50 1.33987 - 42.50 17.50 327.50 1.42006 - 42.50 17.50 332.50 1.25223 - 42.50 17.50 337.50 1.10149 - 42.50 17.50 342.50 1.04354 - 42.50 17.50 347.50 0.968019 - 42.50 17.50 352.50 0.816206 - 42.50 17.50 357.50 0.652798 - 42.50 22.50 2.50 0.865462 - 42.50 22.50 7.50 0.430564 - 42.50 22.50 12.50 0.202847 - 42.50 22.50 17.50 0.0932949 - 42.50 22.50 22.50 0.0366079 - 42.50 22.50 27.50 0.0302528 - 42.50 22.50 32.50 0.0784524 - 42.50 22.50 37.50 0.206481 - 42.50 22.50 42.50 0.456507 - 42.50 22.50 47.50 0.847795 - 42.50 22.50 52.50 1.30256 - 42.50 22.50 57.50 1.62272 - 42.50 22.50 62.50 1.76641 - 42.50 22.50 67.50 1.89594 - 42.50 22.50 72.50 2.04577 - 42.50 22.50 77.50 2.05423 - 42.50 22.50 82.50 1.8292 - 42.50 22.50 87.50 1.38244 - 42.50 22.50 92.50 0.865462 - 42.50 22.50 97.50 0.430564 - 42.50 22.50 102.50 0.202848 - 42.50 22.50 107.50 0.0932949 - 42.50 22.50 112.50 0.0366079 - 42.50 22.50 117.50 0.0302528 - 42.50 22.50 122.50 0.0784524 - 42.50 22.50 127.50 0.206481 - 42.50 22.50 132.50 0.456507 - 42.50 22.50 137.50 0.847795 - 42.50 22.50 142.50 1.30256 - 42.50 22.50 147.50 1.62272 - 42.50 22.50 152.50 1.76641 - 42.50 22.50 157.50 1.89594 - 42.50 22.50 162.50 2.04577 - 42.50 22.50 167.50 2.05423 - 42.50 22.50 172.50 1.8292 - 42.50 22.50 177.50 1.38244 - 42.50 22.50 182.50 0.865462 - 42.50 22.50 187.50 0.430564 - 42.50 22.50 192.50 0.202848 - 42.50 22.50 197.50 0.0932949 - 42.50 22.50 202.50 0.0366079 - 42.50 22.50 207.50 0.0302528 - 42.50 22.50 212.50 0.0784524 - 42.50 22.50 217.50 0.206481 - 42.50 22.50 222.50 0.456506 - 42.50 22.50 227.50 0.847794 - 42.50 22.50 232.50 1.30256 - 42.50 22.50 237.50 1.62272 - 42.50 22.50 242.50 1.76641 - 42.50 22.50 247.50 1.89594 - 42.50 22.50 252.50 2.04577 - 42.50 22.50 257.50 2.05423 - 42.50 22.50 262.50 1.8292 - 42.50 22.50 267.50 1.38244 - 42.50 22.50 272.50 0.865462 - 42.50 22.50 277.50 0.430564 - 42.50 22.50 282.50 0.202847 - 42.50 22.50 287.50 0.0932949 - 42.50 22.50 292.50 0.0366079 - 42.50 22.50 297.50 0.0302528 - 42.50 22.50 302.50 0.0784522 - 42.50 22.50 307.50 0.206481 - 42.50 22.50 312.50 0.456506 - 42.50 22.50 317.50 0.847794 - 42.50 22.50 322.50 1.30256 - 42.50 22.50 327.50 1.62272 - 42.50 22.50 332.50 1.76641 - 42.50 22.50 337.50 1.89594 - 42.50 22.50 342.50 2.04577 - 42.50 22.50 347.50 2.05423 - 42.50 22.50 352.50 1.8292 - 42.50 22.50 357.50 1.38244 - 42.50 27.50 2.50 1.46809 - 42.50 27.50 7.50 0.620965 - 42.50 27.50 12.50 0.227896 - 42.50 27.50 17.50 0.0670519 - 42.50 27.50 22.50 0.0183379 - 42.50 27.50 27.50 0.0123625 - 42.50 27.50 32.50 0.0369169 - 42.50 27.50 37.50 0.121999 - 42.50 27.50 42.50 0.295948 - 42.50 27.50 47.50 0.60778 - 42.50 27.50 52.50 1.09447 - 42.50 27.50 57.50 1.61011 - 42.50 27.50 62.50 2.10945 - 42.50 27.50 67.50 2.5845 - 42.50 27.50 72.50 3.1379 - 42.50 27.50 77.50 3.52194 - 42.50 27.50 82.50 3.31096 - 42.50 27.50 87.50 2.50208 - 42.50 27.50 92.50 1.46809 - 42.50 27.50 97.50 0.620965 - 42.50 27.50 102.50 0.227896 - 42.50 27.50 107.50 0.0670519 - 42.50 27.50 112.50 0.0183379 - 42.50 27.50 117.50 0.0123625 - 42.50 27.50 122.50 0.0369169 - 42.50 27.50 127.50 0.121999 - 42.50 27.50 132.50 0.295948 - 42.50 27.50 137.50 0.60778 - 42.50 27.50 142.50 1.09447 - 42.50 27.50 147.50 1.61011 - 42.50 27.50 152.50 2.10945 - 42.50 27.50 157.50 2.5845 - 42.50 27.50 162.50 3.1379 - 42.50 27.50 167.50 3.52194 - 42.50 27.50 172.50 3.31096 - 42.50 27.50 177.50 2.50208 - 42.50 27.50 182.50 1.46809 - 42.50 27.50 187.50 0.620965 - 42.50 27.50 192.50 0.227896 - 42.50 27.50 197.50 0.0670519 - 42.50 27.50 202.50 0.0183379 - 42.50 27.50 207.50 0.0123625 - 42.50 27.50 212.50 0.0369169 - 42.50 27.50 217.50 0.121999 - 42.50 27.50 222.50 0.295948 - 42.50 27.50 227.50 0.607779 - 42.50 27.50 232.50 1.09447 - 42.50 27.50 237.50 1.61011 - 42.50 27.50 242.50 2.10945 - 42.50 27.50 247.50 2.5845 - 42.50 27.50 252.50 3.1379 - 42.50 27.50 257.50 3.52194 - 42.50 27.50 262.50 3.31096 - 42.50 27.50 267.50 2.50208 - 42.50 27.50 272.50 1.46809 - 42.50 27.50 277.50 0.620965 - 42.50 27.50 282.50 0.227896 - 42.50 27.50 287.50 0.0670519 - 42.50 27.50 292.50 0.0183379 - 42.50 27.50 297.50 0.0123625 - 42.50 27.50 302.50 0.0369168 - 42.50 27.50 307.50 0.121998 - 42.50 27.50 312.50 0.295948 - 42.50 27.50 317.50 0.607779 - 42.50 27.50 322.50 1.09447 - 42.50 27.50 327.50 1.61011 - 42.50 27.50 332.50 2.10945 - 42.50 27.50 337.50 2.5845 - 42.50 27.50 342.50 3.1379 - 42.50 27.50 347.50 3.52195 - 42.50 27.50 352.50 3.31096 - 42.50 27.50 357.50 2.50208 - 42.50 32.50 2.50 2.09891 - 42.50 32.50 7.50 0.876376 - 42.50 32.50 12.50 0.300781 - 42.50 32.50 17.50 0.0728055 - 42.50 32.50 22.50 0.0201629 - 42.50 32.50 27.50 0.00703295 - 42.50 32.50 32.50 0.0167838 - 42.50 32.50 37.50 0.056572 - 42.50 32.50 42.50 0.149518 - 42.50 32.50 47.50 0.374034 - 42.50 32.50 52.50 0.781111 - 42.50 32.50 57.50 1.33779 - 42.50 32.50 62.50 2.00439 - 42.50 32.50 67.50 2.88773 - 42.50 32.50 72.50 3.92309 - 42.50 32.50 77.50 4.86415 - 42.50 32.50 82.50 4.76941 - 42.50 32.50 87.50 3.6603 - 42.50 32.50 92.50 2.09891 - 42.50 32.50 97.50 0.876376 - 42.50 32.50 102.50 0.300781 - 42.50 32.50 107.50 0.0728055 - 42.50 32.50 112.50 0.0201629 - 42.50 32.50 117.50 0.00703295 - 42.50 32.50 122.50 0.0167838 - 42.50 32.50 127.50 0.056572 - 42.50 32.50 132.50 0.149518 - 42.50 32.50 137.50 0.374034 - 42.50 32.50 142.50 0.781112 - 42.50 32.50 147.50 1.33779 - 42.50 32.50 152.50 2.00439 - 42.50 32.50 157.50 2.88773 - 42.50 32.50 162.50 3.92309 - 42.50 32.50 167.50 4.86414 - 42.50 32.50 172.50 4.76941 - 42.50 32.50 177.50 3.6603 - 42.50 32.50 182.50 2.09891 - 42.50 32.50 187.50 0.876376 - 42.50 32.50 192.50 0.300781 - 42.50 32.50 197.50 0.0728055 - 42.50 32.50 202.50 0.0201629 - 42.50 32.50 207.50 0.00703295 - 42.50 32.50 212.50 0.0167838 - 42.50 32.50 217.50 0.0565719 - 42.50 32.50 222.50 0.149517 - 42.50 32.50 227.50 0.374034 - 42.50 32.50 232.50 0.781114 - 42.50 32.50 237.50 1.33779 - 42.50 32.50 242.50 2.00439 - 42.50 32.50 247.50 2.88773 - 42.50 32.50 252.50 3.92309 - 42.50 32.50 257.50 4.86415 - 42.50 32.50 262.50 4.76941 - 42.50 32.50 267.50 3.6603 - 42.50 32.50 272.50 2.09891 - 42.50 32.50 277.50 0.876376 - 42.50 32.50 282.50 0.300781 - 42.50 32.50 287.50 0.0728056 - 42.50 32.50 292.50 0.0201629 - 42.50 32.50 297.50 0.00703295 - 42.50 32.50 302.50 0.0167838 - 42.50 32.50 307.50 0.0565719 - 42.50 32.50 312.50 0.149517 - 42.50 32.50 317.50 0.374034 - 42.50 32.50 322.50 0.781111 - 42.50 32.50 327.50 1.33779 - 42.50 32.50 332.50 2.00439 - 42.50 32.50 337.50 2.88773 - 42.50 32.50 342.50 3.92309 - 42.50 32.50 347.50 4.86414 - 42.50 32.50 352.50 4.76942 - 42.50 32.50 357.50 3.6603 - 42.50 37.50 2.50 2.5719 - 42.50 37.50 7.50 1.19068 - 42.50 37.50 12.50 0.434884 - 42.50 37.50 17.50 0.135582 - 42.50 37.50 22.50 0.043142 - 42.50 37.50 27.50 0.0133018 - 42.50 37.50 32.50 0.00792701 - 42.50 37.50 37.50 0.0182778 - 42.50 37.50 42.50 0.0612543 - 42.50 37.50 47.50 0.179555 - 42.50 37.50 52.50 0.452484 - 42.50 37.50 57.50 0.949381 - 42.50 37.50 62.50 1.68935 - 42.50 37.50 67.50 2.7557 - 42.50 37.50 72.50 4.15186 - 42.50 37.50 77.50 5.38266 - 42.50 37.50 82.50 5.56068 - 42.50 37.50 87.50 4.33165 - 42.50 37.50 92.50 2.5719 - 42.50 37.50 97.50 1.19069 - 42.50 37.50 102.50 0.434884 - 42.50 37.50 107.50 0.135582 - 42.50 37.50 112.50 0.043142 - 42.50 37.50 117.50 0.0133018 - 42.50 37.50 122.50 0.00792702 - 42.50 37.50 127.50 0.0182778 - 42.50 37.50 132.50 0.0612544 - 42.50 37.50 137.50 0.179555 - 42.50 37.50 142.50 0.452484 - 42.50 37.50 147.50 0.949381 - 42.50 37.50 152.50 1.68935 - 42.50 37.50 157.50 2.7557 - 42.50 37.50 162.50 4.15187 - 42.50 37.50 167.50 5.38265 - 42.50 37.50 172.50 5.56068 - 42.50 37.50 177.50 4.33166 - 42.50 37.50 182.50 2.5719 - 42.50 37.50 187.50 1.19068 - 42.50 37.50 192.50 0.434884 - 42.50 37.50 197.50 0.135582 - 42.50 37.50 202.50 0.043142 - 42.50 37.50 207.50 0.0133018 - 42.50 37.50 212.50 0.00792702 - 42.50 37.50 217.50 0.0182778 - 42.50 37.50 222.50 0.0612543 - 42.50 37.50 227.50 0.179554 - 42.50 37.50 232.50 0.452484 - 42.50 37.50 237.50 0.949383 - 42.50 37.50 242.50 1.68935 - 42.50 37.50 247.50 2.7557 - 42.50 37.50 252.50 4.15187 - 42.50 37.50 257.50 5.38266 - 42.50 37.50 262.50 5.56068 - 42.50 37.50 267.50 4.33165 - 42.50 37.50 272.50 2.5719 - 42.50 37.50 277.50 1.19069 - 42.50 37.50 282.50 0.434885 - 42.50 37.50 287.50 0.135582 - 42.50 37.50 292.50 0.043142 - 42.50 37.50 297.50 0.0133018 - 42.50 37.50 302.50 0.00792701 - 42.50 37.50 307.50 0.0182778 - 42.50 37.50 312.50 0.0612542 - 42.50 37.50 317.50 0.179554 - 42.50 37.50 322.50 0.452483 - 42.50 37.50 327.50 0.94938 - 42.50 37.50 332.50 1.68934 - 42.50 37.50 337.50 2.75569 - 42.50 37.50 342.50 4.15186 - 42.50 37.50 347.50 5.38265 - 42.50 37.50 352.50 5.56069 - 42.50 37.50 357.50 4.33166 - 42.50 42.50 2.50 2.82217 - 42.50 42.50 7.50 1.54074 - 42.50 42.50 12.50 0.670173 - 42.50 42.50 17.50 0.275822 - 42.50 42.50 22.50 0.106825 - 42.50 42.50 27.50 0.0429413 - 42.50 42.50 32.50 0.0157733 - 42.50 42.50 37.50 0.00804477 - 42.50 42.50 42.50 0.0178265 - 42.50 42.50 47.50 0.0618671 - 42.50 42.50 52.50 0.216742 - 42.50 42.50 57.50 0.596384 - 42.50 42.50 62.50 1.25833 - 42.50 42.50 67.50 2.23132 - 42.50 42.50 72.50 3.64188 - 42.50 42.50 77.50 4.97107 - 42.50 42.50 82.50 5.35102 - 42.50 42.50 87.50 4.3162 - 42.50 42.50 92.50 2.82217 - 42.50 42.50 97.50 1.54074 - 42.50 42.50 102.50 0.670172 - 42.50 42.50 107.50 0.275822 - 42.50 42.50 112.50 0.106825 - 42.50 42.50 117.50 0.0429414 - 42.50 42.50 122.50 0.0157733 - 42.50 42.50 127.50 0.00804478 - 42.50 42.50 132.50 0.0178265 - 42.50 42.50 137.50 0.0618671 - 42.50 42.50 142.50 0.216742 - 42.50 42.50 147.50 0.596383 - 42.50 42.50 152.50 1.25833 - 42.50 42.50 157.50 2.23132 - 42.50 42.50 162.50 3.64188 - 42.50 42.50 167.50 4.97107 - 42.50 42.50 172.50 5.35102 - 42.50 42.50 177.50 4.3162 - 42.50 42.50 182.50 2.82217 - 42.50 42.50 187.50 1.54074 - 42.50 42.50 192.50 0.670172 - 42.50 42.50 197.50 0.275822 - 42.50 42.50 202.50 0.106825 - 42.50 42.50 207.50 0.0429413 - 42.50 42.50 212.50 0.0157733 - 42.50 42.50 217.50 0.00804476 - 42.50 42.50 222.50 0.0178265 - 42.50 42.50 227.50 0.061867 - 42.50 42.50 232.50 0.216742 - 42.50 42.50 237.50 0.596384 - 42.50 42.50 242.50 1.25833 - 42.50 42.50 247.50 2.23133 - 42.50 42.50 252.50 3.64188 - 42.50 42.50 257.50 4.97107 - 42.50 42.50 262.50 5.35102 - 42.50 42.50 267.50 4.3162 - 42.50 42.50 272.50 2.82217 - 42.50 42.50 277.50 1.54074 - 42.50 42.50 282.50 0.670173 - 42.50 42.50 287.50 0.275822 - 42.50 42.50 292.50 0.106825 - 42.50 42.50 297.50 0.0429414 - 42.50 42.50 302.50 0.0157734 - 42.50 42.50 307.50 0.00804476 - 42.50 42.50 312.50 0.0178264 - 42.50 42.50 317.50 0.0618669 - 42.50 42.50 322.50 0.216741 - 42.50 42.50 327.50 0.596383 - 42.50 42.50 332.50 1.25833 - 42.50 42.50 337.50 2.23132 - 42.50 42.50 342.50 3.64188 - 42.50 42.50 347.50 4.97107 - 42.50 42.50 352.50 5.35102 - 42.50 42.50 357.50 4.31621 - 42.50 47.50 2.50 2.89161 - 42.50 47.50 7.50 1.94106 - 42.50 47.50 12.50 1.08401 - 42.50 47.50 17.50 0.558398 - 42.50 47.50 22.50 0.285512 - 42.50 47.50 27.50 0.157549 - 42.50 47.50 32.50 0.0687426 - 42.50 47.50 37.50 0.0237158 - 42.50 47.50 42.50 0.00780602 - 42.50 47.50 47.50 0.0241607 - 42.50 47.50 52.50 0.0932611 - 42.50 47.50 57.50 0.32591 - 42.50 47.50 62.50 0.782798 - 42.50 47.50 67.50 1.45077 - 42.50 47.50 72.50 2.60093 - 42.50 47.50 77.50 3.83832 - 42.50 47.50 82.50 4.35753 - 42.50 47.50 87.50 3.79369 - 42.50 47.50 92.50 2.8916 - 42.50 47.50 97.50 1.94106 - 42.50 47.50 102.50 1.08401 - 42.50 47.50 107.50 0.558398 - 42.50 47.50 112.50 0.285512 - 42.50 47.50 117.50 0.157549 - 42.50 47.50 122.50 0.0687426 - 42.50 47.50 127.50 0.0237158 - 42.50 47.50 132.50 0.00780602 - 42.50 47.50 137.50 0.0241607 - 42.50 47.50 142.50 0.0932611 - 42.50 47.50 147.50 0.32591 - 42.50 47.50 152.50 0.782797 - 42.50 47.50 157.50 1.45077 - 42.50 47.50 162.50 2.60093 - 42.50 47.50 167.50 3.83832 - 42.50 47.50 172.50 4.35754 - 42.50 47.50 177.50 3.79369 - 42.50 47.50 182.50 2.8916 - 42.50 47.50 187.50 1.94106 - 42.50 47.50 192.50 1.08401 - 42.50 47.50 197.50 0.558398 - 42.50 47.50 202.50 0.285512 - 42.50 47.50 207.50 0.157549 - 42.50 47.50 212.50 0.0687426 - 42.50 47.50 217.50 0.0237158 - 42.50 47.50 222.50 0.00780602 - 42.50 47.50 227.50 0.0241607 - 42.50 47.50 232.50 0.0932615 - 42.50 47.50 237.50 0.325911 - 42.50 47.50 242.50 0.782798 - 42.50 47.50 247.50 1.45077 - 42.50 47.50 252.50 2.60093 - 42.50 47.50 257.50 3.83832 - 42.50 47.50 262.50 4.35753 - 42.50 47.50 267.50 3.79369 - 42.50 47.50 272.50 2.89161 - 42.50 47.50 277.50 1.94107 - 42.50 47.50 282.50 1.08401 - 42.50 47.50 287.50 0.558398 - 42.50 47.50 292.50 0.285512 - 42.50 47.50 297.50 0.157549 - 42.50 47.50 302.50 0.0687426 - 42.50 47.50 307.50 0.0237158 - 42.50 47.50 312.50 0.00780602 - 42.50 47.50 317.50 0.0241606 - 42.50 47.50 322.50 0.0932609 - 42.50 47.50 327.50 0.325909 - 42.50 47.50 332.50 0.782796 - 42.50 47.50 337.50 1.45076 - 42.50 47.50 342.50 2.60093 - 42.50 47.50 347.50 3.83831 - 42.50 47.50 352.50 4.35753 - 42.50 47.50 357.50 3.79369 - 42.50 52.50 2.50 2.82217 - 42.50 52.50 7.50 2.41433 - 42.50 52.50 12.50 1.74843 - 42.50 52.50 17.50 1.12416 - 42.50 52.50 22.50 0.760874 - 42.50 52.50 27.50 0.491642 - 42.50 52.50 32.50 0.242744 - 42.50 52.50 37.50 0.0890094 - 42.50 52.50 42.50 0.0219399 - 42.50 52.50 47.50 0.0114427 - 42.50 52.50 52.50 0.0405054 - 42.50 52.50 57.50 0.138524 - 42.50 52.50 62.50 0.342599 - 42.50 52.50 67.50 0.755601 - 42.50 52.50 72.50 1.47191 - 42.50 52.50 77.50 2.40201 - 42.50 52.50 82.50 2.97992 - 42.50 52.50 87.50 2.99596 - 42.50 52.50 92.50 2.82217 - 42.50 52.50 97.50 2.41432 - 42.50 52.50 102.50 1.74843 - 42.50 52.50 107.50 1.12415 - 42.50 52.50 112.50 0.760873 - 42.50 52.50 117.50 0.491641 - 42.50 52.50 122.50 0.242744 - 42.50 52.50 127.50 0.0890095 - 42.50 52.50 132.50 0.0219398 - 42.50 52.50 137.50 0.0114427 - 42.50 52.50 142.50 0.0405055 - 42.50 52.50 147.50 0.138524 - 42.50 52.50 152.50 0.342598 - 42.50 52.50 157.50 0.7556 - 42.50 52.50 162.50 1.47191 - 42.50 52.50 167.50 2.402 - 42.50 52.50 172.50 2.97992 - 42.50 52.50 177.50 2.99596 - 42.50 52.50 182.50 2.82217 - 42.50 52.50 187.50 2.41433 - 42.50 52.50 192.50 1.74843 - 42.50 52.50 197.50 1.12415 - 42.50 52.50 202.50 0.760873 - 42.50 52.50 207.50 0.491642 - 42.50 52.50 212.50 0.242744 - 42.50 52.50 217.50 0.0890094 - 42.50 52.50 222.50 0.0219399 - 42.50 52.50 227.50 0.0114427 - 42.50 52.50 232.50 0.0405056 - 42.50 52.50 237.50 0.138524 - 42.50 52.50 242.50 0.342599 - 42.50 52.50 247.50 0.755602 - 42.50 52.50 252.50 1.47191 - 42.50 52.50 257.50 2.40201 - 42.50 52.50 262.50 2.97992 - 42.50 52.50 267.50 2.99595 - 42.50 52.50 272.50 2.82217 - 42.50 52.50 277.50 2.41433 - 42.50 52.50 282.50 1.74843 - 42.50 52.50 287.50 1.12415 - 42.50 52.50 292.50 0.760874 - 42.50 52.50 297.50 0.491642 - 42.50 52.50 302.50 0.242744 - 42.50 52.50 307.50 0.0890095 - 42.50 52.50 312.50 0.0219399 - 42.50 52.50 317.50 0.0114427 - 42.50 52.50 322.50 0.0405053 - 42.50 52.50 327.50 0.138524 - 42.50 52.50 332.50 0.342598 - 42.50 52.50 337.50 0.755599 - 42.50 52.50 342.50 1.47191 - 42.50 52.50 347.50 2.402 - 42.50 52.50 352.50 2.97992 - 42.50 52.50 357.50 2.99596 - 42.50 57.50 2.50 2.5719 - 42.50 57.50 7.50 2.88087 - 42.50 57.50 12.50 2.61427 - 42.50 57.50 17.50 2.1554 - 42.50 57.50 22.50 1.69911 - 42.50 57.50 27.50 1.1403 - 42.50 57.50 32.50 0.627871 - 42.50 57.50 37.50 0.272029 - 42.50 57.50 42.50 0.0922263 - 42.50 57.50 47.50 0.0340315 - 42.50 57.50 52.50 0.0213053 - 42.50 57.50 57.50 0.0472001 - 42.50 57.50 62.50 0.120328 - 42.50 57.50 67.50 0.290781 - 42.50 57.50 72.50 0.615192 - 42.50 57.50 77.50 1.10588 - 42.50 57.50 82.50 1.63144 - 42.50 57.50 87.50 2.08931 - 42.50 57.50 92.50 2.5719 - 42.50 57.50 97.50 2.88087 - 42.50 57.50 102.50 2.61427 - 42.50 57.50 107.50 2.1554 - 42.50 57.50 112.50 1.69911 - 42.50 57.50 117.50 1.1403 - 42.50 57.50 122.50 0.62787 - 42.50 57.50 127.50 0.272029 - 42.50 57.50 132.50 0.0922263 - 42.50 57.50 137.50 0.0340315 - 42.50 57.50 142.50 0.0213053 - 42.50 57.50 147.50 0.0472002 - 42.50 57.50 152.50 0.120328 - 42.50 57.50 157.50 0.290781 - 42.50 57.50 162.50 0.615192 - 42.50 57.50 167.50 1.10588 - 42.50 57.50 172.50 1.63144 - 42.50 57.50 177.50 2.08931 - 42.50 57.50 182.50 2.5719 - 42.50 57.50 187.50 2.88087 - 42.50 57.50 192.50 2.61427 - 42.50 57.50 197.50 2.1554 - 42.50 57.50 202.50 1.69911 - 42.50 57.50 207.50 1.1403 - 42.50 57.50 212.50 0.62787 - 42.50 57.50 217.50 0.272029 - 42.50 57.50 222.50 0.0922264 - 42.50 57.50 227.50 0.0340315 - 42.50 57.50 232.50 0.0213053 - 42.50 57.50 237.50 0.0472002 - 42.50 57.50 242.50 0.120328 - 42.50 57.50 247.50 0.290781 - 42.50 57.50 252.50 0.615192 - 42.50 57.50 257.50 1.10588 - 42.50 57.50 262.50 1.63144 - 42.50 57.50 267.50 2.08932 - 42.50 57.50 272.50 2.5719 - 42.50 57.50 277.50 2.88087 - 42.50 57.50 282.50 2.61427 - 42.50 57.50 287.50 2.15541 - 42.50 57.50 292.50 1.69912 - 42.50 57.50 297.50 1.1403 - 42.50 57.50 302.50 0.627871 - 42.50 57.50 307.50 0.272029 - 42.50 57.50 312.50 0.0922265 - 42.50 57.50 317.50 0.0340315 - 42.50 57.50 322.50 0.0213052 - 42.50 57.50 327.50 0.0472 - 42.50 57.50 332.50 0.120327 - 42.50 57.50 337.50 0.29078 - 42.50 57.50 342.50 0.61519 - 42.50 57.50 347.50 1.10588 - 42.50 57.50 352.50 1.63143 - 42.50 57.50 357.50 2.08931 - 42.50 62.50 2.50 2.09891 - 42.50 62.50 7.50 3.04219 - 42.50 62.50 12.50 3.34241 - 42.50 62.50 17.50 3.28472 - 42.50 62.50 22.50 2.95149 - 42.50 62.50 27.50 2.16851 - 42.50 62.50 32.50 1.36584 - 42.50 62.50 37.50 0.737197 - 42.50 62.50 42.50 0.322303 - 42.50 62.50 47.50 0.115115 - 42.50 62.50 52.50 0.0414453 - 42.50 62.50 57.50 0.0268446 - 42.50 62.50 62.50 0.0354014 - 42.50 62.50 67.50 0.0769287 - 42.50 62.50 72.50 0.177979 - 42.50 62.50 77.50 0.388318 - 42.50 62.50 82.50 0.716828 - 42.50 62.50 87.50 1.29488 - 42.50 62.50 92.50 2.09891 - 42.50 62.50 97.50 3.04219 - 42.50 62.50 102.50 3.34241 - 42.50 62.50 107.50 3.28472 - 42.50 62.50 112.50 2.95149 - 42.50 62.50 117.50 2.16851 - 42.50 62.50 122.50 1.36584 - 42.50 62.50 127.50 0.737196 - 42.50 62.50 132.50 0.322303 - 42.50 62.50 137.50 0.115115 - 42.50 62.50 142.50 0.0414453 - 42.50 62.50 147.50 0.0268446 - 42.50 62.50 152.50 0.0354014 - 42.50 62.50 157.50 0.0769286 - 42.50 62.50 162.50 0.177979 - 42.50 62.50 167.50 0.388318 - 42.50 62.50 172.50 0.716828 - 42.50 62.50 177.50 1.29488 - 42.50 62.50 182.50 2.09891 - 42.50 62.50 187.50 3.0422 - 42.50 62.50 192.50 3.34241 - 42.50 62.50 197.50 3.28472 - 42.50 62.50 202.50 2.95149 - 42.50 62.50 207.50 2.16851 - 42.50 62.50 212.50 1.36584 - 42.50 62.50 217.50 0.737197 - 42.50 62.50 222.50 0.322303 - 42.50 62.50 227.50 0.115115 - 42.50 62.50 232.50 0.0414452 - 42.50 62.50 237.50 0.0268446 - 42.50 62.50 242.50 0.0354015 - 42.50 62.50 247.50 0.0769288 - 42.50 62.50 252.50 0.177979 - 42.50 62.50 257.50 0.388319 - 42.50 62.50 262.50 0.716829 - 42.50 62.50 267.50 1.29488 - 42.50 62.50 272.50 2.09891 - 42.50 62.50 277.50 3.04219 - 42.50 62.50 282.50 3.34241 - 42.50 62.50 287.50 3.28472 - 42.50 62.50 292.50 2.95149 - 42.50 62.50 297.50 2.16851 - 42.50 62.50 302.50 1.36584 - 42.50 62.50 307.50 0.737197 - 42.50 62.50 312.50 0.322303 - 42.50 62.50 317.50 0.115115 - 42.50 62.50 322.50 0.0414454 - 42.50 62.50 327.50 0.0268446 - 42.50 62.50 332.50 0.0354013 - 42.50 62.50 337.50 0.0769283 - 42.50 62.50 342.50 0.177978 - 42.50 62.50 347.50 0.388318 - 42.50 62.50 352.50 0.716826 - 42.50 62.50 357.50 1.29488 - 42.50 67.50 2.50 1.46809 - 42.50 67.50 7.50 2.6495 - 42.50 67.50 12.50 3.43339 - 42.50 67.50 17.50 3.88848 - 42.50 67.50 22.50 4.01288 - 42.50 67.50 27.50 3.45573 - 42.50 67.50 32.50 2.44198 - 42.50 67.50 37.50 1.48181 - 42.50 67.50 42.50 0.799248 - 42.50 67.50 47.50 0.347313 - 42.50 67.50 52.50 0.111848 - 42.50 67.50 57.50 0.0359556 - 42.50 67.50 62.50 0.0165972 - 42.50 67.50 67.50 0.014683 - 42.50 67.50 72.50 0.0407373 - 42.50 67.50 77.50 0.113132 - 42.50 67.50 82.50 0.294578 - 42.50 67.50 87.50 0.717389 - 42.50 67.50 92.50 1.46809 - 42.50 67.50 97.50 2.6495 - 42.50 67.50 102.50 3.43339 - 42.50 67.50 107.50 3.88848 - 42.50 67.50 112.50 4.01289 - 42.50 67.50 117.50 3.45573 - 42.50 67.50 122.50 2.44198 - 42.50 67.50 127.50 1.48181 - 42.50 67.50 132.50 0.799247 - 42.50 67.50 137.50 0.347313 - 42.50 67.50 142.50 0.111848 - 42.50 67.50 147.50 0.0359556 - 42.50 67.50 152.50 0.0165972 - 42.50 67.50 157.50 0.014683 - 42.50 67.50 162.50 0.0407373 - 42.50 67.50 167.50 0.113132 - 42.50 67.50 172.50 0.294578 - 42.50 67.50 177.50 0.717388 - 42.50 67.50 182.50 1.46809 - 42.50 67.50 187.50 2.6495 - 42.50 67.50 192.50 3.43339 - 42.50 67.50 197.50 3.88848 - 42.50 67.50 202.50 4.01288 - 42.50 67.50 207.50 3.45573 - 42.50 67.50 212.50 2.44198 - 42.50 67.50 217.50 1.48181 - 42.50 67.50 222.50 0.799248 - 42.50 67.50 227.50 0.347313 - 42.50 67.50 232.50 0.111848 - 42.50 67.50 237.50 0.0359556 - 42.50 67.50 242.50 0.0165972 - 42.50 67.50 247.50 0.014683 - 42.50 67.50 252.50 0.0407374 - 42.50 67.50 257.50 0.113132 - 42.50 67.50 262.50 0.294579 - 42.50 67.50 267.50 0.71739 - 42.50 67.50 272.50 1.46809 - 42.50 67.50 277.50 2.6495 - 42.50 67.50 282.50 3.43339 - 42.50 67.50 287.50 3.88848 - 42.50 67.50 292.50 4.01288 - 42.50 67.50 297.50 3.45573 - 42.50 67.50 302.50 2.44198 - 42.50 67.50 307.50 1.48181 - 42.50 67.50 312.50 0.799248 - 42.50 67.50 317.50 0.347314 - 42.50 67.50 322.50 0.111848 - 42.50 67.50 327.50 0.0359556 - 42.50 67.50 332.50 0.0165972 - 42.50 67.50 337.50 0.014683 - 42.50 67.50 342.50 0.0407372 - 42.50 67.50 347.50 0.113131 - 42.50 67.50 352.50 0.294578 - 42.50 67.50 357.50 0.717388 - 42.50 72.50 2.50 0.865462 - 42.50 72.50 7.50 1.85128 - 42.50 72.50 12.50 2.81009 - 42.50 72.50 17.50 3.69294 - 42.50 72.50 22.50 4.22339 - 42.50 72.50 27.50 4.06195 - 42.50 72.50 32.50 3.21611 - 42.50 72.50 37.50 2.19212 - 42.50 72.50 42.50 1.29999 - 42.50 72.50 47.50 0.621739 - 42.50 72.50 52.50 0.233453 - 42.50 72.50 57.50 0.0650971 - 42.50 72.50 62.50 0.0195935 - 42.50 72.50 67.50 0.00708078 - 42.50 72.50 72.50 0.0110045 - 42.50 72.50 77.50 0.0369399 - 42.50 72.50 82.50 0.120599 - 42.50 72.50 87.50 0.360265 - 42.50 72.50 92.50 0.865462 - 42.50 72.50 97.50 1.85129 - 42.50 72.50 102.50 2.81009 - 42.50 72.50 107.50 3.69294 - 42.50 72.50 112.50 4.22339 - 42.50 72.50 117.50 4.06195 - 42.50 72.50 122.50 3.2161 - 42.50 72.50 127.50 2.19212 - 42.50 72.50 132.50 1.29999 - 42.50 72.50 137.50 0.621739 - 42.50 72.50 142.50 0.233453 - 42.50 72.50 147.50 0.0650971 - 42.50 72.50 152.50 0.0195936 - 42.50 72.50 157.50 0.00708079 - 42.50 72.50 162.50 0.0110045 - 42.50 72.50 167.50 0.0369399 - 42.50 72.50 172.50 0.120598 - 42.50 72.50 177.50 0.360265 - 42.50 72.50 182.50 0.865463 - 42.50 72.50 187.50 1.85129 - 42.50 72.50 192.50 2.81009 - 42.50 72.50 197.50 3.69294 - 42.50 72.50 202.50 4.22339 - 42.50 72.50 207.50 4.06195 - 42.50 72.50 212.50 3.21611 - 42.50 72.50 217.50 2.19212 - 42.50 72.50 222.50 1.29999 - 42.50 72.50 227.50 0.621738 - 42.50 72.50 232.50 0.233453 - 42.50 72.50 237.50 0.0650969 - 42.50 72.50 242.50 0.0195935 - 42.50 72.50 247.50 0.00708078 - 42.50 72.50 252.50 0.0110045 - 42.50 72.50 257.50 0.03694 - 42.50 72.50 262.50 0.120599 - 42.50 72.50 267.50 0.360266 - 42.50 72.50 272.50 0.865462 - 42.50 72.50 277.50 1.85129 - 42.50 72.50 282.50 2.81009 - 42.50 72.50 287.50 3.69294 - 42.50 72.50 292.50 4.22339 - 42.50 72.50 297.50 4.06195 - 42.50 72.50 302.50 3.21611 - 42.50 72.50 307.50 2.19212 - 42.50 72.50 312.50 1.29999 - 42.50 72.50 317.50 0.621739 - 42.50 72.50 322.50 0.233454 - 42.50 72.50 327.50 0.0650973 - 42.50 72.50 332.50 0.0195936 - 42.50 72.50 337.50 0.0070808 - 42.50 72.50 342.50 0.0110045 - 42.50 72.50 347.50 0.0369398 - 42.50 72.50 352.50 0.120598 - 42.50 72.50 357.50 0.360264 - 42.50 77.50 2.50 0.460877 - 42.50 77.50 7.50 1.10963 - 42.50 77.50 12.50 1.93697 - 42.50 77.50 17.50 2.75934 - 42.50 77.50 22.50 3.36603 - 42.50 77.50 27.50 3.53594 - 42.50 77.50 32.50 3.14019 - 42.50 77.50 37.50 2.27581 - 42.50 77.50 42.50 1.33458 - 42.50 77.50 47.50 0.714016 - 42.50 77.50 52.50 0.317093 - 42.50 77.50 57.50 0.128274 - 42.50 77.50 62.50 0.0398136 - 42.50 77.50 67.50 0.014375 - 42.50 77.50 72.50 0.0153902 - 42.50 77.50 77.50 0.0295424 - 42.50 77.50 82.50 0.0636859 - 42.50 77.50 87.50 0.188114 - 42.50 77.50 92.50 0.460877 - 42.50 77.50 97.50 1.10963 - 42.50 77.50 102.50 1.93697 - 42.50 77.50 107.50 2.75934 - 42.50 77.50 112.50 3.36604 - 42.50 77.50 117.50 3.53593 - 42.50 77.50 122.50 3.14019 - 42.50 77.50 127.50 2.27581 - 42.50 77.50 132.50 1.33458 - 42.50 77.50 137.50 0.714016 - 42.50 77.50 142.50 0.317093 - 42.50 77.50 147.50 0.128274 - 42.50 77.50 152.50 0.0398137 - 42.50 77.50 157.50 0.0143751 - 42.50 77.50 162.50 0.0153901 - 42.50 77.50 167.50 0.0295423 - 42.50 77.50 172.50 0.0636858 - 42.50 77.50 177.50 0.188114 - 42.50 77.50 182.50 0.460877 - 42.50 77.50 187.50 1.10963 - 42.50 77.50 192.50 1.93697 - 42.50 77.50 197.50 2.75934 - 42.50 77.50 202.50 3.36604 - 42.50 77.50 207.50 3.53594 - 42.50 77.50 212.50 3.14019 - 42.50 77.50 217.50 2.27581 - 42.50 77.50 222.50 1.33458 - 42.50 77.50 227.50 0.714016 - 42.50 77.50 232.50 0.317092 - 42.50 77.50 237.50 0.128273 - 42.50 77.50 242.50 0.0398135 - 42.50 77.50 247.50 0.014375 - 42.50 77.50 252.50 0.0153902 - 42.50 77.50 257.50 0.0295424 - 42.50 77.50 262.50 0.0636859 - 42.50 77.50 267.50 0.188114 - 42.50 77.50 272.50 0.460877 - 42.50 77.50 277.50 1.10963 - 42.50 77.50 282.50 1.93697 - 42.50 77.50 287.50 2.75934 - 42.50 77.50 292.50 3.36604 - 42.50 77.50 297.50 3.53593 - 42.50 77.50 302.50 3.14019 - 42.50 77.50 307.50 2.27581 - 42.50 77.50 312.50 1.33458 - 42.50 77.50 317.50 0.714016 - 42.50 77.50 322.50 0.317093 - 42.50 77.50 327.50 0.128274 - 42.50 77.50 332.50 0.0398137 - 42.50 77.50 337.50 0.0143751 - 42.50 77.50 342.50 0.0153901 - 42.50 77.50 347.50 0.0295423 - 42.50 77.50 352.50 0.0636857 - 42.50 77.50 357.50 0.188114 - 42.50 82.50 2.50 0.244556 - 42.50 82.50 7.50 0.645181 - 42.50 82.50 12.50 1.13271 - 42.50 82.50 17.50 1.59318 - 42.50 82.50 22.50 2.07748 - 42.50 82.50 27.50 2.43484 - 42.50 82.50 32.50 2.36345 - 42.50 82.50 37.50 1.79502 - 42.50 82.50 42.50 1.15557 - 42.50 82.50 47.50 0.702272 - 42.50 82.50 52.50 0.409471 - 42.50 82.50 57.50 0.225079 - 42.50 82.50 62.50 0.110781 - 42.50 82.50 67.50 0.0555632 - 42.50 82.50 72.50 0.0563825 - 42.50 82.50 77.50 0.0631444 - 42.50 82.50 82.50 0.0668906 - 42.50 82.50 87.50 0.097805 - 42.50 82.50 92.50 0.244556 - 42.50 82.50 97.50 0.645182 - 42.50 82.50 102.50 1.13271 - 42.50 82.50 107.50 1.59318 - 42.50 82.50 112.50 2.07748 - 42.50 82.50 117.50 2.43484 - 42.50 82.50 122.50 2.36345 - 42.50 82.50 127.50 1.79502 - 42.50 82.50 132.50 1.15557 - 42.50 82.50 137.50 0.702272 - 42.50 82.50 142.50 0.409471 - 42.50 82.50 147.50 0.225079 - 42.50 82.50 152.50 0.110781 - 42.50 82.50 157.50 0.0555632 - 42.50 82.50 162.50 0.0563825 - 42.50 82.50 167.50 0.0631443 - 42.50 82.50 172.50 0.0668906 - 42.50 82.50 177.50 0.0978049 - 42.50 82.50 182.50 0.244556 - 42.50 82.50 187.50 0.645182 - 42.50 82.50 192.50 1.13271 - 42.50 82.50 197.50 1.59318 - 42.50 82.50 202.50 2.07748 - 42.50 82.50 207.50 2.43484 - 42.50 82.50 212.50 2.36345 - 42.50 82.50 217.50 1.79502 - 42.50 82.50 222.50 1.15557 - 42.50 82.50 227.50 0.702272 - 42.50 82.50 232.50 0.40947 - 42.50 82.50 237.50 0.225079 - 42.50 82.50 242.50 0.110781 - 42.50 82.50 247.50 0.0555632 - 42.50 82.50 252.50 0.0563825 - 42.50 82.50 257.50 0.0631443 - 42.50 82.50 262.50 0.0668905 - 42.50 82.50 267.50 0.097805 - 42.50 82.50 272.50 0.244556 - 42.50 82.50 277.50 0.645182 - 42.50 82.50 282.50 1.13271 - 42.50 82.50 287.50 1.59318 - 42.50 82.50 292.50 2.07748 - 42.50 82.50 297.50 2.43484 - 42.50 82.50 302.50 2.36345 - 42.50 82.50 307.50 1.79502 - 42.50 82.50 312.50 1.15557 - 42.50 82.50 317.50 0.702272 - 42.50 82.50 322.50 0.409471 - 42.50 82.50 327.50 0.225079 - 42.50 82.50 332.50 0.110781 - 42.50 82.50 337.50 0.0555633 - 42.50 82.50 342.50 0.0563825 - 42.50 82.50 347.50 0.0631443 - 42.50 82.50 352.50 0.0668906 - 42.50 82.50 357.50 0.0978047 - 42.50 87.50 2.50 0.12541 - 42.50 87.50 7.50 0.308348 - 42.50 87.50 12.50 0.563066 - 42.50 87.50 17.50 0.796227 - 42.50 87.50 22.50 1.05709 - 42.50 87.50 27.50 1.36104 - 42.50 87.50 32.50 1.47625 - 42.50 87.50 37.50 1.29062 - 42.50 87.50 42.50 0.987444 - 42.50 87.50 47.50 0.711732 - 42.50 87.50 52.50 0.498344 - 42.50 87.50 57.50 0.34713 - 42.50 87.50 62.50 0.242098 - 42.50 87.50 67.50 0.170704 - 42.50 87.50 72.50 0.150682 - 42.50 87.50 77.50 0.163483 - 42.50 87.50 82.50 0.119755 - 42.50 87.50 87.50 0.0780954 - 42.50 87.50 92.50 0.12541 - 42.50 87.50 97.50 0.308348 - 42.50 87.50 102.50 0.563067 - 42.50 87.50 107.50 0.796227 - 42.50 87.50 112.50 1.05709 - 42.50 87.50 117.50 1.36104 - 42.50 87.50 122.50 1.47625 - 42.50 87.50 127.50 1.29062 - 42.50 87.50 132.50 0.987444 - 42.50 87.50 137.50 0.711732 - 42.50 87.50 142.50 0.498344 - 42.50 87.50 147.50 0.34713 - 42.50 87.50 152.50 0.242098 - 42.50 87.50 157.50 0.170704 - 42.50 87.50 162.50 0.150682 - 42.50 87.50 167.50 0.163483 - 42.50 87.50 172.50 0.119755 - 42.50 87.50 177.50 0.0780954 - 42.50 87.50 182.50 0.12541 - 42.50 87.50 187.50 0.308348 - 42.50 87.50 192.50 0.563067 - 42.50 87.50 197.50 0.796227 - 42.50 87.50 202.50 1.05709 - 42.50 87.50 207.50 1.36104 - 42.50 87.50 212.50 1.47625 - 42.50 87.50 217.50 1.29062 - 42.50 87.50 222.50 0.987444 - 42.50 87.50 227.50 0.711731 - 42.50 87.50 232.50 0.498343 - 42.50 87.50 237.50 0.34713 - 42.50 87.50 242.50 0.242098 - 42.50 87.50 247.50 0.170704 - 42.50 87.50 252.50 0.150682 - 42.50 87.50 257.50 0.163483 - 42.50 87.50 262.50 0.119754 - 42.50 87.50 267.50 0.0780954 - 42.50 87.50 272.50 0.12541 - 42.50 87.50 277.50 0.308348 - 42.50 87.50 282.50 0.563067 - 42.50 87.50 287.50 0.796226 - 42.50 87.50 292.50 1.05709 - 42.50 87.50 297.50 1.36104 - 42.50 87.50 302.50 1.47625 - 42.50 87.50 307.50 1.29062 - 42.50 87.50 312.50 0.987444 - 42.50 87.50 317.50 0.711732 - 42.50 87.50 322.50 0.498345 - 42.50 87.50 327.50 0.34713 - 42.50 87.50 332.50 0.242098 - 42.50 87.50 337.50 0.170704 - 42.50 87.50 342.50 0.150682 - 42.50 87.50 347.50 0.163483 - 42.50 87.50 352.50 0.119755 - 42.50 87.50 357.50 0.0780954 - 42.50 92.50 2.50 0.083846 - 42.50 92.50 7.50 0.132069 - 42.50 92.50 12.50 0.239625 - 42.50 92.50 17.50 0.338201 - 42.50 92.50 22.50 0.431719 - 42.50 92.50 27.50 0.558756 - 42.50 92.50 32.50 0.674572 - 42.50 92.50 37.50 0.728263 - 42.50 92.50 42.50 0.744226 - 42.50 92.50 47.50 0.748976 - 42.50 92.50 52.50 0.744226 - 42.50 92.50 57.50 0.728263 - 42.50 92.50 62.50 0.674572 - 42.50 92.50 67.50 0.558756 - 42.50 92.50 72.50 0.431719 - 42.50 92.50 77.50 0.338201 - 42.50 92.50 82.50 0.239625 - 42.50 92.50 87.50 0.132069 - 42.50 92.50 92.50 0.083846 - 42.50 92.50 97.50 0.132069 - 42.50 92.50 102.50 0.239625 - 42.50 92.50 107.50 0.338201 - 42.50 92.50 112.50 0.431719 - 42.50 92.50 117.50 0.558756 - 42.50 92.50 122.50 0.674572 - 42.50 92.50 127.50 0.728263 - 42.50 92.50 132.50 0.744226 - 42.50 92.50 137.50 0.748976 - 42.50 92.50 142.50 0.744226 - 42.50 92.50 147.50 0.728263 - 42.50 92.50 152.50 0.674572 - 42.50 92.50 157.50 0.558756 - 42.50 92.50 162.50 0.431719 - 42.50 92.50 167.50 0.338201 - 42.50 92.50 172.50 0.239625 - 42.50 92.50 177.50 0.132069 - 42.50 92.50 182.50 0.083846 - 42.50 92.50 187.50 0.132069 - 42.50 92.50 192.50 0.239625 - 42.50 92.50 197.50 0.338201 - 42.50 92.50 202.50 0.431719 - 42.50 92.50 207.50 0.558756 - 42.50 92.50 212.50 0.674572 - 42.50 92.50 217.50 0.728263 - 42.50 92.50 222.50 0.744225 - 42.50 92.50 227.50 0.748976 - 42.50 92.50 232.50 0.744225 - 42.50 92.50 237.50 0.728263 - 42.50 92.50 242.50 0.674572 - 42.50 92.50 247.50 0.558756 - 42.50 92.50 252.50 0.431719 - 42.50 92.50 257.50 0.338201 - 42.50 92.50 262.50 0.239625 - 42.50 92.50 267.50 0.132069 - 42.50 92.50 272.50 0.083846 - 42.50 92.50 277.50 0.132069 - 42.50 92.50 282.50 0.239625 - 42.50 92.50 287.50 0.338201 - 42.50 92.50 292.50 0.431719 - 42.50 92.50 297.50 0.558756 - 42.50 92.50 302.50 0.674572 - 42.50 92.50 307.50 0.728262 - 42.50 92.50 312.50 0.744225 - 42.50 92.50 317.50 0.748976 - 42.50 92.50 322.50 0.744225 - 42.50 92.50 327.50 0.728263 - 42.50 92.50 332.50 0.674573 - 42.50 92.50 337.50 0.558757 - 42.50 92.50 342.50 0.43172 - 42.50 92.50 347.50 0.338201 - 42.50 92.50 352.50 0.239626 - 42.50 92.50 357.50 0.132069 - 42.50 97.50 2.50 0.12541 - 42.50 97.50 7.50 0.0780953 - 42.50 97.50 12.50 0.119755 - 42.50 97.50 17.50 0.163483 - 42.50 97.50 22.50 0.150682 - 42.50 97.50 27.50 0.170704 - 42.50 97.50 32.50 0.242098 - 42.50 97.50 37.50 0.34713 - 42.50 97.50 42.50 0.498344 - 42.50 97.50 47.50 0.711732 - 42.50 97.50 52.50 0.987444 - 42.50 97.50 57.50 1.29062 - 42.50 97.50 62.50 1.47625 - 42.50 97.50 67.50 1.36104 - 42.50 97.50 72.50 1.05709 - 42.50 97.50 77.50 0.796226 - 42.50 97.50 82.50 0.563066 - 42.50 97.50 87.50 0.308348 - 42.50 97.50 92.50 0.12541 - 42.50 97.50 97.50 0.0780954 - 42.50 97.50 102.50 0.119755 - 42.50 97.50 107.50 0.163483 - 42.50 97.50 112.50 0.150682 - 42.50 97.50 117.50 0.170704 - 42.50 97.50 122.50 0.242098 - 42.50 97.50 127.50 0.34713 - 42.50 97.50 132.50 0.498345 - 42.50 97.50 137.50 0.711731 - 42.50 97.50 142.50 0.987444 - 42.50 97.50 147.50 1.29062 - 42.50 97.50 152.50 1.47625 - 42.50 97.50 157.50 1.36104 - 42.50 97.50 162.50 1.05709 - 42.50 97.50 167.50 0.796226 - 42.50 97.50 172.50 0.563067 - 42.50 97.50 177.50 0.308348 - 42.50 97.50 182.50 0.12541 - 42.50 97.50 187.50 0.0780954 - 42.50 97.50 192.50 0.119755 - 42.50 97.50 197.50 0.163483 - 42.50 97.50 202.50 0.150682 - 42.50 97.50 207.50 0.170704 - 42.50 97.50 212.50 0.242098 - 42.50 97.50 217.50 0.34713 - 42.50 97.50 222.50 0.498344 - 42.50 97.50 227.50 0.711731 - 42.50 97.50 232.50 0.987444 - 42.50 97.50 237.50 1.29062 - 42.50 97.50 242.50 1.47625 - 42.50 97.50 247.50 1.36104 - 42.50 97.50 252.50 1.05709 - 42.50 97.50 257.50 0.796226 - 42.50 97.50 262.50 0.563066 - 42.50 97.50 267.50 0.308348 - 42.50 97.50 272.50 0.12541 - 42.50 97.50 277.50 0.0780953 - 42.50 97.50 282.50 0.119755 - 42.50 97.50 287.50 0.163483 - 42.50 97.50 292.50 0.150682 - 42.50 97.50 297.50 0.170704 - 42.50 97.50 302.50 0.242098 - 42.50 97.50 307.50 0.347129 - 42.50 97.50 312.50 0.498344 - 42.50 97.50 317.50 0.711731 - 42.50 97.50 322.50 0.987443 - 42.50 97.50 327.50 1.29062 - 42.50 97.50 332.50 1.47625 - 42.50 97.50 337.50 1.36104 - 42.50 97.50 342.50 1.05709 - 42.50 97.50 347.50 0.796227 - 42.50 97.50 352.50 0.563067 - 42.50 97.50 357.50 0.308349 - 42.50 102.50 2.50 0.244556 - 42.50 102.50 7.50 0.0978049 - 42.50 102.50 12.50 0.0668905 - 42.50 102.50 17.50 0.0631443 - 42.50 102.50 22.50 0.0563825 - 42.50 102.50 27.50 0.0555632 - 42.50 102.50 32.50 0.110781 - 42.50 102.50 37.50 0.22508 - 42.50 102.50 42.50 0.409471 - 42.50 102.50 47.50 0.702272 - 42.50 102.50 52.50 1.15557 - 42.50 102.50 57.50 1.79502 - 42.50 102.50 62.50 2.36345 - 42.50 102.50 67.50 2.43484 - 42.50 102.50 72.50 2.07748 - 42.50 102.50 77.50 1.59318 - 42.50 102.50 82.50 1.13271 - 42.50 102.50 87.50 0.645181 - 42.50 102.50 92.50 0.244556 - 42.50 102.50 97.50 0.0978049 - 42.50 102.50 102.50 0.0668906 - 42.50 102.50 107.50 0.0631444 - 42.50 102.50 112.50 0.0563825 - 42.50 102.50 117.50 0.0555632 - 42.50 102.50 122.50 0.110781 - 42.50 102.50 127.50 0.22508 - 42.50 102.50 132.50 0.409471 - 42.50 102.50 137.50 0.702272 - 42.50 102.50 142.50 1.15557 - 42.50 102.50 147.50 1.79502 - 42.50 102.50 152.50 2.36345 - 42.50 102.50 157.50 2.43484 - 42.50 102.50 162.50 2.07748 - 42.50 102.50 167.50 1.59318 - 42.50 102.50 172.50 1.13271 - 42.50 102.50 177.50 0.645182 - 42.50 102.50 182.50 0.244555 - 42.50 102.50 187.50 0.0978049 - 42.50 102.50 192.50 0.0668906 - 42.50 102.50 197.50 0.0631444 - 42.50 102.50 202.50 0.0563825 - 42.50 102.50 207.50 0.0555632 - 42.50 102.50 212.50 0.110781 - 42.50 102.50 217.50 0.225079 - 42.50 102.50 222.50 0.40947 - 42.50 102.50 227.50 0.702271 - 42.50 102.50 232.50 1.15557 - 42.50 102.50 237.50 1.79502 - 42.50 102.50 242.50 2.36345 - 42.50 102.50 247.50 2.43484 - 42.50 102.50 252.50 2.07748 - 42.50 102.50 257.50 1.59318 - 42.50 102.50 262.50 1.13271 - 42.50 102.50 267.50 0.645181 - 42.50 102.50 272.50 0.244555 - 42.50 102.50 277.50 0.0978049 - 42.50 102.50 282.50 0.0668906 - 42.50 102.50 287.50 0.0631444 - 42.50 102.50 292.50 0.0563825 - 42.50 102.50 297.50 0.0555631 - 42.50 102.50 302.50 0.110781 - 42.50 102.50 307.50 0.225079 - 42.50 102.50 312.50 0.40947 - 42.50 102.50 317.50 0.702271 - 42.50 102.50 322.50 1.15556 - 42.50 102.50 327.50 1.79501 - 42.50 102.50 332.50 2.36345 - 42.50 102.50 337.50 2.43484 - 42.50 102.50 342.50 2.07749 - 42.50 102.50 347.50 1.59318 - 42.50 102.50 352.50 1.13271 - 42.50 102.50 357.50 0.645183 - 42.50 107.50 2.50 0.460877 - 42.50 107.50 7.50 0.188114 - 42.50 107.50 12.50 0.0636858 - 42.50 107.50 17.50 0.0295423 - 42.50 107.50 22.50 0.0153901 - 42.50 107.50 27.50 0.0143751 - 42.50 107.50 32.50 0.0398137 - 42.50 107.50 37.50 0.128274 - 42.50 107.50 42.50 0.317093 - 42.50 107.50 47.50 0.714017 - 42.50 107.50 52.50 1.33458 - 42.50 107.50 57.50 2.27581 - 42.50 107.50 62.50 3.14019 - 42.50 107.50 67.50 3.53594 - 42.50 107.50 72.50 3.36603 - 42.50 107.50 77.50 2.75933 - 42.50 107.50 82.50 1.93697 - 42.50 107.50 87.50 1.10963 - 42.50 107.50 92.50 0.460876 - 42.50 107.50 97.50 0.188114 - 42.50 107.50 102.50 0.0636858 - 42.50 107.50 107.50 0.0295424 - 42.50 107.50 112.50 0.0153902 - 42.50 107.50 117.50 0.0143751 - 42.50 107.50 122.50 0.0398138 - 42.50 107.50 127.50 0.128274 - 42.50 107.50 132.50 0.317093 - 42.50 107.50 137.50 0.714017 - 42.50 107.50 142.50 1.33458 - 42.50 107.50 147.50 2.27581 - 42.50 107.50 152.50 3.14019 - 42.50 107.50 157.50 3.53593 - 42.50 107.50 162.50 3.36603 - 42.50 107.50 167.50 2.75933 - 42.50 107.50 172.50 1.93697 - 42.50 107.50 177.50 1.10963 - 42.50 107.50 182.50 0.460876 - 42.50 107.50 187.50 0.188114 - 42.50 107.50 192.50 0.0636858 - 42.50 107.50 197.50 0.0295424 - 42.50 107.50 202.50 0.0153902 - 42.50 107.50 207.50 0.0143751 - 42.50 107.50 212.50 0.0398137 - 42.50 107.50 217.50 0.128274 - 42.50 107.50 222.50 0.317092 - 42.50 107.50 227.50 0.714016 - 42.50 107.50 232.50 1.33459 - 42.50 107.50 237.50 2.27581 - 42.50 107.50 242.50 3.14019 - 42.50 107.50 247.50 3.53594 - 42.50 107.50 252.50 3.36603 - 42.50 107.50 257.50 2.75934 - 42.50 107.50 262.50 1.93697 - 42.50 107.50 267.50 1.10963 - 42.50 107.50 272.50 0.460876 - 42.50 107.50 277.50 0.188114 - 42.50 107.50 282.50 0.0636858 - 42.50 107.50 287.50 0.0295424 - 42.50 107.50 292.50 0.0153901 - 42.50 107.50 297.50 0.014375 - 42.50 107.50 302.50 0.0398136 - 42.50 107.50 307.50 0.128273 - 42.50 107.50 312.50 0.317092 - 42.50 107.50 317.50 0.714015 - 42.50 107.50 322.50 1.33458 - 42.50 107.50 327.50 2.27581 - 42.50 107.50 332.50 3.14019 - 42.50 107.50 337.50 3.53594 - 42.50 107.50 342.50 3.36604 - 42.50 107.50 347.50 2.75934 - 42.50 107.50 352.50 1.93697 - 42.50 107.50 357.50 1.10963 - 42.50 112.50 2.50 0.865462 - 42.50 112.50 7.50 0.360265 - 42.50 112.50 12.50 0.120598 - 42.50 112.50 17.50 0.0369399 - 42.50 112.50 22.50 0.0110045 - 42.50 112.50 27.50 0.0070808 - 42.50 112.50 32.50 0.0195936 - 42.50 112.50 37.50 0.0650973 - 42.50 112.50 42.50 0.233454 - 42.50 112.50 47.50 0.62174 - 42.50 112.50 52.50 1.29999 - 42.50 112.50 57.50 2.19213 - 42.50 112.50 62.50 3.21611 - 42.50 112.50 67.50 4.06195 - 42.50 112.50 72.50 4.22339 - 42.50 112.50 77.50 3.69293 - 42.50 112.50 82.50 2.81009 - 42.50 112.50 87.50 1.85129 - 42.50 112.50 92.50 0.865462 - 42.50 112.50 97.50 0.360265 - 42.50 112.50 102.50 0.120598 - 42.50 112.50 107.50 0.0369399 - 42.50 112.50 112.50 0.0110045 - 42.50 112.50 117.50 0.0070808 - 42.50 112.50 122.50 0.0195936 - 42.50 112.50 127.50 0.0650973 - 42.50 112.50 132.50 0.233454 - 42.50 112.50 137.50 0.621739 - 42.50 112.50 142.50 1.29999 - 42.50 112.50 147.50 2.19213 - 42.50 112.50 152.50 3.21611 - 42.50 112.50 157.50 4.06195 - 42.50 112.50 162.50 4.22339 - 42.50 112.50 167.50 3.69294 - 42.50 112.50 172.50 2.81009 - 42.50 112.50 177.50 1.85129 - 42.50 112.50 182.50 0.865461 - 42.50 112.50 187.50 0.360265 - 42.50 112.50 192.50 0.120598 - 42.50 112.50 197.50 0.0369399 - 42.50 112.50 202.50 0.0110045 - 42.50 112.50 207.50 0.00708079 - 42.50 112.50 212.50 0.0195936 - 42.50 112.50 217.50 0.0650971 - 42.50 112.50 222.50 0.233453 - 42.50 112.50 227.50 0.621738 - 42.50 112.50 232.50 1.29999 - 42.50 112.50 237.50 2.19213 - 42.50 112.50 242.50 3.21611 - 42.50 112.50 247.50 4.06195 - 42.50 112.50 252.50 4.22339 - 42.50 112.50 257.50 3.69293 - 42.50 112.50 262.50 2.81009 - 42.50 112.50 267.50 1.85128 - 42.50 112.50 272.50 0.865462 - 42.50 112.50 277.50 0.360265 - 42.50 112.50 282.50 0.120598 - 42.50 112.50 287.50 0.0369399 - 42.50 112.50 292.50 0.0110045 - 42.50 112.50 297.50 0.00708077 - 42.50 112.50 302.50 0.0195935 - 42.50 112.50 307.50 0.065097 - 42.50 112.50 312.50 0.233453 - 42.50 112.50 317.50 0.621738 - 42.50 112.50 322.50 1.29999 - 42.50 112.50 327.50 2.19212 - 42.50 112.50 332.50 3.2161 - 42.50 112.50 337.50 4.06195 - 42.50 112.50 342.50 4.22339 - 42.50 112.50 347.50 3.69294 - 42.50 112.50 352.50 2.81009 - 42.50 112.50 357.50 1.85129 - 42.50 117.50 2.50 1.46809 - 42.50 117.50 7.50 0.717389 - 42.50 117.50 12.50 0.294579 - 42.50 117.50 17.50 0.113132 - 42.50 117.50 22.50 0.0407374 - 42.50 117.50 27.50 0.0146831 - 42.50 117.50 32.50 0.0165972 - 42.50 117.50 37.50 0.0359556 - 42.50 117.50 42.50 0.111848 - 42.50 117.50 47.50 0.347313 - 42.50 117.50 52.50 0.799248 - 42.50 117.50 57.50 1.48181 - 42.50 117.50 62.50 2.44198 - 42.50 117.50 67.50 3.45573 - 42.50 117.50 72.50 4.01288 - 42.50 117.50 77.50 3.88848 - 42.50 117.50 82.50 3.43339 - 42.50 117.50 87.50 2.6495 - 42.50 117.50 92.50 1.46809 - 42.50 117.50 97.50 0.717389 - 42.50 117.50 102.50 0.294579 - 42.50 117.50 107.50 0.113132 - 42.50 117.50 112.50 0.0407374 - 42.50 117.50 117.50 0.014683 - 42.50 117.50 122.50 0.0165972 - 42.50 117.50 127.50 0.0359556 - 42.50 117.50 132.50 0.111848 - 42.50 117.50 137.50 0.347313 - 42.50 117.50 142.50 0.799248 - 42.50 117.50 147.50 1.48181 - 42.50 117.50 152.50 2.44198 - 42.50 117.50 157.50 3.45573 - 42.50 117.50 162.50 4.01288 - 42.50 117.50 167.50 3.88848 - 42.50 117.50 172.50 3.43339 - 42.50 117.50 177.50 2.6495 - 42.50 117.50 182.50 1.46809 - 42.50 117.50 187.50 0.717389 - 42.50 117.50 192.50 0.294579 - 42.50 117.50 197.50 0.113132 - 42.50 117.50 202.50 0.0407374 - 42.50 117.50 207.50 0.014683 - 42.50 117.50 212.50 0.0165972 - 42.50 117.50 217.50 0.0359556 - 42.50 117.50 222.50 0.111848 - 42.50 117.50 227.50 0.347312 - 42.50 117.50 232.50 0.799248 - 42.50 117.50 237.50 1.48181 - 42.50 117.50 242.50 2.44198 - 42.50 117.50 247.50 3.45573 - 42.50 117.50 252.50 4.01288 - 42.50 117.50 257.50 3.88848 - 42.50 117.50 262.50 3.43339 - 42.50 117.50 267.50 2.6495 - 42.50 117.50 272.50 1.46809 - 42.50 117.50 277.50 0.717389 - 42.50 117.50 282.50 0.294579 - 42.50 117.50 287.50 0.113132 - 42.50 117.50 292.50 0.0407374 - 42.50 117.50 297.50 0.0146831 - 42.50 117.50 302.50 0.0165972 - 42.50 117.50 307.50 0.0359555 - 42.50 117.50 312.50 0.111848 - 42.50 117.50 317.50 0.347312 - 42.50 117.50 322.50 0.799246 - 42.50 117.50 327.50 1.48181 - 42.50 117.50 332.50 2.44197 - 42.50 117.50 337.50 3.45572 - 42.50 117.50 342.50 4.01288 - 42.50 117.50 347.50 3.88848 - 42.50 117.50 352.50 3.4334 - 42.50 117.50 357.50 2.6495 - 42.50 122.50 2.50 2.09891 - 42.50 122.50 7.50 1.29488 - 42.50 122.50 12.50 0.716828 - 42.50 122.50 17.50 0.388319 - 42.50 122.50 22.50 0.177979 - 42.50 122.50 27.50 0.0769286 - 42.50 122.50 32.50 0.0354014 - 42.50 122.50 37.50 0.0268446 - 42.50 122.50 42.50 0.0414452 - 42.50 122.50 47.50 0.115115 - 42.50 122.50 52.50 0.322302 - 42.50 122.50 57.50 0.737196 - 42.50 122.50 62.50 1.36584 - 42.50 122.50 67.50 2.16851 - 42.50 122.50 72.50 2.95149 - 42.50 122.50 77.50 3.28472 - 42.50 122.50 82.50 3.34241 - 42.50 122.50 87.50 3.04219 - 42.50 122.50 92.50 2.09891 - 42.50 122.50 97.50 1.29488 - 42.50 122.50 102.50 0.716828 - 42.50 122.50 107.50 0.388319 - 42.50 122.50 112.50 0.177979 - 42.50 122.50 117.50 0.0769286 - 42.50 122.50 122.50 0.0354014 - 42.50 122.50 127.50 0.0268446 - 42.50 122.50 132.50 0.0414453 - 42.50 122.50 137.50 0.115115 - 42.50 122.50 142.50 0.322302 - 42.50 122.50 147.50 0.737196 - 42.50 122.50 152.50 1.36584 - 42.50 122.50 157.50 2.16851 - 42.50 122.50 162.50 2.95149 - 42.50 122.50 167.50 3.28472 - 42.50 122.50 172.50 3.34241 - 42.50 122.50 177.50 3.04219 - 42.50 122.50 182.50 2.09891 - 42.50 122.50 187.50 1.29488 - 42.50 122.50 192.50 0.716828 - 42.50 122.50 197.50 0.388319 - 42.50 122.50 202.50 0.177979 - 42.50 122.50 207.50 0.0769287 - 42.50 122.50 212.50 0.0354014 - 42.50 122.50 217.50 0.0268446 - 42.50 122.50 222.50 0.0414452 - 42.50 122.50 227.50 0.115114 - 42.50 122.50 232.50 0.322303 - 42.50 122.50 237.50 0.737197 - 42.50 122.50 242.50 1.36584 - 42.50 122.50 247.50 2.16851 - 42.50 122.50 252.50 2.95149 - 42.50 122.50 257.50 3.28472 - 42.50 122.50 262.50 3.34242 - 42.50 122.50 267.50 3.04219 - 42.50 122.50 272.50 2.09891 - 42.50 122.50 277.50 1.29488 - 42.50 122.50 282.50 0.716828 - 42.50 122.50 287.50 0.388319 - 42.50 122.50 292.50 0.177979 - 42.50 122.50 297.50 0.0769288 - 42.50 122.50 302.50 0.0354015 - 42.50 122.50 307.50 0.0268446 - 42.50 122.50 312.50 0.0414451 - 42.50 122.50 317.50 0.115114 - 42.50 122.50 322.50 0.322302 - 42.50 122.50 327.50 0.737194 - 42.50 122.50 332.50 1.36583 - 42.50 122.50 337.50 2.1685 - 42.50 122.50 342.50 2.95149 - 42.50 122.50 347.50 3.28472 - 42.50 122.50 352.50 3.34241 - 42.50 122.50 357.50 3.04219 - 42.50 127.50 2.50 2.5719 - 42.50 127.50 7.50 2.08931 - 42.50 127.50 12.50 1.63144 - 42.50 127.50 17.50 1.10588 - 42.50 127.50 22.50 0.615192 - 42.50 127.50 27.50 0.290781 - 42.50 127.50 32.50 0.120328 - 42.50 127.50 37.50 0.0472002 - 42.50 127.50 42.50 0.0213053 - 42.50 127.50 47.50 0.0340315 - 42.50 127.50 52.50 0.0922265 - 42.50 127.50 57.50 0.272029 - 42.50 127.50 62.50 0.627871 - 42.50 127.50 67.50 1.1403 - 42.50 127.50 72.50 1.69911 - 42.50 127.50 77.50 2.1554 - 42.50 127.50 82.50 2.61427 - 42.50 127.50 87.50 2.88087 - 42.50 127.50 92.50 2.5719 - 42.50 127.50 97.50 2.08931 - 42.50 127.50 102.50 1.63143 - 42.50 127.50 107.50 1.10588 - 42.50 127.50 112.50 0.615192 - 42.50 127.50 117.50 0.29078 - 42.50 127.50 122.50 0.120328 - 42.50 127.50 127.50 0.0472002 - 42.50 127.50 132.50 0.0213053 - 42.50 127.50 137.50 0.0340315 - 42.50 127.50 142.50 0.0922265 - 42.50 127.50 147.50 0.272029 - 42.50 127.50 152.50 0.627871 - 42.50 127.50 157.50 1.1403 - 42.50 127.50 162.50 1.69912 - 42.50 127.50 167.50 2.1554 - 42.50 127.50 172.50 2.61427 - 42.50 127.50 177.50 2.88087 - 42.50 127.50 182.50 2.5719 - 42.50 127.50 187.50 2.08931 - 42.50 127.50 192.50 1.63144 - 42.50 127.50 197.50 1.10588 - 42.50 127.50 202.50 0.615191 - 42.50 127.50 207.50 0.290781 - 42.50 127.50 212.50 0.120328 - 42.50 127.50 217.50 0.0472002 - 42.50 127.50 222.50 0.0213053 - 42.50 127.50 227.50 0.0340314 - 42.50 127.50 232.50 0.0922265 - 42.50 127.50 237.50 0.272029 - 42.50 127.50 242.50 0.627871 - 42.50 127.50 247.50 1.1403 - 42.50 127.50 252.50 1.69912 - 42.50 127.50 257.50 2.15541 - 42.50 127.50 262.50 2.61428 - 42.50 127.50 267.50 2.88087 - 42.50 127.50 272.50 2.5719 - 42.50 127.50 277.50 2.08932 - 42.50 127.50 282.50 1.63144 - 42.50 127.50 287.50 1.10588 - 42.50 127.50 292.50 0.615192 - 42.50 127.50 297.50 0.290781 - 42.50 127.50 302.50 0.120328 - 42.50 127.50 307.50 0.0472002 - 42.50 127.50 312.50 0.0213053 - 42.50 127.50 317.50 0.0340314 - 42.50 127.50 322.50 0.092226 - 42.50 127.50 327.50 0.272028 - 42.50 127.50 332.50 0.627869 - 42.50 127.50 337.50 1.1403 - 42.50 127.50 342.50 1.69911 - 42.50 127.50 347.50 2.1554 - 42.50 127.50 352.50 2.61427 - 42.50 127.50 357.50 2.88087 - 42.50 132.50 2.50 2.82217 - 42.50 132.50 7.50 2.99596 - 42.50 132.50 12.50 2.97992 - 42.50 132.50 17.50 2.402 - 42.50 132.50 22.50 1.47191 - 42.50 132.50 27.50 0.7556 - 42.50 132.50 32.50 0.342599 - 42.50 132.50 37.50 0.138524 - 42.50 132.50 42.50 0.0405055 - 42.50 132.50 47.50 0.0114427 - 42.50 132.50 52.50 0.0219399 - 42.50 132.50 57.50 0.0890095 - 42.50 132.50 62.50 0.242744 - 42.50 132.50 67.50 0.491642 - 42.50 132.50 72.50 0.760874 - 42.50 132.50 77.50 1.12415 - 42.50 132.50 82.50 1.74843 - 42.50 132.50 87.50 2.41433 - 42.50 132.50 92.50 2.82217 - 42.50 132.50 97.50 2.99595 - 42.50 132.50 102.50 2.97992 - 42.50 132.50 107.50 2.402 - 42.50 132.50 112.50 1.47191 - 42.50 132.50 117.50 0.755599 - 42.50 132.50 122.50 0.342598 - 42.50 132.50 127.50 0.138524 - 42.50 132.50 132.50 0.0405054 - 42.50 132.50 137.50 0.0114427 - 42.50 132.50 142.50 0.0219399 - 42.50 132.50 147.50 0.0890096 - 42.50 132.50 152.50 0.242744 - 42.50 132.50 157.50 0.491642 - 42.50 132.50 162.50 0.760874 - 42.50 132.50 167.50 1.12416 - 42.50 132.50 172.50 1.74843 - 42.50 132.50 177.50 2.41432 - 42.50 132.50 182.50 2.82217 - 42.50 132.50 187.50 2.99596 - 42.50 132.50 192.50 2.97992 - 42.50 132.50 197.50 2.402 - 42.50 132.50 202.50 1.47191 - 42.50 132.50 207.50 0.7556 - 42.50 132.50 212.50 0.342598 - 42.50 132.50 217.50 0.138524 - 42.50 132.50 222.50 0.0405055 - 42.50 132.50 227.50 0.0114427 - 42.50 132.50 232.50 0.0219399 - 42.50 132.50 237.50 0.0890097 - 42.50 132.50 242.50 0.242745 - 42.50 132.50 247.50 0.491642 - 42.50 132.50 252.50 0.760874 - 42.50 132.50 257.50 1.12416 - 42.50 132.50 262.50 1.74843 - 42.50 132.50 267.50 2.41433 - 42.50 132.50 272.50 2.82217 - 42.50 132.50 277.50 2.99596 - 42.50 132.50 282.50 2.97992 - 42.50 132.50 287.50 2.402 - 42.50 132.50 292.50 1.47191 - 42.50 132.50 297.50 0.755601 - 42.50 132.50 302.50 0.342599 - 42.50 132.50 307.50 0.138524 - 42.50 132.50 312.50 0.0405055 - 42.50 132.50 317.50 0.0114427 - 42.50 132.50 322.50 0.0219398 - 42.50 132.50 327.50 0.0890092 - 42.50 132.50 332.50 0.242744 - 42.50 132.50 337.50 0.491641 - 42.50 132.50 342.50 0.760873 - 42.50 132.50 347.50 1.12415 - 42.50 132.50 352.50 1.74843 - 42.50 132.50 357.50 2.41432 - 42.50 137.50 2.50 2.89161 - 42.50 137.50 7.50 3.79369 - 42.50 137.50 12.50 4.35753 - 42.50 137.50 17.50 3.83832 - 42.50 137.50 22.50 2.60093 - 42.50 137.50 27.50 1.45077 - 42.50 137.50 32.50 0.782798 - 42.50 137.50 37.50 0.32591 - 42.50 137.50 42.50 0.0932611 - 42.50 137.50 47.50 0.0241607 - 42.50 137.50 52.50 0.00780603 - 42.50 137.50 57.50 0.0237158 - 42.50 137.50 62.50 0.0687427 - 42.50 137.50 67.50 0.157549 - 42.50 137.50 72.50 0.285512 - 42.50 137.50 77.50 0.558398 - 42.50 137.50 82.50 1.08401 - 42.50 137.50 87.50 1.94107 - 42.50 137.50 92.50 2.89161 - 42.50 137.50 97.50 3.79369 - 42.50 137.50 102.50 4.35753 - 42.50 137.50 107.50 3.83831 - 42.50 137.50 112.50 2.60093 - 42.50 137.50 117.50 1.45077 - 42.50 137.50 122.50 0.782797 - 42.50 137.50 127.50 0.32591 - 42.50 137.50 132.50 0.0932611 - 42.50 137.50 137.50 0.0241607 - 42.50 137.50 142.50 0.00780604 - 42.50 137.50 147.50 0.0237158 - 42.50 137.50 152.50 0.0687426 - 42.50 137.50 157.50 0.157549 - 42.50 137.50 162.50 0.285512 - 42.50 137.50 167.50 0.558398 - 42.50 137.50 172.50 1.08401 - 42.50 137.50 177.50 1.94107 - 42.50 137.50 182.50 2.89161 - 42.50 137.50 187.50 3.79369 - 42.50 137.50 192.50 4.35754 - 42.50 137.50 197.50 3.83831 - 42.50 137.50 202.50 2.60093 - 42.50 137.50 207.50 1.45077 - 42.50 137.50 212.50 0.782797 - 42.50 137.50 217.50 0.32591 - 42.50 137.50 222.50 0.0932612 - 42.50 137.50 227.50 0.0241607 - 42.50 137.50 232.50 0.00780604 - 42.50 137.50 237.50 0.0237159 - 42.50 137.50 242.50 0.0687428 - 42.50 137.50 247.50 0.157549 - 42.50 137.50 252.50 0.285513 - 42.50 137.50 257.50 0.558399 - 42.50 137.50 262.50 1.08401 - 42.50 137.50 267.50 1.94107 - 42.50 137.50 272.50 2.89161 - 42.50 137.50 277.50 3.79369 - 42.50 137.50 282.50 4.35753 - 42.50 137.50 287.50 3.83832 - 42.50 137.50 292.50 2.60093 - 42.50 137.50 297.50 1.45077 - 42.50 137.50 302.50 0.782798 - 42.50 137.50 307.50 0.32591 - 42.50 137.50 312.50 0.0932613 - 42.50 137.50 317.50 0.0241607 - 42.50 137.50 322.50 0.00780603 - 42.50 137.50 327.50 0.0237158 - 42.50 137.50 332.50 0.0687426 - 42.50 137.50 337.50 0.157549 - 42.50 137.50 342.50 0.285512 - 42.50 137.50 347.50 0.558397 - 42.50 137.50 352.50 1.08401 - 42.50 137.50 357.50 1.94106 - 42.50 142.50 2.50 2.82217 - 42.50 142.50 7.50 4.3162 - 42.50 142.50 12.50 5.35102 - 42.50 142.50 17.50 4.97107 - 42.50 142.50 22.50 3.64188 - 42.50 142.50 27.50 2.23132 - 42.50 142.50 32.50 1.25833 - 42.50 142.50 37.50 0.596383 - 42.50 142.50 42.50 0.216742 - 42.50 142.50 47.50 0.0618671 - 42.50 142.50 52.50 0.0178265 - 42.50 142.50 57.50 0.00804477 - 42.50 142.50 62.50 0.0157734 - 42.50 142.50 67.50 0.0429414 - 42.50 142.50 72.50 0.106825 - 42.50 142.50 77.50 0.275822 - 42.50 142.50 82.50 0.670173 - 42.50 142.50 87.50 1.54075 - 42.50 142.50 92.50 2.82217 - 42.50 142.50 97.50 4.3162 - 42.50 142.50 102.50 5.35102 - 42.50 142.50 107.50 4.97107 - 42.50 142.50 112.50 3.64188 - 42.50 142.50 117.50 2.23132 - 42.50 142.50 122.50 1.25833 - 42.50 142.50 127.50 0.596383 - 42.50 142.50 132.50 0.216742 - 42.50 142.50 137.50 0.061867 - 42.50 142.50 142.50 0.0178265 - 42.50 142.50 147.50 0.00804478 - 42.50 142.50 152.50 0.0157734 - 42.50 142.50 157.50 0.0429413 - 42.50 142.50 162.50 0.106825 - 42.50 142.50 167.50 0.275822 - 42.50 142.50 172.50 0.670173 - 42.50 142.50 177.50 1.54075 - 42.50 142.50 182.50 2.82217 - 42.50 142.50 187.50 4.3162 - 42.50 142.50 192.50 5.35102 - 42.50 142.50 197.50 4.97107 - 42.50 142.50 202.50 3.64188 - 42.50 142.50 207.50 2.23132 - 42.50 142.50 212.50 1.25833 - 42.50 142.50 217.50 0.596383 - 42.50 142.50 222.50 0.216742 - 42.50 142.50 227.50 0.0618671 - 42.50 142.50 232.50 0.0178264 - 42.50 142.50 237.50 0.00804478 - 42.50 142.50 242.50 0.0157734 - 42.50 142.50 247.50 0.0429414 - 42.50 142.50 252.50 0.106825 - 42.50 142.50 257.50 0.275822 - 42.50 142.50 262.50 0.670173 - 42.50 142.50 267.50 1.54075 - 42.50 142.50 272.50 2.82217 - 42.50 142.50 277.50 4.3162 - 42.50 142.50 282.50 5.35102 - 42.50 142.50 287.50 4.97107 - 42.50 142.50 292.50 3.64188 - 42.50 142.50 297.50 2.23132 - 42.50 142.50 302.50 1.25833 - 42.50 142.50 307.50 0.596384 - 42.50 142.50 312.50 0.216742 - 42.50 142.50 317.50 0.0618671 - 42.50 142.50 322.50 0.0178265 - 42.50 142.50 327.50 0.00804478 - 42.50 142.50 332.50 0.0157733 - 42.50 142.50 337.50 0.0429413 - 42.50 142.50 342.50 0.106825 - 42.50 142.50 347.50 0.275822 - 42.50 142.50 352.50 0.670172 - 42.50 142.50 357.50 1.54074 - 42.50 147.50 2.50 2.5719 - 42.50 147.50 7.50 4.33166 - 42.50 147.50 12.50 5.56069 - 42.50 147.50 17.50 5.38265 - 42.50 147.50 22.50 4.15186 - 42.50 147.50 27.50 2.7557 - 42.50 147.50 32.50 1.68934 - 42.50 147.50 37.50 0.94938 - 42.50 147.50 42.50 0.452483 - 42.50 147.50 47.50 0.179555 - 42.50 147.50 52.50 0.0612543 - 42.50 147.50 57.50 0.0182778 - 42.50 147.50 62.50 0.00792701 - 42.50 147.50 67.50 0.0133018 - 42.50 147.50 72.50 0.043142 - 42.50 147.50 77.50 0.135582 - 42.50 147.50 82.50 0.434885 - 42.50 147.50 87.50 1.19069 - 42.50 147.50 92.50 2.5719 - 42.50 147.50 97.50 4.33165 - 42.50 147.50 102.50 5.56069 - 42.50 147.50 107.50 5.38265 - 42.50 147.50 112.50 4.15187 - 42.50 147.50 117.50 2.7557 - 42.50 147.50 122.50 1.68934 - 42.50 147.50 127.50 0.94938 - 42.50 147.50 132.50 0.452483 - 42.50 147.50 137.50 0.179554 - 42.50 147.50 142.50 0.0612543 - 42.50 147.50 147.50 0.0182778 - 42.50 147.50 152.50 0.00792703 - 42.50 147.50 157.50 0.0133018 - 42.50 147.50 162.50 0.043142 - 42.50 147.50 167.50 0.135582 - 42.50 147.50 172.50 0.434884 - 42.50 147.50 177.50 1.19069 - 42.50 147.50 182.50 2.5719 - 42.50 147.50 187.50 4.33166 - 42.50 147.50 192.50 5.56069 - 42.50 147.50 197.50 5.38265 - 42.50 147.50 202.50 4.15187 - 42.50 147.50 207.50 2.7557 - 42.50 147.50 212.50 1.68935 - 42.50 147.50 217.50 0.949381 - 42.50 147.50 222.50 0.452484 - 42.50 147.50 227.50 0.179555 - 42.50 147.50 232.50 0.0612541 - 42.50 147.50 237.50 0.0182778 - 42.50 147.50 242.50 0.00792701 - 42.50 147.50 247.50 0.0133018 - 42.50 147.50 252.50 0.0431421 - 42.50 147.50 257.50 0.135582 - 42.50 147.50 262.50 0.434886 - 42.50 147.50 267.50 1.19069 - 42.50 147.50 272.50 2.5719 - 42.50 147.50 277.50 4.33166 - 42.50 147.50 282.50 5.56069 - 42.50 147.50 287.50 5.38265 - 42.50 147.50 292.50 4.15187 - 42.50 147.50 297.50 2.7557 - 42.50 147.50 302.50 1.68935 - 42.50 147.50 307.50 0.949382 - 42.50 147.50 312.50 0.452484 - 42.50 147.50 317.50 0.179555 - 42.50 147.50 322.50 0.0612544 - 42.50 147.50 327.50 0.0182779 - 42.50 147.50 332.50 0.00792702 - 42.50 147.50 337.50 0.0133018 - 42.50 147.50 342.50 0.0431419 - 42.50 147.50 347.50 0.135581 - 42.50 147.50 352.50 0.434883 - 42.50 147.50 357.50 1.19068 - 42.50 152.50 2.50 2.09891 - 42.50 152.50 7.50 3.6603 - 42.50 152.50 12.50 4.76941 - 42.50 152.50 17.50 4.86415 - 42.50 152.50 22.50 3.92309 - 42.50 152.50 27.50 2.88773 - 42.50 152.50 32.50 2.00439 - 42.50 152.50 37.50 1.33779 - 42.50 152.50 42.50 0.781112 - 42.50 152.50 47.50 0.374034 - 42.50 152.50 52.50 0.149517 - 42.50 152.50 57.50 0.0565719 - 42.50 152.50 62.50 0.0167837 - 42.50 152.50 67.50 0.00703294 - 42.50 152.50 72.50 0.0201629 - 42.50 152.50 77.50 0.0728056 - 42.50 152.50 82.50 0.300781 - 42.50 152.50 87.50 0.876378 - 42.50 152.50 92.50 2.09891 - 42.50 152.50 97.50 3.66031 - 42.50 152.50 102.50 4.76941 - 42.50 152.50 107.50 4.86415 - 42.50 152.50 112.50 3.92309 - 42.50 152.50 117.50 2.88773 - 42.50 152.50 122.50 2.00439 - 42.50 152.50 127.50 1.33779 - 42.50 152.50 132.50 0.781111 - 42.50 152.50 137.50 0.374034 - 42.50 152.50 142.50 0.149517 - 42.50 152.50 147.50 0.0565719 - 42.50 152.50 152.50 0.0167838 - 42.50 152.50 157.50 0.00703294 - 42.50 152.50 162.50 0.0201629 - 42.50 152.50 167.50 0.0728055 - 42.50 152.50 172.50 0.300781 - 42.50 152.50 177.50 0.876376 - 42.50 152.50 182.50 2.09891 - 42.50 152.50 187.50 3.66031 - 42.50 152.50 192.50 4.76941 - 42.50 152.50 197.50 4.86415 - 42.50 152.50 202.50 3.92309 - 42.50 152.50 207.50 2.88773 - 42.50 152.50 212.50 2.00439 - 42.50 152.50 217.50 1.33779 - 42.50 152.50 222.50 0.781111 - 42.50 152.50 227.50 0.374034 - 42.50 152.50 232.50 0.149517 - 42.50 152.50 237.50 0.0565718 - 42.50 152.50 242.50 0.0167837 - 42.50 152.50 247.50 0.00703295 - 42.50 152.50 252.50 0.020163 - 42.50 152.50 257.50 0.0728058 - 42.50 152.50 262.50 0.300781 - 42.50 152.50 267.50 0.876378 - 42.50 152.50 272.50 2.09891 - 42.50 152.50 277.50 3.6603 - 42.50 152.50 282.50 4.76941 - 42.50 152.50 287.50 4.86415 - 42.50 152.50 292.50 3.92309 - 42.50 152.50 297.50 2.88773 - 42.50 152.50 302.50 2.00439 - 42.50 152.50 307.50 1.33779 - 42.50 152.50 312.50 0.781112 - 42.50 152.50 317.50 0.374034 - 42.50 152.50 322.50 0.149518 - 42.50 152.50 327.50 0.056572 - 42.50 152.50 332.50 0.0167838 - 42.50 152.50 337.50 0.00703294 - 42.50 152.50 342.50 0.0201629 - 42.50 152.50 347.50 0.0728054 - 42.50 152.50 352.50 0.30078 - 42.50 152.50 357.50 0.876374 - 42.50 157.50 2.50 1.46809 - 42.50 157.50 7.50 2.50208 - 42.50 157.50 12.50 3.31096 - 42.50 157.50 17.50 3.52195 - 42.50 157.50 22.50 3.1379 - 42.50 157.50 27.50 2.5845 - 42.50 157.50 32.50 2.10945 - 42.50 157.50 37.50 1.61011 - 42.50 157.50 42.50 1.09447 - 42.50 157.50 47.50 0.607779 - 42.50 157.50 52.50 0.295948 - 42.50 157.50 57.50 0.121998 - 42.50 157.50 62.50 0.0369168 - 42.50 157.50 67.50 0.0123625 - 42.50 157.50 72.50 0.0183379 - 42.50 157.50 77.50 0.0670519 - 42.50 157.50 82.50 0.227896 - 42.50 157.50 87.50 0.620966 - 42.50 157.50 92.50 1.46809 - 42.50 157.50 97.50 2.50208 - 42.50 157.50 102.50 3.31096 - 42.50 157.50 107.50 3.52195 - 42.50 157.50 112.50 3.1379 - 42.50 157.50 117.50 2.5845 - 42.50 157.50 122.50 2.10945 - 42.50 157.50 127.50 1.61011 - 42.50 157.50 132.50 1.09446 - 42.50 157.50 137.50 0.607779 - 42.50 157.50 142.50 0.295948 - 42.50 157.50 147.50 0.121998 - 42.50 157.50 152.50 0.0369169 - 42.50 157.50 157.50 0.0123625 - 42.50 157.50 162.50 0.0183379 - 42.50 157.50 167.50 0.0670519 - 42.50 157.50 172.50 0.227896 - 42.50 157.50 177.50 0.620966 - 42.50 157.50 182.50 1.46809 - 42.50 157.50 187.50 2.50208 - 42.50 157.50 192.50 3.31096 - 42.50 157.50 197.50 3.52194 - 42.50 157.50 202.50 3.1379 - 42.50 157.50 207.50 2.5845 - 42.50 157.50 212.50 2.10945 - 42.50 157.50 217.50 1.61011 - 42.50 157.50 222.50 1.09447 - 42.50 157.50 227.50 0.60778 - 42.50 157.50 232.50 0.295947 - 42.50 157.50 237.50 0.121998 - 42.50 157.50 242.50 0.0369167 - 42.50 157.50 247.50 0.0123625 - 42.50 157.50 252.50 0.0183379 - 42.50 157.50 257.50 0.067052 - 42.50 157.50 262.50 0.227896 - 42.50 157.50 267.50 0.620966 - 42.50 157.50 272.50 1.46809 - 42.50 157.50 277.50 2.50208 - 42.50 157.50 282.50 3.31096 - 42.50 157.50 287.50 3.52194 - 42.50 157.50 292.50 3.1379 - 42.50 157.50 297.50 2.5845 - 42.50 157.50 302.50 2.10945 - 42.50 157.50 307.50 1.61011 - 42.50 157.50 312.50 1.09447 - 42.50 157.50 317.50 0.60778 - 42.50 157.50 322.50 0.295949 - 42.50 157.50 327.50 0.121999 - 42.50 157.50 332.50 0.0369169 - 42.50 157.50 337.50 0.0123625 - 42.50 157.50 342.50 0.0183379 - 42.50 157.50 347.50 0.0670517 - 42.50 157.50 352.50 0.227896 - 42.50 157.50 357.50 0.620964 - 42.50 162.50 2.50 0.865462 - 42.50 162.50 7.50 1.38244 - 42.50 162.50 12.50 1.8292 - 42.50 162.50 17.50 2.05423 - 42.50 162.50 22.50 2.04577 - 42.50 162.50 27.50 1.89594 - 42.50 162.50 32.50 1.76641 - 42.50 162.50 37.50 1.62272 - 42.50 162.50 42.50 1.30256 - 42.50 162.50 47.50 0.847794 - 42.50 162.50 52.50 0.456506 - 42.50 162.50 57.50 0.206481 - 42.50 162.50 62.50 0.0784521 - 42.50 162.50 67.50 0.0302528 - 42.50 162.50 72.50 0.0366079 - 42.50 162.50 77.50 0.093295 - 42.50 162.50 82.50 0.202848 - 42.50 162.50 87.50 0.430564 - 42.50 162.50 92.50 0.865463 - 42.50 162.50 97.50 1.38244 - 42.50 162.50 102.50 1.8292 - 42.50 162.50 107.50 2.05423 - 42.50 162.50 112.50 2.04577 - 42.50 162.50 117.50 1.89594 - 42.50 162.50 122.50 1.76641 - 42.50 162.50 127.50 1.62272 - 42.50 162.50 132.50 1.30256 - 42.50 162.50 137.50 0.847794 - 42.50 162.50 142.50 0.456506 - 42.50 162.50 147.50 0.206481 - 42.50 162.50 152.50 0.0784522 - 42.50 162.50 157.50 0.0302528 - 42.50 162.50 162.50 0.0366079 - 42.50 162.50 167.50 0.0932949 - 42.50 162.50 172.50 0.202848 - 42.50 162.50 177.50 0.430564 - 42.50 162.50 182.50 0.865463 - 42.50 162.50 187.50 1.38244 - 42.50 162.50 192.50 1.8292 - 42.50 162.50 197.50 2.05423 - 42.50 162.50 202.50 2.04577 - 42.50 162.50 207.50 1.89594 - 42.50 162.50 212.50 1.76641 - 42.50 162.50 217.50 1.62272 - 42.50 162.50 222.50 1.30256 - 42.50 162.50 227.50 0.847795 - 42.50 162.50 232.50 0.456505 - 42.50 162.50 237.50 0.206481 - 42.50 162.50 242.50 0.078452 - 42.50 162.50 247.50 0.0302528 - 42.50 162.50 252.50 0.036608 - 42.50 162.50 257.50 0.0932951 - 42.50 162.50 262.50 0.202848 - 42.50 162.50 267.50 0.430564 - 42.50 162.50 272.50 0.865462 - 42.50 162.50 277.50 1.38244 - 42.50 162.50 282.50 1.8292 - 42.50 162.50 287.50 2.05423 - 42.50 162.50 292.50 2.04577 - 42.50 162.50 297.50 1.89594 - 42.50 162.50 302.50 1.76641 - 42.50 162.50 307.50 1.62272 - 42.50 162.50 312.50 1.30256 - 42.50 162.50 317.50 0.847795 - 42.50 162.50 322.50 0.456507 - 42.50 162.50 327.50 0.206481 - 42.50 162.50 332.50 0.0784524 - 42.50 162.50 337.50 0.0302528 - 42.50 162.50 342.50 0.0366079 - 42.50 162.50 347.50 0.0932948 - 42.50 162.50 352.50 0.202847 - 42.50 162.50 357.50 0.430563 - 42.50 167.50 2.50 0.460877 - 42.50 167.50 7.50 0.652798 - 42.50 167.50 12.50 0.816206 - 42.50 167.50 17.50 0.968019 - 42.50 167.50 22.50 1.04354 - 42.50 167.50 27.50 1.10149 - 42.50 167.50 32.50 1.25223 - 42.50 167.50 37.50 1.42006 - 42.50 167.50 42.50 1.33987 - 42.50 167.50 47.50 0.970132 - 42.50 167.50 52.50 0.554866 - 42.50 167.50 57.50 0.268721 - 42.50 167.50 62.50 0.1105 - 42.50 167.50 67.50 0.0515303 - 42.50 167.50 72.50 0.0626106 - 42.50 167.50 77.50 0.118854 - 42.50 167.50 82.50 0.192319 - 42.50 167.50 87.50 0.30253 - 42.50 167.50 92.50 0.460877 - 42.50 167.50 97.50 0.652799 - 42.50 167.50 102.50 0.816207 - 42.50 167.50 107.50 0.96802 - 42.50 167.50 112.50 1.04354 - 42.50 167.50 117.50 1.10149 - 42.50 167.50 122.50 1.25223 - 42.50 167.50 127.50 1.42006 - 42.50 167.50 132.50 1.33987 - 42.50 167.50 137.50 0.970132 - 42.50 167.50 142.50 0.554866 - 42.50 167.50 147.50 0.268721 - 42.50 167.50 152.50 0.1105 - 42.50 167.50 157.50 0.0515304 - 42.50 167.50 162.50 0.0626106 - 42.50 167.50 167.50 0.118854 - 42.50 167.50 172.50 0.192319 - 42.50 167.50 177.50 0.30253 - 42.50 167.50 182.50 0.460877 - 42.50 167.50 187.50 0.652799 - 42.50 167.50 192.50 0.816207 - 42.50 167.50 197.50 0.96802 - 42.50 167.50 202.50 1.04354 - 42.50 167.50 207.50 1.10149 - 42.50 167.50 212.50 1.25223 - 42.50 167.50 217.50 1.42006 - 42.50 167.50 222.50 1.33987 - 42.50 167.50 227.50 0.970133 - 42.50 167.50 232.50 0.554864 - 42.50 167.50 237.50 0.268721 - 42.50 167.50 242.50 0.1105 - 42.50 167.50 247.50 0.0515303 - 42.50 167.50 252.50 0.0626107 - 42.50 167.50 257.50 0.118854 - 42.50 167.50 262.50 0.192319 - 42.50 167.50 267.50 0.30253 - 42.50 167.50 272.50 0.460877 - 42.50 167.50 277.50 0.652798 - 42.50 167.50 282.50 0.816206 - 42.50 167.50 287.50 0.968019 - 42.50 167.50 292.50 1.04354 - 42.50 167.50 297.50 1.10149 - 42.50 167.50 302.50 1.25223 - 42.50 167.50 307.50 1.42006 - 42.50 167.50 312.50 1.33987 - 42.50 167.50 317.50 0.970133 - 42.50 167.50 322.50 0.554866 - 42.50 167.50 327.50 0.268721 - 42.50 167.50 332.50 0.110501 - 42.50 167.50 337.50 0.0515304 - 42.50 167.50 342.50 0.0626106 - 42.50 167.50 347.50 0.118854 - 42.50 167.50 352.50 0.192319 - 42.50 167.50 357.50 0.30253 - 42.50 172.50 2.50 0.244556 - 42.50 172.50 7.50 0.291898 - 42.50 172.50 12.50 0.329847 - 42.50 172.50 17.50 0.362094 - 42.50 172.50 22.50 0.416338 - 42.50 172.50 27.50 0.526487 - 42.50 172.50 32.50 0.777774 - 42.50 172.50 37.50 1.10121 - 42.50 172.50 42.50 1.21402 - 42.50 172.50 47.50 0.953291 - 42.50 172.50 52.50 0.54171 - 42.50 172.50 57.50 0.244358 - 42.50 172.50 62.50 0.102746 - 42.50 172.50 67.50 0.0569905 - 42.50 172.50 72.50 0.0673724 - 42.50 172.50 77.50 0.108297 - 42.50 172.50 82.50 0.164515 - 42.50 172.50 87.50 0.204062 - 42.50 172.50 92.50 0.244556 - 42.50 172.50 97.50 0.291898 - 42.50 172.50 102.50 0.329847 - 42.50 172.50 107.50 0.362094 - 42.50 172.50 112.50 0.416338 - 42.50 172.50 117.50 0.526487 - 42.50 172.50 122.50 0.777774 - 42.50 172.50 127.50 1.10121 - 42.50 172.50 132.50 1.21402 - 42.50 172.50 137.50 0.953291 - 42.50 172.50 142.50 0.541711 - 42.50 172.50 147.50 0.244358 - 42.50 172.50 152.50 0.102746 - 42.50 172.50 157.50 0.0569904 - 42.50 172.50 162.50 0.0673724 - 42.50 172.50 167.50 0.108297 - 42.50 172.50 172.50 0.164515 - 42.50 172.50 177.50 0.204062 - 42.50 172.50 182.50 0.244556 - 42.50 172.50 187.50 0.291898 - 42.50 172.50 192.50 0.329846 - 42.50 172.50 197.50 0.362094 - 42.50 172.50 202.50 0.416338 - 42.50 172.50 207.50 0.526487 - 42.50 172.50 212.50 0.777774 - 42.50 172.50 217.50 1.10121 - 42.50 172.50 222.50 1.21402 - 42.50 172.50 227.50 0.953292 - 42.50 172.50 232.50 0.541709 - 42.50 172.50 237.50 0.244357 - 42.50 172.50 242.50 0.102745 - 42.50 172.50 247.50 0.0569904 - 42.50 172.50 252.50 0.0673725 - 42.50 172.50 257.50 0.108297 - 42.50 172.50 262.50 0.164515 - 42.50 172.50 267.50 0.204062 - 42.50 172.50 272.50 0.244556 - 42.50 172.50 277.50 0.291898 - 42.50 172.50 282.50 0.329846 - 42.50 172.50 287.50 0.362094 - 42.50 172.50 292.50 0.416338 - 42.50 172.50 297.50 0.526487 - 42.50 172.50 302.50 0.777773 - 42.50 172.50 307.50 1.10121 - 42.50 172.50 312.50 1.21402 - 42.50 172.50 317.50 0.953291 - 42.50 172.50 322.50 0.541711 - 42.50 172.50 327.50 0.244358 - 42.50 172.50 332.50 0.102746 - 42.50 172.50 337.50 0.0569904 - 42.50 172.50 342.50 0.0673723 - 42.50 172.50 347.50 0.108297 - 42.50 172.50 352.50 0.164515 - 42.50 172.50 357.50 0.204062 - 42.50 177.50 2.50 0.12541 - 42.50 177.50 7.50 0.126957 - 42.50 177.50 12.50 0.120838 - 42.50 177.50 17.50 0.118244 - 42.50 177.50 22.50 0.140119 - 42.50 177.50 27.50 0.232954 - 42.50 177.50 32.50 0.462256 - 42.50 177.50 37.50 0.792094 - 42.50 177.50 42.50 0.958469 - 42.50 177.50 47.50 0.774996 - 42.50 177.50 52.50 0.425681 - 42.50 177.50 57.50 0.176459 - 42.50 177.50 62.50 0.0709713 - 42.50 177.50 67.50 0.0483576 - 42.50 177.50 72.50 0.0626698 - 42.50 177.50 77.50 0.0897009 - 42.50 177.50 82.50 0.110057 - 42.50 177.50 87.50 0.119003 - 42.50 177.50 92.50 0.12541 - 42.50 177.50 97.50 0.126957 - 42.50 177.50 102.50 0.120838 - 42.50 177.50 107.50 0.118244 - 42.50 177.50 112.50 0.140119 - 42.50 177.50 117.50 0.232954 - 42.50 177.50 122.50 0.462256 - 42.50 177.50 127.50 0.792094 - 42.50 177.50 132.50 0.958469 - 42.50 177.50 137.50 0.774996 - 42.50 177.50 142.50 0.425681 - 42.50 177.50 147.50 0.176459 - 42.50 177.50 152.50 0.0709713 - 42.50 177.50 157.50 0.0483576 - 42.50 177.50 162.50 0.0626698 - 42.50 177.50 167.50 0.0897009 - 42.50 177.50 172.50 0.110057 - 42.50 177.50 177.50 0.119002 - 42.50 177.50 182.50 0.12541 - 42.50 177.50 187.50 0.126957 - 42.50 177.50 192.50 0.120838 - 42.50 177.50 197.50 0.118244 - 42.50 177.50 202.50 0.14012 - 42.50 177.50 207.50 0.232954 - 42.50 177.50 212.50 0.462256 - 42.50 177.50 217.50 0.792094 - 42.50 177.50 222.50 0.958468 - 42.50 177.50 227.50 0.774996 - 42.50 177.50 232.50 0.425681 - 42.50 177.50 237.50 0.176459 - 42.50 177.50 242.50 0.0709711 - 42.50 177.50 247.50 0.0483575 - 42.50 177.50 252.50 0.0626698 - 42.50 177.50 257.50 0.089701 - 42.50 177.50 262.50 0.110057 - 42.50 177.50 267.50 0.119002 - 42.50 177.50 272.50 0.12541 - 42.50 177.50 277.50 0.126957 - 42.50 177.50 282.50 0.120838 - 42.50 177.50 287.50 0.118244 - 42.50 177.50 292.50 0.14012 - 42.50 177.50 297.50 0.232954 - 42.50 177.50 302.50 0.462256 - 42.50 177.50 307.50 0.792094 - 42.50 177.50 312.50 0.958469 - 42.50 177.50 317.50 0.774996 - 42.50 177.50 322.50 0.425682 - 42.50 177.50 327.50 0.176459 - 42.50 177.50 332.50 0.0709714 - 42.50 177.50 337.50 0.0483575 - 42.50 177.50 342.50 0.0626698 - 42.50 177.50 347.50 0.0897009 - 42.50 177.50 352.50 0.110057 - 42.50 177.50 357.50 0.119002 - 47.50 2.50 2.50 0.084539 - 47.50 2.50 7.50 0.083846 - 47.50 2.50 12.50 0.0760385 - 47.50 2.50 17.50 0.0601603 - 47.50 2.50 22.50 0.0485219 - 47.50 2.50 27.50 0.0624686 - 47.50 2.50 32.50 0.149977 - 47.50 2.50 37.50 0.393273 - 47.50 2.50 42.50 0.773178 - 47.50 2.50 47.50 0.980545 - 47.50 2.50 52.50 0.773178 - 47.50 2.50 57.50 0.393272 - 47.50 2.50 62.50 0.149977 - 47.50 2.50 67.50 0.0624685 - 47.50 2.50 72.50 0.0485219 - 47.50 2.50 77.50 0.0601603 - 47.50 2.50 82.50 0.0760385 - 47.50 2.50 87.50 0.083846 - 47.50 2.50 92.50 0.084539 - 47.50 2.50 97.50 0.083846 - 47.50 2.50 102.50 0.0760385 - 47.50 2.50 107.50 0.0601603 - 47.50 2.50 112.50 0.0485219 - 47.50 2.50 117.50 0.0624686 - 47.50 2.50 122.50 0.149977 - 47.50 2.50 127.50 0.393273 - 47.50 2.50 132.50 0.773179 - 47.50 2.50 137.50 0.980545 - 47.50 2.50 142.50 0.773179 - 47.50 2.50 147.50 0.393272 - 47.50 2.50 152.50 0.149977 - 47.50 2.50 157.50 0.0624686 - 47.50 2.50 162.50 0.0485219 - 47.50 2.50 167.50 0.0601603 - 47.50 2.50 172.50 0.0760385 - 47.50 2.50 177.50 0.083846 - 47.50 2.50 182.50 0.084539 - 47.50 2.50 187.50 0.083846 - 47.50 2.50 192.50 0.0760385 - 47.50 2.50 197.50 0.0601603 - 47.50 2.50 202.50 0.0485219 - 47.50 2.50 207.50 0.0624686 - 47.50 2.50 212.50 0.149977 - 47.50 2.50 217.50 0.393272 - 47.50 2.50 222.50 0.773179 - 47.50 2.50 227.50 0.980506 - 47.50 2.50 232.50 0.773178 - 47.50 2.50 237.50 0.393272 - 47.50 2.50 242.50 0.149977 - 47.50 2.50 247.50 0.0624685 - 47.50 2.50 252.50 0.048522 - 47.50 2.50 257.50 0.0601603 - 47.50 2.50 262.50 0.0760386 - 47.50 2.50 267.50 0.083846 - 47.50 2.50 272.50 0.084539 - 47.50 2.50 277.50 0.083846 - 47.50 2.50 282.50 0.0760385 - 47.50 2.50 287.50 0.0601603 - 47.50 2.50 292.50 0.0485219 - 47.50 2.50 297.50 0.0624686 - 47.50 2.50 302.50 0.149977 - 47.50 2.50 307.50 0.393272 - 47.50 2.50 312.50 0.773178 - 47.50 2.50 317.50 0.980476 - 47.50 2.50 322.50 0.773179 - 47.50 2.50 327.50 0.393273 - 47.50 2.50 332.50 0.149977 - 47.50 2.50 337.50 0.0624686 - 47.50 2.50 342.50 0.0485219 - 47.50 2.50 347.50 0.0601603 - 47.50 2.50 352.50 0.0760385 - 47.50 2.50 357.50 0.083846 - 47.50 7.50 2.50 0.130387 - 47.50 7.50 7.50 0.120837 - 47.50 7.50 12.50 0.0985686 - 47.50 7.50 17.50 0.0706778 - 47.50 7.50 22.50 0.0586777 - 47.50 7.50 27.50 0.0818356 - 47.50 7.50 32.50 0.171415 - 47.50 7.50 37.50 0.401305 - 47.50 7.50 42.50 0.751726 - 47.50 7.50 47.50 0.957657 - 47.50 7.50 52.50 0.799662 - 47.50 7.50 57.50 0.456806 - 47.50 7.50 62.50 0.214871 - 47.50 7.50 67.50 0.132723 - 47.50 7.50 72.50 0.125308 - 47.50 7.50 77.50 0.133174 - 47.50 7.50 82.50 0.138325 - 47.50 7.50 87.50 0.13629 - 47.50 7.50 92.50 0.130387 - 47.50 7.50 97.50 0.120837 - 47.50 7.50 102.50 0.0985686 - 47.50 7.50 107.50 0.0706778 - 47.50 7.50 112.50 0.0586777 - 47.50 7.50 117.50 0.0818356 - 47.50 7.50 122.50 0.171415 - 47.50 7.50 127.50 0.401305 - 47.50 7.50 132.50 0.751726 - 47.50 7.50 137.50 0.957656 - 47.50 7.50 142.50 0.799662 - 47.50 7.50 147.50 0.456806 - 47.50 7.50 152.50 0.214871 - 47.50 7.50 157.50 0.132723 - 47.50 7.50 162.50 0.125308 - 47.50 7.50 167.50 0.133174 - 47.50 7.50 172.50 0.138325 - 47.50 7.50 177.50 0.13629 - 47.50 7.50 182.50 0.130387 - 47.50 7.50 187.50 0.120837 - 47.50 7.50 192.50 0.0985686 - 47.50 7.50 197.50 0.0706778 - 47.50 7.50 202.50 0.0586776 - 47.50 7.50 207.50 0.0818354 - 47.50 7.50 212.50 0.171415 - 47.50 7.50 217.50 0.401305 - 47.50 7.50 222.50 0.751726 - 47.50 7.50 227.50 0.957656 - 47.50 7.50 232.50 0.799662 - 47.50 7.50 237.50 0.456805 - 47.50 7.50 242.50 0.214871 - 47.50 7.50 247.50 0.132724 - 47.50 7.50 252.50 0.125308 - 47.50 7.50 257.50 0.133174 - 47.50 7.50 262.50 0.138325 - 47.50 7.50 267.50 0.13629 - 47.50 7.50 272.50 0.130387 - 47.50 7.50 277.50 0.120837 - 47.50 7.50 282.50 0.0985686 - 47.50 7.50 287.50 0.0706778 - 47.50 7.50 292.50 0.0586776 - 47.50 7.50 297.50 0.0818353 - 47.50 7.50 302.50 0.171415 - 47.50 7.50 307.50 0.401305 - 47.50 7.50 312.50 0.751726 - 47.50 7.50 317.50 0.957657 - 47.50 7.50 322.50 0.799663 - 47.50 7.50 327.50 0.456806 - 47.50 7.50 332.50 0.214872 - 47.50 7.50 337.50 0.132724 - 47.50 7.50 342.50 0.125308 - 47.50 7.50 347.50 0.133174 - 47.50 7.50 352.50 0.138325 - 47.50 7.50 357.50 0.13629 - 47.50 12.50 2.50 0.246672 - 47.50 12.50 7.50 0.200771 - 47.50 12.50 12.50 0.135628 - 47.50 12.50 17.50 0.0755782 - 47.50 12.50 22.50 0.0702204 - 47.50 12.50 27.50 0.118447 - 47.50 12.50 32.50 0.244565 - 47.50 12.50 37.50 0.511232 - 47.50 12.50 42.50 0.910762 - 47.50 12.50 47.50 1.19054 - 47.50 12.50 52.50 1.09405 - 47.50 12.50 57.50 0.755848 - 47.50 12.50 62.50 0.500226 - 47.50 12.50 67.50 0.426448 - 47.50 12.50 72.50 0.422121 - 47.50 12.50 77.50 0.38959 - 47.50 12.50 82.50 0.346466 - 47.50 12.50 87.50 0.292922 - 47.50 12.50 92.50 0.246673 - 47.50 12.50 97.50 0.200771 - 47.50 12.50 102.50 0.135628 - 47.50 12.50 107.50 0.0755782 - 47.50 12.50 112.50 0.0702204 - 47.50 12.50 117.50 0.118447 - 47.50 12.50 122.50 0.244565 - 47.50 12.50 127.50 0.511232 - 47.50 12.50 132.50 0.910762 - 47.50 12.50 137.50 1.19054 - 47.50 12.50 142.50 1.09405 - 47.50 12.50 147.50 0.755848 - 47.50 12.50 152.50 0.500226 - 47.50 12.50 157.50 0.426447 - 47.50 12.50 162.50 0.422121 - 47.50 12.50 167.50 0.38959 - 47.50 12.50 172.50 0.346466 - 47.50 12.50 177.50 0.292922 - 47.50 12.50 182.50 0.246673 - 47.50 12.50 187.50 0.200771 - 47.50 12.50 192.50 0.135628 - 47.50 12.50 197.50 0.0755782 - 47.50 12.50 202.50 0.0702204 - 47.50 12.50 207.50 0.118447 - 47.50 12.50 212.50 0.244565 - 47.50 12.50 217.50 0.511232 - 47.50 12.50 222.50 0.910762 - 47.50 12.50 227.50 1.19054 - 47.50 12.50 232.50 1.09405 - 47.50 12.50 237.50 0.755847 - 47.50 12.50 242.50 0.500226 - 47.50 12.50 247.50 0.426447 - 47.50 12.50 252.50 0.422121 - 47.50 12.50 257.50 0.389589 - 47.50 12.50 262.50 0.346466 - 47.50 12.50 267.50 0.292922 - 47.50 12.50 272.50 0.246673 - 47.50 12.50 277.50 0.200771 - 47.50 12.50 282.50 0.135628 - 47.50 12.50 287.50 0.0755783 - 47.50 12.50 292.50 0.0702203 - 47.50 12.50 297.50 0.118447 - 47.50 12.50 302.50 0.244565 - 47.50 12.50 307.50 0.511231 - 47.50 12.50 312.50 0.910762 - 47.50 12.50 317.50 1.19054 - 47.50 12.50 322.50 1.09405 - 47.50 12.50 327.50 0.755849 - 47.50 12.50 332.50 0.500227 - 47.50 12.50 337.50 0.426448 - 47.50 12.50 342.50 0.422121 - 47.50 12.50 347.50 0.389589 - 47.50 12.50 352.50 0.346466 - 47.50 12.50 357.50 0.292922 - 47.50 17.50 2.50 0.403177 - 47.50 17.50 7.50 0.258234 - 47.50 17.50 12.50 0.138051 - 47.50 17.50 17.50 0.0753127 - 47.50 17.50 22.50 0.0671229 - 47.50 17.50 27.50 0.125026 - 47.50 17.50 32.50 0.270598 - 47.50 17.50 37.50 0.534562 - 47.50 17.50 42.50 0.917767 - 47.50 17.50 47.50 1.28158 - 47.50 17.50 52.50 1.37784 - 47.50 17.50 57.50 1.21406 - 47.50 17.50 62.50 1.0785 - 47.50 17.50 67.50 1.09896 - 47.50 17.50 72.50 1.12898 - 47.50 17.50 77.50 1.03822 - 47.50 17.50 82.50 0.819827 - 47.50 17.50 87.50 0.597879 - 47.50 17.50 92.50 0.403176 - 47.50 17.50 97.50 0.258234 - 47.50 17.50 102.50 0.138051 - 47.50 17.50 107.50 0.0753127 - 47.50 17.50 112.50 0.0671229 - 47.50 17.50 117.50 0.125027 - 47.50 17.50 122.50 0.270598 - 47.50 17.50 127.50 0.534562 - 47.50 17.50 132.50 0.917767 - 47.50 17.50 137.50 1.28158 - 47.50 17.50 142.50 1.37784 - 47.50 17.50 147.50 1.21406 - 47.50 17.50 152.50 1.0785 - 47.50 17.50 157.50 1.09896 - 47.50 17.50 162.50 1.12898 - 47.50 17.50 167.50 1.03822 - 47.50 17.50 172.50 0.819827 - 47.50 17.50 177.50 0.597879 - 47.50 17.50 182.50 0.403176 - 47.50 17.50 187.50 0.258234 - 47.50 17.50 192.50 0.138051 - 47.50 17.50 197.50 0.0753127 - 47.50 17.50 202.50 0.0671228 - 47.50 17.50 207.50 0.125026 - 47.50 17.50 212.50 0.270598 - 47.50 17.50 217.50 0.534562 - 47.50 17.50 222.50 0.917766 - 47.50 17.50 227.50 1.28158 - 47.50 17.50 232.50 1.37784 - 47.50 17.50 237.50 1.21406 - 47.50 17.50 242.50 1.0785 - 47.50 17.50 247.50 1.09896 - 47.50 17.50 252.50 1.12898 - 47.50 17.50 257.50 1.03822 - 47.50 17.50 262.50 0.819827 - 47.50 17.50 267.50 0.597879 - 47.50 17.50 272.50 0.403176 - 47.50 17.50 277.50 0.258234 - 47.50 17.50 282.50 0.138051 - 47.50 17.50 287.50 0.0753126 - 47.50 17.50 292.50 0.0671228 - 47.50 17.50 297.50 0.125026 - 47.50 17.50 302.50 0.270597 - 47.50 17.50 307.50 0.534562 - 47.50 17.50 312.50 0.917766 - 47.50 17.50 317.50 1.28158 - 47.50 17.50 322.50 1.37784 - 47.50 17.50 327.50 1.21406 - 47.50 17.50 332.50 1.0785 - 47.50 17.50 337.50 1.09896 - 47.50 17.50 342.50 1.12898 - 47.50 17.50 347.50 1.03822 - 47.50 17.50 352.50 0.819828 - 47.50 17.50 357.50 0.59788 - 47.50 22.50 2.50 0.637512 - 47.50 22.50 7.50 0.285721 - 47.50 22.50 12.50 0.119253 - 47.50 22.50 17.50 0.0519655 - 47.50 22.50 22.50 0.0393928 - 47.50 22.50 27.50 0.0852978 - 47.50 22.50 32.50 0.205078 - 47.50 22.50 37.50 0.427802 - 47.50 22.50 42.50 0.795805 - 47.50 22.50 47.50 1.23339 - 47.50 22.50 52.50 1.57234 - 47.50 22.50 57.50 1.72953 - 47.50 22.50 62.50 1.8782 - 47.50 22.50 67.50 2.14287 - 47.50 22.50 72.50 2.34706 - 47.50 22.50 77.50 2.24805 - 47.50 22.50 82.50 1.81288 - 47.50 22.50 87.50 1.18271 - 47.50 22.50 92.50 0.637513 - 47.50 22.50 97.50 0.285721 - 47.50 22.50 102.50 0.119253 - 47.50 22.50 107.50 0.0519655 - 47.50 22.50 112.50 0.0393928 - 47.50 22.50 117.50 0.0852978 - 47.50 22.50 122.50 0.205078 - 47.50 22.50 127.50 0.427802 - 47.50 22.50 132.50 0.795806 - 47.50 22.50 137.50 1.23339 - 47.50 22.50 142.50 1.57233 - 47.50 22.50 147.50 1.72953 - 47.50 22.50 152.50 1.8782 - 47.50 22.50 157.50 2.14287 - 47.50 22.50 162.50 2.34706 - 47.50 22.50 167.50 2.24805 - 47.50 22.50 172.50 1.81288 - 47.50 22.50 177.50 1.18271 - 47.50 22.50 182.50 0.637513 - 47.50 22.50 187.50 0.285721 - 47.50 22.50 192.50 0.119253 - 47.50 22.50 197.50 0.0519655 - 47.50 22.50 202.50 0.0393928 - 47.50 22.50 207.50 0.0852977 - 47.50 22.50 212.50 0.205078 - 47.50 22.50 217.50 0.427802 - 47.50 22.50 222.50 0.795805 - 47.50 22.50 227.50 1.23339 - 47.50 22.50 232.50 1.57234 - 47.50 22.50 237.50 1.72953 - 47.50 22.50 242.50 1.8782 - 47.50 22.50 247.50 2.14287 - 47.50 22.50 252.50 2.34706 - 47.50 22.50 257.50 2.24805 - 47.50 22.50 262.50 1.81288 - 47.50 22.50 267.50 1.18271 - 47.50 22.50 272.50 0.637512 - 47.50 22.50 277.50 0.285721 - 47.50 22.50 282.50 0.119253 - 47.50 22.50 287.50 0.0519655 - 47.50 22.50 292.50 0.0393927 - 47.50 22.50 297.50 0.0852976 - 47.50 22.50 302.50 0.205078 - 47.50 22.50 307.50 0.427801 - 47.50 22.50 312.50 0.795805 - 47.50 22.50 317.50 1.23339 - 47.50 22.50 322.50 1.57233 - 47.50 22.50 327.50 1.72953 - 47.50 22.50 332.50 1.8782 - 47.50 22.50 337.50 2.14287 - 47.50 22.50 342.50 2.34706 - 47.50 22.50 347.50 2.24805 - 47.50 22.50 352.50 1.81288 - 47.50 22.50 357.50 1.18272 - 47.50 27.50 2.50 0.968134 - 47.50 27.50 7.50 0.329817 - 47.50 27.50 12.50 0.104603 - 47.50 27.50 17.50 0.030666 - 47.50 27.50 22.50 0.0163487 - 47.50 27.50 27.50 0.0368872 - 47.50 27.50 32.50 0.109068 - 47.50 27.50 37.50 0.270308 - 47.50 27.50 42.50 0.56668 - 47.50 27.50 47.50 1.01745 - 47.50 27.50 52.50 1.50218 - 47.50 27.50 57.50 1.9563 - 47.50 27.50 62.50 2.54336 - 47.50 27.50 67.50 3.22444 - 47.50 27.50 72.50 3.8301 - 47.50 27.50 77.50 3.92172 - 47.50 27.50 82.50 3.2313 - 47.50 27.50 87.50 2.03748 - 47.50 27.50 92.50 0.968134 - 47.50 27.50 97.50 0.329817 - 47.50 27.50 102.50 0.104603 - 47.50 27.50 107.50 0.030666 - 47.50 27.50 112.50 0.0163487 - 47.50 27.50 117.50 0.0368872 - 47.50 27.50 122.50 0.109068 - 47.50 27.50 127.50 0.270308 - 47.50 27.50 132.50 0.56668 - 47.50 27.50 137.50 1.01745 - 47.50 27.50 142.50 1.50218 - 47.50 27.50 147.50 1.9563 - 47.50 27.50 152.50 2.54336 - 47.50 27.50 157.50 3.22444 - 47.50 27.50 162.50 3.8301 - 47.50 27.50 167.50 3.92172 - 47.50 27.50 172.50 3.2313 - 47.50 27.50 177.50 2.03748 - 47.50 27.50 182.50 0.968133 - 47.50 27.50 187.50 0.329817 - 47.50 27.50 192.50 0.104603 - 47.50 27.50 197.50 0.030666 - 47.50 27.50 202.50 0.0163487 - 47.50 27.50 207.50 0.0368871 - 47.50 27.50 212.50 0.109068 - 47.50 27.50 217.50 0.270308 - 47.50 27.50 222.50 0.56668 - 47.50 27.50 227.50 1.01745 - 47.50 27.50 232.50 1.50218 - 47.50 27.50 237.50 1.9563 - 47.50 27.50 242.50 2.54337 - 47.50 27.50 247.50 3.22444 - 47.50 27.50 252.50 3.8301 - 47.50 27.50 257.50 3.92172 - 47.50 27.50 262.50 3.2313 - 47.50 27.50 267.50 2.03748 - 47.50 27.50 272.50 0.968134 - 47.50 27.50 277.50 0.329817 - 47.50 27.50 282.50 0.104603 - 47.50 27.50 287.50 0.030666 - 47.50 27.50 292.50 0.0163487 - 47.50 27.50 297.50 0.0368871 - 47.50 27.50 302.50 0.109068 - 47.50 27.50 307.50 0.270308 - 47.50 27.50 312.50 0.566679 - 47.50 27.50 317.50 1.01745 - 47.50 27.50 322.50 1.50218 - 47.50 27.50 327.50 1.9563 - 47.50 27.50 332.50 2.54336 - 47.50 27.50 337.50 3.22443 - 47.50 27.50 342.50 3.8301 - 47.50 27.50 347.50 3.92172 - 47.50 27.50 352.50 3.2313 - 47.50 27.50 357.50 2.03748 - 47.50 32.50 2.50 1.29235 - 47.50 32.50 7.50 0.414931 - 47.50 32.50 12.50 0.116364 - 47.50 32.50 17.50 0.0247872 - 47.50 32.50 22.50 0.00965575 - 47.50 32.50 27.50 0.0134999 - 47.50 32.50 32.50 0.048695 - 47.50 32.50 37.50 0.141275 - 47.50 32.50 42.50 0.340806 - 47.50 32.50 47.50 0.695907 - 47.50 32.50 52.50 1.17106 - 47.50 32.50 57.50 1.79561 - 47.50 32.50 62.50 2.6901 - 47.50 32.50 67.50 3.92211 - 47.50 32.50 72.50 4.99206 - 47.50 32.50 77.50 5.3989 - 47.50 32.50 82.50 4.50354 - 47.50 32.50 87.50 2.82189 - 47.50 32.50 92.50 1.29235 - 47.50 32.50 97.50 0.414931 - 47.50 32.50 102.50 0.116364 - 47.50 32.50 107.50 0.0247871 - 47.50 32.50 112.50 0.00965575 - 47.50 32.50 117.50 0.0135 - 47.50 32.50 122.50 0.048695 - 47.50 32.50 127.50 0.141275 - 47.50 32.50 132.50 0.340806 - 47.50 32.50 137.50 0.695907 - 47.50 32.50 142.50 1.17106 - 47.50 32.50 147.50 1.79561 - 47.50 32.50 152.50 2.6901 - 47.50 32.50 157.50 3.92211 - 47.50 32.50 162.50 4.99206 - 47.50 32.50 167.50 5.39891 - 47.50 32.50 172.50 4.50354 - 47.50 32.50 177.50 2.82189 - 47.50 32.50 182.50 1.29235 - 47.50 32.50 187.50 0.414931 - 47.50 32.50 192.50 0.116364 - 47.50 32.50 197.50 0.0247871 - 47.50 32.50 202.50 0.00965575 - 47.50 32.50 207.50 0.0134999 - 47.50 32.50 212.50 0.0486949 - 47.50 32.50 217.50 0.141274 - 47.50 32.50 222.50 0.340805 - 47.50 32.50 227.50 0.695906 - 47.50 32.50 232.50 1.17106 - 47.50 32.50 237.50 1.79561 - 47.50 32.50 242.50 2.6901 - 47.50 32.50 247.50 3.92211 - 47.50 32.50 252.50 4.99206 - 47.50 32.50 257.50 5.39891 - 47.50 32.50 262.50 4.50354 - 47.50 32.50 267.50 2.82189 - 47.50 32.50 272.50 1.29235 - 47.50 32.50 277.50 0.414931 - 47.50 32.50 282.50 0.116364 - 47.50 32.50 287.50 0.0247872 - 47.50 32.50 292.50 0.00965575 - 47.50 32.50 297.50 0.0134999 - 47.50 32.50 302.50 0.0486948 - 47.50 32.50 307.50 0.141274 - 47.50 32.50 312.50 0.340805 - 47.50 32.50 317.50 0.695906 - 47.50 32.50 322.50 1.17106 - 47.50 32.50 327.50 1.79561 - 47.50 32.50 332.50 2.6901 - 47.50 32.50 337.50 3.9221 - 47.50 32.50 342.50 4.99205 - 47.50 32.50 347.50 5.39891 - 47.50 32.50 352.50 4.50354 - 47.50 32.50 357.50 2.82189 - 47.50 37.50 2.50 1.51272 - 47.50 37.50 7.50 0.540504 - 47.50 37.50 12.50 0.15482 - 47.50 37.50 17.50 0.0425808 - 47.50 37.50 22.50 0.0142555 - 47.50 37.50 27.50 0.00766383 - 47.50 37.50 32.50 0.017002 - 47.50 37.50 37.50 0.0542927 - 47.50 37.50 42.50 0.161909 - 47.50 37.50 47.50 0.371522 - 47.50 37.50 52.50 0.73429 - 47.50 37.50 57.50 1.38818 - 47.50 37.50 62.50 2.44984 - 47.50 37.50 67.50 3.88117 - 47.50 37.50 72.50 5.23187 - 47.50 37.50 77.50 5.77028 - 47.50 37.50 82.50 4.96675 - 47.50 37.50 87.50 3.14259 - 47.50 37.50 92.50 1.51272 - 47.50 37.50 97.50 0.540504 - 47.50 37.50 102.50 0.15482 - 47.50 37.50 107.50 0.0425807 - 47.50 37.50 112.50 0.0142555 - 47.50 37.50 117.50 0.00766383 - 47.50 37.50 122.50 0.017002 - 47.50 37.50 127.50 0.0542928 - 47.50 37.50 132.50 0.16191 - 47.50 37.50 137.50 0.371522 - 47.50 37.50 142.50 0.734289 - 47.50 37.50 147.50 1.38818 - 47.50 37.50 152.50 2.44984 - 47.50 37.50 157.50 3.88117 - 47.50 37.50 162.50 5.23187 - 47.50 37.50 167.50 5.77028 - 47.50 37.50 172.50 4.96675 - 47.50 37.50 177.50 3.14259 - 47.50 37.50 182.50 1.51272 - 47.50 37.50 187.50 0.540503 - 47.50 37.50 192.50 0.15482 - 47.50 37.50 197.50 0.0425807 - 47.50 37.50 202.50 0.0142554 - 47.50 37.50 207.50 0.00766383 - 47.50 37.50 212.50 0.017002 - 47.50 37.50 217.50 0.0542927 - 47.50 37.50 222.50 0.161909 - 47.50 37.50 227.50 0.371522 - 47.50 37.50 232.50 0.73429 - 47.50 37.50 237.50 1.38818 - 47.50 37.50 242.50 2.44984 - 47.50 37.50 247.50 3.88117 - 47.50 37.50 252.50 5.23187 - 47.50 37.50 257.50 5.77028 - 47.50 37.50 262.50 4.96675 - 47.50 37.50 267.50 3.14259 - 47.50 37.50 272.50 1.51272 - 47.50 37.50 277.50 0.540504 - 47.50 37.50 282.50 0.15482 - 47.50 37.50 287.50 0.0425807 - 47.50 37.50 292.50 0.0142555 - 47.50 37.50 297.50 0.00766384 - 47.50 37.50 302.50 0.017002 - 47.50 37.50 307.50 0.0542926 - 47.50 37.50 312.50 0.161909 - 47.50 37.50 317.50 0.371522 - 47.50 37.50 322.50 0.734289 - 47.50 37.50 327.50 1.38818 - 47.50 37.50 332.50 2.44983 - 47.50 37.50 337.50 3.88117 - 47.50 37.50 342.50 5.23187 - 47.50 37.50 347.50 5.77028 - 47.50 37.50 352.50 4.96676 - 47.50 37.50 357.50 3.14259 - 47.50 42.50 2.50 1.628 - 47.50 42.50 7.50 0.700267 - 47.50 42.50 12.50 0.246043 - 47.50 42.50 17.50 0.0932885 - 47.50 42.50 22.50 0.0401125 - 47.50 42.50 27.50 0.0193175 - 47.50 42.50 32.50 0.0108623 - 47.50 42.50 37.50 0.0171812 - 47.50 42.50 42.50 0.0520136 - 47.50 42.50 47.50 0.146547 - 47.50 42.50 52.50 0.397991 - 47.50 42.50 57.50 0.947813 - 47.50 42.50 62.50 1.85956 - 47.50 42.50 67.50 3.10897 - 47.50 42.50 72.50 4.45582 - 47.50 42.50 77.50 5.00802 - 47.50 42.50 82.50 4.42938 - 47.50 42.50 87.50 2.95658 - 47.50 42.50 92.50 1.628 - 47.50 42.50 97.50 0.700266 - 47.50 42.50 102.50 0.246042 - 47.50 42.50 107.50 0.0932885 - 47.50 42.50 112.50 0.0401125 - 47.50 42.50 117.50 0.0193176 - 47.50 42.50 122.50 0.0108623 - 47.50 42.50 127.50 0.0171812 - 47.50 42.50 132.50 0.0520136 - 47.50 42.50 137.50 0.146547 - 47.50 42.50 142.50 0.397991 - 47.50 42.50 147.50 0.947813 - 47.50 42.50 152.50 1.85956 - 47.50 42.50 157.50 3.10896 - 47.50 42.50 162.50 4.45582 - 47.50 42.50 167.50 5.00803 - 47.50 42.50 172.50 4.42938 - 47.50 42.50 177.50 2.95658 - 47.50 42.50 182.50 1.628 - 47.50 42.50 187.50 0.700266 - 47.50 42.50 192.50 0.246042 - 47.50 42.50 197.50 0.0932885 - 47.50 42.50 202.50 0.0401124 - 47.50 42.50 207.50 0.0193176 - 47.50 42.50 212.50 0.0108623 - 47.50 42.50 217.50 0.0171812 - 47.50 42.50 222.50 0.0520135 - 47.50 42.50 227.50 0.146546 - 47.50 42.50 232.50 0.397992 - 47.50 42.50 237.50 0.947814 - 47.50 42.50 242.50 1.85956 - 47.50 42.50 247.50 3.10897 - 47.50 42.50 252.50 4.45582 - 47.50 42.50 257.50 5.00803 - 47.50 42.50 262.50 4.42938 - 47.50 42.50 267.50 2.95657 - 47.50 42.50 272.50 1.628 - 47.50 42.50 277.50 0.700267 - 47.50 42.50 282.50 0.246043 - 47.50 42.50 287.50 0.0932886 - 47.50 42.50 292.50 0.0401125 - 47.50 42.50 297.50 0.0193176 - 47.50 42.50 302.50 0.0108623 - 47.50 42.50 307.50 0.0171812 - 47.50 42.50 312.50 0.0520134 - 47.50 42.50 317.50 0.146546 - 47.50 42.50 322.50 0.397991 - 47.50 42.50 327.50 0.947812 - 47.50 42.50 332.50 1.85956 - 47.50 42.50 337.50 3.10896 - 47.50 42.50 342.50 4.45582 - 47.50 42.50 347.50 5.00803 - 47.50 42.50 352.50 4.42938 - 47.50 42.50 357.50 2.95658 - 47.50 47.50 2.50 1.66337 - 47.50 47.50 7.50 0.914599 - 47.50 47.50 12.50 0.452375 - 47.50 47.50 17.50 0.232092 - 47.50 47.50 22.50 0.139303 - 47.50 47.50 27.50 0.0908967 - 47.50 47.50 32.50 0.0400785 - 47.50 47.50 37.50 0.0168596 - 47.50 47.50 42.50 0.0150114 - 47.50 47.50 47.50 0.056841 - 47.50 47.50 52.50 0.18753 - 47.50 47.50 57.50 0.548183 - 47.50 47.50 62.50 1.14238 - 47.50 47.50 67.50 1.94873 - 47.50 47.50 72.50 3.06255 - 47.50 47.50 77.50 3.64918 - 47.50 47.50 82.50 3.36605 - 47.50 47.50 87.50 2.48748 - 47.50 47.50 92.50 1.66337 - 47.50 47.50 97.50 0.914598 - 47.50 47.50 102.50 0.452375 - 47.50 47.50 107.50 0.232092 - 47.50 47.50 112.50 0.139303 - 47.50 47.50 117.50 0.0908967 - 47.50 47.50 122.50 0.0400785 - 47.50 47.50 127.50 0.0168595 - 47.50 47.50 132.50 0.0150114 - 47.50 47.50 137.50 0.0568409 - 47.50 47.50 142.50 0.18753 - 47.50 47.50 147.50 0.548183 - 47.50 47.50 152.50 1.14237 - 47.50 47.50 157.50 1.94873 - 47.50 47.50 162.50 3.06255 - 47.50 47.50 167.50 3.64918 - 47.50 47.50 172.50 3.36605 - 47.50 47.50 177.50 2.48748 - 47.50 47.50 182.50 1.66337 - 47.50 47.50 187.50 0.914598 - 47.50 47.50 192.50 0.452375 - 47.50 47.50 197.50 0.232091 - 47.50 47.50 202.50 0.139303 - 47.50 47.50 207.50 0.0908968 - 47.50 47.50 212.50 0.0400785 - 47.50 47.50 217.50 0.0168596 - 47.50 47.50 222.50 0.0150114 - 47.50 47.50 227.50 0.0568409 - 47.50 47.50 232.50 0.187531 - 47.50 47.50 237.50 0.548183 - 47.50 47.50 242.50 1.14238 - 47.50 47.50 247.50 1.94873 - 47.50 47.50 252.50 3.06255 - 47.50 47.50 257.50 3.64917 - 47.50 47.50 262.50 3.36605 - 47.50 47.50 267.50 2.48748 - 47.50 47.50 272.50 1.66337 - 47.50 47.50 277.50 0.914599 - 47.50 47.50 282.50 0.452375 - 47.50 47.50 287.50 0.232092 - 47.50 47.50 292.50 0.139303 - 47.50 47.50 297.50 0.0908968 - 47.50 47.50 302.50 0.0400785 - 47.50 47.50 307.50 0.0168596 - 47.50 47.50 312.50 0.0150114 - 47.50 47.50 317.50 0.0568408 - 47.50 47.50 322.50 0.18753 - 47.50 47.50 327.50 0.548182 - 47.50 47.50 332.50 1.14237 - 47.50 47.50 337.50 1.94873 - 47.50 47.50 342.50 3.06254 - 47.50 47.50 347.50 3.64918 - 47.50 47.50 352.50 3.36605 - 47.50 47.50 357.50 2.48748 - 47.50 52.50 2.50 1.628 - 47.50 52.50 7.50 1.21014 - 47.50 52.50 12.50 0.840814 - 47.50 52.50 17.50 0.56958 - 47.50 52.50 22.50 0.454395 - 47.50 52.50 27.50 0.317223 - 47.50 52.50 32.50 0.164442 - 47.50 52.50 37.50 0.0676412 - 47.50 52.50 42.50 0.0215621 - 47.50 52.50 47.50 0.0214595 - 47.50 52.50 52.50 0.0771344 - 47.50 52.50 57.50 0.232396 - 47.50 52.50 62.50 0.508295 - 47.50 52.50 67.50 0.958793 - 47.50 52.50 72.50 1.62477 - 47.50 52.50 77.50 2.17574 - 47.50 52.50 82.50 2.2079 - 47.50 52.50 87.50 1.92084 - 47.50 52.50 92.50 1.628 - 47.50 52.50 97.50 1.21014 - 47.50 52.50 102.50 0.840814 - 47.50 52.50 107.50 0.569579 - 47.50 52.50 112.50 0.454394 - 47.50 52.50 117.50 0.317223 - 47.50 52.50 122.50 0.164442 - 47.50 52.50 127.50 0.0676413 - 47.50 52.50 132.50 0.0215621 - 47.50 52.50 137.50 0.0214595 - 47.50 52.50 142.50 0.0771345 - 47.50 52.50 147.50 0.232396 - 47.50 52.50 152.50 0.508294 - 47.50 52.50 157.50 0.958793 - 47.50 52.50 162.50 1.62477 - 47.50 52.50 167.50 2.17574 - 47.50 52.50 172.50 2.2079 - 47.50 52.50 177.50 1.92084 - 47.50 52.50 182.50 1.628 - 47.50 52.50 187.50 1.21014 - 47.50 52.50 192.50 0.840814 - 47.50 52.50 197.50 0.569579 - 47.50 52.50 202.50 0.454394 - 47.50 52.50 207.50 0.317223 - 47.50 52.50 212.50 0.164442 - 47.50 52.50 217.50 0.0676413 - 47.50 52.50 222.50 0.0215621 - 47.50 52.50 227.50 0.0214595 - 47.50 52.50 232.50 0.0771347 - 47.50 52.50 237.50 0.232396 - 47.50 52.50 242.50 0.508295 - 47.50 52.50 247.50 0.958794 - 47.50 52.50 252.50 1.62477 - 47.50 52.50 257.50 2.17574 - 47.50 52.50 262.50 2.2079 - 47.50 52.50 267.50 1.92084 - 47.50 52.50 272.50 1.628 - 47.50 52.50 277.50 1.21014 - 47.50 52.50 282.50 0.840814 - 47.50 52.50 287.50 0.569579 - 47.50 52.50 292.50 0.454394 - 47.50 52.50 297.50 0.317223 - 47.50 52.50 302.50 0.164442 - 47.50 52.50 307.50 0.0676414 - 47.50 52.50 312.50 0.0215621 - 47.50 52.50 317.50 0.0214595 - 47.50 52.50 322.50 0.0771342 - 47.50 52.50 327.50 0.232395 - 47.50 52.50 332.50 0.508294 - 47.50 52.50 337.50 0.958791 - 47.50 52.50 342.50 1.62477 - 47.50 52.50 347.50 2.17574 - 47.50 52.50 352.50 2.2079 - 47.50 52.50 357.50 1.92084 - 47.50 57.50 2.50 1.51272 - 47.50 57.50 7.50 1.5716 - 47.50 57.50 12.50 1.44306 - 47.50 57.50 17.50 1.31236 - 47.50 57.50 22.50 1.14043 - 47.50 57.50 27.50 0.826399 - 47.50 57.50 32.50 0.526679 - 47.50 57.50 37.50 0.260173 - 47.50 57.50 42.50 0.100259 - 47.50 57.50 47.50 0.0432226 - 47.50 57.50 52.50 0.0361276 - 47.50 57.50 57.50 0.0780686 - 47.50 57.50 62.50 0.179891 - 47.50 57.50 67.50 0.355358 - 47.50 57.50 72.50 0.633898 - 47.50 57.50 77.50 0.954179 - 47.50 57.50 82.50 1.1942 - 47.50 57.50 87.50 1.33769 - 47.50 57.50 92.50 1.51272 - 47.50 57.50 97.50 1.5716 - 47.50 57.50 102.50 1.44307 - 47.50 57.50 107.50 1.31236 - 47.50 57.50 112.50 1.14043 - 47.50 57.50 117.50 0.826399 - 47.50 57.50 122.50 0.526679 - 47.50 57.50 127.50 0.260173 - 47.50 57.50 132.50 0.100259 - 47.50 57.50 137.50 0.0432226 - 47.50 57.50 142.50 0.0361276 - 47.50 57.50 147.50 0.0780686 - 47.50 57.50 152.50 0.179891 - 47.50 57.50 157.50 0.355358 - 47.50 57.50 162.50 0.633898 - 47.50 57.50 167.50 0.954179 - 47.50 57.50 172.50 1.1942 - 47.50 57.50 177.50 1.33769 - 47.50 57.50 182.50 1.51272 - 47.50 57.50 187.50 1.5716 - 47.50 57.50 192.50 1.44307 - 47.50 57.50 197.50 1.31236 - 47.50 57.50 202.50 1.14042 - 47.50 57.50 207.50 0.826398 - 47.50 57.50 212.50 0.526679 - 47.50 57.50 217.50 0.260173 - 47.50 57.50 222.50 0.10026 - 47.50 57.50 227.50 0.0432226 - 47.50 57.50 232.50 0.0361277 - 47.50 57.50 237.50 0.0780687 - 47.50 57.50 242.50 0.179891 - 47.50 57.50 247.50 0.355358 - 47.50 57.50 252.50 0.633899 - 47.50 57.50 257.50 0.95418 - 47.50 57.50 262.50 1.1942 - 47.50 57.50 267.50 1.33769 - 47.50 57.50 272.50 1.51272 - 47.50 57.50 277.50 1.5716 - 47.50 57.50 282.50 1.44307 - 47.50 57.50 287.50 1.31236 - 47.50 57.50 292.50 1.14043 - 47.50 57.50 297.50 0.826399 - 47.50 57.50 302.50 0.526679 - 47.50 57.50 307.50 0.260173 - 47.50 57.50 312.50 0.10026 - 47.50 57.50 317.50 0.0432226 - 47.50 57.50 322.50 0.0361276 - 47.50 57.50 327.50 0.0780685 - 47.50 57.50 332.50 0.17989 - 47.50 57.50 337.50 0.355357 - 47.50 57.50 342.50 0.633897 - 47.50 57.50 347.50 0.954178 - 47.50 57.50 352.50 1.1942 - 47.50 57.50 357.50 1.33769 - 47.50 62.50 2.50 1.29235 - 47.50 62.50 7.50 1.82071 - 47.50 62.50 12.50 2.09115 - 47.50 62.50 17.50 2.24112 - 47.50 62.50 22.50 2.21996 - 47.50 62.50 27.50 1.84685 - 47.50 62.50 32.50 1.34706 - 47.50 62.50 37.50 0.814817 - 47.50 62.50 42.50 0.370964 - 47.50 62.50 47.50 0.142105 - 47.50 62.50 52.50 0.0670157 - 47.50 62.50 57.50 0.0469779 - 47.50 62.50 62.50 0.0532586 - 47.50 62.50 67.50 0.090858 - 47.50 62.50 72.50 0.167665 - 47.50 62.50 77.50 0.319137 - 47.50 62.50 82.50 0.524054 - 47.50 62.50 87.50 0.844559 - 47.50 62.50 92.50 1.29235 - 47.50 62.50 97.50 1.82071 - 47.50 62.50 102.50 2.09115 - 47.50 62.50 107.50 2.24111 - 47.50 62.50 112.50 2.21996 - 47.50 62.50 117.50 1.84685 - 47.50 62.50 122.50 1.34706 - 47.50 62.50 127.50 0.814817 - 47.50 62.50 132.50 0.370964 - 47.50 62.50 137.50 0.142105 - 47.50 62.50 142.50 0.0670157 - 47.50 62.50 147.50 0.0469779 - 47.50 62.50 152.50 0.0532586 - 47.50 62.50 157.50 0.090858 - 47.50 62.50 162.50 0.167665 - 47.50 62.50 167.50 0.319137 - 47.50 62.50 172.50 0.524054 - 47.50 62.50 177.50 0.844559 - 47.50 62.50 182.50 1.29235 - 47.50 62.50 187.50 1.82071 - 47.50 62.50 192.50 2.09115 - 47.50 62.50 197.50 2.24112 - 47.50 62.50 202.50 2.21996 - 47.50 62.50 207.50 1.84685 - 47.50 62.50 212.50 1.34706 - 47.50 62.50 217.50 0.814817 - 47.50 62.50 222.50 0.370964 - 47.50 62.50 227.50 0.142105 - 47.50 62.50 232.50 0.0670156 - 47.50 62.50 237.50 0.0469779 - 47.50 62.50 242.50 0.0532587 - 47.50 62.50 247.50 0.0908582 - 47.50 62.50 252.50 0.167665 - 47.50 62.50 257.50 0.319137 - 47.50 62.50 262.50 0.524055 - 47.50 62.50 267.50 0.84456 - 47.50 62.50 272.50 1.29235 - 47.50 62.50 277.50 1.82071 - 47.50 62.50 282.50 2.09115 - 47.50 62.50 287.50 2.24111 - 47.50 62.50 292.50 2.21996 - 47.50 62.50 297.50 1.84685 - 47.50 62.50 302.50 1.34706 - 47.50 62.50 307.50 0.814817 - 47.50 62.50 312.50 0.370964 - 47.50 62.50 317.50 0.142106 - 47.50 62.50 322.50 0.0670158 - 47.50 62.50 327.50 0.0469779 - 47.50 62.50 332.50 0.0532585 - 47.50 62.50 337.50 0.0908578 - 47.50 62.50 342.50 0.167665 - 47.50 62.50 347.50 0.319136 - 47.50 62.50 352.50 0.524053 - 47.50 62.50 357.50 0.844558 - 47.50 67.50 2.50 0.968134 - 47.50 67.50 7.50 1.72646 - 47.50 67.50 12.50 2.37158 - 47.50 67.50 17.50 2.98251 - 47.50 67.50 22.50 3.43385 - 47.50 67.50 27.50 3.3441 - 47.50 67.50 32.50 2.66677 - 47.50 67.50 37.50 1.78521 - 47.50 67.50 42.50 0.992787 - 47.50 67.50 47.50 0.434806 - 47.50 67.50 52.50 0.164126 - 47.50 67.50 57.50 0.0670633 - 47.50 67.50 62.50 0.027025 - 47.50 67.50 67.50 0.0159585 - 47.50 67.50 72.50 0.0336967 - 47.50 67.50 77.50 0.0904076 - 47.50 67.50 82.50 0.214557 - 47.50 67.50 87.50 0.487741 - 47.50 67.50 92.50 0.968134 - 47.50 67.50 97.50 1.72646 - 47.50 67.50 102.50 2.37158 - 47.50 67.50 107.50 2.98251 - 47.50 67.50 112.50 3.43385 - 47.50 67.50 117.50 3.3441 - 47.50 67.50 122.50 2.66677 - 47.50 67.50 127.50 1.78521 - 47.50 67.50 132.50 0.992786 - 47.50 67.50 137.50 0.434806 - 47.50 67.50 142.50 0.164126 - 47.50 67.50 147.50 0.0670634 - 47.50 67.50 152.50 0.0270251 - 47.50 67.50 157.50 0.0159585 - 47.50 67.50 162.50 0.0336967 - 47.50 67.50 167.50 0.0904076 - 47.50 67.50 172.50 0.214557 - 47.50 67.50 177.50 0.487741 - 47.50 67.50 182.50 0.968135 - 47.50 67.50 187.50 1.72646 - 47.50 67.50 192.50 2.37158 - 47.50 67.50 197.50 2.98251 - 47.50 67.50 202.50 3.43385 - 47.50 67.50 207.50 3.3441 - 47.50 67.50 212.50 2.66677 - 47.50 67.50 217.50 1.78521 - 47.50 67.50 222.50 0.992787 - 47.50 67.50 227.50 0.434806 - 47.50 67.50 232.50 0.164125 - 47.50 67.50 237.50 0.0670632 - 47.50 67.50 242.50 0.027025 - 47.50 67.50 247.50 0.0159585 - 47.50 67.50 252.50 0.0336967 - 47.50 67.50 257.50 0.0904078 - 47.50 67.50 262.50 0.214558 - 47.50 67.50 267.50 0.487742 - 47.50 67.50 272.50 0.968135 - 47.50 67.50 277.50 1.72646 - 47.50 67.50 282.50 2.37158 - 47.50 67.50 287.50 2.98251 - 47.50 67.50 292.50 3.43385 - 47.50 67.50 297.50 3.3441 - 47.50 67.50 302.50 2.66677 - 47.50 67.50 307.50 1.78521 - 47.50 67.50 312.50 0.992786 - 47.50 67.50 317.50 0.434806 - 47.50 67.50 322.50 0.164126 - 47.50 67.50 327.50 0.0670634 - 47.50 67.50 332.50 0.027025 - 47.50 67.50 337.50 0.0159585 - 47.50 67.50 342.50 0.0336966 - 47.50 67.50 347.50 0.0904075 - 47.50 67.50 352.50 0.214557 - 47.50 67.50 357.50 0.48774 - 47.50 72.50 2.50 0.637513 - 47.50 72.50 7.50 1.31626 - 47.50 72.50 12.50 2.14117 - 47.50 72.50 17.50 3.16757 - 47.50 72.50 22.50 4.11187 - 47.50 72.50 27.50 4.42017 - 47.50 72.50 32.50 3.86187 - 47.50 72.50 37.50 2.911 - 47.50 72.50 42.50 1.80095 - 47.50 72.50 47.50 0.884599 - 47.50 72.50 52.50 0.346483 - 47.50 72.50 57.50 0.107213 - 47.50 72.50 62.50 0.0338008 - 47.50 72.50 67.50 0.00943461 - 47.50 72.50 72.50 0.0105258 - 47.50 72.50 77.50 0.0338582 - 47.50 72.50 82.50 0.105393 - 47.50 72.50 87.50 0.279602 - 47.50 72.50 92.50 0.637513 - 47.50 72.50 97.50 1.31627 - 47.50 72.50 102.50 2.14117 - 47.50 72.50 107.50 3.16757 - 47.50 72.50 112.50 4.11187 - 47.50 72.50 117.50 4.42017 - 47.50 72.50 122.50 3.86187 - 47.50 72.50 127.50 2.911 - 47.50 72.50 132.50 1.80094 - 47.50 72.50 137.50 0.884599 - 47.50 72.50 142.50 0.346483 - 47.50 72.50 147.50 0.107213 - 47.50 72.50 152.50 0.0338009 - 47.50 72.50 157.50 0.00943463 - 47.50 72.50 162.50 0.0105258 - 47.50 72.50 167.50 0.0338582 - 47.50 72.50 172.50 0.105393 - 47.50 72.50 177.50 0.279602 - 47.50 72.50 182.50 0.637514 - 47.50 72.50 187.50 1.31627 - 47.50 72.50 192.50 2.14117 - 47.50 72.50 197.50 3.16757 - 47.50 72.50 202.50 4.11187 - 47.50 72.50 207.50 4.42017 - 47.50 72.50 212.50 3.86187 - 47.50 72.50 217.50 2.911 - 47.50 72.50 222.50 1.80095 - 47.50 72.50 227.50 0.884599 - 47.50 72.50 232.50 0.346482 - 47.50 72.50 237.50 0.107213 - 47.50 72.50 242.50 0.0338008 - 47.50 72.50 247.50 0.0094346 - 47.50 72.50 252.50 0.0105258 - 47.50 72.50 257.50 0.0338583 - 47.50 72.50 262.50 0.105394 - 47.50 72.50 267.50 0.279602 - 47.50 72.50 272.50 0.637513 - 47.50 72.50 277.50 1.31627 - 47.50 72.50 282.50 2.14117 - 47.50 72.50 287.50 3.16757 - 47.50 72.50 292.50 4.11187 - 47.50 72.50 297.50 4.42017 - 47.50 72.50 302.50 3.86188 - 47.50 72.50 307.50 2.911 - 47.50 72.50 312.50 1.80095 - 47.50 72.50 317.50 0.8846 - 47.50 72.50 322.50 0.346484 - 47.50 72.50 327.50 0.107213 - 47.50 72.50 332.50 0.033801 - 47.50 72.50 337.50 0.00943464 - 47.50 72.50 342.50 0.0105258 - 47.50 72.50 347.50 0.0338581 - 47.50 72.50 352.50 0.105393 - 47.50 72.50 357.50 0.279602 - 47.50 77.50 2.50 0.403177 - 47.50 77.50 7.50 0.899353 - 47.50 77.50 12.50 1.65429 - 47.50 77.50 17.50 2.69657 - 47.50 77.50 22.50 3.78536 - 47.50 77.50 27.50 4.36293 - 47.50 77.50 32.50 4.2188 - 47.50 77.50 37.50 3.31443 - 47.50 77.50 42.50 2.19646 - 47.50 77.50 47.50 1.26182 - 47.50 77.50 52.50 0.604974 - 47.50 77.50 57.50 0.254877 - 47.50 77.50 62.50 0.0867878 - 47.50 77.50 67.50 0.0296135 - 47.50 77.50 72.50 0.022385 - 47.50 77.50 77.50 0.0388681 - 47.50 77.50 82.50 0.0798156 - 47.50 77.50 87.50 0.200893 - 47.50 77.50 92.50 0.403177 - 47.50 77.50 97.50 0.899353 - 47.50 77.50 102.50 1.6543 - 47.50 77.50 107.50 2.69657 - 47.50 77.50 112.50 3.78537 - 47.50 77.50 117.50 4.36293 - 47.50 77.50 122.50 4.2188 - 47.50 77.50 127.50 3.31442 - 47.50 77.50 132.50 2.19646 - 47.50 77.50 137.50 1.26182 - 47.50 77.50 142.50 0.604974 - 47.50 77.50 147.50 0.254877 - 47.50 77.50 152.50 0.0867881 - 47.50 77.50 157.50 0.0296136 - 47.50 77.50 162.50 0.022385 - 47.50 77.50 167.50 0.0388681 - 47.50 77.50 172.50 0.0798155 - 47.50 77.50 177.50 0.200893 - 47.50 77.50 182.50 0.403177 - 47.50 77.50 187.50 0.899353 - 47.50 77.50 192.50 1.6543 - 47.50 77.50 197.50 2.69657 - 47.50 77.50 202.50 3.78537 - 47.50 77.50 207.50 4.36293 - 47.50 77.50 212.50 4.2188 - 47.50 77.50 217.50 3.31443 - 47.50 77.50 222.50 2.19646 - 47.50 77.50 227.50 1.26182 - 47.50 77.50 232.50 0.604973 - 47.50 77.50 237.50 0.254876 - 47.50 77.50 242.50 0.0867878 - 47.50 77.50 247.50 0.0296135 - 47.50 77.50 252.50 0.022385 - 47.50 77.50 257.50 0.0388681 - 47.50 77.50 262.50 0.0798156 - 47.50 77.50 267.50 0.200893 - 47.50 77.50 272.50 0.403177 - 47.50 77.50 277.50 0.899353 - 47.50 77.50 282.50 1.6543 - 47.50 77.50 287.50 2.69657 - 47.50 77.50 292.50 3.78536 - 47.50 77.50 297.50 4.36293 - 47.50 77.50 302.50 4.2188 - 47.50 77.50 307.50 3.31443 - 47.50 77.50 312.50 2.19646 - 47.50 77.50 317.50 1.26182 - 47.50 77.50 322.50 0.604975 - 47.50 77.50 327.50 0.254877 - 47.50 77.50 332.50 0.0867881 - 47.50 77.50 337.50 0.0296136 - 47.50 77.50 342.50 0.022385 - 47.50 77.50 347.50 0.0388681 - 47.50 77.50 352.50 0.0798154 - 47.50 77.50 357.50 0.200893 - 47.50 82.50 2.50 0.246673 - 47.50 82.50 7.50 0.591233 - 47.50 82.50 12.50 1.10617 - 47.50 82.50 17.50 1.83091 - 47.50 82.50 22.50 2.67578 - 47.50 82.50 27.50 3.44886 - 47.50 82.50 32.50 3.61119 - 47.50 82.50 37.50 3.06444 - 47.50 82.50 42.50 2.20354 - 47.50 82.50 47.50 1.46727 - 47.50 82.50 52.50 0.909086 - 47.50 82.50 57.50 0.493044 - 47.50 82.50 62.50 0.232048 - 47.50 82.50 67.50 0.108987 - 47.50 82.50 72.50 0.0785804 - 47.50 82.50 77.50 0.0789512 - 47.50 82.50 82.50 0.0854978 - 47.50 82.50 87.50 0.121126 - 47.50 82.50 92.50 0.246673 - 47.50 82.50 97.50 0.591233 - 47.50 82.50 102.50 1.10617 - 47.50 82.50 107.50 1.83091 - 47.50 82.50 112.50 2.67578 - 47.50 82.50 117.50 3.44886 - 47.50 82.50 122.50 3.61119 - 47.50 82.50 127.50 3.06444 - 47.50 82.50 132.50 2.20354 - 47.50 82.50 137.50 1.46727 - 47.50 82.50 142.50 0.909086 - 47.50 82.50 147.50 0.493044 - 47.50 82.50 152.50 0.232048 - 47.50 82.50 157.50 0.108987 - 47.50 82.50 162.50 0.0785804 - 47.50 82.50 167.50 0.0789511 - 47.50 82.50 172.50 0.0854978 - 47.50 82.50 177.50 0.121126 - 47.50 82.50 182.50 0.246673 - 47.50 82.50 187.50 0.591234 - 47.50 82.50 192.50 1.10617 - 47.50 82.50 197.50 1.83091 - 47.50 82.50 202.50 2.67578 - 47.50 82.50 207.50 3.44886 - 47.50 82.50 212.50 3.61118 - 47.50 82.50 217.50 3.06444 - 47.50 82.50 222.50 2.20354 - 47.50 82.50 227.50 1.46727 - 47.50 82.50 232.50 0.909085 - 47.50 82.50 237.50 0.493044 - 47.50 82.50 242.50 0.232048 - 47.50 82.50 247.50 0.108987 - 47.50 82.50 252.50 0.0785804 - 47.50 82.50 257.50 0.0789512 - 47.50 82.50 262.50 0.0854978 - 47.50 82.50 267.50 0.121126 - 47.50 82.50 272.50 0.246673 - 47.50 82.50 277.50 0.591233 - 47.50 82.50 282.50 1.10617 - 47.50 82.50 287.50 1.83091 - 47.50 82.50 292.50 2.67578 - 47.50 82.50 297.50 3.44886 - 47.50 82.50 302.50 3.61119 - 47.50 82.50 307.50 3.06444 - 47.50 82.50 312.50 2.20354 - 47.50 82.50 317.50 1.46727 - 47.50 82.50 322.50 0.909087 - 47.50 82.50 327.50 0.493045 - 47.50 82.50 332.50 0.232048 - 47.50 82.50 337.50 0.108987 - 47.50 82.50 342.50 0.0785805 - 47.50 82.50 347.50 0.0789511 - 47.50 82.50 352.50 0.0854978 - 47.50 82.50 357.50 0.121126 - 47.50 87.50 2.50 0.130387 - 47.50 87.50 7.50 0.300873 - 47.50 87.50 12.50 0.603579 - 47.50 87.50 17.50 0.974231 - 47.50 87.50 22.50 1.55028 - 47.50 87.50 27.50 2.21578 - 47.50 87.50 32.50 2.57694 - 47.50 87.50 37.50 2.44568 - 47.50 87.50 42.50 2.03771 - 47.50 87.50 47.50 1.58898 - 47.50 87.50 52.50 1.18542 - 47.50 87.50 57.50 0.840192 - 47.50 87.50 62.50 0.553209 - 47.50 87.50 67.50 0.344826 - 47.50 87.50 72.50 0.23631 - 47.50 87.50 77.50 0.19655 - 47.50 87.50 82.50 0.122098 - 47.50 87.50 87.50 0.0855828 - 47.50 87.50 92.50 0.130387 - 47.50 87.50 97.50 0.300874 - 47.50 87.50 102.50 0.603579 - 47.50 87.50 107.50 0.974231 - 47.50 87.50 112.50 1.55028 - 47.50 87.50 117.50 2.21578 - 47.50 87.50 122.50 2.57694 - 47.50 87.50 127.50 2.44568 - 47.50 87.50 132.50 2.03771 - 47.50 87.50 137.50 1.58898 - 47.50 87.50 142.50 1.18542 - 47.50 87.50 147.50 0.840192 - 47.50 87.50 152.50 0.553209 - 47.50 87.50 157.50 0.344826 - 47.50 87.50 162.50 0.23631 - 47.50 87.50 167.50 0.19655 - 47.50 87.50 172.50 0.122098 - 47.50 87.50 177.50 0.0855828 - 47.50 87.50 182.50 0.130387 - 47.50 87.50 187.50 0.300874 - 47.50 87.50 192.50 0.603579 - 47.50 87.50 197.50 0.974231 - 47.50 87.50 202.50 1.55028 - 47.50 87.50 207.50 2.21578 - 47.50 87.50 212.50 2.57694 - 47.50 87.50 217.50 2.44568 - 47.50 87.50 222.50 2.03771 - 47.50 87.50 227.50 1.58898 - 47.50 87.50 232.50 1.18542 - 47.50 87.50 237.50 0.840191 - 47.50 87.50 242.50 0.553208 - 47.50 87.50 247.50 0.344826 - 47.50 87.50 252.50 0.23631 - 47.50 87.50 257.50 0.19655 - 47.50 87.50 262.50 0.122098 - 47.50 87.50 267.50 0.0855827 - 47.50 87.50 272.50 0.130387 - 47.50 87.50 277.50 0.300874 - 47.50 87.50 282.50 0.603579 - 47.50 87.50 287.50 0.97423 - 47.50 87.50 292.50 1.55028 - 47.50 87.50 297.50 2.21578 - 47.50 87.50 302.50 2.57694 - 47.50 87.50 307.50 2.44568 - 47.50 87.50 312.50 2.03771 - 47.50 87.50 317.50 1.58898 - 47.50 87.50 322.50 1.18542 - 47.50 87.50 327.50 0.840192 - 47.50 87.50 332.50 0.553209 - 47.50 87.50 337.50 0.344826 - 47.50 87.50 342.50 0.23631 - 47.50 87.50 347.50 0.19655 - 47.50 87.50 352.50 0.122099 - 47.50 87.50 357.50 0.0855827 - 47.50 92.50 2.50 0.084539 - 47.50 92.50 7.50 0.130387 - 47.50 92.50 12.50 0.246672 - 47.50 92.50 17.50 0.403176 - 47.50 92.50 22.50 0.637513 - 47.50 92.50 27.50 0.968134 - 47.50 92.50 32.50 1.29235 - 47.50 92.50 37.50 1.51272 - 47.50 92.50 42.50 1.628 - 47.50 92.50 47.50 1.66337 - 47.50 92.50 52.50 1.628 - 47.50 92.50 57.50 1.51272 - 47.50 92.50 62.50 1.29235 - 47.50 92.50 67.50 0.968135 - 47.50 92.50 72.50 0.637513 - 47.50 92.50 77.50 0.403177 - 47.50 92.50 82.50 0.246673 - 47.50 92.50 87.50 0.130387 - 47.50 92.50 92.50 0.0845391 - 47.50 92.50 97.50 0.130387 - 47.50 92.50 102.50 0.246673 - 47.50 92.50 107.50 0.403177 - 47.50 92.50 112.50 0.637513 - 47.50 92.50 117.50 0.968135 - 47.50 92.50 122.50 1.29235 - 47.50 92.50 127.50 1.51272 - 47.50 92.50 132.50 1.628 - 47.50 92.50 137.50 1.66337 - 47.50 92.50 142.50 1.628 - 47.50 92.50 147.50 1.51272 - 47.50 92.50 152.50 1.29235 - 47.50 92.50 157.50 0.968135 - 47.50 92.50 162.50 0.637513 - 47.50 92.50 167.50 0.403177 - 47.50 92.50 172.50 0.246673 - 47.50 92.50 177.50 0.130387 - 47.50 92.50 182.50 0.084539 - 47.50 92.50 187.50 0.130387 - 47.50 92.50 192.50 0.246673 - 47.50 92.50 197.50 0.403177 - 47.50 92.50 202.50 0.637513 - 47.50 92.50 207.50 0.968134 - 47.50 92.50 212.50 1.29235 - 47.50 92.50 217.50 1.51272 - 47.50 92.50 222.50 1.628 - 47.50 92.50 227.50 1.66337 - 47.50 92.50 232.50 1.628 - 47.50 92.50 237.50 1.51272 - 47.50 92.50 242.50 1.29235 - 47.50 92.50 247.50 0.968133 - 47.50 92.50 252.50 0.637512 - 47.50 92.50 257.50 0.403177 - 47.50 92.50 262.50 0.246672 - 47.50 92.50 267.50 0.130387 - 47.50 92.50 272.50 0.084539 - 47.50 92.50 277.50 0.130387 - 47.50 92.50 282.50 0.246672 - 47.50 92.50 287.50 0.403176 - 47.50 92.50 292.50 0.637513 - 47.50 92.50 297.50 0.968134 - 47.50 92.50 302.50 1.29235 - 47.50 92.50 307.50 1.51272 - 47.50 92.50 312.50 1.628 - 47.50 92.50 317.50 1.66337 - 47.50 92.50 322.50 1.628 - 47.50 92.50 327.50 1.51272 - 47.50 92.50 332.50 1.29235 - 47.50 92.50 337.50 0.968135 - 47.50 92.50 342.50 0.637514 - 47.50 92.50 347.50 0.403177 - 47.50 92.50 352.50 0.246673 - 47.50 92.50 357.50 0.130387 - 47.50 97.50 2.50 0.130387 - 47.50 97.50 7.50 0.0855827 - 47.50 97.50 12.50 0.122098 - 47.50 97.50 17.50 0.19655 - 47.50 97.50 22.50 0.23631 - 47.50 97.50 27.50 0.344826 - 47.50 97.50 32.50 0.553209 - 47.50 97.50 37.50 0.840192 - 47.50 97.50 42.50 1.18542 - 47.50 97.50 47.50 1.58898 - 47.50 97.50 52.50 2.03771 - 47.50 97.50 57.50 2.44568 - 47.50 97.50 62.50 2.57694 - 47.50 97.50 67.50 2.21578 - 47.50 97.50 72.50 1.55028 - 47.50 97.50 77.50 0.974231 - 47.50 97.50 82.50 0.603579 - 47.50 97.50 87.50 0.300873 - 47.50 97.50 92.50 0.130387 - 47.50 97.50 97.50 0.0855827 - 47.50 97.50 102.50 0.122098 - 47.50 97.50 107.50 0.19655 - 47.50 97.50 112.50 0.23631 - 47.50 97.50 117.50 0.344826 - 47.50 97.50 122.50 0.55321 - 47.50 97.50 127.50 0.840193 - 47.50 97.50 132.50 1.18542 - 47.50 97.50 137.50 1.58898 - 47.50 97.50 142.50 2.03771 - 47.50 97.50 147.50 2.44568 - 47.50 97.50 152.50 2.57694 - 47.50 97.50 157.50 2.21578 - 47.50 97.50 162.50 1.55028 - 47.50 97.50 167.50 0.97423 - 47.50 97.50 172.50 0.603579 - 47.50 97.50 177.50 0.300874 - 47.50 97.50 182.50 0.130387 - 47.50 97.50 187.50 0.0855828 - 47.50 97.50 192.50 0.122098 - 47.50 97.50 197.50 0.19655 - 47.50 97.50 202.50 0.23631 - 47.50 97.50 207.50 0.344826 - 47.50 97.50 212.50 0.553209 - 47.50 97.50 217.50 0.840192 - 47.50 97.50 222.50 1.18542 - 47.50 97.50 227.50 1.58898 - 47.50 97.50 232.50 2.03771 - 47.50 97.50 237.50 2.44568 - 47.50 97.50 242.50 2.57694 - 47.50 97.50 247.50 2.21578 - 47.50 97.50 252.50 1.55028 - 47.50 97.50 257.50 0.974229 - 47.50 97.50 262.50 0.603578 - 47.50 97.50 267.50 0.300873 - 47.50 97.50 272.50 0.130387 - 47.50 97.50 277.50 0.0855827 - 47.50 97.50 282.50 0.122098 - 47.50 97.50 287.50 0.19655 - 47.50 97.50 292.50 0.23631 - 47.50 97.50 297.50 0.344826 - 47.50 97.50 302.50 0.553208 - 47.50 97.50 307.50 0.840191 - 47.50 97.50 312.50 1.18542 - 47.50 97.50 317.50 1.58898 - 47.50 97.50 322.50 2.03771 - 47.50 97.50 327.50 2.44568 - 47.50 97.50 332.50 2.57694 - 47.50 97.50 337.50 2.21578 - 47.50 97.50 342.50 1.55029 - 47.50 97.50 347.50 0.974231 - 47.50 97.50 352.50 0.60358 - 47.50 97.50 357.50 0.300874 - 47.50 102.50 2.50 0.246673 - 47.50 102.50 7.50 0.121126 - 47.50 102.50 12.50 0.0854978 - 47.50 102.50 17.50 0.0789511 - 47.50 102.50 22.50 0.0785804 - 47.50 102.50 27.50 0.108987 - 47.50 102.50 32.50 0.232048 - 47.50 102.50 37.50 0.493045 - 47.50 102.50 42.50 0.909086 - 47.50 102.50 47.50 1.46727 - 47.50 102.50 52.50 2.20354 - 47.50 102.50 57.50 3.06444 - 47.50 102.50 62.50 3.61119 - 47.50 102.50 67.50 3.44886 - 47.50 102.50 72.50 2.67578 - 47.50 102.50 77.50 1.83091 - 47.50 102.50 82.50 1.10616 - 47.50 102.50 87.50 0.591233 - 47.50 102.50 92.50 0.246672 - 47.50 102.50 97.50 0.121126 - 47.50 102.50 102.50 0.0854978 - 47.50 102.50 107.50 0.0789511 - 47.50 102.50 112.50 0.0785805 - 47.50 102.50 117.50 0.108987 - 47.50 102.50 122.50 0.232048 - 47.50 102.50 127.50 0.493045 - 47.50 102.50 132.50 0.909086 - 47.50 102.50 137.50 1.46727 - 47.50 102.50 142.50 2.20354 - 47.50 102.50 147.50 3.06444 - 47.50 102.50 152.50 3.61118 - 47.50 102.50 157.50 3.44886 - 47.50 102.50 162.50 2.67578 - 47.50 102.50 167.50 1.83091 - 47.50 102.50 172.50 1.10617 - 47.50 102.50 177.50 0.591234 - 47.50 102.50 182.50 0.246672 - 47.50 102.50 187.50 0.121126 - 47.50 102.50 192.50 0.0854979 - 47.50 102.50 197.50 0.0789512 - 47.50 102.50 202.50 0.0785806 - 47.50 102.50 207.50 0.108987 - 47.50 102.50 212.50 0.232048 - 47.50 102.50 217.50 0.493044 - 47.50 102.50 222.50 0.909086 - 47.50 102.50 227.50 1.46727 - 47.50 102.50 232.50 2.20354 - 47.50 102.50 237.50 3.06444 - 47.50 102.50 242.50 3.61119 - 47.50 102.50 247.50 3.44886 - 47.50 102.50 252.50 2.67577 - 47.50 102.50 257.50 1.83091 - 47.50 102.50 262.50 1.10616 - 47.50 102.50 267.50 0.591232 - 47.50 102.50 272.50 0.246672 - 47.50 102.50 277.50 0.121126 - 47.50 102.50 282.50 0.0854978 - 47.50 102.50 287.50 0.0789512 - 47.50 102.50 292.50 0.0785804 - 47.50 102.50 297.50 0.108987 - 47.50 102.50 302.50 0.232048 - 47.50 102.50 307.50 0.493044 - 47.50 102.50 312.50 0.909085 - 47.50 102.50 317.50 1.46727 - 47.50 102.50 322.50 2.20354 - 47.50 102.50 327.50 3.06444 - 47.50 102.50 332.50 3.61118 - 47.50 102.50 337.50 3.44886 - 47.50 102.50 342.50 2.67578 - 47.50 102.50 347.50 1.83091 - 47.50 102.50 352.50 1.10617 - 47.50 102.50 357.50 0.591234 - 47.50 107.50 2.50 0.403177 - 47.50 107.50 7.50 0.200893 - 47.50 107.50 12.50 0.0798155 - 47.50 107.50 17.50 0.0388681 - 47.50 107.50 22.50 0.022385 - 47.50 107.50 27.50 0.0296136 - 47.50 107.50 32.50 0.086788 - 47.50 107.50 37.50 0.254877 - 47.50 107.50 42.50 0.604974 - 47.50 107.50 47.50 1.26182 - 47.50 107.50 52.50 2.19646 - 47.50 107.50 57.50 3.31443 - 47.50 107.50 62.50 4.2188 - 47.50 107.50 67.50 4.36293 - 47.50 107.50 72.50 3.78536 - 47.50 107.50 77.50 2.69657 - 47.50 107.50 82.50 1.65429 - 47.50 107.50 87.50 0.899353 - 47.50 107.50 92.50 0.403177 - 47.50 107.50 97.50 0.200893 - 47.50 107.50 102.50 0.0798155 - 47.50 107.50 107.50 0.0388681 - 47.50 107.50 112.50 0.022385 - 47.50 107.50 117.50 0.0296136 - 47.50 107.50 122.50 0.0867882 - 47.50 107.50 127.50 0.254878 - 47.50 107.50 132.50 0.604975 - 47.50 107.50 137.50 1.26182 - 47.50 107.50 142.50 2.19646 - 47.50 107.50 147.50 3.31443 - 47.50 107.50 152.50 4.2188 - 47.50 107.50 157.50 4.36293 - 47.50 107.50 162.50 3.78536 - 47.50 107.50 167.50 2.69657 - 47.50 107.50 172.50 1.65429 - 47.50 107.50 177.50 0.899353 - 47.50 107.50 182.50 0.403176 - 47.50 107.50 187.50 0.200893 - 47.50 107.50 192.50 0.0798155 - 47.50 107.50 197.50 0.0388681 - 47.50 107.50 202.50 0.022385 - 47.50 107.50 207.50 0.0296136 - 47.50 107.50 212.50 0.0867881 - 47.50 107.50 217.50 0.254877 - 47.50 107.50 222.50 0.604974 - 47.50 107.50 227.50 1.26182 - 47.50 107.50 232.50 2.19647 - 47.50 107.50 237.50 3.31443 - 47.50 107.50 242.50 4.2188 - 47.50 107.50 247.50 4.36293 - 47.50 107.50 252.50 3.78536 - 47.50 107.50 257.50 2.69657 - 47.50 107.50 262.50 1.65429 - 47.50 107.50 267.50 0.899352 - 47.50 107.50 272.50 0.403176 - 47.50 107.50 277.50 0.200893 - 47.50 107.50 282.50 0.0798155 - 47.50 107.50 287.50 0.0388681 - 47.50 107.50 292.50 0.022385 - 47.50 107.50 297.50 0.0296135 - 47.50 107.50 302.50 0.0867878 - 47.50 107.50 307.50 0.254876 - 47.50 107.50 312.50 0.604973 - 47.50 107.50 317.50 1.26182 - 47.50 107.50 322.50 2.19646 - 47.50 107.50 327.50 3.31442 - 47.50 107.50 332.50 4.2188 - 47.50 107.50 337.50 4.36293 - 47.50 107.50 342.50 3.78537 - 47.50 107.50 347.50 2.69657 - 47.50 107.50 352.50 1.6543 - 47.50 107.50 357.50 0.899355 - 47.50 112.50 2.50 0.637513 - 47.50 112.50 7.50 0.279602 - 47.50 112.50 12.50 0.105393 - 47.50 112.50 17.50 0.0338582 - 47.50 112.50 22.50 0.0105258 - 47.50 112.50 27.50 0.00943462 - 47.50 112.50 32.50 0.0338009 - 47.50 112.50 37.50 0.107213 - 47.50 112.50 42.50 0.346484 - 47.50 112.50 47.50 0.8846 - 47.50 112.50 52.50 1.80095 - 47.50 112.50 57.50 2.911 - 47.50 112.50 62.50 3.86188 - 47.50 112.50 67.50 4.42017 - 47.50 112.50 72.50 4.11187 - 47.50 112.50 77.50 3.16757 - 47.50 112.50 82.50 2.14117 - 47.50 112.50 87.50 1.31627 - 47.50 112.50 92.50 0.637513 - 47.50 112.50 97.50 0.279602 - 47.50 112.50 102.50 0.105393 - 47.50 112.50 107.50 0.0338582 - 47.50 112.50 112.50 0.0105258 - 47.50 112.50 117.50 0.00943464 - 47.50 112.50 122.50 0.033801 - 47.50 112.50 127.50 0.107213 - 47.50 112.50 132.50 0.346484 - 47.50 112.50 137.50 0.8846 - 47.50 112.50 142.50 1.80095 - 47.50 112.50 147.50 2.911 - 47.50 112.50 152.50 3.86188 - 47.50 112.50 157.50 4.42017 - 47.50 112.50 162.50 4.11187 - 47.50 112.50 167.50 3.16757 - 47.50 112.50 172.50 2.14117 - 47.50 112.50 177.50 1.31627 - 47.50 112.50 182.50 0.637513 - 47.50 112.50 187.50 0.279602 - 47.50 112.50 192.50 0.105393 - 47.50 112.50 197.50 0.0338582 - 47.50 112.50 202.50 0.0105258 - 47.50 112.50 207.50 0.00943462 - 47.50 112.50 212.50 0.033801 - 47.50 112.50 217.50 0.107213 - 47.50 112.50 222.50 0.346483 - 47.50 112.50 227.50 0.884599 - 47.50 112.50 232.50 1.80095 - 47.50 112.50 237.50 2.911 - 47.50 112.50 242.50 3.86188 - 47.50 112.50 247.50 4.42017 - 47.50 112.50 252.50 4.11187 - 47.50 112.50 257.50 3.16757 - 47.50 112.50 262.50 2.14117 - 47.50 112.50 267.50 1.31626 - 47.50 112.50 272.50 0.637513 - 47.50 112.50 277.50 0.279602 - 47.50 112.50 282.50 0.105393 - 47.50 112.50 287.50 0.0338582 - 47.50 112.50 292.50 0.0105258 - 47.50 112.50 297.50 0.00943459 - 47.50 112.50 302.50 0.0338008 - 47.50 112.50 307.50 0.107213 - 47.50 112.50 312.50 0.346483 - 47.50 112.50 317.50 0.884599 - 47.50 112.50 322.50 1.80094 - 47.50 112.50 327.50 2.911 - 47.50 112.50 332.50 3.86187 - 47.50 112.50 337.50 4.42017 - 47.50 112.50 342.50 4.11188 - 47.50 112.50 347.50 3.16757 - 47.50 112.50 352.50 2.14118 - 47.50 112.50 357.50 1.31627 - 47.50 117.50 2.50 0.968135 - 47.50 117.50 7.50 0.487742 - 47.50 117.50 12.50 0.214557 - 47.50 117.50 17.50 0.0904077 - 47.50 117.50 22.50 0.0336967 - 47.50 117.50 27.50 0.0159586 - 47.50 117.50 32.50 0.0270251 - 47.50 117.50 37.50 0.0670633 - 47.50 117.50 42.50 0.164125 - 47.50 117.50 47.50 0.434806 - 47.50 117.50 52.50 0.992786 - 47.50 117.50 57.50 1.78521 - 47.50 117.50 62.50 2.66677 - 47.50 117.50 67.50 3.3441 - 47.50 117.50 72.50 3.43385 - 47.50 117.50 77.50 2.98251 - 47.50 117.50 82.50 2.37158 - 47.50 117.50 87.50 1.72646 - 47.50 117.50 92.50 0.968135 - 47.50 117.50 97.50 0.487741 - 47.50 117.50 102.50 0.214557 - 47.50 117.50 107.50 0.0904077 - 47.50 117.50 112.50 0.0336967 - 47.50 117.50 117.50 0.0159586 - 47.50 117.50 122.50 0.0270251 - 47.50 117.50 127.50 0.0670634 - 47.50 117.50 132.50 0.164125 - 47.50 117.50 137.50 0.434806 - 47.50 117.50 142.50 0.992786 - 47.50 117.50 147.50 1.78521 - 47.50 117.50 152.50 2.66677 - 47.50 117.50 157.50 3.3441 - 47.50 117.50 162.50 3.43385 - 47.50 117.50 167.50 2.98251 - 47.50 117.50 172.50 2.37158 - 47.50 117.50 177.50 1.72646 - 47.50 117.50 182.50 0.968134 - 47.50 117.50 187.50 0.487741 - 47.50 117.50 192.50 0.214557 - 47.50 117.50 197.50 0.0904077 - 47.50 117.50 202.50 0.0336967 - 47.50 117.50 207.50 0.0159586 - 47.50 117.50 212.50 0.0270251 - 47.50 117.50 217.50 0.0670633 - 47.50 117.50 222.50 0.164125 - 47.50 117.50 227.50 0.434805 - 47.50 117.50 232.50 0.992786 - 47.50 117.50 237.50 1.78521 - 47.50 117.50 242.50 2.66677 - 47.50 117.50 247.50 3.3441 - 47.50 117.50 252.50 3.43385 - 47.50 117.50 257.50 2.98251 - 47.50 117.50 262.50 2.37158 - 47.50 117.50 267.50 1.72646 - 47.50 117.50 272.50 0.968135 - 47.50 117.50 277.50 0.487742 - 47.50 117.50 282.50 0.214557 - 47.50 117.50 287.50 0.0904077 - 47.50 117.50 292.50 0.0336967 - 47.50 117.50 297.50 0.0159586 - 47.50 117.50 302.50 0.027025 - 47.50 117.50 307.50 0.0670632 - 47.50 117.50 312.50 0.164125 - 47.50 117.50 317.50 0.434805 - 47.50 117.50 322.50 0.992785 - 47.50 117.50 327.50 1.78521 - 47.50 117.50 332.50 2.66677 - 47.50 117.50 337.50 3.3441 - 47.50 117.50 342.50 3.43385 - 47.50 117.50 347.50 2.98251 - 47.50 117.50 352.50 2.37159 - 47.50 117.50 357.50 1.72646 - 47.50 122.50 2.50 1.29235 - 47.50 122.50 7.50 0.84456 - 47.50 122.50 12.50 0.524055 - 47.50 122.50 17.50 0.319137 - 47.50 122.50 22.50 0.167665 - 47.50 122.50 27.50 0.090858 - 47.50 122.50 32.50 0.0532587 - 47.50 122.50 37.50 0.0469779 - 47.50 122.50 42.50 0.0670156 - 47.50 122.50 47.50 0.142105 - 47.50 122.50 52.50 0.370963 - 47.50 122.50 57.50 0.814817 - 47.50 122.50 62.50 1.34706 - 47.50 122.50 67.50 1.84685 - 47.50 122.50 72.50 2.21996 - 47.50 122.50 77.50 2.24111 - 47.50 122.50 82.50 2.09115 - 47.50 122.50 87.50 1.82071 - 47.50 122.50 92.50 1.29235 - 47.50 122.50 97.50 0.844559 - 47.50 122.50 102.50 0.524054 - 47.50 122.50 107.50 0.319137 - 47.50 122.50 112.50 0.167665 - 47.50 122.50 117.50 0.090858 - 47.50 122.50 122.50 0.0532586 - 47.50 122.50 127.50 0.0469779 - 47.50 122.50 132.50 0.0670157 - 47.50 122.50 137.50 0.142105 - 47.50 122.50 142.50 0.370963 - 47.50 122.50 147.50 0.814817 - 47.50 122.50 152.50 1.34706 - 47.50 122.50 157.50 1.84685 - 47.50 122.50 162.50 2.21996 - 47.50 122.50 167.50 2.24111 - 47.50 122.50 172.50 2.09115 - 47.50 122.50 177.50 1.82072 - 47.50 122.50 182.50 1.29235 - 47.50 122.50 187.50 0.844559 - 47.50 122.50 192.50 0.524054 - 47.50 122.50 197.50 0.319137 - 47.50 122.50 202.50 0.167665 - 47.50 122.50 207.50 0.090858 - 47.50 122.50 212.50 0.0532587 - 47.50 122.50 217.50 0.0469779 - 47.50 122.50 222.50 0.0670155 - 47.50 122.50 227.50 0.142105 - 47.50 122.50 232.50 0.370964 - 47.50 122.50 237.50 0.814817 - 47.50 122.50 242.50 1.34706 - 47.50 122.50 247.50 1.84685 - 47.50 122.50 252.50 2.21996 - 47.50 122.50 257.50 2.24111 - 47.50 122.50 262.50 2.09115 - 47.50 122.50 267.50 1.82071 - 47.50 122.50 272.50 1.29235 - 47.50 122.50 277.50 0.844559 - 47.50 122.50 282.50 0.524055 - 47.50 122.50 287.50 0.319137 - 47.50 122.50 292.50 0.167665 - 47.50 122.50 297.50 0.0908582 - 47.50 122.50 302.50 0.0532587 - 47.50 122.50 307.50 0.0469778 - 47.50 122.50 312.50 0.0670155 - 47.50 122.50 317.50 0.142105 - 47.50 122.50 322.50 0.370962 - 47.50 122.50 327.50 0.814815 - 47.50 122.50 332.50 1.34706 - 47.50 122.50 337.50 1.84685 - 47.50 122.50 342.50 2.21996 - 47.50 122.50 347.50 2.24111 - 47.50 122.50 352.50 2.09115 - 47.50 122.50 357.50 1.82072 - 47.50 127.50 2.50 1.51272 - 47.50 127.50 7.50 1.33769 - 47.50 127.50 12.50 1.1942 - 47.50 127.50 17.50 0.95418 - 47.50 127.50 22.50 0.633898 - 47.50 127.50 27.50 0.355358 - 47.50 127.50 32.50 0.179891 - 47.50 127.50 37.50 0.0780686 - 47.50 127.50 42.50 0.0361276 - 47.50 127.50 47.50 0.0432226 - 47.50 127.50 52.50 0.10026 - 47.50 127.50 57.50 0.260173 - 47.50 127.50 62.50 0.526679 - 47.50 127.50 67.50 0.826399 - 47.50 127.50 72.50 1.14043 - 47.50 127.50 77.50 1.31236 - 47.50 127.50 82.50 1.44307 - 47.50 127.50 87.50 1.5716 - 47.50 127.50 92.50 1.51272 - 47.50 127.50 97.50 1.33769 - 47.50 127.50 102.50 1.1942 - 47.50 127.50 107.50 0.954179 - 47.50 127.50 112.50 0.633898 - 47.50 127.50 117.50 0.355357 - 47.50 127.50 122.50 0.179891 - 47.50 127.50 127.50 0.0780686 - 47.50 127.50 132.50 0.0361277 - 47.50 127.50 137.50 0.0432226 - 47.50 127.50 142.50 0.10026 - 47.50 127.50 147.50 0.260173 - 47.50 127.50 152.50 0.526679 - 47.50 127.50 157.50 0.826399 - 47.50 127.50 162.50 1.14043 - 47.50 127.50 167.50 1.31236 - 47.50 127.50 172.50 1.44306 - 47.50 127.50 177.50 1.5716 - 47.50 127.50 182.50 1.51272 - 47.50 127.50 187.50 1.33769 - 47.50 127.50 192.50 1.1942 - 47.50 127.50 197.50 0.954179 - 47.50 127.50 202.50 0.633898 - 47.50 127.50 207.50 0.355358 - 47.50 127.50 212.50 0.179891 - 47.50 127.50 217.50 0.0780686 - 47.50 127.50 222.50 0.0361276 - 47.50 127.50 227.50 0.0432225 - 47.50 127.50 232.50 0.10026 - 47.50 127.50 237.50 0.260173 - 47.50 127.50 242.50 0.526679 - 47.50 127.50 247.50 0.8264 - 47.50 127.50 252.50 1.14043 - 47.50 127.50 257.50 1.31236 - 47.50 127.50 262.50 1.44307 - 47.50 127.50 267.50 1.5716 - 47.50 127.50 272.50 1.51272 - 47.50 127.50 277.50 1.33769 - 47.50 127.50 282.50 1.1942 - 47.50 127.50 287.50 0.95418 - 47.50 127.50 292.50 0.633899 - 47.50 127.50 297.50 0.355358 - 47.50 127.50 302.50 0.179891 - 47.50 127.50 307.50 0.0780687 - 47.50 127.50 312.50 0.0361276 - 47.50 127.50 317.50 0.0432225 - 47.50 127.50 322.50 0.100259 - 47.50 127.50 327.50 0.260173 - 47.50 127.50 332.50 0.526678 - 47.50 127.50 337.50 0.826398 - 47.50 127.50 342.50 1.14042 - 47.50 127.50 347.50 1.31236 - 47.50 127.50 352.50 1.44306 - 47.50 127.50 357.50 1.5716 - 47.50 132.50 2.50 1.628 - 47.50 132.50 7.50 1.92084 - 47.50 132.50 12.50 2.2079 - 47.50 132.50 17.50 2.17574 - 47.50 132.50 22.50 1.62477 - 47.50 132.50 27.50 0.958792 - 47.50 132.50 32.50 0.508295 - 47.50 132.50 37.50 0.232396 - 47.50 132.50 42.50 0.0771345 - 47.50 132.50 47.50 0.0214595 - 47.50 132.50 52.50 0.0215621 - 47.50 132.50 57.50 0.0676413 - 47.50 132.50 62.50 0.164442 - 47.50 132.50 67.50 0.317223 - 47.50 132.50 72.50 0.454395 - 47.50 132.50 77.50 0.56958 - 47.50 132.50 82.50 0.840814 - 47.50 132.50 87.50 1.21014 - 47.50 132.50 92.50 1.628 - 47.50 132.50 97.50 1.92084 - 47.50 132.50 102.50 2.2079 - 47.50 132.50 107.50 2.17574 - 47.50 132.50 112.50 1.62477 - 47.50 132.50 117.50 0.958792 - 47.50 132.50 122.50 0.508294 - 47.50 132.50 127.50 0.232396 - 47.50 132.50 132.50 0.0771343 - 47.50 132.50 137.50 0.0214595 - 47.50 132.50 142.50 0.0215621 - 47.50 132.50 147.50 0.0676414 - 47.50 132.50 152.50 0.164442 - 47.50 132.50 157.50 0.317223 - 47.50 132.50 162.50 0.454395 - 47.50 132.50 167.50 0.56958 - 47.50 132.50 172.50 0.840814 - 47.50 132.50 177.50 1.21014 - 47.50 132.50 182.50 1.628 - 47.50 132.50 187.50 1.92084 - 47.50 132.50 192.50 2.2079 - 47.50 132.50 197.50 2.17574 - 47.50 132.50 202.50 1.62477 - 47.50 132.50 207.50 0.958792 - 47.50 132.50 212.50 0.508294 - 47.50 132.50 217.50 0.232396 - 47.50 132.50 222.50 0.0771345 - 47.50 132.50 227.50 0.0214595 - 47.50 132.50 232.50 0.0215622 - 47.50 132.50 237.50 0.0676414 - 47.50 132.50 242.50 0.164442 - 47.50 132.50 247.50 0.317223 - 47.50 132.50 252.50 0.454394 - 47.50 132.50 257.50 0.56958 - 47.50 132.50 262.50 0.840815 - 47.50 132.50 267.50 1.21014 - 47.50 132.50 272.50 1.628 - 47.50 132.50 277.50 1.92084 - 47.50 132.50 282.50 2.2079 - 47.50 132.50 287.50 2.17574 - 47.50 132.50 292.50 1.62477 - 47.50 132.50 297.50 0.958793 - 47.50 132.50 302.50 0.508295 - 47.50 132.50 307.50 0.232396 - 47.50 132.50 312.50 0.0771345 - 47.50 132.50 317.50 0.0214595 - 47.50 132.50 322.50 0.0215621 - 47.50 132.50 327.50 0.0676412 - 47.50 132.50 332.50 0.164442 - 47.50 132.50 337.50 0.317223 - 47.50 132.50 342.50 0.454394 - 47.50 132.50 347.50 0.569579 - 47.50 132.50 352.50 0.840813 - 47.50 132.50 357.50 1.21014 - 47.50 137.50 2.50 1.66337 - 47.50 137.50 7.50 2.48748 - 47.50 137.50 12.50 3.36605 - 47.50 137.50 17.50 3.64918 - 47.50 137.50 22.50 3.06255 - 47.50 137.50 27.50 1.94873 - 47.50 137.50 32.50 1.14237 - 47.50 137.50 37.50 0.548182 - 47.50 137.50 42.50 0.18753 - 47.50 137.50 47.50 0.0568409 - 47.50 137.50 52.50 0.0150114 - 47.50 137.50 57.50 0.0168596 - 47.50 137.50 62.50 0.0400786 - 47.50 137.50 67.50 0.0908968 - 47.50 137.50 72.50 0.139303 - 47.50 137.50 77.50 0.232092 - 47.50 137.50 82.50 0.452375 - 47.50 137.50 87.50 0.914598 - 47.50 137.50 92.50 1.66337 - 47.50 137.50 97.50 2.48748 - 47.50 137.50 102.50 3.36605 - 47.50 137.50 107.50 3.64918 - 47.50 137.50 112.50 3.06255 - 47.50 137.50 117.50 1.94873 - 47.50 137.50 122.50 1.14237 - 47.50 137.50 127.50 0.548182 - 47.50 137.50 132.50 0.18753 - 47.50 137.50 137.50 0.0568409 - 47.50 137.50 142.50 0.0150114 - 47.50 137.50 147.50 0.0168596 - 47.50 137.50 152.50 0.0400786 - 47.50 137.50 157.50 0.0908967 - 47.50 137.50 162.50 0.139303 - 47.50 137.50 167.50 0.232092 - 47.50 137.50 172.50 0.452375 - 47.50 137.50 177.50 0.914598 - 47.50 137.50 182.50 1.66337 - 47.50 137.50 187.50 2.48748 - 47.50 137.50 192.50 3.36605 - 47.50 137.50 197.50 3.64918 - 47.50 137.50 202.50 3.06255 - 47.50 137.50 207.50 1.94873 - 47.50 137.50 212.50 1.14237 - 47.50 137.50 217.50 0.548183 - 47.50 137.50 222.50 0.18753 - 47.50 137.50 227.50 0.0568409 - 47.50 137.50 232.50 0.0150114 - 47.50 137.50 237.50 0.0168596 - 47.50 137.50 242.50 0.0400786 - 47.50 137.50 247.50 0.0908968 - 47.50 137.50 252.50 0.139303 - 47.50 137.50 257.50 0.232092 - 47.50 137.50 262.50 0.452376 - 47.50 137.50 267.50 0.9146 - 47.50 137.50 272.50 1.66337 - 47.50 137.50 277.50 2.48748 - 47.50 137.50 282.50 3.36604 - 47.50 137.50 287.50 3.64918 - 47.50 137.50 292.50 3.06255 - 47.50 137.50 297.50 1.94873 - 47.50 137.50 302.50 1.14238 - 47.50 137.50 307.50 0.548183 - 47.50 137.50 312.50 0.18753 - 47.50 137.50 317.50 0.0568409 - 47.50 137.50 322.50 0.0150114 - 47.50 137.50 327.50 0.0168595 - 47.50 137.50 332.50 0.0400785 - 47.50 137.50 337.50 0.0908967 - 47.50 137.50 342.50 0.139303 - 47.50 137.50 347.50 0.232091 - 47.50 137.50 352.50 0.452374 - 47.50 137.50 357.50 0.914597 - 47.50 142.50 2.50 1.628 - 47.50 142.50 7.50 2.95657 - 47.50 142.50 12.50 4.42937 - 47.50 142.50 17.50 5.00802 - 47.50 142.50 22.50 4.45582 - 47.50 142.50 27.50 3.10896 - 47.50 142.50 32.50 1.85956 - 47.50 142.50 37.50 0.947813 - 47.50 142.50 42.50 0.397991 - 47.50 142.50 47.50 0.146546 - 47.50 142.50 52.50 0.0520135 - 47.50 142.50 57.50 0.0171812 - 47.50 142.50 62.50 0.0108623 - 47.50 142.50 67.50 0.0193176 - 47.50 142.50 72.50 0.0401125 - 47.50 142.50 77.50 0.0932886 - 47.50 142.50 82.50 0.246043 - 47.50 142.50 87.50 0.700267 - 47.50 142.50 92.50 1.628 - 47.50 142.50 97.50 2.95658 - 47.50 142.50 102.50 4.42937 - 47.50 142.50 107.50 5.00802 - 47.50 142.50 112.50 4.45582 - 47.50 142.50 117.50 3.10896 - 47.50 142.50 122.50 1.85956 - 47.50 142.50 127.50 0.947812 - 47.50 142.50 132.50 0.397991 - 47.50 142.50 137.50 0.146546 - 47.50 142.50 142.50 0.0520135 - 47.50 142.50 147.50 0.0171812 - 47.50 142.50 152.50 0.0108623 - 47.50 142.50 157.50 0.0193176 - 47.50 142.50 162.50 0.0401125 - 47.50 142.50 167.50 0.0932886 - 47.50 142.50 172.50 0.246043 - 47.50 142.50 177.50 0.700267 - 47.50 142.50 182.50 1.62801 - 47.50 142.50 187.50 2.95658 - 47.50 142.50 192.50 4.42937 - 47.50 142.50 197.50 5.00802 - 47.50 142.50 202.50 4.45582 - 47.50 142.50 207.50 3.10896 - 47.50 142.50 212.50 1.85956 - 47.50 142.50 217.50 0.947813 - 47.50 142.50 222.50 0.397991 - 47.50 142.50 227.50 0.146547 - 47.50 142.50 232.50 0.0520135 - 47.50 142.50 237.50 0.0171812 - 47.50 142.50 242.50 0.0108623 - 47.50 142.50 247.50 0.0193176 - 47.50 142.50 252.50 0.0401126 - 47.50 142.50 257.50 0.0932888 - 47.50 142.50 262.50 0.246043 - 47.50 142.50 267.50 0.700268 - 47.50 142.50 272.50 1.628 - 47.50 142.50 277.50 2.95658 - 47.50 142.50 282.50 4.42937 - 47.50 142.50 287.50 5.00802 - 47.50 142.50 292.50 4.45582 - 47.50 142.50 297.50 3.10896 - 47.50 142.50 302.50 1.85956 - 47.50 142.50 307.50 0.947813 - 47.50 142.50 312.50 0.397991 - 47.50 142.50 317.50 0.146547 - 47.50 142.50 322.50 0.0520136 - 47.50 142.50 327.50 0.0171812 - 47.50 142.50 332.50 0.0108623 - 47.50 142.50 337.50 0.0193175 - 47.50 142.50 342.50 0.0401124 - 47.50 142.50 347.50 0.0932883 - 47.50 142.50 352.50 0.246042 - 47.50 142.50 357.50 0.700266 - 47.50 147.50 2.50 1.51272 - 47.50 147.50 7.50 3.14259 - 47.50 147.50 12.50 4.96675 - 47.50 147.50 17.50 5.77028 - 47.50 147.50 22.50 5.23187 - 47.50 147.50 27.50 3.88117 - 47.50 147.50 32.50 2.44983 - 47.50 147.50 37.50 1.38818 - 47.50 147.50 42.50 0.73429 - 47.50 147.50 47.50 0.371522 - 47.50 147.50 52.50 0.161909 - 47.50 147.50 57.50 0.0542927 - 47.50 147.50 62.50 0.017002 - 47.50 147.50 67.50 0.00766383 - 47.50 147.50 72.50 0.0142555 - 47.50 147.50 77.50 0.0425807 - 47.50 147.50 82.50 0.15482 - 47.50 147.50 87.50 0.540504 - 47.50 147.50 92.50 1.51272 - 47.50 147.50 97.50 3.14259 - 47.50 147.50 102.50 4.96675 - 47.50 147.50 107.50 5.77027 - 47.50 147.50 112.50 5.23187 - 47.50 147.50 117.50 3.88117 - 47.50 147.50 122.50 2.44983 - 47.50 147.50 127.50 1.38818 - 47.50 147.50 132.50 0.734289 - 47.50 147.50 137.50 0.371522 - 47.50 147.50 142.50 0.161909 - 47.50 147.50 147.50 0.0542927 - 47.50 147.50 152.50 0.017002 - 47.50 147.50 157.50 0.00766384 - 47.50 147.50 162.50 0.0142555 - 47.50 147.50 167.50 0.0425807 - 47.50 147.50 172.50 0.15482 - 47.50 147.50 177.50 0.540504 - 47.50 147.50 182.50 1.51272 - 47.50 147.50 187.50 3.14259 - 47.50 147.50 192.50 4.96676 - 47.50 147.50 197.50 5.77028 - 47.50 147.50 202.50 5.23187 - 47.50 147.50 207.50 3.88117 - 47.50 147.50 212.50 2.44983 - 47.50 147.50 217.50 1.38818 - 47.50 147.50 222.50 0.734289 - 47.50 147.50 227.50 0.371522 - 47.50 147.50 232.50 0.161909 - 47.50 147.50 237.50 0.0542926 - 47.50 147.50 242.50 0.017002 - 47.50 147.50 247.50 0.00766384 - 47.50 147.50 252.50 0.0142555 - 47.50 147.50 257.50 0.0425808 - 47.50 147.50 262.50 0.154821 - 47.50 147.50 267.50 0.540505 - 47.50 147.50 272.50 1.51272 - 47.50 147.50 277.50 3.14259 - 47.50 147.50 282.50 4.96675 - 47.50 147.50 287.50 5.77028 - 47.50 147.50 292.50 5.23187 - 47.50 147.50 297.50 3.88117 - 47.50 147.50 302.50 2.44983 - 47.50 147.50 307.50 1.38818 - 47.50 147.50 312.50 0.73429 - 47.50 147.50 317.50 0.371523 - 47.50 147.50 322.50 0.16191 - 47.50 147.50 327.50 0.0542928 - 47.50 147.50 332.50 0.0170021 - 47.50 147.50 337.50 0.00766383 - 47.50 147.50 342.50 0.0142554 - 47.50 147.50 347.50 0.0425805 - 47.50 147.50 352.50 0.15482 - 47.50 147.50 357.50 0.540502 - 47.50 152.50 2.50 1.29235 - 47.50 152.50 7.50 2.82189 - 47.50 152.50 12.50 4.50354 - 47.50 152.50 17.50 5.39891 - 47.50 152.50 22.50 4.99206 - 47.50 152.50 27.50 3.9221 - 47.50 152.50 32.50 2.6901 - 47.50 152.50 37.50 1.79561 - 47.50 152.50 42.50 1.17106 - 47.50 152.50 47.50 0.695906 - 47.50 152.50 52.50 0.340805 - 47.50 152.50 57.50 0.141274 - 47.50 152.50 62.50 0.0486947 - 47.50 152.50 67.50 0.0134999 - 47.50 152.50 72.50 0.00965575 - 47.50 152.50 77.50 0.0247872 - 47.50 152.50 82.50 0.116364 - 47.50 152.50 87.50 0.414932 - 47.50 152.50 92.50 1.29235 - 47.50 152.50 97.50 2.82189 - 47.50 152.50 102.50 4.50354 - 47.50 152.50 107.50 5.3989 - 47.50 152.50 112.50 4.99206 - 47.50 152.50 117.50 3.9221 - 47.50 152.50 122.50 2.6901 - 47.50 152.50 127.50 1.79561 - 47.50 152.50 132.50 1.17106 - 47.50 152.50 137.50 0.695907 - 47.50 152.50 142.50 0.340805 - 47.50 152.50 147.50 0.141274 - 47.50 152.50 152.50 0.0486948 - 47.50 152.50 157.50 0.0134999 - 47.50 152.50 162.50 0.00965574 - 47.50 152.50 167.50 0.0247872 - 47.50 152.50 172.50 0.116364 - 47.50 152.50 177.50 0.414931 - 47.50 152.50 182.50 1.29235 - 47.50 152.50 187.50 2.82189 - 47.50 152.50 192.50 4.50354 - 47.50 152.50 197.50 5.39891 - 47.50 152.50 202.50 4.99206 - 47.50 152.50 207.50 3.9221 - 47.50 152.50 212.50 2.6901 - 47.50 152.50 217.50 1.79561 - 47.50 152.50 222.50 1.17106 - 47.50 152.50 227.50 0.695906 - 47.50 152.50 232.50 0.340804 - 47.50 152.50 237.50 0.141274 - 47.50 152.50 242.50 0.0486947 - 47.50 152.50 247.50 0.0134999 - 47.50 152.50 252.50 0.00965576 - 47.50 152.50 257.50 0.0247872 - 47.50 152.50 262.50 0.116364 - 47.50 152.50 267.50 0.414932 - 47.50 152.50 272.50 1.29235 - 47.50 152.50 277.50 2.82189 - 47.50 152.50 282.50 4.50354 - 47.50 152.50 287.50 5.39891 - 47.50 152.50 292.50 4.99206 - 47.50 152.50 297.50 3.92211 - 47.50 152.50 302.50 2.6901 - 47.50 152.50 307.50 1.79561 - 47.50 152.50 312.50 1.17106 - 47.50 152.50 317.50 0.695906 - 47.50 152.50 322.50 0.340805 - 47.50 152.50 327.50 0.141275 - 47.50 152.50 332.50 0.0486949 - 47.50 152.50 337.50 0.0135 - 47.50 152.50 342.50 0.00965574 - 47.50 152.50 347.50 0.024787 - 47.50 152.50 352.50 0.116363 - 47.50 152.50 357.50 0.41493 - 47.50 157.50 2.50 0.968135 - 47.50 157.50 7.50 2.03748 - 47.50 157.50 12.50 3.2313 - 47.50 157.50 17.50 3.92172 - 47.50 157.50 22.50 3.8301 - 47.50 157.50 27.50 3.22443 - 47.50 157.50 32.50 2.54336 - 47.50 157.50 37.50 1.9563 - 47.50 157.50 42.50 1.50218 - 47.50 157.50 47.50 1.01745 - 47.50 157.50 52.50 0.56668 - 47.50 157.50 57.50 0.270308 - 47.50 157.50 62.50 0.109068 - 47.50 157.50 67.50 0.0368871 - 47.50 157.50 72.50 0.0163487 - 47.50 157.50 77.50 0.030666 - 47.50 157.50 82.50 0.104603 - 47.50 157.50 87.50 0.329818 - 47.50 157.50 92.50 0.968135 - 47.50 157.50 97.50 2.03748 - 47.50 157.50 102.50 3.2313 - 47.50 157.50 107.50 3.92172 - 47.50 157.50 112.50 3.8301 - 47.50 157.50 117.50 3.22444 - 47.50 157.50 122.50 2.54336 - 47.50 157.50 127.50 1.9563 - 47.50 157.50 132.50 1.50218 - 47.50 157.50 137.50 1.01745 - 47.50 157.50 142.50 0.566679 - 47.50 157.50 147.50 0.270308 - 47.50 157.50 152.50 0.109068 - 47.50 157.50 157.50 0.0368872 - 47.50 157.50 162.50 0.0163487 - 47.50 157.50 167.50 0.030666 - 47.50 157.50 172.50 0.104603 - 47.50 157.50 177.50 0.329818 - 47.50 157.50 182.50 0.968136 - 47.50 157.50 187.50 2.03748 - 47.50 157.50 192.50 3.2313 - 47.50 157.50 197.50 3.92172 - 47.50 157.50 202.50 3.8301 - 47.50 157.50 207.50 3.22444 - 47.50 157.50 212.50 2.54336 - 47.50 157.50 217.50 1.9563 - 47.50 157.50 222.50 1.50218 - 47.50 157.50 227.50 1.01745 - 47.50 157.50 232.50 0.566679 - 47.50 157.50 237.50 0.270307 - 47.50 157.50 242.50 0.109068 - 47.50 157.50 247.50 0.0368871 - 47.50 157.50 252.50 0.0163487 - 47.50 157.50 257.50 0.0306661 - 47.50 157.50 262.50 0.104603 - 47.50 157.50 267.50 0.329818 - 47.50 157.50 272.50 0.968135 - 47.50 157.50 277.50 2.03748 - 47.50 157.50 282.50 3.2313 - 47.50 157.50 287.50 3.92172 - 47.50 157.50 292.50 3.8301 - 47.50 157.50 297.50 3.22444 - 47.50 157.50 302.50 2.54336 - 47.50 157.50 307.50 1.9563 - 47.50 157.50 312.50 1.50218 - 47.50 157.50 317.50 1.01745 - 47.50 157.50 322.50 0.56668 - 47.50 157.50 327.50 0.270308 - 47.50 157.50 332.50 0.109068 - 47.50 157.50 337.50 0.0368872 - 47.50 157.50 342.50 0.0163487 - 47.50 157.50 347.50 0.0306659 - 47.50 157.50 352.50 0.104603 - 47.50 157.50 357.50 0.329816 - 47.50 162.50 2.50 0.637513 - 47.50 162.50 7.50 1.18272 - 47.50 162.50 12.50 1.81288 - 47.50 162.50 17.50 2.24805 - 47.50 162.50 22.50 2.34706 - 47.50 162.50 27.50 2.14288 - 47.50 162.50 32.50 1.8782 - 47.50 162.50 37.50 1.72953 - 47.50 162.50 42.50 1.57234 - 47.50 162.50 47.50 1.23339 - 47.50 162.50 52.50 0.795804 - 47.50 162.50 57.50 0.427801 - 47.50 162.50 62.50 0.205078 - 47.50 162.50 67.50 0.0852976 - 47.50 162.50 72.50 0.0393928 - 47.50 162.50 77.50 0.0519656 - 47.50 162.50 82.50 0.119253 - 47.50 162.50 87.50 0.285722 - 47.50 162.50 92.50 0.637514 - 47.50 162.50 97.50 1.18272 - 47.50 162.50 102.50 1.81288 - 47.50 162.50 107.50 2.24805 - 47.50 162.50 112.50 2.34706 - 47.50 162.50 117.50 2.14288 - 47.50 162.50 122.50 1.8782 - 47.50 162.50 127.50 1.72953 - 47.50 162.50 132.50 1.57233 - 47.50 162.50 137.50 1.23339 - 47.50 162.50 142.50 0.795805 - 47.50 162.50 147.50 0.427801 - 47.50 162.50 152.50 0.205078 - 47.50 162.50 157.50 0.0852977 - 47.50 162.50 162.50 0.0393927 - 47.50 162.50 167.50 0.0519655 - 47.50 162.50 172.50 0.119253 - 47.50 162.50 177.50 0.285721 - 47.50 162.50 182.50 0.637514 - 47.50 162.50 187.50 1.18272 - 47.50 162.50 192.50 1.81288 - 47.50 162.50 197.50 2.24805 - 47.50 162.50 202.50 2.34706 - 47.50 162.50 207.50 2.14288 - 47.50 162.50 212.50 1.8782 - 47.50 162.50 217.50 1.72953 - 47.50 162.50 222.50 1.57233 - 47.50 162.50 227.50 1.23339 - 47.50 162.50 232.50 0.795804 - 47.50 162.50 237.50 0.427801 - 47.50 162.50 242.50 0.205078 - 47.50 162.50 247.50 0.0852975 - 47.50 162.50 252.50 0.0393927 - 47.50 162.50 257.50 0.0519656 - 47.50 162.50 262.50 0.119253 - 47.50 162.50 267.50 0.285722 - 47.50 162.50 272.50 0.637513 - 47.50 162.50 277.50 1.18272 - 47.50 162.50 282.50 1.81288 - 47.50 162.50 287.50 2.24805 - 47.50 162.50 292.50 2.34706 - 47.50 162.50 297.50 2.14288 - 47.50 162.50 302.50 1.8782 - 47.50 162.50 307.50 1.72953 - 47.50 162.50 312.50 1.57234 - 47.50 162.50 317.50 1.23339 - 47.50 162.50 322.50 0.795805 - 47.50 162.50 327.50 0.427802 - 47.50 162.50 332.50 0.205078 - 47.50 162.50 337.50 0.0852978 - 47.50 162.50 342.50 0.0393928 - 47.50 162.50 347.50 0.0519655 - 47.50 162.50 352.50 0.119253 - 47.50 162.50 357.50 0.285721 - 47.50 167.50 2.50 0.403177 - 47.50 167.50 7.50 0.59788 - 47.50 167.50 12.50 0.819828 - 47.50 167.50 17.50 1.03822 - 47.50 167.50 22.50 1.12898 - 47.50 167.50 27.50 1.09896 - 47.50 167.50 32.50 1.0785 - 47.50 167.50 37.50 1.21406 - 47.50 167.50 42.50 1.37785 - 47.50 167.50 47.50 1.28158 - 47.50 167.50 52.50 0.917766 - 47.50 167.50 57.50 0.534562 - 47.50 167.50 62.50 0.270597 - 47.50 167.50 67.50 0.125026 - 47.50 167.50 72.50 0.0671228 - 47.50 167.50 77.50 0.0753127 - 47.50 167.50 82.50 0.138051 - 47.50 167.50 87.50 0.258234 - 47.50 167.50 92.50 0.403177 - 47.50 167.50 97.50 0.59788 - 47.50 167.50 102.50 0.819828 - 47.50 167.50 107.50 1.03822 - 47.50 167.50 112.50 1.12898 - 47.50 167.50 117.50 1.09896 - 47.50 167.50 122.50 1.0785 - 47.50 167.50 127.50 1.21406 - 47.50 167.50 132.50 1.37784 - 47.50 167.50 137.50 1.28158 - 47.50 167.50 142.50 0.917766 - 47.50 167.50 147.50 0.534562 - 47.50 167.50 152.50 0.270597 - 47.50 167.50 157.50 0.125026 - 47.50 167.50 162.50 0.0671228 - 47.50 167.50 167.50 0.0753127 - 47.50 167.50 172.50 0.138051 - 47.50 167.50 177.50 0.258234 - 47.50 167.50 182.50 0.403177 - 47.50 167.50 187.50 0.59788 - 47.50 167.50 192.50 0.819828 - 47.50 167.50 197.50 1.03822 - 47.50 167.50 202.50 1.12898 - 47.50 167.50 207.50 1.09896 - 47.50 167.50 212.50 1.0785 - 47.50 167.50 217.50 1.21406 - 47.50 167.50 222.50 1.37784 - 47.50 167.50 227.50 1.28158 - 47.50 167.50 232.50 0.917765 - 47.50 167.50 237.50 0.534561 - 47.50 167.50 242.50 0.270597 - 47.50 167.50 247.50 0.125026 - 47.50 167.50 252.50 0.0671228 - 47.50 167.50 257.50 0.0753127 - 47.50 167.50 262.50 0.138051 - 47.50 167.50 267.50 0.258234 - 47.50 167.50 272.50 0.403177 - 47.50 167.50 277.50 0.59788 - 47.50 167.50 282.50 0.819828 - 47.50 167.50 287.50 1.03822 - 47.50 167.50 292.50 1.12898 - 47.50 167.50 297.50 1.09896 - 47.50 167.50 302.50 1.0785 - 47.50 167.50 307.50 1.21406 - 47.50 167.50 312.50 1.37784 - 47.50 167.50 317.50 1.28158 - 47.50 167.50 322.50 0.917767 - 47.50 167.50 327.50 0.534562 - 47.50 167.50 332.50 0.270598 - 47.50 167.50 337.50 0.125026 - 47.50 167.50 342.50 0.0671229 - 47.50 167.50 347.50 0.0753126 - 47.50 167.50 352.50 0.138051 - 47.50 167.50 357.50 0.258234 - 47.50 172.50 2.50 0.246673 - 47.50 172.50 7.50 0.292922 - 47.50 172.50 12.50 0.346466 - 47.50 172.50 17.50 0.38959 - 47.50 172.50 22.50 0.422122 - 47.50 172.50 27.50 0.426448 - 47.50 172.50 32.50 0.500227 - 47.50 172.50 37.50 0.755849 - 47.50 172.50 42.50 1.09405 - 47.50 172.50 47.50 1.19054 - 47.50 172.50 52.50 0.910762 - 47.50 172.50 57.50 0.511231 - 47.50 172.50 62.50 0.244565 - 47.50 172.50 67.50 0.118447 - 47.50 172.50 72.50 0.0702204 - 47.50 172.50 77.50 0.0755783 - 47.50 172.50 82.50 0.135628 - 47.50 172.50 87.50 0.200771 - 47.50 172.50 92.50 0.246673 - 47.50 172.50 97.50 0.292922 - 47.50 172.50 102.50 0.346467 - 47.50 172.50 107.50 0.38959 - 47.50 172.50 112.50 0.422121 - 47.50 172.50 117.50 0.426448 - 47.50 172.50 122.50 0.500227 - 47.50 172.50 127.50 0.755849 - 47.50 172.50 132.50 1.09405 - 47.50 172.50 137.50 1.19054 - 47.50 172.50 142.50 0.910762 - 47.50 172.50 147.50 0.511231 - 47.50 172.50 152.50 0.244565 - 47.50 172.50 157.50 0.118447 - 47.50 172.50 162.50 0.0702204 - 47.50 172.50 167.50 0.0755783 - 47.50 172.50 172.50 0.135628 - 47.50 172.50 177.50 0.200771 - 47.50 172.50 182.50 0.246673 - 47.50 172.50 187.50 0.292922 - 47.50 172.50 192.50 0.346467 - 47.50 172.50 197.50 0.38959 - 47.50 172.50 202.50 0.422122 - 47.50 172.50 207.50 0.426448 - 47.50 172.50 212.50 0.500227 - 47.50 172.50 217.50 0.755848 - 47.50 172.50 222.50 1.09405 - 47.50 172.50 227.50 1.19054 - 47.50 172.50 232.50 0.910761 - 47.50 172.50 237.50 0.511231 - 47.50 172.50 242.50 0.244564 - 47.50 172.50 247.50 0.118447 - 47.50 172.50 252.50 0.0702203 - 47.50 172.50 257.50 0.0755783 - 47.50 172.50 262.50 0.135628 - 47.50 172.50 267.50 0.200771 - 47.50 172.50 272.50 0.246673 - 47.50 172.50 277.50 0.292922 - 47.50 172.50 282.50 0.346466 - 47.50 172.50 287.50 0.38959 - 47.50 172.50 292.50 0.422122 - 47.50 172.50 297.50 0.426448 - 47.50 172.50 302.50 0.500227 - 47.50 172.50 307.50 0.755848 - 47.50 172.50 312.50 1.09405 - 47.50 172.50 317.50 1.19054 - 47.50 172.50 322.50 0.910763 - 47.50 172.50 327.50 0.511232 - 47.50 172.50 332.50 0.244565 - 47.50 172.50 337.50 0.118447 - 47.50 172.50 342.50 0.0702204 - 47.50 172.50 347.50 0.0755782 - 47.50 172.50 352.50 0.135628 - 47.50 172.50 357.50 0.200771 - 47.50 177.50 2.50 0.130387 - 47.50 177.50 7.50 0.136291 - 47.50 177.50 12.50 0.138326 - 47.50 177.50 17.50 0.133174 - 47.50 177.50 22.50 0.125308 - 47.50 177.50 27.50 0.132724 - 47.50 177.50 32.50 0.214872 - 47.50 177.50 37.50 0.456807 - 47.50 177.50 42.50 0.799663 - 47.50 177.50 47.50 0.957657 - 47.50 177.50 52.50 0.751726 - 47.50 177.50 57.50 0.401305 - 47.50 177.50 62.50 0.171415 - 47.50 177.50 67.50 0.0818356 - 47.50 177.50 72.50 0.0586778 - 47.50 177.50 77.50 0.0706779 - 47.50 177.50 82.50 0.0985687 - 47.50 177.50 87.50 0.120837 - 47.50 177.50 92.50 0.130387 - 47.50 177.50 97.50 0.136291 - 47.50 177.50 102.50 0.138326 - 47.50 177.50 107.50 0.133174 - 47.50 177.50 112.50 0.125308 - 47.50 177.50 117.50 0.132724 - 47.50 177.50 122.50 0.214872 - 47.50 177.50 127.50 0.456807 - 47.50 177.50 132.50 0.799663 - 47.50 177.50 137.50 0.957657 - 47.50 177.50 142.50 0.751726 - 47.50 177.50 147.50 0.401305 - 47.50 177.50 152.50 0.171415 - 47.50 177.50 157.50 0.0818356 - 47.50 177.50 162.50 0.0586778 - 47.50 177.50 167.50 0.0706778 - 47.50 177.50 172.50 0.0985686 - 47.50 177.50 177.50 0.120837 - 47.50 177.50 182.50 0.130387 - 47.50 177.50 187.50 0.136291 - 47.50 177.50 192.50 0.138326 - 47.50 177.50 197.50 0.133174 - 47.50 177.50 202.50 0.125309 - 47.50 177.50 207.50 0.132724 - 47.50 177.50 212.50 0.214872 - 47.50 177.50 217.50 0.456807 - 47.50 177.50 222.50 0.799662 - 47.50 177.50 227.50 0.957657 - 47.50 177.50 232.50 0.751725 - 47.50 177.50 237.50 0.401305 - 47.50 177.50 242.50 0.171414 - 47.50 177.50 247.50 0.0818354 - 47.50 177.50 252.50 0.0586778 - 47.50 177.50 257.50 0.0706779 - 47.50 177.50 262.50 0.0985687 - 47.50 177.50 267.50 0.120837 - 47.50 177.50 272.50 0.130387 - 47.50 177.50 277.50 0.136291 - 47.50 177.50 282.50 0.138326 - 47.50 177.50 287.50 0.133174 - 47.50 177.50 292.50 0.125309 - 47.50 177.50 297.50 0.132724 - 47.50 177.50 302.50 0.214872 - 47.50 177.50 307.50 0.456806 - 47.50 177.50 312.50 0.799662 - 47.50 177.50 317.50 0.957657 - 47.50 177.50 322.50 0.751727 - 47.50 177.50 327.50 0.401306 - 47.50 177.50 332.50 0.171415 - 47.50 177.50 337.50 0.0818356 - 47.50 177.50 342.50 0.0586778 - 47.50 177.50 347.50 0.0706778 - 47.50 177.50 352.50 0.0985686 - 47.50 177.50 357.50 0.120837 - 52.50 2.50 2.50 0.083846 - 52.50 2.50 7.50 0.0760385 - 52.50 2.50 12.50 0.0601603 - 52.50 2.50 17.50 0.0485219 - 52.50 2.50 22.50 0.0624686 - 52.50 2.50 27.50 0.149977 - 52.50 2.50 32.50 0.393272 - 52.50 2.50 37.50 0.773179 - 52.50 2.50 42.50 0.980476 - 52.50 2.50 47.50 0.773178 - 52.50 2.50 52.50 0.393273 - 52.50 2.50 57.50 0.149977 - 52.50 2.50 62.50 0.0624685 - 52.50 2.50 67.50 0.0485219 - 52.50 2.50 72.50 0.0601603 - 52.50 2.50 77.50 0.0760385 - 52.50 2.50 82.50 0.083846 - 52.50 2.50 87.50 0.084539 - 52.50 2.50 92.50 0.083846 - 52.50 2.50 97.50 0.0760385 - 52.50 2.50 102.50 0.0601603 - 52.50 2.50 107.50 0.0485219 - 52.50 2.50 112.50 0.0624686 - 52.50 2.50 117.50 0.149977 - 52.50 2.50 122.50 0.393273 - 52.50 2.50 127.50 0.773179 - 52.50 2.50 132.50 0.980476 - 52.50 2.50 137.50 0.773179 - 52.50 2.50 142.50 0.393273 - 52.50 2.50 147.50 0.149977 - 52.50 2.50 152.50 0.0624686 - 52.50 2.50 157.50 0.0485219 - 52.50 2.50 162.50 0.0601603 - 52.50 2.50 167.50 0.0760385 - 52.50 2.50 172.50 0.083846 - 52.50 2.50 177.50 0.084539 - 52.50 2.50 182.50 0.083846 - 52.50 2.50 187.50 0.0760385 - 52.50 2.50 192.50 0.0601603 - 52.50 2.50 197.50 0.0485219 - 52.50 2.50 202.50 0.0624686 - 52.50 2.50 207.50 0.149977 - 52.50 2.50 212.50 0.393272 - 52.50 2.50 217.50 0.773178 - 52.50 2.50 222.50 0.980476 - 52.50 2.50 227.50 0.773179 - 52.50 2.50 232.50 0.393272 - 52.50 2.50 237.50 0.149977 - 52.50 2.50 242.50 0.0624685 - 52.50 2.50 247.50 0.048522 - 52.50 2.50 252.50 0.0601603 - 52.50 2.50 257.50 0.0760386 - 52.50 2.50 262.50 0.083846 - 52.50 2.50 267.50 0.084539 - 52.50 2.50 272.50 0.083846 - 52.50 2.50 277.50 0.0760385 - 52.50 2.50 282.50 0.0601603 - 52.50 2.50 287.50 0.0485219 - 52.50 2.50 292.50 0.0624686 - 52.50 2.50 297.50 0.149977 - 52.50 2.50 302.50 0.393272 - 52.50 2.50 307.50 0.773178 - 52.50 2.50 312.50 0.980476 - 52.50 2.50 317.50 0.773179 - 52.50 2.50 322.50 0.393273 - 52.50 2.50 327.50 0.149977 - 52.50 2.50 332.50 0.0624686 - 52.50 2.50 337.50 0.0485219 - 52.50 2.50 342.50 0.0601603 - 52.50 2.50 347.50 0.0760385 - 52.50 2.50 352.50 0.083846 - 52.50 2.50 357.50 0.084539 - 52.50 7.50 2.50 0.132069 - 52.50 7.50 7.50 0.109882 - 52.50 7.50 12.50 0.0780234 - 52.50 7.50 17.50 0.0639081 - 52.50 7.50 22.50 0.0924991 - 52.50 7.50 27.50 0.187773 - 52.50 7.50 32.50 0.394641 - 52.50 7.50 37.50 0.713423 - 52.50 7.50 42.50 0.911258 - 52.50 7.50 47.50 0.780785 - 52.50 7.50 52.50 0.461408 - 52.50 7.50 57.50 0.217744 - 52.50 7.50 62.50 0.125439 - 52.50 7.50 67.50 0.123213 - 52.50 7.50 72.50 0.140004 - 52.50 7.50 77.50 0.148748 - 52.50 7.50 82.50 0.144941 - 52.50 7.50 87.50 0.138729 - 52.50 7.50 92.50 0.132069 - 52.50 7.50 97.50 0.109882 - 52.50 7.50 102.50 0.0780234 - 52.50 7.50 107.50 0.0639081 - 52.50 7.50 112.50 0.0924991 - 52.50 7.50 117.50 0.187773 - 52.50 7.50 122.50 0.394641 - 52.50 7.50 127.50 0.713424 - 52.50 7.50 132.50 0.911258 - 52.50 7.50 137.50 0.780785 - 52.50 7.50 142.50 0.461408 - 52.50 7.50 147.50 0.217744 - 52.50 7.50 152.50 0.125439 - 52.50 7.50 157.50 0.123213 - 52.50 7.50 162.50 0.140004 - 52.50 7.50 167.50 0.148748 - 52.50 7.50 172.50 0.144941 - 52.50 7.50 177.50 0.138729 - 52.50 7.50 182.50 0.132069 - 52.50 7.50 187.50 0.109882 - 52.50 7.50 192.50 0.0780234 - 52.50 7.50 197.50 0.0639081 - 52.50 7.50 202.50 0.0924991 - 52.50 7.50 207.50 0.187773 - 52.50 7.50 212.50 0.394641 - 52.50 7.50 217.50 0.713423 - 52.50 7.50 222.50 0.911258 - 52.50 7.50 227.50 0.780786 - 52.50 7.50 232.50 0.461408 - 52.50 7.50 237.50 0.217743 - 52.50 7.50 242.50 0.125439 - 52.50 7.50 247.50 0.123213 - 52.50 7.50 252.50 0.140004 - 52.50 7.50 257.50 0.148748 - 52.50 7.50 262.50 0.144941 - 52.50 7.50 267.50 0.138729 - 52.50 7.50 272.50 0.132069 - 52.50 7.50 277.50 0.109882 - 52.50 7.50 282.50 0.0780234 - 52.50 7.50 287.50 0.0639081 - 52.50 7.50 292.50 0.092499 - 52.50 7.50 297.50 0.187773 - 52.50 7.50 302.50 0.394641 - 52.50 7.50 307.50 0.713423 - 52.50 7.50 312.50 0.911258 - 52.50 7.50 317.50 0.780786 - 52.50 7.50 322.50 0.461409 - 52.50 7.50 327.50 0.217744 - 52.50 7.50 332.50 0.125439 - 52.50 7.50 337.50 0.123213 - 52.50 7.50 342.50 0.140004 - 52.50 7.50 347.50 0.148748 - 52.50 7.50 352.50 0.144941 - 52.50 7.50 357.50 0.138729 - 52.50 12.50 2.50 0.239625 - 52.50 12.50 7.50 0.172232 - 52.50 12.50 12.50 0.0999633 - 52.50 12.50 17.50 0.0765725 - 52.50 12.50 22.50 0.136631 - 52.50 12.50 27.50 0.269086 - 52.50 12.50 32.50 0.510801 - 52.50 12.50 37.50 0.863767 - 52.50 12.50 42.50 1.12936 - 52.50 12.50 47.50 1.06317 - 52.50 12.50 52.50 0.747363 - 52.50 12.50 57.50 0.490324 - 52.50 12.50 62.50 0.419312 - 52.50 12.50 67.50 0.444789 - 52.50 12.50 72.50 0.451 - 52.50 12.50 77.50 0.399667 - 52.50 12.50 82.50 0.336778 - 52.50 12.50 87.50 0.28366 - 52.50 12.50 92.50 0.239625 - 52.50 12.50 97.50 0.172232 - 52.50 12.50 102.50 0.0999633 - 52.50 12.50 107.50 0.0765725 - 52.50 12.50 112.50 0.136631 - 52.50 12.50 117.50 0.269086 - 52.50 12.50 122.50 0.5108 - 52.50 12.50 127.50 0.863768 - 52.50 12.50 132.50 1.12936 - 52.50 12.50 137.50 1.06317 - 52.50 12.50 142.50 0.747363 - 52.50 12.50 147.50 0.490324 - 52.50 12.50 152.50 0.419312 - 52.50 12.50 157.50 0.444789 - 52.50 12.50 162.50 0.451 - 52.50 12.50 167.50 0.399667 - 52.50 12.50 172.50 0.336778 - 52.50 12.50 177.50 0.28366 - 52.50 12.50 182.50 0.239625 - 52.50 12.50 187.50 0.172232 - 52.50 12.50 192.50 0.0999633 - 52.50 12.50 197.50 0.0765726 - 52.50 12.50 202.50 0.136631 - 52.50 12.50 207.50 0.269086 - 52.50 12.50 212.50 0.5108 - 52.50 12.50 217.50 0.863767 - 52.50 12.50 222.50 1.12937 - 52.50 12.50 227.50 1.06317 - 52.50 12.50 232.50 0.747362 - 52.50 12.50 237.50 0.490324 - 52.50 12.50 242.50 0.419312 - 52.50 12.50 247.50 0.444789 - 52.50 12.50 252.50 0.451 - 52.50 12.50 257.50 0.399667 - 52.50 12.50 262.50 0.336778 - 52.50 12.50 267.50 0.28366 - 52.50 12.50 272.50 0.239625 - 52.50 12.50 277.50 0.172232 - 52.50 12.50 282.50 0.0999634 - 52.50 12.50 287.50 0.0765726 - 52.50 12.50 292.50 0.136631 - 52.50 12.50 297.50 0.269085 - 52.50 12.50 302.50 0.5108 - 52.50 12.50 307.50 0.863766 - 52.50 12.50 312.50 1.12937 - 52.50 12.50 317.50 1.06317 - 52.50 12.50 322.50 0.747364 - 52.50 12.50 327.50 0.490325 - 52.50 12.50 332.50 0.419312 - 52.50 12.50 337.50 0.444789 - 52.50 12.50 342.50 0.451 - 52.50 12.50 347.50 0.399667 - 52.50 12.50 352.50 0.336778 - 52.50 12.50 357.50 0.28366 - 52.50 17.50 2.50 0.338201 - 52.50 17.50 7.50 0.196327 - 52.50 17.50 12.50 0.0907333 - 52.50 17.50 17.50 0.0803515 - 52.50 17.50 22.50 0.147846 - 52.50 17.50 27.50 0.293576 - 52.50 17.50 32.50 0.543171 - 52.50 17.50 37.50 0.89664 - 52.50 17.50 42.50 1.23109 - 52.50 17.50 47.50 1.32943 - 52.50 17.50 52.50 1.1871 - 52.50 17.50 57.50 1.05068 - 52.50 17.50 62.50 1.09764 - 52.50 17.50 67.50 1.20247 - 52.50 17.50 72.50 1.20165 - 52.50 17.50 77.50 1.03178 - 52.50 17.50 82.50 0.73858 - 52.50 17.50 87.50 0.508241 - 52.50 17.50 92.50 0.338201 - 52.50 17.50 97.50 0.196327 - 52.50 17.50 102.50 0.0907332 - 52.50 17.50 107.50 0.0803515 - 52.50 17.50 112.50 0.147846 - 52.50 17.50 117.50 0.293576 - 52.50 17.50 122.50 0.543172 - 52.50 17.50 127.50 0.89664 - 52.50 17.50 132.50 1.23109 - 52.50 17.50 137.50 1.32943 - 52.50 17.50 142.50 1.1871 - 52.50 17.50 147.50 1.05068 - 52.50 17.50 152.50 1.09764 - 52.50 17.50 157.50 1.20247 - 52.50 17.50 162.50 1.20165 - 52.50 17.50 167.50 1.03178 - 52.50 17.50 172.50 0.73858 - 52.50 17.50 177.50 0.508241 - 52.50 17.50 182.50 0.338201 - 52.50 17.50 187.50 0.196327 - 52.50 17.50 192.50 0.0907332 - 52.50 17.50 197.50 0.0803515 - 52.50 17.50 202.50 0.147846 - 52.50 17.50 207.50 0.293576 - 52.50 17.50 212.50 0.543172 - 52.50 17.50 217.50 0.89664 - 52.50 17.50 222.50 1.23109 - 52.50 17.50 227.50 1.32943 - 52.50 17.50 232.50 1.1871 - 52.50 17.50 237.50 1.05067 - 52.50 17.50 242.50 1.09764 - 52.50 17.50 247.50 1.20247 - 52.50 17.50 252.50 1.20165 - 52.50 17.50 257.50 1.03178 - 52.50 17.50 262.50 0.738579 - 52.50 17.50 267.50 0.50824 - 52.50 17.50 272.50 0.338201 - 52.50 17.50 277.50 0.196327 - 52.50 17.50 282.50 0.0907333 - 52.50 17.50 287.50 0.0803514 - 52.50 17.50 292.50 0.147846 - 52.50 17.50 297.50 0.293576 - 52.50 17.50 302.50 0.543171 - 52.50 17.50 307.50 0.89664 - 52.50 17.50 312.50 1.23109 - 52.50 17.50 317.50 1.32943 - 52.50 17.50 322.50 1.1871 - 52.50 17.50 327.50 1.05068 - 52.50 17.50 332.50 1.09764 - 52.50 17.50 337.50 1.20247 - 52.50 17.50 342.50 1.20165 - 52.50 17.50 347.50 1.03178 - 52.50 17.50 352.50 0.738581 - 52.50 17.50 357.50 0.508241 - 52.50 22.50 2.50 0.431719 - 52.50 22.50 7.50 0.178221 - 52.50 22.50 12.50 0.0711469 - 52.50 22.50 17.50 0.0554851 - 52.50 22.50 22.50 0.101748 - 52.50 22.50 27.50 0.2179 - 52.50 22.50 32.50 0.428485 - 52.50 22.50 37.50 0.7739 - 52.50 22.50 42.50 1.19551 - 52.50 22.50 47.50 1.48938 - 52.50 22.50 52.50 1.67545 - 52.50 22.50 57.50 1.85785 - 52.50 22.50 62.50 2.1509 - 52.50 22.50 67.50 2.47971 - 52.50 22.50 72.50 2.55938 - 52.50 22.50 77.50 2.21654 - 52.50 22.50 82.50 1.55766 - 52.50 22.50 87.50 0.880313 - 52.50 22.50 92.50 0.431719 - 52.50 22.50 97.50 0.178221 - 52.50 22.50 102.50 0.0711468 - 52.50 22.50 107.50 0.0554851 - 52.50 22.50 112.50 0.101748 - 52.50 22.50 117.50 0.2179 - 52.50 22.50 122.50 0.428486 - 52.50 22.50 127.50 0.7739 - 52.50 22.50 132.50 1.19551 - 52.50 22.50 137.50 1.48938 - 52.50 22.50 142.50 1.67545 - 52.50 22.50 147.50 1.85785 - 52.50 22.50 152.50 2.1509 - 52.50 22.50 157.50 2.47971 - 52.50 22.50 162.50 2.55938 - 52.50 22.50 167.50 2.21654 - 52.50 22.50 172.50 1.55766 - 52.50 22.50 177.50 0.880313 - 52.50 22.50 182.50 0.431719 - 52.50 22.50 187.50 0.178221 - 52.50 22.50 192.50 0.0711468 - 52.50 22.50 197.50 0.0554851 - 52.50 22.50 202.50 0.101748 - 52.50 22.50 207.50 0.2179 - 52.50 22.50 212.50 0.428485 - 52.50 22.50 217.50 0.773899 - 52.50 22.50 222.50 1.19551 - 52.50 22.50 227.50 1.48938 - 52.50 22.50 232.50 1.67545 - 52.50 22.50 237.50 1.85785 - 52.50 22.50 242.50 2.1509 - 52.50 22.50 247.50 2.47971 - 52.50 22.50 252.50 2.55938 - 52.50 22.50 257.50 2.21654 - 52.50 22.50 262.50 1.55766 - 52.50 22.50 267.50 0.880312 - 52.50 22.50 272.50 0.431719 - 52.50 22.50 277.50 0.178221 - 52.50 22.50 282.50 0.0711468 - 52.50 22.50 287.50 0.0554851 - 52.50 22.50 292.50 0.101748 - 52.50 22.50 297.50 0.217899 - 52.50 22.50 302.50 0.428485 - 52.50 22.50 307.50 0.773899 - 52.50 22.50 312.50 1.19551 - 52.50 22.50 317.50 1.48938 - 52.50 22.50 322.50 1.67545 - 52.50 22.50 327.50 1.85785 - 52.50 22.50 332.50 2.1509 - 52.50 22.50 337.50 2.47971 - 52.50 22.50 342.50 2.55938 - 52.50 22.50 347.50 2.21654 - 52.50 22.50 352.50 1.55766 - 52.50 22.50 357.50 0.880314 - 52.50 27.50 2.50 0.558756 - 52.50 27.50 7.50 0.165933 - 52.50 27.50 12.50 0.0546664 - 52.50 27.50 17.50 0.0279363 - 52.50 27.50 22.50 0.0447133 - 52.50 27.50 27.50 0.106069 - 52.50 27.50 32.50 0.254735 - 52.50 27.50 37.50 0.544446 - 52.50 27.50 42.50 0.960881 - 52.50 27.50 47.50 1.41644 - 52.50 27.50 52.50 1.851 - 52.50 27.50 57.50 2.4042 - 52.50 27.50 62.50 3.23112 - 52.50 27.50 67.50 4.00842 - 52.50 27.50 72.50 4.29488 - 52.50 27.50 77.50 3.82805 - 52.50 27.50 82.50 2.66296 - 52.50 27.50 87.50 1.38427 - 52.50 27.50 92.50 0.558756 - 52.50 27.50 97.50 0.165933 - 52.50 27.50 102.50 0.0546664 - 52.50 27.50 107.50 0.0279364 - 52.50 27.50 112.50 0.0447134 - 52.50 27.50 117.50 0.106069 - 52.50 27.50 122.50 0.254735 - 52.50 27.50 127.50 0.544446 - 52.50 27.50 132.50 0.96088 - 52.50 27.50 137.50 1.41644 - 52.50 27.50 142.50 1.851 - 52.50 27.50 147.50 2.4042 - 52.50 27.50 152.50 3.23112 - 52.50 27.50 157.50 4.00842 - 52.50 27.50 162.50 4.29488 - 52.50 27.50 167.50 3.82805 - 52.50 27.50 172.50 2.66296 - 52.50 27.50 177.50 1.38427 - 52.50 27.50 182.50 0.558756 - 52.50 27.50 187.50 0.165933 - 52.50 27.50 192.50 0.0546664 - 52.50 27.50 197.50 0.0279364 - 52.50 27.50 202.50 0.0447134 - 52.50 27.50 207.50 0.106069 - 52.50 27.50 212.50 0.254735 - 52.50 27.50 217.50 0.544446 - 52.50 27.50 222.50 0.96088 - 52.50 27.50 227.50 1.41644 - 52.50 27.50 232.50 1.851 - 52.50 27.50 237.50 2.4042 - 52.50 27.50 242.50 3.23112 - 52.50 27.50 247.50 4.00842 - 52.50 27.50 252.50 4.29488 - 52.50 27.50 257.50 3.82805 - 52.50 27.50 262.50 2.66296 - 52.50 27.50 267.50 1.38427 - 52.50 27.50 272.50 0.558756 - 52.50 27.50 277.50 0.165933 - 52.50 27.50 282.50 0.0546664 - 52.50 27.50 287.50 0.0279363 - 52.50 27.50 292.50 0.0447133 - 52.50 27.50 297.50 0.106069 - 52.50 27.50 302.50 0.254734 - 52.50 27.50 307.50 0.544445 - 52.50 27.50 312.50 0.96088 - 52.50 27.50 317.50 1.41644 - 52.50 27.50 322.50 1.851 - 52.50 27.50 327.50 2.4042 - 52.50 27.50 332.50 3.23112 - 52.50 27.50 337.50 4.00842 - 52.50 27.50 342.50 4.29488 - 52.50 27.50 347.50 3.82806 - 52.50 27.50 352.50 2.66297 - 52.50 27.50 357.50 1.38427 - 52.50 32.50 2.50 0.674572 - 52.50 32.50 7.50 0.178438 - 52.50 32.50 12.50 0.0504365 - 52.50 32.50 17.50 0.0130588 - 52.50 32.50 22.50 0.0155686 - 52.50 32.50 27.50 0.0400465 - 52.50 32.50 32.50 0.123107 - 52.50 32.50 37.50 0.3163 - 52.50 32.50 42.50 0.635226 - 52.50 32.50 47.50 1.05363 - 52.50 32.50 52.50 1.61851 - 52.50 32.50 57.50 2.49292 - 52.50 32.50 62.50 3.72516 - 52.50 32.50 67.50 5.07766 - 52.50 32.50 72.50 5.61847 - 52.50 32.50 77.50 5.12189 - 52.50 32.50 82.50 3.51129 - 52.50 32.50 87.50 1.77615 - 52.50 32.50 92.50 0.674572 - 52.50 32.50 97.50 0.178438 - 52.50 32.50 102.50 0.0504364 - 52.50 32.50 107.50 0.0130588 - 52.50 32.50 112.50 0.0155686 - 52.50 32.50 117.50 0.0400465 - 52.50 32.50 122.50 0.123107 - 52.50 32.50 127.50 0.3163 - 52.50 32.50 132.50 0.635226 - 52.50 32.50 137.50 1.05363 - 52.50 32.50 142.50 1.61851 - 52.50 32.50 147.50 2.49292 - 52.50 32.50 152.50 3.72516 - 52.50 32.50 157.50 5.07766 - 52.50 32.50 162.50 5.61847 - 52.50 32.50 167.50 5.12189 - 52.50 32.50 172.50 3.51129 - 52.50 32.50 177.50 1.77615 - 52.50 32.50 182.50 0.674571 - 52.50 32.50 187.50 0.178438 - 52.50 32.50 192.50 0.0504364 - 52.50 32.50 197.50 0.0130588 - 52.50 32.50 202.50 0.0155686 - 52.50 32.50 207.50 0.0400465 - 52.50 32.50 212.50 0.123107 - 52.50 32.50 217.50 0.3163 - 52.50 32.50 222.50 0.635226 - 52.50 32.50 227.50 1.05363 - 52.50 32.50 232.50 1.61851 - 52.50 32.50 237.50 2.49292 - 52.50 32.50 242.50 3.72516 - 52.50 32.50 247.50 5.07766 - 52.50 32.50 252.50 5.61847 - 52.50 32.50 257.50 5.12188 - 52.50 32.50 262.50 3.51128 - 52.50 32.50 267.50 1.77615 - 52.50 32.50 272.50 0.674572 - 52.50 32.50 277.50 0.178438 - 52.50 32.50 282.50 0.0504365 - 52.50 32.50 287.50 0.0130588 - 52.50 32.50 292.50 0.0155686 - 52.50 32.50 297.50 0.0400464 - 52.50 32.50 302.50 0.123106 - 52.50 32.50 307.50 0.316299 - 52.50 32.50 312.50 0.635225 - 52.50 32.50 317.50 1.05362 - 52.50 32.50 322.50 1.61851 - 52.50 32.50 327.50 2.49292 - 52.50 32.50 332.50 3.72516 - 52.50 32.50 337.50 5.07766 - 52.50 32.50 342.50 5.61847 - 52.50 32.50 347.50 5.12189 - 52.50 32.50 352.50 3.51129 - 52.50 32.50 357.50 1.77615 - 52.50 37.50 2.50 0.728263 - 52.50 37.50 7.50 0.208459 - 52.50 37.50 12.50 0.0528744 - 52.50 37.50 17.50 0.0141549 - 52.50 37.50 22.50 0.00811181 - 52.50 37.50 27.50 0.0140954 - 52.50 37.50 32.50 0.0465248 - 52.50 37.50 37.50 0.1377 - 52.50 37.50 42.50 0.328053 - 52.50 37.50 47.50 0.620381 - 52.50 37.50 52.50 1.13131 - 52.50 37.50 57.50 2.10851 - 52.50 37.50 62.50 3.53834 - 52.50 37.50 67.50 4.99912 - 52.50 37.50 72.50 5.68643 - 52.50 37.50 77.50 5.17216 - 52.50 37.50 82.50 3.59088 - 52.50 37.50 87.50 1.84194 - 52.50 37.50 92.50 0.728263 - 52.50 37.50 97.50 0.208459 - 52.50 37.50 102.50 0.0528743 - 52.50 37.50 107.50 0.0141549 - 52.50 37.50 112.50 0.00811181 - 52.50 37.50 117.50 0.0140954 - 52.50 37.50 122.50 0.0465248 - 52.50 37.50 127.50 0.1377 - 52.50 37.50 132.50 0.328053 - 52.50 37.50 137.50 0.620381 - 52.50 37.50 142.50 1.13131 - 52.50 37.50 147.50 2.10851 - 52.50 37.50 152.50 3.53834 - 52.50 37.50 157.50 4.99912 - 52.50 37.50 162.50 5.68643 - 52.50 37.50 167.50 5.17216 - 52.50 37.50 172.50 3.59088 - 52.50 37.50 177.50 1.84194 - 52.50 37.50 182.50 0.728262 - 52.50 37.50 187.50 0.208458 - 52.50 37.50 192.50 0.0528743 - 52.50 37.50 197.50 0.0141549 - 52.50 37.50 202.50 0.00811181 - 52.50 37.50 207.50 0.0140954 - 52.50 37.50 212.50 0.0465248 - 52.50 37.50 217.50 0.1377 - 52.50 37.50 222.50 0.328052 - 52.50 37.50 227.50 0.620381 - 52.50 37.50 232.50 1.13131 - 52.50 37.50 237.50 2.10851 - 52.50 37.50 242.50 3.53834 - 52.50 37.50 247.50 4.99912 - 52.50 37.50 252.50 5.68643 - 52.50 37.50 257.50 5.17216 - 52.50 37.50 262.50 3.59088 - 52.50 37.50 267.50 1.84194 - 52.50 37.50 272.50 0.728263 - 52.50 37.50 277.50 0.208459 - 52.50 37.50 282.50 0.0528744 - 52.50 37.50 287.50 0.0141549 - 52.50 37.50 292.50 0.0081118 - 52.50 37.50 297.50 0.0140954 - 52.50 37.50 302.50 0.0465248 - 52.50 37.50 307.50 0.1377 - 52.50 37.50 312.50 0.328052 - 52.50 37.50 317.50 0.620381 - 52.50 37.50 322.50 1.1313 - 52.50 37.50 327.50 2.10851 - 52.50 37.50 332.50 3.53834 - 52.50 37.50 337.50 4.99912 - 52.50 37.50 342.50 5.68642 - 52.50 37.50 347.50 5.17216 - 52.50 37.50 352.50 3.59089 - 52.50 37.50 357.50 1.84194 - 52.50 42.50 2.50 0.744225 - 52.50 42.50 7.50 0.25764 - 52.50 42.50 12.50 0.0797781 - 52.50 42.50 17.50 0.03419 - 52.50 42.50 22.50 0.0205436 - 52.50 42.50 27.50 0.0139855 - 52.50 42.50 32.50 0.0156238 - 52.50 42.50 37.50 0.0431594 - 52.50 42.50 42.50 0.117309 - 52.50 42.50 47.50 0.283541 - 52.50 42.50 52.50 0.677184 - 52.50 42.50 57.50 1.4521 - 52.50 42.50 62.50 2.64638 - 52.50 42.50 67.50 3.91269 - 52.50 42.50 72.50 4.6062 - 52.50 42.50 77.50 4.14883 - 52.50 42.50 82.50 2.93175 - 52.50 42.50 87.50 1.6303 - 52.50 42.50 92.50 0.744225 - 52.50 42.50 97.50 0.25764 - 52.50 42.50 102.50 0.0797781 - 52.50 42.50 107.50 0.03419 - 52.50 42.50 112.50 0.0205436 - 52.50 42.50 117.50 0.0139855 - 52.50 42.50 122.50 0.0156238 - 52.50 42.50 127.50 0.0431595 - 52.50 42.50 132.50 0.117309 - 52.50 42.50 137.50 0.283541 - 52.50 42.50 142.50 0.677184 - 52.50 42.50 147.50 1.45209 - 52.50 42.50 152.50 2.64638 - 52.50 42.50 157.50 3.91269 - 52.50 42.50 162.50 4.6062 - 52.50 42.50 167.50 4.14883 - 52.50 42.50 172.50 2.93175 - 52.50 42.50 177.50 1.6303 - 52.50 42.50 182.50 0.744225 - 52.50 42.50 187.50 0.25764 - 52.50 42.50 192.50 0.0797781 - 52.50 42.50 197.50 0.03419 - 52.50 42.50 202.50 0.0205436 - 52.50 42.50 207.50 0.0139855 - 52.50 42.50 212.50 0.0156238 - 52.50 42.50 217.50 0.0431594 - 52.50 42.50 222.50 0.117309 - 52.50 42.50 227.50 0.283541 - 52.50 42.50 232.50 0.677185 - 52.50 42.50 237.50 1.4521 - 52.50 42.50 242.50 2.64638 - 52.50 42.50 247.50 3.91269 - 52.50 42.50 252.50 4.6062 - 52.50 42.50 257.50 4.14883 - 52.50 42.50 262.50 2.93175 - 52.50 42.50 267.50 1.6303 - 52.50 42.50 272.50 0.744226 - 52.50 42.50 277.50 0.257641 - 52.50 42.50 282.50 0.0797782 - 52.50 42.50 287.50 0.03419 - 52.50 42.50 292.50 0.0205436 - 52.50 42.50 297.50 0.0139855 - 52.50 42.50 302.50 0.0156238 - 52.50 42.50 307.50 0.0431593 - 52.50 42.50 312.50 0.117309 - 52.50 42.50 317.50 0.28354 - 52.50 42.50 322.50 0.677183 - 52.50 42.50 327.50 1.45209 - 52.50 42.50 332.50 2.64638 - 52.50 42.50 337.50 3.91268 - 52.50 42.50 342.50 4.6062 - 52.50 42.50 347.50 4.14883 - 52.50 42.50 352.50 2.93175 - 52.50 42.50 357.50 1.63031 - 52.50 47.50 2.50 0.748975 - 52.50 47.50 7.50 0.352337 - 52.50 47.50 12.50 0.177551 - 52.50 47.50 17.50 0.119315 - 52.50 47.50 22.50 0.0948643 - 52.50 47.50 27.50 0.062525 - 52.50 47.50 32.50 0.0257526 - 52.50 47.50 37.50 0.0182599 - 52.50 47.50 42.50 0.0315758 - 52.50 47.50 47.50 0.117766 - 52.50 47.50 52.50 0.332445 - 52.50 47.50 57.50 0.808732 - 52.50 47.50 62.50 1.50534 - 52.50 47.50 67.50 2.34909 - 52.50 47.50 72.50 2.99443 - 52.50 47.50 77.50 2.79905 - 52.50 47.50 82.50 2.06907 - 52.50 47.50 87.50 1.30179 - 52.50 47.50 92.50 0.748976 - 52.50 47.50 97.50 0.352337 - 52.50 47.50 102.50 0.177551 - 52.50 47.50 107.50 0.119315 - 52.50 47.50 112.50 0.0948643 - 52.50 47.50 117.50 0.062525 - 52.50 47.50 122.50 0.0257526 - 52.50 47.50 127.50 0.0182599 - 52.50 47.50 132.50 0.0315758 - 52.50 47.50 137.50 0.117766 - 52.50 47.50 142.50 0.332445 - 52.50 47.50 147.50 0.808732 - 52.50 47.50 152.50 1.50534 - 52.50 47.50 157.50 2.34909 - 52.50 47.50 162.50 2.99443 - 52.50 47.50 167.50 2.79905 - 52.50 47.50 172.50 2.06908 - 52.50 47.50 177.50 1.3018 - 52.50 47.50 182.50 0.748975 - 52.50 47.50 187.50 0.352337 - 52.50 47.50 192.50 0.177551 - 52.50 47.50 197.50 0.119315 - 52.50 47.50 202.50 0.0948643 - 52.50 47.50 207.50 0.0625251 - 52.50 47.50 212.50 0.0257526 - 52.50 47.50 217.50 0.0182599 - 52.50 47.50 222.50 0.0315758 - 52.50 47.50 227.50 0.117766 - 52.50 47.50 232.50 0.332446 - 52.50 47.50 237.50 0.808733 - 52.50 47.50 242.50 1.50534 - 52.50 47.50 247.50 2.34909 - 52.50 47.50 252.50 2.99443 - 52.50 47.50 257.50 2.79904 - 52.50 47.50 262.50 2.06907 - 52.50 47.50 267.50 1.30179 - 52.50 47.50 272.50 0.748976 - 52.50 47.50 277.50 0.352337 - 52.50 47.50 282.50 0.177551 - 52.50 47.50 287.50 0.119315 - 52.50 47.50 292.50 0.0948642 - 52.50 47.50 297.50 0.0625252 - 52.50 47.50 302.50 0.0257527 - 52.50 47.50 307.50 0.0182599 - 52.50 47.50 312.50 0.0315758 - 52.50 47.50 317.50 0.117766 - 52.50 47.50 322.50 0.332445 - 52.50 47.50 327.50 0.808731 - 52.50 47.50 332.50 1.50534 - 52.50 47.50 337.50 2.34909 - 52.50 47.50 342.50 2.99443 - 52.50 47.50 347.50 2.79905 - 52.50 47.50 352.50 2.06908 - 52.50 47.50 357.50 1.3018 - 52.50 52.50 2.50 0.744226 - 52.50 52.50 7.50 0.522226 - 52.50 52.50 12.50 0.41007 - 52.50 52.50 17.50 0.355454 - 52.50 52.50 22.50 0.328956 - 52.50 52.50 27.50 0.223955 - 52.50 52.50 32.50 0.120783 - 52.50 52.50 37.50 0.0546704 - 52.50 52.50 42.50 0.0248604 - 52.50 52.50 47.50 0.0395077 - 52.50 52.50 52.50 0.128969 - 52.50 52.50 57.50 0.33982 - 52.50 52.50 62.50 0.632368 - 52.50 52.50 67.50 1.04099 - 52.50 52.50 72.50 1.47003 - 52.50 52.50 77.50 1.56226 - 52.50 52.50 82.50 1.30023 - 52.50 52.50 87.50 0.958352 - 52.50 52.50 92.50 0.744225 - 52.50 52.50 97.50 0.522225 - 52.50 52.50 102.50 0.41007 - 52.50 52.50 107.50 0.355454 - 52.50 52.50 112.50 0.328956 - 52.50 52.50 117.50 0.223955 - 52.50 52.50 122.50 0.120783 - 52.50 52.50 127.50 0.0546704 - 52.50 52.50 132.50 0.0248604 - 52.50 52.50 137.50 0.0395077 - 52.50 52.50 142.50 0.128969 - 52.50 52.50 147.50 0.33982 - 52.50 52.50 152.50 0.632368 - 52.50 52.50 157.50 1.04099 - 52.50 52.50 162.50 1.47003 - 52.50 52.50 167.50 1.56226 - 52.50 52.50 172.50 1.30023 - 52.50 52.50 177.50 0.958353 - 52.50 52.50 182.50 0.744225 - 52.50 52.50 187.50 0.522225 - 52.50 52.50 192.50 0.41007 - 52.50 52.50 197.50 0.355454 - 52.50 52.50 202.50 0.328956 - 52.50 52.50 207.50 0.223955 - 52.50 52.50 212.50 0.120783 - 52.50 52.50 217.50 0.0546704 - 52.50 52.50 222.50 0.0248604 - 52.50 52.50 227.50 0.0395077 - 52.50 52.50 232.50 0.128969 - 52.50 52.50 237.50 0.339821 - 52.50 52.50 242.50 0.632369 - 52.50 52.50 247.50 1.041 - 52.50 52.50 252.50 1.47003 - 52.50 52.50 257.50 1.56225 - 52.50 52.50 262.50 1.30023 - 52.50 52.50 267.50 0.958352 - 52.50 52.50 272.50 0.744226 - 52.50 52.50 277.50 0.522226 - 52.50 52.50 282.50 0.41007 - 52.50 52.50 287.50 0.355454 - 52.50 52.50 292.50 0.328956 - 52.50 52.50 297.50 0.223955 - 52.50 52.50 302.50 0.120783 - 52.50 52.50 307.50 0.0546705 - 52.50 52.50 312.50 0.0248604 - 52.50 52.50 317.50 0.0395076 - 52.50 52.50 322.50 0.128969 - 52.50 52.50 327.50 0.33982 - 52.50 52.50 332.50 0.632367 - 52.50 52.50 337.50 1.04099 - 52.50 52.50 342.50 1.47003 - 52.50 52.50 347.50 1.56225 - 52.50 52.50 352.50 1.30023 - 52.50 52.50 357.50 0.958353 - 52.50 57.50 2.50 0.728263 - 52.50 57.50 7.50 0.776923 - 52.50 57.50 12.50 0.830932 - 52.50 57.50 17.50 0.886596 - 52.50 57.50 22.50 0.841226 - 52.50 57.50 27.50 0.662422 - 52.50 57.50 32.50 0.461697 - 52.50 57.50 37.50 0.23898 - 52.50 57.50 42.50 0.0984553 - 52.50 57.50 47.50 0.0521243 - 52.50 57.50 52.50 0.0554553 - 52.50 57.50 57.50 0.115169 - 52.50 57.50 62.50 0.228961 - 52.50 57.50 67.50 0.348195 - 52.50 57.50 72.50 0.530183 - 52.50 57.50 77.50 0.659596 - 52.50 57.50 82.50 0.702082 - 52.50 57.50 87.50 0.64896 - 52.50 57.50 92.50 0.728263 - 52.50 57.50 97.50 0.776923 - 52.50 57.50 102.50 0.830932 - 52.50 57.50 107.50 0.886595 - 52.50 57.50 112.50 0.841225 - 52.50 57.50 117.50 0.662422 - 52.50 57.50 122.50 0.461696 - 52.50 57.50 127.50 0.23898 - 52.50 57.50 132.50 0.0984554 - 52.50 57.50 137.50 0.0521243 - 52.50 57.50 142.50 0.0554553 - 52.50 57.50 147.50 0.115169 - 52.50 57.50 152.50 0.228961 - 52.50 57.50 157.50 0.348195 - 52.50 57.50 162.50 0.530183 - 52.50 57.50 167.50 0.659596 - 52.50 57.50 172.50 0.702083 - 52.50 57.50 177.50 0.648961 - 52.50 57.50 182.50 0.728262 - 52.50 57.50 187.50 0.776923 - 52.50 57.50 192.50 0.830931 - 52.50 57.50 197.50 0.886595 - 52.50 57.50 202.50 0.841225 - 52.50 57.50 207.50 0.662421 - 52.50 57.50 212.50 0.461696 - 52.50 57.50 217.50 0.23898 - 52.50 57.50 222.50 0.0984555 - 52.50 57.50 227.50 0.0521242 - 52.50 57.50 232.50 0.0554554 - 52.50 57.50 237.50 0.115169 - 52.50 57.50 242.50 0.228961 - 52.50 57.50 247.50 0.348195 - 52.50 57.50 252.50 0.530183 - 52.50 57.50 257.50 0.659596 - 52.50 57.50 262.50 0.702082 - 52.50 57.50 267.50 0.648961 - 52.50 57.50 272.50 0.728263 - 52.50 57.50 277.50 0.776924 - 52.50 57.50 282.50 0.830932 - 52.50 57.50 287.50 0.886595 - 52.50 57.50 292.50 0.841225 - 52.50 57.50 297.50 0.662422 - 52.50 57.50 302.50 0.461697 - 52.50 57.50 307.50 0.23898 - 52.50 57.50 312.50 0.0984555 - 52.50 57.50 317.50 0.0521243 - 52.50 57.50 322.50 0.0554552 - 52.50 57.50 327.50 0.115169 - 52.50 57.50 332.50 0.228961 - 52.50 57.50 337.50 0.348194 - 52.50 57.50 342.50 0.530182 - 52.50 57.50 347.50 0.659595 - 52.50 57.50 352.50 0.702082 - 52.50 57.50 357.50 0.648961 - 52.50 62.50 2.50 0.674572 - 52.50 62.50 7.50 1.00263 - 52.50 62.50 12.50 1.32801 - 52.50 62.50 17.50 1.6142 - 52.50 62.50 22.50 1.77647 - 52.50 62.50 27.50 1.69099 - 52.50 62.50 32.50 1.32349 - 52.50 62.50 37.50 0.815867 - 52.50 62.50 42.50 0.377147 - 52.50 62.50 47.50 0.169935 - 52.50 62.50 52.50 0.0966426 - 52.50 62.50 57.50 0.0675346 - 52.50 62.50 62.50 0.0696792 - 52.50 62.50 67.50 0.0868904 - 52.50 62.50 72.50 0.129092 - 52.50 62.50 77.50 0.20877 - 52.50 62.50 82.50 0.309995 - 52.50 62.50 87.50 0.413684 - 52.50 62.50 92.50 0.674572 - 52.50 62.50 97.50 1.00263 - 52.50 62.50 102.50 1.32801 - 52.50 62.50 107.50 1.6142 - 52.50 62.50 112.50 1.77647 - 52.50 62.50 117.50 1.69099 - 52.50 62.50 122.50 1.32349 - 52.50 62.50 127.50 0.815866 - 52.50 62.50 132.50 0.377147 - 52.50 62.50 137.50 0.169935 - 52.50 62.50 142.50 0.0966426 - 52.50 62.50 147.50 0.0675346 - 52.50 62.50 152.50 0.0696793 - 52.50 62.50 157.50 0.0868904 - 52.50 62.50 162.50 0.129092 - 52.50 62.50 167.50 0.20877 - 52.50 62.50 172.50 0.309995 - 52.50 62.50 177.50 0.413684 - 52.50 62.50 182.50 0.674572 - 52.50 62.50 187.50 1.00263 - 52.50 62.50 192.50 1.32801 - 52.50 62.50 197.50 1.6142 - 52.50 62.50 202.50 1.77647 - 52.50 62.50 207.50 1.69099 - 52.50 62.50 212.50 1.32349 - 52.50 62.50 217.50 0.815867 - 52.50 62.50 222.50 0.377147 - 52.50 62.50 227.50 0.169935 - 52.50 62.50 232.50 0.0966425 - 52.50 62.50 237.50 0.0675346 - 52.50 62.50 242.50 0.0696793 - 52.50 62.50 247.50 0.0868905 - 52.50 62.50 252.50 0.129092 - 52.50 62.50 257.50 0.20877 - 52.50 62.50 262.50 0.309996 - 52.50 62.50 267.50 0.413684 - 52.50 62.50 272.50 0.674572 - 52.50 62.50 277.50 1.00263 - 52.50 62.50 282.50 1.32801 - 52.50 62.50 287.50 1.6142 - 52.50 62.50 292.50 1.77647 - 52.50 62.50 297.50 1.69099 - 52.50 62.50 302.50 1.32349 - 52.50 62.50 307.50 0.815867 - 52.50 62.50 312.50 0.377147 - 52.50 62.50 317.50 0.169936 - 52.50 62.50 322.50 0.0966427 - 52.50 62.50 327.50 0.0675347 - 52.50 62.50 332.50 0.0696791 - 52.50 62.50 337.50 0.0868903 - 52.50 62.50 342.50 0.129092 - 52.50 62.50 347.50 0.20877 - 52.50 62.50 352.50 0.309994 - 52.50 62.50 357.50 0.413684 - 52.50 67.50 2.50 0.558756 - 52.50 67.50 7.50 1.02867 - 52.50 67.50 12.50 1.62736 - 52.50 67.50 17.50 2.3577 - 52.50 67.50 22.50 3.0666 - 52.50 67.50 27.50 3.30371 - 52.50 67.50 32.50 2.79687 - 52.50 67.50 37.50 1.94523 - 52.50 67.50 42.50 1.0852 - 52.50 67.50 47.50 0.504637 - 52.50 67.50 52.50 0.223059 - 52.50 67.50 57.50 0.0950841 - 52.50 67.50 62.50 0.0329186 - 52.50 67.50 67.50 0.0154909 - 52.50 67.50 72.50 0.0236979 - 52.50 67.50 77.50 0.0594931 - 52.50 67.50 82.50 0.131129 - 52.50 67.50 87.50 0.259396 - 52.50 67.50 92.50 0.558756 - 52.50 67.50 97.50 1.02867 - 52.50 67.50 102.50 1.62736 - 52.50 67.50 107.50 2.35769 - 52.50 67.50 112.50 3.0666 - 52.50 67.50 117.50 3.30371 - 52.50 67.50 122.50 2.79687 - 52.50 67.50 127.50 1.94523 - 52.50 67.50 132.50 1.0852 - 52.50 67.50 137.50 0.504636 - 52.50 67.50 142.50 0.223059 - 52.50 67.50 147.50 0.0950841 - 52.50 67.50 152.50 0.0329186 - 52.50 67.50 157.50 0.0154909 - 52.50 67.50 162.50 0.0236979 - 52.50 67.50 167.50 0.0594931 - 52.50 67.50 172.50 0.131129 - 52.50 67.50 177.50 0.259395 - 52.50 67.50 182.50 0.558757 - 52.50 67.50 187.50 1.02867 - 52.50 67.50 192.50 1.62736 - 52.50 67.50 197.50 2.35769 - 52.50 67.50 202.50 3.0666 - 52.50 67.50 207.50 3.30371 - 52.50 67.50 212.50 2.79687 - 52.50 67.50 217.50 1.94523 - 52.50 67.50 222.50 1.0852 - 52.50 67.50 227.50 0.504637 - 52.50 67.50 232.50 0.223058 - 52.50 67.50 237.50 0.095084 - 52.50 67.50 242.50 0.0329185 - 52.50 67.50 247.50 0.0154909 - 52.50 67.50 252.50 0.0236979 - 52.50 67.50 257.50 0.0594932 - 52.50 67.50 262.50 0.13113 - 52.50 67.50 267.50 0.259396 - 52.50 67.50 272.50 0.558757 - 52.50 67.50 277.50 1.02868 - 52.50 67.50 282.50 1.62736 - 52.50 67.50 287.50 2.3577 - 52.50 67.50 292.50 3.0666 - 52.50 67.50 297.50 3.30371 - 52.50 67.50 302.50 2.79687 - 52.50 67.50 307.50 1.94523 - 52.50 67.50 312.50 1.0852 - 52.50 67.50 317.50 0.504637 - 52.50 67.50 322.50 0.223059 - 52.50 67.50 327.50 0.0950842 - 52.50 67.50 332.50 0.0329186 - 52.50 67.50 337.50 0.0154909 - 52.50 67.50 342.50 0.0236979 - 52.50 67.50 347.50 0.059493 - 52.50 67.50 352.50 0.131129 - 52.50 67.50 357.50 0.259395 - 52.50 72.50 2.50 0.431719 - 52.50 72.50 7.50 0.884318 - 52.50 72.50 12.50 1.64508 - 52.50 72.50 17.50 2.78633 - 52.50 72.50 22.50 4.10632 - 52.50 72.50 27.50 4.68107 - 52.50 72.50 32.50 4.36541 - 52.50 72.50 37.50 3.4516 - 52.50 72.50 42.50 2.17709 - 52.50 72.50 47.50 1.09353 - 52.50 72.50 52.50 0.456806 - 52.50 72.50 57.50 0.16299 - 52.50 72.50 62.50 0.0509298 - 52.50 72.50 67.50 0.0130062 - 52.50 72.50 72.50 0.009612 - 52.50 72.50 77.50 0.0277193 - 52.50 72.50 82.50 0.0853451 - 52.50 72.50 87.50 0.187455 - 52.50 72.50 92.50 0.431719 - 52.50 72.50 97.50 0.884318 - 52.50 72.50 102.50 1.64508 - 52.50 72.50 107.50 2.78633 - 52.50 72.50 112.50 4.10632 - 52.50 72.50 117.50 4.68107 - 52.50 72.50 122.50 4.36541 - 52.50 72.50 127.50 3.4516 - 52.50 72.50 132.50 2.17709 - 52.50 72.50 137.50 1.09353 - 52.50 72.50 142.50 0.456806 - 52.50 72.50 147.50 0.162991 - 52.50 72.50 152.50 0.0509299 - 52.50 72.50 157.50 0.0130062 - 52.50 72.50 162.50 0.009612 - 52.50 72.50 167.50 0.0277193 - 52.50 72.50 172.50 0.0853451 - 52.50 72.50 177.50 0.187455 - 52.50 72.50 182.50 0.43172 - 52.50 72.50 187.50 0.884319 - 52.50 72.50 192.50 1.64508 - 52.50 72.50 197.50 2.78633 - 52.50 72.50 202.50 4.10632 - 52.50 72.50 207.50 4.68107 - 52.50 72.50 212.50 4.36541 - 52.50 72.50 217.50 3.4516 - 52.50 72.50 222.50 2.17709 - 52.50 72.50 227.50 1.09353 - 52.50 72.50 232.50 0.456805 - 52.50 72.50 237.50 0.16299 - 52.50 72.50 242.50 0.0509297 - 52.50 72.50 247.50 0.0130062 - 52.50 72.50 252.50 0.00961201 - 52.50 72.50 257.50 0.0277194 - 52.50 72.50 262.50 0.0853453 - 52.50 72.50 267.50 0.187455 - 52.50 72.50 272.50 0.431719 - 52.50 72.50 277.50 0.884319 - 52.50 72.50 282.50 1.64508 - 52.50 72.50 287.50 2.78633 - 52.50 72.50 292.50 4.10632 - 52.50 72.50 297.50 4.68107 - 52.50 72.50 302.50 4.36541 - 52.50 72.50 307.50 3.4516 - 52.50 72.50 312.50 2.17709 - 52.50 72.50 317.50 1.09353 - 52.50 72.50 322.50 0.456807 - 52.50 72.50 327.50 0.162991 - 52.50 72.50 332.50 0.05093 - 52.50 72.50 337.50 0.0130063 - 52.50 72.50 342.50 0.009612 - 52.50 72.50 347.50 0.0277192 - 52.50 72.50 352.50 0.0853449 - 52.50 72.50 357.50 0.187455 - 52.50 77.50 2.50 0.338201 - 52.50 77.50 7.50 0.73616 - 52.50 77.50 12.50 1.44413 - 52.50 77.50 17.50 2.73288 - 52.50 77.50 22.50 4.17443 - 52.50 77.50 27.50 5.10879 - 52.50 77.50 32.50 5.19463 - 52.50 77.50 37.50 4.33102 - 52.50 77.50 42.50 3.12333 - 52.50 77.50 47.50 1.88771 - 52.50 77.50 52.50 0.973891 - 52.50 77.50 57.50 0.421262 - 52.50 77.50 62.50 0.147111 - 52.50 77.50 67.50 0.0478692 - 52.50 77.50 72.50 0.0263765 - 52.50 77.50 77.50 0.0376966 - 52.50 77.50 82.50 0.0790087 - 52.50 77.50 87.50 0.178607 - 52.50 77.50 92.50 0.338201 - 52.50 77.50 97.50 0.73616 - 52.50 77.50 102.50 1.44413 - 52.50 77.50 107.50 2.73288 - 52.50 77.50 112.50 4.17443 - 52.50 77.50 117.50 5.10879 - 52.50 77.50 122.50 5.19463 - 52.50 77.50 127.50 4.33102 - 52.50 77.50 132.50 3.12333 - 52.50 77.50 137.50 1.88771 - 52.50 77.50 142.50 0.97389 - 52.50 77.50 147.50 0.421262 - 52.50 77.50 152.50 0.147111 - 52.50 77.50 157.50 0.0478693 - 52.50 77.50 162.50 0.0263765 - 52.50 77.50 167.50 0.0376965 - 52.50 77.50 172.50 0.0790086 - 52.50 77.50 177.50 0.178607 - 52.50 77.50 182.50 0.338201 - 52.50 77.50 187.50 0.73616 - 52.50 77.50 192.50 1.44414 - 52.50 77.50 197.50 2.73288 - 52.50 77.50 202.50 4.17443 - 52.50 77.50 207.50 5.10878 - 52.50 77.50 212.50 5.19463 - 52.50 77.50 217.50 4.33102 - 52.50 77.50 222.50 3.12333 - 52.50 77.50 227.50 1.88771 - 52.50 77.50 232.50 0.973888 - 52.50 77.50 237.50 0.421261 - 52.50 77.50 242.50 0.147111 - 52.50 77.50 247.50 0.0478691 - 52.50 77.50 252.50 0.0263765 - 52.50 77.50 257.50 0.0376966 - 52.50 77.50 262.50 0.0790088 - 52.50 77.50 267.50 0.178607 - 52.50 77.50 272.50 0.338201 - 52.50 77.50 277.50 0.73616 - 52.50 77.50 282.50 1.44413 - 52.50 77.50 287.50 2.73288 - 52.50 77.50 292.50 4.17443 - 52.50 77.50 297.50 5.10879 - 52.50 77.50 302.50 5.19463 - 52.50 77.50 307.50 4.33102 - 52.50 77.50 312.50 3.12333 - 52.50 77.50 317.50 1.88771 - 52.50 77.50 322.50 0.973891 - 52.50 77.50 327.50 0.421263 - 52.50 77.50 332.50 0.147112 - 52.50 77.50 337.50 0.0478693 - 52.50 77.50 342.50 0.0263765 - 52.50 77.50 347.50 0.0376965 - 52.50 77.50 352.50 0.0790085 - 52.50 77.50 357.50 0.178607 - 52.50 82.50 2.50 0.239625 - 52.50 82.50 7.50 0.55432 - 52.50 82.50 12.50 1.13893 - 52.50 82.50 17.50 2.09991 - 52.50 82.50 22.50 3.30358 - 52.50 82.50 27.50 4.46684 - 52.50 82.50 32.50 4.91499 - 52.50 82.50 37.50 4.50362 - 52.50 82.50 42.50 3.51669 - 52.50 82.50 47.50 2.4979 - 52.50 82.50 52.50 1.60633 - 52.50 82.50 57.50 0.85953 - 52.50 82.50 62.50 0.393791 - 52.50 82.50 67.50 0.176318 - 52.50 82.50 72.50 0.0927869 - 52.50 82.50 77.50 0.0700692 - 52.50 82.50 82.50 0.0772341 - 52.50 82.50 87.50 0.125546 - 52.50 82.50 92.50 0.239625 - 52.50 82.50 97.50 0.55432 - 52.50 82.50 102.50 1.13893 - 52.50 82.50 107.50 2.0999 - 52.50 82.50 112.50 3.30358 - 52.50 82.50 117.50 4.46684 - 52.50 82.50 122.50 4.91499 - 52.50 82.50 127.50 4.50362 - 52.50 82.50 132.50 3.51669 - 52.50 82.50 137.50 2.4979 - 52.50 82.50 142.50 1.60633 - 52.50 82.50 147.50 0.85953 - 52.50 82.50 152.50 0.393791 - 52.50 82.50 157.50 0.176318 - 52.50 82.50 162.50 0.0927869 - 52.50 82.50 167.50 0.0700692 - 52.50 82.50 172.50 0.0772341 - 52.50 82.50 177.50 0.125546 - 52.50 82.50 182.50 0.239625 - 52.50 82.50 187.50 0.55432 - 52.50 82.50 192.50 1.13893 - 52.50 82.50 197.50 2.0999 - 52.50 82.50 202.50 3.30358 - 52.50 82.50 207.50 4.46684 - 52.50 82.50 212.50 4.91499 - 52.50 82.50 217.50 4.50362 - 52.50 82.50 222.50 3.51669 - 52.50 82.50 227.50 2.4979 - 52.50 82.50 232.50 1.60633 - 52.50 82.50 237.50 0.859529 - 52.50 82.50 242.50 0.39379 - 52.50 82.50 247.50 0.176318 - 52.50 82.50 252.50 0.0927868 - 52.50 82.50 257.50 0.0700693 - 52.50 82.50 262.50 0.0772342 - 52.50 82.50 267.50 0.125546 - 52.50 82.50 272.50 0.239625 - 52.50 82.50 277.50 0.55432 - 52.50 82.50 282.50 1.13893 - 52.50 82.50 287.50 2.0999 - 52.50 82.50 292.50 3.30358 - 52.50 82.50 297.50 4.46684 - 52.50 82.50 302.50 4.91499 - 52.50 82.50 307.50 4.50362 - 52.50 82.50 312.50 3.51669 - 52.50 82.50 317.50 2.4979 - 52.50 82.50 322.50 1.60633 - 52.50 82.50 327.50 0.859531 - 52.50 82.50 332.50 0.393792 - 52.50 82.50 337.50 0.176319 - 52.50 82.50 342.50 0.0927871 - 52.50 82.50 347.50 0.0700693 - 52.50 82.50 352.50 0.0772341 - 52.50 82.50 357.50 0.125545 - 52.50 87.50 2.50 0.132069 - 52.50 87.50 7.50 0.309184 - 52.50 87.50 12.50 0.659936 - 52.50 87.50 17.50 1.1883 - 52.50 87.50 22.50 2.08425 - 52.50 87.50 27.50 3.15088 - 52.50 87.50 32.50 3.86455 - 52.50 87.50 37.50 3.91893 - 52.50 87.50 42.50 3.47699 - 52.50 87.50 47.50 2.84468 - 52.50 87.50 52.50 2.16789 - 52.50 87.50 57.50 1.51502 - 52.50 87.50 62.50 0.958483 - 52.50 87.50 67.50 0.555857 - 52.50 87.50 72.50 0.313855 - 52.50 87.50 77.50 0.185422 - 52.50 87.50 82.50 0.101098 - 52.50 87.50 87.50 0.079334 - 52.50 87.50 92.50 0.132069 - 52.50 87.50 97.50 0.309185 - 52.50 87.50 102.50 0.659937 - 52.50 87.50 107.50 1.1883 - 52.50 87.50 112.50 2.08426 - 52.50 87.50 117.50 3.15089 - 52.50 87.50 122.50 3.86455 - 52.50 87.50 127.50 3.91893 - 52.50 87.50 132.50 3.477 - 52.50 87.50 137.50 2.84468 - 52.50 87.50 142.50 2.16789 - 52.50 87.50 147.50 1.51502 - 52.50 87.50 152.50 0.958483 - 52.50 87.50 157.50 0.555858 - 52.50 87.50 162.50 0.313856 - 52.50 87.50 167.50 0.185422 - 52.50 87.50 172.50 0.101098 - 52.50 87.50 177.50 0.079334 - 52.50 87.50 182.50 0.132069 - 52.50 87.50 187.50 0.309185 - 52.50 87.50 192.50 0.659937 - 52.50 87.50 197.50 1.1883 - 52.50 87.50 202.50 2.08426 - 52.50 87.50 207.50 3.15089 - 52.50 87.50 212.50 3.86455 - 52.50 87.50 217.50 3.91893 - 52.50 87.50 222.50 3.477 - 52.50 87.50 227.50 2.84468 - 52.50 87.50 232.50 2.16789 - 52.50 87.50 237.50 1.51502 - 52.50 87.50 242.50 0.958482 - 52.50 87.50 247.50 0.555857 - 52.50 87.50 252.50 0.313855 - 52.50 87.50 257.50 0.185422 - 52.50 87.50 262.50 0.101098 - 52.50 87.50 267.50 0.079334 - 52.50 87.50 272.50 0.132069 - 52.50 87.50 277.50 0.309184 - 52.50 87.50 282.50 0.659936 - 52.50 87.50 287.50 1.1883 - 52.50 87.50 292.50 2.08425 - 52.50 87.50 297.50 3.15088 - 52.50 87.50 302.50 3.86454 - 52.50 87.50 307.50 3.91893 - 52.50 87.50 312.50 3.477 - 52.50 87.50 317.50 2.84468 - 52.50 87.50 322.50 2.16789 - 52.50 87.50 327.50 1.51502 - 52.50 87.50 332.50 0.958484 - 52.50 87.50 337.50 0.555858 - 52.50 87.50 342.50 0.313856 - 52.50 87.50 347.50 0.185422 - 52.50 87.50 352.50 0.101098 - 52.50 87.50 357.50 0.079334 - 52.50 92.50 2.50 0.083846 - 52.50 92.50 7.50 0.12541 - 52.50 92.50 12.50 0.244555 - 52.50 92.50 17.50 0.460876 - 52.50 92.50 22.50 0.865461 - 52.50 92.50 27.50 1.46809 - 52.50 92.50 32.50 2.09891 - 52.50 92.50 37.50 2.5719 - 52.50 92.50 42.50 2.82217 - 52.50 92.50 47.50 2.8916 - 52.50 92.50 52.50 2.82217 - 52.50 92.50 57.50 2.5719 - 52.50 92.50 62.50 2.09891 - 52.50 92.50 67.50 1.46809 - 52.50 92.50 72.50 0.865461 - 52.50 92.50 77.50 0.460876 - 52.50 92.50 82.50 0.244556 - 52.50 92.50 87.50 0.12541 - 52.50 92.50 92.50 0.083846 - 52.50 92.50 97.50 0.12541 - 52.50 92.50 102.50 0.244556 - 52.50 92.50 107.50 0.460877 - 52.50 92.50 112.50 0.865462 - 52.50 92.50 117.50 1.46809 - 52.50 92.50 122.50 2.09891 - 52.50 92.50 127.50 2.5719 - 52.50 92.50 132.50 2.82217 - 52.50 92.50 137.50 2.8916 - 52.50 92.50 142.50 2.82217 - 52.50 92.50 147.50 2.5719 - 52.50 92.50 152.50 2.09891 - 52.50 92.50 157.50 1.46809 - 52.50 92.50 162.50 0.865463 - 52.50 92.50 167.50 0.460877 - 52.50 92.50 172.50 0.244556 - 52.50 92.50 177.50 0.12541 - 52.50 92.50 182.50 0.083846 - 52.50 92.50 187.50 0.12541 - 52.50 92.50 192.50 0.244556 - 52.50 92.50 197.50 0.460877 - 52.50 92.50 202.50 0.865462 - 52.50 92.50 207.50 1.46809 - 52.50 92.50 212.50 2.09891 - 52.50 92.50 217.50 2.5719 - 52.50 92.50 222.50 2.82217 - 52.50 92.50 227.50 2.8916 - 52.50 92.50 232.50 2.82217 - 52.50 92.50 237.50 2.5719 - 52.50 92.50 242.50 2.09891 - 52.50 92.50 247.50 1.46809 - 52.50 92.50 252.50 0.865461 - 52.50 92.50 257.50 0.460876 - 52.50 92.50 262.50 0.244555 - 52.50 92.50 267.50 0.12541 - 52.50 92.50 272.50 0.083846 - 52.50 92.50 277.50 0.12541 - 52.50 92.50 282.50 0.244556 - 52.50 92.50 287.50 0.460876 - 52.50 92.50 292.50 0.865461 - 52.50 92.50 297.50 1.46809 - 52.50 92.50 302.50 2.09891 - 52.50 92.50 307.50 2.5719 - 52.50 92.50 312.50 2.82217 - 52.50 92.50 317.50 2.8916 - 52.50 92.50 322.50 2.82217 - 52.50 92.50 327.50 2.5719 - 52.50 92.50 332.50 2.09891 - 52.50 92.50 337.50 1.46809 - 52.50 92.50 342.50 0.865463 - 52.50 92.50 347.50 0.460878 - 52.50 92.50 352.50 0.244556 - 52.50 92.50 357.50 0.12541 - 52.50 97.50 2.50 0.132069 - 52.50 97.50 7.50 0.079334 - 52.50 97.50 12.50 0.101098 - 52.50 97.50 17.50 0.185422 - 52.50 97.50 22.50 0.313855 - 52.50 97.50 27.50 0.555857 - 52.50 97.50 32.50 0.958483 - 52.50 97.50 37.50 1.51502 - 52.50 97.50 42.50 2.16789 - 52.50 97.50 47.50 2.84468 - 52.50 97.50 52.50 3.477 - 52.50 97.50 57.50 3.91893 - 52.50 97.50 62.50 3.86455 - 52.50 97.50 67.50 3.15088 - 52.50 97.50 72.50 2.08425 - 52.50 97.50 77.50 1.1883 - 52.50 97.50 82.50 0.659936 - 52.50 97.50 87.50 0.309184 - 52.50 97.50 92.50 0.132069 - 52.50 97.50 97.50 0.079334 - 52.50 97.50 102.50 0.101098 - 52.50 97.50 107.50 0.185422 - 52.50 97.50 112.50 0.313856 - 52.50 97.50 117.50 0.555858 - 52.50 97.50 122.50 0.958484 - 52.50 97.50 127.50 1.51502 - 52.50 97.50 132.50 2.16789 - 52.50 97.50 137.50 2.84469 - 52.50 97.50 142.50 3.477 - 52.50 97.50 147.50 3.91893 - 52.50 97.50 152.50 3.86454 - 52.50 97.50 157.50 3.15089 - 52.50 97.50 162.50 2.08425 - 52.50 97.50 167.50 1.1883 - 52.50 97.50 172.50 0.659937 - 52.50 97.50 177.50 0.309185 - 52.50 97.50 182.50 0.132069 - 52.50 97.50 187.50 0.079334 - 52.50 97.50 192.50 0.101098 - 52.50 97.50 197.50 0.185422 - 52.50 97.50 202.50 0.313856 - 52.50 97.50 207.50 0.555858 - 52.50 97.50 212.50 0.958483 - 52.50 97.50 217.50 1.51502 - 52.50 97.50 222.50 2.16789 - 52.50 97.50 227.50 2.84468 - 52.50 97.50 232.50 3.477 - 52.50 97.50 237.50 3.91893 - 52.50 97.50 242.50 3.86454 - 52.50 97.50 247.50 3.15088 - 52.50 97.50 252.50 2.08425 - 52.50 97.50 257.50 1.1883 - 52.50 97.50 262.50 0.659935 - 52.50 97.50 267.50 0.309184 - 52.50 97.50 272.50 0.132069 - 52.50 97.50 277.50 0.079334 - 52.50 97.50 282.50 0.101098 - 52.50 97.50 287.50 0.185422 - 52.50 97.50 292.50 0.313855 - 52.50 97.50 297.50 0.555857 - 52.50 97.50 302.50 0.958483 - 52.50 97.50 307.50 1.51502 - 52.50 97.50 312.50 2.16789 - 52.50 97.50 317.50 2.84468 - 52.50 97.50 322.50 3.47699 - 52.50 97.50 327.50 3.91893 - 52.50 97.50 332.50 3.86455 - 52.50 97.50 337.50 3.15089 - 52.50 97.50 342.50 2.08426 - 52.50 97.50 347.50 1.1883 - 52.50 97.50 352.50 0.659937 - 52.50 97.50 357.50 0.309185 - 52.50 102.50 2.50 0.239625 - 52.50 102.50 7.50 0.125546 - 52.50 102.50 12.50 0.0772341 - 52.50 102.50 17.50 0.0700692 - 52.50 102.50 22.50 0.0927868 - 52.50 102.50 27.50 0.176318 - 52.50 102.50 32.50 0.393791 - 52.50 102.50 37.50 0.85953 - 52.50 102.50 42.50 1.60633 - 52.50 102.50 47.50 2.4979 - 52.50 102.50 52.50 3.51669 - 52.50 102.50 57.50 4.50362 - 52.50 102.50 62.50 4.91499 - 52.50 102.50 67.50 4.46683 - 52.50 102.50 72.50 3.30358 - 52.50 102.50 77.50 2.0999 - 52.50 102.50 82.50 1.13893 - 52.50 102.50 87.50 0.55432 - 52.50 102.50 92.50 0.239625 - 52.50 102.50 97.50 0.125546 - 52.50 102.50 102.50 0.0772341 - 52.50 102.50 107.50 0.0700693 - 52.50 102.50 112.50 0.0927869 - 52.50 102.50 117.50 0.176318 - 52.50 102.50 122.50 0.393791 - 52.50 102.50 127.50 0.859532 - 52.50 102.50 132.50 1.60633 - 52.50 102.50 137.50 2.4979 - 52.50 102.50 142.50 3.51669 - 52.50 102.50 147.50 4.50362 - 52.50 102.50 152.50 4.91499 - 52.50 102.50 157.50 4.46683 - 52.50 102.50 162.50 3.30358 - 52.50 102.50 167.50 2.0999 - 52.50 102.50 172.50 1.13893 - 52.50 102.50 177.50 0.55432 - 52.50 102.50 182.50 0.239625 - 52.50 102.50 187.50 0.125546 - 52.50 102.50 192.50 0.0772341 - 52.50 102.50 197.50 0.0700693 - 52.50 102.50 202.50 0.092787 - 52.50 102.50 207.50 0.176318 - 52.50 102.50 212.50 0.393791 - 52.50 102.50 217.50 0.85953 - 52.50 102.50 222.50 1.60633 - 52.50 102.50 227.50 2.4979 - 52.50 102.50 232.50 3.5167 - 52.50 102.50 237.50 4.50362 - 52.50 102.50 242.50 4.91499 - 52.50 102.50 247.50 4.46683 - 52.50 102.50 252.50 3.30358 - 52.50 102.50 257.50 2.0999 - 52.50 102.50 262.50 1.13893 - 52.50 102.50 267.50 0.55432 - 52.50 102.50 272.50 0.239625 - 52.50 102.50 277.50 0.125546 - 52.50 102.50 282.50 0.0772342 - 52.50 102.50 287.50 0.0700692 - 52.50 102.50 292.50 0.0927869 - 52.50 102.50 297.50 0.176318 - 52.50 102.50 302.50 0.393791 - 52.50 102.50 307.50 0.859529 - 52.50 102.50 312.50 1.60633 - 52.50 102.50 317.50 2.4979 - 52.50 102.50 322.50 3.51669 - 52.50 102.50 327.50 4.50362 - 52.50 102.50 332.50 4.91499 - 52.50 102.50 337.50 4.46684 - 52.50 102.50 342.50 3.30358 - 52.50 102.50 347.50 2.09991 - 52.50 102.50 352.50 1.13893 - 52.50 102.50 357.50 0.554321 - 52.50 107.50 2.50 0.338201 - 52.50 107.50 7.50 0.178607 - 52.50 107.50 12.50 0.0790087 - 52.50 107.50 17.50 0.0376965 - 52.50 107.50 22.50 0.0263765 - 52.50 107.50 27.50 0.0478693 - 52.50 107.50 32.50 0.147111 - 52.50 107.50 37.50 0.421262 - 52.50 107.50 42.50 0.97389 - 52.50 107.50 47.50 1.88771 - 52.50 107.50 52.50 3.12333 - 52.50 107.50 57.50 4.33102 - 52.50 107.50 62.50 5.19463 - 52.50 107.50 67.50 5.10878 - 52.50 107.50 72.50 4.17443 - 52.50 107.50 77.50 2.73288 - 52.50 107.50 82.50 1.44413 - 52.50 107.50 87.50 0.736159 - 52.50 107.50 92.50 0.338201 - 52.50 107.50 97.50 0.178607 - 52.50 107.50 102.50 0.0790086 - 52.50 107.50 107.50 0.0376966 - 52.50 107.50 112.50 0.0263765 - 52.50 107.50 117.50 0.0478694 - 52.50 107.50 122.50 0.147112 - 52.50 107.50 127.50 0.421263 - 52.50 107.50 132.50 0.973892 - 52.50 107.50 137.50 1.88771 - 52.50 107.50 142.50 3.12333 - 52.50 107.50 147.50 4.33102 - 52.50 107.50 152.50 5.19463 - 52.50 107.50 157.50 5.10878 - 52.50 107.50 162.50 4.17443 - 52.50 107.50 167.50 2.73288 - 52.50 107.50 172.50 1.44414 - 52.50 107.50 177.50 0.73616 - 52.50 107.50 182.50 0.3382 - 52.50 107.50 187.50 0.178607 - 52.50 107.50 192.50 0.0790086 - 52.50 107.50 197.50 0.0376965 - 52.50 107.50 202.50 0.0263765 - 52.50 107.50 207.50 0.0478693 - 52.50 107.50 212.50 0.147111 - 52.50 107.50 217.50 0.421262 - 52.50 107.50 222.50 0.97389 - 52.50 107.50 227.50 1.88771 - 52.50 107.50 232.50 3.12333 - 52.50 107.50 237.50 4.33102 - 52.50 107.50 242.50 5.19463 - 52.50 107.50 247.50 5.10878 - 52.50 107.50 252.50 4.17443 - 52.50 107.50 257.50 2.73288 - 52.50 107.50 262.50 1.44413 - 52.50 107.50 267.50 0.736159 - 52.50 107.50 272.50 0.338201 - 52.50 107.50 277.50 0.178607 - 52.50 107.50 282.50 0.0790087 - 52.50 107.50 287.50 0.0376965 - 52.50 107.50 292.50 0.0263765 - 52.50 107.50 297.50 0.0478691 - 52.50 107.50 302.50 0.147111 - 52.50 107.50 307.50 0.421261 - 52.50 107.50 312.50 0.973889 - 52.50 107.50 317.50 1.88771 - 52.50 107.50 322.50 3.12332 - 52.50 107.50 327.50 4.33102 - 52.50 107.50 332.50 5.19463 - 52.50 107.50 337.50 5.10878 - 52.50 107.50 342.50 4.17444 - 52.50 107.50 347.50 2.73289 - 52.50 107.50 352.50 1.44414 - 52.50 107.50 357.50 0.736162 - 52.50 112.50 2.50 0.431719 - 52.50 112.50 7.50 0.187455 - 52.50 112.50 12.50 0.0853452 - 52.50 112.50 17.50 0.0277193 - 52.50 112.50 22.50 0.009612 - 52.50 112.50 27.50 0.0130062 - 52.50 112.50 32.50 0.0509298 - 52.50 112.50 37.50 0.162991 - 52.50 112.50 42.50 0.456806 - 52.50 112.50 47.50 1.09353 - 52.50 112.50 52.50 2.17709 - 52.50 112.50 57.50 3.4516 - 52.50 112.50 62.50 4.36541 - 52.50 112.50 67.50 4.68107 - 52.50 112.50 72.50 4.10632 - 52.50 112.50 77.50 2.78633 - 52.50 112.50 82.50 1.64508 - 52.50 112.50 87.50 0.884318 - 52.50 112.50 92.50 0.431719 - 52.50 112.50 97.50 0.187455 - 52.50 112.50 102.50 0.0853451 - 52.50 112.50 107.50 0.0277193 - 52.50 112.50 112.50 0.009612 - 52.50 112.50 117.50 0.0130063 - 52.50 112.50 122.50 0.05093 - 52.50 112.50 127.50 0.162991 - 52.50 112.50 132.50 0.456807 - 52.50 112.50 137.50 1.09353 - 52.50 112.50 142.50 2.17709 - 52.50 112.50 147.50 3.4516 - 52.50 112.50 152.50 4.36541 - 52.50 112.50 157.50 4.68107 - 52.50 112.50 162.50 4.10632 - 52.50 112.50 167.50 2.78633 - 52.50 112.50 172.50 1.64508 - 52.50 112.50 177.50 0.884319 - 52.50 112.50 182.50 0.431719 - 52.50 112.50 187.50 0.187455 - 52.50 112.50 192.50 0.0853451 - 52.50 112.50 197.50 0.0277193 - 52.50 112.50 202.50 0.00961201 - 52.50 112.50 207.50 0.0130062 - 52.50 112.50 212.50 0.0509299 - 52.50 112.50 217.50 0.162991 - 52.50 112.50 222.50 0.456806 - 52.50 112.50 227.50 1.09353 - 52.50 112.50 232.50 2.17709 - 52.50 112.50 237.50 3.45161 - 52.50 112.50 242.50 4.36541 - 52.50 112.50 247.50 4.68107 - 52.50 112.50 252.50 4.10632 - 52.50 112.50 257.50 2.78633 - 52.50 112.50 262.50 1.64508 - 52.50 112.50 267.50 0.884318 - 52.50 112.50 272.50 0.431719 - 52.50 112.50 277.50 0.187455 - 52.50 112.50 282.50 0.0853452 - 52.50 112.50 287.50 0.0277193 - 52.50 112.50 292.50 0.009612 - 52.50 112.50 297.50 0.0130062 - 52.50 112.50 302.50 0.0509297 - 52.50 112.50 307.50 0.16299 - 52.50 112.50 312.50 0.456805 - 52.50 112.50 317.50 1.09353 - 52.50 112.50 322.50 2.17709 - 52.50 112.50 327.50 3.4516 - 52.50 112.50 332.50 4.3654 - 52.50 112.50 337.50 4.68107 - 52.50 112.50 342.50 4.10633 - 52.50 112.50 347.50 2.78634 - 52.50 112.50 352.50 1.64508 - 52.50 112.50 357.50 0.88432 - 52.50 117.50 2.50 0.558756 - 52.50 117.50 7.50 0.259396 - 52.50 117.50 12.50 0.131129 - 52.50 117.50 17.50 0.0594931 - 52.50 117.50 22.50 0.023698 - 52.50 117.50 27.50 0.0154909 - 52.50 117.50 32.50 0.0329187 - 52.50 117.50 37.50 0.0950842 - 52.50 117.50 42.50 0.223059 - 52.50 117.50 47.50 0.504637 - 52.50 117.50 52.50 1.0852 - 52.50 117.50 57.50 1.94523 - 52.50 117.50 62.50 2.79687 - 52.50 117.50 67.50 3.30371 - 52.50 117.50 72.50 3.0666 - 52.50 117.50 77.50 2.35769 - 52.50 117.50 82.50 1.62736 - 52.50 117.50 87.50 1.02867 - 52.50 117.50 92.50 0.558756 - 52.50 117.50 97.50 0.259395 - 52.50 117.50 102.50 0.131129 - 52.50 117.50 107.50 0.0594931 - 52.50 117.50 112.50 0.023698 - 52.50 117.50 117.50 0.0154909 - 52.50 117.50 122.50 0.0329187 - 52.50 117.50 127.50 0.0950842 - 52.50 117.50 132.50 0.223059 - 52.50 117.50 137.50 0.504637 - 52.50 117.50 142.50 1.0852 - 52.50 117.50 147.50 1.94523 - 52.50 117.50 152.50 2.79687 - 52.50 117.50 157.50 3.30371 - 52.50 117.50 162.50 3.0666 - 52.50 117.50 167.50 2.35769 - 52.50 117.50 172.50 1.62736 - 52.50 117.50 177.50 1.02867 - 52.50 117.50 182.50 0.558756 - 52.50 117.50 187.50 0.259395 - 52.50 117.50 192.50 0.131129 - 52.50 117.50 197.50 0.0594931 - 52.50 117.50 202.50 0.023698 - 52.50 117.50 207.50 0.0154909 - 52.50 117.50 212.50 0.0329186 - 52.50 117.50 217.50 0.0950841 - 52.50 117.50 222.50 0.223059 - 52.50 117.50 227.50 0.504636 - 52.50 117.50 232.50 1.0852 - 52.50 117.50 237.50 1.94523 - 52.50 117.50 242.50 2.79687 - 52.50 117.50 247.50 3.30371 - 52.50 117.50 252.50 3.0666 - 52.50 117.50 257.50 2.35769 - 52.50 117.50 262.50 1.62736 - 52.50 117.50 267.50 1.02867 - 52.50 117.50 272.50 0.558756 - 52.50 117.50 277.50 0.259396 - 52.50 117.50 282.50 0.131129 - 52.50 117.50 287.50 0.0594932 - 52.50 117.50 292.50 0.023698 - 52.50 117.50 297.50 0.0154909 - 52.50 117.50 302.50 0.0329186 - 52.50 117.50 307.50 0.095084 - 52.50 117.50 312.50 0.223059 - 52.50 117.50 317.50 0.504635 - 52.50 117.50 322.50 1.0852 - 52.50 117.50 327.50 1.94522 - 52.50 117.50 332.50 2.79687 - 52.50 117.50 337.50 3.30371 - 52.50 117.50 342.50 3.0666 - 52.50 117.50 347.50 2.3577 - 52.50 117.50 352.50 1.62736 - 52.50 117.50 357.50 1.02868 - 52.50 122.50 2.50 0.674572 - 52.50 122.50 7.50 0.413684 - 52.50 122.50 12.50 0.309995 - 52.50 122.50 17.50 0.208771 - 52.50 122.50 22.50 0.129093 - 52.50 122.50 27.50 0.0868906 - 52.50 122.50 32.50 0.0696793 - 52.50 122.50 37.50 0.0675347 - 52.50 122.50 42.50 0.0966424 - 52.50 122.50 47.50 0.169935 - 52.50 122.50 52.50 0.377147 - 52.50 122.50 57.50 0.815866 - 52.50 122.50 62.50 1.32349 - 52.50 122.50 67.50 1.69099 - 52.50 122.50 72.50 1.77647 - 52.50 122.50 77.50 1.6142 - 52.50 122.50 82.50 1.328 - 52.50 122.50 87.50 1.00263 - 52.50 122.50 92.50 0.674572 - 52.50 122.50 97.50 0.413684 - 52.50 122.50 102.50 0.309995 - 52.50 122.50 107.50 0.208771 - 52.50 122.50 112.50 0.129092 - 52.50 122.50 117.50 0.0868905 - 52.50 122.50 122.50 0.0696793 - 52.50 122.50 127.50 0.0675347 - 52.50 122.50 132.50 0.0966425 - 52.50 122.50 137.50 0.169935 - 52.50 122.50 142.50 0.377147 - 52.50 122.50 147.50 0.815866 - 52.50 122.50 152.50 1.32349 - 52.50 122.50 157.50 1.69099 - 52.50 122.50 162.50 1.77647 - 52.50 122.50 167.50 1.6142 - 52.50 122.50 172.50 1.32801 - 52.50 122.50 177.50 1.00263 - 52.50 122.50 182.50 0.674572 - 52.50 122.50 187.50 0.413684 - 52.50 122.50 192.50 0.309995 - 52.50 122.50 197.50 0.208771 - 52.50 122.50 202.50 0.129092 - 52.50 122.50 207.50 0.0868905 - 52.50 122.50 212.50 0.0696793 - 52.50 122.50 217.50 0.0675346 - 52.50 122.50 222.50 0.0966424 - 52.50 122.50 227.50 0.169935 - 52.50 122.50 232.50 0.377147 - 52.50 122.50 237.50 0.815867 - 52.50 122.50 242.50 1.32349 - 52.50 122.50 247.50 1.69099 - 52.50 122.50 252.50 1.77647 - 52.50 122.50 257.50 1.6142 - 52.50 122.50 262.50 1.32801 - 52.50 122.50 267.50 1.00263 - 52.50 122.50 272.50 0.674573 - 52.50 122.50 277.50 0.413684 - 52.50 122.50 282.50 0.309995 - 52.50 122.50 287.50 0.208771 - 52.50 122.50 292.50 0.129092 - 52.50 122.50 297.50 0.0868906 - 52.50 122.50 302.50 0.0696793 - 52.50 122.50 307.50 0.0675346 - 52.50 122.50 312.50 0.0966423 - 52.50 122.50 317.50 0.169935 - 52.50 122.50 322.50 0.377146 - 52.50 122.50 327.50 0.815864 - 52.50 122.50 332.50 1.32348 - 52.50 122.50 337.50 1.69099 - 52.50 122.50 342.50 1.77647 - 52.50 122.50 347.50 1.6142 - 52.50 122.50 352.50 1.32801 - 52.50 122.50 357.50 1.00263 - 52.50 127.50 2.50 0.728263 - 52.50 127.50 7.50 0.648961 - 52.50 127.50 12.50 0.702083 - 52.50 127.50 17.50 0.659597 - 52.50 127.50 22.50 0.530183 - 52.50 127.50 27.50 0.348195 - 52.50 127.50 32.50 0.228961 - 52.50 127.50 37.50 0.115169 - 52.50 127.50 42.50 0.0554553 - 52.50 127.50 47.50 0.0521243 - 52.50 127.50 52.50 0.0984555 - 52.50 127.50 57.50 0.23898 - 52.50 127.50 62.50 0.461697 - 52.50 127.50 67.50 0.662422 - 52.50 127.50 72.50 0.841226 - 52.50 127.50 77.50 0.886594 - 52.50 127.50 82.50 0.830932 - 52.50 127.50 87.50 0.776923 - 52.50 127.50 92.50 0.728263 - 52.50 127.50 97.50 0.648961 - 52.50 127.50 102.50 0.702082 - 52.50 127.50 107.50 0.659596 - 52.50 127.50 112.50 0.530183 - 52.50 127.50 117.50 0.348195 - 52.50 127.50 122.50 0.228961 - 52.50 127.50 127.50 0.115169 - 52.50 127.50 132.50 0.0554554 - 52.50 127.50 137.50 0.0521243 - 52.50 127.50 142.50 0.0984556 - 52.50 127.50 147.50 0.23898 - 52.50 127.50 152.50 0.461697 - 52.50 127.50 157.50 0.662421 - 52.50 127.50 162.50 0.841226 - 52.50 127.50 167.50 0.886595 - 52.50 127.50 172.50 0.830932 - 52.50 127.50 177.50 0.776923 - 52.50 127.50 182.50 0.728263 - 52.50 127.50 187.50 0.648961 - 52.50 127.50 192.50 0.702082 - 52.50 127.50 197.50 0.659596 - 52.50 127.50 202.50 0.530183 - 52.50 127.50 207.50 0.348195 - 52.50 127.50 212.50 0.228961 - 52.50 127.50 217.50 0.115169 - 52.50 127.50 222.50 0.0554553 - 52.50 127.50 227.50 0.0521242 - 52.50 127.50 232.50 0.0984557 - 52.50 127.50 237.50 0.23898 - 52.50 127.50 242.50 0.461697 - 52.50 127.50 247.50 0.662422 - 52.50 127.50 252.50 0.841226 - 52.50 127.50 257.50 0.886595 - 52.50 127.50 262.50 0.830932 - 52.50 127.50 267.50 0.776923 - 52.50 127.50 272.50 0.728264 - 52.50 127.50 277.50 0.648961 - 52.50 127.50 282.50 0.702082 - 52.50 127.50 287.50 0.659597 - 52.50 127.50 292.50 0.530183 - 52.50 127.50 297.50 0.348195 - 52.50 127.50 302.50 0.228961 - 52.50 127.50 307.50 0.115169 - 52.50 127.50 312.50 0.0554553 - 52.50 127.50 317.50 0.0521242 - 52.50 127.50 322.50 0.0984552 - 52.50 127.50 327.50 0.23898 - 52.50 127.50 332.50 0.461696 - 52.50 127.50 337.50 0.66242 - 52.50 127.50 342.50 0.841225 - 52.50 127.50 347.50 0.886594 - 52.50 127.50 352.50 0.830932 - 52.50 127.50 357.50 0.776923 - 52.50 132.50 2.50 0.744226 - 52.50 132.50 7.50 0.958353 - 52.50 132.50 12.50 1.30023 - 52.50 132.50 17.50 1.56226 - 52.50 132.50 22.50 1.47003 - 52.50 132.50 27.50 1.04099 - 52.50 132.50 32.50 0.632367 - 52.50 132.50 37.50 0.33982 - 52.50 132.50 42.50 0.128969 - 52.50 132.50 47.50 0.0395077 - 52.50 132.50 52.50 0.0248604 - 52.50 132.50 57.50 0.0546705 - 52.50 132.50 62.50 0.120783 - 52.50 132.50 67.50 0.223955 - 52.50 132.50 72.50 0.328956 - 52.50 132.50 77.50 0.355454 - 52.50 132.50 82.50 0.41007 - 52.50 132.50 87.50 0.522225 - 52.50 132.50 92.50 0.744226 - 52.50 132.50 97.50 0.958352 - 52.50 132.50 102.50 1.30023 - 52.50 132.50 107.50 1.56225 - 52.50 132.50 112.50 1.47003 - 52.50 132.50 117.50 1.04099 - 52.50 132.50 122.50 0.632367 - 52.50 132.50 127.50 0.33982 - 52.50 132.50 132.50 0.128969 - 52.50 132.50 137.50 0.0395077 - 52.50 132.50 142.50 0.0248604 - 52.50 132.50 147.50 0.0546705 - 52.50 132.50 152.50 0.120783 - 52.50 132.50 157.50 0.223955 - 52.50 132.50 162.50 0.328956 - 52.50 132.50 167.50 0.355454 - 52.50 132.50 172.50 0.41007 - 52.50 132.50 177.50 0.522225 - 52.50 132.50 182.50 0.744226 - 52.50 132.50 187.50 0.958352 - 52.50 132.50 192.50 1.30023 - 52.50 132.50 197.50 1.56226 - 52.50 132.50 202.50 1.47003 - 52.50 132.50 207.50 1.04099 - 52.50 132.50 212.50 0.632367 - 52.50 132.50 217.50 0.33982 - 52.50 132.50 222.50 0.128969 - 52.50 132.50 227.50 0.0395077 - 52.50 132.50 232.50 0.0248604 - 52.50 132.50 237.50 0.0546705 - 52.50 132.50 242.50 0.120783 - 52.50 132.50 247.50 0.223955 - 52.50 132.50 252.50 0.328956 - 52.50 132.50 257.50 0.355454 - 52.50 132.50 262.50 0.41007 - 52.50 132.50 267.50 0.522226 - 52.50 132.50 272.50 0.744226 - 52.50 132.50 277.50 0.958353 - 52.50 132.50 282.50 1.30023 - 52.50 132.50 287.50 1.56226 - 52.50 132.50 292.50 1.47003 - 52.50 132.50 297.50 1.041 - 52.50 132.50 302.50 0.632368 - 52.50 132.50 307.50 0.33982 - 52.50 132.50 312.50 0.128969 - 52.50 132.50 317.50 0.0395077 - 52.50 132.50 322.50 0.0248604 - 52.50 132.50 327.50 0.0546704 - 52.50 132.50 332.50 0.120782 - 52.50 132.50 337.50 0.223955 - 52.50 132.50 342.50 0.328956 - 52.50 132.50 347.50 0.355454 - 52.50 132.50 352.50 0.41007 - 52.50 132.50 357.50 0.522226 - 52.50 137.50 2.50 0.748976 - 52.50 137.50 7.50 1.3018 - 52.50 137.50 12.50 2.06908 - 52.50 137.50 17.50 2.79905 - 52.50 137.50 22.50 2.99443 - 52.50 137.50 27.50 2.34909 - 52.50 137.50 32.50 1.50534 - 52.50 137.50 37.50 0.808731 - 52.50 137.50 42.50 0.332445 - 52.50 137.50 47.50 0.117766 - 52.50 137.50 52.50 0.0315758 - 52.50 137.50 57.50 0.01826 - 52.50 137.50 62.50 0.0257527 - 52.50 137.50 67.50 0.0625252 - 52.50 137.50 72.50 0.0948644 - 52.50 137.50 77.50 0.119315 - 52.50 137.50 82.50 0.177551 - 52.50 137.50 87.50 0.352337 - 52.50 137.50 92.50 0.748976 - 52.50 137.50 97.50 1.30179 - 52.50 137.50 102.50 2.06908 - 52.50 137.50 107.50 2.79905 - 52.50 137.50 112.50 2.99443 - 52.50 137.50 117.50 2.34909 - 52.50 137.50 122.50 1.50534 - 52.50 137.50 127.50 0.808731 - 52.50 137.50 132.50 0.332445 - 52.50 137.50 137.50 0.117766 - 52.50 137.50 142.50 0.0315758 - 52.50 137.50 147.50 0.01826 - 52.50 137.50 152.50 0.0257527 - 52.50 137.50 157.50 0.0625251 - 52.50 137.50 162.50 0.0948643 - 52.50 137.50 167.50 0.119315 - 52.50 137.50 172.50 0.177551 - 52.50 137.50 177.50 0.352337 - 52.50 137.50 182.50 0.748976 - 52.50 137.50 187.50 1.3018 - 52.50 137.50 192.50 2.06908 - 52.50 137.50 197.50 2.79905 - 52.50 137.50 202.50 2.99443 - 52.50 137.50 207.50 2.34909 - 52.50 137.50 212.50 1.50534 - 52.50 137.50 217.50 0.808732 - 52.50 137.50 222.50 0.332445 - 52.50 137.50 227.50 0.117766 - 52.50 137.50 232.50 0.0315757 - 52.50 137.50 237.50 0.0182599 - 52.50 137.50 242.50 0.0257527 - 52.50 137.50 247.50 0.0625251 - 52.50 137.50 252.50 0.0948644 - 52.50 137.50 257.50 0.119315 - 52.50 137.50 262.50 0.177551 - 52.50 137.50 267.50 0.352338 - 52.50 137.50 272.50 0.748977 - 52.50 137.50 277.50 1.3018 - 52.50 137.50 282.50 2.06908 - 52.50 137.50 287.50 2.79905 - 52.50 137.50 292.50 2.99443 - 52.50 137.50 297.50 2.34909 - 52.50 137.50 302.50 1.50534 - 52.50 137.50 307.50 0.808732 - 52.50 137.50 312.50 0.332446 - 52.50 137.50 317.50 0.117766 - 52.50 137.50 322.50 0.0315759 - 52.50 137.50 327.50 0.0182599 - 52.50 137.50 332.50 0.0257526 - 52.50 137.50 337.50 0.062525 - 52.50 137.50 342.50 0.0948643 - 52.50 137.50 347.50 0.119314 - 52.50 137.50 352.50 0.177551 - 52.50 137.50 357.50 0.352337 - 52.50 142.50 2.50 0.744226 - 52.50 142.50 7.50 1.6303 - 52.50 142.50 12.50 2.93175 - 52.50 142.50 17.50 4.14883 - 52.50 142.50 22.50 4.6062 - 52.50 142.50 27.50 3.91268 - 52.50 142.50 32.50 2.64638 - 52.50 142.50 37.50 1.45209 - 52.50 142.50 42.50 0.677184 - 52.50 142.50 47.50 0.283541 - 52.50 142.50 52.50 0.117309 - 52.50 142.50 57.50 0.0431594 - 52.50 142.50 62.50 0.0156238 - 52.50 142.50 67.50 0.0139855 - 52.50 142.50 72.50 0.0205436 - 52.50 142.50 77.50 0.0341901 - 52.50 142.50 82.50 0.0797782 - 52.50 142.50 87.50 0.25764 - 52.50 142.50 92.50 0.744226 - 52.50 142.50 97.50 1.6303 - 52.50 142.50 102.50 2.93175 - 52.50 142.50 107.50 4.14883 - 52.50 142.50 112.50 4.6062 - 52.50 142.50 117.50 3.91268 - 52.50 142.50 122.50 2.64637 - 52.50 142.50 127.50 1.45209 - 52.50 142.50 132.50 0.677184 - 52.50 142.50 137.50 0.283541 - 52.50 142.50 142.50 0.117309 - 52.50 142.50 147.50 0.0431594 - 52.50 142.50 152.50 0.0156238 - 52.50 142.50 157.50 0.0139855 - 52.50 142.50 162.50 0.0205436 - 52.50 142.50 167.50 0.03419 - 52.50 142.50 172.50 0.0797781 - 52.50 142.50 177.50 0.25764 - 52.50 142.50 182.50 0.744227 - 52.50 142.50 187.50 1.63031 - 52.50 142.50 192.50 2.93175 - 52.50 142.50 197.50 4.14883 - 52.50 142.50 202.50 4.6062 - 52.50 142.50 207.50 3.91268 - 52.50 142.50 212.50 2.64638 - 52.50 142.50 217.50 1.45209 - 52.50 142.50 222.50 0.677184 - 52.50 142.50 227.50 0.283541 - 52.50 142.50 232.50 0.117309 - 52.50 142.50 237.50 0.0431593 - 52.50 142.50 242.50 0.0156238 - 52.50 142.50 247.50 0.0139855 - 52.50 142.50 252.50 0.0205436 - 52.50 142.50 257.50 0.0341901 - 52.50 142.50 262.50 0.0797783 - 52.50 142.50 267.50 0.257641 - 52.50 142.50 272.50 0.744227 - 52.50 142.50 277.50 1.6303 - 52.50 142.50 282.50 2.93175 - 52.50 142.50 287.50 4.14883 - 52.50 142.50 292.50 4.6062 - 52.50 142.50 297.50 3.91268 - 52.50 142.50 302.50 2.64638 - 52.50 142.50 307.50 1.45209 - 52.50 142.50 312.50 0.677184 - 52.50 142.50 317.50 0.283541 - 52.50 142.50 322.50 0.117309 - 52.50 142.50 327.50 0.0431594 - 52.50 142.50 332.50 0.0156238 - 52.50 142.50 337.50 0.0139855 - 52.50 142.50 342.50 0.0205436 - 52.50 142.50 347.50 0.03419 - 52.50 142.50 352.50 0.0797779 - 52.50 142.50 357.50 0.25764 - 52.50 147.50 2.50 0.728264 - 52.50 147.50 7.50 1.84194 - 52.50 147.50 12.50 3.59088 - 52.50 147.50 17.50 5.17216 - 52.50 147.50 22.50 5.68642 - 52.50 147.50 27.50 4.99911 - 52.50 147.50 32.50 3.53834 - 52.50 147.50 37.50 2.10851 - 52.50 147.50 42.50 1.13131 - 52.50 147.50 47.50 0.620381 - 52.50 147.50 52.50 0.328052 - 52.50 147.50 57.50 0.1377 - 52.50 147.50 62.50 0.0465248 - 52.50 147.50 67.50 0.0140954 - 52.50 147.50 72.50 0.0081118 - 52.50 147.50 77.50 0.0141549 - 52.50 147.50 82.50 0.0528744 - 52.50 147.50 87.50 0.208459 - 52.50 147.50 92.50 0.728263 - 52.50 147.50 97.50 1.84194 - 52.50 147.50 102.50 3.59088 - 52.50 147.50 107.50 5.17216 - 52.50 147.50 112.50 5.68643 - 52.50 147.50 117.50 4.99911 - 52.50 147.50 122.50 3.53834 - 52.50 147.50 127.50 2.10851 - 52.50 147.50 132.50 1.13131 - 52.50 147.50 137.50 0.620381 - 52.50 147.50 142.50 0.328052 - 52.50 147.50 147.50 0.1377 - 52.50 147.50 152.50 0.0465248 - 52.50 147.50 157.50 0.0140954 - 52.50 147.50 162.50 0.0081118 - 52.50 147.50 167.50 0.0141549 - 52.50 147.50 172.50 0.0528744 - 52.50 147.50 177.50 0.208459 - 52.50 147.50 182.50 0.728264 - 52.50 147.50 187.50 1.84194 - 52.50 147.50 192.50 3.59088 - 52.50 147.50 197.50 5.17216 - 52.50 147.50 202.50 5.68643 - 52.50 147.50 207.50 4.99912 - 52.50 147.50 212.50 3.53834 - 52.50 147.50 217.50 2.10851 - 52.50 147.50 222.50 1.13131 - 52.50 147.50 227.50 0.620381 - 52.50 147.50 232.50 0.328052 - 52.50 147.50 237.50 0.1377 - 52.50 147.50 242.50 0.0465247 - 52.50 147.50 247.50 0.0140954 - 52.50 147.50 252.50 0.0081118 - 52.50 147.50 257.50 0.0141549 - 52.50 147.50 262.50 0.0528745 - 52.50 147.50 267.50 0.208459 - 52.50 147.50 272.50 0.728263 - 52.50 147.50 277.50 1.84194 - 52.50 147.50 282.50 3.59088 - 52.50 147.50 287.50 5.17216 - 52.50 147.50 292.50 5.68643 - 52.50 147.50 297.50 4.99912 - 52.50 147.50 302.50 3.53834 - 52.50 147.50 307.50 2.10851 - 52.50 147.50 312.50 1.13131 - 52.50 147.50 317.50 0.620381 - 52.50 147.50 322.50 0.328053 - 52.50 147.50 327.50 0.1377 - 52.50 147.50 332.50 0.0465249 - 52.50 147.50 337.50 0.0140954 - 52.50 147.50 342.50 0.0081118 - 52.50 147.50 347.50 0.0141548 - 52.50 147.50 352.50 0.0528742 - 52.50 147.50 357.50 0.208458 - 52.50 152.50 2.50 0.674573 - 52.50 152.50 7.50 1.77615 - 52.50 152.50 12.50 3.51129 - 52.50 152.50 17.50 5.12189 - 52.50 152.50 22.50 5.61847 - 52.50 152.50 27.50 5.07766 - 52.50 152.50 32.50 3.72516 - 52.50 152.50 37.50 2.49292 - 52.50 152.50 42.50 1.61851 - 52.50 152.50 47.50 1.05362 - 52.50 152.50 52.50 0.635226 - 52.50 152.50 57.50 0.316299 - 52.50 152.50 62.50 0.123106 - 52.50 152.50 67.50 0.0400463 - 52.50 152.50 72.50 0.0155686 - 52.50 152.50 77.50 0.0130588 - 52.50 152.50 82.50 0.0504365 - 52.50 152.50 87.50 0.178438 - 52.50 152.50 92.50 0.674573 - 52.50 152.50 97.50 1.77615 - 52.50 152.50 102.50 3.51129 - 52.50 152.50 107.50 5.12189 - 52.50 152.50 112.50 5.61847 - 52.50 152.50 117.50 5.07766 - 52.50 152.50 122.50 3.72516 - 52.50 152.50 127.50 2.49292 - 52.50 152.50 132.50 1.61851 - 52.50 152.50 137.50 1.05362 - 52.50 152.50 142.50 0.635225 - 52.50 152.50 147.50 0.316299 - 52.50 152.50 152.50 0.123106 - 52.50 152.50 157.50 0.0400464 - 52.50 152.50 162.50 0.0155686 - 52.50 152.50 167.50 0.0130588 - 52.50 152.50 172.50 0.0504364 - 52.50 152.50 177.50 0.178438 - 52.50 152.50 182.50 0.674573 - 52.50 152.50 187.50 1.77615 - 52.50 152.50 192.50 3.51129 - 52.50 152.50 197.50 5.12189 - 52.50 152.50 202.50 5.61847 - 52.50 152.50 207.50 5.07766 - 52.50 152.50 212.50 3.72516 - 52.50 152.50 217.50 2.49292 - 52.50 152.50 222.50 1.61851 - 52.50 152.50 227.50 1.05363 - 52.50 152.50 232.50 0.635225 - 52.50 152.50 237.50 0.316299 - 52.50 152.50 242.50 0.123106 - 52.50 152.50 247.50 0.0400463 - 52.50 152.50 252.50 0.0155686 - 52.50 152.50 257.50 0.0130588 - 52.50 152.50 262.50 0.0504365 - 52.50 152.50 267.50 0.178439 - 52.50 152.50 272.50 0.674572 - 52.50 152.50 277.50 1.77615 - 52.50 152.50 282.50 3.51129 - 52.50 152.50 287.50 5.12189 - 52.50 152.50 292.50 5.61847 - 52.50 152.50 297.50 5.07766 - 52.50 152.50 302.50 3.72516 - 52.50 152.50 307.50 2.49292 - 52.50 152.50 312.50 1.61851 - 52.50 152.50 317.50 1.05363 - 52.50 152.50 322.50 0.635226 - 52.50 152.50 327.50 0.3163 - 52.50 152.50 332.50 0.123107 - 52.50 152.50 337.50 0.0400465 - 52.50 152.50 342.50 0.0155687 - 52.50 152.50 347.50 0.0130588 - 52.50 152.50 352.50 0.0504363 - 52.50 152.50 357.50 0.178438 - 52.50 157.50 2.50 0.558756 - 52.50 157.50 7.50 1.38427 - 52.50 157.50 12.50 2.66296 - 52.50 157.50 17.50 3.82806 - 52.50 157.50 22.50 4.29488 - 52.50 157.50 27.50 4.00842 - 52.50 157.50 32.50 3.23112 - 52.50 157.50 37.50 2.4042 - 52.50 157.50 42.50 1.851 - 52.50 157.50 47.50 1.41644 - 52.50 157.50 52.50 0.960879 - 52.50 157.50 57.50 0.544445 - 52.50 157.50 62.50 0.254734 - 52.50 157.50 67.50 0.106069 - 52.50 157.50 72.50 0.0447133 - 52.50 157.50 77.50 0.0279364 - 52.50 157.50 82.50 0.0546664 - 52.50 157.50 87.50 0.165933 - 52.50 157.50 92.50 0.558757 - 52.50 157.50 97.50 1.38427 - 52.50 157.50 102.50 2.66297 - 52.50 157.50 107.50 3.82806 - 52.50 157.50 112.50 4.29488 - 52.50 157.50 117.50 4.00842 - 52.50 157.50 122.50 3.23112 - 52.50 157.50 127.50 2.4042 - 52.50 157.50 132.50 1.851 - 52.50 157.50 137.50 1.41644 - 52.50 157.50 142.50 0.960879 - 52.50 157.50 147.50 0.544445 - 52.50 157.50 152.50 0.254734 - 52.50 157.50 157.50 0.106069 - 52.50 157.50 162.50 0.0447133 - 52.50 157.50 167.50 0.0279364 - 52.50 157.50 172.50 0.0546664 - 52.50 157.50 177.50 0.165933 - 52.50 157.50 182.50 0.558757 - 52.50 157.50 187.50 1.38427 - 52.50 157.50 192.50 2.66297 - 52.50 157.50 197.50 3.82805 - 52.50 157.50 202.50 4.29488 - 52.50 157.50 207.50 4.00842 - 52.50 157.50 212.50 3.23112 - 52.50 157.50 217.50 2.4042 - 52.50 157.50 222.50 1.851 - 52.50 157.50 227.50 1.41644 - 52.50 157.50 232.50 0.960879 - 52.50 157.50 237.50 0.544445 - 52.50 157.50 242.50 0.254734 - 52.50 157.50 247.50 0.106069 - 52.50 157.50 252.50 0.0447132 - 52.50 157.50 257.50 0.0279364 - 52.50 157.50 262.50 0.0546664 - 52.50 157.50 267.50 0.165933 - 52.50 157.50 272.50 0.558756 - 52.50 157.50 277.50 1.38427 - 52.50 157.50 282.50 2.66297 - 52.50 157.50 287.50 3.82805 - 52.50 157.50 292.50 4.29488 - 52.50 157.50 297.50 4.00842 - 52.50 157.50 302.50 3.23112 - 52.50 157.50 307.50 2.4042 - 52.50 157.50 312.50 1.851 - 52.50 157.50 317.50 1.41644 - 52.50 157.50 322.50 0.96088 - 52.50 157.50 327.50 0.544446 - 52.50 157.50 332.50 0.254734 - 52.50 157.50 337.50 0.106069 - 52.50 157.50 342.50 0.0447134 - 52.50 157.50 347.50 0.0279364 - 52.50 157.50 352.50 0.0546663 - 52.50 157.50 357.50 0.165933 - 52.50 162.50 2.50 0.431719 - 52.50 162.50 7.50 0.880313 - 52.50 162.50 12.50 1.55766 - 52.50 162.50 17.50 2.21654 - 52.50 162.50 22.50 2.55938 - 52.50 162.50 27.50 2.47971 - 52.50 162.50 32.50 2.1509 - 52.50 162.50 37.50 1.85785 - 52.50 162.50 42.50 1.67545 - 52.50 162.50 47.50 1.48938 - 52.50 162.50 52.50 1.19551 - 52.50 162.50 57.50 0.773899 - 52.50 162.50 62.50 0.428485 - 52.50 162.50 67.50 0.217899 - 52.50 162.50 72.50 0.101748 - 52.50 162.50 77.50 0.0554851 - 52.50 162.50 82.50 0.0711469 - 52.50 162.50 87.50 0.178221 - 52.50 162.50 92.50 0.43172 - 52.50 162.50 97.50 0.880313 - 52.50 162.50 102.50 1.55766 - 52.50 162.50 107.50 2.21654 - 52.50 162.50 112.50 2.55938 - 52.50 162.50 117.50 2.47971 - 52.50 162.50 122.50 2.1509 - 52.50 162.50 127.50 1.85785 - 52.50 162.50 132.50 1.67545 - 52.50 162.50 137.50 1.48938 - 52.50 162.50 142.50 1.19551 - 52.50 162.50 147.50 0.773899 - 52.50 162.50 152.50 0.428485 - 52.50 162.50 157.50 0.2179 - 52.50 162.50 162.50 0.101748 - 52.50 162.50 167.50 0.0554852 - 52.50 162.50 172.50 0.0711468 - 52.50 162.50 177.50 0.178221 - 52.50 162.50 182.50 0.43172 - 52.50 162.50 187.50 0.880313 - 52.50 162.50 192.50 1.55766 - 52.50 162.50 197.50 2.21654 - 52.50 162.50 202.50 2.55938 - 52.50 162.50 207.50 2.47971 - 52.50 162.50 212.50 2.1509 - 52.50 162.50 217.50 1.85785 - 52.50 162.50 222.50 1.67545 - 52.50 162.50 227.50 1.48938 - 52.50 162.50 232.50 1.1955 - 52.50 162.50 237.50 0.773898 - 52.50 162.50 242.50 0.428485 - 52.50 162.50 247.50 0.217899 - 52.50 162.50 252.50 0.101748 - 52.50 162.50 257.50 0.0554851 - 52.50 162.50 262.50 0.0711469 - 52.50 162.50 267.50 0.178221 - 52.50 162.50 272.50 0.431719 - 52.50 162.50 277.50 0.880313 - 52.50 162.50 282.50 1.55766 - 52.50 162.50 287.50 2.21654 - 52.50 162.50 292.50 2.55938 - 52.50 162.50 297.50 2.47971 - 52.50 162.50 302.50 2.1509 - 52.50 162.50 307.50 1.85785 - 52.50 162.50 312.50 1.67545 - 52.50 162.50 317.50 1.48938 - 52.50 162.50 322.50 1.19551 - 52.50 162.50 327.50 0.773899 - 52.50 162.50 332.50 0.428485 - 52.50 162.50 337.50 0.2179 - 52.50 162.50 342.50 0.101748 - 52.50 162.50 347.50 0.0554852 - 52.50 162.50 352.50 0.0711467 - 52.50 162.50 357.50 0.17822 - 52.50 167.50 2.50 0.338201 - 52.50 167.50 7.50 0.508241 - 52.50 167.50 12.50 0.73858 - 52.50 167.50 17.50 1.03178 - 52.50 167.50 22.50 1.20165 - 52.50 167.50 27.50 1.20247 - 52.50 167.50 32.50 1.09764 - 52.50 167.50 37.50 1.05068 - 52.50 167.50 42.50 1.18711 - 52.50 167.50 47.50 1.32943 - 52.50 167.50 52.50 1.23109 - 52.50 167.50 57.50 0.89664 - 52.50 167.50 62.50 0.543171 - 52.50 167.50 67.50 0.293575 - 52.50 167.50 72.50 0.147846 - 52.50 167.50 77.50 0.0803514 - 52.50 167.50 82.50 0.0907333 - 52.50 167.50 87.50 0.196327 - 52.50 167.50 92.50 0.338201 - 52.50 167.50 97.50 0.508241 - 52.50 167.50 102.50 0.738581 - 52.50 167.50 107.50 1.03178 - 52.50 167.50 112.50 1.20165 - 52.50 167.50 117.50 1.20247 - 52.50 167.50 122.50 1.09764 - 52.50 167.50 127.50 1.05068 - 52.50 167.50 132.50 1.18711 - 52.50 167.50 137.50 1.32943 - 52.50 167.50 142.50 1.23109 - 52.50 167.50 147.50 0.89664 - 52.50 167.50 152.50 0.543171 - 52.50 167.50 157.50 0.293576 - 52.50 167.50 162.50 0.147846 - 52.50 167.50 167.50 0.0803514 - 52.50 167.50 172.50 0.0907332 - 52.50 167.50 177.50 0.196327 - 52.50 167.50 182.50 0.338201 - 52.50 167.50 187.50 0.508242 - 52.50 167.50 192.50 0.738581 - 52.50 167.50 197.50 1.03178 - 52.50 167.50 202.50 1.20165 - 52.50 167.50 207.50 1.20247 - 52.50 167.50 212.50 1.09764 - 52.50 167.50 217.50 1.05068 - 52.50 167.50 222.50 1.1871 - 52.50 167.50 227.50 1.32943 - 52.50 167.50 232.50 1.23109 - 52.50 167.50 237.50 0.896639 - 52.50 167.50 242.50 0.54317 - 52.50 167.50 247.50 0.293575 - 52.50 167.50 252.50 0.147846 - 52.50 167.50 257.50 0.0803514 - 52.50 167.50 262.50 0.0907333 - 52.50 167.50 267.50 0.196327 - 52.50 167.50 272.50 0.338201 - 52.50 167.50 277.50 0.508241 - 52.50 167.50 282.50 0.73858 - 52.50 167.50 287.50 1.03178 - 52.50 167.50 292.50 1.20165 - 52.50 167.50 297.50 1.20247 - 52.50 167.50 302.50 1.09764 - 52.50 167.50 307.50 1.05068 - 52.50 167.50 312.50 1.18711 - 52.50 167.50 317.50 1.32943 - 52.50 167.50 322.50 1.23109 - 52.50 167.50 327.50 0.89664 - 52.50 167.50 332.50 0.543171 - 52.50 167.50 337.50 0.293576 - 52.50 167.50 342.50 0.147846 - 52.50 167.50 347.50 0.0803515 - 52.50 167.50 352.50 0.0907331 - 52.50 167.50 357.50 0.196327 - 52.50 172.50 2.50 0.239625 - 52.50 172.50 7.50 0.283661 - 52.50 172.50 12.50 0.336779 - 52.50 172.50 17.50 0.399668 - 52.50 172.50 22.50 0.451001 - 52.50 172.50 27.50 0.444789 - 52.50 172.50 32.50 0.419312 - 52.50 172.50 37.50 0.490325 - 52.50 172.50 42.50 0.747364 - 52.50 172.50 47.50 1.06317 - 52.50 172.50 52.50 1.12936 - 52.50 172.50 57.50 0.863767 - 52.50 172.50 62.50 0.5108 - 52.50 172.50 67.50 0.269086 - 52.50 172.50 72.50 0.136631 - 52.50 172.50 77.50 0.0765725 - 52.50 172.50 82.50 0.0999635 - 52.50 172.50 87.50 0.172232 - 52.50 172.50 92.50 0.239625 - 52.50 172.50 97.50 0.283661 - 52.50 172.50 102.50 0.336779 - 52.50 172.50 107.50 0.399668 - 52.50 172.50 112.50 0.451001 - 52.50 172.50 117.50 0.444789 - 52.50 172.50 122.50 0.419312 - 52.50 172.50 127.50 0.490325 - 52.50 172.50 132.50 0.747364 - 52.50 172.50 137.50 1.06317 - 52.50 172.50 142.50 1.12936 - 52.50 172.50 147.50 0.863767 - 52.50 172.50 152.50 0.5108 - 52.50 172.50 157.50 0.269086 - 52.50 172.50 162.50 0.136631 - 52.50 172.50 167.50 0.0765726 - 52.50 172.50 172.50 0.0999633 - 52.50 172.50 177.50 0.172232 - 52.50 172.50 182.50 0.239625 - 52.50 172.50 187.50 0.283661 - 52.50 172.50 192.50 0.336779 - 52.50 172.50 197.50 0.399668 - 52.50 172.50 202.50 0.451001 - 52.50 172.50 207.50 0.444789 - 52.50 172.50 212.50 0.419312 - 52.50 172.50 217.50 0.490325 - 52.50 172.50 222.50 0.747364 - 52.50 172.50 227.50 1.06317 - 52.50 172.50 232.50 1.12936 - 52.50 172.50 237.50 0.863766 - 52.50 172.50 242.50 0.5108 - 52.50 172.50 247.50 0.269085 - 52.50 172.50 252.50 0.136631 - 52.50 172.50 257.50 0.0765726 - 52.50 172.50 262.50 0.0999634 - 52.50 172.50 267.50 0.172232 - 52.50 172.50 272.50 0.239625 - 52.50 172.50 277.50 0.283661 - 52.50 172.50 282.50 0.336779 - 52.50 172.50 287.50 0.399667 - 52.50 172.50 292.50 0.451001 - 52.50 172.50 297.50 0.444789 - 52.50 172.50 302.50 0.419313 - 52.50 172.50 307.50 0.490325 - 52.50 172.50 312.50 0.747363 - 52.50 172.50 317.50 1.06317 - 52.50 172.50 322.50 1.12936 - 52.50 172.50 327.50 0.863768 - 52.50 172.50 332.50 0.5108 - 52.50 172.50 337.50 0.269086 - 52.50 172.50 342.50 0.136631 - 52.50 172.50 347.50 0.0765726 - 52.50 172.50 352.50 0.0999632 - 52.50 172.50 357.50 0.172232 - 52.50 177.50 2.50 0.132069 - 52.50 177.50 7.50 0.138729 - 52.50 177.50 12.50 0.144941 - 52.50 177.50 17.50 0.148748 - 52.50 177.50 22.50 0.140004 - 52.50 177.50 27.50 0.123214 - 52.50 177.50 32.50 0.125439 - 52.50 177.50 37.50 0.217744 - 52.50 177.50 42.50 0.461409 - 52.50 177.50 47.50 0.780786 - 52.50 177.50 52.50 0.911258 - 52.50 177.50 57.50 0.713423 - 52.50 177.50 62.50 0.394641 - 52.50 177.50 67.50 0.187773 - 52.50 177.50 72.50 0.0924992 - 52.50 177.50 77.50 0.0639082 - 52.50 177.50 82.50 0.0780236 - 52.50 177.50 87.50 0.109882 - 52.50 177.50 92.50 0.132069 - 52.50 177.50 97.50 0.138729 - 52.50 177.50 102.50 0.144941 - 52.50 177.50 107.50 0.148748 - 52.50 177.50 112.50 0.140004 - 52.50 177.50 117.50 0.123214 - 52.50 177.50 122.50 0.125439 - 52.50 177.50 127.50 0.217744 - 52.50 177.50 132.50 0.461409 - 52.50 177.50 137.50 0.780786 - 52.50 177.50 142.50 0.911258 - 52.50 177.50 147.50 0.713423 - 52.50 177.50 152.50 0.394641 - 52.50 177.50 157.50 0.187773 - 52.50 177.50 162.50 0.0924993 - 52.50 177.50 167.50 0.0639082 - 52.50 177.50 172.50 0.0780235 - 52.50 177.50 177.50 0.109882 - 52.50 177.50 182.50 0.132069 - 52.50 177.50 187.50 0.138729 - 52.50 177.50 192.50 0.144941 - 52.50 177.50 197.50 0.148748 - 52.50 177.50 202.50 0.140004 - 52.50 177.50 207.50 0.123214 - 52.50 177.50 212.50 0.125439 - 52.50 177.50 217.50 0.217744 - 52.50 177.50 222.50 0.461409 - 52.50 177.50 227.50 0.780786 - 52.50 177.50 232.50 0.911258 - 52.50 177.50 237.50 0.713422 - 52.50 177.50 242.50 0.39464 - 52.50 177.50 247.50 0.187773 - 52.50 177.50 252.50 0.0924993 - 52.50 177.50 257.50 0.0639083 - 52.50 177.50 262.50 0.0780236 - 52.50 177.50 267.50 0.109882 - 52.50 177.50 272.50 0.132069 - 52.50 177.50 277.50 0.138729 - 52.50 177.50 282.50 0.144941 - 52.50 177.50 287.50 0.148748 - 52.50 177.50 292.50 0.140004 - 52.50 177.50 297.50 0.123214 - 52.50 177.50 302.50 0.125439 - 52.50 177.50 307.50 0.217744 - 52.50 177.50 312.50 0.461409 - 52.50 177.50 317.50 0.780786 - 52.50 177.50 322.50 0.911259 - 52.50 177.50 327.50 0.713423 - 52.50 177.50 332.50 0.394642 - 52.50 177.50 337.50 0.187773 - 52.50 177.50 342.50 0.0924995 - 52.50 177.50 347.50 0.0639083 - 52.50 177.50 352.50 0.0780235 - 52.50 177.50 357.50 0.109882 - 57.50 2.50 2.50 0.0760385 - 57.50 2.50 7.50 0.0601603 - 57.50 2.50 12.50 0.0485219 - 57.50 2.50 17.50 0.0624686 - 57.50 2.50 22.50 0.149977 - 57.50 2.50 27.50 0.393273 - 57.50 2.50 32.50 0.773179 - 57.50 2.50 37.50 0.980476 - 57.50 2.50 42.50 0.773178 - 57.50 2.50 47.50 0.393272 - 57.50 2.50 52.50 0.149977 - 57.50 2.50 57.50 0.0624686 - 57.50 2.50 62.50 0.048522 - 57.50 2.50 67.50 0.0601603 - 57.50 2.50 72.50 0.0760386 - 57.50 2.50 77.50 0.083846 - 57.50 2.50 82.50 0.084539 - 57.50 2.50 87.50 0.083846 - 57.50 2.50 92.50 0.0760385 - 57.50 2.50 97.50 0.0601603 - 57.50 2.50 102.50 0.0485219 - 57.50 2.50 107.50 0.0624686 - 57.50 2.50 112.50 0.149977 - 57.50 2.50 117.50 0.393273 - 57.50 2.50 122.50 0.773179 - 57.50 2.50 127.50 0.980476 - 57.50 2.50 132.50 0.773179 - 57.50 2.50 137.50 0.393272 - 57.50 2.50 142.50 0.149977 - 57.50 2.50 147.50 0.0624686 - 57.50 2.50 152.50 0.0485219 - 57.50 2.50 157.50 0.0601603 - 57.50 2.50 162.50 0.0760385 - 57.50 2.50 167.50 0.083846 - 57.50 2.50 172.50 0.084539 - 57.50 2.50 177.50 0.083846 - 57.50 2.50 182.50 0.0760385 - 57.50 2.50 187.50 0.0601603 - 57.50 2.50 192.50 0.0485219 - 57.50 2.50 197.50 0.0624686 - 57.50 2.50 202.50 0.149977 - 57.50 2.50 207.50 0.393273 - 57.50 2.50 212.50 0.773179 - 57.50 2.50 217.50 0.980476 - 57.50 2.50 222.50 0.773179 - 57.50 2.50 227.50 0.393272 - 57.50 2.50 232.50 0.149976 - 57.50 2.50 237.50 0.0624685 - 57.50 2.50 242.50 0.048522 - 57.50 2.50 247.50 0.0601603 - 57.50 2.50 252.50 0.0760386 - 57.50 2.50 257.50 0.083846 - 57.50 2.50 262.50 0.084539 - 57.50 2.50 267.50 0.083846 - 57.50 2.50 272.50 0.0760385 - 57.50 2.50 277.50 0.0601603 - 57.50 2.50 282.50 0.0485219 - 57.50 2.50 287.50 0.0624686 - 57.50 2.50 292.50 0.149977 - 57.50 2.50 297.50 0.393272 - 57.50 2.50 302.50 0.773179 - 57.50 2.50 307.50 0.980476 - 57.50 2.50 312.50 0.773179 - 57.50 2.50 317.50 0.393273 - 57.50 2.50 322.50 0.149977 - 57.50 2.50 327.50 0.0624686 - 57.50 2.50 332.50 0.0485219 - 57.50 2.50 337.50 0.0601603 - 57.50 2.50 342.50 0.0760385 - 57.50 2.50 347.50 0.083846 - 57.50 2.50 352.50 0.084539 - 57.50 2.50 357.50 0.083846 - 57.50 7.50 2.50 0.118631 - 57.50 7.50 7.50 0.0861398 - 57.50 7.50 12.50 0.0657719 - 57.50 7.50 17.50 0.0909504 - 57.50 7.50 22.50 0.195055 - 57.50 7.50 27.50 0.412838 - 57.50 7.50 32.50 0.705093 - 57.50 7.50 37.50 0.87782 - 57.50 7.50 42.50 0.740281 - 57.50 7.50 47.50 0.439752 - 57.50 7.50 52.50 0.216181 - 57.50 7.50 57.50 0.12938 - 57.50 7.50 62.50 0.123279 - 57.50 7.50 67.50 0.143853 - 57.50 7.50 72.50 0.15678 - 57.50 7.50 77.50 0.153023 - 57.50 7.50 82.50 0.144095 - 57.50 7.50 87.50 0.137618 - 57.50 7.50 92.50 0.118631 - 57.50 7.50 97.50 0.0861398 - 57.50 7.50 102.50 0.0657718 - 57.50 7.50 107.50 0.0909503 - 57.50 7.50 112.50 0.195055 - 57.50 7.50 117.50 0.412838 - 57.50 7.50 122.50 0.705093 - 57.50 7.50 127.50 0.87782 - 57.50 7.50 132.50 0.74028 - 57.50 7.50 137.50 0.439752 - 57.50 7.50 142.50 0.216181 - 57.50 7.50 147.50 0.129379 - 57.50 7.50 152.50 0.123278 - 57.50 7.50 157.50 0.143853 - 57.50 7.50 162.50 0.15678 - 57.50 7.50 167.50 0.153023 - 57.50 7.50 172.50 0.144095 - 57.50 7.50 177.50 0.137618 - 57.50 7.50 182.50 0.118631 - 57.50 7.50 187.50 0.0861398 - 57.50 7.50 192.50 0.0657719 - 57.50 7.50 197.50 0.0909505 - 57.50 7.50 202.50 0.195055 - 57.50 7.50 207.50 0.412838 - 57.50 7.50 212.50 0.705093 - 57.50 7.50 217.50 0.87782 - 57.50 7.50 222.50 0.740281 - 57.50 7.50 227.50 0.439752 - 57.50 7.50 232.50 0.216181 - 57.50 7.50 237.50 0.129379 - 57.50 7.50 242.50 0.123279 - 57.50 7.50 247.50 0.143853 - 57.50 7.50 252.50 0.15678 - 57.50 7.50 257.50 0.153023 - 57.50 7.50 262.50 0.144095 - 57.50 7.50 267.50 0.137618 - 57.50 7.50 272.50 0.118631 - 57.50 7.50 277.50 0.0861398 - 57.50 7.50 282.50 0.0657719 - 57.50 7.50 287.50 0.0909505 - 57.50 7.50 292.50 0.195055 - 57.50 7.50 297.50 0.412838 - 57.50 7.50 302.50 0.705092 - 57.50 7.50 307.50 0.87782 - 57.50 7.50 312.50 0.740281 - 57.50 7.50 317.50 0.439752 - 57.50 7.50 322.50 0.216182 - 57.50 7.50 327.50 0.129379 - 57.50 7.50 332.50 0.123279 - 57.50 7.50 337.50 0.143853 - 57.50 7.50 342.50 0.15678 - 57.50 7.50 347.50 0.153023 - 57.50 7.50 352.50 0.144095 - 57.50 7.50 357.50 0.137618 - 57.50 12.50 2.50 0.202441 - 57.50 12.50 7.50 0.127436 - 57.50 12.50 12.50 0.0877474 - 57.50 12.50 17.50 0.133163 - 57.50 12.50 22.50 0.281452 - 57.50 12.50 27.50 0.529173 - 57.50 12.50 32.50 0.854424 - 57.50 12.50 37.50 1.08308 - 57.50 12.50 42.50 1.01205 - 57.50 12.50 47.50 0.717381 - 57.50 12.50 52.50 0.472946 - 57.50 12.50 57.50 0.416794 - 57.50 12.50 62.50 0.45839 - 57.50 12.50 67.50 0.489974 - 57.50 12.50 72.50 0.462408 - 57.50 12.50 77.50 0.37753 - 57.50 12.50 82.50 0.311733 - 57.50 12.50 87.50 0.264305 - 57.50 12.50 92.50 0.202441 - 57.50 12.50 97.50 0.127436 - 57.50 12.50 102.50 0.0877473 - 57.50 12.50 107.50 0.133163 - 57.50 12.50 112.50 0.281452 - 57.50 12.50 117.50 0.529173 - 57.50 12.50 122.50 0.854425 - 57.50 12.50 127.50 1.08308 - 57.50 12.50 132.50 1.01204 - 57.50 12.50 137.50 0.717381 - 57.50 12.50 142.50 0.472946 - 57.50 12.50 147.50 0.416795 - 57.50 12.50 152.50 0.458389 - 57.50 12.50 157.50 0.489974 - 57.50 12.50 162.50 0.462408 - 57.50 12.50 167.50 0.37753 - 57.50 12.50 172.50 0.311733 - 57.50 12.50 177.50 0.264305 - 57.50 12.50 182.50 0.202441 - 57.50 12.50 187.50 0.127436 - 57.50 12.50 192.50 0.0877474 - 57.50 12.50 197.50 0.133163 - 57.50 12.50 202.50 0.281452 - 57.50 12.50 207.50 0.529172 - 57.50 12.50 212.50 0.854424 - 57.50 12.50 217.50 1.08308 - 57.50 12.50 222.50 1.01205 - 57.50 12.50 227.50 0.717381 - 57.50 12.50 232.50 0.472946 - 57.50 12.50 237.50 0.416794 - 57.50 12.50 242.50 0.458389 - 57.50 12.50 247.50 0.489974 - 57.50 12.50 252.50 0.462408 - 57.50 12.50 257.50 0.37753 - 57.50 12.50 262.50 0.311733 - 57.50 12.50 267.50 0.264305 - 57.50 12.50 272.50 0.202441 - 57.50 12.50 277.50 0.127436 - 57.50 12.50 282.50 0.0877474 - 57.50 12.50 287.50 0.133163 - 57.50 12.50 292.50 0.281452 - 57.50 12.50 297.50 0.529171 - 57.50 12.50 302.50 0.854424 - 57.50 12.50 307.50 1.08308 - 57.50 12.50 312.50 1.01205 - 57.50 12.50 317.50 0.717382 - 57.50 12.50 322.50 0.472946 - 57.50 12.50 327.50 0.416794 - 57.50 12.50 332.50 0.458389 - 57.50 12.50 337.50 0.489974 - 57.50 12.50 342.50 0.462408 - 57.50 12.50 347.50 0.37753 - 57.50 12.50 352.50 0.311733 - 57.50 12.50 357.50 0.264305 - 57.50 17.50 2.50 0.252721 - 57.50 17.50 7.50 0.13285 - 57.50 17.50 12.50 0.0818425 - 57.50 17.50 17.50 0.150407 - 57.50 17.50 22.50 0.312627 - 57.50 17.50 27.50 0.560895 - 57.50 17.50 32.50 0.899808 - 57.50 17.50 37.50 1.20669 - 57.50 17.50 42.50 1.27813 - 57.50 17.50 47.50 1.13113 - 57.50 17.50 52.50 1.01927 - 57.50 17.50 57.50 1.07391 - 57.50 17.50 62.50 1.23068 - 57.50 17.50 67.50 1.29938 - 57.50 17.50 72.50 1.18922 - 57.50 17.50 77.50 0.913617 - 57.50 17.50 82.50 0.601343 - 57.50 17.50 87.50 0.404513 - 57.50 17.50 92.50 0.252721 - 57.50 17.50 97.50 0.13285 - 57.50 17.50 102.50 0.0818424 - 57.50 17.50 107.50 0.150407 - 57.50 17.50 112.50 0.312627 - 57.50 17.50 117.50 0.560896 - 57.50 17.50 122.50 0.899809 - 57.50 17.50 127.50 1.20669 - 57.50 17.50 132.50 1.27813 - 57.50 17.50 137.50 1.13113 - 57.50 17.50 142.50 1.01927 - 57.50 17.50 147.50 1.07391 - 57.50 17.50 152.50 1.23068 - 57.50 17.50 157.50 1.29938 - 57.50 17.50 162.50 1.18922 - 57.50 17.50 167.50 0.913617 - 57.50 17.50 172.50 0.601344 - 57.50 17.50 177.50 0.404513 - 57.50 17.50 182.50 0.252721 - 57.50 17.50 187.50 0.13285 - 57.50 17.50 192.50 0.0818425 - 57.50 17.50 197.50 0.150407 - 57.50 17.50 202.50 0.312627 - 57.50 17.50 207.50 0.560895 - 57.50 17.50 212.50 0.899808 - 57.50 17.50 217.50 1.20669 - 57.50 17.50 222.50 1.27813 - 57.50 17.50 227.50 1.13113 - 57.50 17.50 232.50 1.01927 - 57.50 17.50 237.50 1.07391 - 57.50 17.50 242.50 1.23068 - 57.50 17.50 247.50 1.29939 - 57.50 17.50 252.50 1.18922 - 57.50 17.50 257.50 0.913616 - 57.50 17.50 262.50 0.601343 - 57.50 17.50 267.50 0.404512 - 57.50 17.50 272.50 0.252721 - 57.50 17.50 277.50 0.13285 - 57.50 17.50 282.50 0.0818425 - 57.50 17.50 287.50 0.150407 - 57.50 17.50 292.50 0.312627 - 57.50 17.50 297.50 0.560895 - 57.50 17.50 302.50 0.899808 - 57.50 17.50 307.50 1.20669 - 57.50 17.50 312.50 1.27813 - 57.50 17.50 317.50 1.13113 - 57.50 17.50 322.50 1.01927 - 57.50 17.50 327.50 1.07391 - 57.50 17.50 332.50 1.23068 - 57.50 17.50 337.50 1.29938 - 57.50 17.50 342.50 1.18922 - 57.50 17.50 347.50 0.913617 - 57.50 17.50 352.50 0.601344 - 57.50 17.50 357.50 0.404513 - 57.50 22.50 2.50 0.273722 - 57.50 22.50 7.50 0.109009 - 57.50 22.50 12.50 0.0622614 - 57.50 22.50 17.50 0.109659 - 57.50 22.50 22.50 0.235092 - 57.50 22.50 27.50 0.439941 - 57.50 22.50 32.50 0.75839 - 57.50 22.50 37.50 1.15323 - 57.50 22.50 42.50 1.41289 - 57.50 22.50 47.50 1.53031 - 57.50 22.50 52.50 1.76613 - 57.50 22.50 57.50 2.12902 - 57.50 22.50 62.50 2.5184 - 57.50 22.50 67.50 2.73071 - 57.50 22.50 72.50 2.5171 - 57.50 22.50 77.50 1.88506 - 57.50 22.50 82.50 1.1453 - 57.50 22.50 87.50 0.583451 - 57.50 22.50 92.50 0.273721 - 57.50 22.50 97.50 0.109009 - 57.50 22.50 102.50 0.0622614 - 57.50 22.50 107.50 0.109659 - 57.50 22.50 112.50 0.235092 - 57.50 22.50 117.50 0.439942 - 57.50 22.50 122.50 0.75839 - 57.50 22.50 127.50 1.15323 - 57.50 22.50 132.50 1.41289 - 57.50 22.50 137.50 1.53031 - 57.50 22.50 142.50 1.76613 - 57.50 22.50 147.50 2.12902 - 57.50 22.50 152.50 2.5184 - 57.50 22.50 157.50 2.73071 - 57.50 22.50 162.50 2.5171 - 57.50 22.50 167.50 1.88506 - 57.50 22.50 172.50 1.14531 - 57.50 22.50 177.50 0.583451 - 57.50 22.50 182.50 0.273721 - 57.50 22.50 187.50 0.109009 - 57.50 22.50 192.50 0.0622614 - 57.50 22.50 197.50 0.109659 - 57.50 22.50 202.50 0.235092 - 57.50 22.50 207.50 0.439941 - 57.50 22.50 212.50 0.75839 - 57.50 22.50 217.50 1.15323 - 57.50 22.50 222.50 1.41289 - 57.50 22.50 227.50 1.53031 - 57.50 22.50 232.50 1.76613 - 57.50 22.50 237.50 2.12902 - 57.50 22.50 242.50 2.5184 - 57.50 22.50 247.50 2.73071 - 57.50 22.50 252.50 2.5171 - 57.50 22.50 257.50 1.88506 - 57.50 22.50 262.50 1.1453 - 57.50 22.50 267.50 0.58345 - 57.50 22.50 272.50 0.273721 - 57.50 22.50 277.50 0.109009 - 57.50 22.50 282.50 0.0622614 - 57.50 22.50 287.50 0.109659 - 57.50 22.50 292.50 0.235092 - 57.50 22.50 297.50 0.439941 - 57.50 22.50 302.50 0.758389 - 57.50 22.50 307.50 1.15323 - 57.50 22.50 312.50 1.41289 - 57.50 22.50 317.50 1.53031 - 57.50 22.50 322.50 1.76613 - 57.50 22.50 327.50 2.12902 - 57.50 22.50 332.50 2.5184 - 57.50 22.50 337.50 2.73071 - 57.50 22.50 342.50 2.5171 - 57.50 22.50 347.50 1.88506 - 57.50 22.50 352.50 1.14531 - 57.50 22.50 357.50 0.583451 - 57.50 27.50 2.50 0.315204 - 57.50 27.50 7.50 0.0937555 - 57.50 27.50 12.50 0.0419425 - 57.50 27.50 17.50 0.0536605 - 57.50 27.50 22.50 0.117925 - 57.50 27.50 27.50 0.247702 - 57.50 27.50 32.50 0.517773 - 57.50 27.50 37.50 0.897298 - 57.50 27.50 42.50 1.27299 - 57.50 27.50 47.50 1.69825 - 57.50 27.50 52.50 2.24399 - 57.50 27.50 57.50 3.0451 - 57.50 27.50 62.50 4.0602 - 57.50 27.50 67.50 4.55459 - 57.50 27.50 72.50 4.21599 - 57.50 27.50 77.50 3.15074 - 57.50 27.50 82.50 1.8235 - 57.50 27.50 87.50 0.816508 - 57.50 27.50 92.50 0.315204 - 57.50 27.50 97.50 0.0937555 - 57.50 27.50 102.50 0.0419425 - 57.50 27.50 107.50 0.0536605 - 57.50 27.50 112.50 0.117925 - 57.50 27.50 117.50 0.247702 - 57.50 27.50 122.50 0.517774 - 57.50 27.50 127.50 0.897298 - 57.50 27.50 132.50 1.27299 - 57.50 27.50 137.50 1.69826 - 57.50 27.50 142.50 2.24399 - 57.50 27.50 147.50 3.0451 - 57.50 27.50 152.50 4.0602 - 57.50 27.50 157.50 4.55459 - 57.50 27.50 162.50 4.21599 - 57.50 27.50 167.50 3.15074 - 57.50 27.50 172.50 1.8235 - 57.50 27.50 177.50 0.816509 - 57.50 27.50 182.50 0.315204 - 57.50 27.50 187.50 0.0937555 - 57.50 27.50 192.50 0.0419425 - 57.50 27.50 197.50 0.0536605 - 57.50 27.50 202.50 0.117925 - 57.50 27.50 207.50 0.247701 - 57.50 27.50 212.50 0.517773 - 57.50 27.50 217.50 0.897298 - 57.50 27.50 222.50 1.27299 - 57.50 27.50 227.50 1.69826 - 57.50 27.50 232.50 2.24399 - 57.50 27.50 237.50 3.04511 - 57.50 27.50 242.50 4.0602 - 57.50 27.50 247.50 4.55459 - 57.50 27.50 252.50 4.21599 - 57.50 27.50 257.50 3.15074 - 57.50 27.50 262.50 1.82349 - 57.50 27.50 267.50 0.816507 - 57.50 27.50 272.50 0.315204 - 57.50 27.50 277.50 0.0937556 - 57.50 27.50 282.50 0.0419426 - 57.50 27.50 287.50 0.0536604 - 57.50 27.50 292.50 0.117925 - 57.50 27.50 297.50 0.247701 - 57.50 27.50 302.50 0.517773 - 57.50 27.50 307.50 0.897297 - 57.50 27.50 312.50 1.27299 - 57.50 27.50 317.50 1.69826 - 57.50 27.50 322.50 2.24399 - 57.50 27.50 327.50 3.0451 - 57.50 27.50 332.50 4.06019 - 57.50 27.50 337.50 4.55459 - 57.50 27.50 342.50 4.21599 - 57.50 27.50 347.50 3.15075 - 57.50 27.50 352.50 1.8235 - 57.50 27.50 357.50 0.81651 - 57.50 32.50 2.50 0.348473 - 57.50 32.50 7.50 0.0903384 - 57.50 32.50 12.50 0.0308658 - 57.50 32.50 17.50 0.0203815 - 57.50 32.50 22.50 0.0446586 - 57.50 32.50 27.50 0.11048 - 57.50 32.50 32.50 0.275267 - 57.50 32.50 37.50 0.559572 - 57.50 32.50 42.50 0.907054 - 57.50 32.50 47.50 1.40564 - 57.50 32.50 52.50 2.24383 - 57.50 32.50 57.50 3.47636 - 57.50 32.50 62.50 4.84183 - 57.50 32.50 67.50 5.76945 - 57.50 32.50 72.50 5.39525 - 57.50 32.50 77.50 4.01869 - 57.50 32.50 82.50 2.2405 - 57.50 32.50 87.50 0.96703 - 57.50 32.50 92.50 0.348473 - 57.50 32.50 97.50 0.0903383 - 57.50 32.50 102.50 0.0308658 - 57.50 32.50 107.50 0.0203815 - 57.50 32.50 112.50 0.0446587 - 57.50 32.50 117.50 0.11048 - 57.50 32.50 122.50 0.275267 - 57.50 32.50 127.50 0.559573 - 57.50 32.50 132.50 0.907054 - 57.50 32.50 137.50 1.40564 - 57.50 32.50 142.50 2.24383 - 57.50 32.50 147.50 3.47636 - 57.50 32.50 152.50 4.84183 - 57.50 32.50 157.50 5.76945 - 57.50 32.50 162.50 5.39525 - 57.50 32.50 167.50 4.01869 - 57.50 32.50 172.50 2.2405 - 57.50 32.50 177.50 0.96703 - 57.50 32.50 182.50 0.348473 - 57.50 32.50 187.50 0.0903383 - 57.50 32.50 192.50 0.0308658 - 57.50 32.50 197.50 0.0203815 - 57.50 32.50 202.50 0.0446587 - 57.50 32.50 207.50 0.110479 - 57.50 32.50 212.50 0.275267 - 57.50 32.50 217.50 0.559572 - 57.50 32.50 222.50 0.907054 - 57.50 32.50 227.50 1.40564 - 57.50 32.50 232.50 2.24383 - 57.50 32.50 237.50 3.47637 - 57.50 32.50 242.50 4.84183 - 57.50 32.50 247.50 5.76945 - 57.50 32.50 252.50 5.39525 - 57.50 32.50 257.50 4.01869 - 57.50 32.50 262.50 2.2405 - 57.50 32.50 267.50 0.967029 - 57.50 32.50 272.50 0.348473 - 57.50 32.50 277.50 0.0903384 - 57.50 32.50 282.50 0.0308658 - 57.50 32.50 287.50 0.0203815 - 57.50 32.50 292.50 0.0446586 - 57.50 32.50 297.50 0.110479 - 57.50 32.50 302.50 0.275266 - 57.50 32.50 307.50 0.559572 - 57.50 32.50 312.50 0.907053 - 57.50 32.50 317.50 1.40564 - 57.50 32.50 322.50 2.24383 - 57.50 32.50 327.50 3.47636 - 57.50 32.50 332.50 4.84182 - 57.50 32.50 337.50 5.76944 - 57.50 32.50 342.50 5.39525 - 57.50 32.50 347.50 4.01869 - 57.50 32.50 352.50 2.2405 - 57.50 32.50 357.50 0.967032 - 57.50 37.50 2.50 0.328532 - 57.50 37.50 7.50 0.0866606 - 57.50 37.50 12.50 0.0233344 - 57.50 37.50 17.50 0.0111927 - 57.50 37.50 22.50 0.016875 - 57.50 37.50 27.50 0.0419012 - 57.50 37.50 32.50 0.117388 - 57.50 37.50 37.50 0.265309 - 57.50 37.50 42.50 0.506261 - 57.50 37.50 47.50 0.924941 - 57.50 37.50 52.50 1.76091 - 57.50 37.50 57.50 3.13348 - 57.50 37.50 62.50 4.60736 - 57.50 37.50 67.50 5.49299 - 57.50 37.50 72.50 5.18173 - 57.50 37.50 77.50 3.78194 - 57.50 37.50 82.50 2.10274 - 57.50 37.50 87.50 0.920472 - 57.50 37.50 92.50 0.328532 - 57.50 37.50 97.50 0.0866605 - 57.50 37.50 102.50 0.0233344 - 57.50 37.50 107.50 0.0111927 - 57.50 37.50 112.50 0.016875 - 57.50 37.50 117.50 0.0419013 - 57.50 37.50 122.50 0.117388 - 57.50 37.50 127.50 0.265309 - 57.50 37.50 132.50 0.506261 - 57.50 37.50 137.50 0.924941 - 57.50 37.50 142.50 1.76091 - 57.50 37.50 147.50 3.13348 - 57.50 37.50 152.50 4.60736 - 57.50 37.50 157.50 5.49299 - 57.50 37.50 162.50 5.18173 - 57.50 37.50 167.50 3.78195 - 57.50 37.50 172.50 2.10274 - 57.50 37.50 177.50 0.920472 - 57.50 37.50 182.50 0.328531 - 57.50 37.50 187.50 0.0866605 - 57.50 37.50 192.50 0.0233343 - 57.50 37.50 197.50 0.0111927 - 57.50 37.50 202.50 0.016875 - 57.50 37.50 207.50 0.0419012 - 57.50 37.50 212.50 0.117388 - 57.50 37.50 217.50 0.265309 - 57.50 37.50 222.50 0.506261 - 57.50 37.50 227.50 0.92494 - 57.50 37.50 232.50 1.76091 - 57.50 37.50 237.50 3.13348 - 57.50 37.50 242.50 4.60736 - 57.50 37.50 247.50 5.49299 - 57.50 37.50 252.50 5.18173 - 57.50 37.50 257.50 3.78194 - 57.50 37.50 262.50 2.10274 - 57.50 37.50 267.50 0.92047 - 57.50 37.50 272.50 0.328531 - 57.50 37.50 277.50 0.0866606 - 57.50 37.50 282.50 0.0233344 - 57.50 37.50 287.50 0.0111926 - 57.50 37.50 292.50 0.016875 - 57.50 37.50 297.50 0.0419012 - 57.50 37.50 302.50 0.117388 - 57.50 37.50 307.50 0.265309 - 57.50 37.50 312.50 0.506261 - 57.50 37.50 317.50 0.92494 - 57.50 37.50 322.50 1.76091 - 57.50 37.50 327.50 3.13348 - 57.50 37.50 332.50 4.60736 - 57.50 37.50 337.50 5.49299 - 57.50 37.50 342.50 5.18173 - 57.50 37.50 347.50 3.78195 - 57.50 37.50 352.50 2.10274 - 57.50 37.50 357.50 0.920474 - 57.50 42.50 2.50 0.288878 - 57.50 42.50 7.50 0.0891299 - 57.50 42.50 12.50 0.0319311 - 57.50 42.50 17.50 0.0216585 - 57.50 42.50 22.50 0.018284 - 57.50 42.50 27.50 0.01989 - 57.50 42.50 32.50 0.036977 - 57.50 42.50 37.50 0.0901081 - 57.50 42.50 42.50 0.205942 - 57.50 42.50 47.50 0.474548 - 57.50 42.50 52.50 1.09675 - 57.50 42.50 57.50 2.13512 - 57.50 42.50 62.50 3.38513 - 57.50 42.50 67.50 4.12697 - 57.50 42.50 72.50 3.89943 - 57.50 42.50 77.50 2.78949 - 57.50 42.50 82.50 1.5684 - 57.50 42.50 87.50 0.741633 - 57.50 42.50 92.50 0.288878 - 57.50 42.50 97.50 0.0891298 - 57.50 42.50 102.50 0.031931 - 57.50 42.50 107.50 0.0216585 - 57.50 42.50 112.50 0.018284 - 57.50 42.50 117.50 0.0198901 - 57.50 42.50 122.50 0.0369771 - 57.50 42.50 127.50 0.0901082 - 57.50 42.50 132.50 0.205942 - 57.50 42.50 137.50 0.474548 - 57.50 42.50 142.50 1.09675 - 57.50 42.50 147.50 2.13512 - 57.50 42.50 152.50 3.38513 - 57.50 42.50 157.50 4.12697 - 57.50 42.50 162.50 3.89943 - 57.50 42.50 167.50 2.78949 - 57.50 42.50 172.50 1.5684 - 57.50 42.50 177.50 0.741633 - 57.50 42.50 182.50 0.288878 - 57.50 42.50 187.50 0.0891298 - 57.50 42.50 192.50 0.031931 - 57.50 42.50 197.50 0.0216585 - 57.50 42.50 202.50 0.018284 - 57.50 42.50 207.50 0.01989 - 57.50 42.50 212.50 0.036977 - 57.50 42.50 217.50 0.0901081 - 57.50 42.50 222.50 0.205941 - 57.50 42.50 227.50 0.474548 - 57.50 42.50 232.50 1.09676 - 57.50 42.50 237.50 2.13512 - 57.50 42.50 242.50 3.38513 - 57.50 42.50 247.50 4.12697 - 57.50 42.50 252.50 3.89943 - 57.50 42.50 257.50 2.78949 - 57.50 42.50 262.50 1.5684 - 57.50 42.50 267.50 0.741633 - 57.50 42.50 272.50 0.288878 - 57.50 42.50 277.50 0.0891299 - 57.50 42.50 282.50 0.0319311 - 57.50 42.50 287.50 0.0216585 - 57.50 42.50 292.50 0.018284 - 57.50 42.50 297.50 0.01989 - 57.50 42.50 302.50 0.0369769 - 57.50 42.50 307.50 0.0901081 - 57.50 42.50 312.50 0.205941 - 57.50 42.50 317.50 0.474548 - 57.50 42.50 322.50 1.09675 - 57.50 42.50 327.50 2.13512 - 57.50 42.50 332.50 3.38513 - 57.50 42.50 337.50 4.12697 - 57.50 42.50 342.50 3.89944 - 57.50 42.50 347.50 2.7895 - 57.50 42.50 352.50 1.5684 - 57.50 42.50 357.50 0.741635 - 57.50 47.50 2.50 0.272741 - 57.50 47.50 7.50 0.126127 - 57.50 47.50 12.50 0.0916226 - 57.50 47.50 17.50 0.0898224 - 57.50 47.50 22.50 0.0771197 - 57.50 47.50 27.50 0.043737 - 57.50 47.50 32.50 0.0210071 - 57.50 47.50 37.50 0.0272758 - 57.50 47.50 42.50 0.059534 - 57.50 47.50 47.50 0.210639 - 57.50 47.50 52.50 0.52032 - 57.50 47.50 57.50 1.09133 - 57.50 47.50 62.50 1.79439 - 57.50 47.50 67.50 2.36679 - 57.50 47.50 72.50 2.35483 - 57.50 47.50 77.50 1.72448 - 57.50 47.50 82.50 1.02107 - 57.50 47.50 87.50 0.542745 - 57.50 47.50 92.50 0.272741 - 57.50 47.50 97.50 0.126127 - 57.50 47.50 102.50 0.0916225 - 57.50 47.50 107.50 0.0898223 - 57.50 47.50 112.50 0.0771198 - 57.50 47.50 117.50 0.043737 - 57.50 47.50 122.50 0.0210071 - 57.50 47.50 127.50 0.0272759 - 57.50 47.50 132.50 0.059534 - 57.50 47.50 137.50 0.210639 - 57.50 47.50 142.50 0.52032 - 57.50 47.50 147.50 1.09133 - 57.50 47.50 152.50 1.79439 - 57.50 47.50 157.50 2.36679 - 57.50 47.50 162.50 2.35484 - 57.50 47.50 167.50 1.72448 - 57.50 47.50 172.50 1.02108 - 57.50 47.50 177.50 0.542745 - 57.50 47.50 182.50 0.272741 - 57.50 47.50 187.50 0.126127 - 57.50 47.50 192.50 0.0916224 - 57.50 47.50 197.50 0.0898222 - 57.50 47.50 202.50 0.0771198 - 57.50 47.50 207.50 0.0437371 - 57.50 47.50 212.50 0.0210071 - 57.50 47.50 217.50 0.0272758 - 57.50 47.50 222.50 0.059534 - 57.50 47.50 227.50 0.210639 - 57.50 47.50 232.50 0.520321 - 57.50 47.50 237.50 1.09133 - 57.50 47.50 242.50 1.79439 - 57.50 47.50 247.50 2.36679 - 57.50 47.50 252.50 2.35483 - 57.50 47.50 257.50 1.72448 - 57.50 47.50 262.50 1.02107 - 57.50 47.50 267.50 0.542744 - 57.50 47.50 272.50 0.272741 - 57.50 47.50 277.50 0.126127 - 57.50 47.50 282.50 0.0916225 - 57.50 47.50 287.50 0.0898223 - 57.50 47.50 292.50 0.0771197 - 57.50 47.50 297.50 0.0437371 - 57.50 47.50 302.50 0.0210071 - 57.50 47.50 307.50 0.0272758 - 57.50 47.50 312.50 0.059534 - 57.50 47.50 317.50 0.210638 - 57.50 47.50 322.50 0.520319 - 57.50 47.50 327.50 1.09133 - 57.50 47.50 332.50 1.79439 - 57.50 47.50 337.50 2.36679 - 57.50 47.50 342.50 2.35484 - 57.50 47.50 347.50 1.72448 - 57.50 47.50 352.50 1.02108 - 57.50 47.50 357.50 0.542746 - 57.50 52.50 2.50 0.288878 - 57.50 52.50 7.50 0.233442 - 57.50 52.50 12.50 0.257683 - 57.50 52.50 17.50 0.280289 - 57.50 52.50 22.50 0.252126 - 57.50 52.50 27.50 0.158508 - 57.50 52.50 32.50 0.0877077 - 57.50 52.50 37.50 0.0432187 - 57.50 52.50 42.50 0.0297947 - 57.50 52.50 47.50 0.0654376 - 57.50 52.50 52.50 0.195269 - 57.50 52.50 57.50 0.436657 - 57.50 52.50 62.50 0.679011 - 57.50 52.50 67.50 0.953545 - 57.50 52.50 72.50 1.07286 - 57.50 52.50 77.50 0.891921 - 57.50 52.50 82.50 0.600881 - 57.50 52.50 87.50 0.373191 - 57.50 52.50 92.50 0.288878 - 57.50 52.50 97.50 0.233442 - 57.50 52.50 102.50 0.257683 - 57.50 52.50 107.50 0.280289 - 57.50 52.50 112.50 0.252126 - 57.50 52.50 117.50 0.158508 - 57.50 52.50 122.50 0.0877077 - 57.50 52.50 127.50 0.0432187 - 57.50 52.50 132.50 0.0297947 - 57.50 52.50 137.50 0.0654376 - 57.50 52.50 142.50 0.19527 - 57.50 52.50 147.50 0.436657 - 57.50 52.50 152.50 0.67901 - 57.50 52.50 157.50 0.953545 - 57.50 52.50 162.50 1.07286 - 57.50 52.50 167.50 0.891921 - 57.50 52.50 172.50 0.600881 - 57.50 52.50 177.50 0.373191 - 57.50 52.50 182.50 0.288878 - 57.50 52.50 187.50 0.233442 - 57.50 52.50 192.50 0.257683 - 57.50 52.50 197.50 0.280289 - 57.50 52.50 202.50 0.252126 - 57.50 52.50 207.50 0.158508 - 57.50 52.50 212.50 0.0877077 - 57.50 52.50 217.50 0.0432187 - 57.50 52.50 222.50 0.0297947 - 57.50 52.50 227.50 0.0654375 - 57.50 52.50 232.50 0.19527 - 57.50 52.50 237.50 0.436658 - 57.50 52.50 242.50 0.679011 - 57.50 52.50 247.50 0.953545 - 57.50 52.50 252.50 1.07286 - 57.50 52.50 257.50 0.891919 - 57.50 52.50 262.50 0.600881 - 57.50 52.50 267.50 0.373191 - 57.50 52.50 272.50 0.288878 - 57.50 52.50 277.50 0.233442 - 57.50 52.50 282.50 0.257683 - 57.50 52.50 287.50 0.280289 - 57.50 52.50 292.50 0.252126 - 57.50 52.50 297.50 0.158508 - 57.50 52.50 302.50 0.0877078 - 57.50 52.50 307.50 0.0432188 - 57.50 52.50 312.50 0.0297946 - 57.50 52.50 317.50 0.0654375 - 57.50 52.50 322.50 0.195269 - 57.50 52.50 327.50 0.436656 - 57.50 52.50 332.50 0.67901 - 57.50 52.50 337.50 0.953544 - 57.50 52.50 342.50 1.07286 - 57.50 52.50 347.50 0.89192 - 57.50 52.50 352.50 0.600881 - 57.50 52.50 357.50 0.373192 - 57.50 57.50 2.50 0.328532 - 57.50 57.50 7.50 0.428519 - 57.50 57.50 12.50 0.570667 - 57.50 57.50 17.50 0.67217 - 57.50 57.50 22.50 0.649893 - 57.50 57.50 27.50 0.534145 - 57.50 57.50 32.50 0.371836 - 57.50 57.50 37.50 0.189034 - 57.50 57.50 42.50 0.0843452 - 57.50 57.50 47.50 0.0583608 - 57.50 57.50 52.50 0.0769568 - 57.50 57.50 57.50 0.152801 - 57.50 57.50 62.50 0.233768 - 57.50 57.50 67.50 0.278106 - 57.50 57.50 72.50 0.358515 - 57.50 57.50 77.50 0.365702 - 57.50 57.50 82.50 0.316922 - 57.50 57.50 87.50 0.246085 - 57.50 57.50 92.50 0.328532 - 57.50 57.50 97.50 0.428519 - 57.50 57.50 102.50 0.570667 - 57.50 57.50 107.50 0.672169 - 57.50 57.50 112.50 0.649893 - 57.50 57.50 117.50 0.534145 - 57.50 57.50 122.50 0.371836 - 57.50 57.50 127.50 0.189034 - 57.50 57.50 132.50 0.0843452 - 57.50 57.50 137.50 0.0583608 - 57.50 57.50 142.50 0.0769568 - 57.50 57.50 147.50 0.152801 - 57.50 57.50 152.50 0.233769 - 57.50 57.50 157.50 0.278107 - 57.50 57.50 162.50 0.358515 - 57.50 57.50 167.50 0.365703 - 57.50 57.50 172.50 0.316922 - 57.50 57.50 177.50 0.246085 - 57.50 57.50 182.50 0.328531 - 57.50 57.50 187.50 0.428519 - 57.50 57.50 192.50 0.570667 - 57.50 57.50 197.50 0.672169 - 57.50 57.50 202.50 0.649893 - 57.50 57.50 207.50 0.534145 - 57.50 57.50 212.50 0.371836 - 57.50 57.50 217.50 0.189034 - 57.50 57.50 222.50 0.0843453 - 57.50 57.50 227.50 0.0583608 - 57.50 57.50 232.50 0.0769569 - 57.50 57.50 237.50 0.152801 - 57.50 57.50 242.50 0.233769 - 57.50 57.50 247.50 0.278107 - 57.50 57.50 252.50 0.358515 - 57.50 57.50 257.50 0.365703 - 57.50 57.50 262.50 0.316921 - 57.50 57.50 267.50 0.246085 - 57.50 57.50 272.50 0.328532 - 57.50 57.50 277.50 0.428519 - 57.50 57.50 282.50 0.570667 - 57.50 57.50 287.50 0.67217 - 57.50 57.50 292.50 0.649894 - 57.50 57.50 297.50 0.534145 - 57.50 57.50 302.50 0.371836 - 57.50 57.50 307.50 0.189035 - 57.50 57.50 312.50 0.0843453 - 57.50 57.50 317.50 0.0583608 - 57.50 57.50 322.50 0.0769566 - 57.50 57.50 327.50 0.152801 - 57.50 57.50 332.50 0.233769 - 57.50 57.50 337.50 0.278106 - 57.50 57.50 342.50 0.358515 - 57.50 57.50 347.50 0.365702 - 57.50 57.50 352.50 0.316922 - 57.50 57.50 357.50 0.246085 - 57.50 62.50 2.50 0.348473 - 57.50 62.50 7.50 0.613993 - 57.50 62.50 12.50 0.93186 - 57.50 62.50 17.50 1.25066 - 57.50 62.50 22.50 1.48491 - 57.50 62.50 27.50 1.48961 - 57.50 62.50 32.50 1.1483 - 57.50 62.50 37.50 0.700884 - 57.50 62.50 42.50 0.343469 - 57.50 62.50 47.50 0.181719 - 57.50 62.50 52.50 0.107718 - 57.50 62.50 57.50 0.0763319 - 57.50 62.50 62.50 0.072886 - 57.50 62.50 67.50 0.0657577 - 57.50 62.50 72.50 0.0824291 - 57.50 62.50 77.50 0.106064 - 57.50 62.50 82.50 0.142713 - 57.50 62.50 87.50 0.162287 - 57.50 62.50 92.50 0.348473 - 57.50 62.50 97.50 0.613993 - 57.50 62.50 102.50 0.93186 - 57.50 62.50 107.50 1.25066 - 57.50 62.50 112.50 1.48491 - 57.50 62.50 117.50 1.48961 - 57.50 62.50 122.50 1.1483 - 57.50 62.50 127.50 0.700883 - 57.50 62.50 132.50 0.343469 - 57.50 62.50 137.50 0.181719 - 57.50 62.50 142.50 0.107718 - 57.50 62.50 147.50 0.0763319 - 57.50 62.50 152.50 0.072886 - 57.50 62.50 157.50 0.0657577 - 57.50 62.50 162.50 0.0824291 - 57.50 62.50 167.50 0.106065 - 57.50 62.50 172.50 0.142713 - 57.50 62.50 177.50 0.162287 - 57.50 62.50 182.50 0.348473 - 57.50 62.50 187.50 0.613993 - 57.50 62.50 192.50 0.931859 - 57.50 62.50 197.50 1.25066 - 57.50 62.50 202.50 1.48491 - 57.50 62.50 207.50 1.48961 - 57.50 62.50 212.50 1.1483 - 57.50 62.50 217.50 0.700884 - 57.50 62.50 222.50 0.343469 - 57.50 62.50 227.50 0.181719 - 57.50 62.50 232.50 0.107718 - 57.50 62.50 237.50 0.0763319 - 57.50 62.50 242.50 0.0728861 - 57.50 62.50 247.50 0.0657577 - 57.50 62.50 252.50 0.0824291 - 57.50 62.50 257.50 0.106064 - 57.50 62.50 262.50 0.142713 - 57.50 62.50 267.50 0.162287 - 57.50 62.50 272.50 0.348473 - 57.50 62.50 277.50 0.613993 - 57.50 62.50 282.50 0.93186 - 57.50 62.50 287.50 1.25066 - 57.50 62.50 292.50 1.48491 - 57.50 62.50 297.50 1.48961 - 57.50 62.50 302.50 1.1483 - 57.50 62.50 307.50 0.700884 - 57.50 62.50 312.50 0.343469 - 57.50 62.50 317.50 0.181719 - 57.50 62.50 322.50 0.107718 - 57.50 62.50 327.50 0.0763319 - 57.50 62.50 332.50 0.0728861 - 57.50 62.50 337.50 0.0657577 - 57.50 62.50 342.50 0.0824289 - 57.50 62.50 347.50 0.106065 - 57.50 62.50 352.50 0.142713 - 57.50 62.50 357.50 0.162287 - 57.50 67.50 2.50 0.315204 - 57.50 67.50 7.50 0.659434 - 57.50 67.50 12.50 1.19472 - 57.50 67.50 17.50 1.93799 - 57.50 67.50 22.50 2.75563 - 57.50 67.50 27.50 3.04831 - 57.50 67.50 32.50 2.62958 - 57.50 67.50 37.50 1.8407 - 57.50 67.50 42.50 1.04715 - 57.50 67.50 47.50 0.526913 - 57.50 67.50 52.50 0.249995 - 57.50 67.50 57.50 0.0998971 - 57.50 67.50 62.50 0.0320944 - 57.50 67.50 67.50 0.0142209 - 57.50 67.50 72.50 0.0146423 - 57.50 67.50 77.50 0.0294463 - 57.50 67.50 82.50 0.0651828 - 57.50 67.50 87.50 0.115517 - 57.50 67.50 92.50 0.315204 - 57.50 67.50 97.50 0.659434 - 57.50 67.50 102.50 1.19472 - 57.50 67.50 107.50 1.93799 - 57.50 67.50 112.50 2.75563 - 57.50 67.50 117.50 3.04831 - 57.50 67.50 122.50 2.62957 - 57.50 67.50 127.50 1.8407 - 57.50 67.50 132.50 1.04715 - 57.50 67.50 137.50 0.526913 - 57.50 67.50 142.50 0.249995 - 57.50 67.50 147.50 0.0998971 - 57.50 67.50 152.50 0.0320945 - 57.50 67.50 157.50 0.0142209 - 57.50 67.50 162.50 0.0146423 - 57.50 67.50 167.50 0.0294463 - 57.50 67.50 172.50 0.0651828 - 57.50 67.50 177.50 0.115517 - 57.50 67.50 182.50 0.315204 - 57.50 67.50 187.50 0.659434 - 57.50 67.50 192.50 1.19472 - 57.50 67.50 197.50 1.93798 - 57.50 67.50 202.50 2.75563 - 57.50 67.50 207.50 3.04831 - 57.50 67.50 212.50 2.62957 - 57.50 67.50 217.50 1.8407 - 57.50 67.50 222.50 1.04715 - 57.50 67.50 227.50 0.526913 - 57.50 67.50 232.50 0.249995 - 57.50 67.50 237.50 0.099897 - 57.50 67.50 242.50 0.0320944 - 57.50 67.50 247.50 0.0142209 - 57.50 67.50 252.50 0.0146423 - 57.50 67.50 257.50 0.0294464 - 57.50 67.50 262.50 0.0651829 - 57.50 67.50 267.50 0.115517 - 57.50 67.50 272.50 0.315204 - 57.50 67.50 277.50 0.659435 - 57.50 67.50 282.50 1.19472 - 57.50 67.50 287.50 1.93799 - 57.50 67.50 292.50 2.75563 - 57.50 67.50 297.50 3.04831 - 57.50 67.50 302.50 2.62958 - 57.50 67.50 307.50 1.8407 - 57.50 67.50 312.50 1.04715 - 57.50 67.50 317.50 0.526914 - 57.50 67.50 322.50 0.249995 - 57.50 67.50 327.50 0.0998974 - 57.50 67.50 332.50 0.0320945 - 57.50 67.50 337.50 0.0142209 - 57.50 67.50 342.50 0.0146423 - 57.50 67.50 347.50 0.0294463 - 57.50 67.50 352.50 0.0651827 - 57.50 67.50 357.50 0.115517 - 57.50 72.50 2.50 0.273722 - 57.50 72.50 7.50 0.62141 - 57.50 72.50 12.50 1.31791 - 57.50 72.50 17.50 2.50653 - 57.50 72.50 22.50 3.93032 - 57.50 72.50 27.50 4.5733 - 57.50 72.50 32.50 4.42529 - 57.50 72.50 37.50 3.53505 - 57.50 72.50 42.50 2.25116 - 57.50 72.50 47.50 1.18521 - 57.50 72.50 52.50 0.544366 - 57.50 72.50 57.50 0.211772 - 57.50 72.50 62.50 0.0645033 - 57.50 72.50 67.50 0.0168086 - 57.50 72.50 72.50 0.00840855 - 57.50 72.50 77.50 0.0183021 - 57.50 72.50 82.50 0.0579616 - 57.50 72.50 87.50 0.10637 - 57.50 72.50 92.50 0.273722 - 57.50 72.50 97.50 0.62141 - 57.50 72.50 102.50 1.31791 - 57.50 72.50 107.50 2.50652 - 57.50 72.50 112.50 3.93032 - 57.50 72.50 117.50 4.57329 - 57.50 72.50 122.50 4.42528 - 57.50 72.50 127.50 3.53504 - 57.50 72.50 132.50 2.25115 - 57.50 72.50 137.50 1.18521 - 57.50 72.50 142.50 0.544366 - 57.50 72.50 147.50 0.211773 - 57.50 72.50 152.50 0.0645035 - 57.50 72.50 157.50 0.0168086 - 57.50 72.50 162.50 0.00840856 - 57.50 72.50 167.50 0.0183021 - 57.50 72.50 172.50 0.0579616 - 57.50 72.50 177.50 0.10637 - 57.50 72.50 182.50 0.273722 - 57.50 72.50 187.50 0.62141 - 57.50 72.50 192.50 1.31791 - 57.50 72.50 197.50 2.50653 - 57.50 72.50 202.50 3.93032 - 57.50 72.50 207.50 4.57329 - 57.50 72.50 212.50 4.42529 - 57.50 72.50 217.50 3.53505 - 57.50 72.50 222.50 2.25116 - 57.50 72.50 227.50 1.18521 - 57.50 72.50 232.50 0.544365 - 57.50 72.50 237.50 0.211772 - 57.50 72.50 242.50 0.0645032 - 57.50 72.50 247.50 0.0168086 - 57.50 72.50 252.50 0.00840856 - 57.50 72.50 257.50 0.0183021 - 57.50 72.50 262.50 0.0579618 - 57.50 72.50 267.50 0.106371 - 57.50 72.50 272.50 0.273722 - 57.50 72.50 277.50 0.62141 - 57.50 72.50 282.50 1.31791 - 57.50 72.50 287.50 2.50653 - 57.50 72.50 292.50 3.93032 - 57.50 72.50 297.50 4.57329 - 57.50 72.50 302.50 4.42529 - 57.50 72.50 307.50 3.53505 - 57.50 72.50 312.50 2.25116 - 57.50 72.50 317.50 1.18521 - 57.50 72.50 322.50 0.544367 - 57.50 72.50 327.50 0.211773 - 57.50 72.50 332.50 0.0645036 - 57.50 72.50 337.50 0.0168087 - 57.50 72.50 342.50 0.00840857 - 57.50 72.50 347.50 0.0183021 - 57.50 72.50 352.50 0.0579616 - 57.50 72.50 357.50 0.10637 - 57.50 77.50 2.50 0.252721 - 57.50 77.50 7.50 0.606695 - 57.50 77.50 12.50 1.28309 - 57.50 77.50 17.50 2.72246 - 57.50 77.50 22.50 4.2555 - 57.50 77.50 27.50 5.36618 - 57.50 77.50 32.50 5.59461 - 57.50 77.50 37.50 4.86035 - 57.50 77.50 42.50 3.68535 - 57.50 77.50 47.50 2.31717 - 57.50 77.50 52.50 1.26423 - 57.50 77.50 57.50 0.557497 - 57.50 77.50 62.50 0.196432 - 57.50 77.50 67.50 0.0641442 - 57.50 77.50 72.50 0.0272175 - 57.50 77.50 77.50 0.0269368 - 57.50 77.50 82.50 0.0536868 - 57.50 77.50 87.50 0.118702 - 57.50 77.50 92.50 0.252721 - 57.50 77.50 97.50 0.606695 - 57.50 77.50 102.50 1.28309 - 57.50 77.50 107.50 2.72246 - 57.50 77.50 112.50 4.2555 - 57.50 77.50 117.50 5.36618 - 57.50 77.50 122.50 5.59461 - 57.50 77.50 127.50 4.86034 - 57.50 77.50 132.50 3.68535 - 57.50 77.50 137.50 2.31717 - 57.50 77.50 142.50 1.26423 - 57.50 77.50 147.50 0.557497 - 57.50 77.50 152.50 0.196433 - 57.50 77.50 157.50 0.0641444 - 57.50 77.50 162.50 0.0272175 - 57.50 77.50 167.50 0.0269368 - 57.50 77.50 172.50 0.0536868 - 57.50 77.50 177.50 0.118702 - 57.50 77.50 182.50 0.252721 - 57.50 77.50 187.50 0.606696 - 57.50 77.50 192.50 1.28309 - 57.50 77.50 197.50 2.72246 - 57.50 77.50 202.50 4.2555 - 57.50 77.50 207.50 5.36618 - 57.50 77.50 212.50 5.59461 - 57.50 77.50 217.50 4.86035 - 57.50 77.50 222.50 3.68535 - 57.50 77.50 227.50 2.31717 - 57.50 77.50 232.50 1.26423 - 57.50 77.50 237.50 0.557495 - 57.50 77.50 242.50 0.196432 - 57.50 77.50 247.50 0.0641442 - 57.50 77.50 252.50 0.0272174 - 57.50 77.50 257.50 0.0269368 - 57.50 77.50 262.50 0.0536869 - 57.50 77.50 267.50 0.118702 - 57.50 77.50 272.50 0.252721 - 57.50 77.50 277.50 0.606695 - 57.50 77.50 282.50 1.28309 - 57.50 77.50 287.50 2.72246 - 57.50 77.50 292.50 4.2555 - 57.50 77.50 297.50 5.36618 - 57.50 77.50 302.50 5.59461 - 57.50 77.50 307.50 4.86035 - 57.50 77.50 312.50 3.68535 - 57.50 77.50 317.50 2.31717 - 57.50 77.50 322.50 1.26423 - 57.50 77.50 327.50 0.557498 - 57.50 77.50 332.50 0.196433 - 57.50 77.50 337.50 0.0641445 - 57.50 77.50 342.50 0.0272175 - 57.50 77.50 347.50 0.0269368 - 57.50 77.50 352.50 0.0536867 - 57.50 77.50 357.50 0.118702 - 57.50 82.50 2.50 0.202441 - 57.50 82.50 7.50 0.501239 - 57.50 82.50 12.50 1.16129 - 57.50 82.50 17.50 2.22946 - 57.50 82.50 22.50 3.63459 - 57.50 82.50 27.50 4.98475 - 57.50 82.50 32.50 5.63597 - 57.50 82.50 37.50 5.44541 - 57.50 82.50 42.50 4.55863 - 57.50 82.50 47.50 3.42283 - 57.50 82.50 52.50 2.26137 - 57.50 82.50 57.50 1.19889 - 57.50 82.50 62.50 0.542052 - 57.50 82.50 67.50 0.234685 - 57.50 82.50 72.50 0.102323 - 57.50 82.50 77.50 0.0523341 - 57.50 82.50 82.50 0.0498726 - 57.50 82.50 87.50 0.0987704 - 57.50 82.50 92.50 0.202441 - 57.50 82.50 97.50 0.501239 - 57.50 82.50 102.50 1.1613 - 57.50 82.50 107.50 2.22946 - 57.50 82.50 112.50 3.63459 - 57.50 82.50 117.50 4.98475 - 57.50 82.50 122.50 5.63597 - 57.50 82.50 127.50 5.44541 - 57.50 82.50 132.50 4.55863 - 57.50 82.50 137.50 3.42283 - 57.50 82.50 142.50 2.26138 - 57.50 82.50 147.50 1.19889 - 57.50 82.50 152.50 0.542053 - 57.50 82.50 157.50 0.234686 - 57.50 82.50 162.50 0.102323 - 57.50 82.50 167.50 0.0523342 - 57.50 82.50 172.50 0.0498726 - 57.50 82.50 177.50 0.0987704 - 57.50 82.50 182.50 0.202441 - 57.50 82.50 187.50 0.50124 - 57.50 82.50 192.50 1.1613 - 57.50 82.50 197.50 2.22946 - 57.50 82.50 202.50 3.63459 - 57.50 82.50 207.50 4.98475 - 57.50 82.50 212.50 5.63597 - 57.50 82.50 217.50 5.44541 - 57.50 82.50 222.50 4.55863 - 57.50 82.50 227.50 3.42283 - 57.50 82.50 232.50 2.26137 - 57.50 82.50 237.50 1.19889 - 57.50 82.50 242.50 0.542052 - 57.50 82.50 247.50 0.234685 - 57.50 82.50 252.50 0.102323 - 57.50 82.50 257.50 0.0523342 - 57.50 82.50 262.50 0.0498726 - 57.50 82.50 267.50 0.0987706 - 57.50 82.50 272.50 0.202441 - 57.50 82.50 277.50 0.501239 - 57.50 82.50 282.50 1.16129 - 57.50 82.50 287.50 2.22946 - 57.50 82.50 292.50 3.63459 - 57.50 82.50 297.50 4.98475 - 57.50 82.50 302.50 5.63597 - 57.50 82.50 307.50 5.44541 - 57.50 82.50 312.50 4.55863 - 57.50 82.50 317.50 3.42283 - 57.50 82.50 322.50 2.26138 - 57.50 82.50 327.50 1.19889 - 57.50 82.50 332.50 0.542054 - 57.50 82.50 337.50 0.234686 - 57.50 82.50 342.50 0.102323 - 57.50 82.50 347.50 0.0523342 - 57.50 82.50 352.50 0.0498725 - 57.50 82.50 357.50 0.0987702 - 57.50 87.50 2.50 0.118631 - 57.50 87.50 7.50 0.309785 - 57.50 87.50 12.50 0.679188 - 57.50 87.50 17.50 1.33035 - 57.50 87.50 22.50 2.38726 - 57.50 87.50 27.50 3.69477 - 57.50 87.50 32.50 4.72231 - 57.50 87.50 37.50 5.08434 - 57.50 87.50 42.50 4.77797 - 57.50 87.50 47.50 4.06203 - 57.50 87.50 52.50 3.11613 - 57.50 87.50 57.50 2.12006 - 57.50 87.50 62.50 1.29429 - 57.50 87.50 67.50 0.72263 - 57.50 87.50 72.50 0.364802 - 57.50 87.50 77.50 0.164997 - 57.50 87.50 82.50 0.0781171 - 57.50 87.50 87.50 0.0623658 - 57.50 87.50 92.50 0.118631 - 57.50 87.50 97.50 0.309785 - 57.50 87.50 102.50 0.679188 - 57.50 87.50 107.50 1.33035 - 57.50 87.50 112.50 2.38726 - 57.50 87.50 117.50 3.69477 - 57.50 87.50 122.50 4.72231 - 57.50 87.50 127.50 5.08434 - 57.50 87.50 132.50 4.77797 - 57.50 87.50 137.50 4.06203 - 57.50 87.50 142.50 3.11613 - 57.50 87.50 147.50 2.12006 - 57.50 87.50 152.50 1.29429 - 57.50 87.50 157.50 0.722631 - 57.50 87.50 162.50 0.364802 - 57.50 87.50 167.50 0.164997 - 57.50 87.50 172.50 0.0781172 - 57.50 87.50 177.50 0.0623658 - 57.50 87.50 182.50 0.118632 - 57.50 87.50 187.50 0.309785 - 57.50 87.50 192.50 0.679188 - 57.50 87.50 197.50 1.33035 - 57.50 87.50 202.50 2.38726 - 57.50 87.50 207.50 3.69477 - 57.50 87.50 212.50 4.72231 - 57.50 87.50 217.50 5.08434 - 57.50 87.50 222.50 4.77797 - 57.50 87.50 227.50 4.06203 - 57.50 87.50 232.50 3.11612 - 57.50 87.50 237.50 2.12006 - 57.50 87.50 242.50 1.29429 - 57.50 87.50 247.50 0.72263 - 57.50 87.50 252.50 0.364802 - 57.50 87.50 257.50 0.164996 - 57.50 87.50 262.50 0.0781171 - 57.50 87.50 267.50 0.0623658 - 57.50 87.50 272.50 0.118631 - 57.50 87.50 277.50 0.309785 - 57.50 87.50 282.50 0.679188 - 57.50 87.50 287.50 1.33035 - 57.50 87.50 292.50 2.38726 - 57.50 87.50 297.50 3.69477 - 57.50 87.50 302.50 4.72231 - 57.50 87.50 307.50 5.08434 - 57.50 87.50 312.50 4.77797 - 57.50 87.50 317.50 4.06204 - 57.50 87.50 322.50 3.11613 - 57.50 87.50 327.50 2.12006 - 57.50 87.50 332.50 1.29429 - 57.50 87.50 337.50 0.722632 - 57.50 87.50 342.50 0.364803 - 57.50 87.50 347.50 0.164997 - 57.50 87.50 352.50 0.0781172 - 57.50 87.50 357.50 0.0623658 - 57.50 92.50 2.50 0.0760386 - 57.50 92.50 7.50 0.116068 - 57.50 92.50 12.50 0.241647 - 57.50 92.50 17.50 0.507759 - 57.50 92.50 22.50 1.03943 - 57.50 92.50 27.50 1.8542 - 57.50 92.50 32.50 2.76305 - 57.50 92.50 37.50 3.51916 - 57.50 92.50 42.50 3.96992 - 57.50 92.50 47.50 4.10837 - 57.50 92.50 52.50 3.96992 - 57.50 92.50 57.50 3.51915 - 57.50 92.50 62.50 2.76305 - 57.50 92.50 67.50 1.8542 - 57.50 92.50 72.50 1.03943 - 57.50 92.50 77.50 0.507759 - 57.50 92.50 82.50 0.241647 - 57.50 92.50 87.50 0.116068 - 57.50 92.50 92.50 0.0760386 - 57.50 92.50 97.50 0.116068 - 57.50 92.50 102.50 0.241647 - 57.50 92.50 107.50 0.507759 - 57.50 92.50 112.50 1.03943 - 57.50 92.50 117.50 1.8542 - 57.50 92.50 122.50 2.76305 - 57.50 92.50 127.50 3.51916 - 57.50 92.50 132.50 3.96991 - 57.50 92.50 137.50 4.10837 - 57.50 92.50 142.50 3.96992 - 57.50 92.50 147.50 3.51915 - 57.50 92.50 152.50 2.76305 - 57.50 92.50 157.50 1.8542 - 57.50 92.50 162.50 1.03943 - 57.50 92.50 167.50 0.50776 - 57.50 92.50 172.50 0.241648 - 57.50 92.50 177.50 0.116068 - 57.50 92.50 182.50 0.0760386 - 57.50 92.50 187.50 0.116068 - 57.50 92.50 192.50 0.241647 - 57.50 92.50 197.50 0.507759 - 57.50 92.50 202.50 1.03943 - 57.50 92.50 207.50 1.8542 - 57.50 92.50 212.50 2.76305 - 57.50 92.50 217.50 3.51916 - 57.50 92.50 222.50 3.96991 - 57.50 92.50 227.50 4.10837 - 57.50 92.50 232.50 3.96991 - 57.50 92.50 237.50 3.51916 - 57.50 92.50 242.50 2.76305 - 57.50 92.50 247.50 1.8542 - 57.50 92.50 252.50 1.03943 - 57.50 92.50 257.50 0.507759 - 57.50 92.50 262.50 0.241647 - 57.50 92.50 267.50 0.116068 - 57.50 92.50 272.50 0.0760386 - 57.50 92.50 277.50 0.116068 - 57.50 92.50 282.50 0.241647 - 57.50 92.50 287.50 0.507759 - 57.50 92.50 292.50 1.03943 - 57.50 92.50 297.50 1.8542 - 57.50 92.50 302.50 2.76305 - 57.50 92.50 307.50 3.51915 - 57.50 92.50 312.50 3.96992 - 57.50 92.50 317.50 4.10837 - 57.50 92.50 322.50 3.96992 - 57.50 92.50 327.50 3.51916 - 57.50 92.50 332.50 2.76305 - 57.50 92.50 337.50 1.85421 - 57.50 92.50 342.50 1.03943 - 57.50 92.50 347.50 0.50776 - 57.50 92.50 352.50 0.241648 - 57.50 92.50 357.50 0.116068 - 57.50 97.50 2.50 0.118631 - 57.50 97.50 7.50 0.0623658 - 57.50 97.50 12.50 0.078117 - 57.50 97.50 17.50 0.164997 - 57.50 97.50 22.50 0.364802 - 57.50 97.50 27.50 0.722631 - 57.50 97.50 32.50 1.29429 - 57.50 97.50 37.50 2.12006 - 57.50 97.50 42.50 3.11613 - 57.50 97.50 47.50 4.06203 - 57.50 97.50 52.50 4.77797 - 57.50 97.50 57.50 5.08434 - 57.50 97.50 62.50 4.72231 - 57.50 97.50 67.50 3.69477 - 57.50 97.50 72.50 2.38726 - 57.50 97.50 77.50 1.33035 - 57.50 97.50 82.50 0.679188 - 57.50 97.50 87.50 0.309785 - 57.50 97.50 92.50 0.118631 - 57.50 97.50 97.50 0.0623658 - 57.50 97.50 102.50 0.0781171 - 57.50 97.50 107.50 0.164997 - 57.50 97.50 112.50 0.364803 - 57.50 97.50 117.50 0.722631 - 57.50 97.50 122.50 1.2943 - 57.50 97.50 127.50 2.12006 - 57.50 97.50 132.50 3.11613 - 57.50 97.50 137.50 4.06203 - 57.50 97.50 142.50 4.77797 - 57.50 97.50 147.50 5.08434 - 57.50 97.50 152.50 4.72231 - 57.50 97.50 157.50 3.69477 - 57.50 97.50 162.50 2.38726 - 57.50 97.50 167.50 1.33035 - 57.50 97.50 172.50 0.679188 - 57.50 97.50 177.50 0.309785 - 57.50 97.50 182.50 0.118631 - 57.50 97.50 187.50 0.0623658 - 57.50 97.50 192.50 0.0781172 - 57.50 97.50 197.50 0.164997 - 57.50 97.50 202.50 0.364803 - 57.50 97.50 207.50 0.722631 - 57.50 97.50 212.50 1.29429 - 57.50 97.50 217.50 2.12006 - 57.50 97.50 222.50 3.11612 - 57.50 97.50 227.50 4.06203 - 57.50 97.50 232.50 4.77797 - 57.50 97.50 237.50 5.08434 - 57.50 97.50 242.50 4.72231 - 57.50 97.50 247.50 3.69477 - 57.50 97.50 252.50 2.38725 - 57.50 97.50 257.50 1.33035 - 57.50 97.50 262.50 0.679187 - 57.50 97.50 267.50 0.309784 - 57.50 97.50 272.50 0.118631 - 57.50 97.50 277.50 0.0623658 - 57.50 97.50 282.50 0.0781171 - 57.50 97.50 287.50 0.164997 - 57.50 97.50 292.50 0.364802 - 57.50 97.50 297.50 0.72263 - 57.50 97.50 302.50 1.29429 - 57.50 97.50 307.50 2.12006 - 57.50 97.50 312.50 3.11613 - 57.50 97.50 317.50 4.06203 - 57.50 97.50 322.50 4.77797 - 57.50 97.50 327.50 5.08434 - 57.50 97.50 332.50 4.72231 - 57.50 97.50 337.50 3.69477 - 57.50 97.50 342.50 2.38726 - 57.50 97.50 347.50 1.33035 - 57.50 97.50 352.50 0.679189 - 57.50 97.50 357.50 0.309786 - 57.50 102.50 2.50 0.202441 - 57.50 102.50 7.50 0.0987704 - 57.50 102.50 12.50 0.0498726 - 57.50 102.50 17.50 0.0523341 - 57.50 102.50 22.50 0.102323 - 57.50 102.50 27.50 0.234685 - 57.50 102.50 32.50 0.542053 - 57.50 102.50 37.50 1.19889 - 57.50 102.50 42.50 2.26138 - 57.50 102.50 47.50 3.42283 - 57.50 102.50 52.50 4.55863 - 57.50 102.50 57.50 5.44541 - 57.50 102.50 62.50 5.63597 - 57.50 102.50 67.50 4.98475 - 57.50 102.50 72.50 3.63459 - 57.50 102.50 77.50 2.22946 - 57.50 102.50 82.50 1.16129 - 57.50 102.50 87.50 0.501239 - 57.50 102.50 92.50 0.202441 - 57.50 102.50 97.50 0.0987704 - 57.50 102.50 102.50 0.0498726 - 57.50 102.50 107.50 0.0523342 - 57.50 102.50 112.50 0.102323 - 57.50 102.50 117.50 0.234686 - 57.50 102.50 122.50 0.542054 - 57.50 102.50 127.50 1.19889 - 57.50 102.50 132.50 2.26138 - 57.50 102.50 137.50 3.42283 - 57.50 102.50 142.50 4.55863 - 57.50 102.50 147.50 5.44541 - 57.50 102.50 152.50 5.63597 - 57.50 102.50 157.50 4.98475 - 57.50 102.50 162.50 3.63459 - 57.50 102.50 167.50 2.22946 - 57.50 102.50 172.50 1.1613 - 57.50 102.50 177.50 0.50124 - 57.50 102.50 182.50 0.202441 - 57.50 102.50 187.50 0.0987704 - 57.50 102.50 192.50 0.0498726 - 57.50 102.50 197.50 0.0523342 - 57.50 102.50 202.50 0.102323 - 57.50 102.50 207.50 0.234686 - 57.50 102.50 212.50 0.542053 - 57.50 102.50 217.50 1.19889 - 57.50 102.50 222.50 2.26137 - 57.50 102.50 227.50 3.42283 - 57.50 102.50 232.50 4.55863 - 57.50 102.50 237.50 5.44541 - 57.50 102.50 242.50 5.63597 - 57.50 102.50 247.50 4.98475 - 57.50 102.50 252.50 3.63459 - 57.50 102.50 257.50 2.22946 - 57.50 102.50 262.50 1.16129 - 57.50 102.50 267.50 0.501239 - 57.50 102.50 272.50 0.202441 - 57.50 102.50 277.50 0.0987704 - 57.50 102.50 282.50 0.0498726 - 57.50 102.50 287.50 0.0523342 - 57.50 102.50 292.50 0.102323 - 57.50 102.50 297.50 0.234685 - 57.50 102.50 302.50 0.542052 - 57.50 102.50 307.50 1.19889 - 57.50 102.50 312.50 2.26137 - 57.50 102.50 317.50 3.42283 - 57.50 102.50 322.50 4.55863 - 57.50 102.50 327.50 5.4454 - 57.50 102.50 332.50 5.63597 - 57.50 102.50 337.50 4.98476 - 57.50 102.50 342.50 3.6346 - 57.50 102.50 347.50 2.22947 - 57.50 102.50 352.50 1.1613 - 57.50 102.50 357.50 0.50124 - 57.50 107.50 2.50 0.252721 - 57.50 107.50 7.50 0.118702 - 57.50 107.50 12.50 0.0536868 - 57.50 107.50 17.50 0.0269368 - 57.50 107.50 22.50 0.0272175 - 57.50 107.50 27.50 0.0641444 - 57.50 107.50 32.50 0.196433 - 57.50 107.50 37.50 0.557497 - 57.50 107.50 42.50 1.26423 - 57.50 107.50 47.50 2.31717 - 57.50 107.50 52.50 3.68535 - 57.50 107.50 57.50 4.86035 - 57.50 107.50 62.50 5.59461 - 57.50 107.50 67.50 5.36618 - 57.50 107.50 72.50 4.2555 - 57.50 107.50 77.50 2.72245 - 57.50 107.50 82.50 1.28309 - 57.50 107.50 87.50 0.606695 - 57.50 107.50 92.50 0.252721 - 57.50 107.50 97.50 0.118702 - 57.50 107.50 102.50 0.0536868 - 57.50 107.50 107.50 0.0269368 - 57.50 107.50 112.50 0.0272175 - 57.50 107.50 117.50 0.0641445 - 57.50 107.50 122.50 0.196433 - 57.50 107.50 127.50 0.557498 - 57.50 107.50 132.50 1.26423 - 57.50 107.50 137.50 2.31717 - 57.50 107.50 142.50 3.68535 - 57.50 107.50 147.50 4.86035 - 57.50 107.50 152.50 5.59461 - 57.50 107.50 157.50 5.36618 - 57.50 107.50 162.50 4.2555 - 57.50 107.50 167.50 2.72246 - 57.50 107.50 172.50 1.28309 - 57.50 107.50 177.50 0.606695 - 57.50 107.50 182.50 0.252721 - 57.50 107.50 187.50 0.118702 - 57.50 107.50 192.50 0.0536868 - 57.50 107.50 197.50 0.0269368 - 57.50 107.50 202.50 0.0272175 - 57.50 107.50 207.50 0.0641444 - 57.50 107.50 212.50 0.196433 - 57.50 107.50 217.50 0.557497 - 57.50 107.50 222.50 1.26423 - 57.50 107.50 227.50 2.31717 - 57.50 107.50 232.50 3.68535 - 57.50 107.50 237.50 4.86035 - 57.50 107.50 242.50 5.59461 - 57.50 107.50 247.50 5.36618 - 57.50 107.50 252.50 4.2555 - 57.50 107.50 257.50 2.72245 - 57.50 107.50 262.50 1.28309 - 57.50 107.50 267.50 0.606694 - 57.50 107.50 272.50 0.252721 - 57.50 107.50 277.50 0.118702 - 57.50 107.50 282.50 0.0536868 - 57.50 107.50 287.50 0.0269368 - 57.50 107.50 292.50 0.0272175 - 57.50 107.50 297.50 0.0641442 - 57.50 107.50 302.50 0.196432 - 57.50 107.50 307.50 0.557496 - 57.50 107.50 312.50 1.26423 - 57.50 107.50 317.50 2.31717 - 57.50 107.50 322.50 3.68535 - 57.50 107.50 327.50 4.86035 - 57.50 107.50 332.50 5.59461 - 57.50 107.50 337.50 5.36618 - 57.50 107.50 342.50 4.2555 - 57.50 107.50 347.50 2.72246 - 57.50 107.50 352.50 1.28309 - 57.50 107.50 357.50 0.606696 - 57.50 112.50 2.50 0.273722 - 57.50 112.50 7.50 0.10637 - 57.50 112.50 12.50 0.0579616 - 57.50 112.50 17.50 0.0183021 - 57.50 112.50 22.50 0.00840855 - 57.50 112.50 27.50 0.0168086 - 57.50 112.50 32.50 0.0645034 - 57.50 112.50 37.50 0.211773 - 57.50 112.50 42.50 0.544366 - 57.50 112.50 47.50 1.18521 - 57.50 112.50 52.50 2.25116 - 57.50 112.50 57.50 3.53505 - 57.50 112.50 62.50 4.42529 - 57.50 112.50 67.50 4.5733 - 57.50 112.50 72.50 3.93032 - 57.50 112.50 77.50 2.50652 - 57.50 112.50 82.50 1.31791 - 57.50 112.50 87.50 0.62141 - 57.50 112.50 92.50 0.273722 - 57.50 112.50 97.50 0.10637 - 57.50 112.50 102.50 0.0579616 - 57.50 112.50 107.50 0.0183021 - 57.50 112.50 112.50 0.00840856 - 57.50 112.50 117.50 0.0168086 - 57.50 112.50 122.50 0.0645035 - 57.50 112.50 127.50 0.211773 - 57.50 112.50 132.50 0.544367 - 57.50 112.50 137.50 1.18522 - 57.50 112.50 142.50 2.25116 - 57.50 112.50 147.50 3.53505 - 57.50 112.50 152.50 4.42529 - 57.50 112.50 157.50 4.5733 - 57.50 112.50 162.50 3.93032 - 57.50 112.50 167.50 2.50652 - 57.50 112.50 172.50 1.31791 - 57.50 112.50 177.50 0.621411 - 57.50 112.50 182.50 0.273722 - 57.50 112.50 187.50 0.10637 - 57.50 112.50 192.50 0.0579616 - 57.50 112.50 197.50 0.0183021 - 57.50 112.50 202.50 0.00840856 - 57.50 112.50 207.50 0.0168086 - 57.50 112.50 212.50 0.0645034 - 57.50 112.50 217.50 0.211773 - 57.50 112.50 222.50 0.544366 - 57.50 112.50 227.50 1.18521 - 57.50 112.50 232.50 2.25116 - 57.50 112.50 237.50 3.53505 - 57.50 112.50 242.50 4.42529 - 57.50 112.50 247.50 4.5733 - 57.50 112.50 252.50 3.93032 - 57.50 112.50 257.50 2.50652 - 57.50 112.50 262.50 1.31791 - 57.50 112.50 267.50 0.62141 - 57.50 112.50 272.50 0.273722 - 57.50 112.50 277.50 0.10637 - 57.50 112.50 282.50 0.0579616 - 57.50 112.50 287.50 0.0183021 - 57.50 112.50 292.50 0.00840855 - 57.50 112.50 297.50 0.0168085 - 57.50 112.50 302.50 0.0645033 - 57.50 112.50 307.50 0.211772 - 57.50 112.50 312.50 0.544365 - 57.50 112.50 317.50 1.18521 - 57.50 112.50 322.50 2.25115 - 57.50 112.50 327.50 3.53504 - 57.50 112.50 332.50 4.42528 - 57.50 112.50 337.50 4.5733 - 57.50 112.50 342.50 3.93032 - 57.50 112.50 347.50 2.50653 - 57.50 112.50 352.50 1.31791 - 57.50 112.50 357.50 0.621412 - 57.50 117.50 2.50 0.315204 - 57.50 117.50 7.50 0.115517 - 57.50 117.50 12.50 0.0651829 - 57.50 117.50 17.50 0.0294464 - 57.50 117.50 22.50 0.0146423 - 57.50 117.50 27.50 0.0142209 - 57.50 117.50 32.50 0.0320945 - 57.50 117.50 37.50 0.0998972 - 57.50 117.50 42.50 0.249995 - 57.50 117.50 47.50 0.526913 - 57.50 117.50 52.50 1.04715 - 57.50 117.50 57.50 1.8407 - 57.50 117.50 62.50 2.62957 - 57.50 117.50 67.50 3.04831 - 57.50 117.50 72.50 2.75563 - 57.50 117.50 77.50 1.93798 - 57.50 117.50 82.50 1.19472 - 57.50 117.50 87.50 0.659434 - 57.50 117.50 92.50 0.315204 - 57.50 117.50 97.50 0.115517 - 57.50 117.50 102.50 0.0651829 - 57.50 117.50 107.50 0.0294464 - 57.50 117.50 112.50 0.0146423 - 57.50 117.50 117.50 0.0142209 - 57.50 117.50 122.50 0.0320945 - 57.50 117.50 127.50 0.0998973 - 57.50 117.50 132.50 0.249995 - 57.50 117.50 137.50 0.526913 - 57.50 117.50 142.50 1.04715 - 57.50 117.50 147.50 1.8407 - 57.50 117.50 152.50 2.62957 - 57.50 117.50 157.50 3.04831 - 57.50 117.50 162.50 2.75563 - 57.50 117.50 167.50 1.93799 - 57.50 117.50 172.50 1.19472 - 57.50 117.50 177.50 0.659435 - 57.50 117.50 182.50 0.315204 - 57.50 117.50 187.50 0.115517 - 57.50 117.50 192.50 0.0651829 - 57.50 117.50 197.50 0.0294464 - 57.50 117.50 202.50 0.0146423 - 57.50 117.50 207.50 0.0142209 - 57.50 117.50 212.50 0.0320944 - 57.50 117.50 217.50 0.0998971 - 57.50 117.50 222.50 0.249995 - 57.50 117.50 227.50 0.526912 - 57.50 117.50 232.50 1.04715 - 57.50 117.50 237.50 1.8407 - 57.50 117.50 242.50 2.62957 - 57.50 117.50 247.50 3.04831 - 57.50 117.50 252.50 2.75563 - 57.50 117.50 257.50 1.93798 - 57.50 117.50 262.50 1.19472 - 57.50 117.50 267.50 0.659434 - 57.50 117.50 272.50 0.315204 - 57.50 117.50 277.50 0.115517 - 57.50 117.50 282.50 0.0651829 - 57.50 117.50 287.50 0.0294464 - 57.50 117.50 292.50 0.0146423 - 57.50 117.50 297.50 0.0142209 - 57.50 117.50 302.50 0.0320944 - 57.50 117.50 307.50 0.099897 - 57.50 117.50 312.50 0.249995 - 57.50 117.50 317.50 0.526912 - 57.50 117.50 322.50 1.04715 - 57.50 117.50 327.50 1.8407 - 57.50 117.50 332.50 2.62957 - 57.50 117.50 337.50 3.04831 - 57.50 117.50 342.50 2.75563 - 57.50 117.50 347.50 1.93799 - 57.50 117.50 352.50 1.19472 - 57.50 117.50 357.50 0.659435 - 57.50 122.50 2.50 0.348473 - 57.50 122.50 7.50 0.162287 - 57.50 122.50 12.50 0.142713 - 57.50 122.50 17.50 0.106065 - 57.50 122.50 22.50 0.0824292 - 57.50 122.50 27.50 0.0657578 - 57.50 122.50 32.50 0.0728862 - 57.50 122.50 37.50 0.0763319 - 57.50 122.50 42.50 0.107718 - 57.50 122.50 47.50 0.181719 - 57.50 122.50 52.50 0.343468 - 57.50 122.50 57.50 0.700883 - 57.50 122.50 62.50 1.1483 - 57.50 122.50 67.50 1.48961 - 57.50 122.50 72.50 1.48491 - 57.50 122.50 77.50 1.25066 - 57.50 122.50 82.50 0.931859 - 57.50 122.50 87.50 0.613992 - 57.50 122.50 92.50 0.348473 - 57.50 122.50 97.50 0.162287 - 57.50 122.50 102.50 0.142713 - 57.50 122.50 107.50 0.106065 - 57.50 122.50 112.50 0.0824292 - 57.50 122.50 117.50 0.0657578 - 57.50 122.50 122.50 0.0728861 - 57.50 122.50 127.50 0.076332 - 57.50 122.50 132.50 0.107718 - 57.50 122.50 137.50 0.181719 - 57.50 122.50 142.50 0.343468 - 57.50 122.50 147.50 0.700883 - 57.50 122.50 152.50 1.1483 - 57.50 122.50 157.50 1.48961 - 57.50 122.50 162.50 1.48491 - 57.50 122.50 167.50 1.25066 - 57.50 122.50 172.50 0.93186 - 57.50 122.50 177.50 0.613993 - 57.50 122.50 182.50 0.348473 - 57.50 122.50 187.50 0.162287 - 57.50 122.50 192.50 0.142713 - 57.50 122.50 197.50 0.106065 - 57.50 122.50 202.50 0.0824291 - 57.50 122.50 207.50 0.0657577 - 57.50 122.50 212.50 0.0728862 - 57.50 122.50 217.50 0.076332 - 57.50 122.50 222.50 0.107718 - 57.50 122.50 227.50 0.181719 - 57.50 122.50 232.50 0.343469 - 57.50 122.50 237.50 0.700884 - 57.50 122.50 242.50 1.1483 - 57.50 122.50 247.50 1.48961 - 57.50 122.50 252.50 1.48491 - 57.50 122.50 257.50 1.25066 - 57.50 122.50 262.50 0.931859 - 57.50 122.50 267.50 0.613992 - 57.50 122.50 272.50 0.348473 - 57.50 122.50 277.50 0.162287 - 57.50 122.50 282.50 0.142713 - 57.50 122.50 287.50 0.106065 - 57.50 122.50 292.50 0.0824292 - 57.50 122.50 297.50 0.0657578 - 57.50 122.50 302.50 0.0728862 - 57.50 122.50 307.50 0.0763319 - 57.50 122.50 312.50 0.107718 - 57.50 122.50 317.50 0.181719 - 57.50 122.50 322.50 0.343468 - 57.50 122.50 327.50 0.700881 - 57.50 122.50 332.50 1.1483 - 57.50 122.50 337.50 1.48961 - 57.50 122.50 342.50 1.48491 - 57.50 122.50 347.50 1.25066 - 57.50 122.50 352.50 0.93186 - 57.50 122.50 357.50 0.613994 - 57.50 127.50 2.50 0.328532 - 57.50 127.50 7.50 0.246085 - 57.50 127.50 12.50 0.316922 - 57.50 127.50 17.50 0.365703 - 57.50 127.50 22.50 0.358515 - 57.50 127.50 27.50 0.278107 - 57.50 127.50 32.50 0.233769 - 57.50 127.50 37.50 0.152801 - 57.50 127.50 42.50 0.0769568 - 57.50 127.50 47.50 0.0583608 - 57.50 127.50 52.50 0.0843453 - 57.50 127.50 57.50 0.189034 - 57.50 127.50 62.50 0.371836 - 57.50 127.50 67.50 0.534145 - 57.50 127.50 72.50 0.649893 - 57.50 127.50 77.50 0.672168 - 57.50 127.50 82.50 0.570667 - 57.50 127.50 87.50 0.428519 - 57.50 127.50 92.50 0.328532 - 57.50 127.50 97.50 0.246085 - 57.50 127.50 102.50 0.316922 - 57.50 127.50 107.50 0.365703 - 57.50 127.50 112.50 0.358515 - 57.50 127.50 117.50 0.278107 - 57.50 127.50 122.50 0.233769 - 57.50 127.50 127.50 0.152801 - 57.50 127.50 132.50 0.0769568 - 57.50 127.50 137.50 0.0583608 - 57.50 127.50 142.50 0.0843453 - 57.50 127.50 147.50 0.189034 - 57.50 127.50 152.50 0.371836 - 57.50 127.50 157.50 0.534145 - 57.50 127.50 162.50 0.649894 - 57.50 127.50 167.50 0.672169 - 57.50 127.50 172.50 0.570667 - 57.50 127.50 177.50 0.428519 - 57.50 127.50 182.50 0.328532 - 57.50 127.50 187.50 0.246085 - 57.50 127.50 192.50 0.316922 - 57.50 127.50 197.50 0.365703 - 57.50 127.50 202.50 0.358515 - 57.50 127.50 207.50 0.278107 - 57.50 127.50 212.50 0.233769 - 57.50 127.50 217.50 0.152801 - 57.50 127.50 222.50 0.0769568 - 57.50 127.50 227.50 0.0583608 - 57.50 127.50 232.50 0.0843454 - 57.50 127.50 237.50 0.189035 - 57.50 127.50 242.50 0.371836 - 57.50 127.50 247.50 0.534145 - 57.50 127.50 252.50 0.649894 - 57.50 127.50 257.50 0.672169 - 57.50 127.50 262.50 0.570667 - 57.50 127.50 267.50 0.428519 - 57.50 127.50 272.50 0.328532 - 57.50 127.50 277.50 0.246085 - 57.50 127.50 282.50 0.316922 - 57.50 127.50 287.50 0.365703 - 57.50 127.50 292.50 0.358515 - 57.50 127.50 297.50 0.278107 - 57.50 127.50 302.50 0.233769 - 57.50 127.50 307.50 0.152801 - 57.50 127.50 312.50 0.0769568 - 57.50 127.50 317.50 0.0583608 - 57.50 127.50 322.50 0.0843451 - 57.50 127.50 327.50 0.189034 - 57.50 127.50 332.50 0.371835 - 57.50 127.50 337.50 0.534144 - 57.50 127.50 342.50 0.649893 - 57.50 127.50 347.50 0.672169 - 57.50 127.50 352.50 0.570667 - 57.50 127.50 357.50 0.428519 - 57.50 132.50 2.50 0.288878 - 57.50 132.50 7.50 0.373191 - 57.50 132.50 12.50 0.600881 - 57.50 132.50 17.50 0.891921 - 57.50 132.50 22.50 1.07286 - 57.50 132.50 27.50 0.953544 - 57.50 132.50 32.50 0.679011 - 57.50 132.50 37.50 0.436657 - 57.50 132.50 42.50 0.195269 - 57.50 132.50 47.50 0.0654376 - 57.50 132.50 52.50 0.0297947 - 57.50 132.50 57.50 0.0432187 - 57.50 132.50 62.50 0.0877078 - 57.50 132.50 67.50 0.158508 - 57.50 132.50 72.50 0.252126 - 57.50 132.50 77.50 0.280289 - 57.50 132.50 82.50 0.257683 - 57.50 132.50 87.50 0.233442 - 57.50 132.50 92.50 0.288878 - 57.50 132.50 97.50 0.373191 - 57.50 132.50 102.50 0.600881 - 57.50 132.50 107.50 0.89192 - 57.50 132.50 112.50 1.07286 - 57.50 132.50 117.50 0.953544 - 57.50 132.50 122.50 0.67901 - 57.50 132.50 127.50 0.436657 - 57.50 132.50 132.50 0.195269 - 57.50 132.50 137.50 0.0654376 - 57.50 132.50 142.50 0.0297947 - 57.50 132.50 147.50 0.0432188 - 57.50 132.50 152.50 0.0877078 - 57.50 132.50 157.50 0.158508 - 57.50 132.50 162.50 0.252126 - 57.50 132.50 167.50 0.280289 - 57.50 132.50 172.50 0.257683 - 57.50 132.50 177.50 0.233442 - 57.50 132.50 182.50 0.288878 - 57.50 132.50 187.50 0.373192 - 57.50 132.50 192.50 0.600881 - 57.50 132.50 197.50 0.89192 - 57.50 132.50 202.50 1.07286 - 57.50 132.50 207.50 0.953545 - 57.50 132.50 212.50 0.67901 - 57.50 132.50 217.50 0.436657 - 57.50 132.50 222.50 0.19527 - 57.50 132.50 227.50 0.0654376 - 57.50 132.50 232.50 0.0297946 - 57.50 132.50 237.50 0.0432188 - 57.50 132.50 242.50 0.0877079 - 57.50 132.50 247.50 0.158508 - 57.50 132.50 252.50 0.252127 - 57.50 132.50 257.50 0.280289 - 57.50 132.50 262.50 0.257683 - 57.50 132.50 267.50 0.233442 - 57.50 132.50 272.50 0.288878 - 57.50 132.50 277.50 0.373192 - 57.50 132.50 282.50 0.600881 - 57.50 132.50 287.50 0.891921 - 57.50 132.50 292.50 1.07286 - 57.50 132.50 297.50 0.953545 - 57.50 132.50 302.50 0.679011 - 57.50 132.50 307.50 0.436657 - 57.50 132.50 312.50 0.19527 - 57.50 132.50 317.50 0.0654376 - 57.50 132.50 322.50 0.0297947 - 57.50 132.50 327.50 0.0432187 - 57.50 132.50 332.50 0.0877076 - 57.50 132.50 337.50 0.158508 - 57.50 132.50 342.50 0.252126 - 57.50 132.50 347.50 0.280289 - 57.50 132.50 352.50 0.257683 - 57.50 132.50 357.50 0.233442 - 57.50 137.50 2.50 0.272741 - 57.50 137.50 7.50 0.542745 - 57.50 137.50 12.50 1.02108 - 57.50 137.50 17.50 1.72448 - 57.50 137.50 22.50 2.35484 - 57.50 137.50 27.50 2.36679 - 57.50 137.50 32.50 1.79439 - 57.50 137.50 37.50 1.09133 - 57.50 137.50 42.50 0.52032 - 57.50 137.50 47.50 0.210638 - 57.50 137.50 52.50 0.059534 - 57.50 137.50 57.50 0.0272758 - 57.50 137.50 62.50 0.0210071 - 57.50 137.50 67.50 0.0437371 - 57.50 137.50 72.50 0.0771198 - 57.50 137.50 77.50 0.0898223 - 57.50 137.50 82.50 0.0916225 - 57.50 137.50 87.50 0.126127 - 57.50 137.50 92.50 0.272741 - 57.50 137.50 97.50 0.542744 - 57.50 137.50 102.50 1.02108 - 57.50 137.50 107.50 1.72448 - 57.50 137.50 112.50 2.35484 - 57.50 137.50 117.50 2.36679 - 57.50 137.50 122.50 1.79439 - 57.50 137.50 127.50 1.09133 - 57.50 137.50 132.50 0.52032 - 57.50 137.50 137.50 0.210638 - 57.50 137.50 142.50 0.059534 - 57.50 137.50 147.50 0.0272758 - 57.50 137.50 152.50 0.0210071 - 57.50 137.50 157.50 0.0437371 - 57.50 137.50 162.50 0.0771198 - 57.50 137.50 167.50 0.0898223 - 57.50 137.50 172.50 0.0916225 - 57.50 137.50 177.50 0.126127 - 57.50 137.50 182.50 0.272741 - 57.50 137.50 187.50 0.542745 - 57.50 137.50 192.50 1.02107 - 57.50 137.50 197.50 1.72448 - 57.50 137.50 202.50 2.35484 - 57.50 137.50 207.50 2.36679 - 57.50 137.50 212.50 1.79439 - 57.50 137.50 217.50 1.09133 - 57.50 137.50 222.50 0.52032 - 57.50 137.50 227.50 0.210639 - 57.50 137.50 232.50 0.0595338 - 57.50 137.50 237.50 0.0272758 - 57.50 137.50 242.50 0.0210071 - 57.50 137.50 247.50 0.0437371 - 57.50 137.50 252.50 0.0771198 - 57.50 137.50 257.50 0.0898224 - 57.50 137.50 262.50 0.0916226 - 57.50 137.50 267.50 0.126127 - 57.50 137.50 272.50 0.272741 - 57.50 137.50 277.50 0.542745 - 57.50 137.50 282.50 1.02108 - 57.50 137.50 287.50 1.72448 - 57.50 137.50 292.50 2.35484 - 57.50 137.50 297.50 2.36679 - 57.50 137.50 302.50 1.79439 - 57.50 137.50 307.50 1.09133 - 57.50 137.50 312.50 0.52032 - 57.50 137.50 317.50 0.210639 - 57.50 137.50 322.50 0.0595341 - 57.50 137.50 327.50 0.0272759 - 57.50 137.50 332.50 0.0210071 - 57.50 137.50 337.50 0.043737 - 57.50 137.50 342.50 0.0771197 - 57.50 137.50 347.50 0.0898223 - 57.50 137.50 352.50 0.0916225 - 57.50 137.50 357.50 0.126127 - 57.50 142.50 2.50 0.288878 - 57.50 142.50 7.50 0.741633 - 57.50 142.50 12.50 1.5684 - 57.50 142.50 17.50 2.7895 - 57.50 142.50 22.50 3.89943 - 57.50 142.50 27.50 4.12697 - 57.50 142.50 32.50 3.38513 - 57.50 142.50 37.50 2.13512 - 57.50 142.50 42.50 1.09675 - 57.50 142.50 47.50 0.474548 - 57.50 142.50 52.50 0.205941 - 57.50 142.50 57.50 0.090108 - 57.50 142.50 62.50 0.0369769 - 57.50 142.50 67.50 0.01989 - 57.50 142.50 72.50 0.018284 - 57.50 142.50 77.50 0.0216585 - 57.50 142.50 82.50 0.0319311 - 57.50 142.50 87.50 0.0891298 - 57.50 142.50 92.50 0.288878 - 57.50 142.50 97.50 0.741633 - 57.50 142.50 102.50 1.5684 - 57.50 142.50 107.50 2.78949 - 57.50 142.50 112.50 3.89943 - 57.50 142.50 117.50 4.12697 - 57.50 142.50 122.50 3.38513 - 57.50 142.50 127.50 2.13512 - 57.50 142.50 132.50 1.09675 - 57.50 142.50 137.50 0.474548 - 57.50 142.50 142.50 0.205941 - 57.50 142.50 147.50 0.090108 - 57.50 142.50 152.50 0.036977 - 57.50 142.50 157.50 0.01989 - 57.50 142.50 162.50 0.018284 - 57.50 142.50 167.50 0.0216585 - 57.50 142.50 172.50 0.0319311 - 57.50 142.50 177.50 0.0891298 - 57.50 142.50 182.50 0.288878 - 57.50 142.50 187.50 0.741633 - 57.50 142.50 192.50 1.5684 - 57.50 142.50 197.50 2.78949 - 57.50 142.50 202.50 3.89943 - 57.50 142.50 207.50 4.12697 - 57.50 142.50 212.50 3.38513 - 57.50 142.50 217.50 2.13512 - 57.50 142.50 222.50 1.09675 - 57.50 142.50 227.50 0.474548 - 57.50 142.50 232.50 0.205941 - 57.50 142.50 237.50 0.0901079 - 57.50 142.50 242.50 0.0369769 - 57.50 142.50 247.50 0.01989 - 57.50 142.50 252.50 0.0182841 - 57.50 142.50 257.50 0.0216585 - 57.50 142.50 262.50 0.0319311 - 57.50 142.50 267.50 0.0891301 - 57.50 142.50 272.50 0.288878 - 57.50 142.50 277.50 0.741633 - 57.50 142.50 282.50 1.5684 - 57.50 142.50 287.50 2.7895 - 57.50 142.50 292.50 3.89943 - 57.50 142.50 297.50 4.12697 - 57.50 142.50 302.50 3.38513 - 57.50 142.50 307.50 2.13512 - 57.50 142.50 312.50 1.09675 - 57.50 142.50 317.50 0.474549 - 57.50 142.50 322.50 0.205942 - 57.50 142.50 327.50 0.0901082 - 57.50 142.50 332.50 0.036977 - 57.50 142.50 337.50 0.01989 - 57.50 142.50 342.50 0.018284 - 57.50 142.50 347.50 0.0216585 - 57.50 142.50 352.50 0.031931 - 57.50 142.50 357.50 0.0891296 - 57.50 147.50 2.50 0.328532 - 57.50 147.50 7.50 0.920471 - 57.50 147.50 12.50 2.10274 - 57.50 147.50 17.50 3.78195 - 57.50 147.50 22.50 5.18173 - 57.50 147.50 27.50 5.49299 - 57.50 147.50 32.50 4.60736 - 57.50 147.50 37.50 3.13348 - 57.50 147.50 42.50 1.76091 - 57.50 147.50 47.50 0.92494 - 57.50 147.50 52.50 0.506261 - 57.50 147.50 57.50 0.265309 - 57.50 147.50 62.50 0.117388 - 57.50 147.50 67.50 0.0419012 - 57.50 147.50 72.50 0.016875 - 57.50 147.50 77.50 0.0111927 - 57.50 147.50 82.50 0.0233344 - 57.50 147.50 87.50 0.0866606 - 57.50 147.50 92.50 0.328532 - 57.50 147.50 97.50 0.920472 - 57.50 147.50 102.50 2.10274 - 57.50 147.50 107.50 3.78195 - 57.50 147.50 112.50 5.18173 - 57.50 147.50 117.50 5.49299 - 57.50 147.50 122.50 4.60736 - 57.50 147.50 127.50 3.13348 - 57.50 147.50 132.50 1.76091 - 57.50 147.50 137.50 0.924941 - 57.50 147.50 142.50 0.506261 - 57.50 147.50 147.50 0.265309 - 57.50 147.50 152.50 0.117388 - 57.50 147.50 157.50 0.0419012 - 57.50 147.50 162.50 0.016875 - 57.50 147.50 167.50 0.0111927 - 57.50 147.50 172.50 0.0233344 - 57.50 147.50 177.50 0.0866605 - 57.50 147.50 182.50 0.328532 - 57.50 147.50 187.50 0.920472 - 57.50 147.50 192.50 2.10274 - 57.50 147.50 197.50 3.78195 - 57.50 147.50 202.50 5.18173 - 57.50 147.50 207.50 5.49299 - 57.50 147.50 212.50 4.60736 - 57.50 147.50 217.50 3.13348 - 57.50 147.50 222.50 1.76091 - 57.50 147.50 227.50 0.924941 - 57.50 147.50 232.50 0.50626 - 57.50 147.50 237.50 0.265309 - 57.50 147.50 242.50 0.117388 - 57.50 147.50 247.50 0.0419012 - 57.50 147.50 252.50 0.016875 - 57.50 147.50 257.50 0.0111927 - 57.50 147.50 262.50 0.0233345 - 57.50 147.50 267.50 0.0866608 - 57.50 147.50 272.50 0.328532 - 57.50 147.50 277.50 0.920472 - 57.50 147.50 282.50 2.10274 - 57.50 147.50 287.50 3.78195 - 57.50 147.50 292.50 5.18173 - 57.50 147.50 297.50 5.49299 - 57.50 147.50 302.50 4.60736 - 57.50 147.50 307.50 3.13348 - 57.50 147.50 312.50 1.76091 - 57.50 147.50 317.50 0.924941 - 57.50 147.50 322.50 0.506262 - 57.50 147.50 327.50 0.265309 - 57.50 147.50 332.50 0.117388 - 57.50 147.50 337.50 0.0419013 - 57.50 147.50 342.50 0.016875 - 57.50 147.50 347.50 0.0111927 - 57.50 147.50 352.50 0.0233343 - 57.50 147.50 357.50 0.0866603 - 57.50 152.50 2.50 0.348473 - 57.50 152.50 7.50 0.96703 - 57.50 152.50 12.50 2.2405 - 57.50 152.50 17.50 4.01869 - 57.50 152.50 22.50 5.39525 - 57.50 152.50 27.50 5.76944 - 57.50 152.50 32.50 4.84183 - 57.50 152.50 37.50 3.47636 - 57.50 152.50 42.50 2.24383 - 57.50 152.50 47.50 1.40564 - 57.50 152.50 52.50 0.907053 - 57.50 152.50 57.50 0.559572 - 57.50 152.50 62.50 0.275266 - 57.50 152.50 67.50 0.110479 - 57.50 152.50 72.50 0.0446586 - 57.50 152.50 77.50 0.0203815 - 57.50 152.50 82.50 0.0308658 - 57.50 152.50 87.50 0.0903385 - 57.50 152.50 92.50 0.348473 - 57.50 152.50 97.50 0.967031 - 57.50 152.50 102.50 2.2405 - 57.50 152.50 107.50 4.01869 - 57.50 152.50 112.50 5.39525 - 57.50 152.50 117.50 5.76945 - 57.50 152.50 122.50 4.84183 - 57.50 152.50 127.50 3.47636 - 57.50 152.50 132.50 2.24383 - 57.50 152.50 137.50 1.40564 - 57.50 152.50 142.50 0.907053 - 57.50 152.50 147.50 0.559572 - 57.50 152.50 152.50 0.275266 - 57.50 152.50 157.50 0.110479 - 57.50 152.50 162.50 0.0446586 - 57.50 152.50 167.50 0.0203815 - 57.50 152.50 172.50 0.0308658 - 57.50 152.50 177.50 0.0903383 - 57.50 152.50 182.50 0.348474 - 57.50 152.50 187.50 0.967031 - 57.50 152.50 192.50 2.2405 - 57.50 152.50 197.50 4.01869 - 57.50 152.50 202.50 5.39525 - 57.50 152.50 207.50 5.76945 - 57.50 152.50 212.50 4.84183 - 57.50 152.50 217.50 3.47636 - 57.50 152.50 222.50 2.24383 - 57.50 152.50 227.50 1.40564 - 57.50 152.50 232.50 0.907053 - 57.50 152.50 237.50 0.559572 - 57.50 152.50 242.50 0.275266 - 57.50 152.50 247.50 0.110479 - 57.50 152.50 252.50 0.0446586 - 57.50 152.50 257.50 0.0203815 - 57.50 152.50 262.50 0.0308658 - 57.50 152.50 267.50 0.0903386 - 57.50 152.50 272.50 0.348473 - 57.50 152.50 277.50 0.96703 - 57.50 152.50 282.50 2.2405 - 57.50 152.50 287.50 4.01869 - 57.50 152.50 292.50 5.39525 - 57.50 152.50 297.50 5.76944 - 57.50 152.50 302.50 4.84182 - 57.50 152.50 307.50 3.47637 - 57.50 152.50 312.50 2.24383 - 57.50 152.50 317.50 1.40564 - 57.50 152.50 322.50 0.907054 - 57.50 152.50 327.50 0.559573 - 57.50 152.50 332.50 0.275267 - 57.50 152.50 337.50 0.11048 - 57.50 152.50 342.50 0.0446587 - 57.50 152.50 347.50 0.0203815 - 57.50 152.50 352.50 0.0308657 - 57.50 152.50 357.50 0.0903381 - 57.50 157.50 2.50 0.315204 - 57.50 157.50 7.50 0.816509 - 57.50 157.50 12.50 1.8235 - 57.50 157.50 17.50 3.15074 - 57.50 157.50 22.50 4.21599 - 57.50 157.50 27.50 4.55459 - 57.50 157.50 32.50 4.0602 - 57.50 157.50 37.50 3.0451 - 57.50 157.50 42.50 2.24399 - 57.50 157.50 47.50 1.69825 - 57.50 157.50 52.50 1.27299 - 57.50 157.50 57.50 0.897298 - 57.50 157.50 62.50 0.517772 - 57.50 157.50 67.50 0.247701 - 57.50 157.50 72.50 0.117925 - 57.50 157.50 77.50 0.0536604 - 57.50 157.50 82.50 0.0419426 - 57.50 157.50 87.50 0.0937557 - 57.50 157.50 92.50 0.315204 - 57.50 157.50 97.50 0.816509 - 57.50 157.50 102.50 1.8235 - 57.50 157.50 107.50 3.15075 - 57.50 157.50 112.50 4.21599 - 57.50 157.50 117.50 4.55459 - 57.50 157.50 122.50 4.06019 - 57.50 157.50 127.50 3.0451 - 57.50 157.50 132.50 2.24399 - 57.50 157.50 137.50 1.69825 - 57.50 157.50 142.50 1.27299 - 57.50 157.50 147.50 0.897298 - 57.50 157.50 152.50 0.517773 - 57.50 157.50 157.50 0.247701 - 57.50 157.50 162.50 0.117925 - 57.50 157.50 167.50 0.0536604 - 57.50 157.50 172.50 0.0419426 - 57.50 157.50 177.50 0.0937556 - 57.50 157.50 182.50 0.315205 - 57.50 157.50 187.50 0.81651 - 57.50 157.50 192.50 1.8235 - 57.50 157.50 197.50 3.15075 - 57.50 157.50 202.50 4.21599 - 57.50 157.50 207.50 4.55459 - 57.50 157.50 212.50 4.06019 - 57.50 157.50 217.50 3.0451 - 57.50 157.50 222.50 2.24399 - 57.50 157.50 227.50 1.69826 - 57.50 157.50 232.50 1.27299 - 57.50 157.50 237.50 0.897297 - 57.50 157.50 242.50 0.517772 - 57.50 157.50 247.50 0.247701 - 57.50 157.50 252.50 0.117925 - 57.50 157.50 257.50 0.0536604 - 57.50 157.50 262.50 0.0419426 - 57.50 157.50 267.50 0.0937557 - 57.50 157.50 272.50 0.315204 - 57.50 157.50 277.50 0.816509 - 57.50 157.50 282.50 1.8235 - 57.50 157.50 287.50 3.15074 - 57.50 157.50 292.50 4.21599 - 57.50 157.50 297.50 4.55459 - 57.50 157.50 302.50 4.0602 - 57.50 157.50 307.50 3.0451 - 57.50 157.50 312.50 2.24399 - 57.50 157.50 317.50 1.69826 - 57.50 157.50 322.50 1.27299 - 57.50 157.50 327.50 0.897298 - 57.50 157.50 332.50 0.517773 - 57.50 157.50 337.50 0.247702 - 57.50 157.50 342.50 0.117925 - 57.50 157.50 347.50 0.0536606 - 57.50 157.50 352.50 0.0419426 - 57.50 157.50 357.50 0.0937553 - 57.50 162.50 2.50 0.273722 - 57.50 162.50 7.50 0.583451 - 57.50 162.50 12.50 1.1453 - 57.50 162.50 17.50 1.88506 - 57.50 162.50 22.50 2.5171 - 57.50 162.50 27.50 2.73071 - 57.50 162.50 32.50 2.51841 - 57.50 162.50 37.50 2.12902 - 57.50 162.50 42.50 1.76613 - 57.50 162.50 47.50 1.53031 - 57.50 162.50 52.50 1.41289 - 57.50 162.50 57.50 1.15323 - 57.50 162.50 62.50 0.758389 - 57.50 162.50 67.50 0.439941 - 57.50 162.50 72.50 0.235092 - 57.50 162.50 77.50 0.109659 - 57.50 162.50 82.50 0.0622614 - 57.50 162.50 87.50 0.109009 - 57.50 162.50 92.50 0.273722 - 57.50 162.50 97.50 0.583451 - 57.50 162.50 102.50 1.14531 - 57.50 162.50 107.50 1.88506 - 57.50 162.50 112.50 2.5171 - 57.50 162.50 117.50 2.73071 - 57.50 162.50 122.50 2.51841 - 57.50 162.50 127.50 2.12902 - 57.50 162.50 132.50 1.76613 - 57.50 162.50 137.50 1.53031 - 57.50 162.50 142.50 1.41289 - 57.50 162.50 147.50 1.15323 - 57.50 162.50 152.50 0.758389 - 57.50 162.50 157.50 0.439941 - 57.50 162.50 162.50 0.235092 - 57.50 162.50 167.50 0.109659 - 57.50 162.50 172.50 0.0622614 - 57.50 162.50 177.50 0.109009 - 57.50 162.50 182.50 0.273722 - 57.50 162.50 187.50 0.583451 - 57.50 162.50 192.50 1.14531 - 57.50 162.50 197.50 1.88506 - 57.50 162.50 202.50 2.5171 - 57.50 162.50 207.50 2.73071 - 57.50 162.50 212.50 2.51841 - 57.50 162.50 217.50 2.12902 - 57.50 162.50 222.50 1.76613 - 57.50 162.50 227.50 1.53031 - 57.50 162.50 232.50 1.41289 - 57.50 162.50 237.50 1.15323 - 57.50 162.50 242.50 0.758388 - 57.50 162.50 247.50 0.439941 - 57.50 162.50 252.50 0.235092 - 57.50 162.50 257.50 0.109659 - 57.50 162.50 262.50 0.0622613 - 57.50 162.50 267.50 0.109009 - 57.50 162.50 272.50 0.273722 - 57.50 162.50 277.50 0.583451 - 57.50 162.50 282.50 1.14531 - 57.50 162.50 287.50 1.88506 - 57.50 162.50 292.50 2.5171 - 57.50 162.50 297.50 2.73071 - 57.50 162.50 302.50 2.51841 - 57.50 162.50 307.50 2.12902 - 57.50 162.50 312.50 1.76613 - 57.50 162.50 317.50 1.53031 - 57.50 162.50 322.50 1.41289 - 57.50 162.50 327.50 1.15323 - 57.50 162.50 332.50 0.75839 - 57.50 162.50 337.50 0.439942 - 57.50 162.50 342.50 0.235093 - 57.50 162.50 347.50 0.10966 - 57.50 162.50 352.50 0.0622614 - 57.50 162.50 357.50 0.109009 - 57.50 167.50 2.50 0.252721 - 57.50 167.50 7.50 0.404512 - 57.50 167.50 12.50 0.601344 - 57.50 167.50 17.50 0.913617 - 57.50 167.50 22.50 1.18922 - 57.50 167.50 27.50 1.29939 - 57.50 167.50 32.50 1.23068 - 57.50 167.50 37.50 1.07391 - 57.50 167.50 42.50 1.01927 - 57.50 167.50 47.50 1.13113 - 57.50 167.50 52.50 1.27813 - 57.50 167.50 57.50 1.20669 - 57.50 167.50 62.50 0.899808 - 57.50 167.50 67.50 0.560895 - 57.50 167.50 72.50 0.312626 - 57.50 167.50 77.50 0.150407 - 57.50 167.50 82.50 0.0818425 - 57.50 167.50 87.50 0.13285 - 57.50 167.50 92.50 0.252721 - 57.50 167.50 97.50 0.404513 - 57.50 167.50 102.50 0.601344 - 57.50 167.50 107.50 0.913617 - 57.50 167.50 112.50 1.18922 - 57.50 167.50 117.50 1.29939 - 57.50 167.50 122.50 1.23068 - 57.50 167.50 127.50 1.07391 - 57.50 167.50 132.50 1.01927 - 57.50 167.50 137.50 1.13113 - 57.50 167.50 142.50 1.27813 - 57.50 167.50 147.50 1.20669 - 57.50 167.50 152.50 0.899808 - 57.50 167.50 157.50 0.560895 - 57.50 167.50 162.50 0.312627 - 57.50 167.50 167.50 0.150407 - 57.50 167.50 172.50 0.0818425 - 57.50 167.50 177.50 0.13285 - 57.50 167.50 182.50 0.252722 - 57.50 167.50 187.50 0.404513 - 57.50 167.50 192.50 0.601344 - 57.50 167.50 197.50 0.913618 - 57.50 167.50 202.50 1.18922 - 57.50 167.50 207.50 1.29939 - 57.50 167.50 212.50 1.23068 - 57.50 167.50 217.50 1.07391 - 57.50 167.50 222.50 1.01927 - 57.50 167.50 227.50 1.13113 - 57.50 167.50 232.50 1.27813 - 57.50 167.50 237.50 1.20669 - 57.50 167.50 242.50 0.899807 - 57.50 167.50 247.50 0.560894 - 57.50 167.50 252.50 0.312627 - 57.50 167.50 257.50 0.150407 - 57.50 167.50 262.50 0.0818424 - 57.50 167.50 267.50 0.13285 - 57.50 167.50 272.50 0.252721 - 57.50 167.50 277.50 0.404513 - 57.50 167.50 282.50 0.601344 - 57.50 167.50 287.50 0.913617 - 57.50 167.50 292.50 1.18922 - 57.50 167.50 297.50 1.29939 - 57.50 167.50 302.50 1.23068 - 57.50 167.50 307.50 1.07391 - 57.50 167.50 312.50 1.01927 - 57.50 167.50 317.50 1.13113 - 57.50 167.50 322.50 1.27813 - 57.50 167.50 327.50 1.20669 - 57.50 167.50 332.50 0.899808 - 57.50 167.50 337.50 0.560896 - 57.50 167.50 342.50 0.312627 - 57.50 167.50 347.50 0.150407 - 57.50 167.50 352.50 0.0818425 - 57.50 167.50 357.50 0.13285 - 57.50 172.50 2.50 0.202442 - 57.50 172.50 7.50 0.264305 - 57.50 172.50 12.50 0.311733 - 57.50 172.50 17.50 0.377531 - 57.50 172.50 22.50 0.462408 - 57.50 172.50 27.50 0.489975 - 57.50 172.50 32.50 0.45839 - 57.50 172.50 37.50 0.416795 - 57.50 172.50 42.50 0.472947 - 57.50 172.50 47.50 0.717381 - 57.50 172.50 52.50 1.01205 - 57.50 172.50 57.50 1.08308 - 57.50 172.50 62.50 0.854424 - 57.50 172.50 67.50 0.529172 - 57.50 172.50 72.50 0.281452 - 57.50 172.50 77.50 0.133163 - 57.50 172.50 82.50 0.0877473 - 57.50 172.50 87.50 0.127436 - 57.50 172.50 92.50 0.202442 - 57.50 172.50 97.50 0.264305 - 57.50 172.50 102.50 0.311733 - 57.50 172.50 107.50 0.377531 - 57.50 172.50 112.50 0.462409 - 57.50 172.50 117.50 0.489974 - 57.50 172.50 122.50 0.45839 - 57.50 172.50 127.50 0.416795 - 57.50 172.50 132.50 0.472947 - 57.50 172.50 137.50 0.717381 - 57.50 172.50 142.50 1.01205 - 57.50 172.50 147.50 1.08308 - 57.50 172.50 152.50 0.854424 - 57.50 172.50 157.50 0.529172 - 57.50 172.50 162.50 0.281452 - 57.50 172.50 167.50 0.133163 - 57.50 172.50 172.50 0.0877474 - 57.50 172.50 177.50 0.127436 - 57.50 172.50 182.50 0.202442 - 57.50 172.50 187.50 0.264305 - 57.50 172.50 192.50 0.311733 - 57.50 172.50 197.50 0.377531 - 57.50 172.50 202.50 0.462409 - 57.50 172.50 207.50 0.489975 - 57.50 172.50 212.50 0.45839 - 57.50 172.50 217.50 0.416795 - 57.50 172.50 222.50 0.472947 - 57.50 172.50 227.50 0.717381 - 57.50 172.50 232.50 1.01205 - 57.50 172.50 237.50 1.08308 - 57.50 172.50 242.50 0.854424 - 57.50 172.50 247.50 0.529171 - 57.50 172.50 252.50 0.281452 - 57.50 172.50 257.50 0.133163 - 57.50 172.50 262.50 0.0877474 - 57.50 172.50 267.50 0.127436 - 57.50 172.50 272.50 0.202442 - 57.50 172.50 277.50 0.264305 - 57.50 172.50 282.50 0.311733 - 57.50 172.50 287.50 0.377531 - 57.50 172.50 292.50 0.462409 - 57.50 172.50 297.50 0.489975 - 57.50 172.50 302.50 0.45839 - 57.50 172.50 307.50 0.416795 - 57.50 172.50 312.50 0.472946 - 57.50 172.50 317.50 0.717381 - 57.50 172.50 322.50 1.01205 - 57.50 172.50 327.50 1.08308 - 57.50 172.50 332.50 0.854425 - 57.50 172.50 337.50 0.529173 - 57.50 172.50 342.50 0.281452 - 57.50 172.50 347.50 0.133163 - 57.50 172.50 352.50 0.0877474 - 57.50 172.50 357.50 0.127436 - 57.50 177.50 2.50 0.118632 - 57.50 177.50 7.50 0.137618 - 57.50 177.50 12.50 0.144096 - 57.50 177.50 17.50 0.153023 - 57.50 177.50 22.50 0.156781 - 57.50 177.50 27.50 0.143853 - 57.50 177.50 32.50 0.123279 - 57.50 177.50 37.50 0.12938 - 57.50 177.50 42.50 0.216182 - 57.50 177.50 47.50 0.439753 - 57.50 177.50 52.50 0.740282 - 57.50 177.50 57.50 0.877821 - 57.50 177.50 62.50 0.705093 - 57.50 177.50 67.50 0.412838 - 57.50 177.50 72.50 0.195055 - 57.50 177.50 77.50 0.0909505 - 57.50 177.50 82.50 0.065772 - 57.50 177.50 87.50 0.0861401 - 57.50 177.50 92.50 0.118632 - 57.50 177.50 97.50 0.137618 - 57.50 177.50 102.50 0.144096 - 57.50 177.50 107.50 0.153023 - 57.50 177.50 112.50 0.156781 - 57.50 177.50 117.50 0.143853 - 57.50 177.50 122.50 0.123279 - 57.50 177.50 127.50 0.12938 - 57.50 177.50 132.50 0.216182 - 57.50 177.50 137.50 0.439753 - 57.50 177.50 142.50 0.740281 - 57.50 177.50 147.50 0.877821 - 57.50 177.50 152.50 0.705093 - 57.50 177.50 157.50 0.412838 - 57.50 177.50 162.50 0.195055 - 57.50 177.50 167.50 0.0909505 - 57.50 177.50 172.50 0.0657719 - 57.50 177.50 177.50 0.08614 - 57.50 177.50 182.50 0.118632 - 57.50 177.50 187.50 0.137618 - 57.50 177.50 192.50 0.144096 - 57.50 177.50 197.50 0.153023 - 57.50 177.50 202.50 0.156781 - 57.50 177.50 207.50 0.143853 - 57.50 177.50 212.50 0.123279 - 57.50 177.50 217.50 0.12938 - 57.50 177.50 222.50 0.216182 - 57.50 177.50 227.50 0.439753 - 57.50 177.50 232.50 0.740282 - 57.50 177.50 237.50 0.877821 - 57.50 177.50 242.50 0.705092 - 57.50 177.50 247.50 0.412838 - 57.50 177.50 252.50 0.195055 - 57.50 177.50 257.50 0.0909505 - 57.50 177.50 262.50 0.065772 - 57.50 177.50 267.50 0.0861401 - 57.50 177.50 272.50 0.118632 - 57.50 177.50 277.50 0.137618 - 57.50 177.50 282.50 0.144096 - 57.50 177.50 287.50 0.153023 - 57.50 177.50 292.50 0.156781 - 57.50 177.50 297.50 0.143853 - 57.50 177.50 302.50 0.123279 - 57.50 177.50 307.50 0.12938 - 57.50 177.50 312.50 0.216182 - 57.50 177.50 317.50 0.439753 - 57.50 177.50 322.50 0.74028 - 57.50 177.50 327.50 0.877821 - 57.50 177.50 332.50 0.705094 - 57.50 177.50 337.50 0.412839 - 57.50 177.50 342.50 0.195055 - 57.50 177.50 347.50 0.0909507 - 57.50 177.50 352.50 0.065772 - 57.50 177.50 357.50 0.08614 - 62.50 2.50 2.50 0.0601603 - 62.50 2.50 7.50 0.0485219 - 62.50 2.50 12.50 0.0624686 - 62.50 2.50 17.50 0.149977 - 62.50 2.50 22.50 0.393273 - 62.50 2.50 27.50 0.773179 - 62.50 2.50 32.50 0.980476 - 62.50 2.50 37.50 0.773178 - 62.50 2.50 42.50 0.393272 - 62.50 2.50 47.50 0.149977 - 62.50 2.50 52.50 0.0624685 - 62.50 2.50 57.50 0.048522 - 62.50 2.50 62.50 0.0601603 - 62.50 2.50 67.50 0.0760386 - 62.50 2.50 72.50 0.083846 - 62.50 2.50 77.50 0.084539 - 62.50 2.50 82.50 0.083846 - 62.50 2.50 87.50 0.0760385 - 62.50 2.50 92.50 0.0601603 - 62.50 2.50 97.50 0.0485219 - 62.50 2.50 102.50 0.0624686 - 62.50 2.50 107.50 0.149977 - 62.50 2.50 112.50 0.393273 - 62.50 2.50 117.50 0.773179 - 62.50 2.50 122.50 0.980476 - 62.50 2.50 127.50 0.773179 - 62.50 2.50 132.50 0.393272 - 62.50 2.50 137.50 0.149977 - 62.50 2.50 142.50 0.0624685 - 62.50 2.50 147.50 0.0485219 - 62.50 2.50 152.50 0.0601603 - 62.50 2.50 157.50 0.0760385 - 62.50 2.50 162.50 0.083846 - 62.50 2.50 167.50 0.084539 - 62.50 2.50 172.50 0.083846 - 62.50 2.50 177.50 0.0760385 - 62.50 2.50 182.50 0.0601603 - 62.50 2.50 187.50 0.0485219 - 62.50 2.50 192.50 0.0624686 - 62.50 2.50 197.50 0.149977 - 62.50 2.50 202.50 0.393273 - 62.50 2.50 207.50 0.77318 - 62.50 2.50 212.50 0.980476 - 62.50 2.50 217.50 0.773178 - 62.50 2.50 222.50 0.393272 - 62.50 2.50 227.50 0.149977 - 62.50 2.50 232.50 0.0624684 - 62.50 2.50 237.50 0.048522 - 62.50 2.50 242.50 0.0601604 - 62.50 2.50 247.50 0.0760386 - 62.50 2.50 252.50 0.083846 - 62.50 2.50 257.50 0.084539 - 62.50 2.50 262.50 0.083846 - 62.50 2.50 267.50 0.0760385 - 62.50 2.50 272.50 0.0601603 - 62.50 2.50 277.50 0.0485219 - 62.50 2.50 282.50 0.0624686 - 62.50 2.50 287.50 0.149977 - 62.50 2.50 292.50 0.393273 - 62.50 2.50 297.50 0.773179 - 62.50 2.50 302.50 0.980476 - 62.50 2.50 307.50 0.773179 - 62.50 2.50 312.50 0.393272 - 62.50 2.50 317.50 0.149977 - 62.50 2.50 322.50 0.0624686 - 62.50 2.50 327.50 0.0485219 - 62.50 2.50 332.50 0.0601603 - 62.50 2.50 337.50 0.0760385 - 62.50 2.50 342.50 0.083846 - 62.50 2.50 347.50 0.084539 - 62.50 2.50 352.50 0.083846 - 62.50 2.50 357.50 0.0760386 - 62.50 7.50 2.50 0.0922625 - 62.50 7.50 7.50 0.0690466 - 62.50 7.50 12.50 0.0859379 - 62.50 7.50 17.50 0.186094 - 62.50 7.50 22.50 0.414427 - 62.50 7.50 27.50 0.719928 - 62.50 7.50 32.50 0.868015 - 62.50 7.50 37.50 0.721803 - 62.50 7.50 42.50 0.421353 - 62.50 7.50 47.50 0.206718 - 62.50 7.50 52.50 0.12957 - 62.50 7.50 57.50 0.129557 - 62.50 7.50 62.50 0.1496 - 62.50 7.50 67.50 0.166803 - 62.50 7.50 72.50 0.163986 - 62.50 7.50 77.50 0.152129 - 62.50 7.50 82.50 0.143131 - 62.50 7.50 87.50 0.123951 - 62.50 7.50 92.50 0.0922624 - 62.50 7.50 97.50 0.0690465 - 62.50 7.50 102.50 0.0859378 - 62.50 7.50 107.50 0.186094 - 62.50 7.50 112.50 0.414426 - 62.50 7.50 117.50 0.719928 - 62.50 7.50 122.50 0.868014 - 62.50 7.50 127.50 0.721803 - 62.50 7.50 132.50 0.421353 - 62.50 7.50 137.50 0.206718 - 62.50 7.50 142.50 0.12957 - 62.50 7.50 147.50 0.129557 - 62.50 7.50 152.50 0.1496 - 62.50 7.50 157.50 0.166803 - 62.50 7.50 162.50 0.163986 - 62.50 7.50 167.50 0.152129 - 62.50 7.50 172.50 0.143131 - 62.50 7.50 177.50 0.123951 - 62.50 7.50 182.50 0.0922624 - 62.50 7.50 187.50 0.0690466 - 62.50 7.50 192.50 0.085938 - 62.50 7.50 197.50 0.186094 - 62.50 7.50 202.50 0.414427 - 62.50 7.50 207.50 0.719928 - 62.50 7.50 212.50 0.868014 - 62.50 7.50 217.50 0.721803 - 62.50 7.50 222.50 0.421353 - 62.50 7.50 227.50 0.206718 - 62.50 7.50 232.50 0.12957 - 62.50 7.50 237.50 0.129557 - 62.50 7.50 242.50 0.1496 - 62.50 7.50 247.50 0.166803 - 62.50 7.50 252.50 0.163986 - 62.50 7.50 257.50 0.152129 - 62.50 7.50 262.50 0.143131 - 62.50 7.50 267.50 0.123951 - 62.50 7.50 272.50 0.0922625 - 62.50 7.50 277.50 0.0690467 - 62.50 7.50 282.50 0.085938 - 62.50 7.50 287.50 0.186094 - 62.50 7.50 292.50 0.414426 - 62.50 7.50 297.50 0.719928 - 62.50 7.50 302.50 0.868014 - 62.50 7.50 307.50 0.721803 - 62.50 7.50 312.50 0.421353 - 62.50 7.50 317.50 0.206718 - 62.50 7.50 322.50 0.12957 - 62.50 7.50 327.50 0.129557 - 62.50 7.50 332.50 0.1496 - 62.50 7.50 337.50 0.166803 - 62.50 7.50 342.50 0.163986 - 62.50 7.50 347.50 0.152129 - 62.50 7.50 352.50 0.143131 - 62.50 7.50 357.50 0.123951 - 62.50 12.50 2.50 0.149325 - 62.50 12.50 7.50 0.100886 - 62.50 12.50 12.50 0.125281 - 62.50 12.50 17.50 0.25839 - 62.50 12.50 22.50 0.518342 - 62.50 12.50 27.50 0.84758 - 62.50 12.50 32.50 1.0596 - 62.50 12.50 37.50 0.978157 - 62.50 12.50 42.50 0.691593 - 62.50 12.50 47.50 0.456224 - 62.50 12.50 52.50 0.40312 - 62.50 12.50 57.50 0.468542 - 62.50 12.50 62.50 0.524382 - 62.50 12.50 67.50 0.519333 - 62.50 12.50 72.50 0.444354 - 62.50 12.50 77.50 0.345455 - 62.50 12.50 82.50 0.287298 - 62.50 12.50 87.50 0.223786 - 62.50 12.50 92.50 0.149325 - 62.50 12.50 97.50 0.100886 - 62.50 12.50 102.50 0.125281 - 62.50 12.50 107.50 0.25839 - 62.50 12.50 112.50 0.518342 - 62.50 12.50 117.50 0.847581 - 62.50 12.50 122.50 1.0596 - 62.50 12.50 127.50 0.978157 - 62.50 12.50 132.50 0.691593 - 62.50 12.50 137.50 0.456224 - 62.50 12.50 142.50 0.40312 - 62.50 12.50 147.50 0.468542 - 62.50 12.50 152.50 0.524381 - 62.50 12.50 157.50 0.519333 - 62.50 12.50 162.50 0.444354 - 62.50 12.50 167.50 0.345456 - 62.50 12.50 172.50 0.287298 - 62.50 12.50 177.50 0.223786 - 62.50 12.50 182.50 0.149325 - 62.50 12.50 187.50 0.100886 - 62.50 12.50 192.50 0.125282 - 62.50 12.50 197.50 0.25839 - 62.50 12.50 202.50 0.518342 - 62.50 12.50 207.50 0.84758 - 62.50 12.50 212.50 1.0596 - 62.50 12.50 217.50 0.978157 - 62.50 12.50 222.50 0.691593 - 62.50 12.50 227.50 0.456224 - 62.50 12.50 232.50 0.403121 - 62.50 12.50 237.50 0.468542 - 62.50 12.50 242.50 0.524382 - 62.50 12.50 247.50 0.519333 - 62.50 12.50 252.50 0.444353 - 62.50 12.50 257.50 0.345455 - 62.50 12.50 262.50 0.287298 - 62.50 12.50 267.50 0.223786 - 62.50 12.50 272.50 0.149325 - 62.50 12.50 277.50 0.100886 - 62.50 12.50 282.50 0.125282 - 62.50 12.50 287.50 0.25839 - 62.50 12.50 292.50 0.518342 - 62.50 12.50 297.50 0.847579 - 62.50 12.50 302.50 1.0596 - 62.50 12.50 307.50 0.978158 - 62.50 12.50 312.50 0.691593 - 62.50 12.50 317.50 0.456224 - 62.50 12.50 322.50 0.40312 - 62.50 12.50 327.50 0.468541 - 62.50 12.50 332.50 0.524381 - 62.50 12.50 337.50 0.519333 - 62.50 12.50 342.50 0.444353 - 62.50 12.50 347.50 0.345456 - 62.50 12.50 352.50 0.287299 - 62.50 12.50 357.50 0.223786 - 62.50 17.50 2.50 0.171122 - 62.50 17.50 7.50 0.102338 - 62.50 17.50 12.50 0.129418 - 62.50 17.50 17.50 0.287369 - 62.50 17.50 22.50 0.552135 - 62.50 17.50 27.50 0.884237 - 62.50 17.50 32.50 1.17985 - 62.50 17.50 37.50 1.23553 - 62.50 17.50 42.50 1.07277 - 62.50 17.50 47.50 0.962608 - 62.50 17.50 52.50 1.04756 - 62.50 17.50 57.50 1.22026 - 62.50 17.50 62.50 1.35825 - 62.50 17.50 67.50 1.3114 - 62.50 17.50 72.50 1.06471 - 62.50 17.50 77.50 0.744515 - 62.50 17.50 82.50 0.466812 - 62.50 17.50 87.50 0.297934 - 62.50 17.50 92.50 0.171122 - 62.50 17.50 97.50 0.102338 - 62.50 17.50 102.50 0.129418 - 62.50 17.50 107.50 0.287369 - 62.50 17.50 112.50 0.552135 - 62.50 17.50 117.50 0.884237 - 62.50 17.50 122.50 1.17985 - 62.50 17.50 127.50 1.23553 - 62.50 17.50 132.50 1.07277 - 62.50 17.50 137.50 0.962608 - 62.50 17.50 142.50 1.04756 - 62.50 17.50 147.50 1.22026 - 62.50 17.50 152.50 1.35825 - 62.50 17.50 157.50 1.3114 - 62.50 17.50 162.50 1.06471 - 62.50 17.50 167.50 0.744515 - 62.50 17.50 172.50 0.466812 - 62.50 17.50 177.50 0.297935 - 62.50 17.50 182.50 0.171122 - 62.50 17.50 187.50 0.102338 - 62.50 17.50 192.50 0.129418 - 62.50 17.50 197.50 0.287369 - 62.50 17.50 202.50 0.552135 - 62.50 17.50 207.50 0.884237 - 62.50 17.50 212.50 1.17985 - 62.50 17.50 217.50 1.23553 - 62.50 17.50 222.50 1.07277 - 62.50 17.50 227.50 0.962608 - 62.50 17.50 232.50 1.04756 - 62.50 17.50 237.50 1.22026 - 62.50 17.50 242.50 1.35825 - 62.50 17.50 247.50 1.3114 - 62.50 17.50 252.50 1.06471 - 62.50 17.50 257.50 0.744514 - 62.50 17.50 262.50 0.466812 - 62.50 17.50 267.50 0.297934 - 62.50 17.50 272.50 0.171122 - 62.50 17.50 277.50 0.102338 - 62.50 17.50 282.50 0.129418 - 62.50 17.50 287.50 0.287369 - 62.50 17.50 292.50 0.552135 - 62.50 17.50 297.50 0.884237 - 62.50 17.50 302.50 1.17985 - 62.50 17.50 307.50 1.23553 - 62.50 17.50 312.50 1.07277 - 62.50 17.50 317.50 0.962608 - 62.50 17.50 322.50 1.04756 - 62.50 17.50 327.50 1.22026 - 62.50 17.50 332.50 1.35825 - 62.50 17.50 337.50 1.3114 - 62.50 17.50 342.50 1.06471 - 62.50 17.50 347.50 0.744515 - 62.50 17.50 352.50 0.466813 - 62.50 17.50 357.50 0.297935 - 62.50 22.50 2.50 0.169877 - 62.50 22.50 7.50 0.0797988 - 62.50 22.50 12.50 0.095702 - 62.50 22.50 17.50 0.217768 - 62.50 22.50 22.50 0.438269 - 62.50 22.50 27.50 0.745256 - 62.50 22.50 32.50 1.0931 - 62.50 22.50 37.50 1.31728 - 62.50 22.50 42.50 1.38735 - 62.50 22.50 47.50 1.5729 - 62.50 22.50 52.50 2.01872 - 62.50 22.50 57.50 2.51249 - 62.50 22.50 62.50 2.8001 - 62.50 22.50 67.50 2.71146 - 62.50 22.50 72.50 2.15474 - 62.50 22.50 77.50 1.39346 - 62.50 22.50 82.50 0.758532 - 62.50 22.50 87.50 0.362128 - 62.50 22.50 92.50 0.169877 - 62.50 22.50 97.50 0.0797988 - 62.50 22.50 102.50 0.095702 - 62.50 22.50 107.50 0.217768 - 62.50 22.50 112.50 0.438269 - 62.50 22.50 117.50 0.745256 - 62.50 22.50 122.50 1.0931 - 62.50 22.50 127.50 1.31728 - 62.50 22.50 132.50 1.38735 - 62.50 22.50 137.50 1.5729 - 62.50 22.50 142.50 2.01872 - 62.50 22.50 147.50 2.51249 - 62.50 22.50 152.50 2.8001 - 62.50 22.50 157.50 2.71146 - 62.50 22.50 162.50 2.15474 - 62.50 22.50 167.50 1.39346 - 62.50 22.50 172.50 0.758532 - 62.50 22.50 177.50 0.362129 - 62.50 22.50 182.50 0.169877 - 62.50 22.50 187.50 0.0797988 - 62.50 22.50 192.50 0.0957021 - 62.50 22.50 197.50 0.217769 - 62.50 22.50 202.50 0.438269 - 62.50 22.50 207.50 0.745256 - 62.50 22.50 212.50 1.0931 - 62.50 22.50 217.50 1.31728 - 62.50 22.50 222.50 1.38735 - 62.50 22.50 227.50 1.5729 - 62.50 22.50 232.50 2.01872 - 62.50 22.50 237.50 2.51249 - 62.50 22.50 242.50 2.8001 - 62.50 22.50 247.50 2.71146 - 62.50 22.50 252.50 2.15474 - 62.50 22.50 257.50 1.39346 - 62.50 22.50 262.50 0.758531 - 62.50 22.50 267.50 0.362128 - 62.50 22.50 272.50 0.169877 - 62.50 22.50 277.50 0.0797989 - 62.50 22.50 282.50 0.0957021 - 62.50 22.50 287.50 0.217769 - 62.50 22.50 292.50 0.438268 - 62.50 22.50 297.50 0.745255 - 62.50 22.50 302.50 1.0931 - 62.50 22.50 307.50 1.31728 - 62.50 22.50 312.50 1.38735 - 62.50 22.50 317.50 1.5729 - 62.50 22.50 322.50 2.01872 - 62.50 22.50 327.50 2.51249 - 62.50 22.50 332.50 2.8001 - 62.50 22.50 337.50 2.71146 - 62.50 22.50 342.50 2.15474 - 62.50 22.50 347.50 1.39346 - 62.50 22.50 352.50 0.758533 - 62.50 22.50 357.50 0.362129 - 62.50 27.50 2.50 0.190178 - 62.50 27.50 7.50 0.064067 - 62.50 27.50 12.50 0.0549512 - 62.50 27.50 17.50 0.115685 - 62.50 27.50 22.50 0.252156 - 62.50 27.50 27.50 0.491738 - 62.50 27.50 32.50 0.838583 - 62.50 27.50 37.50 1.12126 - 62.50 27.50 42.50 1.43678 - 62.50 27.50 47.50 2.0097 - 62.50 27.50 52.50 2.80798 - 62.50 27.50 57.50 3.81855 - 62.50 27.50 62.50 4.63534 - 62.50 27.50 67.50 4.50219 - 62.50 27.50 72.50 3.51984 - 62.50 27.50 77.50 2.17989 - 62.50 27.50 82.50 1.1038 - 62.50 27.50 87.50 0.465381 - 62.50 27.50 92.50 0.190178 - 62.50 27.50 97.50 0.064067 - 62.50 27.50 102.50 0.0549512 - 62.50 27.50 107.50 0.115685 - 62.50 27.50 112.50 0.252156 - 62.50 27.50 117.50 0.491738 - 62.50 27.50 122.50 0.838583 - 62.50 27.50 127.50 1.12126 - 62.50 27.50 132.50 1.43678 - 62.50 27.50 137.50 2.0097 - 62.50 27.50 142.50 2.80798 - 62.50 27.50 147.50 3.81855 - 62.50 27.50 152.50 4.63534 - 62.50 27.50 157.50 4.5022 - 62.50 27.50 162.50 3.51984 - 62.50 27.50 167.50 2.17989 - 62.50 27.50 172.50 1.1038 - 62.50 27.50 177.50 0.465381 - 62.50 27.50 182.50 0.190178 - 62.50 27.50 187.50 0.064067 - 62.50 27.50 192.50 0.0549513 - 62.50 27.50 197.50 0.115685 - 62.50 27.50 202.50 0.252156 - 62.50 27.50 207.50 0.491738 - 62.50 27.50 212.50 0.838583 - 62.50 27.50 217.50 1.12126 - 62.50 27.50 222.50 1.43678 - 62.50 27.50 227.50 2.0097 - 62.50 27.50 232.50 2.80798 - 62.50 27.50 237.50 3.81855 - 62.50 27.50 242.50 4.63534 - 62.50 27.50 247.50 4.5022 - 62.50 27.50 252.50 3.51984 - 62.50 27.50 257.50 2.17989 - 62.50 27.50 262.50 1.1038 - 62.50 27.50 267.50 0.46538 - 62.50 27.50 272.50 0.190178 - 62.50 27.50 277.50 0.064067 - 62.50 27.50 282.50 0.0549513 - 62.50 27.50 287.50 0.115685 - 62.50 27.50 292.50 0.252156 - 62.50 27.50 297.50 0.491737 - 62.50 27.50 302.50 0.838583 - 62.50 27.50 307.50 1.12126 - 62.50 27.50 312.50 1.43678 - 62.50 27.50 317.50 2.00969 - 62.50 27.50 322.50 2.80798 - 62.50 27.50 327.50 3.81855 - 62.50 27.50 332.50 4.63534 - 62.50 27.50 337.50 4.5022 - 62.50 27.50 342.50 3.51984 - 62.50 27.50 347.50 2.17989 - 62.50 27.50 352.50 1.1038 - 62.50 27.50 357.50 0.465382 - 62.50 32.50 2.50 0.203044 - 62.50 32.50 7.50 0.055626 - 62.50 32.50 12.50 0.0313745 - 62.50 32.50 17.50 0.0493549 - 62.50 32.50 22.50 0.112016 - 62.50 32.50 27.50 0.255477 - 62.50 32.50 32.50 0.489223 - 62.50 32.50 37.50 0.763452 - 62.50 32.50 42.50 1.1305 - 62.50 32.50 47.50 1.88573 - 62.50 32.50 52.50 3.1106 - 62.50 32.50 57.50 4.53233 - 62.50 32.50 62.50 5.51831 - 62.50 32.50 67.50 5.59052 - 62.50 32.50 72.50 4.3323 - 62.50 32.50 77.50 2.60783 - 62.50 32.50 82.50 1.27208 - 62.50 32.50 87.50 0.530742 - 62.50 32.50 92.50 0.203044 - 62.50 32.50 97.50 0.0556259 - 62.50 32.50 102.50 0.0313745 - 62.50 32.50 107.50 0.0493549 - 62.50 32.50 112.50 0.112017 - 62.50 32.50 117.50 0.255477 - 62.50 32.50 122.50 0.489224 - 62.50 32.50 127.50 0.763453 - 62.50 32.50 132.50 1.1305 - 62.50 32.50 137.50 1.88573 - 62.50 32.50 142.50 3.1106 - 62.50 32.50 147.50 4.53233 - 62.50 32.50 152.50 5.5183 - 62.50 32.50 157.50 5.59052 - 62.50 32.50 162.50 4.3323 - 62.50 32.50 167.50 2.60783 - 62.50 32.50 172.50 1.27208 - 62.50 32.50 177.50 0.530742 - 62.50 32.50 182.50 0.203044 - 62.50 32.50 187.50 0.0556259 - 62.50 32.50 192.50 0.0313745 - 62.50 32.50 197.50 0.0493549 - 62.50 32.50 202.50 0.112017 - 62.50 32.50 207.50 0.255477 - 62.50 32.50 212.50 0.489223 - 62.50 32.50 217.50 0.763453 - 62.50 32.50 222.50 1.1305 - 62.50 32.50 227.50 1.88573 - 62.50 32.50 232.50 3.1106 - 62.50 32.50 237.50 4.53233 - 62.50 32.50 242.50 5.51831 - 62.50 32.50 247.50 5.59052 - 62.50 32.50 252.50 4.3323 - 62.50 32.50 257.50 2.60782 - 62.50 32.50 262.50 1.27208 - 62.50 32.50 267.50 0.530741 - 62.50 32.50 272.50 0.203044 - 62.50 32.50 277.50 0.055626 - 62.50 32.50 282.50 0.0313745 - 62.50 32.50 287.50 0.0493549 - 62.50 32.50 292.50 0.112016 - 62.50 32.50 297.50 0.255476 - 62.50 32.50 302.50 0.489223 - 62.50 32.50 307.50 0.763452 - 62.50 32.50 312.50 1.13049 - 62.50 32.50 317.50 1.88573 - 62.50 32.50 322.50 3.1106 - 62.50 32.50 327.50 4.53233 - 62.50 32.50 332.50 5.5183 - 62.50 32.50 337.50 5.59053 - 62.50 32.50 342.50 4.3323 - 62.50 32.50 347.50 2.60783 - 62.50 32.50 352.50 1.27208 - 62.50 32.50 357.50 0.530743 - 62.50 37.50 2.50 0.166468 - 62.50 37.50 7.50 0.0437723 - 62.50 37.50 12.50 0.0177901 - 62.50 37.50 17.50 0.0215696 - 62.50 37.50 22.50 0.0424254 - 62.50 37.50 27.50 0.106889 - 62.50 37.50 32.50 0.232747 - 62.50 37.50 37.50 0.397978 - 62.50 37.50 42.50 0.695003 - 62.50 37.50 47.50 1.38142 - 62.50 37.50 52.50 2.64226 - 62.50 37.50 57.50 4.15246 - 62.50 37.50 62.50 5.13611 - 62.50 37.50 67.50 5.08545 - 62.50 37.50 72.50 3.92672 - 62.50 37.50 77.50 2.28254 - 62.50 37.50 82.50 1.0963 - 62.50 37.50 87.50 0.461633 - 62.50 37.50 92.50 0.166468 - 62.50 37.50 97.50 0.0437723 - 62.50 37.50 102.50 0.0177901 - 62.50 37.50 107.50 0.0215696 - 62.50 37.50 112.50 0.0424254 - 62.50 37.50 117.50 0.10689 - 62.50 37.50 122.50 0.232747 - 62.50 37.50 127.50 0.397979 - 62.50 37.50 132.50 0.695003 - 62.50 37.50 137.50 1.38142 - 62.50 37.50 142.50 2.64226 - 62.50 37.50 147.50 4.15246 - 62.50 37.50 152.50 5.13611 - 62.50 37.50 157.50 5.08545 - 62.50 37.50 162.50 3.92672 - 62.50 37.50 167.50 2.28254 - 62.50 37.50 172.50 1.0963 - 62.50 37.50 177.50 0.461633 - 62.50 37.50 182.50 0.166468 - 62.50 37.50 187.50 0.0437723 - 62.50 37.50 192.50 0.0177901 - 62.50 37.50 197.50 0.0215696 - 62.50 37.50 202.50 0.0424255 - 62.50 37.50 207.50 0.106889 - 62.50 37.50 212.50 0.232747 - 62.50 37.50 217.50 0.397979 - 62.50 37.50 222.50 0.695003 - 62.50 37.50 227.50 1.38142 - 62.50 37.50 232.50 2.64226 - 62.50 37.50 237.50 4.15246 - 62.50 37.50 242.50 5.13611 - 62.50 37.50 247.50 5.08545 - 62.50 37.50 252.50 3.92672 - 62.50 37.50 257.50 2.28254 - 62.50 37.50 262.50 1.0963 - 62.50 37.50 267.50 0.461632 - 62.50 37.50 272.50 0.166468 - 62.50 37.50 277.50 0.0437723 - 62.50 37.50 282.50 0.0177901 - 62.50 37.50 287.50 0.0215696 - 62.50 37.50 292.50 0.0424254 - 62.50 37.50 297.50 0.106889 - 62.50 37.50 302.50 0.232747 - 62.50 37.50 307.50 0.397978 - 62.50 37.50 312.50 0.695003 - 62.50 37.50 317.50 1.38142 - 62.50 37.50 322.50 2.64226 - 62.50 37.50 327.50 4.15245 - 62.50 37.50 332.50 5.1361 - 62.50 37.50 337.50 5.08545 - 62.50 37.50 342.50 3.92672 - 62.50 37.50 347.50 2.28255 - 62.50 37.50 352.50 1.0963 - 62.50 37.50 357.50 0.461634 - 62.50 42.50 2.50 0.114674 - 62.50 42.50 7.50 0.0353898 - 62.50 42.50 12.50 0.0192761 - 62.50 42.50 17.50 0.0191425 - 62.50 42.50 22.50 0.0213085 - 62.50 42.50 27.50 0.0398016 - 62.50 42.50 32.50 0.0814494 - 62.50 42.50 37.50 0.153367 - 62.50 42.50 42.50 0.322359 - 62.50 42.50 47.50 0.754377 - 62.50 42.50 52.50 1.67063 - 62.50 42.50 57.50 2.81508 - 62.50 42.50 62.50 3.68175 - 62.50 42.50 67.50 3.61403 - 62.50 42.50 72.50 2.71904 - 62.50 42.50 77.50 1.54765 - 62.50 42.50 82.50 0.732046 - 62.50 42.50 87.50 0.315208 - 62.50 42.50 92.50 0.114674 - 62.50 42.50 97.50 0.0353898 - 62.50 42.50 102.50 0.0192761 - 62.50 42.50 107.50 0.0191425 - 62.50 42.50 112.50 0.0213085 - 62.50 42.50 117.50 0.0398016 - 62.50 42.50 122.50 0.0814494 - 62.50 42.50 127.50 0.153367 - 62.50 42.50 132.50 0.322359 - 62.50 42.50 137.50 0.754377 - 62.50 42.50 142.50 1.67063 - 62.50 42.50 147.50 2.81508 - 62.50 42.50 152.50 3.68176 - 62.50 42.50 157.50 3.61403 - 62.50 42.50 162.50 2.71904 - 62.50 42.50 167.50 1.54765 - 62.50 42.50 172.50 0.732046 - 62.50 42.50 177.50 0.315208 - 62.50 42.50 182.50 0.114674 - 62.50 42.50 187.50 0.0353898 - 62.50 42.50 192.50 0.0192761 - 62.50 42.50 197.50 0.0191425 - 62.50 42.50 202.50 0.0213086 - 62.50 42.50 207.50 0.0398015 - 62.50 42.50 212.50 0.0814494 - 62.50 42.50 217.50 0.153367 - 62.50 42.50 222.50 0.322359 - 62.50 42.50 227.50 0.754377 - 62.50 42.50 232.50 1.67063 - 62.50 42.50 237.50 2.81508 - 62.50 42.50 242.50 3.68176 - 62.50 42.50 247.50 3.61403 - 62.50 42.50 252.50 2.71904 - 62.50 42.50 257.50 1.54764 - 62.50 42.50 262.50 0.732045 - 62.50 42.50 267.50 0.315208 - 62.50 42.50 272.50 0.114674 - 62.50 42.50 277.50 0.0353898 - 62.50 42.50 282.50 0.0192761 - 62.50 42.50 287.50 0.0191425 - 62.50 42.50 292.50 0.0213086 - 62.50 42.50 297.50 0.0398015 - 62.50 42.50 302.50 0.0814492 - 62.50 42.50 307.50 0.153366 - 62.50 42.50 312.50 0.322358 - 62.50 42.50 317.50 0.754376 - 62.50 42.50 322.50 1.67063 - 62.50 42.50 327.50 2.81507 - 62.50 42.50 332.50 3.68175 - 62.50 42.50 337.50 3.61403 - 62.50 42.50 342.50 2.71904 - 62.50 42.50 347.50 1.54765 - 62.50 42.50 352.50 0.732047 - 62.50 42.50 357.50 0.315209 - 62.50 47.50 2.50 0.0938603 - 62.50 47.50 7.50 0.0548245 - 62.50 47.50 12.50 0.0627211 - 62.50 47.50 17.50 0.0688209 - 62.50 47.50 22.50 0.053292 - 62.50 47.50 27.50 0.0306563 - 62.50 47.50 32.50 0.0252395 - 62.50 47.50 37.50 0.0463751 - 62.50 47.50 42.50 0.104399 - 62.50 47.50 47.50 0.336693 - 62.50 47.50 52.50 0.731889 - 62.50 47.50 57.50 1.34076 - 62.50 47.50 62.50 1.86668 - 62.50 47.50 67.50 1.98013 - 62.50 47.50 72.50 1.51053 - 62.50 47.50 77.50 0.864757 - 62.50 47.50 82.50 0.422873 - 62.50 47.50 87.50 0.195908 - 62.50 47.50 92.50 0.0938602 - 62.50 47.50 97.50 0.0548244 - 62.50 47.50 102.50 0.0627211 - 62.50 47.50 107.50 0.0688209 - 62.50 47.50 112.50 0.053292 - 62.50 47.50 117.50 0.0306563 - 62.50 47.50 122.50 0.0252395 - 62.50 47.50 127.50 0.0463751 - 62.50 47.50 132.50 0.104399 - 62.50 47.50 137.50 0.336693 - 62.50 47.50 142.50 0.731889 - 62.50 47.50 147.50 1.34076 - 62.50 47.50 152.50 1.86668 - 62.50 47.50 157.50 1.98013 - 62.50 47.50 162.50 1.51053 - 62.50 47.50 167.50 0.864757 - 62.50 47.50 172.50 0.422873 - 62.50 47.50 177.50 0.195908 - 62.50 47.50 182.50 0.0938601 - 62.50 47.50 187.50 0.0548244 - 62.50 47.50 192.50 0.0627211 - 62.50 47.50 197.50 0.0688208 - 62.50 47.50 202.50 0.053292 - 62.50 47.50 207.50 0.0306563 - 62.50 47.50 212.50 0.0252394 - 62.50 47.50 217.50 0.0463751 - 62.50 47.50 222.50 0.104399 - 62.50 47.50 227.50 0.336693 - 62.50 47.50 232.50 0.73189 - 62.50 47.50 237.50 1.34076 - 62.50 47.50 242.50 1.86668 - 62.50 47.50 247.50 1.98013 - 62.50 47.50 252.50 1.51053 - 62.50 47.50 257.50 0.864756 - 62.50 47.50 262.50 0.422873 - 62.50 47.50 267.50 0.195908 - 62.50 47.50 272.50 0.0938603 - 62.50 47.50 277.50 0.0548244 - 62.50 47.50 282.50 0.0627211 - 62.50 47.50 287.50 0.0688209 - 62.50 47.50 292.50 0.053292 - 62.50 47.50 297.50 0.0306563 - 62.50 47.50 302.50 0.0252395 - 62.50 47.50 307.50 0.0463751 - 62.50 47.50 312.50 0.104399 - 62.50 47.50 317.50 0.336692 - 62.50 47.50 322.50 0.731888 - 62.50 47.50 327.50 1.34076 - 62.50 47.50 332.50 1.86668 - 62.50 47.50 337.50 1.98013 - 62.50 47.50 342.50 1.51053 - 62.50 47.50 347.50 0.864758 - 62.50 47.50 352.50 0.422873 - 62.50 47.50 357.50 0.195908 - 62.50 52.50 2.50 0.114674 - 62.50 52.50 7.50 0.133007 - 62.50 52.50 12.50 0.189687 - 62.50 52.50 17.50 0.215235 - 62.50 52.50 22.50 0.169546 - 62.50 52.50 27.50 0.105614 - 62.50 52.50 32.50 0.0591279 - 62.50 52.50 37.50 0.0325256 - 62.50 52.50 42.50 0.0374258 - 62.50 52.50 47.50 0.0990011 - 62.50 52.50 52.50 0.257939 - 62.50 52.50 57.50 0.477024 - 62.50 52.50 62.50 0.650903 - 62.50 52.50 67.50 0.754548 - 62.50 52.50 72.50 0.65225 - 62.50 52.50 77.50 0.409275 - 62.50 52.50 82.50 0.219428 - 62.50 52.50 87.50 0.126726 - 62.50 52.50 92.50 0.114674 - 62.50 52.50 97.50 0.133007 - 62.50 52.50 102.50 0.189686 - 62.50 52.50 107.50 0.215235 - 62.50 52.50 112.50 0.169546 - 62.50 52.50 117.50 0.105614 - 62.50 52.50 122.50 0.0591279 - 62.50 52.50 127.50 0.0325256 - 62.50 52.50 132.50 0.0374259 - 62.50 52.50 137.50 0.0990011 - 62.50 52.50 142.50 0.257939 - 62.50 52.50 147.50 0.477024 - 62.50 52.50 152.50 0.650903 - 62.50 52.50 157.50 0.754549 - 62.50 52.50 162.50 0.652251 - 62.50 52.50 167.50 0.409275 - 62.50 52.50 172.50 0.219428 - 62.50 52.50 177.50 0.126726 - 62.50 52.50 182.50 0.114674 - 62.50 52.50 187.50 0.133007 - 62.50 52.50 192.50 0.189686 - 62.50 52.50 197.50 0.215235 - 62.50 52.50 202.50 0.169546 - 62.50 52.50 207.50 0.105614 - 62.50 52.50 212.50 0.0591279 - 62.50 52.50 217.50 0.0325256 - 62.50 52.50 222.50 0.0374259 - 62.50 52.50 227.50 0.099001 - 62.50 52.50 232.50 0.257939 - 62.50 52.50 237.50 0.477024 - 62.50 52.50 242.50 0.650904 - 62.50 52.50 247.50 0.754549 - 62.50 52.50 252.50 0.652251 - 62.50 52.50 257.50 0.409274 - 62.50 52.50 262.50 0.219428 - 62.50 52.50 267.50 0.126726 - 62.50 52.50 272.50 0.114674 - 62.50 52.50 277.50 0.133007 - 62.50 52.50 282.50 0.189686 - 62.50 52.50 287.50 0.215235 - 62.50 52.50 292.50 0.169546 - 62.50 52.50 297.50 0.105614 - 62.50 52.50 302.50 0.0591279 - 62.50 52.50 307.50 0.0325256 - 62.50 52.50 312.50 0.0374258 - 62.50 52.50 317.50 0.099001 - 62.50 52.50 322.50 0.257938 - 62.50 52.50 327.50 0.477024 - 62.50 52.50 332.50 0.650903 - 62.50 52.50 337.50 0.754548 - 62.50 52.50 342.50 0.652251 - 62.50 52.50 347.50 0.409275 - 62.50 52.50 352.50 0.219428 - 62.50 52.50 357.50 0.126726 - 62.50 57.50 2.50 0.166468 - 62.50 57.50 7.50 0.282124 - 62.50 57.50 12.50 0.416985 - 62.50 57.50 17.50 0.501211 - 62.50 57.50 22.50 0.480917 - 62.50 57.50 27.50 0.390909 - 62.50 57.50 32.50 0.256927 - 62.50 57.50 37.50 0.127541 - 62.50 57.50 42.50 0.0640046 - 62.50 57.50 47.50 0.0595861 - 62.50 57.50 52.50 0.0886562 - 62.50 57.50 57.50 0.157626 - 62.50 57.50 62.50 0.190217 - 62.50 57.50 67.50 0.196481 - 62.50 57.50 72.50 0.20326 - 62.50 57.50 77.50 0.168414 - 62.50 57.50 82.50 0.105927 - 62.50 57.50 87.50 0.0894974 - 62.50 57.50 92.50 0.166468 - 62.50 57.50 97.50 0.282124 - 62.50 57.50 102.50 0.416985 - 62.50 57.50 107.50 0.501211 - 62.50 57.50 112.50 0.480916 - 62.50 57.50 117.50 0.390909 - 62.50 57.50 122.50 0.256927 - 62.50 57.50 127.50 0.127541 - 62.50 57.50 132.50 0.0640046 - 62.50 57.50 137.50 0.0595862 - 62.50 57.50 142.50 0.0886562 - 62.50 57.50 147.50 0.157626 - 62.50 57.50 152.50 0.190217 - 62.50 57.50 157.50 0.196481 - 62.50 57.50 162.50 0.20326 - 62.50 57.50 167.50 0.168414 - 62.50 57.50 172.50 0.105927 - 62.50 57.50 177.50 0.0894974 - 62.50 57.50 182.50 0.166468 - 62.50 57.50 187.50 0.282124 - 62.50 57.50 192.50 0.416985 - 62.50 57.50 197.50 0.501211 - 62.50 57.50 202.50 0.480916 - 62.50 57.50 207.50 0.390909 - 62.50 57.50 212.50 0.256927 - 62.50 57.50 217.50 0.127541 - 62.50 57.50 222.50 0.0640047 - 62.50 57.50 227.50 0.0595861 - 62.50 57.50 232.50 0.0886563 - 62.50 57.50 237.50 0.157626 - 62.50 57.50 242.50 0.190217 - 62.50 57.50 247.50 0.196481 - 62.50 57.50 252.50 0.20326 - 62.50 57.50 257.50 0.168414 - 62.50 57.50 262.50 0.105927 - 62.50 57.50 267.50 0.0894975 - 62.50 57.50 272.50 0.166468 - 62.50 57.50 277.50 0.282124 - 62.50 57.50 282.50 0.416985 - 62.50 57.50 287.50 0.501211 - 62.50 57.50 292.50 0.480916 - 62.50 57.50 297.50 0.390909 - 62.50 57.50 302.50 0.256927 - 62.50 57.50 307.50 0.127541 - 62.50 57.50 312.50 0.0640047 - 62.50 57.50 317.50 0.0595861 - 62.50 57.50 322.50 0.088656 - 62.50 57.50 327.50 0.157626 - 62.50 57.50 332.50 0.190217 - 62.50 57.50 337.50 0.196481 - 62.50 57.50 342.50 0.20326 - 62.50 57.50 347.50 0.168414 - 62.50 57.50 352.50 0.105927 - 62.50 57.50 357.50 0.0894974 - 62.50 62.50 2.50 0.203044 - 62.50 62.50 7.50 0.42458 - 62.50 62.50 12.50 0.677667 - 62.50 62.50 17.50 0.965119 - 62.50 62.50 22.50 1.18301 - 62.50 62.50 27.50 1.13409 - 62.50 62.50 32.50 0.838181 - 62.50 62.50 37.50 0.522351 - 62.50 62.50 42.50 0.28023 - 62.50 62.50 47.50 0.155399 - 62.50 62.50 52.50 0.0894781 - 62.50 62.50 57.50 0.0655194 - 62.50 62.50 62.50 0.0565881 - 62.50 62.50 67.50 0.0420362 - 62.50 62.50 72.50 0.0447733 - 62.50 62.50 77.50 0.0456485 - 62.50 62.50 82.50 0.0515252 - 62.50 62.50 87.50 0.0688334 - 62.50 62.50 92.50 0.203044 - 62.50 62.50 97.50 0.42458 - 62.50 62.50 102.50 0.677667 - 62.50 62.50 107.50 0.965118 - 62.50 62.50 112.50 1.183 - 62.50 62.50 117.50 1.13409 - 62.50 62.50 122.50 0.838181 - 62.50 62.50 127.50 0.52235 - 62.50 62.50 132.50 0.28023 - 62.50 62.50 137.50 0.155399 - 62.50 62.50 142.50 0.089478 - 62.50 62.50 147.50 0.0655195 - 62.50 62.50 152.50 0.0565881 - 62.50 62.50 157.50 0.0420362 - 62.50 62.50 162.50 0.0447733 - 62.50 62.50 167.50 0.0456485 - 62.50 62.50 172.50 0.0515252 - 62.50 62.50 177.50 0.0688334 - 62.50 62.50 182.50 0.203044 - 62.50 62.50 187.50 0.42458 - 62.50 62.50 192.50 0.677667 - 62.50 62.50 197.50 0.965119 - 62.50 62.50 202.50 1.18301 - 62.50 62.50 207.50 1.13409 - 62.50 62.50 212.50 0.838181 - 62.50 62.50 217.50 0.52235 - 62.50 62.50 222.50 0.28023 - 62.50 62.50 227.50 0.155399 - 62.50 62.50 232.50 0.0894779 - 62.50 62.50 237.50 0.0655195 - 62.50 62.50 242.50 0.0565881 - 62.50 62.50 247.50 0.0420362 - 62.50 62.50 252.50 0.0447734 - 62.50 62.50 257.50 0.0456484 - 62.50 62.50 262.50 0.0515252 - 62.50 62.50 267.50 0.0688335 - 62.50 62.50 272.50 0.203044 - 62.50 62.50 277.50 0.42458 - 62.50 62.50 282.50 0.677668 - 62.50 62.50 287.50 0.965119 - 62.50 62.50 292.50 1.18301 - 62.50 62.50 297.50 1.13409 - 62.50 62.50 302.50 0.838181 - 62.50 62.50 307.50 0.522351 - 62.50 62.50 312.50 0.28023 - 62.50 62.50 317.50 0.155399 - 62.50 62.50 322.50 0.0894781 - 62.50 62.50 327.50 0.0655195 - 62.50 62.50 332.50 0.0565881 - 62.50 62.50 337.50 0.0420362 - 62.50 62.50 342.50 0.0447733 - 62.50 62.50 347.50 0.0456485 - 62.50 62.50 352.50 0.0515252 - 62.50 62.50 357.50 0.0688332 - 62.50 67.50 2.50 0.190178 - 62.50 67.50 7.50 0.465324 - 62.50 67.50 12.50 0.910029 - 62.50 67.50 17.50 1.58637 - 62.50 67.50 22.50 2.27394 - 62.50 67.50 27.50 2.44076 - 62.50 67.50 32.50 2.12949 - 62.50 67.50 37.50 1.49583 - 62.50 67.50 42.50 0.88657 - 62.50 67.50 47.50 0.475488 - 62.50 67.50 52.50 0.221956 - 62.50 67.50 57.50 0.082232 - 62.50 67.50 62.50 0.0260756 - 62.50 67.50 67.50 0.0110516 - 62.50 67.50 72.50 0.00846299 - 62.50 67.50 77.50 0.0115946 - 62.50 67.50 82.50 0.0257392 - 62.50 67.50 87.50 0.056013 - 62.50 67.50 92.50 0.190178 - 62.50 67.50 97.50 0.465324 - 62.50 67.50 102.50 0.910028 - 62.50 67.50 107.50 1.58637 - 62.50 67.50 112.50 2.27394 - 62.50 67.50 117.50 2.44076 - 62.50 67.50 122.50 2.12949 - 62.50 67.50 127.50 1.49583 - 62.50 67.50 132.50 0.886569 - 62.50 67.50 137.50 0.475488 - 62.50 67.50 142.50 0.221956 - 62.50 67.50 147.50 0.082232 - 62.50 67.50 152.50 0.0260756 - 62.50 67.50 157.50 0.0110516 - 62.50 67.50 162.50 0.008463 - 62.50 67.50 167.50 0.0115945 - 62.50 67.50 172.50 0.0257392 - 62.50 67.50 177.50 0.056013 - 62.50 67.50 182.50 0.190178 - 62.50 67.50 187.50 0.465324 - 62.50 67.50 192.50 0.910028 - 62.50 67.50 197.50 1.58637 - 62.50 67.50 202.50 2.27394 - 62.50 67.50 207.50 2.44076 - 62.50 67.50 212.50 2.12949 - 62.50 67.50 217.50 1.49584 - 62.50 67.50 222.50 0.886569 - 62.50 67.50 227.50 0.475488 - 62.50 67.50 232.50 0.221956 - 62.50 67.50 237.50 0.0822318 - 62.50 67.50 242.50 0.0260755 - 62.50 67.50 247.50 0.0110516 - 62.50 67.50 252.50 0.008463 - 62.50 67.50 257.50 0.0115946 - 62.50 67.50 262.50 0.0257392 - 62.50 67.50 267.50 0.0560131 - 62.50 67.50 272.50 0.190178 - 62.50 67.50 277.50 0.465324 - 62.50 67.50 282.50 0.910028 - 62.50 67.50 287.50 1.58637 - 62.50 67.50 292.50 2.27394 - 62.50 67.50 297.50 2.44076 - 62.50 67.50 302.50 2.12949 - 62.50 67.50 307.50 1.49584 - 62.50 67.50 312.50 0.88657 - 62.50 67.50 317.50 0.475489 - 62.50 67.50 322.50 0.221956 - 62.50 67.50 327.50 0.0822321 - 62.50 67.50 332.50 0.0260756 - 62.50 67.50 337.50 0.0110517 - 62.50 67.50 342.50 0.008463 - 62.50 67.50 347.50 0.0115946 - 62.50 67.50 352.50 0.0257392 - 62.50 67.50 357.50 0.0560128 - 62.50 72.50 2.50 0.169877 - 62.50 72.50 7.50 0.463054 - 62.50 72.50 12.50 1.07024 - 62.50 72.50 17.50 2.1739 - 62.50 72.50 22.50 3.37377 - 62.50 72.50 27.50 3.98582 - 62.50 72.50 32.50 3.86124 - 62.50 72.50 37.50 3.05458 - 62.50 72.50 42.50 2.00377 - 62.50 72.50 47.50 1.12428 - 62.50 72.50 52.50 0.55326 - 62.50 72.50 57.50 0.21729 - 62.50 72.50 62.50 0.0668128 - 62.50 72.50 67.50 0.0186984 - 62.50 72.50 72.50 0.00838353 - 62.50 72.50 77.50 0.0103041 - 62.50 72.50 82.50 0.030064 - 62.50 72.50 87.50 0.057594 - 62.50 72.50 92.50 0.169877 - 62.50 72.50 97.50 0.463054 - 62.50 72.50 102.50 1.07024 - 62.50 72.50 107.50 2.1739 - 62.50 72.50 112.50 3.37378 - 62.50 72.50 117.50 3.98582 - 62.50 72.50 122.50 3.86124 - 62.50 72.50 127.50 3.05458 - 62.50 72.50 132.50 2.00377 - 62.50 72.50 137.50 1.12428 - 62.50 72.50 142.50 0.55326 - 62.50 72.50 147.50 0.21729 - 62.50 72.50 152.50 0.0668129 - 62.50 72.50 157.50 0.0186984 - 62.50 72.50 162.50 0.00838355 - 62.50 72.50 167.50 0.0103041 - 62.50 72.50 172.50 0.030064 - 62.50 72.50 177.50 0.057594 - 62.50 72.50 182.50 0.169877 - 62.50 72.50 187.50 0.463054 - 62.50 72.50 192.50 1.07024 - 62.50 72.50 197.50 2.1739 - 62.50 72.50 202.50 3.37377 - 62.50 72.50 207.50 3.98582 - 62.50 72.50 212.50 3.86124 - 62.50 72.50 217.50 3.05459 - 62.50 72.50 222.50 2.00377 - 62.50 72.50 227.50 1.12428 - 62.50 72.50 232.50 0.553259 - 62.50 72.50 237.50 0.217289 - 62.50 72.50 242.50 0.0668126 - 62.50 72.50 247.50 0.0186984 - 62.50 72.50 252.50 0.00838354 - 62.50 72.50 257.50 0.0103041 - 62.50 72.50 262.50 0.030064 - 62.50 72.50 267.50 0.057594 - 62.50 72.50 272.50 0.169877 - 62.50 72.50 277.50 0.463054 - 62.50 72.50 282.50 1.07024 - 62.50 72.50 287.50 2.1739 - 62.50 72.50 292.50 3.37377 - 62.50 72.50 297.50 3.98582 - 62.50 72.50 302.50 3.86124 - 62.50 72.50 307.50 3.05459 - 62.50 72.50 312.50 2.00377 - 62.50 72.50 317.50 1.12428 - 62.50 72.50 322.50 0.553261 - 62.50 72.50 327.50 0.217291 - 62.50 72.50 332.50 0.0668131 - 62.50 72.50 337.50 0.0186985 - 62.50 72.50 342.50 0.00838355 - 62.50 72.50 347.50 0.0103041 - 62.50 72.50 352.50 0.0300639 - 62.50 72.50 357.50 0.0575939 - 62.50 77.50 2.50 0.171122 - 62.50 77.50 7.50 0.493225 - 62.50 77.50 12.50 1.13006 - 62.50 77.50 17.50 2.51475 - 62.50 77.50 22.50 3.89293 - 62.50 77.50 27.50 4.90335 - 62.50 77.50 32.50 5.15482 - 62.50 77.50 37.50 4.56822 - 62.50 77.50 42.50 3.52152 - 62.50 77.50 47.50 2.30669 - 62.50 77.50 52.50 1.31234 - 62.50 77.50 57.50 0.595199 - 62.50 77.50 62.50 0.216412 - 62.50 77.50 67.50 0.0736006 - 62.50 77.50 72.50 0.027006 - 62.50 77.50 77.50 0.0183206 - 62.50 77.50 82.50 0.0269088 - 62.50 77.50 87.50 0.0662872 - 62.50 77.50 92.50 0.171122 - 62.50 77.50 97.50 0.493225 - 62.50 77.50 102.50 1.13006 - 62.50 77.50 107.50 2.51475 - 62.50 77.50 112.50 3.89293 - 62.50 77.50 117.50 4.90335 - 62.50 77.50 122.50 5.15482 - 62.50 77.50 127.50 4.56822 - 62.50 77.50 132.50 3.52152 - 62.50 77.50 137.50 2.30669 - 62.50 77.50 142.50 1.31234 - 62.50 77.50 147.50 0.595199 - 62.50 77.50 152.50 0.216412 - 62.50 77.50 157.50 0.0736007 - 62.50 77.50 162.50 0.027006 - 62.50 77.50 167.50 0.0183206 - 62.50 77.50 172.50 0.0269088 - 62.50 77.50 177.50 0.0662871 - 62.50 77.50 182.50 0.171122 - 62.50 77.50 187.50 0.493225 - 62.50 77.50 192.50 1.13006 - 62.50 77.50 197.50 2.51475 - 62.50 77.50 202.50 3.89293 - 62.50 77.50 207.50 4.90335 - 62.50 77.50 212.50 5.15482 - 62.50 77.50 217.50 4.56822 - 62.50 77.50 222.50 3.52153 - 62.50 77.50 227.50 2.30669 - 62.50 77.50 232.50 1.31234 - 62.50 77.50 237.50 0.595197 - 62.50 77.50 242.50 0.216412 - 62.50 77.50 247.50 0.0736005 - 62.50 77.50 252.50 0.0270059 - 62.50 77.50 257.50 0.0183206 - 62.50 77.50 262.50 0.0269089 - 62.50 77.50 267.50 0.0662872 - 62.50 77.50 272.50 0.171122 - 62.50 77.50 277.50 0.493225 - 62.50 77.50 282.50 1.13006 - 62.50 77.50 287.50 2.51475 - 62.50 77.50 292.50 3.89293 - 62.50 77.50 297.50 4.90335 - 62.50 77.50 302.50 5.15482 - 62.50 77.50 307.50 4.56822 - 62.50 77.50 312.50 3.52152 - 62.50 77.50 317.50 2.30669 - 62.50 77.50 322.50 1.31234 - 62.50 77.50 327.50 0.5952 - 62.50 77.50 332.50 0.216413 - 62.50 77.50 337.50 0.0736009 - 62.50 77.50 342.50 0.0270061 - 62.50 77.50 347.50 0.0183206 - 62.50 77.50 352.50 0.0269088 - 62.50 77.50 357.50 0.0662871 - 62.50 82.50 2.50 0.149325 - 62.50 82.50 7.50 0.418658 - 62.50 82.50 12.50 1.11089 - 62.50 82.50 17.50 2.12384 - 62.50 82.50 22.50 3.50104 - 62.50 82.50 27.50 4.76068 - 62.50 82.50 32.50 5.45857 - 62.50 82.50 37.50 5.48122 - 62.50 82.50 42.50 4.83852 - 62.50 82.50 47.50 3.77641 - 62.50 82.50 52.50 2.5312 - 62.50 82.50 57.50 1.35331 - 62.50 82.50 62.50 0.614664 - 62.50 82.50 67.50 0.262381 - 62.50 82.50 72.50 0.108086 - 62.50 82.50 77.50 0.0426135 - 62.50 82.50 82.50 0.0285829 - 62.50 82.50 87.50 0.0612251 - 62.50 82.50 92.50 0.149325 - 62.50 82.50 97.50 0.418658 - 62.50 82.50 102.50 1.11089 - 62.50 82.50 107.50 2.12384 - 62.50 82.50 112.50 3.50104 - 62.50 82.50 117.50 4.76068 - 62.50 82.50 122.50 5.45857 - 62.50 82.50 127.50 5.48122 - 62.50 82.50 132.50 4.83852 - 62.50 82.50 137.50 3.77641 - 62.50 82.50 142.50 2.5312 - 62.50 82.50 147.50 1.35331 - 62.50 82.50 152.50 0.614665 - 62.50 82.50 157.50 0.262382 - 62.50 82.50 162.50 0.108087 - 62.50 82.50 167.50 0.0426136 - 62.50 82.50 172.50 0.0285829 - 62.50 82.50 177.50 0.061225 - 62.50 82.50 182.50 0.149325 - 62.50 82.50 187.50 0.418658 - 62.50 82.50 192.50 1.11089 - 62.50 82.50 197.50 2.12384 - 62.50 82.50 202.50 3.50104 - 62.50 82.50 207.50 4.76068 - 62.50 82.50 212.50 5.45857 - 62.50 82.50 217.50 5.48122 - 62.50 82.50 222.50 4.83852 - 62.50 82.50 227.50 3.77641 - 62.50 82.50 232.50 2.53119 - 62.50 82.50 237.50 1.35331 - 62.50 82.50 242.50 0.614664 - 62.50 82.50 247.50 0.262381 - 62.50 82.50 252.50 0.108086 - 62.50 82.50 257.50 0.0426135 - 62.50 82.50 262.50 0.0285829 - 62.50 82.50 267.50 0.0612252 - 62.50 82.50 272.50 0.149325 - 62.50 82.50 277.50 0.418658 - 62.50 82.50 282.50 1.11089 - 62.50 82.50 287.50 2.12384 - 62.50 82.50 292.50 3.50104 - 62.50 82.50 297.50 4.76068 - 62.50 82.50 302.50 5.45857 - 62.50 82.50 307.50 5.48122 - 62.50 82.50 312.50 4.83852 - 62.50 82.50 317.50 3.77642 - 62.50 82.50 322.50 2.5312 - 62.50 82.50 327.50 1.35331 - 62.50 82.50 332.50 0.614667 - 62.50 82.50 337.50 0.262382 - 62.50 82.50 342.50 0.108087 - 62.50 82.50 347.50 0.0426136 - 62.50 82.50 352.50 0.0285829 - 62.50 82.50 357.50 0.0612249 - 62.50 87.50 2.50 0.0922624 - 62.50 87.50 7.50 0.284104 - 62.50 87.50 12.50 0.63945 - 62.50 87.50 17.50 1.33111 - 62.50 87.50 22.50 2.36076 - 62.50 87.50 27.50 3.66284 - 62.50 87.50 32.50 4.79273 - 62.50 87.50 37.50 5.39129 - 62.50 87.50 42.50 5.33498 - 62.50 87.50 47.50 4.72843 - 62.50 87.50 52.50 3.68775 - 62.50 87.50 57.50 2.47252 - 62.50 87.50 62.50 1.45795 - 62.50 87.50 67.50 0.788257 - 62.50 87.50 72.50 0.379433 - 62.50 87.50 77.50 0.158184 - 62.50 87.50 82.50 0.0662697 - 62.50 87.50 87.50 0.045081 - 62.50 87.50 92.50 0.0922625 - 62.50 87.50 97.50 0.284104 - 62.50 87.50 102.50 0.639451 - 62.50 87.50 107.50 1.33111 - 62.50 87.50 112.50 2.36076 - 62.50 87.50 117.50 3.66284 - 62.50 87.50 122.50 4.79274 - 62.50 87.50 127.50 5.39129 - 62.50 87.50 132.50 5.33498 - 62.50 87.50 137.50 4.72842 - 62.50 87.50 142.50 3.68775 - 62.50 87.50 147.50 2.47252 - 62.50 87.50 152.50 1.45795 - 62.50 87.50 157.50 0.788258 - 62.50 87.50 162.50 0.379433 - 62.50 87.50 167.50 0.158184 - 62.50 87.50 172.50 0.0662698 - 62.50 87.50 177.50 0.0450811 - 62.50 87.50 182.50 0.0922626 - 62.50 87.50 187.50 0.284104 - 62.50 87.50 192.50 0.639451 - 62.50 87.50 197.50 1.33111 - 62.50 87.50 202.50 2.36076 - 62.50 87.50 207.50 3.66283 - 62.50 87.50 212.50 4.79274 - 62.50 87.50 217.50 5.39129 - 62.50 87.50 222.50 5.33499 - 62.50 87.50 227.50 4.72842 - 62.50 87.50 232.50 3.68775 - 62.50 87.50 237.50 2.47252 - 62.50 87.50 242.50 1.45795 - 62.50 87.50 247.50 0.788257 - 62.50 87.50 252.50 0.379433 - 62.50 87.50 257.50 0.158184 - 62.50 87.50 262.50 0.0662697 - 62.50 87.50 267.50 0.045081 - 62.50 87.50 272.50 0.0922625 - 62.50 87.50 277.50 0.284104 - 62.50 87.50 282.50 0.639451 - 62.50 87.50 287.50 1.33111 - 62.50 87.50 292.50 2.36076 - 62.50 87.50 297.50 3.66283 - 62.50 87.50 302.50 4.79273 - 62.50 87.50 307.50 5.39129 - 62.50 87.50 312.50 5.33498 - 62.50 87.50 317.50 4.72843 - 62.50 87.50 322.50 3.68775 - 62.50 87.50 327.50 2.47253 - 62.50 87.50 332.50 1.45795 - 62.50 87.50 337.50 0.788259 - 62.50 87.50 342.50 0.379434 - 62.50 87.50 347.50 0.158184 - 62.50 87.50 352.50 0.0662699 - 62.50 87.50 357.50 0.045081 - 62.50 92.50 2.50 0.0601603 - 62.50 92.50 7.50 0.100121 - 62.50 92.50 12.50 0.23184 - 62.50 92.50 17.50 0.522419 - 62.50 92.50 22.50 1.09345 - 62.50 92.50 27.50 1.96803 - 62.50 92.50 32.50 2.99998 - 62.50 92.50 37.50 3.97879 - 62.50 92.50 42.50 4.69043 - 62.50 92.50 47.50 4.95231 - 62.50 92.50 52.50 4.69043 - 62.50 92.50 57.50 3.97879 - 62.50 92.50 62.50 2.99998 - 62.50 92.50 67.50 1.96803 - 62.50 92.50 72.50 1.09345 - 62.50 92.50 77.50 0.522419 - 62.50 92.50 82.50 0.23184 - 62.50 92.50 87.50 0.100121 - 62.50 92.50 92.50 0.0601603 - 62.50 92.50 97.50 0.100121 - 62.50 92.50 102.50 0.23184 - 62.50 92.50 107.50 0.522419 - 62.50 92.50 112.50 1.09345 - 62.50 92.50 117.50 1.96804 - 62.50 92.50 122.50 2.99998 - 62.50 92.50 127.50 3.97879 - 62.50 92.50 132.50 4.69043 - 62.50 92.50 137.50 4.95231 - 62.50 92.50 142.50 4.69043 - 62.50 92.50 147.50 3.97879 - 62.50 92.50 152.50 2.99998 - 62.50 92.50 157.50 1.96804 - 62.50 92.50 162.50 1.09345 - 62.50 92.50 167.50 0.52242 - 62.50 92.50 172.50 0.231841 - 62.50 92.50 177.50 0.100122 - 62.50 92.50 182.50 0.0601603 - 62.50 92.50 187.50 0.100121 - 62.50 92.50 192.50 0.23184 - 62.50 92.50 197.50 0.522419 - 62.50 92.50 202.50 1.09345 - 62.50 92.50 207.50 1.96803 - 62.50 92.50 212.50 2.99998 - 62.50 92.50 217.50 3.97879 - 62.50 92.50 222.50 4.69043 - 62.50 92.50 227.50 4.95231 - 62.50 92.50 232.50 4.69043 - 62.50 92.50 237.50 3.97878 - 62.50 92.50 242.50 2.99998 - 62.50 92.50 247.50 1.96803 - 62.50 92.50 252.50 1.09344 - 62.50 92.50 257.50 0.522419 - 62.50 92.50 262.50 0.23184 - 62.50 92.50 267.50 0.100121 - 62.50 92.50 272.50 0.0601603 - 62.50 92.50 277.50 0.100121 - 62.50 92.50 282.50 0.23184 - 62.50 92.50 287.50 0.522419 - 62.50 92.50 292.50 1.09345 - 62.50 92.50 297.50 1.96803 - 62.50 92.50 302.50 2.99998 - 62.50 92.50 307.50 3.97879 - 62.50 92.50 312.50 4.69043 - 62.50 92.50 317.50 4.95231 - 62.50 92.50 322.50 4.69043 - 62.50 92.50 327.50 3.97879 - 62.50 92.50 332.50 2.99999 - 62.50 92.50 337.50 1.96804 - 62.50 92.50 342.50 1.09345 - 62.50 92.50 347.50 0.522421 - 62.50 92.50 352.50 0.231841 - 62.50 92.50 357.50 0.100122 - 62.50 97.50 2.50 0.0922626 - 62.50 97.50 7.50 0.045081 - 62.50 97.50 12.50 0.0662697 - 62.50 97.50 17.50 0.158184 - 62.50 97.50 22.50 0.379433 - 62.50 97.50 27.50 0.788258 - 62.50 97.50 32.50 1.45795 - 62.50 97.50 37.50 2.47252 - 62.50 97.50 42.50 3.68775 - 62.50 97.50 47.50 4.72843 - 62.50 97.50 52.50 5.33498 - 62.50 97.50 57.50 5.39129 - 62.50 97.50 62.50 4.79273 - 62.50 97.50 67.50 3.66283 - 62.50 97.50 72.50 2.36076 - 62.50 97.50 77.50 1.33111 - 62.50 97.50 82.50 0.63945 - 62.50 97.50 87.50 0.284103 - 62.50 97.50 92.50 0.0922625 - 62.50 97.50 97.50 0.045081 - 62.50 97.50 102.50 0.0662698 - 62.50 97.50 107.50 0.158184 - 62.50 97.50 112.50 0.379433 - 62.50 97.50 117.50 0.788259 - 62.50 97.50 122.50 1.45795 - 62.50 97.50 127.50 2.47252 - 62.50 97.50 132.50 3.68775 - 62.50 97.50 137.50 4.72843 - 62.50 97.50 142.50 5.33499 - 62.50 97.50 147.50 5.39129 - 62.50 97.50 152.50 4.79273 - 62.50 97.50 157.50 3.66283 - 62.50 97.50 162.50 2.36076 - 62.50 97.50 167.50 1.33111 - 62.50 97.50 172.50 0.639451 - 62.50 97.50 177.50 0.284104 - 62.50 97.50 182.50 0.0922625 - 62.50 97.50 187.50 0.045081 - 62.50 97.50 192.50 0.0662698 - 62.50 97.50 197.50 0.158184 - 62.50 97.50 202.50 0.379433 - 62.50 97.50 207.50 0.788259 - 62.50 97.50 212.50 1.45795 - 62.50 97.50 217.50 2.47252 - 62.50 97.50 222.50 3.68775 - 62.50 97.50 227.50 4.72843 - 62.50 97.50 232.50 5.33499 - 62.50 97.50 237.50 5.39129 - 62.50 97.50 242.50 4.79273 - 62.50 97.50 247.50 3.66283 - 62.50 97.50 252.50 2.36076 - 62.50 97.50 257.50 1.33111 - 62.50 97.50 262.50 0.63945 - 62.50 97.50 267.50 0.284103 - 62.50 97.50 272.50 0.0922625 - 62.50 97.50 277.50 0.045081 - 62.50 97.50 282.50 0.0662697 - 62.50 97.50 287.50 0.158184 - 62.50 97.50 292.50 0.379433 - 62.50 97.50 297.50 0.788258 - 62.50 97.50 302.50 1.45795 - 62.50 97.50 307.50 2.47252 - 62.50 97.50 312.50 3.68775 - 62.50 97.50 317.50 4.72842 - 62.50 97.50 322.50 5.33498 - 62.50 97.50 327.50 5.39129 - 62.50 97.50 332.50 4.79274 - 62.50 97.50 337.50 3.66284 - 62.50 97.50 342.50 2.36077 - 62.50 97.50 347.50 1.33111 - 62.50 97.50 352.50 0.639452 - 62.50 97.50 357.50 0.284104 - 62.50 102.50 2.50 0.149325 - 62.50 102.50 7.50 0.061225 - 62.50 102.50 12.50 0.0285829 - 62.50 102.50 17.50 0.0426135 - 62.50 102.50 22.50 0.108086 - 62.50 102.50 27.50 0.262382 - 62.50 102.50 32.50 0.614665 - 62.50 102.50 37.50 1.35331 - 62.50 102.50 42.50 2.5312 - 62.50 102.50 47.50 3.77641 - 62.50 102.50 52.50 4.83853 - 62.50 102.50 57.50 5.48122 - 62.50 102.50 62.50 5.45857 - 62.50 102.50 67.50 4.76068 - 62.50 102.50 72.50 3.50104 - 62.50 102.50 77.50 2.12384 - 62.50 102.50 82.50 1.11089 - 62.50 102.50 87.50 0.418658 - 62.50 102.50 92.50 0.149325 - 62.50 102.50 97.50 0.061225 - 62.50 102.50 102.50 0.0285829 - 62.50 102.50 107.50 0.0426135 - 62.50 102.50 112.50 0.108087 - 62.50 102.50 117.50 0.262382 - 62.50 102.50 122.50 0.614666 - 62.50 102.50 127.50 1.35331 - 62.50 102.50 132.50 2.5312 - 62.50 102.50 137.50 3.77641 - 62.50 102.50 142.50 4.83853 - 62.50 102.50 147.50 5.48122 - 62.50 102.50 152.50 5.45857 - 62.50 102.50 157.50 4.76068 - 62.50 102.50 162.50 3.50104 - 62.50 102.50 167.50 2.12384 - 62.50 102.50 172.50 1.11089 - 62.50 102.50 177.50 0.418658 - 62.50 102.50 182.50 0.149325 - 62.50 102.50 187.50 0.061225 - 62.50 102.50 192.50 0.0285829 - 62.50 102.50 197.50 0.0426136 - 62.50 102.50 202.50 0.108087 - 62.50 102.50 207.50 0.262382 - 62.50 102.50 212.50 0.614666 - 62.50 102.50 217.50 1.35331 - 62.50 102.50 222.50 2.5312 - 62.50 102.50 227.50 3.77641 - 62.50 102.50 232.50 4.83853 - 62.50 102.50 237.50 5.48122 - 62.50 102.50 242.50 5.45857 - 62.50 102.50 247.50 4.76068 - 62.50 102.50 252.50 3.50104 - 62.50 102.50 257.50 2.12383 - 62.50 102.50 262.50 1.11089 - 62.50 102.50 267.50 0.418657 - 62.50 102.50 272.50 0.149325 - 62.50 102.50 277.50 0.0612251 - 62.50 102.50 282.50 0.0285829 - 62.50 102.50 287.50 0.0426135 - 62.50 102.50 292.50 0.108086 - 62.50 102.50 297.50 0.262381 - 62.50 102.50 302.50 0.614664 - 62.50 102.50 307.50 1.35331 - 62.50 102.50 312.50 2.5312 - 62.50 102.50 317.50 3.77641 - 62.50 102.50 322.50 4.83852 - 62.50 102.50 327.50 5.48122 - 62.50 102.50 332.50 5.45858 - 62.50 102.50 337.50 4.76069 - 62.50 102.50 342.50 3.50104 - 62.50 102.50 347.50 2.12384 - 62.50 102.50 352.50 1.11089 - 62.50 102.50 357.50 0.418659 - 62.50 107.50 2.50 0.171122 - 62.50 107.50 7.50 0.0662872 - 62.50 107.50 12.50 0.0269088 - 62.50 107.50 17.50 0.0183206 - 62.50 107.50 22.50 0.027006 - 62.50 107.50 27.50 0.0736007 - 62.50 107.50 32.50 0.216412 - 62.50 107.50 37.50 0.595199 - 62.50 107.50 42.50 1.31234 - 62.50 107.50 47.50 2.30669 - 62.50 107.50 52.50 3.52152 - 62.50 107.50 57.50 4.56822 - 62.50 107.50 62.50 5.15482 - 62.50 107.50 67.50 4.90335 - 62.50 107.50 72.50 3.89293 - 62.50 107.50 77.50 2.51475 - 62.50 107.50 82.50 1.13006 - 62.50 107.50 87.50 0.493225 - 62.50 107.50 92.50 0.171122 - 62.50 107.50 97.50 0.0662872 - 62.50 107.50 102.50 0.0269088 - 62.50 107.50 107.50 0.0183206 - 62.50 107.50 112.50 0.027006 - 62.50 107.50 117.50 0.0736009 - 62.50 107.50 122.50 0.216413 - 62.50 107.50 127.50 0.5952 - 62.50 107.50 132.50 1.31234 - 62.50 107.50 137.50 2.3067 - 62.50 107.50 142.50 3.52153 - 62.50 107.50 147.50 4.56822 - 62.50 107.50 152.50 5.15482 - 62.50 107.50 157.50 4.90335 - 62.50 107.50 162.50 3.89293 - 62.50 107.50 167.50 2.51475 - 62.50 107.50 172.50 1.13006 - 62.50 107.50 177.50 0.493225 - 62.50 107.50 182.50 0.171122 - 62.50 107.50 187.50 0.0662872 - 62.50 107.50 192.50 0.0269088 - 62.50 107.50 197.50 0.0183206 - 62.50 107.50 202.50 0.027006 - 62.50 107.50 207.50 0.0736008 - 62.50 107.50 212.50 0.216412 - 62.50 107.50 217.50 0.595199 - 62.50 107.50 222.50 1.31234 - 62.50 107.50 227.50 2.30669 - 62.50 107.50 232.50 3.52153 - 62.50 107.50 237.50 4.56822 - 62.50 107.50 242.50 5.15482 - 62.50 107.50 247.50 4.90335 - 62.50 107.50 252.50 3.89293 - 62.50 107.50 257.50 2.51475 - 62.50 107.50 262.50 1.13005 - 62.50 107.50 267.50 0.493224 - 62.50 107.50 272.50 0.171122 - 62.50 107.50 277.50 0.0662872 - 62.50 107.50 282.50 0.0269088 - 62.50 107.50 287.50 0.0183206 - 62.50 107.50 292.50 0.027006 - 62.50 107.50 297.50 0.0736006 - 62.50 107.50 302.50 0.216412 - 62.50 107.50 307.50 0.595198 - 62.50 107.50 312.50 1.31234 - 62.50 107.50 317.50 2.30669 - 62.50 107.50 322.50 3.52152 - 62.50 107.50 327.50 4.56822 - 62.50 107.50 332.50 5.15482 - 62.50 107.50 337.50 4.90335 - 62.50 107.50 342.50 3.89294 - 62.50 107.50 347.50 2.51476 - 62.50 107.50 352.50 1.13006 - 62.50 107.50 357.50 0.493226 - 62.50 112.50 2.50 0.169877 - 62.50 112.50 7.50 0.057594 - 62.50 112.50 12.50 0.030064 - 62.50 112.50 17.50 0.0103041 - 62.50 112.50 22.50 0.00838352 - 62.50 112.50 27.50 0.0186984 - 62.50 112.50 32.50 0.0668128 - 62.50 112.50 37.50 0.21729 - 62.50 112.50 42.50 0.55326 - 62.50 112.50 47.50 1.12428 - 62.50 112.50 52.50 2.00377 - 62.50 112.50 57.50 3.05459 - 62.50 112.50 62.50 3.86124 - 62.50 112.50 67.50 3.98582 - 62.50 112.50 72.50 3.37377 - 62.50 112.50 77.50 2.1739 - 62.50 112.50 82.50 1.07024 - 62.50 112.50 87.50 0.463053 - 62.50 112.50 92.50 0.169877 - 62.50 112.50 97.50 0.057594 - 62.50 112.50 102.50 0.030064 - 62.50 112.50 107.50 0.0103041 - 62.50 112.50 112.50 0.00838353 - 62.50 112.50 117.50 0.0186984 - 62.50 112.50 122.50 0.066813 - 62.50 112.50 127.50 0.217291 - 62.50 112.50 132.50 0.553261 - 62.50 112.50 137.50 1.12428 - 62.50 112.50 142.50 2.00377 - 62.50 112.50 147.50 3.05459 - 62.50 112.50 152.50 3.86124 - 62.50 112.50 157.50 3.98582 - 62.50 112.50 162.50 3.37378 - 62.50 112.50 167.50 2.1739 - 62.50 112.50 172.50 1.07024 - 62.50 112.50 177.50 0.463054 - 62.50 112.50 182.50 0.169877 - 62.50 112.50 187.50 0.057594 - 62.50 112.50 192.50 0.030064 - 62.50 112.50 197.50 0.0103041 - 62.50 112.50 202.50 0.00838354 - 62.50 112.50 207.50 0.0186984 - 62.50 112.50 212.50 0.0668129 - 62.50 112.50 217.50 0.21729 - 62.50 112.50 222.50 0.55326 - 62.50 112.50 227.50 1.12428 - 62.50 112.50 232.50 2.00377 - 62.50 112.50 237.50 3.05459 - 62.50 112.50 242.50 3.86124 - 62.50 112.50 247.50 3.98582 - 62.50 112.50 252.50 3.37377 - 62.50 112.50 257.50 2.1739 - 62.50 112.50 262.50 1.07024 - 62.50 112.50 267.50 0.463053 - 62.50 112.50 272.50 0.169877 - 62.50 112.50 277.50 0.057594 - 62.50 112.50 282.50 0.030064 - 62.50 112.50 287.50 0.0103041 - 62.50 112.50 292.50 0.00838354 - 62.50 112.50 297.50 0.0186984 - 62.50 112.50 302.50 0.0668127 - 62.50 112.50 307.50 0.21729 - 62.50 112.50 312.50 0.55326 - 62.50 112.50 317.50 1.12428 - 62.50 112.50 322.50 2.00376 - 62.50 112.50 327.50 3.05458 - 62.50 112.50 332.50 3.86124 - 62.50 112.50 337.50 3.98582 - 62.50 112.50 342.50 3.37378 - 62.50 112.50 347.50 2.17391 - 62.50 112.50 352.50 1.07024 - 62.50 112.50 357.50 0.463055 - 62.50 117.50 2.50 0.190178 - 62.50 117.50 7.50 0.056013 - 62.50 117.50 12.50 0.0257392 - 62.50 117.50 17.50 0.0115946 - 62.50 117.50 22.50 0.00846301 - 62.50 117.50 27.50 0.0110516 - 62.50 117.50 32.50 0.0260756 - 62.50 117.50 37.50 0.082232 - 62.50 117.50 42.50 0.221956 - 62.50 117.50 47.50 0.475488 - 62.50 117.50 52.50 0.886569 - 62.50 117.50 57.50 1.49583 - 62.50 117.50 62.50 2.12949 - 62.50 117.50 67.50 2.44076 - 62.50 117.50 72.50 2.27394 - 62.50 117.50 77.50 1.58637 - 62.50 117.50 82.50 0.910028 - 62.50 117.50 87.50 0.465323 - 62.50 117.50 92.50 0.190178 - 62.50 117.50 97.50 0.056013 - 62.50 117.50 102.50 0.0257392 - 62.50 117.50 107.50 0.0115946 - 62.50 117.50 112.50 0.00846301 - 62.50 117.50 117.50 0.0110517 - 62.50 117.50 122.50 0.0260756 - 62.50 117.50 127.50 0.0822321 - 62.50 117.50 132.50 0.221956 - 62.50 117.50 137.50 0.475488 - 62.50 117.50 142.50 0.886569 - 62.50 117.50 147.50 1.49583 - 62.50 117.50 152.50 2.12949 - 62.50 117.50 157.50 2.44076 - 62.50 117.50 162.50 2.27394 - 62.50 117.50 167.50 1.58637 - 62.50 117.50 172.50 0.910028 - 62.50 117.50 177.50 0.465324 - 62.50 117.50 182.50 0.190178 - 62.50 117.50 187.50 0.056013 - 62.50 117.50 192.50 0.0257392 - 62.50 117.50 197.50 0.0115946 - 62.50 117.50 202.50 0.008463 - 62.50 117.50 207.50 0.0110516 - 62.50 117.50 212.50 0.0260756 - 62.50 117.50 217.50 0.082232 - 62.50 117.50 222.50 0.221956 - 62.50 117.50 227.50 0.475487 - 62.50 117.50 232.50 0.88657 - 62.50 117.50 237.50 1.49583 - 62.50 117.50 242.50 2.12949 - 62.50 117.50 247.50 2.44076 - 62.50 117.50 252.50 2.27394 - 62.50 117.50 257.50 1.58637 - 62.50 117.50 262.50 0.910027 - 62.50 117.50 267.50 0.465323 - 62.50 117.50 272.50 0.190178 - 62.50 117.50 277.50 0.056013 - 62.50 117.50 282.50 0.0257393 - 62.50 117.50 287.50 0.0115946 - 62.50 117.50 292.50 0.00846301 - 62.50 117.50 297.50 0.0110516 - 62.50 117.50 302.50 0.0260756 - 62.50 117.50 307.50 0.0822319 - 62.50 117.50 312.50 0.221956 - 62.50 117.50 317.50 0.475487 - 62.50 117.50 322.50 0.886567 - 62.50 117.50 327.50 1.49583 - 62.50 117.50 332.50 2.12949 - 62.50 117.50 337.50 2.44076 - 62.50 117.50 342.50 2.27394 - 62.50 117.50 347.50 1.58637 - 62.50 117.50 352.50 0.91003 - 62.50 117.50 357.50 0.465324 - 62.50 122.50 2.50 0.203044 - 62.50 122.50 7.50 0.0688334 - 62.50 122.50 12.50 0.0515253 - 62.50 122.50 17.50 0.0456486 - 62.50 122.50 22.50 0.0447734 - 62.50 122.50 27.50 0.0420363 - 62.50 122.50 32.50 0.0565882 - 62.50 122.50 37.50 0.0655195 - 62.50 122.50 42.50 0.0894779 - 62.50 122.50 47.50 0.155399 - 62.50 122.50 52.50 0.28023 - 62.50 122.50 57.50 0.52235 - 62.50 122.50 62.50 0.83818 - 62.50 122.50 67.50 1.13409 - 62.50 122.50 72.50 1.183 - 62.50 122.50 77.50 0.965119 - 62.50 122.50 82.50 0.677667 - 62.50 122.50 87.50 0.42458 - 62.50 122.50 92.50 0.203044 - 62.50 122.50 97.50 0.0688334 - 62.50 122.50 102.50 0.0515252 - 62.50 122.50 107.50 0.0456486 - 62.50 122.50 112.50 0.0447734 - 62.50 122.50 117.50 0.0420363 - 62.50 122.50 122.50 0.0565881 - 62.50 122.50 127.50 0.0655195 - 62.50 122.50 132.50 0.089478 - 62.50 122.50 137.50 0.155399 - 62.50 122.50 142.50 0.28023 - 62.50 122.50 147.50 0.52235 - 62.50 122.50 152.50 0.838181 - 62.50 122.50 157.50 1.13409 - 62.50 122.50 162.50 1.183 - 62.50 122.50 167.50 0.965119 - 62.50 122.50 172.50 0.677667 - 62.50 122.50 177.50 0.42458 - 62.50 122.50 182.50 0.203044 - 62.50 122.50 187.50 0.0688334 - 62.50 122.50 192.50 0.0515252 - 62.50 122.50 197.50 0.0456486 - 62.50 122.50 202.50 0.0447733 - 62.50 122.50 207.50 0.0420363 - 62.50 122.50 212.50 0.0565882 - 62.50 122.50 217.50 0.0655195 - 62.50 122.50 222.50 0.0894779 - 62.50 122.50 227.50 0.155399 - 62.50 122.50 232.50 0.28023 - 62.50 122.50 237.50 0.522351 - 62.50 122.50 242.50 0.838181 - 62.50 122.50 247.50 1.13409 - 62.50 122.50 252.50 1.183 - 62.50 122.50 257.50 0.965118 - 62.50 122.50 262.50 0.677667 - 62.50 122.50 267.50 0.42458 - 62.50 122.50 272.50 0.203044 - 62.50 122.50 277.50 0.0688334 - 62.50 122.50 282.50 0.0515252 - 62.50 122.50 287.50 0.0456486 - 62.50 122.50 292.50 0.0447734 - 62.50 122.50 297.50 0.0420363 - 62.50 122.50 302.50 0.0565882 - 62.50 122.50 307.50 0.0655195 - 62.50 122.50 312.50 0.0894778 - 62.50 122.50 317.50 0.155399 - 62.50 122.50 322.50 0.280229 - 62.50 122.50 327.50 0.522349 - 62.50 122.50 332.50 0.838179 - 62.50 122.50 337.50 1.13409 - 62.50 122.50 342.50 1.183 - 62.50 122.50 347.50 0.965118 - 62.50 122.50 352.50 0.677668 - 62.50 122.50 357.50 0.424581 - 62.50 127.50 2.50 0.166468 - 62.50 127.50 7.50 0.0894974 - 62.50 127.50 12.50 0.105927 - 62.50 127.50 17.50 0.168414 - 62.50 127.50 22.50 0.20326 - 62.50 127.50 27.50 0.196481 - 62.50 127.50 32.50 0.190218 - 62.50 127.50 37.50 0.157626 - 62.50 127.50 42.50 0.0886561 - 62.50 127.50 47.50 0.0595862 - 62.50 127.50 52.50 0.0640047 - 62.50 127.50 57.50 0.127541 - 62.50 127.50 62.50 0.256927 - 62.50 127.50 67.50 0.390909 - 62.50 127.50 72.50 0.480916 - 62.50 127.50 77.50 0.50121 - 62.50 127.50 82.50 0.416985 - 62.50 127.50 87.50 0.282124 - 62.50 127.50 92.50 0.166468 - 62.50 127.50 97.50 0.0894974 - 62.50 127.50 102.50 0.105927 - 62.50 127.50 107.50 0.168414 - 62.50 127.50 112.50 0.20326 - 62.50 127.50 117.50 0.196481 - 62.50 127.50 122.50 0.190217 - 62.50 127.50 127.50 0.157626 - 62.50 127.50 132.50 0.0886562 - 62.50 127.50 137.50 0.0595862 - 62.50 127.50 142.50 0.0640047 - 62.50 127.50 147.50 0.127541 - 62.50 127.50 152.50 0.256927 - 62.50 127.50 157.50 0.390909 - 62.50 127.50 162.50 0.480916 - 62.50 127.50 167.50 0.501211 - 62.50 127.50 172.50 0.416985 - 62.50 127.50 177.50 0.282124 - 62.50 127.50 182.50 0.166468 - 62.50 127.50 187.50 0.0894973 - 62.50 127.50 192.50 0.105927 - 62.50 127.50 197.50 0.168414 - 62.50 127.50 202.50 0.20326 - 62.50 127.50 207.50 0.19648 - 62.50 127.50 212.50 0.190217 - 62.50 127.50 217.50 0.157626 - 62.50 127.50 222.50 0.0886562 - 62.50 127.50 227.50 0.0595862 - 62.50 127.50 232.50 0.0640047 - 62.50 127.50 237.50 0.127541 - 62.50 127.50 242.50 0.256927 - 62.50 127.50 247.50 0.39091 - 62.50 127.50 252.50 0.480917 - 62.50 127.50 257.50 0.501211 - 62.50 127.50 262.50 0.416985 - 62.50 127.50 267.50 0.282124 - 62.50 127.50 272.50 0.166468 - 62.50 127.50 277.50 0.0894974 - 62.50 127.50 282.50 0.105927 - 62.50 127.50 287.50 0.168414 - 62.50 127.50 292.50 0.20326 - 62.50 127.50 297.50 0.196481 - 62.50 127.50 302.50 0.190217 - 62.50 127.50 307.50 0.157627 - 62.50 127.50 312.50 0.0886562 - 62.50 127.50 317.50 0.0595862 - 62.50 127.50 322.50 0.0640045 - 62.50 127.50 327.50 0.127541 - 62.50 127.50 332.50 0.256927 - 62.50 127.50 337.50 0.390909 - 62.50 127.50 342.50 0.480916 - 62.50 127.50 347.50 0.50121 - 62.50 127.50 352.50 0.416985 - 62.50 127.50 357.50 0.282124 - 62.50 132.50 2.50 0.114674 - 62.50 132.50 7.50 0.126726 - 62.50 132.50 12.50 0.219428 - 62.50 132.50 17.50 0.409275 - 62.50 132.50 22.50 0.652251 - 62.50 132.50 27.50 0.754548 - 62.50 132.50 32.50 0.650903 - 62.50 132.50 37.50 0.477024 - 62.50 132.50 42.50 0.257939 - 62.50 132.50 47.50 0.099001 - 62.50 132.50 52.50 0.0374259 - 62.50 132.50 57.50 0.0325256 - 62.50 132.50 62.50 0.059128 - 62.50 132.50 67.50 0.105614 - 62.50 132.50 72.50 0.169546 - 62.50 132.50 77.50 0.215235 - 62.50 132.50 82.50 0.189686 - 62.50 132.50 87.50 0.133007 - 62.50 132.50 92.50 0.114674 - 62.50 132.50 97.50 0.126726 - 62.50 132.50 102.50 0.219428 - 62.50 132.50 107.50 0.409275 - 62.50 132.50 112.50 0.652251 - 62.50 132.50 117.50 0.754548 - 62.50 132.50 122.50 0.650903 - 62.50 132.50 127.50 0.477024 - 62.50 132.50 132.50 0.257939 - 62.50 132.50 137.50 0.099001 - 62.50 132.50 142.50 0.0374259 - 62.50 132.50 147.50 0.0325256 - 62.50 132.50 152.50 0.0591279 - 62.50 132.50 157.50 0.105614 - 62.50 132.50 162.50 0.169546 - 62.50 132.50 167.50 0.215235 - 62.50 132.50 172.50 0.189686 - 62.50 132.50 177.50 0.133007 - 62.50 132.50 182.50 0.114674 - 62.50 132.50 187.50 0.126726 - 62.50 132.50 192.50 0.219428 - 62.50 132.50 197.50 0.409275 - 62.50 132.50 202.50 0.65225 - 62.50 132.50 207.50 0.754548 - 62.50 132.50 212.50 0.650903 - 62.50 132.50 217.50 0.477024 - 62.50 132.50 222.50 0.257939 - 62.50 132.50 227.50 0.0990011 - 62.50 132.50 232.50 0.0374257 - 62.50 132.50 237.50 0.0325256 - 62.50 132.50 242.50 0.059128 - 62.50 132.50 247.50 0.105614 - 62.50 132.50 252.50 0.169546 - 62.50 132.50 257.50 0.215235 - 62.50 132.50 262.50 0.189686 - 62.50 132.50 267.50 0.133007 - 62.50 132.50 272.50 0.114674 - 62.50 132.50 277.50 0.126726 - 62.50 132.50 282.50 0.219428 - 62.50 132.50 287.50 0.409275 - 62.50 132.50 292.50 0.652251 - 62.50 132.50 297.50 0.754548 - 62.50 132.50 302.50 0.650903 - 62.50 132.50 307.50 0.477024 - 62.50 132.50 312.50 0.257939 - 62.50 132.50 317.50 0.0990011 - 62.50 132.50 322.50 0.0374259 - 62.50 132.50 327.50 0.0325255 - 62.50 132.50 332.50 0.0591279 - 62.50 132.50 337.50 0.105614 - 62.50 132.50 342.50 0.169546 - 62.50 132.50 347.50 0.215235 - 62.50 132.50 352.50 0.189687 - 62.50 132.50 357.50 0.133007 - 62.50 137.50 2.50 0.0938603 - 62.50 137.50 7.50 0.195908 - 62.50 137.50 12.50 0.422873 - 62.50 137.50 17.50 0.864758 - 62.50 137.50 22.50 1.51053 - 62.50 137.50 27.50 1.98013 - 62.50 137.50 32.50 1.86668 - 62.50 137.50 37.50 1.34076 - 62.50 137.50 42.50 0.731889 - 62.50 137.50 47.50 0.336693 - 62.50 137.50 52.50 0.104399 - 62.50 137.50 57.50 0.0463751 - 62.50 137.50 62.50 0.0252395 - 62.50 137.50 67.50 0.0306563 - 62.50 137.50 72.50 0.053292 - 62.50 137.50 77.50 0.0688209 - 62.50 137.50 82.50 0.0627211 - 62.50 137.50 87.50 0.0548244 - 62.50 137.50 92.50 0.0938603 - 62.50 137.50 97.50 0.195908 - 62.50 137.50 102.50 0.422873 - 62.50 137.50 107.50 0.864757 - 62.50 137.50 112.50 1.51053 - 62.50 137.50 117.50 1.98013 - 62.50 137.50 122.50 1.86668 - 62.50 137.50 127.50 1.34076 - 62.50 137.50 132.50 0.731889 - 62.50 137.50 137.50 0.336693 - 62.50 137.50 142.50 0.104399 - 62.50 137.50 147.50 0.0463751 - 62.50 137.50 152.50 0.0252395 - 62.50 137.50 157.50 0.0306563 - 62.50 137.50 162.50 0.053292 - 62.50 137.50 167.50 0.0688209 - 62.50 137.50 172.50 0.0627211 - 62.50 137.50 177.50 0.0548244 - 62.50 137.50 182.50 0.0938604 - 62.50 137.50 187.50 0.195908 - 62.50 137.50 192.50 0.422873 - 62.50 137.50 197.50 0.864757 - 62.50 137.50 202.50 1.51053 - 62.50 137.50 207.50 1.98013 - 62.50 137.50 212.50 1.86668 - 62.50 137.50 217.50 1.34076 - 62.50 137.50 222.50 0.731889 - 62.50 137.50 227.50 0.336693 - 62.50 137.50 232.50 0.104399 - 62.50 137.50 237.50 0.046375 - 62.50 137.50 242.50 0.0252395 - 62.50 137.50 247.50 0.0306563 - 62.50 137.50 252.50 0.053292 - 62.50 137.50 257.50 0.0688209 - 62.50 137.50 262.50 0.0627211 - 62.50 137.50 267.50 0.0548244 - 62.50 137.50 272.50 0.0938603 - 62.50 137.50 277.50 0.195908 - 62.50 137.50 282.50 0.422873 - 62.50 137.50 287.50 0.864757 - 62.50 137.50 292.50 1.51053 - 62.50 137.50 297.50 1.98013 - 62.50 137.50 302.50 1.86668 - 62.50 137.50 307.50 1.34076 - 62.50 137.50 312.50 0.731889 - 62.50 137.50 317.50 0.336693 - 62.50 137.50 322.50 0.104399 - 62.50 137.50 327.50 0.0463752 - 62.50 137.50 332.50 0.0252394 - 62.50 137.50 337.50 0.0306563 - 62.50 137.50 342.50 0.053292 - 62.50 137.50 347.50 0.0688209 - 62.50 137.50 352.50 0.0627211 - 62.50 137.50 357.50 0.0548244 - 62.50 142.50 2.50 0.114674 - 62.50 142.50 7.50 0.315208 - 62.50 142.50 12.50 0.732046 - 62.50 142.50 17.50 1.54765 - 62.50 142.50 22.50 2.71904 - 62.50 142.50 27.50 3.61403 - 62.50 142.50 32.50 3.68175 - 62.50 142.50 37.50 2.81508 - 62.50 142.50 42.50 1.67063 - 62.50 142.50 47.50 0.754377 - 62.50 142.50 52.50 0.322358 - 62.50 142.50 57.50 0.153366 - 62.50 142.50 62.50 0.0814492 - 62.50 142.50 67.50 0.0398015 - 62.50 142.50 72.50 0.0213085 - 62.50 142.50 77.50 0.0191426 - 62.50 142.50 82.50 0.0192761 - 62.50 142.50 87.50 0.0353898 - 62.50 142.50 92.50 0.114674 - 62.50 142.50 97.50 0.315208 - 62.50 142.50 102.50 0.732046 - 62.50 142.50 107.50 1.54764 - 62.50 142.50 112.50 2.71904 - 62.50 142.50 117.50 3.61403 - 62.50 142.50 122.50 3.68175 - 62.50 142.50 127.50 2.81508 - 62.50 142.50 132.50 1.67063 - 62.50 142.50 137.50 0.754376 - 62.50 142.50 142.50 0.322358 - 62.50 142.50 147.50 0.153366 - 62.50 142.50 152.50 0.0814492 - 62.50 142.50 157.50 0.0398015 - 62.50 142.50 162.50 0.0213085 - 62.50 142.50 167.50 0.0191425 - 62.50 142.50 172.50 0.0192761 - 62.50 142.50 177.50 0.0353898 - 62.50 142.50 182.50 0.114674 - 62.50 142.50 187.50 0.315208 - 62.50 142.50 192.50 0.732047 - 62.50 142.50 197.50 1.54765 - 62.50 142.50 202.50 2.71904 - 62.50 142.50 207.50 3.61403 - 62.50 142.50 212.50 3.68176 - 62.50 142.50 217.50 2.81508 - 62.50 142.50 222.50 1.67063 - 62.50 142.50 227.50 0.754377 - 62.50 142.50 232.50 0.322357 - 62.50 142.50 237.50 0.153366 - 62.50 142.50 242.50 0.0814491 - 62.50 142.50 247.50 0.0398015 - 62.50 142.50 252.50 0.0213085 - 62.50 142.50 257.50 0.0191426 - 62.50 142.50 262.50 0.0192761 - 62.50 142.50 267.50 0.0353898 - 62.50 142.50 272.50 0.114674 - 62.50 142.50 277.50 0.315208 - 62.50 142.50 282.50 0.732046 - 62.50 142.50 287.50 1.54765 - 62.50 142.50 292.50 2.71904 - 62.50 142.50 297.50 3.61403 - 62.50 142.50 302.50 3.68175 - 62.50 142.50 307.50 2.81508 - 62.50 142.50 312.50 1.67063 - 62.50 142.50 317.50 0.754377 - 62.50 142.50 322.50 0.322359 - 62.50 142.50 327.50 0.153367 - 62.50 142.50 332.50 0.0814493 - 62.50 142.50 337.50 0.0398016 - 62.50 142.50 342.50 0.0213086 - 62.50 142.50 347.50 0.0191426 - 62.50 142.50 352.50 0.0192761 - 62.50 142.50 357.50 0.0353897 - 62.50 147.50 2.50 0.166468 - 62.50 147.50 7.50 0.461633 - 62.50 147.50 12.50 1.0963 - 62.50 147.50 17.50 2.28254 - 62.50 147.50 22.50 3.92672 - 62.50 147.50 27.50 5.08545 - 62.50 147.50 32.50 5.13611 - 62.50 147.50 37.50 4.15245 - 62.50 147.50 42.50 2.64226 - 62.50 147.50 47.50 1.38142 - 62.50 147.50 52.50 0.695002 - 62.50 147.50 57.50 0.397978 - 62.50 147.50 62.50 0.232747 - 62.50 147.50 67.50 0.106889 - 62.50 147.50 72.50 0.0424254 - 62.50 147.50 77.50 0.0215696 - 62.50 147.50 82.50 0.0177901 - 62.50 147.50 87.50 0.0437723 - 62.50 147.50 92.50 0.166468 - 62.50 147.50 97.50 0.461633 - 62.50 147.50 102.50 1.0963 - 62.50 147.50 107.50 2.28254 - 62.50 147.50 112.50 3.92672 - 62.50 147.50 117.50 5.08545 - 62.50 147.50 122.50 5.13611 - 62.50 147.50 127.50 4.15245 - 62.50 147.50 132.50 2.64226 - 62.50 147.50 137.50 1.38142 - 62.50 147.50 142.50 0.695002 - 62.50 147.50 147.50 0.397978 - 62.50 147.50 152.50 0.232747 - 62.50 147.50 157.50 0.106889 - 62.50 147.50 162.50 0.0424255 - 62.50 147.50 167.50 0.0215696 - 62.50 147.50 172.50 0.0177901 - 62.50 147.50 177.50 0.0437723 - 62.50 147.50 182.50 0.166468 - 62.50 147.50 187.50 0.461633 - 62.50 147.50 192.50 1.0963 - 62.50 147.50 197.50 2.28254 - 62.50 147.50 202.50 3.92672 - 62.50 147.50 207.50 5.08545 - 62.50 147.50 212.50 5.13611 - 62.50 147.50 217.50 4.15246 - 62.50 147.50 222.50 2.64226 - 62.50 147.50 227.50 1.38142 - 62.50 147.50 232.50 0.695002 - 62.50 147.50 237.50 0.397978 - 62.50 147.50 242.50 0.232747 - 62.50 147.50 247.50 0.106889 - 62.50 147.50 252.50 0.0424254 - 62.50 147.50 257.50 0.0215696 - 62.50 147.50 262.50 0.0177901 - 62.50 147.50 267.50 0.0437723 - 62.50 147.50 272.50 0.166468 - 62.50 147.50 277.50 0.461633 - 62.50 147.50 282.50 1.0963 - 62.50 147.50 287.50 2.28254 - 62.50 147.50 292.50 3.92672 - 62.50 147.50 297.50 5.08545 - 62.50 147.50 302.50 5.13611 - 62.50 147.50 307.50 4.15246 - 62.50 147.50 312.50 2.64226 - 62.50 147.50 317.50 1.38142 - 62.50 147.50 322.50 0.695004 - 62.50 147.50 327.50 0.397979 - 62.50 147.50 332.50 0.232747 - 62.50 147.50 337.50 0.10689 - 62.50 147.50 342.50 0.0424255 - 62.50 147.50 347.50 0.0215696 - 62.50 147.50 352.50 0.0177901 - 62.50 147.50 357.50 0.0437722 - 62.50 152.50 2.50 0.203044 - 62.50 152.50 7.50 0.530741 - 62.50 152.50 12.50 1.27208 - 62.50 152.50 17.50 2.60783 - 62.50 152.50 22.50 4.3323 - 62.50 152.50 27.50 5.59052 - 62.50 152.50 32.50 5.5183 - 62.50 152.50 37.50 4.53233 - 62.50 152.50 42.50 3.1106 - 62.50 152.50 47.50 1.88573 - 62.50 152.50 52.50 1.1305 - 62.50 152.50 57.50 0.763453 - 62.50 152.50 62.50 0.489223 - 62.50 152.50 67.50 0.255476 - 62.50 152.50 72.50 0.112016 - 62.50 152.50 77.50 0.0493548 - 62.50 152.50 82.50 0.0313745 - 62.50 152.50 87.50 0.055626 - 62.50 152.50 92.50 0.203044 - 62.50 152.50 97.50 0.530742 - 62.50 152.50 102.50 1.27208 - 62.50 152.50 107.50 2.60783 - 62.50 152.50 112.50 4.3323 - 62.50 152.50 117.50 5.59052 - 62.50 152.50 122.50 5.5183 - 62.50 152.50 127.50 4.53233 - 62.50 152.50 132.50 3.1106 - 62.50 152.50 137.50 1.88573 - 62.50 152.50 142.50 1.1305 - 62.50 152.50 147.50 0.763453 - 62.50 152.50 152.50 0.489223 - 62.50 152.50 157.50 0.255476 - 62.50 152.50 162.50 0.112016 - 62.50 152.50 167.50 0.0493549 - 62.50 152.50 172.50 0.0313745 - 62.50 152.50 177.50 0.0556259 - 62.50 152.50 182.50 0.203044 - 62.50 152.50 187.50 0.530742 - 62.50 152.50 192.50 1.27208 - 62.50 152.50 197.50 2.60783 - 62.50 152.50 202.50 4.3323 - 62.50 152.50 207.50 5.59052 - 62.50 152.50 212.50 5.51831 - 62.50 152.50 217.50 4.53233 - 62.50 152.50 222.50 3.1106 - 62.50 152.50 227.50 1.88573 - 62.50 152.50 232.50 1.13049 - 62.50 152.50 237.50 0.763453 - 62.50 152.50 242.50 0.489222 - 62.50 152.50 247.50 0.255476 - 62.50 152.50 252.50 0.112016 - 62.50 152.50 257.50 0.0493548 - 62.50 152.50 262.50 0.0313745 - 62.50 152.50 267.50 0.0556261 - 62.50 152.50 272.50 0.203044 - 62.50 152.50 277.50 0.530742 - 62.50 152.50 282.50 1.27208 - 62.50 152.50 287.50 2.60783 - 62.50 152.50 292.50 4.3323 - 62.50 152.50 297.50 5.59052 - 62.50 152.50 302.50 5.5183 - 62.50 152.50 307.50 4.53233 - 62.50 152.50 312.50 3.1106 - 62.50 152.50 317.50 1.88573 - 62.50 152.50 322.50 1.1305 - 62.50 152.50 327.50 0.763453 - 62.50 152.50 332.50 0.489223 - 62.50 152.50 337.50 0.255477 - 62.50 152.50 342.50 0.112017 - 62.50 152.50 347.50 0.0493549 - 62.50 152.50 352.50 0.0313745 - 62.50 152.50 357.50 0.0556258 - 62.50 157.50 2.50 0.190178 - 62.50 157.50 7.50 0.465381 - 62.50 157.50 12.50 1.1038 - 62.50 157.50 17.50 2.17989 - 62.50 157.50 22.50 3.51984 - 62.50 157.50 27.50 4.50219 - 62.50 157.50 32.50 4.63534 - 62.50 157.50 37.50 3.81855 - 62.50 157.50 42.50 2.80798 - 62.50 157.50 47.50 2.0097 - 62.50 157.50 52.50 1.43678 - 62.50 157.50 57.50 1.12126 - 62.50 157.50 62.50 0.838582 - 62.50 157.50 67.50 0.491737 - 62.50 157.50 72.50 0.252155 - 62.50 157.50 77.50 0.115685 - 62.50 157.50 82.50 0.0549513 - 62.50 157.50 87.50 0.0640671 - 62.50 157.50 92.50 0.190179 - 62.50 157.50 97.50 0.465381 - 62.50 157.50 102.50 1.1038 - 62.50 157.50 107.50 2.17989 - 62.50 157.50 112.50 3.51984 - 62.50 157.50 117.50 4.5022 - 62.50 157.50 122.50 4.63534 - 62.50 157.50 127.50 3.81855 - 62.50 157.50 132.50 2.80798 - 62.50 157.50 137.50 2.0097 - 62.50 157.50 142.50 1.43677 - 62.50 157.50 147.50 1.12126 - 62.50 157.50 152.50 0.838582 - 62.50 157.50 157.50 0.491738 - 62.50 157.50 162.50 0.252156 - 62.50 157.50 167.50 0.115685 - 62.50 157.50 172.50 0.0549513 - 62.50 157.50 177.50 0.064067 - 62.50 157.50 182.50 0.190179 - 62.50 157.50 187.50 0.465381 - 62.50 157.50 192.50 1.1038 - 62.50 157.50 197.50 2.17989 - 62.50 157.50 202.50 3.51984 - 62.50 157.50 207.50 4.5022 - 62.50 157.50 212.50 4.63534 - 62.50 157.50 217.50 3.81855 - 62.50 157.50 222.50 2.80798 - 62.50 157.50 227.50 2.0097 - 62.50 157.50 232.50 1.43677 - 62.50 157.50 237.50 1.12126 - 62.50 157.50 242.50 0.838582 - 62.50 157.50 247.50 0.491737 - 62.50 157.50 252.50 0.252155 - 62.50 157.50 257.50 0.115685 - 62.50 157.50 262.50 0.0549512 - 62.50 157.50 267.50 0.0640671 - 62.50 157.50 272.50 0.190178 - 62.50 157.50 277.50 0.465381 - 62.50 157.50 282.50 1.1038 - 62.50 157.50 287.50 2.17989 - 62.50 157.50 292.50 3.51984 - 62.50 157.50 297.50 4.50219 - 62.50 157.50 302.50 4.63534 - 62.50 157.50 307.50 3.81855 - 62.50 157.50 312.50 2.80798 - 62.50 157.50 317.50 2.0097 - 62.50 157.50 322.50 1.43678 - 62.50 157.50 327.50 1.12126 - 62.50 157.50 332.50 0.838583 - 62.50 157.50 337.50 0.491738 - 62.50 157.50 342.50 0.252156 - 62.50 157.50 347.50 0.115685 - 62.50 157.50 352.50 0.0549513 - 62.50 157.50 357.50 0.0640668 - 62.50 162.50 2.50 0.169877 - 62.50 162.50 7.50 0.362129 - 62.50 162.50 12.50 0.758532 - 62.50 162.50 17.50 1.39346 - 62.50 162.50 22.50 2.15474 - 62.50 162.50 27.50 2.71146 - 62.50 162.50 32.50 2.8001 - 62.50 162.50 37.50 2.51249 - 62.50 162.50 42.50 2.01872 - 62.50 162.50 47.50 1.5729 - 62.50 162.50 52.50 1.38735 - 62.50 162.50 57.50 1.31728 - 62.50 162.50 62.50 1.0931 - 62.50 162.50 67.50 0.745255 - 62.50 162.50 72.50 0.438268 - 62.50 162.50 77.50 0.217768 - 62.50 162.50 82.50 0.0957019 - 62.50 162.50 87.50 0.0797988 - 62.50 162.50 92.50 0.169877 - 62.50 162.50 97.50 0.362129 - 62.50 162.50 102.50 0.758533 - 62.50 162.50 107.50 1.39346 - 62.50 162.50 112.50 2.15474 - 62.50 162.50 117.50 2.71146 - 62.50 162.50 122.50 2.80011 - 62.50 162.50 127.50 2.51249 - 62.50 162.50 132.50 2.01872 - 62.50 162.50 137.50 1.5729 - 62.50 162.50 142.50 1.38735 - 62.50 162.50 147.50 1.31728 - 62.50 162.50 152.50 1.0931 - 62.50 162.50 157.50 0.745255 - 62.50 162.50 162.50 0.438268 - 62.50 162.50 167.50 0.217768 - 62.50 162.50 172.50 0.095702 - 62.50 162.50 177.50 0.0797989 - 62.50 162.50 182.50 0.169877 - 62.50 162.50 187.50 0.362129 - 62.50 162.50 192.50 0.758533 - 62.50 162.50 197.50 1.39346 - 62.50 162.50 202.50 2.15474 - 62.50 162.50 207.50 2.71146 - 62.50 162.50 212.50 2.80011 - 62.50 162.50 217.50 2.51249 - 62.50 162.50 222.50 2.01872 - 62.50 162.50 227.50 1.5729 - 62.50 162.50 232.50 1.38735 - 62.50 162.50 237.50 1.31728 - 62.50 162.50 242.50 1.0931 - 62.50 162.50 247.50 0.745255 - 62.50 162.50 252.50 0.438268 - 62.50 162.50 257.50 0.217768 - 62.50 162.50 262.50 0.0957018 - 62.50 162.50 267.50 0.0797989 - 62.50 162.50 272.50 0.169877 - 62.50 162.50 277.50 0.362129 - 62.50 162.50 282.50 0.758532 - 62.50 162.50 287.50 1.39346 - 62.50 162.50 292.50 2.15474 - 62.50 162.50 297.50 2.71146 - 62.50 162.50 302.50 2.80011 - 62.50 162.50 307.50 2.51249 - 62.50 162.50 312.50 2.01872 - 62.50 162.50 317.50 1.5729 - 62.50 162.50 322.50 1.38735 - 62.50 162.50 327.50 1.31728 - 62.50 162.50 332.50 1.0931 - 62.50 162.50 337.50 0.745256 - 62.50 162.50 342.50 0.438269 - 62.50 162.50 347.50 0.217769 - 62.50 162.50 352.50 0.0957021 - 62.50 162.50 357.50 0.0797988 - 62.50 167.50 2.50 0.171122 - 62.50 167.50 7.50 0.297934 - 62.50 167.50 12.50 0.466813 - 62.50 167.50 17.50 0.744515 - 62.50 167.50 22.50 1.06471 - 62.50 167.50 27.50 1.3114 - 62.50 167.50 32.50 1.35825 - 62.50 167.50 37.50 1.22026 - 62.50 167.50 42.50 1.04756 - 62.50 167.50 47.50 0.962608 - 62.50 167.50 52.50 1.07277 - 62.50 167.50 57.50 1.23553 - 62.50 167.50 62.50 1.17985 - 62.50 167.50 67.50 0.884236 - 62.50 167.50 72.50 0.552134 - 62.50 167.50 77.50 0.287369 - 62.50 167.50 82.50 0.129418 - 62.50 167.50 87.50 0.102338 - 62.50 167.50 92.50 0.171122 - 62.50 167.50 97.50 0.297934 - 62.50 167.50 102.50 0.466813 - 62.50 167.50 107.50 0.744515 - 62.50 167.50 112.50 1.06471 - 62.50 167.50 117.50 1.3114 - 62.50 167.50 122.50 1.35825 - 62.50 167.50 127.50 1.22026 - 62.50 167.50 132.50 1.04756 - 62.50 167.50 137.50 0.962609 - 62.50 167.50 142.50 1.07277 - 62.50 167.50 147.50 1.23553 - 62.50 167.50 152.50 1.17985 - 62.50 167.50 157.50 0.884237 - 62.50 167.50 162.50 0.552135 - 62.50 167.50 167.50 0.287369 - 62.50 167.50 172.50 0.129418 - 62.50 167.50 177.50 0.102338 - 62.50 167.50 182.50 0.171122 - 62.50 167.50 187.50 0.297934 - 62.50 167.50 192.50 0.466813 - 62.50 167.50 197.50 0.744515 - 62.50 167.50 202.50 1.06471 - 62.50 167.50 207.50 1.3114 - 62.50 167.50 212.50 1.35825 - 62.50 167.50 217.50 1.22026 - 62.50 167.50 222.50 1.04756 - 62.50 167.50 227.50 0.962609 - 62.50 167.50 232.50 1.07277 - 62.50 167.50 237.50 1.23553 - 62.50 167.50 242.50 1.17985 - 62.50 167.50 247.50 0.884235 - 62.50 167.50 252.50 0.552134 - 62.50 167.50 257.50 0.287368 - 62.50 167.50 262.50 0.129418 - 62.50 167.50 267.50 0.102338 - 62.50 167.50 272.50 0.171122 - 62.50 167.50 277.50 0.297934 - 62.50 167.50 282.50 0.466813 - 62.50 167.50 287.50 0.744515 - 62.50 167.50 292.50 1.06471 - 62.50 167.50 297.50 1.3114 - 62.50 167.50 302.50 1.35825 - 62.50 167.50 307.50 1.22026 - 62.50 167.50 312.50 1.04756 - 62.50 167.50 317.50 0.962609 - 62.50 167.50 322.50 1.07277 - 62.50 167.50 327.50 1.23553 - 62.50 167.50 332.50 1.17985 - 62.50 167.50 337.50 0.884237 - 62.50 167.50 342.50 0.552136 - 62.50 167.50 347.50 0.287369 - 62.50 167.50 352.50 0.129418 - 62.50 167.50 357.50 0.102338 - 62.50 172.50 2.50 0.149325 - 62.50 172.50 7.50 0.223786 - 62.50 172.50 12.50 0.287298 - 62.50 172.50 17.50 0.345456 - 62.50 172.50 22.50 0.444354 - 62.50 172.50 27.50 0.519334 - 62.50 172.50 32.50 0.524382 - 62.50 172.50 37.50 0.468542 - 62.50 172.50 42.50 0.403121 - 62.50 172.50 47.50 0.456224 - 62.50 172.50 52.50 0.691594 - 62.50 172.50 57.50 0.978158 - 62.50 172.50 62.50 1.0596 - 62.50 172.50 67.50 0.84758 - 62.50 172.50 72.50 0.518342 - 62.50 172.50 77.50 0.25839 - 62.50 172.50 82.50 0.125281 - 62.50 172.50 87.50 0.100886 - 62.50 172.50 92.50 0.149325 - 62.50 172.50 97.50 0.223786 - 62.50 172.50 102.50 0.287299 - 62.50 172.50 107.50 0.345456 - 62.50 172.50 112.50 0.444354 - 62.50 172.50 117.50 0.519334 - 62.50 172.50 122.50 0.524382 - 62.50 172.50 127.50 0.468542 - 62.50 172.50 132.50 0.403121 - 62.50 172.50 137.50 0.456224 - 62.50 172.50 142.50 0.691594 - 62.50 172.50 147.50 0.978158 - 62.50 172.50 152.50 1.0596 - 62.50 172.50 157.50 0.84758 - 62.50 172.50 162.50 0.518343 - 62.50 172.50 167.50 0.25839 - 62.50 172.50 172.50 0.125282 - 62.50 172.50 177.50 0.100886 - 62.50 172.50 182.50 0.149325 - 62.50 172.50 187.50 0.223786 - 62.50 172.50 192.50 0.287299 - 62.50 172.50 197.50 0.345456 - 62.50 172.50 202.50 0.444354 - 62.50 172.50 207.50 0.519334 - 62.50 172.50 212.50 0.524382 - 62.50 172.50 217.50 0.468542 - 62.50 172.50 222.50 0.403121 - 62.50 172.50 227.50 0.456224 - 62.50 172.50 232.50 0.691594 - 62.50 172.50 237.50 0.978158 - 62.50 172.50 242.50 1.0596 - 62.50 172.50 247.50 0.84758 - 62.50 172.50 252.50 0.518342 - 62.50 172.50 257.50 0.25839 - 62.50 172.50 262.50 0.125281 - 62.50 172.50 267.50 0.100886 - 62.50 172.50 272.50 0.149325 - 62.50 172.50 277.50 0.223786 - 62.50 172.50 282.50 0.287298 - 62.50 172.50 287.50 0.345456 - 62.50 172.50 292.50 0.444354 - 62.50 172.50 297.50 0.519333 - 62.50 172.50 302.50 0.524382 - 62.50 172.50 307.50 0.468542 - 62.50 172.50 312.50 0.403121 - 62.50 172.50 317.50 0.456224 - 62.50 172.50 322.50 0.691593 - 62.50 172.50 327.50 0.978158 - 62.50 172.50 332.50 1.0596 - 62.50 172.50 337.50 0.847581 - 62.50 172.50 342.50 0.518343 - 62.50 172.50 347.50 0.258391 - 62.50 172.50 352.50 0.125282 - 62.50 172.50 357.50 0.100886 - 62.50 177.50 2.50 0.0922626 - 62.50 177.50 7.50 0.123951 - 62.50 177.50 12.50 0.143132 - 62.50 177.50 17.50 0.152129 - 62.50 177.50 22.50 0.163986 - 62.50 177.50 27.50 0.166804 - 62.50 177.50 32.50 0.149601 - 62.50 177.50 37.50 0.129558 - 62.50 177.50 42.50 0.12957 - 62.50 177.50 47.50 0.206719 - 62.50 177.50 52.50 0.421354 - 62.50 177.50 57.50 0.721804 - 62.50 177.50 62.50 0.868014 - 62.50 177.50 67.50 0.719928 - 62.50 177.50 72.50 0.414426 - 62.50 177.50 77.50 0.186094 - 62.50 177.50 82.50 0.085938 - 62.50 177.50 87.50 0.0690467 - 62.50 177.50 92.50 0.0922626 - 62.50 177.50 97.50 0.123951 - 62.50 177.50 102.50 0.143132 - 62.50 177.50 107.50 0.152129 - 62.50 177.50 112.50 0.163986 - 62.50 177.50 117.50 0.166804 - 62.50 177.50 122.50 0.149601 - 62.50 177.50 127.50 0.129558 - 62.50 177.50 132.50 0.129571 - 62.50 177.50 137.50 0.206719 - 62.50 177.50 142.50 0.421354 - 62.50 177.50 147.50 0.721804 - 62.50 177.50 152.50 0.868014 - 62.50 177.50 157.50 0.719928 - 62.50 177.50 162.50 0.414427 - 62.50 177.50 167.50 0.186094 - 62.50 177.50 172.50 0.085938 - 62.50 177.50 177.50 0.0690467 - 62.50 177.50 182.50 0.0922627 - 62.50 177.50 187.50 0.123951 - 62.50 177.50 192.50 0.143132 - 62.50 177.50 197.50 0.152129 - 62.50 177.50 202.50 0.163986 - 62.50 177.50 207.50 0.166804 - 62.50 177.50 212.50 0.149601 - 62.50 177.50 217.50 0.129557 - 62.50 177.50 222.50 0.12957 - 62.50 177.50 227.50 0.206719 - 62.50 177.50 232.50 0.421355 - 62.50 177.50 237.50 0.721804 - 62.50 177.50 242.50 0.868014 - 62.50 177.50 247.50 0.719928 - 62.50 177.50 252.50 0.414426 - 62.50 177.50 257.50 0.186094 - 62.50 177.50 262.50 0.085938 - 62.50 177.50 267.50 0.0690467 - 62.50 177.50 272.50 0.0922626 - 62.50 177.50 277.50 0.123951 - 62.50 177.50 282.50 0.143132 - 62.50 177.50 287.50 0.152129 - 62.50 177.50 292.50 0.163986 - 62.50 177.50 297.50 0.166803 - 62.50 177.50 302.50 0.149601 - 62.50 177.50 307.50 0.129557 - 62.50 177.50 312.50 0.12957 - 62.50 177.50 317.50 0.206718 - 62.50 177.50 322.50 0.421354 - 62.50 177.50 327.50 0.721803 - 62.50 177.50 332.50 0.868015 - 62.50 177.50 337.50 0.719929 - 62.50 177.50 342.50 0.414427 - 62.50 177.50 347.50 0.186094 - 62.50 177.50 352.50 0.0859381 - 62.50 177.50 357.50 0.0690467 - 67.50 2.50 2.50 0.0485219 - 67.50 2.50 7.50 0.0624686 - 67.50 2.50 12.50 0.149977 - 67.50 2.50 17.50 0.393273 - 67.50 2.50 22.50 0.773179 - 67.50 2.50 27.50 0.980476 - 67.50 2.50 32.50 0.773178 - 67.50 2.50 37.50 0.393272 - 67.50 2.50 42.50 0.149977 - 67.50 2.50 47.50 0.0624685 - 67.50 2.50 52.50 0.0485219 - 67.50 2.50 57.50 0.0601603 - 67.50 2.50 62.50 0.0760386 - 67.50 2.50 67.50 0.083846 - 67.50 2.50 72.50 0.084539 - 67.50 2.50 77.50 0.083846 - 67.50 2.50 82.50 0.0760385 - 67.50 2.50 87.50 0.0601603 - 67.50 2.50 92.50 0.0485219 - 67.50 2.50 97.50 0.0624686 - 67.50 2.50 102.50 0.149977 - 67.50 2.50 107.50 0.393273 - 67.50 2.50 112.50 0.773179 - 67.50 2.50 117.50 0.980476 - 67.50 2.50 122.50 0.773178 - 67.50 2.50 127.50 0.393272 - 67.50 2.50 132.50 0.149977 - 67.50 2.50 137.50 0.0624685 - 67.50 2.50 142.50 0.0485219 - 67.50 2.50 147.50 0.0601603 - 67.50 2.50 152.50 0.0760385 - 67.50 2.50 157.50 0.083846 - 67.50 2.50 162.50 0.084539 - 67.50 2.50 167.50 0.083846 - 67.50 2.50 172.50 0.0760385 - 67.50 2.50 177.50 0.0601603 - 67.50 2.50 182.50 0.0485219 - 67.50 2.50 187.50 0.0624686 - 67.50 2.50 192.50 0.149977 - 67.50 2.50 197.50 0.393273 - 67.50 2.50 202.50 0.773179 - 67.50 2.50 207.50 0.980476 - 67.50 2.50 212.50 0.773178 - 67.50 2.50 217.50 0.393272 - 67.50 2.50 222.50 0.149977 - 67.50 2.50 227.50 0.0624686 - 67.50 2.50 232.50 0.048522 - 67.50 2.50 237.50 0.0601604 - 67.50 2.50 242.50 0.0760386 - 67.50 2.50 247.50 0.083846 - 67.50 2.50 252.50 0.084539 - 67.50 2.50 257.50 0.083846 - 67.50 2.50 262.50 0.0760385 - 67.50 2.50 267.50 0.0601603 - 67.50 2.50 272.50 0.0485219 - 67.50 2.50 277.50 0.0624686 - 67.50 2.50 282.50 0.149977 - 67.50 2.50 287.50 0.393273 - 67.50 2.50 292.50 0.773179 - 67.50 2.50 297.50 0.980476 - 67.50 2.50 302.50 0.773179 - 67.50 2.50 307.50 0.393273 - 67.50 2.50 312.50 0.149977 - 67.50 2.50 317.50 0.0624686 - 67.50 2.50 322.50 0.0485219 - 67.50 2.50 327.50 0.0601603 - 67.50 2.50 332.50 0.0760385 - 67.50 2.50 337.50 0.083846 - 67.50 2.50 342.50 0.084539 - 67.50 2.50 347.50 0.083846 - 67.50 2.50 352.50 0.0760386 - 67.50 2.50 357.50 0.0601604 - 67.50 7.50 2.50 0.0733504 - 67.50 7.50 7.50 0.0849767 - 67.50 7.50 12.50 0.175312 - 67.50 7.50 17.50 0.397489 - 67.50 7.50 22.50 0.711142 - 67.50 7.50 27.50 0.873767 - 67.50 7.50 32.50 0.710742 - 67.50 7.50 37.50 0.413166 - 67.50 7.50 42.50 0.202284 - 67.50 7.50 47.50 0.130436 - 67.50 7.50 52.50 0.134926 - 67.50 7.50 57.50 0.158343 - 67.50 7.50 62.50 0.173619 - 67.50 7.50 67.50 0.176032 - 67.50 7.50 72.50 0.165474 - 67.50 7.50 77.50 0.153603 - 67.50 7.50 82.50 0.131719 - 67.50 7.50 87.50 0.0984698 - 67.50 7.50 92.50 0.0733504 - 67.50 7.50 97.50 0.0849767 - 67.50 7.50 102.50 0.175312 - 67.50 7.50 107.50 0.397489 - 67.50 7.50 112.50 0.711142 - 67.50 7.50 117.50 0.873768 - 67.50 7.50 122.50 0.710742 - 67.50 7.50 127.50 0.413165 - 67.50 7.50 132.50 0.202283 - 67.50 7.50 137.50 0.130436 - 67.50 7.50 142.50 0.134926 - 67.50 7.50 147.50 0.158343 - 67.50 7.50 152.50 0.173619 - 67.50 7.50 157.50 0.176032 - 67.50 7.50 162.50 0.165474 - 67.50 7.50 167.50 0.153603 - 67.50 7.50 172.50 0.131719 - 67.50 7.50 177.50 0.0984698 - 67.50 7.50 182.50 0.0733504 - 67.50 7.50 187.50 0.0849767 - 67.50 7.50 192.50 0.175312 - 67.50 7.50 197.50 0.397489 - 67.50 7.50 202.50 0.711143 - 67.50 7.50 207.50 0.873767 - 67.50 7.50 212.50 0.710742 - 67.50 7.50 217.50 0.413166 - 67.50 7.50 222.50 0.202284 - 67.50 7.50 227.50 0.130436 - 67.50 7.50 232.50 0.134926 - 67.50 7.50 237.50 0.158343 - 67.50 7.50 242.50 0.173619 - 67.50 7.50 247.50 0.176032 - 67.50 7.50 252.50 0.165474 - 67.50 7.50 257.50 0.153603 - 67.50 7.50 262.50 0.131719 - 67.50 7.50 267.50 0.0984697 - 67.50 7.50 272.50 0.0733504 - 67.50 7.50 277.50 0.0849767 - 67.50 7.50 282.50 0.175312 - 67.50 7.50 287.50 0.397489 - 67.50 7.50 292.50 0.711143 - 67.50 7.50 297.50 0.873767 - 67.50 7.50 302.50 0.710742 - 67.50 7.50 307.50 0.413166 - 67.50 7.50 312.50 0.202284 - 67.50 7.50 317.50 0.130436 - 67.50 7.50 322.50 0.134926 - 67.50 7.50 327.50 0.158343 - 67.50 7.50 332.50 0.173619 - 67.50 7.50 337.50 0.176032 - 67.50 7.50 342.50 0.165474 - 67.50 7.50 347.50 0.153603 - 67.50 7.50 352.50 0.131719 - 67.50 7.50 357.50 0.0984698 - 67.50 12.50 2.50 0.116684 - 67.50 12.50 7.50 0.125415 - 67.50 12.50 12.50 0.233425 - 67.50 12.50 17.50 0.462915 - 67.50 12.50 22.50 0.793623 - 67.50 12.50 27.50 1.01746 - 67.50 12.50 32.50 0.94396 - 67.50 12.50 37.50 0.667121 - 67.50 12.50 42.50 0.44694 - 67.50 12.50 47.50 0.402325 - 67.50 12.50 52.50 0.46921 - 67.50 12.50 57.50 0.545911 - 67.50 12.50 62.50 0.563691 - 67.50 12.50 67.50 0.509966 - 67.50 12.50 72.50 0.418482 - 67.50 12.50 77.50 0.325522 - 67.50 12.50 82.50 0.251315 - 67.50 12.50 87.50 0.171944 - 67.50 12.50 92.50 0.116684 - 67.50 12.50 97.50 0.125414 - 67.50 12.50 102.50 0.233425 - 67.50 12.50 107.50 0.462915 - 67.50 12.50 112.50 0.793623 - 67.50 12.50 117.50 1.01746 - 67.50 12.50 122.50 0.94396 - 67.50 12.50 127.50 0.66712 - 67.50 12.50 132.50 0.44694 - 67.50 12.50 137.50 0.402325 - 67.50 12.50 142.50 0.46921 - 67.50 12.50 147.50 0.545911 - 67.50 12.50 152.50 0.56369 - 67.50 12.50 157.50 0.509966 - 67.50 12.50 162.50 0.418482 - 67.50 12.50 167.50 0.325522 - 67.50 12.50 172.50 0.251316 - 67.50 12.50 177.50 0.171945 - 67.50 12.50 182.50 0.116684 - 67.50 12.50 187.50 0.125415 - 67.50 12.50 192.50 0.233425 - 67.50 12.50 197.50 0.462915 - 67.50 12.50 202.50 0.793624 - 67.50 12.50 207.50 1.01746 - 67.50 12.50 212.50 0.94396 - 67.50 12.50 217.50 0.66712 - 67.50 12.50 222.50 0.44694 - 67.50 12.50 227.50 0.402325 - 67.50 12.50 232.50 0.46921 - 67.50 12.50 237.50 0.54591 - 67.50 12.50 242.50 0.563691 - 67.50 12.50 247.50 0.509966 - 67.50 12.50 252.50 0.418482 - 67.50 12.50 257.50 0.325521 - 67.50 12.50 262.50 0.251315 - 67.50 12.50 267.50 0.171944 - 67.50 12.50 272.50 0.116684 - 67.50 12.50 277.50 0.125414 - 67.50 12.50 282.50 0.233425 - 67.50 12.50 287.50 0.462916 - 67.50 12.50 292.50 0.793623 - 67.50 12.50 297.50 1.01746 - 67.50 12.50 302.50 0.94396 - 67.50 12.50 307.50 0.667121 - 67.50 12.50 312.50 0.44694 - 67.50 12.50 317.50 0.402325 - 67.50 12.50 322.50 0.46921 - 67.50 12.50 327.50 0.54591 - 67.50 12.50 332.50 0.563691 - 67.50 12.50 337.50 0.509966 - 67.50 12.50 342.50 0.418482 - 67.50 12.50 347.50 0.325522 - 67.50 12.50 352.50 0.251316 - 67.50 12.50 357.50 0.171945 - 67.50 17.50 2.50 0.129911 - 67.50 17.50 7.50 0.131489 - 67.50 17.50 12.50 0.241637 - 67.50 17.50 17.50 0.481758 - 67.50 17.50 22.50 0.813541 - 67.50 17.50 27.50 1.10479 - 67.50 17.50 32.50 1.1614 - 67.50 17.50 37.50 0.997995 - 67.50 17.50 42.50 0.893712 - 67.50 17.50 47.50 1.00305 - 67.50 17.50 52.50 1.21537 - 67.50 17.50 57.50 1.36656 - 67.50 17.50 62.50 1.38887 - 67.50 17.50 67.50 1.19798 - 67.50 17.50 72.50 0.896729 - 67.50 17.50 77.50 0.606151 - 67.50 17.50 82.50 0.35581 - 67.50 17.50 87.50 0.211095 - 67.50 17.50 92.50 0.129911 - 67.50 17.50 97.50 0.131489 - 67.50 17.50 102.50 0.241637 - 67.50 17.50 107.50 0.481758 - 67.50 17.50 112.50 0.813542 - 67.50 17.50 117.50 1.10479 - 67.50 17.50 122.50 1.1614 - 67.50 17.50 127.50 0.997995 - 67.50 17.50 132.50 0.893712 - 67.50 17.50 137.50 1.00305 - 67.50 17.50 142.50 1.21537 - 67.50 17.50 147.50 1.36656 - 67.50 17.50 152.50 1.38887 - 67.50 17.50 157.50 1.19798 - 67.50 17.50 162.50 0.896728 - 67.50 17.50 167.50 0.606151 - 67.50 17.50 172.50 0.35581 - 67.50 17.50 177.50 0.211095 - 67.50 17.50 182.50 0.129911 - 67.50 17.50 187.50 0.131489 - 67.50 17.50 192.50 0.241637 - 67.50 17.50 197.50 0.481758 - 67.50 17.50 202.50 0.813542 - 67.50 17.50 207.50 1.10479 - 67.50 17.50 212.50 1.1614 - 67.50 17.50 217.50 0.997995 - 67.50 17.50 222.50 0.893712 - 67.50 17.50 227.50 1.00305 - 67.50 17.50 232.50 1.21537 - 67.50 17.50 237.50 1.36656 - 67.50 17.50 242.50 1.38887 - 67.50 17.50 247.50 1.19798 - 67.50 17.50 252.50 0.896728 - 67.50 17.50 257.50 0.60615 - 67.50 17.50 262.50 0.35581 - 67.50 17.50 267.50 0.211095 - 67.50 17.50 272.50 0.129911 - 67.50 17.50 277.50 0.131489 - 67.50 17.50 282.50 0.241637 - 67.50 17.50 287.50 0.481758 - 67.50 17.50 292.50 0.813542 - 67.50 17.50 297.50 1.10479 - 67.50 17.50 302.50 1.1614 - 67.50 17.50 307.50 0.997995 - 67.50 17.50 312.50 0.893712 - 67.50 17.50 317.50 1.00305 - 67.50 17.50 322.50 1.21537 - 67.50 17.50 327.50 1.36656 - 67.50 17.50 332.50 1.38887 - 67.50 17.50 337.50 1.19798 - 67.50 17.50 342.50 0.89673 - 67.50 17.50 347.50 0.606152 - 67.50 17.50 352.50 0.355811 - 67.50 17.50 357.50 0.211095 - 67.50 22.50 2.50 0.121879 - 67.50 22.50 7.50 0.0992848 - 67.50 22.50 12.50 0.182233 - 67.50 22.50 17.50 0.378146 - 67.50 22.50 22.50 0.685389 - 67.50 22.50 27.50 1.01411 - 67.50 22.50 32.50 1.19946 - 67.50 22.50 37.50 1.23227 - 67.50 22.50 42.50 1.37022 - 67.50 22.50 47.50 1.79592 - 67.50 22.50 52.50 2.4109 - 67.50 22.50 57.50 2.82827 - 67.50 22.50 62.50 2.8114 - 67.50 22.50 67.50 2.36793 - 67.50 22.50 72.50 1.63749 - 67.50 22.50 77.50 0.97331 - 67.50 22.50 82.50 0.500431 - 67.50 22.50 87.50 0.23099 - 67.50 22.50 92.50 0.121879 - 67.50 22.50 97.50 0.0992848 - 67.50 22.50 102.50 0.182233 - 67.50 22.50 107.50 0.378147 - 67.50 22.50 112.50 0.685389 - 67.50 22.50 117.50 1.01411 - 67.50 22.50 122.50 1.19946 - 67.50 22.50 127.50 1.23227 - 67.50 22.50 132.50 1.37022 - 67.50 22.50 137.50 1.79592 - 67.50 22.50 142.50 2.4109 - 67.50 22.50 147.50 2.82827 - 67.50 22.50 152.50 2.8114 - 67.50 22.50 157.50 2.36793 - 67.50 22.50 162.50 1.63749 - 67.50 22.50 167.50 0.97331 - 67.50 22.50 172.50 0.500431 - 67.50 22.50 177.50 0.23099 - 67.50 22.50 182.50 0.121878 - 67.50 22.50 187.50 0.0992847 - 67.50 22.50 192.50 0.182233 - 67.50 22.50 197.50 0.378147 - 67.50 22.50 202.50 0.68539 - 67.50 22.50 207.50 1.01411 - 67.50 22.50 212.50 1.19946 - 67.50 22.50 217.50 1.23227 - 67.50 22.50 222.50 1.37022 - 67.50 22.50 227.50 1.79592 - 67.50 22.50 232.50 2.4109 - 67.50 22.50 237.50 2.82827 - 67.50 22.50 242.50 2.8114 - 67.50 22.50 247.50 2.36793 - 67.50 22.50 252.50 1.63748 - 67.50 22.50 257.50 0.973309 - 67.50 22.50 262.50 0.50043 - 67.50 22.50 267.50 0.23099 - 67.50 22.50 272.50 0.121879 - 67.50 22.50 277.50 0.0992847 - 67.50 22.50 282.50 0.182233 - 67.50 22.50 287.50 0.378147 - 67.50 22.50 292.50 0.685389 - 67.50 22.50 297.50 1.01411 - 67.50 22.50 302.50 1.19946 - 67.50 22.50 307.50 1.23227 - 67.50 22.50 312.50 1.37022 - 67.50 22.50 317.50 1.79592 - 67.50 22.50 322.50 2.4109 - 67.50 22.50 327.50 2.82827 - 67.50 22.50 332.50 2.8114 - 67.50 22.50 337.50 2.36793 - 67.50 22.50 342.50 1.63749 - 67.50 22.50 347.50 0.973311 - 67.50 22.50 352.50 0.500432 - 67.50 22.50 357.50 0.23099 - 67.50 27.50 2.50 0.128577 - 67.50 27.50 7.50 0.0675547 - 67.50 27.50 12.50 0.106507 - 67.50 27.50 17.50 0.224624 - 67.50 27.50 22.50 0.446233 - 67.50 27.50 27.50 0.749986 - 67.50 27.50 32.50 1.00217 - 67.50 27.50 37.50 1.18875 - 67.50 27.50 42.50 1.6458 - 67.50 27.50 47.50 2.48565 - 67.50 27.50 52.50 3.52102 - 67.50 27.50 57.50 4.39416 - 67.50 27.50 62.50 4.61171 - 67.50 27.50 67.50 3.82994 - 67.50 27.50 72.50 2.53544 - 67.50 27.50 77.50 1.38614 - 67.50 27.50 82.50 0.682242 - 67.50 27.50 87.50 0.287222 - 67.50 27.50 92.50 0.128577 - 67.50 27.50 97.50 0.0675548 - 67.50 27.50 102.50 0.106507 - 67.50 27.50 107.50 0.224624 - 67.50 27.50 112.50 0.446233 - 67.50 27.50 117.50 0.749986 - 67.50 27.50 122.50 1.00217 - 67.50 27.50 127.50 1.18875 - 67.50 27.50 132.50 1.6458 - 67.50 27.50 137.50 2.48565 - 67.50 27.50 142.50 3.52102 - 67.50 27.50 147.50 4.39416 - 67.50 27.50 152.50 4.61171 - 67.50 27.50 157.50 3.82994 - 67.50 27.50 162.50 2.53544 - 67.50 27.50 167.50 1.38614 - 67.50 27.50 172.50 0.682243 - 67.50 27.50 177.50 0.287222 - 67.50 27.50 182.50 0.128577 - 67.50 27.50 187.50 0.0675547 - 67.50 27.50 192.50 0.106507 - 67.50 27.50 197.50 0.224624 - 67.50 27.50 202.50 0.446233 - 67.50 27.50 207.50 0.749986 - 67.50 27.50 212.50 1.00217 - 67.50 27.50 217.50 1.18875 - 67.50 27.50 222.50 1.6458 - 67.50 27.50 227.50 2.48565 - 67.50 27.50 232.50 3.52102 - 67.50 27.50 237.50 4.39417 - 67.50 27.50 242.50 4.61171 - 67.50 27.50 247.50 3.82994 - 67.50 27.50 252.50 2.53544 - 67.50 27.50 257.50 1.38614 - 67.50 27.50 262.50 0.682242 - 67.50 27.50 267.50 0.287222 - 67.50 27.50 272.50 0.128577 - 67.50 27.50 277.50 0.0675547 - 67.50 27.50 282.50 0.106507 - 67.50 27.50 287.50 0.224624 - 67.50 27.50 292.50 0.446233 - 67.50 27.50 297.50 0.749986 - 67.50 27.50 302.50 1.00217 - 67.50 27.50 307.50 1.18875 - 67.50 27.50 312.50 1.6458 - 67.50 27.50 317.50 2.48565 - 67.50 27.50 322.50 3.52102 - 67.50 27.50 327.50 4.39416 - 67.50 27.50 332.50 4.61171 - 67.50 27.50 337.50 3.82994 - 67.50 27.50 342.50 2.53544 - 67.50 27.50 347.50 1.38614 - 67.50 27.50 352.50 0.682244 - 67.50 27.50 357.50 0.287223 - 67.50 32.50 2.50 0.130738 - 67.50 32.50 7.50 0.0489067 - 67.50 32.50 12.50 0.058589 - 67.50 32.50 17.50 0.10686 - 67.50 32.50 22.50 0.223069 - 67.50 32.50 27.50 0.4312 - 67.50 32.50 32.50 0.652042 - 67.50 32.50 37.50 0.916916 - 67.50 32.50 42.50 1.46926 - 67.50 32.50 47.50 2.59076 - 67.50 32.50 52.50 4.05435 - 67.50 32.50 57.50 5.20738 - 67.50 32.50 62.50 5.41446 - 67.50 32.50 67.50 4.62745 - 67.50 32.50 72.50 2.96885 - 67.50 32.50 77.50 1.56571 - 67.50 32.50 82.50 0.76965 - 67.50 32.50 87.50 0.329109 - 67.50 32.50 92.50 0.130738 - 67.50 32.50 97.50 0.0489067 - 67.50 32.50 102.50 0.0585891 - 67.50 32.50 107.50 0.10686 - 67.50 32.50 112.50 0.223069 - 67.50 32.50 117.50 0.4312 - 67.50 32.50 122.50 0.652042 - 67.50 32.50 127.50 0.916917 - 67.50 32.50 132.50 1.46926 - 67.50 32.50 137.50 2.59076 - 67.50 32.50 142.50 4.05435 - 67.50 32.50 147.50 5.20738 - 67.50 32.50 152.50 5.41446 - 67.50 32.50 157.50 4.62745 - 67.50 32.50 162.50 2.96885 - 67.50 32.50 167.50 1.56572 - 67.50 32.50 172.50 0.76965 - 67.50 32.50 177.50 0.329109 - 67.50 32.50 182.50 0.130738 - 67.50 32.50 187.50 0.0489066 - 67.50 32.50 192.50 0.0585891 - 67.50 32.50 197.50 0.10686 - 67.50 32.50 202.50 0.22307 - 67.50 32.50 207.50 0.4312 - 67.50 32.50 212.50 0.652042 - 67.50 32.50 217.50 0.916917 - 67.50 32.50 222.50 1.46926 - 67.50 32.50 227.50 2.59076 - 67.50 32.50 232.50 4.05436 - 67.50 32.50 237.50 5.20738 - 67.50 32.50 242.50 5.41446 - 67.50 32.50 247.50 4.62745 - 67.50 32.50 252.50 2.96885 - 67.50 32.50 257.50 1.56571 - 67.50 32.50 262.50 0.769649 - 67.50 32.50 267.50 0.329109 - 67.50 32.50 272.50 0.130738 - 67.50 32.50 277.50 0.0489066 - 67.50 32.50 282.50 0.058589 - 67.50 32.50 287.50 0.10686 - 67.50 32.50 292.50 0.223069 - 67.50 32.50 297.50 0.4312 - 67.50 32.50 302.50 0.652042 - 67.50 32.50 307.50 0.916916 - 67.50 32.50 312.50 1.46926 - 67.50 32.50 317.50 2.59076 - 67.50 32.50 322.50 4.05435 - 67.50 32.50 327.50 5.20738 - 67.50 32.50 332.50 5.41446 - 67.50 32.50 337.50 4.62745 - 67.50 32.50 342.50 2.96885 - 67.50 32.50 347.50 1.56572 - 67.50 32.50 352.50 0.769651 - 67.50 32.50 357.50 0.32911 - 67.50 37.50 2.50 0.0974754 - 67.50 37.50 7.50 0.0319728 - 67.50 37.50 12.50 0.029963 - 67.50 37.50 17.50 0.0437712 - 67.50 37.50 22.50 0.0857297 - 67.50 37.50 27.50 0.195092 - 67.50 37.50 32.50 0.34409 - 67.50 37.50 37.50 0.537988 - 67.50 37.50 42.50 1.01343 - 67.50 37.50 47.50 2.06342 - 67.50 37.50 52.50 3.52062 - 67.50 37.50 57.50 4.69045 - 67.50 37.50 62.50 4.88877 - 67.50 37.50 67.50 4.03039 - 67.50 37.50 72.50 2.55428 - 67.50 37.50 77.50 1.28792 - 67.50 37.50 82.50 0.628633 - 67.50 37.50 87.50 0.270603 - 67.50 37.50 92.50 0.0974754 - 67.50 37.50 97.50 0.0319728 - 67.50 37.50 102.50 0.029963 - 67.50 37.50 107.50 0.0437712 - 67.50 37.50 112.50 0.0857296 - 67.50 37.50 117.50 0.195093 - 67.50 37.50 122.50 0.34409 - 67.50 37.50 127.50 0.537988 - 67.50 37.50 132.50 1.01344 - 67.50 37.50 137.50 2.06342 - 67.50 37.50 142.50 3.52062 - 67.50 37.50 147.50 4.69045 - 67.50 37.50 152.50 4.88877 - 67.50 37.50 157.50 4.03039 - 67.50 37.50 162.50 2.55428 - 67.50 37.50 167.50 1.28792 - 67.50 37.50 172.50 0.628633 - 67.50 37.50 177.50 0.270603 - 67.50 37.50 182.50 0.0974753 - 67.50 37.50 187.50 0.0319728 - 67.50 37.50 192.50 0.029963 - 67.50 37.50 197.50 0.0437712 - 67.50 37.50 202.50 0.0857297 - 67.50 37.50 207.50 0.195092 - 67.50 37.50 212.50 0.34409 - 67.50 37.50 217.50 0.537988 - 67.50 37.50 222.50 1.01343 - 67.50 37.50 227.50 2.06341 - 67.50 37.50 232.50 3.52063 - 67.50 37.50 237.50 4.69045 - 67.50 37.50 242.50 4.88877 - 67.50 37.50 247.50 4.03039 - 67.50 37.50 252.50 2.55427 - 67.50 37.50 257.50 1.28792 - 67.50 37.50 262.50 0.628632 - 67.50 37.50 267.50 0.270603 - 67.50 37.50 272.50 0.0974754 - 67.50 37.50 277.50 0.0319728 - 67.50 37.50 282.50 0.0299629 - 67.50 37.50 287.50 0.0437712 - 67.50 37.50 292.50 0.0857297 - 67.50 37.50 297.50 0.195092 - 67.50 37.50 302.50 0.34409 - 67.50 37.50 307.50 0.537987 - 67.50 37.50 312.50 1.01343 - 67.50 37.50 317.50 2.06341 - 67.50 37.50 322.50 3.52062 - 67.50 37.50 327.50 4.69045 - 67.50 37.50 332.50 4.88877 - 67.50 37.50 337.50 4.03039 - 67.50 37.50 342.50 2.55428 - 67.50 37.50 347.50 1.28793 - 67.50 37.50 352.50 0.628634 - 67.50 37.50 357.50 0.270604 - 67.50 42.50 2.50 0.0543458 - 67.50 42.50 7.50 0.019399 - 67.50 42.50 12.50 0.0181523 - 67.50 42.50 17.50 0.0201029 - 67.50 42.50 22.50 0.029629 - 67.50 42.50 27.50 0.0704416 - 67.50 42.50 32.50 0.134339 - 67.50 42.50 37.50 0.236099 - 67.50 42.50 42.50 0.517224 - 67.50 42.50 47.50 1.17994 - 67.50 42.50 52.50 2.24846 - 67.50 42.50 57.50 3.13446 - 67.50 42.50 62.50 3.37986 - 67.50 42.50 67.50 2.69838 - 67.50 42.50 72.50 1.62574 - 67.50 42.50 77.50 0.790616 - 67.50 42.50 82.50 0.369483 - 67.50 42.50 87.50 0.156544 - 67.50 42.50 92.50 0.0543458 - 67.50 42.50 97.50 0.019399 - 67.50 42.50 102.50 0.0181523 - 67.50 42.50 107.50 0.0201029 - 67.50 42.50 112.50 0.029629 - 67.50 42.50 117.50 0.0704417 - 67.50 42.50 122.50 0.134339 - 67.50 42.50 127.50 0.236099 - 67.50 42.50 132.50 0.517224 - 67.50 42.50 137.50 1.17994 - 67.50 42.50 142.50 2.24846 - 67.50 42.50 147.50 3.13446 - 67.50 42.50 152.50 3.37986 - 67.50 42.50 157.50 2.69838 - 67.50 42.50 162.50 1.62574 - 67.50 42.50 167.50 0.790616 - 67.50 42.50 172.50 0.369483 - 67.50 42.50 177.50 0.156544 - 67.50 42.50 182.50 0.0543457 - 67.50 42.50 187.50 0.019399 - 67.50 42.50 192.50 0.0181523 - 67.50 42.50 197.50 0.0201029 - 67.50 42.50 202.50 0.029629 - 67.50 42.50 207.50 0.0704415 - 67.50 42.50 212.50 0.134339 - 67.50 42.50 217.50 0.236099 - 67.50 42.50 222.50 0.517223 - 67.50 42.50 227.50 1.17994 - 67.50 42.50 232.50 2.24846 - 67.50 42.50 237.50 3.13446 - 67.50 42.50 242.50 3.37986 - 67.50 42.50 247.50 2.69837 - 67.50 42.50 252.50 1.62574 - 67.50 42.50 257.50 0.790616 - 67.50 42.50 262.50 0.369482 - 67.50 42.50 267.50 0.156544 - 67.50 42.50 272.50 0.0543458 - 67.50 42.50 277.50 0.019399 - 67.50 42.50 282.50 0.0181523 - 67.50 42.50 287.50 0.0201029 - 67.50 42.50 292.50 0.029629 - 67.50 42.50 297.50 0.0704415 - 67.50 42.50 302.50 0.134339 - 67.50 42.50 307.50 0.236099 - 67.50 42.50 312.50 0.517222 - 67.50 42.50 317.50 1.17993 - 67.50 42.50 322.50 2.24846 - 67.50 42.50 327.50 3.13446 - 67.50 42.50 332.50 3.37986 - 67.50 42.50 337.50 2.69838 - 67.50 42.50 342.50 1.62575 - 67.50 42.50 347.50 0.790617 - 67.50 42.50 352.50 0.369484 - 67.50 42.50 357.50 0.156545 - 67.50 47.50 2.50 0.0370179 - 67.50 47.50 7.50 0.0308334 - 67.50 47.50 12.50 0.0430621 - 67.50 47.50 17.50 0.0436275 - 67.50 47.50 22.50 0.0300108 - 67.50 47.50 27.50 0.0271068 - 67.50 47.50 32.50 0.0369965 - 67.50 47.50 37.50 0.0803484 - 67.50 47.50 42.50 0.179249 - 67.50 47.50 47.50 0.498101 - 67.50 47.50 52.50 0.922784 - 67.50 47.50 57.50 1.43932 - 67.50 47.50 62.50 1.66793 - 67.50 47.50 67.50 1.41441 - 67.50 47.50 72.50 0.818624 - 67.50 47.50 77.50 0.381166 - 67.50 47.50 82.50 0.17609 - 67.50 47.50 87.50 0.0778326 - 67.50 47.50 92.50 0.0370178 - 67.50 47.50 97.50 0.0308334 - 67.50 47.50 102.50 0.043062 - 67.50 47.50 107.50 0.0436275 - 67.50 47.50 112.50 0.0300108 - 67.50 47.50 117.50 0.0271068 - 67.50 47.50 122.50 0.0369965 - 67.50 47.50 127.50 0.0803485 - 67.50 47.50 132.50 0.179249 - 67.50 47.50 137.50 0.498102 - 67.50 47.50 142.50 0.922784 - 67.50 47.50 147.50 1.43932 - 67.50 47.50 152.50 1.66793 - 67.50 47.50 157.50 1.41441 - 67.50 47.50 162.50 0.818625 - 67.50 47.50 167.50 0.381167 - 67.50 47.50 172.50 0.17609 - 67.50 47.50 177.50 0.0778326 - 67.50 47.50 182.50 0.0370178 - 67.50 47.50 187.50 0.0308333 - 67.50 47.50 192.50 0.043062 - 67.50 47.50 197.50 0.0436275 - 67.50 47.50 202.50 0.0300108 - 67.50 47.50 207.50 0.0271068 - 67.50 47.50 212.50 0.0369965 - 67.50 47.50 217.50 0.0803484 - 67.50 47.50 222.50 0.179249 - 67.50 47.50 227.50 0.498101 - 67.50 47.50 232.50 0.922786 - 67.50 47.50 237.50 1.43932 - 67.50 47.50 242.50 1.66793 - 67.50 47.50 247.50 1.41441 - 67.50 47.50 252.50 0.818624 - 67.50 47.50 257.50 0.381166 - 67.50 47.50 262.50 0.17609 - 67.50 47.50 267.50 0.0778325 - 67.50 47.50 272.50 0.0370179 - 67.50 47.50 277.50 0.0308334 - 67.50 47.50 282.50 0.0430621 - 67.50 47.50 287.50 0.0436275 - 67.50 47.50 292.50 0.0300108 - 67.50 47.50 297.50 0.0271068 - 67.50 47.50 302.50 0.0369965 - 67.50 47.50 307.50 0.0803483 - 67.50 47.50 312.50 0.179249 - 67.50 47.50 317.50 0.498101 - 67.50 47.50 322.50 0.922783 - 67.50 47.50 327.50 1.43932 - 67.50 47.50 332.50 1.66793 - 67.50 47.50 337.50 1.41442 - 67.50 47.50 342.50 0.818626 - 67.50 47.50 347.50 0.381167 - 67.50 47.50 352.50 0.17609 - 67.50 47.50 357.50 0.0778327 - 67.50 52.50 2.50 0.0543458 - 67.50 52.50 7.50 0.0887591 - 67.50 52.50 12.50 0.130606 - 67.50 52.50 17.50 0.136006 - 67.50 52.50 22.50 0.0983816 - 67.50 52.50 27.50 0.0656053 - 67.50 52.50 32.50 0.0377448 - 67.50 52.50 37.50 0.0280947 - 67.50 52.50 42.50 0.0537106 - 67.50 52.50 47.50 0.137815 - 67.50 52.50 52.50 0.283554 - 67.50 52.50 57.50 0.45162 - 67.50 52.50 62.50 0.562986 - 67.50 52.50 67.50 0.525444 - 67.50 52.50 72.50 0.341571 - 67.50 52.50 77.50 0.154202 - 67.50 52.50 82.50 0.0728263 - 67.50 52.50 87.50 0.0469194 - 67.50 52.50 92.50 0.0543458 - 67.50 52.50 97.50 0.088759 - 67.50 52.50 102.50 0.130606 - 67.50 52.50 107.50 0.136006 - 67.50 52.50 112.50 0.0983815 - 67.50 52.50 117.50 0.0656052 - 67.50 52.50 122.50 0.0377448 - 67.50 52.50 127.50 0.0280947 - 67.50 52.50 132.50 0.0537107 - 67.50 52.50 137.50 0.137816 - 67.50 52.50 142.50 0.283554 - 67.50 52.50 147.50 0.45162 - 67.50 52.50 152.50 0.562986 - 67.50 52.50 157.50 0.525444 - 67.50 52.50 162.50 0.341572 - 67.50 52.50 167.50 0.154202 - 67.50 52.50 172.50 0.0728264 - 67.50 52.50 177.50 0.0469194 - 67.50 52.50 182.50 0.0543458 - 67.50 52.50 187.50 0.088759 - 67.50 52.50 192.50 0.130605 - 67.50 52.50 197.50 0.136006 - 67.50 52.50 202.50 0.0983814 - 67.50 52.50 207.50 0.0656052 - 67.50 52.50 212.50 0.0377448 - 67.50 52.50 217.50 0.0280947 - 67.50 52.50 222.50 0.0537107 - 67.50 52.50 227.50 0.137815 - 67.50 52.50 232.50 0.283555 - 67.50 52.50 237.50 0.45162 - 67.50 52.50 242.50 0.562987 - 67.50 52.50 247.50 0.525444 - 67.50 52.50 252.50 0.341571 - 67.50 52.50 257.50 0.154202 - 67.50 52.50 262.50 0.0728263 - 67.50 52.50 267.50 0.0469194 - 67.50 52.50 272.50 0.0543458 - 67.50 52.50 277.50 0.0887591 - 67.50 52.50 282.50 0.130606 - 67.50 52.50 287.50 0.136006 - 67.50 52.50 292.50 0.0983815 - 67.50 52.50 297.50 0.0656053 - 67.50 52.50 302.50 0.0377448 - 67.50 52.50 307.50 0.0280947 - 67.50 52.50 312.50 0.0537106 - 67.50 52.50 317.50 0.137815 - 67.50 52.50 322.50 0.283554 - 67.50 52.50 327.50 0.45162 - 67.50 52.50 332.50 0.562987 - 67.50 52.50 337.50 0.525444 - 67.50 52.50 342.50 0.341572 - 67.50 52.50 347.50 0.154203 - 67.50 52.50 352.50 0.0728264 - 67.50 52.50 357.50 0.0469195 - 67.50 57.50 2.50 0.0974755 - 67.50 57.50 7.50 0.195513 - 67.50 57.50 12.50 0.287254 - 67.50 57.50 17.50 0.34099 - 67.50 57.50 22.50 0.331034 - 67.50 57.50 27.50 0.25129 - 67.50 57.50 32.50 0.155417 - 67.50 57.50 37.50 0.0772949 - 67.50 57.50 42.50 0.0461287 - 67.50 57.50 47.50 0.0555731 - 67.50 57.50 52.50 0.080277 - 67.50 57.50 57.50 0.120496 - 67.50 57.50 62.50 0.134909 - 67.50 57.50 67.50 0.126797 - 67.50 57.50 72.50 0.102507 - 67.50 57.50 77.50 0.0659186 - 67.50 57.50 82.50 0.0293443 - 67.50 57.50 87.50 0.0399963 - 67.50 57.50 92.50 0.0974755 - 67.50 57.50 97.50 0.195513 - 67.50 57.50 102.50 0.287254 - 67.50 57.50 107.50 0.34099 - 67.50 57.50 112.50 0.331034 - 67.50 57.50 117.50 0.25129 - 67.50 57.50 122.50 0.155417 - 67.50 57.50 127.50 0.0772948 - 67.50 57.50 132.50 0.0461287 - 67.50 57.50 137.50 0.0555731 - 67.50 57.50 142.50 0.080277 - 67.50 57.50 147.50 0.120496 - 67.50 57.50 152.50 0.134909 - 67.50 57.50 157.50 0.126797 - 67.50 57.50 162.50 0.102507 - 67.50 57.50 167.50 0.0659187 - 67.50 57.50 172.50 0.0293443 - 67.50 57.50 177.50 0.0399963 - 67.50 57.50 182.50 0.0974755 - 67.50 57.50 187.50 0.195513 - 67.50 57.50 192.50 0.287253 - 67.50 57.50 197.50 0.340989 - 67.50 57.50 202.50 0.331034 - 67.50 57.50 207.50 0.25129 - 67.50 57.50 212.50 0.155417 - 67.50 57.50 217.50 0.0772949 - 67.50 57.50 222.50 0.0461287 - 67.50 57.50 227.50 0.0555732 - 67.50 57.50 232.50 0.0802771 - 67.50 57.50 237.50 0.120496 - 67.50 57.50 242.50 0.134909 - 67.50 57.50 247.50 0.126798 - 67.50 57.50 252.50 0.102507 - 67.50 57.50 257.50 0.0659186 - 67.50 57.50 262.50 0.0293443 - 67.50 57.50 267.50 0.0399964 - 67.50 57.50 272.50 0.0974754 - 67.50 57.50 277.50 0.195513 - 67.50 57.50 282.50 0.287254 - 67.50 57.50 287.50 0.34099 - 67.50 57.50 292.50 0.331035 - 67.50 57.50 297.50 0.25129 - 67.50 57.50 302.50 0.155417 - 67.50 57.50 307.50 0.0772949 - 67.50 57.50 312.50 0.0461287 - 67.50 57.50 317.50 0.0555731 - 67.50 57.50 322.50 0.0802769 - 67.50 57.50 327.50 0.120496 - 67.50 57.50 332.50 0.134909 - 67.50 57.50 337.50 0.126797 - 67.50 57.50 342.50 0.102507 - 67.50 57.50 347.50 0.0659186 - 67.50 57.50 352.50 0.0293443 - 67.50 57.50 357.50 0.0399963 - 67.50 62.50 2.50 0.130738 - 67.50 62.50 7.50 0.296509 - 67.50 62.50 12.50 0.483705 - 67.50 62.50 17.50 0.714308 - 67.50 62.50 22.50 0.841433 - 67.50 62.50 27.50 0.733899 - 67.50 62.50 32.50 0.534545 - 67.50 62.50 37.50 0.352876 - 67.50 62.50 42.50 0.19984 - 67.50 62.50 47.50 0.108223 - 67.50 62.50 52.50 0.0611989 - 67.50 62.50 57.50 0.0444238 - 67.50 62.50 62.50 0.0330205 - 67.50 62.50 67.50 0.0241577 - 67.50 62.50 72.50 0.0214521 - 67.50 62.50 77.50 0.0186962 - 67.50 62.50 82.50 0.0172488 - 67.50 62.50 87.50 0.039468 - 67.50 62.50 92.50 0.130738 - 67.50 62.50 97.50 0.296509 - 67.50 62.50 102.50 0.483704 - 67.50 62.50 107.50 0.714308 - 67.50 62.50 112.50 0.841433 - 67.50 62.50 117.50 0.733899 - 67.50 62.50 122.50 0.534544 - 67.50 62.50 127.50 0.352876 - 67.50 62.50 132.50 0.19984 - 67.50 62.50 137.50 0.108223 - 67.50 62.50 142.50 0.0611989 - 67.50 62.50 147.50 0.0444239 - 67.50 62.50 152.50 0.0330205 - 67.50 62.50 157.50 0.0241577 - 67.50 62.50 162.50 0.0214521 - 67.50 62.50 167.50 0.0186962 - 67.50 62.50 172.50 0.0172488 - 67.50 62.50 177.50 0.0394679 - 67.50 62.50 182.50 0.130738 - 67.50 62.50 187.50 0.296509 - 67.50 62.50 192.50 0.483705 - 67.50 62.50 197.50 0.714309 - 67.50 62.50 202.50 0.841433 - 67.50 62.50 207.50 0.733899 - 67.50 62.50 212.50 0.534545 - 67.50 62.50 217.50 0.352876 - 67.50 62.50 222.50 0.19984 - 67.50 62.50 227.50 0.108223 - 67.50 62.50 232.50 0.0611989 - 67.50 62.50 237.50 0.0444239 - 67.50 62.50 242.50 0.0330205 - 67.50 62.50 247.50 0.0241577 - 67.50 62.50 252.50 0.0214521 - 67.50 62.50 257.50 0.0186961 - 67.50 62.50 262.50 0.0172488 - 67.50 62.50 267.50 0.039468 - 67.50 62.50 272.50 0.130738 - 67.50 62.50 277.50 0.296509 - 67.50 62.50 282.50 0.483705 - 67.50 62.50 287.50 0.714309 - 67.50 62.50 292.50 0.841433 - 67.50 62.50 297.50 0.7339 - 67.50 62.50 302.50 0.534545 - 67.50 62.50 307.50 0.352877 - 67.50 62.50 312.50 0.19984 - 67.50 62.50 317.50 0.108223 - 67.50 62.50 322.50 0.061199 - 67.50 62.50 327.50 0.0444239 - 67.50 62.50 332.50 0.0330205 - 67.50 62.50 337.50 0.0241577 - 67.50 62.50 342.50 0.0214521 - 67.50 62.50 347.50 0.0186962 - 67.50 62.50 352.50 0.0172488 - 67.50 62.50 357.50 0.0394679 - 67.50 67.50 2.50 0.128577 - 67.50 67.50 7.50 0.337514 - 67.50 67.50 12.50 0.699143 - 67.50 67.50 17.50 1.24085 - 67.50 67.50 22.50 1.66328 - 67.50 67.50 27.50 1.69153 - 67.50 67.50 32.50 1.48429 - 67.50 67.50 37.50 1.06691 - 67.50 67.50 42.50 0.669425 - 67.50 67.50 47.50 0.373142 - 67.50 67.50 52.50 0.164346 - 67.50 67.50 57.50 0.0578933 - 67.50 67.50 62.50 0.0175433 - 67.50 67.50 67.50 0.00787526 - 67.50 67.50 72.50 0.00545859 - 67.50 67.50 77.50 0.00578838 - 67.50 67.50 82.50 0.0117613 - 67.50 67.50 87.50 0.0394433 - 67.50 67.50 92.50 0.128577 - 67.50 67.50 97.50 0.337514 - 67.50 67.50 102.50 0.699142 - 67.50 67.50 107.50 1.24085 - 67.50 67.50 112.50 1.66328 - 67.50 67.50 117.50 1.69152 - 67.50 67.50 122.50 1.48429 - 67.50 67.50 127.50 1.06691 - 67.50 67.50 132.50 0.669424 - 67.50 67.50 137.50 0.373142 - 67.50 67.50 142.50 0.164346 - 67.50 67.50 147.50 0.0578933 - 67.50 67.50 152.50 0.0175434 - 67.50 67.50 157.50 0.00787527 - 67.50 67.50 162.50 0.00545859 - 67.50 67.50 167.50 0.00578838 - 67.50 67.50 172.50 0.0117612 - 67.50 67.50 177.50 0.0394433 - 67.50 67.50 182.50 0.128577 - 67.50 67.50 187.50 0.337514 - 67.50 67.50 192.50 0.699143 - 67.50 67.50 197.50 1.24085 - 67.50 67.50 202.50 1.66328 - 67.50 67.50 207.50 1.69153 - 67.50 67.50 212.50 1.48429 - 67.50 67.50 217.50 1.06691 - 67.50 67.50 222.50 0.669425 - 67.50 67.50 227.50 0.373142 - 67.50 67.50 232.50 0.164345 - 67.50 67.50 237.50 0.0578931 - 67.50 67.50 242.50 0.0175433 - 67.50 67.50 247.50 0.00787525 - 67.50 67.50 252.50 0.00545859 - 67.50 67.50 257.50 0.00578839 - 67.50 67.50 262.50 0.0117612 - 67.50 67.50 267.50 0.0394434 - 67.50 67.50 272.50 0.128577 - 67.50 67.50 277.50 0.337514 - 67.50 67.50 282.50 0.699143 - 67.50 67.50 287.50 1.24085 - 67.50 67.50 292.50 1.66329 - 67.50 67.50 297.50 1.69153 - 67.50 67.50 302.50 1.4843 - 67.50 67.50 307.50 1.06691 - 67.50 67.50 312.50 0.669425 - 67.50 67.50 317.50 0.373142 - 67.50 67.50 322.50 0.164346 - 67.50 67.50 327.50 0.0578934 - 67.50 67.50 332.50 0.0175434 - 67.50 67.50 337.50 0.00787527 - 67.50 67.50 342.50 0.00545859 - 67.50 67.50 347.50 0.00578837 - 67.50 67.50 352.50 0.0117613 - 67.50 67.50 357.50 0.0394432 - 67.50 72.50 2.50 0.121879 - 67.50 72.50 7.50 0.363239 - 67.50 72.50 12.50 0.884302 - 67.50 72.50 17.50 1.77937 - 67.50 72.50 22.50 2.6212 - 67.50 72.50 27.50 3.06923 - 67.50 72.50 32.50 2.86468 - 67.50 72.50 37.50 2.26691 - 67.50 72.50 42.50 1.58649 - 67.50 72.50 47.50 0.922023 - 67.50 72.50 52.50 0.459733 - 67.50 72.50 57.50 0.177831 - 67.50 72.50 62.50 0.0576381 - 67.50 72.50 67.50 0.0188465 - 67.50 72.50 72.50 0.0137829 - 67.50 72.50 77.50 0.0109335 - 67.50 72.50 82.50 0.0180791 - 67.50 72.50 87.50 0.050492 - 67.50 72.50 92.50 0.121879 - 67.50 72.50 97.50 0.363239 - 67.50 72.50 102.50 0.884302 - 67.50 72.50 107.50 1.77937 - 67.50 72.50 112.50 2.6212 - 67.50 72.50 117.50 3.06923 - 67.50 72.50 122.50 2.86468 - 67.50 72.50 127.50 2.26691 - 67.50 72.50 132.50 1.58648 - 67.50 72.50 137.50 0.922023 - 67.50 72.50 142.50 0.459733 - 67.50 72.50 147.50 0.177832 - 67.50 72.50 152.50 0.0576383 - 67.50 72.50 157.50 0.0188466 - 67.50 72.50 162.50 0.013783 - 67.50 72.50 167.50 0.0109335 - 67.50 72.50 172.50 0.018079 - 67.50 72.50 177.50 0.050492 - 67.50 72.50 182.50 0.121879 - 67.50 72.50 187.50 0.363239 - 67.50 72.50 192.50 0.884302 - 67.50 72.50 197.50 1.77937 - 67.50 72.50 202.50 2.6212 - 67.50 72.50 207.50 3.06923 - 67.50 72.50 212.50 2.86468 - 67.50 72.50 217.50 2.26691 - 67.50 72.50 222.50 1.58649 - 67.50 72.50 227.50 0.922023 - 67.50 72.50 232.50 0.459732 - 67.50 72.50 237.50 0.177831 - 67.50 72.50 242.50 0.057638 - 67.50 72.50 247.50 0.0188465 - 67.50 72.50 252.50 0.0137829 - 67.50 72.50 257.50 0.0109335 - 67.50 72.50 262.50 0.0180791 - 67.50 72.50 267.50 0.050492 - 67.50 72.50 272.50 0.121879 - 67.50 72.50 277.50 0.363239 - 67.50 72.50 282.50 0.884302 - 67.50 72.50 287.50 1.77937 - 67.50 72.50 292.50 2.6212 - 67.50 72.50 297.50 3.06923 - 67.50 72.50 302.50 2.86468 - 67.50 72.50 307.50 2.26692 - 67.50 72.50 312.50 1.58649 - 67.50 72.50 317.50 0.922023 - 67.50 72.50 322.50 0.459734 - 67.50 72.50 327.50 0.177832 - 67.50 72.50 332.50 0.0576384 - 67.50 72.50 337.50 0.0188466 - 67.50 72.50 342.50 0.0137829 - 67.50 72.50 347.50 0.0109335 - 67.50 72.50 352.50 0.018079 - 67.50 72.50 357.50 0.0504919 - 67.50 77.50 2.50 0.129911 - 67.50 77.50 7.50 0.401407 - 67.50 77.50 12.50 0.979881 - 67.50 77.50 17.50 2.14485 - 67.50 77.50 22.50 3.22584 - 67.50 77.50 27.50 3.92391 - 67.50 77.50 32.50 4.06137 - 67.50 77.50 37.50 3.61436 - 67.50 77.50 42.50 2.79439 - 67.50 77.50 47.50 1.93749 - 67.50 77.50 52.50 1.13284 - 67.50 77.50 57.50 0.529718 - 67.50 77.50 62.50 0.202158 - 67.50 77.50 67.50 0.0747901 - 67.50 77.50 72.50 0.0323424 - 67.50 77.50 77.50 0.0271833 - 67.50 77.50 82.50 0.0247857 - 67.50 77.50 87.50 0.0644309 - 67.50 77.50 92.50 0.129911 - 67.50 77.50 97.50 0.401407 - 67.50 77.50 102.50 0.979881 - 67.50 77.50 107.50 2.14485 - 67.50 77.50 112.50 3.22583 - 67.50 77.50 117.50 3.92391 - 67.50 77.50 122.50 4.06137 - 67.50 77.50 127.50 3.61436 - 67.50 77.50 132.50 2.79439 - 67.50 77.50 137.50 1.93749 - 67.50 77.50 142.50 1.13284 - 67.50 77.50 147.50 0.529718 - 67.50 77.50 152.50 0.202158 - 67.50 77.50 157.50 0.0747902 - 67.50 77.50 162.50 0.0323425 - 67.50 77.50 167.50 0.0271833 - 67.50 77.50 172.50 0.0247857 - 67.50 77.50 177.50 0.0644308 - 67.50 77.50 182.50 0.129911 - 67.50 77.50 187.50 0.401407 - 67.50 77.50 192.50 0.979882 - 67.50 77.50 197.50 2.14485 - 67.50 77.50 202.50 3.22584 - 67.50 77.50 207.50 3.92391 - 67.50 77.50 212.50 4.06136 - 67.50 77.50 217.50 3.61436 - 67.50 77.50 222.50 2.79439 - 67.50 77.50 227.50 1.93749 - 67.50 77.50 232.50 1.13284 - 67.50 77.50 237.50 0.529717 - 67.50 77.50 242.50 0.202158 - 67.50 77.50 247.50 0.07479 - 67.50 77.50 252.50 0.0323424 - 67.50 77.50 257.50 0.0271833 - 67.50 77.50 262.50 0.0247857 - 67.50 77.50 267.50 0.0644309 - 67.50 77.50 272.50 0.129911 - 67.50 77.50 277.50 0.401407 - 67.50 77.50 282.50 0.979881 - 67.50 77.50 287.50 2.14485 - 67.50 77.50 292.50 3.22584 - 67.50 77.50 297.50 3.92391 - 67.50 77.50 302.50 4.06137 - 67.50 77.50 307.50 3.61436 - 67.50 77.50 312.50 2.79439 - 67.50 77.50 317.50 1.93749 - 67.50 77.50 322.50 1.13285 - 67.50 77.50 327.50 0.529718 - 67.50 77.50 332.50 0.202159 - 67.50 77.50 337.50 0.0747903 - 67.50 77.50 342.50 0.0323425 - 67.50 77.50 347.50 0.0271833 - 67.50 77.50 352.50 0.0247857 - 67.50 77.50 357.50 0.0644307 - 67.50 82.50 2.50 0.116684 - 67.50 82.50 7.50 0.341343 - 67.50 82.50 12.50 0.980142 - 67.50 82.50 17.50 1.86165 - 67.50 82.50 22.50 3.02759 - 67.50 82.50 27.50 4.00215 - 67.50 82.50 32.50 4.57792 - 67.50 82.50 37.50 4.68213 - 67.50 82.50 42.50 4.28592 - 67.50 82.50 47.50 3.4332 - 67.50 82.50 52.50 2.31854 - 67.50 82.50 57.50 1.2743 - 67.50 82.50 62.50 0.600577 - 67.50 82.50 67.50 0.269231 - 67.50 82.50 72.50 0.118622 - 67.50 82.50 77.50 0.0540157 - 67.50 82.50 82.50 0.0362753 - 67.50 82.50 87.50 0.0524977 - 67.50 82.50 92.50 0.116684 - 67.50 82.50 97.50 0.341343 - 67.50 82.50 102.50 0.980142 - 67.50 82.50 107.50 1.86165 - 67.50 82.50 112.50 3.02759 - 67.50 82.50 117.50 4.00215 - 67.50 82.50 122.50 4.57792 - 67.50 82.50 127.50 4.68213 - 67.50 82.50 132.50 4.28591 - 67.50 82.50 137.50 3.43319 - 67.50 82.50 142.50 2.31854 - 67.50 82.50 147.50 1.2743 - 67.50 82.50 152.50 0.600578 - 67.50 82.50 157.50 0.269232 - 67.50 82.50 162.50 0.118622 - 67.50 82.50 167.50 0.0540158 - 67.50 82.50 172.50 0.0362753 - 67.50 82.50 177.50 0.0524977 - 67.50 82.50 182.50 0.116684 - 67.50 82.50 187.50 0.341343 - 67.50 82.50 192.50 0.980142 - 67.50 82.50 197.50 1.86165 - 67.50 82.50 202.50 3.02759 - 67.50 82.50 207.50 4.00215 - 67.50 82.50 212.50 4.57792 - 67.50 82.50 217.50 4.68213 - 67.50 82.50 222.50 4.28592 - 67.50 82.50 227.50 3.4332 - 67.50 82.50 232.50 2.31854 - 67.50 82.50 237.50 1.2743 - 67.50 82.50 242.50 0.600577 - 67.50 82.50 247.50 0.269231 - 67.50 82.50 252.50 0.118622 - 67.50 82.50 257.50 0.0540157 - 67.50 82.50 262.50 0.0362753 - 67.50 82.50 267.50 0.0524977 - 67.50 82.50 272.50 0.116684 - 67.50 82.50 277.50 0.341343 - 67.50 82.50 282.50 0.980142 - 67.50 82.50 287.50 1.86165 - 67.50 82.50 292.50 3.02759 - 67.50 82.50 297.50 4.00215 - 67.50 82.50 302.50 4.57792 - 67.50 82.50 307.50 4.68213 - 67.50 82.50 312.50 4.28592 - 67.50 82.50 317.50 3.4332 - 67.50 82.50 322.50 2.31854 - 67.50 82.50 327.50 1.2743 - 67.50 82.50 332.50 0.600579 - 67.50 82.50 337.50 0.269232 - 67.50 82.50 342.50 0.118622 - 67.50 82.50 347.50 0.0540158 - 67.50 82.50 352.50 0.0362753 - 67.50 82.50 357.50 0.0524975 - 67.50 87.50 2.50 0.0733504 - 67.50 87.50 7.50 0.240551 - 67.50 87.50 12.50 0.576255 - 67.50 87.50 17.50 1.238 - 67.50 87.50 22.50 2.1196 - 67.50 87.50 27.50 3.22083 - 67.50 87.50 32.50 4.20612 - 67.50 87.50 37.50 4.83952 - 67.50 87.50 42.50 4.99921 - 67.50 87.50 47.50 4.61084 - 67.50 87.50 52.50 3.66805 - 67.50 87.50 57.50 2.45668 - 67.50 87.50 62.50 1.43339 - 67.50 87.50 67.50 0.771998 - 67.50 87.50 72.50 0.383313 - 67.50 87.50 77.50 0.175026 - 67.50 87.50 82.50 0.0741839 - 67.50 87.50 87.50 0.0437786 - 67.50 87.50 92.50 0.0733504 - 67.50 87.50 97.50 0.240551 - 67.50 87.50 102.50 0.576255 - 67.50 87.50 107.50 1.238 - 67.50 87.50 112.50 2.1196 - 67.50 87.50 117.50 3.22084 - 67.50 87.50 122.50 4.20612 - 67.50 87.50 127.50 4.83952 - 67.50 87.50 132.50 4.99921 - 67.50 87.50 137.50 4.61084 - 67.50 87.50 142.50 3.66804 - 67.50 87.50 147.50 2.45668 - 67.50 87.50 152.50 1.43339 - 67.50 87.50 157.50 0.771999 - 67.50 87.50 162.50 0.383313 - 67.50 87.50 167.50 0.175026 - 67.50 87.50 172.50 0.074184 - 67.50 87.50 177.50 0.0437786 - 67.50 87.50 182.50 0.0733505 - 67.50 87.50 187.50 0.240551 - 67.50 87.50 192.50 0.576256 - 67.50 87.50 197.50 1.238 - 67.50 87.50 202.50 2.1196 - 67.50 87.50 207.50 3.22084 - 67.50 87.50 212.50 4.20612 - 67.50 87.50 217.50 4.83952 - 67.50 87.50 222.50 4.99921 - 67.50 87.50 227.50 4.61084 - 67.50 87.50 232.50 3.66804 - 67.50 87.50 237.50 2.45668 - 67.50 87.50 242.50 1.43339 - 67.50 87.50 247.50 0.771998 - 67.50 87.50 252.50 0.383313 - 67.50 87.50 257.50 0.175026 - 67.50 87.50 262.50 0.0741838 - 67.50 87.50 267.50 0.0437786 - 67.50 87.50 272.50 0.0733504 - 67.50 87.50 277.50 0.240551 - 67.50 87.50 282.50 0.576255 - 67.50 87.50 287.50 1.238 - 67.50 87.50 292.50 2.1196 - 67.50 87.50 297.50 3.22083 - 67.50 87.50 302.50 4.20612 - 67.50 87.50 307.50 4.83952 - 67.50 87.50 312.50 4.99921 - 67.50 87.50 317.50 4.61084 - 67.50 87.50 322.50 3.66805 - 67.50 87.50 327.50 2.45668 - 67.50 87.50 332.50 1.4334 - 67.50 87.50 337.50 0.772 - 67.50 87.50 342.50 0.383314 - 67.50 87.50 347.50 0.175027 - 67.50 87.50 352.50 0.0741841 - 67.50 87.50 357.50 0.0437786 - 67.50 92.50 2.50 0.0485219 - 67.50 92.50 7.50 0.0874275 - 67.50 92.50 12.50 0.221571 - 67.50 92.50 17.50 0.514899 - 67.50 92.50 22.50 1.04915 - 67.50 92.50 27.50 1.82434 - 67.50 92.50 32.50 2.76505 - 67.50 92.50 37.50 3.78322 - 67.50 92.50 42.50 4.66762 - 67.50 92.50 47.50 5.03542 - 67.50 92.50 52.50 4.66762 - 67.50 92.50 57.50 3.78322 - 67.50 92.50 62.50 2.76505 - 67.50 92.50 67.50 1.82434 - 67.50 92.50 72.50 1.04915 - 67.50 92.50 77.50 0.514899 - 67.50 92.50 82.50 0.221571 - 67.50 92.50 87.50 0.0874276 - 67.50 92.50 92.50 0.0485219 - 67.50 92.50 97.50 0.0874277 - 67.50 92.50 102.50 0.221571 - 67.50 92.50 107.50 0.514899 - 67.50 92.50 112.50 1.04915 - 67.50 92.50 117.50 1.82434 - 67.50 92.50 122.50 2.76505 - 67.50 92.50 127.50 3.78322 - 67.50 92.50 132.50 4.66762 - 67.50 92.50 137.50 5.03542 - 67.50 92.50 142.50 4.66762 - 67.50 92.50 147.50 3.78322 - 67.50 92.50 152.50 2.76505 - 67.50 92.50 157.50 1.82434 - 67.50 92.50 162.50 1.04915 - 67.50 92.50 167.50 0.514899 - 67.50 92.50 172.50 0.221571 - 67.50 92.50 177.50 0.0874277 - 67.50 92.50 182.50 0.0485219 - 67.50 92.50 187.50 0.0874277 - 67.50 92.50 192.50 0.221571 - 67.50 92.50 197.50 0.514899 - 67.50 92.50 202.50 1.04915 - 67.50 92.50 207.50 1.82434 - 67.50 92.50 212.50 2.76505 - 67.50 92.50 217.50 3.78322 - 67.50 92.50 222.50 4.66762 - 67.50 92.50 227.50 5.03542 - 67.50 92.50 232.50 4.66762 - 67.50 92.50 237.50 3.78322 - 67.50 92.50 242.50 2.76505 - 67.50 92.50 247.50 1.82434 - 67.50 92.50 252.50 1.04914 - 67.50 92.50 257.50 0.514898 - 67.50 92.50 262.50 0.221571 - 67.50 92.50 267.50 0.0874275 - 67.50 92.50 272.50 0.0485219 - 67.50 92.50 277.50 0.0874276 - 67.50 92.50 282.50 0.221571 - 67.50 92.50 287.50 0.514899 - 67.50 92.50 292.50 1.04915 - 67.50 92.50 297.50 1.82434 - 67.50 92.50 302.50 2.76505 - 67.50 92.50 307.50 3.78322 - 67.50 92.50 312.50 4.66762 - 67.50 92.50 317.50 5.03542 - 67.50 92.50 322.50 4.66762 - 67.50 92.50 327.50 3.78322 - 67.50 92.50 332.50 2.76506 - 67.50 92.50 337.50 1.82434 - 67.50 92.50 342.50 1.04915 - 67.50 92.50 347.50 0.5149 - 67.50 92.50 352.50 0.221572 - 67.50 92.50 357.50 0.0874279 - 67.50 97.50 2.50 0.0733504 - 67.50 97.50 7.50 0.0437786 - 67.50 97.50 12.50 0.0741839 - 67.50 97.50 17.50 0.175026 - 67.50 97.50 22.50 0.383313 - 67.50 97.50 27.50 0.771999 - 67.50 97.50 32.50 1.43339 - 67.50 97.50 37.50 2.45668 - 67.50 97.50 42.50 3.66805 - 67.50 97.50 47.50 4.61084 - 67.50 97.50 52.50 4.99921 - 67.50 97.50 57.50 4.83952 - 67.50 97.50 62.50 4.20612 - 67.50 97.50 67.50 3.22083 - 67.50 97.50 72.50 2.1196 - 67.50 97.50 77.50 1.238 - 67.50 97.50 82.50 0.576255 - 67.50 97.50 87.50 0.240551 - 67.50 97.50 92.50 0.0733504 - 67.50 97.50 97.50 0.0437786 - 67.50 97.50 102.50 0.074184 - 67.50 97.50 107.50 0.175026 - 67.50 97.50 112.50 0.383313 - 67.50 97.50 117.50 0.772 - 67.50 97.50 122.50 1.4334 - 67.50 97.50 127.50 2.45668 - 67.50 97.50 132.50 3.66805 - 67.50 97.50 137.50 4.61084 - 67.50 97.50 142.50 4.99921 - 67.50 97.50 147.50 4.83952 - 67.50 97.50 152.50 4.20612 - 67.50 97.50 157.50 3.22083 - 67.50 97.50 162.50 2.1196 - 67.50 97.50 167.50 1.238 - 67.50 97.50 172.50 0.576256 - 67.50 97.50 177.50 0.240551 - 67.50 97.50 182.50 0.0733504 - 67.50 97.50 187.50 0.0437786 - 67.50 97.50 192.50 0.0741841 - 67.50 97.50 197.50 0.175027 - 67.50 97.50 202.50 0.383313 - 67.50 97.50 207.50 0.772 - 67.50 97.50 212.50 1.43339 - 67.50 97.50 217.50 2.45668 - 67.50 97.50 222.50 3.66805 - 67.50 97.50 227.50 4.61084 - 67.50 97.50 232.50 4.99921 - 67.50 97.50 237.50 4.83952 - 67.50 97.50 242.50 4.20612 - 67.50 97.50 247.50 3.22083 - 67.50 97.50 252.50 2.1196 - 67.50 97.50 257.50 1.238 - 67.50 97.50 262.50 0.576254 - 67.50 97.50 267.50 0.240551 - 67.50 97.50 272.50 0.0733504 - 67.50 97.50 277.50 0.0437786 - 67.50 97.50 282.50 0.0741839 - 67.50 97.50 287.50 0.175026 - 67.50 97.50 292.50 0.383313 - 67.50 97.50 297.50 0.771999 - 67.50 97.50 302.50 1.43339 - 67.50 97.50 307.50 2.45668 - 67.50 97.50 312.50 3.66805 - 67.50 97.50 317.50 4.61084 - 67.50 97.50 322.50 4.99921 - 67.50 97.50 327.50 4.83952 - 67.50 97.50 332.50 4.20612 - 67.50 97.50 337.50 3.22083 - 67.50 97.50 342.50 2.1196 - 67.50 97.50 347.50 1.238 - 67.50 97.50 352.50 0.576257 - 67.50 97.50 357.50 0.240552 - 67.50 102.50 2.50 0.116684 - 67.50 102.50 7.50 0.0524976 - 67.50 102.50 12.50 0.0362753 - 67.50 102.50 17.50 0.0540157 - 67.50 102.50 22.50 0.118622 - 67.50 102.50 27.50 0.269232 - 67.50 102.50 32.50 0.600578 - 67.50 102.50 37.50 1.2743 - 67.50 102.50 42.50 2.31854 - 67.50 102.50 47.50 3.4332 - 67.50 102.50 52.50 4.28592 - 67.50 102.50 57.50 4.68213 - 67.50 102.50 62.50 4.57792 - 67.50 102.50 67.50 4.00215 - 67.50 102.50 72.50 3.02758 - 67.50 102.50 77.50 1.86165 - 67.50 102.50 82.50 0.980142 - 67.50 102.50 87.50 0.341343 - 67.50 102.50 92.50 0.116684 - 67.50 102.50 97.50 0.0524976 - 67.50 102.50 102.50 0.0362753 - 67.50 102.50 107.50 0.0540157 - 67.50 102.50 112.50 0.118622 - 67.50 102.50 117.50 0.269232 - 67.50 102.50 122.50 0.600579 - 67.50 102.50 127.50 1.2743 - 67.50 102.50 132.50 2.31854 - 67.50 102.50 137.50 3.4332 - 67.50 102.50 142.50 4.28592 - 67.50 102.50 147.50 4.68213 - 67.50 102.50 152.50 4.57792 - 67.50 102.50 157.50 4.00215 - 67.50 102.50 162.50 3.02759 - 67.50 102.50 167.50 1.86165 - 67.50 102.50 172.50 0.980143 - 67.50 102.50 177.50 0.341344 - 67.50 102.50 182.50 0.116684 - 67.50 102.50 187.50 0.0524976 - 67.50 102.50 192.50 0.0362753 - 67.50 102.50 197.50 0.0540158 - 67.50 102.50 202.50 0.118622 - 67.50 102.50 207.50 0.269232 - 67.50 102.50 212.50 0.600579 - 67.50 102.50 217.50 1.2743 - 67.50 102.50 222.50 2.31854 - 67.50 102.50 227.50 3.4332 - 67.50 102.50 232.50 4.28592 - 67.50 102.50 237.50 4.68213 - 67.50 102.50 242.50 4.57792 - 67.50 102.50 247.50 4.00215 - 67.50 102.50 252.50 3.02758 - 67.50 102.50 257.50 1.86165 - 67.50 102.50 262.50 0.980141 - 67.50 102.50 267.50 0.341343 - 67.50 102.50 272.50 0.116684 - 67.50 102.50 277.50 0.0524977 - 67.50 102.50 282.50 0.0362753 - 67.50 102.50 287.50 0.0540157 - 67.50 102.50 292.50 0.118622 - 67.50 102.50 297.50 0.269231 - 67.50 102.50 302.50 0.600578 - 67.50 102.50 307.50 1.2743 - 67.50 102.50 312.50 2.31854 - 67.50 102.50 317.50 3.4332 - 67.50 102.50 322.50 4.28591 - 67.50 102.50 327.50 4.68213 - 67.50 102.50 332.50 4.57792 - 67.50 102.50 337.50 4.00215 - 67.50 102.50 342.50 3.02759 - 67.50 102.50 347.50 1.86166 - 67.50 102.50 352.50 0.980143 - 67.50 102.50 357.50 0.341344 - 67.50 107.50 2.50 0.129911 - 67.50 107.50 7.50 0.0644308 - 67.50 107.50 12.50 0.0247857 - 67.50 107.50 17.50 0.0271833 - 67.50 107.50 22.50 0.0323424 - 67.50 107.50 27.50 0.0747902 - 67.50 107.50 32.50 0.202158 - 67.50 107.50 37.50 0.529718 - 67.50 107.50 42.50 1.13284 - 67.50 107.50 47.50 1.93749 - 67.50 107.50 52.50 2.79439 - 67.50 107.50 57.50 3.61436 - 67.50 107.50 62.50 4.06137 - 67.50 107.50 67.50 3.92391 - 67.50 107.50 72.50 3.22584 - 67.50 107.50 77.50 2.14485 - 67.50 107.50 82.50 0.979881 - 67.50 107.50 87.50 0.401407 - 67.50 107.50 92.50 0.129911 - 67.50 107.50 97.50 0.0644308 - 67.50 107.50 102.50 0.0247857 - 67.50 107.50 107.50 0.0271833 - 67.50 107.50 112.50 0.0323425 - 67.50 107.50 117.50 0.0747903 - 67.50 107.50 122.50 0.202159 - 67.50 107.50 127.50 0.529719 - 67.50 107.50 132.50 1.13284 - 67.50 107.50 137.50 1.93749 - 67.50 107.50 142.50 2.79439 - 67.50 107.50 147.50 3.61436 - 67.50 107.50 152.50 4.06137 - 67.50 107.50 157.50 3.92391 - 67.50 107.50 162.50 3.22584 - 67.50 107.50 167.50 2.14485 - 67.50 107.50 172.50 0.979882 - 67.50 107.50 177.50 0.401407 - 67.50 107.50 182.50 0.129911 - 67.50 107.50 187.50 0.0644308 - 67.50 107.50 192.50 0.0247857 - 67.50 107.50 197.50 0.0271833 - 67.50 107.50 202.50 0.0323425 - 67.50 107.50 207.50 0.0747903 - 67.50 107.50 212.50 0.202158 - 67.50 107.50 217.50 0.529718 - 67.50 107.50 222.50 1.13284 - 67.50 107.50 227.50 1.93749 - 67.50 107.50 232.50 2.7944 - 67.50 107.50 237.50 3.61436 - 67.50 107.50 242.50 4.06137 - 67.50 107.50 247.50 3.92391 - 67.50 107.50 252.50 3.22583 - 67.50 107.50 257.50 2.14485 - 67.50 107.50 262.50 0.979879 - 67.50 107.50 267.50 0.401407 - 67.50 107.50 272.50 0.129911 - 67.50 107.50 277.50 0.0644308 - 67.50 107.50 282.50 0.0247857 - 67.50 107.50 287.50 0.0271833 - 67.50 107.50 292.50 0.0323424 - 67.50 107.50 297.50 0.0747901 - 67.50 107.50 302.50 0.202158 - 67.50 107.50 307.50 0.529717 - 67.50 107.50 312.50 1.13284 - 67.50 107.50 317.50 1.93749 - 67.50 107.50 322.50 2.79439 - 67.50 107.50 327.50 3.61436 - 67.50 107.50 332.50 4.06137 - 67.50 107.50 337.50 3.92391 - 67.50 107.50 342.50 3.22584 - 67.50 107.50 347.50 2.14486 - 67.50 107.50 352.50 0.979884 - 67.50 107.50 357.50 0.401408 - 67.50 112.50 2.50 0.121879 - 67.50 112.50 7.50 0.050492 - 67.50 112.50 12.50 0.018079 - 67.50 112.50 17.50 0.0109335 - 67.50 112.50 22.50 0.0137829 - 67.50 112.50 27.50 0.0188465 - 67.50 112.50 32.50 0.0576382 - 67.50 112.50 37.50 0.177832 - 67.50 112.50 42.50 0.459734 - 67.50 112.50 47.50 0.922023 - 67.50 112.50 52.50 1.58648 - 67.50 112.50 57.50 2.26692 - 67.50 112.50 62.50 2.86469 - 67.50 112.50 67.50 3.06923 - 67.50 112.50 72.50 2.6212 - 67.50 112.50 77.50 1.77937 - 67.50 112.50 82.50 0.884302 - 67.50 112.50 87.50 0.363239 - 67.50 112.50 92.50 0.121879 - 67.50 112.50 97.50 0.050492 - 67.50 112.50 102.50 0.018079 - 67.50 112.50 107.50 0.0109335 - 67.50 112.50 112.50 0.0137829 - 67.50 112.50 117.50 0.0188466 - 67.50 112.50 122.50 0.0576384 - 67.50 112.50 127.50 0.177832 - 67.50 112.50 132.50 0.459734 - 67.50 112.50 137.50 0.922024 - 67.50 112.50 142.50 1.58649 - 67.50 112.50 147.50 2.26692 - 67.50 112.50 152.50 2.86468 - 67.50 112.50 157.50 3.06923 - 67.50 112.50 162.50 2.6212 - 67.50 112.50 167.50 1.77937 - 67.50 112.50 172.50 0.884304 - 67.50 112.50 177.50 0.363239 - 67.50 112.50 182.50 0.121879 - 67.50 112.50 187.50 0.050492 - 67.50 112.50 192.50 0.018079 - 67.50 112.50 197.50 0.0109335 - 67.50 112.50 202.50 0.0137829 - 67.50 112.50 207.50 0.0188466 - 67.50 112.50 212.50 0.0576383 - 67.50 112.50 217.50 0.177832 - 67.50 112.50 222.50 0.459733 - 67.50 112.50 227.50 0.922024 - 67.50 112.50 232.50 1.58649 - 67.50 112.50 237.50 2.26692 - 67.50 112.50 242.50 2.86469 - 67.50 112.50 247.50 3.06923 - 67.50 112.50 252.50 2.6212 - 67.50 112.50 257.50 1.77937 - 67.50 112.50 262.50 0.884301 - 67.50 112.50 267.50 0.363238 - 67.50 112.50 272.50 0.121878 - 67.50 112.50 277.50 0.050492 - 67.50 112.50 282.50 0.018079 - 67.50 112.50 287.50 0.0109335 - 67.50 112.50 292.50 0.0137829 - 67.50 112.50 297.50 0.0188465 - 67.50 112.50 302.50 0.0576381 - 67.50 112.50 307.50 0.177831 - 67.50 112.50 312.50 0.459733 - 67.50 112.50 317.50 0.922023 - 67.50 112.50 322.50 1.58648 - 67.50 112.50 327.50 2.26691 - 67.50 112.50 332.50 2.86468 - 67.50 112.50 337.50 3.06923 - 67.50 112.50 342.50 2.6212 - 67.50 112.50 347.50 1.77937 - 67.50 112.50 352.50 0.884304 - 67.50 112.50 357.50 0.36324 - 67.50 117.50 2.50 0.128577 - 67.50 117.50 7.50 0.0394433 - 67.50 117.50 12.50 0.0117612 - 67.50 117.50 17.50 0.00578838 - 67.50 117.50 22.50 0.00545859 - 67.50 117.50 27.50 0.00787526 - 67.50 117.50 32.50 0.0175434 - 67.50 117.50 37.50 0.0578932 - 67.50 117.50 42.50 0.164345 - 67.50 117.50 47.50 0.373141 - 67.50 117.50 52.50 0.669424 - 67.50 117.50 57.50 1.06691 - 67.50 117.50 62.50 1.48429 - 67.50 117.50 67.50 1.69152 - 67.50 117.50 72.50 1.66328 - 67.50 117.50 77.50 1.24085 - 67.50 117.50 82.50 0.699141 - 67.50 117.50 87.50 0.337514 - 67.50 117.50 92.50 0.128577 - 67.50 117.50 97.50 0.0394433 - 67.50 117.50 102.50 0.0117613 - 67.50 117.50 107.50 0.00578838 - 67.50 117.50 112.50 0.00545859 - 67.50 117.50 117.50 0.00787527 - 67.50 117.50 122.50 0.0175434 - 67.50 117.50 127.50 0.0578933 - 67.50 117.50 132.50 0.164346 - 67.50 117.50 137.50 0.373142 - 67.50 117.50 142.50 0.669424 - 67.50 117.50 147.50 1.06691 - 67.50 117.50 152.50 1.48429 - 67.50 117.50 157.50 1.69152 - 67.50 117.50 162.50 1.66328 - 67.50 117.50 167.50 1.24085 - 67.50 117.50 172.50 0.699142 - 67.50 117.50 177.50 0.337514 - 67.50 117.50 182.50 0.128577 - 67.50 117.50 187.50 0.0394433 - 67.50 117.50 192.50 0.0117613 - 67.50 117.50 197.50 0.00578838 - 67.50 117.50 202.50 0.00545859 - 67.50 117.50 207.50 0.00787527 - 67.50 117.50 212.50 0.0175434 - 67.50 117.50 217.50 0.0578932 - 67.50 117.50 222.50 0.164346 - 67.50 117.50 227.50 0.373141 - 67.50 117.50 232.50 0.669425 - 67.50 117.50 237.50 1.06691 - 67.50 117.50 242.50 1.48429 - 67.50 117.50 247.50 1.69152 - 67.50 117.50 252.50 1.66328 - 67.50 117.50 257.50 1.24085 - 67.50 117.50 262.50 0.699141 - 67.50 117.50 267.50 0.337514 - 67.50 117.50 272.50 0.128577 - 67.50 117.50 277.50 0.0394433 - 67.50 117.50 282.50 0.0117613 - 67.50 117.50 287.50 0.00578838 - 67.50 117.50 292.50 0.00545859 - 67.50 117.50 297.50 0.00787526 - 67.50 117.50 302.50 0.0175433 - 67.50 117.50 307.50 0.0578931 - 67.50 117.50 312.50 0.164345 - 67.50 117.50 317.50 0.373141 - 67.50 117.50 322.50 0.669423 - 67.50 117.50 327.50 1.06691 - 67.50 117.50 332.50 1.48429 - 67.50 117.50 337.50 1.69152 - 67.50 117.50 342.50 1.66328 - 67.50 117.50 347.50 1.24085 - 67.50 117.50 352.50 0.699143 - 67.50 117.50 357.50 0.337515 - 67.50 122.50 2.50 0.130738 - 67.50 122.50 7.50 0.039468 - 67.50 122.50 12.50 0.0172488 - 67.50 122.50 17.50 0.0186962 - 67.50 122.50 22.50 0.0214522 - 67.50 122.50 27.50 0.0241578 - 67.50 122.50 32.50 0.0330205 - 67.50 122.50 37.50 0.0444239 - 67.50 122.50 42.50 0.0611988 - 67.50 122.50 47.50 0.108222 - 67.50 122.50 52.50 0.199839 - 67.50 122.50 57.50 0.352876 - 67.50 122.50 62.50 0.534545 - 67.50 122.50 67.50 0.733899 - 67.50 122.50 72.50 0.841432 - 67.50 122.50 77.50 0.714307 - 67.50 122.50 82.50 0.483704 - 67.50 122.50 87.50 0.296509 - 67.50 122.50 92.50 0.130738 - 67.50 122.50 97.50 0.039468 - 67.50 122.50 102.50 0.0172488 - 67.50 122.50 107.50 0.0186962 - 67.50 122.50 112.50 0.0214521 - 67.50 122.50 117.50 0.0241578 - 67.50 122.50 122.50 0.0330205 - 67.50 122.50 127.50 0.0444239 - 67.50 122.50 132.50 0.0611989 - 67.50 122.50 137.50 0.108222 - 67.50 122.50 142.50 0.199839 - 67.50 122.50 147.50 0.352876 - 67.50 122.50 152.50 0.534545 - 67.50 122.50 157.50 0.733899 - 67.50 122.50 162.50 0.841432 - 67.50 122.50 167.50 0.714308 - 67.50 122.50 172.50 0.483705 - 67.50 122.50 177.50 0.296509 - 67.50 122.50 182.50 0.130738 - 67.50 122.50 187.50 0.0394679 - 67.50 122.50 192.50 0.0172488 - 67.50 122.50 197.50 0.0186962 - 67.50 122.50 202.50 0.0214521 - 67.50 122.50 207.50 0.0241577 - 67.50 122.50 212.50 0.0330205 - 67.50 122.50 217.50 0.0444239 - 67.50 122.50 222.50 0.0611989 - 67.50 122.50 227.50 0.108222 - 67.50 122.50 232.50 0.199839 - 67.50 122.50 237.50 0.352876 - 67.50 122.50 242.50 0.534545 - 67.50 122.50 247.50 0.7339 - 67.50 122.50 252.50 0.841433 - 67.50 122.50 257.50 0.714308 - 67.50 122.50 262.50 0.483704 - 67.50 122.50 267.50 0.296509 - 67.50 122.50 272.50 0.130738 - 67.50 122.50 277.50 0.039468 - 67.50 122.50 282.50 0.0172488 - 67.50 122.50 287.50 0.0186962 - 67.50 122.50 292.50 0.0214521 - 67.50 122.50 297.50 0.0241578 - 67.50 122.50 302.50 0.0330205 - 67.50 122.50 307.50 0.0444239 - 67.50 122.50 312.50 0.0611988 - 67.50 122.50 317.50 0.108222 - 67.50 122.50 322.50 0.199839 - 67.50 122.50 327.50 0.352875 - 67.50 122.50 332.50 0.534544 - 67.50 122.50 337.50 0.733899 - 67.50 122.50 342.50 0.841432 - 67.50 122.50 347.50 0.714308 - 67.50 122.50 352.50 0.483705 - 67.50 122.50 357.50 0.29651 - 67.50 127.50 2.50 0.0974754 - 67.50 127.50 7.50 0.0399963 - 67.50 127.50 12.50 0.0293443 - 67.50 127.50 17.50 0.0659188 - 67.50 127.50 22.50 0.102508 - 67.50 127.50 27.50 0.126798 - 67.50 127.50 32.50 0.134909 - 67.50 127.50 37.50 0.120496 - 67.50 127.50 42.50 0.0802771 - 67.50 127.50 47.50 0.0555731 - 67.50 127.50 52.50 0.0461287 - 67.50 127.50 57.50 0.0772948 - 67.50 127.50 62.50 0.155417 - 67.50 127.50 67.50 0.25129 - 67.50 127.50 72.50 0.331034 - 67.50 127.50 77.50 0.340989 - 67.50 127.50 82.50 0.287254 - 67.50 127.50 87.50 0.195513 - 67.50 127.50 92.50 0.0974754 - 67.50 127.50 97.50 0.0399963 - 67.50 127.50 102.50 0.0293443 - 67.50 127.50 107.50 0.0659188 - 67.50 127.50 112.50 0.102507 - 67.50 127.50 117.50 0.126798 - 67.50 127.50 122.50 0.134909 - 67.50 127.50 127.50 0.120496 - 67.50 127.50 132.50 0.0802771 - 67.50 127.50 137.50 0.0555732 - 67.50 127.50 142.50 0.0461287 - 67.50 127.50 147.50 0.0772949 - 67.50 127.50 152.50 0.155417 - 67.50 127.50 157.50 0.25129 - 67.50 127.50 162.50 0.331034 - 67.50 127.50 167.50 0.340989 - 67.50 127.50 172.50 0.287254 - 67.50 127.50 177.50 0.195513 - 67.50 127.50 182.50 0.0974754 - 67.50 127.50 187.50 0.0399963 - 67.50 127.50 192.50 0.0293443 - 67.50 127.50 197.50 0.0659187 - 67.50 127.50 202.50 0.102507 - 67.50 127.50 207.50 0.126797 - 67.50 127.50 212.50 0.134909 - 67.50 127.50 217.50 0.120496 - 67.50 127.50 222.50 0.0802771 - 67.50 127.50 227.50 0.0555732 - 67.50 127.50 232.50 0.0461287 - 67.50 127.50 237.50 0.0772949 - 67.50 127.50 242.50 0.155417 - 67.50 127.50 247.50 0.25129 - 67.50 127.50 252.50 0.331034 - 67.50 127.50 257.50 0.340989 - 67.50 127.50 262.50 0.287254 - 67.50 127.50 267.50 0.195512 - 67.50 127.50 272.50 0.0974754 - 67.50 127.50 277.50 0.0399963 - 67.50 127.50 282.50 0.0293443 - 67.50 127.50 287.50 0.0659188 - 67.50 127.50 292.50 0.102508 - 67.50 127.50 297.50 0.126798 - 67.50 127.50 302.50 0.134909 - 67.50 127.50 307.50 0.120496 - 67.50 127.50 312.50 0.0802771 - 67.50 127.50 317.50 0.0555732 - 67.50 127.50 322.50 0.0461286 - 67.50 127.50 327.50 0.0772947 - 67.50 127.50 332.50 0.155417 - 67.50 127.50 337.50 0.25129 - 67.50 127.50 342.50 0.331034 - 67.50 127.50 347.50 0.340989 - 67.50 127.50 352.50 0.287254 - 67.50 127.50 357.50 0.195513 - 67.50 132.50 2.50 0.0543458 - 67.50 132.50 7.50 0.0469194 - 67.50 132.50 12.50 0.0728264 - 67.50 132.50 17.50 0.154203 - 67.50 132.50 22.50 0.341572 - 67.50 132.50 27.50 0.525444 - 67.50 132.50 32.50 0.562987 - 67.50 132.50 37.50 0.45162 - 67.50 132.50 42.50 0.283554 - 67.50 132.50 47.50 0.137815 - 67.50 132.50 52.50 0.0537107 - 67.50 132.50 57.50 0.0280947 - 67.50 132.50 62.50 0.0377448 - 67.50 132.50 67.50 0.0656053 - 67.50 132.50 72.50 0.0983815 - 67.50 132.50 77.50 0.136006 - 67.50 132.50 82.50 0.130605 - 67.50 132.50 87.50 0.088759 - 67.50 132.50 92.50 0.0543458 - 67.50 132.50 97.50 0.0469194 - 67.50 132.50 102.50 0.0728264 - 67.50 132.50 107.50 0.154202 - 67.50 132.50 112.50 0.341572 - 67.50 132.50 117.50 0.525444 - 67.50 132.50 122.50 0.562986 - 67.50 132.50 127.50 0.45162 - 67.50 132.50 132.50 0.283554 - 67.50 132.50 137.50 0.137815 - 67.50 132.50 142.50 0.0537107 - 67.50 132.50 147.50 0.0280947 - 67.50 132.50 152.50 0.0377448 - 67.50 132.50 157.50 0.0656053 - 67.50 132.50 162.50 0.0983816 - 67.50 132.50 167.50 0.136006 - 67.50 132.50 172.50 0.130606 - 67.50 132.50 177.50 0.088759 - 67.50 132.50 182.50 0.0543458 - 67.50 132.50 187.50 0.0469194 - 67.50 132.50 192.50 0.0728263 - 67.50 132.50 197.50 0.154202 - 67.50 132.50 202.50 0.341572 - 67.50 132.50 207.50 0.525444 - 67.50 132.50 212.50 0.562986 - 67.50 132.50 217.50 0.45162 - 67.50 132.50 222.50 0.283554 - 67.50 132.50 227.50 0.137816 - 67.50 132.50 232.50 0.0537104 - 67.50 132.50 237.50 0.0280947 - 67.50 132.50 242.50 0.0377448 - 67.50 132.50 247.50 0.0656052 - 67.50 132.50 252.50 0.0983816 - 67.50 132.50 257.50 0.136006 - 67.50 132.50 262.50 0.130606 - 67.50 132.50 267.50 0.0887589 - 67.50 132.50 272.50 0.0543458 - 67.50 132.50 277.50 0.0469195 - 67.50 132.50 282.50 0.0728263 - 67.50 132.50 287.50 0.154202 - 67.50 132.50 292.50 0.341572 - 67.50 132.50 297.50 0.525444 - 67.50 132.50 302.50 0.562987 - 67.50 132.50 307.50 0.45162 - 67.50 132.50 312.50 0.283554 - 67.50 132.50 317.50 0.137816 - 67.50 132.50 322.50 0.0537108 - 67.50 132.50 327.50 0.0280947 - 67.50 132.50 332.50 0.0377448 - 67.50 132.50 337.50 0.0656051 - 67.50 132.50 342.50 0.0983814 - 67.50 132.50 347.50 0.136006 - 67.50 132.50 352.50 0.130605 - 67.50 132.50 357.50 0.0887591 - 67.50 137.50 2.50 0.0370179 - 67.50 137.50 7.50 0.0778326 - 67.50 137.50 12.50 0.17609 - 67.50 137.50 17.50 0.381167 - 67.50 137.50 22.50 0.818625 - 67.50 137.50 27.50 1.41442 - 67.50 137.50 32.50 1.66793 - 67.50 137.50 37.50 1.43932 - 67.50 137.50 42.50 0.922784 - 67.50 137.50 47.50 0.498101 - 67.50 137.50 52.50 0.179249 - 67.50 137.50 57.50 0.0803483 - 67.50 137.50 62.50 0.0369965 - 67.50 137.50 67.50 0.0271068 - 67.50 137.50 72.50 0.0300108 - 67.50 137.50 77.50 0.0436275 - 67.50 137.50 82.50 0.043062 - 67.50 137.50 87.50 0.0308333 - 67.50 137.50 92.50 0.0370179 - 67.50 137.50 97.50 0.0778325 - 67.50 137.50 102.50 0.17609 - 67.50 137.50 107.50 0.381167 - 67.50 137.50 112.50 0.818625 - 67.50 137.50 117.50 1.41441 - 67.50 137.50 122.50 1.66793 - 67.50 137.50 127.50 1.43932 - 67.50 137.50 132.50 0.922784 - 67.50 137.50 137.50 0.498101 - 67.50 137.50 142.50 0.179249 - 67.50 137.50 147.50 0.0803483 - 67.50 137.50 152.50 0.0369965 - 67.50 137.50 157.50 0.0271068 - 67.50 137.50 162.50 0.0300108 - 67.50 137.50 167.50 0.0436275 - 67.50 137.50 172.50 0.0430621 - 67.50 137.50 177.50 0.0308333 - 67.50 137.50 182.50 0.0370179 - 67.50 137.50 187.50 0.0778325 - 67.50 137.50 192.50 0.17609 - 67.50 137.50 197.50 0.381166 - 67.50 137.50 202.50 0.818625 - 67.50 137.50 207.50 1.41441 - 67.50 137.50 212.50 1.66794 - 67.50 137.50 217.50 1.43932 - 67.50 137.50 222.50 0.922785 - 67.50 137.50 227.50 0.498101 - 67.50 137.50 232.50 0.179248 - 67.50 137.50 237.50 0.0803483 - 67.50 137.50 242.50 0.0369965 - 67.50 137.50 247.50 0.0271068 - 67.50 137.50 252.50 0.0300108 - 67.50 137.50 257.50 0.0436276 - 67.50 137.50 262.50 0.0430621 - 67.50 137.50 267.50 0.0308333 - 67.50 137.50 272.50 0.0370179 - 67.50 137.50 277.50 0.0778326 - 67.50 137.50 282.50 0.17609 - 67.50 137.50 287.50 0.381166 - 67.50 137.50 292.50 0.818625 - 67.50 137.50 297.50 1.41441 - 67.50 137.50 302.50 1.66793 - 67.50 137.50 307.50 1.43932 - 67.50 137.50 312.50 0.922785 - 67.50 137.50 317.50 0.498101 - 67.50 137.50 322.50 0.179249 - 67.50 137.50 327.50 0.0803485 - 67.50 137.50 332.50 0.0369965 - 67.50 137.50 337.50 0.0271068 - 67.50 137.50 342.50 0.0300107 - 67.50 137.50 347.50 0.0436275 - 67.50 137.50 352.50 0.043062 - 67.50 137.50 357.50 0.0308334 - 67.50 142.50 2.50 0.0543458 - 67.50 142.50 7.50 0.156544 - 67.50 142.50 12.50 0.369483 - 67.50 142.50 17.50 0.790616 - 67.50 142.50 22.50 1.62574 - 67.50 142.50 27.50 2.69837 - 67.50 142.50 32.50 3.37986 - 67.50 142.50 37.50 3.13445 - 67.50 142.50 42.50 2.24846 - 67.50 142.50 47.50 1.17993 - 67.50 142.50 52.50 0.517223 - 67.50 142.50 57.50 0.236099 - 67.50 142.50 62.50 0.134339 - 67.50 142.50 67.50 0.0704415 - 67.50 142.50 72.50 0.0296289 - 67.50 142.50 77.50 0.0201029 - 67.50 142.50 82.50 0.0181523 - 67.50 142.50 87.50 0.019399 - 67.50 142.50 92.50 0.0543458 - 67.50 142.50 97.50 0.156544 - 67.50 142.50 102.50 0.369483 - 67.50 142.50 107.50 0.790616 - 67.50 142.50 112.50 1.62574 - 67.50 142.50 117.50 2.69837 - 67.50 142.50 122.50 3.37986 - 67.50 142.50 127.50 3.13445 - 67.50 142.50 132.50 2.24846 - 67.50 142.50 137.50 1.17994 - 67.50 142.50 142.50 0.517223 - 67.50 142.50 147.50 0.236099 - 67.50 142.50 152.50 0.134339 - 67.50 142.50 157.50 0.0704415 - 67.50 142.50 162.50 0.0296289 - 67.50 142.50 167.50 0.0201029 - 67.50 142.50 172.50 0.0181523 - 67.50 142.50 177.50 0.019399 - 67.50 142.50 182.50 0.0543458 - 67.50 142.50 187.50 0.156544 - 67.50 142.50 192.50 0.369483 - 67.50 142.50 197.50 0.790616 - 67.50 142.50 202.50 1.62574 - 67.50 142.50 207.50 2.69837 - 67.50 142.50 212.50 3.37986 - 67.50 142.50 217.50 3.13446 - 67.50 142.50 222.50 2.24846 - 67.50 142.50 227.50 1.17994 - 67.50 142.50 232.50 0.517222 - 67.50 142.50 237.50 0.236098 - 67.50 142.50 242.50 0.134339 - 67.50 142.50 247.50 0.0704414 - 67.50 142.50 252.50 0.0296289 - 67.50 142.50 257.50 0.0201029 - 67.50 142.50 262.50 0.0181523 - 67.50 142.50 267.50 0.019399 - 67.50 142.50 272.50 0.0543458 - 67.50 142.50 277.50 0.156544 - 67.50 142.50 282.50 0.369483 - 67.50 142.50 287.50 0.790616 - 67.50 142.50 292.50 1.62574 - 67.50 142.50 297.50 2.69837 - 67.50 142.50 302.50 3.37986 - 67.50 142.50 307.50 3.13446 - 67.50 142.50 312.50 2.24846 - 67.50 142.50 317.50 1.17994 - 67.50 142.50 322.50 0.517224 - 67.50 142.50 327.50 0.236099 - 67.50 142.50 332.50 0.134339 - 67.50 142.50 337.50 0.0704416 - 67.50 142.50 342.50 0.029629 - 67.50 142.50 347.50 0.0201029 - 67.50 142.50 352.50 0.0181524 - 67.50 142.50 357.50 0.019399 - 67.50 147.50 2.50 0.0974755 - 67.50 147.50 7.50 0.270603 - 67.50 147.50 12.50 0.628633 - 67.50 147.50 17.50 1.28793 - 67.50 147.50 22.50 2.55428 - 67.50 147.50 27.50 4.03039 - 67.50 147.50 32.50 4.88877 - 67.50 147.50 37.50 4.69045 - 67.50 147.50 42.50 3.52062 - 67.50 147.50 47.50 2.06341 - 67.50 147.50 52.50 1.01343 - 67.50 147.50 57.50 0.537988 - 67.50 147.50 62.50 0.34409 - 67.50 147.50 67.50 0.195092 - 67.50 147.50 72.50 0.0857297 - 67.50 147.50 77.50 0.0437712 - 67.50 147.50 82.50 0.029963 - 67.50 147.50 87.50 0.0319728 - 67.50 147.50 92.50 0.0974755 - 67.50 147.50 97.50 0.270603 - 67.50 147.50 102.50 0.628633 - 67.50 147.50 107.50 1.28792 - 67.50 147.50 112.50 2.55428 - 67.50 147.50 117.50 4.03039 - 67.50 147.50 122.50 4.88877 - 67.50 147.50 127.50 4.69045 - 67.50 147.50 132.50 3.52062 - 67.50 147.50 137.50 2.06341 - 67.50 147.50 142.50 1.01343 - 67.50 147.50 147.50 0.537988 - 67.50 147.50 152.50 0.34409 - 67.50 147.50 157.50 0.195092 - 67.50 147.50 162.50 0.0857297 - 67.50 147.50 167.50 0.0437712 - 67.50 147.50 172.50 0.029963 - 67.50 147.50 177.50 0.0319728 - 67.50 147.50 182.50 0.0974756 - 67.50 147.50 187.50 0.270603 - 67.50 147.50 192.50 0.628634 - 67.50 147.50 197.50 1.28793 - 67.50 147.50 202.50 2.55428 - 67.50 147.50 207.50 4.03039 - 67.50 147.50 212.50 4.88877 - 67.50 147.50 217.50 4.69045 - 67.50 147.50 222.50 3.52062 - 67.50 147.50 227.50 2.06342 - 67.50 147.50 232.50 1.01343 - 67.50 147.50 237.50 0.537987 - 67.50 147.50 242.50 0.34409 - 67.50 147.50 247.50 0.195092 - 67.50 147.50 252.50 0.0857295 - 67.50 147.50 257.50 0.0437712 - 67.50 147.50 262.50 0.0299629 - 67.50 147.50 267.50 0.0319728 - 67.50 147.50 272.50 0.0974755 - 67.50 147.50 277.50 0.270603 - 67.50 147.50 282.50 0.628633 - 67.50 147.50 287.50 1.28792 - 67.50 147.50 292.50 2.55428 - 67.50 147.50 297.50 4.03039 - 67.50 147.50 302.50 4.88877 - 67.50 147.50 307.50 4.69045 - 67.50 147.50 312.50 3.52062 - 67.50 147.50 317.50 2.06342 - 67.50 147.50 322.50 1.01344 - 67.50 147.50 327.50 0.537989 - 67.50 147.50 332.50 0.34409 - 67.50 147.50 337.50 0.195093 - 67.50 147.50 342.50 0.0857298 - 67.50 147.50 347.50 0.0437712 - 67.50 147.50 352.50 0.029963 - 67.50 147.50 357.50 0.0319728 - 67.50 152.50 2.50 0.130738 - 67.50 152.50 7.50 0.329109 - 67.50 152.50 12.50 0.769649 - 67.50 152.50 17.50 1.56571 - 67.50 152.50 22.50 2.96885 - 67.50 152.50 27.50 4.62745 - 67.50 152.50 32.50 5.41446 - 67.50 152.50 37.50 5.20738 - 67.50 152.50 42.50 4.05435 - 67.50 152.50 47.50 2.59076 - 67.50 152.50 52.50 1.46925 - 67.50 152.50 57.50 0.916916 - 67.50 152.50 62.50 0.652041 - 67.50 152.50 67.50 0.431199 - 67.50 152.50 72.50 0.223069 - 67.50 152.50 77.50 0.10686 - 67.50 152.50 82.50 0.058589 - 67.50 152.50 87.50 0.0489067 - 67.50 152.50 92.50 0.130738 - 67.50 152.50 97.50 0.32911 - 67.50 152.50 102.50 0.76965 - 67.50 152.50 107.50 1.56571 - 67.50 152.50 112.50 2.96885 - 67.50 152.50 117.50 4.62745 - 67.50 152.50 122.50 5.41446 - 67.50 152.50 127.50 5.20738 - 67.50 152.50 132.50 4.05435 - 67.50 152.50 137.50 2.59076 - 67.50 152.50 142.50 1.46925 - 67.50 152.50 147.50 0.916916 - 67.50 152.50 152.50 0.652041 - 67.50 152.50 157.50 0.4312 - 67.50 152.50 162.50 0.223069 - 67.50 152.50 167.50 0.10686 - 67.50 152.50 172.50 0.058589 - 67.50 152.50 177.50 0.0489066 - 67.50 152.50 182.50 0.130738 - 67.50 152.50 187.50 0.32911 - 67.50 152.50 192.50 0.76965 - 67.50 152.50 197.50 1.56571 - 67.50 152.50 202.50 2.96885 - 67.50 152.50 207.50 4.62745 - 67.50 152.50 212.50 5.41446 - 67.50 152.50 217.50 5.20738 - 67.50 152.50 222.50 4.05435 - 67.50 152.50 227.50 2.59076 - 67.50 152.50 232.50 1.46925 - 67.50 152.50 237.50 0.916916 - 67.50 152.50 242.50 0.652041 - 67.50 152.50 247.50 0.431199 - 67.50 152.50 252.50 0.223069 - 67.50 152.50 257.50 0.10686 - 67.50 152.50 262.50 0.058589 - 67.50 152.50 267.50 0.0489067 - 67.50 152.50 272.50 0.130738 - 67.50 152.50 277.50 0.329109 - 67.50 152.50 282.50 0.76965 - 67.50 152.50 287.50 1.56571 - 67.50 152.50 292.50 2.96885 - 67.50 152.50 297.50 4.62745 - 67.50 152.50 302.50 5.41446 - 67.50 152.50 307.50 5.20738 - 67.50 152.50 312.50 4.05435 - 67.50 152.50 317.50 2.59076 - 67.50 152.50 322.50 1.46926 - 67.50 152.50 327.50 0.916917 - 67.50 152.50 332.50 0.652042 - 67.50 152.50 337.50 0.4312 - 67.50 152.50 342.50 0.22307 - 67.50 152.50 347.50 0.10686 - 67.50 152.50 352.50 0.0585891 - 67.50 152.50 357.50 0.0489066 - 67.50 157.50 2.50 0.128577 - 67.50 157.50 7.50 0.287222 - 67.50 157.50 12.50 0.682243 - 67.50 157.50 17.50 1.38614 - 67.50 157.50 22.50 2.53544 - 67.50 157.50 27.50 3.82994 - 67.50 157.50 32.50 4.6117 - 67.50 157.50 37.50 4.39416 - 67.50 157.50 42.50 3.52102 - 67.50 157.50 47.50 2.48565 - 67.50 157.50 52.50 1.6458 - 67.50 157.50 57.50 1.18875 - 67.50 157.50 62.50 1.00217 - 67.50 157.50 67.50 0.749985 - 67.50 157.50 72.50 0.446232 - 67.50 157.50 77.50 0.224623 - 67.50 157.50 82.50 0.106507 - 67.50 157.50 87.50 0.0675548 - 67.50 157.50 92.50 0.128577 - 67.50 157.50 97.50 0.287223 - 67.50 157.50 102.50 0.682243 - 67.50 157.50 107.50 1.38614 - 67.50 157.50 112.50 2.53544 - 67.50 157.50 117.50 3.82994 - 67.50 157.50 122.50 4.61171 - 67.50 157.50 127.50 4.39417 - 67.50 157.50 132.50 3.52102 - 67.50 157.50 137.50 2.48565 - 67.50 157.50 142.50 1.6458 - 67.50 157.50 147.50 1.18875 - 67.50 157.50 152.50 1.00217 - 67.50 157.50 157.50 0.749985 - 67.50 157.50 162.50 0.446232 - 67.50 157.50 167.50 0.224623 - 67.50 157.50 172.50 0.106507 - 67.50 157.50 177.50 0.0675547 - 67.50 157.50 182.50 0.128577 - 67.50 157.50 187.50 0.287223 - 67.50 157.50 192.50 0.682243 - 67.50 157.50 197.50 1.38614 - 67.50 157.50 202.50 2.53544 - 67.50 157.50 207.50 3.82994 - 67.50 157.50 212.50 4.61171 - 67.50 157.50 217.50 4.39417 - 67.50 157.50 222.50 3.52102 - 67.50 157.50 227.50 2.48565 - 67.50 157.50 232.50 1.6458 - 67.50 157.50 237.50 1.18875 - 67.50 157.50 242.50 1.00217 - 67.50 157.50 247.50 0.749985 - 67.50 157.50 252.50 0.446232 - 67.50 157.50 257.50 0.224623 - 67.50 157.50 262.50 0.106507 - 67.50 157.50 267.50 0.0675548 - 67.50 157.50 272.50 0.128577 - 67.50 157.50 277.50 0.287222 - 67.50 157.50 282.50 0.682243 - 67.50 157.50 287.50 1.38614 - 67.50 157.50 292.50 2.53544 - 67.50 157.50 297.50 3.82994 - 67.50 157.50 302.50 4.61171 - 67.50 157.50 307.50 4.39417 - 67.50 157.50 312.50 3.52102 - 67.50 157.50 317.50 2.48565 - 67.50 157.50 322.50 1.6458 - 67.50 157.50 327.50 1.18875 - 67.50 157.50 332.50 1.00217 - 67.50 157.50 337.50 0.749987 - 67.50 157.50 342.50 0.446233 - 67.50 157.50 347.50 0.224624 - 67.50 157.50 352.50 0.106507 - 67.50 157.50 357.50 0.0675547 - 67.50 162.50 2.50 0.121879 - 67.50 162.50 7.50 0.23099 - 67.50 162.50 12.50 0.500431 - 67.50 162.50 17.50 0.97331 - 67.50 162.50 22.50 1.63749 - 67.50 162.50 27.50 2.36793 - 67.50 162.50 32.50 2.8114 - 67.50 162.50 37.50 2.82827 - 67.50 162.50 42.50 2.4109 - 67.50 162.50 47.50 1.79592 - 67.50 162.50 52.50 1.37022 - 67.50 162.50 57.50 1.23227 - 67.50 162.50 62.50 1.19946 - 67.50 162.50 67.50 1.01411 - 67.50 162.50 72.50 0.685388 - 67.50 162.50 77.50 0.378146 - 67.50 162.50 82.50 0.182233 - 67.50 162.50 87.50 0.0992847 - 67.50 162.50 92.50 0.121879 - 67.50 162.50 97.50 0.23099 - 67.50 162.50 102.50 0.500431 - 67.50 162.50 107.50 0.973311 - 67.50 162.50 112.50 1.63749 - 67.50 162.50 117.50 2.36793 - 67.50 162.50 122.50 2.8114 - 67.50 162.50 127.50 2.82827 - 67.50 162.50 132.50 2.4109 - 67.50 162.50 137.50 1.79592 - 67.50 162.50 142.50 1.37022 - 67.50 162.50 147.50 1.23227 - 67.50 162.50 152.50 1.19946 - 67.50 162.50 157.50 1.01411 - 67.50 162.50 162.50 0.685389 - 67.50 162.50 167.50 0.378146 - 67.50 162.50 172.50 0.182233 - 67.50 162.50 177.50 0.0992847 - 67.50 162.50 182.50 0.121878 - 67.50 162.50 187.50 0.23099 - 67.50 162.50 192.50 0.500431 - 67.50 162.50 197.50 0.973311 - 67.50 162.50 202.50 1.63749 - 67.50 162.50 207.50 2.36793 - 67.50 162.50 212.50 2.8114 - 67.50 162.50 217.50 2.82827 - 67.50 162.50 222.50 2.4109 - 67.50 162.50 227.50 1.79592 - 67.50 162.50 232.50 1.37022 - 67.50 162.50 237.50 1.23227 - 67.50 162.50 242.50 1.19946 - 67.50 162.50 247.50 1.01411 - 67.50 162.50 252.50 0.685388 - 67.50 162.50 257.50 0.378146 - 67.50 162.50 262.50 0.182232 - 67.50 162.50 267.50 0.0992847 - 67.50 162.50 272.50 0.121878 - 67.50 162.50 277.50 0.23099 - 67.50 162.50 282.50 0.500431 - 67.50 162.50 287.50 0.97331 - 67.50 162.50 292.50 1.63749 - 67.50 162.50 297.50 2.36793 - 67.50 162.50 302.50 2.8114 - 67.50 162.50 307.50 2.82827 - 67.50 162.50 312.50 2.4109 - 67.50 162.50 317.50 1.79592 - 67.50 162.50 322.50 1.37023 - 67.50 162.50 327.50 1.23227 - 67.50 162.50 332.50 1.19946 - 67.50 162.50 337.50 1.01411 - 67.50 162.50 342.50 0.68539 - 67.50 162.50 347.50 0.378147 - 67.50 162.50 352.50 0.182233 - 67.50 162.50 357.50 0.0992847 - 67.50 167.50 2.50 0.129911 - 67.50 167.50 7.50 0.211095 - 67.50 167.50 12.50 0.35581 - 67.50 167.50 17.50 0.606151 - 67.50 167.50 22.50 0.896729 - 67.50 167.50 27.50 1.19798 - 67.50 167.50 32.50 1.38887 - 67.50 167.50 37.50 1.36656 - 67.50 167.50 42.50 1.21537 - 67.50 167.50 47.50 1.00305 - 67.50 167.50 52.50 0.893712 - 67.50 167.50 57.50 0.997996 - 67.50 167.50 62.50 1.1614 - 67.50 167.50 67.50 1.10479 - 67.50 167.50 72.50 0.813541 - 67.50 167.50 77.50 0.481757 - 67.50 167.50 82.50 0.241636 - 67.50 167.50 87.50 0.131489 - 67.50 167.50 92.50 0.129911 - 67.50 167.50 97.50 0.211095 - 67.50 167.50 102.50 0.35581 - 67.50 167.50 107.50 0.606152 - 67.50 167.50 112.50 0.89673 - 67.50 167.50 117.50 1.19799 - 67.50 167.50 122.50 1.38887 - 67.50 167.50 127.50 1.36655 - 67.50 167.50 132.50 1.21537 - 67.50 167.50 137.50 1.00305 - 67.50 167.50 142.50 0.893712 - 67.50 167.50 147.50 0.997996 - 67.50 167.50 152.50 1.1614 - 67.50 167.50 157.50 1.10479 - 67.50 167.50 162.50 0.813542 - 67.50 167.50 167.50 0.481758 - 67.50 167.50 172.50 0.241637 - 67.50 167.50 177.50 0.131489 - 67.50 167.50 182.50 0.129911 - 67.50 167.50 187.50 0.211095 - 67.50 167.50 192.50 0.35581 - 67.50 167.50 197.50 0.606152 - 67.50 167.50 202.50 0.89673 - 67.50 167.50 207.50 1.19799 - 67.50 167.50 212.50 1.38887 - 67.50 167.50 217.50 1.36656 - 67.50 167.50 222.50 1.21537 - 67.50 167.50 227.50 1.00305 - 67.50 167.50 232.50 0.893712 - 67.50 167.50 237.50 0.997996 - 67.50 167.50 242.50 1.1614 - 67.50 167.50 247.50 1.10479 - 67.50 167.50 252.50 0.813541 - 67.50 167.50 257.50 0.481757 - 67.50 167.50 262.50 0.241636 - 67.50 167.50 267.50 0.131489 - 67.50 167.50 272.50 0.129911 - 67.50 167.50 277.50 0.211095 - 67.50 167.50 282.50 0.35581 - 67.50 167.50 287.50 0.606151 - 67.50 167.50 292.50 0.89673 - 67.50 167.50 297.50 1.19798 - 67.50 167.50 302.50 1.38887 - 67.50 167.50 307.50 1.36656 - 67.50 167.50 312.50 1.21537 - 67.50 167.50 317.50 1.00305 - 67.50 167.50 322.50 0.893712 - 67.50 167.50 327.50 0.997995 - 67.50 167.50 332.50 1.1614 - 67.50 167.50 337.50 1.10479 - 67.50 167.50 342.50 0.813542 - 67.50 167.50 347.50 0.481758 - 67.50 167.50 352.50 0.241637 - 67.50 167.50 357.50 0.131489 - 67.50 172.50 2.50 0.116684 - 67.50 172.50 7.50 0.171945 - 67.50 172.50 12.50 0.251316 - 67.50 172.50 17.50 0.325522 - 67.50 172.50 22.50 0.418482 - 67.50 172.50 27.50 0.509967 - 67.50 172.50 32.50 0.563691 - 67.50 172.50 37.50 0.545911 - 67.50 172.50 42.50 0.46921 - 67.50 172.50 47.50 0.402325 - 67.50 172.50 52.50 0.446941 - 67.50 172.50 57.50 0.667121 - 67.50 172.50 62.50 0.94396 - 67.50 172.50 67.50 1.01746 - 67.50 172.50 72.50 0.793623 - 67.50 172.50 77.50 0.462915 - 67.50 172.50 82.50 0.233425 - 67.50 172.50 87.50 0.125415 - 67.50 172.50 92.50 0.116684 - 67.50 172.50 97.50 0.171945 - 67.50 172.50 102.50 0.251316 - 67.50 172.50 107.50 0.325522 - 67.50 172.50 112.50 0.418483 - 67.50 172.50 117.50 0.509967 - 67.50 172.50 122.50 0.563691 - 67.50 172.50 127.50 0.545911 - 67.50 172.50 132.50 0.469211 - 67.50 172.50 137.50 0.402325 - 67.50 172.50 142.50 0.44694 - 67.50 172.50 147.50 0.667121 - 67.50 172.50 152.50 0.94396 - 67.50 172.50 157.50 1.01746 - 67.50 172.50 162.50 0.793623 - 67.50 172.50 167.50 0.462915 - 67.50 172.50 172.50 0.233426 - 67.50 172.50 177.50 0.125415 - 67.50 172.50 182.50 0.116684 - 67.50 172.50 187.50 0.171945 - 67.50 172.50 192.50 0.251316 - 67.50 172.50 197.50 0.325522 - 67.50 172.50 202.50 0.418483 - 67.50 172.50 207.50 0.509967 - 67.50 172.50 212.50 0.563691 - 67.50 172.50 217.50 0.545911 - 67.50 172.50 222.50 0.46921 - 67.50 172.50 227.50 0.402325 - 67.50 172.50 232.50 0.446941 - 67.50 172.50 237.50 0.667122 - 67.50 172.50 242.50 0.943961 - 67.50 172.50 247.50 1.01746 - 67.50 172.50 252.50 0.793623 - 67.50 172.50 257.50 0.462914 - 67.50 172.50 262.50 0.233425 - 67.50 172.50 267.50 0.125414 - 67.50 172.50 272.50 0.116684 - 67.50 172.50 277.50 0.171945 - 67.50 172.50 282.50 0.251316 - 67.50 172.50 287.50 0.325522 - 67.50 172.50 292.50 0.418482 - 67.50 172.50 297.50 0.509967 - 67.50 172.50 302.50 0.563691 - 67.50 172.50 307.50 0.545911 - 67.50 172.50 312.50 0.46921 - 67.50 172.50 317.50 0.402325 - 67.50 172.50 322.50 0.446941 - 67.50 172.50 327.50 0.667121 - 67.50 172.50 332.50 0.94396 - 67.50 172.50 337.50 1.01746 - 67.50 172.50 342.50 0.793624 - 67.50 172.50 347.50 0.462916 - 67.50 172.50 352.50 0.233426 - 67.50 172.50 357.50 0.125415 - 67.50 177.50 2.50 0.0733505 - 67.50 177.50 7.50 0.0984699 - 67.50 177.50 12.50 0.131719 - 67.50 177.50 17.50 0.153603 - 67.50 177.50 22.50 0.165474 - 67.50 177.50 27.50 0.176032 - 67.50 177.50 32.50 0.17362 - 67.50 177.50 37.50 0.158344 - 67.50 177.50 42.50 0.134926 - 67.50 177.50 47.50 0.130437 - 67.50 177.50 52.50 0.202284 - 67.50 177.50 57.50 0.413167 - 67.50 177.50 62.50 0.710743 - 67.50 177.50 67.50 0.873767 - 67.50 177.50 72.50 0.711142 - 67.50 177.50 77.50 0.397488 - 67.50 177.50 82.50 0.175312 - 67.50 177.50 87.50 0.0849768 - 67.50 177.50 92.50 0.0733505 - 67.50 177.50 97.50 0.0984698 - 67.50 177.50 102.50 0.131719 - 67.50 177.50 107.50 0.153603 - 67.50 177.50 112.50 0.165474 - 67.50 177.50 117.50 0.176032 - 67.50 177.50 122.50 0.17362 - 67.50 177.50 127.50 0.158344 - 67.50 177.50 132.50 0.134926 - 67.50 177.50 137.50 0.130437 - 67.50 177.50 142.50 0.202284 - 67.50 177.50 147.50 0.413166 - 67.50 177.50 152.50 0.710742 - 67.50 177.50 157.50 0.873768 - 67.50 177.50 162.50 0.711142 - 67.50 177.50 167.50 0.397489 - 67.50 177.50 172.50 0.175312 - 67.50 177.50 177.50 0.0849768 - 67.50 177.50 182.50 0.0733505 - 67.50 177.50 187.50 0.0984699 - 67.50 177.50 192.50 0.131719 - 67.50 177.50 197.50 0.153603 - 67.50 177.50 202.50 0.165474 - 67.50 177.50 207.50 0.176032 - 67.50 177.50 212.50 0.17362 - 67.50 177.50 217.50 0.158344 - 67.50 177.50 222.50 0.134926 - 67.50 177.50 227.50 0.130437 - 67.50 177.50 232.50 0.202284 - 67.50 177.50 237.50 0.413167 - 67.50 177.50 242.50 0.710743 - 67.50 177.50 247.50 0.873768 - 67.50 177.50 252.50 0.711142 - 67.50 177.50 257.50 0.397489 - 67.50 177.50 262.50 0.175312 - 67.50 177.50 267.50 0.0849768 - 67.50 177.50 272.50 0.0733505 - 67.50 177.50 277.50 0.0984699 - 67.50 177.50 282.50 0.131719 - 67.50 177.50 287.50 0.153603 - 67.50 177.50 292.50 0.165474 - 67.50 177.50 297.50 0.176032 - 67.50 177.50 302.50 0.17362 - 67.50 177.50 307.50 0.158344 - 67.50 177.50 312.50 0.134926 - 67.50 177.50 317.50 0.130437 - 67.50 177.50 322.50 0.202284 - 67.50 177.50 327.50 0.413166 - 67.50 177.50 332.50 0.710741 - 67.50 177.50 337.50 0.873768 - 67.50 177.50 342.50 0.711144 - 67.50 177.50 347.50 0.39749 - 67.50 177.50 352.50 0.175313 - 67.50 177.50 357.50 0.0849769 - 72.50 2.50 2.50 0.0624686 - 72.50 2.50 7.50 0.149977 - 72.50 2.50 12.50 0.393272 - 72.50 2.50 17.50 0.773179 - 72.50 2.50 22.50 0.980536 - 72.50 2.50 27.50 0.773178 - 72.50 2.50 32.50 0.393272 - 72.50 2.50 37.50 0.149977 - 72.50 2.50 42.50 0.0624686 - 72.50 2.50 47.50 0.0485219 - 72.50 2.50 52.50 0.0601603 - 72.50 2.50 57.50 0.0760386 - 72.50 2.50 62.50 0.083846 - 72.50 2.50 67.50 0.084539 - 72.50 2.50 72.50 0.083846 - 72.50 2.50 77.50 0.0760385 - 72.50 2.50 82.50 0.0601603 - 72.50 2.50 87.50 0.0485219 - 72.50 2.50 92.50 0.0624686 - 72.50 2.50 97.50 0.149977 - 72.50 2.50 102.50 0.393273 - 72.50 2.50 107.50 0.773179 - 72.50 2.50 112.50 0.980506 - 72.50 2.50 117.50 0.773179 - 72.50 2.50 122.50 0.393272 - 72.50 2.50 127.50 0.149977 - 72.50 2.50 132.50 0.0624685 - 72.50 2.50 137.50 0.0485219 - 72.50 2.50 142.50 0.0601603 - 72.50 2.50 147.50 0.0760385 - 72.50 2.50 152.50 0.083846 - 72.50 2.50 157.50 0.084539 - 72.50 2.50 162.50 0.083846 - 72.50 2.50 167.50 0.0760385 - 72.50 2.50 172.50 0.0601603 - 72.50 2.50 177.50 0.048522 - 72.50 2.50 182.50 0.0624686 - 72.50 2.50 187.50 0.149977 - 72.50 2.50 192.50 0.393273 - 72.50 2.50 197.50 0.773179 - 72.50 2.50 202.50 0.980476 - 72.50 2.50 207.50 0.773178 - 72.50 2.50 212.50 0.393272 - 72.50 2.50 217.50 0.149977 - 72.50 2.50 222.50 0.0624686 - 72.50 2.50 227.50 0.0485219 - 72.50 2.50 232.50 0.0601604 - 72.50 2.50 237.50 0.0760386 - 72.50 2.50 242.50 0.083846 - 72.50 2.50 247.50 0.084539 - 72.50 2.50 252.50 0.083846 - 72.50 2.50 257.50 0.0760385 - 72.50 2.50 262.50 0.0601603 - 72.50 2.50 267.50 0.0485219 - 72.50 2.50 272.50 0.0624686 - 72.50 2.50 277.50 0.149977 - 72.50 2.50 282.50 0.393272 - 72.50 2.50 287.50 0.773178 - 72.50 2.50 292.50 0.980506 - 72.50 2.50 297.50 0.773179 - 72.50 2.50 302.50 0.393272 - 72.50 2.50 307.50 0.149977 - 72.50 2.50 312.50 0.0624686 - 72.50 2.50 317.50 0.0485219 - 72.50 2.50 322.50 0.0601603 - 72.50 2.50 327.50 0.0760385 - 72.50 2.50 332.50 0.083846 - 72.50 2.50 337.50 0.084539 - 72.50 2.50 342.50 0.083846 - 72.50 2.50 347.50 0.0760386 - 72.50 2.50 352.50 0.0601604 - 72.50 2.50 357.50 0.048522 - 72.50 7.50 2.50 0.0872057 - 72.50 7.50 7.50 0.172288 - 72.50 7.50 12.50 0.384509 - 72.50 7.50 17.50 0.688836 - 72.50 7.50 22.50 0.855308 - 72.50 7.50 27.50 0.706179 - 72.50 7.50 32.50 0.400161 - 72.50 7.50 37.50 0.194407 - 72.50 7.50 42.50 0.126127 - 72.50 7.50 47.50 0.137564 - 72.50 7.50 52.50 0.166387 - 72.50 7.50 57.50 0.182585 - 72.50 7.50 62.50 0.179112 - 72.50 7.50 67.50 0.174319 - 72.50 7.50 72.50 0.166879 - 72.50 7.50 77.50 0.143647 - 72.50 7.50 82.50 0.106856 - 72.50 7.50 87.50 0.0787341 - 72.50 7.50 92.50 0.0872057 - 72.50 7.50 97.50 0.172288 - 72.50 7.50 102.50 0.384509 - 72.50 7.50 107.50 0.688836 - 72.50 7.50 112.50 0.855308 - 72.50 7.50 117.50 0.706179 - 72.50 7.50 122.50 0.400161 - 72.50 7.50 127.50 0.194407 - 72.50 7.50 132.50 0.126127 - 72.50 7.50 137.50 0.137564 - 72.50 7.50 142.50 0.166387 - 72.50 7.50 147.50 0.182585 - 72.50 7.50 152.50 0.179112 - 72.50 7.50 157.50 0.174319 - 72.50 7.50 162.50 0.166879 - 72.50 7.50 167.50 0.143646 - 72.50 7.50 172.50 0.106856 - 72.50 7.50 177.50 0.0787341 - 72.50 7.50 182.50 0.0872057 - 72.50 7.50 187.50 0.172288 - 72.50 7.50 192.50 0.384509 - 72.50 7.50 197.50 0.688836 - 72.50 7.50 202.50 0.855308 - 72.50 7.50 207.50 0.706179 - 72.50 7.50 212.50 0.400161 - 72.50 7.50 217.50 0.194407 - 72.50 7.50 222.50 0.126127 - 72.50 7.50 227.50 0.137564 - 72.50 7.50 232.50 0.166387 - 72.50 7.50 237.50 0.182585 - 72.50 7.50 242.50 0.179112 - 72.50 7.50 247.50 0.174319 - 72.50 7.50 252.50 0.166878 - 72.50 7.50 257.50 0.143646 - 72.50 7.50 262.50 0.106856 - 72.50 7.50 267.50 0.0787341 - 72.50 7.50 272.50 0.0872057 - 72.50 7.50 277.50 0.172288 - 72.50 7.50 282.50 0.384509 - 72.50 7.50 287.50 0.688836 - 72.50 7.50 292.50 0.855308 - 72.50 7.50 297.50 0.706179 - 72.50 7.50 302.50 0.400162 - 72.50 7.50 307.50 0.194407 - 72.50 7.50 312.50 0.126127 - 72.50 7.50 317.50 0.137564 - 72.50 7.50 322.50 0.166387 - 72.50 7.50 327.50 0.182585 - 72.50 7.50 332.50 0.179112 - 72.50 7.50 337.50 0.174319 - 72.50 7.50 342.50 0.166878 - 72.50 7.50 347.50 0.143646 - 72.50 7.50 352.50 0.106856 - 72.50 7.50 357.50 0.0787341 - 72.50 12.50 2.50 0.134121 - 72.50 12.50 7.50 0.227328 - 72.50 12.50 12.50 0.431976 - 72.50 12.50 17.50 0.708774 - 72.50 12.50 22.50 0.92701 - 72.50 12.50 27.50 0.878439 - 72.50 12.50 32.50 0.62605 - 72.50 12.50 37.50 0.416365 - 72.50 12.50 42.50 0.385849 - 72.50 12.50 47.50 0.471098 - 72.50 12.50 52.50 0.555933 - 72.50 12.50 57.50 0.589233 - 72.50 12.50 62.50 0.549479 - 72.50 12.50 67.50 0.478811 - 72.50 12.50 72.50 0.401511 - 72.50 12.50 77.50 0.294737 - 72.50 12.50 82.50 0.201029 - 72.50 12.50 87.50 0.135945 - 72.50 12.50 92.50 0.134121 - 72.50 12.50 97.50 0.227328 - 72.50 12.50 102.50 0.431976 - 72.50 12.50 107.50 0.708773 - 72.50 12.50 112.50 0.92701 - 72.50 12.50 117.50 0.878439 - 72.50 12.50 122.50 0.626049 - 72.50 12.50 127.50 0.416365 - 72.50 12.50 132.50 0.385849 - 72.50 12.50 137.50 0.471098 - 72.50 12.50 142.50 0.555933 - 72.50 12.50 147.50 0.589233 - 72.50 12.50 152.50 0.549478 - 72.50 12.50 157.50 0.478811 - 72.50 12.50 162.50 0.401511 - 72.50 12.50 167.50 0.294737 - 72.50 12.50 172.50 0.201029 - 72.50 12.50 177.50 0.135945 - 72.50 12.50 182.50 0.134121 - 72.50 12.50 187.50 0.227328 - 72.50 12.50 192.50 0.431976 - 72.50 12.50 197.50 0.708774 - 72.50 12.50 202.50 0.927011 - 72.50 12.50 207.50 0.87844 - 72.50 12.50 212.50 0.62605 - 72.50 12.50 217.50 0.416365 - 72.50 12.50 222.50 0.385849 - 72.50 12.50 227.50 0.471098 - 72.50 12.50 232.50 0.555933 - 72.50 12.50 237.50 0.589233 - 72.50 12.50 242.50 0.549479 - 72.50 12.50 247.50 0.478811 - 72.50 12.50 252.50 0.401511 - 72.50 12.50 257.50 0.294737 - 72.50 12.50 262.50 0.201029 - 72.50 12.50 267.50 0.135945 - 72.50 12.50 272.50 0.134121 - 72.50 12.50 277.50 0.227328 - 72.50 12.50 282.50 0.431976 - 72.50 12.50 287.50 0.708774 - 72.50 12.50 292.50 0.927011 - 72.50 12.50 297.50 0.87844 - 72.50 12.50 302.50 0.62605 - 72.50 12.50 307.50 0.416365 - 72.50 12.50 312.50 0.385849 - 72.50 12.50 317.50 0.471098 - 72.50 12.50 322.50 0.555933 - 72.50 12.50 327.50 0.589233 - 72.50 12.50 332.50 0.549479 - 72.50 12.50 337.50 0.478812 - 72.50 12.50 342.50 0.401511 - 72.50 12.50 347.50 0.294737 - 72.50 12.50 352.50 0.201029 - 72.50 12.50 357.50 0.135945 - 72.50 17.50 2.50 0.148779 - 72.50 17.50 7.50 0.235527 - 72.50 17.50 12.50 0.419806 - 72.50 17.50 17.50 0.702544 - 72.50 17.50 22.50 0.972016 - 72.50 17.50 27.50 1.04021 - 72.50 17.50 32.50 0.875162 - 72.50 17.50 37.50 0.774984 - 72.50 17.50 42.50 0.902796 - 72.50 17.50 47.50 1.16717 - 72.50 17.50 52.50 1.37822 - 72.50 17.50 57.50 1.41539 - 72.50 17.50 62.50 1.27537 - 72.50 17.50 67.50 1.02204 - 72.50 17.50 72.50 0.759031 - 72.50 17.50 77.50 0.499375 - 72.50 17.50 82.50 0.2684 - 72.50 17.50 87.50 0.163633 - 72.50 17.50 92.50 0.148779 - 72.50 17.50 97.50 0.235527 - 72.50 17.50 102.50 0.419806 - 72.50 17.50 107.50 0.702543 - 72.50 17.50 112.50 0.972016 - 72.50 17.50 117.50 1.04021 - 72.50 17.50 122.50 0.875161 - 72.50 17.50 127.50 0.774984 - 72.50 17.50 132.50 0.902796 - 72.50 17.50 137.50 1.16717 - 72.50 17.50 142.50 1.37822 - 72.50 17.50 147.50 1.41539 - 72.50 17.50 152.50 1.27537 - 72.50 17.50 157.50 1.02204 - 72.50 17.50 162.50 0.759032 - 72.50 17.50 167.50 0.499375 - 72.50 17.50 172.50 0.2684 - 72.50 17.50 177.50 0.163633 - 72.50 17.50 182.50 0.148779 - 72.50 17.50 187.50 0.235527 - 72.50 17.50 192.50 0.419807 - 72.50 17.50 197.50 0.702544 - 72.50 17.50 202.50 0.972016 - 72.50 17.50 207.50 1.04021 - 72.50 17.50 212.50 0.875162 - 72.50 17.50 217.50 0.774984 - 72.50 17.50 222.50 0.902795 - 72.50 17.50 227.50 1.16717 - 72.50 17.50 232.50 1.37822 - 72.50 17.50 237.50 1.41539 - 72.50 17.50 242.50 1.27537 - 72.50 17.50 247.50 1.02204 - 72.50 17.50 252.50 0.759031 - 72.50 17.50 257.50 0.499375 - 72.50 17.50 262.50 0.268399 - 72.50 17.50 267.50 0.163633 - 72.50 17.50 272.50 0.148779 - 72.50 17.50 277.50 0.235527 - 72.50 17.50 282.50 0.419806 - 72.50 17.50 287.50 0.702544 - 72.50 17.50 292.50 0.972016 - 72.50 17.50 297.50 1.04021 - 72.50 17.50 302.50 0.875163 - 72.50 17.50 307.50 0.774984 - 72.50 17.50 312.50 0.902795 - 72.50 17.50 317.50 1.16717 - 72.50 17.50 322.50 1.37822 - 72.50 17.50 327.50 1.41539 - 72.50 17.50 332.50 1.27537 - 72.50 17.50 337.50 1.02204 - 72.50 17.50 342.50 0.759032 - 72.50 17.50 347.50 0.499376 - 72.50 17.50 352.50 0.2684 - 72.50 17.50 357.50 0.163633 - 72.50 22.50 2.50 0.129042 - 72.50 22.50 7.50 0.180575 - 72.50 22.50 12.50 0.330343 - 72.50 22.50 17.50 0.578688 - 72.50 22.50 22.50 0.877147 - 72.50 22.50 27.50 1.03817 - 72.50 22.50 32.50 1.05452 - 72.50 22.50 37.50 1.15056 - 72.50 22.50 42.50 1.51677 - 72.50 22.50 47.50 2.14441 - 72.50 22.50 52.50 2.74521 - 72.50 22.50 57.50 2.87762 - 72.50 22.50 62.50 2.5111 - 72.50 22.50 67.50 1.8723 - 72.50 22.50 72.50 1.19702 - 72.50 22.50 77.50 0.70176 - 72.50 22.50 82.50 0.353566 - 72.50 22.50 87.50 0.169802 - 72.50 22.50 92.50 0.129042 - 72.50 22.50 97.50 0.180575 - 72.50 22.50 102.50 0.330343 - 72.50 22.50 107.50 0.578688 - 72.50 22.50 112.50 0.877147 - 72.50 22.50 117.50 1.03817 - 72.50 22.50 122.50 1.05452 - 72.50 22.50 127.50 1.15056 - 72.50 22.50 132.50 1.51677 - 72.50 22.50 137.50 2.14441 - 72.50 22.50 142.50 2.74521 - 72.50 22.50 147.50 2.87761 - 72.50 22.50 152.50 2.5111 - 72.50 22.50 157.50 1.8723 - 72.50 22.50 162.50 1.19702 - 72.50 22.50 167.50 0.70176 - 72.50 22.50 172.50 0.353566 - 72.50 22.50 177.50 0.169802 - 72.50 22.50 182.50 0.129042 - 72.50 22.50 187.50 0.180575 - 72.50 22.50 192.50 0.330343 - 72.50 22.50 197.50 0.578689 - 72.50 22.50 202.50 0.877147 - 72.50 22.50 207.50 1.03817 - 72.50 22.50 212.50 1.05452 - 72.50 22.50 217.50 1.15056 - 72.50 22.50 222.50 1.51677 - 72.50 22.50 227.50 2.14441 - 72.50 22.50 232.50 2.74521 - 72.50 22.50 237.50 2.87762 - 72.50 22.50 242.50 2.5111 - 72.50 22.50 247.50 1.8723 - 72.50 22.50 252.50 1.19702 - 72.50 22.50 257.50 0.70176 - 72.50 22.50 262.50 0.353565 - 72.50 22.50 267.50 0.169802 - 72.50 22.50 272.50 0.129042 - 72.50 22.50 277.50 0.180575 - 72.50 22.50 282.50 0.330343 - 72.50 22.50 287.50 0.578689 - 72.50 22.50 292.50 0.877146 - 72.50 22.50 297.50 1.03817 - 72.50 22.50 302.50 1.05452 - 72.50 22.50 307.50 1.15056 - 72.50 22.50 312.50 1.51677 - 72.50 22.50 317.50 2.14441 - 72.50 22.50 322.50 2.74521 - 72.50 22.50 327.50 2.87762 - 72.50 22.50 332.50 2.5111 - 72.50 22.50 337.50 1.8723 - 72.50 22.50 342.50 1.19702 - 72.50 22.50 347.50 0.701761 - 72.50 22.50 352.50 0.353567 - 72.50 22.50 357.50 0.169802 - 72.50 27.50 2.50 0.114009 - 72.50 27.50 7.50 0.118439 - 72.50 27.50 12.50 0.209396 - 72.50 27.50 17.50 0.380762 - 72.50 27.50 22.50 0.621241 - 72.50 27.50 27.50 0.830492 - 72.50 27.50 32.50 0.979365 - 72.50 27.50 37.50 1.30349 - 72.50 27.50 42.50 2.02416 - 72.50 27.50 47.50 3.12498 - 72.50 27.50 52.50 4.10408 - 72.50 27.50 57.50 4.44845 - 72.50 27.50 62.50 4.01069 - 72.50 27.50 67.50 2.88921 - 72.50 27.50 72.50 1.7273 - 72.50 27.50 77.50 0.924205 - 72.50 27.50 82.50 0.46717 - 72.50 27.50 87.50 0.199352 - 72.50 27.50 92.50 0.114009 - 72.50 27.50 97.50 0.118439 - 72.50 27.50 102.50 0.209396 - 72.50 27.50 107.50 0.380762 - 72.50 27.50 112.50 0.621241 - 72.50 27.50 117.50 0.830492 - 72.50 27.50 122.50 0.979366 - 72.50 27.50 127.50 1.30349 - 72.50 27.50 132.50 2.02416 - 72.50 27.50 137.50 3.12498 - 72.50 27.50 142.50 4.10408 - 72.50 27.50 147.50 4.44844 - 72.50 27.50 152.50 4.01069 - 72.50 27.50 157.50 2.88921 - 72.50 27.50 162.50 1.7273 - 72.50 27.50 167.50 0.924205 - 72.50 27.50 172.50 0.46717 - 72.50 27.50 177.50 0.199352 - 72.50 27.50 182.50 0.114009 - 72.50 27.50 187.50 0.11844 - 72.50 27.50 192.50 0.209396 - 72.50 27.50 197.50 0.380762 - 72.50 27.50 202.50 0.621241 - 72.50 27.50 207.50 0.830492 - 72.50 27.50 212.50 0.979366 - 72.50 27.50 217.50 1.30349 - 72.50 27.50 222.50 2.02416 - 72.50 27.50 227.50 3.12498 - 72.50 27.50 232.50 4.10408 - 72.50 27.50 237.50 4.44844 - 72.50 27.50 242.50 4.01068 - 72.50 27.50 247.50 2.88921 - 72.50 27.50 252.50 1.7273 - 72.50 27.50 257.50 0.924205 - 72.50 27.50 262.50 0.467169 - 72.50 27.50 267.50 0.199352 - 72.50 27.50 272.50 0.114009 - 72.50 27.50 277.50 0.118439 - 72.50 27.50 282.50 0.209395 - 72.50 27.50 287.50 0.380762 - 72.50 27.50 292.50 0.621241 - 72.50 27.50 297.50 0.830492 - 72.50 27.50 302.50 0.979366 - 72.50 27.50 307.50 1.30349 - 72.50 27.50 312.50 2.02416 - 72.50 27.50 317.50 3.12498 - 72.50 27.50 322.50 4.10408 - 72.50 27.50 327.50 4.44844 - 72.50 27.50 332.50 4.01069 - 72.50 27.50 337.50 2.88921 - 72.50 27.50 342.50 1.7273 - 72.50 27.50 347.50 0.924207 - 72.50 27.50 352.50 0.46717 - 72.50 27.50 357.50 0.199353 - 72.50 32.50 2.50 0.102728 - 72.50 32.50 7.50 0.0796682 - 72.50 32.50 12.50 0.117217 - 72.50 32.50 17.50 0.19226 - 72.50 32.50 22.50 0.338363 - 72.50 32.50 27.50 0.522996 - 72.50 32.50 32.50 0.733517 - 72.50 32.50 37.50 1.15908 - 72.50 32.50 42.50 2.04157 - 72.50 32.50 47.50 3.42852 - 72.50 32.50 52.50 4.72297 - 72.50 32.50 57.50 5.20994 - 72.50 32.50 62.50 4.65189 - 72.50 32.50 67.50 3.3845 - 72.50 32.50 72.50 1.9346 - 72.50 32.50 77.50 1.02982 - 72.50 32.50 82.50 0.528282 - 72.50 32.50 87.50 0.222408 - 72.50 32.50 92.50 0.102728 - 72.50 32.50 97.50 0.0796682 - 72.50 32.50 102.50 0.117217 - 72.50 32.50 107.50 0.19226 - 72.50 32.50 112.50 0.338363 - 72.50 32.50 117.50 0.522997 - 72.50 32.50 122.50 0.733517 - 72.50 32.50 127.50 1.15908 - 72.50 32.50 132.50 2.04157 - 72.50 32.50 137.50 3.42852 - 72.50 32.50 142.50 4.72297 - 72.50 32.50 147.50 5.20994 - 72.50 32.50 152.50 4.65189 - 72.50 32.50 157.50 3.3845 - 72.50 32.50 162.50 1.9346 - 72.50 32.50 167.50 1.02982 - 72.50 32.50 172.50 0.528283 - 72.50 32.50 177.50 0.222409 - 72.50 32.50 182.50 0.102728 - 72.50 32.50 187.50 0.0796682 - 72.50 32.50 192.50 0.117217 - 72.50 32.50 197.50 0.19226 - 72.50 32.50 202.50 0.338363 - 72.50 32.50 207.50 0.522997 - 72.50 32.50 212.50 0.733517 - 72.50 32.50 217.50 1.15908 - 72.50 32.50 222.50 2.04157 - 72.50 32.50 227.50 3.42852 - 72.50 32.50 232.50 4.72297 - 72.50 32.50 237.50 5.20994 - 72.50 32.50 242.50 4.65188 - 72.50 32.50 247.50 3.38449 - 72.50 32.50 252.50 1.9346 - 72.50 32.50 257.50 1.02982 - 72.50 32.50 262.50 0.528282 - 72.50 32.50 267.50 0.222408 - 72.50 32.50 272.50 0.102728 - 72.50 32.50 277.50 0.0796682 - 72.50 32.50 282.50 0.117217 - 72.50 32.50 287.50 0.19226 - 72.50 32.50 292.50 0.338363 - 72.50 32.50 297.50 0.522997 - 72.50 32.50 302.50 0.733517 - 72.50 32.50 307.50 1.15908 - 72.50 32.50 312.50 2.04157 - 72.50 32.50 317.50 3.42852 - 72.50 32.50 322.50 4.72297 - 72.50 32.50 327.50 5.20994 - 72.50 32.50 332.50 4.65189 - 72.50 32.50 337.50 3.3845 - 72.50 32.50 342.50 1.9346 - 72.50 32.50 347.50 1.02982 - 72.50 32.50 352.50 0.528283 - 72.50 32.50 357.50 0.222409 - 72.50 37.50 2.50 0.0713706 - 72.50 37.50 7.50 0.0481647 - 72.50 37.50 12.50 0.0577004 - 72.50 37.50 17.50 0.0752979 - 72.50 37.50 22.50 0.137846 - 72.50 37.50 27.50 0.262052 - 72.50 37.50 32.50 0.436573 - 72.50 37.50 37.50 0.776166 - 72.50 37.50 42.50 1.56298 - 72.50 37.50 47.50 2.82789 - 72.50 37.50 52.50 4.03678 - 72.50 37.50 57.50 4.56821 - 72.50 37.50 62.50 4.07671 - 72.50 37.50 67.50 2.84538 - 72.50 37.50 72.50 1.59221 - 72.50 37.50 77.50 0.828673 - 72.50 37.50 82.50 0.428475 - 72.50 37.50 87.50 0.177886 - 72.50 37.50 92.50 0.0713706 - 72.50 37.50 97.50 0.0481647 - 72.50 37.50 102.50 0.0577004 - 72.50 37.50 107.50 0.0752979 - 72.50 37.50 112.50 0.137846 - 72.50 37.50 117.50 0.262052 - 72.50 37.50 122.50 0.436574 - 72.50 37.50 127.50 0.776166 - 72.50 37.50 132.50 1.56298 - 72.50 37.50 137.50 2.82789 - 72.50 37.50 142.50 4.03678 - 72.50 37.50 147.50 4.56821 - 72.50 37.50 152.50 4.07671 - 72.50 37.50 157.50 2.84538 - 72.50 37.50 162.50 1.59221 - 72.50 37.50 167.50 0.828674 - 72.50 37.50 172.50 0.428475 - 72.50 37.50 177.50 0.177886 - 72.50 37.50 182.50 0.0713706 - 72.50 37.50 187.50 0.0481647 - 72.50 37.50 192.50 0.0577004 - 72.50 37.50 197.50 0.0752979 - 72.50 37.50 202.50 0.137846 - 72.50 37.50 207.50 0.262052 - 72.50 37.50 212.50 0.436574 - 72.50 37.50 217.50 0.776166 - 72.50 37.50 222.50 1.56298 - 72.50 37.50 227.50 2.82789 - 72.50 37.50 232.50 4.03678 - 72.50 37.50 237.50 4.56821 - 72.50 37.50 242.50 4.0767 - 72.50 37.50 247.50 2.84538 - 72.50 37.50 252.50 1.59221 - 72.50 37.50 257.50 0.828672 - 72.50 37.50 262.50 0.428475 - 72.50 37.50 267.50 0.177886 - 72.50 37.50 272.50 0.0713706 - 72.50 37.50 277.50 0.0481647 - 72.50 37.50 282.50 0.0577004 - 72.50 37.50 287.50 0.0752979 - 72.50 37.50 292.50 0.137846 - 72.50 37.50 297.50 0.262051 - 72.50 37.50 302.50 0.436573 - 72.50 37.50 307.50 0.776165 - 72.50 37.50 312.50 1.56298 - 72.50 37.50 317.50 2.82789 - 72.50 37.50 322.50 4.03678 - 72.50 37.50 327.50 4.56821 - 72.50 37.50 332.50 4.07671 - 72.50 37.50 337.50 2.84538 - 72.50 37.50 342.50 1.59221 - 72.50 37.50 347.50 0.828674 - 72.50 37.50 352.50 0.428476 - 72.50 37.50 357.50 0.177886 - 72.50 42.50 2.50 0.0345643 - 72.50 42.50 7.50 0.0229548 - 72.50 42.50 12.50 0.0256804 - 72.50 42.50 17.50 0.0254292 - 72.50 42.50 22.50 0.0446952 - 72.50 42.50 27.50 0.100083 - 72.50 42.50 32.50 0.191638 - 72.50 42.50 37.50 0.377634 - 72.50 42.50 42.50 0.849689 - 72.50 42.50 47.50 1.67451 - 72.50 42.50 52.50 2.55221 - 72.50 42.50 57.50 2.96787 - 72.50 42.50 62.50 2.68863 - 72.50 42.50 67.50 1.79232 - 72.50 42.50 72.50 0.938532 - 72.50 42.50 77.50 0.472255 - 72.50 42.50 82.50 0.24113 - 72.50 42.50 87.50 0.0948683 - 72.50 42.50 92.50 0.0345643 - 72.50 42.50 97.50 0.0229548 - 72.50 42.50 102.50 0.0256804 - 72.50 42.50 107.50 0.0254292 - 72.50 42.50 112.50 0.0446952 - 72.50 42.50 117.50 0.100083 - 72.50 42.50 122.50 0.191638 - 72.50 42.50 127.50 0.377634 - 72.50 42.50 132.50 0.84969 - 72.50 42.50 137.50 1.67451 - 72.50 42.50 142.50 2.55221 - 72.50 42.50 147.50 2.96787 - 72.50 42.50 152.50 2.68864 - 72.50 42.50 157.50 1.79232 - 72.50 42.50 162.50 0.938533 - 72.50 42.50 167.50 0.472255 - 72.50 42.50 172.50 0.24113 - 72.50 42.50 177.50 0.0948684 - 72.50 42.50 182.50 0.0345642 - 72.50 42.50 187.50 0.0229548 - 72.50 42.50 192.50 0.0256804 - 72.50 42.50 197.50 0.0254292 - 72.50 42.50 202.50 0.0446952 - 72.50 42.50 207.50 0.100083 - 72.50 42.50 212.50 0.191638 - 72.50 42.50 217.50 0.377634 - 72.50 42.50 222.50 0.849689 - 72.50 42.50 227.50 1.67451 - 72.50 42.50 232.50 2.55221 - 72.50 42.50 237.50 2.96787 - 72.50 42.50 242.50 2.68864 - 72.50 42.50 247.50 1.79232 - 72.50 42.50 252.50 0.938531 - 72.50 42.50 257.50 0.472255 - 72.50 42.50 262.50 0.24113 - 72.50 42.50 267.50 0.0948682 - 72.50 42.50 272.50 0.0345643 - 72.50 42.50 277.50 0.0229548 - 72.50 42.50 282.50 0.0256804 - 72.50 42.50 287.50 0.0254292 - 72.50 42.50 292.50 0.0446952 - 72.50 42.50 297.50 0.100083 - 72.50 42.50 302.50 0.191638 - 72.50 42.50 307.50 0.377633 - 72.50 42.50 312.50 0.849688 - 72.50 42.50 317.50 1.67451 - 72.50 42.50 322.50 2.55221 - 72.50 42.50 327.50 2.96787 - 72.50 42.50 332.50 2.68864 - 72.50 42.50 337.50 1.79232 - 72.50 42.50 342.50 0.938533 - 72.50 42.50 347.50 0.472255 - 72.50 42.50 352.50 0.241131 - 72.50 42.50 357.50 0.0948685 - 72.50 47.50 2.50 0.0195997 - 72.50 47.50 7.50 0.0236699 - 72.50 47.50 12.50 0.0301616 - 72.50 47.50 17.50 0.0244227 - 72.50 47.50 22.50 0.0200299 - 72.50 47.50 27.50 0.0314306 - 72.50 47.50 32.50 0.0567505 - 72.50 47.50 37.50 0.139446 - 72.50 47.50 42.50 0.296556 - 72.50 47.50 47.50 0.669526 - 72.50 47.50 52.50 1.02135 - 72.50 47.50 57.50 1.34304 - 72.50 47.50 62.50 1.29353 - 72.50 47.50 67.50 0.885196 - 72.50 47.50 72.50 0.419285 - 72.50 47.50 77.50 0.196214 - 72.50 47.50 82.50 0.101402 - 72.50 47.50 87.50 0.0394376 - 72.50 47.50 92.50 0.0195996 - 72.50 47.50 97.50 0.0236699 - 72.50 47.50 102.50 0.0301616 - 72.50 47.50 107.50 0.0244227 - 72.50 47.50 112.50 0.0200299 - 72.50 47.50 117.50 0.0314306 - 72.50 47.50 122.50 0.0567506 - 72.50 47.50 127.50 0.139446 - 72.50 47.50 132.50 0.296556 - 72.50 47.50 137.50 0.669526 - 72.50 47.50 142.50 1.02135 - 72.50 47.50 147.50 1.34304 - 72.50 47.50 152.50 1.29353 - 72.50 47.50 157.50 0.885197 - 72.50 47.50 162.50 0.419285 - 72.50 47.50 167.50 0.196214 - 72.50 47.50 172.50 0.101402 - 72.50 47.50 177.50 0.0394376 - 72.50 47.50 182.50 0.0195996 - 72.50 47.50 187.50 0.0236699 - 72.50 47.50 192.50 0.0301616 - 72.50 47.50 197.50 0.0244227 - 72.50 47.50 202.50 0.0200299 - 72.50 47.50 207.50 0.0314306 - 72.50 47.50 212.50 0.0567506 - 72.50 47.50 217.50 0.139446 - 72.50 47.50 222.50 0.296556 - 72.50 47.50 227.50 0.669526 - 72.50 47.50 232.50 1.02135 - 72.50 47.50 237.50 1.34304 - 72.50 47.50 242.50 1.29353 - 72.50 47.50 247.50 0.885196 - 72.50 47.50 252.50 0.419284 - 72.50 47.50 257.50 0.196214 - 72.50 47.50 262.50 0.101401 - 72.50 47.50 267.50 0.0394375 - 72.50 47.50 272.50 0.0195997 - 72.50 47.50 277.50 0.0236699 - 72.50 47.50 282.50 0.0301616 - 72.50 47.50 287.50 0.0244227 - 72.50 47.50 292.50 0.0200299 - 72.50 47.50 297.50 0.0314306 - 72.50 47.50 302.50 0.0567505 - 72.50 47.50 307.50 0.139445 - 72.50 47.50 312.50 0.296556 - 72.50 47.50 317.50 0.669525 - 72.50 47.50 322.50 1.02135 - 72.50 47.50 327.50 1.34304 - 72.50 47.50 332.50 1.29353 - 72.50 47.50 337.50 0.885198 - 72.50 47.50 342.50 0.419285 - 72.50 47.50 347.50 0.196214 - 72.50 47.50 352.50 0.101402 - 72.50 47.50 357.50 0.0394377 - 72.50 52.50 2.50 0.0345643 - 72.50 52.50 7.50 0.0653339 - 72.50 52.50 12.50 0.0811079 - 72.50 52.50 17.50 0.0725121 - 72.50 52.50 22.50 0.0565859 - 72.50 52.50 27.50 0.0404361 - 72.50 52.50 32.50 0.027975 - 72.50 52.50 37.50 0.0357743 - 72.50 52.50 42.50 0.0811808 - 72.50 52.50 47.50 0.16975 - 72.50 52.50 52.50 0.274639 - 72.50 52.50 57.50 0.395714 - 72.50 52.50 62.50 0.432882 - 72.50 52.50 67.50 0.318524 - 72.50 52.50 72.50 0.163165 - 72.50 52.50 77.50 0.0618642 - 72.50 52.50 82.50 0.0338908 - 72.50 52.50 87.50 0.0219592 - 72.50 52.50 92.50 0.0345643 - 72.50 52.50 97.50 0.0653339 - 72.50 52.50 102.50 0.0811078 - 72.50 52.50 107.50 0.0725121 - 72.50 52.50 112.50 0.0565859 - 72.50 52.50 117.50 0.0404361 - 72.50 52.50 122.50 0.0279751 - 72.50 52.50 127.50 0.0357744 - 72.50 52.50 132.50 0.0811809 - 72.50 52.50 137.50 0.16975 - 72.50 52.50 142.50 0.274639 - 72.50 52.50 147.50 0.395714 - 72.50 52.50 152.50 0.432883 - 72.50 52.50 157.50 0.318524 - 72.50 52.50 162.50 0.163165 - 72.50 52.50 167.50 0.0618642 - 72.50 52.50 172.50 0.0338908 - 72.50 52.50 177.50 0.0219592 - 72.50 52.50 182.50 0.0345643 - 72.50 52.50 187.50 0.0653339 - 72.50 52.50 192.50 0.0811078 - 72.50 52.50 197.50 0.072512 - 72.50 52.50 202.50 0.0565858 - 72.50 52.50 207.50 0.040436 - 72.50 52.50 212.50 0.0279751 - 72.50 52.50 217.50 0.0357744 - 72.50 52.50 222.50 0.0811809 - 72.50 52.50 227.50 0.16975 - 72.50 52.50 232.50 0.274639 - 72.50 52.50 237.50 0.395714 - 72.50 52.50 242.50 0.432882 - 72.50 52.50 247.50 0.318524 - 72.50 52.50 252.50 0.163165 - 72.50 52.50 257.50 0.061864 - 72.50 52.50 262.50 0.0338908 - 72.50 52.50 267.50 0.0219592 - 72.50 52.50 272.50 0.0345643 - 72.50 52.50 277.50 0.0653339 - 72.50 52.50 282.50 0.0811079 - 72.50 52.50 287.50 0.0725121 - 72.50 52.50 292.50 0.0565859 - 72.50 52.50 297.50 0.0404361 - 72.50 52.50 302.50 0.027975 - 72.50 52.50 307.50 0.0357743 - 72.50 52.50 312.50 0.0811807 - 72.50 52.50 317.50 0.16975 - 72.50 52.50 322.50 0.274638 - 72.50 52.50 327.50 0.395714 - 72.50 52.50 332.50 0.432883 - 72.50 52.50 337.50 0.318524 - 72.50 52.50 342.50 0.163165 - 72.50 52.50 347.50 0.0618643 - 72.50 52.50 352.50 0.0338908 - 72.50 52.50 357.50 0.0219592 - 72.50 57.50 2.50 0.0713707 - 72.50 57.50 7.50 0.140073 - 72.50 57.50 12.50 0.188219 - 72.50 57.50 17.50 0.222721 - 72.50 57.50 22.50 0.214172 - 72.50 57.50 27.50 0.152117 - 72.50 57.50 32.50 0.0892548 - 72.50 57.50 37.50 0.0458996 - 72.50 57.50 42.50 0.034129 - 72.50 57.50 47.50 0.047718 - 72.50 57.50 52.50 0.0601424 - 72.50 57.50 57.50 0.0792812 - 72.50 57.50 62.50 0.0887257 - 72.50 57.50 67.50 0.0714023 - 72.50 57.50 72.50 0.0469154 - 72.50 57.50 77.50 0.022784 - 72.50 57.50 82.50 0.0120017 - 72.50 57.50 87.50 0.0242699 - 72.50 57.50 92.50 0.0713707 - 72.50 57.50 97.50 0.140073 - 72.50 57.50 102.50 0.188219 - 72.50 57.50 107.50 0.222721 - 72.50 57.50 112.50 0.214172 - 72.50 57.50 117.50 0.152117 - 72.50 57.50 122.50 0.0892548 - 72.50 57.50 127.50 0.0458996 - 72.50 57.50 132.50 0.034129 - 72.50 57.50 137.50 0.0477181 - 72.50 57.50 142.50 0.0601425 - 72.50 57.50 147.50 0.0792813 - 72.50 57.50 152.50 0.0887259 - 72.50 57.50 157.50 0.0714024 - 72.50 57.50 162.50 0.0469154 - 72.50 57.50 167.50 0.022784 - 72.50 57.50 172.50 0.0120017 - 72.50 57.50 177.50 0.0242699 - 72.50 57.50 182.50 0.0713706 - 72.50 57.50 187.50 0.140073 - 72.50 57.50 192.50 0.188219 - 72.50 57.50 197.50 0.222721 - 72.50 57.50 202.50 0.214172 - 72.50 57.50 207.50 0.152117 - 72.50 57.50 212.50 0.0892547 - 72.50 57.50 217.50 0.0458996 - 72.50 57.50 222.50 0.0341291 - 72.50 57.50 227.50 0.0477181 - 72.50 57.50 232.50 0.0601425 - 72.50 57.50 237.50 0.0792813 - 72.50 57.50 242.50 0.0887258 - 72.50 57.50 247.50 0.0714024 - 72.50 57.50 252.50 0.0469155 - 72.50 57.50 257.50 0.022784 - 72.50 57.50 262.50 0.0120017 - 72.50 57.50 267.50 0.0242699 - 72.50 57.50 272.50 0.0713706 - 72.50 57.50 277.50 0.140073 - 72.50 57.50 282.50 0.188219 - 72.50 57.50 287.50 0.222721 - 72.50 57.50 292.50 0.214172 - 72.50 57.50 297.50 0.152117 - 72.50 57.50 302.50 0.0892549 - 72.50 57.50 307.50 0.0458996 - 72.50 57.50 312.50 0.034129 - 72.50 57.50 317.50 0.047718 - 72.50 57.50 322.50 0.0601424 - 72.50 57.50 327.50 0.0792812 - 72.50 57.50 332.50 0.0887258 - 72.50 57.50 337.50 0.0714024 - 72.50 57.50 342.50 0.0469154 - 72.50 57.50 347.50 0.022784 - 72.50 57.50 352.50 0.0120017 - 72.50 57.50 357.50 0.0242698 - 72.50 62.50 2.50 0.102728 - 72.50 62.50 7.50 0.213676 - 72.50 62.50 12.50 0.353436 - 72.50 62.50 17.50 0.516927 - 72.50 62.50 22.50 0.562698 - 72.50 62.50 27.50 0.449164 - 72.50 62.50 32.50 0.326203 - 72.50 62.50 37.50 0.221577 - 72.50 62.50 42.50 0.124174 - 72.50 62.50 47.50 0.0695905 - 72.50 62.50 52.50 0.038813 - 72.50 62.50 57.50 0.0244175 - 72.50 62.50 62.50 0.0153424 - 72.50 62.50 67.50 0.0121879 - 72.50 62.50 72.50 0.0102271 - 72.50 62.50 77.50 0.00822497 - 72.50 62.50 82.50 0.0115097 - 72.50 62.50 87.50 0.0314926 - 72.50 62.50 92.50 0.102728 - 72.50 62.50 97.50 0.213676 - 72.50 62.50 102.50 0.353436 - 72.50 62.50 107.50 0.516927 - 72.50 62.50 112.50 0.562697 - 72.50 62.50 117.50 0.449163 - 72.50 62.50 122.50 0.326203 - 72.50 62.50 127.50 0.221576 - 72.50 62.50 132.50 0.124174 - 72.50 62.50 137.50 0.0695904 - 72.50 62.50 142.50 0.0388129 - 72.50 62.50 147.50 0.0244175 - 72.50 62.50 152.50 0.0153424 - 72.50 62.50 157.50 0.0121879 - 72.50 62.50 162.50 0.0102271 - 72.50 62.50 167.50 0.00822497 - 72.50 62.50 172.50 0.0115096 - 72.50 62.50 177.50 0.0314926 - 72.50 62.50 182.50 0.102728 - 72.50 62.50 187.50 0.213676 - 72.50 62.50 192.50 0.353436 - 72.50 62.50 197.50 0.516927 - 72.50 62.50 202.50 0.562697 - 72.50 62.50 207.50 0.449164 - 72.50 62.50 212.50 0.326203 - 72.50 62.50 217.50 0.221576 - 72.50 62.50 222.50 0.124174 - 72.50 62.50 227.50 0.0695905 - 72.50 62.50 232.50 0.0388129 - 72.50 62.50 237.50 0.0244175 - 72.50 62.50 242.50 0.0153424 - 72.50 62.50 247.50 0.0121879 - 72.50 62.50 252.50 0.0102271 - 72.50 62.50 257.50 0.00822494 - 72.50 62.50 262.50 0.0115097 - 72.50 62.50 267.50 0.0314926 - 72.50 62.50 272.50 0.102728 - 72.50 62.50 277.50 0.213676 - 72.50 62.50 282.50 0.353436 - 72.50 62.50 287.50 0.516927 - 72.50 62.50 292.50 0.562698 - 72.50 62.50 297.50 0.449164 - 72.50 62.50 302.50 0.326203 - 72.50 62.50 307.50 0.221577 - 72.50 62.50 312.50 0.124174 - 72.50 62.50 317.50 0.0695906 - 72.50 62.50 322.50 0.038813 - 72.50 62.50 327.50 0.0244176 - 72.50 62.50 332.50 0.0153424 - 72.50 62.50 337.50 0.0121879 - 72.50 62.50 342.50 0.0102271 - 72.50 62.50 347.50 0.00822498 - 72.50 62.50 352.50 0.0115096 - 72.50 62.50 357.50 0.0314925 - 72.50 67.50 2.50 0.114009 - 72.50 67.50 7.50 0.265949 - 72.50 67.50 12.50 0.571641 - 72.50 67.50 17.50 0.940722 - 72.50 67.50 22.50 1.14987 - 72.50 67.50 27.50 1.10873 - 72.50 67.50 32.50 0.945087 - 72.50 67.50 37.50 0.693072 - 72.50 67.50 42.50 0.461554 - 72.50 67.50 47.50 0.25155 - 72.50 67.50 52.50 0.105781 - 72.50 67.50 57.50 0.0361209 - 72.50 67.50 62.50 0.011279 - 72.50 67.50 67.50 0.00773662 - 72.50 67.50 72.50 0.00704931 - 72.50 67.50 77.50 0.00927383 - 72.50 67.50 82.50 0.0195529 - 72.50 67.50 87.50 0.0458691 - 72.50 67.50 92.50 0.114009 - 72.50 67.50 97.50 0.265949 - 72.50 67.50 102.50 0.571641 - 72.50 67.50 107.50 0.940721 - 72.50 67.50 112.50 1.14987 - 72.50 67.50 117.50 1.10873 - 72.50 67.50 122.50 0.945086 - 72.50 67.50 127.50 0.693071 - 72.50 67.50 132.50 0.461554 - 72.50 67.50 137.50 0.25155 - 72.50 67.50 142.50 0.105781 - 72.50 67.50 147.50 0.0361209 - 72.50 67.50 152.50 0.011279 - 72.50 67.50 157.50 0.00773661 - 72.50 67.50 162.50 0.0070493 - 72.50 67.50 167.50 0.00927381 - 72.50 67.50 172.50 0.0195529 - 72.50 67.50 177.50 0.045869 - 72.50 67.50 182.50 0.114009 - 72.50 67.50 187.50 0.265949 - 72.50 67.50 192.50 0.571641 - 72.50 67.50 197.50 0.940721 - 72.50 67.50 202.50 1.14987 - 72.50 67.50 207.50 1.10873 - 72.50 67.50 212.50 0.945086 - 72.50 67.50 217.50 0.693072 - 72.50 67.50 222.50 0.461554 - 72.50 67.50 227.50 0.25155 - 72.50 67.50 232.50 0.105781 - 72.50 67.50 237.50 0.0361208 - 72.50 67.50 242.50 0.011279 - 72.50 67.50 247.50 0.00773661 - 72.50 67.50 252.50 0.00704931 - 72.50 67.50 257.50 0.00927382 - 72.50 67.50 262.50 0.0195529 - 72.50 67.50 267.50 0.0458691 - 72.50 67.50 272.50 0.114009 - 72.50 67.50 277.50 0.265949 - 72.50 67.50 282.50 0.571641 - 72.50 67.50 287.50 0.940722 - 72.50 67.50 292.50 1.14987 - 72.50 67.50 297.50 1.10873 - 72.50 67.50 302.50 0.945087 - 72.50 67.50 307.50 0.693072 - 72.50 67.50 312.50 0.461554 - 72.50 67.50 317.50 0.25155 - 72.50 67.50 322.50 0.105782 - 72.50 67.50 327.50 0.0361209 - 72.50 67.50 332.50 0.011279 - 72.50 67.50 337.50 0.00773661 - 72.50 67.50 342.50 0.0070493 - 72.50 67.50 347.50 0.00927379 - 72.50 67.50 352.50 0.0195529 - 72.50 67.50 357.50 0.045869 - 72.50 72.50 2.50 0.129042 - 72.50 72.50 7.50 0.322875 - 72.50 72.50 12.50 0.769451 - 72.50 72.50 17.50 1.45062 - 72.50 72.50 22.50 1.97596 - 72.50 72.50 27.50 2.15918 - 72.50 72.50 32.50 1.89622 - 72.50 72.50 37.50 1.54712 - 72.50 72.50 42.50 1.13461 - 72.50 72.50 47.50 0.656931 - 72.50 72.50 52.50 0.325269 - 72.50 72.50 57.50 0.127537 - 72.50 72.50 62.50 0.0466108 - 72.50 72.50 67.50 0.0259966 - 72.50 72.50 72.50 0.0313553 - 72.50 72.50 77.50 0.0299198 - 72.50 72.50 82.50 0.0407479 - 72.50 72.50 87.50 0.0863504 - 72.50 72.50 92.50 0.129042 - 72.50 72.50 97.50 0.322875 - 72.50 72.50 102.50 0.769451 - 72.50 72.50 107.50 1.45062 - 72.50 72.50 112.50 1.97596 - 72.50 72.50 117.50 2.15918 - 72.50 72.50 122.50 1.89621 - 72.50 72.50 127.50 1.54712 - 72.50 72.50 132.50 1.13461 - 72.50 72.50 137.50 0.65693 - 72.50 72.50 142.50 0.325269 - 72.50 72.50 147.50 0.127537 - 72.50 72.50 152.50 0.0466108 - 72.50 72.50 157.50 0.0259966 - 72.50 72.50 162.50 0.0313553 - 72.50 72.50 167.50 0.0299198 - 72.50 72.50 172.50 0.0407479 - 72.50 72.50 177.50 0.0863503 - 72.50 72.50 182.50 0.129042 - 72.50 72.50 187.50 0.322875 - 72.50 72.50 192.50 0.769451 - 72.50 72.50 197.50 1.45062 - 72.50 72.50 202.50 1.97596 - 72.50 72.50 207.50 2.15918 - 72.50 72.50 212.50 1.89622 - 72.50 72.50 217.50 1.54712 - 72.50 72.50 222.50 1.13461 - 72.50 72.50 227.50 0.656931 - 72.50 72.50 232.50 0.325269 - 72.50 72.50 237.50 0.127536 - 72.50 72.50 242.50 0.0466106 - 72.50 72.50 247.50 0.0259966 - 72.50 72.50 252.50 0.0313553 - 72.50 72.50 257.50 0.0299198 - 72.50 72.50 262.50 0.040748 - 72.50 72.50 267.50 0.0863503 - 72.50 72.50 272.50 0.129042 - 72.50 72.50 277.50 0.322875 - 72.50 72.50 282.50 0.769451 - 72.50 72.50 287.50 1.45062 - 72.50 72.50 292.50 1.97596 - 72.50 72.50 297.50 2.15918 - 72.50 72.50 302.50 1.89622 - 72.50 72.50 307.50 1.54712 - 72.50 72.50 312.50 1.13461 - 72.50 72.50 317.50 0.656931 - 72.50 72.50 322.50 0.32527 - 72.50 72.50 327.50 0.127537 - 72.50 72.50 332.50 0.0466109 - 72.50 72.50 337.50 0.0259966 - 72.50 72.50 342.50 0.0313554 - 72.50 72.50 347.50 0.0299198 - 72.50 72.50 352.50 0.0407479 - 72.50 72.50 357.50 0.0863503 - 72.50 77.50 2.50 0.148779 - 72.50 77.50 7.50 0.366389 - 72.50 77.50 12.50 0.886303 - 72.50 77.50 17.50 1.79376 - 72.50 77.50 22.50 2.56797 - 72.50 77.50 27.50 2.89725 - 72.50 77.50 32.50 2.8744 - 72.50 77.50 37.50 2.56876 - 72.50 77.50 42.50 2.0489 - 72.50 77.50 47.50 1.49579 - 72.50 77.50 52.50 0.875113 - 72.50 77.50 57.50 0.424124 - 72.50 77.50 62.50 0.177916 - 72.50 77.50 67.50 0.0865853 - 72.50 77.50 72.50 0.0698504 - 72.50 77.50 77.50 0.0764476 - 72.50 77.50 82.50 0.067778 - 72.50 77.50 87.50 0.132643 - 72.50 77.50 92.50 0.148779 - 72.50 77.50 97.50 0.366389 - 72.50 77.50 102.50 0.886304 - 72.50 77.50 107.50 1.79376 - 72.50 77.50 112.50 2.56797 - 72.50 77.50 117.50 2.89725 - 72.50 77.50 122.50 2.8744 - 72.50 77.50 127.50 2.56876 - 72.50 77.50 132.50 2.04889 - 72.50 77.50 137.50 1.49579 - 72.50 77.50 142.50 0.875113 - 72.50 77.50 147.50 0.424124 - 72.50 77.50 152.50 0.177916 - 72.50 77.50 157.50 0.0865854 - 72.50 77.50 162.50 0.0698503 - 72.50 77.50 167.50 0.0764475 - 72.50 77.50 172.50 0.0677779 - 72.50 77.50 177.50 0.132643 - 72.50 77.50 182.50 0.148779 - 72.50 77.50 187.50 0.366389 - 72.50 77.50 192.50 0.886304 - 72.50 77.50 197.50 1.79376 - 72.50 77.50 202.50 2.56797 - 72.50 77.50 207.50 2.89725 - 72.50 77.50 212.50 2.8744 - 72.50 77.50 217.50 2.56876 - 72.50 77.50 222.50 2.04889 - 72.50 77.50 227.50 1.49579 - 72.50 77.50 232.50 0.875111 - 72.50 77.50 237.50 0.424123 - 72.50 77.50 242.50 0.177916 - 72.50 77.50 247.50 0.0865852 - 72.50 77.50 252.50 0.0698503 - 72.50 77.50 257.50 0.0764475 - 72.50 77.50 262.50 0.067778 - 72.50 77.50 267.50 0.132643 - 72.50 77.50 272.50 0.148779 - 72.50 77.50 277.50 0.36639 - 72.50 77.50 282.50 0.886303 - 72.50 77.50 287.50 1.79376 - 72.50 77.50 292.50 2.56797 - 72.50 77.50 297.50 2.89725 - 72.50 77.50 302.50 2.8744 - 72.50 77.50 307.50 2.56876 - 72.50 77.50 312.50 2.0489 - 72.50 77.50 317.50 1.4958 - 72.50 77.50 322.50 0.875114 - 72.50 77.50 327.50 0.424124 - 72.50 77.50 332.50 0.177917 - 72.50 77.50 337.50 0.0865854 - 72.50 77.50 342.50 0.0698504 - 72.50 77.50 347.50 0.0764476 - 72.50 77.50 352.50 0.067778 - 72.50 77.50 357.50 0.132643 - 72.50 82.50 2.50 0.134121 - 72.50 82.50 7.50 0.311888 - 72.50 82.50 12.50 0.846376 - 72.50 82.50 17.50 1.60965 - 72.50 82.50 22.50 2.49788 - 72.50 82.50 27.50 3.14582 - 72.50 82.50 32.50 3.49902 - 72.50 82.50 37.50 3.5934 - 72.50 82.50 42.50 3.36894 - 72.50 82.50 47.50 2.7458 - 72.50 82.50 52.50 1.86968 - 72.50 82.50 57.50 1.08022 - 72.50 82.50 62.50 0.568254 - 72.50 82.50 67.50 0.301386 - 72.50 82.50 72.50 0.175414 - 72.50 82.50 77.50 0.120436 - 72.50 82.50 82.50 0.0979397 - 72.50 82.50 87.50 0.108157 - 72.50 82.50 92.50 0.134121 - 72.50 82.50 97.50 0.311888 - 72.50 82.50 102.50 0.846376 - 72.50 82.50 107.50 1.60965 - 72.50 82.50 112.50 2.49788 - 72.50 82.50 117.50 3.14582 - 72.50 82.50 122.50 3.49902 - 72.50 82.50 127.50 3.5934 - 72.50 82.50 132.50 3.36894 - 72.50 82.50 137.50 2.7458 - 72.50 82.50 142.50 1.86968 - 72.50 82.50 147.50 1.08022 - 72.50 82.50 152.50 0.568255 - 72.50 82.50 157.50 0.301387 - 72.50 82.50 162.50 0.175414 - 72.50 82.50 167.50 0.120436 - 72.50 82.50 172.50 0.0979397 - 72.50 82.50 177.50 0.108157 - 72.50 82.50 182.50 0.134121 - 72.50 82.50 187.50 0.311888 - 72.50 82.50 192.50 0.846376 - 72.50 82.50 197.50 1.60965 - 72.50 82.50 202.50 2.49788 - 72.50 82.50 207.50 3.14582 - 72.50 82.50 212.50 3.49901 - 72.50 82.50 217.50 3.5934 - 72.50 82.50 222.50 3.36894 - 72.50 82.50 227.50 2.7458 - 72.50 82.50 232.50 1.86968 - 72.50 82.50 237.50 1.08022 - 72.50 82.50 242.50 0.568254 - 72.50 82.50 247.50 0.301386 - 72.50 82.50 252.50 0.175413 - 72.50 82.50 257.50 0.120436 - 72.50 82.50 262.50 0.0979396 - 72.50 82.50 267.50 0.108157 - 72.50 82.50 272.50 0.134121 - 72.50 82.50 277.50 0.311888 - 72.50 82.50 282.50 0.846376 - 72.50 82.50 287.50 1.60965 - 72.50 82.50 292.50 2.49788 - 72.50 82.50 297.50 3.14582 - 72.50 82.50 302.50 3.49901 - 72.50 82.50 307.50 3.5934 - 72.50 82.50 312.50 3.36894 - 72.50 82.50 317.50 2.7458 - 72.50 82.50 322.50 1.86968 - 72.50 82.50 327.50 1.08022 - 72.50 82.50 332.50 0.568256 - 72.50 82.50 337.50 0.301387 - 72.50 82.50 342.50 0.175414 - 72.50 82.50 347.50 0.120436 - 72.50 82.50 352.50 0.0979397 - 72.50 82.50 357.50 0.108156 - 72.50 87.50 2.50 0.0872056 - 72.50 87.50 7.50 0.216872 - 72.50 87.50 12.50 0.542958 - 72.50 87.50 17.50 1.13308 - 72.50 87.50 22.50 1.83315 - 72.50 87.50 27.50 2.65519 - 72.50 87.50 32.50 3.36487 - 72.50 87.50 37.50 3.88141 - 72.50 87.50 42.50 4.11515 - 72.50 87.50 47.50 3.87616 - 72.50 87.50 52.50 3.1056 - 72.50 87.50 57.50 2.10178 - 72.50 87.50 62.50 1.28389 - 72.50 87.50 67.50 0.756731 - 72.50 87.50 72.50 0.440341 - 72.50 87.50 77.50 0.247396 - 72.50 87.50 82.50 0.129848 - 72.50 87.50 87.50 0.0811657 - 72.50 87.50 92.50 0.0872057 - 72.50 87.50 97.50 0.216872 - 72.50 87.50 102.50 0.542959 - 72.50 87.50 107.50 1.13308 - 72.50 87.50 112.50 1.83315 - 72.50 87.50 117.50 2.65519 - 72.50 87.50 122.50 3.36487 - 72.50 87.50 127.50 3.88141 - 72.50 87.50 132.50 4.11515 - 72.50 87.50 137.50 3.87616 - 72.50 87.50 142.50 3.1056 - 72.50 87.50 147.50 2.10178 - 72.50 87.50 152.50 1.28389 - 72.50 87.50 157.50 0.756732 - 72.50 87.50 162.50 0.440341 - 72.50 87.50 167.50 0.247396 - 72.50 87.50 172.50 0.129848 - 72.50 87.50 177.50 0.0811657 - 72.50 87.50 182.50 0.0872057 - 72.50 87.50 187.50 0.216872 - 72.50 87.50 192.50 0.542959 - 72.50 87.50 197.50 1.13308 - 72.50 87.50 202.50 1.83315 - 72.50 87.50 207.50 2.65519 - 72.50 87.50 212.50 3.36487 - 72.50 87.50 217.50 3.88141 - 72.50 87.50 222.50 4.11514 - 72.50 87.50 227.50 3.87617 - 72.50 87.50 232.50 3.1056 - 72.50 87.50 237.50 2.10178 - 72.50 87.50 242.50 1.28389 - 72.50 87.50 247.50 0.756731 - 72.50 87.50 252.50 0.44034 - 72.50 87.50 257.50 0.247396 - 72.50 87.50 262.50 0.129848 - 72.50 87.50 267.50 0.0811656 - 72.50 87.50 272.50 0.0872057 - 72.50 87.50 277.50 0.216872 - 72.50 87.50 282.50 0.542959 - 72.50 87.50 287.50 1.13308 - 72.50 87.50 292.50 1.83315 - 72.50 87.50 297.50 2.65519 - 72.50 87.50 302.50 3.36487 - 72.50 87.50 307.50 3.88141 - 72.50 87.50 312.50 4.11515 - 72.50 87.50 317.50 3.87617 - 72.50 87.50 322.50 3.1056 - 72.50 87.50 327.50 2.10178 - 72.50 87.50 332.50 1.28389 - 72.50 87.50 337.50 0.756732 - 72.50 87.50 342.50 0.440341 - 72.50 87.50 347.50 0.247397 - 72.50 87.50 352.50 0.129848 - 72.50 87.50 357.50 0.0811657 - 72.50 92.50 2.50 0.0624686 - 72.50 92.50 7.50 0.102596 - 72.50 92.50 12.50 0.24067 - 72.50 92.50 17.50 0.527182 - 72.50 92.50 22.50 0.990531 - 72.50 92.50 27.50 1.58451 - 72.50 92.50 32.50 2.28343 - 72.50 92.50 37.50 3.12281 - 72.50 92.50 42.50 3.95126 - 72.50 92.50 47.50 4.32007 - 72.50 92.50 52.50 3.95126 - 72.50 92.50 57.50 3.12281 - 72.50 92.50 62.50 2.28343 - 72.50 92.50 67.50 1.58451 - 72.50 92.50 72.50 0.990532 - 72.50 92.50 77.50 0.527183 - 72.50 92.50 82.50 0.24067 - 72.50 92.50 87.50 0.102596 - 72.50 92.50 92.50 0.0624686 - 72.50 92.50 97.50 0.102596 - 72.50 92.50 102.50 0.24067 - 72.50 92.50 107.50 0.527183 - 72.50 92.50 112.50 0.990531 - 72.50 92.50 117.50 1.58451 - 72.50 92.50 122.50 2.28343 - 72.50 92.50 127.50 3.12281 - 72.50 92.50 132.50 3.95126 - 72.50 92.50 137.50 4.32007 - 72.50 92.50 142.50 3.95126 - 72.50 92.50 147.50 3.12281 - 72.50 92.50 152.50 2.28343 - 72.50 92.50 157.50 1.58451 - 72.50 92.50 162.50 0.990532 - 72.50 92.50 167.50 0.527183 - 72.50 92.50 172.50 0.24067 - 72.50 92.50 177.50 0.102596 - 72.50 92.50 182.50 0.0624686 - 72.50 92.50 187.50 0.102596 - 72.50 92.50 192.50 0.24067 - 72.50 92.50 197.50 0.527183 - 72.50 92.50 202.50 0.990532 - 72.50 92.50 207.50 1.58451 - 72.50 92.50 212.50 2.28343 - 72.50 92.50 217.50 3.12281 - 72.50 92.50 222.50 3.95126 - 72.50 92.50 227.50 4.32007 - 72.50 92.50 232.50 3.95126 - 72.50 92.50 237.50 3.12281 - 72.50 92.50 242.50 2.28343 - 72.50 92.50 247.50 1.58451 - 72.50 92.50 252.50 0.99053 - 72.50 92.50 257.50 0.527182 - 72.50 92.50 262.50 0.24067 - 72.50 92.50 267.50 0.102596 - 72.50 92.50 272.50 0.0624685 - 72.50 92.50 277.50 0.102596 - 72.50 92.50 282.50 0.24067 - 72.50 92.50 287.50 0.527182 - 72.50 92.50 292.50 0.990531 - 72.50 92.50 297.50 1.58451 - 72.50 92.50 302.50 2.28343 - 72.50 92.50 307.50 3.12281 - 72.50 92.50 312.50 3.95126 - 72.50 92.50 317.50 4.32007 - 72.50 92.50 322.50 3.95126 - 72.50 92.50 327.50 3.12281 - 72.50 92.50 332.50 2.28343 - 72.50 92.50 337.50 1.58451 - 72.50 92.50 342.50 0.990533 - 72.50 92.50 347.50 0.527184 - 72.50 92.50 352.50 0.24067 - 72.50 92.50 357.50 0.102596 - 72.50 97.50 2.50 0.0872057 - 72.50 97.50 7.50 0.0811657 - 72.50 97.50 12.50 0.129848 - 72.50 97.50 17.50 0.247396 - 72.50 97.50 22.50 0.440341 - 72.50 97.50 27.50 0.756732 - 72.50 97.50 32.50 1.28389 - 72.50 97.50 37.50 2.10178 - 72.50 97.50 42.50 3.1056 - 72.50 97.50 47.50 3.87616 - 72.50 97.50 52.50 4.11515 - 72.50 97.50 57.50 3.88141 - 72.50 97.50 62.50 3.36487 - 72.50 97.50 67.50 2.65519 - 72.50 97.50 72.50 1.83315 - 72.50 97.50 77.50 1.13308 - 72.50 97.50 82.50 0.542958 - 72.50 97.50 87.50 0.216871 - 72.50 97.50 92.50 0.0872057 - 72.50 97.50 97.50 0.0811657 - 72.50 97.50 102.50 0.129848 - 72.50 97.50 107.50 0.247396 - 72.50 97.50 112.50 0.440341 - 72.50 97.50 117.50 0.756732 - 72.50 97.50 122.50 1.28389 - 72.50 97.50 127.50 2.10178 - 72.50 97.50 132.50 3.1056 - 72.50 97.50 137.50 3.87616 - 72.50 97.50 142.50 4.11515 - 72.50 97.50 147.50 3.88141 - 72.50 97.50 152.50 3.36487 - 72.50 97.50 157.50 2.65519 - 72.50 97.50 162.50 1.83315 - 72.50 97.50 167.50 1.13308 - 72.50 97.50 172.50 0.542959 - 72.50 97.50 177.50 0.216872 - 72.50 97.50 182.50 0.0872057 - 72.50 97.50 187.50 0.0811657 - 72.50 97.50 192.50 0.129848 - 72.50 97.50 197.50 0.247396 - 72.50 97.50 202.50 0.440341 - 72.50 97.50 207.50 0.756732 - 72.50 97.50 212.50 1.28389 - 72.50 97.50 217.50 2.10178 - 72.50 97.50 222.50 3.1056 - 72.50 97.50 227.50 3.87616 - 72.50 97.50 232.50 4.11515 - 72.50 97.50 237.50 3.88141 - 72.50 97.50 242.50 3.36487 - 72.50 97.50 247.50 2.65519 - 72.50 97.50 252.50 1.83315 - 72.50 97.50 257.50 1.13308 - 72.50 97.50 262.50 0.542958 - 72.50 97.50 267.50 0.216871 - 72.50 97.50 272.50 0.0872056 - 72.50 97.50 277.50 0.0811657 - 72.50 97.50 282.50 0.129848 - 72.50 97.50 287.50 0.247396 - 72.50 97.50 292.50 0.440341 - 72.50 97.50 297.50 0.756732 - 72.50 97.50 302.50 1.28389 - 72.50 97.50 307.50 2.10178 - 72.50 97.50 312.50 3.1056 - 72.50 97.50 317.50 3.87616 - 72.50 97.50 322.50 4.11515 - 72.50 97.50 327.50 3.88141 - 72.50 97.50 332.50 3.36487 - 72.50 97.50 337.50 2.65519 - 72.50 97.50 342.50 1.83315 - 72.50 97.50 347.50 1.13308 - 72.50 97.50 352.50 0.54296 - 72.50 97.50 357.50 0.216872 - 72.50 102.50 2.50 0.134121 - 72.50 102.50 7.50 0.108157 - 72.50 102.50 12.50 0.0979397 - 72.50 102.50 17.50 0.120436 - 72.50 102.50 22.50 0.175414 - 72.50 102.50 27.50 0.301386 - 72.50 102.50 32.50 0.568255 - 72.50 102.50 37.50 1.08022 - 72.50 102.50 42.50 1.86968 - 72.50 102.50 47.50 2.7458 - 72.50 102.50 52.50 3.36894 - 72.50 102.50 57.50 3.5934 - 72.50 102.50 62.50 3.49901 - 72.50 102.50 67.50 3.14582 - 72.50 102.50 72.50 2.49788 - 72.50 102.50 77.50 1.60965 - 72.50 102.50 82.50 0.846377 - 72.50 102.50 87.50 0.311888 - 72.50 102.50 92.50 0.134121 - 72.50 102.50 97.50 0.108157 - 72.50 102.50 102.50 0.0979397 - 72.50 102.50 107.50 0.120436 - 72.50 102.50 112.50 0.175414 - 72.50 102.50 117.50 0.301387 - 72.50 102.50 122.50 0.568256 - 72.50 102.50 127.50 1.08022 - 72.50 102.50 132.50 1.86968 - 72.50 102.50 137.50 2.7458 - 72.50 102.50 142.50 3.36895 - 72.50 102.50 147.50 3.5934 - 72.50 102.50 152.50 3.49901 - 72.50 102.50 157.50 3.14581 - 72.50 102.50 162.50 2.49788 - 72.50 102.50 167.50 1.60965 - 72.50 102.50 172.50 0.846377 - 72.50 102.50 177.50 0.311888 - 72.50 102.50 182.50 0.134121 - 72.50 102.50 187.50 0.108157 - 72.50 102.50 192.50 0.0979396 - 72.50 102.50 197.50 0.120436 - 72.50 102.50 202.50 0.175414 - 72.50 102.50 207.50 0.301387 - 72.50 102.50 212.50 0.568255 - 72.50 102.50 217.50 1.08022 - 72.50 102.50 222.50 1.86968 - 72.50 102.50 227.50 2.7458 - 72.50 102.50 232.50 3.36895 - 72.50 102.50 237.50 3.5934 - 72.50 102.50 242.50 3.49901 - 72.50 102.50 247.50 3.14582 - 72.50 102.50 252.50 2.49788 - 72.50 102.50 257.50 1.60965 - 72.50 102.50 262.50 0.846375 - 72.50 102.50 267.50 0.311888 - 72.50 102.50 272.50 0.134121 - 72.50 102.50 277.50 0.108157 - 72.50 102.50 282.50 0.0979397 - 72.50 102.50 287.50 0.120436 - 72.50 102.50 292.50 0.175414 - 72.50 102.50 297.50 0.301387 - 72.50 102.50 302.50 0.568255 - 72.50 102.50 307.50 1.08022 - 72.50 102.50 312.50 1.86968 - 72.50 102.50 317.50 2.7458 - 72.50 102.50 322.50 3.36894 - 72.50 102.50 327.50 3.5934 - 72.50 102.50 332.50 3.49901 - 72.50 102.50 337.50 3.14582 - 72.50 102.50 342.50 2.49788 - 72.50 102.50 347.50 1.60965 - 72.50 102.50 352.50 0.846377 - 72.50 102.50 357.50 0.311889 - 72.50 107.50 2.50 0.148779 - 72.50 107.50 7.50 0.132643 - 72.50 107.50 12.50 0.067778 - 72.50 107.50 17.50 0.0764476 - 72.50 107.50 22.50 0.0698503 - 72.50 107.50 27.50 0.0865853 - 72.50 107.50 32.50 0.177916 - 72.50 107.50 37.50 0.424124 - 72.50 107.50 42.50 0.875113 - 72.50 107.50 47.50 1.49579 - 72.50 107.50 52.50 2.0489 - 72.50 107.50 57.50 2.56876 - 72.50 107.50 62.50 2.8744 - 72.50 107.50 67.50 2.89725 - 72.50 107.50 72.50 2.56797 - 72.50 107.50 77.50 1.79376 - 72.50 107.50 82.50 0.886304 - 72.50 107.50 87.50 0.366389 - 72.50 107.50 92.50 0.148779 - 72.50 107.50 97.50 0.132643 - 72.50 107.50 102.50 0.067778 - 72.50 107.50 107.50 0.0764476 - 72.50 107.50 112.50 0.0698504 - 72.50 107.50 117.50 0.0865854 - 72.50 107.50 122.50 0.177917 - 72.50 107.50 127.50 0.424125 - 72.50 107.50 132.50 0.875114 - 72.50 107.50 137.50 1.4958 - 72.50 107.50 142.50 2.0489 - 72.50 107.50 147.50 2.56876 - 72.50 107.50 152.50 2.8744 - 72.50 107.50 157.50 2.89725 - 72.50 107.50 162.50 2.56798 - 72.50 107.50 167.50 1.79376 - 72.50 107.50 172.50 0.886304 - 72.50 107.50 177.50 0.36639 - 72.50 107.50 182.50 0.148779 - 72.50 107.50 187.50 0.132643 - 72.50 107.50 192.50 0.067778 - 72.50 107.50 197.50 0.0764476 - 72.50 107.50 202.50 0.0698504 - 72.50 107.50 207.50 0.0865854 - 72.50 107.50 212.50 0.177916 - 72.50 107.50 217.50 0.424124 - 72.50 107.50 222.50 0.875113 - 72.50 107.50 227.50 1.49579 - 72.50 107.50 232.50 2.0489 - 72.50 107.50 237.50 2.56876 - 72.50 107.50 242.50 2.8744 - 72.50 107.50 247.50 2.89725 - 72.50 107.50 252.50 2.56797 - 72.50 107.50 257.50 1.79376 - 72.50 107.50 262.50 0.886302 - 72.50 107.50 267.50 0.366389 - 72.50 107.50 272.50 0.148779 - 72.50 107.50 277.50 0.132643 - 72.50 107.50 282.50 0.0677779 - 72.50 107.50 287.50 0.0764476 - 72.50 107.50 292.50 0.0698503 - 72.50 107.50 297.50 0.0865852 - 72.50 107.50 302.50 0.177916 - 72.50 107.50 307.50 0.424123 - 72.50 107.50 312.50 0.875112 - 72.50 107.50 317.50 1.49579 - 72.50 107.50 322.50 2.04889 - 72.50 107.50 327.50 2.56876 - 72.50 107.50 332.50 2.8744 - 72.50 107.50 337.50 2.89725 - 72.50 107.50 342.50 2.56798 - 72.50 107.50 347.50 1.79376 - 72.50 107.50 352.50 0.886306 - 72.50 107.50 357.50 0.36639 - 72.50 112.50 2.50 0.129042 - 72.50 112.50 7.50 0.0863504 - 72.50 112.50 12.50 0.0407479 - 72.50 112.50 17.50 0.0299198 - 72.50 112.50 22.50 0.0313554 - 72.50 112.50 27.50 0.0259966 - 72.50 112.50 32.50 0.0466108 - 72.50 112.50 37.50 0.127537 - 72.50 112.50 42.50 0.325269 - 72.50 112.50 47.50 0.656931 - 72.50 112.50 52.50 1.13461 - 72.50 112.50 57.50 1.54712 - 72.50 112.50 62.50 1.89622 - 72.50 112.50 67.50 2.15918 - 72.50 112.50 72.50 1.97596 - 72.50 112.50 77.50 1.45062 - 72.50 112.50 82.50 0.769451 - 72.50 112.50 87.50 0.322875 - 72.50 112.50 92.50 0.129042 - 72.50 112.50 97.50 0.0863504 - 72.50 112.50 102.50 0.0407479 - 72.50 112.50 107.50 0.0299198 - 72.50 112.50 112.50 0.0313554 - 72.50 112.50 117.50 0.0259966 - 72.50 112.50 122.50 0.0466109 - 72.50 112.50 127.50 0.127537 - 72.50 112.50 132.50 0.32527 - 72.50 112.50 137.50 0.656931 - 72.50 112.50 142.50 1.13461 - 72.50 112.50 147.50 1.54712 - 72.50 112.50 152.50 1.89622 - 72.50 112.50 157.50 2.15918 - 72.50 112.50 162.50 1.97596 - 72.50 112.50 167.50 1.45062 - 72.50 112.50 172.50 0.769451 - 72.50 112.50 177.50 0.322876 - 72.50 112.50 182.50 0.129042 - 72.50 112.50 187.50 0.0863505 - 72.50 112.50 192.50 0.0407479 - 72.50 112.50 197.50 0.0299198 - 72.50 112.50 202.50 0.0313554 - 72.50 112.50 207.50 0.0259966 - 72.50 112.50 212.50 0.0466109 - 72.50 112.50 217.50 0.127537 - 72.50 112.50 222.50 0.325269 - 72.50 112.50 227.50 0.656931 - 72.50 112.50 232.50 1.13461 - 72.50 112.50 237.50 1.54712 - 72.50 112.50 242.50 1.89622 - 72.50 112.50 247.50 2.15918 - 72.50 112.50 252.50 1.97596 - 72.50 112.50 257.50 1.45062 - 72.50 112.50 262.50 0.76945 - 72.50 112.50 267.50 0.322875 - 72.50 112.50 272.50 0.129042 - 72.50 112.50 277.50 0.0863504 - 72.50 112.50 282.50 0.0407479 - 72.50 112.50 287.50 0.0299197 - 72.50 112.50 292.50 0.0313554 - 72.50 112.50 297.50 0.0259966 - 72.50 112.50 302.50 0.0466107 - 72.50 112.50 307.50 0.127537 - 72.50 112.50 312.50 0.325269 - 72.50 112.50 317.50 0.656931 - 72.50 112.50 322.50 1.13461 - 72.50 112.50 327.50 1.54712 - 72.50 112.50 332.50 1.89622 - 72.50 112.50 337.50 2.15918 - 72.50 112.50 342.50 1.97596 - 72.50 112.50 347.50 1.45063 - 72.50 112.50 352.50 0.769452 - 72.50 112.50 357.50 0.322876 - 72.50 117.50 2.50 0.114009 - 72.50 117.50 7.50 0.045869 - 72.50 117.50 12.50 0.0195529 - 72.50 117.50 17.50 0.00927379 - 72.50 117.50 22.50 0.00704929 - 72.50 117.50 27.50 0.00773659 - 72.50 117.50 32.50 0.011279 - 72.50 117.50 37.50 0.0361208 - 72.50 117.50 42.50 0.105781 - 72.50 117.50 47.50 0.25155 - 72.50 117.50 52.50 0.461553 - 72.50 117.50 57.50 0.693071 - 72.50 117.50 62.50 0.945086 - 72.50 117.50 67.50 1.10873 - 72.50 117.50 72.50 1.14987 - 72.50 117.50 77.50 0.940721 - 72.50 117.50 82.50 0.571641 - 72.50 117.50 87.50 0.265949 - 72.50 117.50 92.50 0.114009 - 72.50 117.50 97.50 0.0458691 - 72.50 117.50 102.50 0.0195529 - 72.50 117.50 107.50 0.00927381 - 72.50 117.50 112.50 0.0070493 - 72.50 117.50 117.50 0.0077366 - 72.50 117.50 122.50 0.011279 - 72.50 117.50 127.50 0.0361209 - 72.50 117.50 132.50 0.105781 - 72.50 117.50 137.50 0.25155 - 72.50 117.50 142.50 0.461554 - 72.50 117.50 147.50 0.693071 - 72.50 117.50 152.50 0.945086 - 72.50 117.50 157.50 1.10873 - 72.50 117.50 162.50 1.14987 - 72.50 117.50 167.50 0.940721 - 72.50 117.50 172.50 0.571641 - 72.50 117.50 177.50 0.265949 - 72.50 117.50 182.50 0.114009 - 72.50 117.50 187.50 0.0458691 - 72.50 117.50 192.50 0.0195529 - 72.50 117.50 197.50 0.00927381 - 72.50 117.50 202.50 0.0070493 - 72.50 117.50 207.50 0.00773661 - 72.50 117.50 212.50 0.011279 - 72.50 117.50 217.50 0.0361208 - 72.50 117.50 222.50 0.105781 - 72.50 117.50 227.50 0.25155 - 72.50 117.50 232.50 0.461554 - 72.50 117.50 237.50 0.693071 - 72.50 117.50 242.50 0.945087 - 72.50 117.50 247.50 1.10873 - 72.50 117.50 252.50 1.14987 - 72.50 117.50 257.50 0.940721 - 72.50 117.50 262.50 0.57164 - 72.50 117.50 267.50 0.265949 - 72.50 117.50 272.50 0.114009 - 72.50 117.50 277.50 0.045869 - 72.50 117.50 282.50 0.0195529 - 72.50 117.50 287.50 0.00927381 - 72.50 117.50 292.50 0.0070493 - 72.50 117.50 297.50 0.00773661 - 72.50 117.50 302.50 0.011279 - 72.50 117.50 307.50 0.0361208 - 72.50 117.50 312.50 0.105781 - 72.50 117.50 317.50 0.251549 - 72.50 117.50 322.50 0.461553 - 72.50 117.50 327.50 0.693071 - 72.50 117.50 332.50 0.945085 - 72.50 117.50 337.50 1.10873 - 72.50 117.50 342.50 1.14987 - 72.50 117.50 347.50 0.940722 - 72.50 117.50 352.50 0.571642 - 72.50 117.50 357.50 0.26595 - 72.50 122.50 2.50 0.102728 - 72.50 122.50 7.50 0.0314926 - 72.50 122.50 12.50 0.0115097 - 72.50 122.50 17.50 0.00822499 - 72.50 122.50 22.50 0.0102271 - 72.50 122.50 27.50 0.0121879 - 72.50 122.50 32.50 0.0153424 - 72.50 122.50 37.50 0.0244175 - 72.50 122.50 42.50 0.0388129 - 72.50 122.50 47.50 0.0695903 - 72.50 122.50 52.50 0.124174 - 72.50 122.50 57.50 0.221576 - 72.50 122.50 62.50 0.326203 - 72.50 122.50 67.50 0.449164 - 72.50 122.50 72.50 0.562697 - 72.50 122.50 77.50 0.516927 - 72.50 122.50 82.50 0.353436 - 72.50 122.50 87.50 0.213676 - 72.50 122.50 92.50 0.102728 - 72.50 122.50 97.50 0.0314926 - 72.50 122.50 102.50 0.0115097 - 72.50 122.50 107.50 0.00822498 - 72.50 122.50 112.50 0.0102271 - 72.50 122.50 117.50 0.0121879 - 72.50 122.50 122.50 0.0153424 - 72.50 122.50 127.50 0.0244176 - 72.50 122.50 132.50 0.0388129 - 72.50 122.50 137.50 0.0695904 - 72.50 122.50 142.50 0.124174 - 72.50 122.50 147.50 0.221576 - 72.50 122.50 152.50 0.326203 - 72.50 122.50 157.50 0.449163 - 72.50 122.50 162.50 0.562697 - 72.50 122.50 167.50 0.516927 - 72.50 122.50 172.50 0.353436 - 72.50 122.50 177.50 0.213676 - 72.50 122.50 182.50 0.102728 - 72.50 122.50 187.50 0.0314926 - 72.50 122.50 192.50 0.0115097 - 72.50 122.50 197.50 0.00822498 - 72.50 122.50 202.50 0.0102271 - 72.50 122.50 207.50 0.0121879 - 72.50 122.50 212.50 0.0153424 - 72.50 122.50 217.50 0.0244175 - 72.50 122.50 222.50 0.0388129 - 72.50 122.50 227.50 0.0695903 - 72.50 122.50 232.50 0.124174 - 72.50 122.50 237.50 0.221577 - 72.50 122.50 242.50 0.326203 - 72.50 122.50 247.50 0.449163 - 72.50 122.50 252.50 0.562697 - 72.50 122.50 257.50 0.516927 - 72.50 122.50 262.50 0.353435 - 72.50 122.50 267.50 0.213676 - 72.50 122.50 272.50 0.102728 - 72.50 122.50 277.50 0.0314926 - 72.50 122.50 282.50 0.0115096 - 72.50 122.50 287.50 0.00822498 - 72.50 122.50 292.50 0.0102271 - 72.50 122.50 297.50 0.0121879 - 72.50 122.50 302.50 0.0153424 - 72.50 122.50 307.50 0.0244175 - 72.50 122.50 312.50 0.0388128 - 72.50 122.50 317.50 0.0695903 - 72.50 122.50 322.50 0.124174 - 72.50 122.50 327.50 0.221576 - 72.50 122.50 332.50 0.326203 - 72.50 122.50 337.50 0.449163 - 72.50 122.50 342.50 0.562697 - 72.50 122.50 347.50 0.516927 - 72.50 122.50 352.50 0.353436 - 72.50 122.50 357.50 0.213676 - 72.50 127.50 2.50 0.0713706 - 72.50 127.50 7.50 0.0242699 - 72.50 127.50 12.50 0.0120017 - 72.50 127.50 17.50 0.0227841 - 72.50 127.50 22.50 0.0469156 - 72.50 127.50 27.50 0.0714025 - 72.50 127.50 32.50 0.0887259 - 72.50 127.50 37.50 0.0792813 - 72.50 127.50 42.50 0.0601425 - 72.50 127.50 47.50 0.0477181 - 72.50 127.50 52.50 0.034129 - 72.50 127.50 57.50 0.0458996 - 72.50 127.50 62.50 0.0892548 - 72.50 127.50 67.50 0.152117 - 72.50 127.50 72.50 0.214172 - 72.50 127.50 77.50 0.222721 - 72.50 127.50 82.50 0.188219 - 72.50 127.50 87.50 0.140073 - 72.50 127.50 92.50 0.0713706 - 72.50 127.50 97.50 0.0242699 - 72.50 127.50 102.50 0.0120017 - 72.50 127.50 107.50 0.0227841 - 72.50 127.50 112.50 0.0469155 - 72.50 127.50 117.50 0.0714024 - 72.50 127.50 122.50 0.0887259 - 72.50 127.50 127.50 0.0792813 - 72.50 127.50 132.50 0.0601425 - 72.50 127.50 137.50 0.047718 - 72.50 127.50 142.50 0.034129 - 72.50 127.50 147.50 0.0458996 - 72.50 127.50 152.50 0.0892548 - 72.50 127.50 157.50 0.152117 - 72.50 127.50 162.50 0.214172 - 72.50 127.50 167.50 0.222721 - 72.50 127.50 172.50 0.188219 - 72.50 127.50 177.50 0.140073 - 72.50 127.50 182.50 0.0713705 - 72.50 127.50 187.50 0.0242698 - 72.50 127.50 192.50 0.0120017 - 72.50 127.50 197.50 0.0227841 - 72.50 127.50 202.50 0.0469155 - 72.50 127.50 207.50 0.0714023 - 72.50 127.50 212.50 0.0887259 - 72.50 127.50 217.50 0.0792814 - 72.50 127.50 222.50 0.0601425 - 72.50 127.50 227.50 0.0477181 - 72.50 127.50 232.50 0.034129 - 72.50 127.50 237.50 0.0458996 - 72.50 127.50 242.50 0.0892549 - 72.50 127.50 247.50 0.152117 - 72.50 127.50 252.50 0.214172 - 72.50 127.50 257.50 0.222721 - 72.50 127.50 262.50 0.188219 - 72.50 127.50 267.50 0.140073 - 72.50 127.50 272.50 0.0713706 - 72.50 127.50 277.50 0.0242699 - 72.50 127.50 282.50 0.0120017 - 72.50 127.50 287.50 0.0227841 - 72.50 127.50 292.50 0.0469155 - 72.50 127.50 297.50 0.0714024 - 72.50 127.50 302.50 0.088726 - 72.50 127.50 307.50 0.0792814 - 72.50 127.50 312.50 0.0601425 - 72.50 127.50 317.50 0.0477181 - 72.50 127.50 322.50 0.034129 - 72.50 127.50 327.50 0.0458996 - 72.50 127.50 332.50 0.0892546 - 72.50 127.50 337.50 0.152116 - 72.50 127.50 342.50 0.214172 - 72.50 127.50 347.50 0.222721 - 72.50 127.50 352.50 0.188219 - 72.50 127.50 357.50 0.140073 - 72.50 132.50 2.50 0.0345643 - 72.50 132.50 7.50 0.0219592 - 72.50 132.50 12.50 0.0338908 - 72.50 132.50 17.50 0.0618642 - 72.50 132.50 22.50 0.163165 - 72.50 132.50 27.50 0.318524 - 72.50 132.50 32.50 0.432883 - 72.50 132.50 37.50 0.395714 - 72.50 132.50 42.50 0.274639 - 72.50 132.50 47.50 0.16975 - 72.50 132.50 52.50 0.0811809 - 72.50 132.50 57.50 0.0357743 - 72.50 132.50 62.50 0.0279751 - 72.50 132.50 67.50 0.0404361 - 72.50 132.50 72.50 0.0565859 - 72.50 132.50 77.50 0.0725121 - 72.50 132.50 82.50 0.0811078 - 72.50 132.50 87.50 0.0653339 - 72.50 132.50 92.50 0.0345643 - 72.50 132.50 97.50 0.0219592 - 72.50 132.50 102.50 0.0338908 - 72.50 132.50 107.50 0.0618642 - 72.50 132.50 112.50 0.163165 - 72.50 132.50 117.50 0.318524 - 72.50 132.50 122.50 0.432883 - 72.50 132.50 127.50 0.395714 - 72.50 132.50 132.50 0.274639 - 72.50 132.50 137.50 0.16975 - 72.50 132.50 142.50 0.0811809 - 72.50 132.50 147.50 0.0357743 - 72.50 132.50 152.50 0.0279751 - 72.50 132.50 157.50 0.0404361 - 72.50 132.50 162.50 0.0565859 - 72.50 132.50 167.50 0.0725121 - 72.50 132.50 172.50 0.0811078 - 72.50 132.50 177.50 0.0653338 - 72.50 132.50 182.50 0.0345642 - 72.50 132.50 187.50 0.0219592 - 72.50 132.50 192.50 0.0338908 - 72.50 132.50 197.50 0.0618642 - 72.50 132.50 202.50 0.163165 - 72.50 132.50 207.50 0.318524 - 72.50 132.50 212.50 0.432883 - 72.50 132.50 217.50 0.395714 - 72.50 132.50 222.50 0.274639 - 72.50 132.50 227.50 0.16975 - 72.50 132.50 232.50 0.0811805 - 72.50 132.50 237.50 0.0357743 - 72.50 132.50 242.50 0.0279751 - 72.50 132.50 247.50 0.0404361 - 72.50 132.50 252.50 0.0565859 - 72.50 132.50 257.50 0.0725122 - 72.50 132.50 262.50 0.0811078 - 72.50 132.50 267.50 0.0653338 - 72.50 132.50 272.50 0.0345643 - 72.50 132.50 277.50 0.0219592 - 72.50 132.50 282.50 0.0338908 - 72.50 132.50 287.50 0.0618642 - 72.50 132.50 292.50 0.163165 - 72.50 132.50 297.50 0.318524 - 72.50 132.50 302.50 0.432883 - 72.50 132.50 307.50 0.395714 - 72.50 132.50 312.50 0.274639 - 72.50 132.50 317.50 0.16975 - 72.50 132.50 322.50 0.0811809 - 72.50 132.50 327.50 0.0357744 - 72.50 132.50 332.50 0.027975 - 72.50 132.50 337.50 0.0404359 - 72.50 132.50 342.50 0.0565859 - 72.50 132.50 347.50 0.072512 - 72.50 132.50 352.50 0.0811077 - 72.50 132.50 357.50 0.0653339 - 72.50 137.50 2.50 0.0195997 - 72.50 137.50 7.50 0.0394376 - 72.50 137.50 12.50 0.101402 - 72.50 137.50 17.50 0.196214 - 72.50 137.50 22.50 0.419285 - 72.50 137.50 27.50 0.885198 - 72.50 137.50 32.50 1.29353 - 72.50 137.50 37.50 1.34304 - 72.50 137.50 42.50 1.02135 - 72.50 137.50 47.50 0.669526 - 72.50 137.50 52.50 0.296556 - 72.50 137.50 57.50 0.139446 - 72.50 137.50 62.50 0.0567505 - 72.50 137.50 67.50 0.0314306 - 72.50 137.50 72.50 0.0200299 - 72.50 137.50 77.50 0.0244227 - 72.50 137.50 82.50 0.0301616 - 72.50 137.50 87.50 0.0236699 - 72.50 137.50 92.50 0.0195997 - 72.50 137.50 97.50 0.0394376 - 72.50 137.50 102.50 0.101402 - 72.50 137.50 107.50 0.196214 - 72.50 137.50 112.50 0.419284 - 72.50 137.50 117.50 0.885198 - 72.50 137.50 122.50 1.29353 - 72.50 137.50 127.50 1.34304 - 72.50 137.50 132.50 1.02135 - 72.50 137.50 137.50 0.669526 - 72.50 137.50 142.50 0.296556 - 72.50 137.50 147.50 0.139446 - 72.50 137.50 152.50 0.0567506 - 72.50 137.50 157.50 0.0314306 - 72.50 137.50 162.50 0.0200299 - 72.50 137.50 167.50 0.0244227 - 72.50 137.50 172.50 0.0301616 - 72.50 137.50 177.50 0.0236699 - 72.50 137.50 182.50 0.0195997 - 72.50 137.50 187.50 0.0394376 - 72.50 137.50 192.50 0.101402 - 72.50 137.50 197.50 0.196214 - 72.50 137.50 202.50 0.419285 - 72.50 137.50 207.50 0.885197 - 72.50 137.50 212.50 1.29353 - 72.50 137.50 217.50 1.34304 - 72.50 137.50 222.50 1.02135 - 72.50 137.50 227.50 0.669526 - 72.50 137.50 232.50 0.296556 - 72.50 137.50 237.50 0.139445 - 72.50 137.50 242.50 0.0567505 - 72.50 137.50 247.50 0.0314306 - 72.50 137.50 252.50 0.02003 - 72.50 137.50 257.50 0.0244227 - 72.50 137.50 262.50 0.0301617 - 72.50 137.50 267.50 0.0236699 - 72.50 137.50 272.50 0.0195997 - 72.50 137.50 277.50 0.0394376 - 72.50 137.50 282.50 0.101402 - 72.50 137.50 287.50 0.196214 - 72.50 137.50 292.50 0.419285 - 72.50 137.50 297.50 0.885197 - 72.50 137.50 302.50 1.29353 - 72.50 137.50 307.50 1.34304 - 72.50 137.50 312.50 1.02135 - 72.50 137.50 317.50 0.669526 - 72.50 137.50 322.50 0.296557 - 72.50 137.50 327.50 0.139446 - 72.50 137.50 332.50 0.0567506 - 72.50 137.50 337.50 0.0314306 - 72.50 137.50 342.50 0.0200299 - 72.50 137.50 347.50 0.0244227 - 72.50 137.50 352.50 0.0301616 - 72.50 137.50 357.50 0.0236699 - 72.50 142.50 2.50 0.0345643 - 72.50 142.50 7.50 0.0948683 - 72.50 142.50 12.50 0.241131 - 72.50 142.50 17.50 0.472255 - 72.50 142.50 22.50 0.938531 - 72.50 142.50 27.50 1.79232 - 72.50 142.50 32.50 2.68864 - 72.50 142.50 37.50 2.96787 - 72.50 142.50 42.50 2.55221 - 72.50 142.50 47.50 1.67451 - 72.50 142.50 52.50 0.849688 - 72.50 142.50 57.50 0.377633 - 72.50 142.50 62.50 0.191638 - 72.50 142.50 67.50 0.100083 - 72.50 142.50 72.50 0.0446951 - 72.50 142.50 77.50 0.0254292 - 72.50 142.50 82.50 0.0256804 - 72.50 142.50 87.50 0.0229548 - 72.50 142.50 92.50 0.0345643 - 72.50 142.50 97.50 0.0948683 - 72.50 142.50 102.50 0.241131 - 72.50 142.50 107.50 0.472255 - 72.50 142.50 112.50 0.938532 - 72.50 142.50 117.50 1.79232 - 72.50 142.50 122.50 2.68864 - 72.50 142.50 127.50 2.96787 - 72.50 142.50 132.50 2.55221 - 72.50 142.50 137.50 1.67451 - 72.50 142.50 142.50 0.849688 - 72.50 142.50 147.50 0.377634 - 72.50 142.50 152.50 0.191638 - 72.50 142.50 157.50 0.100083 - 72.50 142.50 162.50 0.0446951 - 72.50 142.50 167.50 0.0254292 - 72.50 142.50 172.50 0.0256804 - 72.50 142.50 177.50 0.0229548 - 72.50 142.50 182.50 0.0345643 - 72.50 142.50 187.50 0.0948684 - 72.50 142.50 192.50 0.241131 - 72.50 142.50 197.50 0.472255 - 72.50 142.50 202.50 0.938532 - 72.50 142.50 207.50 1.79232 - 72.50 142.50 212.50 2.68864 - 72.50 142.50 217.50 2.96787 - 72.50 142.50 222.50 2.55221 - 72.50 142.50 227.50 1.67451 - 72.50 142.50 232.50 0.849687 - 72.50 142.50 237.50 0.377633 - 72.50 142.50 242.50 0.191638 - 72.50 142.50 247.50 0.100083 - 72.50 142.50 252.50 0.044695 - 72.50 142.50 257.50 0.0254292 - 72.50 142.50 262.50 0.0256804 - 72.50 142.50 267.50 0.0229548 - 72.50 142.50 272.50 0.0345643 - 72.50 142.50 277.50 0.0948683 - 72.50 142.50 282.50 0.24113 - 72.50 142.50 287.50 0.472255 - 72.50 142.50 292.50 0.938532 - 72.50 142.50 297.50 1.79232 - 72.50 142.50 302.50 2.68864 - 72.50 142.50 307.50 2.96787 - 72.50 142.50 312.50 2.55221 - 72.50 142.50 317.50 1.67451 - 72.50 142.50 322.50 0.84969 - 72.50 142.50 327.50 0.377634 - 72.50 142.50 332.50 0.191639 - 72.50 142.50 337.50 0.100083 - 72.50 142.50 342.50 0.0446953 - 72.50 142.50 347.50 0.0254292 - 72.50 142.50 352.50 0.0256804 - 72.50 142.50 357.50 0.0229548 - 72.50 147.50 2.50 0.0713707 - 72.50 147.50 7.50 0.177886 - 72.50 147.50 12.50 0.428475 - 72.50 147.50 17.50 0.828673 - 72.50 147.50 22.50 1.59221 - 72.50 147.50 27.50 2.84538 - 72.50 147.50 32.50 4.07671 - 72.50 147.50 37.50 4.56821 - 72.50 147.50 42.50 4.03678 - 72.50 147.50 47.50 2.82789 - 72.50 147.50 52.50 1.56298 - 72.50 147.50 57.50 0.776165 - 72.50 147.50 62.50 0.436574 - 72.50 147.50 67.50 0.262051 - 72.50 147.50 72.50 0.137846 - 72.50 147.50 77.50 0.0752978 - 72.50 147.50 82.50 0.0577004 - 72.50 147.50 87.50 0.0481647 - 72.50 147.50 92.50 0.0713707 - 72.50 147.50 97.50 0.177886 - 72.50 147.50 102.50 0.428475 - 72.50 147.50 107.50 0.828674 - 72.50 147.50 112.50 1.59221 - 72.50 147.50 117.50 2.84538 - 72.50 147.50 122.50 4.07671 - 72.50 147.50 127.50 4.56821 - 72.50 147.50 132.50 4.03678 - 72.50 147.50 137.50 2.82789 - 72.50 147.50 142.50 1.56298 - 72.50 147.50 147.50 0.776165 - 72.50 147.50 152.50 0.436574 - 72.50 147.50 157.50 0.262052 - 72.50 147.50 162.50 0.137846 - 72.50 147.50 167.50 0.0752979 - 72.50 147.50 172.50 0.0577004 - 72.50 147.50 177.50 0.0481647 - 72.50 147.50 182.50 0.0713706 - 72.50 147.50 187.50 0.177886 - 72.50 147.50 192.50 0.428475 - 72.50 147.50 197.50 0.828673 - 72.50 147.50 202.50 1.59221 - 72.50 147.50 207.50 2.84538 - 72.50 147.50 212.50 4.07671 - 72.50 147.50 217.50 4.56821 - 72.50 147.50 222.50 4.03678 - 72.50 147.50 227.50 2.82789 - 72.50 147.50 232.50 1.56297 - 72.50 147.50 237.50 0.776165 - 72.50 147.50 242.50 0.436573 - 72.50 147.50 247.50 0.262051 - 72.50 147.50 252.50 0.137846 - 72.50 147.50 257.50 0.0752978 - 72.50 147.50 262.50 0.0577003 - 72.50 147.50 267.50 0.0481647 - 72.50 147.50 272.50 0.0713706 - 72.50 147.50 277.50 0.177886 - 72.50 147.50 282.50 0.428475 - 72.50 147.50 287.50 0.828673 - 72.50 147.50 292.50 1.59221 - 72.50 147.50 297.50 2.84538 - 72.50 147.50 302.50 4.07671 - 72.50 147.50 307.50 4.56821 - 72.50 147.50 312.50 4.03678 - 72.50 147.50 317.50 2.82789 - 72.50 147.50 322.50 1.56298 - 72.50 147.50 327.50 0.776167 - 72.50 147.50 332.50 0.436574 - 72.50 147.50 337.50 0.262052 - 72.50 147.50 342.50 0.137846 - 72.50 147.50 347.50 0.0752979 - 72.50 147.50 352.50 0.0577004 - 72.50 147.50 357.50 0.0481647 - 72.50 152.50 2.50 0.102728 - 72.50 152.50 7.50 0.222408 - 72.50 152.50 12.50 0.528283 - 72.50 152.50 17.50 1.02982 - 72.50 152.50 22.50 1.9346 - 72.50 152.50 27.50 3.3845 - 72.50 152.50 32.50 4.65189 - 72.50 152.50 37.50 5.20994 - 72.50 152.50 42.50 4.72297 - 72.50 152.50 47.50 3.42852 - 72.50 152.50 52.50 2.04157 - 72.50 152.50 57.50 1.15908 - 72.50 152.50 62.50 0.733516 - 72.50 152.50 67.50 0.522996 - 72.50 152.50 72.50 0.338362 - 72.50 152.50 77.50 0.19226 - 72.50 152.50 82.50 0.117217 - 72.50 152.50 87.50 0.0796682 - 72.50 152.50 92.50 0.102728 - 72.50 152.50 97.50 0.222409 - 72.50 152.50 102.50 0.528283 - 72.50 152.50 107.50 1.02982 - 72.50 152.50 112.50 1.9346 - 72.50 152.50 117.50 3.3845 - 72.50 152.50 122.50 4.65189 - 72.50 152.50 127.50 5.20994 - 72.50 152.50 132.50 4.72298 - 72.50 152.50 137.50 3.42852 - 72.50 152.50 142.50 2.04157 - 72.50 152.50 147.50 1.15908 - 72.50 152.50 152.50 0.733517 - 72.50 152.50 157.50 0.522996 - 72.50 152.50 162.50 0.338362 - 72.50 152.50 167.50 0.19226 - 72.50 152.50 172.50 0.117217 - 72.50 152.50 177.50 0.0796681 - 72.50 152.50 182.50 0.102728 - 72.50 152.50 187.50 0.222409 - 72.50 152.50 192.50 0.528282 - 72.50 152.50 197.50 1.02982 - 72.50 152.50 202.50 1.9346 - 72.50 152.50 207.50 3.3845 - 72.50 152.50 212.50 4.65189 - 72.50 152.50 217.50 5.20994 - 72.50 152.50 222.50 4.72298 - 72.50 152.50 227.50 3.42852 - 72.50 152.50 232.50 2.04156 - 72.50 152.50 237.50 1.15908 - 72.50 152.50 242.50 0.733516 - 72.50 152.50 247.50 0.522996 - 72.50 152.50 252.50 0.338362 - 72.50 152.50 257.50 0.192259 - 72.50 152.50 262.50 0.117217 - 72.50 152.50 267.50 0.0796681 - 72.50 152.50 272.50 0.102728 - 72.50 152.50 277.50 0.222408 - 72.50 152.50 282.50 0.528282 - 72.50 152.50 287.50 1.02982 - 72.50 152.50 292.50 1.9346 - 72.50 152.50 297.50 3.3845 - 72.50 152.50 302.50 4.65189 - 72.50 152.50 307.50 5.20994 - 72.50 152.50 312.50 4.72298 - 72.50 152.50 317.50 3.42852 - 72.50 152.50 322.50 2.04157 - 72.50 152.50 327.50 1.15908 - 72.50 152.50 332.50 0.733517 - 72.50 152.50 337.50 0.522997 - 72.50 152.50 342.50 0.338363 - 72.50 152.50 347.50 0.19226 - 72.50 152.50 352.50 0.117217 - 72.50 152.50 357.50 0.0796682 - 72.50 157.50 2.50 0.114009 - 72.50 157.50 7.50 0.199352 - 72.50 157.50 12.50 0.46717 - 72.50 157.50 17.50 0.924206 - 72.50 157.50 22.50 1.7273 - 72.50 157.50 27.50 2.88921 - 72.50 157.50 32.50 4.01069 - 72.50 157.50 37.50 4.44844 - 72.50 157.50 42.50 4.10408 - 72.50 157.50 47.50 3.12498 - 72.50 157.50 52.50 2.02416 - 72.50 157.50 57.50 1.30349 - 72.50 157.50 62.50 0.979364 - 72.50 157.50 67.50 0.830491 - 72.50 157.50 72.50 0.62124 - 72.50 157.50 77.50 0.380762 - 72.50 157.50 82.50 0.209396 - 72.50 157.50 87.50 0.118439 - 72.50 157.50 92.50 0.114009 - 72.50 157.50 97.50 0.199353 - 72.50 157.50 102.50 0.46717 - 72.50 157.50 107.50 0.924207 - 72.50 157.50 112.50 1.7273 - 72.50 157.50 117.50 2.88921 - 72.50 157.50 122.50 4.01069 - 72.50 157.50 127.50 4.44844 - 72.50 157.50 132.50 4.10408 - 72.50 157.50 137.50 3.12498 - 72.50 157.50 142.50 2.02416 - 72.50 157.50 147.50 1.30349 - 72.50 157.50 152.50 0.979365 - 72.50 157.50 157.50 0.830492 - 72.50 157.50 162.50 0.62124 - 72.50 157.50 167.50 0.380762 - 72.50 157.50 172.50 0.209396 - 72.50 157.50 177.50 0.118439 - 72.50 157.50 182.50 0.114009 - 72.50 157.50 187.50 0.199353 - 72.50 157.50 192.50 0.46717 - 72.50 157.50 197.50 0.924207 - 72.50 157.50 202.50 1.7273 - 72.50 157.50 207.50 2.88921 - 72.50 157.50 212.50 4.01069 - 72.50 157.50 217.50 4.44844 - 72.50 157.50 222.50 4.10408 - 72.50 157.50 227.50 3.12498 - 72.50 157.50 232.50 2.02415 - 72.50 157.50 237.50 1.30349 - 72.50 157.50 242.50 0.979365 - 72.50 157.50 247.50 0.830492 - 72.50 157.50 252.50 0.62124 - 72.50 157.50 257.50 0.380761 - 72.50 157.50 262.50 0.209395 - 72.50 157.50 267.50 0.118439 - 72.50 157.50 272.50 0.114009 - 72.50 157.50 277.50 0.199352 - 72.50 157.50 282.50 0.46717 - 72.50 157.50 287.50 0.924206 - 72.50 157.50 292.50 1.7273 - 72.50 157.50 297.50 2.88921 - 72.50 157.50 302.50 4.01069 - 72.50 157.50 307.50 4.44844 - 72.50 157.50 312.50 4.10408 - 72.50 157.50 317.50 3.12498 - 72.50 157.50 322.50 2.02416 - 72.50 157.50 327.50 1.30349 - 72.50 157.50 332.50 0.979365 - 72.50 157.50 337.50 0.830492 - 72.50 157.50 342.50 0.621241 - 72.50 157.50 347.50 0.380762 - 72.50 157.50 352.50 0.209396 - 72.50 157.50 357.50 0.11844 - 72.50 162.50 2.50 0.129042 - 72.50 162.50 7.50 0.169802 - 72.50 162.50 12.50 0.353566 - 72.50 162.50 17.50 0.70176 - 72.50 162.50 22.50 1.19702 - 72.50 162.50 27.50 1.8723 - 72.50 162.50 32.50 2.5111 - 72.50 162.50 37.50 2.87762 - 72.50 162.50 42.50 2.74521 - 72.50 162.50 47.50 2.14441 - 72.50 162.50 52.50 1.51677 - 72.50 162.50 57.50 1.15056 - 72.50 162.50 62.50 1.05452 - 72.50 162.50 67.50 1.03817 - 72.50 162.50 72.50 0.877146 - 72.50 162.50 77.50 0.578688 - 72.50 162.50 82.50 0.330343 - 72.50 162.50 87.50 0.180575 - 72.50 162.50 92.50 0.129042 - 72.50 162.50 97.50 0.169802 - 72.50 162.50 102.50 0.353566 - 72.50 162.50 107.50 0.701761 - 72.50 162.50 112.50 1.19702 - 72.50 162.50 117.50 1.8723 - 72.50 162.50 122.50 2.5111 - 72.50 162.50 127.50 2.87762 - 72.50 162.50 132.50 2.74521 - 72.50 162.50 137.50 2.14441 - 72.50 162.50 142.50 1.51677 - 72.50 162.50 147.50 1.15056 - 72.50 162.50 152.50 1.05452 - 72.50 162.50 157.50 1.03817 - 72.50 162.50 162.50 0.877146 - 72.50 162.50 167.50 0.578688 - 72.50 162.50 172.50 0.330343 - 72.50 162.50 177.50 0.180575 - 72.50 162.50 182.50 0.129042 - 72.50 162.50 187.50 0.169802 - 72.50 162.50 192.50 0.353567 - 72.50 162.50 197.50 0.701761 - 72.50 162.50 202.50 1.19702 - 72.50 162.50 207.50 1.8723 - 72.50 162.50 212.50 2.5111 - 72.50 162.50 217.50 2.87762 - 72.50 162.50 222.50 2.74521 - 72.50 162.50 227.50 2.14441 - 72.50 162.50 232.50 1.51676 - 72.50 162.50 237.50 1.15056 - 72.50 162.50 242.50 1.05452 - 72.50 162.50 247.50 1.03817 - 72.50 162.50 252.50 0.877146 - 72.50 162.50 257.50 0.578688 - 72.50 162.50 262.50 0.330342 - 72.50 162.50 267.50 0.180575 - 72.50 162.50 272.50 0.129042 - 72.50 162.50 277.50 0.169802 - 72.50 162.50 282.50 0.353566 - 72.50 162.50 287.50 0.701761 - 72.50 162.50 292.50 1.19702 - 72.50 162.50 297.50 1.8723 - 72.50 162.50 302.50 2.5111 - 72.50 162.50 307.50 2.87762 - 72.50 162.50 312.50 2.74521 - 72.50 162.50 317.50 2.14441 - 72.50 162.50 322.50 1.51677 - 72.50 162.50 327.50 1.15056 - 72.50 162.50 332.50 1.05452 - 72.50 162.50 337.50 1.03817 - 72.50 162.50 342.50 0.877147 - 72.50 162.50 347.50 0.578689 - 72.50 162.50 352.50 0.330343 - 72.50 162.50 357.50 0.180575 - 72.50 167.50 2.50 0.148779 - 72.50 167.50 7.50 0.163633 - 72.50 167.50 12.50 0.2684 - 72.50 167.50 17.50 0.499375 - 72.50 167.50 22.50 0.759032 - 72.50 167.50 27.50 1.02204 - 72.50 167.50 32.50 1.27537 - 72.50 167.50 37.50 1.41539 - 72.50 167.50 42.50 1.37822 - 72.50 167.50 47.50 1.16717 - 72.50 167.50 52.50 0.902796 - 72.50 167.50 57.50 0.774984 - 72.50 167.50 62.50 0.875162 - 72.50 167.50 67.50 1.04021 - 72.50 167.50 72.50 0.972015 - 72.50 167.50 77.50 0.702543 - 72.50 167.50 82.50 0.419806 - 72.50 167.50 87.50 0.235527 - 72.50 167.50 92.50 0.148779 - 72.50 167.50 97.50 0.163633 - 72.50 167.50 102.50 0.2684 - 72.50 167.50 107.50 0.499376 - 72.50 167.50 112.50 0.759032 - 72.50 167.50 117.50 1.02204 - 72.50 167.50 122.50 1.27537 - 72.50 167.50 127.50 1.41539 - 72.50 167.50 132.50 1.37822 - 72.50 167.50 137.50 1.16717 - 72.50 167.50 142.50 0.902796 - 72.50 167.50 147.50 0.774984 - 72.50 167.50 152.50 0.875162 - 72.50 167.50 157.50 1.04021 - 72.50 167.50 162.50 0.972016 - 72.50 167.50 167.50 0.702543 - 72.50 167.50 172.50 0.419806 - 72.50 167.50 177.50 0.235527 - 72.50 167.50 182.50 0.148779 - 72.50 167.50 187.50 0.163633 - 72.50 167.50 192.50 0.2684 - 72.50 167.50 197.50 0.499376 - 72.50 167.50 202.50 0.759032 - 72.50 167.50 207.50 1.02204 - 72.50 167.50 212.50 1.27537 - 72.50 167.50 217.50 1.41539 - 72.50 167.50 222.50 1.37822 - 72.50 167.50 227.50 1.16717 - 72.50 167.50 232.50 0.902796 - 72.50 167.50 237.50 0.774984 - 72.50 167.50 242.50 0.875163 - 72.50 167.50 247.50 1.04021 - 72.50 167.50 252.50 0.972016 - 72.50 167.50 257.50 0.702543 - 72.50 167.50 262.50 0.419806 - 72.50 167.50 267.50 0.235527 - 72.50 167.50 272.50 0.148779 - 72.50 167.50 277.50 0.163633 - 72.50 167.50 282.50 0.2684 - 72.50 167.50 287.50 0.499375 - 72.50 167.50 292.50 0.759032 - 72.50 167.50 297.50 1.02204 - 72.50 167.50 302.50 1.27537 - 72.50 167.50 307.50 1.41539 - 72.50 167.50 312.50 1.37822 - 72.50 167.50 317.50 1.16717 - 72.50 167.50 322.50 0.902796 - 72.50 167.50 327.50 0.774984 - 72.50 167.50 332.50 0.875162 - 72.50 167.50 337.50 1.04021 - 72.50 167.50 342.50 0.972016 - 72.50 167.50 347.50 0.702544 - 72.50 167.50 352.50 0.419807 - 72.50 167.50 357.50 0.235527 - 72.50 172.50 2.50 0.134121 - 72.50 172.50 7.50 0.135945 - 72.50 172.50 12.50 0.201029 - 72.50 172.50 17.50 0.294737 - 72.50 172.50 22.50 0.401511 - 72.50 172.50 27.50 0.478812 - 72.50 172.50 32.50 0.549479 - 72.50 172.50 37.50 0.589234 - 72.50 172.50 42.50 0.555933 - 72.50 172.50 47.50 0.471098 - 72.50 172.50 52.50 0.385849 - 72.50 172.50 57.50 0.416365 - 72.50 172.50 62.50 0.62605 - 72.50 172.50 67.50 0.87844 - 72.50 172.50 72.50 0.92701 - 72.50 172.50 77.50 0.708773 - 72.50 172.50 82.50 0.431975 - 72.50 172.50 87.50 0.227328 - 72.50 172.50 92.50 0.134121 - 72.50 172.50 97.50 0.135945 - 72.50 172.50 102.50 0.201029 - 72.50 172.50 107.50 0.294737 - 72.50 172.50 112.50 0.401512 - 72.50 172.50 117.50 0.478812 - 72.50 172.50 122.50 0.549479 - 72.50 172.50 127.50 0.589234 - 72.50 172.50 132.50 0.555933 - 72.50 172.50 137.50 0.471098 - 72.50 172.50 142.50 0.385849 - 72.50 172.50 147.50 0.416366 - 72.50 172.50 152.50 0.62605 - 72.50 172.50 157.50 0.87844 - 72.50 172.50 162.50 0.92701 - 72.50 172.50 167.50 0.708774 - 72.50 172.50 172.50 0.431976 - 72.50 172.50 177.50 0.227328 - 72.50 172.50 182.50 0.134121 - 72.50 172.50 187.50 0.135945 - 72.50 172.50 192.50 0.201029 - 72.50 172.50 197.50 0.294737 - 72.50 172.50 202.50 0.401512 - 72.50 172.50 207.50 0.478812 - 72.50 172.50 212.50 0.549479 - 72.50 172.50 217.50 0.589234 - 72.50 172.50 222.50 0.555933 - 72.50 172.50 227.50 0.471098 - 72.50 172.50 232.50 0.385849 - 72.50 172.50 237.50 0.416366 - 72.50 172.50 242.50 0.626051 - 72.50 172.50 247.50 0.87844 - 72.50 172.50 252.50 0.92701 - 72.50 172.50 257.50 0.708773 - 72.50 172.50 262.50 0.431976 - 72.50 172.50 267.50 0.227328 - 72.50 172.50 272.50 0.134121 - 72.50 172.50 277.50 0.135945 - 72.50 172.50 282.50 0.201029 - 72.50 172.50 287.50 0.294737 - 72.50 172.50 292.50 0.401511 - 72.50 172.50 297.50 0.478812 - 72.50 172.50 302.50 0.549479 - 72.50 172.50 307.50 0.589234 - 72.50 172.50 312.50 0.555933 - 72.50 172.50 317.50 0.471098 - 72.50 172.50 322.50 0.385849 - 72.50 172.50 327.50 0.416365 - 72.50 172.50 332.50 0.62605 - 72.50 172.50 337.50 0.87844 - 72.50 172.50 342.50 0.92701 - 72.50 172.50 347.50 0.708775 - 72.50 172.50 352.50 0.431976 - 72.50 172.50 357.50 0.227329 - 72.50 177.50 2.50 0.0872057 - 72.50 177.50 7.50 0.0787343 - 72.50 177.50 12.50 0.106857 - 72.50 177.50 17.50 0.143647 - 72.50 177.50 22.50 0.166879 - 72.50 177.50 27.50 0.174319 - 72.50 177.50 32.50 0.179112 - 72.50 177.50 37.50 0.182586 - 72.50 177.50 42.50 0.166387 - 72.50 177.50 47.50 0.137565 - 72.50 177.50 52.50 0.126127 - 72.50 177.50 57.50 0.194407 - 72.50 177.50 62.50 0.400163 - 72.50 177.50 67.50 0.70618 - 72.50 177.50 72.50 0.855308 - 72.50 177.50 77.50 0.688836 - 72.50 177.50 82.50 0.384509 - 72.50 177.50 87.50 0.172288 - 72.50 177.50 92.50 0.0872057 - 72.50 177.50 97.50 0.0787343 - 72.50 177.50 102.50 0.106857 - 72.50 177.50 107.50 0.143647 - 72.50 177.50 112.50 0.166879 - 72.50 177.50 117.50 0.174319 - 72.50 177.50 122.50 0.179112 - 72.50 177.50 127.50 0.182586 - 72.50 177.50 132.50 0.166387 - 72.50 177.50 137.50 0.137565 - 72.50 177.50 142.50 0.126127 - 72.50 177.50 147.50 0.194407 - 72.50 177.50 152.50 0.400162 - 72.50 177.50 157.50 0.706179 - 72.50 177.50 162.50 0.855309 - 72.50 177.50 167.50 0.688836 - 72.50 177.50 172.50 0.384509 - 72.50 177.50 177.50 0.172288 - 72.50 177.50 182.50 0.0872057 - 72.50 177.50 187.50 0.0787343 - 72.50 177.50 192.50 0.106857 - 72.50 177.50 197.50 0.143647 - 72.50 177.50 202.50 0.166879 - 72.50 177.50 207.50 0.174319 - 72.50 177.50 212.50 0.179112 - 72.50 177.50 217.50 0.182585 - 72.50 177.50 222.50 0.166387 - 72.50 177.50 227.50 0.137565 - 72.50 177.50 232.50 0.126127 - 72.50 177.50 237.50 0.194407 - 72.50 177.50 242.50 0.400163 - 72.50 177.50 247.50 0.706181 - 72.50 177.50 252.50 0.855308 - 72.50 177.50 257.50 0.688836 - 72.50 177.50 262.50 0.384508 - 72.50 177.50 267.50 0.172288 - 72.50 177.50 272.50 0.0872057 - 72.50 177.50 277.50 0.0787343 - 72.50 177.50 282.50 0.106857 - 72.50 177.50 287.50 0.143647 - 72.50 177.50 292.50 0.166879 - 72.50 177.50 297.50 0.174319 - 72.50 177.50 302.50 0.179112 - 72.50 177.50 307.50 0.182585 - 72.50 177.50 312.50 0.166387 - 72.50 177.50 317.50 0.137565 - 72.50 177.50 322.50 0.126127 - 72.50 177.50 327.50 0.194407 - 72.50 177.50 332.50 0.400161 - 72.50 177.50 337.50 0.706179 - 72.50 177.50 342.50 0.855308 - 72.50 177.50 347.50 0.688837 - 72.50 177.50 352.50 0.384509 - 72.50 177.50 357.50 0.172289 - 77.50 2.50 2.50 0.149977 - 77.50 2.50 7.50 0.393272 - 77.50 2.50 12.50 0.773178 - 77.50 2.50 17.50 0.980476 - 77.50 2.50 22.50 0.773179 - 77.50 2.50 27.50 0.393272 - 77.50 2.50 32.50 0.149977 - 77.50 2.50 37.50 0.0624685 - 77.50 2.50 42.50 0.0485219 - 77.50 2.50 47.50 0.0601603 - 77.50 2.50 52.50 0.0760385 - 77.50 2.50 57.50 0.083846 - 77.50 2.50 62.50 0.084539 - 77.50 2.50 67.50 0.083846 - 77.50 2.50 72.50 0.0760385 - 77.50 2.50 77.50 0.0601603 - 77.50 2.50 82.50 0.0485219 - 77.50 2.50 87.50 0.0624686 - 77.50 2.50 92.50 0.149977 - 77.50 2.50 97.50 0.393273 - 77.50 2.50 102.50 0.773178 - 77.50 2.50 107.50 0.980476 - 77.50 2.50 112.50 0.773179 - 77.50 2.50 117.50 0.393272 - 77.50 2.50 122.50 0.149977 - 77.50 2.50 127.50 0.0624685 - 77.50 2.50 132.50 0.0485219 - 77.50 2.50 137.50 0.0601603 - 77.50 2.50 142.50 0.0760385 - 77.50 2.50 147.50 0.083846 - 77.50 2.50 152.50 0.084539 - 77.50 2.50 157.50 0.083846 - 77.50 2.50 162.50 0.0760385 - 77.50 2.50 167.50 0.0601603 - 77.50 2.50 172.50 0.048522 - 77.50 2.50 177.50 0.0624686 - 77.50 2.50 182.50 0.149977 - 77.50 2.50 187.50 0.393273 - 77.50 2.50 192.50 0.773178 - 77.50 2.50 197.50 0.980476 - 77.50 2.50 202.50 0.773178 - 77.50 2.50 207.50 0.393273 - 77.50 2.50 212.50 0.149977 - 77.50 2.50 217.50 0.0624686 - 77.50 2.50 222.50 0.0485219 - 77.50 2.50 227.50 0.0601603 - 77.50 2.50 232.50 0.0760386 - 77.50 2.50 237.50 0.083846 - 77.50 2.50 242.50 0.084539 - 77.50 2.50 247.50 0.083846 - 77.50 2.50 252.50 0.0760385 - 77.50 2.50 257.50 0.0601603 - 77.50 2.50 262.50 0.0485219 - 77.50 2.50 267.50 0.0624686 - 77.50 2.50 272.50 0.149977 - 77.50 2.50 277.50 0.393272 - 77.50 2.50 282.50 0.773178 - 77.50 2.50 287.50 0.980506 - 77.50 2.50 292.50 0.773179 - 77.50 2.50 297.50 0.393272 - 77.50 2.50 302.50 0.149977 - 77.50 2.50 307.50 0.0624686 - 77.50 2.50 312.50 0.0485219 - 77.50 2.50 317.50 0.0601603 - 77.50 2.50 322.50 0.0760385 - 77.50 2.50 327.50 0.083846 - 77.50 2.50 332.50 0.084539 - 77.50 2.50 337.50 0.083846 - 77.50 2.50 342.50 0.0760386 - 77.50 2.50 347.50 0.0601604 - 77.50 2.50 352.50 0.048522 - 77.50 2.50 357.50 0.0624685 - 77.50 7.50 2.50 0.172972 - 77.50 7.50 7.50 0.381827 - 77.50 7.50 12.50 0.678346 - 77.50 7.50 17.50 0.837588 - 77.50 7.50 22.50 0.691078 - 77.50 7.50 27.50 0.393842 - 77.50 7.50 32.50 0.180691 - 77.50 7.50 37.50 0.112652 - 77.50 7.50 42.50 0.126408 - 77.50 7.50 47.50 0.164881 - 77.50 7.50 52.50 0.189422 - 77.50 7.50 57.50 0.187044 - 77.50 7.50 62.50 0.174825 - 77.50 7.50 67.50 0.174065 - 77.50 7.50 72.50 0.15669 - 77.50 7.50 77.50 0.118386 - 77.50 7.50 82.50 0.0855308 - 77.50 7.50 87.50 0.0902106 - 77.50 7.50 92.50 0.172972 - 77.50 7.50 97.50 0.381828 - 77.50 7.50 102.50 0.678346 - 77.50 7.50 107.50 0.837588 - 77.50 7.50 112.50 0.691078 - 77.50 7.50 117.50 0.393842 - 77.50 7.50 122.50 0.18069 - 77.50 7.50 127.50 0.112652 - 77.50 7.50 132.50 0.126408 - 77.50 7.50 137.50 0.164881 - 77.50 7.50 142.50 0.189422 - 77.50 7.50 147.50 0.187043 - 77.50 7.50 152.50 0.174825 - 77.50 7.50 157.50 0.174065 - 77.50 7.50 162.50 0.15669 - 77.50 7.50 167.50 0.118386 - 77.50 7.50 172.50 0.0855309 - 77.50 7.50 177.50 0.0902106 - 77.50 7.50 182.50 0.172972 - 77.50 7.50 187.50 0.381828 - 77.50 7.50 192.50 0.678346 - 77.50 7.50 197.50 0.837588 - 77.50 7.50 202.50 0.691078 - 77.50 7.50 207.50 0.393842 - 77.50 7.50 212.50 0.18069 - 77.50 7.50 217.50 0.112652 - 77.50 7.50 222.50 0.126408 - 77.50 7.50 227.50 0.164881 - 77.50 7.50 232.50 0.189422 - 77.50 7.50 237.50 0.187043 - 77.50 7.50 242.50 0.174825 - 77.50 7.50 247.50 0.174065 - 77.50 7.50 252.50 0.15669 - 77.50 7.50 257.50 0.118386 - 77.50 7.50 262.50 0.0855308 - 77.50 7.50 267.50 0.0902106 - 77.50 7.50 272.50 0.172972 - 77.50 7.50 277.50 0.381827 - 77.50 7.50 282.50 0.678346 - 77.50 7.50 287.50 0.837588 - 77.50 7.50 292.50 0.691079 - 77.50 7.50 297.50 0.393842 - 77.50 7.50 302.50 0.180691 - 77.50 7.50 307.50 0.112652 - 77.50 7.50 312.50 0.126408 - 77.50 7.50 317.50 0.164881 - 77.50 7.50 322.50 0.189422 - 77.50 7.50 327.50 0.187043 - 77.50 7.50 332.50 0.174825 - 77.50 7.50 337.50 0.174065 - 77.50 7.50 342.50 0.15669 - 77.50 7.50 347.50 0.118386 - 77.50 7.50 352.50 0.0855309 - 77.50 7.50 357.50 0.0902105 - 77.50 12.50 2.50 0.230709 - 77.50 12.50 7.50 0.427284 - 77.50 12.50 12.50 0.681812 - 77.50 12.50 17.50 0.838584 - 77.50 12.50 22.50 0.794106 - 77.50 12.50 27.50 0.567896 - 77.50 12.50 32.50 0.371627 - 77.50 12.50 37.50 0.335433 - 77.50 12.50 42.50 0.430596 - 77.50 12.50 47.50 0.543761 - 77.50 12.50 52.50 0.597213 - 77.50 12.50 57.50 0.574047 - 77.50 12.50 62.50 0.512493 - 77.50 12.50 67.50 0.457378 - 77.50 12.50 72.50 0.370092 - 77.50 12.50 77.50 0.242567 - 77.50 12.50 82.50 0.159494 - 77.50 12.50 87.50 0.145288 - 77.50 12.50 92.50 0.230709 - 77.50 12.50 97.50 0.427284 - 77.50 12.50 102.50 0.681812 - 77.50 12.50 107.50 0.838584 - 77.50 12.50 112.50 0.794106 - 77.50 12.50 117.50 0.567896 - 77.50 12.50 122.50 0.371627 - 77.50 12.50 127.50 0.335433 - 77.50 12.50 132.50 0.430596 - 77.50 12.50 137.50 0.543761 - 77.50 12.50 142.50 0.597213 - 77.50 12.50 147.50 0.574047 - 77.50 12.50 152.50 0.512493 - 77.50 12.50 157.50 0.457378 - 77.50 12.50 162.50 0.370092 - 77.50 12.50 167.50 0.242567 - 77.50 12.50 172.50 0.159494 - 77.50 12.50 177.50 0.145288 - 77.50 12.50 182.50 0.230709 - 77.50 12.50 187.50 0.427284 - 77.50 12.50 192.50 0.681812 - 77.50 12.50 197.50 0.838584 - 77.50 12.50 202.50 0.794106 - 77.50 12.50 207.50 0.567897 - 77.50 12.50 212.50 0.371627 - 77.50 12.50 217.50 0.335433 - 77.50 12.50 222.50 0.430596 - 77.50 12.50 227.50 0.543761 - 77.50 12.50 232.50 0.597213 - 77.50 12.50 237.50 0.574047 - 77.50 12.50 242.50 0.512493 - 77.50 12.50 247.50 0.457378 - 77.50 12.50 252.50 0.370092 - 77.50 12.50 257.50 0.242566 - 77.50 12.50 262.50 0.159494 - 77.50 12.50 267.50 0.145288 - 77.50 12.50 272.50 0.230709 - 77.50 12.50 277.50 0.427284 - 77.50 12.50 282.50 0.681812 - 77.50 12.50 287.50 0.838584 - 77.50 12.50 292.50 0.794106 - 77.50 12.50 297.50 0.567897 - 77.50 12.50 302.50 0.371627 - 77.50 12.50 307.50 0.335433 - 77.50 12.50 312.50 0.430596 - 77.50 12.50 317.50 0.543761 - 77.50 12.50 322.50 0.597212 - 77.50 12.50 327.50 0.574047 - 77.50 12.50 332.50 0.512493 - 77.50 12.50 337.50 0.457378 - 77.50 12.50 342.50 0.370092 - 77.50 12.50 347.50 0.242567 - 77.50 12.50 352.50 0.159494 - 77.50 12.50 357.50 0.145288 - 77.50 17.50 2.50 0.244704 - 77.50 17.50 7.50 0.41502 - 77.50 17.50 12.50 0.628789 - 77.50 17.50 17.50 0.848716 - 77.50 17.50 22.50 0.904768 - 77.50 17.50 27.50 0.757981 - 77.50 17.50 32.50 0.614572 - 77.50 17.50 37.50 0.733603 - 77.50 17.50 42.50 1.01527 - 77.50 17.50 47.50 1.30328 - 77.50 17.50 52.50 1.43216 - 77.50 17.50 57.50 1.33038 - 77.50 17.50 62.50 1.09907 - 77.50 17.50 67.50 0.87555 - 77.50 17.50 72.50 0.645138 - 77.50 17.50 77.50 0.403468 - 77.50 17.50 82.50 0.211335 - 77.50 17.50 87.50 0.170695 - 77.50 17.50 92.50 0.244704 - 77.50 17.50 97.50 0.41502 - 77.50 17.50 102.50 0.628789 - 77.50 17.50 107.50 0.848716 - 77.50 17.50 112.50 0.904768 - 77.50 17.50 117.50 0.757981 - 77.50 17.50 122.50 0.614571 - 77.50 17.50 127.50 0.733603 - 77.50 17.50 132.50 1.01527 - 77.50 17.50 137.50 1.30328 - 77.50 17.50 142.50 1.43216 - 77.50 17.50 147.50 1.33038 - 77.50 17.50 152.50 1.09907 - 77.50 17.50 157.50 0.875551 - 77.50 17.50 162.50 0.645138 - 77.50 17.50 167.50 0.403469 - 77.50 17.50 172.50 0.211335 - 77.50 17.50 177.50 0.170695 - 77.50 17.50 182.50 0.244704 - 77.50 17.50 187.50 0.41502 - 77.50 17.50 192.50 0.628789 - 77.50 17.50 197.50 0.848716 - 77.50 17.50 202.50 0.904768 - 77.50 17.50 207.50 0.757981 - 77.50 17.50 212.50 0.614572 - 77.50 17.50 217.50 0.733604 - 77.50 17.50 222.50 1.01527 - 77.50 17.50 227.50 1.30328 - 77.50 17.50 232.50 1.43216 - 77.50 17.50 237.50 1.33038 - 77.50 17.50 242.50 1.09907 - 77.50 17.50 247.50 0.87555 - 77.50 17.50 252.50 0.645138 - 77.50 17.50 257.50 0.403468 - 77.50 17.50 262.50 0.211335 - 77.50 17.50 267.50 0.170695 - 77.50 17.50 272.50 0.244704 - 77.50 17.50 277.50 0.41502 - 77.50 17.50 282.50 0.628789 - 77.50 17.50 287.50 0.848716 - 77.50 17.50 292.50 0.904768 - 77.50 17.50 297.50 0.757982 - 77.50 17.50 302.50 0.614572 - 77.50 17.50 307.50 0.733604 - 77.50 17.50 312.50 1.01527 - 77.50 17.50 317.50 1.30328 - 77.50 17.50 322.50 1.43216 - 77.50 17.50 327.50 1.33038 - 77.50 17.50 332.50 1.09907 - 77.50 17.50 337.50 0.875551 - 77.50 17.50 342.50 0.645139 - 77.50 17.50 347.50 0.403469 - 77.50 17.50 352.50 0.211335 - 77.50 17.50 357.50 0.170695 - 77.50 22.50 2.50 0.200246 - 77.50 22.50 7.50 0.322734 - 77.50 22.50 12.50 0.51311 - 77.50 22.50 17.50 0.741939 - 77.50 22.50 22.50 0.8701 - 77.50 22.50 27.50 0.84462 - 77.50 22.50 32.50 0.915796 - 77.50 22.50 37.50 1.21643 - 77.50 22.50 42.50 1.76351 - 77.50 22.50 47.50 2.43961 - 77.50 22.50 52.50 2.83112 - 77.50 22.50 57.50 2.63506 - 77.50 22.50 62.50 2.08212 - 77.50 22.50 67.50 1.45356 - 77.50 22.50 72.50 0.900621 - 77.50 22.50 77.50 0.529187 - 77.50 22.50 82.50 0.271564 - 77.50 22.50 87.50 0.162877 - 77.50 22.50 92.50 0.200246 - 77.50 22.50 97.50 0.322734 - 77.50 22.50 102.50 0.513111 - 77.50 22.50 107.50 0.741939 - 77.50 22.50 112.50 0.8701 - 77.50 22.50 117.50 0.844619 - 77.50 22.50 122.50 0.915795 - 77.50 22.50 127.50 1.21643 - 77.50 22.50 132.50 1.76351 - 77.50 22.50 137.50 2.43961 - 77.50 22.50 142.50 2.83112 - 77.50 22.50 147.50 2.63506 - 77.50 22.50 152.50 2.08212 - 77.50 22.50 157.50 1.45356 - 77.50 22.50 162.50 0.900621 - 77.50 22.50 167.50 0.529187 - 77.50 22.50 172.50 0.271564 - 77.50 22.50 177.50 0.162877 - 77.50 22.50 182.50 0.200246 - 77.50 22.50 187.50 0.322734 - 77.50 22.50 192.50 0.513111 - 77.50 22.50 197.50 0.741939 - 77.50 22.50 202.50 0.8701 - 77.50 22.50 207.50 0.84462 - 77.50 22.50 212.50 0.915795 - 77.50 22.50 217.50 1.21643 - 77.50 22.50 222.50 1.76351 - 77.50 22.50 227.50 2.43961 - 77.50 22.50 232.50 2.83112 - 77.50 22.50 237.50 2.63506 - 77.50 22.50 242.50 2.08212 - 77.50 22.50 247.50 1.45356 - 77.50 22.50 252.50 0.900621 - 77.50 22.50 257.50 0.529186 - 77.50 22.50 262.50 0.271563 - 77.50 22.50 267.50 0.162877 - 77.50 22.50 272.50 0.200246 - 77.50 22.50 277.50 0.322734 - 77.50 22.50 282.50 0.513111 - 77.50 22.50 287.50 0.741939 - 77.50 22.50 292.50 0.8701 - 77.50 22.50 297.50 0.84462 - 77.50 22.50 302.50 0.915795 - 77.50 22.50 307.50 1.21643 - 77.50 22.50 312.50 1.76351 - 77.50 22.50 317.50 2.43961 - 77.50 22.50 322.50 2.83112 - 77.50 22.50 327.50 2.63506 - 77.50 22.50 332.50 2.08212 - 77.50 22.50 337.50 1.45356 - 77.50 22.50 342.50 0.900623 - 77.50 22.50 347.50 0.529188 - 77.50 22.50 352.50 0.271564 - 77.50 22.50 357.50 0.162877 - 77.50 27.50 2.50 0.151509 - 77.50 27.50 7.50 0.213904 - 77.50 27.50 12.50 0.342609 - 77.50 27.50 17.50 0.520585 - 77.50 27.50 22.50 0.657065 - 77.50 27.50 27.50 0.756146 - 77.50 27.50 32.50 0.994933 - 77.50 27.50 37.50 1.56999 - 77.50 27.50 42.50 2.543 - 77.50 27.50 47.50 3.69947 - 77.50 27.50 52.50 4.26268 - 77.50 27.50 57.50 4.03102 - 77.50 27.50 62.50 3.18725 - 77.50 27.50 67.50 2.11978 - 77.50 27.50 72.50 1.23538 - 77.50 27.50 77.50 0.660137 - 77.50 27.50 82.50 0.338627 - 77.50 27.50 87.50 0.163149 - 77.50 27.50 92.50 0.151509 - 77.50 27.50 97.50 0.213904 - 77.50 27.50 102.50 0.342609 - 77.50 27.50 107.50 0.520585 - 77.50 27.50 112.50 0.657066 - 77.50 27.50 117.50 0.756146 - 77.50 27.50 122.50 0.994932 - 77.50 27.50 127.50 1.56999 - 77.50 27.50 132.50 2.543 - 77.50 27.50 137.50 3.69947 - 77.50 27.50 142.50 4.26268 - 77.50 27.50 147.50 4.03102 - 77.50 27.50 152.50 3.18725 - 77.50 27.50 157.50 2.11979 - 77.50 27.50 162.50 1.23538 - 77.50 27.50 167.50 0.660137 - 77.50 27.50 172.50 0.338627 - 77.50 27.50 177.50 0.163149 - 77.50 27.50 182.50 0.151509 - 77.50 27.50 187.50 0.213904 - 77.50 27.50 192.50 0.342609 - 77.50 27.50 197.50 0.520586 - 77.50 27.50 202.50 0.657065 - 77.50 27.50 207.50 0.756146 - 77.50 27.50 212.50 0.994932 - 77.50 27.50 217.50 1.56999 - 77.50 27.50 222.50 2.543 - 77.50 27.50 227.50 3.69946 - 77.50 27.50 232.50 4.26268 - 77.50 27.50 237.50 4.03102 - 77.50 27.50 242.50 3.18725 - 77.50 27.50 247.50 2.11978 - 77.50 27.50 252.50 1.23538 - 77.50 27.50 257.50 0.660136 - 77.50 27.50 262.50 0.338627 - 77.50 27.50 267.50 0.163149 - 77.50 27.50 272.50 0.151509 - 77.50 27.50 277.50 0.213904 - 77.50 27.50 282.50 0.342609 - 77.50 27.50 287.50 0.520586 - 77.50 27.50 292.50 0.657066 - 77.50 27.50 297.50 0.756146 - 77.50 27.50 302.50 0.994933 - 77.50 27.50 307.50 1.56999 - 77.50 27.50 312.50 2.543 - 77.50 27.50 317.50 3.69947 - 77.50 27.50 322.50 4.26268 - 77.50 27.50 327.50 4.03102 - 77.50 27.50 332.50 3.18726 - 77.50 27.50 337.50 2.11979 - 77.50 27.50 342.50 1.23538 - 77.50 27.50 347.50 0.660138 - 77.50 27.50 352.50 0.338628 - 77.50 27.50 357.50 0.163149 - 77.50 32.50 2.50 0.120114 - 77.50 32.50 7.50 0.139043 - 77.50 32.50 12.50 0.188216 - 77.50 32.50 17.50 0.274827 - 77.50 32.50 22.50 0.392575 - 77.50 32.50 27.50 0.544436 - 77.50 32.50 32.50 0.877347 - 77.50 32.50 37.50 1.5877 - 77.50 32.50 42.50 2.76555 - 77.50 32.50 47.50 4.10746 - 77.50 32.50 52.50 4.88608 - 77.50 32.50 57.50 4.68617 - 77.50 32.50 62.50 3.66089 - 77.50 32.50 67.50 2.39178 - 77.50 32.50 72.50 1.36108 - 77.50 32.50 77.50 0.736702 - 77.50 32.50 82.50 0.370235 - 77.50 32.50 87.50 0.165638 - 77.50 32.50 92.50 0.120114 - 77.50 32.50 97.50 0.139043 - 77.50 32.50 102.50 0.188216 - 77.50 32.50 107.50 0.274827 - 77.50 32.50 112.50 0.392575 - 77.50 32.50 117.50 0.544436 - 77.50 32.50 122.50 0.877347 - 77.50 32.50 127.50 1.5877 - 77.50 32.50 132.50 2.76555 - 77.50 32.50 137.50 4.10746 - 77.50 32.50 142.50 4.88608 - 77.50 32.50 147.50 4.68617 - 77.50 32.50 152.50 3.66089 - 77.50 32.50 157.50 2.39178 - 77.50 32.50 162.50 1.36108 - 77.50 32.50 167.50 0.736702 - 77.50 32.50 172.50 0.370236 - 77.50 32.50 177.50 0.165638 - 77.50 32.50 182.50 0.120114 - 77.50 32.50 187.50 0.139043 - 77.50 32.50 192.50 0.188216 - 77.50 32.50 197.50 0.274827 - 77.50 32.50 202.50 0.392575 - 77.50 32.50 207.50 0.544436 - 77.50 32.50 212.50 0.877347 - 77.50 32.50 217.50 1.5877 - 77.50 32.50 222.50 2.76555 - 77.50 32.50 227.50 4.10746 - 77.50 32.50 232.50 4.88608 - 77.50 32.50 237.50 4.68617 - 77.50 32.50 242.50 3.66089 - 77.50 32.50 247.50 2.39178 - 77.50 32.50 252.50 1.36108 - 77.50 32.50 257.50 0.736701 - 77.50 32.50 262.50 0.370235 - 77.50 32.50 267.50 0.165638 - 77.50 32.50 272.50 0.120114 - 77.50 32.50 277.50 0.139043 - 77.50 32.50 282.50 0.188216 - 77.50 32.50 287.50 0.274827 - 77.50 32.50 292.50 0.392575 - 77.50 32.50 297.50 0.544436 - 77.50 32.50 302.50 0.877346 - 77.50 32.50 307.50 1.5877 - 77.50 32.50 312.50 2.76555 - 77.50 32.50 317.50 4.10746 - 77.50 32.50 322.50 4.88608 - 77.50 32.50 327.50 4.68617 - 77.50 32.50 332.50 3.66089 - 77.50 32.50 337.50 2.39178 - 77.50 32.50 342.50 1.36108 - 77.50 32.50 347.50 0.736703 - 77.50 32.50 352.50 0.370236 - 77.50 32.50 357.50 0.165638 - 77.50 37.50 2.50 0.0808849 - 77.50 37.50 7.50 0.0834134 - 77.50 37.50 12.50 0.0865845 - 77.50 37.50 17.50 0.111016 - 77.50 37.50 22.50 0.18127 - 77.50 37.50 27.50 0.318722 - 77.50 37.50 32.50 0.59648 - 77.50 37.50 37.50 1.1898 - 77.50 37.50 42.50 2.22831 - 77.50 37.50 47.50 3.37367 - 77.50 37.50 52.50 4.07565 - 77.50 37.50 57.50 3.98926 - 77.50 37.50 62.50 3.10365 - 77.50 37.50 67.50 1.9463 - 77.50 37.50 72.50 1.08814 - 77.50 37.50 77.50 0.605833 - 77.50 37.50 82.50 0.298984 - 77.50 37.50 87.50 0.128762 - 77.50 37.50 92.50 0.080885 - 77.50 37.50 97.50 0.0834134 - 77.50 37.50 102.50 0.0865846 - 77.50 37.50 107.50 0.111016 - 77.50 37.50 112.50 0.18127 - 77.50 37.50 117.50 0.318722 - 77.50 37.50 122.50 0.59648 - 77.50 37.50 127.50 1.1898 - 77.50 37.50 132.50 2.22831 - 77.50 37.50 137.50 3.37367 - 77.50 37.50 142.50 4.07565 - 77.50 37.50 147.50 3.98926 - 77.50 37.50 152.50 3.10365 - 77.50 37.50 157.50 1.9463 - 77.50 37.50 162.50 1.08814 - 77.50 37.50 167.50 0.605834 - 77.50 37.50 172.50 0.298984 - 77.50 37.50 177.50 0.128762 - 77.50 37.50 182.50 0.080885 - 77.50 37.50 187.50 0.0834134 - 77.50 37.50 192.50 0.0865846 - 77.50 37.50 197.50 0.111016 - 77.50 37.50 202.50 0.18127 - 77.50 37.50 207.50 0.318722 - 77.50 37.50 212.50 0.59648 - 77.50 37.50 217.50 1.1898 - 77.50 37.50 222.50 2.22831 - 77.50 37.50 227.50 3.37367 - 77.50 37.50 232.50 4.07565 - 77.50 37.50 237.50 3.98926 - 77.50 37.50 242.50 3.10365 - 77.50 37.50 247.50 1.9463 - 77.50 37.50 252.50 1.08813 - 77.50 37.50 257.50 0.605832 - 77.50 37.50 262.50 0.298984 - 77.50 37.50 267.50 0.128762 - 77.50 37.50 272.50 0.0808849 - 77.50 37.50 277.50 0.0834134 - 77.50 37.50 282.50 0.0865846 - 77.50 37.50 287.50 0.111015 - 77.50 37.50 292.50 0.18127 - 77.50 37.50 297.50 0.318722 - 77.50 37.50 302.50 0.59648 - 77.50 37.50 307.50 1.1898 - 77.50 37.50 312.50 2.22831 - 77.50 37.50 317.50 3.37367 - 77.50 37.50 322.50 4.07565 - 77.50 37.50 327.50 3.98926 - 77.50 37.50 332.50 3.10365 - 77.50 37.50 337.50 1.9463 - 77.50 37.50 342.50 1.08814 - 77.50 37.50 347.50 0.605834 - 77.50 37.50 352.50 0.298984 - 77.50 37.50 357.50 0.128762 - 77.50 42.50 2.50 0.0382171 - 77.50 42.50 7.50 0.0398608 - 77.50 42.50 12.50 0.0344762 - 77.50 42.50 17.50 0.035394 - 77.50 42.50 22.50 0.0639958 - 77.50 42.50 27.50 0.13795 - 77.50 42.50 32.50 0.293625 - 77.50 42.50 37.50 0.621456 - 77.50 42.50 42.50 1.25778 - 77.50 42.50 47.50 2.00341 - 77.50 42.50 52.50 2.48996 - 77.50 42.50 57.50 2.46393 - 77.50 42.50 62.50 1.92429 - 77.50 42.50 67.50 1.15799 - 77.50 42.50 72.50 0.623572 - 77.50 42.50 77.50 0.351671 - 77.50 42.50 82.50 0.171239 - 77.50 42.50 87.50 0.0661282 - 77.50 42.50 92.50 0.0382171 - 77.50 42.50 97.50 0.0398608 - 77.50 42.50 102.50 0.0344762 - 77.50 42.50 107.50 0.035394 - 77.50 42.50 112.50 0.0639958 - 77.50 42.50 117.50 0.13795 - 77.50 42.50 122.50 0.293626 - 77.50 42.50 127.50 0.621456 - 77.50 42.50 132.50 1.25778 - 77.50 42.50 137.50 2.00341 - 77.50 42.50 142.50 2.48996 - 77.50 42.50 147.50 2.46393 - 77.50 42.50 152.50 1.92429 - 77.50 42.50 157.50 1.15799 - 77.50 42.50 162.50 0.623572 - 77.50 42.50 167.50 0.351671 - 77.50 42.50 172.50 0.171239 - 77.50 42.50 177.50 0.0661283 - 77.50 42.50 182.50 0.0382172 - 77.50 42.50 187.50 0.0398608 - 77.50 42.50 192.50 0.0344762 - 77.50 42.50 197.50 0.035394 - 77.50 42.50 202.50 0.0639958 - 77.50 42.50 207.50 0.13795 - 77.50 42.50 212.50 0.293626 - 77.50 42.50 217.50 0.621456 - 77.50 42.50 222.50 1.25778 - 77.50 42.50 227.50 2.00341 - 77.50 42.50 232.50 2.48996 - 77.50 42.50 237.50 2.46393 - 77.50 42.50 242.50 1.92429 - 77.50 42.50 247.50 1.15799 - 77.50 42.50 252.50 0.623571 - 77.50 42.50 257.50 0.351671 - 77.50 42.50 262.50 0.171239 - 77.50 42.50 267.50 0.0661282 - 77.50 42.50 272.50 0.0382171 - 77.50 42.50 277.50 0.0398608 - 77.50 42.50 282.50 0.0344762 - 77.50 42.50 287.50 0.035394 - 77.50 42.50 292.50 0.0639958 - 77.50 42.50 297.50 0.137949 - 77.50 42.50 302.50 0.293625 - 77.50 42.50 307.50 0.621455 - 77.50 42.50 312.50 1.25778 - 77.50 42.50 317.50 2.00341 - 77.50 42.50 322.50 2.48996 - 77.50 42.50 327.50 2.46393 - 77.50 42.50 332.50 1.92429 - 77.50 42.50 337.50 1.15799 - 77.50 42.50 342.50 0.623573 - 77.50 42.50 347.50 0.351671 - 77.50 42.50 352.50 0.17124 - 77.50 42.50 357.50 0.0661284 - 77.50 47.50 2.50 0.0202141 - 77.50 47.50 7.50 0.0278132 - 77.50 47.50 12.50 0.023494 - 77.50 47.50 17.50 0.0162197 - 77.50 47.50 22.50 0.0207145 - 77.50 47.50 27.50 0.0442034 - 77.50 47.50 32.50 0.0933622 - 77.50 47.50 37.50 0.231455 - 77.50 47.50 42.50 0.434232 - 77.50 47.50 47.50 0.784647 - 77.50 47.50 52.50 0.983075 - 77.50 47.50 57.50 1.09789 - 77.50 47.50 62.50 0.88061 - 77.50 47.50 67.50 0.531259 - 77.50 47.50 72.50 0.261568 - 77.50 47.50 77.50 0.146182 - 77.50 47.50 82.50 0.0715268 - 77.50 47.50 87.50 0.025361 - 77.50 47.50 92.50 0.0202141 - 77.50 47.50 97.50 0.0278132 - 77.50 47.50 102.50 0.023494 - 77.50 47.50 107.50 0.0162197 - 77.50 47.50 112.50 0.0207145 - 77.50 47.50 117.50 0.0442034 - 77.50 47.50 122.50 0.0933623 - 77.50 47.50 127.50 0.231455 - 77.50 47.50 132.50 0.434233 - 77.50 47.50 137.50 0.784647 - 77.50 47.50 142.50 0.983075 - 77.50 47.50 147.50 1.09789 - 77.50 47.50 152.50 0.880611 - 77.50 47.50 157.50 0.53126 - 77.50 47.50 162.50 0.261567 - 77.50 47.50 167.50 0.146183 - 77.50 47.50 172.50 0.0715268 - 77.50 47.50 177.50 0.025361 - 77.50 47.50 182.50 0.0202141 - 77.50 47.50 187.50 0.0278132 - 77.50 47.50 192.50 0.023494 - 77.50 47.50 197.50 0.0162197 - 77.50 47.50 202.50 0.0207145 - 77.50 47.50 207.50 0.0442034 - 77.50 47.50 212.50 0.0933622 - 77.50 47.50 217.50 0.231455 - 77.50 47.50 222.50 0.434232 - 77.50 47.50 227.50 0.784647 - 77.50 47.50 232.50 0.983075 - 77.50 47.50 237.50 1.09789 - 77.50 47.50 242.50 0.88061 - 77.50 47.50 247.50 0.531259 - 77.50 47.50 252.50 0.261567 - 77.50 47.50 257.50 0.146182 - 77.50 47.50 262.50 0.0715266 - 77.50 47.50 267.50 0.025361 - 77.50 47.50 272.50 0.0202141 - 77.50 47.50 277.50 0.0278132 - 77.50 47.50 282.50 0.023494 - 77.50 47.50 287.50 0.0162197 - 77.50 47.50 292.50 0.0207145 - 77.50 47.50 297.50 0.0442034 - 77.50 47.50 302.50 0.0933621 - 77.50 47.50 307.50 0.231455 - 77.50 47.50 312.50 0.434232 - 77.50 47.50 317.50 0.784646 - 77.50 47.50 322.50 0.983075 - 77.50 47.50 327.50 1.09789 - 77.50 47.50 332.50 0.880612 - 77.50 47.50 337.50 0.531261 - 77.50 47.50 342.50 0.261568 - 77.50 47.50 347.50 0.146183 - 77.50 47.50 352.50 0.0715269 - 77.50 47.50 357.50 0.0253611 - 77.50 52.50 2.50 0.0382172 - 77.50 52.50 7.50 0.0575414 - 77.50 52.50 12.50 0.0512643 - 77.50 52.50 17.50 0.0417049 - 77.50 52.50 22.50 0.0366958 - 77.50 52.50 27.50 0.0292198 - 77.50 52.50 32.50 0.0298577 - 77.50 52.50 37.50 0.0542917 - 77.50 52.50 42.50 0.107731 - 77.50 52.50 47.50 0.186435 - 77.50 52.50 52.50 0.248773 - 77.50 52.50 57.50 0.320091 - 77.50 52.50 62.50 0.291709 - 77.50 52.50 67.50 0.177265 - 77.50 52.50 72.50 0.086809 - 77.50 52.50 77.50 0.0424702 - 77.50 52.50 82.50 0.024012 - 77.50 52.50 87.50 0.0179044 - 77.50 52.50 92.50 0.0382172 - 77.50 52.50 97.50 0.0575414 - 77.50 52.50 102.50 0.0512642 - 77.50 52.50 107.50 0.0417048 - 77.50 52.50 112.50 0.0366957 - 77.50 52.50 117.50 0.0292199 - 77.50 52.50 122.50 0.0298578 - 77.50 52.50 127.50 0.0542918 - 77.50 52.50 132.50 0.107731 - 77.50 52.50 137.50 0.186435 - 77.50 52.50 142.50 0.248773 - 77.50 52.50 147.50 0.320091 - 77.50 52.50 152.50 0.29171 - 77.50 52.50 157.50 0.177265 - 77.50 52.50 162.50 0.086809 - 77.50 52.50 167.50 0.0424702 - 77.50 52.50 172.50 0.024012 - 77.50 52.50 177.50 0.0179044 - 77.50 52.50 182.50 0.0382171 - 77.50 52.50 187.50 0.0575414 - 77.50 52.50 192.50 0.0512642 - 77.50 52.50 197.50 0.0417048 - 77.50 52.50 202.50 0.0366957 - 77.50 52.50 207.50 0.0292198 - 77.50 52.50 212.50 0.0298578 - 77.50 52.50 217.50 0.0542918 - 77.50 52.50 222.50 0.107731 - 77.50 52.50 227.50 0.186435 - 77.50 52.50 232.50 0.248773 - 77.50 52.50 237.50 0.320091 - 77.50 52.50 242.50 0.29171 - 77.50 52.50 247.50 0.177265 - 77.50 52.50 252.50 0.086809 - 77.50 52.50 257.50 0.0424701 - 77.50 52.50 262.50 0.0240119 - 77.50 52.50 267.50 0.0179044 - 77.50 52.50 272.50 0.0382171 - 77.50 52.50 277.50 0.0575414 - 77.50 52.50 282.50 0.0512642 - 77.50 52.50 287.50 0.0417048 - 77.50 52.50 292.50 0.0366957 - 77.50 52.50 297.50 0.0292199 - 77.50 52.50 302.50 0.0298577 - 77.50 52.50 307.50 0.0542917 - 77.50 52.50 312.50 0.10773 - 77.50 52.50 317.50 0.186435 - 77.50 52.50 322.50 0.248773 - 77.50 52.50 327.50 0.320091 - 77.50 52.50 332.50 0.29171 - 77.50 52.50 337.50 0.177265 - 77.50 52.50 342.50 0.0868091 - 77.50 52.50 347.50 0.0424702 - 77.50 52.50 352.50 0.024012 - 77.50 52.50 357.50 0.0179044 - 77.50 57.50 2.50 0.080885 - 77.50 57.50 7.50 0.115288 - 77.50 57.50 12.50 0.132957 - 77.50 57.50 17.50 0.15546 - 77.50 57.50 22.50 0.145581 - 77.50 57.50 27.50 0.0962981 - 77.50 57.50 32.50 0.0510867 - 77.50 57.50 37.50 0.0285112 - 77.50 57.50 42.50 0.0254596 - 77.50 57.50 47.50 0.0384456 - 77.50 57.50 52.50 0.0418998 - 77.50 57.50 57.50 0.0523202 - 77.50 57.50 62.50 0.0554883 - 77.50 57.50 67.50 0.0359702 - 77.50 57.50 72.50 0.0202785 - 77.50 57.50 77.50 0.010879 - 77.50 57.50 82.50 0.0135287 - 77.50 57.50 87.50 0.0303794 - 77.50 57.50 92.50 0.080885 - 77.50 57.50 97.50 0.115288 - 77.50 57.50 102.50 0.132957 - 77.50 57.50 107.50 0.15546 - 77.50 57.50 112.50 0.145581 - 77.50 57.50 117.50 0.096298 - 77.50 57.50 122.50 0.0510866 - 77.50 57.50 127.50 0.0285112 - 77.50 57.50 132.50 0.0254597 - 77.50 57.50 137.50 0.0384457 - 77.50 57.50 142.50 0.0418998 - 77.50 57.50 147.50 0.0523202 - 77.50 57.50 152.50 0.0554883 - 77.50 57.50 157.50 0.0359702 - 77.50 57.50 162.50 0.0202785 - 77.50 57.50 167.50 0.010879 - 77.50 57.50 172.50 0.0135286 - 77.50 57.50 177.50 0.0303794 - 77.50 57.50 182.50 0.0808851 - 77.50 57.50 187.50 0.115287 - 77.50 57.50 192.50 0.132956 - 77.50 57.50 197.50 0.15546 - 77.50 57.50 202.50 0.145581 - 77.50 57.50 207.50 0.0962981 - 77.50 57.50 212.50 0.0510866 - 77.50 57.50 217.50 0.0285112 - 77.50 57.50 222.50 0.0254597 - 77.50 57.50 227.50 0.0384457 - 77.50 57.50 232.50 0.0418998 - 77.50 57.50 237.50 0.0523202 - 77.50 57.50 242.50 0.0554883 - 77.50 57.50 247.50 0.0359702 - 77.50 57.50 252.50 0.0202785 - 77.50 57.50 257.50 0.010879 - 77.50 57.50 262.50 0.0135287 - 77.50 57.50 267.50 0.0303794 - 77.50 57.50 272.50 0.080885 - 77.50 57.50 277.50 0.115288 - 77.50 57.50 282.50 0.132957 - 77.50 57.50 287.50 0.15546 - 77.50 57.50 292.50 0.145581 - 77.50 57.50 297.50 0.0962982 - 77.50 57.50 302.50 0.0510867 - 77.50 57.50 307.50 0.0285112 - 77.50 57.50 312.50 0.0254596 - 77.50 57.50 317.50 0.0384457 - 77.50 57.50 322.50 0.0418997 - 77.50 57.50 327.50 0.0523202 - 77.50 57.50 332.50 0.0554884 - 77.50 57.50 337.50 0.0359702 - 77.50 57.50 342.50 0.0202785 - 77.50 57.50 347.50 0.010879 - 77.50 57.50 352.50 0.0135286 - 77.50 57.50 357.50 0.0303794 - 77.50 62.50 2.50 0.120114 - 77.50 62.50 7.50 0.185298 - 77.50 62.50 12.50 0.29178 - 77.50 62.50 17.50 0.394771 - 77.50 62.50 22.50 0.409849 - 77.50 62.50 27.50 0.292971 - 77.50 62.50 32.50 0.199509 - 77.50 62.50 37.50 0.125213 - 77.50 62.50 42.50 0.0686555 - 77.50 62.50 47.50 0.0416486 - 77.50 62.50 52.50 0.0210899 - 77.50 62.50 57.50 0.0113602 - 77.50 62.50 62.50 0.00698852 - 77.50 62.50 67.50 0.00618047 - 77.50 62.50 72.50 0.00740194 - 77.50 62.50 77.50 0.00922366 - 77.50 62.50 82.50 0.0242279 - 77.50 62.50 87.50 0.0489188 - 77.50 62.50 92.50 0.120114 - 77.50 62.50 97.50 0.185298 - 77.50 62.50 102.50 0.29178 - 77.50 62.50 107.50 0.394771 - 77.50 62.50 112.50 0.409849 - 77.50 62.50 117.50 0.292971 - 77.50 62.50 122.50 0.199509 - 77.50 62.50 127.50 0.125212 - 77.50 62.50 132.50 0.0686555 - 77.50 62.50 137.50 0.0416485 - 77.50 62.50 142.50 0.0210899 - 77.50 62.50 147.50 0.0113602 - 77.50 62.50 152.50 0.00698853 - 77.50 62.50 157.50 0.00618047 - 77.50 62.50 162.50 0.00740194 - 77.50 62.50 167.50 0.00922365 - 77.50 62.50 172.50 0.0242278 - 77.50 62.50 177.50 0.0489187 - 77.50 62.50 182.50 0.120114 - 77.50 62.50 187.50 0.185298 - 77.50 62.50 192.50 0.29178 - 77.50 62.50 197.50 0.394771 - 77.50 62.50 202.50 0.409849 - 77.50 62.50 207.50 0.292971 - 77.50 62.50 212.50 0.199509 - 77.50 62.50 217.50 0.125212 - 77.50 62.50 222.50 0.0686555 - 77.50 62.50 227.50 0.0416486 - 77.50 62.50 232.50 0.0210899 - 77.50 62.50 237.50 0.0113602 - 77.50 62.50 242.50 0.00698853 - 77.50 62.50 247.50 0.00618046 - 77.50 62.50 252.50 0.00740194 - 77.50 62.50 257.50 0.00922365 - 77.50 62.50 262.50 0.0242279 - 77.50 62.50 267.50 0.0489188 - 77.50 62.50 272.50 0.120114 - 77.50 62.50 277.50 0.185298 - 77.50 62.50 282.50 0.29178 - 77.50 62.50 287.50 0.394772 - 77.50 62.50 292.50 0.409849 - 77.50 62.50 297.50 0.292971 - 77.50 62.50 302.50 0.199509 - 77.50 62.50 307.50 0.125213 - 77.50 62.50 312.50 0.0686556 - 77.50 62.50 317.50 0.0416486 - 77.50 62.50 322.50 0.02109 - 77.50 62.50 327.50 0.0113602 - 77.50 62.50 332.50 0.00698852 - 77.50 62.50 337.50 0.00618048 - 77.50 62.50 342.50 0.00740193 - 77.50 62.50 347.50 0.00922365 - 77.50 62.50 352.50 0.0242278 - 77.50 62.50 357.50 0.0489186 - 77.50 67.50 2.50 0.151509 - 77.50 67.50 7.50 0.268432 - 77.50 67.50 12.50 0.529664 - 77.50 67.50 17.50 0.784049 - 77.50 67.50 22.50 0.848944 - 77.50 67.50 27.50 0.771719 - 77.50 67.50 32.50 0.583853 - 77.50 67.50 37.50 0.417771 - 77.50 67.50 42.50 0.280564 - 77.50 67.50 47.50 0.143058 - 77.50 67.50 52.50 0.0619754 - 77.50 67.50 57.50 0.0231849 - 77.50 67.50 62.50 0.0105737 - 77.50 67.50 67.50 0.0115919 - 77.50 67.50 72.50 0.0178428 - 77.50 67.50 77.50 0.0290199 - 77.50 67.50 82.50 0.0565281 - 77.50 67.50 87.50 0.0841843 - 77.50 67.50 92.50 0.151509 - 77.50 67.50 97.50 0.268432 - 77.50 67.50 102.50 0.529664 - 77.50 67.50 107.50 0.784049 - 77.50 67.50 112.50 0.848944 - 77.50 67.50 117.50 0.771718 - 77.50 67.50 122.50 0.583853 - 77.50 67.50 127.50 0.41777 - 77.50 67.50 132.50 0.280564 - 77.50 67.50 137.50 0.143058 - 77.50 67.50 142.50 0.0619753 - 77.50 67.50 147.50 0.0231849 - 77.50 67.50 152.50 0.0105736 - 77.50 67.50 157.50 0.0115919 - 77.50 67.50 162.50 0.0178428 - 77.50 67.50 167.50 0.0290199 - 77.50 67.50 172.50 0.0565281 - 77.50 67.50 177.50 0.0841843 - 77.50 67.50 182.50 0.151509 - 77.50 67.50 187.50 0.268432 - 77.50 67.50 192.50 0.529664 - 77.50 67.50 197.50 0.784049 - 77.50 67.50 202.50 0.848944 - 77.50 67.50 207.50 0.771719 - 77.50 67.50 212.50 0.583853 - 77.50 67.50 217.50 0.41777 - 77.50 67.50 222.50 0.280564 - 77.50 67.50 227.50 0.143058 - 77.50 67.50 232.50 0.0619751 - 77.50 67.50 237.50 0.0231848 - 77.50 67.50 242.50 0.0105736 - 77.50 67.50 247.50 0.0115919 - 77.50 67.50 252.50 0.0178428 - 77.50 67.50 257.50 0.0290199 - 77.50 67.50 262.50 0.0565281 - 77.50 67.50 267.50 0.0841843 - 77.50 67.50 272.50 0.151509 - 77.50 67.50 277.50 0.268432 - 77.50 67.50 282.50 0.529664 - 77.50 67.50 287.50 0.784049 - 77.50 67.50 292.50 0.848944 - 77.50 67.50 297.50 0.771719 - 77.50 67.50 302.50 0.583854 - 77.50 67.50 307.50 0.417771 - 77.50 67.50 312.50 0.280564 - 77.50 67.50 317.50 0.143059 - 77.50 67.50 322.50 0.0619754 - 77.50 67.50 327.50 0.0231849 - 77.50 67.50 332.50 0.0105737 - 77.50 67.50 337.50 0.0115919 - 77.50 67.50 342.50 0.0178428 - 77.50 67.50 347.50 0.0290198 - 77.50 67.50 352.50 0.056528 - 77.50 67.50 357.50 0.0841842 - 77.50 72.50 2.50 0.200246 - 77.50 72.50 7.50 0.377387 - 77.50 72.50 12.50 0.766071 - 77.50 72.50 17.50 1.26497 - 77.50 72.50 22.50 1.55094 - 77.50 72.50 27.50 1.49383 - 77.50 72.50 32.50 1.23256 - 77.50 72.50 37.50 1.02468 - 77.50 72.50 42.50 0.74717 - 77.50 72.50 47.50 0.434025 - 77.50 72.50 52.50 0.224622 - 77.50 72.50 57.50 0.0956055 - 77.50 72.50 62.50 0.048728 - 77.50 72.50 67.50 0.0543211 - 77.50 72.50 72.50 0.071987 - 77.50 72.50 77.50 0.0816251 - 77.50 72.50 82.50 0.119157 - 77.50 72.50 87.50 0.170016 - 77.50 72.50 92.50 0.200246 - 77.50 72.50 97.50 0.377387 - 77.50 72.50 102.50 0.766071 - 77.50 72.50 107.50 1.26497 - 77.50 72.50 112.50 1.55094 - 77.50 72.50 117.50 1.49383 - 77.50 72.50 122.50 1.23256 - 77.50 72.50 127.50 1.02467 - 77.50 72.50 132.50 0.74717 - 77.50 72.50 137.50 0.434025 - 77.50 72.50 142.50 0.224622 - 77.50 72.50 147.50 0.0956056 - 77.50 72.50 152.50 0.048728 - 77.50 72.50 157.50 0.0543211 - 77.50 72.50 162.50 0.071987 - 77.50 72.50 167.50 0.081625 - 77.50 72.50 172.50 0.119157 - 77.50 72.50 177.50 0.170016 - 77.50 72.50 182.50 0.200246 - 77.50 72.50 187.50 0.377387 - 77.50 72.50 192.50 0.766071 - 77.50 72.50 197.50 1.26497 - 77.50 72.50 202.50 1.55094 - 77.50 72.50 207.50 1.49383 - 77.50 72.50 212.50 1.23256 - 77.50 72.50 217.50 1.02467 - 77.50 72.50 222.50 0.74717 - 77.50 72.50 227.50 0.434026 - 77.50 72.50 232.50 0.224621 - 77.50 72.50 237.50 0.0956053 - 77.50 72.50 242.50 0.0487279 - 77.50 72.50 247.50 0.0543211 - 77.50 72.50 252.50 0.071987 - 77.50 72.50 257.50 0.0816251 - 77.50 72.50 262.50 0.119157 - 77.50 72.50 267.50 0.170016 - 77.50 72.50 272.50 0.200246 - 77.50 72.50 277.50 0.377387 - 77.50 72.50 282.50 0.766071 - 77.50 72.50 287.50 1.26497 - 77.50 72.50 292.50 1.55094 - 77.50 72.50 297.50 1.49383 - 77.50 72.50 302.50 1.23256 - 77.50 72.50 307.50 1.02468 - 77.50 72.50 312.50 0.747171 - 77.50 72.50 317.50 0.434026 - 77.50 72.50 322.50 0.224622 - 77.50 72.50 327.50 0.0956058 - 77.50 72.50 332.50 0.0487281 - 77.50 72.50 337.50 0.0543211 - 77.50 72.50 342.50 0.071987 - 77.50 72.50 347.50 0.0816251 - 77.50 72.50 352.50 0.119157 - 77.50 72.50 357.50 0.170016 - 77.50 77.50 2.50 0.244704 - 77.50 77.50 7.50 0.454511 - 77.50 77.50 12.50 0.940418 - 77.50 77.50 17.50 1.60305 - 77.50 77.50 22.50 2.08213 - 77.50 77.50 27.50 2.13414 - 77.50 77.50 32.50 2.03098 - 77.50 77.50 37.50 1.85379 - 77.50 77.50 42.50 1.56178 - 77.50 77.50 47.50 1.15349 - 77.50 77.50 52.50 0.676224 - 77.50 77.50 57.50 0.360379 - 77.50 77.50 62.50 0.190522 - 77.50 77.50 67.50 0.146755 - 77.50 77.50 72.50 0.177703 - 77.50 77.50 77.50 0.193121 - 77.50 77.50 82.50 0.182174 - 77.50 77.50 87.50 0.278137 - 77.50 77.50 92.50 0.244704 - 77.50 77.50 97.50 0.454511 - 77.50 77.50 102.50 0.940417 - 77.50 77.50 107.50 1.60305 - 77.50 77.50 112.50 2.08213 - 77.50 77.50 117.50 2.13414 - 77.50 77.50 122.50 2.03098 - 77.50 77.50 127.50 1.85379 - 77.50 77.50 132.50 1.56178 - 77.50 77.50 137.50 1.15349 - 77.50 77.50 142.50 0.676224 - 77.50 77.50 147.50 0.360379 - 77.50 77.50 152.50 0.190522 - 77.50 77.50 157.50 0.146755 - 77.50 77.50 162.50 0.177703 - 77.50 77.50 167.50 0.193121 - 77.50 77.50 172.50 0.182174 - 77.50 77.50 177.50 0.278137 - 77.50 77.50 182.50 0.244704 - 77.50 77.50 187.50 0.454511 - 77.50 77.50 192.50 0.940418 - 77.50 77.50 197.50 1.60305 - 77.50 77.50 202.50 2.08213 - 77.50 77.50 207.50 2.13414 - 77.50 77.50 212.50 2.03098 - 77.50 77.50 217.50 1.85379 - 77.50 77.50 222.50 1.56178 - 77.50 77.50 227.50 1.15349 - 77.50 77.50 232.50 0.676223 - 77.50 77.50 237.50 0.360378 - 77.50 77.50 242.50 0.190522 - 77.50 77.50 247.50 0.146755 - 77.50 77.50 252.50 0.177703 - 77.50 77.50 257.50 0.193121 - 77.50 77.50 262.50 0.182174 - 77.50 77.50 267.50 0.278137 - 77.50 77.50 272.50 0.244704 - 77.50 77.50 277.50 0.454511 - 77.50 77.50 282.50 0.940417 - 77.50 77.50 287.50 1.60305 - 77.50 77.50 292.50 2.08213 - 77.50 77.50 297.50 2.13414 - 77.50 77.50 302.50 2.03098 - 77.50 77.50 307.50 1.85379 - 77.50 77.50 312.50 1.56178 - 77.50 77.50 317.50 1.15349 - 77.50 77.50 322.50 0.676225 - 77.50 77.50 327.50 0.360379 - 77.50 77.50 332.50 0.190522 - 77.50 77.50 337.50 0.146755 - 77.50 77.50 342.50 0.177703 - 77.50 77.50 347.50 0.193121 - 77.50 77.50 352.50 0.182174 - 77.50 77.50 357.50 0.278137 - 77.50 82.50 2.50 0.230709 - 77.50 82.50 7.50 0.401083 - 77.50 82.50 12.50 0.866702 - 77.50 82.50 17.50 1.49965 - 77.50 82.50 22.50 2.1347 - 77.50 82.50 27.50 2.50909 - 77.50 82.50 32.50 2.6922 - 77.50 82.50 37.50 2.78082 - 77.50 82.50 42.50 2.62261 - 77.50 82.50 47.50 2.1376 - 77.50 82.50 52.50 1.48837 - 77.50 82.50 57.50 0.945096 - 77.50 82.50 62.50 0.604671 - 77.50 82.50 67.50 0.418266 - 77.50 82.50 72.50 0.339523 - 77.50 82.50 77.50 0.293102 - 77.50 82.50 82.50 0.250356 - 77.50 82.50 87.50 0.256431 - 77.50 82.50 92.50 0.230709 - 77.50 82.50 97.50 0.401083 - 77.50 82.50 102.50 0.866702 - 77.50 82.50 107.50 1.49965 - 77.50 82.50 112.50 2.1347 - 77.50 82.50 117.50 2.50909 - 77.50 82.50 122.50 2.6922 - 77.50 82.50 127.50 2.78082 - 77.50 82.50 132.50 2.62261 - 77.50 82.50 137.50 2.1376 - 77.50 82.50 142.50 1.48837 - 77.50 82.50 147.50 0.945096 - 77.50 82.50 152.50 0.604672 - 77.50 82.50 157.50 0.418267 - 77.50 82.50 162.50 0.339523 - 77.50 82.50 167.50 0.293102 - 77.50 82.50 172.50 0.250356 - 77.50 82.50 177.50 0.256431 - 77.50 82.50 182.50 0.230709 - 77.50 82.50 187.50 0.401083 - 77.50 82.50 192.50 0.866701 - 77.50 82.50 197.50 1.49965 - 77.50 82.50 202.50 2.1347 - 77.50 82.50 207.50 2.50909 - 77.50 82.50 212.50 2.6922 - 77.50 82.50 217.50 2.78082 - 77.50 82.50 222.50 2.62261 - 77.50 82.50 227.50 2.1376 - 77.50 82.50 232.50 1.48837 - 77.50 82.50 237.50 0.945095 - 77.50 82.50 242.50 0.604671 - 77.50 82.50 247.50 0.418266 - 77.50 82.50 252.50 0.339522 - 77.50 82.50 257.50 0.293102 - 77.50 82.50 262.50 0.250356 - 77.50 82.50 267.50 0.256431 - 77.50 82.50 272.50 0.230709 - 77.50 82.50 277.50 0.401083 - 77.50 82.50 282.50 0.866701 - 77.50 82.50 287.50 1.49965 - 77.50 82.50 292.50 2.1347 - 77.50 82.50 297.50 2.50909 - 77.50 82.50 302.50 2.6922 - 77.50 82.50 307.50 2.78082 - 77.50 82.50 312.50 2.62261 - 77.50 82.50 317.50 2.1376 - 77.50 82.50 322.50 1.48837 - 77.50 82.50 327.50 0.945098 - 77.50 82.50 332.50 0.604672 - 77.50 82.50 337.50 0.418267 - 77.50 82.50 342.50 0.339523 - 77.50 82.50 347.50 0.293102 - 77.50 82.50 352.50 0.250356 - 77.50 82.50 357.50 0.25643 - 77.50 87.50 2.50 0.172972 - 77.50 87.50 7.50 0.296858 - 77.50 87.50 12.50 0.641894 - 77.50 87.50 17.50 1.13424 - 77.50 87.50 22.50 1.65961 - 77.50 87.50 27.50 2.2183 - 77.50 87.50 32.50 2.659 - 77.50 87.50 37.50 3.01113 - 77.50 87.50 42.50 3.19831 - 77.50 87.50 47.50 3.00907 - 77.50 87.50 52.50 2.43256 - 77.50 87.50 57.50 1.74094 - 77.50 87.50 62.50 1.20968 - 77.50 87.50 67.50 0.866739 - 77.50 87.50 72.50 0.632584 - 77.50 87.50 77.50 0.432495 - 77.50 87.50 82.50 0.30334 - 77.50 87.50 87.50 0.200923 - 77.50 87.50 92.50 0.172972 - 77.50 87.50 97.50 0.296858 - 77.50 87.50 102.50 0.641895 - 77.50 87.50 107.50 1.13424 - 77.50 87.50 112.50 1.65961 - 77.50 87.50 117.50 2.2183 - 77.50 87.50 122.50 2.659 - 77.50 87.50 127.50 3.01113 - 77.50 87.50 132.50 3.19831 - 77.50 87.50 137.50 3.00907 - 77.50 87.50 142.50 2.43256 - 77.50 87.50 147.50 1.74094 - 77.50 87.50 152.50 1.20968 - 77.50 87.50 157.50 0.866739 - 77.50 87.50 162.50 0.632584 - 77.50 87.50 167.50 0.432495 - 77.50 87.50 172.50 0.30334 - 77.50 87.50 177.50 0.200923 - 77.50 87.50 182.50 0.172972 - 77.50 87.50 187.50 0.296859 - 77.50 87.50 192.50 0.641895 - 77.50 87.50 197.50 1.13424 - 77.50 87.50 202.50 1.65962 - 77.50 87.50 207.50 2.2183 - 77.50 87.50 212.50 2.659 - 77.50 87.50 217.50 3.01113 - 77.50 87.50 222.50 3.1983 - 77.50 87.50 227.50 3.00907 - 77.50 87.50 232.50 2.43256 - 77.50 87.50 237.50 1.74093 - 77.50 87.50 242.50 1.20968 - 77.50 87.50 247.50 0.866739 - 77.50 87.50 252.50 0.632583 - 77.50 87.50 257.50 0.432494 - 77.50 87.50 262.50 0.30334 - 77.50 87.50 267.50 0.200923 - 77.50 87.50 272.50 0.172972 - 77.50 87.50 277.50 0.296858 - 77.50 87.50 282.50 0.641895 - 77.50 87.50 287.50 1.13424 - 77.50 87.50 292.50 1.65961 - 77.50 87.50 297.50 2.2183 - 77.50 87.50 302.50 2.659 - 77.50 87.50 307.50 3.01113 - 77.50 87.50 312.50 3.19831 - 77.50 87.50 317.50 3.00907 - 77.50 87.50 322.50 2.43256 - 77.50 87.50 327.50 1.74094 - 77.50 87.50 332.50 1.20968 - 77.50 87.50 337.50 0.86674 - 77.50 87.50 342.50 0.632584 - 77.50 87.50 347.50 0.432495 - 77.50 87.50 352.50 0.30334 - 77.50 87.50 357.50 0.200923 - 77.50 92.50 2.50 0.149977 - 77.50 92.50 7.50 0.210388 - 77.50 92.50 12.50 0.376554 - 77.50 92.50 17.50 0.655401 - 77.50 92.50 22.50 1.04451 - 77.50 92.50 27.50 1.46987 - 77.50 92.50 32.50 1.91896 - 77.50 92.50 37.50 2.48318 - 77.50 92.50 42.50 3.07557 - 77.50 92.50 47.50 3.34429 - 77.50 92.50 52.50 3.07557 - 77.50 92.50 57.50 2.48318 - 77.50 92.50 62.50 1.91896 - 77.50 92.50 67.50 1.46987 - 77.50 92.50 72.50 1.04451 - 77.50 92.50 77.50 0.655401 - 77.50 92.50 82.50 0.376554 - 77.50 92.50 87.50 0.210388 - 77.50 92.50 92.50 0.149977 - 77.50 92.50 97.50 0.210389 - 77.50 92.50 102.50 0.376554 - 77.50 92.50 107.50 0.655401 - 77.50 92.50 112.50 1.04451 - 77.50 92.50 117.50 1.46987 - 77.50 92.50 122.50 1.91896 - 77.50 92.50 127.50 2.48319 - 77.50 92.50 132.50 3.07557 - 77.50 92.50 137.50 3.34429 - 77.50 92.50 142.50 3.07558 - 77.50 92.50 147.50 2.48318 - 77.50 92.50 152.50 1.91896 - 77.50 92.50 157.50 1.46987 - 77.50 92.50 162.50 1.04451 - 77.50 92.50 167.50 0.655401 - 77.50 92.50 172.50 0.376554 - 77.50 92.50 177.50 0.210388 - 77.50 92.50 182.50 0.149977 - 77.50 92.50 187.50 0.210389 - 77.50 92.50 192.50 0.376555 - 77.50 92.50 197.50 0.655401 - 77.50 92.50 202.50 1.04451 - 77.50 92.50 207.50 1.46987 - 77.50 92.50 212.50 1.91896 - 77.50 92.50 217.50 2.48318 - 77.50 92.50 222.50 3.07557 - 77.50 92.50 227.50 3.34429 - 77.50 92.50 232.50 3.07557 - 77.50 92.50 237.50 2.48318 - 77.50 92.50 242.50 1.91896 - 77.50 92.50 247.50 1.46987 - 77.50 92.50 252.50 1.04451 - 77.50 92.50 257.50 0.6554 - 77.50 92.50 262.50 0.376554 - 77.50 92.50 267.50 0.210388 - 77.50 92.50 272.50 0.149977 - 77.50 92.50 277.50 0.210388 - 77.50 92.50 282.50 0.376554 - 77.50 92.50 287.50 0.655401 - 77.50 92.50 292.50 1.04451 - 77.50 92.50 297.50 1.46987 - 77.50 92.50 302.50 1.91896 - 77.50 92.50 307.50 2.48318 - 77.50 92.50 312.50 3.07557 - 77.50 92.50 317.50 3.34429 - 77.50 92.50 322.50 3.07558 - 77.50 92.50 327.50 2.48319 - 77.50 92.50 332.50 1.91896 - 77.50 92.50 337.50 1.46987 - 77.50 92.50 342.50 1.04452 - 77.50 92.50 347.50 0.655402 - 77.50 92.50 352.50 0.376555 - 77.50 92.50 357.50 0.210389 - 77.50 97.50 2.50 0.172972 - 77.50 97.50 7.50 0.200923 - 77.50 97.50 12.50 0.30334 - 77.50 97.50 17.50 0.432495 - 77.50 97.50 22.50 0.632584 - 77.50 97.50 27.50 0.866739 - 77.50 97.50 32.50 1.20968 - 77.50 97.50 37.50 1.74094 - 77.50 97.50 42.50 2.43256 - 77.50 97.50 47.50 3.00907 - 77.50 97.50 52.50 3.19831 - 77.50 97.50 57.50 3.01113 - 77.50 97.50 62.50 2.659 - 77.50 97.50 67.50 2.2183 - 77.50 97.50 72.50 1.65961 - 77.50 97.50 77.50 1.13424 - 77.50 97.50 82.50 0.641895 - 77.50 97.50 87.50 0.296858 - 77.50 97.50 92.50 0.172972 - 77.50 97.50 97.50 0.200923 - 77.50 97.50 102.50 0.30334 - 77.50 97.50 107.50 0.432495 - 77.50 97.50 112.50 0.632584 - 77.50 97.50 117.50 0.866739 - 77.50 97.50 122.50 1.20968 - 77.50 97.50 127.50 1.74094 - 77.50 97.50 132.50 2.43256 - 77.50 97.50 137.50 3.00907 - 77.50 97.50 142.50 3.19831 - 77.50 97.50 147.50 3.01113 - 77.50 97.50 152.50 2.659 - 77.50 97.50 157.50 2.2183 - 77.50 97.50 162.50 1.65961 - 77.50 97.50 167.50 1.13424 - 77.50 97.50 172.50 0.641895 - 77.50 97.50 177.50 0.296859 - 77.50 97.50 182.50 0.172972 - 77.50 97.50 187.50 0.200923 - 77.50 97.50 192.50 0.30334 - 77.50 97.50 197.50 0.432495 - 77.50 97.50 202.50 0.632584 - 77.50 97.50 207.50 0.86674 - 77.50 97.50 212.50 1.20968 - 77.50 97.50 217.50 1.74094 - 77.50 97.50 222.50 2.43256 - 77.50 97.50 227.50 3.00907 - 77.50 97.50 232.50 3.19831 - 77.50 97.50 237.50 3.01113 - 77.50 97.50 242.50 2.65899 - 77.50 97.50 247.50 2.2183 - 77.50 97.50 252.50 1.65961 - 77.50 97.50 257.50 1.13424 - 77.50 97.50 262.50 0.641893 - 77.50 97.50 267.50 0.296858 - 77.50 97.50 272.50 0.172972 - 77.50 97.50 277.50 0.200923 - 77.50 97.50 282.50 0.30334 - 77.50 97.50 287.50 0.432495 - 77.50 97.50 292.50 0.632584 - 77.50 97.50 297.50 0.866739 - 77.50 97.50 302.50 1.20968 - 77.50 97.50 307.50 1.74094 - 77.50 97.50 312.50 2.43256 - 77.50 97.50 317.50 3.00907 - 77.50 97.50 322.50 3.19831 - 77.50 97.50 327.50 3.01113 - 77.50 97.50 332.50 2.659 - 77.50 97.50 337.50 2.2183 - 77.50 97.50 342.50 1.65962 - 77.50 97.50 347.50 1.13424 - 77.50 97.50 352.50 0.641896 - 77.50 97.50 357.50 0.296859 - 77.50 102.50 2.50 0.230709 - 77.50 102.50 7.50 0.256431 - 77.50 102.50 12.50 0.250356 - 77.50 102.50 17.50 0.293102 - 77.50 102.50 22.50 0.339523 - 77.50 102.50 27.50 0.418267 - 77.50 102.50 32.50 0.604672 - 77.50 102.50 37.50 0.945097 - 77.50 102.50 42.50 1.48837 - 77.50 102.50 47.50 2.1376 - 77.50 102.50 52.50 2.62261 - 77.50 102.50 57.50 2.78082 - 77.50 102.50 62.50 2.6922 - 77.50 102.50 67.50 2.50909 - 77.50 102.50 72.50 2.1347 - 77.50 102.50 77.50 1.49965 - 77.50 102.50 82.50 0.866702 - 77.50 102.50 87.50 0.401083 - 77.50 102.50 92.50 0.230709 - 77.50 102.50 97.50 0.256431 - 77.50 102.50 102.50 0.250356 - 77.50 102.50 107.50 0.293102 - 77.50 102.50 112.50 0.339523 - 77.50 102.50 117.50 0.418267 - 77.50 102.50 122.50 0.604672 - 77.50 102.50 127.50 0.945098 - 77.50 102.50 132.50 1.48837 - 77.50 102.50 137.50 2.1376 - 77.50 102.50 142.50 2.62261 - 77.50 102.50 147.50 2.78082 - 77.50 102.50 152.50 2.6922 - 77.50 102.50 157.50 2.50909 - 77.50 102.50 162.50 2.1347 - 77.50 102.50 167.50 1.49965 - 77.50 102.50 172.50 0.866701 - 77.50 102.50 177.50 0.401083 - 77.50 102.50 182.50 0.230709 - 77.50 102.50 187.50 0.256431 - 77.50 102.50 192.50 0.250356 - 77.50 102.50 197.50 0.293102 - 77.50 102.50 202.50 0.339523 - 77.50 102.50 207.50 0.418267 - 77.50 102.50 212.50 0.604672 - 77.50 102.50 217.50 0.945097 - 77.50 102.50 222.50 1.48837 - 77.50 102.50 227.50 2.1376 - 77.50 102.50 232.50 2.62262 - 77.50 102.50 237.50 2.78082 - 77.50 102.50 242.50 2.6922 - 77.50 102.50 247.50 2.50909 - 77.50 102.50 252.50 2.1347 - 77.50 102.50 257.50 1.49965 - 77.50 102.50 262.50 0.866701 - 77.50 102.50 267.50 0.401082 - 77.50 102.50 272.50 0.230709 - 77.50 102.50 277.50 0.256431 - 77.50 102.50 282.50 0.250356 - 77.50 102.50 287.50 0.293102 - 77.50 102.50 292.50 0.339523 - 77.50 102.50 297.50 0.418267 - 77.50 102.50 302.50 0.604671 - 77.50 102.50 307.50 0.945096 - 77.50 102.50 312.50 1.48837 - 77.50 102.50 317.50 2.1376 - 77.50 102.50 322.50 2.62261 - 77.50 102.50 327.50 2.78082 - 77.50 102.50 332.50 2.6922 - 77.50 102.50 337.50 2.50909 - 77.50 102.50 342.50 2.1347 - 77.50 102.50 347.50 1.49965 - 77.50 102.50 352.50 0.866703 - 77.50 102.50 357.50 0.401084 - 77.50 107.50 2.50 0.244704 - 77.50 107.50 7.50 0.278137 - 77.50 107.50 12.50 0.182174 - 77.50 107.50 17.50 0.193121 - 77.50 107.50 22.50 0.177703 - 77.50 107.50 27.50 0.146755 - 77.50 107.50 32.50 0.190522 - 77.50 107.50 37.50 0.360379 - 77.50 107.50 42.50 0.676224 - 77.50 107.50 47.50 1.15349 - 77.50 107.50 52.50 1.56178 - 77.50 107.50 57.50 1.85379 - 77.50 107.50 62.50 2.03098 - 77.50 107.50 67.50 2.13414 - 77.50 107.50 72.50 2.08213 - 77.50 107.50 77.50 1.60304 - 77.50 107.50 82.50 0.940418 - 77.50 107.50 87.50 0.454511 - 77.50 107.50 92.50 0.244704 - 77.50 107.50 97.50 0.278137 - 77.50 107.50 102.50 0.182174 - 77.50 107.50 107.50 0.193121 - 77.50 107.50 112.50 0.177703 - 77.50 107.50 117.50 0.146755 - 77.50 107.50 122.50 0.190522 - 77.50 107.50 127.50 0.360379 - 77.50 107.50 132.50 0.676225 - 77.50 107.50 137.50 1.15349 - 77.50 107.50 142.50 1.56178 - 77.50 107.50 147.50 1.85379 - 77.50 107.50 152.50 2.03098 - 77.50 107.50 157.50 2.13414 - 77.50 107.50 162.50 2.08213 - 77.50 107.50 167.50 1.60304 - 77.50 107.50 172.50 0.940418 - 77.50 107.50 177.50 0.454511 - 77.50 107.50 182.50 0.244704 - 77.50 107.50 187.50 0.278137 - 77.50 107.50 192.50 0.182174 - 77.50 107.50 197.50 0.193121 - 77.50 107.50 202.50 0.177703 - 77.50 107.50 207.50 0.146755 - 77.50 107.50 212.50 0.190522 - 77.50 107.50 217.50 0.360379 - 77.50 107.50 222.50 0.676224 - 77.50 107.50 227.50 1.15349 - 77.50 107.50 232.50 1.56178 - 77.50 107.50 237.50 1.85379 - 77.50 107.50 242.50 2.03098 - 77.50 107.50 247.50 2.13415 - 77.50 107.50 252.50 2.08213 - 77.50 107.50 257.50 1.60304 - 77.50 107.50 262.50 0.940416 - 77.50 107.50 267.50 0.454511 - 77.50 107.50 272.50 0.244703 - 77.50 107.50 277.50 0.278137 - 77.50 107.50 282.50 0.182174 - 77.50 107.50 287.50 0.193121 - 77.50 107.50 292.50 0.177703 - 77.50 107.50 297.50 0.146755 - 77.50 107.50 302.50 0.190522 - 77.50 107.50 307.50 0.360379 - 77.50 107.50 312.50 0.676224 - 77.50 107.50 317.50 1.15349 - 77.50 107.50 322.50 1.56178 - 77.50 107.50 327.50 1.85379 - 77.50 107.50 332.50 2.03098 - 77.50 107.50 337.50 2.13414 - 77.50 107.50 342.50 2.08213 - 77.50 107.50 347.50 1.60305 - 77.50 107.50 352.50 0.940419 - 77.50 107.50 357.50 0.454512 - 77.50 112.50 2.50 0.200246 - 77.50 112.50 7.50 0.170016 - 77.50 112.50 12.50 0.119157 - 77.50 112.50 17.50 0.0816251 - 77.50 112.50 22.50 0.071987 - 77.50 112.50 27.50 0.0543211 - 77.50 112.50 32.50 0.048728 - 77.50 112.50 37.50 0.0956056 - 77.50 112.50 42.50 0.224622 - 77.50 112.50 47.50 0.434026 - 77.50 112.50 52.50 0.74717 - 77.50 112.50 57.50 1.02468 - 77.50 112.50 62.50 1.23256 - 77.50 112.50 67.50 1.49383 - 77.50 112.50 72.50 1.55094 - 77.50 112.50 77.50 1.26497 - 77.50 112.50 82.50 0.76607 - 77.50 112.50 87.50 0.377387 - 77.50 112.50 92.50 0.200246 - 77.50 112.50 97.50 0.170016 - 77.50 112.50 102.50 0.119157 - 77.50 112.50 107.50 0.0816251 - 77.50 112.50 112.50 0.0719871 - 77.50 112.50 117.50 0.0543211 - 77.50 112.50 122.50 0.0487281 - 77.50 112.50 127.50 0.0956058 - 77.50 112.50 132.50 0.224622 - 77.50 112.50 137.50 0.434026 - 77.50 112.50 142.50 0.747171 - 77.50 112.50 147.50 1.02468 - 77.50 112.50 152.50 1.23256 - 77.50 112.50 157.50 1.49383 - 77.50 112.50 162.50 1.55094 - 77.50 112.50 167.50 1.26497 - 77.50 112.50 172.50 0.766072 - 77.50 112.50 177.50 0.377387 - 77.50 112.50 182.50 0.200246 - 77.50 112.50 187.50 0.170016 - 77.50 112.50 192.50 0.119157 - 77.50 112.50 197.50 0.0816251 - 77.50 112.50 202.50 0.0719871 - 77.50 112.50 207.50 0.0543211 - 77.50 112.50 212.50 0.0487281 - 77.50 112.50 217.50 0.0956057 - 77.50 112.50 222.50 0.224622 - 77.50 112.50 227.50 0.434026 - 77.50 112.50 232.50 0.747171 - 77.50 112.50 237.50 1.02468 - 77.50 112.50 242.50 1.23256 - 77.50 112.50 247.50 1.49383 - 77.50 112.50 252.50 1.55094 - 77.50 112.50 257.50 1.26497 - 77.50 112.50 262.50 0.76607 - 77.50 112.50 267.50 0.377387 - 77.50 112.50 272.50 0.200246 - 77.50 112.50 277.50 0.170016 - 77.50 112.50 282.50 0.119157 - 77.50 112.50 287.50 0.0816251 - 77.50 112.50 292.50 0.071987 - 77.50 112.50 297.50 0.0543211 - 77.50 112.50 302.50 0.048728 - 77.50 112.50 307.50 0.0956054 - 77.50 112.50 312.50 0.224621 - 77.50 112.50 317.50 0.434025 - 77.50 112.50 322.50 0.747169 - 77.50 112.50 327.50 1.02467 - 77.50 112.50 332.50 1.23256 - 77.50 112.50 337.50 1.49383 - 77.50 112.50 342.50 1.55094 - 77.50 112.50 347.50 1.26497 - 77.50 112.50 352.50 0.766072 - 77.50 112.50 357.50 0.377388 - 77.50 117.50 2.50 0.151509 - 77.50 117.50 7.50 0.0841842 - 77.50 117.50 12.50 0.056528 - 77.50 117.50 17.50 0.0290198 - 77.50 117.50 22.50 0.0178427 - 77.50 117.50 27.50 0.0115919 - 77.50 117.50 32.50 0.0105736 - 77.50 117.50 37.50 0.0231848 - 77.50 117.50 42.50 0.0619752 - 77.50 117.50 47.50 0.143058 - 77.50 117.50 52.50 0.280563 - 77.50 117.50 57.50 0.41777 - 77.50 117.50 62.50 0.583853 - 77.50 117.50 67.50 0.771719 - 77.50 117.50 72.50 0.848944 - 77.50 117.50 77.50 0.784047 - 77.50 117.50 82.50 0.529664 - 77.50 117.50 87.50 0.268432 - 77.50 117.50 92.50 0.151509 - 77.50 117.50 97.50 0.0841843 - 77.50 117.50 102.50 0.056528 - 77.50 117.50 107.50 0.0290198 - 77.50 117.50 112.50 0.0178427 - 77.50 117.50 117.50 0.0115919 - 77.50 117.50 122.50 0.0105736 - 77.50 117.50 127.50 0.0231849 - 77.50 117.50 132.50 0.0619753 - 77.50 117.50 137.50 0.143058 - 77.50 117.50 142.50 0.280563 - 77.50 117.50 147.50 0.41777 - 77.50 117.50 152.50 0.583853 - 77.50 117.50 157.50 0.771718 - 77.50 117.50 162.50 0.848944 - 77.50 117.50 167.50 0.784049 - 77.50 117.50 172.50 0.529664 - 77.50 117.50 177.50 0.268432 - 77.50 117.50 182.50 0.151509 - 77.50 117.50 187.50 0.0841843 - 77.50 117.50 192.50 0.0565281 - 77.50 117.50 197.50 0.0290199 - 77.50 117.50 202.50 0.0178428 - 77.50 117.50 207.50 0.0115919 - 77.50 117.50 212.50 0.0105736 - 77.50 117.50 217.50 0.0231848 - 77.50 117.50 222.50 0.0619752 - 77.50 117.50 227.50 0.143058 - 77.50 117.50 232.50 0.280564 - 77.50 117.50 237.50 0.41777 - 77.50 117.50 242.50 0.583853 - 77.50 117.50 247.50 0.771719 - 77.50 117.50 252.50 0.848944 - 77.50 117.50 257.50 0.784048 - 77.50 117.50 262.50 0.529664 - 77.50 117.50 267.50 0.268432 - 77.50 117.50 272.50 0.151508 - 77.50 117.50 277.50 0.0841842 - 77.50 117.50 282.50 0.0565281 - 77.50 117.50 287.50 0.0290198 - 77.50 117.50 292.50 0.0178428 - 77.50 117.50 297.50 0.0115919 - 77.50 117.50 302.50 0.0105736 - 77.50 117.50 307.50 0.0231848 - 77.50 117.50 312.50 0.0619752 - 77.50 117.50 317.50 0.143058 - 77.50 117.50 322.50 0.280563 - 77.50 117.50 327.50 0.41777 - 77.50 117.50 332.50 0.583853 - 77.50 117.50 337.50 0.771717 - 77.50 117.50 342.50 0.848943 - 77.50 117.50 347.50 0.784049 - 77.50 117.50 352.50 0.529665 - 77.50 117.50 357.50 0.268433 - 77.50 122.50 2.50 0.120114 - 77.50 122.50 7.50 0.0489187 - 77.50 122.50 12.50 0.0242278 - 77.50 122.50 17.50 0.00922365 - 77.50 122.50 22.50 0.00740194 - 77.50 122.50 27.50 0.0061805 - 77.50 122.50 32.50 0.00698854 - 77.50 122.50 37.50 0.0113602 - 77.50 122.50 42.50 0.0210899 - 77.50 122.50 47.50 0.0416485 - 77.50 122.50 52.50 0.0686553 - 77.50 122.50 57.50 0.125212 - 77.50 122.50 62.50 0.199509 - 77.50 122.50 67.50 0.292971 - 77.50 122.50 72.50 0.409849 - 77.50 122.50 77.50 0.394771 - 77.50 122.50 82.50 0.29178 - 77.50 122.50 87.50 0.185298 - 77.50 122.50 92.50 0.120114 - 77.50 122.50 97.50 0.0489187 - 77.50 122.50 102.50 0.0242278 - 77.50 122.50 107.50 0.00922365 - 77.50 122.50 112.50 0.00740194 - 77.50 122.50 117.50 0.00618049 - 77.50 122.50 122.50 0.00698853 - 77.50 122.50 127.50 0.0113602 - 77.50 122.50 132.50 0.0210899 - 77.50 122.50 137.50 0.0416485 - 77.50 122.50 142.50 0.0686554 - 77.50 122.50 147.50 0.125212 - 77.50 122.50 152.50 0.199509 - 77.50 122.50 157.50 0.29297 - 77.50 122.50 162.50 0.409849 - 77.50 122.50 167.50 0.394771 - 77.50 122.50 172.50 0.29178 - 77.50 122.50 177.50 0.185298 - 77.50 122.50 182.50 0.120114 - 77.50 122.50 187.50 0.0489187 - 77.50 122.50 192.50 0.0242278 - 77.50 122.50 197.50 0.00922366 - 77.50 122.50 202.50 0.00740194 - 77.50 122.50 207.50 0.00618049 - 77.50 122.50 212.50 0.00698854 - 77.50 122.50 217.50 0.0113602 - 77.50 122.50 222.50 0.0210899 - 77.50 122.50 227.50 0.0416485 - 77.50 122.50 232.50 0.0686554 - 77.50 122.50 237.50 0.125213 - 77.50 122.50 242.50 0.199509 - 77.50 122.50 247.50 0.292971 - 77.50 122.50 252.50 0.409849 - 77.50 122.50 257.50 0.394771 - 77.50 122.50 262.50 0.29178 - 77.50 122.50 267.50 0.185298 - 77.50 122.50 272.50 0.120114 - 77.50 122.50 277.50 0.0489187 - 77.50 122.50 282.50 0.0242278 - 77.50 122.50 287.50 0.00922365 - 77.50 122.50 292.50 0.00740194 - 77.50 122.50 297.50 0.0061805 - 77.50 122.50 302.50 0.00698855 - 77.50 122.50 307.50 0.0113602 - 77.50 122.50 312.50 0.0210899 - 77.50 122.50 317.50 0.0416485 - 77.50 122.50 322.50 0.0686553 - 77.50 122.50 327.50 0.125212 - 77.50 122.50 332.50 0.199509 - 77.50 122.50 337.50 0.29297 - 77.50 122.50 342.50 0.409848 - 77.50 122.50 347.50 0.394771 - 77.50 122.50 352.50 0.29178 - 77.50 122.50 357.50 0.185298 - 77.50 127.50 2.50 0.0808849 - 77.50 127.50 7.50 0.0303794 - 77.50 127.50 12.50 0.0135287 - 77.50 127.50 17.50 0.010879 - 77.50 127.50 22.50 0.0202786 - 77.50 127.50 27.50 0.0359703 - 77.50 127.50 32.50 0.0554884 - 77.50 127.50 37.50 0.0523203 - 77.50 127.50 42.50 0.0418998 - 77.50 127.50 47.50 0.0384457 - 77.50 127.50 52.50 0.0254597 - 77.50 127.50 57.50 0.0285112 - 77.50 127.50 62.50 0.0510867 - 77.50 127.50 67.50 0.0962981 - 77.50 127.50 72.50 0.145581 - 77.50 127.50 77.50 0.15546 - 77.50 127.50 82.50 0.132956 - 77.50 127.50 87.50 0.115287 - 77.50 127.50 92.50 0.0808849 - 77.50 127.50 97.50 0.0303794 - 77.50 127.50 102.50 0.0135287 - 77.50 127.50 107.50 0.010879 - 77.50 127.50 112.50 0.0202785 - 77.50 127.50 117.50 0.0359703 - 77.50 127.50 122.50 0.0554884 - 77.50 127.50 127.50 0.0523203 - 77.50 127.50 132.50 0.0418998 - 77.50 127.50 137.50 0.0384457 - 77.50 127.50 142.50 0.0254597 - 77.50 127.50 147.50 0.0285112 - 77.50 127.50 152.50 0.0510867 - 77.50 127.50 157.50 0.096298 - 77.50 127.50 162.50 0.145581 - 77.50 127.50 167.50 0.15546 - 77.50 127.50 172.50 0.132957 - 77.50 127.50 177.50 0.115288 - 77.50 127.50 182.50 0.0808849 - 77.50 127.50 187.50 0.0303794 - 77.50 127.50 192.50 0.0135287 - 77.50 127.50 197.50 0.010879 - 77.50 127.50 202.50 0.0202785 - 77.50 127.50 207.50 0.0359702 - 77.50 127.50 212.50 0.0554884 - 77.50 127.50 217.50 0.0523203 - 77.50 127.50 222.50 0.0418998 - 77.50 127.50 227.50 0.0384457 - 77.50 127.50 232.50 0.0254596 - 77.50 127.50 237.50 0.0285112 - 77.50 127.50 242.50 0.0510867 - 77.50 127.50 247.50 0.0962981 - 77.50 127.50 252.50 0.145581 - 77.50 127.50 257.50 0.15546 - 77.50 127.50 262.50 0.132957 - 77.50 127.50 267.50 0.115287 - 77.50 127.50 272.50 0.0808849 - 77.50 127.50 277.50 0.0303794 - 77.50 127.50 282.50 0.0135286 - 77.50 127.50 287.50 0.010879 - 77.50 127.50 292.50 0.0202785 - 77.50 127.50 297.50 0.0359703 - 77.50 127.50 302.50 0.0554884 - 77.50 127.50 307.50 0.0523203 - 77.50 127.50 312.50 0.0418998 - 77.50 127.50 317.50 0.0384457 - 77.50 127.50 322.50 0.0254596 - 77.50 127.50 327.50 0.0285112 - 77.50 127.50 332.50 0.0510865 - 77.50 127.50 337.50 0.0962978 - 77.50 127.50 342.50 0.145581 - 77.50 127.50 347.50 0.15546 - 77.50 127.50 352.50 0.132956 - 77.50 127.50 357.50 0.115288 - 77.50 132.50 2.50 0.0382171 - 77.50 132.50 7.50 0.0179044 - 77.50 132.50 12.50 0.024012 - 77.50 132.50 17.50 0.0424702 - 77.50 132.50 22.50 0.0868091 - 77.50 132.50 27.50 0.177265 - 77.50 132.50 32.50 0.29171 - 77.50 132.50 37.50 0.320091 - 77.50 132.50 42.50 0.248773 - 77.50 132.50 47.50 0.186435 - 77.50 132.50 52.50 0.107731 - 77.50 132.50 57.50 0.0542918 - 77.50 132.50 62.50 0.0298577 - 77.50 132.50 67.50 0.0292199 - 77.50 132.50 72.50 0.0366957 - 77.50 132.50 77.50 0.0417048 - 77.50 132.50 82.50 0.0512642 - 77.50 132.50 87.50 0.0575414 - 77.50 132.50 92.50 0.0382171 - 77.50 132.50 97.50 0.0179044 - 77.50 132.50 102.50 0.024012 - 77.50 132.50 107.50 0.0424702 - 77.50 132.50 112.50 0.0868089 - 77.50 132.50 117.50 0.177265 - 77.50 132.50 122.50 0.29171 - 77.50 132.50 127.50 0.320091 - 77.50 132.50 132.50 0.248773 - 77.50 132.50 137.50 0.186435 - 77.50 132.50 142.50 0.107731 - 77.50 132.50 147.50 0.0542918 - 77.50 132.50 152.50 0.0298577 - 77.50 132.50 157.50 0.0292199 - 77.50 132.50 162.50 0.0366958 - 77.50 132.50 167.50 0.0417049 - 77.50 132.50 172.50 0.0512643 - 77.50 132.50 177.50 0.0575414 - 77.50 132.50 182.50 0.0382171 - 77.50 132.50 187.50 0.0179044 - 77.50 132.50 192.50 0.024012 - 77.50 132.50 197.50 0.0424702 - 77.50 132.50 202.50 0.086809 - 77.50 132.50 207.50 0.177265 - 77.50 132.50 212.50 0.29171 - 77.50 132.50 217.50 0.320091 - 77.50 132.50 222.50 0.248773 - 77.50 132.50 227.50 0.186435 - 77.50 132.50 232.50 0.10773 - 77.50 132.50 237.50 0.0542917 - 77.50 132.50 242.50 0.0298577 - 77.50 132.50 247.50 0.0292199 - 77.50 132.50 252.50 0.0366957 - 77.50 132.50 257.50 0.0417049 - 77.50 132.50 262.50 0.0512643 - 77.50 132.50 267.50 0.0575414 - 77.50 132.50 272.50 0.0382171 - 77.50 132.50 277.50 0.0179044 - 77.50 132.50 282.50 0.024012 - 77.50 132.50 287.50 0.0424702 - 77.50 132.50 292.50 0.086809 - 77.50 132.50 297.50 0.177265 - 77.50 132.50 302.50 0.29171 - 77.50 132.50 307.50 0.320091 - 77.50 132.50 312.50 0.248773 - 77.50 132.50 317.50 0.186435 - 77.50 132.50 322.50 0.107731 - 77.50 132.50 327.50 0.0542918 - 77.50 132.50 332.50 0.0298577 - 77.50 132.50 337.50 0.0292198 - 77.50 132.50 342.50 0.0366957 - 77.50 132.50 347.50 0.0417048 - 77.50 132.50 352.50 0.0512641 - 77.50 132.50 357.50 0.0575413 - 77.50 137.50 2.50 0.0202141 - 77.50 137.50 7.50 0.025361 - 77.50 137.50 12.50 0.0715268 - 77.50 137.50 17.50 0.146183 - 77.50 137.50 22.50 0.261568 - 77.50 137.50 27.50 0.53126 - 77.50 137.50 32.50 0.880611 - 77.50 137.50 37.50 1.09789 - 77.50 137.50 42.50 0.983075 - 77.50 137.50 47.50 0.784647 - 77.50 137.50 52.50 0.434232 - 77.50 137.50 57.50 0.231455 - 77.50 137.50 62.50 0.0933622 - 77.50 137.50 67.50 0.0442034 - 77.50 137.50 72.50 0.0207145 - 77.50 137.50 77.50 0.0162197 - 77.50 137.50 82.50 0.023494 - 77.50 137.50 87.50 0.0278132 - 77.50 137.50 92.50 0.0202141 - 77.50 137.50 97.50 0.025361 - 77.50 137.50 102.50 0.0715268 - 77.50 137.50 107.50 0.146183 - 77.50 137.50 112.50 0.261568 - 77.50 137.50 117.50 0.531261 - 77.50 137.50 122.50 0.880611 - 77.50 137.50 127.50 1.09789 - 77.50 137.50 132.50 0.983075 - 77.50 137.50 137.50 0.784647 - 77.50 137.50 142.50 0.434232 - 77.50 137.50 147.50 0.231455 - 77.50 137.50 152.50 0.0933622 - 77.50 137.50 157.50 0.0442034 - 77.50 137.50 162.50 0.0207145 - 77.50 137.50 167.50 0.0162197 - 77.50 137.50 172.50 0.023494 - 77.50 137.50 177.50 0.0278132 - 77.50 137.50 182.50 0.0202141 - 77.50 137.50 187.50 0.025361 - 77.50 137.50 192.50 0.0715268 - 77.50 137.50 197.50 0.146182 - 77.50 137.50 202.50 0.261568 - 77.50 137.50 207.50 0.53126 - 77.50 137.50 212.50 0.880611 - 77.50 137.50 217.50 1.09789 - 77.50 137.50 222.50 0.983075 - 77.50 137.50 227.50 0.784647 - 77.50 137.50 232.50 0.434232 - 77.50 137.50 237.50 0.231455 - 77.50 137.50 242.50 0.0933621 - 77.50 137.50 247.50 0.0442033 - 77.50 137.50 252.50 0.0207145 - 77.50 137.50 257.50 0.0162197 - 77.50 137.50 262.50 0.023494 - 77.50 137.50 267.50 0.0278132 - 77.50 137.50 272.50 0.0202141 - 77.50 137.50 277.50 0.025361 - 77.50 137.50 282.50 0.0715267 - 77.50 137.50 287.50 0.146183 - 77.50 137.50 292.50 0.261567 - 77.50 137.50 297.50 0.53126 - 77.50 137.50 302.50 0.880611 - 77.50 137.50 307.50 1.09789 - 77.50 137.50 312.50 0.983075 - 77.50 137.50 317.50 0.784647 - 77.50 137.50 322.50 0.434233 - 77.50 137.50 327.50 0.231455 - 77.50 137.50 332.50 0.0933623 - 77.50 137.50 337.50 0.0442035 - 77.50 137.50 342.50 0.0207145 - 77.50 137.50 347.50 0.0162197 - 77.50 137.50 352.50 0.023494 - 77.50 137.50 357.50 0.0278132 - 77.50 142.50 2.50 0.0382171 - 77.50 142.50 7.50 0.0661283 - 77.50 142.50 12.50 0.171239 - 77.50 142.50 17.50 0.351671 - 77.50 142.50 22.50 0.623572 - 77.50 142.50 27.50 1.15799 - 77.50 142.50 32.50 1.92429 - 77.50 142.50 37.50 2.46393 - 77.50 142.50 42.50 2.48996 - 77.50 142.50 47.50 2.00341 - 77.50 142.50 52.50 1.25778 - 77.50 142.50 57.50 0.621455 - 77.50 142.50 62.50 0.293625 - 77.50 142.50 67.50 0.137949 - 77.50 142.50 72.50 0.0639956 - 77.50 142.50 77.50 0.035394 - 77.50 142.50 82.50 0.0344762 - 77.50 142.50 87.50 0.0398609 - 77.50 142.50 92.50 0.0382171 - 77.50 142.50 97.50 0.0661283 - 77.50 142.50 102.50 0.171239 - 77.50 142.50 107.50 0.351671 - 77.50 142.50 112.50 0.623572 - 77.50 142.50 117.50 1.15799 - 77.50 142.50 122.50 1.92429 - 77.50 142.50 127.50 2.46393 - 77.50 142.50 132.50 2.48996 - 77.50 142.50 137.50 2.00341 - 77.50 142.50 142.50 1.25778 - 77.50 142.50 147.50 0.621456 - 77.50 142.50 152.50 0.293625 - 77.50 142.50 157.50 0.13795 - 77.50 142.50 162.50 0.0639956 - 77.50 142.50 167.50 0.0353939 - 77.50 142.50 172.50 0.0344762 - 77.50 142.50 177.50 0.0398608 - 77.50 142.50 182.50 0.0382171 - 77.50 142.50 187.50 0.0661283 - 77.50 142.50 192.50 0.171239 - 77.50 142.50 197.50 0.351671 - 77.50 142.50 202.50 0.623572 - 77.50 142.50 207.50 1.15799 - 77.50 142.50 212.50 1.92429 - 77.50 142.50 217.50 2.46393 - 77.50 142.50 222.50 2.48996 - 77.50 142.50 227.50 2.00341 - 77.50 142.50 232.50 1.25778 - 77.50 142.50 237.50 0.621455 - 77.50 142.50 242.50 0.293625 - 77.50 142.50 247.50 0.137949 - 77.50 142.50 252.50 0.0639956 - 77.50 142.50 257.50 0.035394 - 77.50 142.50 262.50 0.0344762 - 77.50 142.50 267.50 0.0398608 - 77.50 142.50 272.50 0.0382171 - 77.50 142.50 277.50 0.0661283 - 77.50 142.50 282.50 0.171239 - 77.50 142.50 287.50 0.351671 - 77.50 142.50 292.50 0.623572 - 77.50 142.50 297.50 1.15799 - 77.50 142.50 302.50 1.92429 - 77.50 142.50 307.50 2.46393 - 77.50 142.50 312.50 2.48996 - 77.50 142.50 317.50 2.00341 - 77.50 142.50 322.50 1.25778 - 77.50 142.50 327.50 0.621456 - 77.50 142.50 332.50 0.293626 - 77.50 142.50 337.50 0.13795 - 77.50 142.50 342.50 0.0639959 - 77.50 142.50 347.50 0.035394 - 77.50 142.50 352.50 0.0344762 - 77.50 142.50 357.50 0.0398608 - 77.50 147.50 2.50 0.080885 - 77.50 147.50 7.50 0.128762 - 77.50 147.50 12.50 0.298984 - 77.50 147.50 17.50 0.605834 - 77.50 147.50 22.50 1.08813 - 77.50 147.50 27.50 1.9463 - 77.50 147.50 32.50 3.10365 - 77.50 147.50 37.50 3.98926 - 77.50 147.50 42.50 4.07566 - 77.50 147.50 47.50 3.37367 - 77.50 147.50 52.50 2.22831 - 77.50 147.50 57.50 1.1898 - 77.50 147.50 62.50 0.596479 - 77.50 147.50 67.50 0.318722 - 77.50 147.50 72.50 0.18127 - 77.50 147.50 77.50 0.111015 - 77.50 147.50 82.50 0.0865845 - 77.50 147.50 87.50 0.0834134 - 77.50 147.50 92.50 0.080885 - 77.50 147.50 97.50 0.128762 - 77.50 147.50 102.50 0.298984 - 77.50 147.50 107.50 0.605834 - 77.50 147.50 112.50 1.08813 - 77.50 147.50 117.50 1.9463 - 77.50 147.50 122.50 3.10365 - 77.50 147.50 127.50 3.98926 - 77.50 147.50 132.50 4.07565 - 77.50 147.50 137.50 3.37367 - 77.50 147.50 142.50 2.22831 - 77.50 147.50 147.50 1.1898 - 77.50 147.50 152.50 0.59648 - 77.50 147.50 157.50 0.318722 - 77.50 147.50 162.50 0.18127 - 77.50 147.50 167.50 0.111016 - 77.50 147.50 172.50 0.0865846 - 77.50 147.50 177.50 0.0834134 - 77.50 147.50 182.50 0.0808849 - 77.50 147.50 187.50 0.128762 - 77.50 147.50 192.50 0.298984 - 77.50 147.50 197.50 0.605834 - 77.50 147.50 202.50 1.08813 - 77.50 147.50 207.50 1.9463 - 77.50 147.50 212.50 3.10365 - 77.50 147.50 217.50 3.98926 - 77.50 147.50 222.50 4.07565 - 77.50 147.50 227.50 3.37367 - 77.50 147.50 232.50 2.22831 - 77.50 147.50 237.50 1.1898 - 77.50 147.50 242.50 0.596479 - 77.50 147.50 247.50 0.318722 - 77.50 147.50 252.50 0.18127 - 77.50 147.50 257.50 0.111015 - 77.50 147.50 262.50 0.0865845 - 77.50 147.50 267.50 0.0834133 - 77.50 147.50 272.50 0.080885 - 77.50 147.50 277.50 0.128762 - 77.50 147.50 282.50 0.298984 - 77.50 147.50 287.50 0.605833 - 77.50 147.50 292.50 1.08813 - 77.50 147.50 297.50 1.9463 - 77.50 147.50 302.50 3.10365 - 77.50 147.50 307.50 3.98926 - 77.50 147.50 312.50 4.07566 - 77.50 147.50 317.50 3.37367 - 77.50 147.50 322.50 2.22831 - 77.50 147.50 327.50 1.1898 - 77.50 147.50 332.50 0.596481 - 77.50 147.50 337.50 0.318723 - 77.50 147.50 342.50 0.18127 - 77.50 147.50 347.50 0.111016 - 77.50 147.50 352.50 0.0865845 - 77.50 147.50 357.50 0.0834134 - 77.50 152.50 2.50 0.120114 - 77.50 152.50 7.50 0.165638 - 77.50 152.50 12.50 0.370235 - 77.50 152.50 17.50 0.736702 - 77.50 152.50 22.50 1.36108 - 77.50 152.50 27.50 2.39178 - 77.50 152.50 32.50 3.66089 - 77.50 152.50 37.50 4.68617 - 77.50 152.50 42.50 4.88608 - 77.50 152.50 47.50 4.10746 - 77.50 152.50 52.50 2.76555 - 77.50 152.50 57.50 1.5877 - 77.50 152.50 62.50 0.877345 - 77.50 152.50 67.50 0.544435 - 77.50 152.50 72.50 0.392575 - 77.50 152.50 77.50 0.274827 - 77.50 152.50 82.50 0.188216 - 77.50 152.50 87.50 0.139043 - 77.50 152.50 92.50 0.120114 - 77.50 152.50 97.50 0.165638 - 77.50 152.50 102.50 0.370236 - 77.50 152.50 107.50 0.736702 - 77.50 152.50 112.50 1.36108 - 77.50 152.50 117.50 2.39179 - 77.50 152.50 122.50 3.66089 - 77.50 152.50 127.50 4.68617 - 77.50 152.50 132.50 4.88608 - 77.50 152.50 137.50 4.10746 - 77.50 152.50 142.50 2.76555 - 77.50 152.50 147.50 1.5877 - 77.50 152.50 152.50 0.877346 - 77.50 152.50 157.50 0.544435 - 77.50 152.50 162.50 0.392575 - 77.50 152.50 167.50 0.274827 - 77.50 152.50 172.50 0.188216 - 77.50 152.50 177.50 0.139043 - 77.50 152.50 182.50 0.120114 - 77.50 152.50 187.50 0.165638 - 77.50 152.50 192.50 0.370236 - 77.50 152.50 197.50 0.736702 - 77.50 152.50 202.50 1.36108 - 77.50 152.50 207.50 2.39178 - 77.50 152.50 212.50 3.66089 - 77.50 152.50 217.50 4.68617 - 77.50 152.50 222.50 4.88608 - 77.50 152.50 227.50 4.10746 - 77.50 152.50 232.50 2.76555 - 77.50 152.50 237.50 1.5877 - 77.50 152.50 242.50 0.877345 - 77.50 152.50 247.50 0.544435 - 77.50 152.50 252.50 0.392575 - 77.50 152.50 257.50 0.274827 - 77.50 152.50 262.50 0.188216 - 77.50 152.50 267.50 0.139043 - 77.50 152.50 272.50 0.120114 - 77.50 152.50 277.50 0.165638 - 77.50 152.50 282.50 0.370235 - 77.50 152.50 287.50 0.736702 - 77.50 152.50 292.50 1.36108 - 77.50 152.50 297.50 2.39178 - 77.50 152.50 302.50 3.66089 - 77.50 152.50 307.50 4.68617 - 77.50 152.50 312.50 4.88608 - 77.50 152.50 317.50 4.10746 - 77.50 152.50 322.50 2.76555 - 77.50 152.50 327.50 1.58771 - 77.50 152.50 332.50 0.877347 - 77.50 152.50 337.50 0.544436 - 77.50 152.50 342.50 0.392575 - 77.50 152.50 347.50 0.274827 - 77.50 152.50 352.50 0.188216 - 77.50 152.50 357.50 0.139043 - 77.50 157.50 2.50 0.151509 - 77.50 157.50 7.50 0.163149 - 77.50 157.50 12.50 0.338627 - 77.50 157.50 17.50 0.660137 - 77.50 157.50 22.50 1.23538 - 77.50 157.50 27.50 2.11979 - 77.50 157.50 32.50 3.18725 - 77.50 157.50 37.50 4.03103 - 77.50 157.50 42.50 4.26268 - 77.50 157.50 47.50 3.69947 - 77.50 157.50 52.50 2.543 - 77.50 157.50 57.50 1.56999 - 77.50 157.50 62.50 0.994932 - 77.50 157.50 67.50 0.756146 - 77.50 157.50 72.50 0.657065 - 77.50 157.50 77.50 0.520586 - 77.50 157.50 82.50 0.342609 - 77.50 157.50 87.50 0.213904 - 77.50 157.50 92.50 0.151509 - 77.50 157.50 97.50 0.163149 - 77.50 157.50 102.50 0.338627 - 77.50 157.50 107.50 0.660137 - 77.50 157.50 112.50 1.23538 - 77.50 157.50 117.50 2.11979 - 77.50 157.50 122.50 3.18726 - 77.50 157.50 127.50 4.03102 - 77.50 157.50 132.50 4.26268 - 77.50 157.50 137.50 3.69947 - 77.50 157.50 142.50 2.543 - 77.50 157.50 147.50 1.56999 - 77.50 157.50 152.50 0.994933 - 77.50 157.50 157.50 0.756146 - 77.50 157.50 162.50 0.657065 - 77.50 157.50 167.50 0.520586 - 77.50 157.50 172.50 0.342609 - 77.50 157.50 177.50 0.213904 - 77.50 157.50 182.50 0.151509 - 77.50 157.50 187.50 0.163149 - 77.50 157.50 192.50 0.338627 - 77.50 157.50 197.50 0.660137 - 77.50 157.50 202.50 1.23538 - 77.50 157.50 207.50 2.11979 - 77.50 157.50 212.50 3.18725 - 77.50 157.50 217.50 4.03102 - 77.50 157.50 222.50 4.26268 - 77.50 157.50 227.50 3.69947 - 77.50 157.50 232.50 2.54299 - 77.50 157.50 237.50 1.56999 - 77.50 157.50 242.50 0.994932 - 77.50 157.50 247.50 0.756146 - 77.50 157.50 252.50 0.657065 - 77.50 157.50 257.50 0.520585 - 77.50 157.50 262.50 0.342609 - 77.50 157.50 267.50 0.213904 - 77.50 157.50 272.50 0.151509 - 77.50 157.50 277.50 0.163149 - 77.50 157.50 282.50 0.338627 - 77.50 157.50 287.50 0.660137 - 77.50 157.50 292.50 1.23538 - 77.50 157.50 297.50 2.11979 - 77.50 157.50 302.50 3.18725 - 77.50 157.50 307.50 4.03102 - 77.50 157.50 312.50 4.26268 - 77.50 157.50 317.50 3.69947 - 77.50 157.50 322.50 2.543 - 77.50 157.50 327.50 1.56999 - 77.50 157.50 332.50 0.994933 - 77.50 157.50 337.50 0.756146 - 77.50 157.50 342.50 0.657065 - 77.50 157.50 347.50 0.520586 - 77.50 157.50 352.50 0.342609 - 77.50 157.50 357.50 0.213904 - 77.50 162.50 2.50 0.200246 - 77.50 162.50 7.50 0.162877 - 77.50 162.50 12.50 0.271564 - 77.50 162.50 17.50 0.529187 - 77.50 162.50 22.50 0.900622 - 77.50 162.50 27.50 1.45356 - 77.50 162.50 32.50 2.08212 - 77.50 162.50 37.50 2.63506 - 77.50 162.50 42.50 2.83112 - 77.50 162.50 47.50 2.43961 - 77.50 162.50 52.50 1.76351 - 77.50 162.50 57.50 1.21643 - 77.50 162.50 62.50 0.915795 - 77.50 162.50 67.50 0.84462 - 77.50 162.50 72.50 0.8701 - 77.50 162.50 77.50 0.741939 - 77.50 162.50 82.50 0.51311 - 77.50 162.50 87.50 0.322734 - 77.50 162.50 92.50 0.200246 - 77.50 162.50 97.50 0.162877 - 77.50 162.50 102.50 0.271564 - 77.50 162.50 107.50 0.529187 - 77.50 162.50 112.50 0.900622 - 77.50 162.50 117.50 1.45356 - 77.50 162.50 122.50 2.08212 - 77.50 162.50 127.50 2.63506 - 77.50 162.50 132.50 2.83112 - 77.50 162.50 137.50 2.43961 - 77.50 162.50 142.50 1.76351 - 77.50 162.50 147.50 1.21643 - 77.50 162.50 152.50 0.915796 - 77.50 162.50 157.50 0.84462 - 77.50 162.50 162.50 0.8701 - 77.50 162.50 167.50 0.741938 - 77.50 162.50 172.50 0.51311 - 77.50 162.50 177.50 0.322734 - 77.50 162.50 182.50 0.200246 - 77.50 162.50 187.50 0.162877 - 77.50 162.50 192.50 0.271564 - 77.50 162.50 197.50 0.529187 - 77.50 162.50 202.50 0.900622 - 77.50 162.50 207.50 1.45356 - 77.50 162.50 212.50 2.08212 - 77.50 162.50 217.50 2.63506 - 77.50 162.50 222.50 2.83112 - 77.50 162.50 227.50 2.43961 - 77.50 162.50 232.50 1.76351 - 77.50 162.50 237.50 1.21643 - 77.50 162.50 242.50 0.915795 - 77.50 162.50 247.50 0.84462 - 77.50 162.50 252.50 0.870101 - 77.50 162.50 257.50 0.741938 - 77.50 162.50 262.50 0.51311 - 77.50 162.50 267.50 0.322734 - 77.50 162.50 272.50 0.200246 - 77.50 162.50 277.50 0.162877 - 77.50 162.50 282.50 0.271564 - 77.50 162.50 287.50 0.529187 - 77.50 162.50 292.50 0.900621 - 77.50 162.50 297.50 1.45356 - 77.50 162.50 302.50 2.08212 - 77.50 162.50 307.50 2.63506 - 77.50 162.50 312.50 2.83112 - 77.50 162.50 317.50 2.43961 - 77.50 162.50 322.50 1.76351 - 77.50 162.50 327.50 1.21643 - 77.50 162.50 332.50 0.915796 - 77.50 162.50 337.50 0.84462 - 77.50 162.50 342.50 0.8701 - 77.50 162.50 347.50 0.741939 - 77.50 162.50 352.50 0.51311 - 77.50 162.50 357.50 0.322734 - 77.50 167.50 2.50 0.244703 - 77.50 167.50 7.50 0.170695 - 77.50 167.50 12.50 0.211335 - 77.50 167.50 17.50 0.403469 - 77.50 167.50 22.50 0.645138 - 77.50 167.50 27.50 0.875551 - 77.50 167.50 32.50 1.09907 - 77.50 167.50 37.50 1.33038 - 77.50 167.50 42.50 1.43216 - 77.50 167.50 47.50 1.30328 - 77.50 167.50 52.50 1.01527 - 77.50 167.50 57.50 0.733604 - 77.50 167.50 62.50 0.614572 - 77.50 167.50 67.50 0.757982 - 77.50 167.50 72.50 0.904767 - 77.50 167.50 77.50 0.848715 - 77.50 167.50 82.50 0.628789 - 77.50 167.50 87.50 0.41502 - 77.50 167.50 92.50 0.244703 - 77.50 167.50 97.50 0.170695 - 77.50 167.50 102.50 0.211335 - 77.50 167.50 107.50 0.403469 - 77.50 167.50 112.50 0.645139 - 77.50 167.50 117.50 0.875551 - 77.50 167.50 122.50 1.09907 - 77.50 167.50 127.50 1.33038 - 77.50 167.50 132.50 1.43216 - 77.50 167.50 137.50 1.30328 - 77.50 167.50 142.50 1.01527 - 77.50 167.50 147.50 0.733604 - 77.50 167.50 152.50 0.614572 - 77.50 167.50 157.50 0.757982 - 77.50 167.50 162.50 0.904768 - 77.50 167.50 167.50 0.848716 - 77.50 167.50 172.50 0.628789 - 77.50 167.50 177.50 0.41502 - 77.50 167.50 182.50 0.244703 - 77.50 167.50 187.50 0.170695 - 77.50 167.50 192.50 0.211335 - 77.50 167.50 197.50 0.403468 - 77.50 167.50 202.50 0.645139 - 77.50 167.50 207.50 0.875551 - 77.50 167.50 212.50 1.09907 - 77.50 167.50 217.50 1.33038 - 77.50 167.50 222.50 1.43216 - 77.50 167.50 227.50 1.30328 - 77.50 167.50 232.50 1.01527 - 77.50 167.50 237.50 0.733604 - 77.50 167.50 242.50 0.614572 - 77.50 167.50 247.50 0.757982 - 77.50 167.50 252.50 0.904768 - 77.50 167.50 257.50 0.848715 - 77.50 167.50 262.50 0.628788 - 77.50 167.50 267.50 0.415019 - 77.50 167.50 272.50 0.244703 - 77.50 167.50 277.50 0.170695 - 77.50 167.50 282.50 0.211335 - 77.50 167.50 287.50 0.403468 - 77.50 167.50 292.50 0.645138 - 77.50 167.50 297.50 0.875551 - 77.50 167.50 302.50 1.09907 - 77.50 167.50 307.50 1.33038 - 77.50 167.50 312.50 1.43216 - 77.50 167.50 317.50 1.30328 - 77.50 167.50 322.50 1.01527 - 77.50 167.50 327.50 0.733604 - 77.50 167.50 332.50 0.614572 - 77.50 167.50 337.50 0.757982 - 77.50 167.50 342.50 0.904768 - 77.50 167.50 347.50 0.848716 - 77.50 167.50 352.50 0.628789 - 77.50 167.50 357.50 0.41502 - 77.50 172.50 2.50 0.230709 - 77.50 172.50 7.50 0.145288 - 77.50 172.50 12.50 0.159494 - 77.50 172.50 17.50 0.242567 - 77.50 172.50 22.50 0.370092 - 77.50 172.50 27.50 0.457379 - 77.50 172.50 32.50 0.512493 - 77.50 172.50 37.50 0.574048 - 77.50 172.50 42.50 0.597213 - 77.50 172.50 47.50 0.543761 - 77.50 172.50 52.50 0.430596 - 77.50 172.50 57.50 0.335433 - 77.50 172.50 62.50 0.371627 - 77.50 172.50 67.50 0.567897 - 77.50 172.50 72.50 0.794106 - 77.50 172.50 77.50 0.838584 - 77.50 172.50 82.50 0.681812 - 77.50 172.50 87.50 0.427284 - 77.50 172.50 92.50 0.230709 - 77.50 172.50 97.50 0.145288 - 77.50 172.50 102.50 0.159494 - 77.50 172.50 107.50 0.242567 - 77.50 172.50 112.50 0.370093 - 77.50 172.50 117.50 0.457379 - 77.50 172.50 122.50 0.512494 - 77.50 172.50 127.50 0.574048 - 77.50 172.50 132.50 0.597213 - 77.50 172.50 137.50 0.543761 - 77.50 172.50 142.50 0.430596 - 77.50 172.50 147.50 0.335433 - 77.50 172.50 152.50 0.371627 - 77.50 172.50 157.50 0.567897 - 77.50 172.50 162.50 0.794106 - 77.50 172.50 167.50 0.838584 - 77.50 172.50 172.50 0.681812 - 77.50 172.50 177.50 0.427284 - 77.50 172.50 182.50 0.230709 - 77.50 172.50 187.50 0.145288 - 77.50 172.50 192.50 0.159494 - 77.50 172.50 197.50 0.242567 - 77.50 172.50 202.50 0.370093 - 77.50 172.50 207.50 0.457379 - 77.50 172.50 212.50 0.512493 - 77.50 172.50 217.50 0.574047 - 77.50 172.50 222.50 0.597214 - 77.50 172.50 227.50 0.543762 - 77.50 172.50 232.50 0.430596 - 77.50 172.50 237.50 0.335433 - 77.50 172.50 242.50 0.371628 - 77.50 172.50 247.50 0.567898 - 77.50 172.50 252.50 0.794106 - 77.50 172.50 257.50 0.838583 - 77.50 172.50 262.50 0.681812 - 77.50 172.50 267.50 0.427284 - 77.50 172.50 272.50 0.230709 - 77.50 172.50 277.50 0.145288 - 77.50 172.50 282.50 0.159494 - 77.50 172.50 287.50 0.242567 - 77.50 172.50 292.50 0.370092 - 77.50 172.50 297.50 0.457379 - 77.50 172.50 302.50 0.512493 - 77.50 172.50 307.50 0.574048 - 77.50 172.50 312.50 0.597214 - 77.50 172.50 317.50 0.543762 - 77.50 172.50 322.50 0.430597 - 77.50 172.50 327.50 0.335433 - 77.50 172.50 332.50 0.371628 - 77.50 172.50 337.50 0.567896 - 77.50 172.50 342.50 0.794106 - 77.50 172.50 347.50 0.838584 - 77.50 172.50 352.50 0.681812 - 77.50 172.50 357.50 0.427285 - 77.50 177.50 2.50 0.172972 - 77.50 177.50 7.50 0.0902107 - 77.50 177.50 12.50 0.085531 - 77.50 177.50 17.50 0.118387 - 77.50 177.50 22.50 0.156691 - 77.50 177.50 27.50 0.174066 - 77.50 177.50 32.50 0.174826 - 77.50 177.50 37.50 0.187044 - 77.50 177.50 42.50 0.189423 - 77.50 177.50 47.50 0.164881 - 77.50 177.50 52.50 0.126409 - 77.50 177.50 57.50 0.112652 - 77.50 177.50 62.50 0.180691 - 77.50 177.50 67.50 0.393842 - 77.50 177.50 72.50 0.691078 - 77.50 177.50 77.50 0.837588 - 77.50 177.50 82.50 0.678346 - 77.50 177.50 87.50 0.381827 - 77.50 177.50 92.50 0.172972 - 77.50 177.50 97.50 0.0902106 - 77.50 177.50 102.50 0.085531 - 77.50 177.50 107.50 0.118387 - 77.50 177.50 112.50 0.156691 - 77.50 177.50 117.50 0.174066 - 77.50 177.50 122.50 0.174826 - 77.50 177.50 127.50 0.187044 - 77.50 177.50 132.50 0.189423 - 77.50 177.50 137.50 0.164881 - 77.50 177.50 142.50 0.126409 - 77.50 177.50 147.50 0.112652 - 77.50 177.50 152.50 0.180691 - 77.50 177.50 157.50 0.393842 - 77.50 177.50 162.50 0.691079 - 77.50 177.50 167.50 0.837588 - 77.50 177.50 172.50 0.678346 - 77.50 177.50 177.50 0.381828 - 77.50 177.50 182.50 0.172971 - 77.50 177.50 187.50 0.0902107 - 77.50 177.50 192.50 0.085531 - 77.50 177.50 197.50 0.118386 - 77.50 177.50 202.50 0.156691 - 77.50 177.50 207.50 0.174066 - 77.50 177.50 212.50 0.174826 - 77.50 177.50 217.50 0.187044 - 77.50 177.50 222.50 0.189423 - 77.50 177.50 227.50 0.164881 - 77.50 177.50 232.50 0.126409 - 77.50 177.50 237.50 0.112652 - 77.50 177.50 242.50 0.180691 - 77.50 177.50 247.50 0.393843 - 77.50 177.50 252.50 0.691079 - 77.50 177.50 257.50 0.837588 - 77.50 177.50 262.50 0.678346 - 77.50 177.50 267.50 0.381827 - 77.50 177.50 272.50 0.172972 - 77.50 177.50 277.50 0.0902107 - 77.50 177.50 282.50 0.0855309 - 77.50 177.50 287.50 0.118386 - 77.50 177.50 292.50 0.156691 - 77.50 177.50 297.50 0.174066 - 77.50 177.50 302.50 0.174826 - 77.50 177.50 307.50 0.187044 - 77.50 177.50 312.50 0.189423 - 77.50 177.50 317.50 0.164882 - 77.50 177.50 322.50 0.126409 - 77.50 177.50 327.50 0.112652 - 77.50 177.50 332.50 0.180691 - 77.50 177.50 337.50 0.393842 - 77.50 177.50 342.50 0.691078 - 77.50 177.50 347.50 0.837588 - 77.50 177.50 352.50 0.678347 - 77.50 177.50 357.50 0.381828 - 82.50 2.50 2.50 0.393272 - 82.50 2.50 7.50 0.773179 - 82.50 2.50 12.50 0.980506 - 82.50 2.50 17.50 0.773178 - 82.50 2.50 22.50 0.393272 - 82.50 2.50 27.50 0.149977 - 82.50 2.50 32.50 0.0624686 - 82.50 2.50 37.50 0.0485219 - 82.50 2.50 42.50 0.0601603 - 82.50 2.50 47.50 0.0760385 - 82.50 2.50 52.50 0.083846 - 82.50 2.50 57.50 0.084539 - 82.50 2.50 62.50 0.083846 - 82.50 2.50 67.50 0.0760385 - 82.50 2.50 72.50 0.0601603 - 82.50 2.50 77.50 0.0485219 - 82.50 2.50 82.50 0.0624686 - 82.50 2.50 87.50 0.149977 - 82.50 2.50 92.50 0.393273 - 82.50 2.50 97.50 0.773179 - 82.50 2.50 102.50 0.980506 - 82.50 2.50 107.50 0.773179 - 82.50 2.50 112.50 0.393272 - 82.50 2.50 117.50 0.149977 - 82.50 2.50 122.50 0.0624685 - 82.50 2.50 127.50 0.0485219 - 82.50 2.50 132.50 0.0601603 - 82.50 2.50 137.50 0.0760385 - 82.50 2.50 142.50 0.083846 - 82.50 2.50 147.50 0.084539 - 82.50 2.50 152.50 0.083846 - 82.50 2.50 157.50 0.0760385 - 82.50 2.50 162.50 0.0601603 - 82.50 2.50 167.50 0.048522 - 82.50 2.50 172.50 0.0624686 - 82.50 2.50 177.50 0.149977 - 82.50 2.50 182.50 0.393273 - 82.50 2.50 187.50 0.773179 - 82.50 2.50 192.50 0.980545 - 82.50 2.50 197.50 0.773178 - 82.50 2.50 202.50 0.393272 - 82.50 2.50 207.50 0.149977 - 82.50 2.50 212.50 0.0624686 - 82.50 2.50 217.50 0.0485219 - 82.50 2.50 222.50 0.0601603 - 82.50 2.50 227.50 0.0760385 - 82.50 2.50 232.50 0.083846 - 82.50 2.50 237.50 0.084539 - 82.50 2.50 242.50 0.083846 - 82.50 2.50 247.50 0.0760385 - 82.50 2.50 252.50 0.0601603 - 82.50 2.50 257.50 0.0485219 - 82.50 2.50 262.50 0.0624686 - 82.50 2.50 267.50 0.149977 - 82.50 2.50 272.50 0.393273 - 82.50 2.50 277.50 0.773179 - 82.50 2.50 282.50 0.980506 - 82.50 2.50 287.50 0.773179 - 82.50 2.50 292.50 0.393272 - 82.50 2.50 297.50 0.149977 - 82.50 2.50 302.50 0.0624686 - 82.50 2.50 307.50 0.0485219 - 82.50 2.50 312.50 0.0601603 - 82.50 2.50 317.50 0.0760385 - 82.50 2.50 322.50 0.083846 - 82.50 2.50 327.50 0.084539 - 82.50 2.50 332.50 0.083846 - 82.50 2.50 337.50 0.0760386 - 82.50 2.50 342.50 0.0601604 - 82.50 2.50 347.50 0.048522 - 82.50 2.50 352.50 0.0624684 - 82.50 2.50 357.50 0.149976 - 82.50 7.50 2.50 0.382022 - 82.50 7.50 7.50 0.676164 - 82.50 7.50 12.50 0.831023 - 82.50 7.50 17.50 0.683201 - 82.50 7.50 22.50 0.389547 - 82.50 7.50 27.50 0.179049 - 82.50 7.50 32.50 0.0996234 - 82.50 7.50 37.50 0.109341 - 82.50 7.50 42.50 0.149476 - 82.50 7.50 47.50 0.183936 - 82.50 7.50 52.50 0.190282 - 82.50 7.50 57.50 0.179472 - 82.50 7.50 62.50 0.172035 - 82.50 7.50 67.50 0.162391 - 82.50 7.50 72.50 0.129792 - 82.50 7.50 77.50 0.0946782 - 82.50 7.50 82.50 0.094188 - 82.50 7.50 87.50 0.174053 - 82.50 7.50 92.50 0.382023 - 82.50 7.50 97.50 0.676164 - 82.50 7.50 102.50 0.831023 - 82.50 7.50 107.50 0.683201 - 82.50 7.50 112.50 0.389547 - 82.50 7.50 117.50 0.179049 - 82.50 7.50 122.50 0.0996234 - 82.50 7.50 127.50 0.109341 - 82.50 7.50 132.50 0.149476 - 82.50 7.50 137.50 0.183936 - 82.50 7.50 142.50 0.190282 - 82.50 7.50 147.50 0.179472 - 82.50 7.50 152.50 0.172035 - 82.50 7.50 157.50 0.162391 - 82.50 7.50 162.50 0.129792 - 82.50 7.50 167.50 0.0946782 - 82.50 7.50 172.50 0.094188 - 82.50 7.50 177.50 0.174053 - 82.50 7.50 182.50 0.382023 - 82.50 7.50 187.50 0.676164 - 82.50 7.50 192.50 0.831023 - 82.50 7.50 197.50 0.683201 - 82.50 7.50 202.50 0.389547 - 82.50 7.50 207.50 0.17905 - 82.50 7.50 212.50 0.0996235 - 82.50 7.50 217.50 0.109341 - 82.50 7.50 222.50 0.149476 - 82.50 7.50 227.50 0.183936 - 82.50 7.50 232.50 0.190282 - 82.50 7.50 237.50 0.179472 - 82.50 7.50 242.50 0.172036 - 82.50 7.50 247.50 0.16239 - 82.50 7.50 252.50 0.129792 - 82.50 7.50 257.50 0.0946781 - 82.50 7.50 262.50 0.094188 - 82.50 7.50 267.50 0.174053 - 82.50 7.50 272.50 0.382023 - 82.50 7.50 277.50 0.676164 - 82.50 7.50 282.50 0.831023 - 82.50 7.50 287.50 0.683201 - 82.50 7.50 292.50 0.389547 - 82.50 7.50 297.50 0.17905 - 82.50 7.50 302.50 0.0996235 - 82.50 7.50 307.50 0.109341 - 82.50 7.50 312.50 0.149476 - 82.50 7.50 317.50 0.183936 - 82.50 7.50 322.50 0.190282 - 82.50 7.50 327.50 0.179472 - 82.50 7.50 332.50 0.172036 - 82.50 7.50 337.50 0.162391 - 82.50 7.50 342.50 0.129792 - 82.50 7.50 347.50 0.0946782 - 82.50 7.50 352.50 0.0941879 - 82.50 7.50 357.50 0.174053 - 82.50 12.50 2.50 0.429837 - 82.50 12.50 7.50 0.676991 - 82.50 12.50 12.50 0.813809 - 82.50 12.50 17.50 0.722749 - 82.50 12.50 22.50 0.516294 - 82.50 12.50 27.50 0.333601 - 82.50 12.50 32.50 0.288579 - 82.50 12.50 37.50 0.365722 - 82.50 12.50 42.50 0.488365 - 82.50 12.50 47.50 0.572373 - 82.50 12.50 52.50 0.575784 - 82.50 12.50 57.50 0.532107 - 82.50 12.50 62.50 0.487628 - 82.50 12.50 67.50 0.422649 - 82.50 12.50 72.50 0.31191 - 82.50 12.50 77.50 0.192409 - 82.50 12.50 82.50 0.159389 - 82.50 12.50 87.50 0.235639 - 82.50 12.50 92.50 0.429838 - 82.50 12.50 97.50 0.676991 - 82.50 12.50 102.50 0.813808 - 82.50 12.50 107.50 0.72275 - 82.50 12.50 112.50 0.516293 - 82.50 12.50 117.50 0.333601 - 82.50 12.50 122.50 0.288579 - 82.50 12.50 127.50 0.365722 - 82.50 12.50 132.50 0.488365 - 82.50 12.50 137.50 0.572373 - 82.50 12.50 142.50 0.575784 - 82.50 12.50 147.50 0.532107 - 82.50 12.50 152.50 0.487628 - 82.50 12.50 157.50 0.422649 - 82.50 12.50 162.50 0.31191 - 82.50 12.50 167.50 0.192409 - 82.50 12.50 172.50 0.159389 - 82.50 12.50 177.50 0.235639 - 82.50 12.50 182.50 0.429838 - 82.50 12.50 187.50 0.676992 - 82.50 12.50 192.50 0.813809 - 82.50 12.50 197.50 0.72275 - 82.50 12.50 202.50 0.516294 - 82.50 12.50 207.50 0.333601 - 82.50 12.50 212.50 0.288579 - 82.50 12.50 217.50 0.365722 - 82.50 12.50 222.50 0.488365 - 82.50 12.50 227.50 0.572373 - 82.50 12.50 232.50 0.575784 - 82.50 12.50 237.50 0.532107 - 82.50 12.50 242.50 0.487629 - 82.50 12.50 247.50 0.422649 - 82.50 12.50 252.50 0.31191 - 82.50 12.50 257.50 0.192409 - 82.50 12.50 262.50 0.159389 - 82.50 12.50 267.50 0.235639 - 82.50 12.50 272.50 0.429838 - 82.50 12.50 277.50 0.676991 - 82.50 12.50 282.50 0.813809 - 82.50 12.50 287.50 0.72275 - 82.50 12.50 292.50 0.516294 - 82.50 12.50 297.50 0.333601 - 82.50 12.50 302.50 0.288579 - 82.50 12.50 307.50 0.365722 - 82.50 12.50 312.50 0.488365 - 82.50 12.50 317.50 0.572373 - 82.50 12.50 322.50 0.575784 - 82.50 12.50 327.50 0.532107 - 82.50 12.50 332.50 0.487628 - 82.50 12.50 337.50 0.42265 - 82.50 12.50 342.50 0.311911 - 82.50 12.50 347.50 0.192409 - 82.50 12.50 352.50 0.159389 - 82.50 12.50 357.50 0.235639 - 82.50 17.50 2.50 0.422612 - 82.50 17.50 7.50 0.61695 - 82.50 17.50 12.50 0.752468 - 82.50 17.50 17.50 0.793546 - 82.50 17.50 22.50 0.664736 - 82.50 17.50 27.50 0.523012 - 82.50 17.50 32.50 0.549046 - 82.50 17.50 37.50 0.813274 - 82.50 17.50 42.50 1.12062 - 82.50 17.50 47.50 1.34198 - 82.50 17.50 52.50 1.35538 - 82.50 17.50 57.50 1.19043 - 82.50 17.50 62.50 0.958855 - 82.50 17.50 67.50 0.755381 - 82.50 17.50 72.50 0.533063 - 82.50 17.50 77.50 0.326764 - 82.50 17.50 82.50 0.20374 - 82.50 17.50 87.50 0.257716 - 82.50 17.50 92.50 0.422612 - 82.50 17.50 97.50 0.61695 - 82.50 17.50 102.50 0.752467 - 82.50 17.50 107.50 0.793547 - 82.50 17.50 112.50 0.664736 - 82.50 17.50 117.50 0.523012 - 82.50 17.50 122.50 0.549046 - 82.50 17.50 127.50 0.813274 - 82.50 17.50 132.50 1.12062 - 82.50 17.50 137.50 1.34198 - 82.50 17.50 142.50 1.35538 - 82.50 17.50 147.50 1.19043 - 82.50 17.50 152.50 0.958855 - 82.50 17.50 157.50 0.755381 - 82.50 17.50 162.50 0.533063 - 82.50 17.50 167.50 0.326764 - 82.50 17.50 172.50 0.20374 - 82.50 17.50 177.50 0.257716 - 82.50 17.50 182.50 0.422612 - 82.50 17.50 187.50 0.61695 - 82.50 17.50 192.50 0.752468 - 82.50 17.50 197.50 0.793547 - 82.50 17.50 202.50 0.664736 - 82.50 17.50 207.50 0.523012 - 82.50 17.50 212.50 0.549046 - 82.50 17.50 217.50 0.813273 - 82.50 17.50 222.50 1.12062 - 82.50 17.50 227.50 1.34198 - 82.50 17.50 232.50 1.35538 - 82.50 17.50 237.50 1.19043 - 82.50 17.50 242.50 0.958855 - 82.50 17.50 247.50 0.755381 - 82.50 17.50 252.50 0.533063 - 82.50 17.50 257.50 0.326764 - 82.50 17.50 262.50 0.20374 - 82.50 17.50 267.50 0.257716 - 82.50 17.50 272.50 0.422612 - 82.50 17.50 277.50 0.61695 - 82.50 17.50 282.50 0.752468 - 82.50 17.50 287.50 0.793547 - 82.50 17.50 292.50 0.664736 - 82.50 17.50 297.50 0.523012 - 82.50 17.50 302.50 0.549046 - 82.50 17.50 307.50 0.813273 - 82.50 17.50 312.50 1.12062 - 82.50 17.50 317.50 1.34198 - 82.50 17.50 322.50 1.35538 - 82.50 17.50 327.50 1.19043 - 82.50 17.50 332.50 0.958856 - 82.50 17.50 337.50 0.755382 - 82.50 17.50 342.50 0.533064 - 82.50 17.50 347.50 0.326764 - 82.50 17.50 352.50 0.20374 - 82.50 17.50 357.50 0.257716 - 82.50 22.50 2.50 0.335764 - 82.50 22.50 7.50 0.477904 - 82.50 22.50 12.50 0.634357 - 82.50 22.50 17.50 0.734155 - 82.50 22.50 22.50 0.68921 - 82.50 22.50 27.50 0.688366 - 82.50 22.50 32.50 0.936155 - 82.50 22.50 37.50 1.39061 - 82.50 22.50 42.50 1.99347 - 82.50 22.50 47.50 2.53465 - 82.50 22.50 52.50 2.64716 - 82.50 22.50 57.50 2.2721 - 82.50 22.50 62.50 1.72951 - 82.50 22.50 67.50 1.16572 - 82.50 22.50 72.50 0.700174 - 82.50 22.50 77.50 0.416464 - 82.50 22.50 82.50 0.242003 - 82.50 22.50 87.50 0.222832 - 82.50 22.50 92.50 0.335764 - 82.50 22.50 97.50 0.477904 - 82.50 22.50 102.50 0.634357 - 82.50 22.50 107.50 0.734155 - 82.50 22.50 112.50 0.689209 - 82.50 22.50 117.50 0.688366 - 82.50 22.50 122.50 0.936156 - 82.50 22.50 127.50 1.39061 - 82.50 22.50 132.50 1.99347 - 82.50 22.50 137.50 2.53465 - 82.50 22.50 142.50 2.64716 - 82.50 22.50 147.50 2.2721 - 82.50 22.50 152.50 1.72951 - 82.50 22.50 157.50 1.16572 - 82.50 22.50 162.50 0.700174 - 82.50 22.50 167.50 0.416464 - 82.50 22.50 172.50 0.242003 - 82.50 22.50 177.50 0.222832 - 82.50 22.50 182.50 0.335765 - 82.50 22.50 187.50 0.477904 - 82.50 22.50 192.50 0.634357 - 82.50 22.50 197.50 0.734155 - 82.50 22.50 202.50 0.689209 - 82.50 22.50 207.50 0.688366 - 82.50 22.50 212.50 0.936155 - 82.50 22.50 217.50 1.39061 - 82.50 22.50 222.50 1.99347 - 82.50 22.50 227.50 2.53465 - 82.50 22.50 232.50 2.64716 - 82.50 22.50 237.50 2.2721 - 82.50 22.50 242.50 1.72951 - 82.50 22.50 247.50 1.16572 - 82.50 22.50 252.50 0.700174 - 82.50 22.50 257.50 0.416464 - 82.50 22.50 262.50 0.242003 - 82.50 22.50 267.50 0.222832 - 82.50 22.50 272.50 0.335765 - 82.50 22.50 277.50 0.477904 - 82.50 22.50 282.50 0.634357 - 82.50 22.50 287.50 0.734155 - 82.50 22.50 292.50 0.68921 - 82.50 22.50 297.50 0.688366 - 82.50 22.50 302.50 0.936155 - 82.50 22.50 307.50 1.39061 - 82.50 22.50 312.50 1.99347 - 82.50 22.50 317.50 2.53465 - 82.50 22.50 322.50 2.64716 - 82.50 22.50 327.50 2.2721 - 82.50 22.50 332.50 1.72951 - 82.50 22.50 337.50 1.16572 - 82.50 22.50 342.50 0.700175 - 82.50 22.50 347.50 0.416465 - 82.50 22.50 352.50 0.242003 - 82.50 22.50 357.50 0.222831 - 82.50 27.50 2.50 0.232885 - 82.50 27.50 7.50 0.312194 - 82.50 27.50 12.50 0.432572 - 82.50 27.50 17.50 0.535546 - 82.50 27.50 22.50 0.58027 - 82.50 27.50 27.50 0.737812 - 82.50 27.50 32.50 1.162 - 82.50 27.50 37.50 1.95711 - 82.50 27.50 42.50 3.02182 - 82.50 27.50 47.50 3.91511 - 82.50 27.50 52.50 4.0122 - 82.50 27.50 57.50 3.43765 - 82.50 27.50 62.50 2.51912 - 82.50 27.50 67.50 1.63991 - 82.50 27.50 72.50 0.931929 - 82.50 27.50 77.50 0.487495 - 82.50 27.50 82.50 0.263627 - 82.50 27.50 87.50 0.181176 - 82.50 27.50 92.50 0.232885 - 82.50 27.50 97.50 0.312194 - 82.50 27.50 102.50 0.432572 - 82.50 27.50 107.50 0.535546 - 82.50 27.50 112.50 0.58027 - 82.50 27.50 117.50 0.737812 - 82.50 27.50 122.50 1.162 - 82.50 27.50 127.50 1.95711 - 82.50 27.50 132.50 3.02182 - 82.50 27.50 137.50 3.91511 - 82.50 27.50 142.50 4.0122 - 82.50 27.50 147.50 3.43765 - 82.50 27.50 152.50 2.51912 - 82.50 27.50 157.50 1.63991 - 82.50 27.50 162.50 0.931929 - 82.50 27.50 167.50 0.487495 - 82.50 27.50 172.50 0.263627 - 82.50 27.50 177.50 0.181176 - 82.50 27.50 182.50 0.232885 - 82.50 27.50 187.50 0.312194 - 82.50 27.50 192.50 0.432572 - 82.50 27.50 197.50 0.535546 - 82.50 27.50 202.50 0.58027 - 82.50 27.50 207.50 0.737812 - 82.50 27.50 212.50 1.162 - 82.50 27.50 217.50 1.95711 - 82.50 27.50 222.50 3.02182 - 82.50 27.50 227.50 3.91511 - 82.50 27.50 232.50 4.0122 - 82.50 27.50 237.50 3.43765 - 82.50 27.50 242.50 2.51912 - 82.50 27.50 247.50 1.63991 - 82.50 27.50 252.50 0.931928 - 82.50 27.50 257.50 0.487494 - 82.50 27.50 262.50 0.263627 - 82.50 27.50 267.50 0.181176 - 82.50 27.50 272.50 0.232885 - 82.50 27.50 277.50 0.312194 - 82.50 27.50 282.50 0.432572 - 82.50 27.50 287.50 0.535546 - 82.50 27.50 292.50 0.58027 - 82.50 27.50 297.50 0.737812 - 82.50 27.50 302.50 1.162 - 82.50 27.50 307.50 1.95711 - 82.50 27.50 312.50 3.02182 - 82.50 27.50 317.50 3.9151 - 82.50 27.50 322.50 4.0122 - 82.50 27.50 327.50 3.43765 - 82.50 27.50 332.50 2.51913 - 82.50 27.50 337.50 1.63991 - 82.50 27.50 342.50 0.93193 - 82.50 27.50 347.50 0.487496 - 82.50 27.50 352.50 0.263628 - 82.50 27.50 357.50 0.181176 - 82.50 32.50 2.50 0.164812 - 82.50 32.50 7.50 0.190251 - 82.50 32.50 12.50 0.235401 - 82.50 32.50 17.50 0.303026 - 82.50 32.50 22.50 0.399216 - 82.50 32.50 27.50 0.630826 - 82.50 32.50 32.50 1.17525 - 82.50 32.50 37.50 2.13732 - 82.50 32.50 42.50 3.37602 - 82.50 32.50 47.50 4.37538 - 82.50 32.50 52.50 4.62497 - 82.50 32.50 57.50 3.97256 - 82.50 32.50 62.50 2.84162 - 82.50 32.50 67.50 1.79176 - 82.50 32.50 72.50 1.02476 - 82.50 32.50 77.50 0.521251 - 82.50 32.50 82.50 0.261037 - 82.50 32.50 87.50 0.15525 - 82.50 32.50 92.50 0.164812 - 82.50 32.50 97.50 0.190251 - 82.50 32.50 102.50 0.235401 - 82.50 32.50 107.50 0.303026 - 82.50 32.50 112.50 0.399216 - 82.50 32.50 117.50 0.630826 - 82.50 32.50 122.50 1.17525 - 82.50 32.50 127.50 2.13732 - 82.50 32.50 132.50 3.37602 - 82.50 32.50 137.50 4.37538 - 82.50 32.50 142.50 4.62497 - 82.50 32.50 147.50 3.97256 - 82.50 32.50 152.50 2.84162 - 82.50 32.50 157.50 1.79176 - 82.50 32.50 162.50 1.02476 - 82.50 32.50 167.50 0.521251 - 82.50 32.50 172.50 0.261037 - 82.50 32.50 177.50 0.15525 - 82.50 32.50 182.50 0.164812 - 82.50 32.50 187.50 0.190251 - 82.50 32.50 192.50 0.235401 - 82.50 32.50 197.50 0.303026 - 82.50 32.50 202.50 0.399216 - 82.50 32.50 207.50 0.630826 - 82.50 32.50 212.50 1.17525 - 82.50 32.50 217.50 2.13732 - 82.50 32.50 222.50 3.37602 - 82.50 32.50 227.50 4.37538 - 82.50 32.50 232.50 4.62496 - 82.50 32.50 237.50 3.97256 - 82.50 32.50 242.50 2.84162 - 82.50 32.50 247.50 1.79176 - 82.50 32.50 252.50 1.02476 - 82.50 32.50 257.50 0.521251 - 82.50 32.50 262.50 0.261037 - 82.50 32.50 267.50 0.15525 - 82.50 32.50 272.50 0.164812 - 82.50 32.50 277.50 0.190251 - 82.50 32.50 282.50 0.235401 - 82.50 32.50 287.50 0.303026 - 82.50 32.50 292.50 0.399216 - 82.50 32.50 297.50 0.630826 - 82.50 32.50 302.50 1.17525 - 82.50 32.50 307.50 2.13732 - 82.50 32.50 312.50 3.37602 - 82.50 32.50 317.50 4.37538 - 82.50 32.50 322.50 4.62497 - 82.50 32.50 327.50 3.97256 - 82.50 32.50 332.50 2.84162 - 82.50 32.50 337.50 1.79176 - 82.50 32.50 342.50 1.02476 - 82.50 32.50 347.50 0.521252 - 82.50 32.50 352.50 0.261037 - 82.50 32.50 357.50 0.155251 - 82.50 37.50 2.50 0.110206 - 82.50 37.50 7.50 0.112048 - 82.50 37.50 12.50 0.106707 - 82.50 37.50 17.50 0.137174 - 82.50 37.50 22.50 0.221104 - 82.50 37.50 27.50 0.42978 - 82.50 37.50 32.50 0.880141 - 82.50 37.50 37.50 1.68937 - 82.50 37.50 42.50 2.73012 - 82.50 37.50 47.50 3.54732 - 82.50 37.50 52.50 3.77275 - 82.50 37.50 57.50 3.27578 - 82.50 37.50 62.50 2.31712 - 82.50 37.50 67.50 1.42083 - 82.50 37.50 72.50 0.816355 - 82.50 37.50 77.50 0.433369 - 82.50 37.50 82.50 0.203154 - 82.50 37.50 87.50 0.113682 - 82.50 37.50 92.50 0.110206 - 82.50 37.50 97.50 0.112048 - 82.50 37.50 102.50 0.106707 - 82.50 37.50 107.50 0.137174 - 82.50 37.50 112.50 0.221104 - 82.50 37.50 117.50 0.429781 - 82.50 37.50 122.50 0.880141 - 82.50 37.50 127.50 1.68937 - 82.50 37.50 132.50 2.73012 - 82.50 37.50 137.50 3.54732 - 82.50 37.50 142.50 3.77275 - 82.50 37.50 147.50 3.27578 - 82.50 37.50 152.50 2.31712 - 82.50 37.50 157.50 1.42083 - 82.50 37.50 162.50 0.816355 - 82.50 37.50 167.50 0.433369 - 82.50 37.50 172.50 0.203154 - 82.50 37.50 177.50 0.113683 - 82.50 37.50 182.50 0.110206 - 82.50 37.50 187.50 0.112048 - 82.50 37.50 192.50 0.106707 - 82.50 37.50 197.50 0.137174 - 82.50 37.50 202.50 0.221104 - 82.50 37.50 207.50 0.42978 - 82.50 37.50 212.50 0.880141 - 82.50 37.50 217.50 1.68937 - 82.50 37.50 222.50 2.73012 - 82.50 37.50 227.50 3.54732 - 82.50 37.50 232.50 3.77275 - 82.50 37.50 237.50 3.27578 - 82.50 37.50 242.50 2.31712 - 82.50 37.50 247.50 1.42083 - 82.50 37.50 252.50 0.816354 - 82.50 37.50 257.50 0.433369 - 82.50 37.50 262.50 0.203154 - 82.50 37.50 267.50 0.113682 - 82.50 37.50 272.50 0.110206 - 82.50 37.50 277.50 0.112048 - 82.50 37.50 282.50 0.106707 - 82.50 37.50 287.50 0.137174 - 82.50 37.50 292.50 0.221104 - 82.50 37.50 297.50 0.42978 - 82.50 37.50 302.50 0.880141 - 82.50 37.50 307.50 1.68937 - 82.50 37.50 312.50 2.73012 - 82.50 37.50 317.50 3.54732 - 82.50 37.50 322.50 3.77275 - 82.50 37.50 327.50 3.27578 - 82.50 37.50 332.50 2.31712 - 82.50 37.50 337.50 1.42083 - 82.50 37.50 342.50 0.816355 - 82.50 37.50 347.50 0.43337 - 82.50 37.50 352.50 0.203154 - 82.50 37.50 357.50 0.113683 - 82.50 42.50 2.50 0.0566768 - 82.50 42.50 7.50 0.0561728 - 82.50 42.50 12.50 0.0415526 - 82.50 42.50 17.50 0.0474071 - 82.50 42.50 22.50 0.0906727 - 82.50 42.50 27.50 0.209317 - 82.50 42.50 32.50 0.463991 - 82.50 42.50 37.50 0.917943 - 82.50 42.50 42.50 1.54855 - 82.50 42.50 47.50 2.05118 - 82.50 42.50 52.50 2.17351 - 82.50 42.50 57.50 1.882 - 82.50 42.50 62.50 1.35089 - 82.50 42.50 67.50 0.817294 - 82.50 42.50 72.50 0.479108 - 82.50 42.50 77.50 0.26194 - 82.50 42.50 82.50 0.114879 - 82.50 42.50 87.50 0.0580158 - 82.50 42.50 92.50 0.0566768 - 82.50 42.50 97.50 0.0561728 - 82.50 42.50 102.50 0.0415526 - 82.50 42.50 107.50 0.0474071 - 82.50 42.50 112.50 0.0906727 - 82.50 42.50 117.50 0.209317 - 82.50 42.50 122.50 0.463991 - 82.50 42.50 127.50 0.917944 - 82.50 42.50 132.50 1.54855 - 82.50 42.50 137.50 2.05118 - 82.50 42.50 142.50 2.17351 - 82.50 42.50 147.50 1.882 - 82.50 42.50 152.50 1.35089 - 82.50 42.50 157.50 0.817296 - 82.50 42.50 162.50 0.479108 - 82.50 42.50 167.50 0.26194 - 82.50 42.50 172.50 0.114879 - 82.50 42.50 177.50 0.0580159 - 82.50 42.50 182.50 0.0566768 - 82.50 42.50 187.50 0.0561728 - 82.50 42.50 192.50 0.0415526 - 82.50 42.50 197.50 0.0474071 - 82.50 42.50 202.50 0.0906728 - 82.50 42.50 207.50 0.209317 - 82.50 42.50 212.50 0.463991 - 82.50 42.50 217.50 0.917943 - 82.50 42.50 222.50 1.54855 - 82.50 42.50 227.50 2.05118 - 82.50 42.50 232.50 2.17351 - 82.50 42.50 237.50 1.882 - 82.50 42.50 242.50 1.35089 - 82.50 42.50 247.50 0.817295 - 82.50 42.50 252.50 0.479108 - 82.50 42.50 257.50 0.26194 - 82.50 42.50 262.50 0.114879 - 82.50 42.50 267.50 0.0580158 - 82.50 42.50 272.50 0.0566768 - 82.50 42.50 277.50 0.0561728 - 82.50 42.50 282.50 0.0415527 - 82.50 42.50 287.50 0.0474072 - 82.50 42.50 292.50 0.0906727 - 82.50 42.50 297.50 0.209316 - 82.50 42.50 302.50 0.46399 - 82.50 42.50 307.50 0.917942 - 82.50 42.50 312.50 1.54855 - 82.50 42.50 317.50 2.05118 - 82.50 42.50 322.50 2.17351 - 82.50 42.50 327.50 1.88201 - 82.50 42.50 332.50 1.35089 - 82.50 42.50 337.50 0.817296 - 82.50 42.50 342.50 0.479109 - 82.50 42.50 347.50 0.261941 - 82.50 42.50 352.50 0.11488 - 82.50 42.50 357.50 0.0580159 - 82.50 47.50 2.50 0.0326857 - 82.50 47.50 7.50 0.0345914 - 82.50 47.50 12.50 0.0209977 - 82.50 47.50 17.50 0.0157058 - 82.50 47.50 22.50 0.0280381 - 82.50 47.50 27.50 0.0711574 - 82.50 47.50 32.50 0.152569 - 82.50 47.50 37.50 0.338105 - 82.50 47.50 42.50 0.530006 - 82.50 47.50 47.50 0.790582 - 82.50 47.50 52.50 0.831385 - 82.50 47.50 57.50 0.80583 - 82.50 47.50 62.50 0.56974 - 82.50 47.50 67.50 0.354763 - 82.50 47.50 72.50 0.207285 - 82.50 47.50 77.50 0.114671 - 82.50 47.50 82.50 0.0482187 - 82.50 47.50 87.50 0.0252326 - 82.50 47.50 92.50 0.0326857 - 82.50 47.50 97.50 0.0345915 - 82.50 47.50 102.50 0.0209977 - 82.50 47.50 107.50 0.0157058 - 82.50 47.50 112.50 0.028038 - 82.50 47.50 117.50 0.0711574 - 82.50 47.50 122.50 0.152569 - 82.50 47.50 127.50 0.338105 - 82.50 47.50 132.50 0.530007 - 82.50 47.50 137.50 0.790582 - 82.50 47.50 142.50 0.831385 - 82.50 47.50 147.50 0.80583 - 82.50 47.50 152.50 0.56974 - 82.50 47.50 157.50 0.354763 - 82.50 47.50 162.50 0.207285 - 82.50 47.50 167.50 0.114671 - 82.50 47.50 172.50 0.0482187 - 82.50 47.50 177.50 0.0252326 - 82.50 47.50 182.50 0.0326857 - 82.50 47.50 187.50 0.0345914 - 82.50 47.50 192.50 0.0209977 - 82.50 47.50 197.50 0.0157058 - 82.50 47.50 202.50 0.0280381 - 82.50 47.50 207.50 0.0711574 - 82.50 47.50 212.50 0.152569 - 82.50 47.50 217.50 0.338105 - 82.50 47.50 222.50 0.530006 - 82.50 47.50 227.50 0.790582 - 82.50 47.50 232.50 0.831385 - 82.50 47.50 237.50 0.80583 - 82.50 47.50 242.50 0.56974 - 82.50 47.50 247.50 0.354763 - 82.50 47.50 252.50 0.207284 - 82.50 47.50 257.50 0.114671 - 82.50 47.50 262.50 0.0482186 - 82.50 47.50 267.50 0.0252326 - 82.50 47.50 272.50 0.0326857 - 82.50 47.50 277.50 0.0345915 - 82.50 47.50 282.50 0.0209977 - 82.50 47.50 287.50 0.0157058 - 82.50 47.50 292.50 0.0280381 - 82.50 47.50 297.50 0.0711573 - 82.50 47.50 302.50 0.152569 - 82.50 47.50 307.50 0.338105 - 82.50 47.50 312.50 0.530006 - 82.50 47.50 317.50 0.790581 - 82.50 47.50 322.50 0.831385 - 82.50 47.50 327.50 0.805831 - 82.50 47.50 332.50 0.56974 - 82.50 47.50 337.50 0.354763 - 82.50 47.50 342.50 0.207285 - 82.50 47.50 347.50 0.114671 - 82.50 47.50 352.50 0.0482188 - 82.50 47.50 357.50 0.0252326 - 82.50 52.50 2.50 0.0566768 - 82.50 52.50 7.50 0.057773 - 82.50 52.50 12.50 0.0384049 - 82.50 52.50 17.50 0.0292254 - 82.50 52.50 22.50 0.0274119 - 82.50 52.50 27.50 0.0273174 - 82.50 52.50 32.50 0.040271 - 82.50 52.50 37.50 0.0746005 - 82.50 52.50 42.50 0.120229 - 82.50 52.50 47.50 0.181531 - 82.50 52.50 52.50 0.203694 - 82.50 52.50 57.50 0.229345 - 82.50 52.50 62.50 0.178877 - 82.50 52.50 67.50 0.104541 - 82.50 52.50 72.50 0.0611133 - 82.50 52.50 77.50 0.0357779 - 82.50 52.50 82.50 0.0208145 - 82.50 52.50 87.50 0.0285764 - 82.50 52.50 92.50 0.0566768 - 82.50 52.50 97.50 0.0577729 - 82.50 52.50 102.50 0.0384049 - 82.50 52.50 107.50 0.0292254 - 82.50 52.50 112.50 0.0274119 - 82.50 52.50 117.50 0.0273174 - 82.50 52.50 122.50 0.0402711 - 82.50 52.50 127.50 0.0746005 - 82.50 52.50 132.50 0.120229 - 82.50 52.50 137.50 0.181531 - 82.50 52.50 142.50 0.203694 - 82.50 52.50 147.50 0.229346 - 82.50 52.50 152.50 0.178877 - 82.50 52.50 157.50 0.104541 - 82.50 52.50 162.50 0.0611133 - 82.50 52.50 167.50 0.0357779 - 82.50 52.50 172.50 0.0208145 - 82.50 52.50 177.50 0.0285764 - 82.50 52.50 182.50 0.0566768 - 82.50 52.50 187.50 0.0577729 - 82.50 52.50 192.50 0.0384049 - 82.50 52.50 197.50 0.0292254 - 82.50 52.50 202.50 0.0274118 - 82.50 52.50 207.50 0.0273174 - 82.50 52.50 212.50 0.0402711 - 82.50 52.50 217.50 0.0746005 - 82.50 52.50 222.50 0.120229 - 82.50 52.50 227.50 0.181531 - 82.50 52.50 232.50 0.203694 - 82.50 52.50 237.50 0.229345 - 82.50 52.50 242.50 0.178877 - 82.50 52.50 247.50 0.104541 - 82.50 52.50 252.50 0.0611132 - 82.50 52.50 257.50 0.0357778 - 82.50 52.50 262.50 0.0208145 - 82.50 52.50 267.50 0.0285764 - 82.50 52.50 272.50 0.0566768 - 82.50 52.50 277.50 0.057773 - 82.50 52.50 282.50 0.0384049 - 82.50 52.50 287.50 0.0292254 - 82.50 52.50 292.50 0.0274119 - 82.50 52.50 297.50 0.0273174 - 82.50 52.50 302.50 0.040271 - 82.50 52.50 307.50 0.0746005 - 82.50 52.50 312.50 0.120228 - 82.50 52.50 317.50 0.18153 - 82.50 52.50 322.50 0.203694 - 82.50 52.50 327.50 0.229346 - 82.50 52.50 332.50 0.178877 - 82.50 52.50 337.50 0.104541 - 82.50 52.50 342.50 0.0611133 - 82.50 52.50 347.50 0.0357779 - 82.50 52.50 352.50 0.0208145 - 82.50 52.50 357.50 0.0285764 - 82.50 57.50 2.50 0.110206 - 82.50 57.50 7.50 0.111425 - 82.50 57.50 12.50 0.11044 - 82.50 57.50 17.50 0.118965 - 82.50 57.50 22.50 0.108714 - 82.50 57.50 27.50 0.0591751 - 82.50 57.50 32.50 0.0294673 - 82.50 57.50 37.50 0.0189809 - 82.50 57.50 42.50 0.0187428 - 82.50 57.50 47.50 0.0295768 - 82.50 57.50 52.50 0.0283886 - 82.50 57.50 57.50 0.034446 - 82.50 57.50 62.50 0.0337436 - 82.50 57.50 67.50 0.0188954 - 82.50 57.50 72.50 0.0122309 - 82.50 57.50 77.50 0.0139949 - 82.50 57.50 82.50 0.0251331 - 82.50 57.50 87.50 0.0572843 - 82.50 57.50 92.50 0.110206 - 82.50 57.50 97.50 0.111425 - 82.50 57.50 102.50 0.11044 - 82.50 57.50 107.50 0.118965 - 82.50 57.50 112.50 0.108714 - 82.50 57.50 117.50 0.0591751 - 82.50 57.50 122.50 0.0294673 - 82.50 57.50 127.50 0.018981 - 82.50 57.50 132.50 0.0187428 - 82.50 57.50 137.50 0.0295768 - 82.50 57.50 142.50 0.0283886 - 82.50 57.50 147.50 0.034446 - 82.50 57.50 152.50 0.0337436 - 82.50 57.50 157.50 0.0188954 - 82.50 57.50 162.50 0.0122309 - 82.50 57.50 167.50 0.0139948 - 82.50 57.50 172.50 0.025133 - 82.50 57.50 177.50 0.0572842 - 82.50 57.50 182.50 0.110206 - 82.50 57.50 187.50 0.111424 - 82.50 57.50 192.50 0.11044 - 82.50 57.50 197.50 0.118965 - 82.50 57.50 202.50 0.108714 - 82.50 57.50 207.50 0.0591751 - 82.50 57.50 212.50 0.0294673 - 82.50 57.50 217.50 0.0189809 - 82.50 57.50 222.50 0.0187428 - 82.50 57.50 227.50 0.0295768 - 82.50 57.50 232.50 0.0283886 - 82.50 57.50 237.50 0.0344461 - 82.50 57.50 242.50 0.0337436 - 82.50 57.50 247.50 0.0188954 - 82.50 57.50 252.50 0.0122309 - 82.50 57.50 257.50 0.0139949 - 82.50 57.50 262.50 0.0251331 - 82.50 57.50 267.50 0.0572843 - 82.50 57.50 272.50 0.110206 - 82.50 57.50 277.50 0.111425 - 82.50 57.50 282.50 0.11044 - 82.50 57.50 287.50 0.118965 - 82.50 57.50 292.50 0.108714 - 82.50 57.50 297.50 0.0591752 - 82.50 57.50 302.50 0.0294673 - 82.50 57.50 307.50 0.0189809 - 82.50 57.50 312.50 0.0187428 - 82.50 57.50 317.50 0.0295768 - 82.50 57.50 322.50 0.0283886 - 82.50 57.50 327.50 0.034446 - 82.50 57.50 332.50 0.0337436 - 82.50 57.50 337.50 0.0188954 - 82.50 57.50 342.50 0.0122309 - 82.50 57.50 347.50 0.0139948 - 82.50 57.50 352.50 0.025133 - 82.50 57.50 357.50 0.0572842 - 82.50 62.50 2.50 0.164812 - 82.50 62.50 7.50 0.197583 - 82.50 62.50 12.50 0.274664 - 82.50 62.50 17.50 0.342067 - 82.50 62.50 22.50 0.313437 - 82.50 62.50 27.50 0.195315 - 82.50 62.50 32.50 0.115046 - 82.50 62.50 37.50 0.0611151 - 82.50 62.50 42.50 0.0338698 - 82.50 62.50 47.50 0.0209546 - 82.50 62.50 52.50 0.00969557 - 82.50 62.50 57.50 0.00605562 - 82.50 62.50 62.50 0.00479006 - 82.50 62.50 67.50 0.00678969 - 82.50 62.50 72.50 0.0141693 - 82.50 62.50 77.50 0.0250433 - 82.50 62.50 82.50 0.0584315 - 82.50 62.50 87.50 0.0996033 - 82.50 62.50 92.50 0.164812 - 82.50 62.50 97.50 0.197583 - 82.50 62.50 102.50 0.274664 - 82.50 62.50 107.50 0.342067 - 82.50 62.50 112.50 0.313437 - 82.50 62.50 117.50 0.195315 - 82.50 62.50 122.50 0.115046 - 82.50 62.50 127.50 0.061115 - 82.50 62.50 132.50 0.0338698 - 82.50 62.50 137.50 0.0209546 - 82.50 62.50 142.50 0.00969557 - 82.50 62.50 147.50 0.00605562 - 82.50 62.50 152.50 0.00479006 - 82.50 62.50 157.50 0.00678967 - 82.50 62.50 162.50 0.0141693 - 82.50 62.50 167.50 0.0250432 - 82.50 62.50 172.50 0.0584314 - 82.50 62.50 177.50 0.0996033 - 82.50 62.50 182.50 0.164812 - 82.50 62.50 187.50 0.197583 - 82.50 62.50 192.50 0.274664 - 82.50 62.50 197.50 0.342067 - 82.50 62.50 202.50 0.313437 - 82.50 62.50 207.50 0.195316 - 82.50 62.50 212.50 0.115046 - 82.50 62.50 217.50 0.0611151 - 82.50 62.50 222.50 0.0338698 - 82.50 62.50 227.50 0.0209546 - 82.50 62.50 232.50 0.00969556 - 82.50 62.50 237.50 0.00605561 - 82.50 62.50 242.50 0.00479006 - 82.50 62.50 247.50 0.00678968 - 82.50 62.50 252.50 0.0141693 - 82.50 62.50 257.50 0.0250433 - 82.50 62.50 262.50 0.0584315 - 82.50 62.50 267.50 0.0996034 - 82.50 62.50 272.50 0.164812 - 82.50 62.50 277.50 0.197583 - 82.50 62.50 282.50 0.274664 - 82.50 62.50 287.50 0.342067 - 82.50 62.50 292.50 0.313438 - 82.50 62.50 297.50 0.195316 - 82.50 62.50 302.50 0.115046 - 82.50 62.50 307.50 0.0611151 - 82.50 62.50 312.50 0.0338698 - 82.50 62.50 317.50 0.0209546 - 82.50 62.50 322.50 0.00969559 - 82.50 62.50 327.50 0.00605563 - 82.50 62.50 332.50 0.00479006 - 82.50 62.50 337.50 0.00678968 - 82.50 62.50 342.50 0.0141692 - 82.50 62.50 347.50 0.0250432 - 82.50 62.50 352.50 0.0584313 - 82.50 62.50 357.50 0.0996031 - 82.50 67.50 2.50 0.232885 - 82.50 67.50 7.50 0.342791 - 82.50 67.50 12.50 0.549133 - 82.50 67.50 17.50 0.734244 - 82.50 67.50 22.50 0.680787 - 82.50 67.50 27.50 0.548328 - 82.50 67.50 32.50 0.341814 - 82.50 67.50 37.50 0.231199 - 82.50 67.50 42.50 0.148229 - 82.50 67.50 47.50 0.0766608 - 82.50 67.50 52.50 0.0408355 - 82.50 67.50 57.50 0.0216496 - 82.50 67.50 62.50 0.0162894 - 82.50 67.50 67.50 0.0230586 - 82.50 67.50 72.50 0.0472481 - 82.50 67.50 77.50 0.081232 - 82.50 67.50 82.50 0.14265 - 82.50 67.50 87.50 0.17083 - 82.50 67.50 92.50 0.232885 - 82.50 67.50 97.50 0.34279 - 82.50 67.50 102.50 0.549133 - 82.50 67.50 107.50 0.734244 - 82.50 67.50 112.50 0.680787 - 82.50 67.50 117.50 0.548327 - 82.50 67.50 122.50 0.341814 - 82.50 67.50 127.50 0.231199 - 82.50 67.50 132.50 0.148229 - 82.50 67.50 137.50 0.0766607 - 82.50 67.50 142.50 0.0408354 - 82.50 67.50 147.50 0.0216496 - 82.50 67.50 152.50 0.0162894 - 82.50 67.50 157.50 0.0230585 - 82.50 67.50 162.50 0.047248 - 82.50 67.50 167.50 0.0812318 - 82.50 67.50 172.50 0.14265 - 82.50 67.50 177.50 0.17083 - 82.50 67.50 182.50 0.232886 - 82.50 67.50 187.50 0.34279 - 82.50 67.50 192.50 0.549133 - 82.50 67.50 197.50 0.734244 - 82.50 67.50 202.50 0.680787 - 82.50 67.50 207.50 0.548328 - 82.50 67.50 212.50 0.341814 - 82.50 67.50 217.50 0.231199 - 82.50 67.50 222.50 0.148229 - 82.50 67.50 227.50 0.0766608 - 82.50 67.50 232.50 0.0408353 - 82.50 67.50 237.50 0.0216496 - 82.50 67.50 242.50 0.0162894 - 82.50 67.50 247.50 0.0230586 - 82.50 67.50 252.50 0.0472481 - 82.50 67.50 257.50 0.081232 - 82.50 67.50 262.50 0.14265 - 82.50 67.50 267.50 0.17083 - 82.50 67.50 272.50 0.232885 - 82.50 67.50 277.50 0.34279 - 82.50 67.50 282.50 0.549133 - 82.50 67.50 287.50 0.734244 - 82.50 67.50 292.50 0.680787 - 82.50 67.50 297.50 0.548328 - 82.50 67.50 302.50 0.341814 - 82.50 67.50 307.50 0.2312 - 82.50 67.50 312.50 0.148229 - 82.50 67.50 317.50 0.0766609 - 82.50 67.50 322.50 0.0408355 - 82.50 67.50 327.50 0.0216496 - 82.50 67.50 332.50 0.0162894 - 82.50 67.50 337.50 0.0230585 - 82.50 67.50 342.50 0.047248 - 82.50 67.50 347.50 0.0812318 - 82.50 67.50 352.50 0.14265 - 82.50 67.50 357.50 0.17083 - 82.50 72.50 2.50 0.335765 - 82.50 72.50 7.50 0.541781 - 82.50 72.50 12.50 0.892334 - 82.50 72.50 17.50 1.17708 - 82.50 72.50 22.50 1.26043 - 82.50 72.50 27.50 1.04726 - 82.50 72.50 32.50 0.826734 - 82.50 72.50 37.50 0.667436 - 82.50 72.50 42.50 0.485745 - 82.50 72.50 47.50 0.2981 - 82.50 72.50 52.50 0.176889 - 82.50 72.50 57.50 0.0967442 - 82.50 72.50 62.50 0.0801606 - 82.50 72.50 67.50 0.108925 - 82.50 72.50 72.50 0.145181 - 82.50 72.50 77.50 0.18965 - 82.50 72.50 82.50 0.275849 - 82.50 72.50 87.50 0.307317 - 82.50 72.50 92.50 0.335765 - 82.50 72.50 97.50 0.541781 - 82.50 72.50 102.50 0.892334 - 82.50 72.50 107.50 1.17708 - 82.50 72.50 112.50 1.26043 - 82.50 72.50 117.50 1.04726 - 82.50 72.50 122.50 0.826733 - 82.50 72.50 127.50 0.667436 - 82.50 72.50 132.50 0.485745 - 82.50 72.50 137.50 0.2981 - 82.50 72.50 142.50 0.176889 - 82.50 72.50 147.50 0.0967442 - 82.50 72.50 152.50 0.0801605 - 82.50 72.50 157.50 0.108925 - 82.50 72.50 162.50 0.14518 - 82.50 72.50 167.50 0.18965 - 82.50 72.50 172.50 0.275848 - 82.50 72.50 177.50 0.307317 - 82.50 72.50 182.50 0.335764 - 82.50 72.50 187.50 0.541781 - 82.50 72.50 192.50 0.892334 - 82.50 72.50 197.50 1.17708 - 82.50 72.50 202.50 1.26043 - 82.50 72.50 207.50 1.04726 - 82.50 72.50 212.50 0.826733 - 82.50 72.50 217.50 0.667436 - 82.50 72.50 222.50 0.485745 - 82.50 72.50 227.50 0.2981 - 82.50 72.50 232.50 0.176889 - 82.50 72.50 237.50 0.096744 - 82.50 72.50 242.50 0.0801605 - 82.50 72.50 247.50 0.108925 - 82.50 72.50 252.50 0.145181 - 82.50 72.50 257.50 0.18965 - 82.50 72.50 262.50 0.275849 - 82.50 72.50 267.50 0.307317 - 82.50 72.50 272.50 0.335764 - 82.50 72.50 277.50 0.541781 - 82.50 72.50 282.50 0.892334 - 82.50 72.50 287.50 1.17708 - 82.50 72.50 292.50 1.26043 - 82.50 72.50 297.50 1.04726 - 82.50 72.50 302.50 0.826734 - 82.50 72.50 307.50 0.667436 - 82.50 72.50 312.50 0.485745 - 82.50 72.50 317.50 0.2981 - 82.50 72.50 322.50 0.176889 - 82.50 72.50 327.50 0.0967444 - 82.50 72.50 332.50 0.0801607 - 82.50 72.50 337.50 0.108925 - 82.50 72.50 342.50 0.145181 - 82.50 72.50 347.50 0.18965 - 82.50 72.50 352.50 0.275848 - 82.50 72.50 357.50 0.307317 - 82.50 77.50 2.50 0.422612 - 82.50 77.50 7.50 0.677777 - 82.50 77.50 12.50 1.14666 - 82.50 77.50 17.50 1.5325 - 82.50 77.50 22.50 1.70307 - 82.50 77.50 27.50 1.65138 - 82.50 77.50 32.50 1.55321 - 82.50 77.50 37.50 1.43649 - 82.50 77.50 42.50 1.23139 - 82.50 77.50 47.50 0.913061 - 82.50 77.50 52.50 0.57936 - 82.50 77.50 57.50 0.380141 - 82.50 77.50 62.50 0.272807 - 82.50 77.50 67.50 0.282231 - 82.50 77.50 72.50 0.360093 - 82.50 77.50 77.50 0.383139 - 82.50 77.50 82.50 0.395592 - 82.50 77.50 87.50 0.489081 - 82.50 77.50 92.50 0.422612 - 82.50 77.50 97.50 0.677778 - 82.50 77.50 102.50 1.14666 - 82.50 77.50 107.50 1.5325 - 82.50 77.50 112.50 1.70307 - 82.50 77.50 117.50 1.65138 - 82.50 77.50 122.50 1.55321 - 82.50 77.50 127.50 1.43648 - 82.50 77.50 132.50 1.23139 - 82.50 77.50 137.50 0.913061 - 82.50 77.50 142.50 0.57936 - 82.50 77.50 147.50 0.380141 - 82.50 77.50 152.50 0.272807 - 82.50 77.50 157.50 0.282231 - 82.50 77.50 162.50 0.360093 - 82.50 77.50 167.50 0.383139 - 82.50 77.50 172.50 0.395592 - 82.50 77.50 177.50 0.489081 - 82.50 77.50 182.50 0.422612 - 82.50 77.50 187.50 0.677778 - 82.50 77.50 192.50 1.14666 - 82.50 77.50 197.50 1.5325 - 82.50 77.50 202.50 1.70307 - 82.50 77.50 207.50 1.65138 - 82.50 77.50 212.50 1.55321 - 82.50 77.50 217.50 1.43649 - 82.50 77.50 222.50 1.23139 - 82.50 77.50 227.50 0.913061 - 82.50 77.50 232.50 0.579359 - 82.50 77.50 237.50 0.38014 - 82.50 77.50 242.50 0.272807 - 82.50 77.50 247.50 0.282231 - 82.50 77.50 252.50 0.360093 - 82.50 77.50 257.50 0.383139 - 82.50 77.50 262.50 0.395592 - 82.50 77.50 267.50 0.489081 - 82.50 77.50 272.50 0.422612 - 82.50 77.50 277.50 0.677777 - 82.50 77.50 282.50 1.14666 - 82.50 77.50 287.50 1.5325 - 82.50 77.50 292.50 1.70307 - 82.50 77.50 297.50 1.65138 - 82.50 77.50 302.50 1.55321 - 82.50 77.50 307.50 1.43649 - 82.50 77.50 312.50 1.23139 - 82.50 77.50 317.50 0.913061 - 82.50 77.50 322.50 0.57936 - 82.50 77.50 327.50 0.380141 - 82.50 77.50 332.50 0.272807 - 82.50 77.50 337.50 0.282231 - 82.50 77.50 342.50 0.360093 - 82.50 77.50 347.50 0.383139 - 82.50 77.50 352.50 0.395592 - 82.50 77.50 357.50 0.489081 - 82.50 82.50 2.50 0.429837 - 82.50 82.50 7.50 0.661989 - 82.50 82.50 12.50 1.09229 - 82.50 82.50 17.50 1.53655 - 82.50 82.50 22.50 1.93474 - 82.50 82.50 27.50 2.1174 - 82.50 82.50 32.50 2.23776 - 82.50 82.50 37.50 2.30713 - 82.50 82.50 42.50 2.13895 - 82.50 82.50 47.50 1.75417 - 82.50 82.50 52.50 1.31581 - 82.50 82.50 57.50 0.968979 - 82.50 82.50 62.50 0.754787 - 82.50 82.50 67.50 0.654877 - 82.50 82.50 72.50 0.63033 - 82.50 82.50 77.50 0.594729 - 82.50 82.50 82.50 0.524465 - 82.50 82.50 87.50 0.515611 - 82.50 82.50 92.50 0.429837 - 82.50 82.50 97.50 0.66199 - 82.50 82.50 102.50 1.09229 - 82.50 82.50 107.50 1.53655 - 82.50 82.50 112.50 1.93474 - 82.50 82.50 117.50 2.1174 - 82.50 82.50 122.50 2.23776 - 82.50 82.50 127.50 2.30712 - 82.50 82.50 132.50 2.13895 - 82.50 82.50 137.50 1.75417 - 82.50 82.50 142.50 1.31581 - 82.50 82.50 147.50 0.968978 - 82.50 82.50 152.50 0.754787 - 82.50 82.50 157.50 0.654876 - 82.50 82.50 162.50 0.63033 - 82.50 82.50 167.50 0.594729 - 82.50 82.50 172.50 0.524464 - 82.50 82.50 177.50 0.515611 - 82.50 82.50 182.50 0.429837 - 82.50 82.50 187.50 0.66199 - 82.50 82.50 192.50 1.09229 - 82.50 82.50 197.50 1.53655 - 82.50 82.50 202.50 1.93474 - 82.50 82.50 207.50 2.1174 - 82.50 82.50 212.50 2.23776 - 82.50 82.50 217.50 2.30713 - 82.50 82.50 222.50 2.13895 - 82.50 82.50 227.50 1.75417 - 82.50 82.50 232.50 1.31581 - 82.50 82.50 237.50 0.968977 - 82.50 82.50 242.50 0.754787 - 82.50 82.50 247.50 0.654876 - 82.50 82.50 252.50 0.63033 - 82.50 82.50 257.50 0.594728 - 82.50 82.50 262.50 0.524464 - 82.50 82.50 267.50 0.515611 - 82.50 82.50 272.50 0.429837 - 82.50 82.50 277.50 0.66199 - 82.50 82.50 282.50 1.09229 - 82.50 82.50 287.50 1.53655 - 82.50 82.50 292.50 1.93474 - 82.50 82.50 297.50 2.1174 - 82.50 82.50 302.50 2.23776 - 82.50 82.50 307.50 2.30713 - 82.50 82.50 312.50 2.13895 - 82.50 82.50 317.50 1.75417 - 82.50 82.50 322.50 1.31581 - 82.50 82.50 327.50 0.968979 - 82.50 82.50 332.50 0.754787 - 82.50 82.50 337.50 0.654877 - 82.50 82.50 342.50 0.63033 - 82.50 82.50 347.50 0.594729 - 82.50 82.50 352.50 0.524465 - 82.50 82.50 357.50 0.515611 - 82.50 87.50 2.50 0.382022 - 82.50 87.50 7.50 0.554357 - 82.50 87.50 12.50 0.94078 - 82.50 87.50 17.50 1.31373 - 82.50 87.50 22.50 1.65464 - 82.50 87.50 27.50 2.00829 - 82.50 87.50 32.50 2.26362 - 82.50 87.50 37.50 2.48418 - 82.50 87.50 42.50 2.59146 - 82.50 87.50 47.50 2.41994 - 82.50 87.50 52.50 2.04524 - 82.50 87.50 57.50 1.65079 - 82.50 87.50 62.50 1.35668 - 82.50 87.50 67.50 1.16542 - 82.50 87.50 72.50 0.992713 - 82.50 87.50 77.50 0.788364 - 82.50 87.50 82.50 0.665485 - 82.50 87.50 87.50 0.466442 - 82.50 87.50 92.50 0.382022 - 82.50 87.50 97.50 0.554357 - 82.50 87.50 102.50 0.94078 - 82.50 87.50 107.50 1.31373 - 82.50 87.50 112.50 1.65464 - 82.50 87.50 117.50 2.00829 - 82.50 87.50 122.50 2.26362 - 82.50 87.50 127.50 2.48418 - 82.50 87.50 132.50 2.59146 - 82.50 87.50 137.50 2.41994 - 82.50 87.50 142.50 2.04524 - 82.50 87.50 147.50 1.65079 - 82.50 87.50 152.50 1.35668 - 82.50 87.50 157.50 1.16542 - 82.50 87.50 162.50 0.992713 - 82.50 87.50 167.50 0.788364 - 82.50 87.50 172.50 0.665485 - 82.50 87.50 177.50 0.466442 - 82.50 87.50 182.50 0.382022 - 82.50 87.50 187.50 0.554357 - 82.50 87.50 192.50 0.94078 - 82.50 87.50 197.50 1.31373 - 82.50 87.50 202.50 1.65464 - 82.50 87.50 207.50 2.00829 - 82.50 87.50 212.50 2.26362 - 82.50 87.50 217.50 2.48418 - 82.50 87.50 222.50 2.59146 - 82.50 87.50 227.50 2.41994 - 82.50 87.50 232.50 2.04524 - 82.50 87.50 237.50 1.65079 - 82.50 87.50 242.50 1.35668 - 82.50 87.50 247.50 1.16542 - 82.50 87.50 252.50 0.992712 - 82.50 87.50 257.50 0.788363 - 82.50 87.50 262.50 0.665485 - 82.50 87.50 267.50 0.466441 - 82.50 87.50 272.50 0.382022 - 82.50 87.50 277.50 0.554357 - 82.50 87.50 282.50 0.94078 - 82.50 87.50 287.50 1.31373 - 82.50 87.50 292.50 1.65464 - 82.50 87.50 297.50 2.00829 - 82.50 87.50 302.50 2.26362 - 82.50 87.50 307.50 2.48418 - 82.50 87.50 312.50 2.59146 - 82.50 87.50 317.50 2.41994 - 82.50 87.50 322.50 2.04524 - 82.50 87.50 327.50 1.65079 - 82.50 87.50 332.50 1.35668 - 82.50 87.50 337.50 1.16542 - 82.50 87.50 342.50 0.992713 - 82.50 87.50 347.50 0.788365 - 82.50 87.50 352.50 0.665485 - 82.50 87.50 357.50 0.466442 - 82.50 92.50 2.50 0.393272 - 82.50 92.50 7.50 0.512872 - 82.50 92.50 12.50 0.748316 - 82.50 92.50 17.50 1.01248 - 82.50 92.50 22.50 1.3146 - 82.50 92.50 27.50 1.60321 - 82.50 92.50 32.50 1.86337 - 82.50 92.50 37.50 2.17935 - 82.50 92.50 42.50 2.49553 - 82.50 92.50 47.50 2.62872 - 82.50 92.50 52.50 2.49553 - 82.50 92.50 57.50 2.17935 - 82.50 92.50 62.50 1.86337 - 82.50 92.50 67.50 1.60321 - 82.50 92.50 72.50 1.3146 - 82.50 92.50 77.50 1.01248 - 82.50 92.50 82.50 0.748316 - 82.50 92.50 87.50 0.512871 - 82.50 92.50 92.50 0.393272 - 82.50 92.50 97.50 0.512872 - 82.50 92.50 102.50 0.748316 - 82.50 92.50 107.50 1.01248 - 82.50 92.50 112.50 1.3146 - 82.50 92.50 117.50 1.60322 - 82.50 92.50 122.50 1.86338 - 82.50 92.50 127.50 2.17935 - 82.50 92.50 132.50 2.49553 - 82.50 92.50 137.50 2.62872 - 82.50 92.50 142.50 2.49553 - 82.50 92.50 147.50 2.17935 - 82.50 92.50 152.50 1.86337 - 82.50 92.50 157.50 1.60321 - 82.50 92.50 162.50 1.3146 - 82.50 92.50 167.50 1.01248 - 82.50 92.50 172.50 0.748316 - 82.50 92.50 177.50 0.512872 - 82.50 92.50 182.50 0.393272 - 82.50 92.50 187.50 0.512872 - 82.50 92.50 192.50 0.748316 - 82.50 92.50 197.50 1.01248 - 82.50 92.50 202.50 1.3146 - 82.50 92.50 207.50 1.60321 - 82.50 92.50 212.50 1.86338 - 82.50 92.50 217.50 2.17935 - 82.50 92.50 222.50 2.49553 - 82.50 92.50 227.50 2.62872 - 82.50 92.50 232.50 2.49553 - 82.50 92.50 237.50 2.17935 - 82.50 92.50 242.50 1.86337 - 82.50 92.50 247.50 1.60321 - 82.50 92.50 252.50 1.3146 - 82.50 92.50 257.50 1.01248 - 82.50 92.50 262.50 0.748315 - 82.50 92.50 267.50 0.512871 - 82.50 92.50 272.50 0.393272 - 82.50 92.50 277.50 0.512872 - 82.50 92.50 282.50 0.748316 - 82.50 92.50 287.50 1.01248 - 82.50 92.50 292.50 1.3146 - 82.50 92.50 297.50 1.60321 - 82.50 92.50 302.50 1.86337 - 82.50 92.50 307.50 2.17935 - 82.50 92.50 312.50 2.49553 - 82.50 92.50 317.50 2.62872 - 82.50 92.50 322.50 2.49553 - 82.50 92.50 327.50 2.17935 - 82.50 92.50 332.50 1.86338 - 82.50 92.50 337.50 1.60321 - 82.50 92.50 342.50 1.3146 - 82.50 92.50 347.50 1.01248 - 82.50 92.50 352.50 0.748317 - 82.50 92.50 357.50 0.512872 - 82.50 97.50 2.50 0.382022 - 82.50 97.50 7.50 0.466441 - 82.50 97.50 12.50 0.665485 - 82.50 97.50 17.50 0.788364 - 82.50 97.50 22.50 0.992713 - 82.50 97.50 27.50 1.16542 - 82.50 97.50 32.50 1.35668 - 82.50 97.50 37.50 1.65079 - 82.50 97.50 42.50 2.04524 - 82.50 97.50 47.50 2.41994 - 82.50 97.50 52.50 2.59146 - 82.50 97.50 57.50 2.48418 - 82.50 97.50 62.50 2.26362 - 82.50 97.50 67.50 2.00829 - 82.50 97.50 72.50 1.65464 - 82.50 97.50 77.50 1.31373 - 82.50 97.50 82.50 0.94078 - 82.50 97.50 87.50 0.554357 - 82.50 97.50 92.50 0.382022 - 82.50 97.50 97.50 0.466441 - 82.50 97.50 102.50 0.665485 - 82.50 97.50 107.50 0.788364 - 82.50 97.50 112.50 0.992713 - 82.50 97.50 117.50 1.16542 - 82.50 97.50 122.50 1.35668 - 82.50 97.50 127.50 1.65079 - 82.50 97.50 132.50 2.04524 - 82.50 97.50 137.50 2.41994 - 82.50 97.50 142.50 2.59146 - 82.50 97.50 147.50 2.48418 - 82.50 97.50 152.50 2.26362 - 82.50 97.50 157.50 2.00829 - 82.50 97.50 162.50 1.65464 - 82.50 97.50 167.50 1.31373 - 82.50 97.50 172.50 0.94078 - 82.50 97.50 177.50 0.554357 - 82.50 97.50 182.50 0.382022 - 82.50 97.50 187.50 0.466441 - 82.50 97.50 192.50 0.665484 - 82.50 97.50 197.50 0.788364 - 82.50 97.50 202.50 0.992713 - 82.50 97.50 207.50 1.16542 - 82.50 97.50 212.50 1.35668 - 82.50 97.50 217.50 1.65079 - 82.50 97.50 222.50 2.04524 - 82.50 97.50 227.50 2.41994 - 82.50 97.50 232.50 2.59146 - 82.50 97.50 237.50 2.48418 - 82.50 97.50 242.50 2.26362 - 82.50 97.50 247.50 2.00829 - 82.50 97.50 252.50 1.65464 - 82.50 97.50 257.50 1.31373 - 82.50 97.50 262.50 0.940779 - 82.50 97.50 267.50 0.554356 - 82.50 97.50 272.50 0.382022 - 82.50 97.50 277.50 0.466441 - 82.50 97.50 282.50 0.665485 - 82.50 97.50 287.50 0.788364 - 82.50 97.50 292.50 0.992713 - 82.50 97.50 297.50 1.16542 - 82.50 97.50 302.50 1.35668 - 82.50 97.50 307.50 1.65079 - 82.50 97.50 312.50 2.04524 - 82.50 97.50 317.50 2.41994 - 82.50 97.50 322.50 2.59146 - 82.50 97.50 327.50 2.48418 - 82.50 97.50 332.50 2.26362 - 82.50 97.50 337.50 2.00829 - 82.50 97.50 342.50 1.65465 - 82.50 97.50 347.50 1.31373 - 82.50 97.50 352.50 0.94078 - 82.50 97.50 357.50 0.554358 - 82.50 102.50 2.50 0.429837 - 82.50 102.50 7.50 0.515611 - 82.50 102.50 12.50 0.524464 - 82.50 102.50 17.50 0.594729 - 82.50 102.50 22.50 0.63033 - 82.50 102.50 27.50 0.654876 - 82.50 102.50 32.50 0.754787 - 82.50 102.50 37.50 0.968978 - 82.50 102.50 42.50 1.31581 - 82.50 102.50 47.50 1.75417 - 82.50 102.50 52.50 2.13895 - 82.50 102.50 57.50 2.30713 - 82.50 102.50 62.50 2.23776 - 82.50 102.50 67.50 2.1174 - 82.50 102.50 72.50 1.93474 - 82.50 102.50 77.50 1.53655 - 82.50 102.50 82.50 1.09229 - 82.50 102.50 87.50 0.66199 - 82.50 102.50 92.50 0.429837 - 82.50 102.50 97.50 0.515611 - 82.50 102.50 102.50 0.524464 - 82.50 102.50 107.50 0.594729 - 82.50 102.50 112.50 0.63033 - 82.50 102.50 117.50 0.654877 - 82.50 102.50 122.50 0.754787 - 82.50 102.50 127.50 0.968979 - 82.50 102.50 132.50 1.31581 - 82.50 102.50 137.50 1.75417 - 82.50 102.50 142.50 2.13895 - 82.50 102.50 147.50 2.30713 - 82.50 102.50 152.50 2.23776 - 82.50 102.50 157.50 2.1174 - 82.50 102.50 162.50 1.93474 - 82.50 102.50 167.50 1.53655 - 82.50 102.50 172.50 1.09229 - 82.50 102.50 177.50 0.66199 - 82.50 102.50 182.50 0.429837 - 82.50 102.50 187.50 0.515611 - 82.50 102.50 192.50 0.524464 - 82.50 102.50 197.50 0.594729 - 82.50 102.50 202.50 0.63033 - 82.50 102.50 207.50 0.654877 - 82.50 102.50 212.50 0.754787 - 82.50 102.50 217.50 0.968978 - 82.50 102.50 222.50 1.31581 - 82.50 102.50 227.50 1.75417 - 82.50 102.50 232.50 2.13895 - 82.50 102.50 237.50 2.30713 - 82.50 102.50 242.50 2.23776 - 82.50 102.50 247.50 2.1174 - 82.50 102.50 252.50 1.93474 - 82.50 102.50 257.50 1.53655 - 82.50 102.50 262.50 1.09229 - 82.50 102.50 267.50 0.661989 - 82.50 102.50 272.50 0.429837 - 82.50 102.50 277.50 0.515611 - 82.50 102.50 282.50 0.524464 - 82.50 102.50 287.50 0.594729 - 82.50 102.50 292.50 0.63033 - 82.50 102.50 297.50 0.654877 - 82.50 102.50 302.50 0.754787 - 82.50 102.50 307.50 0.968978 - 82.50 102.50 312.50 1.31581 - 82.50 102.50 317.50 1.75417 - 82.50 102.50 322.50 2.13895 - 82.50 102.50 327.50 2.30713 - 82.50 102.50 332.50 2.23776 - 82.50 102.50 337.50 2.1174 - 82.50 102.50 342.50 1.93475 - 82.50 102.50 347.50 1.53655 - 82.50 102.50 352.50 1.09229 - 82.50 102.50 357.50 0.661991 - 82.50 107.50 2.50 0.422612 - 82.50 107.50 7.50 0.489081 - 82.50 107.50 12.50 0.395592 - 82.50 107.50 17.50 0.383139 - 82.50 107.50 22.50 0.360093 - 82.50 107.50 27.50 0.282231 - 82.50 107.50 32.50 0.272807 - 82.50 107.50 37.50 0.380141 - 82.50 107.50 42.50 0.57936 - 82.50 107.50 47.50 0.913061 - 82.50 107.50 52.50 1.23139 - 82.50 107.50 57.50 1.43649 - 82.50 107.50 62.50 1.55321 - 82.50 107.50 67.50 1.65138 - 82.50 107.50 72.50 1.70307 - 82.50 107.50 77.50 1.5325 - 82.50 107.50 82.50 1.14666 - 82.50 107.50 87.50 0.677777 - 82.50 107.50 92.50 0.422612 - 82.50 107.50 97.50 0.489081 - 82.50 107.50 102.50 0.395592 - 82.50 107.50 107.50 0.383139 - 82.50 107.50 112.50 0.360093 - 82.50 107.50 117.50 0.282231 - 82.50 107.50 122.50 0.272807 - 82.50 107.50 127.50 0.380142 - 82.50 107.50 132.50 0.579361 - 82.50 107.50 137.50 0.913061 - 82.50 107.50 142.50 1.23139 - 82.50 107.50 147.50 1.43649 - 82.50 107.50 152.50 1.55321 - 82.50 107.50 157.50 1.65138 - 82.50 107.50 162.50 1.70307 - 82.50 107.50 167.50 1.5325 - 82.50 107.50 172.50 1.14666 - 82.50 107.50 177.50 0.677778 - 82.50 107.50 182.50 0.422612 - 82.50 107.50 187.50 0.489081 - 82.50 107.50 192.50 0.395592 - 82.50 107.50 197.50 0.383139 - 82.50 107.50 202.50 0.360093 - 82.50 107.50 207.50 0.282231 - 82.50 107.50 212.50 0.272807 - 82.50 107.50 217.50 0.380141 - 82.50 107.50 222.50 0.57936 - 82.50 107.50 227.50 0.913061 - 82.50 107.50 232.50 1.23139 - 82.50 107.50 237.50 1.43649 - 82.50 107.50 242.50 1.55321 - 82.50 107.50 247.50 1.65138 - 82.50 107.50 252.50 1.70307 - 82.50 107.50 257.50 1.5325 - 82.50 107.50 262.50 1.14666 - 82.50 107.50 267.50 0.677777 - 82.50 107.50 272.50 0.422612 - 82.50 107.50 277.50 0.489081 - 82.50 107.50 282.50 0.395592 - 82.50 107.50 287.50 0.383139 - 82.50 107.50 292.50 0.360093 - 82.50 107.50 297.50 0.282231 - 82.50 107.50 302.50 0.272807 - 82.50 107.50 307.50 0.380141 - 82.50 107.50 312.50 0.57936 - 82.50 107.50 317.50 0.91306 - 82.50 107.50 322.50 1.23139 - 82.50 107.50 327.50 1.43648 - 82.50 107.50 332.50 1.55321 - 82.50 107.50 337.50 1.65138 - 82.50 107.50 342.50 1.70307 - 82.50 107.50 347.50 1.5325 - 82.50 107.50 352.50 1.14666 - 82.50 107.50 357.50 0.677778 - 82.50 112.50 2.50 0.335764 - 82.50 112.50 7.50 0.307317 - 82.50 112.50 12.50 0.275848 - 82.50 112.50 17.50 0.18965 - 82.50 112.50 22.50 0.145181 - 82.50 112.50 27.50 0.108925 - 82.50 112.50 32.50 0.0801605 - 82.50 112.50 37.50 0.0967443 - 82.50 112.50 42.50 0.176889 - 82.50 112.50 47.50 0.2981 - 82.50 112.50 52.50 0.485745 - 82.50 112.50 57.50 0.667436 - 82.50 112.50 62.50 0.826735 - 82.50 112.50 67.50 1.04726 - 82.50 112.50 72.50 1.26043 - 82.50 112.50 77.50 1.17708 - 82.50 112.50 82.50 0.892334 - 82.50 112.50 87.50 0.541781 - 82.50 112.50 92.50 0.335764 - 82.50 112.50 97.50 0.307317 - 82.50 112.50 102.50 0.275848 - 82.50 112.50 107.50 0.18965 - 82.50 112.50 112.50 0.145181 - 82.50 112.50 117.50 0.108925 - 82.50 112.50 122.50 0.0801607 - 82.50 112.50 127.50 0.0967444 - 82.50 112.50 132.50 0.176889 - 82.50 112.50 137.50 0.298101 - 82.50 112.50 142.50 0.485745 - 82.50 112.50 147.50 0.667436 - 82.50 112.50 152.50 0.826734 - 82.50 112.50 157.50 1.04726 - 82.50 112.50 162.50 1.26043 - 82.50 112.50 167.50 1.17708 - 82.50 112.50 172.50 0.892335 - 82.50 112.50 177.50 0.541781 - 82.50 112.50 182.50 0.335765 - 82.50 112.50 187.50 0.307317 - 82.50 112.50 192.50 0.275848 - 82.50 112.50 197.50 0.18965 - 82.50 112.50 202.50 0.145181 - 82.50 112.50 207.50 0.108925 - 82.50 112.50 212.50 0.0801606 - 82.50 112.50 217.50 0.0967443 - 82.50 112.50 222.50 0.176889 - 82.50 112.50 227.50 0.2981 - 82.50 112.50 232.50 0.485746 - 82.50 112.50 237.50 0.667436 - 82.50 112.50 242.50 0.826735 - 82.50 112.50 247.50 1.04726 - 82.50 112.50 252.50 1.26043 - 82.50 112.50 257.50 1.17708 - 82.50 112.50 262.50 0.892333 - 82.50 112.50 267.50 0.54178 - 82.50 112.50 272.50 0.335764 - 82.50 112.50 277.50 0.307317 - 82.50 112.50 282.50 0.275848 - 82.50 112.50 287.50 0.18965 - 82.50 112.50 292.50 0.145181 - 82.50 112.50 297.50 0.108925 - 82.50 112.50 302.50 0.0801605 - 82.50 112.50 307.50 0.0967441 - 82.50 112.50 312.50 0.176889 - 82.50 112.50 317.50 0.2981 - 82.50 112.50 322.50 0.485745 - 82.50 112.50 327.50 0.667436 - 82.50 112.50 332.50 0.826734 - 82.50 112.50 337.50 1.04726 - 82.50 112.50 342.50 1.26043 - 82.50 112.50 347.50 1.17708 - 82.50 112.50 352.50 0.892335 - 82.50 112.50 357.50 0.541782 - 82.50 117.50 2.50 0.232885 - 82.50 117.50 7.50 0.17083 - 82.50 117.50 12.50 0.14265 - 82.50 117.50 17.50 0.0812318 - 82.50 117.50 22.50 0.047248 - 82.50 117.50 27.50 0.0230585 - 82.50 117.50 32.50 0.0162894 - 82.50 117.50 37.50 0.0216496 - 82.50 117.50 42.50 0.0408353 - 82.50 117.50 47.50 0.0766607 - 82.50 117.50 52.50 0.148229 - 82.50 117.50 57.50 0.231199 - 82.50 117.50 62.50 0.341814 - 82.50 117.50 67.50 0.548328 - 82.50 117.50 72.50 0.680786 - 82.50 117.50 77.50 0.734243 - 82.50 117.50 82.50 0.549132 - 82.50 117.50 87.50 0.34279 - 82.50 117.50 92.50 0.232885 - 82.50 117.50 97.50 0.17083 - 82.50 117.50 102.50 0.14265 - 82.50 117.50 107.50 0.0812318 - 82.50 117.50 112.50 0.047248 - 82.50 117.50 117.50 0.0230585 - 82.50 117.50 122.50 0.0162894 - 82.50 117.50 127.50 0.0216496 - 82.50 117.50 132.50 0.0408354 - 82.50 117.50 137.50 0.0766608 - 82.50 117.50 142.50 0.148229 - 82.50 117.50 147.50 0.231199 - 82.50 117.50 152.50 0.341814 - 82.50 117.50 157.50 0.548328 - 82.50 117.50 162.50 0.680786 - 82.50 117.50 167.50 0.734244 - 82.50 117.50 172.50 0.549132 - 82.50 117.50 177.50 0.342791 - 82.50 117.50 182.50 0.232885 - 82.50 117.50 187.50 0.17083 - 82.50 117.50 192.50 0.14265 - 82.50 117.50 197.50 0.0812319 - 82.50 117.50 202.50 0.0472481 - 82.50 117.50 207.50 0.0230585 - 82.50 117.50 212.50 0.0162894 - 82.50 117.50 217.50 0.0216496 - 82.50 117.50 222.50 0.0408354 - 82.50 117.50 227.50 0.0766606 - 82.50 117.50 232.50 0.148229 - 82.50 117.50 237.50 0.231199 - 82.50 117.50 242.50 0.341814 - 82.50 117.50 247.50 0.548328 - 82.50 117.50 252.50 0.680786 - 82.50 117.50 257.50 0.734243 - 82.50 117.50 262.50 0.549132 - 82.50 117.50 267.50 0.34279 - 82.50 117.50 272.50 0.232885 - 82.50 117.50 277.50 0.17083 - 82.50 117.50 282.50 0.14265 - 82.50 117.50 287.50 0.0812318 - 82.50 117.50 292.50 0.0472481 - 82.50 117.50 297.50 0.0230585 - 82.50 117.50 302.50 0.0162894 - 82.50 117.50 307.50 0.0216496 - 82.50 117.50 312.50 0.0408354 - 82.50 117.50 317.50 0.0766606 - 82.50 117.50 322.50 0.148229 - 82.50 117.50 327.50 0.231199 - 82.50 117.50 332.50 0.341813 - 82.50 117.50 337.50 0.548326 - 82.50 117.50 342.50 0.680785 - 82.50 117.50 347.50 0.734243 - 82.50 117.50 352.50 0.549133 - 82.50 117.50 357.50 0.342791 - 82.50 122.50 2.50 0.164812 - 82.50 122.50 7.50 0.0996032 - 82.50 122.50 12.50 0.0584314 - 82.50 122.50 17.50 0.0250432 - 82.50 122.50 22.50 0.0141693 - 82.50 122.50 27.50 0.00678968 - 82.50 122.50 32.50 0.00479006 - 82.50 122.50 37.50 0.00605562 - 82.50 122.50 42.50 0.00969555 - 82.50 122.50 47.50 0.0209546 - 82.50 122.50 52.50 0.0338697 - 82.50 122.50 57.50 0.061115 - 82.50 122.50 62.50 0.115046 - 82.50 122.50 67.50 0.195315 - 82.50 122.50 72.50 0.313437 - 82.50 122.50 77.50 0.342066 - 82.50 122.50 82.50 0.274664 - 82.50 122.50 87.50 0.197583 - 82.50 122.50 92.50 0.164812 - 82.50 122.50 97.50 0.0996032 - 82.50 122.50 102.50 0.0584314 - 82.50 122.50 107.50 0.0250432 - 82.50 122.50 112.50 0.0141693 - 82.50 122.50 117.50 0.00678967 - 82.50 122.50 122.50 0.00479006 - 82.50 122.50 127.50 0.00605563 - 82.50 122.50 132.50 0.00969556 - 82.50 122.50 137.50 0.0209546 - 82.50 122.50 142.50 0.0338697 - 82.50 122.50 147.50 0.061115 - 82.50 122.50 152.50 0.115046 - 82.50 122.50 157.50 0.195315 - 82.50 122.50 162.50 0.313437 - 82.50 122.50 167.50 0.342066 - 82.50 122.50 172.50 0.274664 - 82.50 122.50 177.50 0.197583 - 82.50 122.50 182.50 0.164812 - 82.50 122.50 187.50 0.0996033 - 82.50 122.50 192.50 0.0584314 - 82.50 122.50 197.50 0.0250432 - 82.50 122.50 202.50 0.0141693 - 82.50 122.50 207.50 0.00678968 - 82.50 122.50 212.50 0.00479006 - 82.50 122.50 217.50 0.00605562 - 82.50 122.50 222.50 0.00969556 - 82.50 122.50 227.50 0.0209546 - 82.50 122.50 232.50 0.0338697 - 82.50 122.50 237.50 0.0611151 - 82.50 122.50 242.50 0.115046 - 82.50 122.50 247.50 0.195315 - 82.50 122.50 252.50 0.313437 - 82.50 122.50 257.50 0.342066 - 82.50 122.50 262.50 0.274664 - 82.50 122.50 267.50 0.197583 - 82.50 122.50 272.50 0.164812 - 82.50 122.50 277.50 0.0996032 - 82.50 122.50 282.50 0.0584314 - 82.50 122.50 287.50 0.0250432 - 82.50 122.50 292.50 0.0141692 - 82.50 122.50 297.50 0.00678969 - 82.50 122.50 302.50 0.00479006 - 82.50 122.50 307.50 0.00605563 - 82.50 122.50 312.50 0.00969555 - 82.50 122.50 317.50 0.0209546 - 82.50 122.50 322.50 0.0338697 - 82.50 122.50 327.50 0.0611149 - 82.50 122.50 332.50 0.115046 - 82.50 122.50 337.50 0.195315 - 82.50 122.50 342.50 0.313437 - 82.50 122.50 347.50 0.342066 - 82.50 122.50 352.50 0.274664 - 82.50 122.50 357.50 0.197583 - 82.50 127.50 2.50 0.110206 - 82.50 127.50 7.50 0.0572843 - 82.50 127.50 12.50 0.0251331 - 82.50 127.50 17.50 0.0139949 - 82.50 127.50 22.50 0.0122309 - 82.50 127.50 27.50 0.0188955 - 82.50 127.50 32.50 0.0337437 - 82.50 127.50 37.50 0.0344461 - 82.50 127.50 42.50 0.0283886 - 82.50 127.50 47.50 0.0295768 - 82.50 127.50 52.50 0.0187428 - 82.50 127.50 57.50 0.0189809 - 82.50 127.50 62.50 0.0294673 - 82.50 127.50 67.50 0.0591752 - 82.50 127.50 72.50 0.108714 - 82.50 127.50 77.50 0.118965 - 82.50 127.50 82.50 0.11044 - 82.50 127.50 87.50 0.111425 - 82.50 127.50 92.50 0.110206 - 82.50 127.50 97.50 0.0572842 - 82.50 127.50 102.50 0.025133 - 82.50 127.50 107.50 0.0139949 - 82.50 127.50 112.50 0.0122309 - 82.50 127.50 117.50 0.0188955 - 82.50 127.50 122.50 0.0337436 - 82.50 127.50 127.50 0.0344461 - 82.50 127.50 132.50 0.0283886 - 82.50 127.50 137.50 0.0295768 - 82.50 127.50 142.50 0.0187428 - 82.50 127.50 147.50 0.0189809 - 82.50 127.50 152.50 0.0294673 - 82.50 127.50 157.50 0.0591752 - 82.50 127.50 162.50 0.108714 - 82.50 127.50 167.50 0.118965 - 82.50 127.50 172.50 0.11044 - 82.50 127.50 177.50 0.111424 - 82.50 127.50 182.50 0.110206 - 82.50 127.50 187.50 0.0572842 - 82.50 127.50 192.50 0.025133 - 82.50 127.50 197.50 0.0139949 - 82.50 127.50 202.50 0.0122309 - 82.50 127.50 207.50 0.0188954 - 82.50 127.50 212.50 0.0337436 - 82.50 127.50 217.50 0.0344461 - 82.50 127.50 222.50 0.0283886 - 82.50 127.50 227.50 0.0295768 - 82.50 127.50 232.50 0.0187428 - 82.50 127.50 237.50 0.0189809 - 82.50 127.50 242.50 0.0294673 - 82.50 127.50 247.50 0.0591752 - 82.50 127.50 252.50 0.108714 - 82.50 127.50 257.50 0.118965 - 82.50 127.50 262.50 0.11044 - 82.50 127.50 267.50 0.111425 - 82.50 127.50 272.50 0.110205 - 82.50 127.50 277.50 0.0572842 - 82.50 127.50 282.50 0.025133 - 82.50 127.50 287.50 0.0139949 - 82.50 127.50 292.50 0.0122309 - 82.50 127.50 297.50 0.0188955 - 82.50 127.50 302.50 0.0337437 - 82.50 127.50 307.50 0.0344461 - 82.50 127.50 312.50 0.0283886 - 82.50 127.50 317.50 0.0295768 - 82.50 127.50 322.50 0.0187428 - 82.50 127.50 327.50 0.0189809 - 82.50 127.50 332.50 0.0294672 - 82.50 127.50 337.50 0.059175 - 82.50 127.50 342.50 0.108714 - 82.50 127.50 347.50 0.118965 - 82.50 127.50 352.50 0.11044 - 82.50 127.50 357.50 0.111424 - 82.50 132.50 2.50 0.0566767 - 82.50 132.50 7.50 0.0285764 - 82.50 132.50 12.50 0.0208145 - 82.50 132.50 17.50 0.0357779 - 82.50 132.50 22.50 0.0611133 - 82.50 132.50 27.50 0.104541 - 82.50 132.50 32.50 0.178877 - 82.50 132.50 37.50 0.229346 - 82.50 132.50 42.50 0.203694 - 82.50 132.50 47.50 0.18153 - 82.50 132.50 52.50 0.120229 - 82.50 132.50 57.50 0.0746005 - 82.50 132.50 62.50 0.040271 - 82.50 132.50 67.50 0.0273174 - 82.50 132.50 72.50 0.0274119 - 82.50 132.50 77.50 0.0292254 - 82.50 132.50 82.50 0.0384049 - 82.50 132.50 87.50 0.057773 - 82.50 132.50 92.50 0.0566767 - 82.50 132.50 97.50 0.0285764 - 82.50 132.50 102.50 0.0208145 - 82.50 132.50 107.50 0.0357779 - 82.50 132.50 112.50 0.0611132 - 82.50 132.50 117.50 0.104541 - 82.50 132.50 122.50 0.178877 - 82.50 132.50 127.50 0.229345 - 82.50 132.50 132.50 0.203694 - 82.50 132.50 137.50 0.181531 - 82.50 132.50 142.50 0.120229 - 82.50 132.50 147.50 0.0746005 - 82.50 132.50 152.50 0.040271 - 82.50 132.50 157.50 0.0273174 - 82.50 132.50 162.50 0.0274119 - 82.50 132.50 167.50 0.0292254 - 82.50 132.50 172.50 0.0384049 - 82.50 132.50 177.50 0.057773 - 82.50 132.50 182.50 0.0566767 - 82.50 132.50 187.50 0.0285764 - 82.50 132.50 192.50 0.0208145 - 82.50 132.50 197.50 0.0357779 - 82.50 132.50 202.50 0.0611132 - 82.50 132.50 207.50 0.104541 - 82.50 132.50 212.50 0.178877 - 82.50 132.50 217.50 0.229346 - 82.50 132.50 222.50 0.203694 - 82.50 132.50 227.50 0.181531 - 82.50 132.50 232.50 0.120228 - 82.50 132.50 237.50 0.0746004 - 82.50 132.50 242.50 0.040271 - 82.50 132.50 247.50 0.0273174 - 82.50 132.50 252.50 0.0274119 - 82.50 132.50 257.50 0.0292254 - 82.50 132.50 262.50 0.0384049 - 82.50 132.50 267.50 0.057773 - 82.50 132.50 272.50 0.0566767 - 82.50 132.50 277.50 0.0285764 - 82.50 132.50 282.50 0.0208145 - 82.50 132.50 287.50 0.0357779 - 82.50 132.50 292.50 0.0611133 - 82.50 132.50 297.50 0.104541 - 82.50 132.50 302.50 0.178877 - 82.50 132.50 307.50 0.229346 - 82.50 132.50 312.50 0.203694 - 82.50 132.50 317.50 0.181531 - 82.50 132.50 322.50 0.120229 - 82.50 132.50 327.50 0.0746005 - 82.50 132.50 332.50 0.0402711 - 82.50 132.50 337.50 0.0273174 - 82.50 132.50 342.50 0.0274118 - 82.50 132.50 347.50 0.0292253 - 82.50 132.50 352.50 0.0384049 - 82.50 132.50 357.50 0.0577728 - 82.50 137.50 2.50 0.0326857 - 82.50 137.50 7.50 0.0252326 - 82.50 137.50 12.50 0.0482188 - 82.50 137.50 17.50 0.114671 - 82.50 137.50 22.50 0.207285 - 82.50 137.50 27.50 0.354763 - 82.50 137.50 32.50 0.56974 - 82.50 137.50 37.50 0.80583 - 82.50 137.50 42.50 0.831385 - 82.50 137.50 47.50 0.790582 - 82.50 137.50 52.50 0.530006 - 82.50 137.50 57.50 0.338105 - 82.50 137.50 62.50 0.152569 - 82.50 137.50 67.50 0.0711573 - 82.50 137.50 72.50 0.0280381 - 82.50 137.50 77.50 0.0157058 - 82.50 137.50 82.50 0.0209977 - 82.50 137.50 87.50 0.0345915 - 82.50 137.50 92.50 0.0326857 - 82.50 137.50 97.50 0.0252326 - 82.50 137.50 102.50 0.0482187 - 82.50 137.50 107.50 0.114671 - 82.50 137.50 112.50 0.207284 - 82.50 137.50 117.50 0.354763 - 82.50 137.50 122.50 0.56974 - 82.50 137.50 127.50 0.80583 - 82.50 137.50 132.50 0.831385 - 82.50 137.50 137.50 0.790582 - 82.50 137.50 142.50 0.530006 - 82.50 137.50 147.50 0.338105 - 82.50 137.50 152.50 0.152569 - 82.50 137.50 157.50 0.0711574 - 82.50 137.50 162.50 0.0280381 - 82.50 137.50 167.50 0.0157059 - 82.50 137.50 172.50 0.0209977 - 82.50 137.50 177.50 0.0345915 - 82.50 137.50 182.50 0.0326856 - 82.50 137.50 187.50 0.0252326 - 82.50 137.50 192.50 0.0482187 - 82.50 137.50 197.50 0.114671 - 82.50 137.50 202.50 0.207285 - 82.50 137.50 207.50 0.354763 - 82.50 137.50 212.50 0.56974 - 82.50 137.50 217.50 0.80583 - 82.50 137.50 222.50 0.831385 - 82.50 137.50 227.50 0.790582 - 82.50 137.50 232.50 0.530006 - 82.50 137.50 237.50 0.338105 - 82.50 137.50 242.50 0.152569 - 82.50 137.50 247.50 0.0711572 - 82.50 137.50 252.50 0.028038 - 82.50 137.50 257.50 0.0157058 - 82.50 137.50 262.50 0.0209977 - 82.50 137.50 267.50 0.0345915 - 82.50 137.50 272.50 0.0326856 - 82.50 137.50 277.50 0.0252326 - 82.50 137.50 282.50 0.0482187 - 82.50 137.50 287.50 0.114671 - 82.50 137.50 292.50 0.207285 - 82.50 137.50 297.50 0.354763 - 82.50 137.50 302.50 0.56974 - 82.50 137.50 307.50 0.80583 - 82.50 137.50 312.50 0.831386 - 82.50 137.50 317.50 0.790582 - 82.50 137.50 322.50 0.530007 - 82.50 137.50 327.50 0.338105 - 82.50 137.50 332.50 0.152569 - 82.50 137.50 337.50 0.0711575 - 82.50 137.50 342.50 0.0280381 - 82.50 137.50 347.50 0.0157059 - 82.50 137.50 352.50 0.0209977 - 82.50 137.50 357.50 0.0345914 - 82.50 142.50 2.50 0.0566768 - 82.50 142.50 7.50 0.0580158 - 82.50 142.50 12.50 0.114879 - 82.50 142.50 17.50 0.26194 - 82.50 142.50 22.50 0.479108 - 82.50 142.50 27.50 0.817295 - 82.50 142.50 32.50 1.35089 - 82.50 142.50 37.50 1.882 - 82.50 142.50 42.50 2.17351 - 82.50 142.50 47.50 2.05118 - 82.50 142.50 52.50 1.54855 - 82.50 142.50 57.50 0.917943 - 82.50 142.50 62.50 0.46399 - 82.50 142.50 67.50 0.209316 - 82.50 142.50 72.50 0.0906725 - 82.50 142.50 77.50 0.0474071 - 82.50 142.50 82.50 0.0415526 - 82.50 142.50 87.50 0.0561728 - 82.50 142.50 92.50 0.0566768 - 82.50 142.50 97.50 0.0580158 - 82.50 142.50 102.50 0.11488 - 82.50 142.50 107.50 0.26194 - 82.50 142.50 112.50 0.479108 - 82.50 142.50 117.50 0.817295 - 82.50 142.50 122.50 1.35089 - 82.50 142.50 127.50 1.882 - 82.50 142.50 132.50 2.17351 - 82.50 142.50 137.50 2.05118 - 82.50 142.50 142.50 1.54855 - 82.50 142.50 147.50 0.917942 - 82.50 142.50 152.50 0.46399 - 82.50 142.50 157.50 0.209317 - 82.50 142.50 162.50 0.0906726 - 82.50 142.50 167.50 0.0474071 - 82.50 142.50 172.50 0.0415526 - 82.50 142.50 177.50 0.0561728 - 82.50 142.50 182.50 0.0566768 - 82.50 142.50 187.50 0.0580158 - 82.50 142.50 192.50 0.114879 - 82.50 142.50 197.50 0.26194 - 82.50 142.50 202.50 0.479108 - 82.50 142.50 207.50 0.817295 - 82.50 142.50 212.50 1.35089 - 82.50 142.50 217.50 1.882 - 82.50 142.50 222.50 2.17351 - 82.50 142.50 227.50 2.05118 - 82.50 142.50 232.50 1.54855 - 82.50 142.50 237.50 0.917941 - 82.50 142.50 242.50 0.463989 - 82.50 142.50 247.50 0.209316 - 82.50 142.50 252.50 0.0906725 - 82.50 142.50 257.50 0.0474071 - 82.50 142.50 262.50 0.0415526 - 82.50 142.50 267.50 0.0561728 - 82.50 142.50 272.50 0.0566767 - 82.50 142.50 277.50 0.0580158 - 82.50 142.50 282.50 0.114879 - 82.50 142.50 287.50 0.26194 - 82.50 142.50 292.50 0.479108 - 82.50 142.50 297.50 0.817295 - 82.50 142.50 302.50 1.35089 - 82.50 142.50 307.50 1.882 - 82.50 142.50 312.50 2.17351 - 82.50 142.50 317.50 2.05118 - 82.50 142.50 322.50 1.54855 - 82.50 142.50 327.50 0.917944 - 82.50 142.50 332.50 0.463991 - 82.50 142.50 337.50 0.209317 - 82.50 142.50 342.50 0.0906728 - 82.50 142.50 347.50 0.0474072 - 82.50 142.50 352.50 0.0415526 - 82.50 142.50 357.50 0.0561728 - 82.50 147.50 2.50 0.110206 - 82.50 147.50 7.50 0.113683 - 82.50 147.50 12.50 0.203154 - 82.50 147.50 17.50 0.43337 - 82.50 147.50 22.50 0.816355 - 82.50 147.50 27.50 1.42083 - 82.50 147.50 32.50 2.31712 - 82.50 147.50 37.50 3.27578 - 82.50 147.50 42.50 3.77276 - 82.50 147.50 47.50 3.54732 - 82.50 147.50 52.50 2.73012 - 82.50 147.50 57.50 1.68937 - 82.50 147.50 62.50 0.88014 - 82.50 147.50 67.50 0.42978 - 82.50 147.50 72.50 0.221104 - 82.50 147.50 77.50 0.137174 - 82.50 147.50 82.50 0.106707 - 82.50 147.50 87.50 0.112048 - 82.50 147.50 92.50 0.110206 - 82.50 147.50 97.50 0.113683 - 82.50 147.50 102.50 0.203154 - 82.50 147.50 107.50 0.43337 - 82.50 147.50 112.50 0.816356 - 82.50 147.50 117.50 1.42083 - 82.50 147.50 122.50 2.31712 - 82.50 147.50 127.50 3.27578 - 82.50 147.50 132.50 3.77275 - 82.50 147.50 137.50 3.54732 - 82.50 147.50 142.50 2.73013 - 82.50 147.50 147.50 1.68937 - 82.50 147.50 152.50 0.880141 - 82.50 147.50 157.50 0.42978 - 82.50 147.50 162.50 0.221104 - 82.50 147.50 167.50 0.137174 - 82.50 147.50 172.50 0.106707 - 82.50 147.50 177.50 0.112048 - 82.50 147.50 182.50 0.110206 - 82.50 147.50 187.50 0.113683 - 82.50 147.50 192.50 0.203154 - 82.50 147.50 197.50 0.43337 - 82.50 147.50 202.50 0.816355 - 82.50 147.50 207.50 1.42083 - 82.50 147.50 212.50 2.31712 - 82.50 147.50 217.50 3.27578 - 82.50 147.50 222.50 3.77275 - 82.50 147.50 227.50 3.54732 - 82.50 147.50 232.50 2.73012 - 82.50 147.50 237.50 1.68937 - 82.50 147.50 242.50 0.88014 - 82.50 147.50 247.50 0.42978 - 82.50 147.50 252.50 0.221103 - 82.50 147.50 257.50 0.137174 - 82.50 147.50 262.50 0.106707 - 82.50 147.50 267.50 0.112048 - 82.50 147.50 272.50 0.110206 - 82.50 147.50 277.50 0.113683 - 82.50 147.50 282.50 0.203154 - 82.50 147.50 287.50 0.433369 - 82.50 147.50 292.50 0.816355 - 82.50 147.50 297.50 1.42083 - 82.50 147.50 302.50 2.31712 - 82.50 147.50 307.50 3.27578 - 82.50 147.50 312.50 3.77276 - 82.50 147.50 317.50 3.54732 - 82.50 147.50 322.50 2.73013 - 82.50 147.50 327.50 1.68937 - 82.50 147.50 332.50 0.880142 - 82.50 147.50 337.50 0.429781 - 82.50 147.50 342.50 0.221104 - 82.50 147.50 347.50 0.137174 - 82.50 147.50 352.50 0.106707 - 82.50 147.50 357.50 0.112048 - 82.50 152.50 2.50 0.164812 - 82.50 152.50 7.50 0.15525 - 82.50 152.50 12.50 0.261037 - 82.50 152.50 17.50 0.521251 - 82.50 152.50 22.50 1.02476 - 82.50 152.50 27.50 1.79176 - 82.50 152.50 32.50 2.84162 - 82.50 152.50 37.50 3.97256 - 82.50 152.50 42.50 4.62496 - 82.50 152.50 47.50 4.37538 - 82.50 152.50 52.50 3.37602 - 82.50 152.50 57.50 2.13732 - 82.50 152.50 62.50 1.17525 - 82.50 152.50 67.50 0.630825 - 82.50 152.50 72.50 0.399216 - 82.50 152.50 77.50 0.303025 - 82.50 152.50 82.50 0.235401 - 82.50 152.50 87.50 0.190251 - 82.50 152.50 92.50 0.164812 - 82.50 152.50 97.50 0.15525 - 82.50 152.50 102.50 0.261037 - 82.50 152.50 107.50 0.521251 - 82.50 152.50 112.50 1.02476 - 82.50 152.50 117.50 1.79176 - 82.50 152.50 122.50 2.84162 - 82.50 152.50 127.50 3.97256 - 82.50 152.50 132.50 4.62496 - 82.50 152.50 137.50 4.37538 - 82.50 152.50 142.50 3.37602 - 82.50 152.50 147.50 2.13732 - 82.50 152.50 152.50 1.17525 - 82.50 152.50 157.50 0.630826 - 82.50 152.50 162.50 0.399216 - 82.50 152.50 167.50 0.303025 - 82.50 152.50 172.50 0.235401 - 82.50 152.50 177.50 0.190251 - 82.50 152.50 182.50 0.164812 - 82.50 152.50 187.50 0.15525 - 82.50 152.50 192.50 0.261037 - 82.50 152.50 197.50 0.521251 - 82.50 152.50 202.50 1.02476 - 82.50 152.50 207.50 1.79176 - 82.50 152.50 212.50 2.84162 - 82.50 152.50 217.50 3.97256 - 82.50 152.50 222.50 4.62496 - 82.50 152.50 227.50 4.37538 - 82.50 152.50 232.50 3.37602 - 82.50 152.50 237.50 2.13732 - 82.50 152.50 242.50 1.17525 - 82.50 152.50 247.50 0.630825 - 82.50 152.50 252.50 0.399215 - 82.50 152.50 257.50 0.303026 - 82.50 152.50 262.50 0.235401 - 82.50 152.50 267.50 0.190251 - 82.50 152.50 272.50 0.164812 - 82.50 152.50 277.50 0.15525 - 82.50 152.50 282.50 0.261037 - 82.50 152.50 287.50 0.521251 - 82.50 152.50 292.50 1.02476 - 82.50 152.50 297.50 1.79176 - 82.50 152.50 302.50 2.84162 - 82.50 152.50 307.50 3.97256 - 82.50 152.50 312.50 4.62496 - 82.50 152.50 317.50 4.37538 - 82.50 152.50 322.50 3.37602 - 82.50 152.50 327.50 2.13732 - 82.50 152.50 332.50 1.17525 - 82.50 152.50 337.50 0.630827 - 82.50 152.50 342.50 0.399216 - 82.50 152.50 347.50 0.303026 - 82.50 152.50 352.50 0.235401 - 82.50 152.50 357.50 0.190251 - 82.50 157.50 2.50 0.232885 - 82.50 157.50 7.50 0.181176 - 82.50 157.50 12.50 0.263627 - 82.50 157.50 17.50 0.487495 - 82.50 157.50 22.50 0.931929 - 82.50 157.50 27.50 1.63991 - 82.50 157.50 32.50 2.51913 - 82.50 157.50 37.50 3.43765 - 82.50 157.50 42.50 4.0122 - 82.50 157.50 47.50 3.91511 - 82.50 157.50 52.50 3.02182 - 82.50 157.50 57.50 1.95711 - 82.50 157.50 62.50 1.162 - 82.50 157.50 67.50 0.737812 - 82.50 157.50 72.50 0.58027 - 82.50 157.50 77.50 0.535545 - 82.50 157.50 82.50 0.432572 - 82.50 157.50 87.50 0.312194 - 82.50 157.50 92.50 0.232885 - 82.50 157.50 97.50 0.181176 - 82.50 157.50 102.50 0.263627 - 82.50 157.50 107.50 0.487495 - 82.50 157.50 112.50 0.93193 - 82.50 157.50 117.50 1.63991 - 82.50 157.50 122.50 2.51913 - 82.50 157.50 127.50 3.43765 - 82.50 157.50 132.50 4.0122 - 82.50 157.50 137.50 3.91511 - 82.50 157.50 142.50 3.02182 - 82.50 157.50 147.50 1.95711 - 82.50 157.50 152.50 1.162 - 82.50 157.50 157.50 0.737812 - 82.50 157.50 162.50 0.580271 - 82.50 157.50 167.50 0.535546 - 82.50 157.50 172.50 0.432572 - 82.50 157.50 177.50 0.312194 - 82.50 157.50 182.50 0.232885 - 82.50 157.50 187.50 0.181176 - 82.50 157.50 192.50 0.263627 - 82.50 157.50 197.50 0.487495 - 82.50 157.50 202.50 0.93193 - 82.50 157.50 207.50 1.63991 - 82.50 157.50 212.50 2.51913 - 82.50 157.50 217.50 3.43765 - 82.50 157.50 222.50 4.0122 - 82.50 157.50 227.50 3.91511 - 82.50 157.50 232.50 3.02182 - 82.50 157.50 237.50 1.9571 - 82.50 157.50 242.50 1.162 - 82.50 157.50 247.50 0.737812 - 82.50 157.50 252.50 0.58027 - 82.50 157.50 257.50 0.535546 - 82.50 157.50 262.50 0.432572 - 82.50 157.50 267.50 0.312194 - 82.50 157.50 272.50 0.232885 - 82.50 157.50 277.50 0.181176 - 82.50 157.50 282.50 0.263627 - 82.50 157.50 287.50 0.487495 - 82.50 157.50 292.50 0.931929 - 82.50 157.50 297.50 1.63991 - 82.50 157.50 302.50 2.51913 - 82.50 157.50 307.50 3.43765 - 82.50 157.50 312.50 4.0122 - 82.50 157.50 317.50 3.91511 - 82.50 157.50 322.50 3.02182 - 82.50 157.50 327.50 1.95711 - 82.50 157.50 332.50 1.162 - 82.50 157.50 337.50 0.737813 - 82.50 157.50 342.50 0.580271 - 82.50 157.50 347.50 0.535546 - 82.50 157.50 352.50 0.432572 - 82.50 157.50 357.50 0.312194 - 82.50 162.50 2.50 0.335764 - 82.50 162.50 7.50 0.222831 - 82.50 162.50 12.50 0.242003 - 82.50 162.50 17.50 0.416464 - 82.50 162.50 22.50 0.700174 - 82.50 162.50 27.50 1.16572 - 82.50 162.50 32.50 1.72951 - 82.50 162.50 37.50 2.2721 - 82.50 162.50 42.50 2.64716 - 82.50 162.50 47.50 2.53465 - 82.50 162.50 52.50 1.99347 - 82.50 162.50 57.50 1.39061 - 82.50 162.50 62.50 0.936155 - 82.50 162.50 67.50 0.688365 - 82.50 162.50 72.50 0.689209 - 82.50 162.50 77.50 0.734155 - 82.50 162.50 82.50 0.634356 - 82.50 162.50 87.50 0.477904 - 82.50 162.50 92.50 0.335764 - 82.50 162.50 97.50 0.222831 - 82.50 162.50 102.50 0.242003 - 82.50 162.50 107.50 0.416465 - 82.50 162.50 112.50 0.700174 - 82.50 162.50 117.50 1.16572 - 82.50 162.50 122.50 1.72951 - 82.50 162.50 127.50 2.2721 - 82.50 162.50 132.50 2.64716 - 82.50 162.50 137.50 2.53465 - 82.50 162.50 142.50 1.99347 - 82.50 162.50 147.50 1.39061 - 82.50 162.50 152.50 0.936155 - 82.50 162.50 157.50 0.688366 - 82.50 162.50 162.50 0.689209 - 82.50 162.50 167.50 0.734154 - 82.50 162.50 172.50 0.634357 - 82.50 162.50 177.50 0.477904 - 82.50 162.50 182.50 0.335764 - 82.50 162.50 187.50 0.222831 - 82.50 162.50 192.50 0.242003 - 82.50 162.50 197.50 0.416464 - 82.50 162.50 202.50 0.700175 - 82.50 162.50 207.50 1.16572 - 82.50 162.50 212.50 1.72951 - 82.50 162.50 217.50 2.2721 - 82.50 162.50 222.50 2.64716 - 82.50 162.50 227.50 2.53465 - 82.50 162.50 232.50 1.99347 - 82.50 162.50 237.50 1.39061 - 82.50 162.50 242.50 0.936155 - 82.50 162.50 247.50 0.688365 - 82.50 162.50 252.50 0.689209 - 82.50 162.50 257.50 0.734155 - 82.50 162.50 262.50 0.634356 - 82.50 162.50 267.50 0.477904 - 82.50 162.50 272.50 0.335764 - 82.50 162.50 277.50 0.222831 - 82.50 162.50 282.50 0.242003 - 82.50 162.50 287.50 0.416464 - 82.50 162.50 292.50 0.700174 - 82.50 162.50 297.50 1.16572 - 82.50 162.50 302.50 1.72951 - 82.50 162.50 307.50 2.2721 - 82.50 162.50 312.50 2.64716 - 82.50 162.50 317.50 2.53465 - 82.50 162.50 322.50 1.99347 - 82.50 162.50 327.50 1.39061 - 82.50 162.50 332.50 0.936156 - 82.50 162.50 337.50 0.688366 - 82.50 162.50 342.50 0.689209 - 82.50 162.50 347.50 0.734155 - 82.50 162.50 352.50 0.634357 - 82.50 162.50 357.50 0.477904 - 82.50 167.50 2.50 0.422612 - 82.50 167.50 7.50 0.257716 - 82.50 167.50 12.50 0.20374 - 82.50 167.50 17.50 0.326764 - 82.50 167.50 22.50 0.533063 - 82.50 167.50 27.50 0.755381 - 82.50 167.50 32.50 0.958856 - 82.50 167.50 37.50 1.19043 - 82.50 167.50 42.50 1.35538 - 82.50 167.50 47.50 1.34198 - 82.50 167.50 52.50 1.12062 - 82.50 167.50 57.50 0.813274 - 82.50 167.50 62.50 0.549046 - 82.50 167.50 67.50 0.523012 - 82.50 167.50 72.50 0.664737 - 82.50 167.50 77.50 0.793547 - 82.50 167.50 82.50 0.752467 - 82.50 167.50 87.50 0.61695 - 82.50 167.50 92.50 0.422612 - 82.50 167.50 97.50 0.257716 - 82.50 167.50 102.50 0.20374 - 82.50 167.50 107.50 0.326764 - 82.50 167.50 112.50 0.533063 - 82.50 167.50 117.50 0.755382 - 82.50 167.50 122.50 0.958856 - 82.50 167.50 127.50 1.19043 - 82.50 167.50 132.50 1.35538 - 82.50 167.50 137.50 1.34198 - 82.50 167.50 142.50 1.12062 - 82.50 167.50 147.50 0.813274 - 82.50 167.50 152.50 0.549046 - 82.50 167.50 157.50 0.523012 - 82.50 167.50 162.50 0.664736 - 82.50 167.50 167.50 0.793547 - 82.50 167.50 172.50 0.752467 - 82.50 167.50 177.50 0.61695 - 82.50 167.50 182.50 0.422612 - 82.50 167.50 187.50 0.257716 - 82.50 167.50 192.50 0.20374 - 82.50 167.50 197.50 0.326764 - 82.50 167.50 202.50 0.533064 - 82.50 167.50 207.50 0.755381 - 82.50 167.50 212.50 0.958856 - 82.50 167.50 217.50 1.19043 - 82.50 167.50 222.50 1.35538 - 82.50 167.50 227.50 1.34198 - 82.50 167.50 232.50 1.12062 - 82.50 167.50 237.50 0.813274 - 82.50 167.50 242.50 0.549046 - 82.50 167.50 247.50 0.523012 - 82.50 167.50 252.50 0.664737 - 82.50 167.50 257.50 0.793547 - 82.50 167.50 262.50 0.752468 - 82.50 167.50 267.50 0.616949 - 82.50 167.50 272.50 0.422612 - 82.50 167.50 277.50 0.257716 - 82.50 167.50 282.50 0.20374 - 82.50 167.50 287.50 0.326764 - 82.50 167.50 292.50 0.533063 - 82.50 167.50 297.50 0.755381 - 82.50 167.50 302.50 0.958856 - 82.50 167.50 307.50 1.19043 - 82.50 167.50 312.50 1.35538 - 82.50 167.50 317.50 1.34198 - 82.50 167.50 322.50 1.12062 - 82.50 167.50 327.50 0.813275 - 82.50 167.50 332.50 0.549046 - 82.50 167.50 337.50 0.523013 - 82.50 167.50 342.50 0.664736 - 82.50 167.50 347.50 0.793546 - 82.50 167.50 352.50 0.752468 - 82.50 167.50 357.50 0.61695 - 82.50 172.50 2.50 0.429837 - 82.50 172.50 7.50 0.235639 - 82.50 172.50 12.50 0.159389 - 82.50 172.50 17.50 0.192409 - 82.50 172.50 22.50 0.31191 - 82.50 172.50 27.50 0.42265 - 82.50 172.50 32.50 0.487629 - 82.50 172.50 37.50 0.532107 - 82.50 172.50 42.50 0.575785 - 82.50 172.50 47.50 0.572373 - 82.50 172.50 52.50 0.488365 - 82.50 172.50 57.50 0.365722 - 82.50 172.50 62.50 0.28858 - 82.50 172.50 67.50 0.333602 - 82.50 172.50 72.50 0.516294 - 82.50 172.50 77.50 0.72275 - 82.50 172.50 82.50 0.813809 - 82.50 172.50 87.50 0.67699 - 82.50 172.50 92.50 0.429837 - 82.50 172.50 97.50 0.235639 - 82.50 172.50 102.50 0.159389 - 82.50 172.50 107.50 0.192409 - 82.50 172.50 112.50 0.311911 - 82.50 172.50 117.50 0.42265 - 82.50 172.50 122.50 0.487629 - 82.50 172.50 127.50 0.532107 - 82.50 172.50 132.50 0.575785 - 82.50 172.50 137.50 0.572373 - 82.50 172.50 142.50 0.488365 - 82.50 172.50 147.50 0.365722 - 82.50 172.50 152.50 0.28858 - 82.50 172.50 157.50 0.333601 - 82.50 172.50 162.50 0.516294 - 82.50 172.50 167.50 0.72275 - 82.50 172.50 172.50 0.813809 - 82.50 172.50 177.50 0.676991 - 82.50 172.50 182.50 0.429837 - 82.50 172.50 187.50 0.235639 - 82.50 172.50 192.50 0.159389 - 82.50 172.50 197.50 0.192409 - 82.50 172.50 202.50 0.311911 - 82.50 172.50 207.50 0.42265 - 82.50 172.50 212.50 0.487629 - 82.50 172.50 217.50 0.532107 - 82.50 172.50 222.50 0.575785 - 82.50 172.50 227.50 0.572373 - 82.50 172.50 232.50 0.488366 - 82.50 172.50 237.50 0.365722 - 82.50 172.50 242.50 0.28858 - 82.50 172.50 247.50 0.333602 - 82.50 172.50 252.50 0.516294 - 82.50 172.50 257.50 0.72275 - 82.50 172.50 262.50 0.813809 - 82.50 172.50 267.50 0.67699 - 82.50 172.50 272.50 0.429837 - 82.50 172.50 277.50 0.235639 - 82.50 172.50 282.50 0.159389 - 82.50 172.50 287.50 0.192409 - 82.50 172.50 292.50 0.31191 - 82.50 172.50 297.50 0.42265 - 82.50 172.50 302.50 0.487629 - 82.50 172.50 307.50 0.532107 - 82.50 172.50 312.50 0.575785 - 82.50 172.50 317.50 0.572373 - 82.50 172.50 322.50 0.488366 - 82.50 172.50 327.50 0.365723 - 82.50 172.50 332.50 0.28858 - 82.50 172.50 337.50 0.333601 - 82.50 172.50 342.50 0.516294 - 82.50 172.50 347.50 0.722749 - 82.50 172.50 352.50 0.813809 - 82.50 172.50 357.50 0.676991 - 82.50 177.50 2.50 0.382022 - 82.50 177.50 7.50 0.174053 - 82.50 177.50 12.50 0.0941881 - 82.50 177.50 17.50 0.0946784 - 82.50 177.50 22.50 0.129792 - 82.50 177.50 27.50 0.162391 - 82.50 177.50 32.50 0.172036 - 82.50 177.50 37.50 0.179473 - 82.50 177.50 42.50 0.190283 - 82.50 177.50 47.50 0.183937 - 82.50 177.50 52.50 0.149476 - 82.50 177.50 57.50 0.109341 - 82.50 177.50 62.50 0.0996237 - 82.50 177.50 67.50 0.17905 - 82.50 177.50 72.50 0.389548 - 82.50 177.50 77.50 0.683201 - 82.50 177.50 82.50 0.831023 - 82.50 177.50 87.50 0.676164 - 82.50 177.50 92.50 0.382022 - 82.50 177.50 97.50 0.174053 - 82.50 177.50 102.50 0.0941881 - 82.50 177.50 107.50 0.0946784 - 82.50 177.50 112.50 0.129792 - 82.50 177.50 117.50 0.162391 - 82.50 177.50 122.50 0.172036 - 82.50 177.50 127.50 0.179473 - 82.50 177.50 132.50 0.190283 - 82.50 177.50 137.50 0.183937 - 82.50 177.50 142.50 0.149476 - 82.50 177.50 147.50 0.109341 - 82.50 177.50 152.50 0.0996238 - 82.50 177.50 157.50 0.17905 - 82.50 177.50 162.50 0.389548 - 82.50 177.50 167.50 0.683201 - 82.50 177.50 172.50 0.831023 - 82.50 177.50 177.50 0.676164 - 82.50 177.50 182.50 0.382022 - 82.50 177.50 187.50 0.174053 - 82.50 177.50 192.50 0.0941881 - 82.50 177.50 197.50 0.0946783 - 82.50 177.50 202.50 0.129792 - 82.50 177.50 207.50 0.162391 - 82.50 177.50 212.50 0.172036 - 82.50 177.50 217.50 0.179473 - 82.50 177.50 222.50 0.190282 - 82.50 177.50 227.50 0.183937 - 82.50 177.50 232.50 0.149476 - 82.50 177.50 237.50 0.109341 - 82.50 177.50 242.50 0.0996238 - 82.50 177.50 247.50 0.17905 - 82.50 177.50 252.50 0.389548 - 82.50 177.50 257.50 0.683201 - 82.50 177.50 262.50 0.831023 - 82.50 177.50 267.50 0.676163 - 82.50 177.50 272.50 0.382022 - 82.50 177.50 277.50 0.174053 - 82.50 177.50 282.50 0.0941881 - 82.50 177.50 287.50 0.0946782 - 82.50 177.50 292.50 0.129792 - 82.50 177.50 297.50 0.162391 - 82.50 177.50 302.50 0.172036 - 82.50 177.50 307.50 0.179473 - 82.50 177.50 312.50 0.190283 - 82.50 177.50 317.50 0.183937 - 82.50 177.50 322.50 0.149476 - 82.50 177.50 327.50 0.109342 - 82.50 177.50 332.50 0.0996238 - 82.50 177.50 337.50 0.179049 - 82.50 177.50 342.50 0.389547 - 82.50 177.50 347.50 0.683201 - 82.50 177.50 352.50 0.831023 - 82.50 177.50 357.50 0.676165 - 87.50 2.50 2.50 0.773179 - 87.50 2.50 7.50 0.980476 - 87.50 2.50 12.50 0.773179 - 87.50 2.50 17.50 0.393272 - 87.50 2.50 22.50 0.149977 - 87.50 2.50 27.50 0.0624686 - 87.50 2.50 32.50 0.0485219 - 87.50 2.50 37.50 0.0601603 - 87.50 2.50 42.50 0.0760385 - 87.50 2.50 47.50 0.083846 - 87.50 2.50 52.50 0.084539 - 87.50 2.50 57.50 0.083846 - 87.50 2.50 62.50 0.0760385 - 87.50 2.50 67.50 0.0601603 - 87.50 2.50 72.50 0.0485219 - 87.50 2.50 77.50 0.0624686 - 87.50 2.50 82.50 0.149977 - 87.50 2.50 87.50 0.393272 - 87.50 2.50 92.50 0.773179 - 87.50 2.50 97.50 0.980476 - 87.50 2.50 102.50 0.773179 - 87.50 2.50 107.50 0.393272 - 87.50 2.50 112.50 0.149977 - 87.50 2.50 117.50 0.0624686 - 87.50 2.50 122.50 0.0485219 - 87.50 2.50 127.50 0.0601603 - 87.50 2.50 132.50 0.0760385 - 87.50 2.50 137.50 0.083846 - 87.50 2.50 142.50 0.084539 - 87.50 2.50 147.50 0.083846 - 87.50 2.50 152.50 0.0760385 - 87.50 2.50 157.50 0.0601603 - 87.50 2.50 162.50 0.048522 - 87.50 2.50 167.50 0.0624685 - 87.50 2.50 172.50 0.149977 - 87.50 2.50 177.50 0.393272 - 87.50 2.50 182.50 0.773179 - 87.50 2.50 187.50 0.980476 - 87.50 2.50 192.50 0.773178 - 87.50 2.50 197.50 0.393272 - 87.50 2.50 202.50 0.149977 - 87.50 2.50 207.50 0.0624686 - 87.50 2.50 212.50 0.0485219 - 87.50 2.50 217.50 0.0601603 - 87.50 2.50 222.50 0.0760385 - 87.50 2.50 227.50 0.083846 - 87.50 2.50 232.50 0.084539 - 87.50 2.50 237.50 0.083846 - 87.50 2.50 242.50 0.0760385 - 87.50 2.50 247.50 0.0601603 - 87.50 2.50 252.50 0.0485219 - 87.50 2.50 257.50 0.0624686 - 87.50 2.50 262.50 0.149977 - 87.50 2.50 267.50 0.393273 - 87.50 2.50 272.50 0.773179 - 87.50 2.50 277.50 0.980476 - 87.50 2.50 282.50 0.773179 - 87.50 2.50 287.50 0.393272 - 87.50 2.50 292.50 0.149977 - 87.50 2.50 297.50 0.0624686 - 87.50 2.50 302.50 0.0485219 - 87.50 2.50 307.50 0.0601603 - 87.50 2.50 312.50 0.0760385 - 87.50 2.50 317.50 0.083846 - 87.50 2.50 322.50 0.084539 - 87.50 2.50 327.50 0.083846 - 87.50 2.50 332.50 0.0760386 - 87.50 2.50 337.50 0.0601604 - 87.50 2.50 342.50 0.048522 - 87.50 2.50 347.50 0.0624684 - 87.50 2.50 352.50 0.149976 - 87.50 2.50 357.50 0.393271 - 87.50 7.50 2.50 0.675975 - 87.50 7.50 7.50 0.828531 - 87.50 7.50 12.50 0.678877 - 87.50 7.50 17.50 0.387056 - 87.50 7.50 22.50 0.179981 - 87.50 7.50 27.50 0.10043 - 87.50 7.50 32.50 0.0974294 - 87.50 7.50 37.50 0.134286 - 87.50 7.50 42.50 0.170958 - 87.50 7.50 47.50 0.185725 - 87.50 7.50 52.50 0.181188 - 87.50 7.50 57.50 0.173803 - 87.50 7.50 62.50 0.1565 - 87.50 7.50 67.50 0.130789 - 87.50 7.50 72.50 0.101157 - 87.50 7.50 77.50 0.099254 - 87.50 7.50 82.50 0.175723 - 87.50 7.50 87.50 0.382539 - 87.50 7.50 92.50 0.675975 - 87.50 7.50 97.50 0.828531 - 87.50 7.50 102.50 0.678877 - 87.50 7.50 107.50 0.387056 - 87.50 7.50 112.50 0.179981 - 87.50 7.50 117.50 0.10043 - 87.50 7.50 122.50 0.0974294 - 87.50 7.50 127.50 0.134286 - 87.50 7.50 132.50 0.170958 - 87.50 7.50 137.50 0.185725 - 87.50 7.50 142.50 0.181188 - 87.50 7.50 147.50 0.173803 - 87.50 7.50 152.50 0.156501 - 87.50 7.50 157.50 0.130789 - 87.50 7.50 162.50 0.101157 - 87.50 7.50 167.50 0.0992539 - 87.50 7.50 172.50 0.175723 - 87.50 7.50 177.50 0.382539 - 87.50 7.50 182.50 0.675975 - 87.50 7.50 187.50 0.828531 - 87.50 7.50 192.50 0.678877 - 87.50 7.50 197.50 0.387056 - 87.50 7.50 202.50 0.179981 - 87.50 7.50 207.50 0.10043 - 87.50 7.50 212.50 0.0974295 - 87.50 7.50 217.50 0.134286 - 87.50 7.50 222.50 0.170958 - 87.50 7.50 227.50 0.185725 - 87.50 7.50 232.50 0.181188 - 87.50 7.50 237.50 0.173803 - 87.50 7.50 242.50 0.156501 - 87.50 7.50 247.50 0.130789 - 87.50 7.50 252.50 0.101157 - 87.50 7.50 257.50 0.099254 - 87.50 7.50 262.50 0.175723 - 87.50 7.50 267.50 0.38254 - 87.50 7.50 272.50 0.675975 - 87.50 7.50 277.50 0.828531 - 87.50 7.50 282.50 0.678877 - 87.50 7.50 287.50 0.387057 - 87.50 7.50 292.50 0.179981 - 87.50 7.50 297.50 0.10043 - 87.50 7.50 302.50 0.0974294 - 87.50 7.50 307.50 0.134286 - 87.50 7.50 312.50 0.170958 - 87.50 7.50 317.50 0.185725 - 87.50 7.50 322.50 0.181188 - 87.50 7.50 327.50 0.173803 - 87.50 7.50 332.50 0.156501 - 87.50 7.50 337.50 0.130789 - 87.50 7.50 342.50 0.101157 - 87.50 7.50 347.50 0.0992539 - 87.50 7.50 352.50 0.175723 - 87.50 7.50 357.50 0.382538 - 87.50 12.50 2.50 0.67853 - 87.50 12.50 7.50 0.802952 - 87.50 12.50 12.50 0.697764 - 87.50 12.50 17.50 0.463163 - 87.50 12.50 22.50 0.300999 - 87.50 12.50 27.50 0.256711 - 87.50 12.50 32.50 0.31833 - 87.50 12.50 37.50 0.42707 - 87.50 12.50 42.50 0.525746 - 87.50 12.50 47.50 0.557421 - 87.50 12.50 52.50 0.538478 - 87.50 12.50 57.50 0.50719 - 87.50 12.50 62.50 0.449265 - 87.50 12.50 67.50 0.355199 - 87.50 12.50 72.50 0.248079 - 87.50 12.50 77.50 0.18001 - 87.50 12.50 82.50 0.242843 - 87.50 12.50 87.50 0.434478 - 87.50 12.50 92.50 0.67853 - 87.50 12.50 97.50 0.802952 - 87.50 12.50 102.50 0.697764 - 87.50 12.50 107.50 0.463163 - 87.50 12.50 112.50 0.300999 - 87.50 12.50 117.50 0.256711 - 87.50 12.50 122.50 0.31833 - 87.50 12.50 127.50 0.42707 - 87.50 12.50 132.50 0.525746 - 87.50 12.50 137.50 0.557421 - 87.50 12.50 142.50 0.538479 - 87.50 12.50 147.50 0.50719 - 87.50 12.50 152.50 0.449265 - 87.50 12.50 157.50 0.355199 - 87.50 12.50 162.50 0.248079 - 87.50 12.50 167.50 0.18001 - 87.50 12.50 172.50 0.242843 - 87.50 12.50 177.50 0.434478 - 87.50 12.50 182.50 0.67853 - 87.50 12.50 187.50 0.802952 - 87.50 12.50 192.50 0.697764 - 87.50 12.50 197.50 0.463163 - 87.50 12.50 202.50 0.300999 - 87.50 12.50 207.50 0.256711 - 87.50 12.50 212.50 0.31833 - 87.50 12.50 217.50 0.42707 - 87.50 12.50 222.50 0.525747 - 87.50 12.50 227.50 0.557421 - 87.50 12.50 232.50 0.538478 - 87.50 12.50 237.50 0.50719 - 87.50 12.50 242.50 0.449265 - 87.50 12.50 247.50 0.355199 - 87.50 12.50 252.50 0.248078 - 87.50 12.50 257.50 0.18001 - 87.50 12.50 262.50 0.242843 - 87.50 12.50 267.50 0.434478 - 87.50 12.50 272.50 0.67853 - 87.50 12.50 277.50 0.802952 - 87.50 12.50 282.50 0.697764 - 87.50 12.50 287.50 0.463163 - 87.50 12.50 292.50 0.300999 - 87.50 12.50 297.50 0.256711 - 87.50 12.50 302.50 0.31833 - 87.50 12.50 307.50 0.42707 - 87.50 12.50 312.50 0.525747 - 87.50 12.50 317.50 0.557421 - 87.50 12.50 322.50 0.538478 - 87.50 12.50 327.50 0.50719 - 87.50 12.50 332.50 0.449265 - 87.50 12.50 337.50 0.355199 - 87.50 12.50 342.50 0.248079 - 87.50 12.50 347.50 0.18001 - 87.50 12.50 352.50 0.242842 - 87.50 12.50 357.50 0.434477 - 87.50 17.50 2.50 0.62136 - 87.50 17.50 7.50 0.719669 - 87.50 17.50 12.50 0.68042 - 87.50 17.50 17.50 0.569854 - 87.50 17.50 22.50 0.453063 - 87.50 17.50 27.50 0.461889 - 87.50 17.50 32.50 0.615539 - 87.50 17.50 37.50 0.922203 - 87.50 17.50 42.50 1.18348 - 87.50 17.50 47.50 1.30137 - 87.50 17.50 52.50 1.2491 - 87.50 17.50 57.50 1.09057 - 87.50 17.50 62.50 0.843855 - 87.50 17.50 67.50 0.63043 - 87.50 17.50 72.50 0.432846 - 87.50 17.50 77.50 0.296244 - 87.50 17.50 82.50 0.281707 - 87.50 17.50 87.50 0.437086 - 87.50 17.50 92.50 0.62136 - 87.50 17.50 97.50 0.719669 - 87.50 17.50 102.50 0.680419 - 87.50 17.50 107.50 0.569854 - 87.50 17.50 112.50 0.453063 - 87.50 17.50 117.50 0.461889 - 87.50 17.50 122.50 0.615539 - 87.50 17.50 127.50 0.922203 - 87.50 17.50 132.50 1.18348 - 87.50 17.50 137.50 1.30137 - 87.50 17.50 142.50 1.2491 - 87.50 17.50 147.50 1.09057 - 87.50 17.50 152.50 0.843856 - 87.50 17.50 157.50 0.63043 - 87.50 17.50 162.50 0.432846 - 87.50 17.50 167.50 0.296244 - 87.50 17.50 172.50 0.281707 - 87.50 17.50 177.50 0.437086 - 87.50 17.50 182.50 0.62136 - 87.50 17.50 187.50 0.719669 - 87.50 17.50 192.50 0.68042 - 87.50 17.50 197.50 0.569854 - 87.50 17.50 202.50 0.453063 - 87.50 17.50 207.50 0.461889 - 87.50 17.50 212.50 0.61554 - 87.50 17.50 217.50 0.922203 - 87.50 17.50 222.50 1.18348 - 87.50 17.50 227.50 1.30137 - 87.50 17.50 232.50 1.2491 - 87.50 17.50 237.50 1.09057 - 87.50 17.50 242.50 0.843855 - 87.50 17.50 247.50 0.63043 - 87.50 17.50 252.50 0.432846 - 87.50 17.50 257.50 0.296244 - 87.50 17.50 262.50 0.281707 - 87.50 17.50 267.50 0.437086 - 87.50 17.50 272.50 0.62136 - 87.50 17.50 277.50 0.71967 - 87.50 17.50 282.50 0.68042 - 87.50 17.50 287.50 0.569854 - 87.50 17.50 292.50 0.453063 - 87.50 17.50 297.50 0.461889 - 87.50 17.50 302.50 0.615539 - 87.50 17.50 307.50 0.922203 - 87.50 17.50 312.50 1.18348 - 87.50 17.50 317.50 1.30137 - 87.50 17.50 322.50 1.2491 - 87.50 17.50 327.50 1.09058 - 87.50 17.50 332.50 0.843856 - 87.50 17.50 337.50 0.63043 - 87.50 17.50 342.50 0.432847 - 87.50 17.50 347.50 0.296244 - 87.50 17.50 352.50 0.281707 - 87.50 17.50 357.50 0.437085 - 87.50 22.50 2.50 0.48194 - 87.50 22.50 7.50 0.558621 - 87.50 22.50 12.50 0.594511 - 87.50 22.50 17.50 0.561809 - 87.50 22.50 22.50 0.527195 - 87.50 22.50 27.50 0.683605 - 87.50 22.50 32.50 1.07404 - 87.50 22.50 37.50 1.59739 - 87.50 22.50 42.50 2.13429 - 87.50 22.50 47.50 2.46548 - 87.50 22.50 52.50 2.38186 - 87.50 22.50 57.50 1.9798 - 87.50 22.50 62.50 1.47679 - 87.50 22.50 67.50 0.948699 - 87.50 22.50 72.50 0.56114 - 87.50 22.50 77.50 0.361966 - 87.50 22.50 82.50 0.288839 - 87.50 22.50 87.50 0.357811 - 87.50 22.50 92.50 0.48194 - 87.50 22.50 97.50 0.558621 - 87.50 22.50 102.50 0.594511 - 87.50 22.50 107.50 0.561809 - 87.50 22.50 112.50 0.527195 - 87.50 22.50 117.50 0.683605 - 87.50 22.50 122.50 1.07404 - 87.50 22.50 127.50 1.59739 - 87.50 22.50 132.50 2.13429 - 87.50 22.50 137.50 2.46548 - 87.50 22.50 142.50 2.38186 - 87.50 22.50 147.50 1.9798 - 87.50 22.50 152.50 1.47679 - 87.50 22.50 157.50 0.9487 - 87.50 22.50 162.50 0.56114 - 87.50 22.50 167.50 0.361967 - 87.50 22.50 172.50 0.28884 - 87.50 22.50 177.50 0.35781 - 87.50 22.50 182.50 0.48194 - 87.50 22.50 187.50 0.558622 - 87.50 22.50 192.50 0.594511 - 87.50 22.50 197.50 0.561809 - 87.50 22.50 202.50 0.527195 - 87.50 22.50 207.50 0.683605 - 87.50 22.50 212.50 1.07404 - 87.50 22.50 217.50 1.59739 - 87.50 22.50 222.50 2.13429 - 87.50 22.50 227.50 2.46548 - 87.50 22.50 232.50 2.38186 - 87.50 22.50 237.50 1.9798 - 87.50 22.50 242.50 1.47679 - 87.50 22.50 247.50 0.948699 - 87.50 22.50 252.50 0.561139 - 87.50 22.50 257.50 0.361966 - 87.50 22.50 262.50 0.288839 - 87.50 22.50 267.50 0.357811 - 87.50 22.50 272.50 0.48194 - 87.50 22.50 277.50 0.558622 - 87.50 22.50 282.50 0.594511 - 87.50 22.50 287.50 0.561809 - 87.50 22.50 292.50 0.527195 - 87.50 22.50 297.50 0.683605 - 87.50 22.50 302.50 1.07404 - 87.50 22.50 307.50 1.59738 - 87.50 22.50 312.50 2.13428 - 87.50 22.50 317.50 2.46548 - 87.50 22.50 322.50 2.38186 - 87.50 22.50 327.50 1.9798 - 87.50 22.50 332.50 1.47679 - 87.50 22.50 337.50 0.948701 - 87.50 22.50 342.50 0.56114 - 87.50 22.50 347.50 0.361967 - 87.50 22.50 352.50 0.288839 - 87.50 22.50 357.50 0.35781 - 87.50 27.50 2.50 0.315487 - 87.50 27.50 7.50 0.359669 - 87.50 27.50 12.50 0.414034 - 87.50 27.50 17.50 0.439566 - 87.50 27.50 22.50 0.532543 - 87.50 27.50 27.50 0.845019 - 87.50 27.50 32.50 1.43418 - 87.50 27.50 37.50 2.34685 - 87.50 27.50 42.50 3.27428 - 87.50 27.50 47.50 3.83254 - 87.50 27.50 52.50 3.63699 - 87.50 27.50 57.50 2.95161 - 87.50 27.50 62.50 2.08375 - 87.50 27.50 67.50 1.30889 - 87.50 27.50 72.50 0.716853 - 87.50 27.50 77.50 0.384715 - 87.50 27.50 82.50 0.256208 - 87.50 27.50 87.50 0.251243 - 87.50 27.50 92.50 0.315487 - 87.50 27.50 97.50 0.359669 - 87.50 27.50 102.50 0.414034 - 87.50 27.50 107.50 0.439566 - 87.50 27.50 112.50 0.532542 - 87.50 27.50 117.50 0.845019 - 87.50 27.50 122.50 1.43418 - 87.50 27.50 127.50 2.34686 - 87.50 27.50 132.50 3.27428 - 87.50 27.50 137.50 3.83254 - 87.50 27.50 142.50 3.63699 - 87.50 27.50 147.50 2.95161 - 87.50 27.50 152.50 2.08375 - 87.50 27.50 157.50 1.30889 - 87.50 27.50 162.50 0.716853 - 87.50 27.50 167.50 0.384715 - 87.50 27.50 172.50 0.256208 - 87.50 27.50 177.50 0.251243 - 87.50 27.50 182.50 0.315487 - 87.50 27.50 187.50 0.359669 - 87.50 27.50 192.50 0.414034 - 87.50 27.50 197.50 0.439566 - 87.50 27.50 202.50 0.532542 - 87.50 27.50 207.50 0.845019 - 87.50 27.50 212.50 1.43418 - 87.50 27.50 217.50 2.34685 - 87.50 27.50 222.50 3.27428 - 87.50 27.50 227.50 3.83254 - 87.50 27.50 232.50 3.63698 - 87.50 27.50 237.50 2.9516 - 87.50 27.50 242.50 2.08375 - 87.50 27.50 247.50 1.30889 - 87.50 27.50 252.50 0.716853 - 87.50 27.50 257.50 0.384715 - 87.50 27.50 262.50 0.256208 - 87.50 27.50 267.50 0.251243 - 87.50 27.50 272.50 0.315487 - 87.50 27.50 277.50 0.359669 - 87.50 27.50 282.50 0.414034 - 87.50 27.50 287.50 0.439566 - 87.50 27.50 292.50 0.532542 - 87.50 27.50 297.50 0.845019 - 87.50 27.50 302.50 1.43418 - 87.50 27.50 307.50 2.34685 - 87.50 27.50 312.50 3.27428 - 87.50 27.50 317.50 3.83254 - 87.50 27.50 322.50 3.63699 - 87.50 27.50 327.50 2.95161 - 87.50 27.50 332.50 2.08375 - 87.50 27.50 337.50 1.30889 - 87.50 27.50 342.50 0.716854 - 87.50 27.50 347.50 0.384715 - 87.50 27.50 352.50 0.256208 - 87.50 27.50 357.50 0.251242 - 87.50 32.50 2.50 0.199216 - 87.50 32.50 7.50 0.2097 - 87.50 32.50 12.50 0.236242 - 87.50 32.50 17.50 0.286681 - 87.50 32.50 22.50 0.442373 - 87.50 32.50 27.50 0.824261 - 87.50 32.50 32.50 1.55947 - 87.50 32.50 37.50 2.62026 - 87.50 32.50 42.50 3.69609 - 87.50 32.50 47.50 4.33348 - 87.50 32.50 52.50 4.20894 - 87.50 32.50 57.50 3.36236 - 87.50 32.50 62.50 2.31146 - 87.50 32.50 67.50 1.40692 - 87.50 32.50 72.50 0.763626 - 87.50 32.50 77.50 0.37138 - 87.50 32.50 82.50 0.210139 - 87.50 32.50 87.50 0.176545 - 87.50 32.50 92.50 0.199216 - 87.50 32.50 97.50 0.2097 - 87.50 32.50 102.50 0.236243 - 87.50 32.50 107.50 0.286681 - 87.50 32.50 112.50 0.442373 - 87.50 32.50 117.50 0.824262 - 87.50 32.50 122.50 1.55947 - 87.50 32.50 127.50 2.62026 - 87.50 32.50 132.50 3.6961 - 87.50 32.50 137.50 4.33348 - 87.50 32.50 142.50 4.20894 - 87.50 32.50 147.50 3.36236 - 87.50 32.50 152.50 2.31147 - 87.50 32.50 157.50 1.40693 - 87.50 32.50 162.50 0.763626 - 87.50 32.50 167.50 0.371381 - 87.50 32.50 172.50 0.210139 - 87.50 32.50 177.50 0.176545 - 87.50 32.50 182.50 0.199216 - 87.50 32.50 187.50 0.2097 - 87.50 32.50 192.50 0.236243 - 87.50 32.50 197.50 0.286681 - 87.50 32.50 202.50 0.442374 - 87.50 32.50 207.50 0.824262 - 87.50 32.50 212.50 1.55947 - 87.50 32.50 217.50 2.62026 - 87.50 32.50 222.50 3.6961 - 87.50 32.50 227.50 4.33348 - 87.50 32.50 232.50 4.20894 - 87.50 32.50 237.50 3.36237 - 87.50 32.50 242.50 2.31146 - 87.50 32.50 247.50 1.40692 - 87.50 32.50 252.50 0.763625 - 87.50 32.50 257.50 0.37138 - 87.50 32.50 262.50 0.210138 - 87.50 32.50 267.50 0.176545 - 87.50 32.50 272.50 0.199216 - 87.50 32.50 277.50 0.2097 - 87.50 32.50 282.50 0.236243 - 87.50 32.50 287.50 0.286681 - 87.50 32.50 292.50 0.442374 - 87.50 32.50 297.50 0.824261 - 87.50 32.50 302.50 1.55947 - 87.50 32.50 307.50 2.62026 - 87.50 32.50 312.50 3.69609 - 87.50 32.50 317.50 4.33348 - 87.50 32.50 322.50 4.20894 - 87.50 32.50 327.50 3.36237 - 87.50 32.50 332.50 2.31147 - 87.50 32.50 337.50 1.40693 - 87.50 32.50 342.50 0.763627 - 87.50 32.50 347.50 0.371381 - 87.50 32.50 352.50 0.210139 - 87.50 32.50 357.50 0.176545 - 87.50 37.50 2.50 0.129213 - 87.50 37.50 7.50 0.122909 - 87.50 37.50 12.50 0.116352 - 87.50 37.50 17.50 0.155519 - 87.50 37.50 22.50 0.293615 - 87.50 37.50 27.50 0.615071 - 87.50 37.50 32.50 1.21571 - 87.50 37.50 37.50 2.08558 - 87.50 37.50 42.50 2.958 - 87.50 37.50 47.50 3.47034 - 87.50 37.50 52.50 3.36986 - 87.50 37.50 57.50 2.70449 - 87.50 37.50 62.50 1.82953 - 87.50 37.50 67.50 1.10692 - 87.50 37.50 72.50 0.604254 - 87.50 37.50 77.50 0.292756 - 87.50 37.50 82.50 0.145218 - 87.50 37.50 87.50 0.118247 - 87.50 37.50 92.50 0.129213 - 87.50 37.50 97.50 0.122909 - 87.50 37.50 102.50 0.116352 - 87.50 37.50 107.50 0.155519 - 87.50 37.50 112.50 0.293615 - 87.50 37.50 117.50 0.615071 - 87.50 37.50 122.50 1.21571 - 87.50 37.50 127.50 2.08558 - 87.50 37.50 132.50 2.958 - 87.50 37.50 137.50 3.47034 - 87.50 37.50 142.50 3.36985 - 87.50 37.50 147.50 2.70449 - 87.50 37.50 152.50 1.82953 - 87.50 37.50 157.50 1.10692 - 87.50 37.50 162.50 0.604254 - 87.50 37.50 167.50 0.292757 - 87.50 37.50 172.50 0.145218 - 87.50 37.50 177.50 0.118248 - 87.50 37.50 182.50 0.129213 - 87.50 37.50 187.50 0.122909 - 87.50 37.50 192.50 0.116352 - 87.50 37.50 197.50 0.155519 - 87.50 37.50 202.50 0.293616 - 87.50 37.50 207.50 0.615072 - 87.50 37.50 212.50 1.21571 - 87.50 37.50 217.50 2.08558 - 87.50 37.50 222.50 2.958 - 87.50 37.50 227.50 3.47034 - 87.50 37.50 232.50 3.36985 - 87.50 37.50 237.50 2.70449 - 87.50 37.50 242.50 1.82953 - 87.50 37.50 247.50 1.10692 - 87.50 37.50 252.50 0.604254 - 87.50 37.50 257.50 0.292756 - 87.50 37.50 262.50 0.145218 - 87.50 37.50 267.50 0.118247 - 87.50 37.50 272.50 0.129213 - 87.50 37.50 277.50 0.122909 - 87.50 37.50 282.50 0.116352 - 87.50 37.50 287.50 0.155519 - 87.50 37.50 292.50 0.293616 - 87.50 37.50 297.50 0.615071 - 87.50 37.50 302.50 1.21571 - 87.50 37.50 307.50 2.08558 - 87.50 37.50 312.50 2.958 - 87.50 37.50 317.50 3.47034 - 87.50 37.50 322.50 3.36986 - 87.50 37.50 327.50 2.70449 - 87.50 37.50 332.50 1.82954 - 87.50 37.50 337.50 1.10692 - 87.50 37.50 342.50 0.604255 - 87.50 37.50 347.50 0.292757 - 87.50 37.50 352.50 0.145218 - 87.50 37.50 357.50 0.118247 - 87.50 42.50 2.50 0.071631 - 87.50 42.50 7.50 0.064012 - 87.50 42.50 12.50 0.0483848 - 87.50 42.50 17.50 0.063983 - 87.50 42.50 22.50 0.141382 - 87.50 42.50 27.50 0.323247 - 87.50 42.50 32.50 0.661872 - 87.50 42.50 37.50 1.14566 - 87.50 42.50 42.50 1.64199 - 87.50 42.50 47.50 1.91265 - 87.50 42.50 52.50 1.82863 - 87.50 42.50 57.50 1.48065 - 87.50 42.50 62.50 1.03025 - 87.50 42.50 67.50 0.62698 - 87.50 42.50 72.50 0.356892 - 87.50 42.50 77.50 0.17185 - 87.50 42.50 82.50 0.0755904 - 87.50 42.50 87.50 0.0616514 - 87.50 42.50 92.50 0.071631 - 87.50 42.50 97.50 0.0640119 - 87.50 42.50 102.50 0.0483847 - 87.50 42.50 107.50 0.063983 - 87.50 42.50 112.50 0.141382 - 87.50 42.50 117.50 0.323247 - 87.50 42.50 122.50 0.661872 - 87.50 42.50 127.50 1.14566 - 87.50 42.50 132.50 1.64199 - 87.50 42.50 137.50 1.91265 - 87.50 42.50 142.50 1.82863 - 87.50 42.50 147.50 1.48065 - 87.50 42.50 152.50 1.03025 - 87.50 42.50 157.50 0.626981 - 87.50 42.50 162.50 0.356892 - 87.50 42.50 167.50 0.17185 - 87.50 42.50 172.50 0.0755905 - 87.50 42.50 177.50 0.0616514 - 87.50 42.50 182.50 0.071631 - 87.50 42.50 187.50 0.0640119 - 87.50 42.50 192.50 0.0483848 - 87.50 42.50 197.50 0.063983 - 87.50 42.50 202.50 0.141382 - 87.50 42.50 207.50 0.323246 - 87.50 42.50 212.50 0.661872 - 87.50 42.50 217.50 1.14566 - 87.50 42.50 222.50 1.64199 - 87.50 42.50 227.50 1.91265 - 87.50 42.50 232.50 1.82863 - 87.50 42.50 237.50 1.48065 - 87.50 42.50 242.50 1.03025 - 87.50 42.50 247.50 0.62698 - 87.50 42.50 252.50 0.356891 - 87.50 42.50 257.50 0.17185 - 87.50 42.50 262.50 0.0755904 - 87.50 42.50 267.50 0.0616514 - 87.50 42.50 272.50 0.071631 - 87.50 42.50 277.50 0.064012 - 87.50 42.50 282.50 0.0483848 - 87.50 42.50 287.50 0.063983 - 87.50 42.50 292.50 0.141382 - 87.50 42.50 297.50 0.323246 - 87.50 42.50 302.50 0.66187 - 87.50 42.50 307.50 1.14566 - 87.50 42.50 312.50 1.64199 - 87.50 42.50 317.50 1.91265 - 87.50 42.50 322.50 1.82863 - 87.50 42.50 327.50 1.48065 - 87.50 42.50 332.50 1.03025 - 87.50 42.50 337.50 0.626981 - 87.50 42.50 342.50 0.356892 - 87.50 42.50 347.50 0.17185 - 87.50 42.50 352.50 0.0755906 - 87.50 42.50 357.50 0.0616513 - 87.50 47.50 2.50 0.0446415 - 87.50 47.50 7.50 0.0381159 - 87.50 47.50 12.50 0.0213814 - 87.50 47.50 17.50 0.0214015 - 87.50 47.50 22.50 0.0486705 - 87.50 47.50 27.50 0.117599 - 87.50 47.50 32.50 0.226915 - 87.50 47.50 37.50 0.425319 - 87.50 47.50 42.50 0.55622 - 87.50 47.50 47.50 0.715766 - 87.50 47.50 52.50 0.660828 - 87.50 47.50 57.50 0.595303 - 87.50 47.50 62.50 0.400611 - 87.50 47.50 67.50 0.26034 - 87.50 47.50 72.50 0.15642 - 87.50 47.50 77.50 0.0738832 - 87.50 47.50 82.50 0.0323235 - 87.50 47.50 87.50 0.0320298 - 87.50 47.50 92.50 0.0446415 - 87.50 47.50 97.50 0.0381159 - 87.50 47.50 102.50 0.0213814 - 87.50 47.50 107.50 0.0214015 - 87.50 47.50 112.50 0.0486705 - 87.50 47.50 117.50 0.117599 - 87.50 47.50 122.50 0.226915 - 87.50 47.50 127.50 0.425319 - 87.50 47.50 132.50 0.55622 - 87.50 47.50 137.50 0.715766 - 87.50 47.50 142.50 0.660828 - 87.50 47.50 147.50 0.595303 - 87.50 47.50 152.50 0.400611 - 87.50 47.50 157.50 0.26034 - 87.50 47.50 162.50 0.15642 - 87.50 47.50 167.50 0.0738833 - 87.50 47.50 172.50 0.0323236 - 87.50 47.50 177.50 0.0320298 - 87.50 47.50 182.50 0.0446415 - 87.50 47.50 187.50 0.0381159 - 87.50 47.50 192.50 0.0213814 - 87.50 47.50 197.50 0.0214015 - 87.50 47.50 202.50 0.0486706 - 87.50 47.50 207.50 0.117599 - 87.50 47.50 212.50 0.226915 - 87.50 47.50 217.50 0.425319 - 87.50 47.50 222.50 0.556219 - 87.50 47.50 227.50 0.715766 - 87.50 47.50 232.50 0.660828 - 87.50 47.50 237.50 0.595303 - 87.50 47.50 242.50 0.400611 - 87.50 47.50 247.50 0.26034 - 87.50 47.50 252.50 0.156419 - 87.50 47.50 257.50 0.0738831 - 87.50 47.50 262.50 0.0323235 - 87.50 47.50 267.50 0.0320298 - 87.50 47.50 272.50 0.0446415 - 87.50 47.50 277.50 0.0381159 - 87.50 47.50 282.50 0.0213814 - 87.50 47.50 287.50 0.0214015 - 87.50 47.50 292.50 0.0486705 - 87.50 47.50 297.50 0.117599 - 87.50 47.50 302.50 0.226915 - 87.50 47.50 307.50 0.425319 - 87.50 47.50 312.50 0.556219 - 87.50 47.50 317.50 0.715766 - 87.50 47.50 322.50 0.660828 - 87.50 47.50 327.50 0.595304 - 87.50 47.50 332.50 0.400611 - 87.50 47.50 337.50 0.26034 - 87.50 47.50 342.50 0.15642 - 87.50 47.50 347.50 0.0738834 - 87.50 47.50 352.50 0.0323236 - 87.50 47.50 357.50 0.0320298 - 87.50 52.50 2.50 0.071631 - 87.50 52.50 7.50 0.0584064 - 87.50 52.50 12.50 0.0318593 - 87.50 52.50 17.50 0.0220366 - 87.50 52.50 22.50 0.0254592 - 87.50 52.50 27.50 0.0323969 - 87.50 52.50 32.50 0.0561325 - 87.50 52.50 37.50 0.0919798 - 87.50 52.50 42.50 0.119274 - 87.50 52.50 47.50 0.159105 - 87.50 52.50 52.50 0.152444 - 87.50 52.50 57.50 0.154173 - 87.50 52.50 62.50 0.112257 - 87.50 52.50 67.50 0.0685249 - 87.50 52.50 72.50 0.0465787 - 87.50 52.50 77.50 0.0264904 - 87.50 52.50 82.50 0.022551 - 87.50 52.50 87.50 0.0443058 - 87.50 52.50 92.50 0.071631 - 87.50 52.50 97.50 0.0584064 - 87.50 52.50 102.50 0.0318592 - 87.50 52.50 107.50 0.0220366 - 87.50 52.50 112.50 0.0254592 - 87.50 52.50 117.50 0.032397 - 87.50 52.50 122.50 0.0561326 - 87.50 52.50 127.50 0.0919799 - 87.50 52.50 132.50 0.119274 - 87.50 52.50 137.50 0.159105 - 87.50 52.50 142.50 0.152444 - 87.50 52.50 147.50 0.154174 - 87.50 52.50 152.50 0.112257 - 87.50 52.50 157.50 0.0685249 - 87.50 52.50 162.50 0.0465787 - 87.50 52.50 167.50 0.0264904 - 87.50 52.50 172.50 0.022551 - 87.50 52.50 177.50 0.0443058 - 87.50 52.50 182.50 0.0716309 - 87.50 52.50 187.50 0.0584064 - 87.50 52.50 192.50 0.0318592 - 87.50 52.50 197.50 0.0220366 - 87.50 52.50 202.50 0.0254592 - 87.50 52.50 207.50 0.032397 - 87.50 52.50 212.50 0.0561325 - 87.50 52.50 217.50 0.0919799 - 87.50 52.50 222.50 0.119274 - 87.50 52.50 227.50 0.159105 - 87.50 52.50 232.50 0.152444 - 87.50 52.50 237.50 0.154173 - 87.50 52.50 242.50 0.112257 - 87.50 52.50 247.50 0.0685249 - 87.50 52.50 252.50 0.0465787 - 87.50 52.50 257.50 0.0264903 - 87.50 52.50 262.50 0.022551 - 87.50 52.50 267.50 0.0443058 - 87.50 52.50 272.50 0.0716309 - 87.50 52.50 277.50 0.0584064 - 87.50 52.50 282.50 0.0318592 - 87.50 52.50 287.50 0.0220366 - 87.50 52.50 292.50 0.0254592 - 87.50 52.50 297.50 0.032397 - 87.50 52.50 302.50 0.0561324 - 87.50 52.50 307.50 0.0919798 - 87.50 52.50 312.50 0.119274 - 87.50 52.50 317.50 0.159105 - 87.50 52.50 322.50 0.152444 - 87.50 52.50 327.50 0.154174 - 87.50 52.50 332.50 0.112257 - 87.50 52.50 337.50 0.0685249 - 87.50 52.50 342.50 0.0465787 - 87.50 52.50 347.50 0.0264904 - 87.50 52.50 352.50 0.022551 - 87.50 52.50 357.50 0.0443057 - 87.50 57.50 2.50 0.129213 - 87.50 57.50 7.50 0.111751 - 87.50 57.50 12.50 0.0935966 - 87.50 57.50 17.50 0.0867768 - 87.50 57.50 22.50 0.0704791 - 87.50 57.50 27.50 0.0308298 - 87.50 57.50 32.50 0.0185263 - 87.50 57.50 37.50 0.0147355 - 87.50 57.50 42.50 0.0146644 - 87.50 57.50 47.50 0.0224384 - 87.50 57.50 52.50 0.0189907 - 87.50 57.50 57.50 0.0224542 - 87.50 57.50 62.50 0.0202864 - 87.50 57.50 67.50 0.0130544 - 87.50 57.50 72.50 0.0154728 - 87.50 57.50 77.50 0.0279321 - 87.50 57.50 82.50 0.0447639 - 87.50 57.50 87.50 0.087848 - 87.50 57.50 92.50 0.129213 - 87.50 57.50 97.50 0.111751 - 87.50 57.50 102.50 0.0935966 - 87.50 57.50 107.50 0.0867767 - 87.50 57.50 112.50 0.0704791 - 87.50 57.50 117.50 0.0308298 - 87.50 57.50 122.50 0.0185263 - 87.50 57.50 127.50 0.0147355 - 87.50 57.50 132.50 0.0146644 - 87.50 57.50 137.50 0.0224384 - 87.50 57.50 142.50 0.0189908 - 87.50 57.50 147.50 0.0224542 - 87.50 57.50 152.50 0.0202864 - 87.50 57.50 157.50 0.0130544 - 87.50 57.50 162.50 0.0154728 - 87.50 57.50 167.50 0.0279321 - 87.50 57.50 172.50 0.0447638 - 87.50 57.50 177.50 0.0878479 - 87.50 57.50 182.50 0.129213 - 87.50 57.50 187.50 0.111751 - 87.50 57.50 192.50 0.0935965 - 87.50 57.50 197.50 0.0867767 - 87.50 57.50 202.50 0.0704791 - 87.50 57.50 207.50 0.0308298 - 87.50 57.50 212.50 0.0185263 - 87.50 57.50 217.50 0.0147355 - 87.50 57.50 222.50 0.0146644 - 87.50 57.50 227.50 0.0224384 - 87.50 57.50 232.50 0.0189908 - 87.50 57.50 237.50 0.0224542 - 87.50 57.50 242.50 0.0202864 - 87.50 57.50 247.50 0.0130544 - 87.50 57.50 252.50 0.0154728 - 87.50 57.50 257.50 0.0279321 - 87.50 57.50 262.50 0.0447639 - 87.50 57.50 267.50 0.087848 - 87.50 57.50 272.50 0.129213 - 87.50 57.50 277.50 0.111751 - 87.50 57.50 282.50 0.0935966 - 87.50 57.50 287.50 0.0867768 - 87.50 57.50 292.50 0.0704791 - 87.50 57.50 297.50 0.0308299 - 87.50 57.50 302.50 0.0185263 - 87.50 57.50 307.50 0.0147355 - 87.50 57.50 312.50 0.0146644 - 87.50 57.50 317.50 0.0224384 - 87.50 57.50 322.50 0.0189907 - 87.50 57.50 327.50 0.0224542 - 87.50 57.50 332.50 0.0202864 - 87.50 57.50 337.50 0.0130544 - 87.50 57.50 342.50 0.0154728 - 87.50 57.50 347.50 0.027932 - 87.50 57.50 352.50 0.0447638 - 87.50 57.50 357.50 0.0878478 - 87.50 62.50 2.50 0.199216 - 87.50 62.50 7.50 0.217024 - 87.50 62.50 12.50 0.250801 - 87.50 62.50 17.50 0.280883 - 87.50 62.50 22.50 0.202193 - 87.50 62.50 27.50 0.113871 - 87.50 62.50 32.50 0.055558 - 87.50 62.50 37.50 0.0260342 - 87.50 62.50 42.50 0.0152566 - 87.50 62.50 47.50 0.00959743 - 87.50 62.50 52.50 0.00583439 - 87.50 62.50 57.50 0.00579802 - 87.50 62.50 62.50 0.00746501 - 87.50 62.50 67.50 0.0177908 - 87.50 62.50 72.50 0.0389299 - 87.50 62.50 77.50 0.0733649 - 87.50 62.50 82.50 0.116617 - 87.50 62.50 87.50 0.164714 - 87.50 62.50 92.50 0.199216 - 87.50 62.50 97.50 0.217024 - 87.50 62.50 102.50 0.250801 - 87.50 62.50 107.50 0.280883 - 87.50 62.50 112.50 0.202193 - 87.50 62.50 117.50 0.113871 - 87.50 62.50 122.50 0.0555579 - 87.50 62.50 127.50 0.0260342 - 87.50 62.50 132.50 0.0152566 - 87.50 62.50 137.50 0.00959743 - 87.50 62.50 142.50 0.00583439 - 87.50 62.50 147.50 0.00579802 - 87.50 62.50 152.50 0.00746499 - 87.50 62.50 157.50 0.0177908 - 87.50 62.50 162.50 0.0389298 - 87.50 62.50 167.50 0.0733648 - 87.50 62.50 172.50 0.116617 - 87.50 62.50 177.50 0.164714 - 87.50 62.50 182.50 0.199216 - 87.50 62.50 187.50 0.217024 - 87.50 62.50 192.50 0.250801 - 87.50 62.50 197.50 0.280883 - 87.50 62.50 202.50 0.202193 - 87.50 62.50 207.50 0.113871 - 87.50 62.50 212.50 0.055558 - 87.50 62.50 217.50 0.0260342 - 87.50 62.50 222.50 0.0152566 - 87.50 62.50 227.50 0.00959742 - 87.50 62.50 232.50 0.00583438 - 87.50 62.50 237.50 0.00579802 - 87.50 62.50 242.50 0.007465 - 87.50 62.50 247.50 0.0177908 - 87.50 62.50 252.50 0.0389299 - 87.50 62.50 257.50 0.0733649 - 87.50 62.50 262.50 0.116617 - 87.50 62.50 267.50 0.164714 - 87.50 62.50 272.50 0.199216 - 87.50 62.50 277.50 0.217024 - 87.50 62.50 282.50 0.250801 - 87.50 62.50 287.50 0.280883 - 87.50 62.50 292.50 0.202193 - 87.50 62.50 297.50 0.113871 - 87.50 62.50 302.50 0.0555581 - 87.50 62.50 307.50 0.0260342 - 87.50 62.50 312.50 0.0152566 - 87.50 62.50 317.50 0.00959744 - 87.50 62.50 322.50 0.0058344 - 87.50 62.50 327.50 0.00579802 - 87.50 62.50 332.50 0.00746499 - 87.50 62.50 337.50 0.0177908 - 87.50 62.50 342.50 0.0389298 - 87.50 62.50 347.50 0.0733648 - 87.50 62.50 352.50 0.116617 - 87.50 62.50 357.50 0.164714 - 87.50 67.50 2.50 0.315487 - 87.50 67.50 7.50 0.423212 - 87.50 67.50 12.50 0.553665 - 87.50 67.50 17.50 0.614975 - 87.50 67.50 22.50 0.497872 - 87.50 67.50 27.50 0.330718 - 87.50 67.50 32.50 0.175925 - 87.50 67.50 37.50 0.116624 - 87.50 67.50 42.50 0.0773158 - 87.50 67.50 47.50 0.0501735 - 87.50 67.50 52.50 0.0384044 - 87.50 67.50 57.50 0.0312142 - 87.50 67.50 62.50 0.0327666 - 87.50 67.50 67.50 0.0571467 - 87.50 67.50 72.50 0.121828 - 87.50 67.50 77.50 0.194398 - 87.50 67.50 82.50 0.292089 - 87.50 67.50 87.50 0.301277 - 87.50 67.50 92.50 0.315487 - 87.50 67.50 97.50 0.423211 - 87.50 67.50 102.50 0.553665 - 87.50 67.50 107.50 0.614975 - 87.50 67.50 112.50 0.497872 - 87.50 67.50 117.50 0.330718 - 87.50 67.50 122.50 0.175925 - 87.50 67.50 127.50 0.116624 - 87.50 67.50 132.50 0.0773157 - 87.50 67.50 137.50 0.0501734 - 87.50 67.50 142.50 0.0384044 - 87.50 67.50 147.50 0.0312141 - 87.50 67.50 152.50 0.0327665 - 87.50 67.50 157.50 0.0571466 - 87.50 67.50 162.50 0.121827 - 87.50 67.50 167.50 0.194398 - 87.50 67.50 172.50 0.292089 - 87.50 67.50 177.50 0.301277 - 87.50 67.50 182.50 0.315487 - 87.50 67.50 187.50 0.423211 - 87.50 67.50 192.50 0.553665 - 87.50 67.50 197.50 0.614975 - 87.50 67.50 202.50 0.497872 - 87.50 67.50 207.50 0.330718 - 87.50 67.50 212.50 0.175925 - 87.50 67.50 217.50 0.116624 - 87.50 67.50 222.50 0.0773158 - 87.50 67.50 227.50 0.0501734 - 87.50 67.50 232.50 0.0384043 - 87.50 67.50 237.50 0.0312141 - 87.50 67.50 242.50 0.0327665 - 87.50 67.50 247.50 0.0571468 - 87.50 67.50 252.50 0.121828 - 87.50 67.50 257.50 0.194398 - 87.50 67.50 262.50 0.292089 - 87.50 67.50 267.50 0.301277 - 87.50 67.50 272.50 0.315487 - 87.50 67.50 277.50 0.423211 - 87.50 67.50 282.50 0.553665 - 87.50 67.50 287.50 0.614975 - 87.50 67.50 292.50 0.497873 - 87.50 67.50 297.50 0.330718 - 87.50 67.50 302.50 0.175925 - 87.50 67.50 307.50 0.116625 - 87.50 67.50 312.50 0.0773159 - 87.50 67.50 317.50 0.0501735 - 87.50 67.50 322.50 0.0384044 - 87.50 67.50 327.50 0.0312141 - 87.50 67.50 332.50 0.0327665 - 87.50 67.50 337.50 0.0571466 - 87.50 67.50 342.50 0.121827 - 87.50 67.50 347.50 0.194398 - 87.50 67.50 352.50 0.292089 - 87.50 67.50 357.50 0.301277 - 87.50 72.50 2.50 0.48194 - 87.50 72.50 7.50 0.692972 - 87.50 72.50 12.50 0.981032 - 87.50 72.50 17.50 1.02864 - 87.50 72.50 22.50 0.924236 - 87.50 72.50 27.50 0.68723 - 87.50 72.50 32.50 0.532979 - 87.50 72.50 37.50 0.420563 - 87.50 72.50 42.50 0.32551 - 87.50 72.50 47.50 0.226613 - 87.50 72.50 52.50 0.17526 - 87.50 72.50 57.50 0.14196 - 87.50 72.50 62.50 0.157031 - 87.50 72.50 67.50 0.20459 - 87.50 72.50 72.50 0.277815 - 87.50 72.50 77.50 0.402013 - 87.50 72.50 82.50 0.534204 - 87.50 72.50 87.50 0.497251 - 87.50 72.50 92.50 0.48194 - 87.50 72.50 97.50 0.692972 - 87.50 72.50 102.50 0.981031 - 87.50 72.50 107.50 1.02864 - 87.50 72.50 112.50 0.924236 - 87.50 72.50 117.50 0.68723 - 87.50 72.50 122.50 0.532978 - 87.50 72.50 127.50 0.420562 - 87.50 72.50 132.50 0.32551 - 87.50 72.50 137.50 0.226613 - 87.50 72.50 142.50 0.17526 - 87.50 72.50 147.50 0.14196 - 87.50 72.50 152.50 0.15703 - 87.50 72.50 157.50 0.20459 - 87.50 72.50 162.50 0.277814 - 87.50 72.50 167.50 0.402013 - 87.50 72.50 172.50 0.534204 - 87.50 72.50 177.50 0.497252 - 87.50 72.50 182.50 0.48194 - 87.50 72.50 187.50 0.692972 - 87.50 72.50 192.50 0.981032 - 87.50 72.50 197.50 1.02864 - 87.50 72.50 202.50 0.924236 - 87.50 72.50 207.50 0.68723 - 87.50 72.50 212.50 0.532978 - 87.50 72.50 217.50 0.420562 - 87.50 72.50 222.50 0.32551 - 87.50 72.50 227.50 0.226613 - 87.50 72.50 232.50 0.17526 - 87.50 72.50 237.50 0.14196 - 87.50 72.50 242.50 0.15703 - 87.50 72.50 247.50 0.20459 - 87.50 72.50 252.50 0.277814 - 87.50 72.50 257.50 0.402013 - 87.50 72.50 262.50 0.534204 - 87.50 72.50 267.50 0.497251 - 87.50 72.50 272.50 0.48194 - 87.50 72.50 277.50 0.692972 - 87.50 72.50 282.50 0.981031 - 87.50 72.50 287.50 1.02864 - 87.50 72.50 292.50 0.924236 - 87.50 72.50 297.50 0.68723 - 87.50 72.50 302.50 0.532979 - 87.50 72.50 307.50 0.420563 - 87.50 72.50 312.50 0.32551 - 87.50 72.50 317.50 0.226613 - 87.50 72.50 322.50 0.17526 - 87.50 72.50 327.50 0.14196 - 87.50 72.50 332.50 0.157031 - 87.50 72.50 337.50 0.20459 - 87.50 72.50 342.50 0.277814 - 87.50 72.50 347.50 0.402013 - 87.50 72.50 352.50 0.534203 - 87.50 72.50 357.50 0.497252 - 87.50 77.50 2.50 0.62136 - 87.50 77.50 7.50 0.887681 - 87.50 77.50 12.50 1.27734 - 87.50 77.50 17.50 1.36928 - 87.50 77.50 22.50 1.32676 - 87.50 77.50 27.50 1.25923 - 87.50 77.50 32.50 1.17616 - 87.50 77.50 37.50 1.0831 - 87.50 77.50 42.50 0.929733 - 87.50 77.50 47.50 0.744164 - 87.50 77.50 52.50 0.575054 - 87.50 77.50 57.50 0.497392 - 87.50 77.50 62.50 0.453531 - 87.50 77.50 67.50 0.511238 - 87.50 77.50 72.50 0.6064 - 87.50 77.50 77.50 0.655583 - 87.50 77.50 82.50 0.731978 - 87.50 77.50 87.50 0.727332 - 87.50 77.50 92.50 0.62136 - 87.50 77.50 97.50 0.887681 - 87.50 77.50 102.50 1.27734 - 87.50 77.50 107.50 1.36928 - 87.50 77.50 112.50 1.32676 - 87.50 77.50 117.50 1.25923 - 87.50 77.50 122.50 1.17616 - 87.50 77.50 127.50 1.0831 - 87.50 77.50 132.50 0.929732 - 87.50 77.50 137.50 0.744164 - 87.50 77.50 142.50 0.575054 - 87.50 77.50 147.50 0.497392 - 87.50 77.50 152.50 0.453531 - 87.50 77.50 157.50 0.511238 - 87.50 77.50 162.50 0.606399 - 87.50 77.50 167.50 0.655583 - 87.50 77.50 172.50 0.731978 - 87.50 77.50 177.50 0.727332 - 87.50 77.50 182.50 0.62136 - 87.50 77.50 187.50 0.88768 - 87.50 77.50 192.50 1.27734 - 87.50 77.50 197.50 1.36928 - 87.50 77.50 202.50 1.32676 - 87.50 77.50 207.50 1.25923 - 87.50 77.50 212.50 1.17616 - 87.50 77.50 217.50 1.0831 - 87.50 77.50 222.50 0.929732 - 87.50 77.50 227.50 0.744164 - 87.50 77.50 232.50 0.575054 - 87.50 77.50 237.50 0.497392 - 87.50 77.50 242.50 0.453531 - 87.50 77.50 247.50 0.511238 - 87.50 77.50 252.50 0.606399 - 87.50 77.50 257.50 0.655583 - 87.50 77.50 262.50 0.731978 - 87.50 77.50 267.50 0.727331 - 87.50 77.50 272.50 0.62136 - 87.50 77.50 277.50 0.887681 - 87.50 77.50 282.50 1.27733 - 87.50 77.50 287.50 1.36928 - 87.50 77.50 292.50 1.32676 - 87.50 77.50 297.50 1.25923 - 87.50 77.50 302.50 1.17616 - 87.50 77.50 307.50 1.0831 - 87.50 77.50 312.50 0.929732 - 87.50 77.50 317.50 0.744165 - 87.50 77.50 322.50 0.575055 - 87.50 77.50 327.50 0.497392 - 87.50 77.50 332.50 0.453531 - 87.50 77.50 337.50 0.511238 - 87.50 77.50 342.50 0.606399 - 87.50 77.50 347.50 0.655583 - 87.50 77.50 352.50 0.731978 - 87.50 77.50 357.50 0.727333 - 87.50 82.50 2.50 0.678531 - 87.50 82.50 7.50 0.974543 - 87.50 82.50 12.50 1.30382 - 87.50 82.50 17.50 1.54849 - 87.50 82.50 22.50 1.72625 - 87.50 82.50 27.50 1.78902 - 87.50 82.50 32.50 1.86928 - 87.50 82.50 37.50 1.89632 - 87.50 82.50 42.50 1.76806 - 87.50 82.50 47.50 1.5513 - 87.50 82.50 52.50 1.33209 - 87.50 82.50 57.50 1.15026 - 87.50 82.50 62.50 1.03003 - 87.50 82.50 67.50 0.994833 - 87.50 82.50 72.50 1.00253 - 87.50 82.50 77.50 0.985946 - 87.50 82.50 82.50 0.900572 - 87.50 82.50 87.50 0.846666 - 87.50 82.50 92.50 0.678531 - 87.50 82.50 97.50 0.974542 - 87.50 82.50 102.50 1.30382 - 87.50 82.50 107.50 1.54849 - 87.50 82.50 112.50 1.72625 - 87.50 82.50 117.50 1.78902 - 87.50 82.50 122.50 1.86928 - 87.50 82.50 127.50 1.89632 - 87.50 82.50 132.50 1.76806 - 87.50 82.50 137.50 1.5513 - 87.50 82.50 142.50 1.33209 - 87.50 82.50 147.50 1.15026 - 87.50 82.50 152.50 1.03003 - 87.50 82.50 157.50 0.994834 - 87.50 82.50 162.50 1.00252 - 87.50 82.50 167.50 0.985946 - 87.50 82.50 172.50 0.900571 - 87.50 82.50 177.50 0.846666 - 87.50 82.50 182.50 0.678531 - 87.50 82.50 187.50 0.974543 - 87.50 82.50 192.50 1.30382 - 87.50 82.50 197.50 1.54849 - 87.50 82.50 202.50 1.72625 - 87.50 82.50 207.50 1.78902 - 87.50 82.50 212.50 1.86928 - 87.50 82.50 217.50 1.89632 - 87.50 82.50 222.50 1.76806 - 87.50 82.50 227.50 1.5513 - 87.50 82.50 232.50 1.33209 - 87.50 82.50 237.50 1.15026 - 87.50 82.50 242.50 1.03003 - 87.50 82.50 247.50 0.994834 - 87.50 82.50 252.50 1.00252 - 87.50 82.50 257.50 0.985946 - 87.50 82.50 262.50 0.900572 - 87.50 82.50 267.50 0.846666 - 87.50 82.50 272.50 0.67853 - 87.50 82.50 277.50 0.974542 - 87.50 82.50 282.50 1.30382 - 87.50 82.50 287.50 1.54849 - 87.50 82.50 292.50 1.72625 - 87.50 82.50 297.50 1.78902 - 87.50 82.50 302.50 1.86928 - 87.50 82.50 307.50 1.89632 - 87.50 82.50 312.50 1.76806 - 87.50 82.50 317.50 1.5513 - 87.50 82.50 322.50 1.33209 - 87.50 82.50 327.50 1.15026 - 87.50 82.50 332.50 1.03003 - 87.50 82.50 337.50 0.994833 - 87.50 82.50 342.50 1.00253 - 87.50 82.50 347.50 0.985947 - 87.50 82.50 352.50 0.900572 - 87.50 82.50 357.50 0.846666 - 87.50 87.50 2.50 0.675975 - 87.50 87.50 7.50 0.904599 - 87.50 87.50 12.50 1.30054 - 87.50 87.50 17.50 1.53291 - 87.50 87.50 22.50 1.72113 - 87.50 87.50 27.50 1.9414 - 87.50 87.50 32.50 2.09116 - 87.50 87.50 37.50 2.22374 - 87.50 87.50 42.50 2.2667 - 87.50 87.50 47.50 2.14012 - 87.50 87.50 52.50 1.95851 - 87.50 87.50 57.50 1.78035 - 87.50 87.50 62.50 1.63603 - 87.50 87.50 67.50 1.54273 - 87.50 87.50 72.50 1.41026 - 87.50 87.50 77.50 1.23448 - 87.50 87.50 82.50 1.13153 - 87.50 87.50 87.50 0.83902 - 87.50 87.50 92.50 0.675975 - 87.50 87.50 97.50 0.904599 - 87.50 87.50 102.50 1.30055 - 87.50 87.50 107.50 1.53291 - 87.50 87.50 112.50 1.72113 - 87.50 87.50 117.50 1.9414 - 87.50 87.50 122.50 2.09116 - 87.50 87.50 127.50 2.22374 - 87.50 87.50 132.50 2.2667 - 87.50 87.50 137.50 2.14012 - 87.50 87.50 142.50 1.95851 - 87.50 87.50 147.50 1.78035 - 87.50 87.50 152.50 1.63603 - 87.50 87.50 157.50 1.54273 - 87.50 87.50 162.50 1.41026 - 87.50 87.50 167.50 1.23448 - 87.50 87.50 172.50 1.13153 - 87.50 87.50 177.50 0.83902 - 87.50 87.50 182.50 0.675975 - 87.50 87.50 187.50 0.904599 - 87.50 87.50 192.50 1.30054 - 87.50 87.50 197.50 1.53291 - 87.50 87.50 202.50 1.72113 - 87.50 87.50 207.50 1.9414 - 87.50 87.50 212.50 2.09116 - 87.50 87.50 217.50 2.22374 - 87.50 87.50 222.50 2.26669 - 87.50 87.50 227.50 2.14012 - 87.50 87.50 232.50 1.9585 - 87.50 87.50 237.50 1.78035 - 87.50 87.50 242.50 1.63603 - 87.50 87.50 247.50 1.54273 - 87.50 87.50 252.50 1.41026 - 87.50 87.50 257.50 1.23448 - 87.50 87.50 262.50 1.13152 - 87.50 87.50 267.50 0.839019 - 87.50 87.50 272.50 0.675975 - 87.50 87.50 277.50 0.904598 - 87.50 87.50 282.50 1.30054 - 87.50 87.50 287.50 1.53291 - 87.50 87.50 292.50 1.72113 - 87.50 87.50 297.50 1.9414 - 87.50 87.50 302.50 2.09116 - 87.50 87.50 307.50 2.22374 - 87.50 87.50 312.50 2.2667 - 87.50 87.50 317.50 2.14012 - 87.50 87.50 322.50 1.95851 - 87.50 87.50 327.50 1.78035 - 87.50 87.50 332.50 1.63603 - 87.50 87.50 337.50 1.54273 - 87.50 87.50 342.50 1.41026 - 87.50 87.50 347.50 1.23448 - 87.50 87.50 352.50 1.13153 - 87.50 87.50 357.50 0.83902 - 87.50 92.50 2.50 0.773178 - 87.50 92.50 7.50 0.987354 - 87.50 92.50 12.50 1.3016 - 87.50 92.50 17.50 1.52023 - 87.50 92.50 22.50 1.70709 - 87.50 92.50 27.50 1.8763 - 87.50 92.50 32.50 2.00435 - 87.50 92.50 37.50 2.14417 - 87.50 92.50 42.50 2.24978 - 87.50 92.50 47.50 2.27582 - 87.50 92.50 52.50 2.24978 - 87.50 92.50 57.50 2.14417 - 87.50 92.50 62.50 2.00435 - 87.50 92.50 67.50 1.8763 - 87.50 92.50 72.50 1.70709 - 87.50 92.50 77.50 1.52023 - 87.50 92.50 82.50 1.3016 - 87.50 92.50 87.50 0.987352 - 87.50 92.50 92.50 0.773179 - 87.50 92.50 97.50 0.987355 - 87.50 92.50 102.50 1.3016 - 87.50 92.50 107.50 1.52023 - 87.50 92.50 112.50 1.70709 - 87.50 92.50 117.50 1.8763 - 87.50 92.50 122.50 2.00435 - 87.50 92.50 127.50 2.14417 - 87.50 92.50 132.50 2.24978 - 87.50 92.50 137.50 2.27582 - 87.50 92.50 142.50 2.24978 - 87.50 92.50 147.50 2.14417 - 87.50 92.50 152.50 2.00435 - 87.50 92.50 157.50 1.8763 - 87.50 92.50 162.50 1.70709 - 87.50 92.50 167.50 1.52023 - 87.50 92.50 172.50 1.3016 - 87.50 92.50 177.50 0.987354 - 87.50 92.50 182.50 0.773178 - 87.50 92.50 187.50 0.987355 - 87.50 92.50 192.50 1.3016 - 87.50 92.50 197.50 1.52023 - 87.50 92.50 202.50 1.70709 - 87.50 92.50 207.50 1.8763 - 87.50 92.50 212.50 2.00435 - 87.50 92.50 217.50 2.14417 - 87.50 92.50 222.50 2.24978 - 87.50 92.50 227.50 2.27582 - 87.50 92.50 232.50 2.24978 - 87.50 92.50 237.50 2.14417 - 87.50 92.50 242.50 2.00435 - 87.50 92.50 247.50 1.8763 - 87.50 92.50 252.50 1.70709 - 87.50 92.50 257.50 1.52022 - 87.50 92.50 262.50 1.3016 - 87.50 92.50 267.50 0.987352 - 87.50 92.50 272.50 0.773178 - 87.50 92.50 277.50 0.987355 - 87.50 92.50 282.50 1.3016 - 87.50 92.50 287.50 1.52023 - 87.50 92.50 292.50 1.70709 - 87.50 92.50 297.50 1.8763 - 87.50 92.50 302.50 2.00435 - 87.50 92.50 307.50 2.14417 - 87.50 92.50 312.50 2.24978 - 87.50 92.50 317.50 2.27582 - 87.50 92.50 322.50 2.24978 - 87.50 92.50 327.50 2.14417 - 87.50 92.50 332.50 2.00435 - 87.50 92.50 337.50 1.8763 - 87.50 92.50 342.50 1.70709 - 87.50 92.50 347.50 1.52023 - 87.50 92.50 352.50 1.3016 - 87.50 92.50 357.50 0.987354 - 87.50 97.50 2.50 0.675975 - 87.50 97.50 7.50 0.83902 - 87.50 97.50 12.50 1.13153 - 87.50 97.50 17.50 1.23448 - 87.50 97.50 22.50 1.41026 - 87.50 97.50 27.50 1.54273 - 87.50 97.50 32.50 1.63603 - 87.50 97.50 37.50 1.78035 - 87.50 97.50 42.50 1.95851 - 87.50 97.50 47.50 2.14012 - 87.50 97.50 52.50 2.2667 - 87.50 97.50 57.50 2.22374 - 87.50 97.50 62.50 2.09116 - 87.50 97.50 67.50 1.9414 - 87.50 97.50 72.50 1.72113 - 87.50 97.50 77.50 1.53291 - 87.50 97.50 82.50 1.30055 - 87.50 97.50 87.50 0.904599 - 87.50 97.50 92.50 0.675975 - 87.50 97.50 97.50 0.83902 - 87.50 97.50 102.50 1.13153 - 87.50 97.50 107.50 1.23448 - 87.50 97.50 112.50 1.41026 - 87.50 97.50 117.50 1.54273 - 87.50 97.50 122.50 1.63603 - 87.50 97.50 127.50 1.78035 - 87.50 97.50 132.50 1.95851 - 87.50 97.50 137.50 2.14012 - 87.50 97.50 142.50 2.2667 - 87.50 97.50 147.50 2.22374 - 87.50 97.50 152.50 2.09116 - 87.50 97.50 157.50 1.9414 - 87.50 97.50 162.50 1.72113 - 87.50 97.50 167.50 1.53291 - 87.50 97.50 172.50 1.30055 - 87.50 97.50 177.50 0.904599 - 87.50 97.50 182.50 0.675975 - 87.50 97.50 187.50 0.83902 - 87.50 97.50 192.50 1.13153 - 87.50 97.50 197.50 1.23448 - 87.50 97.50 202.50 1.41026 - 87.50 97.50 207.50 1.54273 - 87.50 97.50 212.50 1.63603 - 87.50 97.50 217.50 1.78035 - 87.50 97.50 222.50 1.95851 - 87.50 97.50 227.50 2.14012 - 87.50 97.50 232.50 2.2667 - 87.50 97.50 237.50 2.22374 - 87.50 97.50 242.50 2.09116 - 87.50 97.50 247.50 1.9414 - 87.50 97.50 252.50 1.72113 - 87.50 97.50 257.50 1.53291 - 87.50 97.50 262.50 1.30054 - 87.50 97.50 267.50 0.904598 - 87.50 97.50 272.50 0.675975 - 87.50 97.50 277.50 0.83902 - 87.50 97.50 282.50 1.13152 - 87.50 97.50 287.50 1.23448 - 87.50 97.50 292.50 1.41026 - 87.50 97.50 297.50 1.54273 - 87.50 97.50 302.50 1.63603 - 87.50 97.50 307.50 1.78035 - 87.50 97.50 312.50 1.95851 - 87.50 97.50 317.50 2.14012 - 87.50 97.50 322.50 2.2667 - 87.50 97.50 327.50 2.22375 - 87.50 97.50 332.50 2.09116 - 87.50 97.50 337.50 1.9414 - 87.50 97.50 342.50 1.72113 - 87.50 97.50 347.50 1.53291 - 87.50 97.50 352.50 1.30055 - 87.50 97.50 357.50 0.904599 - 87.50 102.50 2.50 0.67853 - 87.50 102.50 7.50 0.846666 - 87.50 102.50 12.50 0.900573 - 87.50 102.50 17.50 0.985947 - 87.50 102.50 22.50 1.00252 - 87.50 102.50 27.50 0.994833 - 87.50 102.50 32.50 1.03003 - 87.50 102.50 37.50 1.15026 - 87.50 102.50 42.50 1.33209 - 87.50 102.50 47.50 1.5513 - 87.50 102.50 52.50 1.76806 - 87.50 102.50 57.50 1.89632 - 87.50 102.50 62.50 1.86928 - 87.50 102.50 67.50 1.78902 - 87.50 102.50 72.50 1.72625 - 87.50 102.50 77.50 1.54849 - 87.50 102.50 82.50 1.30382 - 87.50 102.50 87.50 0.974541 - 87.50 102.50 92.50 0.67853 - 87.50 102.50 97.50 0.846666 - 87.50 102.50 102.50 0.900572 - 87.50 102.50 107.50 0.985946 - 87.50 102.50 112.50 1.00253 - 87.50 102.50 117.50 0.994834 - 87.50 102.50 122.50 1.03003 - 87.50 102.50 127.50 1.15026 - 87.50 102.50 132.50 1.33209 - 87.50 102.50 137.50 1.5513 - 87.50 102.50 142.50 1.76806 - 87.50 102.50 147.50 1.89632 - 87.50 102.50 152.50 1.86928 - 87.50 102.50 157.50 1.78903 - 87.50 102.50 162.50 1.72625 - 87.50 102.50 167.50 1.54849 - 87.50 102.50 172.50 1.30382 - 87.50 102.50 177.50 0.974543 - 87.50 102.50 182.50 0.67853 - 87.50 102.50 187.50 0.846666 - 87.50 102.50 192.50 0.900572 - 87.50 102.50 197.50 0.985946 - 87.50 102.50 202.50 1.00253 - 87.50 102.50 207.50 0.994834 - 87.50 102.50 212.50 1.03003 - 87.50 102.50 217.50 1.15026 - 87.50 102.50 222.50 1.33209 - 87.50 102.50 227.50 1.5513 - 87.50 102.50 232.50 1.76806 - 87.50 102.50 237.50 1.89632 - 87.50 102.50 242.50 1.86928 - 87.50 102.50 247.50 1.78902 - 87.50 102.50 252.50 1.72625 - 87.50 102.50 257.50 1.54849 - 87.50 102.50 262.50 1.30382 - 87.50 102.50 267.50 0.974541 - 87.50 102.50 272.50 0.67853 - 87.50 102.50 277.50 0.846666 - 87.50 102.50 282.50 0.900572 - 87.50 102.50 287.50 0.985946 - 87.50 102.50 292.50 1.00253 - 87.50 102.50 297.50 0.994834 - 87.50 102.50 302.50 1.03003 - 87.50 102.50 307.50 1.15026 - 87.50 102.50 312.50 1.33209 - 87.50 102.50 317.50 1.5513 - 87.50 102.50 322.50 1.76806 - 87.50 102.50 327.50 1.89632 - 87.50 102.50 332.50 1.86928 - 87.50 102.50 337.50 1.78902 - 87.50 102.50 342.50 1.72625 - 87.50 102.50 347.50 1.54849 - 87.50 102.50 352.50 1.30382 - 87.50 102.50 357.50 0.974544 - 87.50 107.50 2.50 0.62136 - 87.50 107.50 7.50 0.727331 - 87.50 107.50 12.50 0.731978 - 87.50 107.50 17.50 0.655583 - 87.50 107.50 22.50 0.606399 - 87.50 107.50 27.50 0.511238 - 87.50 107.50 32.50 0.453531 - 87.50 107.50 37.50 0.497392 - 87.50 107.50 42.50 0.575054 - 87.50 107.50 47.50 0.744164 - 87.50 107.50 52.50 0.929732 - 87.50 107.50 57.50 1.0831 - 87.50 107.50 62.50 1.17616 - 87.50 107.50 67.50 1.25923 - 87.50 107.50 72.50 1.32676 - 87.50 107.50 77.50 1.36928 - 87.50 107.50 82.50 1.27734 - 87.50 107.50 87.50 0.887681 - 87.50 107.50 92.50 0.62136 - 87.50 107.50 97.50 0.727332 - 87.50 107.50 102.50 0.731978 - 87.50 107.50 107.50 0.655583 - 87.50 107.50 112.50 0.6064 - 87.50 107.50 117.50 0.511238 - 87.50 107.50 122.50 0.453532 - 87.50 107.50 127.50 0.497392 - 87.50 107.50 132.50 0.575055 - 87.50 107.50 137.50 0.744165 - 87.50 107.50 142.50 0.929733 - 87.50 107.50 147.50 1.0831 - 87.50 107.50 152.50 1.17616 - 87.50 107.50 157.50 1.25923 - 87.50 107.50 162.50 1.32676 - 87.50 107.50 167.50 1.36928 - 87.50 107.50 172.50 1.27734 - 87.50 107.50 177.50 0.887681 - 87.50 107.50 182.50 0.62136 - 87.50 107.50 187.50 0.727332 - 87.50 107.50 192.50 0.731978 - 87.50 107.50 197.50 0.655583 - 87.50 107.50 202.50 0.6064 - 87.50 107.50 207.50 0.511238 - 87.50 107.50 212.50 0.453531 - 87.50 107.50 217.50 0.497392 - 87.50 107.50 222.50 0.575054 - 87.50 107.50 227.50 0.744165 - 87.50 107.50 232.50 0.929733 - 87.50 107.50 237.50 1.0831 - 87.50 107.50 242.50 1.17616 - 87.50 107.50 247.50 1.25923 - 87.50 107.50 252.50 1.32676 - 87.50 107.50 257.50 1.36928 - 87.50 107.50 262.50 1.27734 - 87.50 107.50 267.50 0.88768 - 87.50 107.50 272.50 0.62136 - 87.50 107.50 277.50 0.727331 - 87.50 107.50 282.50 0.731978 - 87.50 107.50 287.50 0.655583 - 87.50 107.50 292.50 0.606399 - 87.50 107.50 297.50 0.511238 - 87.50 107.50 302.50 0.453531 - 87.50 107.50 307.50 0.497392 - 87.50 107.50 312.50 0.575054 - 87.50 107.50 317.50 0.744164 - 87.50 107.50 322.50 0.929732 - 87.50 107.50 327.50 1.0831 - 87.50 107.50 332.50 1.17616 - 87.50 107.50 337.50 1.25923 - 87.50 107.50 342.50 1.32676 - 87.50 107.50 347.50 1.36928 - 87.50 107.50 352.50 1.27734 - 87.50 107.50 357.50 0.887681 - 87.50 112.50 2.50 0.48194 - 87.50 112.50 7.50 0.497252 - 87.50 112.50 12.50 0.534204 - 87.50 112.50 17.50 0.402013 - 87.50 112.50 22.50 0.277814 - 87.50 112.50 27.50 0.20459 - 87.50 112.50 32.50 0.157031 - 87.50 112.50 37.50 0.14196 - 87.50 112.50 42.50 0.17526 - 87.50 112.50 47.50 0.226613 - 87.50 112.50 52.50 0.32551 - 87.50 112.50 57.50 0.420562 - 87.50 112.50 62.50 0.532979 - 87.50 112.50 67.50 0.68723 - 87.50 112.50 72.50 0.924236 - 87.50 112.50 77.50 1.02864 - 87.50 112.50 82.50 0.981031 - 87.50 112.50 87.50 0.692972 - 87.50 112.50 92.50 0.48194 - 87.50 112.50 97.50 0.497252 - 87.50 112.50 102.50 0.534204 - 87.50 112.50 107.50 0.402013 - 87.50 112.50 112.50 0.277814 - 87.50 112.50 117.50 0.20459 - 87.50 112.50 122.50 0.157031 - 87.50 112.50 127.50 0.14196 - 87.50 112.50 132.50 0.17526 - 87.50 112.50 137.50 0.226613 - 87.50 112.50 142.50 0.32551 - 87.50 112.50 147.50 0.420563 - 87.50 112.50 152.50 0.532979 - 87.50 112.50 157.50 0.68723 - 87.50 112.50 162.50 0.924236 - 87.50 112.50 167.50 1.02864 - 87.50 112.50 172.50 0.981031 - 87.50 112.50 177.50 0.692972 - 87.50 112.50 182.50 0.48194 - 87.50 112.50 187.50 0.497252 - 87.50 112.50 192.50 0.534204 - 87.50 112.50 197.50 0.402013 - 87.50 112.50 202.50 0.277815 - 87.50 112.50 207.50 0.20459 - 87.50 112.50 212.50 0.157031 - 87.50 112.50 217.50 0.14196 - 87.50 112.50 222.50 0.17526 - 87.50 112.50 227.50 0.226613 - 87.50 112.50 232.50 0.32551 - 87.50 112.50 237.50 0.420563 - 87.50 112.50 242.50 0.532979 - 87.50 112.50 247.50 0.68723 - 87.50 112.50 252.50 0.924236 - 87.50 112.50 257.50 1.02864 - 87.50 112.50 262.50 0.981031 - 87.50 112.50 267.50 0.692971 - 87.50 112.50 272.50 0.48194 - 87.50 112.50 277.50 0.497252 - 87.50 112.50 282.50 0.534204 - 87.50 112.50 287.50 0.402013 - 87.50 112.50 292.50 0.277814 - 87.50 112.50 297.50 0.20459 - 87.50 112.50 302.50 0.157031 - 87.50 112.50 307.50 0.14196 - 87.50 112.50 312.50 0.17526 - 87.50 112.50 317.50 0.226613 - 87.50 112.50 322.50 0.325509 - 87.50 112.50 327.50 0.420562 - 87.50 112.50 332.50 0.532978 - 87.50 112.50 337.50 0.687229 - 87.50 112.50 342.50 0.924236 - 87.50 112.50 347.50 1.02864 - 87.50 112.50 352.50 0.981032 - 87.50 112.50 357.50 0.692972 - 87.50 117.50 2.50 0.315487 - 87.50 117.50 7.50 0.301277 - 87.50 117.50 12.50 0.292089 - 87.50 117.50 17.50 0.194398 - 87.50 117.50 22.50 0.121827 - 87.50 117.50 27.50 0.0571465 - 87.50 117.50 32.50 0.0327665 - 87.50 117.50 37.50 0.0312141 - 87.50 117.50 42.50 0.0384043 - 87.50 117.50 47.50 0.0501733 - 87.50 117.50 52.50 0.0773156 - 87.50 117.50 57.50 0.116624 - 87.50 117.50 62.50 0.175925 - 87.50 117.50 67.50 0.330718 - 87.50 117.50 72.50 0.497872 - 87.50 117.50 77.50 0.614974 - 87.50 117.50 82.50 0.553665 - 87.50 117.50 87.50 0.423211 - 87.50 117.50 92.50 0.315487 - 87.50 117.50 97.50 0.301277 - 87.50 117.50 102.50 0.292089 - 87.50 117.50 107.50 0.194398 - 87.50 117.50 112.50 0.121827 - 87.50 117.50 117.50 0.0571465 - 87.50 117.50 122.50 0.0327665 - 87.50 117.50 127.50 0.0312141 - 87.50 117.50 132.50 0.0384043 - 87.50 117.50 137.50 0.0501734 - 87.50 117.50 142.50 0.0773157 - 87.50 117.50 147.50 0.116624 - 87.50 117.50 152.50 0.175925 - 87.50 117.50 157.50 0.330718 - 87.50 117.50 162.50 0.497872 - 87.50 117.50 167.50 0.614974 - 87.50 117.50 172.50 0.553665 - 87.50 117.50 177.50 0.423211 - 87.50 117.50 182.50 0.315487 - 87.50 117.50 187.50 0.301277 - 87.50 117.50 192.50 0.292089 - 87.50 117.50 197.50 0.194398 - 87.50 117.50 202.50 0.121827 - 87.50 117.50 207.50 0.0571466 - 87.50 117.50 212.50 0.0327665 - 87.50 117.50 217.50 0.0312141 - 87.50 117.50 222.50 0.0384043 - 87.50 117.50 227.50 0.0501733 - 87.50 117.50 232.50 0.0773157 - 87.50 117.50 237.50 0.116624 - 87.50 117.50 242.50 0.175925 - 87.50 117.50 247.50 0.330718 - 87.50 117.50 252.50 0.497872 - 87.50 117.50 257.50 0.614975 - 87.50 117.50 262.50 0.553665 - 87.50 117.50 267.50 0.423211 - 87.50 117.50 272.50 0.315487 - 87.50 117.50 277.50 0.301277 - 87.50 117.50 282.50 0.292089 - 87.50 117.50 287.50 0.194398 - 87.50 117.50 292.50 0.121827 - 87.50 117.50 297.50 0.0571466 - 87.50 117.50 302.50 0.0327665 - 87.50 117.50 307.50 0.0312141 - 87.50 117.50 312.50 0.0384043 - 87.50 117.50 317.50 0.0501733 - 87.50 117.50 322.50 0.0773156 - 87.50 117.50 327.50 0.116624 - 87.50 117.50 332.50 0.175925 - 87.50 117.50 337.50 0.330717 - 87.50 117.50 342.50 0.497872 - 87.50 117.50 347.50 0.614974 - 87.50 117.50 352.50 0.553665 - 87.50 117.50 357.50 0.423211 - 87.50 122.50 2.50 0.199216 - 87.50 122.50 7.50 0.164714 - 87.50 122.50 12.50 0.116617 - 87.50 122.50 17.50 0.0733647 - 87.50 122.50 22.50 0.0389298 - 87.50 122.50 27.50 0.0177908 - 87.50 122.50 32.50 0.00746498 - 87.50 122.50 37.50 0.00579802 - 87.50 122.50 42.50 0.00583437 - 87.50 122.50 47.50 0.00959742 - 87.50 122.50 52.50 0.0152566 - 87.50 122.50 57.50 0.0260342 - 87.50 122.50 62.50 0.055558 - 87.50 122.50 67.50 0.113871 - 87.50 122.50 72.50 0.202193 - 87.50 122.50 77.50 0.280883 - 87.50 122.50 82.50 0.250801 - 87.50 122.50 87.50 0.217024 - 87.50 122.50 92.50 0.199216 - 87.50 122.50 97.50 0.164714 - 87.50 122.50 102.50 0.116617 - 87.50 122.50 107.50 0.0733648 - 87.50 122.50 112.50 0.0389298 - 87.50 122.50 117.50 0.0177907 - 87.50 122.50 122.50 0.00746498 - 87.50 122.50 127.50 0.00579802 - 87.50 122.50 132.50 0.00583438 - 87.50 122.50 137.50 0.00959742 - 87.50 122.50 142.50 0.0152566 - 87.50 122.50 147.50 0.0260342 - 87.50 122.50 152.50 0.055558 - 87.50 122.50 157.50 0.113871 - 87.50 122.50 162.50 0.202193 - 87.50 122.50 167.50 0.280883 - 87.50 122.50 172.50 0.250801 - 87.50 122.50 177.50 0.217024 - 87.50 122.50 182.50 0.199216 - 87.50 122.50 187.50 0.164714 - 87.50 122.50 192.50 0.116617 - 87.50 122.50 197.50 0.0733648 - 87.50 122.50 202.50 0.0389298 - 87.50 122.50 207.50 0.0177908 - 87.50 122.50 212.50 0.00746499 - 87.50 122.50 217.50 0.00579802 - 87.50 122.50 222.50 0.00583438 - 87.50 122.50 227.50 0.00959741 - 87.50 122.50 232.50 0.0152566 - 87.50 122.50 237.50 0.0260342 - 87.50 122.50 242.50 0.055558 - 87.50 122.50 247.50 0.113871 - 87.50 122.50 252.50 0.202193 - 87.50 122.50 257.50 0.280883 - 87.50 122.50 262.50 0.250801 - 87.50 122.50 267.50 0.217024 - 87.50 122.50 272.50 0.199216 - 87.50 122.50 277.50 0.164714 - 87.50 122.50 282.50 0.116617 - 87.50 122.50 287.50 0.0733648 - 87.50 122.50 292.50 0.0389298 - 87.50 122.50 297.50 0.0177908 - 87.50 122.50 302.50 0.00746499 - 87.50 122.50 307.50 0.00579802 - 87.50 122.50 312.50 0.00583438 - 87.50 122.50 317.50 0.00959742 - 87.50 122.50 322.50 0.0152566 - 87.50 122.50 327.50 0.0260341 - 87.50 122.50 332.50 0.0555579 - 87.50 122.50 337.50 0.113871 - 87.50 122.50 342.50 0.202193 - 87.50 122.50 347.50 0.280882 - 87.50 122.50 352.50 0.250801 - 87.50 122.50 357.50 0.217024 - 87.50 127.50 2.50 0.129213 - 87.50 127.50 7.50 0.0878479 - 87.50 127.50 12.50 0.0447638 - 87.50 127.50 17.50 0.0279321 - 87.50 127.50 22.50 0.0154727 - 87.50 127.50 27.50 0.0130544 - 87.50 127.50 32.50 0.0202864 - 87.50 127.50 37.50 0.0224542 - 87.50 127.50 42.50 0.0189908 - 87.50 127.50 47.50 0.0224384 - 87.50 127.50 52.50 0.0146644 - 87.50 127.50 57.50 0.0147355 - 87.50 127.50 62.50 0.0185263 - 87.50 127.50 67.50 0.0308299 - 87.50 127.50 72.50 0.0704791 - 87.50 127.50 77.50 0.0867767 - 87.50 127.50 82.50 0.0935966 - 87.50 127.50 87.50 0.111751 - 87.50 127.50 92.50 0.129213 - 87.50 127.50 97.50 0.0878479 - 87.50 127.50 102.50 0.0447638 - 87.50 127.50 107.50 0.0279321 - 87.50 127.50 112.50 0.0154728 - 87.50 127.50 117.50 0.0130544 - 87.50 127.50 122.50 0.0202864 - 87.50 127.50 127.50 0.0224542 - 87.50 127.50 132.50 0.0189907 - 87.50 127.50 137.50 0.0224384 - 87.50 127.50 142.50 0.0146644 - 87.50 127.50 147.50 0.0147355 - 87.50 127.50 152.50 0.0185263 - 87.50 127.50 157.50 0.0308298 - 87.50 127.50 162.50 0.0704791 - 87.50 127.50 167.50 0.0867767 - 87.50 127.50 172.50 0.0935966 - 87.50 127.50 177.50 0.111751 - 87.50 127.50 182.50 0.129213 - 87.50 127.50 187.50 0.0878479 - 87.50 127.50 192.50 0.0447638 - 87.50 127.50 197.50 0.0279321 - 87.50 127.50 202.50 0.0154728 - 87.50 127.50 207.50 0.0130544 - 87.50 127.50 212.50 0.0202864 - 87.50 127.50 217.50 0.0224542 - 87.50 127.50 222.50 0.0189908 - 87.50 127.50 227.50 0.0224384 - 87.50 127.50 232.50 0.0146644 - 87.50 127.50 237.50 0.0147355 - 87.50 127.50 242.50 0.0185263 - 87.50 127.50 247.50 0.0308299 - 87.50 127.50 252.50 0.0704792 - 87.50 127.50 257.50 0.0867767 - 87.50 127.50 262.50 0.0935966 - 87.50 127.50 267.50 0.111751 - 87.50 127.50 272.50 0.129213 - 87.50 127.50 277.50 0.0878479 - 87.50 127.50 282.50 0.0447638 - 87.50 127.50 287.50 0.0279321 - 87.50 127.50 292.50 0.0154728 - 87.50 127.50 297.50 0.0130544 - 87.50 127.50 302.50 0.0202864 - 87.50 127.50 307.50 0.0224542 - 87.50 127.50 312.50 0.0189908 - 87.50 127.50 317.50 0.0224384 - 87.50 127.50 322.50 0.0146644 - 87.50 127.50 327.50 0.0147355 - 87.50 127.50 332.50 0.0185263 - 87.50 127.50 337.50 0.0308297 - 87.50 127.50 342.50 0.070479 - 87.50 127.50 347.50 0.0867766 - 87.50 127.50 352.50 0.0935966 - 87.50 127.50 357.50 0.111751 - 87.50 132.50 2.50 0.0716309 - 87.50 132.50 7.50 0.0443058 - 87.50 132.50 12.50 0.022551 - 87.50 132.50 17.50 0.0264904 - 87.50 132.50 22.50 0.0465787 - 87.50 132.50 27.50 0.0685249 - 87.50 132.50 32.50 0.112257 - 87.50 132.50 37.50 0.154174 - 87.50 132.50 42.50 0.152444 - 87.50 132.50 47.50 0.159105 - 87.50 132.50 52.50 0.119274 - 87.50 132.50 57.50 0.0919799 - 87.50 132.50 62.50 0.0561324 - 87.50 132.50 67.50 0.032397 - 87.50 132.50 72.50 0.0254592 - 87.50 132.50 77.50 0.0220366 - 87.50 132.50 82.50 0.0318592 - 87.50 132.50 87.50 0.0584064 - 87.50 132.50 92.50 0.0716309 - 87.50 132.50 97.50 0.0443058 - 87.50 132.50 102.50 0.022551 - 87.50 132.50 107.50 0.0264904 - 87.50 132.50 112.50 0.0465787 - 87.50 132.50 117.50 0.0685249 - 87.50 132.50 122.50 0.112257 - 87.50 132.50 127.50 0.154174 - 87.50 132.50 132.50 0.152444 - 87.50 132.50 137.50 0.159105 - 87.50 132.50 142.50 0.119274 - 87.50 132.50 147.50 0.0919798 - 87.50 132.50 152.50 0.0561324 - 87.50 132.50 157.50 0.032397 - 87.50 132.50 162.50 0.0254592 - 87.50 132.50 167.50 0.0220366 - 87.50 132.50 172.50 0.0318593 - 87.50 132.50 177.50 0.0584064 - 87.50 132.50 182.50 0.0716309 - 87.50 132.50 187.50 0.0443058 - 87.50 132.50 192.50 0.022551 - 87.50 132.50 197.50 0.0264904 - 87.50 132.50 202.50 0.0465787 - 87.50 132.50 207.50 0.0685248 - 87.50 132.50 212.50 0.112257 - 87.50 132.50 217.50 0.154173 - 87.50 132.50 222.50 0.152444 - 87.50 132.50 227.50 0.159105 - 87.50 132.50 232.50 0.119274 - 87.50 132.50 237.50 0.0919798 - 87.50 132.50 242.50 0.0561324 - 87.50 132.50 247.50 0.032397 - 87.50 132.50 252.50 0.0254592 - 87.50 132.50 257.50 0.0220367 - 87.50 132.50 262.50 0.0318593 - 87.50 132.50 267.50 0.0584064 - 87.50 132.50 272.50 0.0716309 - 87.50 132.50 277.50 0.0443058 - 87.50 132.50 282.50 0.022551 - 87.50 132.50 287.50 0.0264904 - 87.50 132.50 292.50 0.0465787 - 87.50 132.50 297.50 0.068525 - 87.50 132.50 302.50 0.112257 - 87.50 132.50 307.50 0.154174 - 87.50 132.50 312.50 0.152444 - 87.50 132.50 317.50 0.159105 - 87.50 132.50 322.50 0.119274 - 87.50 132.50 327.50 0.0919799 - 87.50 132.50 332.50 0.0561325 - 87.50 132.50 337.50 0.032397 - 87.50 132.50 342.50 0.0254592 - 87.50 132.50 347.50 0.0220366 - 87.50 132.50 352.50 0.0318592 - 87.50 132.50 357.50 0.0584063 - 87.50 137.50 2.50 0.0446414 - 87.50 137.50 7.50 0.0320298 - 87.50 137.50 12.50 0.0323236 - 87.50 137.50 17.50 0.0738833 - 87.50 137.50 22.50 0.15642 - 87.50 137.50 27.50 0.26034 - 87.50 137.50 32.50 0.400611 - 87.50 137.50 37.50 0.595303 - 87.50 137.50 42.50 0.660828 - 87.50 137.50 47.50 0.715766 - 87.50 137.50 52.50 0.55622 - 87.50 137.50 57.50 0.425319 - 87.50 137.50 62.50 0.226915 - 87.50 137.50 67.50 0.117599 - 87.50 137.50 72.50 0.0486705 - 87.50 137.50 77.50 0.0214015 - 87.50 137.50 82.50 0.0213814 - 87.50 137.50 87.50 0.0381159 - 87.50 137.50 92.50 0.0446415 - 87.50 137.50 97.50 0.0320298 - 87.50 137.50 102.50 0.0323235 - 87.50 137.50 107.50 0.0738833 - 87.50 137.50 112.50 0.15642 - 87.50 137.50 117.50 0.26034 - 87.50 137.50 122.50 0.400611 - 87.50 137.50 127.50 0.595303 - 87.50 137.50 132.50 0.660829 - 87.50 137.50 137.50 0.715766 - 87.50 137.50 142.50 0.55622 - 87.50 137.50 147.50 0.425319 - 87.50 137.50 152.50 0.226915 - 87.50 137.50 157.50 0.117599 - 87.50 137.50 162.50 0.0486705 - 87.50 137.50 167.50 0.0214015 - 87.50 137.50 172.50 0.0213814 - 87.50 137.50 177.50 0.0381159 - 87.50 137.50 182.50 0.0446415 - 87.50 137.50 187.50 0.0320298 - 87.50 137.50 192.50 0.0323235 - 87.50 137.50 197.50 0.0738832 - 87.50 137.50 202.50 0.15642 - 87.50 137.50 207.50 0.26034 - 87.50 137.50 212.50 0.400611 - 87.50 137.50 217.50 0.595303 - 87.50 137.50 222.50 0.660828 - 87.50 137.50 227.50 0.715766 - 87.50 137.50 232.50 0.556219 - 87.50 137.50 237.50 0.425319 - 87.50 137.50 242.50 0.226915 - 87.50 137.50 247.50 0.117599 - 87.50 137.50 252.50 0.0486704 - 87.50 137.50 257.50 0.0214015 - 87.50 137.50 262.50 0.0213814 - 87.50 137.50 267.50 0.0381159 - 87.50 137.50 272.50 0.0446415 - 87.50 137.50 277.50 0.0320298 - 87.50 137.50 282.50 0.0323235 - 87.50 137.50 287.50 0.0738833 - 87.50 137.50 292.50 0.15642 - 87.50 137.50 297.50 0.26034 - 87.50 137.50 302.50 0.400611 - 87.50 137.50 307.50 0.595303 - 87.50 137.50 312.50 0.660828 - 87.50 137.50 317.50 0.715765 - 87.50 137.50 322.50 0.55622 - 87.50 137.50 327.50 0.425319 - 87.50 137.50 332.50 0.226915 - 87.50 137.50 337.50 0.117599 - 87.50 137.50 342.50 0.0486706 - 87.50 137.50 347.50 0.0214015 - 87.50 137.50 352.50 0.0213814 - 87.50 137.50 357.50 0.0381158 - 87.50 142.50 2.50 0.0716309 - 87.50 142.50 7.50 0.0616514 - 87.50 142.50 12.50 0.0755905 - 87.50 142.50 17.50 0.17185 - 87.50 142.50 22.50 0.356891 - 87.50 142.50 27.50 0.62698 - 87.50 142.50 32.50 1.03025 - 87.50 142.50 37.50 1.48065 - 87.50 142.50 42.50 1.82863 - 87.50 142.50 47.50 1.91265 - 87.50 142.50 52.50 1.64199 - 87.50 142.50 57.50 1.14566 - 87.50 142.50 62.50 0.661871 - 87.50 142.50 67.50 0.323246 - 87.50 142.50 72.50 0.141381 - 87.50 142.50 77.50 0.0639829 - 87.50 142.50 82.50 0.0483848 - 87.50 142.50 87.50 0.0640119 - 87.50 142.50 92.50 0.0716309 - 87.50 142.50 97.50 0.0616514 - 87.50 142.50 102.50 0.0755905 - 87.50 142.50 107.50 0.17185 - 87.50 142.50 112.50 0.356891 - 87.50 142.50 117.50 0.626981 - 87.50 142.50 122.50 1.03025 - 87.50 142.50 127.50 1.48065 - 87.50 142.50 132.50 1.82863 - 87.50 142.50 137.50 1.91265 - 87.50 142.50 142.50 1.64199 - 87.50 142.50 147.50 1.14566 - 87.50 142.50 152.50 0.661871 - 87.50 142.50 157.50 0.323247 - 87.50 142.50 162.50 0.141382 - 87.50 142.50 167.50 0.063983 - 87.50 142.50 172.50 0.0483847 - 87.50 142.50 177.50 0.0640119 - 87.50 142.50 182.50 0.0716309 - 87.50 142.50 187.50 0.0616513 - 87.50 142.50 192.50 0.0755905 - 87.50 142.50 197.50 0.17185 - 87.50 142.50 202.50 0.356891 - 87.50 142.50 207.50 0.62698 - 87.50 142.50 212.50 1.03025 - 87.50 142.50 217.50 1.48065 - 87.50 142.50 222.50 1.82863 - 87.50 142.50 227.50 1.91265 - 87.50 142.50 232.50 1.64199 - 87.50 142.50 237.50 1.14566 - 87.50 142.50 242.50 0.66187 - 87.50 142.50 247.50 0.323246 - 87.50 142.50 252.50 0.141381 - 87.50 142.50 257.50 0.0639829 - 87.50 142.50 262.50 0.0483848 - 87.50 142.50 267.50 0.064012 - 87.50 142.50 272.50 0.0716309 - 87.50 142.50 277.50 0.0616514 - 87.50 142.50 282.50 0.0755905 - 87.50 142.50 287.50 0.17185 - 87.50 142.50 292.50 0.356891 - 87.50 142.50 297.50 0.626981 - 87.50 142.50 302.50 1.03025 - 87.50 142.50 307.50 1.48065 - 87.50 142.50 312.50 1.82863 - 87.50 142.50 317.50 1.91265 - 87.50 142.50 322.50 1.64199 - 87.50 142.50 327.50 1.14566 - 87.50 142.50 332.50 0.661872 - 87.50 142.50 337.50 0.323247 - 87.50 142.50 342.50 0.141382 - 87.50 142.50 347.50 0.0639831 - 87.50 142.50 352.50 0.0483848 - 87.50 142.50 357.50 0.0640119 - 87.50 147.50 2.50 0.129213 - 87.50 147.50 7.50 0.118247 - 87.50 147.50 12.50 0.145218 - 87.50 147.50 17.50 0.292757 - 87.50 147.50 22.50 0.604254 - 87.50 147.50 27.50 1.10692 - 87.50 147.50 32.50 1.82954 - 87.50 147.50 37.50 2.70449 - 87.50 147.50 42.50 3.36986 - 87.50 147.50 47.50 3.47034 - 87.50 147.50 52.50 2.958 - 87.50 147.50 57.50 2.08558 - 87.50 147.50 62.50 1.21571 - 87.50 147.50 67.50 0.615071 - 87.50 147.50 72.50 0.293615 - 87.50 147.50 77.50 0.155519 - 87.50 147.50 82.50 0.116352 - 87.50 147.50 87.50 0.122909 - 87.50 147.50 92.50 0.129213 - 87.50 147.50 97.50 0.118247 - 87.50 147.50 102.50 0.145218 - 87.50 147.50 107.50 0.292757 - 87.50 147.50 112.50 0.604254 - 87.50 147.50 117.50 1.10692 - 87.50 147.50 122.50 1.82954 - 87.50 147.50 127.50 2.70449 - 87.50 147.50 132.50 3.36986 - 87.50 147.50 137.50 3.47034 - 87.50 147.50 142.50 2.958 - 87.50 147.50 147.50 2.08558 - 87.50 147.50 152.50 1.21571 - 87.50 147.50 157.50 0.615071 - 87.50 147.50 162.50 0.293616 - 87.50 147.50 167.50 0.155519 - 87.50 147.50 172.50 0.116352 - 87.50 147.50 177.50 0.122909 - 87.50 147.50 182.50 0.129213 - 87.50 147.50 187.50 0.118247 - 87.50 147.50 192.50 0.145218 - 87.50 147.50 197.50 0.292757 - 87.50 147.50 202.50 0.604255 - 87.50 147.50 207.50 1.10692 - 87.50 147.50 212.50 1.82954 - 87.50 147.50 217.50 2.70449 - 87.50 147.50 222.50 3.36986 - 87.50 147.50 227.50 3.47034 - 87.50 147.50 232.50 2.958 - 87.50 147.50 237.50 2.08558 - 87.50 147.50 242.50 1.21571 - 87.50 147.50 247.50 0.61507 - 87.50 147.50 252.50 0.293615 - 87.50 147.50 257.50 0.155519 - 87.50 147.50 262.50 0.116352 - 87.50 147.50 267.50 0.122909 - 87.50 147.50 272.50 0.129213 - 87.50 147.50 277.50 0.118247 - 87.50 147.50 282.50 0.145218 - 87.50 147.50 287.50 0.292757 - 87.50 147.50 292.50 0.604254 - 87.50 147.50 297.50 1.10692 - 87.50 147.50 302.50 1.82954 - 87.50 147.50 307.50 2.70449 - 87.50 147.50 312.50 3.36986 - 87.50 147.50 317.50 3.47034 - 87.50 147.50 322.50 2.95801 - 87.50 147.50 327.50 2.08558 - 87.50 147.50 332.50 1.21571 - 87.50 147.50 337.50 0.615072 - 87.50 147.50 342.50 0.293616 - 87.50 147.50 347.50 0.15552 - 87.50 147.50 352.50 0.116352 - 87.50 147.50 357.50 0.122909 - 87.50 152.50 2.50 0.199216 - 87.50 152.50 7.50 0.176545 - 87.50 152.50 12.50 0.210139 - 87.50 152.50 17.50 0.37138 - 87.50 152.50 22.50 0.763626 - 87.50 152.50 27.50 1.40693 - 87.50 152.50 32.50 2.31146 - 87.50 152.50 37.50 3.36237 - 87.50 152.50 42.50 4.20894 - 87.50 152.50 47.50 4.33348 - 87.50 152.50 52.50 3.69609 - 87.50 152.50 57.50 2.62026 - 87.50 152.50 62.50 1.55946 - 87.50 152.50 67.50 0.82426 - 87.50 152.50 72.50 0.442373 - 87.50 152.50 77.50 0.286681 - 87.50 152.50 82.50 0.236242 - 87.50 152.50 87.50 0.2097 - 87.50 152.50 92.50 0.199216 - 87.50 152.50 97.50 0.176545 - 87.50 152.50 102.50 0.210139 - 87.50 152.50 107.50 0.37138 - 87.50 152.50 112.50 0.763626 - 87.50 152.50 117.50 1.40693 - 87.50 152.50 122.50 2.31147 - 87.50 152.50 127.50 3.36237 - 87.50 152.50 132.50 4.20894 - 87.50 152.50 137.50 4.33348 - 87.50 152.50 142.50 3.69609 - 87.50 152.50 147.50 2.62026 - 87.50 152.50 152.50 1.55946 - 87.50 152.50 157.50 0.82426 - 87.50 152.50 162.50 0.442373 - 87.50 152.50 167.50 0.286681 - 87.50 152.50 172.50 0.236243 - 87.50 152.50 177.50 0.2097 - 87.50 152.50 182.50 0.199216 - 87.50 152.50 187.50 0.176545 - 87.50 152.50 192.50 0.210139 - 87.50 152.50 197.50 0.37138 - 87.50 152.50 202.50 0.763626 - 87.50 152.50 207.50 1.40693 - 87.50 152.50 212.50 2.31146 - 87.50 152.50 217.50 3.36236 - 87.50 152.50 222.50 4.20894 - 87.50 152.50 227.50 4.33348 - 87.50 152.50 232.50 3.69609 - 87.50 152.50 237.50 2.62025 - 87.50 152.50 242.50 1.55946 - 87.50 152.50 247.50 0.82426 - 87.50 152.50 252.50 0.442373 - 87.50 152.50 257.50 0.286681 - 87.50 152.50 262.50 0.236243 - 87.50 152.50 267.50 0.2097 - 87.50 152.50 272.50 0.199216 - 87.50 152.50 277.50 0.176545 - 87.50 152.50 282.50 0.210139 - 87.50 152.50 287.50 0.37138 - 87.50 152.50 292.50 0.763626 - 87.50 152.50 297.50 1.40693 - 87.50 152.50 302.50 2.31146 - 87.50 152.50 307.50 3.36237 - 87.50 152.50 312.50 4.20894 - 87.50 152.50 317.50 4.33348 - 87.50 152.50 322.50 3.6961 - 87.50 152.50 327.50 2.62026 - 87.50 152.50 332.50 1.55947 - 87.50 152.50 337.50 0.824262 - 87.50 152.50 342.50 0.442374 - 87.50 152.50 347.50 0.286681 - 87.50 152.50 352.50 0.236243 - 87.50 152.50 357.50 0.2097 - 87.50 157.50 2.50 0.315487 - 87.50 157.50 7.50 0.251242 - 87.50 157.50 12.50 0.256208 - 87.50 157.50 17.50 0.384715 - 87.50 157.50 22.50 0.716854 - 87.50 157.50 27.50 1.30889 - 87.50 157.50 32.50 2.08375 - 87.50 157.50 37.50 2.95161 - 87.50 157.50 42.50 3.63699 - 87.50 157.50 47.50 3.83254 - 87.50 157.50 52.50 3.27428 - 87.50 157.50 57.50 2.34685 - 87.50 157.50 62.50 1.43418 - 87.50 157.50 67.50 0.845017 - 87.50 157.50 72.50 0.532542 - 87.50 157.50 77.50 0.439566 - 87.50 157.50 82.50 0.414034 - 87.50 157.50 87.50 0.359669 - 87.50 157.50 92.50 0.315487 - 87.50 157.50 97.50 0.251242 - 87.50 157.50 102.50 0.256208 - 87.50 157.50 107.50 0.384715 - 87.50 157.50 112.50 0.716854 - 87.50 157.50 117.50 1.30889 - 87.50 157.50 122.50 2.08376 - 87.50 157.50 127.50 2.95161 - 87.50 157.50 132.50 3.63699 - 87.50 157.50 137.50 3.83255 - 87.50 157.50 142.50 3.27428 - 87.50 157.50 147.50 2.34685 - 87.50 157.50 152.50 1.43418 - 87.50 157.50 157.50 0.845018 - 87.50 157.50 162.50 0.532542 - 87.50 157.50 167.50 0.439566 - 87.50 157.50 172.50 0.414034 - 87.50 157.50 177.50 0.359669 - 87.50 157.50 182.50 0.315487 - 87.50 157.50 187.50 0.251242 - 87.50 157.50 192.50 0.256208 - 87.50 157.50 197.50 0.384715 - 87.50 157.50 202.50 0.716854 - 87.50 157.50 207.50 1.30889 - 87.50 157.50 212.50 2.08375 - 87.50 157.50 217.50 2.95161 - 87.50 157.50 222.50 3.63699 - 87.50 157.50 227.50 3.83255 - 87.50 157.50 232.50 3.27428 - 87.50 157.50 237.50 2.34685 - 87.50 157.50 242.50 1.43418 - 87.50 157.50 247.50 0.845018 - 87.50 157.50 252.50 0.532542 - 87.50 157.50 257.50 0.439567 - 87.50 157.50 262.50 0.414034 - 87.50 157.50 267.50 0.359669 - 87.50 157.50 272.50 0.315487 - 87.50 157.50 277.50 0.251242 - 87.50 157.50 282.50 0.256208 - 87.50 157.50 287.50 0.384715 - 87.50 157.50 292.50 0.716853 - 87.50 157.50 297.50 1.30889 - 87.50 157.50 302.50 2.08375 - 87.50 157.50 307.50 2.95161 - 87.50 157.50 312.50 3.63699 - 87.50 157.50 317.50 3.83255 - 87.50 157.50 322.50 3.27429 - 87.50 157.50 327.50 2.34685 - 87.50 157.50 332.50 1.43418 - 87.50 157.50 337.50 0.845019 - 87.50 157.50 342.50 0.532543 - 87.50 157.50 347.50 0.439567 - 87.50 157.50 352.50 0.414034 - 87.50 157.50 357.50 0.359669 - 87.50 162.50 2.50 0.48194 - 87.50 162.50 7.50 0.357811 - 87.50 162.50 12.50 0.288839 - 87.50 162.50 17.50 0.361966 - 87.50 162.50 22.50 0.56114 - 87.50 162.50 27.50 0.948702 - 87.50 162.50 32.50 1.47679 - 87.50 162.50 37.50 1.9798 - 87.50 162.50 42.50 2.38186 - 87.50 162.50 47.50 2.46548 - 87.50 162.50 52.50 2.13429 - 87.50 162.50 57.50 1.59739 - 87.50 162.50 62.50 1.07404 - 87.50 162.50 67.50 0.683605 - 87.50 162.50 72.50 0.527195 - 87.50 162.50 77.50 0.561809 - 87.50 162.50 82.50 0.594511 - 87.50 162.50 87.50 0.558621 - 87.50 162.50 92.50 0.481939 - 87.50 162.50 97.50 0.357811 - 87.50 162.50 102.50 0.288839 - 87.50 162.50 107.50 0.361967 - 87.50 162.50 112.50 0.56114 - 87.50 162.50 117.50 0.948702 - 87.50 162.50 122.50 1.47679 - 87.50 162.50 127.50 1.9798 - 87.50 162.50 132.50 2.38186 - 87.50 162.50 137.50 2.46548 - 87.50 162.50 142.50 2.13429 - 87.50 162.50 147.50 1.59739 - 87.50 162.50 152.50 1.07404 - 87.50 162.50 157.50 0.683606 - 87.50 162.50 162.50 0.527195 - 87.50 162.50 167.50 0.561809 - 87.50 162.50 172.50 0.594511 - 87.50 162.50 177.50 0.558621 - 87.50 162.50 182.50 0.481939 - 87.50 162.50 187.50 0.35781 - 87.50 162.50 192.50 0.288839 - 87.50 162.50 197.50 0.361967 - 87.50 162.50 202.50 0.56114 - 87.50 162.50 207.50 0.948702 - 87.50 162.50 212.50 1.47679 - 87.50 162.50 217.50 1.9798 - 87.50 162.50 222.50 2.38186 - 87.50 162.50 227.50 2.46548 - 87.50 162.50 232.50 2.13429 - 87.50 162.50 237.50 1.59739 - 87.50 162.50 242.50 1.07404 - 87.50 162.50 247.50 0.683605 - 87.50 162.50 252.50 0.527195 - 87.50 162.50 257.50 0.561809 - 87.50 162.50 262.50 0.594511 - 87.50 162.50 267.50 0.558621 - 87.50 162.50 272.50 0.48194 - 87.50 162.50 277.50 0.357811 - 87.50 162.50 282.50 0.288839 - 87.50 162.50 287.50 0.361966 - 87.50 162.50 292.50 0.56114 - 87.50 162.50 297.50 0.948701 - 87.50 162.50 302.50 1.47679 - 87.50 162.50 307.50 1.9798 - 87.50 162.50 312.50 2.38186 - 87.50 162.50 317.50 2.46548 - 87.50 162.50 322.50 2.13429 - 87.50 162.50 327.50 1.59739 - 87.50 162.50 332.50 1.07404 - 87.50 162.50 337.50 0.683606 - 87.50 162.50 342.50 0.527195 - 87.50 162.50 347.50 0.561809 - 87.50 162.50 352.50 0.594511 - 87.50 162.50 357.50 0.558621 - 87.50 167.50 2.50 0.621359 - 87.50 167.50 7.50 0.437085 - 87.50 167.50 12.50 0.281707 - 87.50 167.50 17.50 0.296244 - 87.50 167.50 22.50 0.432846 - 87.50 167.50 27.50 0.63043 - 87.50 167.50 32.50 0.843856 - 87.50 167.50 37.50 1.09058 - 87.50 167.50 42.50 1.24911 - 87.50 167.50 47.50 1.30137 - 87.50 167.50 52.50 1.18348 - 87.50 167.50 57.50 0.922204 - 87.50 167.50 62.50 0.615539 - 87.50 167.50 67.50 0.461889 - 87.50 167.50 72.50 0.453063 - 87.50 167.50 77.50 0.569854 - 87.50 167.50 82.50 0.680419 - 87.50 167.50 87.50 0.719669 - 87.50 167.50 92.50 0.621359 - 87.50 167.50 97.50 0.437085 - 87.50 167.50 102.50 0.281707 - 87.50 167.50 107.50 0.296244 - 87.50 167.50 112.50 0.432846 - 87.50 167.50 117.50 0.63043 - 87.50 167.50 122.50 0.843856 - 87.50 167.50 127.50 1.09058 - 87.50 167.50 132.50 1.24911 - 87.50 167.50 137.50 1.30137 - 87.50 167.50 142.50 1.18348 - 87.50 167.50 147.50 0.922204 - 87.50 167.50 152.50 0.615539 - 87.50 167.50 157.50 0.461889 - 87.50 167.50 162.50 0.453063 - 87.50 167.50 167.50 0.569854 - 87.50 167.50 172.50 0.680419 - 87.50 167.50 177.50 0.71967 - 87.50 167.50 182.50 0.621359 - 87.50 167.50 187.50 0.437085 - 87.50 167.50 192.50 0.281707 - 87.50 167.50 197.50 0.296244 - 87.50 167.50 202.50 0.432846 - 87.50 167.50 207.50 0.630431 - 87.50 167.50 212.50 0.843856 - 87.50 167.50 217.50 1.09058 - 87.50 167.50 222.50 1.24911 - 87.50 167.50 227.50 1.30137 - 87.50 167.50 232.50 1.18348 - 87.50 167.50 237.50 0.922203 - 87.50 167.50 242.50 0.615539 - 87.50 167.50 247.50 0.461889 - 87.50 167.50 252.50 0.453063 - 87.50 167.50 257.50 0.569854 - 87.50 167.50 262.50 0.68042 - 87.50 167.50 267.50 0.719669 - 87.50 167.50 272.50 0.62136 - 87.50 167.50 277.50 0.437085 - 87.50 167.50 282.50 0.281707 - 87.50 167.50 287.50 0.296244 - 87.50 167.50 292.50 0.432846 - 87.50 167.50 297.50 0.630431 - 87.50 167.50 302.50 0.843856 - 87.50 167.50 307.50 1.09058 - 87.50 167.50 312.50 1.24911 - 87.50 167.50 317.50 1.30137 - 87.50 167.50 322.50 1.18349 - 87.50 167.50 327.50 0.922204 - 87.50 167.50 332.50 0.61554 - 87.50 167.50 337.50 0.461889 - 87.50 167.50 342.50 0.453063 - 87.50 167.50 347.50 0.569854 - 87.50 167.50 352.50 0.68042 - 87.50 167.50 357.50 0.719669 - 87.50 172.50 2.50 0.67853 - 87.50 172.50 7.50 0.434478 - 87.50 172.50 12.50 0.242843 - 87.50 172.50 17.50 0.18001 - 87.50 172.50 22.50 0.248079 - 87.50 172.50 27.50 0.3552 - 87.50 172.50 32.50 0.449265 - 87.50 172.50 37.50 0.507191 - 87.50 172.50 42.50 0.538479 - 87.50 172.50 47.50 0.557421 - 87.50 172.50 52.50 0.525747 - 87.50 172.50 57.50 0.42707 - 87.50 172.50 62.50 0.31833 - 87.50 172.50 67.50 0.256711 - 87.50 172.50 72.50 0.301 - 87.50 172.50 77.50 0.463163 - 87.50 172.50 82.50 0.697764 - 87.50 172.50 87.50 0.802952 - 87.50 172.50 92.50 0.67853 - 87.50 172.50 97.50 0.434478 - 87.50 172.50 102.50 0.242843 - 87.50 172.50 107.50 0.18001 - 87.50 172.50 112.50 0.248079 - 87.50 172.50 117.50 0.3552 - 87.50 172.50 122.50 0.449265 - 87.50 172.50 127.50 0.507191 - 87.50 172.50 132.50 0.538479 - 87.50 172.50 137.50 0.557421 - 87.50 172.50 142.50 0.525747 - 87.50 172.50 147.50 0.42707 - 87.50 172.50 152.50 0.31833 - 87.50 172.50 157.50 0.256711 - 87.50 172.50 162.50 0.301 - 87.50 172.50 167.50 0.463163 - 87.50 172.50 172.50 0.697764 - 87.50 172.50 177.50 0.802952 - 87.50 172.50 182.50 0.67853 - 87.50 172.50 187.50 0.434478 - 87.50 172.50 192.50 0.242843 - 87.50 172.50 197.50 0.18001 - 87.50 172.50 202.50 0.248079 - 87.50 172.50 207.50 0.3552 - 87.50 172.50 212.50 0.449265 - 87.50 172.50 217.50 0.507191 - 87.50 172.50 222.50 0.538479 - 87.50 172.50 227.50 0.557421 - 87.50 172.50 232.50 0.525747 - 87.50 172.50 237.50 0.42707 - 87.50 172.50 242.50 0.31833 - 87.50 172.50 247.50 0.256711 - 87.50 172.50 252.50 0.301 - 87.50 172.50 257.50 0.463164 - 87.50 172.50 262.50 0.697765 - 87.50 172.50 267.50 0.802952 - 87.50 172.50 272.50 0.67853 - 87.50 172.50 277.50 0.434478 - 87.50 172.50 282.50 0.242843 - 87.50 172.50 287.50 0.18001 - 87.50 172.50 292.50 0.248079 - 87.50 172.50 297.50 0.3552 - 87.50 172.50 302.50 0.449265 - 87.50 172.50 307.50 0.507191 - 87.50 172.50 312.50 0.538479 - 87.50 172.50 317.50 0.557421 - 87.50 172.50 322.50 0.525747 - 87.50 172.50 327.50 0.42707 - 87.50 172.50 332.50 0.318331 - 87.50 172.50 337.50 0.256711 - 87.50 172.50 342.50 0.301 - 87.50 172.50 347.50 0.463162 - 87.50 172.50 352.50 0.697764 - 87.50 172.50 357.50 0.802952 - 87.50 177.50 2.50 0.675975 - 87.50 177.50 7.50 0.382539 - 87.50 177.50 12.50 0.175723 - 87.50 177.50 17.50 0.0992541 - 87.50 177.50 22.50 0.101157 - 87.50 177.50 27.50 0.13079 - 87.50 177.50 32.50 0.156501 - 87.50 177.50 37.50 0.173803 - 87.50 177.50 42.50 0.181188 - 87.50 177.50 47.50 0.185726 - 87.50 177.50 52.50 0.170958 - 87.50 177.50 57.50 0.134286 - 87.50 177.50 62.50 0.0974296 - 87.50 177.50 67.50 0.10043 - 87.50 177.50 72.50 0.179981 - 87.50 177.50 77.50 0.387057 - 87.50 177.50 82.50 0.678878 - 87.50 177.50 87.50 0.82853 - 87.50 177.50 92.50 0.675975 - 87.50 177.50 97.50 0.382539 - 87.50 177.50 102.50 0.175723 - 87.50 177.50 107.50 0.0992541 - 87.50 177.50 112.50 0.101157 - 87.50 177.50 117.50 0.130789 - 87.50 177.50 122.50 0.156501 - 87.50 177.50 127.50 0.173803 - 87.50 177.50 132.50 0.181188 - 87.50 177.50 137.50 0.185726 - 87.50 177.50 142.50 0.170958 - 87.50 177.50 147.50 0.134286 - 87.50 177.50 152.50 0.0974296 - 87.50 177.50 157.50 0.10043 - 87.50 177.50 162.50 0.179981 - 87.50 177.50 167.50 0.387057 - 87.50 177.50 172.50 0.678877 - 87.50 177.50 177.50 0.828531 - 87.50 177.50 182.50 0.675974 - 87.50 177.50 187.50 0.382539 - 87.50 177.50 192.50 0.175723 - 87.50 177.50 197.50 0.0992541 - 87.50 177.50 202.50 0.101157 - 87.50 177.50 207.50 0.13079 - 87.50 177.50 212.50 0.156501 - 87.50 177.50 217.50 0.173803 - 87.50 177.50 222.50 0.181188 - 87.50 177.50 227.50 0.185726 - 87.50 177.50 232.50 0.170958 - 87.50 177.50 237.50 0.134286 - 87.50 177.50 242.50 0.0974296 - 87.50 177.50 247.50 0.10043 - 87.50 177.50 252.50 0.179981 - 87.50 177.50 257.50 0.387057 - 87.50 177.50 262.50 0.678878 - 87.50 177.50 267.50 0.828531 - 87.50 177.50 272.50 0.675974 - 87.50 177.50 277.50 0.382539 - 87.50 177.50 282.50 0.175723 - 87.50 177.50 287.50 0.099254 - 87.50 177.50 292.50 0.101157 - 87.50 177.50 297.50 0.130789 - 87.50 177.50 302.50 0.156501 - 87.50 177.50 307.50 0.173803 - 87.50 177.50 312.50 0.181188 - 87.50 177.50 317.50 0.185726 - 87.50 177.50 322.50 0.170958 - 87.50 177.50 327.50 0.134286 - 87.50 177.50 332.50 0.0974297 - 87.50 177.50 337.50 0.10043 - 87.50 177.50 342.50 0.179981 - 87.50 177.50 347.50 0.387056 - 87.50 177.50 352.50 0.678877 - 87.50 177.50 357.50 0.828531 - 92.50 2.50 2.50 0.980476 - 92.50 2.50 7.50 0.773178 - 92.50 2.50 12.50 0.393272 - 92.50 2.50 17.50 0.149977 - 92.50 2.50 22.50 0.0624685 - 92.50 2.50 27.50 0.048522 - 92.50 2.50 32.50 0.0601603 - 92.50 2.50 37.50 0.0760386 - 92.50 2.50 42.50 0.083846 - 92.50 2.50 47.50 0.084539 - 92.50 2.50 52.50 0.083846 - 92.50 2.50 57.50 0.0760385 - 92.50 2.50 62.50 0.0601603 - 92.50 2.50 67.50 0.0485219 - 92.50 2.50 72.50 0.0624686 - 92.50 2.50 77.50 0.149977 - 92.50 2.50 82.50 0.393273 - 92.50 2.50 87.50 0.773179 - 92.50 2.50 92.50 0.980476 - 92.50 2.50 97.50 0.773179 - 92.50 2.50 102.50 0.393272 - 92.50 2.50 107.50 0.149977 - 92.50 2.50 112.50 0.0624685 - 92.50 2.50 117.50 0.0485219 - 92.50 2.50 122.50 0.0601603 - 92.50 2.50 127.50 0.0760386 - 92.50 2.50 132.50 0.083846 - 92.50 2.50 137.50 0.084539 - 92.50 2.50 142.50 0.083846 - 92.50 2.50 147.50 0.0760385 - 92.50 2.50 152.50 0.0601603 - 92.50 2.50 157.50 0.0485219 - 92.50 2.50 162.50 0.0624686 - 92.50 2.50 167.50 0.149977 - 92.50 2.50 172.50 0.393272 - 92.50 2.50 177.50 0.773178 - 92.50 2.50 182.50 0.980476 - 92.50 2.50 187.50 0.773178 - 92.50 2.50 192.50 0.393272 - 92.50 2.50 197.50 0.149977 - 92.50 2.50 202.50 0.0624685 - 92.50 2.50 207.50 0.0485219 - 92.50 2.50 212.50 0.0601603 - 92.50 2.50 217.50 0.0760386 - 92.50 2.50 222.50 0.083846 - 92.50 2.50 227.50 0.084539 - 92.50 2.50 232.50 0.083846 - 92.50 2.50 237.50 0.0760385 - 92.50 2.50 242.50 0.0601603 - 92.50 2.50 247.50 0.0485219 - 92.50 2.50 252.50 0.0624686 - 92.50 2.50 257.50 0.149977 - 92.50 2.50 262.50 0.393273 - 92.50 2.50 267.50 0.773179 - 92.50 2.50 272.50 0.980476 - 92.50 2.50 277.50 0.773179 - 92.50 2.50 282.50 0.393272 - 92.50 2.50 287.50 0.149977 - 92.50 2.50 292.50 0.0624685 - 92.50 2.50 297.50 0.0485219 - 92.50 2.50 302.50 0.0601603 - 92.50 2.50 307.50 0.0760385 - 92.50 2.50 312.50 0.083846 - 92.50 2.50 317.50 0.084539 - 92.50 2.50 322.50 0.083846 - 92.50 2.50 327.50 0.0760385 - 92.50 2.50 332.50 0.0601603 - 92.50 2.50 337.50 0.048522 - 92.50 2.50 342.50 0.0624685 - 92.50 2.50 347.50 0.149977 - 92.50 2.50 352.50 0.393272 - 92.50 2.50 357.50 0.773178 - 92.50 7.50 2.50 0.827942 - 92.50 7.50 7.50 0.676593 - 92.50 7.50 12.50 0.38396 - 92.50 7.50 17.50 0.17843 - 92.50 7.50 22.50 0.101775 - 92.50 7.50 27.50 0.099583 - 92.50 7.50 32.50 0.125298 - 92.50 7.50 37.50 0.160582 - 92.50 7.50 42.50 0.178769 - 92.50 7.50 47.50 0.181722 - 92.50 7.50 52.50 0.178769 - 92.50 7.50 57.50 0.160582 - 92.50 7.50 62.50 0.125298 - 92.50 7.50 67.50 0.0995829 - 92.50 7.50 72.50 0.101776 - 92.50 7.50 77.50 0.17843 - 92.50 7.50 82.50 0.383961 - 92.50 7.50 87.50 0.676594 - 92.50 7.50 92.50 0.827942 - 92.50 7.50 97.50 0.676594 - 92.50 7.50 102.50 0.38396 - 92.50 7.50 107.50 0.17843 - 92.50 7.50 112.50 0.101775 - 92.50 7.50 117.50 0.0995831 - 92.50 7.50 122.50 0.125298 - 92.50 7.50 127.50 0.160582 - 92.50 7.50 132.50 0.178769 - 92.50 7.50 137.50 0.181722 - 92.50 7.50 142.50 0.178769 - 92.50 7.50 147.50 0.160582 - 92.50 7.50 152.50 0.125298 - 92.50 7.50 157.50 0.099583 - 92.50 7.50 162.50 0.101776 - 92.50 7.50 167.50 0.17843 - 92.50 7.50 172.50 0.38396 - 92.50 7.50 177.50 0.676594 - 92.50 7.50 182.50 0.827943 - 92.50 7.50 187.50 0.676593 - 92.50 7.50 192.50 0.38396 - 92.50 7.50 197.50 0.17843 - 92.50 7.50 202.50 0.101775 - 92.50 7.50 207.50 0.099583 - 92.50 7.50 212.50 0.125298 - 92.50 7.50 217.50 0.160582 - 92.50 7.50 222.50 0.178769 - 92.50 7.50 227.50 0.181722 - 92.50 7.50 232.50 0.178769 - 92.50 7.50 237.50 0.160582 - 92.50 7.50 242.50 0.125298 - 92.50 7.50 247.50 0.099583 - 92.50 7.50 252.50 0.101776 - 92.50 7.50 257.50 0.17843 - 92.50 7.50 262.50 0.383961 - 92.50 7.50 267.50 0.676594 - 92.50 7.50 272.50 0.827943 - 92.50 7.50 277.50 0.676594 - 92.50 7.50 282.50 0.38396 - 92.50 7.50 287.50 0.17843 - 92.50 7.50 292.50 0.101775 - 92.50 7.50 297.50 0.099583 - 92.50 7.50 302.50 0.125298 - 92.50 7.50 307.50 0.160582 - 92.50 7.50 312.50 0.178769 - 92.50 7.50 317.50 0.181722 - 92.50 7.50 322.50 0.178769 - 92.50 7.50 327.50 0.160582 - 92.50 7.50 332.50 0.125298 - 92.50 7.50 337.50 0.099583 - 92.50 7.50 342.50 0.101775 - 92.50 7.50 347.50 0.17843 - 92.50 7.50 352.50 0.38396 - 92.50 7.50 357.50 0.676593 - 92.50 12.50 2.50 0.79997 - 92.50 12.50 7.50 0.684515 - 92.50 12.50 12.50 0.443105 - 92.50 12.50 17.50 0.25792 - 92.50 12.50 22.50 0.223925 - 92.50 12.50 27.50 0.284665 - 92.50 12.50 32.50 0.384722 - 92.50 12.50 37.50 0.479712 - 92.50 12.50 42.50 0.532449 - 92.50 12.50 47.50 0.540409 - 92.50 12.50 52.50 0.53245 - 92.50 12.50 57.50 0.479712 - 92.50 12.50 62.50 0.384722 - 92.50 12.50 67.50 0.284664 - 92.50 12.50 72.50 0.223925 - 92.50 12.50 77.50 0.25792 - 92.50 12.50 82.50 0.443105 - 92.50 12.50 87.50 0.684515 - 92.50 12.50 92.50 0.79997 - 92.50 12.50 97.50 0.684515 - 92.50 12.50 102.50 0.443105 - 92.50 12.50 107.50 0.25792 - 92.50 12.50 112.50 0.223925 - 92.50 12.50 117.50 0.284665 - 92.50 12.50 122.50 0.384722 - 92.50 12.50 127.50 0.479712 - 92.50 12.50 132.50 0.532449 - 92.50 12.50 137.50 0.540409 - 92.50 12.50 142.50 0.53245 - 92.50 12.50 147.50 0.479712 - 92.50 12.50 152.50 0.384722 - 92.50 12.50 157.50 0.284664 - 92.50 12.50 162.50 0.223925 - 92.50 12.50 167.50 0.25792 - 92.50 12.50 172.50 0.443105 - 92.50 12.50 177.50 0.684515 - 92.50 12.50 182.50 0.79997 - 92.50 12.50 187.50 0.684515 - 92.50 12.50 192.50 0.443104 - 92.50 12.50 197.50 0.25792 - 92.50 12.50 202.50 0.223925 - 92.50 12.50 207.50 0.284665 - 92.50 12.50 212.50 0.384722 - 92.50 12.50 217.50 0.479712 - 92.50 12.50 222.50 0.53245 - 92.50 12.50 227.50 0.540409 - 92.50 12.50 232.50 0.53245 - 92.50 12.50 237.50 0.479711 - 92.50 12.50 242.50 0.384722 - 92.50 12.50 247.50 0.284664 - 92.50 12.50 252.50 0.223925 - 92.50 12.50 257.50 0.25792 - 92.50 12.50 262.50 0.443105 - 92.50 12.50 267.50 0.684516 - 92.50 12.50 272.50 0.799971 - 92.50 12.50 277.50 0.684516 - 92.50 12.50 282.50 0.443105 - 92.50 12.50 287.50 0.25792 - 92.50 12.50 292.50 0.223925 - 92.50 12.50 297.50 0.284665 - 92.50 12.50 302.50 0.384722 - 92.50 12.50 307.50 0.479712 - 92.50 12.50 312.50 0.53245 - 92.50 12.50 317.50 0.540409 - 92.50 12.50 322.50 0.53245 - 92.50 12.50 327.50 0.479712 - 92.50 12.50 332.50 0.384722 - 92.50 12.50 337.50 0.284665 - 92.50 12.50 342.50 0.223925 - 92.50 12.50 347.50 0.25792 - 92.50 12.50 352.50 0.443104 - 92.50 12.50 357.50 0.684515 - 92.50 17.50 2.50 0.711647 - 92.50 17.50 7.50 0.638606 - 92.50 17.50 12.50 0.467809 - 92.50 17.50 17.50 0.366937 - 92.50 17.50 22.50 0.385043 - 92.50 17.50 27.50 0.519632 - 92.50 17.50 32.50 0.725446 - 92.50 17.50 37.50 1.01676 - 92.50 17.50 42.50 1.20606 - 92.50 17.50 47.50 1.26858 - 92.50 17.50 52.50 1.20606 - 92.50 17.50 57.50 1.01676 - 92.50 17.50 62.50 0.725445 - 92.50 17.50 67.50 0.519631 - 92.50 17.50 72.50 0.385043 - 92.50 17.50 77.50 0.366937 - 92.50 17.50 82.50 0.46781 - 92.50 17.50 87.50 0.638606 - 92.50 17.50 92.50 0.711647 - 92.50 17.50 97.50 0.638605 - 92.50 17.50 102.50 0.46781 - 92.50 17.50 107.50 0.366937 - 92.50 17.50 112.50 0.385043 - 92.50 17.50 117.50 0.519632 - 92.50 17.50 122.50 0.725446 - 92.50 17.50 127.50 1.01676 - 92.50 17.50 132.50 1.20606 - 92.50 17.50 137.50 1.26858 - 92.50 17.50 142.50 1.20606 - 92.50 17.50 147.50 1.01676 - 92.50 17.50 152.50 0.725445 - 92.50 17.50 157.50 0.519631 - 92.50 17.50 162.50 0.385043 - 92.50 17.50 167.50 0.366937 - 92.50 17.50 172.50 0.46781 - 92.50 17.50 177.50 0.638606 - 92.50 17.50 182.50 0.711647 - 92.50 17.50 187.50 0.638605 - 92.50 17.50 192.50 0.467809 - 92.50 17.50 197.50 0.366937 - 92.50 17.50 202.50 0.385043 - 92.50 17.50 207.50 0.519632 - 92.50 17.50 212.50 0.725446 - 92.50 17.50 217.50 1.01676 - 92.50 17.50 222.50 1.20606 - 92.50 17.50 227.50 1.26858 - 92.50 17.50 232.50 1.20606 - 92.50 17.50 237.50 1.01676 - 92.50 17.50 242.50 0.725445 - 92.50 17.50 247.50 0.519631 - 92.50 17.50 252.50 0.385043 - 92.50 17.50 257.50 0.366937 - 92.50 17.50 262.50 0.46781 - 92.50 17.50 267.50 0.638606 - 92.50 17.50 272.50 0.711647 - 92.50 17.50 277.50 0.638605 - 92.50 17.50 282.50 0.467809 - 92.50 17.50 287.50 0.366937 - 92.50 17.50 292.50 0.385043 - 92.50 17.50 297.50 0.519631 - 92.50 17.50 302.50 0.725446 - 92.50 17.50 307.50 1.01676 - 92.50 17.50 312.50 1.20606 - 92.50 17.50 317.50 1.26858 - 92.50 17.50 322.50 1.20606 - 92.50 17.50 327.50 1.01676 - 92.50 17.50 332.50 0.725446 - 92.50 17.50 337.50 0.519632 - 92.50 17.50 342.50 0.385043 - 92.50 17.50 347.50 0.366937 - 92.50 17.50 352.50 0.467809 - 92.50 17.50 357.50 0.638606 - 92.50 22.50 2.50 0.546004 - 92.50 22.50 7.50 0.505741 - 92.50 22.50 12.50 0.43119 - 92.50 22.50 17.50 0.401786 - 92.50 22.50 22.50 0.491398 - 92.50 22.50 27.50 0.782686 - 92.50 22.50 32.50 1.26428 - 92.50 22.50 37.50 1.7833 - 92.50 22.50 42.50 2.22181 - 92.50 22.50 47.50 2.40899 - 92.50 22.50 52.50 2.22181 - 92.50 22.50 57.50 1.7833 - 92.50 22.50 62.50 1.26428 - 92.50 22.50 67.50 0.782685 - 92.50 22.50 72.50 0.491398 - 92.50 22.50 77.50 0.401786 - 92.50 22.50 82.50 0.43119 - 92.50 22.50 87.50 0.505741 - 92.50 22.50 92.50 0.546004 - 92.50 22.50 97.50 0.505741 - 92.50 22.50 102.50 0.43119 - 92.50 22.50 107.50 0.401786 - 92.50 22.50 112.50 0.491398 - 92.50 22.50 117.50 0.782685 - 92.50 22.50 122.50 1.26428 - 92.50 22.50 127.50 1.7833 - 92.50 22.50 132.50 2.22181 - 92.50 22.50 137.50 2.40899 - 92.50 22.50 142.50 2.22181 - 92.50 22.50 147.50 1.7833 - 92.50 22.50 152.50 1.26428 - 92.50 22.50 157.50 0.782685 - 92.50 22.50 162.50 0.491398 - 92.50 22.50 167.50 0.401786 - 92.50 22.50 172.50 0.43119 - 92.50 22.50 177.50 0.505741 - 92.50 22.50 182.50 0.546005 - 92.50 22.50 187.50 0.505741 - 92.50 22.50 192.50 0.43119 - 92.50 22.50 197.50 0.401786 - 92.50 22.50 202.50 0.491398 - 92.50 22.50 207.50 0.782685 - 92.50 22.50 212.50 1.26428 - 92.50 22.50 217.50 1.7833 - 92.50 22.50 222.50 2.22181 - 92.50 22.50 227.50 2.40899 - 92.50 22.50 232.50 2.22181 - 92.50 22.50 237.50 1.7833 - 92.50 22.50 242.50 1.26428 - 92.50 22.50 247.50 0.782684 - 92.50 22.50 252.50 0.491397 - 92.50 22.50 257.50 0.401786 - 92.50 22.50 262.50 0.43119 - 92.50 22.50 267.50 0.505741 - 92.50 22.50 272.50 0.546004 - 92.50 22.50 277.50 0.505741 - 92.50 22.50 282.50 0.43119 - 92.50 22.50 287.50 0.401786 - 92.50 22.50 292.50 0.491398 - 92.50 22.50 297.50 0.782685 - 92.50 22.50 302.50 1.26428 - 92.50 22.50 307.50 1.7833 - 92.50 22.50 312.50 2.22181 - 92.50 22.50 317.50 2.40899 - 92.50 22.50 322.50 2.22181 - 92.50 22.50 327.50 1.7833 - 92.50 22.50 332.50 1.26428 - 92.50 22.50 337.50 0.782686 - 92.50 22.50 342.50 0.491398 - 92.50 22.50 347.50 0.401786 - 92.50 22.50 352.50 0.43119 - 92.50 22.50 357.50 0.505741 - 92.50 27.50 2.50 0.349564 - 92.50 27.50 7.50 0.330967 - 92.50 27.50 12.50 0.322834 - 92.50 27.50 17.50 0.365553 - 92.50 27.50 22.50 0.579183 - 92.50 27.50 27.50 1.04188 - 92.50 27.50 32.50 1.74902 - 92.50 27.50 37.50 2.6418 - 92.50 27.50 42.50 3.39824 - 92.50 27.50 47.50 3.75596 - 92.50 27.50 52.50 3.39824 - 92.50 27.50 57.50 2.6418 - 92.50 27.50 62.50 1.74902 - 92.50 27.50 67.50 1.04188 - 92.50 27.50 72.50 0.579182 - 92.50 27.50 77.50 0.365554 - 92.50 27.50 82.50 0.322834 - 92.50 27.50 87.50 0.330966 - 92.50 27.50 92.50 0.349565 - 92.50 27.50 97.50 0.330966 - 92.50 27.50 102.50 0.322834 - 92.50 27.50 107.50 0.365553 - 92.50 27.50 112.50 0.579183 - 92.50 27.50 117.50 1.04188 - 92.50 27.50 122.50 1.74902 - 92.50 27.50 127.50 2.6418 - 92.50 27.50 132.50 3.39824 - 92.50 27.50 137.50 3.75596 - 92.50 27.50 142.50 3.39824 - 92.50 27.50 147.50 2.6418 - 92.50 27.50 152.50 1.74902 - 92.50 27.50 157.50 1.04188 - 92.50 27.50 162.50 0.579183 - 92.50 27.50 167.50 0.365554 - 92.50 27.50 172.50 0.322834 - 92.50 27.50 177.50 0.330966 - 92.50 27.50 182.50 0.349565 - 92.50 27.50 187.50 0.330966 - 92.50 27.50 192.50 0.322834 - 92.50 27.50 197.50 0.365554 - 92.50 27.50 202.50 0.579183 - 92.50 27.50 207.50 1.04188 - 92.50 27.50 212.50 1.74902 - 92.50 27.50 217.50 2.6418 - 92.50 27.50 222.50 3.39824 - 92.50 27.50 227.50 3.75596 - 92.50 27.50 232.50 3.39823 - 92.50 27.50 237.50 2.6418 - 92.50 27.50 242.50 1.74902 - 92.50 27.50 247.50 1.04188 - 92.50 27.50 252.50 0.579182 - 92.50 27.50 257.50 0.365553 - 92.50 27.50 262.50 0.322834 - 92.50 27.50 267.50 0.330967 - 92.50 27.50 272.50 0.349565 - 92.50 27.50 277.50 0.330967 - 92.50 27.50 282.50 0.322834 - 92.50 27.50 287.50 0.365554 - 92.50 27.50 292.50 0.579183 - 92.50 27.50 297.50 1.04188 - 92.50 27.50 302.50 1.74902 - 92.50 27.50 307.50 2.6418 - 92.50 27.50 312.50 3.39824 - 92.50 27.50 317.50 3.75596 - 92.50 27.50 322.50 3.39824 - 92.50 27.50 327.50 2.6418 - 92.50 27.50 332.50 1.74902 - 92.50 27.50 337.50 1.04188 - 92.50 27.50 342.50 0.579183 - 92.50 27.50 347.50 0.365554 - 92.50 27.50 352.50 0.322834 - 92.50 27.50 357.50 0.330967 - 92.50 32.50 2.50 0.209129 - 92.50 32.50 7.50 0.201319 - 92.50 32.50 12.50 0.212048 - 92.50 32.50 17.50 0.295808 - 92.50 32.50 22.50 0.563445 - 92.50 32.50 27.50 1.09055 - 92.50 32.50 32.50 1.93443 - 92.50 32.50 37.50 2.96592 - 92.50 32.50 42.50 3.89139 - 92.50 32.50 47.50 4.27493 - 92.50 32.50 52.50 3.89139 - 92.50 32.50 57.50 2.96592 - 92.50 32.50 62.50 1.93443 - 92.50 32.50 67.50 1.09055 - 92.50 32.50 72.50 0.563445 - 92.50 32.50 77.50 0.295808 - 92.50 32.50 82.50 0.212048 - 92.50 32.50 87.50 0.201319 - 92.50 32.50 92.50 0.209129 - 92.50 32.50 97.50 0.201319 - 92.50 32.50 102.50 0.212048 - 92.50 32.50 107.50 0.295808 - 92.50 32.50 112.50 0.563445 - 92.50 32.50 117.50 1.09055 - 92.50 32.50 122.50 1.93443 - 92.50 32.50 127.50 2.96592 - 92.50 32.50 132.50 3.89139 - 92.50 32.50 137.50 4.27493 - 92.50 32.50 142.50 3.89139 - 92.50 32.50 147.50 2.96592 - 92.50 32.50 152.50 1.93443 - 92.50 32.50 157.50 1.09055 - 92.50 32.50 162.50 0.563445 - 92.50 32.50 167.50 0.295808 - 92.50 32.50 172.50 0.212048 - 92.50 32.50 177.50 0.201319 - 92.50 32.50 182.50 0.209129 - 92.50 32.50 187.50 0.201319 - 92.50 32.50 192.50 0.212048 - 92.50 32.50 197.50 0.295808 - 92.50 32.50 202.50 0.563445 - 92.50 32.50 207.50 1.09055 - 92.50 32.50 212.50 1.93443 - 92.50 32.50 217.50 2.96592 - 92.50 32.50 222.50 3.89139 - 92.50 32.50 227.50 4.27493 - 92.50 32.50 232.50 3.89138 - 92.50 32.50 237.50 2.96592 - 92.50 32.50 242.50 1.93443 - 92.50 32.50 247.50 1.09055 - 92.50 32.50 252.50 0.563444 - 92.50 32.50 257.50 0.295808 - 92.50 32.50 262.50 0.212048 - 92.50 32.50 267.50 0.201319 - 92.50 32.50 272.50 0.209129 - 92.50 32.50 277.50 0.201319 - 92.50 32.50 282.50 0.212048 - 92.50 32.50 287.50 0.295808 - 92.50 32.50 292.50 0.563445 - 92.50 32.50 297.50 1.09055 - 92.50 32.50 302.50 1.93443 - 92.50 32.50 307.50 2.96592 - 92.50 32.50 312.50 3.89139 - 92.50 32.50 317.50 4.27493 - 92.50 32.50 322.50 3.89139 - 92.50 32.50 327.50 2.96592 - 92.50 32.50 332.50 1.93444 - 92.50 32.50 337.50 1.09055 - 92.50 32.50 342.50 0.563445 - 92.50 32.50 347.50 0.295808 - 92.50 32.50 352.50 0.212048 - 92.50 32.50 357.50 0.201319 - 92.50 37.50 2.50 0.132396 - 92.50 37.50 7.50 0.123763 - 92.50 37.50 12.50 0.121855 - 92.50 37.50 17.50 0.199712 - 92.50 37.50 22.50 0.422605 - 92.50 37.50 27.50 0.849212 - 92.50 37.50 32.50 1.51749 - 92.50 37.50 37.50 2.35946 - 92.50 37.50 42.50 3.09567 - 92.50 37.50 47.50 3.39937 - 92.50 37.50 52.50 3.09567 - 92.50 37.50 57.50 2.35946 - 92.50 37.50 62.50 1.51748 - 92.50 37.50 67.50 0.849211 - 92.50 37.50 72.50 0.422604 - 92.50 37.50 77.50 0.199711 - 92.50 37.50 82.50 0.121855 - 92.50 37.50 87.50 0.123763 - 92.50 37.50 92.50 0.132396 - 92.50 37.50 97.50 0.123763 - 92.50 37.50 102.50 0.121855 - 92.50 37.50 107.50 0.199712 - 92.50 37.50 112.50 0.422605 - 92.50 37.50 117.50 0.849212 - 92.50 37.50 122.50 1.51749 - 92.50 37.50 127.50 2.35946 - 92.50 37.50 132.50 3.09567 - 92.50 37.50 137.50 3.39937 - 92.50 37.50 142.50 3.09567 - 92.50 37.50 147.50 2.35946 - 92.50 37.50 152.50 1.51749 - 92.50 37.50 157.50 0.849212 - 92.50 37.50 162.50 0.422605 - 92.50 37.50 167.50 0.199712 - 92.50 37.50 172.50 0.121855 - 92.50 37.50 177.50 0.123763 - 92.50 37.50 182.50 0.132396 - 92.50 37.50 187.50 0.123763 - 92.50 37.50 192.50 0.121855 - 92.50 37.50 197.50 0.199712 - 92.50 37.50 202.50 0.422605 - 92.50 37.50 207.50 0.849212 - 92.50 37.50 212.50 1.51749 - 92.50 37.50 217.50 2.35946 - 92.50 37.50 222.50 3.09567 - 92.50 37.50 227.50 3.39937 - 92.50 37.50 232.50 3.09567 - 92.50 37.50 237.50 2.35946 - 92.50 37.50 242.50 1.51748 - 92.50 37.50 247.50 0.849211 - 92.50 37.50 252.50 0.422604 - 92.50 37.50 257.50 0.199711 - 92.50 37.50 262.50 0.121855 - 92.50 37.50 267.50 0.123763 - 92.50 37.50 272.50 0.132396 - 92.50 37.50 277.50 0.123763 - 92.50 37.50 282.50 0.121855 - 92.50 37.50 287.50 0.199711 - 92.50 37.50 292.50 0.422605 - 92.50 37.50 297.50 0.849211 - 92.50 37.50 302.50 1.51749 - 92.50 37.50 307.50 2.35946 - 92.50 37.50 312.50 3.09567 - 92.50 37.50 317.50 3.39937 - 92.50 37.50 322.50 3.09568 - 92.50 37.50 327.50 2.35946 - 92.50 37.50 332.50 1.51749 - 92.50 37.50 337.50 0.849213 - 92.50 37.50 342.50 0.422605 - 92.50 37.50 347.50 0.199712 - 92.50 37.50 352.50 0.121855 - 92.50 37.50 357.50 0.123763 - 92.50 42.50 2.50 0.0754697 - 92.50 42.50 7.50 0.0655431 - 92.50 42.50 12.50 0.0560289 - 92.50 42.50 17.50 0.101944 - 92.50 42.50 22.50 0.233216 - 92.50 42.50 27.50 0.469185 - 92.50 42.50 32.50 0.840153 - 92.50 42.50 37.50 1.28904 - 92.50 42.50 42.50 1.66633 - 92.50 42.50 47.50 1.81746 - 92.50 42.50 52.50 1.66633 - 92.50 42.50 57.50 1.28904 - 92.50 42.50 62.50 0.840151 - 92.50 42.50 67.50 0.469184 - 92.50 42.50 72.50 0.233216 - 92.50 42.50 77.50 0.101944 - 92.50 42.50 82.50 0.0560289 - 92.50 42.50 87.50 0.0655431 - 92.50 42.50 92.50 0.0754697 - 92.50 42.50 97.50 0.0655431 - 92.50 42.50 102.50 0.056029 - 92.50 42.50 107.50 0.101944 - 92.50 42.50 112.50 0.233216 - 92.50 42.50 117.50 0.469185 - 92.50 42.50 122.50 0.840152 - 92.50 42.50 127.50 1.28904 - 92.50 42.50 132.50 1.66633 - 92.50 42.50 137.50 1.81746 - 92.50 42.50 142.50 1.66632 - 92.50 42.50 147.50 1.28904 - 92.50 42.50 152.50 0.840152 - 92.50 42.50 157.50 0.469184 - 92.50 42.50 162.50 0.233216 - 92.50 42.50 167.50 0.101944 - 92.50 42.50 172.50 0.0560289 - 92.50 42.50 177.50 0.0655431 - 92.50 42.50 182.50 0.0754697 - 92.50 42.50 187.50 0.0655431 - 92.50 42.50 192.50 0.056029 - 92.50 42.50 197.50 0.101944 - 92.50 42.50 202.50 0.233216 - 92.50 42.50 207.50 0.469184 - 92.50 42.50 212.50 0.840152 - 92.50 42.50 217.50 1.28904 - 92.50 42.50 222.50 1.66633 - 92.50 42.50 227.50 1.81746 - 92.50 42.50 232.50 1.66632 - 92.50 42.50 237.50 1.28904 - 92.50 42.50 242.50 0.840151 - 92.50 42.50 247.50 0.469184 - 92.50 42.50 252.50 0.233216 - 92.50 42.50 257.50 0.101944 - 92.50 42.50 262.50 0.0560289 - 92.50 42.50 267.50 0.0655431 - 92.50 42.50 272.50 0.0754697 - 92.50 42.50 277.50 0.0655431 - 92.50 42.50 282.50 0.056029 - 92.50 42.50 287.50 0.101944 - 92.50 42.50 292.50 0.233216 - 92.50 42.50 297.50 0.469184 - 92.50 42.50 302.50 0.840151 - 92.50 42.50 307.50 1.28904 - 92.50 42.50 312.50 1.66633 - 92.50 42.50 317.50 1.81746 - 92.50 42.50 322.50 1.66633 - 92.50 42.50 327.50 1.28904 - 92.50 42.50 332.50 0.840152 - 92.50 42.50 337.50 0.469185 - 92.50 42.50 342.50 0.233216 - 92.50 42.50 347.50 0.101945 - 92.50 42.50 352.50 0.056029 - 92.50 42.50 357.50 0.065543 - 92.50 47.50 2.50 0.0484156 - 92.50 47.50 7.50 0.0374445 - 92.50 47.50 12.50 0.0243017 - 92.50 47.50 17.50 0.0393994 - 92.50 47.50 22.50 0.0942026 - 92.50 47.50 27.50 0.183658 - 92.50 47.50 32.50 0.305638 - 92.50 47.50 37.50 0.492438 - 92.50 47.50 42.50 0.570583 - 92.50 47.50 47.50 0.66841 - 92.50 47.50 52.50 0.570583 - 92.50 47.50 57.50 0.492438 - 92.50 47.50 62.50 0.305638 - 92.50 47.50 67.50 0.183657 - 92.50 47.50 72.50 0.0942025 - 92.50 47.50 77.50 0.0393994 - 92.50 47.50 82.50 0.0243017 - 92.50 47.50 87.50 0.0374445 - 92.50 47.50 92.50 0.0484156 - 92.50 47.50 97.50 0.0374445 - 92.50 47.50 102.50 0.0243017 - 92.50 47.50 107.50 0.0393994 - 92.50 47.50 112.50 0.0942025 - 92.50 47.50 117.50 0.183658 - 92.50 47.50 122.50 0.305638 - 92.50 47.50 127.50 0.492439 - 92.50 47.50 132.50 0.570583 - 92.50 47.50 137.50 0.66841 - 92.50 47.50 142.50 0.570583 - 92.50 47.50 147.50 0.492438 - 92.50 47.50 152.50 0.305638 - 92.50 47.50 157.50 0.183658 - 92.50 47.50 162.50 0.0942025 - 92.50 47.50 167.50 0.0393994 - 92.50 47.50 172.50 0.0243017 - 92.50 47.50 177.50 0.0374445 - 92.50 47.50 182.50 0.0484156 - 92.50 47.50 187.50 0.0374445 - 92.50 47.50 192.50 0.0243017 - 92.50 47.50 197.50 0.0393995 - 92.50 47.50 202.50 0.0942026 - 92.50 47.50 207.50 0.183658 - 92.50 47.50 212.50 0.305638 - 92.50 47.50 217.50 0.492438 - 92.50 47.50 222.50 0.570583 - 92.50 47.50 227.50 0.66841 - 92.50 47.50 232.50 0.570583 - 92.50 47.50 237.50 0.492438 - 92.50 47.50 242.50 0.305638 - 92.50 47.50 247.50 0.183657 - 92.50 47.50 252.50 0.0942024 - 92.50 47.50 257.50 0.0393994 - 92.50 47.50 262.50 0.0243017 - 92.50 47.50 267.50 0.0374445 - 92.50 47.50 272.50 0.0484156 - 92.50 47.50 277.50 0.0374445 - 92.50 47.50 282.50 0.0243017 - 92.50 47.50 287.50 0.0393994 - 92.50 47.50 292.50 0.0942025 - 92.50 47.50 297.50 0.183658 - 92.50 47.50 302.50 0.305638 - 92.50 47.50 307.50 0.492438 - 92.50 47.50 312.50 0.570583 - 92.50 47.50 317.50 0.668409 - 92.50 47.50 322.50 0.570583 - 92.50 47.50 327.50 0.492439 - 92.50 47.50 332.50 0.305638 - 92.50 47.50 337.50 0.183658 - 92.50 47.50 342.50 0.0942025 - 92.50 47.50 347.50 0.0393995 - 92.50 47.50 352.50 0.0243017 - 92.50 47.50 357.50 0.0374444 - 92.50 52.50 2.50 0.0754697 - 92.50 52.50 7.50 0.0547379 - 92.50 52.50 12.50 0.0266985 - 92.50 52.50 17.50 0.0204215 - 92.50 52.50 22.50 0.0327606 - 92.50 52.50 27.50 0.0460649 - 92.50 52.50 32.50 0.0775569 - 92.50 52.50 37.50 0.112976 - 92.50 52.50 42.50 0.122784 - 92.50 52.50 47.50 0.145968 - 92.50 52.50 52.50 0.122784 - 92.50 52.50 57.50 0.112976 - 92.50 52.50 62.50 0.0775568 - 92.50 52.50 67.50 0.0460649 - 92.50 52.50 72.50 0.0327606 - 92.50 52.50 77.50 0.0204215 - 92.50 52.50 82.50 0.0266985 - 92.50 52.50 87.50 0.0547379 - 92.50 52.50 92.50 0.0754697 - 92.50 52.50 97.50 0.0547378 - 92.50 52.50 102.50 0.0266985 - 92.50 52.50 107.50 0.0204215 - 92.50 52.50 112.50 0.0327606 - 92.50 52.50 117.50 0.046065 - 92.50 52.50 122.50 0.077557 - 92.50 52.50 127.50 0.112976 - 92.50 52.50 132.50 0.122784 - 92.50 52.50 137.50 0.145968 - 92.50 52.50 142.50 0.122784 - 92.50 52.50 147.50 0.112976 - 92.50 52.50 152.50 0.0775568 - 92.50 52.50 157.50 0.0460649 - 92.50 52.50 162.50 0.0327606 - 92.50 52.50 167.50 0.0204215 - 92.50 52.50 172.50 0.0266985 - 92.50 52.50 177.50 0.0547378 - 92.50 52.50 182.50 0.0754697 - 92.50 52.50 187.50 0.0547378 - 92.50 52.50 192.50 0.0266985 - 92.50 52.50 197.50 0.0204215 - 92.50 52.50 202.50 0.0327607 - 92.50 52.50 207.50 0.046065 - 92.50 52.50 212.50 0.0775569 - 92.50 52.50 217.50 0.112976 - 92.50 52.50 222.50 0.122784 - 92.50 52.50 227.50 0.145968 - 92.50 52.50 232.50 0.122784 - 92.50 52.50 237.50 0.112976 - 92.50 52.50 242.50 0.0775568 - 92.50 52.50 247.50 0.046065 - 92.50 52.50 252.50 0.0327606 - 92.50 52.50 257.50 0.0204215 - 92.50 52.50 262.50 0.0266985 - 92.50 52.50 267.50 0.0547379 - 92.50 52.50 272.50 0.0754697 - 92.50 52.50 277.50 0.0547379 - 92.50 52.50 282.50 0.0266985 - 92.50 52.50 287.50 0.0204215 - 92.50 52.50 292.50 0.0327606 - 92.50 52.50 297.50 0.0460649 - 92.50 52.50 302.50 0.0775568 - 92.50 52.50 307.50 0.112976 - 92.50 52.50 312.50 0.122784 - 92.50 52.50 317.50 0.145968 - 92.50 52.50 322.50 0.122784 - 92.50 52.50 327.50 0.112976 - 92.50 52.50 332.50 0.077557 - 92.50 52.50 337.50 0.046065 - 92.50 52.50 342.50 0.0327607 - 92.50 52.50 347.50 0.0204215 - 92.50 52.50 352.50 0.0266985 - 92.50 52.50 357.50 0.0547378 - 92.50 57.50 2.50 0.132396 - 92.50 57.50 7.50 0.105763 - 92.50 57.50 12.50 0.069614 - 92.50 57.50 17.50 0.053343 - 92.50 57.50 22.50 0.033696 - 92.50 57.50 27.50 0.015968 - 92.50 57.50 32.50 0.0153846 - 92.50 57.50 37.50 0.0157352 - 92.50 57.50 42.50 0.0144469 - 92.50 57.50 47.50 0.0195356 - 92.50 57.50 52.50 0.0144469 - 92.50 57.50 57.50 0.0157351 - 92.50 57.50 62.50 0.0153846 - 92.50 57.50 67.50 0.015968 - 92.50 57.50 72.50 0.033696 - 92.50 57.50 77.50 0.0533429 - 92.50 57.50 82.50 0.069614 - 92.50 57.50 87.50 0.105763 - 92.50 57.50 92.50 0.132396 - 92.50 57.50 97.50 0.105763 - 92.50 57.50 102.50 0.069614 - 92.50 57.50 107.50 0.0533429 - 92.50 57.50 112.50 0.033696 - 92.50 57.50 117.50 0.015968 - 92.50 57.50 122.50 0.0153846 - 92.50 57.50 127.50 0.0157352 - 92.50 57.50 132.50 0.0144469 - 92.50 57.50 137.50 0.0195356 - 92.50 57.50 142.50 0.0144469 - 92.50 57.50 147.50 0.0157352 - 92.50 57.50 152.50 0.0153846 - 92.50 57.50 157.50 0.015968 - 92.50 57.50 162.50 0.033696 - 92.50 57.50 167.50 0.0533429 - 92.50 57.50 172.50 0.069614 - 92.50 57.50 177.50 0.105763 - 92.50 57.50 182.50 0.132396 - 92.50 57.50 187.50 0.105763 - 92.50 57.50 192.50 0.0696139 - 92.50 57.50 197.50 0.0533429 - 92.50 57.50 202.50 0.033696 - 92.50 57.50 207.50 0.015968 - 92.50 57.50 212.50 0.0153846 - 92.50 57.50 217.50 0.0157352 - 92.50 57.50 222.50 0.0144469 - 92.50 57.50 227.50 0.0195356 - 92.50 57.50 232.50 0.0144469 - 92.50 57.50 237.50 0.0157352 - 92.50 57.50 242.50 0.0153846 - 92.50 57.50 247.50 0.015968 - 92.50 57.50 252.50 0.0336961 - 92.50 57.50 257.50 0.053343 - 92.50 57.50 262.50 0.069614 - 92.50 57.50 267.50 0.105763 - 92.50 57.50 272.50 0.132396 - 92.50 57.50 277.50 0.105763 - 92.50 57.50 282.50 0.069614 - 92.50 57.50 287.50 0.0533429 - 92.50 57.50 292.50 0.0336959 - 92.50 57.50 297.50 0.015968 - 92.50 57.50 302.50 0.0153846 - 92.50 57.50 307.50 0.0157352 - 92.50 57.50 312.50 0.0144469 - 92.50 57.50 317.50 0.0195356 - 92.50 57.50 322.50 0.0144469 - 92.50 57.50 327.50 0.0157352 - 92.50 57.50 332.50 0.0153846 - 92.50 57.50 337.50 0.015968 - 92.50 57.50 342.50 0.0336959 - 92.50 57.50 347.50 0.0533429 - 92.50 57.50 352.50 0.069614 - 92.50 57.50 357.50 0.105763 - 92.50 62.50 2.50 0.209129 - 92.50 62.50 7.50 0.209878 - 92.50 62.50 12.50 0.190514 - 92.50 62.50 17.50 0.171506 - 92.50 62.50 22.50 0.0991574 - 92.50 62.50 27.50 0.0508348 - 92.50 62.50 32.50 0.0210874 - 92.50 62.50 37.50 0.0107072 - 92.50 62.50 42.50 0.00737379 - 92.50 62.50 47.50 0.00644391 - 92.50 62.50 52.50 0.00737379 - 92.50 62.50 57.50 0.0107072 - 92.50 62.50 62.50 0.0210875 - 92.50 62.50 67.50 0.0508349 - 92.50 62.50 72.50 0.0991575 - 92.50 62.50 77.50 0.171506 - 92.50 62.50 82.50 0.190514 - 92.50 62.50 87.50 0.209877 - 92.50 62.50 92.50 0.209129 - 92.50 62.50 97.50 0.209877 - 92.50 62.50 102.50 0.190514 - 92.50 62.50 107.50 0.171506 - 92.50 62.50 112.50 0.0991574 - 92.50 62.50 117.50 0.0508348 - 92.50 62.50 122.50 0.0210874 - 92.50 62.50 127.50 0.0107072 - 92.50 62.50 132.50 0.00737378 - 92.50 62.50 137.50 0.0064439 - 92.50 62.50 142.50 0.00737379 - 92.50 62.50 147.50 0.0107072 - 92.50 62.50 152.50 0.0210874 - 92.50 62.50 157.50 0.0508348 - 92.50 62.50 162.50 0.0991574 - 92.50 62.50 167.50 0.171506 - 92.50 62.50 172.50 0.190514 - 92.50 62.50 177.50 0.209877 - 92.50 62.50 182.50 0.209129 - 92.50 62.50 187.50 0.209877 - 92.50 62.50 192.50 0.190514 - 92.50 62.50 197.50 0.171506 - 92.50 62.50 202.50 0.0991573 - 92.50 62.50 207.50 0.0508348 - 92.50 62.50 212.50 0.0210874 - 92.50 62.50 217.50 0.0107072 - 92.50 62.50 222.50 0.00737379 - 92.50 62.50 227.50 0.0064439 - 92.50 62.50 232.50 0.00737378 - 92.50 62.50 237.50 0.0107072 - 92.50 62.50 242.50 0.0210875 - 92.50 62.50 247.50 0.0508349 - 92.50 62.50 252.50 0.0991575 - 92.50 62.50 257.50 0.171506 - 92.50 62.50 262.50 0.190514 - 92.50 62.50 267.50 0.209877 - 92.50 62.50 272.50 0.209129 - 92.50 62.50 277.50 0.209877 - 92.50 62.50 282.50 0.190514 - 92.50 62.50 287.50 0.171506 - 92.50 62.50 292.50 0.0991574 - 92.50 62.50 297.50 0.0508348 - 92.50 62.50 302.50 0.0210875 - 92.50 62.50 307.50 0.0107072 - 92.50 62.50 312.50 0.00737379 - 92.50 62.50 317.50 0.00644391 - 92.50 62.50 322.50 0.00737379 - 92.50 62.50 327.50 0.0107072 - 92.50 62.50 332.50 0.0210875 - 92.50 62.50 337.50 0.0508348 - 92.50 62.50 342.50 0.0991573 - 92.50 62.50 347.50 0.171506 - 92.50 62.50 352.50 0.190514 - 92.50 62.50 357.50 0.209877 - 92.50 67.50 2.50 0.349564 - 92.50 67.50 7.50 0.412846 - 92.50 67.50 12.50 0.46064 - 92.50 67.50 17.50 0.392485 - 92.50 67.50 22.50 0.280663 - 92.50 67.50 27.50 0.151742 - 92.50 67.50 32.50 0.0774871 - 92.50 67.50 37.50 0.056985 - 92.50 67.50 42.50 0.0485156 - 92.50 67.50 47.50 0.044398 - 92.50 67.50 52.50 0.0485156 - 92.50 67.50 57.50 0.0569851 - 92.50 67.50 62.50 0.0774872 - 92.50 67.50 67.50 0.151742 - 92.50 67.50 72.50 0.280664 - 92.50 67.50 77.50 0.392484 - 92.50 67.50 82.50 0.46064 - 92.50 67.50 87.50 0.412846 - 92.50 67.50 92.50 0.349564 - 92.50 67.50 97.50 0.412846 - 92.50 67.50 102.50 0.460639 - 92.50 67.50 107.50 0.392484 - 92.50 67.50 112.50 0.280663 - 92.50 67.50 117.50 0.151741 - 92.50 67.50 122.50 0.077487 - 92.50 67.50 127.50 0.0569849 - 92.50 67.50 132.50 0.0485155 - 92.50 67.50 137.50 0.0443979 - 92.50 67.50 142.50 0.0485155 - 92.50 67.50 147.50 0.0569849 - 92.50 67.50 152.50 0.077487 - 92.50 67.50 157.50 0.151742 - 92.50 67.50 162.50 0.280664 - 92.50 67.50 167.50 0.392484 - 92.50 67.50 172.50 0.460639 - 92.50 67.50 177.50 0.412846 - 92.50 67.50 182.50 0.349564 - 92.50 67.50 187.50 0.412846 - 92.50 67.50 192.50 0.46064 - 92.50 67.50 197.50 0.392484 - 92.50 67.50 202.50 0.280663 - 92.50 67.50 207.50 0.151742 - 92.50 67.50 212.50 0.077487 - 92.50 67.50 217.50 0.056985 - 92.50 67.50 222.50 0.0485156 - 92.50 67.50 227.50 0.0443979 - 92.50 67.50 232.50 0.0485155 - 92.50 67.50 237.50 0.056985 - 92.50 67.50 242.50 0.0774871 - 92.50 67.50 247.50 0.151742 - 92.50 67.50 252.50 0.280664 - 92.50 67.50 257.50 0.392484 - 92.50 67.50 262.50 0.46064 - 92.50 67.50 267.50 0.412845 - 92.50 67.50 272.50 0.349564 - 92.50 67.50 277.50 0.412846 - 92.50 67.50 282.50 0.46064 - 92.50 67.50 287.50 0.392485 - 92.50 67.50 292.50 0.280664 - 92.50 67.50 297.50 0.151742 - 92.50 67.50 302.50 0.0774871 - 92.50 67.50 307.50 0.056985 - 92.50 67.50 312.50 0.0485156 - 92.50 67.50 317.50 0.044398 - 92.50 67.50 322.50 0.0485156 - 92.50 67.50 327.50 0.056985 - 92.50 67.50 332.50 0.077487 - 92.50 67.50 337.50 0.151742 - 92.50 67.50 342.50 0.280663 - 92.50 67.50 347.50 0.392484 - 92.50 67.50 352.50 0.46064 - 92.50 67.50 357.50 0.412846 - 92.50 72.50 2.50 0.546005 - 92.50 72.50 7.50 0.671003 - 92.50 72.50 12.50 0.835489 - 92.50 72.50 17.50 0.727916 - 92.50 72.50 22.50 0.543532 - 92.50 72.50 27.50 0.39085 - 92.50 72.50 32.50 0.30417 - 92.50 72.50 37.50 0.247948 - 92.50 72.50 42.50 0.223687 - 92.50 72.50 47.50 0.201992 - 92.50 72.50 52.50 0.223687 - 92.50 72.50 57.50 0.247948 - 92.50 72.50 62.50 0.30417 - 92.50 72.50 67.50 0.39085 - 92.50 72.50 72.50 0.543533 - 92.50 72.50 77.50 0.727916 - 92.50 72.50 82.50 0.835489 - 92.50 72.50 87.50 0.671003 - 92.50 72.50 92.50 0.546004 - 92.50 72.50 97.50 0.671003 - 92.50 72.50 102.50 0.835488 - 92.50 72.50 107.50 0.727915 - 92.50 72.50 112.50 0.543532 - 92.50 72.50 117.50 0.39085 - 92.50 72.50 122.50 0.30417 - 92.50 72.50 127.50 0.247948 - 92.50 72.50 132.50 0.223686 - 92.50 72.50 137.50 0.201992 - 92.50 72.50 142.50 0.223687 - 92.50 72.50 147.50 0.247948 - 92.50 72.50 152.50 0.30417 - 92.50 72.50 157.50 0.39085 - 92.50 72.50 162.50 0.543533 - 92.50 72.50 167.50 0.727916 - 92.50 72.50 172.50 0.835488 - 92.50 72.50 177.50 0.671003 - 92.50 72.50 182.50 0.546005 - 92.50 72.50 187.50 0.671003 - 92.50 72.50 192.50 0.835489 - 92.50 72.50 197.50 0.727915 - 92.50 72.50 202.50 0.543532 - 92.50 72.50 207.50 0.39085 - 92.50 72.50 212.50 0.30417 - 92.50 72.50 217.50 0.247948 - 92.50 72.50 222.50 0.223686 - 92.50 72.50 227.50 0.201992 - 92.50 72.50 232.50 0.223687 - 92.50 72.50 237.50 0.247948 - 92.50 72.50 242.50 0.30417 - 92.50 72.50 247.50 0.39085 - 92.50 72.50 252.50 0.543533 - 92.50 72.50 257.50 0.727916 - 92.50 72.50 262.50 0.835488 - 92.50 72.50 267.50 0.671003 - 92.50 72.50 272.50 0.546004 - 92.50 72.50 277.50 0.671003 - 92.50 72.50 282.50 0.835488 - 92.50 72.50 287.50 0.727915 - 92.50 72.50 292.50 0.543532 - 92.50 72.50 297.50 0.39085 - 92.50 72.50 302.50 0.30417 - 92.50 72.50 307.50 0.247948 - 92.50 72.50 312.50 0.223687 - 92.50 72.50 317.50 0.201992 - 92.50 72.50 322.50 0.223687 - 92.50 72.50 327.50 0.247948 - 92.50 72.50 332.50 0.30417 - 92.50 72.50 337.50 0.39085 - 92.50 72.50 342.50 0.543532 - 92.50 72.50 347.50 0.727915 - 92.50 72.50 352.50 0.835489 - 92.50 72.50 357.50 0.671003 - 92.50 77.50 2.50 0.711647 - 92.50 77.50 7.50 0.902919 - 92.50 77.50 12.50 1.10649 - 92.50 77.50 17.50 1.02412 - 92.50 77.50 22.50 0.937426 - 92.50 77.50 27.50 0.852499 - 92.50 77.50 32.50 0.771726 - 92.50 77.50 37.50 0.739505 - 92.50 77.50 42.50 0.688168 - 92.50 77.50 47.50 0.677394 - 92.50 77.50 52.50 0.688168 - 92.50 77.50 57.50 0.739506 - 92.50 77.50 62.50 0.771726 - 92.50 77.50 67.50 0.852499 - 92.50 77.50 72.50 0.937426 - 92.50 77.50 77.50 1.02412 - 92.50 77.50 82.50 1.10649 - 92.50 77.50 87.50 0.902918 - 92.50 77.50 92.50 0.711647 - 92.50 77.50 97.50 0.902918 - 92.50 77.50 102.50 1.10649 - 92.50 77.50 107.50 1.02412 - 92.50 77.50 112.50 0.937426 - 92.50 77.50 117.50 0.852498 - 92.50 77.50 122.50 0.771725 - 92.50 77.50 127.50 0.739505 - 92.50 77.50 132.50 0.688167 - 92.50 77.50 137.50 0.677394 - 92.50 77.50 142.50 0.688167 - 92.50 77.50 147.50 0.739506 - 92.50 77.50 152.50 0.771726 - 92.50 77.50 157.50 0.852499 - 92.50 77.50 162.50 0.937427 - 92.50 77.50 167.50 1.02412 - 92.50 77.50 172.50 1.10649 - 92.50 77.50 177.50 0.902919 - 92.50 77.50 182.50 0.711647 - 92.50 77.50 187.50 0.902918 - 92.50 77.50 192.50 1.10649 - 92.50 77.50 197.50 1.02412 - 92.50 77.50 202.50 0.937425 - 92.50 77.50 207.50 0.852498 - 92.50 77.50 212.50 0.771725 - 92.50 77.50 217.50 0.739505 - 92.50 77.50 222.50 0.688167 - 92.50 77.50 227.50 0.677394 - 92.50 77.50 232.50 0.688168 - 92.50 77.50 237.50 0.739506 - 92.50 77.50 242.50 0.771726 - 92.50 77.50 247.50 0.852499 - 92.50 77.50 252.50 0.937426 - 92.50 77.50 257.50 1.02413 - 92.50 77.50 262.50 1.10649 - 92.50 77.50 267.50 0.902918 - 92.50 77.50 272.50 0.711647 - 92.50 77.50 277.50 0.902918 - 92.50 77.50 282.50 1.10649 - 92.50 77.50 287.50 1.02412 - 92.50 77.50 292.50 0.937426 - 92.50 77.50 297.50 0.852499 - 92.50 77.50 302.50 0.771725 - 92.50 77.50 307.50 0.739506 - 92.50 77.50 312.50 0.688168 - 92.50 77.50 317.50 0.677394 - 92.50 77.50 322.50 0.688167 - 92.50 77.50 327.50 0.739506 - 92.50 77.50 332.50 0.771726 - 92.50 77.50 337.50 0.852499 - 92.50 77.50 342.50 0.937426 - 92.50 77.50 347.50 1.02412 - 92.50 77.50 352.50 1.10649 - 92.50 77.50 357.50 0.902919 - 92.50 82.50 2.50 0.79997 - 92.50 82.50 7.50 1.06546 - 92.50 82.50 12.50 1.23423 - 92.50 82.50 17.50 1.35639 - 92.50 82.50 22.50 1.3976 - 92.50 82.50 27.50 1.39819 - 92.50 82.50 32.50 1.43077 - 92.50 82.50 37.50 1.47134 - 92.50 82.50 42.50 1.48591 - 92.50 82.50 47.50 1.48598 - 92.50 82.50 52.50 1.48591 - 92.50 82.50 57.50 1.47134 - 92.50 82.50 62.50 1.43077 - 92.50 82.50 67.50 1.39819 - 92.50 82.50 72.50 1.3976 - 92.50 82.50 77.50 1.35639 - 92.50 82.50 82.50 1.23423 - 92.50 82.50 87.50 1.06546 - 92.50 82.50 92.50 0.79997 - 92.50 82.50 97.50 1.06546 - 92.50 82.50 102.50 1.23423 - 92.50 82.50 107.50 1.35639 - 92.50 82.50 112.50 1.3976 - 92.50 82.50 117.50 1.39819 - 92.50 82.50 122.50 1.43077 - 92.50 82.50 127.50 1.47134 - 92.50 82.50 132.50 1.48591 - 92.50 82.50 137.50 1.48598 - 92.50 82.50 142.50 1.48591 - 92.50 82.50 147.50 1.47134 - 92.50 82.50 152.50 1.43077 - 92.50 82.50 157.50 1.39819 - 92.50 82.50 162.50 1.3976 - 92.50 82.50 167.50 1.35639 - 92.50 82.50 172.50 1.23423 - 92.50 82.50 177.50 1.06546 - 92.50 82.50 182.50 0.79997 - 92.50 82.50 187.50 1.06546 - 92.50 82.50 192.50 1.23423 - 92.50 82.50 197.50 1.35639 - 92.50 82.50 202.50 1.3976 - 92.50 82.50 207.50 1.39819 - 92.50 82.50 212.50 1.43077 - 92.50 82.50 217.50 1.47134 - 92.50 82.50 222.50 1.48591 - 92.50 82.50 227.50 1.48598 - 92.50 82.50 232.50 1.48591 - 92.50 82.50 237.50 1.47134 - 92.50 82.50 242.50 1.43077 - 92.50 82.50 247.50 1.39819 - 92.50 82.50 252.50 1.3976 - 92.50 82.50 257.50 1.35639 - 92.50 82.50 262.50 1.23423 - 92.50 82.50 267.50 1.06546 - 92.50 82.50 272.50 0.79997 - 92.50 82.50 277.50 1.06546 - 92.50 82.50 282.50 1.23423 - 92.50 82.50 287.50 1.35639 - 92.50 82.50 292.50 1.3976 - 92.50 82.50 297.50 1.39819 - 92.50 82.50 302.50 1.43077 - 92.50 82.50 307.50 1.47134 - 92.50 82.50 312.50 1.48591 - 92.50 82.50 317.50 1.48598 - 92.50 82.50 322.50 1.48591 - 92.50 82.50 327.50 1.47134 - 92.50 82.50 332.50 1.43077 - 92.50 82.50 337.50 1.39819 - 92.50 82.50 342.50 1.3976 - 92.50 82.50 347.50 1.35639 - 92.50 82.50 352.50 1.23423 - 92.50 82.50 357.50 1.06546 - 92.50 87.50 2.50 0.827942 - 92.50 87.50 7.50 1.05522 - 92.50 87.50 12.50 1.41243 - 92.50 87.50 17.50 1.53747 - 92.50 87.50 22.50 1.68053 - 92.50 87.50 27.50 1.82435 - 92.50 87.50 32.50 1.90862 - 92.50 87.50 37.50 2.00343 - 92.50 87.50 42.50 2.05922 - 92.50 87.50 47.50 2.05739 - 92.50 87.50 52.50 2.05922 - 92.50 87.50 57.50 2.00343 - 92.50 87.50 62.50 1.90862 - 92.50 87.50 67.50 1.82435 - 92.50 87.50 72.50 1.68053 - 92.50 87.50 77.50 1.53747 - 92.50 87.50 82.50 1.41243 - 92.50 87.50 87.50 1.05522 - 92.50 87.50 92.50 0.827943 - 92.50 87.50 97.50 1.05522 - 92.50 87.50 102.50 1.41243 - 92.50 87.50 107.50 1.53747 - 92.50 87.50 112.50 1.68053 - 92.50 87.50 117.50 1.82435 - 92.50 87.50 122.50 1.90862 - 92.50 87.50 127.50 2.00343 - 92.50 87.50 132.50 2.05922 - 92.50 87.50 137.50 2.05739 - 92.50 87.50 142.50 2.05922 - 92.50 87.50 147.50 2.00343 - 92.50 87.50 152.50 1.90862 - 92.50 87.50 157.50 1.82435 - 92.50 87.50 162.50 1.68053 - 92.50 87.50 167.50 1.53747 - 92.50 87.50 172.50 1.41243 - 92.50 87.50 177.50 1.05522 - 92.50 87.50 182.50 0.827942 - 92.50 87.50 187.50 1.05522 - 92.50 87.50 192.50 1.41243 - 92.50 87.50 197.50 1.53747 - 92.50 87.50 202.50 1.68053 - 92.50 87.50 207.50 1.82435 - 92.50 87.50 212.50 1.90862 - 92.50 87.50 217.50 2.00343 - 92.50 87.50 222.50 2.05922 - 92.50 87.50 227.50 2.05739 - 92.50 87.50 232.50 2.05922 - 92.50 87.50 237.50 2.00343 - 92.50 87.50 242.50 1.90862 - 92.50 87.50 247.50 1.82435 - 92.50 87.50 252.50 1.68053 - 92.50 87.50 257.50 1.53747 - 92.50 87.50 262.50 1.41243 - 92.50 87.50 267.50 1.05522 - 92.50 87.50 272.50 0.827942 - 92.50 87.50 277.50 1.05522 - 92.50 87.50 282.50 1.41243 - 92.50 87.50 287.50 1.53747 - 92.50 87.50 292.50 1.68053 - 92.50 87.50 297.50 1.82435 - 92.50 87.50 302.50 1.90862 - 92.50 87.50 307.50 2.00343 - 92.50 87.50 312.50 2.05922 - 92.50 87.50 317.50 2.05739 - 92.50 87.50 322.50 2.05922 - 92.50 87.50 327.50 2.00343 - 92.50 87.50 332.50 1.90862 - 92.50 87.50 337.50 1.82435 - 92.50 87.50 342.50 1.68053 - 92.50 87.50 347.50 1.53747 - 92.50 87.50 352.50 1.41243 - 92.50 87.50 357.50 1.05522 - 92.50 92.50 2.50 0.980476 - 92.50 92.50 7.50 1.24805 - 92.50 92.50 12.50 1.59627 - 92.50 92.50 17.50 1.78132 - 92.50 92.50 22.50 1.90406 - 92.50 92.50 27.50 2.01833 - 92.50 92.50 32.50 2.09376 - 92.50 92.50 37.50 2.16641 - 92.50 92.50 42.50 2.19339 - 92.50 92.50 47.50 2.17973 - 92.50 92.50 52.50 2.19339 - 92.50 92.50 57.50 2.16641 - 92.50 92.50 62.50 2.09376 - 92.50 92.50 67.50 2.01833 - 92.50 92.50 72.50 1.90406 - 92.50 92.50 77.50 1.78132 - 92.50 92.50 82.50 1.59627 - 92.50 92.50 87.50 1.24804 - 92.50 92.50 92.50 0.980476 - 92.50 92.50 97.50 1.24805 - 92.50 92.50 102.50 1.59627 - 92.50 92.50 107.50 1.78132 - 92.50 92.50 112.50 1.90406 - 92.50 92.50 117.50 2.01833 - 92.50 92.50 122.50 2.09376 - 92.50 92.50 127.50 2.16641 - 92.50 92.50 132.50 2.19339 - 92.50 92.50 137.50 2.17973 - 92.50 92.50 142.50 2.19339 - 92.50 92.50 147.50 2.16641 - 92.50 92.50 152.50 2.09376 - 92.50 92.50 157.50 2.01833 - 92.50 92.50 162.50 1.90406 - 92.50 92.50 167.50 1.78132 - 92.50 92.50 172.50 1.59627 - 92.50 92.50 177.50 1.24805 - 92.50 92.50 182.50 0.980476 - 92.50 92.50 187.50 1.24805 - 92.50 92.50 192.50 1.59627 - 92.50 92.50 197.50 1.78132 - 92.50 92.50 202.50 1.90406 - 92.50 92.50 207.50 2.01833 - 92.50 92.50 212.50 2.09376 - 92.50 92.50 217.50 2.16641 - 92.50 92.50 222.50 2.19339 - 92.50 92.50 227.50 2.17973 - 92.50 92.50 232.50 2.19339 - 92.50 92.50 237.50 2.16641 - 92.50 92.50 242.50 2.09376 - 92.50 92.50 247.50 2.01833 - 92.50 92.50 252.50 1.90406 - 92.50 92.50 257.50 1.78132 - 92.50 92.50 262.50 1.59627 - 92.50 92.50 267.50 1.24804 - 92.50 92.50 272.50 0.980476 - 92.50 92.50 277.50 1.24805 - 92.50 92.50 282.50 1.59627 - 92.50 92.50 287.50 1.78132 - 92.50 92.50 292.50 1.90406 - 92.50 92.50 297.50 2.01833 - 92.50 92.50 302.50 2.09376 - 92.50 92.50 307.50 2.16641 - 92.50 92.50 312.50 2.19339 - 92.50 92.50 317.50 2.17973 - 92.50 92.50 322.50 2.19339 - 92.50 92.50 327.50 2.16641 - 92.50 92.50 332.50 2.09376 - 92.50 92.50 337.50 2.01833 - 92.50 92.50 342.50 1.90406 - 92.50 92.50 347.50 1.78132 - 92.50 92.50 352.50 1.59627 - 92.50 92.50 357.50 1.24805 - 92.50 97.50 2.50 0.827942 - 92.50 97.50 7.50 1.05522 - 92.50 97.50 12.50 1.41243 - 92.50 97.50 17.50 1.53747 - 92.50 97.50 22.50 1.68053 - 92.50 97.50 27.50 1.82435 - 92.50 97.50 32.50 1.90862 - 92.50 97.50 37.50 2.00343 - 92.50 97.50 42.50 2.05922 - 92.50 97.50 47.50 2.05739 - 92.50 97.50 52.50 2.05922 - 92.50 97.50 57.50 2.00343 - 92.50 97.50 62.50 1.90862 - 92.50 97.50 67.50 1.82435 - 92.50 97.50 72.50 1.68053 - 92.50 97.50 77.50 1.53747 - 92.50 97.50 82.50 1.41243 - 92.50 97.50 87.50 1.05522 - 92.50 97.50 92.50 0.827943 - 92.50 97.50 97.50 1.05522 - 92.50 97.50 102.50 1.41243 - 92.50 97.50 107.50 1.53747 - 92.50 97.50 112.50 1.68053 - 92.50 97.50 117.50 1.82435 - 92.50 97.50 122.50 1.90862 - 92.50 97.50 127.50 2.00343 - 92.50 97.50 132.50 2.05922 - 92.50 97.50 137.50 2.05739 - 92.50 97.50 142.50 2.05922 - 92.50 97.50 147.50 2.00343 - 92.50 97.50 152.50 1.90862 - 92.50 97.50 157.50 1.82435 - 92.50 97.50 162.50 1.68053 - 92.50 97.50 167.50 1.53747 - 92.50 97.50 172.50 1.41243 - 92.50 97.50 177.50 1.05522 - 92.50 97.50 182.50 0.827942 - 92.50 97.50 187.50 1.05522 - 92.50 97.50 192.50 1.41243 - 92.50 97.50 197.50 1.53747 - 92.50 97.50 202.50 1.68053 - 92.50 97.50 207.50 1.82435 - 92.50 97.50 212.50 1.90862 - 92.50 97.50 217.50 2.00343 - 92.50 97.50 222.50 2.05923 - 92.50 97.50 227.50 2.05739 - 92.50 97.50 232.50 2.05922 - 92.50 97.50 237.50 2.00343 - 92.50 97.50 242.50 1.90862 - 92.50 97.50 247.50 1.82435 - 92.50 97.50 252.50 1.68053 - 92.50 97.50 257.50 1.53747 - 92.50 97.50 262.50 1.41243 - 92.50 97.50 267.50 1.05522 - 92.50 97.50 272.50 0.827943 - 92.50 97.50 277.50 1.05522 - 92.50 97.50 282.50 1.41243 - 92.50 97.50 287.50 1.53747 - 92.50 97.50 292.50 1.68053 - 92.50 97.50 297.50 1.82435 - 92.50 97.50 302.50 1.90862 - 92.50 97.50 307.50 2.00343 - 92.50 97.50 312.50 2.05922 - 92.50 97.50 317.50 2.05739 - 92.50 97.50 322.50 2.05922 - 92.50 97.50 327.50 2.00343 - 92.50 97.50 332.50 1.90862 - 92.50 97.50 337.50 1.82435 - 92.50 97.50 342.50 1.68053 - 92.50 97.50 347.50 1.53747 - 92.50 97.50 352.50 1.41243 - 92.50 97.50 357.50 1.05522 - 92.50 102.50 2.50 0.79997 - 92.50 102.50 7.50 1.06546 - 92.50 102.50 12.50 1.23423 - 92.50 102.50 17.50 1.35639 - 92.50 102.50 22.50 1.3976 - 92.50 102.50 27.50 1.39819 - 92.50 102.50 32.50 1.43077 - 92.50 102.50 37.50 1.47134 - 92.50 102.50 42.50 1.48591 - 92.50 102.50 47.50 1.48598 - 92.50 102.50 52.50 1.48591 - 92.50 102.50 57.50 1.47134 - 92.50 102.50 62.50 1.43077 - 92.50 102.50 67.50 1.39819 - 92.50 102.50 72.50 1.3976 - 92.50 102.50 77.50 1.35639 - 92.50 102.50 82.50 1.23423 - 92.50 102.50 87.50 1.06546 - 92.50 102.50 92.50 0.79997 - 92.50 102.50 97.50 1.06546 - 92.50 102.50 102.50 1.23423 - 92.50 102.50 107.50 1.35639 - 92.50 102.50 112.50 1.3976 - 92.50 102.50 117.50 1.39819 - 92.50 102.50 122.50 1.43077 - 92.50 102.50 127.50 1.47134 - 92.50 102.50 132.50 1.48591 - 92.50 102.50 137.50 1.48598 - 92.50 102.50 142.50 1.48591 - 92.50 102.50 147.50 1.47134 - 92.50 102.50 152.50 1.43077 - 92.50 102.50 157.50 1.39819 - 92.50 102.50 162.50 1.3976 - 92.50 102.50 167.50 1.35639 - 92.50 102.50 172.50 1.23423 - 92.50 102.50 177.50 1.06546 - 92.50 102.50 182.50 0.79997 - 92.50 102.50 187.50 1.06546 - 92.50 102.50 192.50 1.23423 - 92.50 102.50 197.50 1.35639 - 92.50 102.50 202.50 1.3976 - 92.50 102.50 207.50 1.39819 - 92.50 102.50 212.50 1.43077 - 92.50 102.50 217.50 1.47134 - 92.50 102.50 222.50 1.48591 - 92.50 102.50 227.50 1.48598 - 92.50 102.50 232.50 1.48591 - 92.50 102.50 237.50 1.47134 - 92.50 102.50 242.50 1.43077 - 92.50 102.50 247.50 1.39819 - 92.50 102.50 252.50 1.3976 - 92.50 102.50 257.50 1.35639 - 92.50 102.50 262.50 1.23423 - 92.50 102.50 267.50 1.06546 - 92.50 102.50 272.50 0.79997 - 92.50 102.50 277.50 1.06546 - 92.50 102.50 282.50 1.23423 - 92.50 102.50 287.50 1.35639 - 92.50 102.50 292.50 1.3976 - 92.50 102.50 297.50 1.39819 - 92.50 102.50 302.50 1.43077 - 92.50 102.50 307.50 1.47134 - 92.50 102.50 312.50 1.48591 - 92.50 102.50 317.50 1.48598 - 92.50 102.50 322.50 1.48591 - 92.50 102.50 327.50 1.47134 - 92.50 102.50 332.50 1.43077 - 92.50 102.50 337.50 1.39819 - 92.50 102.50 342.50 1.3976 - 92.50 102.50 347.50 1.35639 - 92.50 102.50 352.50 1.23423 - 92.50 102.50 357.50 1.06546 - 92.50 107.50 2.50 0.711647 - 92.50 107.50 7.50 0.902918 - 92.50 107.50 12.50 1.10649 - 92.50 107.50 17.50 1.02412 - 92.50 107.50 22.50 0.937426 - 92.50 107.50 27.50 0.852499 - 92.50 107.50 32.50 0.771726 - 92.50 107.50 37.50 0.739506 - 92.50 107.50 42.50 0.688167 - 92.50 107.50 47.50 0.677394 - 92.50 107.50 52.50 0.688167 - 92.50 107.50 57.50 0.739506 - 92.50 107.50 62.50 0.771725 - 92.50 107.50 67.50 0.852499 - 92.50 107.50 72.50 0.937426 - 92.50 107.50 77.50 1.02412 - 92.50 107.50 82.50 1.10649 - 92.50 107.50 87.50 0.902919 - 92.50 107.50 92.50 0.711647 - 92.50 107.50 97.50 0.902918 - 92.50 107.50 102.50 1.10649 - 92.50 107.50 107.50 1.02412 - 92.50 107.50 112.50 0.937426 - 92.50 107.50 117.50 0.852499 - 92.50 107.50 122.50 0.771726 - 92.50 107.50 127.50 0.739506 - 92.50 107.50 132.50 0.688168 - 92.50 107.50 137.50 0.677395 - 92.50 107.50 142.50 0.688168 - 92.50 107.50 147.50 0.739506 - 92.50 107.50 152.50 0.771726 - 92.50 107.50 157.50 0.852499 - 92.50 107.50 162.50 0.937426 - 92.50 107.50 167.50 1.02412 - 92.50 107.50 172.50 1.10649 - 92.50 107.50 177.50 0.902919 - 92.50 107.50 182.50 0.711647 - 92.50 107.50 187.50 0.902919 - 92.50 107.50 192.50 1.10649 - 92.50 107.50 197.50 1.02413 - 92.50 107.50 202.50 0.937427 - 92.50 107.50 207.50 0.8525 - 92.50 107.50 212.50 0.771726 - 92.50 107.50 217.50 0.739506 - 92.50 107.50 222.50 0.688168 - 92.50 107.50 227.50 0.677394 - 92.50 107.50 232.50 0.688168 - 92.50 107.50 237.50 0.739506 - 92.50 107.50 242.50 0.771727 - 92.50 107.50 247.50 0.852499 - 92.50 107.50 252.50 0.937426 - 92.50 107.50 257.50 1.02412 - 92.50 107.50 262.50 1.10649 - 92.50 107.50 267.50 0.902918 - 92.50 107.50 272.50 0.711647 - 92.50 107.50 277.50 0.902918 - 92.50 107.50 282.50 1.10649 - 92.50 107.50 287.50 1.02412 - 92.50 107.50 292.50 0.937427 - 92.50 107.50 297.50 0.852499 - 92.50 107.50 302.50 0.771726 - 92.50 107.50 307.50 0.739506 - 92.50 107.50 312.50 0.688168 - 92.50 107.50 317.50 0.677394 - 92.50 107.50 322.50 0.688167 - 92.50 107.50 327.50 0.739505 - 92.50 107.50 332.50 0.771725 - 92.50 107.50 337.50 0.852499 - 92.50 107.50 342.50 0.937426 - 92.50 107.50 347.50 1.02412 - 92.50 107.50 352.50 1.10649 - 92.50 107.50 357.50 0.902919 - 92.50 112.50 2.50 0.546005 - 92.50 112.50 7.50 0.671003 - 92.50 112.50 12.50 0.835489 - 92.50 112.50 17.50 0.727916 - 92.50 112.50 22.50 0.543532 - 92.50 112.50 27.50 0.39085 - 92.50 112.50 32.50 0.30417 - 92.50 112.50 37.50 0.247948 - 92.50 112.50 42.50 0.223686 - 92.50 112.50 47.50 0.201992 - 92.50 112.50 52.50 0.223686 - 92.50 112.50 57.50 0.247948 - 92.50 112.50 62.50 0.30417 - 92.50 112.50 67.50 0.39085 - 92.50 112.50 72.50 0.543532 - 92.50 112.50 77.50 0.727915 - 92.50 112.50 82.50 0.835488 - 92.50 112.50 87.50 0.671003 - 92.50 112.50 92.50 0.546004 - 92.50 112.50 97.50 0.671003 - 92.50 112.50 102.50 0.835488 - 92.50 112.50 107.50 0.727916 - 92.50 112.50 112.50 0.543532 - 92.50 112.50 117.50 0.39085 - 92.50 112.50 122.50 0.30417 - 92.50 112.50 127.50 0.247948 - 92.50 112.50 132.50 0.223687 - 92.50 112.50 137.50 0.201992 - 92.50 112.50 142.50 0.223687 - 92.50 112.50 147.50 0.247948 - 92.50 112.50 152.50 0.30417 - 92.50 112.50 157.50 0.39085 - 92.50 112.50 162.50 0.543532 - 92.50 112.50 167.50 0.727915 - 92.50 112.50 172.50 0.835489 - 92.50 112.50 177.50 0.671003 - 92.50 112.50 182.50 0.546005 - 92.50 112.50 187.50 0.671003 - 92.50 112.50 192.50 0.835489 - 92.50 112.50 197.50 0.727916 - 92.50 112.50 202.50 0.543533 - 92.50 112.50 207.50 0.390851 - 92.50 112.50 212.50 0.30417 - 92.50 112.50 217.50 0.247948 - 92.50 112.50 222.50 0.223687 - 92.50 112.50 227.50 0.201992 - 92.50 112.50 232.50 0.223687 - 92.50 112.50 237.50 0.247948 - 92.50 112.50 242.50 0.30417 - 92.50 112.50 247.50 0.39085 - 92.50 112.50 252.50 0.543533 - 92.50 112.50 257.50 0.727916 - 92.50 112.50 262.50 0.835488 - 92.50 112.50 267.50 0.671003 - 92.50 112.50 272.50 0.546004 - 92.50 112.50 277.50 0.671003 - 92.50 112.50 282.50 0.835488 - 92.50 112.50 287.50 0.727916 - 92.50 112.50 292.50 0.543533 - 92.50 112.50 297.50 0.39085 - 92.50 112.50 302.50 0.30417 - 92.50 112.50 307.50 0.247948 - 92.50 112.50 312.50 0.223687 - 92.50 112.50 317.50 0.201992 - 92.50 112.50 322.50 0.223687 - 92.50 112.50 327.50 0.247948 - 92.50 112.50 332.50 0.30417 - 92.50 112.50 337.50 0.39085 - 92.50 112.50 342.50 0.543531 - 92.50 112.50 347.50 0.727915 - 92.50 112.50 352.50 0.835489 - 92.50 112.50 357.50 0.671003 - 92.50 117.50 2.50 0.349564 - 92.50 117.50 7.50 0.412845 - 92.50 117.50 12.50 0.460639 - 92.50 117.50 17.50 0.392484 - 92.50 117.50 22.50 0.280663 - 92.50 117.50 27.50 0.151741 - 92.50 117.50 32.50 0.0774869 - 92.50 117.50 37.50 0.0569849 - 92.50 117.50 42.50 0.0485155 - 92.50 117.50 47.50 0.0443978 - 92.50 117.50 52.50 0.0485154 - 92.50 117.50 57.50 0.0569849 - 92.50 117.50 62.50 0.0774869 - 92.50 117.50 67.50 0.151742 - 92.50 117.50 72.50 0.280663 - 92.50 117.50 77.50 0.392484 - 92.50 117.50 82.50 0.460639 - 92.50 117.50 87.50 0.412845 - 92.50 117.50 92.50 0.349564 - 92.50 117.50 97.50 0.412846 - 92.50 117.50 102.50 0.460639 - 92.50 117.50 107.50 0.392484 - 92.50 117.50 112.50 0.280663 - 92.50 117.50 117.50 0.151741 - 92.50 117.50 122.50 0.0774869 - 92.50 117.50 127.50 0.0569848 - 92.50 117.50 132.50 0.0485155 - 92.50 117.50 137.50 0.0443979 - 92.50 117.50 142.50 0.0485155 - 92.50 117.50 147.50 0.0569849 - 92.50 117.50 152.50 0.0774869 - 92.50 117.50 157.50 0.151742 - 92.50 117.50 162.50 0.280663 - 92.50 117.50 167.50 0.392484 - 92.50 117.50 172.50 0.460639 - 92.50 117.50 177.50 0.412846 - 92.50 117.50 182.50 0.349564 - 92.50 117.50 187.50 0.412846 - 92.50 117.50 192.50 0.460639 - 92.50 117.50 197.50 0.392484 - 92.50 117.50 202.50 0.280663 - 92.50 117.50 207.50 0.151742 - 92.50 117.50 212.50 0.0774869 - 92.50 117.50 217.50 0.0569849 - 92.50 117.50 222.50 0.0485155 - 92.50 117.50 227.50 0.0443979 - 92.50 117.50 232.50 0.0485155 - 92.50 117.50 237.50 0.0569849 - 92.50 117.50 242.50 0.077487 - 92.50 117.50 247.50 0.151742 - 92.50 117.50 252.50 0.280663 - 92.50 117.50 257.50 0.392484 - 92.50 117.50 262.50 0.460639 - 92.50 117.50 267.50 0.412845 - 92.50 117.50 272.50 0.349564 - 92.50 117.50 277.50 0.412845 - 92.50 117.50 282.50 0.460639 - 92.50 117.50 287.50 0.392484 - 92.50 117.50 292.50 0.280663 - 92.50 117.50 297.50 0.151742 - 92.50 117.50 302.50 0.077487 - 92.50 117.50 307.50 0.0569849 - 92.50 117.50 312.50 0.0485155 - 92.50 117.50 317.50 0.0443979 - 92.50 117.50 322.50 0.0485154 - 92.50 117.50 327.50 0.0569848 - 92.50 117.50 332.50 0.0774868 - 92.50 117.50 337.50 0.151741 - 92.50 117.50 342.50 0.280663 - 92.50 117.50 347.50 0.392484 - 92.50 117.50 352.50 0.460639 - 92.50 117.50 357.50 0.412846 - 92.50 122.50 2.50 0.209129 - 92.50 122.50 7.50 0.209877 - 92.50 122.50 12.50 0.190514 - 92.50 122.50 17.50 0.171506 - 92.50 122.50 22.50 0.0991573 - 92.50 122.50 27.50 0.0508347 - 92.50 122.50 32.50 0.0210874 - 92.50 122.50 37.50 0.0107072 - 92.50 122.50 42.50 0.00737377 - 92.50 122.50 47.50 0.00644389 - 92.50 122.50 52.50 0.00737377 - 92.50 122.50 57.50 0.0107072 - 92.50 122.50 62.50 0.0210874 - 92.50 122.50 67.50 0.0508348 - 92.50 122.50 72.50 0.0991573 - 92.50 122.50 77.50 0.171506 - 92.50 122.50 82.50 0.190514 - 92.50 122.50 87.50 0.209877 - 92.50 122.50 92.50 0.209129 - 92.50 122.50 97.50 0.209877 - 92.50 122.50 102.50 0.190514 - 92.50 122.50 107.50 0.171506 - 92.50 122.50 112.50 0.0991574 - 92.50 122.50 117.50 0.0508347 - 92.50 122.50 122.50 0.0210874 - 92.50 122.50 127.50 0.0107072 - 92.50 122.50 132.50 0.00737378 - 92.50 122.50 137.50 0.0064439 - 92.50 122.50 142.50 0.00737377 - 92.50 122.50 147.50 0.0107072 - 92.50 122.50 152.50 0.0210874 - 92.50 122.50 157.50 0.0508348 - 92.50 122.50 162.50 0.0991573 - 92.50 122.50 167.50 0.171506 - 92.50 122.50 172.50 0.190514 - 92.50 122.50 177.50 0.209877 - 92.50 122.50 182.50 0.209129 - 92.50 122.50 187.50 0.209877 - 92.50 122.50 192.50 0.190514 - 92.50 122.50 197.50 0.171506 - 92.50 122.50 202.50 0.0991574 - 92.50 122.50 207.50 0.0508348 - 92.50 122.50 212.50 0.0210874 - 92.50 122.50 217.50 0.0107072 - 92.50 122.50 222.50 0.00737377 - 92.50 122.50 227.50 0.00644389 - 92.50 122.50 232.50 0.00737377 - 92.50 122.50 237.50 0.0107072 - 92.50 122.50 242.50 0.0210874 - 92.50 122.50 247.50 0.0508348 - 92.50 122.50 252.50 0.0991574 - 92.50 122.50 257.50 0.171506 - 92.50 122.50 262.50 0.190514 - 92.50 122.50 267.50 0.209877 - 92.50 122.50 272.50 0.209129 - 92.50 122.50 277.50 0.209877 - 92.50 122.50 282.50 0.190514 - 92.50 122.50 287.50 0.171506 - 92.50 122.50 292.50 0.0991573 - 92.50 122.50 297.50 0.0508348 - 92.50 122.50 302.50 0.0210874 - 92.50 122.50 307.50 0.0107072 - 92.50 122.50 312.50 0.00737377 - 92.50 122.50 317.50 0.0064439 - 92.50 122.50 322.50 0.00737376 - 92.50 122.50 327.50 0.0107072 - 92.50 122.50 332.50 0.0210874 - 92.50 122.50 337.50 0.0508346 - 92.50 122.50 342.50 0.099157 - 92.50 122.50 347.50 0.171506 - 92.50 122.50 352.50 0.190514 - 92.50 122.50 357.50 0.209877 - 92.50 127.50 2.50 0.132396 - 92.50 127.50 7.50 0.105763 - 92.50 127.50 12.50 0.0696139 - 92.50 127.50 17.50 0.0533429 - 92.50 127.50 22.50 0.033696 - 92.50 127.50 27.50 0.015968 - 92.50 127.50 32.50 0.0153846 - 92.50 127.50 37.50 0.0157352 - 92.50 127.50 42.50 0.0144469 - 92.50 127.50 47.50 0.0195356 - 92.50 127.50 52.50 0.0144469 - 92.50 127.50 57.50 0.0157352 - 92.50 127.50 62.50 0.0153846 - 92.50 127.50 67.50 0.015968 - 92.50 127.50 72.50 0.033696 - 92.50 127.50 77.50 0.0533429 - 92.50 127.50 82.50 0.069614 - 92.50 127.50 87.50 0.105763 - 92.50 127.50 92.50 0.132396 - 92.50 127.50 97.50 0.105763 - 92.50 127.50 102.50 0.069614 - 92.50 127.50 107.50 0.0533429 - 92.50 127.50 112.50 0.033696 - 92.50 127.50 117.50 0.015968 - 92.50 127.50 122.50 0.0153846 - 92.50 127.50 127.50 0.0157352 - 92.50 127.50 132.50 0.0144469 - 92.50 127.50 137.50 0.0195356 - 92.50 127.50 142.50 0.0144469 - 92.50 127.50 147.50 0.0157352 - 92.50 127.50 152.50 0.0153846 - 92.50 127.50 157.50 0.015968 - 92.50 127.50 162.50 0.033696 - 92.50 127.50 167.50 0.0533429 - 92.50 127.50 172.50 0.0696139 - 92.50 127.50 177.50 0.105763 - 92.50 127.50 182.50 0.132396 - 92.50 127.50 187.50 0.105763 - 92.50 127.50 192.50 0.069614 - 92.50 127.50 197.50 0.0533429 - 92.50 127.50 202.50 0.033696 - 92.50 127.50 207.50 0.015968 - 92.50 127.50 212.50 0.0153846 - 92.50 127.50 217.50 0.0157352 - 92.50 127.50 222.50 0.0144469 - 92.50 127.50 227.50 0.0195356 - 92.50 127.50 232.50 0.0144469 - 92.50 127.50 237.50 0.0157352 - 92.50 127.50 242.50 0.0153846 - 92.50 127.50 247.50 0.015968 - 92.50 127.50 252.50 0.033696 - 92.50 127.50 257.50 0.0533429 - 92.50 127.50 262.50 0.069614 - 92.50 127.50 267.50 0.105763 - 92.50 127.50 272.50 0.132396 - 92.50 127.50 277.50 0.105763 - 92.50 127.50 282.50 0.069614 - 92.50 127.50 287.50 0.0533429 - 92.50 127.50 292.50 0.033696 - 92.50 127.50 297.50 0.015968 - 92.50 127.50 302.50 0.0153846 - 92.50 127.50 307.50 0.0157352 - 92.50 127.50 312.50 0.0144469 - 92.50 127.50 317.50 0.0195356 - 92.50 127.50 322.50 0.0144469 - 92.50 127.50 327.50 0.0157352 - 92.50 127.50 332.50 0.0153846 - 92.50 127.50 337.50 0.0159679 - 92.50 127.50 342.50 0.0336959 - 92.50 127.50 347.50 0.0533428 - 92.50 127.50 352.50 0.0696139 - 92.50 127.50 357.50 0.105763 - 92.50 132.50 2.50 0.0754697 - 92.50 132.50 7.50 0.0547379 - 92.50 132.50 12.50 0.0266985 - 92.50 132.50 17.50 0.0204215 - 92.50 132.50 22.50 0.0327607 - 92.50 132.50 27.50 0.046065 - 92.50 132.50 32.50 0.0775569 - 92.50 132.50 37.50 0.112976 - 92.50 132.50 42.50 0.122784 - 92.50 132.50 47.50 0.145968 - 92.50 132.50 52.50 0.122784 - 92.50 132.50 57.50 0.112976 - 92.50 132.50 62.50 0.0775569 - 92.50 132.50 67.50 0.046065 - 92.50 132.50 72.50 0.0327606 - 92.50 132.50 77.50 0.0204215 - 92.50 132.50 82.50 0.0266985 - 92.50 132.50 87.50 0.0547379 - 92.50 132.50 92.50 0.0754697 - 92.50 132.50 97.50 0.0547378 - 92.50 132.50 102.50 0.0266985 - 92.50 132.50 107.50 0.0204215 - 92.50 132.50 112.50 0.0327606 - 92.50 132.50 117.50 0.0460649 - 92.50 132.50 122.50 0.0775569 - 92.50 132.50 127.50 0.112976 - 92.50 132.50 132.50 0.122784 - 92.50 132.50 137.50 0.145968 - 92.50 132.50 142.50 0.122784 - 92.50 132.50 147.50 0.112976 - 92.50 132.50 152.50 0.0775569 - 92.50 132.50 157.50 0.046065 - 92.50 132.50 162.50 0.0327606 - 92.50 132.50 167.50 0.0204215 - 92.50 132.50 172.50 0.0266985 - 92.50 132.50 177.50 0.0547379 - 92.50 132.50 182.50 0.0754697 - 92.50 132.50 187.50 0.0547378 - 92.50 132.50 192.50 0.0266985 - 92.50 132.50 197.50 0.0204215 - 92.50 132.50 202.50 0.0327606 - 92.50 132.50 207.50 0.0460649 - 92.50 132.50 212.50 0.0775569 - 92.50 132.50 217.50 0.112976 - 92.50 132.50 222.50 0.122784 - 92.50 132.50 227.50 0.145968 - 92.50 132.50 232.50 0.122784 - 92.50 132.50 237.50 0.112976 - 92.50 132.50 242.50 0.0775568 - 92.50 132.50 247.50 0.0460649 - 92.50 132.50 252.50 0.0327606 - 92.50 132.50 257.50 0.0204215 - 92.50 132.50 262.50 0.0266985 - 92.50 132.50 267.50 0.0547379 - 92.50 132.50 272.50 0.0754697 - 92.50 132.50 277.50 0.0547379 - 92.50 132.50 282.50 0.0266985 - 92.50 132.50 287.50 0.0204215 - 92.50 132.50 292.50 0.0327606 - 92.50 132.50 297.50 0.0460649 - 92.50 132.50 302.50 0.0775568 - 92.50 132.50 307.50 0.112976 - 92.50 132.50 312.50 0.122784 - 92.50 132.50 317.50 0.145968 - 92.50 132.50 322.50 0.122784 - 92.50 132.50 327.50 0.112976 - 92.50 132.50 332.50 0.077557 - 92.50 132.50 337.50 0.046065 - 92.50 132.50 342.50 0.0327607 - 92.50 132.50 347.50 0.0204215 - 92.50 132.50 352.50 0.0266984 - 92.50 132.50 357.50 0.0547377 - 92.50 137.50 2.50 0.0484156 - 92.50 137.50 7.50 0.0374445 - 92.50 137.50 12.50 0.0243017 - 92.50 137.50 17.50 0.0393994 - 92.50 137.50 22.50 0.0942026 - 92.50 137.50 27.50 0.183658 - 92.50 137.50 32.50 0.305638 - 92.50 137.50 37.50 0.492438 - 92.50 137.50 42.50 0.570583 - 92.50 137.50 47.50 0.66841 - 92.50 137.50 52.50 0.570583 - 92.50 137.50 57.50 0.492438 - 92.50 137.50 62.50 0.305638 - 92.50 137.50 67.50 0.183657 - 92.50 137.50 72.50 0.0942025 - 92.50 137.50 77.50 0.0393994 - 92.50 137.50 82.50 0.0243017 - 92.50 137.50 87.50 0.0374445 - 92.50 137.50 92.50 0.0484156 - 92.50 137.50 97.50 0.0374444 - 92.50 137.50 102.50 0.0243017 - 92.50 137.50 107.50 0.0393994 - 92.50 137.50 112.50 0.0942025 - 92.50 137.50 117.50 0.183658 - 92.50 137.50 122.50 0.305638 - 92.50 137.50 127.50 0.492439 - 92.50 137.50 132.50 0.570583 - 92.50 137.50 137.50 0.668409 - 92.50 137.50 142.50 0.570583 - 92.50 137.50 147.50 0.492438 - 92.50 137.50 152.50 0.305638 - 92.50 137.50 157.50 0.183658 - 92.50 137.50 162.50 0.0942025 - 92.50 137.50 167.50 0.0393994 - 92.50 137.50 172.50 0.0243017 - 92.50 137.50 177.50 0.0374445 - 92.50 137.50 182.50 0.0484156 - 92.50 137.50 187.50 0.0374444 - 92.50 137.50 192.50 0.0243017 - 92.50 137.50 197.50 0.0393994 - 92.50 137.50 202.50 0.0942026 - 92.50 137.50 207.50 0.183658 - 92.50 137.50 212.50 0.305638 - 92.50 137.50 217.50 0.492438 - 92.50 137.50 222.50 0.570583 - 92.50 137.50 227.50 0.66841 - 92.50 137.50 232.50 0.570583 - 92.50 137.50 237.50 0.492438 - 92.50 137.50 242.50 0.305638 - 92.50 137.50 247.50 0.183657 - 92.50 137.50 252.50 0.0942024 - 92.50 137.50 257.50 0.0393994 - 92.50 137.50 262.50 0.0243017 - 92.50 137.50 267.50 0.0374445 - 92.50 137.50 272.50 0.0484156 - 92.50 137.50 277.50 0.0374445 - 92.50 137.50 282.50 0.0243017 - 92.50 137.50 287.50 0.0393994 - 92.50 137.50 292.50 0.0942025 - 92.50 137.50 297.50 0.183658 - 92.50 137.50 302.50 0.305638 - 92.50 137.50 307.50 0.492438 - 92.50 137.50 312.50 0.570583 - 92.50 137.50 317.50 0.66841 - 92.50 137.50 322.50 0.570583 - 92.50 137.50 327.50 0.492439 - 92.50 137.50 332.50 0.305638 - 92.50 137.50 337.50 0.183658 - 92.50 137.50 342.50 0.0942026 - 92.50 137.50 347.50 0.0393995 - 92.50 137.50 352.50 0.0243017 - 92.50 137.50 357.50 0.0374444 - 92.50 142.50 2.50 0.0754697 - 92.50 142.50 7.50 0.0655431 - 92.50 142.50 12.50 0.0560289 - 92.50 142.50 17.50 0.101944 - 92.50 142.50 22.50 0.233216 - 92.50 142.50 27.50 0.469184 - 92.50 142.50 32.50 0.840152 - 92.50 142.50 37.50 1.28904 - 92.50 142.50 42.50 1.66633 - 92.50 142.50 47.50 1.81746 - 92.50 142.50 52.50 1.66632 - 92.50 142.50 57.50 1.28904 - 92.50 142.50 62.50 0.840151 - 92.50 142.50 67.50 0.469184 - 92.50 142.50 72.50 0.233216 - 92.50 142.50 77.50 0.101944 - 92.50 142.50 82.50 0.056029 - 92.50 142.50 87.50 0.0655431 - 92.50 142.50 92.50 0.0754697 - 92.50 142.50 97.50 0.0655431 - 92.50 142.50 102.50 0.0560289 - 92.50 142.50 107.50 0.101944 - 92.50 142.50 112.50 0.233216 - 92.50 142.50 117.50 0.469184 - 92.50 142.50 122.50 0.840151 - 92.50 142.50 127.50 1.28904 - 92.50 142.50 132.50 1.66632 - 92.50 142.50 137.50 1.81746 - 92.50 142.50 142.50 1.66632 - 92.50 142.50 147.50 1.28904 - 92.50 142.50 152.50 0.840151 - 92.50 142.50 157.50 0.469184 - 92.50 142.50 162.50 0.233216 - 92.50 142.50 167.50 0.101944 - 92.50 142.50 172.50 0.056029 - 92.50 142.50 177.50 0.0655431 - 92.50 142.50 182.50 0.0754697 - 92.50 142.50 187.50 0.0655431 - 92.50 142.50 192.50 0.0560289 - 92.50 142.50 197.50 0.101944 - 92.50 142.50 202.50 0.233216 - 92.50 142.50 207.50 0.469184 - 92.50 142.50 212.50 0.840151 - 92.50 142.50 217.50 1.28904 - 92.50 142.50 222.50 1.66632 - 92.50 142.50 227.50 1.81746 - 92.50 142.50 232.50 1.66632 - 92.50 142.50 237.50 1.28904 - 92.50 142.50 242.50 0.840151 - 92.50 142.50 247.50 0.469184 - 92.50 142.50 252.50 0.233216 - 92.50 142.50 257.50 0.101944 - 92.50 142.50 262.50 0.0560289 - 92.50 142.50 267.50 0.0655431 - 92.50 142.50 272.50 0.0754697 - 92.50 142.50 277.50 0.0655431 - 92.50 142.50 282.50 0.0560289 - 92.50 142.50 287.50 0.101944 - 92.50 142.50 292.50 0.233216 - 92.50 142.50 297.50 0.469184 - 92.50 142.50 302.50 0.840151 - 92.50 142.50 307.50 1.28904 - 92.50 142.50 312.50 1.66632 - 92.50 142.50 317.50 1.81746 - 92.50 142.50 322.50 1.66632 - 92.50 142.50 327.50 1.28904 - 92.50 142.50 332.50 0.840152 - 92.50 142.50 337.50 0.469185 - 92.50 142.50 342.50 0.233216 - 92.50 142.50 347.50 0.101945 - 92.50 142.50 352.50 0.056029 - 92.50 142.50 357.50 0.065543 - 92.50 147.50 2.50 0.132396 - 92.50 147.50 7.50 0.123763 - 92.50 147.50 12.50 0.121855 - 92.50 147.50 17.50 0.199712 - 92.50 147.50 22.50 0.422605 - 92.50 147.50 27.50 0.849212 - 92.50 147.50 32.50 1.51749 - 92.50 147.50 37.50 2.35946 - 92.50 147.50 42.50 3.09568 - 92.50 147.50 47.50 3.39937 - 92.50 147.50 52.50 3.09567 - 92.50 147.50 57.50 2.35946 - 92.50 147.50 62.50 1.51749 - 92.50 147.50 67.50 0.849211 - 92.50 147.50 72.50 0.422605 - 92.50 147.50 77.50 0.199711 - 92.50 147.50 82.50 0.121855 - 92.50 147.50 87.50 0.123763 - 92.50 147.50 92.50 0.132396 - 92.50 147.50 97.50 0.123763 - 92.50 147.50 102.50 0.121855 - 92.50 147.50 107.50 0.199711 - 92.50 147.50 112.50 0.422605 - 92.50 147.50 117.50 0.849212 - 92.50 147.50 122.50 1.51749 - 92.50 147.50 127.50 2.35946 - 92.50 147.50 132.50 3.09568 - 92.50 147.50 137.50 3.39937 - 92.50 147.50 142.50 3.09567 - 92.50 147.50 147.50 2.35946 - 92.50 147.50 152.50 1.51748 - 92.50 147.50 157.50 0.849212 - 92.50 147.50 162.50 0.422605 - 92.50 147.50 167.50 0.199712 - 92.50 147.50 172.50 0.121855 - 92.50 147.50 177.50 0.123763 - 92.50 147.50 182.50 0.132396 - 92.50 147.50 187.50 0.123763 - 92.50 147.50 192.50 0.121855 - 92.50 147.50 197.50 0.199712 - 92.50 147.50 202.50 0.422605 - 92.50 147.50 207.50 0.849211 - 92.50 147.50 212.50 1.51749 - 92.50 147.50 217.50 2.35946 - 92.50 147.50 222.50 3.09567 - 92.50 147.50 227.50 3.39937 - 92.50 147.50 232.50 3.09567 - 92.50 147.50 237.50 2.35946 - 92.50 147.50 242.50 1.51748 - 92.50 147.50 247.50 0.849211 - 92.50 147.50 252.50 0.422604 - 92.50 147.50 257.50 0.199711 - 92.50 147.50 262.50 0.121855 - 92.50 147.50 267.50 0.123763 - 92.50 147.50 272.50 0.132396 - 92.50 147.50 277.50 0.123763 - 92.50 147.50 282.50 0.121855 - 92.50 147.50 287.50 0.199711 - 92.50 147.50 292.50 0.422604 - 92.50 147.50 297.50 0.849211 - 92.50 147.50 302.50 1.51749 - 92.50 147.50 307.50 2.35946 - 92.50 147.50 312.50 3.09567 - 92.50 147.50 317.50 3.39937 - 92.50 147.50 322.50 3.09568 - 92.50 147.50 327.50 2.35946 - 92.50 147.50 332.50 1.51749 - 92.50 147.50 337.50 0.849213 - 92.50 147.50 342.50 0.422605 - 92.50 147.50 347.50 0.199712 - 92.50 147.50 352.50 0.121855 - 92.50 147.50 357.50 0.123763 - 92.50 152.50 2.50 0.209129 - 92.50 152.50 7.50 0.201319 - 92.50 152.50 12.50 0.212048 - 92.50 152.50 17.50 0.295808 - 92.50 152.50 22.50 0.563445 - 92.50 152.50 27.50 1.09055 - 92.50 152.50 32.50 1.93443 - 92.50 152.50 37.50 2.96592 - 92.50 152.50 42.50 3.89139 - 92.50 152.50 47.50 4.27493 - 92.50 152.50 52.50 3.89139 - 92.50 152.50 57.50 2.96592 - 92.50 152.50 62.50 1.93443 - 92.50 152.50 67.50 1.09055 - 92.50 152.50 72.50 0.563444 - 92.50 152.50 77.50 0.295808 - 92.50 152.50 82.50 0.212048 - 92.50 152.50 87.50 0.201319 - 92.50 152.50 92.50 0.209129 - 92.50 152.50 97.50 0.201319 - 92.50 152.50 102.50 0.212048 - 92.50 152.50 107.50 0.295808 - 92.50 152.50 112.50 0.563445 - 92.50 152.50 117.50 1.09055 - 92.50 152.50 122.50 1.93443 - 92.50 152.50 127.50 2.96592 - 92.50 152.50 132.50 3.89139 - 92.50 152.50 137.50 4.27493 - 92.50 152.50 142.50 3.89139 - 92.50 152.50 147.50 2.96592 - 92.50 152.50 152.50 1.93443 - 92.50 152.50 157.50 1.09055 - 92.50 152.50 162.50 0.563445 - 92.50 152.50 167.50 0.295808 - 92.50 152.50 172.50 0.212048 - 92.50 152.50 177.50 0.201319 - 92.50 152.50 182.50 0.209129 - 92.50 152.50 187.50 0.201319 - 92.50 152.50 192.50 0.212048 - 92.50 152.50 197.50 0.295808 - 92.50 152.50 202.50 0.563445 - 92.50 152.50 207.50 1.09055 - 92.50 152.50 212.50 1.93443 - 92.50 152.50 217.50 2.96592 - 92.50 152.50 222.50 3.89139 - 92.50 152.50 227.50 4.27493 - 92.50 152.50 232.50 3.89139 - 92.50 152.50 237.50 2.96592 - 92.50 152.50 242.50 1.93443 - 92.50 152.50 247.50 1.09055 - 92.50 152.50 252.50 0.563444 - 92.50 152.50 257.50 0.295807 - 92.50 152.50 262.50 0.212048 - 92.50 152.50 267.50 0.201319 - 92.50 152.50 272.50 0.209129 - 92.50 152.50 277.50 0.201319 - 92.50 152.50 282.50 0.212048 - 92.50 152.50 287.50 0.295808 - 92.50 152.50 292.50 0.563445 - 92.50 152.50 297.50 1.09055 - 92.50 152.50 302.50 1.93443 - 92.50 152.50 307.50 2.96592 - 92.50 152.50 312.50 3.89139 - 92.50 152.50 317.50 4.27493 - 92.50 152.50 322.50 3.89139 - 92.50 152.50 327.50 2.96592 - 92.50 152.50 332.50 1.93444 - 92.50 152.50 337.50 1.09055 - 92.50 152.50 342.50 0.563445 - 92.50 152.50 347.50 0.295808 - 92.50 152.50 352.50 0.212048 - 92.50 152.50 357.50 0.201319 - 92.50 157.50 2.50 0.349564 - 92.50 157.50 7.50 0.330966 - 92.50 157.50 12.50 0.322834 - 92.50 157.50 17.50 0.365554 - 92.50 157.50 22.50 0.579183 - 92.50 157.50 27.50 1.04188 - 92.50 157.50 32.50 1.74902 - 92.50 157.50 37.50 2.6418 - 92.50 157.50 42.50 3.39824 - 92.50 157.50 47.50 3.75596 - 92.50 157.50 52.50 3.39824 - 92.50 157.50 57.50 2.6418 - 92.50 157.50 62.50 1.74902 - 92.50 157.50 67.50 1.04188 - 92.50 157.50 72.50 0.579182 - 92.50 157.50 77.50 0.365553 - 92.50 157.50 82.50 0.322834 - 92.50 157.50 87.50 0.330966 - 92.50 157.50 92.50 0.349564 - 92.50 157.50 97.50 0.330966 - 92.50 157.50 102.50 0.322834 - 92.50 157.50 107.50 0.365554 - 92.50 157.50 112.50 0.579183 - 92.50 157.50 117.50 1.04188 - 92.50 157.50 122.50 1.74902 - 92.50 157.50 127.50 2.6418 - 92.50 157.50 132.50 3.39824 - 92.50 157.50 137.50 3.75596 - 92.50 157.50 142.50 3.39824 - 92.50 157.50 147.50 2.6418 - 92.50 157.50 152.50 1.74902 - 92.50 157.50 157.50 1.04188 - 92.50 157.50 162.50 0.579183 - 92.50 157.50 167.50 0.365553 - 92.50 157.50 172.50 0.322834 - 92.50 157.50 177.50 0.330966 - 92.50 157.50 182.50 0.349564 - 92.50 157.50 187.50 0.330966 - 92.50 157.50 192.50 0.322834 - 92.50 157.50 197.50 0.365553 - 92.50 157.50 202.50 0.579183 - 92.50 157.50 207.50 1.04188 - 92.50 157.50 212.50 1.74902 - 92.50 157.50 217.50 2.6418 - 92.50 157.50 222.50 3.39824 - 92.50 157.50 227.50 3.75596 - 92.50 157.50 232.50 3.39824 - 92.50 157.50 237.50 2.6418 - 92.50 157.50 242.50 1.74902 - 92.50 157.50 247.50 1.04188 - 92.50 157.50 252.50 0.579182 - 92.50 157.50 257.50 0.365554 - 92.50 157.50 262.50 0.322834 - 92.50 157.50 267.50 0.330966 - 92.50 157.50 272.50 0.349564 - 92.50 157.50 277.50 0.330966 - 92.50 157.50 282.50 0.322834 - 92.50 157.50 287.50 0.365554 - 92.50 157.50 292.50 0.579183 - 92.50 157.50 297.50 1.04188 - 92.50 157.50 302.50 1.74902 - 92.50 157.50 307.50 2.6418 - 92.50 157.50 312.50 3.39824 - 92.50 157.50 317.50 3.75596 - 92.50 157.50 322.50 3.39824 - 92.50 157.50 327.50 2.6418 - 92.50 157.50 332.50 1.74902 - 92.50 157.50 337.50 1.04188 - 92.50 157.50 342.50 0.579183 - 92.50 157.50 347.50 0.365554 - 92.50 157.50 352.50 0.322834 - 92.50 157.50 357.50 0.330966 - 92.50 162.50 2.50 0.546004 - 92.50 162.50 7.50 0.505741 - 92.50 162.50 12.50 0.43119 - 92.50 162.50 17.50 0.401786 - 92.50 162.50 22.50 0.491398 - 92.50 162.50 27.50 0.782686 - 92.50 162.50 32.50 1.26428 - 92.50 162.50 37.50 1.7833 - 92.50 162.50 42.50 2.22181 - 92.50 162.50 47.50 2.40899 - 92.50 162.50 52.50 2.22181 - 92.50 162.50 57.50 1.7833 - 92.50 162.50 62.50 1.26428 - 92.50 162.50 67.50 0.782685 - 92.50 162.50 72.50 0.491398 - 92.50 162.50 77.50 0.401786 - 92.50 162.50 82.50 0.43119 - 92.50 162.50 87.50 0.505741 - 92.50 162.50 92.50 0.546004 - 92.50 162.50 97.50 0.505741 - 92.50 162.50 102.50 0.43119 - 92.50 162.50 107.50 0.401786 - 92.50 162.50 112.50 0.491398 - 92.50 162.50 117.50 0.782687 - 92.50 162.50 122.50 1.26428 - 92.50 162.50 127.50 1.7833 - 92.50 162.50 132.50 2.22181 - 92.50 162.50 137.50 2.40899 - 92.50 162.50 142.50 2.22181 - 92.50 162.50 147.50 1.7833 - 92.50 162.50 152.50 1.26428 - 92.50 162.50 157.50 0.782686 - 92.50 162.50 162.50 0.491398 - 92.50 162.50 167.50 0.401786 - 92.50 162.50 172.50 0.43119 - 92.50 162.50 177.50 0.505741 - 92.50 162.50 182.50 0.546004 - 92.50 162.50 187.50 0.505741 - 92.50 162.50 192.50 0.43119 - 92.50 162.50 197.50 0.401786 - 92.50 162.50 202.50 0.491398 - 92.50 162.50 207.50 0.782686 - 92.50 162.50 212.50 1.26428 - 92.50 162.50 217.50 1.7833 - 92.50 162.50 222.50 2.22181 - 92.50 162.50 227.50 2.40899 - 92.50 162.50 232.50 2.22181 - 92.50 162.50 237.50 1.7833 - 92.50 162.50 242.50 1.26428 - 92.50 162.50 247.50 0.782685 - 92.50 162.50 252.50 0.491398 - 92.50 162.50 257.50 0.401786 - 92.50 162.50 262.50 0.43119 - 92.50 162.50 267.50 0.505741 - 92.50 162.50 272.50 0.546004 - 92.50 162.50 277.50 0.505741 - 92.50 162.50 282.50 0.43119 - 92.50 162.50 287.50 0.401786 - 92.50 162.50 292.50 0.491398 - 92.50 162.50 297.50 0.782685 - 92.50 162.50 302.50 1.26428 - 92.50 162.50 307.50 1.7833 - 92.50 162.50 312.50 2.22181 - 92.50 162.50 317.50 2.40899 - 92.50 162.50 322.50 2.22181 - 92.50 162.50 327.50 1.7833 - 92.50 162.50 332.50 1.26428 - 92.50 162.50 337.50 0.782686 - 92.50 162.50 342.50 0.491398 - 92.50 162.50 347.50 0.401786 - 92.50 162.50 352.50 0.43119 - 92.50 162.50 357.50 0.505741 - 92.50 167.50 2.50 0.711647 - 92.50 167.50 7.50 0.638605 - 92.50 167.50 12.50 0.467809 - 92.50 167.50 17.50 0.366937 - 92.50 167.50 22.50 0.385043 - 92.50 167.50 27.50 0.519632 - 92.50 167.50 32.50 0.725446 - 92.50 167.50 37.50 1.01676 - 92.50 167.50 42.50 1.20606 - 92.50 167.50 47.50 1.26858 - 92.50 167.50 52.50 1.20606 - 92.50 167.50 57.50 1.01676 - 92.50 167.50 62.50 0.725445 - 92.50 167.50 67.50 0.519631 - 92.50 167.50 72.50 0.385043 - 92.50 167.50 77.50 0.366937 - 92.50 167.50 82.50 0.467809 - 92.50 167.50 87.50 0.638606 - 92.50 167.50 92.50 0.711647 - 92.50 167.50 97.50 0.638605 - 92.50 167.50 102.50 0.467809 - 92.50 167.50 107.50 0.366937 - 92.50 167.50 112.50 0.385043 - 92.50 167.50 117.50 0.519632 - 92.50 167.50 122.50 0.725446 - 92.50 167.50 127.50 1.01676 - 92.50 167.50 132.50 1.20606 - 92.50 167.50 137.50 1.26858 - 92.50 167.50 142.50 1.20606 - 92.50 167.50 147.50 1.01676 - 92.50 167.50 152.50 0.725446 - 92.50 167.50 157.50 0.519632 - 92.50 167.50 162.50 0.385043 - 92.50 167.50 167.50 0.366937 - 92.50 167.50 172.50 0.467809 - 92.50 167.50 177.50 0.638606 - 92.50 167.50 182.50 0.711647 - 92.50 167.50 187.50 0.638605 - 92.50 167.50 192.50 0.46781 - 92.50 167.50 197.50 0.366937 - 92.50 167.50 202.50 0.385043 - 92.50 167.50 207.50 0.519632 - 92.50 167.50 212.50 0.725446 - 92.50 167.50 217.50 1.01676 - 92.50 167.50 222.50 1.20606 - 92.50 167.50 227.50 1.26858 - 92.50 167.50 232.50 1.20606 - 92.50 167.50 237.50 1.01676 - 92.50 167.50 242.50 0.725445 - 92.50 167.50 247.50 0.519631 - 92.50 167.50 252.50 0.385043 - 92.50 167.50 257.50 0.366937 - 92.50 167.50 262.50 0.46781 - 92.50 167.50 267.50 0.638606 - 92.50 167.50 272.50 0.711647 - 92.50 167.50 277.50 0.638605 - 92.50 167.50 282.50 0.46781 - 92.50 167.50 287.50 0.366937 - 92.50 167.50 292.50 0.385043 - 92.50 167.50 297.50 0.519631 - 92.50 167.50 302.50 0.725446 - 92.50 167.50 307.50 1.01676 - 92.50 167.50 312.50 1.20606 - 92.50 167.50 317.50 1.26858 - 92.50 167.50 322.50 1.20606 - 92.50 167.50 327.50 1.01676 - 92.50 167.50 332.50 0.725446 - 92.50 167.50 337.50 0.519632 - 92.50 167.50 342.50 0.385043 - 92.50 167.50 347.50 0.366937 - 92.50 167.50 352.50 0.467809 - 92.50 167.50 357.50 0.638606 - 92.50 172.50 2.50 0.79997 - 92.50 172.50 7.50 0.684516 - 92.50 172.50 12.50 0.443105 - 92.50 172.50 17.50 0.25792 - 92.50 172.50 22.50 0.223925 - 92.50 172.50 27.50 0.284665 - 92.50 172.50 32.50 0.384722 - 92.50 172.50 37.50 0.479712 - 92.50 172.50 42.50 0.53245 - 92.50 172.50 47.50 0.540409 - 92.50 172.50 52.50 0.53245 - 92.50 172.50 57.50 0.479712 - 92.50 172.50 62.50 0.384722 - 92.50 172.50 67.50 0.284665 - 92.50 172.50 72.50 0.223925 - 92.50 172.50 77.50 0.25792 - 92.50 172.50 82.50 0.443105 - 92.50 172.50 87.50 0.684515 - 92.50 172.50 92.50 0.79997 - 92.50 172.50 97.50 0.684516 - 92.50 172.50 102.50 0.443105 - 92.50 172.50 107.50 0.257921 - 92.50 172.50 112.50 0.223925 - 92.50 172.50 117.50 0.284665 - 92.50 172.50 122.50 0.384722 - 92.50 172.50 127.50 0.479712 - 92.50 172.50 132.50 0.53245 - 92.50 172.50 137.50 0.540409 - 92.50 172.50 142.50 0.53245 - 92.50 172.50 147.50 0.479712 - 92.50 172.50 152.50 0.384722 - 92.50 172.50 157.50 0.284665 - 92.50 172.50 162.50 0.223925 - 92.50 172.50 167.50 0.25792 - 92.50 172.50 172.50 0.443105 - 92.50 172.50 177.50 0.684515 - 92.50 172.50 182.50 0.79997 - 92.50 172.50 187.50 0.684515 - 92.50 172.50 192.50 0.443105 - 92.50 172.50 197.50 0.25792 - 92.50 172.50 202.50 0.223925 - 92.50 172.50 207.50 0.284665 - 92.50 172.50 212.50 0.384722 - 92.50 172.50 217.50 0.479712 - 92.50 172.50 222.50 0.53245 - 92.50 172.50 227.50 0.540409 - 92.50 172.50 232.50 0.53245 - 92.50 172.50 237.50 0.479712 - 92.50 172.50 242.50 0.384722 - 92.50 172.50 247.50 0.284665 - 92.50 172.50 252.50 0.223925 - 92.50 172.50 257.50 0.257921 - 92.50 172.50 262.50 0.443105 - 92.50 172.50 267.50 0.684515 - 92.50 172.50 272.50 0.79997 - 92.50 172.50 277.50 0.684515 - 92.50 172.50 282.50 0.443105 - 92.50 172.50 287.50 0.25792 - 92.50 172.50 292.50 0.223925 - 92.50 172.50 297.50 0.284665 - 92.50 172.50 302.50 0.384722 - 92.50 172.50 307.50 0.479712 - 92.50 172.50 312.50 0.53245 - 92.50 172.50 317.50 0.540409 - 92.50 172.50 322.50 0.53245 - 92.50 172.50 327.50 0.479712 - 92.50 172.50 332.50 0.384723 - 92.50 172.50 337.50 0.284665 - 92.50 172.50 342.50 0.223925 - 92.50 172.50 347.50 0.25792 - 92.50 172.50 352.50 0.443104 - 92.50 172.50 357.50 0.684514 - 92.50 177.50 2.50 0.827942 - 92.50 177.50 7.50 0.676594 - 92.50 177.50 12.50 0.38396 - 92.50 177.50 17.50 0.17843 - 92.50 177.50 22.50 0.101776 - 92.50 177.50 27.50 0.0995832 - 92.50 177.50 32.50 0.125299 - 92.50 177.50 37.50 0.160583 - 92.50 177.50 42.50 0.17877 - 92.50 177.50 47.50 0.181722 - 92.50 177.50 52.50 0.17877 - 92.50 177.50 57.50 0.160583 - 92.50 177.50 62.50 0.125299 - 92.50 177.50 67.50 0.0995832 - 92.50 177.50 72.50 0.101776 - 92.50 177.50 77.50 0.17843 - 92.50 177.50 82.50 0.38396 - 92.50 177.50 87.50 0.676593 - 92.50 177.50 92.50 0.827943 - 92.50 177.50 97.50 0.676594 - 92.50 177.50 102.50 0.38396 - 92.50 177.50 107.50 0.17843 - 92.50 177.50 112.50 0.101776 - 92.50 177.50 117.50 0.0995832 - 92.50 177.50 122.50 0.125299 - 92.50 177.50 127.50 0.160583 - 92.50 177.50 132.50 0.17877 - 92.50 177.50 137.50 0.181722 - 92.50 177.50 142.50 0.17877 - 92.50 177.50 147.50 0.160583 - 92.50 177.50 152.50 0.125299 - 92.50 177.50 157.50 0.0995831 - 92.50 177.50 162.50 0.101776 - 92.50 177.50 167.50 0.17843 - 92.50 177.50 172.50 0.38396 - 92.50 177.50 177.50 0.676593 - 92.50 177.50 182.50 0.827942 - 92.50 177.50 187.50 0.676593 - 92.50 177.50 192.50 0.38396 - 92.50 177.50 197.50 0.17843 - 92.50 177.50 202.50 0.101776 - 92.50 177.50 207.50 0.0995832 - 92.50 177.50 212.50 0.125299 - 92.50 177.50 217.50 0.160583 - 92.50 177.50 222.50 0.17877 - 92.50 177.50 227.50 0.181722 - 92.50 177.50 232.50 0.17877 - 92.50 177.50 237.50 0.160583 - 92.50 177.50 242.50 0.125299 - 92.50 177.50 247.50 0.0995831 - 92.50 177.50 252.50 0.101776 - 92.50 177.50 257.50 0.17843 - 92.50 177.50 262.50 0.383961 - 92.50 177.50 267.50 0.676594 - 92.50 177.50 272.50 0.827942 - 92.50 177.50 277.50 0.676594 - 92.50 177.50 282.50 0.38396 - 92.50 177.50 287.50 0.17843 - 92.50 177.50 292.50 0.101776 - 92.50 177.50 297.50 0.0995833 - 92.50 177.50 302.50 0.125299 - 92.50 177.50 307.50 0.160583 - 92.50 177.50 312.50 0.17877 - 92.50 177.50 317.50 0.181722 - 92.50 177.50 322.50 0.17877 - 92.50 177.50 327.50 0.160583 - 92.50 177.50 332.50 0.125299 - 92.50 177.50 337.50 0.0995833 - 92.50 177.50 342.50 0.101776 - 92.50 177.50 347.50 0.17843 - 92.50 177.50 352.50 0.38396 - 92.50 177.50 357.50 0.676593 - 97.50 2.50 2.50 0.773178 - 97.50 2.50 7.50 0.393272 - 97.50 2.50 12.50 0.149977 - 97.50 2.50 17.50 0.0624685 - 97.50 2.50 22.50 0.0485219 - 97.50 2.50 27.50 0.0601603 - 97.50 2.50 32.50 0.0760386 - 97.50 2.50 37.50 0.083846 - 97.50 2.50 42.50 0.084539 - 97.50 2.50 47.50 0.083846 - 97.50 2.50 52.50 0.0760385 - 97.50 2.50 57.50 0.0601603 - 97.50 2.50 62.50 0.0485219 - 97.50 2.50 67.50 0.0624686 - 97.50 2.50 72.50 0.149977 - 97.50 2.50 77.50 0.393273 - 97.50 2.50 82.50 0.773179 - 97.50 2.50 87.50 0.980476 - 97.50 2.50 92.50 0.773179 - 97.50 2.50 97.50 0.393272 - 97.50 2.50 102.50 0.149977 - 97.50 2.50 107.50 0.0624685 - 97.50 2.50 112.50 0.0485219 - 97.50 2.50 117.50 0.0601603 - 97.50 2.50 122.50 0.0760386 - 97.50 2.50 127.50 0.083846 - 97.50 2.50 132.50 0.084539 - 97.50 2.50 137.50 0.083846 - 97.50 2.50 142.50 0.0760385 - 97.50 2.50 147.50 0.0601603 - 97.50 2.50 152.50 0.0485219 - 97.50 2.50 157.50 0.0624686 - 97.50 2.50 162.50 0.149977 - 97.50 2.50 167.50 0.393272 - 97.50 2.50 172.50 0.773178 - 97.50 2.50 177.50 0.980476 - 97.50 2.50 182.50 0.773178 - 97.50 2.50 187.50 0.393272 - 97.50 2.50 192.50 0.149977 - 97.50 2.50 197.50 0.0624685 - 97.50 2.50 202.50 0.0485219 - 97.50 2.50 207.50 0.0601603 - 97.50 2.50 212.50 0.0760386 - 97.50 2.50 217.50 0.083846 - 97.50 2.50 222.50 0.084539 - 97.50 2.50 227.50 0.083846 - 97.50 2.50 232.50 0.0760385 - 97.50 2.50 237.50 0.0601603 - 97.50 2.50 242.50 0.0485219 - 97.50 2.50 247.50 0.0624686 - 97.50 2.50 252.50 0.149977 - 97.50 2.50 257.50 0.393273 - 97.50 2.50 262.50 0.77318 - 97.50 2.50 267.50 0.980476 - 97.50 2.50 272.50 0.773179 - 97.50 2.50 277.50 0.393272 - 97.50 2.50 282.50 0.149977 - 97.50 2.50 287.50 0.0624685 - 97.50 2.50 292.50 0.0485219 - 97.50 2.50 297.50 0.0601603 - 97.50 2.50 302.50 0.0760385 - 97.50 2.50 307.50 0.083846 - 97.50 2.50 312.50 0.084539 - 97.50 2.50 317.50 0.083846 - 97.50 2.50 322.50 0.0760385 - 97.50 2.50 327.50 0.0601603 - 97.50 2.50 332.50 0.048522 - 97.50 2.50 337.50 0.0624686 - 97.50 2.50 342.50 0.149977 - 97.50 2.50 347.50 0.393272 - 97.50 2.50 352.50 0.773178 - 97.50 2.50 357.50 0.980476 - 97.50 7.50 2.50 0.675975 - 97.50 7.50 7.50 0.382539 - 97.50 7.50 12.50 0.175723 - 97.50 7.50 17.50 0.099254 - 97.50 7.50 22.50 0.101157 - 97.50 7.50 27.50 0.130789 - 97.50 7.50 32.50 0.156501 - 97.50 7.50 37.50 0.173803 - 97.50 7.50 42.50 0.181188 - 97.50 7.50 47.50 0.185725 - 97.50 7.50 52.50 0.170958 - 97.50 7.50 57.50 0.134286 - 97.50 7.50 62.50 0.0974293 - 97.50 7.50 67.50 0.10043 - 97.50 7.50 72.50 0.179981 - 97.50 7.50 77.50 0.387057 - 97.50 7.50 82.50 0.678878 - 97.50 7.50 87.50 0.828531 - 97.50 7.50 92.50 0.675974 - 97.50 7.50 97.50 0.382539 - 97.50 7.50 102.50 0.175723 - 97.50 7.50 107.50 0.0992539 - 97.50 7.50 112.50 0.101157 - 97.50 7.50 117.50 0.130789 - 97.50 7.50 122.50 0.156501 - 97.50 7.50 127.50 0.173803 - 97.50 7.50 132.50 0.181188 - 97.50 7.50 137.50 0.185725 - 97.50 7.50 142.50 0.170958 - 97.50 7.50 147.50 0.134286 - 97.50 7.50 152.50 0.0974294 - 97.50 7.50 157.50 0.10043 - 97.50 7.50 162.50 0.179981 - 97.50 7.50 167.50 0.387057 - 97.50 7.50 172.50 0.678877 - 97.50 7.50 177.50 0.828531 - 97.50 7.50 182.50 0.675974 - 97.50 7.50 187.50 0.382539 - 97.50 7.50 192.50 0.175723 - 97.50 7.50 197.50 0.099254 - 97.50 7.50 202.50 0.101157 - 97.50 7.50 207.50 0.130789 - 97.50 7.50 212.50 0.156501 - 97.50 7.50 217.50 0.173803 - 97.50 7.50 222.50 0.181187 - 97.50 7.50 227.50 0.185725 - 97.50 7.50 232.50 0.170958 - 97.50 7.50 237.50 0.134286 - 97.50 7.50 242.50 0.0974294 - 97.50 7.50 247.50 0.10043 - 97.50 7.50 252.50 0.179981 - 97.50 7.50 257.50 0.387056 - 97.50 7.50 262.50 0.678878 - 97.50 7.50 267.50 0.82853 - 97.50 7.50 272.50 0.675975 - 97.50 7.50 277.50 0.382539 - 97.50 7.50 282.50 0.175723 - 97.50 7.50 287.50 0.099254 - 97.50 7.50 292.50 0.101157 - 97.50 7.50 297.50 0.130789 - 97.50 7.50 302.50 0.156501 - 97.50 7.50 307.50 0.173803 - 97.50 7.50 312.50 0.181187 - 97.50 7.50 317.50 0.185725 - 97.50 7.50 322.50 0.170958 - 97.50 7.50 327.50 0.134286 - 97.50 7.50 332.50 0.0974295 - 97.50 7.50 337.50 0.10043 - 97.50 7.50 342.50 0.179981 - 97.50 7.50 347.50 0.387056 - 97.50 7.50 352.50 0.678877 - 97.50 7.50 357.50 0.828531 - 97.50 12.50 2.50 0.67853 - 97.50 12.50 7.50 0.434478 - 97.50 12.50 12.50 0.242843 - 97.50 12.50 17.50 0.18001 - 97.50 12.50 22.50 0.248079 - 97.50 12.50 27.50 0.355199 - 97.50 12.50 32.50 0.449265 - 97.50 12.50 37.50 0.50719 - 97.50 12.50 42.50 0.538478 - 97.50 12.50 47.50 0.557421 - 97.50 12.50 52.50 0.525747 - 97.50 12.50 57.50 0.42707 - 97.50 12.50 62.50 0.31833 - 97.50 12.50 67.50 0.256711 - 97.50 12.50 72.50 0.301 - 97.50 12.50 77.50 0.463163 - 97.50 12.50 82.50 0.697765 - 97.50 12.50 87.50 0.802952 - 97.50 12.50 92.50 0.67853 - 97.50 12.50 97.50 0.434478 - 97.50 12.50 102.50 0.242843 - 97.50 12.50 107.50 0.18001 - 97.50 12.50 112.50 0.248079 - 97.50 12.50 117.50 0.3552 - 97.50 12.50 122.50 0.449265 - 97.50 12.50 127.50 0.50719 - 97.50 12.50 132.50 0.538478 - 97.50 12.50 137.50 0.557421 - 97.50 12.50 142.50 0.525747 - 97.50 12.50 147.50 0.42707 - 97.50 12.50 152.50 0.31833 - 97.50 12.50 157.50 0.256711 - 97.50 12.50 162.50 0.301 - 97.50 12.50 167.50 0.463163 - 97.50 12.50 172.50 0.697764 - 97.50 12.50 177.50 0.802952 - 97.50 12.50 182.50 0.67853 - 97.50 12.50 187.50 0.434478 - 97.50 12.50 192.50 0.242843 - 97.50 12.50 197.50 0.18001 - 97.50 12.50 202.50 0.248079 - 97.50 12.50 207.50 0.355199 - 97.50 12.50 212.50 0.449265 - 97.50 12.50 217.50 0.50719 - 97.50 12.50 222.50 0.538478 - 97.50 12.50 227.50 0.557421 - 97.50 12.50 232.50 0.525747 - 97.50 12.50 237.50 0.427069 - 97.50 12.50 242.50 0.31833 - 97.50 12.50 247.50 0.256711 - 97.50 12.50 252.50 0.300999 - 97.50 12.50 257.50 0.463163 - 97.50 12.50 262.50 0.697764 - 97.50 12.50 267.50 0.802952 - 97.50 12.50 272.50 0.67853 - 97.50 12.50 277.50 0.434478 - 97.50 12.50 282.50 0.242843 - 97.50 12.50 287.50 0.18001 - 97.50 12.50 292.50 0.248078 - 97.50 12.50 297.50 0.355199 - 97.50 12.50 302.50 0.449265 - 97.50 12.50 307.50 0.50719 - 97.50 12.50 312.50 0.538478 - 97.50 12.50 317.50 0.557421 - 97.50 12.50 322.50 0.525747 - 97.50 12.50 327.50 0.42707 - 97.50 12.50 332.50 0.31833 - 97.50 12.50 337.50 0.256711 - 97.50 12.50 342.50 0.300999 - 97.50 12.50 347.50 0.463162 - 97.50 12.50 352.50 0.697764 - 97.50 12.50 357.50 0.802952 - 97.50 17.50 2.50 0.621359 - 97.50 17.50 7.50 0.437085 - 97.50 17.50 12.50 0.281707 - 97.50 17.50 17.50 0.296244 - 97.50 17.50 22.50 0.432846 - 97.50 17.50 27.50 0.630431 - 97.50 17.50 32.50 0.843856 - 97.50 17.50 37.50 1.09058 - 97.50 17.50 42.50 1.24911 - 97.50 17.50 47.50 1.30137 - 97.50 17.50 52.50 1.18348 - 97.50 17.50 57.50 0.922203 - 97.50 17.50 62.50 0.615539 - 97.50 17.50 67.50 0.461889 - 97.50 17.50 72.50 0.453063 - 97.50 17.50 77.50 0.569854 - 97.50 17.50 82.50 0.68042 - 97.50 17.50 87.50 0.71967 - 97.50 17.50 92.50 0.62136 - 97.50 17.50 97.50 0.437085 - 97.50 17.50 102.50 0.281707 - 97.50 17.50 107.50 0.296244 - 97.50 17.50 112.50 0.432846 - 97.50 17.50 117.50 0.63043 - 97.50 17.50 122.50 0.843856 - 97.50 17.50 127.50 1.09057 - 97.50 17.50 132.50 1.2491 - 97.50 17.50 137.50 1.30137 - 97.50 17.50 142.50 1.18348 - 97.50 17.50 147.50 0.922203 - 97.50 17.50 152.50 0.61554 - 97.50 17.50 157.50 0.461889 - 97.50 17.50 162.50 0.453063 - 97.50 17.50 167.50 0.569854 - 97.50 17.50 172.50 0.68042 - 97.50 17.50 177.50 0.71967 - 97.50 17.50 182.50 0.62136 - 97.50 17.50 187.50 0.437085 - 97.50 17.50 192.50 0.281707 - 97.50 17.50 197.50 0.296244 - 97.50 17.50 202.50 0.432846 - 97.50 17.50 207.50 0.63043 - 97.50 17.50 212.50 0.843856 - 97.50 17.50 217.50 1.09057 - 97.50 17.50 222.50 1.2491 - 97.50 17.50 227.50 1.30137 - 97.50 17.50 232.50 1.18348 - 97.50 17.50 237.50 0.922202 - 97.50 17.50 242.50 0.615539 - 97.50 17.50 247.50 0.461889 - 97.50 17.50 252.50 0.453063 - 97.50 17.50 257.50 0.569854 - 97.50 17.50 262.50 0.68042 - 97.50 17.50 267.50 0.71967 - 97.50 17.50 272.50 0.62136 - 97.50 17.50 277.50 0.437085 - 97.50 17.50 282.50 0.281707 - 97.50 17.50 287.50 0.296244 - 97.50 17.50 292.50 0.432846 - 97.50 17.50 297.50 0.63043 - 97.50 17.50 302.50 0.843855 - 97.50 17.50 307.50 1.09057 - 97.50 17.50 312.50 1.2491 - 97.50 17.50 317.50 1.30137 - 97.50 17.50 322.50 1.18348 - 97.50 17.50 327.50 0.922203 - 97.50 17.50 332.50 0.61554 - 97.50 17.50 337.50 0.461889 - 97.50 17.50 342.50 0.453063 - 97.50 17.50 347.50 0.569854 - 97.50 17.50 352.50 0.680419 - 97.50 17.50 357.50 0.71967 - 97.50 22.50 2.50 0.48194 - 97.50 22.50 7.50 0.357811 - 97.50 22.50 12.50 0.288839 - 97.50 22.50 17.50 0.361966 - 97.50 22.50 22.50 0.56114 - 97.50 22.50 27.50 0.948701 - 97.50 22.50 32.50 1.47679 - 97.50 22.50 37.50 1.9798 - 97.50 22.50 42.50 2.38186 - 97.50 22.50 47.50 2.46548 - 97.50 22.50 52.50 2.13429 - 97.50 22.50 57.50 1.59739 - 97.50 22.50 62.50 1.07404 - 97.50 22.50 67.50 0.683605 - 97.50 22.50 72.50 0.527195 - 97.50 22.50 77.50 0.561809 - 97.50 22.50 82.50 0.594511 - 97.50 22.50 87.50 0.558621 - 97.50 22.50 92.50 0.48194 - 97.50 22.50 97.50 0.357811 - 97.50 22.50 102.50 0.288839 - 97.50 22.50 107.50 0.361966 - 97.50 22.50 112.50 0.561139 - 97.50 22.50 117.50 0.948701 - 97.50 22.50 122.50 1.47679 - 97.50 22.50 127.50 1.9798 - 97.50 22.50 132.50 2.38186 - 97.50 22.50 137.50 2.46548 - 97.50 22.50 142.50 2.13429 - 97.50 22.50 147.50 1.59739 - 97.50 22.50 152.50 1.07404 - 97.50 22.50 157.50 0.683605 - 97.50 22.50 162.50 0.527195 - 97.50 22.50 167.50 0.561809 - 97.50 22.50 172.50 0.594511 - 97.50 22.50 177.50 0.558621 - 97.50 22.50 182.50 0.48194 - 97.50 22.50 187.50 0.357811 - 97.50 22.50 192.50 0.288839 - 97.50 22.50 197.50 0.361966 - 97.50 22.50 202.50 0.56114 - 97.50 22.50 207.50 0.948701 - 97.50 22.50 212.50 1.47679 - 97.50 22.50 217.50 1.9798 - 97.50 22.50 222.50 2.38186 - 97.50 22.50 227.50 2.46548 - 97.50 22.50 232.50 2.13429 - 97.50 22.50 237.50 1.59739 - 97.50 22.50 242.50 1.07404 - 97.50 22.50 247.50 0.683605 - 97.50 22.50 252.50 0.527195 - 97.50 22.50 257.50 0.561809 - 97.50 22.50 262.50 0.594511 - 97.50 22.50 267.50 0.558621 - 97.50 22.50 272.50 0.48194 - 97.50 22.50 277.50 0.357811 - 97.50 22.50 282.50 0.288839 - 97.50 22.50 287.50 0.361966 - 97.50 22.50 292.50 0.56114 - 97.50 22.50 297.50 0.9487 - 97.50 22.50 302.50 1.47679 - 97.50 22.50 307.50 1.9798 - 97.50 22.50 312.50 2.38186 - 97.50 22.50 317.50 2.46548 - 97.50 22.50 322.50 2.13429 - 97.50 22.50 327.50 1.59739 - 97.50 22.50 332.50 1.07404 - 97.50 22.50 337.50 0.683606 - 97.50 22.50 342.50 0.527195 - 97.50 22.50 347.50 0.561809 - 97.50 22.50 352.50 0.594511 - 97.50 22.50 357.50 0.558621 - 97.50 27.50 2.50 0.315487 - 97.50 27.50 7.50 0.251243 - 97.50 27.50 12.50 0.256208 - 97.50 27.50 17.50 0.384715 - 97.50 27.50 22.50 0.716853 - 97.50 27.50 27.50 1.30889 - 97.50 27.50 32.50 2.08375 - 97.50 27.50 37.50 2.95161 - 97.50 27.50 42.50 3.63698 - 97.50 27.50 47.50 3.83255 - 97.50 27.50 52.50 3.27428 - 97.50 27.50 57.50 2.34685 - 97.50 27.50 62.50 1.43418 - 97.50 27.50 67.50 0.845018 - 97.50 27.50 72.50 0.532542 - 97.50 27.50 77.50 0.439567 - 97.50 27.50 82.50 0.414034 - 97.50 27.50 87.50 0.359669 - 97.50 27.50 92.50 0.315487 - 97.50 27.50 97.50 0.251243 - 97.50 27.50 102.50 0.256208 - 97.50 27.50 107.50 0.384715 - 97.50 27.50 112.50 0.716853 - 97.50 27.50 117.50 1.30889 - 97.50 27.50 122.50 2.08375 - 97.50 27.50 127.50 2.95161 - 97.50 27.50 132.50 3.63699 - 97.50 27.50 137.50 3.83255 - 97.50 27.50 142.50 3.27428 - 97.50 27.50 147.50 2.34685 - 97.50 27.50 152.50 1.43418 - 97.50 27.50 157.50 0.845018 - 97.50 27.50 162.50 0.532543 - 97.50 27.50 167.50 0.439567 - 97.50 27.50 172.50 0.414034 - 97.50 27.50 177.50 0.359669 - 97.50 27.50 182.50 0.315487 - 97.50 27.50 187.50 0.251242 - 97.50 27.50 192.50 0.256208 - 97.50 27.50 197.50 0.384715 - 97.50 27.50 202.50 0.716854 - 97.50 27.50 207.50 1.30889 - 97.50 27.50 212.50 2.08375 - 97.50 27.50 217.50 2.95161 - 97.50 27.50 222.50 3.63699 - 97.50 27.50 227.50 3.83254 - 97.50 27.50 232.50 3.27428 - 97.50 27.50 237.50 2.34685 - 97.50 27.50 242.50 1.43418 - 97.50 27.50 247.50 0.845017 - 97.50 27.50 252.50 0.532542 - 97.50 27.50 257.50 0.439566 - 97.50 27.50 262.50 0.414034 - 97.50 27.50 267.50 0.359669 - 97.50 27.50 272.50 0.315487 - 97.50 27.50 277.50 0.251243 - 97.50 27.50 282.50 0.256208 - 97.50 27.50 287.50 0.384715 - 97.50 27.50 292.50 0.716854 - 97.50 27.50 297.50 1.30889 - 97.50 27.50 302.50 2.08375 - 97.50 27.50 307.50 2.95161 - 97.50 27.50 312.50 3.63699 - 97.50 27.50 317.50 3.83254 - 97.50 27.50 322.50 3.27428 - 97.50 27.50 327.50 2.34685 - 97.50 27.50 332.50 1.43418 - 97.50 27.50 337.50 0.845019 - 97.50 27.50 342.50 0.532543 - 97.50 27.50 347.50 0.439566 - 97.50 27.50 352.50 0.414034 - 97.50 27.50 357.50 0.359669 - 97.50 32.50 2.50 0.199216 - 97.50 32.50 7.50 0.176545 - 97.50 32.50 12.50 0.210139 - 97.50 32.50 17.50 0.37138 - 97.50 32.50 22.50 0.763626 - 97.50 32.50 27.50 1.40693 - 97.50 32.50 32.50 2.31146 - 97.50 32.50 37.50 3.36236 - 97.50 32.50 42.50 4.20894 - 97.50 32.50 47.50 4.33348 - 97.50 32.50 52.50 3.6961 - 97.50 32.50 57.50 2.62026 - 97.50 32.50 62.50 1.55946 - 97.50 32.50 67.50 0.82426 - 97.50 32.50 72.50 0.442373 - 97.50 32.50 77.50 0.286681 - 97.50 32.50 82.50 0.236243 - 97.50 32.50 87.50 0.2097 - 97.50 32.50 92.50 0.199216 - 97.50 32.50 97.50 0.176545 - 97.50 32.50 102.50 0.210139 - 97.50 32.50 107.50 0.37138 - 97.50 32.50 112.50 0.763626 - 97.50 32.50 117.50 1.40693 - 97.50 32.50 122.50 2.31147 - 97.50 32.50 127.50 3.36237 - 97.50 32.50 132.50 4.20894 - 97.50 32.50 137.50 4.33348 - 97.50 32.50 142.50 3.6961 - 97.50 32.50 147.50 2.62026 - 97.50 32.50 152.50 1.55947 - 97.50 32.50 157.50 0.824261 - 97.50 32.50 162.50 0.442373 - 97.50 32.50 167.50 0.286681 - 97.50 32.50 172.50 0.236243 - 97.50 32.50 177.50 0.2097 - 97.50 32.50 182.50 0.199216 - 97.50 32.50 187.50 0.176545 - 97.50 32.50 192.50 0.210139 - 97.50 32.50 197.50 0.371381 - 97.50 32.50 202.50 0.763627 - 97.50 32.50 207.50 1.40693 - 97.50 32.50 212.50 2.31146 - 97.50 32.50 217.50 3.36237 - 97.50 32.50 222.50 4.20894 - 97.50 32.50 227.50 4.33348 - 97.50 32.50 232.50 3.69609 - 97.50 32.50 237.50 2.62026 - 97.50 32.50 242.50 1.55946 - 97.50 32.50 247.50 0.82426 - 97.50 32.50 252.50 0.442373 - 97.50 32.50 257.50 0.286681 - 97.50 32.50 262.50 0.236242 - 97.50 32.50 267.50 0.2097 - 97.50 32.50 272.50 0.199216 - 97.50 32.50 277.50 0.176545 - 97.50 32.50 282.50 0.210139 - 97.50 32.50 287.50 0.371381 - 97.50 32.50 292.50 0.763626 - 97.50 32.50 297.50 1.40693 - 97.50 32.50 302.50 2.31146 - 97.50 32.50 307.50 3.36236 - 97.50 32.50 312.50 4.20894 - 97.50 32.50 317.50 4.33348 - 97.50 32.50 322.50 3.6961 - 97.50 32.50 327.50 2.62026 - 97.50 32.50 332.50 1.55947 - 97.50 32.50 337.50 0.824262 - 97.50 32.50 342.50 0.442374 - 97.50 32.50 347.50 0.286681 - 97.50 32.50 352.50 0.236243 - 97.50 32.50 357.50 0.2097 - 97.50 37.50 2.50 0.129213 - 97.50 37.50 7.50 0.118247 - 97.50 37.50 12.50 0.145218 - 97.50 37.50 17.50 0.292757 - 97.50 37.50 22.50 0.604255 - 97.50 37.50 27.50 1.10692 - 97.50 37.50 32.50 1.82954 - 97.50 37.50 37.50 2.70449 - 97.50 37.50 42.50 3.36986 - 97.50 37.50 47.50 3.47034 - 97.50 37.50 52.50 2.958 - 97.50 37.50 57.50 2.08558 - 97.50 37.50 62.50 1.21571 - 97.50 37.50 67.50 0.615071 - 97.50 37.50 72.50 0.293616 - 97.50 37.50 77.50 0.155519 - 97.50 37.50 82.50 0.116352 - 97.50 37.50 87.50 0.122909 - 97.50 37.50 92.50 0.129213 - 97.50 37.50 97.50 0.118247 - 97.50 37.50 102.50 0.145218 - 97.50 37.50 107.50 0.292757 - 97.50 37.50 112.50 0.604254 - 97.50 37.50 117.50 1.10692 - 97.50 37.50 122.50 1.82954 - 97.50 37.50 127.50 2.70449 - 97.50 37.50 132.50 3.36986 - 97.50 37.50 137.50 3.47034 - 97.50 37.50 142.50 2.958 - 97.50 37.50 147.50 2.08558 - 97.50 37.50 152.50 1.21571 - 97.50 37.50 157.50 0.615071 - 97.50 37.50 162.50 0.293616 - 97.50 37.50 167.50 0.155519 - 97.50 37.50 172.50 0.116352 - 97.50 37.50 177.50 0.122909 - 97.50 37.50 182.50 0.129213 - 97.50 37.50 187.50 0.118247 - 97.50 37.50 192.50 0.145218 - 97.50 37.50 197.50 0.292757 - 97.50 37.50 202.50 0.604254 - 97.50 37.50 207.50 1.10692 - 97.50 37.50 212.50 1.82954 - 97.50 37.50 217.50 2.70449 - 97.50 37.50 222.50 3.36986 - 97.50 37.50 227.50 3.47034 - 97.50 37.50 232.50 2.958 - 97.50 37.50 237.50 2.08558 - 97.50 37.50 242.50 1.21571 - 97.50 37.50 247.50 0.615071 - 97.50 37.50 252.50 0.293615 - 97.50 37.50 257.50 0.155519 - 97.50 37.50 262.50 0.116352 - 97.50 37.50 267.50 0.122909 - 97.50 37.50 272.50 0.129213 - 97.50 37.50 277.50 0.118247 - 97.50 37.50 282.50 0.145218 - 97.50 37.50 287.50 0.292757 - 97.50 37.50 292.50 0.604254 - 97.50 37.50 297.50 1.10692 - 97.50 37.50 302.50 1.82954 - 97.50 37.50 307.50 2.70449 - 97.50 37.50 312.50 3.36986 - 97.50 37.50 317.50 3.47034 - 97.50 37.50 322.50 2.958 - 97.50 37.50 327.50 2.08558 - 97.50 37.50 332.50 1.21571 - 97.50 37.50 337.50 0.615072 - 97.50 37.50 342.50 0.293616 - 97.50 37.50 347.50 0.155519 - 97.50 37.50 352.50 0.116352 - 97.50 37.50 357.50 0.122909 - 97.50 42.50 2.50 0.0716309 - 97.50 42.50 7.50 0.0616514 - 97.50 42.50 12.50 0.0755905 - 97.50 42.50 17.50 0.17185 - 97.50 42.50 22.50 0.356892 - 97.50 42.50 27.50 0.626981 - 97.50 42.50 32.50 1.03025 - 97.50 42.50 37.50 1.48065 - 97.50 42.50 42.50 1.82863 - 97.50 42.50 47.50 1.91265 - 97.50 42.50 52.50 1.64199 - 97.50 42.50 57.50 1.14566 - 97.50 42.50 62.50 0.661871 - 97.50 42.50 67.50 0.323246 - 97.50 42.50 72.50 0.141382 - 97.50 42.50 77.50 0.063983 - 97.50 42.50 82.50 0.0483848 - 97.50 42.50 87.50 0.0640119 - 97.50 42.50 92.50 0.0716309 - 97.50 42.50 97.50 0.0616514 - 97.50 42.50 102.50 0.0755905 - 97.50 42.50 107.50 0.17185 - 97.50 42.50 112.50 0.356892 - 97.50 42.50 117.50 0.626981 - 97.50 42.50 122.50 1.03025 - 97.50 42.50 127.50 1.48065 - 97.50 42.50 132.50 1.82863 - 97.50 42.50 137.50 1.91265 - 97.50 42.50 142.50 1.64199 - 97.50 42.50 147.50 1.14566 - 97.50 42.50 152.50 0.661872 - 97.50 42.50 157.50 0.323247 - 97.50 42.50 162.50 0.141382 - 97.50 42.50 167.50 0.063983 - 97.50 42.50 172.50 0.0483848 - 97.50 42.50 177.50 0.0640119 - 97.50 42.50 182.50 0.0716309 - 97.50 42.50 187.50 0.0616514 - 97.50 42.50 192.50 0.0755905 - 97.50 42.50 197.50 0.17185 - 97.50 42.50 202.50 0.356892 - 97.50 42.50 207.50 0.62698 - 97.50 42.50 212.50 1.03025 - 97.50 42.50 217.50 1.48065 - 97.50 42.50 222.50 1.82863 - 97.50 42.50 227.50 1.91265 - 97.50 42.50 232.50 1.64199 - 97.50 42.50 237.50 1.14566 - 97.50 42.50 242.50 0.661871 - 97.50 42.50 247.50 0.323246 - 97.50 42.50 252.50 0.141381 - 97.50 42.50 257.50 0.063983 - 97.50 42.50 262.50 0.0483848 - 97.50 42.50 267.50 0.064012 - 97.50 42.50 272.50 0.0716309 - 97.50 42.50 277.50 0.0616514 - 97.50 42.50 282.50 0.0755905 - 97.50 42.50 287.50 0.17185 - 97.50 42.50 292.50 0.356892 - 97.50 42.50 297.50 0.62698 - 97.50 42.50 302.50 1.03025 - 97.50 42.50 307.50 1.48065 - 97.50 42.50 312.50 1.82863 - 97.50 42.50 317.50 1.91265 - 97.50 42.50 322.50 1.64199 - 97.50 42.50 327.50 1.14566 - 97.50 42.50 332.50 0.661873 - 97.50 42.50 337.50 0.323247 - 97.50 42.50 342.50 0.141382 - 97.50 42.50 347.50 0.0639831 - 97.50 42.50 352.50 0.0483847 - 97.50 42.50 357.50 0.0640119 - 97.50 47.50 2.50 0.0446415 - 97.50 47.50 7.50 0.0320298 - 97.50 47.50 12.50 0.0323235 - 97.50 47.50 17.50 0.0738832 - 97.50 47.50 22.50 0.15642 - 97.50 47.50 27.50 0.26034 - 97.50 47.50 32.50 0.400611 - 97.50 47.50 37.50 0.595303 - 97.50 47.50 42.50 0.660829 - 97.50 47.50 47.50 0.715765 - 97.50 47.50 52.50 0.55622 - 97.50 47.50 57.50 0.425319 - 97.50 47.50 62.50 0.226915 - 97.50 47.50 67.50 0.117599 - 97.50 47.50 72.50 0.0486705 - 97.50 47.50 77.50 0.0214015 - 97.50 47.50 82.50 0.0213814 - 97.50 47.50 87.50 0.0381159 - 97.50 47.50 92.50 0.0446415 - 97.50 47.50 97.50 0.0320298 - 97.50 47.50 102.50 0.0323235 - 97.50 47.50 107.50 0.0738833 - 97.50 47.50 112.50 0.15642 - 97.50 47.50 117.50 0.26034 - 97.50 47.50 122.50 0.400611 - 97.50 47.50 127.50 0.595304 - 97.50 47.50 132.50 0.660829 - 97.50 47.50 137.50 0.715766 - 97.50 47.50 142.50 0.55622 - 97.50 47.50 147.50 0.425319 - 97.50 47.50 152.50 0.226915 - 97.50 47.50 157.50 0.117599 - 97.50 47.50 162.50 0.0486705 - 97.50 47.50 167.50 0.0214015 - 97.50 47.50 172.50 0.0213814 - 97.50 47.50 177.50 0.0381159 - 97.50 47.50 182.50 0.0446415 - 97.50 47.50 187.50 0.0320298 - 97.50 47.50 192.50 0.0323236 - 97.50 47.50 197.50 0.0738833 - 97.50 47.50 202.50 0.15642 - 97.50 47.50 207.50 0.26034 - 97.50 47.50 212.50 0.400611 - 97.50 47.50 217.50 0.595303 - 97.50 47.50 222.50 0.660828 - 97.50 47.50 227.50 0.715766 - 97.50 47.50 232.50 0.556219 - 97.50 47.50 237.50 0.425319 - 97.50 47.50 242.50 0.226915 - 97.50 47.50 247.50 0.117599 - 97.50 47.50 252.50 0.0486705 - 97.50 47.50 257.50 0.0214015 - 97.50 47.50 262.50 0.0213814 - 97.50 47.50 267.50 0.0381159 - 97.50 47.50 272.50 0.0446415 - 97.50 47.50 277.50 0.0320298 - 97.50 47.50 282.50 0.0323235 - 97.50 47.50 287.50 0.0738832 - 97.50 47.50 292.50 0.15642 - 97.50 47.50 297.50 0.26034 - 97.50 47.50 302.50 0.400611 - 97.50 47.50 307.50 0.595303 - 97.50 47.50 312.50 0.660828 - 97.50 47.50 317.50 0.715765 - 97.50 47.50 322.50 0.55622 - 97.50 47.50 327.50 0.425319 - 97.50 47.50 332.50 0.226915 - 97.50 47.50 337.50 0.117599 - 97.50 47.50 342.50 0.0486706 - 97.50 47.50 347.50 0.0214015 - 97.50 47.50 352.50 0.0213813 - 97.50 47.50 357.50 0.0381158 - 97.50 52.50 2.50 0.0716309 - 97.50 52.50 7.50 0.0443058 - 97.50 52.50 12.50 0.022551 - 97.50 52.50 17.50 0.0264904 - 97.50 52.50 22.50 0.0465787 - 97.50 52.50 27.50 0.0685248 - 97.50 52.50 32.50 0.112257 - 97.50 52.50 37.50 0.154173 - 97.50 52.50 42.50 0.152444 - 97.50 52.50 47.50 0.159105 - 97.50 52.50 52.50 0.119274 - 97.50 52.50 57.50 0.0919798 - 97.50 52.50 62.50 0.0561324 - 97.50 52.50 67.50 0.032397 - 97.50 52.50 72.50 0.0254592 - 97.50 52.50 77.50 0.0220366 - 97.50 52.50 82.50 0.0318592 - 97.50 52.50 87.50 0.0584064 - 97.50 52.50 92.50 0.0716309 - 97.50 52.50 97.50 0.0443058 - 97.50 52.50 102.50 0.022551 - 97.50 52.50 107.50 0.0264904 - 97.50 52.50 112.50 0.0465787 - 97.50 52.50 117.50 0.0685249 - 97.50 52.50 122.50 0.112257 - 97.50 52.50 127.50 0.154174 - 97.50 52.50 132.50 0.152444 - 97.50 52.50 137.50 0.159105 - 97.50 52.50 142.50 0.119274 - 97.50 52.50 147.50 0.0919799 - 97.50 52.50 152.50 0.0561324 - 97.50 52.50 157.50 0.032397 - 97.50 52.50 162.50 0.0254592 - 97.50 52.50 167.50 0.0220366 - 97.50 52.50 172.50 0.0318592 - 97.50 52.50 177.50 0.0584063 - 97.50 52.50 182.50 0.0716309 - 97.50 52.50 187.50 0.0443058 - 97.50 52.50 192.50 0.022551 - 97.50 52.50 197.50 0.0264904 - 97.50 52.50 202.50 0.0465787 - 97.50 52.50 207.50 0.0685249 - 97.50 52.50 212.50 0.112257 - 97.50 52.50 217.50 0.154174 - 97.50 52.50 222.50 0.152444 - 97.50 52.50 227.50 0.159105 - 97.50 52.50 232.50 0.119274 - 97.50 52.50 237.50 0.0919798 - 97.50 52.50 242.50 0.0561324 - 97.50 52.50 247.50 0.032397 - 97.50 52.50 252.50 0.0254592 - 97.50 52.50 257.50 0.0220366 - 97.50 52.50 262.50 0.0318593 - 97.50 52.50 267.50 0.0584065 - 97.50 52.50 272.50 0.0716309 - 97.50 52.50 277.50 0.0443058 - 97.50 52.50 282.50 0.022551 - 97.50 52.50 287.50 0.0264904 - 97.50 52.50 292.50 0.0465787 - 97.50 52.50 297.50 0.0685249 - 97.50 52.50 302.50 0.112257 - 97.50 52.50 307.50 0.154173 - 97.50 52.50 312.50 0.152444 - 97.50 52.50 317.50 0.159105 - 97.50 52.50 322.50 0.119274 - 97.50 52.50 327.50 0.0919798 - 97.50 52.50 332.50 0.0561326 - 97.50 52.50 337.50 0.032397 - 97.50 52.50 342.50 0.0254592 - 97.50 52.50 347.50 0.0220366 - 97.50 52.50 352.50 0.0318592 - 97.50 52.50 357.50 0.0584063 - 97.50 57.50 2.50 0.129213 - 97.50 57.50 7.50 0.087848 - 97.50 57.50 12.50 0.0447639 - 97.50 57.50 17.50 0.0279321 - 97.50 57.50 22.50 0.0154728 - 97.50 57.50 27.50 0.0130544 - 97.50 57.50 32.50 0.0202864 - 97.50 57.50 37.50 0.0224542 - 97.50 57.50 42.50 0.0189908 - 97.50 57.50 47.50 0.0224384 - 97.50 57.50 52.50 0.0146644 - 97.50 57.50 57.50 0.0147355 - 97.50 57.50 62.50 0.0185263 - 97.50 57.50 67.50 0.0308299 - 97.50 57.50 72.50 0.0704791 - 97.50 57.50 77.50 0.0867767 - 97.50 57.50 82.50 0.0935966 - 97.50 57.50 87.50 0.111751 - 97.50 57.50 92.50 0.129213 - 97.50 57.50 97.50 0.0878479 - 97.50 57.50 102.50 0.0447639 - 97.50 57.50 107.50 0.0279321 - 97.50 57.50 112.50 0.0154728 - 97.50 57.50 117.50 0.0130544 - 97.50 57.50 122.50 0.0202864 - 97.50 57.50 127.50 0.0224542 - 97.50 57.50 132.50 0.0189908 - 97.50 57.50 137.50 0.0224384 - 97.50 57.50 142.50 0.0146644 - 97.50 57.50 147.50 0.0147355 - 97.50 57.50 152.50 0.0185263 - 97.50 57.50 157.50 0.0308298 - 97.50 57.50 162.50 0.070479 - 97.50 57.50 167.50 0.0867767 - 97.50 57.50 172.50 0.0935966 - 97.50 57.50 177.50 0.111751 - 97.50 57.50 182.50 0.129213 - 97.50 57.50 187.50 0.0878479 - 97.50 57.50 192.50 0.0447638 - 97.50 57.50 197.50 0.0279321 - 97.50 57.50 202.50 0.0154727 - 97.50 57.50 207.50 0.0130544 - 97.50 57.50 212.50 0.0202864 - 97.50 57.50 217.50 0.0224542 - 97.50 57.50 222.50 0.0189908 - 97.50 57.50 227.50 0.0224384 - 97.50 57.50 232.50 0.0146644 - 97.50 57.50 237.50 0.0147355 - 97.50 57.50 242.50 0.0185263 - 97.50 57.50 247.50 0.0308299 - 97.50 57.50 252.50 0.0704792 - 97.50 57.50 257.50 0.0867768 - 97.50 57.50 262.50 0.0935967 - 97.50 57.50 267.50 0.111751 - 97.50 57.50 272.50 0.129213 - 97.50 57.50 277.50 0.087848 - 97.50 57.50 282.50 0.0447639 - 97.50 57.50 287.50 0.0279321 - 97.50 57.50 292.50 0.0154728 - 97.50 57.50 297.50 0.0130544 - 97.50 57.50 302.50 0.0202864 - 97.50 57.50 307.50 0.0224542 - 97.50 57.50 312.50 0.0189908 - 97.50 57.50 317.50 0.0224384 - 97.50 57.50 322.50 0.0146644 - 97.50 57.50 327.50 0.0147355 - 97.50 57.50 332.50 0.0185263 - 97.50 57.50 337.50 0.0308298 - 97.50 57.50 342.50 0.0704791 - 97.50 57.50 347.50 0.0867767 - 97.50 57.50 352.50 0.0935967 - 97.50 57.50 357.50 0.111751 - 97.50 62.50 2.50 0.199216 - 97.50 62.50 7.50 0.164714 - 97.50 62.50 12.50 0.116617 - 97.50 62.50 17.50 0.0733649 - 97.50 62.50 22.50 0.0389299 - 97.50 62.50 27.50 0.0177908 - 97.50 62.50 32.50 0.00746499 - 97.50 62.50 37.50 0.00579803 - 97.50 62.50 42.50 0.0058344 - 97.50 62.50 47.50 0.00959743 - 97.50 62.50 52.50 0.0152566 - 97.50 62.50 57.50 0.0260343 - 97.50 62.50 62.50 0.0555581 - 97.50 62.50 67.50 0.113871 - 97.50 62.50 72.50 0.202193 - 97.50 62.50 77.50 0.280883 - 97.50 62.50 82.50 0.250801 - 97.50 62.50 87.50 0.217024 - 97.50 62.50 92.50 0.199216 - 97.50 62.50 97.50 0.164714 - 97.50 62.50 102.50 0.116617 - 97.50 62.50 107.50 0.0733649 - 97.50 62.50 112.50 0.0389299 - 97.50 62.50 117.50 0.0177908 - 97.50 62.50 122.50 0.00746499 - 97.50 62.50 127.50 0.00579802 - 97.50 62.50 132.50 0.00583439 - 97.50 62.50 137.50 0.00959742 - 97.50 62.50 142.50 0.0152566 - 97.50 62.50 147.50 0.0260342 - 97.50 62.50 152.50 0.055558 - 97.50 62.50 157.50 0.113871 - 97.50 62.50 162.50 0.202193 - 97.50 62.50 167.50 0.280883 - 97.50 62.50 172.50 0.250801 - 97.50 62.50 177.50 0.217024 - 97.50 62.50 182.50 0.199216 - 97.50 62.50 187.50 0.164714 - 97.50 62.50 192.50 0.116617 - 97.50 62.50 197.50 0.0733649 - 97.50 62.50 202.50 0.0389298 - 97.50 62.50 207.50 0.0177908 - 97.50 62.50 212.50 0.00746499 - 97.50 62.50 217.50 0.00579802 - 97.50 62.50 222.50 0.00583439 - 97.50 62.50 227.50 0.00959742 - 97.50 62.50 232.50 0.0152566 - 97.50 62.50 237.50 0.0260342 - 97.50 62.50 242.50 0.0555581 - 97.50 62.50 247.50 0.113871 - 97.50 62.50 252.50 0.202194 - 97.50 62.50 257.50 0.280883 - 97.50 62.50 262.50 0.250801 - 97.50 62.50 267.50 0.217024 - 97.50 62.50 272.50 0.199216 - 97.50 62.50 277.50 0.164714 - 97.50 62.50 282.50 0.116617 - 97.50 62.50 287.50 0.0733649 - 97.50 62.50 292.50 0.0389299 - 97.50 62.50 297.50 0.0177908 - 97.50 62.50 302.50 0.007465 - 97.50 62.50 307.50 0.00579802 - 97.50 62.50 312.50 0.0058344 - 97.50 62.50 317.50 0.00959743 - 97.50 62.50 322.50 0.0152566 - 97.50 62.50 327.50 0.0260342 - 97.50 62.50 332.50 0.055558 - 97.50 62.50 337.50 0.113871 - 97.50 62.50 342.50 0.202193 - 97.50 62.50 347.50 0.280883 - 97.50 62.50 352.50 0.250801 - 97.50 62.50 357.50 0.217024 - 97.50 67.50 2.50 0.315487 - 97.50 67.50 7.50 0.301277 - 97.50 67.50 12.50 0.292089 - 97.50 67.50 17.50 0.194398 - 97.50 67.50 22.50 0.121828 - 97.50 67.50 27.50 0.0571467 - 97.50 67.50 32.50 0.0327666 - 97.50 67.50 37.50 0.0312142 - 97.50 67.50 42.50 0.0384044 - 97.50 67.50 47.50 0.0501735 - 97.50 67.50 52.50 0.0773158 - 97.50 67.50 57.50 0.116624 - 97.50 67.50 62.50 0.175925 - 97.50 67.50 67.50 0.330719 - 97.50 67.50 72.50 0.497872 - 97.50 67.50 77.50 0.614975 - 97.50 67.50 82.50 0.553665 - 97.50 67.50 87.50 0.423211 - 97.50 67.50 92.50 0.315487 - 97.50 67.50 97.50 0.301277 - 97.50 67.50 102.50 0.292089 - 97.50 67.50 107.50 0.194398 - 97.50 67.50 112.50 0.121828 - 97.50 67.50 117.50 0.0571466 - 97.50 67.50 122.50 0.0327665 - 97.50 67.50 127.50 0.0312141 - 97.50 67.50 132.50 0.0384044 - 97.50 67.50 137.50 0.0501734 - 97.50 67.50 142.50 0.0773157 - 97.50 67.50 147.50 0.116624 - 97.50 67.50 152.50 0.175925 - 97.50 67.50 157.50 0.330718 - 97.50 67.50 162.50 0.497872 - 97.50 67.50 167.50 0.614975 - 97.50 67.50 172.50 0.553665 - 97.50 67.50 177.50 0.423211 - 97.50 67.50 182.50 0.315487 - 97.50 67.50 187.50 0.301277 - 97.50 67.50 192.50 0.292089 - 97.50 67.50 197.50 0.194398 - 97.50 67.50 202.50 0.121828 - 97.50 67.50 207.50 0.0571467 - 97.50 67.50 212.50 0.0327665 - 97.50 67.50 217.50 0.0312141 - 97.50 67.50 222.50 0.0384044 - 97.50 67.50 227.50 0.0501734 - 97.50 67.50 232.50 0.0773158 - 97.50 67.50 237.50 0.116624 - 97.50 67.50 242.50 0.175925 - 97.50 67.50 247.50 0.330719 - 97.50 67.50 252.50 0.497872 - 97.50 67.50 257.50 0.614975 - 97.50 67.50 262.50 0.553665 - 97.50 67.50 267.50 0.423211 - 97.50 67.50 272.50 0.315487 - 97.50 67.50 277.50 0.301277 - 97.50 67.50 282.50 0.292089 - 97.50 67.50 287.50 0.194398 - 97.50 67.50 292.50 0.121828 - 97.50 67.50 297.50 0.0571467 - 97.50 67.50 302.50 0.0327666 - 97.50 67.50 307.50 0.0312142 - 97.50 67.50 312.50 0.0384044 - 97.50 67.50 317.50 0.0501735 - 97.50 67.50 322.50 0.0773158 - 97.50 67.50 327.50 0.116624 - 97.50 67.50 332.50 0.175925 - 97.50 67.50 337.50 0.330718 - 97.50 67.50 342.50 0.497872 - 97.50 67.50 347.50 0.614975 - 97.50 67.50 352.50 0.553666 - 97.50 67.50 357.50 0.423212 - 97.50 72.50 2.50 0.48194 - 97.50 72.50 7.50 0.497252 - 97.50 72.50 12.50 0.534204 - 97.50 72.50 17.50 0.402013 - 97.50 72.50 22.50 0.277815 - 97.50 72.50 27.50 0.20459 - 97.50 72.50 32.50 0.157031 - 97.50 72.50 37.50 0.14196 - 97.50 72.50 42.50 0.17526 - 97.50 72.50 47.50 0.226613 - 97.50 72.50 52.50 0.32551 - 97.50 72.50 57.50 0.420563 - 97.50 72.50 62.50 0.532979 - 97.50 72.50 67.50 0.68723 - 97.50 72.50 72.50 0.924236 - 97.50 72.50 77.50 1.02864 - 97.50 72.50 82.50 0.981031 - 97.50 72.50 87.50 0.692972 - 97.50 72.50 92.50 0.48194 - 97.50 72.50 97.50 0.497252 - 97.50 72.50 102.50 0.534203 - 97.50 72.50 107.50 0.402013 - 97.50 72.50 112.50 0.277814 - 97.50 72.50 117.50 0.20459 - 97.50 72.50 122.50 0.157031 - 97.50 72.50 127.50 0.14196 - 97.50 72.50 132.50 0.17526 - 97.50 72.50 137.50 0.226613 - 97.50 72.50 142.50 0.32551 - 97.50 72.50 147.50 0.420562 - 97.50 72.50 152.50 0.532978 - 97.50 72.50 157.50 0.68723 - 97.50 72.50 162.50 0.924236 - 97.50 72.50 167.50 1.02864 - 97.50 72.50 172.50 0.981031 - 97.50 72.50 177.50 0.692972 - 97.50 72.50 182.50 0.48194 - 97.50 72.50 187.50 0.497252 - 97.50 72.50 192.50 0.534204 - 97.50 72.50 197.50 0.402013 - 97.50 72.50 202.50 0.277814 - 97.50 72.50 207.50 0.20459 - 97.50 72.50 212.50 0.157031 - 97.50 72.50 217.50 0.14196 - 97.50 72.50 222.50 0.17526 - 97.50 72.50 227.50 0.226613 - 97.50 72.50 232.50 0.32551 - 97.50 72.50 237.50 0.420562 - 97.50 72.50 242.50 0.532979 - 97.50 72.50 247.50 0.68723 - 97.50 72.50 252.50 0.924236 - 97.50 72.50 257.50 1.02864 - 97.50 72.50 262.50 0.981031 - 97.50 72.50 267.50 0.692971 - 97.50 72.50 272.50 0.48194 - 97.50 72.50 277.50 0.497252 - 97.50 72.50 282.50 0.534204 - 97.50 72.50 287.50 0.402013 - 97.50 72.50 292.50 0.277814 - 97.50 72.50 297.50 0.20459 - 97.50 72.50 302.50 0.157031 - 97.50 72.50 307.50 0.14196 - 97.50 72.50 312.50 0.17526 - 97.50 72.50 317.50 0.226613 - 97.50 72.50 322.50 0.32551 - 97.50 72.50 327.50 0.420562 - 97.50 72.50 332.50 0.532978 - 97.50 72.50 337.50 0.68723 - 97.50 72.50 342.50 0.924235 - 97.50 72.50 347.50 1.02864 - 97.50 72.50 352.50 0.981032 - 97.50 72.50 357.50 0.692973 - 97.50 77.50 2.50 0.62136 - 97.50 77.50 7.50 0.727332 - 97.50 77.50 12.50 0.731978 - 97.50 77.50 17.50 0.655583 - 97.50 77.50 22.50 0.6064 - 97.50 77.50 27.50 0.511238 - 97.50 77.50 32.50 0.453532 - 97.50 77.50 37.50 0.497392 - 97.50 77.50 42.50 0.575054 - 97.50 77.50 47.50 0.744164 - 97.50 77.50 52.50 0.929732 - 97.50 77.50 57.50 1.0831 - 97.50 77.50 62.50 1.17616 - 97.50 77.50 67.50 1.25923 - 97.50 77.50 72.50 1.32676 - 97.50 77.50 77.50 1.36928 - 97.50 77.50 82.50 1.27733 - 97.50 77.50 87.50 0.887681 - 97.50 77.50 92.50 0.62136 - 97.50 77.50 97.50 0.727331 - 97.50 77.50 102.50 0.731978 - 97.50 77.50 107.50 0.655583 - 97.50 77.50 112.50 0.6064 - 97.50 77.50 117.50 0.511238 - 97.50 77.50 122.50 0.453531 - 97.50 77.50 127.50 0.497391 - 97.50 77.50 132.50 0.575054 - 97.50 77.50 137.50 0.744164 - 97.50 77.50 142.50 0.929732 - 97.50 77.50 147.50 1.0831 - 97.50 77.50 152.50 1.17616 - 97.50 77.50 157.50 1.25923 - 97.50 77.50 162.50 1.32676 - 97.50 77.50 167.50 1.36928 - 97.50 77.50 172.50 1.27734 - 97.50 77.50 177.50 0.887681 - 97.50 77.50 182.50 0.62136 - 97.50 77.50 187.50 0.727332 - 97.50 77.50 192.50 0.731978 - 97.50 77.50 197.50 0.655583 - 97.50 77.50 202.50 0.6064 - 97.50 77.50 207.50 0.511238 - 97.50 77.50 212.50 0.453531 - 97.50 77.50 217.50 0.497392 - 97.50 77.50 222.50 0.575054 - 97.50 77.50 227.50 0.744164 - 97.50 77.50 232.50 0.929732 - 97.50 77.50 237.50 1.0831 - 97.50 77.50 242.50 1.17616 - 97.50 77.50 247.50 1.25923 - 97.50 77.50 252.50 1.32676 - 97.50 77.50 257.50 1.36928 - 97.50 77.50 262.50 1.27734 - 97.50 77.50 267.50 0.887681 - 97.50 77.50 272.50 0.62136 - 97.50 77.50 277.50 0.727331 - 97.50 77.50 282.50 0.731978 - 97.50 77.50 287.50 0.655583 - 97.50 77.50 292.50 0.6064 - 97.50 77.50 297.50 0.511238 - 97.50 77.50 302.50 0.453531 - 97.50 77.50 307.50 0.497392 - 97.50 77.50 312.50 0.575054 - 97.50 77.50 317.50 0.744164 - 97.50 77.50 322.50 0.929731 - 97.50 77.50 327.50 1.0831 - 97.50 77.50 332.50 1.17616 - 97.50 77.50 337.50 1.25923 - 97.50 77.50 342.50 1.32676 - 97.50 77.50 347.50 1.36928 - 97.50 77.50 352.50 1.27733 - 97.50 77.50 357.50 0.887681 - 97.50 82.50 2.50 0.67853 - 97.50 82.50 7.50 0.846666 - 97.50 82.50 12.50 0.900572 - 97.50 82.50 17.50 0.985946 - 97.50 82.50 22.50 1.00252 - 97.50 82.50 27.50 0.994834 - 97.50 82.50 32.50 1.03003 - 97.50 82.50 37.50 1.15026 - 97.50 82.50 42.50 1.33209 - 97.50 82.50 47.50 1.5513 - 97.50 82.50 52.50 1.76806 - 97.50 82.50 57.50 1.89632 - 97.50 82.50 62.50 1.86928 - 97.50 82.50 67.50 1.78902 - 97.50 82.50 72.50 1.72625 - 97.50 82.50 77.50 1.54849 - 97.50 82.50 82.50 1.30382 - 97.50 82.50 87.50 0.974543 - 97.50 82.50 92.50 0.67853 - 97.50 82.50 97.50 0.846667 - 97.50 82.50 102.50 0.900572 - 97.50 82.50 107.50 0.985946 - 97.50 82.50 112.50 1.00252 - 97.50 82.50 117.50 0.994833 - 97.50 82.50 122.50 1.03003 - 97.50 82.50 127.50 1.15026 - 97.50 82.50 132.50 1.33209 - 97.50 82.50 137.50 1.5513 - 97.50 82.50 142.50 1.76806 - 97.50 82.50 147.50 1.89632 - 97.50 82.50 152.50 1.86928 - 97.50 82.50 157.50 1.78902 - 97.50 82.50 162.50 1.72625 - 97.50 82.50 167.50 1.54849 - 97.50 82.50 172.50 1.30382 - 97.50 82.50 177.50 0.974543 - 97.50 82.50 182.50 0.67853 - 97.50 82.50 187.50 0.846666 - 97.50 82.50 192.50 0.900573 - 97.50 82.50 197.50 0.985947 - 97.50 82.50 202.50 1.00253 - 97.50 82.50 207.50 0.994833 - 97.50 82.50 212.50 1.03003 - 97.50 82.50 217.50 1.15026 - 97.50 82.50 222.50 1.33209 - 97.50 82.50 227.50 1.5513 - 97.50 82.50 232.50 1.76806 - 97.50 82.50 237.50 1.89632 - 97.50 82.50 242.50 1.86928 - 97.50 82.50 247.50 1.78902 - 97.50 82.50 252.50 1.72625 - 97.50 82.50 257.50 1.54849 - 97.50 82.50 262.50 1.30382 - 97.50 82.50 267.50 0.974541 - 97.50 82.50 272.50 0.67853 - 97.50 82.50 277.50 0.846666 - 97.50 82.50 282.50 0.900572 - 97.50 82.50 287.50 0.985946 - 97.50 82.50 292.50 1.00253 - 97.50 82.50 297.50 0.994834 - 97.50 82.50 302.50 1.03003 - 97.50 82.50 307.50 1.15026 - 97.50 82.50 312.50 1.33209 - 97.50 82.50 317.50 1.5513 - 97.50 82.50 322.50 1.76806 - 97.50 82.50 327.50 1.89632 - 97.50 82.50 332.50 1.86928 - 97.50 82.50 337.50 1.78902 - 97.50 82.50 342.50 1.72625 - 97.50 82.50 347.50 1.54849 - 97.50 82.50 352.50 1.30382 - 97.50 82.50 357.50 0.974544 - 97.50 87.50 2.50 0.675975 - 97.50 87.50 7.50 0.83902 - 97.50 87.50 12.50 1.13153 - 97.50 87.50 17.50 1.23448 - 97.50 87.50 22.50 1.41026 - 97.50 87.50 27.50 1.54273 - 97.50 87.50 32.50 1.63603 - 97.50 87.50 37.50 1.78035 - 97.50 87.50 42.50 1.9585 - 97.50 87.50 47.50 2.14012 - 97.50 87.50 52.50 2.2667 - 97.50 87.50 57.50 2.22374 - 97.50 87.50 62.50 2.09116 - 97.50 87.50 67.50 1.9414 - 97.50 87.50 72.50 1.72113 - 97.50 87.50 77.50 1.53291 - 97.50 87.50 82.50 1.30054 - 97.50 87.50 87.50 0.904598 - 97.50 87.50 92.50 0.675975 - 97.50 87.50 97.50 0.83902 - 97.50 87.50 102.50 1.13152 - 97.50 87.50 107.50 1.23448 - 97.50 87.50 112.50 1.41026 - 97.50 87.50 117.50 1.54273 - 97.50 87.50 122.50 1.63603 - 97.50 87.50 127.50 1.78035 - 97.50 87.50 132.50 1.95851 - 97.50 87.50 137.50 2.14012 - 97.50 87.50 142.50 2.26669 - 97.50 87.50 147.50 2.22374 - 97.50 87.50 152.50 2.09116 - 97.50 87.50 157.50 1.9414 - 97.50 87.50 162.50 1.72113 - 97.50 87.50 167.50 1.53291 - 97.50 87.50 172.50 1.30055 - 97.50 87.50 177.50 0.904599 - 97.50 87.50 182.50 0.675975 - 97.50 87.50 187.50 0.83902 - 97.50 87.50 192.50 1.13153 - 97.50 87.50 197.50 1.23448 - 97.50 87.50 202.50 1.41026 - 97.50 87.50 207.50 1.54273 - 97.50 87.50 212.50 1.63603 - 97.50 87.50 217.50 1.78035 - 97.50 87.50 222.50 1.95851 - 97.50 87.50 227.50 2.14012 - 97.50 87.50 232.50 2.26669 - 97.50 87.50 237.50 2.22374 - 97.50 87.50 242.50 2.09116 - 97.50 87.50 247.50 1.9414 - 97.50 87.50 252.50 1.72113 - 97.50 87.50 257.50 1.53291 - 97.50 87.50 262.50 1.30054 - 97.50 87.50 267.50 0.904598 - 97.50 87.50 272.50 0.675975 - 97.50 87.50 277.50 0.83902 - 97.50 87.50 282.50 1.13153 - 97.50 87.50 287.50 1.23448 - 97.50 87.50 292.50 1.41026 - 97.50 87.50 297.50 1.54273 - 97.50 87.50 302.50 1.63603 - 97.50 87.50 307.50 1.78035 - 97.50 87.50 312.50 1.9585 - 97.50 87.50 317.50 2.14012 - 97.50 87.50 322.50 2.26669 - 97.50 87.50 327.50 2.22374 - 97.50 87.50 332.50 2.09116 - 97.50 87.50 337.50 1.9414 - 97.50 87.50 342.50 1.72113 - 97.50 87.50 347.50 1.53291 - 97.50 87.50 352.50 1.30055 - 97.50 87.50 357.50 0.904599 - 97.50 92.50 2.50 0.773179 - 97.50 92.50 7.50 0.987353 - 97.50 92.50 12.50 1.3016 - 97.50 92.50 17.50 1.52023 - 97.50 92.50 22.50 1.70709 - 97.50 92.50 27.50 1.8763 - 97.50 92.50 32.50 2.00435 - 97.50 92.50 37.50 2.14417 - 97.50 92.50 42.50 2.24978 - 97.50 92.50 47.50 2.27582 - 97.50 92.50 52.50 2.24978 - 97.50 92.50 57.50 2.14417 - 97.50 92.50 62.50 2.00435 - 97.50 92.50 67.50 1.8763 - 97.50 92.50 72.50 1.70709 - 97.50 92.50 77.50 1.52023 - 97.50 92.50 82.50 1.3016 - 97.50 92.50 87.50 0.987354 - 97.50 92.50 92.50 0.773178 - 97.50 92.50 97.50 0.987353 - 97.50 92.50 102.50 1.3016 - 97.50 92.50 107.50 1.52023 - 97.50 92.50 112.50 1.70709 - 97.50 92.50 117.50 1.8763 - 97.50 92.50 122.50 2.00435 - 97.50 92.50 127.50 2.14417 - 97.50 92.50 132.50 2.24978 - 97.50 92.50 137.50 2.27582 - 97.50 92.50 142.50 2.24978 - 97.50 92.50 147.50 2.14417 - 97.50 92.50 152.50 2.00435 - 97.50 92.50 157.50 1.8763 - 97.50 92.50 162.50 1.70709 - 97.50 92.50 167.50 1.52023 - 97.50 92.50 172.50 1.3016 - 97.50 92.50 177.50 0.987355 - 97.50 92.50 182.50 0.773178 - 97.50 92.50 187.50 0.987353 - 97.50 92.50 192.50 1.3016 - 97.50 92.50 197.50 1.52023 - 97.50 92.50 202.50 1.70709 - 97.50 92.50 207.50 1.8763 - 97.50 92.50 212.50 2.00435 - 97.50 92.50 217.50 2.14417 - 97.50 92.50 222.50 2.24978 - 97.50 92.50 227.50 2.27582 - 97.50 92.50 232.50 2.24978 - 97.50 92.50 237.50 2.14417 - 97.50 92.50 242.50 2.00435 - 97.50 92.50 247.50 1.8763 - 97.50 92.50 252.50 1.70709 - 97.50 92.50 257.50 1.52023 - 97.50 92.50 262.50 1.3016 - 97.50 92.50 267.50 0.987354 - 97.50 92.50 272.50 0.773179 - 97.50 92.50 277.50 0.987353 - 97.50 92.50 282.50 1.3016 - 97.50 92.50 287.50 1.52023 - 97.50 92.50 292.50 1.70709 - 97.50 92.50 297.50 1.8763 - 97.50 92.50 302.50 2.00435 - 97.50 92.50 307.50 2.14417 - 97.50 92.50 312.50 2.24978 - 97.50 92.50 317.50 2.27582 - 97.50 92.50 322.50 2.24978 - 97.50 92.50 327.50 2.14417 - 97.50 92.50 332.50 2.00435 - 97.50 92.50 337.50 1.8763 - 97.50 92.50 342.50 1.70709 - 97.50 92.50 347.50 1.52023 - 97.50 92.50 352.50 1.3016 - 97.50 92.50 357.50 0.987356 - 97.50 97.50 2.50 0.675975 - 97.50 97.50 7.50 0.904599 - 97.50 97.50 12.50 1.30054 - 97.50 97.50 17.50 1.53291 - 97.50 97.50 22.50 1.72113 - 97.50 97.50 27.50 1.9414 - 97.50 97.50 32.50 2.09116 - 97.50 97.50 37.50 2.22374 - 97.50 97.50 42.50 2.26669 - 97.50 97.50 47.50 2.14012 - 97.50 97.50 52.50 1.95851 - 97.50 97.50 57.50 1.78035 - 97.50 97.50 62.50 1.63603 - 97.50 97.50 67.50 1.54273 - 97.50 97.50 72.50 1.41026 - 97.50 97.50 77.50 1.23448 - 97.50 97.50 82.50 1.13152 - 97.50 97.50 87.50 0.839019 - 97.50 97.50 92.50 0.675975 - 97.50 97.50 97.50 0.904598 - 97.50 97.50 102.50 1.30054 - 97.50 97.50 107.50 1.53291 - 97.50 97.50 112.50 1.72113 - 97.50 97.50 117.50 1.9414 - 97.50 97.50 122.50 2.09116 - 97.50 97.50 127.50 2.22374 - 97.50 97.50 132.50 2.2667 - 97.50 97.50 137.50 2.14012 - 97.50 97.50 142.50 1.95851 - 97.50 97.50 147.50 1.78035 - 97.50 97.50 152.50 1.63603 - 97.50 97.50 157.50 1.54273 - 97.50 97.50 162.50 1.41026 - 97.50 97.50 167.50 1.23448 - 97.50 97.50 172.50 1.13153 - 97.50 97.50 177.50 0.83902 - 97.50 97.50 182.50 0.675975 - 97.50 97.50 187.50 0.904599 - 97.50 97.50 192.50 1.30055 - 97.50 97.50 197.50 1.53291 - 97.50 97.50 202.50 1.72113 - 97.50 97.50 207.50 1.9414 - 97.50 97.50 212.50 2.09116 - 97.50 97.50 217.50 2.22374 - 97.50 97.50 222.50 2.2667 - 97.50 97.50 227.50 2.14012 - 97.50 97.50 232.50 1.95851 - 97.50 97.50 237.50 1.78035 - 97.50 97.50 242.50 1.63603 - 97.50 97.50 247.50 1.54273 - 97.50 97.50 252.50 1.41026 - 97.50 97.50 257.50 1.23448 - 97.50 97.50 262.50 1.13153 - 97.50 97.50 267.50 0.83902 - 97.50 97.50 272.50 0.675975 - 97.50 97.50 277.50 0.904599 - 97.50 97.50 282.50 1.30054 - 97.50 97.50 287.50 1.53291 - 97.50 97.50 292.50 1.72113 - 97.50 97.50 297.50 1.9414 - 97.50 97.50 302.50 2.09116 - 97.50 97.50 307.50 2.22374 - 97.50 97.50 312.50 2.26669 - 97.50 97.50 317.50 2.14012 - 97.50 97.50 322.50 1.95851 - 97.50 97.50 327.50 1.78035 - 97.50 97.50 332.50 1.63603 - 97.50 97.50 337.50 1.54273 - 97.50 97.50 342.50 1.41026 - 97.50 97.50 347.50 1.23448 - 97.50 97.50 352.50 1.13153 - 97.50 97.50 357.50 0.83902 - 97.50 102.50 2.50 0.678531 - 97.50 102.50 7.50 0.974542 - 97.50 102.50 12.50 1.30382 - 97.50 102.50 17.50 1.54849 - 97.50 102.50 22.50 1.72625 - 97.50 102.50 27.50 1.78902 - 97.50 102.50 32.50 1.86928 - 97.50 102.50 37.50 1.89632 - 97.50 102.50 42.50 1.76806 - 97.50 102.50 47.50 1.5513 - 97.50 102.50 52.50 1.33209 - 97.50 102.50 57.50 1.15026 - 97.50 102.50 62.50 1.03003 - 97.50 102.50 67.50 0.994834 - 97.50 102.50 72.50 1.00252 - 97.50 102.50 77.50 0.985946 - 97.50 102.50 82.50 0.900572 - 97.50 102.50 87.50 0.846666 - 97.50 102.50 92.50 0.678531 - 97.50 102.50 97.50 0.974543 - 97.50 102.50 102.50 1.30382 - 97.50 102.50 107.50 1.54849 - 97.50 102.50 112.50 1.72625 - 97.50 102.50 117.50 1.78902 - 97.50 102.50 122.50 1.86928 - 97.50 102.50 127.50 1.89632 - 97.50 102.50 132.50 1.76806 - 97.50 102.50 137.50 1.5513 - 97.50 102.50 142.50 1.33209 - 97.50 102.50 147.50 1.15026 - 97.50 102.50 152.50 1.03003 - 97.50 102.50 157.50 0.994834 - 97.50 102.50 162.50 1.00253 - 97.50 102.50 167.50 0.985947 - 97.50 102.50 172.50 0.900573 - 97.50 102.50 177.50 0.846666 - 97.50 102.50 182.50 0.678531 - 97.50 102.50 187.50 0.974543 - 97.50 102.50 192.50 1.30382 - 97.50 102.50 197.50 1.54849 - 97.50 102.50 202.50 1.72625 - 97.50 102.50 207.50 1.78902 - 97.50 102.50 212.50 1.86928 - 97.50 102.50 217.50 1.89632 - 97.50 102.50 222.50 1.76806 - 97.50 102.50 227.50 1.55131 - 97.50 102.50 232.50 1.33209 - 97.50 102.50 237.50 1.15026 - 97.50 102.50 242.50 1.03003 - 97.50 102.50 247.50 0.994834 - 97.50 102.50 252.50 1.00253 - 97.50 102.50 257.50 0.985947 - 97.50 102.50 262.50 0.900572 - 97.50 102.50 267.50 0.846667 - 97.50 102.50 272.50 0.678531 - 97.50 102.50 277.50 0.974542 - 97.50 102.50 282.50 1.30382 - 97.50 102.50 287.50 1.54849 - 97.50 102.50 292.50 1.72625 - 97.50 102.50 297.50 1.78902 - 97.50 102.50 302.50 1.86928 - 97.50 102.50 307.50 1.89632 - 97.50 102.50 312.50 1.76806 - 97.50 102.50 317.50 1.5513 - 97.50 102.50 322.50 1.33209 - 97.50 102.50 327.50 1.15026 - 97.50 102.50 332.50 1.03003 - 97.50 102.50 337.50 0.994834 - 97.50 102.50 342.50 1.00252 - 97.50 102.50 347.50 0.985947 - 97.50 102.50 352.50 0.900572 - 97.50 102.50 357.50 0.846666 - 97.50 107.50 2.50 0.62136 - 97.50 107.50 7.50 0.88768 - 97.50 107.50 12.50 1.27734 - 97.50 107.50 17.50 1.36928 - 97.50 107.50 22.50 1.32676 - 97.50 107.50 27.50 1.25923 - 97.50 107.50 32.50 1.17616 - 97.50 107.50 37.50 1.0831 - 97.50 107.50 42.50 0.929732 - 97.50 107.50 47.50 0.744164 - 97.50 107.50 52.50 0.575054 - 97.50 107.50 57.50 0.497392 - 97.50 107.50 62.50 0.453531 - 97.50 107.50 67.50 0.511238 - 97.50 107.50 72.50 0.6064 - 97.50 107.50 77.50 0.655583 - 97.50 107.50 82.50 0.731978 - 97.50 107.50 87.50 0.727331 - 97.50 107.50 92.50 0.62136 - 97.50 107.50 97.50 0.887681 - 97.50 107.50 102.50 1.27733 - 97.50 107.50 107.50 1.36928 - 97.50 107.50 112.50 1.32676 - 97.50 107.50 117.50 1.25923 - 97.50 107.50 122.50 1.17616 - 97.50 107.50 127.50 1.0831 - 97.50 107.50 132.50 0.929732 - 97.50 107.50 137.50 0.744164 - 97.50 107.50 142.50 0.575055 - 97.50 107.50 147.50 0.497392 - 97.50 107.50 152.50 0.453532 - 97.50 107.50 157.50 0.511238 - 97.50 107.50 162.50 0.6064 - 97.50 107.50 167.50 0.655583 - 97.50 107.50 172.50 0.731979 - 97.50 107.50 177.50 0.727332 - 97.50 107.50 182.50 0.62136 - 97.50 107.50 187.50 0.887681 - 97.50 107.50 192.50 1.27733 - 97.50 107.50 197.50 1.36928 - 97.50 107.50 202.50 1.32676 - 97.50 107.50 207.50 1.25923 - 97.50 107.50 212.50 1.17616 - 97.50 107.50 217.50 1.0831 - 97.50 107.50 222.50 0.929733 - 97.50 107.50 227.50 0.744164 - 97.50 107.50 232.50 0.575054 - 97.50 107.50 237.50 0.497392 - 97.50 107.50 242.50 0.453531 - 97.50 107.50 247.50 0.511238 - 97.50 107.50 252.50 0.6064 - 97.50 107.50 257.50 0.655583 - 97.50 107.50 262.50 0.731979 - 97.50 107.50 267.50 0.727332 - 97.50 107.50 272.50 0.62136 - 97.50 107.50 277.50 0.887681 - 97.50 107.50 282.50 1.27734 - 97.50 107.50 287.50 1.36928 - 97.50 107.50 292.50 1.32676 - 97.50 107.50 297.50 1.25923 - 97.50 107.50 302.50 1.17616 - 97.50 107.50 307.50 1.0831 - 97.50 107.50 312.50 0.929733 - 97.50 107.50 317.50 0.744164 - 97.50 107.50 322.50 0.575055 - 97.50 107.50 327.50 0.497392 - 97.50 107.50 332.50 0.453531 - 97.50 107.50 337.50 0.511238 - 97.50 107.50 342.50 0.606399 - 97.50 107.50 347.50 0.655583 - 97.50 107.50 352.50 0.731978 - 97.50 107.50 357.50 0.727332 - 97.50 112.50 2.50 0.48194 - 97.50 112.50 7.50 0.692972 - 97.50 112.50 12.50 0.981031 - 97.50 112.50 17.50 1.02864 - 97.50 112.50 22.50 0.924236 - 97.50 112.50 27.50 0.68723 - 97.50 112.50 32.50 0.532978 - 97.50 112.50 37.50 0.420562 - 97.50 112.50 42.50 0.32551 - 97.50 112.50 47.50 0.226613 - 97.50 112.50 52.50 0.17526 - 97.50 112.50 57.50 0.14196 - 97.50 112.50 62.50 0.157031 - 97.50 112.50 67.50 0.20459 - 97.50 112.50 72.50 0.277815 - 97.50 112.50 77.50 0.402013 - 97.50 112.50 82.50 0.534204 - 97.50 112.50 87.50 0.497252 - 97.50 112.50 92.50 0.48194 - 97.50 112.50 97.50 0.692972 - 97.50 112.50 102.50 0.981031 - 97.50 112.50 107.50 1.02864 - 97.50 112.50 112.50 0.924236 - 97.50 112.50 117.50 0.68723 - 97.50 112.50 122.50 0.532979 - 97.50 112.50 127.50 0.420563 - 97.50 112.50 132.50 0.32551 - 97.50 112.50 137.50 0.226613 - 97.50 112.50 142.50 0.17526 - 97.50 112.50 147.50 0.14196 - 97.50 112.50 152.50 0.157031 - 97.50 112.50 157.50 0.20459 - 97.50 112.50 162.50 0.277815 - 97.50 112.50 167.50 0.402013 - 97.50 112.50 172.50 0.534204 - 97.50 112.50 177.50 0.497252 - 97.50 112.50 182.50 0.48194 - 97.50 112.50 187.50 0.692972 - 97.50 112.50 192.50 0.981032 - 97.50 112.50 197.50 1.02864 - 97.50 112.50 202.50 0.924236 - 97.50 112.50 207.50 0.68723 - 97.50 112.50 212.50 0.532979 - 97.50 112.50 217.50 0.420563 - 97.50 112.50 222.50 0.32551 - 97.50 112.50 227.50 0.226613 - 97.50 112.50 232.50 0.17526 - 97.50 112.50 237.50 0.14196 - 97.50 112.50 242.50 0.157031 - 97.50 112.50 247.50 0.204591 - 97.50 112.50 252.50 0.277815 - 97.50 112.50 257.50 0.402013 - 97.50 112.50 262.50 0.534204 - 97.50 112.50 267.50 0.497251 - 97.50 112.50 272.50 0.48194 - 97.50 112.50 277.50 0.692972 - 97.50 112.50 282.50 0.981031 - 97.50 112.50 287.50 1.02864 - 97.50 112.50 292.50 0.924236 - 97.50 112.50 297.50 0.68723 - 97.50 112.50 302.50 0.532978 - 97.50 112.50 307.50 0.420563 - 97.50 112.50 312.50 0.32551 - 97.50 112.50 317.50 0.226613 - 97.50 112.50 322.50 0.17526 - 97.50 112.50 327.50 0.14196 - 97.50 112.50 332.50 0.157031 - 97.50 112.50 337.50 0.20459 - 97.50 112.50 342.50 0.277814 - 97.50 112.50 347.50 0.402013 - 97.50 112.50 352.50 0.534204 - 97.50 112.50 357.50 0.497252 - 97.50 117.50 2.50 0.315487 - 97.50 117.50 7.50 0.423211 - 97.50 117.50 12.50 0.553665 - 97.50 117.50 17.50 0.614974 - 97.50 117.50 22.50 0.497872 - 97.50 117.50 27.50 0.330718 - 97.50 117.50 32.50 0.175925 - 97.50 117.50 37.50 0.116624 - 97.50 117.50 42.50 0.0773156 - 97.50 117.50 47.50 0.0501733 - 97.50 117.50 52.50 0.0384043 - 97.50 117.50 57.50 0.0312141 - 97.50 117.50 62.50 0.0327665 - 97.50 117.50 67.50 0.0571466 - 97.50 117.50 72.50 0.121828 - 97.50 117.50 77.50 0.194398 - 97.50 117.50 82.50 0.292089 - 97.50 117.50 87.50 0.301277 - 97.50 117.50 92.50 0.315487 - 97.50 117.50 97.50 0.423211 - 97.50 117.50 102.50 0.553665 - 97.50 117.50 107.50 0.614974 - 97.50 117.50 112.50 0.497872 - 97.50 117.50 117.50 0.330718 - 97.50 117.50 122.50 0.175925 - 97.50 117.50 127.50 0.116624 - 97.50 117.50 132.50 0.0773156 - 97.50 117.50 137.50 0.0501733 - 97.50 117.50 142.50 0.0384043 - 97.50 117.50 147.50 0.0312141 - 97.50 117.50 152.50 0.0327665 - 97.50 117.50 157.50 0.0571467 - 97.50 117.50 162.50 0.121828 - 97.50 117.50 167.50 0.194398 - 97.50 117.50 172.50 0.292089 - 97.50 117.50 177.50 0.301277 - 97.50 117.50 182.50 0.315487 - 97.50 117.50 187.50 0.423211 - 97.50 117.50 192.50 0.553665 - 97.50 117.50 197.50 0.614975 - 97.50 117.50 202.50 0.497872 - 97.50 117.50 207.50 0.330718 - 97.50 117.50 212.50 0.175925 - 97.50 117.50 217.50 0.116624 - 97.50 117.50 222.50 0.0773157 - 97.50 117.50 227.50 0.0501734 - 97.50 117.50 232.50 0.0384043 - 97.50 117.50 237.50 0.0312141 - 97.50 117.50 242.50 0.0327665 - 97.50 117.50 247.50 0.0571467 - 97.50 117.50 252.50 0.121828 - 97.50 117.50 257.50 0.194398 - 97.50 117.50 262.50 0.292089 - 97.50 117.50 267.50 0.301277 - 97.50 117.50 272.50 0.315487 - 97.50 117.50 277.50 0.423211 - 97.50 117.50 282.50 0.553665 - 97.50 117.50 287.50 0.614974 - 97.50 117.50 292.50 0.497872 - 97.50 117.50 297.50 0.330718 - 97.50 117.50 302.50 0.175925 - 97.50 117.50 307.50 0.116624 - 97.50 117.50 312.50 0.0773156 - 97.50 117.50 317.50 0.0501734 - 97.50 117.50 322.50 0.0384043 - 97.50 117.50 327.50 0.0312141 - 97.50 117.50 332.50 0.0327665 - 97.50 117.50 337.50 0.0571465 - 97.50 117.50 342.50 0.121827 - 97.50 117.50 347.50 0.194398 - 97.50 117.50 352.50 0.292089 - 97.50 117.50 357.50 0.301277 - 97.50 122.50 2.50 0.199216 - 97.50 122.50 7.50 0.217024 - 97.50 122.50 12.50 0.250801 - 97.50 122.50 17.50 0.280883 - 97.50 122.50 22.50 0.202193 - 97.50 122.50 27.50 0.113871 - 97.50 122.50 32.50 0.0555579 - 97.50 122.50 37.50 0.0260342 - 97.50 122.50 42.50 0.0152566 - 97.50 122.50 47.50 0.00959741 - 97.50 122.50 52.50 0.00583438 - 97.50 122.50 57.50 0.00579802 - 97.50 122.50 62.50 0.007465 - 97.50 122.50 67.50 0.0177908 - 97.50 122.50 72.50 0.0389298 - 97.50 122.50 77.50 0.0733648 - 97.50 122.50 82.50 0.116617 - 97.50 122.50 87.50 0.164714 - 97.50 122.50 92.50 0.199216 - 97.50 122.50 97.50 0.217024 - 97.50 122.50 102.50 0.250801 - 97.50 122.50 107.50 0.280883 - 97.50 122.50 112.50 0.202193 - 97.50 122.50 117.50 0.113871 - 97.50 122.50 122.50 0.0555579 - 97.50 122.50 127.50 0.0260342 - 97.50 122.50 132.50 0.0152566 - 97.50 122.50 137.50 0.00959742 - 97.50 122.50 142.50 0.00583438 - 97.50 122.50 147.50 0.00579802 - 97.50 122.50 152.50 0.007465 - 97.50 122.50 157.50 0.0177908 - 97.50 122.50 162.50 0.0389298 - 97.50 122.50 167.50 0.0733649 - 97.50 122.50 172.50 0.116617 - 97.50 122.50 177.50 0.164714 - 97.50 122.50 182.50 0.199216 - 97.50 122.50 187.50 0.217024 - 97.50 122.50 192.50 0.250801 - 97.50 122.50 197.50 0.280883 - 97.50 122.50 202.50 0.202193 - 97.50 122.50 207.50 0.113871 - 97.50 122.50 212.50 0.055558 - 97.50 122.50 217.50 0.0260342 - 97.50 122.50 222.50 0.0152566 - 97.50 122.50 227.50 0.00959742 - 97.50 122.50 232.50 0.00583438 - 97.50 122.50 237.50 0.00579801 - 97.50 122.50 242.50 0.007465 - 97.50 122.50 247.50 0.0177908 - 97.50 122.50 252.50 0.0389299 - 97.50 122.50 257.50 0.0733649 - 97.50 122.50 262.50 0.116617 - 97.50 122.50 267.50 0.164714 - 97.50 122.50 272.50 0.199216 - 97.50 122.50 277.50 0.217024 - 97.50 122.50 282.50 0.250801 - 97.50 122.50 287.50 0.280883 - 97.50 122.50 292.50 0.202193 - 97.50 122.50 297.50 0.113871 - 97.50 122.50 302.50 0.0555579 - 97.50 122.50 307.50 0.0260342 - 97.50 122.50 312.50 0.0152566 - 97.50 122.50 317.50 0.00959742 - 97.50 122.50 322.50 0.00583438 - 97.50 122.50 327.50 0.00579802 - 97.50 122.50 332.50 0.00746498 - 97.50 122.50 337.50 0.0177907 - 97.50 122.50 342.50 0.0389297 - 97.50 122.50 347.50 0.0733647 - 97.50 122.50 352.50 0.116616 - 97.50 122.50 357.50 0.164714 - 97.50 127.50 2.50 0.129213 - 97.50 127.50 7.50 0.111751 - 97.50 127.50 12.50 0.0935965 - 97.50 127.50 17.50 0.0867767 - 97.50 127.50 22.50 0.070479 - 97.50 127.50 27.50 0.0308298 - 97.50 127.50 32.50 0.0185263 - 97.50 127.50 37.50 0.0147355 - 97.50 127.50 42.50 0.0146644 - 97.50 127.50 47.50 0.0224384 - 97.50 127.50 52.50 0.0189908 - 97.50 127.50 57.50 0.0224542 - 97.50 127.50 62.50 0.0202864 - 97.50 127.50 67.50 0.0130544 - 97.50 127.50 72.50 0.0154728 - 97.50 127.50 77.50 0.0279321 - 97.50 127.50 82.50 0.0447639 - 97.50 127.50 87.50 0.0878479 - 97.50 127.50 92.50 0.129213 - 97.50 127.50 97.50 0.111751 - 97.50 127.50 102.50 0.0935966 - 97.50 127.50 107.50 0.0867767 - 97.50 127.50 112.50 0.070479 - 97.50 127.50 117.50 0.0308298 - 97.50 127.50 122.50 0.0185263 - 97.50 127.50 127.50 0.0147355 - 97.50 127.50 132.50 0.0146644 - 97.50 127.50 137.50 0.0224384 - 97.50 127.50 142.50 0.0189908 - 97.50 127.50 147.50 0.0224542 - 97.50 127.50 152.50 0.0202864 - 97.50 127.50 157.50 0.0130544 - 97.50 127.50 162.50 0.0154728 - 97.50 127.50 167.50 0.0279321 - 97.50 127.50 172.50 0.0447639 - 97.50 127.50 177.50 0.0878478 - 97.50 127.50 182.50 0.129213 - 97.50 127.50 187.50 0.111751 - 97.50 127.50 192.50 0.0935966 - 97.50 127.50 197.50 0.0867767 - 97.50 127.50 202.50 0.0704791 - 97.50 127.50 207.50 0.0308298 - 97.50 127.50 212.50 0.0185263 - 97.50 127.50 217.50 0.0147355 - 97.50 127.50 222.50 0.0146644 - 97.50 127.50 227.50 0.0224384 - 97.50 127.50 232.50 0.0189907 - 97.50 127.50 237.50 0.0224542 - 97.50 127.50 242.50 0.0202864 - 97.50 127.50 247.50 0.0130544 - 97.50 127.50 252.50 0.0154728 - 97.50 127.50 257.50 0.0279321 - 97.50 127.50 262.50 0.0447639 - 97.50 127.50 267.50 0.087848 - 97.50 127.50 272.50 0.129213 - 97.50 127.50 277.50 0.111751 - 97.50 127.50 282.50 0.0935965 - 97.50 127.50 287.50 0.0867767 - 97.50 127.50 292.50 0.0704791 - 97.50 127.50 297.50 0.0308299 - 97.50 127.50 302.50 0.0185263 - 97.50 127.50 307.50 0.0147355 - 97.50 127.50 312.50 0.0146644 - 97.50 127.50 317.50 0.0224384 - 97.50 127.50 322.50 0.0189908 - 97.50 127.50 327.50 0.0224542 - 97.50 127.50 332.50 0.0202864 - 97.50 127.50 337.50 0.0130544 - 97.50 127.50 342.50 0.0154727 - 97.50 127.50 347.50 0.0279321 - 97.50 127.50 352.50 0.0447638 - 97.50 127.50 357.50 0.0878477 - 97.50 132.50 2.50 0.0716309 - 97.50 132.50 7.50 0.0584064 - 97.50 132.50 12.50 0.0318592 - 97.50 132.50 17.50 0.0220366 - 97.50 132.50 22.50 0.0254592 - 97.50 132.50 27.50 0.032397 - 97.50 132.50 32.50 0.0561325 - 97.50 132.50 37.50 0.0919799 - 97.50 132.50 42.50 0.119274 - 97.50 132.50 47.50 0.159105 - 97.50 132.50 52.50 0.152444 - 97.50 132.50 57.50 0.154174 - 97.50 132.50 62.50 0.112257 - 97.50 132.50 67.50 0.0685249 - 97.50 132.50 72.50 0.0465787 - 97.50 132.50 77.50 0.0264904 - 97.50 132.50 82.50 0.022551 - 97.50 132.50 87.50 0.0443058 - 97.50 132.50 92.50 0.0716309 - 97.50 132.50 97.50 0.0584064 - 97.50 132.50 102.50 0.0318592 - 97.50 132.50 107.50 0.0220366 - 97.50 132.50 112.50 0.0254592 - 97.50 132.50 117.50 0.032397 - 97.50 132.50 122.50 0.0561325 - 97.50 132.50 127.50 0.0919798 - 97.50 132.50 132.50 0.119274 - 97.50 132.50 137.50 0.159105 - 97.50 132.50 142.50 0.152444 - 97.50 132.50 147.50 0.154173 - 97.50 132.50 152.50 0.112257 - 97.50 132.50 157.50 0.0685249 - 97.50 132.50 162.50 0.0465786 - 97.50 132.50 167.50 0.0264904 - 97.50 132.50 172.50 0.022551 - 97.50 132.50 177.50 0.0443058 - 97.50 132.50 182.50 0.071631 - 97.50 132.50 187.50 0.0584064 - 97.50 132.50 192.50 0.0318592 - 97.50 132.50 197.50 0.0220366 - 97.50 132.50 202.50 0.0254592 - 97.50 132.50 207.50 0.032397 - 97.50 132.50 212.50 0.0561325 - 97.50 132.50 217.50 0.0919798 - 97.50 132.50 222.50 0.119274 - 97.50 132.50 227.50 0.159105 - 97.50 132.50 232.50 0.152444 - 97.50 132.50 237.50 0.154173 - 97.50 132.50 242.50 0.112257 - 97.50 132.50 247.50 0.0685249 - 97.50 132.50 252.50 0.0465786 - 97.50 132.50 257.50 0.0264903 - 97.50 132.50 262.50 0.022551 - 97.50 132.50 267.50 0.0443058 - 97.50 132.50 272.50 0.0716309 - 97.50 132.50 277.50 0.0584064 - 97.50 132.50 282.50 0.0318592 - 97.50 132.50 287.50 0.0220366 - 97.50 132.50 292.50 0.0254592 - 97.50 132.50 297.50 0.032397 - 97.50 132.50 302.50 0.0561325 - 97.50 132.50 307.50 0.0919799 - 97.50 132.50 312.50 0.119274 - 97.50 132.50 317.50 0.159105 - 97.50 132.50 322.50 0.152444 - 97.50 132.50 327.50 0.154173 - 97.50 132.50 332.50 0.112257 - 97.50 132.50 337.50 0.068525 - 97.50 132.50 342.50 0.0465788 - 97.50 132.50 347.50 0.0264904 - 97.50 132.50 352.50 0.0225509 - 97.50 132.50 357.50 0.0443057 - 97.50 137.50 2.50 0.0446415 - 97.50 137.50 7.50 0.0381159 - 97.50 137.50 12.50 0.0213814 - 97.50 137.50 17.50 0.0214015 - 97.50 137.50 22.50 0.0486706 - 97.50 137.50 27.50 0.117599 - 97.50 137.50 32.50 0.226915 - 97.50 137.50 37.50 0.425319 - 97.50 137.50 42.50 0.55622 - 97.50 137.50 47.50 0.715766 - 97.50 137.50 52.50 0.660828 - 97.50 137.50 57.50 0.595303 - 97.50 137.50 62.50 0.400611 - 97.50 137.50 67.50 0.26034 - 97.50 137.50 72.50 0.15642 - 97.50 137.50 77.50 0.0738832 - 97.50 137.50 82.50 0.0323235 - 97.50 137.50 87.50 0.0320298 - 97.50 137.50 92.50 0.0446415 - 97.50 137.50 97.50 0.0381159 - 97.50 137.50 102.50 0.0213814 - 97.50 137.50 107.50 0.0214015 - 97.50 137.50 112.50 0.0486705 - 97.50 137.50 117.50 0.117599 - 97.50 137.50 122.50 0.226915 - 97.50 137.50 127.50 0.425319 - 97.50 137.50 132.50 0.55622 - 97.50 137.50 137.50 0.715766 - 97.50 137.50 142.50 0.660828 - 97.50 137.50 147.50 0.595303 - 97.50 137.50 152.50 0.400611 - 97.50 137.50 157.50 0.26034 - 97.50 137.50 162.50 0.15642 - 97.50 137.50 167.50 0.0738832 - 97.50 137.50 172.50 0.0323235 - 97.50 137.50 177.50 0.0320298 - 97.50 137.50 182.50 0.0446415 - 97.50 137.50 187.50 0.0381159 - 97.50 137.50 192.50 0.0213814 - 97.50 137.50 197.50 0.0214015 - 97.50 137.50 202.50 0.0486705 - 97.50 137.50 207.50 0.117599 - 97.50 137.50 212.50 0.226915 - 97.50 137.50 217.50 0.425319 - 97.50 137.50 222.50 0.556219 - 97.50 137.50 227.50 0.715766 - 97.50 137.50 232.50 0.660828 - 97.50 137.50 237.50 0.595303 - 97.50 137.50 242.50 0.400611 - 97.50 137.50 247.50 0.26034 - 97.50 137.50 252.50 0.156419 - 97.50 137.50 257.50 0.0738831 - 97.50 137.50 262.50 0.0323235 - 97.50 137.50 267.50 0.0320299 - 97.50 137.50 272.50 0.0446415 - 97.50 137.50 277.50 0.0381159 - 97.50 137.50 282.50 0.0213814 - 97.50 137.50 287.50 0.0214015 - 97.50 137.50 292.50 0.0486705 - 97.50 137.50 297.50 0.117599 - 97.50 137.50 302.50 0.226915 - 97.50 137.50 307.50 0.425319 - 97.50 137.50 312.50 0.55622 - 97.50 137.50 317.50 0.715766 - 97.50 137.50 322.50 0.660828 - 97.50 137.50 327.50 0.595304 - 97.50 137.50 332.50 0.400611 - 97.50 137.50 337.50 0.26034 - 97.50 137.50 342.50 0.15642 - 97.50 137.50 347.50 0.0738834 - 97.50 137.50 352.50 0.0323236 - 97.50 137.50 357.50 0.0320298 - 97.50 142.50 2.50 0.0716309 - 97.50 142.50 7.50 0.064012 - 97.50 142.50 12.50 0.0483848 - 97.50 142.50 17.50 0.063983 - 97.50 142.50 22.50 0.141382 - 97.50 142.50 27.50 0.323247 - 97.50 142.50 32.50 0.661871 - 97.50 142.50 37.50 1.14566 - 97.50 142.50 42.50 1.64199 - 97.50 142.50 47.50 1.91265 - 97.50 142.50 52.50 1.82863 - 97.50 142.50 57.50 1.48065 - 97.50 142.50 62.50 1.03025 - 97.50 142.50 67.50 0.626981 - 97.50 142.50 72.50 0.356891 - 97.50 142.50 77.50 0.17185 - 97.50 142.50 82.50 0.0755905 - 97.50 142.50 87.50 0.0616514 - 97.50 142.50 92.50 0.071631 - 97.50 142.50 97.50 0.064012 - 97.50 142.50 102.50 0.0483848 - 97.50 142.50 107.50 0.063983 - 97.50 142.50 112.50 0.141382 - 97.50 142.50 117.50 0.323247 - 97.50 142.50 122.50 0.661871 - 97.50 142.50 127.50 1.14566 - 97.50 142.50 132.50 1.64199 - 97.50 142.50 137.50 1.91265 - 97.50 142.50 142.50 1.82863 - 97.50 142.50 147.50 1.48065 - 97.50 142.50 152.50 1.03025 - 97.50 142.50 157.50 0.626981 - 97.50 142.50 162.50 0.356891 - 97.50 142.50 167.50 0.17185 - 97.50 142.50 172.50 0.0755905 - 97.50 142.50 177.50 0.0616514 - 97.50 142.50 182.50 0.071631 - 97.50 142.50 187.50 0.0640119 - 97.50 142.50 192.50 0.0483848 - 97.50 142.50 197.50 0.063983 - 97.50 142.50 202.50 0.141382 - 97.50 142.50 207.50 0.323246 - 97.50 142.50 212.50 0.661871 - 97.50 142.50 217.50 1.14566 - 97.50 142.50 222.50 1.64199 - 97.50 142.50 227.50 1.91265 - 97.50 142.50 232.50 1.82863 - 97.50 142.50 237.50 1.48065 - 97.50 142.50 242.50 1.03025 - 97.50 142.50 247.50 0.62698 - 97.50 142.50 252.50 0.356891 - 97.50 142.50 257.50 0.17185 - 97.50 142.50 262.50 0.0755903 - 97.50 142.50 267.50 0.0616514 - 97.50 142.50 272.50 0.0716309 - 97.50 142.50 277.50 0.064012 - 97.50 142.50 282.50 0.0483848 - 97.50 142.50 287.50 0.0639829 - 97.50 142.50 292.50 0.141382 - 97.50 142.50 297.50 0.323246 - 97.50 142.50 302.50 0.661871 - 97.50 142.50 307.50 1.14566 - 97.50 142.50 312.50 1.64199 - 97.50 142.50 317.50 1.91265 - 97.50 142.50 322.50 1.82863 - 97.50 142.50 327.50 1.48065 - 97.50 142.50 332.50 1.03025 - 97.50 142.50 337.50 0.626981 - 97.50 142.50 342.50 0.356892 - 97.50 142.50 347.50 0.17185 - 97.50 142.50 352.50 0.0755906 - 97.50 142.50 357.50 0.0616513 - 97.50 147.50 2.50 0.129213 - 97.50 147.50 7.50 0.122909 - 97.50 147.50 12.50 0.116352 - 97.50 147.50 17.50 0.155519 - 97.50 147.50 22.50 0.293616 - 97.50 147.50 27.50 0.615072 - 97.50 147.50 32.50 1.21571 - 97.50 147.50 37.50 2.08558 - 97.50 147.50 42.50 2.958 - 97.50 147.50 47.50 3.47034 - 97.50 147.50 52.50 3.36985 - 97.50 147.50 57.50 2.70449 - 97.50 147.50 62.50 1.82953 - 97.50 147.50 67.50 1.10692 - 97.50 147.50 72.50 0.604254 - 97.50 147.50 77.50 0.292757 - 97.50 147.50 82.50 0.145218 - 97.50 147.50 87.50 0.118247 - 97.50 147.50 92.50 0.129213 - 97.50 147.50 97.50 0.122909 - 97.50 147.50 102.50 0.116352 - 97.50 147.50 107.50 0.155519 - 97.50 147.50 112.50 0.293616 - 97.50 147.50 117.50 0.615071 - 97.50 147.50 122.50 1.21571 - 97.50 147.50 127.50 2.08558 - 97.50 147.50 132.50 2.958 - 97.50 147.50 137.50 3.47034 - 97.50 147.50 142.50 3.36986 - 97.50 147.50 147.50 2.70449 - 97.50 147.50 152.50 1.82953 - 97.50 147.50 157.50 1.10692 - 97.50 147.50 162.50 0.604255 - 97.50 147.50 167.50 0.292757 - 97.50 147.50 172.50 0.145218 - 97.50 147.50 177.50 0.118247 - 97.50 147.50 182.50 0.129213 - 97.50 147.50 187.50 0.122909 - 97.50 147.50 192.50 0.116352 - 97.50 147.50 197.50 0.155519 - 97.50 147.50 202.50 0.293616 - 97.50 147.50 207.50 0.615071 - 97.50 147.50 212.50 1.21571 - 97.50 147.50 217.50 2.08558 - 97.50 147.50 222.50 2.958 - 97.50 147.50 227.50 3.47034 - 97.50 147.50 232.50 3.36986 - 97.50 147.50 237.50 2.70449 - 97.50 147.50 242.50 1.82953 - 97.50 147.50 247.50 1.10692 - 97.50 147.50 252.50 0.604254 - 97.50 147.50 257.50 0.292756 - 97.50 147.50 262.50 0.145218 - 97.50 147.50 267.50 0.118247 - 97.50 147.50 272.50 0.129213 - 97.50 147.50 277.50 0.122909 - 97.50 147.50 282.50 0.116352 - 97.50 147.50 287.50 0.155519 - 97.50 147.50 292.50 0.293615 - 97.50 147.50 297.50 0.615071 - 97.50 147.50 302.50 1.21571 - 97.50 147.50 307.50 2.08558 - 97.50 147.50 312.50 2.958 - 97.50 147.50 317.50 3.47034 - 97.50 147.50 322.50 3.36986 - 97.50 147.50 327.50 2.70449 - 97.50 147.50 332.50 1.82954 - 97.50 147.50 337.50 1.10692 - 97.50 147.50 342.50 0.604255 - 97.50 147.50 347.50 0.292757 - 97.50 147.50 352.50 0.145218 - 97.50 147.50 357.50 0.118247 - 97.50 152.50 2.50 0.199216 - 97.50 152.50 7.50 0.2097 - 97.50 152.50 12.50 0.236242 - 97.50 152.50 17.50 0.286681 - 97.50 152.50 22.50 0.442374 - 97.50 152.50 27.50 0.824262 - 97.50 152.50 32.50 1.55947 - 97.50 152.50 37.50 2.62026 - 97.50 152.50 42.50 3.6961 - 97.50 152.50 47.50 4.33348 - 97.50 152.50 52.50 4.20894 - 97.50 152.50 57.50 3.36237 - 97.50 152.50 62.50 2.31146 - 97.50 152.50 67.50 1.40693 - 97.50 152.50 72.50 0.763625 - 97.50 152.50 77.50 0.37138 - 97.50 152.50 82.50 0.210139 - 97.50 152.50 87.50 0.176545 - 97.50 152.50 92.50 0.199216 - 97.50 152.50 97.50 0.2097 - 97.50 152.50 102.50 0.236243 - 97.50 152.50 107.50 0.286681 - 97.50 152.50 112.50 0.442373 - 97.50 152.50 117.50 0.824262 - 97.50 152.50 122.50 1.55947 - 97.50 152.50 127.50 2.62026 - 97.50 152.50 132.50 3.69609 - 97.50 152.50 137.50 4.33348 - 97.50 152.50 142.50 4.20894 - 97.50 152.50 147.50 3.36236 - 97.50 152.50 152.50 2.31146 - 97.50 152.50 157.50 1.40693 - 97.50 152.50 162.50 0.763625 - 97.50 152.50 167.50 0.37138 - 97.50 152.50 172.50 0.210139 - 97.50 152.50 177.50 0.176545 - 97.50 152.50 182.50 0.199216 - 97.50 152.50 187.50 0.2097 - 97.50 152.50 192.50 0.236242 - 97.50 152.50 197.50 0.286681 - 97.50 152.50 202.50 0.442373 - 97.50 152.50 207.50 0.824261 - 97.50 152.50 212.50 1.55947 - 97.50 152.50 217.50 2.62026 - 97.50 152.50 222.50 3.69609 - 97.50 152.50 227.50 4.33348 - 97.50 152.50 232.50 4.20894 - 97.50 152.50 237.50 3.36236 - 97.50 152.50 242.50 2.31146 - 97.50 152.50 247.50 1.40692 - 97.50 152.50 252.50 0.763625 - 97.50 152.50 257.50 0.37138 - 97.50 152.50 262.50 0.210138 - 97.50 152.50 267.50 0.176545 - 97.50 152.50 272.50 0.199216 - 97.50 152.50 277.50 0.2097 - 97.50 152.50 282.50 0.236242 - 97.50 152.50 287.50 0.286681 - 97.50 152.50 292.50 0.442373 - 97.50 152.50 297.50 0.82426 - 97.50 152.50 302.50 1.55946 - 97.50 152.50 307.50 2.62026 - 97.50 152.50 312.50 3.69609 - 97.50 152.50 317.50 4.33348 - 97.50 152.50 322.50 4.20894 - 97.50 152.50 327.50 3.36236 - 97.50 152.50 332.50 2.31147 - 97.50 152.50 337.50 1.40693 - 97.50 152.50 342.50 0.763626 - 97.50 152.50 347.50 0.371381 - 97.50 152.50 352.50 0.210139 - 97.50 152.50 357.50 0.176545 - 97.50 157.50 2.50 0.315487 - 97.50 157.50 7.50 0.359669 - 97.50 157.50 12.50 0.414033 - 97.50 157.50 17.50 0.439566 - 97.50 157.50 22.50 0.532543 - 97.50 157.50 27.50 0.845019 - 97.50 157.50 32.50 1.43418 - 97.50 157.50 37.50 2.34686 - 97.50 157.50 42.50 3.27428 - 97.50 157.50 47.50 3.83254 - 97.50 157.50 52.50 3.63698 - 97.50 157.50 57.50 2.9516 - 97.50 157.50 62.50 2.08375 - 97.50 157.50 67.50 1.30889 - 97.50 157.50 72.50 0.716853 - 97.50 157.50 77.50 0.384715 - 97.50 157.50 82.50 0.256208 - 97.50 157.50 87.50 0.251243 - 97.50 157.50 92.50 0.315487 - 97.50 157.50 97.50 0.359669 - 97.50 157.50 102.50 0.414034 - 97.50 157.50 107.50 0.439566 - 97.50 157.50 112.50 0.532542 - 97.50 157.50 117.50 0.84502 - 97.50 157.50 122.50 1.43418 - 97.50 157.50 127.50 2.34686 - 97.50 157.50 132.50 3.27429 - 97.50 157.50 137.50 3.83254 - 97.50 157.50 142.50 3.63699 - 97.50 157.50 147.50 2.95161 - 97.50 157.50 152.50 2.08375 - 97.50 157.50 157.50 1.30889 - 97.50 157.50 162.50 0.716853 - 97.50 157.50 167.50 0.384715 - 97.50 157.50 172.50 0.256208 - 97.50 157.50 177.50 0.251242 - 97.50 157.50 182.50 0.315487 - 97.50 157.50 187.50 0.359668 - 97.50 157.50 192.50 0.414034 - 97.50 157.50 197.50 0.439566 - 97.50 157.50 202.50 0.532543 - 97.50 157.50 207.50 0.845019 - 97.50 157.50 212.50 1.43418 - 97.50 157.50 217.50 2.34686 - 97.50 157.50 222.50 3.27428 - 97.50 157.50 227.50 3.83254 - 97.50 157.50 232.50 3.63699 - 97.50 157.50 237.50 2.95161 - 97.50 157.50 242.50 2.08375 - 97.50 157.50 247.50 1.30889 - 97.50 157.50 252.50 0.716852 - 97.50 157.50 257.50 0.384715 - 97.50 157.50 262.50 0.256208 - 97.50 157.50 267.50 0.251243 - 97.50 157.50 272.50 0.315487 - 97.50 157.50 277.50 0.359668 - 97.50 157.50 282.50 0.414033 - 97.50 157.50 287.50 0.439566 - 97.50 157.50 292.50 0.532542 - 97.50 157.50 297.50 0.845018 - 97.50 157.50 302.50 1.43418 - 97.50 157.50 307.50 2.34685 - 97.50 157.50 312.50 3.27428 - 97.50 157.50 317.50 3.83255 - 97.50 157.50 322.50 3.63699 - 97.50 157.50 327.50 2.95161 - 97.50 157.50 332.50 2.08375 - 97.50 157.50 337.50 1.30889 - 97.50 157.50 342.50 0.716854 - 97.50 157.50 347.50 0.384716 - 97.50 157.50 352.50 0.256208 - 97.50 157.50 357.50 0.251242 - 97.50 162.50 2.50 0.48194 - 97.50 162.50 7.50 0.558621 - 97.50 162.50 12.50 0.594511 - 97.50 162.50 17.50 0.561809 - 97.50 162.50 22.50 0.527195 - 97.50 162.50 27.50 0.683606 - 97.50 162.50 32.50 1.07404 - 97.50 162.50 37.50 1.59739 - 97.50 162.50 42.50 2.13429 - 97.50 162.50 47.50 2.46548 - 97.50 162.50 52.50 2.38186 - 97.50 162.50 57.50 1.9798 - 97.50 162.50 62.50 1.47679 - 97.50 162.50 67.50 0.9487 - 97.50 162.50 72.50 0.561139 - 97.50 162.50 77.50 0.361966 - 97.50 162.50 82.50 0.288839 - 97.50 162.50 87.50 0.357811 - 97.50 162.50 92.50 0.48194 - 97.50 162.50 97.50 0.558621 - 97.50 162.50 102.50 0.594511 - 97.50 162.50 107.50 0.561809 - 97.50 162.50 112.50 0.527195 - 97.50 162.50 117.50 0.683606 - 97.50 162.50 122.50 1.07404 - 97.50 162.50 127.50 1.59739 - 97.50 162.50 132.50 2.13429 - 97.50 162.50 137.50 2.46548 - 97.50 162.50 142.50 2.38186 - 97.50 162.50 147.50 1.9798 - 97.50 162.50 152.50 1.47679 - 97.50 162.50 157.50 0.948701 - 97.50 162.50 162.50 0.56114 - 97.50 162.50 167.50 0.361966 - 97.50 162.50 172.50 0.288839 - 97.50 162.50 177.50 0.35781 - 97.50 162.50 182.50 0.48194 - 97.50 162.50 187.50 0.558621 - 97.50 162.50 192.50 0.594511 - 97.50 162.50 197.50 0.561809 - 97.50 162.50 202.50 0.527195 - 97.50 162.50 207.50 0.683605 - 97.50 162.50 212.50 1.07404 - 97.50 162.50 217.50 1.59739 - 97.50 162.50 222.50 2.13429 - 97.50 162.50 227.50 2.46548 - 97.50 162.50 232.50 2.38186 - 97.50 162.50 237.50 1.9798 - 97.50 162.50 242.50 1.47679 - 97.50 162.50 247.50 0.948699 - 97.50 162.50 252.50 0.561139 - 97.50 162.50 257.50 0.361966 - 97.50 162.50 262.50 0.288839 - 97.50 162.50 267.50 0.357811 - 97.50 162.50 272.50 0.48194 - 97.50 162.50 277.50 0.558621 - 97.50 162.50 282.50 0.594511 - 97.50 162.50 287.50 0.561809 - 97.50 162.50 292.50 0.527195 - 97.50 162.50 297.50 0.683605 - 97.50 162.50 302.50 1.07404 - 97.50 162.50 307.50 1.59739 - 97.50 162.50 312.50 2.13429 - 97.50 162.50 317.50 2.46548 - 97.50 162.50 322.50 2.38186 - 97.50 162.50 327.50 1.9798 - 97.50 162.50 332.50 1.47679 - 97.50 162.50 337.50 0.948702 - 97.50 162.50 342.50 0.56114 - 97.50 162.50 347.50 0.361967 - 97.50 162.50 352.50 0.288839 - 97.50 162.50 357.50 0.35781 - 97.50 167.50 2.50 0.621359 - 97.50 167.50 7.50 0.719669 - 97.50 167.50 12.50 0.680419 - 97.50 167.50 17.50 0.569854 - 97.50 167.50 22.50 0.453063 - 97.50 167.50 27.50 0.461889 - 97.50 167.50 32.50 0.61554 - 97.50 167.50 37.50 0.922204 - 97.50 167.50 42.50 1.18349 - 97.50 167.50 47.50 1.30137 - 97.50 167.50 52.50 1.24911 - 97.50 167.50 57.50 1.09058 - 97.50 167.50 62.50 0.843855 - 97.50 167.50 67.50 0.63043 - 97.50 167.50 72.50 0.432846 - 97.50 167.50 77.50 0.296244 - 97.50 167.50 82.50 0.281707 - 97.50 167.50 87.50 0.437086 - 97.50 167.50 92.50 0.62136 - 97.50 167.50 97.50 0.719669 - 97.50 167.50 102.50 0.68042 - 97.50 167.50 107.50 0.569854 - 97.50 167.50 112.50 0.453063 - 97.50 167.50 117.50 0.461889 - 97.50 167.50 122.50 0.61554 - 97.50 167.50 127.50 0.922204 - 97.50 167.50 132.50 1.18349 - 97.50 167.50 137.50 1.30137 - 97.50 167.50 142.50 1.24911 - 97.50 167.50 147.50 1.09058 - 97.50 167.50 152.50 0.843856 - 97.50 167.50 157.50 0.63043 - 97.50 167.50 162.50 0.432846 - 97.50 167.50 167.50 0.296244 - 97.50 167.50 172.50 0.281707 - 97.50 167.50 177.50 0.437085 - 97.50 167.50 182.50 0.62136 - 97.50 167.50 187.50 0.719669 - 97.50 167.50 192.50 0.68042 - 97.50 167.50 197.50 0.569854 - 97.50 167.50 202.50 0.453063 - 97.50 167.50 207.50 0.461889 - 97.50 167.50 212.50 0.61554 - 97.50 167.50 217.50 0.922204 - 97.50 167.50 222.50 1.18349 - 97.50 167.50 227.50 1.30137 - 97.50 167.50 232.50 1.2491 - 97.50 167.50 237.50 1.09058 - 97.50 167.50 242.50 0.843856 - 97.50 167.50 247.50 0.63043 - 97.50 167.50 252.50 0.432846 - 97.50 167.50 257.50 0.296244 - 97.50 167.50 262.50 0.281707 - 97.50 167.50 267.50 0.437086 - 97.50 167.50 272.50 0.62136 - 97.50 167.50 277.50 0.719669 - 97.50 167.50 282.50 0.680419 - 97.50 167.50 287.50 0.569854 - 97.50 167.50 292.50 0.453063 - 97.50 167.50 297.50 0.461889 - 97.50 167.50 302.50 0.615539 - 97.50 167.50 307.50 0.922204 - 97.50 167.50 312.50 1.18349 - 97.50 167.50 317.50 1.30137 - 97.50 167.50 322.50 1.24911 - 97.50 167.50 327.50 1.09058 - 97.50 167.50 332.50 0.843856 - 97.50 167.50 337.50 0.630431 - 97.50 167.50 342.50 0.432846 - 97.50 167.50 347.50 0.296244 - 97.50 167.50 352.50 0.281707 - 97.50 167.50 357.50 0.437085 - 97.50 172.50 2.50 0.67853 - 97.50 172.50 7.50 0.802952 - 97.50 172.50 12.50 0.697764 - 97.50 172.50 17.50 0.463163 - 97.50 172.50 22.50 0.300999 - 97.50 172.50 27.50 0.256711 - 97.50 172.50 32.50 0.31833 - 97.50 172.50 37.50 0.42707 - 97.50 172.50 42.50 0.525747 - 97.50 172.50 47.50 0.557421 - 97.50 172.50 52.50 0.538479 - 97.50 172.50 57.50 0.507191 - 97.50 172.50 62.50 0.449265 - 97.50 172.50 67.50 0.3552 - 97.50 172.50 72.50 0.248079 - 97.50 172.50 77.50 0.18001 - 97.50 172.50 82.50 0.242843 - 97.50 172.50 87.50 0.434478 - 97.50 172.50 92.50 0.67853 - 97.50 172.50 97.50 0.802952 - 97.50 172.50 102.50 0.697764 - 97.50 172.50 107.50 0.463163 - 97.50 172.50 112.50 0.300999 - 97.50 172.50 117.50 0.256711 - 97.50 172.50 122.50 0.318331 - 97.50 172.50 127.50 0.42707 - 97.50 172.50 132.50 0.525748 - 97.50 172.50 137.50 0.557421 - 97.50 172.50 142.50 0.538479 - 97.50 172.50 147.50 0.507191 - 97.50 172.50 152.50 0.449265 - 97.50 172.50 157.50 0.3552 - 97.50 172.50 162.50 0.248079 - 97.50 172.50 167.50 0.18001 - 97.50 172.50 172.50 0.242843 - 97.50 172.50 177.50 0.434478 - 97.50 172.50 182.50 0.67853 - 97.50 172.50 187.50 0.802952 - 97.50 172.50 192.50 0.697764 - 97.50 172.50 197.50 0.463163 - 97.50 172.50 202.50 0.300999 - 97.50 172.50 207.50 0.256712 - 97.50 172.50 212.50 0.31833 - 97.50 172.50 217.50 0.42707 - 97.50 172.50 222.50 0.525747 - 97.50 172.50 227.50 0.557421 - 97.50 172.50 232.50 0.538479 - 97.50 172.50 237.50 0.507191 - 97.50 172.50 242.50 0.449265 - 97.50 172.50 247.50 0.355199 - 97.50 172.50 252.50 0.248079 - 97.50 172.50 257.50 0.18001 - 97.50 172.50 262.50 0.242843 - 97.50 172.50 267.50 0.434478 - 97.50 172.50 272.50 0.67853 - 97.50 172.50 277.50 0.802952 - 97.50 172.50 282.50 0.697764 - 97.50 172.50 287.50 0.463163 - 97.50 172.50 292.50 0.300999 - 97.50 172.50 297.50 0.256711 - 97.50 172.50 302.50 0.31833 - 97.50 172.50 307.50 0.42707 - 97.50 172.50 312.50 0.525747 - 97.50 172.50 317.50 0.557421 - 97.50 172.50 322.50 0.538479 - 97.50 172.50 327.50 0.507191 - 97.50 172.50 332.50 0.449265 - 97.50 172.50 337.50 0.3552 - 97.50 172.50 342.50 0.248079 - 97.50 172.50 347.50 0.18001 - 97.50 172.50 352.50 0.242843 - 97.50 172.50 357.50 0.434477 - 97.50 177.50 2.50 0.675975 - 97.50 177.50 7.50 0.828531 - 97.50 177.50 12.50 0.678877 - 97.50 177.50 17.50 0.387056 - 97.50 177.50 22.50 0.179981 - 97.50 177.50 27.50 0.10043 - 97.50 177.50 32.50 0.0974297 - 97.50 177.50 37.50 0.134286 - 97.50 177.50 42.50 0.170958 - 97.50 177.50 47.50 0.185726 - 97.50 177.50 52.50 0.181188 - 97.50 177.50 57.50 0.173804 - 97.50 177.50 62.50 0.156501 - 97.50 177.50 67.50 0.130789 - 97.50 177.50 72.50 0.101157 - 97.50 177.50 77.50 0.0992541 - 97.50 177.50 82.50 0.175723 - 97.50 177.50 87.50 0.382539 - 97.50 177.50 92.50 0.675975 - 97.50 177.50 97.50 0.828531 - 97.50 177.50 102.50 0.678877 - 97.50 177.50 107.50 0.387057 - 97.50 177.50 112.50 0.179981 - 97.50 177.50 117.50 0.10043 - 97.50 177.50 122.50 0.0974297 - 97.50 177.50 127.50 0.134286 - 97.50 177.50 132.50 0.170959 - 97.50 177.50 137.50 0.185726 - 97.50 177.50 142.50 0.181188 - 97.50 177.50 147.50 0.173804 - 97.50 177.50 152.50 0.156501 - 97.50 177.50 157.50 0.130789 - 97.50 177.50 162.50 0.101157 - 97.50 177.50 167.50 0.099254 - 97.50 177.50 172.50 0.175723 - 97.50 177.50 177.50 0.382539 - 97.50 177.50 182.50 0.675975 - 97.50 177.50 187.50 0.828531 - 97.50 177.50 192.50 0.678877 - 97.50 177.50 197.50 0.387056 - 97.50 177.50 202.50 0.179981 - 97.50 177.50 207.50 0.10043 - 97.50 177.50 212.50 0.0974296 - 97.50 177.50 217.50 0.134286 - 97.50 177.50 222.50 0.170958 - 97.50 177.50 227.50 0.185726 - 97.50 177.50 232.50 0.181188 - 97.50 177.50 237.50 0.173803 - 97.50 177.50 242.50 0.156501 - 97.50 177.50 247.50 0.130789 - 97.50 177.50 252.50 0.101157 - 97.50 177.50 257.50 0.0992542 - 97.50 177.50 262.50 0.175723 - 97.50 177.50 267.50 0.38254 - 97.50 177.50 272.50 0.675975 - 97.50 177.50 277.50 0.828531 - 97.50 177.50 282.50 0.678877 - 97.50 177.50 287.50 0.387057 - 97.50 177.50 292.50 0.179981 - 97.50 177.50 297.50 0.10043 - 97.50 177.50 302.50 0.0974296 - 97.50 177.50 307.50 0.134286 - 97.50 177.50 312.50 0.170958 - 97.50 177.50 317.50 0.185726 - 97.50 177.50 322.50 0.181188 - 97.50 177.50 327.50 0.173803 - 97.50 177.50 332.50 0.156501 - 97.50 177.50 337.50 0.13079 - 97.50 177.50 342.50 0.101157 - 97.50 177.50 347.50 0.0992541 - 97.50 177.50 352.50 0.175723 - 97.50 177.50 357.50 0.382539 -102.50 2.50 2.50 0.393272 -102.50 2.50 7.50 0.149977 -102.50 2.50 12.50 0.0624685 -102.50 2.50 17.50 0.0485219 -102.50 2.50 22.50 0.0601603 -102.50 2.50 27.50 0.0760386 -102.50 2.50 32.50 0.083846 -102.50 2.50 37.50 0.084539 -102.50 2.50 42.50 0.083846 -102.50 2.50 47.50 0.0760385 -102.50 2.50 52.50 0.0601603 -102.50 2.50 57.50 0.0485219 -102.50 2.50 62.50 0.0624686 -102.50 2.50 67.50 0.149977 -102.50 2.50 72.50 0.393273 -102.50 2.50 77.50 0.773178 -102.50 2.50 82.50 0.980506 -102.50 2.50 87.50 0.773179 -102.50 2.50 92.50 0.393272 -102.50 2.50 97.50 0.149977 -102.50 2.50 102.50 0.0624685 -102.50 2.50 107.50 0.0485219 -102.50 2.50 112.50 0.0601603 -102.50 2.50 117.50 0.0760386 -102.50 2.50 122.50 0.083846 -102.50 2.50 127.50 0.084539 -102.50 2.50 132.50 0.083846 -102.50 2.50 137.50 0.0760385 -102.50 2.50 142.50 0.0601603 -102.50 2.50 147.50 0.0485219 -102.50 2.50 152.50 0.0624686 -102.50 2.50 157.50 0.149977 -102.50 2.50 162.50 0.393272 -102.50 2.50 167.50 0.773178 -102.50 2.50 172.50 0.980506 -102.50 2.50 177.50 0.773178 -102.50 2.50 182.50 0.393272 -102.50 2.50 187.50 0.149977 -102.50 2.50 192.50 0.0624685 -102.50 2.50 197.50 0.0485219 -102.50 2.50 202.50 0.0601603 -102.50 2.50 207.50 0.0760386 -102.50 2.50 212.50 0.083846 -102.50 2.50 217.50 0.084539 -102.50 2.50 222.50 0.083846 -102.50 2.50 227.50 0.0760385 -102.50 2.50 232.50 0.0601603 -102.50 2.50 237.50 0.0485219 -102.50 2.50 242.50 0.0624686 -102.50 2.50 247.50 0.149977 -102.50 2.50 252.50 0.393273 -102.50 2.50 257.50 0.773179 -102.50 2.50 262.50 0.980476 -102.50 2.50 267.50 0.773179 -102.50 2.50 272.50 0.393272 -102.50 2.50 277.50 0.149977 -102.50 2.50 282.50 0.0624685 -102.50 2.50 287.50 0.0485219 -102.50 2.50 292.50 0.0601603 -102.50 2.50 297.50 0.0760385 -102.50 2.50 302.50 0.083846 -102.50 2.50 307.50 0.084539 -102.50 2.50 312.50 0.083846 -102.50 2.50 317.50 0.0760385 -102.50 2.50 322.50 0.0601603 -102.50 2.50 327.50 0.048522 -102.50 2.50 332.50 0.0624685 -102.50 2.50 337.50 0.149977 -102.50 2.50 342.50 0.393272 -102.50 2.50 347.50 0.773178 -102.50 2.50 352.50 0.980476 -102.50 2.50 357.50 0.773179 -102.50 7.50 2.50 0.382022 -102.50 7.50 7.50 0.174053 -102.50 7.50 12.50 0.094188 -102.50 7.50 17.50 0.0946781 -102.50 7.50 22.50 0.129792 -102.50 7.50 27.50 0.162391 -102.50 7.50 32.50 0.172036 -102.50 7.50 37.50 0.179472 -102.50 7.50 42.50 0.190282 -102.50 7.50 47.50 0.183936 -102.50 7.50 52.50 0.149476 -102.50 7.50 57.50 0.109341 -102.50 7.50 62.50 0.0996234 -102.50 7.50 67.50 0.17905 -102.50 7.50 72.50 0.389548 -102.50 7.50 77.50 0.683201 -102.50 7.50 82.50 0.831023 -102.50 7.50 87.50 0.676164 -102.50 7.50 92.50 0.382022 -102.50 7.50 97.50 0.174053 -102.50 7.50 102.50 0.0941879 -102.50 7.50 107.50 0.0946781 -102.50 7.50 112.50 0.129792 -102.50 7.50 117.50 0.162391 -102.50 7.50 122.50 0.172036 -102.50 7.50 127.50 0.179472 -102.50 7.50 132.50 0.190282 -102.50 7.50 137.50 0.183936 -102.50 7.50 142.50 0.149476 -102.50 7.50 147.50 0.109341 -102.50 7.50 152.50 0.0996235 -102.50 7.50 157.50 0.17905 -102.50 7.50 162.50 0.389547 -102.50 7.50 167.50 0.683201 -102.50 7.50 172.50 0.831023 -102.50 7.50 177.50 0.676164 -102.50 7.50 182.50 0.382022 -102.50 7.50 187.50 0.174053 -102.50 7.50 192.50 0.094188 -102.50 7.50 197.50 0.0946782 -102.50 7.50 202.50 0.129792 -102.50 7.50 207.50 0.162391 -102.50 7.50 212.50 0.172036 -102.50 7.50 217.50 0.179472 -102.50 7.50 222.50 0.190282 -102.50 7.50 227.50 0.183936 -102.50 7.50 232.50 0.149476 -102.50 7.50 237.50 0.109341 -102.50 7.50 242.50 0.0996235 -102.50 7.50 247.50 0.17905 -102.50 7.50 252.50 0.389548 -102.50 7.50 257.50 0.683201 -102.50 7.50 262.50 0.831023 -102.50 7.50 267.50 0.676163 -102.50 7.50 272.50 0.382022 -102.50 7.50 277.50 0.174053 -102.50 7.50 282.50 0.094188 -102.50 7.50 287.50 0.0946782 -102.50 7.50 292.50 0.129792 -102.50 7.50 297.50 0.16239 -102.50 7.50 302.50 0.172036 -102.50 7.50 307.50 0.179472 -102.50 7.50 312.50 0.190282 -102.50 7.50 317.50 0.183936 -102.50 7.50 322.50 0.149476 -102.50 7.50 327.50 0.109341 -102.50 7.50 332.50 0.0996234 -102.50 7.50 337.50 0.179049 -102.50 7.50 342.50 0.389547 -102.50 7.50 347.50 0.6832 -102.50 7.50 352.50 0.831023 -102.50 7.50 357.50 0.676165 -102.50 12.50 2.50 0.429837 -102.50 12.50 7.50 0.235639 -102.50 12.50 12.50 0.159389 -102.50 12.50 17.50 0.192409 -102.50 12.50 22.50 0.31191 -102.50 12.50 27.50 0.42265 -102.50 12.50 32.50 0.487628 -102.50 12.50 37.50 0.532107 -102.50 12.50 42.50 0.575784 -102.50 12.50 47.50 0.572373 -102.50 12.50 52.50 0.488365 -102.50 12.50 57.50 0.365722 -102.50 12.50 62.50 0.28858 -102.50 12.50 67.50 0.333601 -102.50 12.50 72.50 0.516294 -102.50 12.50 77.50 0.72275 -102.50 12.50 82.50 0.813809 -102.50 12.50 87.50 0.676991 -102.50 12.50 92.50 0.429837 -102.50 12.50 97.50 0.235639 -102.50 12.50 102.50 0.159389 -102.50 12.50 107.50 0.192409 -102.50 12.50 112.50 0.31191 -102.50 12.50 117.50 0.42265 -102.50 12.50 122.50 0.487629 -102.50 12.50 127.50 0.532107 -102.50 12.50 132.50 0.575784 -102.50 12.50 137.50 0.572373 -102.50 12.50 142.50 0.488365 -102.50 12.50 147.50 0.365722 -102.50 12.50 152.50 0.288579 -102.50 12.50 157.50 0.333601 -102.50 12.50 162.50 0.516294 -102.50 12.50 167.50 0.722749 -102.50 12.50 172.50 0.813809 -102.50 12.50 177.50 0.676991 -102.50 12.50 182.50 0.429837 -102.50 12.50 187.50 0.235639 -102.50 12.50 192.50 0.159389 -102.50 12.50 197.50 0.192409 -102.50 12.50 202.50 0.31191 -102.50 12.50 207.50 0.422649 -102.50 12.50 212.50 0.487628 -102.50 12.50 217.50 0.532107 -102.50 12.50 222.50 0.575784 -102.50 12.50 227.50 0.572373 -102.50 12.50 232.50 0.488365 -102.50 12.50 237.50 0.365721 -102.50 12.50 242.50 0.288579 -102.50 12.50 247.50 0.333601 -102.50 12.50 252.50 0.516294 -102.50 12.50 257.50 0.72275 -102.50 12.50 262.50 0.813809 -102.50 12.50 267.50 0.67699 -102.50 12.50 272.50 0.429837 -102.50 12.50 277.50 0.235639 -102.50 12.50 282.50 0.159389 -102.50 12.50 287.50 0.192409 -102.50 12.50 292.50 0.31191 -102.50 12.50 297.50 0.422649 -102.50 12.50 302.50 0.487628 -102.50 12.50 307.50 0.532107 -102.50 12.50 312.50 0.575784 -102.50 12.50 317.50 0.572373 -102.50 12.50 322.50 0.488365 -102.50 12.50 327.50 0.365722 -102.50 12.50 332.50 0.288579 -102.50 12.50 337.50 0.333601 -102.50 12.50 342.50 0.516293 -102.50 12.50 347.50 0.722749 -102.50 12.50 352.50 0.813809 -102.50 12.50 357.50 0.676992 -102.50 17.50 2.50 0.422612 -102.50 17.50 7.50 0.257716 -102.50 17.50 12.50 0.20374 -102.50 17.50 17.50 0.326764 -102.50 17.50 22.50 0.533063 -102.50 17.50 27.50 0.755381 -102.50 17.50 32.50 0.958856 -102.50 17.50 37.50 1.19043 -102.50 17.50 42.50 1.35538 -102.50 17.50 47.50 1.34198 -102.50 17.50 52.50 1.12062 -102.50 17.50 57.50 0.813273 -102.50 17.50 62.50 0.549045 -102.50 17.50 67.50 0.523012 -102.50 17.50 72.50 0.664736 -102.50 17.50 77.50 0.793547 -102.50 17.50 82.50 0.752468 -102.50 17.50 87.50 0.61695 -102.50 17.50 92.50 0.422612 -102.50 17.50 97.50 0.257716 -102.50 17.50 102.50 0.20374 -102.50 17.50 107.50 0.326764 -102.50 17.50 112.50 0.533063 -102.50 17.50 117.50 0.755381 -102.50 17.50 122.50 0.958856 -102.50 17.50 127.50 1.19043 -102.50 17.50 132.50 1.35538 -102.50 17.50 137.50 1.34198 -102.50 17.50 142.50 1.12062 -102.50 17.50 147.50 0.813273 -102.50 17.50 152.50 0.549046 -102.50 17.50 157.50 0.523012 -102.50 17.50 162.50 0.664736 -102.50 17.50 167.50 0.793547 -102.50 17.50 172.50 0.752467 -102.50 17.50 177.50 0.61695 -102.50 17.50 182.50 0.422611 -102.50 17.50 187.50 0.257716 -102.50 17.50 192.50 0.20374 -102.50 17.50 197.50 0.326764 -102.50 17.50 202.50 0.533063 -102.50 17.50 207.50 0.755381 -102.50 17.50 212.50 0.958856 -102.50 17.50 217.50 1.19043 -102.50 17.50 222.50 1.35538 -102.50 17.50 227.50 1.34198 -102.50 17.50 232.50 1.12062 -102.50 17.50 237.50 0.813272 -102.50 17.50 242.50 0.549045 -102.50 17.50 247.50 0.523012 -102.50 17.50 252.50 0.664737 -102.50 17.50 257.50 0.793547 -102.50 17.50 262.50 0.752467 -102.50 17.50 267.50 0.61695 -102.50 17.50 272.50 0.422612 -102.50 17.50 277.50 0.257716 -102.50 17.50 282.50 0.20374 -102.50 17.50 287.50 0.326764 -102.50 17.50 292.50 0.533063 -102.50 17.50 297.50 0.755381 -102.50 17.50 302.50 0.958856 -102.50 17.50 307.50 1.19043 -102.50 17.50 312.50 1.35538 -102.50 17.50 317.50 1.34198 -102.50 17.50 322.50 1.12062 -102.50 17.50 327.50 0.813274 -102.50 17.50 332.50 0.549046 -102.50 17.50 337.50 0.523012 -102.50 17.50 342.50 0.664736 -102.50 17.50 347.50 0.793546 -102.50 17.50 352.50 0.752468 -102.50 17.50 357.50 0.616951 -102.50 22.50 2.50 0.335764 -102.50 22.50 7.50 0.222831 -102.50 22.50 12.50 0.242003 -102.50 22.50 17.50 0.416464 -102.50 22.50 22.50 0.700174 -102.50 22.50 27.50 1.16572 -102.50 22.50 32.50 1.72951 -102.50 22.50 37.50 2.2721 -102.50 22.50 42.50 2.64716 -102.50 22.50 47.50 2.53465 -102.50 22.50 52.50 1.99347 -102.50 22.50 57.50 1.39061 -102.50 22.50 62.50 0.936155 -102.50 22.50 67.50 0.688365 -102.50 22.50 72.50 0.689209 -102.50 22.50 77.50 0.734155 -102.50 22.50 82.50 0.634357 -102.50 22.50 87.50 0.477904 -102.50 22.50 92.50 0.335764 -102.50 22.50 97.50 0.222831 -102.50 22.50 102.50 0.242003 -102.50 22.50 107.50 0.416464 -102.50 22.50 112.50 0.700174 -102.50 22.50 117.50 1.16572 -102.50 22.50 122.50 1.72951 -102.50 22.50 127.50 2.2721 -102.50 22.50 132.50 2.64716 -102.50 22.50 137.50 2.53465 -102.50 22.50 142.50 1.99347 -102.50 22.50 147.50 1.39061 -102.50 22.50 152.50 0.936155 -102.50 22.50 157.50 0.688366 -102.50 22.50 162.50 0.689209 -102.50 22.50 167.50 0.734155 -102.50 22.50 172.50 0.634357 -102.50 22.50 177.50 0.477904 -102.50 22.50 182.50 0.335764 -102.50 22.50 187.50 0.222831 -102.50 22.50 192.50 0.242003 -102.50 22.50 197.50 0.416464 -102.50 22.50 202.50 0.700174 -102.50 22.50 207.50 1.16572 -102.50 22.50 212.50 1.72951 -102.50 22.50 217.50 2.2721 -102.50 22.50 222.50 2.64716 -102.50 22.50 227.50 2.53465 -102.50 22.50 232.50 1.99346 -102.50 22.50 237.50 1.39061 -102.50 22.50 242.50 0.936155 -102.50 22.50 247.50 0.688365 -102.50 22.50 252.50 0.689209 -102.50 22.50 257.50 0.734155 -102.50 22.50 262.50 0.634357 -102.50 22.50 267.50 0.477904 -102.50 22.50 272.50 0.335764 -102.50 22.50 277.50 0.222832 -102.50 22.50 282.50 0.242003 -102.50 22.50 287.50 0.416464 -102.50 22.50 292.50 0.700174 -102.50 22.50 297.50 1.16572 -102.50 22.50 302.50 1.72951 -102.50 22.50 307.50 2.2721 -102.50 22.50 312.50 2.64716 -102.50 22.50 317.50 2.53465 -102.50 22.50 322.50 1.99347 -102.50 22.50 327.50 1.39061 -102.50 22.50 332.50 0.936156 -102.50 22.50 337.50 0.688366 -102.50 22.50 342.50 0.689209 -102.50 22.50 347.50 0.734155 -102.50 22.50 352.50 0.634358 -102.50 22.50 357.50 0.477904 -102.50 27.50 2.50 0.232885 -102.50 27.50 7.50 0.181176 -102.50 27.50 12.50 0.263627 -102.50 27.50 17.50 0.487495 -102.50 27.50 22.50 0.931929 -102.50 27.50 27.50 1.63991 -102.50 27.50 32.50 2.51913 -102.50 27.50 37.50 3.43765 -102.50 27.50 42.50 4.0122 -102.50 27.50 47.50 3.91511 -102.50 27.50 52.50 3.02182 -102.50 27.50 57.50 1.9571 -102.50 27.50 62.50 1.162 -102.50 27.50 67.50 0.737812 -102.50 27.50 72.50 0.580271 -102.50 27.50 77.50 0.535546 -102.50 27.50 82.50 0.432572 -102.50 27.50 87.50 0.312195 -102.50 27.50 92.50 0.232885 -102.50 27.50 97.50 0.181176 -102.50 27.50 102.50 0.263627 -102.50 27.50 107.50 0.487495 -102.50 27.50 112.50 0.931929 -102.50 27.50 117.50 1.63991 -102.50 27.50 122.50 2.51913 -102.50 27.50 127.50 3.43765 -102.50 27.50 132.50 4.0122 -102.50 27.50 137.50 3.9151 -102.50 27.50 142.50 3.02182 -102.50 27.50 147.50 1.95711 -102.50 27.50 152.50 1.162 -102.50 27.50 157.50 0.737812 -102.50 27.50 162.50 0.580271 -102.50 27.50 167.50 0.535546 -102.50 27.50 172.50 0.432572 -102.50 27.50 177.50 0.312195 -102.50 27.50 182.50 0.232885 -102.50 27.50 187.50 0.181176 -102.50 27.50 192.50 0.263627 -102.50 27.50 197.50 0.487495 -102.50 27.50 202.50 0.931929 -102.50 27.50 207.50 1.63991 -102.50 27.50 212.50 2.51913 -102.50 27.50 217.50 3.43765 -102.50 27.50 222.50 4.0122 -102.50 27.50 227.50 3.91511 -102.50 27.50 232.50 3.02182 -102.50 27.50 237.50 1.9571 -102.50 27.50 242.50 1.162 -102.50 27.50 247.50 0.737812 -102.50 27.50 252.50 0.580271 -102.50 27.50 257.50 0.535545 -102.50 27.50 262.50 0.432572 -102.50 27.50 267.50 0.312195 -102.50 27.50 272.50 0.232885 -102.50 27.50 277.50 0.181176 -102.50 27.50 282.50 0.263627 -102.50 27.50 287.50 0.487495 -102.50 27.50 292.50 0.931929 -102.50 27.50 297.50 1.63991 -102.50 27.50 302.50 2.51912 -102.50 27.50 307.50 3.43765 -102.50 27.50 312.50 4.0122 -102.50 27.50 317.50 3.91511 -102.50 27.50 322.50 3.02182 -102.50 27.50 327.50 1.95711 -102.50 27.50 332.50 1.162 -102.50 27.50 337.50 0.737813 -102.50 27.50 342.50 0.580271 -102.50 27.50 347.50 0.535546 -102.50 27.50 352.50 0.432572 -102.50 27.50 357.50 0.312195 -102.50 32.50 2.50 0.164812 -102.50 32.50 7.50 0.15525 -102.50 32.50 12.50 0.261037 -102.50 32.50 17.50 0.521251 -102.50 32.50 22.50 1.02476 -102.50 32.50 27.50 1.79176 -102.50 32.50 32.50 2.84162 -102.50 32.50 37.50 3.97256 -102.50 32.50 42.50 4.62496 -102.50 32.50 47.50 4.37538 -102.50 32.50 52.50 3.37602 -102.50 32.50 57.50 2.13732 -102.50 32.50 62.50 1.17525 -102.50 32.50 67.50 0.630826 -102.50 32.50 72.50 0.399216 -102.50 32.50 77.50 0.303026 -102.50 32.50 82.50 0.235401 -102.50 32.50 87.50 0.190251 -102.50 32.50 92.50 0.164812 -102.50 32.50 97.50 0.15525 -102.50 32.50 102.50 0.261037 -102.50 32.50 107.50 0.521251 -102.50 32.50 112.50 1.02476 -102.50 32.50 117.50 1.79176 -102.50 32.50 122.50 2.84162 -102.50 32.50 127.50 3.97256 -102.50 32.50 132.50 4.62496 -102.50 32.50 137.50 4.37538 -102.50 32.50 142.50 3.37602 -102.50 32.50 147.50 2.13732 -102.50 32.50 152.50 1.17525 -102.50 32.50 157.50 0.630826 -102.50 32.50 162.50 0.399216 -102.50 32.50 167.50 0.303026 -102.50 32.50 172.50 0.235401 -102.50 32.50 177.50 0.190251 -102.50 32.50 182.50 0.164812 -102.50 32.50 187.50 0.15525 -102.50 32.50 192.50 0.261037 -102.50 32.50 197.50 0.521251 -102.50 32.50 202.50 1.02476 -102.50 32.50 207.50 1.79176 -102.50 32.50 212.50 2.84162 -102.50 32.50 217.50 3.97256 -102.50 32.50 222.50 4.62496 -102.50 32.50 227.50 4.37538 -102.50 32.50 232.50 3.37602 -102.50 32.50 237.50 2.13732 -102.50 32.50 242.50 1.17525 -102.50 32.50 247.50 0.630825 -102.50 32.50 252.50 0.399216 -102.50 32.50 257.50 0.303025 -102.50 32.50 262.50 0.235401 -102.50 32.50 267.50 0.190251 -102.50 32.50 272.50 0.164812 -102.50 32.50 277.50 0.15525 -102.50 32.50 282.50 0.261037 -102.50 32.50 287.50 0.521251 -102.50 32.50 292.50 1.02476 -102.50 32.50 297.50 1.79176 -102.50 32.50 302.50 2.84162 -102.50 32.50 307.50 3.97256 -102.50 32.50 312.50 4.62496 -102.50 32.50 317.50 4.37538 -102.50 32.50 322.50 3.37602 -102.50 32.50 327.50 2.13732 -102.50 32.50 332.50 1.17525 -102.50 32.50 337.50 0.630827 -102.50 32.50 342.50 0.399216 -102.50 32.50 347.50 0.303026 -102.50 32.50 352.50 0.235401 -102.50 32.50 357.50 0.190251 -102.50 37.50 2.50 0.110206 -102.50 37.50 7.50 0.113683 -102.50 37.50 12.50 0.203154 -102.50 37.50 17.50 0.433369 -102.50 37.50 22.50 0.816355 -102.50 37.50 27.50 1.42083 -102.50 37.50 32.50 2.31712 -102.50 37.50 37.50 3.27578 -102.50 37.50 42.50 3.77275 -102.50 37.50 47.50 3.54732 -102.50 37.50 52.50 2.73012 -102.50 37.50 57.50 1.68937 -102.50 37.50 62.50 0.88014 -102.50 37.50 67.50 0.42978 -102.50 37.50 72.50 0.221104 -102.50 37.50 77.50 0.137174 -102.50 37.50 82.50 0.106707 -102.50 37.50 87.50 0.112048 -102.50 37.50 92.50 0.110206 -102.50 37.50 97.50 0.113683 -102.50 37.50 102.50 0.203154 -102.50 37.50 107.50 0.433369 -102.50 37.50 112.50 0.816355 -102.50 37.50 117.50 1.42083 -102.50 37.50 122.50 2.31712 -102.50 37.50 127.50 3.27578 -102.50 37.50 132.50 3.77276 -102.50 37.50 137.50 3.54732 -102.50 37.50 142.50 2.73012 -102.50 37.50 147.50 1.68937 -102.50 37.50 152.50 0.880142 -102.50 37.50 157.50 0.429781 -102.50 37.50 162.50 0.221104 -102.50 37.50 167.50 0.137174 -102.50 37.50 172.50 0.106707 -102.50 37.50 177.50 0.112048 -102.50 37.50 182.50 0.110206 -102.50 37.50 187.50 0.113683 -102.50 37.50 192.50 0.203154 -102.50 37.50 197.50 0.43337 -102.50 37.50 202.50 0.816355 -102.50 37.50 207.50 1.42083 -102.50 37.50 212.50 2.31712 -102.50 37.50 217.50 3.27578 -102.50 37.50 222.50 3.77275 -102.50 37.50 227.50 3.54732 -102.50 37.50 232.50 2.73012 -102.50 37.50 237.50 1.68937 -102.50 37.50 242.50 0.88014 -102.50 37.50 247.50 0.42978 -102.50 37.50 252.50 0.221104 -102.50 37.50 257.50 0.137174 -102.50 37.50 262.50 0.106707 -102.50 37.50 267.50 0.112048 -102.50 37.50 272.50 0.110206 -102.50 37.50 277.50 0.113683 -102.50 37.50 282.50 0.203154 -102.50 37.50 287.50 0.433369 -102.50 37.50 292.50 0.816355 -102.50 37.50 297.50 1.42083 -102.50 37.50 302.50 2.31712 -102.50 37.50 307.50 3.27578 -102.50 37.50 312.50 3.77275 -102.50 37.50 317.50 3.54732 -102.50 37.50 322.50 2.73013 -102.50 37.50 327.50 1.68937 -102.50 37.50 332.50 0.880142 -102.50 37.50 337.50 0.429781 -102.50 37.50 342.50 0.221104 -102.50 37.50 347.50 0.137174 -102.50 37.50 352.50 0.106707 -102.50 37.50 357.50 0.112048 -102.50 42.50 2.50 0.0566768 -102.50 42.50 7.50 0.0580158 -102.50 42.50 12.50 0.114879 -102.50 42.50 17.50 0.26194 -102.50 42.50 22.50 0.479108 -102.50 42.50 27.50 0.817295 -102.50 42.50 32.50 1.35089 -102.50 42.50 37.50 1.882 -102.50 42.50 42.50 2.17351 -102.50 42.50 47.50 2.05118 -102.50 42.50 52.50 1.54855 -102.50 42.50 57.50 0.917943 -102.50 42.50 62.50 0.463989 -102.50 42.50 67.50 0.209316 -102.50 42.50 72.50 0.0906727 -102.50 42.50 77.50 0.0474071 -102.50 42.50 82.50 0.0415526 -102.50 42.50 87.50 0.0561728 -102.50 42.50 92.50 0.0566768 -102.50 42.50 97.50 0.0580158 -102.50 42.50 102.50 0.114879 -102.50 42.50 107.50 0.26194 -102.50 42.50 112.50 0.479108 -102.50 42.50 117.50 0.817295 -102.50 42.50 122.50 1.35089 -102.50 42.50 127.50 1.882 -102.50 42.50 132.50 2.17351 -102.50 42.50 137.50 2.05118 -102.50 42.50 142.50 1.54855 -102.50 42.50 147.50 0.917943 -102.50 42.50 152.50 0.463991 -102.50 42.50 157.50 0.209317 -102.50 42.50 162.50 0.0906727 -102.50 42.50 167.50 0.0474071 -102.50 42.50 172.50 0.0415526 -102.50 42.50 177.50 0.0561728 -102.50 42.50 182.50 0.0566768 -102.50 42.50 187.50 0.0580158 -102.50 42.50 192.50 0.11488 -102.50 42.50 197.50 0.26194 -102.50 42.50 202.50 0.479109 -102.50 42.50 207.50 0.817295 -102.50 42.50 212.50 1.35089 -102.50 42.50 217.50 1.882 -102.50 42.50 222.50 2.17351 -102.50 42.50 227.50 2.05118 -102.50 42.50 232.50 1.54855 -102.50 42.50 237.50 0.917943 -102.50 42.50 242.50 0.46399 -102.50 42.50 247.50 0.209316 -102.50 42.50 252.50 0.0906725 -102.50 42.50 257.50 0.0474071 -102.50 42.50 262.50 0.0415527 -102.50 42.50 267.50 0.0561728 -102.50 42.50 272.50 0.0566768 -102.50 42.50 277.50 0.0580158 -102.50 42.50 282.50 0.11488 -102.50 42.50 287.50 0.26194 -102.50 42.50 292.50 0.479108 -102.50 42.50 297.50 0.817295 -102.50 42.50 302.50 1.35088 -102.50 42.50 307.50 1.882 -102.50 42.50 312.50 2.17351 -102.50 42.50 317.50 2.05118 -102.50 42.50 322.50 1.54855 -102.50 42.50 327.50 0.917944 -102.50 42.50 332.50 0.463991 -102.50 42.50 337.50 0.209317 -102.50 42.50 342.50 0.0906729 -102.50 42.50 347.50 0.0474072 -102.50 42.50 352.50 0.0415526 -102.50 42.50 357.50 0.0561727 -102.50 47.50 2.50 0.0326857 -102.50 47.50 7.50 0.0252326 -102.50 47.50 12.50 0.0482187 -102.50 47.50 17.50 0.114671 -102.50 47.50 22.50 0.207285 -102.50 47.50 27.50 0.354763 -102.50 47.50 32.50 0.56974 -102.50 47.50 37.50 0.80583 -102.50 47.50 42.50 0.831385 -102.50 47.50 47.50 0.790582 -102.50 47.50 52.50 0.530006 -102.50 47.50 57.50 0.338105 -102.50 47.50 62.50 0.152569 -102.50 47.50 67.50 0.0711573 -102.50 47.50 72.50 0.0280381 -102.50 47.50 77.50 0.0157058 -102.50 47.50 82.50 0.0209977 -102.50 47.50 87.50 0.0345914 -102.50 47.50 92.50 0.0326857 -102.50 47.50 97.50 0.0252326 -102.50 47.50 102.50 0.0482187 -102.50 47.50 107.50 0.114671 -102.50 47.50 112.50 0.207285 -102.50 47.50 117.50 0.354763 -102.50 47.50 122.50 0.569741 -102.50 47.50 127.50 0.80583 -102.50 47.50 132.50 0.831385 -102.50 47.50 137.50 0.790582 -102.50 47.50 142.50 0.530006 -102.50 47.50 147.50 0.338105 -102.50 47.50 152.50 0.152569 -102.50 47.50 157.50 0.0711575 -102.50 47.50 162.50 0.0280381 -102.50 47.50 167.50 0.0157058 -102.50 47.50 172.50 0.0209977 -102.50 47.50 177.50 0.0345915 -102.50 47.50 182.50 0.0326857 -102.50 47.50 187.50 0.0252326 -102.50 47.50 192.50 0.0482188 -102.50 47.50 197.50 0.114671 -102.50 47.50 202.50 0.207285 -102.50 47.50 207.50 0.354763 -102.50 47.50 212.50 0.56974 -102.50 47.50 217.50 0.80583 -102.50 47.50 222.50 0.831385 -102.50 47.50 227.50 0.790582 -102.50 47.50 232.50 0.530006 -102.50 47.50 237.50 0.338105 -102.50 47.50 242.50 0.152569 -102.50 47.50 247.50 0.0711573 -102.50 47.50 252.50 0.0280381 -102.50 47.50 257.50 0.0157058 -102.50 47.50 262.50 0.0209977 -102.50 47.50 267.50 0.0345915 -102.50 47.50 272.50 0.0326857 -102.50 47.50 277.50 0.0252326 -102.50 47.50 282.50 0.0482187 -102.50 47.50 287.50 0.114671 -102.50 47.50 292.50 0.207285 -102.50 47.50 297.50 0.354763 -102.50 47.50 302.50 0.56974 -102.50 47.50 307.50 0.80583 -102.50 47.50 312.50 0.831385 -102.50 47.50 317.50 0.790582 -102.50 47.50 322.50 0.530007 -102.50 47.50 327.50 0.338105 -102.50 47.50 332.50 0.152569 -102.50 47.50 337.50 0.0711575 -102.50 47.50 342.50 0.0280381 -102.50 47.50 347.50 0.0157058 -102.50 47.50 352.50 0.0209977 -102.50 47.50 357.50 0.0345914 -102.50 52.50 2.50 0.0566768 -102.50 52.50 7.50 0.0285764 -102.50 52.50 12.50 0.0208145 -102.50 52.50 17.50 0.0357779 -102.50 52.50 22.50 0.0611132 -102.50 52.50 27.50 0.10454 -102.50 52.50 32.50 0.178877 -102.50 52.50 37.50 0.229345 -102.50 52.50 42.50 0.203694 -102.50 52.50 47.50 0.18153 -102.50 52.50 52.50 0.120229 -102.50 52.50 57.50 0.0746005 -102.50 52.50 62.50 0.040271 -102.50 52.50 67.50 0.0273174 -102.50 52.50 72.50 0.0274119 -102.50 52.50 77.50 0.0292254 -102.50 52.50 82.50 0.0384049 -102.50 52.50 87.50 0.057773 -102.50 52.50 92.50 0.0566767 -102.50 52.50 97.50 0.0285764 -102.50 52.50 102.50 0.0208145 -102.50 52.50 107.50 0.0357779 -102.50 52.50 112.50 0.0611132 -102.50 52.50 117.50 0.104541 -102.50 52.50 122.50 0.178877 -102.50 52.50 127.50 0.229346 -102.50 52.50 132.50 0.203694 -102.50 52.50 137.50 0.18153 -102.50 52.50 142.50 0.120229 -102.50 52.50 147.50 0.0746005 -102.50 52.50 152.50 0.040271 -102.50 52.50 157.50 0.0273174 -102.50 52.50 162.50 0.0274118 -102.50 52.50 167.50 0.0292254 -102.50 52.50 172.50 0.0384049 -102.50 52.50 177.50 0.0577729 -102.50 52.50 182.50 0.0566767 -102.50 52.50 187.50 0.0285764 -102.50 52.50 192.50 0.0208145 -102.50 52.50 197.50 0.0357779 -102.50 52.50 202.50 0.0611133 -102.50 52.50 207.50 0.104541 -102.50 52.50 212.50 0.178877 -102.50 52.50 217.50 0.229345 -102.50 52.50 222.50 0.203694 -102.50 52.50 227.50 0.181531 -102.50 52.50 232.50 0.120228 -102.50 52.50 237.50 0.0746004 -102.50 52.50 242.50 0.040271 -102.50 52.50 247.50 0.0273174 -102.50 52.50 252.50 0.0274119 -102.50 52.50 257.50 0.0292254 -102.50 52.50 262.50 0.0384049 -102.50 52.50 267.50 0.057773 -102.50 52.50 272.50 0.0566768 -102.50 52.50 277.50 0.0285764 -102.50 52.50 282.50 0.0208145 -102.50 52.50 287.50 0.0357779 -102.50 52.50 292.50 0.0611132 -102.50 52.50 297.50 0.104541 -102.50 52.50 302.50 0.178877 -102.50 52.50 307.50 0.229345 -102.50 52.50 312.50 0.203694 -102.50 52.50 317.50 0.181531 -102.50 52.50 322.50 0.120229 -102.50 52.50 327.50 0.0746005 -102.50 52.50 332.50 0.0402711 -102.50 52.50 337.50 0.0273174 -102.50 52.50 342.50 0.0274119 -102.50 52.50 347.50 0.0292254 -102.50 52.50 352.50 0.0384049 -102.50 52.50 357.50 0.0577729 -102.50 57.50 2.50 0.110206 -102.50 57.50 7.50 0.0572843 -102.50 57.50 12.50 0.0251331 -102.50 57.50 17.50 0.0139948 -102.50 57.50 22.50 0.0122309 -102.50 57.50 27.50 0.0188954 -102.50 57.50 32.50 0.0337436 -102.50 57.50 37.50 0.0344461 -102.50 57.50 42.50 0.0283886 -102.50 57.50 47.50 0.0295768 -102.50 57.50 52.50 0.0187428 -102.50 57.50 57.50 0.0189809 -102.50 57.50 62.50 0.0294673 -102.50 57.50 67.50 0.0591752 -102.50 57.50 72.50 0.108714 -102.50 57.50 77.50 0.118965 -102.50 57.50 82.50 0.11044 -102.50 57.50 87.50 0.111425 -102.50 57.50 92.50 0.110206 -102.50 57.50 97.50 0.0572843 -102.50 57.50 102.50 0.0251331 -102.50 57.50 107.50 0.0139949 -102.50 57.50 112.50 0.0122309 -102.50 57.50 117.50 0.0188955 -102.50 57.50 122.50 0.0337437 -102.50 57.50 127.50 0.0344461 -102.50 57.50 132.50 0.0283886 -102.50 57.50 137.50 0.0295768 -102.50 57.50 142.50 0.0187428 -102.50 57.50 147.50 0.0189809 -102.50 57.50 152.50 0.0294673 -102.50 57.50 157.50 0.0591751 -102.50 57.50 162.50 0.108714 -102.50 57.50 167.50 0.118965 -102.50 57.50 172.50 0.11044 -102.50 57.50 177.50 0.111425 -102.50 57.50 182.50 0.110206 -102.50 57.50 187.50 0.0572842 -102.50 57.50 192.50 0.0251331 -102.50 57.50 197.50 0.0139949 -102.50 57.50 202.50 0.0122309 -102.50 57.50 207.50 0.0188955 -102.50 57.50 212.50 0.0337436 -102.50 57.50 217.50 0.0344461 -102.50 57.50 222.50 0.0283886 -102.50 57.50 227.50 0.0295768 -102.50 57.50 232.50 0.0187428 -102.50 57.50 237.50 0.0189809 -102.50 57.50 242.50 0.0294673 -102.50 57.50 247.50 0.0591752 -102.50 57.50 252.50 0.108714 -102.50 57.50 257.50 0.118965 -102.50 57.50 262.50 0.11044 -102.50 57.50 267.50 0.111425 -102.50 57.50 272.50 0.110206 -102.50 57.50 277.50 0.0572843 -102.50 57.50 282.50 0.0251331 -102.50 57.50 287.50 0.0139948 -102.50 57.50 292.50 0.0122309 -102.50 57.50 297.50 0.0188954 -102.50 57.50 302.50 0.0337436 -102.50 57.50 307.50 0.034446 -102.50 57.50 312.50 0.0283886 -102.50 57.50 317.50 0.0295767 -102.50 57.50 322.50 0.0187428 -102.50 57.50 327.50 0.0189809 -102.50 57.50 332.50 0.0294673 -102.50 57.50 337.50 0.0591751 -102.50 57.50 342.50 0.108714 -102.50 57.50 347.50 0.118965 -102.50 57.50 352.50 0.11044 -102.50 57.50 357.50 0.111425 -102.50 62.50 2.50 0.164812 -102.50 62.50 7.50 0.0996033 -102.50 62.50 12.50 0.0584315 -102.50 62.50 17.50 0.0250433 -102.50 62.50 22.50 0.0141693 -102.50 62.50 27.50 0.00678968 -102.50 62.50 32.50 0.00479006 -102.50 62.50 37.50 0.00605563 -102.50 62.50 42.50 0.00969558 -102.50 62.50 47.50 0.0209546 -102.50 62.50 52.50 0.0338698 -102.50 62.50 57.50 0.0611152 -102.50 62.50 62.50 0.115047 -102.50 62.50 67.50 0.195316 -102.50 62.50 72.50 0.313438 -102.50 62.50 77.50 0.342066 -102.50 62.50 82.50 0.274664 -102.50 62.50 87.50 0.197583 -102.50 62.50 92.50 0.164812 -102.50 62.50 97.50 0.0996032 -102.50 62.50 102.50 0.0584314 -102.50 62.50 107.50 0.0250433 -102.50 62.50 112.50 0.0141693 -102.50 62.50 117.50 0.00678968 -102.50 62.50 122.50 0.00479006 -102.50 62.50 127.50 0.00605562 -102.50 62.50 132.50 0.00969557 -102.50 62.50 137.50 0.0209546 -102.50 62.50 142.50 0.0338698 -102.50 62.50 147.50 0.061115 -102.50 62.50 152.50 0.115046 -102.50 62.50 157.50 0.195315 -102.50 62.50 162.50 0.313437 -102.50 62.50 167.50 0.342067 -102.50 62.50 172.50 0.274664 -102.50 62.50 177.50 0.197583 -102.50 62.50 182.50 0.164812 -102.50 62.50 187.50 0.0996032 -102.50 62.50 192.50 0.0584314 -102.50 62.50 197.50 0.0250433 -102.50 62.50 202.50 0.0141692 -102.50 62.50 207.50 0.00678968 -102.50 62.50 212.50 0.00479006 -102.50 62.50 217.50 0.00605562 -102.50 62.50 222.50 0.00969557 -102.50 62.50 227.50 0.0209546 -102.50 62.50 232.50 0.0338698 -102.50 62.50 237.50 0.0611151 -102.50 62.50 242.50 0.115046 -102.50 62.50 247.50 0.195316 -102.50 62.50 252.50 0.313438 -102.50 62.50 257.50 0.342067 -102.50 62.50 262.50 0.274664 -102.50 62.50 267.50 0.197583 -102.50 62.50 272.50 0.164812 -102.50 62.50 277.50 0.0996033 -102.50 62.50 282.50 0.0584315 -102.50 62.50 287.50 0.0250433 -102.50 62.50 292.50 0.0141693 -102.50 62.50 297.50 0.00678968 -102.50 62.50 302.50 0.00479006 -102.50 62.50 307.50 0.00605562 -102.50 62.50 312.50 0.00969557 -102.50 62.50 317.50 0.0209546 -102.50 62.50 322.50 0.0338698 -102.50 62.50 327.50 0.061115 -102.50 62.50 332.50 0.115046 -102.50 62.50 337.50 0.195315 -102.50 62.50 342.50 0.313437 -102.50 62.50 347.50 0.342067 -102.50 62.50 352.50 0.274664 -102.50 62.50 357.50 0.197583 -102.50 67.50 2.50 0.232885 -102.50 67.50 7.50 0.170831 -102.50 67.50 12.50 0.14265 -102.50 67.50 17.50 0.081232 -102.50 67.50 22.50 0.0472481 -102.50 67.50 27.50 0.0230586 -102.50 67.50 32.50 0.0162894 -102.50 67.50 37.50 0.0216496 -102.50 67.50 42.50 0.0408355 -102.50 67.50 47.50 0.0766609 -102.50 67.50 52.50 0.148229 -102.50 67.50 57.50 0.2312 -102.50 67.50 62.50 0.341814 -102.50 67.50 67.50 0.548329 -102.50 67.50 72.50 0.680786 -102.50 67.50 77.50 0.734244 -102.50 67.50 82.50 0.549133 -102.50 67.50 87.50 0.342791 -102.50 67.50 92.50 0.232885 -102.50 67.50 97.50 0.17083 -102.50 67.50 102.50 0.14265 -102.50 67.50 107.50 0.0812319 -102.50 67.50 112.50 0.0472481 -102.50 67.50 117.50 0.0230585 -102.50 67.50 122.50 0.0162894 -102.50 67.50 127.50 0.0216496 -102.50 67.50 132.50 0.0408354 -102.50 67.50 137.50 0.0766607 -102.50 67.50 142.50 0.148229 -102.50 67.50 147.50 0.231199 -102.50 67.50 152.50 0.341814 -102.50 67.50 157.50 0.548328 -102.50 67.50 162.50 0.680786 -102.50 67.50 167.50 0.734244 -102.50 67.50 172.50 0.549133 -102.50 67.50 177.50 0.342791 -102.50 67.50 182.50 0.232885 -102.50 67.50 187.50 0.17083 -102.50 67.50 192.50 0.14265 -102.50 67.50 197.50 0.0812319 -102.50 67.50 202.50 0.0472481 -102.50 67.50 207.50 0.0230586 -102.50 67.50 212.50 0.0162894 -102.50 67.50 217.50 0.0216496 -102.50 67.50 222.50 0.0408354 -102.50 67.50 227.50 0.0766607 -102.50 67.50 232.50 0.148229 -102.50 67.50 237.50 0.2312 -102.50 67.50 242.50 0.341814 -102.50 67.50 247.50 0.548328 -102.50 67.50 252.50 0.680787 -102.50 67.50 257.50 0.734243 -102.50 67.50 262.50 0.549132 -102.50 67.50 267.50 0.34279 -102.50 67.50 272.50 0.232885 -102.50 67.50 277.50 0.17083 -102.50 67.50 282.50 0.14265 -102.50 67.50 287.50 0.081232 -102.50 67.50 292.50 0.0472481 -102.50 67.50 297.50 0.0230586 -102.50 67.50 302.50 0.0162894 -102.50 67.50 307.50 0.0216496 -102.50 67.50 312.50 0.0408355 -102.50 67.50 317.50 0.0766608 -102.50 67.50 322.50 0.148229 -102.50 67.50 327.50 0.231199 -102.50 67.50 332.50 0.341814 -102.50 67.50 337.50 0.548328 -102.50 67.50 342.50 0.680787 -102.50 67.50 347.50 0.734244 -102.50 67.50 352.50 0.549133 -102.50 67.50 357.50 0.342791 -102.50 72.50 2.50 0.335765 -102.50 72.50 7.50 0.307317 -102.50 72.50 12.50 0.275849 -102.50 72.50 17.50 0.18965 -102.50 72.50 22.50 0.145181 -102.50 72.50 27.50 0.108925 -102.50 72.50 32.50 0.0801606 -102.50 72.50 37.50 0.0967443 -102.50 72.50 42.50 0.176889 -102.50 72.50 47.50 0.2981 -102.50 72.50 52.50 0.485745 -102.50 72.50 57.50 0.667436 -102.50 72.50 62.50 0.826735 -102.50 72.50 67.50 1.04726 -102.50 72.50 72.50 1.26043 -102.50 72.50 77.50 1.17708 -102.50 72.50 82.50 0.892334 -102.50 72.50 87.50 0.541781 -102.50 72.50 92.50 0.335764 -102.50 72.50 97.50 0.307317 -102.50 72.50 102.50 0.275848 -102.50 72.50 107.50 0.18965 -102.50 72.50 112.50 0.145181 -102.50 72.50 117.50 0.108925 -102.50 72.50 122.50 0.0801605 -102.50 72.50 127.50 0.0967442 -102.50 72.50 132.50 0.176889 -102.50 72.50 137.50 0.2981 -102.50 72.50 142.50 0.485745 -102.50 72.50 147.50 0.667436 -102.50 72.50 152.50 0.826734 -102.50 72.50 157.50 1.04726 -102.50 72.50 162.50 1.26043 -102.50 72.50 167.50 1.17708 -102.50 72.50 172.50 0.892335 -102.50 72.50 177.50 0.541781 -102.50 72.50 182.50 0.335764 -102.50 72.50 187.50 0.307317 -102.50 72.50 192.50 0.275848 -102.50 72.50 197.50 0.18965 -102.50 72.50 202.50 0.145181 -102.50 72.50 207.50 0.108925 -102.50 72.50 212.50 0.0801606 -102.50 72.50 217.50 0.0967441 -102.50 72.50 222.50 0.176889 -102.50 72.50 227.50 0.2981 -102.50 72.50 232.50 0.485745 -102.50 72.50 237.50 0.667436 -102.50 72.50 242.50 0.826734 -102.50 72.50 247.50 1.04726 -102.50 72.50 252.50 1.26043 -102.50 72.50 257.50 1.17708 -102.50 72.50 262.50 0.892334 -102.50 72.50 267.50 0.541781 -102.50 72.50 272.50 0.335764 -102.50 72.50 277.50 0.307317 -102.50 72.50 282.50 0.275849 -102.50 72.50 287.50 0.18965 -102.50 72.50 292.50 0.145181 -102.50 72.50 297.50 0.108925 -102.50 72.50 302.50 0.0801606 -102.50 72.50 307.50 0.0967442 -102.50 72.50 312.50 0.176889 -102.50 72.50 317.50 0.2981 -102.50 72.50 322.50 0.485745 -102.50 72.50 327.50 0.667436 -102.50 72.50 332.50 0.826734 -102.50 72.50 337.50 1.04726 -102.50 72.50 342.50 1.26043 -102.50 72.50 347.50 1.17708 -102.50 72.50 352.50 0.892335 -102.50 72.50 357.50 0.541782 -102.50 77.50 2.50 0.422612 -102.50 77.50 7.50 0.489081 -102.50 77.50 12.50 0.395592 -102.50 77.50 17.50 0.383139 -102.50 77.50 22.50 0.360093 -102.50 77.50 27.50 0.282231 -102.50 77.50 32.50 0.272807 -102.50 77.50 37.50 0.380141 -102.50 77.50 42.50 0.57936 -102.50 77.50 47.50 0.913061 -102.50 77.50 52.50 1.23139 -102.50 77.50 57.50 1.43649 -102.50 77.50 62.50 1.55321 -102.50 77.50 67.50 1.65138 -102.50 77.50 72.50 1.70307 -102.50 77.50 77.50 1.5325 -102.50 77.50 82.50 1.14666 -102.50 77.50 87.50 0.677777 -102.50 77.50 92.50 0.422612 -102.50 77.50 97.50 0.489081 -102.50 77.50 102.50 0.395592 -102.50 77.50 107.50 0.383139 -102.50 77.50 112.50 0.360093 -102.50 77.50 117.50 0.282231 -102.50 77.50 122.50 0.272807 -102.50 77.50 127.50 0.380141 -102.50 77.50 132.50 0.57936 -102.50 77.50 137.50 0.913061 -102.50 77.50 142.50 1.23139 -102.50 77.50 147.50 1.43648 -102.50 77.50 152.50 1.55321 -102.50 77.50 157.50 1.65138 -102.50 77.50 162.50 1.70307 -102.50 77.50 167.50 1.5325 -102.50 77.50 172.50 1.14666 -102.50 77.50 177.50 0.677778 -102.50 77.50 182.50 0.422612 -102.50 77.50 187.50 0.489081 -102.50 77.50 192.50 0.395592 -102.50 77.50 197.50 0.383139 -102.50 77.50 202.50 0.360093 -102.50 77.50 207.50 0.282231 -102.50 77.50 212.50 0.272807 -102.50 77.50 217.50 0.380141 -102.50 77.50 222.50 0.57936 -102.50 77.50 227.50 0.91306 -102.50 77.50 232.50 1.23139 -102.50 77.50 237.50 1.43649 -102.50 77.50 242.50 1.55321 -102.50 77.50 247.50 1.65138 -102.50 77.50 252.50 1.70307 -102.50 77.50 257.50 1.5325 -102.50 77.50 262.50 1.14666 -102.50 77.50 267.50 0.677777 -102.50 77.50 272.50 0.422612 -102.50 77.50 277.50 0.489081 -102.50 77.50 282.50 0.395592 -102.50 77.50 287.50 0.383139 -102.50 77.50 292.50 0.360093 -102.50 77.50 297.50 0.282231 -102.50 77.50 302.50 0.272807 -102.50 77.50 307.50 0.380141 -102.50 77.50 312.50 0.57936 -102.50 77.50 317.50 0.91306 -102.50 77.50 322.50 1.23139 -102.50 77.50 327.50 1.43648 -102.50 77.50 332.50 1.55321 -102.50 77.50 337.50 1.65138 -102.50 77.50 342.50 1.70307 -102.50 77.50 347.50 1.5325 -102.50 77.50 352.50 1.14666 -102.50 77.50 357.50 0.677778 -102.50 82.50 2.50 0.429837 -102.50 82.50 7.50 0.515611 -102.50 82.50 12.50 0.524464 -102.50 82.50 17.50 0.594729 -102.50 82.50 22.50 0.63033 -102.50 82.50 27.50 0.654877 -102.50 82.50 32.50 0.754787 -102.50 82.50 37.50 0.968979 -102.50 82.50 42.50 1.31581 -102.50 82.50 47.50 1.75417 -102.50 82.50 52.50 2.13895 -102.50 82.50 57.50 2.30713 -102.50 82.50 62.50 2.23776 -102.50 82.50 67.50 2.1174 -102.50 82.50 72.50 1.93474 -102.50 82.50 77.50 1.53655 -102.50 82.50 82.50 1.09229 -102.50 82.50 87.50 0.66199 -102.50 82.50 92.50 0.429837 -102.50 82.50 97.50 0.515611 -102.50 82.50 102.50 0.524464 -102.50 82.50 107.50 0.594729 -102.50 82.50 112.50 0.63033 -102.50 82.50 117.50 0.654876 -102.50 82.50 122.50 0.754787 -102.50 82.50 127.50 0.968978 -102.50 82.50 132.50 1.31581 -102.50 82.50 137.50 1.75417 -102.50 82.50 142.50 2.13895 -102.50 82.50 147.50 2.30713 -102.50 82.50 152.50 2.23776 -102.50 82.50 157.50 2.1174 -102.50 82.50 162.50 1.93474 -102.50 82.50 167.50 1.53655 -102.50 82.50 172.50 1.09229 -102.50 82.50 177.50 0.66199 -102.50 82.50 182.50 0.429837 -102.50 82.50 187.50 0.515611 -102.50 82.50 192.50 0.524465 -102.50 82.50 197.50 0.594729 -102.50 82.50 202.50 0.63033 -102.50 82.50 207.50 0.654876 -102.50 82.50 212.50 0.754787 -102.50 82.50 217.50 0.968978 -102.50 82.50 222.50 1.31581 -102.50 82.50 227.50 1.75417 -102.50 82.50 232.50 2.13895 -102.50 82.50 237.50 2.30713 -102.50 82.50 242.50 2.23776 -102.50 82.50 247.50 2.1174 -102.50 82.50 252.50 1.93474 -102.50 82.50 257.50 1.53655 -102.50 82.50 262.50 1.09229 -102.50 82.50 267.50 0.661989 -102.50 82.50 272.50 0.429837 -102.50 82.50 277.50 0.515611 -102.50 82.50 282.50 0.524464 -102.50 82.50 287.50 0.594729 -102.50 82.50 292.50 0.63033 -102.50 82.50 297.50 0.654877 -102.50 82.50 302.50 0.754787 -102.50 82.50 307.50 0.968978 -102.50 82.50 312.50 1.31581 -102.50 82.50 317.50 1.75417 -102.50 82.50 322.50 2.13894 -102.50 82.50 327.50 2.30712 -102.50 82.50 332.50 2.23776 -102.50 82.50 337.50 2.1174 -102.50 82.50 342.50 1.93475 -102.50 82.50 347.50 1.53655 -102.50 82.50 352.50 1.09229 -102.50 82.50 357.50 0.661991 -102.50 87.50 2.50 0.382022 -102.50 87.50 7.50 0.466442 -102.50 87.50 12.50 0.665485 -102.50 87.50 17.50 0.788364 -102.50 87.50 22.50 0.992713 -102.50 87.50 27.50 1.16542 -102.50 87.50 32.50 1.35668 -102.50 87.50 37.50 1.65079 -102.50 87.50 42.50 2.04524 -102.50 87.50 47.50 2.41994 -102.50 87.50 52.50 2.59146 -102.50 87.50 57.50 2.48418 -102.50 87.50 62.50 2.26362 -102.50 87.50 67.50 2.00829 -102.50 87.50 72.50 1.65464 -102.50 87.50 77.50 1.31373 -102.50 87.50 82.50 0.94078 -102.50 87.50 87.50 0.554357 -102.50 87.50 92.50 0.382022 -102.50 87.50 97.50 0.466441 -102.50 87.50 102.50 0.665485 -102.50 87.50 107.50 0.788364 -102.50 87.50 112.50 0.992713 -102.50 87.50 117.50 1.16542 -102.50 87.50 122.50 1.35668 -102.50 87.50 127.50 1.65079 -102.50 87.50 132.50 2.04524 -102.50 87.50 137.50 2.41994 -102.50 87.50 142.50 2.59146 -102.50 87.50 147.50 2.48418 -102.50 87.50 152.50 2.26362 -102.50 87.50 157.50 2.00829 -102.50 87.50 162.50 1.65464 -102.50 87.50 167.50 1.31373 -102.50 87.50 172.50 0.94078 -102.50 87.50 177.50 0.554357 -102.50 87.50 182.50 0.382022 -102.50 87.50 187.50 0.466441 -102.50 87.50 192.50 0.665485 -102.50 87.50 197.50 0.788364 -102.50 87.50 202.50 0.992713 -102.50 87.50 207.50 1.16542 -102.50 87.50 212.50 1.35668 -102.50 87.50 217.50 1.65079 -102.50 87.50 222.50 2.04524 -102.50 87.50 227.50 2.41994 -102.50 87.50 232.50 2.59146 -102.50 87.50 237.50 2.48418 -102.50 87.50 242.50 2.26362 -102.50 87.50 247.50 2.00829 -102.50 87.50 252.50 1.65464 -102.50 87.50 257.50 1.31373 -102.50 87.50 262.50 0.940779 -102.50 87.50 267.50 0.554356 -102.50 87.50 272.50 0.382022 -102.50 87.50 277.50 0.466442 -102.50 87.50 282.50 0.665485 -102.50 87.50 287.50 0.788364 -102.50 87.50 292.50 0.992713 -102.50 87.50 297.50 1.16542 -102.50 87.50 302.50 1.35668 -102.50 87.50 307.50 1.65079 -102.50 87.50 312.50 2.04524 -102.50 87.50 317.50 2.41994 -102.50 87.50 322.50 2.59146 -102.50 87.50 327.50 2.48418 -102.50 87.50 332.50 2.26362 -102.50 87.50 337.50 2.00829 -102.50 87.50 342.50 1.65464 -102.50 87.50 347.50 1.31373 -102.50 87.50 352.50 0.940781 -102.50 87.50 357.50 0.554358 -102.50 92.50 2.50 0.393272 -102.50 92.50 7.50 0.512871 -102.50 92.50 12.50 0.748316 -102.50 92.50 17.50 1.01248 -102.50 92.50 22.50 1.3146 -102.50 92.50 27.50 1.60321 -102.50 92.50 32.50 1.86338 -102.50 92.50 37.50 2.17935 -102.50 92.50 42.50 2.49553 -102.50 92.50 47.50 2.62872 -102.50 92.50 52.50 2.49553 -102.50 92.50 57.50 2.17935 -102.50 92.50 62.50 1.86337 -102.50 92.50 67.50 1.60321 -102.50 92.50 72.50 1.3146 -102.50 92.50 77.50 1.01248 -102.50 92.50 82.50 0.748317 -102.50 92.50 87.50 0.512872 -102.50 92.50 92.50 0.393272 -102.50 92.50 97.50 0.512871 -102.50 92.50 102.50 0.748316 -102.50 92.50 107.50 1.01248 -102.50 92.50 112.50 1.3146 -102.50 92.50 117.50 1.60321 -102.50 92.50 122.50 1.86337 -102.50 92.50 127.50 2.17935 -102.50 92.50 132.50 2.49553 -102.50 92.50 137.50 2.62872 -102.50 92.50 142.50 2.49553 -102.50 92.50 147.50 2.17935 -102.50 92.50 152.50 1.86337 -102.50 92.50 157.50 1.60321 -102.50 92.50 162.50 1.3146 -102.50 92.50 167.50 1.01248 -102.50 92.50 172.50 0.748317 -102.50 92.50 177.50 0.512873 -102.50 92.50 182.50 0.393272 -102.50 92.50 187.50 0.512871 -102.50 92.50 192.50 0.748316 -102.50 92.50 197.50 1.01248 -102.50 92.50 202.50 1.3146 -102.50 92.50 207.50 1.60321 -102.50 92.50 212.50 1.86337 -102.50 92.50 217.50 2.17935 -102.50 92.50 222.50 2.49553 -102.50 92.50 227.50 2.62872 -102.50 92.50 232.50 2.49553 -102.50 92.50 237.50 2.17935 -102.50 92.50 242.50 1.86337 -102.50 92.50 247.50 1.60321 -102.50 92.50 252.50 1.3146 -102.50 92.50 257.50 1.01248 -102.50 92.50 262.50 0.748316 -102.50 92.50 267.50 0.512872 -102.50 92.50 272.50 0.393272 -102.50 92.50 277.50 0.512871 -102.50 92.50 282.50 0.748316 -102.50 92.50 287.50 1.01248 -102.50 92.50 292.50 1.3146 -102.50 92.50 297.50 1.60321 -102.50 92.50 302.50 1.86337 -102.50 92.50 307.50 2.17935 -102.50 92.50 312.50 2.49553 -102.50 92.50 317.50 2.62872 -102.50 92.50 322.50 2.49553 -102.50 92.50 327.50 2.17936 -102.50 92.50 332.50 1.86338 -102.50 92.50 337.50 1.60321 -102.50 92.50 342.50 1.3146 -102.50 92.50 347.50 1.01248 -102.50 92.50 352.50 0.748317 -102.50 92.50 357.50 0.512873 -102.50 97.50 2.50 0.382022 -102.50 97.50 7.50 0.554357 -102.50 97.50 12.50 0.94078 -102.50 97.50 17.50 1.31373 -102.50 97.50 22.50 1.65464 -102.50 97.50 27.50 2.00829 -102.50 97.50 32.50 2.26362 -102.50 97.50 37.50 2.48418 -102.50 97.50 42.50 2.59146 -102.50 97.50 47.50 2.41994 -102.50 97.50 52.50 2.04524 -102.50 97.50 57.50 1.65079 -102.50 97.50 62.50 1.35668 -102.50 97.50 67.50 1.16542 -102.50 97.50 72.50 0.992713 -102.50 97.50 77.50 0.788364 -102.50 97.50 82.50 0.665485 -102.50 97.50 87.50 0.466441 -102.50 97.50 92.50 0.382022 -102.50 97.50 97.50 0.554357 -102.50 97.50 102.50 0.94078 -102.50 97.50 107.50 1.31373 -102.50 97.50 112.50 1.65464 -102.50 97.50 117.50 2.00829 -102.50 97.50 122.50 2.26362 -102.50 97.50 127.50 2.48418 -102.50 97.50 132.50 2.59146 -102.50 97.50 137.50 2.41994 -102.50 97.50 142.50 2.04524 -102.50 97.50 147.50 1.65079 -102.50 97.50 152.50 1.35668 -102.50 97.50 157.50 1.16542 -102.50 97.50 162.50 0.992713 -102.50 97.50 167.50 0.788364 -102.50 97.50 172.50 0.665485 -102.50 97.50 177.50 0.466442 -102.50 97.50 182.50 0.382022 -102.50 97.50 187.50 0.554357 -102.50 97.50 192.50 0.94078 -102.50 97.50 197.50 1.31373 -102.50 97.50 202.50 1.65464 -102.50 97.50 207.50 2.00829 -102.50 97.50 212.50 2.26362 -102.50 97.50 217.50 2.48418 -102.50 97.50 222.50 2.59146 -102.50 97.50 227.50 2.41994 -102.50 97.50 232.50 2.04524 -102.50 97.50 237.50 1.65079 -102.50 97.50 242.50 1.35668 -102.50 97.50 247.50 1.16542 -102.50 97.50 252.50 0.992713 -102.50 97.50 257.50 0.788363 -102.50 97.50 262.50 0.665485 -102.50 97.50 267.50 0.466442 -102.50 97.50 272.50 0.382023 -102.50 97.50 277.50 0.554357 -102.50 97.50 282.50 0.94078 -102.50 97.50 287.50 1.31373 -102.50 97.50 292.50 1.65464 -102.50 97.50 297.50 2.00829 -102.50 97.50 302.50 2.26362 -102.50 97.50 307.50 2.48418 -102.50 97.50 312.50 2.59146 -102.50 97.50 317.50 2.41994 -102.50 97.50 322.50 2.04524 -102.50 97.50 327.50 1.65079 -102.50 97.50 332.50 1.35668 -102.50 97.50 337.50 1.16542 -102.50 97.50 342.50 0.992713 -102.50 97.50 347.50 0.788365 -102.50 97.50 352.50 0.665485 -102.50 97.50 357.50 0.466442 -102.50 102.50 2.50 0.429837 -102.50 102.50 7.50 0.66199 -102.50 102.50 12.50 1.09229 -102.50 102.50 17.50 1.53655 -102.50 102.50 22.50 1.93474 -102.50 102.50 27.50 2.1174 -102.50 102.50 32.50 2.23776 -102.50 102.50 37.50 2.30713 -102.50 102.50 42.50 2.13894 -102.50 102.50 47.50 1.75417 -102.50 102.50 52.50 1.31581 -102.50 102.50 57.50 0.968978 -102.50 102.50 62.50 0.754787 -102.50 102.50 67.50 0.654877 -102.50 102.50 72.50 0.63033 -102.50 102.50 77.50 0.594728 -102.50 102.50 82.50 0.524464 -102.50 102.50 87.50 0.515611 -102.50 102.50 92.50 0.429838 -102.50 102.50 97.50 0.66199 -102.50 102.50 102.50 1.09229 -102.50 102.50 107.50 1.53655 -102.50 102.50 112.50 1.93474 -102.50 102.50 117.50 2.1174 -102.50 102.50 122.50 2.23776 -102.50 102.50 127.50 2.30713 -102.50 102.50 132.50 2.13895 -102.50 102.50 137.50 1.75417 -102.50 102.50 142.50 1.31581 -102.50 102.50 147.50 0.968979 -102.50 102.50 152.50 0.754787 -102.50 102.50 157.50 0.654877 -102.50 102.50 162.50 0.63033 -102.50 102.50 167.50 0.594729 -102.50 102.50 172.50 0.524465 -102.50 102.50 177.50 0.515611 -102.50 102.50 182.50 0.429837 -102.50 102.50 187.50 0.66199 -102.50 102.50 192.50 1.09229 -102.50 102.50 197.50 1.53655 -102.50 102.50 202.50 1.93474 -102.50 102.50 207.50 2.1174 -102.50 102.50 212.50 2.23776 -102.50 102.50 217.50 2.30713 -102.50 102.50 222.50 2.13895 -102.50 102.50 227.50 1.75417 -102.50 102.50 232.50 1.31581 -102.50 102.50 237.50 0.968978 -102.50 102.50 242.50 0.754787 -102.50 102.50 247.50 0.654877 -102.50 102.50 252.50 0.63033 -102.50 102.50 257.50 0.594729 -102.50 102.50 262.50 0.524464 -102.50 102.50 267.50 0.515611 -102.50 102.50 272.50 0.429837 -102.50 102.50 277.50 0.66199 -102.50 102.50 282.50 1.09229 -102.50 102.50 287.50 1.53655 -102.50 102.50 292.50 1.93474 -102.50 102.50 297.50 2.1174 -102.50 102.50 302.50 2.23776 -102.50 102.50 307.50 2.30713 -102.50 102.50 312.50 2.13895 -102.50 102.50 317.50 1.75417 -102.50 102.50 322.50 1.31581 -102.50 102.50 327.50 0.968979 -102.50 102.50 332.50 0.754787 -102.50 102.50 337.50 0.654876 -102.50 102.50 342.50 0.63033 -102.50 102.50 347.50 0.594729 -102.50 102.50 352.50 0.524464 -102.50 102.50 357.50 0.515611 -102.50 107.50 2.50 0.422612 -102.50 107.50 7.50 0.677777 -102.50 107.50 12.50 1.14666 -102.50 107.50 17.50 1.5325 -102.50 107.50 22.50 1.70307 -102.50 107.50 27.50 1.65138 -102.50 107.50 32.50 1.55321 -102.50 107.50 37.50 1.43649 -102.50 107.50 42.50 1.23139 -102.50 107.50 47.50 0.913061 -102.50 107.50 52.50 0.57936 -102.50 107.50 57.50 0.380141 -102.50 107.50 62.50 0.272807 -102.50 107.50 67.50 0.282231 -102.50 107.50 72.50 0.360093 -102.50 107.50 77.50 0.383139 -102.50 107.50 82.50 0.395592 -102.50 107.50 87.50 0.489081 -102.50 107.50 92.50 0.422612 -102.50 107.50 97.50 0.677777 -102.50 107.50 102.50 1.14666 -102.50 107.50 107.50 1.5325 -102.50 107.50 112.50 1.70307 -102.50 107.50 117.50 1.65138 -102.50 107.50 122.50 1.55321 -102.50 107.50 127.50 1.43649 -102.50 107.50 132.50 1.23139 -102.50 107.50 137.50 0.913061 -102.50 107.50 142.50 0.57936 -102.50 107.50 147.50 0.380141 -102.50 107.50 152.50 0.272807 -102.50 107.50 157.50 0.282231 -102.50 107.50 162.50 0.360093 -102.50 107.50 167.50 0.383139 -102.50 107.50 172.50 0.395592 -102.50 107.50 177.50 0.489081 -102.50 107.50 182.50 0.422612 -102.50 107.50 187.50 0.677778 -102.50 107.50 192.50 1.14666 -102.50 107.50 197.50 1.5325 -102.50 107.50 202.50 1.70307 -102.50 107.50 207.50 1.65138 -102.50 107.50 212.50 1.55321 -102.50 107.50 217.50 1.43649 -102.50 107.50 222.50 1.23139 -102.50 107.50 227.50 0.913061 -102.50 107.50 232.50 0.57936 -102.50 107.50 237.50 0.380141 -102.50 107.50 242.50 0.272807 -102.50 107.50 247.50 0.282231 -102.50 107.50 252.50 0.360093 -102.50 107.50 257.50 0.383139 -102.50 107.50 262.50 0.395592 -102.50 107.50 267.50 0.489081 -102.50 107.50 272.50 0.422612 -102.50 107.50 277.50 0.677778 -102.50 107.50 282.50 1.14666 -102.50 107.50 287.50 1.5325 -102.50 107.50 292.50 1.70307 -102.50 107.50 297.50 1.65138 -102.50 107.50 302.50 1.55321 -102.50 107.50 307.50 1.43649 -102.50 107.50 312.50 1.23139 -102.50 107.50 317.50 0.913061 -102.50 107.50 322.50 0.57936 -102.50 107.50 327.50 0.380141 -102.50 107.50 332.50 0.272807 -102.50 107.50 337.50 0.282231 -102.50 107.50 342.50 0.360093 -102.50 107.50 347.50 0.383139 -102.50 107.50 352.50 0.395592 -102.50 107.50 357.50 0.489081 -102.50 112.50 2.50 0.335764 -102.50 112.50 7.50 0.541781 -102.50 112.50 12.50 0.892334 -102.50 112.50 17.50 1.17708 -102.50 112.50 22.50 1.26043 -102.50 112.50 27.50 1.04726 -102.50 112.50 32.50 0.826733 -102.50 112.50 37.50 0.667436 -102.50 112.50 42.50 0.485745 -102.50 112.50 47.50 0.2981 -102.50 112.50 52.50 0.176889 -102.50 112.50 57.50 0.0967442 -102.50 112.50 62.50 0.0801606 -102.50 112.50 67.50 0.108925 -102.50 112.50 72.50 0.145181 -102.50 112.50 77.50 0.18965 -102.50 112.50 82.50 0.275849 -102.50 112.50 87.50 0.307317 -102.50 112.50 92.50 0.335765 -102.50 112.50 97.50 0.541781 -102.50 112.50 102.50 0.892335 -102.50 112.50 107.50 1.17708 -102.50 112.50 112.50 1.26043 -102.50 112.50 117.50 1.04726 -102.50 112.50 122.50 0.826734 -102.50 112.50 127.50 0.667436 -102.50 112.50 132.50 0.485745 -102.50 112.50 137.50 0.2981 -102.50 112.50 142.50 0.176889 -102.50 112.50 147.50 0.0967443 -102.50 112.50 152.50 0.0801606 -102.50 112.50 157.50 0.108925 -102.50 112.50 162.50 0.145181 -102.50 112.50 167.50 0.18965 -102.50 112.50 172.50 0.275848 -102.50 112.50 177.50 0.307317 -102.50 112.50 182.50 0.335765 -102.50 112.50 187.50 0.541781 -102.50 112.50 192.50 0.892335 -102.50 112.50 197.50 1.17708 -102.50 112.50 202.50 1.26043 -102.50 112.50 207.50 1.04726 -102.50 112.50 212.50 0.826734 -102.50 112.50 217.50 0.667436 -102.50 112.50 222.50 0.485745 -102.50 112.50 227.50 0.298101 -102.50 112.50 232.50 0.176889 -102.50 112.50 237.50 0.096744 -102.50 112.50 242.50 0.0801606 -102.50 112.50 247.50 0.108925 -102.50 112.50 252.50 0.145181 -102.50 112.50 257.50 0.18965 -102.50 112.50 262.50 0.275849 -102.50 112.50 267.50 0.307317 -102.50 112.50 272.50 0.335765 -102.50 112.50 277.50 0.541781 -102.50 112.50 282.50 0.892334 -102.50 112.50 287.50 1.17708 -102.50 112.50 292.50 1.26043 -102.50 112.50 297.50 1.04726 -102.50 112.50 302.50 0.826734 -102.50 112.50 307.50 0.667436 -102.50 112.50 312.50 0.485745 -102.50 112.50 317.50 0.298101 -102.50 112.50 322.50 0.176889 -102.50 112.50 327.50 0.0967445 -102.50 112.50 332.50 0.0801606 -102.50 112.50 337.50 0.108925 -102.50 112.50 342.50 0.145181 -102.50 112.50 347.50 0.18965 -102.50 112.50 352.50 0.275848 -102.50 112.50 357.50 0.307317 -102.50 117.50 2.50 0.232885 -102.50 117.50 7.50 0.34279 -102.50 117.50 12.50 0.549132 -102.50 117.50 17.50 0.734243 -102.50 117.50 22.50 0.680786 -102.50 117.50 27.50 0.548327 -102.50 117.50 32.50 0.341813 -102.50 117.50 37.50 0.231199 -102.50 117.50 42.50 0.148229 -102.50 117.50 47.50 0.0766607 -102.50 117.50 52.50 0.0408353 -102.50 117.50 57.50 0.0216496 -102.50 117.50 62.50 0.0162894 -102.50 117.50 67.50 0.0230585 -102.50 117.50 72.50 0.0472481 -102.50 117.50 77.50 0.0812319 -102.50 117.50 82.50 0.14265 -102.50 117.50 87.50 0.17083 -102.50 117.50 92.50 0.232886 -102.50 117.50 97.50 0.342791 -102.50 117.50 102.50 0.549132 -102.50 117.50 107.50 0.734244 -102.50 117.50 112.50 0.680786 -102.50 117.50 117.50 0.548327 -102.50 117.50 122.50 0.341813 -102.50 117.50 127.50 0.231199 -102.50 117.50 132.50 0.148229 -102.50 117.50 137.50 0.0766607 -102.50 117.50 142.50 0.0408353 -102.50 117.50 147.50 0.0216496 -102.50 117.50 152.50 0.0162894 -102.50 117.50 157.50 0.0230585 -102.50 117.50 162.50 0.0472481 -102.50 117.50 167.50 0.0812319 -102.50 117.50 172.50 0.14265 -102.50 117.50 177.50 0.17083 -102.50 117.50 182.50 0.232885 -102.50 117.50 187.50 0.342791 -102.50 117.50 192.50 0.549133 -102.50 117.50 197.50 0.734244 -102.50 117.50 202.50 0.680786 -102.50 117.50 207.50 0.548328 -102.50 117.50 212.50 0.341813 -102.50 117.50 217.50 0.231199 -102.50 117.50 222.50 0.148229 -102.50 117.50 227.50 0.0766607 -102.50 117.50 232.50 0.0408353 -102.50 117.50 237.50 0.0216496 -102.50 117.50 242.50 0.0162894 -102.50 117.50 247.50 0.0230585 -102.50 117.50 252.50 0.0472481 -102.50 117.50 257.50 0.081232 -102.50 117.50 262.50 0.14265 -102.50 117.50 267.50 0.17083 -102.50 117.50 272.50 0.232885 -102.50 117.50 277.50 0.34279 -102.50 117.50 282.50 0.549132 -102.50 117.50 287.50 0.734243 -102.50 117.50 292.50 0.680786 -102.50 117.50 297.50 0.548327 -102.50 117.50 302.50 0.341814 -102.50 117.50 307.50 0.231199 -102.50 117.50 312.50 0.148229 -102.50 117.50 317.50 0.0766607 -102.50 117.50 322.50 0.0408354 -102.50 117.50 327.50 0.0216496 -102.50 117.50 332.50 0.0162894 -102.50 117.50 337.50 0.0230584 -102.50 117.50 342.50 0.0472479 -102.50 117.50 347.50 0.0812317 -102.50 117.50 352.50 0.142649 -102.50 117.50 357.50 0.17083 -102.50 122.50 2.50 0.164812 -102.50 122.50 7.50 0.197583 -102.50 122.50 12.50 0.274664 -102.50 122.50 17.50 0.342066 -102.50 122.50 22.50 0.313437 -102.50 122.50 27.50 0.195315 -102.50 122.50 32.50 0.115046 -102.50 122.50 37.50 0.0611149 -102.50 122.50 42.50 0.0338697 -102.50 122.50 47.50 0.0209546 -102.50 122.50 52.50 0.00969556 -102.50 122.50 57.50 0.00605562 -102.50 122.50 62.50 0.00479006 -102.50 122.50 67.50 0.00678968 -102.50 122.50 72.50 0.0141693 -102.50 122.50 77.50 0.0250432 -102.50 122.50 82.50 0.0584314 -102.50 122.50 87.50 0.0996033 -102.50 122.50 92.50 0.164812 -102.50 122.50 97.50 0.197583 -102.50 122.50 102.50 0.274664 -102.50 122.50 107.50 0.342066 -102.50 122.50 112.50 0.313437 -102.50 122.50 117.50 0.195315 -102.50 122.50 122.50 0.115046 -102.50 122.50 127.50 0.0611149 -102.50 122.50 132.50 0.0338697 -102.50 122.50 137.50 0.0209546 -102.50 122.50 142.50 0.00969555 -102.50 122.50 147.50 0.00605562 -102.50 122.50 152.50 0.00479006 -102.50 122.50 157.50 0.00678969 -102.50 122.50 162.50 0.0141693 -102.50 122.50 167.50 0.0250433 -102.50 122.50 172.50 0.0584314 -102.50 122.50 177.50 0.0996032 -102.50 122.50 182.50 0.164812 -102.50 122.50 187.50 0.197583 -102.50 122.50 192.50 0.274664 -102.50 122.50 197.50 0.342067 -102.50 122.50 202.50 0.313437 -102.50 122.50 207.50 0.195315 -102.50 122.50 212.50 0.115046 -102.50 122.50 217.50 0.061115 -102.50 122.50 222.50 0.0338697 -102.50 122.50 227.50 0.0209546 -102.50 122.50 232.50 0.00969555 -102.50 122.50 237.50 0.00605561 -102.50 122.50 242.50 0.00479006 -102.50 122.50 247.50 0.00678969 -102.50 122.50 252.50 0.0141693 -102.50 122.50 257.50 0.0250433 -102.50 122.50 262.50 0.0584315 -102.50 122.50 267.50 0.0996033 -102.50 122.50 272.50 0.164812 -102.50 122.50 277.50 0.197583 -102.50 122.50 282.50 0.274664 -102.50 122.50 287.50 0.342066 -102.50 122.50 292.50 0.313437 -102.50 122.50 297.50 0.195315 -102.50 122.50 302.50 0.115046 -102.50 122.50 307.50 0.061115 -102.50 122.50 312.50 0.0338697 -102.50 122.50 317.50 0.0209546 -102.50 122.50 322.50 0.00969557 -102.50 122.50 327.50 0.00605563 -102.50 122.50 332.50 0.00479006 -102.50 122.50 337.50 0.00678967 -102.50 122.50 342.50 0.0141692 -102.50 122.50 347.50 0.0250432 -102.50 122.50 352.50 0.0584313 -102.50 122.50 357.50 0.0996032 -102.50 127.50 2.50 0.110206 -102.50 127.50 7.50 0.111424 -102.50 127.50 12.50 0.11044 -102.50 127.50 17.50 0.118965 -102.50 127.50 22.50 0.108714 -102.50 127.50 27.50 0.059175 -102.50 127.50 32.50 0.0294673 -102.50 127.50 37.50 0.0189809 -102.50 127.50 42.50 0.0187428 -102.50 127.50 47.50 0.0295768 -102.50 127.50 52.50 0.0283886 -102.50 127.50 57.50 0.0344461 -102.50 127.50 62.50 0.0337436 -102.50 127.50 67.50 0.0188955 -102.50 127.50 72.50 0.0122309 -102.50 127.50 77.50 0.0139949 -102.50 127.50 82.50 0.0251331 -102.50 127.50 87.50 0.0572843 -102.50 127.50 92.50 0.110206 -102.50 127.50 97.50 0.111425 -102.50 127.50 102.50 0.11044 -102.50 127.50 107.50 0.118965 -102.50 127.50 112.50 0.108714 -102.50 127.50 117.50 0.059175 -102.50 127.50 122.50 0.0294673 -102.50 127.50 127.50 0.0189809 -102.50 127.50 132.50 0.0187428 -102.50 127.50 137.50 0.0295768 -102.50 127.50 142.50 0.0283886 -102.50 127.50 147.50 0.0344461 -102.50 127.50 152.50 0.0337436 -102.50 127.50 157.50 0.0188955 -102.50 127.50 162.50 0.0122309 -102.50 127.50 167.50 0.0139949 -102.50 127.50 172.50 0.025133 -102.50 127.50 177.50 0.0572842 -102.50 127.50 182.50 0.110206 -102.50 127.50 187.50 0.111425 -102.50 127.50 192.50 0.11044 -102.50 127.50 197.50 0.118965 -102.50 127.50 202.50 0.108714 -102.50 127.50 207.50 0.0591751 -102.50 127.50 212.50 0.0294673 -102.50 127.50 217.50 0.0189809 -102.50 127.50 222.50 0.0187428 -102.50 127.50 227.50 0.0295768 -102.50 127.50 232.50 0.0283886 -102.50 127.50 237.50 0.0344461 -102.50 127.50 242.50 0.0337436 -102.50 127.50 247.50 0.0188954 -102.50 127.50 252.50 0.0122309 -102.50 127.50 257.50 0.0139949 -102.50 127.50 262.50 0.0251331 -102.50 127.50 267.50 0.0572843 -102.50 127.50 272.50 0.110206 -102.50 127.50 277.50 0.111425 -102.50 127.50 282.50 0.11044 -102.50 127.50 287.50 0.118965 -102.50 127.50 292.50 0.108714 -102.50 127.50 297.50 0.0591751 -102.50 127.50 302.50 0.0294673 -102.50 127.50 307.50 0.018981 -102.50 127.50 312.50 0.0187428 -102.50 127.50 317.50 0.0295768 -102.50 127.50 322.50 0.0283886 -102.50 127.50 327.50 0.0344461 -102.50 127.50 332.50 0.0337436 -102.50 127.50 337.50 0.0188955 -102.50 127.50 342.50 0.0122309 -102.50 127.50 347.50 0.0139949 -102.50 127.50 352.50 0.025133 -102.50 127.50 357.50 0.0572841 -102.50 132.50 2.50 0.0566768 -102.50 132.50 7.50 0.0577729 -102.50 132.50 12.50 0.0384049 -102.50 132.50 17.50 0.0292254 -102.50 132.50 22.50 0.0274118 -102.50 132.50 27.50 0.0273174 -102.50 132.50 32.50 0.0402711 -102.50 132.50 37.50 0.0746005 -102.50 132.50 42.50 0.120229 -102.50 132.50 47.50 0.181531 -102.50 132.50 52.50 0.203694 -102.50 132.50 57.50 0.229346 -102.50 132.50 62.50 0.178877 -102.50 132.50 67.50 0.104541 -102.50 132.50 72.50 0.0611133 -102.50 132.50 77.50 0.0357779 -102.50 132.50 82.50 0.0208145 -102.50 132.50 87.50 0.0285764 -102.50 132.50 92.50 0.0566768 -102.50 132.50 97.50 0.057773 -102.50 132.50 102.50 0.0384049 -102.50 132.50 107.50 0.0292254 -102.50 132.50 112.50 0.0274118 -102.50 132.50 117.50 0.0273174 -102.50 132.50 122.50 0.040271 -102.50 132.50 127.50 0.0746005 -102.50 132.50 132.50 0.120229 -102.50 132.50 137.50 0.181531 -102.50 132.50 142.50 0.203694 -102.50 132.50 147.50 0.229345 -102.50 132.50 152.50 0.178877 -102.50 132.50 157.50 0.104541 -102.50 132.50 162.50 0.0611132 -102.50 132.50 167.50 0.0357779 -102.50 132.50 172.50 0.0208145 -102.50 132.50 177.50 0.0285764 -102.50 132.50 182.50 0.0566768 -102.50 132.50 187.50 0.0577729 -102.50 132.50 192.50 0.0384049 -102.50 132.50 197.50 0.0292254 -102.50 132.50 202.50 0.0274119 -102.50 132.50 207.50 0.0273174 -102.50 132.50 212.50 0.040271 -102.50 132.50 217.50 0.0746005 -102.50 132.50 222.50 0.120228 -102.50 132.50 227.50 0.181531 -102.50 132.50 232.50 0.203694 -102.50 132.50 237.50 0.229345 -102.50 132.50 242.50 0.178877 -102.50 132.50 247.50 0.104541 -102.50 132.50 252.50 0.0611132 -102.50 132.50 257.50 0.0357779 -102.50 132.50 262.50 0.0208145 -102.50 132.50 267.50 0.0285764 -102.50 132.50 272.50 0.0566768 -102.50 132.50 277.50 0.0577729 -102.50 132.50 282.50 0.0384049 -102.50 132.50 287.50 0.0292254 -102.50 132.50 292.50 0.0274119 -102.50 132.50 297.50 0.0273174 -102.50 132.50 302.50 0.040271 -102.50 132.50 307.50 0.0746005 -102.50 132.50 312.50 0.120229 -102.50 132.50 317.50 0.181531 -102.50 132.50 322.50 0.203694 -102.50 132.50 327.50 0.229346 -102.50 132.50 332.50 0.178877 -102.50 132.50 337.50 0.104541 -102.50 132.50 342.50 0.0611134 -102.50 132.50 347.50 0.0357779 -102.50 132.50 352.50 0.0208145 -102.50 132.50 357.50 0.0285763 -102.50 137.50 2.50 0.0326857 -102.50 137.50 7.50 0.0345915 -102.50 137.50 12.50 0.0209977 -102.50 137.50 17.50 0.0157058 -102.50 137.50 22.50 0.0280381 -102.50 137.50 27.50 0.0711575 -102.50 137.50 32.50 0.152569 -102.50 137.50 37.50 0.338105 -102.50 137.50 42.50 0.530007 -102.50 137.50 47.50 0.790583 -102.50 137.50 52.50 0.831385 -102.50 137.50 57.50 0.80583 -102.50 137.50 62.50 0.56974 -102.50 137.50 67.50 0.354763 -102.50 137.50 72.50 0.207284 -102.50 137.50 77.50 0.114671 -102.50 137.50 82.50 0.0482187 -102.50 137.50 87.50 0.0252326 -102.50 137.50 92.50 0.0326857 -102.50 137.50 97.50 0.0345915 -102.50 137.50 102.50 0.0209977 -102.50 137.50 107.50 0.0157058 -102.50 137.50 112.50 0.0280381 -102.50 137.50 117.50 0.0711575 -102.50 137.50 122.50 0.152569 -102.50 137.50 127.50 0.338105 -102.50 137.50 132.50 0.530006 -102.50 137.50 137.50 0.790582 -102.50 137.50 142.50 0.831385 -102.50 137.50 147.50 0.80583 -102.50 137.50 152.50 0.56974 -102.50 137.50 157.50 0.354763 -102.50 137.50 162.50 0.207284 -102.50 137.50 167.50 0.114671 -102.50 137.50 172.50 0.0482187 -102.50 137.50 177.50 0.0252326 -102.50 137.50 182.50 0.0326857 -102.50 137.50 187.50 0.0345914 -102.50 137.50 192.50 0.0209977 -102.50 137.50 197.50 0.0157058 -102.50 137.50 202.50 0.0280381 -102.50 137.50 207.50 0.0711574 -102.50 137.50 212.50 0.152569 -102.50 137.50 217.50 0.338105 -102.50 137.50 222.50 0.530006 -102.50 137.50 227.50 0.790582 -102.50 137.50 232.50 0.831385 -102.50 137.50 237.50 0.80583 -102.50 137.50 242.50 0.56974 -102.50 137.50 247.50 0.354763 -102.50 137.50 252.50 0.207284 -102.50 137.50 257.50 0.114671 -102.50 137.50 262.50 0.0482186 -102.50 137.50 267.50 0.0252326 -102.50 137.50 272.50 0.0326857 -102.50 137.50 277.50 0.0345915 -102.50 137.50 282.50 0.0209977 -102.50 137.50 287.50 0.0157058 -102.50 137.50 292.50 0.0280381 -102.50 137.50 297.50 0.0711574 -102.50 137.50 302.50 0.152569 -102.50 137.50 307.50 0.338105 -102.50 137.50 312.50 0.530006 -102.50 137.50 317.50 0.790582 -102.50 137.50 322.50 0.831385 -102.50 137.50 327.50 0.80583 -102.50 137.50 332.50 0.56974 -102.50 137.50 337.50 0.354763 -102.50 137.50 342.50 0.207285 -102.50 137.50 347.50 0.114672 -102.50 137.50 352.50 0.0482188 -102.50 137.50 357.50 0.0252327 -102.50 142.50 2.50 0.0566768 -102.50 142.50 7.50 0.0561728 -102.50 142.50 12.50 0.0415526 -102.50 142.50 17.50 0.0474071 -102.50 142.50 22.50 0.0906726 -102.50 142.50 27.50 0.209317 -102.50 142.50 32.50 0.46399 -102.50 142.50 37.50 0.917943 -102.50 142.50 42.50 1.54855 -102.50 142.50 47.50 2.05118 -102.50 142.50 52.50 2.17351 -102.50 142.50 57.50 1.882 -102.50 142.50 62.50 1.35088 -102.50 142.50 67.50 0.817295 -102.50 142.50 72.50 0.479108 -102.50 142.50 77.50 0.26194 -102.50 142.50 82.50 0.114879 -102.50 142.50 87.50 0.0580158 -102.50 142.50 92.50 0.0566768 -102.50 142.50 97.50 0.0561728 -102.50 142.50 102.50 0.0415526 -102.50 142.50 107.50 0.0474071 -102.50 142.50 112.50 0.0906726 -102.50 142.50 117.50 0.209317 -102.50 142.50 122.50 0.46399 -102.50 142.50 127.50 0.917943 -102.50 142.50 132.50 1.54855 -102.50 142.50 137.50 2.05118 -102.50 142.50 142.50 2.17351 -102.50 142.50 147.50 1.882 -102.50 142.50 152.50 1.35089 -102.50 142.50 157.50 0.817295 -102.50 142.50 162.50 0.479108 -102.50 142.50 167.50 0.26194 -102.50 142.50 172.50 0.114879 -102.50 142.50 177.50 0.0580158 -102.50 142.50 182.50 0.0566768 -102.50 142.50 187.50 0.0561728 -102.50 142.50 192.50 0.0415526 -102.50 142.50 197.50 0.0474071 -102.50 142.50 202.50 0.0906726 -102.50 142.50 207.50 0.209316 -102.50 142.50 212.50 0.46399 -102.50 142.50 217.50 0.917943 -102.50 142.50 222.50 1.54855 -102.50 142.50 227.50 2.05118 -102.50 142.50 232.50 2.17351 -102.50 142.50 237.50 1.882 -102.50 142.50 242.50 1.35089 -102.50 142.50 247.50 0.817294 -102.50 142.50 252.50 0.479107 -102.50 142.50 257.50 0.26194 -102.50 142.50 262.50 0.114879 -102.50 142.50 267.50 0.0580158 -102.50 142.50 272.50 0.0566768 -102.50 142.50 277.50 0.0561728 -102.50 142.50 282.50 0.0415526 -102.50 142.50 287.50 0.0474071 -102.50 142.50 292.50 0.0906725 -102.50 142.50 297.50 0.209316 -102.50 142.50 302.50 0.46399 -102.50 142.50 307.50 0.917942 -102.50 142.50 312.50 1.54855 -102.50 142.50 317.50 2.05118 -102.50 142.50 322.50 2.17351 -102.50 142.50 327.50 1.882 -102.50 142.50 332.50 1.35089 -102.50 142.50 337.50 0.817295 -102.50 142.50 342.50 0.479109 -102.50 142.50 347.50 0.261941 -102.50 142.50 352.50 0.11488 -102.50 142.50 357.50 0.0580159 -102.50 147.50 2.50 0.110206 -102.50 147.50 7.50 0.112048 -102.50 147.50 12.50 0.106707 -102.50 147.50 17.50 0.137174 -102.50 147.50 22.50 0.221104 -102.50 147.50 27.50 0.429781 -102.50 147.50 32.50 0.880141 -102.50 147.50 37.50 1.68937 -102.50 147.50 42.50 2.73013 -102.50 147.50 47.50 3.54732 -102.50 147.50 52.50 3.77275 -102.50 147.50 57.50 3.27578 -102.50 147.50 62.50 2.31712 -102.50 147.50 67.50 1.42083 -102.50 147.50 72.50 0.816355 -102.50 147.50 77.50 0.433369 -102.50 147.50 82.50 0.203154 -102.50 147.50 87.50 0.113682 -102.50 147.50 92.50 0.110206 -102.50 147.50 97.50 0.112048 -102.50 147.50 102.50 0.106707 -102.50 147.50 107.50 0.137174 -102.50 147.50 112.50 0.221104 -102.50 147.50 117.50 0.429781 -102.50 147.50 122.50 0.880142 -102.50 147.50 127.50 1.68937 -102.50 147.50 132.50 2.73012 -102.50 147.50 137.50 3.54732 -102.50 147.50 142.50 3.77275 -102.50 147.50 147.50 3.27578 -102.50 147.50 152.50 2.31712 -102.50 147.50 157.50 1.42083 -102.50 147.50 162.50 0.816355 -102.50 147.50 167.50 0.433369 -102.50 147.50 172.50 0.203154 -102.50 147.50 177.50 0.113683 -102.50 147.50 182.50 0.110206 -102.50 147.50 187.50 0.112048 -102.50 147.50 192.50 0.106707 -102.50 147.50 197.50 0.137174 -102.50 147.50 202.50 0.221104 -102.50 147.50 207.50 0.42978 -102.50 147.50 212.50 0.880141 -102.50 147.50 217.50 1.68937 -102.50 147.50 222.50 2.73012 -102.50 147.50 227.50 3.54732 -102.50 147.50 232.50 3.77275 -102.50 147.50 237.50 3.27578 -102.50 147.50 242.50 2.31712 -102.50 147.50 247.50 1.42083 -102.50 147.50 252.50 0.816354 -102.50 147.50 257.50 0.433369 -102.50 147.50 262.50 0.203154 -102.50 147.50 267.50 0.113682 -102.50 147.50 272.50 0.110206 -102.50 147.50 277.50 0.112048 -102.50 147.50 282.50 0.106707 -102.50 147.50 287.50 0.137174 -102.50 147.50 292.50 0.221104 -102.50 147.50 297.50 0.42978 -102.50 147.50 302.50 0.880141 -102.50 147.50 307.50 1.68937 -102.50 147.50 312.50 2.73012 -102.50 147.50 317.50 3.54732 -102.50 147.50 322.50 3.77275 -102.50 147.50 327.50 3.27578 -102.50 147.50 332.50 2.31712 -102.50 147.50 337.50 1.42083 -102.50 147.50 342.50 0.816355 -102.50 147.50 347.50 0.43337 -102.50 147.50 352.50 0.203154 -102.50 147.50 357.50 0.113683 -102.50 152.50 2.50 0.164812 -102.50 152.50 7.50 0.190251 -102.50 152.50 12.50 0.235401 -102.50 152.50 17.50 0.303026 -102.50 152.50 22.50 0.399216 -102.50 152.50 27.50 0.630826 -102.50 152.50 32.50 1.17525 -102.50 152.50 37.50 2.13732 -102.50 152.50 42.50 3.37602 -102.50 152.50 47.50 4.37538 -102.50 152.50 52.50 4.62496 -102.50 152.50 57.50 3.97256 -102.50 152.50 62.50 2.84162 -102.50 152.50 67.50 1.79176 -102.50 152.50 72.50 1.02476 -102.50 152.50 77.50 0.521251 -102.50 152.50 82.50 0.261037 -102.50 152.50 87.50 0.15525 -102.50 152.50 92.50 0.164812 -102.50 152.50 97.50 0.190251 -102.50 152.50 102.50 0.235401 -102.50 152.50 107.50 0.303026 -102.50 152.50 112.50 0.399216 -102.50 152.50 117.50 0.630827 -102.50 152.50 122.50 1.17525 -102.50 152.50 127.50 2.13732 -102.50 152.50 132.50 3.37602 -102.50 152.50 137.50 4.37538 -102.50 152.50 142.50 4.62496 -102.50 152.50 147.50 3.97256 -102.50 152.50 152.50 2.84162 -102.50 152.50 157.50 1.79176 -102.50 152.50 162.50 1.02476 -102.50 152.50 167.50 0.521251 -102.50 152.50 172.50 0.261037 -102.50 152.50 177.50 0.15525 -102.50 152.50 182.50 0.164812 -102.50 152.50 187.50 0.190251 -102.50 152.50 192.50 0.235401 -102.50 152.50 197.50 0.303026 -102.50 152.50 202.50 0.399216 -102.50 152.50 207.50 0.630826 -102.50 152.50 212.50 1.17525 -102.50 152.50 217.50 2.13732 -102.50 152.50 222.50 3.37602 -102.50 152.50 227.50 4.37538 -102.50 152.50 232.50 4.62497 -102.50 152.50 237.50 3.97256 -102.50 152.50 242.50 2.84162 -102.50 152.50 247.50 1.79176 -102.50 152.50 252.50 1.02476 -102.50 152.50 257.50 0.521251 -102.50 152.50 262.50 0.261037 -102.50 152.50 267.50 0.15525 -102.50 152.50 272.50 0.164812 -102.50 152.50 277.50 0.190251 -102.50 152.50 282.50 0.235401 -102.50 152.50 287.50 0.303026 -102.50 152.50 292.50 0.399215 -102.50 152.50 297.50 0.630826 -102.50 152.50 302.50 1.17525 -102.50 152.50 307.50 2.13732 -102.50 152.50 312.50 3.37602 -102.50 152.50 317.50 4.37538 -102.50 152.50 322.50 4.62497 -102.50 152.50 327.50 3.97256 -102.50 152.50 332.50 2.84162 -102.50 152.50 337.50 1.79176 -102.50 152.50 342.50 1.02476 -102.50 152.50 347.50 0.521252 -102.50 152.50 352.50 0.261037 -102.50 152.50 357.50 0.155251 -102.50 157.50 2.50 0.232885 -102.50 157.50 7.50 0.312194 -102.50 157.50 12.50 0.432572 -102.50 157.50 17.50 0.535545 -102.50 157.50 22.50 0.58027 -102.50 157.50 27.50 0.737812 -102.50 157.50 32.50 1.162 -102.50 157.50 37.50 1.95711 -102.50 157.50 42.50 3.02182 -102.50 157.50 47.50 3.91511 -102.50 157.50 52.50 4.0122 -102.50 157.50 57.50 3.43765 -102.50 157.50 62.50 2.51912 -102.50 157.50 67.50 1.63991 -102.50 157.50 72.50 0.931928 -102.50 157.50 77.50 0.487495 -102.50 157.50 82.50 0.263627 -102.50 157.50 87.50 0.181176 -102.50 157.50 92.50 0.232885 -102.50 157.50 97.50 0.312194 -102.50 157.50 102.50 0.432572 -102.50 157.50 107.50 0.535545 -102.50 157.50 112.50 0.58027 -102.50 157.50 117.50 0.737813 -102.50 157.50 122.50 1.162 -102.50 157.50 127.50 1.95711 -102.50 157.50 132.50 3.02182 -102.50 157.50 137.50 3.91511 -102.50 157.50 142.50 4.0122 -102.50 157.50 147.50 3.43765 -102.50 157.50 152.50 2.51912 -102.50 157.50 157.50 1.63991 -102.50 157.50 162.50 0.931929 -102.50 157.50 167.50 0.487495 -102.50 157.50 172.50 0.263627 -102.50 157.50 177.50 0.181176 -102.50 157.50 182.50 0.232885 -102.50 157.50 187.50 0.312194 -102.50 157.50 192.50 0.432572 -102.50 157.50 197.50 0.535546 -102.50 157.50 202.50 0.58027 -102.50 157.50 207.50 0.737812 -102.50 157.50 212.50 1.162 -102.50 157.50 217.50 1.95711 -102.50 157.50 222.50 3.02182 -102.50 157.50 227.50 3.91511 -102.50 157.50 232.50 4.0122 -102.50 157.50 237.50 3.43765 -102.50 157.50 242.50 2.51912 -102.50 157.50 247.50 1.63991 -102.50 157.50 252.50 0.931928 -102.50 157.50 257.50 0.487495 -102.50 157.50 262.50 0.263627 -102.50 157.50 267.50 0.181176 -102.50 157.50 272.50 0.232885 -102.50 157.50 277.50 0.312194 -102.50 157.50 282.50 0.432572 -102.50 157.50 287.50 0.535546 -102.50 157.50 292.50 0.58027 -102.50 157.50 297.50 0.737812 -102.50 157.50 302.50 1.162 -102.50 157.50 307.50 1.9571 -102.50 157.50 312.50 3.02182 -102.50 157.50 317.50 3.91511 -102.50 157.50 322.50 4.0122 -102.50 157.50 327.50 3.43765 -102.50 157.50 332.50 2.51913 -102.50 157.50 337.50 1.63991 -102.50 157.50 342.50 0.93193 -102.50 157.50 347.50 0.487496 -102.50 157.50 352.50 0.263628 -102.50 157.50 357.50 0.181176 -102.50 162.50 2.50 0.335764 -102.50 162.50 7.50 0.477904 -102.50 162.50 12.50 0.634357 -102.50 162.50 17.50 0.734155 -102.50 162.50 22.50 0.689209 -102.50 162.50 27.50 0.688366 -102.50 162.50 32.50 0.936156 -102.50 162.50 37.50 1.39061 -102.50 162.50 42.50 1.99347 -102.50 162.50 47.50 2.53465 -102.50 162.50 52.50 2.64716 -102.50 162.50 57.50 2.2721 -102.50 162.50 62.50 1.72951 -102.50 162.50 67.50 1.16572 -102.50 162.50 72.50 0.700174 -102.50 162.50 77.50 0.416464 -102.50 162.50 82.50 0.242003 -102.50 162.50 87.50 0.222831 -102.50 162.50 92.50 0.335764 -102.50 162.50 97.50 0.477904 -102.50 162.50 102.50 0.634357 -102.50 162.50 107.50 0.734155 -102.50 162.50 112.50 0.689209 -102.50 162.50 117.50 0.688366 -102.50 162.50 122.50 0.936157 -102.50 162.50 127.50 1.39061 -102.50 162.50 132.50 1.99347 -102.50 162.50 137.50 2.53465 -102.50 162.50 142.50 2.64716 -102.50 162.50 147.50 2.2721 -102.50 162.50 152.50 1.72951 -102.50 162.50 157.50 1.16572 -102.50 162.50 162.50 0.700174 -102.50 162.50 167.50 0.416464 -102.50 162.50 172.50 0.242003 -102.50 162.50 177.50 0.222832 -102.50 162.50 182.50 0.335764 -102.50 162.50 187.50 0.477904 -102.50 162.50 192.50 0.634357 -102.50 162.50 197.50 0.734155 -102.50 162.50 202.50 0.689209 -102.50 162.50 207.50 0.688366 -102.50 162.50 212.50 0.936155 -102.50 162.50 217.50 1.39061 -102.50 162.50 222.50 1.99347 -102.50 162.50 227.50 2.53465 -102.50 162.50 232.50 2.64716 -102.50 162.50 237.50 2.2721 -102.50 162.50 242.50 1.72951 -102.50 162.50 247.50 1.16572 -102.50 162.50 252.50 0.700174 -102.50 162.50 257.50 0.416464 -102.50 162.50 262.50 0.242003 -102.50 162.50 267.50 0.222832 -102.50 162.50 272.50 0.335764 -102.50 162.50 277.50 0.477904 -102.50 162.50 282.50 0.634356 -102.50 162.50 287.50 0.734155 -102.50 162.50 292.50 0.689209 -102.50 162.50 297.50 0.688366 -102.50 162.50 302.50 0.936155 -102.50 162.50 307.50 1.39061 -102.50 162.50 312.50 1.99347 -102.50 162.50 317.50 2.53465 -102.50 162.50 322.50 2.64716 -102.50 162.50 327.50 2.2721 -102.50 162.50 332.50 1.72951 -102.50 162.50 337.50 1.16572 -102.50 162.50 342.50 0.700175 -102.50 162.50 347.50 0.416465 -102.50 162.50 352.50 0.242003 -102.50 162.50 357.50 0.222831 -102.50 167.50 2.50 0.422612 -102.50 167.50 7.50 0.61695 -102.50 167.50 12.50 0.752467 -102.50 167.50 17.50 0.793547 -102.50 167.50 22.50 0.664736 -102.50 167.50 27.50 0.523012 -102.50 167.50 32.50 0.549046 -102.50 167.50 37.50 0.813275 -102.50 167.50 42.50 1.12062 -102.50 167.50 47.50 1.34198 -102.50 167.50 52.50 1.35538 -102.50 167.50 57.50 1.19043 -102.50 167.50 62.50 0.958856 -102.50 167.50 67.50 0.755381 -102.50 167.50 72.50 0.533063 -102.50 167.50 77.50 0.326764 -102.50 167.50 82.50 0.20374 -102.50 167.50 87.50 0.257716 -102.50 167.50 92.50 0.422612 -102.50 167.50 97.50 0.61695 -102.50 167.50 102.50 0.752468 -102.50 167.50 107.50 0.793546 -102.50 167.50 112.50 0.664736 -102.50 167.50 117.50 0.523012 -102.50 167.50 122.50 0.549046 -102.50 167.50 127.50 0.813275 -102.50 167.50 132.50 1.12062 -102.50 167.50 137.50 1.34198 -102.50 167.50 142.50 1.35538 -102.50 167.50 147.50 1.19043 -102.50 167.50 152.50 0.958856 -102.50 167.50 157.50 0.755382 -102.50 167.50 162.50 0.533063 -102.50 167.50 167.50 0.326764 -102.50 167.50 172.50 0.20374 -102.50 167.50 177.50 0.257716 -102.50 167.50 182.50 0.422612 -102.50 167.50 187.50 0.61695 -102.50 167.50 192.50 0.752468 -102.50 167.50 197.50 0.793546 -102.50 167.50 202.50 0.664736 -102.50 167.50 207.50 0.523012 -102.50 167.50 212.50 0.549046 -102.50 167.50 217.50 0.813274 -102.50 167.50 222.50 1.12062 -102.50 167.50 227.50 1.34198 -102.50 167.50 232.50 1.35538 -102.50 167.50 237.50 1.19043 -102.50 167.50 242.50 0.958855 -102.50 167.50 247.50 0.755381 -102.50 167.50 252.50 0.533063 -102.50 167.50 257.50 0.326764 -102.50 167.50 262.50 0.20374 -102.50 167.50 267.50 0.257716 -102.50 167.50 272.50 0.422612 -102.50 167.50 277.50 0.61695 -102.50 167.50 282.50 0.752467 -102.50 167.50 287.50 0.793547 -102.50 167.50 292.50 0.664736 -102.50 167.50 297.50 0.523013 -102.50 167.50 302.50 0.549045 -102.50 167.50 307.50 0.813274 -102.50 167.50 312.50 1.12062 -102.50 167.50 317.50 1.34198 -102.50 167.50 322.50 1.35538 -102.50 167.50 327.50 1.19043 -102.50 167.50 332.50 0.958856 -102.50 167.50 337.50 0.755382 -102.50 167.50 342.50 0.533064 -102.50 167.50 347.50 0.326764 -102.50 167.50 352.50 0.20374 -102.50 167.50 357.50 0.257716 -102.50 172.50 2.50 0.429838 -102.50 172.50 7.50 0.676992 -102.50 172.50 12.50 0.813809 -102.50 172.50 17.50 0.72275 -102.50 172.50 22.50 0.516294 -102.50 172.50 27.50 0.333602 -102.50 172.50 32.50 0.28858 -102.50 172.50 37.50 0.365722 -102.50 172.50 42.50 0.488366 -102.50 172.50 47.50 0.572373 -102.50 172.50 52.50 0.575785 -102.50 172.50 57.50 0.532107 -102.50 172.50 62.50 0.487629 -102.50 172.50 67.50 0.42265 -102.50 172.50 72.50 0.31191 -102.50 172.50 77.50 0.192409 -102.50 172.50 82.50 0.159389 -102.50 172.50 87.50 0.235639 -102.50 172.50 92.50 0.429838 -102.50 172.50 97.50 0.676991 -102.50 172.50 102.50 0.813809 -102.50 172.50 107.50 0.72275 -102.50 172.50 112.50 0.516294 -102.50 172.50 117.50 0.333601 -102.50 172.50 122.50 0.28858 -102.50 172.50 127.50 0.365722 -102.50 172.50 132.50 0.488366 -102.50 172.50 137.50 0.572373 -102.50 172.50 142.50 0.575785 -102.50 172.50 147.50 0.532107 -102.50 172.50 152.50 0.487629 -102.50 172.50 157.50 0.42265 -102.50 172.50 162.50 0.31191 -102.50 172.50 167.50 0.192409 -102.50 172.50 172.50 0.159389 -102.50 172.50 177.50 0.235639 -102.50 172.50 182.50 0.429838 -102.50 172.50 187.50 0.676991 -102.50 172.50 192.50 0.813808 -102.50 172.50 197.50 0.722749 -102.50 172.50 202.50 0.516294 -102.50 172.50 207.50 0.333601 -102.50 172.50 212.50 0.28858 -102.50 172.50 217.50 0.365722 -102.50 172.50 222.50 0.488366 -102.50 172.50 227.50 0.572373 -102.50 172.50 232.50 0.575785 -102.50 172.50 237.50 0.532108 -102.50 172.50 242.50 0.487629 -102.50 172.50 247.50 0.42265 -102.50 172.50 252.50 0.31191 -102.50 172.50 257.50 0.192409 -102.50 172.50 262.50 0.159389 -102.50 172.50 267.50 0.23564 -102.50 172.50 272.50 0.429838 -102.50 172.50 277.50 0.676991 -102.50 172.50 282.50 0.813808 -102.50 172.50 287.50 0.72275 -102.50 172.50 292.50 0.516294 -102.50 172.50 297.50 0.333602 -102.50 172.50 302.50 0.28858 -102.50 172.50 307.50 0.365722 -102.50 172.50 312.50 0.488366 -102.50 172.50 317.50 0.572373 -102.50 172.50 322.50 0.575785 -102.50 172.50 327.50 0.532108 -102.50 172.50 332.50 0.487629 -102.50 172.50 337.50 0.42265 -102.50 172.50 342.50 0.311911 -102.50 172.50 347.50 0.192409 -102.50 172.50 352.50 0.159389 -102.50 172.50 357.50 0.235639 -102.50 177.50 2.50 0.382023 -102.50 177.50 7.50 0.676164 -102.50 177.50 12.50 0.831023 -102.50 177.50 17.50 0.683201 -102.50 177.50 22.50 0.389548 -102.50 177.50 27.50 0.17905 -102.50 177.50 32.50 0.0996237 -102.50 177.50 37.50 0.109342 -102.50 177.50 42.50 0.149476 -102.50 177.50 47.50 0.183937 -102.50 177.50 52.50 0.190282 -102.50 177.50 57.50 0.179473 -102.50 177.50 62.50 0.172036 -102.50 177.50 67.50 0.162391 -102.50 177.50 72.50 0.129792 -102.50 177.50 77.50 0.0946782 -102.50 177.50 82.50 0.0941881 -102.50 177.50 87.50 0.174053 -102.50 177.50 92.50 0.382023 -102.50 177.50 97.50 0.676164 -102.50 177.50 102.50 0.831023 -102.50 177.50 107.50 0.683201 -102.50 177.50 112.50 0.389548 -102.50 177.50 117.50 0.179049 -102.50 177.50 122.50 0.0996237 -102.50 177.50 127.50 0.109342 -102.50 177.50 132.50 0.149477 -102.50 177.50 137.50 0.183937 -102.50 177.50 142.50 0.190282 -102.50 177.50 147.50 0.179473 -102.50 177.50 152.50 0.172036 -102.50 177.50 157.50 0.162391 -102.50 177.50 162.50 0.129792 -102.50 177.50 167.50 0.0946782 -102.50 177.50 172.50 0.0941881 -102.50 177.50 177.50 0.174053 -102.50 177.50 182.50 0.382023 -102.50 177.50 187.50 0.676165 -102.50 177.50 192.50 0.831022 -102.50 177.50 197.50 0.683201 -102.50 177.50 202.50 0.389547 -102.50 177.50 207.50 0.17905 -102.50 177.50 212.50 0.0996237 -102.50 177.50 217.50 0.109341 -102.50 177.50 222.50 0.149476 -102.50 177.50 227.50 0.183937 -102.50 177.50 232.50 0.190282 -102.50 177.50 237.50 0.179473 -102.50 177.50 242.50 0.172036 -102.50 177.50 247.50 0.162391 -102.50 177.50 252.50 0.129792 -102.50 177.50 257.50 0.0946783 -102.50 177.50 262.50 0.0941882 -102.50 177.50 267.50 0.174053 -102.50 177.50 272.50 0.382023 -102.50 177.50 277.50 0.676164 -102.50 177.50 282.50 0.831023 -102.50 177.50 287.50 0.683201 -102.50 177.50 292.50 0.389547 -102.50 177.50 297.50 0.17905 -102.50 177.50 302.50 0.0996237 -102.50 177.50 307.50 0.109341 -102.50 177.50 312.50 0.149476 -102.50 177.50 317.50 0.183937 -102.50 177.50 322.50 0.190282 -102.50 177.50 327.50 0.179473 -102.50 177.50 332.50 0.172036 -102.50 177.50 337.50 0.162391 -102.50 177.50 342.50 0.129792 -102.50 177.50 347.50 0.0946783 -102.50 177.50 352.50 0.094188 -102.50 177.50 357.50 0.174053 -107.50 2.50 2.50 0.149977 -107.50 2.50 7.50 0.0624685 -107.50 2.50 12.50 0.0485219 -107.50 2.50 17.50 0.0601603 -107.50 2.50 22.50 0.0760386 -107.50 2.50 27.50 0.083846 -107.50 2.50 32.50 0.084539 -107.50 2.50 37.50 0.083846 -107.50 2.50 42.50 0.0760385 -107.50 2.50 47.50 0.0601603 -107.50 2.50 52.50 0.0485219 -107.50 2.50 57.50 0.0624686 -107.50 2.50 62.50 0.149977 -107.50 2.50 67.50 0.393273 -107.50 2.50 72.50 0.773179 -107.50 2.50 77.50 0.980476 -107.50 2.50 82.50 0.773179 -107.50 2.50 87.50 0.393272 -107.50 2.50 92.50 0.149977 -107.50 2.50 97.50 0.0624685 -107.50 2.50 102.50 0.0485219 -107.50 2.50 107.50 0.0601603 -107.50 2.50 112.50 0.0760385 -107.50 2.50 117.50 0.083846 -107.50 2.50 122.50 0.084539 -107.50 2.50 127.50 0.083846 -107.50 2.50 132.50 0.0760385 -107.50 2.50 137.50 0.0601603 -107.50 2.50 142.50 0.0485219 -107.50 2.50 147.50 0.0624686 -107.50 2.50 152.50 0.149977 -107.50 2.50 157.50 0.393272 -107.50 2.50 162.50 0.773179 -107.50 2.50 167.50 0.980476 -107.50 2.50 172.50 0.773179 -107.50 2.50 177.50 0.393273 -107.50 2.50 182.50 0.149977 -107.50 2.50 187.50 0.0624685 -107.50 2.50 192.50 0.0485219 -107.50 2.50 197.50 0.0601603 -107.50 2.50 202.50 0.0760386 -107.50 2.50 207.50 0.083846 -107.50 2.50 212.50 0.084539 -107.50 2.50 217.50 0.083846 -107.50 2.50 222.50 0.0760385 -107.50 2.50 227.50 0.0601603 -107.50 2.50 232.50 0.0485219 -107.50 2.50 237.50 0.0624686 -107.50 2.50 242.50 0.149977 -107.50 2.50 247.50 0.393273 -107.50 2.50 252.50 0.773179 -107.50 2.50 257.50 0.980476 -107.50 2.50 262.50 0.773179 -107.50 2.50 267.50 0.393272 -107.50 2.50 272.50 0.149977 -107.50 2.50 277.50 0.0624685 -107.50 2.50 282.50 0.0485219 -107.50 2.50 287.50 0.0601603 -107.50 2.50 292.50 0.0760385 -107.50 2.50 297.50 0.083846 -107.50 2.50 302.50 0.084539 -107.50 2.50 307.50 0.083846 -107.50 2.50 312.50 0.0760385 -107.50 2.50 317.50 0.0601603 -107.50 2.50 322.50 0.048522 -107.50 2.50 327.50 0.0624686 -107.50 2.50 332.50 0.149977 -107.50 2.50 337.50 0.393272 -107.50 2.50 342.50 0.773178 -107.50 2.50 347.50 0.980476 -107.50 2.50 352.50 0.773179 -107.50 2.50 357.50 0.393273 -107.50 7.50 2.50 0.172971 -107.50 7.50 7.50 0.0902106 -107.50 7.50 12.50 0.0855308 -107.50 7.50 17.50 0.118386 -107.50 7.50 22.50 0.15669 -107.50 7.50 27.50 0.174065 -107.50 7.50 32.50 0.174825 -107.50 7.50 37.50 0.187043 -107.50 7.50 42.50 0.189422 -107.50 7.50 47.50 0.164881 -107.50 7.50 52.50 0.126408 -107.50 7.50 57.50 0.112652 -107.50 7.50 62.50 0.180691 -107.50 7.50 67.50 0.393842 -107.50 7.50 72.50 0.691079 -107.50 7.50 77.50 0.837588 -107.50 7.50 82.50 0.678346 -107.50 7.50 87.50 0.381827 -107.50 7.50 92.50 0.172972 -107.50 7.50 97.50 0.0902106 -107.50 7.50 102.50 0.0855308 -107.50 7.50 107.50 0.118386 -107.50 7.50 112.50 0.15669 -107.50 7.50 117.50 0.174065 -107.50 7.50 122.50 0.174825 -107.50 7.50 127.50 0.187043 -107.50 7.50 132.50 0.189422 -107.50 7.50 137.50 0.164881 -107.50 7.50 142.50 0.126408 -107.50 7.50 147.50 0.112652 -107.50 7.50 152.50 0.180691 -107.50 7.50 157.50 0.393842 -107.50 7.50 162.50 0.691079 -107.50 7.50 167.50 0.837588 -107.50 7.50 172.50 0.678346 -107.50 7.50 177.50 0.381828 -107.50 7.50 182.50 0.172971 -107.50 7.50 187.50 0.0902106 -107.50 7.50 192.50 0.0855308 -107.50 7.50 197.50 0.118386 -107.50 7.50 202.50 0.15669 -107.50 7.50 207.50 0.174065 -107.50 7.50 212.50 0.174825 -107.50 7.50 217.50 0.187043 -107.50 7.50 222.50 0.189422 -107.50 7.50 227.50 0.164881 -107.50 7.50 232.50 0.126408 -107.50 7.50 237.50 0.112652 -107.50 7.50 242.50 0.180691 -107.50 7.50 247.50 0.393842 -107.50 7.50 252.50 0.691078 -107.50 7.50 257.50 0.837588 -107.50 7.50 262.50 0.678346 -107.50 7.50 267.50 0.381827 -107.50 7.50 272.50 0.172971 -107.50 7.50 277.50 0.0902106 -107.50 7.50 282.50 0.0855309 -107.50 7.50 287.50 0.118386 -107.50 7.50 292.50 0.15669 -107.50 7.50 297.50 0.174065 -107.50 7.50 302.50 0.174825 -107.50 7.50 307.50 0.187043 -107.50 7.50 312.50 0.189422 -107.50 7.50 317.50 0.164881 -107.50 7.50 322.50 0.126408 -107.50 7.50 327.50 0.112652 -107.50 7.50 332.50 0.18069 -107.50 7.50 337.50 0.393842 -107.50 7.50 342.50 0.691078 -107.50 7.50 347.50 0.837588 -107.50 7.50 352.50 0.678347 -107.50 7.50 357.50 0.381828 -107.50 12.50 2.50 0.230709 -107.50 12.50 7.50 0.145288 -107.50 12.50 12.50 0.159494 -107.50 12.50 17.50 0.242567 -107.50 12.50 22.50 0.370092 -107.50 12.50 27.50 0.457378 -107.50 12.50 32.50 0.512493 -107.50 12.50 37.50 0.574047 -107.50 12.50 42.50 0.597213 -107.50 12.50 47.50 0.543761 -107.50 12.50 52.50 0.430596 -107.50 12.50 57.50 0.335433 -107.50 12.50 62.50 0.371627 -107.50 12.50 67.50 0.567897 -107.50 12.50 72.50 0.794106 -107.50 12.50 77.50 0.838583 -107.50 12.50 82.50 0.681812 -107.50 12.50 87.50 0.427284 -107.50 12.50 92.50 0.230709 -107.50 12.50 97.50 0.145288 -107.50 12.50 102.50 0.159494 -107.50 12.50 107.50 0.242567 -107.50 12.50 112.50 0.370092 -107.50 12.50 117.50 0.457379 -107.50 12.50 122.50 0.512493 -107.50 12.50 127.50 0.574047 -107.50 12.50 132.50 0.597213 -107.50 12.50 137.50 0.543761 -107.50 12.50 142.50 0.430596 -107.50 12.50 147.50 0.335433 -107.50 12.50 152.50 0.371627 -107.50 12.50 157.50 0.567896 -107.50 12.50 162.50 0.794106 -107.50 12.50 167.50 0.838584 -107.50 12.50 172.50 0.681812 -107.50 12.50 177.50 0.427285 -107.50 12.50 182.50 0.230709 -107.50 12.50 187.50 0.145288 -107.50 12.50 192.50 0.159494 -107.50 12.50 197.50 0.242567 -107.50 12.50 202.50 0.370092 -107.50 12.50 207.50 0.457378 -107.50 12.50 212.50 0.512493 -107.50 12.50 217.50 0.574047 -107.50 12.50 222.50 0.597212 -107.50 12.50 227.50 0.543761 -107.50 12.50 232.50 0.430596 -107.50 12.50 237.50 0.335433 -107.50 12.50 242.50 0.371627 -107.50 12.50 247.50 0.567897 -107.50 12.50 252.50 0.794106 -107.50 12.50 257.50 0.838583 -107.50 12.50 262.50 0.681812 -107.50 12.50 267.50 0.427284 -107.50 12.50 272.50 0.230709 -107.50 12.50 277.50 0.145288 -107.50 12.50 282.50 0.159494 -107.50 12.50 287.50 0.242567 -107.50 12.50 292.50 0.370092 -107.50 12.50 297.50 0.457378 -107.50 12.50 302.50 0.512493 -107.50 12.50 307.50 0.574047 -107.50 12.50 312.50 0.597212 -107.50 12.50 317.50 0.543761 -107.50 12.50 322.50 0.430596 -107.50 12.50 327.50 0.335433 -107.50 12.50 332.50 0.371627 -107.50 12.50 337.50 0.567896 -107.50 12.50 342.50 0.794106 -107.50 12.50 347.50 0.838584 -107.50 12.50 352.50 0.681812 -107.50 12.50 357.50 0.427285 -107.50 17.50 2.50 0.244704 -107.50 17.50 7.50 0.170695 -107.50 17.50 12.50 0.211335 -107.50 17.50 17.50 0.403468 -107.50 17.50 22.50 0.645139 -107.50 17.50 27.50 0.875551 -107.50 17.50 32.50 1.09907 -107.50 17.50 37.50 1.33038 -107.50 17.50 42.50 1.43216 -107.50 17.50 47.50 1.30328 -107.50 17.50 52.50 1.01527 -107.50 17.50 57.50 0.733603 -107.50 17.50 62.50 0.614572 -107.50 17.50 67.50 0.757982 -107.50 17.50 72.50 0.904768 -107.50 17.50 77.50 0.848716 -107.50 17.50 82.50 0.628789 -107.50 17.50 87.50 0.41502 -107.50 17.50 92.50 0.244703 -107.50 17.50 97.50 0.170695 -107.50 17.50 102.50 0.211335 -107.50 17.50 107.50 0.403468 -107.50 17.50 112.50 0.645138 -107.50 17.50 117.50 0.875551 -107.50 17.50 122.50 1.09907 -107.50 17.50 127.50 1.33038 -107.50 17.50 132.50 1.43216 -107.50 17.50 137.50 1.30328 -107.50 17.50 142.50 1.01527 -107.50 17.50 147.50 0.733603 -107.50 17.50 152.50 0.614572 -107.50 17.50 157.50 0.757982 -107.50 17.50 162.50 0.904768 -107.50 17.50 167.50 0.848716 -107.50 17.50 172.50 0.628789 -107.50 17.50 177.50 0.41502 -107.50 17.50 182.50 0.244703 -107.50 17.50 187.50 0.170695 -107.50 17.50 192.50 0.211335 -107.50 17.50 197.50 0.403469 -107.50 17.50 202.50 0.645138 -107.50 17.50 207.50 0.87555 -107.50 17.50 212.50 1.09907 -107.50 17.50 217.50 1.33038 -107.50 17.50 222.50 1.43216 -107.50 17.50 227.50 1.30328 -107.50 17.50 232.50 1.01527 -107.50 17.50 237.50 0.733603 -107.50 17.50 242.50 0.614572 -107.50 17.50 247.50 0.757982 -107.50 17.50 252.50 0.904768 -107.50 17.50 257.50 0.848715 -107.50 17.50 262.50 0.628788 -107.50 17.50 267.50 0.415019 -107.50 17.50 272.50 0.244703 -107.50 17.50 277.50 0.170695 -107.50 17.50 282.50 0.211335 -107.50 17.50 287.50 0.403469 -107.50 17.50 292.50 0.645138 -107.50 17.50 297.50 0.87555 -107.50 17.50 302.50 1.09907 -107.50 17.50 307.50 1.33038 -107.50 17.50 312.50 1.43216 -107.50 17.50 317.50 1.30328 -107.50 17.50 322.50 1.01527 -107.50 17.50 327.50 0.733604 -107.50 17.50 332.50 0.614572 -107.50 17.50 337.50 0.757981 -107.50 17.50 342.50 0.904768 -107.50 17.50 347.50 0.848716 -107.50 17.50 352.50 0.628789 -107.50 17.50 357.50 0.41502 -107.50 22.50 2.50 0.200246 -107.50 22.50 7.50 0.162877 -107.50 22.50 12.50 0.271564 -107.50 22.50 17.50 0.529187 -107.50 22.50 22.50 0.900621 -107.50 22.50 27.50 1.45356 -107.50 22.50 32.50 2.08212 -107.50 22.50 37.50 2.63506 -107.50 22.50 42.50 2.83112 -107.50 22.50 47.50 2.43961 -107.50 22.50 52.50 1.76351 -107.50 22.50 57.50 1.21643 -107.50 22.50 62.50 0.915795 -107.50 22.50 67.50 0.844619 -107.50 22.50 72.50 0.870101 -107.50 22.50 77.50 0.741938 -107.50 22.50 82.50 0.51311 -107.50 22.50 87.50 0.322734 -107.50 22.50 92.50 0.200246 -107.50 22.50 97.50 0.162877 -107.50 22.50 102.50 0.271564 -107.50 22.50 107.50 0.529187 -107.50 22.50 112.50 0.900621 -107.50 22.50 117.50 1.45356 -107.50 22.50 122.50 2.08212 -107.50 22.50 127.50 2.63506 -107.50 22.50 132.50 2.83112 -107.50 22.50 137.50 2.43961 -107.50 22.50 142.50 1.76351 -107.50 22.50 147.50 1.21643 -107.50 22.50 152.50 0.915796 -107.50 22.50 157.50 0.84462 -107.50 22.50 162.50 0.870101 -107.50 22.50 167.50 0.741939 -107.50 22.50 172.50 0.51311 -107.50 22.50 177.50 0.322734 -107.50 22.50 182.50 0.200246 -107.50 22.50 187.50 0.162877 -107.50 22.50 192.50 0.271564 -107.50 22.50 197.50 0.529187 -107.50 22.50 202.50 0.900621 -107.50 22.50 207.50 1.45356 -107.50 22.50 212.50 2.08212 -107.50 22.50 217.50 2.63506 -107.50 22.50 222.50 2.83112 -107.50 22.50 227.50 2.43961 -107.50 22.50 232.50 1.76351 -107.50 22.50 237.50 1.21643 -107.50 22.50 242.50 0.915795 -107.50 22.50 247.50 0.84462 -107.50 22.50 252.50 0.8701 -107.50 22.50 257.50 0.741938 -107.50 22.50 262.50 0.51311 -107.50 22.50 267.50 0.322734 -107.50 22.50 272.50 0.200246 -107.50 22.50 277.50 0.162877 -107.50 22.50 282.50 0.271564 -107.50 22.50 287.50 0.529187 -107.50 22.50 292.50 0.900621 -107.50 22.50 297.50 1.45356 -107.50 22.50 302.50 2.08212 -107.50 22.50 307.50 2.63506 -107.50 22.50 312.50 2.83112 -107.50 22.50 317.50 2.43961 -107.50 22.50 322.50 1.76351 -107.50 22.50 327.50 1.21643 -107.50 22.50 332.50 0.915796 -107.50 22.50 337.50 0.84462 -107.50 22.50 342.50 0.8701 -107.50 22.50 347.50 0.741939 -107.50 22.50 352.50 0.513111 -107.50 22.50 357.50 0.322735 -107.50 27.50 2.50 0.151509 -107.50 27.50 7.50 0.163149 -107.50 27.50 12.50 0.338627 -107.50 27.50 17.50 0.660137 -107.50 27.50 22.50 1.23538 -107.50 27.50 27.50 2.11979 -107.50 27.50 32.50 3.18725 -107.50 27.50 37.50 4.03102 -107.50 27.50 42.50 4.26268 -107.50 27.50 47.50 3.69947 -107.50 27.50 52.50 2.543 -107.50 27.50 57.50 1.56999 -107.50 27.50 62.50 0.994932 -107.50 27.50 67.50 0.756146 -107.50 27.50 72.50 0.657065 -107.50 27.50 77.50 0.520586 -107.50 27.50 82.50 0.342609 -107.50 27.50 87.50 0.213904 -107.50 27.50 92.50 0.151509 -107.50 27.50 97.50 0.163149 -107.50 27.50 102.50 0.338627 -107.50 27.50 107.50 0.660137 -107.50 27.50 112.50 1.23538 -107.50 27.50 117.50 2.11979 -107.50 27.50 122.50 3.18725 -107.50 27.50 127.50 4.03102 -107.50 27.50 132.50 4.26268 -107.50 27.50 137.50 3.69947 -107.50 27.50 142.50 2.543 -107.50 27.50 147.50 1.56999 -107.50 27.50 152.50 0.994933 -107.50 27.50 157.50 0.756146 -107.50 27.50 162.50 0.657065 -107.50 27.50 167.50 0.520585 -107.50 27.50 172.50 0.342609 -107.50 27.50 177.50 0.213904 -107.50 27.50 182.50 0.151509 -107.50 27.50 187.50 0.163149 -107.50 27.50 192.50 0.338627 -107.50 27.50 197.50 0.660137 -107.50 27.50 202.50 1.23538 -107.50 27.50 207.50 2.11979 -107.50 27.50 212.50 3.18725 -107.50 27.50 217.50 4.03102 -107.50 27.50 222.50 4.26268 -107.50 27.50 227.50 3.69947 -107.50 27.50 232.50 2.543 -107.50 27.50 237.50 1.56999 -107.50 27.50 242.50 0.994931 -107.50 27.50 247.50 0.756146 -107.50 27.50 252.50 0.657065 -107.50 27.50 257.50 0.520585 -107.50 27.50 262.50 0.342609 -107.50 27.50 267.50 0.213904 -107.50 27.50 272.50 0.151509 -107.50 27.50 277.50 0.163149 -107.50 27.50 282.50 0.338627 -107.50 27.50 287.50 0.660137 -107.50 27.50 292.50 1.23538 -107.50 27.50 297.50 2.11978 -107.50 27.50 302.50 3.18725 -107.50 27.50 307.50 4.03102 -107.50 27.50 312.50 4.26268 -107.50 27.50 317.50 3.69947 -107.50 27.50 322.50 2.543 -107.50 27.50 327.50 1.57 -107.50 27.50 332.50 0.994933 -107.50 27.50 337.50 0.756146 -107.50 27.50 342.50 0.657065 -107.50 27.50 347.50 0.520586 -107.50 27.50 352.50 0.342609 -107.50 27.50 357.50 0.213904 -107.50 32.50 2.50 0.120114 -107.50 32.50 7.50 0.165638 -107.50 32.50 12.50 0.370235 -107.50 32.50 17.50 0.736702 -107.50 32.50 22.50 1.36108 -107.50 32.50 27.50 2.39178 -107.50 32.50 32.50 3.66089 -107.50 32.50 37.50 4.68617 -107.50 32.50 42.50 4.88608 -107.50 32.50 47.50 4.10746 -107.50 32.50 52.50 2.76555 -107.50 32.50 57.50 1.5877 -107.50 32.50 62.50 0.877346 -107.50 32.50 67.50 0.544435 -107.50 32.50 72.50 0.392575 -107.50 32.50 77.50 0.274827 -107.50 32.50 82.50 0.188216 -107.50 32.50 87.50 0.139043 -107.50 32.50 92.50 0.120114 -107.50 32.50 97.50 0.165638 -107.50 32.50 102.50 0.370236 -107.50 32.50 107.50 0.736702 -107.50 32.50 112.50 1.36108 -107.50 32.50 117.50 2.39178 -107.50 32.50 122.50 3.66089 -107.50 32.50 127.50 4.68617 -107.50 32.50 132.50 4.88608 -107.50 32.50 137.50 4.10746 -107.50 32.50 142.50 2.76555 -107.50 32.50 147.50 1.5877 -107.50 32.50 152.50 0.877346 -107.50 32.50 157.50 0.544436 -107.50 32.50 162.50 0.392575 -107.50 32.50 167.50 0.274827 -107.50 32.50 172.50 0.188216 -107.50 32.50 177.50 0.139043 -107.50 32.50 182.50 0.120114 -107.50 32.50 187.50 0.165638 -107.50 32.50 192.50 0.370236 -107.50 32.50 197.50 0.736702 -107.50 32.50 202.50 1.36108 -107.50 32.50 207.50 2.39178 -107.50 32.50 212.50 3.66089 -107.50 32.50 217.50 4.68617 -107.50 32.50 222.50 4.88608 -107.50 32.50 227.50 4.10746 -107.50 32.50 232.50 2.76555 -107.50 32.50 237.50 1.5877 -107.50 32.50 242.50 0.877345 -107.50 32.50 247.50 0.544435 -107.50 32.50 252.50 0.392575 -107.50 32.50 257.50 0.274827 -107.50 32.50 262.50 0.188216 -107.50 32.50 267.50 0.139043 -107.50 32.50 272.50 0.120114 -107.50 32.50 277.50 0.165638 -107.50 32.50 282.50 0.370236 -107.50 32.50 287.50 0.736702 -107.50 32.50 292.50 1.36108 -107.50 32.50 297.50 2.39178 -107.50 32.50 302.50 3.66089 -107.50 32.50 307.50 4.68617 -107.50 32.50 312.50 4.88608 -107.50 32.50 317.50 4.10746 -107.50 32.50 322.50 2.76555 -107.50 32.50 327.50 1.58771 -107.50 32.50 332.50 0.877347 -107.50 32.50 337.50 0.544436 -107.50 32.50 342.50 0.392575 -107.50 32.50 347.50 0.274827 -107.50 32.50 352.50 0.188216 -107.50 32.50 357.50 0.139043 -107.50 37.50 2.50 0.0808849 -107.50 37.50 7.50 0.128762 -107.50 37.50 12.50 0.298984 -107.50 37.50 17.50 0.605834 -107.50 37.50 22.50 1.08813 -107.50 37.50 27.50 1.9463 -107.50 37.50 32.50 3.10365 -107.50 37.50 37.50 3.98926 -107.50 37.50 42.50 4.07566 -107.50 37.50 47.50 3.37367 -107.50 37.50 52.50 2.22831 -107.50 37.50 57.50 1.1898 -107.50 37.50 62.50 0.596479 -107.50 37.50 67.50 0.318722 -107.50 37.50 72.50 0.18127 -107.50 37.50 77.50 0.111015 -107.50 37.50 82.50 0.0865845 -107.50 37.50 87.50 0.0834133 -107.50 37.50 92.50 0.080885 -107.50 37.50 97.50 0.128762 -107.50 37.50 102.50 0.298984 -107.50 37.50 107.50 0.605833 -107.50 37.50 112.50 1.08813 -107.50 37.50 117.50 1.9463 -107.50 37.50 122.50 3.10365 -107.50 37.50 127.50 3.98926 -107.50 37.50 132.50 4.07566 -107.50 37.50 137.50 3.37367 -107.50 37.50 142.50 2.22831 -107.50 37.50 147.50 1.1898 -107.50 37.50 152.50 0.59648 -107.50 37.50 157.50 0.318723 -107.50 37.50 162.50 0.18127 -107.50 37.50 167.50 0.111016 -107.50 37.50 172.50 0.0865845 -107.50 37.50 177.50 0.0834134 -107.50 37.50 182.50 0.080885 -107.50 37.50 187.50 0.128762 -107.50 37.50 192.50 0.298984 -107.50 37.50 197.50 0.605834 -107.50 37.50 202.50 1.08813 -107.50 37.50 207.50 1.9463 -107.50 37.50 212.50 3.10365 -107.50 37.50 217.50 3.98926 -107.50 37.50 222.50 4.07566 -107.50 37.50 227.50 3.37368 -107.50 37.50 232.50 2.22831 -107.50 37.50 237.50 1.1898 -107.50 37.50 242.50 0.596479 -107.50 37.50 247.50 0.318722 -107.50 37.50 252.50 0.18127 -107.50 37.50 257.50 0.111015 -107.50 37.50 262.50 0.0865845 -107.50 37.50 267.50 0.0834134 -107.50 37.50 272.50 0.080885 -107.50 37.50 277.50 0.128762 -107.50 37.50 282.50 0.298984 -107.50 37.50 287.50 0.605833 -107.50 37.50 292.50 1.08813 -107.50 37.50 297.50 1.9463 -107.50 37.50 302.50 3.10365 -107.50 37.50 307.50 3.98926 -107.50 37.50 312.50 4.07565 -107.50 37.50 317.50 3.37367 -107.50 37.50 322.50 2.22832 -107.50 37.50 327.50 1.1898 -107.50 37.50 332.50 0.59648 -107.50 37.50 337.50 0.318723 -107.50 37.50 342.50 0.18127 -107.50 37.50 347.50 0.111016 -107.50 37.50 352.50 0.0865846 -107.50 37.50 357.50 0.0834134 -107.50 42.50 2.50 0.0382171 -107.50 42.50 7.50 0.0661282 -107.50 42.50 12.50 0.171239 -107.50 42.50 17.50 0.351671 -107.50 42.50 22.50 0.623572 -107.50 42.50 27.50 1.15799 -107.50 42.50 32.50 1.92429 -107.50 42.50 37.50 2.46393 -107.50 42.50 42.50 2.48996 -107.50 42.50 47.50 2.00341 -107.50 42.50 52.50 1.25778 -107.50 42.50 57.50 0.621456 -107.50 42.50 62.50 0.293625 -107.50 42.50 67.50 0.137949 -107.50 42.50 72.50 0.0639958 -107.50 42.50 77.50 0.035394 -107.50 42.50 82.50 0.0344762 -107.50 42.50 87.50 0.0398608 -107.50 42.50 92.50 0.0382171 -107.50 42.50 97.50 0.0661283 -107.50 42.50 102.50 0.171239 -107.50 42.50 107.50 0.351671 -107.50 42.50 112.50 0.623572 -107.50 42.50 117.50 1.15799 -107.50 42.50 122.50 1.92429 -107.50 42.50 127.50 2.46393 -107.50 42.50 132.50 2.48996 -107.50 42.50 137.50 2.00341 -107.50 42.50 142.50 1.25778 -107.50 42.50 147.50 0.621456 -107.50 42.50 152.50 0.293625 -107.50 42.50 157.50 0.13795 -107.50 42.50 162.50 0.0639958 -107.50 42.50 167.50 0.035394 -107.50 42.50 172.50 0.0344762 -107.50 42.50 177.50 0.0398608 -107.50 42.50 182.50 0.0382171 -107.50 42.50 187.50 0.0661283 -107.50 42.50 192.50 0.171239 -107.50 42.50 197.50 0.351671 -107.50 42.50 202.50 0.623573 -107.50 42.50 207.50 1.15799 -107.50 42.50 212.50 1.92429 -107.50 42.50 217.50 2.46393 -107.50 42.50 222.50 2.48996 -107.50 42.50 227.50 2.00341 -107.50 42.50 232.50 1.25778 -107.50 42.50 237.50 0.621455 -107.50 42.50 242.50 0.293625 -107.50 42.50 247.50 0.137949 -107.50 42.50 252.50 0.0639956 -107.50 42.50 257.50 0.035394 -107.50 42.50 262.50 0.0344762 -107.50 42.50 267.50 0.0398609 -107.50 42.50 272.50 0.0382172 -107.50 42.50 277.50 0.0661283 -107.50 42.50 282.50 0.171239 -107.50 42.50 287.50 0.351671 -107.50 42.50 292.50 0.623573 -107.50 42.50 297.50 1.15799 -107.50 42.50 302.50 1.92429 -107.50 42.50 307.50 2.46393 -107.50 42.50 312.50 2.48996 -107.50 42.50 317.50 2.00341 -107.50 42.50 322.50 1.25778 -107.50 42.50 327.50 0.621456 -107.50 42.50 332.50 0.293626 -107.50 42.50 337.50 0.13795 -107.50 42.50 342.50 0.0639959 -107.50 42.50 347.50 0.035394 -107.50 42.50 352.50 0.0344762 -107.50 42.50 357.50 0.0398608 -107.50 47.50 2.50 0.0202141 -107.50 47.50 7.50 0.025361 -107.50 47.50 12.50 0.0715267 -107.50 47.50 17.50 0.146182 -107.50 47.50 22.50 0.261568 -107.50 47.50 27.50 0.531261 -107.50 47.50 32.50 0.880611 -107.50 47.50 37.50 1.09789 -107.50 47.50 42.50 0.983075 -107.50 47.50 47.50 0.784647 -107.50 47.50 52.50 0.434232 -107.50 47.50 57.50 0.231455 -107.50 47.50 62.50 0.0933622 -107.50 47.50 67.50 0.0442034 -107.50 47.50 72.50 0.0207145 -107.50 47.50 77.50 0.0162197 -107.50 47.50 82.50 0.023494 -107.50 47.50 87.50 0.0278132 -107.50 47.50 92.50 0.0202141 -107.50 47.50 97.50 0.025361 -107.50 47.50 102.50 0.0715267 -107.50 47.50 107.50 0.146182 -107.50 47.50 112.50 0.261567 -107.50 47.50 117.50 0.531261 -107.50 47.50 122.50 0.880611 -107.50 47.50 127.50 1.09789 -107.50 47.50 132.50 0.983075 -107.50 47.50 137.50 0.784647 -107.50 47.50 142.50 0.434232 -107.50 47.50 147.50 0.231455 -107.50 47.50 152.50 0.0933623 -107.50 47.50 157.50 0.0442034 -107.50 47.50 162.50 0.0207145 -107.50 47.50 167.50 0.0162197 -107.50 47.50 172.50 0.023494 -107.50 47.50 177.50 0.0278132 -107.50 47.50 182.50 0.0202141 -107.50 47.50 187.50 0.025361 -107.50 47.50 192.50 0.0715268 -107.50 47.50 197.50 0.146183 -107.50 47.50 202.50 0.261568 -107.50 47.50 207.50 0.53126 -107.50 47.50 212.50 0.880611 -107.50 47.50 217.50 1.09789 -107.50 47.50 222.50 0.983075 -107.50 47.50 227.50 0.784648 -107.50 47.50 232.50 0.434232 -107.50 47.50 237.50 0.231455 -107.50 47.50 242.50 0.0933621 -107.50 47.50 247.50 0.0442034 -107.50 47.50 252.50 0.0207145 -107.50 47.50 257.50 0.0162197 -107.50 47.50 262.50 0.023494 -107.50 47.50 267.50 0.0278132 -107.50 47.50 272.50 0.0202141 -107.50 47.50 277.50 0.025361 -107.50 47.50 282.50 0.0715268 -107.50 47.50 287.50 0.146183 -107.50 47.50 292.50 0.261568 -107.50 47.50 297.50 0.53126 -107.50 47.50 302.50 0.880611 -107.50 47.50 307.50 1.09789 -107.50 47.50 312.50 0.983075 -107.50 47.50 317.50 0.784647 -107.50 47.50 322.50 0.434233 -107.50 47.50 327.50 0.231455 -107.50 47.50 332.50 0.0933623 -107.50 47.50 337.50 0.0442035 -107.50 47.50 342.50 0.0207145 -107.50 47.50 347.50 0.0162197 -107.50 47.50 352.50 0.023494 -107.50 47.50 357.50 0.0278132 -107.50 52.50 2.50 0.0382171 -107.50 52.50 7.50 0.0179044 -107.50 52.50 12.50 0.024012 -107.50 52.50 17.50 0.0424702 -107.50 52.50 22.50 0.086809 -107.50 52.50 27.50 0.177265 -107.50 52.50 32.50 0.29171 -107.50 52.50 37.50 0.320091 -107.50 52.50 42.50 0.248773 -107.50 52.50 47.50 0.186435 -107.50 52.50 52.50 0.107731 -107.50 52.50 57.50 0.0542918 -107.50 52.50 62.50 0.0298577 -107.50 52.50 67.50 0.0292199 -107.50 52.50 72.50 0.0366957 -107.50 52.50 77.50 0.0417048 -107.50 52.50 82.50 0.0512642 -107.50 52.50 87.50 0.0575414 -107.50 52.50 92.50 0.0382171 -107.50 52.50 97.50 0.0179044 -107.50 52.50 102.50 0.024012 -107.50 52.50 107.50 0.0424702 -107.50 52.50 112.50 0.086809 -107.50 52.50 117.50 0.177265 -107.50 52.50 122.50 0.29171 -107.50 52.50 127.50 0.320091 -107.50 52.50 132.50 0.248773 -107.50 52.50 137.50 0.186435 -107.50 52.50 142.50 0.107731 -107.50 52.50 147.50 0.0542918 -107.50 52.50 152.50 0.0298577 -107.50 52.50 157.50 0.0292198 -107.50 52.50 162.50 0.0366957 -107.50 52.50 167.50 0.0417048 -107.50 52.50 172.50 0.0512642 -107.50 52.50 177.50 0.0575413 -107.50 52.50 182.50 0.0382171 -107.50 52.50 187.50 0.0179044 -107.50 52.50 192.50 0.024012 -107.50 52.50 197.50 0.0424702 -107.50 52.50 202.50 0.0868091 -107.50 52.50 207.50 0.177265 -107.50 52.50 212.50 0.29171 -107.50 52.50 217.50 0.320091 -107.50 52.50 222.50 0.248773 -107.50 52.50 227.50 0.186435 -107.50 52.50 232.50 0.10773 -107.50 52.50 237.50 0.0542917 -107.50 52.50 242.50 0.0298577 -107.50 52.50 247.50 0.0292199 -107.50 52.50 252.50 0.0366957 -107.50 52.50 257.50 0.0417049 -107.50 52.50 262.50 0.0512642 -107.50 52.50 267.50 0.0575414 -107.50 52.50 272.50 0.0382171 -107.50 52.50 277.50 0.0179044 -107.50 52.50 282.50 0.024012 -107.50 52.50 287.50 0.0424702 -107.50 52.50 292.50 0.086809 -107.50 52.50 297.50 0.177265 -107.50 52.50 302.50 0.291709 -107.50 52.50 307.50 0.320091 -107.50 52.50 312.50 0.248773 -107.50 52.50 317.50 0.186435 -107.50 52.50 322.50 0.107731 -107.50 52.50 327.50 0.0542918 -107.50 52.50 332.50 0.0298578 -107.50 52.50 337.50 0.0292199 -107.50 52.50 342.50 0.0366957 -107.50 52.50 347.50 0.0417049 -107.50 52.50 352.50 0.0512642 -107.50 52.50 357.50 0.0575414 -107.50 57.50 2.50 0.080885 -107.50 57.50 7.50 0.0303794 -107.50 57.50 12.50 0.0135287 -107.50 57.50 17.50 0.010879 -107.50 57.50 22.50 0.0202785 -107.50 57.50 27.50 0.0359702 -107.50 57.50 32.50 0.0554883 -107.50 57.50 37.50 0.0523202 -107.50 57.50 42.50 0.0418998 -107.50 57.50 47.50 0.0384456 -107.50 57.50 52.50 0.0254597 -107.50 57.50 57.50 0.0285112 -107.50 57.50 62.50 0.0510867 -107.50 57.50 67.50 0.0962981 -107.50 57.50 72.50 0.145581 -107.50 57.50 77.50 0.15546 -107.50 57.50 82.50 0.132957 -107.50 57.50 87.50 0.115287 -107.50 57.50 92.50 0.080885 -107.50 57.50 97.50 0.0303794 -107.50 57.50 102.50 0.0135287 -107.50 57.50 107.50 0.010879 -107.50 57.50 112.50 0.0202785 -107.50 57.50 117.50 0.0359703 -107.50 57.50 122.50 0.0554884 -107.50 57.50 127.50 0.0523203 -107.50 57.50 132.50 0.0418998 -107.50 57.50 137.50 0.0384457 -107.50 57.50 142.50 0.0254597 -107.50 57.50 147.50 0.0285112 -107.50 57.50 152.50 0.0510866 -107.50 57.50 157.50 0.096298 -107.50 57.50 162.50 0.145581 -107.50 57.50 167.50 0.15546 -107.50 57.50 172.50 0.132956 -107.50 57.50 177.50 0.115287 -107.50 57.50 182.50 0.0808849 -107.50 57.50 187.50 0.0303794 -107.50 57.50 192.50 0.0135287 -107.50 57.50 197.50 0.010879 -107.50 57.50 202.50 0.0202785 -107.50 57.50 207.50 0.0359702 -107.50 57.50 212.50 0.0554884 -107.50 57.50 217.50 0.0523202 -107.50 57.50 222.50 0.0418998 -107.50 57.50 227.50 0.0384457 -107.50 57.50 232.50 0.0254596 -107.50 57.50 237.50 0.0285112 -107.50 57.50 242.50 0.0510867 -107.50 57.50 247.50 0.0962981 -107.50 57.50 252.50 0.145581 -107.50 57.50 257.50 0.15546 -107.50 57.50 262.50 0.132957 -107.50 57.50 267.50 0.115287 -107.50 57.50 272.50 0.080885 -107.50 57.50 277.50 0.0303794 -107.50 57.50 282.50 0.0135287 -107.50 57.50 287.50 0.010879 -107.50 57.50 292.50 0.0202785 -107.50 57.50 297.50 0.0359702 -107.50 57.50 302.50 0.0554883 -107.50 57.50 307.50 0.0523202 -107.50 57.50 312.50 0.0418998 -107.50 57.50 317.50 0.0384456 -107.50 57.50 322.50 0.0254596 -107.50 57.50 327.50 0.0285112 -107.50 57.50 332.50 0.0510866 -107.50 57.50 337.50 0.096298 -107.50 57.50 342.50 0.145581 -107.50 57.50 347.50 0.15546 -107.50 57.50 352.50 0.132957 -107.50 57.50 357.50 0.115288 -107.50 62.50 2.50 0.120114 -107.50 62.50 7.50 0.0489188 -107.50 62.50 12.50 0.0242279 -107.50 62.50 17.50 0.00922366 -107.50 62.50 22.50 0.00740194 -107.50 62.50 27.50 0.00618048 -107.50 62.50 32.50 0.00698853 -107.50 62.50 37.50 0.0113602 -107.50 62.50 42.50 0.0210899 -107.50 62.50 47.50 0.0416486 -107.50 62.50 52.50 0.0686555 -107.50 62.50 57.50 0.125213 -107.50 62.50 62.50 0.199509 -107.50 62.50 67.50 0.292971 -107.50 62.50 72.50 0.409849 -107.50 62.50 77.50 0.394772 -107.50 62.50 82.50 0.29178 -107.50 62.50 87.50 0.185298 -107.50 62.50 92.50 0.120114 -107.50 62.50 97.50 0.0489187 -107.50 62.50 102.50 0.0242278 -107.50 62.50 107.50 0.00922365 -107.50 62.50 112.50 0.00740193 -107.50 62.50 117.50 0.00618048 -107.50 62.50 122.50 0.00698853 -107.50 62.50 127.50 0.0113602 -107.50 62.50 132.50 0.0210899 -107.50 62.50 137.50 0.0416485 -107.50 62.50 142.50 0.0686555 -107.50 62.50 147.50 0.125213 -107.50 62.50 152.50 0.199509 -107.50 62.50 157.50 0.292971 -107.50 62.50 162.50 0.409849 -107.50 62.50 167.50 0.394771 -107.50 62.50 172.50 0.29178 -107.50 62.50 177.50 0.185298 -107.50 62.50 182.50 0.120114 -107.50 62.50 187.50 0.0489187 -107.50 62.50 192.50 0.0242278 -107.50 62.50 197.50 0.00922367 -107.50 62.50 202.50 0.00740193 -107.50 62.50 207.50 0.00618048 -107.50 62.50 212.50 0.00698853 -107.50 62.50 217.50 0.0113602 -107.50 62.50 222.50 0.0210899 -107.50 62.50 227.50 0.0416485 -107.50 62.50 232.50 0.0686555 -107.50 62.50 237.50 0.125213 -107.50 62.50 242.50 0.199509 -107.50 62.50 247.50 0.292971 -107.50 62.50 252.50 0.409849 -107.50 62.50 257.50 0.394771 -107.50 62.50 262.50 0.29178 -107.50 62.50 267.50 0.185298 -107.50 62.50 272.50 0.120114 -107.50 62.50 277.50 0.0489187 -107.50 62.50 282.50 0.0242278 -107.50 62.50 287.50 0.00922366 -107.50 62.50 292.50 0.00740195 -107.50 62.50 297.50 0.00618047 -107.50 62.50 302.50 0.00698853 -107.50 62.50 307.50 0.0113602 -107.50 62.50 312.50 0.0210899 -107.50 62.50 317.50 0.0416486 -107.50 62.50 322.50 0.0686555 -107.50 62.50 327.50 0.125212 -107.50 62.50 332.50 0.199509 -107.50 62.50 337.50 0.292971 -107.50 62.50 342.50 0.409849 -107.50 62.50 347.50 0.394772 -107.50 62.50 352.50 0.291781 -107.50 62.50 357.50 0.185299 -107.50 67.50 2.50 0.151509 -107.50 67.50 7.50 0.0841843 -107.50 67.50 12.50 0.0565281 -107.50 67.50 17.50 0.0290199 -107.50 67.50 22.50 0.0178428 -107.50 67.50 27.50 0.0115919 -107.50 67.50 32.50 0.0105737 -107.50 67.50 37.50 0.0231849 -107.50 67.50 42.50 0.0619753 -107.50 67.50 47.50 0.143058 -107.50 67.50 52.50 0.280564 -107.50 67.50 57.50 0.417771 -107.50 67.50 62.50 0.583854 -107.50 67.50 67.50 0.771719 -107.50 67.50 72.50 0.848944 -107.50 67.50 77.50 0.784049 -107.50 67.50 82.50 0.529664 -107.50 67.50 87.50 0.268432 -107.50 67.50 92.50 0.151508 -107.50 67.50 97.50 0.0841842 -107.50 67.50 102.50 0.0565281 -107.50 67.50 107.50 0.0290199 -107.50 67.50 112.50 0.0178428 -107.50 67.50 117.50 0.0115919 -107.50 67.50 122.50 0.0105737 -107.50 67.50 127.50 0.0231849 -107.50 67.50 132.50 0.0619753 -107.50 67.50 137.50 0.143058 -107.50 67.50 142.50 0.280564 -107.50 67.50 147.50 0.41777 -107.50 67.50 152.50 0.583853 -107.50 67.50 157.50 0.771719 -107.50 67.50 162.50 0.848944 -107.50 67.50 167.50 0.784048 -107.50 67.50 172.50 0.529664 -107.50 67.50 177.50 0.268433 -107.50 67.50 182.50 0.151509 -107.50 67.50 187.50 0.0841842 -107.50 67.50 192.50 0.056528 -107.50 67.50 197.50 0.0290198 -107.50 67.50 202.50 0.0178428 -107.50 67.50 207.50 0.0115919 -107.50 67.50 212.50 0.0105736 -107.50 67.50 217.50 0.0231848 -107.50 67.50 222.50 0.0619752 -107.50 67.50 227.50 0.143058 -107.50 67.50 232.50 0.280564 -107.50 67.50 237.50 0.417771 -107.50 67.50 242.50 0.583854 -107.50 67.50 247.50 0.771719 -107.50 67.50 252.50 0.848944 -107.50 67.50 257.50 0.784048 -107.50 67.50 262.50 0.529664 -107.50 67.50 267.50 0.268432 -107.50 67.50 272.50 0.151509 -107.50 67.50 277.50 0.0841843 -107.50 67.50 282.50 0.0565281 -107.50 67.50 287.50 0.0290199 -107.50 67.50 292.50 0.0178428 -107.50 67.50 297.50 0.0115919 -107.50 67.50 302.50 0.0105737 -107.50 67.50 307.50 0.0231849 -107.50 67.50 312.50 0.0619753 -107.50 67.50 317.50 0.143058 -107.50 67.50 322.50 0.280564 -107.50 67.50 327.50 0.41777 -107.50 67.50 332.50 0.583853 -107.50 67.50 337.50 0.771719 -107.50 67.50 342.50 0.848944 -107.50 67.50 347.50 0.784049 -107.50 67.50 352.50 0.529665 -107.50 67.50 357.50 0.268433 -107.50 72.50 2.50 0.200246 -107.50 72.50 7.50 0.170016 -107.50 72.50 12.50 0.119157 -107.50 72.50 17.50 0.0816251 -107.50 72.50 22.50 0.0719871 -107.50 72.50 27.50 0.0543211 -107.50 72.50 32.50 0.048728 -107.50 72.50 37.50 0.0956057 -107.50 72.50 42.50 0.224622 -107.50 72.50 47.50 0.434026 -107.50 72.50 52.50 0.747171 -107.50 72.50 57.50 1.02468 -107.50 72.50 62.50 1.23256 -107.50 72.50 67.50 1.49383 -107.50 72.50 72.50 1.55094 -107.50 72.50 77.50 1.26497 -107.50 72.50 82.50 0.766071 -107.50 72.50 87.50 0.377387 -107.50 72.50 92.50 0.200246 -107.50 72.50 97.50 0.170016 -107.50 72.50 102.50 0.119157 -107.50 72.50 107.50 0.081625 -107.50 72.50 112.50 0.071987 -107.50 72.50 117.50 0.0543211 -107.50 72.50 122.50 0.048728 -107.50 72.50 127.50 0.0956056 -107.50 72.50 132.50 0.224622 -107.50 72.50 137.50 0.434025 -107.50 72.50 142.50 0.74717 -107.50 72.50 147.50 1.02467 -107.50 72.50 152.50 1.23256 -107.50 72.50 157.50 1.49383 -107.50 72.50 162.50 1.55094 -107.50 72.50 167.50 1.26497 -107.50 72.50 172.50 0.766071 -107.50 72.50 177.50 0.377387 -107.50 72.50 182.50 0.200246 -107.50 72.50 187.50 0.170016 -107.50 72.50 192.50 0.119157 -107.50 72.50 197.50 0.0816251 -107.50 72.50 202.50 0.071987 -107.50 72.50 207.50 0.0543211 -107.50 72.50 212.50 0.048728 -107.50 72.50 217.50 0.0956055 -107.50 72.50 222.50 0.224621 -107.50 72.50 227.50 0.434025 -107.50 72.50 232.50 0.747171 -107.50 72.50 237.50 1.02467 -107.50 72.50 242.50 1.23256 -107.50 72.50 247.50 1.49383 -107.50 72.50 252.50 1.55094 -107.50 72.50 257.50 1.26497 -107.50 72.50 262.50 0.76607 -107.50 72.50 267.50 0.377387 -107.50 72.50 272.50 0.200246 -107.50 72.50 277.50 0.170016 -107.50 72.50 282.50 0.119157 -107.50 72.50 287.50 0.0816251 -107.50 72.50 292.50 0.071987 -107.50 72.50 297.50 0.0543211 -107.50 72.50 302.50 0.048728 -107.50 72.50 307.50 0.0956056 -107.50 72.50 312.50 0.224622 -107.50 72.50 317.50 0.434025 -107.50 72.50 322.50 0.74717 -107.50 72.50 327.50 1.02467 -107.50 72.50 332.50 1.23256 -107.50 72.50 337.50 1.49383 -107.50 72.50 342.50 1.55094 -107.50 72.50 347.50 1.26497 -107.50 72.50 352.50 0.766072 -107.50 72.50 357.50 0.377388 -107.50 77.50 2.50 0.244704 -107.50 77.50 7.50 0.278137 -107.50 77.50 12.50 0.182174 -107.50 77.50 17.50 0.193121 -107.50 77.50 22.50 0.177703 -107.50 77.50 27.50 0.146755 -107.50 77.50 32.50 0.190522 -107.50 77.50 37.50 0.360379 -107.50 77.50 42.50 0.676224 -107.50 77.50 47.50 1.15349 -107.50 77.50 52.50 1.56178 -107.50 77.50 57.50 1.85379 -107.50 77.50 62.50 2.03098 -107.50 77.50 67.50 2.13414 -107.50 77.50 72.50 2.08213 -107.50 77.50 77.50 1.60304 -107.50 77.50 82.50 0.940417 -107.50 77.50 87.50 0.454511 -107.50 77.50 92.50 0.244704 -107.50 77.50 97.50 0.278137 -107.50 77.50 102.50 0.182174 -107.50 77.50 107.50 0.193121 -107.50 77.50 112.50 0.177703 -107.50 77.50 117.50 0.146755 -107.50 77.50 122.50 0.190522 -107.50 77.50 127.50 0.360379 -107.50 77.50 132.50 0.676224 -107.50 77.50 137.50 1.15349 -107.50 77.50 142.50 1.56178 -107.50 77.50 147.50 1.85379 -107.50 77.50 152.50 2.03098 -107.50 77.50 157.50 2.13414 -107.50 77.50 162.50 2.08213 -107.50 77.50 167.50 1.60305 -107.50 77.50 172.50 0.940418 -107.50 77.50 177.50 0.454511 -107.50 77.50 182.50 0.244703 -107.50 77.50 187.50 0.278137 -107.50 77.50 192.50 0.182174 -107.50 77.50 197.50 0.193121 -107.50 77.50 202.50 0.177703 -107.50 77.50 207.50 0.146755 -107.50 77.50 212.50 0.190522 -107.50 77.50 217.50 0.360379 -107.50 77.50 222.50 0.676224 -107.50 77.50 227.50 1.15349 -107.50 77.50 232.50 1.56178 -107.50 77.50 237.50 1.85379 -107.50 77.50 242.50 2.03098 -107.50 77.50 247.50 2.13414 -107.50 77.50 252.50 2.08213 -107.50 77.50 257.50 1.60304 -107.50 77.50 262.50 0.940416 -107.50 77.50 267.50 0.45451 -107.50 77.50 272.50 0.244704 -107.50 77.50 277.50 0.278137 -107.50 77.50 282.50 0.182174 -107.50 77.50 287.50 0.193121 -107.50 77.50 292.50 0.177703 -107.50 77.50 297.50 0.146755 -107.50 77.50 302.50 0.190522 -107.50 77.50 307.50 0.360379 -107.50 77.50 312.50 0.676224 -107.50 77.50 317.50 1.15349 -107.50 77.50 322.50 1.56178 -107.50 77.50 327.50 1.85379 -107.50 77.50 332.50 2.03098 -107.50 77.50 337.50 2.13414 -107.50 77.50 342.50 2.08213 -107.50 77.50 347.50 1.60305 -107.50 77.50 352.50 0.940419 -107.50 77.50 357.50 0.454512 -107.50 82.50 2.50 0.230709 -107.50 82.50 7.50 0.256431 -107.50 82.50 12.50 0.250356 -107.50 82.50 17.50 0.293102 -107.50 82.50 22.50 0.339523 -107.50 82.50 27.50 0.418266 -107.50 82.50 32.50 0.604672 -107.50 82.50 37.50 0.945098 -107.50 82.50 42.50 1.48837 -107.50 82.50 47.50 2.1376 -107.50 82.50 52.50 2.62261 -107.50 82.50 57.50 2.78082 -107.50 82.50 62.50 2.6922 -107.50 82.50 67.50 2.50909 -107.50 82.50 72.50 2.1347 -107.50 82.50 77.50 1.49965 -107.50 82.50 82.50 0.866701 -107.50 82.50 87.50 0.401083 -107.50 82.50 92.50 0.230709 -107.50 82.50 97.50 0.256431 -107.50 82.50 102.50 0.250356 -107.50 82.50 107.50 0.293102 -107.50 82.50 112.50 0.339523 -107.50 82.50 117.50 0.418267 -107.50 82.50 122.50 0.604672 -107.50 82.50 127.50 0.945097 -107.50 82.50 132.50 1.48837 -107.50 82.50 137.50 2.1376 -107.50 82.50 142.50 2.62261 -107.50 82.50 147.50 2.78082 -107.50 82.50 152.50 2.6922 -107.50 82.50 157.50 2.50909 -107.50 82.50 162.50 2.1347 -107.50 82.50 167.50 1.49965 -107.50 82.50 172.50 0.866702 -107.50 82.50 177.50 0.401083 -107.50 82.50 182.50 0.230709 -107.50 82.50 187.50 0.256431 -107.50 82.50 192.50 0.250356 -107.50 82.50 197.50 0.293102 -107.50 82.50 202.50 0.339523 -107.50 82.50 207.50 0.418267 -107.50 82.50 212.50 0.604672 -107.50 82.50 217.50 0.945096 -107.50 82.50 222.50 1.48837 -107.50 82.50 227.50 2.1376 -107.50 82.50 232.50 2.62262 -107.50 82.50 237.50 2.78082 -107.50 82.50 242.50 2.6922 -107.50 82.50 247.50 2.50909 -107.50 82.50 252.50 2.1347 -107.50 82.50 257.50 1.49965 -107.50 82.50 262.50 0.866701 -107.50 82.50 267.50 0.401083 -107.50 82.50 272.50 0.230709 -107.50 82.50 277.50 0.256431 -107.50 82.50 282.50 0.250356 -107.50 82.50 287.50 0.293103 -107.50 82.50 292.50 0.339523 -107.50 82.50 297.50 0.418267 -107.50 82.50 302.50 0.604672 -107.50 82.50 307.50 0.945096 -107.50 82.50 312.50 1.48837 -107.50 82.50 317.50 2.1376 -107.50 82.50 322.50 2.62261 -107.50 82.50 327.50 2.78082 -107.50 82.50 332.50 2.6922 -107.50 82.50 337.50 2.50909 -107.50 82.50 342.50 2.1347 -107.50 82.50 347.50 1.49966 -107.50 82.50 352.50 0.866702 -107.50 82.50 357.50 0.401083 -107.50 87.50 2.50 0.172972 -107.50 87.50 7.50 0.200923 -107.50 87.50 12.50 0.30334 -107.50 87.50 17.50 0.432495 -107.50 87.50 22.50 0.632584 -107.50 87.50 27.50 0.86674 -107.50 87.50 32.50 1.20968 -107.50 87.50 37.50 1.74094 -107.50 87.50 42.50 2.43256 -107.50 87.50 47.50 3.00907 -107.50 87.50 52.50 3.19831 -107.50 87.50 57.50 3.01113 -107.50 87.50 62.50 2.659 -107.50 87.50 67.50 2.2183 -107.50 87.50 72.50 1.65961 -107.50 87.50 77.50 1.13424 -107.50 87.50 82.50 0.641894 -107.50 87.50 87.50 0.296858 -107.50 87.50 92.50 0.172972 -107.50 87.50 97.50 0.200923 -107.50 87.50 102.50 0.30334 -107.50 87.50 107.50 0.432495 -107.50 87.50 112.50 0.632584 -107.50 87.50 117.50 0.866739 -107.50 87.50 122.50 1.20968 -107.50 87.50 127.50 1.74094 -107.50 87.50 132.50 2.43256 -107.50 87.50 137.50 3.00907 -107.50 87.50 142.50 3.19831 -107.50 87.50 147.50 3.01113 -107.50 87.50 152.50 2.659 -107.50 87.50 157.50 2.2183 -107.50 87.50 162.50 1.65961 -107.50 87.50 167.50 1.13424 -107.50 87.50 172.50 0.641895 -107.50 87.50 177.50 0.296859 -107.50 87.50 182.50 0.172972 -107.50 87.50 187.50 0.200923 -107.50 87.50 192.50 0.30334 -107.50 87.50 197.50 0.432495 -107.50 87.50 202.50 0.632584 -107.50 87.50 207.50 0.866739 -107.50 87.50 212.50 1.20968 -107.50 87.50 217.50 1.74094 -107.50 87.50 222.50 2.43256 -107.50 87.50 227.50 3.00907 -107.50 87.50 232.50 3.19831 -107.50 87.50 237.50 3.01113 -107.50 87.50 242.50 2.65899 -107.50 87.50 247.50 2.2183 -107.50 87.50 252.50 1.65961 -107.50 87.50 257.50 1.13424 -107.50 87.50 262.50 0.641894 -107.50 87.50 267.50 0.296858 -107.50 87.50 272.50 0.172972 -107.50 87.50 277.50 0.200923 -107.50 87.50 282.50 0.30334 -107.50 87.50 287.50 0.432495 -107.50 87.50 292.50 0.632584 -107.50 87.50 297.50 0.866739 -107.50 87.50 302.50 1.20968 -107.50 87.50 307.50 1.74094 -107.50 87.50 312.50 2.43256 -107.50 87.50 317.50 3.00907 -107.50 87.50 322.50 3.19831 -107.50 87.50 327.50 3.01113 -107.50 87.50 332.50 2.659 -107.50 87.50 337.50 2.2183 -107.50 87.50 342.50 1.65962 -107.50 87.50 347.50 1.13424 -107.50 87.50 352.50 0.641896 -107.50 87.50 357.50 0.296859 -107.50 92.50 2.50 0.149977 -107.50 92.50 7.50 0.210388 -107.50 92.50 12.50 0.376554 -107.50 92.50 17.50 0.655401 -107.50 92.50 22.50 1.04451 -107.50 92.50 27.50 1.46987 -107.50 92.50 32.50 1.91896 -107.50 92.50 37.50 2.48318 -107.50 92.50 42.50 3.07557 -107.50 92.50 47.50 3.34429 -107.50 92.50 52.50 3.07557 -107.50 92.50 57.50 2.48318 -107.50 92.50 62.50 1.91896 -107.50 92.50 67.50 1.46987 -107.50 92.50 72.50 1.04451 -107.50 92.50 77.50 0.655401 -107.50 92.50 82.50 0.376554 -107.50 92.50 87.50 0.210389 -107.50 92.50 92.50 0.149977 -107.50 92.50 97.50 0.210388 -107.50 92.50 102.50 0.376554 -107.50 92.50 107.50 0.655401 -107.50 92.50 112.50 1.04451 -107.50 92.50 117.50 1.46987 -107.50 92.50 122.50 1.91896 -107.50 92.50 127.50 2.48319 -107.50 92.50 132.50 3.07557 -107.50 92.50 137.50 3.34429 -107.50 92.50 142.50 3.07557 -107.50 92.50 147.50 2.48319 -107.50 92.50 152.50 1.91896 -107.50 92.50 157.50 1.46987 -107.50 92.50 162.50 1.04451 -107.50 92.50 167.50 0.655401 -107.50 92.50 172.50 0.376555 -107.50 92.50 177.50 0.210389 -107.50 92.50 182.50 0.149977 -107.50 92.50 187.50 0.210388 -107.50 92.50 192.50 0.376554 -107.50 92.50 197.50 0.655401 -107.50 92.50 202.50 1.04451 -107.50 92.50 207.50 1.46987 -107.50 92.50 212.50 1.91896 -107.50 92.50 217.50 2.48318 -107.50 92.50 222.50 3.07557 -107.50 92.50 227.50 3.34429 -107.50 92.50 232.50 3.07557 -107.50 92.50 237.50 2.48318 -107.50 92.50 242.50 1.91896 -107.50 92.50 247.50 1.46987 -107.50 92.50 252.50 1.04451 -107.50 92.50 257.50 0.6554 -107.50 92.50 262.50 0.376554 -107.50 92.50 267.50 0.210388 -107.50 92.50 272.50 0.149977 -107.50 92.50 277.50 0.210388 -107.50 92.50 282.50 0.376554 -107.50 92.50 287.50 0.655401 -107.50 92.50 292.50 1.04451 -107.50 92.50 297.50 1.46987 -107.50 92.50 302.50 1.91896 -107.50 92.50 307.50 2.48318 -107.50 92.50 312.50 3.07557 -107.50 92.50 317.50 3.34429 -107.50 92.50 322.50 3.07558 -107.50 92.50 327.50 2.48319 -107.50 92.50 332.50 1.91896 -107.50 92.50 337.50 1.46987 -107.50 92.50 342.50 1.04451 -107.50 92.50 347.50 0.655401 -107.50 92.50 352.50 0.376555 -107.50 92.50 357.50 0.210389 -107.50 97.50 2.50 0.172972 -107.50 97.50 7.50 0.296858 -107.50 97.50 12.50 0.641895 -107.50 97.50 17.50 1.13424 -107.50 97.50 22.50 1.65962 -107.50 97.50 27.50 2.2183 -107.50 97.50 32.50 2.659 -107.50 97.50 37.50 3.01113 -107.50 97.50 42.50 3.19831 -107.50 97.50 47.50 3.00907 -107.50 97.50 52.50 2.43256 -107.50 97.50 57.50 1.74094 -107.50 97.50 62.50 1.20968 -107.50 97.50 67.50 0.866739 -107.50 97.50 72.50 0.632584 -107.50 97.50 77.50 0.432494 -107.50 97.50 82.50 0.30334 -107.50 97.50 87.50 0.200923 -107.50 97.50 92.50 0.172972 -107.50 97.50 97.50 0.296858 -107.50 97.50 102.50 0.641895 -107.50 97.50 107.50 1.13424 -107.50 97.50 112.50 1.65961 -107.50 97.50 117.50 2.2183 -107.50 97.50 122.50 2.659 -107.50 97.50 127.50 3.01114 -107.50 97.50 132.50 3.19831 -107.50 97.50 137.50 3.00907 -107.50 97.50 142.50 2.43256 -107.50 97.50 147.50 1.74094 -107.50 97.50 152.50 1.20968 -107.50 97.50 157.50 0.86674 -107.50 97.50 162.50 0.632584 -107.50 97.50 167.50 0.432495 -107.50 97.50 172.50 0.30334 -107.50 97.50 177.50 0.200923 -107.50 97.50 182.50 0.172972 -107.50 97.50 187.50 0.296858 -107.50 97.50 192.50 0.641895 -107.50 97.50 197.50 1.13424 -107.50 97.50 202.50 1.65961 -107.50 97.50 207.50 2.2183 -107.50 97.50 212.50 2.659 -107.50 97.50 217.50 3.01113 -107.50 97.50 222.50 3.1983 -107.50 97.50 227.50 3.00907 -107.50 97.50 232.50 2.43256 -107.50 97.50 237.50 1.74093 -107.50 97.50 242.50 1.20968 -107.50 97.50 247.50 0.866739 -107.50 97.50 252.50 0.632584 -107.50 97.50 257.50 0.432494 -107.50 97.50 262.50 0.30334 -107.50 97.50 267.50 0.200923 -107.50 97.50 272.50 0.172972 -107.50 97.50 277.50 0.296858 -107.50 97.50 282.50 0.641895 -107.50 97.50 287.50 1.13424 -107.50 97.50 292.50 1.65961 -107.50 97.50 297.50 2.2183 -107.50 97.50 302.50 2.659 -107.50 97.50 307.50 3.01113 -107.50 97.50 312.50 3.19831 -107.50 97.50 317.50 3.00907 -107.50 97.50 322.50 2.43256 -107.50 97.50 327.50 1.74094 -107.50 97.50 332.50 1.20968 -107.50 97.50 337.50 0.86674 -107.50 97.50 342.50 0.632584 -107.50 97.50 347.50 0.432495 -107.50 97.50 352.50 0.30334 -107.50 97.50 357.50 0.200923 -107.50 102.50 2.50 0.230709 -107.50 102.50 7.50 0.401083 -107.50 102.50 12.50 0.866701 -107.50 102.50 17.50 1.49965 -107.50 102.50 22.50 2.1347 -107.50 102.50 27.50 2.50909 -107.50 102.50 32.50 2.6922 -107.50 102.50 37.50 2.78082 -107.50 102.50 42.50 2.62261 -107.50 102.50 47.50 2.1376 -107.50 102.50 52.50 1.48837 -107.50 102.50 57.50 0.945096 -107.50 102.50 62.50 0.604671 -107.50 102.50 67.50 0.418266 -107.50 102.50 72.50 0.339523 -107.50 102.50 77.50 0.293102 -107.50 102.50 82.50 0.250356 -107.50 102.50 87.50 0.256431 -107.50 102.50 92.50 0.230709 -107.50 102.50 97.50 0.401083 -107.50 102.50 102.50 0.866702 -107.50 102.50 107.50 1.49965 -107.50 102.50 112.50 2.1347 -107.50 102.50 117.50 2.50909 -107.50 102.50 122.50 2.6922 -107.50 102.50 127.50 2.78082 -107.50 102.50 132.50 2.62261 -107.50 102.50 137.50 2.1376 -107.50 102.50 142.50 1.48837 -107.50 102.50 147.50 0.945097 -107.50 102.50 152.50 0.604672 -107.50 102.50 157.50 0.418267 -107.50 102.50 162.50 0.339523 -107.50 102.50 167.50 0.293102 -107.50 102.50 172.50 0.250356 -107.50 102.50 177.50 0.256431 -107.50 102.50 182.50 0.230709 -107.50 102.50 187.50 0.401083 -107.50 102.50 192.50 0.866702 -107.50 102.50 197.50 1.49965 -107.50 102.50 202.50 2.1347 -107.50 102.50 207.50 2.50909 -107.50 102.50 212.50 2.6922 -107.50 102.50 217.50 2.78082 -107.50 102.50 222.50 2.62261 -107.50 102.50 227.50 2.1376 -107.50 102.50 232.50 1.48837 -107.50 102.50 237.50 0.945096 -107.50 102.50 242.50 0.604671 -107.50 102.50 247.50 0.418267 -107.50 102.50 252.50 0.339522 -107.50 102.50 257.50 0.293102 -107.50 102.50 262.50 0.250356 -107.50 102.50 267.50 0.256431 -107.50 102.50 272.50 0.230709 -107.50 102.50 277.50 0.401083 -107.50 102.50 282.50 0.866701 -107.50 102.50 287.50 1.49965 -107.50 102.50 292.50 2.1347 -107.50 102.50 297.50 2.50909 -107.50 102.50 302.50 2.6922 -107.50 102.50 307.50 2.78082 -107.50 102.50 312.50 2.62261 -107.50 102.50 317.50 2.1376 -107.50 102.50 322.50 1.48837 -107.50 102.50 327.50 0.945098 -107.50 102.50 332.50 0.604672 -107.50 102.50 337.50 0.418267 -107.50 102.50 342.50 0.339523 -107.50 102.50 347.50 0.293102 -107.50 102.50 352.50 0.250356 -107.50 102.50 357.50 0.256431 -107.50 107.50 2.50 0.244704 -107.50 107.50 7.50 0.454511 -107.50 107.50 12.50 0.940418 -107.50 107.50 17.50 1.60305 -107.50 107.50 22.50 2.08213 -107.50 107.50 27.50 2.13414 -107.50 107.50 32.50 2.03098 -107.50 107.50 37.50 1.85379 -107.50 107.50 42.50 1.56178 -107.50 107.50 47.50 1.15349 -107.50 107.50 52.50 0.676224 -107.50 107.50 57.50 0.360379 -107.50 107.50 62.50 0.190522 -107.50 107.50 67.50 0.146755 -107.50 107.50 72.50 0.177703 -107.50 107.50 77.50 0.193121 -107.50 107.50 82.50 0.182174 -107.50 107.50 87.50 0.278137 -107.50 107.50 92.50 0.244704 -107.50 107.50 97.50 0.454511 -107.50 107.50 102.50 0.940418 -107.50 107.50 107.50 1.60305 -107.50 107.50 112.50 2.08213 -107.50 107.50 117.50 2.13414 -107.50 107.50 122.50 2.03098 -107.50 107.50 127.50 1.85379 -107.50 107.50 132.50 1.56178 -107.50 107.50 137.50 1.15349 -107.50 107.50 142.50 0.676225 -107.50 107.50 147.50 0.360379 -107.50 107.50 152.50 0.190522 -107.50 107.50 157.50 0.146755 -107.50 107.50 162.50 0.177703 -107.50 107.50 167.50 0.193121 -107.50 107.50 172.50 0.182174 -107.50 107.50 177.50 0.278137 -107.50 107.50 182.50 0.244704 -107.50 107.50 187.50 0.454511 -107.50 107.50 192.50 0.940418 -107.50 107.50 197.50 1.60305 -107.50 107.50 202.50 2.08213 -107.50 107.50 207.50 2.13414 -107.50 107.50 212.50 2.03098 -107.50 107.50 217.50 1.85379 -107.50 107.50 222.50 1.56178 -107.50 107.50 227.50 1.15349 -107.50 107.50 232.50 0.676223 -107.50 107.50 237.50 0.360378 -107.50 107.50 242.50 0.190522 -107.50 107.50 247.50 0.146755 -107.50 107.50 252.50 0.177704 -107.50 107.50 257.50 0.193121 -107.50 107.50 262.50 0.182174 -107.50 107.50 267.50 0.278137 -107.50 107.50 272.50 0.244704 -107.50 107.50 277.50 0.454511 -107.50 107.50 282.50 0.940417 -107.50 107.50 287.50 1.60305 -107.50 107.50 292.50 2.08213 -107.50 107.50 297.50 2.13414 -107.50 107.50 302.50 2.03098 -107.50 107.50 307.50 1.85379 -107.50 107.50 312.50 1.56178 -107.50 107.50 317.50 1.15349 -107.50 107.50 322.50 0.676225 -107.50 107.50 327.50 0.360379 -107.50 107.50 332.50 0.190522 -107.50 107.50 337.50 0.146755 -107.50 107.50 342.50 0.177703 -107.50 107.50 347.50 0.193121 -107.50 107.50 352.50 0.182174 -107.50 107.50 357.50 0.278137 -107.50 112.50 2.50 0.200246 -107.50 112.50 7.50 0.377387 -107.50 112.50 12.50 0.766071 -107.50 112.50 17.50 1.26497 -107.50 112.50 22.50 1.55094 -107.50 112.50 27.50 1.49383 -107.50 112.50 32.50 1.23256 -107.50 112.50 37.50 1.02468 -107.50 112.50 42.50 0.74717 -107.50 112.50 47.50 0.434025 -107.50 112.50 52.50 0.224621 -107.50 112.50 57.50 0.0956055 -107.50 112.50 62.50 0.048728 -107.50 112.50 67.50 0.0543211 -107.50 112.50 72.50 0.0719871 -107.50 112.50 77.50 0.0816251 -107.50 112.50 82.50 0.119157 -107.50 112.50 87.50 0.170016 -107.50 112.50 92.50 0.200246 -107.50 112.50 97.50 0.377387 -107.50 112.50 102.50 0.766071 -107.50 112.50 107.50 1.26497 -107.50 112.50 112.50 1.55094 -107.50 112.50 117.50 1.49383 -107.50 112.50 122.50 1.23256 -107.50 112.50 127.50 1.02467 -107.50 112.50 132.50 0.74717 -107.50 112.50 137.50 0.434025 -107.50 112.50 142.50 0.224622 -107.50 112.50 147.50 0.0956056 -107.50 112.50 152.50 0.048728 -107.50 112.50 157.50 0.0543211 -107.50 112.50 162.50 0.071987 -107.50 112.50 167.50 0.0816251 -107.50 112.50 172.50 0.119157 -107.50 112.50 177.50 0.170016 -107.50 112.50 182.50 0.200246 -107.50 112.50 187.50 0.377387 -107.50 112.50 192.50 0.766071 -107.50 112.50 197.50 1.26497 -107.50 112.50 202.50 1.55094 -107.50 112.50 207.50 1.49383 -107.50 112.50 212.50 1.23256 -107.50 112.50 217.50 1.02468 -107.50 112.50 222.50 0.747171 -107.50 112.50 227.50 0.434026 -107.50 112.50 232.50 0.224621 -107.50 112.50 237.50 0.0956054 -107.50 112.50 242.50 0.0487279 -107.50 112.50 247.50 0.0543212 -107.50 112.50 252.50 0.071987 -107.50 112.50 257.50 0.0816251 -107.50 112.50 262.50 0.119157 -107.50 112.50 267.50 0.170016 -107.50 112.50 272.50 0.200246 -107.50 112.50 277.50 0.377387 -107.50 112.50 282.50 0.766071 -107.50 112.50 287.50 1.26497 -107.50 112.50 292.50 1.55094 -107.50 112.50 297.50 1.49383 -107.50 112.50 302.50 1.23256 -107.50 112.50 307.50 1.02468 -107.50 112.50 312.50 0.74717 -107.50 112.50 317.50 0.434026 -107.50 112.50 322.50 0.224622 -107.50 112.50 327.50 0.0956058 -107.50 112.50 332.50 0.0487281 -107.50 112.50 337.50 0.0543211 -107.50 112.50 342.50 0.071987 -107.50 112.50 347.50 0.081625 -107.50 112.50 352.50 0.119157 -107.50 112.50 357.50 0.170016 -107.50 117.50 2.50 0.151509 -107.50 117.50 7.50 0.268432 -107.50 117.50 12.50 0.529664 -107.50 117.50 17.50 0.784048 -107.50 117.50 22.50 0.848943 -107.50 117.50 27.50 0.771718 -107.50 117.50 32.50 0.583853 -107.50 117.50 37.50 0.41777 -107.50 117.50 42.50 0.280563 -107.50 117.50 47.50 0.143058 -107.50 117.50 52.50 0.0619751 -107.50 117.50 57.50 0.0231848 -107.50 117.50 62.50 0.0105736 -107.50 117.50 67.50 0.0115919 -107.50 117.50 72.50 0.0178428 -107.50 117.50 77.50 0.0290198 -107.50 117.50 82.50 0.056528 -107.50 117.50 87.50 0.0841843 -107.50 117.50 92.50 0.151509 -107.50 117.50 97.50 0.268432 -107.50 117.50 102.50 0.529664 -107.50 117.50 107.50 0.784048 -107.50 117.50 112.50 0.848944 -107.50 117.50 117.50 0.771718 -107.50 117.50 122.50 0.583853 -107.50 117.50 127.50 0.41777 -107.50 117.50 132.50 0.280563 -107.50 117.50 137.50 0.143058 -107.50 117.50 142.50 0.0619752 -107.50 117.50 147.50 0.0231848 -107.50 117.50 152.50 0.0105736 -107.50 117.50 157.50 0.0115919 -107.50 117.50 162.50 0.0178428 -107.50 117.50 167.50 0.0290199 -107.50 117.50 172.50 0.056528 -107.50 117.50 177.50 0.0841842 -107.50 117.50 182.50 0.151509 -107.50 117.50 187.50 0.268432 -107.50 117.50 192.50 0.529664 -107.50 117.50 197.50 0.784049 -107.50 117.50 202.50 0.848943 -107.50 117.50 207.50 0.771718 -107.50 117.50 212.50 0.583853 -107.50 117.50 217.50 0.41777 -107.50 117.50 222.50 0.280563 -107.50 117.50 227.50 0.143058 -107.50 117.50 232.50 0.0619751 -107.50 117.50 237.50 0.0231848 -107.50 117.50 242.50 0.0105736 -107.50 117.50 247.50 0.0115919 -107.50 117.50 252.50 0.0178428 -107.50 117.50 257.50 0.0290199 -107.50 117.50 262.50 0.0565281 -107.50 117.50 267.50 0.0841843 -107.50 117.50 272.50 0.151509 -107.50 117.50 277.50 0.268432 -107.50 117.50 282.50 0.529664 -107.50 117.50 287.50 0.784048 -107.50 117.50 292.50 0.848943 -107.50 117.50 297.50 0.771718 -107.50 117.50 302.50 0.583853 -107.50 117.50 307.50 0.41777 -107.50 117.50 312.50 0.280563 -107.50 117.50 317.50 0.143058 -107.50 117.50 322.50 0.0619753 -107.50 117.50 327.50 0.0231849 -107.50 117.50 332.50 0.0105736 -107.50 117.50 337.50 0.0115919 -107.50 117.50 342.50 0.0178427 -107.50 117.50 347.50 0.0290198 -107.50 117.50 352.50 0.0565279 -107.50 117.50 357.50 0.0841841 -107.50 122.50 2.50 0.120114 -107.50 122.50 7.50 0.185298 -107.50 122.50 12.50 0.29178 -107.50 122.50 17.50 0.394771 -107.50 122.50 22.50 0.409848 -107.50 122.50 27.50 0.29297 -107.50 122.50 32.50 0.199509 -107.50 122.50 37.50 0.125212 -107.50 122.50 42.50 0.0686553 -107.50 122.50 47.50 0.0416485 -107.50 122.50 52.50 0.0210899 -107.50 122.50 57.50 0.0113602 -107.50 122.50 62.50 0.00698854 -107.50 122.50 67.50 0.00618048 -107.50 122.50 72.50 0.00740194 -107.50 122.50 77.50 0.00922364 -107.50 122.50 82.50 0.0242278 -107.50 122.50 87.50 0.0489187 -107.50 122.50 92.50 0.120114 -107.50 122.50 97.50 0.185298 -107.50 122.50 102.50 0.29178 -107.50 122.50 107.50 0.394771 -107.50 122.50 112.50 0.409848 -107.50 122.50 117.50 0.29297 -107.50 122.50 122.50 0.199509 -107.50 122.50 127.50 0.125212 -107.50 122.50 132.50 0.0686553 -107.50 122.50 137.50 0.0416485 -107.50 122.50 142.50 0.0210899 -107.50 122.50 147.50 0.0113602 -107.50 122.50 152.50 0.00698853 -107.50 122.50 157.50 0.00618049 -107.50 122.50 162.50 0.00740195 -107.50 122.50 167.50 0.00922366 -107.50 122.50 172.50 0.0242278 -107.50 122.50 177.50 0.0489187 -107.50 122.50 182.50 0.120114 -107.50 122.50 187.50 0.185298 -107.50 122.50 192.50 0.29178 -107.50 122.50 197.50 0.394771 -107.50 122.50 202.50 0.409849 -107.50 122.50 207.50 0.292971 -107.50 122.50 212.50 0.199509 -107.50 122.50 217.50 0.125212 -107.50 122.50 222.50 0.0686554 -107.50 122.50 227.50 0.0416485 -107.50 122.50 232.50 0.0210899 -107.50 122.50 237.50 0.0113602 -107.50 122.50 242.50 0.00698854 -107.50 122.50 247.50 0.00618048 -107.50 122.50 252.50 0.00740195 -107.50 122.50 257.50 0.00922365 -107.50 122.50 262.50 0.0242279 -107.50 122.50 267.50 0.0489188 -107.50 122.50 272.50 0.120114 -107.50 122.50 277.50 0.185298 -107.50 122.50 282.50 0.29178 -107.50 122.50 287.50 0.394771 -107.50 122.50 292.50 0.409848 -107.50 122.50 297.50 0.292971 -107.50 122.50 302.50 0.199509 -107.50 122.50 307.50 0.125212 -107.50 122.50 312.50 0.0686554 -107.50 122.50 317.50 0.0416485 -107.50 122.50 322.50 0.0210899 -107.50 122.50 327.50 0.0113602 -107.50 122.50 332.50 0.00698854 -107.50 122.50 337.50 0.00618049 -107.50 122.50 342.50 0.00740193 -107.50 122.50 347.50 0.00922365 -107.50 122.50 352.50 0.0242278 -107.50 122.50 357.50 0.0489186 -107.50 127.50 2.50 0.080885 -107.50 127.50 7.50 0.115287 -107.50 127.50 12.50 0.132956 -107.50 127.50 17.50 0.15546 -107.50 127.50 22.50 0.145581 -107.50 127.50 27.50 0.096298 -107.50 127.50 32.50 0.0510866 -107.50 127.50 37.50 0.0285112 -107.50 127.50 42.50 0.0254596 -107.50 127.50 47.50 0.0384457 -107.50 127.50 52.50 0.0418998 -107.50 127.50 57.50 0.0523203 -107.50 127.50 62.50 0.0554883 -107.50 127.50 67.50 0.0359703 -107.50 127.50 72.50 0.0202785 -107.50 127.50 77.50 0.010879 -107.50 127.50 82.50 0.0135287 -107.50 127.50 87.50 0.0303794 -107.50 127.50 92.50 0.080885 -107.50 127.50 97.50 0.115288 -107.50 127.50 102.50 0.132957 -107.50 127.50 107.50 0.15546 -107.50 127.50 112.50 0.145581 -107.50 127.50 117.50 0.096298 -107.50 127.50 122.50 0.0510866 -107.50 127.50 127.50 0.0285112 -107.50 127.50 132.50 0.0254596 -107.50 127.50 137.50 0.0384457 -107.50 127.50 142.50 0.0418998 -107.50 127.50 147.50 0.0523203 -107.50 127.50 152.50 0.0554883 -107.50 127.50 157.50 0.0359703 -107.50 127.50 162.50 0.0202785 -107.50 127.50 167.50 0.010879 -107.50 127.50 172.50 0.0135287 -107.50 127.50 177.50 0.0303794 -107.50 127.50 182.50 0.0808851 -107.50 127.50 187.50 0.115288 -107.50 127.50 192.50 0.132956 -107.50 127.50 197.50 0.15546 -107.50 127.50 202.50 0.145581 -107.50 127.50 207.50 0.0962981 -107.50 127.50 212.50 0.0510866 -107.50 127.50 217.50 0.0285112 -107.50 127.50 222.50 0.0254596 -107.50 127.50 227.50 0.0384456 -107.50 127.50 232.50 0.0418998 -107.50 127.50 237.50 0.0523203 -107.50 127.50 242.50 0.0554883 -107.50 127.50 247.50 0.0359703 -107.50 127.50 252.50 0.0202785 -107.50 127.50 257.50 0.010879 -107.50 127.50 262.50 0.0135287 -107.50 127.50 267.50 0.0303794 -107.50 127.50 272.50 0.080885 -107.50 127.50 277.50 0.115287 -107.50 127.50 282.50 0.132956 -107.50 127.50 287.50 0.15546 -107.50 127.50 292.50 0.145581 -107.50 127.50 297.50 0.096298 -107.50 127.50 302.50 0.0510867 -107.50 127.50 307.50 0.0285112 -107.50 127.50 312.50 0.0254596 -107.50 127.50 317.50 0.0384457 -107.50 127.50 322.50 0.0418998 -107.50 127.50 327.50 0.0523203 -107.50 127.50 332.50 0.0554884 -107.50 127.50 337.50 0.0359703 -107.50 127.50 342.50 0.0202786 -107.50 127.50 347.50 0.010879 -107.50 127.50 352.50 0.0135286 -107.50 127.50 357.50 0.0303793 -107.50 132.50 2.50 0.0382171 -107.50 132.50 7.50 0.0575414 -107.50 132.50 12.50 0.0512642 -107.50 132.50 17.50 0.0417048 -107.50 132.50 22.50 0.0366957 -107.50 132.50 27.50 0.0292198 -107.50 132.50 32.50 0.0298578 -107.50 132.50 37.50 0.0542918 -107.50 132.50 42.50 0.107731 -107.50 132.50 47.50 0.186435 -107.50 132.50 52.50 0.248773 -107.50 132.50 57.50 0.320091 -107.50 132.50 62.50 0.29171 -107.50 132.50 67.50 0.177265 -107.50 132.50 72.50 0.086809 -107.50 132.50 77.50 0.0424701 -107.50 132.50 82.50 0.0240119 -107.50 132.50 87.50 0.0179044 -107.50 132.50 92.50 0.0382171 -107.50 132.50 97.50 0.0575414 -107.50 132.50 102.50 0.0512642 -107.50 132.50 107.50 0.0417048 -107.50 132.50 112.50 0.0366957 -107.50 132.50 117.50 0.0292199 -107.50 132.50 122.50 0.0298577 -107.50 132.50 127.50 0.0542918 -107.50 132.50 132.50 0.107731 -107.50 132.50 137.50 0.186435 -107.50 132.50 142.50 0.248773 -107.50 132.50 147.50 0.320091 -107.50 132.50 152.50 0.29171 -107.50 132.50 157.50 0.177265 -107.50 132.50 162.50 0.086809 -107.50 132.50 167.50 0.0424702 -107.50 132.50 172.50 0.024012 -107.50 132.50 177.50 0.0179044 -107.50 132.50 182.50 0.0382172 -107.50 132.50 187.50 0.0575414 -107.50 132.50 192.50 0.0512642 -107.50 132.50 197.50 0.0417049 -107.50 132.50 202.50 0.0366957 -107.50 132.50 207.50 0.0292198 -107.50 132.50 212.50 0.0298577 -107.50 132.50 217.50 0.0542918 -107.50 132.50 222.50 0.10773 -107.50 132.50 227.50 0.186435 -107.50 132.50 232.50 0.248773 -107.50 132.50 237.50 0.320091 -107.50 132.50 242.50 0.29171 -107.50 132.50 247.50 0.177265 -107.50 132.50 252.50 0.0868089 -107.50 132.50 257.50 0.0424701 -107.50 132.50 262.50 0.0240119 -107.50 132.50 267.50 0.0179044 -107.50 132.50 272.50 0.0382171 -107.50 132.50 277.50 0.0575414 -107.50 132.50 282.50 0.0512642 -107.50 132.50 287.50 0.0417048 -107.50 132.50 292.50 0.0366957 -107.50 132.50 297.50 0.0292199 -107.50 132.50 302.50 0.0298577 -107.50 132.50 307.50 0.0542918 -107.50 132.50 312.50 0.107731 -107.50 132.50 317.50 0.186435 -107.50 132.50 322.50 0.248773 -107.50 132.50 327.50 0.320091 -107.50 132.50 332.50 0.29171 -107.50 132.50 337.50 0.177266 -107.50 132.50 342.50 0.0868092 -107.50 132.50 347.50 0.0424702 -107.50 132.50 352.50 0.024012 -107.50 132.50 357.50 0.0179044 -107.50 137.50 2.50 0.0202141 -107.50 137.50 7.50 0.0278132 -107.50 137.50 12.50 0.023494 -107.50 137.50 17.50 0.0162197 -107.50 137.50 22.50 0.0207145 -107.50 137.50 27.50 0.0442034 -107.50 137.50 32.50 0.0933623 -107.50 137.50 37.50 0.231455 -107.50 137.50 42.50 0.434233 -107.50 137.50 47.50 0.784648 -107.50 137.50 52.50 0.983075 -107.50 137.50 57.50 1.09789 -107.50 137.50 62.50 0.88061 -107.50 137.50 67.50 0.531259 -107.50 137.50 72.50 0.261567 -107.50 137.50 77.50 0.146182 -107.50 137.50 82.50 0.0715267 -107.50 137.50 87.50 0.025361 -107.50 137.50 92.50 0.0202141 -107.50 137.50 97.50 0.0278132 -107.50 137.50 102.50 0.023494 -107.50 137.50 107.50 0.0162197 -107.50 137.50 112.50 0.0207145 -107.50 137.50 117.50 0.0442034 -107.50 137.50 122.50 0.0933623 -107.50 137.50 127.50 0.231455 -107.50 137.50 132.50 0.434233 -107.50 137.50 137.50 0.784647 -107.50 137.50 142.50 0.983075 -107.50 137.50 147.50 1.09789 -107.50 137.50 152.50 0.880611 -107.50 137.50 157.50 0.53126 -107.50 137.50 162.50 0.261568 -107.50 137.50 167.50 0.146182 -107.50 137.50 172.50 0.0715268 -107.50 137.50 177.50 0.025361 -107.50 137.50 182.50 0.0202141 -107.50 137.50 187.50 0.0278132 -107.50 137.50 192.50 0.023494 -107.50 137.50 197.50 0.0162197 -107.50 137.50 202.50 0.0207145 -107.50 137.50 207.50 0.0442034 -107.50 137.50 212.50 0.0933622 -107.50 137.50 217.50 0.231455 -107.50 137.50 222.50 0.434232 -107.50 137.50 227.50 0.784647 -107.50 137.50 232.50 0.983075 -107.50 137.50 237.50 1.09789 -107.50 137.50 242.50 0.88061 -107.50 137.50 247.50 0.531259 -107.50 137.50 252.50 0.261567 -107.50 137.50 257.50 0.146182 -107.50 137.50 262.50 0.0715266 -107.50 137.50 267.50 0.025361 -107.50 137.50 272.50 0.0202141 -107.50 137.50 277.50 0.0278132 -107.50 137.50 282.50 0.023494 -107.50 137.50 287.50 0.0162197 -107.50 137.50 292.50 0.0207145 -107.50 137.50 297.50 0.0442034 -107.50 137.50 302.50 0.0933622 -107.50 137.50 307.50 0.231455 -107.50 137.50 312.50 0.434232 -107.50 137.50 317.50 0.784646 -107.50 137.50 322.50 0.983075 -107.50 137.50 327.50 1.09789 -107.50 137.50 332.50 0.880611 -107.50 137.50 337.50 0.53126 -107.50 137.50 342.50 0.261568 -107.50 137.50 347.50 0.146183 -107.50 137.50 352.50 0.0715269 -107.50 137.50 357.50 0.0253611 -107.50 142.50 2.50 0.0382171 -107.50 142.50 7.50 0.0398608 -107.50 142.50 12.50 0.0344762 -107.50 142.50 17.50 0.035394 -107.50 142.50 22.50 0.0639957 -107.50 142.50 27.50 0.13795 -107.50 142.50 32.50 0.293625 -107.50 142.50 37.50 0.621456 -107.50 142.50 42.50 1.25778 -107.50 142.50 47.50 2.00341 -107.50 142.50 52.50 2.48996 -107.50 142.50 57.50 2.46393 -107.50 142.50 62.50 1.92429 -107.50 142.50 67.50 1.15799 -107.50 142.50 72.50 0.623571 -107.50 142.50 77.50 0.35167 -107.50 142.50 82.50 0.171239 -107.50 142.50 87.50 0.0661282 -107.50 142.50 92.50 0.0382171 -107.50 142.50 97.50 0.0398608 -107.50 142.50 102.50 0.0344762 -107.50 142.50 107.50 0.035394 -107.50 142.50 112.50 0.0639957 -107.50 142.50 117.50 0.13795 -107.50 142.50 122.50 0.293625 -107.50 142.50 127.50 0.621456 -107.50 142.50 132.50 1.25778 -107.50 142.50 137.50 2.00341 -107.50 142.50 142.50 2.48996 -107.50 142.50 147.50 2.46393 -107.50 142.50 152.50 1.92429 -107.50 142.50 157.50 1.15799 -107.50 142.50 162.50 0.623572 -107.50 142.50 167.50 0.351671 -107.50 142.50 172.50 0.171239 -107.50 142.50 177.50 0.0661283 -107.50 142.50 182.50 0.0382171 -107.50 142.50 187.50 0.0398608 -107.50 142.50 192.50 0.0344762 -107.50 142.50 197.50 0.035394 -107.50 142.50 202.50 0.0639956 -107.50 142.50 207.50 0.137949 -107.50 142.50 212.50 0.293625 -107.50 142.50 217.50 0.621455 -107.50 142.50 222.50 1.25778 -107.50 142.50 227.50 2.00341 -107.50 142.50 232.50 2.48996 -107.50 142.50 237.50 2.46393 -107.50 142.50 242.50 1.92429 -107.50 142.50 247.50 1.15799 -107.50 142.50 252.50 0.623571 -107.50 142.50 257.50 0.35167 -107.50 142.50 262.50 0.171239 -107.50 142.50 267.50 0.0661282 -107.50 142.50 272.50 0.0382171 -107.50 142.50 277.50 0.0398608 -107.50 142.50 282.50 0.0344762 -107.50 142.50 287.50 0.035394 -107.50 142.50 292.50 0.0639956 -107.50 142.50 297.50 0.137949 -107.50 142.50 302.50 0.293625 -107.50 142.50 307.50 0.621455 -107.50 142.50 312.50 1.25778 -107.50 142.50 317.50 2.00341 -107.50 142.50 322.50 2.48996 -107.50 142.50 327.50 2.46393 -107.50 142.50 332.50 1.92429 -107.50 142.50 337.50 1.15799 -107.50 142.50 342.50 0.623573 -107.50 142.50 347.50 0.351671 -107.50 142.50 352.50 0.17124 -107.50 142.50 357.50 0.0661284 -107.50 147.50 2.50 0.080885 -107.50 147.50 7.50 0.0834133 -107.50 147.50 12.50 0.0865846 -107.50 147.50 17.50 0.111016 -107.50 147.50 22.50 0.18127 -107.50 147.50 27.50 0.318722 -107.50 147.50 32.50 0.59648 -107.50 147.50 37.50 1.1898 -107.50 147.50 42.50 2.22831 -107.50 147.50 47.50 3.37367 -107.50 147.50 52.50 4.07565 -107.50 147.50 57.50 3.98926 -107.50 147.50 62.50 3.10365 -107.50 147.50 67.50 1.9463 -107.50 147.50 72.50 1.08813 -107.50 147.50 77.50 0.605833 -107.50 147.50 82.50 0.298984 -107.50 147.50 87.50 0.128762 -107.50 147.50 92.50 0.0808849 -107.50 147.50 97.50 0.0834133 -107.50 147.50 102.50 0.0865845 -107.50 147.50 107.50 0.111015 -107.50 147.50 112.50 0.18127 -107.50 147.50 117.50 0.318723 -107.50 147.50 122.50 0.59648 -107.50 147.50 127.50 1.1898 -107.50 147.50 132.50 2.22831 -107.50 147.50 137.50 3.37367 -107.50 147.50 142.50 4.07565 -107.50 147.50 147.50 3.98926 -107.50 147.50 152.50 3.10365 -107.50 147.50 157.50 1.9463 -107.50 147.50 162.50 1.08814 -107.50 147.50 167.50 0.605833 -107.50 147.50 172.50 0.298984 -107.50 147.50 177.50 0.128762 -107.50 147.50 182.50 0.0808849 -107.50 147.50 187.50 0.0834134 -107.50 147.50 192.50 0.0865845 -107.50 147.50 197.50 0.111016 -107.50 147.50 202.50 0.18127 -107.50 147.50 207.50 0.318722 -107.50 147.50 212.50 0.59648 -107.50 147.50 217.50 1.1898 -107.50 147.50 222.50 2.22831 -107.50 147.50 227.50 3.37367 -107.50 147.50 232.50 4.07565 -107.50 147.50 237.50 3.98926 -107.50 147.50 242.50 3.10365 -107.50 147.50 247.50 1.9463 -107.50 147.50 252.50 1.08813 -107.50 147.50 257.50 0.605833 -107.50 147.50 262.50 0.298984 -107.50 147.50 267.50 0.128762 -107.50 147.50 272.50 0.080885 -107.50 147.50 277.50 0.0834134 -107.50 147.50 282.50 0.0865846 -107.50 147.50 287.50 0.111016 -107.50 147.50 292.50 0.18127 -107.50 147.50 297.50 0.318722 -107.50 147.50 302.50 0.59648 -107.50 147.50 307.50 1.1898 -107.50 147.50 312.50 2.22831 -107.50 147.50 317.50 3.37367 -107.50 147.50 322.50 4.07566 -107.50 147.50 327.50 3.98926 -107.50 147.50 332.50 3.10365 -107.50 147.50 337.50 1.9463 -107.50 147.50 342.50 1.08814 -107.50 147.50 347.50 0.605834 -107.50 147.50 352.50 0.298984 -107.50 147.50 357.50 0.128762 -107.50 152.50 2.50 0.120114 -107.50 152.50 7.50 0.139043 -107.50 152.50 12.50 0.188216 -107.50 152.50 17.50 0.274827 -107.50 152.50 22.50 0.392575 -107.50 152.50 27.50 0.544436 -107.50 152.50 32.50 0.877346 -107.50 152.50 37.50 1.5877 -107.50 152.50 42.50 2.76555 -107.50 152.50 47.50 4.10746 -107.50 152.50 52.50 4.88608 -107.50 152.50 57.50 4.68617 -107.50 152.50 62.50 3.66089 -107.50 152.50 67.50 2.39178 -107.50 152.50 72.50 1.36108 -107.50 152.50 77.50 0.736702 -107.50 152.50 82.50 0.370235 -107.50 152.50 87.50 0.165638 -107.50 152.50 92.50 0.120114 -107.50 152.50 97.50 0.139043 -107.50 152.50 102.50 0.188216 -107.50 152.50 107.50 0.274827 -107.50 152.50 112.50 0.392575 -107.50 152.50 117.50 0.544436 -107.50 152.50 122.50 0.877347 -107.50 152.50 127.50 1.58771 -107.50 152.50 132.50 2.76555 -107.50 152.50 137.50 4.10746 -107.50 152.50 142.50 4.88608 -107.50 152.50 147.50 4.68617 -107.50 152.50 152.50 3.66089 -107.50 152.50 157.50 2.39178 -107.50 152.50 162.50 1.36108 -107.50 152.50 167.50 0.736702 -107.50 152.50 172.50 0.370235 -107.50 152.50 177.50 0.165638 -107.50 152.50 182.50 0.120114 -107.50 152.50 187.50 0.139043 -107.50 152.50 192.50 0.188216 -107.50 152.50 197.50 0.274827 -107.50 152.50 202.50 0.392575 -107.50 152.50 207.50 0.544435 -107.50 152.50 212.50 0.877346 -107.50 152.50 217.50 1.5877 -107.50 152.50 222.50 2.76555 -107.50 152.50 227.50 4.10746 -107.50 152.50 232.50 4.88608 -107.50 152.50 237.50 4.68617 -107.50 152.50 242.50 3.66089 -107.50 152.50 247.50 2.39178 -107.50 152.50 252.50 1.36108 -107.50 152.50 257.50 0.736701 -107.50 152.50 262.50 0.370235 -107.50 152.50 267.50 0.165638 -107.50 152.50 272.50 0.120114 -107.50 152.50 277.50 0.139043 -107.50 152.50 282.50 0.188216 -107.50 152.50 287.50 0.274827 -107.50 152.50 292.50 0.392575 -107.50 152.50 297.50 0.544435 -107.50 152.50 302.50 0.877346 -107.50 152.50 307.50 1.5877 -107.50 152.50 312.50 2.76555 -107.50 152.50 317.50 4.10746 -107.50 152.50 322.50 4.88608 -107.50 152.50 327.50 4.68617 -107.50 152.50 332.50 3.66089 -107.50 152.50 337.50 2.39179 -107.50 152.50 342.50 1.36108 -107.50 152.50 347.50 0.736703 -107.50 152.50 352.50 0.370236 -107.50 152.50 357.50 0.165638 -107.50 157.50 2.50 0.151509 -107.50 157.50 7.50 0.213904 -107.50 157.50 12.50 0.342609 -107.50 157.50 17.50 0.520585 -107.50 157.50 22.50 0.657065 -107.50 157.50 27.50 0.756146 -107.50 157.50 32.50 0.994932 -107.50 157.50 37.50 1.57 -107.50 157.50 42.50 2.543 -107.50 157.50 47.50 3.69947 -107.50 157.50 52.50 4.26268 -107.50 157.50 57.50 4.03102 -107.50 157.50 62.50 3.18725 -107.50 157.50 67.50 2.11979 -107.50 157.50 72.50 1.23538 -107.50 157.50 77.50 0.660137 -107.50 157.50 82.50 0.338627 -107.50 157.50 87.50 0.163149 -107.50 157.50 92.50 0.151509 -107.50 157.50 97.50 0.213904 -107.50 157.50 102.50 0.342609 -107.50 157.50 107.50 0.520585 -107.50 157.50 112.50 0.657065 -107.50 157.50 117.50 0.756146 -107.50 157.50 122.50 0.994933 -107.50 157.50 127.50 1.57 -107.50 157.50 132.50 2.543 -107.50 157.50 137.50 3.69947 -107.50 157.50 142.50 4.26268 -107.50 157.50 147.50 4.03102 -107.50 157.50 152.50 3.18726 -107.50 157.50 157.50 2.11979 -107.50 157.50 162.50 1.23538 -107.50 157.50 167.50 0.660137 -107.50 157.50 172.50 0.338627 -107.50 157.50 177.50 0.163149 -107.50 157.50 182.50 0.151509 -107.50 157.50 187.50 0.213904 -107.50 157.50 192.50 0.342609 -107.50 157.50 197.50 0.520585 -107.50 157.50 202.50 0.657065 -107.50 157.50 207.50 0.756146 -107.50 157.50 212.50 0.994932 -107.50 157.50 217.50 1.56999 -107.50 157.50 222.50 2.543 -107.50 157.50 227.50 3.69947 -107.50 157.50 232.50 4.26268 -107.50 157.50 237.50 4.03102 -107.50 157.50 242.50 3.18725 -107.50 157.50 247.50 2.11978 -107.50 157.50 252.50 1.23538 -107.50 157.50 257.50 0.660136 -107.50 157.50 262.50 0.338627 -107.50 157.50 267.50 0.163149 -107.50 157.50 272.50 0.151509 -107.50 157.50 277.50 0.213904 -107.50 157.50 282.50 0.342609 -107.50 157.50 287.50 0.520585 -107.50 157.50 292.50 0.657065 -107.50 157.50 297.50 0.756146 -107.50 157.50 302.50 0.994932 -107.50 157.50 307.50 1.56999 -107.50 157.50 312.50 2.543 -107.50 157.50 317.50 3.69947 -107.50 157.50 322.50 4.26268 -107.50 157.50 327.50 4.03102 -107.50 157.50 332.50 3.18726 -107.50 157.50 337.50 2.11979 -107.50 157.50 342.50 1.23538 -107.50 157.50 347.50 0.660137 -107.50 157.50 352.50 0.338628 -107.50 157.50 357.50 0.163149 -107.50 162.50 2.50 0.200246 -107.50 162.50 7.50 0.322734 -107.50 162.50 12.50 0.51311 -107.50 162.50 17.50 0.741939 -107.50 162.50 22.50 0.8701 -107.50 162.50 27.50 0.84462 -107.50 162.50 32.50 0.915796 -107.50 162.50 37.50 1.21643 -107.50 162.50 42.50 1.76351 -107.50 162.50 47.50 2.43961 -107.50 162.50 52.50 2.83112 -107.50 162.50 57.50 2.63506 -107.50 162.50 62.50 2.08212 -107.50 162.50 67.50 1.45356 -107.50 162.50 72.50 0.900621 -107.50 162.50 77.50 0.529187 -107.50 162.50 82.50 0.271564 -107.50 162.50 87.50 0.162877 -107.50 162.50 92.50 0.200246 -107.50 162.50 97.50 0.322734 -107.50 162.50 102.50 0.51311 -107.50 162.50 107.50 0.741939 -107.50 162.50 112.50 0.8701 -107.50 162.50 117.50 0.84462 -107.50 162.50 122.50 0.915796 -107.50 162.50 127.50 1.21643 -107.50 162.50 132.50 1.76351 -107.50 162.50 137.50 2.43961 -107.50 162.50 142.50 2.83112 -107.50 162.50 147.50 2.63506 -107.50 162.50 152.50 2.08212 -107.50 162.50 157.50 1.45356 -107.50 162.50 162.50 0.900622 -107.50 162.50 167.50 0.529187 -107.50 162.50 172.50 0.271564 -107.50 162.50 177.50 0.162877 -107.50 162.50 182.50 0.200246 -107.50 162.50 187.50 0.322734 -107.50 162.50 192.50 0.51311 -107.50 162.50 197.50 0.741939 -107.50 162.50 202.50 0.8701 -107.50 162.50 207.50 0.84462 -107.50 162.50 212.50 0.915796 -107.50 162.50 217.50 1.21643 -107.50 162.50 222.50 1.76351 -107.50 162.50 227.50 2.43961 -107.50 162.50 232.50 2.83112 -107.50 162.50 237.50 2.63506 -107.50 162.50 242.50 2.08212 -107.50 162.50 247.50 1.45356 -107.50 162.50 252.50 0.900621 -107.50 162.50 257.50 0.529186 -107.50 162.50 262.50 0.271563 -107.50 162.50 267.50 0.162877 -107.50 162.50 272.50 0.200246 -107.50 162.50 277.50 0.322734 -107.50 162.50 282.50 0.51311 -107.50 162.50 287.50 0.741938 -107.50 162.50 292.50 0.8701 -107.50 162.50 297.50 0.844619 -107.50 162.50 302.50 0.915795 -107.50 162.50 307.50 1.21643 -107.50 162.50 312.50 1.76351 -107.50 162.50 317.50 2.43961 -107.50 162.50 322.50 2.83112 -107.50 162.50 327.50 2.63506 -107.50 162.50 332.50 2.08212 -107.50 162.50 337.50 1.45356 -107.50 162.50 342.50 0.900622 -107.50 162.50 347.50 0.529188 -107.50 162.50 352.50 0.271564 -107.50 162.50 357.50 0.162877 -107.50 167.50 2.50 0.244704 -107.50 167.50 7.50 0.41502 -107.50 167.50 12.50 0.628789 -107.50 167.50 17.50 0.848716 -107.50 167.50 22.50 0.904768 -107.50 167.50 27.50 0.757981 -107.50 167.50 32.50 0.614572 -107.50 167.50 37.50 0.733605 -107.50 167.50 42.50 1.01527 -107.50 167.50 47.50 1.30328 -107.50 167.50 52.50 1.43216 -107.50 167.50 57.50 1.33038 -107.50 167.50 62.50 1.09907 -107.50 167.50 67.50 0.875551 -107.50 167.50 72.50 0.645138 -107.50 167.50 77.50 0.403468 -107.50 167.50 82.50 0.211335 -107.50 167.50 87.50 0.170695 -107.50 167.50 92.50 0.244704 -107.50 167.50 97.50 0.41502 -107.50 167.50 102.50 0.628789 -107.50 167.50 107.50 0.848716 -107.50 167.50 112.50 0.904768 -107.50 167.50 117.50 0.757981 -107.50 167.50 122.50 0.614572 -107.50 167.50 127.50 0.733605 -107.50 167.50 132.50 1.01527 -107.50 167.50 137.50 1.30328 -107.50 167.50 142.50 1.43216 -107.50 167.50 147.50 1.33038 -107.50 167.50 152.50 1.09907 -107.50 167.50 157.50 0.875551 -107.50 167.50 162.50 0.645139 -107.50 167.50 167.50 0.403469 -107.50 167.50 172.50 0.211335 -107.50 167.50 177.50 0.170695 -107.50 167.50 182.50 0.244704 -107.50 167.50 187.50 0.41502 -107.50 167.50 192.50 0.628789 -107.50 167.50 197.50 0.848716 -107.50 167.50 202.50 0.904768 -107.50 167.50 207.50 0.757981 -107.50 167.50 212.50 0.614572 -107.50 167.50 217.50 0.733603 -107.50 167.50 222.50 1.01527 -107.50 167.50 227.50 1.30328 -107.50 167.50 232.50 1.43216 -107.50 167.50 237.50 1.33038 -107.50 167.50 242.50 1.09907 -107.50 167.50 247.50 0.875551 -107.50 167.50 252.50 0.645138 -107.50 167.50 257.50 0.403468 -107.50 167.50 262.50 0.211335 -107.50 167.50 267.50 0.170695 -107.50 167.50 272.50 0.244704 -107.50 167.50 277.50 0.41502 -107.50 167.50 282.50 0.628789 -107.50 167.50 287.50 0.848716 -107.50 167.50 292.50 0.904768 -107.50 167.50 297.50 0.757981 -107.50 167.50 302.50 0.614572 -107.50 167.50 307.50 0.733603 -107.50 167.50 312.50 1.01527 -107.50 167.50 317.50 1.30328 -107.50 167.50 322.50 1.43216 -107.50 167.50 327.50 1.33038 -107.50 167.50 332.50 1.09907 -107.50 167.50 337.50 0.875551 -107.50 167.50 342.50 0.645139 -107.50 167.50 347.50 0.403469 -107.50 167.50 352.50 0.211335 -107.50 167.50 357.50 0.170695 -107.50 172.50 2.50 0.230709 -107.50 172.50 7.50 0.427284 -107.50 172.50 12.50 0.681812 -107.50 172.50 17.50 0.838584 -107.50 172.50 22.50 0.794107 -107.50 172.50 27.50 0.567897 -107.50 172.50 32.50 0.371627 -107.50 172.50 37.50 0.335434 -107.50 172.50 42.50 0.430597 -107.50 172.50 47.50 0.543761 -107.50 172.50 52.50 0.597213 -107.50 172.50 57.50 0.574047 -107.50 172.50 62.50 0.512493 -107.50 172.50 67.50 0.457379 -107.50 172.50 72.50 0.370092 -107.50 172.50 77.50 0.242567 -107.50 172.50 82.50 0.159494 -107.50 172.50 87.50 0.145288 -107.50 172.50 92.50 0.230709 -107.50 172.50 97.50 0.427284 -107.50 172.50 102.50 0.681812 -107.50 172.50 107.50 0.838584 -107.50 172.50 112.50 0.794106 -107.50 172.50 117.50 0.567896 -107.50 172.50 122.50 0.371628 -107.50 172.50 127.50 0.335434 -107.50 172.50 132.50 0.430597 -107.50 172.50 137.50 0.543762 -107.50 172.50 142.50 0.597213 -107.50 172.50 147.50 0.574047 -107.50 172.50 152.50 0.512493 -107.50 172.50 157.50 0.457379 -107.50 172.50 162.50 0.370092 -107.50 172.50 167.50 0.242567 -107.50 172.50 172.50 0.159494 -107.50 172.50 177.50 0.145288 -107.50 172.50 182.50 0.230709 -107.50 172.50 187.50 0.427285 -107.50 172.50 192.50 0.681812 -107.50 172.50 197.50 0.838584 -107.50 172.50 202.50 0.794106 -107.50 172.50 207.50 0.567897 -107.50 172.50 212.50 0.371627 -107.50 172.50 217.50 0.335433 -107.50 172.50 222.50 0.430596 -107.50 172.50 227.50 0.543761 -107.50 172.50 232.50 0.597214 -107.50 172.50 237.50 0.574048 -107.50 172.50 242.50 0.512493 -107.50 172.50 247.50 0.457379 -107.50 172.50 252.50 0.370092 -107.50 172.50 257.50 0.242567 -107.50 172.50 262.50 0.159494 -107.50 172.50 267.50 0.145289 -107.50 172.50 272.50 0.230709 -107.50 172.50 277.50 0.427284 -107.50 172.50 282.50 0.681812 -107.50 172.50 287.50 0.838584 -107.50 172.50 292.50 0.794106 -107.50 172.50 297.50 0.567897 -107.50 172.50 302.50 0.371627 -107.50 172.50 307.50 0.335433 -107.50 172.50 312.50 0.430596 -107.50 172.50 317.50 0.543761 -107.50 172.50 322.50 0.597213 -107.50 172.50 327.50 0.574048 -107.50 172.50 332.50 0.512493 -107.50 172.50 337.50 0.457379 -107.50 172.50 342.50 0.370093 -107.50 172.50 347.50 0.242567 -107.50 172.50 352.50 0.159494 -107.50 172.50 357.50 0.145288 -107.50 177.50 2.50 0.172972 -107.50 177.50 7.50 0.381828 -107.50 177.50 12.50 0.678346 -107.50 177.50 17.50 0.837588 -107.50 177.50 22.50 0.691078 -107.50 177.50 27.50 0.393842 -107.50 177.50 32.50 0.180691 -107.50 177.50 37.50 0.112652 -107.50 177.50 42.50 0.126409 -107.50 177.50 47.50 0.164881 -107.50 177.50 52.50 0.189423 -107.50 177.50 57.50 0.187044 -107.50 177.50 62.50 0.174826 -107.50 177.50 67.50 0.174066 -107.50 177.50 72.50 0.156691 -107.50 177.50 77.50 0.118386 -107.50 177.50 82.50 0.085531 -107.50 177.50 87.50 0.0902107 -107.50 177.50 92.50 0.172972 -107.50 177.50 97.50 0.381828 -107.50 177.50 102.50 0.678346 -107.50 177.50 107.50 0.837588 -107.50 177.50 112.50 0.691078 -107.50 177.50 117.50 0.393842 -107.50 177.50 122.50 0.180691 -107.50 177.50 127.50 0.112652 -107.50 177.50 132.50 0.126409 -107.50 177.50 137.50 0.164881 -107.50 177.50 142.50 0.189423 -107.50 177.50 147.50 0.187044 -107.50 177.50 152.50 0.174826 -107.50 177.50 157.50 0.174066 -107.50 177.50 162.50 0.156691 -107.50 177.50 167.50 0.118386 -107.50 177.50 172.50 0.085531 -107.50 177.50 177.50 0.0902107 -107.50 177.50 182.50 0.172972 -107.50 177.50 187.50 0.381828 -107.50 177.50 192.50 0.678346 -107.50 177.50 197.50 0.837588 -107.50 177.50 202.50 0.691078 -107.50 177.50 207.50 0.393842 -107.50 177.50 212.50 0.180691 -107.50 177.50 217.50 0.112652 -107.50 177.50 222.50 0.126409 -107.50 177.50 227.50 0.164881 -107.50 177.50 232.50 0.189423 -107.50 177.50 237.50 0.187044 -107.50 177.50 242.50 0.174826 -107.50 177.50 247.50 0.174066 -107.50 177.50 252.50 0.156691 -107.50 177.50 257.50 0.118386 -107.50 177.50 262.50 0.0855309 -107.50 177.50 267.50 0.0902107 -107.50 177.50 272.50 0.172972 -107.50 177.50 277.50 0.381828 -107.50 177.50 282.50 0.678346 -107.50 177.50 287.50 0.837588 -107.50 177.50 292.50 0.691078 -107.50 177.50 297.50 0.393842 -107.50 177.50 302.50 0.180691 -107.50 177.50 307.50 0.112652 -107.50 177.50 312.50 0.126409 -107.50 177.50 317.50 0.164881 -107.50 177.50 322.50 0.189423 -107.50 177.50 327.50 0.187044 -107.50 177.50 332.50 0.174826 -107.50 177.50 337.50 0.174066 -107.50 177.50 342.50 0.156691 -107.50 177.50 347.50 0.118387 -107.50 177.50 352.50 0.085531 -107.50 177.50 357.50 0.0902107 -112.50 2.50 2.50 0.0624685 -112.50 2.50 7.50 0.0485219 -112.50 2.50 12.50 0.0601603 -112.50 2.50 17.50 0.0760386 -112.50 2.50 22.50 0.083846 -112.50 2.50 27.50 0.084539 -112.50 2.50 32.50 0.083846 -112.50 2.50 37.50 0.0760385 -112.50 2.50 42.50 0.0601603 -112.50 2.50 47.50 0.0485219 -112.50 2.50 52.50 0.0624686 -112.50 2.50 57.50 0.149977 -112.50 2.50 62.50 0.393273 -112.50 2.50 67.50 0.773179 -112.50 2.50 72.50 0.980506 -112.50 2.50 77.50 0.773179 -112.50 2.50 82.50 0.393272 -112.50 2.50 87.50 0.149977 -112.50 2.50 92.50 0.0624685 -112.50 2.50 97.50 0.0485219 -112.50 2.50 102.50 0.0601603 -112.50 2.50 107.50 0.0760385 -112.50 2.50 112.50 0.083846 -112.50 2.50 117.50 0.084539 -112.50 2.50 122.50 0.083846 -112.50 2.50 127.50 0.0760385 -112.50 2.50 132.50 0.0601603 -112.50 2.50 137.50 0.0485219 -112.50 2.50 142.50 0.0624686 -112.50 2.50 147.50 0.149977 -112.50 2.50 152.50 0.393272 -112.50 2.50 157.50 0.773179 -112.50 2.50 162.50 0.980476 -112.50 2.50 167.50 0.773179 -112.50 2.50 172.50 0.393273 -112.50 2.50 177.50 0.149977 -112.50 2.50 182.50 0.0624685 -112.50 2.50 187.50 0.048522 -112.50 2.50 192.50 0.0601603 -112.50 2.50 197.50 0.0760386 -112.50 2.50 202.50 0.083846 -112.50 2.50 207.50 0.084539 -112.50 2.50 212.50 0.083846 -112.50 2.50 217.50 0.0760385 -112.50 2.50 222.50 0.0601603 -112.50 2.50 227.50 0.0485219 -112.50 2.50 232.50 0.0624686 -112.50 2.50 237.50 0.149977 -112.50 2.50 242.50 0.393273 -112.50 2.50 247.50 0.773179 -112.50 2.50 252.50 0.980476 -112.50 2.50 257.50 0.773179 -112.50 2.50 262.50 0.393272 -112.50 2.50 267.50 0.149977 -112.50 2.50 272.50 0.0624685 -112.50 2.50 277.50 0.0485219 -112.50 2.50 282.50 0.0601603 -112.50 2.50 287.50 0.0760385 -112.50 2.50 292.50 0.083846 -112.50 2.50 297.50 0.084539 -112.50 2.50 302.50 0.083846 -112.50 2.50 307.50 0.0760385 -112.50 2.50 312.50 0.0601603 -112.50 2.50 317.50 0.048522 -112.50 2.50 322.50 0.0624685 -112.50 2.50 327.50 0.149977 -112.50 2.50 332.50 0.393272 -112.50 2.50 337.50 0.773178 -112.50 2.50 342.50 0.980476 -112.50 2.50 347.50 0.773179 -112.50 2.50 352.50 0.393273 -112.50 2.50 357.50 0.149977 -112.50 7.50 2.50 0.0872056 -112.50 7.50 7.50 0.0787342 -112.50 7.50 12.50 0.106856 -112.50 7.50 17.50 0.143646 -112.50 7.50 22.50 0.166878 -112.50 7.50 27.50 0.174319 -112.50 7.50 32.50 0.179112 -112.50 7.50 37.50 0.182585 -112.50 7.50 42.50 0.166387 -112.50 7.50 47.50 0.137564 -112.50 7.50 52.50 0.126127 -112.50 7.50 57.50 0.194407 -112.50 7.50 62.50 0.400162 -112.50 7.50 67.50 0.70618 -112.50 7.50 72.50 0.855308 -112.50 7.50 77.50 0.688836 -112.50 7.50 82.50 0.384509 -112.50 7.50 87.50 0.172288 -112.50 7.50 92.50 0.0872056 -112.50 7.50 97.50 0.0787342 -112.50 7.50 102.50 0.106856 -112.50 7.50 107.50 0.143647 -112.50 7.50 112.50 0.166878 -112.50 7.50 117.50 0.174319 -112.50 7.50 122.50 0.179112 -112.50 7.50 127.50 0.182585 -112.50 7.50 132.50 0.166387 -112.50 7.50 137.50 0.137564 -112.50 7.50 142.50 0.126127 -112.50 7.50 147.50 0.194407 -112.50 7.50 152.50 0.400161 -112.50 7.50 157.50 0.706179 -112.50 7.50 162.50 0.855308 -112.50 7.50 167.50 0.688836 -112.50 7.50 172.50 0.384509 -112.50 7.50 177.50 0.172288 -112.50 7.50 182.50 0.0872056 -112.50 7.50 187.50 0.0787342 -112.50 7.50 192.50 0.106856 -112.50 7.50 197.50 0.143646 -112.50 7.50 202.50 0.166879 -112.50 7.50 207.50 0.174319 -112.50 7.50 212.50 0.179111 -112.50 7.50 217.50 0.182585 -112.50 7.50 222.50 0.166387 -112.50 7.50 227.50 0.137564 -112.50 7.50 232.50 0.126127 -112.50 7.50 237.50 0.194407 -112.50 7.50 242.50 0.400162 -112.50 7.50 247.50 0.70618 -112.50 7.50 252.50 0.855307 -112.50 7.50 257.50 0.688836 -112.50 7.50 262.50 0.384508 -112.50 7.50 267.50 0.172288 -112.50 7.50 272.50 0.0872056 -112.50 7.50 277.50 0.0787342 -112.50 7.50 282.50 0.106856 -112.50 7.50 287.50 0.143647 -112.50 7.50 292.50 0.166878 -112.50 7.50 297.50 0.174319 -112.50 7.50 302.50 0.179111 -112.50 7.50 307.50 0.182585 -112.50 7.50 312.50 0.166387 -112.50 7.50 317.50 0.137564 -112.50 7.50 322.50 0.126127 -112.50 7.50 327.50 0.194406 -112.50 7.50 332.50 0.400161 -112.50 7.50 337.50 0.706179 -112.50 7.50 342.50 0.855308 -112.50 7.50 347.50 0.688837 -112.50 7.50 352.50 0.384509 -112.50 7.50 357.50 0.172289 -112.50 12.50 2.50 0.134121 -112.50 12.50 7.50 0.135945 -112.50 12.50 12.50 0.201029 -112.50 12.50 17.50 0.294737 -112.50 12.50 22.50 0.401511 -112.50 12.50 27.50 0.478811 -112.50 12.50 32.50 0.549479 -112.50 12.50 37.50 0.589233 -112.50 12.50 42.50 0.555932 -112.50 12.50 47.50 0.471098 -112.50 12.50 52.50 0.385849 -112.50 12.50 57.50 0.416365 -112.50 12.50 62.50 0.62605 -112.50 12.50 67.50 0.87844 -112.50 12.50 72.50 0.92701 -112.50 12.50 77.50 0.708774 -112.50 12.50 82.50 0.431976 -112.50 12.50 87.50 0.227328 -112.50 12.50 92.50 0.134121 -112.50 12.50 97.50 0.135945 -112.50 12.50 102.50 0.201029 -112.50 12.50 107.50 0.294737 -112.50 12.50 112.50 0.401511 -112.50 12.50 117.50 0.478811 -112.50 12.50 122.50 0.549479 -112.50 12.50 127.50 0.589233 -112.50 12.50 132.50 0.555932 -112.50 12.50 137.50 0.471098 -112.50 12.50 142.50 0.385848 -112.50 12.50 147.50 0.416365 -112.50 12.50 152.50 0.626049 -112.50 12.50 157.50 0.87844 -112.50 12.50 162.50 0.92701 -112.50 12.50 167.50 0.708774 -112.50 12.50 172.50 0.431976 -112.50 12.50 177.50 0.227328 -112.50 12.50 182.50 0.134121 -112.50 12.50 187.50 0.135945 -112.50 12.50 192.50 0.201029 -112.50 12.50 197.50 0.294737 -112.50 12.50 202.50 0.401511 -112.50 12.50 207.50 0.478812 -112.50 12.50 212.50 0.549478 -112.50 12.50 217.50 0.589233 -112.50 12.50 222.50 0.555932 -112.50 12.50 227.50 0.471098 -112.50 12.50 232.50 0.385849 -112.50 12.50 237.50 0.416365 -112.50 12.50 242.50 0.62605 -112.50 12.50 247.50 0.87844 -112.50 12.50 252.50 0.927009 -112.50 12.50 257.50 0.708773 -112.50 12.50 262.50 0.431975 -112.50 12.50 267.50 0.227328 -112.50 12.50 272.50 0.134121 -112.50 12.50 277.50 0.135945 -112.50 12.50 282.50 0.201029 -112.50 12.50 287.50 0.294737 -112.50 12.50 292.50 0.401511 -112.50 12.50 297.50 0.478811 -112.50 12.50 302.50 0.549479 -112.50 12.50 307.50 0.589234 -112.50 12.50 312.50 0.555932 -112.50 12.50 317.50 0.471098 -112.50 12.50 322.50 0.385849 -112.50 12.50 327.50 0.416365 -112.50 12.50 332.50 0.626049 -112.50 12.50 337.50 0.878439 -112.50 12.50 342.50 0.92701 -112.50 12.50 347.50 0.708774 -112.50 12.50 352.50 0.431976 -112.50 12.50 357.50 0.227328 -112.50 17.50 2.50 0.148779 -112.50 17.50 7.50 0.163633 -112.50 17.50 12.50 0.2684 -112.50 17.50 17.50 0.499375 -112.50 17.50 22.50 0.759031 -112.50 17.50 27.50 1.02204 -112.50 17.50 32.50 1.27537 -112.50 17.50 37.50 1.41539 -112.50 17.50 42.50 1.37822 -112.50 17.50 47.50 1.16717 -112.50 17.50 52.50 0.902796 -112.50 17.50 57.50 0.774984 -112.50 17.50 62.50 0.875163 -112.50 17.50 67.50 1.04021 -112.50 17.50 72.50 0.972016 -112.50 17.50 77.50 0.702543 -112.50 17.50 82.50 0.419806 -112.50 17.50 87.50 0.235527 -112.50 17.50 92.50 0.148779 -112.50 17.50 97.50 0.163633 -112.50 17.50 102.50 0.2684 -112.50 17.50 107.50 0.499375 -112.50 17.50 112.50 0.759031 -112.50 17.50 117.50 1.02204 -112.50 17.50 122.50 1.27537 -112.50 17.50 127.50 1.41539 -112.50 17.50 132.50 1.37822 -112.50 17.50 137.50 1.16717 -112.50 17.50 142.50 0.902795 -112.50 17.50 147.50 0.774984 -112.50 17.50 152.50 0.875162 -112.50 17.50 157.50 1.04021 -112.50 17.50 162.50 0.972016 -112.50 17.50 167.50 0.702544 -112.50 17.50 172.50 0.419807 -112.50 17.50 177.50 0.235527 -112.50 17.50 182.50 0.148779 -112.50 17.50 187.50 0.163633 -112.50 17.50 192.50 0.2684 -112.50 17.50 197.50 0.499375 -112.50 17.50 202.50 0.759032 -112.50 17.50 207.50 1.02204 -112.50 17.50 212.50 1.27537 -112.50 17.50 217.50 1.41539 -112.50 17.50 222.50 1.37822 -112.50 17.50 227.50 1.16717 -112.50 17.50 232.50 0.902795 -112.50 17.50 237.50 0.774984 -112.50 17.50 242.50 0.875162 -112.50 17.50 247.50 1.04021 -112.50 17.50 252.50 0.972015 -112.50 17.50 257.50 0.702543 -112.50 17.50 262.50 0.419806 -112.50 17.50 267.50 0.235527 -112.50 17.50 272.50 0.148779 -112.50 17.50 277.50 0.163633 -112.50 17.50 282.50 0.2684 -112.50 17.50 287.50 0.499376 -112.50 17.50 292.50 0.759031 -112.50 17.50 297.50 1.02204 -112.50 17.50 302.50 1.27537 -112.50 17.50 307.50 1.41539 -112.50 17.50 312.50 1.37822 -112.50 17.50 317.50 1.16717 -112.50 17.50 322.50 0.902795 -112.50 17.50 327.50 0.774984 -112.50 17.50 332.50 0.875161 -112.50 17.50 337.50 1.04021 -112.50 17.50 342.50 0.972016 -112.50 17.50 347.50 0.702544 -112.50 17.50 352.50 0.419807 -112.50 17.50 357.50 0.235527 -112.50 22.50 2.50 0.129042 -112.50 22.50 7.50 0.169802 -112.50 22.50 12.50 0.353566 -112.50 22.50 17.50 0.70176 -112.50 22.50 22.50 1.19702 -112.50 22.50 27.50 1.8723 -112.50 22.50 32.50 2.5111 -112.50 22.50 37.50 2.87762 -112.50 22.50 42.50 2.74521 -112.50 22.50 47.50 2.14441 -112.50 22.50 52.50 1.51677 -112.50 22.50 57.50 1.15056 -112.50 22.50 62.50 1.05452 -112.50 22.50 67.50 1.03817 -112.50 22.50 72.50 0.877147 -112.50 22.50 77.50 0.578688 -112.50 22.50 82.50 0.330343 -112.50 22.50 87.50 0.180575 -112.50 22.50 92.50 0.129042 -112.50 22.50 97.50 0.169802 -112.50 22.50 102.50 0.353566 -112.50 22.50 107.50 0.701761 -112.50 22.50 112.50 1.19702 -112.50 22.50 117.50 1.8723 -112.50 22.50 122.50 2.5111 -112.50 22.50 127.50 2.87762 -112.50 22.50 132.50 2.74521 -112.50 22.50 137.50 2.14441 -112.50 22.50 142.50 1.51677 -112.50 22.50 147.50 1.15056 -112.50 22.50 152.50 1.05452 -112.50 22.50 157.50 1.03817 -112.50 22.50 162.50 0.877147 -112.50 22.50 167.50 0.578688 -112.50 22.50 172.50 0.330343 -112.50 22.50 177.50 0.180575 -112.50 22.50 182.50 0.129042 -112.50 22.50 187.50 0.169802 -112.50 22.50 192.50 0.353566 -112.50 22.50 197.50 0.70176 -112.50 22.50 202.50 1.19702 -112.50 22.50 207.50 1.8723 -112.50 22.50 212.50 2.5111 -112.50 22.50 217.50 2.87762 -112.50 22.50 222.50 2.74521 -112.50 22.50 227.50 2.14441 -112.50 22.50 232.50 1.51676 -112.50 22.50 237.50 1.15056 -112.50 22.50 242.50 1.05452 -112.50 22.50 247.50 1.03817 -112.50 22.50 252.50 0.877146 -112.50 22.50 257.50 0.578688 -112.50 22.50 262.50 0.330342 -112.50 22.50 267.50 0.180575 -112.50 22.50 272.50 0.129042 -112.50 22.50 277.50 0.169802 -112.50 22.50 282.50 0.353566 -112.50 22.50 287.50 0.701761 -112.50 22.50 292.50 1.19702 -112.50 22.50 297.50 1.8723 -112.50 22.50 302.50 2.5111 -112.50 22.50 307.50 2.87762 -112.50 22.50 312.50 2.74521 -112.50 22.50 317.50 2.14441 -112.50 22.50 322.50 1.51677 -112.50 22.50 327.50 1.15056 -112.50 22.50 332.50 1.05452 -112.50 22.50 337.50 1.03817 -112.50 22.50 342.50 0.877147 -112.50 22.50 347.50 0.578689 -112.50 22.50 352.50 0.330343 -112.50 22.50 357.50 0.180575 -112.50 27.50 2.50 0.114009 -112.50 27.50 7.50 0.199353 -112.50 27.50 12.50 0.46717 -112.50 27.50 17.50 0.924206 -112.50 27.50 22.50 1.7273 -112.50 27.50 27.50 2.88921 -112.50 27.50 32.50 4.01069 -112.50 27.50 37.50 4.44844 -112.50 27.50 42.50 4.10407 -112.50 27.50 47.50 3.12497 -112.50 27.50 52.50 2.02416 -112.50 27.50 57.50 1.30349 -112.50 27.50 62.50 0.979365 -112.50 27.50 67.50 0.830492 -112.50 27.50 72.50 0.621241 -112.50 27.50 77.50 0.380762 -112.50 27.50 82.50 0.209396 -112.50 27.50 87.50 0.118439 -112.50 27.50 92.50 0.114009 -112.50 27.50 97.50 0.199352 -112.50 27.50 102.50 0.46717 -112.50 27.50 107.50 0.924205 -112.50 27.50 112.50 1.7273 -112.50 27.50 117.50 2.88921 -112.50 27.50 122.50 4.01069 -112.50 27.50 127.50 4.44844 -112.50 27.50 132.50 4.10407 -112.50 27.50 137.50 3.12497 -112.50 27.50 142.50 2.02416 -112.50 27.50 147.50 1.30349 -112.50 27.50 152.50 0.979365 -112.50 27.50 157.50 0.830492 -112.50 27.50 162.50 0.621241 -112.50 27.50 167.50 0.380762 -112.50 27.50 172.50 0.209396 -112.50 27.50 177.50 0.11844 -112.50 27.50 182.50 0.114009 -112.50 27.50 187.50 0.199353 -112.50 27.50 192.50 0.46717 -112.50 27.50 197.50 0.924206 -112.50 27.50 202.50 1.7273 -112.50 27.50 207.50 2.88921 -112.50 27.50 212.50 4.01068 -112.50 27.50 217.50 4.44844 -112.50 27.50 222.50 4.10408 -112.50 27.50 227.50 3.12498 -112.50 27.50 232.50 2.02415 -112.50 27.50 237.50 1.30349 -112.50 27.50 242.50 0.979364 -112.50 27.50 247.50 0.830491 -112.50 27.50 252.50 0.62124 -112.50 27.50 257.50 0.380762 -112.50 27.50 262.50 0.209395 -112.50 27.50 267.50 0.11844 -112.50 27.50 272.50 0.114009 -112.50 27.50 277.50 0.199352 -112.50 27.50 282.50 0.467169 -112.50 27.50 287.50 0.924206 -112.50 27.50 292.50 1.7273 -112.50 27.50 297.50 2.88921 -112.50 27.50 302.50 4.01068 -112.50 27.50 307.50 4.44844 -112.50 27.50 312.50 4.10408 -112.50 27.50 317.50 3.12498 -112.50 27.50 322.50 2.02416 -112.50 27.50 327.50 1.30349 -112.50 27.50 332.50 0.979366 -112.50 27.50 337.50 0.830492 -112.50 27.50 342.50 0.621241 -112.50 27.50 347.50 0.380762 -112.50 27.50 352.50 0.209396 -112.50 27.50 357.50 0.11844 -112.50 32.50 2.50 0.102728 -112.50 32.50 7.50 0.222408 -112.50 32.50 12.50 0.528282 -112.50 32.50 17.50 1.02982 -112.50 32.50 22.50 1.9346 -112.50 32.50 27.50 3.3845 -112.50 32.50 32.50 4.65189 -112.50 32.50 37.50 5.20994 -112.50 32.50 42.50 4.72298 -112.50 32.50 47.50 3.42852 -112.50 32.50 52.50 2.04157 -112.50 32.50 57.50 1.15908 -112.50 32.50 62.50 0.733517 -112.50 32.50 67.50 0.522997 -112.50 32.50 72.50 0.338363 -112.50 32.50 77.50 0.19226 -112.50 32.50 82.50 0.117217 -112.50 32.50 87.50 0.0796681 -112.50 32.50 92.50 0.102728 -112.50 32.50 97.50 0.222408 -112.50 32.50 102.50 0.528283 -112.50 32.50 107.50 1.02982 -112.50 32.50 112.50 1.9346 -112.50 32.50 117.50 3.3845 -112.50 32.50 122.50 4.65189 -112.50 32.50 127.50 5.20994 -112.50 32.50 132.50 4.72297 -112.50 32.50 137.50 3.42852 -112.50 32.50 142.50 2.04157 -112.50 32.50 147.50 1.15908 -112.50 32.50 152.50 0.733517 -112.50 32.50 157.50 0.522997 -112.50 32.50 162.50 0.338363 -112.50 32.50 167.50 0.19226 -112.50 32.50 172.50 0.117217 -112.50 32.50 177.50 0.0796682 -112.50 32.50 182.50 0.102728 -112.50 32.50 187.50 0.222409 -112.50 32.50 192.50 0.528283 -112.50 32.50 197.50 1.02982 -112.50 32.50 202.50 1.9346 -112.50 32.50 207.50 3.3845 -112.50 32.50 212.50 4.65189 -112.50 32.50 217.50 5.20994 -112.50 32.50 222.50 4.72297 -112.50 32.50 227.50 3.42852 -112.50 32.50 232.50 2.04156 -112.50 32.50 237.50 1.15908 -112.50 32.50 242.50 0.733517 -112.50 32.50 247.50 0.522996 -112.50 32.50 252.50 0.338362 -112.50 32.50 257.50 0.192259 -112.50 32.50 262.50 0.117217 -112.50 32.50 267.50 0.0796682 -112.50 32.50 272.50 0.102728 -112.50 32.50 277.50 0.222409 -112.50 32.50 282.50 0.528282 -112.50 32.50 287.50 1.02982 -112.50 32.50 292.50 1.9346 -112.50 32.50 297.50 3.3845 -112.50 32.50 302.50 4.65189 -112.50 32.50 307.50 5.20994 -112.50 32.50 312.50 4.72298 -112.50 32.50 317.50 3.42852 -112.50 32.50 322.50 2.04157 -112.50 32.50 327.50 1.15908 -112.50 32.50 332.50 0.733518 -112.50 32.50 337.50 0.522997 -112.50 32.50 342.50 0.338363 -112.50 32.50 347.50 0.19226 -112.50 32.50 352.50 0.117217 -112.50 32.50 357.50 0.0796681 -112.50 37.50 2.50 0.0713706 -112.50 37.50 7.50 0.177886 -112.50 37.50 12.50 0.428475 -112.50 37.50 17.50 0.828673 -112.50 37.50 22.50 1.59221 -112.50 37.50 27.50 2.84538 -112.50 37.50 32.50 4.07671 -112.50 37.50 37.50 4.56821 -112.50 37.50 42.50 4.03678 -112.50 37.50 47.50 2.82789 -112.50 37.50 52.50 1.56298 -112.50 37.50 57.50 0.776165 -112.50 37.50 62.50 0.436573 -112.50 37.50 67.50 0.262051 -112.50 37.50 72.50 0.137846 -112.50 37.50 77.50 0.0752978 -112.50 37.50 82.50 0.0577004 -112.50 37.50 87.50 0.0481647 -112.50 37.50 92.50 0.0713706 -112.50 37.50 97.50 0.177886 -112.50 37.50 102.50 0.428475 -112.50 37.50 107.50 0.828673 -112.50 37.50 112.50 1.59221 -112.50 37.50 117.50 2.84538 -112.50 37.50 122.50 4.07671 -112.50 37.50 127.50 4.56821 -112.50 37.50 132.50 4.03678 -112.50 37.50 137.50 2.82789 -112.50 37.50 142.50 1.56297 -112.50 37.50 147.50 0.776166 -112.50 37.50 152.50 0.436574 -112.50 37.50 157.50 0.262052 -112.50 37.50 162.50 0.137846 -112.50 37.50 167.50 0.0752979 -112.50 37.50 172.50 0.0577004 -112.50 37.50 177.50 0.0481647 -112.50 37.50 182.50 0.0713707 -112.50 37.50 187.50 0.177886 -112.50 37.50 192.50 0.428475 -112.50 37.50 197.50 0.828674 -112.50 37.50 202.50 1.59221 -112.50 37.50 207.50 2.84538 -112.50 37.50 212.50 4.07671 -112.50 37.50 217.50 4.56821 -112.50 37.50 222.50 4.03678 -112.50 37.50 227.50 2.82789 -112.50 37.50 232.50 1.56297 -112.50 37.50 237.50 0.776164 -112.50 37.50 242.50 0.436574 -112.50 37.50 247.50 0.262051 -112.50 37.50 252.50 0.137846 -112.50 37.50 257.50 0.0752978 -112.50 37.50 262.50 0.0577004 -112.50 37.50 267.50 0.0481647 -112.50 37.50 272.50 0.0713706 -112.50 37.50 277.50 0.177886 -112.50 37.50 282.50 0.428475 -112.50 37.50 287.50 0.828673 -112.50 37.50 292.50 1.59221 -112.50 37.50 297.50 2.84538 -112.50 37.50 302.50 4.07671 -112.50 37.50 307.50 4.56821 -112.50 37.50 312.50 4.03678 -112.50 37.50 317.50 2.82789 -112.50 37.50 322.50 1.56298 -112.50 37.50 327.50 0.776166 -112.50 37.50 332.50 0.436574 -112.50 37.50 337.50 0.262052 -112.50 37.50 342.50 0.137846 -112.50 37.50 347.50 0.075298 -112.50 37.50 352.50 0.0577004 -112.50 37.50 357.50 0.0481647 -112.50 42.50 2.50 0.0345643 -112.50 42.50 7.50 0.0948683 -112.50 42.50 12.50 0.241131 -112.50 42.50 17.50 0.472255 -112.50 42.50 22.50 0.938532 -112.50 42.50 27.50 1.79232 -112.50 42.50 32.50 2.68864 -112.50 42.50 37.50 2.96787 -112.50 42.50 42.50 2.55221 -112.50 42.50 47.50 1.67451 -112.50 42.50 52.50 0.849688 -112.50 42.50 57.50 0.377634 -112.50 42.50 62.50 0.191638 -112.50 42.50 67.50 0.100083 -112.50 42.50 72.50 0.0446952 -112.50 42.50 77.50 0.0254292 -112.50 42.50 82.50 0.0256804 -112.50 42.50 87.50 0.0229548 -112.50 42.50 92.50 0.0345643 -112.50 42.50 97.50 0.0948684 -112.50 42.50 102.50 0.241131 -112.50 42.50 107.50 0.472255 -112.50 42.50 112.50 0.938533 -112.50 42.50 117.50 1.79232 -112.50 42.50 122.50 2.68864 -112.50 42.50 127.50 2.96787 -112.50 42.50 132.50 2.55221 -112.50 42.50 137.50 1.67451 -112.50 42.50 142.50 0.849688 -112.50 42.50 147.50 0.377634 -112.50 42.50 152.50 0.191638 -112.50 42.50 157.50 0.100083 -112.50 42.50 162.50 0.0446952 -112.50 42.50 167.50 0.0254292 -112.50 42.50 172.50 0.0256804 -112.50 42.50 177.50 0.0229548 -112.50 42.50 182.50 0.0345643 -112.50 42.50 187.50 0.0948685 -112.50 42.50 192.50 0.241131 -112.50 42.50 197.50 0.472255 -112.50 42.50 202.50 0.938533 -112.50 42.50 207.50 1.79232 -112.50 42.50 212.50 2.68864 -112.50 42.50 217.50 2.96787 -112.50 42.50 222.50 2.55221 -112.50 42.50 227.50 1.67451 -112.50 42.50 232.50 0.849687 -112.50 42.50 237.50 0.377633 -112.50 42.50 242.50 0.191638 -112.50 42.50 247.50 0.100083 -112.50 42.50 252.50 0.044695 -112.50 42.50 257.50 0.0254292 -112.50 42.50 262.50 0.0256804 -112.50 42.50 267.50 0.0229548 -112.50 42.50 272.50 0.0345643 -112.50 42.50 277.50 0.0948683 -112.50 42.50 282.50 0.241131 -112.50 42.50 287.50 0.472255 -112.50 42.50 292.50 0.938533 -112.50 42.50 297.50 1.79232 -112.50 42.50 302.50 2.68864 -112.50 42.50 307.50 2.96787 -112.50 42.50 312.50 2.55221 -112.50 42.50 317.50 1.67451 -112.50 42.50 322.50 0.84969 -112.50 42.50 327.50 0.377634 -112.50 42.50 332.50 0.191639 -112.50 42.50 337.50 0.100083 -112.50 42.50 342.50 0.0446952 -112.50 42.50 347.50 0.0254292 -112.50 42.50 352.50 0.0256804 -112.50 42.50 357.50 0.0229548 -112.50 47.50 2.50 0.0195997 -112.50 47.50 7.50 0.0394375 -112.50 47.50 12.50 0.101401 -112.50 47.50 17.50 0.196214 -112.50 47.50 22.50 0.419285 -112.50 47.50 27.50 0.885198 -112.50 47.50 32.50 1.29353 -112.50 47.50 37.50 1.34303 -112.50 47.50 42.50 1.02135 -112.50 47.50 47.50 0.669526 -112.50 47.50 52.50 0.296556 -112.50 47.50 57.50 0.139446 -112.50 47.50 62.50 0.0567505 -112.50 47.50 67.50 0.0314306 -112.50 47.50 72.50 0.0200299 -112.50 47.50 77.50 0.0244227 -112.50 47.50 82.50 0.0301616 -112.50 47.50 87.50 0.0236699 -112.50 47.50 92.50 0.0195997 -112.50 47.50 97.50 0.0394376 -112.50 47.50 102.50 0.101402 -112.50 47.50 107.50 0.196214 -112.50 47.50 112.50 0.419284 -112.50 47.50 117.50 0.885198 -112.50 47.50 122.50 1.29353 -112.50 47.50 127.50 1.34304 -112.50 47.50 132.50 1.02135 -112.50 47.50 137.50 0.669526 -112.50 47.50 142.50 0.296556 -112.50 47.50 147.50 0.139446 -112.50 47.50 152.50 0.0567505 -112.50 47.50 157.50 0.0314306 -112.50 47.50 162.50 0.0200299 -112.50 47.50 167.50 0.0244227 -112.50 47.50 172.50 0.0301616 -112.50 47.50 177.50 0.0236699 -112.50 47.50 182.50 0.0195997 -112.50 47.50 187.50 0.0394376 -112.50 47.50 192.50 0.101402 -112.50 47.50 197.50 0.196214 -112.50 47.50 202.50 0.419285 -112.50 47.50 207.50 0.885197 -112.50 47.50 212.50 1.29353 -112.50 47.50 217.50 1.34304 -112.50 47.50 222.50 1.02135 -112.50 47.50 227.50 0.669526 -112.50 47.50 232.50 0.296556 -112.50 47.50 237.50 0.139445 -112.50 47.50 242.50 0.0567505 -112.50 47.50 247.50 0.0314306 -112.50 47.50 252.50 0.0200299 -112.50 47.50 257.50 0.0244227 -112.50 47.50 262.50 0.0301616 -112.50 47.50 267.50 0.0236699 -112.50 47.50 272.50 0.0195997 -112.50 47.50 277.50 0.0394376 -112.50 47.50 282.50 0.101401 -112.50 47.50 287.50 0.196214 -112.50 47.50 292.50 0.419284 -112.50 47.50 297.50 0.885197 -112.50 47.50 302.50 1.29353 -112.50 47.50 307.50 1.34304 -112.50 47.50 312.50 1.02135 -112.50 47.50 317.50 0.669526 -112.50 47.50 322.50 0.296557 -112.50 47.50 327.50 0.139446 -112.50 47.50 332.50 0.0567506 -112.50 47.50 337.50 0.0314306 -112.50 47.50 342.50 0.0200299 -112.50 47.50 347.50 0.0244227 -112.50 47.50 352.50 0.0301616 -112.50 47.50 357.50 0.0236699 -112.50 52.50 2.50 0.0345643 -112.50 52.50 7.50 0.0219592 -112.50 52.50 12.50 0.0338908 -112.50 52.50 17.50 0.0618641 -112.50 52.50 22.50 0.163165 -112.50 52.50 27.50 0.318524 -112.50 52.50 32.50 0.432883 -112.50 52.50 37.50 0.395714 -112.50 52.50 42.50 0.274639 -112.50 52.50 47.50 0.16975 -112.50 52.50 52.50 0.0811808 -112.50 52.50 57.50 0.0357743 -112.50 52.50 62.50 0.027975 -112.50 52.50 67.50 0.0404361 -112.50 52.50 72.50 0.0565859 -112.50 52.50 77.50 0.0725121 -112.50 52.50 82.50 0.0811078 -112.50 52.50 87.50 0.0653339 -112.50 52.50 92.50 0.0345643 -112.50 52.50 97.50 0.0219592 -112.50 52.50 102.50 0.0338908 -112.50 52.50 107.50 0.0618642 -112.50 52.50 112.50 0.163165 -112.50 52.50 117.50 0.318524 -112.50 52.50 122.50 0.432883 -112.50 52.50 127.50 0.395714 -112.50 52.50 132.50 0.274639 -112.50 52.50 137.50 0.16975 -112.50 52.50 142.50 0.0811809 -112.50 52.50 147.50 0.0357744 -112.50 52.50 152.50 0.027975 -112.50 52.50 157.50 0.040436 -112.50 52.50 162.50 0.0565859 -112.50 52.50 167.50 0.072512 -112.50 52.50 172.50 0.0811077 -112.50 52.50 177.50 0.0653339 -112.50 52.50 182.50 0.0345643 -112.50 52.50 187.50 0.0219592 -112.50 52.50 192.50 0.0338908 -112.50 52.50 197.50 0.0618642 -112.50 52.50 202.50 0.163165 -112.50 52.50 207.50 0.318524 -112.50 52.50 212.50 0.432883 -112.50 52.50 217.50 0.395714 -112.50 52.50 222.50 0.274639 -112.50 52.50 227.50 0.16975 -112.50 52.50 232.50 0.0811806 -112.50 52.50 237.50 0.0357743 -112.50 52.50 242.50 0.027975 -112.50 52.50 247.50 0.0404361 -112.50 52.50 252.50 0.0565859 -112.50 52.50 257.50 0.0725121 -112.50 52.50 262.50 0.0811078 -112.50 52.50 267.50 0.0653338 -112.50 52.50 272.50 0.0345643 -112.50 52.50 277.50 0.0219592 -112.50 52.50 282.50 0.0338908 -112.50 52.50 287.50 0.0618642 -112.50 52.50 292.50 0.163165 -112.50 52.50 297.50 0.318524 -112.50 52.50 302.50 0.432882 -112.50 52.50 307.50 0.395714 -112.50 52.50 312.50 0.274639 -112.50 52.50 317.50 0.16975 -112.50 52.50 322.50 0.0811809 -112.50 52.50 327.50 0.0357744 -112.50 52.50 332.50 0.0279751 -112.50 52.50 337.50 0.040436 -112.50 52.50 342.50 0.0565859 -112.50 52.50 347.50 0.0725121 -112.50 52.50 352.50 0.0811078 -112.50 52.50 357.50 0.0653339 -112.50 57.50 2.50 0.0713706 -112.50 57.50 7.50 0.0242699 -112.50 57.50 12.50 0.0120017 -112.50 57.50 17.50 0.022784 -112.50 57.50 22.50 0.0469154 -112.50 57.50 27.50 0.0714023 -112.50 57.50 32.50 0.0887259 -112.50 57.50 37.50 0.0792813 -112.50 57.50 42.50 0.0601425 -112.50 57.50 47.50 0.047718 -112.50 57.50 52.50 0.034129 -112.50 57.50 57.50 0.0458996 -112.50 57.50 62.50 0.0892549 -112.50 57.50 67.50 0.152117 -112.50 57.50 72.50 0.214172 -112.50 57.50 77.50 0.222721 -112.50 57.50 82.50 0.188219 -112.50 57.50 87.50 0.140073 -112.50 57.50 92.50 0.0713706 -112.50 57.50 97.50 0.0242699 -112.50 57.50 102.50 0.0120017 -112.50 57.50 107.50 0.022784 -112.50 57.50 112.50 0.0469154 -112.50 57.50 117.50 0.0714024 -112.50 57.50 122.50 0.0887259 -112.50 57.50 127.50 0.0792813 -112.50 57.50 132.50 0.0601425 -112.50 57.50 137.50 0.047718 -112.50 57.50 142.50 0.034129 -112.50 57.50 147.50 0.0458996 -112.50 57.50 152.50 0.0892547 -112.50 57.50 157.50 0.152117 -112.50 57.50 162.50 0.214172 -112.50 57.50 167.50 0.222721 -112.50 57.50 172.50 0.188219 -112.50 57.50 177.50 0.140073 -112.50 57.50 182.50 0.0713705 -112.50 57.50 187.50 0.0242699 -112.50 57.50 192.50 0.0120017 -112.50 57.50 197.50 0.022784 -112.50 57.50 202.50 0.0469155 -112.50 57.50 207.50 0.0714023 -112.50 57.50 212.50 0.0887259 -112.50 57.50 217.50 0.0792813 -112.50 57.50 222.50 0.0601425 -112.50 57.50 227.50 0.0477181 -112.50 57.50 232.50 0.034129 -112.50 57.50 237.50 0.0458996 -112.50 57.50 242.50 0.0892549 -112.50 57.50 247.50 0.152117 -112.50 57.50 252.50 0.214172 -112.50 57.50 257.50 0.222721 -112.50 57.50 262.50 0.188219 -112.50 57.50 267.50 0.140073 -112.50 57.50 272.50 0.0713706 -112.50 57.50 277.50 0.0242699 -112.50 57.50 282.50 0.0120017 -112.50 57.50 287.50 0.022784 -112.50 57.50 292.50 0.0469154 -112.50 57.50 297.50 0.0714023 -112.50 57.50 302.50 0.0887258 -112.50 57.50 307.50 0.0792813 -112.50 57.50 312.50 0.0601425 -112.50 57.50 317.50 0.047718 -112.50 57.50 322.50 0.034129 -112.50 57.50 327.50 0.0458996 -112.50 57.50 332.50 0.0892547 -112.50 57.50 337.50 0.152117 -112.50 57.50 342.50 0.214172 -112.50 57.50 347.50 0.222721 -112.50 57.50 352.50 0.188219 -112.50 57.50 357.50 0.140073 -112.50 62.50 2.50 0.102728 -112.50 62.50 7.50 0.0314926 -112.50 62.50 12.50 0.0115097 -112.50 62.50 17.50 0.00822497 -112.50 62.50 22.50 0.0102271 -112.50 62.50 27.50 0.0121879 -112.50 62.50 32.50 0.0153424 -112.50 62.50 37.50 0.0244175 -112.50 62.50 42.50 0.0388129 -112.50 62.50 47.50 0.0695905 -112.50 62.50 52.50 0.124174 -112.50 62.50 57.50 0.221577 -112.50 62.50 62.50 0.326203 -112.50 62.50 67.50 0.449164 -112.50 62.50 72.50 0.562697 -112.50 62.50 77.50 0.516927 -112.50 62.50 82.50 0.353436 -112.50 62.50 87.50 0.213676 -112.50 62.50 92.50 0.102728 -112.50 62.50 97.50 0.0314926 -112.50 62.50 102.50 0.0115096 -112.50 62.50 107.50 0.00822497 -112.50 62.50 112.50 0.0102271 -112.50 62.50 117.50 0.0121879 -112.50 62.50 122.50 0.0153424 -112.50 62.50 127.50 0.0244175 -112.50 62.50 132.50 0.0388129 -112.50 62.50 137.50 0.0695904 -112.50 62.50 142.50 0.124174 -112.50 62.50 147.50 0.221577 -112.50 62.50 152.50 0.326203 -112.50 62.50 157.50 0.449164 -112.50 62.50 162.50 0.562697 -112.50 62.50 167.50 0.516927 -112.50 62.50 172.50 0.353436 -112.50 62.50 177.50 0.213676 -112.50 62.50 182.50 0.102728 -112.50 62.50 187.50 0.0314926 -112.50 62.50 192.50 0.0115097 -112.50 62.50 197.50 0.00822497 -112.50 62.50 202.50 0.0102271 -112.50 62.50 207.50 0.0121879 -112.50 62.50 212.50 0.0153424 -112.50 62.50 217.50 0.0244175 -112.50 62.50 222.50 0.0388129 -112.50 62.50 227.50 0.0695904 -112.50 62.50 232.50 0.124174 -112.50 62.50 237.50 0.221577 -112.50 62.50 242.50 0.326203 -112.50 62.50 247.50 0.449164 -112.50 62.50 252.50 0.562698 -112.50 62.50 257.50 0.516927 -112.50 62.50 262.50 0.353436 -112.50 62.50 267.50 0.213676 -112.50 62.50 272.50 0.102728 -112.50 62.50 277.50 0.0314926 -112.50 62.50 282.50 0.0115097 -112.50 62.50 287.50 0.00822497 -112.50 62.50 292.50 0.0102271 -112.50 62.50 297.50 0.0121879 -112.50 62.50 302.50 0.0153424 -112.50 62.50 307.50 0.0244175 -112.50 62.50 312.50 0.0388129 -112.50 62.50 317.50 0.0695904 -112.50 62.50 322.50 0.124174 -112.50 62.50 327.50 0.221576 -112.50 62.50 332.50 0.326203 -112.50 62.50 337.50 0.449164 -112.50 62.50 342.50 0.562697 -112.50 62.50 347.50 0.516927 -112.50 62.50 352.50 0.353436 -112.50 62.50 357.50 0.213676 -112.50 67.50 2.50 0.114009 -112.50 67.50 7.50 0.0458691 -112.50 67.50 12.50 0.0195529 -112.50 67.50 17.50 0.00927383 -112.50 67.50 22.50 0.00704931 -112.50 67.50 27.50 0.00773661 -112.50 67.50 32.50 0.011279 -112.50 67.50 37.50 0.0361209 -112.50 67.50 42.50 0.105781 -112.50 67.50 47.50 0.25155 -112.50 67.50 52.50 0.461554 -112.50 67.50 57.50 0.693072 -112.50 67.50 62.50 0.945088 -112.50 67.50 67.50 1.10873 -112.50 67.50 72.50 1.14987 -112.50 67.50 77.50 0.940721 -112.50 67.50 82.50 0.57164 -112.50 67.50 87.50 0.265949 -112.50 67.50 92.50 0.114009 -112.50 67.50 97.50 0.045869 -112.50 67.50 102.50 0.0195529 -112.50 67.50 107.50 0.00927381 -112.50 67.50 112.50 0.0070493 -112.50 67.50 117.50 0.00773661 -112.50 67.50 122.50 0.011279 -112.50 67.50 127.50 0.0361209 -112.50 67.50 132.50 0.105781 -112.50 67.50 137.50 0.25155 -112.50 67.50 142.50 0.461554 -112.50 67.50 147.50 0.693072 -112.50 67.50 152.50 0.945086 -112.50 67.50 157.50 1.10873 -112.50 67.50 162.50 1.14987 -112.50 67.50 167.50 0.940722 -112.50 67.50 172.50 0.571641 -112.50 67.50 177.50 0.26595 -112.50 67.50 182.50 0.114009 -112.50 67.50 187.50 0.0458691 -112.50 67.50 192.50 0.0195529 -112.50 67.50 197.50 0.0092738 -112.50 67.50 202.50 0.0070493 -112.50 67.50 207.50 0.00773662 -112.50 67.50 212.50 0.011279 -112.50 67.50 217.50 0.0361208 -112.50 67.50 222.50 0.105781 -112.50 67.50 227.50 0.25155 -112.50 67.50 232.50 0.461554 -112.50 67.50 237.50 0.693072 -112.50 67.50 242.50 0.945087 -112.50 67.50 247.50 1.10874 -112.50 67.50 252.50 1.14987 -112.50 67.50 257.50 0.940721 -112.50 67.50 262.50 0.57164 -112.50 67.50 267.50 0.265949 -112.50 67.50 272.50 0.114009 -112.50 67.50 277.50 0.0458691 -112.50 67.50 282.50 0.0195529 -112.50 67.50 287.50 0.00927383 -112.50 67.50 292.50 0.00704931 -112.50 67.50 297.50 0.00773662 -112.50 67.50 302.50 0.011279 -112.50 67.50 307.50 0.0361209 -112.50 67.50 312.50 0.105781 -112.50 67.50 317.50 0.25155 -112.50 67.50 322.50 0.461554 -112.50 67.50 327.50 0.693071 -112.50 67.50 332.50 0.945087 -112.50 67.50 337.50 1.10873 -112.50 67.50 342.50 1.14987 -112.50 67.50 347.50 0.940722 -112.50 67.50 352.50 0.571642 -112.50 67.50 357.50 0.26595 -112.50 72.50 2.50 0.129042 -112.50 72.50 7.50 0.0863504 -112.50 72.50 12.50 0.0407479 -112.50 72.50 17.50 0.0299198 -112.50 72.50 22.50 0.0313554 -112.50 72.50 27.50 0.0259966 -112.50 72.50 32.50 0.0466108 -112.50 72.50 37.50 0.127537 -112.50 72.50 42.50 0.325269 -112.50 72.50 47.50 0.656931 -112.50 72.50 52.50 1.13461 -112.50 72.50 57.50 1.54712 -112.50 72.50 62.50 1.89622 -112.50 72.50 67.50 2.15918 -112.50 72.50 72.50 1.97596 -112.50 72.50 77.50 1.45062 -112.50 72.50 82.50 0.769451 -112.50 72.50 87.50 0.322875 -112.50 72.50 92.50 0.129042 -112.50 72.50 97.50 0.0863504 -112.50 72.50 102.50 0.0407479 -112.50 72.50 107.50 0.0299198 -112.50 72.50 112.50 0.0313554 -112.50 72.50 117.50 0.0259966 -112.50 72.50 122.50 0.0466108 -112.50 72.50 127.50 0.127537 -112.50 72.50 132.50 0.325269 -112.50 72.50 137.50 0.656931 -112.50 72.50 142.50 1.13461 -112.50 72.50 147.50 1.54712 -112.50 72.50 152.50 1.89622 -112.50 72.50 157.50 2.15918 -112.50 72.50 162.50 1.97596 -112.50 72.50 167.50 1.45062 -112.50 72.50 172.50 0.769452 -112.50 72.50 177.50 0.322875 -112.50 72.50 182.50 0.129042 -112.50 72.50 187.50 0.0863504 -112.50 72.50 192.50 0.0407479 -112.50 72.50 197.50 0.0299198 -112.50 72.50 202.50 0.0313554 -112.50 72.50 207.50 0.0259966 -112.50 72.50 212.50 0.0466107 -112.50 72.50 217.50 0.127537 -112.50 72.50 222.50 0.325269 -112.50 72.50 227.50 0.656931 -112.50 72.50 232.50 1.13461 -112.50 72.50 237.50 1.54712 -112.50 72.50 242.50 1.89622 -112.50 72.50 247.50 2.15918 -112.50 72.50 252.50 1.97596 -112.50 72.50 257.50 1.45062 -112.50 72.50 262.50 0.76945 -112.50 72.50 267.50 0.322875 -112.50 72.50 272.50 0.129042 -112.50 72.50 277.50 0.0863504 -112.50 72.50 282.50 0.0407479 -112.50 72.50 287.50 0.0299198 -112.50 72.50 292.50 0.0313554 -112.50 72.50 297.50 0.0259966 -112.50 72.50 302.50 0.0466108 -112.50 72.50 307.50 0.127537 -112.50 72.50 312.50 0.325269 -112.50 72.50 317.50 0.656931 -112.50 72.50 322.50 1.13461 -112.50 72.50 327.50 1.54712 -112.50 72.50 332.50 1.89622 -112.50 72.50 337.50 2.15918 -112.50 72.50 342.50 1.97596 -112.50 72.50 347.50 1.45063 -112.50 72.50 352.50 0.769452 -112.50 72.50 357.50 0.322876 -112.50 77.50 2.50 0.148779 -112.50 77.50 7.50 0.132643 -112.50 77.50 12.50 0.067778 -112.50 77.50 17.50 0.0764477 -112.50 77.50 22.50 0.0698504 -112.50 77.50 27.50 0.0865854 -112.50 77.50 32.50 0.177916 -112.50 77.50 37.50 0.424124 -112.50 77.50 42.50 0.875113 -112.50 77.50 47.50 1.49579 -112.50 77.50 52.50 2.0489 -112.50 77.50 57.50 2.56876 -112.50 77.50 62.50 2.8744 -112.50 77.50 67.50 2.89725 -112.50 77.50 72.50 2.56798 -112.50 77.50 77.50 1.79376 -112.50 77.50 82.50 0.886303 -112.50 77.50 87.50 0.366389 -112.50 77.50 92.50 0.148779 -112.50 77.50 97.50 0.132643 -112.50 77.50 102.50 0.0677779 -112.50 77.50 107.50 0.0764476 -112.50 77.50 112.50 0.0698503 -112.50 77.50 117.50 0.0865853 -112.50 77.50 122.50 0.177916 -112.50 77.50 127.50 0.424124 -112.50 77.50 132.50 0.875113 -112.50 77.50 137.50 1.49579 -112.50 77.50 142.50 2.04889 -112.50 77.50 147.50 2.56876 -112.50 77.50 152.50 2.8744 -112.50 77.50 157.50 2.89725 -112.50 77.50 162.50 2.56798 -112.50 77.50 167.50 1.79376 -112.50 77.50 172.50 0.886304 -112.50 77.50 177.50 0.36639 -112.50 77.50 182.50 0.148779 -112.50 77.50 187.50 0.132643 -112.50 77.50 192.50 0.067778 -112.50 77.50 197.50 0.0764476 -112.50 77.50 202.50 0.0698503 -112.50 77.50 207.50 0.0865853 -112.50 77.50 212.50 0.177916 -112.50 77.50 217.50 0.424123 -112.50 77.50 222.50 0.875112 -112.50 77.50 227.50 1.49579 -112.50 77.50 232.50 2.0489 -112.50 77.50 237.50 2.56876 -112.50 77.50 242.50 2.8744 -112.50 77.50 247.50 2.89725 -112.50 77.50 252.50 2.56797 -112.50 77.50 257.50 1.79376 -112.50 77.50 262.50 0.886302 -112.50 77.50 267.50 0.366389 -112.50 77.50 272.50 0.148779 -112.50 77.50 277.50 0.132643 -112.50 77.50 282.50 0.067778 -112.50 77.50 287.50 0.0764476 -112.50 77.50 292.50 0.0698504 -112.50 77.50 297.50 0.0865853 -112.50 77.50 302.50 0.177916 -112.50 77.50 307.50 0.424123 -112.50 77.50 312.50 0.875113 -112.50 77.50 317.50 1.49579 -112.50 77.50 322.50 2.04889 -112.50 77.50 327.50 2.56876 -112.50 77.50 332.50 2.8744 -112.50 77.50 337.50 2.89725 -112.50 77.50 342.50 2.56798 -112.50 77.50 347.50 1.79376 -112.50 77.50 352.50 0.886305 -112.50 77.50 357.50 0.36639 -112.50 82.50 2.50 0.134121 -112.50 82.50 7.50 0.108157 -112.50 82.50 12.50 0.0979397 -112.50 82.50 17.50 0.120436 -112.50 82.50 22.50 0.175414 -112.50 82.50 27.50 0.301387 -112.50 82.50 32.50 0.568255 -112.50 82.50 37.50 1.08022 -112.50 82.50 42.50 1.86968 -112.50 82.50 47.50 2.7458 -112.50 82.50 52.50 3.36895 -112.50 82.50 57.50 3.5934 -112.50 82.50 62.50 3.49901 -112.50 82.50 67.50 3.14582 -112.50 82.50 72.50 2.49788 -112.50 82.50 77.50 1.60965 -112.50 82.50 82.50 0.846376 -112.50 82.50 87.50 0.311888 -112.50 82.50 92.50 0.134121 -112.50 82.50 97.50 0.108157 -112.50 82.50 102.50 0.0979397 -112.50 82.50 107.50 0.120436 -112.50 82.50 112.50 0.175414 -112.50 82.50 117.50 0.301387 -112.50 82.50 122.50 0.568255 -112.50 82.50 127.50 1.08022 -112.50 82.50 132.50 1.86968 -112.50 82.50 137.50 2.7458 -112.50 82.50 142.50 3.36894 -112.50 82.50 147.50 3.5934 -112.50 82.50 152.50 3.49901 -112.50 82.50 157.50 3.14582 -112.50 82.50 162.50 2.49788 -112.50 82.50 167.50 1.60965 -112.50 82.50 172.50 0.846377 -112.50 82.50 177.50 0.311888 -112.50 82.50 182.50 0.134121 -112.50 82.50 187.50 0.108157 -112.50 82.50 192.50 0.0979397 -112.50 82.50 197.50 0.120436 -112.50 82.50 202.50 0.175414 -112.50 82.50 207.50 0.301386 -112.50 82.50 212.50 0.568255 -112.50 82.50 217.50 1.08022 -112.50 82.50 222.50 1.86968 -112.50 82.50 227.50 2.7458 -112.50 82.50 232.50 3.36894 -112.50 82.50 237.50 3.5934 -112.50 82.50 242.50 3.49901 -112.50 82.50 247.50 3.14582 -112.50 82.50 252.50 2.49788 -112.50 82.50 257.50 1.60965 -112.50 82.50 262.50 0.846376 -112.50 82.50 267.50 0.311888 -112.50 82.50 272.50 0.134121 -112.50 82.50 277.50 0.108157 -112.50 82.50 282.50 0.0979397 -112.50 82.50 287.50 0.120436 -112.50 82.50 292.50 0.175414 -112.50 82.50 297.50 0.301387 -112.50 82.50 302.50 0.568255 -112.50 82.50 307.50 1.08022 -112.50 82.50 312.50 1.86968 -112.50 82.50 317.50 2.7458 -112.50 82.50 322.50 3.36894 -112.50 82.50 327.50 3.5934 -112.50 82.50 332.50 3.49901 -112.50 82.50 337.50 3.14581 -112.50 82.50 342.50 2.49788 -112.50 82.50 347.50 1.60965 -112.50 82.50 352.50 0.846377 -112.50 82.50 357.50 0.311889 -112.50 87.50 2.50 0.0872057 -112.50 87.50 7.50 0.0811657 -112.50 87.50 12.50 0.129848 -112.50 87.50 17.50 0.247396 -112.50 87.50 22.50 0.440341 -112.50 87.50 27.50 0.756732 -112.50 87.50 32.50 1.28389 -112.50 87.50 37.50 2.10178 -112.50 87.50 42.50 3.1056 -112.50 87.50 47.50 3.87616 -112.50 87.50 52.50 4.11515 -112.50 87.50 57.50 3.88141 -112.50 87.50 62.50 3.36487 -112.50 87.50 67.50 2.65519 -112.50 87.50 72.50 1.83315 -112.50 87.50 77.50 1.13308 -112.50 87.50 82.50 0.542958 -112.50 87.50 87.50 0.216872 -112.50 87.50 92.50 0.0872056 -112.50 87.50 97.50 0.0811657 -112.50 87.50 102.50 0.129848 -112.50 87.50 107.50 0.247396 -112.50 87.50 112.50 0.440341 -112.50 87.50 117.50 0.756732 -112.50 87.50 122.50 1.28389 -112.50 87.50 127.50 2.10178 -112.50 87.50 132.50 3.1056 -112.50 87.50 137.50 3.87616 -112.50 87.50 142.50 4.11515 -112.50 87.50 147.50 3.88141 -112.50 87.50 152.50 3.36487 -112.50 87.50 157.50 2.65519 -112.50 87.50 162.50 1.83315 -112.50 87.50 167.50 1.13308 -112.50 87.50 172.50 0.542959 -112.50 87.50 177.50 0.216872 -112.50 87.50 182.50 0.0872057 -112.50 87.50 187.50 0.0811657 -112.50 87.50 192.50 0.129848 -112.50 87.50 197.50 0.247396 -112.50 87.50 202.50 0.440341 -112.50 87.50 207.50 0.756731 -112.50 87.50 212.50 1.28389 -112.50 87.50 217.50 2.10178 -112.50 87.50 222.50 3.1056 -112.50 87.50 227.50 3.87616 -112.50 87.50 232.50 4.11515 -112.50 87.50 237.50 3.88141 -112.50 87.50 242.50 3.36487 -112.50 87.50 247.50 2.65519 -112.50 87.50 252.50 1.83315 -112.50 87.50 257.50 1.13308 -112.50 87.50 262.50 0.542958 -112.50 87.50 267.50 0.216871 -112.50 87.50 272.50 0.0872057 -112.50 87.50 277.50 0.0811657 -112.50 87.50 282.50 0.129848 -112.50 87.50 287.50 0.247396 -112.50 87.50 292.50 0.440341 -112.50 87.50 297.50 0.756731 -112.50 87.50 302.50 1.28389 -112.50 87.50 307.50 2.10178 -112.50 87.50 312.50 3.1056 -112.50 87.50 317.50 3.87616 -112.50 87.50 322.50 4.11515 -112.50 87.50 327.50 3.88142 -112.50 87.50 332.50 3.36487 -112.50 87.50 337.50 2.65519 -112.50 87.50 342.50 1.83315 -112.50 87.50 347.50 1.13308 -112.50 87.50 352.50 0.54296 -112.50 87.50 357.50 0.216872 -112.50 92.50 2.50 0.0624686 -112.50 92.50 7.50 0.102596 -112.50 92.50 12.50 0.24067 -112.50 92.50 17.50 0.527183 -112.50 92.50 22.50 0.990532 -112.50 92.50 27.50 1.58451 -112.50 92.50 32.50 2.28343 -112.50 92.50 37.50 3.12281 -112.50 92.50 42.50 3.95126 -112.50 92.50 47.50 4.32007 -112.50 92.50 52.50 3.95126 -112.50 92.50 57.50 3.12281 -112.50 92.50 62.50 2.28343 -112.50 92.50 67.50 1.58451 -112.50 92.50 72.50 0.990531 -112.50 92.50 77.50 0.527182 -112.50 92.50 82.50 0.24067 -112.50 92.50 87.50 0.102596 -112.50 92.50 92.50 0.0624686 -112.50 92.50 97.50 0.102596 -112.50 92.50 102.50 0.24067 -112.50 92.50 107.50 0.527183 -112.50 92.50 112.50 0.990532 -112.50 92.50 117.50 1.58451 -112.50 92.50 122.50 2.28343 -112.50 92.50 127.50 3.12281 -112.50 92.50 132.50 3.95126 -112.50 92.50 137.50 4.32006 -112.50 92.50 142.50 3.95126 -112.50 92.50 147.50 3.12281 -112.50 92.50 152.50 2.28343 -112.50 92.50 157.50 1.58451 -112.50 92.50 162.50 0.990531 -112.50 92.50 167.50 0.527182 -112.50 92.50 172.50 0.24067 -112.50 92.50 177.50 0.102596 -112.50 92.50 182.50 0.0624686 -112.50 92.50 187.50 0.102596 -112.50 92.50 192.50 0.24067 -112.50 92.50 197.50 0.527183 -112.50 92.50 202.50 0.990532 -112.50 92.50 207.50 1.58451 -112.50 92.50 212.50 2.28343 -112.50 92.50 217.50 3.12281 -112.50 92.50 222.50 3.95125 -112.50 92.50 227.50 4.32006 -112.50 92.50 232.50 3.95125 -112.50 92.50 237.50 3.12281 -112.50 92.50 242.50 2.28343 -112.50 92.50 247.50 1.58451 -112.50 92.50 252.50 0.99053 -112.50 92.50 257.50 0.527182 -112.50 92.50 262.50 0.24067 -112.50 92.50 267.50 0.102596 -112.50 92.50 272.50 0.0624686 -112.50 92.50 277.50 0.102596 -112.50 92.50 282.50 0.24067 -112.50 92.50 287.50 0.527183 -112.50 92.50 292.50 0.990532 -112.50 92.50 297.50 1.58451 -112.50 92.50 302.50 2.28343 -112.50 92.50 307.50 3.12281 -112.50 92.50 312.50 3.95126 -112.50 92.50 317.50 4.32007 -112.50 92.50 322.50 3.95126 -112.50 92.50 327.50 3.12281 -112.50 92.50 332.50 2.28343 -112.50 92.50 337.50 1.58451 -112.50 92.50 342.50 0.990533 -112.50 92.50 347.50 0.527183 -112.50 92.50 352.50 0.24067 -112.50 92.50 357.50 0.102596 -112.50 97.50 2.50 0.0872057 -112.50 97.50 7.50 0.216872 -112.50 97.50 12.50 0.542959 -112.50 97.50 17.50 1.13308 -112.50 97.50 22.50 1.83315 -112.50 97.50 27.50 2.65519 -112.50 97.50 32.50 3.36487 -112.50 97.50 37.50 3.88141 -112.50 97.50 42.50 4.11514 -112.50 97.50 47.50 3.87617 -112.50 97.50 52.50 3.1056 -112.50 97.50 57.50 2.10178 -112.50 97.50 62.50 1.28389 -112.50 97.50 67.50 0.756732 -112.50 97.50 72.50 0.440341 -112.50 97.50 77.50 0.247396 -112.50 97.50 82.50 0.129848 -112.50 97.50 87.50 0.0811656 -112.50 97.50 92.50 0.0872057 -112.50 97.50 97.50 0.216872 -112.50 97.50 102.50 0.542959 -112.50 97.50 107.50 1.13308 -112.50 97.50 112.50 1.83315 -112.50 97.50 117.50 2.65519 -112.50 97.50 122.50 3.36487 -112.50 97.50 127.50 3.88142 -112.50 97.50 132.50 4.11515 -112.50 97.50 137.50 3.87616 -112.50 97.50 142.50 3.1056 -112.50 97.50 147.50 2.10178 -112.50 97.50 152.50 1.28389 -112.50 97.50 157.50 0.756732 -112.50 97.50 162.50 0.440341 -112.50 97.50 167.50 0.247396 -112.50 97.50 172.50 0.129848 -112.50 97.50 177.50 0.0811656 -112.50 97.50 182.50 0.0872057 -112.50 97.50 187.50 0.216871 -112.50 97.50 192.50 0.542959 -112.50 97.50 197.50 1.13308 -112.50 97.50 202.50 1.83315 -112.50 97.50 207.50 2.65519 -112.50 97.50 212.50 3.36487 -112.50 97.50 217.50 3.88141 -112.50 97.50 222.50 4.11515 -112.50 97.50 227.50 3.87616 -112.50 97.50 232.50 3.1056 -112.50 97.50 237.50 2.10178 -112.50 97.50 242.50 1.28389 -112.50 97.50 247.50 0.756732 -112.50 97.50 252.50 0.440341 -112.50 97.50 257.50 0.247396 -112.50 97.50 262.50 0.129848 -112.50 97.50 267.50 0.0811657 -112.50 97.50 272.50 0.0872057 -112.50 97.50 277.50 0.216872 -112.50 97.50 282.50 0.542959 -112.50 97.50 287.50 1.13308 -112.50 97.50 292.50 1.83315 -112.50 97.50 297.50 2.65519 -112.50 97.50 302.50 3.36487 -112.50 97.50 307.50 3.88141 -112.50 97.50 312.50 4.11515 -112.50 97.50 317.50 3.87616 -112.50 97.50 322.50 3.1056 -112.50 97.50 327.50 2.10178 -112.50 97.50 332.50 1.28389 -112.50 97.50 337.50 0.756732 -112.50 97.50 342.50 0.440341 -112.50 97.50 347.50 0.247397 -112.50 97.50 352.50 0.129848 -112.50 97.50 357.50 0.0811658 -112.50 102.50 2.50 0.134121 -112.50 102.50 7.50 0.311888 -112.50 102.50 12.50 0.846376 -112.50 102.50 17.50 1.60965 -112.50 102.50 22.50 2.49788 -112.50 102.50 27.50 3.14582 -112.50 102.50 32.50 3.49901 -112.50 102.50 37.50 3.5934 -112.50 102.50 42.50 3.36894 -112.50 102.50 47.50 2.7458 -112.50 102.50 52.50 1.86968 -112.50 102.50 57.50 1.08022 -112.50 102.50 62.50 0.568254 -112.50 102.50 67.50 0.301386 -112.50 102.50 72.50 0.175414 -112.50 102.50 77.50 0.120436 -112.50 102.50 82.50 0.0979397 -112.50 102.50 87.50 0.108157 -112.50 102.50 92.50 0.134121 -112.50 102.50 97.50 0.311888 -112.50 102.50 102.50 0.846377 -112.50 102.50 107.50 1.60965 -112.50 102.50 112.50 2.49788 -112.50 102.50 117.50 3.14582 -112.50 102.50 122.50 3.49901 -112.50 102.50 127.50 3.5934 -112.50 102.50 132.50 3.36894 -112.50 102.50 137.50 2.7458 -112.50 102.50 142.50 1.86968 -112.50 102.50 147.50 1.08022 -112.50 102.50 152.50 0.568255 -112.50 102.50 157.50 0.301387 -112.50 102.50 162.50 0.175414 -112.50 102.50 167.50 0.120436 -112.50 102.50 172.50 0.0979397 -112.50 102.50 177.50 0.108157 -112.50 102.50 182.50 0.134121 -112.50 102.50 187.50 0.311888 -112.50 102.50 192.50 0.846376 -112.50 102.50 197.50 1.60965 -112.50 102.50 202.50 2.49788 -112.50 102.50 207.50 3.14582 -112.50 102.50 212.50 3.49901 -112.50 102.50 217.50 3.5934 -112.50 102.50 222.50 3.36894 -112.50 102.50 227.50 2.7458 -112.50 102.50 232.50 1.86968 -112.50 102.50 237.50 1.08022 -112.50 102.50 242.50 0.568254 -112.50 102.50 247.50 0.301386 -112.50 102.50 252.50 0.175414 -112.50 102.50 257.50 0.120436 -112.50 102.50 262.50 0.0979397 -112.50 102.50 267.50 0.108157 -112.50 102.50 272.50 0.134121 -112.50 102.50 277.50 0.311888 -112.50 102.50 282.50 0.846376 -112.50 102.50 287.50 1.60965 -112.50 102.50 292.50 2.49788 -112.50 102.50 297.50 3.14582 -112.50 102.50 302.50 3.49901 -112.50 102.50 307.50 3.5934 -112.50 102.50 312.50 3.36895 -112.50 102.50 317.50 2.7458 -112.50 102.50 322.50 1.86968 -112.50 102.50 327.50 1.08022 -112.50 102.50 332.50 0.568256 -112.50 102.50 337.50 0.301387 -112.50 102.50 342.50 0.175414 -112.50 102.50 347.50 0.120436 -112.50 102.50 352.50 0.0979397 -112.50 102.50 357.50 0.108156 -112.50 107.50 2.50 0.148779 -112.50 107.50 7.50 0.366389 -112.50 107.50 12.50 0.886303 -112.50 107.50 17.50 1.79376 -112.50 107.50 22.50 2.56797 -112.50 107.50 27.50 2.89725 -112.50 107.50 32.50 2.8744 -112.50 107.50 37.50 2.56876 -112.50 107.50 42.50 2.04889 -112.50 107.50 47.50 1.49579 -112.50 107.50 52.50 0.875113 -112.50 107.50 57.50 0.424124 -112.50 107.50 62.50 0.177916 -112.50 107.50 67.50 0.0865852 -112.50 107.50 72.50 0.0698503 -112.50 107.50 77.50 0.0764476 -112.50 107.50 82.50 0.067778 -112.50 107.50 87.50 0.132643 -112.50 107.50 92.50 0.148779 -112.50 107.50 97.50 0.366389 -112.50 107.50 102.50 0.886304 -112.50 107.50 107.50 1.79376 -112.50 107.50 112.50 2.56797 -112.50 107.50 117.50 2.89725 -112.50 107.50 122.50 2.8744 -112.50 107.50 127.50 2.56876 -112.50 107.50 132.50 2.0489 -112.50 107.50 137.50 1.4958 -112.50 107.50 142.50 0.875114 -112.50 107.50 147.50 0.424124 -112.50 107.50 152.50 0.177916 -112.50 107.50 157.50 0.0865854 -112.50 107.50 162.50 0.0698504 -112.50 107.50 167.50 0.0764476 -112.50 107.50 172.50 0.067778 -112.50 107.50 177.50 0.132643 -112.50 107.50 182.50 0.148779 -112.50 107.50 187.50 0.36639 -112.50 107.50 192.50 0.886304 -112.50 107.50 197.50 1.79376 -112.50 107.50 202.50 2.56797 -112.50 107.50 207.50 2.89725 -112.50 107.50 212.50 2.8744 -112.50 107.50 217.50 2.56876 -112.50 107.50 222.50 2.0489 -112.50 107.50 227.50 1.49579 -112.50 107.50 232.50 0.875112 -112.50 107.50 237.50 0.424123 -112.50 107.50 242.50 0.177916 -112.50 107.50 247.50 0.0865853 -112.50 107.50 252.50 0.0698504 -112.50 107.50 257.50 0.0764476 -112.50 107.50 262.50 0.067778 -112.50 107.50 267.50 0.132643 -112.50 107.50 272.50 0.148779 -112.50 107.50 277.50 0.366389 -112.50 107.50 282.50 0.886303 -112.50 107.50 287.50 1.79376 -112.50 107.50 292.50 2.56797 -112.50 107.50 297.50 2.89725 -112.50 107.50 302.50 2.8744 -112.50 107.50 307.50 2.56876 -112.50 107.50 312.50 2.0489 -112.50 107.50 317.50 1.4958 -112.50 107.50 322.50 0.875114 -112.50 107.50 327.50 0.424124 -112.50 107.50 332.50 0.177916 -112.50 107.50 337.50 0.0865854 -112.50 107.50 342.50 0.0698504 -112.50 107.50 347.50 0.0764476 -112.50 107.50 352.50 0.067778 -112.50 107.50 357.50 0.132643 -112.50 112.50 2.50 0.129042 -112.50 112.50 7.50 0.322875 -112.50 112.50 12.50 0.769451 -112.50 112.50 17.50 1.45062 -112.50 112.50 22.50 1.97596 -112.50 112.50 27.50 2.15918 -112.50 112.50 32.50 1.89622 -112.50 112.50 37.50 1.54712 -112.50 112.50 42.50 1.13461 -112.50 112.50 47.50 0.65693 -112.50 112.50 52.50 0.325269 -112.50 112.50 57.50 0.127537 -112.50 112.50 62.50 0.0466107 -112.50 112.50 67.50 0.0259966 -112.50 112.50 72.50 0.0313553 -112.50 112.50 77.50 0.0299198 -112.50 112.50 82.50 0.0407479 -112.50 112.50 87.50 0.0863504 -112.50 112.50 92.50 0.129042 -112.50 112.50 97.50 0.322876 -112.50 112.50 102.50 0.769451 -112.50 112.50 107.50 1.45062 -112.50 112.50 112.50 1.97596 -112.50 112.50 117.50 2.15918 -112.50 112.50 122.50 1.89621 -112.50 112.50 127.50 1.54712 -112.50 112.50 132.50 1.13461 -112.50 112.50 137.50 0.656931 -112.50 112.50 142.50 0.325269 -112.50 112.50 147.50 0.127537 -112.50 112.50 152.50 0.0466108 -112.50 112.50 157.50 0.0259966 -112.50 112.50 162.50 0.0313554 -112.50 112.50 167.50 0.0299198 -112.50 112.50 172.50 0.0407479 -112.50 112.50 177.50 0.0863504 -112.50 112.50 182.50 0.129042 -112.50 112.50 187.50 0.322876 -112.50 112.50 192.50 0.769451 -112.50 112.50 197.50 1.45062 -112.50 112.50 202.50 1.97596 -112.50 112.50 207.50 2.15918 -112.50 112.50 212.50 1.89622 -112.50 112.50 217.50 1.54712 -112.50 112.50 222.50 1.13461 -112.50 112.50 227.50 0.656931 -112.50 112.50 232.50 0.325269 -112.50 112.50 237.50 0.127537 -112.50 112.50 242.50 0.0466107 -112.50 112.50 247.50 0.0259966 -112.50 112.50 252.50 0.0313554 -112.50 112.50 257.50 0.0299198 -112.50 112.50 262.50 0.040748 -112.50 112.50 267.50 0.0863504 -112.50 112.50 272.50 0.129042 -112.50 112.50 277.50 0.322875 -112.50 112.50 282.50 0.769451 -112.50 112.50 287.50 1.45062 -112.50 112.50 292.50 1.97596 -112.50 112.50 297.50 2.15918 -112.50 112.50 302.50 1.89622 -112.50 112.50 307.50 1.54712 -112.50 112.50 312.50 1.13461 -112.50 112.50 317.50 0.656931 -112.50 112.50 322.50 0.32527 -112.50 112.50 327.50 0.127537 -112.50 112.50 332.50 0.0466109 -112.50 112.50 337.50 0.0259966 -112.50 112.50 342.50 0.0313554 -112.50 112.50 347.50 0.0299198 -112.50 112.50 352.50 0.0407478 -112.50 112.50 357.50 0.0863504 -112.50 117.50 2.50 0.114009 -112.50 117.50 7.50 0.265949 -112.50 117.50 12.50 0.57164 -112.50 117.50 17.50 0.940721 -112.50 117.50 22.50 1.14987 -112.50 117.50 27.50 1.10873 -112.50 117.50 32.50 0.945085 -112.50 117.50 37.50 0.693071 -112.50 117.50 42.50 0.461553 -112.50 117.50 47.50 0.25155 -112.50 117.50 52.50 0.105781 -112.50 117.50 57.50 0.0361208 -112.50 117.50 62.50 0.011279 -112.50 117.50 67.50 0.0077366 -112.50 117.50 72.50 0.0070493 -112.50 117.50 77.50 0.00927381 -112.50 117.50 82.50 0.0195529 -112.50 117.50 87.50 0.0458691 -112.50 117.50 92.50 0.114009 -112.50 117.50 97.50 0.265949 -112.50 117.50 102.50 0.571641 -112.50 117.50 107.50 0.940721 -112.50 117.50 112.50 1.14987 -112.50 117.50 117.50 1.10873 -112.50 117.50 122.50 0.945085 -112.50 117.50 127.50 0.693071 -112.50 117.50 132.50 0.461553 -112.50 117.50 137.50 0.25155 -112.50 117.50 142.50 0.105781 -112.50 117.50 147.50 0.0361208 -112.50 117.50 152.50 0.011279 -112.50 117.50 157.50 0.00773661 -112.50 117.50 162.50 0.00704931 -112.50 117.50 167.50 0.00927382 -112.50 117.50 172.50 0.0195529 -112.50 117.50 177.50 0.045869 -112.50 117.50 182.50 0.114009 -112.50 117.50 187.50 0.265949 -112.50 117.50 192.50 0.571641 -112.50 117.50 197.50 0.940722 -112.50 117.50 202.50 1.14987 -112.50 117.50 207.50 1.10873 -112.50 117.50 212.50 0.945086 -112.50 117.50 217.50 0.693071 -112.50 117.50 222.50 0.461554 -112.50 117.50 227.50 0.25155 -112.50 117.50 232.50 0.105781 -112.50 117.50 237.50 0.0361208 -112.50 117.50 242.50 0.011279 -112.50 117.50 247.50 0.00773661 -112.50 117.50 252.50 0.00704931 -112.50 117.50 257.50 0.00927384 -112.50 117.50 262.50 0.0195529 -112.50 117.50 267.50 0.0458691 -112.50 117.50 272.50 0.114009 -112.50 117.50 277.50 0.265949 -112.50 117.50 282.50 0.57164 -112.50 117.50 287.50 0.940721 -112.50 117.50 292.50 1.14987 -112.50 117.50 297.50 1.10873 -112.50 117.50 302.50 0.945086 -112.50 117.50 307.50 0.693071 -112.50 117.50 312.50 0.461554 -112.50 117.50 317.50 0.25155 -112.50 117.50 322.50 0.105781 -112.50 117.50 327.50 0.0361209 -112.50 117.50 332.50 0.011279 -112.50 117.50 337.50 0.0077366 -112.50 117.50 342.50 0.00704929 -112.50 117.50 347.50 0.00927378 -112.50 117.50 352.50 0.0195528 -112.50 117.50 357.50 0.045869 -112.50 122.50 2.50 0.102728 -112.50 122.50 7.50 0.213676 -112.50 122.50 12.50 0.353435 -112.50 122.50 17.50 0.516926 -112.50 122.50 22.50 0.562697 -112.50 122.50 27.50 0.449163 -112.50 122.50 32.50 0.326203 -112.50 122.50 37.50 0.221576 -112.50 122.50 42.50 0.124174 -112.50 122.50 47.50 0.0695903 -112.50 122.50 52.50 0.0388129 -112.50 122.50 57.50 0.0244175 -112.50 122.50 62.50 0.0153424 -112.50 122.50 67.50 0.0121879 -112.50 122.50 72.50 0.0102271 -112.50 122.50 77.50 0.00822496 -112.50 122.50 82.50 0.0115097 -112.50 122.50 87.50 0.0314926 -112.50 122.50 92.50 0.102728 -112.50 122.50 97.50 0.213676 -112.50 122.50 102.50 0.353436 -112.50 122.50 107.50 0.516927 -112.50 122.50 112.50 0.562697 -112.50 122.50 117.50 0.449163 -112.50 122.50 122.50 0.326203 -112.50 122.50 127.50 0.221576 -112.50 122.50 132.50 0.124174 -112.50 122.50 137.50 0.0695903 -112.50 122.50 142.50 0.0388129 -112.50 122.50 147.50 0.0244175 -112.50 122.50 152.50 0.0153424 -112.50 122.50 157.50 0.0121879 -112.50 122.50 162.50 0.0102271 -112.50 122.50 167.50 0.00822498 -112.50 122.50 172.50 0.0115096 -112.50 122.50 177.50 0.0314926 -112.50 122.50 182.50 0.102728 -112.50 122.50 187.50 0.213676 -112.50 122.50 192.50 0.353436 -112.50 122.50 197.50 0.516927 -112.50 122.50 202.50 0.562697 -112.50 122.50 207.50 0.449163 -112.50 122.50 212.50 0.326203 -112.50 122.50 217.50 0.221576 -112.50 122.50 222.50 0.124174 -112.50 122.50 227.50 0.0695904 -112.50 122.50 232.50 0.0388128 -112.50 122.50 237.50 0.0244175 -112.50 122.50 242.50 0.0153424 -112.50 122.50 247.50 0.0121879 -112.50 122.50 252.50 0.0102271 -112.50 122.50 257.50 0.00822496 -112.50 122.50 262.50 0.0115097 -112.50 122.50 267.50 0.0314926 -112.50 122.50 272.50 0.102728 -112.50 122.50 277.50 0.213676 -112.50 122.50 282.50 0.353436 -112.50 122.50 287.50 0.516926 -112.50 122.50 292.50 0.562697 -112.50 122.50 297.50 0.449163 -112.50 122.50 302.50 0.326203 -112.50 122.50 307.50 0.221576 -112.50 122.50 312.50 0.124174 -112.50 122.50 317.50 0.0695904 -112.50 122.50 322.50 0.0388129 -112.50 122.50 327.50 0.0244175 -112.50 122.50 332.50 0.0153424 -112.50 122.50 337.50 0.0121879 -112.50 122.50 342.50 0.0102271 -112.50 122.50 347.50 0.00822499 -112.50 122.50 352.50 0.0115096 -112.50 122.50 357.50 0.0314925 -112.50 127.50 2.50 0.0713706 -112.50 127.50 7.50 0.140073 -112.50 127.50 12.50 0.188219 -112.50 127.50 17.50 0.222721 -112.50 127.50 22.50 0.214172 -112.50 127.50 27.50 0.152117 -112.50 127.50 32.50 0.0892546 -112.50 127.50 37.50 0.0458996 -112.50 127.50 42.50 0.034129 -112.50 127.50 47.50 0.0477181 -112.50 127.50 52.50 0.0601425 -112.50 127.50 57.50 0.0792813 -112.50 127.50 62.50 0.0887259 -112.50 127.50 67.50 0.0714024 -112.50 127.50 72.50 0.0469155 -112.50 127.50 77.50 0.0227841 -112.50 127.50 82.50 0.0120017 -112.50 127.50 87.50 0.0242699 -112.50 127.50 92.50 0.0713706 -112.50 127.50 97.50 0.140073 -112.50 127.50 102.50 0.188219 -112.50 127.50 107.50 0.222721 -112.50 127.50 112.50 0.214172 -112.50 127.50 117.50 0.152117 -112.50 127.50 122.50 0.0892547 -112.50 127.50 127.50 0.0458996 -112.50 127.50 132.50 0.034129 -112.50 127.50 137.50 0.0477181 -112.50 127.50 142.50 0.0601425 -112.50 127.50 147.50 0.0792813 -112.50 127.50 152.50 0.0887258 -112.50 127.50 157.50 0.0714024 -112.50 127.50 162.50 0.0469155 -112.50 127.50 167.50 0.0227841 -112.50 127.50 172.50 0.0120017 -112.50 127.50 177.50 0.0242699 -112.50 127.50 182.50 0.0713707 -112.50 127.50 187.50 0.140073 -112.50 127.50 192.50 0.188219 -112.50 127.50 197.50 0.222721 -112.50 127.50 202.50 0.214172 -112.50 127.50 207.50 0.152117 -112.50 127.50 212.50 0.0892548 -112.50 127.50 217.50 0.0458996 -112.50 127.50 222.50 0.034129 -112.50 127.50 227.50 0.047718 -112.50 127.50 232.50 0.0601425 -112.50 127.50 237.50 0.0792812 -112.50 127.50 242.50 0.0887258 -112.50 127.50 247.50 0.0714024 -112.50 127.50 252.50 0.0469155 -112.50 127.50 257.50 0.022784 -112.50 127.50 262.50 0.0120017 -112.50 127.50 267.50 0.0242699 -112.50 127.50 272.50 0.0713706 -112.50 127.50 277.50 0.140073 -112.50 127.50 282.50 0.188219 -112.50 127.50 287.50 0.222721 -112.50 127.50 292.50 0.214172 -112.50 127.50 297.50 0.152117 -112.50 127.50 302.50 0.0892548 -112.50 127.50 307.50 0.0458996 -112.50 127.50 312.50 0.034129 -112.50 127.50 317.50 0.047718 -112.50 127.50 322.50 0.0601425 -112.50 127.50 327.50 0.0792813 -112.50 127.50 332.50 0.088726 -112.50 127.50 337.50 0.0714025 -112.50 127.50 342.50 0.0469155 -112.50 127.50 347.50 0.0227841 -112.50 127.50 352.50 0.0120017 -112.50 127.50 357.50 0.0242698 -112.50 132.50 2.50 0.0345643 -112.50 132.50 7.50 0.0653338 -112.50 132.50 12.50 0.0811078 -112.50 132.50 17.50 0.072512 -112.50 132.50 22.50 0.0565858 -112.50 132.50 27.50 0.040436 -112.50 132.50 32.50 0.0279751 -112.50 132.50 37.50 0.0357744 -112.50 132.50 42.50 0.0811809 -112.50 132.50 47.50 0.16975 -112.50 132.50 52.50 0.274639 -112.50 132.50 57.50 0.395714 -112.50 132.50 62.50 0.432883 -112.50 132.50 67.50 0.318524 -112.50 132.50 72.50 0.163165 -112.50 132.50 77.50 0.0618642 -112.50 132.50 82.50 0.0338908 -112.50 132.50 87.50 0.0219592 -112.50 132.50 92.50 0.0345643 -112.50 132.50 97.50 0.0653339 -112.50 132.50 102.50 0.0811078 -112.50 132.50 107.50 0.0725121 -112.50 132.50 112.50 0.0565859 -112.50 132.50 117.50 0.040436 -112.50 132.50 122.50 0.027975 -112.50 132.50 127.50 0.0357743 -112.50 132.50 132.50 0.0811808 -112.50 132.50 137.50 0.16975 -112.50 132.50 142.50 0.274639 -112.50 132.50 147.50 0.395714 -112.50 132.50 152.50 0.432883 -112.50 132.50 157.50 0.318524 -112.50 132.50 162.50 0.163165 -112.50 132.50 167.50 0.0618642 -112.50 132.50 172.50 0.0338908 -112.50 132.50 177.50 0.0219592 -112.50 132.50 182.50 0.0345643 -112.50 132.50 187.50 0.0653339 -112.50 132.50 192.50 0.0811078 -112.50 132.50 197.50 0.0725121 -112.50 132.50 202.50 0.0565859 -112.50 132.50 207.50 0.0404361 -112.50 132.50 212.50 0.027975 -112.50 132.50 217.50 0.0357743 -112.50 132.50 222.50 0.0811808 -112.50 132.50 227.50 0.16975 -112.50 132.50 232.50 0.274639 -112.50 132.50 237.50 0.395714 -112.50 132.50 242.50 0.432883 -112.50 132.50 247.50 0.318524 -112.50 132.50 252.50 0.163165 -112.50 132.50 257.50 0.0618641 -112.50 132.50 262.50 0.0338908 -112.50 132.50 267.50 0.0219592 -112.50 132.50 272.50 0.0345643 -112.50 132.50 277.50 0.0653338 -112.50 132.50 282.50 0.0811077 -112.50 132.50 287.50 0.0725121 -112.50 132.50 292.50 0.0565859 -112.50 132.50 297.50 0.0404361 -112.50 132.50 302.50 0.0279751 -112.50 132.50 307.50 0.0357744 -112.50 132.50 312.50 0.0811809 -112.50 132.50 317.50 0.16975 -112.50 132.50 322.50 0.274639 -112.50 132.50 327.50 0.395714 -112.50 132.50 332.50 0.432883 -112.50 132.50 337.50 0.318524 -112.50 132.50 342.50 0.163165 -112.50 132.50 347.50 0.0618643 -112.50 132.50 352.50 0.0338908 -112.50 132.50 357.50 0.0219592 -112.50 137.50 2.50 0.0195997 -112.50 137.50 7.50 0.0236699 -112.50 137.50 12.50 0.0301616 -112.50 137.50 17.50 0.0244227 -112.50 137.50 22.50 0.0200299 -112.50 137.50 27.50 0.0314306 -112.50 137.50 32.50 0.0567506 -112.50 137.50 37.50 0.139446 -112.50 137.50 42.50 0.296556 -112.50 137.50 47.50 0.669527 -112.50 137.50 52.50 1.02135 -112.50 137.50 57.50 1.34304 -112.50 137.50 62.50 1.29353 -112.50 137.50 67.50 0.885197 -112.50 137.50 72.50 0.419285 -112.50 137.50 77.50 0.196214 -112.50 137.50 82.50 0.101401 -112.50 137.50 87.50 0.0394376 -112.50 137.50 92.50 0.0195997 -112.50 137.50 97.50 0.0236699 -112.50 137.50 102.50 0.0301616 -112.50 137.50 107.50 0.0244227 -112.50 137.50 112.50 0.0200299 -112.50 137.50 117.50 0.0314306 -112.50 137.50 122.50 0.0567506 -112.50 137.50 127.50 0.139446 -112.50 137.50 132.50 0.296556 -112.50 137.50 137.50 0.669526 -112.50 137.50 142.50 1.02135 -112.50 137.50 147.50 1.34304 -112.50 137.50 152.50 1.29353 -112.50 137.50 157.50 0.885197 -112.50 137.50 162.50 0.419285 -112.50 137.50 167.50 0.196214 -112.50 137.50 172.50 0.101402 -112.50 137.50 177.50 0.0394376 -112.50 137.50 182.50 0.0195997 -112.50 137.50 187.50 0.0236699 -112.50 137.50 192.50 0.0301616 -112.50 137.50 197.50 0.0244227 -112.50 137.50 202.50 0.0200299 -112.50 137.50 207.50 0.0314306 -112.50 137.50 212.50 0.0567505 -112.50 137.50 217.50 0.139446 -112.50 137.50 222.50 0.296556 -112.50 137.50 227.50 0.669526 -112.50 137.50 232.50 1.02135 -112.50 137.50 237.50 1.34304 -112.50 137.50 242.50 1.29353 -112.50 137.50 247.50 0.885196 -112.50 137.50 252.50 0.419284 -112.50 137.50 257.50 0.196214 -112.50 137.50 262.50 0.101401 -112.50 137.50 267.50 0.0394375 -112.50 137.50 272.50 0.0195997 -112.50 137.50 277.50 0.0236699 -112.50 137.50 282.50 0.0301616 -112.50 137.50 287.50 0.0244227 -112.50 137.50 292.50 0.0200299 -112.50 137.50 297.50 0.0314306 -112.50 137.50 302.50 0.0567505 -112.50 137.50 307.50 0.139446 -112.50 137.50 312.50 0.296556 -112.50 137.50 317.50 0.669525 -112.50 137.50 322.50 1.02135 -112.50 137.50 327.50 1.34304 -112.50 137.50 332.50 1.29353 -112.50 137.50 337.50 0.885197 -112.50 137.50 342.50 0.419285 -112.50 137.50 347.50 0.196214 -112.50 137.50 352.50 0.101402 -112.50 137.50 357.50 0.0394377 -112.50 142.50 2.50 0.0345643 -112.50 142.50 7.50 0.0229548 -112.50 142.50 12.50 0.0256804 -112.50 142.50 17.50 0.0254292 -112.50 142.50 22.50 0.0446951 -112.50 142.50 27.50 0.100083 -112.50 142.50 32.50 0.191638 -112.50 142.50 37.50 0.377634 -112.50 142.50 42.50 0.849689 -112.50 142.50 47.50 1.67451 -112.50 142.50 52.50 2.55221 -112.50 142.50 57.50 2.96787 -112.50 142.50 62.50 2.68863 -112.50 142.50 67.50 1.79232 -112.50 142.50 72.50 0.938531 -112.50 142.50 77.50 0.472255 -112.50 142.50 82.50 0.24113 -112.50 142.50 87.50 0.0948683 -112.50 142.50 92.50 0.0345642 -112.50 142.50 97.50 0.0229548 -112.50 142.50 102.50 0.0256804 -112.50 142.50 107.50 0.0254292 -112.50 142.50 112.50 0.0446951 -112.50 142.50 117.50 0.100083 -112.50 142.50 122.50 0.191638 -112.50 142.50 127.50 0.377634 -112.50 142.50 132.50 0.849689 -112.50 142.50 137.50 1.67451 -112.50 142.50 142.50 2.55221 -112.50 142.50 147.50 2.96788 -112.50 142.50 152.50 2.68863 -112.50 142.50 157.50 1.79232 -112.50 142.50 162.50 0.938531 -112.50 142.50 167.50 0.472255 -112.50 142.50 172.50 0.241131 -112.50 142.50 177.50 0.0948683 -112.50 142.50 182.50 0.0345642 -112.50 142.50 187.50 0.0229548 -112.50 142.50 192.50 0.0256804 -112.50 142.50 197.50 0.0254292 -112.50 142.50 202.50 0.0446951 -112.50 142.50 207.50 0.100083 -112.50 142.50 212.50 0.191638 -112.50 142.50 217.50 0.377634 -112.50 142.50 222.50 0.849688 -112.50 142.50 227.50 1.67451 -112.50 142.50 232.50 2.55221 -112.50 142.50 237.50 2.96787 -112.50 142.50 242.50 2.68863 -112.50 142.50 247.50 1.79232 -112.50 142.50 252.50 0.938531 -112.50 142.50 257.50 0.472254 -112.50 142.50 262.50 0.24113 -112.50 142.50 267.50 0.0948682 -112.50 142.50 272.50 0.0345643 -112.50 142.50 277.50 0.0229548 -112.50 142.50 282.50 0.0256804 -112.50 142.50 287.50 0.0254292 -112.50 142.50 292.50 0.0446951 -112.50 142.50 297.50 0.100083 -112.50 142.50 302.50 0.191638 -112.50 142.50 307.50 0.377634 -112.50 142.50 312.50 0.849688 -112.50 142.50 317.50 1.67451 -112.50 142.50 322.50 2.55221 -112.50 142.50 327.50 2.96787 -112.50 142.50 332.50 2.68864 -112.50 142.50 337.50 1.79232 -112.50 142.50 342.50 0.938533 -112.50 142.50 347.50 0.472255 -112.50 142.50 352.50 0.241131 -112.50 142.50 357.50 0.0948685 -112.50 147.50 2.50 0.0713706 -112.50 147.50 7.50 0.0481647 -112.50 147.50 12.50 0.0577004 -112.50 147.50 17.50 0.0752979 -112.50 147.50 22.50 0.137846 -112.50 147.50 27.50 0.262052 -112.50 147.50 32.50 0.436574 -112.50 147.50 37.50 0.776166 -112.50 147.50 42.50 1.56298 -112.50 147.50 47.50 2.82789 -112.50 147.50 52.50 4.03678 -112.50 147.50 57.50 4.56821 -112.50 147.50 62.50 4.0767 -112.50 147.50 67.50 2.84538 -112.50 147.50 72.50 1.59221 -112.50 147.50 77.50 0.828673 -112.50 147.50 82.50 0.428475 -112.50 147.50 87.50 0.177886 -112.50 147.50 92.50 0.0713706 -112.50 147.50 97.50 0.0481647 -112.50 147.50 102.50 0.0577004 -112.50 147.50 107.50 0.0752979 -112.50 147.50 112.50 0.137846 -112.50 147.50 117.50 0.262052 -112.50 147.50 122.50 0.436574 -112.50 147.50 127.50 0.776166 -112.50 147.50 132.50 1.56298 -112.50 147.50 137.50 2.82789 -112.50 147.50 142.50 4.03678 -112.50 147.50 147.50 4.56821 -112.50 147.50 152.50 4.07671 -112.50 147.50 157.50 2.84538 -112.50 147.50 162.50 1.59221 -112.50 147.50 167.50 0.828673 -112.50 147.50 172.50 0.428475 -112.50 147.50 177.50 0.177886 -112.50 147.50 182.50 0.0713705 -112.50 147.50 187.50 0.0481647 -112.50 147.50 192.50 0.0577004 -112.50 147.50 197.50 0.0752979 -112.50 147.50 202.50 0.137846 -112.50 147.50 207.50 0.262051 -112.50 147.50 212.50 0.436573 -112.50 147.50 217.50 0.776166 -112.50 147.50 222.50 1.56298 -112.50 147.50 227.50 2.82789 -112.50 147.50 232.50 4.03678 -112.50 147.50 237.50 4.56821 -112.50 147.50 242.50 4.0767 -112.50 147.50 247.50 2.84538 -112.50 147.50 252.50 1.5922 -112.50 147.50 257.50 0.828672 -112.50 147.50 262.50 0.428474 -112.50 147.50 267.50 0.177886 -112.50 147.50 272.50 0.0713706 -112.50 147.50 277.50 0.0481647 -112.50 147.50 282.50 0.0577004 -112.50 147.50 287.50 0.0752979 -112.50 147.50 292.50 0.137846 -112.50 147.50 297.50 0.262051 -112.50 147.50 302.50 0.436574 -112.50 147.50 307.50 0.776165 -112.50 147.50 312.50 1.56298 -112.50 147.50 317.50 2.82789 -112.50 147.50 322.50 4.03678 -112.50 147.50 327.50 4.56821 -112.50 147.50 332.50 4.07671 -112.50 147.50 337.50 2.84538 -112.50 147.50 342.50 1.59221 -112.50 147.50 347.50 0.828674 -112.50 147.50 352.50 0.428475 -112.50 147.50 357.50 0.177886 -112.50 152.50 2.50 0.102728 -112.50 152.50 7.50 0.0796682 -112.50 152.50 12.50 0.117217 -112.50 152.50 17.50 0.19226 -112.50 152.50 22.50 0.338363 -112.50 152.50 27.50 0.522997 -112.50 152.50 32.50 0.733517 -112.50 152.50 37.50 1.15908 -112.50 152.50 42.50 2.04157 -112.50 152.50 47.50 3.42852 -112.50 152.50 52.50 4.72297 -112.50 152.50 57.50 5.20994 -112.50 152.50 62.50 4.65188 -112.50 152.50 67.50 3.38449 -112.50 152.50 72.50 1.9346 -112.50 152.50 77.50 1.02982 -112.50 152.50 82.50 0.528282 -112.50 152.50 87.50 0.222408 -112.50 152.50 92.50 0.102728 -112.50 152.50 97.50 0.0796681 -112.50 152.50 102.50 0.117217 -112.50 152.50 107.50 0.19226 -112.50 152.50 112.50 0.338363 -112.50 152.50 117.50 0.522997 -112.50 152.50 122.50 0.733517 -112.50 152.50 127.50 1.15908 -112.50 152.50 132.50 2.04157 -112.50 152.50 137.50 3.42852 -112.50 152.50 142.50 4.72297 -112.50 152.50 147.50 5.20994 -112.50 152.50 152.50 4.65189 -112.50 152.50 157.50 3.3845 -112.50 152.50 162.50 1.9346 -112.50 152.50 167.50 1.02982 -112.50 152.50 172.50 0.528283 -112.50 152.50 177.50 0.222408 -112.50 152.50 182.50 0.102728 -112.50 152.50 187.50 0.0796681 -112.50 152.50 192.50 0.117217 -112.50 152.50 197.50 0.19226 -112.50 152.50 202.50 0.338363 -112.50 152.50 207.50 0.522996 -112.50 152.50 212.50 0.733517 -112.50 152.50 217.50 1.15908 -112.50 152.50 222.50 2.04157 -112.50 152.50 227.50 3.42852 -112.50 152.50 232.50 4.72297 -112.50 152.50 237.50 5.20994 -112.50 152.50 242.50 4.65189 -112.50 152.50 247.50 3.3845 -112.50 152.50 252.50 1.9346 -112.50 152.50 257.50 1.02982 -112.50 152.50 262.50 0.528282 -112.50 152.50 267.50 0.222408 -112.50 152.50 272.50 0.102728 -112.50 152.50 277.50 0.0796682 -112.50 152.50 282.50 0.117217 -112.50 152.50 287.50 0.19226 -112.50 152.50 292.50 0.338362 -112.50 152.50 297.50 0.522996 -112.50 152.50 302.50 0.733516 -112.50 152.50 307.50 1.15908 -112.50 152.50 312.50 2.04156 -112.50 152.50 317.50 3.42852 -112.50 152.50 322.50 4.72297 -112.50 152.50 327.50 5.20994 -112.50 152.50 332.50 4.65189 -112.50 152.50 337.50 3.3845 -112.50 152.50 342.50 1.9346 -112.50 152.50 347.50 1.02982 -112.50 152.50 352.50 0.528283 -112.50 152.50 357.50 0.222409 -112.50 157.50 2.50 0.114009 -112.50 157.50 7.50 0.118439 -112.50 157.50 12.50 0.209396 -112.50 157.50 17.50 0.380762 -112.50 157.50 22.50 0.62124 -112.50 157.50 27.50 0.830492 -112.50 157.50 32.50 0.979366 -112.50 157.50 37.50 1.30349 -112.50 157.50 42.50 2.02416 -112.50 157.50 47.50 3.12498 -112.50 157.50 52.50 4.10408 -112.50 157.50 57.50 4.44844 -112.50 157.50 62.50 4.01069 -112.50 157.50 67.50 2.88921 -112.50 157.50 72.50 1.7273 -112.50 157.50 77.50 0.924205 -112.50 157.50 82.50 0.46717 -112.50 157.50 87.50 0.199352 -112.50 157.50 92.50 0.114009 -112.50 157.50 97.50 0.118439 -112.50 157.50 102.50 0.209396 -112.50 157.50 107.50 0.380762 -112.50 157.50 112.50 0.62124 -112.50 157.50 117.50 0.830492 -112.50 157.50 122.50 0.979366 -112.50 157.50 127.50 1.30349 -112.50 157.50 132.50 2.02416 -112.50 157.50 137.50 3.12498 -112.50 157.50 142.50 4.10408 -112.50 157.50 147.50 4.44844 -112.50 157.50 152.50 4.01069 -112.50 157.50 157.50 2.88921 -112.50 157.50 162.50 1.7273 -112.50 157.50 167.50 0.924206 -112.50 157.50 172.50 0.46717 -112.50 157.50 177.50 0.199352 -112.50 157.50 182.50 0.114009 -112.50 157.50 187.50 0.118439 -112.50 157.50 192.50 0.209396 -112.50 157.50 197.50 0.380762 -112.50 157.50 202.50 0.62124 -112.50 157.50 207.50 0.830491 -112.50 157.50 212.50 0.979365 -112.50 157.50 217.50 1.30349 -112.50 157.50 222.50 2.02416 -112.50 157.50 227.50 3.12498 -112.50 157.50 232.50 4.10408 -112.50 157.50 237.50 4.44845 -112.50 157.50 242.50 4.01069 -112.50 157.50 247.50 2.88921 -112.50 157.50 252.50 1.7273 -112.50 157.50 257.50 0.924205 -112.50 157.50 262.50 0.46717 -112.50 157.50 267.50 0.199352 -112.50 157.50 272.50 0.114009 -112.50 157.50 277.50 0.118439 -112.50 157.50 282.50 0.209396 -112.50 157.50 287.50 0.380762 -112.50 157.50 292.50 0.62124 -112.50 157.50 297.50 0.830491 -112.50 157.50 302.50 0.979364 -112.50 157.50 307.50 1.30349 -112.50 157.50 312.50 2.02416 -112.50 157.50 317.50 3.12498 -112.50 157.50 322.50 4.10407 -112.50 157.50 327.50 4.44844 -112.50 157.50 332.50 4.01069 -112.50 157.50 337.50 2.88921 -112.50 157.50 342.50 1.7273 -112.50 157.50 347.50 0.924207 -112.50 157.50 352.50 0.467171 -112.50 157.50 357.50 0.199353 -112.50 162.50 2.50 0.129042 -112.50 162.50 7.50 0.180575 -112.50 162.50 12.50 0.330343 -112.50 162.50 17.50 0.578688 -112.50 162.50 22.50 0.877147 -112.50 162.50 27.50 1.03817 -112.50 162.50 32.50 1.05452 -112.50 162.50 37.50 1.15056 -112.50 162.50 42.50 1.51677 -112.50 162.50 47.50 2.14441 -112.50 162.50 52.50 2.74521 -112.50 162.50 57.50 2.87762 -112.50 162.50 62.50 2.5111 -112.50 162.50 67.50 1.8723 -112.50 162.50 72.50 1.19702 -112.50 162.50 77.50 0.70176 -112.50 162.50 82.50 0.353566 -112.50 162.50 87.50 0.169802 -112.50 162.50 92.50 0.129042 -112.50 162.50 97.50 0.180575 -112.50 162.50 102.50 0.330343 -112.50 162.50 107.50 0.578688 -112.50 162.50 112.50 0.877146 -112.50 162.50 117.50 1.03817 -112.50 162.50 122.50 1.05452 -112.50 162.50 127.50 1.15056 -112.50 162.50 132.50 1.51677 -112.50 162.50 137.50 2.14441 -112.50 162.50 142.50 2.74521 -112.50 162.50 147.50 2.87762 -112.50 162.50 152.50 2.5111 -112.50 162.50 157.50 1.8723 -112.50 162.50 162.50 1.19702 -112.50 162.50 167.50 0.70176 -112.50 162.50 172.50 0.353566 -112.50 162.50 177.50 0.169802 -112.50 162.50 182.50 0.129042 -112.50 162.50 187.50 0.180575 -112.50 162.50 192.50 0.330343 -112.50 162.50 197.50 0.578688 -112.50 162.50 202.50 0.877146 -112.50 162.50 207.50 1.03817 -112.50 162.50 212.50 1.05452 -112.50 162.50 217.50 1.15056 -112.50 162.50 222.50 1.51677 -112.50 162.50 227.50 2.14441 -112.50 162.50 232.50 2.74521 -112.50 162.50 237.50 2.87762 -112.50 162.50 242.50 2.5111 -112.50 162.50 247.50 1.8723 -112.50 162.50 252.50 1.19702 -112.50 162.50 257.50 0.70176 -112.50 162.50 262.50 0.353565 -112.50 162.50 267.50 0.169802 -112.50 162.50 272.50 0.129042 -112.50 162.50 277.50 0.180575 -112.50 162.50 282.50 0.330343 -112.50 162.50 287.50 0.578688 -112.50 162.50 292.50 0.877146 -112.50 162.50 297.50 1.03817 -112.50 162.50 302.50 1.05452 -112.50 162.50 307.50 1.15056 -112.50 162.50 312.50 1.51677 -112.50 162.50 317.50 2.14441 -112.50 162.50 322.50 2.74521 -112.50 162.50 327.50 2.87762 -112.50 162.50 332.50 2.5111 -112.50 162.50 337.50 1.8723 -112.50 162.50 342.50 1.19702 -112.50 162.50 347.50 0.701761 -112.50 162.50 352.50 0.353567 -112.50 162.50 357.50 0.169802 -112.50 167.50 2.50 0.148779 -112.50 167.50 7.50 0.235527 -112.50 167.50 12.50 0.419806 -112.50 167.50 17.50 0.702544 -112.50 167.50 22.50 0.972016 -112.50 167.50 27.50 1.04021 -112.50 167.50 32.50 0.875162 -112.50 167.50 37.50 0.774984 -112.50 167.50 42.50 0.902796 -112.50 167.50 47.50 1.16717 -112.50 167.50 52.50 1.37822 -112.50 167.50 57.50 1.41539 -112.50 167.50 62.50 1.27537 -112.50 167.50 67.50 1.02204 -112.50 167.50 72.50 0.759032 -112.50 167.50 77.50 0.499375 -112.50 167.50 82.50 0.268399 -112.50 167.50 87.50 0.163633 -112.50 167.50 92.50 0.148779 -112.50 167.50 97.50 0.235527 -112.50 167.50 102.50 0.419807 -112.50 167.50 107.50 0.702544 -112.50 167.50 112.50 0.972016 -112.50 167.50 117.50 1.04021 -112.50 167.50 122.50 0.875162 -112.50 167.50 127.50 0.774984 -112.50 167.50 132.50 0.902796 -112.50 167.50 137.50 1.16717 -112.50 167.50 142.50 1.37822 -112.50 167.50 147.50 1.41539 -112.50 167.50 152.50 1.27537 -112.50 167.50 157.50 1.02204 -112.50 167.50 162.50 0.759032 -112.50 167.50 167.50 0.499375 -112.50 167.50 172.50 0.2684 -112.50 167.50 177.50 0.163633 -112.50 167.50 182.50 0.148779 -112.50 167.50 187.50 0.235527 -112.50 167.50 192.50 0.419806 -112.50 167.50 197.50 0.702544 -112.50 167.50 202.50 0.972016 -112.50 167.50 207.50 1.04021 -112.50 167.50 212.50 0.875162 -112.50 167.50 217.50 0.774984 -112.50 167.50 222.50 0.902796 -112.50 167.50 227.50 1.16717 -112.50 167.50 232.50 1.37822 -112.50 167.50 237.50 1.41539 -112.50 167.50 242.50 1.27537 -112.50 167.50 247.50 1.02204 -112.50 167.50 252.50 0.759031 -112.50 167.50 257.50 0.499375 -112.50 167.50 262.50 0.268399 -112.50 167.50 267.50 0.163633 -112.50 167.50 272.50 0.148779 -112.50 167.50 277.50 0.235527 -112.50 167.50 282.50 0.419806 -112.50 167.50 287.50 0.702543 -112.50 167.50 292.50 0.972016 -112.50 167.50 297.50 1.04021 -112.50 167.50 302.50 0.875162 -112.50 167.50 307.50 0.774985 -112.50 167.50 312.50 0.902796 -112.50 167.50 317.50 1.16717 -112.50 167.50 322.50 1.37822 -112.50 167.50 327.50 1.41539 -112.50 167.50 332.50 1.27537 -112.50 167.50 337.50 1.02204 -112.50 167.50 342.50 0.759032 -112.50 167.50 347.50 0.499376 -112.50 167.50 352.50 0.2684 -112.50 167.50 357.50 0.163633 -112.50 172.50 2.50 0.134121 -112.50 172.50 7.50 0.227328 -112.50 172.50 12.50 0.431976 -112.50 172.50 17.50 0.708774 -112.50 172.50 22.50 0.927011 -112.50 172.50 27.50 0.87844 -112.50 172.50 32.50 0.62605 -112.50 172.50 37.50 0.416365 -112.50 172.50 42.50 0.385849 -112.50 172.50 47.50 0.471098 -112.50 172.50 52.50 0.555933 -112.50 172.50 57.50 0.589234 -112.50 172.50 62.50 0.549479 -112.50 172.50 67.50 0.478812 -112.50 172.50 72.50 0.401511 -112.50 172.50 77.50 0.294737 -112.50 172.50 82.50 0.201029 -112.50 172.50 87.50 0.135945 -112.50 172.50 92.50 0.134121 -112.50 172.50 97.50 0.227329 -112.50 172.50 102.50 0.431976 -112.50 172.50 107.50 0.708774 -112.50 172.50 112.50 0.927011 -112.50 172.50 117.50 0.87844 -112.50 172.50 122.50 0.62605 -112.50 172.50 127.50 0.416365 -112.50 172.50 132.50 0.385849 -112.50 172.50 137.50 0.471098 -112.50 172.50 142.50 0.555933 -112.50 172.50 147.50 0.589234 -112.50 172.50 152.50 0.549479 -112.50 172.50 157.50 0.478812 -112.50 172.50 162.50 0.401511 -112.50 172.50 167.50 0.294737 -112.50 172.50 172.50 0.201029 -112.50 172.50 177.50 0.135945 -112.50 172.50 182.50 0.134121 -112.50 172.50 187.50 0.227328 -112.50 172.50 192.50 0.431976 -112.50 172.50 197.50 0.708774 -112.50 172.50 202.50 0.92701 -112.50 172.50 207.50 0.878439 -112.50 172.50 212.50 0.626049 -112.50 172.50 217.50 0.416365 -112.50 172.50 222.50 0.385849 -112.50 172.50 227.50 0.471098 -112.50 172.50 232.50 0.555934 -112.50 172.50 237.50 0.589234 -112.50 172.50 242.50 0.549479 -112.50 172.50 247.50 0.478812 -112.50 172.50 252.50 0.401512 -112.50 172.50 257.50 0.294737 -112.50 172.50 262.50 0.201029 -112.50 172.50 267.50 0.135945 -112.50 172.50 272.50 0.134121 -112.50 172.50 277.50 0.227328 -112.50 172.50 282.50 0.431976 -112.50 172.50 287.50 0.708773 -112.50 172.50 292.50 0.92701 -112.50 172.50 297.50 0.87844 -112.50 172.50 302.50 0.62605 -112.50 172.50 307.50 0.416365 -112.50 172.50 312.50 0.385849 -112.50 172.50 317.50 0.471098 -112.50 172.50 322.50 0.555933 -112.50 172.50 327.50 0.589234 -112.50 172.50 332.50 0.549479 -112.50 172.50 337.50 0.478812 -112.50 172.50 342.50 0.401512 -112.50 172.50 347.50 0.294737 -112.50 172.50 352.50 0.201029 -112.50 172.50 357.50 0.135945 -112.50 177.50 2.50 0.0872058 -112.50 177.50 7.50 0.172288 -112.50 177.50 12.50 0.384509 -112.50 177.50 17.50 0.688836 -112.50 177.50 22.50 0.855308 -112.50 177.50 27.50 0.706179 -112.50 177.50 32.50 0.400161 -112.50 177.50 37.50 0.194407 -112.50 177.50 42.50 0.126127 -112.50 177.50 47.50 0.137565 -112.50 177.50 52.50 0.166387 -112.50 177.50 57.50 0.182586 -112.50 177.50 62.50 0.179112 -112.50 177.50 67.50 0.174319 -112.50 177.50 72.50 0.166879 -112.50 177.50 77.50 0.143647 -112.50 177.50 82.50 0.106856 -112.50 177.50 87.50 0.0787342 -112.50 177.50 92.50 0.0872058 -112.50 177.50 97.50 0.172288 -112.50 177.50 102.50 0.384509 -112.50 177.50 107.50 0.688836 -112.50 177.50 112.50 0.855308 -112.50 177.50 117.50 0.706179 -112.50 177.50 122.50 0.400161 -112.50 177.50 127.50 0.194407 -112.50 177.50 132.50 0.126127 -112.50 177.50 137.50 0.137565 -112.50 177.50 142.50 0.166387 -112.50 177.50 147.50 0.182586 -112.50 177.50 152.50 0.179112 -112.50 177.50 157.50 0.174319 -112.50 177.50 162.50 0.166879 -112.50 177.50 167.50 0.143647 -112.50 177.50 172.50 0.106857 -112.50 177.50 177.50 0.0787342 -112.50 177.50 182.50 0.0872058 -112.50 177.50 187.50 0.172288 -112.50 177.50 192.50 0.384509 -112.50 177.50 197.50 0.688836 -112.50 177.50 202.50 0.855308 -112.50 177.50 207.50 0.706179 -112.50 177.50 212.50 0.400161 -112.50 177.50 217.50 0.194407 -112.50 177.50 222.50 0.126127 -112.50 177.50 227.50 0.137565 -112.50 177.50 232.50 0.166387 -112.50 177.50 237.50 0.182586 -112.50 177.50 242.50 0.179112 -112.50 177.50 247.50 0.174319 -112.50 177.50 252.50 0.166879 -112.50 177.50 257.50 0.143647 -112.50 177.50 262.50 0.106857 -112.50 177.50 267.50 0.0787342 -112.50 177.50 272.50 0.0872058 -112.50 177.50 277.50 0.172288 -112.50 177.50 282.50 0.384508 -112.50 177.50 287.50 0.688836 -112.50 177.50 292.50 0.855308 -112.50 177.50 297.50 0.706179 -112.50 177.50 302.50 0.400162 -112.50 177.50 307.50 0.194407 -112.50 177.50 312.50 0.126127 -112.50 177.50 317.50 0.137565 -112.50 177.50 322.50 0.166387 -112.50 177.50 327.50 0.182586 -112.50 177.50 332.50 0.179112 -112.50 177.50 337.50 0.174319 -112.50 177.50 342.50 0.166879 -112.50 177.50 347.50 0.143647 -112.50 177.50 352.50 0.106857 -112.50 177.50 357.50 0.0787343 -117.50 2.50 2.50 0.048522 -117.50 2.50 7.50 0.0601603 -117.50 2.50 12.50 0.0760386 -117.50 2.50 17.50 0.083846 -117.50 2.50 22.50 0.084539 -117.50 2.50 27.50 0.083846 -117.50 2.50 32.50 0.0760385 -117.50 2.50 37.50 0.0601603 -117.50 2.50 42.50 0.0485219 -117.50 2.50 47.50 0.0624686 -117.50 2.50 52.50 0.149977 -117.50 2.50 57.50 0.393273 -117.50 2.50 62.50 0.773179 -117.50 2.50 67.50 0.980476 -117.50 2.50 72.50 0.773179 -117.50 2.50 77.50 0.393272 -117.50 2.50 82.50 0.149977 -117.50 2.50 87.50 0.0624686 -117.50 2.50 92.50 0.0485219 -117.50 2.50 97.50 0.0601603 -117.50 2.50 102.50 0.0760386 -117.50 2.50 107.50 0.083846 -117.50 2.50 112.50 0.084539 -117.50 2.50 117.50 0.083846 -117.50 2.50 122.50 0.0760385 -117.50 2.50 127.50 0.0601603 -117.50 2.50 132.50 0.0485219 -117.50 2.50 137.50 0.0624686 -117.50 2.50 142.50 0.149977 -117.50 2.50 147.50 0.393273 -117.50 2.50 152.50 0.773179 -117.50 2.50 157.50 0.980476 -117.50 2.50 162.50 0.773178 -117.50 2.50 167.50 0.393272 -117.50 2.50 172.50 0.149977 -117.50 2.50 177.50 0.0624686 -117.50 2.50 182.50 0.048522 -117.50 2.50 187.50 0.0601603 -117.50 2.50 192.50 0.0760386 -117.50 2.50 197.50 0.083846 -117.50 2.50 202.50 0.084539 -117.50 2.50 207.50 0.083846 -117.50 2.50 212.50 0.0760385 -117.50 2.50 217.50 0.0601603 -117.50 2.50 222.50 0.0485219 -117.50 2.50 227.50 0.0624686 -117.50 2.50 232.50 0.149977 -117.50 2.50 237.50 0.393273 -117.50 2.50 242.50 0.773179 -117.50 2.50 247.50 0.980476 -117.50 2.50 252.50 0.773178 -117.50 2.50 257.50 0.393272 -117.50 2.50 262.50 0.149977 -117.50 2.50 267.50 0.0624685 -117.50 2.50 272.50 0.0485219 -117.50 2.50 277.50 0.0601603 -117.50 2.50 282.50 0.0760386 -117.50 2.50 287.50 0.083846 -117.50 2.50 292.50 0.084539 -117.50 2.50 297.50 0.083846 -117.50 2.50 302.50 0.0760385 -117.50 2.50 307.50 0.0601603 -117.50 2.50 312.50 0.0485219 -117.50 2.50 317.50 0.0624686 -117.50 2.50 322.50 0.149977 -117.50 2.50 327.50 0.393272 -117.50 2.50 332.50 0.773178 -117.50 2.50 337.50 0.980476 -117.50 2.50 342.50 0.773179 -117.50 2.50 347.50 0.393273 -117.50 2.50 352.50 0.149977 -117.50 2.50 357.50 0.0624686 -117.50 7.50 2.50 0.0733504 -117.50 7.50 7.50 0.0984698 -117.50 7.50 12.50 0.131719 -117.50 7.50 17.50 0.153603 -117.50 7.50 22.50 0.165474 -117.50 7.50 27.50 0.176032 -117.50 7.50 32.50 0.173619 -117.50 7.50 37.50 0.158343 -117.50 7.50 42.50 0.134926 -117.50 7.50 47.50 0.130436 -117.50 7.50 52.50 0.202284 -117.50 7.50 57.50 0.413166 -117.50 7.50 62.50 0.710743 -117.50 7.50 67.50 0.873768 -117.50 7.50 72.50 0.711142 -117.50 7.50 77.50 0.397489 -117.50 7.50 82.50 0.175312 -117.50 7.50 87.50 0.0849766 -117.50 7.50 92.50 0.0733504 -117.50 7.50 97.50 0.0984698 -117.50 7.50 102.50 0.131719 -117.50 7.50 107.50 0.153603 -117.50 7.50 112.50 0.165474 -117.50 7.50 117.50 0.176032 -117.50 7.50 122.50 0.173619 -117.50 7.50 127.50 0.158343 -117.50 7.50 132.50 0.134926 -117.50 7.50 137.50 0.130436 -117.50 7.50 142.50 0.202284 -117.50 7.50 147.50 0.413166 -117.50 7.50 152.50 0.710742 -117.50 7.50 157.50 0.873767 -117.50 7.50 162.50 0.711142 -117.50 7.50 167.50 0.397489 -117.50 7.50 172.50 0.175312 -117.50 7.50 177.50 0.0849767 -117.50 7.50 182.50 0.0733504 -117.50 7.50 187.50 0.0984697 -117.50 7.50 192.50 0.131719 -117.50 7.50 197.50 0.153603 -117.50 7.50 202.50 0.165474 -117.50 7.50 207.50 0.176032 -117.50 7.50 212.50 0.173619 -117.50 7.50 217.50 0.158343 -117.50 7.50 222.50 0.134926 -117.50 7.50 227.50 0.130436 -117.50 7.50 232.50 0.202284 -117.50 7.50 237.50 0.413167 -117.50 7.50 242.50 0.710743 -117.50 7.50 247.50 0.873767 -117.50 7.50 252.50 0.711141 -117.50 7.50 257.50 0.397488 -117.50 7.50 262.50 0.175312 -117.50 7.50 267.50 0.0849766 -117.50 7.50 272.50 0.0733504 -117.50 7.50 277.50 0.0984698 -117.50 7.50 282.50 0.131719 -117.50 7.50 287.50 0.153603 -117.50 7.50 292.50 0.165474 -117.50 7.50 297.50 0.176032 -117.50 7.50 302.50 0.173619 -117.50 7.50 307.50 0.158343 -117.50 7.50 312.50 0.134926 -117.50 7.50 317.50 0.130436 -117.50 7.50 322.50 0.202284 -117.50 7.50 327.50 0.413166 -117.50 7.50 332.50 0.710742 -117.50 7.50 337.50 0.873768 -117.50 7.50 342.50 0.711142 -117.50 7.50 347.50 0.397489 -117.50 7.50 352.50 0.175312 -117.50 7.50 357.50 0.0849768 -117.50 12.50 2.50 0.116684 -117.50 12.50 7.50 0.171945 -117.50 12.50 12.50 0.251316 -117.50 12.50 17.50 0.325522 -117.50 12.50 22.50 0.418482 -117.50 12.50 27.50 0.509966 -117.50 12.50 32.50 0.56369 -117.50 12.50 37.50 0.54591 -117.50 12.50 42.50 0.469209 -117.50 12.50 47.50 0.402325 -117.50 12.50 52.50 0.446941 -117.50 12.50 57.50 0.667122 -117.50 12.50 62.50 0.943961 -117.50 12.50 67.50 1.01746 -117.50 12.50 72.50 0.793623 -117.50 12.50 77.50 0.462914 -117.50 12.50 82.50 0.233425 -117.50 12.50 87.50 0.125414 -117.50 12.50 92.50 0.116684 -117.50 12.50 97.50 0.171944 -117.50 12.50 102.50 0.251316 -117.50 12.50 107.50 0.325522 -117.50 12.50 112.50 0.418482 -117.50 12.50 117.50 0.509966 -117.50 12.50 122.50 0.56369 -117.50 12.50 127.50 0.54591 -117.50 12.50 132.50 0.469209 -117.50 12.50 137.50 0.402325 -117.50 12.50 142.50 0.446941 -117.50 12.50 147.50 0.667121 -117.50 12.50 152.50 0.943961 -117.50 12.50 157.50 1.01746 -117.50 12.50 162.50 0.793623 -117.50 12.50 167.50 0.462914 -117.50 12.50 172.50 0.233425 -117.50 12.50 177.50 0.125414 -117.50 12.50 182.50 0.116684 -117.50 12.50 187.50 0.171945 -117.50 12.50 192.50 0.251316 -117.50 12.50 197.50 0.325522 -117.50 12.50 202.50 0.418482 -117.50 12.50 207.50 0.509966 -117.50 12.50 212.50 0.563691 -117.50 12.50 217.50 0.54591 -117.50 12.50 222.50 0.46921 -117.50 12.50 227.50 0.402325 -117.50 12.50 232.50 0.446941 -117.50 12.50 237.50 0.667122 -117.50 12.50 242.50 0.943961 -117.50 12.50 247.50 1.01746 -117.50 12.50 252.50 0.793622 -117.50 12.50 257.50 0.462914 -117.50 12.50 262.50 0.233425 -117.50 12.50 267.50 0.125414 -117.50 12.50 272.50 0.116684 -117.50 12.50 277.50 0.171945 -117.50 12.50 282.50 0.251316 -117.50 12.50 287.50 0.325522 -117.50 12.50 292.50 0.418482 -117.50 12.50 297.50 0.509966 -117.50 12.50 302.50 0.563691 -117.50 12.50 307.50 0.545911 -117.50 12.50 312.50 0.46921 -117.50 12.50 317.50 0.402325 -117.50 12.50 322.50 0.44694 -117.50 12.50 327.50 0.66712 -117.50 12.50 332.50 0.94396 -117.50 12.50 337.50 1.01746 -117.50 12.50 342.50 0.793623 -117.50 12.50 347.50 0.462916 -117.50 12.50 352.50 0.233426 -117.50 12.50 357.50 0.125415 -117.50 17.50 2.50 0.129911 -117.50 17.50 7.50 0.211095 -117.50 17.50 12.50 0.35581 -117.50 17.50 17.50 0.606151 -117.50 17.50 22.50 0.896729 -117.50 17.50 27.50 1.19798 -117.50 17.50 32.50 1.38887 -117.50 17.50 37.50 1.36656 -117.50 17.50 42.50 1.21537 -117.50 17.50 47.50 1.00305 -117.50 17.50 52.50 0.893712 -117.50 17.50 57.50 0.997995 -117.50 17.50 62.50 1.1614 -117.50 17.50 67.50 1.10479 -117.50 17.50 72.50 0.813541 -117.50 17.50 77.50 0.481757 -117.50 17.50 82.50 0.241636 -117.50 17.50 87.50 0.131489 -117.50 17.50 92.50 0.129911 -117.50 17.50 97.50 0.211095 -117.50 17.50 102.50 0.35581 -117.50 17.50 107.50 0.606151 -117.50 17.50 112.50 0.896729 -117.50 17.50 117.50 1.19798 -117.50 17.50 122.50 1.38887 -117.50 17.50 127.50 1.36655 -117.50 17.50 132.50 1.21537 -117.50 17.50 137.50 1.00305 -117.50 17.50 142.50 0.893712 -117.50 17.50 147.50 0.997995 -117.50 17.50 152.50 1.1614 -117.50 17.50 157.50 1.10479 -117.50 17.50 162.50 0.813541 -117.50 17.50 167.50 0.481757 -117.50 17.50 172.50 0.241637 -117.50 17.50 177.50 0.131489 -117.50 17.50 182.50 0.129911 -117.50 17.50 187.50 0.211095 -117.50 17.50 192.50 0.35581 -117.50 17.50 197.50 0.606151 -117.50 17.50 202.50 0.896729 -117.50 17.50 207.50 1.19798 -117.50 17.50 212.50 1.38887 -117.50 17.50 217.50 1.36655 -117.50 17.50 222.50 1.21537 -117.50 17.50 227.50 1.00305 -117.50 17.50 232.50 0.893711 -117.50 17.50 237.50 0.997996 -117.50 17.50 242.50 1.1614 -117.50 17.50 247.50 1.10479 -117.50 17.50 252.50 0.813539 -117.50 17.50 257.50 0.481757 -117.50 17.50 262.50 0.241636 -117.50 17.50 267.50 0.131489 -117.50 17.50 272.50 0.129911 -117.50 17.50 277.50 0.211095 -117.50 17.50 282.50 0.35581 -117.50 17.50 287.50 0.606152 -117.50 17.50 292.50 0.896729 -117.50 17.50 297.50 1.19798 -117.50 17.50 302.50 1.38887 -117.50 17.50 307.50 1.36655 -117.50 17.50 312.50 1.21537 -117.50 17.50 317.50 1.00305 -117.50 17.50 322.50 0.893711 -117.50 17.50 327.50 0.997995 -117.50 17.50 332.50 1.1614 -117.50 17.50 337.50 1.10479 -117.50 17.50 342.50 0.813542 -117.50 17.50 347.50 0.481758 -117.50 17.50 352.50 0.241637 -117.50 17.50 357.50 0.131489 -117.50 22.50 2.50 0.121878 -117.50 22.50 7.50 0.23099 -117.50 22.50 12.50 0.500431 -117.50 22.50 17.50 0.973311 -117.50 22.50 22.50 1.63749 -117.50 22.50 27.50 2.36793 -117.50 22.50 32.50 2.8114 -117.50 22.50 37.50 2.82827 -117.50 22.50 42.50 2.4109 -117.50 22.50 47.50 1.79592 -117.50 22.50 52.50 1.37022 -117.50 22.50 57.50 1.23227 -117.50 22.50 62.50 1.19946 -117.50 22.50 67.50 1.01411 -117.50 22.50 72.50 0.685389 -117.50 22.50 77.50 0.378146 -117.50 22.50 82.50 0.182232 -117.50 22.50 87.50 0.0992846 -117.50 22.50 92.50 0.121878 -117.50 22.50 97.50 0.23099 -117.50 22.50 102.50 0.500431 -117.50 22.50 107.50 0.97331 -117.50 22.50 112.50 1.63749 -117.50 22.50 117.50 2.36793 -117.50 22.50 122.50 2.8114 -117.50 22.50 127.50 2.82827 -117.50 22.50 132.50 2.4109 -117.50 22.50 137.50 1.79592 -117.50 22.50 142.50 1.37022 -117.50 22.50 147.50 1.23227 -117.50 22.50 152.50 1.19946 -117.50 22.50 157.50 1.01411 -117.50 22.50 162.50 0.685389 -117.50 22.50 167.50 0.378146 -117.50 22.50 172.50 0.182233 -117.50 22.50 177.50 0.0992847 -117.50 22.50 182.50 0.121879 -117.50 22.50 187.50 0.23099 -117.50 22.50 192.50 0.500431 -117.50 22.50 197.50 0.973311 -117.50 22.50 202.50 1.63749 -117.50 22.50 207.50 2.36793 -117.50 22.50 212.50 2.8114 -117.50 22.50 217.50 2.82827 -117.50 22.50 222.50 2.4109 -117.50 22.50 227.50 1.79592 -117.50 22.50 232.50 1.37022 -117.50 22.50 237.50 1.23227 -117.50 22.50 242.50 1.19946 -117.50 22.50 247.50 1.01411 -117.50 22.50 252.50 0.685387 -117.50 22.50 257.50 0.378146 -117.50 22.50 262.50 0.182232 -117.50 22.50 267.50 0.0992847 -117.50 22.50 272.50 0.121879 -117.50 22.50 277.50 0.23099 -117.50 22.50 282.50 0.500431 -117.50 22.50 287.50 0.973311 -117.50 22.50 292.50 1.63749 -117.50 22.50 297.50 2.36793 -117.50 22.50 302.50 2.8114 -117.50 22.50 307.50 2.82827 -117.50 22.50 312.50 2.4109 -117.50 22.50 317.50 1.79592 -117.50 22.50 322.50 1.37022 -117.50 22.50 327.50 1.23227 -117.50 22.50 332.50 1.19946 -117.50 22.50 337.50 1.01411 -117.50 22.50 342.50 0.685389 -117.50 22.50 347.50 0.378147 -117.50 22.50 352.50 0.182233 -117.50 22.50 357.50 0.0992847 -117.50 27.50 2.50 0.128577 -117.50 27.50 7.50 0.287223 -117.50 27.50 12.50 0.682242 -117.50 27.50 17.50 1.38614 -117.50 27.50 22.50 2.53544 -117.50 27.50 27.50 3.82994 -117.50 27.50 32.50 4.61171 -117.50 27.50 37.50 4.39416 -117.50 27.50 42.50 3.52102 -117.50 27.50 47.50 2.48565 -117.50 27.50 52.50 1.6458 -117.50 27.50 57.50 1.18875 -117.50 27.50 62.50 1.00217 -117.50 27.50 67.50 0.749985 -117.50 27.50 72.50 0.446232 -117.50 27.50 77.50 0.224623 -117.50 27.50 82.50 0.106507 -117.50 27.50 87.50 0.0675548 -117.50 27.50 92.50 0.128577 -117.50 27.50 97.50 0.287223 -117.50 27.50 102.50 0.682243 -117.50 27.50 107.50 1.38614 -117.50 27.50 112.50 2.53544 -117.50 27.50 117.50 3.82994 -117.50 27.50 122.50 4.61171 -117.50 27.50 127.50 4.39416 -117.50 27.50 132.50 3.52102 -117.50 27.50 137.50 2.48564 -117.50 27.50 142.50 1.6458 -117.50 27.50 147.50 1.18875 -117.50 27.50 152.50 1.00217 -117.50 27.50 157.50 0.749986 -117.50 27.50 162.50 0.446233 -117.50 27.50 167.50 0.224624 -117.50 27.50 172.50 0.106507 -117.50 27.50 177.50 0.0675547 -117.50 27.50 182.50 0.128577 -117.50 27.50 187.50 0.287223 -117.50 27.50 192.50 0.682243 -117.50 27.50 197.50 1.38614 -117.50 27.50 202.50 2.53544 -117.50 27.50 207.50 3.82994 -117.50 27.50 212.50 4.6117 -117.50 27.50 217.50 4.39416 -117.50 27.50 222.50 3.52102 -117.50 27.50 227.50 2.48565 -117.50 27.50 232.50 1.6458 -117.50 27.50 237.50 1.18875 -117.50 27.50 242.50 1.00217 -117.50 27.50 247.50 0.749985 -117.50 27.50 252.50 0.446232 -117.50 27.50 257.50 0.224623 -117.50 27.50 262.50 0.106507 -117.50 27.50 267.50 0.0675548 -117.50 27.50 272.50 0.128577 -117.50 27.50 277.50 0.287223 -117.50 27.50 282.50 0.682243 -117.50 27.50 287.50 1.38614 -117.50 27.50 292.50 2.53544 -117.50 27.50 297.50 3.82994 -117.50 27.50 302.50 4.61171 -117.50 27.50 307.50 4.39417 -117.50 27.50 312.50 3.52102 -117.50 27.50 317.50 2.48565 -117.50 27.50 322.50 1.6458 -117.50 27.50 327.50 1.18875 -117.50 27.50 332.50 1.00217 -117.50 27.50 337.50 0.749986 -117.50 27.50 342.50 0.446233 -117.50 27.50 347.50 0.224624 -117.50 27.50 352.50 0.106507 -117.50 27.50 357.50 0.0675547 -117.50 32.50 2.50 0.130738 -117.50 32.50 7.50 0.32911 -117.50 32.50 12.50 0.76965 -117.50 32.50 17.50 1.56571 -117.50 32.50 22.50 2.96885 -117.50 32.50 27.50 4.62745 -117.50 32.50 32.50 5.41446 -117.50 32.50 37.50 5.20738 -117.50 32.50 42.50 4.05435 -117.50 32.50 47.50 2.59076 -117.50 32.50 52.50 1.46925 -117.50 32.50 57.50 0.916916 -117.50 32.50 62.50 0.652041 -117.50 32.50 67.50 0.4312 -117.50 32.50 72.50 0.223069 -117.50 32.50 77.50 0.10686 -117.50 32.50 82.50 0.058589 -117.50 32.50 87.50 0.0489067 -117.50 32.50 92.50 0.130738 -117.50 32.50 97.50 0.32911 -117.50 32.50 102.50 0.769651 -117.50 32.50 107.50 1.56571 -117.50 32.50 112.50 2.96885 -117.50 32.50 117.50 4.62745 -117.50 32.50 122.50 5.41446 -117.50 32.50 127.50 5.20738 -117.50 32.50 132.50 4.05435 -117.50 32.50 137.50 2.59076 -117.50 32.50 142.50 1.46925 -117.50 32.50 147.50 0.916916 -117.50 32.50 152.50 0.652042 -117.50 32.50 157.50 0.4312 -117.50 32.50 162.50 0.223069 -117.50 32.50 167.50 0.10686 -117.50 32.50 172.50 0.058589 -117.50 32.50 177.50 0.0489067 -117.50 32.50 182.50 0.130739 -117.50 32.50 187.50 0.32911 -117.50 32.50 192.50 0.76965 -117.50 32.50 197.50 1.56572 -117.50 32.50 202.50 2.96885 -117.50 32.50 207.50 4.62745 -117.50 32.50 212.50 5.41446 -117.50 32.50 217.50 5.20738 -117.50 32.50 222.50 4.05435 -117.50 32.50 227.50 2.59076 -117.50 32.50 232.50 1.46925 -117.50 32.50 237.50 0.916916 -117.50 32.50 242.50 0.652041 -117.50 32.50 247.50 0.431199 -117.50 32.50 252.50 0.223069 -117.50 32.50 257.50 0.10686 -117.50 32.50 262.50 0.058589 -117.50 32.50 267.50 0.0489067 -117.50 32.50 272.50 0.130738 -117.50 32.50 277.50 0.32911 -117.50 32.50 282.50 0.76965 -117.50 32.50 287.50 1.56571 -117.50 32.50 292.50 2.96885 -117.50 32.50 297.50 4.62745 -117.50 32.50 302.50 5.41446 -117.50 32.50 307.50 5.20738 -117.50 32.50 312.50 4.05435 -117.50 32.50 317.50 2.59076 -117.50 32.50 322.50 1.46926 -117.50 32.50 327.50 0.916917 -117.50 32.50 332.50 0.652042 -117.50 32.50 337.50 0.4312 -117.50 32.50 342.50 0.22307 -117.50 32.50 347.50 0.10686 -117.50 32.50 352.50 0.0585891 -117.50 32.50 357.50 0.0489066 -117.50 37.50 2.50 0.0974756 -117.50 37.50 7.50 0.270603 -117.50 37.50 12.50 0.628634 -117.50 37.50 17.50 1.28793 -117.50 37.50 22.50 2.55428 -117.50 37.50 27.50 4.03039 -117.50 37.50 32.50 4.88877 -117.50 37.50 37.50 4.69045 -117.50 37.50 42.50 3.52062 -117.50 37.50 47.50 2.06341 -117.50 37.50 52.50 1.01343 -117.50 37.50 57.50 0.537987 -117.50 37.50 62.50 0.34409 -117.50 37.50 67.50 0.195092 -117.50 37.50 72.50 0.0857295 -117.50 37.50 77.50 0.0437712 -117.50 37.50 82.50 0.0299629 -117.50 37.50 87.50 0.0319728 -117.50 37.50 92.50 0.0974756 -117.50 37.50 97.50 0.270603 -117.50 37.50 102.50 0.628634 -117.50 37.50 107.50 1.28793 -117.50 37.50 112.50 2.55428 -117.50 37.50 117.50 4.03039 -117.50 37.50 122.50 4.88877 -117.50 37.50 127.50 4.69045 -117.50 37.50 132.50 3.52062 -117.50 37.50 137.50 2.06341 -117.50 37.50 142.50 1.01343 -117.50 37.50 147.50 0.537988 -117.50 37.50 152.50 0.34409 -117.50 37.50 157.50 0.195092 -117.50 37.50 162.50 0.0857296 -117.50 37.50 167.50 0.0437712 -117.50 37.50 172.50 0.0299629 -117.50 37.50 177.50 0.0319728 -117.50 37.50 182.50 0.0974756 -117.50 37.50 187.50 0.270604 -117.50 37.50 192.50 0.628634 -117.50 37.50 197.50 1.28793 -117.50 37.50 202.50 2.55428 -117.50 37.50 207.50 4.03039 -117.50 37.50 212.50 4.88877 -117.50 37.50 217.50 4.69045 -117.50 37.50 222.50 3.52062 -117.50 37.50 227.50 2.06342 -117.50 37.50 232.50 1.01343 -117.50 37.50 237.50 0.537987 -117.50 37.50 242.50 0.34409 -117.50 37.50 247.50 0.195092 -117.50 37.50 252.50 0.0857295 -117.50 37.50 257.50 0.0437712 -117.50 37.50 262.50 0.0299629 -117.50 37.50 267.50 0.0319728 -117.50 37.50 272.50 0.0974756 -117.50 37.50 277.50 0.270603 -117.50 37.50 282.50 0.628633 -117.50 37.50 287.50 1.28793 -117.50 37.50 292.50 2.55428 -117.50 37.50 297.50 4.03039 -117.50 37.50 302.50 4.88877 -117.50 37.50 307.50 4.69045 -117.50 37.50 312.50 3.52062 -117.50 37.50 317.50 2.06342 -117.50 37.50 322.50 1.01344 -117.50 37.50 327.50 0.537988 -117.50 37.50 332.50 0.34409 -117.50 37.50 337.50 0.195092 -117.50 37.50 342.50 0.0857298 -117.50 37.50 347.50 0.0437712 -117.50 37.50 352.50 0.0299629 -117.50 37.50 357.50 0.0319728 -117.50 42.50 2.50 0.0543459 -117.50 42.50 7.50 0.156544 -117.50 42.50 12.50 0.369483 -117.50 42.50 17.50 0.790617 -117.50 42.50 22.50 1.62574 -117.50 42.50 27.50 2.69838 -117.50 42.50 32.50 3.37986 -117.50 42.50 37.50 3.13446 -117.50 42.50 42.50 2.24846 -117.50 42.50 47.50 1.17993 -117.50 42.50 52.50 0.517223 -117.50 42.50 57.50 0.236098 -117.50 42.50 62.50 0.134339 -117.50 42.50 67.50 0.0704414 -117.50 42.50 72.50 0.029629 -117.50 42.50 77.50 0.0201029 -117.50 42.50 82.50 0.0181523 -117.50 42.50 87.50 0.019399 -117.50 42.50 92.50 0.0543459 -117.50 42.50 97.50 0.156544 -117.50 42.50 102.50 0.369483 -117.50 42.50 107.50 0.790617 -117.50 42.50 112.50 1.62574 -117.50 42.50 117.50 2.69838 -117.50 42.50 122.50 3.37986 -117.50 42.50 127.50 3.13446 -117.50 42.50 132.50 2.24846 -117.50 42.50 137.50 1.17993 -117.50 42.50 142.50 0.517222 -117.50 42.50 147.50 0.236099 -117.50 42.50 152.50 0.134339 -117.50 42.50 157.50 0.0704416 -117.50 42.50 162.50 0.029629 -117.50 42.50 167.50 0.0201029 -117.50 42.50 172.50 0.0181523 -117.50 42.50 177.50 0.019399 -117.50 42.50 182.50 0.0543459 -117.50 42.50 187.50 0.156544 -117.50 42.50 192.50 0.369483 -117.50 42.50 197.50 0.790617 -117.50 42.50 202.50 1.62574 -117.50 42.50 207.50 2.69838 -117.50 42.50 212.50 3.37986 -117.50 42.50 217.50 3.13446 -117.50 42.50 222.50 2.24846 -117.50 42.50 227.50 1.17994 -117.50 42.50 232.50 0.517222 -117.50 42.50 237.50 0.236098 -117.50 42.50 242.50 0.134339 -117.50 42.50 247.50 0.0704414 -117.50 42.50 252.50 0.0296289 -117.50 42.50 257.50 0.0201029 -117.50 42.50 262.50 0.0181523 -117.50 42.50 267.50 0.019399 -117.50 42.50 272.50 0.0543459 -117.50 42.50 277.50 0.156544 -117.50 42.50 282.50 0.369483 -117.50 42.50 287.50 0.790617 -117.50 42.50 292.50 1.62574 -117.50 42.50 297.50 2.69837 -117.50 42.50 302.50 3.37986 -117.50 42.50 307.50 3.13446 -117.50 42.50 312.50 2.24846 -117.50 42.50 317.50 1.17994 -117.50 42.50 322.50 0.517224 -117.50 42.50 327.50 0.236099 -117.50 42.50 332.50 0.134339 -117.50 42.50 337.50 0.0704416 -117.50 42.50 342.50 0.029629 -117.50 42.50 347.50 0.0201029 -117.50 42.50 352.50 0.0181523 -117.50 42.50 357.50 0.019399 -117.50 47.50 2.50 0.0370179 -117.50 47.50 7.50 0.0778325 -117.50 47.50 12.50 0.17609 -117.50 47.50 17.50 0.381167 -117.50 47.50 22.50 0.818626 -117.50 47.50 27.50 1.41442 -117.50 47.50 32.50 1.66794 -117.50 47.50 37.50 1.43932 -117.50 47.50 42.50 0.922785 -117.50 47.50 47.50 0.498101 -117.50 47.50 52.50 0.179248 -117.50 47.50 57.50 0.0803483 -117.50 47.50 62.50 0.0369965 -117.50 47.50 67.50 0.0271068 -117.50 47.50 72.50 0.0300108 -117.50 47.50 77.50 0.0436276 -117.50 47.50 82.50 0.0430621 -117.50 47.50 87.50 0.0308334 -117.50 47.50 92.50 0.0370179 -117.50 47.50 97.50 0.0778327 -117.50 47.50 102.50 0.17609 -117.50 47.50 107.50 0.381167 -117.50 47.50 112.50 0.818626 -117.50 47.50 117.50 1.41442 -117.50 47.50 122.50 1.66793 -117.50 47.50 127.50 1.43932 -117.50 47.50 132.50 0.922784 -117.50 47.50 137.50 0.498101 -117.50 47.50 142.50 0.179248 -117.50 47.50 147.50 0.0803483 -117.50 47.50 152.50 0.0369965 -117.50 47.50 157.50 0.0271068 -117.50 47.50 162.50 0.0300108 -117.50 47.50 167.50 0.0436275 -117.50 47.50 172.50 0.043062 -117.50 47.50 177.50 0.0308334 -117.50 47.50 182.50 0.0370179 -117.50 47.50 187.50 0.0778327 -117.50 47.50 192.50 0.17609 -117.50 47.50 197.50 0.381167 -117.50 47.50 202.50 0.818626 -117.50 47.50 207.50 1.41442 -117.50 47.50 212.50 1.66793 -117.50 47.50 217.50 1.43932 -117.50 47.50 222.50 0.922784 -117.50 47.50 227.50 0.498101 -117.50 47.50 232.50 0.179248 -117.50 47.50 237.50 0.0803482 -117.50 47.50 242.50 0.0369965 -117.50 47.50 247.50 0.0271068 -117.50 47.50 252.50 0.0300108 -117.50 47.50 257.50 0.0436276 -117.50 47.50 262.50 0.043062 -117.50 47.50 267.50 0.0308333 -117.50 47.50 272.50 0.0370179 -117.50 47.50 277.50 0.0778326 -117.50 47.50 282.50 0.17609 -117.50 47.50 287.50 0.381167 -117.50 47.50 292.50 0.818625 -117.50 47.50 297.50 1.41441 -117.50 47.50 302.50 1.66793 -117.50 47.50 307.50 1.43932 -117.50 47.50 312.50 0.922785 -117.50 47.50 317.50 0.498101 -117.50 47.50 322.50 0.179249 -117.50 47.50 327.50 0.0803484 -117.50 47.50 332.50 0.0369965 -117.50 47.50 337.50 0.0271068 -117.50 47.50 342.50 0.0300108 -117.50 47.50 347.50 0.0436275 -117.50 47.50 352.50 0.0430621 -117.50 47.50 357.50 0.0308334 -117.50 52.50 2.50 0.0543459 -117.50 52.50 7.50 0.0469195 -117.50 52.50 12.50 0.0728264 -117.50 52.50 17.50 0.154203 -117.50 52.50 22.50 0.341572 -117.50 52.50 27.50 0.525444 -117.50 52.50 32.50 0.562987 -117.50 52.50 37.50 0.45162 -117.50 52.50 42.50 0.283554 -117.50 52.50 47.50 0.137815 -117.50 52.50 52.50 0.0537106 -117.50 52.50 57.50 0.0280947 -117.50 52.50 62.50 0.0377448 -117.50 52.50 67.50 0.0656053 -117.50 52.50 72.50 0.0983817 -117.50 52.50 77.50 0.136007 -117.50 52.50 82.50 0.130606 -117.50 52.50 87.50 0.088759 -117.50 52.50 92.50 0.0543459 -117.50 52.50 97.50 0.0469196 -117.50 52.50 102.50 0.0728265 -117.50 52.50 107.50 0.154203 -117.50 52.50 112.50 0.341572 -117.50 52.50 117.50 0.525444 -117.50 52.50 122.50 0.562987 -117.50 52.50 127.50 0.45162 -117.50 52.50 132.50 0.283554 -117.50 52.50 137.50 0.137815 -117.50 52.50 142.50 0.0537106 -117.50 52.50 147.50 0.0280947 -117.50 52.50 152.50 0.0377448 -117.50 52.50 157.50 0.0656052 -117.50 52.50 162.50 0.0983816 -117.50 52.50 167.50 0.136006 -117.50 52.50 172.50 0.130606 -117.50 52.50 177.50 0.088759 -117.50 52.50 182.50 0.0543459 -117.50 52.50 187.50 0.0469195 -117.50 52.50 192.50 0.0728265 -117.50 52.50 197.50 0.154203 -117.50 52.50 202.50 0.341572 -117.50 52.50 207.50 0.525444 -117.50 52.50 212.50 0.562987 -117.50 52.50 217.50 0.45162 -117.50 52.50 222.50 0.283554 -117.50 52.50 227.50 0.137816 -117.50 52.50 232.50 0.0537104 -117.50 52.50 237.50 0.0280947 -117.50 52.50 242.50 0.0377448 -117.50 52.50 247.50 0.0656053 -117.50 52.50 252.50 0.0983816 -117.50 52.50 257.50 0.136006 -117.50 52.50 262.50 0.130606 -117.50 52.50 267.50 0.088759 -117.50 52.50 272.50 0.0543458 -117.50 52.50 277.50 0.0469194 -117.50 52.50 282.50 0.0728264 -117.50 52.50 287.50 0.154203 -117.50 52.50 292.50 0.341572 -117.50 52.50 297.50 0.525445 -117.50 52.50 302.50 0.562987 -117.50 52.50 307.50 0.45162 -117.50 52.50 312.50 0.283554 -117.50 52.50 317.50 0.137816 -117.50 52.50 322.50 0.0537107 -117.50 52.50 327.50 0.0280947 -117.50 52.50 332.50 0.0377448 -117.50 52.50 337.50 0.0656052 -117.50 52.50 342.50 0.0983816 -117.50 52.50 347.50 0.136007 -117.50 52.50 352.50 0.130606 -117.50 52.50 357.50 0.0887592 -117.50 57.50 2.50 0.0974755 -117.50 57.50 7.50 0.0399963 -117.50 57.50 12.50 0.0293443 -117.50 57.50 17.50 0.0659187 -117.50 57.50 22.50 0.102507 -117.50 57.50 27.50 0.126797 -117.50 57.50 32.50 0.134909 -117.50 57.50 37.50 0.120496 -117.50 57.50 42.50 0.0802771 -117.50 57.50 47.50 0.0555731 -117.50 57.50 52.50 0.0461287 -117.50 57.50 57.50 0.0772949 -117.50 57.50 62.50 0.155417 -117.50 57.50 67.50 0.25129 -117.50 57.50 72.50 0.331035 -117.50 57.50 77.50 0.34099 -117.50 57.50 82.50 0.287254 -117.50 57.50 87.50 0.195513 -117.50 57.50 92.50 0.0974756 -117.50 57.50 97.50 0.0399963 -117.50 57.50 102.50 0.0293443 -117.50 57.50 107.50 0.0659187 -117.50 57.50 112.50 0.102507 -117.50 57.50 117.50 0.126798 -117.50 57.50 122.50 0.134909 -117.50 57.50 127.50 0.120496 -117.50 57.50 132.50 0.080277 -117.50 57.50 137.50 0.0555731 -117.50 57.50 142.50 0.0461287 -117.50 57.50 147.50 0.0772949 -117.50 57.50 152.50 0.155417 -117.50 57.50 157.50 0.25129 -117.50 57.50 162.50 0.331035 -117.50 57.50 167.50 0.34099 -117.50 57.50 172.50 0.287254 -117.50 57.50 177.50 0.195513 -117.50 57.50 182.50 0.0974755 -117.50 57.50 187.50 0.0399963 -117.50 57.50 192.50 0.0293443 -117.50 57.50 197.50 0.0659187 -117.50 57.50 202.50 0.102507 -117.50 57.50 207.50 0.126798 -117.50 57.50 212.50 0.134909 -117.50 57.50 217.50 0.120496 -117.50 57.50 222.50 0.0802771 -117.50 57.50 227.50 0.0555731 -117.50 57.50 232.50 0.0461288 -117.50 57.50 237.50 0.0772949 -117.50 57.50 242.50 0.155417 -117.50 57.50 247.50 0.25129 -117.50 57.50 252.50 0.331035 -117.50 57.50 257.50 0.340989 -117.50 57.50 262.50 0.287254 -117.50 57.50 267.50 0.195513 -117.50 57.50 272.50 0.0974755 -117.50 57.50 277.50 0.0399963 -117.50 57.50 282.50 0.0293443 -117.50 57.50 287.50 0.0659187 -117.50 57.50 292.50 0.102507 -117.50 57.50 297.50 0.126797 -117.50 57.50 302.50 0.134909 -117.50 57.50 307.50 0.120496 -117.50 57.50 312.50 0.0802771 -117.50 57.50 317.50 0.0555731 -117.50 57.50 322.50 0.0461287 -117.50 57.50 327.50 0.0772949 -117.50 57.50 332.50 0.155417 -117.50 57.50 337.50 0.25129 -117.50 57.50 342.50 0.331035 -117.50 57.50 347.50 0.34099 -117.50 57.50 352.50 0.287254 -117.50 57.50 357.50 0.195513 -117.50 62.50 2.50 0.130738 -117.50 62.50 7.50 0.039468 -117.50 62.50 12.50 0.0172488 -117.50 62.50 17.50 0.0186962 -117.50 62.50 22.50 0.0214521 -117.50 62.50 27.50 0.0241577 -117.50 62.50 32.50 0.0330205 -117.50 62.50 37.50 0.0444239 -117.50 62.50 42.50 0.061199 -117.50 62.50 47.50 0.108223 -117.50 62.50 52.50 0.19984 -117.50 62.50 57.50 0.352877 -117.50 62.50 62.50 0.534546 -117.50 62.50 67.50 0.733901 -117.50 62.50 72.50 0.841434 -117.50 62.50 77.50 0.714309 -117.50 62.50 82.50 0.483705 -117.50 62.50 87.50 0.296509 -117.50 62.50 92.50 0.130738 -117.50 62.50 97.50 0.039468 -117.50 62.50 102.50 0.0172488 -117.50 62.50 107.50 0.0186962 -117.50 62.50 112.50 0.0214521 -117.50 62.50 117.50 0.0241577 -117.50 62.50 122.50 0.0330205 -117.50 62.50 127.50 0.0444239 -117.50 62.50 132.50 0.0611989 -117.50 62.50 137.50 0.108223 -117.50 62.50 142.50 0.19984 -117.50 62.50 147.50 0.352877 -117.50 62.50 152.50 0.534545 -117.50 62.50 157.50 0.7339 -117.50 62.50 162.50 0.841433 -117.50 62.50 167.50 0.714308 -117.50 62.50 172.50 0.483705 -117.50 62.50 177.50 0.296509 -117.50 62.50 182.50 0.130738 -117.50 62.50 187.50 0.039468 -117.50 62.50 192.50 0.0172488 -117.50 62.50 197.50 0.0186962 -117.50 62.50 202.50 0.0214521 -117.50 62.50 207.50 0.0241577 -117.50 62.50 212.50 0.0330205 -117.50 62.50 217.50 0.0444239 -117.50 62.50 222.50 0.0611989 -117.50 62.50 227.50 0.108222 -117.50 62.50 232.50 0.19984 -117.50 62.50 237.50 0.352877 -117.50 62.50 242.50 0.534546 -117.50 62.50 247.50 0.7339 -117.50 62.50 252.50 0.841433 -117.50 62.50 257.50 0.714308 -117.50 62.50 262.50 0.483704 -117.50 62.50 267.50 0.296509 -117.50 62.50 272.50 0.130738 -117.50 62.50 277.50 0.039468 -117.50 62.50 282.50 0.0172488 -117.50 62.50 287.50 0.0186962 -117.50 62.50 292.50 0.0214521 -117.50 62.50 297.50 0.0241577 -117.50 62.50 302.50 0.0330205 -117.50 62.50 307.50 0.0444239 -117.50 62.50 312.50 0.061199 -117.50 62.50 317.50 0.108223 -117.50 62.50 322.50 0.199839 -117.50 62.50 327.50 0.352876 -117.50 62.50 332.50 0.534545 -117.50 62.50 337.50 0.7339 -117.50 62.50 342.50 0.841434 -117.50 62.50 347.50 0.714309 -117.50 62.50 352.50 0.483705 -117.50 62.50 357.50 0.296509 -117.50 67.50 2.50 0.128577 -117.50 67.50 7.50 0.0394433 -117.50 67.50 12.50 0.0117613 -117.50 67.50 17.50 0.00578838 -117.50 67.50 22.50 0.00545859 -117.50 67.50 27.50 0.00787527 -117.50 67.50 32.50 0.0175434 -117.50 67.50 37.50 0.0578934 -117.50 67.50 42.50 0.164346 -117.50 67.50 47.50 0.373142 -117.50 67.50 52.50 0.669425 -117.50 67.50 57.50 1.06691 -117.50 67.50 62.50 1.4843 -117.50 67.50 67.50 1.69153 -117.50 67.50 72.50 1.66329 -117.50 67.50 77.50 1.24085 -117.50 67.50 82.50 0.699142 -117.50 67.50 87.50 0.337514 -117.50 67.50 92.50 0.128577 -117.50 67.50 97.50 0.0394433 -117.50 67.50 102.50 0.0117613 -117.50 67.50 107.50 0.00578837 -117.50 67.50 112.50 0.00545859 -117.50 67.50 117.50 0.00787527 -117.50 67.50 122.50 0.0175434 -117.50 67.50 127.50 0.0578934 -117.50 67.50 132.50 0.164346 -117.50 67.50 137.50 0.373142 -117.50 67.50 142.50 0.669425 -117.50 67.50 147.50 1.06691 -117.50 67.50 152.50 1.4843 -117.50 67.50 157.50 1.69153 -117.50 67.50 162.50 1.66329 -117.50 67.50 167.50 1.24085 -117.50 67.50 172.50 0.699143 -117.50 67.50 177.50 0.337515 -117.50 67.50 182.50 0.128577 -117.50 67.50 187.50 0.0394433 -117.50 67.50 192.50 0.0117613 -117.50 67.50 197.50 0.00578838 -117.50 67.50 202.50 0.00545859 -117.50 67.50 207.50 0.00787527 -117.50 67.50 212.50 0.0175434 -117.50 67.50 217.50 0.0578933 -117.50 67.50 222.50 0.164346 -117.50 67.50 227.50 0.373142 -117.50 67.50 232.50 0.669425 -117.50 67.50 237.50 1.06691 -117.50 67.50 242.50 1.4843 -117.50 67.50 247.50 1.69153 -117.50 67.50 252.50 1.66329 -117.50 67.50 257.50 1.24085 -117.50 67.50 262.50 0.699141 -117.50 67.50 267.50 0.337514 -117.50 67.50 272.50 0.128577 -117.50 67.50 277.50 0.0394433 -117.50 67.50 282.50 0.0117613 -117.50 67.50 287.50 0.00578838 -117.50 67.50 292.50 0.0054586 -117.50 67.50 297.50 0.00787527 -117.50 67.50 302.50 0.0175434 -117.50 67.50 307.50 0.0578933 -117.50 67.50 312.50 0.164346 -117.50 67.50 317.50 0.373142 -117.50 67.50 322.50 0.669425 -117.50 67.50 327.50 1.06691 -117.50 67.50 332.50 1.4843 -117.50 67.50 337.50 1.69153 -117.50 67.50 342.50 1.66329 -117.50 67.50 347.50 1.24085 -117.50 67.50 352.50 0.699144 -117.50 67.50 357.50 0.337515 -117.50 72.50 2.50 0.121879 -117.50 72.50 7.50 0.050492 -117.50 72.50 12.50 0.0180791 -117.50 72.50 17.50 0.0109335 -117.50 72.50 22.50 0.0137829 -117.50 72.50 27.50 0.0188466 -117.50 72.50 32.50 0.0576383 -117.50 72.50 37.50 0.177832 -117.50 72.50 42.50 0.459733 -117.50 72.50 47.50 0.922023 -117.50 72.50 52.50 1.58649 -117.50 72.50 57.50 2.26692 -117.50 72.50 62.50 2.86469 -117.50 72.50 67.50 3.06924 -117.50 72.50 72.50 2.6212 -117.50 72.50 77.50 1.77937 -117.50 72.50 82.50 0.884303 -117.50 72.50 87.50 0.363239 -117.50 72.50 92.50 0.121878 -117.50 72.50 97.50 0.0504919 -117.50 72.50 102.50 0.018079 -117.50 72.50 107.50 0.0109334 -117.50 72.50 112.50 0.0137829 -117.50 72.50 117.50 0.0188465 -117.50 72.50 122.50 0.0576383 -117.50 72.50 127.50 0.177832 -117.50 72.50 132.50 0.459734 -117.50 72.50 137.50 0.922023 -117.50 72.50 142.50 1.58648 -117.50 72.50 147.50 2.26692 -117.50 72.50 152.50 2.86469 -117.50 72.50 157.50 3.06923 -117.50 72.50 162.50 2.6212 -117.50 72.50 167.50 1.77937 -117.50 72.50 172.50 0.884303 -117.50 72.50 177.50 0.363239 -117.50 72.50 182.50 0.121878 -117.50 72.50 187.50 0.050492 -117.50 72.50 192.50 0.018079 -117.50 72.50 197.50 0.0109335 -117.50 72.50 202.50 0.0137829 -117.50 72.50 207.50 0.0188465 -117.50 72.50 212.50 0.0576382 -117.50 72.50 217.50 0.177831 -117.50 72.50 222.50 0.459733 -117.50 72.50 227.50 0.922023 -117.50 72.50 232.50 1.58649 -117.50 72.50 237.50 2.26692 -117.50 72.50 242.50 2.86469 -117.50 72.50 247.50 3.06923 -117.50 72.50 252.50 2.6212 -117.50 72.50 257.50 1.77937 -117.50 72.50 262.50 0.884301 -117.50 72.50 267.50 0.363238 -117.50 72.50 272.50 0.121879 -117.50 72.50 277.50 0.050492 -117.50 72.50 282.50 0.0180791 -117.50 72.50 287.50 0.0109335 -117.50 72.50 292.50 0.0137829 -117.50 72.50 297.50 0.0188465 -117.50 72.50 302.50 0.0576382 -117.50 72.50 307.50 0.177832 -117.50 72.50 312.50 0.459733 -117.50 72.50 317.50 0.922023 -117.50 72.50 322.50 1.58648 -117.50 72.50 327.50 2.26691 -117.50 72.50 332.50 2.86468 -117.50 72.50 337.50 3.06924 -117.50 72.50 342.50 2.6212 -117.50 72.50 347.50 1.77937 -117.50 72.50 352.50 0.884305 -117.50 72.50 357.50 0.36324 -117.50 77.50 2.50 0.129911 -117.50 77.50 7.50 0.0644308 -117.50 77.50 12.50 0.0247857 -117.50 77.50 17.50 0.0271833 -117.50 77.50 22.50 0.0323424 -117.50 77.50 27.50 0.0747902 -117.50 77.50 32.50 0.202158 -117.50 77.50 37.50 0.529718 -117.50 77.50 42.50 1.13284 -117.50 77.50 47.50 1.93749 -117.50 77.50 52.50 2.79439 -117.50 77.50 57.50 3.61436 -117.50 77.50 62.50 4.06137 -117.50 77.50 67.50 3.92391 -117.50 77.50 72.50 3.22584 -117.50 77.50 77.50 2.14485 -117.50 77.50 82.50 0.979882 -117.50 77.50 87.50 0.401407 -117.50 77.50 92.50 0.129911 -117.50 77.50 97.50 0.0644308 -117.50 77.50 102.50 0.0247857 -117.50 77.50 107.50 0.0271832 -117.50 77.50 112.50 0.0323424 -117.50 77.50 117.50 0.0747902 -117.50 77.50 122.50 0.202158 -117.50 77.50 127.50 0.529718 -117.50 77.50 132.50 1.13284 -117.50 77.50 137.50 1.93749 -117.50 77.50 142.50 2.79439 -117.50 77.50 147.50 3.61436 -117.50 77.50 152.50 4.06137 -117.50 77.50 157.50 3.92391 -117.50 77.50 162.50 3.22584 -117.50 77.50 167.50 2.14485 -117.50 77.50 172.50 0.979882 -117.50 77.50 177.50 0.401407 -117.50 77.50 182.50 0.129911 -117.50 77.50 187.50 0.0644308 -117.50 77.50 192.50 0.0247857 -117.50 77.50 197.50 0.0271832 -117.50 77.50 202.50 0.0323424 -117.50 77.50 207.50 0.0747901 -117.50 77.50 212.50 0.202158 -117.50 77.50 217.50 0.529718 -117.50 77.50 222.50 1.13284 -117.50 77.50 227.50 1.93749 -117.50 77.50 232.50 2.7944 -117.50 77.50 237.50 3.61436 -117.50 77.50 242.50 4.06137 -117.50 77.50 247.50 3.92391 -117.50 77.50 252.50 3.22583 -117.50 77.50 257.50 2.14485 -117.50 77.50 262.50 0.979879 -117.50 77.50 267.50 0.401406 -117.50 77.50 272.50 0.129911 -117.50 77.50 277.50 0.0644308 -117.50 77.50 282.50 0.0247857 -117.50 77.50 287.50 0.0271833 -117.50 77.50 292.50 0.0323424 -117.50 77.50 297.50 0.0747901 -117.50 77.50 302.50 0.202158 -117.50 77.50 307.50 0.529717 -117.50 77.50 312.50 1.13284 -117.50 77.50 317.50 1.93749 -117.50 77.50 322.50 2.79439 -117.50 77.50 327.50 3.61436 -117.50 77.50 332.50 4.06137 -117.50 77.50 337.50 3.92391 -117.50 77.50 342.50 3.22584 -117.50 77.50 347.50 2.14486 -117.50 77.50 352.50 0.979884 -117.50 77.50 357.50 0.401408 -117.50 82.50 2.50 0.116684 -117.50 82.50 7.50 0.0524976 -117.50 82.50 12.50 0.0362753 -117.50 82.50 17.50 0.0540157 -117.50 82.50 22.50 0.118622 -117.50 82.50 27.50 0.269232 -117.50 82.50 32.50 0.600579 -117.50 82.50 37.50 1.2743 -117.50 82.50 42.50 2.31854 -117.50 82.50 47.50 3.4332 -117.50 82.50 52.50 4.28592 -117.50 82.50 57.50 4.68213 -117.50 82.50 62.50 4.57792 -117.50 82.50 67.50 4.00215 -117.50 82.50 72.50 3.02758 -117.50 82.50 77.50 1.86165 -117.50 82.50 82.50 0.980142 -117.50 82.50 87.50 0.341343 -117.50 82.50 92.50 0.116684 -117.50 82.50 97.50 0.0524976 -117.50 82.50 102.50 0.0362752 -117.50 82.50 107.50 0.0540156 -117.50 82.50 112.50 0.118622 -117.50 82.50 117.50 0.269232 -117.50 82.50 122.50 0.600578 -117.50 82.50 127.50 1.2743 -117.50 82.50 132.50 2.31854 -117.50 82.50 137.50 3.4332 -117.50 82.50 142.50 4.28592 -117.50 82.50 147.50 4.68213 -117.50 82.50 152.50 4.57792 -117.50 82.50 157.50 4.00215 -117.50 82.50 162.50 3.02759 -117.50 82.50 167.50 1.86165 -117.50 82.50 172.50 0.980142 -117.50 82.50 177.50 0.341343 -117.50 82.50 182.50 0.116684 -117.50 82.50 187.50 0.0524976 -117.50 82.50 192.50 0.0362752 -117.50 82.50 197.50 0.0540156 -117.50 82.50 202.50 0.118622 -117.50 82.50 207.50 0.269231 -117.50 82.50 212.50 0.600578 -117.50 82.50 217.50 1.2743 -117.50 82.50 222.50 2.31854 -117.50 82.50 227.50 3.4332 -117.50 82.50 232.50 4.28592 -117.50 82.50 237.50 4.68213 -117.50 82.50 242.50 4.57792 -117.50 82.50 247.50 4.00215 -117.50 82.50 252.50 3.02758 -117.50 82.50 257.50 1.86165 -117.50 82.50 262.50 0.980141 -117.50 82.50 267.50 0.341343 -117.50 82.50 272.50 0.116684 -117.50 82.50 277.50 0.0524976 -117.50 82.50 282.50 0.0362753 -117.50 82.50 287.50 0.0540157 -117.50 82.50 292.50 0.118622 -117.50 82.50 297.50 0.269231 -117.50 82.50 302.50 0.600578 -117.50 82.50 307.50 1.2743 -117.50 82.50 312.50 2.31854 -117.50 82.50 317.50 3.4332 -117.50 82.50 322.50 4.28592 -117.50 82.50 327.50 4.68213 -117.50 82.50 332.50 4.57792 -117.50 82.50 337.50 4.00215 -117.50 82.50 342.50 3.02759 -117.50 82.50 347.50 1.86166 -117.50 82.50 352.50 0.980144 -117.50 82.50 357.50 0.341344 -117.50 87.50 2.50 0.0733504 -117.50 87.50 7.50 0.0437786 -117.50 87.50 12.50 0.074184 -117.50 87.50 17.50 0.175026 -117.50 87.50 22.50 0.383313 -117.50 87.50 27.50 0.771999 -117.50 87.50 32.50 1.43339 -117.50 87.50 37.50 2.45668 -117.50 87.50 42.50 3.66805 -117.50 87.50 47.50 4.61084 -117.50 87.50 52.50 4.99921 -117.50 87.50 57.50 4.83952 -117.50 87.50 62.50 4.20612 -117.50 87.50 67.50 3.22083 -117.50 87.50 72.50 2.1196 -117.50 87.50 77.50 1.238 -117.50 87.50 82.50 0.576255 -117.50 87.50 87.50 0.240551 -117.50 87.50 92.50 0.0733504 -117.50 87.50 97.50 0.0437786 -117.50 87.50 102.50 0.0741839 -117.50 87.50 107.50 0.175026 -117.50 87.50 112.50 0.383313 -117.50 87.50 117.50 0.771999 -117.50 87.50 122.50 1.43339 -117.50 87.50 127.50 2.45668 -117.50 87.50 132.50 3.66805 -117.50 87.50 137.50 4.61084 -117.50 87.50 142.50 4.99921 -117.50 87.50 147.50 4.83952 -117.50 87.50 152.50 4.20612 -117.50 87.50 157.50 3.22083 -117.50 87.50 162.50 2.1196 -117.50 87.50 167.50 1.238 -117.50 87.50 172.50 0.576256 -117.50 87.50 177.50 0.240551 -117.50 87.50 182.50 0.0733504 -117.50 87.50 187.50 0.0437786 -117.50 87.50 192.50 0.0741839 -117.50 87.50 197.50 0.175026 -117.50 87.50 202.50 0.383313 -117.50 87.50 207.50 0.771999 -117.50 87.50 212.50 1.43339 -117.50 87.50 217.50 2.45668 -117.50 87.50 222.50 3.66805 -117.50 87.50 227.50 4.61084 -117.50 87.50 232.50 4.99921 -117.50 87.50 237.50 4.83952 -117.50 87.50 242.50 4.20612 -117.50 87.50 247.50 3.22083 -117.50 87.50 252.50 2.1196 -117.50 87.50 257.50 1.238 -117.50 87.50 262.50 0.576254 -117.50 87.50 267.50 0.240551 -117.50 87.50 272.50 0.0733504 -117.50 87.50 277.50 0.0437786 -117.50 87.50 282.50 0.0741839 -117.50 87.50 287.50 0.175026 -117.50 87.50 292.50 0.383313 -117.50 87.50 297.50 0.771999 -117.50 87.50 302.50 1.43339 -117.50 87.50 307.50 2.45668 -117.50 87.50 312.50 3.66805 -117.50 87.50 317.50 4.61084 -117.50 87.50 322.50 4.99921 -117.50 87.50 327.50 4.83952 -117.50 87.50 332.50 4.20612 -117.50 87.50 337.50 3.22084 -117.50 87.50 342.50 2.1196 -117.50 87.50 347.50 1.238 -117.50 87.50 352.50 0.576257 -117.50 87.50 357.50 0.240552 -117.50 92.50 2.50 0.0485219 -117.50 92.50 7.50 0.0874277 -117.50 92.50 12.50 0.221571 -117.50 92.50 17.50 0.514899 -117.50 92.50 22.50 1.04915 -117.50 92.50 27.50 1.82434 -117.50 92.50 32.50 2.76505 -117.50 92.50 37.50 3.78322 -117.50 92.50 42.50 4.66762 -117.50 92.50 47.50 5.03542 -117.50 92.50 52.50 4.66762 -117.50 92.50 57.50 3.78322 -117.50 92.50 62.50 2.76505 -117.50 92.50 67.50 1.82434 -117.50 92.50 72.50 1.04915 -117.50 92.50 77.50 0.514898 -117.50 92.50 82.50 0.221571 -117.50 92.50 87.50 0.0874276 -117.50 92.50 92.50 0.048522 -117.50 92.50 97.50 0.0874277 -117.50 92.50 102.50 0.221571 -117.50 92.50 107.50 0.514899 -117.50 92.50 112.50 1.04915 -117.50 92.50 117.50 1.82434 -117.50 92.50 122.50 2.76505 -117.50 92.50 127.50 3.78322 -117.50 92.50 132.50 4.66762 -117.50 92.50 137.50 5.03542 -117.50 92.50 142.50 4.66762 -117.50 92.50 147.50 3.78322 -117.50 92.50 152.50 2.76505 -117.50 92.50 157.50 1.82434 -117.50 92.50 162.50 1.04915 -117.50 92.50 167.50 0.514899 -117.50 92.50 172.50 0.221571 -117.50 92.50 177.50 0.0874277 -117.50 92.50 182.50 0.048522 -117.50 92.50 187.50 0.0874277 -117.50 92.50 192.50 0.221571 -117.50 92.50 197.50 0.514899 -117.50 92.50 202.50 1.04915 -117.50 92.50 207.50 1.82434 -117.50 92.50 212.50 2.76505 -117.50 92.50 217.50 3.78322 -117.50 92.50 222.50 4.66762 -117.50 92.50 227.50 5.03542 -117.50 92.50 232.50 4.66762 -117.50 92.50 237.50 3.78322 -117.50 92.50 242.50 2.76505 -117.50 92.50 247.50 1.82434 -117.50 92.50 252.50 1.04914 -117.50 92.50 257.50 0.514898 -117.50 92.50 262.50 0.22157 -117.50 92.50 267.50 0.0874275 -117.50 92.50 272.50 0.048522 -117.50 92.50 277.50 0.0874277 -117.50 92.50 282.50 0.221571 -117.50 92.50 287.50 0.514899 -117.50 92.50 292.50 1.04915 -117.50 92.50 297.50 1.82434 -117.50 92.50 302.50 2.76505 -117.50 92.50 307.50 3.78322 -117.50 92.50 312.50 4.66762 -117.50 92.50 317.50 5.03542 -117.50 92.50 322.50 4.66762 -117.50 92.50 327.50 3.78322 -117.50 92.50 332.50 2.76505 -117.50 92.50 337.50 1.82434 -117.50 92.50 342.50 1.04915 -117.50 92.50 347.50 0.5149 -117.50 92.50 352.50 0.221571 -117.50 92.50 357.50 0.0874278 -117.50 97.50 2.50 0.0733505 -117.50 97.50 7.50 0.240551 -117.50 97.50 12.50 0.576256 -117.50 97.50 17.50 1.238 -117.50 97.50 22.50 2.1196 -117.50 97.50 27.50 3.22083 -117.50 97.50 32.50 4.20612 -117.50 97.50 37.50 4.83952 -117.50 97.50 42.50 4.99921 -117.50 97.50 47.50 4.61084 -117.50 97.50 52.50 3.66805 -117.50 97.50 57.50 2.45668 -117.50 97.50 62.50 1.43339 -117.50 97.50 67.50 0.771999 -117.50 97.50 72.50 0.383313 -117.50 97.50 77.50 0.175026 -117.50 97.50 82.50 0.0741839 -117.50 97.50 87.50 0.0437786 -117.50 97.50 92.50 0.0733505 -117.50 97.50 97.50 0.240551 -117.50 97.50 102.50 0.576256 -117.50 97.50 107.50 1.238 -117.50 97.50 112.50 2.1196 -117.50 97.50 117.50 3.22083 -117.50 97.50 122.50 4.20612 -117.50 97.50 127.50 4.83952 -117.50 97.50 132.50 4.99921 -117.50 97.50 137.50 4.61084 -117.50 97.50 142.50 3.66805 -117.50 97.50 147.50 2.45668 -117.50 97.50 152.50 1.43339 -117.50 97.50 157.50 0.772 -117.50 97.50 162.50 0.383313 -117.50 97.50 167.50 0.175026 -117.50 97.50 172.50 0.074184 -117.50 97.50 177.50 0.0437786 -117.50 97.50 182.50 0.0733504 -117.50 97.50 187.50 0.240551 -117.50 97.50 192.50 0.576255 -117.50 97.50 197.50 1.238 -117.50 97.50 202.50 2.1196 -117.50 97.50 207.50 3.22083 -117.50 97.50 212.50 4.20612 -117.50 97.50 217.50 4.83952 -117.50 97.50 222.50 4.99922 -117.50 97.50 227.50 4.61084 -117.50 97.50 232.50 3.66804 -117.50 97.50 237.50 2.45668 -117.50 97.50 242.50 1.43339 -117.50 97.50 247.50 0.771999 -117.50 97.50 252.50 0.383313 -117.50 97.50 257.50 0.175026 -117.50 97.50 262.50 0.0741838 -117.50 97.50 267.50 0.0437786 -117.50 97.50 272.50 0.0733505 -117.50 97.50 277.50 0.240551 -117.50 97.50 282.50 0.576255 -117.50 97.50 287.50 1.238 -117.50 97.50 292.50 2.1196 -117.50 97.50 297.50 3.22083 -117.50 97.50 302.50 4.20612 -117.50 97.50 307.50 4.83952 -117.50 97.50 312.50 4.99921 -117.50 97.50 317.50 4.61084 -117.50 97.50 322.50 3.66805 -117.50 97.50 327.50 2.45668 -117.50 97.50 332.50 1.4334 -117.50 97.50 337.50 0.772 -117.50 97.50 342.50 0.383314 -117.50 97.50 347.50 0.175027 -117.50 97.50 352.50 0.0741841 -117.50 97.50 357.50 0.0437786 -117.50 102.50 2.50 0.116684 -117.50 102.50 7.50 0.341343 -117.50 102.50 12.50 0.980142 -117.50 102.50 17.50 1.86165 -117.50 102.50 22.50 3.02759 -117.50 102.50 27.50 4.00215 -117.50 102.50 32.50 4.57792 -117.50 102.50 37.50 4.68213 -117.50 102.50 42.50 4.28592 -117.50 102.50 47.50 3.4332 -117.50 102.50 52.50 2.31854 -117.50 102.50 57.50 1.2743 -117.50 102.50 62.50 0.600578 -117.50 102.50 67.50 0.269231 -117.50 102.50 72.50 0.118622 -117.50 102.50 77.50 0.0540157 -117.50 102.50 82.50 0.0362752 -117.50 102.50 87.50 0.0524976 -117.50 102.50 92.50 0.116684 -117.50 102.50 97.50 0.341343 -117.50 102.50 102.50 0.980142 -117.50 102.50 107.50 1.86165 -117.50 102.50 112.50 3.02759 -117.50 102.50 117.50 4.00215 -117.50 102.50 122.50 4.57792 -117.50 102.50 127.50 4.68213 -117.50 102.50 132.50 4.28592 -117.50 102.50 137.50 3.4332 -117.50 102.50 142.50 2.31854 -117.50 102.50 147.50 1.2743 -117.50 102.50 152.50 0.600579 -117.50 102.50 157.50 0.269232 -117.50 102.50 162.50 0.118622 -117.50 102.50 167.50 0.0540158 -117.50 102.50 172.50 0.0362752 -117.50 102.50 177.50 0.0524976 -117.50 102.50 182.50 0.116684 -117.50 102.50 187.50 0.341343 -117.50 102.50 192.50 0.980142 -117.50 102.50 197.50 1.86165 -117.50 102.50 202.50 3.02759 -117.50 102.50 207.50 4.00215 -117.50 102.50 212.50 4.57792 -117.50 102.50 217.50 4.68213 -117.50 102.50 222.50 4.28592 -117.50 102.50 227.50 3.4332 -117.50 102.50 232.50 2.31854 -117.50 102.50 237.50 1.2743 -117.50 102.50 242.50 0.600577 -117.50 102.50 247.50 0.269231 -117.50 102.50 252.50 0.118622 -117.50 102.50 257.50 0.0540157 -117.50 102.50 262.50 0.0362753 -117.50 102.50 267.50 0.0524977 -117.50 102.50 272.50 0.116684 -117.50 102.50 277.50 0.341343 -117.50 102.50 282.50 0.980142 -117.50 102.50 287.50 1.86165 -117.50 102.50 292.50 3.02759 -117.50 102.50 297.50 4.00215 -117.50 102.50 302.50 4.57792 -117.50 102.50 307.50 4.68213 -117.50 102.50 312.50 4.28592 -117.50 102.50 317.50 3.4332 -117.50 102.50 322.50 2.31854 -117.50 102.50 327.50 1.2743 -117.50 102.50 332.50 0.600579 -117.50 102.50 337.50 0.269232 -117.50 102.50 342.50 0.118622 -117.50 102.50 347.50 0.0540158 -117.50 102.50 352.50 0.0362752 -117.50 102.50 357.50 0.0524975 -117.50 107.50 2.50 0.129911 -117.50 107.50 7.50 0.401407 -117.50 107.50 12.50 0.979882 -117.50 107.50 17.50 2.14485 -117.50 107.50 22.50 3.22584 -117.50 107.50 27.50 3.92391 -117.50 107.50 32.50 4.06137 -117.50 107.50 37.50 3.61436 -117.50 107.50 42.50 2.79439 -117.50 107.50 47.50 1.93749 -117.50 107.50 52.50 1.13284 -117.50 107.50 57.50 0.529718 -117.50 107.50 62.50 0.202158 -117.50 107.50 67.50 0.0747901 -117.50 107.50 72.50 0.0323424 -117.50 107.50 77.50 0.0271833 -117.50 107.50 82.50 0.0247857 -117.50 107.50 87.50 0.0644308 -117.50 107.50 92.50 0.129911 -117.50 107.50 97.50 0.401407 -117.50 107.50 102.50 0.979882 -117.50 107.50 107.50 2.14485 -117.50 107.50 112.50 3.22584 -117.50 107.50 117.50 3.92391 -117.50 107.50 122.50 4.06137 -117.50 107.50 127.50 3.61436 -117.50 107.50 132.50 2.79439 -117.50 107.50 137.50 1.93749 -117.50 107.50 142.50 1.13284 -117.50 107.50 147.50 0.529718 -117.50 107.50 152.50 0.202159 -117.50 107.50 157.50 0.0747902 -117.50 107.50 162.50 0.0323425 -117.50 107.50 167.50 0.0271833 -117.50 107.50 172.50 0.0247857 -117.50 107.50 177.50 0.0644308 -117.50 107.50 182.50 0.129911 -117.50 107.50 187.50 0.401407 -117.50 107.50 192.50 0.979882 -117.50 107.50 197.50 2.14485 -117.50 107.50 202.50 3.22584 -117.50 107.50 207.50 3.92391 -117.50 107.50 212.50 4.06137 -117.50 107.50 217.50 3.61436 -117.50 107.50 222.50 2.79439 -117.50 107.50 227.50 1.93749 -117.50 107.50 232.50 1.13284 -117.50 107.50 237.50 0.529717 -117.50 107.50 242.50 0.202158 -117.50 107.50 247.50 0.0747901 -117.50 107.50 252.50 0.0323424 -117.50 107.50 257.50 0.0271833 -117.50 107.50 262.50 0.0247857 -117.50 107.50 267.50 0.0644309 -117.50 107.50 272.50 0.129911 -117.50 107.50 277.50 0.401407 -117.50 107.50 282.50 0.979881 -117.50 107.50 287.50 2.14485 -117.50 107.50 292.50 3.22584 -117.50 107.50 297.50 3.92391 -117.50 107.50 302.50 4.06137 -117.50 107.50 307.50 3.61436 -117.50 107.50 312.50 2.79439 -117.50 107.50 317.50 1.93749 -117.50 107.50 322.50 1.13285 -117.50 107.50 327.50 0.529719 -117.50 107.50 332.50 0.202159 -117.50 107.50 337.50 0.0747903 -117.50 107.50 342.50 0.0323425 -117.50 107.50 347.50 0.0271833 -117.50 107.50 352.50 0.0247857 -117.50 107.50 357.50 0.0644306 -117.50 112.50 2.50 0.121879 -117.50 112.50 7.50 0.363239 -117.50 112.50 12.50 0.884302 -117.50 112.50 17.50 1.77937 -117.50 112.50 22.50 2.6212 -117.50 112.50 27.50 3.06923 -117.50 112.50 32.50 2.86468 -117.50 112.50 37.50 2.26691 -117.50 112.50 42.50 1.58648 -117.50 112.50 47.50 0.922023 -117.50 112.50 52.50 0.459733 -117.50 112.50 57.50 0.177831 -117.50 112.50 62.50 0.0576381 -117.50 112.50 67.50 0.0188465 -117.50 112.50 72.50 0.0137829 -117.50 112.50 77.50 0.0109335 -117.50 112.50 82.50 0.018079 -117.50 112.50 87.50 0.050492 -117.50 112.50 92.50 0.121879 -117.50 112.50 97.50 0.363239 -117.50 112.50 102.50 0.884303 -117.50 112.50 107.50 1.77937 -117.50 112.50 112.50 2.6212 -117.50 112.50 117.50 3.06923 -117.50 112.50 122.50 2.86469 -117.50 112.50 127.50 2.26692 -117.50 112.50 132.50 1.58648 -117.50 112.50 137.50 0.922023 -117.50 112.50 142.50 0.459733 -117.50 112.50 147.50 0.177832 -117.50 112.50 152.50 0.0576383 -117.50 112.50 157.50 0.0188465 -117.50 112.50 162.50 0.0137829 -117.50 112.50 167.50 0.0109335 -117.50 112.50 172.50 0.018079 -117.50 112.50 177.50 0.0504919 -117.50 112.50 182.50 0.121879 -117.50 112.50 187.50 0.363239 -117.50 112.50 192.50 0.884303 -117.50 112.50 197.50 1.77937 -117.50 112.50 202.50 2.6212 -117.50 112.50 207.50 3.06924 -117.50 112.50 212.50 2.86469 -117.50 112.50 217.50 2.26692 -117.50 112.50 222.50 1.58649 -117.50 112.50 227.50 0.922024 -117.50 112.50 232.50 0.459733 -117.50 112.50 237.50 0.177831 -117.50 112.50 242.50 0.0576381 -117.50 112.50 247.50 0.0188465 -117.50 112.50 252.50 0.0137829 -117.50 112.50 257.50 0.0109335 -117.50 112.50 262.50 0.0180791 -117.50 112.50 267.50 0.050492 -117.50 112.50 272.50 0.121879 -117.50 112.50 277.50 0.363239 -117.50 112.50 282.50 0.884302 -117.50 112.50 287.50 1.77937 -117.50 112.50 292.50 2.6212 -117.50 112.50 297.50 3.06923 -117.50 112.50 302.50 2.86468 -117.50 112.50 307.50 2.26692 -117.50 112.50 312.50 1.58649 -117.50 112.50 317.50 0.922024 -117.50 112.50 322.50 0.459734 -117.50 112.50 327.50 0.177832 -117.50 112.50 332.50 0.0576384 -117.50 112.50 337.50 0.0188466 -117.50 112.50 342.50 0.0137829 -117.50 112.50 347.50 0.0109335 -117.50 112.50 352.50 0.018079 -117.50 112.50 357.50 0.0504919 -117.50 117.50 2.50 0.128577 -117.50 117.50 7.50 0.337514 -117.50 117.50 12.50 0.699142 -117.50 117.50 17.50 1.24085 -117.50 117.50 22.50 1.66328 -117.50 117.50 27.50 1.69152 -117.50 117.50 32.50 1.48429 -117.50 117.50 37.50 1.06691 -117.50 117.50 42.50 0.669424 -117.50 117.50 47.50 0.373141 -117.50 117.50 52.50 0.164345 -117.50 117.50 57.50 0.0578932 -117.50 117.50 62.50 0.0175433 -117.50 117.50 67.50 0.00787526 -117.50 117.50 72.50 0.0054586 -117.50 117.50 77.50 0.00578838 -117.50 117.50 82.50 0.0117613 -117.50 117.50 87.50 0.0394434 -117.50 117.50 92.50 0.128577 -117.50 117.50 97.50 0.337515 -117.50 117.50 102.50 0.699143 -117.50 117.50 107.50 1.24085 -117.50 117.50 112.50 1.66328 -117.50 117.50 117.50 1.69153 -117.50 117.50 122.50 1.48429 -117.50 117.50 127.50 1.06691 -117.50 117.50 132.50 0.669424 -117.50 117.50 137.50 0.373141 -117.50 117.50 142.50 0.164345 -117.50 117.50 147.50 0.0578932 -117.50 117.50 152.50 0.0175434 -117.50 117.50 157.50 0.00787527 -117.50 117.50 162.50 0.0054586 -117.50 117.50 167.50 0.00578839 -117.50 117.50 172.50 0.0117613 -117.50 117.50 177.50 0.0394433 -117.50 117.50 182.50 0.128577 -117.50 117.50 187.50 0.337514 -117.50 117.50 192.50 0.699143 -117.50 117.50 197.50 1.24085 -117.50 117.50 202.50 1.66328 -117.50 117.50 207.50 1.69153 -117.50 117.50 212.50 1.48429 -117.50 117.50 217.50 1.06691 -117.50 117.50 222.50 0.669424 -117.50 117.50 227.50 0.373142 -117.50 117.50 232.50 0.164345 -117.50 117.50 237.50 0.0578931 -117.50 117.50 242.50 0.0175434 -117.50 117.50 247.50 0.00787526 -117.50 117.50 252.50 0.0054586 -117.50 117.50 257.50 0.00578838 -117.50 117.50 262.50 0.0117613 -117.50 117.50 267.50 0.0394434 -117.50 117.50 272.50 0.128577 -117.50 117.50 277.50 0.337514 -117.50 117.50 282.50 0.699142 -117.50 117.50 287.50 1.24085 -117.50 117.50 292.50 1.66328 -117.50 117.50 297.50 1.69153 -117.50 117.50 302.50 1.48429 -117.50 117.50 307.50 1.06691 -117.50 117.50 312.50 0.669424 -117.50 117.50 317.50 0.373142 -117.50 117.50 322.50 0.164346 -117.50 117.50 327.50 0.0578934 -117.50 117.50 332.50 0.0175434 -117.50 117.50 337.50 0.00787528 -117.50 117.50 342.50 0.0054586 -117.50 117.50 347.50 0.00578838 -117.50 117.50 352.50 0.0117613 -117.50 117.50 357.50 0.0394432 -117.50 122.50 2.50 0.130738 -117.50 122.50 7.50 0.296509 -117.50 122.50 12.50 0.483704 -117.50 122.50 17.50 0.714307 -117.50 122.50 22.50 0.841432 -117.50 122.50 27.50 0.733899 -117.50 122.50 32.50 0.534544 -117.50 122.50 37.50 0.352876 -117.50 122.50 42.50 0.199839 -117.50 122.50 47.50 0.108222 -117.50 122.50 52.50 0.0611989 -117.50 122.50 57.50 0.0444239 -117.50 122.50 62.50 0.0330205 -117.50 122.50 67.50 0.0241578 -117.50 122.50 72.50 0.0214522 -117.50 122.50 77.50 0.0186962 -117.50 122.50 82.50 0.0172489 -117.50 122.50 87.50 0.039468 -117.50 122.50 92.50 0.130739 -117.50 122.50 97.50 0.296509 -117.50 122.50 102.50 0.483705 -117.50 122.50 107.50 0.714308 -117.50 122.50 112.50 0.841433 -117.50 122.50 117.50 0.733899 -117.50 122.50 122.50 0.534545 -117.50 122.50 127.50 0.352876 -117.50 122.50 132.50 0.199839 -117.50 122.50 137.50 0.108222 -117.50 122.50 142.50 0.0611988 -117.50 122.50 147.50 0.0444239 -117.50 122.50 152.50 0.0330205 -117.50 122.50 157.50 0.0241578 -117.50 122.50 162.50 0.0214522 -117.50 122.50 167.50 0.0186962 -117.50 122.50 172.50 0.0172488 -117.50 122.50 177.50 0.0394679 -117.50 122.50 182.50 0.130738 -117.50 122.50 187.50 0.296509 -117.50 122.50 192.50 0.483705 -117.50 122.50 197.50 0.714308 -117.50 122.50 202.50 0.841433 -117.50 122.50 207.50 0.733899 -117.50 122.50 212.50 0.534545 -117.50 122.50 217.50 0.352876 -117.50 122.50 222.50 0.199839 -117.50 122.50 227.50 0.108222 -117.50 122.50 232.50 0.0611988 -117.50 122.50 237.50 0.0444239 -117.50 122.50 242.50 0.0330205 -117.50 122.50 247.50 0.0241578 -117.50 122.50 252.50 0.0214522 -117.50 122.50 257.50 0.0186962 -117.50 122.50 262.50 0.0172488 -117.50 122.50 267.50 0.039468 -117.50 122.50 272.50 0.130738 -117.50 122.50 277.50 0.296509 -117.50 122.50 282.50 0.483704 -117.50 122.50 287.50 0.714307 -117.50 122.50 292.50 0.841433 -117.50 122.50 297.50 0.733899 -117.50 122.50 302.50 0.534544 -117.50 122.50 307.50 0.352876 -117.50 122.50 312.50 0.199839 -117.50 122.50 317.50 0.108223 -117.50 122.50 322.50 0.0611989 -117.50 122.50 327.50 0.044424 -117.50 122.50 332.50 0.0330205 -117.50 122.50 337.50 0.0241578 -117.50 122.50 342.50 0.0214522 -117.50 122.50 347.50 0.0186962 -117.50 122.50 352.50 0.0172488 -117.50 122.50 357.50 0.0394679 -117.50 127.50 2.50 0.0974755 -117.50 127.50 7.50 0.195513 -117.50 127.50 12.50 0.287253 -117.50 127.50 17.50 0.340989 -117.50 127.50 22.50 0.331034 -117.50 127.50 27.50 0.25129 -117.50 127.50 32.50 0.155417 -117.50 127.50 37.50 0.0772948 -117.50 127.50 42.50 0.0461287 -117.50 127.50 47.50 0.0555732 -117.50 127.50 52.50 0.0802771 -117.50 127.50 57.50 0.120496 -117.50 127.50 62.50 0.134909 -117.50 127.50 67.50 0.126798 -117.50 127.50 72.50 0.102508 -117.50 127.50 77.50 0.0659188 -117.50 127.50 82.50 0.0293443 -117.50 127.50 87.50 0.0399964 -117.50 127.50 92.50 0.0974756 -117.50 127.50 97.50 0.195513 -117.50 127.50 102.50 0.287254 -117.50 127.50 107.50 0.34099 -117.50 127.50 112.50 0.331034 -117.50 127.50 117.50 0.25129 -117.50 127.50 122.50 0.155417 -117.50 127.50 127.50 0.0772948 -117.50 127.50 132.50 0.0461287 -117.50 127.50 137.50 0.0555732 -117.50 127.50 142.50 0.080277 -117.50 127.50 147.50 0.120496 -117.50 127.50 152.50 0.134909 -117.50 127.50 157.50 0.126798 -117.50 127.50 162.50 0.102507 -117.50 127.50 167.50 0.0659188 -117.50 127.50 172.50 0.0293443 -117.50 127.50 177.50 0.0399963 -117.50 127.50 182.50 0.0974755 -117.50 127.50 187.50 0.195513 -117.50 127.50 192.50 0.287254 -117.50 127.50 197.50 0.34099 -117.50 127.50 202.50 0.331034 -117.50 127.50 207.50 0.25129 -117.50 127.50 212.50 0.155417 -117.50 127.50 217.50 0.0772948 -117.50 127.50 222.50 0.0461287 -117.50 127.50 227.50 0.0555731 -117.50 127.50 232.50 0.0802771 -117.50 127.50 237.50 0.120496 -117.50 127.50 242.50 0.134909 -117.50 127.50 247.50 0.126798 -117.50 127.50 252.50 0.102507 -117.50 127.50 257.50 0.0659187 -117.50 127.50 262.50 0.0293443 -117.50 127.50 267.50 0.0399964 -117.50 127.50 272.50 0.0974755 -117.50 127.50 277.50 0.195513 -117.50 127.50 282.50 0.287254 -117.50 127.50 287.50 0.34099 -117.50 127.50 292.50 0.331034 -117.50 127.50 297.50 0.25129 -117.50 127.50 302.50 0.155417 -117.50 127.50 307.50 0.0772949 -117.50 127.50 312.50 0.0461287 -117.50 127.50 317.50 0.0555731 -117.50 127.50 322.50 0.080277 -117.50 127.50 327.50 0.120496 -117.50 127.50 332.50 0.134909 -117.50 127.50 337.50 0.126798 -117.50 127.50 342.50 0.102508 -117.50 127.50 347.50 0.0659189 -117.50 127.50 352.50 0.0293443 -117.50 127.50 357.50 0.0399963 -117.50 132.50 2.50 0.0543458 -117.50 132.50 7.50 0.088759 -117.50 132.50 12.50 0.130605 -117.50 132.50 17.50 0.136006 -117.50 132.50 22.50 0.0983815 -117.50 132.50 27.50 0.0656052 -117.50 132.50 32.50 0.0377448 -117.50 132.50 37.50 0.0280947 -117.50 132.50 42.50 0.0537106 -117.50 132.50 47.50 0.137816 -117.50 132.50 52.50 0.283554 -117.50 132.50 57.50 0.45162 -117.50 132.50 62.50 0.562987 -117.50 132.50 67.50 0.525444 -117.50 132.50 72.50 0.341572 -117.50 132.50 77.50 0.154203 -117.50 132.50 82.50 0.0728264 -117.50 132.50 87.50 0.0469195 -117.50 132.50 92.50 0.0543458 -117.50 132.50 97.50 0.0887591 -117.50 132.50 102.50 0.130606 -117.50 132.50 107.50 0.136006 -117.50 132.50 112.50 0.0983816 -117.50 132.50 117.50 0.0656053 -117.50 132.50 122.50 0.0377448 -117.50 132.50 127.50 0.0280946 -117.50 132.50 132.50 0.0537106 -117.50 132.50 137.50 0.137815 -117.50 132.50 142.50 0.283554 -117.50 132.50 147.50 0.45162 -117.50 132.50 152.50 0.562987 -117.50 132.50 157.50 0.525445 -117.50 132.50 162.50 0.341572 -117.50 132.50 167.50 0.154203 -117.50 132.50 172.50 0.0728265 -117.50 132.50 177.50 0.0469195 -117.50 132.50 182.50 0.0543459 -117.50 132.50 187.50 0.0887591 -117.50 132.50 192.50 0.130606 -117.50 132.50 197.50 0.136007 -117.50 132.50 202.50 0.0983816 -117.50 132.50 207.50 0.0656053 -117.50 132.50 212.50 0.0377448 -117.50 132.50 217.50 0.0280947 -117.50 132.50 222.50 0.0537106 -117.50 132.50 227.50 0.137815 -117.50 132.50 232.50 0.283554 -117.50 132.50 237.50 0.45162 -117.50 132.50 242.50 0.562986 -117.50 132.50 247.50 0.525445 -117.50 132.50 252.50 0.341572 -117.50 132.50 257.50 0.154202 -117.50 132.50 262.50 0.0728264 -117.50 132.50 267.50 0.0469194 -117.50 132.50 272.50 0.0543458 -117.50 132.50 277.50 0.088759 -117.50 132.50 282.50 0.130606 -117.50 132.50 287.50 0.136006 -117.50 132.50 292.50 0.0983816 -117.50 132.50 297.50 0.0656053 -117.50 132.50 302.50 0.0377448 -117.50 132.50 307.50 0.0280947 -117.50 132.50 312.50 0.0537106 -117.50 132.50 317.50 0.137815 -117.50 132.50 322.50 0.283554 -117.50 132.50 327.50 0.45162 -117.50 132.50 332.50 0.562986 -117.50 132.50 337.50 0.525445 -117.50 132.50 342.50 0.341572 -117.50 132.50 347.50 0.154203 -117.50 132.50 352.50 0.0728265 -117.50 132.50 357.50 0.0469195 -117.50 137.50 2.50 0.0370179 -117.50 137.50 7.50 0.0308333 -117.50 137.50 12.50 0.043062 -117.50 137.50 17.50 0.0436275 -117.50 137.50 22.50 0.0300108 -117.50 137.50 27.50 0.0271068 -117.50 137.50 32.50 0.0369965 -117.50 137.50 37.50 0.0803483 -117.50 137.50 42.50 0.179249 -117.50 137.50 47.50 0.498102 -117.50 137.50 52.50 0.922785 -117.50 137.50 57.50 1.43932 -117.50 137.50 62.50 1.66793 -117.50 137.50 67.50 1.41441 -117.50 137.50 72.50 0.818625 -117.50 137.50 77.50 0.381167 -117.50 137.50 82.50 0.17609 -117.50 137.50 87.50 0.0778326 -117.50 137.50 92.50 0.0370179 -117.50 137.50 97.50 0.0308334 -117.50 137.50 102.50 0.0430621 -117.50 137.50 107.50 0.0436275 -117.50 137.50 112.50 0.0300108 -117.50 137.50 117.50 0.0271068 -117.50 137.50 122.50 0.0369965 -117.50 137.50 127.50 0.0803484 -117.50 137.50 132.50 0.179249 -117.50 137.50 137.50 0.498101 -117.50 137.50 142.50 0.922784 -117.50 137.50 147.50 1.43932 -117.50 137.50 152.50 1.66793 -117.50 137.50 157.50 1.41442 -117.50 137.50 162.50 0.818626 -117.50 137.50 167.50 0.381167 -117.50 137.50 172.50 0.17609 -117.50 137.50 177.50 0.0778327 -117.50 137.50 182.50 0.0370179 -117.50 137.50 187.50 0.0308334 -117.50 137.50 192.50 0.0430621 -117.50 137.50 197.50 0.0436275 -117.50 137.50 202.50 0.0300108 -117.50 137.50 207.50 0.0271068 -117.50 137.50 212.50 0.0369965 -117.50 137.50 217.50 0.0803483 -117.50 137.50 222.50 0.179249 -117.50 137.50 227.50 0.498101 -117.50 137.50 232.50 0.922785 -117.50 137.50 237.50 1.43932 -117.50 137.50 242.50 1.66793 -117.50 137.50 247.50 1.41441 -117.50 137.50 252.50 0.818624 -117.50 137.50 257.50 0.381166 -117.50 137.50 262.50 0.17609 -117.50 137.50 267.50 0.0778325 -117.50 137.50 272.50 0.0370179 -117.50 137.50 277.50 0.0308334 -117.50 137.50 282.50 0.043062 -117.50 137.50 287.50 0.0436275 -117.50 137.50 292.50 0.0300108 -117.50 137.50 297.50 0.0271068 -117.50 137.50 302.50 0.0369965 -117.50 137.50 307.50 0.0803483 -117.50 137.50 312.50 0.179249 -117.50 137.50 317.50 0.4981 -117.50 137.50 322.50 0.922783 -117.50 137.50 327.50 1.43932 -117.50 137.50 332.50 1.66793 -117.50 137.50 337.50 1.41442 -117.50 137.50 342.50 0.818626 -117.50 137.50 347.50 0.381167 -117.50 137.50 352.50 0.17609 -117.50 137.50 357.50 0.0778328 -117.50 142.50 2.50 0.0543458 -117.50 142.50 7.50 0.019399 -117.50 142.50 12.50 0.0181523 -117.50 142.50 17.50 0.0201029 -117.50 142.50 22.50 0.0296289 -117.50 142.50 27.50 0.0704415 -117.50 142.50 32.50 0.134339 -117.50 142.50 37.50 0.236098 -117.50 142.50 42.50 0.517222 -117.50 142.50 47.50 1.17993 -117.50 142.50 52.50 2.24846 -117.50 142.50 57.50 3.13446 -117.50 142.50 62.50 3.37986 -117.50 142.50 67.50 2.69837 -117.50 142.50 72.50 1.62574 -117.50 142.50 77.50 0.790616 -117.50 142.50 82.50 0.369483 -117.50 142.50 87.50 0.156544 -117.50 142.50 92.50 0.0543458 -117.50 142.50 97.50 0.019399 -117.50 142.50 102.50 0.0181523 -117.50 142.50 107.50 0.0201029 -117.50 142.50 112.50 0.0296289 -117.50 142.50 117.50 0.0704415 -117.50 142.50 122.50 0.134339 -117.50 142.50 127.50 0.236099 -117.50 142.50 132.50 0.517222 -117.50 142.50 137.50 1.17993 -117.50 142.50 142.50 2.24846 -117.50 142.50 147.50 3.13446 -117.50 142.50 152.50 3.37986 -117.50 142.50 157.50 2.69838 -117.50 142.50 162.50 1.62574 -117.50 142.50 167.50 0.790616 -117.50 142.50 172.50 0.369483 -117.50 142.50 177.50 0.156544 -117.50 142.50 182.50 0.0543458 -117.50 142.50 187.50 0.019399 -117.50 142.50 192.50 0.0181523 -117.50 142.50 197.50 0.0201028 -117.50 142.50 202.50 0.0296289 -117.50 142.50 207.50 0.0704414 -117.50 142.50 212.50 0.134339 -117.50 142.50 217.50 0.236099 -117.50 142.50 222.50 0.517222 -117.50 142.50 227.50 1.17993 -117.50 142.50 232.50 2.24846 -117.50 142.50 237.50 3.13446 -117.50 142.50 242.50 3.37986 -117.50 142.50 247.50 2.69838 -117.50 142.50 252.50 1.62574 -117.50 142.50 257.50 0.790615 -117.50 142.50 262.50 0.369483 -117.50 142.50 267.50 0.156544 -117.50 142.50 272.50 0.0543458 -117.50 142.50 277.50 0.019399 -117.50 142.50 282.50 0.0181523 -117.50 142.50 287.50 0.0201028 -117.50 142.50 292.50 0.0296289 -117.50 142.50 297.50 0.0704415 -117.50 142.50 302.50 0.134339 -117.50 142.50 307.50 0.236098 -117.50 142.50 312.50 0.517222 -117.50 142.50 317.50 1.17993 -117.50 142.50 322.50 2.24846 -117.50 142.50 327.50 3.13446 -117.50 142.50 332.50 3.37986 -117.50 142.50 337.50 2.69838 -117.50 142.50 342.50 1.62575 -117.50 142.50 347.50 0.790618 -117.50 142.50 352.50 0.369484 -117.50 142.50 357.50 0.156545 -117.50 147.50 2.50 0.0974755 -117.50 147.50 7.50 0.0319728 -117.50 147.50 12.50 0.0299629 -117.50 147.50 17.50 0.0437712 -117.50 147.50 22.50 0.0857297 -117.50 147.50 27.50 0.195092 -117.50 147.50 32.50 0.34409 -117.50 147.50 37.50 0.537988 -117.50 147.50 42.50 1.01343 -117.50 147.50 47.50 2.06342 -117.50 147.50 52.50 3.52062 -117.50 147.50 57.50 4.69045 -117.50 147.50 62.50 4.88877 -117.50 147.50 67.50 4.03039 -117.50 147.50 72.50 2.55428 -117.50 147.50 77.50 1.28793 -117.50 147.50 82.50 0.628633 -117.50 147.50 87.50 0.270603 -117.50 147.50 92.50 0.0974755 -117.50 147.50 97.50 0.0319728 -117.50 147.50 102.50 0.0299629 -117.50 147.50 107.50 0.0437712 -117.50 147.50 112.50 0.0857297 -117.50 147.50 117.50 0.195092 -117.50 147.50 122.50 0.34409 -117.50 147.50 127.50 0.537988 -117.50 147.50 132.50 1.01343 -117.50 147.50 137.50 2.06341 -117.50 147.50 142.50 3.52062 -117.50 147.50 147.50 4.69045 -117.50 147.50 152.50 4.88877 -117.50 147.50 157.50 4.03039 -117.50 147.50 162.50 2.55428 -117.50 147.50 167.50 1.28793 -117.50 147.50 172.50 0.628633 -117.50 147.50 177.50 0.270603 -117.50 147.50 182.50 0.0974754 -117.50 147.50 187.50 0.0319728 -117.50 147.50 192.50 0.0299629 -117.50 147.50 197.50 0.0437711 -117.50 147.50 202.50 0.0857296 -117.50 147.50 207.50 0.195092 -117.50 147.50 212.50 0.34409 -117.50 147.50 217.50 0.537988 -117.50 147.50 222.50 1.01343 -117.50 147.50 227.50 2.06341 -117.50 147.50 232.50 3.52062 -117.50 147.50 237.50 4.69045 -117.50 147.50 242.50 4.88877 -117.50 147.50 247.50 4.03039 -117.50 147.50 252.50 2.55428 -117.50 147.50 257.50 1.28792 -117.50 147.50 262.50 0.628633 -117.50 147.50 267.50 0.270603 -117.50 147.50 272.50 0.0974755 -117.50 147.50 277.50 0.0319728 -117.50 147.50 282.50 0.0299629 -117.50 147.50 287.50 0.0437712 -117.50 147.50 292.50 0.0857296 -117.50 147.50 297.50 0.195092 -117.50 147.50 302.50 0.34409 -117.50 147.50 307.50 0.537987 -117.50 147.50 312.50 1.01343 -117.50 147.50 317.50 2.06341 -117.50 147.50 322.50 3.52062 -117.50 147.50 327.50 4.69045 -117.50 147.50 332.50 4.88877 -117.50 147.50 337.50 4.03039 -117.50 147.50 342.50 2.55428 -117.50 147.50 347.50 1.28793 -117.50 147.50 352.50 0.628634 -117.50 147.50 357.50 0.270604 -117.50 152.50 2.50 0.130738 -117.50 152.50 7.50 0.0489067 -117.50 152.50 12.50 0.058589 -117.50 152.50 17.50 0.10686 -117.50 152.50 22.50 0.223069 -117.50 152.50 27.50 0.4312 -117.50 152.50 32.50 0.652042 -117.50 152.50 37.50 0.916916 -117.50 152.50 42.50 1.46925 -117.50 152.50 47.50 2.59076 -117.50 152.50 52.50 4.05435 -117.50 152.50 57.50 5.20738 -117.50 152.50 62.50 5.41446 -117.50 152.50 67.50 4.62745 -117.50 152.50 72.50 2.96885 -117.50 152.50 77.50 1.56571 -117.50 152.50 82.50 0.76965 -117.50 152.50 87.50 0.32911 -117.50 152.50 92.50 0.130738 -117.50 152.50 97.50 0.0489066 -117.50 152.50 102.50 0.058589 -117.50 152.50 107.50 0.10686 -117.50 152.50 112.50 0.223069 -117.50 152.50 117.50 0.4312 -117.50 152.50 122.50 0.652042 -117.50 152.50 127.50 0.916916 -117.50 152.50 132.50 1.46926 -117.50 152.50 137.50 2.59076 -117.50 152.50 142.50 4.05435 -117.50 152.50 147.50 5.20738 -117.50 152.50 152.50 5.41446 -117.50 152.50 157.50 4.62745 -117.50 152.50 162.50 2.96885 -117.50 152.50 167.50 1.56571 -117.50 152.50 172.50 0.76965 -117.50 152.50 177.50 0.32911 -117.50 152.50 182.50 0.130738 -117.50 152.50 187.50 0.0489067 -117.50 152.50 192.50 0.0585889 -117.50 152.50 197.50 0.10686 -117.50 152.50 202.50 0.223069 -117.50 152.50 207.50 0.431199 -117.50 152.50 212.50 0.652041 -117.50 152.50 217.50 0.916916 -117.50 152.50 222.50 1.46925 -117.50 152.50 227.50 2.59076 -117.50 152.50 232.50 4.05435 -117.50 152.50 237.50 5.20738 -117.50 152.50 242.50 5.41446 -117.50 152.50 247.50 4.62745 -117.50 152.50 252.50 2.96885 -117.50 152.50 257.50 1.56571 -117.50 152.50 262.50 0.769649 -117.50 152.50 267.50 0.329109 -117.50 152.50 272.50 0.130738 -117.50 152.50 277.50 0.0489067 -117.50 152.50 282.50 0.058589 -117.50 152.50 287.50 0.10686 -117.50 152.50 292.50 0.223069 -117.50 152.50 297.50 0.431199 -117.50 152.50 302.50 0.652041 -117.50 152.50 307.50 0.916916 -117.50 152.50 312.50 1.46925 -117.50 152.50 317.50 2.59076 -117.50 152.50 322.50 4.05435 -117.50 152.50 327.50 5.20738 -117.50 152.50 332.50 5.41446 -117.50 152.50 337.50 4.62745 -117.50 152.50 342.50 2.96885 -117.50 152.50 347.50 1.56572 -117.50 152.50 352.50 0.769652 -117.50 152.50 357.50 0.32911 -117.50 157.50 2.50 0.128577 -117.50 157.50 7.50 0.0675547 -117.50 157.50 12.50 0.106507 -117.50 157.50 17.50 0.224623 -117.50 157.50 22.50 0.446233 -117.50 157.50 27.50 0.749986 -117.50 157.50 32.50 1.00217 -117.50 157.50 37.50 1.18875 -117.50 157.50 42.50 1.6458 -117.50 157.50 47.50 2.48565 -117.50 157.50 52.50 3.52102 -117.50 157.50 57.50 4.39416 -117.50 157.50 62.50 4.61171 -117.50 157.50 67.50 3.82994 -117.50 157.50 72.50 2.53544 -117.50 157.50 77.50 1.38614 -117.50 157.50 82.50 0.682243 -117.50 157.50 87.50 0.287223 -117.50 157.50 92.50 0.128577 -117.50 157.50 97.50 0.0675547 -117.50 157.50 102.50 0.106507 -117.50 157.50 107.50 0.224623 -117.50 157.50 112.50 0.446232 -117.50 157.50 117.50 0.749986 -117.50 157.50 122.50 1.00217 -117.50 157.50 127.50 1.18875 -117.50 157.50 132.50 1.6458 -117.50 157.50 137.50 2.48565 -117.50 157.50 142.50 3.52102 -117.50 157.50 147.50 4.39416 -117.50 157.50 152.50 4.61171 -117.50 157.50 157.50 3.82994 -117.50 157.50 162.50 2.53544 -117.50 157.50 167.50 1.38614 -117.50 157.50 172.50 0.682243 -117.50 157.50 177.50 0.287223 -117.50 157.50 182.50 0.128577 -117.50 157.50 187.50 0.0675546 -117.50 157.50 192.50 0.106507 -117.50 157.50 197.50 0.224623 -117.50 157.50 202.50 0.446232 -117.50 157.50 207.50 0.749986 -117.50 157.50 212.50 1.00217 -117.50 157.50 217.50 1.18875 -117.50 157.50 222.50 1.6458 -117.50 157.50 227.50 2.48565 -117.50 157.50 232.50 3.52102 -117.50 157.50 237.50 4.39416 -117.50 157.50 242.50 4.61171 -117.50 157.50 247.50 3.82994 -117.50 157.50 252.50 2.53544 -117.50 157.50 257.50 1.38614 -117.50 157.50 262.50 0.682242 -117.50 157.50 267.50 0.287223 -117.50 157.50 272.50 0.128577 -117.50 157.50 277.50 0.0675547 -117.50 157.50 282.50 0.106507 -117.50 157.50 287.50 0.224623 -117.50 157.50 292.50 0.446232 -117.50 157.50 297.50 0.749985 -117.50 157.50 302.50 1.00217 -117.50 157.50 307.50 1.18875 -117.50 157.50 312.50 1.6458 -117.50 157.50 317.50 2.48565 -117.50 157.50 322.50 3.52102 -117.50 157.50 327.50 4.39416 -117.50 157.50 332.50 4.61171 -117.50 157.50 337.50 3.82994 -117.50 157.50 342.50 2.53545 -117.50 157.50 347.50 1.38614 -117.50 157.50 352.50 0.682244 -117.50 157.50 357.50 0.287223 -117.50 162.50 2.50 0.121879 -117.50 162.50 7.50 0.0992847 -117.50 162.50 12.50 0.182233 -117.50 162.50 17.50 0.378147 -117.50 162.50 22.50 0.685389 -117.50 162.50 27.50 1.01411 -117.50 162.50 32.50 1.19946 -117.50 162.50 37.50 1.23227 -117.50 162.50 42.50 1.37022 -117.50 162.50 47.50 1.79592 -117.50 162.50 52.50 2.4109 -117.50 162.50 57.50 2.82827 -117.50 162.50 62.50 2.8114 -117.50 162.50 67.50 2.36793 -117.50 162.50 72.50 1.63749 -117.50 162.50 77.50 0.97331 -117.50 162.50 82.50 0.500431 -117.50 162.50 87.50 0.23099 -117.50 162.50 92.50 0.121879 -117.50 162.50 97.50 0.0992847 -117.50 162.50 102.50 0.182233 -117.50 162.50 107.50 0.378147 -117.50 162.50 112.50 0.685389 -117.50 162.50 117.50 1.01411 -117.50 162.50 122.50 1.19946 -117.50 162.50 127.50 1.23227 -117.50 162.50 132.50 1.37023 -117.50 162.50 137.50 1.79592 -117.50 162.50 142.50 2.4109 -117.50 162.50 147.50 2.82827 -117.50 162.50 152.50 2.8114 -117.50 162.50 157.50 2.36793 -117.50 162.50 162.50 1.63749 -117.50 162.50 167.50 0.97331 -117.50 162.50 172.50 0.500431 -117.50 162.50 177.50 0.23099 -117.50 162.50 182.50 0.121879 -117.50 162.50 187.50 0.0992847 -117.50 162.50 192.50 0.182233 -117.50 162.50 197.50 0.378146 -117.50 162.50 202.50 0.685389 -117.50 162.50 207.50 1.01411 -117.50 162.50 212.50 1.19946 -117.50 162.50 217.50 1.23227 -117.50 162.50 222.50 1.37022 -117.50 162.50 227.50 1.79592 -117.50 162.50 232.50 2.4109 -117.50 162.50 237.50 2.82827 -117.50 162.50 242.50 2.8114 -117.50 162.50 247.50 2.36793 -117.50 162.50 252.50 1.63749 -117.50 162.50 257.50 0.97331 -117.50 162.50 262.50 0.500431 -117.50 162.50 267.50 0.23099 -117.50 162.50 272.50 0.121879 -117.50 162.50 277.50 0.0992847 -117.50 162.50 282.50 0.182232 -117.50 162.50 287.50 0.378146 -117.50 162.50 292.50 0.685388 -117.50 162.50 297.50 1.01411 -117.50 162.50 302.50 1.19946 -117.50 162.50 307.50 1.23227 -117.50 162.50 312.50 1.37022 -117.50 162.50 317.50 1.79592 -117.50 162.50 322.50 2.4109 -117.50 162.50 327.50 2.82827 -117.50 162.50 332.50 2.8114 -117.50 162.50 337.50 2.36793 -117.50 162.50 342.50 1.63749 -117.50 162.50 347.50 0.973311 -117.50 162.50 352.50 0.500432 -117.50 162.50 357.50 0.23099 -117.50 167.50 2.50 0.129911 -117.50 167.50 7.50 0.131489 -117.50 167.50 12.50 0.241637 -117.50 167.50 17.50 0.481757 -117.50 167.50 22.50 0.813541 -117.50 167.50 27.50 1.10479 -117.50 167.50 32.50 1.1614 -117.50 167.50 37.50 0.997996 -117.50 167.50 42.50 0.893712 -117.50 167.50 47.50 1.00305 -117.50 167.50 52.50 1.21537 -117.50 167.50 57.50 1.36656 -117.50 167.50 62.50 1.38887 -117.50 167.50 67.50 1.19798 -117.50 167.50 72.50 0.896729 -117.50 167.50 77.50 0.606151 -117.50 167.50 82.50 0.35581 -117.50 167.50 87.50 0.211095 -117.50 167.50 92.50 0.129911 -117.50 167.50 97.50 0.131489 -117.50 167.50 102.50 0.241637 -117.50 167.50 107.50 0.481758 -117.50 167.50 112.50 0.813542 -117.50 167.50 117.50 1.10479 -117.50 167.50 122.50 1.1614 -117.50 167.50 127.50 0.997996 -117.50 167.50 132.50 0.893713 -117.50 167.50 137.50 1.00305 -117.50 167.50 142.50 1.21537 -117.50 167.50 147.50 1.36656 -117.50 167.50 152.50 1.38887 -117.50 167.50 157.50 1.19799 -117.50 167.50 162.50 0.89673 -117.50 167.50 167.50 0.606152 -117.50 167.50 172.50 0.35581 -117.50 167.50 177.50 0.211095 -117.50 167.50 182.50 0.129911 -117.50 167.50 187.50 0.131489 -117.50 167.50 192.50 0.241637 -117.50 167.50 197.50 0.481757 -117.50 167.50 202.50 0.813541 -117.50 167.50 207.50 1.10479 -117.50 167.50 212.50 1.1614 -117.50 167.50 217.50 0.997996 -117.50 167.50 222.50 0.893712 -117.50 167.50 227.50 1.00305 -117.50 167.50 232.50 1.21537 -117.50 167.50 237.50 1.36656 -117.50 167.50 242.50 1.38887 -117.50 167.50 247.50 1.19798 -117.50 167.50 252.50 0.896729 -117.50 167.50 257.50 0.606151 -117.50 167.50 262.50 0.35581 -117.50 167.50 267.50 0.211095 -117.50 167.50 272.50 0.129911 -117.50 167.50 277.50 0.131489 -117.50 167.50 282.50 0.241636 -117.50 167.50 287.50 0.481757 -117.50 167.50 292.50 0.813541 -117.50 167.50 297.50 1.10479 -117.50 167.50 302.50 1.1614 -117.50 167.50 307.50 0.997996 -117.50 167.50 312.50 0.893712 -117.50 167.50 317.50 1.00305 -117.50 167.50 322.50 1.21537 -117.50 167.50 327.50 1.36655 -117.50 167.50 332.50 1.38887 -117.50 167.50 337.50 1.19799 -117.50 167.50 342.50 0.89673 -117.50 167.50 347.50 0.606151 -117.50 167.50 352.50 0.355811 -117.50 167.50 357.50 0.211096 -117.50 172.50 2.50 0.116684 -117.50 172.50 7.50 0.125415 -117.50 172.50 12.50 0.233425 -117.50 172.50 17.50 0.462915 -117.50 172.50 22.50 0.793623 -117.50 172.50 27.50 1.01746 -117.50 172.50 32.50 0.943961 -117.50 172.50 37.50 0.667121 -117.50 172.50 42.50 0.446941 -117.50 172.50 47.50 0.402325 -117.50 172.50 52.50 0.46921 -117.50 172.50 57.50 0.545911 -117.50 172.50 62.50 0.563691 -117.50 172.50 67.50 0.509967 -117.50 172.50 72.50 0.418482 -117.50 172.50 77.50 0.325522 -117.50 172.50 82.50 0.251316 -117.50 172.50 87.50 0.171945 -117.50 172.50 92.50 0.116684 -117.50 172.50 97.50 0.125414 -117.50 172.50 102.50 0.233426 -117.50 172.50 107.50 0.462915 -117.50 172.50 112.50 0.793623 -117.50 172.50 117.50 1.01746 -117.50 172.50 122.50 0.94396 -117.50 172.50 127.50 0.667121 -117.50 172.50 132.50 0.446941 -117.50 172.50 137.50 0.402325 -117.50 172.50 142.50 0.46921 -117.50 172.50 147.50 0.545911 -117.50 172.50 152.50 0.563691 -117.50 172.50 157.50 0.509967 -117.50 172.50 162.50 0.418482 -117.50 172.50 167.50 0.325522 -117.50 172.50 172.50 0.251316 -117.50 172.50 177.50 0.171945 -117.50 172.50 182.50 0.116684 -117.50 172.50 187.50 0.125414 -117.50 172.50 192.50 0.233425 -117.50 172.50 197.50 0.462915 -117.50 172.50 202.50 0.793623 -117.50 172.50 207.50 1.01746 -117.50 172.50 212.50 0.943961 -117.50 172.50 217.50 0.667122 -117.50 172.50 222.50 0.446941 -117.50 172.50 227.50 0.402325 -117.50 172.50 232.50 0.46921 -117.50 172.50 237.50 0.545911 -117.50 172.50 242.50 0.563691 -117.50 172.50 247.50 0.509967 -117.50 172.50 252.50 0.418482 -117.50 172.50 257.50 0.325522 -117.50 172.50 262.50 0.251316 -117.50 172.50 267.50 0.171945 -117.50 172.50 272.50 0.116684 -117.50 172.50 277.50 0.125414 -117.50 172.50 282.50 0.233425 -117.50 172.50 287.50 0.462914 -117.50 172.50 292.50 0.793623 -117.50 172.50 297.50 1.01746 -117.50 172.50 302.50 0.943961 -117.50 172.50 307.50 0.667122 -117.50 172.50 312.50 0.446941 -117.50 172.50 317.50 0.402325 -117.50 172.50 322.50 0.46921 -117.50 172.50 327.50 0.545911 -117.50 172.50 332.50 0.563691 -117.50 172.50 337.50 0.509967 -117.50 172.50 342.50 0.418483 -117.50 172.50 347.50 0.325522 -117.50 172.50 352.50 0.251316 -117.50 172.50 357.50 0.171945 -117.50 177.50 2.50 0.0733505 -117.50 177.50 7.50 0.0849768 -117.50 177.50 12.50 0.175312 -117.50 177.50 17.50 0.397489 -117.50 177.50 22.50 0.711142 -117.50 177.50 27.50 0.873768 -117.50 177.50 32.50 0.710742 -117.50 177.50 37.50 0.413166 -117.50 177.50 42.50 0.202284 -117.50 177.50 47.50 0.130436 -117.50 177.50 52.50 0.134926 -117.50 177.50 57.50 0.158344 -117.50 177.50 62.50 0.17362 -117.50 177.50 67.50 0.176032 -117.50 177.50 72.50 0.165474 -117.50 177.50 77.50 0.153603 -117.50 177.50 82.50 0.131719 -117.50 177.50 87.50 0.0984699 -117.50 177.50 92.50 0.0733505 -117.50 177.50 97.50 0.0849768 -117.50 177.50 102.50 0.175312 -117.50 177.50 107.50 0.397489 -117.50 177.50 112.50 0.711142 -117.50 177.50 117.50 0.873768 -117.50 177.50 122.50 0.710742 -117.50 177.50 127.50 0.413166 -117.50 177.50 132.50 0.202284 -117.50 177.50 137.50 0.130437 -117.50 177.50 142.50 0.134926 -117.50 177.50 147.50 0.158344 -117.50 177.50 152.50 0.17362 -117.50 177.50 157.50 0.176032 -117.50 177.50 162.50 0.165474 -117.50 177.50 167.50 0.153603 -117.50 177.50 172.50 0.131719 -117.50 177.50 177.50 0.0984699 -117.50 177.50 182.50 0.0733505 -117.50 177.50 187.50 0.0849768 -117.50 177.50 192.50 0.175312 -117.50 177.50 197.50 0.397489 -117.50 177.50 202.50 0.711142 -117.50 177.50 207.50 0.873767 -117.50 177.50 212.50 0.710742 -117.50 177.50 217.50 0.413167 -117.50 177.50 222.50 0.202284 -117.50 177.50 227.50 0.130437 -117.50 177.50 232.50 0.134926 -117.50 177.50 237.50 0.158344 -117.50 177.50 242.50 0.17362 -117.50 177.50 247.50 0.176032 -117.50 177.50 252.50 0.165474 -117.50 177.50 257.50 0.153603 -117.50 177.50 262.50 0.131719 -117.50 177.50 267.50 0.0984698 -117.50 177.50 272.50 0.0733505 -117.50 177.50 277.50 0.0849767 -117.50 177.50 282.50 0.175312 -117.50 177.50 287.50 0.397488 -117.50 177.50 292.50 0.711142 -117.50 177.50 297.50 0.873767 -117.50 177.50 302.50 0.710743 -117.50 177.50 307.50 0.413167 -117.50 177.50 312.50 0.202284 -117.50 177.50 317.50 0.130437 -117.50 177.50 322.50 0.134926 -117.50 177.50 327.50 0.158344 -117.50 177.50 332.50 0.17362 -117.50 177.50 337.50 0.176032 -117.50 177.50 342.50 0.165474 -117.50 177.50 347.50 0.153603 -117.50 177.50 352.50 0.131719 -117.50 177.50 357.50 0.09847 -122.50 2.50 2.50 0.0601603 -122.50 2.50 7.50 0.0760386 -122.50 2.50 12.50 0.083846 -122.50 2.50 17.50 0.084539 -122.50 2.50 22.50 0.083846 -122.50 2.50 27.50 0.0760385 -122.50 2.50 32.50 0.0601603 -122.50 2.50 37.50 0.0485219 -122.50 2.50 42.50 0.0624686 -122.50 2.50 47.50 0.149977 -122.50 2.50 52.50 0.393273 -122.50 2.50 57.50 0.773179 -122.50 2.50 62.50 0.980476 -122.50 2.50 67.50 0.773178 -122.50 2.50 72.50 0.393272 -122.50 2.50 77.50 0.149977 -122.50 2.50 82.50 0.0624685 -122.50 2.50 87.50 0.0485219 -122.50 2.50 92.50 0.0601603 -122.50 2.50 97.50 0.0760386 -122.50 2.50 102.50 0.083846 -122.50 2.50 107.50 0.084539 -122.50 2.50 112.50 0.083846 -122.50 2.50 117.50 0.0760385 -122.50 2.50 122.50 0.0601603 -122.50 2.50 127.50 0.0485219 -122.50 2.50 132.50 0.0624686 -122.50 2.50 137.50 0.149977 -122.50 2.50 142.50 0.393273 -122.50 2.50 147.50 0.773179 -122.50 2.50 152.50 0.980476 -122.50 2.50 157.50 0.773178 -122.50 2.50 162.50 0.393272 -122.50 2.50 167.50 0.149977 -122.50 2.50 172.50 0.0624686 -122.50 2.50 177.50 0.0485219 -122.50 2.50 182.50 0.0601604 -122.50 2.50 187.50 0.0760386 -122.50 2.50 192.50 0.083846 -122.50 2.50 197.50 0.084539 -122.50 2.50 202.50 0.083846 -122.50 2.50 207.50 0.0760385 -122.50 2.50 212.50 0.0601603 -122.50 2.50 217.50 0.0485219 -122.50 2.50 222.50 0.0624686 -122.50 2.50 227.50 0.149977 -122.50 2.50 232.50 0.393273 -122.50 2.50 237.50 0.773179 -122.50 2.50 242.50 0.980476 -122.50 2.50 247.50 0.773178 -122.50 2.50 252.50 0.393272 -122.50 2.50 257.50 0.149977 -122.50 2.50 262.50 0.0624685 -122.50 2.50 267.50 0.0485219 -122.50 2.50 272.50 0.0601603 -122.50 2.50 277.50 0.0760386 -122.50 2.50 282.50 0.083846 -122.50 2.50 287.50 0.084539 -122.50 2.50 292.50 0.083846 -122.50 2.50 297.50 0.0760385 -122.50 2.50 302.50 0.0601603 -122.50 2.50 307.50 0.0485219 -122.50 2.50 312.50 0.0624685 -122.50 2.50 317.50 0.149977 -122.50 2.50 322.50 0.393272 -122.50 2.50 327.50 0.773178 -122.50 2.50 332.50 0.980476 -122.50 2.50 337.50 0.773179 -122.50 2.50 342.50 0.393273 -122.50 2.50 347.50 0.149977 -122.50 2.50 352.50 0.0624686 -122.50 2.50 357.50 0.0485219 -122.50 7.50 2.50 0.0922625 -122.50 7.50 7.50 0.123951 -122.50 7.50 12.50 0.143131 -122.50 7.50 17.50 0.152129 -122.50 7.50 22.50 0.163986 -122.50 7.50 27.50 0.166803 -122.50 7.50 32.50 0.1496 -122.50 7.50 37.50 0.129557 -122.50 7.50 42.50 0.12957 -122.50 7.50 47.50 0.206719 -122.50 7.50 52.50 0.421354 -122.50 7.50 57.50 0.721803 -122.50 7.50 62.50 0.868014 -122.50 7.50 67.50 0.719928 -122.50 7.50 72.50 0.414425 -122.50 7.50 77.50 0.186094 -122.50 7.50 82.50 0.0859378 -122.50 7.50 87.50 0.0690466 -122.50 7.50 92.50 0.0922626 -122.50 7.50 97.50 0.123951 -122.50 7.50 102.50 0.143131 -122.50 7.50 107.50 0.152129 -122.50 7.50 112.50 0.163986 -122.50 7.50 117.50 0.166803 -122.50 7.50 122.50 0.1496 -122.50 7.50 127.50 0.129557 -122.50 7.50 132.50 0.12957 -122.50 7.50 137.50 0.206718 -122.50 7.50 142.50 0.421354 -122.50 7.50 147.50 0.721803 -122.50 7.50 152.50 0.868014 -122.50 7.50 157.50 0.719928 -122.50 7.50 162.50 0.414426 -122.50 7.50 167.50 0.186094 -122.50 7.50 172.50 0.0859379 -122.50 7.50 177.50 0.0690466 -122.50 7.50 182.50 0.0922626 -122.50 7.50 187.50 0.123951 -122.50 7.50 192.50 0.143131 -122.50 7.50 197.50 0.152129 -122.50 7.50 202.50 0.163986 -122.50 7.50 207.50 0.166803 -122.50 7.50 212.50 0.1496 -122.50 7.50 217.50 0.129557 -122.50 7.50 222.50 0.12957 -122.50 7.50 227.50 0.206718 -122.50 7.50 232.50 0.421354 -122.50 7.50 237.50 0.721804 -122.50 7.50 242.50 0.868014 -122.50 7.50 247.50 0.719927 -122.50 7.50 252.50 0.414425 -122.50 7.50 257.50 0.186093 -122.50 7.50 262.50 0.0859378 -122.50 7.50 267.50 0.0690466 -122.50 7.50 272.50 0.0922625 -122.50 7.50 277.50 0.123951 -122.50 7.50 282.50 0.143131 -122.50 7.50 287.50 0.152129 -122.50 7.50 292.50 0.163986 -122.50 7.50 297.50 0.166803 -122.50 7.50 302.50 0.1496 -122.50 7.50 307.50 0.129557 -122.50 7.50 312.50 0.12957 -122.50 7.50 317.50 0.206718 -122.50 7.50 322.50 0.421353 -122.50 7.50 327.50 0.721803 -122.50 7.50 332.50 0.868014 -122.50 7.50 337.50 0.719928 -122.50 7.50 342.50 0.414426 -122.50 7.50 347.50 0.186094 -122.50 7.50 352.50 0.0859379 -122.50 7.50 357.50 0.0690466 -122.50 12.50 2.50 0.149325 -122.50 12.50 7.50 0.223786 -122.50 12.50 12.50 0.287298 -122.50 12.50 17.50 0.345455 -122.50 12.50 22.50 0.444353 -122.50 12.50 27.50 0.519333 -122.50 12.50 32.50 0.524381 -122.50 12.50 37.50 0.468542 -122.50 12.50 42.50 0.40312 -122.50 12.50 47.50 0.456225 -122.50 12.50 52.50 0.691594 -122.50 12.50 57.50 0.978158 -122.50 12.50 62.50 1.0596 -122.50 12.50 67.50 0.847579 -122.50 12.50 72.50 0.518342 -122.50 12.50 77.50 0.25839 -122.50 12.50 82.50 0.125281 -122.50 12.50 87.50 0.100886 -122.50 12.50 92.50 0.149325 -122.50 12.50 97.50 0.223786 -122.50 12.50 102.50 0.287298 -122.50 12.50 107.50 0.345455 -122.50 12.50 112.50 0.444353 -122.50 12.50 117.50 0.519333 -122.50 12.50 122.50 0.524381 -122.50 12.50 127.50 0.468541 -122.50 12.50 132.50 0.40312 -122.50 12.50 137.50 0.456225 -122.50 12.50 142.50 0.691594 -122.50 12.50 147.50 0.978158 -122.50 12.50 152.50 1.0596 -122.50 12.50 157.50 0.84758 -122.50 12.50 162.50 0.518342 -122.50 12.50 167.50 0.25839 -122.50 12.50 172.50 0.125281 -122.50 12.50 177.50 0.100886 -122.50 12.50 182.50 0.149325 -122.50 12.50 187.50 0.223786 -122.50 12.50 192.50 0.287298 -122.50 12.50 197.50 0.345455 -122.50 12.50 202.50 0.444353 -122.50 12.50 207.50 0.519333 -122.50 12.50 212.50 0.524381 -122.50 12.50 217.50 0.468542 -122.50 12.50 222.50 0.40312 -122.50 12.50 227.50 0.456224 -122.50 12.50 232.50 0.691595 -122.50 12.50 237.50 0.978158 -122.50 12.50 242.50 1.0596 -122.50 12.50 247.50 0.847579 -122.50 12.50 252.50 0.518341 -122.50 12.50 257.50 0.258389 -122.50 12.50 262.50 0.125281 -122.50 12.50 267.50 0.100886 -122.50 12.50 272.50 0.149325 -122.50 12.50 277.50 0.223786 -122.50 12.50 282.50 0.287298 -122.50 12.50 287.50 0.345456 -122.50 12.50 292.50 0.444353 -122.50 12.50 297.50 0.519333 -122.50 12.50 302.50 0.524381 -122.50 12.50 307.50 0.468542 -122.50 12.50 312.50 0.40312 -122.50 12.50 317.50 0.456224 -122.50 12.50 322.50 0.691593 -122.50 12.50 327.50 0.978158 -122.50 12.50 332.50 1.0596 -122.50 12.50 337.50 0.84758 -122.50 12.50 342.50 0.518343 -122.50 12.50 347.50 0.25839 -122.50 12.50 352.50 0.125281 -122.50 12.50 357.50 0.100886 -122.50 17.50 2.50 0.171122 -122.50 17.50 7.50 0.297934 -122.50 17.50 12.50 0.466813 -122.50 17.50 17.50 0.744515 -122.50 17.50 22.50 1.06471 -122.50 17.50 27.50 1.3114 -122.50 17.50 32.50 1.35825 -122.50 17.50 37.50 1.22026 -122.50 17.50 42.50 1.04756 -122.50 17.50 47.50 0.962608 -122.50 17.50 52.50 1.07277 -122.50 17.50 57.50 1.23553 -122.50 17.50 62.50 1.17985 -122.50 17.50 67.50 0.884235 -122.50 17.50 72.50 0.552134 -122.50 17.50 77.50 0.287368 -122.50 17.50 82.50 0.129418 -122.50 17.50 87.50 0.102338 -122.50 17.50 92.50 0.171122 -122.50 17.50 97.50 0.297934 -122.50 17.50 102.50 0.466813 -122.50 17.50 107.50 0.744515 -122.50 17.50 112.50 1.06471 -122.50 17.50 117.50 1.3114 -122.50 17.50 122.50 1.35825 -122.50 17.50 127.50 1.22026 -122.50 17.50 132.50 1.04756 -122.50 17.50 137.50 0.962608 -122.50 17.50 142.50 1.07277 -122.50 17.50 147.50 1.23553 -122.50 17.50 152.50 1.17985 -122.50 17.50 157.50 0.884236 -122.50 17.50 162.50 0.552135 -122.50 17.50 167.50 0.287369 -122.50 17.50 172.50 0.129418 -122.50 17.50 177.50 0.102338 -122.50 17.50 182.50 0.171122 -122.50 17.50 187.50 0.297934 -122.50 17.50 192.50 0.466813 -122.50 17.50 197.50 0.744515 -122.50 17.50 202.50 1.06471 -122.50 17.50 207.50 1.3114 -122.50 17.50 212.50 1.35825 -122.50 17.50 217.50 1.22026 -122.50 17.50 222.50 1.04756 -122.50 17.50 227.50 0.962608 -122.50 17.50 232.50 1.07277 -122.50 17.50 237.50 1.23553 -122.50 17.50 242.50 1.17985 -122.50 17.50 247.50 0.884235 -122.50 17.50 252.50 0.552134 -122.50 17.50 257.50 0.287368 -122.50 17.50 262.50 0.129417 -122.50 17.50 267.50 0.102338 -122.50 17.50 272.50 0.171122 -122.50 17.50 277.50 0.297934 -122.50 17.50 282.50 0.466813 -122.50 17.50 287.50 0.744515 -122.50 17.50 292.50 1.06471 -122.50 17.50 297.50 1.3114 -122.50 17.50 302.50 1.35825 -122.50 17.50 307.50 1.22026 -122.50 17.50 312.50 1.04756 -122.50 17.50 317.50 0.962608 -122.50 17.50 322.50 1.07277 -122.50 17.50 327.50 1.23553 -122.50 17.50 332.50 1.17985 -122.50 17.50 337.50 0.884237 -122.50 17.50 342.50 0.552135 -122.50 17.50 347.50 0.287369 -122.50 17.50 352.50 0.129418 -122.50 17.50 357.50 0.102338 -122.50 22.50 2.50 0.169877 -122.50 22.50 7.50 0.362129 -122.50 22.50 12.50 0.758532 -122.50 22.50 17.50 1.39346 -122.50 22.50 22.50 2.15474 -122.50 22.50 27.50 2.71146 -122.50 22.50 32.50 2.8001 -122.50 22.50 37.50 2.51249 -122.50 22.50 42.50 2.01872 -122.50 22.50 47.50 1.5729 -122.50 22.50 52.50 1.38735 -122.50 22.50 57.50 1.31728 -122.50 22.50 62.50 1.0931 -122.50 22.50 67.50 0.745254 -122.50 22.50 72.50 0.438268 -122.50 22.50 77.50 0.217768 -122.50 22.50 82.50 0.0957019 -122.50 22.50 87.50 0.0797989 -122.50 22.50 92.50 0.169877 -122.50 22.50 97.50 0.362129 -122.50 22.50 102.50 0.758533 -122.50 22.50 107.50 1.39346 -122.50 22.50 112.50 2.15474 -122.50 22.50 117.50 2.71146 -122.50 22.50 122.50 2.8001 -122.50 22.50 127.50 2.51249 -122.50 22.50 132.50 2.01872 -122.50 22.50 137.50 1.5729 -122.50 22.50 142.50 1.38735 -122.50 22.50 147.50 1.31728 -122.50 22.50 152.50 1.0931 -122.50 22.50 157.50 0.745255 -122.50 22.50 162.50 0.438268 -122.50 22.50 167.50 0.217768 -122.50 22.50 172.50 0.0957019 -122.50 22.50 177.50 0.0797989 -122.50 22.50 182.50 0.169877 -122.50 22.50 187.50 0.362129 -122.50 22.50 192.50 0.758532 -122.50 22.50 197.50 1.39346 -122.50 22.50 202.50 2.15474 -122.50 22.50 207.50 2.71146 -122.50 22.50 212.50 2.8001 -122.50 22.50 217.50 2.51249 -122.50 22.50 222.50 2.01872 -122.50 22.50 227.50 1.5729 -122.50 22.50 232.50 1.38735 -122.50 22.50 237.50 1.31728 -122.50 22.50 242.50 1.0931 -122.50 22.50 247.50 0.745254 -122.50 22.50 252.50 0.438268 -122.50 22.50 257.50 0.217768 -122.50 22.50 262.50 0.0957018 -122.50 22.50 267.50 0.079799 -122.50 22.50 272.50 0.169877 -122.50 22.50 277.50 0.362129 -122.50 22.50 282.50 0.758532 -122.50 22.50 287.50 1.39346 -122.50 22.50 292.50 2.15474 -122.50 22.50 297.50 2.71146 -122.50 22.50 302.50 2.8001 -122.50 22.50 307.50 2.51249 -122.50 22.50 312.50 2.01872 -122.50 22.50 317.50 1.5729 -122.50 22.50 322.50 1.38735 -122.50 22.50 327.50 1.31728 -122.50 22.50 332.50 1.0931 -122.50 22.50 337.50 0.745255 -122.50 22.50 342.50 0.438269 -122.50 22.50 347.50 0.217769 -122.50 22.50 352.50 0.0957021 -122.50 22.50 357.50 0.0797988 -122.50 27.50 2.50 0.190179 -122.50 27.50 7.50 0.465381 -122.50 27.50 12.50 1.1038 -122.50 27.50 17.50 2.17989 -122.50 27.50 22.50 3.51984 -122.50 27.50 27.50 4.5022 -122.50 27.50 32.50 4.63534 -122.50 27.50 37.50 3.81855 -122.50 27.50 42.50 2.80798 -122.50 27.50 47.50 2.00969 -122.50 27.50 52.50 1.43678 -122.50 27.50 57.50 1.12126 -122.50 27.50 62.50 0.838582 -122.50 27.50 67.50 0.491737 -122.50 27.50 72.50 0.252155 -122.50 27.50 77.50 0.115685 -122.50 27.50 82.50 0.0549512 -122.50 27.50 87.50 0.0640671 -122.50 27.50 92.50 0.190179 -122.50 27.50 97.50 0.465381 -122.50 27.50 102.50 1.1038 -122.50 27.50 107.50 2.17989 -122.50 27.50 112.50 3.51984 -122.50 27.50 117.50 4.50219 -122.50 27.50 122.50 4.63534 -122.50 27.50 127.50 3.81855 -122.50 27.50 132.50 2.80798 -122.50 27.50 137.50 2.0097 -122.50 27.50 142.50 1.43678 -122.50 27.50 147.50 1.12126 -122.50 27.50 152.50 0.838582 -122.50 27.50 157.50 0.491737 -122.50 27.50 162.50 0.252156 -122.50 27.50 167.50 0.115685 -122.50 27.50 172.50 0.0549513 -122.50 27.50 177.50 0.064067 -122.50 27.50 182.50 0.190179 -122.50 27.50 187.50 0.465381 -122.50 27.50 192.50 1.1038 -122.50 27.50 197.50 2.17989 -122.50 27.50 202.50 3.51984 -122.50 27.50 207.50 4.50219 -122.50 27.50 212.50 4.63534 -122.50 27.50 217.50 3.81855 -122.50 27.50 222.50 2.80798 -122.50 27.50 227.50 2.0097 -122.50 27.50 232.50 1.43677 -122.50 27.50 237.50 1.12126 -122.50 27.50 242.50 0.838581 -122.50 27.50 247.50 0.491737 -122.50 27.50 252.50 0.252155 -122.50 27.50 257.50 0.115685 -122.50 27.50 262.50 0.0549512 -122.50 27.50 267.50 0.0640672 -122.50 27.50 272.50 0.190179 -122.50 27.50 277.50 0.465381 -122.50 27.50 282.50 1.1038 -122.50 27.50 287.50 2.17989 -122.50 27.50 292.50 3.51984 -122.50 27.50 297.50 4.50219 -122.50 27.50 302.50 4.63534 -122.50 27.50 307.50 3.81855 -122.50 27.50 312.50 2.80798 -122.50 27.50 317.50 2.0097 -122.50 27.50 322.50 1.43678 -122.50 27.50 327.50 1.12126 -122.50 27.50 332.50 0.838583 -122.50 27.50 337.50 0.491738 -122.50 27.50 342.50 0.252156 -122.50 27.50 347.50 0.115685 -122.50 27.50 352.50 0.0549513 -122.50 27.50 357.50 0.0640668 -122.50 32.50 2.50 0.203044 -122.50 32.50 7.50 0.530742 -122.50 32.50 12.50 1.27208 -122.50 32.50 17.50 2.60783 -122.50 32.50 22.50 4.3323 -122.50 32.50 27.50 5.59052 -122.50 32.50 32.50 5.51831 -122.50 32.50 37.50 4.53233 -122.50 32.50 42.50 3.1106 -122.50 32.50 47.50 1.88573 -122.50 32.50 52.50 1.1305 -122.50 32.50 57.50 0.763452 -122.50 32.50 62.50 0.489222 -122.50 32.50 67.50 0.255476 -122.50 32.50 72.50 0.112016 -122.50 32.50 77.50 0.0493548 -122.50 32.50 82.50 0.0313745 -122.50 32.50 87.50 0.055626 -122.50 32.50 92.50 0.203044 -122.50 32.50 97.50 0.530742 -122.50 32.50 102.50 1.27208 -122.50 32.50 107.50 2.60783 -122.50 32.50 112.50 4.3323 -122.50 32.50 117.50 5.59052 -122.50 32.50 122.50 5.5183 -122.50 32.50 127.50 4.53233 -122.50 32.50 132.50 3.1106 -122.50 32.50 137.50 1.88573 -122.50 32.50 142.50 1.1305 -122.50 32.50 147.50 0.763453 -122.50 32.50 152.50 0.489223 -122.50 32.50 157.50 0.255476 -122.50 32.50 162.50 0.112016 -122.50 32.50 167.50 0.0493548 -122.50 32.50 172.50 0.0313745 -122.50 32.50 177.50 0.055626 -122.50 32.50 182.50 0.203044 -122.50 32.50 187.50 0.530743 -122.50 32.50 192.50 1.27208 -122.50 32.50 197.50 2.60783 -122.50 32.50 202.50 4.3323 -122.50 32.50 207.50 5.59052 -122.50 32.50 212.50 5.5183 -122.50 32.50 217.50 4.53233 -122.50 32.50 222.50 3.1106 -122.50 32.50 227.50 1.88573 -122.50 32.50 232.50 1.13049 -122.50 32.50 237.50 0.763453 -122.50 32.50 242.50 0.489222 -122.50 32.50 247.50 0.255476 -122.50 32.50 252.50 0.112016 -122.50 32.50 257.50 0.0493547 -122.50 32.50 262.50 0.0313745 -122.50 32.50 267.50 0.0556262 -122.50 32.50 272.50 0.203044 -122.50 32.50 277.50 0.530742 -122.50 32.50 282.50 1.27208 -122.50 32.50 287.50 2.60783 -122.50 32.50 292.50 4.3323 -122.50 32.50 297.50 5.59052 -122.50 32.50 302.50 5.5183 -122.50 32.50 307.50 4.53233 -122.50 32.50 312.50 3.1106 -122.50 32.50 317.50 1.88573 -122.50 32.50 322.50 1.1305 -122.50 32.50 327.50 0.763453 -122.50 32.50 332.50 0.489223 -122.50 32.50 337.50 0.255476 -122.50 32.50 342.50 0.112017 -122.50 32.50 347.50 0.0493549 -122.50 32.50 352.50 0.0313745 -122.50 32.50 357.50 0.0556258 -122.50 37.50 2.50 0.166468 -122.50 37.50 7.50 0.461633 -122.50 37.50 12.50 1.0963 -122.50 37.50 17.50 2.28255 -122.50 37.50 22.50 3.92672 -122.50 37.50 27.50 5.08545 -122.50 37.50 32.50 5.13611 -122.50 37.50 37.50 4.15245 -122.50 37.50 42.50 2.64226 -122.50 37.50 47.50 1.38142 -122.50 37.50 52.50 0.695002 -122.50 37.50 57.50 0.397978 -122.50 37.50 62.50 0.232747 -122.50 37.50 67.50 0.106889 -122.50 37.50 72.50 0.0424253 -122.50 37.50 77.50 0.0215696 -122.50 37.50 82.50 0.0177901 -122.50 37.50 87.50 0.0437723 -122.50 37.50 92.50 0.166468 -122.50 37.50 97.50 0.461634 -122.50 37.50 102.50 1.0963 -122.50 37.50 107.50 2.28254 -122.50 37.50 112.50 3.92672 -122.50 37.50 117.50 5.08545 -122.50 37.50 122.50 5.13611 -122.50 37.50 127.50 4.15245 -122.50 37.50 132.50 2.64226 -122.50 37.50 137.50 1.38142 -122.50 37.50 142.50 0.695002 -122.50 37.50 147.50 0.397978 -122.50 37.50 152.50 0.232747 -122.50 37.50 157.50 0.106889 -122.50 37.50 162.50 0.0424254 -122.50 37.50 167.50 0.0215696 -122.50 37.50 172.50 0.0177901 -122.50 37.50 177.50 0.0437723 -122.50 37.50 182.50 0.166468 -122.50 37.50 187.50 0.461634 -122.50 37.50 192.50 1.0963 -122.50 37.50 197.50 2.28255 -122.50 37.50 202.50 3.92672 -122.50 37.50 207.50 5.08545 -122.50 37.50 212.50 5.13611 -122.50 37.50 217.50 4.15245 -122.50 37.50 222.50 2.64226 -122.50 37.50 227.50 1.38142 -122.50 37.50 232.50 0.695001 -122.50 37.50 237.50 0.397978 -122.50 37.50 242.50 0.232747 -122.50 37.50 247.50 0.106889 -122.50 37.50 252.50 0.0424253 -122.50 37.50 257.50 0.0215696 -122.50 37.50 262.50 0.0177901 -122.50 37.50 267.50 0.0437724 -122.50 37.50 272.50 0.166468 -122.50 37.50 277.50 0.461633 -122.50 37.50 282.50 1.0963 -122.50 37.50 287.50 2.28254 -122.50 37.50 292.50 3.92672 -122.50 37.50 297.50 5.08545 -122.50 37.50 302.50 5.13611 -122.50 37.50 307.50 4.15246 -122.50 37.50 312.50 2.64226 -122.50 37.50 317.50 1.38142 -122.50 37.50 322.50 0.695003 -122.50 37.50 327.50 0.397979 -122.50 37.50 332.50 0.232747 -122.50 37.50 337.50 0.106889 -122.50 37.50 342.50 0.0424255 -122.50 37.50 347.50 0.0215696 -122.50 37.50 352.50 0.01779 -122.50 37.50 357.50 0.0437722 -122.50 42.50 2.50 0.114674 -122.50 42.50 7.50 0.315209 -122.50 42.50 12.50 0.732047 -122.50 42.50 17.50 1.54765 -122.50 42.50 22.50 2.71904 -122.50 42.50 27.50 3.61403 -122.50 42.50 32.50 3.68176 -122.50 42.50 37.50 2.81508 -122.50 42.50 42.50 1.67063 -122.50 42.50 47.50 0.754376 -122.50 42.50 52.50 0.322358 -122.50 42.50 57.50 0.153367 -122.50 42.50 62.50 0.0814491 -122.50 42.50 67.50 0.0398015 -122.50 42.50 72.50 0.0213086 -122.50 42.50 77.50 0.0191426 -122.50 42.50 82.50 0.0192761 -122.50 42.50 87.50 0.0353898 -122.50 42.50 92.50 0.114674 -122.50 42.50 97.50 0.315209 -122.50 42.50 102.50 0.732048 -122.50 42.50 107.50 1.54765 -122.50 42.50 112.50 2.71904 -122.50 42.50 117.50 3.61403 -122.50 42.50 122.50 3.68176 -122.50 42.50 127.50 2.81508 -122.50 42.50 132.50 1.67063 -122.50 42.50 137.50 0.754376 -122.50 42.50 142.50 0.322358 -122.50 42.50 147.50 0.153367 -122.50 42.50 152.50 0.0814492 -122.50 42.50 157.50 0.0398015 -122.50 42.50 162.50 0.0213086 -122.50 42.50 167.50 0.0191425 -122.50 42.50 172.50 0.0192761 -122.50 42.50 177.50 0.0353898 -122.50 42.50 182.50 0.114674 -122.50 42.50 187.50 0.315209 -122.50 42.50 192.50 0.732048 -122.50 42.50 197.50 1.54765 -122.50 42.50 202.50 2.71904 -122.50 42.50 207.50 3.61403 -122.50 42.50 212.50 3.68175 -122.50 42.50 217.50 2.81508 -122.50 42.50 222.50 1.67063 -122.50 42.50 227.50 0.754377 -122.50 42.50 232.50 0.322358 -122.50 42.50 237.50 0.153366 -122.50 42.50 242.50 0.0814491 -122.50 42.50 247.50 0.0398015 -122.50 42.50 252.50 0.0213085 -122.50 42.50 257.50 0.0191426 -122.50 42.50 262.50 0.0192761 -122.50 42.50 267.50 0.0353899 -122.50 42.50 272.50 0.114674 -122.50 42.50 277.50 0.315208 -122.50 42.50 282.50 0.732047 -122.50 42.50 287.50 1.54765 -122.50 42.50 292.50 2.71904 -122.50 42.50 297.50 3.61403 -122.50 42.50 302.50 3.68176 -122.50 42.50 307.50 2.81508 -122.50 42.50 312.50 1.67063 -122.50 42.50 317.50 0.754377 -122.50 42.50 322.50 0.322359 -122.50 42.50 327.50 0.153367 -122.50 42.50 332.50 0.0814493 -122.50 42.50 337.50 0.0398015 -122.50 42.50 342.50 0.0213086 -122.50 42.50 347.50 0.0191425 -122.50 42.50 352.50 0.0192761 -122.50 42.50 357.50 0.0353897 -122.50 47.50 2.50 0.0938604 -122.50 47.50 7.50 0.195908 -122.50 47.50 12.50 0.422873 -122.50 47.50 17.50 0.864758 -122.50 47.50 22.50 1.51053 -122.50 47.50 27.50 1.98013 -122.50 47.50 32.50 1.86668 -122.50 47.50 37.50 1.34076 -122.50 47.50 42.50 0.731889 -122.50 47.50 47.50 0.336693 -122.50 47.50 52.50 0.104399 -122.50 47.50 57.50 0.046375 -122.50 47.50 62.50 0.0252394 -122.50 47.50 67.50 0.0306564 -122.50 47.50 72.50 0.053292 -122.50 47.50 77.50 0.0688209 -122.50 47.50 82.50 0.0627211 -122.50 47.50 87.50 0.0548245 -122.50 47.50 92.50 0.0938605 -122.50 47.50 97.50 0.195908 -122.50 47.50 102.50 0.422874 -122.50 47.50 107.50 0.864758 -122.50 47.50 112.50 1.51053 -122.50 47.50 117.50 1.98013 -122.50 47.50 122.50 1.86668 -122.50 47.50 127.50 1.34076 -122.50 47.50 132.50 0.731888 -122.50 47.50 137.50 0.336693 -122.50 47.50 142.50 0.104399 -122.50 47.50 147.50 0.046375 -122.50 47.50 152.50 0.0252394 -122.50 47.50 157.50 0.0306563 -122.50 47.50 162.50 0.053292 -122.50 47.50 167.50 0.0688209 -122.50 47.50 172.50 0.0627211 -122.50 47.50 177.50 0.0548244 -122.50 47.50 182.50 0.0938605 -122.50 47.50 187.50 0.195908 -122.50 47.50 192.50 0.422873 -122.50 47.50 197.50 0.864759 -122.50 47.50 202.50 1.51053 -122.50 47.50 207.50 1.98013 -122.50 47.50 212.50 1.86668 -122.50 47.50 217.50 1.34076 -122.50 47.50 222.50 0.731888 -122.50 47.50 227.50 0.336693 -122.50 47.50 232.50 0.104399 -122.50 47.50 237.50 0.046375 -122.50 47.50 242.50 0.0252395 -122.50 47.50 247.50 0.0306563 -122.50 47.50 252.50 0.053292 -122.50 47.50 257.50 0.0688209 -122.50 47.50 262.50 0.0627211 -122.50 47.50 267.50 0.0548245 -122.50 47.50 272.50 0.0938604 -122.50 47.50 277.50 0.195908 -122.50 47.50 282.50 0.422873 -122.50 47.50 287.50 0.864758 -122.50 47.50 292.50 1.51053 -122.50 47.50 297.50 1.98013 -122.50 47.50 302.50 1.86668 -122.50 47.50 307.50 1.34076 -122.50 47.50 312.50 0.731889 -122.50 47.50 317.50 0.336693 -122.50 47.50 322.50 0.104399 -122.50 47.50 327.50 0.0463751 -122.50 47.50 332.50 0.0252395 -122.50 47.50 337.50 0.0306563 -122.50 47.50 342.50 0.053292 -122.50 47.50 347.50 0.0688209 -122.50 47.50 352.50 0.0627212 -122.50 47.50 357.50 0.0548245 -122.50 52.50 2.50 0.114674 -122.50 52.50 7.50 0.126726 -122.50 52.50 12.50 0.219428 -122.50 52.50 17.50 0.409275 -122.50 52.50 22.50 0.652251 -122.50 52.50 27.50 0.754549 -122.50 52.50 32.50 0.650903 -122.50 52.50 37.50 0.477024 -122.50 52.50 42.50 0.257939 -122.50 52.50 47.50 0.0990009 -122.50 52.50 52.50 0.0374258 -122.50 52.50 57.50 0.0325256 -122.50 52.50 62.50 0.059128 -122.50 52.50 67.50 0.105614 -122.50 52.50 72.50 0.169546 -122.50 52.50 77.50 0.215235 -122.50 52.50 82.50 0.189687 -122.50 52.50 87.50 0.133007 -122.50 52.50 92.50 0.114674 -122.50 52.50 97.50 0.126727 -122.50 52.50 102.50 0.219428 -122.50 52.50 107.50 0.409276 -122.50 52.50 112.50 0.652252 -122.50 52.50 117.50 0.754548 -122.50 52.50 122.50 0.650903 -122.50 52.50 127.50 0.477024 -122.50 52.50 132.50 0.257938 -122.50 52.50 137.50 0.0990009 -122.50 52.50 142.50 0.0374258 -122.50 52.50 147.50 0.0325256 -122.50 52.50 152.50 0.059128 -122.50 52.50 157.50 0.105614 -122.50 52.50 162.50 0.169546 -122.50 52.50 167.50 0.215235 -122.50 52.50 172.50 0.189687 -122.50 52.50 177.50 0.133007 -122.50 52.50 182.50 0.114674 -122.50 52.50 187.50 0.126727 -122.50 52.50 192.50 0.219429 -122.50 52.50 197.50 0.409276 -122.50 52.50 202.50 0.652252 -122.50 52.50 207.50 0.754548 -122.50 52.50 212.50 0.650903 -122.50 52.50 217.50 0.477024 -122.50 52.50 222.50 0.257939 -122.50 52.50 227.50 0.0990011 -122.50 52.50 232.50 0.0374257 -122.50 52.50 237.50 0.0325256 -122.50 52.50 242.50 0.059128 -122.50 52.50 247.50 0.105614 -122.50 52.50 252.50 0.169546 -122.50 52.50 257.50 0.215236 -122.50 52.50 262.50 0.189686 -122.50 52.50 267.50 0.133007 -122.50 52.50 272.50 0.114674 -122.50 52.50 277.50 0.126726 -122.50 52.50 282.50 0.219428 -122.50 52.50 287.50 0.409275 -122.50 52.50 292.50 0.652251 -122.50 52.50 297.50 0.754549 -122.50 52.50 302.50 0.650903 -122.50 52.50 307.50 0.477024 -122.50 52.50 312.50 0.257939 -122.50 52.50 317.50 0.0990011 -122.50 52.50 322.50 0.0374259 -122.50 52.50 327.50 0.0325256 -122.50 52.50 332.50 0.0591279 -122.50 52.50 337.50 0.105614 -122.50 52.50 342.50 0.169546 -122.50 52.50 347.50 0.215235 -122.50 52.50 352.50 0.189687 -122.50 52.50 357.50 0.133007 -122.50 57.50 2.50 0.166468 -122.50 57.50 7.50 0.0894974 -122.50 57.50 12.50 0.105927 -122.50 57.50 17.50 0.168414 -122.50 57.50 22.50 0.20326 -122.50 57.50 27.50 0.196481 -122.50 57.50 32.50 0.190217 -122.50 57.50 37.50 0.157626 -122.50 57.50 42.50 0.0886562 -122.50 57.50 47.50 0.0595861 -122.50 57.50 52.50 0.0640047 -122.50 57.50 57.50 0.127541 -122.50 57.50 62.50 0.256928 -122.50 57.50 67.50 0.39091 -122.50 57.50 72.50 0.480917 -122.50 57.50 77.50 0.501211 -122.50 57.50 82.50 0.416985 -122.50 57.50 87.50 0.282124 -122.50 57.50 92.50 0.166468 -122.50 57.50 97.50 0.0894976 -122.50 57.50 102.50 0.105927 -122.50 57.50 107.50 0.168414 -122.50 57.50 112.50 0.20326 -122.50 57.50 117.50 0.196481 -122.50 57.50 122.50 0.190217 -122.50 57.50 127.50 0.157626 -122.50 57.50 132.50 0.0886561 -122.50 57.50 137.50 0.0595862 -122.50 57.50 142.50 0.0640046 -122.50 57.50 147.50 0.127541 -122.50 57.50 152.50 0.256927 -122.50 57.50 157.50 0.390909 -122.50 57.50 162.50 0.480917 -122.50 57.50 167.50 0.501211 -122.50 57.50 172.50 0.416985 -122.50 57.50 177.50 0.282124 -122.50 57.50 182.50 0.166468 -122.50 57.50 187.50 0.0894975 -122.50 57.50 192.50 0.105927 -122.50 57.50 197.50 0.168414 -122.50 57.50 202.50 0.20326 -122.50 57.50 207.50 0.196481 -122.50 57.50 212.50 0.190218 -122.50 57.50 217.50 0.157626 -122.50 57.50 222.50 0.0886561 -122.50 57.50 227.50 0.0595862 -122.50 57.50 232.50 0.0640048 -122.50 57.50 237.50 0.127541 -122.50 57.50 242.50 0.256928 -122.50 57.50 247.50 0.39091 -122.50 57.50 252.50 0.480917 -122.50 57.50 257.50 0.501211 -122.50 57.50 262.50 0.416985 -122.50 57.50 267.50 0.282124 -122.50 57.50 272.50 0.166468 -122.50 57.50 277.50 0.0894974 -122.50 57.50 282.50 0.105927 -122.50 57.50 287.50 0.168414 -122.50 57.50 292.50 0.20326 -122.50 57.50 297.50 0.196481 -122.50 57.50 302.50 0.190217 -122.50 57.50 307.50 0.157626 -122.50 57.50 312.50 0.0886562 -122.50 57.50 317.50 0.0595862 -122.50 57.50 322.50 0.0640046 -122.50 57.50 327.50 0.127541 -122.50 57.50 332.50 0.256927 -122.50 57.50 337.50 0.39091 -122.50 57.50 342.50 0.480917 -122.50 57.50 347.50 0.501211 -122.50 57.50 352.50 0.416986 -122.50 57.50 357.50 0.282125 -122.50 62.50 2.50 0.203044 -122.50 62.50 7.50 0.0688334 -122.50 62.50 12.50 0.0515252 -122.50 62.50 17.50 0.0456485 -122.50 62.50 22.50 0.0447733 -122.50 62.50 27.50 0.0420362 -122.50 62.50 32.50 0.0565881 -122.50 62.50 37.50 0.0655195 -122.50 62.50 42.50 0.0894781 -122.50 62.50 47.50 0.155399 -122.50 62.50 52.50 0.280231 -122.50 62.50 57.50 0.522352 -122.50 62.50 62.50 0.838182 -122.50 62.50 67.50 1.13409 -122.50 62.50 72.50 1.18301 -122.50 62.50 77.50 0.965119 -122.50 62.50 82.50 0.677668 -122.50 62.50 87.50 0.424581 -122.50 62.50 92.50 0.203044 -122.50 62.50 97.50 0.0688334 -122.50 62.50 102.50 0.0515253 -122.50 62.50 107.50 0.0456486 -122.50 62.50 112.50 0.0447733 -122.50 62.50 117.50 0.0420363 -122.50 62.50 122.50 0.0565882 -122.50 62.50 127.50 0.0655195 -122.50 62.50 132.50 0.089478 -122.50 62.50 137.50 0.155399 -122.50 62.50 142.50 0.28023 -122.50 62.50 147.50 0.522351 -122.50 62.50 152.50 0.838181 -122.50 62.50 157.50 1.13409 -122.50 62.50 162.50 1.18301 -122.50 62.50 167.50 0.965119 -122.50 62.50 172.50 0.677667 -122.50 62.50 177.50 0.424581 -122.50 62.50 182.50 0.203044 -122.50 62.50 187.50 0.0688334 -122.50 62.50 192.50 0.0515253 -122.50 62.50 197.50 0.0456486 -122.50 62.50 202.50 0.0447733 -122.50 62.50 207.50 0.0420362 -122.50 62.50 212.50 0.0565881 -122.50 62.50 217.50 0.0655194 -122.50 62.50 222.50 0.089478 -122.50 62.50 227.50 0.155399 -122.50 62.50 232.50 0.28023 -122.50 62.50 237.50 0.522351 -122.50 62.50 242.50 0.838182 -122.50 62.50 247.50 1.13409 -122.50 62.50 252.50 1.183 -122.50 62.50 257.50 0.965119 -122.50 62.50 262.50 0.677667 -122.50 62.50 267.50 0.42458 -122.50 62.50 272.50 0.203044 -122.50 62.50 277.50 0.0688334 -122.50 62.50 282.50 0.0515252 -122.50 62.50 287.50 0.0456485 -122.50 62.50 292.50 0.0447734 -122.50 62.50 297.50 0.0420362 -122.50 62.50 302.50 0.0565881 -122.50 62.50 307.50 0.0655195 -122.50 62.50 312.50 0.0894781 -122.50 62.50 317.50 0.155399 -122.50 62.50 322.50 0.28023 -122.50 62.50 327.50 0.522351 -122.50 62.50 332.50 0.838181 -122.50 62.50 337.50 1.13409 -122.50 62.50 342.50 1.18301 -122.50 62.50 347.50 0.96512 -122.50 62.50 352.50 0.677668 -122.50 62.50 357.50 0.424581 -122.50 67.50 2.50 0.190178 -122.50 67.50 7.50 0.056013 -122.50 67.50 12.50 0.0257393 -122.50 67.50 17.50 0.0115946 -122.50 67.50 22.50 0.008463 -122.50 67.50 27.50 0.0110516 -122.50 67.50 32.50 0.0260756 -122.50 67.50 37.50 0.0822321 -122.50 67.50 42.50 0.221956 -122.50 67.50 47.50 0.475488 -122.50 67.50 52.50 0.88657 -122.50 67.50 57.50 1.49584 -122.50 67.50 62.50 2.12949 -122.50 67.50 67.50 2.44077 -122.50 67.50 72.50 2.27394 -122.50 67.50 77.50 1.58637 -122.50 67.50 82.50 0.910029 -122.50 67.50 87.50 0.465324 -122.50 67.50 92.50 0.190178 -122.50 67.50 97.50 0.056013 -122.50 67.50 102.50 0.0257393 -122.50 67.50 107.50 0.0115946 -122.50 67.50 112.50 0.008463 -122.50 67.50 117.50 0.0110516 -122.50 67.50 122.50 0.0260756 -122.50 67.50 127.50 0.0822321 -122.50 67.50 132.50 0.221956 -122.50 67.50 137.50 0.475488 -122.50 67.50 142.50 0.886569 -122.50 67.50 147.50 1.49583 -122.50 67.50 152.50 2.12949 -122.50 67.50 157.50 2.44076 -122.50 67.50 162.50 2.27394 -122.50 67.50 167.50 1.58637 -122.50 67.50 172.50 0.910029 -122.50 67.50 177.50 0.465324 -122.50 67.50 182.50 0.190178 -122.50 67.50 187.50 0.056013 -122.50 67.50 192.50 0.0257393 -122.50 67.50 197.50 0.0115946 -122.50 67.50 202.50 0.008463 -122.50 67.50 207.50 0.0110516 -122.50 67.50 212.50 0.0260756 -122.50 67.50 217.50 0.082232 -122.50 67.50 222.50 0.221956 -122.50 67.50 227.50 0.475488 -122.50 67.50 232.50 0.886571 -122.50 67.50 237.50 1.49584 -122.50 67.50 242.50 2.12949 -122.50 67.50 247.50 2.44077 -122.50 67.50 252.50 2.27394 -122.50 67.50 257.50 1.58637 -122.50 67.50 262.50 0.910028 -122.50 67.50 267.50 0.465323 -122.50 67.50 272.50 0.190178 -122.50 67.50 277.50 0.056013 -122.50 67.50 282.50 0.0257393 -122.50 67.50 287.50 0.0115946 -122.50 67.50 292.50 0.008463 -122.50 67.50 297.50 0.0110516 -122.50 67.50 302.50 0.0260756 -122.50 67.50 307.50 0.0822321 -122.50 67.50 312.50 0.221956 -122.50 67.50 317.50 0.475488 -122.50 67.50 322.50 0.886569 -122.50 67.50 327.50 1.49583 -122.50 67.50 332.50 2.12949 -122.50 67.50 337.50 2.44077 -122.50 67.50 342.50 2.27394 -122.50 67.50 347.50 1.58637 -122.50 67.50 352.50 0.91003 -122.50 67.50 357.50 0.465325 -122.50 72.50 2.50 0.169877 -122.50 72.50 7.50 0.057594 -122.50 72.50 12.50 0.030064 -122.50 72.50 17.50 0.0103041 -122.50 72.50 22.50 0.00838353 -122.50 72.50 27.50 0.0186984 -122.50 72.50 32.50 0.0668129 -122.50 72.50 37.50 0.21729 -122.50 72.50 42.50 0.553261 -122.50 72.50 47.50 1.12428 -122.50 72.50 52.50 2.00377 -122.50 72.50 57.50 3.05459 -122.50 72.50 62.50 3.86124 -122.50 72.50 67.50 3.98582 -122.50 72.50 72.50 3.37378 -122.50 72.50 77.50 2.1739 -122.50 72.50 82.50 1.07024 -122.50 72.50 87.50 0.463054 -122.50 72.50 92.50 0.169877 -122.50 72.50 97.50 0.057594 -122.50 72.50 102.50 0.030064 -122.50 72.50 107.50 0.0103041 -122.50 72.50 112.50 0.00838352 -122.50 72.50 117.50 0.0186984 -122.50 72.50 122.50 0.0668129 -122.50 72.50 127.50 0.21729 -122.50 72.50 132.50 0.553261 -122.50 72.50 137.50 1.12428 -122.50 72.50 142.50 2.00377 -122.50 72.50 147.50 3.05459 -122.50 72.50 152.50 3.86124 -122.50 72.50 157.50 3.98582 -122.50 72.50 162.50 3.37378 -122.50 72.50 167.50 2.1739 -122.50 72.50 172.50 1.07024 -122.50 72.50 177.50 0.463054 -122.50 72.50 182.50 0.169877 -122.50 72.50 187.50 0.0575939 -122.50 72.50 192.50 0.030064 -122.50 72.50 197.50 0.0103041 -122.50 72.50 202.50 0.00838353 -122.50 72.50 207.50 0.0186984 -122.50 72.50 212.50 0.0668128 -122.50 72.50 217.50 0.21729 -122.50 72.50 222.50 0.55326 -122.50 72.50 227.50 1.12428 -122.50 72.50 232.50 2.00377 -122.50 72.50 237.50 3.05459 -122.50 72.50 242.50 3.86124 -122.50 72.50 247.50 3.98582 -122.50 72.50 252.50 3.37377 -122.50 72.50 257.50 2.1739 -122.50 72.50 262.50 1.07024 -122.50 72.50 267.50 0.463053 -122.50 72.50 272.50 0.169877 -122.50 72.50 277.50 0.057594 -122.50 72.50 282.50 0.030064 -122.50 72.50 287.50 0.0103041 -122.50 72.50 292.50 0.00838353 -122.50 72.50 297.50 0.0186984 -122.50 72.50 302.50 0.0668128 -122.50 72.50 307.50 0.21729 -122.50 72.50 312.50 0.55326 -122.50 72.50 317.50 1.12428 -122.50 72.50 322.50 2.00377 -122.50 72.50 327.50 3.05458 -122.50 72.50 332.50 3.86124 -122.50 72.50 337.50 3.98582 -122.50 72.50 342.50 3.37378 -122.50 72.50 347.50 2.17391 -122.50 72.50 352.50 1.07024 -122.50 72.50 357.50 0.463055 -122.50 77.50 2.50 0.171122 -122.50 77.50 7.50 0.0662872 -122.50 77.50 12.50 0.0269089 -122.50 77.50 17.50 0.0183206 -122.50 77.50 22.50 0.027006 -122.50 77.50 27.50 0.0736008 -122.50 77.50 32.50 0.216412 -122.50 77.50 37.50 0.595199 -122.50 77.50 42.50 1.31234 -122.50 77.50 47.50 2.3067 -122.50 77.50 52.50 3.52153 -122.50 77.50 57.50 4.56822 -122.50 77.50 62.50 5.15482 -122.50 77.50 67.50 4.90335 -122.50 77.50 72.50 3.89294 -122.50 77.50 77.50 2.51475 -122.50 77.50 82.50 1.13006 -122.50 77.50 87.50 0.493225 -122.50 77.50 92.50 0.171122 -122.50 77.50 97.50 0.0662872 -122.50 77.50 102.50 0.0269089 -122.50 77.50 107.50 0.0183206 -122.50 77.50 112.50 0.027006 -122.50 77.50 117.50 0.0736008 -122.50 77.50 122.50 0.216412 -122.50 77.50 127.50 0.595199 -122.50 77.50 132.50 1.31234 -122.50 77.50 137.50 2.30669 -122.50 77.50 142.50 3.52152 -122.50 77.50 147.50 4.56822 -122.50 77.50 152.50 5.15482 -122.50 77.50 157.50 4.90335 -122.50 77.50 162.50 3.89293 -122.50 77.50 167.50 2.51475 -122.50 77.50 172.50 1.13006 -122.50 77.50 177.50 0.493225 -122.50 77.50 182.50 0.171122 -122.50 77.50 187.50 0.0662872 -122.50 77.50 192.50 0.0269089 -122.50 77.50 197.50 0.0183206 -122.50 77.50 202.50 0.027006 -122.50 77.50 207.50 0.0736007 -122.50 77.50 212.50 0.216412 -122.50 77.50 217.50 0.595199 -122.50 77.50 222.50 1.31234 -122.50 77.50 227.50 2.30669 -122.50 77.50 232.50 3.52153 -122.50 77.50 237.50 4.56822 -122.50 77.50 242.50 5.15482 -122.50 77.50 247.50 4.90335 -122.50 77.50 252.50 3.89293 -122.50 77.50 257.50 2.51475 -122.50 77.50 262.50 1.13005 -122.50 77.50 267.50 0.493224 -122.50 77.50 272.50 0.171122 -122.50 77.50 277.50 0.0662872 -122.50 77.50 282.50 0.0269089 -122.50 77.50 287.50 0.0183206 -122.50 77.50 292.50 0.027006 -122.50 77.50 297.50 0.0736007 -122.50 77.50 302.50 0.216412 -122.50 77.50 307.50 0.595198 -122.50 77.50 312.50 1.31234 -122.50 77.50 317.50 2.30669 -122.50 77.50 322.50 3.52152 -122.50 77.50 327.50 4.56822 -122.50 77.50 332.50 5.15482 -122.50 77.50 337.50 4.90335 -122.50 77.50 342.50 3.89294 -122.50 77.50 347.50 2.51476 -122.50 77.50 352.50 1.13006 -122.50 77.50 357.50 0.493226 -122.50 82.50 2.50 0.149325 -122.50 82.50 7.50 0.0612251 -122.50 82.50 12.50 0.0285829 -122.50 82.50 17.50 0.0426136 -122.50 82.50 22.50 0.108087 -122.50 82.50 27.50 0.262382 -122.50 82.50 32.50 0.614665 -122.50 82.50 37.50 1.35331 -122.50 82.50 42.50 2.5312 -122.50 82.50 47.50 3.77641 -122.50 82.50 52.50 4.83853 -122.50 82.50 57.50 5.48122 -122.50 82.50 62.50 5.45857 -122.50 82.50 67.50 4.76068 -122.50 82.50 72.50 3.50104 -122.50 82.50 77.50 2.12384 -122.50 82.50 82.50 1.11089 -122.50 82.50 87.50 0.418658 -122.50 82.50 92.50 0.149325 -122.50 82.50 97.50 0.0612251 -122.50 82.50 102.50 0.0285829 -122.50 82.50 107.50 0.0426135 -122.50 82.50 112.50 0.108086 -122.50 82.50 117.50 0.262382 -122.50 82.50 122.50 0.614665 -122.50 82.50 127.50 1.35331 -122.50 82.50 132.50 2.5312 -122.50 82.50 137.50 3.77641 -122.50 82.50 142.50 4.83852 -122.50 82.50 147.50 5.48122 -122.50 82.50 152.50 5.45857 -122.50 82.50 157.50 4.76068 -122.50 82.50 162.50 3.50104 -122.50 82.50 167.50 2.12384 -122.50 82.50 172.50 1.11089 -122.50 82.50 177.50 0.418658 -122.50 82.50 182.50 0.149325 -122.50 82.50 187.50 0.061225 -122.50 82.50 192.50 0.0285829 -122.50 82.50 197.50 0.0426135 -122.50 82.50 202.50 0.108086 -122.50 82.50 207.50 0.262381 -122.50 82.50 212.50 0.614665 -122.50 82.50 217.50 1.35331 -122.50 82.50 222.50 2.5312 -122.50 82.50 227.50 3.77641 -122.50 82.50 232.50 4.83853 -122.50 82.50 237.50 5.48122 -122.50 82.50 242.50 5.45857 -122.50 82.50 247.50 4.76068 -122.50 82.50 252.50 3.50104 -122.50 82.50 257.50 2.12383 -122.50 82.50 262.50 1.11089 -122.50 82.50 267.50 0.418657 -122.50 82.50 272.50 0.149325 -122.50 82.50 277.50 0.0612251 -122.50 82.50 282.50 0.0285829 -122.50 82.50 287.50 0.0426135 -122.50 82.50 292.50 0.108086 -122.50 82.50 297.50 0.262381 -122.50 82.50 302.50 0.614665 -122.50 82.50 307.50 1.35331 -122.50 82.50 312.50 2.5312 -122.50 82.50 317.50 3.77641 -122.50 82.50 322.50 4.83852 -122.50 82.50 327.50 5.48122 -122.50 82.50 332.50 5.45858 -122.50 82.50 337.50 4.76069 -122.50 82.50 342.50 3.50104 -122.50 82.50 347.50 2.12384 -122.50 82.50 352.50 1.11089 -122.50 82.50 357.50 0.418659 -122.50 87.50 2.50 0.0922626 -122.50 87.50 7.50 0.0450811 -122.50 87.50 12.50 0.0662698 -122.50 87.50 17.50 0.158184 -122.50 87.50 22.50 0.379433 -122.50 87.50 27.50 0.788258 -122.50 87.50 32.50 1.45795 -122.50 87.50 37.50 2.47252 -122.50 87.50 42.50 3.68775 -122.50 87.50 47.50 4.72842 -122.50 87.50 52.50 5.33499 -122.50 87.50 57.50 5.39129 -122.50 87.50 62.50 4.79273 -122.50 87.50 67.50 3.66284 -122.50 87.50 72.50 2.36076 -122.50 87.50 77.50 1.33111 -122.50 87.50 82.50 0.63945 -122.50 87.50 87.50 0.284103 -122.50 87.50 92.50 0.0922625 -122.50 87.50 97.50 0.045081 -122.50 87.50 102.50 0.0662697 -122.50 87.50 107.50 0.158184 -122.50 87.50 112.50 0.379433 -122.50 87.50 117.50 0.788258 -122.50 87.50 122.50 1.45795 -122.50 87.50 127.50 2.47252 -122.50 87.50 132.50 3.68775 -122.50 87.50 137.50 4.72843 -122.50 87.50 142.50 5.33498 -122.50 87.50 147.50 5.39129 -122.50 87.50 152.50 4.79274 -122.50 87.50 157.50 3.66284 -122.50 87.50 162.50 2.36076 -122.50 87.50 167.50 1.33111 -122.50 87.50 172.50 0.639451 -122.50 87.50 177.50 0.284104 -122.50 87.50 182.50 0.0922626 -122.50 87.50 187.50 0.045081 -122.50 87.50 192.50 0.0662697 -122.50 87.50 197.50 0.158184 -122.50 87.50 202.50 0.379433 -122.50 87.50 207.50 0.788257 -122.50 87.50 212.50 1.45795 -122.50 87.50 217.50 2.47252 -122.50 87.50 222.50 3.68775 -122.50 87.50 227.50 4.72842 -122.50 87.50 232.50 5.33498 -122.50 87.50 237.50 5.39129 -122.50 87.50 242.50 4.79273 -122.50 87.50 247.50 3.66283 -122.50 87.50 252.50 2.36076 -122.50 87.50 257.50 1.33111 -122.50 87.50 262.50 0.63945 -122.50 87.50 267.50 0.284103 -122.50 87.50 272.50 0.0922625 -122.50 87.50 277.50 0.045081 -122.50 87.50 282.50 0.0662698 -122.50 87.50 287.50 0.158184 -122.50 87.50 292.50 0.379433 -122.50 87.50 297.50 0.788257 -122.50 87.50 302.50 1.45795 -122.50 87.50 307.50 2.47252 -122.50 87.50 312.50 3.68775 -122.50 87.50 317.50 4.72843 -122.50 87.50 322.50 5.33498 -122.50 87.50 327.50 5.39129 -122.50 87.50 332.50 4.79273 -122.50 87.50 337.50 3.66284 -122.50 87.50 342.50 2.36077 -122.50 87.50 347.50 1.33111 -122.50 87.50 352.50 0.639452 -122.50 87.50 357.50 0.284104 -122.50 92.50 2.50 0.0601603 -122.50 92.50 7.50 0.100121 -122.50 92.50 12.50 0.23184 -122.50 92.50 17.50 0.52242 -122.50 92.50 22.50 1.09345 -122.50 92.50 27.50 1.96804 -122.50 92.50 32.50 2.99998 -122.50 92.50 37.50 3.97878 -122.50 92.50 42.50 4.69043 -122.50 92.50 47.50 4.95231 -122.50 92.50 52.50 4.69043 -122.50 92.50 57.50 3.97878 -122.50 92.50 62.50 2.99998 -122.50 92.50 67.50 1.96803 -122.50 92.50 72.50 1.09345 -122.50 92.50 77.50 0.522419 -122.50 92.50 82.50 0.23184 -122.50 92.50 87.50 0.100121 -122.50 92.50 92.50 0.0601603 -122.50 92.50 97.50 0.100121 -122.50 92.50 102.50 0.23184 -122.50 92.50 107.50 0.522419 -122.50 92.50 112.50 1.09345 -122.50 92.50 117.50 1.96804 -122.50 92.50 122.50 2.99999 -122.50 92.50 127.50 3.97879 -122.50 92.50 132.50 4.69043 -122.50 92.50 137.50 4.95231 -122.50 92.50 142.50 4.69043 -122.50 92.50 147.50 3.97879 -122.50 92.50 152.50 2.99998 -122.50 92.50 157.50 1.96804 -122.50 92.50 162.50 1.09345 -122.50 92.50 167.50 0.522419 -122.50 92.50 172.50 0.23184 -122.50 92.50 177.50 0.100121 -122.50 92.50 182.50 0.0601603 -122.50 92.50 187.50 0.100121 -122.50 92.50 192.50 0.23184 -122.50 92.50 197.50 0.522419 -122.50 92.50 202.50 1.09345 -122.50 92.50 207.50 1.96803 -122.50 92.50 212.50 2.99999 -122.50 92.50 217.50 3.97879 -122.50 92.50 222.50 4.69043 -122.50 92.50 227.50 4.95231 -122.50 92.50 232.50 4.69043 -122.50 92.50 237.50 3.97878 -122.50 92.50 242.50 2.99998 -122.50 92.50 247.50 1.96803 -122.50 92.50 252.50 1.09344 -122.50 92.50 257.50 0.522418 -122.50 92.50 262.50 0.23184 -122.50 92.50 267.50 0.100121 -122.50 92.50 272.50 0.0601603 -122.50 92.50 277.50 0.100121 -122.50 92.50 282.50 0.23184 -122.50 92.50 287.50 0.522419 -122.50 92.50 292.50 1.09345 -122.50 92.50 297.50 1.96803 -122.50 92.50 302.50 2.99998 -122.50 92.50 307.50 3.97878 -122.50 92.50 312.50 4.69043 -122.50 92.50 317.50 4.95231 -122.50 92.50 322.50 4.69043 -122.50 92.50 327.50 3.97879 -122.50 92.50 332.50 2.99998 -122.50 92.50 337.50 1.96804 -122.50 92.50 342.50 1.09345 -122.50 92.50 347.50 0.52242 -122.50 92.50 352.50 0.231841 -122.50 92.50 357.50 0.100122 -122.50 97.50 2.50 0.0922625 -122.50 97.50 7.50 0.284104 -122.50 97.50 12.50 0.639451 -122.50 97.50 17.50 1.33111 -122.50 97.50 22.50 2.36076 -122.50 97.50 27.50 3.66283 -122.50 97.50 32.50 4.79274 -122.50 97.50 37.50 5.39129 -122.50 97.50 42.50 5.33499 -122.50 97.50 47.50 4.72842 -122.50 97.50 52.50 3.68775 -122.50 97.50 57.50 2.47252 -122.50 97.50 62.50 1.45795 -122.50 97.50 67.50 0.788258 -122.50 97.50 72.50 0.379433 -122.50 97.50 77.50 0.158184 -122.50 97.50 82.50 0.0662698 -122.50 97.50 87.50 0.045081 -122.50 97.50 92.50 0.0922626 -122.50 97.50 97.50 0.284104 -122.50 97.50 102.50 0.639451 -122.50 97.50 107.50 1.33111 -122.50 97.50 112.50 2.36076 -122.50 97.50 117.50 3.66284 -122.50 97.50 122.50 4.79273 -122.50 97.50 127.50 5.39129 -122.50 97.50 132.50 5.33499 -122.50 97.50 137.50 4.72843 -122.50 97.50 142.50 3.68775 -122.50 97.50 147.50 2.47252 -122.50 97.50 152.50 1.45795 -122.50 97.50 157.50 0.788258 -122.50 97.50 162.50 0.379433 -122.50 97.50 167.50 0.158184 -122.50 97.50 172.50 0.0662699 -122.50 97.50 177.50 0.045081 -122.50 97.50 182.50 0.0922625 -122.50 97.50 187.50 0.284104 -122.50 97.50 192.50 0.639451 -122.50 97.50 197.50 1.33111 -122.50 97.50 202.50 2.36076 -122.50 97.50 207.50 3.66283 -122.50 97.50 212.50 4.79273 -122.50 97.50 217.50 5.39129 -122.50 97.50 222.50 5.33499 -122.50 97.50 227.50 4.72843 -122.50 97.50 232.50 3.68775 -122.50 97.50 237.50 2.47252 -122.50 97.50 242.50 1.45795 -122.50 97.50 247.50 0.788257 -122.50 97.50 252.50 0.379433 -122.50 97.50 257.50 0.158184 -122.50 97.50 262.50 0.0662697 -122.50 97.50 267.50 0.045081 -122.50 97.50 272.50 0.0922626 -122.50 97.50 277.50 0.284104 -122.50 97.50 282.50 0.639451 -122.50 97.50 287.50 1.33111 -122.50 97.50 292.50 2.36076 -122.50 97.50 297.50 3.66283 -122.50 97.50 302.50 4.79274 -122.50 97.50 307.50 5.39129 -122.50 97.50 312.50 5.33498 -122.50 97.50 317.50 4.72842 -122.50 97.50 322.50 3.68775 -122.50 97.50 327.50 2.47253 -122.50 97.50 332.50 1.45795 -122.50 97.50 337.50 0.788259 -122.50 97.50 342.50 0.379434 -122.50 97.50 347.50 0.158184 -122.50 97.50 352.50 0.0662699 -122.50 97.50 357.50 0.045081 -122.50 102.50 2.50 0.149325 -122.50 102.50 7.50 0.418658 -122.50 102.50 12.50 1.11089 -122.50 102.50 17.50 2.12384 -122.50 102.50 22.50 3.50104 -122.50 102.50 27.50 4.76068 -122.50 102.50 32.50 5.45857 -122.50 102.50 37.50 5.48122 -122.50 102.50 42.50 4.83852 -122.50 102.50 47.50 3.77641 -122.50 102.50 52.50 2.5312 -122.50 102.50 57.50 1.35331 -122.50 102.50 62.50 0.614664 -122.50 102.50 67.50 0.262381 -122.50 102.50 72.50 0.108086 -122.50 102.50 77.50 0.0426135 -122.50 102.50 82.50 0.0285829 -122.50 102.50 87.50 0.0612251 -122.50 102.50 92.50 0.149325 -122.50 102.50 97.50 0.418658 -122.50 102.50 102.50 1.11089 -122.50 102.50 107.50 2.12384 -122.50 102.50 112.50 3.50104 -122.50 102.50 117.50 4.76068 -122.50 102.50 122.50 5.45857 -122.50 102.50 127.50 5.48122 -122.50 102.50 132.50 4.83852 -122.50 102.50 137.50 3.77641 -122.50 102.50 142.50 2.5312 -122.50 102.50 147.50 1.35331 -122.50 102.50 152.50 0.614666 -122.50 102.50 157.50 0.262382 -122.50 102.50 162.50 0.108087 -122.50 102.50 167.50 0.0426135 -122.50 102.50 172.50 0.0285829 -122.50 102.50 177.50 0.0612251 -122.50 102.50 182.50 0.149325 -122.50 102.50 187.50 0.418658 -122.50 102.50 192.50 1.11089 -122.50 102.50 197.50 2.12384 -122.50 102.50 202.50 3.50104 -122.50 102.50 207.50 4.76068 -122.50 102.50 212.50 5.45857 -122.50 102.50 217.50 5.48122 -122.50 102.50 222.50 4.83853 -122.50 102.50 227.50 3.77641 -122.50 102.50 232.50 2.5312 -122.50 102.50 237.50 1.35331 -122.50 102.50 242.50 0.614664 -122.50 102.50 247.50 0.262381 -122.50 102.50 252.50 0.108086 -122.50 102.50 257.50 0.0426135 -122.50 102.50 262.50 0.0285829 -122.50 102.50 267.50 0.0612252 -122.50 102.50 272.50 0.149325 -122.50 102.50 277.50 0.418658 -122.50 102.50 282.50 1.11089 -122.50 102.50 287.50 2.12384 -122.50 102.50 292.50 3.50104 -122.50 102.50 297.50 4.76068 -122.50 102.50 302.50 5.45857 -122.50 102.50 307.50 5.48122 -122.50 102.50 312.50 4.83852 -122.50 102.50 317.50 3.77641 -122.50 102.50 322.50 2.5312 -122.50 102.50 327.50 1.35331 -122.50 102.50 332.50 0.614666 -122.50 102.50 337.50 0.262382 -122.50 102.50 342.50 0.108087 -122.50 102.50 347.50 0.0426136 -122.50 102.50 352.50 0.0285829 -122.50 102.50 357.50 0.0612249 -122.50 107.50 2.50 0.171122 -122.50 107.50 7.50 0.493225 -122.50 107.50 12.50 1.13006 -122.50 107.50 17.50 2.51475 -122.50 107.50 22.50 3.89293 -122.50 107.50 27.50 4.90335 -122.50 107.50 32.50 5.15482 -122.50 107.50 37.50 4.56822 -122.50 107.50 42.50 3.52153 -122.50 107.50 47.50 2.30669 -122.50 107.50 52.50 1.31234 -122.50 107.50 57.50 0.595199 -122.50 107.50 62.50 0.216412 -122.50 107.50 67.50 0.0736006 -122.50 107.50 72.50 0.027006 -122.50 107.50 77.50 0.0183206 -122.50 107.50 82.50 0.0269089 -122.50 107.50 87.50 0.0662872 -122.50 107.50 92.50 0.171122 -122.50 107.50 97.50 0.493225 -122.50 107.50 102.50 1.13006 -122.50 107.50 107.50 2.51475 -122.50 107.50 112.50 3.89293 -122.50 107.50 117.50 4.90335 -122.50 107.50 122.50 5.15482 -122.50 107.50 127.50 4.56822 -122.50 107.50 132.50 3.52152 -122.50 107.50 137.50 2.30669 -122.50 107.50 142.50 1.31234 -122.50 107.50 147.50 0.595199 -122.50 107.50 152.50 0.216412 -122.50 107.50 157.50 0.0736008 -122.50 107.50 162.50 0.027006 -122.50 107.50 167.50 0.0183206 -122.50 107.50 172.50 0.0269089 -122.50 107.50 177.50 0.0662872 -122.50 107.50 182.50 0.171122 -122.50 107.50 187.50 0.493225 -122.50 107.50 192.50 1.13006 -122.50 107.50 197.50 2.51475 -122.50 107.50 202.50 3.89293 -122.50 107.50 207.50 4.90335 -122.50 107.50 212.50 5.15482 -122.50 107.50 217.50 4.56822 -122.50 107.50 222.50 3.52153 -122.50 107.50 227.50 2.30669 -122.50 107.50 232.50 1.31234 -122.50 107.50 237.50 0.595198 -122.50 107.50 242.50 0.216412 -122.50 107.50 247.50 0.0736006 -122.50 107.50 252.50 0.027006 -122.50 107.50 257.50 0.0183206 -122.50 107.50 262.50 0.0269089 -122.50 107.50 267.50 0.0662872 -122.50 107.50 272.50 0.171122 -122.50 107.50 277.50 0.493225 -122.50 107.50 282.50 1.13006 -122.50 107.50 287.50 2.51475 -122.50 107.50 292.50 3.89293 -122.50 107.50 297.50 4.90335 -122.50 107.50 302.50 5.15482 -122.50 107.50 307.50 4.56822 -122.50 107.50 312.50 3.52153 -122.50 107.50 317.50 2.30669 -122.50 107.50 322.50 1.31234 -122.50 107.50 327.50 0.5952 -122.50 107.50 332.50 0.216413 -122.50 107.50 337.50 0.0736009 -122.50 107.50 342.50 0.027006 -122.50 107.50 347.50 0.0183205 -122.50 107.50 352.50 0.0269089 -122.50 107.50 357.50 0.0662871 -122.50 112.50 2.50 0.169877 -122.50 112.50 7.50 0.463054 -122.50 112.50 12.50 1.07024 -122.50 112.50 17.50 2.1739 -122.50 112.50 22.50 3.37377 -122.50 112.50 27.50 3.98582 -122.50 112.50 32.50 3.86124 -122.50 112.50 37.50 3.05459 -122.50 112.50 42.50 2.00377 -122.50 112.50 47.50 1.12428 -122.50 112.50 52.50 0.55326 -122.50 112.50 57.50 0.21729 -122.50 112.50 62.50 0.0668127 -122.50 112.50 67.50 0.0186984 -122.50 112.50 72.50 0.00838352 -122.50 112.50 77.50 0.0103042 -122.50 112.50 82.50 0.030064 -122.50 112.50 87.50 0.0575941 -122.50 112.50 92.50 0.169877 -122.50 112.50 97.50 0.463054 -122.50 112.50 102.50 1.07024 -122.50 112.50 107.50 2.1739 -122.50 112.50 112.50 3.37378 -122.50 112.50 117.50 3.98582 -122.50 112.50 122.50 3.86124 -122.50 112.50 127.50 3.05459 -122.50 112.50 132.50 2.00377 -122.50 112.50 137.50 1.12428 -122.50 112.50 142.50 0.553261 -122.50 112.50 147.50 0.21729 -122.50 112.50 152.50 0.0668129 -122.50 112.50 157.50 0.0186984 -122.50 112.50 162.50 0.00838355 -122.50 112.50 167.50 0.0103041 -122.50 112.50 172.50 0.030064 -122.50 112.50 177.50 0.057594 -122.50 112.50 182.50 0.169877 -122.50 112.50 187.50 0.463054 -122.50 112.50 192.50 1.07024 -122.50 112.50 197.50 2.1739 -122.50 112.50 202.50 3.37378 -122.50 112.50 207.50 3.98582 -122.50 112.50 212.50 3.86124 -122.50 112.50 217.50 3.05459 -122.50 112.50 222.50 2.00377 -122.50 112.50 227.50 1.12428 -122.50 112.50 232.50 0.55326 -122.50 112.50 237.50 0.21729 -122.50 112.50 242.50 0.0668127 -122.50 112.50 247.50 0.0186984 -122.50 112.50 252.50 0.00838353 -122.50 112.50 257.50 0.0103041 -122.50 112.50 262.50 0.030064 -122.50 112.50 267.50 0.057594 -122.50 112.50 272.50 0.169877 -122.50 112.50 277.50 0.463054 -122.50 112.50 282.50 1.07024 -122.50 112.50 287.50 2.1739 -122.50 112.50 292.50 3.37378 -122.50 112.50 297.50 3.98582 -122.50 112.50 302.50 3.86124 -122.50 112.50 307.50 3.05459 -122.50 112.50 312.50 2.00377 -122.50 112.50 317.50 1.12428 -122.50 112.50 322.50 0.553262 -122.50 112.50 327.50 0.217291 -122.50 112.50 332.50 0.0668131 -122.50 112.50 337.50 0.0186985 -122.50 112.50 342.50 0.00838354 -122.50 112.50 347.50 0.0103041 -122.50 112.50 352.50 0.030064 -122.50 112.50 357.50 0.0575939 -122.50 117.50 2.50 0.190179 -122.50 117.50 7.50 0.465324 -122.50 117.50 12.50 0.910028 -122.50 117.50 17.50 1.58637 -122.50 117.50 22.50 2.27394 -122.50 117.50 27.50 2.44076 -122.50 117.50 32.50 2.12949 -122.50 117.50 37.50 1.49583 -122.50 117.50 42.50 0.886569 -122.50 117.50 47.50 0.475487 -122.50 117.50 52.50 0.221956 -122.50 117.50 57.50 0.082232 -122.50 117.50 62.50 0.0260756 -122.50 117.50 67.50 0.0110516 -122.50 117.50 72.50 0.00846303 -122.50 117.50 77.50 0.0115946 -122.50 117.50 82.50 0.0257393 -122.50 117.50 87.50 0.0560131 -122.50 117.50 92.50 0.190179 -122.50 117.50 97.50 0.465324 -122.50 117.50 102.50 0.910029 -122.50 117.50 107.50 1.58637 -122.50 117.50 112.50 2.27394 -122.50 117.50 117.50 2.44076 -122.50 117.50 122.50 2.12949 -122.50 117.50 127.50 1.49583 -122.50 117.50 132.50 0.886569 -122.50 117.50 137.50 0.475487 -122.50 117.50 142.50 0.221956 -122.50 117.50 147.50 0.082232 -122.50 117.50 152.50 0.0260756 -122.50 117.50 157.50 0.0110517 -122.50 117.50 162.50 0.00846302 -122.50 117.50 167.50 0.0115946 -122.50 117.50 172.50 0.0257392 -122.50 117.50 177.50 0.056013 -122.50 117.50 182.50 0.190179 -122.50 117.50 187.50 0.465324 -122.50 117.50 192.50 0.910029 -122.50 117.50 197.50 1.58637 -122.50 117.50 202.50 2.27394 -122.50 117.50 207.50 2.44076 -122.50 117.50 212.50 2.12949 -122.50 117.50 217.50 1.49583 -122.50 117.50 222.50 0.886569 -122.50 117.50 227.50 0.475488 -122.50 117.50 232.50 0.221955 -122.50 117.50 237.50 0.0822318 -122.50 117.50 242.50 0.0260756 -122.50 117.50 247.50 0.0110516 -122.50 117.50 252.50 0.00846301 -122.50 117.50 257.50 0.0115946 -122.50 117.50 262.50 0.0257393 -122.50 117.50 267.50 0.0560131 -122.50 117.50 272.50 0.190179 -122.50 117.50 277.50 0.465323 -122.50 117.50 282.50 0.910028 -122.50 117.50 287.50 1.58637 -122.50 117.50 292.50 2.27394 -122.50 117.50 297.50 2.44076 -122.50 117.50 302.50 2.12949 -122.50 117.50 307.50 1.49583 -122.50 117.50 312.50 0.886569 -122.50 117.50 317.50 0.475488 -122.50 117.50 322.50 0.221956 -122.50 117.50 327.50 0.0822321 -122.50 117.50 332.50 0.0260756 -122.50 117.50 337.50 0.0110517 -122.50 117.50 342.50 0.00846302 -122.50 117.50 347.50 0.0115946 -122.50 117.50 352.50 0.0257392 -122.50 117.50 357.50 0.0560129 -122.50 122.50 2.50 0.203044 -122.50 122.50 7.50 0.42458 -122.50 122.50 12.50 0.677667 -122.50 122.50 17.50 0.965118 -122.50 122.50 22.50 1.183 -122.50 122.50 27.50 1.13409 -122.50 122.50 32.50 0.83818 -122.50 122.50 37.50 0.52235 -122.50 122.50 42.50 0.28023 -122.50 122.50 47.50 0.155399 -122.50 122.50 52.50 0.0894779 -122.50 122.50 57.50 0.0655195 -122.50 122.50 62.50 0.0565882 -122.50 122.50 67.50 0.0420363 -122.50 122.50 72.50 0.0447735 -122.50 122.50 77.50 0.0456486 -122.50 122.50 82.50 0.0515254 -122.50 122.50 87.50 0.0688335 -122.50 122.50 92.50 0.203044 -122.50 122.50 97.50 0.424581 -122.50 122.50 102.50 0.677668 -122.50 122.50 107.50 0.965119 -122.50 122.50 112.50 1.18301 -122.50 122.50 117.50 1.13409 -122.50 122.50 122.50 0.83818 -122.50 122.50 127.50 0.52235 -122.50 122.50 132.50 0.28023 -122.50 122.50 137.50 0.155399 -122.50 122.50 142.50 0.0894779 -122.50 122.50 147.50 0.0655195 -122.50 122.50 152.50 0.0565881 -122.50 122.50 157.50 0.0420363 -122.50 122.50 162.50 0.0447734 -122.50 122.50 167.50 0.0456486 -122.50 122.50 172.50 0.0515253 -122.50 122.50 177.50 0.0688334 -122.50 122.50 182.50 0.203044 -122.50 122.50 187.50 0.424581 -122.50 122.50 192.50 0.677668 -122.50 122.50 197.50 0.965119 -122.50 122.50 202.50 1.18301 -122.50 122.50 207.50 1.13409 -122.50 122.50 212.50 0.838181 -122.50 122.50 217.50 0.52235 -122.50 122.50 222.50 0.28023 -122.50 122.50 227.50 0.155399 -122.50 122.50 232.50 0.0894778 -122.50 122.50 237.50 0.0655195 -122.50 122.50 242.50 0.0565882 -122.50 122.50 247.50 0.0420363 -122.50 122.50 252.50 0.0447734 -122.50 122.50 257.50 0.0456486 -122.50 122.50 262.50 0.0515252 -122.50 122.50 267.50 0.0688335 -122.50 122.50 272.50 0.203044 -122.50 122.50 277.50 0.42458 -122.50 122.50 282.50 0.677667 -122.50 122.50 287.50 0.965118 -122.50 122.50 292.50 1.183 -122.50 122.50 297.50 1.13409 -122.50 122.50 302.50 0.838181 -122.50 122.50 307.50 0.522351 -122.50 122.50 312.50 0.28023 -122.50 122.50 317.50 0.155399 -122.50 122.50 322.50 0.089478 -122.50 122.50 327.50 0.0655196 -122.50 122.50 332.50 0.0565882 -122.50 122.50 337.50 0.0420364 -122.50 122.50 342.50 0.0447734 -122.50 122.50 347.50 0.0456487 -122.50 122.50 352.50 0.0515253 -122.50 122.50 357.50 0.0688333 -122.50 127.50 2.50 0.166468 -122.50 127.50 7.50 0.282124 -122.50 127.50 12.50 0.416985 -122.50 127.50 17.50 0.50121 -122.50 127.50 22.50 0.480916 -122.50 127.50 27.50 0.390909 -122.50 127.50 32.50 0.256927 -122.50 127.50 37.50 0.127541 -122.50 127.50 42.50 0.0640046 -122.50 127.50 47.50 0.0595862 -122.50 127.50 52.50 0.0886562 -122.50 127.50 57.50 0.157627 -122.50 127.50 62.50 0.190217 -122.50 127.50 67.50 0.196481 -122.50 127.50 72.50 0.20326 -122.50 127.50 77.50 0.168415 -122.50 127.50 82.50 0.105927 -122.50 127.50 87.50 0.0894976 -122.50 127.50 92.50 0.166468 -122.50 127.50 97.50 0.282125 -122.50 127.50 102.50 0.416985 -122.50 127.50 107.50 0.501211 -122.50 127.50 112.50 0.480917 -122.50 127.50 117.50 0.390909 -122.50 127.50 122.50 0.256927 -122.50 127.50 127.50 0.127541 -122.50 127.50 132.50 0.0640046 -122.50 127.50 137.50 0.0595861 -122.50 127.50 142.50 0.0886562 -122.50 127.50 147.50 0.157627 -122.50 127.50 152.50 0.190217 -122.50 127.50 157.50 0.196481 -122.50 127.50 162.50 0.20326 -122.50 127.50 167.50 0.168414 -122.50 127.50 172.50 0.105927 -122.50 127.50 177.50 0.0894975 -122.50 127.50 182.50 0.166468 -122.50 127.50 187.50 0.282125 -122.50 127.50 192.50 0.416985 -122.50 127.50 197.50 0.501211 -122.50 127.50 202.50 0.480917 -122.50 127.50 207.50 0.390909 -122.50 127.50 212.50 0.256927 -122.50 127.50 217.50 0.127541 -122.50 127.50 222.50 0.0640047 -122.50 127.50 227.50 0.0595861 -122.50 127.50 232.50 0.0886563 -122.50 127.50 237.50 0.157627 -122.50 127.50 242.50 0.190217 -122.50 127.50 247.50 0.196481 -122.50 127.50 252.50 0.20326 -122.50 127.50 257.50 0.168414 -122.50 127.50 262.50 0.105927 -122.50 127.50 267.50 0.0894975 -122.50 127.50 272.50 0.166468 -122.50 127.50 277.50 0.282124 -122.50 127.50 282.50 0.416985 -122.50 127.50 287.50 0.501211 -122.50 127.50 292.50 0.480916 -122.50 127.50 297.50 0.390909 -122.50 127.50 302.50 0.256927 -122.50 127.50 307.50 0.127541 -122.50 127.50 312.50 0.0640046 -122.50 127.50 317.50 0.0595861 -122.50 127.50 322.50 0.0886561 -122.50 127.50 327.50 0.157626 -122.50 127.50 332.50 0.190218 -122.50 127.50 337.50 0.196481 -122.50 127.50 342.50 0.20326 -122.50 127.50 347.50 0.168415 -122.50 127.50 352.50 0.105927 -122.50 127.50 357.50 0.0894975 -122.50 132.50 2.50 0.114674 -122.50 132.50 7.50 0.133007 -122.50 132.50 12.50 0.189686 -122.50 132.50 17.50 0.215235 -122.50 132.50 22.50 0.169546 -122.50 132.50 27.50 0.105614 -122.50 132.50 32.50 0.0591279 -122.50 132.50 37.50 0.0325256 -122.50 132.50 42.50 0.0374258 -122.50 132.50 47.50 0.0990011 -122.50 132.50 52.50 0.257939 -122.50 132.50 57.50 0.477024 -122.50 132.50 62.50 0.650904 -122.50 132.50 67.50 0.754549 -122.50 132.50 72.50 0.652251 -122.50 132.50 77.50 0.409276 -122.50 132.50 82.50 0.219428 -122.50 132.50 87.50 0.126726 -122.50 132.50 92.50 0.114674 -122.50 132.50 97.50 0.133007 -122.50 132.50 102.50 0.189687 -122.50 132.50 107.50 0.215236 -122.50 132.50 112.50 0.169546 -122.50 132.50 117.50 0.105614 -122.50 132.50 122.50 0.0591279 -122.50 132.50 127.50 0.0325256 -122.50 132.50 132.50 0.0374258 -122.50 132.50 137.50 0.099001 -122.50 132.50 142.50 0.257939 -122.50 132.50 147.50 0.477024 -122.50 132.50 152.50 0.650903 -122.50 132.50 157.50 0.754548 -122.50 132.50 162.50 0.652251 -122.50 132.50 167.50 0.409275 -122.50 132.50 172.50 0.219428 -122.50 132.50 177.50 0.126727 -122.50 132.50 182.50 0.114674 -122.50 132.50 187.50 0.133007 -122.50 132.50 192.50 0.189687 -122.50 132.50 197.50 0.215236 -122.50 132.50 202.50 0.169546 -122.50 132.50 207.50 0.105614 -122.50 132.50 212.50 0.0591279 -122.50 132.50 217.50 0.0325256 -122.50 132.50 222.50 0.0374258 -122.50 132.50 227.50 0.0990009 -122.50 132.50 232.50 0.257939 -122.50 132.50 237.50 0.477024 -122.50 132.50 242.50 0.650903 -122.50 132.50 247.50 0.754549 -122.50 132.50 252.50 0.652251 -122.50 132.50 257.50 0.409275 -122.50 132.50 262.50 0.219428 -122.50 132.50 267.50 0.126726 -122.50 132.50 272.50 0.114674 -122.50 132.50 277.50 0.133007 -122.50 132.50 282.50 0.189686 -122.50 132.50 287.50 0.215235 -122.50 132.50 292.50 0.169546 -122.50 132.50 297.50 0.105614 -122.50 132.50 302.50 0.059128 -122.50 132.50 307.50 0.0325256 -122.50 132.50 312.50 0.0374258 -122.50 132.50 317.50 0.099001 -122.50 132.50 322.50 0.257938 -122.50 132.50 327.50 0.477024 -122.50 132.50 332.50 0.650903 -122.50 132.50 337.50 0.754549 -122.50 132.50 342.50 0.652251 -122.50 132.50 347.50 0.409276 -122.50 132.50 352.50 0.219429 -122.50 132.50 357.50 0.126727 -122.50 137.50 2.50 0.0938603 -122.50 137.50 7.50 0.0548244 -122.50 137.50 12.50 0.0627211 -122.50 137.50 17.50 0.0688209 -122.50 137.50 22.50 0.053292 -122.50 137.50 27.50 0.0306563 -122.50 137.50 32.50 0.0252394 -122.50 137.50 37.50 0.046375 -122.50 137.50 42.50 0.104399 -122.50 137.50 47.50 0.336693 -122.50 137.50 52.50 0.731889 -122.50 137.50 57.50 1.34076 -122.50 137.50 62.50 1.86668 -122.50 137.50 67.50 1.98013 -122.50 137.50 72.50 1.51053 -122.50 137.50 77.50 0.864757 -122.50 137.50 82.50 0.422874 -122.50 137.50 87.50 0.195908 -122.50 137.50 92.50 0.0938604 -122.50 137.50 97.50 0.0548245 -122.50 137.50 102.50 0.0627211 -122.50 137.50 107.50 0.0688209 -122.50 137.50 112.50 0.053292 -122.50 137.50 117.50 0.0306563 -122.50 137.50 122.50 0.0252394 -122.50 137.50 127.50 0.0463751 -122.50 137.50 132.50 0.104399 -122.50 137.50 137.50 0.336693 -122.50 137.50 142.50 0.731888 -122.50 137.50 147.50 1.34076 -122.50 137.50 152.50 1.86668 -122.50 137.50 157.50 1.98013 -122.50 137.50 162.50 1.51053 -122.50 137.50 167.50 0.864758 -122.50 137.50 172.50 0.422873 -122.50 137.50 177.50 0.195908 -122.50 137.50 182.50 0.0938603 -122.50 137.50 187.50 0.0548245 -122.50 137.50 192.50 0.0627212 -122.50 137.50 197.50 0.068821 -122.50 137.50 202.50 0.053292 -122.50 137.50 207.50 0.0306563 -122.50 137.50 212.50 0.0252394 -122.50 137.50 217.50 0.046375 -122.50 137.50 222.50 0.104399 -122.50 137.50 227.50 0.336693 -122.50 137.50 232.50 0.731889 -122.50 137.50 237.50 1.34076 -122.50 137.50 242.50 1.86668 -122.50 137.50 247.50 1.98013 -122.50 137.50 252.50 1.51053 -122.50 137.50 257.50 0.864758 -122.50 137.50 262.50 0.422873 -122.50 137.50 267.50 0.195908 -122.50 137.50 272.50 0.0938603 -122.50 137.50 277.50 0.0548245 -122.50 137.50 282.50 0.0627211 -122.50 137.50 287.50 0.0688209 -122.50 137.50 292.50 0.053292 -122.50 137.50 297.50 0.0306564 -122.50 137.50 302.50 0.0252395 -122.50 137.50 307.50 0.0463751 -122.50 137.50 312.50 0.104399 -122.50 137.50 317.50 0.336692 -122.50 137.50 322.50 0.731888 -122.50 137.50 327.50 1.34076 -122.50 137.50 332.50 1.86668 -122.50 137.50 337.50 1.98013 -122.50 137.50 342.50 1.51053 -122.50 137.50 347.50 0.864759 -122.50 137.50 352.50 0.422874 -122.50 137.50 357.50 0.195909 -122.50 142.50 2.50 0.114674 -122.50 142.50 7.50 0.0353898 -122.50 142.50 12.50 0.0192761 -122.50 142.50 17.50 0.0191425 -122.50 142.50 22.50 0.0213085 -122.50 142.50 27.50 0.0398015 -122.50 142.50 32.50 0.0814492 -122.50 142.50 37.50 0.153366 -122.50 142.50 42.50 0.322358 -122.50 142.50 47.50 0.754377 -122.50 142.50 52.50 1.67063 -122.50 142.50 57.50 2.81508 -122.50 142.50 62.50 3.68176 -122.50 142.50 67.50 3.61403 -122.50 142.50 72.50 2.71904 -122.50 142.50 77.50 1.54765 -122.50 142.50 82.50 0.732047 -122.50 142.50 87.50 0.315208 -122.50 142.50 92.50 0.114674 -122.50 142.50 97.50 0.0353898 -122.50 142.50 102.50 0.0192761 -122.50 142.50 107.50 0.0191425 -122.50 142.50 112.50 0.0213085 -122.50 142.50 117.50 0.0398015 -122.50 142.50 122.50 0.0814491 -122.50 142.50 127.50 0.153367 -122.50 142.50 132.50 0.322358 -122.50 142.50 137.50 0.754376 -122.50 142.50 142.50 1.67063 -122.50 142.50 147.50 2.81507 -122.50 142.50 152.50 3.68175 -122.50 142.50 157.50 3.61403 -122.50 142.50 162.50 2.71904 -122.50 142.50 167.50 1.54765 -122.50 142.50 172.50 0.732047 -122.50 142.50 177.50 0.315209 -122.50 142.50 182.50 0.114674 -122.50 142.50 187.50 0.0353898 -122.50 142.50 192.50 0.0192761 -122.50 142.50 197.50 0.0191425 -122.50 142.50 202.50 0.0213085 -122.50 142.50 207.50 0.0398015 -122.50 142.50 212.50 0.0814492 -122.50 142.50 217.50 0.153366 -122.50 142.50 222.50 0.322358 -122.50 142.50 227.50 0.754375 -122.50 142.50 232.50 1.67063 -122.50 142.50 237.50 2.81508 -122.50 142.50 242.50 3.68175 -122.50 142.50 247.50 3.61403 -122.50 142.50 252.50 2.71904 -122.50 142.50 257.50 1.54764 -122.50 142.50 262.50 0.732046 -122.50 142.50 267.50 0.315208 -122.50 142.50 272.50 0.114674 -122.50 142.50 277.50 0.0353898 -122.50 142.50 282.50 0.0192761 -122.50 142.50 287.50 0.0191425 -122.50 142.50 292.50 0.0213085 -122.50 142.50 297.50 0.0398015 -122.50 142.50 302.50 0.0814492 -122.50 142.50 307.50 0.153366 -122.50 142.50 312.50 0.322358 -122.50 142.50 317.50 0.754375 -122.50 142.50 322.50 1.67063 -122.50 142.50 327.50 2.81507 -122.50 142.50 332.50 3.68176 -122.50 142.50 337.50 3.61403 -122.50 142.50 342.50 2.71904 -122.50 142.50 347.50 1.54765 -122.50 142.50 352.50 0.732048 -122.50 142.50 357.50 0.315209 -122.50 147.50 2.50 0.166468 -122.50 147.50 7.50 0.0437723 -122.50 147.50 12.50 0.0177901 -122.50 147.50 17.50 0.0215696 -122.50 147.50 22.50 0.0424254 -122.50 147.50 27.50 0.106889 -122.50 147.50 32.50 0.232747 -122.50 147.50 37.50 0.397978 -122.50 147.50 42.50 0.695003 -122.50 147.50 47.50 1.38142 -122.50 147.50 52.50 2.64226 -122.50 147.50 57.50 4.15245 -122.50 147.50 62.50 5.13611 -122.50 147.50 67.50 5.08545 -122.50 147.50 72.50 3.92672 -122.50 147.50 77.50 2.28254 -122.50 147.50 82.50 1.0963 -122.50 147.50 87.50 0.461633 -122.50 147.50 92.50 0.166468 -122.50 147.50 97.50 0.0437723 -122.50 147.50 102.50 0.0177901 -122.50 147.50 107.50 0.0215696 -122.50 147.50 112.50 0.0424254 -122.50 147.50 117.50 0.106889 -122.50 147.50 122.50 0.232747 -122.50 147.50 127.50 0.397978 -122.50 147.50 132.50 0.695003 -122.50 147.50 137.50 1.38142 -122.50 147.50 142.50 2.64226 -122.50 147.50 147.50 4.15245 -122.50 147.50 152.50 5.13611 -122.50 147.50 157.50 5.08545 -122.50 147.50 162.50 3.92672 -122.50 147.50 167.50 2.28255 -122.50 147.50 172.50 1.0963 -122.50 147.50 177.50 0.461634 -122.50 147.50 182.50 0.166468 -122.50 147.50 187.50 0.0437723 -122.50 147.50 192.50 0.0177901 -122.50 147.50 197.50 0.0215696 -122.50 147.50 202.50 0.0424254 -122.50 147.50 207.50 0.106889 -122.50 147.50 212.50 0.232747 -122.50 147.50 217.50 0.397978 -122.50 147.50 222.50 0.695002 -122.50 147.50 227.50 1.38142 -122.50 147.50 232.50 2.64226 -122.50 147.50 237.50 4.15246 -122.50 147.50 242.50 5.13611 -122.50 147.50 247.50 5.08545 -122.50 147.50 252.50 3.92672 -122.50 147.50 257.50 2.28254 -122.50 147.50 262.50 1.0963 -122.50 147.50 267.50 0.461633 -122.50 147.50 272.50 0.166468 -122.50 147.50 277.50 0.0437723 -122.50 147.50 282.50 0.0177901 -122.50 147.50 287.50 0.0215696 -122.50 147.50 292.50 0.0424254 -122.50 147.50 297.50 0.106889 -122.50 147.50 302.50 0.232747 -122.50 147.50 307.50 0.397978 -122.50 147.50 312.50 0.695002 -122.50 147.50 317.50 1.38142 -122.50 147.50 322.50 2.64226 -122.50 147.50 327.50 4.15245 -122.50 147.50 332.50 5.1361 -122.50 147.50 337.50 5.08546 -122.50 147.50 342.50 3.92672 -122.50 147.50 347.50 2.28255 -122.50 147.50 352.50 1.0963 -122.50 147.50 357.50 0.461634 -122.50 152.50 2.50 0.203044 -122.50 152.50 7.50 0.055626 -122.50 152.50 12.50 0.0313745 -122.50 152.50 17.50 0.0493549 -122.50 152.50 22.50 0.112016 -122.50 152.50 27.50 0.255476 -122.50 152.50 32.50 0.489223 -122.50 152.50 37.50 0.763452 -122.50 152.50 42.50 1.13049 -122.50 152.50 47.50 1.88573 -122.50 152.50 52.50 3.1106 -122.50 152.50 57.50 4.53233 -122.50 152.50 62.50 5.5183 -122.50 152.50 67.50 5.59053 -122.50 152.50 72.50 4.3323 -122.50 152.50 77.50 2.60783 -122.50 152.50 82.50 1.27208 -122.50 152.50 87.50 0.530742 -122.50 152.50 92.50 0.203044 -122.50 152.50 97.50 0.055626 -122.50 152.50 102.50 0.0313745 -122.50 152.50 107.50 0.0493548 -122.50 152.50 112.50 0.112016 -122.50 152.50 117.50 0.255476 -122.50 152.50 122.50 0.489223 -122.50 152.50 127.50 0.763453 -122.50 152.50 132.50 1.13049 -122.50 152.50 137.50 1.88573 -122.50 152.50 142.50 3.1106 -122.50 152.50 147.50 4.53233 -122.50 152.50 152.50 5.51831 -122.50 152.50 157.50 5.59053 -122.50 152.50 162.50 4.3323 -122.50 152.50 167.50 2.60783 -122.50 152.50 172.50 1.27208 -122.50 152.50 177.50 0.530742 -122.50 152.50 182.50 0.203044 -122.50 152.50 187.50 0.0556259 -122.50 152.50 192.50 0.0313745 -122.50 152.50 197.50 0.0493548 -122.50 152.50 202.50 0.112016 -122.50 152.50 207.50 0.255476 -122.50 152.50 212.50 0.489223 -122.50 152.50 217.50 0.763452 -122.50 152.50 222.50 1.13049 -122.50 152.50 227.50 1.88573 -122.50 152.50 232.50 3.1106 -122.50 152.50 237.50 4.53233 -122.50 152.50 242.50 5.51831 -122.50 152.50 247.50 5.59052 -122.50 152.50 252.50 4.3323 -122.50 152.50 257.50 2.60783 -122.50 152.50 262.50 1.27208 -122.50 152.50 267.50 0.530741 -122.50 152.50 272.50 0.203044 -122.50 152.50 277.50 0.0556259 -122.50 152.50 282.50 0.0313745 -122.50 152.50 287.50 0.0493548 -122.50 152.50 292.50 0.112016 -122.50 152.50 297.50 0.255476 -122.50 152.50 302.50 0.489222 -122.50 152.50 307.50 0.763452 -122.50 152.50 312.50 1.13049 -122.50 152.50 317.50 1.88573 -122.50 152.50 322.50 3.11059 -122.50 152.50 327.50 4.53233 -122.50 152.50 332.50 5.5183 -122.50 152.50 337.50 5.59053 -122.50 152.50 342.50 4.33231 -122.50 152.50 347.50 2.60783 -122.50 152.50 352.50 1.27208 -122.50 152.50 357.50 0.530743 -122.50 157.50 2.50 0.190179 -122.50 157.50 7.50 0.064067 -122.50 157.50 12.50 0.0549513 -122.50 157.50 17.50 0.115685 -122.50 157.50 22.50 0.252155 -122.50 157.50 27.50 0.491737 -122.50 157.50 32.50 0.838583 -122.50 157.50 37.50 1.12126 -122.50 157.50 42.50 1.43677 -122.50 157.50 47.50 2.0097 -122.50 157.50 52.50 2.80798 -122.50 157.50 57.50 3.81855 -122.50 157.50 62.50 4.63534 -122.50 157.50 67.50 4.5022 -122.50 157.50 72.50 3.51984 -122.50 157.50 77.50 2.17989 -122.50 157.50 82.50 1.1038 -122.50 157.50 87.50 0.465381 -122.50 157.50 92.50 0.190178 -122.50 157.50 97.50 0.0640669 -122.50 157.50 102.50 0.0549513 -122.50 157.50 107.50 0.115685 -122.50 157.50 112.50 0.252155 -122.50 157.50 117.50 0.491737 -122.50 157.50 122.50 0.838583 -122.50 157.50 127.50 1.12126 -122.50 157.50 132.50 1.43678 -122.50 157.50 137.50 2.0097 -122.50 157.50 142.50 2.80798 -122.50 157.50 147.50 3.81855 -122.50 157.50 152.50 4.63534 -122.50 157.50 157.50 4.5022 -122.50 157.50 162.50 3.51984 -122.50 157.50 167.50 2.17989 -122.50 157.50 172.50 1.1038 -122.50 157.50 177.50 0.465381 -122.50 157.50 182.50 0.190178 -122.50 157.50 187.50 0.0640669 -122.50 157.50 192.50 0.0549512 -122.50 157.50 197.50 0.115685 -122.50 157.50 202.50 0.252155 -122.50 157.50 207.50 0.491737 -122.50 157.50 212.50 0.838583 -122.50 157.50 217.50 1.12126 -122.50 157.50 222.50 1.43677 -122.50 157.50 227.50 2.00969 -122.50 157.50 232.50 2.80798 -122.50 157.50 237.50 3.81855 -122.50 157.50 242.50 4.63534 -122.50 157.50 247.50 4.5022 -122.50 157.50 252.50 3.51984 -122.50 157.50 257.50 2.17989 -122.50 157.50 262.50 1.1038 -122.50 157.50 267.50 0.465381 -122.50 157.50 272.50 0.190179 -122.50 157.50 277.50 0.064067 -122.50 157.50 282.50 0.0549512 -122.50 157.50 287.50 0.115685 -122.50 157.50 292.50 0.252155 -122.50 157.50 297.50 0.491737 -122.50 157.50 302.50 0.838582 -122.50 157.50 307.50 1.12126 -122.50 157.50 312.50 1.43677 -122.50 157.50 317.50 2.00969 -122.50 157.50 322.50 2.80798 -122.50 157.50 327.50 3.81855 -122.50 157.50 332.50 4.63534 -122.50 157.50 337.50 4.5022 -122.50 157.50 342.50 3.51984 -122.50 157.50 347.50 2.17989 -122.50 157.50 352.50 1.1038 -122.50 157.50 357.50 0.465382 -122.50 162.50 2.50 0.169877 -122.50 162.50 7.50 0.0797988 -122.50 162.50 12.50 0.0957019 -122.50 162.50 17.50 0.217768 -122.50 162.50 22.50 0.438268 -122.50 162.50 27.50 0.745255 -122.50 162.50 32.50 1.0931 -122.50 162.50 37.50 1.31728 -122.50 162.50 42.50 1.38735 -122.50 162.50 47.50 1.5729 -122.50 162.50 52.50 2.01872 -122.50 162.50 57.50 2.51249 -122.50 162.50 62.50 2.80011 -122.50 162.50 67.50 2.71146 -122.50 162.50 72.50 2.15474 -122.50 162.50 77.50 1.39346 -122.50 162.50 82.50 0.758532 -122.50 162.50 87.50 0.362129 -122.50 162.50 92.50 0.169877 -122.50 162.50 97.50 0.0797989 -122.50 162.50 102.50 0.095702 -122.50 162.50 107.50 0.217768 -122.50 162.50 112.50 0.438268 -122.50 162.50 117.50 0.745255 -122.50 162.50 122.50 1.0931 -122.50 162.50 127.50 1.31728 -122.50 162.50 132.50 1.38735 -122.50 162.50 137.50 1.5729 -122.50 162.50 142.50 2.01872 -122.50 162.50 147.50 2.51249 -122.50 162.50 152.50 2.80011 -122.50 162.50 157.50 2.71146 -122.50 162.50 162.50 2.15474 -122.50 162.50 167.50 1.39346 -122.50 162.50 172.50 0.758533 -122.50 162.50 177.50 0.362129 -122.50 162.50 182.50 0.169877 -122.50 162.50 187.50 0.0797988 -122.50 162.50 192.50 0.0957019 -122.50 162.50 197.50 0.217768 -122.50 162.50 202.50 0.438268 -122.50 162.50 207.50 0.745255 -122.50 162.50 212.50 1.0931 -122.50 162.50 217.50 1.31728 -122.50 162.50 222.50 1.38735 -122.50 162.50 227.50 1.5729 -122.50 162.50 232.50 2.01872 -122.50 162.50 237.50 2.51249 -122.50 162.50 242.50 2.80011 -122.50 162.50 247.50 2.71146 -122.50 162.50 252.50 2.15474 -122.50 162.50 257.50 1.39346 -122.50 162.50 262.50 0.758532 -122.50 162.50 267.50 0.362129 -122.50 162.50 272.50 0.169877 -122.50 162.50 277.50 0.0797988 -122.50 162.50 282.50 0.0957019 -122.50 162.50 287.50 0.217768 -122.50 162.50 292.50 0.438268 -122.50 162.50 297.50 0.745255 -122.50 162.50 302.50 1.0931 -122.50 162.50 307.50 1.31728 -122.50 162.50 312.50 1.38735 -122.50 162.50 317.50 1.5729 -122.50 162.50 322.50 2.01872 -122.50 162.50 327.50 2.51249 -122.50 162.50 332.50 2.8001 -122.50 162.50 337.50 2.71146 -122.50 162.50 342.50 2.15474 -122.50 162.50 347.50 1.39346 -122.50 162.50 352.50 0.758533 -122.50 162.50 357.50 0.362129 -122.50 167.50 2.50 0.171122 -122.50 167.50 7.50 0.102338 -122.50 167.50 12.50 0.129418 -122.50 167.50 17.50 0.287369 -122.50 167.50 22.50 0.552134 -122.50 167.50 27.50 0.884236 -122.50 167.50 32.50 1.17985 -122.50 167.50 37.50 1.23553 -122.50 167.50 42.50 1.07277 -122.50 167.50 47.50 0.962609 -122.50 167.50 52.50 1.04756 -122.50 167.50 57.50 1.22026 -122.50 167.50 62.50 1.35825 -122.50 167.50 67.50 1.3114 -122.50 167.50 72.50 1.06471 -122.50 167.50 77.50 0.744516 -122.50 167.50 82.50 0.466812 -122.50 167.50 87.50 0.297935 -122.50 167.50 92.50 0.171122 -122.50 167.50 97.50 0.102338 -122.50 167.50 102.50 0.129418 -122.50 167.50 107.50 0.287369 -122.50 167.50 112.50 0.552135 -122.50 167.50 117.50 0.884237 -122.50 167.50 122.50 1.17985 -122.50 167.50 127.50 1.23553 -122.50 167.50 132.50 1.07277 -122.50 167.50 137.50 0.962609 -122.50 167.50 142.50 1.04756 -122.50 167.50 147.50 1.22026 -122.50 167.50 152.50 1.35825 -122.50 167.50 157.50 1.3114 -122.50 167.50 162.50 1.06471 -122.50 167.50 167.50 0.744515 -122.50 167.50 172.50 0.466813 -122.50 167.50 177.50 0.297935 -122.50 167.50 182.50 0.171122 -122.50 167.50 187.50 0.102338 -122.50 167.50 192.50 0.129418 -122.50 167.50 197.50 0.287369 -122.50 167.50 202.50 0.552135 -122.50 167.50 207.50 0.884236 -122.50 167.50 212.50 1.17985 -122.50 167.50 217.50 1.23553 -122.50 167.50 222.50 1.07277 -122.50 167.50 227.50 0.962608 -122.50 167.50 232.50 1.04756 -122.50 167.50 237.50 1.22026 -122.50 167.50 242.50 1.35825 -122.50 167.50 247.50 1.3114 -122.50 167.50 252.50 1.06471 -122.50 167.50 257.50 0.744515 -122.50 167.50 262.50 0.466812 -122.50 167.50 267.50 0.297934 -122.50 167.50 272.50 0.171122 -122.50 167.50 277.50 0.102338 -122.50 167.50 282.50 0.129418 -122.50 167.50 287.50 0.287368 -122.50 167.50 292.50 0.552134 -122.50 167.50 297.50 0.884236 -122.50 167.50 302.50 1.17984 -122.50 167.50 307.50 1.23553 -122.50 167.50 312.50 1.07277 -122.50 167.50 317.50 0.962609 -122.50 167.50 322.50 1.04756 -122.50 167.50 327.50 1.22026 -122.50 167.50 332.50 1.35825 -122.50 167.50 337.50 1.3114 -122.50 167.50 342.50 1.06471 -122.50 167.50 347.50 0.744516 -122.50 167.50 352.50 0.466813 -122.50 167.50 357.50 0.297935 -122.50 172.50 2.50 0.149325 -122.50 172.50 7.50 0.100886 -122.50 172.50 12.50 0.125281 -122.50 172.50 17.50 0.25839 -122.50 172.50 22.50 0.518342 -122.50 172.50 27.50 0.847579 -122.50 172.50 32.50 1.0596 -122.50 172.50 37.50 0.978158 -122.50 172.50 42.50 0.691594 -122.50 172.50 47.50 0.456225 -122.50 172.50 52.50 0.403121 -122.50 172.50 57.50 0.468542 -122.50 172.50 62.50 0.524382 -122.50 172.50 67.50 0.519333 -122.50 172.50 72.50 0.444354 -122.50 172.50 77.50 0.345456 -122.50 172.50 82.50 0.287299 -122.50 172.50 87.50 0.223786 -122.50 172.50 92.50 0.149325 -122.50 172.50 97.50 0.100886 -122.50 172.50 102.50 0.125282 -122.50 172.50 107.50 0.25839 -122.50 172.50 112.50 0.518342 -122.50 172.50 117.50 0.84758 -122.50 172.50 122.50 1.0596 -122.50 172.50 127.50 0.978158 -122.50 172.50 132.50 0.691594 -122.50 172.50 137.50 0.456224 -122.50 172.50 142.50 0.403121 -122.50 172.50 147.50 0.468542 -122.50 172.50 152.50 0.524382 -122.50 172.50 157.50 0.519334 -122.50 172.50 162.50 0.444354 -122.50 172.50 167.50 0.345456 -122.50 172.50 172.50 0.287299 -122.50 172.50 177.50 0.223786 -122.50 172.50 182.50 0.149325 -122.50 172.50 187.50 0.100886 -122.50 172.50 192.50 0.125281 -122.50 172.50 197.50 0.25839 -122.50 172.50 202.50 0.518342 -122.50 172.50 207.50 0.84758 -122.50 172.50 212.50 1.0596 -122.50 172.50 217.50 0.978158 -122.50 172.50 222.50 0.691594 -122.50 172.50 227.50 0.456225 -122.50 172.50 232.50 0.403121 -122.50 172.50 237.50 0.468543 -122.50 172.50 242.50 0.524382 -122.50 172.50 247.50 0.519334 -122.50 172.50 252.50 0.444354 -122.50 172.50 257.50 0.345456 -122.50 172.50 262.50 0.287299 -122.50 172.50 267.50 0.223786 -122.50 172.50 272.50 0.149325 -122.50 172.50 277.50 0.100886 -122.50 172.50 282.50 0.125281 -122.50 172.50 287.50 0.25839 -122.50 172.50 292.50 0.518342 -122.50 172.50 297.50 0.847579 -122.50 172.50 302.50 1.0596 -122.50 172.50 307.50 0.978158 -122.50 172.50 312.50 0.691594 -122.50 172.50 317.50 0.456225 -122.50 172.50 322.50 0.403121 -122.50 172.50 327.50 0.468542 -122.50 172.50 332.50 0.524382 -122.50 172.50 337.50 0.519334 -122.50 172.50 342.50 0.444354 -122.50 172.50 347.50 0.345456 -122.50 172.50 352.50 0.287299 -122.50 172.50 357.50 0.223786 -122.50 177.50 2.50 0.0922627 -122.50 177.50 7.50 0.0690468 -122.50 177.50 12.50 0.085938 -122.50 177.50 17.50 0.186094 -122.50 177.50 22.50 0.414426 -122.50 177.50 27.50 0.719928 -122.50 177.50 32.50 0.868015 -122.50 177.50 37.50 0.721804 -122.50 177.50 42.50 0.421354 -122.50 177.50 47.50 0.206719 -122.50 177.50 52.50 0.12957 -122.50 177.50 57.50 0.129557 -122.50 177.50 62.50 0.149601 -122.50 177.50 67.50 0.166804 -122.50 177.50 72.50 0.163986 -122.50 177.50 77.50 0.152129 -122.50 177.50 82.50 0.143132 -122.50 177.50 87.50 0.123951 -122.50 177.50 92.50 0.0922626 -122.50 177.50 97.50 0.0690468 -122.50 177.50 102.50 0.0859381 -122.50 177.50 107.50 0.186094 -122.50 177.50 112.50 0.414426 -122.50 177.50 117.50 0.719928 -122.50 177.50 122.50 0.868015 -122.50 177.50 127.50 0.721804 -122.50 177.50 132.50 0.421354 -122.50 177.50 137.50 0.206719 -122.50 177.50 142.50 0.129571 -122.50 177.50 147.50 0.129558 -122.50 177.50 152.50 0.149601 -122.50 177.50 157.50 0.166804 -122.50 177.50 162.50 0.163986 -122.50 177.50 167.50 0.152129 -122.50 177.50 172.50 0.143132 -122.50 177.50 177.50 0.123951 -122.50 177.50 182.50 0.0922626 -122.50 177.50 187.50 0.0690467 -122.50 177.50 192.50 0.085938 -122.50 177.50 197.50 0.186094 -122.50 177.50 202.50 0.414426 -122.50 177.50 207.50 0.719928 -122.50 177.50 212.50 0.868015 -122.50 177.50 217.50 0.721804 -122.50 177.50 222.50 0.421354 -122.50 177.50 227.50 0.206719 -122.50 177.50 232.50 0.129571 -122.50 177.50 237.50 0.129558 -122.50 177.50 242.50 0.149601 -122.50 177.50 247.50 0.166804 -122.50 177.50 252.50 0.163986 -122.50 177.50 257.50 0.152129 -122.50 177.50 262.50 0.143132 -122.50 177.50 267.50 0.123951 -122.50 177.50 272.50 0.0922626 -122.50 177.50 277.50 0.0690467 -122.50 177.50 282.50 0.0859379 -122.50 177.50 287.50 0.186094 -122.50 177.50 292.50 0.414426 -122.50 177.50 297.50 0.719928 -122.50 177.50 302.50 0.868015 -122.50 177.50 307.50 0.721804 -122.50 177.50 312.50 0.421354 -122.50 177.50 317.50 0.206719 -122.50 177.50 322.50 0.129571 -122.50 177.50 327.50 0.129557 -122.50 177.50 332.50 0.149601 -122.50 177.50 337.50 0.166804 -122.50 177.50 342.50 0.163986 -122.50 177.50 347.50 0.152129 -122.50 177.50 352.50 0.143132 -122.50 177.50 357.50 0.123951 -127.50 2.50 2.50 0.0760386 -127.50 2.50 7.50 0.083846 -127.50 2.50 12.50 0.084539 -127.50 2.50 17.50 0.083846 -127.50 2.50 22.50 0.0760385 -127.50 2.50 27.50 0.0601603 -127.50 2.50 32.50 0.0485219 -127.50 2.50 37.50 0.0624686 -127.50 2.50 42.50 0.149977 -127.50 2.50 47.50 0.393273 -127.50 2.50 52.50 0.773179 -127.50 2.50 57.50 0.980476 -127.50 2.50 62.50 0.773179 -127.50 2.50 67.50 0.393272 -127.50 2.50 72.50 0.149977 -127.50 2.50 77.50 0.0624685 -127.50 2.50 82.50 0.0485219 -127.50 2.50 87.50 0.0601603 -127.50 2.50 92.50 0.0760386 -127.50 2.50 97.50 0.083846 -127.50 2.50 102.50 0.084539 -127.50 2.50 107.50 0.083846 -127.50 2.50 112.50 0.0760385 -127.50 2.50 117.50 0.0601603 -127.50 2.50 122.50 0.0485219 -127.50 2.50 127.50 0.0624686 -127.50 2.50 132.50 0.149977 -127.50 2.50 137.50 0.393273 -127.50 2.50 142.50 0.773179 -127.50 2.50 147.50 0.980476 -127.50 2.50 152.50 0.773179 -127.50 2.50 157.50 0.393272 -127.50 2.50 162.50 0.149977 -127.50 2.50 167.50 0.0624686 -127.50 2.50 172.50 0.0485219 -127.50 2.50 177.50 0.0601603 -127.50 2.50 182.50 0.0760386 -127.50 2.50 187.50 0.083846 -127.50 2.50 192.50 0.084539 -127.50 2.50 197.50 0.083846 -127.50 2.50 202.50 0.0760385 -127.50 2.50 207.50 0.0601603 -127.50 2.50 212.50 0.0485219 -127.50 2.50 217.50 0.0624686 -127.50 2.50 222.50 0.149977 -127.50 2.50 227.50 0.393272 -127.50 2.50 232.50 0.773179 -127.50 2.50 237.50 0.980476 -127.50 2.50 242.50 0.773178 -127.50 2.50 247.50 0.393272 -127.50 2.50 252.50 0.149977 -127.50 2.50 257.50 0.0624685 -127.50 2.50 262.50 0.0485219 -127.50 2.50 267.50 0.0601603 -127.50 2.50 272.50 0.0760386 -127.50 2.50 277.50 0.083846 -127.50 2.50 282.50 0.084539 -127.50 2.50 287.50 0.083846 -127.50 2.50 292.50 0.0760385 -127.50 2.50 297.50 0.0601603 -127.50 2.50 302.50 0.048522 -127.50 2.50 307.50 0.0624685 -127.50 2.50 312.50 0.149977 -127.50 2.50 317.50 0.393272 -127.50 2.50 322.50 0.773178 -127.50 2.50 327.50 0.980476 -127.50 2.50 332.50 0.773179 -127.50 2.50 337.50 0.393273 -127.50 2.50 342.50 0.149977 -127.50 2.50 347.50 0.0624686 -127.50 2.50 352.50 0.0485219 -127.50 2.50 357.50 0.0601603 -127.50 7.50 2.50 0.118631 -127.50 7.50 7.50 0.137618 -127.50 7.50 12.50 0.144095 -127.50 7.50 17.50 0.153023 -127.50 7.50 22.50 0.15678 -127.50 7.50 27.50 0.143853 -127.50 7.50 32.50 0.123279 -127.50 7.50 37.50 0.129379 -127.50 7.50 42.50 0.216182 -127.50 7.50 47.50 0.439753 -127.50 7.50 52.50 0.740281 -127.50 7.50 57.50 0.877821 -127.50 7.50 62.50 0.705092 -127.50 7.50 67.50 0.412838 -127.50 7.50 72.50 0.195055 -127.50 7.50 77.50 0.0909504 -127.50 7.50 82.50 0.0657719 -127.50 7.50 87.50 0.08614 -127.50 7.50 92.50 0.118631 -127.50 7.50 97.50 0.137618 -127.50 7.50 102.50 0.144095 -127.50 7.50 107.50 0.153023 -127.50 7.50 112.50 0.15678 -127.50 7.50 117.50 0.143853 -127.50 7.50 122.50 0.123279 -127.50 7.50 127.50 0.12938 -127.50 7.50 132.50 0.216182 -127.50 7.50 137.50 0.439753 -127.50 7.50 142.50 0.740281 -127.50 7.50 147.50 0.877821 -127.50 7.50 152.50 0.705093 -127.50 7.50 157.50 0.412838 -127.50 7.50 162.50 0.195055 -127.50 7.50 167.50 0.0909504 -127.50 7.50 172.50 0.0657719 -127.50 7.50 177.50 0.0861399 -127.50 7.50 182.50 0.118631 -127.50 7.50 187.50 0.137618 -127.50 7.50 192.50 0.144095 -127.50 7.50 197.50 0.153023 -127.50 7.50 202.50 0.156781 -127.50 7.50 207.50 0.143853 -127.50 7.50 212.50 0.123278 -127.50 7.50 217.50 0.129379 -127.50 7.50 222.50 0.216182 -127.50 7.50 227.50 0.439752 -127.50 7.50 232.50 0.740282 -127.50 7.50 237.50 0.877821 -127.50 7.50 242.50 0.705092 -127.50 7.50 247.50 0.412837 -127.50 7.50 252.50 0.195054 -127.50 7.50 257.50 0.0909503 -127.50 7.50 262.50 0.0657719 -127.50 7.50 267.50 0.08614 -127.50 7.50 272.50 0.118631 -127.50 7.50 277.50 0.137618 -127.50 7.50 282.50 0.144095 -127.50 7.50 287.50 0.153023 -127.50 7.50 292.50 0.156781 -127.50 7.50 297.50 0.143853 -127.50 7.50 302.50 0.123278 -127.50 7.50 307.50 0.129379 -127.50 7.50 312.50 0.216182 -127.50 7.50 317.50 0.439752 -127.50 7.50 322.50 0.74028 -127.50 7.50 327.50 0.877821 -127.50 7.50 332.50 0.705093 -127.50 7.50 337.50 0.412838 -127.50 7.50 342.50 0.195055 -127.50 7.50 347.50 0.0909505 -127.50 7.50 352.50 0.0657719 -127.50 7.50 357.50 0.0861399 -127.50 12.50 2.50 0.202442 -127.50 12.50 7.50 0.264305 -127.50 12.50 12.50 0.311733 -127.50 12.50 17.50 0.37753 -127.50 12.50 22.50 0.462408 -127.50 12.50 27.50 0.489974 -127.50 12.50 32.50 0.458389 -127.50 12.50 37.50 0.416795 -127.50 12.50 42.50 0.472946 -127.50 12.50 47.50 0.717382 -127.50 12.50 52.50 1.01205 -127.50 12.50 57.50 1.08308 -127.50 12.50 62.50 0.854424 -127.50 12.50 67.50 0.529171 -127.50 12.50 72.50 0.281452 -127.50 12.50 77.50 0.133163 -127.50 12.50 82.50 0.0877474 -127.50 12.50 87.50 0.127436 -127.50 12.50 92.50 0.202442 -127.50 12.50 97.50 0.264305 -127.50 12.50 102.50 0.311733 -127.50 12.50 107.50 0.37753 -127.50 12.50 112.50 0.462408 -127.50 12.50 117.50 0.489974 -127.50 12.50 122.50 0.458389 -127.50 12.50 127.50 0.416794 -127.50 12.50 132.50 0.472946 -127.50 12.50 137.50 0.717382 -127.50 12.50 142.50 1.01205 -127.50 12.50 147.50 1.08308 -127.50 12.50 152.50 0.854424 -127.50 12.50 157.50 0.529172 -127.50 12.50 162.50 0.281452 -127.50 12.50 167.50 0.133163 -127.50 12.50 172.50 0.0877474 -127.50 12.50 177.50 0.127436 -127.50 12.50 182.50 0.202441 -127.50 12.50 187.50 0.264305 -127.50 12.50 192.50 0.311733 -127.50 12.50 197.50 0.37753 -127.50 12.50 202.50 0.462408 -127.50 12.50 207.50 0.489974 -127.50 12.50 212.50 0.458389 -127.50 12.50 217.50 0.416794 -127.50 12.50 222.50 0.472946 -127.50 12.50 227.50 0.717381 -127.50 12.50 232.50 1.01205 -127.50 12.50 237.50 1.08308 -127.50 12.50 242.50 0.854424 -127.50 12.50 247.50 0.529171 -127.50 12.50 252.50 0.281451 -127.50 12.50 257.50 0.133163 -127.50 12.50 262.50 0.0877474 -127.50 12.50 267.50 0.127436 -127.50 12.50 272.50 0.202441 -127.50 12.50 277.50 0.264305 -127.50 12.50 282.50 0.311733 -127.50 12.50 287.50 0.37753 -127.50 12.50 292.50 0.462408 -127.50 12.50 297.50 0.489973 -127.50 12.50 302.50 0.458389 -127.50 12.50 307.50 0.416795 -127.50 12.50 312.50 0.472946 -127.50 12.50 317.50 0.717381 -127.50 12.50 322.50 1.01204 -127.50 12.50 327.50 1.08308 -127.50 12.50 332.50 0.854425 -127.50 12.50 337.50 0.529173 -127.50 12.50 342.50 0.281452 -127.50 12.50 347.50 0.133163 -127.50 12.50 352.50 0.0877474 -127.50 12.50 357.50 0.127436 -127.50 17.50 2.50 0.252722 -127.50 17.50 7.50 0.404513 -127.50 17.50 12.50 0.601344 -127.50 17.50 17.50 0.913617 -127.50 17.50 22.50 1.18922 -127.50 17.50 27.50 1.29939 -127.50 17.50 32.50 1.23068 -127.50 17.50 37.50 1.07391 -127.50 17.50 42.50 1.01927 -127.50 17.50 47.50 1.13113 -127.50 17.50 52.50 1.27813 -127.50 17.50 57.50 1.20669 -127.50 17.50 62.50 0.899807 -127.50 17.50 67.50 0.560894 -127.50 17.50 72.50 0.312627 -127.50 17.50 77.50 0.150407 -127.50 17.50 82.50 0.0818425 -127.50 17.50 87.50 0.13285 -127.50 17.50 92.50 0.252721 -127.50 17.50 97.50 0.404513 -127.50 17.50 102.50 0.601344 -127.50 17.50 107.50 0.913617 -127.50 17.50 112.50 1.18922 -127.50 17.50 117.50 1.29938 -127.50 17.50 122.50 1.23068 -127.50 17.50 127.50 1.07391 -127.50 17.50 132.50 1.01927 -127.50 17.50 137.50 1.13113 -127.50 17.50 142.50 1.27813 -127.50 17.50 147.50 1.20669 -127.50 17.50 152.50 0.899808 -127.50 17.50 157.50 0.560895 -127.50 17.50 162.50 0.312627 -127.50 17.50 167.50 0.150407 -127.50 17.50 172.50 0.0818425 -127.50 17.50 177.50 0.13285 -127.50 17.50 182.50 0.252721 -127.50 17.50 187.50 0.404512 -127.50 17.50 192.50 0.601344 -127.50 17.50 197.50 0.913617 -127.50 17.50 202.50 1.18922 -127.50 17.50 207.50 1.29938 -127.50 17.50 212.50 1.23068 -127.50 17.50 217.50 1.07391 -127.50 17.50 222.50 1.01927 -127.50 17.50 227.50 1.13113 -127.50 17.50 232.50 1.27813 -127.50 17.50 237.50 1.20669 -127.50 17.50 242.50 0.899808 -127.50 17.50 247.50 0.560894 -127.50 17.50 252.50 0.312626 -127.50 17.50 257.50 0.150407 -127.50 17.50 262.50 0.0818425 -127.50 17.50 267.50 0.13285 -127.50 17.50 272.50 0.252721 -127.50 17.50 277.50 0.404513 -127.50 17.50 282.50 0.601343 -127.50 17.50 287.50 0.913617 -127.50 17.50 292.50 1.18922 -127.50 17.50 297.50 1.29938 -127.50 17.50 302.50 1.23068 -127.50 17.50 307.50 1.07391 -127.50 17.50 312.50 1.01927 -127.50 17.50 317.50 1.13113 -127.50 17.50 322.50 1.27813 -127.50 17.50 327.50 1.20669 -127.50 17.50 332.50 0.899809 -127.50 17.50 337.50 0.560896 -127.50 17.50 342.50 0.312627 -127.50 17.50 347.50 0.150407 -127.50 17.50 352.50 0.0818426 -127.50 17.50 357.50 0.13285 -127.50 22.50 2.50 0.273722 -127.50 22.50 7.50 0.583451 -127.50 22.50 12.50 1.1453 -127.50 22.50 17.50 1.88506 -127.50 22.50 22.50 2.5171 -127.50 22.50 27.50 2.73071 -127.50 22.50 32.50 2.51841 -127.50 22.50 37.50 2.12902 -127.50 22.50 42.50 1.76613 -127.50 22.50 47.50 1.53031 -127.50 22.50 52.50 1.41289 -127.50 22.50 57.50 1.15323 -127.50 22.50 62.50 0.758388 -127.50 22.50 67.50 0.439941 -127.50 22.50 72.50 0.235092 -127.50 22.50 77.50 0.109659 -127.50 22.50 82.50 0.0622614 -127.50 22.50 87.50 0.109009 -127.50 22.50 92.50 0.273722 -127.50 22.50 97.50 0.583451 -127.50 22.50 102.50 1.14531 -127.50 22.50 107.50 1.88506 -127.50 22.50 112.50 2.5171 -127.50 22.50 117.50 2.73071 -127.50 22.50 122.50 2.5184 -127.50 22.50 127.50 2.12902 -127.50 22.50 132.50 1.76613 -127.50 22.50 137.50 1.53031 -127.50 22.50 142.50 1.41289 -127.50 22.50 147.50 1.15323 -127.50 22.50 152.50 0.758389 -127.50 22.50 157.50 0.439941 -127.50 22.50 162.50 0.235092 -127.50 22.50 167.50 0.109659 -127.50 22.50 172.50 0.0622614 -127.50 22.50 177.50 0.109009 -127.50 22.50 182.50 0.273722 -127.50 22.50 187.50 0.583451 -127.50 22.50 192.50 1.1453 -127.50 22.50 197.50 1.88506 -127.50 22.50 202.50 2.5171 -127.50 22.50 207.50 2.73071 -127.50 22.50 212.50 2.5184 -127.50 22.50 217.50 2.12902 -127.50 22.50 222.50 1.76613 -127.50 22.50 227.50 1.53031 -127.50 22.50 232.50 1.41289 -127.50 22.50 237.50 1.15323 -127.50 22.50 242.50 0.758388 -127.50 22.50 247.50 0.439941 -127.50 22.50 252.50 0.235092 -127.50 22.50 257.50 0.109659 -127.50 22.50 262.50 0.0622614 -127.50 22.50 267.50 0.109009 -127.50 22.50 272.50 0.273722 -127.50 22.50 277.50 0.583451 -127.50 22.50 282.50 1.1453 -127.50 22.50 287.50 1.88506 -127.50 22.50 292.50 2.5171 -127.50 22.50 297.50 2.73071 -127.50 22.50 302.50 2.5184 -127.50 22.50 307.50 2.12902 -127.50 22.50 312.50 1.76613 -127.50 22.50 317.50 1.53031 -127.50 22.50 322.50 1.41289 -127.50 22.50 327.50 1.15323 -127.50 22.50 332.50 0.75839 -127.50 22.50 337.50 0.439942 -127.50 22.50 342.50 0.235092 -127.50 22.50 347.50 0.109659 -127.50 22.50 352.50 0.0622614 -127.50 22.50 357.50 0.109009 -127.50 27.50 2.50 0.315204 -127.50 27.50 7.50 0.816509 -127.50 27.50 12.50 1.8235 -127.50 27.50 17.50 3.15075 -127.50 27.50 22.50 4.21599 -127.50 27.50 27.50 4.55459 -127.50 27.50 32.50 4.06019 -127.50 27.50 37.50 3.0451 -127.50 27.50 42.50 2.24399 -127.50 27.50 47.50 1.69825 -127.50 27.50 52.50 1.27299 -127.50 27.50 57.50 0.897298 -127.50 27.50 62.50 0.517772 -127.50 27.50 67.50 0.247701 -127.50 27.50 72.50 0.117925 -127.50 27.50 77.50 0.0536605 -127.50 27.50 82.50 0.0419426 -127.50 27.50 87.50 0.0937556 -127.50 27.50 92.50 0.315204 -127.50 27.50 97.50 0.816509 -127.50 27.50 102.50 1.8235 -127.50 27.50 107.50 3.15074 -127.50 27.50 112.50 4.21599 -127.50 27.50 117.50 4.55459 -127.50 27.50 122.50 4.06019 -127.50 27.50 127.50 3.0451 -127.50 27.50 132.50 2.24399 -127.50 27.50 137.50 1.69825 -127.50 27.50 142.50 1.27299 -127.50 27.50 147.50 0.897297 -127.50 27.50 152.50 0.517773 -127.50 27.50 157.50 0.247701 -127.50 27.50 162.50 0.117925 -127.50 27.50 167.50 0.0536605 -127.50 27.50 172.50 0.0419426 -127.50 27.50 177.50 0.0937555 -127.50 27.50 182.50 0.315204 -127.50 27.50 187.50 0.816509 -127.50 27.50 192.50 1.8235 -127.50 27.50 197.50 3.15074 -127.50 27.50 202.50 4.21599 -127.50 27.50 207.50 4.55459 -127.50 27.50 212.50 4.06019 -127.50 27.50 217.50 3.0451 -127.50 27.50 222.50 2.24399 -127.50 27.50 227.50 1.69826 -127.50 27.50 232.50 1.27299 -127.50 27.50 237.50 0.897297 -127.50 27.50 242.50 0.517772 -127.50 27.50 247.50 0.247701 -127.50 27.50 252.50 0.117925 -127.50 27.50 257.50 0.0536604 -127.50 27.50 262.50 0.0419426 -127.50 27.50 267.50 0.0937558 -127.50 27.50 272.50 0.315204 -127.50 27.50 277.50 0.816509 -127.50 27.50 282.50 1.8235 -127.50 27.50 287.50 3.15074 -127.50 27.50 292.50 4.21599 -127.50 27.50 297.50 4.55459 -127.50 27.50 302.50 4.06019 -127.50 27.50 307.50 3.0451 -127.50 27.50 312.50 2.24399 -127.50 27.50 317.50 1.69826 -127.50 27.50 322.50 1.27299 -127.50 27.50 327.50 0.897299 -127.50 27.50 332.50 0.517773 -127.50 27.50 337.50 0.247702 -127.50 27.50 342.50 0.117925 -127.50 27.50 347.50 0.0536605 -127.50 27.50 352.50 0.0419426 -127.50 27.50 357.50 0.0937553 -127.50 32.50 2.50 0.348473 -127.50 32.50 7.50 0.96703 -127.50 32.50 12.50 2.2405 -127.50 32.50 17.50 4.01869 -127.50 32.50 22.50 5.39525 -127.50 32.50 27.50 5.76945 -127.50 32.50 32.50 4.84183 -127.50 32.50 37.50 3.47636 -127.50 32.50 42.50 2.24383 -127.50 32.50 47.50 1.40564 -127.50 32.50 52.50 0.907053 -127.50 32.50 57.50 0.559572 -127.50 32.50 62.50 0.275266 -127.50 32.50 67.50 0.110479 -127.50 32.50 72.50 0.0446586 -127.50 32.50 77.50 0.0203815 -127.50 32.50 82.50 0.0308658 -127.50 32.50 87.50 0.0903384 -127.50 32.50 92.50 0.348473 -127.50 32.50 97.50 0.967031 -127.50 32.50 102.50 2.2405 -127.50 32.50 107.50 4.01869 -127.50 32.50 112.50 5.39525 -127.50 32.50 117.50 5.76944 -127.50 32.50 122.50 4.84182 -127.50 32.50 127.50 3.47636 -127.50 32.50 132.50 2.24383 -127.50 32.50 137.50 1.40564 -127.50 32.50 142.50 0.907054 -127.50 32.50 147.50 0.559572 -127.50 32.50 152.50 0.275266 -127.50 32.50 157.50 0.110479 -127.50 32.50 162.50 0.0446586 -127.50 32.50 167.50 0.0203815 -127.50 32.50 172.50 0.0308658 -127.50 32.50 177.50 0.0903383 -127.50 32.50 182.50 0.348473 -127.50 32.50 187.50 0.967031 -127.50 32.50 192.50 2.2405 -127.50 32.50 197.50 4.01869 -127.50 32.50 202.50 5.39525 -127.50 32.50 207.50 5.76944 -127.50 32.50 212.50 4.84182 -127.50 32.50 217.50 3.47636 -127.50 32.50 222.50 2.24383 -127.50 32.50 227.50 1.40564 -127.50 32.50 232.50 0.907053 -127.50 32.50 237.50 0.559572 -127.50 32.50 242.50 0.275266 -127.50 32.50 247.50 0.110479 -127.50 32.50 252.50 0.0446586 -127.50 32.50 257.50 0.0203815 -127.50 32.50 262.50 0.0308659 -127.50 32.50 267.50 0.0903386 -127.50 32.50 272.50 0.348473 -127.50 32.50 277.50 0.96703 -127.50 32.50 282.50 2.2405 -127.50 32.50 287.50 4.01869 -127.50 32.50 292.50 5.39525 -127.50 32.50 297.50 5.76945 -127.50 32.50 302.50 4.84183 -127.50 32.50 307.50 3.47636 -127.50 32.50 312.50 2.24383 -127.50 32.50 317.50 1.40564 -127.50 32.50 322.50 0.907055 -127.50 32.50 327.50 0.559573 -127.50 32.50 332.50 0.275267 -127.50 32.50 337.50 0.11048 -127.50 32.50 342.50 0.0446587 -127.50 32.50 347.50 0.0203815 -127.50 32.50 352.50 0.0308657 -127.50 32.50 357.50 0.0903381 -127.50 37.50 2.50 0.328532 -127.50 37.50 7.50 0.920472 -127.50 37.50 12.50 2.10274 -127.50 37.50 17.50 3.78195 -127.50 37.50 22.50 5.18173 -127.50 37.50 27.50 5.49299 -127.50 37.50 32.50 4.60736 -127.50 37.50 37.50 3.13348 -127.50 37.50 42.50 1.76091 -127.50 37.50 47.50 0.92494 -127.50 37.50 52.50 0.506261 -127.50 37.50 57.50 0.265309 -127.50 37.50 62.50 0.117388 -127.50 37.50 67.50 0.0419012 -127.50 37.50 72.50 0.016875 -127.50 37.50 77.50 0.0111927 -127.50 37.50 82.50 0.0233344 -127.50 37.50 87.50 0.0866606 -127.50 37.50 92.50 0.328532 -127.50 37.50 97.50 0.920472 -127.50 37.50 102.50 2.10274 -127.50 37.50 107.50 3.78195 -127.50 37.50 112.50 5.18173 -127.50 37.50 117.50 5.49299 -127.50 37.50 122.50 4.60736 -127.50 37.50 127.50 3.13348 -127.50 37.50 132.50 1.76091 -127.50 37.50 137.50 0.92494 -127.50 37.50 142.50 0.506261 -127.50 37.50 147.50 0.265309 -127.50 37.50 152.50 0.117388 -127.50 37.50 157.50 0.0419012 -127.50 37.50 162.50 0.016875 -127.50 37.50 167.50 0.0111926 -127.50 37.50 172.50 0.0233344 -127.50 37.50 177.50 0.0866605 -127.50 37.50 182.50 0.328532 -127.50 37.50 187.50 0.920472 -127.50 37.50 192.50 2.10274 -127.50 37.50 197.50 3.78195 -127.50 37.50 202.50 5.18173 -127.50 37.50 207.50 5.49299 -127.50 37.50 212.50 4.60736 -127.50 37.50 217.50 3.13348 -127.50 37.50 222.50 1.76091 -127.50 37.50 227.50 0.924942 -127.50 37.50 232.50 0.506261 -127.50 37.50 237.50 0.265309 -127.50 37.50 242.50 0.117388 -127.50 37.50 247.50 0.0419012 -127.50 37.50 252.50 0.016875 -127.50 37.50 257.50 0.0111927 -127.50 37.50 262.50 0.0233345 -127.50 37.50 267.50 0.0866607 -127.50 37.50 272.50 0.328532 -127.50 37.50 277.50 0.920471 -127.50 37.50 282.50 2.10274 -127.50 37.50 287.50 3.78195 -127.50 37.50 292.50 5.18173 -127.50 37.50 297.50 5.49299 -127.50 37.50 302.50 4.60736 -127.50 37.50 307.50 3.13348 -127.50 37.50 312.50 1.76091 -127.50 37.50 317.50 0.924941 -127.50 37.50 322.50 0.506261 -127.50 37.50 327.50 0.265309 -127.50 37.50 332.50 0.117388 -127.50 37.50 337.50 0.0419013 -127.50 37.50 342.50 0.016875 -127.50 37.50 347.50 0.0111927 -127.50 37.50 352.50 0.0233343 -127.50 37.50 357.50 0.0866603 -127.50 42.50 2.50 0.288878 -127.50 42.50 7.50 0.741633 -127.50 42.50 12.50 1.5684 -127.50 42.50 17.50 2.7895 -127.50 42.50 22.50 3.89944 -127.50 42.50 27.50 4.12697 -127.50 42.50 32.50 3.38513 -127.50 42.50 37.50 2.13512 -127.50 42.50 42.50 1.09675 -127.50 42.50 47.50 0.474548 -127.50 42.50 52.50 0.205941 -127.50 42.50 57.50 0.0901081 -127.50 42.50 62.50 0.0369769 -127.50 42.50 67.50 0.01989 -127.50 42.50 72.50 0.0182841 -127.50 42.50 77.50 0.0216585 -127.50 42.50 82.50 0.0319311 -127.50 42.50 87.50 0.0891299 -127.50 42.50 92.50 0.288878 -127.50 42.50 97.50 0.741634 -127.50 42.50 102.50 1.5684 -127.50 42.50 107.50 2.7895 -127.50 42.50 112.50 3.89944 -127.50 42.50 117.50 4.12697 -127.50 42.50 122.50 3.38513 -127.50 42.50 127.50 2.13512 -127.50 42.50 132.50 1.09675 -127.50 42.50 137.50 0.474548 -127.50 42.50 142.50 0.205941 -127.50 42.50 147.50 0.0901081 -127.50 42.50 152.50 0.036977 -127.50 42.50 157.50 0.01989 -127.50 42.50 162.50 0.018284 -127.50 42.50 167.50 0.0216585 -127.50 42.50 172.50 0.031931 -127.50 42.50 177.50 0.0891298 -127.50 42.50 182.50 0.288878 -127.50 42.50 187.50 0.741634 -127.50 42.50 192.50 1.5684 -127.50 42.50 197.50 2.7895 -127.50 42.50 202.50 3.89943 -127.50 42.50 207.50 4.12697 -127.50 42.50 212.50 3.38513 -127.50 42.50 217.50 2.13512 -127.50 42.50 222.50 1.09675 -127.50 42.50 227.50 0.474549 -127.50 42.50 232.50 0.205941 -127.50 42.50 237.50 0.0901079 -127.50 42.50 242.50 0.0369769 -127.50 42.50 247.50 0.01989 -127.50 42.50 252.50 0.018284 -127.50 42.50 257.50 0.0216585 -127.50 42.50 262.50 0.0319311 -127.50 42.50 267.50 0.0891299 -127.50 42.50 272.50 0.288878 -127.50 42.50 277.50 0.741633 -127.50 42.50 282.50 1.5684 -127.50 42.50 287.50 2.78949 -127.50 42.50 292.50 3.89943 -127.50 42.50 297.50 4.12697 -127.50 42.50 302.50 3.38513 -127.50 42.50 307.50 2.13512 -127.50 42.50 312.50 1.09676 -127.50 42.50 317.50 0.474549 -127.50 42.50 322.50 0.205942 -127.50 42.50 327.50 0.0901082 -127.50 42.50 332.50 0.036977 -127.50 42.50 337.50 0.01989 -127.50 42.50 342.50 0.018284 -127.50 42.50 347.50 0.0216585 -127.50 42.50 352.50 0.031931 -127.50 42.50 357.50 0.0891296 -127.50 47.50 2.50 0.272741 -127.50 47.50 7.50 0.542745 -127.50 47.50 12.50 1.02108 -127.50 47.50 17.50 1.72448 -127.50 47.50 22.50 2.35484 -127.50 47.50 27.50 2.36679 -127.50 47.50 32.50 1.79439 -127.50 47.50 37.50 1.09133 -127.50 47.50 42.50 0.52032 -127.50 47.50 47.50 0.210638 -127.50 47.50 52.50 0.0595339 -127.50 47.50 57.50 0.0272758 -127.50 47.50 62.50 0.0210072 -127.50 47.50 67.50 0.0437371 -127.50 47.50 72.50 0.0771198 -127.50 47.50 77.50 0.0898223 -127.50 47.50 82.50 0.0916226 -127.50 47.50 87.50 0.126127 -127.50 47.50 92.50 0.272741 -127.50 47.50 97.50 0.542745 -127.50 47.50 102.50 1.02108 -127.50 47.50 107.50 1.72448 -127.50 47.50 112.50 2.35484 -127.50 47.50 117.50 2.36679 -127.50 47.50 122.50 1.79439 -127.50 47.50 127.50 1.09133 -127.50 47.50 132.50 0.520319 -127.50 47.50 137.50 0.210638 -127.50 47.50 142.50 0.0595339 -127.50 47.50 147.50 0.0272758 -127.50 47.50 152.50 0.0210071 -127.50 47.50 157.50 0.0437371 -127.50 47.50 162.50 0.0771198 -127.50 47.50 167.50 0.0898223 -127.50 47.50 172.50 0.0916224 -127.50 47.50 177.50 0.126127 -127.50 47.50 182.50 0.272742 -127.50 47.50 187.50 0.542746 -127.50 47.50 192.50 1.02108 -127.50 47.50 197.50 1.72448 -127.50 47.50 202.50 2.35484 -127.50 47.50 207.50 2.36679 -127.50 47.50 212.50 1.79439 -127.50 47.50 217.50 1.09133 -127.50 47.50 222.50 0.52032 -127.50 47.50 227.50 0.210639 -127.50 47.50 232.50 0.0595338 -127.50 47.50 237.50 0.0272758 -127.50 47.50 242.50 0.0210071 -127.50 47.50 247.50 0.0437371 -127.50 47.50 252.50 0.0771198 -127.50 47.50 257.50 0.0898223 -127.50 47.50 262.50 0.0916225 -127.50 47.50 267.50 0.126127 -127.50 47.50 272.50 0.272741 -127.50 47.50 277.50 0.542745 -127.50 47.50 282.50 1.02108 -127.50 47.50 287.50 1.72448 -127.50 47.50 292.50 2.35484 -127.50 47.50 297.50 2.36679 -127.50 47.50 302.50 1.79439 -127.50 47.50 307.50 1.09133 -127.50 47.50 312.50 0.52032 -127.50 47.50 317.50 0.210639 -127.50 47.50 322.50 0.0595341 -127.50 47.50 327.50 0.0272759 -127.50 47.50 332.50 0.0210071 -127.50 47.50 337.50 0.043737 -127.50 47.50 342.50 0.0771197 -127.50 47.50 347.50 0.0898224 -127.50 47.50 352.50 0.0916225 -127.50 47.50 357.50 0.126127 -127.50 52.50 2.50 0.288878 -127.50 52.50 7.50 0.373192 -127.50 52.50 12.50 0.600881 -127.50 52.50 17.50 0.891921 -127.50 52.50 22.50 1.07286 -127.50 52.50 27.50 0.953545 -127.50 52.50 32.50 0.67901 -127.50 52.50 37.50 0.436657 -127.50 52.50 42.50 0.195269 -127.50 52.50 47.50 0.0654375 -127.50 52.50 52.50 0.0297946 -127.50 52.50 57.50 0.0432187 -127.50 52.50 62.50 0.0877079 -127.50 52.50 67.50 0.158508 -127.50 52.50 72.50 0.252127 -127.50 52.50 77.50 0.280289 -127.50 52.50 82.50 0.257683 -127.50 52.50 87.50 0.233442 -127.50 52.50 92.50 0.288878 -127.50 52.50 97.50 0.373192 -127.50 52.50 102.50 0.600882 -127.50 52.50 107.50 0.891921 -127.50 52.50 112.50 1.07286 -127.50 52.50 117.50 0.953545 -127.50 52.50 122.50 0.679011 -127.50 52.50 127.50 0.436657 -127.50 52.50 132.50 0.195269 -127.50 52.50 137.50 0.0654375 -127.50 52.50 142.50 0.0297946 -127.50 52.50 147.50 0.0432187 -127.50 52.50 152.50 0.0877077 -127.50 52.50 157.50 0.158508 -127.50 52.50 162.50 0.252126 -127.50 52.50 167.50 0.280289 -127.50 52.50 172.50 0.257683 -127.50 52.50 177.50 0.233442 -127.50 52.50 182.50 0.288878 -127.50 52.50 187.50 0.373192 -127.50 52.50 192.50 0.600882 -127.50 52.50 197.50 0.891921 -127.50 52.50 202.50 1.07286 -127.50 52.50 207.50 0.953545 -127.50 52.50 212.50 0.679011 -127.50 52.50 217.50 0.436657 -127.50 52.50 222.50 0.195269 -127.50 52.50 227.50 0.0654376 -127.50 52.50 232.50 0.0297946 -127.50 52.50 237.50 0.0432188 -127.50 52.50 242.50 0.0877078 -127.50 52.50 247.50 0.158508 -127.50 52.50 252.50 0.252126 -127.50 52.50 257.50 0.280289 -127.50 52.50 262.50 0.257683 -127.50 52.50 267.50 0.233442 -127.50 52.50 272.50 0.288878 -127.50 52.50 277.50 0.373192 -127.50 52.50 282.50 0.600881 -127.50 52.50 287.50 0.89192 -127.50 52.50 292.50 1.07286 -127.50 52.50 297.50 0.953545 -127.50 52.50 302.50 0.679011 -127.50 52.50 307.50 0.436657 -127.50 52.50 312.50 0.195269 -127.50 52.50 317.50 0.0654376 -127.50 52.50 322.50 0.0297947 -127.50 52.50 327.50 0.0432187 -127.50 52.50 332.50 0.0877076 -127.50 52.50 337.50 0.158508 -127.50 52.50 342.50 0.252126 -127.50 52.50 347.50 0.280289 -127.50 52.50 352.50 0.257683 -127.50 52.50 357.50 0.233442 -127.50 57.50 2.50 0.328532 -127.50 57.50 7.50 0.246085 -127.50 57.50 12.50 0.316922 -127.50 57.50 17.50 0.365702 -127.50 57.50 22.50 0.358515 -127.50 57.50 27.50 0.278107 -127.50 57.50 32.50 0.233769 -127.50 57.50 37.50 0.152801 -127.50 57.50 42.50 0.0769568 -127.50 57.50 47.50 0.0583608 -127.50 57.50 52.50 0.0843453 -127.50 57.50 57.50 0.189035 -127.50 57.50 62.50 0.371837 -127.50 57.50 67.50 0.534146 -127.50 57.50 72.50 0.649894 -127.50 57.50 77.50 0.672169 -127.50 57.50 82.50 0.570668 -127.50 57.50 87.50 0.428519 -127.50 57.50 92.50 0.328532 -127.50 57.50 97.50 0.246085 -127.50 57.50 102.50 0.316922 -127.50 57.50 107.50 0.365703 -127.50 57.50 112.50 0.358515 -127.50 57.50 117.50 0.278107 -127.50 57.50 122.50 0.233769 -127.50 57.50 127.50 0.152801 -127.50 57.50 132.50 0.0769567 -127.50 57.50 137.50 0.0583608 -127.50 57.50 142.50 0.0843452 -127.50 57.50 147.50 0.189034 -127.50 57.50 152.50 0.371836 -127.50 57.50 157.50 0.534145 -127.50 57.50 162.50 0.649893 -127.50 57.50 167.50 0.672169 -127.50 57.50 172.50 0.570667 -127.50 57.50 177.50 0.428519 -127.50 57.50 182.50 0.328532 -127.50 57.50 187.50 0.246085 -127.50 57.50 192.50 0.316922 -127.50 57.50 197.50 0.365703 -127.50 57.50 202.50 0.358515 -127.50 57.50 207.50 0.278107 -127.50 57.50 212.50 0.233769 -127.50 57.50 217.50 0.152801 -127.50 57.50 222.50 0.0769568 -127.50 57.50 227.50 0.0583608 -127.50 57.50 232.50 0.0843455 -127.50 57.50 237.50 0.189035 -127.50 57.50 242.50 0.371836 -127.50 57.50 247.50 0.534145 -127.50 57.50 252.50 0.649894 -127.50 57.50 257.50 0.672169 -127.50 57.50 262.50 0.570667 -127.50 57.50 267.50 0.428519 -127.50 57.50 272.50 0.328532 -127.50 57.50 277.50 0.246085 -127.50 57.50 282.50 0.316922 -127.50 57.50 287.50 0.365702 -127.50 57.50 292.50 0.358515 -127.50 57.50 297.50 0.278106 -127.50 57.50 302.50 0.233769 -127.50 57.50 307.50 0.152801 -127.50 57.50 312.50 0.0769568 -127.50 57.50 317.50 0.0583608 -127.50 57.50 322.50 0.0843452 -127.50 57.50 327.50 0.189034 -127.50 57.50 332.50 0.371836 -127.50 57.50 337.50 0.534145 -127.50 57.50 342.50 0.649894 -127.50 57.50 347.50 0.672169 -127.50 57.50 352.50 0.570668 -127.50 57.50 357.50 0.428519 -127.50 62.50 2.50 0.348473 -127.50 62.50 7.50 0.162287 -127.50 62.50 12.50 0.142713 -127.50 62.50 17.50 0.106065 -127.50 62.50 22.50 0.0824291 -127.50 62.50 27.50 0.0657577 -127.50 62.50 32.50 0.0728861 -127.50 62.50 37.50 0.076332 -127.50 62.50 42.50 0.107718 -127.50 62.50 47.50 0.181719 -127.50 62.50 52.50 0.343469 -127.50 62.50 57.50 0.700885 -127.50 62.50 62.50 1.14831 -127.50 62.50 67.50 1.48961 -127.50 62.50 72.50 1.48491 -127.50 62.50 77.50 1.25066 -127.50 62.50 82.50 0.93186 -127.50 62.50 87.50 0.613993 -127.50 62.50 92.50 0.348473 -127.50 62.50 97.50 0.162287 -127.50 62.50 102.50 0.142713 -127.50 62.50 107.50 0.106065 -127.50 62.50 112.50 0.0824291 -127.50 62.50 117.50 0.0657576 -127.50 62.50 122.50 0.0728861 -127.50 62.50 127.50 0.0763319 -127.50 62.50 132.50 0.107718 -127.50 62.50 137.50 0.181719 -127.50 62.50 142.50 0.343469 -127.50 62.50 147.50 0.700884 -127.50 62.50 152.50 1.1483 -127.50 62.50 157.50 1.48961 -127.50 62.50 162.50 1.48491 -127.50 62.50 167.50 1.25066 -127.50 62.50 172.50 0.93186 -127.50 62.50 177.50 0.613993 -127.50 62.50 182.50 0.348473 -127.50 62.50 187.50 0.162287 -127.50 62.50 192.50 0.142713 -127.50 62.50 197.50 0.106065 -127.50 62.50 202.50 0.082429 -127.50 62.50 207.50 0.0657577 -127.50 62.50 212.50 0.0728861 -127.50 62.50 217.50 0.0763319 -127.50 62.50 222.50 0.107718 -127.50 62.50 227.50 0.181719 -127.50 62.50 232.50 0.343469 -127.50 62.50 237.50 0.700884 -127.50 62.50 242.50 1.1483 -127.50 62.50 247.50 1.48961 -127.50 62.50 252.50 1.48491 -127.50 62.50 257.50 1.25066 -127.50 62.50 262.50 0.931859 -127.50 62.50 267.50 0.613992 -127.50 62.50 272.50 0.348473 -127.50 62.50 277.50 0.162287 -127.50 62.50 282.50 0.142713 -127.50 62.50 287.50 0.106065 -127.50 62.50 292.50 0.0824291 -127.50 62.50 297.50 0.0657577 -127.50 62.50 302.50 0.0728861 -127.50 62.50 307.50 0.076332 -127.50 62.50 312.50 0.107718 -127.50 62.50 317.50 0.181719 -127.50 62.50 322.50 0.343468 -127.50 62.50 327.50 0.700883 -127.50 62.50 332.50 1.1483 -127.50 62.50 337.50 1.48961 -127.50 62.50 342.50 1.48491 -127.50 62.50 347.50 1.25066 -127.50 62.50 352.50 0.931861 -127.50 62.50 357.50 0.613994 -127.50 67.50 2.50 0.315204 -127.50 67.50 7.50 0.115517 -127.50 67.50 12.50 0.0651829 -127.50 67.50 17.50 0.0294463 -127.50 67.50 22.50 0.0146423 -127.50 67.50 27.50 0.0142209 -127.50 67.50 32.50 0.0320944 -127.50 67.50 37.50 0.0998973 -127.50 67.50 42.50 0.249995 -127.50 67.50 47.50 0.526914 -127.50 67.50 52.50 1.04715 -127.50 67.50 57.50 1.8407 -127.50 67.50 62.50 2.62958 -127.50 67.50 67.50 3.04831 -127.50 67.50 72.50 2.75563 -127.50 67.50 77.50 1.93799 -127.50 67.50 82.50 1.19472 -127.50 67.50 87.50 0.659434 -127.50 67.50 92.50 0.315204 -127.50 67.50 97.50 0.115517 -127.50 67.50 102.50 0.0651829 -127.50 67.50 107.50 0.0294463 -127.50 67.50 112.50 0.0146423 -127.50 67.50 117.50 0.0142209 -127.50 67.50 122.50 0.0320944 -127.50 67.50 127.50 0.0998973 -127.50 67.50 132.50 0.249995 -127.50 67.50 137.50 0.526913 -127.50 67.50 142.50 1.04715 -127.50 67.50 147.50 1.8407 -127.50 67.50 152.50 2.62957 -127.50 67.50 157.50 3.04831 -127.50 67.50 162.50 2.75563 -127.50 67.50 167.50 1.93799 -127.50 67.50 172.50 1.19472 -127.50 67.50 177.50 0.659435 -127.50 67.50 182.50 0.315204 -127.50 67.50 187.50 0.115517 -127.50 67.50 192.50 0.0651829 -127.50 67.50 197.50 0.0294463 -127.50 67.50 202.50 0.0146423 -127.50 67.50 207.50 0.0142209 -127.50 67.50 212.50 0.0320944 -127.50 67.50 217.50 0.0998971 -127.50 67.50 222.50 0.249995 -127.50 67.50 227.50 0.526913 -127.50 67.50 232.50 1.04715 -127.50 67.50 237.50 1.8407 -127.50 67.50 242.50 2.62958 -127.50 67.50 247.50 3.04831 -127.50 67.50 252.50 2.75563 -127.50 67.50 257.50 1.93798 -127.50 67.50 262.50 1.19472 -127.50 67.50 267.50 0.659434 -127.50 67.50 272.50 0.315204 -127.50 67.50 277.50 0.115517 -127.50 67.50 282.50 0.0651829 -127.50 67.50 287.50 0.0294463 -127.50 67.50 292.50 0.0146423 -127.50 67.50 297.50 0.0142209 -127.50 67.50 302.50 0.0320944 -127.50 67.50 307.50 0.0998972 -127.50 67.50 312.50 0.249995 -127.50 67.50 317.50 0.526913 -127.50 67.50 322.50 1.04715 -127.50 67.50 327.50 1.8407 -127.50 67.50 332.50 2.62957 -127.50 67.50 337.50 3.04831 -127.50 67.50 342.50 2.75563 -127.50 67.50 347.50 1.93799 -127.50 67.50 352.50 1.19472 -127.50 67.50 357.50 0.659435 -127.50 72.50 2.50 0.273722 -127.50 72.50 7.50 0.10637 -127.50 72.50 12.50 0.0579617 -127.50 72.50 17.50 0.0183021 -127.50 72.50 22.50 0.00840856 -127.50 72.50 27.50 0.0168086 -127.50 72.50 32.50 0.0645034 -127.50 72.50 37.50 0.211773 -127.50 72.50 42.50 0.544366 -127.50 72.50 47.50 1.18521 -127.50 72.50 52.50 2.25116 -127.50 72.50 57.50 3.53505 -127.50 72.50 62.50 4.42529 -127.50 72.50 67.50 4.5733 -127.50 72.50 72.50 3.93032 -127.50 72.50 77.50 2.50652 -127.50 72.50 82.50 1.31791 -127.50 72.50 87.50 0.621411 -127.50 72.50 92.50 0.273722 -127.50 72.50 97.50 0.10637 -127.50 72.50 102.50 0.0579617 -127.50 72.50 107.50 0.0183021 -127.50 72.50 112.50 0.00840854 -127.50 72.50 117.50 0.0168086 -127.50 72.50 122.50 0.0645034 -127.50 72.50 127.50 0.211773 -127.50 72.50 132.50 0.544366 -127.50 72.50 137.50 1.18521 -127.50 72.50 142.50 2.25116 -127.50 72.50 147.50 3.53505 -127.50 72.50 152.50 4.42528 -127.50 72.50 157.50 4.5733 -127.50 72.50 162.50 3.93032 -127.50 72.50 167.50 2.50652 -127.50 72.50 172.50 1.31791 -127.50 72.50 177.50 0.62141 -127.50 72.50 182.50 0.273722 -127.50 72.50 187.50 0.10637 -127.50 72.50 192.50 0.0579616 -127.50 72.50 197.50 0.0183021 -127.50 72.50 202.50 0.00840855 -127.50 72.50 207.50 0.0168086 -127.50 72.50 212.50 0.0645034 -127.50 72.50 217.50 0.211772 -127.50 72.50 222.50 0.544365 -127.50 72.50 227.50 1.18521 -127.50 72.50 232.50 2.25116 -127.50 72.50 237.50 3.53505 -127.50 72.50 242.50 4.42528 -127.50 72.50 247.50 4.5733 -127.50 72.50 252.50 3.93032 -127.50 72.50 257.50 2.50652 -127.50 72.50 262.50 1.31791 -127.50 72.50 267.50 0.621409 -127.50 72.50 272.50 0.273722 -127.50 72.50 277.50 0.10637 -127.50 72.50 282.50 0.0579617 -127.50 72.50 287.50 0.0183021 -127.50 72.50 292.50 0.00840856 -127.50 72.50 297.50 0.0168086 -127.50 72.50 302.50 0.0645033 -127.50 72.50 307.50 0.211773 -127.50 72.50 312.50 0.544366 -127.50 72.50 317.50 1.18521 -127.50 72.50 322.50 2.25115 -127.50 72.50 327.50 3.53504 -127.50 72.50 332.50 4.42529 -127.50 72.50 337.50 4.5733 -127.50 72.50 342.50 3.93033 -127.50 72.50 347.50 2.50653 -127.50 72.50 352.50 1.31791 -127.50 72.50 357.50 0.621411 -127.50 77.50 2.50 0.252721 -127.50 77.50 7.50 0.118702 -127.50 77.50 12.50 0.0536868 -127.50 77.50 17.50 0.0269368 -127.50 77.50 22.50 0.0272175 -127.50 77.50 27.50 0.0641444 -127.50 77.50 32.50 0.196433 -127.50 77.50 37.50 0.557497 -127.50 77.50 42.50 1.26423 -127.50 77.50 47.50 2.31717 -127.50 77.50 52.50 3.68535 -127.50 77.50 57.50 4.86035 -127.50 77.50 62.50 5.59461 -127.50 77.50 67.50 5.36618 -127.50 77.50 72.50 4.2555 -127.50 77.50 77.50 2.72246 -127.50 77.50 82.50 1.28309 -127.50 77.50 87.50 0.606695 -127.50 77.50 92.50 0.252721 -127.50 77.50 97.50 0.118702 -127.50 77.50 102.50 0.0536868 -127.50 77.50 107.50 0.0269368 -127.50 77.50 112.50 0.0272175 -127.50 77.50 117.50 0.0641444 -127.50 77.50 122.50 0.196433 -127.50 77.50 127.50 0.557497 -127.50 77.50 132.50 1.26423 -127.50 77.50 137.50 2.31717 -127.50 77.50 142.50 3.68535 -127.50 77.50 147.50 4.86035 -127.50 77.50 152.50 5.59461 -127.50 77.50 157.50 5.36618 -127.50 77.50 162.50 4.2555 -127.50 77.50 167.50 2.72246 -127.50 77.50 172.50 1.28309 -127.50 77.50 177.50 0.606695 -127.50 77.50 182.50 0.252721 -127.50 77.50 187.50 0.118702 -127.50 77.50 192.50 0.0536868 -127.50 77.50 197.50 0.0269368 -127.50 77.50 202.50 0.0272175 -127.50 77.50 207.50 0.0641443 -127.50 77.50 212.50 0.196433 -127.50 77.50 217.50 0.557497 -127.50 77.50 222.50 1.26423 -127.50 77.50 227.50 2.31717 -127.50 77.50 232.50 3.68535 -127.50 77.50 237.50 4.86035 -127.50 77.50 242.50 5.59461 -127.50 77.50 247.50 5.36618 -127.50 77.50 252.50 4.2555 -127.50 77.50 257.50 2.72245 -127.50 77.50 262.50 1.28309 -127.50 77.50 267.50 0.606694 -127.50 77.50 272.50 0.252721 -127.50 77.50 277.50 0.118702 -127.50 77.50 282.50 0.0536868 -127.50 77.50 287.50 0.0269368 -127.50 77.50 292.50 0.0272175 -127.50 77.50 297.50 0.0641443 -127.50 77.50 302.50 0.196433 -127.50 77.50 307.50 0.557496 -127.50 77.50 312.50 1.26423 -127.50 77.50 317.50 2.31717 -127.50 77.50 322.50 3.68535 -127.50 77.50 327.50 4.86035 -127.50 77.50 332.50 5.59461 -127.50 77.50 337.50 5.36618 -127.50 77.50 342.50 4.2555 -127.50 77.50 347.50 2.72246 -127.50 77.50 352.50 1.28309 -127.50 77.50 357.50 0.606696 -127.50 82.50 2.50 0.202441 -127.50 82.50 7.50 0.0987705 -127.50 82.50 12.50 0.0498726 -127.50 82.50 17.50 0.0523342 -127.50 82.50 22.50 0.102323 -127.50 82.50 27.50 0.234685 -127.50 82.50 32.50 0.542053 -127.50 82.50 37.50 1.19889 -127.50 82.50 42.50 2.26138 -127.50 82.50 47.50 3.42283 -127.50 82.50 52.50 4.55863 -127.50 82.50 57.50 5.44541 -127.50 82.50 62.50 5.63597 -127.50 82.50 67.50 4.98475 -127.50 82.50 72.50 3.63459 -127.50 82.50 77.50 2.22946 -127.50 82.50 82.50 1.16129 -127.50 82.50 87.50 0.501239 -127.50 82.50 92.50 0.202441 -127.50 82.50 97.50 0.0987704 -127.50 82.50 102.50 0.0498726 -127.50 82.50 107.50 0.0523341 -127.50 82.50 112.50 0.102323 -127.50 82.50 117.50 0.234685 -127.50 82.50 122.50 0.542053 -127.50 82.50 127.50 1.19889 -127.50 82.50 132.50 2.26138 -127.50 82.50 137.50 3.42283 -127.50 82.50 142.50 4.55863 -127.50 82.50 147.50 5.44541 -127.50 82.50 152.50 5.63597 -127.50 82.50 157.50 4.98476 -127.50 82.50 162.50 3.63459 -127.50 82.50 167.50 2.22946 -127.50 82.50 172.50 1.1613 -127.50 82.50 177.50 0.50124 -127.50 82.50 182.50 0.202441 -127.50 82.50 187.50 0.0987704 -127.50 82.50 192.50 0.0498725 -127.50 82.50 197.50 0.0523341 -127.50 82.50 202.50 0.102323 -127.50 82.50 207.50 0.234685 -127.50 82.50 212.50 0.542053 -127.50 82.50 217.50 1.19889 -127.50 82.50 222.50 2.26137 -127.50 82.50 227.50 3.42283 -127.50 82.50 232.50 4.55864 -127.50 82.50 237.50 5.44541 -127.50 82.50 242.50 5.63597 -127.50 82.50 247.50 4.98475 -127.50 82.50 252.50 3.63459 -127.50 82.50 257.50 2.22946 -127.50 82.50 262.50 1.16129 -127.50 82.50 267.50 0.501239 -127.50 82.50 272.50 0.202441 -127.50 82.50 277.50 0.0987704 -127.50 82.50 282.50 0.0498726 -127.50 82.50 287.50 0.0523342 -127.50 82.50 292.50 0.102323 -127.50 82.50 297.50 0.234685 -127.50 82.50 302.50 0.542053 -127.50 82.50 307.50 1.19889 -127.50 82.50 312.50 2.26137 -127.50 82.50 317.50 3.42283 -127.50 82.50 322.50 4.55863 -127.50 82.50 327.50 5.44541 -127.50 82.50 332.50 5.63597 -127.50 82.50 337.50 4.98476 -127.50 82.50 342.50 3.6346 -127.50 82.50 347.50 2.22947 -127.50 82.50 352.50 1.1613 -127.50 82.50 357.50 0.50124 -127.50 87.50 2.50 0.118631 -127.50 87.50 7.50 0.0623658 -127.50 87.50 12.50 0.0781171 -127.50 87.50 17.50 0.164997 -127.50 87.50 22.50 0.364803 -127.50 87.50 27.50 0.722631 -127.50 87.50 32.50 1.29429 -127.50 87.50 37.50 2.12006 -127.50 87.50 42.50 3.11613 -127.50 87.50 47.50 4.06203 -127.50 87.50 52.50 4.77797 -127.50 87.50 57.50 5.08434 -127.50 87.50 62.50 4.72231 -127.50 87.50 67.50 3.69477 -127.50 87.50 72.50 2.38726 -127.50 87.50 77.50 1.33035 -127.50 87.50 82.50 0.679188 -127.50 87.50 87.50 0.309785 -127.50 87.50 92.50 0.118631 -127.50 87.50 97.50 0.0623658 -127.50 87.50 102.50 0.0781171 -127.50 87.50 107.50 0.164997 -127.50 87.50 112.50 0.364802 -127.50 87.50 117.50 0.722631 -127.50 87.50 122.50 1.29429 -127.50 87.50 127.50 2.12006 -127.50 87.50 132.50 3.11613 -127.50 87.50 137.50 4.06203 -127.50 87.50 142.50 4.77797 -127.50 87.50 147.50 5.08434 -127.50 87.50 152.50 4.72231 -127.50 87.50 157.50 3.69477 -127.50 87.50 162.50 2.38726 -127.50 87.50 167.50 1.33035 -127.50 87.50 172.50 0.679189 -127.50 87.50 177.50 0.309785 -127.50 87.50 182.50 0.118631 -127.50 87.50 187.50 0.0623658 -127.50 87.50 192.50 0.078117 -127.50 87.50 197.50 0.164996 -127.50 87.50 202.50 0.364802 -127.50 87.50 207.50 0.72263 -127.50 87.50 212.50 1.29429 -127.50 87.50 217.50 2.12006 -127.50 87.50 222.50 3.11613 -127.50 87.50 227.50 4.06203 -127.50 87.50 232.50 4.77797 -127.50 87.50 237.50 5.08434 -127.50 87.50 242.50 4.72231 -127.50 87.50 247.50 3.69477 -127.50 87.50 252.50 2.38726 -127.50 87.50 257.50 1.33035 -127.50 87.50 262.50 0.679187 -127.50 87.50 267.50 0.309784 -127.50 87.50 272.50 0.118631 -127.50 87.50 277.50 0.0623658 -127.50 87.50 282.50 0.0781171 -127.50 87.50 287.50 0.164997 -127.50 87.50 292.50 0.364802 -127.50 87.50 297.50 0.72263 -127.50 87.50 302.50 1.29429 -127.50 87.50 307.50 2.12006 -127.50 87.50 312.50 3.11613 -127.50 87.50 317.50 4.06203 -127.50 87.50 322.50 4.77796 -127.50 87.50 327.50 5.08434 -127.50 87.50 332.50 4.72231 -127.50 87.50 337.50 3.69477 -127.50 87.50 342.50 2.38726 -127.50 87.50 347.50 1.33035 -127.50 87.50 352.50 0.679189 -127.50 87.50 357.50 0.309785 -127.50 92.50 2.50 0.0760386 -127.50 92.50 7.50 0.116068 -127.50 92.50 12.50 0.241648 -127.50 92.50 17.50 0.50776 -127.50 92.50 22.50 1.03943 -127.50 92.50 27.50 1.8542 -127.50 92.50 32.50 2.76305 -127.50 92.50 37.50 3.51916 -127.50 92.50 42.50 3.96991 -127.50 92.50 47.50 4.10837 -127.50 92.50 52.50 3.96991 -127.50 92.50 57.50 3.51916 -127.50 92.50 62.50 2.76305 -127.50 92.50 67.50 1.8542 -127.50 92.50 72.50 1.03943 -127.50 92.50 77.50 0.507759 -127.50 92.50 82.50 0.241647 -127.50 92.50 87.50 0.116068 -127.50 92.50 92.50 0.0760386 -127.50 92.50 97.50 0.116068 -127.50 92.50 102.50 0.241647 -127.50 92.50 107.50 0.507759 -127.50 92.50 112.50 1.03943 -127.50 92.50 117.50 1.8542 -127.50 92.50 122.50 2.76305 -127.50 92.50 127.50 3.51916 -127.50 92.50 132.50 3.96992 -127.50 92.50 137.50 4.10837 -127.50 92.50 142.50 3.96991 -127.50 92.50 147.50 3.51916 -127.50 92.50 152.50 2.76305 -127.50 92.50 157.50 1.8542 -127.50 92.50 162.50 1.03943 -127.50 92.50 167.50 0.507759 -127.50 92.50 172.50 0.241647 -127.50 92.50 177.50 0.116068 -127.50 92.50 182.50 0.0760385 -127.50 92.50 187.50 0.116068 -127.50 92.50 192.50 0.241647 -127.50 92.50 197.50 0.507759 -127.50 92.50 202.50 1.03943 -127.50 92.50 207.50 1.8542 -127.50 92.50 212.50 2.76305 -127.50 92.50 217.50 3.51916 -127.50 92.50 222.50 3.96991 -127.50 92.50 227.50 4.10837 -127.50 92.50 232.50 3.96992 -127.50 92.50 237.50 3.51915 -127.50 92.50 242.50 2.76305 -127.50 92.50 247.50 1.8542 -127.50 92.50 252.50 1.03943 -127.50 92.50 257.50 0.507759 -127.50 92.50 262.50 0.241647 -127.50 92.50 267.50 0.116068 -127.50 92.50 272.50 0.0760386 -127.50 92.50 277.50 0.116068 -127.50 92.50 282.50 0.241647 -127.50 92.50 287.50 0.507759 -127.50 92.50 292.50 1.03943 -127.50 92.50 297.50 1.8542 -127.50 92.50 302.50 2.76305 -127.50 92.50 307.50 3.51916 -127.50 92.50 312.50 3.96991 -127.50 92.50 317.50 4.10837 -127.50 92.50 322.50 3.96991 -127.50 92.50 327.50 3.51915 -127.50 92.50 332.50 2.76305 -127.50 92.50 337.50 1.85421 -127.50 92.50 342.50 1.03943 -127.50 92.50 347.50 0.50776 -127.50 92.50 352.50 0.241648 -127.50 92.50 357.50 0.116068 -127.50 97.50 2.50 0.118631 -127.50 97.50 7.50 0.309785 -127.50 97.50 12.50 0.679188 -127.50 97.50 17.50 1.33035 -127.50 97.50 22.50 2.38726 -127.50 97.50 27.50 3.69477 -127.50 97.50 32.50 4.72231 -127.50 97.50 37.50 5.08434 -127.50 97.50 42.50 4.77797 -127.50 97.50 47.50 4.06203 -127.50 97.50 52.50 3.11613 -127.50 97.50 57.50 2.12006 -127.50 97.50 62.50 1.29429 -127.50 97.50 67.50 0.72263 -127.50 97.50 72.50 0.364802 -127.50 97.50 77.50 0.164997 -127.50 97.50 82.50 0.0781171 -127.50 97.50 87.50 0.0623658 -127.50 97.50 92.50 0.118631 -127.50 97.50 97.50 0.309785 -127.50 97.50 102.50 0.679188 -127.50 97.50 107.50 1.33035 -127.50 97.50 112.50 2.38726 -127.50 97.50 117.50 3.69477 -127.50 97.50 122.50 4.72231 -127.50 97.50 127.50 5.08434 -127.50 97.50 132.50 4.77797 -127.50 97.50 137.50 4.06203 -127.50 97.50 142.50 3.11613 -127.50 97.50 147.50 2.12006 -127.50 97.50 152.50 1.29429 -127.50 97.50 157.50 0.722631 -127.50 97.50 162.50 0.364803 -127.50 97.50 167.50 0.164997 -127.50 97.50 172.50 0.0781171 -127.50 97.50 177.50 0.0623658 -127.50 97.50 182.50 0.118631 -127.50 97.50 187.50 0.309785 -127.50 97.50 192.50 0.679187 -127.50 97.50 197.50 1.33035 -127.50 97.50 202.50 2.38726 -127.50 97.50 207.50 3.69477 -127.50 97.50 212.50 4.72231 -127.50 97.50 217.50 5.08434 -127.50 97.50 222.50 4.77797 -127.50 97.50 227.50 4.06203 -127.50 97.50 232.50 3.11612 -127.50 97.50 237.50 2.12006 -127.50 97.50 242.50 1.29429 -127.50 97.50 247.50 0.72263 -127.50 97.50 252.50 0.364802 -127.50 97.50 257.50 0.164996 -127.50 97.50 262.50 0.0781171 -127.50 97.50 267.50 0.0623658 -127.50 97.50 272.50 0.118631 -127.50 97.50 277.50 0.309785 -127.50 97.50 282.50 0.679188 -127.50 97.50 287.50 1.33035 -127.50 97.50 292.50 2.38726 -127.50 97.50 297.50 3.69477 -127.50 97.50 302.50 4.7223 -127.50 97.50 307.50 5.08434 -127.50 97.50 312.50 4.77797 -127.50 97.50 317.50 4.06203 -127.50 97.50 322.50 3.11613 -127.50 97.50 327.50 2.12006 -127.50 97.50 332.50 1.2943 -127.50 97.50 337.50 0.722631 -127.50 97.50 342.50 0.364803 -127.50 97.50 347.50 0.164997 -127.50 97.50 352.50 0.0781172 -127.50 97.50 357.50 0.0623658 -127.50 102.50 2.50 0.202441 -127.50 102.50 7.50 0.501239 -127.50 102.50 12.50 1.1613 -127.50 102.50 17.50 2.22946 -127.50 102.50 22.50 3.63459 -127.50 102.50 27.50 4.98475 -127.50 102.50 32.50 5.63597 -127.50 102.50 37.50 5.4454 -127.50 102.50 42.50 4.55863 -127.50 102.50 47.50 3.42283 -127.50 102.50 52.50 2.26138 -127.50 102.50 57.50 1.19889 -127.50 102.50 62.50 0.542052 -127.50 102.50 67.50 0.234685 -127.50 102.50 72.50 0.102323 -127.50 102.50 77.50 0.0523342 -127.50 102.50 82.50 0.0498726 -127.50 102.50 87.50 0.0987705 -127.50 102.50 92.50 0.202441 -127.50 102.50 97.50 0.50124 -127.50 102.50 102.50 1.1613 -127.50 102.50 107.50 2.22946 -127.50 102.50 112.50 3.63459 -127.50 102.50 117.50 4.98476 -127.50 102.50 122.50 5.63597 -127.50 102.50 127.50 5.44541 -127.50 102.50 132.50 4.55863 -127.50 102.50 137.50 3.42283 -127.50 102.50 142.50 2.26138 -127.50 102.50 147.50 1.19889 -127.50 102.50 152.50 0.542053 -127.50 102.50 157.50 0.234686 -127.50 102.50 162.50 0.102323 -127.50 102.50 167.50 0.0523342 -127.50 102.50 172.50 0.0498726 -127.50 102.50 177.50 0.0987703 -127.50 102.50 182.50 0.202441 -127.50 102.50 187.50 0.501239 -127.50 102.50 192.50 1.1613 -127.50 102.50 197.50 2.22946 -127.50 102.50 202.50 3.63459 -127.50 102.50 207.50 4.98475 -127.50 102.50 212.50 5.63597 -127.50 102.50 217.50 5.44541 -127.50 102.50 222.50 4.55863 -127.50 102.50 227.50 3.42283 -127.50 102.50 232.50 2.26137 -127.50 102.50 237.50 1.19889 -127.50 102.50 242.50 0.542052 -127.50 102.50 247.50 0.234685 -127.50 102.50 252.50 0.102323 -127.50 102.50 257.50 0.0523341 -127.50 102.50 262.50 0.0498726 -127.50 102.50 267.50 0.0987706 -127.50 102.50 272.50 0.202441 -127.50 102.50 277.50 0.501239 -127.50 102.50 282.50 1.16129 -127.50 102.50 287.50 2.22946 -127.50 102.50 292.50 3.63459 -127.50 102.50 297.50 4.98475 -127.50 102.50 302.50 5.63597 -127.50 102.50 307.50 5.44541 -127.50 102.50 312.50 4.55863 -127.50 102.50 317.50 3.42283 -127.50 102.50 322.50 2.26138 -127.50 102.50 327.50 1.19889 -127.50 102.50 332.50 0.542054 -127.50 102.50 337.50 0.234686 -127.50 102.50 342.50 0.102323 -127.50 102.50 347.50 0.0523342 -127.50 102.50 352.50 0.0498725 -127.50 102.50 357.50 0.0987702 -127.50 107.50 2.50 0.252721 -127.50 107.50 7.50 0.606695 -127.50 107.50 12.50 1.28309 -127.50 107.50 17.50 2.72246 -127.50 107.50 22.50 4.2555 -127.50 107.50 27.50 5.36618 -127.50 107.50 32.50 5.59461 -127.50 107.50 37.50 4.86034 -127.50 107.50 42.50 3.68535 -127.50 107.50 47.50 2.31717 -127.50 107.50 52.50 1.26423 -127.50 107.50 57.50 0.557497 -127.50 107.50 62.50 0.196432 -127.50 107.50 67.50 0.0641443 -127.50 107.50 72.50 0.0272175 -127.50 107.50 77.50 0.0269368 -127.50 107.50 82.50 0.0536869 -127.50 107.50 87.50 0.118702 -127.50 107.50 92.50 0.252721 -127.50 107.50 97.50 0.606695 -127.50 107.50 102.50 1.28309 -127.50 107.50 107.50 2.72246 -127.50 107.50 112.50 4.2555 -127.50 107.50 117.50 5.36618 -127.50 107.50 122.50 5.59461 -127.50 107.50 127.50 4.86034 -127.50 107.50 132.50 3.68535 -127.50 107.50 137.50 2.31717 -127.50 107.50 142.50 1.26423 -127.50 107.50 147.50 0.557497 -127.50 107.50 152.50 0.196433 -127.50 107.50 157.50 0.0641444 -127.50 107.50 162.50 0.0272175 -127.50 107.50 167.50 0.0269368 -127.50 107.50 172.50 0.0536868 -127.50 107.50 177.50 0.118702 -127.50 107.50 182.50 0.252721 -127.50 107.50 187.50 0.606695 -127.50 107.50 192.50 1.28309 -127.50 107.50 197.50 2.72246 -127.50 107.50 202.50 4.2555 -127.50 107.50 207.50 5.36618 -127.50 107.50 212.50 5.59461 -127.50 107.50 217.50 4.86035 -127.50 107.50 222.50 3.68535 -127.50 107.50 227.50 2.31717 -127.50 107.50 232.50 1.26423 -127.50 107.50 237.50 0.557495 -127.50 107.50 242.50 0.196432 -127.50 107.50 247.50 0.0641442 -127.50 107.50 252.50 0.0272175 -127.50 107.50 257.50 0.0269368 -127.50 107.50 262.50 0.0536869 -127.50 107.50 267.50 0.118702 -127.50 107.50 272.50 0.252721 -127.50 107.50 277.50 0.606695 -127.50 107.50 282.50 1.28309 -127.50 107.50 287.50 2.72246 -127.50 107.50 292.50 4.2555 -127.50 107.50 297.50 5.36618 -127.50 107.50 302.50 5.59461 -127.50 107.50 307.50 4.86035 -127.50 107.50 312.50 3.68535 -127.50 107.50 317.50 2.31717 -127.50 107.50 322.50 1.26423 -127.50 107.50 327.50 0.557498 -127.50 107.50 332.50 0.196433 -127.50 107.50 337.50 0.0641445 -127.50 107.50 342.50 0.0272175 -127.50 107.50 347.50 0.0269368 -127.50 107.50 352.50 0.0536867 -127.50 107.50 357.50 0.118702 -127.50 112.50 2.50 0.273722 -127.50 112.50 7.50 0.62141 -127.50 112.50 12.50 1.31791 -127.50 112.50 17.50 2.50653 -127.50 112.50 22.50 3.93032 -127.50 112.50 27.50 4.57329 -127.50 112.50 32.50 4.42529 -127.50 112.50 37.50 3.53504 -127.50 112.50 42.50 2.25116 -127.50 112.50 47.50 1.18521 -127.50 112.50 52.50 0.544366 -127.50 112.50 57.50 0.211772 -127.50 112.50 62.50 0.0645033 -127.50 112.50 67.50 0.0168086 -127.50 112.50 72.50 0.00840856 -127.50 112.50 77.50 0.0183021 -127.50 112.50 82.50 0.0579617 -127.50 112.50 87.50 0.10637 -127.50 112.50 92.50 0.273722 -127.50 112.50 97.50 0.621411 -127.50 112.50 102.50 1.31791 -127.50 112.50 107.50 2.50653 -127.50 112.50 112.50 3.93033 -127.50 112.50 117.50 4.57329 -127.50 112.50 122.50 4.42529 -127.50 112.50 127.50 3.53505 -127.50 112.50 132.50 2.25116 -127.50 112.50 137.50 1.18521 -127.50 112.50 142.50 0.544366 -127.50 112.50 147.50 0.211773 -127.50 112.50 152.50 0.0645034 -127.50 112.50 157.50 0.0168086 -127.50 112.50 162.50 0.00840856 -127.50 112.50 167.50 0.0183021 -127.50 112.50 172.50 0.0579617 -127.50 112.50 177.50 0.10637 -127.50 112.50 182.50 0.273722 -127.50 112.50 187.50 0.62141 -127.50 112.50 192.50 1.31791 -127.50 112.50 197.50 2.50653 -127.50 112.50 202.50 3.93032 -127.50 112.50 207.50 4.5733 -127.50 112.50 212.50 4.42529 -127.50 112.50 217.50 3.53505 -127.50 112.50 222.50 2.25116 -127.50 112.50 227.50 1.18522 -127.50 112.50 232.50 0.544365 -127.50 112.50 237.50 0.211772 -127.50 112.50 242.50 0.0645032 -127.50 112.50 247.50 0.0168086 -127.50 112.50 252.50 0.00840855 -127.50 112.50 257.50 0.0183021 -127.50 112.50 262.50 0.0579617 -127.50 112.50 267.50 0.10637 -127.50 112.50 272.50 0.273722 -127.50 112.50 277.50 0.62141 -127.50 112.50 282.50 1.31791 -127.50 112.50 287.50 2.50653 -127.50 112.50 292.50 3.93032 -127.50 112.50 297.50 4.5733 -127.50 112.50 302.50 4.42529 -127.50 112.50 307.50 3.53505 -127.50 112.50 312.50 2.25116 -127.50 112.50 317.50 1.18521 -127.50 112.50 322.50 0.544367 -127.50 112.50 327.50 0.211773 -127.50 112.50 332.50 0.0645036 -127.50 112.50 337.50 0.0168087 -127.50 112.50 342.50 0.00840856 -127.50 112.50 347.50 0.018302 -127.50 112.50 352.50 0.0579615 -127.50 112.50 357.50 0.10637 -127.50 117.50 2.50 0.315204 -127.50 117.50 7.50 0.659434 -127.50 117.50 12.50 1.19472 -127.50 117.50 17.50 1.93798 -127.50 117.50 22.50 2.75563 -127.50 117.50 27.50 3.04831 -127.50 117.50 32.50 2.62957 -127.50 117.50 37.50 1.8407 -127.50 117.50 42.50 1.04715 -127.50 117.50 47.50 0.526913 -127.50 117.50 52.50 0.249995 -127.50 117.50 57.50 0.0998971 -127.50 117.50 62.50 0.0320944 -127.50 117.50 67.50 0.0142209 -127.50 117.50 72.50 0.0146423 -127.50 117.50 77.50 0.0294464 -127.50 117.50 82.50 0.065183 -127.50 117.50 87.50 0.115517 -127.50 117.50 92.50 0.315205 -127.50 117.50 97.50 0.659435 -127.50 117.50 102.50 1.19472 -127.50 117.50 107.50 1.93799 -127.50 117.50 112.50 2.75563 -127.50 117.50 117.50 3.04831 -127.50 117.50 122.50 2.62957 -127.50 117.50 127.50 1.8407 -127.50 117.50 132.50 1.04715 -127.50 117.50 137.50 0.526912 -127.50 117.50 142.50 0.249995 -127.50 117.50 147.50 0.0998971 -127.50 117.50 152.50 0.0320944 -127.50 117.50 157.50 0.0142209 -127.50 117.50 162.50 0.0146423 -127.50 117.50 167.50 0.0294464 -127.50 117.50 172.50 0.0651829 -127.50 117.50 177.50 0.115517 -127.50 117.50 182.50 0.315205 -127.50 117.50 187.50 0.659434 -127.50 117.50 192.50 1.19472 -127.50 117.50 197.50 1.93798 -127.50 117.50 202.50 2.75563 -127.50 117.50 207.50 3.04831 -127.50 117.50 212.50 2.62957 -127.50 117.50 217.50 1.8407 -127.50 117.50 222.50 1.04715 -127.50 117.50 227.50 0.526913 -127.50 117.50 232.50 0.249995 -127.50 117.50 237.50 0.0998969 -127.50 117.50 242.50 0.0320944 -127.50 117.50 247.50 0.0142209 -127.50 117.50 252.50 0.0146423 -127.50 117.50 257.50 0.0294464 -127.50 117.50 262.50 0.0651829 -127.50 117.50 267.50 0.115517 -127.50 117.50 272.50 0.315204 -127.50 117.50 277.50 0.659434 -127.50 117.50 282.50 1.19472 -127.50 117.50 287.50 1.93798 -127.50 117.50 292.50 2.75563 -127.50 117.50 297.50 3.04831 -127.50 117.50 302.50 2.62957 -127.50 117.50 307.50 1.8407 -127.50 117.50 312.50 1.04715 -127.50 117.50 317.50 0.526913 -127.50 117.50 322.50 0.249995 -127.50 117.50 327.50 0.0998973 -127.50 117.50 332.50 0.0320945 -127.50 117.50 337.50 0.0142209 -127.50 117.50 342.50 0.0146423 -127.50 117.50 347.50 0.0294464 -127.50 117.50 352.50 0.0651828 -127.50 117.50 357.50 0.115517 -127.50 122.50 2.50 0.348473 -127.50 122.50 7.50 0.613993 -127.50 122.50 12.50 0.931859 -127.50 122.50 17.50 1.25066 -127.50 122.50 22.50 1.48491 -127.50 122.50 27.50 1.48961 -127.50 122.50 32.50 1.1483 -127.50 122.50 37.50 0.700882 -127.50 122.50 42.50 0.343468 -127.50 122.50 47.50 0.181719 -127.50 122.50 52.50 0.107718 -127.50 122.50 57.50 0.0763319 -127.50 122.50 62.50 0.0728862 -127.50 122.50 67.50 0.0657578 -127.50 122.50 72.50 0.0824293 -127.50 122.50 77.50 0.106065 -127.50 122.50 82.50 0.142713 -127.50 122.50 87.50 0.162287 -127.50 122.50 92.50 0.348474 -127.50 122.50 97.50 0.613993 -127.50 122.50 102.50 0.93186 -127.50 122.50 107.50 1.25066 -127.50 122.50 112.50 1.48491 -127.50 122.50 117.50 1.48961 -127.50 122.50 122.50 1.1483 -127.50 122.50 127.50 0.700881 -127.50 122.50 132.50 0.343468 -127.50 122.50 137.50 0.181719 -127.50 122.50 142.50 0.107718 -127.50 122.50 147.50 0.0763319 -127.50 122.50 152.50 0.0728862 -127.50 122.50 157.50 0.0657578 -127.50 122.50 162.50 0.0824292 -127.50 122.50 167.50 0.106065 -127.50 122.50 172.50 0.142713 -127.50 122.50 177.50 0.162287 -127.50 122.50 182.50 0.348473 -127.50 122.50 187.50 0.613993 -127.50 122.50 192.50 0.93186 -127.50 122.50 197.50 1.25066 -127.50 122.50 202.50 1.48491 -127.50 122.50 207.50 1.48961 -127.50 122.50 212.50 1.1483 -127.50 122.50 217.50 0.700883 -127.50 122.50 222.50 0.343468 -127.50 122.50 227.50 0.181719 -127.50 122.50 232.50 0.107718 -127.50 122.50 237.50 0.0763319 -127.50 122.50 242.50 0.0728862 -127.50 122.50 247.50 0.0657578 -127.50 122.50 252.50 0.0824293 -127.50 122.50 257.50 0.106065 -127.50 122.50 262.50 0.142713 -127.50 122.50 267.50 0.162287 -127.50 122.50 272.50 0.348473 -127.50 122.50 277.50 0.613993 -127.50 122.50 282.50 0.931859 -127.50 122.50 287.50 1.25066 -127.50 122.50 292.50 1.48491 -127.50 122.50 297.50 1.48961 -127.50 122.50 302.50 1.1483 -127.50 122.50 307.50 0.700883 -127.50 122.50 312.50 0.343468 -127.50 122.50 317.50 0.181719 -127.50 122.50 322.50 0.107718 -127.50 122.50 327.50 0.076332 -127.50 122.50 332.50 0.0728862 -127.50 122.50 337.50 0.0657578 -127.50 122.50 342.50 0.0824292 -127.50 122.50 347.50 0.106065 -127.50 122.50 352.50 0.142713 -127.50 122.50 357.50 0.162287 -127.50 127.50 2.50 0.328532 -127.50 127.50 7.50 0.428519 -127.50 127.50 12.50 0.570667 -127.50 127.50 17.50 0.672168 -127.50 127.50 22.50 0.649893 -127.50 127.50 27.50 0.534144 -127.50 127.50 32.50 0.371836 -127.50 127.50 37.50 0.189034 -127.50 127.50 42.50 0.0843452 -127.50 127.50 47.50 0.0583608 -127.50 127.50 52.50 0.0769568 -127.50 127.50 57.50 0.152801 -127.50 127.50 62.50 0.233769 -127.50 127.50 67.50 0.278107 -127.50 127.50 72.50 0.358516 -127.50 127.50 77.50 0.365703 -127.50 127.50 82.50 0.316922 -127.50 127.50 87.50 0.246085 -127.50 127.50 92.50 0.328532 -127.50 127.50 97.50 0.428519 -127.50 127.50 102.50 0.570667 -127.50 127.50 107.50 0.672169 -127.50 127.50 112.50 0.649893 -127.50 127.50 117.50 0.534145 -127.50 127.50 122.50 0.371836 -127.50 127.50 127.50 0.189034 -127.50 127.50 132.50 0.0843452 -127.50 127.50 137.50 0.0583608 -127.50 127.50 142.50 0.0769568 -127.50 127.50 147.50 0.152801 -127.50 127.50 152.50 0.233769 -127.50 127.50 157.50 0.278107 -127.50 127.50 162.50 0.358515 -127.50 127.50 167.50 0.365703 -127.50 127.50 172.50 0.316922 -127.50 127.50 177.50 0.246085 -127.50 127.50 182.50 0.328532 -127.50 127.50 187.50 0.428519 -127.50 127.50 192.50 0.570667 -127.50 127.50 197.50 0.672169 -127.50 127.50 202.50 0.649893 -127.50 127.50 207.50 0.534145 -127.50 127.50 212.50 0.371836 -127.50 127.50 217.50 0.189034 -127.50 127.50 222.50 0.0843452 -127.50 127.50 227.50 0.0583608 -127.50 127.50 232.50 0.0769569 -127.50 127.50 237.50 0.152801 -127.50 127.50 242.50 0.233769 -127.50 127.50 247.50 0.278107 -127.50 127.50 252.50 0.358515 -127.50 127.50 257.50 0.365703 -127.50 127.50 262.50 0.316922 -127.50 127.50 267.50 0.246085 -127.50 127.50 272.50 0.328532 -127.50 127.50 277.50 0.428519 -127.50 127.50 282.50 0.570667 -127.50 127.50 287.50 0.672169 -127.50 127.50 292.50 0.649893 -127.50 127.50 297.50 0.534145 -127.50 127.50 302.50 0.371836 -127.50 127.50 307.50 0.189034 -127.50 127.50 312.50 0.0843453 -127.50 127.50 317.50 0.0583608 -127.50 127.50 322.50 0.0769567 -127.50 127.50 327.50 0.152801 -127.50 127.50 332.50 0.233769 -127.50 127.50 337.50 0.278107 -127.50 127.50 342.50 0.358515 -127.50 127.50 347.50 0.365703 -127.50 127.50 352.50 0.316922 -127.50 127.50 357.50 0.246085 -127.50 132.50 2.50 0.288878 -127.50 132.50 7.50 0.233442 -127.50 132.50 12.50 0.257683 -127.50 132.50 17.50 0.280289 -127.50 132.50 22.50 0.252126 -127.50 132.50 27.50 0.158508 -127.50 132.50 32.50 0.0877077 -127.50 132.50 37.50 0.0432187 -127.50 132.50 42.50 0.0297947 -127.50 132.50 47.50 0.0654376 -127.50 132.50 52.50 0.195269 -127.50 132.50 57.50 0.436657 -127.50 132.50 62.50 0.679011 -127.50 132.50 67.50 0.953545 -127.50 132.50 72.50 1.07286 -127.50 132.50 77.50 0.891921 -127.50 132.50 82.50 0.600882 -127.50 132.50 87.50 0.373192 -127.50 132.50 92.50 0.288878 -127.50 132.50 97.50 0.233442 -127.50 132.50 102.50 0.257683 -127.50 132.50 107.50 0.280289 -127.50 132.50 112.50 0.252126 -127.50 132.50 117.50 0.158508 -127.50 132.50 122.50 0.0877077 -127.50 132.50 127.50 0.0432187 -127.50 132.50 132.50 0.0297946 -127.50 132.50 137.50 0.0654376 -127.50 132.50 142.50 0.195269 -127.50 132.50 147.50 0.436657 -127.50 132.50 152.50 0.67901 -127.50 132.50 157.50 0.953544 -127.50 132.50 162.50 1.07286 -127.50 132.50 167.50 0.89192 -127.50 132.50 172.50 0.600881 -127.50 132.50 177.50 0.373192 -127.50 132.50 182.50 0.288878 -127.50 132.50 187.50 0.233442 -127.50 132.50 192.50 0.257683 -127.50 132.50 197.50 0.280289 -127.50 132.50 202.50 0.252126 -127.50 132.50 207.50 0.158508 -127.50 132.50 212.50 0.0877078 -127.50 132.50 217.50 0.0432187 -127.50 132.50 222.50 0.0297947 -127.50 132.50 227.50 0.0654375 -127.50 132.50 232.50 0.19527 -127.50 132.50 237.50 0.436657 -127.50 132.50 242.50 0.679011 -127.50 132.50 247.50 0.953545 -127.50 132.50 252.50 1.07287 -127.50 132.50 257.50 0.891919 -127.50 132.50 262.50 0.600881 -127.50 132.50 267.50 0.373191 -127.50 132.50 272.50 0.288878 -127.50 132.50 277.50 0.233442 -127.50 132.50 282.50 0.257683 -127.50 132.50 287.50 0.280289 -127.50 132.50 292.50 0.252126 -127.50 132.50 297.50 0.158508 -127.50 132.50 302.50 0.0877078 -127.50 132.50 307.50 0.0432188 -127.50 132.50 312.50 0.0297947 -127.50 132.50 317.50 0.0654375 -127.50 132.50 322.50 0.195269 -127.50 132.50 327.50 0.436657 -127.50 132.50 332.50 0.67901 -127.50 132.50 337.50 0.953545 -127.50 132.50 342.50 1.07286 -127.50 132.50 347.50 0.891921 -127.50 132.50 352.50 0.600882 -127.50 132.50 357.50 0.373192 -127.50 137.50 2.50 0.272741 -127.50 137.50 7.50 0.126127 -127.50 137.50 12.50 0.0916225 -127.50 137.50 17.50 0.0898222 -127.50 137.50 22.50 0.0771198 -127.50 137.50 27.50 0.043737 -127.50 137.50 32.50 0.0210071 -127.50 137.50 37.50 0.0272758 -127.50 137.50 42.50 0.059534 -127.50 137.50 47.50 0.210639 -127.50 137.50 52.50 0.52032 -127.50 137.50 57.50 1.09133 -127.50 137.50 62.50 1.79439 -127.50 137.50 67.50 2.36679 -127.50 137.50 72.50 2.35483 -127.50 137.50 77.50 1.72448 -127.50 137.50 82.50 1.02108 -127.50 137.50 87.50 0.542745 -127.50 137.50 92.50 0.272741 -127.50 137.50 97.50 0.126127 -127.50 137.50 102.50 0.0916225 -127.50 137.50 107.50 0.0898223 -127.50 137.50 112.50 0.0771197 -127.50 137.50 117.50 0.043737 -127.50 137.50 122.50 0.0210071 -127.50 137.50 127.50 0.0272758 -127.50 137.50 132.50 0.059534 -127.50 137.50 137.50 0.210639 -127.50 137.50 142.50 0.52032 -127.50 137.50 147.50 1.09133 -127.50 137.50 152.50 1.79439 -127.50 137.50 157.50 2.36679 -127.50 137.50 162.50 2.35484 -127.50 137.50 167.50 1.72448 -127.50 137.50 172.50 1.02108 -127.50 137.50 177.50 0.542745 -127.50 137.50 182.50 0.272741 -127.50 137.50 187.50 0.126127 -127.50 137.50 192.50 0.0916226 -127.50 137.50 197.50 0.0898224 -127.50 137.50 202.50 0.0771198 -127.50 137.50 207.50 0.0437371 -127.50 137.50 212.50 0.0210071 -127.50 137.50 217.50 0.0272758 -127.50 137.50 222.50 0.0595339 -127.50 137.50 227.50 0.210638 -127.50 137.50 232.50 0.520321 -127.50 137.50 237.50 1.09133 -127.50 137.50 242.50 1.79439 -127.50 137.50 247.50 2.36679 -127.50 137.50 252.50 2.35483 -127.50 137.50 257.50 1.72448 -127.50 137.50 262.50 1.02107 -127.50 137.50 267.50 0.542744 -127.50 137.50 272.50 0.272741 -127.50 137.50 277.50 0.126127 -127.50 137.50 282.50 0.0916225 -127.50 137.50 287.50 0.0898223 -127.50 137.50 292.50 0.0771198 -127.50 137.50 297.50 0.0437371 -127.50 137.50 302.50 0.0210071 -127.50 137.50 307.50 0.0272758 -127.50 137.50 312.50 0.0595339 -127.50 137.50 317.50 0.210638 -127.50 137.50 322.50 0.520319 -127.50 137.50 327.50 1.09133 -127.50 137.50 332.50 1.79439 -127.50 137.50 337.50 2.36679 -127.50 137.50 342.50 2.35484 -127.50 137.50 347.50 1.72448 -127.50 137.50 352.50 1.02108 -127.50 137.50 357.50 0.542746 -127.50 142.50 2.50 0.288878 -127.50 142.50 7.50 0.0891298 -127.50 142.50 12.50 0.0319311 -127.50 142.50 17.50 0.0216585 -127.50 142.50 22.50 0.018284 -127.50 142.50 27.50 0.01989 -127.50 142.50 32.50 0.036977 -127.50 142.50 37.50 0.0901081 -127.50 142.50 42.50 0.205941 -127.50 142.50 47.50 0.474548 -127.50 142.50 52.50 1.09675 -127.50 142.50 57.50 2.13512 -127.50 142.50 62.50 3.38513 -127.50 142.50 67.50 4.12697 -127.50 142.50 72.50 3.89943 -127.50 142.50 77.50 2.78949 -127.50 142.50 82.50 1.5684 -127.50 142.50 87.50 0.741633 -127.50 142.50 92.50 0.288878 -127.50 142.50 97.50 0.0891299 -127.50 142.50 102.50 0.0319311 -127.50 142.50 107.50 0.0216585 -127.50 142.50 112.50 0.018284 -127.50 142.50 117.50 0.01989 -127.50 142.50 122.50 0.0369769 -127.50 142.50 127.50 0.0901081 -127.50 142.50 132.50 0.205941 -127.50 142.50 137.50 0.474548 -127.50 142.50 142.50 1.09675 -127.50 142.50 147.50 2.13512 -127.50 142.50 152.50 3.38513 -127.50 142.50 157.50 4.12697 -127.50 142.50 162.50 3.89943 -127.50 142.50 167.50 2.78949 -127.50 142.50 172.50 1.5684 -127.50 142.50 177.50 0.741633 -127.50 142.50 182.50 0.288878 -127.50 142.50 187.50 0.0891298 -127.50 142.50 192.50 0.0319311 -127.50 142.50 197.50 0.0216585 -127.50 142.50 202.50 0.018284 -127.50 142.50 207.50 0.01989 -127.50 142.50 212.50 0.0369769 -127.50 142.50 217.50 0.090108 -127.50 142.50 222.50 0.205941 -127.50 142.50 227.50 0.474548 -127.50 142.50 232.50 1.09676 -127.50 142.50 237.50 2.13512 -127.50 142.50 242.50 3.38513 -127.50 142.50 247.50 4.12697 -127.50 142.50 252.50 3.89943 -127.50 142.50 257.50 2.78949 -127.50 142.50 262.50 1.5684 -127.50 142.50 267.50 0.741633 -127.50 142.50 272.50 0.288878 -127.50 142.50 277.50 0.0891298 -127.50 142.50 282.50 0.031931 -127.50 142.50 287.50 0.0216585 -127.50 142.50 292.50 0.0182841 -127.50 142.50 297.50 0.01989 -127.50 142.50 302.50 0.0369769 -127.50 142.50 307.50 0.090108 -127.50 142.50 312.50 0.205941 -127.50 142.50 317.50 0.474547 -127.50 142.50 322.50 1.09675 -127.50 142.50 327.50 2.13512 -127.50 142.50 332.50 3.38513 -127.50 142.50 337.50 4.12697 -127.50 142.50 342.50 3.89944 -127.50 142.50 347.50 2.7895 -127.50 142.50 352.50 1.5684 -127.50 142.50 357.50 0.741635 -127.50 147.50 2.50 0.328532 -127.50 147.50 7.50 0.0866606 -127.50 147.50 12.50 0.0233344 -127.50 147.50 17.50 0.0111927 -127.50 147.50 22.50 0.016875 -127.50 147.50 27.50 0.0419012 -127.50 147.50 32.50 0.117388 -127.50 147.50 37.50 0.265309 -127.50 147.50 42.50 0.506261 -127.50 147.50 47.50 0.92494 -127.50 147.50 52.50 1.76091 -127.50 147.50 57.50 3.13348 -127.50 147.50 62.50 4.60736 -127.50 147.50 67.50 5.49299 -127.50 147.50 72.50 5.18173 -127.50 147.50 77.50 3.78195 -127.50 147.50 82.50 2.10274 -127.50 147.50 87.50 0.920471 -127.50 147.50 92.50 0.328531 -127.50 147.50 97.50 0.0866606 -127.50 147.50 102.50 0.0233344 -127.50 147.50 107.50 0.0111927 -127.50 147.50 112.50 0.016875 -127.50 147.50 117.50 0.0419012 -127.50 147.50 122.50 0.117388 -127.50 147.50 127.50 0.265309 -127.50 147.50 132.50 0.506261 -127.50 147.50 137.50 0.92494 -127.50 147.50 142.50 1.76091 -127.50 147.50 147.50 3.13348 -127.50 147.50 152.50 4.60736 -127.50 147.50 157.50 5.49299 -127.50 147.50 162.50 5.18173 -127.50 147.50 167.50 3.78195 -127.50 147.50 172.50 2.10274 -127.50 147.50 177.50 0.920472 -127.50 147.50 182.50 0.328531 -127.50 147.50 187.50 0.0866605 -127.50 147.50 192.50 0.0233344 -127.50 147.50 197.50 0.0111927 -127.50 147.50 202.50 0.016875 -127.50 147.50 207.50 0.0419012 -127.50 147.50 212.50 0.117388 -127.50 147.50 217.50 0.265309 -127.50 147.50 222.50 0.506261 -127.50 147.50 227.50 0.92494 -127.50 147.50 232.50 1.76091 -127.50 147.50 237.50 3.13348 -127.50 147.50 242.50 4.60736 -127.50 147.50 247.50 5.49299 -127.50 147.50 252.50 5.18173 -127.50 147.50 257.50 3.78194 -127.50 147.50 262.50 2.10274 -127.50 147.50 267.50 0.920471 -127.50 147.50 272.50 0.328532 -127.50 147.50 277.50 0.0866606 -127.50 147.50 282.50 0.0233344 -127.50 147.50 287.50 0.0111927 -127.50 147.50 292.50 0.016875 -127.50 147.50 297.50 0.0419012 -127.50 147.50 302.50 0.117388 -127.50 147.50 307.50 0.265309 -127.50 147.50 312.50 0.506261 -127.50 147.50 317.50 0.92494 -127.50 147.50 322.50 1.76091 -127.50 147.50 327.50 3.13348 -127.50 147.50 332.50 4.60736 -127.50 147.50 337.50 5.49299 -127.50 147.50 342.50 5.18173 -127.50 147.50 347.50 3.78195 -127.50 147.50 352.50 2.10274 -127.50 147.50 357.50 0.920474 -127.50 152.50 2.50 0.348473 -127.50 152.50 7.50 0.0903385 -127.50 152.50 12.50 0.0308658 -127.50 152.50 17.50 0.0203815 -127.50 152.50 22.50 0.0446586 -127.50 152.50 27.50 0.110479 -127.50 152.50 32.50 0.275267 -127.50 152.50 37.50 0.559573 -127.50 152.50 42.50 0.907054 -127.50 152.50 47.50 1.40564 -127.50 152.50 52.50 2.24383 -127.50 152.50 57.50 3.47636 -127.50 152.50 62.50 4.84183 -127.50 152.50 67.50 5.76945 -127.50 152.50 72.50 5.39525 -127.50 152.50 77.50 4.01869 -127.50 152.50 82.50 2.2405 -127.50 152.50 87.50 0.96703 -127.50 152.50 92.50 0.348473 -127.50 152.50 97.50 0.0903383 -127.50 152.50 102.50 0.0308658 -127.50 152.50 107.50 0.0203815 -127.50 152.50 112.50 0.0446586 -127.50 152.50 117.50 0.110479 -127.50 152.50 122.50 0.275267 -127.50 152.50 127.50 0.559573 -127.50 152.50 132.50 0.907054 -127.50 152.50 137.50 1.40564 -127.50 152.50 142.50 2.24383 -127.50 152.50 147.50 3.47636 -127.50 152.50 152.50 4.84183 -127.50 152.50 157.50 5.76944 -127.50 152.50 162.50 5.39525 -127.50 152.50 167.50 4.01869 -127.50 152.50 172.50 2.2405 -127.50 152.50 177.50 0.967031 -127.50 152.50 182.50 0.348473 -127.50 152.50 187.50 0.0903383 -127.50 152.50 192.50 0.0308657 -127.50 152.50 197.50 0.0203815 -127.50 152.50 202.50 0.0446586 -127.50 152.50 207.50 0.110479 -127.50 152.50 212.50 0.275266 -127.50 152.50 217.50 0.559572 -127.50 152.50 222.50 0.907053 -127.50 152.50 227.50 1.40564 -127.50 152.50 232.50 2.24383 -127.50 152.50 237.50 3.47637 -127.50 152.50 242.50 4.84183 -127.50 152.50 247.50 5.76945 -127.50 152.50 252.50 5.39524 -127.50 152.50 257.50 4.01869 -127.50 152.50 262.50 2.2405 -127.50 152.50 267.50 0.967029 -127.50 152.50 272.50 0.348473 -127.50 152.50 277.50 0.0903383 -127.50 152.50 282.50 0.0308657 -127.50 152.50 287.50 0.0203815 -127.50 152.50 292.50 0.0446586 -127.50 152.50 297.50 0.110479 -127.50 152.50 302.50 0.275266 -127.50 152.50 307.50 0.559572 -127.50 152.50 312.50 0.907053 -127.50 152.50 317.50 1.40564 -127.50 152.50 322.50 2.24383 -127.50 152.50 327.50 3.47636 -127.50 152.50 332.50 4.84182 -127.50 152.50 337.50 5.76945 -127.50 152.50 342.50 5.39525 -127.50 152.50 347.50 4.01869 -127.50 152.50 352.50 2.2405 -127.50 152.50 357.50 0.967033 -127.50 157.50 2.50 0.315204 -127.50 157.50 7.50 0.0937556 -127.50 157.50 12.50 0.0419426 -127.50 157.50 17.50 0.0536605 -127.50 157.50 22.50 0.117925 -127.50 157.50 27.50 0.247701 -127.50 157.50 32.50 0.517773 -127.50 157.50 37.50 0.897298 -127.50 157.50 42.50 1.27299 -127.50 157.50 47.50 1.69826 -127.50 157.50 52.50 2.24399 -127.50 157.50 57.50 3.0451 -127.50 157.50 62.50 4.06019 -127.50 157.50 67.50 4.55459 -127.50 157.50 72.50 4.21599 -127.50 157.50 77.50 3.15074 -127.50 157.50 82.50 1.8235 -127.50 157.50 87.50 0.816508 -127.50 157.50 92.50 0.315204 -127.50 157.50 97.50 0.0937555 -127.50 157.50 102.50 0.0419425 -127.50 157.50 107.50 0.0536604 -127.50 157.50 112.50 0.117925 -127.50 157.50 117.50 0.247701 -127.50 157.50 122.50 0.517773 -127.50 157.50 127.50 0.897299 -127.50 157.50 132.50 1.27299 -127.50 157.50 137.50 1.69826 -127.50 157.50 142.50 2.24399 -127.50 157.50 147.50 3.0451 -127.50 157.50 152.50 4.0602 -127.50 157.50 157.50 4.55459 -127.50 157.50 162.50 4.21599 -127.50 157.50 167.50 3.15075 -127.50 157.50 172.50 1.8235 -127.50 157.50 177.50 0.816509 -127.50 157.50 182.50 0.315204 -127.50 157.50 187.50 0.0937554 -127.50 157.50 192.50 0.0419425 -127.50 157.50 197.50 0.0536604 -127.50 157.50 202.50 0.117925 -127.50 157.50 207.50 0.247701 -127.50 157.50 212.50 0.517773 -127.50 157.50 217.50 0.897297 -127.50 157.50 222.50 1.27299 -127.50 157.50 227.50 1.69825 -127.50 157.50 232.50 2.24399 -127.50 157.50 237.50 3.0451 -127.50 157.50 242.50 4.0602 -127.50 157.50 247.50 4.55459 -127.50 157.50 252.50 4.21599 -127.50 157.50 257.50 3.15074 -127.50 157.50 262.50 1.8235 -127.50 157.50 267.50 0.816508 -127.50 157.50 272.50 0.315204 -127.50 157.50 277.50 0.0937556 -127.50 157.50 282.50 0.0419425 -127.50 157.50 287.50 0.0536604 -127.50 157.50 292.50 0.117925 -127.50 157.50 297.50 0.247701 -127.50 157.50 302.50 0.517772 -127.50 157.50 307.50 0.897297 -127.50 157.50 312.50 1.27299 -127.50 157.50 317.50 1.69825 -127.50 157.50 322.50 2.24399 -127.50 157.50 327.50 3.0451 -127.50 157.50 332.50 4.0602 -127.50 157.50 337.50 4.55459 -127.50 157.50 342.50 4.21599 -127.50 157.50 347.50 3.15075 -127.50 157.50 352.50 1.8235 -127.50 157.50 357.50 0.81651 -127.50 162.50 2.50 0.273722 -127.50 162.50 7.50 0.109009 -127.50 162.50 12.50 0.0622614 -127.50 162.50 17.50 0.109659 -127.50 162.50 22.50 0.235092 -127.50 162.50 27.50 0.439941 -127.50 162.50 32.50 0.758389 -127.50 162.50 37.50 1.15323 -127.50 162.50 42.50 1.41289 -127.50 162.50 47.50 1.53031 -127.50 162.50 52.50 1.76613 -127.50 162.50 57.50 2.12902 -127.50 162.50 62.50 2.51841 -127.50 162.50 67.50 2.73071 -127.50 162.50 72.50 2.5171 -127.50 162.50 77.50 1.88506 -127.50 162.50 82.50 1.1453 -127.50 162.50 87.50 0.583451 -127.50 162.50 92.50 0.273721 -127.50 162.50 97.50 0.109009 -127.50 162.50 102.50 0.0622614 -127.50 162.50 107.50 0.109659 -127.50 162.50 112.50 0.235092 -127.50 162.50 117.50 0.439941 -127.50 162.50 122.50 0.758389 -127.50 162.50 127.50 1.15323 -127.50 162.50 132.50 1.41289 -127.50 162.50 137.50 1.53031 -127.50 162.50 142.50 1.76613 -127.50 162.50 147.50 2.12902 -127.50 162.50 152.50 2.51841 -127.50 162.50 157.50 2.73071 -127.50 162.50 162.50 2.5171 -127.50 162.50 167.50 1.88506 -127.50 162.50 172.50 1.1453 -127.50 162.50 177.50 0.583451 -127.50 162.50 182.50 0.273721 -127.50 162.50 187.50 0.109009 -127.50 162.50 192.50 0.0622613 -127.50 162.50 197.50 0.109659 -127.50 162.50 202.50 0.235092 -127.50 162.50 207.50 0.439941 -127.50 162.50 212.50 0.75839 -127.50 162.50 217.50 1.15323 -127.50 162.50 222.50 1.41289 -127.50 162.50 227.50 1.53031 -127.50 162.50 232.50 1.76613 -127.50 162.50 237.50 2.12902 -127.50 162.50 242.50 2.51841 -127.50 162.50 247.50 2.73071 -127.50 162.50 252.50 2.5171 -127.50 162.50 257.50 1.88506 -127.50 162.50 262.50 1.1453 -127.50 162.50 267.50 0.583451 -127.50 162.50 272.50 0.273722 -127.50 162.50 277.50 0.109009 -127.50 162.50 282.50 0.0622613 -127.50 162.50 287.50 0.109659 -127.50 162.50 292.50 0.235092 -127.50 162.50 297.50 0.439941 -127.50 162.50 302.50 0.758389 -127.50 162.50 307.50 1.15323 -127.50 162.50 312.50 1.41289 -127.50 162.50 317.50 1.53031 -127.50 162.50 322.50 1.76613 -127.50 162.50 327.50 2.12902 -127.50 162.50 332.50 2.5184 -127.50 162.50 337.50 2.73071 -127.50 162.50 342.50 2.5171 -127.50 162.50 347.50 1.88506 -127.50 162.50 352.50 1.14531 -127.50 162.50 357.50 0.583452 -127.50 167.50 2.50 0.252721 -127.50 167.50 7.50 0.13285 -127.50 167.50 12.50 0.0818424 -127.50 167.50 17.50 0.150407 -127.50 167.50 22.50 0.312627 -127.50 167.50 27.50 0.560895 -127.50 167.50 32.50 0.899808 -127.50 167.50 37.50 1.20669 -127.50 167.50 42.50 1.27813 -127.50 167.50 47.50 1.13113 -127.50 167.50 52.50 1.01927 -127.50 167.50 57.50 1.07391 -127.50 167.50 62.50 1.23068 -127.50 167.50 67.50 1.29939 -127.50 167.50 72.50 1.18922 -127.50 167.50 77.50 0.913618 -127.50 167.50 82.50 0.601344 -127.50 167.50 87.50 0.404512 -127.50 167.50 92.50 0.252721 -127.50 167.50 97.50 0.13285 -127.50 167.50 102.50 0.0818425 -127.50 167.50 107.50 0.150407 -127.50 167.50 112.50 0.312627 -127.50 167.50 117.50 0.560895 -127.50 167.50 122.50 0.899808 -127.50 167.50 127.50 1.20669 -127.50 167.50 132.50 1.27813 -127.50 167.50 137.50 1.13113 -127.50 167.50 142.50 1.01927 -127.50 167.50 147.50 1.07391 -127.50 167.50 152.50 1.23068 -127.50 167.50 157.50 1.29939 -127.50 167.50 162.50 1.18922 -127.50 167.50 167.50 0.913617 -127.50 167.50 172.50 0.601344 -127.50 167.50 177.50 0.404513 -127.50 167.50 182.50 0.252721 -127.50 167.50 187.50 0.13285 -127.50 167.50 192.50 0.0818425 -127.50 167.50 197.50 0.150407 -127.50 167.50 202.50 0.312627 -127.50 167.50 207.50 0.560895 -127.50 167.50 212.50 0.899808 -127.50 167.50 217.50 1.20669 -127.50 167.50 222.50 1.27813 -127.50 167.50 227.50 1.13113 -127.50 167.50 232.50 1.01927 -127.50 167.50 237.50 1.07391 -127.50 167.50 242.50 1.23068 -127.50 167.50 247.50 1.29939 -127.50 167.50 252.50 1.18922 -127.50 167.50 257.50 0.913617 -127.50 167.50 262.50 0.601343 -127.50 167.50 267.50 0.404513 -127.50 167.50 272.50 0.252721 -127.50 167.50 277.50 0.13285 -127.50 167.50 282.50 0.0818424 -127.50 167.50 287.50 0.150407 -127.50 167.50 292.50 0.312627 -127.50 167.50 297.50 0.560895 -127.50 167.50 302.50 0.899808 -127.50 167.50 307.50 1.20669 -127.50 167.50 312.50 1.27813 -127.50 167.50 317.50 1.13113 -127.50 167.50 322.50 1.01927 -127.50 167.50 327.50 1.07391 -127.50 167.50 332.50 1.23068 -127.50 167.50 337.50 1.29939 -127.50 167.50 342.50 1.18922 -127.50 167.50 347.50 0.913618 -127.50 167.50 352.50 0.601344 -127.50 167.50 357.50 0.404513 -127.50 172.50 2.50 0.202441 -127.50 172.50 7.50 0.127436 -127.50 172.50 12.50 0.0877474 -127.50 172.50 17.50 0.133163 -127.50 172.50 22.50 0.281452 -127.50 172.50 27.50 0.529172 -127.50 172.50 32.50 0.854425 -127.50 172.50 37.50 1.08308 -127.50 172.50 42.50 1.01205 -127.50 172.50 47.50 0.717381 -127.50 172.50 52.50 0.472947 -127.50 172.50 57.50 0.416795 -127.50 172.50 62.50 0.45839 -127.50 172.50 67.50 0.489974 -127.50 172.50 72.50 0.462408 -127.50 172.50 77.50 0.377531 -127.50 172.50 82.50 0.311733 -127.50 172.50 87.50 0.264305 -127.50 172.50 92.50 0.202441 -127.50 172.50 97.50 0.127436 -127.50 172.50 102.50 0.0877474 -127.50 172.50 107.50 0.133163 -127.50 172.50 112.50 0.281452 -127.50 172.50 117.50 0.529172 -127.50 172.50 122.50 0.854425 -127.50 172.50 127.50 1.08308 -127.50 172.50 132.50 1.01205 -127.50 172.50 137.50 0.717381 -127.50 172.50 142.50 0.472946 -127.50 172.50 147.50 0.416795 -127.50 172.50 152.50 0.45839 -127.50 172.50 157.50 0.489975 -127.50 172.50 162.50 0.462408 -127.50 172.50 167.50 0.377531 -127.50 172.50 172.50 0.311733 -127.50 172.50 177.50 0.264305 -127.50 172.50 182.50 0.202441 -127.50 172.50 187.50 0.127436 -127.50 172.50 192.50 0.0877474 -127.50 172.50 197.50 0.133163 -127.50 172.50 202.50 0.281452 -127.50 172.50 207.50 0.529172 -127.50 172.50 212.50 0.854424 -127.50 172.50 217.50 1.08308 -127.50 172.50 222.50 1.01205 -127.50 172.50 227.50 0.717382 -127.50 172.50 232.50 0.472946 -127.50 172.50 237.50 0.416795 -127.50 172.50 242.50 0.45839 -127.50 172.50 247.50 0.489975 -127.50 172.50 252.50 0.462408 -127.50 172.50 257.50 0.377531 -127.50 172.50 262.50 0.311733 -127.50 172.50 267.50 0.264305 -127.50 172.50 272.50 0.202441 -127.50 172.50 277.50 0.127436 -127.50 172.50 282.50 0.0877473 -127.50 172.50 287.50 0.133163 -127.50 172.50 292.50 0.281452 -127.50 172.50 297.50 0.529172 -127.50 172.50 302.50 0.854424 -127.50 172.50 307.50 1.08308 -127.50 172.50 312.50 1.01205 -127.50 172.50 317.50 0.717381 -127.50 172.50 322.50 0.472947 -127.50 172.50 327.50 0.416795 -127.50 172.50 332.50 0.45839 -127.50 172.50 337.50 0.489975 -127.50 172.50 342.50 0.462408 -127.50 172.50 347.50 0.37753 -127.50 172.50 352.50 0.311733 -127.50 172.50 357.50 0.264305 -127.50 177.50 2.50 0.118632 -127.50 177.50 7.50 0.08614 -127.50 177.50 12.50 0.065772 -127.50 177.50 17.50 0.0909505 -127.50 177.50 22.50 0.195055 -127.50 177.50 27.50 0.412838 -127.50 177.50 32.50 0.705093 -127.50 177.50 37.50 0.877821 -127.50 177.50 42.50 0.740281 -127.50 177.50 47.50 0.439753 -127.50 177.50 52.50 0.216182 -127.50 177.50 57.50 0.12938 -127.50 177.50 62.50 0.123279 -127.50 177.50 67.50 0.143853 -127.50 177.50 72.50 0.156781 -127.50 177.50 77.50 0.153023 -127.50 177.50 82.50 0.144096 -127.50 177.50 87.50 0.137618 -127.50 177.50 92.50 0.118632 -127.50 177.50 97.50 0.08614 -127.50 177.50 102.50 0.065772 -127.50 177.50 107.50 0.0909506 -127.50 177.50 112.50 0.195055 -127.50 177.50 117.50 0.412838 -127.50 177.50 122.50 0.705093 -127.50 177.50 127.50 0.877821 -127.50 177.50 132.50 0.740281 -127.50 177.50 137.50 0.439753 -127.50 177.50 142.50 0.216182 -127.50 177.50 147.50 0.12938 -127.50 177.50 152.50 0.123279 -127.50 177.50 157.50 0.143853 -127.50 177.50 162.50 0.156781 -127.50 177.50 167.50 0.153023 -127.50 177.50 172.50 0.144096 -127.50 177.50 177.50 0.137618 -127.50 177.50 182.50 0.118632 -127.50 177.50 187.50 0.08614 -127.50 177.50 192.50 0.0657719 -127.50 177.50 197.50 0.0909505 -127.50 177.50 202.50 0.195055 -127.50 177.50 207.50 0.412838 -127.50 177.50 212.50 0.705093 -127.50 177.50 217.50 0.877821 -127.50 177.50 222.50 0.740281 -127.50 177.50 227.50 0.439753 -127.50 177.50 232.50 0.216182 -127.50 177.50 237.50 0.12938 -127.50 177.50 242.50 0.123279 -127.50 177.50 247.50 0.143853 -127.50 177.50 252.50 0.156781 -127.50 177.50 257.50 0.153023 -127.50 177.50 262.50 0.144096 -127.50 177.50 267.50 0.137618 -127.50 177.50 272.50 0.118632 -127.50 177.50 277.50 0.08614 -127.50 177.50 282.50 0.0657719 -127.50 177.50 287.50 0.0909504 -127.50 177.50 292.50 0.195055 -127.50 177.50 297.50 0.412838 -127.50 177.50 302.50 0.705092 -127.50 177.50 307.50 0.877821 -127.50 177.50 312.50 0.740281 -127.50 177.50 317.50 0.439753 -127.50 177.50 322.50 0.216182 -127.50 177.50 327.50 0.12938 -127.50 177.50 332.50 0.123279 -127.50 177.50 337.50 0.143853 -127.50 177.50 342.50 0.156781 -127.50 177.50 347.50 0.153023 -127.50 177.50 352.50 0.144096 -127.50 177.50 357.50 0.137618 -132.50 2.50 2.50 0.083846 -132.50 2.50 7.50 0.084539 -132.50 2.50 12.50 0.083846 -132.50 2.50 17.50 0.0760385 -132.50 2.50 22.50 0.0601603 -132.50 2.50 27.50 0.0485219 -132.50 2.50 32.50 0.0624686 -132.50 2.50 37.50 0.149977 -132.50 2.50 42.50 0.393273 -132.50 2.50 47.50 0.773179 -132.50 2.50 52.50 0.980476 -132.50 2.50 57.50 0.773179 -132.50 2.50 62.50 0.393272 -132.50 2.50 67.50 0.149977 -132.50 2.50 72.50 0.0624685 -132.50 2.50 77.50 0.0485219 -132.50 2.50 82.50 0.0601603 -132.50 2.50 87.50 0.0760385 -132.50 2.50 92.50 0.083846 -132.50 2.50 97.50 0.084539 -132.50 2.50 102.50 0.083846 -132.50 2.50 107.50 0.0760385 -132.50 2.50 112.50 0.0601603 -132.50 2.50 117.50 0.0485219 -132.50 2.50 122.50 0.0624686 -132.50 2.50 127.50 0.149977 -132.50 2.50 132.50 0.393273 -132.50 2.50 137.50 0.773179 -132.50 2.50 142.50 0.980476 -132.50 2.50 147.50 0.773178 -132.50 2.50 152.50 0.393273 -132.50 2.50 157.50 0.149977 -132.50 2.50 162.50 0.0624686 -132.50 2.50 167.50 0.0485219 -132.50 2.50 172.50 0.0601603 -132.50 2.50 177.50 0.0760385 -132.50 2.50 182.50 0.083846 -132.50 2.50 187.50 0.084539 -132.50 2.50 192.50 0.083846 -132.50 2.50 197.50 0.0760385 -132.50 2.50 202.50 0.0601603 -132.50 2.50 207.50 0.0485219 -132.50 2.50 212.50 0.0624686 -132.50 2.50 217.50 0.149977 -132.50 2.50 222.50 0.393273 -132.50 2.50 227.50 0.773179 -132.50 2.50 232.50 0.980476 -132.50 2.50 237.50 0.773178 -132.50 2.50 242.50 0.393272 -132.50 2.50 247.50 0.149977 -132.50 2.50 252.50 0.0624685 -132.50 2.50 257.50 0.0485219 -132.50 2.50 262.50 0.0601603 -132.50 2.50 267.50 0.0760386 -132.50 2.50 272.50 0.083846 -132.50 2.50 277.50 0.084539 -132.50 2.50 282.50 0.083846 -132.50 2.50 287.50 0.0760385 -132.50 2.50 292.50 0.0601603 -132.50 2.50 297.50 0.0485219 -132.50 2.50 302.50 0.0624685 -132.50 2.50 307.50 0.149977 -132.50 2.50 312.50 0.393272 -132.50 2.50 317.50 0.773179 -132.50 2.50 322.50 0.980476 -132.50 2.50 327.50 0.773179 -132.50 2.50 332.50 0.393273 -132.50 2.50 337.50 0.149977 -132.50 2.50 342.50 0.0624686 -132.50 2.50 347.50 0.0485219 -132.50 2.50 352.50 0.0601603 -132.50 2.50 357.50 0.0760385 -132.50 7.50 2.50 0.132069 -132.50 7.50 7.50 0.138729 -132.50 7.50 12.50 0.144941 -132.50 7.50 17.50 0.148748 -132.50 7.50 22.50 0.140004 -132.50 7.50 27.50 0.123213 -132.50 7.50 32.50 0.125439 -132.50 7.50 37.50 0.217744 -132.50 7.50 42.50 0.461409 -132.50 7.50 47.50 0.780786 -132.50 7.50 52.50 0.911258 -132.50 7.50 57.50 0.713422 -132.50 7.50 62.50 0.39464 -132.50 7.50 67.50 0.187773 -132.50 7.50 72.50 0.0924991 -132.50 7.50 77.50 0.0639082 -132.50 7.50 82.50 0.0780234 -132.50 7.50 87.50 0.109882 -132.50 7.50 92.50 0.132069 -132.50 7.50 97.50 0.138729 -132.50 7.50 102.50 0.144941 -132.50 7.50 107.50 0.148748 -132.50 7.50 112.50 0.140004 -132.50 7.50 117.50 0.123213 -132.50 7.50 122.50 0.125439 -132.50 7.50 127.50 0.217744 -132.50 7.50 132.50 0.461409 -132.50 7.50 137.50 0.780786 -132.50 7.50 142.50 0.911258 -132.50 7.50 147.50 0.713423 -132.50 7.50 152.50 0.394641 -132.50 7.50 157.50 0.187773 -132.50 7.50 162.50 0.0924991 -132.50 7.50 167.50 0.0639081 -132.50 7.50 172.50 0.0780234 -132.50 7.50 177.50 0.109882 -132.50 7.50 182.50 0.132069 -132.50 7.50 187.50 0.138729 -132.50 7.50 192.50 0.144941 -132.50 7.50 197.50 0.148748 -132.50 7.50 202.50 0.140004 -132.50 7.50 207.50 0.123213 -132.50 7.50 212.50 0.125439 -132.50 7.50 217.50 0.217744 -132.50 7.50 222.50 0.461408 -132.50 7.50 227.50 0.780785 -132.50 7.50 232.50 0.911257 -132.50 7.50 237.50 0.713422 -132.50 7.50 242.50 0.394641 -132.50 7.50 247.50 0.187773 -132.50 7.50 252.50 0.0924989 -132.50 7.50 257.50 0.0639081 -132.50 7.50 262.50 0.0780235 -132.50 7.50 267.50 0.109882 -132.50 7.50 272.50 0.132069 -132.50 7.50 277.50 0.138729 -132.50 7.50 282.50 0.144941 -132.50 7.50 287.50 0.148748 -132.50 7.50 292.50 0.140004 -132.50 7.50 297.50 0.123213 -132.50 7.50 302.50 0.125439 -132.50 7.50 307.50 0.217744 -132.50 7.50 312.50 0.461408 -132.50 7.50 317.50 0.780785 -132.50 7.50 322.50 0.911257 -132.50 7.50 327.50 0.713423 -132.50 7.50 332.50 0.394642 -132.50 7.50 337.50 0.187773 -132.50 7.50 342.50 0.0924992 -132.50 7.50 347.50 0.0639081 -132.50 7.50 352.50 0.0780233 -132.50 7.50 357.50 0.109882 -132.50 12.50 2.50 0.239625 -132.50 12.50 7.50 0.28366 -132.50 12.50 12.50 0.336778 -132.50 12.50 17.50 0.399667 -132.50 12.50 22.50 0.451 -132.50 12.50 27.50 0.444789 -132.50 12.50 32.50 0.419312 -132.50 12.50 37.50 0.490325 -132.50 12.50 42.50 0.747363 -132.50 12.50 47.50 1.06317 -132.50 12.50 52.50 1.12936 -132.50 12.50 57.50 0.863767 -132.50 12.50 62.50 0.5108 -132.50 12.50 67.50 0.269085 -132.50 12.50 72.50 0.136631 -132.50 12.50 77.50 0.0765726 -132.50 12.50 82.50 0.0999634 -132.50 12.50 87.50 0.172232 -132.50 12.50 92.50 0.239625 -132.50 12.50 97.50 0.283661 -132.50 12.50 102.50 0.336778 -132.50 12.50 107.50 0.399667 -132.50 12.50 112.50 0.451 -132.50 12.50 117.50 0.444789 -132.50 12.50 122.50 0.419312 -132.50 12.50 127.50 0.490325 -132.50 12.50 132.50 0.747363 -132.50 12.50 137.50 1.06317 -132.50 12.50 142.50 1.12936 -132.50 12.50 147.50 0.863768 -132.50 12.50 152.50 0.5108 -132.50 12.50 157.50 0.269086 -132.50 12.50 162.50 0.136631 -132.50 12.50 167.50 0.0765726 -132.50 12.50 172.50 0.0999633 -132.50 12.50 177.50 0.172232 -132.50 12.50 182.50 0.239625 -132.50 12.50 187.50 0.28366 -132.50 12.50 192.50 0.336778 -132.50 12.50 197.50 0.399667 -132.50 12.50 202.50 0.451 -132.50 12.50 207.50 0.444789 -132.50 12.50 212.50 0.419312 -132.50 12.50 217.50 0.490325 -132.50 12.50 222.50 0.747363 -132.50 12.50 227.50 1.06317 -132.50 12.50 232.50 1.12936 -132.50 12.50 237.50 0.863767 -132.50 12.50 242.50 0.5108 -132.50 12.50 247.50 0.269086 -132.50 12.50 252.50 0.136631 -132.50 12.50 257.50 0.0765725 -132.50 12.50 262.50 0.0999636 -132.50 12.50 267.50 0.172232 -132.50 12.50 272.50 0.239625 -132.50 12.50 277.50 0.28366 -132.50 12.50 282.50 0.336778 -132.50 12.50 287.50 0.399667 -132.50 12.50 292.50 0.451 -132.50 12.50 297.50 0.444788 -132.50 12.50 302.50 0.419312 -132.50 12.50 307.50 0.490324 -132.50 12.50 312.50 0.747363 -132.50 12.50 317.50 1.06317 -132.50 12.50 322.50 1.12936 -132.50 12.50 327.50 0.863767 -132.50 12.50 332.50 0.510801 -132.50 12.50 337.50 0.269086 -132.50 12.50 342.50 0.136631 -132.50 12.50 347.50 0.0765726 -132.50 12.50 352.50 0.0999632 -132.50 12.50 357.50 0.172231 -132.50 17.50 2.50 0.338201 -132.50 17.50 7.50 0.508241 -132.50 17.50 12.50 0.73858 -132.50 17.50 17.50 1.03178 -132.50 17.50 22.50 1.20165 -132.50 17.50 27.50 1.20247 -132.50 17.50 32.50 1.09764 -132.50 17.50 37.50 1.05068 -132.50 17.50 42.50 1.1871 -132.50 17.50 47.50 1.32943 -132.50 17.50 52.50 1.23109 -132.50 17.50 57.50 0.89664 -132.50 17.50 62.50 0.543171 -132.50 17.50 67.50 0.293575 -132.50 17.50 72.50 0.147846 -132.50 17.50 77.50 0.0803514 -132.50 17.50 82.50 0.0907332 -132.50 17.50 87.50 0.196327 -132.50 17.50 92.50 0.338201 -132.50 17.50 97.50 0.508241 -132.50 17.50 102.50 0.73858 -132.50 17.50 107.50 1.03178 -132.50 17.50 112.50 1.20165 -132.50 17.50 117.50 1.20247 -132.50 17.50 122.50 1.09764 -132.50 17.50 127.50 1.05068 -132.50 17.50 132.50 1.18711 -132.50 17.50 137.50 1.32943 -132.50 17.50 142.50 1.23109 -132.50 17.50 147.50 0.89664 -132.50 17.50 152.50 0.543171 -132.50 17.50 157.50 0.293576 -132.50 17.50 162.50 0.147846 -132.50 17.50 167.50 0.0803515 -132.50 17.50 172.50 0.0907332 -132.50 17.50 177.50 0.196327 -132.50 17.50 182.50 0.338201 -132.50 17.50 187.50 0.508241 -132.50 17.50 192.50 0.73858 -132.50 17.50 197.50 1.03178 -132.50 17.50 202.50 1.20165 -132.50 17.50 207.50 1.20247 -132.50 17.50 212.50 1.09764 -132.50 17.50 217.50 1.05068 -132.50 17.50 222.50 1.1871 -132.50 17.50 227.50 1.32943 -132.50 17.50 232.50 1.23109 -132.50 17.50 237.50 0.896639 -132.50 17.50 242.50 0.543171 -132.50 17.50 247.50 0.293575 -132.50 17.50 252.50 0.147846 -132.50 17.50 257.50 0.0803514 -132.50 17.50 262.50 0.0907334 -132.50 17.50 267.50 0.196327 -132.50 17.50 272.50 0.338201 -132.50 17.50 277.50 0.508241 -132.50 17.50 282.50 0.73858 -132.50 17.50 287.50 1.03178 -132.50 17.50 292.50 1.20165 -132.50 17.50 297.50 1.20247 -132.50 17.50 302.50 1.09764 -132.50 17.50 307.50 1.05068 -132.50 17.50 312.50 1.1871 -132.50 17.50 317.50 1.32943 -132.50 17.50 322.50 1.23109 -132.50 17.50 327.50 0.89664 -132.50 17.50 332.50 0.543172 -132.50 17.50 337.50 0.293576 -132.50 17.50 342.50 0.147846 -132.50 17.50 347.50 0.0803515 -132.50 17.50 352.50 0.0907331 -132.50 17.50 357.50 0.196327 -132.50 22.50 2.50 0.431719 -132.50 22.50 7.50 0.880313 -132.50 22.50 12.50 1.55766 -132.50 22.50 17.50 2.21654 -132.50 22.50 22.50 2.55938 -132.50 22.50 27.50 2.47971 -132.50 22.50 32.50 2.1509 -132.50 22.50 37.50 1.85785 -132.50 22.50 42.50 1.67545 -132.50 22.50 47.50 1.48938 -132.50 22.50 52.50 1.19551 -132.50 22.50 57.50 0.773899 -132.50 22.50 62.50 0.428485 -132.50 22.50 67.50 0.217899 -132.50 22.50 72.50 0.101748 -132.50 22.50 77.50 0.0554852 -132.50 22.50 82.50 0.0711469 -132.50 22.50 87.50 0.178221 -132.50 22.50 92.50 0.431719 -132.50 22.50 97.50 0.880313 -132.50 22.50 102.50 1.55766 -132.50 22.50 107.50 2.21654 -132.50 22.50 112.50 2.55938 -132.50 22.50 117.50 2.47971 -132.50 22.50 122.50 2.1509 -132.50 22.50 127.50 1.85785 -132.50 22.50 132.50 1.67545 -132.50 22.50 137.50 1.48938 -132.50 22.50 142.50 1.19551 -132.50 22.50 147.50 0.773899 -132.50 22.50 152.50 0.428485 -132.50 22.50 157.50 0.2179 -132.50 22.50 162.50 0.101748 -132.50 22.50 167.50 0.0554851 -132.50 22.50 172.50 0.0711468 -132.50 22.50 177.50 0.178221 -132.50 22.50 182.50 0.431719 -132.50 22.50 187.50 0.880313 -132.50 22.50 192.50 1.55766 -132.50 22.50 197.50 2.21654 -132.50 22.50 202.50 2.55938 -132.50 22.50 207.50 2.47971 -132.50 22.50 212.50 2.1509 -132.50 22.50 217.50 1.85785 -132.50 22.50 222.50 1.67545 -132.50 22.50 227.50 1.48938 -132.50 22.50 232.50 1.1955 -132.50 22.50 237.50 0.773899 -132.50 22.50 242.50 0.428485 -132.50 22.50 247.50 0.217899 -132.50 22.50 252.50 0.101748 -132.50 22.50 257.50 0.0554851 -132.50 22.50 262.50 0.071147 -132.50 22.50 267.50 0.178221 -132.50 22.50 272.50 0.43172 -132.50 22.50 277.50 0.880313 -132.50 22.50 282.50 1.55766 -132.50 22.50 287.50 2.21654 -132.50 22.50 292.50 2.55938 -132.50 22.50 297.50 2.47971 -132.50 22.50 302.50 2.1509 -132.50 22.50 307.50 1.85785 -132.50 22.50 312.50 1.67545 -132.50 22.50 317.50 1.48938 -132.50 22.50 322.50 1.19551 -132.50 22.50 327.50 0.7739 -132.50 22.50 332.50 0.428486 -132.50 22.50 337.50 0.2179 -132.50 22.50 342.50 0.101749 -132.50 22.50 347.50 0.0554852 -132.50 22.50 352.50 0.0711467 -132.50 22.50 357.50 0.17822 -132.50 27.50 2.50 0.558756 -132.50 27.50 7.50 1.38427 -132.50 27.50 12.50 2.66296 -132.50 27.50 17.50 3.82805 -132.50 27.50 22.50 4.29488 -132.50 27.50 27.50 4.00842 -132.50 27.50 32.50 3.23112 -132.50 27.50 37.50 2.4042 -132.50 27.50 42.50 1.851 -132.50 27.50 47.50 1.41644 -132.50 27.50 52.50 0.96088 -132.50 27.50 57.50 0.544445 -132.50 27.50 62.50 0.254734 -132.50 27.50 67.50 0.106069 -132.50 27.50 72.50 0.0447133 -132.50 27.50 77.50 0.0279364 -132.50 27.50 82.50 0.0546664 -132.50 27.50 87.50 0.165933 -132.50 27.50 92.50 0.558756 -132.50 27.50 97.50 1.38427 -132.50 27.50 102.50 2.66296 -132.50 27.50 107.50 3.82805 -132.50 27.50 112.50 4.29488 -132.50 27.50 117.50 4.00842 -132.50 27.50 122.50 3.23112 -132.50 27.50 127.50 2.4042 -132.50 27.50 132.50 1.851 -132.50 27.50 137.50 1.41644 -132.50 27.50 142.50 0.96088 -132.50 27.50 147.50 0.544445 -132.50 27.50 152.50 0.254734 -132.50 27.50 157.50 0.106069 -132.50 27.50 162.50 0.0447134 -132.50 27.50 167.50 0.0279364 -132.50 27.50 172.50 0.0546664 -132.50 27.50 177.50 0.165933 -132.50 27.50 182.50 0.558757 -132.50 27.50 187.50 1.38427 -132.50 27.50 192.50 2.66297 -132.50 27.50 197.50 3.82806 -132.50 27.50 202.50 4.29488 -132.50 27.50 207.50 4.00842 -132.50 27.50 212.50 3.23112 -132.50 27.50 217.50 2.4042 -132.50 27.50 222.50 1.851 -132.50 27.50 227.50 1.41644 -132.50 27.50 232.50 0.960878 -132.50 27.50 237.50 0.544445 -132.50 27.50 242.50 0.254734 -132.50 27.50 247.50 0.106069 -132.50 27.50 252.50 0.0447133 -132.50 27.50 257.50 0.0279364 -132.50 27.50 262.50 0.0546665 -132.50 27.50 267.50 0.165934 -132.50 27.50 272.50 0.558757 -132.50 27.50 277.50 1.38427 -132.50 27.50 282.50 2.66296 -132.50 27.50 287.50 3.82805 -132.50 27.50 292.50 4.29488 -132.50 27.50 297.50 4.00842 -132.50 27.50 302.50 3.23112 -132.50 27.50 307.50 2.4042 -132.50 27.50 312.50 1.851 -132.50 27.50 317.50 1.41644 -132.50 27.50 322.50 0.96088 -132.50 27.50 327.50 0.544446 -132.50 27.50 332.50 0.254735 -132.50 27.50 337.50 0.106069 -132.50 27.50 342.50 0.0447134 -132.50 27.50 347.50 0.0279363 -132.50 27.50 352.50 0.0546663 -132.50 27.50 357.50 0.165933 -132.50 32.50 2.50 0.674573 -132.50 32.50 7.50 1.77615 -132.50 32.50 12.50 3.51129 -132.50 32.50 17.50 5.12189 -132.50 32.50 22.50 5.61847 -132.50 32.50 27.50 5.07766 -132.50 32.50 32.50 3.72516 -132.50 32.50 37.50 2.49292 -132.50 32.50 42.50 1.61851 -132.50 32.50 47.50 1.05363 -132.50 32.50 52.50 0.635225 -132.50 32.50 57.50 0.316299 -132.50 32.50 62.50 0.123106 -132.50 32.50 67.50 0.0400464 -132.50 32.50 72.50 0.0155686 -132.50 32.50 77.50 0.0130588 -132.50 32.50 82.50 0.0504365 -132.50 32.50 87.50 0.178438 -132.50 32.50 92.50 0.674573 -132.50 32.50 97.50 1.77615 -132.50 32.50 102.50 3.51129 -132.50 32.50 107.50 5.12189 -132.50 32.50 112.50 5.61847 -132.50 32.50 117.50 5.07766 -132.50 32.50 122.50 3.72516 -132.50 32.50 127.50 2.49292 -132.50 32.50 132.50 1.61851 -132.50 32.50 137.50 1.05363 -132.50 32.50 142.50 0.635225 -132.50 32.50 147.50 0.316299 -132.50 32.50 152.50 0.123107 -132.50 32.50 157.50 0.0400465 -132.50 32.50 162.50 0.0155686 -132.50 32.50 167.50 0.0130588 -132.50 32.50 172.50 0.0504364 -132.50 32.50 177.50 0.178438 -132.50 32.50 182.50 0.674573 -132.50 32.50 187.50 1.77615 -132.50 32.50 192.50 3.51129 -132.50 32.50 197.50 5.12189 -132.50 32.50 202.50 5.61847 -132.50 32.50 207.50 5.07766 -132.50 32.50 212.50 3.72516 -132.50 32.50 217.50 2.49292 -132.50 32.50 222.50 1.61851 -132.50 32.50 227.50 1.05363 -132.50 32.50 232.50 0.635225 -132.50 32.50 237.50 0.316299 -132.50 32.50 242.50 0.123106 -132.50 32.50 247.50 0.0400464 -132.50 32.50 252.50 0.0155686 -132.50 32.50 257.50 0.0130588 -132.50 32.50 262.50 0.0504366 -132.50 32.50 267.50 0.178439 -132.50 32.50 272.50 0.674572 -132.50 32.50 277.50 1.77615 -132.50 32.50 282.50 3.51128 -132.50 32.50 287.50 5.12189 -132.50 32.50 292.50 5.61847 -132.50 32.50 297.50 5.07766 -132.50 32.50 302.50 3.72517 -132.50 32.50 307.50 2.49292 -132.50 32.50 312.50 1.61851 -132.50 32.50 317.50 1.05363 -132.50 32.50 322.50 0.635227 -132.50 32.50 327.50 0.3163 -132.50 32.50 332.50 0.123107 -132.50 32.50 337.50 0.0400465 -132.50 32.50 342.50 0.0155687 -132.50 32.50 347.50 0.0130588 -132.50 32.50 352.50 0.0504363 -132.50 32.50 357.50 0.178438 -132.50 37.50 2.50 0.728263 -132.50 37.50 7.50 1.84194 -132.50 37.50 12.50 3.59088 -132.50 37.50 17.50 5.17216 -132.50 37.50 22.50 5.68643 -132.50 37.50 27.50 4.99912 -132.50 37.50 32.50 3.53834 -132.50 37.50 37.50 2.10851 -132.50 37.50 42.50 1.13131 -132.50 37.50 47.50 0.620381 -132.50 37.50 52.50 0.328052 -132.50 37.50 57.50 0.1377 -132.50 37.50 62.50 0.0465247 -132.50 37.50 67.50 0.0140954 -132.50 37.50 72.50 0.00811181 -132.50 37.50 77.50 0.0141549 -132.50 37.50 82.50 0.0528744 -132.50 37.50 87.50 0.208459 -132.50 37.50 92.50 0.728264 -132.50 37.50 97.50 1.84194 -132.50 37.50 102.50 3.59088 -132.50 37.50 107.50 5.17216 -132.50 37.50 112.50 5.68643 -132.50 37.50 117.50 4.99911 -132.50 37.50 122.50 3.53834 -132.50 37.50 127.50 2.10851 -132.50 37.50 132.50 1.13131 -132.50 37.50 137.50 0.620381 -132.50 37.50 142.50 0.328053 -132.50 37.50 147.50 0.1377 -132.50 37.50 152.50 0.0465248 -132.50 37.50 157.50 0.0140954 -132.50 37.50 162.50 0.0081118 -132.50 37.50 167.50 0.0141549 -132.50 37.50 172.50 0.0528743 -132.50 37.50 177.50 0.208458 -132.50 37.50 182.50 0.728264 -132.50 37.50 187.50 1.84194 -132.50 37.50 192.50 3.59088 -132.50 37.50 197.50 5.17216 -132.50 37.50 202.50 5.68642 -132.50 37.50 207.50 4.99911 -132.50 37.50 212.50 3.53834 -132.50 37.50 217.50 2.10851 -132.50 37.50 222.50 1.13131 -132.50 37.50 227.50 0.620381 -132.50 37.50 232.50 0.328052 -132.50 37.50 237.50 0.1377 -132.50 37.50 242.50 0.0465247 -132.50 37.50 247.50 0.0140954 -132.50 37.50 252.50 0.0081118 -132.50 37.50 257.50 0.0141549 -132.50 37.50 262.50 0.0528745 -132.50 37.50 267.50 0.208459 -132.50 37.50 272.50 0.728263 -132.50 37.50 277.50 1.84194 -132.50 37.50 282.50 3.59088 -132.50 37.50 287.50 5.17216 -132.50 37.50 292.50 5.68643 -132.50 37.50 297.50 4.99912 -132.50 37.50 302.50 3.53834 -132.50 37.50 307.50 2.10851 -132.50 37.50 312.50 1.13131 -132.50 37.50 317.50 0.620381 -132.50 37.50 322.50 0.328053 -132.50 37.50 327.50 0.1377 -132.50 37.50 332.50 0.0465249 -132.50 37.50 337.50 0.0140954 -132.50 37.50 342.50 0.00811181 -132.50 37.50 347.50 0.0141549 -132.50 37.50 352.50 0.0528742 -132.50 37.50 357.50 0.208458 -132.50 42.50 2.50 0.744226 -132.50 42.50 7.50 1.6303 -132.50 42.50 12.50 2.93175 -132.50 42.50 17.50 4.14883 -132.50 42.50 22.50 4.6062 -132.50 42.50 27.50 3.91268 -132.50 42.50 32.50 2.64638 -132.50 42.50 37.50 1.45209 -132.50 42.50 42.50 0.677184 -132.50 42.50 47.50 0.283541 -132.50 42.50 52.50 0.117309 -132.50 42.50 57.50 0.0431594 -132.50 42.50 62.50 0.0156238 -132.50 42.50 67.50 0.0139855 -132.50 42.50 72.50 0.0205436 -132.50 42.50 77.50 0.0341901 -132.50 42.50 82.50 0.0797782 -132.50 42.50 87.50 0.257641 -132.50 42.50 92.50 0.744227 -132.50 42.50 97.50 1.6303 -132.50 42.50 102.50 2.93175 -132.50 42.50 107.50 4.14883 -132.50 42.50 112.50 4.6062 -132.50 42.50 117.50 3.91268 -132.50 42.50 122.50 2.64638 -132.50 42.50 127.50 1.45209 -132.50 42.50 132.50 0.677184 -132.50 42.50 137.50 0.283541 -132.50 42.50 142.50 0.117309 -132.50 42.50 147.50 0.0431594 -132.50 42.50 152.50 0.0156238 -132.50 42.50 157.50 0.0139855 -132.50 42.50 162.50 0.0205436 -132.50 42.50 167.50 0.03419 -132.50 42.50 172.50 0.079778 -132.50 42.50 177.50 0.25764 -132.50 42.50 182.50 0.744227 -132.50 42.50 187.50 1.63031 -132.50 42.50 192.50 2.93175 -132.50 42.50 197.50 4.14883 -132.50 42.50 202.50 4.6062 -132.50 42.50 207.50 3.91268 -132.50 42.50 212.50 2.64638 -132.50 42.50 217.50 1.45209 -132.50 42.50 222.50 0.677184 -132.50 42.50 227.50 0.283541 -132.50 42.50 232.50 0.117309 -132.50 42.50 237.50 0.0431593 -132.50 42.50 242.50 0.0156238 -132.50 42.50 247.50 0.0139855 -132.50 42.50 252.50 0.0205436 -132.50 42.50 257.50 0.0341901 -132.50 42.50 262.50 0.0797782 -132.50 42.50 267.50 0.257641 -132.50 42.50 272.50 0.744226 -132.50 42.50 277.50 1.6303 -132.50 42.50 282.50 2.93175 -132.50 42.50 287.50 4.14883 -132.50 42.50 292.50 4.6062 -132.50 42.50 297.50 3.91268 -132.50 42.50 302.50 2.64638 -132.50 42.50 307.50 1.4521 -132.50 42.50 312.50 0.677185 -132.50 42.50 317.50 0.283541 -132.50 42.50 322.50 0.117309 -132.50 42.50 327.50 0.0431595 -132.50 42.50 332.50 0.0156238 -132.50 42.50 337.50 0.0139855 -132.50 42.50 342.50 0.0205436 -132.50 42.50 347.50 0.03419 -132.50 42.50 352.50 0.0797779 -132.50 42.50 357.50 0.25764 -132.50 47.50 2.50 0.748976 -132.50 47.50 7.50 1.30179 -132.50 47.50 12.50 2.06908 -132.50 47.50 17.50 2.79905 -132.50 47.50 22.50 2.99443 -132.50 47.50 27.50 2.34909 -132.50 47.50 32.50 1.50534 -132.50 47.50 37.50 0.808731 -132.50 47.50 42.50 0.332445 -132.50 47.50 47.50 0.117766 -132.50 47.50 52.50 0.0315758 -132.50 47.50 57.50 0.0182599 -132.50 47.50 62.50 0.0257527 -132.50 47.50 67.50 0.0625251 -132.50 47.50 72.50 0.0948643 -132.50 47.50 77.50 0.119315 -132.50 47.50 82.50 0.177551 -132.50 47.50 87.50 0.352338 -132.50 47.50 92.50 0.748977 -132.50 47.50 97.50 1.3018 -132.50 47.50 102.50 2.06908 -132.50 47.50 107.50 2.79905 -132.50 47.50 112.50 2.99443 -132.50 47.50 117.50 2.34909 -132.50 47.50 122.50 1.50534 -132.50 47.50 127.50 0.808731 -132.50 47.50 132.50 0.332445 -132.50 47.50 137.50 0.117766 -132.50 47.50 142.50 0.0315758 -132.50 47.50 147.50 0.0182599 -132.50 47.50 152.50 0.0257526 -132.50 47.50 157.50 0.0625251 -132.50 47.50 162.50 0.0948643 -132.50 47.50 167.50 0.119315 -132.50 47.50 172.50 0.177551 -132.50 47.50 177.50 0.352337 -132.50 47.50 182.50 0.748977 -132.50 47.50 187.50 1.3018 -132.50 47.50 192.50 2.06908 -132.50 47.50 197.50 2.79905 -132.50 47.50 202.50 2.99443 -132.50 47.50 207.50 2.34909 -132.50 47.50 212.50 1.50534 -132.50 47.50 217.50 0.808731 -132.50 47.50 222.50 0.332445 -132.50 47.50 227.50 0.117766 -132.50 47.50 232.50 0.0315757 -132.50 47.50 237.50 0.0182599 -132.50 47.50 242.50 0.0257527 -132.50 47.50 247.50 0.0625252 -132.50 47.50 252.50 0.0948644 -132.50 47.50 257.50 0.119315 -132.50 47.50 262.50 0.177551 -132.50 47.50 267.50 0.352338 -132.50 47.50 272.50 0.748976 -132.50 47.50 277.50 1.30179 -132.50 47.50 282.50 2.06908 -132.50 47.50 287.50 2.79905 -132.50 47.50 292.50 2.99443 -132.50 47.50 297.50 2.34909 -132.50 47.50 302.50 1.50534 -132.50 47.50 307.50 0.808732 -132.50 47.50 312.50 0.332446 -132.50 47.50 317.50 0.117766 -132.50 47.50 322.50 0.0315759 -132.50 47.50 327.50 0.01826 -132.50 47.50 332.50 0.0257526 -132.50 47.50 337.50 0.0625251 -132.50 47.50 342.50 0.0948643 -132.50 47.50 347.50 0.119315 -132.50 47.50 352.50 0.177551 -132.50 47.50 357.50 0.352337 -132.50 52.50 2.50 0.744226 -132.50 52.50 7.50 0.958352 -132.50 52.50 12.50 1.30023 -132.50 52.50 17.50 1.56226 -132.50 52.50 22.50 1.47003 -132.50 52.50 27.50 1.04099 -132.50 52.50 32.50 0.632368 -132.50 52.50 37.50 0.33982 -132.50 52.50 42.50 0.128969 -132.50 52.50 47.50 0.0395077 -132.50 52.50 52.50 0.0248604 -132.50 52.50 57.50 0.0546705 -132.50 52.50 62.50 0.120783 -132.50 52.50 67.50 0.223955 -132.50 52.50 72.50 0.328956 -132.50 52.50 77.50 0.355454 -132.50 52.50 82.50 0.41007 -132.50 52.50 87.50 0.522226 -132.50 52.50 92.50 0.744226 -132.50 52.50 97.50 0.958353 -132.50 52.50 102.50 1.30023 -132.50 52.50 107.50 1.56226 -132.50 52.50 112.50 1.47003 -132.50 52.50 117.50 1.04099 -132.50 52.50 122.50 0.632367 -132.50 52.50 127.50 0.33982 -132.50 52.50 132.50 0.128969 -132.50 52.50 137.50 0.0395077 -132.50 52.50 142.50 0.0248604 -132.50 52.50 147.50 0.0546705 -132.50 52.50 152.50 0.120783 -132.50 52.50 157.50 0.223955 -132.50 52.50 162.50 0.328956 -132.50 52.50 167.50 0.355454 -132.50 52.50 172.50 0.41007 -132.50 52.50 177.50 0.522225 -132.50 52.50 182.50 0.744227 -132.50 52.50 187.50 0.958353 -132.50 52.50 192.50 1.30023 -132.50 52.50 197.50 1.56226 -132.50 52.50 202.50 1.47003 -132.50 52.50 207.50 1.04099 -132.50 52.50 212.50 0.632367 -132.50 52.50 217.50 0.33982 -132.50 52.50 222.50 0.128969 -132.50 52.50 227.50 0.0395077 -132.50 52.50 232.50 0.0248604 -132.50 52.50 237.50 0.0546706 -132.50 52.50 242.50 0.120783 -132.50 52.50 247.50 0.223955 -132.50 52.50 252.50 0.328956 -132.50 52.50 257.50 0.355454 -132.50 52.50 262.50 0.41007 -132.50 52.50 267.50 0.522225 -132.50 52.50 272.50 0.744226 -132.50 52.50 277.50 0.958352 -132.50 52.50 282.50 1.30023 -132.50 52.50 287.50 1.56225 -132.50 52.50 292.50 1.47003 -132.50 52.50 297.50 1.04099 -132.50 52.50 302.50 0.632367 -132.50 52.50 307.50 0.33982 -132.50 52.50 312.50 0.128969 -132.50 52.50 317.50 0.0395077 -132.50 52.50 322.50 0.0248604 -132.50 52.50 327.50 0.0546704 -132.50 52.50 332.50 0.120782 -132.50 52.50 337.50 0.223955 -132.50 52.50 342.50 0.328956 -132.50 52.50 347.50 0.355454 -132.50 52.50 352.50 0.41007 -132.50 52.50 357.50 0.522226 -132.50 57.50 2.50 0.728263 -132.50 57.50 7.50 0.64896 -132.50 57.50 12.50 0.702082 -132.50 57.50 17.50 0.659596 -132.50 57.50 22.50 0.530183 -132.50 57.50 27.50 0.348195 -132.50 57.50 32.50 0.228961 -132.50 57.50 37.50 0.115169 -132.50 57.50 42.50 0.0554553 -132.50 57.50 47.50 0.0521243 -132.50 57.50 52.50 0.0984554 -132.50 57.50 57.50 0.23898 -132.50 57.50 62.50 0.461697 -132.50 57.50 67.50 0.662422 -132.50 57.50 72.50 0.841226 -132.50 57.50 77.50 0.886595 -132.50 57.50 82.50 0.830932 -132.50 57.50 87.50 0.776923 -132.50 57.50 92.50 0.728264 -132.50 57.50 97.50 0.648961 -132.50 57.50 102.50 0.702082 -132.50 57.50 107.50 0.659596 -132.50 57.50 112.50 0.530183 -132.50 57.50 117.50 0.348195 -132.50 57.50 122.50 0.228961 -132.50 57.50 127.50 0.115169 -132.50 57.50 132.50 0.0554553 -132.50 57.50 137.50 0.0521242 -132.50 57.50 142.50 0.0984553 -132.50 57.50 147.50 0.23898 -132.50 57.50 152.50 0.461696 -132.50 57.50 157.50 0.662421 -132.50 57.50 162.50 0.841225 -132.50 57.50 167.50 0.886595 -132.50 57.50 172.50 0.830932 -132.50 57.50 177.50 0.776923 -132.50 57.50 182.50 0.728264 -132.50 57.50 187.50 0.648961 -132.50 57.50 192.50 0.702082 -132.50 57.50 197.50 0.659596 -132.50 57.50 202.50 0.530183 -132.50 57.50 207.50 0.348195 -132.50 57.50 212.50 0.228961 -132.50 57.50 217.50 0.115169 -132.50 57.50 222.50 0.0554553 -132.50 57.50 227.50 0.0521243 -132.50 57.50 232.50 0.0984558 -132.50 57.50 237.50 0.238981 -132.50 57.50 242.50 0.461697 -132.50 57.50 247.50 0.662422 -132.50 57.50 252.50 0.841226 -132.50 57.50 257.50 0.886595 -132.50 57.50 262.50 0.830932 -132.50 57.50 267.50 0.776923 -132.50 57.50 272.50 0.728263 -132.50 57.50 277.50 0.64896 -132.50 57.50 282.50 0.702082 -132.50 57.50 287.50 0.659596 -132.50 57.50 292.50 0.530183 -132.50 57.50 297.50 0.348195 -132.50 57.50 302.50 0.228961 -132.50 57.50 307.50 0.115169 -132.50 57.50 312.50 0.0554554 -132.50 57.50 317.50 0.0521243 -132.50 57.50 322.50 0.0984553 -132.50 57.50 327.50 0.23898 -132.50 57.50 332.50 0.461696 -132.50 57.50 337.50 0.662422 -132.50 57.50 342.50 0.841225 -132.50 57.50 347.50 0.886595 -132.50 57.50 352.50 0.830932 -132.50 57.50 357.50 0.776923 -132.50 62.50 2.50 0.674572 -132.50 62.50 7.50 0.413683 -132.50 62.50 12.50 0.309995 -132.50 62.50 17.50 0.20877 -132.50 62.50 22.50 0.129092 -132.50 62.50 27.50 0.0868904 -132.50 62.50 32.50 0.0696792 -132.50 62.50 37.50 0.0675347 -132.50 62.50 42.50 0.0966426 -132.50 62.50 47.50 0.169935 -132.50 62.50 52.50 0.377148 -132.50 62.50 57.50 0.815867 -132.50 62.50 62.50 1.32349 -132.50 62.50 67.50 1.69099 -132.50 62.50 72.50 1.77647 -132.50 62.50 77.50 1.6142 -132.50 62.50 82.50 1.32801 -132.50 62.50 87.50 1.00263 -132.50 62.50 92.50 0.674572 -132.50 62.50 97.50 0.413684 -132.50 62.50 102.50 0.309995 -132.50 62.50 107.50 0.20877 -132.50 62.50 112.50 0.129092 -132.50 62.50 117.50 0.0868903 -132.50 62.50 122.50 0.0696792 -132.50 62.50 127.50 0.0675346 -132.50 62.50 132.50 0.0966425 -132.50 62.50 137.50 0.169935 -132.50 62.50 142.50 0.377147 -132.50 62.50 147.50 0.815867 -132.50 62.50 152.50 1.32349 -132.50 62.50 157.50 1.69099 -132.50 62.50 162.50 1.77647 -132.50 62.50 167.50 1.6142 -132.50 62.50 172.50 1.32801 -132.50 62.50 177.50 1.00263 -132.50 62.50 182.50 0.674572 -132.50 62.50 187.50 0.413683 -132.50 62.50 192.50 0.309995 -132.50 62.50 197.50 0.20877 -132.50 62.50 202.50 0.129092 -132.50 62.50 207.50 0.0868904 -132.50 62.50 212.50 0.0696792 -132.50 62.50 217.50 0.0675346 -132.50 62.50 222.50 0.0966426 -132.50 62.50 227.50 0.169935 -132.50 62.50 232.50 0.377148 -132.50 62.50 237.50 0.815867 -132.50 62.50 242.50 1.32349 -132.50 62.50 247.50 1.69099 -132.50 62.50 252.50 1.77647 -132.50 62.50 257.50 1.6142 -132.50 62.50 262.50 1.328 -132.50 62.50 267.50 1.00263 -132.50 62.50 272.50 0.674572 -132.50 62.50 277.50 0.413684 -132.50 62.50 282.50 0.309995 -132.50 62.50 287.50 0.20877 -132.50 62.50 292.50 0.129092 -132.50 62.50 297.50 0.0868904 -132.50 62.50 302.50 0.0696792 -132.50 62.50 307.50 0.0675347 -132.50 62.50 312.50 0.0966427 -132.50 62.50 317.50 0.169935 -132.50 62.50 322.50 0.377147 -132.50 62.50 327.50 0.815866 -132.50 62.50 332.50 1.32349 -132.50 62.50 337.50 1.69099 -132.50 62.50 342.50 1.77647 -132.50 62.50 347.50 1.6142 -132.50 62.50 352.50 1.32801 -132.50 62.50 357.50 1.00263 -132.50 67.50 2.50 0.558756 -132.50 67.50 7.50 0.259396 -132.50 67.50 12.50 0.131129 -132.50 67.50 17.50 0.0594931 -132.50 67.50 22.50 0.0236979 -132.50 67.50 27.50 0.0154909 -132.50 67.50 32.50 0.0329186 -132.50 67.50 37.50 0.0950842 -132.50 67.50 42.50 0.223059 -132.50 67.50 47.50 0.504637 -132.50 67.50 52.50 1.0852 -132.50 67.50 57.50 1.94523 -132.50 67.50 62.50 2.79687 -132.50 67.50 67.50 3.30371 -132.50 67.50 72.50 3.0666 -132.50 67.50 77.50 2.3577 -132.50 67.50 82.50 1.62736 -132.50 67.50 87.50 1.02867 -132.50 67.50 92.50 0.558756 -132.50 67.50 97.50 0.259396 -132.50 67.50 102.50 0.131129 -132.50 67.50 107.50 0.0594931 -132.50 67.50 112.50 0.0236979 -132.50 67.50 117.50 0.0154909 -132.50 67.50 122.50 0.0329186 -132.50 67.50 127.50 0.0950842 -132.50 67.50 132.50 0.223059 -132.50 67.50 137.50 0.504636 -132.50 67.50 142.50 1.0852 -132.50 67.50 147.50 1.94523 -132.50 67.50 152.50 2.79687 -132.50 67.50 157.50 3.30371 -132.50 67.50 162.50 3.0666 -132.50 67.50 167.50 2.3577 -132.50 67.50 172.50 1.62736 -132.50 67.50 177.50 1.02868 -132.50 67.50 182.50 0.558756 -132.50 67.50 187.50 0.259396 -132.50 67.50 192.50 0.131129 -132.50 67.50 197.50 0.0594931 -132.50 67.50 202.50 0.0236979 -132.50 67.50 207.50 0.0154909 -132.50 67.50 212.50 0.0329186 -132.50 67.50 217.50 0.0950841 -132.50 67.50 222.50 0.223059 -132.50 67.50 227.50 0.504636 -132.50 67.50 232.50 1.08521 -132.50 67.50 237.50 1.94523 -132.50 67.50 242.50 2.79687 -132.50 67.50 247.50 3.30371 -132.50 67.50 252.50 3.0666 -132.50 67.50 257.50 2.35769 -132.50 67.50 262.50 1.62736 -132.50 67.50 267.50 1.02867 -132.50 67.50 272.50 0.558756 -132.50 67.50 277.50 0.259396 -132.50 67.50 282.50 0.131129 -132.50 67.50 287.50 0.0594931 -132.50 67.50 292.50 0.0236979 -132.50 67.50 297.50 0.0154909 -132.50 67.50 302.50 0.0329186 -132.50 67.50 307.50 0.0950842 -132.50 67.50 312.50 0.223059 -132.50 67.50 317.50 0.504637 -132.50 67.50 322.50 1.0852 -132.50 67.50 327.50 1.94523 -132.50 67.50 332.50 2.79687 -132.50 67.50 337.50 3.30371 -132.50 67.50 342.50 3.0666 -132.50 67.50 347.50 2.3577 -132.50 67.50 352.50 1.62736 -132.50 67.50 357.50 1.02868 -132.50 72.50 2.50 0.431719 -132.50 72.50 7.50 0.187455 -132.50 72.50 12.50 0.0853451 -132.50 72.50 17.50 0.0277193 -132.50 72.50 22.50 0.00961201 -132.50 72.50 27.50 0.0130062 -132.50 72.50 32.50 0.0509299 -132.50 72.50 37.50 0.162991 -132.50 72.50 42.50 0.456806 -132.50 72.50 47.50 1.09353 -132.50 72.50 52.50 2.17709 -132.50 72.50 57.50 3.4516 -132.50 72.50 62.50 4.36541 -132.50 72.50 67.50 4.68107 -132.50 72.50 72.50 4.10632 -132.50 72.50 77.50 2.78633 -132.50 72.50 82.50 1.64508 -132.50 72.50 87.50 0.884319 -132.50 72.50 92.50 0.431719 -132.50 72.50 97.50 0.187455 -132.50 72.50 102.50 0.0853452 -132.50 72.50 107.50 0.0277193 -132.50 72.50 112.50 0.00961199 -132.50 72.50 117.50 0.0130062 -132.50 72.50 122.50 0.0509298 -132.50 72.50 127.50 0.162991 -132.50 72.50 132.50 0.456806 -132.50 72.50 137.50 1.09353 -132.50 72.50 142.50 2.17709 -132.50 72.50 147.50 3.4516 -132.50 72.50 152.50 4.36541 -132.50 72.50 157.50 4.68107 -132.50 72.50 162.50 4.10632 -132.50 72.50 167.50 2.78633 -132.50 72.50 172.50 1.64508 -132.50 72.50 177.50 0.884319 -132.50 72.50 182.50 0.431719 -132.50 72.50 187.50 0.187455 -132.50 72.50 192.50 0.0853452 -132.50 72.50 197.50 0.0277193 -132.50 72.50 202.50 0.009612 -132.50 72.50 207.50 0.0130062 -132.50 72.50 212.50 0.0509298 -132.50 72.50 217.50 0.162991 -132.50 72.50 222.50 0.456805 -132.50 72.50 227.50 1.09353 -132.50 72.50 232.50 2.1771 -132.50 72.50 237.50 3.45161 -132.50 72.50 242.50 4.36541 -132.50 72.50 247.50 4.68107 -132.50 72.50 252.50 4.10632 -132.50 72.50 257.50 2.78633 -132.50 72.50 262.50 1.64508 -132.50 72.50 267.50 0.884318 -132.50 72.50 272.50 0.431719 -132.50 72.50 277.50 0.187455 -132.50 72.50 282.50 0.0853451 -132.50 72.50 287.50 0.0277193 -132.50 72.50 292.50 0.009612 -132.50 72.50 297.50 0.0130062 -132.50 72.50 302.50 0.0509298 -132.50 72.50 307.50 0.16299 -132.50 72.50 312.50 0.456805 -132.50 72.50 317.50 1.09353 -132.50 72.50 322.50 2.17709 -132.50 72.50 327.50 3.4516 -132.50 72.50 332.50 4.36541 -132.50 72.50 337.50 4.68107 -132.50 72.50 342.50 4.10632 -132.50 72.50 347.50 2.78634 -132.50 72.50 352.50 1.64508 -132.50 72.50 357.50 0.884319 -132.50 77.50 2.50 0.338201 -132.50 77.50 7.50 0.178607 -132.50 77.50 12.50 0.0790086 -132.50 77.50 17.50 0.0376966 -132.50 77.50 22.50 0.0263765 -132.50 77.50 27.50 0.0478693 -132.50 77.50 32.50 0.147111 -132.50 77.50 37.50 0.421262 -132.50 77.50 42.50 0.97389 -132.50 77.50 47.50 1.88771 -132.50 77.50 52.50 3.12333 -132.50 77.50 57.50 4.33102 -132.50 77.50 62.50 5.19463 -132.50 77.50 67.50 5.10878 -132.50 77.50 72.50 4.17443 -132.50 77.50 77.50 2.73288 -132.50 77.50 82.50 1.44413 -132.50 77.50 87.50 0.73616 -132.50 77.50 92.50 0.338201 -132.50 77.50 97.50 0.178607 -132.50 77.50 102.50 0.0790086 -132.50 77.50 107.50 0.0376965 -132.50 77.50 112.50 0.0263764 -132.50 77.50 117.50 0.0478692 -132.50 77.50 122.50 0.147111 -132.50 77.50 127.50 0.421262 -132.50 77.50 132.50 0.97389 -132.50 77.50 137.50 1.88771 -132.50 77.50 142.50 3.12333 -132.50 77.50 147.50 4.33102 -132.50 77.50 152.50 5.19463 -132.50 77.50 157.50 5.10878 -132.50 77.50 162.50 4.17443 -132.50 77.50 167.50 2.73288 -132.50 77.50 172.50 1.44414 -132.50 77.50 177.50 0.73616 -132.50 77.50 182.50 0.338201 -132.50 77.50 187.50 0.178607 -132.50 77.50 192.50 0.0790086 -132.50 77.50 197.50 0.0376965 -132.50 77.50 202.50 0.0263765 -132.50 77.50 207.50 0.0478692 -132.50 77.50 212.50 0.147111 -132.50 77.50 217.50 0.421262 -132.50 77.50 222.50 0.97389 -132.50 77.50 227.50 1.88771 -132.50 77.50 232.50 3.12333 -132.50 77.50 237.50 4.33102 -132.50 77.50 242.50 5.19463 -132.50 77.50 247.50 5.10878 -132.50 77.50 252.50 4.17443 -132.50 77.50 257.50 2.73288 -132.50 77.50 262.50 1.44413 -132.50 77.50 267.50 0.736158 -132.50 77.50 272.50 0.338201 -132.50 77.50 277.50 0.178607 -132.50 77.50 282.50 0.0790086 -132.50 77.50 287.50 0.0376966 -132.50 77.50 292.50 0.0263765 -132.50 77.50 297.50 0.0478692 -132.50 77.50 302.50 0.147111 -132.50 77.50 307.50 0.421262 -132.50 77.50 312.50 0.97389 -132.50 77.50 317.50 1.88771 -132.50 77.50 322.50 3.12333 -132.50 77.50 327.50 4.33102 -132.50 77.50 332.50 5.19463 -132.50 77.50 337.50 5.10878 -132.50 77.50 342.50 4.17443 -132.50 77.50 347.50 2.73289 -132.50 77.50 352.50 1.44414 -132.50 77.50 357.50 0.736161 -132.50 82.50 2.50 0.239625 -132.50 82.50 7.50 0.125546 -132.50 82.50 12.50 0.0772341 -132.50 82.50 17.50 0.0700693 -132.50 82.50 22.50 0.0927869 -132.50 82.50 27.50 0.176318 -132.50 82.50 32.50 0.393791 -132.50 82.50 37.50 0.85953 -132.50 82.50 42.50 1.60633 -132.50 82.50 47.50 2.4979 -132.50 82.50 52.50 3.51669 -132.50 82.50 57.50 4.50362 -132.50 82.50 62.50 4.91499 -132.50 82.50 67.50 4.46683 -132.50 82.50 72.50 3.30358 -132.50 82.50 77.50 2.0999 -132.50 82.50 82.50 1.13893 -132.50 82.50 87.50 0.55432 -132.50 82.50 92.50 0.239625 -132.50 82.50 97.50 0.125546 -132.50 82.50 102.50 0.0772341 -132.50 82.50 107.50 0.0700692 -132.50 82.50 112.50 0.0927868 -132.50 82.50 117.50 0.176318 -132.50 82.50 122.50 0.393791 -132.50 82.50 127.50 0.859531 -132.50 82.50 132.50 1.60633 -132.50 82.50 137.50 2.4979 -132.50 82.50 142.50 3.51669 -132.50 82.50 147.50 4.50362 -132.50 82.50 152.50 4.91499 -132.50 82.50 157.50 4.46684 -132.50 82.50 162.50 3.30358 -132.50 82.50 167.50 2.0999 -132.50 82.50 172.50 1.13893 -132.50 82.50 177.50 0.55432 -132.50 82.50 182.50 0.239625 -132.50 82.50 187.50 0.125545 -132.50 82.50 192.50 0.0772341 -132.50 82.50 197.50 0.0700692 -132.50 82.50 202.50 0.0927868 -132.50 82.50 207.50 0.176318 -132.50 82.50 212.50 0.393791 -132.50 82.50 217.50 0.85953 -132.50 82.50 222.50 1.60633 -132.50 82.50 227.50 2.4979 -132.50 82.50 232.50 3.5167 -132.50 82.50 237.50 4.50362 -132.50 82.50 242.50 4.91499 -132.50 82.50 247.50 4.46684 -132.50 82.50 252.50 3.30358 -132.50 82.50 257.50 2.0999 -132.50 82.50 262.50 1.13893 -132.50 82.50 267.50 0.554319 -132.50 82.50 272.50 0.239625 -132.50 82.50 277.50 0.125546 -132.50 82.50 282.50 0.0772341 -132.50 82.50 287.50 0.0700692 -132.50 82.50 292.50 0.0927869 -132.50 82.50 297.50 0.176318 -132.50 82.50 302.50 0.393791 -132.50 82.50 307.50 0.859529 -132.50 82.50 312.50 1.60633 -132.50 82.50 317.50 2.4979 -132.50 82.50 322.50 3.51669 -132.50 82.50 327.50 4.50362 -132.50 82.50 332.50 4.91499 -132.50 82.50 337.50 4.46684 -132.50 82.50 342.50 3.30358 -132.50 82.50 347.50 2.09991 -132.50 82.50 352.50 1.13893 -132.50 82.50 357.50 0.554321 -132.50 87.50 2.50 0.132069 -132.50 87.50 7.50 0.079334 -132.50 87.50 12.50 0.101098 -132.50 87.50 17.50 0.185422 -132.50 87.50 22.50 0.313856 -132.50 87.50 27.50 0.555858 -132.50 87.50 32.50 0.958483 -132.50 87.50 37.50 1.51502 -132.50 87.50 42.50 2.16789 -132.50 87.50 47.50 2.84468 -132.50 87.50 52.50 3.47699 -132.50 87.50 57.50 3.91893 -132.50 87.50 62.50 3.86454 -132.50 87.50 67.50 3.15089 -132.50 87.50 72.50 2.08425 -132.50 87.50 77.50 1.1883 -132.50 87.50 82.50 0.659936 -132.50 87.50 87.50 0.309184 -132.50 87.50 92.50 0.132069 -132.50 87.50 97.50 0.079334 -132.50 87.50 102.50 0.101098 -132.50 87.50 107.50 0.185422 -132.50 87.50 112.50 0.313855 -132.50 87.50 117.50 0.555857 -132.50 87.50 122.50 0.958483 -132.50 87.50 127.50 1.51502 -132.50 87.50 132.50 2.16789 -132.50 87.50 137.50 2.84468 -132.50 87.50 142.50 3.477 -132.50 87.50 147.50 3.91893 -132.50 87.50 152.50 3.86455 -132.50 87.50 157.50 3.15089 -132.50 87.50 162.50 2.08425 -132.50 87.50 167.50 1.1883 -132.50 87.50 172.50 0.659937 -132.50 87.50 177.50 0.309185 -132.50 87.50 182.50 0.132069 -132.50 87.50 187.50 0.079334 -132.50 87.50 192.50 0.101098 -132.50 87.50 197.50 0.185422 -132.50 87.50 202.50 0.313855 -132.50 87.50 207.50 0.555857 -132.50 87.50 212.50 0.958483 -132.50 87.50 217.50 1.51502 -132.50 87.50 222.50 2.16789 -132.50 87.50 227.50 2.84468 -132.50 87.50 232.50 3.477 -132.50 87.50 237.50 3.91893 -132.50 87.50 242.50 3.86455 -132.50 87.50 247.50 3.15088 -132.50 87.50 252.50 2.08425 -132.50 87.50 257.50 1.1883 -132.50 87.50 262.50 0.659936 -132.50 87.50 267.50 0.309184 -132.50 87.50 272.50 0.132069 -132.50 87.50 277.50 0.079334 -132.50 87.50 282.50 0.101098 -132.50 87.50 287.50 0.185422 -132.50 87.50 292.50 0.313855 -132.50 87.50 297.50 0.555857 -132.50 87.50 302.50 0.958483 -132.50 87.50 307.50 1.51502 -132.50 87.50 312.50 2.16789 -132.50 87.50 317.50 2.84468 -132.50 87.50 322.50 3.477 -132.50 87.50 327.50 3.91893 -132.50 87.50 332.50 3.86454 -132.50 87.50 337.50 3.15089 -132.50 87.50 342.50 2.08426 -132.50 87.50 347.50 1.1883 -132.50 87.50 352.50 0.659937 -132.50 87.50 357.50 0.309185 -132.50 92.50 2.50 0.083846 -132.50 92.50 7.50 0.12541 -132.50 92.50 12.50 0.244556 -132.50 92.50 17.50 0.460877 -132.50 92.50 22.50 0.865462 -132.50 92.50 27.50 1.46809 -132.50 92.50 32.50 2.09891 -132.50 92.50 37.50 2.5719 -132.50 92.50 42.50 2.82217 -132.50 92.50 47.50 2.8916 -132.50 92.50 52.50 2.82217 -132.50 92.50 57.50 2.5719 -132.50 92.50 62.50 2.09891 -132.50 92.50 67.50 1.46809 -132.50 92.50 72.50 0.865461 -132.50 92.50 77.50 0.460876 -132.50 92.50 82.50 0.244556 -132.50 92.50 87.50 0.12541 -132.50 92.50 92.50 0.083846 -132.50 92.50 97.50 0.12541 -132.50 92.50 102.50 0.244556 -132.50 92.50 107.50 0.460877 -132.50 92.50 112.50 0.865461 -132.50 92.50 117.50 1.46809 -132.50 92.50 122.50 2.09891 -132.50 92.50 127.50 2.5719 -132.50 92.50 132.50 2.82217 -132.50 92.50 137.50 2.8916 -132.50 92.50 142.50 2.82217 -132.50 92.50 147.50 2.5719 -132.50 92.50 152.50 2.09891 -132.50 92.50 157.50 1.46809 -132.50 92.50 162.50 0.865461 -132.50 92.50 167.50 0.460876 -132.50 92.50 172.50 0.244556 -132.50 92.50 177.50 0.12541 -132.50 92.50 182.50 0.083846 -132.50 92.50 187.50 0.12541 -132.50 92.50 192.50 0.244556 -132.50 92.50 197.50 0.460877 -132.50 92.50 202.50 0.865462 -132.50 92.50 207.50 1.46809 -132.50 92.50 212.50 2.09891 -132.50 92.50 217.50 2.5719 -132.50 92.50 222.50 2.82217 -132.50 92.50 227.50 2.8916 -132.50 92.50 232.50 2.82217 -132.50 92.50 237.50 2.5719 -132.50 92.50 242.50 2.09891 -132.50 92.50 247.50 1.46809 -132.50 92.50 252.50 0.865461 -132.50 92.50 257.50 0.460876 -132.50 92.50 262.50 0.244555 -132.50 92.50 267.50 0.12541 -132.50 92.50 272.50 0.083846 -132.50 92.50 277.50 0.12541 -132.50 92.50 282.50 0.244556 -132.50 92.50 287.50 0.460877 -132.50 92.50 292.50 0.865462 -132.50 92.50 297.50 1.46809 -132.50 92.50 302.50 2.09891 -132.50 92.50 307.50 2.5719 -132.50 92.50 312.50 2.82217 -132.50 92.50 317.50 2.8916 -132.50 92.50 322.50 2.82217 -132.50 92.50 327.50 2.5719 -132.50 92.50 332.50 2.09891 -132.50 92.50 337.50 1.46809 -132.50 92.50 342.50 0.865463 -132.50 92.50 347.50 0.460877 -132.50 92.50 352.50 0.244556 -132.50 92.50 357.50 0.12541 -132.50 97.50 2.50 0.132069 -132.50 97.50 7.50 0.309185 -132.50 97.50 12.50 0.659937 -132.50 97.50 17.50 1.1883 -132.50 97.50 22.50 2.08426 -132.50 97.50 27.50 3.15089 -132.50 97.50 32.50 3.86454 -132.50 97.50 37.50 3.91893 -132.50 97.50 42.50 3.47699 -132.50 97.50 47.50 2.84468 -132.50 97.50 52.50 2.16789 -132.50 97.50 57.50 1.51502 -132.50 97.50 62.50 0.958482 -132.50 97.50 67.50 0.555857 -132.50 97.50 72.50 0.313855 -132.50 97.50 77.50 0.185422 -132.50 97.50 82.50 0.101098 -132.50 97.50 87.50 0.079334 -132.50 97.50 92.50 0.132069 -132.50 97.50 97.50 0.309184 -132.50 97.50 102.50 0.659936 -132.50 97.50 107.50 1.1883 -132.50 97.50 112.50 2.08425 -132.50 97.50 117.50 3.15089 -132.50 97.50 122.50 3.86454 -132.50 97.50 127.50 3.91893 -132.50 97.50 132.50 3.47699 -132.50 97.50 137.50 2.84468 -132.50 97.50 142.50 2.16789 -132.50 97.50 147.50 1.51502 -132.50 97.50 152.50 0.958483 -132.50 97.50 157.50 0.555858 -132.50 97.50 162.50 0.313856 -132.50 97.50 167.50 0.185422 -132.50 97.50 172.50 0.101098 -132.50 97.50 177.50 0.079334 -132.50 97.50 182.50 0.132069 -132.50 97.50 187.50 0.309184 -132.50 97.50 192.50 0.659936 -132.50 97.50 197.50 1.1883 -132.50 97.50 202.50 2.08425 -132.50 97.50 207.50 3.15088 -132.50 97.50 212.50 3.86455 -132.50 97.50 217.50 3.91893 -132.50 97.50 222.50 3.47699 -132.50 97.50 227.50 2.84468 -132.50 97.50 232.50 2.16789 -132.50 97.50 237.50 1.51502 -132.50 97.50 242.50 0.958482 -132.50 97.50 247.50 0.555857 -132.50 97.50 252.50 0.313855 -132.50 97.50 257.50 0.185422 -132.50 97.50 262.50 0.101097 -132.50 97.50 267.50 0.079334 -132.50 97.50 272.50 0.132069 -132.50 97.50 277.50 0.309184 -132.50 97.50 282.50 0.659936 -132.50 97.50 287.50 1.1883 -132.50 97.50 292.50 2.08425 -132.50 97.50 297.50 3.15089 -132.50 97.50 302.50 3.86454 -132.50 97.50 307.50 3.91893 -132.50 97.50 312.50 3.477 -132.50 97.50 317.50 2.84468 -132.50 97.50 322.50 2.16789 -132.50 97.50 327.50 1.51502 -132.50 97.50 332.50 0.958484 -132.50 97.50 337.50 0.555858 -132.50 97.50 342.50 0.313856 -132.50 97.50 347.50 0.185422 -132.50 97.50 352.50 0.101098 -132.50 97.50 357.50 0.079334 -132.50 102.50 2.50 0.239625 -132.50 102.50 7.50 0.55432 -132.50 102.50 12.50 1.13893 -132.50 102.50 17.50 2.0999 -132.50 102.50 22.50 3.30358 -132.50 102.50 27.50 4.46684 -132.50 102.50 32.50 4.91499 -132.50 102.50 37.50 4.50362 -132.50 102.50 42.50 3.51669 -132.50 102.50 47.50 2.4979 -132.50 102.50 52.50 1.60633 -132.50 102.50 57.50 0.85953 -132.50 102.50 62.50 0.39379 -132.50 102.50 67.50 0.176318 -132.50 102.50 72.50 0.0927869 -132.50 102.50 77.50 0.0700693 -132.50 102.50 82.50 0.0772342 -132.50 102.50 87.50 0.125546 -132.50 102.50 92.50 0.239625 -132.50 102.50 97.50 0.55432 -132.50 102.50 102.50 1.13893 -132.50 102.50 107.50 2.0999 -132.50 102.50 112.50 3.30358 -132.50 102.50 117.50 4.46684 -132.50 102.50 122.50 4.91498 -132.50 102.50 127.50 4.50362 -132.50 102.50 132.50 3.51669 -132.50 102.50 137.50 2.4979 -132.50 102.50 142.50 1.60633 -132.50 102.50 147.50 0.85953 -132.50 102.50 152.50 0.393791 -132.50 102.50 157.50 0.176318 -132.50 102.50 162.50 0.092787 -132.50 102.50 167.50 0.0700693 -132.50 102.50 172.50 0.0772341 -132.50 102.50 177.50 0.125546 -132.50 102.50 182.50 0.239625 -132.50 102.50 187.50 0.55432 -132.50 102.50 192.50 1.13893 -132.50 102.50 197.50 2.09991 -132.50 102.50 202.50 3.30358 -132.50 102.50 207.50 4.46684 -132.50 102.50 212.50 4.91499 -132.50 102.50 217.50 4.50362 -132.50 102.50 222.50 3.5167 -132.50 102.50 227.50 2.4979 -132.50 102.50 232.50 1.60633 -132.50 102.50 237.50 0.859529 -132.50 102.50 242.50 0.393791 -132.50 102.50 247.50 0.176318 -132.50 102.50 252.50 0.0927868 -132.50 102.50 257.50 0.0700693 -132.50 102.50 262.50 0.0772342 -132.50 102.50 267.50 0.125546 -132.50 102.50 272.50 0.239625 -132.50 102.50 277.50 0.55432 -132.50 102.50 282.50 1.13893 -132.50 102.50 287.50 2.0999 -132.50 102.50 292.50 3.30358 -132.50 102.50 297.50 4.46683 -132.50 102.50 302.50 4.91499 -132.50 102.50 307.50 4.50362 -132.50 102.50 312.50 3.5167 -132.50 102.50 317.50 2.4979 -132.50 102.50 322.50 1.60633 -132.50 102.50 327.50 0.859531 -132.50 102.50 332.50 0.393792 -132.50 102.50 337.50 0.176318 -132.50 102.50 342.50 0.092787 -132.50 102.50 347.50 0.0700693 -132.50 102.50 352.50 0.0772341 -132.50 102.50 357.50 0.125545 -132.50 107.50 2.50 0.338201 -132.50 107.50 7.50 0.73616 -132.50 107.50 12.50 1.44413 -132.50 107.50 17.50 2.73288 -132.50 107.50 22.50 4.17443 -132.50 107.50 27.50 5.10879 -132.50 107.50 32.50 5.19463 -132.50 107.50 37.50 4.33102 -132.50 107.50 42.50 3.12333 -132.50 107.50 47.50 1.88771 -132.50 107.50 52.50 0.97389 -132.50 107.50 57.50 0.421262 -132.50 107.50 62.50 0.147111 -132.50 107.50 67.50 0.0478692 -132.50 107.50 72.50 0.0263765 -132.50 107.50 77.50 0.0376966 -132.50 107.50 82.50 0.0790087 -132.50 107.50 87.50 0.178607 -132.50 107.50 92.50 0.338201 -132.50 107.50 97.50 0.73616 -132.50 107.50 102.50 1.44413 -132.50 107.50 107.50 2.73288 -132.50 107.50 112.50 4.17443 -132.50 107.50 117.50 5.10879 -132.50 107.50 122.50 5.19463 -132.50 107.50 127.50 4.33102 -132.50 107.50 132.50 3.12333 -132.50 107.50 137.50 1.88771 -132.50 107.50 142.50 0.97389 -132.50 107.50 147.50 0.421262 -132.50 107.50 152.50 0.147111 -132.50 107.50 157.50 0.0478693 -132.50 107.50 162.50 0.0263765 -132.50 107.50 167.50 0.0376966 -132.50 107.50 172.50 0.0790086 -132.50 107.50 177.50 0.178607 -132.50 107.50 182.50 0.338201 -132.50 107.50 187.50 0.73616 -132.50 107.50 192.50 1.44413 -132.50 107.50 197.50 2.73288 -132.50 107.50 202.50 4.17443 -132.50 107.50 207.50 5.10879 -132.50 107.50 212.50 5.19463 -132.50 107.50 217.50 4.33102 -132.50 107.50 222.50 3.12333 -132.50 107.50 227.50 1.88771 -132.50 107.50 232.50 0.973889 -132.50 107.50 237.50 0.421261 -132.50 107.50 242.50 0.147111 -132.50 107.50 247.50 0.0478692 -132.50 107.50 252.50 0.0263765 -132.50 107.50 257.50 0.0376966 -132.50 107.50 262.50 0.0790087 -132.50 107.50 267.50 0.178607 -132.50 107.50 272.50 0.338201 -132.50 107.50 277.50 0.73616 -132.50 107.50 282.50 1.44413 -132.50 107.50 287.50 2.73288 -132.50 107.50 292.50 4.17443 -132.50 107.50 297.50 5.10879 -132.50 107.50 302.50 5.19463 -132.50 107.50 307.50 4.33102 -132.50 107.50 312.50 3.12333 -132.50 107.50 317.50 1.88771 -132.50 107.50 322.50 0.973892 -132.50 107.50 327.50 0.421263 -132.50 107.50 332.50 0.147112 -132.50 107.50 337.50 0.0478694 -132.50 107.50 342.50 0.0263765 -132.50 107.50 347.50 0.0376965 -132.50 107.50 352.50 0.0790085 -132.50 107.50 357.50 0.178607 -132.50 112.50 2.50 0.431719 -132.50 112.50 7.50 0.884319 -132.50 112.50 12.50 1.64508 -132.50 112.50 17.50 2.78633 -132.50 112.50 22.50 4.10632 -132.50 112.50 27.50 4.68107 -132.50 112.50 32.50 4.36541 -132.50 112.50 37.50 3.4516 -132.50 112.50 42.50 2.17709 -132.50 112.50 47.50 1.09353 -132.50 112.50 52.50 0.456806 -132.50 112.50 57.50 0.16299 -132.50 112.50 62.50 0.0509298 -132.50 112.50 67.50 0.0130062 -132.50 112.50 72.50 0.00961201 -132.50 112.50 77.50 0.0277193 -132.50 112.50 82.50 0.0853452 -132.50 112.50 87.50 0.187455 -132.50 112.50 92.50 0.43172 -132.50 112.50 97.50 0.884319 -132.50 112.50 102.50 1.64508 -132.50 112.50 107.50 2.78633 -132.50 112.50 112.50 4.10632 -132.50 112.50 117.50 4.68107 -132.50 112.50 122.50 4.36541 -132.50 112.50 127.50 3.4516 -132.50 112.50 132.50 2.17709 -132.50 112.50 137.50 1.09353 -132.50 112.50 142.50 0.456806 -132.50 112.50 147.50 0.16299 -132.50 112.50 152.50 0.0509299 -132.50 112.50 157.50 0.0130062 -132.50 112.50 162.50 0.009612 -132.50 112.50 167.50 0.0277193 -132.50 112.50 172.50 0.0853451 -132.50 112.50 177.50 0.187455 -132.50 112.50 182.50 0.43172 -132.50 112.50 187.50 0.884318 -132.50 112.50 192.50 1.64508 -132.50 112.50 197.50 2.78633 -132.50 112.50 202.50 4.10632 -132.50 112.50 207.50 4.68107 -132.50 112.50 212.50 4.36541 -132.50 112.50 217.50 3.4516 -132.50 112.50 222.50 2.17709 -132.50 112.50 227.50 1.09353 -132.50 112.50 232.50 0.456805 -132.50 112.50 237.50 0.16299 -132.50 112.50 242.50 0.0509297 -132.50 112.50 247.50 0.0130062 -132.50 112.50 252.50 0.009612 -132.50 112.50 257.50 0.0277193 -132.50 112.50 262.50 0.0853453 -132.50 112.50 267.50 0.187455 -132.50 112.50 272.50 0.431719 -132.50 112.50 277.50 0.884318 -132.50 112.50 282.50 1.64508 -132.50 112.50 287.50 2.78633 -132.50 112.50 292.50 4.10632 -132.50 112.50 297.50 4.68107 -132.50 112.50 302.50 4.36541 -132.50 112.50 307.50 3.4516 -132.50 112.50 312.50 2.17709 -132.50 112.50 317.50 1.09353 -132.50 112.50 322.50 0.456807 -132.50 112.50 327.50 0.162991 -132.50 112.50 332.50 0.05093 -132.50 112.50 337.50 0.0130063 -132.50 112.50 342.50 0.00961199 -132.50 112.50 347.50 0.0277192 -132.50 112.50 352.50 0.0853449 -132.50 112.50 357.50 0.187455 -132.50 117.50 2.50 0.558757 -132.50 117.50 7.50 1.02867 -132.50 117.50 12.50 1.62736 -132.50 117.50 17.50 2.35769 -132.50 117.50 22.50 3.0666 -132.50 117.50 27.50 3.30371 -132.50 117.50 32.50 2.79687 -132.50 117.50 37.50 1.94523 -132.50 117.50 42.50 1.0852 -132.50 117.50 47.50 0.504636 -132.50 117.50 52.50 0.223058 -132.50 117.50 57.50 0.095084 -132.50 117.50 62.50 0.0329186 -132.50 117.50 67.50 0.0154909 -132.50 117.50 72.50 0.023698 -132.50 117.50 77.50 0.0594932 -132.50 117.50 82.50 0.13113 -132.50 117.50 87.50 0.259396 -132.50 117.50 92.50 0.558757 -132.50 117.50 97.50 1.02867 -132.50 117.50 102.50 1.62736 -132.50 117.50 107.50 2.35769 -132.50 117.50 112.50 3.0666 -132.50 117.50 117.50 3.30371 -132.50 117.50 122.50 2.79687 -132.50 117.50 127.50 1.94522 -132.50 117.50 132.50 1.0852 -132.50 117.50 137.50 0.504636 -132.50 117.50 142.50 0.223059 -132.50 117.50 147.50 0.0950841 -132.50 117.50 152.50 0.0329186 -132.50 117.50 157.50 0.0154909 -132.50 117.50 162.50 0.0236979 -132.50 117.50 167.50 0.0594932 -132.50 117.50 172.50 0.131129 -132.50 117.50 177.50 0.259396 -132.50 117.50 182.50 0.558757 -132.50 117.50 187.50 1.02867 -132.50 117.50 192.50 1.62736 -132.50 117.50 197.50 2.35769 -132.50 117.50 202.50 3.0666 -132.50 117.50 207.50 3.30371 -132.50 117.50 212.50 2.79687 -132.50 117.50 217.50 1.94523 -132.50 117.50 222.50 1.0852 -132.50 117.50 227.50 0.504636 -132.50 117.50 232.50 0.223058 -132.50 117.50 237.50 0.0950839 -132.50 117.50 242.50 0.0329186 -132.50 117.50 247.50 0.0154909 -132.50 117.50 252.50 0.023698 -132.50 117.50 257.50 0.0594932 -132.50 117.50 262.50 0.13113 -132.50 117.50 267.50 0.259396 -132.50 117.50 272.50 0.558756 -132.50 117.50 277.50 1.02867 -132.50 117.50 282.50 1.62736 -132.50 117.50 287.50 2.35769 -132.50 117.50 292.50 3.0666 -132.50 117.50 297.50 3.30371 -132.50 117.50 302.50 2.79687 -132.50 117.50 307.50 1.94523 -132.50 117.50 312.50 1.0852 -132.50 117.50 317.50 0.504637 -132.50 117.50 322.50 0.223059 -132.50 117.50 327.50 0.0950842 -132.50 117.50 332.50 0.0329187 -132.50 117.50 337.50 0.015491 -132.50 117.50 342.50 0.0236979 -132.50 117.50 347.50 0.0594931 -132.50 117.50 352.50 0.131129 -132.50 117.50 357.50 0.259395 -132.50 122.50 2.50 0.674572 -132.50 122.50 7.50 1.00263 -132.50 122.50 12.50 1.328 -132.50 122.50 17.50 1.6142 -132.50 122.50 22.50 1.77647 -132.50 122.50 27.50 1.69099 -132.50 122.50 32.50 1.32348 -132.50 122.50 37.50 0.815866 -132.50 122.50 42.50 0.377146 -132.50 122.50 47.50 0.169935 -132.50 122.50 52.50 0.0966424 -132.50 122.50 57.50 0.0675346 -132.50 122.50 62.50 0.0696794 -132.50 122.50 67.50 0.0868905 -132.50 122.50 72.50 0.129093 -132.50 122.50 77.50 0.208771 -132.50 122.50 82.50 0.309996 -132.50 122.50 87.50 0.413684 -132.50 122.50 92.50 0.674573 -132.50 122.50 97.50 1.00263 -132.50 122.50 102.50 1.32801 -132.50 122.50 107.50 1.6142 -132.50 122.50 112.50 1.77647 -132.50 122.50 117.50 1.69099 -132.50 122.50 122.50 1.32349 -132.50 122.50 127.50 0.815864 -132.50 122.50 132.50 0.377146 -132.50 122.50 137.50 0.169935 -132.50 122.50 142.50 0.0966424 -132.50 122.50 147.50 0.0675346 -132.50 122.50 152.50 0.0696793 -132.50 122.50 157.50 0.0868905 -132.50 122.50 162.50 0.129092 -132.50 122.50 167.50 0.20877 -132.50 122.50 172.50 0.309995 -132.50 122.50 177.50 0.413684 -132.50 122.50 182.50 0.674572 -132.50 122.50 187.50 1.00263 -132.50 122.50 192.50 1.32801 -132.50 122.50 197.50 1.6142 -132.50 122.50 202.50 1.77647 -132.50 122.50 207.50 1.69099 -132.50 122.50 212.50 1.32349 -132.50 122.50 217.50 0.815866 -132.50 122.50 222.50 0.377147 -132.50 122.50 227.50 0.169935 -132.50 122.50 232.50 0.0966424 -132.50 122.50 237.50 0.0675346 -132.50 122.50 242.50 0.0696793 -132.50 122.50 247.50 0.0868906 -132.50 122.50 252.50 0.129093 -132.50 122.50 257.50 0.208771 -132.50 122.50 262.50 0.309995 -132.50 122.50 267.50 0.413684 -132.50 122.50 272.50 0.674572 -132.50 122.50 277.50 1.00263 -132.50 122.50 282.50 1.328 -132.50 122.50 287.50 1.6142 -132.50 122.50 292.50 1.77647 -132.50 122.50 297.50 1.69099 -132.50 122.50 302.50 1.32348 -132.50 122.50 307.50 0.815866 -132.50 122.50 312.50 0.377147 -132.50 122.50 317.50 0.169935 -132.50 122.50 322.50 0.0966425 -132.50 122.50 327.50 0.0675347 -132.50 122.50 332.50 0.0696793 -132.50 122.50 337.50 0.0868904 -132.50 122.50 342.50 0.129092 -132.50 122.50 347.50 0.208771 -132.50 122.50 352.50 0.309995 -132.50 122.50 357.50 0.413684 -132.50 127.50 2.50 0.728262 -132.50 127.50 7.50 0.776922 -132.50 127.50 12.50 0.830931 -132.50 127.50 17.50 0.886594 -132.50 127.50 22.50 0.841224 -132.50 127.50 27.50 0.662421 -132.50 127.50 32.50 0.461696 -132.50 127.50 37.50 0.23898 -132.50 127.50 42.50 0.0984554 -132.50 127.50 47.50 0.0521242 -132.50 127.50 52.50 0.0554553 -132.50 127.50 57.50 0.115169 -132.50 127.50 62.50 0.228961 -132.50 127.50 67.50 0.348195 -132.50 127.50 72.50 0.530183 -132.50 127.50 77.50 0.659597 -132.50 127.50 82.50 0.702082 -132.50 127.50 87.50 0.648961 -132.50 127.50 92.50 0.728263 -132.50 127.50 97.50 0.776924 -132.50 127.50 102.50 0.830932 -132.50 127.50 107.50 0.886595 -132.50 127.50 112.50 0.841225 -132.50 127.50 117.50 0.662421 -132.50 127.50 122.50 0.461696 -132.50 127.50 127.50 0.23898 -132.50 127.50 132.50 0.0984553 -132.50 127.50 137.50 0.0521242 -132.50 127.50 142.50 0.0554553 -132.50 127.50 147.50 0.115169 -132.50 127.50 152.50 0.228961 -132.50 127.50 157.50 0.348195 -132.50 127.50 162.50 0.530183 -132.50 127.50 167.50 0.659596 -132.50 127.50 172.50 0.702083 -132.50 127.50 177.50 0.648961 -132.50 127.50 182.50 0.728262 -132.50 127.50 187.50 0.776923 -132.50 127.50 192.50 0.830932 -132.50 127.50 197.50 0.886595 -132.50 127.50 202.50 0.841226 -132.50 127.50 207.50 0.662422 -132.50 127.50 212.50 0.461697 -132.50 127.50 217.50 0.23898 -132.50 127.50 222.50 0.0984553 -132.50 127.50 227.50 0.0521243 -132.50 127.50 232.50 0.0554554 -132.50 127.50 237.50 0.115169 -132.50 127.50 242.50 0.228961 -132.50 127.50 247.50 0.348195 -132.50 127.50 252.50 0.530183 -132.50 127.50 257.50 0.659597 -132.50 127.50 262.50 0.702082 -132.50 127.50 267.50 0.64896 -132.50 127.50 272.50 0.728263 -132.50 127.50 277.50 0.776923 -132.50 127.50 282.50 0.830931 -132.50 127.50 287.50 0.886595 -132.50 127.50 292.50 0.841225 -132.50 127.50 297.50 0.662422 -132.50 127.50 302.50 0.461697 -132.50 127.50 307.50 0.23898 -132.50 127.50 312.50 0.0984555 -132.50 127.50 317.50 0.0521243 -132.50 127.50 322.50 0.0554553 -132.50 127.50 327.50 0.115169 -132.50 127.50 332.50 0.228961 -132.50 127.50 337.50 0.348195 -132.50 127.50 342.50 0.530183 -132.50 127.50 347.50 0.659597 -132.50 127.50 352.50 0.702082 -132.50 127.50 357.50 0.648961 -132.50 132.50 2.50 0.744225 -132.50 132.50 7.50 0.522226 -132.50 132.50 12.50 0.41007 -132.50 132.50 17.50 0.355454 -132.50 132.50 22.50 0.328956 -132.50 132.50 27.50 0.223955 -132.50 132.50 32.50 0.120783 -132.50 132.50 37.50 0.0546704 -132.50 132.50 42.50 0.0248604 -132.50 132.50 47.50 0.0395077 -132.50 132.50 52.50 0.128969 -132.50 132.50 57.50 0.33982 -132.50 132.50 62.50 0.632368 -132.50 132.50 67.50 1.041 -132.50 132.50 72.50 1.47003 -132.50 132.50 77.50 1.56226 -132.50 132.50 82.50 1.30023 -132.50 132.50 87.50 0.958353 -132.50 132.50 92.50 0.744226 -132.50 132.50 97.50 0.522226 -132.50 132.50 102.50 0.41007 -132.50 132.50 107.50 0.355454 -132.50 132.50 112.50 0.328956 -132.50 132.50 117.50 0.223955 -132.50 132.50 122.50 0.120782 -132.50 132.50 127.50 0.0546704 -132.50 132.50 132.50 0.0248604 -132.50 132.50 137.50 0.0395077 -132.50 132.50 142.50 0.128969 -132.50 132.50 147.50 0.33982 -132.50 132.50 152.50 0.632368 -132.50 132.50 157.50 1.04099 -132.50 132.50 162.50 1.47003 -132.50 132.50 167.50 1.56225 -132.50 132.50 172.50 1.30023 -132.50 132.50 177.50 0.958353 -132.50 132.50 182.50 0.744225 -132.50 132.50 187.50 0.522226 -132.50 132.50 192.50 0.41007 -132.50 132.50 197.50 0.355454 -132.50 132.50 202.50 0.328956 -132.50 132.50 207.50 0.223955 -132.50 132.50 212.50 0.120783 -132.50 132.50 217.50 0.0546704 -132.50 132.50 222.50 0.0248604 -132.50 132.50 227.50 0.0395076 -132.50 132.50 232.50 0.128969 -132.50 132.50 237.50 0.339821 -132.50 132.50 242.50 0.632368 -132.50 132.50 247.50 1.04099 -132.50 132.50 252.50 1.47003 -132.50 132.50 257.50 1.56225 -132.50 132.50 262.50 1.30023 -132.50 132.50 267.50 0.958352 -132.50 132.50 272.50 0.744225 -132.50 132.50 277.50 0.522225 -132.50 132.50 282.50 0.41007 -132.50 132.50 287.50 0.355454 -132.50 132.50 292.50 0.328956 -132.50 132.50 297.50 0.223955 -132.50 132.50 302.50 0.120783 -132.50 132.50 307.50 0.0546705 -132.50 132.50 312.50 0.0248604 -132.50 132.50 317.50 0.0395077 -132.50 132.50 322.50 0.128969 -132.50 132.50 327.50 0.33982 -132.50 132.50 332.50 0.632367 -132.50 132.50 337.50 1.04099 -132.50 132.50 342.50 1.47003 -132.50 132.50 347.50 1.56225 -132.50 132.50 352.50 1.30023 -132.50 132.50 357.50 0.958354 -132.50 137.50 2.50 0.748975 -132.50 137.50 7.50 0.352337 -132.50 137.50 12.50 0.177551 -132.50 137.50 17.50 0.119315 -132.50 137.50 22.50 0.0948643 -132.50 137.50 27.50 0.062525 -132.50 137.50 32.50 0.0257526 -132.50 137.50 37.50 0.0182599 -132.50 137.50 42.50 0.0315758 -132.50 137.50 47.50 0.117767 -132.50 137.50 52.50 0.332445 -132.50 137.50 57.50 0.808732 -132.50 137.50 62.50 1.50534 -132.50 137.50 67.50 2.34909 -132.50 137.50 72.50 2.99443 -132.50 137.50 77.50 2.79905 -132.50 137.50 82.50 2.06908 -132.50 137.50 87.50 1.30179 -132.50 137.50 92.50 0.748976 -132.50 137.50 97.50 0.352337 -132.50 137.50 102.50 0.177551 -132.50 137.50 107.50 0.119315 -132.50 137.50 112.50 0.0948643 -132.50 137.50 117.50 0.062525 -132.50 137.50 122.50 0.0257526 -132.50 137.50 127.50 0.0182599 -132.50 137.50 132.50 0.0315758 -132.50 137.50 137.50 0.117766 -132.50 137.50 142.50 0.332445 -132.50 137.50 147.50 0.808732 -132.50 137.50 152.50 1.50534 -132.50 137.50 157.50 2.34909 -132.50 137.50 162.50 2.99443 -132.50 137.50 167.50 2.79905 -132.50 137.50 172.50 2.06908 -132.50 137.50 177.50 1.3018 -132.50 137.50 182.50 0.748975 -132.50 137.50 187.50 0.352337 -132.50 137.50 192.50 0.177551 -132.50 137.50 197.50 0.119315 -132.50 137.50 202.50 0.0948643 -132.50 137.50 207.50 0.0625251 -132.50 137.50 212.50 0.0257526 -132.50 137.50 217.50 0.0182599 -132.50 137.50 222.50 0.0315758 -132.50 137.50 227.50 0.117766 -132.50 137.50 232.50 0.332446 -132.50 137.50 237.50 0.808733 -132.50 137.50 242.50 1.50534 -132.50 137.50 247.50 2.34909 -132.50 137.50 252.50 2.99443 -132.50 137.50 257.50 2.79905 -132.50 137.50 262.50 2.06907 -132.50 137.50 267.50 1.30179 -132.50 137.50 272.50 0.748976 -132.50 137.50 277.50 0.352337 -132.50 137.50 282.50 0.177551 -132.50 137.50 287.50 0.119315 -132.50 137.50 292.50 0.0948643 -132.50 137.50 297.50 0.0625251 -132.50 137.50 302.50 0.0257527 -132.50 137.50 307.50 0.0182599 -132.50 137.50 312.50 0.0315758 -132.50 137.50 317.50 0.117766 -132.50 137.50 322.50 0.332445 -132.50 137.50 327.50 0.808731 -132.50 137.50 332.50 1.50534 -132.50 137.50 337.50 2.34909 -132.50 137.50 342.50 2.99443 -132.50 137.50 347.50 2.79905 -132.50 137.50 352.50 2.06908 -132.50 137.50 357.50 1.3018 -132.50 142.50 2.50 0.744225 -132.50 142.50 7.50 0.25764 -132.50 142.50 12.50 0.0797781 -132.50 142.50 17.50 0.03419 -132.50 142.50 22.50 0.0205436 -132.50 142.50 27.50 0.0139855 -132.50 142.50 32.50 0.0156238 -132.50 142.50 37.50 0.0431594 -132.50 142.50 42.50 0.117309 -132.50 142.50 47.50 0.283541 -132.50 142.50 52.50 0.677184 -132.50 142.50 57.50 1.4521 -132.50 142.50 62.50 2.64638 -132.50 142.50 67.50 3.91269 -132.50 142.50 72.50 4.6062 -132.50 142.50 77.50 4.14883 -132.50 142.50 82.50 2.93175 -132.50 142.50 87.50 1.6303 -132.50 142.50 92.50 0.744225 -132.50 142.50 97.50 0.257641 -132.50 142.50 102.50 0.0797782 -132.50 142.50 107.50 0.0341901 -132.50 142.50 112.50 0.0205436 -132.50 142.50 117.50 0.0139855 -132.50 142.50 122.50 0.0156238 -132.50 142.50 127.50 0.0431594 -132.50 142.50 132.50 0.117309 -132.50 142.50 137.50 0.283541 -132.50 142.50 142.50 0.677183 -132.50 142.50 147.50 1.45209 -132.50 142.50 152.50 2.64638 -132.50 142.50 157.50 3.91268 -132.50 142.50 162.50 4.6062 -132.50 142.50 167.50 4.14883 -132.50 142.50 172.50 2.93175 -132.50 142.50 177.50 1.6303 -132.50 142.50 182.50 0.744225 -132.50 142.50 187.50 0.25764 -132.50 142.50 192.50 0.0797781 -132.50 142.50 197.50 0.03419 -132.50 142.50 202.50 0.0205436 -132.50 142.50 207.50 0.0139855 -132.50 142.50 212.50 0.0156238 -132.50 142.50 217.50 0.0431594 -132.50 142.50 222.50 0.117309 -132.50 142.50 227.50 0.28354 -132.50 142.50 232.50 0.677184 -132.50 142.50 237.50 1.4521 -132.50 142.50 242.50 2.64638 -132.50 142.50 247.50 3.91269 -132.50 142.50 252.50 4.6062 -132.50 142.50 257.50 4.14883 -132.50 142.50 262.50 2.93174 -132.50 142.50 267.50 1.6303 -132.50 142.50 272.50 0.744226 -132.50 142.50 277.50 0.25764 -132.50 142.50 282.50 0.0797781 -132.50 142.50 287.50 0.03419 -132.50 142.50 292.50 0.0205436 -132.50 142.50 297.50 0.0139855 -132.50 142.50 302.50 0.0156238 -132.50 142.50 307.50 0.0431594 -132.50 142.50 312.50 0.117309 -132.50 142.50 317.50 0.28354 -132.50 142.50 322.50 0.677183 -132.50 142.50 327.50 1.45209 -132.50 142.50 332.50 2.64638 -132.50 142.50 337.50 3.91268 -132.50 142.50 342.50 4.6062 -132.50 142.50 347.50 4.14883 -132.50 142.50 352.50 2.93175 -132.50 142.50 357.50 1.63031 -132.50 147.50 2.50 0.728263 -132.50 147.50 7.50 0.208459 -132.50 147.50 12.50 0.0528744 -132.50 147.50 17.50 0.0141549 -132.50 147.50 22.50 0.00811181 -132.50 147.50 27.50 0.0140954 -132.50 147.50 32.50 0.0465248 -132.50 147.50 37.50 0.1377 -132.50 147.50 42.50 0.328053 -132.50 147.50 47.50 0.620381 -132.50 147.50 52.50 1.13131 -132.50 147.50 57.50 2.10851 -132.50 147.50 62.50 3.53834 -132.50 147.50 67.50 4.99912 -132.50 147.50 72.50 5.68643 -132.50 147.50 77.50 5.17216 -132.50 147.50 82.50 3.59088 -132.50 147.50 87.50 1.84194 -132.50 147.50 92.50 0.728263 -132.50 147.50 97.50 0.208459 -132.50 147.50 102.50 0.0528744 -132.50 147.50 107.50 0.0141549 -132.50 147.50 112.50 0.0081118 -132.50 147.50 117.50 0.0140954 -132.50 147.50 122.50 0.0465248 -132.50 147.50 127.50 0.1377 -132.50 147.50 132.50 0.328053 -132.50 147.50 137.50 0.620381 -132.50 147.50 142.50 1.13131 -132.50 147.50 147.50 2.10851 -132.50 147.50 152.50 3.53834 -132.50 147.50 157.50 4.99912 -132.50 147.50 162.50 5.68642 -132.50 147.50 167.50 5.17216 -132.50 147.50 172.50 3.59088 -132.50 147.50 177.50 1.84194 -132.50 147.50 182.50 0.728262 -132.50 147.50 187.50 0.208458 -132.50 147.50 192.50 0.0528743 -132.50 147.50 197.50 0.0141549 -132.50 147.50 202.50 0.00811181 -132.50 147.50 207.50 0.0140954 -132.50 147.50 212.50 0.0465248 -132.50 147.50 217.50 0.1377 -132.50 147.50 222.50 0.328053 -132.50 147.50 227.50 0.620381 -132.50 147.50 232.50 1.13131 -132.50 147.50 237.50 2.10851 -132.50 147.50 242.50 3.53834 -132.50 147.50 247.50 4.99912 -132.50 147.50 252.50 5.68643 -132.50 147.50 257.50 5.17216 -132.50 147.50 262.50 3.59088 -132.50 147.50 267.50 1.84193 -132.50 147.50 272.50 0.728263 -132.50 147.50 277.50 0.208459 -132.50 147.50 282.50 0.0528744 -132.50 147.50 287.50 0.0141549 -132.50 147.50 292.50 0.00811181 -132.50 147.50 297.50 0.0140954 -132.50 147.50 302.50 0.0465248 -132.50 147.50 307.50 0.1377 -132.50 147.50 312.50 0.328053 -132.50 147.50 317.50 0.620381 -132.50 147.50 322.50 1.1313 -132.50 147.50 327.50 2.10851 -132.50 147.50 332.50 3.53834 -132.50 147.50 337.50 4.99912 -132.50 147.50 342.50 5.68643 -132.50 147.50 347.50 5.17216 -132.50 147.50 352.50 3.59089 -132.50 147.50 357.50 1.84194 -132.50 152.50 2.50 0.674572 -132.50 152.50 7.50 0.178438 -132.50 152.50 12.50 0.0504364 -132.50 152.50 17.50 0.0130588 -132.50 152.50 22.50 0.0155686 -132.50 152.50 27.50 0.0400465 -132.50 152.50 32.50 0.123107 -132.50 152.50 37.50 0.3163 -132.50 152.50 42.50 0.635226 -132.50 152.50 47.50 1.05363 -132.50 152.50 52.50 1.61851 -132.50 152.50 57.50 2.49292 -132.50 152.50 62.50 3.72516 -132.50 152.50 67.50 5.07766 -132.50 152.50 72.50 5.61847 -132.50 152.50 77.50 5.12189 -132.50 152.50 82.50 3.51128 -132.50 152.50 87.50 1.77615 -132.50 152.50 92.50 0.674572 -132.50 152.50 97.50 0.178438 -132.50 152.50 102.50 0.0504364 -132.50 152.50 107.50 0.0130588 -132.50 152.50 112.50 0.0155686 -132.50 152.50 117.50 0.0400464 -132.50 152.50 122.50 0.123106 -132.50 152.50 127.50 0.3163 -132.50 152.50 132.50 0.635226 -132.50 152.50 137.50 1.05363 -132.50 152.50 142.50 1.61851 -132.50 152.50 147.50 2.49292 -132.50 152.50 152.50 3.72516 -132.50 152.50 157.50 5.07766 -132.50 152.50 162.50 5.61847 -132.50 152.50 167.50 5.12189 -132.50 152.50 172.50 3.51128 -132.50 152.50 177.50 1.77615 -132.50 152.50 182.50 0.674571 -132.50 152.50 187.50 0.178438 -132.50 152.50 192.50 0.0504364 -132.50 152.50 197.50 0.0130588 -132.50 152.50 202.50 0.0155686 -132.50 152.50 207.50 0.0400464 -132.50 152.50 212.50 0.123107 -132.50 152.50 217.50 0.3163 -132.50 152.50 222.50 0.635225 -132.50 152.50 227.50 1.05362 -132.50 152.50 232.50 1.61851 -132.50 152.50 237.50 2.49292 -132.50 152.50 242.50 3.72517 -132.50 152.50 247.50 5.07766 -132.50 152.50 252.50 5.61847 -132.50 152.50 257.50 5.12189 -132.50 152.50 262.50 3.51128 -132.50 152.50 267.50 1.77615 -132.50 152.50 272.50 0.674572 -132.50 152.50 277.50 0.178438 -132.50 152.50 282.50 0.0504365 -132.50 152.50 287.50 0.0130588 -132.50 152.50 292.50 0.0155686 -132.50 152.50 297.50 0.0400464 -132.50 152.50 302.50 0.123106 -132.50 152.50 307.50 0.316299 -132.50 152.50 312.50 0.635225 -132.50 152.50 317.50 1.05362 -132.50 152.50 322.50 1.61851 -132.50 152.50 327.50 2.49292 -132.50 152.50 332.50 3.72516 -132.50 152.50 337.50 5.07766 -132.50 152.50 342.50 5.61847 -132.50 152.50 347.50 5.12189 -132.50 152.50 352.50 3.51129 -132.50 152.50 357.50 1.77615 -132.50 157.50 2.50 0.558756 -132.50 157.50 7.50 0.165933 -132.50 157.50 12.50 0.0546664 -132.50 157.50 17.50 0.0279364 -132.50 157.50 22.50 0.0447133 -132.50 157.50 27.50 0.106069 -132.50 157.50 32.50 0.254734 -132.50 157.50 37.50 0.544446 -132.50 157.50 42.50 0.96088 -132.50 157.50 47.50 1.41644 -132.50 157.50 52.50 1.851 -132.50 157.50 57.50 2.4042 -132.50 157.50 62.50 3.23112 -132.50 157.50 67.50 4.00843 -132.50 157.50 72.50 4.29488 -132.50 157.50 77.50 3.82806 -132.50 157.50 82.50 2.66296 -132.50 157.50 87.50 1.38427 -132.50 157.50 92.50 0.558756 -132.50 157.50 97.50 0.165933 -132.50 157.50 102.50 0.0546664 -132.50 157.50 107.50 0.0279363 -132.50 157.50 112.50 0.0447133 -132.50 157.50 117.50 0.106069 -132.50 157.50 122.50 0.254735 -132.50 157.50 127.50 0.544446 -132.50 157.50 132.50 0.96088 -132.50 157.50 137.50 1.41644 -132.50 157.50 142.50 1.851 -132.50 157.50 147.50 2.4042 -132.50 157.50 152.50 3.23112 -132.50 157.50 157.50 4.00843 -132.50 157.50 162.50 4.29488 -132.50 157.50 167.50 3.82806 -132.50 157.50 172.50 2.66297 -132.50 157.50 177.50 1.38427 -132.50 157.50 182.50 0.558756 -132.50 157.50 187.50 0.165933 -132.50 157.50 192.50 0.0546663 -132.50 157.50 197.50 0.0279363 -132.50 157.50 202.50 0.0447133 -132.50 157.50 207.50 0.106069 -132.50 157.50 212.50 0.254734 -132.50 157.50 217.50 0.544446 -132.50 157.50 222.50 0.96088 -132.50 157.50 227.50 1.41644 -132.50 157.50 232.50 1.851 -132.50 157.50 237.50 2.4042 -132.50 157.50 242.50 3.23112 -132.50 157.50 247.50 4.00842 -132.50 157.50 252.50 4.29488 -132.50 157.50 257.50 3.82805 -132.50 157.50 262.50 2.66296 -132.50 157.50 267.50 1.38427 -132.50 157.50 272.50 0.558757 -132.50 157.50 277.50 0.165933 -132.50 157.50 282.50 0.0546664 -132.50 157.50 287.50 0.0279363 -132.50 157.50 292.50 0.0447133 -132.50 157.50 297.50 0.106069 -132.50 157.50 302.50 0.254734 -132.50 157.50 307.50 0.544445 -132.50 157.50 312.50 0.96088 -132.50 157.50 317.50 1.41644 -132.50 157.50 322.50 1.851 -132.50 157.50 327.50 2.4042 -132.50 157.50 332.50 3.23112 -132.50 157.50 337.50 4.00842 -132.50 157.50 342.50 4.29488 -132.50 157.50 347.50 3.82806 -132.50 157.50 352.50 2.66297 -132.50 157.50 357.50 1.38427 -132.50 162.50 2.50 0.431719 -132.50 162.50 7.50 0.178221 -132.50 162.50 12.50 0.0711469 -132.50 162.50 17.50 0.0554851 -132.50 162.50 22.50 0.101748 -132.50 162.50 27.50 0.2179 -132.50 162.50 32.50 0.428485 -132.50 162.50 37.50 0.773899 -132.50 162.50 42.50 1.19551 -132.50 162.50 47.50 1.48938 -132.50 162.50 52.50 1.67545 -132.50 162.50 57.50 1.85785 -132.50 162.50 62.50 2.1509 -132.50 162.50 67.50 2.47972 -132.50 162.50 72.50 2.55938 -132.50 162.50 77.50 2.21654 -132.50 162.50 82.50 1.55766 -132.50 162.50 87.50 0.880312 -132.50 162.50 92.50 0.431719 -132.50 162.50 97.50 0.17822 -132.50 162.50 102.50 0.0711468 -132.50 162.50 107.50 0.0554851 -132.50 162.50 112.50 0.101748 -132.50 162.50 117.50 0.2179 -132.50 162.50 122.50 0.428485 -132.50 162.50 127.50 0.773899 -132.50 162.50 132.50 1.19551 -132.50 162.50 137.50 1.48938 -132.50 162.50 142.50 1.67545 -132.50 162.50 147.50 1.85785 -132.50 162.50 152.50 2.1509 -132.50 162.50 157.50 2.47972 -132.50 162.50 162.50 2.55938 -132.50 162.50 167.50 2.21654 -132.50 162.50 172.50 1.55766 -132.50 162.50 177.50 0.880313 -132.50 162.50 182.50 0.431719 -132.50 162.50 187.50 0.17822 -132.50 162.50 192.50 0.0711468 -132.50 162.50 197.50 0.0554851 -132.50 162.50 202.50 0.101748 -132.50 162.50 207.50 0.2179 -132.50 162.50 212.50 0.428485 -132.50 162.50 217.50 0.773899 -132.50 162.50 222.50 1.19551 -132.50 162.50 227.50 1.48938 -132.50 162.50 232.50 1.67545 -132.50 162.50 237.50 1.85785 -132.50 162.50 242.50 2.1509 -132.50 162.50 247.50 2.47972 -132.50 162.50 252.50 2.55938 -132.50 162.50 257.50 2.21654 -132.50 162.50 262.50 1.55766 -132.50 162.50 267.50 0.880313 -132.50 162.50 272.50 0.431719 -132.50 162.50 277.50 0.178221 -132.50 162.50 282.50 0.0711468 -132.50 162.50 287.50 0.0554851 -132.50 162.50 292.50 0.101748 -132.50 162.50 297.50 0.217899 -132.50 162.50 302.50 0.428485 -132.50 162.50 307.50 0.773899 -132.50 162.50 312.50 1.19551 -132.50 162.50 317.50 1.48938 -132.50 162.50 322.50 1.67545 -132.50 162.50 327.50 1.85785 -132.50 162.50 332.50 2.1509 -132.50 162.50 337.50 2.47971 -132.50 162.50 342.50 2.55938 -132.50 162.50 347.50 2.21654 -132.50 162.50 352.50 1.55766 -132.50 162.50 357.50 0.880315 -132.50 167.50 2.50 0.338201 -132.50 167.50 7.50 0.196327 -132.50 167.50 12.50 0.0907332 -132.50 167.50 17.50 0.0803514 -132.50 167.50 22.50 0.147846 -132.50 167.50 27.50 0.293576 -132.50 167.50 32.50 0.543171 -132.50 167.50 37.50 0.89664 -132.50 167.50 42.50 1.23109 -132.50 167.50 47.50 1.32943 -132.50 167.50 52.50 1.1871 -132.50 167.50 57.50 1.05068 -132.50 167.50 62.50 1.09764 -132.50 167.50 67.50 1.20248 -132.50 167.50 72.50 1.20165 -132.50 167.50 77.50 1.03178 -132.50 167.50 82.50 0.738581 -132.50 167.50 87.50 0.508241 -132.50 167.50 92.50 0.338201 -132.50 167.50 97.50 0.196327 -132.50 167.50 102.50 0.0907332 -132.50 167.50 107.50 0.0803514 -132.50 167.50 112.50 0.147846 -132.50 167.50 117.50 0.293576 -132.50 167.50 122.50 0.543171 -132.50 167.50 127.50 0.896641 -132.50 167.50 132.50 1.23109 -132.50 167.50 137.50 1.32943 -132.50 167.50 142.50 1.1871 -132.50 167.50 147.50 1.05068 -132.50 167.50 152.50 1.09764 -132.50 167.50 157.50 1.20248 -132.50 167.50 162.50 1.20165 -132.50 167.50 167.50 1.03178 -132.50 167.50 172.50 0.738581 -132.50 167.50 177.50 0.508241 -132.50 167.50 182.50 0.338201 -132.50 167.50 187.50 0.196327 -132.50 167.50 192.50 0.0907332 -132.50 167.50 197.50 0.0803514 -132.50 167.50 202.50 0.147846 -132.50 167.50 207.50 0.293576 -132.50 167.50 212.50 0.543171 -132.50 167.50 217.50 0.89664 -132.50 167.50 222.50 1.23109 -132.50 167.50 227.50 1.32943 -132.50 167.50 232.50 1.1871 -132.50 167.50 237.50 1.05068 -132.50 167.50 242.50 1.09764 -132.50 167.50 247.50 1.20248 -132.50 167.50 252.50 1.20165 -132.50 167.50 257.50 1.03178 -132.50 167.50 262.50 0.73858 -132.50 167.50 267.50 0.508241 -132.50 167.50 272.50 0.338201 -132.50 167.50 277.50 0.196327 -132.50 167.50 282.50 0.0907332 -132.50 167.50 287.50 0.0803514 -132.50 167.50 292.50 0.147846 -132.50 167.50 297.50 0.293576 -132.50 167.50 302.50 0.543171 -132.50 167.50 307.50 0.896639 -132.50 167.50 312.50 1.23109 -132.50 167.50 317.50 1.32943 -132.50 167.50 322.50 1.1871 -132.50 167.50 327.50 1.05068 -132.50 167.50 332.50 1.09764 -132.50 167.50 337.50 1.20247 -132.50 167.50 342.50 1.20165 -132.50 167.50 347.50 1.03178 -132.50 167.50 352.50 0.738581 -132.50 167.50 357.50 0.508241 -132.50 172.50 2.50 0.239625 -132.50 172.50 7.50 0.172232 -132.50 172.50 12.50 0.0999634 -132.50 172.50 17.50 0.0765726 -132.50 172.50 22.50 0.136631 -132.50 172.50 27.50 0.269086 -132.50 172.50 32.50 0.5108 -132.50 172.50 37.50 0.863768 -132.50 172.50 42.50 1.12937 -132.50 172.50 47.50 1.06317 -132.50 172.50 52.50 0.747364 -132.50 172.50 57.50 0.490325 -132.50 172.50 62.50 0.419313 -132.50 172.50 67.50 0.444789 -132.50 172.50 72.50 0.451001 -132.50 172.50 77.50 0.399667 -132.50 172.50 82.50 0.336779 -132.50 172.50 87.50 0.283661 -132.50 172.50 92.50 0.239625 -132.50 172.50 97.50 0.172232 -132.50 172.50 102.50 0.0999633 -132.50 172.50 107.50 0.0765726 -132.50 172.50 112.50 0.136631 -132.50 172.50 117.50 0.269086 -132.50 172.50 122.50 0.5108 -132.50 172.50 127.50 0.863767 -132.50 172.50 132.50 1.12937 -132.50 172.50 137.50 1.06317 -132.50 172.50 142.50 0.747363 -132.50 172.50 147.50 0.490325 -132.50 172.50 152.50 0.419313 -132.50 172.50 157.50 0.44479 -132.50 172.50 162.50 0.451001 -132.50 172.50 167.50 0.399667 -132.50 172.50 172.50 0.336779 -132.50 172.50 177.50 0.283661 -132.50 172.50 182.50 0.239625 -132.50 172.50 187.50 0.172232 -132.50 172.50 192.50 0.0999632 -132.50 172.50 197.50 0.0765726 -132.50 172.50 202.50 0.136631 -132.50 172.50 207.50 0.269086 -132.50 172.50 212.50 0.510801 -132.50 172.50 217.50 0.863767 -132.50 172.50 222.50 1.12936 -132.50 172.50 227.50 1.06317 -132.50 172.50 232.50 0.747363 -132.50 172.50 237.50 0.490325 -132.50 172.50 242.50 0.419312 -132.50 172.50 247.50 0.444789 -132.50 172.50 252.50 0.451001 -132.50 172.50 257.50 0.399668 -132.50 172.50 262.50 0.336779 -132.50 172.50 267.50 0.283661 -132.50 172.50 272.50 0.239625 -132.50 172.50 277.50 0.172232 -132.50 172.50 282.50 0.0999633 -132.50 172.50 287.50 0.0765725 -132.50 172.50 292.50 0.136631 -132.50 172.50 297.50 0.269086 -132.50 172.50 302.50 0.5108 -132.50 172.50 307.50 0.863767 -132.50 172.50 312.50 1.12936 -132.50 172.50 317.50 1.06317 -132.50 172.50 322.50 0.747364 -132.50 172.50 327.50 0.490325 -132.50 172.50 332.50 0.419312 -132.50 172.50 337.50 0.444789 -132.50 172.50 342.50 0.451001 -132.50 172.50 347.50 0.399667 -132.50 172.50 352.50 0.336779 -132.50 172.50 357.50 0.283661 -132.50 177.50 2.50 0.132069 -132.50 177.50 7.50 0.109882 -132.50 177.50 12.50 0.0780235 -132.50 177.50 17.50 0.0639082 -132.50 177.50 22.50 0.0924993 -132.50 177.50 27.50 0.187773 -132.50 177.50 32.50 0.394642 -132.50 177.50 37.50 0.713423 -132.50 177.50 42.50 0.911258 -132.50 177.50 47.50 0.780785 -132.50 177.50 52.50 0.461409 -132.50 177.50 57.50 0.217744 -132.50 177.50 62.50 0.125439 -132.50 177.50 67.50 0.123214 -132.50 177.50 72.50 0.140004 -132.50 177.50 77.50 0.148748 -132.50 177.50 82.50 0.144941 -132.50 177.50 87.50 0.138729 -132.50 177.50 92.50 0.132069 -132.50 177.50 97.50 0.109882 -132.50 177.50 102.50 0.0780235 -132.50 177.50 107.50 0.0639082 -132.50 177.50 112.50 0.0924992 -132.50 177.50 117.50 0.187773 -132.50 177.50 122.50 0.394642 -132.50 177.50 127.50 0.713424 -132.50 177.50 132.50 0.911259 -132.50 177.50 137.50 0.780786 -132.50 177.50 142.50 0.461409 -132.50 177.50 147.50 0.217744 -132.50 177.50 152.50 0.125439 -132.50 177.50 157.50 0.123214 -132.50 177.50 162.50 0.140004 -132.50 177.50 167.50 0.148748 -132.50 177.50 172.50 0.144941 -132.50 177.50 177.50 0.138729 -132.50 177.50 182.50 0.132069 -132.50 177.50 187.50 0.109882 -132.50 177.50 192.50 0.0780235 -132.50 177.50 197.50 0.0639082 -132.50 177.50 202.50 0.0924993 -132.50 177.50 207.50 0.187773 -132.50 177.50 212.50 0.394642 -132.50 177.50 217.50 0.713423 -132.50 177.50 222.50 0.911258 -132.50 177.50 227.50 0.780786 -132.50 177.50 232.50 0.461408 -132.50 177.50 237.50 0.217744 -132.50 177.50 242.50 0.125439 -132.50 177.50 247.50 0.123214 -132.50 177.50 252.50 0.140004 -132.50 177.50 257.50 0.148748 -132.50 177.50 262.50 0.144941 -132.50 177.50 267.50 0.138729 -132.50 177.50 272.50 0.132069 -132.50 177.50 277.50 0.109882 -132.50 177.50 282.50 0.0780235 -132.50 177.50 287.50 0.0639081 -132.50 177.50 292.50 0.0924993 -132.50 177.50 297.50 0.187773 -132.50 177.50 302.50 0.394641 -132.50 177.50 307.50 0.713423 -132.50 177.50 312.50 0.911258 -132.50 177.50 317.50 0.780786 -132.50 177.50 322.50 0.461409 -132.50 177.50 327.50 0.217745 -132.50 177.50 332.50 0.125439 -132.50 177.50 337.50 0.123214 -132.50 177.50 342.50 0.140004 -132.50 177.50 347.50 0.148748 -132.50 177.50 352.50 0.144941 -132.50 177.50 357.50 0.138729 -137.50 2.50 2.50 0.084539 -137.50 2.50 7.50 0.083846 -137.50 2.50 12.50 0.0760385 -137.50 2.50 17.50 0.0601603 -137.50 2.50 22.50 0.0485219 -137.50 2.50 27.50 0.0624686 -137.50 2.50 32.50 0.149977 -137.50 2.50 37.50 0.393273 -137.50 2.50 42.50 0.773178 -137.50 2.50 47.50 0.980545 -137.50 2.50 52.50 0.773179 -137.50 2.50 57.50 0.393272 -137.50 2.50 62.50 0.149977 -137.50 2.50 67.50 0.0624685 -137.50 2.50 72.50 0.0485219 -137.50 2.50 77.50 0.0601603 -137.50 2.50 82.50 0.0760385 -137.50 2.50 87.50 0.083846 -137.50 2.50 92.50 0.084539 -137.50 2.50 97.50 0.083846 -137.50 2.50 102.50 0.0760385 -137.50 2.50 107.50 0.0601603 -137.50 2.50 112.50 0.0485219 -137.50 2.50 117.50 0.0624686 -137.50 2.50 122.50 0.149977 -137.50 2.50 127.50 0.393273 -137.50 2.50 132.50 0.773179 -137.50 2.50 137.50 0.980545 -137.50 2.50 142.50 0.773178 -137.50 2.50 147.50 0.393272 -137.50 2.50 152.50 0.149977 -137.50 2.50 157.50 0.0624686 -137.50 2.50 162.50 0.0485219 -137.50 2.50 167.50 0.0601603 -137.50 2.50 172.50 0.0760385 -137.50 2.50 177.50 0.083846 -137.50 2.50 182.50 0.084539 -137.50 2.50 187.50 0.083846 -137.50 2.50 192.50 0.0760385 -137.50 2.50 197.50 0.0601603 -137.50 2.50 202.50 0.0485219 -137.50 2.50 207.50 0.0624686 -137.50 2.50 212.50 0.149977 -137.50 2.50 217.50 0.393272 -137.50 2.50 222.50 0.773179 -137.50 2.50 227.50 0.980506 -137.50 2.50 232.50 0.773178 -137.50 2.50 237.50 0.393272 -137.50 2.50 242.50 0.149977 -137.50 2.50 247.50 0.0624685 -137.50 2.50 252.50 0.0485219 -137.50 2.50 257.50 0.0601603 -137.50 2.50 262.50 0.0760386 -137.50 2.50 267.50 0.083846 -137.50 2.50 272.50 0.084539 -137.50 2.50 277.50 0.083846 -137.50 2.50 282.50 0.0760385 -137.50 2.50 287.50 0.0601603 -137.50 2.50 292.50 0.0485219 -137.50 2.50 297.50 0.0624685 -137.50 2.50 302.50 0.149977 -137.50 2.50 307.50 0.393272 -137.50 2.50 312.50 0.773178 -137.50 2.50 317.50 0.980476 -137.50 2.50 322.50 0.773179 -137.50 2.50 327.50 0.393273 -137.50 2.50 332.50 0.149977 -137.50 2.50 337.50 0.0624686 -137.50 2.50 342.50 0.0485219 -137.50 2.50 347.50 0.0601603 -137.50 2.50 352.50 0.0760385 -137.50 2.50 357.50 0.083846 -137.50 7.50 2.50 0.130387 -137.50 7.50 7.50 0.13629 -137.50 7.50 12.50 0.138325 -137.50 7.50 17.50 0.133174 -137.50 7.50 22.50 0.125308 -137.50 7.50 27.50 0.132724 -137.50 7.50 32.50 0.214872 -137.50 7.50 37.50 0.456806 -137.50 7.50 42.50 0.799662 -137.50 7.50 47.50 0.957656 -137.50 7.50 52.50 0.751726 -137.50 7.50 57.50 0.401305 -137.50 7.50 62.50 0.171414 -137.50 7.50 67.50 0.0818354 -137.50 7.50 72.50 0.0586777 -137.50 7.50 77.50 0.0706778 -137.50 7.50 82.50 0.0985685 -137.50 7.50 87.50 0.120837 -137.50 7.50 92.50 0.130387 -137.50 7.50 97.50 0.13629 -137.50 7.50 102.50 0.138325 -137.50 7.50 107.50 0.133174 -137.50 7.50 112.50 0.125308 -137.50 7.50 117.50 0.132724 -137.50 7.50 122.50 0.214872 -137.50 7.50 127.50 0.456806 -137.50 7.50 132.50 0.799662 -137.50 7.50 137.50 0.957656 -137.50 7.50 142.50 0.751725 -137.50 7.50 147.50 0.401305 -137.50 7.50 152.50 0.171414 -137.50 7.50 157.50 0.0818354 -137.50 7.50 162.50 0.0586777 -137.50 7.50 167.50 0.0706778 -137.50 7.50 172.50 0.0985685 -137.50 7.50 177.50 0.120837 -137.50 7.50 182.50 0.130387 -137.50 7.50 187.50 0.13629 -137.50 7.50 192.50 0.138325 -137.50 7.50 197.50 0.133174 -137.50 7.50 202.50 0.125308 -137.50 7.50 207.50 0.132723 -137.50 7.50 212.50 0.214872 -137.50 7.50 217.50 0.456806 -137.50 7.50 222.50 0.799662 -137.50 7.50 227.50 0.957656 -137.50 7.50 232.50 0.751725 -137.50 7.50 237.50 0.401305 -137.50 7.50 242.50 0.171415 -137.50 7.50 247.50 0.0818354 -137.50 7.50 252.50 0.0586777 -137.50 7.50 257.50 0.0706779 -137.50 7.50 262.50 0.0985686 -137.50 7.50 267.50 0.120837 -137.50 7.50 272.50 0.130387 -137.50 7.50 277.50 0.13629 -137.50 7.50 282.50 0.138325 -137.50 7.50 287.50 0.133174 -137.50 7.50 292.50 0.125308 -137.50 7.50 297.50 0.132723 -137.50 7.50 302.50 0.214871 -137.50 7.50 307.50 0.456806 -137.50 7.50 312.50 0.799662 -137.50 7.50 317.50 0.957656 -137.50 7.50 322.50 0.751726 -137.50 7.50 327.50 0.401305 -137.50 7.50 332.50 0.171415 -137.50 7.50 337.50 0.0818355 -137.50 7.50 342.50 0.0586777 -137.50 7.50 347.50 0.0706778 -137.50 7.50 352.50 0.0985685 -137.50 7.50 357.50 0.120837 -137.50 12.50 2.50 0.246672 -137.50 12.50 7.50 0.292922 -137.50 12.50 12.50 0.346466 -137.50 12.50 17.50 0.389589 -137.50 12.50 22.50 0.422121 -137.50 12.50 27.50 0.426448 -137.50 12.50 32.50 0.500227 -137.50 12.50 37.50 0.755848 -137.50 12.50 42.50 1.09405 -137.50 12.50 47.50 1.19054 -137.50 12.50 52.50 0.910762 -137.50 12.50 57.50 0.511231 -137.50 12.50 62.50 0.244564 -137.50 12.50 67.50 0.118447 -137.50 12.50 72.50 0.0702204 -137.50 12.50 77.50 0.0755783 -137.50 12.50 82.50 0.135628 -137.50 12.50 87.50 0.200771 -137.50 12.50 92.50 0.246672 -137.50 12.50 97.50 0.292922 -137.50 12.50 102.50 0.346466 -137.50 12.50 107.50 0.389589 -137.50 12.50 112.50 0.422121 -137.50 12.50 117.50 0.426448 -137.50 12.50 122.50 0.500227 -137.50 12.50 127.50 0.755848 -137.50 12.50 132.50 1.09405 -137.50 12.50 137.50 1.19054 -137.50 12.50 142.50 0.910762 -137.50 12.50 147.50 0.511232 -137.50 12.50 152.50 0.244565 -137.50 12.50 157.50 0.118447 -137.50 12.50 162.50 0.0702204 -137.50 12.50 167.50 0.0755783 -137.50 12.50 172.50 0.135628 -137.50 12.50 177.50 0.200771 -137.50 12.50 182.50 0.246673 -137.50 12.50 187.50 0.292922 -137.50 12.50 192.50 0.346466 -137.50 12.50 197.50 0.389589 -137.50 12.50 202.50 0.422121 -137.50 12.50 207.50 0.426448 -137.50 12.50 212.50 0.500227 -137.50 12.50 217.50 0.755848 -137.50 12.50 222.50 1.09405 -137.50 12.50 227.50 1.19054 -137.50 12.50 232.50 0.910761 -137.50 12.50 237.50 0.511231 -137.50 12.50 242.50 0.244564 -137.50 12.50 247.50 0.118447 -137.50 12.50 252.50 0.0702203 -137.50 12.50 257.50 0.0755783 -137.50 12.50 262.50 0.135628 -137.50 12.50 267.50 0.200771 -137.50 12.50 272.50 0.246673 -137.50 12.50 277.50 0.292922 -137.50 12.50 282.50 0.346466 -137.50 12.50 287.50 0.389589 -137.50 12.50 292.50 0.422121 -137.50 12.50 297.50 0.426447 -137.50 12.50 302.50 0.500227 -137.50 12.50 307.50 0.755848 -137.50 12.50 312.50 1.09405 -137.50 12.50 317.50 1.19054 -137.50 12.50 322.50 0.910762 -137.50 12.50 327.50 0.511232 -137.50 12.50 332.50 0.244565 -137.50 12.50 337.50 0.118447 -137.50 12.50 342.50 0.0702204 -137.50 12.50 347.50 0.0755782 -137.50 12.50 352.50 0.135628 -137.50 12.50 357.50 0.200771 -137.50 17.50 2.50 0.403177 -137.50 17.50 7.50 0.59788 -137.50 17.50 12.50 0.819828 -137.50 17.50 17.50 1.03822 -137.50 17.50 22.50 1.12898 -137.50 17.50 27.50 1.09896 -137.50 17.50 32.50 1.0785 -137.50 17.50 37.50 1.21406 -137.50 17.50 42.50 1.37784 -137.50 17.50 47.50 1.28158 -137.50 17.50 52.50 0.917765 -137.50 17.50 57.50 0.534562 -137.50 17.50 62.50 0.270597 -137.50 17.50 67.50 0.125026 -137.50 17.50 72.50 0.0671229 -137.50 17.50 77.50 0.0753127 -137.50 17.50 82.50 0.138051 -137.50 17.50 87.50 0.258234 -137.50 17.50 92.50 0.403177 -137.50 17.50 97.50 0.597879 -137.50 17.50 102.50 0.819828 -137.50 17.50 107.50 1.03822 -137.50 17.50 112.50 1.12898 -137.50 17.50 117.50 1.09896 -137.50 17.50 122.50 1.0785 -137.50 17.50 127.50 1.21406 -137.50 17.50 132.50 1.37784 -137.50 17.50 137.50 1.28158 -137.50 17.50 142.50 0.917765 -137.50 17.50 147.50 0.534562 -137.50 17.50 152.50 0.270597 -137.50 17.50 157.50 0.125026 -137.50 17.50 162.50 0.0671229 -137.50 17.50 167.50 0.0753127 -137.50 17.50 172.50 0.138051 -137.50 17.50 177.50 0.258234 -137.50 17.50 182.50 0.403177 -137.50 17.50 187.50 0.59788 -137.50 17.50 192.50 0.819828 -137.50 17.50 197.50 1.03822 -137.50 17.50 202.50 1.12898 -137.50 17.50 207.50 1.09896 -137.50 17.50 212.50 1.0785 -137.50 17.50 217.50 1.21406 -137.50 17.50 222.50 1.37785 -137.50 17.50 227.50 1.28158 -137.50 17.50 232.50 0.917765 -137.50 17.50 237.50 0.534561 -137.50 17.50 242.50 0.270597 -137.50 17.50 247.50 0.125026 -137.50 17.50 252.50 0.0671228 -137.50 17.50 257.50 0.0753128 -137.50 17.50 262.50 0.138051 -137.50 17.50 267.50 0.258234 -137.50 17.50 272.50 0.403177 -137.50 17.50 277.50 0.59788 -137.50 17.50 282.50 0.819828 -137.50 17.50 287.50 1.03822 -137.50 17.50 292.50 1.12898 -137.50 17.50 297.50 1.09896 -137.50 17.50 302.50 1.0785 -137.50 17.50 307.50 1.21406 -137.50 17.50 312.50 1.37784 -137.50 17.50 317.50 1.28158 -137.50 17.50 322.50 0.917767 -137.50 17.50 327.50 0.534562 -137.50 17.50 332.50 0.270598 -137.50 17.50 337.50 0.125026 -137.50 17.50 342.50 0.0671229 -137.50 17.50 347.50 0.0753127 -137.50 17.50 352.50 0.138051 -137.50 17.50 357.50 0.258234 -137.50 22.50 2.50 0.637513 -137.50 22.50 7.50 1.18272 -137.50 22.50 12.50 1.81288 -137.50 22.50 17.50 2.24805 -137.50 22.50 22.50 2.34705 -137.50 22.50 27.50 2.14287 -137.50 22.50 32.50 1.8782 -137.50 22.50 37.50 1.72953 -137.50 22.50 42.50 1.57233 -137.50 22.50 47.50 1.23339 -137.50 22.50 52.50 0.795805 -137.50 22.50 57.50 0.427801 -137.50 22.50 62.50 0.205078 -137.50 22.50 67.50 0.0852976 -137.50 22.50 72.50 0.0393928 -137.50 22.50 77.50 0.0519656 -137.50 22.50 82.50 0.119253 -137.50 22.50 87.50 0.285722 -137.50 22.50 92.50 0.637513 -137.50 22.50 97.50 1.18272 -137.50 22.50 102.50 1.81288 -137.50 22.50 107.50 2.24805 -137.50 22.50 112.50 2.34706 -137.50 22.50 117.50 2.14287 -137.50 22.50 122.50 1.8782 -137.50 22.50 127.50 1.72953 -137.50 22.50 132.50 1.57233 -137.50 22.50 137.50 1.23339 -137.50 22.50 142.50 0.795805 -137.50 22.50 147.50 0.427801 -137.50 22.50 152.50 0.205078 -137.50 22.50 157.50 0.0852977 -137.50 22.50 162.50 0.0393928 -137.50 22.50 167.50 0.0519656 -137.50 22.50 172.50 0.119253 -137.50 22.50 177.50 0.285721 -137.50 22.50 182.50 0.637513 -137.50 22.50 187.50 1.18272 -137.50 22.50 192.50 1.81288 -137.50 22.50 197.50 2.24805 -137.50 22.50 202.50 2.34705 -137.50 22.50 207.50 2.14288 -137.50 22.50 212.50 1.8782 -137.50 22.50 217.50 1.72953 -137.50 22.50 222.50 1.57234 -137.50 22.50 227.50 1.23339 -137.50 22.50 232.50 0.795804 -137.50 22.50 237.50 0.427801 -137.50 22.50 242.50 0.205078 -137.50 22.50 247.50 0.0852976 -137.50 22.50 252.50 0.0393928 -137.50 22.50 257.50 0.0519657 -137.50 22.50 262.50 0.119253 -137.50 22.50 267.50 0.285722 -137.50 22.50 272.50 0.637513 -137.50 22.50 277.50 1.18272 -137.50 22.50 282.50 1.81288 -137.50 22.50 287.50 2.24805 -137.50 22.50 292.50 2.34706 -137.50 22.50 297.50 2.14288 -137.50 22.50 302.50 1.8782 -137.50 22.50 307.50 1.72953 -137.50 22.50 312.50 1.57234 -137.50 22.50 317.50 1.23339 -137.50 22.50 322.50 0.795806 -137.50 22.50 327.50 0.427802 -137.50 22.50 332.50 0.205078 -137.50 22.50 337.50 0.0852978 -137.50 22.50 342.50 0.0393928 -137.50 22.50 347.50 0.0519655 -137.50 22.50 352.50 0.119252 -137.50 22.50 357.50 0.285721 -137.50 27.50 2.50 0.968135 -137.50 27.50 7.50 2.03748 -137.50 27.50 12.50 3.2313 -137.50 27.50 17.50 3.92172 -137.50 27.50 22.50 3.8301 -137.50 27.50 27.50 3.22444 -137.50 27.50 32.50 2.54336 -137.50 27.50 37.50 1.9563 -137.50 27.50 42.50 1.50218 -137.50 27.50 47.50 1.01745 -137.50 27.50 52.50 0.56668 -137.50 27.50 57.50 0.270308 -137.50 27.50 62.50 0.109068 -137.50 27.50 67.50 0.0368871 -137.50 27.50 72.50 0.0163487 -137.50 27.50 77.50 0.0306661 -137.50 27.50 82.50 0.104603 -137.50 27.50 87.50 0.329817 -137.50 27.50 92.50 0.968135 -137.50 27.50 97.50 2.03748 -137.50 27.50 102.50 3.2313 -137.50 27.50 107.50 3.92172 -137.50 27.50 112.50 3.8301 -137.50 27.50 117.50 3.22443 -137.50 27.50 122.50 2.54336 -137.50 27.50 127.50 1.9563 -137.50 27.50 132.50 1.50217 -137.50 27.50 137.50 1.01745 -137.50 27.50 142.50 0.566679 -137.50 27.50 147.50 0.270308 -137.50 27.50 152.50 0.109068 -137.50 27.50 157.50 0.0368871 -137.50 27.50 162.50 0.0163487 -137.50 27.50 167.50 0.030666 -137.50 27.50 172.50 0.104603 -137.50 27.50 177.50 0.329817 -137.50 27.50 182.50 0.968136 -137.50 27.50 187.50 2.03748 -137.50 27.50 192.50 3.2313 -137.50 27.50 197.50 3.92172 -137.50 27.50 202.50 3.8301 -137.50 27.50 207.50 3.22443 -137.50 27.50 212.50 2.54336 -137.50 27.50 217.50 1.9563 -137.50 27.50 222.50 1.50218 -137.50 27.50 227.50 1.01745 -137.50 27.50 232.50 0.566679 -137.50 27.50 237.50 0.270307 -137.50 27.50 242.50 0.109068 -137.50 27.50 247.50 0.0368871 -137.50 27.50 252.50 0.0163487 -137.50 27.50 257.50 0.0306661 -137.50 27.50 262.50 0.104603 -137.50 27.50 267.50 0.329818 -137.50 27.50 272.50 0.968135 -137.50 27.50 277.50 2.03748 -137.50 27.50 282.50 3.2313 -137.50 27.50 287.50 3.92172 -137.50 27.50 292.50 3.8301 -137.50 27.50 297.50 3.22443 -137.50 27.50 302.50 2.54336 -137.50 27.50 307.50 1.9563 -137.50 27.50 312.50 1.50218 -137.50 27.50 317.50 1.01745 -137.50 27.50 322.50 0.56668 -137.50 27.50 327.50 0.270308 -137.50 27.50 332.50 0.109068 -137.50 27.50 337.50 0.0368872 -137.50 27.50 342.50 0.0163487 -137.50 27.50 347.50 0.0306659 -137.50 27.50 352.50 0.104603 -137.50 27.50 357.50 0.329816 -137.50 32.50 2.50 1.29235 -137.50 32.50 7.50 2.82189 -137.50 32.50 12.50 4.50354 -137.50 32.50 17.50 5.39891 -137.50 32.50 22.50 4.99206 -137.50 32.50 27.50 3.9221 -137.50 32.50 32.50 2.6901 -137.50 32.50 37.50 1.79561 -137.50 32.50 42.50 1.17106 -137.50 32.50 47.50 0.695906 -137.50 32.50 52.50 0.340805 -137.50 32.50 57.50 0.141274 -137.50 32.50 62.50 0.0486948 -137.50 32.50 67.50 0.0134999 -137.50 32.50 72.50 0.00965575 -137.50 32.50 77.50 0.0247872 -137.50 32.50 82.50 0.116364 -137.50 32.50 87.50 0.414932 -137.50 32.50 92.50 1.29235 -137.50 32.50 97.50 2.82189 -137.50 32.50 102.50 4.50354 -137.50 32.50 107.50 5.39891 -137.50 32.50 112.50 4.99206 -137.50 32.50 117.50 3.9221 -137.50 32.50 122.50 2.6901 -137.50 32.50 127.50 1.79561 -137.50 32.50 132.50 1.17106 -137.50 32.50 137.50 0.695906 -137.50 32.50 142.50 0.340805 -137.50 32.50 147.50 0.141274 -137.50 32.50 152.50 0.0486949 -137.50 32.50 157.50 0.0134999 -137.50 32.50 162.50 0.00965574 -137.50 32.50 167.50 0.0247871 -137.50 32.50 172.50 0.116364 -137.50 32.50 177.50 0.414931 -137.50 32.50 182.50 1.29235 -137.50 32.50 187.50 2.82189 -137.50 32.50 192.50 4.50354 -137.50 32.50 197.50 5.39891 -137.50 32.50 202.50 4.99206 -137.50 32.50 207.50 3.9221 -137.50 32.50 212.50 2.6901 -137.50 32.50 217.50 1.79561 -137.50 32.50 222.50 1.17106 -137.50 32.50 227.50 0.695907 -137.50 32.50 232.50 0.340805 -137.50 32.50 237.50 0.141274 -137.50 32.50 242.50 0.0486948 -137.50 32.50 247.50 0.0134999 -137.50 32.50 252.50 0.00965576 -137.50 32.50 257.50 0.0247872 -137.50 32.50 262.50 0.116364 -137.50 32.50 267.50 0.414932 -137.50 32.50 272.50 1.29235 -137.50 32.50 277.50 2.82189 -137.50 32.50 282.50 4.50354 -137.50 32.50 287.50 5.3989 -137.50 32.50 292.50 4.99206 -137.50 32.50 297.50 3.92211 -137.50 32.50 302.50 2.6901 -137.50 32.50 307.50 1.79561 -137.50 32.50 312.50 1.17106 -137.50 32.50 317.50 0.695907 -137.50 32.50 322.50 0.340806 -137.50 32.50 327.50 0.141275 -137.50 32.50 332.50 0.048695 -137.50 32.50 337.50 0.0135 -137.50 32.50 342.50 0.00965573 -137.50 32.50 347.50 0.0247871 -137.50 32.50 352.50 0.116364 -137.50 32.50 357.50 0.41493 -137.50 37.50 2.50 1.51272 -137.50 37.50 7.50 3.14259 -137.50 37.50 12.50 4.96675 -137.50 37.50 17.50 5.77028 -137.50 37.50 22.50 5.23187 -137.50 37.50 27.50 3.88117 -137.50 37.50 32.50 2.44983 -137.50 37.50 37.50 1.38818 -137.50 37.50 42.50 0.734289 -137.50 37.50 47.50 0.371522 -137.50 37.50 52.50 0.161909 -137.50 37.50 57.50 0.0542927 -137.50 37.50 62.50 0.017002 -137.50 37.50 67.50 0.00766384 -137.50 37.50 72.50 0.0142555 -137.50 37.50 77.50 0.0425808 -137.50 37.50 82.50 0.154821 -137.50 37.50 87.50 0.540504 -137.50 37.50 92.50 1.51272 -137.50 37.50 97.50 3.14259 -137.50 37.50 102.50 4.96675 -137.50 37.50 107.50 5.77028 -137.50 37.50 112.50 5.23187 -137.50 37.50 117.50 3.88117 -137.50 37.50 122.50 2.44983 -137.50 37.50 127.50 1.38818 -137.50 37.50 132.50 0.734289 -137.50 37.50 137.50 0.371522 -137.50 37.50 142.50 0.161909 -137.50 37.50 147.50 0.0542927 -137.50 37.50 152.50 0.017002 -137.50 37.50 157.50 0.00766383 -137.50 37.50 162.50 0.0142554 -137.50 37.50 167.50 0.0425807 -137.50 37.50 172.50 0.15482 -137.50 37.50 177.50 0.540503 -137.50 37.50 182.50 1.51272 -137.50 37.50 187.50 3.14259 -137.50 37.50 192.50 4.96675 -137.50 37.50 197.50 5.77028 -137.50 37.50 202.50 5.23187 -137.50 37.50 207.50 3.88117 -137.50 37.50 212.50 2.44983 -137.50 37.50 217.50 1.38818 -137.50 37.50 222.50 0.73429 -137.50 37.50 227.50 0.371523 -137.50 37.50 232.50 0.161909 -137.50 37.50 237.50 0.0542926 -137.50 37.50 242.50 0.017002 -137.50 37.50 247.50 0.00766383 -137.50 37.50 252.50 0.0142555 -137.50 37.50 257.50 0.0425808 -137.50 37.50 262.50 0.154821 -137.50 37.50 267.50 0.540504 -137.50 37.50 272.50 1.51272 -137.50 37.50 277.50 3.14259 -137.50 37.50 282.50 4.96675 -137.50 37.50 287.50 5.77028 -137.50 37.50 292.50 5.23187 -137.50 37.50 297.50 3.88117 -137.50 37.50 302.50 2.44983 -137.50 37.50 307.50 1.38818 -137.50 37.50 312.50 0.73429 -137.50 37.50 317.50 0.371523 -137.50 37.50 322.50 0.16191 -137.50 37.50 327.50 0.0542928 -137.50 37.50 332.50 0.017002 -137.50 37.50 337.50 0.00766384 -137.50 37.50 342.50 0.0142554 -137.50 37.50 347.50 0.0425806 -137.50 37.50 352.50 0.15482 -137.50 37.50 357.50 0.540502 -137.50 42.50 2.50 1.628 -137.50 42.50 7.50 2.95658 -137.50 42.50 12.50 4.42938 -137.50 42.50 17.50 5.00802 -137.50 42.50 22.50 4.45582 -137.50 42.50 27.50 3.10896 -137.50 42.50 32.50 1.85956 -137.50 42.50 37.50 0.947813 -137.50 42.50 42.50 0.397991 -137.50 42.50 47.50 0.146546 -137.50 42.50 52.50 0.0520136 -137.50 42.50 57.50 0.0171812 -137.50 42.50 62.50 0.0108623 -137.50 42.50 67.50 0.0193176 -137.50 42.50 72.50 0.0401125 -137.50 42.50 77.50 0.0932886 -137.50 42.50 82.50 0.246043 -137.50 42.50 87.50 0.700267 -137.50 42.50 92.50 1.628 -137.50 42.50 97.50 2.95658 -137.50 42.50 102.50 4.42938 -137.50 42.50 107.50 5.00803 -137.50 42.50 112.50 4.45582 -137.50 42.50 117.50 3.10896 -137.50 42.50 122.50 1.85956 -137.50 42.50 127.50 0.947812 -137.50 42.50 132.50 0.397991 -137.50 42.50 137.50 0.146546 -137.50 42.50 142.50 0.0520135 -137.50 42.50 147.50 0.0171812 -137.50 42.50 152.50 0.0108623 -137.50 42.50 157.50 0.0193175 -137.50 42.50 162.50 0.0401124 -137.50 42.50 167.50 0.0932885 -137.50 42.50 172.50 0.246042 -137.50 42.50 177.50 0.700266 -137.50 42.50 182.50 1.62801 -137.50 42.50 187.50 2.95658 -137.50 42.50 192.50 4.42937 -137.50 42.50 197.50 5.00802 -137.50 42.50 202.50 4.45582 -137.50 42.50 207.50 3.10896 -137.50 42.50 212.50 1.85956 -137.50 42.50 217.50 0.947813 -137.50 42.50 222.50 0.397991 -137.50 42.50 227.50 0.146547 -137.50 42.50 232.50 0.0520135 -137.50 42.50 237.50 0.0171812 -137.50 42.50 242.50 0.0108623 -137.50 42.50 247.50 0.0193176 -137.50 42.50 252.50 0.0401125 -137.50 42.50 257.50 0.0932887 -137.50 42.50 262.50 0.246043 -137.50 42.50 267.50 0.700267 -137.50 42.50 272.50 1.628 -137.50 42.50 277.50 2.95658 -137.50 42.50 282.50 4.42938 -137.50 42.50 287.50 5.00802 -137.50 42.50 292.50 4.45582 -137.50 42.50 297.50 3.10896 -137.50 42.50 302.50 1.85956 -137.50 42.50 307.50 0.947814 -137.50 42.50 312.50 0.397991 -137.50 42.50 317.50 0.146547 -137.50 42.50 322.50 0.0520137 -137.50 42.50 327.50 0.0171812 -137.50 42.50 332.50 0.0108623 -137.50 42.50 337.50 0.0193175 -137.50 42.50 342.50 0.0401124 -137.50 42.50 347.50 0.0932884 -137.50 42.50 352.50 0.246042 -137.50 42.50 357.50 0.700266 -137.50 47.50 2.50 1.66337 -137.50 47.50 7.50 2.48748 -137.50 47.50 12.50 3.36605 -137.50 47.50 17.50 3.64918 -137.50 47.50 22.50 3.06255 -137.50 47.50 27.50 1.94873 -137.50 47.50 32.50 1.14237 -137.50 47.50 37.50 0.548182 -137.50 47.50 42.50 0.18753 -137.50 47.50 47.50 0.0568408 -137.50 47.50 52.50 0.0150114 -137.50 47.50 57.50 0.0168596 -137.50 47.50 62.50 0.0400786 -137.50 47.50 67.50 0.0908968 -137.50 47.50 72.50 0.139303 -137.50 47.50 77.50 0.232092 -137.50 47.50 82.50 0.452375 -137.50 47.50 87.50 0.914599 -137.50 47.50 92.50 1.66337 -137.50 47.50 97.50 2.48748 -137.50 47.50 102.50 3.36605 -137.50 47.50 107.50 3.64918 -137.50 47.50 112.50 3.06255 -137.50 47.50 117.50 1.94873 -137.50 47.50 122.50 1.14237 -137.50 47.50 127.50 0.548182 -137.50 47.50 132.50 0.18753 -137.50 47.50 137.50 0.0568409 -137.50 47.50 142.50 0.0150114 -137.50 47.50 147.50 0.0168596 -137.50 47.50 152.50 0.0400785 -137.50 47.50 157.50 0.0908967 -137.50 47.50 162.50 0.139303 -137.50 47.50 167.50 0.232091 -137.50 47.50 172.50 0.452374 -137.50 47.50 177.50 0.914598 -137.50 47.50 182.50 1.66337 -137.50 47.50 187.50 2.48748 -137.50 47.50 192.50 3.36605 -137.50 47.50 197.50 3.64918 -137.50 47.50 202.50 3.06255 -137.50 47.50 207.50 1.94873 -137.50 47.50 212.50 1.14237 -137.50 47.50 217.50 0.548183 -137.50 47.50 222.50 0.18753 -137.50 47.50 227.50 0.0568409 -137.50 47.50 232.50 0.0150114 -137.50 47.50 237.50 0.0168596 -137.50 47.50 242.50 0.0400786 -137.50 47.50 247.50 0.0908968 -137.50 47.50 252.50 0.139303 -137.50 47.50 257.50 0.232092 -137.50 47.50 262.50 0.452375 -137.50 47.50 267.50 0.914599 -137.50 47.50 272.50 1.66337 -137.50 47.50 277.50 2.48748 -137.50 47.50 282.50 3.36604 -137.50 47.50 287.50 3.64918 -137.50 47.50 292.50 3.06255 -137.50 47.50 297.50 1.94873 -137.50 47.50 302.50 1.14238 -137.50 47.50 307.50 0.548183 -137.50 47.50 312.50 0.18753 -137.50 47.50 317.50 0.0568409 -137.50 47.50 322.50 0.0150114 -137.50 47.50 327.50 0.0168595 -137.50 47.50 332.50 0.0400785 -137.50 47.50 337.50 0.0908967 -137.50 47.50 342.50 0.139303 -137.50 47.50 347.50 0.232091 -137.50 47.50 352.50 0.452374 -137.50 47.50 357.50 0.914597 -137.50 52.50 2.50 1.628 -137.50 52.50 7.50 1.92084 -137.50 52.50 12.50 2.2079 -137.50 52.50 17.50 2.17574 -137.50 52.50 22.50 1.62477 -137.50 52.50 27.50 0.958792 -137.50 52.50 32.50 0.508294 -137.50 52.50 37.50 0.232396 -137.50 52.50 42.50 0.0771344 -137.50 52.50 47.50 0.0214595 -137.50 52.50 52.50 0.0215621 -137.50 52.50 57.50 0.0676413 -137.50 52.50 62.50 0.164442 -137.50 52.50 67.50 0.317223 -137.50 52.50 72.50 0.454395 -137.50 52.50 77.50 0.56958 -137.50 52.50 82.50 0.840814 -137.50 52.50 87.50 1.21014 -137.50 52.50 92.50 1.628 -137.50 52.50 97.50 1.92084 -137.50 52.50 102.50 2.2079 -137.50 52.50 107.50 2.17574 -137.50 52.50 112.50 1.62477 -137.50 52.50 117.50 0.958792 -137.50 52.50 122.50 0.508294 -137.50 52.50 127.50 0.232396 -137.50 52.50 132.50 0.0771343 -137.50 52.50 137.50 0.0214595 -137.50 52.50 142.50 0.0215621 -137.50 52.50 147.50 0.0676413 -137.50 52.50 152.50 0.164442 -137.50 52.50 157.50 0.317223 -137.50 52.50 162.50 0.454394 -137.50 52.50 167.50 0.569579 -137.50 52.50 172.50 0.840814 -137.50 52.50 177.50 1.21014 -137.50 52.50 182.50 1.628 -137.50 52.50 187.50 1.92084 -137.50 52.50 192.50 2.2079 -137.50 52.50 197.50 2.17574 -137.50 52.50 202.50 1.62477 -137.50 52.50 207.50 0.958793 -137.50 52.50 212.50 0.508295 -137.50 52.50 217.50 0.232396 -137.50 52.50 222.50 0.0771345 -137.50 52.50 227.50 0.0214595 -137.50 52.50 232.50 0.0215622 -137.50 52.50 237.50 0.0676415 -137.50 52.50 242.50 0.164442 -137.50 52.50 247.50 0.317223 -137.50 52.50 252.50 0.454395 -137.50 52.50 257.50 0.56958 -137.50 52.50 262.50 0.840814 -137.50 52.50 267.50 1.21014 -137.50 52.50 272.50 1.628 -137.50 52.50 277.50 1.92084 -137.50 52.50 282.50 2.2079 -137.50 52.50 287.50 2.17574 -137.50 52.50 292.50 1.62477 -137.50 52.50 297.50 0.958793 -137.50 52.50 302.50 0.508295 -137.50 52.50 307.50 0.232396 -137.50 52.50 312.50 0.0771345 -137.50 52.50 317.50 0.0214595 -137.50 52.50 322.50 0.0215621 -137.50 52.50 327.50 0.0676412 -137.50 52.50 332.50 0.164442 -137.50 52.50 337.50 0.317223 -137.50 52.50 342.50 0.454395 -137.50 52.50 347.50 0.56958 -137.50 52.50 352.50 0.840813 -137.50 52.50 357.50 1.21014 -137.50 57.50 2.50 1.51272 -137.50 57.50 7.50 1.33769 -137.50 57.50 12.50 1.1942 -137.50 57.50 17.50 0.954178 -137.50 57.50 22.50 0.633898 -137.50 57.50 27.50 0.355358 -137.50 57.50 32.50 0.179891 -137.50 57.50 37.50 0.0780686 -137.50 57.50 42.50 0.0361276 -137.50 57.50 47.50 0.0432226 -137.50 57.50 52.50 0.100259 -137.50 57.50 57.50 0.260173 -137.50 57.50 62.50 0.52668 -137.50 57.50 67.50 0.8264 -137.50 57.50 72.50 1.14043 -137.50 57.50 77.50 1.31236 -137.50 57.50 82.50 1.44307 -137.50 57.50 87.50 1.5716 -137.50 57.50 92.50 1.51272 -137.50 57.50 97.50 1.33769 -137.50 57.50 102.50 1.1942 -137.50 57.50 107.50 0.954179 -137.50 57.50 112.50 0.633898 -137.50 57.50 117.50 0.355357 -137.50 57.50 122.50 0.179891 -137.50 57.50 127.50 0.0780685 -137.50 57.50 132.50 0.0361276 -137.50 57.50 137.50 0.0432226 -137.50 57.50 142.50 0.100259 -137.50 57.50 147.50 0.260173 -137.50 57.50 152.50 0.526678 -137.50 57.50 157.50 0.826398 -137.50 57.50 162.50 1.14043 -137.50 57.50 167.50 1.31236 -137.50 57.50 172.50 1.44306 -137.50 57.50 177.50 1.5716 -137.50 57.50 182.50 1.51272 -137.50 57.50 187.50 1.33769 -137.50 57.50 192.50 1.1942 -137.50 57.50 197.50 0.954179 -137.50 57.50 202.50 0.633898 -137.50 57.50 207.50 0.355357 -137.50 57.50 212.50 0.179891 -137.50 57.50 217.50 0.0780687 -137.50 57.50 222.50 0.0361277 -137.50 57.50 227.50 0.0432226 -137.50 57.50 232.50 0.10026 -137.50 57.50 237.50 0.260174 -137.50 57.50 242.50 0.52668 -137.50 57.50 247.50 0.826399 -137.50 57.50 252.50 1.14043 -137.50 57.50 257.50 1.31236 -137.50 57.50 262.50 1.44307 -137.50 57.50 267.50 1.5716 -137.50 57.50 272.50 1.51272 -137.50 57.50 277.50 1.33769 -137.50 57.50 282.50 1.1942 -137.50 57.50 287.50 0.954179 -137.50 57.50 292.50 0.633898 -137.50 57.50 297.50 0.355358 -137.50 57.50 302.50 0.179891 -137.50 57.50 307.50 0.0780687 -137.50 57.50 312.50 0.0361277 -137.50 57.50 317.50 0.0432226 -137.50 57.50 322.50 0.100259 -137.50 57.50 327.50 0.260173 -137.50 57.50 332.50 0.526679 -137.50 57.50 337.50 0.826399 -137.50 57.50 342.50 1.14043 -137.50 57.50 347.50 1.31236 -137.50 57.50 352.50 1.44306 -137.50 57.50 357.50 1.5716 -137.50 62.50 2.50 1.29235 -137.50 62.50 7.50 0.844559 -137.50 62.50 12.50 0.524054 -137.50 62.50 17.50 0.319137 -137.50 62.50 22.50 0.167665 -137.50 62.50 27.50 0.090858 -137.50 62.50 32.50 0.0532586 -137.50 62.50 37.50 0.0469779 -137.50 62.50 42.50 0.0670157 -137.50 62.50 47.50 0.142105 -137.50 62.50 52.50 0.370964 -137.50 62.50 57.50 0.814818 -137.50 62.50 62.50 1.34706 -137.50 62.50 67.50 1.84685 -137.50 62.50 72.50 2.21996 -137.50 62.50 77.50 2.24112 -137.50 62.50 82.50 2.09115 -137.50 62.50 87.50 1.82072 -137.50 62.50 92.50 1.29235 -137.50 62.50 97.50 0.844559 -137.50 62.50 102.50 0.524054 -137.50 62.50 107.50 0.319137 -137.50 62.50 112.50 0.167665 -137.50 62.50 117.50 0.0908578 -137.50 62.50 122.50 0.0532586 -137.50 62.50 127.50 0.0469778 -137.50 62.50 132.50 0.0670156 -137.50 62.50 137.50 0.142105 -137.50 62.50 142.50 0.370964 -137.50 62.50 147.50 0.814817 -137.50 62.50 152.50 1.34706 -137.50 62.50 157.50 1.84685 -137.50 62.50 162.50 2.21996 -137.50 62.50 167.50 2.24111 -137.50 62.50 172.50 2.09115 -137.50 62.50 177.50 1.82072 -137.50 62.50 182.50 1.29235 -137.50 62.50 187.50 0.844559 -137.50 62.50 192.50 0.524054 -137.50 62.50 197.50 0.319137 -137.50 62.50 202.50 0.167665 -137.50 62.50 207.50 0.0908579 -137.50 62.50 212.50 0.0532586 -137.50 62.50 217.50 0.0469778 -137.50 62.50 222.50 0.0670157 -137.50 62.50 227.50 0.142105 -137.50 62.50 232.50 0.370964 -137.50 62.50 237.50 0.814818 -137.50 62.50 242.50 1.34706 -137.50 62.50 247.50 1.84685 -137.50 62.50 252.50 2.21996 -137.50 62.50 257.50 2.24111 -137.50 62.50 262.50 2.09115 -137.50 62.50 267.50 1.82071 -137.50 62.50 272.50 1.29235 -137.50 62.50 277.50 0.844559 -137.50 62.50 282.50 0.524054 -137.50 62.50 287.50 0.319137 -137.50 62.50 292.50 0.167665 -137.50 62.50 297.50 0.090858 -137.50 62.50 302.50 0.0532586 -137.50 62.50 307.50 0.0469779 -137.50 62.50 312.50 0.0670157 -137.50 62.50 317.50 0.142105 -137.50 62.50 322.50 0.370963 -137.50 62.50 327.50 0.814816 -137.50 62.50 332.50 1.34706 -137.50 62.50 337.50 1.84685 -137.50 62.50 342.50 2.21996 -137.50 62.50 347.50 2.24112 -137.50 62.50 352.50 2.09115 -137.50 62.50 357.50 1.82072 -137.50 67.50 2.50 0.968134 -137.50 67.50 7.50 0.487741 -137.50 67.50 12.50 0.214557 -137.50 67.50 17.50 0.0904076 -137.50 67.50 22.50 0.0336967 -137.50 67.50 27.50 0.0159585 -137.50 67.50 32.50 0.0270251 -137.50 67.50 37.50 0.0670634 -137.50 67.50 42.50 0.164126 -137.50 67.50 47.50 0.434806 -137.50 67.50 52.50 0.992786 -137.50 67.50 57.50 1.78521 -137.50 67.50 62.50 2.66677 -137.50 67.50 67.50 3.34411 -137.50 67.50 72.50 3.43385 -137.50 67.50 77.50 2.98251 -137.50 67.50 82.50 2.37158 -137.50 67.50 87.50 1.72646 -137.50 67.50 92.50 0.968134 -137.50 67.50 97.50 0.487742 -137.50 67.50 102.50 0.214557 -137.50 67.50 107.50 0.0904076 -137.50 67.50 112.50 0.0336967 -137.50 67.50 117.50 0.0159585 -137.50 67.50 122.50 0.027025 -137.50 67.50 127.50 0.0670634 -137.50 67.50 132.50 0.164125 -137.50 67.50 137.50 0.434806 -137.50 67.50 142.50 0.992786 -137.50 67.50 147.50 1.78521 -137.50 67.50 152.50 2.66677 -137.50 67.50 157.50 3.3441 -137.50 67.50 162.50 3.43385 -137.50 67.50 167.50 2.98251 -137.50 67.50 172.50 2.37158 -137.50 67.50 177.50 1.72646 -137.50 67.50 182.50 0.968133 -137.50 67.50 187.50 0.487741 -137.50 67.50 192.50 0.214557 -137.50 67.50 197.50 0.0904076 -137.50 67.50 202.50 0.0336967 -137.50 67.50 207.50 0.0159585 -137.50 67.50 212.50 0.027025 -137.50 67.50 217.50 0.0670633 -137.50 67.50 222.50 0.164125 -137.50 67.50 227.50 0.434806 -137.50 67.50 232.50 0.992788 -137.50 67.50 237.50 1.78521 -137.50 67.50 242.50 2.66678 -137.50 67.50 247.50 3.34411 -137.50 67.50 252.50 3.43385 -137.50 67.50 257.50 2.98251 -137.50 67.50 262.50 2.37158 -137.50 67.50 267.50 1.72646 -137.50 67.50 272.50 0.968134 -137.50 67.50 277.50 0.487742 -137.50 67.50 282.50 0.214557 -137.50 67.50 287.50 0.0904076 -137.50 67.50 292.50 0.0336967 -137.50 67.50 297.50 0.0159585 -137.50 67.50 302.50 0.0270251 -137.50 67.50 307.50 0.0670634 -137.50 67.50 312.50 0.164126 -137.50 67.50 317.50 0.434806 -137.50 67.50 322.50 0.992786 -137.50 67.50 327.50 1.78521 -137.50 67.50 332.50 2.66677 -137.50 67.50 337.50 3.3441 -137.50 67.50 342.50 3.43385 -137.50 67.50 347.50 2.98251 -137.50 67.50 352.50 2.37159 -137.50 67.50 357.50 1.72646 -137.50 72.50 2.50 0.637513 -137.50 72.50 7.50 0.279602 -137.50 72.50 12.50 0.105393 -137.50 72.50 17.50 0.0338582 -137.50 72.50 22.50 0.0105258 -137.50 72.50 27.50 0.00943463 -137.50 72.50 32.50 0.033801 -137.50 72.50 37.50 0.107213 -137.50 72.50 42.50 0.346483 -137.50 72.50 47.50 0.8846 -137.50 72.50 52.50 1.80094 -137.50 72.50 57.50 2.911 -137.50 72.50 62.50 3.86187 -137.50 72.50 67.50 4.42017 -137.50 72.50 72.50 4.11188 -137.50 72.50 77.50 3.16757 -137.50 72.50 82.50 2.14117 -137.50 72.50 87.50 1.31627 -137.50 72.50 92.50 0.637513 -137.50 72.50 97.50 0.279602 -137.50 72.50 102.50 0.105393 -137.50 72.50 107.50 0.0338582 -137.50 72.50 112.50 0.0105258 -137.50 72.50 117.50 0.00943462 -137.50 72.50 122.50 0.0338009 -137.50 72.50 127.50 0.107213 -137.50 72.50 132.50 0.346483 -137.50 72.50 137.50 0.884599 -137.50 72.50 142.50 1.80094 -137.50 72.50 147.50 2.911 -137.50 72.50 152.50 3.86187 -137.50 72.50 157.50 4.42017 -137.50 72.50 162.50 4.11188 -137.50 72.50 167.50 3.16757 -137.50 72.50 172.50 2.14117 -137.50 72.50 177.50 1.31627 -137.50 72.50 182.50 0.637513 -137.50 72.50 187.50 0.279602 -137.50 72.50 192.50 0.105393 -137.50 72.50 197.50 0.0338582 -137.50 72.50 202.50 0.0105258 -137.50 72.50 207.50 0.00943461 -137.50 72.50 212.50 0.0338009 -137.50 72.50 217.50 0.107213 -137.50 72.50 222.50 0.346483 -137.50 72.50 227.50 0.884599 -137.50 72.50 232.50 1.80095 -137.50 72.50 237.50 2.911 -137.50 72.50 242.50 3.86188 -137.50 72.50 247.50 4.42017 -137.50 72.50 252.50 4.11187 -137.50 72.50 257.50 3.16756 -137.50 72.50 262.50 2.14117 -137.50 72.50 267.50 1.31626 -137.50 72.50 272.50 0.637513 -137.50 72.50 277.50 0.279602 -137.50 72.50 282.50 0.105393 -137.50 72.50 287.50 0.0338582 -137.50 72.50 292.50 0.0105258 -137.50 72.50 297.50 0.00943461 -137.50 72.50 302.50 0.0338009 -137.50 72.50 307.50 0.107213 -137.50 72.50 312.50 0.346483 -137.50 72.50 317.50 0.884599 -137.50 72.50 322.50 1.80094 -137.50 72.50 327.50 2.911 -137.50 72.50 332.50 3.86187 -137.50 72.50 337.50 4.42017 -137.50 72.50 342.50 4.11188 -137.50 72.50 347.50 3.16757 -137.50 72.50 352.50 2.14118 -137.50 72.50 357.50 1.31627 -137.50 77.50 2.50 0.403177 -137.50 77.50 7.50 0.200893 -137.50 77.50 12.50 0.0798155 -137.50 77.50 17.50 0.0388681 -137.50 77.50 22.50 0.022385 -137.50 77.50 27.50 0.0296136 -137.50 77.50 32.50 0.086788 -137.50 77.50 37.50 0.254877 -137.50 77.50 42.50 0.604974 -137.50 77.50 47.50 1.26182 -137.50 77.50 52.50 2.19646 -137.50 77.50 57.50 3.31443 -137.50 77.50 62.50 4.2188 -137.50 77.50 67.50 4.36293 -137.50 77.50 72.50 3.78536 -137.50 77.50 77.50 2.69657 -137.50 77.50 82.50 1.65429 -137.50 77.50 87.50 0.899353 -137.50 77.50 92.50 0.403176 -137.50 77.50 97.50 0.200893 -137.50 77.50 102.50 0.0798155 -137.50 77.50 107.50 0.0388681 -137.50 77.50 112.50 0.022385 -137.50 77.50 117.50 0.0296135 -137.50 77.50 122.50 0.0867879 -137.50 77.50 127.50 0.254877 -137.50 77.50 132.50 0.604974 -137.50 77.50 137.50 1.26182 -137.50 77.50 142.50 2.19646 -137.50 77.50 147.50 3.31443 -137.50 77.50 152.50 4.2188 -137.50 77.50 157.50 4.36293 -137.50 77.50 162.50 3.78537 -137.50 77.50 167.50 2.69657 -137.50 77.50 172.50 1.65429 -137.50 77.50 177.50 0.899353 -137.50 77.50 182.50 0.403176 -137.50 77.50 187.50 0.200893 -137.50 77.50 192.50 0.0798155 -137.50 77.50 197.50 0.0388681 -137.50 77.50 202.50 0.022385 -137.50 77.50 207.50 0.0296136 -137.50 77.50 212.50 0.086788 -137.50 77.50 217.50 0.254877 -137.50 77.50 222.50 0.604974 -137.50 77.50 227.50 1.26182 -137.50 77.50 232.50 2.19647 -137.50 77.50 237.50 3.31443 -137.50 77.50 242.50 4.2188 -137.50 77.50 247.50 4.36293 -137.50 77.50 252.50 3.78536 -137.50 77.50 257.50 2.69657 -137.50 77.50 262.50 1.65429 -137.50 77.50 267.50 0.899352 -137.50 77.50 272.50 0.403177 -137.50 77.50 277.50 0.200893 -137.50 77.50 282.50 0.0798156 -137.50 77.50 287.50 0.0388681 -137.50 77.50 292.50 0.022385 -137.50 77.50 297.50 0.0296136 -137.50 77.50 302.50 0.086788 -137.50 77.50 307.50 0.254877 -137.50 77.50 312.50 0.604974 -137.50 77.50 317.50 1.26182 -137.50 77.50 322.50 2.19646 -137.50 77.50 327.50 3.31443 -137.50 77.50 332.50 4.2188 -137.50 77.50 337.50 4.36293 -137.50 77.50 342.50 3.78537 -137.50 77.50 347.50 2.69657 -137.50 77.50 352.50 1.6543 -137.50 77.50 357.50 0.899354 -137.50 82.50 2.50 0.246672 -137.50 82.50 7.50 0.121126 -137.50 82.50 12.50 0.0854978 -137.50 82.50 17.50 0.0789512 -137.50 82.50 22.50 0.0785806 -137.50 82.50 27.50 0.108987 -137.50 82.50 32.50 0.232048 -137.50 82.50 37.50 0.493045 -137.50 82.50 42.50 0.909086 -137.50 82.50 47.50 1.46727 -137.50 82.50 52.50 2.20354 -137.50 82.50 57.50 3.06444 -137.50 82.50 62.50 3.61119 -137.50 82.50 67.50 3.44886 -137.50 82.50 72.50 2.67578 -137.50 82.50 77.50 1.83091 -137.50 82.50 82.50 1.10617 -137.50 82.50 87.50 0.591233 -137.50 82.50 92.50 0.246672 -137.50 82.50 97.50 0.121126 -137.50 82.50 102.50 0.0854978 -137.50 82.50 107.50 0.0789511 -137.50 82.50 112.50 0.0785804 -137.50 82.50 117.50 0.108987 -137.50 82.50 122.50 0.232048 -137.50 82.50 127.50 0.493045 -137.50 82.50 132.50 0.909086 -137.50 82.50 137.50 1.46727 -137.50 82.50 142.50 2.20354 -137.50 82.50 147.50 3.06444 -137.50 82.50 152.50 3.61119 -137.50 82.50 157.50 3.44886 -137.50 82.50 162.50 2.67578 -137.50 82.50 167.50 1.83091 -137.50 82.50 172.50 1.10617 -137.50 82.50 177.50 0.591233 -137.50 82.50 182.50 0.246672 -137.50 82.50 187.50 0.121126 -137.50 82.50 192.50 0.0854978 -137.50 82.50 197.50 0.0789511 -137.50 82.50 202.50 0.0785804 -137.50 82.50 207.50 0.108987 -137.50 82.50 212.50 0.232048 -137.50 82.50 217.50 0.493044 -137.50 82.50 222.50 0.909085 -137.50 82.50 227.50 1.46727 -137.50 82.50 232.50 2.20354 -137.50 82.50 237.50 3.06444 -137.50 82.50 242.50 3.61118 -137.50 82.50 247.50 3.44886 -137.50 82.50 252.50 2.67578 -137.50 82.50 257.50 1.83091 -137.50 82.50 262.50 1.10616 -137.50 82.50 267.50 0.591232 -137.50 82.50 272.50 0.246673 -137.50 82.50 277.50 0.121126 -137.50 82.50 282.50 0.0854978 -137.50 82.50 287.50 0.0789511 -137.50 82.50 292.50 0.0785805 -137.50 82.50 297.50 0.108987 -137.50 82.50 302.50 0.232048 -137.50 82.50 307.50 0.493044 -137.50 82.50 312.50 0.909086 -137.50 82.50 317.50 1.46727 -137.50 82.50 322.50 2.20354 -137.50 82.50 327.50 3.06444 -137.50 82.50 332.50 3.61118 -137.50 82.50 337.50 3.44886 -137.50 82.50 342.50 2.67578 -137.50 82.50 347.50 1.83091 -137.50 82.50 352.50 1.10617 -137.50 82.50 357.50 0.591234 -137.50 87.50 2.50 0.130387 -137.50 87.50 7.50 0.0855828 -137.50 87.50 12.50 0.122098 -137.50 87.50 17.50 0.19655 -137.50 87.50 22.50 0.23631 -137.50 87.50 27.50 0.344826 -137.50 87.50 32.50 0.553209 -137.50 87.50 37.50 0.840192 -137.50 87.50 42.50 1.18542 -137.50 87.50 47.50 1.58898 -137.50 87.50 52.50 2.03771 -137.50 87.50 57.50 2.44568 -137.50 87.50 62.50 2.57694 -137.50 87.50 67.50 2.21578 -137.50 87.50 72.50 1.55028 -137.50 87.50 77.50 0.97423 -137.50 87.50 82.50 0.603579 -137.50 87.50 87.50 0.300873 -137.50 87.50 92.50 0.130387 -137.50 87.50 97.50 0.0855827 -137.50 87.50 102.50 0.122098 -137.50 87.50 107.50 0.19655 -137.50 87.50 112.50 0.23631 -137.50 87.50 117.50 0.344826 -137.50 87.50 122.50 0.553209 -137.50 87.50 127.50 0.840192 -137.50 87.50 132.50 1.18542 -137.50 87.50 137.50 1.58898 -137.50 87.50 142.50 2.03771 -137.50 87.50 147.50 2.44568 -137.50 87.50 152.50 2.57694 -137.50 87.50 157.50 2.21578 -137.50 87.50 162.50 1.55028 -137.50 87.50 167.50 0.974231 -137.50 87.50 172.50 0.603579 -137.50 87.50 177.50 0.300874 -137.50 87.50 182.50 0.130387 -137.50 87.50 187.50 0.0855827 -137.50 87.50 192.50 0.122098 -137.50 87.50 197.50 0.19655 -137.50 87.50 202.50 0.23631 -137.50 87.50 207.50 0.344826 -137.50 87.50 212.50 0.553209 -137.50 87.50 217.50 0.840192 -137.50 87.50 222.50 1.18542 -137.50 87.50 227.50 1.58898 -137.50 87.50 232.50 2.03772 -137.50 87.50 237.50 2.44568 -137.50 87.50 242.50 2.57694 -137.50 87.50 247.50 2.21578 -137.50 87.50 252.50 1.55028 -137.50 87.50 257.50 0.97423 -137.50 87.50 262.50 0.603578 -137.50 87.50 267.50 0.300873 -137.50 87.50 272.50 0.130387 -137.50 87.50 277.50 0.0855828 -137.50 87.50 282.50 0.122098 -137.50 87.50 287.50 0.19655 -137.50 87.50 292.50 0.23631 -137.50 87.50 297.50 0.344826 -137.50 87.50 302.50 0.553209 -137.50 87.50 307.50 0.840192 -137.50 87.50 312.50 1.18542 -137.50 87.50 317.50 1.58898 -137.50 87.50 322.50 2.03771 -137.50 87.50 327.50 2.44568 -137.50 87.50 332.50 2.57694 -137.50 87.50 337.50 2.21578 -137.50 87.50 342.50 1.55028 -137.50 87.50 347.50 0.974232 -137.50 87.50 352.50 0.60358 -137.50 87.50 357.50 0.300874 -137.50 92.50 2.50 0.084539 -137.50 92.50 7.50 0.130387 -137.50 92.50 12.50 0.246673 -137.50 92.50 17.50 0.403177 -137.50 92.50 22.50 0.637513 -137.50 92.50 27.50 0.968135 -137.50 92.50 32.50 1.29235 -137.50 92.50 37.50 1.51272 -137.50 92.50 42.50 1.628 -137.50 92.50 47.50 1.66337 -137.50 92.50 52.50 1.628 -137.50 92.50 57.50 1.51272 -137.50 92.50 62.50 1.29235 -137.50 92.50 67.50 0.968134 -137.50 92.50 72.50 0.637513 -137.50 92.50 77.50 0.403177 -137.50 92.50 82.50 0.246672 -137.50 92.50 87.50 0.130387 -137.50 92.50 92.50 0.084539 -137.50 92.50 97.50 0.130387 -137.50 92.50 102.50 0.246673 -137.50 92.50 107.50 0.403177 -137.50 92.50 112.50 0.637513 -137.50 92.50 117.50 0.968135 -137.50 92.50 122.50 1.29235 -137.50 92.50 127.50 1.51272 -137.50 92.50 132.50 1.628 -137.50 92.50 137.50 1.66337 -137.50 92.50 142.50 1.628 -137.50 92.50 147.50 1.51272 -137.50 92.50 152.50 1.29235 -137.50 92.50 157.50 0.968134 -137.50 92.50 162.50 0.637513 -137.50 92.50 167.50 0.403177 -137.50 92.50 172.50 0.246673 -137.50 92.50 177.50 0.130387 -137.50 92.50 182.50 0.084539 -137.50 92.50 187.50 0.130387 -137.50 92.50 192.50 0.246673 -137.50 92.50 197.50 0.403177 -137.50 92.50 202.50 0.637513 -137.50 92.50 207.50 0.968135 -137.50 92.50 212.50 1.29235 -137.50 92.50 217.50 1.51272 -137.50 92.50 222.50 1.628 -137.50 92.50 227.50 1.66337 -137.50 92.50 232.50 1.628 -137.50 92.50 237.50 1.51272 -137.50 92.50 242.50 1.29235 -137.50 92.50 247.50 0.968134 -137.50 92.50 252.50 0.637512 -137.50 92.50 257.50 0.403176 -137.50 92.50 262.50 0.246672 -137.50 92.50 267.50 0.130387 -137.50 92.50 272.50 0.084539 -137.50 92.50 277.50 0.130387 -137.50 92.50 282.50 0.246673 -137.50 92.50 287.50 0.403177 -137.50 92.50 292.50 0.637513 -137.50 92.50 297.50 0.968134 -137.50 92.50 302.50 1.29235 -137.50 92.50 307.50 1.51272 -137.50 92.50 312.50 1.628 -137.50 92.50 317.50 1.66337 -137.50 92.50 322.50 1.628 -137.50 92.50 327.50 1.51272 -137.50 92.50 332.50 1.29235 -137.50 92.50 337.50 0.968135 -137.50 92.50 342.50 0.637513 -137.50 92.50 347.50 0.403177 -137.50 92.50 352.50 0.246673 -137.50 92.50 357.50 0.130387 -137.50 97.50 2.50 0.130387 -137.50 97.50 7.50 0.300874 -137.50 97.50 12.50 0.603579 -137.50 97.50 17.50 0.974231 -137.50 97.50 22.50 1.55028 -137.50 97.50 27.50 2.21578 -137.50 97.50 32.50 2.57694 -137.50 97.50 37.50 2.44568 -137.50 97.50 42.50 2.03771 -137.50 97.50 47.50 1.58898 -137.50 97.50 52.50 1.18542 -137.50 97.50 57.50 0.840192 -137.50 97.50 62.50 0.553209 -137.50 97.50 67.50 0.344826 -137.50 97.50 72.50 0.23631 -137.50 97.50 77.50 0.19655 -137.50 97.50 82.50 0.122098 -137.50 97.50 87.50 0.0855827 -137.50 97.50 92.50 0.130387 -137.50 97.50 97.50 0.300873 -137.50 97.50 102.50 0.603579 -137.50 97.50 107.50 0.97423 -137.50 97.50 112.50 1.55028 -137.50 97.50 117.50 2.21578 -137.50 97.50 122.50 2.57693 -137.50 97.50 127.50 2.44568 -137.50 97.50 132.50 2.03771 -137.50 97.50 137.50 1.58898 -137.50 97.50 142.50 1.18542 -137.50 97.50 147.50 0.840192 -137.50 97.50 152.50 0.553209 -137.50 97.50 157.50 0.344826 -137.50 97.50 162.50 0.23631 -137.50 97.50 167.50 0.19655 -137.50 97.50 172.50 0.122098 -137.50 97.50 177.50 0.0855827 -137.50 97.50 182.50 0.130387 -137.50 97.50 187.50 0.300873 -137.50 97.50 192.50 0.603579 -137.50 97.50 197.50 0.97423 -137.50 97.50 202.50 1.55028 -137.50 97.50 207.50 2.21578 -137.50 97.50 212.50 2.57694 -137.50 97.50 217.50 2.44568 -137.50 97.50 222.50 2.03771 -137.50 97.50 227.50 1.58898 -137.50 97.50 232.50 1.18542 -137.50 97.50 237.50 0.840192 -137.50 97.50 242.50 0.553209 -137.50 97.50 247.50 0.344826 -137.50 97.50 252.50 0.23631 -137.50 97.50 257.50 0.19655 -137.50 97.50 262.50 0.122098 -137.50 97.50 267.50 0.0855827 -137.50 97.50 272.50 0.130387 -137.50 97.50 277.50 0.300874 -137.50 97.50 282.50 0.603579 -137.50 97.50 287.50 0.974231 -137.50 97.50 292.50 1.55028 -137.50 97.50 297.50 2.21578 -137.50 97.50 302.50 2.57694 -137.50 97.50 307.50 2.44568 -137.50 97.50 312.50 2.03771 -137.50 97.50 317.50 1.58898 -137.50 97.50 322.50 1.18542 -137.50 97.50 327.50 0.840193 -137.50 97.50 332.50 0.55321 -137.50 97.50 337.50 0.344826 -137.50 97.50 342.50 0.236311 -137.50 97.50 347.50 0.19655 -137.50 97.50 352.50 0.122099 -137.50 97.50 357.50 0.0855828 -137.50 102.50 2.50 0.246673 -137.50 102.50 7.50 0.591233 -137.50 102.50 12.50 1.10617 -137.50 102.50 17.50 1.83091 -137.50 102.50 22.50 2.67578 -137.50 102.50 27.50 3.44886 -137.50 102.50 32.50 3.61118 -137.50 102.50 37.50 3.06444 -137.50 102.50 42.50 2.20354 -137.50 102.50 47.50 1.46727 -137.50 102.50 52.50 0.909086 -137.50 102.50 57.50 0.493044 -137.50 102.50 62.50 0.232048 -137.50 102.50 67.50 0.108987 -137.50 102.50 72.50 0.0785805 -137.50 102.50 77.50 0.0789512 -137.50 102.50 82.50 0.0854978 -137.50 102.50 87.50 0.121126 -137.50 102.50 92.50 0.246673 -137.50 102.50 97.50 0.591233 -137.50 102.50 102.50 1.10617 -137.50 102.50 107.50 1.83091 -137.50 102.50 112.50 2.67578 -137.50 102.50 117.50 3.44886 -137.50 102.50 122.50 3.61118 -137.50 102.50 127.50 3.06444 -137.50 102.50 132.50 2.20354 -137.50 102.50 137.50 1.46727 -137.50 102.50 142.50 0.909086 -137.50 102.50 147.50 0.493044 -137.50 102.50 152.50 0.232048 -137.50 102.50 157.50 0.108987 -137.50 102.50 162.50 0.0785805 -137.50 102.50 167.50 0.0789512 -137.50 102.50 172.50 0.0854978 -137.50 102.50 177.50 0.121126 -137.50 102.50 182.50 0.246673 -137.50 102.50 187.50 0.591233 -137.50 102.50 192.50 1.10617 -137.50 102.50 197.50 1.83091 -137.50 102.50 202.50 2.67578 -137.50 102.50 207.50 3.44886 -137.50 102.50 212.50 3.61119 -137.50 102.50 217.50 3.06444 -137.50 102.50 222.50 2.20354 -137.50 102.50 227.50 1.46727 -137.50 102.50 232.50 0.909085 -137.50 102.50 237.50 0.493044 -137.50 102.50 242.50 0.232048 -137.50 102.50 247.50 0.108987 -137.50 102.50 252.50 0.0785805 -137.50 102.50 257.50 0.0789512 -137.50 102.50 262.50 0.0854978 -137.50 102.50 267.50 0.121126 -137.50 102.50 272.50 0.246673 -137.50 102.50 277.50 0.591233 -137.50 102.50 282.50 1.10617 -137.50 102.50 287.50 1.83091 -137.50 102.50 292.50 2.67578 -137.50 102.50 297.50 3.44886 -137.50 102.50 302.50 3.61119 -137.50 102.50 307.50 3.06444 -137.50 102.50 312.50 2.20354 -137.50 102.50 317.50 1.46727 -137.50 102.50 322.50 0.909087 -137.50 102.50 327.50 0.493045 -137.50 102.50 332.50 0.232048 -137.50 102.50 337.50 0.108987 -137.50 102.50 342.50 0.0785804 -137.50 102.50 347.50 0.0789511 -137.50 102.50 352.50 0.0854978 -137.50 102.50 357.50 0.121126 -137.50 107.50 2.50 0.403177 -137.50 107.50 7.50 0.899353 -137.50 107.50 12.50 1.65429 -137.50 107.50 17.50 2.69657 -137.50 107.50 22.50 3.78536 -137.50 107.50 27.50 4.36293 -137.50 107.50 32.50 4.2188 -137.50 107.50 37.50 3.31442 -137.50 107.50 42.50 2.19646 -137.50 107.50 47.50 1.26182 -137.50 107.50 52.50 0.604974 -137.50 107.50 57.50 0.254877 -137.50 107.50 62.50 0.0867879 -137.50 107.50 67.50 0.0296135 -137.50 107.50 72.50 0.022385 -137.50 107.50 77.50 0.0388681 -137.50 107.50 82.50 0.0798155 -137.50 107.50 87.50 0.200893 -137.50 107.50 92.50 0.403177 -137.50 107.50 97.50 0.899353 -137.50 107.50 102.50 1.6543 -137.50 107.50 107.50 2.69657 -137.50 107.50 112.50 3.78536 -137.50 107.50 117.50 4.36293 -137.50 107.50 122.50 4.2188 -137.50 107.50 127.50 3.31442 -137.50 107.50 132.50 2.19646 -137.50 107.50 137.50 1.26182 -137.50 107.50 142.50 0.604975 -137.50 107.50 147.50 0.254877 -137.50 107.50 152.50 0.086788 -137.50 107.50 157.50 0.0296136 -137.50 107.50 162.50 0.022385 -137.50 107.50 167.50 0.0388681 -137.50 107.50 172.50 0.0798155 -137.50 107.50 177.50 0.200893 -137.50 107.50 182.50 0.403177 -137.50 107.50 187.50 0.899354 -137.50 107.50 192.50 1.65429 -137.50 107.50 197.50 2.69657 -137.50 107.50 202.50 3.78536 -137.50 107.50 207.50 4.36293 -137.50 107.50 212.50 4.2188 -137.50 107.50 217.50 3.31443 -137.50 107.50 222.50 2.19646 -137.50 107.50 227.50 1.26182 -137.50 107.50 232.50 0.604973 -137.50 107.50 237.50 0.254876 -137.50 107.50 242.50 0.0867878 -137.50 107.50 247.50 0.0296135 -137.50 107.50 252.50 0.022385 -137.50 107.50 257.50 0.0388681 -137.50 107.50 262.50 0.0798157 -137.50 107.50 267.50 0.200893 -137.50 107.50 272.50 0.403177 -137.50 107.50 277.50 0.899353 -137.50 107.50 282.50 1.65429 -137.50 107.50 287.50 2.69657 -137.50 107.50 292.50 3.78536 -137.50 107.50 297.50 4.36293 -137.50 107.50 302.50 4.2188 -137.50 107.50 307.50 3.31443 -137.50 107.50 312.50 2.19646 -137.50 107.50 317.50 1.26182 -137.50 107.50 322.50 0.604975 -137.50 107.50 327.50 0.254877 -137.50 107.50 332.50 0.0867882 -137.50 107.50 337.50 0.0296136 -137.50 107.50 342.50 0.022385 -137.50 107.50 347.50 0.038868 -137.50 107.50 352.50 0.0798154 -137.50 107.50 357.50 0.200893 -137.50 112.50 2.50 0.637513 -137.50 112.50 7.50 1.31627 -137.50 112.50 12.50 2.14117 -137.50 112.50 17.50 3.16757 -137.50 112.50 22.50 4.11187 -137.50 112.50 27.50 4.42017 -137.50 112.50 32.50 3.86187 -137.50 112.50 37.50 2.911 -137.50 112.50 42.50 1.80094 -137.50 112.50 47.50 0.884599 -137.50 112.50 52.50 0.346483 -137.50 112.50 57.50 0.107213 -137.50 112.50 62.50 0.0338008 -137.50 112.50 67.50 0.00943461 -137.50 112.50 72.50 0.0105258 -137.50 112.50 77.50 0.0338583 -137.50 112.50 82.50 0.105393 -137.50 112.50 87.50 0.279602 -137.50 112.50 92.50 0.637514 -137.50 112.50 97.50 1.31627 -137.50 112.50 102.50 2.14117 -137.50 112.50 107.50 3.16757 -137.50 112.50 112.50 4.11187 -137.50 112.50 117.50 4.42017 -137.50 112.50 122.50 3.86188 -137.50 112.50 127.50 2.911 -137.50 112.50 132.50 1.80094 -137.50 112.50 137.50 0.8846 -137.50 112.50 142.50 0.346483 -137.50 112.50 147.50 0.107213 -137.50 112.50 152.50 0.0338009 -137.50 112.50 157.50 0.00943463 -137.50 112.50 162.50 0.0105258 -137.50 112.50 167.50 0.0338582 -137.50 112.50 172.50 0.105393 -137.50 112.50 177.50 0.279602 -137.50 112.50 182.50 0.637513 -137.50 112.50 187.50 1.31627 -137.50 112.50 192.50 2.14117 -137.50 112.50 197.50 3.16757 -137.50 112.50 202.50 4.11187 -137.50 112.50 207.50 4.42017 -137.50 112.50 212.50 3.86188 -137.50 112.50 217.50 2.911 -137.50 112.50 222.50 1.80095 -137.50 112.50 227.50 0.8846 -137.50 112.50 232.50 0.346482 -137.50 112.50 237.50 0.107213 -137.50 112.50 242.50 0.0338008 -137.50 112.50 247.50 0.0094346 -137.50 112.50 252.50 0.0105258 -137.50 112.50 257.50 0.0338583 -137.50 112.50 262.50 0.105394 -137.50 112.50 267.50 0.279602 -137.50 112.50 272.50 0.637512 -137.50 112.50 277.50 1.31627 -137.50 112.50 282.50 2.14117 -137.50 112.50 287.50 3.16757 -137.50 112.50 292.50 4.11187 -137.50 112.50 297.50 4.42017 -137.50 112.50 302.50 3.86188 -137.50 112.50 307.50 2.911 -137.50 112.50 312.50 1.80095 -137.50 112.50 317.50 0.8846 -137.50 112.50 322.50 0.346484 -137.50 112.50 327.50 0.107213 -137.50 112.50 332.50 0.033801 -137.50 112.50 337.50 0.00943464 -137.50 112.50 342.50 0.0105258 -137.50 112.50 347.50 0.0338581 -137.50 112.50 352.50 0.105393 -137.50 112.50 357.50 0.279602 -137.50 117.50 2.50 0.968135 -137.50 117.50 7.50 1.72646 -137.50 117.50 12.50 2.37158 -137.50 117.50 17.50 2.98251 -137.50 117.50 22.50 3.43385 -137.50 117.50 27.50 3.3441 -137.50 117.50 32.50 2.66677 -137.50 117.50 37.50 1.78521 -137.50 117.50 42.50 0.992786 -137.50 117.50 47.50 0.434805 -137.50 117.50 52.50 0.164125 -137.50 117.50 57.50 0.0670633 -137.50 117.50 62.50 0.0270251 -137.50 117.50 67.50 0.0159586 -137.50 117.50 72.50 0.0336968 -137.50 117.50 77.50 0.0904079 -137.50 117.50 82.50 0.214558 -137.50 117.50 87.50 0.487742 -137.50 117.50 92.50 0.968136 -137.50 117.50 97.50 1.72646 -137.50 117.50 102.50 2.37158 -137.50 117.50 107.50 2.98251 -137.50 117.50 112.50 3.43385 -137.50 117.50 117.50 3.3441 -137.50 117.50 122.50 2.66677 -137.50 117.50 127.50 1.78521 -137.50 117.50 132.50 0.992785 -137.50 117.50 137.50 0.434805 -137.50 117.50 142.50 0.164125 -137.50 117.50 147.50 0.0670633 -137.50 117.50 152.50 0.0270251 -137.50 117.50 157.50 0.0159586 -137.50 117.50 162.50 0.0336967 -137.50 117.50 167.50 0.0904077 -137.50 117.50 172.50 0.214557 -137.50 117.50 177.50 0.487741 -137.50 117.50 182.50 0.968135 -137.50 117.50 187.50 1.72646 -137.50 117.50 192.50 2.37158 -137.50 117.50 197.50 2.98251 -137.50 117.50 202.50 3.43385 -137.50 117.50 207.50 3.3441 -137.50 117.50 212.50 2.66677 -137.50 117.50 217.50 1.78521 -137.50 117.50 222.50 0.992786 -137.50 117.50 227.50 0.434806 -137.50 117.50 232.50 0.164125 -137.50 117.50 237.50 0.0670632 -137.50 117.50 242.50 0.027025 -137.50 117.50 247.50 0.0159585 -137.50 117.50 252.50 0.0336967 -137.50 117.50 257.50 0.0904078 -137.50 117.50 262.50 0.214558 -137.50 117.50 267.50 0.487742 -137.50 117.50 272.50 0.968134 -137.50 117.50 277.50 1.72646 -137.50 117.50 282.50 2.37158 -137.50 117.50 287.50 2.98251 -137.50 117.50 292.50 3.43385 -137.50 117.50 297.50 3.3441 -137.50 117.50 302.50 2.66677 -137.50 117.50 307.50 1.78521 -137.50 117.50 312.50 0.992786 -137.50 117.50 317.50 0.434806 -137.50 117.50 322.50 0.164126 -137.50 117.50 327.50 0.0670634 -137.50 117.50 332.50 0.0270251 -137.50 117.50 337.50 0.0159586 -137.50 117.50 342.50 0.0336967 -137.50 117.50 347.50 0.0904077 -137.50 117.50 352.50 0.214557 -137.50 117.50 357.50 0.487741 -137.50 122.50 2.50 1.29235 -137.50 122.50 7.50 1.82071 -137.50 122.50 12.50 2.09115 -137.50 122.50 17.50 2.24111 -137.50 122.50 22.50 2.21996 -137.50 122.50 27.50 1.84685 -137.50 122.50 32.50 1.34706 -137.50 122.50 37.50 0.814816 -137.50 122.50 42.50 0.370963 -137.50 122.50 47.50 0.142105 -137.50 122.50 52.50 0.0670156 -137.50 122.50 57.50 0.0469779 -137.50 122.50 62.50 0.0532587 -137.50 122.50 67.50 0.0908582 -137.50 122.50 72.50 0.167666 -137.50 122.50 77.50 0.319137 -137.50 122.50 82.50 0.524055 -137.50 122.50 87.50 0.84456 -137.50 122.50 92.50 1.29235 -137.50 122.50 97.50 1.82071 -137.50 122.50 102.50 2.09115 -137.50 122.50 107.50 2.24111 -137.50 122.50 112.50 2.21996 -137.50 122.50 117.50 1.84685 -137.50 122.50 122.50 1.34706 -137.50 122.50 127.50 0.814815 -137.50 122.50 132.50 0.370963 -137.50 122.50 137.50 0.142105 -137.50 122.50 142.50 0.0670156 -137.50 122.50 147.50 0.0469778 -137.50 122.50 152.50 0.0532586 -137.50 122.50 157.50 0.090858 -137.50 122.50 162.50 0.167665 -137.50 122.50 167.50 0.319137 -137.50 122.50 172.50 0.524054 -137.50 122.50 177.50 0.844559 -137.50 122.50 182.50 1.29235 -137.50 122.50 187.50 1.82071 -137.50 122.50 192.50 2.09115 -137.50 122.50 197.50 2.24111 -137.50 122.50 202.50 2.21996 -137.50 122.50 207.50 1.84685 -137.50 122.50 212.50 1.34706 -137.50 122.50 217.50 0.814816 -137.50 122.50 222.50 0.370963 -137.50 122.50 227.50 0.142105 -137.50 122.50 232.50 0.0670155 -137.50 122.50 237.50 0.0469778 -137.50 122.50 242.50 0.0532587 -137.50 122.50 247.50 0.0908582 -137.50 122.50 252.50 0.167665 -137.50 122.50 257.50 0.319137 -137.50 122.50 262.50 0.524055 -137.50 122.50 267.50 0.844559 -137.50 122.50 272.50 1.29235 -137.50 122.50 277.50 1.82071 -137.50 122.50 282.50 2.09115 -137.50 122.50 287.50 2.24111 -137.50 122.50 292.50 2.21996 -137.50 122.50 297.50 1.84685 -137.50 122.50 302.50 1.34706 -137.50 122.50 307.50 0.814817 -137.50 122.50 312.50 0.370963 -137.50 122.50 317.50 0.142105 -137.50 122.50 322.50 0.0670157 -137.50 122.50 327.50 0.0469779 -137.50 122.50 332.50 0.0532586 -137.50 122.50 337.50 0.090858 -137.50 122.50 342.50 0.167665 -137.50 122.50 347.50 0.319137 -137.50 122.50 352.50 0.524054 -137.50 122.50 357.50 0.844559 -137.50 127.50 2.50 1.51272 -137.50 127.50 7.50 1.5716 -137.50 127.50 12.50 1.44306 -137.50 127.50 17.50 1.31236 -137.50 127.50 22.50 1.14042 -137.50 127.50 27.50 0.826398 -137.50 127.50 32.50 0.526678 -137.50 127.50 37.50 0.260173 -137.50 127.50 42.50 0.100259 -137.50 127.50 47.50 0.0432226 -137.50 127.50 52.50 0.0361277 -137.50 127.50 57.50 0.0780687 -137.50 127.50 62.50 0.179891 -137.50 127.50 67.50 0.355358 -137.50 127.50 72.50 0.633899 -137.50 127.50 77.50 0.95418 -137.50 127.50 82.50 1.1942 -137.50 127.50 87.50 1.33769 -137.50 127.50 92.50 1.51272 -137.50 127.50 97.50 1.5716 -137.50 127.50 102.50 1.44307 -137.50 127.50 107.50 1.31236 -137.50 127.50 112.50 1.14043 -137.50 127.50 117.50 0.826399 -137.50 127.50 122.50 0.526679 -137.50 127.50 127.50 0.260173 -137.50 127.50 132.50 0.100259 -137.50 127.50 137.50 0.0432226 -137.50 127.50 142.50 0.0361276 -137.50 127.50 147.50 0.0780686 -137.50 127.50 152.50 0.179891 -137.50 127.50 157.50 0.355358 -137.50 127.50 162.50 0.633898 -137.50 127.50 167.50 0.95418 -137.50 127.50 172.50 1.1942 -137.50 127.50 177.50 1.33769 -137.50 127.50 182.50 1.51272 -137.50 127.50 187.50 1.5716 -137.50 127.50 192.50 1.44306 -137.50 127.50 197.50 1.31236 -137.50 127.50 202.50 1.14043 -137.50 127.50 207.50 0.826399 -137.50 127.50 212.50 0.526679 -137.50 127.50 217.50 0.260173 -137.50 127.50 222.50 0.100259 -137.50 127.50 227.50 0.0432226 -137.50 127.50 232.50 0.0361277 -137.50 127.50 237.50 0.0780687 -137.50 127.50 242.50 0.179891 -137.50 127.50 247.50 0.355358 -137.50 127.50 252.50 0.633899 -137.50 127.50 257.50 0.95418 -137.50 127.50 262.50 1.1942 -137.50 127.50 267.50 1.33769 -137.50 127.50 272.50 1.51272 -137.50 127.50 277.50 1.5716 -137.50 127.50 282.50 1.44307 -137.50 127.50 287.50 1.31236 -137.50 127.50 292.50 1.14043 -137.50 127.50 297.50 0.826399 -137.50 127.50 302.50 0.526679 -137.50 127.50 307.50 0.260173 -137.50 127.50 312.50 0.100259 -137.50 127.50 317.50 0.0432226 -137.50 127.50 322.50 0.0361276 -137.50 127.50 327.50 0.0780686 -137.50 127.50 332.50 0.179891 -137.50 127.50 337.50 0.355357 -137.50 127.50 342.50 0.633898 -137.50 127.50 347.50 0.95418 -137.50 127.50 352.50 1.1942 -137.50 127.50 357.50 1.33769 -137.50 132.50 2.50 1.628 -137.50 132.50 7.50 1.21014 -137.50 132.50 12.50 0.840814 -137.50 132.50 17.50 0.569579 -137.50 132.50 22.50 0.454394 -137.50 132.50 27.50 0.317223 -137.50 132.50 32.50 0.164442 -137.50 132.50 37.50 0.0676413 -137.50 132.50 42.50 0.0215621 -137.50 132.50 47.50 0.0214595 -137.50 132.50 52.50 0.0771344 -137.50 132.50 57.50 0.232396 -137.50 132.50 62.50 0.508295 -137.50 132.50 67.50 0.958794 -137.50 132.50 72.50 1.62477 -137.50 132.50 77.50 2.17574 -137.50 132.50 82.50 2.2079 -137.50 132.50 87.50 1.92084 -137.50 132.50 92.50 1.628 -137.50 132.50 97.50 1.21014 -137.50 132.50 102.50 0.840814 -137.50 132.50 107.50 0.56958 -137.50 132.50 112.50 0.454394 -137.50 132.50 117.50 0.317223 -137.50 132.50 122.50 0.164442 -137.50 132.50 127.50 0.0676412 -137.50 132.50 132.50 0.0215621 -137.50 132.50 137.50 0.0214595 -137.50 132.50 142.50 0.0771344 -137.50 132.50 147.50 0.232396 -137.50 132.50 152.50 0.508294 -137.50 132.50 157.50 0.958792 -137.50 132.50 162.50 1.62477 -137.50 132.50 167.50 2.17574 -137.50 132.50 172.50 2.2079 -137.50 132.50 177.50 1.92084 -137.50 132.50 182.50 1.628 -137.50 132.50 187.50 1.21014 -137.50 132.50 192.50 0.840814 -137.50 132.50 197.50 0.56958 -137.50 132.50 202.50 0.454395 -137.50 132.50 207.50 0.317223 -137.50 132.50 212.50 0.164442 -137.50 132.50 217.50 0.0676413 -137.50 132.50 222.50 0.0215621 -137.50 132.50 227.50 0.0214595 -137.50 132.50 232.50 0.0771346 -137.50 132.50 237.50 0.232396 -137.50 132.50 242.50 0.508295 -137.50 132.50 247.50 0.958793 -137.50 132.50 252.50 1.62477 -137.50 132.50 257.50 2.17574 -137.50 132.50 262.50 2.2079 -137.50 132.50 267.50 1.92084 -137.50 132.50 272.50 1.628 -137.50 132.50 277.50 1.21014 -137.50 132.50 282.50 0.840814 -137.50 132.50 287.50 0.569579 -137.50 132.50 292.50 0.454394 -137.50 132.50 297.50 0.317223 -137.50 132.50 302.50 0.164442 -137.50 132.50 307.50 0.0676414 -137.50 132.50 312.50 0.0215621 -137.50 132.50 317.50 0.0214595 -137.50 132.50 322.50 0.0771343 -137.50 132.50 327.50 0.232396 -137.50 132.50 332.50 0.508294 -137.50 132.50 337.50 0.958792 -137.50 132.50 342.50 1.62477 -137.50 132.50 347.50 2.17574 -137.50 132.50 352.50 2.2079 -137.50 132.50 357.50 1.92084 -137.50 137.50 2.50 1.66337 -137.50 137.50 7.50 0.914598 -137.50 137.50 12.50 0.452375 -137.50 137.50 17.50 0.232092 -137.50 137.50 22.50 0.139303 -137.50 137.50 27.50 0.0908967 -137.50 137.50 32.50 0.0400785 -137.50 137.50 37.50 0.0168595 -137.50 137.50 42.50 0.0150114 -137.50 137.50 47.50 0.056841 -137.50 137.50 52.50 0.18753 -137.50 137.50 57.50 0.548183 -137.50 137.50 62.50 1.14238 -137.50 137.50 67.50 1.94873 -137.50 137.50 72.50 3.06255 -137.50 137.50 77.50 3.64918 -137.50 137.50 82.50 3.36605 -137.50 137.50 87.50 2.48748 -137.50 137.50 92.50 1.66337 -137.50 137.50 97.50 0.914599 -137.50 137.50 102.50 0.452375 -137.50 137.50 107.50 0.232092 -137.50 137.50 112.50 0.139303 -137.50 137.50 117.50 0.0908967 -137.50 137.50 122.50 0.0400784 -137.50 137.50 127.50 0.0168595 -137.50 137.50 132.50 0.0150114 -137.50 137.50 137.50 0.0568409 -137.50 137.50 142.50 0.18753 -137.50 137.50 147.50 0.548183 -137.50 137.50 152.50 1.14237 -137.50 137.50 157.50 1.94873 -137.50 137.50 162.50 3.06255 -137.50 137.50 167.50 3.64918 -137.50 137.50 172.50 3.36604 -137.50 137.50 177.50 2.48748 -137.50 137.50 182.50 1.66337 -137.50 137.50 187.50 0.914598 -137.50 137.50 192.50 0.452375 -137.50 137.50 197.50 0.232092 -137.50 137.50 202.50 0.139303 -137.50 137.50 207.50 0.0908968 -137.50 137.50 212.50 0.0400785 -137.50 137.50 217.50 0.0168596 -137.50 137.50 222.50 0.0150114 -137.50 137.50 227.50 0.0568409 -137.50 137.50 232.50 0.187531 -137.50 137.50 237.50 0.548183 -137.50 137.50 242.50 1.14238 -137.50 137.50 247.50 1.94873 -137.50 137.50 252.50 3.06255 -137.50 137.50 257.50 3.64917 -137.50 137.50 262.50 3.36604 -137.50 137.50 267.50 2.48748 -137.50 137.50 272.50 1.66337 -137.50 137.50 277.50 0.914599 -137.50 137.50 282.50 0.452375 -137.50 137.50 287.50 0.232092 -137.50 137.50 292.50 0.139303 -137.50 137.50 297.50 0.0908968 -137.50 137.50 302.50 0.0400786 -137.50 137.50 307.50 0.0168596 -137.50 137.50 312.50 0.0150114 -137.50 137.50 317.50 0.0568408 -137.50 137.50 322.50 0.18753 -137.50 137.50 327.50 0.548182 -137.50 137.50 332.50 1.14237 -137.50 137.50 337.50 1.94873 -137.50 137.50 342.50 3.06255 -137.50 137.50 347.50 3.64917 -137.50 137.50 352.50 3.36605 -137.50 137.50 357.50 2.48748 -137.50 142.50 2.50 1.628 -137.50 142.50 7.50 0.700267 -137.50 142.50 12.50 0.246043 -137.50 142.50 17.50 0.0932885 -137.50 142.50 22.50 0.0401125 -137.50 142.50 27.50 0.0193175 -137.50 142.50 32.50 0.0108623 -137.50 142.50 37.50 0.0171812 -137.50 142.50 42.50 0.0520136 -137.50 142.50 47.50 0.146546 -137.50 142.50 52.50 0.397991 -137.50 142.50 57.50 0.947813 -137.50 142.50 62.50 1.85956 -137.50 142.50 67.50 3.10897 -137.50 142.50 72.50 4.45582 -137.50 142.50 77.50 5.00803 -137.50 142.50 82.50 4.42937 -137.50 142.50 87.50 2.95657 -137.50 142.50 92.50 1.628 -137.50 142.50 97.50 0.700267 -137.50 142.50 102.50 0.246043 -137.50 142.50 107.50 0.0932886 -137.50 142.50 112.50 0.0401125 -137.50 142.50 117.50 0.0193175 -137.50 142.50 122.50 0.0108623 -137.50 142.50 127.50 0.0171812 -137.50 142.50 132.50 0.0520135 -137.50 142.50 137.50 0.146546 -137.50 142.50 142.50 0.397991 -137.50 142.50 147.50 0.947813 -137.50 142.50 152.50 1.85956 -137.50 142.50 157.50 3.10896 -137.50 142.50 162.50 4.45582 -137.50 142.50 167.50 5.00803 -137.50 142.50 172.50 4.42938 -137.50 142.50 177.50 2.95658 -137.50 142.50 182.50 1.628 -137.50 142.50 187.50 0.700267 -137.50 142.50 192.50 0.246043 -137.50 142.50 197.50 0.0932886 -137.50 142.50 202.50 0.0401125 -137.50 142.50 207.50 0.0193176 -137.50 142.50 212.50 0.0108623 -137.50 142.50 217.50 0.0171812 -137.50 142.50 222.50 0.0520135 -137.50 142.50 227.50 0.146546 -137.50 142.50 232.50 0.397992 -137.50 142.50 237.50 0.947814 -137.50 142.50 242.50 1.85956 -137.50 142.50 247.50 3.10897 -137.50 142.50 252.50 4.45582 -137.50 142.50 257.50 5.00802 -137.50 142.50 262.50 4.42937 -137.50 142.50 267.50 2.95658 -137.50 142.50 272.50 1.628 -137.50 142.50 277.50 0.700267 -137.50 142.50 282.50 0.246043 -137.50 142.50 287.50 0.0932887 -137.50 142.50 292.50 0.0401125 -137.50 142.50 297.50 0.0193176 -137.50 142.50 302.50 0.0108623 -137.50 142.50 307.50 0.0171812 -137.50 142.50 312.50 0.0520135 -137.50 142.50 317.50 0.146546 -137.50 142.50 322.50 0.397991 -137.50 142.50 327.50 0.947812 -137.50 142.50 332.50 1.85956 -137.50 142.50 337.50 3.10896 -137.50 142.50 342.50 4.45582 -137.50 142.50 347.50 5.00803 -137.50 142.50 352.50 4.42938 -137.50 142.50 357.50 2.95658 -137.50 147.50 2.50 1.51272 -137.50 147.50 7.50 0.540504 -137.50 147.50 12.50 0.15482 -137.50 147.50 17.50 0.0425807 -137.50 147.50 22.50 0.0142555 -137.50 147.50 27.50 0.00766383 -137.50 147.50 32.50 0.017002 -137.50 147.50 37.50 0.0542927 -137.50 147.50 42.50 0.16191 -137.50 147.50 47.50 0.371522 -137.50 147.50 52.50 0.73429 -137.50 147.50 57.50 1.38818 -137.50 147.50 62.50 2.44984 -137.50 147.50 67.50 3.88117 -137.50 147.50 72.50 5.23187 -137.50 147.50 77.50 5.77028 -137.50 147.50 82.50 4.96675 -137.50 147.50 87.50 3.14259 -137.50 147.50 92.50 1.51272 -137.50 147.50 97.50 0.540504 -137.50 147.50 102.50 0.15482 -137.50 147.50 107.50 0.0425807 -137.50 147.50 112.50 0.0142555 -137.50 147.50 117.50 0.00766383 -137.50 147.50 122.50 0.017002 -137.50 147.50 127.50 0.0542927 -137.50 147.50 132.50 0.161909 -137.50 147.50 137.50 0.371522 -137.50 147.50 142.50 0.73429 -137.50 147.50 147.50 1.38818 -137.50 147.50 152.50 2.44984 -137.50 147.50 157.50 3.88117 -137.50 147.50 162.50 5.23187 -137.50 147.50 167.50 5.77028 -137.50 147.50 172.50 4.96675 -137.50 147.50 177.50 3.14259 -137.50 147.50 182.50 1.51272 -137.50 147.50 187.50 0.540503 -137.50 147.50 192.50 0.15482 -137.50 147.50 197.50 0.0425807 -137.50 147.50 202.50 0.0142555 -137.50 147.50 207.50 0.00766383 -137.50 147.50 212.50 0.017002 -137.50 147.50 217.50 0.0542927 -137.50 147.50 222.50 0.161909 -137.50 147.50 227.50 0.371522 -137.50 147.50 232.50 0.73429 -137.50 147.50 237.50 1.38818 -137.50 147.50 242.50 2.44984 -137.50 147.50 247.50 3.88117 -137.50 147.50 252.50 5.23187 -137.50 147.50 257.50 5.77028 -137.50 147.50 262.50 4.96675 -137.50 147.50 267.50 3.14259 -137.50 147.50 272.50 1.51272 -137.50 147.50 277.50 0.540504 -137.50 147.50 282.50 0.15482 -137.50 147.50 287.50 0.0425807 -137.50 147.50 292.50 0.0142555 -137.50 147.50 297.50 0.00766384 -137.50 147.50 302.50 0.017002 -137.50 147.50 307.50 0.0542927 -137.50 147.50 312.50 0.161909 -137.50 147.50 317.50 0.371522 -137.50 147.50 322.50 0.734289 -137.50 147.50 327.50 1.38818 -137.50 147.50 332.50 2.44983 -137.50 147.50 337.50 3.88117 -137.50 147.50 342.50 5.23187 -137.50 147.50 347.50 5.77028 -137.50 147.50 352.50 4.96676 -137.50 147.50 357.50 3.14259 -137.50 152.50 2.50 1.29235 -137.50 152.50 7.50 0.414931 -137.50 152.50 12.50 0.116364 -137.50 152.50 17.50 0.0247871 -137.50 152.50 22.50 0.00965574 -137.50 152.50 27.50 0.0134999 -137.50 152.50 32.50 0.0486948 -137.50 152.50 37.50 0.141275 -137.50 152.50 42.50 0.340805 -137.50 152.50 47.50 0.695906 -137.50 152.50 52.50 1.17106 -137.50 152.50 57.50 1.79561 -137.50 152.50 62.50 2.6901 -137.50 152.50 67.50 3.92211 -137.50 152.50 72.50 4.99206 -137.50 152.50 77.50 5.39891 -137.50 152.50 82.50 4.50354 -137.50 152.50 87.50 2.82189 -137.50 152.50 92.50 1.29235 -137.50 152.50 97.50 0.414932 -137.50 152.50 102.50 0.116364 -137.50 152.50 107.50 0.0247871 -137.50 152.50 112.50 0.00965575 -137.50 152.50 117.50 0.0134999 -137.50 152.50 122.50 0.0486948 -137.50 152.50 127.50 0.141275 -137.50 152.50 132.50 0.340805 -137.50 152.50 137.50 0.695906 -137.50 152.50 142.50 1.17106 -137.50 152.50 147.50 1.79561 -137.50 152.50 152.50 2.6901 -137.50 152.50 157.50 3.92211 -137.50 152.50 162.50 4.99206 -137.50 152.50 167.50 5.39891 -137.50 152.50 172.50 4.50354 -137.50 152.50 177.50 2.82189 -137.50 152.50 182.50 1.29235 -137.50 152.50 187.50 0.414931 -137.50 152.50 192.50 0.116364 -137.50 152.50 197.50 0.0247871 -137.50 152.50 202.50 0.00965576 -137.50 152.50 207.50 0.0134999 -137.50 152.50 212.50 0.0486949 -137.50 152.50 217.50 0.141274 -137.50 152.50 222.50 0.340805 -137.50 152.50 227.50 0.695906 -137.50 152.50 232.50 1.17106 -137.50 152.50 237.50 1.79561 -137.50 152.50 242.50 2.6901 -137.50 152.50 247.50 3.92211 -137.50 152.50 252.50 4.99206 -137.50 152.50 257.50 5.3989 -137.50 152.50 262.50 4.50354 -137.50 152.50 267.50 2.82189 -137.50 152.50 272.50 1.29235 -137.50 152.50 277.50 0.414932 -137.50 152.50 282.50 0.116364 -137.50 152.50 287.50 0.0247871 -137.50 152.50 292.50 0.00965575 -137.50 152.50 297.50 0.0134999 -137.50 152.50 302.50 0.0486948 -137.50 152.50 307.50 0.141274 -137.50 152.50 312.50 0.340805 -137.50 152.50 317.50 0.695906 -137.50 152.50 322.50 1.17106 -137.50 152.50 327.50 1.79561 -137.50 152.50 332.50 2.6901 -137.50 152.50 337.50 3.9221 -137.50 152.50 342.50 4.99205 -137.50 152.50 347.50 5.39891 -137.50 152.50 352.50 4.50354 -137.50 152.50 357.50 2.82189 -137.50 157.50 2.50 0.968135 -137.50 157.50 7.50 0.329817 -137.50 157.50 12.50 0.104603 -137.50 157.50 17.50 0.030666 -137.50 157.50 22.50 0.0163487 -137.50 157.50 27.50 0.0368872 -137.50 157.50 32.50 0.109068 -137.50 157.50 37.50 0.270308 -137.50 157.50 42.50 0.56668 -137.50 157.50 47.50 1.01745 -137.50 157.50 52.50 1.50218 -137.50 157.50 57.50 1.9563 -137.50 157.50 62.50 2.54337 -137.50 157.50 67.50 3.22444 -137.50 157.50 72.50 3.8301 -137.50 157.50 77.50 3.92172 -137.50 157.50 82.50 3.2313 -137.50 157.50 87.50 2.03748 -137.50 157.50 92.50 0.968134 -137.50 157.50 97.50 0.329817 -137.50 157.50 102.50 0.104603 -137.50 157.50 107.50 0.030666 -137.50 157.50 112.50 0.0163487 -137.50 157.50 117.50 0.0368872 -137.50 157.50 122.50 0.109068 -137.50 157.50 127.50 0.270308 -137.50 157.50 132.50 0.56668 -137.50 157.50 137.50 1.01745 -137.50 157.50 142.50 1.50218 -137.50 157.50 147.50 1.9563 -137.50 157.50 152.50 2.54336 -137.50 157.50 157.50 3.22444 -137.50 157.50 162.50 3.8301 -137.50 157.50 167.50 3.92172 -137.50 157.50 172.50 3.2313 -137.50 157.50 177.50 2.03748 -137.50 157.50 182.50 0.968133 -137.50 157.50 187.50 0.329817 -137.50 157.50 192.50 0.104603 -137.50 157.50 197.50 0.030666 -137.50 157.50 202.50 0.0163487 -137.50 157.50 207.50 0.0368871 -137.50 157.50 212.50 0.109068 -137.50 157.50 217.50 0.270308 -137.50 157.50 222.50 0.56668 -137.50 157.50 227.50 1.01745 -137.50 157.50 232.50 1.50218 -137.50 157.50 237.50 1.9563 -137.50 157.50 242.50 2.54337 -137.50 157.50 247.50 3.22444 -137.50 157.50 252.50 3.8301 -137.50 157.50 257.50 3.92172 -137.50 157.50 262.50 3.2313 -137.50 157.50 267.50 2.03748 -137.50 157.50 272.50 0.968135 -137.50 157.50 277.50 0.329817 -137.50 157.50 282.50 0.104603 -137.50 157.50 287.50 0.030666 -137.50 157.50 292.50 0.0163487 -137.50 157.50 297.50 0.0368871 -137.50 157.50 302.50 0.109068 -137.50 157.50 307.50 0.270308 -137.50 157.50 312.50 0.566679 -137.50 157.50 317.50 1.01745 -137.50 157.50 322.50 1.50218 -137.50 157.50 327.50 1.9563 -137.50 157.50 332.50 2.54336 -137.50 157.50 337.50 3.22444 -137.50 157.50 342.50 3.8301 -137.50 157.50 347.50 3.92172 -137.50 157.50 352.50 3.2313 -137.50 157.50 357.50 2.03748 -137.50 162.50 2.50 0.637513 -137.50 162.50 7.50 0.285721 -137.50 162.50 12.50 0.119253 -137.50 162.50 17.50 0.0519655 -137.50 162.50 22.50 0.0393927 -137.50 162.50 27.50 0.0852977 -137.50 162.50 32.50 0.205078 -137.50 162.50 37.50 0.427802 -137.50 162.50 42.50 0.795805 -137.50 162.50 47.50 1.23339 -137.50 162.50 52.50 1.57234 -137.50 162.50 57.50 1.72953 -137.50 162.50 62.50 1.8782 -137.50 162.50 67.50 2.14288 -137.50 162.50 72.50 2.34706 -137.50 162.50 77.50 2.24805 -137.50 162.50 82.50 1.81288 -137.50 162.50 87.50 1.18271 -137.50 162.50 92.50 0.637513 -137.50 162.50 97.50 0.285721 -137.50 162.50 102.50 0.119253 -137.50 162.50 107.50 0.0519655 -137.50 162.50 112.50 0.0393927 -137.50 162.50 117.50 0.0852977 -137.50 162.50 122.50 0.205078 -137.50 162.50 127.50 0.427802 -137.50 162.50 132.50 0.795805 -137.50 162.50 137.50 1.23339 -137.50 162.50 142.50 1.57234 -137.50 162.50 147.50 1.72953 -137.50 162.50 152.50 1.8782 -137.50 162.50 157.50 2.14288 -137.50 162.50 162.50 2.34706 -137.50 162.50 167.50 2.24805 -137.50 162.50 172.50 1.81288 -137.50 162.50 177.50 1.18272 -137.50 162.50 182.50 0.637512 -137.50 162.50 187.50 0.285721 -137.50 162.50 192.50 0.119253 -137.50 162.50 197.50 0.0519655 -137.50 162.50 202.50 0.0393927 -137.50 162.50 207.50 0.0852977 -137.50 162.50 212.50 0.205078 -137.50 162.50 217.50 0.427801 -137.50 162.50 222.50 0.795805 -137.50 162.50 227.50 1.23339 -137.50 162.50 232.50 1.57234 -137.50 162.50 237.50 1.72954 -137.50 162.50 242.50 1.8782 -137.50 162.50 247.50 2.14288 -137.50 162.50 252.50 2.34706 -137.50 162.50 257.50 2.24805 -137.50 162.50 262.50 1.81288 -137.50 162.50 267.50 1.18271 -137.50 162.50 272.50 0.637513 -137.50 162.50 277.50 0.285721 -137.50 162.50 282.50 0.119253 -137.50 162.50 287.50 0.0519655 -137.50 162.50 292.50 0.0393928 -137.50 162.50 297.50 0.0852976 -137.50 162.50 302.50 0.205078 -137.50 162.50 307.50 0.427801 -137.50 162.50 312.50 0.795805 -137.50 162.50 317.50 1.23339 -137.50 162.50 322.50 1.57233 -137.50 162.50 327.50 1.72953 -137.50 162.50 332.50 1.8782 -137.50 162.50 337.50 2.14288 -137.50 162.50 342.50 2.34706 -137.50 162.50 347.50 2.24805 -137.50 162.50 352.50 1.81288 -137.50 162.50 357.50 1.18272 -137.50 167.50 2.50 0.403177 -137.50 167.50 7.50 0.258234 -137.50 167.50 12.50 0.138051 -137.50 167.50 17.50 0.0753126 -137.50 167.50 22.50 0.0671228 -137.50 167.50 27.50 0.125026 -137.50 167.50 32.50 0.270598 -137.50 167.50 37.50 0.534562 -137.50 167.50 42.50 0.917767 -137.50 167.50 47.50 1.28158 -137.50 167.50 52.50 1.37784 -137.50 167.50 57.50 1.21406 -137.50 167.50 62.50 1.0785 -137.50 167.50 67.50 1.09896 -137.50 167.50 72.50 1.12898 -137.50 167.50 77.50 1.03822 -137.50 167.50 82.50 0.819828 -137.50 167.50 87.50 0.59788 -137.50 167.50 92.50 0.403177 -137.50 167.50 97.50 0.258234 -137.50 167.50 102.50 0.138051 -137.50 167.50 107.50 0.0753126 -137.50 167.50 112.50 0.0671228 -137.50 167.50 117.50 0.125026 -137.50 167.50 122.50 0.270598 -137.50 167.50 127.50 0.534562 -137.50 167.50 132.50 0.917767 -137.50 167.50 137.50 1.28158 -137.50 167.50 142.50 1.37784 -137.50 167.50 147.50 1.21406 -137.50 167.50 152.50 1.0785 -137.50 167.50 157.50 1.09896 -137.50 167.50 162.50 1.12898 -137.50 167.50 167.50 1.03822 -137.50 167.50 172.50 0.819828 -137.50 167.50 177.50 0.597879 -137.50 167.50 182.50 0.403177 -137.50 167.50 187.50 0.258234 -137.50 167.50 192.50 0.138051 -137.50 167.50 197.50 0.0753126 -137.50 167.50 202.50 0.0671228 -137.50 167.50 207.50 0.125026 -137.50 167.50 212.50 0.270598 -137.50 167.50 217.50 0.534562 -137.50 167.50 222.50 0.917767 -137.50 167.50 227.50 1.28158 -137.50 167.50 232.50 1.37784 -137.50 167.50 237.50 1.21406 -137.50 167.50 242.50 1.0785 -137.50 167.50 247.50 1.09896 -137.50 167.50 252.50 1.12898 -137.50 167.50 257.50 1.03822 -137.50 167.50 262.50 0.819828 -137.50 167.50 267.50 0.597879 -137.50 167.50 272.50 0.403177 -137.50 167.50 277.50 0.258234 -137.50 167.50 282.50 0.138051 -137.50 167.50 287.50 0.0753127 -137.50 167.50 292.50 0.0671229 -137.50 167.50 297.50 0.125026 -137.50 167.50 302.50 0.270597 -137.50 167.50 307.50 0.534562 -137.50 167.50 312.50 0.917766 -137.50 167.50 317.50 1.28158 -137.50 167.50 322.50 1.37784 -137.50 167.50 327.50 1.21406 -137.50 167.50 332.50 1.0785 -137.50 167.50 337.50 1.09896 -137.50 167.50 342.50 1.12898 -137.50 167.50 347.50 1.03822 -137.50 167.50 352.50 0.819828 -137.50 167.50 357.50 0.59788 -137.50 172.50 2.50 0.246673 -137.50 172.50 7.50 0.200771 -137.50 172.50 12.50 0.135628 -137.50 172.50 17.50 0.0755783 -137.50 172.50 22.50 0.0702203 -137.50 172.50 27.50 0.118447 -137.50 172.50 32.50 0.244565 -137.50 172.50 37.50 0.511232 -137.50 172.50 42.50 0.910762 -137.50 172.50 47.50 1.19054 -137.50 172.50 52.50 1.09405 -137.50 172.50 57.50 0.755848 -137.50 172.50 62.50 0.500227 -137.50 172.50 67.50 0.426448 -137.50 172.50 72.50 0.422121 -137.50 172.50 77.50 0.38959 -137.50 172.50 82.50 0.346466 -137.50 172.50 87.50 0.292922 -137.50 172.50 92.50 0.246673 -137.50 172.50 97.50 0.200771 -137.50 172.50 102.50 0.135628 -137.50 172.50 107.50 0.0755782 -137.50 172.50 112.50 0.0702203 -137.50 172.50 117.50 0.118447 -137.50 172.50 122.50 0.244565 -137.50 172.50 127.50 0.511232 -137.50 172.50 132.50 0.910763 -137.50 172.50 137.50 1.19054 -137.50 172.50 142.50 1.09405 -137.50 172.50 147.50 0.755848 -137.50 172.50 152.50 0.500227 -137.50 172.50 157.50 0.426448 -137.50 172.50 162.50 0.422122 -137.50 172.50 167.50 0.38959 -137.50 172.50 172.50 0.346467 -137.50 172.50 177.50 0.292922 -137.50 172.50 182.50 0.246673 -137.50 172.50 187.50 0.200771 -137.50 172.50 192.50 0.135628 -137.50 172.50 197.50 0.0755782 -137.50 172.50 202.50 0.0702204 -137.50 172.50 207.50 0.118447 -137.50 172.50 212.50 0.244565 -137.50 172.50 217.50 0.511231 -137.50 172.50 222.50 0.910761 -137.50 172.50 227.50 1.19054 -137.50 172.50 232.50 1.09405 -137.50 172.50 237.50 0.755848 -137.50 172.50 242.50 0.500227 -137.50 172.50 247.50 0.426448 -137.50 172.50 252.50 0.422122 -137.50 172.50 257.50 0.38959 -137.50 172.50 262.50 0.346466 -137.50 172.50 267.50 0.292922 -137.50 172.50 272.50 0.246673 -137.50 172.50 277.50 0.200771 -137.50 172.50 282.50 0.135628 -137.50 172.50 287.50 0.0755783 -137.50 172.50 292.50 0.0702204 -137.50 172.50 297.50 0.118447 -137.50 172.50 302.50 0.244565 -137.50 172.50 307.50 0.511231 -137.50 172.50 312.50 0.910762 -137.50 172.50 317.50 1.19054 -137.50 172.50 322.50 1.09405 -137.50 172.50 327.50 0.755849 -137.50 172.50 332.50 0.500227 -137.50 172.50 337.50 0.426448 -137.50 172.50 342.50 0.422122 -137.50 172.50 347.50 0.38959 -137.50 172.50 352.50 0.346467 -137.50 172.50 357.50 0.292922 -137.50 177.50 2.50 0.130387 -137.50 177.50 7.50 0.120837 -137.50 177.50 12.50 0.0985687 -137.50 177.50 17.50 0.0706779 -137.50 177.50 22.50 0.0586777 -137.50 177.50 27.50 0.0818355 -137.50 177.50 32.50 0.171415 -137.50 177.50 37.50 0.401306 -137.50 177.50 42.50 0.751726 -137.50 177.50 47.50 0.957657 -137.50 177.50 52.50 0.799663 -137.50 177.50 57.50 0.456806 -137.50 177.50 62.50 0.214872 -137.50 177.50 67.50 0.132724 -137.50 177.50 72.50 0.125308 -137.50 177.50 77.50 0.133174 -137.50 177.50 82.50 0.138326 -137.50 177.50 87.50 0.136291 -137.50 177.50 92.50 0.130387 -137.50 177.50 97.50 0.120837 -137.50 177.50 102.50 0.0985686 -137.50 177.50 107.50 0.0706779 -137.50 177.50 112.50 0.0586777 -137.50 177.50 117.50 0.0818355 -137.50 177.50 122.50 0.171415 -137.50 177.50 127.50 0.401306 -137.50 177.50 132.50 0.751727 -137.50 177.50 137.50 0.957657 -137.50 177.50 142.50 0.799663 -137.50 177.50 147.50 0.456806 -137.50 177.50 152.50 0.214872 -137.50 177.50 157.50 0.132724 -137.50 177.50 162.50 0.125308 -137.50 177.50 167.50 0.133174 -137.50 177.50 172.50 0.138326 -137.50 177.50 177.50 0.136291 -137.50 177.50 182.50 0.130387 -137.50 177.50 187.50 0.120837 -137.50 177.50 192.50 0.0985687 -137.50 177.50 197.50 0.0706778 -137.50 177.50 202.50 0.0586778 -137.50 177.50 207.50 0.0818357 -137.50 177.50 212.50 0.171415 -137.50 177.50 217.50 0.401305 -137.50 177.50 222.50 0.751726 -137.50 177.50 227.50 0.957657 -137.50 177.50 232.50 0.799662 -137.50 177.50 237.50 0.456806 -137.50 177.50 242.50 0.214872 -137.50 177.50 247.50 0.132724 -137.50 177.50 252.50 0.125309 -137.50 177.50 257.50 0.133174 -137.50 177.50 262.50 0.138326 -137.50 177.50 267.50 0.136291 -137.50 177.50 272.50 0.130387 -137.50 177.50 277.50 0.120837 -137.50 177.50 282.50 0.0985687 -137.50 177.50 287.50 0.0706778 -137.50 177.50 292.50 0.0586778 -137.50 177.50 297.50 0.0818357 -137.50 177.50 302.50 0.171415 -137.50 177.50 307.50 0.401305 -137.50 177.50 312.50 0.751726 -137.50 177.50 317.50 0.957657 -137.50 177.50 322.50 0.799664 -137.50 177.50 327.50 0.456807 -137.50 177.50 332.50 0.214872 -137.50 177.50 337.50 0.132724 -137.50 177.50 342.50 0.125309 -137.50 177.50 347.50 0.133174 -137.50 177.50 352.50 0.138326 -137.50 177.50 357.50 0.136291 -142.50 2.50 2.50 0.083846 -142.50 2.50 7.50 0.0760385 -142.50 2.50 12.50 0.0601603 -142.50 2.50 17.50 0.0485219 -142.50 2.50 22.50 0.0624686 -142.50 2.50 27.50 0.149977 -142.50 2.50 32.50 0.393273 -142.50 2.50 37.50 0.773179 -142.50 2.50 42.50 0.980476 -142.50 2.50 47.50 0.773179 -142.50 2.50 52.50 0.393273 -142.50 2.50 57.50 0.149977 -142.50 2.50 62.50 0.0624685 -142.50 2.50 67.50 0.0485219 -142.50 2.50 72.50 0.0601603 -142.50 2.50 77.50 0.0760385 -142.50 2.50 82.50 0.083846 -142.50 2.50 87.50 0.084539 -142.50 2.50 92.50 0.083846 -142.50 2.50 97.50 0.0760385 -142.50 2.50 102.50 0.0601603 -142.50 2.50 107.50 0.0485219 -142.50 2.50 112.50 0.0624686 -142.50 2.50 117.50 0.149977 -142.50 2.50 122.50 0.393273 -142.50 2.50 127.50 0.773179 -142.50 2.50 132.50 0.980476 -142.50 2.50 137.50 0.773178 -142.50 2.50 142.50 0.393273 -142.50 2.50 147.50 0.149977 -142.50 2.50 152.50 0.0624686 -142.50 2.50 157.50 0.0485219 -142.50 2.50 162.50 0.0601603 -142.50 2.50 167.50 0.0760385 -142.50 2.50 172.50 0.083846 -142.50 2.50 177.50 0.084539 -142.50 2.50 182.50 0.083846 -142.50 2.50 187.50 0.0760385 -142.50 2.50 192.50 0.0601603 -142.50 2.50 197.50 0.0485219 -142.50 2.50 202.50 0.0624686 -142.50 2.50 207.50 0.149977 -142.50 2.50 212.50 0.393273 -142.50 2.50 217.50 0.773178 -142.50 2.50 222.50 0.980476 -142.50 2.50 227.50 0.773179 -142.50 2.50 232.50 0.393272 -142.50 2.50 237.50 0.149977 -142.50 2.50 242.50 0.0624685 -142.50 2.50 247.50 0.0485219 -142.50 2.50 252.50 0.0601603 -142.50 2.50 257.50 0.0760386 -142.50 2.50 262.50 0.083846 -142.50 2.50 267.50 0.084539 -142.50 2.50 272.50 0.083846 -142.50 2.50 277.50 0.0760385 -142.50 2.50 282.50 0.0601603 -142.50 2.50 287.50 0.0485219 -142.50 2.50 292.50 0.0624685 -142.50 2.50 297.50 0.149977 -142.50 2.50 302.50 0.393272 -142.50 2.50 307.50 0.773178 -142.50 2.50 312.50 0.980476 -142.50 2.50 317.50 0.773179 -142.50 2.50 322.50 0.393273 -142.50 2.50 327.50 0.149977 -142.50 2.50 332.50 0.0624686 -142.50 2.50 337.50 0.0485219 -142.50 2.50 342.50 0.0601603 -142.50 2.50 347.50 0.0760385 -142.50 2.50 352.50 0.083846 -142.50 2.50 357.50 0.084539 -142.50 7.50 2.50 0.12541 -142.50 7.50 7.50 0.126956 -142.50 7.50 12.50 0.120838 -142.50 7.50 17.50 0.118243 -142.50 7.50 22.50 0.140119 -142.50 7.50 27.50 0.232954 -142.50 7.50 32.50 0.462255 -142.50 7.50 37.50 0.792094 -142.50 7.50 42.50 0.958468 -142.50 7.50 47.50 0.774996 -142.50 7.50 52.50 0.425681 -142.50 7.50 57.50 0.176459 -142.50 7.50 62.50 0.0709711 -142.50 7.50 67.50 0.0483575 -142.50 7.50 72.50 0.0626697 -142.50 7.50 77.50 0.0897009 -142.50 7.50 82.50 0.110057 -142.50 7.50 87.50 0.119002 -142.50 7.50 92.50 0.12541 -142.50 7.50 97.50 0.126956 -142.50 7.50 102.50 0.120838 -142.50 7.50 107.50 0.118243 -142.50 7.50 112.50 0.140119 -142.50 7.50 117.50 0.232954 -142.50 7.50 122.50 0.462256 -142.50 7.50 127.50 0.792093 -142.50 7.50 132.50 0.958468 -142.50 7.50 137.50 0.774995 -142.50 7.50 142.50 0.425681 -142.50 7.50 147.50 0.176459 -142.50 7.50 152.50 0.0709712 -142.50 7.50 157.50 0.0483575 -142.50 7.50 162.50 0.0626697 -142.50 7.50 167.50 0.0897009 -142.50 7.50 172.50 0.110057 -142.50 7.50 177.50 0.119002 -142.50 7.50 182.50 0.12541 -142.50 7.50 187.50 0.126956 -142.50 7.50 192.50 0.120838 -142.50 7.50 197.50 0.118243 -142.50 7.50 202.50 0.140119 -142.50 7.50 207.50 0.232953 -142.50 7.50 212.50 0.462255 -142.50 7.50 217.50 0.792093 -142.50 7.50 222.50 0.958469 -142.50 7.50 227.50 0.774996 -142.50 7.50 232.50 0.42568 -142.50 7.50 237.50 0.176458 -142.50 7.50 242.50 0.0709712 -142.50 7.50 247.50 0.0483576 -142.50 7.50 252.50 0.0626697 -142.50 7.50 257.50 0.0897009 -142.50 7.50 262.50 0.110057 -142.50 7.50 267.50 0.119002 -142.50 7.50 272.50 0.12541 -142.50 7.50 277.50 0.126956 -142.50 7.50 282.50 0.120838 -142.50 7.50 287.50 0.118243 -142.50 7.50 292.50 0.140119 -142.50 7.50 297.50 0.232953 -142.50 7.50 302.50 0.462255 -142.50 7.50 307.50 0.792093 -142.50 7.50 312.50 0.958469 -142.50 7.50 317.50 0.774996 -142.50 7.50 322.50 0.425682 -142.50 7.50 327.50 0.176459 -142.50 7.50 332.50 0.0709714 -142.50 7.50 337.50 0.0483576 -142.50 7.50 342.50 0.0626696 -142.50 7.50 347.50 0.0897009 -142.50 7.50 352.50 0.110057 -142.50 7.50 357.50 0.119002 -142.50 12.50 2.50 0.244556 -142.50 12.50 7.50 0.291898 -142.50 12.50 12.50 0.329846 -142.50 12.50 17.50 0.362094 -142.50 12.50 22.50 0.416338 -142.50 12.50 27.50 0.526487 -142.50 12.50 32.50 0.777773 -142.50 12.50 37.50 1.10121 -142.50 12.50 42.50 1.21402 -142.50 12.50 47.50 0.953291 -142.50 12.50 52.50 0.541711 -142.50 12.50 57.50 0.244358 -142.50 12.50 62.50 0.102745 -142.50 12.50 67.50 0.0569904 -142.50 12.50 72.50 0.0673724 -142.50 12.50 77.50 0.108297 -142.50 12.50 82.50 0.164515 -142.50 12.50 87.50 0.204062 -142.50 12.50 92.50 0.244556 -142.50 12.50 97.50 0.291897 -142.50 12.50 102.50 0.329846 -142.50 12.50 107.50 0.362094 -142.50 12.50 112.50 0.416338 -142.50 12.50 117.50 0.526487 -142.50 12.50 122.50 0.777773 -142.50 12.50 127.50 1.10121 -142.50 12.50 132.50 1.21402 -142.50 12.50 137.50 0.953291 -142.50 12.50 142.50 0.541711 -142.50 12.50 147.50 0.244358 -142.50 12.50 152.50 0.102746 -142.50 12.50 157.50 0.0569904 -142.50 12.50 162.50 0.0673723 -142.50 12.50 167.50 0.108297 -142.50 12.50 172.50 0.164515 -142.50 12.50 177.50 0.204062 -142.50 12.50 182.50 0.244556 -142.50 12.50 187.50 0.291898 -142.50 12.50 192.50 0.329846 -142.50 12.50 197.50 0.362094 -142.50 12.50 202.50 0.416338 -142.50 12.50 207.50 0.526486 -142.50 12.50 212.50 0.777773 -142.50 12.50 217.50 1.10121 -142.50 12.50 222.50 1.21402 -142.50 12.50 227.50 0.953291 -142.50 12.50 232.50 0.54171 -142.50 12.50 237.50 0.244357 -142.50 12.50 242.50 0.102746 -142.50 12.50 247.50 0.0569905 -142.50 12.50 252.50 0.0673724 -142.50 12.50 257.50 0.108297 -142.50 12.50 262.50 0.164515 -142.50 12.50 267.50 0.204062 -142.50 12.50 272.50 0.244556 -142.50 12.50 277.50 0.291898 -142.50 12.50 282.50 0.329846 -142.50 12.50 287.50 0.362094 -142.50 12.50 292.50 0.416338 -142.50 12.50 297.50 0.526486 -142.50 12.50 302.50 0.777772 -142.50 12.50 307.50 1.10121 -142.50 12.50 312.50 1.21402 -142.50 12.50 317.50 0.953291 -142.50 12.50 322.50 0.541712 -142.50 12.50 327.50 0.244358 -142.50 12.50 332.50 0.102746 -142.50 12.50 337.50 0.0569905 -142.50 12.50 342.50 0.0673723 -142.50 12.50 347.50 0.108297 -142.50 12.50 352.50 0.164515 -142.50 12.50 357.50 0.204062 -142.50 17.50 2.50 0.460877 -142.50 17.50 7.50 0.652798 -142.50 17.50 12.50 0.816206 -142.50 17.50 17.50 0.968019 -142.50 17.50 22.50 1.04354 -142.50 17.50 27.50 1.10149 -142.50 17.50 32.50 1.25223 -142.50 17.50 37.50 1.42006 -142.50 17.50 42.50 1.33987 -142.50 17.50 47.50 0.970132 -142.50 17.50 52.50 0.554866 -142.50 17.50 57.50 0.268721 -142.50 17.50 62.50 0.1105 -142.50 17.50 67.50 0.0515304 -142.50 17.50 72.50 0.0626107 -142.50 17.50 77.50 0.118854 -142.50 17.50 82.50 0.192319 -142.50 17.50 87.50 0.30253 -142.50 17.50 92.50 0.460876 -142.50 17.50 97.50 0.652798 -142.50 17.50 102.50 0.816206 -142.50 17.50 107.50 0.968019 -142.50 17.50 112.50 1.04354 -142.50 17.50 117.50 1.10149 -142.50 17.50 122.50 1.25223 -142.50 17.50 127.50 1.42006 -142.50 17.50 132.50 1.33987 -142.50 17.50 137.50 0.970133 -142.50 17.50 142.50 0.554866 -142.50 17.50 147.50 0.268721 -142.50 17.50 152.50 0.110501 -142.50 17.50 157.50 0.0515304 -142.50 17.50 162.50 0.0626106 -142.50 17.50 167.50 0.118854 -142.50 17.50 172.50 0.192319 -142.50 17.50 177.50 0.30253 -142.50 17.50 182.50 0.460877 -142.50 17.50 187.50 0.652797 -142.50 17.50 192.50 0.816206 -142.50 17.50 197.50 0.968019 -142.50 17.50 202.50 1.04354 -142.50 17.50 207.50 1.10149 -142.50 17.50 212.50 1.25223 -142.50 17.50 217.50 1.42006 -142.50 17.50 222.50 1.33987 -142.50 17.50 227.50 0.970133 -142.50 17.50 232.50 0.554865 -142.50 17.50 237.50 0.268721 -142.50 17.50 242.50 0.1105 -142.50 17.50 247.50 0.0515304 -142.50 17.50 252.50 0.0626107 -142.50 17.50 257.50 0.118854 -142.50 17.50 262.50 0.192319 -142.50 17.50 267.50 0.30253 -142.50 17.50 272.50 0.460877 -142.50 17.50 277.50 0.652798 -142.50 17.50 282.50 0.816206 -142.50 17.50 287.50 0.968019 -142.50 17.50 292.50 1.04354 -142.50 17.50 297.50 1.10149 -142.50 17.50 302.50 1.25223 -142.50 17.50 307.50 1.42006 -142.50 17.50 312.50 1.33987 -142.50 17.50 317.50 0.970133 -142.50 17.50 322.50 0.554866 -142.50 17.50 327.50 0.268721 -142.50 17.50 332.50 0.110501 -142.50 17.50 337.50 0.0515304 -142.50 17.50 342.50 0.0626106 -142.50 17.50 347.50 0.118854 -142.50 17.50 352.50 0.192319 -142.50 17.50 357.50 0.30253 -142.50 22.50 2.50 0.865462 -142.50 22.50 7.50 1.38244 -142.50 22.50 12.50 1.8292 -142.50 22.50 17.50 2.05423 -142.50 22.50 22.50 2.04577 -142.50 22.50 27.50 1.89594 -142.50 22.50 32.50 1.76641 -142.50 22.50 37.50 1.62272 -142.50 22.50 42.50 1.30256 -142.50 22.50 47.50 0.847794 -142.50 22.50 52.50 0.456507 -142.50 22.50 57.50 0.206481 -142.50 22.50 62.50 0.0784521 -142.50 22.50 67.50 0.0302528 -142.50 22.50 72.50 0.036608 -142.50 22.50 77.50 0.093295 -142.50 22.50 82.50 0.202848 -142.50 22.50 87.50 0.430564 -142.50 22.50 92.50 0.865462 -142.50 22.50 97.50 1.38244 -142.50 22.50 102.50 1.8292 -142.50 22.50 107.50 2.05423 -142.50 22.50 112.50 2.04577 -142.50 22.50 117.50 1.89594 -142.50 22.50 122.50 1.76641 -142.50 22.50 127.50 1.62272 -142.50 22.50 132.50 1.30256 -142.50 22.50 137.50 0.847795 -142.50 22.50 142.50 0.456506 -142.50 22.50 147.50 0.206481 -142.50 22.50 152.50 0.0784523 -142.50 22.50 157.50 0.0302528 -142.50 22.50 162.50 0.036608 -142.50 22.50 167.50 0.0932949 -142.50 22.50 172.50 0.202847 -142.50 22.50 177.50 0.430563 -142.50 22.50 182.50 0.865462 -142.50 22.50 187.50 1.38244 -142.50 22.50 192.50 1.8292 -142.50 22.50 197.50 2.05423 -142.50 22.50 202.50 2.04577 -142.50 22.50 207.50 1.89594 -142.50 22.50 212.50 1.76641 -142.50 22.50 217.50 1.62272 -142.50 22.50 222.50 1.30256 -142.50 22.50 227.50 0.847795 -142.50 22.50 232.50 0.456506 -142.50 22.50 237.50 0.206481 -142.50 22.50 242.50 0.0784522 -142.50 22.50 247.50 0.0302528 -142.50 22.50 252.50 0.036608 -142.50 22.50 257.50 0.0932952 -142.50 22.50 262.50 0.202848 -142.50 22.50 267.50 0.430564 -142.50 22.50 272.50 0.865462 -142.50 22.50 277.50 1.38244 -142.50 22.50 282.50 1.8292 -142.50 22.50 287.50 2.05423 -142.50 22.50 292.50 2.04577 -142.50 22.50 297.50 1.89594 -142.50 22.50 302.50 1.76641 -142.50 22.50 307.50 1.62272 -142.50 22.50 312.50 1.30256 -142.50 22.50 317.50 0.847795 -142.50 22.50 322.50 0.456507 -142.50 22.50 327.50 0.206482 -142.50 22.50 332.50 0.0784525 -142.50 22.50 337.50 0.0302528 -142.50 22.50 342.50 0.0366078 -142.50 22.50 347.50 0.0932948 -142.50 22.50 352.50 0.202847 -142.50 22.50 357.50 0.430563 -142.50 27.50 2.50 1.46809 -142.50 27.50 7.50 2.50208 -142.50 27.50 12.50 3.31096 -142.50 27.50 17.50 3.52194 -142.50 27.50 22.50 3.1379 -142.50 27.50 27.50 2.5845 -142.50 27.50 32.50 2.10945 -142.50 27.50 37.50 1.61011 -142.50 27.50 42.50 1.09447 -142.50 27.50 47.50 0.60778 -142.50 27.50 52.50 0.295948 -142.50 27.50 57.50 0.121999 -142.50 27.50 62.50 0.0369168 -142.50 27.50 67.50 0.0123625 -142.50 27.50 72.50 0.0183379 -142.50 27.50 77.50 0.0670519 -142.50 27.50 82.50 0.227896 -142.50 27.50 87.50 0.620966 -142.50 27.50 92.50 1.46809 -142.50 27.50 97.50 2.50208 -142.50 27.50 102.50 3.31096 -142.50 27.50 107.50 3.52194 -142.50 27.50 112.50 3.1379 -142.50 27.50 117.50 2.5845 -142.50 27.50 122.50 2.10945 -142.50 27.50 127.50 1.61011 -142.50 27.50 132.50 1.09447 -142.50 27.50 137.50 0.60778 -142.50 27.50 142.50 0.295948 -142.50 27.50 147.50 0.121999 -142.50 27.50 152.50 0.0369169 -142.50 27.50 157.50 0.0123625 -142.50 27.50 162.50 0.0183379 -142.50 27.50 167.50 0.0670519 -142.50 27.50 172.50 0.227896 -142.50 27.50 177.50 0.620965 -142.50 27.50 182.50 1.46809 -142.50 27.50 187.50 2.50208 -142.50 27.50 192.50 3.31096 -142.50 27.50 197.50 3.52194 -142.50 27.50 202.50 3.1379 -142.50 27.50 207.50 2.5845 -142.50 27.50 212.50 2.10945 -142.50 27.50 217.50 1.61011 -142.50 27.50 222.50 1.09447 -142.50 27.50 227.50 0.60778 -142.50 27.50 232.50 0.295948 -142.50 27.50 237.50 0.121998 -142.50 27.50 242.50 0.0369168 -142.50 27.50 247.50 0.0123625 -142.50 27.50 252.50 0.0183379 -142.50 27.50 257.50 0.0670521 -142.50 27.50 262.50 0.227897 -142.50 27.50 267.50 0.620966 -142.50 27.50 272.50 1.46809 -142.50 27.50 277.50 2.50208 -142.50 27.50 282.50 3.31096 -142.50 27.50 287.50 3.52195 -142.50 27.50 292.50 3.1379 -142.50 27.50 297.50 2.5845 -142.50 27.50 302.50 2.10945 -142.50 27.50 307.50 1.61011 -142.50 27.50 312.50 1.09447 -142.50 27.50 317.50 0.60778 -142.50 27.50 322.50 0.295949 -142.50 27.50 327.50 0.121999 -142.50 27.50 332.50 0.036917 -142.50 27.50 337.50 0.0123625 -142.50 27.50 342.50 0.0183378 -142.50 27.50 347.50 0.0670517 -142.50 27.50 352.50 0.227896 -142.50 27.50 357.50 0.620964 -142.50 32.50 2.50 2.09891 -142.50 32.50 7.50 3.6603 -142.50 32.50 12.50 4.76941 -142.50 32.50 17.50 4.86415 -142.50 32.50 22.50 3.92309 -142.50 32.50 27.50 2.88773 -142.50 32.50 32.50 2.00439 -142.50 32.50 37.50 1.33779 -142.50 32.50 42.50 0.781111 -142.50 32.50 47.50 0.374034 -142.50 32.50 52.50 0.149517 -142.50 32.50 57.50 0.0565719 -142.50 32.50 62.50 0.0167838 -142.50 32.50 67.50 0.00703296 -142.50 32.50 72.50 0.0201629 -142.50 32.50 77.50 0.0728056 -142.50 32.50 82.50 0.300781 -142.50 32.50 87.50 0.876376 -142.50 32.50 92.50 2.09891 -142.50 32.50 97.50 3.6603 -142.50 32.50 102.50 4.76941 -142.50 32.50 107.50 4.86415 -142.50 32.50 112.50 3.92309 -142.50 32.50 117.50 2.88773 -142.50 32.50 122.50 2.00439 -142.50 32.50 127.50 1.33779 -142.50 32.50 132.50 0.781111 -142.50 32.50 137.50 0.374034 -142.50 32.50 142.50 0.149517 -142.50 32.50 147.50 0.0565719 -142.50 32.50 152.50 0.0167838 -142.50 32.50 157.50 0.00703294 -142.50 32.50 162.50 0.0201629 -142.50 32.50 167.50 0.0728054 -142.50 32.50 172.50 0.300781 -142.50 32.50 177.50 0.876376 -142.50 32.50 182.50 2.09891 -142.50 32.50 187.50 3.6603 -142.50 32.50 192.50 4.76941 -142.50 32.50 197.50 4.86415 -142.50 32.50 202.50 3.92309 -142.50 32.50 207.50 2.88773 -142.50 32.50 212.50 2.00439 -142.50 32.50 217.50 1.33779 -142.50 32.50 222.50 0.781112 -142.50 32.50 227.50 0.374034 -142.50 32.50 232.50 0.149517 -142.50 32.50 237.50 0.0565719 -142.50 32.50 242.50 0.0167838 -142.50 32.50 247.50 0.00703296 -142.50 32.50 252.50 0.0201629 -142.50 32.50 257.50 0.0728057 -142.50 32.50 262.50 0.300781 -142.50 32.50 267.50 0.876378 -142.50 32.50 272.50 2.09891 -142.50 32.50 277.50 3.6603 -142.50 32.50 282.50 4.76941 -142.50 32.50 287.50 4.86415 -142.50 32.50 292.50 3.92309 -142.50 32.50 297.50 2.88773 -142.50 32.50 302.50 2.00439 -142.50 32.50 307.50 1.33779 -142.50 32.50 312.50 0.781112 -142.50 32.50 317.50 0.374034 -142.50 32.50 322.50 0.149518 -142.50 32.50 327.50 0.0565721 -142.50 32.50 332.50 0.0167838 -142.50 32.50 337.50 0.00703295 -142.50 32.50 342.50 0.0201629 -142.50 32.50 347.50 0.0728054 -142.50 32.50 352.50 0.30078 -142.50 32.50 357.50 0.876374 -142.50 37.50 2.50 2.5719 -142.50 37.50 7.50 4.33165 -142.50 37.50 12.50 5.56069 -142.50 37.50 17.50 5.38265 -142.50 37.50 22.50 4.15187 -142.50 37.50 27.50 2.7557 -142.50 37.50 32.50 1.68935 -142.50 37.50 37.50 0.949381 -142.50 37.50 42.50 0.452484 -142.50 37.50 47.50 0.179554 -142.50 37.50 52.50 0.0612543 -142.50 37.50 57.50 0.0182778 -142.50 37.50 62.50 0.00792701 -142.50 37.50 67.50 0.0133018 -142.50 37.50 72.50 0.043142 -142.50 37.50 77.50 0.135582 -142.50 37.50 82.50 0.434885 -142.50 37.50 87.50 1.19069 -142.50 37.50 92.50 2.5719 -142.50 37.50 97.50 4.33166 -142.50 37.50 102.50 5.56069 -142.50 37.50 107.50 5.38265 -142.50 37.50 112.50 4.15187 -142.50 37.50 117.50 2.7557 -142.50 37.50 122.50 1.68934 -142.50 37.50 127.50 0.949381 -142.50 37.50 132.50 0.452483 -142.50 37.50 137.50 0.179555 -142.50 37.50 142.50 0.0612543 -142.50 37.50 147.50 0.0182778 -142.50 37.50 152.50 0.00792702 -142.50 37.50 157.50 0.0133018 -142.50 37.50 162.50 0.0431419 -142.50 37.50 167.50 0.135581 -142.50 37.50 172.50 0.434884 -142.50 37.50 177.50 1.19068 -142.50 37.50 182.50 2.5719 -142.50 37.50 187.50 4.33166 -142.50 37.50 192.50 5.56069 -142.50 37.50 197.50 5.38265 -142.50 37.50 202.50 4.15186 -142.50 37.50 207.50 2.7557 -142.50 37.50 212.50 1.68934 -142.50 37.50 217.50 0.949381 -142.50 37.50 222.50 0.452484 -142.50 37.50 227.50 0.179555 -142.50 37.50 232.50 0.0612542 -142.50 37.50 237.50 0.0182778 -142.50 37.50 242.50 0.00792701 -142.50 37.50 247.50 0.0133018 -142.50 37.50 252.50 0.0431421 -142.50 37.50 257.50 0.135582 -142.50 37.50 262.50 0.434885 -142.50 37.50 267.50 1.19069 -142.50 37.50 272.50 2.5719 -142.50 37.50 277.50 4.33165 -142.50 37.50 282.50 5.56069 -142.50 37.50 287.50 5.38265 -142.50 37.50 292.50 4.15187 -142.50 37.50 297.50 2.7557 -142.50 37.50 302.50 1.68935 -142.50 37.50 307.50 0.949382 -142.50 37.50 312.50 0.452484 -142.50 37.50 317.50 0.179555 -142.50 37.50 322.50 0.0612544 -142.50 37.50 327.50 0.0182779 -142.50 37.50 332.50 0.00792702 -142.50 37.50 337.50 0.0133018 -142.50 37.50 342.50 0.0431419 -142.50 37.50 347.50 0.135581 -142.50 37.50 352.50 0.434883 -142.50 37.50 357.50 1.19068 -142.50 42.50 2.50 2.82217 -142.50 42.50 7.50 4.3162 -142.50 42.50 12.50 5.35102 -142.50 42.50 17.50 4.97107 -142.50 42.50 22.50 3.64188 -142.50 42.50 27.50 2.23132 -142.50 42.50 32.50 1.25833 -142.50 42.50 37.50 0.596383 -142.50 42.50 42.50 0.216742 -142.50 42.50 47.50 0.0618671 -142.50 42.50 52.50 0.0178265 -142.50 42.50 57.50 0.00804478 -142.50 42.50 62.50 0.0157734 -142.50 42.50 67.50 0.0429414 -142.50 42.50 72.50 0.106825 -142.50 42.50 77.50 0.275822 -142.50 42.50 82.50 0.670173 -142.50 42.50 87.50 1.54074 -142.50 42.50 92.50 2.82217 -142.50 42.50 97.50 4.3162 -142.50 42.50 102.50 5.35102 -142.50 42.50 107.50 4.97107 -142.50 42.50 112.50 3.64188 -142.50 42.50 117.50 2.23132 -142.50 42.50 122.50 1.25833 -142.50 42.50 127.50 0.596383 -142.50 42.50 132.50 0.216741 -142.50 42.50 137.50 0.061867 -142.50 42.50 142.50 0.0178265 -142.50 42.50 147.50 0.00804477 -142.50 42.50 152.50 0.0157733 -142.50 42.50 157.50 0.0429413 -142.50 42.50 162.50 0.106825 -142.50 42.50 167.50 0.275822 -142.50 42.50 172.50 0.670172 -142.50 42.50 177.50 1.54074 -142.50 42.50 182.50 2.82217 -142.50 42.50 187.50 4.31621 -142.50 42.50 192.50 5.35102 -142.50 42.50 197.50 4.97107 -142.50 42.50 202.50 3.64188 -142.50 42.50 207.50 2.23132 -142.50 42.50 212.50 1.25833 -142.50 42.50 217.50 0.596384 -142.50 42.50 222.50 0.216742 -142.50 42.50 227.50 0.0618672 -142.50 42.50 232.50 0.0178264 -142.50 42.50 237.50 0.00804477 -142.50 42.50 242.50 0.0157734 -142.50 42.50 247.50 0.0429413 -142.50 42.50 252.50 0.106825 -142.50 42.50 257.50 0.275822 -142.50 42.50 262.50 0.670173 -142.50 42.50 267.50 1.54075 -142.50 42.50 272.50 2.82217 -142.50 42.50 277.50 4.3162 -142.50 42.50 282.50 5.35102 -142.50 42.50 287.50 4.97107 -142.50 42.50 292.50 3.64188 -142.50 42.50 297.50 2.23132 -142.50 42.50 302.50 1.25833 -142.50 42.50 307.50 0.596384 -142.50 42.50 312.50 0.216742 -142.50 42.50 317.50 0.0618672 -142.50 42.50 322.50 0.0178265 -142.50 42.50 327.50 0.00804478 -142.50 42.50 332.50 0.0157733 -142.50 42.50 337.50 0.0429412 -142.50 42.50 342.50 0.106825 -142.50 42.50 347.50 0.275821 -142.50 42.50 352.50 0.670171 -142.50 42.50 357.50 1.54074 -142.50 47.50 2.50 2.89161 -142.50 47.50 7.50 3.79369 -142.50 47.50 12.50 4.35753 -142.50 47.50 17.50 3.83832 -142.50 47.50 22.50 2.60093 -142.50 47.50 27.50 1.45077 -142.50 47.50 32.50 0.782797 -142.50 47.50 37.50 0.32591 -142.50 47.50 42.50 0.0932611 -142.50 47.50 47.50 0.0241607 -142.50 47.50 52.50 0.00780603 -142.50 47.50 57.50 0.0237158 -142.50 47.50 62.50 0.0687427 -142.50 47.50 67.50 0.157549 -142.50 47.50 72.50 0.285512 -142.50 47.50 77.50 0.558398 -142.50 47.50 82.50 1.08401 -142.50 47.50 87.50 1.94107 -142.50 47.50 92.50 2.89161 -142.50 47.50 97.50 3.79369 -142.50 47.50 102.50 4.35753 -142.50 47.50 107.50 3.83832 -142.50 47.50 112.50 2.60093 -142.50 47.50 117.50 1.45077 -142.50 47.50 122.50 0.782797 -142.50 47.50 127.50 0.32591 -142.50 47.50 132.50 0.0932611 -142.50 47.50 137.50 0.0241607 -142.50 47.50 142.50 0.00780603 -142.50 47.50 147.50 0.0237158 -142.50 47.50 152.50 0.0687426 -142.50 47.50 157.50 0.157549 -142.50 47.50 162.50 0.285512 -142.50 47.50 167.50 0.558397 -142.50 47.50 172.50 1.08401 -142.50 47.50 177.50 1.94106 -142.50 47.50 182.50 2.89161 -142.50 47.50 187.50 3.79369 -142.50 47.50 192.50 4.35753 -142.50 47.50 197.50 3.83832 -142.50 47.50 202.50 2.60093 -142.50 47.50 207.50 1.45077 -142.50 47.50 212.50 0.782798 -142.50 47.50 217.50 0.32591 -142.50 47.50 222.50 0.0932612 -142.50 47.50 227.50 0.0241607 -142.50 47.50 232.50 0.00780604 -142.50 47.50 237.50 0.0237158 -142.50 47.50 242.50 0.0687427 -142.50 47.50 247.50 0.157549 -142.50 47.50 252.50 0.285512 -142.50 47.50 257.50 0.558398 -142.50 47.50 262.50 1.08401 -142.50 47.50 267.50 1.94107 -142.50 47.50 272.50 2.8916 -142.50 47.50 277.50 3.79369 -142.50 47.50 282.50 4.35753 -142.50 47.50 287.50 3.83832 -142.50 47.50 292.50 2.60093 -142.50 47.50 297.50 1.45077 -142.50 47.50 302.50 0.782798 -142.50 47.50 307.50 0.325911 -142.50 47.50 312.50 0.0932613 -142.50 47.50 317.50 0.0241607 -142.50 47.50 322.50 0.00780603 -142.50 47.50 327.50 0.0237158 -142.50 47.50 332.50 0.0687426 -142.50 47.50 337.50 0.157549 -142.50 47.50 342.50 0.285512 -142.50 47.50 347.50 0.558397 -142.50 47.50 352.50 1.08401 -142.50 47.50 357.50 1.94106 -142.50 52.50 2.50 2.82217 -142.50 52.50 7.50 2.99596 -142.50 52.50 12.50 2.97992 -142.50 52.50 17.50 2.402 -142.50 52.50 22.50 1.47191 -142.50 52.50 27.50 0.7556 -142.50 52.50 32.50 0.342599 -142.50 52.50 37.50 0.138524 -142.50 52.50 42.50 0.0405055 -142.50 52.50 47.50 0.0114427 -142.50 52.50 52.50 0.0219398 -142.50 52.50 57.50 0.0890095 -142.50 52.50 62.50 0.242745 -142.50 52.50 67.50 0.491642 -142.50 52.50 72.50 0.760874 -142.50 52.50 77.50 1.12415 -142.50 52.50 82.50 1.74843 -142.50 52.50 87.50 2.41433 -142.50 52.50 92.50 2.82217 -142.50 52.50 97.50 2.99595 -142.50 52.50 102.50 2.97992 -142.50 52.50 107.50 2.40201 -142.50 52.50 112.50 1.47191 -142.50 52.50 117.50 0.755599 -142.50 52.50 122.50 0.342598 -142.50 52.50 127.50 0.138524 -142.50 52.50 132.50 0.0405054 -142.50 52.50 137.50 0.0114427 -142.50 52.50 142.50 0.0219398 -142.50 52.50 147.50 0.0890094 -142.50 52.50 152.50 0.242744 -142.50 52.50 157.50 0.491641 -142.50 52.50 162.50 0.760873 -142.50 52.50 167.50 1.12415 -142.50 52.50 172.50 1.74843 -142.50 52.50 177.50 2.41432 -142.50 52.50 182.50 2.82218 -142.50 52.50 187.50 2.99596 -142.50 52.50 192.50 2.97992 -142.50 52.50 197.50 2.402 -142.50 52.50 202.50 1.47191 -142.50 52.50 207.50 0.7556 -142.50 52.50 212.50 0.342599 -142.50 52.50 217.50 0.138524 -142.50 52.50 222.50 0.0405055 -142.50 52.50 227.50 0.0114427 -142.50 52.50 232.50 0.0219399 -142.50 52.50 237.50 0.0890097 -142.50 52.50 242.50 0.242744 -142.50 52.50 247.50 0.491642 -142.50 52.50 252.50 0.760874 -142.50 52.50 257.50 1.12416 -142.50 52.50 262.50 1.74843 -142.50 52.50 267.50 2.41432 -142.50 52.50 272.50 2.82217 -142.50 52.50 277.50 2.99595 -142.50 52.50 282.50 2.97992 -142.50 52.50 287.50 2.402 -142.50 52.50 292.50 1.47191 -142.50 52.50 297.50 0.755601 -142.50 52.50 302.50 0.342599 -142.50 52.50 307.50 0.138524 -142.50 52.50 312.50 0.0405055 -142.50 52.50 317.50 0.0114427 -142.50 52.50 322.50 0.0219398 -142.50 52.50 327.50 0.0890093 -142.50 52.50 332.50 0.242744 -142.50 52.50 337.50 0.491642 -142.50 52.50 342.50 0.760873 -142.50 52.50 347.50 1.12415 -142.50 52.50 352.50 1.74843 -142.50 52.50 357.50 2.41432 -142.50 57.50 2.50 2.5719 -142.50 57.50 7.50 2.08931 -142.50 57.50 12.50 1.63143 -142.50 57.50 17.50 1.10588 -142.50 57.50 22.50 0.615192 -142.50 57.50 27.50 0.29078 -142.50 57.50 32.50 0.120328 -142.50 57.50 37.50 0.0472002 -142.50 57.50 42.50 0.0213053 -142.50 57.50 47.50 0.0340315 -142.50 57.50 52.50 0.0922263 -142.50 57.50 57.50 0.272029 -142.50 57.50 62.50 0.627871 -142.50 57.50 67.50 1.1403 -142.50 57.50 72.50 1.69912 -142.50 57.50 77.50 2.1554 -142.50 57.50 82.50 2.61427 -142.50 57.50 87.50 2.88087 -142.50 57.50 92.50 2.5719 -142.50 57.50 97.50 2.08931 -142.50 57.50 102.50 1.63143 -142.50 57.50 107.50 1.10588 -142.50 57.50 112.50 0.615192 -142.50 57.50 117.50 0.29078 -142.50 57.50 122.50 0.120328 -142.50 57.50 127.50 0.0472001 -142.50 57.50 132.50 0.0213053 -142.50 57.50 137.50 0.0340315 -142.50 57.50 142.50 0.0922263 -142.50 57.50 147.50 0.272029 -142.50 57.50 152.50 0.62787 -142.50 57.50 157.50 1.1403 -142.50 57.50 162.50 1.69911 -142.50 57.50 167.50 2.1554 -142.50 57.50 172.50 2.61427 -142.50 57.50 177.50 2.88087 -142.50 57.50 182.50 2.5719 -142.50 57.50 187.50 2.08931 -142.50 57.50 192.50 1.63143 -142.50 57.50 197.50 1.10588 -142.50 57.50 202.50 0.615192 -142.50 57.50 207.50 0.29078 -142.50 57.50 212.50 0.120328 -142.50 57.50 217.50 0.0472002 -142.50 57.50 222.50 0.0213053 -142.50 57.50 227.50 0.0340315 -142.50 57.50 232.50 0.0922268 -142.50 57.50 237.50 0.272029 -142.50 57.50 242.50 0.627871 -142.50 57.50 247.50 1.1403 -142.50 57.50 252.50 1.69912 -142.50 57.50 257.50 2.1554 -142.50 57.50 262.50 2.61427 -142.50 57.50 267.50 2.88087 -142.50 57.50 272.50 2.5719 -142.50 57.50 277.50 2.08931 -142.50 57.50 282.50 1.63143 -142.50 57.50 287.50 1.10588 -142.50 57.50 292.50 0.615192 -142.50 57.50 297.50 0.290781 -142.50 57.50 302.50 0.120328 -142.50 57.50 307.50 0.0472002 -142.50 57.50 312.50 0.0213053 -142.50 57.50 317.50 0.0340315 -142.50 57.50 322.50 0.0922262 -142.50 57.50 327.50 0.272029 -142.50 57.50 332.50 0.62787 -142.50 57.50 337.50 1.1403 -142.50 57.50 342.50 1.69911 -142.50 57.50 347.50 2.1554 -142.50 57.50 352.50 2.61427 -142.50 57.50 357.50 2.88087 -142.50 62.50 2.50 2.09891 -142.50 62.50 7.50 1.29488 -142.50 62.50 12.50 0.716828 -142.50 62.50 17.50 0.388318 -142.50 62.50 22.50 0.177979 -142.50 62.50 27.50 0.0769286 -142.50 62.50 32.50 0.0354014 -142.50 62.50 37.50 0.0268446 -142.50 62.50 42.50 0.0414453 -142.50 62.50 47.50 0.115115 -142.50 62.50 52.50 0.322303 -142.50 62.50 57.50 0.737197 -142.50 62.50 62.50 1.36584 -142.50 62.50 67.50 2.16851 -142.50 62.50 72.50 2.95149 -142.50 62.50 77.50 3.28472 -142.50 62.50 82.50 3.34241 -142.50 62.50 87.50 3.04219 -142.50 62.50 92.50 2.09891 -142.50 62.50 97.50 1.29488 -142.50 62.50 102.50 0.716828 -142.50 62.50 107.50 0.388318 -142.50 62.50 112.50 0.177978 -142.50 62.50 117.50 0.0769284 -142.50 62.50 122.50 0.0354013 -142.50 62.50 127.50 0.0268446 -142.50 62.50 132.50 0.0414452 -142.50 62.50 137.50 0.115115 -142.50 62.50 142.50 0.322303 -142.50 62.50 147.50 0.737197 -142.50 62.50 152.50 1.36584 -142.50 62.50 157.50 2.16851 -142.50 62.50 162.50 2.95149 -142.50 62.50 167.50 3.28472 -142.50 62.50 172.50 3.34241 -142.50 62.50 177.50 3.04219 -142.50 62.50 182.50 2.09891 -142.50 62.50 187.50 1.29488 -142.50 62.50 192.50 0.716827 -142.50 62.50 197.50 0.388318 -142.50 62.50 202.50 0.177978 -142.50 62.50 207.50 0.0769285 -142.50 62.50 212.50 0.0354014 -142.50 62.50 217.50 0.0268446 -142.50 62.50 222.50 0.0414453 -142.50 62.50 227.50 0.115115 -142.50 62.50 232.50 0.322303 -142.50 62.50 237.50 0.737198 -142.50 62.50 242.50 1.36584 -142.50 62.50 247.50 2.16851 -142.50 62.50 252.50 2.95149 -142.50 62.50 257.50 3.28472 -142.50 62.50 262.50 3.34241 -142.50 62.50 267.50 3.04219 -142.50 62.50 272.50 2.09891 -142.50 62.50 277.50 1.29488 -142.50 62.50 282.50 0.716827 -142.50 62.50 287.50 0.388318 -142.50 62.50 292.50 0.177979 -142.50 62.50 297.50 0.0769287 -142.50 62.50 302.50 0.0354014 -142.50 62.50 307.50 0.0268446 -142.50 62.50 312.50 0.0414453 -142.50 62.50 317.50 0.115115 -142.50 62.50 322.50 0.322302 -142.50 62.50 327.50 0.737196 -142.50 62.50 332.50 1.36584 -142.50 62.50 337.50 2.16851 -142.50 62.50 342.50 2.95149 -142.50 62.50 347.50 3.28472 -142.50 62.50 352.50 3.34241 -142.50 62.50 357.50 3.04219 -142.50 67.50 2.50 1.46809 -142.50 67.50 7.50 0.717389 -142.50 67.50 12.50 0.294579 -142.50 67.50 17.50 0.113132 -142.50 67.50 22.50 0.0407373 -142.50 67.50 27.50 0.014683 -142.50 67.50 32.50 0.0165972 -142.50 67.50 37.50 0.0359556 -142.50 67.50 42.50 0.111848 -142.50 67.50 47.50 0.347313 -142.50 67.50 52.50 0.799248 -142.50 67.50 57.50 1.48181 -142.50 67.50 62.50 2.44198 -142.50 67.50 67.50 3.45573 -142.50 67.50 72.50 4.01288 -142.50 67.50 77.50 3.88848 -142.50 67.50 82.50 3.43339 -142.50 67.50 87.50 2.6495 -142.50 67.50 92.50 1.46809 -142.50 67.50 97.50 0.717389 -142.50 67.50 102.50 0.294579 -142.50 67.50 107.50 0.113132 -142.50 67.50 112.50 0.0407373 -142.50 67.50 117.50 0.014683 -142.50 67.50 122.50 0.0165972 -142.50 67.50 127.50 0.0359556 -142.50 67.50 132.50 0.111848 -142.50 67.50 137.50 0.347313 -142.50 67.50 142.50 0.799248 -142.50 67.50 147.50 1.48181 -142.50 67.50 152.50 2.44198 -142.50 67.50 157.50 3.45573 -142.50 67.50 162.50 4.01288 -142.50 67.50 167.50 3.88848 -142.50 67.50 172.50 3.43339 -142.50 67.50 177.50 2.6495 -142.50 67.50 182.50 1.46809 -142.50 67.50 187.50 0.717389 -142.50 67.50 192.50 0.294578 -142.50 67.50 197.50 0.113132 -142.50 67.50 202.50 0.0407373 -142.50 67.50 207.50 0.014683 -142.50 67.50 212.50 0.0165972 -142.50 67.50 217.50 0.0359556 -142.50 67.50 222.50 0.111848 -142.50 67.50 227.50 0.347313 -142.50 67.50 232.50 0.799249 -142.50 67.50 237.50 1.48181 -142.50 67.50 242.50 2.44198 -142.50 67.50 247.50 3.45573 -142.50 67.50 252.50 4.01288 -142.50 67.50 257.50 3.88847 -142.50 67.50 262.50 3.43339 -142.50 67.50 267.50 2.6495 -142.50 67.50 272.50 1.46809 -142.50 67.50 277.50 0.717389 -142.50 67.50 282.50 0.294579 -142.50 67.50 287.50 0.113132 -142.50 67.50 292.50 0.0407373 -142.50 67.50 297.50 0.014683 -142.50 67.50 302.50 0.0165972 -142.50 67.50 307.50 0.0359556 -142.50 67.50 312.50 0.111848 -142.50 67.50 317.50 0.347313 -142.50 67.50 322.50 0.799248 -142.50 67.50 327.50 1.48181 -142.50 67.50 332.50 2.44198 -142.50 67.50 337.50 3.45573 -142.50 67.50 342.50 4.01288 -142.50 67.50 347.50 3.88848 -142.50 67.50 352.50 3.43339 -142.50 67.50 357.50 2.6495 -142.50 72.50 2.50 0.865461 -142.50 72.50 7.50 0.360265 -142.50 72.50 12.50 0.120598 -142.50 72.50 17.50 0.0369399 -142.50 72.50 22.50 0.0110045 -142.50 72.50 27.50 0.0070808 -142.50 72.50 32.50 0.0195936 -142.50 72.50 37.50 0.0650972 -142.50 72.50 42.50 0.233453 -142.50 72.50 47.50 0.621739 -142.50 72.50 52.50 1.29999 -142.50 72.50 57.50 2.19212 -142.50 72.50 62.50 3.21611 -142.50 72.50 67.50 4.06195 -142.50 72.50 72.50 4.22339 -142.50 72.50 77.50 3.69293 -142.50 72.50 82.50 2.81009 -142.50 72.50 87.50 1.85128 -142.50 72.50 92.50 0.865461 -142.50 72.50 97.50 0.360265 -142.50 72.50 102.50 0.120598 -142.50 72.50 107.50 0.0369399 -142.50 72.50 112.50 0.0110045 -142.50 72.50 117.50 0.00708079 -142.50 72.50 122.50 0.0195936 -142.50 72.50 127.50 0.0650973 -142.50 72.50 132.50 0.233453 -142.50 72.50 137.50 0.621739 -142.50 72.50 142.50 1.29999 -142.50 72.50 147.50 2.19212 -142.50 72.50 152.50 3.21611 -142.50 72.50 157.50 4.06195 -142.50 72.50 162.50 4.22339 -142.50 72.50 167.50 3.69293 -142.50 72.50 172.50 2.81009 -142.50 72.50 177.50 1.85129 -142.50 72.50 182.50 0.865461 -142.50 72.50 187.50 0.360265 -142.50 72.50 192.50 0.120598 -142.50 72.50 197.50 0.0369399 -142.50 72.50 202.50 0.0110045 -142.50 72.50 207.50 0.00708079 -142.50 72.50 212.50 0.0195936 -142.50 72.50 217.50 0.0650972 -142.50 72.50 222.50 0.233453 -142.50 72.50 227.50 0.621739 -142.50 72.50 232.50 1.29999 -142.50 72.50 237.50 2.19213 -142.50 72.50 242.50 3.21611 -142.50 72.50 247.50 4.06195 -142.50 72.50 252.50 4.22339 -142.50 72.50 257.50 3.69293 -142.50 72.50 262.50 2.81009 -142.50 72.50 267.50 1.85128 -142.50 72.50 272.50 0.865462 -142.50 72.50 277.50 0.360265 -142.50 72.50 282.50 0.120598 -142.50 72.50 287.50 0.0369399 -142.50 72.50 292.50 0.0110045 -142.50 72.50 297.50 0.00708078 -142.50 72.50 302.50 0.0195936 -142.50 72.50 307.50 0.0650971 -142.50 72.50 312.50 0.233453 -142.50 72.50 317.50 0.621739 -142.50 72.50 322.50 1.29999 -142.50 72.50 327.50 2.19212 -142.50 72.50 332.50 3.2161 -142.50 72.50 337.50 4.06195 -142.50 72.50 342.50 4.22339 -142.50 72.50 347.50 3.69294 -142.50 72.50 352.50 2.81009 -142.50 72.50 357.50 1.85129 -142.50 77.50 2.50 0.460876 -142.50 77.50 7.50 0.188114 -142.50 77.50 12.50 0.0636858 -142.50 77.50 17.50 0.0295424 -142.50 77.50 22.50 0.0153902 -142.50 77.50 27.50 0.0143751 -142.50 77.50 32.50 0.0398137 -142.50 77.50 37.50 0.128274 -142.50 77.50 42.50 0.317093 -142.50 77.50 47.50 0.714016 -142.50 77.50 52.50 1.33458 -142.50 77.50 57.50 2.27581 -142.50 77.50 62.50 3.14019 -142.50 77.50 67.50 3.53594 -142.50 77.50 72.50 3.36604 -142.50 77.50 77.50 2.75934 -142.50 77.50 82.50 1.93697 -142.50 77.50 87.50 1.10963 -142.50 77.50 92.50 0.460876 -142.50 77.50 97.50 0.188114 -142.50 77.50 102.50 0.0636858 -142.50 77.50 107.50 0.0295424 -142.50 77.50 112.50 0.0153901 -142.50 77.50 117.50 0.0143751 -142.50 77.50 122.50 0.0398137 -142.50 77.50 127.50 0.128274 -142.50 77.50 132.50 0.317093 -142.50 77.50 137.50 0.714016 -142.50 77.50 142.50 1.33458 -142.50 77.50 147.50 2.27581 -142.50 77.50 152.50 3.14019 -142.50 77.50 157.50 3.53594 -142.50 77.50 162.50 3.36603 -142.50 77.50 167.50 2.75934 -142.50 77.50 172.50 1.93697 -142.50 77.50 177.50 1.10963 -142.50 77.50 182.50 0.460876 -142.50 77.50 187.50 0.188114 -142.50 77.50 192.50 0.0636858 -142.50 77.50 197.50 0.0295424 -142.50 77.50 202.50 0.0153901 -142.50 77.50 207.50 0.0143751 -142.50 77.50 212.50 0.0398137 -142.50 77.50 217.50 0.128274 -142.50 77.50 222.50 0.317093 -142.50 77.50 227.50 0.714016 -142.50 77.50 232.50 1.33459 -142.50 77.50 237.50 2.27581 -142.50 77.50 242.50 3.14019 -142.50 77.50 247.50 3.53594 -142.50 77.50 252.50 3.36603 -142.50 77.50 257.50 2.75933 -142.50 77.50 262.50 1.93697 -142.50 77.50 267.50 1.10963 -142.50 77.50 272.50 0.460876 -142.50 77.50 277.50 0.188114 -142.50 77.50 282.50 0.0636858 -142.50 77.50 287.50 0.0295424 -142.50 77.50 292.50 0.0153902 -142.50 77.50 297.50 0.0143751 -142.50 77.50 302.50 0.0398137 -142.50 77.50 307.50 0.128274 -142.50 77.50 312.50 0.317093 -142.50 77.50 317.50 0.714016 -142.50 77.50 322.50 1.33458 -142.50 77.50 327.50 2.27581 -142.50 77.50 332.50 3.14019 -142.50 77.50 337.50 3.53594 -142.50 77.50 342.50 3.36604 -142.50 77.50 347.50 2.75934 -142.50 77.50 352.50 1.93697 -142.50 77.50 357.50 1.10963 -142.50 82.50 2.50 0.244556 -142.50 82.50 7.50 0.0978049 -142.50 82.50 12.50 0.0668906 -142.50 82.50 17.50 0.0631444 -142.50 82.50 22.50 0.0563825 -142.50 82.50 27.50 0.0555633 -142.50 82.50 32.50 0.110781 -142.50 82.50 37.50 0.225079 -142.50 82.50 42.50 0.409471 -142.50 82.50 47.50 0.702271 -142.50 82.50 52.50 1.15557 -142.50 82.50 57.50 1.79502 -142.50 82.50 62.50 2.36345 -142.50 82.50 67.50 2.43484 -142.50 82.50 72.50 2.07748 -142.50 82.50 77.50 1.59318 -142.50 82.50 82.50 1.13271 -142.50 82.50 87.50 0.645181 -142.50 82.50 92.50 0.244555 -142.50 82.50 97.50 0.0978049 -142.50 82.50 102.50 0.0668906 -142.50 82.50 107.50 0.0631443 -142.50 82.50 112.50 0.0563825 -142.50 82.50 117.50 0.0555632 -142.50 82.50 122.50 0.110781 -142.50 82.50 127.50 0.225079 -142.50 82.50 132.50 0.409471 -142.50 82.50 137.50 0.702272 -142.50 82.50 142.50 1.15557 -142.50 82.50 147.50 1.79502 -142.50 82.50 152.50 2.36345 -142.50 82.50 157.50 2.43484 -142.50 82.50 162.50 2.07748 -142.50 82.50 167.50 1.59318 -142.50 82.50 172.50 1.13271 -142.50 82.50 177.50 0.645182 -142.50 82.50 182.50 0.244556 -142.50 82.50 187.50 0.0978048 -142.50 82.50 192.50 0.0668906 -142.50 82.50 197.50 0.0631444 -142.50 82.50 202.50 0.0563825 -142.50 82.50 207.50 0.0555632 -142.50 82.50 212.50 0.110781 -142.50 82.50 217.50 0.225079 -142.50 82.50 222.50 0.409471 -142.50 82.50 227.50 0.702272 -142.50 82.50 232.50 1.15557 -142.50 82.50 237.50 1.79502 -142.50 82.50 242.50 2.36345 -142.50 82.50 247.50 2.43484 -142.50 82.50 252.50 2.07748 -142.50 82.50 257.50 1.59318 -142.50 82.50 262.50 1.13271 -142.50 82.50 267.50 0.64518 -142.50 82.50 272.50 0.244556 -142.50 82.50 277.50 0.097805 -142.50 82.50 282.50 0.0668906 -142.50 82.50 287.50 0.0631443 -142.50 82.50 292.50 0.0563825 -142.50 82.50 297.50 0.0555633 -142.50 82.50 302.50 0.110781 -142.50 82.50 307.50 0.225079 -142.50 82.50 312.50 0.409471 -142.50 82.50 317.50 0.702272 -142.50 82.50 322.50 1.15557 -142.50 82.50 327.50 1.79502 -142.50 82.50 332.50 2.36345 -142.50 82.50 337.50 2.43484 -142.50 82.50 342.50 2.07748 -142.50 82.50 347.50 1.59318 -142.50 82.50 352.50 1.13271 -142.50 82.50 357.50 0.645183 -142.50 87.50 2.50 0.12541 -142.50 87.50 7.50 0.0780954 -142.50 87.50 12.50 0.119755 -142.50 87.50 17.50 0.163483 -142.50 87.50 22.50 0.150682 -142.50 87.50 27.50 0.170704 -142.50 87.50 32.50 0.242098 -142.50 87.50 37.50 0.34713 -142.50 87.50 42.50 0.498344 -142.50 87.50 47.50 0.711731 -142.50 87.50 52.50 0.987445 -142.50 87.50 57.50 1.29062 -142.50 87.50 62.50 1.47625 -142.50 87.50 67.50 1.36104 -142.50 87.50 72.50 1.05709 -142.50 87.50 77.50 0.796227 -142.50 87.50 82.50 0.563067 -142.50 87.50 87.50 0.308348 -142.50 87.50 92.50 0.12541 -142.50 87.50 97.50 0.0780954 -142.50 87.50 102.50 0.119755 -142.50 87.50 107.50 0.163483 -142.50 87.50 112.50 0.150682 -142.50 87.50 117.50 0.170704 -142.50 87.50 122.50 0.242098 -142.50 87.50 127.50 0.34713 -142.50 87.50 132.50 0.498344 -142.50 87.50 137.50 0.711732 -142.50 87.50 142.50 0.987445 -142.50 87.50 147.50 1.29062 -142.50 87.50 152.50 1.47625 -142.50 87.50 157.50 1.36104 -142.50 87.50 162.50 1.05709 -142.50 87.50 167.50 0.796227 -142.50 87.50 172.50 0.563067 -142.50 87.50 177.50 0.308349 -142.50 87.50 182.50 0.12541 -142.50 87.50 187.50 0.0780953 -142.50 87.50 192.50 0.119755 -142.50 87.50 197.50 0.163483 -142.50 87.50 202.50 0.150682 -142.50 87.50 207.50 0.170704 -142.50 87.50 212.50 0.242098 -142.50 87.50 217.50 0.34713 -142.50 87.50 222.50 0.498344 -142.50 87.50 227.50 0.711732 -142.50 87.50 232.50 0.987445 -142.50 87.50 237.50 1.29062 -142.50 87.50 242.50 1.47625 -142.50 87.50 247.50 1.36104 -142.50 87.50 252.50 1.05709 -142.50 87.50 257.50 0.796226 -142.50 87.50 262.50 0.563066 -142.50 87.50 267.50 0.308348 -142.50 87.50 272.50 0.12541 -142.50 87.50 277.50 0.0780954 -142.50 87.50 282.50 0.119755 -142.50 87.50 287.50 0.163483 -142.50 87.50 292.50 0.150682 -142.50 87.50 297.50 0.170704 -142.50 87.50 302.50 0.242098 -142.50 87.50 307.50 0.34713 -142.50 87.50 312.50 0.498344 -142.50 87.50 317.50 0.711732 -142.50 87.50 322.50 0.987444 -142.50 87.50 327.50 1.29062 -142.50 87.50 332.50 1.47625 -142.50 87.50 337.50 1.36104 -142.50 87.50 342.50 1.05709 -142.50 87.50 347.50 0.796227 -142.50 87.50 352.50 0.563067 -142.50 87.50 357.50 0.308349 -142.50 92.50 2.50 0.083846 -142.50 92.50 7.50 0.132069 -142.50 92.50 12.50 0.239625 -142.50 92.50 17.50 0.338201 -142.50 92.50 22.50 0.431719 -142.50 92.50 27.50 0.558756 -142.50 92.50 32.50 0.674572 -142.50 92.50 37.50 0.728263 -142.50 92.50 42.50 0.744226 -142.50 92.50 47.50 0.748976 -142.50 92.50 52.50 0.744226 -142.50 92.50 57.50 0.728263 -142.50 92.50 62.50 0.674572 -142.50 92.50 67.50 0.558756 -142.50 92.50 72.50 0.431719 -142.50 92.50 77.50 0.338201 -142.50 92.50 82.50 0.239625 -142.50 92.50 87.50 0.132069 -142.50 92.50 92.50 0.083846 -142.50 92.50 97.50 0.132069 -142.50 92.50 102.50 0.239625 -142.50 92.50 107.50 0.338201 -142.50 92.50 112.50 0.431719 -142.50 92.50 117.50 0.558756 -142.50 92.50 122.50 0.674572 -142.50 92.50 127.50 0.728263 -142.50 92.50 132.50 0.744225 -142.50 92.50 137.50 0.748976 -142.50 92.50 142.50 0.744226 -142.50 92.50 147.50 0.728263 -142.50 92.50 152.50 0.674572 -142.50 92.50 157.50 0.558756 -142.50 92.50 162.50 0.431719 -142.50 92.50 167.50 0.338201 -142.50 92.50 172.50 0.239625 -142.50 92.50 177.50 0.132069 -142.50 92.50 182.50 0.083846 -142.50 92.50 187.50 0.132069 -142.50 92.50 192.50 0.239625 -142.50 92.50 197.50 0.338201 -142.50 92.50 202.50 0.431719 -142.50 92.50 207.50 0.558756 -142.50 92.50 212.50 0.674573 -142.50 92.50 217.50 0.728263 -142.50 92.50 222.50 0.744226 -142.50 92.50 227.50 0.748976 -142.50 92.50 232.50 0.744226 -142.50 92.50 237.50 0.728263 -142.50 92.50 242.50 0.674572 -142.50 92.50 247.50 0.558756 -142.50 92.50 252.50 0.431719 -142.50 92.50 257.50 0.338201 -142.50 92.50 262.50 0.239625 -142.50 92.50 267.50 0.132069 -142.50 92.50 272.50 0.083846 -142.50 92.50 277.50 0.132069 -142.50 92.50 282.50 0.239625 -142.50 92.50 287.50 0.338201 -142.50 92.50 292.50 0.431719 -142.50 92.50 297.50 0.558757 -142.50 92.50 302.50 0.674572 -142.50 92.50 307.50 0.728263 -142.50 92.50 312.50 0.744226 -142.50 92.50 317.50 0.748976 -142.50 92.50 322.50 0.744226 -142.50 92.50 327.50 0.728263 -142.50 92.50 332.50 0.674572 -142.50 92.50 337.50 0.558757 -142.50 92.50 342.50 0.431719 -142.50 92.50 347.50 0.338201 -142.50 92.50 352.50 0.239625 -142.50 92.50 357.50 0.132069 -142.50 97.50 2.50 0.12541 -142.50 97.50 7.50 0.308348 -142.50 97.50 12.50 0.563067 -142.50 97.50 17.50 0.796227 -142.50 97.50 22.50 1.05709 -142.50 97.50 27.50 1.36104 -142.50 97.50 32.50 1.47625 -142.50 97.50 37.50 1.29062 -142.50 97.50 42.50 0.987445 -142.50 97.50 47.50 0.711731 -142.50 97.50 52.50 0.498344 -142.50 97.50 57.50 0.34713 -142.50 97.50 62.50 0.242098 -142.50 97.50 67.50 0.170704 -142.50 97.50 72.50 0.150682 -142.50 97.50 77.50 0.163483 -142.50 97.50 82.50 0.119755 -142.50 97.50 87.50 0.0780954 -142.50 97.50 92.50 0.12541 -142.50 97.50 97.50 0.308348 -142.50 97.50 102.50 0.563067 -142.50 97.50 107.50 0.796226 -142.50 97.50 112.50 1.05709 -142.50 97.50 117.50 1.36104 -142.50 97.50 122.50 1.47624 -142.50 97.50 127.50 1.29062 -142.50 97.50 132.50 0.987444 -142.50 97.50 137.50 0.711731 -142.50 97.50 142.50 0.498344 -142.50 97.50 147.50 0.34713 -142.50 97.50 152.50 0.242098 -142.50 97.50 157.50 0.170704 -142.50 97.50 162.50 0.150682 -142.50 97.50 167.50 0.163483 -142.50 97.50 172.50 0.119755 -142.50 97.50 177.50 0.0780953 -142.50 97.50 182.50 0.12541 -142.50 97.50 187.50 0.308348 -142.50 97.50 192.50 0.563066 -142.50 97.50 197.50 0.796227 -142.50 97.50 202.50 1.05709 -142.50 97.50 207.50 1.36104 -142.50 97.50 212.50 1.47625 -142.50 97.50 217.50 1.29063 -142.50 97.50 222.50 0.987444 -142.50 97.50 227.50 0.711732 -142.50 97.50 232.50 0.498344 -142.50 97.50 237.50 0.34713 -142.50 97.50 242.50 0.242098 -142.50 97.50 247.50 0.170704 -142.50 97.50 252.50 0.150682 -142.50 97.50 257.50 0.163483 -142.50 97.50 262.50 0.119754 -142.50 97.50 267.50 0.0780954 -142.50 97.50 272.50 0.12541 -142.50 97.50 277.50 0.308348 -142.50 97.50 282.50 0.563066 -142.50 97.50 287.50 0.796226 -142.50 97.50 292.50 1.05709 -142.50 97.50 297.50 1.36104 -142.50 97.50 302.50 1.47625 -142.50 97.50 307.50 1.29062 -142.50 97.50 312.50 0.987445 -142.50 97.50 317.50 0.711732 -142.50 97.50 322.50 0.498345 -142.50 97.50 327.50 0.34713 -142.50 97.50 332.50 0.242098 -142.50 97.50 337.50 0.170704 -142.50 97.50 342.50 0.150682 -142.50 97.50 347.50 0.163483 -142.50 97.50 352.50 0.119755 -142.50 97.50 357.50 0.0780954 -142.50 102.50 2.50 0.244556 -142.50 102.50 7.50 0.645182 -142.50 102.50 12.50 1.13271 -142.50 102.50 17.50 1.59318 -142.50 102.50 22.50 2.07748 -142.50 102.50 27.50 2.43484 -142.50 102.50 32.50 2.36345 -142.50 102.50 37.50 1.79502 -142.50 102.50 42.50 1.15557 -142.50 102.50 47.50 0.702272 -142.50 102.50 52.50 0.409471 -142.50 102.50 57.50 0.225079 -142.50 102.50 62.50 0.110781 -142.50 102.50 67.50 0.0555632 -142.50 102.50 72.50 0.0563825 -142.50 102.50 77.50 0.0631444 -142.50 102.50 82.50 0.0668906 -142.50 102.50 87.50 0.0978049 -142.50 102.50 92.50 0.244556 -142.50 102.50 97.50 0.645182 -142.50 102.50 102.50 1.13271 -142.50 102.50 107.50 1.59318 -142.50 102.50 112.50 2.07748 -142.50 102.50 117.50 2.43484 -142.50 102.50 122.50 2.36345 -142.50 102.50 127.50 1.79502 -142.50 102.50 132.50 1.15557 -142.50 102.50 137.50 0.702272 -142.50 102.50 142.50 0.409471 -142.50 102.50 147.50 0.225079 -142.50 102.50 152.50 0.110781 -142.50 102.50 157.50 0.0555633 -142.50 102.50 162.50 0.0563826 -142.50 102.50 167.50 0.0631444 -142.50 102.50 172.50 0.0668906 -142.50 102.50 177.50 0.0978049 -142.50 102.50 182.50 0.244556 -142.50 102.50 187.50 0.645182 -142.50 102.50 192.50 1.13271 -142.50 102.50 197.50 1.59318 -142.50 102.50 202.50 2.07748 -142.50 102.50 207.50 2.43484 -142.50 102.50 212.50 2.36345 -142.50 102.50 217.50 1.79502 -142.50 102.50 222.50 1.15557 -142.50 102.50 227.50 0.702272 -142.50 102.50 232.50 0.409471 -142.50 102.50 237.50 0.225079 -142.50 102.50 242.50 0.110781 -142.50 102.50 247.50 0.0555633 -142.50 102.50 252.50 0.0563826 -142.50 102.50 257.50 0.0631444 -142.50 102.50 262.50 0.0668906 -142.50 102.50 267.50 0.0978051 -142.50 102.50 272.50 0.244556 -142.50 102.50 277.50 0.645182 -142.50 102.50 282.50 1.13271 -142.50 102.50 287.50 1.59318 -142.50 102.50 292.50 2.07748 -142.50 102.50 297.50 2.43484 -142.50 102.50 302.50 2.36345 -142.50 102.50 307.50 1.79502 -142.50 102.50 312.50 1.15557 -142.50 102.50 317.50 0.702272 -142.50 102.50 322.50 0.409471 -142.50 102.50 327.50 0.22508 -142.50 102.50 332.50 0.110781 -142.50 102.50 337.50 0.0555632 -142.50 102.50 342.50 0.0563825 -142.50 102.50 347.50 0.0631443 -142.50 102.50 352.50 0.0668906 -142.50 102.50 357.50 0.0978047 -142.50 107.50 2.50 0.460877 -142.50 107.50 7.50 1.10963 -142.50 107.50 12.50 1.93697 -142.50 107.50 17.50 2.75934 -142.50 107.50 22.50 3.36604 -142.50 107.50 27.50 3.53594 -142.50 107.50 32.50 3.14019 -142.50 107.50 37.50 2.27581 -142.50 107.50 42.50 1.33458 -142.50 107.50 47.50 0.714015 -142.50 107.50 52.50 0.317093 -142.50 107.50 57.50 0.128274 -142.50 107.50 62.50 0.0398136 -142.50 107.50 67.50 0.014375 -142.50 107.50 72.50 0.0153902 -142.50 107.50 77.50 0.0295424 -142.50 107.50 82.50 0.0636858 -142.50 107.50 87.50 0.188114 -142.50 107.50 92.50 0.460877 -142.50 107.50 97.50 1.10963 -142.50 107.50 102.50 1.93697 -142.50 107.50 107.50 2.75934 -142.50 107.50 112.50 3.36604 -142.50 107.50 117.50 3.53594 -142.50 107.50 122.50 3.14019 -142.50 107.50 127.50 2.27581 -142.50 107.50 132.50 1.33458 -142.50 107.50 137.50 0.714015 -142.50 107.50 142.50 0.317093 -142.50 107.50 147.50 0.128273 -142.50 107.50 152.50 0.0398137 -142.50 107.50 157.50 0.0143751 -142.50 107.50 162.50 0.0153902 -142.50 107.50 167.50 0.0295424 -142.50 107.50 172.50 0.0636858 -142.50 107.50 177.50 0.188114 -142.50 107.50 182.50 0.460877 -142.50 107.50 187.50 1.10963 -142.50 107.50 192.50 1.93697 -142.50 107.50 197.50 2.75934 -142.50 107.50 202.50 3.36604 -142.50 107.50 207.50 3.53594 -142.50 107.50 212.50 3.14019 -142.50 107.50 217.50 2.27581 -142.50 107.50 222.50 1.33459 -142.50 107.50 227.50 0.714016 -142.50 107.50 232.50 0.317092 -142.50 107.50 237.50 0.128273 -142.50 107.50 242.50 0.0398136 -142.50 107.50 247.50 0.014375 -142.50 107.50 252.50 0.0153902 -142.50 107.50 257.50 0.0295424 -142.50 107.50 262.50 0.0636859 -142.50 107.50 267.50 0.188114 -142.50 107.50 272.50 0.460877 -142.50 107.50 277.50 1.10963 -142.50 107.50 282.50 1.93697 -142.50 107.50 287.50 2.75934 -142.50 107.50 292.50 3.36604 -142.50 107.50 297.50 3.53594 -142.50 107.50 302.50 3.14019 -142.50 107.50 307.50 2.27581 -142.50 107.50 312.50 1.33458 -142.50 107.50 317.50 0.714018 -142.50 107.50 322.50 0.317093 -142.50 107.50 327.50 0.128274 -142.50 107.50 332.50 0.0398138 -142.50 107.50 337.50 0.0143751 -142.50 107.50 342.50 0.0153901 -142.50 107.50 347.50 0.0295423 -142.50 107.50 352.50 0.0636857 -142.50 107.50 357.50 0.188114 -142.50 112.50 2.50 0.865462 -142.50 112.50 7.50 1.85128 -142.50 112.50 12.50 2.81009 -142.50 112.50 17.50 3.69294 -142.50 112.50 22.50 4.22339 -142.50 112.50 27.50 4.06195 -142.50 112.50 32.50 3.21611 -142.50 112.50 37.50 2.19212 -142.50 112.50 42.50 1.29999 -142.50 112.50 47.50 0.621738 -142.50 112.50 52.50 0.233453 -142.50 112.50 57.50 0.0650971 -142.50 112.50 62.50 0.0195935 -142.50 112.50 67.50 0.00708078 -142.50 112.50 72.50 0.0110045 -142.50 112.50 77.50 0.0369399 -142.50 112.50 82.50 0.120599 -142.50 112.50 87.50 0.360265 -142.50 112.50 92.50 0.865462 -142.50 112.50 97.50 1.85129 -142.50 112.50 102.50 2.81009 -142.50 112.50 107.50 3.69294 -142.50 112.50 112.50 4.22339 -142.50 112.50 117.50 4.06195 -142.50 112.50 122.50 3.21611 -142.50 112.50 127.50 2.19212 -142.50 112.50 132.50 1.29999 -142.50 112.50 137.50 0.621738 -142.50 112.50 142.50 0.233453 -142.50 112.50 147.50 0.0650971 -142.50 112.50 152.50 0.0195936 -142.50 112.50 157.50 0.00708079 -142.50 112.50 162.50 0.0110045 -142.50 112.50 167.50 0.0369399 -142.50 112.50 172.50 0.120598 -142.50 112.50 177.50 0.360265 -142.50 112.50 182.50 0.865462 -142.50 112.50 187.50 1.85128 -142.50 112.50 192.50 2.81009 -142.50 112.50 197.50 3.69294 -142.50 112.50 202.50 4.22339 -142.50 112.50 207.50 4.06195 -142.50 112.50 212.50 3.21611 -142.50 112.50 217.50 2.19212 -142.50 112.50 222.50 1.29999 -142.50 112.50 227.50 0.621739 -142.50 112.50 232.50 0.233453 -142.50 112.50 237.50 0.0650969 -142.50 112.50 242.50 0.0195935 -142.50 112.50 247.50 0.00708078 -142.50 112.50 252.50 0.0110045 -142.50 112.50 257.50 0.03694 -142.50 112.50 262.50 0.120599 -142.50 112.50 267.50 0.360265 -142.50 112.50 272.50 0.865462 -142.50 112.50 277.50 1.85128 -142.50 112.50 282.50 2.81009 -142.50 112.50 287.50 3.69293 -142.50 112.50 292.50 4.22339 -142.50 112.50 297.50 4.06196 -142.50 112.50 302.50 3.21611 -142.50 112.50 307.50 2.19213 -142.50 112.50 312.50 1.29999 -142.50 112.50 317.50 0.621739 -142.50 112.50 322.50 0.233454 -142.50 112.50 327.50 0.0650974 -142.50 112.50 332.50 0.0195936 -142.50 112.50 337.50 0.0070808 -142.50 112.50 342.50 0.0110045 -142.50 112.50 347.50 0.0369398 -142.50 112.50 352.50 0.120598 -142.50 112.50 357.50 0.360264 -142.50 117.50 2.50 1.46809 -142.50 117.50 7.50 2.6495 -142.50 117.50 12.50 3.43339 -142.50 117.50 17.50 3.88848 -142.50 117.50 22.50 4.01288 -142.50 117.50 27.50 3.45573 -142.50 117.50 32.50 2.44198 -142.50 117.50 37.50 1.48181 -142.50 117.50 42.50 0.799248 -142.50 117.50 47.50 0.347313 -142.50 117.50 52.50 0.111848 -142.50 117.50 57.50 0.0359556 -142.50 117.50 62.50 0.0165972 -142.50 117.50 67.50 0.0146831 -142.50 117.50 72.50 0.0407374 -142.50 117.50 77.50 0.113132 -142.50 117.50 82.50 0.294579 -142.50 117.50 87.50 0.71739 -142.50 117.50 92.50 1.46809 -142.50 117.50 97.50 2.6495 -142.50 117.50 102.50 3.43339 -142.50 117.50 107.50 3.88848 -142.50 117.50 112.50 4.01288 -142.50 117.50 117.50 3.45572 -142.50 117.50 122.50 2.44197 -142.50 117.50 127.50 1.48181 -142.50 117.50 132.50 0.799247 -142.50 117.50 137.50 0.347313 -142.50 117.50 142.50 0.111848 -142.50 117.50 147.50 0.0359556 -142.50 117.50 152.50 0.0165972 -142.50 117.50 157.50 0.014683 -142.50 117.50 162.50 0.0407373 -142.50 117.50 167.50 0.113132 -142.50 117.50 172.50 0.294579 -142.50 117.50 177.50 0.717389 -142.50 117.50 182.50 1.46809 -142.50 117.50 187.50 2.6495 -142.50 117.50 192.50 3.43339 -142.50 117.50 197.50 3.88848 -142.50 117.50 202.50 4.01288 -142.50 117.50 207.50 3.45573 -142.50 117.50 212.50 2.44198 -142.50 117.50 217.50 1.48181 -142.50 117.50 222.50 0.799248 -142.50 117.50 227.50 0.347313 -142.50 117.50 232.50 0.111848 -142.50 117.50 237.50 0.0359555 -142.50 117.50 242.50 0.0165972 -142.50 117.50 247.50 0.014683 -142.50 117.50 252.50 0.0407374 -142.50 117.50 257.50 0.113132 -142.50 117.50 262.50 0.294579 -142.50 117.50 267.50 0.71739 -142.50 117.50 272.50 1.46809 -142.50 117.50 277.50 2.6495 -142.50 117.50 282.50 3.43339 -142.50 117.50 287.50 3.88848 -142.50 117.50 292.50 4.01288 -142.50 117.50 297.50 3.45573 -142.50 117.50 302.50 2.44198 -142.50 117.50 307.50 1.48181 -142.50 117.50 312.50 0.799248 -142.50 117.50 317.50 0.347314 -142.50 117.50 322.50 0.111848 -142.50 117.50 327.50 0.0359556 -142.50 117.50 332.50 0.0165972 -142.50 117.50 337.50 0.0146831 -142.50 117.50 342.50 0.0407373 -142.50 117.50 347.50 0.113132 -142.50 117.50 352.50 0.294578 -142.50 117.50 357.50 0.717388 -142.50 122.50 2.50 2.09891 -142.50 122.50 7.50 3.04219 -142.50 122.50 12.50 3.34241 -142.50 122.50 17.50 3.28472 -142.50 122.50 22.50 2.95149 -142.50 122.50 27.50 2.1685 -142.50 122.50 32.50 1.36584 -142.50 122.50 37.50 0.737196 -142.50 122.50 42.50 0.322302 -142.50 122.50 47.50 0.115115 -142.50 122.50 52.50 0.0414452 -142.50 122.50 57.50 0.0268446 -142.50 122.50 62.50 0.0354015 -142.50 122.50 67.50 0.0769288 -142.50 122.50 72.50 0.177979 -142.50 122.50 77.50 0.388319 -142.50 122.50 82.50 0.716829 -142.50 122.50 87.50 1.29488 -142.50 122.50 92.50 2.09891 -142.50 122.50 97.50 3.04219 -142.50 122.50 102.50 3.34241 -142.50 122.50 107.50 3.28472 -142.50 122.50 112.50 2.95149 -142.50 122.50 117.50 2.1685 -142.50 122.50 122.50 1.36584 -142.50 122.50 127.50 0.737195 -142.50 122.50 132.50 0.322302 -142.50 122.50 137.50 0.115115 -142.50 122.50 142.50 0.0414452 -142.50 122.50 147.50 0.0268446 -142.50 122.50 152.50 0.0354014 -142.50 122.50 157.50 0.0769286 -142.50 122.50 162.50 0.177979 -142.50 122.50 167.50 0.388318 -142.50 122.50 172.50 0.716828 -142.50 122.50 177.50 1.29488 -142.50 122.50 182.50 2.09891 -142.50 122.50 187.50 3.04219 -142.50 122.50 192.50 3.34241 -142.50 122.50 197.50 3.28472 -142.50 122.50 202.50 2.95149 -142.50 122.50 207.50 2.1685 -142.50 122.50 212.50 1.36584 -142.50 122.50 217.50 0.737196 -142.50 122.50 222.50 0.322302 -142.50 122.50 227.50 0.115115 -142.50 122.50 232.50 0.0414451 -142.50 122.50 237.50 0.0268446 -142.50 122.50 242.50 0.0354015 -142.50 122.50 247.50 0.0769288 -142.50 122.50 252.50 0.177979 -142.50 122.50 257.50 0.388319 -142.50 122.50 262.50 0.716829 -142.50 122.50 267.50 1.29488 -142.50 122.50 272.50 2.09891 -142.50 122.50 277.50 3.04219 -142.50 122.50 282.50 3.34241 -142.50 122.50 287.50 3.28472 -142.50 122.50 292.50 2.95149 -142.50 122.50 297.50 2.16851 -142.50 122.50 302.50 1.36584 -142.50 122.50 307.50 0.737196 -142.50 122.50 312.50 0.322302 -142.50 122.50 317.50 0.115115 -142.50 122.50 322.50 0.0414453 -142.50 122.50 327.50 0.0268447 -142.50 122.50 332.50 0.0354014 -142.50 122.50 337.50 0.0769286 -142.50 122.50 342.50 0.177979 -142.50 122.50 347.50 0.388318 -142.50 122.50 352.50 0.716828 -142.50 122.50 357.50 1.29488 -142.50 127.50 2.50 2.5719 -142.50 127.50 7.50 2.88087 -142.50 127.50 12.50 2.61427 -142.50 127.50 17.50 2.1554 -142.50 127.50 22.50 1.69911 -142.50 127.50 27.50 1.1403 -142.50 127.50 32.50 0.62787 -142.50 127.50 37.50 0.272029 -142.50 127.50 42.50 0.0922263 -142.50 127.50 47.50 0.0340315 -142.50 127.50 52.50 0.0213053 -142.50 127.50 57.50 0.0472002 -142.50 127.50 62.50 0.120328 -142.50 127.50 67.50 0.290781 -142.50 127.50 72.50 0.615192 -142.50 127.50 77.50 1.10588 -142.50 127.50 82.50 1.63144 -142.50 127.50 87.50 2.08932 -142.50 127.50 92.50 2.5719 -142.50 127.50 97.50 2.88087 -142.50 127.50 102.50 2.61427 -142.50 127.50 107.50 2.1554 -142.50 127.50 112.50 1.69911 -142.50 127.50 117.50 1.1403 -142.50 127.50 122.50 0.62787 -142.50 127.50 127.50 0.272029 -142.50 127.50 132.50 0.0922262 -142.50 127.50 137.50 0.0340315 -142.50 127.50 142.50 0.0213053 -142.50 127.50 147.50 0.0472002 -142.50 127.50 152.50 0.120328 -142.50 127.50 157.50 0.290781 -142.50 127.50 162.50 0.615192 -142.50 127.50 167.50 1.10588 -142.50 127.50 172.50 1.63143 -142.50 127.50 177.50 2.08931 -142.50 127.50 182.50 2.5719 -142.50 127.50 187.50 2.88087 -142.50 127.50 192.50 2.61427 -142.50 127.50 197.50 2.1554 -142.50 127.50 202.50 1.69911 -142.50 127.50 207.50 1.1403 -142.50 127.50 212.50 0.62787 -142.50 127.50 217.50 0.272029 -142.50 127.50 222.50 0.0922263 -142.50 127.50 227.50 0.0340315 -142.50 127.50 232.50 0.0213053 -142.50 127.50 237.50 0.0472002 -142.50 127.50 242.50 0.120328 -142.50 127.50 247.50 0.290781 -142.50 127.50 252.50 0.615192 -142.50 127.50 257.50 1.10588 -142.50 127.50 262.50 1.63144 -142.50 127.50 267.50 2.08931 -142.50 127.50 272.50 2.5719 -142.50 127.50 277.50 2.88087 -142.50 127.50 282.50 2.61427 -142.50 127.50 287.50 2.1554 -142.50 127.50 292.50 1.69911 -142.50 127.50 297.50 1.1403 -142.50 127.50 302.50 0.627871 -142.50 127.50 307.50 0.272029 -142.50 127.50 312.50 0.0922264 -142.50 127.50 317.50 0.0340315 -142.50 127.50 322.50 0.0213053 -142.50 127.50 327.50 0.0472001 -142.50 127.50 332.50 0.120328 -142.50 127.50 337.50 0.29078 -142.50 127.50 342.50 0.615191 -142.50 127.50 347.50 1.10588 -142.50 127.50 352.50 1.63143 -142.50 127.50 357.50 2.08931 -142.50 132.50 2.50 2.82217 -142.50 132.50 7.50 2.41432 -142.50 132.50 12.50 1.74843 -142.50 132.50 17.50 1.12415 -142.50 132.50 22.50 0.760873 -142.50 132.50 27.50 0.491641 -142.50 132.50 32.50 0.242744 -142.50 132.50 37.50 0.0890093 -142.50 132.50 42.50 0.0219398 -142.50 132.50 47.50 0.0114427 -142.50 132.50 52.50 0.0405055 -142.50 132.50 57.50 0.138524 -142.50 132.50 62.50 0.342599 -142.50 132.50 67.50 0.755601 -142.50 132.50 72.50 1.47191 -142.50 132.50 77.50 2.402 -142.50 132.50 82.50 2.97992 -142.50 132.50 87.50 2.99595 -142.50 132.50 92.50 2.82217 -142.50 132.50 97.50 2.41433 -142.50 132.50 102.50 1.74843 -142.50 132.50 107.50 1.12415 -142.50 132.50 112.50 0.760874 -142.50 132.50 117.50 0.491642 -142.50 132.50 122.50 0.242744 -142.50 132.50 127.50 0.0890093 -142.50 132.50 132.50 0.0219398 -142.50 132.50 137.50 0.0114427 -142.50 132.50 142.50 0.0405054 -142.50 132.50 147.50 0.138524 -142.50 132.50 152.50 0.342598 -142.50 132.50 157.50 0.7556 -142.50 132.50 162.50 1.47191 -142.50 132.50 167.50 2.402 -142.50 132.50 172.50 2.97992 -142.50 132.50 177.50 2.99596 -142.50 132.50 182.50 2.82217 -142.50 132.50 187.50 2.41433 -142.50 132.50 192.50 1.74843 -142.50 132.50 197.50 1.12416 -142.50 132.50 202.50 0.760874 -142.50 132.50 207.50 0.491642 -142.50 132.50 212.50 0.242744 -142.50 132.50 217.50 0.0890094 -142.50 132.50 222.50 0.0219399 -142.50 132.50 227.50 0.0114427 -142.50 132.50 232.50 0.0405056 -142.50 132.50 237.50 0.138524 -142.50 132.50 242.50 0.342599 -142.50 132.50 247.50 0.755601 -142.50 132.50 252.50 1.47191 -142.50 132.50 257.50 2.402 -142.50 132.50 262.50 2.97992 -142.50 132.50 267.50 2.99595 -142.50 132.50 272.50 2.82217 -142.50 132.50 277.50 2.41432 -142.50 132.50 282.50 1.74843 -142.50 132.50 287.50 1.12415 -142.50 132.50 292.50 0.760873 -142.50 132.50 297.50 0.491642 -142.50 132.50 302.50 0.242744 -142.50 132.50 307.50 0.0890097 -142.50 132.50 312.50 0.0219399 -142.50 132.50 317.50 0.0114427 -142.50 132.50 322.50 0.0405054 -142.50 132.50 327.50 0.138524 -142.50 132.50 332.50 0.342598 -142.50 132.50 337.50 0.7556 -142.50 132.50 342.50 1.47191 -142.50 132.50 347.50 2.402 -142.50 132.50 352.50 2.97992 -142.50 132.50 357.50 2.99596 -142.50 137.50 2.50 2.8916 -142.50 137.50 7.50 1.94106 -142.50 137.50 12.50 1.08401 -142.50 137.50 17.50 0.558398 -142.50 137.50 22.50 0.285512 -142.50 137.50 27.50 0.157549 -142.50 137.50 32.50 0.0687425 -142.50 137.50 37.50 0.0237158 -142.50 137.50 42.50 0.00780601 -142.50 137.50 47.50 0.0241607 -142.50 137.50 52.50 0.0932612 -142.50 137.50 57.50 0.32591 -142.50 137.50 62.50 0.782798 -142.50 137.50 67.50 1.45077 -142.50 137.50 72.50 2.60093 -142.50 137.50 77.50 3.83832 -142.50 137.50 82.50 4.35753 -142.50 137.50 87.50 3.79369 -142.50 137.50 92.50 2.8916 -142.50 137.50 97.50 1.94106 -142.50 137.50 102.50 1.08401 -142.50 137.50 107.50 0.558398 -142.50 137.50 112.50 0.285512 -142.50 137.50 117.50 0.157549 -142.50 137.50 122.50 0.0687425 -142.50 137.50 127.50 0.0237158 -142.50 137.50 132.50 0.00780601 -142.50 137.50 137.50 0.0241607 -142.50 137.50 142.50 0.0932612 -142.50 137.50 147.50 0.32591 -142.50 137.50 152.50 0.782797 -142.50 137.50 157.50 1.45077 -142.50 137.50 162.50 2.60093 -142.50 137.50 167.50 3.83832 -142.50 137.50 172.50 4.35753 -142.50 137.50 177.50 3.79369 -142.50 137.50 182.50 2.8916 -142.50 137.50 187.50 1.94106 -142.50 137.50 192.50 1.08401 -142.50 137.50 197.50 0.558398 -142.50 137.50 202.50 0.285512 -142.50 137.50 207.50 0.157549 -142.50 137.50 212.50 0.0687426 -142.50 137.50 217.50 0.0237158 -142.50 137.50 222.50 0.00780603 -142.50 137.50 227.50 0.0241607 -142.50 137.50 232.50 0.0932615 -142.50 137.50 237.50 0.325911 -142.50 137.50 242.50 0.782798 -142.50 137.50 247.50 1.45077 -142.50 137.50 252.50 2.60093 -142.50 137.50 257.50 3.83832 -142.50 137.50 262.50 4.35753 -142.50 137.50 267.50 3.79369 -142.50 137.50 272.50 2.8916 -142.50 137.50 277.50 1.94106 -142.50 137.50 282.50 1.08401 -142.50 137.50 287.50 0.558398 -142.50 137.50 292.50 0.285512 -142.50 137.50 297.50 0.157549 -142.50 137.50 302.50 0.0687427 -142.50 137.50 307.50 0.0237158 -142.50 137.50 312.50 0.00780604 -142.50 137.50 317.50 0.0241607 -142.50 137.50 322.50 0.093261 -142.50 137.50 327.50 0.325909 -142.50 137.50 332.50 0.782796 -142.50 137.50 337.50 1.45077 -142.50 137.50 342.50 2.60093 -142.50 137.50 347.50 3.83831 -142.50 137.50 352.50 4.35754 -142.50 137.50 357.50 3.7937 -142.50 142.50 2.50 2.82217 -142.50 142.50 7.50 1.54074 -142.50 142.50 12.50 0.670173 -142.50 142.50 17.50 0.275822 -142.50 142.50 22.50 0.106825 -142.50 142.50 27.50 0.0429413 -142.50 142.50 32.50 0.0157733 -142.50 142.50 37.50 0.00804476 -142.50 142.50 42.50 0.0178265 -142.50 142.50 47.50 0.0618671 -142.50 142.50 52.50 0.216742 -142.50 142.50 57.50 0.596384 -142.50 142.50 62.50 1.25833 -142.50 142.50 67.50 2.23133 -142.50 142.50 72.50 3.64188 -142.50 142.50 77.50 4.97107 -142.50 142.50 82.50 5.35102 -142.50 142.50 87.50 4.3162 -142.50 142.50 92.50 2.82217 -142.50 142.50 97.50 1.54074 -142.50 142.50 102.50 0.670173 -142.50 142.50 107.50 0.275822 -142.50 142.50 112.50 0.106825 -142.50 142.50 117.50 0.0429413 -142.50 142.50 122.50 0.0157733 -142.50 142.50 127.50 0.00804476 -142.50 142.50 132.50 0.0178264 -142.50 142.50 137.50 0.0618671 -142.50 142.50 142.50 0.216741 -142.50 142.50 147.50 0.596383 -142.50 142.50 152.50 1.25833 -142.50 142.50 157.50 2.23132 -142.50 142.50 162.50 3.64188 -142.50 142.50 167.50 4.97107 -142.50 142.50 172.50 5.35102 -142.50 142.50 177.50 4.3162 -142.50 142.50 182.50 2.82217 -142.50 142.50 187.50 1.54074 -142.50 142.50 192.50 0.670173 -142.50 142.50 197.50 0.275822 -142.50 142.50 202.50 0.106825 -142.50 142.50 207.50 0.0429413 -142.50 142.50 212.50 0.0157733 -142.50 142.50 217.50 0.00804477 -142.50 142.50 222.50 0.0178265 -142.50 142.50 227.50 0.061867 -142.50 142.50 232.50 0.216742 -142.50 142.50 237.50 0.596384 -142.50 142.50 242.50 1.25833 -142.50 142.50 247.50 2.23132 -142.50 142.50 252.50 3.64188 -142.50 142.50 257.50 4.97107 -142.50 142.50 262.50 5.35102 -142.50 142.50 267.50 4.3162 -142.50 142.50 272.50 2.82217 -142.50 142.50 277.50 1.54074 -142.50 142.50 282.50 0.670173 -142.50 142.50 287.50 0.275822 -142.50 142.50 292.50 0.106825 -142.50 142.50 297.50 0.0429414 -142.50 142.50 302.50 0.0157734 -142.50 142.50 307.50 0.00804478 -142.50 142.50 312.50 0.0178265 -142.50 142.50 317.50 0.061867 -142.50 142.50 322.50 0.216741 -142.50 142.50 327.50 0.596383 -142.50 142.50 332.50 1.25833 -142.50 142.50 337.50 2.23132 -142.50 142.50 342.50 3.64187 -142.50 142.50 347.50 4.97107 -142.50 142.50 352.50 5.35102 -142.50 142.50 357.50 4.31621 -142.50 147.50 2.50 2.5719 -142.50 147.50 7.50 1.19068 -142.50 147.50 12.50 0.434884 -142.50 147.50 17.50 0.135581 -142.50 147.50 22.50 0.043142 -142.50 147.50 27.50 0.0133018 -142.50 147.50 32.50 0.00792702 -142.50 147.50 37.50 0.0182778 -142.50 147.50 42.50 0.0612543 -142.50 147.50 47.50 0.179555 -142.50 147.50 52.50 0.452484 -142.50 147.50 57.50 0.949381 -142.50 147.50 62.50 1.68935 -142.50 147.50 67.50 2.7557 -142.50 147.50 72.50 4.15187 -142.50 147.50 77.50 5.38265 -142.50 147.50 82.50 5.56068 -142.50 147.50 87.50 4.33165 -142.50 147.50 92.50 2.5719 -142.50 147.50 97.50 1.19069 -142.50 147.50 102.50 0.434884 -142.50 147.50 107.50 0.135581 -142.50 147.50 112.50 0.043142 -142.50 147.50 117.50 0.0133018 -142.50 147.50 122.50 0.00792702 -142.50 147.50 127.50 0.0182778 -142.50 147.50 132.50 0.0612543 -142.50 147.50 137.50 0.179555 -142.50 147.50 142.50 0.452484 -142.50 147.50 147.50 0.949381 -142.50 147.50 152.50 1.68935 -142.50 147.50 157.50 2.7557 -142.50 147.50 162.50 4.15187 -142.50 147.50 167.50 5.38266 -142.50 147.50 172.50 5.56068 -142.50 147.50 177.50 4.33165 -142.50 147.50 182.50 2.5719 -142.50 147.50 187.50 1.19068 -142.50 147.50 192.50 0.434884 -142.50 147.50 197.50 0.135581 -142.50 147.50 202.50 0.043142 -142.50 147.50 207.50 0.0133018 -142.50 147.50 212.50 0.00792701 -142.50 147.50 217.50 0.0182778 -142.50 147.50 222.50 0.0612543 -142.50 147.50 227.50 0.179555 -142.50 147.50 232.50 0.452484 -142.50 147.50 237.50 0.949383 -142.50 147.50 242.50 1.68935 -142.50 147.50 247.50 2.7557 -142.50 147.50 252.50 4.15187 -142.50 147.50 257.50 5.38266 -142.50 147.50 262.50 5.56068 -142.50 147.50 267.50 4.33165 -142.50 147.50 272.50 2.5719 -142.50 147.50 277.50 1.19069 -142.50 147.50 282.50 0.434884 -142.50 147.50 287.50 0.135582 -142.50 147.50 292.50 0.043142 -142.50 147.50 297.50 0.0133018 -142.50 147.50 302.50 0.00792702 -142.50 147.50 307.50 0.0182778 -142.50 147.50 312.50 0.0612543 -142.50 147.50 317.50 0.179555 -142.50 147.50 322.50 0.452483 -142.50 147.50 327.50 0.94938 -142.50 147.50 332.50 1.68934 -142.50 147.50 337.50 2.75569 -142.50 147.50 342.50 4.15186 -142.50 147.50 347.50 5.38265 -142.50 147.50 352.50 5.56069 -142.50 147.50 357.50 4.33166 -142.50 152.50 2.50 2.09891 -142.50 152.50 7.50 0.876376 -142.50 152.50 12.50 0.300781 -142.50 152.50 17.50 0.0728055 -142.50 152.50 22.50 0.0201629 -142.50 152.50 27.50 0.00703295 -142.50 152.50 32.50 0.0167838 -142.50 152.50 37.50 0.056572 -142.50 152.50 42.50 0.149517 -142.50 152.50 47.50 0.374034 -142.50 152.50 52.50 0.781112 -142.50 152.50 57.50 1.33779 -142.50 152.50 62.50 2.00439 -142.50 152.50 67.50 2.88773 -142.50 152.50 72.50 3.92309 -142.50 152.50 77.50 4.86415 -142.50 152.50 82.50 4.76941 -142.50 152.50 87.50 3.6603 -142.50 152.50 92.50 2.09891 -142.50 152.50 97.50 0.876376 -142.50 152.50 102.50 0.300781 -142.50 152.50 107.50 0.0728055 -142.50 152.50 112.50 0.0201629 -142.50 152.50 117.50 0.00703294 -142.50 152.50 122.50 0.0167838 -142.50 152.50 127.50 0.056572 -142.50 152.50 132.50 0.149517 -142.50 152.50 137.50 0.374034 -142.50 152.50 142.50 0.781112 -142.50 152.50 147.50 1.33779 -142.50 152.50 152.50 2.00439 -142.50 152.50 157.50 2.88773 -142.50 152.50 162.50 3.92309 -142.50 152.50 167.50 4.86415 -142.50 152.50 172.50 4.76941 -142.50 152.50 177.50 3.6603 -142.50 152.50 182.50 2.09891 -142.50 152.50 187.50 0.876375 -142.50 152.50 192.50 0.300781 -142.50 152.50 197.50 0.0728055 -142.50 152.50 202.50 0.0201629 -142.50 152.50 207.50 0.00703294 -142.50 152.50 212.50 0.0167838 -142.50 152.50 217.50 0.056572 -142.50 152.50 222.50 0.149517 -142.50 152.50 227.50 0.374034 -142.50 152.50 232.50 0.781114 -142.50 152.50 237.50 1.33779 -142.50 152.50 242.50 2.00439 -142.50 152.50 247.50 2.88773 -142.50 152.50 252.50 3.92309 -142.50 152.50 257.50 4.86415 -142.50 152.50 262.50 4.76941 -142.50 152.50 267.50 3.6603 -142.50 152.50 272.50 2.09891 -142.50 152.50 277.50 0.876376 -142.50 152.50 282.50 0.300781 -142.50 152.50 287.50 0.0728055 -142.50 152.50 292.50 0.0201629 -142.50 152.50 297.50 0.00703295 -142.50 152.50 302.50 0.0167838 -142.50 152.50 307.50 0.0565719 -142.50 152.50 312.50 0.149517 -142.50 152.50 317.50 0.374034 -142.50 152.50 322.50 0.781111 -142.50 152.50 327.50 1.33779 -142.50 152.50 332.50 2.00439 -142.50 152.50 337.50 2.88773 -142.50 152.50 342.50 3.92309 -142.50 152.50 347.50 4.86414 -142.50 152.50 352.50 4.76942 -142.50 152.50 357.50 3.66031 -142.50 157.50 2.50 1.46809 -142.50 157.50 7.50 0.620965 -142.50 157.50 12.50 0.227896 -142.50 157.50 17.50 0.0670518 -142.50 157.50 22.50 0.0183379 -142.50 157.50 27.50 0.0123625 -142.50 157.50 32.50 0.0369169 -142.50 157.50 37.50 0.121999 -142.50 157.50 42.50 0.295948 -142.50 157.50 47.50 0.60778 -142.50 157.50 52.50 1.09447 -142.50 157.50 57.50 1.61011 -142.50 157.50 62.50 2.10945 -142.50 157.50 67.50 2.5845 -142.50 157.50 72.50 3.1379 -142.50 157.50 77.50 3.52195 -142.50 157.50 82.50 3.31096 -142.50 157.50 87.50 2.50208 -142.50 157.50 92.50 1.46809 -142.50 157.50 97.50 0.620965 -142.50 157.50 102.50 0.227896 -142.50 157.50 107.50 0.0670518 -142.50 157.50 112.50 0.0183379 -142.50 157.50 117.50 0.0123625 -142.50 157.50 122.50 0.0369169 -142.50 157.50 127.50 0.121999 -142.50 157.50 132.50 0.295948 -142.50 157.50 137.50 0.60778 -142.50 157.50 142.50 1.09447 -142.50 157.50 147.50 1.61011 -142.50 157.50 152.50 2.10945 -142.50 157.50 157.50 2.5845 -142.50 157.50 162.50 3.13791 -142.50 157.50 167.50 3.52195 -142.50 157.50 172.50 3.31096 -142.50 157.50 177.50 2.50208 -142.50 157.50 182.50 1.46809 -142.50 157.50 187.50 0.620965 -142.50 157.50 192.50 0.227896 -142.50 157.50 197.50 0.0670518 -142.50 157.50 202.50 0.0183379 -142.50 157.50 207.50 0.0123625 -142.50 157.50 212.50 0.0369169 -142.50 157.50 217.50 0.121999 -142.50 157.50 222.50 0.295948 -142.50 157.50 227.50 0.607779 -142.50 157.50 232.50 1.09447 -142.50 157.50 237.50 1.61011 -142.50 157.50 242.50 2.10945 -142.50 157.50 247.50 2.5845 -142.50 157.50 252.50 3.13791 -142.50 157.50 257.50 3.52194 -142.50 157.50 262.50 3.31096 -142.50 157.50 267.50 2.50208 -142.50 157.50 272.50 1.46809 -142.50 157.50 277.50 0.620966 -142.50 157.50 282.50 0.227896 -142.50 157.50 287.50 0.0670519 -142.50 157.50 292.50 0.0183379 -142.50 157.50 297.50 0.0123625 -142.50 157.50 302.50 0.0369168 -142.50 157.50 307.50 0.121998 -142.50 157.50 312.50 0.295948 -142.50 157.50 317.50 0.607779 -142.50 157.50 322.50 1.09446 -142.50 157.50 327.50 1.61011 -142.50 157.50 332.50 2.10945 -142.50 157.50 337.50 2.5845 -142.50 157.50 342.50 3.1379 -142.50 157.50 347.50 3.52194 -142.50 157.50 352.50 3.31096 -142.50 157.50 357.50 2.50208 -142.50 162.50 2.50 0.865462 -142.50 162.50 7.50 0.430564 -142.50 162.50 12.50 0.202848 -142.50 162.50 17.50 0.0932949 -142.50 162.50 22.50 0.0366079 -142.50 162.50 27.50 0.0302528 -142.50 162.50 32.50 0.0784524 -142.50 162.50 37.50 0.206481 -142.50 162.50 42.50 0.456507 -142.50 162.50 47.50 0.847795 -142.50 162.50 52.50 1.30256 -142.50 162.50 57.50 1.62272 -142.50 162.50 62.50 1.76641 -142.50 162.50 67.50 1.89595 -142.50 162.50 72.50 2.04577 -142.50 162.50 77.50 2.05423 -142.50 162.50 82.50 1.8292 -142.50 162.50 87.50 1.38244 -142.50 162.50 92.50 0.865462 -142.50 162.50 97.50 0.430564 -142.50 162.50 102.50 0.202847 -142.50 162.50 107.50 0.0932948 -142.50 162.50 112.50 0.0366079 -142.50 162.50 117.50 0.0302528 -142.50 162.50 122.50 0.0784524 -142.50 162.50 127.50 0.206481 -142.50 162.50 132.50 0.456507 -142.50 162.50 137.50 0.847795 -142.50 162.50 142.50 1.30256 -142.50 162.50 147.50 1.62272 -142.50 162.50 152.50 1.76641 -142.50 162.50 157.50 1.89594 -142.50 162.50 162.50 2.04577 -142.50 162.50 167.50 2.05423 -142.50 162.50 172.50 1.8292 -142.50 162.50 177.50 1.38244 -142.50 162.50 182.50 0.865462 -142.50 162.50 187.50 0.430563 -142.50 162.50 192.50 0.202847 -142.50 162.50 197.50 0.0932948 -142.50 162.50 202.50 0.0366079 -142.50 162.50 207.50 0.0302528 -142.50 162.50 212.50 0.0784524 -142.50 162.50 217.50 0.206481 -142.50 162.50 222.50 0.456506 -142.50 162.50 227.50 0.847794 -142.50 162.50 232.50 1.30256 -142.50 162.50 237.50 1.62272 -142.50 162.50 242.50 1.76641 -142.50 162.50 247.50 1.89594 -142.50 162.50 252.50 2.04577 -142.50 162.50 257.50 2.05423 -142.50 162.50 262.50 1.8292 -142.50 162.50 267.50 1.38244 -142.50 162.50 272.50 0.865462 -142.50 162.50 277.50 0.430564 -142.50 162.50 282.50 0.202848 -142.50 162.50 287.50 0.0932948 -142.50 162.50 292.50 0.0366079 -142.50 162.50 297.50 0.0302528 -142.50 162.50 302.50 0.0784523 -142.50 162.50 307.50 0.206481 -142.50 162.50 312.50 0.456506 -142.50 162.50 317.50 0.847794 -142.50 162.50 322.50 1.30256 -142.50 162.50 327.50 1.62272 -142.50 162.50 332.50 1.76641 -142.50 162.50 337.50 1.89594 -142.50 162.50 342.50 2.04577 -142.50 162.50 347.50 2.05423 -142.50 162.50 352.50 1.8292 -142.50 162.50 357.50 1.38244 -142.50 167.50 2.50 0.460877 -142.50 167.50 7.50 0.30253 -142.50 167.50 12.50 0.192319 -142.50 167.50 17.50 0.118854 -142.50 167.50 22.50 0.0626105 -142.50 167.50 27.50 0.0515304 -142.50 167.50 32.50 0.110501 -142.50 167.50 37.50 0.268721 -142.50 167.50 42.50 0.554866 -142.50 167.50 47.50 0.970133 -142.50 167.50 52.50 1.33987 -142.50 167.50 57.50 1.42006 -142.50 167.50 62.50 1.25223 -142.50 167.50 67.50 1.10149 -142.50 167.50 72.50 1.04354 -142.50 167.50 77.50 0.968019 -142.50 167.50 82.50 0.816206 -142.50 167.50 87.50 0.652799 -142.50 167.50 92.50 0.460877 -142.50 167.50 97.50 0.30253 -142.50 167.50 102.50 0.192319 -142.50 167.50 107.50 0.118854 -142.50 167.50 112.50 0.0626105 -142.50 167.50 117.50 0.0515304 -142.50 167.50 122.50 0.110501 -142.50 167.50 127.50 0.268721 -142.50 167.50 132.50 0.554866 -142.50 167.50 137.50 0.970133 -142.50 167.50 142.50 1.33987 -142.50 167.50 147.50 1.42006 -142.50 167.50 152.50 1.25223 -142.50 167.50 157.50 1.10149 -142.50 167.50 162.50 1.04354 -142.50 167.50 167.50 0.968019 -142.50 167.50 172.50 0.816207 -142.50 167.50 177.50 0.652798 -142.50 167.50 182.50 0.460877 -142.50 167.50 187.50 0.30253 -142.50 167.50 192.50 0.192319 -142.50 167.50 197.50 0.118854 -142.50 167.50 202.50 0.0626106 -142.50 167.50 207.50 0.0515304 -142.50 167.50 212.50 0.110501 -142.50 167.50 217.50 0.268721 -142.50 167.50 222.50 0.554866 -142.50 167.50 227.50 0.970132 -142.50 167.50 232.50 1.33987 -142.50 167.50 237.50 1.42006 -142.50 167.50 242.50 1.25223 -142.50 167.50 247.50 1.10149 -142.50 167.50 252.50 1.04354 -142.50 167.50 257.50 0.968019 -142.50 167.50 262.50 0.816206 -142.50 167.50 267.50 0.652798 -142.50 167.50 272.50 0.460877 -142.50 167.50 277.50 0.30253 -142.50 167.50 282.50 0.192319 -142.50 167.50 287.50 0.118854 -142.50 167.50 292.50 0.0626106 -142.50 167.50 297.50 0.0515304 -142.50 167.50 302.50 0.1105 -142.50 167.50 307.50 0.268721 -142.50 167.50 312.50 0.554866 -142.50 167.50 317.50 0.970133 -142.50 167.50 322.50 1.33987 -142.50 167.50 327.50 1.42006 -142.50 167.50 332.50 1.25223 -142.50 167.50 337.50 1.10149 -142.50 167.50 342.50 1.04354 -142.50 167.50 347.50 0.968019 -142.50 167.50 352.50 0.816207 -142.50 167.50 357.50 0.652799 -142.50 172.50 2.50 0.244556 -142.50 172.50 7.50 0.204062 -142.50 172.50 12.50 0.164515 -142.50 172.50 17.50 0.108297 -142.50 172.50 22.50 0.0673723 -142.50 172.50 27.50 0.0569904 -142.50 172.50 32.50 0.102746 -142.50 172.50 37.50 0.244358 -142.50 172.50 42.50 0.541711 -142.50 172.50 47.50 0.953292 -142.50 172.50 52.50 1.21402 -142.50 172.50 57.50 1.10121 -142.50 172.50 62.50 0.777773 -142.50 172.50 67.50 0.526487 -142.50 172.50 72.50 0.416338 -142.50 172.50 77.50 0.362094 -142.50 172.50 82.50 0.329846 -142.50 172.50 87.50 0.291898 -142.50 172.50 92.50 0.244556 -142.50 172.50 97.50 0.204062 -142.50 172.50 102.50 0.164515 -142.50 172.50 107.50 0.108297 -142.50 172.50 112.50 0.0673723 -142.50 172.50 117.50 0.0569904 -142.50 172.50 122.50 0.102746 -142.50 172.50 127.50 0.244358 -142.50 172.50 132.50 0.541712 -142.50 172.50 137.50 0.953291 -142.50 172.50 142.50 1.21402 -142.50 172.50 147.50 1.10121 -142.50 172.50 152.50 0.777773 -142.50 172.50 157.50 0.526487 -142.50 172.50 162.50 0.416339 -142.50 172.50 167.50 0.362094 -142.50 172.50 172.50 0.329846 -142.50 172.50 177.50 0.291898 -142.50 172.50 182.50 0.244556 -142.50 172.50 187.50 0.204062 -142.50 172.50 192.50 0.164515 -142.50 172.50 197.50 0.108297 -142.50 172.50 202.50 0.0673723 -142.50 172.50 207.50 0.0569904 -142.50 172.50 212.50 0.102746 -142.50 172.50 217.50 0.244358 -142.50 172.50 222.50 0.541711 -142.50 172.50 227.50 0.953291 -142.50 172.50 232.50 1.21402 -142.50 172.50 237.50 1.10121 -142.50 172.50 242.50 0.777773 -142.50 172.50 247.50 0.526486 -142.50 172.50 252.50 0.416339 -142.50 172.50 257.50 0.362094 -142.50 172.50 262.50 0.329847 -142.50 172.50 267.50 0.291898 -142.50 172.50 272.50 0.244556 -142.50 172.50 277.50 0.204062 -142.50 172.50 282.50 0.164515 -142.50 172.50 287.50 0.108297 -142.50 172.50 292.50 0.0673723 -142.50 172.50 297.50 0.0569905 -142.50 172.50 302.50 0.102746 -142.50 172.50 307.50 0.244358 -142.50 172.50 312.50 0.541711 -142.50 172.50 317.50 0.953291 -142.50 172.50 322.50 1.21402 -142.50 172.50 327.50 1.10121 -142.50 172.50 332.50 0.777773 -142.50 172.50 337.50 0.526487 -142.50 172.50 342.50 0.416339 -142.50 172.50 347.50 0.362094 -142.50 172.50 352.50 0.329846 -142.50 172.50 357.50 0.291898 -142.50 177.50 2.50 0.12541 -142.50 177.50 7.50 0.119002 -142.50 177.50 12.50 0.110057 -142.50 177.50 17.50 0.0897008 -142.50 177.50 22.50 0.0626697 -142.50 177.50 27.50 0.0483575 -142.50 177.50 32.50 0.0709713 -142.50 177.50 37.50 0.176459 -142.50 177.50 42.50 0.425682 -142.50 177.50 47.50 0.774996 -142.50 177.50 52.50 0.958468 -142.50 177.50 57.50 0.792094 -142.50 177.50 62.50 0.462256 -142.50 177.50 67.50 0.232954 -142.50 177.50 72.50 0.140119 -142.50 177.50 77.50 0.118244 -142.50 177.50 82.50 0.120838 -142.50 177.50 87.50 0.126957 -142.50 177.50 92.50 0.12541 -142.50 177.50 97.50 0.119002 -142.50 177.50 102.50 0.110057 -142.50 177.50 107.50 0.0897008 -142.50 177.50 112.50 0.0626697 -142.50 177.50 117.50 0.0483575 -142.50 177.50 122.50 0.0709714 -142.50 177.50 127.50 0.176459 -142.50 177.50 132.50 0.425682 -142.50 177.50 137.50 0.774997 -142.50 177.50 142.50 0.958468 -142.50 177.50 147.50 0.792094 -142.50 177.50 152.50 0.462256 -142.50 177.50 157.50 0.232954 -142.50 177.50 162.50 0.140119 -142.50 177.50 167.50 0.118244 -142.50 177.50 172.50 0.120838 -142.50 177.50 177.50 0.126957 -142.50 177.50 182.50 0.12541 -142.50 177.50 187.50 0.119002 -142.50 177.50 192.50 0.110057 -142.50 177.50 197.50 0.0897008 -142.50 177.50 202.50 0.0626697 -142.50 177.50 207.50 0.0483576 -142.50 177.50 212.50 0.0709713 -142.50 177.50 217.50 0.176459 -142.50 177.50 222.50 0.425682 -142.50 177.50 227.50 0.774996 -142.50 177.50 232.50 0.958469 -142.50 177.50 237.50 0.792093 -142.50 177.50 242.50 0.462256 -142.50 177.50 247.50 0.232954 -142.50 177.50 252.50 0.14012 -142.50 177.50 257.50 0.118244 -142.50 177.50 262.50 0.120838 -142.50 177.50 267.50 0.126957 -142.50 177.50 272.50 0.12541 -142.50 177.50 277.50 0.119002 -142.50 177.50 282.50 0.110057 -142.50 177.50 287.50 0.0897009 -142.50 177.50 292.50 0.0626697 -142.50 177.50 297.50 0.0483576 -142.50 177.50 302.50 0.0709713 -142.50 177.50 307.50 0.176458 -142.50 177.50 312.50 0.425681 -142.50 177.50 317.50 0.774996 -142.50 177.50 322.50 0.958469 -142.50 177.50 327.50 0.792094 -142.50 177.50 332.50 0.462256 -142.50 177.50 337.50 0.232954 -142.50 177.50 342.50 0.14012 -142.50 177.50 347.50 0.118244 -142.50 177.50 352.50 0.120838 -142.50 177.50 357.50 0.126957 -147.50 2.50 2.50 0.0760385 -147.50 2.50 7.50 0.0601603 -147.50 2.50 12.50 0.0485219 -147.50 2.50 17.50 0.0624686 -147.50 2.50 22.50 0.149977 -147.50 2.50 27.50 0.393273 -147.50 2.50 32.50 0.773179 -147.50 2.50 37.50 0.980476 -147.50 2.50 42.50 0.773179 -147.50 2.50 47.50 0.393272 -147.50 2.50 52.50 0.149977 -147.50 2.50 57.50 0.0624686 -147.50 2.50 62.50 0.0485219 -147.50 2.50 67.50 0.0601603 -147.50 2.50 72.50 0.0760385 -147.50 2.50 77.50 0.083846 -147.50 2.50 82.50 0.084539 -147.50 2.50 87.50 0.083846 -147.50 2.50 92.50 0.0760385 -147.50 2.50 97.50 0.0601603 -147.50 2.50 102.50 0.0485219 -147.50 2.50 107.50 0.0624686 -147.50 2.50 112.50 0.149977 -147.50 2.50 117.50 0.393273 -147.50 2.50 122.50 0.773179 -147.50 2.50 127.50 0.980476 -147.50 2.50 132.50 0.773178 -147.50 2.50 137.50 0.393272 -147.50 2.50 142.50 0.149977 -147.50 2.50 147.50 0.0624686 -147.50 2.50 152.50 0.0485219 -147.50 2.50 157.50 0.0601603 -147.50 2.50 162.50 0.0760385 -147.50 2.50 167.50 0.083846 -147.50 2.50 172.50 0.084539 -147.50 2.50 177.50 0.083846 -147.50 2.50 182.50 0.0760385 -147.50 2.50 187.50 0.0601603 -147.50 2.50 192.50 0.0485219 -147.50 2.50 197.50 0.0624686 -147.50 2.50 202.50 0.149977 -147.50 2.50 207.50 0.393273 -147.50 2.50 212.50 0.773179 -147.50 2.50 217.50 0.980476 -147.50 2.50 222.50 0.773179 -147.50 2.50 227.50 0.393272 -147.50 2.50 232.50 0.149977 -147.50 2.50 237.50 0.0624685 -147.50 2.50 242.50 0.0485219 -147.50 2.50 247.50 0.0601603 -147.50 2.50 252.50 0.0760386 -147.50 2.50 257.50 0.083846 -147.50 2.50 262.50 0.084539 -147.50 2.50 267.50 0.083846 -147.50 2.50 272.50 0.0760385 -147.50 2.50 277.50 0.0601603 -147.50 2.50 282.50 0.0485219 -147.50 2.50 287.50 0.0624685 -147.50 2.50 292.50 0.149977 -147.50 2.50 297.50 0.393272 -147.50 2.50 302.50 0.773179 -147.50 2.50 307.50 0.980476 -147.50 2.50 312.50 0.773179 -147.50 2.50 317.50 0.393273 -147.50 2.50 322.50 0.149977 -147.50 2.50 327.50 0.0624686 -147.50 2.50 332.50 0.0485219 -147.50 2.50 337.50 0.0601603 -147.50 2.50 342.50 0.0760385 -147.50 2.50 347.50 0.083846 -147.50 2.50 352.50 0.084539 -147.50 2.50 357.50 0.083846 -147.50 7.50 2.50 0.116068 -147.50 7.50 7.50 0.109437 -147.50 7.50 12.50 0.104517 -147.50 7.50 17.50 0.130088 -147.50 7.50 22.50 0.242646 -147.50 7.50 27.50 0.493237 -147.50 7.50 32.50 0.816791 -147.50 7.50 37.50 0.961441 -147.50 7.50 42.50 0.764686 -147.50 7.50 47.50 0.423001 -147.50 7.50 52.50 0.182192 -147.50 7.50 57.50 0.073426 -147.50 7.50 62.50 0.0411975 -147.50 7.50 67.50 0.0545772 -147.50 7.50 72.50 0.0829734 -147.50 7.50 77.50 0.103349 -147.50 7.50 82.50 0.110487 -147.50 7.50 87.50 0.114934 -147.50 7.50 92.50 0.116068 -147.50 7.50 97.50 0.109437 -147.50 7.50 102.50 0.104517 -147.50 7.50 107.50 0.130088 -147.50 7.50 112.50 0.242646 -147.50 7.50 117.50 0.493237 -147.50 7.50 122.50 0.816791 -147.50 7.50 127.50 0.961441 -147.50 7.50 132.50 0.764685 -147.50 7.50 137.50 0.423001 -147.50 7.50 142.50 0.182192 -147.50 7.50 147.50 0.073426 -147.50 7.50 152.50 0.0411975 -147.50 7.50 157.50 0.0545772 -147.50 7.50 162.50 0.0829734 -147.50 7.50 167.50 0.103349 -147.50 7.50 172.50 0.110487 -147.50 7.50 177.50 0.114934 -147.50 7.50 182.50 0.116068 -147.50 7.50 187.50 0.109437 -147.50 7.50 192.50 0.104517 -147.50 7.50 197.50 0.130088 -147.50 7.50 202.50 0.242646 -147.50 7.50 207.50 0.493236 -147.50 7.50 212.50 0.81679 -147.50 7.50 217.50 0.961442 -147.50 7.50 222.50 0.764686 -147.50 7.50 227.50 0.423002 -147.50 7.50 232.50 0.182191 -147.50 7.50 237.50 0.0734259 -147.50 7.50 242.50 0.0411975 -147.50 7.50 247.50 0.0545772 -147.50 7.50 252.50 0.0829734 -147.50 7.50 257.50 0.103349 -147.50 7.50 262.50 0.110487 -147.50 7.50 267.50 0.114934 -147.50 7.50 272.50 0.116068 -147.50 7.50 277.50 0.109437 -147.50 7.50 282.50 0.104517 -147.50 7.50 287.50 0.130088 -147.50 7.50 292.50 0.242646 -147.50 7.50 297.50 0.493236 -147.50 7.50 302.50 0.816791 -147.50 7.50 307.50 0.961442 -147.50 7.50 312.50 0.764686 -147.50 7.50 317.50 0.423002 -147.50 7.50 322.50 0.182192 -147.50 7.50 327.50 0.0734261 -147.50 7.50 332.50 0.0411975 -147.50 7.50 337.50 0.0545772 -147.50 7.50 342.50 0.0829734 -147.50 7.50 347.50 0.103349 -147.50 7.50 352.50 0.110486 -147.50 7.50 357.50 0.114934 -147.50 12.50 2.50 0.241647 -147.50 12.50 7.50 0.277078 -147.50 12.50 12.50 0.303617 -147.50 12.50 17.50 0.35721 -147.50 12.50 22.50 0.520798 -147.50 12.50 27.50 0.820782 -147.50 12.50 32.50 1.14639 -147.50 12.50 37.50 1.23544 -147.50 12.50 42.50 0.967708 -147.50 12.50 47.50 0.554749 -147.50 12.50 52.50 0.253802 -147.50 12.50 57.50 0.101965 -147.50 12.50 62.50 0.0491384 -147.50 12.50 67.50 0.0602945 -147.50 12.50 72.50 0.104072 -147.50 12.50 77.50 0.142121 -147.50 12.50 82.50 0.170538 -147.50 12.50 87.50 0.200088 -147.50 12.50 92.50 0.241647 -147.50 12.50 97.50 0.277078 -147.50 12.50 102.50 0.303617 -147.50 12.50 107.50 0.35721 -147.50 12.50 112.50 0.520798 -147.50 12.50 117.50 0.820782 -147.50 12.50 122.50 1.14639 -147.50 12.50 127.50 1.23544 -147.50 12.50 132.50 0.967708 -147.50 12.50 137.50 0.554749 -147.50 12.50 142.50 0.253802 -147.50 12.50 147.50 0.101965 -147.50 12.50 152.50 0.0491384 -147.50 12.50 157.50 0.0602945 -147.50 12.50 162.50 0.104071 -147.50 12.50 167.50 0.142121 -147.50 12.50 172.50 0.170538 -147.50 12.50 177.50 0.200088 -147.50 12.50 182.50 0.241647 -147.50 12.50 187.50 0.277078 -147.50 12.50 192.50 0.303618 -147.50 12.50 197.50 0.35721 -147.50 12.50 202.50 0.520798 -147.50 12.50 207.50 0.820782 -147.50 12.50 212.50 1.14639 -147.50 12.50 217.50 1.23544 -147.50 12.50 222.50 0.967709 -147.50 12.50 227.50 0.554749 -147.50 12.50 232.50 0.253802 -147.50 12.50 237.50 0.101965 -147.50 12.50 242.50 0.0491384 -147.50 12.50 247.50 0.0602945 -147.50 12.50 252.50 0.104071 -147.50 12.50 257.50 0.142121 -147.50 12.50 262.50 0.170538 -147.50 12.50 267.50 0.200088 -147.50 12.50 272.50 0.241647 -147.50 12.50 277.50 0.277079 -147.50 12.50 282.50 0.303618 -147.50 12.50 287.50 0.35721 -147.50 12.50 292.50 0.520798 -147.50 12.50 297.50 0.820781 -147.50 12.50 302.50 1.14639 -147.50 12.50 307.50 1.23544 -147.50 12.50 312.50 0.967709 -147.50 12.50 317.50 0.554749 -147.50 12.50 322.50 0.253803 -147.50 12.50 327.50 0.101965 -147.50 12.50 332.50 0.0491385 -147.50 12.50 337.50 0.0602944 -147.50 12.50 342.50 0.104071 -147.50 12.50 347.50 0.14212 -147.50 12.50 352.50 0.170538 -147.50 12.50 357.50 0.200088 -147.50 17.50 2.50 0.507759 -147.50 17.50 7.50 0.658212 -147.50 17.50 12.50 0.768401 -147.50 17.50 17.50 0.895645 -147.50 17.50 22.50 1.05127 -147.50 17.50 27.50 1.284 -147.50 17.50 32.50 1.48102 -147.50 17.50 37.50 1.4099 -147.50 17.50 42.50 1.03144 -147.50 17.50 47.50 0.59262 -147.50 17.50 52.50 0.281274 -147.50 17.50 57.50 0.111885 -147.50 17.50 62.50 0.0422283 -147.50 17.50 67.50 0.0538104 -147.50 17.50 72.50 0.111707 -147.50 17.50 77.50 0.175894 -147.50 17.50 82.50 0.225286 -147.50 17.50 87.50 0.341373 -147.50 17.50 92.50 0.507759 -147.50 17.50 97.50 0.658212 -147.50 17.50 102.50 0.768401 -147.50 17.50 107.50 0.895645 -147.50 17.50 112.50 1.05127 -147.50 17.50 117.50 1.284 -147.50 17.50 122.50 1.48102 -147.50 17.50 127.50 1.4099 -147.50 17.50 132.50 1.03144 -147.50 17.50 137.50 0.59262 -147.50 17.50 142.50 0.281274 -147.50 17.50 147.50 0.111885 -147.50 17.50 152.50 0.0422284 -147.50 17.50 157.50 0.0538103 -147.50 17.50 162.50 0.111707 -147.50 17.50 167.50 0.175894 -147.50 17.50 172.50 0.225285 -147.50 17.50 177.50 0.341373 -147.50 17.50 182.50 0.507759 -147.50 17.50 187.50 0.658212 -147.50 17.50 192.50 0.768401 -147.50 17.50 197.50 0.895645 -147.50 17.50 202.50 1.05127 -147.50 17.50 207.50 1.284 -147.50 17.50 212.50 1.48102 -147.50 17.50 217.50 1.4099 -147.50 17.50 222.50 1.03144 -147.50 17.50 227.50 0.592621 -147.50 17.50 232.50 0.281273 -147.50 17.50 237.50 0.111885 -147.50 17.50 242.50 0.0422283 -147.50 17.50 247.50 0.0538104 -147.50 17.50 252.50 0.111707 -147.50 17.50 257.50 0.175894 -147.50 17.50 262.50 0.225286 -147.50 17.50 267.50 0.341374 -147.50 17.50 272.50 0.507759 -147.50 17.50 277.50 0.658212 -147.50 17.50 282.50 0.768401 -147.50 17.50 287.50 0.895646 -147.50 17.50 292.50 1.05127 -147.50 17.50 297.50 1.284 -147.50 17.50 302.50 1.48102 -147.50 17.50 307.50 1.4099 -147.50 17.50 312.50 1.03144 -147.50 17.50 317.50 0.592621 -147.50 17.50 322.50 0.281274 -147.50 17.50 327.50 0.111885 -147.50 17.50 332.50 0.0422284 -147.50 17.50 337.50 0.0538103 -147.50 17.50 342.50 0.111707 -147.50 17.50 347.50 0.175894 -147.50 17.50 352.50 0.225285 -147.50 17.50 357.50 0.341373 -147.50 22.50 2.50 1.03943 -147.50 22.50 7.50 1.4243 -147.50 22.50 12.50 1.68953 -147.50 22.50 17.50 1.7923 -147.50 22.50 22.50 1.80989 -147.50 22.50 27.50 1.80113 -147.50 22.50 32.50 1.69363 -147.50 22.50 37.50 1.38431 -147.50 22.50 42.50 0.932671 -147.50 22.50 47.50 0.521483 -147.50 22.50 52.50 0.23462 -147.50 22.50 57.50 0.081689 -147.50 22.50 62.50 0.0276613 -147.50 22.50 67.50 0.0323286 -147.50 22.50 72.50 0.078344 -147.50 22.50 77.50 0.165008 -147.50 22.50 82.50 0.307097 -147.50 22.50 87.50 0.593795 -147.50 22.50 92.50 1.03943 -147.50 22.50 97.50 1.4243 -147.50 22.50 102.50 1.68953 -147.50 22.50 107.50 1.7923 -147.50 22.50 112.50 1.80989 -147.50 22.50 117.50 1.80113 -147.50 22.50 122.50 1.69363 -147.50 22.50 127.50 1.38431 -147.50 22.50 132.50 0.932671 -147.50 22.50 137.50 0.521483 -147.50 22.50 142.50 0.23462 -147.50 22.50 147.50 0.081689 -147.50 22.50 152.50 0.0276614 -147.50 22.50 157.50 0.0323286 -147.50 22.50 162.50 0.078344 -147.50 22.50 167.50 0.165007 -147.50 22.50 172.50 0.307097 -147.50 22.50 177.50 0.593795 -147.50 22.50 182.50 1.03943 -147.50 22.50 187.50 1.4243 -147.50 22.50 192.50 1.68953 -147.50 22.50 197.50 1.7923 -147.50 22.50 202.50 1.80989 -147.50 22.50 207.50 1.80113 -147.50 22.50 212.50 1.69363 -147.50 22.50 217.50 1.38431 -147.50 22.50 222.50 0.932671 -147.50 22.50 227.50 0.521484 -147.50 22.50 232.50 0.23462 -147.50 22.50 237.50 0.0816889 -147.50 22.50 242.50 0.0276613 -147.50 22.50 247.50 0.0323286 -147.50 22.50 252.50 0.0783439 -147.50 22.50 257.50 0.165008 -147.50 22.50 262.50 0.307097 -147.50 22.50 267.50 0.593796 -147.50 22.50 272.50 1.03943 -147.50 22.50 277.50 1.4243 -147.50 22.50 282.50 1.68953 -147.50 22.50 287.50 1.7923 -147.50 22.50 292.50 1.80989 -147.50 22.50 297.50 1.80113 -147.50 22.50 302.50 1.69363 -147.50 22.50 307.50 1.38431 -147.50 22.50 312.50 0.932672 -147.50 22.50 317.50 0.521484 -147.50 22.50 322.50 0.234621 -147.50 22.50 327.50 0.0816891 -147.50 22.50 332.50 0.0276614 -147.50 22.50 337.50 0.0323285 -147.50 22.50 342.50 0.0783437 -147.50 22.50 347.50 0.165007 -147.50 22.50 352.50 0.307097 -147.50 22.50 357.50 0.593794 -147.50 27.50 2.50 1.8542 -147.50 27.50 7.50 2.6129 -147.50 27.50 12.50 2.99848 -147.50 27.50 17.50 2.91069 -147.50 27.50 22.50 2.5378 -147.50 27.50 27.50 2.18769 -147.50 27.50 32.50 1.79043 -147.50 27.50 37.50 1.22789 -147.50 27.50 42.50 0.704691 -147.50 27.50 47.50 0.350196 -147.50 27.50 52.50 0.151314 -147.50 27.50 57.50 0.0457689 -147.50 27.50 62.50 0.0107685 -147.50 27.50 67.50 0.0144218 -147.50 27.50 72.50 0.0458892 -147.50 27.50 77.50 0.152508 -147.50 27.50 82.50 0.436383 -147.50 27.50 87.50 0.974831 -147.50 27.50 92.50 1.8542 -147.50 27.50 97.50 2.6129 -147.50 27.50 102.50 2.99848 -147.50 27.50 107.50 2.91069 -147.50 27.50 112.50 2.5378 -147.50 27.50 117.50 2.18769 -147.50 27.50 122.50 1.79043 -147.50 27.50 127.50 1.22789 -147.50 27.50 132.50 0.704691 -147.50 27.50 137.50 0.350196 -147.50 27.50 142.50 0.151314 -147.50 27.50 147.50 0.0457689 -147.50 27.50 152.50 0.0107685 -147.50 27.50 157.50 0.0144218 -147.50 27.50 162.50 0.0458891 -147.50 27.50 167.50 0.152507 -147.50 27.50 172.50 0.436382 -147.50 27.50 177.50 0.974831 -147.50 27.50 182.50 1.8542 -147.50 27.50 187.50 2.6129 -147.50 27.50 192.50 2.99848 -147.50 27.50 197.50 2.91069 -147.50 27.50 202.50 2.5378 -147.50 27.50 207.50 2.18769 -147.50 27.50 212.50 1.79043 -147.50 27.50 217.50 1.22789 -147.50 27.50 222.50 0.704692 -147.50 27.50 227.50 0.350196 -147.50 27.50 232.50 0.151314 -147.50 27.50 237.50 0.0457688 -147.50 27.50 242.50 0.0107685 -147.50 27.50 247.50 0.0144218 -147.50 27.50 252.50 0.0458892 -147.50 27.50 257.50 0.152508 -147.50 27.50 262.50 0.436383 -147.50 27.50 267.50 0.974833 -147.50 27.50 272.50 1.8542 -147.50 27.50 277.50 2.6129 -147.50 27.50 282.50 2.99848 -147.50 27.50 287.50 2.91069 -147.50 27.50 292.50 2.5378 -147.50 27.50 297.50 2.18769 -147.50 27.50 302.50 1.79043 -147.50 27.50 307.50 1.22789 -147.50 27.50 312.50 0.704692 -147.50 27.50 317.50 0.350196 -147.50 27.50 322.50 0.151314 -147.50 27.50 327.50 0.045769 -147.50 27.50 332.50 0.0107685 -147.50 27.50 337.50 0.0144217 -147.50 27.50 342.50 0.045889 -147.50 27.50 347.50 0.152507 -147.50 27.50 352.50 0.436382 -147.50 27.50 357.50 0.974829 -147.50 32.50 2.50 2.76305 -147.50 32.50 7.50 3.93268 -147.50 32.50 12.50 4.32711 -147.50 32.50 17.50 3.89519 -147.50 32.50 22.50 2.95869 -147.50 32.50 27.50 2.24627 -147.50 32.50 32.50 1.58333 -147.50 32.50 37.50 0.948523 -147.50 32.50 42.50 0.455684 -147.50 32.50 47.50 0.185082 -147.50 32.50 52.50 0.0654953 -147.50 32.50 57.50 0.0208731 -147.50 32.50 62.50 0.0062591 -147.50 32.50 67.50 0.0118876 -147.50 32.50 72.50 0.0525425 -147.50 32.50 77.50 0.19514 -147.50 32.50 82.50 0.638209 -147.50 32.50 87.50 1.45577 -147.50 32.50 92.50 2.76305 -147.50 32.50 97.50 3.93268 -147.50 32.50 102.50 4.32711 -147.50 32.50 107.50 3.89519 -147.50 32.50 112.50 2.95869 -147.50 32.50 117.50 2.24627 -147.50 32.50 122.50 1.58333 -147.50 32.50 127.50 0.948522 -147.50 32.50 132.50 0.455684 -147.50 32.50 137.50 0.185082 -147.50 32.50 142.50 0.0654953 -147.50 32.50 147.50 0.0208731 -147.50 32.50 152.50 0.00625912 -147.50 32.50 157.50 0.0118876 -147.50 32.50 162.50 0.0525425 -147.50 32.50 167.50 0.19514 -147.50 32.50 172.50 0.638209 -147.50 32.50 177.50 1.45577 -147.50 32.50 182.50 2.76305 -147.50 32.50 187.50 3.93268 -147.50 32.50 192.50 4.32711 -147.50 32.50 197.50 3.89518 -147.50 32.50 202.50 2.95869 -147.50 32.50 207.50 2.24627 -147.50 32.50 212.50 1.58333 -147.50 32.50 217.50 0.948523 -147.50 32.50 222.50 0.455684 -147.50 32.50 227.50 0.185082 -147.50 32.50 232.50 0.0654952 -147.50 32.50 237.50 0.0208731 -147.50 32.50 242.50 0.00625911 -147.50 32.50 247.50 0.0118876 -147.50 32.50 252.50 0.0525426 -147.50 32.50 257.50 0.19514 -147.50 32.50 262.50 0.63821 -147.50 32.50 267.50 1.45577 -147.50 32.50 272.50 2.76305 -147.50 32.50 277.50 3.93268 -147.50 32.50 282.50 4.32711 -147.50 32.50 287.50 3.89519 -147.50 32.50 292.50 2.95869 -147.50 32.50 297.50 2.24627 -147.50 32.50 302.50 1.58333 -147.50 32.50 307.50 0.948524 -147.50 32.50 312.50 0.455684 -147.50 32.50 317.50 0.185082 -147.50 32.50 322.50 0.0654955 -147.50 32.50 327.50 0.0208732 -147.50 32.50 332.50 0.00625914 -147.50 32.50 337.50 0.0118876 -147.50 32.50 342.50 0.0525424 -147.50 32.50 347.50 0.195139 -147.50 32.50 352.50 0.638208 -147.50 32.50 357.50 1.45577 -147.50 37.50 2.50 3.51916 -147.50 37.50 7.50 4.87331 -147.50 37.50 12.50 5.20278 -147.50 37.50 17.50 4.35209 -147.50 37.50 22.50 3.0749 -147.50 37.50 27.50 2.02369 -147.50 37.50 32.50 1.23878 -147.50 37.50 37.50 0.634299 -147.50 37.50 42.50 0.242966 -147.50 37.50 47.50 0.0745023 -147.50 37.50 52.50 0.0222083 -147.50 37.50 57.50 0.00694582 -147.50 37.50 62.50 0.00937263 -147.50 37.50 67.50 0.0315766 -147.50 37.50 72.50 0.114024 -147.50 37.50 77.50 0.35245 -147.50 37.50 82.50 0.951521 -147.50 37.50 87.50 2.02117 -147.50 37.50 92.50 3.51916 -147.50 37.50 97.50 4.87331 -147.50 37.50 102.50 5.20278 -147.50 37.50 107.50 4.35209 -147.50 37.50 112.50 3.0749 -147.50 37.50 117.50 2.02369 -147.50 37.50 122.50 1.23878 -147.50 37.50 127.50 0.634299 -147.50 37.50 132.50 0.242966 -147.50 37.50 137.50 0.0745024 -147.50 37.50 142.50 0.0222083 -147.50 37.50 147.50 0.00694582 -147.50 37.50 152.50 0.00937261 -147.50 37.50 157.50 0.0315764 -147.50 37.50 162.50 0.114024 -147.50 37.50 167.50 0.35245 -147.50 37.50 172.50 0.95152 -147.50 37.50 177.50 2.02117 -147.50 37.50 182.50 3.51916 -147.50 37.50 187.50 4.87331 -147.50 37.50 192.50 5.20278 -147.50 37.50 197.50 4.35209 -147.50 37.50 202.50 3.0749 -147.50 37.50 207.50 2.02369 -147.50 37.50 212.50 1.23878 -147.50 37.50 217.50 0.6343 -147.50 37.50 222.50 0.242967 -147.50 37.50 227.50 0.0745025 -147.50 37.50 232.50 0.0222083 -147.50 37.50 237.50 0.00694581 -147.50 37.50 242.50 0.00937263 -147.50 37.50 247.50 0.0315765 -147.50 37.50 252.50 0.114024 -147.50 37.50 257.50 0.352451 -147.50 37.50 262.50 0.951523 -147.50 37.50 267.50 2.02117 -147.50 37.50 272.50 3.51916 -147.50 37.50 277.50 4.87332 -147.50 37.50 282.50 5.20278 -147.50 37.50 287.50 4.35209 -147.50 37.50 292.50 3.0749 -147.50 37.50 297.50 2.02369 -147.50 37.50 302.50 1.23878 -147.50 37.50 307.50 0.6343 -147.50 37.50 312.50 0.242967 -147.50 37.50 317.50 0.0745025 -147.50 37.50 322.50 0.0222084 -147.50 37.50 327.50 0.00694582 -147.50 37.50 332.50 0.00937262 -147.50 37.50 337.50 0.0315765 -147.50 37.50 342.50 0.114023 -147.50 37.50 347.50 0.35245 -147.50 37.50 352.50 0.951519 -147.50 37.50 357.50 2.02116 -147.50 42.50 2.50 3.96992 -147.50 42.50 7.50 5.1399 -147.50 42.50 12.50 5.29393 -147.50 42.50 17.50 4.1979 -147.50 42.50 22.50 2.74658 -147.50 42.50 27.50 1.62546 -147.50 42.50 32.50 0.8588 -147.50 42.50 37.50 0.354944 -147.50 42.50 42.50 0.105513 -147.50 42.50 47.50 0.0228352 -147.50 42.50 52.50 0.00640792 -147.50 42.50 57.50 0.00846931 -147.50 42.50 62.50 0.0331133 -147.50 42.50 67.50 0.0982464 -147.50 42.50 72.50 0.263238 -147.50 42.50 77.50 0.663799 -147.50 42.50 82.50 1.43719 -147.50 42.50 87.50 2.62754 -147.50 42.50 92.50 3.96992 -147.50 42.50 97.50 5.1399 -147.50 42.50 102.50 5.29393 -147.50 42.50 107.50 4.1979 -147.50 42.50 112.50 2.74658 -147.50 42.50 117.50 1.62546 -147.50 42.50 122.50 0.8588 -147.50 42.50 127.50 0.354944 -147.50 42.50 132.50 0.105513 -147.50 42.50 137.50 0.0228352 -147.50 42.50 142.50 0.00640792 -147.50 42.50 147.50 0.0084693 -147.50 42.50 152.50 0.0331133 -147.50 42.50 157.50 0.0982462 -147.50 42.50 162.50 0.263237 -147.50 42.50 167.50 0.663799 -147.50 42.50 172.50 1.43719 -147.50 42.50 177.50 2.62754 -147.50 42.50 182.50 3.96992 -147.50 42.50 187.50 5.1399 -147.50 42.50 192.50 5.29393 -147.50 42.50 197.50 4.1979 -147.50 42.50 202.50 2.74658 -147.50 42.50 207.50 1.62546 -147.50 42.50 212.50 0.8588 -147.50 42.50 217.50 0.354944 -147.50 42.50 222.50 0.105513 -147.50 42.50 227.50 0.0228353 -147.50 42.50 232.50 0.00640791 -147.50 42.50 237.50 0.00846933 -147.50 42.50 242.50 0.0331133 -147.50 42.50 247.50 0.0982463 -147.50 42.50 252.50 0.263238 -147.50 42.50 257.50 0.6638 -147.50 42.50 262.50 1.43719 -147.50 42.50 267.50 2.62754 -147.50 42.50 272.50 3.96992 -147.50 42.50 277.50 5.1399 -147.50 42.50 282.50 5.29393 -147.50 42.50 287.50 4.1979 -147.50 42.50 292.50 2.74658 -147.50 42.50 297.50 1.62546 -147.50 42.50 302.50 0.858801 -147.50 42.50 307.50 0.354945 -147.50 42.50 312.50 0.105513 -147.50 42.50 317.50 0.0228353 -147.50 42.50 322.50 0.00640794 -147.50 42.50 327.50 0.00846929 -147.50 42.50 332.50 0.0331132 -147.50 42.50 337.50 0.0982461 -147.50 42.50 342.50 0.263237 -147.50 42.50 347.50 0.663798 -147.50 42.50 352.50 1.43719 -147.50 42.50 357.50 2.62754 -147.50 47.50 2.50 4.10837 -147.50 47.50 7.50 4.74319 -147.50 47.50 12.50 4.56805 -147.50 47.50 17.50 3.36304 -147.50 47.50 22.50 2.01064 -147.50 47.50 27.50 1.05436 -147.50 47.50 32.50 0.495621 -147.50 47.50 37.50 0.174476 -147.50 47.50 42.50 0.0426947 -147.50 47.50 47.50 0.0101159 -147.50 47.50 52.50 0.00769701 -147.50 47.50 57.50 0.0399896 -147.50 47.50 62.50 0.12273 -147.50 47.50 67.50 0.302599 -147.50 47.50 72.50 0.60811 -147.50 47.50 77.50 1.20034 -147.50 47.50 82.50 2.1423 -147.50 47.50 87.50 3.2602 -147.50 47.50 92.50 4.10837 -147.50 47.50 97.50 4.74319 -147.50 47.50 102.50 4.56805 -147.50 47.50 107.50 3.36304 -147.50 47.50 112.50 2.01064 -147.50 47.50 117.50 1.05436 -147.50 47.50 122.50 0.495621 -147.50 47.50 127.50 0.174476 -147.50 47.50 132.50 0.0426947 -147.50 47.50 137.50 0.0101159 -147.50 47.50 142.50 0.007697 -147.50 47.50 147.50 0.0399896 -147.50 47.50 152.50 0.122729 -147.50 47.50 157.50 0.302599 -147.50 47.50 162.50 0.608109 -147.50 47.50 167.50 1.20034 -147.50 47.50 172.50 2.1423 -147.50 47.50 177.50 3.2602 -147.50 47.50 182.50 4.10837 -147.50 47.50 187.50 4.74319 -147.50 47.50 192.50 4.56805 -147.50 47.50 197.50 3.36304 -147.50 47.50 202.50 2.01063 -147.50 47.50 207.50 1.05436 -147.50 47.50 212.50 0.495621 -147.50 47.50 217.50 0.174476 -147.50 47.50 222.50 0.0426947 -147.50 47.50 227.50 0.0101159 -147.50 47.50 232.50 0.00769703 -147.50 47.50 237.50 0.0399896 -147.50 47.50 242.50 0.12273 -147.50 47.50 247.50 0.302599 -147.50 47.50 252.50 0.60811 -147.50 47.50 257.50 1.20034 -147.50 47.50 262.50 2.1423 -147.50 47.50 267.50 3.2602 -147.50 47.50 272.50 4.10837 -147.50 47.50 277.50 4.74319 -147.50 47.50 282.50 4.56805 -147.50 47.50 287.50 3.36304 -147.50 47.50 292.50 2.01064 -147.50 47.50 297.50 1.05436 -147.50 47.50 302.50 0.495622 -147.50 47.50 307.50 0.174477 -147.50 47.50 312.50 0.0426948 -147.50 47.50 317.50 0.0101159 -147.50 47.50 322.50 0.00769699 -147.50 47.50 327.50 0.0399895 -147.50 47.50 332.50 0.122729 -147.50 47.50 337.50 0.302598 -147.50 47.50 342.50 0.608109 -147.50 47.50 347.50 1.20034 -147.50 47.50 352.50 2.1423 -147.50 47.50 357.50 3.2602 -147.50 52.50 2.50 3.96992 -147.50 52.50 7.50 3.81272 -147.50 52.50 12.50 3.2544 -147.50 52.50 17.50 2.16952 -147.50 52.50 22.50 1.16653 -147.50 52.50 27.50 0.537618 -147.50 52.50 32.50 0.203738 -147.50 52.50 37.50 0.0729034 -147.50 52.50 42.50 0.018945 -147.50 52.50 47.50 0.00708744 -147.50 52.50 52.50 0.0282612 -147.50 52.50 57.50 0.129828 -147.50 52.50 62.50 0.383345 -147.50 52.50 67.50 0.804092 -147.50 52.50 72.50 1.34208 -147.50 52.50 77.50 2.10616 -147.50 52.50 82.50 3.09998 -147.50 52.50 87.50 3.87971 -147.50 52.50 92.50 3.96991 -147.50 52.50 97.50 3.81272 -147.50 52.50 102.50 3.2544 -147.50 52.50 107.50 2.16953 -147.50 52.50 112.50 1.16653 -147.50 52.50 117.50 0.537618 -147.50 52.50 122.50 0.203738 -147.50 52.50 127.50 0.0729033 -147.50 52.50 132.50 0.018945 -147.50 52.50 137.50 0.00708744 -147.50 52.50 142.50 0.0282612 -147.50 52.50 147.50 0.129828 -147.50 52.50 152.50 0.383344 -147.50 52.50 157.50 0.804091 -147.50 52.50 162.50 1.34208 -147.50 52.50 167.50 2.10616 -147.50 52.50 172.50 3.09997 -147.50 52.50 177.50 3.87971 -147.50 52.50 182.50 3.96992 -147.50 52.50 187.50 3.81272 -147.50 52.50 192.50 3.2544 -147.50 52.50 197.50 2.16952 -147.50 52.50 202.50 1.16653 -147.50 52.50 207.50 0.537618 -147.50 52.50 212.50 0.203738 -147.50 52.50 217.50 0.0729035 -147.50 52.50 222.50 0.0189451 -147.50 52.50 227.50 0.00708743 -147.50 52.50 232.50 0.0282613 -147.50 52.50 237.50 0.129828 -147.50 52.50 242.50 0.383344 -147.50 52.50 247.50 0.804091 -147.50 52.50 252.50 1.34208 -147.50 52.50 257.50 2.10617 -147.50 52.50 262.50 3.09998 -147.50 52.50 267.50 3.87971 -147.50 52.50 272.50 3.96992 -147.50 52.50 277.50 3.81272 -147.50 52.50 282.50 3.2544 -147.50 52.50 287.50 2.16953 -147.50 52.50 292.50 1.16653 -147.50 52.50 297.50 0.537619 -147.50 52.50 302.50 0.203738 -147.50 52.50 307.50 0.0729036 -147.50 52.50 312.50 0.0189451 -147.50 52.50 317.50 0.00708743 -147.50 52.50 322.50 0.0282612 -147.50 52.50 327.50 0.129828 -147.50 52.50 332.50 0.383343 -147.50 52.50 337.50 0.804091 -147.50 52.50 342.50 1.34208 -147.50 52.50 347.50 2.10616 -147.50 52.50 352.50 3.09997 -147.50 52.50 357.50 3.87971 -147.50 57.50 2.50 3.51916 -147.50 57.50 7.50 2.6262 -147.50 57.50 12.50 1.82692 -147.50 57.50 17.50 1.05389 -147.50 57.50 22.50 0.5042 -147.50 57.50 27.50 0.205573 -147.50 57.50 32.50 0.0726641 -147.50 57.50 37.50 0.0239199 -147.50 57.50 42.50 0.0108007 -147.50 57.50 47.50 0.0261523 -147.50 57.50 52.50 0.0895864 -147.50 57.50 57.50 0.316239 -147.50 57.50 62.50 0.839496 -147.50 57.50 67.50 1.65246 -147.50 57.50 72.50 2.54213 -147.50 57.50 77.50 3.39737 -147.50 57.50 82.50 4.11789 -147.50 57.50 87.50 4.29612 -147.50 57.50 92.50 3.51916 -147.50 57.50 97.50 2.6262 -147.50 57.50 102.50 1.82692 -147.50 57.50 107.50 1.05389 -147.50 57.50 112.50 0.5042 -147.50 57.50 117.50 0.205572 -147.50 57.50 122.50 0.072664 -147.50 57.50 127.50 0.0239199 -147.50 57.50 132.50 0.0108007 -147.50 57.50 137.50 0.0261522 -147.50 57.50 142.50 0.0895863 -147.50 57.50 147.50 0.316239 -147.50 57.50 152.50 0.839494 -147.50 57.50 157.50 1.65246 -147.50 57.50 162.50 2.54212 -147.50 57.50 167.50 3.39737 -147.50 57.50 172.50 4.11789 -147.50 57.50 177.50 4.29612 -147.50 57.50 182.50 3.51915 -147.50 57.50 187.50 2.6262 -147.50 57.50 192.50 1.82692 -147.50 57.50 197.50 1.05389 -147.50 57.50 202.50 0.5042 -147.50 57.50 207.50 0.205573 -147.50 57.50 212.50 0.0726641 -147.50 57.50 217.50 0.0239199 -147.50 57.50 222.50 0.0108007 -147.50 57.50 227.50 0.0261523 -147.50 57.50 232.50 0.0895869 -147.50 57.50 237.50 0.31624 -147.50 57.50 242.50 0.839496 -147.50 57.50 247.50 1.65246 -147.50 57.50 252.50 2.54213 -147.50 57.50 257.50 3.39737 -147.50 57.50 262.50 4.11789 -147.50 57.50 267.50 4.29611 -147.50 57.50 272.50 3.51916 -147.50 57.50 277.50 2.6262 -147.50 57.50 282.50 1.82692 -147.50 57.50 287.50 1.05389 -147.50 57.50 292.50 0.5042 -147.50 57.50 297.50 0.205573 -147.50 57.50 302.50 0.0726641 -147.50 57.50 307.50 0.0239199 -147.50 57.50 312.50 0.0108007 -147.50 57.50 317.50 0.0261523 -147.50 57.50 322.50 0.0895862 -147.50 57.50 327.50 0.316239 -147.50 57.50 332.50 0.839494 -147.50 57.50 337.50 1.65246 -147.50 57.50 342.50 2.54212 -147.50 57.50 347.50 3.39737 -147.50 57.50 352.50 4.11789 -147.50 57.50 357.50 4.29611 -147.50 62.50 2.50 2.76305 -147.50 62.50 7.50 1.58308 -147.50 62.50 12.50 0.821724 -147.50 62.50 17.50 0.392814 -147.50 62.50 22.50 0.15771 -147.50 62.50 27.50 0.0566323 -147.50 62.50 32.50 0.0214389 -147.50 62.50 37.50 0.0127465 -147.50 62.50 42.50 0.0254595 -147.50 62.50 47.50 0.0876721 -147.50 62.50 52.50 0.259503 -147.50 62.50 57.50 0.699767 -147.50 62.50 62.50 1.52693 -147.50 62.50 67.50 2.71893 -147.50 62.50 72.50 3.88523 -147.50 62.50 77.50 4.56616 -147.50 62.50 82.50 4.70581 -147.50 62.50 87.50 4.16844 -147.50 62.50 92.50 2.76305 -147.50 62.50 97.50 1.58308 -147.50 62.50 102.50 0.821724 -147.50 62.50 107.50 0.392814 -147.50 62.50 112.50 0.157709 -147.50 62.50 117.50 0.0566321 -147.50 62.50 122.50 0.0214389 -147.50 62.50 127.50 0.0127465 -147.50 62.50 132.50 0.0254595 -147.50 62.50 137.50 0.0876721 -147.50 62.50 142.50 0.259503 -147.50 62.50 147.50 0.699767 -147.50 62.50 152.50 1.52692 -147.50 62.50 157.50 2.71893 -147.50 62.50 162.50 3.88523 -147.50 62.50 167.50 4.56616 -147.50 62.50 172.50 4.70581 -147.50 62.50 177.50 4.16844 -147.50 62.50 182.50 2.76305 -147.50 62.50 187.50 1.58308 -147.50 62.50 192.50 0.821724 -147.50 62.50 197.50 0.392813 -147.50 62.50 202.50 0.157709 -147.50 62.50 207.50 0.0566322 -147.50 62.50 212.50 0.0214389 -147.50 62.50 217.50 0.0127465 -147.50 62.50 222.50 0.0254595 -147.50 62.50 227.50 0.0876721 -147.50 62.50 232.50 0.259504 -147.50 62.50 237.50 0.699768 -147.50 62.50 242.50 1.52693 -147.50 62.50 247.50 2.71893 -147.50 62.50 252.50 3.88523 -147.50 62.50 257.50 4.56617 -147.50 62.50 262.50 4.70581 -147.50 62.50 267.50 4.16844 -147.50 62.50 272.50 2.76305 -147.50 62.50 277.50 1.58308 -147.50 62.50 282.50 0.821724 -147.50 62.50 287.50 0.392814 -147.50 62.50 292.50 0.15771 -147.50 62.50 297.50 0.0566323 -147.50 62.50 302.50 0.0214389 -147.50 62.50 307.50 0.0127466 -147.50 62.50 312.50 0.0254595 -147.50 62.50 317.50 0.0876721 -147.50 62.50 322.50 0.259503 -147.50 62.50 327.50 0.699766 -147.50 62.50 332.50 1.52692 -147.50 62.50 337.50 2.71893 -147.50 62.50 342.50 3.88522 -147.50 62.50 347.50 4.56616 -147.50 62.50 352.50 4.70581 -147.50 62.50 357.50 4.16844 -147.50 67.50 2.50 1.8542 -147.50 67.50 7.50 0.852008 -147.50 67.50 12.50 0.339317 -147.50 67.50 17.50 0.121949 -147.50 67.50 22.50 0.0410491 -147.50 67.50 27.50 0.0122644 -147.50 67.50 32.50 0.00824426 -147.50 67.50 37.50 0.0164849 -147.50 67.50 42.50 0.074197 -147.50 67.50 47.50 0.247323 -147.50 67.50 52.50 0.587849 -147.50 67.50 57.50 1.22292 -147.50 67.50 62.50 2.34757 -147.50 67.50 67.50 3.72494 -147.50 67.50 72.50 4.66731 -147.50 67.50 77.50 4.86452 -147.50 67.50 82.50 4.44461 -147.50 67.50 87.50 3.37804 -147.50 67.50 92.50 1.8542 -147.50 67.50 97.50 0.852007 -147.50 67.50 102.50 0.339317 -147.50 67.50 107.50 0.121949 -147.50 67.50 112.50 0.041049 -147.50 67.50 117.50 0.0122644 -147.50 67.50 122.50 0.00824425 -147.50 67.50 127.50 0.0164849 -147.50 67.50 132.50 0.074197 -147.50 67.50 137.50 0.247323 -147.50 67.50 142.50 0.587848 -147.50 67.50 147.50 1.22292 -147.50 67.50 152.50 2.34757 -147.50 67.50 157.50 3.72494 -147.50 67.50 162.50 4.6673 -147.50 67.50 167.50 4.86452 -147.50 67.50 172.50 4.44461 -147.50 67.50 177.50 3.37804 -147.50 67.50 182.50 1.8542 -147.50 67.50 187.50 0.852007 -147.50 67.50 192.50 0.339317 -147.50 67.50 197.50 0.121949 -147.50 67.50 202.50 0.041049 -147.50 67.50 207.50 0.0122644 -147.50 67.50 212.50 0.00824426 -147.50 67.50 217.50 0.0164849 -147.50 67.50 222.50 0.074197 -147.50 67.50 227.50 0.247323 -147.50 67.50 232.50 0.58785 -147.50 67.50 237.50 1.22292 -147.50 67.50 242.50 2.34757 -147.50 67.50 247.50 3.72494 -147.50 67.50 252.50 4.6673 -147.50 67.50 257.50 4.86452 -147.50 67.50 262.50 4.44461 -147.50 67.50 267.50 3.37803 -147.50 67.50 272.50 1.8542 -147.50 67.50 277.50 0.852008 -147.50 67.50 282.50 0.339317 -147.50 67.50 287.50 0.121949 -147.50 67.50 292.50 0.0410491 -147.50 67.50 297.50 0.0122644 -147.50 67.50 302.50 0.00824427 -147.50 67.50 307.50 0.0164849 -147.50 67.50 312.50 0.074197 -147.50 67.50 317.50 0.247323 -147.50 67.50 322.50 0.587848 -147.50 67.50 327.50 1.22292 -147.50 67.50 332.50 2.34757 -147.50 67.50 337.50 3.72494 -147.50 67.50 342.50 4.6673 -147.50 67.50 347.50 4.86452 -147.50 67.50 352.50 4.44461 -147.50 67.50 357.50 3.37804 -147.50 72.50 2.50 1.03943 -147.50 72.50 7.50 0.403743 -147.50 72.50 12.50 0.130629 -147.50 72.50 17.50 0.0382099 -147.50 72.50 22.50 0.0118953 -147.50 72.50 27.50 0.00686939 -147.50 72.50 32.50 0.0103048 -147.50 72.50 37.50 0.0350047 -147.50 72.50 42.50 0.135272 -147.50 72.50 47.50 0.386244 -147.50 72.50 52.50 0.852292 -147.50 72.50 57.50 1.59131 -147.50 72.50 62.50 2.6994 -147.50 72.50 67.50 3.82885 -147.50 72.50 72.50 4.44627 -147.50 72.50 77.50 4.18347 -147.50 72.50 82.50 3.40278 -147.50 72.50 87.50 2.24898 -147.50 72.50 92.50 1.03943 -147.50 72.50 97.50 0.403743 -147.50 72.50 102.50 0.130629 -147.50 72.50 107.50 0.0382099 -147.50 72.50 112.50 0.0118953 -147.50 72.50 117.50 0.00686939 -147.50 72.50 122.50 0.0103048 -147.50 72.50 127.50 0.0350047 -147.50 72.50 132.50 0.135272 -147.50 72.50 137.50 0.386244 -147.50 72.50 142.50 0.852292 -147.50 72.50 147.50 1.59131 -147.50 72.50 152.50 2.69939 -147.50 72.50 157.50 3.82885 -147.50 72.50 162.50 4.44627 -147.50 72.50 167.50 4.18347 -147.50 72.50 172.50 3.40279 -147.50 72.50 177.50 2.24898 -147.50 72.50 182.50 1.03943 -147.50 72.50 187.50 0.403743 -147.50 72.50 192.50 0.130629 -147.50 72.50 197.50 0.0382099 -147.50 72.50 202.50 0.0118953 -147.50 72.50 207.50 0.0068694 -147.50 72.50 212.50 0.0103048 -147.50 72.50 217.50 0.0350047 -147.50 72.50 222.50 0.135272 -147.50 72.50 227.50 0.386244 -147.50 72.50 232.50 0.852294 -147.50 72.50 237.50 1.59131 -147.50 72.50 242.50 2.6994 -147.50 72.50 247.50 3.82885 -147.50 72.50 252.50 4.44627 -147.50 72.50 257.50 4.18347 -147.50 72.50 262.50 3.40278 -147.50 72.50 267.50 2.24898 -147.50 72.50 272.50 1.03943 -147.50 72.50 277.50 0.403743 -147.50 72.50 282.50 0.130629 -147.50 72.50 287.50 0.0382099 -147.50 72.50 292.50 0.0118953 -147.50 72.50 297.50 0.00686939 -147.50 72.50 302.50 0.0103048 -147.50 72.50 307.50 0.0350046 -147.50 72.50 312.50 0.135272 -147.50 72.50 317.50 0.386244 -147.50 72.50 322.50 0.852291 -147.50 72.50 327.50 1.59131 -147.50 72.50 332.50 2.69939 -147.50 72.50 337.50 3.82885 -147.50 72.50 342.50 4.44627 -147.50 72.50 347.50 4.18347 -147.50 72.50 352.50 3.40279 -147.50 72.50 357.50 2.24899 -147.50 77.50 2.50 0.507759 -147.50 77.50 7.50 0.171068 -147.50 77.50 12.50 0.0498479 -147.50 77.50 17.50 0.0197533 -147.50 77.50 22.50 0.010016 -147.50 77.50 27.50 0.00596035 -147.50 77.50 32.50 0.015902 -147.50 77.50 37.50 0.0581526 -147.50 77.50 42.50 0.145 -147.50 77.50 47.50 0.363721 -147.50 77.50 52.50 0.776982 -147.50 77.50 57.50 1.52481 -147.50 77.50 62.50 2.3256 -147.50 77.50 67.50 2.90877 -147.50 77.50 72.50 3.09226 -147.50 77.50 77.50 2.88301 -147.50 77.50 82.50 2.17851 -147.50 77.50 87.50 1.28335 -147.50 77.50 92.50 0.507759 -147.50 77.50 97.50 0.171068 -147.50 77.50 102.50 0.0498479 -147.50 77.50 107.50 0.0197533 -147.50 77.50 112.50 0.010016 -147.50 77.50 117.50 0.00596034 -147.50 77.50 122.50 0.015902 -147.50 77.50 127.50 0.0581528 -147.50 77.50 132.50 0.145 -147.50 77.50 137.50 0.363721 -147.50 77.50 142.50 0.776982 -147.50 77.50 147.50 1.52481 -147.50 77.50 152.50 2.3256 -147.50 77.50 157.50 2.90877 -147.50 77.50 162.50 3.09226 -147.50 77.50 167.50 2.883 -147.50 77.50 172.50 2.17851 -147.50 77.50 177.50 1.28335 -147.50 77.50 182.50 0.507759 -147.50 77.50 187.50 0.171068 -147.50 77.50 192.50 0.0498479 -147.50 77.50 197.50 0.0197533 -147.50 77.50 202.50 0.010016 -147.50 77.50 207.50 0.00596036 -147.50 77.50 212.50 0.015902 -147.50 77.50 217.50 0.0581527 -147.50 77.50 222.50 0.145 -147.50 77.50 227.50 0.363721 -147.50 77.50 232.50 0.776984 -147.50 77.50 237.50 1.52482 -147.50 77.50 242.50 2.3256 -147.50 77.50 247.50 2.90877 -147.50 77.50 252.50 3.09226 -147.50 77.50 257.50 2.883 -147.50 77.50 262.50 2.17851 -147.50 77.50 267.50 1.28335 -147.50 77.50 272.50 0.507759 -147.50 77.50 277.50 0.171068 -147.50 77.50 282.50 0.0498479 -147.50 77.50 287.50 0.0197533 -147.50 77.50 292.50 0.010016 -147.50 77.50 297.50 0.00596035 -147.50 77.50 302.50 0.015902 -147.50 77.50 307.50 0.0581526 -147.50 77.50 312.50 0.145 -147.50 77.50 317.50 0.36372 -147.50 77.50 322.50 0.776981 -147.50 77.50 327.50 1.52481 -147.50 77.50 332.50 2.3256 -147.50 77.50 337.50 2.90877 -147.50 77.50 342.50 3.09226 -147.50 77.50 347.50 2.88301 -147.50 77.50 352.50 2.17851 -147.50 77.50 357.50 1.28335 -147.50 82.50 2.50 0.241647 -147.50 82.50 7.50 0.07628 -147.50 82.50 12.50 0.0394667 -147.50 82.50 17.50 0.0349928 -147.50 82.50 22.50 0.0320291 -147.50 82.50 27.50 0.0237957 -147.50 82.50 32.50 0.0426498 -147.50 82.50 37.50 0.0806687 -147.50 82.50 42.50 0.146365 -147.50 82.50 47.50 0.297285 -147.50 82.50 52.50 0.591249 -147.50 82.50 57.50 1.06492 -147.50 82.50 62.50 1.55445 -147.50 82.50 67.50 1.74237 -147.50 82.50 72.50 1.66071 -147.50 82.50 77.50 1.43343 -147.50 82.50 82.50 1.18198 -147.50 82.50 87.50 0.674684 -147.50 82.50 92.50 0.241647 -147.50 82.50 97.50 0.0762799 -147.50 82.50 102.50 0.0394666 -147.50 82.50 107.50 0.0349927 -147.50 82.50 112.50 0.032029 -147.50 82.50 117.50 0.0237957 -147.50 82.50 122.50 0.0426498 -147.50 82.50 127.50 0.0806686 -147.50 82.50 132.50 0.146365 -147.50 82.50 137.50 0.297285 -147.50 82.50 142.50 0.591249 -147.50 82.50 147.50 1.06492 -147.50 82.50 152.50 1.55445 -147.50 82.50 157.50 1.74237 -147.50 82.50 162.50 1.66071 -147.50 82.50 167.50 1.43343 -147.50 82.50 172.50 1.18198 -147.50 82.50 177.50 0.674684 -147.50 82.50 182.50 0.241647 -147.50 82.50 187.50 0.0762799 -147.50 82.50 192.50 0.0394666 -147.50 82.50 197.50 0.0349927 -147.50 82.50 202.50 0.0320291 -147.50 82.50 207.50 0.0237957 -147.50 82.50 212.50 0.0426498 -147.50 82.50 217.50 0.0806688 -147.50 82.50 222.50 0.146365 -147.50 82.50 227.50 0.297285 -147.50 82.50 232.50 0.591249 -147.50 82.50 237.50 1.06492 -147.50 82.50 242.50 1.55445 -147.50 82.50 247.50 1.74237 -147.50 82.50 252.50 1.66071 -147.50 82.50 257.50 1.43343 -147.50 82.50 262.50 1.18198 -147.50 82.50 267.50 0.674683 -147.50 82.50 272.50 0.241647 -147.50 82.50 277.50 0.07628 -147.50 82.50 282.50 0.0394667 -147.50 82.50 287.50 0.0349928 -147.50 82.50 292.50 0.0320291 -147.50 82.50 297.50 0.0237957 -147.50 82.50 302.50 0.0426498 -147.50 82.50 307.50 0.0806687 -147.50 82.50 312.50 0.146365 -147.50 82.50 317.50 0.297285 -147.50 82.50 322.50 0.591248 -147.50 82.50 327.50 1.06492 -147.50 82.50 332.50 1.55445 -147.50 82.50 337.50 1.74237 -147.50 82.50 342.50 1.66071 -147.50 82.50 347.50 1.43343 -147.50 82.50 352.50 1.18198 -147.50 82.50 357.50 0.674686 -147.50 87.50 2.50 0.116068 -147.50 87.50 7.50 0.0604835 -147.50 87.50 12.50 0.0890687 -147.50 87.50 17.50 0.0995678 -147.50 87.50 22.50 0.0805733 -147.50 87.50 27.50 0.0748524 -147.50 87.50 32.50 0.0921633 -147.50 87.50 37.50 0.117472 -147.50 87.50 42.50 0.169272 -147.50 87.50 47.50 0.270632 -147.50 87.50 52.50 0.440733 -147.50 87.50 57.50 0.674144 -147.50 87.50 62.50 0.857913 -147.50 87.50 67.50 0.848224 -147.50 87.50 72.50 0.738607 -147.50 87.50 77.50 0.660438 -147.50 87.50 82.50 0.516306 -147.50 87.50 87.50 0.311672 -147.50 87.50 92.50 0.116068 -147.50 87.50 97.50 0.0604835 -147.50 87.50 102.50 0.0890686 -147.50 87.50 107.50 0.0995677 -147.50 87.50 112.50 0.0805732 -147.50 87.50 117.50 0.0748523 -147.50 87.50 122.50 0.0921632 -147.50 87.50 127.50 0.117472 -147.50 87.50 132.50 0.169272 -147.50 87.50 137.50 0.270632 -147.50 87.50 142.50 0.440733 -147.50 87.50 147.50 0.674144 -147.50 87.50 152.50 0.857913 -147.50 87.50 157.50 0.848225 -147.50 87.50 162.50 0.738607 -147.50 87.50 167.50 0.660439 -147.50 87.50 172.50 0.516307 -147.50 87.50 177.50 0.311672 -147.50 87.50 182.50 0.116068 -147.50 87.50 187.50 0.0604834 -147.50 87.50 192.50 0.0890686 -147.50 87.50 197.50 0.0995677 -147.50 87.50 202.50 0.0805733 -147.50 87.50 207.50 0.0748524 -147.50 87.50 212.50 0.0921633 -147.50 87.50 217.50 0.117472 -147.50 87.50 222.50 0.169272 -147.50 87.50 227.50 0.270632 -147.50 87.50 232.50 0.440734 -147.50 87.50 237.50 0.674145 -147.50 87.50 242.50 0.857914 -147.50 87.50 247.50 0.848225 -147.50 87.50 252.50 0.738607 -147.50 87.50 257.50 0.660438 -147.50 87.50 262.50 0.516306 -147.50 87.50 267.50 0.311672 -147.50 87.50 272.50 0.116068 -147.50 87.50 277.50 0.0604835 -147.50 87.50 282.50 0.0890686 -147.50 87.50 287.50 0.0995678 -147.50 87.50 292.50 0.0805734 -147.50 87.50 297.50 0.0748524 -147.50 87.50 302.50 0.0921633 -147.50 87.50 307.50 0.117472 -147.50 87.50 312.50 0.169272 -147.50 87.50 317.50 0.270632 -147.50 87.50 322.50 0.440732 -147.50 87.50 327.50 0.674143 -147.50 87.50 332.50 0.857912 -147.50 87.50 337.50 0.848225 -147.50 87.50 342.50 0.738607 -147.50 87.50 347.50 0.660438 -147.50 87.50 352.50 0.516307 -147.50 87.50 357.50 0.311672 -147.50 92.50 2.50 0.0760386 -147.50 92.50 7.50 0.118631 -147.50 92.50 12.50 0.202442 -147.50 92.50 17.50 0.252721 -147.50 92.50 22.50 0.273722 -147.50 92.50 27.50 0.315204 -147.50 92.50 32.50 0.348473 -147.50 92.50 37.50 0.328532 -147.50 92.50 42.50 0.288878 -147.50 92.50 47.50 0.272741 -147.50 92.50 52.50 0.288878 -147.50 92.50 57.50 0.328531 -147.50 92.50 62.50 0.348473 -147.50 92.50 67.50 0.315204 -147.50 92.50 72.50 0.273722 -147.50 92.50 77.50 0.252721 -147.50 92.50 82.50 0.202441 -147.50 92.50 87.50 0.118631 -147.50 92.50 92.50 0.0760385 -147.50 92.50 97.50 0.118631 -147.50 92.50 102.50 0.202441 -147.50 92.50 107.50 0.252721 -147.50 92.50 112.50 0.273722 -147.50 92.50 117.50 0.315204 -147.50 92.50 122.50 0.348473 -147.50 92.50 127.50 0.328531 -147.50 92.50 132.50 0.288878 -147.50 92.50 137.50 0.272741 -147.50 92.50 142.50 0.288878 -147.50 92.50 147.50 0.328532 -147.50 92.50 152.50 0.348473 -147.50 92.50 157.50 0.315204 -147.50 92.50 162.50 0.273722 -147.50 92.50 167.50 0.252721 -147.50 92.50 172.50 0.202441 -147.50 92.50 177.50 0.118631 -147.50 92.50 182.50 0.0760386 -147.50 92.50 187.50 0.118631 -147.50 92.50 192.50 0.202441 -147.50 92.50 197.50 0.252721 -147.50 92.50 202.50 0.273722 -147.50 92.50 207.50 0.315204 -147.50 92.50 212.50 0.348473 -147.50 92.50 217.50 0.328532 -147.50 92.50 222.50 0.288878 -147.50 92.50 227.50 0.272741 -147.50 92.50 232.50 0.288878 -147.50 92.50 237.50 0.328532 -147.50 92.50 242.50 0.348473 -147.50 92.50 247.50 0.315204 -147.50 92.50 252.50 0.273721 -147.50 92.50 257.50 0.252721 -147.50 92.50 262.50 0.202441 -147.50 92.50 267.50 0.118631 -147.50 92.50 272.50 0.0760386 -147.50 92.50 277.50 0.118631 -147.50 92.50 282.50 0.202441 -147.50 92.50 287.50 0.252721 -147.50 92.50 292.50 0.273722 -147.50 92.50 297.50 0.315204 -147.50 92.50 302.50 0.348473 -147.50 92.50 307.50 0.328532 -147.50 92.50 312.50 0.288878 -147.50 92.50 317.50 0.272741 -147.50 92.50 322.50 0.288878 -147.50 92.50 327.50 0.328531 -147.50 92.50 332.50 0.348473 -147.50 92.50 337.50 0.315204 -147.50 92.50 342.50 0.273722 -147.50 92.50 347.50 0.252721 -147.50 92.50 352.50 0.202442 -147.50 92.50 357.50 0.118632 -147.50 97.50 2.50 0.116068 -147.50 97.50 7.50 0.311672 -147.50 97.50 12.50 0.516307 -147.50 97.50 17.50 0.660439 -147.50 97.50 22.50 0.738607 -147.50 97.50 27.50 0.848225 -147.50 97.50 32.50 0.857913 -147.50 97.50 37.50 0.674145 -147.50 97.50 42.50 0.440733 -147.50 97.50 47.50 0.270632 -147.50 97.50 52.50 0.169271 -147.50 97.50 57.50 0.117472 -147.50 97.50 62.50 0.0921633 -147.50 97.50 67.50 0.0748524 -147.50 97.50 72.50 0.0805733 -147.50 97.50 77.50 0.0995677 -147.50 97.50 82.50 0.0890686 -147.50 97.50 87.50 0.0604835 -147.50 97.50 92.50 0.116068 -147.50 97.50 97.50 0.311672 -147.50 97.50 102.50 0.516306 -147.50 97.50 107.50 0.660438 -147.50 97.50 112.50 0.738606 -147.50 97.50 117.50 0.848224 -147.50 97.50 122.50 0.857912 -147.50 97.50 127.50 0.674144 -147.50 97.50 132.50 0.440733 -147.50 97.50 137.50 0.270632 -147.50 97.50 142.50 0.169272 -147.50 97.50 147.50 0.117472 -147.50 97.50 152.50 0.0921633 -147.50 97.50 157.50 0.0748525 -147.50 97.50 162.50 0.0805734 -147.50 97.50 167.50 0.0995678 -147.50 97.50 172.50 0.0890687 -147.50 97.50 177.50 0.0604834 -147.50 97.50 182.50 0.116068 -147.50 97.50 187.50 0.311672 -147.50 97.50 192.50 0.516306 -147.50 97.50 197.50 0.660438 -147.50 97.50 202.50 0.738606 -147.50 97.50 207.50 0.848224 -147.50 97.50 212.50 0.857913 -147.50 97.50 217.50 0.674145 -147.50 97.50 222.50 0.440733 -147.50 97.50 227.50 0.270632 -147.50 97.50 232.50 0.169271 -147.50 97.50 237.50 0.117472 -147.50 97.50 242.50 0.0921633 -147.50 97.50 247.50 0.0748525 -147.50 97.50 252.50 0.0805735 -147.50 97.50 257.50 0.0995678 -147.50 97.50 262.50 0.0890685 -147.50 97.50 267.50 0.0604835 -147.50 97.50 272.50 0.116068 -147.50 97.50 277.50 0.311672 -147.50 97.50 282.50 0.516306 -147.50 97.50 287.50 0.660438 -147.50 97.50 292.50 0.738606 -147.50 97.50 297.50 0.848225 -147.50 97.50 302.50 0.857913 -147.50 97.50 307.50 0.674144 -147.50 97.50 312.50 0.440733 -147.50 97.50 317.50 0.270632 -147.50 97.50 322.50 0.169272 -147.50 97.50 327.50 0.117472 -147.50 97.50 332.50 0.0921634 -147.50 97.50 337.50 0.0748525 -147.50 97.50 342.50 0.0805733 -147.50 97.50 347.50 0.0995676 -147.50 97.50 352.50 0.0890687 -147.50 97.50 357.50 0.0604834 -147.50 102.50 2.50 0.241647 -147.50 102.50 7.50 0.674684 -147.50 102.50 12.50 1.18198 -147.50 102.50 17.50 1.43343 -147.50 102.50 22.50 1.66071 -147.50 102.50 27.50 1.74237 -147.50 102.50 32.50 1.55445 -147.50 102.50 37.50 1.06492 -147.50 102.50 42.50 0.591249 -147.50 102.50 47.50 0.297285 -147.50 102.50 52.50 0.146365 -147.50 102.50 57.50 0.0806687 -147.50 102.50 62.50 0.0426498 -147.50 102.50 67.50 0.0237957 -147.50 102.50 72.50 0.0320291 -147.50 102.50 77.50 0.0349927 -147.50 102.50 82.50 0.0394666 -147.50 102.50 87.50 0.07628 -147.50 102.50 92.50 0.241647 -147.50 102.50 97.50 0.674684 -147.50 102.50 102.50 1.18198 -147.50 102.50 107.50 1.43344 -147.50 102.50 112.50 1.66071 -147.50 102.50 117.50 1.74237 -147.50 102.50 122.50 1.55445 -147.50 102.50 127.50 1.06492 -147.50 102.50 132.50 0.591248 -147.50 102.50 137.50 0.297285 -147.50 102.50 142.50 0.146365 -147.50 102.50 147.50 0.0806687 -147.50 102.50 152.50 0.0426498 -147.50 102.50 157.50 0.0237957 -147.50 102.50 162.50 0.0320291 -147.50 102.50 167.50 0.0349928 -147.50 102.50 172.50 0.0394666 -147.50 102.50 177.50 0.0762799 -147.50 102.50 182.50 0.241647 -147.50 102.50 187.50 0.674684 -147.50 102.50 192.50 1.18198 -147.50 102.50 197.50 1.43344 -147.50 102.50 202.50 1.66071 -147.50 102.50 207.50 1.74237 -147.50 102.50 212.50 1.55445 -147.50 102.50 217.50 1.06492 -147.50 102.50 222.50 0.591249 -147.50 102.50 227.50 0.297285 -147.50 102.50 232.50 0.146364 -147.50 102.50 237.50 0.0806686 -147.50 102.50 242.50 0.0426497 -147.50 102.50 247.50 0.0237957 -147.50 102.50 252.50 0.0320291 -147.50 102.50 257.50 0.0349928 -147.50 102.50 262.50 0.0394667 -147.50 102.50 267.50 0.0762801 -147.50 102.50 272.50 0.241647 -147.50 102.50 277.50 0.674684 -147.50 102.50 282.50 1.18198 -147.50 102.50 287.50 1.43343 -147.50 102.50 292.50 1.66071 -147.50 102.50 297.50 1.74237 -147.50 102.50 302.50 1.55445 -147.50 102.50 307.50 1.06492 -147.50 102.50 312.50 0.591249 -147.50 102.50 317.50 0.297285 -147.50 102.50 322.50 0.146365 -147.50 102.50 327.50 0.0806687 -147.50 102.50 332.50 0.0426498 -147.50 102.50 337.50 0.0237957 -147.50 102.50 342.50 0.032029 -147.50 102.50 347.50 0.0349927 -147.50 102.50 352.50 0.0394666 -147.50 102.50 357.50 0.0762798 -147.50 107.50 2.50 0.507759 -147.50 107.50 7.50 1.28335 -147.50 107.50 12.50 2.17851 -147.50 107.50 17.50 2.883 -147.50 107.50 22.50 3.09226 -147.50 107.50 27.50 2.90877 -147.50 107.50 32.50 2.3256 -147.50 107.50 37.50 1.52481 -147.50 107.50 42.50 0.776982 -147.50 107.50 47.50 0.363721 -147.50 107.50 52.50 0.145 -147.50 107.50 57.50 0.0581526 -147.50 107.50 62.50 0.0159019 -147.50 107.50 67.50 0.00596034 -147.50 107.50 72.50 0.010016 -147.50 107.50 77.50 0.0197533 -147.50 107.50 82.50 0.0498479 -147.50 107.50 87.50 0.171068 -147.50 107.50 92.50 0.50776 -147.50 107.50 97.50 1.28335 -147.50 107.50 102.50 2.17851 -147.50 107.50 107.50 2.883 -147.50 107.50 112.50 3.09226 -147.50 107.50 117.50 2.90877 -147.50 107.50 122.50 2.3256 -147.50 107.50 127.50 1.52481 -147.50 107.50 132.50 0.776981 -147.50 107.50 137.50 0.36372 -147.50 107.50 142.50 0.145 -147.50 107.50 147.50 0.0581526 -147.50 107.50 152.50 0.015902 -147.50 107.50 157.50 0.00596035 -147.50 107.50 162.50 0.010016 -147.50 107.50 167.50 0.0197533 -147.50 107.50 172.50 0.0498479 -147.50 107.50 177.50 0.171068 -147.50 107.50 182.50 0.507759 -147.50 107.50 187.50 1.28335 -147.50 107.50 192.50 2.17851 -147.50 107.50 197.50 2.883 -147.50 107.50 202.50 3.09226 -147.50 107.50 207.50 2.90877 -147.50 107.50 212.50 2.3256 -147.50 107.50 217.50 1.52481 -147.50 107.50 222.50 0.776982 -147.50 107.50 227.50 0.363721 -147.50 107.50 232.50 0.145 -147.50 107.50 237.50 0.0581524 -147.50 107.50 242.50 0.0159019 -147.50 107.50 247.50 0.00596034 -147.50 107.50 252.50 0.010016 -147.50 107.50 257.50 0.0197533 -147.50 107.50 262.50 0.049848 -147.50 107.50 267.50 0.171069 -147.50 107.50 272.50 0.507759 -147.50 107.50 277.50 1.28335 -147.50 107.50 282.50 2.17851 -147.50 107.50 287.50 2.883 -147.50 107.50 292.50 3.09226 -147.50 107.50 297.50 2.90877 -147.50 107.50 302.50 2.3256 -147.50 107.50 307.50 1.52481 -147.50 107.50 312.50 0.776982 -147.50 107.50 317.50 0.363721 -147.50 107.50 322.50 0.145 -147.50 107.50 327.50 0.0581528 -147.50 107.50 332.50 0.015902 -147.50 107.50 337.50 0.00596035 -147.50 107.50 342.50 0.010016 -147.50 107.50 347.50 0.0197532 -147.50 107.50 352.50 0.0498478 -147.50 107.50 357.50 0.171068 -147.50 112.50 2.50 1.03943 -147.50 112.50 7.50 2.24898 -147.50 112.50 12.50 3.40279 -147.50 112.50 17.50 4.18348 -147.50 112.50 22.50 4.44627 -147.50 112.50 27.50 3.82885 -147.50 112.50 32.50 2.69939 -147.50 112.50 37.50 1.59131 -147.50 112.50 42.50 0.852292 -147.50 112.50 47.50 0.386244 -147.50 112.50 52.50 0.135272 -147.50 112.50 57.50 0.0350046 -147.50 112.50 62.50 0.0103048 -147.50 112.50 67.50 0.0068694 -147.50 112.50 72.50 0.0118953 -147.50 112.50 77.50 0.0382099 -147.50 112.50 82.50 0.130629 -147.50 112.50 87.50 0.403743 -147.50 112.50 92.50 1.03943 -147.50 112.50 97.50 2.24898 -147.50 112.50 102.50 3.40279 -147.50 112.50 107.50 4.18347 -147.50 112.50 112.50 4.44627 -147.50 112.50 117.50 3.82885 -147.50 112.50 122.50 2.69939 -147.50 112.50 127.50 1.59131 -147.50 112.50 132.50 0.852291 -147.50 112.50 137.50 0.386244 -147.50 112.50 142.50 0.135272 -147.50 112.50 147.50 0.0350046 -147.50 112.50 152.50 0.0103048 -147.50 112.50 157.50 0.00686939 -147.50 112.50 162.50 0.0118953 -147.50 112.50 167.50 0.0382099 -147.50 112.50 172.50 0.130629 -147.50 112.50 177.50 0.403742 -147.50 112.50 182.50 1.03943 -147.50 112.50 187.50 2.24898 -147.50 112.50 192.50 3.40279 -147.50 112.50 197.50 4.18347 -147.50 112.50 202.50 4.44627 -147.50 112.50 207.50 3.82885 -147.50 112.50 212.50 2.69939 -147.50 112.50 217.50 1.59131 -147.50 112.50 222.50 0.852293 -147.50 112.50 227.50 0.386244 -147.50 112.50 232.50 0.135271 -147.50 112.50 237.50 0.0350045 -147.50 112.50 242.50 0.0103048 -147.50 112.50 247.50 0.00686939 -147.50 112.50 252.50 0.0118953 -147.50 112.50 257.50 0.03821 -147.50 112.50 262.50 0.130629 -147.50 112.50 267.50 0.403743 -147.50 112.50 272.50 1.03943 -147.50 112.50 277.50 2.24898 -147.50 112.50 282.50 3.40278 -147.50 112.50 287.50 4.18347 -147.50 112.50 292.50 4.44627 -147.50 112.50 297.50 3.82885 -147.50 112.50 302.50 2.6994 -147.50 112.50 307.50 1.59131 -147.50 112.50 312.50 0.852293 -147.50 112.50 317.50 0.386245 -147.50 112.50 322.50 0.135272 -147.50 112.50 327.50 0.0350047 -147.50 112.50 332.50 0.0103048 -147.50 112.50 337.50 0.0068694 -147.50 112.50 342.50 0.0118952 -147.50 112.50 347.50 0.0382098 -147.50 112.50 352.50 0.130629 -147.50 112.50 357.50 0.403742 -147.50 117.50 2.50 1.8542 -147.50 117.50 7.50 3.37804 -147.50 117.50 12.50 4.44461 -147.50 117.50 17.50 4.86452 -147.50 117.50 22.50 4.6673 -147.50 117.50 27.50 3.72494 -147.50 117.50 32.50 2.34757 -147.50 117.50 37.50 1.22292 -147.50 117.50 42.50 0.587849 -147.50 117.50 47.50 0.247323 -147.50 117.50 52.50 0.0741968 -147.50 117.50 57.50 0.0164849 -147.50 117.50 62.50 0.00824427 -147.50 117.50 67.50 0.0122644 -147.50 117.50 72.50 0.0410491 -147.50 117.50 77.50 0.12195 -147.50 117.50 82.50 0.339317 -147.50 117.50 87.50 0.852009 -147.50 117.50 92.50 1.85421 -147.50 117.50 97.50 3.37804 -147.50 117.50 102.50 4.44461 -147.50 117.50 107.50 4.86452 -147.50 117.50 112.50 4.6673 -147.50 117.50 117.50 3.72494 -147.50 117.50 122.50 2.34757 -147.50 117.50 127.50 1.22292 -147.50 117.50 132.50 0.587849 -147.50 117.50 137.50 0.247323 -147.50 117.50 142.50 0.0741968 -147.50 117.50 147.50 0.0164849 -147.50 117.50 152.50 0.00824427 -147.50 117.50 157.50 0.0122644 -147.50 117.50 162.50 0.041049 -147.50 117.50 167.50 0.121949 -147.50 117.50 172.50 0.339317 -147.50 117.50 177.50 0.852008 -147.50 117.50 182.50 1.8542 -147.50 117.50 187.50 3.37804 -147.50 117.50 192.50 4.44461 -147.50 117.50 197.50 4.86452 -147.50 117.50 202.50 4.6673 -147.50 117.50 207.50 3.72494 -147.50 117.50 212.50 2.34757 -147.50 117.50 217.50 1.22292 -147.50 117.50 222.50 0.587849 -147.50 117.50 227.50 0.247323 -147.50 117.50 232.50 0.0741967 -147.50 117.50 237.50 0.0164849 -147.50 117.50 242.50 0.00824428 -147.50 117.50 247.50 0.0122644 -147.50 117.50 252.50 0.0410491 -147.50 117.50 257.50 0.12195 -147.50 117.50 262.50 0.339317 -147.50 117.50 267.50 0.852009 -147.50 117.50 272.50 1.8542 -147.50 117.50 277.50 3.37804 -147.50 117.50 282.50 4.44461 -147.50 117.50 287.50 4.86452 -147.50 117.50 292.50 4.6673 -147.50 117.50 297.50 3.72494 -147.50 117.50 302.50 2.34757 -147.50 117.50 307.50 1.22292 -147.50 117.50 312.50 0.587849 -147.50 117.50 317.50 0.247324 -147.50 117.50 322.50 0.0741969 -147.50 117.50 327.50 0.0164849 -147.50 117.50 332.50 0.00824426 -147.50 117.50 337.50 0.0122644 -147.50 117.50 342.50 0.041049 -147.50 117.50 347.50 0.121949 -147.50 117.50 352.50 0.339316 -147.50 117.50 357.50 0.852007 -147.50 122.50 2.50 2.76305 -147.50 122.50 7.50 4.16844 -147.50 122.50 12.50 4.70581 -147.50 122.50 17.50 4.56616 -147.50 122.50 22.50 3.88523 -147.50 122.50 27.50 2.71893 -147.50 122.50 32.50 1.52692 -147.50 122.50 37.50 0.699765 -147.50 122.50 42.50 0.259503 -147.50 122.50 47.50 0.087672 -147.50 122.50 52.50 0.0254594 -147.50 122.50 57.50 0.0127465 -147.50 122.50 62.50 0.0214389 -147.50 122.50 67.50 0.0566324 -147.50 122.50 72.50 0.15771 -147.50 122.50 77.50 0.392814 -147.50 122.50 82.50 0.821725 -147.50 122.50 87.50 1.58308 -147.50 122.50 92.50 2.76305 -147.50 122.50 97.50 4.16844 -147.50 122.50 102.50 4.70581 -147.50 122.50 107.50 4.56617 -147.50 122.50 112.50 3.88523 -147.50 122.50 117.50 2.71893 -147.50 122.50 122.50 1.52692 -147.50 122.50 127.50 0.699765 -147.50 122.50 132.50 0.259503 -147.50 122.50 137.50 0.0876719 -147.50 122.50 142.50 0.0254594 -147.50 122.50 147.50 0.0127465 -147.50 122.50 152.50 0.0214389 -147.50 122.50 157.50 0.0566323 -147.50 122.50 162.50 0.157709 -147.50 122.50 167.50 0.392814 -147.50 122.50 172.50 0.821724 -147.50 122.50 177.50 1.58308 -147.50 122.50 182.50 2.76305 -147.50 122.50 187.50 4.16844 -147.50 122.50 192.50 4.70581 -147.50 122.50 197.50 4.56616 -147.50 122.50 202.50 3.88523 -147.50 122.50 207.50 2.71893 -147.50 122.50 212.50 1.52692 -147.50 122.50 217.50 0.699766 -147.50 122.50 222.50 0.259503 -147.50 122.50 227.50 0.0876721 -147.50 122.50 232.50 0.0254594 -147.50 122.50 237.50 0.0127465 -147.50 122.50 242.50 0.021439 -147.50 122.50 247.50 0.0566324 -147.50 122.50 252.50 0.15771 -147.50 122.50 257.50 0.392814 -147.50 122.50 262.50 0.821726 -147.50 122.50 267.50 1.58308 -147.50 122.50 272.50 2.76305 -147.50 122.50 277.50 4.16844 -147.50 122.50 282.50 4.70581 -147.50 122.50 287.50 4.56616 -147.50 122.50 292.50 3.88523 -147.50 122.50 297.50 2.71893 -147.50 122.50 302.50 1.52692 -147.50 122.50 307.50 0.699767 -147.50 122.50 312.50 0.259503 -147.50 122.50 317.50 0.0876723 -147.50 122.50 322.50 0.0254595 -147.50 122.50 327.50 0.0127466 -147.50 122.50 332.50 0.0214389 -147.50 122.50 337.50 0.0566322 -147.50 122.50 342.50 0.157709 -147.50 122.50 347.50 0.392814 -147.50 122.50 352.50 0.821724 -147.50 122.50 357.50 1.58308 -147.50 127.50 2.50 3.51916 -147.50 127.50 7.50 4.29611 -147.50 127.50 12.50 4.11789 -147.50 127.50 17.50 3.39736 -147.50 127.50 22.50 2.54212 -147.50 127.50 27.50 1.65246 -147.50 127.50 32.50 0.839494 -147.50 127.50 37.50 0.316239 -147.50 127.50 42.50 0.0895864 -147.50 127.50 47.50 0.0261522 -147.50 127.50 52.50 0.0108007 -147.50 127.50 57.50 0.0239199 -147.50 127.50 62.50 0.0726642 -147.50 127.50 67.50 0.205573 -147.50 127.50 72.50 0.504201 -147.50 127.50 77.50 1.0539 -147.50 127.50 82.50 1.82692 -147.50 127.50 87.50 2.6262 -147.50 127.50 92.50 3.51916 -147.50 127.50 97.50 4.29612 -147.50 127.50 102.50 4.11789 -147.50 127.50 107.50 3.39737 -147.50 127.50 112.50 2.54212 -147.50 127.50 117.50 1.65246 -147.50 127.50 122.50 0.839494 -147.50 127.50 127.50 0.316239 -147.50 127.50 132.50 0.0895863 -147.50 127.50 137.50 0.0261522 -147.50 127.50 142.50 0.0108007 -147.50 127.50 147.50 0.0239199 -147.50 127.50 152.50 0.072664 -147.50 127.50 157.50 0.205573 -147.50 127.50 162.50 0.5042 -147.50 127.50 167.50 1.05389 -147.50 127.50 172.50 1.82692 -147.50 127.50 177.50 2.6262 -147.50 127.50 182.50 3.51916 -147.50 127.50 187.50 4.29611 -147.50 127.50 192.50 4.11789 -147.50 127.50 197.50 3.39737 -147.50 127.50 202.50 2.54212 -147.50 127.50 207.50 1.65246 -147.50 127.50 212.50 0.839494 -147.50 127.50 217.50 0.316239 -147.50 127.50 222.50 0.0895863 -147.50 127.50 227.50 0.0261523 -147.50 127.50 232.50 0.0108007 -147.50 127.50 237.50 0.0239199 -147.50 127.50 242.50 0.0726642 -147.50 127.50 247.50 0.205573 -147.50 127.50 252.50 0.504201 -147.50 127.50 257.50 1.0539 -147.50 127.50 262.50 1.82692 -147.50 127.50 267.50 2.6262 -147.50 127.50 272.50 3.51916 -147.50 127.50 277.50 4.29611 -147.50 127.50 282.50 4.11789 -147.50 127.50 287.50 3.39736 -147.50 127.50 292.50 2.54212 -147.50 127.50 297.50 1.65246 -147.50 127.50 302.50 0.839495 -147.50 127.50 307.50 0.316239 -147.50 127.50 312.50 0.0895865 -147.50 127.50 317.50 0.0261523 -147.50 127.50 322.50 0.0108007 -147.50 127.50 327.50 0.0239199 -147.50 127.50 332.50 0.0726641 -147.50 127.50 337.50 0.205572 -147.50 127.50 342.50 0.5042 -147.50 127.50 347.50 1.05389 -147.50 127.50 352.50 1.82692 -147.50 127.50 357.50 2.6262 -147.50 132.50 2.50 3.96991 -147.50 132.50 7.50 3.87971 -147.50 132.50 12.50 3.09998 -147.50 132.50 17.50 2.10616 -147.50 132.50 22.50 1.34208 -147.50 132.50 27.50 0.804091 -147.50 132.50 32.50 0.383344 -147.50 132.50 37.50 0.129828 -147.50 132.50 42.50 0.0282612 -147.50 132.50 47.50 0.00708743 -147.50 132.50 52.50 0.018945 -147.50 132.50 57.50 0.0729035 -147.50 132.50 62.50 0.203738 -147.50 132.50 67.50 0.537619 -147.50 132.50 72.50 1.16653 -147.50 132.50 77.50 2.16953 -147.50 132.50 82.50 3.2544 -147.50 132.50 87.50 3.81273 -147.50 132.50 92.50 3.96992 -147.50 132.50 97.50 3.87971 -147.50 132.50 102.50 3.09998 -147.50 132.50 107.50 2.10616 -147.50 132.50 112.50 1.34208 -147.50 132.50 117.50 0.804091 -147.50 132.50 122.50 0.383344 -147.50 132.50 127.50 0.129828 -147.50 132.50 132.50 0.0282612 -147.50 132.50 137.50 0.00708742 -147.50 132.50 142.50 0.018945 -147.50 132.50 147.50 0.0729034 -147.50 132.50 152.50 0.203738 -147.50 132.50 157.50 0.537618 -147.50 132.50 162.50 1.16653 -147.50 132.50 167.50 2.16952 -147.50 132.50 172.50 3.2544 -147.50 132.50 177.50 3.81272 -147.50 132.50 182.50 3.96991 -147.50 132.50 187.50 3.87971 -147.50 132.50 192.50 3.09997 -147.50 132.50 197.50 2.10616 -147.50 132.50 202.50 1.34208 -147.50 132.50 207.50 0.804091 -147.50 132.50 212.50 0.383344 -147.50 132.50 217.50 0.129828 -147.50 132.50 222.50 0.0282612 -147.50 132.50 227.50 0.00708744 -147.50 132.50 232.50 0.0189451 -147.50 132.50 237.50 0.0729037 -147.50 132.50 242.50 0.203739 -147.50 132.50 247.50 0.537619 -147.50 132.50 252.50 1.16654 -147.50 132.50 257.50 2.16953 -147.50 132.50 262.50 3.2544 -147.50 132.50 267.50 3.81273 -147.50 132.50 272.50 3.96991 -147.50 132.50 277.50 3.87971 -147.50 132.50 282.50 3.09998 -147.50 132.50 287.50 2.10616 -147.50 132.50 292.50 1.34208 -147.50 132.50 297.50 0.804091 -147.50 132.50 302.50 0.383344 -147.50 132.50 307.50 0.129828 -147.50 132.50 312.50 0.0282612 -147.50 132.50 317.50 0.00708744 -147.50 132.50 322.50 0.018945 -147.50 132.50 327.50 0.0729034 -147.50 132.50 332.50 0.203738 -147.50 132.50 337.50 0.537618 -147.50 132.50 342.50 1.16653 -147.50 132.50 347.50 2.16952 -147.50 132.50 352.50 3.2544 -147.50 132.50 357.50 3.81272 -147.50 137.50 2.50 4.10837 -147.50 137.50 7.50 3.2602 -147.50 137.50 12.50 2.1423 -147.50 137.50 17.50 1.20034 -147.50 137.50 22.50 0.608109 -147.50 137.50 27.50 0.302599 -147.50 137.50 32.50 0.122729 -147.50 137.50 37.50 0.0399895 -147.50 137.50 42.50 0.00769699 -147.50 137.50 47.50 0.0101159 -147.50 137.50 52.50 0.0426947 -147.50 137.50 57.50 0.174476 -147.50 137.50 62.50 0.495622 -147.50 137.50 67.50 1.05437 -147.50 137.50 72.50 2.01064 -147.50 137.50 77.50 3.36304 -147.50 137.50 82.50 4.56805 -147.50 137.50 87.50 4.74319 -147.50 137.50 92.50 4.10837 -147.50 137.50 97.50 3.2602 -147.50 137.50 102.50 2.1423 -147.50 137.50 107.50 1.20034 -147.50 137.50 112.50 0.60811 -147.50 137.50 117.50 0.302598 -147.50 137.50 122.50 0.122729 -147.50 137.50 127.50 0.0399895 -147.50 137.50 132.50 0.00769698 -147.50 137.50 137.50 0.0101159 -147.50 137.50 142.50 0.0426947 -147.50 137.50 147.50 0.174476 -147.50 137.50 152.50 0.495622 -147.50 137.50 157.50 1.05436 -147.50 137.50 162.50 2.01064 -147.50 137.50 167.50 3.36303 -147.50 137.50 172.50 4.56805 -147.50 137.50 177.50 4.74319 -147.50 137.50 182.50 4.10837 -147.50 137.50 187.50 3.2602 -147.50 137.50 192.50 2.1423 -147.50 137.50 197.50 1.20034 -147.50 137.50 202.50 0.608109 -147.50 137.50 207.50 0.302599 -147.50 137.50 212.50 0.122729 -147.50 137.50 217.50 0.0399896 -147.50 137.50 222.50 0.007697 -147.50 137.50 227.50 0.0101159 -147.50 137.50 232.50 0.0426949 -147.50 137.50 237.50 0.174477 -147.50 137.50 242.50 0.495622 -147.50 137.50 247.50 1.05437 -147.50 137.50 252.50 2.01064 -147.50 137.50 257.50 3.36304 -147.50 137.50 262.50 4.56805 -147.50 137.50 267.50 4.74319 -147.50 137.50 272.50 4.10837 -147.50 137.50 277.50 3.2602 -147.50 137.50 282.50 2.1423 -147.50 137.50 287.50 1.20034 -147.50 137.50 292.50 0.60811 -147.50 137.50 297.50 0.302599 -147.50 137.50 302.50 0.12273 -147.50 137.50 307.50 0.0399896 -147.50 137.50 312.50 0.00769701 -147.50 137.50 317.50 0.0101159 -147.50 137.50 322.50 0.0426946 -147.50 137.50 327.50 0.174476 -147.50 137.50 332.50 0.495621 -147.50 137.50 337.50 1.05436 -147.50 137.50 342.50 2.01063 -147.50 137.50 347.50 3.36303 -147.50 137.50 352.50 4.56805 -147.50 137.50 357.50 4.74319 -147.50 142.50 2.50 3.96992 -147.50 142.50 7.50 2.62754 -147.50 142.50 12.50 1.43719 -147.50 142.50 17.50 0.663799 -147.50 142.50 22.50 0.263238 -147.50 142.50 27.50 0.0982462 -147.50 142.50 32.50 0.0331133 -147.50 142.50 37.50 0.0084693 -147.50 142.50 42.50 0.00640791 -147.50 142.50 47.50 0.0228353 -147.50 142.50 52.50 0.105513 -147.50 142.50 57.50 0.354945 -147.50 142.50 62.50 0.858801 -147.50 142.50 67.50 1.62546 -147.50 142.50 72.50 2.74658 -147.50 142.50 77.50 4.1979 -147.50 142.50 82.50 5.29393 -147.50 142.50 87.50 5.13991 -147.50 142.50 92.50 3.96992 -147.50 142.50 97.50 2.62754 -147.50 142.50 102.50 1.43719 -147.50 142.50 107.50 0.663799 -147.50 142.50 112.50 0.263237 -147.50 142.50 117.50 0.0982462 -147.50 142.50 122.50 0.0331133 -147.50 142.50 127.50 0.00846929 -147.50 142.50 132.50 0.0064079 -147.50 142.50 137.50 0.0228352 -147.50 142.50 142.50 0.105512 -147.50 142.50 147.50 0.354944 -147.50 142.50 152.50 0.8588 -147.50 142.50 157.50 1.62546 -147.50 142.50 162.50 2.74658 -147.50 142.50 167.50 4.1979 -147.50 142.50 172.50 5.29393 -147.50 142.50 177.50 5.1399 -147.50 142.50 182.50 3.96991 -147.50 142.50 187.50 2.62754 -147.50 142.50 192.50 1.43719 -147.50 142.50 197.50 0.663799 -147.50 142.50 202.50 0.263237 -147.50 142.50 207.50 0.0982463 -147.50 142.50 212.50 0.0331133 -147.50 142.50 217.50 0.00846931 -147.50 142.50 222.50 0.00640791 -147.50 142.50 227.50 0.0228352 -147.50 142.50 232.50 0.105513 -147.50 142.50 237.50 0.354945 -147.50 142.50 242.50 0.858801 -147.50 142.50 247.50 1.62547 -147.50 142.50 252.50 2.74659 -147.50 142.50 257.50 4.19791 -147.50 142.50 262.50 5.29393 -147.50 142.50 267.50 5.1399 -147.50 142.50 272.50 3.96991 -147.50 142.50 277.50 2.62754 -147.50 142.50 282.50 1.43719 -147.50 142.50 287.50 0.663799 -147.50 142.50 292.50 0.263237 -147.50 142.50 297.50 0.0982463 -147.50 142.50 302.50 0.0331133 -147.50 142.50 307.50 0.00846933 -147.50 142.50 312.50 0.00640792 -147.50 142.50 317.50 0.0228352 -147.50 142.50 322.50 0.105512 -147.50 142.50 327.50 0.354943 -147.50 142.50 332.50 0.858799 -147.50 142.50 337.50 1.62546 -147.50 142.50 342.50 2.74658 -147.50 142.50 347.50 4.1979 -147.50 142.50 352.50 5.29393 -147.50 142.50 357.50 5.13991 -147.50 147.50 2.50 3.51915 -147.50 147.50 7.50 2.02117 -147.50 147.50 12.50 0.951521 -147.50 147.50 17.50 0.35245 -147.50 147.50 22.50 0.114024 -147.50 147.50 27.50 0.0315765 -147.50 147.50 32.50 0.00937262 -147.50 147.50 37.50 0.00694581 -147.50 147.50 42.50 0.0222083 -147.50 147.50 47.50 0.0745025 -147.50 147.50 52.50 0.242967 -147.50 147.50 57.50 0.6343 -147.50 147.50 62.50 1.23878 -147.50 147.50 67.50 2.02369 -147.50 147.50 72.50 3.07489 -147.50 147.50 77.50 4.35209 -147.50 147.50 82.50 5.20278 -147.50 147.50 87.50 4.87331 -147.50 147.50 92.50 3.51916 -147.50 147.50 97.50 2.02117 -147.50 147.50 102.50 0.951521 -147.50 147.50 107.50 0.35245 -147.50 147.50 112.50 0.114024 -147.50 147.50 117.50 0.0315765 -147.50 147.50 122.50 0.00937261 -147.50 147.50 127.50 0.00694581 -147.50 147.50 132.50 0.0222083 -147.50 147.50 137.50 0.0745024 -147.50 147.50 142.50 0.242966 -147.50 147.50 147.50 0.6343 -147.50 147.50 152.50 1.23878 -147.50 147.50 157.50 2.02369 -147.50 147.50 162.50 3.07489 -147.50 147.50 167.50 4.35209 -147.50 147.50 172.50 5.20278 -147.50 147.50 177.50 4.87331 -147.50 147.50 182.50 3.51915 -147.50 147.50 187.50 2.02117 -147.50 147.50 192.50 0.95152 -147.50 147.50 197.50 0.35245 -147.50 147.50 202.50 0.114024 -147.50 147.50 207.50 0.0315765 -147.50 147.50 212.50 0.00937262 -147.50 147.50 217.50 0.00694582 -147.50 147.50 222.50 0.0222083 -147.50 147.50 227.50 0.0745023 -147.50 147.50 232.50 0.242967 -147.50 147.50 237.50 0.634301 -147.50 147.50 242.50 1.23878 -147.50 147.50 247.50 2.02369 -147.50 147.50 252.50 3.0749 -147.50 147.50 257.50 4.35209 -147.50 147.50 262.50 5.20278 -147.50 147.50 267.50 4.87331 -147.50 147.50 272.50 3.51916 -147.50 147.50 277.50 2.02117 -147.50 147.50 282.50 0.951522 -147.50 147.50 287.50 0.35245 -147.50 147.50 292.50 0.114024 -147.50 147.50 297.50 0.0315765 -147.50 147.50 302.50 0.00937263 -147.50 147.50 307.50 0.00694582 -147.50 147.50 312.50 0.0222083 -147.50 147.50 317.50 0.0745023 -147.50 147.50 322.50 0.242966 -147.50 147.50 327.50 0.634299 -147.50 147.50 332.50 1.23878 -147.50 147.50 337.50 2.02369 -147.50 147.50 342.50 3.07489 -147.50 147.50 347.50 4.35209 -147.50 147.50 352.50 5.20278 -147.50 147.50 357.50 4.87331 -147.50 152.50 2.50 2.76305 -147.50 152.50 7.50 1.45577 -147.50 152.50 12.50 0.638209 -147.50 152.50 17.50 0.19514 -147.50 152.50 22.50 0.0525425 -147.50 152.50 27.50 0.0118876 -147.50 152.50 32.50 0.00625912 -147.50 152.50 37.50 0.0208731 -147.50 152.50 42.50 0.0654953 -147.50 152.50 47.50 0.185082 -147.50 152.50 52.50 0.455684 -147.50 152.50 57.50 0.948523 -147.50 152.50 62.50 1.58333 -147.50 152.50 67.50 2.24627 -147.50 152.50 72.50 2.95869 -147.50 152.50 77.50 3.89519 -147.50 152.50 82.50 4.32711 -147.50 152.50 87.50 3.93268 -147.50 152.50 92.50 2.76305 -147.50 152.50 97.50 1.45577 -147.50 152.50 102.50 0.638209 -147.50 152.50 107.50 0.19514 -147.50 152.50 112.50 0.0525425 -147.50 152.50 117.50 0.0118876 -147.50 152.50 122.50 0.00625912 -147.50 152.50 127.50 0.0208732 -147.50 152.50 132.50 0.0654953 -147.50 152.50 137.50 0.185082 -147.50 152.50 142.50 0.455684 -147.50 152.50 147.50 0.948523 -147.50 152.50 152.50 1.58333 -147.50 152.50 157.50 2.24627 -147.50 152.50 162.50 2.95869 -147.50 152.50 167.50 3.89519 -147.50 152.50 172.50 4.32711 -147.50 152.50 177.50 3.93268 -147.50 152.50 182.50 2.76305 -147.50 152.50 187.50 1.45577 -147.50 152.50 192.50 0.638209 -147.50 152.50 197.50 0.195139 -147.50 152.50 202.50 0.0525425 -147.50 152.50 207.50 0.0118876 -147.50 152.50 212.50 0.00625912 -147.50 152.50 217.50 0.0208731 -147.50 152.50 222.50 0.0654952 -147.50 152.50 227.50 0.185082 -147.50 152.50 232.50 0.455684 -147.50 152.50 237.50 0.948524 -147.50 152.50 242.50 1.58333 -147.50 152.50 247.50 2.24627 -147.50 152.50 252.50 2.95869 -147.50 152.50 257.50 3.89519 -147.50 152.50 262.50 4.32711 -147.50 152.50 267.50 3.93268 -147.50 152.50 272.50 2.76305 -147.50 152.50 277.50 1.45577 -147.50 152.50 282.50 0.638209 -147.50 152.50 287.50 0.19514 -147.50 152.50 292.50 0.0525425 -147.50 152.50 297.50 0.0118876 -147.50 152.50 302.50 0.00625911 -147.50 152.50 307.50 0.0208731 -147.50 152.50 312.50 0.0654952 -147.50 152.50 317.50 0.185082 -147.50 152.50 322.50 0.455683 -147.50 152.50 327.50 0.948522 -147.50 152.50 332.50 1.58333 -147.50 152.50 337.50 2.24626 -147.50 152.50 342.50 2.95869 -147.50 152.50 347.50 3.89518 -147.50 152.50 352.50 4.32711 -147.50 152.50 357.50 3.93269 -147.50 157.50 2.50 1.8542 -147.50 157.50 7.50 0.974831 -147.50 157.50 12.50 0.436382 -147.50 157.50 17.50 0.152507 -147.50 157.50 22.50 0.045889 -147.50 157.50 27.50 0.0144218 -147.50 157.50 32.50 0.0107685 -147.50 157.50 37.50 0.0457691 -147.50 157.50 42.50 0.151314 -147.50 157.50 47.50 0.350196 -147.50 157.50 52.50 0.704692 -147.50 157.50 57.50 1.22789 -147.50 157.50 62.50 1.79043 -147.50 157.50 67.50 2.18769 -147.50 157.50 72.50 2.5378 -147.50 157.50 77.50 2.91069 -147.50 157.50 82.50 2.99848 -147.50 157.50 87.50 2.6129 -147.50 157.50 92.50 1.8542 -147.50 157.50 97.50 0.974831 -147.50 157.50 102.50 0.436382 -147.50 157.50 107.50 0.152507 -147.50 157.50 112.50 0.0458891 -147.50 157.50 117.50 0.0144217 -147.50 157.50 122.50 0.0107685 -147.50 157.50 127.50 0.0457691 -147.50 157.50 132.50 0.151314 -147.50 157.50 137.50 0.350196 -147.50 157.50 142.50 0.704691 -147.50 157.50 147.50 1.22789 -147.50 157.50 152.50 1.79043 -147.50 157.50 157.50 2.18769 -147.50 157.50 162.50 2.5378 -147.50 157.50 167.50 2.91069 -147.50 157.50 172.50 2.99848 -147.50 157.50 177.50 2.6129 -147.50 157.50 182.50 1.8542 -147.50 157.50 187.50 0.97483 -147.50 157.50 192.50 0.436382 -147.50 157.50 197.50 0.152507 -147.50 157.50 202.50 0.045889 -147.50 157.50 207.50 0.0144217 -147.50 157.50 212.50 0.0107685 -147.50 157.50 217.50 0.045769 -147.50 157.50 222.50 0.151314 -147.50 157.50 227.50 0.350196 -147.50 157.50 232.50 0.704692 -147.50 157.50 237.50 1.22789 -147.50 157.50 242.50 1.79043 -147.50 157.50 247.50 2.18769 -147.50 157.50 252.50 2.5378 -147.50 157.50 257.50 2.91069 -147.50 157.50 262.50 2.99848 -147.50 157.50 267.50 2.6129 -147.50 157.50 272.50 1.8542 -147.50 157.50 277.50 0.974831 -147.50 157.50 282.50 0.436383 -147.50 157.50 287.50 0.152507 -147.50 157.50 292.50 0.0458891 -147.50 157.50 297.50 0.0144218 -147.50 157.50 302.50 0.0107685 -147.50 157.50 307.50 0.0457688 -147.50 157.50 312.50 0.151314 -147.50 157.50 317.50 0.350196 -147.50 157.50 322.50 0.704691 -147.50 157.50 327.50 1.22789 -147.50 157.50 332.50 1.79043 -147.50 157.50 337.50 2.18769 -147.50 157.50 342.50 2.5378 -147.50 157.50 347.50 2.91069 -147.50 157.50 352.50 2.99848 -147.50 157.50 357.50 2.61291 -147.50 162.50 2.50 1.03943 -147.50 162.50 7.50 0.593795 -147.50 162.50 12.50 0.307097 -147.50 162.50 17.50 0.165007 -147.50 162.50 22.50 0.0783439 -147.50 162.50 27.50 0.0323285 -147.50 162.50 32.50 0.0276614 -147.50 162.50 37.50 0.0816891 -147.50 162.50 42.50 0.234621 -147.50 162.50 47.50 0.521484 -147.50 162.50 52.50 0.932671 -147.50 162.50 57.50 1.38431 -147.50 162.50 62.50 1.69363 -147.50 162.50 67.50 1.80113 -147.50 162.50 72.50 1.80989 -147.50 162.50 77.50 1.7923 -147.50 162.50 82.50 1.68953 -147.50 162.50 87.50 1.4243 -147.50 162.50 92.50 1.03943 -147.50 162.50 97.50 0.593795 -147.50 162.50 102.50 0.307097 -147.50 162.50 107.50 0.165007 -147.50 162.50 112.50 0.0783439 -147.50 162.50 117.50 0.0323285 -147.50 162.50 122.50 0.0276614 -147.50 162.50 127.50 0.0816892 -147.50 162.50 132.50 0.234621 -147.50 162.50 137.50 0.521484 -147.50 162.50 142.50 0.932671 -147.50 162.50 147.50 1.38431 -147.50 162.50 152.50 1.69363 -147.50 162.50 157.50 1.80113 -147.50 162.50 162.50 1.80989 -147.50 162.50 167.50 1.7923 -147.50 162.50 172.50 1.68953 -147.50 162.50 177.50 1.4243 -147.50 162.50 182.50 1.03943 -147.50 162.50 187.50 0.593795 -147.50 162.50 192.50 0.307097 -147.50 162.50 197.50 0.165007 -147.50 162.50 202.50 0.0783438 -147.50 162.50 207.50 0.0323285 -147.50 162.50 212.50 0.0276614 -147.50 162.50 217.50 0.081689 -147.50 162.50 222.50 0.23462 -147.50 162.50 227.50 0.521483 -147.50 162.50 232.50 0.932672 -147.50 162.50 237.50 1.38431 -147.50 162.50 242.50 1.69363 -147.50 162.50 247.50 1.80113 -147.50 162.50 252.50 1.80989 -147.50 162.50 257.50 1.7923 -147.50 162.50 262.50 1.68953 -147.50 162.50 267.50 1.42429 -147.50 162.50 272.50 1.03943 -147.50 162.50 277.50 0.593795 -147.50 162.50 282.50 0.307097 -147.50 162.50 287.50 0.165007 -147.50 162.50 292.50 0.0783439 -147.50 162.50 297.50 0.0323286 -147.50 162.50 302.50 0.0276614 -147.50 162.50 307.50 0.0816889 -147.50 162.50 312.50 0.23462 -147.50 162.50 317.50 0.521483 -147.50 162.50 322.50 0.93267 -147.50 162.50 327.50 1.38431 -147.50 162.50 332.50 1.69363 -147.50 162.50 337.50 1.80113 -147.50 162.50 342.50 1.80989 -147.50 162.50 347.50 1.7923 -147.50 162.50 352.50 1.68953 -147.50 162.50 357.50 1.4243 -147.50 167.50 2.50 0.50776 -147.50 167.50 7.50 0.341374 -147.50 167.50 12.50 0.225286 -147.50 167.50 17.50 0.175894 -147.50 167.50 22.50 0.111707 -147.50 167.50 27.50 0.0538103 -147.50 167.50 32.50 0.0422284 -147.50 167.50 37.50 0.111885 -147.50 167.50 42.50 0.281274 -147.50 167.50 47.50 0.592621 -147.50 167.50 52.50 1.03144 -147.50 167.50 57.50 1.4099 -147.50 167.50 62.50 1.48102 -147.50 167.50 67.50 1.284 -147.50 167.50 72.50 1.05127 -147.50 167.50 77.50 0.895646 -147.50 167.50 82.50 0.768401 -147.50 167.50 87.50 0.658212 -147.50 167.50 92.50 0.50776 -147.50 167.50 97.50 0.341373 -147.50 167.50 102.50 0.225286 -147.50 167.50 107.50 0.175894 -147.50 167.50 112.50 0.111707 -147.50 167.50 117.50 0.0538102 -147.50 167.50 122.50 0.0422284 -147.50 167.50 127.50 0.111885 -147.50 167.50 132.50 0.281274 -147.50 167.50 137.50 0.592621 -147.50 167.50 142.50 1.03144 -147.50 167.50 147.50 1.4099 -147.50 167.50 152.50 1.48102 -147.50 167.50 157.50 1.284 -147.50 167.50 162.50 1.05127 -147.50 167.50 167.50 0.895646 -147.50 167.50 172.50 0.768402 -147.50 167.50 177.50 0.658212 -147.50 167.50 182.50 0.507759 -147.50 167.50 187.50 0.341373 -147.50 167.50 192.50 0.225286 -147.50 167.50 197.50 0.175894 -147.50 167.50 202.50 0.111707 -147.50 167.50 207.50 0.0538103 -147.50 167.50 212.50 0.0422284 -147.50 167.50 217.50 0.111885 -147.50 167.50 222.50 0.281274 -147.50 167.50 227.50 0.59262 -147.50 167.50 232.50 1.03144 -147.50 167.50 237.50 1.4099 -147.50 167.50 242.50 1.48102 -147.50 167.50 247.50 1.284 -147.50 167.50 252.50 1.05127 -147.50 167.50 257.50 0.895646 -147.50 167.50 262.50 0.768402 -147.50 167.50 267.50 0.658212 -147.50 167.50 272.50 0.50776 -147.50 167.50 277.50 0.341373 -147.50 167.50 282.50 0.225285 -147.50 167.50 287.50 0.175894 -147.50 167.50 292.50 0.111707 -147.50 167.50 297.50 0.0538103 -147.50 167.50 302.50 0.0422283 -147.50 167.50 307.50 0.111885 -147.50 167.50 312.50 0.281274 -147.50 167.50 317.50 0.59262 -147.50 167.50 322.50 1.03144 -147.50 167.50 327.50 1.4099 -147.50 167.50 332.50 1.48102 -147.50 167.50 337.50 1.284 -147.50 167.50 342.50 1.05127 -147.50 167.50 347.50 0.895646 -147.50 167.50 352.50 0.768401 -147.50 167.50 357.50 0.658212 -147.50 172.50 2.50 0.241648 -147.50 172.50 7.50 0.200088 -147.50 172.50 12.50 0.170538 -147.50 172.50 17.50 0.142121 -147.50 172.50 22.50 0.104072 -147.50 172.50 27.50 0.0602944 -147.50 172.50 32.50 0.0491384 -147.50 172.50 37.50 0.101965 -147.50 172.50 42.50 0.253802 -147.50 172.50 47.50 0.554749 -147.50 172.50 52.50 0.967709 -147.50 172.50 57.50 1.23544 -147.50 172.50 62.50 1.14639 -147.50 172.50 67.50 0.820781 -147.50 172.50 72.50 0.520799 -147.50 172.50 77.50 0.35721 -147.50 172.50 82.50 0.303618 -147.50 172.50 87.50 0.277079 -147.50 172.50 92.50 0.241648 -147.50 172.50 97.50 0.200088 -147.50 172.50 102.50 0.170538 -147.50 172.50 107.50 0.142121 -147.50 172.50 112.50 0.104071 -147.50 172.50 117.50 0.0602944 -147.50 172.50 122.50 0.0491384 -147.50 172.50 127.50 0.101965 -147.50 172.50 132.50 0.253803 -147.50 172.50 137.50 0.554749 -147.50 172.50 142.50 0.967709 -147.50 172.50 147.50 1.23544 -147.50 172.50 152.50 1.14639 -147.50 172.50 157.50 0.820782 -147.50 172.50 162.50 0.520799 -147.50 172.50 167.50 0.35721 -147.50 172.50 172.50 0.303618 -147.50 172.50 177.50 0.277079 -147.50 172.50 182.50 0.241648 -147.50 172.50 187.50 0.200088 -147.50 172.50 192.50 0.170538 -147.50 172.50 197.50 0.142121 -147.50 172.50 202.50 0.104071 -147.50 172.50 207.50 0.0602945 -147.50 172.50 212.50 0.0491384 -147.50 172.50 217.50 0.101965 -147.50 172.50 222.50 0.253802 -147.50 172.50 227.50 0.554749 -147.50 172.50 232.50 0.96771 -147.50 172.50 237.50 1.23544 -147.50 172.50 242.50 1.14639 -147.50 172.50 247.50 0.820781 -147.50 172.50 252.50 0.520799 -147.50 172.50 257.50 0.35721 -147.50 172.50 262.50 0.303618 -147.50 172.50 267.50 0.277079 -147.50 172.50 272.50 0.241648 -147.50 172.50 277.50 0.200088 -147.50 172.50 282.50 0.170538 -147.50 172.50 287.50 0.142121 -147.50 172.50 292.50 0.104071 -147.50 172.50 297.50 0.0602945 -147.50 172.50 302.50 0.0491384 -147.50 172.50 307.50 0.101965 -147.50 172.50 312.50 0.253802 -147.50 172.50 317.50 0.554749 -147.50 172.50 322.50 0.967708 -147.50 172.50 327.50 1.23544 -147.50 172.50 332.50 1.14639 -147.50 172.50 337.50 0.820783 -147.50 172.50 342.50 0.520799 -147.50 172.50 347.50 0.357211 -147.50 172.50 352.50 0.303618 -147.50 172.50 357.50 0.277079 -147.50 177.50 2.50 0.116068 -147.50 177.50 7.50 0.114934 -147.50 177.50 12.50 0.110487 -147.50 177.50 17.50 0.103349 -147.50 177.50 22.50 0.0829734 -147.50 177.50 27.50 0.0545772 -147.50 177.50 32.50 0.0411976 -147.50 177.50 37.50 0.0734262 -147.50 177.50 42.50 0.182192 -147.50 177.50 47.50 0.423002 -147.50 177.50 52.50 0.764686 -147.50 177.50 57.50 0.961442 -147.50 177.50 62.50 0.816792 -147.50 177.50 67.50 0.493237 -147.50 177.50 72.50 0.242646 -147.50 177.50 77.50 0.130088 -147.50 177.50 82.50 0.104517 -147.50 177.50 87.50 0.109438 -147.50 177.50 92.50 0.116068 -147.50 177.50 97.50 0.114934 -147.50 177.50 102.50 0.110487 -147.50 177.50 107.50 0.103349 -147.50 177.50 112.50 0.0829735 -147.50 177.50 117.50 0.0545771 -147.50 177.50 122.50 0.0411975 -147.50 177.50 127.50 0.0734263 -147.50 177.50 132.50 0.182192 -147.50 177.50 137.50 0.423002 -147.50 177.50 142.50 0.764687 -147.50 177.50 147.50 0.961442 -147.50 177.50 152.50 0.816792 -147.50 177.50 157.50 0.493237 -147.50 177.50 162.50 0.242646 -147.50 177.50 167.50 0.130088 -147.50 177.50 172.50 0.104517 -147.50 177.50 177.50 0.109438 -147.50 177.50 182.50 0.116068 -147.50 177.50 187.50 0.114934 -147.50 177.50 192.50 0.110487 -147.50 177.50 197.50 0.103349 -147.50 177.50 202.50 0.0829734 -147.50 177.50 207.50 0.0545772 -147.50 177.50 212.50 0.0411975 -147.50 177.50 217.50 0.0734261 -147.50 177.50 222.50 0.182192 -147.50 177.50 227.50 0.423002 -147.50 177.50 232.50 0.764688 -147.50 177.50 237.50 0.961442 -147.50 177.50 242.50 0.816791 -147.50 177.50 247.50 0.493237 -147.50 177.50 252.50 0.242646 -147.50 177.50 257.50 0.130088 -147.50 177.50 262.50 0.104517 -147.50 177.50 267.50 0.109438 -147.50 177.50 272.50 0.116068 -147.50 177.50 277.50 0.114934 -147.50 177.50 282.50 0.110487 -147.50 177.50 287.50 0.103349 -147.50 177.50 292.50 0.0829734 -147.50 177.50 297.50 0.0545772 -147.50 177.50 302.50 0.0411975 -147.50 177.50 307.50 0.0734261 -147.50 177.50 312.50 0.182192 -147.50 177.50 317.50 0.423002 -147.50 177.50 322.50 0.764686 -147.50 177.50 327.50 0.961442 -147.50 177.50 332.50 0.816791 -147.50 177.50 337.50 0.493238 -147.50 177.50 342.50 0.242646 -147.50 177.50 347.50 0.130089 -147.50 177.50 352.50 0.104517 -147.50 177.50 357.50 0.109438 -152.50 2.50 2.50 0.0601603 -152.50 2.50 7.50 0.0485219 -152.50 2.50 12.50 0.0624686 -152.50 2.50 17.50 0.149977 -152.50 2.50 22.50 0.393272 -152.50 2.50 27.50 0.773179 -152.50 2.50 32.50 0.980476 -152.50 2.50 37.50 0.773179 -152.50 2.50 42.50 0.393272 -152.50 2.50 47.50 0.149977 -152.50 2.50 52.50 0.0624686 -152.50 2.50 57.50 0.0485219 -152.50 2.50 62.50 0.0601603 -152.50 2.50 67.50 0.0760385 -152.50 2.50 72.50 0.083846 -152.50 2.50 77.50 0.084539 -152.50 2.50 82.50 0.083846 -152.50 2.50 87.50 0.0760385 -152.50 2.50 92.50 0.0601603 -152.50 2.50 97.50 0.0485219 -152.50 2.50 102.50 0.0624686 -152.50 2.50 107.50 0.149977 -152.50 2.50 112.50 0.393272 -152.50 2.50 117.50 0.773179 -152.50 2.50 122.50 0.980476 -152.50 2.50 127.50 0.773179 -152.50 2.50 132.50 0.393273 -152.50 2.50 137.50 0.149977 -152.50 2.50 142.50 0.0624686 -152.50 2.50 147.50 0.0485219 -152.50 2.50 152.50 0.0601603 -152.50 2.50 157.50 0.0760385 -152.50 2.50 162.50 0.083846 -152.50 2.50 167.50 0.084539 -152.50 2.50 172.50 0.083846 -152.50 2.50 177.50 0.0760386 -152.50 2.50 182.50 0.0601603 -152.50 2.50 187.50 0.0485219 -152.50 2.50 192.50 0.0624686 -152.50 2.50 197.50 0.149977 -152.50 2.50 202.50 0.393272 -152.50 2.50 207.50 0.773179 -152.50 2.50 212.50 0.980476 -152.50 2.50 217.50 0.773179 -152.50 2.50 222.50 0.393273 -152.50 2.50 227.50 0.149977 -152.50 2.50 232.50 0.0624685 -152.50 2.50 237.50 0.0485219 -152.50 2.50 242.50 0.0601603 -152.50 2.50 247.50 0.0760386 -152.50 2.50 252.50 0.083846 -152.50 2.50 257.50 0.084539 -152.50 2.50 262.50 0.083846 -152.50 2.50 267.50 0.0760385 -152.50 2.50 272.50 0.0601603 -152.50 2.50 277.50 0.0485219 -152.50 2.50 282.50 0.0624685 -152.50 2.50 287.50 0.149977 -152.50 2.50 292.50 0.393272 -152.50 2.50 297.50 0.773178 -152.50 2.50 302.50 0.980476 -152.50 2.50 307.50 0.773179 -152.50 2.50 312.50 0.393273 -152.50 2.50 317.50 0.149977 -152.50 2.50 322.50 0.0624686 -152.50 2.50 327.50 0.0485219 -152.50 2.50 332.50 0.0601603 -152.50 2.50 337.50 0.0760385 -152.50 2.50 342.50 0.083846 -152.50 2.50 347.50 0.084539 -152.50 2.50 352.50 0.083846 -152.50 2.50 357.50 0.0760386 -152.50 7.50 2.50 0.100121 -152.50 7.50 7.50 0.0945822 -152.50 7.50 12.50 0.114763 -152.50 7.50 17.50 0.226978 -152.50 7.50 22.50 0.502348 -152.50 7.50 27.50 0.859325 -152.50 7.50 32.50 1.00586 -152.50 7.50 37.50 0.781004 -152.50 7.50 42.50 0.416235 -152.50 7.50 47.50 0.173853 -152.50 7.50 52.50 0.07184 -152.50 7.50 57.50 0.0410789 -152.50 7.50 62.50 0.0465597 -152.50 7.50 67.50 0.0748372 -152.50 7.50 72.50 0.0979377 -152.50 7.50 77.50 0.105452 -152.50 7.50 82.50 0.106938 -152.50 7.50 87.50 0.106232 -152.50 7.50 92.50 0.100121 -152.50 7.50 97.50 0.0945822 -152.50 7.50 102.50 0.114763 -152.50 7.50 107.50 0.226977 -152.50 7.50 112.50 0.502348 -152.50 7.50 117.50 0.859326 -152.50 7.50 122.50 1.00586 -152.50 7.50 127.50 0.781004 -152.50 7.50 132.50 0.416234 -152.50 7.50 137.50 0.173853 -152.50 7.50 142.50 0.07184 -152.50 7.50 147.50 0.041079 -152.50 7.50 152.50 0.0465597 -152.50 7.50 157.50 0.0748372 -152.50 7.50 162.50 0.0979377 -152.50 7.50 167.50 0.105452 -152.50 7.50 172.50 0.106938 -152.50 7.50 177.50 0.106232 -152.50 7.50 182.50 0.100121 -152.50 7.50 187.50 0.0945822 -152.50 7.50 192.50 0.114763 -152.50 7.50 197.50 0.226978 -152.50 7.50 202.50 0.502348 -152.50 7.50 207.50 0.859324 -152.50 7.50 212.50 1.00586 -152.50 7.50 217.50 0.781004 -152.50 7.50 222.50 0.416235 -152.50 7.50 227.50 0.173853 -152.50 7.50 232.50 0.0718399 -152.50 7.50 237.50 0.041079 -152.50 7.50 242.50 0.0465598 -152.50 7.50 247.50 0.0748373 -152.50 7.50 252.50 0.0979375 -152.50 7.50 257.50 0.105452 -152.50 7.50 262.50 0.106938 -152.50 7.50 267.50 0.106232 -152.50 7.50 272.50 0.100121 -152.50 7.50 277.50 0.0945822 -152.50 7.50 282.50 0.114763 -152.50 7.50 287.50 0.226978 -152.50 7.50 292.50 0.502348 -152.50 7.50 297.50 0.859324 -152.50 7.50 302.50 1.00586 -152.50 7.50 307.50 0.781004 -152.50 7.50 312.50 0.416235 -152.50 7.50 317.50 0.173853 -152.50 7.50 322.50 0.0718401 -152.50 7.50 327.50 0.041079 -152.50 7.50 332.50 0.0465597 -152.50 7.50 337.50 0.0748372 -152.50 7.50 342.50 0.0979376 -152.50 7.50 347.50 0.105452 -152.50 7.50 352.50 0.106938 -152.50 7.50 357.50 0.106232 -152.50 12.50 2.50 0.23184 -152.50 12.50 7.50 0.259509 -152.50 12.50 12.50 0.304765 -152.50 12.50 17.50 0.461096 -152.50 12.50 22.50 0.815158 -152.50 12.50 27.50 1.20655 -152.50 12.50 32.50 1.30522 -152.50 12.50 37.50 1.00249 -152.50 12.50 42.50 0.562383 -152.50 12.50 47.50 0.252107 -152.50 12.50 52.50 0.100429 -152.50 12.50 57.50 0.044108 -152.50 12.50 62.50 0.0498096 -152.50 12.50 67.50 0.0951407 -152.50 12.50 72.50 0.140385 -152.50 12.50 77.50 0.150042 -152.50 12.50 82.50 0.163188 -152.50 12.50 87.50 0.195649 -152.50 12.50 92.50 0.23184 -152.50 12.50 97.50 0.259509 -152.50 12.50 102.50 0.304765 -152.50 12.50 107.50 0.461096 -152.50 12.50 112.50 0.815158 -152.50 12.50 117.50 1.20655 -152.50 12.50 122.50 1.30522 -152.50 12.50 127.50 1.00249 -152.50 12.50 132.50 0.562383 -152.50 12.50 137.50 0.252107 -152.50 12.50 142.50 0.100429 -152.50 12.50 147.50 0.044108 -152.50 12.50 152.50 0.0498096 -152.50 12.50 157.50 0.0951407 -152.50 12.50 162.50 0.140385 -152.50 12.50 167.50 0.150042 -152.50 12.50 172.50 0.163188 -152.50 12.50 177.50 0.195649 -152.50 12.50 182.50 0.23184 -152.50 12.50 187.50 0.259509 -152.50 12.50 192.50 0.304766 -152.50 12.50 197.50 0.461096 -152.50 12.50 202.50 0.815158 -152.50 12.50 207.50 1.20655 -152.50 12.50 212.50 1.30522 -152.50 12.50 217.50 1.00249 -152.50 12.50 222.50 0.562383 -152.50 12.50 227.50 0.252107 -152.50 12.50 232.50 0.100429 -152.50 12.50 237.50 0.044108 -152.50 12.50 242.50 0.0498097 -152.50 12.50 247.50 0.0951407 -152.50 12.50 252.50 0.140385 -152.50 12.50 257.50 0.150042 -152.50 12.50 262.50 0.163188 -152.50 12.50 267.50 0.195649 -152.50 12.50 272.50 0.23184 -152.50 12.50 277.50 0.259509 -152.50 12.50 282.50 0.304766 -152.50 12.50 287.50 0.461096 -152.50 12.50 292.50 0.815158 -152.50 12.50 297.50 1.20655 -152.50 12.50 302.50 1.30522 -152.50 12.50 307.50 1.00249 -152.50 12.50 312.50 0.562383 -152.50 12.50 317.50 0.252107 -152.50 12.50 322.50 0.100429 -152.50 12.50 327.50 0.044108 -152.50 12.50 332.50 0.0498096 -152.50 12.50 337.50 0.0951405 -152.50 12.50 342.50 0.140385 -152.50 12.50 347.50 0.150042 -152.50 12.50 352.50 0.163188 -152.50 12.50 357.50 0.195649 -152.50 17.50 2.50 0.522419 -152.50 17.50 7.50 0.63704 -152.50 17.50 12.50 0.737724 -152.50 17.50 17.50 0.925448 -152.50 17.50 22.50 1.23581 -152.50 17.50 27.50 1.52127 -152.50 17.50 32.50 1.49764 -152.50 17.50 37.50 1.10734 -152.50 17.50 42.50 0.631522 -152.50 17.50 47.50 0.296413 -152.50 17.50 52.50 0.116219 -152.50 17.50 57.50 0.0400304 -152.50 17.50 62.50 0.0377468 -152.50 17.50 67.50 0.097828 -152.50 17.50 72.50 0.167806 -152.50 17.50 77.50 0.207394 -152.50 17.50 82.50 0.241365 -152.50 17.50 87.50 0.373755 -152.50 17.50 92.50 0.522419 -152.50 17.50 97.50 0.63704 -152.50 17.50 102.50 0.737724 -152.50 17.50 107.50 0.925448 -152.50 17.50 112.50 1.23581 -152.50 17.50 117.50 1.52127 -152.50 17.50 122.50 1.49764 -152.50 17.50 127.50 1.10734 -152.50 17.50 132.50 0.631521 -152.50 17.50 137.50 0.296413 -152.50 17.50 142.50 0.116219 -152.50 17.50 147.50 0.0400304 -152.50 17.50 152.50 0.0377468 -152.50 17.50 157.50 0.0978279 -152.50 17.50 162.50 0.167805 -152.50 17.50 167.50 0.207394 -152.50 17.50 172.50 0.241365 -152.50 17.50 177.50 0.373755 -152.50 17.50 182.50 0.522419 -152.50 17.50 187.50 0.63704 -152.50 17.50 192.50 0.737724 -152.50 17.50 197.50 0.925448 -152.50 17.50 202.50 1.23581 -152.50 17.50 207.50 1.52127 -152.50 17.50 212.50 1.49764 -152.50 17.50 217.50 1.10734 -152.50 17.50 222.50 0.631522 -152.50 17.50 227.50 0.296413 -152.50 17.50 232.50 0.116219 -152.50 17.50 237.50 0.0400303 -152.50 17.50 242.50 0.0377469 -152.50 17.50 247.50 0.0978281 -152.50 17.50 252.50 0.167806 -152.50 17.50 257.50 0.207394 -152.50 17.50 262.50 0.241365 -152.50 17.50 267.50 0.373755 -152.50 17.50 272.50 0.522419 -152.50 17.50 277.50 0.63704 -152.50 17.50 282.50 0.737724 -152.50 17.50 287.50 0.925448 -152.50 17.50 292.50 1.23582 -152.50 17.50 297.50 1.52127 -152.50 17.50 302.50 1.49764 -152.50 17.50 307.50 1.10734 -152.50 17.50 312.50 0.631522 -152.50 17.50 317.50 0.296413 -152.50 17.50 322.50 0.11622 -152.50 17.50 327.50 0.0400304 -152.50 17.50 332.50 0.0377467 -152.50 17.50 337.50 0.0978278 -152.50 17.50 342.50 0.167805 -152.50 17.50 347.50 0.207394 -152.50 17.50 352.50 0.241365 -152.50 17.50 357.50 0.373755 -152.50 22.50 2.50 1.09345 -152.50 22.50 7.50 1.35571 -152.50 22.50 12.50 1.52053 -152.50 22.50 17.50 1.61428 -152.50 22.50 22.50 1.72818 -152.50 22.50 27.50 1.74574 -152.50 22.50 32.50 1.48599 -152.50 22.50 37.50 1.02935 -152.50 22.50 42.50 0.595059 -152.50 22.50 47.50 0.278606 -152.50 22.50 52.50 0.0971229 -152.50 22.50 57.50 0.0269771 -152.50 22.50 62.50 0.0246356 -152.50 22.50 67.50 0.0662611 -152.50 22.50 72.50 0.13557 -152.50 22.50 77.50 0.239148 -152.50 22.50 82.50 0.412756 -152.50 22.50 87.50 0.717939 -152.50 22.50 92.50 1.09345 -152.50 22.50 97.50 1.35571 -152.50 22.50 102.50 1.52053 -152.50 22.50 107.50 1.61428 -152.50 22.50 112.50 1.72818 -152.50 22.50 117.50 1.74574 -152.50 22.50 122.50 1.48599 -152.50 22.50 127.50 1.02935 -152.50 22.50 132.50 0.595059 -152.50 22.50 137.50 0.278606 -152.50 22.50 142.50 0.097123 -152.50 22.50 147.50 0.0269771 -152.50 22.50 152.50 0.0246356 -152.50 22.50 157.50 0.066261 -152.50 22.50 162.50 0.13557 -152.50 22.50 167.50 0.239148 -152.50 22.50 172.50 0.412756 -152.50 22.50 177.50 0.717939 -152.50 22.50 182.50 1.09345 -152.50 22.50 187.50 1.35571 -152.50 22.50 192.50 1.52053 -152.50 22.50 197.50 1.61428 -152.50 22.50 202.50 1.72818 -152.50 22.50 207.50 1.74574 -152.50 22.50 212.50 1.48599 -152.50 22.50 217.50 1.02935 -152.50 22.50 222.50 0.595059 -152.50 22.50 227.50 0.278607 -152.50 22.50 232.50 0.0971226 -152.50 22.50 237.50 0.026977 -152.50 22.50 242.50 0.0246356 -152.50 22.50 247.50 0.0662612 -152.50 22.50 252.50 0.13557 -152.50 22.50 257.50 0.239148 -152.50 22.50 262.50 0.412757 -152.50 22.50 267.50 0.71794 -152.50 22.50 272.50 1.09345 -152.50 22.50 277.50 1.35571 -152.50 22.50 282.50 1.52053 -152.50 22.50 287.50 1.61428 -152.50 22.50 292.50 1.72818 -152.50 22.50 297.50 1.74574 -152.50 22.50 302.50 1.48599 -152.50 22.50 307.50 1.02935 -152.50 22.50 312.50 0.595059 -152.50 22.50 317.50 0.278607 -152.50 22.50 322.50 0.0971231 -152.50 22.50 327.50 0.0269772 -152.50 22.50 332.50 0.0246355 -152.50 22.50 337.50 0.0662609 -152.50 22.50 342.50 0.13557 -152.50 22.50 347.50 0.239148 -152.50 22.50 352.50 0.412756 -152.50 22.50 357.50 0.717938 -152.50 27.50 2.50 1.96803 -152.50 27.50 7.50 2.42077 -152.50 27.50 12.50 2.5334 -152.50 27.50 17.50 2.38837 -152.50 27.50 22.50 2.16923 -152.50 27.50 27.50 1.89582 -152.50 27.50 32.50 1.40128 -152.50 27.50 37.50 0.833258 -152.50 27.50 42.50 0.435607 -152.50 27.50 47.50 0.195391 -152.50 27.50 52.50 0.0644321 -152.50 27.50 57.50 0.0142587 -152.50 27.50 62.50 0.00850377 -152.50 27.50 67.50 0.0316823 -152.50 27.50 72.50 0.0981173 -152.50 27.50 77.50 0.279702 -152.50 27.50 82.50 0.671076 -152.50 27.50 87.50 1.24071 -152.50 27.50 92.50 1.96803 -152.50 27.50 97.50 2.42077 -152.50 27.50 102.50 2.5334 -152.50 27.50 107.50 2.38837 -152.50 27.50 112.50 2.16923 -152.50 27.50 117.50 1.89582 -152.50 27.50 122.50 1.40128 -152.50 27.50 127.50 0.833258 -152.50 27.50 132.50 0.435607 -152.50 27.50 137.50 0.195391 -152.50 27.50 142.50 0.0644322 -152.50 27.50 147.50 0.0142587 -152.50 27.50 152.50 0.00850378 -152.50 27.50 157.50 0.0316822 -152.50 27.50 162.50 0.0981173 -152.50 27.50 167.50 0.279702 -152.50 27.50 172.50 0.671075 -152.50 27.50 177.50 1.24071 -152.50 27.50 182.50 1.96804 -152.50 27.50 187.50 2.42077 -152.50 27.50 192.50 2.5334 -152.50 27.50 197.50 2.38837 -152.50 27.50 202.50 2.16923 -152.50 27.50 207.50 1.89583 -152.50 27.50 212.50 1.40128 -152.50 27.50 217.50 0.833258 -152.50 27.50 222.50 0.435607 -152.50 27.50 227.50 0.195391 -152.50 27.50 232.50 0.064432 -152.50 27.50 237.50 0.0142587 -152.50 27.50 242.50 0.00850381 -152.50 27.50 247.50 0.0316823 -152.50 27.50 252.50 0.0981176 -152.50 27.50 257.50 0.279703 -152.50 27.50 262.50 0.671077 -152.50 27.50 267.50 1.24071 -152.50 27.50 272.50 1.96804 -152.50 27.50 277.50 2.42077 -152.50 27.50 282.50 2.5334 -152.50 27.50 287.50 2.38837 -152.50 27.50 292.50 2.16923 -152.50 27.50 297.50 1.89582 -152.50 27.50 302.50 1.40128 -152.50 27.50 307.50 0.833258 -152.50 27.50 312.50 0.435608 -152.50 27.50 317.50 0.195391 -152.50 27.50 322.50 0.0644323 -152.50 27.50 327.50 0.0142588 -152.50 27.50 332.50 0.00850377 -152.50 27.50 337.50 0.0316822 -152.50 27.50 342.50 0.0981171 -152.50 27.50 347.50 0.279702 -152.50 27.50 352.50 0.671075 -152.50 27.50 357.50 1.24071 -152.50 32.50 2.50 2.99998 -152.50 32.50 7.50 3.62013 -152.50 32.50 12.50 3.52469 -152.50 32.50 17.50 3.01306 -152.50 32.50 22.50 2.38047 -152.50 32.50 27.50 1.85572 -152.50 32.50 32.50 1.18313 -152.50 32.50 37.50 0.590122 -152.50 32.50 42.50 0.252065 -152.50 32.50 47.50 0.0970907 -152.50 32.50 52.50 0.028818 -152.50 32.50 57.50 0.00755231 -152.50 32.50 62.50 0.00676333 -152.50 32.50 67.50 0.0277001 -152.50 32.50 72.50 0.12523 -152.50 32.50 77.50 0.398625 -152.50 32.50 82.50 1.02375 -152.50 32.50 87.50 1.90997 -152.50 32.50 92.50 2.99998 -152.50 32.50 97.50 3.62013 -152.50 32.50 102.50 3.52468 -152.50 32.50 107.50 3.01306 -152.50 32.50 112.50 2.38047 -152.50 32.50 117.50 1.85572 -152.50 32.50 122.50 1.18313 -152.50 32.50 127.50 0.590122 -152.50 32.50 132.50 0.252065 -152.50 32.50 137.50 0.0970907 -152.50 32.50 142.50 0.028818 -152.50 32.50 147.50 0.0075523 -152.50 32.50 152.50 0.00676332 -152.50 32.50 157.50 0.0277001 -152.50 32.50 162.50 0.12523 -152.50 32.50 167.50 0.398624 -152.50 32.50 172.50 1.02375 -152.50 32.50 177.50 1.90997 -152.50 32.50 182.50 2.99999 -152.50 32.50 187.50 3.62013 -152.50 32.50 192.50 3.52468 -152.50 32.50 197.50 3.01306 -152.50 32.50 202.50 2.38047 -152.50 32.50 207.50 1.85573 -152.50 32.50 212.50 1.18313 -152.50 32.50 217.50 0.590123 -152.50 32.50 222.50 0.252065 -152.50 32.50 227.50 0.0970909 -152.50 32.50 232.50 0.028818 -152.50 32.50 237.50 0.00755229 -152.50 32.50 242.50 0.00676334 -152.50 32.50 247.50 0.0277003 -152.50 32.50 252.50 0.12523 -152.50 32.50 257.50 0.398625 -152.50 32.50 262.50 1.02375 -152.50 32.50 267.50 1.90997 -152.50 32.50 272.50 2.99998 -152.50 32.50 277.50 3.62013 -152.50 32.50 282.50 3.52469 -152.50 32.50 287.50 3.01306 -152.50 32.50 292.50 2.38047 -152.50 32.50 297.50 1.85573 -152.50 32.50 302.50 1.18313 -152.50 32.50 307.50 0.590123 -152.50 32.50 312.50 0.252065 -152.50 32.50 317.50 0.0970908 -152.50 32.50 322.50 0.0288182 -152.50 32.50 327.50 0.00755234 -152.50 32.50 332.50 0.00676333 -152.50 32.50 337.50 0.0277001 -152.50 32.50 342.50 0.12523 -152.50 32.50 347.50 0.398624 -152.50 32.50 352.50 1.02375 -152.50 32.50 357.50 1.90996 -152.50 37.50 2.50 3.97879 -152.50 37.50 7.50 4.6037 -152.50 37.50 12.50 4.256 -152.50 37.50 17.50 3.31617 -152.50 37.50 22.50 2.39561 -152.50 37.50 27.50 1.60325 -152.50 37.50 32.50 0.888363 -152.50 37.50 37.50 0.374936 -152.50 37.50 42.50 0.118135 -152.50 37.50 47.50 0.0338126 -152.50 37.50 52.50 0.00985912 -152.50 37.50 57.50 0.00595821 -152.50 37.50 62.50 0.0192987 -152.50 37.50 67.50 0.0727313 -152.50 37.50 72.50 0.254908 -152.50 37.50 77.50 0.710543 -152.50 37.50 82.50 1.56092 -152.50 37.50 87.50 2.71873 -152.50 37.50 92.50 3.97879 -152.50 37.50 97.50 4.6037 -152.50 37.50 102.50 4.256 -152.50 37.50 107.50 3.31617 -152.50 37.50 112.50 2.39561 -152.50 37.50 117.50 1.60325 -152.50 37.50 122.50 0.888363 -152.50 37.50 127.50 0.374935 -152.50 37.50 132.50 0.118135 -152.50 37.50 137.50 0.0338126 -152.50 37.50 142.50 0.00985911 -152.50 37.50 147.50 0.0059582 -152.50 37.50 152.50 0.0192987 -152.50 37.50 157.50 0.072731 -152.50 37.50 162.50 0.254907 -152.50 37.50 167.50 0.710543 -152.50 37.50 172.50 1.56092 -152.50 37.50 177.50 2.71873 -152.50 37.50 182.50 3.97879 -152.50 37.50 187.50 4.60371 -152.50 37.50 192.50 4.256 -152.50 37.50 197.50 3.31617 -152.50 37.50 202.50 2.39561 -152.50 37.50 207.50 1.60325 -152.50 37.50 212.50 0.888363 -152.50 37.50 217.50 0.374936 -152.50 37.50 222.50 0.118135 -152.50 37.50 227.50 0.0338126 -152.50 37.50 232.50 0.00985911 -152.50 37.50 237.50 0.00595821 -152.50 37.50 242.50 0.0192987 -152.50 37.50 247.50 0.0727313 -152.50 37.50 252.50 0.254908 -152.50 37.50 257.50 0.710544 -152.50 37.50 262.50 1.56092 -152.50 37.50 267.50 2.71873 -152.50 37.50 272.50 3.97879 -152.50 37.50 277.50 4.6037 -152.50 37.50 282.50 4.256 -152.50 37.50 287.50 3.31617 -152.50 37.50 292.50 2.39561 -152.50 37.50 297.50 1.60325 -152.50 37.50 302.50 0.888364 -152.50 37.50 307.50 0.374937 -152.50 37.50 312.50 0.118135 -152.50 37.50 317.50 0.0338126 -152.50 37.50 322.50 0.00985914 -152.50 37.50 327.50 0.00595819 -152.50 37.50 332.50 0.0192987 -152.50 37.50 337.50 0.072731 -152.50 37.50 342.50 0.254907 -152.50 37.50 347.50 0.710541 -152.50 37.50 352.50 1.56092 -152.50 37.50 357.50 2.71873 -152.50 42.50 2.50 4.69043 -152.50 42.50 7.50 5.1111 -152.50 42.50 12.50 4.48177 -152.50 42.50 17.50 3.2594 -152.50 42.50 22.50 2.13666 -152.50 42.50 27.50 1.24593 -152.50 42.50 32.50 0.579261 -152.50 42.50 37.50 0.198828 -152.50 42.50 42.50 0.049226 -152.50 42.50 47.50 0.00979707 -152.50 42.50 52.50 0.0046336 -152.50 42.50 57.50 0.0164119 -152.50 42.50 62.50 0.0681549 -152.50 42.50 67.50 0.201332 -152.50 42.50 72.50 0.550165 -152.50 42.50 77.50 1.26737 -152.50 42.50 82.50 2.37639 -152.50 42.50 87.50 3.58904 -152.50 42.50 92.50 4.69043 -152.50 42.50 97.50 5.1111 -152.50 42.50 102.50 4.48177 -152.50 42.50 107.50 3.2594 -152.50 42.50 112.50 2.13667 -152.50 42.50 117.50 1.24593 -152.50 42.50 122.50 0.579261 -152.50 42.50 127.50 0.198827 -152.50 42.50 132.50 0.049226 -152.50 42.50 137.50 0.00979707 -152.50 42.50 142.50 0.0046336 -152.50 42.50 147.50 0.0164119 -152.50 42.50 152.50 0.0681547 -152.50 42.50 157.50 0.201332 -152.50 42.50 162.50 0.550165 -152.50 42.50 167.50 1.26736 -152.50 42.50 172.50 2.37639 -152.50 42.50 177.50 3.58904 -152.50 42.50 182.50 4.69043 -152.50 42.50 187.50 5.1111 -152.50 42.50 192.50 4.48177 -152.50 42.50 197.50 3.2594 -152.50 42.50 202.50 2.13666 -152.50 42.50 207.50 1.24593 -152.50 42.50 212.50 0.579261 -152.50 42.50 217.50 0.198828 -152.50 42.50 222.50 0.0492261 -152.50 42.50 227.50 0.00979711 -152.50 42.50 232.50 0.00463361 -152.50 42.50 237.50 0.0164119 -152.50 42.50 242.50 0.0681549 -152.50 42.50 247.50 0.201332 -152.50 42.50 252.50 0.550166 -152.50 42.50 257.50 1.26737 -152.50 42.50 262.50 2.37639 -152.50 42.50 267.50 3.58904 -152.50 42.50 272.50 4.69043 -152.50 42.50 277.50 5.1111 -152.50 42.50 282.50 4.48177 -152.50 42.50 287.50 3.2594 -152.50 42.50 292.50 2.13666 -152.50 42.50 297.50 1.24594 -152.50 42.50 302.50 0.579262 -152.50 42.50 307.50 0.198828 -152.50 42.50 312.50 0.0492261 -152.50 42.50 317.50 0.0097971 -152.50 42.50 322.50 0.0046336 -152.50 42.50 327.50 0.0164118 -152.50 42.50 332.50 0.0681547 -152.50 42.50 337.50 0.201331 -152.50 42.50 342.50 0.550164 -152.50 42.50 347.50 1.26736 -152.50 42.50 352.50 2.37638 -152.50 42.50 357.50 3.58904 -152.50 47.50 2.50 4.95231 -152.50 47.50 7.50 4.95933 -152.50 47.50 12.50 4.02082 -152.50 47.50 17.50 2.64963 -152.50 47.50 22.50 1.56269 -152.50 47.50 27.50 0.775071 -152.50 47.50 32.50 0.316416 -152.50 47.50 37.50 0.0961166 -152.50 47.50 42.50 0.0206882 -152.50 47.50 47.50 0.00573953 -152.50 47.50 52.50 0.0117542 -152.50 47.50 57.50 0.06603 -152.50 47.50 62.50 0.213501 -152.50 47.50 67.50 0.533432 -152.50 47.50 72.50 1.12772 -152.50 47.50 77.50 2.10821 -152.50 47.50 82.50 3.38468 -152.50 47.50 87.50 4.39341 -152.50 47.50 92.50 4.95231 -152.50 47.50 97.50 4.95933 -152.50 47.50 102.50 4.02082 -152.50 47.50 107.50 2.64963 -152.50 47.50 112.50 1.56269 -152.50 47.50 117.50 0.775071 -152.50 47.50 122.50 0.316415 -152.50 47.50 127.50 0.0961165 -152.50 47.50 132.50 0.0206882 -152.50 47.50 137.50 0.00573953 -152.50 47.50 142.50 0.0117542 -152.50 47.50 147.50 0.0660299 -152.50 47.50 152.50 0.2135 -152.50 47.50 157.50 0.533431 -152.50 47.50 162.50 1.12772 -152.50 47.50 167.50 2.10821 -152.50 47.50 172.50 3.38468 -152.50 47.50 177.50 4.39341 -152.50 47.50 182.50 4.95231 -152.50 47.50 187.50 4.95933 -152.50 47.50 192.50 4.02082 -152.50 47.50 197.50 2.64963 -152.50 47.50 202.50 1.56269 -152.50 47.50 207.50 0.775072 -152.50 47.50 212.50 0.316416 -152.50 47.50 217.50 0.0961166 -152.50 47.50 222.50 0.0206882 -152.50 47.50 227.50 0.00573954 -152.50 47.50 232.50 0.0117542 -152.50 47.50 237.50 0.06603 -152.50 47.50 242.50 0.213501 -152.50 47.50 247.50 0.533433 -152.50 47.50 252.50 1.12773 -152.50 47.50 257.50 2.10821 -152.50 47.50 262.50 3.38468 -152.50 47.50 267.50 4.39341 -152.50 47.50 272.50 4.9523 -152.50 47.50 277.50 4.95933 -152.50 47.50 282.50 4.02082 -152.50 47.50 287.50 2.64963 -152.50 47.50 292.50 1.56269 -152.50 47.50 297.50 0.775072 -152.50 47.50 302.50 0.316416 -152.50 47.50 307.50 0.0961167 -152.50 47.50 312.50 0.0206883 -152.50 47.50 317.50 0.00573953 -152.50 47.50 322.50 0.0117542 -152.50 47.50 327.50 0.0660298 -152.50 47.50 332.50 0.213501 -152.50 47.50 337.50 0.533431 -152.50 47.50 342.50 1.12772 -152.50 47.50 347.50 2.1082 -152.50 47.50 352.50 3.38468 -152.50 47.50 357.50 4.39341 -152.50 52.50 2.50 4.69043 -152.50 52.50 7.50 4.08367 -152.50 52.50 12.50 2.95837 -152.50 52.50 17.50 1.72464 -152.50 52.50 22.50 0.884918 -152.50 52.50 27.50 0.383308 -152.50 52.50 32.50 0.126388 -152.50 52.50 37.50 0.0411484 -152.50 52.50 42.50 0.00928604 -152.50 52.50 47.50 0.00650744 -152.50 52.50 52.50 0.0410823 -152.50 52.50 57.50 0.192946 -152.50 52.50 62.50 0.570496 -152.50 52.50 67.50 1.22267 -152.50 52.50 72.50 2.13189 -152.50 52.50 77.50 3.28921 -152.50 52.50 82.50 4.467 -152.50 52.50 87.50 4.9821 -152.50 52.50 92.50 4.69043 -152.50 52.50 97.50 4.08367 -152.50 52.50 102.50 2.95837 -152.50 52.50 107.50 1.72464 -152.50 52.50 112.50 0.884918 -152.50 52.50 117.50 0.383307 -152.50 52.50 122.50 0.126388 -152.50 52.50 127.50 0.0411484 -152.50 52.50 132.50 0.00928603 -152.50 52.50 137.50 0.00650744 -152.50 52.50 142.50 0.0410823 -152.50 52.50 147.50 0.192946 -152.50 52.50 152.50 0.570495 -152.50 52.50 157.50 1.22267 -152.50 52.50 162.50 2.13189 -152.50 52.50 167.50 3.28921 -152.50 52.50 172.50 4.46699 -152.50 52.50 177.50 4.9821 -152.50 52.50 182.50 4.69043 -152.50 52.50 187.50 4.08367 -152.50 52.50 192.50 2.95837 -152.50 52.50 197.50 1.72464 -152.50 52.50 202.50 0.884918 -152.50 52.50 207.50 0.383308 -152.50 52.50 212.50 0.126388 -152.50 52.50 217.50 0.0411484 -152.50 52.50 222.50 0.00928605 -152.50 52.50 227.50 0.00650743 -152.50 52.50 232.50 0.0410825 -152.50 52.50 237.50 0.192947 -152.50 52.50 242.50 0.570496 -152.50 52.50 247.50 1.22267 -152.50 52.50 252.50 2.13189 -152.50 52.50 257.50 3.28921 -152.50 52.50 262.50 4.46699 -152.50 52.50 267.50 4.9821 -152.50 52.50 272.50 4.69043 -152.50 52.50 277.50 4.08367 -152.50 52.50 282.50 2.95837 -152.50 52.50 287.50 1.72464 -152.50 52.50 292.50 0.884918 -152.50 52.50 297.50 0.383308 -152.50 52.50 302.50 0.126388 -152.50 52.50 307.50 0.0411485 -152.50 52.50 312.50 0.00928606 -152.50 52.50 317.50 0.00650743 -152.50 52.50 322.50 0.0410823 -152.50 52.50 327.50 0.192946 -152.50 52.50 332.50 0.570494 -152.50 52.50 337.50 1.22267 -152.50 52.50 342.50 2.13189 -152.50 52.50 347.50 3.28921 -152.50 52.50 352.50 4.46699 -152.50 52.50 357.50 4.9821 -152.50 57.50 2.50 3.97878 -152.50 57.50 7.50 2.7973 -152.50 57.50 12.50 1.71985 -152.50 57.50 17.50 0.878167 -152.50 57.50 22.50 0.384209 -152.50 57.50 27.50 0.147507 -152.50 57.50 32.50 0.0483811 -152.50 57.50 37.50 0.012454 -152.50 57.50 42.50 0.005444 -152.50 57.50 47.50 0.022614 -152.50 57.50 52.50 0.10508 -152.50 57.50 57.50 0.40545 -152.50 57.50 62.50 1.13084 -152.50 57.50 67.50 2.23604 -152.50 57.50 72.50 3.46852 -152.50 57.50 77.50 4.61669 -152.50 57.50 82.50 5.31958 -152.50 57.50 87.50 5.14816 -152.50 57.50 92.50 3.97879 -152.50 57.50 97.50 2.7973 -152.50 57.50 102.50 1.71985 -152.50 57.50 107.50 0.878166 -152.50 57.50 112.50 0.384209 -152.50 57.50 117.50 0.147507 -152.50 57.50 122.50 0.0483811 -152.50 57.50 127.50 0.012454 -152.50 57.50 132.50 0.005444 -152.50 57.50 137.50 0.022614 -152.50 57.50 142.50 0.10508 -152.50 57.50 147.50 0.40545 -152.50 57.50 152.50 1.13083 -152.50 57.50 157.50 2.23604 -152.50 57.50 162.50 3.46852 -152.50 57.50 167.50 4.61669 -152.50 57.50 172.50 5.31958 -152.50 57.50 177.50 5.14816 -152.50 57.50 182.50 3.97879 -152.50 57.50 187.50 2.7973 -152.50 57.50 192.50 1.71985 -152.50 57.50 197.50 0.878167 -152.50 57.50 202.50 0.384209 -152.50 57.50 207.50 0.147507 -152.50 57.50 212.50 0.0483811 -152.50 57.50 217.50 0.012454 -152.50 57.50 222.50 0.00544401 -152.50 57.50 227.50 0.022614 -152.50 57.50 232.50 0.105081 -152.50 57.50 237.50 0.405451 -152.50 57.50 242.50 1.13084 -152.50 57.50 247.50 2.23604 -152.50 57.50 252.50 3.46852 -152.50 57.50 257.50 4.61669 -152.50 57.50 262.50 5.31958 -152.50 57.50 267.50 5.14816 -152.50 57.50 272.50 3.97879 -152.50 57.50 277.50 2.7973 -152.50 57.50 282.50 1.71985 -152.50 57.50 287.50 0.878167 -152.50 57.50 292.50 0.384209 -152.50 57.50 297.50 0.147507 -152.50 57.50 302.50 0.0483811 -152.50 57.50 307.50 0.012454 -152.50 57.50 312.50 0.00544401 -152.50 57.50 317.50 0.0226139 -152.50 57.50 322.50 0.10508 -152.50 57.50 327.50 0.40545 -152.50 57.50 332.50 1.13083 -152.50 57.50 337.50 2.23604 -152.50 57.50 342.50 3.46852 -152.50 57.50 347.50 4.61669 -152.50 57.50 352.50 5.31958 -152.50 57.50 357.50 5.14816 -152.50 62.50 2.50 2.99998 -152.50 62.50 7.50 1.64726 -152.50 62.50 12.50 0.816469 -152.50 62.50 17.50 0.352535 -152.50 62.50 22.50 0.128789 -152.50 62.50 27.50 0.0423286 -152.50 62.50 32.50 0.0150629 -152.50 62.50 37.50 0.00644963 -152.50 62.50 42.50 0.0160806 -152.50 62.50 47.50 0.0635651 -152.50 62.50 52.50 0.228709 -152.50 62.50 57.50 0.76075 -152.50 62.50 62.50 1.79067 -152.50 62.50 67.50 3.29407 -152.50 62.50 72.50 4.69798 -152.50 62.50 77.50 5.56268 -152.50 62.50 82.50 5.52208 -152.50 62.50 87.50 4.66052 -152.50 62.50 92.50 2.99998 -152.50 62.50 97.50 1.64725 -152.50 62.50 102.50 0.816469 -152.50 62.50 107.50 0.352535 -152.50 62.50 112.50 0.128788 -152.50 62.50 117.50 0.0423285 -152.50 62.50 122.50 0.0150629 -152.50 62.50 127.50 0.00644962 -152.50 62.50 132.50 0.0160806 -152.50 62.50 137.50 0.0635651 -152.50 62.50 142.50 0.228709 -152.50 62.50 147.50 0.76075 -152.50 62.50 152.50 1.79067 -152.50 62.50 157.50 3.29407 -152.50 62.50 162.50 4.69798 -152.50 62.50 167.50 5.56268 -152.50 62.50 172.50 5.52208 -152.50 62.50 177.50 4.66052 -152.50 62.50 182.50 2.99998 -152.50 62.50 187.50 1.64725 -152.50 62.50 192.50 0.816469 -152.50 62.50 197.50 0.352535 -152.50 62.50 202.50 0.128788 -152.50 62.50 207.50 0.0423286 -152.50 62.50 212.50 0.0150629 -152.50 62.50 217.50 0.00644962 -152.50 62.50 222.50 0.0160806 -152.50 62.50 227.50 0.0635651 -152.50 62.50 232.50 0.228709 -152.50 62.50 237.50 0.760751 -152.50 62.50 242.50 1.79067 -152.50 62.50 247.50 3.29407 -152.50 62.50 252.50 4.69798 -152.50 62.50 257.50 5.56268 -152.50 62.50 262.50 5.52208 -152.50 62.50 267.50 4.66051 -152.50 62.50 272.50 2.99998 -152.50 62.50 277.50 1.64726 -152.50 62.50 282.50 0.816469 -152.50 62.50 287.50 0.352535 -152.50 62.50 292.50 0.128789 -152.50 62.50 297.50 0.0423287 -152.50 62.50 302.50 0.015063 -152.50 62.50 307.50 0.00644963 -152.50 62.50 312.50 0.0160806 -152.50 62.50 317.50 0.063565 -152.50 62.50 322.50 0.228708 -152.50 62.50 327.50 0.760748 -152.50 62.50 332.50 1.79067 -152.50 62.50 337.50 3.29407 -152.50 62.50 342.50 4.69798 -152.50 62.50 347.50 5.56268 -152.50 62.50 352.50 5.52208 -152.50 62.50 357.50 4.66052 -152.50 67.50 2.50 1.96803 -152.50 67.50 7.50 0.870675 -152.50 67.50 12.50 0.347857 -152.50 67.50 17.50 0.12179 -152.50 67.50 22.50 0.0403446 -152.50 67.50 27.50 0.0137422 -152.50 67.50 32.50 0.00519186 -152.50 67.50 37.50 0.00810221 -152.50 67.50 42.50 0.0465226 -152.50 67.50 47.50 0.160589 -152.50 67.50 52.50 0.449242 -152.50 67.50 57.50 1.11393 -152.50 67.50 62.50 2.38625 -152.50 67.50 67.50 3.94446 -152.50 67.50 72.50 5.1139 -152.50 67.50 77.50 5.45632 -152.50 67.50 82.50 4.88871 -152.50 67.50 87.50 3.5881 -152.50 67.50 92.50 1.96803 -152.50 67.50 97.50 0.870674 -152.50 67.50 102.50 0.347857 -152.50 67.50 107.50 0.12179 -152.50 67.50 112.50 0.0403446 -152.50 67.50 117.50 0.0137422 -152.50 67.50 122.50 0.00519184 -152.50 67.50 127.50 0.0081022 -152.50 67.50 132.50 0.0465226 -152.50 67.50 137.50 0.160589 -152.50 67.50 142.50 0.449242 -152.50 67.50 147.50 1.11393 -152.50 67.50 152.50 2.38624 -152.50 67.50 157.50 3.94446 -152.50 67.50 162.50 5.11389 -152.50 67.50 167.50 5.45633 -152.50 67.50 172.50 4.88871 -152.50 67.50 177.50 3.5881 -152.50 67.50 182.50 1.96803 -152.50 67.50 187.50 0.870674 -152.50 67.50 192.50 0.347857 -152.50 67.50 197.50 0.12179 -152.50 67.50 202.50 0.0403446 -152.50 67.50 207.50 0.0137423 -152.50 67.50 212.50 0.00519186 -152.50 67.50 217.50 0.0081022 -152.50 67.50 222.50 0.0465226 -152.50 67.50 227.50 0.160589 -152.50 67.50 232.50 0.449243 -152.50 67.50 237.50 1.11393 -152.50 67.50 242.50 2.38625 -152.50 67.50 247.50 3.94446 -152.50 67.50 252.50 5.11389 -152.50 67.50 257.50 5.45633 -152.50 67.50 262.50 4.88871 -152.50 67.50 267.50 3.5881 -152.50 67.50 272.50 1.96803 -152.50 67.50 277.50 0.870675 -152.50 67.50 282.50 0.347857 -152.50 67.50 287.50 0.12179 -152.50 67.50 292.50 0.0403446 -152.50 67.50 297.50 0.0137422 -152.50 67.50 302.50 0.00519188 -152.50 67.50 307.50 0.0081022 -152.50 67.50 312.50 0.0465226 -152.50 67.50 317.50 0.160589 -152.50 67.50 322.50 0.449242 -152.50 67.50 327.50 1.11393 -152.50 67.50 332.50 2.38624 -152.50 67.50 337.50 3.94446 -152.50 67.50 342.50 5.11389 -152.50 67.50 347.50 5.45633 -152.50 67.50 352.50 4.88871 -152.50 67.50 357.50 3.58811 -152.50 72.50 2.50 1.09345 -152.50 72.50 7.50 0.408941 -152.50 72.50 12.50 0.141006 -152.50 72.50 17.50 0.0443851 -152.50 72.50 22.50 0.0217755 -152.50 72.50 27.50 0.0101522 -152.50 72.50 32.50 0.00563605 -152.50 72.50 37.50 0.0160792 -152.50 72.50 42.50 0.0711076 -152.50 72.50 47.50 0.232757 -152.50 72.50 52.50 0.569088 -152.50 72.50 57.50 1.24276 -152.50 72.50 62.50 2.39754 -152.50 72.50 67.50 3.68294 -152.50 72.50 72.50 4.51332 -152.50 72.50 77.50 4.3741 -152.50 72.50 82.50 3.60754 -152.50 72.50 87.50 2.33131 -152.50 72.50 92.50 1.09345 -152.50 72.50 97.50 0.40894 -152.50 72.50 102.50 0.141005 -152.50 72.50 107.50 0.0443851 -152.50 72.50 112.50 0.0217754 -152.50 72.50 117.50 0.0101522 -152.50 72.50 122.50 0.00563606 -152.50 72.50 127.50 0.0160792 -152.50 72.50 132.50 0.0711077 -152.50 72.50 137.50 0.232757 -152.50 72.50 142.50 0.569088 -152.50 72.50 147.50 1.24276 -152.50 72.50 152.50 2.39753 -152.50 72.50 157.50 3.68294 -152.50 72.50 162.50 4.51332 -152.50 72.50 167.50 4.3741 -152.50 72.50 172.50 3.60754 -152.50 72.50 177.50 2.33131 -152.50 72.50 182.50 1.09345 -152.50 72.50 187.50 0.40894 -152.50 72.50 192.50 0.141005 -152.50 72.50 197.50 0.0443851 -152.50 72.50 202.50 0.0217754 -152.50 72.50 207.50 0.0101522 -152.50 72.50 212.50 0.00563606 -152.50 72.50 217.50 0.0160792 -152.50 72.50 222.50 0.0711076 -152.50 72.50 227.50 0.232757 -152.50 72.50 232.50 0.569089 -152.50 72.50 237.50 1.24276 -152.50 72.50 242.50 2.39754 -152.50 72.50 247.50 3.68294 -152.50 72.50 252.50 4.51332 -152.50 72.50 257.50 4.3741 -152.50 72.50 262.50 3.60754 -152.50 72.50 267.50 2.33131 -152.50 72.50 272.50 1.09345 -152.50 72.50 277.50 0.40894 -152.50 72.50 282.50 0.141006 -152.50 72.50 287.50 0.0443852 -152.50 72.50 292.50 0.0217754 -152.50 72.50 297.50 0.0101522 -152.50 72.50 302.50 0.00563605 -152.50 72.50 307.50 0.0160791 -152.50 72.50 312.50 0.0711076 -152.50 72.50 317.50 0.232757 -152.50 72.50 322.50 0.569086 -152.50 72.50 327.50 1.24276 -152.50 72.50 332.50 2.39753 -152.50 72.50 337.50 3.68294 -152.50 72.50 342.50 4.51332 -152.50 72.50 347.50 4.3741 -152.50 72.50 352.50 3.60755 -152.50 72.50 357.50 2.33132 -152.50 77.50 2.50 0.522419 -152.50 77.50 7.50 0.167539 -152.50 77.50 12.50 0.0495179 -152.50 77.50 17.50 0.024577 -152.50 77.50 22.50 0.0132994 -152.50 77.50 27.50 0.00480852 -152.50 77.50 32.50 0.00735715 -152.50 77.50 37.50 0.024495 -152.50 77.50 42.50 0.0627265 -152.50 77.50 47.50 0.203043 -152.50 77.50 52.50 0.516708 -152.50 77.50 57.50 1.09998 -152.50 77.50 62.50 1.82857 -152.50 77.50 67.50 2.49693 -152.50 77.50 72.50 2.8726 -152.50 77.50 77.50 2.86929 -152.50 77.50 82.50 2.20364 -152.50 77.50 87.50 1.32122 -152.50 77.50 92.50 0.522419 -152.50 77.50 97.50 0.167539 -152.50 77.50 102.50 0.0495179 -152.50 77.50 107.50 0.024577 -152.50 77.50 112.50 0.0132993 -152.50 77.50 117.50 0.00480852 -152.50 77.50 122.50 0.00735714 -152.50 77.50 127.50 0.024495 -152.50 77.50 132.50 0.0627266 -152.50 77.50 137.50 0.203043 -152.50 77.50 142.50 0.516708 -152.50 77.50 147.50 1.09998 -152.50 77.50 152.50 1.82857 -152.50 77.50 157.50 2.49693 -152.50 77.50 162.50 2.8726 -152.50 77.50 167.50 2.86929 -152.50 77.50 172.50 2.20365 -152.50 77.50 177.50 1.32122 -152.50 77.50 182.50 0.522419 -152.50 77.50 187.50 0.167539 -152.50 77.50 192.50 0.0495179 -152.50 77.50 197.50 0.024577 -152.50 77.50 202.50 0.0132993 -152.50 77.50 207.50 0.00480852 -152.50 77.50 212.50 0.00735715 -152.50 77.50 217.50 0.024495 -152.50 77.50 222.50 0.0627265 -152.50 77.50 227.50 0.203043 -152.50 77.50 232.50 0.51671 -152.50 77.50 237.50 1.09999 -152.50 77.50 242.50 1.82857 -152.50 77.50 247.50 2.49694 -152.50 77.50 252.50 2.8726 -152.50 77.50 257.50 2.86929 -152.50 77.50 262.50 2.20364 -152.50 77.50 267.50 1.32122 -152.50 77.50 272.50 0.522419 -152.50 77.50 277.50 0.167539 -152.50 77.50 282.50 0.0495179 -152.50 77.50 287.50 0.024577 -152.50 77.50 292.50 0.0132994 -152.50 77.50 297.50 0.00480852 -152.50 77.50 302.50 0.00735714 -152.50 77.50 307.50 0.0244949 -152.50 77.50 312.50 0.0627265 -152.50 77.50 317.50 0.203042 -152.50 77.50 322.50 0.516708 -152.50 77.50 327.50 1.09998 -152.50 77.50 332.50 1.82857 -152.50 77.50 337.50 2.49693 -152.50 77.50 342.50 2.8726 -152.50 77.50 347.50 2.86929 -152.50 77.50 352.50 2.20365 -152.50 77.50 357.50 1.32122 -152.50 82.50 2.50 0.23184 -152.50 82.50 7.50 0.0673561 -152.50 82.50 12.50 0.0268917 -152.50 82.50 17.50 0.0212912 -152.50 82.50 22.50 0.0182391 -152.50 82.50 27.50 0.0110281 -152.50 82.50 32.50 0.01427 -152.50 82.50 37.50 0.0239013 -152.50 82.50 42.50 0.0511639 -152.50 82.50 47.50 0.150946 -152.50 82.50 52.50 0.378742 -152.50 82.50 57.50 0.739673 -152.50 82.50 62.50 1.11644 -152.50 82.50 67.50 1.32674 -152.50 82.50 72.50 1.3641 -152.50 82.50 77.50 1.28754 -152.50 82.50 82.50 1.16202 -152.50 82.50 87.50 0.644251 -152.50 82.50 92.50 0.23184 -152.50 82.50 97.50 0.0673561 -152.50 82.50 102.50 0.0268917 -152.50 82.50 107.50 0.0212911 -152.50 82.50 112.50 0.0182391 -152.50 82.50 117.50 0.0110281 -152.50 82.50 122.50 0.01427 -152.50 82.50 127.50 0.0239013 -152.50 82.50 132.50 0.0511639 -152.50 82.50 137.50 0.150946 -152.50 82.50 142.50 0.378742 -152.50 82.50 147.50 0.739674 -152.50 82.50 152.50 1.11644 -152.50 82.50 157.50 1.32674 -152.50 82.50 162.50 1.3641 -152.50 82.50 167.50 1.28754 -152.50 82.50 172.50 1.16202 -152.50 82.50 177.50 0.644251 -152.50 82.50 182.50 0.23184 -152.50 82.50 187.50 0.067356 -152.50 82.50 192.50 0.0268917 -152.50 82.50 197.50 0.0212912 -152.50 82.50 202.50 0.0182391 -152.50 82.50 207.50 0.0110281 -152.50 82.50 212.50 0.01427 -152.50 82.50 217.50 0.0239013 -152.50 82.50 222.50 0.0511639 -152.50 82.50 227.50 0.150946 -152.50 82.50 232.50 0.378743 -152.50 82.50 237.50 0.739675 -152.50 82.50 242.50 1.11644 -152.50 82.50 247.50 1.32674 -152.50 82.50 252.50 1.3641 -152.50 82.50 257.50 1.28754 -152.50 82.50 262.50 1.16202 -152.50 82.50 267.50 0.64425 -152.50 82.50 272.50 0.23184 -152.50 82.50 277.50 0.0673561 -152.50 82.50 282.50 0.0268917 -152.50 82.50 287.50 0.0212912 -152.50 82.50 292.50 0.0182391 -152.50 82.50 297.50 0.0110281 -152.50 82.50 302.50 0.01427 -152.50 82.50 307.50 0.0239013 -152.50 82.50 312.50 0.0511639 -152.50 82.50 317.50 0.150946 -152.50 82.50 322.50 0.378742 -152.50 82.50 327.50 0.739673 -152.50 82.50 332.50 1.11644 -152.50 82.50 337.50 1.32674 -152.50 82.50 342.50 1.3641 -152.50 82.50 347.50 1.28754 -152.50 82.50 352.50 1.16202 -152.50 82.50 357.50 0.644252 -152.50 87.50 2.50 0.100121 -152.50 87.50 7.50 0.043975 -152.50 87.50 12.50 0.0552737 -152.50 87.50 17.50 0.0569522 -152.50 87.50 22.50 0.0471942 -152.50 87.50 27.50 0.0399646 -152.50 87.50 32.50 0.0425104 -152.50 87.50 37.50 0.0433886 -152.50 87.50 42.50 0.0561099 -152.50 87.50 47.50 0.107118 -152.50 87.50 52.50 0.227323 -152.50 87.50 57.50 0.417592 -152.50 87.50 62.50 0.572538 -152.50 87.50 67.50 0.583739 -152.50 87.50 72.50 0.545034 -152.50 87.50 77.50 0.540057 -152.50 87.50 82.50 0.437267 -152.50 87.50 87.50 0.288125 -152.50 87.50 92.50 0.100121 -152.50 87.50 97.50 0.043975 -152.50 87.50 102.50 0.0552737 -152.50 87.50 107.50 0.0569521 -152.50 87.50 112.50 0.0471941 -152.50 87.50 117.50 0.0399646 -152.50 87.50 122.50 0.0425104 -152.50 87.50 127.50 0.0433886 -152.50 87.50 132.50 0.05611 -152.50 87.50 137.50 0.107118 -152.50 87.50 142.50 0.227323 -152.50 87.50 147.50 0.417592 -152.50 87.50 152.50 0.572538 -152.50 87.50 157.50 0.583739 -152.50 87.50 162.50 0.545034 -152.50 87.50 167.50 0.540058 -152.50 87.50 172.50 0.437267 -152.50 87.50 177.50 0.288126 -152.50 87.50 182.50 0.100121 -152.50 87.50 187.50 0.043975 -152.50 87.50 192.50 0.0552737 -152.50 87.50 197.50 0.0569521 -152.50 87.50 202.50 0.0471942 -152.50 87.50 207.50 0.0399646 -152.50 87.50 212.50 0.0425104 -152.50 87.50 217.50 0.0433886 -152.50 87.50 222.50 0.0561099 -152.50 87.50 227.50 0.107118 -152.50 87.50 232.50 0.227324 -152.50 87.50 237.50 0.417593 -152.50 87.50 242.50 0.572538 -152.50 87.50 247.50 0.583739 -152.50 87.50 252.50 0.545034 -152.50 87.50 257.50 0.540058 -152.50 87.50 262.50 0.437267 -152.50 87.50 267.50 0.288125 -152.50 87.50 272.50 0.100121 -152.50 87.50 277.50 0.043975 -152.50 87.50 282.50 0.0552737 -152.50 87.50 287.50 0.0569521 -152.50 87.50 292.50 0.0471942 -152.50 87.50 297.50 0.0399646 -152.50 87.50 302.50 0.0425104 -152.50 87.50 307.50 0.0433886 -152.50 87.50 312.50 0.05611 -152.50 87.50 317.50 0.107118 -152.50 87.50 322.50 0.227323 -152.50 87.50 327.50 0.417592 -152.50 87.50 332.50 0.572537 -152.50 87.50 337.50 0.583739 -152.50 87.50 342.50 0.545034 -152.50 87.50 347.50 0.540057 -152.50 87.50 352.50 0.437268 -152.50 87.50 357.50 0.288126 -152.50 92.50 2.50 0.0601603 -152.50 92.50 7.50 0.0922625 -152.50 92.50 12.50 0.149325 -152.50 92.50 17.50 0.171122 -152.50 92.50 22.50 0.169877 -152.50 92.50 27.50 0.190179 -152.50 92.50 32.50 0.203044 -152.50 92.50 37.50 0.166468 -152.50 92.50 42.50 0.114674 -152.50 92.50 47.50 0.0938603 -152.50 92.50 52.50 0.114674 -152.50 92.50 57.50 0.166468 -152.50 92.50 62.50 0.203044 -152.50 92.50 67.50 0.190179 -152.50 92.50 72.50 0.169877 -152.50 92.50 77.50 0.171122 -152.50 92.50 82.50 0.149325 -152.50 92.50 87.50 0.0922625 -152.50 92.50 92.50 0.0601603 -152.50 92.50 97.50 0.0922625 -152.50 92.50 102.50 0.149325 -152.50 92.50 107.50 0.171122 -152.50 92.50 112.50 0.169877 -152.50 92.50 117.50 0.190179 -152.50 92.50 122.50 0.203044 -152.50 92.50 127.50 0.166468 -152.50 92.50 132.50 0.114674 -152.50 92.50 137.50 0.0938603 -152.50 92.50 142.50 0.114674 -152.50 92.50 147.50 0.166468 -152.50 92.50 152.50 0.203044 -152.50 92.50 157.50 0.190178 -152.50 92.50 162.50 0.169877 -152.50 92.50 167.50 0.171122 -152.50 92.50 172.50 0.149325 -152.50 92.50 177.50 0.0922626 -152.50 92.50 182.50 0.0601603 -152.50 92.50 187.50 0.0922625 -152.50 92.50 192.50 0.149325 -152.50 92.50 197.50 0.171122 -152.50 92.50 202.50 0.169877 -152.50 92.50 207.50 0.190179 -152.50 92.50 212.50 0.203044 -152.50 92.50 217.50 0.166468 -152.50 92.50 222.50 0.114674 -152.50 92.50 227.50 0.0938604 -152.50 92.50 232.50 0.114674 -152.50 92.50 237.50 0.166468 -152.50 92.50 242.50 0.203044 -152.50 92.50 247.50 0.190178 -152.50 92.50 252.50 0.169877 -152.50 92.50 257.50 0.171122 -152.50 92.50 262.50 0.149325 -152.50 92.50 267.50 0.0922625 -152.50 92.50 272.50 0.0601604 -152.50 92.50 277.50 0.0922626 -152.50 92.50 282.50 0.149325 -152.50 92.50 287.50 0.171122 -152.50 92.50 292.50 0.169877 -152.50 92.50 297.50 0.190179 -152.50 92.50 302.50 0.203044 -152.50 92.50 307.50 0.166468 -152.50 92.50 312.50 0.114674 -152.50 92.50 317.50 0.0938604 -152.50 92.50 322.50 0.114674 -152.50 92.50 327.50 0.166468 -152.50 92.50 332.50 0.203044 -152.50 92.50 337.50 0.190179 -152.50 92.50 342.50 0.169877 -152.50 92.50 347.50 0.171122 -152.50 92.50 352.50 0.149325 -152.50 92.50 357.50 0.0922628 -152.50 97.50 2.50 0.100122 -152.50 97.50 7.50 0.288125 -152.50 97.50 12.50 0.437267 -152.50 97.50 17.50 0.540058 -152.50 97.50 22.50 0.545034 -152.50 97.50 27.50 0.583739 -152.50 97.50 32.50 0.572538 -152.50 97.50 37.50 0.417592 -152.50 97.50 42.50 0.227323 -152.50 97.50 47.50 0.107118 -152.50 97.50 52.50 0.0561099 -152.50 97.50 57.50 0.0433886 -152.50 97.50 62.50 0.0425104 -152.50 97.50 67.50 0.0399646 -152.50 97.50 72.50 0.0471942 -152.50 97.50 77.50 0.0569521 -152.50 97.50 82.50 0.0552737 -152.50 97.50 87.50 0.043975 -152.50 97.50 92.50 0.100121 -152.50 97.50 97.50 0.288125 -152.50 97.50 102.50 0.437267 -152.50 97.50 107.50 0.540057 -152.50 97.50 112.50 0.545033 -152.50 97.50 117.50 0.583739 -152.50 97.50 122.50 0.572537 -152.50 97.50 127.50 0.417592 -152.50 97.50 132.50 0.227323 -152.50 97.50 137.50 0.107118 -152.50 97.50 142.50 0.05611 -152.50 97.50 147.50 0.0433887 -152.50 97.50 152.50 0.0425105 -152.50 97.50 157.50 0.0399646 -152.50 97.50 162.50 0.0471942 -152.50 97.50 167.50 0.0569521 -152.50 97.50 172.50 0.0552737 -152.50 97.50 177.50 0.043975 -152.50 97.50 182.50 0.100121 -152.50 97.50 187.50 0.288125 -152.50 97.50 192.50 0.437267 -152.50 97.50 197.50 0.540057 -152.50 97.50 202.50 0.545033 -152.50 97.50 207.50 0.583739 -152.50 97.50 212.50 0.572537 -152.50 97.50 217.50 0.417592 -152.50 97.50 222.50 0.227323 -152.50 97.50 227.50 0.107118 -152.50 97.50 232.50 0.0561099 -152.50 97.50 237.50 0.0433887 -152.50 97.50 242.50 0.0425105 -152.50 97.50 247.50 0.0399646 -152.50 97.50 252.50 0.0471943 -152.50 97.50 257.50 0.0569522 -152.50 97.50 262.50 0.0552737 -152.50 97.50 267.50 0.043975 -152.50 97.50 272.50 0.100122 -152.50 97.50 277.50 0.288125 -152.50 97.50 282.50 0.437267 -152.50 97.50 287.50 0.540057 -152.50 97.50 292.50 0.545034 -152.50 97.50 297.50 0.583739 -152.50 97.50 302.50 0.572538 -152.50 97.50 307.50 0.417592 -152.50 97.50 312.50 0.227323 -152.50 97.50 317.50 0.107119 -152.50 97.50 322.50 0.05611 -152.50 97.50 327.50 0.0433886 -152.50 97.50 332.50 0.0425104 -152.50 97.50 337.50 0.0399646 -152.50 97.50 342.50 0.0471941 -152.50 97.50 347.50 0.0569521 -152.50 97.50 352.50 0.0552738 -152.50 97.50 357.50 0.043975 -152.50 102.50 2.50 0.23184 -152.50 102.50 7.50 0.644251 -152.50 102.50 12.50 1.16202 -152.50 102.50 17.50 1.28754 -152.50 102.50 22.50 1.3641 -152.50 102.50 27.50 1.32674 -152.50 102.50 32.50 1.11644 -152.50 102.50 37.50 0.739674 -152.50 102.50 42.50 0.378742 -152.50 102.50 47.50 0.150946 -152.50 102.50 52.50 0.0511639 -152.50 102.50 57.50 0.0239013 -152.50 102.50 62.50 0.01427 -152.50 102.50 67.50 0.0110281 -152.50 102.50 72.50 0.0182391 -152.50 102.50 77.50 0.0212912 -152.50 102.50 82.50 0.0268917 -152.50 102.50 87.50 0.0673561 -152.50 102.50 92.50 0.23184 -152.50 102.50 97.50 0.644251 -152.50 102.50 102.50 1.16202 -152.50 102.50 107.50 1.28754 -152.50 102.50 112.50 1.3641 -152.50 102.50 117.50 1.32674 -152.50 102.50 122.50 1.11644 -152.50 102.50 127.50 0.739673 -152.50 102.50 132.50 0.378742 -152.50 102.50 137.50 0.150946 -152.50 102.50 142.50 0.0511639 -152.50 102.50 147.50 0.0239013 -152.50 102.50 152.50 0.01427 -152.50 102.50 157.50 0.0110281 -152.50 102.50 162.50 0.0182391 -152.50 102.50 167.50 0.0212912 -152.50 102.50 172.50 0.0268917 -152.50 102.50 177.50 0.067356 -152.50 102.50 182.50 0.23184 -152.50 102.50 187.50 0.644251 -152.50 102.50 192.50 1.16202 -152.50 102.50 197.50 1.28754 -152.50 102.50 202.50 1.3641 -152.50 102.50 207.50 1.32674 -152.50 102.50 212.50 1.11644 -152.50 102.50 217.50 0.739674 -152.50 102.50 222.50 0.378742 -152.50 102.50 227.50 0.150946 -152.50 102.50 232.50 0.0511638 -152.50 102.50 237.50 0.0239012 -152.50 102.50 242.50 0.01427 -152.50 102.50 247.50 0.0110281 -152.50 102.50 252.50 0.0182391 -152.50 102.50 257.50 0.0212911 -152.50 102.50 262.50 0.0268917 -152.50 102.50 267.50 0.0673562 -152.50 102.50 272.50 0.23184 -152.50 102.50 277.50 0.644251 -152.50 102.50 282.50 1.16202 -152.50 102.50 287.50 1.28754 -152.50 102.50 292.50 1.3641 -152.50 102.50 297.50 1.32674 -152.50 102.50 302.50 1.11644 -152.50 102.50 307.50 0.739674 -152.50 102.50 312.50 0.378742 -152.50 102.50 317.50 0.150946 -152.50 102.50 322.50 0.051164 -152.50 102.50 327.50 0.0239013 -152.50 102.50 332.50 0.01427 -152.50 102.50 337.50 0.0110281 -152.50 102.50 342.50 0.0182391 -152.50 102.50 347.50 0.0212912 -152.50 102.50 352.50 0.0268917 -152.50 102.50 357.50 0.067356 -152.50 107.50 2.50 0.52242 -152.50 107.50 7.50 1.32122 -152.50 107.50 12.50 2.20364 -152.50 107.50 17.50 2.86929 -152.50 107.50 22.50 2.8726 -152.50 107.50 27.50 2.49693 -152.50 107.50 32.50 1.82857 -152.50 107.50 37.50 1.09998 -152.50 107.50 42.50 0.516708 -152.50 107.50 47.50 0.203043 -152.50 107.50 52.50 0.0627265 -152.50 107.50 57.50 0.0244949 -152.50 107.50 62.50 0.00735712 -152.50 107.50 67.50 0.00480852 -152.50 107.50 72.50 0.0132994 -152.50 107.50 77.50 0.024577 -152.50 107.50 82.50 0.0495179 -152.50 107.50 87.50 0.167539 -152.50 107.50 92.50 0.52242 -152.50 107.50 97.50 1.32122 -152.50 107.50 102.50 2.20364 -152.50 107.50 107.50 2.86929 -152.50 107.50 112.50 2.8726 -152.50 107.50 117.50 2.49693 -152.50 107.50 122.50 1.82857 -152.50 107.50 127.50 1.09998 -152.50 107.50 132.50 0.516708 -152.50 107.50 137.50 0.203043 -152.50 107.50 142.50 0.0627265 -152.50 107.50 147.50 0.0244949 -152.50 107.50 152.50 0.00735714 -152.50 107.50 157.50 0.00480852 -152.50 107.50 162.50 0.0132994 -152.50 107.50 167.50 0.0245769 -152.50 107.50 172.50 0.0495178 -152.50 107.50 177.50 0.167539 -152.50 107.50 182.50 0.522419 -152.50 107.50 187.50 1.32122 -152.50 107.50 192.50 2.20364 -152.50 107.50 197.50 2.86929 -152.50 107.50 202.50 2.8726 -152.50 107.50 207.50 2.49693 -152.50 107.50 212.50 1.82857 -152.50 107.50 217.50 1.09999 -152.50 107.50 222.50 0.516708 -152.50 107.50 227.50 0.203043 -152.50 107.50 232.50 0.0627263 -152.50 107.50 237.50 0.0244949 -152.50 107.50 242.50 0.00735712 -152.50 107.50 247.50 0.00480852 -152.50 107.50 252.50 0.0132994 -152.50 107.50 257.50 0.0245769 -152.50 107.50 262.50 0.049518 -152.50 107.50 267.50 0.167539 -152.50 107.50 272.50 0.522419 -152.50 107.50 277.50 1.32122 -152.50 107.50 282.50 2.20364 -152.50 107.50 287.50 2.86929 -152.50 107.50 292.50 2.8726 -152.50 107.50 297.50 2.49693 -152.50 107.50 302.50 1.82857 -152.50 107.50 307.50 1.09998 -152.50 107.50 312.50 0.516708 -152.50 107.50 317.50 0.203043 -152.50 107.50 322.50 0.0627267 -152.50 107.50 327.50 0.024495 -152.50 107.50 332.50 0.00735715 -152.50 107.50 337.50 0.00480852 -152.50 107.50 342.50 0.0132993 -152.50 107.50 347.50 0.0245769 -152.50 107.50 352.50 0.0495178 -152.50 107.50 357.50 0.167539 -152.50 112.50 2.50 1.09345 -152.50 112.50 7.50 2.33131 -152.50 112.50 12.50 3.60754 -152.50 112.50 17.50 4.3741 -152.50 112.50 22.50 4.51332 -152.50 112.50 27.50 3.68294 -152.50 112.50 32.50 2.39754 -152.50 112.50 37.50 1.24276 -152.50 112.50 42.50 0.569088 -152.50 112.50 47.50 0.232757 -152.50 112.50 52.50 0.0711076 -152.50 112.50 57.50 0.0160792 -152.50 112.50 62.50 0.00563605 -152.50 112.50 67.50 0.0101522 -152.50 112.50 72.50 0.0217754 -152.50 112.50 77.50 0.0443852 -152.50 112.50 82.50 0.141006 -152.50 112.50 87.50 0.40894 -152.50 112.50 92.50 1.09345 -152.50 112.50 97.50 2.33131 -152.50 112.50 102.50 3.60754 -152.50 112.50 107.50 4.3741 -152.50 112.50 112.50 4.51332 -152.50 112.50 117.50 3.68294 -152.50 112.50 122.50 2.39753 -152.50 112.50 127.50 1.24276 -152.50 112.50 132.50 0.569087 -152.50 112.50 137.50 0.232757 -152.50 112.50 142.50 0.0711076 -152.50 112.50 147.50 0.0160792 -152.50 112.50 152.50 0.00563605 -152.50 112.50 157.50 0.0101522 -152.50 112.50 162.50 0.0217754 -152.50 112.50 167.50 0.0443851 -152.50 112.50 172.50 0.141005 -152.50 112.50 177.50 0.40894 -152.50 112.50 182.50 1.09345 -152.50 112.50 187.50 2.33131 -152.50 112.50 192.50 3.60754 -152.50 112.50 197.50 4.3741 -152.50 112.50 202.50 4.51332 -152.50 112.50 207.50 3.68294 -152.50 112.50 212.50 2.39753 -152.50 112.50 217.50 1.24276 -152.50 112.50 222.50 0.569088 -152.50 112.50 227.50 0.232757 -152.50 112.50 232.50 0.0711074 -152.50 112.50 237.50 0.0160791 -152.50 112.50 242.50 0.00563604 -152.50 112.50 247.50 0.0101522 -152.50 112.50 252.50 0.0217755 -152.50 112.50 257.50 0.0443852 -152.50 112.50 262.50 0.141006 -152.50 112.50 267.50 0.408941 -152.50 112.50 272.50 1.09345 -152.50 112.50 277.50 2.33131 -152.50 112.50 282.50 3.60754 -152.50 112.50 287.50 4.3741 -152.50 112.50 292.50 4.51332 -152.50 112.50 297.50 3.68294 -152.50 112.50 302.50 2.39754 -152.50 112.50 307.50 1.24276 -152.50 112.50 312.50 0.569088 -152.50 112.50 317.50 0.232757 -152.50 112.50 322.50 0.0711079 -152.50 112.50 327.50 0.0160792 -152.50 112.50 332.50 0.00563606 -152.50 112.50 337.50 0.0101522 -152.50 112.50 342.50 0.0217754 -152.50 112.50 347.50 0.0443851 -152.50 112.50 352.50 0.141005 -152.50 112.50 357.50 0.40894 -152.50 117.50 2.50 1.96804 -152.50 117.50 7.50 3.5881 -152.50 117.50 12.50 4.88871 -152.50 117.50 17.50 5.45633 -152.50 117.50 22.50 5.11389 -152.50 117.50 27.50 3.94446 -152.50 117.50 32.50 2.38624 -152.50 117.50 37.50 1.11393 -152.50 117.50 42.50 0.449242 -152.50 117.50 47.50 0.160588 -152.50 117.50 52.50 0.0465225 -152.50 117.50 57.50 0.00810219 -152.50 117.50 62.50 0.00519188 -152.50 117.50 67.50 0.0137423 -152.50 117.50 72.50 0.0403447 -152.50 117.50 77.50 0.12179 -152.50 117.50 82.50 0.347858 -152.50 117.50 87.50 0.870676 -152.50 117.50 92.50 1.96804 -152.50 117.50 97.50 3.5881 -152.50 117.50 102.50 4.88871 -152.50 117.50 107.50 5.45633 -152.50 117.50 112.50 5.11389 -152.50 117.50 117.50 3.94446 -152.50 117.50 122.50 2.38624 -152.50 117.50 127.50 1.11393 -152.50 117.50 132.50 0.449242 -152.50 117.50 137.50 0.160588 -152.50 117.50 142.50 0.0465225 -152.50 117.50 147.50 0.00810219 -152.50 117.50 152.50 0.00519188 -152.50 117.50 157.50 0.0137422 -152.50 117.50 162.50 0.0403446 -152.50 117.50 167.50 0.12179 -152.50 117.50 172.50 0.347857 -152.50 117.50 177.50 0.870674 -152.50 117.50 182.50 1.96804 -152.50 117.50 187.50 3.58811 -152.50 117.50 192.50 4.88871 -152.50 117.50 197.50 5.45633 -152.50 117.50 202.50 5.11389 -152.50 117.50 207.50 3.94446 -152.50 117.50 212.50 2.38624 -152.50 117.50 217.50 1.11393 -152.50 117.50 222.50 0.449242 -152.50 117.50 227.50 0.160589 -152.50 117.50 232.50 0.0465225 -152.50 117.50 237.50 0.00810218 -152.50 117.50 242.50 0.00519189 -152.50 117.50 247.50 0.0137423 -152.50 117.50 252.50 0.0403447 -152.50 117.50 257.50 0.12179 -152.50 117.50 262.50 0.347858 -152.50 117.50 267.50 0.870676 -152.50 117.50 272.50 1.96804 -152.50 117.50 277.50 3.5881 -152.50 117.50 282.50 4.88871 -152.50 117.50 287.50 5.45633 -152.50 117.50 292.50 5.11389 -152.50 117.50 297.50 3.94446 -152.50 117.50 302.50 2.38624 -152.50 117.50 307.50 1.11393 -152.50 117.50 312.50 0.449242 -152.50 117.50 317.50 0.160589 -152.50 117.50 322.50 0.0465226 -152.50 117.50 327.50 0.00810221 -152.50 117.50 332.50 0.00519186 -152.50 117.50 337.50 0.0137422 -152.50 117.50 342.50 0.0403446 -152.50 117.50 347.50 0.12179 -152.50 117.50 352.50 0.347857 -152.50 117.50 357.50 0.870673 -152.50 122.50 2.50 2.99998 -152.50 122.50 7.50 4.66052 -152.50 122.50 12.50 5.52208 -152.50 122.50 17.50 5.56268 -152.50 122.50 22.50 4.69798 -152.50 122.50 27.50 3.29407 -152.50 122.50 32.50 1.79067 -152.50 122.50 37.50 0.760749 -152.50 122.50 42.50 0.228709 -152.50 122.50 47.50 0.0635649 -152.50 122.50 52.50 0.0160806 -152.50 122.50 57.50 0.00644962 -152.50 122.50 62.50 0.015063 -152.50 122.50 67.50 0.0423287 -152.50 122.50 72.50 0.128789 -152.50 122.50 77.50 0.352536 -152.50 122.50 82.50 0.816471 -152.50 122.50 87.50 1.64726 -152.50 122.50 92.50 2.99999 -152.50 122.50 97.50 4.66052 -152.50 122.50 102.50 5.52208 -152.50 122.50 107.50 5.56269 -152.50 122.50 112.50 4.69798 -152.50 122.50 117.50 3.29407 -152.50 122.50 122.50 1.79067 -152.50 122.50 127.50 0.760748 -152.50 122.50 132.50 0.228708 -152.50 122.50 137.50 0.0635649 -152.50 122.50 142.50 0.0160806 -152.50 122.50 147.50 0.00644963 -152.50 122.50 152.50 0.0150629 -152.50 122.50 157.50 0.0423286 -152.50 122.50 162.50 0.128788 -152.50 122.50 167.50 0.352535 -152.50 122.50 172.50 0.816469 -152.50 122.50 177.50 1.64726 -152.50 122.50 182.50 2.99998 -152.50 122.50 187.50 4.66052 -152.50 122.50 192.50 5.52208 -152.50 122.50 197.50 5.56269 -152.50 122.50 202.50 4.69798 -152.50 122.50 207.50 3.29407 -152.50 122.50 212.50 1.79067 -152.50 122.50 217.50 0.760749 -152.50 122.50 222.50 0.228708 -152.50 122.50 227.50 0.063565 -152.50 122.50 232.50 0.0160805 -152.50 122.50 237.50 0.00644963 -152.50 122.50 242.50 0.015063 -152.50 122.50 247.50 0.0423287 -152.50 122.50 252.50 0.128789 -152.50 122.50 257.50 0.352536 -152.50 122.50 262.50 0.81647 -152.50 122.50 267.50 1.64726 -152.50 122.50 272.50 2.99998 -152.50 122.50 277.50 4.66052 -152.50 122.50 282.50 5.52208 -152.50 122.50 287.50 5.56268 -152.50 122.50 292.50 4.69798 -152.50 122.50 297.50 3.29407 -152.50 122.50 302.50 1.79067 -152.50 122.50 307.50 0.76075 -152.50 122.50 312.50 0.228709 -152.50 122.50 317.50 0.0635651 -152.50 122.50 322.50 0.0160806 -152.50 122.50 327.50 0.00644962 -152.50 122.50 332.50 0.0150629 -152.50 122.50 337.50 0.0423285 -152.50 122.50 342.50 0.128788 -152.50 122.50 347.50 0.352535 -152.50 122.50 352.50 0.816469 -152.50 122.50 357.50 1.64725 -152.50 127.50 2.50 3.97879 -152.50 127.50 7.50 5.14815 -152.50 127.50 12.50 5.31958 -152.50 127.50 17.50 4.61669 -152.50 127.50 22.50 3.46852 -152.50 127.50 27.50 2.23604 -152.50 127.50 32.50 1.13083 -152.50 127.50 37.50 0.40545 -152.50 127.50 42.50 0.10508 -152.50 127.50 47.50 0.0226139 -152.50 127.50 52.50 0.00544401 -152.50 127.50 57.50 0.012454 -152.50 127.50 62.50 0.0483812 -152.50 127.50 67.50 0.147508 -152.50 127.50 72.50 0.38421 -152.50 127.50 77.50 0.878168 -152.50 127.50 82.50 1.71985 -152.50 127.50 87.50 2.7973 -152.50 127.50 92.50 3.97879 -152.50 127.50 97.50 5.14815 -152.50 127.50 102.50 5.31959 -152.50 127.50 107.50 4.61669 -152.50 127.50 112.50 3.46852 -152.50 127.50 117.50 2.23604 -152.50 127.50 122.50 1.13083 -152.50 127.50 127.50 0.405449 -152.50 127.50 132.50 0.10508 -152.50 127.50 137.50 0.0226139 -152.50 127.50 142.50 0.005444 -152.50 127.50 147.50 0.012454 -152.50 127.50 152.50 0.0483811 -152.50 127.50 157.50 0.147507 -152.50 127.50 162.50 0.384209 -152.50 127.50 167.50 0.878167 -152.50 127.50 172.50 1.71985 -152.50 127.50 177.50 2.7973 -152.50 127.50 182.50 3.97879 -152.50 127.50 187.50 5.14816 -152.50 127.50 192.50 5.31958 -152.50 127.50 197.50 4.61669 -152.50 127.50 202.50 3.46852 -152.50 127.50 207.50 2.23604 -152.50 127.50 212.50 1.13084 -152.50 127.50 217.50 0.40545 -152.50 127.50 222.50 0.10508 -152.50 127.50 227.50 0.022614 -152.50 127.50 232.50 0.00544401 -152.50 127.50 237.50 0.012454 -152.50 127.50 242.50 0.0483812 -152.50 127.50 247.50 0.147508 -152.50 127.50 252.50 0.38421 -152.50 127.50 257.50 0.878168 -152.50 127.50 262.50 1.71986 -152.50 127.50 267.50 2.7973 -152.50 127.50 272.50 3.97879 -152.50 127.50 277.50 5.14816 -152.50 127.50 282.50 5.31958 -152.50 127.50 287.50 4.61669 -152.50 127.50 292.50 3.46852 -152.50 127.50 297.50 2.23604 -152.50 127.50 302.50 1.13084 -152.50 127.50 307.50 0.405451 -152.50 127.50 312.50 0.10508 -152.50 127.50 317.50 0.022614 -152.50 127.50 322.50 0.00544401 -152.50 127.50 327.50 0.012454 -152.50 127.50 332.50 0.0483811 -152.50 127.50 337.50 0.147507 -152.50 127.50 342.50 0.384209 -152.50 127.50 347.50 0.878166 -152.50 127.50 352.50 1.71985 -152.50 127.50 357.50 2.7973 -152.50 132.50 2.50 4.69043 -152.50 132.50 7.50 4.9821 -152.50 132.50 12.50 4.46699 -152.50 132.50 17.50 3.28921 -152.50 132.50 22.50 2.13189 -152.50 132.50 27.50 1.22267 -152.50 132.50 32.50 0.570495 -152.50 132.50 37.50 0.192946 -152.50 132.50 42.50 0.0410824 -152.50 132.50 47.50 0.00650743 -152.50 132.50 52.50 0.00928603 -152.50 132.50 57.50 0.0411485 -152.50 132.50 62.50 0.126388 -152.50 132.50 67.50 0.383308 -152.50 132.50 72.50 0.884918 -152.50 132.50 77.50 1.72464 -152.50 132.50 82.50 2.95837 -152.50 132.50 87.50 4.08368 -152.50 132.50 92.50 4.69043 -152.50 132.50 97.50 4.9821 -152.50 132.50 102.50 4.467 -152.50 132.50 107.50 3.28921 -152.50 132.50 112.50 2.13189 -152.50 132.50 117.50 1.22267 -152.50 132.50 122.50 0.570495 -152.50 132.50 127.50 0.192946 -152.50 132.50 132.50 0.0410823 -152.50 132.50 137.50 0.00650742 -152.50 132.50 142.50 0.00928603 -152.50 132.50 147.50 0.0411484 -152.50 132.50 152.50 0.126388 -152.50 132.50 157.50 0.383307 -152.50 132.50 162.50 0.884917 -152.50 132.50 167.50 1.72464 -152.50 132.50 172.50 2.95837 -152.50 132.50 177.50 4.08367 -152.50 132.50 182.50 4.69043 -152.50 132.50 187.50 4.9821 -152.50 132.50 192.50 4.46699 -152.50 132.50 197.50 3.28921 -152.50 132.50 202.50 2.13189 -152.50 132.50 207.50 1.22267 -152.50 132.50 212.50 0.570495 -152.50 132.50 217.50 0.192946 -152.50 132.50 222.50 0.0410824 -152.50 132.50 227.50 0.00650744 -152.50 132.50 232.50 0.00928607 -152.50 132.50 237.50 0.0411486 -152.50 132.50 242.50 0.126388 -152.50 132.50 247.50 0.383309 -152.50 132.50 252.50 0.884919 -152.50 132.50 257.50 1.72464 -152.50 132.50 262.50 2.95837 -152.50 132.50 267.50 4.08368 -152.50 132.50 272.50 4.69043 -152.50 132.50 277.50 4.9821 -152.50 132.50 282.50 4.46699 -152.50 132.50 287.50 3.28921 -152.50 132.50 292.50 2.13189 -152.50 132.50 297.50 1.22267 -152.50 132.50 302.50 0.570496 -152.50 132.50 307.50 0.192946 -152.50 132.50 312.50 0.0410824 -152.50 132.50 317.50 0.00650745 -152.50 132.50 322.50 0.00928603 -152.50 132.50 327.50 0.0411484 -152.50 132.50 332.50 0.126388 -152.50 132.50 337.50 0.383307 -152.50 132.50 342.50 0.884917 -152.50 132.50 347.50 1.72464 -152.50 132.50 352.50 2.95836 -152.50 132.50 357.50 4.08367 -152.50 137.50 2.50 4.95231 -152.50 137.50 7.50 4.39341 -152.50 137.50 12.50 3.38468 -152.50 137.50 17.50 2.1082 -152.50 137.50 22.50 1.12772 -152.50 137.50 27.50 0.533432 -152.50 137.50 32.50 0.213501 -152.50 137.50 37.50 0.0660299 -152.50 137.50 42.50 0.0117542 -152.50 137.50 47.50 0.00573954 -152.50 137.50 52.50 0.0206882 -152.50 137.50 57.50 0.0961167 -152.50 137.50 62.50 0.316416 -152.50 137.50 67.50 0.775073 -152.50 137.50 72.50 1.56269 -152.50 137.50 77.50 2.64963 -152.50 137.50 82.50 4.02082 -152.50 137.50 87.50 4.95934 -152.50 137.50 92.50 4.95231 -152.50 137.50 97.50 4.39341 -152.50 137.50 102.50 3.38468 -152.50 137.50 107.50 2.10821 -152.50 137.50 112.50 1.12772 -152.50 137.50 117.50 0.533431 -152.50 137.50 122.50 0.2135 -152.50 137.50 127.50 0.0660297 -152.50 137.50 132.50 0.0117542 -152.50 137.50 137.50 0.00573953 -152.50 137.50 142.50 0.0206882 -152.50 137.50 147.50 0.0961166 -152.50 137.50 152.50 0.316416 -152.50 137.50 157.50 0.775072 -152.50 137.50 162.50 1.56269 -152.50 137.50 167.50 2.64963 -152.50 137.50 172.50 4.02082 -152.50 137.50 177.50 4.95934 -152.50 137.50 182.50 4.95231 -152.50 137.50 187.50 4.39341 -152.50 137.50 192.50 3.38468 -152.50 137.50 197.50 2.10821 -152.50 137.50 202.50 1.12772 -152.50 137.50 207.50 0.533432 -152.50 137.50 212.50 0.213501 -152.50 137.50 217.50 0.0660299 -152.50 137.50 222.50 0.0117542 -152.50 137.50 227.50 0.00573953 -152.50 137.50 232.50 0.0206883 -152.50 137.50 237.50 0.0961169 -152.50 137.50 242.50 0.316416 -152.50 137.50 247.50 0.775073 -152.50 137.50 252.50 1.56269 -152.50 137.50 257.50 2.64963 -152.50 137.50 262.50 4.02082 -152.50 137.50 267.50 4.95934 -152.50 137.50 272.50 4.95231 -152.50 137.50 277.50 4.39341 -152.50 137.50 282.50 3.38468 -152.50 137.50 287.50 2.10821 -152.50 137.50 292.50 1.12772 -152.50 137.50 297.50 0.533432 -152.50 137.50 302.50 0.213501 -152.50 137.50 307.50 0.06603 -152.50 137.50 312.50 0.0117542 -152.50 137.50 317.50 0.00573953 -152.50 137.50 322.50 0.0206882 -152.50 137.50 327.50 0.0961164 -152.50 137.50 332.50 0.316415 -152.50 137.50 337.50 0.775071 -152.50 137.50 342.50 1.56268 -152.50 137.50 347.50 2.64963 -152.50 137.50 352.50 4.02082 -152.50 137.50 357.50 4.95934 -152.50 142.50 2.50 4.69043 -152.50 142.50 7.50 3.58904 -152.50 142.50 12.50 2.37639 -152.50 142.50 17.50 1.26737 -152.50 142.50 22.50 0.550165 -152.50 142.50 27.50 0.201332 -152.50 142.50 32.50 0.0681548 -152.50 142.50 37.50 0.0164119 -152.50 142.50 42.50 0.0046336 -152.50 142.50 47.50 0.0097971 -152.50 142.50 52.50 0.049226 -152.50 142.50 57.50 0.198828 -152.50 142.50 62.50 0.579262 -152.50 142.50 67.50 1.24593 -152.50 142.50 72.50 2.13667 -152.50 142.50 77.50 3.2594 -152.50 142.50 82.50 4.48177 -152.50 142.50 87.50 5.11111 -152.50 142.50 92.50 4.69043 -152.50 142.50 97.50 3.58904 -152.50 142.50 102.50 2.37639 -152.50 142.50 107.50 1.26737 -152.50 142.50 112.50 0.550165 -152.50 142.50 117.50 0.201332 -152.50 142.50 122.50 0.0681548 -152.50 142.50 127.50 0.0164118 -152.50 142.50 132.50 0.0046336 -152.50 142.50 137.50 0.00979708 -152.50 142.50 142.50 0.049226 -152.50 142.50 147.50 0.198828 -152.50 142.50 152.50 0.579261 -152.50 142.50 157.50 1.24593 -152.50 142.50 162.50 2.13666 -152.50 142.50 167.50 3.2594 -152.50 142.50 172.50 4.48177 -152.50 142.50 177.50 5.11111 -152.50 142.50 182.50 4.69043 -152.50 142.50 187.50 3.58904 -152.50 142.50 192.50 2.37638 -152.50 142.50 197.50 1.26737 -152.50 142.50 202.50 0.550165 -152.50 142.50 207.50 0.201332 -152.50 142.50 212.50 0.0681548 -152.50 142.50 217.50 0.0164119 -152.50 142.50 222.50 0.00463361 -152.50 142.50 227.50 0.00979706 -152.50 142.50 232.50 0.0492261 -152.50 142.50 237.50 0.198828 -152.50 142.50 242.50 0.579262 -152.50 142.50 247.50 1.24593 -152.50 142.50 252.50 2.13667 -152.50 142.50 257.50 3.2594 -152.50 142.50 262.50 4.48177 -152.50 142.50 267.50 5.11111 -152.50 142.50 272.50 4.69043 -152.50 142.50 277.50 3.58904 -152.50 142.50 282.50 2.37639 -152.50 142.50 287.50 1.26737 -152.50 142.50 292.50 0.550165 -152.50 142.50 297.50 0.201332 -152.50 142.50 302.50 0.0681548 -152.50 142.50 307.50 0.0164119 -152.50 142.50 312.50 0.00463361 -152.50 142.50 317.50 0.00979705 -152.50 142.50 322.50 0.0492259 -152.50 142.50 327.50 0.198827 -152.50 142.50 332.50 0.579261 -152.50 142.50 337.50 1.24593 -152.50 142.50 342.50 2.13666 -152.50 142.50 347.50 3.2594 -152.50 142.50 352.50 4.48177 -152.50 142.50 357.50 5.11111 -152.50 147.50 2.50 3.97878 -152.50 147.50 7.50 2.71873 -152.50 147.50 12.50 1.56092 -152.50 147.50 17.50 0.710543 -152.50 147.50 22.50 0.254907 -152.50 147.50 27.50 0.0727311 -152.50 147.50 32.50 0.0192987 -152.50 147.50 37.50 0.0059582 -152.50 147.50 42.50 0.00985912 -152.50 147.50 47.50 0.0338126 -152.50 147.50 52.50 0.118135 -152.50 147.50 57.50 0.374936 -152.50 147.50 62.50 0.888364 -152.50 147.50 67.50 1.60326 -152.50 147.50 72.50 2.39561 -152.50 147.50 77.50 3.31617 -152.50 147.50 82.50 4.256 -152.50 147.50 87.50 4.6037 -152.50 147.50 92.50 3.97879 -152.50 147.50 97.50 2.71873 -152.50 147.50 102.50 1.56092 -152.50 147.50 107.50 0.710542 -152.50 147.50 112.50 0.254907 -152.50 147.50 117.50 0.072731 -152.50 147.50 122.50 0.0192987 -152.50 147.50 127.50 0.00595819 -152.50 147.50 132.50 0.00985911 -152.50 147.50 137.50 0.0338126 -152.50 147.50 142.50 0.118135 -152.50 147.50 147.50 0.374936 -152.50 147.50 152.50 0.888363 -152.50 147.50 157.50 1.60325 -152.50 147.50 162.50 2.39561 -152.50 147.50 167.50 3.31617 -152.50 147.50 172.50 4.256 -152.50 147.50 177.50 4.6037 -152.50 147.50 182.50 3.97878 -152.50 147.50 187.50 2.71873 -152.50 147.50 192.50 1.56092 -152.50 147.50 197.50 0.710543 -152.50 147.50 202.50 0.254907 -152.50 147.50 207.50 0.0727312 -152.50 147.50 212.50 0.0192987 -152.50 147.50 217.50 0.0059582 -152.50 147.50 222.50 0.0098591 -152.50 147.50 227.50 0.0338126 -152.50 147.50 232.50 0.118135 -152.50 147.50 237.50 0.374937 -152.50 147.50 242.50 0.888364 -152.50 147.50 247.50 1.60326 -152.50 147.50 252.50 2.39561 -152.50 147.50 257.50 3.31617 -152.50 147.50 262.50 4.256 -152.50 147.50 267.50 4.60371 -152.50 147.50 272.50 3.97879 -152.50 147.50 277.50 2.71873 -152.50 147.50 282.50 1.56092 -152.50 147.50 287.50 0.710543 -152.50 147.50 292.50 0.254908 -152.50 147.50 297.50 0.0727313 -152.50 147.50 302.50 0.0192987 -152.50 147.50 307.50 0.00595821 -152.50 147.50 312.50 0.00985911 -152.50 147.50 317.50 0.0338126 -152.50 147.50 322.50 0.118135 -152.50 147.50 327.50 0.374935 -152.50 147.50 332.50 0.888363 -152.50 147.50 337.50 1.60325 -152.50 147.50 342.50 2.39561 -152.50 147.50 347.50 3.31617 -152.50 147.50 352.50 4.256 -152.50 147.50 357.50 4.60371 -152.50 152.50 2.50 2.99998 -152.50 152.50 7.50 1.90997 -152.50 152.50 12.50 1.02375 -152.50 152.50 17.50 0.398625 -152.50 152.50 22.50 0.12523 -152.50 152.50 27.50 0.0277001 -152.50 152.50 32.50 0.00676333 -152.50 152.50 37.50 0.00755233 -152.50 152.50 42.50 0.0288181 -152.50 152.50 47.50 0.0970908 -152.50 152.50 52.50 0.252065 -152.50 152.50 57.50 0.590123 -152.50 152.50 62.50 1.18313 -152.50 152.50 67.50 1.85573 -152.50 152.50 72.50 2.38047 -152.50 152.50 77.50 3.01306 -152.50 152.50 82.50 3.52469 -152.50 152.50 87.50 3.62014 -152.50 152.50 92.50 2.99998 -152.50 152.50 97.50 1.90997 -152.50 152.50 102.50 1.02375 -152.50 152.50 107.50 0.398624 -152.50 152.50 112.50 0.12523 -152.50 152.50 117.50 0.0277001 -152.50 152.50 122.50 0.00676333 -152.50 152.50 127.50 0.00755233 -152.50 152.50 132.50 0.0288181 -152.50 152.50 137.50 0.0970908 -152.50 152.50 142.50 0.252065 -152.50 152.50 147.50 0.590123 -152.50 152.50 152.50 1.18313 -152.50 152.50 157.50 1.85573 -152.50 152.50 162.50 2.38047 -152.50 152.50 167.50 3.01306 -152.50 152.50 172.50 3.52469 -152.50 152.50 177.50 3.62014 -152.50 152.50 182.50 2.99998 -152.50 152.50 187.50 1.90997 -152.50 152.50 192.50 1.02375 -152.50 152.50 197.50 0.398624 -152.50 152.50 202.50 0.12523 -152.50 152.50 207.50 0.0277001 -152.50 152.50 212.50 0.00676333 -152.50 152.50 217.50 0.0075523 -152.50 152.50 222.50 0.028818 -152.50 152.50 227.50 0.0970907 -152.50 152.50 232.50 0.252066 -152.50 152.50 237.50 0.590124 -152.50 152.50 242.50 1.18313 -152.50 152.50 247.50 1.85573 -152.50 152.50 252.50 2.38047 -152.50 152.50 257.50 3.01306 -152.50 152.50 262.50 3.52469 -152.50 152.50 267.50 3.62014 -152.50 152.50 272.50 2.99998 -152.50 152.50 277.50 1.90997 -152.50 152.50 282.50 1.02375 -152.50 152.50 287.50 0.398625 -152.50 152.50 292.50 0.12523 -152.50 152.50 297.50 0.0277002 -152.50 152.50 302.50 0.00676334 -152.50 152.50 307.50 0.00755229 -152.50 152.50 312.50 0.028818 -152.50 152.50 317.50 0.0970906 -152.50 152.50 322.50 0.252065 -152.50 152.50 327.50 0.590122 -152.50 152.50 332.50 1.18313 -152.50 152.50 337.50 1.85572 -152.50 152.50 342.50 2.38047 -152.50 152.50 347.50 3.01306 -152.50 152.50 352.50 3.52469 -152.50 152.50 357.50 3.62014 -152.50 157.50 2.50 1.96803 -152.50 157.50 7.50 1.24071 -152.50 157.50 12.50 0.671075 -152.50 157.50 17.50 0.279702 -152.50 157.50 22.50 0.0981173 -152.50 157.50 27.50 0.0316822 -152.50 157.50 32.50 0.00850378 -152.50 157.50 37.50 0.0142588 -152.50 157.50 42.50 0.0644323 -152.50 157.50 47.50 0.195391 -152.50 157.50 52.50 0.435607 -152.50 157.50 57.50 0.833259 -152.50 157.50 62.50 1.40128 -152.50 157.50 67.50 1.89582 -152.50 157.50 72.50 2.16923 -152.50 157.50 77.50 2.38837 -152.50 157.50 82.50 2.5334 -152.50 157.50 87.50 2.42077 -152.50 157.50 92.50 1.96803 -152.50 157.50 97.50 1.24071 -152.50 157.50 102.50 0.671075 -152.50 157.50 107.50 0.279702 -152.50 157.50 112.50 0.0981173 -152.50 157.50 117.50 0.0316822 -152.50 157.50 122.50 0.00850377 -152.50 157.50 127.50 0.0142588 -152.50 157.50 132.50 0.0644323 -152.50 157.50 137.50 0.195391 -152.50 157.50 142.50 0.435607 -152.50 157.50 147.50 0.833258 -152.50 157.50 152.50 1.40128 -152.50 157.50 157.50 1.89582 -152.50 157.50 162.50 2.16923 -152.50 157.50 167.50 2.38837 -152.50 157.50 172.50 2.5334 -152.50 157.50 177.50 2.42078 -152.50 157.50 182.50 1.96804 -152.50 157.50 187.50 1.24071 -152.50 157.50 192.50 0.671075 -152.50 157.50 197.50 0.279702 -152.50 157.50 202.50 0.0981173 -152.50 157.50 207.50 0.0316822 -152.50 157.50 212.50 0.00850377 -152.50 157.50 217.50 0.0142588 -152.50 157.50 222.50 0.0644321 -152.50 157.50 227.50 0.195391 -152.50 157.50 232.50 0.435608 -152.50 157.50 237.50 0.833259 -152.50 157.50 242.50 1.40128 -152.50 157.50 247.50 1.89583 -152.50 157.50 252.50 2.16923 -152.50 157.50 257.50 2.38837 -152.50 157.50 262.50 2.5334 -152.50 157.50 267.50 2.42077 -152.50 157.50 272.50 1.96804 -152.50 157.50 277.50 1.24071 -152.50 157.50 282.50 0.671075 -152.50 157.50 287.50 0.279702 -152.50 157.50 292.50 0.0981174 -152.50 157.50 297.50 0.0316823 -152.50 157.50 302.50 0.00850378 -152.50 157.50 307.50 0.0142587 -152.50 157.50 312.50 0.064432 -152.50 157.50 317.50 0.195391 -152.50 157.50 322.50 0.435607 -152.50 157.50 327.50 0.833257 -152.50 157.50 332.50 1.40128 -152.50 157.50 337.50 1.89582 -152.50 157.50 342.50 2.16923 -152.50 157.50 347.50 2.38837 -152.50 157.50 352.50 2.5334 -152.50 157.50 357.50 2.42077 -152.50 162.50 2.50 1.09345 -152.50 162.50 7.50 0.71794 -152.50 162.50 12.50 0.412757 -152.50 162.50 17.50 0.239148 -152.50 162.50 22.50 0.13557 -152.50 162.50 27.50 0.066261 -152.50 162.50 32.50 0.0246356 -152.50 162.50 37.50 0.0269771 -152.50 162.50 42.50 0.0971231 -152.50 162.50 47.50 0.278607 -152.50 162.50 52.50 0.595059 -152.50 162.50 57.50 1.02935 -152.50 162.50 62.50 1.48599 -152.50 162.50 67.50 1.74574 -152.50 162.50 72.50 1.72818 -152.50 162.50 77.50 1.61428 -152.50 162.50 82.50 1.52053 -152.50 162.50 87.50 1.35571 -152.50 162.50 92.50 1.09345 -152.50 162.50 97.50 0.717939 -152.50 162.50 102.50 0.412756 -152.50 162.50 107.50 0.239148 -152.50 162.50 112.50 0.13557 -152.50 162.50 117.50 0.0662609 -152.50 162.50 122.50 0.0246355 -152.50 162.50 127.50 0.0269771 -152.50 162.50 132.50 0.0971232 -152.50 162.50 137.50 0.278606 -152.50 162.50 142.50 0.595059 -152.50 162.50 147.50 1.02935 -152.50 162.50 152.50 1.48599 -152.50 162.50 157.50 1.74574 -152.50 162.50 162.50 1.72818 -152.50 162.50 167.50 1.61428 -152.50 162.50 172.50 1.52053 -152.50 162.50 177.50 1.35571 -152.50 162.50 182.50 1.09345 -152.50 162.50 187.50 0.717939 -152.50 162.50 192.50 0.412756 -152.50 162.50 197.50 0.239148 -152.50 162.50 202.50 0.13557 -152.50 162.50 207.50 0.066261 -152.50 162.50 212.50 0.0246356 -152.50 162.50 217.50 0.0269771 -152.50 162.50 222.50 0.097123 -152.50 162.50 227.50 0.278606 -152.50 162.50 232.50 0.59506 -152.50 162.50 237.50 1.02935 -152.50 162.50 242.50 1.48599 -152.50 162.50 247.50 1.74574 -152.50 162.50 252.50 1.72818 -152.50 162.50 257.50 1.61428 -152.50 162.50 262.50 1.52053 -152.50 162.50 267.50 1.35571 -152.50 162.50 272.50 1.09345 -152.50 162.50 277.50 0.71794 -152.50 162.50 282.50 0.412757 -152.50 162.50 287.50 0.239148 -152.50 162.50 292.50 0.13557 -152.50 162.50 297.50 0.066261 -152.50 162.50 302.50 0.0246356 -152.50 162.50 307.50 0.0269771 -152.50 162.50 312.50 0.0971229 -152.50 162.50 317.50 0.278606 -152.50 162.50 322.50 0.595059 -152.50 162.50 327.50 1.02935 -152.50 162.50 332.50 1.48599 -152.50 162.50 337.50 1.74574 -152.50 162.50 342.50 1.72818 -152.50 162.50 347.50 1.61428 -152.50 162.50 352.50 1.52053 -152.50 162.50 357.50 1.35571 -152.50 167.50 2.50 0.52242 -152.50 167.50 7.50 0.373755 -152.50 167.50 12.50 0.241365 -152.50 167.50 17.50 0.207394 -152.50 167.50 22.50 0.167805 -152.50 167.50 27.50 0.0978279 -152.50 167.50 32.50 0.0377467 -152.50 167.50 37.50 0.0400304 -152.50 167.50 42.50 0.116219 -152.50 167.50 47.50 0.296413 -152.50 167.50 52.50 0.631522 -152.50 167.50 57.50 1.10734 -152.50 167.50 62.50 1.49764 -152.50 167.50 67.50 1.52127 -152.50 167.50 72.50 1.23581 -152.50 167.50 77.50 0.925448 -152.50 167.50 82.50 0.737725 -152.50 167.50 87.50 0.637041 -152.50 167.50 92.50 0.52242 -152.50 167.50 97.50 0.373755 -152.50 167.50 102.50 0.241365 -152.50 167.50 107.50 0.207394 -152.50 167.50 112.50 0.167805 -152.50 167.50 117.50 0.0978278 -152.50 167.50 122.50 0.0377467 -152.50 167.50 127.50 0.0400304 -152.50 167.50 132.50 0.11622 -152.50 167.50 137.50 0.296413 -152.50 167.50 142.50 0.631522 -152.50 167.50 147.50 1.10734 -152.50 167.50 152.50 1.49764 -152.50 167.50 157.50 1.52127 -152.50 167.50 162.50 1.23582 -152.50 167.50 167.50 0.925448 -152.50 167.50 172.50 0.737725 -152.50 167.50 177.50 0.63704 -152.50 167.50 182.50 0.52242 -152.50 167.50 187.50 0.373755 -152.50 167.50 192.50 0.241365 -152.50 167.50 197.50 0.207394 -152.50 167.50 202.50 0.167805 -152.50 167.50 207.50 0.0978279 -152.50 167.50 212.50 0.0377467 -152.50 167.50 217.50 0.0400304 -152.50 167.50 222.50 0.116219 -152.50 167.50 227.50 0.296413 -152.50 167.50 232.50 0.631523 -152.50 167.50 237.50 1.10735 -152.50 167.50 242.50 1.49764 -152.50 167.50 247.50 1.52127 -152.50 167.50 252.50 1.23581 -152.50 167.50 257.50 0.925448 -152.50 167.50 262.50 0.737725 -152.50 167.50 267.50 0.637041 -152.50 167.50 272.50 0.52242 -152.50 167.50 277.50 0.373755 -152.50 167.50 282.50 0.241365 -152.50 167.50 287.50 0.207394 -152.50 167.50 292.50 0.167805 -152.50 167.50 297.50 0.097828 -152.50 167.50 302.50 0.0377468 -152.50 167.50 307.50 0.0400304 -152.50 167.50 312.50 0.116219 -152.50 167.50 317.50 0.296413 -152.50 167.50 322.50 0.631521 -152.50 167.50 327.50 1.10734 -152.50 167.50 332.50 1.49764 -152.50 167.50 337.50 1.52127 -152.50 167.50 342.50 1.23582 -152.50 167.50 347.50 0.925448 -152.50 167.50 352.50 0.737725 -152.50 167.50 357.50 0.637041 -152.50 172.50 2.50 0.23184 -152.50 172.50 7.50 0.195649 -152.50 172.50 12.50 0.163188 -152.50 172.50 17.50 0.150042 -152.50 172.50 22.50 0.140385 -152.50 172.50 27.50 0.0951406 -152.50 172.50 32.50 0.0498096 -152.50 172.50 37.50 0.044108 -152.50 172.50 42.50 0.100429 -152.50 172.50 47.50 0.252107 -152.50 172.50 52.50 0.562383 -152.50 172.50 57.50 1.00249 -152.50 172.50 62.50 1.30522 -152.50 172.50 67.50 1.20655 -152.50 172.50 72.50 0.815158 -152.50 172.50 77.50 0.461096 -152.50 172.50 82.50 0.304766 -152.50 172.50 87.50 0.25951 -152.50 172.50 92.50 0.231841 -152.50 172.50 97.50 0.195649 -152.50 172.50 102.50 0.163188 -152.50 172.50 107.50 0.150042 -152.50 172.50 112.50 0.140385 -152.50 172.50 117.50 0.0951405 -152.50 172.50 122.50 0.0498095 -152.50 172.50 127.50 0.044108 -152.50 172.50 132.50 0.100429 -152.50 172.50 137.50 0.252107 -152.50 172.50 142.50 0.562383 -152.50 172.50 147.50 1.00249 -152.50 172.50 152.50 1.30522 -152.50 172.50 157.50 1.20655 -152.50 172.50 162.50 0.815158 -152.50 172.50 167.50 0.461096 -152.50 172.50 172.50 0.304766 -152.50 172.50 177.50 0.259509 -152.50 172.50 182.50 0.231841 -152.50 172.50 187.50 0.195649 -152.50 172.50 192.50 0.163188 -152.50 172.50 197.50 0.150042 -152.50 172.50 202.50 0.140385 -152.50 172.50 207.50 0.0951406 -152.50 172.50 212.50 0.0498095 -152.50 172.50 217.50 0.044108 -152.50 172.50 222.50 0.100429 -152.50 172.50 227.50 0.252107 -152.50 172.50 232.50 0.562385 -152.50 172.50 237.50 1.00249 -152.50 172.50 242.50 1.30522 -152.50 172.50 247.50 1.20655 -152.50 172.50 252.50 0.815158 -152.50 172.50 257.50 0.461096 -152.50 172.50 262.50 0.304766 -152.50 172.50 267.50 0.259509 -152.50 172.50 272.50 0.23184 -152.50 172.50 277.50 0.195649 -152.50 172.50 282.50 0.163188 -152.50 172.50 287.50 0.150042 -152.50 172.50 292.50 0.140385 -152.50 172.50 297.50 0.0951407 -152.50 172.50 302.50 0.0498096 -152.50 172.50 307.50 0.044108 -152.50 172.50 312.50 0.100429 -152.50 172.50 317.50 0.252107 -152.50 172.50 322.50 0.562383 -152.50 172.50 327.50 1.00249 -152.50 172.50 332.50 1.30522 -152.50 172.50 337.50 1.20655 -152.50 172.50 342.50 0.815159 -152.50 172.50 347.50 0.461097 -152.50 172.50 352.50 0.304766 -152.50 172.50 357.50 0.25951 -152.50 177.50 2.50 0.100122 -152.50 177.50 7.50 0.106232 -152.50 177.50 12.50 0.106938 -152.50 177.50 17.50 0.105452 -152.50 177.50 22.50 0.0979377 -152.50 177.50 27.50 0.0748372 -152.50 177.50 32.50 0.0465597 -152.50 177.50 37.50 0.041079 -152.50 177.50 42.50 0.0718401 -152.50 177.50 47.50 0.173853 -152.50 177.50 52.50 0.416235 -152.50 177.50 57.50 0.781006 -152.50 177.50 62.50 1.00586 -152.50 177.50 67.50 0.859326 -152.50 177.50 72.50 0.502348 -152.50 177.50 77.50 0.226978 -152.50 177.50 82.50 0.114763 -152.50 177.50 87.50 0.0945824 -152.50 177.50 92.50 0.100122 -152.50 177.50 97.50 0.106232 -152.50 177.50 102.50 0.106938 -152.50 177.50 107.50 0.105452 -152.50 177.50 112.50 0.0979377 -152.50 177.50 117.50 0.0748372 -152.50 177.50 122.50 0.0465597 -152.50 177.50 127.50 0.041079 -152.50 177.50 132.50 0.0718402 -152.50 177.50 137.50 0.173854 -152.50 177.50 142.50 0.416235 -152.50 177.50 147.50 0.781006 -152.50 177.50 152.50 1.00586 -152.50 177.50 157.50 0.859326 -152.50 177.50 162.50 0.502348 -152.50 177.50 167.50 0.226978 -152.50 177.50 172.50 0.114763 -152.50 177.50 177.50 0.0945824 -152.50 177.50 182.50 0.100122 -152.50 177.50 187.50 0.106232 -152.50 177.50 192.50 0.106938 -152.50 177.50 197.50 0.105452 -152.50 177.50 202.50 0.0979377 -152.50 177.50 207.50 0.0748372 -152.50 177.50 212.50 0.0465597 -152.50 177.50 217.50 0.041079 -152.50 177.50 222.50 0.0718401 -152.50 177.50 227.50 0.173854 -152.50 177.50 232.50 0.416236 -152.50 177.50 237.50 0.781005 -152.50 177.50 242.50 1.00586 -152.50 177.50 247.50 0.859325 -152.50 177.50 252.50 0.502348 -152.50 177.50 257.50 0.226978 -152.50 177.50 262.50 0.114763 -152.50 177.50 267.50 0.0945825 -152.50 177.50 272.50 0.100122 -152.50 177.50 277.50 0.106232 -152.50 177.50 282.50 0.106938 -152.50 177.50 287.50 0.105452 -152.50 177.50 292.50 0.0979377 -152.50 177.50 297.50 0.0748373 -152.50 177.50 302.50 0.0465597 -152.50 177.50 307.50 0.041079 -152.50 177.50 312.50 0.0718401 -152.50 177.50 317.50 0.173853 -152.50 177.50 322.50 0.416235 -152.50 177.50 327.50 0.781004 -152.50 177.50 332.50 1.00586 -152.50 177.50 337.50 0.859326 -152.50 177.50 342.50 0.502349 -152.50 177.50 347.50 0.226979 -152.50 177.50 352.50 0.114763 -152.50 177.50 357.50 0.0945824 -157.50 2.50 2.50 0.0485219 -157.50 2.50 7.50 0.0624686 -157.50 2.50 12.50 0.149977 -157.50 2.50 17.50 0.393272 -157.50 2.50 22.50 0.773179 -157.50 2.50 27.50 0.980506 -157.50 2.50 32.50 0.773179 -157.50 2.50 37.50 0.393273 -157.50 2.50 42.50 0.149977 -157.50 2.50 47.50 0.0624686 -157.50 2.50 52.50 0.0485219 -157.50 2.50 57.50 0.0601603 -157.50 2.50 62.50 0.0760385 -157.50 2.50 67.50 0.083846 -157.50 2.50 72.50 0.084539 -157.50 2.50 77.50 0.083846 -157.50 2.50 82.50 0.0760385 -157.50 2.50 87.50 0.0601603 -157.50 2.50 92.50 0.0485219 -157.50 2.50 97.50 0.0624686 -157.50 2.50 102.50 0.149977 -157.50 2.50 107.50 0.393272 -157.50 2.50 112.50 0.773179 -157.50 2.50 117.50 0.980476 -157.50 2.50 122.50 0.773178 -157.50 2.50 127.50 0.393272 -157.50 2.50 132.50 0.149977 -157.50 2.50 137.50 0.0624686 -157.50 2.50 142.50 0.0485219 -157.50 2.50 147.50 0.0601603 -157.50 2.50 152.50 0.0760385 -157.50 2.50 157.50 0.083846 -157.50 2.50 162.50 0.084539 -157.50 2.50 167.50 0.083846 -157.50 2.50 172.50 0.0760386 -157.50 2.50 177.50 0.0601603 -157.50 2.50 182.50 0.0485219 -157.50 2.50 187.50 0.0624686 -157.50 2.50 192.50 0.149977 -157.50 2.50 197.50 0.393272 -157.50 2.50 202.50 0.773179 -157.50 2.50 207.50 0.980476 -157.50 2.50 212.50 0.773179 -157.50 2.50 217.50 0.393272 -157.50 2.50 222.50 0.149977 -157.50 2.50 227.50 0.0624686 -157.50 2.50 232.50 0.0485219 -157.50 2.50 237.50 0.0601603 -157.50 2.50 242.50 0.0760386 -157.50 2.50 247.50 0.083846 -157.50 2.50 252.50 0.084539 -157.50 2.50 257.50 0.083846 -157.50 2.50 262.50 0.0760385 -157.50 2.50 267.50 0.0601603 -157.50 2.50 272.50 0.0485219 -157.50 2.50 277.50 0.0624685 -157.50 2.50 282.50 0.149977 -157.50 2.50 287.50 0.393272 -157.50 2.50 292.50 0.773178 -157.50 2.50 297.50 0.980476 -157.50 2.50 302.50 0.773179 -157.50 2.50 307.50 0.393273 -157.50 2.50 312.50 0.149977 -157.50 2.50 317.50 0.0624686 -157.50 2.50 322.50 0.0485219 -157.50 2.50 327.50 0.0601603 -157.50 2.50 332.50 0.0760385 -157.50 2.50 337.50 0.083846 -157.50 2.50 342.50 0.084539 -157.50 2.50 347.50 0.083846 -157.50 2.50 352.50 0.0760386 -157.50 2.50 357.50 0.0601604 -157.50 7.50 2.50 0.0874276 -157.50 7.50 7.50 0.106432 -157.50 7.50 12.50 0.209006 -157.50 7.50 17.50 0.478808 -157.50 7.50 22.50 0.862378 -157.50 7.50 27.50 1.05029 -157.50 7.50 32.50 0.83073 -157.50 7.50 37.50 0.436528 -157.50 7.50 42.50 0.173647 -157.50 7.50 47.50 0.0686875 -157.50 7.50 52.50 0.0398712 -157.50 7.50 57.50 0.0444076 -157.50 7.50 62.50 0.0638134 -157.50 7.50 67.50 0.0873952 -157.50 7.50 72.50 0.0982883 -157.50 7.50 77.50 0.10012 -157.50 7.50 82.50 0.0973618 -157.50 7.50 87.50 0.0912089 -157.50 7.50 92.50 0.0874276 -157.50 7.50 97.50 0.106432 -157.50 7.50 102.50 0.209006 -157.50 7.50 107.50 0.478808 -157.50 7.50 112.50 0.862377 -157.50 7.50 117.50 1.05029 -157.50 7.50 122.50 0.830729 -157.50 7.50 127.50 0.436529 -157.50 7.50 132.50 0.173646 -157.50 7.50 137.50 0.0686875 -157.50 7.50 142.50 0.0398712 -157.50 7.50 147.50 0.0444076 -157.50 7.50 152.50 0.0638134 -157.50 7.50 157.50 0.0873951 -157.50 7.50 162.50 0.0982882 -157.50 7.50 167.50 0.10012 -157.50 7.50 172.50 0.0973618 -157.50 7.50 177.50 0.0912089 -157.50 7.50 182.50 0.0874276 -157.50 7.50 187.50 0.106432 -157.50 7.50 192.50 0.209006 -157.50 7.50 197.50 0.478808 -157.50 7.50 202.50 0.862378 -157.50 7.50 207.50 1.05029 -157.50 7.50 212.50 0.830729 -157.50 7.50 217.50 0.436529 -157.50 7.50 222.50 0.173646 -157.50 7.50 227.50 0.0686876 -157.50 7.50 232.50 0.0398712 -157.50 7.50 237.50 0.0444076 -157.50 7.50 242.50 0.0638135 -157.50 7.50 247.50 0.0873953 -157.50 7.50 252.50 0.0982882 -157.50 7.50 257.50 0.10012 -157.50 7.50 262.50 0.0973617 -157.50 7.50 267.50 0.0912089 -157.50 7.50 272.50 0.0874276 -157.50 7.50 277.50 0.106432 -157.50 7.50 282.50 0.209006 -157.50 7.50 287.50 0.478808 -157.50 7.50 292.50 0.862378 -157.50 7.50 297.50 1.05029 -157.50 7.50 302.50 0.83073 -157.50 7.50 307.50 0.436529 -157.50 7.50 312.50 0.173646 -157.50 7.50 317.50 0.0686876 -157.50 7.50 322.50 0.0398712 -157.50 7.50 327.50 0.0444076 -157.50 7.50 332.50 0.0638133 -157.50 7.50 337.50 0.0873951 -157.50 7.50 342.50 0.0982882 -157.50 7.50 347.50 0.10012 -157.50 7.50 352.50 0.0973618 -157.50 7.50 357.50 0.091209 -157.50 12.50 2.50 0.221571 -157.50 12.50 7.50 0.269639 -157.50 12.50 12.50 0.412201 -157.50 12.50 17.50 0.751388 -157.50 12.50 22.50 1.19976 -157.50 12.50 27.50 1.37472 -157.50 12.50 32.50 1.08065 -157.50 12.50 37.50 0.598379 -157.50 12.50 42.50 0.2576 -157.50 12.50 47.50 0.0984241 -157.50 12.50 52.50 0.0394887 -157.50 12.50 57.50 0.0389615 -157.50 12.50 62.50 0.0759864 -157.50 12.50 67.50 0.123005 -157.50 12.50 72.50 0.143448 -157.50 12.50 77.50 0.133941 -157.50 12.50 82.50 0.152442 -157.50 12.50 87.50 0.187039 -157.50 12.50 92.50 0.221571 -157.50 12.50 97.50 0.269639 -157.50 12.50 102.50 0.412201 -157.50 12.50 107.50 0.751388 -157.50 12.50 112.50 1.19976 -157.50 12.50 117.50 1.37472 -157.50 12.50 122.50 1.08065 -157.50 12.50 127.50 0.598378 -157.50 12.50 132.50 0.2576 -157.50 12.50 137.50 0.0984241 -157.50 12.50 142.50 0.0394887 -157.50 12.50 147.50 0.0389615 -157.50 12.50 152.50 0.0759864 -157.50 12.50 157.50 0.123005 -157.50 12.50 162.50 0.143448 -157.50 12.50 167.50 0.133941 -157.50 12.50 172.50 0.152442 -157.50 12.50 177.50 0.187039 -157.50 12.50 182.50 0.221571 -157.50 12.50 187.50 0.269639 -157.50 12.50 192.50 0.412201 -157.50 12.50 197.50 0.751388 -157.50 12.50 202.50 1.19976 -157.50 12.50 207.50 1.37472 -157.50 12.50 212.50 1.08065 -157.50 12.50 217.50 0.598379 -157.50 12.50 222.50 0.2576 -157.50 12.50 227.50 0.0984242 -157.50 12.50 232.50 0.0394887 -157.50 12.50 237.50 0.0389615 -157.50 12.50 242.50 0.0759865 -157.50 12.50 247.50 0.123006 -157.50 12.50 252.50 0.143448 -157.50 12.50 257.50 0.133941 -157.50 12.50 262.50 0.152442 -157.50 12.50 267.50 0.187039 -157.50 12.50 272.50 0.221571 -157.50 12.50 277.50 0.269639 -157.50 12.50 282.50 0.412201 -157.50 12.50 287.50 0.751389 -157.50 12.50 292.50 1.19976 -157.50 12.50 297.50 1.37472 -157.50 12.50 302.50 1.08065 -157.50 12.50 307.50 0.59838 -157.50 12.50 312.50 0.2576 -157.50 12.50 317.50 0.0984242 -157.50 12.50 322.50 0.0394887 -157.50 12.50 327.50 0.0389614 -157.50 12.50 332.50 0.0759863 -157.50 12.50 337.50 0.123005 -157.50 12.50 342.50 0.143448 -157.50 12.50 347.50 0.133941 -157.50 12.50 352.50 0.152442 -157.50 12.50 357.50 0.187039 -157.50 17.50 2.50 0.514899 -157.50 17.50 7.50 0.631548 -157.50 17.50 12.50 0.803028 -157.50 17.50 17.50 1.1329 -157.50 17.50 22.50 1.48934 -157.50 17.50 27.50 1.55515 -157.50 17.50 32.50 1.20435 -157.50 17.50 37.50 0.685349 -157.50 17.50 42.50 0.312384 -157.50 17.50 47.50 0.120831 -157.50 17.50 52.50 0.0405364 -157.50 17.50 57.50 0.0288061 -157.50 17.50 62.50 0.0683475 -157.50 17.50 67.50 0.136815 -157.50 17.50 72.50 0.182654 -157.50 17.50 77.50 0.207991 -157.50 17.50 82.50 0.250633 -157.50 17.50 87.50 0.384519 -157.50 17.50 92.50 0.514899 -157.50 17.50 97.50 0.631548 -157.50 17.50 102.50 0.803028 -157.50 17.50 107.50 1.1329 -157.50 17.50 112.50 1.48934 -157.50 17.50 117.50 1.55515 -157.50 17.50 122.50 1.20434 -157.50 17.50 127.50 0.685349 -157.50 17.50 132.50 0.312383 -157.50 17.50 137.50 0.120831 -157.50 17.50 142.50 0.0405364 -157.50 17.50 147.50 0.0288061 -157.50 17.50 152.50 0.0683474 -157.50 17.50 157.50 0.136815 -157.50 17.50 162.50 0.182654 -157.50 17.50 167.50 0.207991 -157.50 17.50 172.50 0.250633 -157.50 17.50 177.50 0.384518 -157.50 17.50 182.50 0.514899 -157.50 17.50 187.50 0.631547 -157.50 17.50 192.50 0.803028 -157.50 17.50 197.50 1.1329 -157.50 17.50 202.50 1.48934 -157.50 17.50 207.50 1.55515 -157.50 17.50 212.50 1.20434 -157.50 17.50 217.50 0.68535 -157.50 17.50 222.50 0.312384 -157.50 17.50 227.50 0.120831 -157.50 17.50 232.50 0.0405364 -157.50 17.50 237.50 0.0288062 -157.50 17.50 242.50 0.0683477 -157.50 17.50 247.50 0.136815 -157.50 17.50 252.50 0.182655 -157.50 17.50 257.50 0.207991 -157.50 17.50 262.50 0.250634 -157.50 17.50 267.50 0.384519 -157.50 17.50 272.50 0.514899 -157.50 17.50 277.50 0.631548 -157.50 17.50 282.50 0.803028 -157.50 17.50 287.50 1.1329 -157.50 17.50 292.50 1.48934 -157.50 17.50 297.50 1.55515 -157.50 17.50 302.50 1.20435 -157.50 17.50 307.50 0.68535 -157.50 17.50 312.50 0.312384 -157.50 17.50 317.50 0.120832 -157.50 17.50 322.50 0.0405365 -157.50 17.50 327.50 0.0288061 -157.50 17.50 332.50 0.0683474 -157.50 17.50 337.50 0.136815 -157.50 17.50 342.50 0.182654 -157.50 17.50 347.50 0.207991 -157.50 17.50 352.50 0.250634 -157.50 17.50 357.50 0.384518 -157.50 22.50 2.50 1.04915 -157.50 22.50 7.50 1.25412 -157.50 22.50 12.50 1.42285 -157.50 22.50 17.50 1.60219 -157.50 22.50 22.50 1.72458 -157.50 22.50 27.50 1.57171 -157.50 22.50 32.50 1.1359 -157.50 22.50 37.50 0.665951 -157.50 22.50 42.50 0.318861 -157.50 22.50 47.50 0.116604 -157.50 22.50 52.50 0.03181 -157.50 22.50 57.50 0.0167425 -157.50 22.50 62.50 0.0459575 -157.50 22.50 67.50 0.101257 -157.50 22.50 72.50 0.170401 -157.50 22.50 77.50 0.296214 -157.50 22.50 82.50 0.486186 -157.50 22.50 87.50 0.754685 -157.50 22.50 92.50 1.04915 -157.50 22.50 97.50 1.25412 -157.50 22.50 102.50 1.42285 -157.50 22.50 107.50 1.60219 -157.50 22.50 112.50 1.72458 -157.50 22.50 117.50 1.57171 -157.50 22.50 122.50 1.1359 -157.50 22.50 127.50 0.66595 -157.50 22.50 132.50 0.31886 -157.50 22.50 137.50 0.116604 -157.50 22.50 142.50 0.03181 -157.50 22.50 147.50 0.0167425 -157.50 22.50 152.50 0.0459574 -157.50 22.50 157.50 0.101257 -157.50 22.50 162.50 0.170401 -157.50 22.50 167.50 0.296214 -157.50 22.50 172.50 0.486186 -157.50 22.50 177.50 0.754684 -157.50 22.50 182.50 1.04915 -157.50 22.50 187.50 1.25412 -157.50 22.50 192.50 1.42285 -157.50 22.50 197.50 1.60219 -157.50 22.50 202.50 1.72458 -157.50 22.50 207.50 1.57171 -157.50 22.50 212.50 1.1359 -157.50 22.50 217.50 0.665951 -157.50 22.50 222.50 0.318861 -157.50 22.50 227.50 0.116604 -157.50 22.50 232.50 0.0318099 -157.50 22.50 237.50 0.0167425 -157.50 22.50 242.50 0.0459576 -157.50 22.50 247.50 0.101257 -157.50 22.50 252.50 0.170401 -157.50 22.50 257.50 0.296215 -157.50 22.50 262.50 0.486187 -157.50 22.50 267.50 0.754685 -157.50 22.50 272.50 1.04915 -157.50 22.50 277.50 1.25412 -157.50 22.50 282.50 1.42285 -157.50 22.50 287.50 1.60219 -157.50 22.50 292.50 1.72458 -157.50 22.50 297.50 1.57171 -157.50 22.50 302.50 1.1359 -157.50 22.50 307.50 0.665951 -157.50 22.50 312.50 0.318861 -157.50 22.50 317.50 0.116604 -157.50 22.50 322.50 0.0318101 -157.50 22.50 327.50 0.0167425 -157.50 22.50 332.50 0.0459573 -157.50 22.50 337.50 0.101257 -157.50 22.50 342.50 0.170401 -157.50 22.50 347.50 0.296214 -157.50 22.50 352.50 0.486185 -157.50 22.50 357.50 0.754684 -157.50 27.50 2.50 1.82434 -157.50 27.50 7.50 2.07889 -157.50 27.50 12.50 2.13388 -157.50 27.50 17.50 2.09955 -157.50 27.50 22.50 1.94329 -157.50 27.50 27.50 1.53757 -157.50 27.50 32.50 0.969991 -157.50 27.50 37.50 0.522209 -157.50 27.50 42.50 0.243473 -157.50 27.50 47.50 0.0869077 -157.50 27.50 52.50 0.0224209 -157.50 27.50 57.50 0.00775407 -157.50 27.50 62.50 0.0170085 -157.50 27.50 67.50 0.0604165 -157.50 27.50 72.50 0.164729 -157.50 27.50 77.50 0.408669 -157.50 27.50 82.50 0.835416 -157.50 27.50 87.50 1.3143 -157.50 27.50 92.50 1.82434 -157.50 27.50 97.50 2.07889 -157.50 27.50 102.50 2.13388 -157.50 27.50 107.50 2.09955 -157.50 27.50 112.50 1.94329 -157.50 27.50 117.50 1.53757 -157.50 27.50 122.50 0.969991 -157.50 27.50 127.50 0.52221 -157.50 27.50 132.50 0.243473 -157.50 27.50 137.50 0.0869078 -157.50 27.50 142.50 0.0224209 -157.50 27.50 147.50 0.00775407 -157.50 27.50 152.50 0.0170085 -157.50 27.50 157.50 0.0604164 -157.50 27.50 162.50 0.164729 -157.50 27.50 167.50 0.408669 -157.50 27.50 172.50 0.835416 -157.50 27.50 177.50 1.3143 -157.50 27.50 182.50 1.82434 -157.50 27.50 187.50 2.07889 -157.50 27.50 192.50 2.13388 -157.50 27.50 197.50 2.09955 -157.50 27.50 202.50 1.94329 -157.50 27.50 207.50 1.53757 -157.50 27.50 212.50 0.969991 -157.50 27.50 217.50 0.52221 -157.50 27.50 222.50 0.243473 -157.50 27.50 227.50 0.0869078 -157.50 27.50 232.50 0.0224208 -157.50 27.50 237.50 0.00775408 -157.50 27.50 242.50 0.0170086 -157.50 27.50 247.50 0.0604167 -157.50 27.50 252.50 0.16473 -157.50 27.50 257.50 0.40867 -157.50 27.50 262.50 0.835417 -157.50 27.50 267.50 1.3143 -157.50 27.50 272.50 1.82434 -157.50 27.50 277.50 2.07889 -157.50 27.50 282.50 2.13388 -157.50 27.50 287.50 2.09955 -157.50 27.50 292.50 1.94329 -157.50 27.50 297.50 1.53757 -157.50 27.50 302.50 0.969992 -157.50 27.50 307.50 0.52221 -157.50 27.50 312.50 0.243473 -157.50 27.50 317.50 0.0869078 -157.50 27.50 322.50 0.022421 -157.50 27.50 327.50 0.00775409 -157.50 27.50 332.50 0.0170085 -157.50 27.50 337.50 0.0604164 -157.50 27.50 342.50 0.164729 -157.50 27.50 347.50 0.408668 -157.50 27.50 352.50 0.835415 -157.50 27.50 357.50 1.3143 -157.50 32.50 2.50 2.76505 -157.50 32.50 7.50 2.9695 -157.50 32.50 12.50 2.77948 -157.50 32.50 17.50 2.49158 -157.50 32.50 22.50 2.04972 -157.50 32.50 27.50 1.42938 -157.50 32.50 32.50 0.763199 -157.50 32.50 37.50 0.334403 -157.50 32.50 42.50 0.136774 -157.50 32.50 47.50 0.0483447 -157.50 32.50 52.50 0.0124351 -157.50 32.50 57.50 0.00538732 -157.50 32.50 62.50 0.0159058 -157.50 32.50 67.50 0.0647093 -157.50 32.50 72.50 0.245777 -157.50 32.50 77.50 0.618997 -157.50 32.50 82.50 1.30488 -157.50 32.50 87.50 2.07379 -157.50 32.50 92.50 2.76505 -157.50 32.50 97.50 2.9695 -157.50 32.50 102.50 2.77948 -157.50 32.50 107.50 2.49158 -157.50 32.50 112.50 2.04972 -157.50 32.50 117.50 1.42938 -157.50 32.50 122.50 0.763199 -157.50 32.50 127.50 0.334403 -157.50 32.50 132.50 0.136774 -157.50 32.50 137.50 0.0483447 -157.50 32.50 142.50 0.0124351 -157.50 32.50 147.50 0.00538731 -157.50 32.50 152.50 0.0159058 -157.50 32.50 157.50 0.0647092 -157.50 32.50 162.50 0.245776 -157.50 32.50 167.50 0.618997 -157.50 32.50 172.50 1.30488 -157.50 32.50 177.50 2.07378 -157.50 32.50 182.50 2.76505 -157.50 32.50 187.50 2.9695 -157.50 32.50 192.50 2.77948 -157.50 32.50 197.50 2.49158 -157.50 32.50 202.50 2.04972 -157.50 32.50 207.50 1.42938 -157.50 32.50 212.50 0.763199 -157.50 32.50 217.50 0.334403 -157.50 32.50 222.50 0.136774 -157.50 32.50 227.50 0.0483447 -157.50 32.50 232.50 0.0124351 -157.50 32.50 237.50 0.00538732 -157.50 32.50 242.50 0.0159059 -157.50 32.50 247.50 0.0647096 -157.50 32.50 252.50 0.245777 -157.50 32.50 257.50 0.618998 -157.50 32.50 262.50 1.30488 -157.50 32.50 267.50 2.07379 -157.50 32.50 272.50 2.76506 -157.50 32.50 277.50 2.9695 -157.50 32.50 282.50 2.77949 -157.50 32.50 287.50 2.49158 -157.50 32.50 292.50 2.04972 -157.50 32.50 297.50 1.42938 -157.50 32.50 302.50 0.7632 -157.50 32.50 307.50 0.334403 -157.50 32.50 312.50 0.136774 -157.50 32.50 317.50 0.0483447 -157.50 32.50 322.50 0.0124351 -157.50 32.50 327.50 0.00538732 -157.50 32.50 332.50 0.0159058 -157.50 32.50 337.50 0.0647092 -157.50 32.50 342.50 0.245776 -157.50 32.50 347.50 0.618996 -157.50 32.50 352.50 1.30488 -157.50 32.50 357.50 2.07378 -157.50 37.50 2.50 3.78322 -157.50 37.50 7.50 3.78813 -157.50 37.50 12.50 3.28849 -157.50 37.50 17.50 2.66563 -157.50 37.50 22.50 1.9939 -157.50 37.50 27.50 1.21261 -157.50 37.50 32.50 0.555867 -157.50 37.50 37.50 0.19603 -157.50 37.50 42.50 0.058869 -157.50 37.50 47.50 0.0180067 -157.50 37.50 52.50 0.00654008 -157.50 37.50 57.50 0.010953 -157.50 37.50 62.50 0.0418859 -157.50 37.50 67.50 0.153926 -157.50 37.50 72.50 0.470414 -157.50 37.50 77.50 1.11133 -157.50 37.50 82.50 2.02937 -157.50 37.50 87.50 3.05865 -157.50 37.50 92.50 3.78322 -157.50 37.50 97.50 3.78813 -157.50 37.50 102.50 3.28849 -157.50 37.50 107.50 2.66563 -157.50 37.50 112.50 1.9939 -157.50 37.50 117.50 1.21261 -157.50 37.50 122.50 0.555867 -157.50 37.50 127.50 0.19603 -157.50 37.50 132.50 0.058869 -157.50 37.50 137.50 0.0180068 -157.50 37.50 142.50 0.00654008 -157.50 37.50 147.50 0.010953 -157.50 37.50 152.50 0.0418858 -157.50 37.50 157.50 0.153926 -157.50 37.50 162.50 0.470414 -157.50 37.50 167.50 1.11133 -157.50 37.50 172.50 2.02937 -157.50 37.50 177.50 3.05865 -157.50 37.50 182.50 3.78322 -157.50 37.50 187.50 3.78813 -157.50 37.50 192.50 3.28849 -157.50 37.50 197.50 2.66563 -157.50 37.50 202.50 1.9939 -157.50 37.50 207.50 1.21261 -157.50 37.50 212.50 0.555867 -157.50 37.50 217.50 0.19603 -157.50 37.50 222.50 0.0588691 -157.50 37.50 227.50 0.0180068 -157.50 37.50 232.50 0.00654008 -157.50 37.50 237.50 0.0109531 -157.50 37.50 242.50 0.0418859 -157.50 37.50 247.50 0.153926 -157.50 37.50 252.50 0.470415 -157.50 37.50 257.50 1.11133 -157.50 37.50 262.50 2.02937 -157.50 37.50 267.50 3.05865 -157.50 37.50 272.50 3.78322 -157.50 37.50 277.50 3.78813 -157.50 37.50 282.50 3.28849 -157.50 37.50 287.50 2.66563 -157.50 37.50 292.50 1.9939 -157.50 37.50 297.50 1.21261 -157.50 37.50 302.50 0.555868 -157.50 37.50 307.50 0.19603 -157.50 37.50 312.50 0.0588691 -157.50 37.50 317.50 0.0180068 -157.50 37.50 322.50 0.00654009 -157.50 37.50 327.50 0.010953 -157.50 37.50 332.50 0.0418858 -157.50 37.50 337.50 0.153926 -157.50 37.50 342.50 0.470413 -157.50 37.50 347.50 1.11133 -157.50 37.50 352.50 2.02937 -157.50 37.50 357.50 3.05864 -157.50 42.50 2.50 4.66762 -157.50 42.50 7.50 4.3612 -157.50 42.50 12.50 3.48816 -157.50 42.50 17.50 2.57939 -157.50 42.50 22.50 1.73471 -157.50 42.50 27.50 0.92413 -157.50 42.50 32.50 0.362471 -157.50 42.50 37.50 0.109017 -157.50 42.50 42.50 0.0261247 -157.50 42.50 47.50 0.00613909 -157.50 42.50 52.50 0.0074939 -157.50 42.50 57.50 0.0339057 -157.50 42.50 62.50 0.121204 -157.50 42.50 67.50 0.367173 -157.50 42.50 72.50 0.9483 -157.50 42.50 77.50 1.92656 -157.50 42.50 82.50 3.10303 -157.50 42.50 87.50 4.11607 -157.50 42.50 92.50 4.66762 -157.50 42.50 97.50 4.3612 -157.50 42.50 102.50 3.48816 -157.50 42.50 107.50 2.57939 -157.50 42.50 112.50 1.73471 -157.50 42.50 117.50 0.924129 -157.50 42.50 122.50 0.362471 -157.50 42.50 127.50 0.109017 -157.50 42.50 132.50 0.0261246 -157.50 42.50 137.50 0.00613909 -157.50 42.50 142.50 0.0074939 -157.50 42.50 147.50 0.0339057 -157.50 42.50 152.50 0.121203 -157.50 42.50 157.50 0.367172 -157.50 42.50 162.50 0.948299 -157.50 42.50 167.50 1.92656 -157.50 42.50 172.50 3.10303 -157.50 42.50 177.50 4.11607 -157.50 42.50 182.50 4.66762 -157.50 42.50 187.50 4.3612 -157.50 42.50 192.50 3.48816 -157.50 42.50 197.50 2.57939 -157.50 42.50 202.50 1.73471 -157.50 42.50 207.50 0.92413 -157.50 42.50 212.50 0.362471 -157.50 42.50 217.50 0.109017 -157.50 42.50 222.50 0.0261247 -157.50 42.50 227.50 0.0061391 -157.50 42.50 232.50 0.00749393 -157.50 42.50 237.50 0.0339058 -157.50 42.50 242.50 0.121204 -157.50 42.50 247.50 0.367173 -157.50 42.50 252.50 0.948302 -157.50 42.50 257.50 1.92656 -157.50 42.50 262.50 3.10303 -157.50 42.50 267.50 4.11607 -157.50 42.50 272.50 4.66762 -157.50 42.50 277.50 4.3612 -157.50 42.50 282.50 3.48816 -157.50 42.50 287.50 2.57939 -157.50 42.50 292.50 1.73471 -157.50 42.50 297.50 0.92413 -157.50 42.50 302.50 0.362471 -157.50 42.50 307.50 0.109017 -157.50 42.50 312.50 0.0261247 -157.50 42.50 317.50 0.0061391 -157.50 42.50 322.50 0.00749389 -157.50 42.50 327.50 0.0339057 -157.50 42.50 332.50 0.121203 -157.50 42.50 337.50 0.367172 -157.50 42.50 342.50 0.948298 -157.50 42.50 347.50 1.92655 -157.50 42.50 352.50 3.10302 -157.50 42.50 357.50 4.11606 -157.50 47.50 2.50 5.03542 -157.50 47.50 7.50 4.37515 -157.50 47.50 12.50 3.17018 -157.50 47.50 17.50 2.07806 -157.50 47.50 22.50 1.24718 -157.50 47.50 27.50 0.565486 -157.50 47.50 32.50 0.212702 -157.50 47.50 37.50 0.0622875 -157.50 47.50 42.50 0.0128841 -157.50 47.50 47.50 0.00632722 -157.50 47.50 52.50 0.019279 -157.50 47.50 57.50 0.104638 -157.50 47.50 62.50 0.325679 -157.50 47.50 67.50 0.817872 -157.50 47.50 72.50 1.74613 -157.50 47.50 77.50 2.98267 -157.50 47.50 82.50 4.25358 -157.50 47.50 87.50 4.9263 -157.50 47.50 92.50 5.03542 -157.50 47.50 97.50 4.37515 -157.50 47.50 102.50 3.17018 -157.50 47.50 107.50 2.07805 -157.50 47.50 112.50 1.24718 -157.50 47.50 117.50 0.565486 -157.50 47.50 122.50 0.212702 -157.50 47.50 127.50 0.0622875 -157.50 47.50 132.50 0.0128841 -157.50 47.50 137.50 0.00632722 -157.50 47.50 142.50 0.0192789 -157.50 47.50 147.50 0.104638 -157.50 47.50 152.50 0.325678 -157.50 47.50 157.50 0.817871 -157.50 47.50 162.50 1.74612 -157.50 47.50 167.50 2.98267 -157.50 47.50 172.50 4.25358 -157.50 47.50 177.50 4.9263 -157.50 47.50 182.50 5.03542 -157.50 47.50 187.50 4.37515 -157.50 47.50 192.50 3.17018 -157.50 47.50 197.50 2.07805 -157.50 47.50 202.50 1.24718 -157.50 47.50 207.50 0.565486 -157.50 47.50 212.50 0.212702 -157.50 47.50 217.50 0.0622876 -157.50 47.50 222.50 0.0128841 -157.50 47.50 227.50 0.00632723 -157.50 47.50 232.50 0.0192791 -157.50 47.50 237.50 0.104638 -157.50 47.50 242.50 0.325679 -157.50 47.50 247.50 0.817873 -157.50 47.50 252.50 1.74613 -157.50 47.50 257.50 2.98268 -157.50 47.50 262.50 4.25359 -157.50 47.50 267.50 4.92631 -157.50 47.50 272.50 5.03542 -157.50 47.50 277.50 4.37515 -157.50 47.50 282.50 3.17018 -157.50 47.50 287.50 2.07805 -157.50 47.50 292.50 1.24718 -157.50 47.50 297.50 0.565487 -157.50 47.50 302.50 0.212702 -157.50 47.50 307.50 0.0622876 -157.50 47.50 312.50 0.0128841 -157.50 47.50 317.50 0.00632723 -157.50 47.50 322.50 0.0192789 -157.50 47.50 327.50 0.104638 -157.50 47.50 332.50 0.325678 -157.50 47.50 337.50 0.817871 -157.50 47.50 342.50 1.74612 -157.50 47.50 347.50 2.98267 -157.50 47.50 352.50 4.25358 -157.50 47.50 357.50 4.9263 -157.50 52.50 2.50 4.66761 -157.50 52.50 7.50 3.66233 -157.50 52.50 12.50 2.38045 -157.50 52.50 17.50 1.35811 -157.50 52.50 22.50 0.704983 -157.50 52.50 27.50 0.297182 -157.50 52.50 32.50 0.0962725 -157.50 52.50 37.50 0.0315213 -157.50 52.50 42.50 0.00713903 -157.50 52.50 47.50 0.0095044 -157.50 52.50 52.50 0.0598363 -157.50 52.50 57.50 0.259457 -157.50 52.50 62.50 0.749232 -157.50 52.50 67.50 1.62258 -157.50 52.50 72.50 2.87281 -157.50 52.50 77.50 4.16698 -157.50 52.50 82.50 5.20289 -157.50 52.50 87.50 5.26632 -157.50 52.50 92.50 4.66761 -157.50 52.50 97.50 3.66233 -157.50 52.50 102.50 2.38045 -157.50 52.50 107.50 1.35811 -157.50 52.50 112.50 0.704983 -157.50 52.50 117.50 0.297182 -157.50 52.50 122.50 0.0962725 -157.50 52.50 127.50 0.0315213 -157.50 52.50 132.50 0.00713902 -157.50 52.50 137.50 0.0095044 -157.50 52.50 142.50 0.0598363 -157.50 52.50 147.50 0.259457 -157.50 52.50 152.50 0.749231 -157.50 52.50 157.50 1.62258 -157.50 52.50 162.50 2.8728 -157.50 52.50 167.50 4.16698 -157.50 52.50 172.50 5.20289 -157.50 52.50 177.50 5.26632 -157.50 52.50 182.50 4.66762 -157.50 52.50 187.50 3.66233 -157.50 52.50 192.50 2.38045 -157.50 52.50 197.50 1.35811 -157.50 52.50 202.50 0.704983 -157.50 52.50 207.50 0.297182 -157.50 52.50 212.50 0.0962726 -157.50 52.50 217.50 0.0315213 -157.50 52.50 222.50 0.00713903 -157.50 52.50 227.50 0.00950439 -157.50 52.50 232.50 0.0598366 -157.50 52.50 237.50 0.259458 -157.50 52.50 242.50 0.749233 -157.50 52.50 247.50 1.62258 -157.50 52.50 252.50 2.87281 -157.50 52.50 257.50 4.16698 -157.50 52.50 262.50 5.20289 -157.50 52.50 267.50 5.26632 -157.50 52.50 272.50 4.66762 -157.50 52.50 277.50 3.66233 -157.50 52.50 282.50 2.38045 -157.50 52.50 287.50 1.35811 -157.50 52.50 292.50 0.704983 -157.50 52.50 297.50 0.297183 -157.50 52.50 302.50 0.0962727 -157.50 52.50 307.50 0.0315213 -157.50 52.50 312.50 0.00713903 -157.50 52.50 317.50 0.00950439 -157.50 52.50 322.50 0.0598363 -157.50 52.50 327.50 0.259456 -157.50 52.50 332.50 0.74923 -157.50 52.50 337.50 1.62258 -157.50 52.50 342.50 2.8728 -157.50 52.50 347.50 4.16698 -157.50 52.50 352.50 5.20289 -157.50 52.50 357.50 5.26632 -157.50 57.50 2.50 3.78322 -157.50 57.50 7.50 2.53104 -157.50 57.50 12.50 1.45216 -157.50 57.50 17.50 0.731468 -157.50 57.50 22.50 0.323165 -157.50 57.50 27.50 0.129212 -157.50 57.50 32.50 0.0449127 -157.50 57.50 37.50 0.0103397 -157.50 57.50 42.50 0.00479201 -157.50 57.50 47.50 0.0254932 -157.50 57.50 52.50 0.130981 -157.50 57.50 57.50 0.496881 -157.50 57.50 62.50 1.36783 -157.50 57.50 67.50 2.66685 -157.50 57.50 72.50 4.10428 -157.50 57.50 77.50 5.20794 -157.50 57.50 82.50 5.66989 -157.50 57.50 87.50 5.09999 -157.50 57.50 92.50 3.78322 -157.50 57.50 97.50 2.53104 -157.50 57.50 102.50 1.45216 -157.50 57.50 107.50 0.731468 -157.50 57.50 112.50 0.323165 -157.50 57.50 117.50 0.129212 -157.50 57.50 122.50 0.0449126 -157.50 57.50 127.50 0.0103397 -157.50 57.50 132.50 0.00479201 -157.50 57.50 137.50 0.0254932 -157.50 57.50 142.50 0.130981 -157.50 57.50 147.50 0.496881 -157.50 57.50 152.50 1.36783 -157.50 57.50 157.50 2.66685 -157.50 57.50 162.50 4.10428 -157.50 57.50 167.50 5.20794 -157.50 57.50 172.50 5.6699 -157.50 57.50 177.50 5.09999 -157.50 57.50 182.50 3.78322 -157.50 57.50 187.50 2.53104 -157.50 57.50 192.50 1.45216 -157.50 57.50 197.50 0.731469 -157.50 57.50 202.50 0.323166 -157.50 57.50 207.50 0.129212 -157.50 57.50 212.50 0.0449127 -157.50 57.50 217.50 0.0103397 -157.50 57.50 222.50 0.00479201 -157.50 57.50 227.50 0.0254932 -157.50 57.50 232.50 0.130981 -157.50 57.50 237.50 0.496882 -157.50 57.50 242.50 1.36784 -157.50 57.50 247.50 2.66685 -157.50 57.50 252.50 4.10428 -157.50 57.50 257.50 5.20794 -157.50 57.50 262.50 5.66989 -157.50 57.50 267.50 5.09998 -157.50 57.50 272.50 3.78322 -157.50 57.50 277.50 2.53104 -157.50 57.50 282.50 1.45216 -157.50 57.50 287.50 0.731468 -157.50 57.50 292.50 0.323165 -157.50 57.50 297.50 0.129212 -157.50 57.50 302.50 0.0449127 -157.50 57.50 307.50 0.0103397 -157.50 57.50 312.50 0.00479201 -157.50 57.50 317.50 0.0254932 -157.50 57.50 322.50 0.13098 -157.50 57.50 327.50 0.49688 -157.50 57.50 332.50 1.36783 -157.50 57.50 337.50 2.66685 -157.50 57.50 342.50 4.10428 -157.50 57.50 347.50 5.20794 -157.50 57.50 352.50 5.66989 -157.50 57.50 357.50 5.09999 -157.50 62.50 2.50 2.76505 -157.50 62.50 7.50 1.50963 -157.50 62.50 12.50 0.762584 -157.50 62.50 17.50 0.330642 -157.50 62.50 22.50 0.124567 -157.50 62.50 27.50 0.0450435 -157.50 62.50 32.50 0.0170952 -157.50 62.50 37.50 0.00573944 -157.50 62.50 42.50 0.0111846 -157.50 62.50 47.50 0.0497146 -157.50 62.50 52.50 0.237939 -157.50 62.50 57.50 0.838125 -157.50 62.50 62.50 1.96486 -157.50 62.50 67.50 3.60305 -157.50 62.50 72.50 4.99965 -157.50 62.50 77.50 5.73607 -157.50 62.50 82.50 5.45371 -157.50 62.50 87.50 4.4001 -157.50 62.50 92.50 2.76505 -157.50 62.50 97.50 1.50963 -157.50 62.50 102.50 0.762584 -157.50 62.50 107.50 0.330642 -157.50 62.50 112.50 0.124567 -157.50 62.50 117.50 0.0450434 -157.50 62.50 122.50 0.0170951 -157.50 62.50 127.50 0.00573943 -157.50 62.50 132.50 0.0111846 -157.50 62.50 137.50 0.0497146 -157.50 62.50 142.50 0.23794 -157.50 62.50 147.50 0.838125 -157.50 62.50 152.50 1.96485 -157.50 62.50 157.50 3.60304 -157.50 62.50 162.50 4.99965 -157.50 62.50 167.50 5.73607 -157.50 62.50 172.50 5.45371 -157.50 62.50 177.50 4.4001 -157.50 62.50 182.50 2.76505 -157.50 62.50 187.50 1.50963 -157.50 62.50 192.50 0.762584 -157.50 62.50 197.50 0.330642 -157.50 62.50 202.50 0.124567 -157.50 62.50 207.50 0.0450435 -157.50 62.50 212.50 0.0170952 -157.50 62.50 217.50 0.00573943 -157.50 62.50 222.50 0.0111846 -157.50 62.50 227.50 0.0497145 -157.50 62.50 232.50 0.23794 -157.50 62.50 237.50 0.838126 -157.50 62.50 242.50 1.96486 -157.50 62.50 247.50 3.60305 -157.50 62.50 252.50 4.99965 -157.50 62.50 257.50 5.73607 -157.50 62.50 262.50 5.45371 -157.50 62.50 267.50 4.40009 -157.50 62.50 272.50 2.76505 -157.50 62.50 277.50 1.50963 -157.50 62.50 282.50 0.762584 -157.50 62.50 287.50 0.330642 -157.50 62.50 292.50 0.124567 -157.50 62.50 297.50 0.0450435 -157.50 62.50 302.50 0.0170952 -157.50 62.50 307.50 0.00573944 -157.50 62.50 312.50 0.0111846 -157.50 62.50 317.50 0.0497145 -157.50 62.50 322.50 0.237939 -157.50 62.50 327.50 0.838123 -157.50 62.50 332.50 1.96485 -157.50 62.50 337.50 3.60304 -157.50 62.50 342.50 4.99965 -157.50 62.50 347.50 5.73607 -157.50 62.50 352.50 5.45371 -157.50 62.50 357.50 4.4001 -157.50 67.50 2.50 1.82434 -157.50 67.50 7.50 0.828256 -157.50 67.50 12.50 0.374927 -157.50 67.50 17.50 0.146936 -157.50 67.50 22.50 0.0593759 -157.50 67.50 27.50 0.0243377 -157.50 67.50 32.50 0.00665759 -157.50 67.50 37.50 0.00540733 -157.50 67.50 42.50 0.0274634 -157.50 67.50 47.50 0.11112 -157.50 67.50 52.50 0.384125 -157.50 67.50 57.50 1.07266 -157.50 67.50 62.50 2.34372 -157.50 67.50 67.50 3.86145 -157.50 67.50 72.50 5.05496 -157.50 67.50 77.50 5.30437 -157.50 67.50 82.50 4.60096 -157.50 67.50 87.50 3.30735 -157.50 67.50 92.50 1.82434 -157.50 67.50 97.50 0.828257 -157.50 67.50 102.50 0.374926 -157.50 67.50 107.50 0.146936 -157.50 67.50 112.50 0.0593759 -157.50 67.50 117.50 0.0243376 -157.50 67.50 122.50 0.00665758 -157.50 67.50 127.50 0.00540732 -157.50 67.50 132.50 0.0274634 -157.50 67.50 137.50 0.11112 -157.50 67.50 142.50 0.384125 -157.50 67.50 147.50 1.07266 -157.50 67.50 152.50 2.34372 -157.50 67.50 157.50 3.86145 -157.50 67.50 162.50 5.05496 -157.50 67.50 167.50 5.30437 -157.50 67.50 172.50 4.60096 -157.50 67.50 177.50 3.30735 -157.50 67.50 182.50 1.82434 -157.50 67.50 187.50 0.828256 -157.50 67.50 192.50 0.374926 -157.50 67.50 197.50 0.146936 -157.50 67.50 202.50 0.0593759 -157.50 67.50 207.50 0.0243377 -157.50 67.50 212.50 0.00665759 -157.50 67.50 217.50 0.00540733 -157.50 67.50 222.50 0.0274634 -157.50 67.50 227.50 0.11112 -157.50 67.50 232.50 0.384126 -157.50 67.50 237.50 1.07266 -157.50 67.50 242.50 2.34372 -157.50 67.50 247.50 3.86145 -157.50 67.50 252.50 5.05496 -157.50 67.50 257.50 5.30437 -157.50 67.50 262.50 4.60096 -157.50 67.50 267.50 3.30735 -157.50 67.50 272.50 1.82434 -157.50 67.50 277.50 0.828257 -157.50 67.50 282.50 0.374926 -157.50 67.50 287.50 0.146936 -157.50 67.50 292.50 0.0593759 -157.50 67.50 297.50 0.0243377 -157.50 67.50 302.50 0.00665763 -157.50 67.50 307.50 0.00540733 -157.50 67.50 312.50 0.0274634 -157.50 67.50 317.50 0.11112 -157.50 67.50 322.50 0.384125 -157.50 67.50 327.50 1.07266 -157.50 67.50 332.50 2.34372 -157.50 67.50 337.50 3.86145 -157.50 67.50 342.50 5.05496 -157.50 67.50 347.50 5.30437 -157.50 67.50 352.50 4.60096 -157.50 67.50 357.50 3.30736 -157.50 72.50 2.50 1.04915 -157.50 72.50 7.50 0.418788 -157.50 72.50 12.50 0.180152 -157.50 72.50 17.50 0.0837817 -157.50 72.50 22.50 0.0564973 -157.50 72.50 27.50 0.0206743 -157.50 72.50 32.50 0.00658604 -157.50 72.50 37.50 0.00809185 -157.50 72.50 42.50 0.0386529 -157.50 72.50 47.50 0.150845 -157.50 72.50 52.50 0.424694 -157.50 72.50 57.50 1.04996 -157.50 72.50 62.50 2.15279 -157.50 72.50 67.50 3.35464 -157.50 72.50 72.50 4.13578 -157.50 72.50 77.50 4.07598 -157.50 72.50 82.50 3.34987 -157.50 72.50 87.50 2.15028 -157.50 72.50 92.50 1.04915 -157.50 72.50 97.50 0.418788 -157.50 72.50 102.50 0.180152 -157.50 72.50 107.50 0.0837818 -157.50 72.50 112.50 0.0564973 -157.50 72.50 117.50 0.0206743 -157.50 72.50 122.50 0.00658604 -157.50 72.50 127.50 0.00809187 -157.50 72.50 132.50 0.0386529 -157.50 72.50 137.50 0.150845 -157.50 72.50 142.50 0.424694 -157.50 72.50 147.50 1.04996 -157.50 72.50 152.50 2.15279 -157.50 72.50 157.50 3.35463 -157.50 72.50 162.50 4.13578 -157.50 72.50 167.50 4.07598 -157.50 72.50 172.50 3.34987 -157.50 72.50 177.50 2.15028 -157.50 72.50 182.50 1.04914 -157.50 72.50 187.50 0.418788 -157.50 72.50 192.50 0.180152 -157.50 72.50 197.50 0.0837817 -157.50 72.50 202.50 0.0564972 -157.50 72.50 207.50 0.0206744 -157.50 72.50 212.50 0.00658603 -157.50 72.50 217.50 0.00809185 -157.50 72.50 222.50 0.0386528 -157.50 72.50 227.50 0.150845 -157.50 72.50 232.50 0.424696 -157.50 72.50 237.50 1.04996 -157.50 72.50 242.50 2.15279 -157.50 72.50 247.50 3.35464 -157.50 72.50 252.50 4.13578 -157.50 72.50 257.50 4.07598 -157.50 72.50 262.50 3.34987 -157.50 72.50 267.50 2.15027 -157.50 72.50 272.50 1.04915 -157.50 72.50 277.50 0.418788 -157.50 72.50 282.50 0.180152 -157.50 72.50 287.50 0.0837817 -157.50 72.50 292.50 0.0564972 -157.50 72.50 297.50 0.0206744 -157.50 72.50 302.50 0.00658603 -157.50 72.50 307.50 0.00809183 -157.50 72.50 312.50 0.0386528 -157.50 72.50 317.50 0.150845 -157.50 72.50 322.50 0.424693 -157.50 72.50 327.50 1.04995 -157.50 72.50 332.50 2.15279 -157.50 72.50 337.50 3.35463 -157.50 72.50 342.50 4.13578 -157.50 72.50 347.50 4.07598 -157.50 72.50 352.50 3.34987 -157.50 72.50 357.50 2.15028 -157.50 77.50 2.50 0.514899 -157.50 77.50 7.50 0.193489 -157.50 77.50 12.50 0.0841895 -157.50 77.50 17.50 0.0665507 -157.50 77.50 22.50 0.0377708 -157.50 77.50 27.50 0.0141453 -157.50 77.50 32.50 0.00714236 -157.50 77.50 37.50 0.0104885 -157.50 77.50 42.50 0.0356938 -157.50 77.50 47.50 0.146692 -157.50 77.50 52.50 0.401136 -157.50 77.50 57.50 0.850686 -157.50 77.50 62.50 1.48843 -157.50 77.50 67.50 2.12693 -157.50 77.50 72.50 2.52736 -157.50 77.50 77.50 2.59903 -157.50 77.50 82.50 2.0119 -157.50 77.50 87.50 1.24612 -157.50 77.50 92.50 0.514899 -157.50 77.50 97.50 0.193489 -157.50 77.50 102.50 0.0841895 -157.50 77.50 107.50 0.0665507 -157.50 77.50 112.50 0.0377708 -157.50 77.50 117.50 0.0141453 -157.50 77.50 122.50 0.00714236 -157.50 77.50 127.50 0.0104886 -157.50 77.50 132.50 0.0356939 -157.50 77.50 137.50 0.146692 -157.50 77.50 142.50 0.401136 -157.50 77.50 147.50 0.850687 -157.50 77.50 152.50 1.48843 -157.50 77.50 157.50 2.12693 -157.50 77.50 162.50 2.52736 -157.50 77.50 167.50 2.59903 -157.50 77.50 172.50 2.0119 -157.50 77.50 177.50 1.24612 -157.50 77.50 182.50 0.514899 -157.50 77.50 187.50 0.193489 -157.50 77.50 192.50 0.0841895 -157.50 77.50 197.50 0.0665507 -157.50 77.50 202.50 0.0377708 -157.50 77.50 207.50 0.0141453 -157.50 77.50 212.50 0.00714236 -157.50 77.50 217.50 0.0104885 -157.50 77.50 222.50 0.0356938 -157.50 77.50 227.50 0.146692 -157.50 77.50 232.50 0.401137 -157.50 77.50 237.50 0.850688 -157.50 77.50 242.50 1.48843 -157.50 77.50 247.50 2.12693 -157.50 77.50 252.50 2.52736 -157.50 77.50 257.50 2.59903 -157.50 77.50 262.50 2.0119 -157.50 77.50 267.50 1.24612 -157.50 77.50 272.50 0.514899 -157.50 77.50 277.50 0.193489 -157.50 77.50 282.50 0.0841895 -157.50 77.50 287.50 0.0665506 -157.50 77.50 292.50 0.0377708 -157.50 77.50 297.50 0.0141453 -157.50 77.50 302.50 0.00714236 -157.50 77.50 307.50 0.0104885 -157.50 77.50 312.50 0.0356938 -157.50 77.50 317.50 0.146692 -157.50 77.50 322.50 0.401135 -157.50 77.50 327.50 0.850685 -157.50 77.50 332.50 1.48843 -157.50 77.50 337.50 2.12693 -157.50 77.50 342.50 2.52736 -157.50 77.50 347.50 2.59903 -157.50 77.50 352.50 2.0119 -157.50 77.50 357.50 1.24612 -157.50 82.50 2.50 0.221571 -157.50 82.50 7.50 0.0801705 -157.50 82.50 12.50 0.0502738 -157.50 82.50 17.50 0.0422024 -157.50 82.50 22.50 0.0299219 -157.50 82.50 27.50 0.0165146 -157.50 82.50 32.50 0.0095137 -157.50 82.50 37.50 0.00992889 -157.50 82.50 42.50 0.0303807 -157.50 82.50 47.50 0.111393 -157.50 82.50 52.50 0.292626 -157.50 82.50 57.50 0.556316 -157.50 82.50 62.50 0.835701 -157.50 82.50 67.50 1.03232 -157.50 82.50 72.50 1.12423 -157.50 82.50 77.50 1.13283 -157.50 82.50 82.50 1.05127 -157.50 82.50 87.50 0.58551 -157.50 82.50 92.50 0.221571 -157.50 82.50 97.50 0.0801705 -157.50 82.50 102.50 0.0502739 -157.50 82.50 107.50 0.0422024 -157.50 82.50 112.50 0.0299218 -157.50 82.50 117.50 0.0165146 -157.50 82.50 122.50 0.00951369 -157.50 82.50 127.50 0.00992889 -157.50 82.50 132.50 0.0303808 -157.50 82.50 137.50 0.111393 -157.50 82.50 142.50 0.292626 -157.50 82.50 147.50 0.556316 -157.50 82.50 152.50 0.835701 -157.50 82.50 157.50 1.03232 -157.50 82.50 162.50 1.12423 -157.50 82.50 167.50 1.13283 -157.50 82.50 172.50 1.05127 -157.50 82.50 177.50 0.585511 -157.50 82.50 182.50 0.221571 -157.50 82.50 187.50 0.0801704 -157.50 82.50 192.50 0.0502739 -157.50 82.50 197.50 0.0422024 -157.50 82.50 202.50 0.0299219 -157.50 82.50 207.50 0.0165146 -157.50 82.50 212.50 0.00951369 -157.50 82.50 217.50 0.00992888 -157.50 82.50 222.50 0.0303807 -157.50 82.50 227.50 0.111393 -157.50 82.50 232.50 0.292626 -157.50 82.50 237.50 0.556317 -157.50 82.50 242.50 0.835701 -157.50 82.50 247.50 1.03232 -157.50 82.50 252.50 1.12423 -157.50 82.50 257.50 1.13283 -157.50 82.50 262.50 1.05127 -157.50 82.50 267.50 0.58551 -157.50 82.50 272.50 0.221571 -157.50 82.50 277.50 0.0801705 -157.50 82.50 282.50 0.0502738 -157.50 82.50 287.50 0.0422024 -157.50 82.50 292.50 0.0299218 -157.50 82.50 297.50 0.0165146 -157.50 82.50 302.50 0.0095137 -157.50 82.50 307.50 0.00992888 -157.50 82.50 312.50 0.0303807 -157.50 82.50 317.50 0.111393 -157.50 82.50 322.50 0.292625 -157.50 82.50 327.50 0.556316 -157.50 82.50 332.50 0.8357 -157.50 82.50 337.50 1.03232 -157.50 82.50 342.50 1.12423 -157.50 82.50 347.50 1.13283 -157.50 82.50 352.50 1.05127 -157.50 82.50 357.50 0.585511 -157.50 87.50 2.50 0.0874276 -157.50 87.50 7.50 0.0449284 -157.50 87.50 12.50 0.0558491 -157.50 87.50 17.50 0.0717912 -157.50 87.50 22.50 0.0568336 -157.50 87.50 27.50 0.0355995 -157.50 87.50 32.50 0.0280813 -157.50 87.50 37.50 0.0225085 -157.50 87.50 42.50 0.0248786 -157.50 87.50 47.50 0.0570135 -157.50 87.50 52.50 0.146054 -157.50 87.50 57.50 0.289468 -157.50 87.50 62.50 0.402788 -157.50 87.50 67.50 0.420049 -157.50 87.50 72.50 0.420596 -157.50 87.50 77.50 0.437467 -157.50 87.50 82.50 0.35726 -157.50 87.50 87.50 0.245087 -157.50 87.50 92.50 0.0874276 -157.50 87.50 97.50 0.0449284 -157.50 87.50 102.50 0.0558491 -157.50 87.50 107.50 0.0717912 -157.50 87.50 112.50 0.0568336 -157.50 87.50 117.50 0.0355994 -157.50 87.50 122.50 0.0280813 -157.50 87.50 127.50 0.0225085 -157.50 87.50 132.50 0.0248786 -157.50 87.50 137.50 0.0570136 -157.50 87.50 142.50 0.146054 -157.50 87.50 147.50 0.289469 -157.50 87.50 152.50 0.402788 -157.50 87.50 157.50 0.420049 -157.50 87.50 162.50 0.420596 -157.50 87.50 167.50 0.437467 -157.50 87.50 172.50 0.35726 -157.50 87.50 177.50 0.245087 -157.50 87.50 182.50 0.0874276 -157.50 87.50 187.50 0.0449284 -157.50 87.50 192.50 0.0558491 -157.50 87.50 197.50 0.0717912 -157.50 87.50 202.50 0.0568336 -157.50 87.50 207.50 0.0355994 -157.50 87.50 212.50 0.0280813 -157.50 87.50 217.50 0.0225085 -157.50 87.50 222.50 0.0248786 -157.50 87.50 227.50 0.0570135 -157.50 87.50 232.50 0.146054 -157.50 87.50 237.50 0.289469 -157.50 87.50 242.50 0.402788 -157.50 87.50 247.50 0.420049 -157.50 87.50 252.50 0.420596 -157.50 87.50 257.50 0.437467 -157.50 87.50 262.50 0.357259 -157.50 87.50 267.50 0.245087 -157.50 87.50 272.50 0.0874276 -157.50 87.50 277.50 0.0449284 -157.50 87.50 282.50 0.055849 -157.50 87.50 287.50 0.0717912 -157.50 87.50 292.50 0.0568336 -157.50 87.50 297.50 0.0355995 -157.50 87.50 302.50 0.0280813 -157.50 87.50 307.50 0.0225085 -157.50 87.50 312.50 0.0248786 -157.50 87.50 317.50 0.0570135 -157.50 87.50 322.50 0.146053 -157.50 87.50 327.50 0.289468 -157.50 87.50 332.50 0.402788 -157.50 87.50 337.50 0.420049 -157.50 87.50 342.50 0.420596 -157.50 87.50 347.50 0.437467 -157.50 87.50 352.50 0.35726 -157.50 87.50 357.50 0.245088 -157.50 92.50 2.50 0.048522 -157.50 92.50 7.50 0.0733505 -157.50 92.50 12.50 0.116684 -157.50 92.50 17.50 0.129911 -157.50 92.50 22.50 0.121879 -157.50 92.50 27.50 0.128577 -157.50 92.50 32.50 0.130738 -157.50 92.50 37.50 0.0974755 -157.50 92.50 42.50 0.0543459 -157.50 92.50 47.50 0.0370179 -157.50 92.50 52.50 0.0543458 -157.50 92.50 57.50 0.0974755 -157.50 92.50 62.50 0.130738 -157.50 92.50 67.50 0.128577 -157.50 92.50 72.50 0.121879 -157.50 92.50 77.50 0.129911 -157.50 92.50 82.50 0.116684 -157.50 92.50 87.50 0.0733504 -157.50 92.50 92.50 0.0485219 -157.50 92.50 97.50 0.0733504 -157.50 92.50 102.50 0.116684 -157.50 92.50 107.50 0.129911 -157.50 92.50 112.50 0.121879 -157.50 92.50 117.50 0.128577 -157.50 92.50 122.50 0.130738 -157.50 92.50 127.50 0.0974755 -157.50 92.50 132.50 0.0543458 -157.50 92.50 137.50 0.0370179 -157.50 92.50 142.50 0.0543458 -157.50 92.50 147.50 0.0974755 -157.50 92.50 152.50 0.130738 -157.50 92.50 157.50 0.128577 -157.50 92.50 162.50 0.121879 -157.50 92.50 167.50 0.129911 -157.50 92.50 172.50 0.116684 -157.50 92.50 177.50 0.0733505 -157.50 92.50 182.50 0.0485219 -157.50 92.50 187.50 0.0733505 -157.50 92.50 192.50 0.116684 -157.50 92.50 197.50 0.129911 -157.50 92.50 202.50 0.121879 -157.50 92.50 207.50 0.128577 -157.50 92.50 212.50 0.130738 -157.50 92.50 217.50 0.0974756 -157.50 92.50 222.50 0.0543459 -157.50 92.50 227.50 0.0370179 -157.50 92.50 232.50 0.0543459 -157.50 92.50 237.50 0.0974756 -157.50 92.50 242.50 0.130738 -157.50 92.50 247.50 0.128577 -157.50 92.50 252.50 0.121879 -157.50 92.50 257.50 0.129911 -157.50 92.50 262.50 0.116684 -157.50 92.50 267.50 0.0733504 -157.50 92.50 272.50 0.048522 -157.50 92.50 277.50 0.0733505 -157.50 92.50 282.50 0.116684 -157.50 92.50 287.50 0.129911 -157.50 92.50 292.50 0.121879 -157.50 92.50 297.50 0.128577 -157.50 92.50 302.50 0.130738 -157.50 92.50 307.50 0.0974756 -157.50 92.50 312.50 0.0543459 -157.50 92.50 317.50 0.0370179 -157.50 92.50 322.50 0.0543457 -157.50 92.50 327.50 0.0974753 -157.50 92.50 332.50 0.130738 -157.50 92.50 337.50 0.128577 -157.50 92.50 342.50 0.121878 -157.50 92.50 347.50 0.129911 -157.50 92.50 352.50 0.116684 -157.50 92.50 357.50 0.0733505 -157.50 97.50 2.50 0.0874277 -157.50 97.50 7.50 0.245087 -157.50 97.50 12.50 0.35726 -157.50 97.50 17.50 0.437467 -157.50 97.50 22.50 0.420596 -157.50 97.50 27.50 0.420049 -157.50 97.50 32.50 0.402788 -157.50 97.50 37.50 0.289468 -157.50 97.50 42.50 0.146054 -157.50 97.50 47.50 0.0570135 -157.50 97.50 52.50 0.0248786 -157.50 97.50 57.50 0.0225085 -157.50 97.50 62.50 0.0280813 -157.50 97.50 67.50 0.0355995 -157.50 97.50 72.50 0.0568336 -157.50 97.50 77.50 0.0717913 -157.50 97.50 82.50 0.0558491 -157.50 97.50 87.50 0.0449284 -157.50 97.50 92.50 0.0874276 -157.50 97.50 97.50 0.245087 -157.50 97.50 102.50 0.35726 -157.50 97.50 107.50 0.437467 -157.50 97.50 112.50 0.420596 -157.50 97.50 117.50 0.420048 -157.50 97.50 122.50 0.402788 -157.50 97.50 127.50 0.289468 -157.50 97.50 132.50 0.146053 -157.50 97.50 137.50 0.0570135 -157.50 97.50 142.50 0.0248786 -157.50 97.50 147.50 0.0225085 -157.50 97.50 152.50 0.0280813 -157.50 97.50 157.50 0.0355995 -157.50 97.50 162.50 0.0568336 -157.50 97.50 167.50 0.0717912 -157.50 97.50 172.50 0.0558491 -157.50 97.50 177.50 0.0449284 -157.50 97.50 182.50 0.0874276 -157.50 97.50 187.50 0.245087 -157.50 97.50 192.50 0.35726 -157.50 97.50 197.50 0.437467 -157.50 97.50 202.50 0.420596 -157.50 97.50 207.50 0.420049 -157.50 97.50 212.50 0.402788 -157.50 97.50 217.50 0.289468 -157.50 97.50 222.50 0.146054 -157.50 97.50 227.50 0.0570136 -157.50 97.50 232.50 0.0248785 -157.50 97.50 237.50 0.0225085 -157.50 97.50 242.50 0.0280813 -157.50 97.50 247.50 0.0355995 -157.50 97.50 252.50 0.0568336 -157.50 97.50 257.50 0.0717913 -157.50 97.50 262.50 0.055849 -157.50 97.50 267.50 0.0449284 -157.50 97.50 272.50 0.0874277 -157.50 97.50 277.50 0.245087 -157.50 97.50 282.50 0.35726 -157.50 97.50 287.50 0.437467 -157.50 97.50 292.50 0.420596 -157.50 97.50 297.50 0.420049 -157.50 97.50 302.50 0.402788 -157.50 97.50 307.50 0.289468 -157.50 97.50 312.50 0.146054 -157.50 97.50 317.50 0.0570136 -157.50 97.50 322.50 0.0248786 -157.50 97.50 327.50 0.0225085 -157.50 97.50 332.50 0.0280813 -157.50 97.50 337.50 0.0355995 -157.50 97.50 342.50 0.0568335 -157.50 97.50 347.50 0.0717912 -157.50 97.50 352.50 0.0558491 -157.50 97.50 357.50 0.0449284 -157.50 102.50 2.50 0.221571 -157.50 102.50 7.50 0.585511 -157.50 102.50 12.50 1.05127 -157.50 102.50 17.50 1.13283 -157.50 102.50 22.50 1.12423 -157.50 102.50 27.50 1.03232 -157.50 102.50 32.50 0.8357 -157.50 102.50 37.50 0.556316 -157.50 102.50 42.50 0.292626 -157.50 102.50 47.50 0.111393 -157.50 102.50 52.50 0.0303807 -157.50 102.50 57.50 0.00992888 -157.50 102.50 62.50 0.0095137 -157.50 102.50 67.50 0.0165146 -157.50 102.50 72.50 0.0299219 -157.50 102.50 77.50 0.0422024 -157.50 102.50 82.50 0.0502739 -157.50 102.50 87.50 0.0801705 -157.50 102.50 92.50 0.221571 -157.50 102.50 97.50 0.58551 -157.50 102.50 102.50 1.05127 -157.50 102.50 107.50 1.13283 -157.50 102.50 112.50 1.12423 -157.50 102.50 117.50 1.03232 -157.50 102.50 122.50 0.8357 -157.50 102.50 127.50 0.556316 -157.50 102.50 132.50 0.292626 -157.50 102.50 137.50 0.111393 -157.50 102.50 142.50 0.0303807 -157.50 102.50 147.50 0.00992888 -157.50 102.50 152.50 0.0095137 -157.50 102.50 157.50 0.0165146 -157.50 102.50 162.50 0.0299218 -157.50 102.50 167.50 0.0422023 -157.50 102.50 172.50 0.0502739 -157.50 102.50 177.50 0.0801704 -157.50 102.50 182.50 0.221571 -157.50 102.50 187.50 0.58551 -157.50 102.50 192.50 1.05127 -157.50 102.50 197.50 1.13283 -157.50 102.50 202.50 1.12423 -157.50 102.50 207.50 1.03232 -157.50 102.50 212.50 0.8357 -157.50 102.50 217.50 0.556316 -157.50 102.50 222.50 0.292626 -157.50 102.50 227.50 0.111393 -157.50 102.50 232.50 0.0303806 -157.50 102.50 237.50 0.00992888 -157.50 102.50 242.50 0.0095137 -157.50 102.50 247.50 0.0165146 -157.50 102.50 252.50 0.0299219 -157.50 102.50 257.50 0.0422023 -157.50 102.50 262.50 0.0502738 -157.50 102.50 267.50 0.0801706 -157.50 102.50 272.50 0.221571 -157.50 102.50 277.50 0.58551 -157.50 102.50 282.50 1.05127 -157.50 102.50 287.50 1.13283 -157.50 102.50 292.50 1.12423 -157.50 102.50 297.50 1.03232 -157.50 102.50 302.50 0.8357 -157.50 102.50 307.50 0.556316 -157.50 102.50 312.50 0.292626 -157.50 102.50 317.50 0.111393 -157.50 102.50 322.50 0.0303808 -157.50 102.50 327.50 0.0099289 -157.50 102.50 332.50 0.00951369 -157.50 102.50 337.50 0.0165146 -157.50 102.50 342.50 0.0299218 -157.50 102.50 347.50 0.0422023 -157.50 102.50 352.50 0.0502738 -157.50 102.50 357.50 0.0801703 -157.50 107.50 2.50 0.514899 -157.50 107.50 7.50 1.24612 -157.50 107.50 12.50 2.0119 -157.50 107.50 17.50 2.59903 -157.50 107.50 22.50 2.52736 -157.50 107.50 27.50 2.12693 -157.50 107.50 32.50 1.48843 -157.50 107.50 37.50 0.850685 -157.50 107.50 42.50 0.401136 -157.50 107.50 47.50 0.146692 -157.50 107.50 52.50 0.0356937 -157.50 107.50 57.50 0.0104885 -157.50 107.50 62.50 0.00714236 -157.50 107.50 67.50 0.0141453 -157.50 107.50 72.50 0.0377709 -157.50 107.50 77.50 0.0665507 -157.50 107.50 82.50 0.0841896 -157.50 107.50 87.50 0.193489 -157.50 107.50 92.50 0.514899 -157.50 107.50 97.50 1.24612 -157.50 107.50 102.50 2.0119 -157.50 107.50 107.50 2.59903 -157.50 107.50 112.50 2.52736 -157.50 107.50 117.50 2.12693 -157.50 107.50 122.50 1.48843 -157.50 107.50 127.50 0.850685 -157.50 107.50 132.50 0.401136 -157.50 107.50 137.50 0.146692 -157.50 107.50 142.50 0.0356938 -157.50 107.50 147.50 0.0104885 -157.50 107.50 152.50 0.00714235 -157.50 107.50 157.50 0.0141453 -157.50 107.50 162.50 0.0377708 -157.50 107.50 167.50 0.0665506 -157.50 107.50 172.50 0.0841894 -157.50 107.50 177.50 0.193489 -157.50 107.50 182.50 0.514899 -157.50 107.50 187.50 1.24612 -157.50 107.50 192.50 2.0119 -157.50 107.50 197.50 2.59903 -157.50 107.50 202.50 2.52736 -157.50 107.50 207.50 2.12693 -157.50 107.50 212.50 1.48843 -157.50 107.50 217.50 0.850686 -157.50 107.50 222.50 0.401136 -157.50 107.50 227.50 0.146692 -157.50 107.50 232.50 0.0356936 -157.50 107.50 237.50 0.0104885 -157.50 107.50 242.50 0.00714236 -157.50 107.50 247.50 0.0141453 -157.50 107.50 252.50 0.0377709 -157.50 107.50 257.50 0.0665507 -157.50 107.50 262.50 0.0841894 -157.50 107.50 267.50 0.19349 -157.50 107.50 272.50 0.514899 -157.50 107.50 277.50 1.24612 -157.50 107.50 282.50 2.0119 -157.50 107.50 287.50 2.59903 -157.50 107.50 292.50 2.52736 -157.50 107.50 297.50 2.12693 -157.50 107.50 302.50 1.48843 -157.50 107.50 307.50 0.850686 -157.50 107.50 312.50 0.401136 -157.50 107.50 317.50 0.146692 -157.50 107.50 322.50 0.0356939 -157.50 107.50 327.50 0.0104886 -157.50 107.50 332.50 0.00714235 -157.50 107.50 337.50 0.0141453 -157.50 107.50 342.50 0.0377708 -157.50 107.50 347.50 0.0665507 -157.50 107.50 352.50 0.0841894 -157.50 107.50 357.50 0.193489 -157.50 112.50 2.50 1.04915 -157.50 112.50 7.50 2.15028 -157.50 112.50 12.50 3.34987 -157.50 112.50 17.50 4.07598 -157.50 112.50 22.50 4.13578 -157.50 112.50 27.50 3.35463 -157.50 112.50 32.50 2.15279 -157.50 112.50 37.50 1.04996 -157.50 112.50 42.50 0.424694 -157.50 112.50 47.50 0.150845 -157.50 112.50 52.50 0.0386529 -157.50 112.50 57.50 0.00809183 -157.50 112.50 62.50 0.00658604 -157.50 112.50 67.50 0.0206744 -157.50 112.50 72.50 0.0564973 -157.50 112.50 77.50 0.0837818 -157.50 112.50 82.50 0.180152 -157.50 112.50 87.50 0.418788 -157.50 112.50 92.50 1.04915 -157.50 112.50 97.50 2.15028 -157.50 112.50 102.50 3.34987 -157.50 112.50 107.50 4.07598 -157.50 112.50 112.50 4.13578 -157.50 112.50 117.50 3.35463 -157.50 112.50 122.50 2.15279 -157.50 112.50 127.50 1.04995 -157.50 112.50 132.50 0.424693 -157.50 112.50 137.50 0.150845 -157.50 112.50 142.50 0.0386529 -157.50 112.50 147.50 0.00809184 -157.50 112.50 152.50 0.00658603 -157.50 112.50 157.50 0.0206744 -157.50 112.50 162.50 0.0564973 -157.50 112.50 167.50 0.0837817 -157.50 112.50 172.50 0.180152 -157.50 112.50 177.50 0.418788 -157.50 112.50 182.50 1.04915 -157.50 112.50 187.50 2.15028 -157.50 112.50 192.50 3.34987 -157.50 112.50 197.50 4.07598 -157.50 112.50 202.50 4.13578 -157.50 112.50 207.50 3.35463 -157.50 112.50 212.50 2.15279 -157.50 112.50 217.50 1.04996 -157.50 112.50 222.50 0.424695 -157.50 112.50 227.50 0.150845 -157.50 112.50 232.50 0.0386527 -157.50 112.50 237.50 0.00809179 -157.50 112.50 242.50 0.00658603 -157.50 112.50 247.50 0.0206744 -157.50 112.50 252.50 0.0564973 -157.50 112.50 257.50 0.0837818 -157.50 112.50 262.50 0.180153 -157.50 112.50 267.50 0.418788 -157.50 112.50 272.50 1.04915 -157.50 112.50 277.50 2.15028 -157.50 112.50 282.50 3.34987 -157.50 112.50 287.50 4.07598 -157.50 112.50 292.50 4.13578 -157.50 112.50 297.50 3.35463 -157.50 112.50 302.50 2.15279 -157.50 112.50 307.50 1.04996 -157.50 112.50 312.50 0.424695 -157.50 112.50 317.50 0.150845 -157.50 112.50 322.50 0.038653 -157.50 112.50 327.50 0.00809188 -157.50 112.50 332.50 0.00658603 -157.50 112.50 337.50 0.0206743 -157.50 112.50 342.50 0.0564972 -157.50 112.50 347.50 0.0837816 -157.50 112.50 352.50 0.180152 -157.50 112.50 357.50 0.418787 -157.50 117.50 2.50 1.82434 -157.50 117.50 7.50 3.30736 -157.50 117.50 12.50 4.60096 -157.50 117.50 17.50 5.30437 -157.50 117.50 22.50 5.05497 -157.50 117.50 27.50 3.86145 -157.50 117.50 32.50 2.34372 -157.50 117.50 37.50 1.07266 -157.50 117.50 42.50 0.384125 -157.50 117.50 47.50 0.11112 -157.50 117.50 52.50 0.0274633 -157.50 117.50 57.50 0.00540732 -157.50 117.50 62.50 0.00665764 -157.50 117.50 67.50 0.0243377 -157.50 117.50 72.50 0.0593759 -157.50 117.50 77.50 0.146936 -157.50 117.50 82.50 0.374927 -157.50 117.50 87.50 0.828257 -157.50 117.50 92.50 1.82434 -157.50 117.50 97.50 3.30735 -157.50 117.50 102.50 4.60096 -157.50 117.50 107.50 5.30437 -157.50 117.50 112.50 5.05496 -157.50 117.50 117.50 3.86145 -157.50 117.50 122.50 2.34372 -157.50 117.50 127.50 1.07266 -157.50 117.50 132.50 0.384125 -157.50 117.50 137.50 0.11112 -157.50 117.50 142.50 0.0274633 -157.50 117.50 147.50 0.00540732 -157.50 117.50 152.50 0.00665763 -157.50 117.50 157.50 0.0243377 -157.50 117.50 162.50 0.0593759 -157.50 117.50 167.50 0.146936 -157.50 117.50 172.50 0.374926 -157.50 117.50 177.50 0.828256 -157.50 117.50 182.50 1.82434 -157.50 117.50 187.50 3.30735 -157.50 117.50 192.50 4.60096 -157.50 117.50 197.50 5.30437 -157.50 117.50 202.50 5.05497 -157.50 117.50 207.50 3.86145 -157.50 117.50 212.50 2.34372 -157.50 117.50 217.50 1.07266 -157.50 117.50 222.50 0.384125 -157.50 117.50 227.50 0.11112 -157.50 117.50 232.50 0.0274633 -157.50 117.50 237.50 0.00540732 -157.50 117.50 242.50 0.00665765 -157.50 117.50 247.50 0.0243377 -157.50 117.50 252.50 0.059376 -157.50 117.50 257.50 0.146936 -157.50 117.50 262.50 0.374927 -157.50 117.50 267.50 0.828258 -157.50 117.50 272.50 1.82434 -157.50 117.50 277.50 3.30735 -157.50 117.50 282.50 4.60096 -157.50 117.50 287.50 5.30437 -157.50 117.50 292.50 5.05497 -157.50 117.50 297.50 3.86145 -157.50 117.50 302.50 2.34372 -157.50 117.50 307.50 1.07266 -157.50 117.50 312.50 0.384126 -157.50 117.50 317.50 0.11112 -157.50 117.50 322.50 0.0274634 -157.50 117.50 327.50 0.00540733 -157.50 117.50 332.50 0.00665759 -157.50 117.50 337.50 0.0243376 -157.50 117.50 342.50 0.0593758 -157.50 117.50 347.50 0.146936 -157.50 117.50 352.50 0.374926 -157.50 117.50 357.50 0.828256 -157.50 122.50 2.50 2.76505 -157.50 122.50 7.50 4.4001 -157.50 122.50 12.50 5.45371 -157.50 122.50 17.50 5.73607 -157.50 122.50 22.50 4.99965 -157.50 122.50 27.50 3.60304 -157.50 122.50 32.50 1.96485 -157.50 122.50 37.50 0.838124 -157.50 122.50 42.50 0.237939 -157.50 122.50 47.50 0.0497144 -157.50 122.50 52.50 0.0111846 -157.50 122.50 57.50 0.00573944 -157.50 122.50 62.50 0.0170952 -157.50 122.50 67.50 0.0450436 -157.50 122.50 72.50 0.124567 -157.50 122.50 77.50 0.330643 -157.50 122.50 82.50 0.762585 -157.50 122.50 87.50 1.50963 -157.50 122.50 92.50 2.76505 -157.50 122.50 97.50 4.4001 -157.50 122.50 102.50 5.45371 -157.50 122.50 107.50 5.73607 -157.50 122.50 112.50 4.99965 -157.50 122.50 117.50 3.60304 -157.50 122.50 122.50 1.96485 -157.50 122.50 127.50 0.838123 -157.50 122.50 132.50 0.237939 -157.50 122.50 137.50 0.0497144 -157.50 122.50 142.50 0.0111845 -157.50 122.50 147.50 0.00573944 -157.50 122.50 152.50 0.0170952 -157.50 122.50 157.50 0.0450435 -157.50 122.50 162.50 0.124567 -157.50 122.50 167.50 0.330642 -157.50 122.50 172.50 0.762584 -157.50 122.50 177.50 1.50963 -157.50 122.50 182.50 2.76505 -157.50 122.50 187.50 4.4001 -157.50 122.50 192.50 5.45371 -157.50 122.50 197.50 5.73607 -157.50 122.50 202.50 4.99965 -157.50 122.50 207.50 3.60304 -157.50 122.50 212.50 1.96485 -157.50 122.50 217.50 0.838125 -157.50 122.50 222.50 0.237939 -157.50 122.50 227.50 0.0497145 -157.50 122.50 232.50 0.0111845 -157.50 122.50 237.50 0.00573944 -157.50 122.50 242.50 0.0170952 -157.50 122.50 247.50 0.0450436 -157.50 122.50 252.50 0.124567 -157.50 122.50 257.50 0.330643 -157.50 122.50 262.50 0.762585 -157.50 122.50 267.50 1.50963 -157.50 122.50 272.50 2.76505 -157.50 122.50 277.50 4.4001 -157.50 122.50 282.50 5.45371 -157.50 122.50 287.50 5.73608 -157.50 122.50 292.50 4.99965 -157.50 122.50 297.50 3.60304 -157.50 122.50 302.50 1.96486 -157.50 122.50 307.50 0.838125 -157.50 122.50 312.50 0.23794 -157.50 122.50 317.50 0.0497146 -157.50 122.50 322.50 0.0111846 -157.50 122.50 327.50 0.00573943 -157.50 122.50 332.50 0.0170952 -157.50 122.50 337.50 0.0450434 -157.50 122.50 342.50 0.124567 -157.50 122.50 347.50 0.330642 -157.50 122.50 352.50 0.762583 -157.50 122.50 357.50 1.50962 -157.50 127.50 2.50 3.78322 -157.50 127.50 7.50 5.09998 -157.50 127.50 12.50 5.66989 -157.50 127.50 17.50 5.20794 -157.50 127.50 22.50 4.10428 -157.50 127.50 27.50 2.66685 -157.50 127.50 32.50 1.36783 -157.50 127.50 37.50 0.496881 -157.50 127.50 42.50 0.130981 -157.50 127.50 47.50 0.0254932 -157.50 127.50 52.50 0.00479201 -157.50 127.50 57.50 0.0103397 -157.50 127.50 62.50 0.0449127 -157.50 127.50 67.50 0.129212 -157.50 127.50 72.50 0.323166 -157.50 127.50 77.50 0.731469 -157.50 127.50 82.50 1.45217 -157.50 127.50 87.50 2.53104 -157.50 127.50 92.50 3.78322 -157.50 127.50 97.50 5.09998 -157.50 127.50 102.50 5.66989 -157.50 127.50 107.50 5.20794 -157.50 127.50 112.50 4.10428 -157.50 127.50 117.50 2.66685 -157.50 127.50 122.50 1.36783 -157.50 127.50 127.50 0.49688 -157.50 127.50 132.50 0.130981 -157.50 127.50 137.50 0.0254932 -157.50 127.50 142.50 0.00479201 -157.50 127.50 147.50 0.0103397 -157.50 127.50 152.50 0.0449127 -157.50 127.50 157.50 0.129212 -157.50 127.50 162.50 0.323166 -157.50 127.50 167.50 0.731469 -157.50 127.50 172.50 1.45216 -157.50 127.50 177.50 2.53104 -157.50 127.50 182.50 3.78322 -157.50 127.50 187.50 5.09999 -157.50 127.50 192.50 5.6699 -157.50 127.50 197.50 5.20794 -157.50 127.50 202.50 4.10428 -157.50 127.50 207.50 2.66685 -157.50 127.50 212.50 1.36783 -157.50 127.50 217.50 0.496881 -157.50 127.50 222.50 0.130981 -157.50 127.50 227.50 0.0254932 -157.50 127.50 232.50 0.00479201 -157.50 127.50 237.50 0.0103397 -157.50 127.50 242.50 0.0449127 -157.50 127.50 247.50 0.129212 -157.50 127.50 252.50 0.323166 -157.50 127.50 257.50 0.73147 -157.50 127.50 262.50 1.45217 -157.50 127.50 267.50 2.53104 -157.50 127.50 272.50 3.78322 -157.50 127.50 277.50 5.09998 -157.50 127.50 282.50 5.6699 -157.50 127.50 287.50 5.20794 -157.50 127.50 292.50 4.10428 -157.50 127.50 297.50 2.66685 -157.50 127.50 302.50 1.36783 -157.50 127.50 307.50 0.496882 -157.50 127.50 312.50 0.130981 -157.50 127.50 317.50 0.0254933 -157.50 127.50 322.50 0.00479201 -157.50 127.50 327.50 0.0103397 -157.50 127.50 332.50 0.0449127 -157.50 127.50 337.50 0.129212 -157.50 127.50 342.50 0.323165 -157.50 127.50 347.50 0.731468 -157.50 127.50 352.50 1.45216 -157.50 127.50 357.50 2.53104 -157.50 132.50 2.50 4.66762 -157.50 132.50 7.50 5.26632 -157.50 132.50 12.50 5.20289 -157.50 132.50 17.50 4.16698 -157.50 132.50 22.50 2.8728 -157.50 132.50 27.50 1.62258 -157.50 132.50 32.50 0.749231 -157.50 132.50 37.50 0.259457 -157.50 132.50 42.50 0.0598363 -157.50 132.50 47.50 0.0095044 -157.50 132.50 52.50 0.00713903 -157.50 132.50 57.50 0.0315213 -157.50 132.50 62.50 0.0962727 -157.50 132.50 67.50 0.297183 -157.50 132.50 72.50 0.704984 -157.50 132.50 77.50 1.35811 -157.50 132.50 82.50 2.38046 -157.50 132.50 87.50 3.66233 -157.50 132.50 92.50 4.66762 -157.50 132.50 97.50 5.26632 -157.50 132.50 102.50 5.20289 -157.50 132.50 107.50 4.16698 -157.50 132.50 112.50 2.8728 -157.50 132.50 117.50 1.62258 -157.50 132.50 122.50 0.74923 -157.50 132.50 127.50 0.259457 -157.50 132.50 132.50 0.0598363 -157.50 132.50 137.50 0.00950439 -157.50 132.50 142.50 0.00713902 -157.50 132.50 147.50 0.0315213 -157.50 132.50 152.50 0.0962725 -157.50 132.50 157.50 0.297182 -157.50 132.50 162.50 0.704983 -157.50 132.50 167.50 1.35811 -157.50 132.50 172.50 2.38045 -157.50 132.50 177.50 3.66233 -157.50 132.50 182.50 4.66762 -157.50 132.50 187.50 5.26632 -157.50 132.50 192.50 5.20289 -157.50 132.50 197.50 4.16698 -157.50 132.50 202.50 2.87281 -157.50 132.50 207.50 1.62258 -157.50 132.50 212.50 0.749231 -157.50 132.50 217.50 0.259457 -157.50 132.50 222.50 0.0598364 -157.50 132.50 227.50 0.00950441 -157.50 132.50 232.50 0.00713904 -157.50 132.50 237.50 0.0315214 -157.50 132.50 242.50 0.0962727 -157.50 132.50 247.50 0.297183 -157.50 132.50 252.50 0.704984 -157.50 132.50 257.50 1.35811 -157.50 132.50 262.50 2.38046 -157.50 132.50 267.50 3.66233 -157.50 132.50 272.50 4.66762 -157.50 132.50 277.50 5.26632 -157.50 132.50 282.50 5.20289 -157.50 132.50 287.50 4.16698 -157.50 132.50 292.50 2.87281 -157.50 132.50 297.50 1.62258 -157.50 132.50 302.50 0.749232 -157.50 132.50 307.50 0.259457 -157.50 132.50 312.50 0.0598364 -157.50 132.50 317.50 0.00950442 -157.50 132.50 322.50 0.00713902 -157.50 132.50 327.50 0.0315213 -157.50 132.50 332.50 0.0962724 -157.50 132.50 337.50 0.297182 -157.50 132.50 342.50 0.704982 -157.50 132.50 347.50 1.35811 -157.50 132.50 352.50 2.38045 -157.50 132.50 357.50 3.66232 -157.50 137.50 2.50 5.03542 -157.50 137.50 7.50 4.9263 -157.50 137.50 12.50 4.25358 -157.50 137.50 17.50 2.98267 -157.50 137.50 22.50 1.74613 -157.50 137.50 27.50 0.817871 -157.50 137.50 32.50 0.325678 -157.50 137.50 37.50 0.104638 -157.50 137.50 42.50 0.0192789 -157.50 137.50 47.50 0.00632723 -157.50 137.50 52.50 0.0128841 -157.50 137.50 57.50 0.0622876 -157.50 137.50 62.50 0.212702 -157.50 137.50 67.50 0.565487 -157.50 137.50 72.50 1.24718 -157.50 137.50 77.50 2.07806 -157.50 137.50 82.50 3.17018 -157.50 137.50 87.50 4.37516 -157.50 137.50 92.50 5.03542 -157.50 137.50 97.50 4.9263 -157.50 137.50 102.50 4.25359 -157.50 137.50 107.50 2.98267 -157.50 137.50 112.50 1.74612 -157.50 137.50 117.50 0.817871 -157.50 137.50 122.50 0.325678 -157.50 137.50 127.50 0.104638 -157.50 137.50 132.50 0.0192789 -157.50 137.50 137.50 0.00632723 -157.50 137.50 142.50 0.0128841 -157.50 137.50 147.50 0.0622876 -157.50 137.50 152.50 0.212702 -157.50 137.50 157.50 0.565486 -157.50 137.50 162.50 1.24718 -157.50 137.50 167.50 2.07805 -157.50 137.50 172.50 3.17018 -157.50 137.50 177.50 4.37515 -157.50 137.50 182.50 5.03542 -157.50 137.50 187.50 4.92631 -157.50 137.50 192.50 4.25359 -157.50 137.50 197.50 2.98267 -157.50 137.50 202.50 1.74612 -157.50 137.50 207.50 0.817872 -157.50 137.50 212.50 0.325678 -157.50 137.50 217.50 0.104638 -157.50 137.50 222.50 0.019279 -157.50 137.50 227.50 0.00632722 -157.50 137.50 232.50 0.0128841 -157.50 137.50 237.50 0.0622877 -157.50 137.50 242.50 0.212703 -157.50 137.50 247.50 0.565488 -157.50 137.50 252.50 1.24718 -157.50 137.50 257.50 2.07806 -157.50 137.50 262.50 3.17018 -157.50 137.50 267.50 4.37516 -157.50 137.50 272.50 5.03542 -157.50 137.50 277.50 4.9263 -157.50 137.50 282.50 4.25359 -157.50 137.50 287.50 2.98267 -157.50 137.50 292.50 1.74612 -157.50 137.50 297.50 0.817872 -157.50 137.50 302.50 0.325679 -157.50 137.50 307.50 0.104638 -157.50 137.50 312.50 0.019279 -157.50 137.50 317.50 0.00632723 -157.50 137.50 322.50 0.0128841 -157.50 137.50 327.50 0.0622874 -157.50 137.50 332.50 0.212702 -157.50 137.50 337.50 0.565485 -157.50 137.50 342.50 1.24718 -157.50 137.50 347.50 2.07805 -157.50 137.50 352.50 3.17018 -157.50 137.50 357.50 4.37515 -157.50 142.50 2.50 4.66762 -157.50 142.50 7.50 4.11607 -157.50 142.50 12.50 3.10303 -157.50 142.50 17.50 1.92656 -157.50 142.50 22.50 0.9483 -157.50 142.50 27.50 0.367172 -157.50 142.50 32.50 0.121203 -157.50 142.50 37.50 0.0339057 -157.50 142.50 42.50 0.00749391 -157.50 142.50 47.50 0.0061391 -157.50 142.50 52.50 0.0261247 -157.50 142.50 57.50 0.109017 -157.50 142.50 62.50 0.362472 -157.50 142.50 67.50 0.924131 -157.50 142.50 72.50 1.73472 -157.50 142.50 77.50 2.57939 -157.50 142.50 82.50 3.48816 -157.50 142.50 87.50 4.3612 -157.50 142.50 92.50 4.66762 -157.50 142.50 97.50 4.11607 -157.50 142.50 102.50 3.10303 -157.50 142.50 107.50 1.92656 -157.50 142.50 112.50 0.9483 -157.50 142.50 117.50 0.367172 -157.50 142.50 122.50 0.121203 -157.50 142.50 127.50 0.0339057 -157.50 142.50 132.50 0.00749391 -157.50 142.50 137.50 0.00613909 -157.50 142.50 142.50 0.0261247 -157.50 142.50 147.50 0.109017 -157.50 142.50 152.50 0.362471 -157.50 142.50 157.50 0.92413 -157.50 142.50 162.50 1.73472 -157.50 142.50 167.50 2.57939 -157.50 142.50 172.50 3.48816 -157.50 142.50 177.50 4.3612 -157.50 142.50 182.50 4.66762 -157.50 142.50 187.50 4.11607 -157.50 142.50 192.50 3.10303 -157.50 142.50 197.50 1.92656 -157.50 142.50 202.50 0.9483 -157.50 142.50 207.50 0.367172 -157.50 142.50 212.50 0.121203 -157.50 142.50 217.50 0.0339057 -157.50 142.50 222.50 0.00749391 -157.50 142.50 227.50 0.00613908 -157.50 142.50 232.50 0.0261247 -157.50 142.50 237.50 0.109017 -157.50 142.50 242.50 0.362472 -157.50 142.50 247.50 0.924132 -157.50 142.50 252.50 1.73472 -157.50 142.50 257.50 2.57939 -157.50 142.50 262.50 3.48816 -157.50 142.50 267.50 4.3612 -157.50 142.50 272.50 4.66762 -157.50 142.50 277.50 4.11607 -157.50 142.50 282.50 3.10303 -157.50 142.50 287.50 1.92656 -157.50 142.50 292.50 0.948301 -157.50 142.50 297.50 0.367173 -157.50 142.50 302.50 0.121203 -157.50 142.50 307.50 0.0339057 -157.50 142.50 312.50 0.00749392 -157.50 142.50 317.50 0.00613908 -157.50 142.50 322.50 0.0261246 -157.50 142.50 327.50 0.109017 -157.50 142.50 332.50 0.362471 -157.50 142.50 337.50 0.924129 -157.50 142.50 342.50 1.73471 -157.50 142.50 347.50 2.57938 -157.50 142.50 352.50 3.48815 -157.50 142.50 357.50 4.3612 -157.50 147.50 2.50 3.78322 -157.50 147.50 7.50 3.05865 -157.50 147.50 12.50 2.02937 -157.50 147.50 17.50 1.11133 -157.50 147.50 22.50 0.470414 -157.50 147.50 27.50 0.153926 -157.50 147.50 32.50 0.0418858 -157.50 147.50 37.50 0.010953 -157.50 147.50 42.50 0.00654008 -157.50 147.50 47.50 0.0180068 -157.50 147.50 52.50 0.0588691 -157.50 147.50 57.50 0.19603 -157.50 147.50 62.50 0.555868 -157.50 147.50 67.50 1.21261 -157.50 147.50 72.50 1.9939 -157.50 147.50 77.50 2.66563 -157.50 147.50 82.50 3.28849 -157.50 147.50 87.50 3.78813 -157.50 147.50 92.50 3.78322 -157.50 147.50 97.50 3.05865 -157.50 147.50 102.50 2.02937 -157.50 147.50 107.50 1.11133 -157.50 147.50 112.50 0.470414 -157.50 147.50 117.50 0.153925 -157.50 147.50 122.50 0.0418858 -157.50 147.50 127.50 0.010953 -157.50 147.50 132.50 0.00654008 -157.50 147.50 137.50 0.0180067 -157.50 147.50 142.50 0.058869 -157.50 147.50 147.50 0.19603 -157.50 147.50 152.50 0.555867 -157.50 147.50 157.50 1.21261 -157.50 147.50 162.50 1.9939 -157.50 147.50 167.50 2.66563 -157.50 147.50 172.50 3.28849 -157.50 147.50 177.50 3.78813 -157.50 147.50 182.50 3.78322 -157.50 147.50 187.50 3.05865 -157.50 147.50 192.50 2.02937 -157.50 147.50 197.50 1.11133 -157.50 147.50 202.50 0.470414 -157.50 147.50 207.50 0.153926 -157.50 147.50 212.50 0.0418858 -157.50 147.50 217.50 0.010953 -157.50 147.50 222.50 0.00654008 -157.50 147.50 227.50 0.0180067 -157.50 147.50 232.50 0.0588691 -157.50 147.50 237.50 0.19603 -157.50 147.50 242.50 0.555868 -157.50 147.50 247.50 1.21261 -157.50 147.50 252.50 1.9939 -157.50 147.50 257.50 2.66563 -157.50 147.50 262.50 3.28849 -157.50 147.50 267.50 3.78813 -157.50 147.50 272.50 3.78322 -157.50 147.50 277.50 3.05865 -157.50 147.50 282.50 2.02937 -157.50 147.50 287.50 1.11133 -157.50 147.50 292.50 0.470414 -157.50 147.50 297.50 0.153926 -157.50 147.50 302.50 0.0418859 -157.50 147.50 307.50 0.0109531 -157.50 147.50 312.50 0.00654008 -157.50 147.50 317.50 0.0180067 -157.50 147.50 322.50 0.0588689 -157.50 147.50 327.50 0.196029 -157.50 147.50 332.50 0.555867 -157.50 147.50 337.50 1.21261 -157.50 147.50 342.50 1.9939 -157.50 147.50 347.50 2.66563 -157.50 147.50 352.50 3.28849 -157.50 147.50 357.50 3.78813 -157.50 152.50 2.50 2.76505 -157.50 152.50 7.50 2.07379 -157.50 152.50 12.50 1.30488 -157.50 152.50 17.50 0.618997 -157.50 152.50 22.50 0.245777 -157.50 152.50 27.50 0.0647093 -157.50 152.50 32.50 0.0159058 -157.50 152.50 37.50 0.00538732 -157.50 152.50 42.50 0.0124351 -157.50 152.50 47.50 0.0483448 -157.50 152.50 52.50 0.136774 -157.50 152.50 57.50 0.334403 -157.50 152.50 62.50 0.7632 -157.50 152.50 67.50 1.42938 -157.50 152.50 72.50 2.04972 -157.50 152.50 77.50 2.49158 -157.50 152.50 82.50 2.77949 -157.50 152.50 87.50 2.9695 -157.50 152.50 92.50 2.76505 -157.50 152.50 97.50 2.07378 -157.50 152.50 102.50 1.30488 -157.50 152.50 107.50 0.618997 -157.50 152.50 112.50 0.245777 -157.50 152.50 117.50 0.0647092 -157.50 152.50 122.50 0.0159058 -157.50 152.50 127.50 0.00538732 -157.50 152.50 132.50 0.0124351 -157.50 152.50 137.50 0.0483447 -157.50 152.50 142.50 0.136774 -157.50 152.50 147.50 0.334403 -157.50 152.50 152.50 0.763199 -157.50 152.50 157.50 1.42938 -157.50 152.50 162.50 2.04972 -157.50 152.50 167.50 2.49158 -157.50 152.50 172.50 2.77948 -157.50 152.50 177.50 2.9695 -157.50 152.50 182.50 2.76505 -157.50 152.50 187.50 2.07379 -157.50 152.50 192.50 1.30488 -157.50 152.50 197.50 0.618996 -157.50 152.50 202.50 0.245777 -157.50 152.50 207.50 0.0647093 -157.50 152.50 212.50 0.0159058 -157.50 152.50 217.50 0.00538731 -157.50 152.50 222.50 0.0124351 -157.50 152.50 227.50 0.0483447 -157.50 152.50 232.50 0.136774 -157.50 152.50 237.50 0.334404 -157.50 152.50 242.50 0.7632 -157.50 152.50 247.50 1.42938 -157.50 152.50 252.50 2.04972 -157.50 152.50 257.50 2.49158 -157.50 152.50 262.50 2.77949 -157.50 152.50 267.50 2.9695 -157.50 152.50 272.50 2.76505 -157.50 152.50 277.50 2.07379 -157.50 152.50 282.50 1.30488 -157.50 152.50 287.50 0.618997 -157.50 152.50 292.50 0.245777 -157.50 152.50 297.50 0.0647094 -157.50 152.50 302.50 0.0159058 -157.50 152.50 307.50 0.00538731 -157.50 152.50 312.50 0.0124351 -157.50 152.50 317.50 0.0483446 -157.50 152.50 322.50 0.136773 -157.50 152.50 327.50 0.334403 -157.50 152.50 332.50 0.763198 -157.50 152.50 337.50 1.42938 -157.50 152.50 342.50 2.04972 -157.50 152.50 347.50 2.49158 -157.50 152.50 352.50 2.77948 -157.50 152.50 357.50 2.9695 -157.50 157.50 2.50 1.82434 -157.50 157.50 7.50 1.3143 -157.50 157.50 12.50 0.835416 -157.50 157.50 17.50 0.408669 -157.50 157.50 22.50 0.164729 -157.50 157.50 27.50 0.0604164 -157.50 157.50 32.50 0.0170085 -157.50 157.50 37.50 0.00775408 -157.50 157.50 42.50 0.022421 -157.50 157.50 47.50 0.0869078 -157.50 157.50 52.50 0.243473 -157.50 157.50 57.50 0.52221 -157.50 157.50 62.50 0.969992 -157.50 157.50 67.50 1.53757 -157.50 157.50 72.50 1.94329 -157.50 157.50 77.50 2.09955 -157.50 157.50 82.50 2.13388 -157.50 157.50 87.50 2.07889 -157.50 157.50 92.50 1.82434 -157.50 157.50 97.50 1.3143 -157.50 157.50 102.50 0.835416 -157.50 157.50 107.50 0.408669 -157.50 157.50 112.50 0.164729 -157.50 157.50 117.50 0.0604164 -157.50 157.50 122.50 0.0170084 -157.50 157.50 127.50 0.00775408 -157.50 157.50 132.50 0.022421 -157.50 157.50 137.50 0.0869078 -157.50 157.50 142.50 0.243473 -157.50 157.50 147.50 0.52221 -157.50 157.50 152.50 0.969991 -157.50 157.50 157.50 1.53757 -157.50 157.50 162.50 1.94329 -157.50 157.50 167.50 2.09955 -157.50 157.50 172.50 2.13388 -157.50 157.50 177.50 2.07889 -157.50 157.50 182.50 1.82434 -157.50 157.50 187.50 1.3143 -157.50 157.50 192.50 0.835416 -157.50 157.50 197.50 0.408669 -157.50 157.50 202.50 0.164729 -157.50 157.50 207.50 0.0604164 -157.50 157.50 212.50 0.0170085 -157.50 157.50 217.50 0.00775407 -157.50 157.50 222.50 0.0224209 -157.50 157.50 227.50 0.0869076 -157.50 157.50 232.50 0.243473 -157.50 157.50 237.50 0.52221 -157.50 157.50 242.50 0.969993 -157.50 157.50 247.50 1.53757 -157.50 157.50 252.50 1.94329 -157.50 157.50 257.50 2.09955 -157.50 157.50 262.50 2.13388 -157.50 157.50 267.50 2.07889 -157.50 157.50 272.50 1.82434 -157.50 157.50 277.50 1.3143 -157.50 157.50 282.50 0.835416 -157.50 157.50 287.50 0.408669 -157.50 157.50 292.50 0.164729 -157.50 157.50 297.50 0.0604166 -157.50 157.50 302.50 0.0170085 -157.50 157.50 307.50 0.00775406 -157.50 157.50 312.50 0.0224209 -157.50 157.50 317.50 0.0869077 -157.50 157.50 322.50 0.243473 -157.50 157.50 327.50 0.52221 -157.50 157.50 332.50 0.96999 -157.50 157.50 337.50 1.53757 -157.50 157.50 342.50 1.94329 -157.50 157.50 347.50 2.09955 -157.50 157.50 352.50 2.13388 -157.50 157.50 357.50 2.07889 -157.50 162.50 2.50 1.04915 -157.50 162.50 7.50 0.754685 -157.50 162.50 12.50 0.486186 -157.50 162.50 17.50 0.296214 -157.50 162.50 22.50 0.170401 -157.50 162.50 27.50 0.101257 -157.50 162.50 32.50 0.0459574 -157.50 162.50 37.50 0.0167425 -157.50 162.50 42.50 0.0318101 -157.50 162.50 47.50 0.116604 -157.50 162.50 52.50 0.318861 -157.50 162.50 57.50 0.665951 -157.50 162.50 62.50 1.1359 -157.50 162.50 67.50 1.57171 -157.50 162.50 72.50 1.72458 -157.50 162.50 77.50 1.60219 -157.50 162.50 82.50 1.42285 -157.50 162.50 87.50 1.25412 -157.50 162.50 92.50 1.04915 -157.50 162.50 97.50 0.754685 -157.50 162.50 102.50 0.486186 -157.50 162.50 107.50 0.296214 -157.50 162.50 112.50 0.170401 -157.50 162.50 117.50 0.101257 -157.50 162.50 122.50 0.0459574 -157.50 162.50 127.50 0.0167425 -157.50 162.50 132.50 0.0318101 -157.50 162.50 137.50 0.116604 -157.50 162.50 142.50 0.318861 -157.50 162.50 147.50 0.665951 -157.50 162.50 152.50 1.1359 -157.50 162.50 157.50 1.57171 -157.50 162.50 162.50 1.72458 -157.50 162.50 167.50 1.60219 -157.50 162.50 172.50 1.42285 -157.50 162.50 177.50 1.25412 -157.50 162.50 182.50 1.04915 -157.50 162.50 187.50 0.754684 -157.50 162.50 192.50 0.486186 -157.50 162.50 197.50 0.296214 -157.50 162.50 202.50 0.170401 -157.50 162.50 207.50 0.101257 -157.50 162.50 212.50 0.0459574 -157.50 162.50 217.50 0.0167425 -157.50 162.50 222.50 0.0318101 -157.50 162.50 227.50 0.116604 -157.50 162.50 232.50 0.318861 -157.50 162.50 237.50 0.665952 -157.50 162.50 242.50 1.1359 -157.50 162.50 247.50 1.57171 -157.50 162.50 252.50 1.72458 -157.50 162.50 257.50 1.60219 -157.50 162.50 262.50 1.42285 -157.50 162.50 267.50 1.25412 -157.50 162.50 272.50 1.04915 -157.50 162.50 277.50 0.754685 -157.50 162.50 282.50 0.486186 -157.50 162.50 287.50 0.296214 -157.50 162.50 292.50 0.170401 -157.50 162.50 297.50 0.101257 -157.50 162.50 302.50 0.0459575 -157.50 162.50 307.50 0.0167425 -157.50 162.50 312.50 0.03181 -157.50 162.50 317.50 0.116604 -157.50 162.50 322.50 0.31886 -157.50 162.50 327.50 0.665951 -157.50 162.50 332.50 1.1359 -157.50 162.50 337.50 1.57171 -157.50 162.50 342.50 1.72458 -157.50 162.50 347.50 1.60219 -157.50 162.50 352.50 1.42285 -157.50 162.50 357.50 1.25413 -157.50 167.50 2.50 0.514899 -157.50 167.50 7.50 0.384519 -157.50 167.50 12.50 0.250634 -157.50 167.50 17.50 0.207992 -157.50 167.50 22.50 0.182654 -157.50 167.50 27.50 0.136815 -157.50 167.50 32.50 0.0683474 -157.50 167.50 37.50 0.0288061 -157.50 167.50 42.50 0.0405365 -157.50 167.50 47.50 0.120832 -157.50 167.50 52.50 0.312384 -157.50 167.50 57.50 0.68535 -157.50 167.50 62.50 1.20435 -157.50 167.50 67.50 1.55515 -157.50 167.50 72.50 1.48934 -157.50 167.50 77.50 1.1329 -157.50 167.50 82.50 0.803028 -157.50 167.50 87.50 0.631548 -157.50 167.50 92.50 0.514899 -157.50 167.50 97.50 0.384519 -157.50 167.50 102.50 0.250634 -157.50 167.50 107.50 0.207991 -157.50 167.50 112.50 0.182654 -157.50 167.50 117.50 0.136815 -157.50 167.50 122.50 0.0683473 -157.50 167.50 127.50 0.0288061 -157.50 167.50 132.50 0.0405365 -157.50 167.50 137.50 0.120832 -157.50 167.50 142.50 0.312384 -157.50 167.50 147.50 0.68535 -157.50 167.50 152.50 1.20434 -157.50 167.50 157.50 1.55515 -157.50 167.50 162.50 1.48934 -157.50 167.50 167.50 1.1329 -157.50 167.50 172.50 0.803029 -157.50 167.50 177.50 0.631548 -157.50 167.50 182.50 0.5149 -157.50 167.50 187.50 0.384519 -157.50 167.50 192.50 0.250634 -157.50 167.50 197.50 0.207991 -157.50 167.50 202.50 0.182654 -157.50 167.50 207.50 0.136815 -157.50 167.50 212.50 0.0683474 -157.50 167.50 217.50 0.0288061 -157.50 167.50 222.50 0.0405365 -157.50 167.50 227.50 0.120831 -157.50 167.50 232.50 0.312384 -157.50 167.50 237.50 0.68535 -157.50 167.50 242.50 1.20435 -157.50 167.50 247.50 1.55515 -157.50 167.50 252.50 1.48934 -157.50 167.50 257.50 1.1329 -157.50 167.50 262.50 0.803028 -157.50 167.50 267.50 0.631548 -157.50 167.50 272.50 0.514899 -157.50 167.50 277.50 0.384519 -157.50 167.50 282.50 0.250634 -157.50 167.50 287.50 0.207992 -157.50 167.50 292.50 0.182654 -157.50 167.50 297.50 0.136815 -157.50 167.50 302.50 0.0683475 -157.50 167.50 307.50 0.0288061 -157.50 167.50 312.50 0.0405364 -157.50 167.50 317.50 0.120831 -157.50 167.50 322.50 0.312383 -157.50 167.50 327.50 0.685348 -157.50 167.50 332.50 1.20434 -157.50 167.50 337.50 1.55515 -157.50 167.50 342.50 1.48934 -157.50 167.50 347.50 1.1329 -157.50 167.50 352.50 0.803028 -157.50 167.50 357.50 0.631548 -157.50 172.50 2.50 0.221571 -157.50 172.50 7.50 0.187039 -157.50 172.50 12.50 0.152442 -157.50 172.50 17.50 0.133941 -157.50 172.50 22.50 0.143448 -157.50 172.50 27.50 0.123005 -157.50 172.50 32.50 0.0759863 -157.50 172.50 37.50 0.0389614 -157.50 172.50 42.50 0.0394887 -157.50 172.50 47.50 0.0984242 -157.50 172.50 52.50 0.257601 -157.50 172.50 57.50 0.59838 -157.50 172.50 62.50 1.08065 -157.50 172.50 67.50 1.37472 -157.50 172.50 72.50 1.19976 -157.50 172.50 77.50 0.751387 -157.50 172.50 82.50 0.412201 -157.50 172.50 87.50 0.269639 -157.50 172.50 92.50 0.221571 -157.50 172.50 97.50 0.187039 -157.50 172.50 102.50 0.152442 -157.50 172.50 107.50 0.133941 -157.50 172.50 112.50 0.143447 -157.50 172.50 117.50 0.123005 -157.50 172.50 122.50 0.0759862 -157.50 172.50 127.50 0.0389614 -157.50 172.50 132.50 0.0394887 -157.50 172.50 137.50 0.0984242 -157.50 172.50 142.50 0.257601 -157.50 172.50 147.50 0.598379 -157.50 172.50 152.50 1.08065 -157.50 172.50 157.50 1.37472 -157.50 172.50 162.50 1.19976 -157.50 172.50 167.50 0.751388 -157.50 172.50 172.50 0.412201 -157.50 172.50 177.50 0.269639 -157.50 172.50 182.50 0.221571 -157.50 172.50 187.50 0.187039 -157.50 172.50 192.50 0.152442 -157.50 172.50 197.50 0.133941 -157.50 172.50 202.50 0.143448 -157.50 172.50 207.50 0.123006 -157.50 172.50 212.50 0.0759863 -157.50 172.50 217.50 0.0389614 -157.50 172.50 222.50 0.0394887 -157.50 172.50 227.50 0.0984241 -157.50 172.50 232.50 0.257601 -157.50 172.50 237.50 0.59838 -157.50 172.50 242.50 1.08065 -157.50 172.50 247.50 1.37472 -157.50 172.50 252.50 1.19976 -157.50 172.50 257.50 0.751388 -157.50 172.50 262.50 0.412201 -157.50 172.50 267.50 0.269639 -157.50 172.50 272.50 0.221571 -157.50 172.50 277.50 0.187039 -157.50 172.50 282.50 0.152442 -157.50 172.50 287.50 0.133941 -157.50 172.50 292.50 0.143448 -157.50 172.50 297.50 0.123006 -157.50 172.50 302.50 0.0759864 -157.50 172.50 307.50 0.0389615 -157.50 172.50 312.50 0.0394887 -157.50 172.50 317.50 0.0984241 -157.50 172.50 322.50 0.2576 -157.50 172.50 327.50 0.598378 -157.50 172.50 332.50 1.08065 -157.50 172.50 337.50 1.37472 -157.50 172.50 342.50 1.19976 -157.50 172.50 347.50 0.751389 -157.50 172.50 352.50 0.412201 -157.50 172.50 357.50 0.269639 -157.50 177.50 2.50 0.0874277 -157.50 177.50 7.50 0.091209 -157.50 177.50 12.50 0.0973619 -157.50 177.50 17.50 0.10012 -157.50 177.50 22.50 0.0982883 -157.50 177.50 27.50 0.0873951 -157.50 177.50 32.50 0.0638133 -157.50 177.50 37.50 0.0444077 -157.50 177.50 42.50 0.0398712 -157.50 177.50 47.50 0.0686876 -157.50 177.50 52.50 0.173647 -157.50 177.50 57.50 0.43653 -157.50 177.50 62.50 0.830731 -157.50 177.50 67.50 1.05029 -157.50 177.50 72.50 0.862378 -157.50 177.50 77.50 0.478808 -157.50 177.50 82.50 0.209006 -157.50 177.50 87.50 0.106432 -157.50 177.50 92.50 0.0874277 -157.50 177.50 97.50 0.0912091 -157.50 177.50 102.50 0.097362 -157.50 177.50 107.50 0.10012 -157.50 177.50 112.50 0.0982883 -157.50 177.50 117.50 0.0873951 -157.50 177.50 122.50 0.0638133 -157.50 177.50 127.50 0.0444076 -157.50 177.50 132.50 0.0398712 -157.50 177.50 137.50 0.0686877 -157.50 177.50 142.50 0.173647 -157.50 177.50 147.50 0.43653 -157.50 177.50 152.50 0.830731 -157.50 177.50 157.50 1.05029 -157.50 177.50 162.50 0.862379 -157.50 177.50 167.50 0.478808 -157.50 177.50 172.50 0.209006 -157.50 177.50 177.50 0.106432 -157.50 177.50 182.50 0.0874278 -157.50 177.50 187.50 0.091209 -157.50 177.50 192.50 0.0973619 -157.50 177.50 197.50 0.10012 -157.50 177.50 202.50 0.0982883 -157.50 177.50 207.50 0.0873953 -157.50 177.50 212.50 0.0638134 -157.50 177.50 217.50 0.0444076 -157.50 177.50 222.50 0.0398712 -157.50 177.50 227.50 0.0686877 -157.50 177.50 232.50 0.173647 -157.50 177.50 237.50 0.43653 -157.50 177.50 242.50 0.830731 -157.50 177.50 247.50 1.05029 -157.50 177.50 252.50 0.862378 -157.50 177.50 257.50 0.478808 -157.50 177.50 262.50 0.209006 -157.50 177.50 267.50 0.106432 -157.50 177.50 272.50 0.0874277 -157.50 177.50 277.50 0.091209 -157.50 177.50 282.50 0.0973619 -157.50 177.50 287.50 0.10012 -157.50 177.50 292.50 0.0982883 -157.50 177.50 297.50 0.0873953 -157.50 177.50 302.50 0.0638134 -157.50 177.50 307.50 0.0444076 -157.50 177.50 312.50 0.0398712 -157.50 177.50 317.50 0.0686877 -157.50 177.50 322.50 0.173646 -157.50 177.50 327.50 0.436529 -157.50 177.50 332.50 0.83073 -157.50 177.50 337.50 1.05029 -157.50 177.50 342.50 0.86238 -157.50 177.50 347.50 0.478809 -157.50 177.50 352.50 0.209006 -157.50 177.50 357.50 0.106432 -162.50 2.50 2.50 0.0624686 -162.50 2.50 7.50 0.149977 -162.50 2.50 12.50 0.393272 -162.50 2.50 17.50 0.773179 -162.50 2.50 22.50 0.980476 -162.50 2.50 27.50 0.773179 -162.50 2.50 32.50 0.393272 -162.50 2.50 37.50 0.149977 -162.50 2.50 42.50 0.0624686 -162.50 2.50 47.50 0.0485219 -162.50 2.50 52.50 0.0601603 -162.50 2.50 57.50 0.0760385 -162.50 2.50 62.50 0.083846 -162.50 2.50 67.50 0.084539 -162.50 2.50 72.50 0.083846 -162.50 2.50 77.50 0.0760385 -162.50 2.50 82.50 0.0601603 -162.50 2.50 87.50 0.048522 -162.50 2.50 92.50 0.0624686 -162.50 2.50 97.50 0.149977 -162.50 2.50 102.50 0.393272 -162.50 2.50 107.50 0.773179 -162.50 2.50 112.50 0.980476 -162.50 2.50 117.50 0.773178 -162.50 2.50 122.50 0.393272 -162.50 2.50 127.50 0.149977 -162.50 2.50 132.50 0.0624686 -162.50 2.50 137.50 0.0485219 -162.50 2.50 142.50 0.0601603 -162.50 2.50 147.50 0.0760385 -162.50 2.50 152.50 0.083846 -162.50 2.50 157.50 0.084539 -162.50 2.50 162.50 0.083846 -162.50 2.50 167.50 0.0760386 -162.50 2.50 172.50 0.0601603 -162.50 2.50 177.50 0.048522 -162.50 2.50 182.50 0.0624686 -162.50 2.50 187.50 0.149977 -162.50 2.50 192.50 0.393273 -162.50 2.50 197.50 0.773179 -162.50 2.50 202.50 0.980476 -162.50 2.50 207.50 0.77318 -162.50 2.50 212.50 0.393272 -162.50 2.50 217.50 0.149977 -162.50 2.50 222.50 0.0624686 -162.50 2.50 227.50 0.0485219 -162.50 2.50 232.50 0.0601603 -162.50 2.50 237.50 0.0760386 -162.50 2.50 242.50 0.083846 -162.50 2.50 247.50 0.084539 -162.50 2.50 252.50 0.083846 -162.50 2.50 257.50 0.0760385 -162.50 2.50 262.50 0.0601603 -162.50 2.50 267.50 0.0485219 -162.50 2.50 272.50 0.0624685 -162.50 2.50 277.50 0.149977 -162.50 2.50 282.50 0.393272 -162.50 2.50 287.50 0.773178 -162.50 2.50 292.50 0.980476 -162.50 2.50 297.50 0.773179 -162.50 2.50 302.50 0.393273 -162.50 2.50 307.50 0.149977 -162.50 2.50 312.50 0.0624686 -162.50 2.50 317.50 0.0485219 -162.50 2.50 322.50 0.0601603 -162.50 2.50 327.50 0.0760385 -162.50 2.50 332.50 0.083846 -162.50 2.50 337.50 0.084539 -162.50 2.50 342.50 0.083846 -162.50 2.50 347.50 0.0760386 -162.50 2.50 352.50 0.0601604 -162.50 2.50 357.50 0.048522 -162.50 7.50 2.50 0.102596 -162.50 7.50 7.50 0.202463 -162.50 7.50 12.50 0.45873 -162.50 7.50 17.50 0.829238 -162.50 7.50 22.50 1.03537 -162.50 7.50 27.50 0.856091 -162.50 7.50 32.50 0.4704 -162.50 7.50 37.50 0.188831 -162.50 7.50 42.50 0.0711832 -162.50 7.50 47.50 0.0399292 -162.50 7.50 52.50 0.0434974 -162.50 7.50 57.50 0.0604865 -162.50 7.50 62.50 0.0750917 -162.50 7.50 67.50 0.0859236 -162.50 7.50 72.50 0.0897201 -162.50 7.50 77.50 0.0878967 -162.50 7.50 82.50 0.0821991 -162.50 7.50 87.50 0.0808218 -162.50 7.50 92.50 0.102596 -162.50 7.50 97.50 0.202463 -162.50 7.50 102.50 0.45873 -162.50 7.50 107.50 0.829237 -162.50 7.50 112.50 1.03537 -162.50 7.50 117.50 0.856091 -162.50 7.50 122.50 0.4704 -162.50 7.50 127.50 0.188831 -162.50 7.50 132.50 0.0711831 -162.50 7.50 137.50 0.0399292 -162.50 7.50 142.50 0.0434974 -162.50 7.50 147.50 0.0604865 -162.50 7.50 152.50 0.0750917 -162.50 7.50 157.50 0.0859236 -162.50 7.50 162.50 0.0897202 -162.50 7.50 167.50 0.0878967 -162.50 7.50 172.50 0.0821991 -162.50 7.50 177.50 0.0808218 -162.50 7.50 182.50 0.102596 -162.50 7.50 187.50 0.202463 -162.50 7.50 192.50 0.45873 -162.50 7.50 197.50 0.829238 -162.50 7.50 202.50 1.03537 -162.50 7.50 207.50 0.856092 -162.50 7.50 212.50 0.4704 -162.50 7.50 217.50 0.188831 -162.50 7.50 222.50 0.0711832 -162.50 7.50 227.50 0.0399292 -162.50 7.50 232.50 0.0434974 -162.50 7.50 237.50 0.0604866 -162.50 7.50 242.50 0.0750918 -162.50 7.50 247.50 0.0859237 -162.50 7.50 252.50 0.0897201 -162.50 7.50 257.50 0.0878966 -162.50 7.50 262.50 0.082199 -162.50 7.50 267.50 0.0808218 -162.50 7.50 272.50 0.102596 -162.50 7.50 277.50 0.202463 -162.50 7.50 282.50 0.45873 -162.50 7.50 287.50 0.829238 -162.50 7.50 292.50 1.03537 -162.50 7.50 297.50 0.856092 -162.50 7.50 302.50 0.4704 -162.50 7.50 307.50 0.188831 -162.50 7.50 312.50 0.0711832 -162.50 7.50 317.50 0.0399292 -162.50 7.50 322.50 0.0434974 -162.50 7.50 327.50 0.0604865 -162.50 7.50 332.50 0.0750918 -162.50 7.50 337.50 0.0859236 -162.50 7.50 342.50 0.0897202 -162.50 7.50 347.50 0.0878967 -162.50 7.50 352.50 0.0821991 -162.50 7.50 357.50 0.0808218 -162.50 12.50 2.50 0.24067 -162.50 12.50 7.50 0.38469 -162.50 12.50 12.50 0.704975 -162.50 12.50 17.50 1.13499 -162.50 12.50 22.50 1.35396 -162.50 12.50 27.50 1.12589 -162.50 12.50 32.50 0.656449 -162.50 12.50 37.50 0.285569 -162.50 12.50 42.50 0.10447 -162.50 12.50 47.50 0.0389843 -162.50 12.50 52.50 0.0320373 -162.50 12.50 57.50 0.0612511 -162.50 12.50 62.50 0.100238 -162.50 12.50 67.50 0.121307 -162.50 12.50 72.50 0.119082 -162.50 12.50 77.50 0.111957 -162.50 12.50 82.50 0.141147 -162.50 12.50 87.50 0.181724 -162.50 12.50 92.50 0.24067 -162.50 12.50 97.50 0.38469 -162.50 12.50 102.50 0.704975 -162.50 12.50 107.50 1.13499 -162.50 12.50 112.50 1.35396 -162.50 12.50 117.50 1.12589 -162.50 12.50 122.50 0.656449 -162.50 12.50 127.50 0.285569 -162.50 12.50 132.50 0.10447 -162.50 12.50 137.50 0.0389843 -162.50 12.50 142.50 0.0320373 -162.50 12.50 147.50 0.0612511 -162.50 12.50 152.50 0.100237 -162.50 12.50 157.50 0.121307 -162.50 12.50 162.50 0.119082 -162.50 12.50 167.50 0.111957 -162.50 12.50 172.50 0.141147 -162.50 12.50 177.50 0.181724 -162.50 12.50 182.50 0.24067 -162.50 12.50 187.50 0.38469 -162.50 12.50 192.50 0.704975 -162.50 12.50 197.50 1.13499 -162.50 12.50 202.50 1.35396 -162.50 12.50 207.50 1.12589 -162.50 12.50 212.50 0.656449 -162.50 12.50 217.50 0.285569 -162.50 12.50 222.50 0.10447 -162.50 12.50 227.50 0.0389843 -162.50 12.50 232.50 0.0320373 -162.50 12.50 237.50 0.0612512 -162.50 12.50 242.50 0.100238 -162.50 12.50 247.50 0.121307 -162.50 12.50 252.50 0.119082 -162.50 12.50 257.50 0.111957 -162.50 12.50 262.50 0.141148 -162.50 12.50 267.50 0.181724 -162.50 12.50 272.50 0.24067 -162.50 12.50 277.50 0.38469 -162.50 12.50 282.50 0.704975 -162.50 12.50 287.50 1.13499 -162.50 12.50 292.50 1.35396 -162.50 12.50 297.50 1.12589 -162.50 12.50 302.50 0.65645 -162.50 12.50 307.50 0.285569 -162.50 12.50 312.50 0.10447 -162.50 12.50 317.50 0.0389844 -162.50 12.50 322.50 0.0320373 -162.50 12.50 327.50 0.0612511 -162.50 12.50 332.50 0.100237 -162.50 12.50 337.50 0.121307 -162.50 12.50 342.50 0.119082 -162.50 12.50 347.50 0.111957 -162.50 12.50 352.50 0.141147 -162.50 12.50 357.50 0.181724 -162.50 17.50 2.50 0.527183 -162.50 17.50 7.50 0.720482 -162.50 17.50 12.50 1.0402 -162.50 17.50 17.50 1.41763 -162.50 17.50 22.50 1.544 -162.50 17.50 27.50 1.26173 -162.50 17.50 32.50 0.7592 -162.50 17.50 37.50 0.340341 -162.50 17.50 42.50 0.127702 -162.50 17.50 47.50 0.0433834 -162.50 17.50 52.50 0.0261998 -162.50 17.50 57.50 0.0540655 -162.50 17.50 62.50 0.10044 -162.50 17.50 67.50 0.1371 -162.50 17.50 72.50 0.160424 -162.50 17.50 77.50 0.196518 -162.50 17.50 82.50 0.251369 -162.50 17.50 87.50 0.384253 -162.50 17.50 92.50 0.527183 -162.50 17.50 97.50 0.720483 -162.50 17.50 102.50 1.0402 -162.50 17.50 107.50 1.41763 -162.50 17.50 112.50 1.544 -162.50 17.50 117.50 1.26173 -162.50 17.50 122.50 0.7592 -162.50 17.50 127.50 0.340341 -162.50 17.50 132.50 0.127701 -162.50 17.50 137.50 0.0433834 -162.50 17.50 142.50 0.0261998 -162.50 17.50 147.50 0.0540655 -162.50 17.50 152.50 0.10044 -162.50 17.50 157.50 0.1371 -162.50 17.50 162.50 0.160424 -162.50 17.50 167.50 0.196518 -162.50 17.50 172.50 0.251369 -162.50 17.50 177.50 0.384252 -162.50 17.50 182.50 0.527183 -162.50 17.50 187.50 0.720483 -162.50 17.50 192.50 1.0402 -162.50 17.50 197.50 1.41763 -162.50 17.50 202.50 1.544 -162.50 17.50 207.50 1.26173 -162.50 17.50 212.50 0.759199 -162.50 17.50 217.50 0.340342 -162.50 17.50 222.50 0.127702 -162.50 17.50 227.50 0.0433834 -162.50 17.50 232.50 0.0261998 -162.50 17.50 237.50 0.0540656 -162.50 17.50 242.50 0.10044 -162.50 17.50 247.50 0.1371 -162.50 17.50 252.50 0.160425 -162.50 17.50 257.50 0.196518 -162.50 17.50 262.50 0.251369 -162.50 17.50 267.50 0.384253 -162.50 17.50 272.50 0.527182 -162.50 17.50 277.50 0.720483 -162.50 17.50 282.50 1.0402 -162.50 17.50 287.50 1.41763 -162.50 17.50 292.50 1.544 -162.50 17.50 297.50 1.26173 -162.50 17.50 302.50 0.7592 -162.50 17.50 307.50 0.340342 -162.50 17.50 312.50 0.127702 -162.50 17.50 317.50 0.0433835 -162.50 17.50 322.50 0.0261998 -162.50 17.50 327.50 0.0540655 -162.50 17.50 332.50 0.10044 -162.50 17.50 337.50 0.1371 -162.50 17.50 342.50 0.160424 -162.50 17.50 347.50 0.196518 -162.50 17.50 352.50 0.251369 -162.50 17.50 357.50 0.384252 -162.50 22.50 2.50 0.990532 -162.50 22.50 7.50 1.2191 -162.50 22.50 12.50 1.47733 -162.50 22.50 17.50 1.68049 -162.50 22.50 22.50 1.6252 -162.50 22.50 27.50 1.24457 -162.50 22.50 32.50 0.745595 -162.50 22.50 37.50 0.352546 -162.50 22.50 42.50 0.130404 -162.50 22.50 47.50 0.0397711 -162.50 22.50 52.50 0.0157651 -162.50 22.50 57.50 0.0310734 -162.50 22.50 62.50 0.071219 -162.50 22.50 67.50 0.11271 -162.50 22.50 72.50 0.180535 -162.50 22.50 77.50 0.327898 -162.50 22.50 82.50 0.504196 -162.50 22.50 87.50 0.731449 -162.50 22.50 92.50 0.990531 -162.50 22.50 97.50 1.2191 -162.50 22.50 102.50 1.47733 -162.50 22.50 107.50 1.68049 -162.50 22.50 112.50 1.6252 -162.50 22.50 117.50 1.24457 -162.50 22.50 122.50 0.745595 -162.50 22.50 127.50 0.352546 -162.50 22.50 132.50 0.130404 -162.50 22.50 137.50 0.0397711 -162.50 22.50 142.50 0.0157651 -162.50 22.50 147.50 0.0310734 -162.50 22.50 152.50 0.0712189 -162.50 22.50 157.50 0.11271 -162.50 22.50 162.50 0.180535 -162.50 22.50 167.50 0.327897 -162.50 22.50 172.50 0.504196 -162.50 22.50 177.50 0.731448 -162.50 22.50 182.50 0.990531 -162.50 22.50 187.50 1.2191 -162.50 22.50 192.50 1.47733 -162.50 22.50 197.50 1.68049 -162.50 22.50 202.50 1.6252 -162.50 22.50 207.50 1.24457 -162.50 22.50 212.50 0.745595 -162.50 22.50 217.50 0.352546 -162.50 22.50 222.50 0.130404 -162.50 22.50 227.50 0.0397711 -162.50 22.50 232.50 0.0157651 -162.50 22.50 237.50 0.0310735 -162.50 22.50 242.50 0.071219 -162.50 22.50 247.50 0.11271 -162.50 22.50 252.50 0.180535 -162.50 22.50 257.50 0.327898 -162.50 22.50 262.50 0.504197 -162.50 22.50 267.50 0.731449 -162.50 22.50 272.50 0.990531 -162.50 22.50 277.50 1.2191 -162.50 22.50 282.50 1.47733 -162.50 22.50 287.50 1.68049 -162.50 22.50 292.50 1.6252 -162.50 22.50 297.50 1.24457 -162.50 22.50 302.50 0.745596 -162.50 22.50 307.50 0.352547 -162.50 22.50 312.50 0.130405 -162.50 22.50 317.50 0.0397711 -162.50 22.50 322.50 0.0157651 -162.50 22.50 327.50 0.0310734 -162.50 22.50 332.50 0.0712189 -162.50 22.50 337.50 0.11271 -162.50 22.50 342.50 0.180535 -162.50 22.50 347.50 0.327897 -162.50 22.50 352.50 0.504196 -162.50 22.50 357.50 0.731448 -162.50 27.50 2.50 1.58451 -162.50 27.50 7.50 1.7892 -162.50 27.50 12.50 1.93051 -162.50 27.50 17.50 1.96043 -162.50 27.50 22.50 1.67424 -162.50 27.50 27.50 1.12864 -162.50 27.50 32.50 0.613146 -162.50 27.50 37.50 0.280167 -162.50 27.50 42.50 0.104566 -162.50 27.50 47.50 0.030863 -162.50 27.50 52.50 0.010662 -162.50 27.50 57.50 0.0126958 -162.50 27.50 62.50 0.0331191 -162.50 27.50 67.50 0.0958948 -162.50 27.50 72.50 0.231887 -162.50 27.50 77.50 0.497712 -162.50 27.50 82.50 0.880206 -162.50 27.50 87.50 1.23133 -162.50 27.50 92.50 1.58451 -162.50 27.50 97.50 1.7892 -162.50 27.50 102.50 1.93051 -162.50 27.50 107.50 1.96043 -162.50 27.50 112.50 1.67424 -162.50 27.50 117.50 1.12864 -162.50 27.50 122.50 0.613146 -162.50 27.50 127.50 0.280167 -162.50 27.50 132.50 0.104566 -162.50 27.50 137.50 0.030863 -162.50 27.50 142.50 0.010662 -162.50 27.50 147.50 0.0126958 -162.50 27.50 152.50 0.033119 -162.50 27.50 157.50 0.0958946 -162.50 27.50 162.50 0.231887 -162.50 27.50 167.50 0.497712 -162.50 27.50 172.50 0.880205 -162.50 27.50 177.50 1.23133 -162.50 27.50 182.50 1.58451 -162.50 27.50 187.50 1.7892 -162.50 27.50 192.50 1.93051 -162.50 27.50 197.50 1.96043 -162.50 27.50 202.50 1.67424 -162.50 27.50 207.50 1.12864 -162.50 27.50 212.50 0.613146 -162.50 27.50 217.50 0.280167 -162.50 27.50 222.50 0.104566 -162.50 27.50 227.50 0.030863 -162.50 27.50 232.50 0.010662 -162.50 27.50 237.50 0.0126958 -162.50 27.50 242.50 0.0331191 -162.50 27.50 247.50 0.0958949 -162.50 27.50 252.50 0.231887 -162.50 27.50 257.50 0.497713 -162.50 27.50 262.50 0.880206 -162.50 27.50 267.50 1.23133 -162.50 27.50 272.50 1.58451 -162.50 27.50 277.50 1.7892 -162.50 27.50 282.50 1.93051 -162.50 27.50 287.50 1.96043 -162.50 27.50 292.50 1.67424 -162.50 27.50 297.50 1.12864 -162.50 27.50 302.50 0.613147 -162.50 27.50 307.50 0.280167 -162.50 27.50 312.50 0.104566 -162.50 27.50 317.50 0.030863 -162.50 27.50 322.50 0.010662 -162.50 27.50 327.50 0.0126958 -162.50 27.50 332.50 0.033119 -162.50 27.50 337.50 0.0958945 -162.50 27.50 342.50 0.231886 -162.50 27.50 347.50 0.497711 -162.50 27.50 352.50 0.880205 -162.50 27.50 357.50 1.23133 -162.50 32.50 2.50 2.28343 -162.50 32.50 7.50 2.35998 -162.50 32.50 12.50 2.32479 -162.50 32.50 17.50 2.1941 -162.50 32.50 22.50 1.66379 -162.50 32.50 27.50 0.961776 -162.50 32.50 32.50 0.446187 -162.50 32.50 37.50 0.175254 -162.50 32.50 42.50 0.0640098 -162.50 32.50 47.50 0.0215104 -162.50 32.50 52.50 0.00698155 -162.50 32.50 57.50 0.0089805 -162.50 32.50 62.50 0.0367356 -162.50 32.50 67.50 0.125017 -162.50 32.50 72.50 0.378184 -162.50 32.50 77.50 0.781422 -162.50 32.50 82.50 1.40864 -162.50 32.50 87.50 1.94106 -162.50 32.50 92.50 2.28343 -162.50 32.50 97.50 2.35998 -162.50 32.50 102.50 2.32479 -162.50 32.50 107.50 2.1941 -162.50 32.50 112.50 1.66379 -162.50 32.50 117.50 0.961775 -162.50 32.50 122.50 0.446187 -162.50 32.50 127.50 0.175254 -162.50 32.50 132.50 0.0640098 -162.50 32.50 137.50 0.0215104 -162.50 32.50 142.50 0.00698155 -162.50 32.50 147.50 0.00898049 -162.50 32.50 152.50 0.0367355 -162.50 32.50 157.50 0.125016 -162.50 32.50 162.50 0.378184 -162.50 32.50 167.50 0.781421 -162.50 32.50 172.50 1.40864 -162.50 32.50 177.50 1.94106 -162.50 32.50 182.50 2.28343 -162.50 32.50 187.50 2.35998 -162.50 32.50 192.50 2.32479 -162.50 32.50 197.50 2.1941 -162.50 32.50 202.50 1.66379 -162.50 32.50 207.50 0.961776 -162.50 32.50 212.50 0.446187 -162.50 32.50 217.50 0.175254 -162.50 32.50 222.50 0.0640099 -162.50 32.50 227.50 0.0215104 -162.50 32.50 232.50 0.00698154 -162.50 32.50 237.50 0.00898052 -162.50 32.50 242.50 0.0367357 -162.50 32.50 247.50 0.125017 -162.50 32.50 252.50 0.378185 -162.50 32.50 257.50 0.781423 -162.50 32.50 262.50 1.40864 -162.50 32.50 267.50 1.94106 -162.50 32.50 272.50 2.28343 -162.50 32.50 277.50 2.35998 -162.50 32.50 282.50 2.32479 -162.50 32.50 287.50 2.1941 -162.50 32.50 292.50 1.66379 -162.50 32.50 297.50 0.961776 -162.50 32.50 302.50 0.446188 -162.50 32.50 307.50 0.175254 -162.50 32.50 312.50 0.0640099 -162.50 32.50 317.50 0.0215104 -162.50 32.50 322.50 0.00698156 -162.50 32.50 327.50 0.00898048 -162.50 32.50 332.50 0.0367355 -162.50 32.50 337.50 0.125016 -162.50 32.50 342.50 0.378184 -162.50 32.50 347.50 0.781421 -162.50 32.50 352.50 1.40864 -162.50 32.50 357.50 1.94106 -162.50 37.50 2.50 3.12281 -162.50 37.50 7.50 2.93791 -162.50 37.50 12.50 2.65325 -162.50 37.50 17.50 2.26821 -162.50 37.50 22.50 1.57418 -162.50 37.50 27.50 0.811572 -162.50 37.50 32.50 0.31374 -162.50 37.50 37.50 0.100306 -162.50 37.50 42.50 0.0307392 -162.50 37.50 47.50 0.0110938 -162.50 37.50 52.50 0.00794411 -162.50 37.50 57.50 0.0210779 -162.50 37.50 62.50 0.0813847 -162.50 37.50 67.50 0.268913 -162.50 37.50 72.50 0.691644 -162.50 37.50 77.50 1.39583 -162.50 37.50 82.50 2.22086 -162.50 37.50 87.50 2.92585 -162.50 37.50 92.50 3.12281 -162.50 37.50 97.50 2.93791 -162.50 37.50 102.50 2.65325 -162.50 37.50 107.50 2.26821 -162.50 37.50 112.50 1.57418 -162.50 37.50 117.50 0.811572 -162.50 37.50 122.50 0.31374 -162.50 37.50 127.50 0.100306 -162.50 37.50 132.50 0.0307392 -162.50 37.50 137.50 0.0110938 -162.50 37.50 142.50 0.0079441 -162.50 37.50 147.50 0.0210779 -162.50 37.50 152.50 0.0813846 -162.50 37.50 157.50 0.268912 -162.50 37.50 162.50 0.691644 -162.50 37.50 167.50 1.39583 -162.50 37.50 172.50 2.22085 -162.50 37.50 177.50 2.92585 -162.50 37.50 182.50 3.12281 -162.50 37.50 187.50 2.93791 -162.50 37.50 192.50 2.65324 -162.50 37.50 197.50 2.26821 -162.50 37.50 202.50 1.57418 -162.50 37.50 207.50 0.811572 -162.50 37.50 212.50 0.31374 -162.50 37.50 217.50 0.100307 -162.50 37.50 222.50 0.0307392 -162.50 37.50 227.50 0.0110938 -162.50 37.50 232.50 0.00794412 -162.50 37.50 237.50 0.0210779 -162.50 37.50 242.50 0.0813848 -162.50 37.50 247.50 0.268913 -162.50 37.50 252.50 0.691646 -162.50 37.50 257.50 1.39583 -162.50 37.50 262.50 2.22086 -162.50 37.50 267.50 2.92586 -162.50 37.50 272.50 3.12281 -162.50 37.50 277.50 2.93791 -162.50 37.50 282.50 2.65324 -162.50 37.50 287.50 2.26821 -162.50 37.50 292.50 1.57418 -162.50 37.50 297.50 0.811573 -162.50 37.50 302.50 0.313741 -162.50 37.50 307.50 0.100307 -162.50 37.50 312.50 0.0307392 -162.50 37.50 317.50 0.0110938 -162.50 37.50 322.50 0.0079441 -162.50 37.50 327.50 0.0210778 -162.50 37.50 332.50 0.0813846 -162.50 37.50 337.50 0.268912 -162.50 37.50 342.50 0.691644 -162.50 37.50 347.50 1.39583 -162.50 37.50 352.50 2.22085 -162.50 37.50 357.50 2.92585 -162.50 42.50 2.50 3.95126 -162.50 42.50 7.50 3.4014 -162.50 42.50 12.50 2.75895 -162.50 42.50 17.50 2.13049 -162.50 42.50 22.50 1.35737 -162.50 42.50 27.50 0.639226 -162.50 42.50 32.50 0.221197 -162.50 42.50 37.50 0.0653321 -162.50 42.50 42.50 0.0174266 -162.50 42.50 47.50 0.00680786 -162.50 42.50 52.50 0.0171214 -162.50 42.50 57.50 0.059778 -162.50 42.50 62.50 0.193327 -162.50 42.50 67.50 0.573798 -162.50 42.50 72.50 1.31015 -162.50 42.50 77.50 2.33596 -162.50 42.50 82.50 3.33049 -162.50 42.50 87.50 3.98414 -162.50 42.50 92.50 3.95126 -162.50 42.50 97.50 3.40139 -162.50 42.50 102.50 2.75895 -162.50 42.50 107.50 2.13049 -162.50 42.50 112.50 1.35737 -162.50 42.50 117.50 0.639225 -162.50 42.50 122.50 0.221197 -162.50 42.50 127.50 0.065332 -162.50 42.50 132.50 0.0174266 -162.50 42.50 137.50 0.00680786 -162.50 42.50 142.50 0.0171214 -162.50 42.50 147.50 0.059778 -162.50 42.50 152.50 0.193326 -162.50 42.50 157.50 0.573797 -162.50 42.50 162.50 1.31015 -162.50 42.50 167.50 2.33596 -162.50 42.50 172.50 3.33049 -162.50 42.50 177.50 3.98414 -162.50 42.50 182.50 3.95126 -162.50 42.50 187.50 3.40139 -162.50 42.50 192.50 2.75895 -162.50 42.50 197.50 2.13049 -162.50 42.50 202.50 1.35737 -162.50 42.50 207.50 0.639226 -162.50 42.50 212.50 0.221198 -162.50 42.50 217.50 0.0653322 -162.50 42.50 222.50 0.0174267 -162.50 42.50 227.50 0.00680786 -162.50 42.50 232.50 0.0171215 -162.50 42.50 237.50 0.0597782 -162.50 42.50 242.50 0.193327 -162.50 42.50 247.50 0.573799 -162.50 42.50 252.50 1.31015 -162.50 42.50 257.50 2.33596 -162.50 42.50 262.50 3.33049 -162.50 42.50 267.50 3.98414 -162.50 42.50 272.50 3.95126 -162.50 42.50 277.50 3.40139 -162.50 42.50 282.50 2.75895 -162.50 42.50 287.50 2.13049 -162.50 42.50 292.50 1.35737 -162.50 42.50 297.50 0.639226 -162.50 42.50 302.50 0.221198 -162.50 42.50 307.50 0.0653322 -162.50 42.50 312.50 0.0174267 -162.50 42.50 317.50 0.00680786 -162.50 42.50 322.50 0.0171214 -162.50 42.50 327.50 0.0597779 -162.50 42.50 332.50 0.193326 -162.50 42.50 337.50 0.573797 -162.50 42.50 342.50 1.31014 -162.50 42.50 347.50 2.33596 -162.50 42.50 352.50 3.33049 -162.50 42.50 357.50 3.98414 -162.50 47.50 2.50 4.32007 -162.50 47.50 7.50 3.4196 -162.50 47.50 12.50 2.48277 -162.50 47.50 17.50 1.70873 -162.50 47.50 22.50 0.994168 -162.50 47.50 27.50 0.416995 -162.50 47.50 32.50 0.159769 -162.50 47.50 37.50 0.0497084 -162.50 47.50 42.50 0.0122159 -162.50 47.50 47.50 0.0122731 -162.50 47.50 52.50 0.0359634 -162.50 47.50 57.50 0.155387 -162.50 47.50 62.50 0.435016 -162.50 47.50 67.50 1.09209 -162.50 47.50 72.50 2.1849 -162.50 47.50 77.50 3.38724 -162.50 47.50 82.50 4.34864 -162.50 47.50 87.50 4.66925 -162.50 47.50 92.50 4.32007 -162.50 47.50 97.50 3.4196 -162.50 47.50 102.50 2.48276 -162.50 47.50 107.50 1.70873 -162.50 47.50 112.50 0.994168 -162.50 47.50 117.50 0.416994 -162.50 47.50 122.50 0.159769 -162.50 47.50 127.50 0.0497083 -162.50 47.50 132.50 0.0122159 -162.50 47.50 137.50 0.0122731 -162.50 47.50 142.50 0.0359634 -162.50 47.50 147.50 0.155387 -162.50 47.50 152.50 0.435015 -162.50 47.50 157.50 1.09209 -162.50 47.50 162.50 2.1849 -162.50 47.50 167.50 3.38723 -162.50 47.50 172.50 4.34864 -162.50 47.50 177.50 4.66925 -162.50 47.50 182.50 4.32007 -162.50 47.50 187.50 3.4196 -162.50 47.50 192.50 2.48276 -162.50 47.50 197.50 1.70873 -162.50 47.50 202.50 0.994167 -162.50 47.50 207.50 0.416995 -162.50 47.50 212.50 0.159769 -162.50 47.50 217.50 0.0497084 -162.50 47.50 222.50 0.0122159 -162.50 47.50 227.50 0.0122731 -162.50 47.50 232.50 0.0359635 -162.50 47.50 237.50 0.155387 -162.50 47.50 242.50 0.435016 -162.50 47.50 247.50 1.09209 -162.50 47.50 252.50 2.1849 -162.50 47.50 257.50 3.38724 -162.50 47.50 262.50 4.34864 -162.50 47.50 267.50 4.66925 -162.50 47.50 272.50 4.32007 -162.50 47.50 277.50 3.4196 -162.50 47.50 282.50 2.48277 -162.50 47.50 287.50 1.70873 -162.50 47.50 292.50 0.994168 -162.50 47.50 297.50 0.416995 -162.50 47.50 302.50 0.15977 -162.50 47.50 307.50 0.0497085 -162.50 47.50 312.50 0.0122159 -162.50 47.50 317.50 0.0122731 -162.50 47.50 322.50 0.0359633 -162.50 47.50 327.50 0.155387 -162.50 47.50 332.50 0.435015 -162.50 47.50 337.50 1.09209 -162.50 47.50 342.50 2.1849 -162.50 47.50 347.50 3.38724 -162.50 47.50 352.50 4.34864 -162.50 47.50 357.50 4.66926 -162.50 52.50 2.50 3.95126 -162.50 52.50 7.50 2.87227 -162.50 52.50 12.50 1.90678 -162.50 52.50 17.50 1.1717 -162.50 52.50 22.50 0.615837 -162.50 52.50 27.50 0.264477 -162.50 52.50 32.50 0.0934184 -162.50 52.50 37.50 0.0326858 -162.50 52.50 42.50 0.0113143 -162.50 52.50 47.50 0.0175414 -162.50 52.50 52.50 0.0813408 -162.50 52.50 57.50 0.320984 -162.50 52.50 62.50 0.86707 -162.50 52.50 67.50 1.85735 -162.50 52.50 72.50 3.16164 -162.50 52.50 77.50 4.29494 -162.50 52.50 82.50 4.98895 -162.50 52.50 87.50 4.73907 -162.50 52.50 92.50 3.95126 -162.50 52.50 97.50 2.87227 -162.50 52.50 102.50 1.90678 -162.50 52.50 107.50 1.1717 -162.50 52.50 112.50 0.615838 -162.50 52.50 117.50 0.264477 -162.50 52.50 122.50 0.0934183 -162.50 52.50 127.50 0.0326858 -162.50 52.50 132.50 0.0113143 -162.50 52.50 137.50 0.0175414 -162.50 52.50 142.50 0.0813408 -162.50 52.50 147.50 0.320984 -162.50 52.50 152.50 0.867069 -162.50 52.50 157.50 1.85735 -162.50 52.50 162.50 3.16164 -162.50 52.50 167.50 4.29494 -162.50 52.50 172.50 4.98895 -162.50 52.50 177.50 4.73907 -162.50 52.50 182.50 3.95126 -162.50 52.50 187.50 2.87227 -162.50 52.50 192.50 1.90678 -162.50 52.50 197.50 1.1717 -162.50 52.50 202.50 0.615837 -162.50 52.50 207.50 0.264477 -162.50 52.50 212.50 0.0934184 -162.50 52.50 217.50 0.0326858 -162.50 52.50 222.50 0.0113143 -162.50 52.50 227.50 0.0175414 -162.50 52.50 232.50 0.0813412 -162.50 52.50 237.50 0.320985 -162.50 52.50 242.50 0.867071 -162.50 52.50 247.50 1.85735 -162.50 52.50 252.50 3.16164 -162.50 52.50 257.50 4.29494 -162.50 52.50 262.50 4.98895 -162.50 52.50 267.50 4.73907 -162.50 52.50 272.50 3.95126 -162.50 52.50 277.50 2.87228 -162.50 52.50 282.50 1.90678 -162.50 52.50 287.50 1.1717 -162.50 52.50 292.50 0.615838 -162.50 52.50 297.50 0.264477 -162.50 52.50 302.50 0.0934185 -162.50 52.50 307.50 0.0326858 -162.50 52.50 312.50 0.0113143 -162.50 52.50 317.50 0.0175414 -162.50 52.50 322.50 0.0813407 -162.50 52.50 327.50 0.320984 -162.50 52.50 332.50 0.867069 -162.50 52.50 337.50 1.85735 -162.50 52.50 342.50 3.16163 -162.50 52.50 347.50 4.29494 -162.50 52.50 352.50 4.98895 -162.50 52.50 357.50 4.73907 -162.50 57.50 2.50 3.12281 -162.50 57.50 7.50 2.05638 -162.50 57.50 12.50 1.26427 -162.50 57.50 17.50 0.705296 -162.50 57.50 22.50 0.335682 -162.50 57.50 27.50 0.150526 -162.50 57.50 32.50 0.0566754 -162.50 57.50 37.50 0.0156722 -162.50 57.50 42.50 0.00826451 -162.50 57.50 47.50 0.032745 -162.50 57.50 52.50 0.149992 -162.50 57.50 57.50 0.540126 -162.50 57.50 62.50 1.4484 -162.50 57.50 67.50 2.72937 -162.50 57.50 72.50 4.07694 -162.50 57.50 77.50 4.86539 -162.50 57.50 82.50 5.08928 -162.50 57.50 87.50 4.34924 -162.50 57.50 92.50 3.12281 -162.50 57.50 97.50 2.05638 -162.50 57.50 102.50 1.26427 -162.50 57.50 107.50 0.705296 -162.50 57.50 112.50 0.335682 -162.50 57.50 117.50 0.150526 -162.50 57.50 122.50 0.0566753 -162.50 57.50 127.50 0.0156722 -162.50 57.50 132.50 0.00826451 -162.50 57.50 137.50 0.032745 -162.50 57.50 142.50 0.149992 -162.50 57.50 147.50 0.540126 -162.50 57.50 152.50 1.4484 -162.50 57.50 157.50 2.72937 -162.50 57.50 162.50 4.07693 -162.50 57.50 167.50 4.86539 -162.50 57.50 172.50 5.08928 -162.50 57.50 177.50 4.34924 -162.50 57.50 182.50 3.12281 -162.50 57.50 187.50 2.05638 -162.50 57.50 192.50 1.26427 -162.50 57.50 197.50 0.705296 -162.50 57.50 202.50 0.335682 -162.50 57.50 207.50 0.150526 -162.50 57.50 212.50 0.0566753 -162.50 57.50 217.50 0.0156722 -162.50 57.50 222.50 0.00826451 -162.50 57.50 227.50 0.032745 -162.50 57.50 232.50 0.149993 -162.50 57.50 237.50 0.540128 -162.50 57.50 242.50 1.44841 -162.50 57.50 247.50 2.72937 -162.50 57.50 252.50 4.07694 -162.50 57.50 257.50 4.86539 -162.50 57.50 262.50 5.08928 -162.50 57.50 267.50 4.34924 -162.50 57.50 272.50 3.12281 -162.50 57.50 277.50 2.05638 -162.50 57.50 282.50 1.26427 -162.50 57.50 287.50 0.705296 -162.50 57.50 292.50 0.335682 -162.50 57.50 297.50 0.150526 -162.50 57.50 302.50 0.0566754 -162.50 57.50 307.50 0.0156722 -162.50 57.50 312.50 0.00826452 -162.50 57.50 317.50 0.032745 -162.50 57.50 322.50 0.149992 -162.50 57.50 327.50 0.540126 -162.50 57.50 332.50 1.4484 -162.50 57.50 337.50 2.72937 -162.50 57.50 342.50 4.07693 -162.50 57.50 347.50 4.86539 -162.50 57.50 352.50 5.08928 -162.50 57.50 357.50 4.34925 -162.50 62.50 2.50 2.28343 -162.50 62.50 7.50 1.33413 -162.50 62.50 12.50 0.780639 -162.50 62.50 17.50 0.385374 -162.50 62.50 22.50 0.168753 -162.50 62.50 27.50 0.0745227 -162.50 62.50 32.50 0.0287021 -162.50 62.50 37.50 0.0099559 -162.50 62.50 42.50 0.0100612 -162.50 62.50 47.50 0.0453351 -162.50 62.50 52.50 0.244396 -162.50 62.50 57.50 0.823462 -162.50 62.50 62.50 1.90083 -162.50 62.50 67.50 3.41962 -162.50 62.50 72.50 4.55045 -162.50 62.50 77.50 4.97593 -162.50 62.50 82.50 4.6553 -162.50 62.50 87.50 3.66596 -162.50 62.50 92.50 2.28343 -162.50 62.50 97.50 1.33413 -162.50 62.50 102.50 0.78064 -162.50 62.50 107.50 0.385374 -162.50 62.50 112.50 0.168753 -162.50 62.50 117.50 0.0745226 -162.50 62.50 122.50 0.0287021 -162.50 62.50 127.50 0.00995589 -162.50 62.50 132.50 0.0100612 -162.50 62.50 137.50 0.0453351 -162.50 62.50 142.50 0.244396 -162.50 62.50 147.50 0.823462 -162.50 62.50 152.50 1.90083 -162.50 62.50 157.50 3.41962 -162.50 62.50 162.50 4.55045 -162.50 62.50 167.50 4.97593 -162.50 62.50 172.50 4.65531 -162.50 62.50 177.50 3.66596 -162.50 62.50 182.50 2.28343 -162.50 62.50 187.50 1.33413 -162.50 62.50 192.50 0.780639 -162.50 62.50 197.50 0.385374 -162.50 62.50 202.50 0.168753 -162.50 62.50 207.50 0.0745227 -162.50 62.50 212.50 0.0287021 -162.50 62.50 217.50 0.00995589 -162.50 62.50 222.50 0.0100612 -162.50 62.50 227.50 0.0453351 -162.50 62.50 232.50 0.244397 -162.50 62.50 237.50 0.823463 -162.50 62.50 242.50 1.90083 -162.50 62.50 247.50 3.41962 -162.50 62.50 252.50 4.55045 -162.50 62.50 257.50 4.97593 -162.50 62.50 262.50 4.65531 -162.50 62.50 267.50 3.66596 -162.50 62.50 272.50 2.28343 -162.50 62.50 277.50 1.33413 -162.50 62.50 282.50 0.780639 -162.50 62.50 287.50 0.385374 -162.50 62.50 292.50 0.168753 -162.50 62.50 297.50 0.0745228 -162.50 62.50 302.50 0.0287022 -162.50 62.50 307.50 0.00995591 -162.50 62.50 312.50 0.0100612 -162.50 62.50 317.50 0.045335 -162.50 62.50 322.50 0.244396 -162.50 62.50 327.50 0.82346 -162.50 62.50 332.50 1.90083 -162.50 62.50 337.50 3.41962 -162.50 62.50 342.50 4.55044 -162.50 62.50 347.50 4.97593 -162.50 62.50 352.50 4.65531 -162.50 62.50 357.50 3.66596 -162.50 67.50 2.50 1.58451 -162.50 67.50 7.50 0.837527 -162.50 67.50 12.50 0.486185 -162.50 67.50 17.50 0.241472 -162.50 67.50 22.50 0.121093 -162.50 67.50 27.50 0.0468313 -162.50 67.50 32.50 0.0148722 -162.50 67.50 37.50 0.00788941 -162.50 67.50 42.50 0.0180849 -162.50 67.50 47.50 0.0861293 -162.50 67.50 52.50 0.335211 -162.50 67.50 57.50 0.956496 -162.50 67.50 62.50 2.04001 -162.50 67.50 67.50 3.3653 -162.50 67.50 72.50 4.34267 -162.50 67.50 77.50 4.45135 -162.50 67.50 82.50 3.8505 -162.50 67.50 87.50 2.79226 -162.50 67.50 92.50 1.58451 -162.50 67.50 97.50 0.837527 -162.50 67.50 102.50 0.486185 -162.50 67.50 107.50 0.241472 -162.50 67.50 112.50 0.121093 -162.50 67.50 117.50 0.0468312 -162.50 67.50 122.50 0.0148722 -162.50 67.50 127.50 0.0078894 -162.50 67.50 132.50 0.0180849 -162.50 67.50 137.50 0.0861293 -162.50 67.50 142.50 0.335211 -162.50 67.50 147.50 0.956497 -162.50 67.50 152.50 2.04 -162.50 67.50 157.50 3.3653 -162.50 67.50 162.50 4.34267 -162.50 67.50 167.50 4.45136 -162.50 67.50 172.50 3.8505 -162.50 67.50 177.50 2.79226 -162.50 67.50 182.50 1.58451 -162.50 67.50 187.50 0.837527 -162.50 67.50 192.50 0.486185 -162.50 67.50 197.50 0.241472 -162.50 67.50 202.50 0.121093 -162.50 67.50 207.50 0.0468313 -162.50 67.50 212.50 0.0148722 -162.50 67.50 217.50 0.00788942 -162.50 67.50 222.50 0.0180849 -162.50 67.50 227.50 0.0861292 -162.50 67.50 232.50 0.335212 -162.50 67.50 237.50 0.956499 -162.50 67.50 242.50 2.04001 -162.50 67.50 247.50 3.3653 -162.50 67.50 252.50 4.34267 -162.50 67.50 257.50 4.45135 -162.50 67.50 262.50 3.85049 -162.50 67.50 267.50 2.79225 -162.50 67.50 272.50 1.58451 -162.50 67.50 277.50 0.837527 -162.50 67.50 282.50 0.486185 -162.50 67.50 287.50 0.241472 -162.50 67.50 292.50 0.121093 -162.50 67.50 297.50 0.0468314 -162.50 67.50 302.50 0.0148723 -162.50 67.50 307.50 0.00788942 -162.50 67.50 312.50 0.0180849 -162.50 67.50 317.50 0.0861292 -162.50 67.50 322.50 0.33521 -162.50 67.50 327.50 0.956495 -162.50 67.50 332.50 2.04 -162.50 67.50 337.50 3.3653 -162.50 67.50 342.50 4.34267 -162.50 67.50 347.50 4.45135 -162.50 67.50 352.50 3.8505 -162.50 67.50 357.50 2.79226 -162.50 72.50 2.50 0.990531 -162.50 72.50 7.50 0.507491 -162.50 72.50 12.50 0.307753 -162.50 72.50 17.50 0.199709 -162.50 72.50 22.50 0.124869 -162.50 72.50 27.50 0.0461833 -162.50 72.50 32.50 0.0173685 -162.50 72.50 37.50 0.00863225 -162.50 72.50 42.50 0.0241844 -162.50 72.50 47.50 0.103199 -162.50 72.50 52.50 0.328942 -162.50 72.50 57.50 0.860058 -162.50 72.50 62.50 1.76308 -162.50 72.50 67.50 2.70409 -162.50 72.50 72.50 3.38127 -162.50 72.50 77.50 3.40511 -162.50 72.50 82.50 2.84177 -162.50 72.50 87.50 1.87704 -162.50 72.50 92.50 0.990531 -162.50 72.50 97.50 0.507491 -162.50 72.50 102.50 0.307753 -162.50 72.50 107.50 0.199709 -162.50 72.50 112.50 0.124869 -162.50 72.50 117.50 0.0461833 -162.50 72.50 122.50 0.0173685 -162.50 72.50 127.50 0.00863226 -162.50 72.50 132.50 0.0241844 -162.50 72.50 137.50 0.103199 -162.50 72.50 142.50 0.328941 -162.50 72.50 147.50 0.860058 -162.50 72.50 152.50 1.76307 -162.50 72.50 157.50 2.70409 -162.50 72.50 162.50 3.38126 -162.50 72.50 167.50 3.40511 -162.50 72.50 172.50 2.84177 -162.50 72.50 177.50 1.87704 -162.50 72.50 182.50 0.990531 -162.50 72.50 187.50 0.507491 -162.50 72.50 192.50 0.307753 -162.50 72.50 197.50 0.199709 -162.50 72.50 202.50 0.124869 -162.50 72.50 207.50 0.0461833 -162.50 72.50 212.50 0.0173685 -162.50 72.50 217.50 0.00863225 -162.50 72.50 222.50 0.0241844 -162.50 72.50 227.50 0.103199 -162.50 72.50 232.50 0.328943 -162.50 72.50 237.50 0.860059 -162.50 72.50 242.50 1.76308 -162.50 72.50 247.50 2.70409 -162.50 72.50 252.50 3.38127 -162.50 72.50 257.50 3.40511 -162.50 72.50 262.50 2.84177 -162.50 72.50 267.50 1.87704 -162.50 72.50 272.50 0.990531 -162.50 72.50 277.50 0.507491 -162.50 72.50 282.50 0.307753 -162.50 72.50 287.50 0.199709 -162.50 72.50 292.50 0.124869 -162.50 72.50 297.50 0.0461833 -162.50 72.50 302.50 0.0173685 -162.50 72.50 307.50 0.00863224 -162.50 72.50 312.50 0.0241844 -162.50 72.50 317.50 0.103199 -162.50 72.50 322.50 0.328941 -162.50 72.50 327.50 0.860057 -162.50 72.50 332.50 1.76307 -162.50 72.50 337.50 2.70409 -162.50 72.50 342.50 3.38126 -162.50 72.50 347.50 3.40511 -162.50 72.50 352.50 2.84177 -162.50 72.50 357.50 1.87704 -162.50 77.50 2.50 0.527183 -162.50 77.50 7.50 0.286755 -162.50 77.50 12.50 0.199615 -162.50 77.50 17.50 0.174708 -162.50 77.50 22.50 0.0988983 -162.50 77.50 27.50 0.0442532 -162.50 77.50 32.50 0.0172979 -162.50 77.50 37.50 0.00952981 -162.50 77.50 42.50 0.0287376 -162.50 77.50 47.50 0.111532 -162.50 77.50 52.50 0.298138 -162.50 77.50 57.50 0.644909 -162.50 77.50 62.50 1.16453 -162.50 77.50 67.50 1.6855 -162.50 77.50 72.50 2.07224 -162.50 77.50 77.50 2.18688 -162.50 77.50 82.50 1.7447 -162.50 77.50 87.50 1.13782 -162.50 77.50 92.50 0.527182 -162.50 77.50 97.50 0.286755 -162.50 77.50 102.50 0.199615 -162.50 77.50 107.50 0.174708 -162.50 77.50 112.50 0.0988983 -162.50 77.50 117.50 0.0442532 -162.50 77.50 122.50 0.0172979 -162.50 77.50 127.50 0.00952982 -162.50 77.50 132.50 0.0287376 -162.50 77.50 137.50 0.111532 -162.50 77.50 142.50 0.298138 -162.50 77.50 147.50 0.644909 -162.50 77.50 152.50 1.16453 -162.50 77.50 157.50 1.6855 -162.50 77.50 162.50 2.07224 -162.50 77.50 167.50 2.18688 -162.50 77.50 172.50 1.7447 -162.50 77.50 177.50 1.13782 -162.50 77.50 182.50 0.527182 -162.50 77.50 187.50 0.286755 -162.50 77.50 192.50 0.199615 -162.50 77.50 197.50 0.174708 -162.50 77.50 202.50 0.0988982 -162.50 77.50 207.50 0.0442532 -162.50 77.50 212.50 0.0172979 -162.50 77.50 217.50 0.00952982 -162.50 77.50 222.50 0.0287376 -162.50 77.50 227.50 0.111532 -162.50 77.50 232.50 0.298139 -162.50 77.50 237.50 0.64491 -162.50 77.50 242.50 1.16453 -162.50 77.50 247.50 1.6855 -162.50 77.50 252.50 2.07224 -162.50 77.50 257.50 2.18688 -162.50 77.50 262.50 1.7447 -162.50 77.50 267.50 1.13782 -162.50 77.50 272.50 0.527182 -162.50 77.50 277.50 0.286755 -162.50 77.50 282.50 0.199615 -162.50 77.50 287.50 0.174708 -162.50 77.50 292.50 0.0988983 -162.50 77.50 297.50 0.0442532 -162.50 77.50 302.50 0.0172979 -162.50 77.50 307.50 0.00952981 -162.50 77.50 312.50 0.0287376 -162.50 77.50 317.50 0.111532 -162.50 77.50 322.50 0.298138 -162.50 77.50 327.50 0.644908 -162.50 77.50 332.50 1.16453 -162.50 77.50 337.50 1.6855 -162.50 77.50 342.50 2.07224 -162.50 77.50 347.50 2.18688 -162.50 77.50 352.50 1.7447 -162.50 77.50 357.50 1.13782 -162.50 82.50 2.50 0.24067 -162.50 82.50 7.50 0.147629 -162.50 82.50 12.50 0.138644 -162.50 82.50 17.50 0.119734 -162.50 82.50 22.50 0.089188 -162.50 82.50 27.50 0.048699 -162.50 82.50 32.50 0.0225818 -162.50 82.50 37.50 0.0127439 -162.50 82.50 42.50 0.0257014 -162.50 82.50 47.50 0.0852897 -162.50 82.50 52.50 0.213845 -162.50 82.50 57.50 0.397169 -162.50 82.50 62.50 0.611403 -162.50 82.50 67.50 0.807817 -162.50 82.50 72.50 0.937335 -162.50 82.50 77.50 0.999402 -162.50 82.50 82.50 0.900072 -162.50 82.50 87.50 0.544789 -162.50 82.50 92.50 0.24067 -162.50 82.50 97.50 0.147629 -162.50 82.50 102.50 0.138644 -162.50 82.50 107.50 0.119734 -162.50 82.50 112.50 0.089188 -162.50 82.50 117.50 0.048699 -162.50 82.50 122.50 0.0225818 -162.50 82.50 127.50 0.0127439 -162.50 82.50 132.50 0.0257014 -162.50 82.50 137.50 0.0852898 -162.50 82.50 142.50 0.213845 -162.50 82.50 147.50 0.397169 -162.50 82.50 152.50 0.611403 -162.50 82.50 157.50 0.807817 -162.50 82.50 162.50 0.937335 -162.50 82.50 167.50 0.999401 -162.50 82.50 172.50 0.900073 -162.50 82.50 177.50 0.544789 -162.50 82.50 182.50 0.24067 -162.50 82.50 187.50 0.147629 -162.50 82.50 192.50 0.138644 -162.50 82.50 197.50 0.119734 -162.50 82.50 202.50 0.089188 -162.50 82.50 207.50 0.048699 -162.50 82.50 212.50 0.0225818 -162.50 82.50 217.50 0.0127439 -162.50 82.50 222.50 0.0257014 -162.50 82.50 227.50 0.0852897 -162.50 82.50 232.50 0.213845 -162.50 82.50 237.50 0.39717 -162.50 82.50 242.50 0.611403 -162.50 82.50 247.50 0.807818 -162.50 82.50 252.50 0.937336 -162.50 82.50 257.50 0.999401 -162.50 82.50 262.50 0.900072 -162.50 82.50 267.50 0.544788 -162.50 82.50 272.50 0.24067 -162.50 82.50 277.50 0.147629 -162.50 82.50 282.50 0.138643 -162.50 82.50 287.50 0.119734 -162.50 82.50 292.50 0.089188 -162.50 82.50 297.50 0.048699 -162.50 82.50 302.50 0.0225818 -162.50 82.50 307.50 0.012744 -162.50 82.50 312.50 0.0257014 -162.50 82.50 317.50 0.0852896 -162.50 82.50 322.50 0.213845 -162.50 82.50 327.50 0.397169 -162.50 82.50 332.50 0.611402 -162.50 82.50 337.50 0.807816 -162.50 82.50 342.50 0.937334 -162.50 82.50 347.50 0.999401 -162.50 82.50 352.50 0.900073 -162.50 82.50 357.50 0.54479 -162.50 87.50 2.50 0.102596 -162.50 87.50 7.50 0.086999 -162.50 87.50 12.50 0.125017 -162.50 87.50 17.50 0.161509 -162.50 87.50 22.50 0.113762 -162.50 87.50 27.50 0.0566572 -162.50 87.50 32.50 0.0338705 -162.50 87.50 37.50 0.0219536 -162.50 87.50 42.50 0.0173699 -162.50 87.50 47.50 0.0369318 -162.50 87.50 52.50 0.100634 -162.50 87.50 57.50 0.201109 -162.50 87.50 62.50 0.280863 -162.50 87.50 67.50 0.314486 -162.50 87.50 72.50 0.352489 -162.50 87.50 77.50 0.378933 -162.50 87.50 82.50 0.31521 -162.50 87.50 87.50 0.216986 -162.50 87.50 92.50 0.102596 -162.50 87.50 97.50 0.0869991 -162.50 87.50 102.50 0.125017 -162.50 87.50 107.50 0.161509 -162.50 87.50 112.50 0.113762 -162.50 87.50 117.50 0.0566571 -162.50 87.50 122.50 0.0338704 -162.50 87.50 127.50 0.0219535 -162.50 87.50 132.50 0.0173699 -162.50 87.50 137.50 0.0369318 -162.50 87.50 142.50 0.100634 -162.50 87.50 147.50 0.201109 -162.50 87.50 152.50 0.280863 -162.50 87.50 157.50 0.314486 -162.50 87.50 162.50 0.352489 -162.50 87.50 167.50 0.378933 -162.50 87.50 172.50 0.31521 -162.50 87.50 177.50 0.216986 -162.50 87.50 182.50 0.102596 -162.50 87.50 187.50 0.086999 -162.50 87.50 192.50 0.125017 -162.50 87.50 197.50 0.161509 -162.50 87.50 202.50 0.113762 -162.50 87.50 207.50 0.0566571 -162.50 87.50 212.50 0.0338704 -162.50 87.50 217.50 0.0219536 -162.50 87.50 222.50 0.0173699 -162.50 87.50 227.50 0.0369318 -162.50 87.50 232.50 0.100635 -162.50 87.50 237.50 0.20111 -162.50 87.50 242.50 0.280863 -162.50 87.50 247.50 0.314486 -162.50 87.50 252.50 0.352489 -162.50 87.50 257.50 0.378933 -162.50 87.50 262.50 0.31521 -162.50 87.50 267.50 0.216985 -162.50 87.50 272.50 0.102596 -162.50 87.50 277.50 0.086999 -162.50 87.50 282.50 0.125017 -162.50 87.50 287.50 0.161509 -162.50 87.50 292.50 0.113762 -162.50 87.50 297.50 0.0566572 -162.50 87.50 302.50 0.0338705 -162.50 87.50 307.50 0.0219536 -162.50 87.50 312.50 0.0173699 -162.50 87.50 317.50 0.0369318 -162.50 87.50 322.50 0.100634 -162.50 87.50 327.50 0.201109 -162.50 87.50 332.50 0.280863 -162.50 87.50 337.50 0.314486 -162.50 87.50 342.50 0.352489 -162.50 87.50 347.50 0.378933 -162.50 87.50 352.50 0.31521 -162.50 87.50 357.50 0.216986 -162.50 92.50 2.50 0.0624686 -162.50 92.50 7.50 0.0872057 -162.50 92.50 12.50 0.134121 -162.50 92.50 17.50 0.148779 -162.50 92.50 22.50 0.129042 -162.50 92.50 27.50 0.114009 -162.50 92.50 32.50 0.102728 -162.50 92.50 37.50 0.0713707 -162.50 92.50 42.50 0.0345643 -162.50 92.50 47.50 0.0195997 -162.50 92.50 52.50 0.0345643 -162.50 92.50 57.50 0.0713707 -162.50 92.50 62.50 0.102728 -162.50 92.50 67.50 0.114009 -162.50 92.50 72.50 0.129042 -162.50 92.50 77.50 0.148779 -162.50 92.50 82.50 0.134121 -162.50 92.50 87.50 0.0872057 -162.50 92.50 92.50 0.0624685 -162.50 92.50 97.50 0.0872057 -162.50 92.50 102.50 0.134121 -162.50 92.50 107.50 0.148779 -162.50 92.50 112.50 0.129042 -162.50 92.50 117.50 0.114009 -162.50 92.50 122.50 0.102728 -162.50 92.50 127.50 0.0713706 -162.50 92.50 132.50 0.0345643 -162.50 92.50 137.50 0.0195997 -162.50 92.50 142.50 0.0345643 -162.50 92.50 147.50 0.0713706 -162.50 92.50 152.50 0.102728 -162.50 92.50 157.50 0.114009 -162.50 92.50 162.50 0.129042 -162.50 92.50 167.50 0.148779 -162.50 92.50 172.50 0.134121 -162.50 92.50 177.50 0.0872057 -162.50 92.50 182.50 0.0624685 -162.50 92.50 187.50 0.0872056 -162.50 92.50 192.50 0.134121 -162.50 92.50 197.50 0.148779 -162.50 92.50 202.50 0.129042 -162.50 92.50 207.50 0.114009 -162.50 92.50 212.50 0.102728 -162.50 92.50 217.50 0.0713707 -162.50 92.50 222.50 0.0345643 -162.50 92.50 227.50 0.0195997 -162.50 92.50 232.50 0.0345644 -162.50 92.50 237.50 0.0713707 -162.50 92.50 242.50 0.102728 -162.50 92.50 247.50 0.114009 -162.50 92.50 252.50 0.129042 -162.50 92.50 257.50 0.148779 -162.50 92.50 262.50 0.134121 -162.50 92.50 267.50 0.0872056 -162.50 92.50 272.50 0.0624686 -162.50 92.50 277.50 0.0872056 -162.50 92.50 282.50 0.134121 -162.50 92.50 287.50 0.148779 -162.50 92.50 292.50 0.129042 -162.50 92.50 297.50 0.114009 -162.50 92.50 302.50 0.102728 -162.50 92.50 307.50 0.0713707 -162.50 92.50 312.50 0.0345643 -162.50 92.50 317.50 0.0195997 -162.50 92.50 322.50 0.0345642 -162.50 92.50 327.50 0.0713705 -162.50 92.50 332.50 0.102728 -162.50 92.50 337.50 0.114009 -162.50 92.50 342.50 0.129042 -162.50 92.50 347.50 0.148779 -162.50 92.50 352.50 0.134121 -162.50 92.50 357.50 0.0872058 -162.50 97.50 2.50 0.102596 -162.50 97.50 7.50 0.216986 -162.50 97.50 12.50 0.31521 -162.50 97.50 17.50 0.378934 -162.50 97.50 22.50 0.352489 -162.50 97.50 27.50 0.314486 -162.50 97.50 32.50 0.280863 -162.50 97.50 37.50 0.201109 -162.50 97.50 42.50 0.100634 -162.50 97.50 47.50 0.0369317 -162.50 97.50 52.50 0.0173699 -162.50 97.50 57.50 0.0219536 -162.50 97.50 62.50 0.0338705 -162.50 97.50 67.50 0.0566572 -162.50 97.50 72.50 0.113762 -162.50 97.50 77.50 0.161509 -162.50 97.50 82.50 0.125017 -162.50 97.50 87.50 0.086999 -162.50 97.50 92.50 0.102596 -162.50 97.50 97.50 0.216986 -162.50 97.50 102.50 0.31521 -162.50 97.50 107.50 0.378933 -162.50 97.50 112.50 0.352489 -162.50 97.50 117.50 0.314486 -162.50 97.50 122.50 0.280863 -162.50 97.50 127.50 0.201109 -162.50 97.50 132.50 0.100634 -162.50 97.50 137.50 0.0369318 -162.50 97.50 142.50 0.0173699 -162.50 97.50 147.50 0.0219536 -162.50 97.50 152.50 0.0338705 -162.50 97.50 157.50 0.0566571 -162.50 97.50 162.50 0.113762 -162.50 97.50 167.50 0.161509 -162.50 97.50 172.50 0.125017 -162.50 97.50 177.50 0.086999 -162.50 97.50 182.50 0.102596 -162.50 97.50 187.50 0.216986 -162.50 97.50 192.50 0.31521 -162.50 97.50 197.50 0.378933 -162.50 97.50 202.50 0.352489 -162.50 97.50 207.50 0.314486 -162.50 97.50 212.50 0.280863 -162.50 97.50 217.50 0.201109 -162.50 97.50 222.50 0.100634 -162.50 97.50 227.50 0.0369318 -162.50 97.50 232.50 0.0173699 -162.50 97.50 237.50 0.0219536 -162.50 97.50 242.50 0.0338705 -162.50 97.50 247.50 0.0566572 -162.50 97.50 252.50 0.113762 -162.50 97.50 257.50 0.161509 -162.50 97.50 262.50 0.125017 -162.50 97.50 267.50 0.086999 -162.50 97.50 272.50 0.102596 -162.50 97.50 277.50 0.216986 -162.50 97.50 282.50 0.31521 -162.50 97.50 287.50 0.378933 -162.50 97.50 292.50 0.352489 -162.50 97.50 297.50 0.314486 -162.50 97.50 302.50 0.280863 -162.50 97.50 307.50 0.201109 -162.50 97.50 312.50 0.100634 -162.50 97.50 317.50 0.0369318 -162.50 97.50 322.50 0.0173699 -162.50 97.50 327.50 0.0219535 -162.50 97.50 332.50 0.0338704 -162.50 97.50 337.50 0.0566571 -162.50 97.50 342.50 0.113762 -162.50 97.50 347.50 0.161509 -162.50 97.50 352.50 0.125017 -162.50 97.50 357.50 0.0869991 -162.50 102.50 2.50 0.24067 -162.50 102.50 7.50 0.544789 -162.50 102.50 12.50 0.900073 -162.50 102.50 17.50 0.999402 -162.50 102.50 22.50 0.937335 -162.50 102.50 27.50 0.807817 -162.50 102.50 32.50 0.611403 -162.50 102.50 37.50 0.397169 -162.50 102.50 42.50 0.213845 -162.50 102.50 47.50 0.0852897 -162.50 102.50 52.50 0.0257014 -162.50 102.50 57.50 0.012744 -162.50 102.50 62.50 0.0225818 -162.50 102.50 67.50 0.0486991 -162.50 102.50 72.50 0.0891881 -162.50 102.50 77.50 0.119734 -162.50 102.50 82.50 0.138644 -162.50 102.50 87.50 0.147629 -162.50 102.50 92.50 0.24067 -162.50 102.50 97.50 0.544789 -162.50 102.50 102.50 0.900072 -162.50 102.50 107.50 0.999401 -162.50 102.50 112.50 0.937335 -162.50 102.50 117.50 0.807816 -162.50 102.50 122.50 0.611402 -162.50 102.50 127.50 0.397169 -162.50 102.50 132.50 0.213845 -162.50 102.50 137.50 0.0852897 -162.50 102.50 142.50 0.0257014 -162.50 102.50 147.50 0.012744 -162.50 102.50 152.50 0.0225818 -162.50 102.50 157.50 0.048699 -162.50 102.50 162.50 0.0891879 -162.50 102.50 167.50 0.119734 -162.50 102.50 172.50 0.138644 -162.50 102.50 177.50 0.147629 -162.50 102.50 182.50 0.24067 -162.50 102.50 187.50 0.544789 -162.50 102.50 192.50 0.900072 -162.50 102.50 197.50 0.999401 -162.50 102.50 202.50 0.937334 -162.50 102.50 207.50 0.807817 -162.50 102.50 212.50 0.611402 -162.50 102.50 217.50 0.397169 -162.50 102.50 222.50 0.213845 -162.50 102.50 227.50 0.0852898 -162.50 102.50 232.50 0.0257013 -162.50 102.50 237.50 0.012744 -162.50 102.50 242.50 0.0225818 -162.50 102.50 247.50 0.0486991 -162.50 102.50 252.50 0.089188 -162.50 102.50 257.50 0.119734 -162.50 102.50 262.50 0.138643 -162.50 102.50 267.50 0.147629 -162.50 102.50 272.50 0.24067 -162.50 102.50 277.50 0.544789 -162.50 102.50 282.50 0.900072 -162.50 102.50 287.50 0.999401 -162.50 102.50 292.50 0.937335 -162.50 102.50 297.50 0.807817 -162.50 102.50 302.50 0.611403 -162.50 102.50 307.50 0.397169 -162.50 102.50 312.50 0.213845 -162.50 102.50 317.50 0.0852898 -162.50 102.50 322.50 0.0257014 -162.50 102.50 327.50 0.0127439 -162.50 102.50 332.50 0.0225818 -162.50 102.50 337.50 0.048699 -162.50 102.50 342.50 0.089188 -162.50 102.50 347.50 0.119734 -162.50 102.50 352.50 0.138644 -162.50 102.50 357.50 0.147629 -162.50 107.50 2.50 0.527183 -162.50 107.50 7.50 1.13782 -162.50 107.50 12.50 1.7447 -162.50 107.50 17.50 2.18688 -162.50 107.50 22.50 2.07224 -162.50 107.50 27.50 1.6855 -162.50 107.50 32.50 1.16453 -162.50 107.50 37.50 0.644909 -162.50 107.50 42.50 0.298138 -162.50 107.50 47.50 0.111532 -162.50 107.50 52.50 0.0287376 -162.50 107.50 57.50 0.00952981 -162.50 107.50 62.50 0.0172979 -162.50 107.50 67.50 0.0442533 -162.50 107.50 72.50 0.0988984 -162.50 107.50 77.50 0.174708 -162.50 107.50 82.50 0.199615 -162.50 107.50 87.50 0.286755 -162.50 107.50 92.50 0.527183 -162.50 107.50 97.50 1.13782 -162.50 107.50 102.50 1.7447 -162.50 107.50 107.50 2.18688 -162.50 107.50 112.50 2.07224 -162.50 107.50 117.50 1.68549 -162.50 107.50 122.50 1.16453 -162.50 107.50 127.50 0.644908 -162.50 107.50 132.50 0.298138 -162.50 107.50 137.50 0.111532 -162.50 107.50 142.50 0.0287376 -162.50 107.50 147.50 0.00952982 -162.50 107.50 152.50 0.0172979 -162.50 107.50 157.50 0.0442532 -162.50 107.50 162.50 0.0988982 -162.50 107.50 167.50 0.174708 -162.50 107.50 172.50 0.199615 -162.50 107.50 177.50 0.286755 -162.50 107.50 182.50 0.527182 -162.50 107.50 187.50 1.13782 -162.50 107.50 192.50 1.7447 -162.50 107.50 197.50 2.18688 -162.50 107.50 202.50 2.07224 -162.50 107.50 207.50 1.6855 -162.50 107.50 212.50 1.16453 -162.50 107.50 217.50 0.644909 -162.50 107.50 222.50 0.298138 -162.50 107.50 227.50 0.111532 -162.50 107.50 232.50 0.0287374 -162.50 107.50 237.50 0.00952979 -162.50 107.50 242.50 0.0172979 -162.50 107.50 247.50 0.0442533 -162.50 107.50 252.50 0.0988984 -162.50 107.50 257.50 0.174708 -162.50 107.50 262.50 0.199615 -162.50 107.50 267.50 0.286755 -162.50 107.50 272.50 0.527183 -162.50 107.50 277.50 1.13782 -162.50 107.50 282.50 1.7447 -162.50 107.50 287.50 2.18688 -162.50 107.50 292.50 2.07224 -162.50 107.50 297.50 1.6855 -162.50 107.50 302.50 1.16453 -162.50 107.50 307.50 0.644909 -162.50 107.50 312.50 0.298138 -162.50 107.50 317.50 0.111533 -162.50 107.50 322.50 0.0287377 -162.50 107.50 327.50 0.00952983 -162.50 107.50 332.50 0.0172979 -162.50 107.50 337.50 0.0442531 -162.50 107.50 342.50 0.0988981 -162.50 107.50 347.50 0.174708 -162.50 107.50 352.50 0.199615 -162.50 107.50 357.50 0.286755 -162.50 112.50 2.50 0.990532 -162.50 112.50 7.50 1.87704 -162.50 112.50 12.50 2.84177 -162.50 112.50 17.50 3.4051 -162.50 112.50 22.50 3.38127 -162.50 112.50 27.50 2.70409 -162.50 112.50 32.50 1.76307 -162.50 112.50 37.50 0.860058 -162.50 112.50 42.50 0.328941 -162.50 112.50 47.50 0.103199 -162.50 112.50 52.50 0.0241844 -162.50 112.50 57.50 0.00863225 -162.50 112.50 62.50 0.0173686 -162.50 112.50 67.50 0.0461834 -162.50 112.50 72.50 0.124869 -162.50 112.50 77.50 0.199709 -162.50 112.50 82.50 0.307753 -162.50 112.50 87.50 0.507491 -162.50 112.50 92.50 0.990532 -162.50 112.50 97.50 1.87704 -162.50 112.50 102.50 2.84176 -162.50 112.50 107.50 3.40511 -162.50 112.50 112.50 3.38127 -162.50 112.50 117.50 2.70409 -162.50 112.50 122.50 1.76307 -162.50 112.50 127.50 0.860056 -162.50 112.50 132.50 0.328941 -162.50 112.50 137.50 0.103199 -162.50 112.50 142.50 0.0241844 -162.50 112.50 147.50 0.00863225 -162.50 112.50 152.50 0.0173686 -162.50 112.50 157.50 0.0461833 -162.50 112.50 162.50 0.124869 -162.50 112.50 167.50 0.199709 -162.50 112.50 172.50 0.307753 -162.50 112.50 177.50 0.507491 -162.50 112.50 182.50 0.990532 -162.50 112.50 187.50 1.87704 -162.50 112.50 192.50 2.84177 -162.50 112.50 197.50 3.40511 -162.50 112.50 202.50 3.38126 -162.50 112.50 207.50 2.70409 -162.50 112.50 212.50 1.76307 -162.50 112.50 217.50 0.860058 -162.50 112.50 222.50 0.328942 -162.50 112.50 227.50 0.103199 -162.50 112.50 232.50 0.0241843 -162.50 112.50 237.50 0.00863222 -162.50 112.50 242.50 0.0173685 -162.50 112.50 247.50 0.0461834 -162.50 112.50 252.50 0.124869 -162.50 112.50 257.50 0.199709 -162.50 112.50 262.50 0.307753 -162.50 112.50 267.50 0.507491 -162.50 112.50 272.50 0.990531 -162.50 112.50 277.50 1.87704 -162.50 112.50 282.50 2.84177 -162.50 112.50 287.50 3.4051 -162.50 112.50 292.50 3.38126 -162.50 112.50 297.50 2.70409 -162.50 112.50 302.50 1.76307 -162.50 112.50 307.50 0.860059 -162.50 112.50 312.50 0.328941 -162.50 112.50 317.50 0.103199 -162.50 112.50 322.50 0.0241845 -162.50 112.50 327.50 0.00863226 -162.50 112.50 332.50 0.0173685 -162.50 112.50 337.50 0.0461832 -162.50 112.50 342.50 0.124869 -162.50 112.50 347.50 0.199709 -162.50 112.50 352.50 0.307753 -162.50 112.50 357.50 0.507491 -162.50 117.50 2.50 1.58451 -162.50 117.50 7.50 2.79226 -162.50 117.50 12.50 3.8505 -162.50 117.50 17.50 4.45135 -162.50 117.50 22.50 4.34267 -162.50 117.50 27.50 3.3653 -162.50 117.50 32.50 2.04 -162.50 117.50 37.50 0.956496 -162.50 117.50 42.50 0.335211 -162.50 117.50 47.50 0.0861292 -162.50 117.50 52.50 0.0180849 -162.50 117.50 57.50 0.00788941 -162.50 117.50 62.50 0.0148723 -162.50 117.50 67.50 0.0468314 -162.50 117.50 72.50 0.121093 -162.50 117.50 77.50 0.241472 -162.50 117.50 82.50 0.486186 -162.50 117.50 87.50 0.837527 -162.50 117.50 92.50 1.58451 -162.50 117.50 97.50 2.79226 -162.50 117.50 102.50 3.8505 -162.50 117.50 107.50 4.45135 -162.50 117.50 112.50 4.34267 -162.50 117.50 117.50 3.3653 -162.50 117.50 122.50 2.04 -162.50 117.50 127.50 0.956495 -162.50 117.50 132.50 0.335211 -162.50 117.50 137.50 0.0861292 -162.50 117.50 142.50 0.0180849 -162.50 117.50 147.50 0.00788941 -162.50 117.50 152.50 0.0148723 -162.50 117.50 157.50 0.0468313 -162.50 117.50 162.50 0.121093 -162.50 117.50 167.50 0.241472 -162.50 117.50 172.50 0.486185 -162.50 117.50 177.50 0.837527 -162.50 117.50 182.50 1.58451 -162.50 117.50 187.50 2.79226 -162.50 117.50 192.50 3.8505 -162.50 117.50 197.50 4.45136 -162.50 117.50 202.50 4.34267 -162.50 117.50 207.50 3.3653 -162.50 117.50 212.50 2.04 -162.50 117.50 217.50 0.956496 -162.50 117.50 222.50 0.335211 -162.50 117.50 227.50 0.0861294 -162.50 117.50 232.50 0.0180848 -162.50 117.50 237.50 0.00788942 -162.50 117.50 242.50 0.0148723 -162.50 117.50 247.50 0.0468314 -162.50 117.50 252.50 0.121093 -162.50 117.50 257.50 0.241472 -162.50 117.50 262.50 0.486186 -162.50 117.50 267.50 0.837528 -162.50 117.50 272.50 1.58451 -162.50 117.50 277.50 2.79226 -162.50 117.50 282.50 3.8505 -162.50 117.50 287.50 4.45136 -162.50 117.50 292.50 4.34268 -162.50 117.50 297.50 3.3653 -162.50 117.50 302.50 2.04001 -162.50 117.50 307.50 0.956497 -162.50 117.50 312.50 0.335211 -162.50 117.50 317.50 0.0861295 -162.50 117.50 322.50 0.0180849 -162.50 117.50 327.50 0.00788941 -162.50 117.50 332.50 0.0148722 -162.50 117.50 337.50 0.0468312 -162.50 117.50 342.50 0.121093 -162.50 117.50 347.50 0.241472 -162.50 117.50 352.50 0.486185 -162.50 117.50 357.50 0.837526 -162.50 122.50 2.50 2.28343 -162.50 122.50 7.50 3.66596 -162.50 122.50 12.50 4.65531 -162.50 122.50 17.50 4.97593 -162.50 122.50 22.50 4.55045 -162.50 122.50 27.50 3.41962 -162.50 122.50 32.50 1.90083 -162.50 122.50 37.50 0.82346 -162.50 122.50 42.50 0.244396 -162.50 122.50 47.50 0.045335 -162.50 122.50 52.50 0.0100612 -162.50 122.50 57.50 0.0099559 -162.50 122.50 62.50 0.0287023 -162.50 122.50 67.50 0.0745229 -162.50 122.50 72.50 0.168754 -162.50 122.50 77.50 0.385374 -162.50 122.50 82.50 0.78064 -162.50 122.50 87.50 1.33413 -162.50 122.50 92.50 2.28343 -162.50 122.50 97.50 3.66596 -162.50 122.50 102.50 4.65531 -162.50 122.50 107.50 4.97593 -162.50 122.50 112.50 4.55045 -162.50 122.50 117.50 3.41962 -162.50 122.50 122.50 1.90083 -162.50 122.50 127.50 0.82346 -162.50 122.50 132.50 0.244396 -162.50 122.50 137.50 0.045335 -162.50 122.50 142.50 0.0100612 -162.50 122.50 147.50 0.0099559 -162.50 122.50 152.50 0.0287022 -162.50 122.50 157.50 0.0745227 -162.50 122.50 162.50 0.168753 -162.50 122.50 167.50 0.385374 -162.50 122.50 172.50 0.78064 -162.50 122.50 177.50 1.33413 -162.50 122.50 182.50 2.28343 -162.50 122.50 187.50 3.66596 -162.50 122.50 192.50 4.65531 -162.50 122.50 197.50 4.97593 -162.50 122.50 202.50 4.55045 -162.50 122.50 207.50 3.41962 -162.50 122.50 212.50 1.90083 -162.50 122.50 217.50 0.823461 -162.50 122.50 222.50 0.244396 -162.50 122.50 227.50 0.0453351 -162.50 122.50 232.50 0.0100612 -162.50 122.50 237.50 0.00995591 -162.50 122.50 242.50 0.0287022 -162.50 122.50 247.50 0.074523 -162.50 122.50 252.50 0.168754 -162.50 122.50 257.50 0.385374 -162.50 122.50 262.50 0.78064 -162.50 122.50 267.50 1.33413 -162.50 122.50 272.50 2.28343 -162.50 122.50 277.50 3.66596 -162.50 122.50 282.50 4.65531 -162.50 122.50 287.50 4.97593 -162.50 122.50 292.50 4.55045 -162.50 122.50 297.50 3.41962 -162.50 122.50 302.50 1.90083 -162.50 122.50 307.50 0.823462 -162.50 122.50 312.50 0.244396 -162.50 122.50 317.50 0.0453352 -162.50 122.50 322.50 0.0100612 -162.50 122.50 327.50 0.00995588 -162.50 122.50 332.50 0.0287021 -162.50 122.50 337.50 0.0745226 -162.50 122.50 342.50 0.168753 -162.50 122.50 347.50 0.385374 -162.50 122.50 352.50 0.780639 -162.50 122.50 357.50 1.33413 -162.50 127.50 2.50 3.12281 -162.50 127.50 7.50 4.34924 -162.50 127.50 12.50 5.08928 -162.50 127.50 17.50 4.86539 -162.50 127.50 22.50 4.07693 -162.50 127.50 27.50 2.72937 -162.50 127.50 32.50 1.4484 -162.50 127.50 37.50 0.540126 -162.50 127.50 42.50 0.149992 -162.50 127.50 47.50 0.032745 -162.50 127.50 52.50 0.00826452 -162.50 127.50 57.50 0.0156722 -162.50 127.50 62.50 0.0566754 -162.50 127.50 67.50 0.150526 -162.50 127.50 72.50 0.335683 -162.50 127.50 77.50 0.705297 -162.50 127.50 82.50 1.26427 -162.50 127.50 87.50 2.05638 -162.50 127.50 92.50 3.12281 -162.50 127.50 97.50 4.34924 -162.50 127.50 102.50 5.08928 -162.50 127.50 107.50 4.86539 -162.50 127.50 112.50 4.07693 -162.50 127.50 117.50 2.72937 -162.50 127.50 122.50 1.4484 -162.50 127.50 127.50 0.540125 -162.50 127.50 132.50 0.149992 -162.50 127.50 137.50 0.032745 -162.50 127.50 142.50 0.00826452 -162.50 127.50 147.50 0.0156722 -162.50 127.50 152.50 0.0566753 -162.50 127.50 157.50 0.150526 -162.50 127.50 162.50 0.335682 -162.50 127.50 167.50 0.705296 -162.50 127.50 172.50 1.26427 -162.50 127.50 177.50 2.05638 -162.50 127.50 182.50 3.12281 -162.50 127.50 187.50 4.34925 -162.50 127.50 192.50 5.08928 -162.50 127.50 197.50 4.86539 -162.50 127.50 202.50 4.07693 -162.50 127.50 207.50 2.72937 -162.50 127.50 212.50 1.4484 -162.50 127.50 217.50 0.540126 -162.50 127.50 222.50 0.149992 -162.50 127.50 227.50 0.032745 -162.50 127.50 232.50 0.00826451 -162.50 127.50 237.50 0.0156722 -162.50 127.50 242.50 0.0566754 -162.50 127.50 247.50 0.150526 -162.50 127.50 252.50 0.335683 -162.50 127.50 257.50 0.705298 -162.50 127.50 262.50 1.26427 -162.50 127.50 267.50 2.05639 -162.50 127.50 272.50 3.12281 -162.50 127.50 277.50 4.34924 -162.50 127.50 282.50 5.08928 -162.50 127.50 287.50 4.86539 -162.50 127.50 292.50 4.07693 -162.50 127.50 297.50 2.72937 -162.50 127.50 302.50 1.4484 -162.50 127.50 307.50 0.540127 -162.50 127.50 312.50 0.149992 -162.50 127.50 317.50 0.0327451 -162.50 127.50 322.50 0.00826451 -162.50 127.50 327.50 0.0156722 -162.50 127.50 332.50 0.0566754 -162.50 127.50 337.50 0.150526 -162.50 127.50 342.50 0.335682 -162.50 127.50 347.50 0.705296 -162.50 127.50 352.50 1.26427 -162.50 127.50 357.50 2.05638 -162.50 132.50 2.50 3.95126 -162.50 132.50 7.50 4.73907 -162.50 132.50 12.50 4.98895 -162.50 132.50 17.50 4.29494 -162.50 132.50 22.50 3.16163 -162.50 132.50 27.50 1.85735 -162.50 132.50 32.50 0.867069 -162.50 132.50 37.50 0.320984 -162.50 132.50 42.50 0.0813409 -162.50 132.50 47.50 0.0175414 -162.50 132.50 52.50 0.0113143 -162.50 132.50 57.50 0.0326858 -162.50 132.50 62.50 0.0934185 -162.50 132.50 67.50 0.264477 -162.50 132.50 72.50 0.615838 -162.50 132.50 77.50 1.1717 -162.50 132.50 82.50 1.90678 -162.50 132.50 87.50 2.87227 -162.50 132.50 92.50 3.95126 -162.50 132.50 97.50 4.73907 -162.50 132.50 102.50 4.98895 -162.50 132.50 107.50 4.29494 -162.50 132.50 112.50 3.16163 -162.50 132.50 117.50 1.85735 -162.50 132.50 122.50 0.867069 -162.50 132.50 127.50 0.320984 -162.50 132.50 132.50 0.0813408 -162.50 132.50 137.50 0.0175414 -162.50 132.50 142.50 0.0113143 -162.50 132.50 147.50 0.0326858 -162.50 132.50 152.50 0.0934184 -162.50 132.50 157.50 0.264477 -162.50 132.50 162.50 0.615837 -162.50 132.50 167.50 1.1717 -162.50 132.50 172.50 1.90678 -162.50 132.50 177.50 2.87227 -162.50 132.50 182.50 3.95126 -162.50 132.50 187.50 4.73907 -162.50 132.50 192.50 4.98895 -162.50 132.50 197.50 4.29494 -162.50 132.50 202.50 3.16164 -162.50 132.50 207.50 1.85735 -162.50 132.50 212.50 0.86707 -162.50 132.50 217.50 0.320984 -162.50 132.50 222.50 0.0813409 -162.50 132.50 227.50 0.0175414 -162.50 132.50 232.50 0.0113143 -162.50 132.50 237.50 0.0326859 -162.50 132.50 242.50 0.0934186 -162.50 132.50 247.50 0.264477 -162.50 132.50 252.50 0.615838 -162.50 132.50 257.50 1.1717 -162.50 132.50 262.50 1.90679 -162.50 132.50 267.50 2.87228 -162.50 132.50 272.50 3.95126 -162.50 132.50 277.50 4.73907 -162.50 132.50 282.50 4.98895 -162.50 132.50 287.50 4.29494 -162.50 132.50 292.50 3.16164 -162.50 132.50 297.50 1.85735 -162.50 132.50 302.50 0.86707 -162.50 132.50 307.50 0.320984 -162.50 132.50 312.50 0.081341 -162.50 132.50 317.50 0.0175414 -162.50 132.50 322.50 0.0113143 -162.50 132.50 327.50 0.0326858 -162.50 132.50 332.50 0.0934183 -162.50 132.50 337.50 0.264476 -162.50 132.50 342.50 0.615837 -162.50 132.50 347.50 1.1717 -162.50 132.50 352.50 1.90678 -162.50 132.50 357.50 2.87227 -162.50 137.50 2.50 4.32007 -162.50 137.50 7.50 4.66925 -162.50 137.50 12.50 4.34864 -162.50 137.50 17.50 3.38724 -162.50 137.50 22.50 2.1849 -162.50 137.50 27.50 1.09209 -162.50 137.50 32.50 0.435015 -162.50 137.50 37.50 0.155387 -162.50 137.50 42.50 0.0359633 -162.50 137.50 47.50 0.0122731 -162.50 137.50 52.50 0.0122159 -162.50 137.50 57.50 0.0497084 -162.50 137.50 62.50 0.15977 -162.50 137.50 67.50 0.416995 -162.50 137.50 72.50 0.994168 -162.50 137.50 77.50 1.70873 -162.50 137.50 82.50 2.48277 -162.50 137.50 87.50 3.4196 -162.50 137.50 92.50 4.32007 -162.50 137.50 97.50 4.66925 -162.50 137.50 102.50 4.34864 -162.50 137.50 107.50 3.38724 -162.50 137.50 112.50 2.1849 -162.50 137.50 117.50 1.09209 -162.50 137.50 122.50 0.435015 -162.50 137.50 127.50 0.155387 -162.50 137.50 132.50 0.0359633 -162.50 137.50 137.50 0.0122731 -162.50 137.50 142.50 0.0122159 -162.50 137.50 147.50 0.0497084 -162.50 137.50 152.50 0.159769 -162.50 137.50 157.50 0.416995 -162.50 137.50 162.50 0.994168 -162.50 137.50 167.50 1.70873 -162.50 137.50 172.50 2.48277 -162.50 137.50 177.50 3.4196 -162.50 137.50 182.50 4.32007 -162.50 137.50 187.50 4.66925 -162.50 137.50 192.50 4.34864 -162.50 137.50 197.50 3.38724 -162.50 137.50 202.50 2.1849 -162.50 137.50 207.50 1.09209 -162.50 137.50 212.50 0.435015 -162.50 137.50 217.50 0.155387 -162.50 137.50 222.50 0.0359634 -162.50 137.50 227.50 0.0122731 -162.50 137.50 232.50 0.012216 -162.50 137.50 237.50 0.0497085 -162.50 137.50 242.50 0.15977 -162.50 137.50 247.50 0.416996 -162.50 137.50 252.50 0.994169 -162.50 137.50 257.50 1.70873 -162.50 137.50 262.50 2.48277 -162.50 137.50 267.50 3.4196 -162.50 137.50 272.50 4.32007 -162.50 137.50 277.50 4.66925 -162.50 137.50 282.50 4.34864 -162.50 137.50 287.50 3.38724 -162.50 137.50 292.50 2.1849 -162.50 137.50 297.50 1.09209 -162.50 137.50 302.50 0.435016 -162.50 137.50 307.50 0.155387 -162.50 137.50 312.50 0.0359634 -162.50 137.50 317.50 0.0122731 -162.50 137.50 322.50 0.0122159 -162.50 137.50 327.50 0.0497083 -162.50 137.50 332.50 0.159769 -162.50 137.50 337.50 0.416994 -162.50 137.50 342.50 0.994166 -162.50 137.50 347.50 1.70873 -162.50 137.50 352.50 2.48276 -162.50 137.50 357.50 3.4196 -162.50 142.50 2.50 3.95126 -162.50 142.50 7.50 3.98414 -162.50 142.50 12.50 3.33049 -162.50 142.50 17.50 2.33596 -162.50 142.50 22.50 1.31015 -162.50 142.50 27.50 0.573797 -162.50 142.50 32.50 0.193326 -162.50 142.50 37.50 0.059778 -162.50 142.50 42.50 0.0171214 -162.50 142.50 47.50 0.00680786 -162.50 142.50 52.50 0.0174267 -162.50 142.50 57.50 0.0653322 -162.50 142.50 62.50 0.221198 -162.50 142.50 67.50 0.639227 -162.50 142.50 72.50 1.35737 -162.50 142.50 77.50 2.13049 -162.50 142.50 82.50 2.75895 -162.50 142.50 87.50 3.40139 -162.50 142.50 92.50 3.95126 -162.50 142.50 97.50 3.98414 -162.50 142.50 102.50 3.33049 -162.50 142.50 107.50 2.33596 -162.50 142.50 112.50 1.31015 -162.50 142.50 117.50 0.573797 -162.50 142.50 122.50 0.193326 -162.50 142.50 127.50 0.0597779 -162.50 142.50 132.50 0.0171214 -162.50 142.50 137.50 0.00680786 -162.50 142.50 142.50 0.0174266 -162.50 142.50 147.50 0.0653322 -162.50 142.50 152.50 0.221197 -162.50 142.50 157.50 0.639226 -162.50 142.50 162.50 1.35737 -162.50 142.50 167.50 2.13049 -162.50 142.50 172.50 2.75895 -162.50 142.50 177.50 3.40139 -162.50 142.50 182.50 3.95126 -162.50 142.50 187.50 3.98414 -162.50 142.50 192.50 3.33049 -162.50 142.50 197.50 2.33596 -162.50 142.50 202.50 1.31015 -162.50 142.50 207.50 0.573797 -162.50 142.50 212.50 0.193326 -162.50 142.50 217.50 0.059778 -162.50 142.50 222.50 0.0171215 -162.50 142.50 227.50 0.00680786 -162.50 142.50 232.50 0.0174267 -162.50 142.50 237.50 0.0653323 -162.50 142.50 242.50 0.221198 -162.50 142.50 247.50 0.639227 -162.50 142.50 252.50 1.35737 -162.50 142.50 257.50 2.13049 -162.50 142.50 262.50 2.75896 -162.50 142.50 267.50 3.40139 -162.50 142.50 272.50 3.95126 -162.50 142.50 277.50 3.98414 -162.50 142.50 282.50 3.33049 -162.50 142.50 287.50 2.33596 -162.50 142.50 292.50 1.31015 -162.50 142.50 297.50 0.573798 -162.50 142.50 302.50 0.193326 -162.50 142.50 307.50 0.0597781 -162.50 142.50 312.50 0.0171215 -162.50 142.50 317.50 0.00680786 -162.50 142.50 322.50 0.0174266 -162.50 142.50 327.50 0.065332 -162.50 142.50 332.50 0.221197 -162.50 142.50 337.50 0.639225 -162.50 142.50 342.50 1.35737 -162.50 142.50 347.50 2.13049 -162.50 142.50 352.50 2.75895 -162.50 142.50 357.50 3.40139 -162.50 147.50 2.50 3.12281 -162.50 147.50 7.50 2.92585 -162.50 147.50 12.50 2.22085 -162.50 147.50 17.50 1.39583 -162.50 147.50 22.50 0.691644 -162.50 147.50 27.50 0.268912 -162.50 147.50 32.50 0.0813846 -162.50 147.50 37.50 0.0210778 -162.50 147.50 42.50 0.0079441 -162.50 147.50 47.50 0.0110938 -162.50 147.50 52.50 0.0307392 -162.50 147.50 57.50 0.100307 -162.50 147.50 62.50 0.313741 -162.50 147.50 67.50 0.811573 -162.50 147.50 72.50 1.57418 -162.50 147.50 77.50 2.26821 -162.50 147.50 82.50 2.65324 -162.50 147.50 87.50 2.93791 -162.50 147.50 92.50 3.12281 -162.50 147.50 97.50 2.92586 -162.50 147.50 102.50 2.22085 -162.50 147.50 107.50 1.39583 -162.50 147.50 112.50 0.691645 -162.50 147.50 117.50 0.268912 -162.50 147.50 122.50 0.0813845 -162.50 147.50 127.50 0.0210778 -162.50 147.50 132.50 0.00794411 -162.50 147.50 137.50 0.0110938 -162.50 147.50 142.50 0.0307391 -162.50 147.50 147.50 0.100307 -162.50 147.50 152.50 0.31374 -162.50 147.50 157.50 0.811573 -162.50 147.50 162.50 1.57418 -162.50 147.50 167.50 2.26821 -162.50 147.50 172.50 2.65324 -162.50 147.50 177.50 2.93791 -162.50 147.50 182.50 3.12281 -162.50 147.50 187.50 2.92585 -162.50 147.50 192.50 2.22085 -162.50 147.50 197.50 1.39583 -162.50 147.50 202.50 0.691644 -162.50 147.50 207.50 0.268912 -162.50 147.50 212.50 0.0813846 -162.50 147.50 217.50 0.0210778 -162.50 147.50 222.50 0.0079441 -162.50 147.50 227.50 0.0110938 -162.50 147.50 232.50 0.0307393 -162.50 147.50 237.50 0.100307 -162.50 147.50 242.50 0.313741 -162.50 147.50 247.50 0.811574 -162.50 147.50 252.50 1.57418 -162.50 147.50 257.50 2.26821 -162.50 147.50 262.50 2.65325 -162.50 147.50 267.50 2.93791 -162.50 147.50 272.50 3.12281 -162.50 147.50 277.50 2.92585 -162.50 147.50 282.50 2.22085 -162.50 147.50 287.50 1.39583 -162.50 147.50 292.50 0.691645 -162.50 147.50 297.50 0.268913 -162.50 147.50 302.50 0.0813846 -162.50 147.50 307.50 0.0210779 -162.50 147.50 312.50 0.00794411 -162.50 147.50 317.50 0.0110938 -162.50 147.50 322.50 0.0307391 -162.50 147.50 327.50 0.100306 -162.50 147.50 332.50 0.31374 -162.50 147.50 337.50 0.811572 -162.50 147.50 342.50 1.57418 -162.50 147.50 347.50 2.26821 -162.50 147.50 352.50 2.65324 -162.50 147.50 357.50 2.93791 -162.50 152.50 2.50 2.28343 -162.50 152.50 7.50 1.94106 -162.50 152.50 12.50 1.40864 -162.50 152.50 17.50 0.781421 -162.50 152.50 22.50 0.378184 -162.50 152.50 27.50 0.125017 -162.50 152.50 32.50 0.0367355 -162.50 152.50 37.50 0.0089805 -162.50 152.50 42.50 0.00698156 -162.50 152.50 47.50 0.0215104 -162.50 152.50 52.50 0.0640099 -162.50 152.50 57.50 0.175254 -162.50 152.50 62.50 0.446188 -162.50 152.50 67.50 0.961777 -162.50 152.50 72.50 1.66379 -162.50 152.50 77.50 2.1941 -162.50 152.50 82.50 2.32479 -162.50 152.50 87.50 2.35998 -162.50 152.50 92.50 2.28343 -162.50 152.50 97.50 1.94106 -162.50 152.50 102.50 1.40864 -162.50 152.50 107.50 0.781421 -162.50 152.50 112.50 0.378184 -162.50 152.50 117.50 0.125016 -162.50 152.50 122.50 0.0367355 -162.50 152.50 127.50 0.00898049 -162.50 152.50 132.50 0.00698155 -162.50 152.50 137.50 0.0215104 -162.50 152.50 142.50 0.0640098 -162.50 152.50 147.50 0.175254 -162.50 152.50 152.50 0.446187 -162.50 152.50 157.50 0.961776 -162.50 152.50 162.50 1.66379 -162.50 152.50 167.50 2.1941 -162.50 152.50 172.50 2.32479 -162.50 152.50 177.50 2.35998 -162.50 152.50 182.50 2.28343 -162.50 152.50 187.50 1.94106 -162.50 152.50 192.50 1.40864 -162.50 152.50 197.50 0.781421 -162.50 152.50 202.50 0.378184 -162.50 152.50 207.50 0.125017 -162.50 152.50 212.50 0.0367355 -162.50 152.50 217.50 0.0089805 -162.50 152.50 222.50 0.00698155 -162.50 152.50 227.50 0.0215104 -162.50 152.50 232.50 0.06401 -162.50 152.50 237.50 0.175255 -162.50 152.50 242.50 0.446188 -162.50 152.50 247.50 0.961777 -162.50 152.50 252.50 1.66379 -162.50 152.50 257.50 2.1941 -162.50 152.50 262.50 2.32479 -162.50 152.50 267.50 2.35998 -162.50 152.50 272.50 2.28343 -162.50 152.50 277.50 1.94106 -162.50 152.50 282.50 1.40864 -162.50 152.50 287.50 0.781422 -162.50 152.50 292.50 0.378184 -162.50 152.50 297.50 0.125017 -162.50 152.50 302.50 0.0367356 -162.50 152.50 307.50 0.00898051 -162.50 152.50 312.50 0.00698154 -162.50 152.50 317.50 0.0215104 -162.50 152.50 322.50 0.0640098 -162.50 152.50 327.50 0.175254 -162.50 152.50 332.50 0.446187 -162.50 152.50 337.50 0.961775 -162.50 152.50 342.50 1.66378 -162.50 152.50 347.50 2.1941 -162.50 152.50 352.50 2.32479 -162.50 152.50 357.50 2.35998 -162.50 157.50 2.50 1.58451 -162.50 157.50 7.50 1.23133 -162.50 157.50 12.50 0.880206 -162.50 157.50 17.50 0.497712 -162.50 157.50 22.50 0.231887 -162.50 157.50 27.50 0.0958945 -162.50 157.50 32.50 0.033119 -162.50 157.50 37.50 0.0126958 -162.50 157.50 42.50 0.010662 -162.50 157.50 47.50 0.030863 -162.50 157.50 52.50 0.104566 -162.50 157.50 57.50 0.280167 -162.50 157.50 62.50 0.613147 -162.50 157.50 67.50 1.12864 -162.50 157.50 72.50 1.67424 -162.50 157.50 77.50 1.96043 -162.50 157.50 82.50 1.93052 -162.50 157.50 87.50 1.7892 -162.50 157.50 92.50 1.58451 -162.50 157.50 97.50 1.23133 -162.50 157.50 102.50 0.880205 -162.50 157.50 107.50 0.497712 -162.50 157.50 112.50 0.231887 -162.50 157.50 117.50 0.0958945 -162.50 157.50 122.50 0.0331189 -162.50 157.50 127.50 0.0126958 -162.50 157.50 132.50 0.010662 -162.50 157.50 137.50 0.030863 -162.50 157.50 142.50 0.104566 -162.50 157.50 147.50 0.280167 -162.50 157.50 152.50 0.613146 -162.50 157.50 157.50 1.12864 -162.50 157.50 162.50 1.67424 -162.50 157.50 167.50 1.96044 -162.50 157.50 172.50 1.93052 -162.50 157.50 177.50 1.78921 -162.50 157.50 182.50 1.58451 -162.50 157.50 187.50 1.23133 -162.50 157.50 192.50 0.880205 -162.50 157.50 197.50 0.497712 -162.50 157.50 202.50 0.231887 -162.50 157.50 207.50 0.0958946 -162.50 157.50 212.50 0.033119 -162.50 157.50 217.50 0.0126958 -162.50 157.50 222.50 0.010662 -162.50 157.50 227.50 0.0308629 -162.50 157.50 232.50 0.104566 -162.50 157.50 237.50 0.280168 -162.50 157.50 242.50 0.613147 -162.50 157.50 247.50 1.12864 -162.50 157.50 252.50 1.67424 -162.50 157.50 257.50 1.96043 -162.50 157.50 262.50 1.93051 -162.50 157.50 267.50 1.78921 -162.50 157.50 272.50 1.58451 -162.50 157.50 277.50 1.23133 -162.50 157.50 282.50 0.880206 -162.50 157.50 287.50 0.497712 -162.50 157.50 292.50 0.231887 -162.50 157.50 297.50 0.0958947 -162.50 157.50 302.50 0.033119 -162.50 157.50 307.50 0.0126958 -162.50 157.50 312.50 0.010662 -162.50 157.50 317.50 0.030863 -162.50 157.50 322.50 0.104566 -162.50 157.50 327.50 0.280167 -162.50 157.50 332.50 0.613145 -162.50 157.50 337.50 1.12864 -162.50 157.50 342.50 1.67424 -162.50 157.50 347.50 1.96043 -162.50 157.50 352.50 1.93051 -162.50 157.50 357.50 1.78921 -162.50 162.50 2.50 0.990532 -162.50 162.50 7.50 0.731449 -162.50 162.50 12.50 0.504197 -162.50 162.50 17.50 0.327897 -162.50 162.50 22.50 0.180535 -162.50 162.50 27.50 0.11271 -162.50 162.50 32.50 0.0712188 -162.50 162.50 37.50 0.0310734 -162.50 162.50 42.50 0.0157651 -162.50 162.50 47.50 0.0397711 -162.50 162.50 52.50 0.130404 -162.50 162.50 57.50 0.352547 -162.50 162.50 62.50 0.745596 -162.50 162.50 67.50 1.24457 -162.50 162.50 72.50 1.6252 -162.50 162.50 77.50 1.68049 -162.50 162.50 82.50 1.47733 -162.50 162.50 87.50 1.2191 -162.50 162.50 92.50 0.990532 -162.50 162.50 97.50 0.731449 -162.50 162.50 102.50 0.504197 -162.50 162.50 107.50 0.327897 -162.50 162.50 112.50 0.180535 -162.50 162.50 117.50 0.11271 -162.50 162.50 122.50 0.0712188 -162.50 162.50 127.50 0.0310734 -162.50 162.50 132.50 0.0157651 -162.50 162.50 137.50 0.0397711 -162.50 162.50 142.50 0.130404 -162.50 162.50 147.50 0.352546 -162.50 162.50 152.50 0.745595 -162.50 162.50 157.50 1.24457 -162.50 162.50 162.50 1.6252 -162.50 162.50 167.50 1.68049 -162.50 162.50 172.50 1.47733 -162.50 162.50 177.50 1.2191 -162.50 162.50 182.50 0.990532 -162.50 162.50 187.50 0.731449 -162.50 162.50 192.50 0.504197 -162.50 162.50 197.50 0.327897 -162.50 162.50 202.50 0.180535 -162.50 162.50 207.50 0.11271 -162.50 162.50 212.50 0.0712189 -162.50 162.50 217.50 0.0310734 -162.50 162.50 222.50 0.0157651 -162.50 162.50 227.50 0.0397711 -162.50 162.50 232.50 0.130405 -162.50 162.50 237.50 0.352547 -162.50 162.50 242.50 0.745596 -162.50 162.50 247.50 1.24457 -162.50 162.50 252.50 1.6252 -162.50 162.50 257.50 1.68049 -162.50 162.50 262.50 1.47733 -162.50 162.50 267.50 1.2191 -162.50 162.50 272.50 0.990532 -162.50 162.50 277.50 0.731449 -162.50 162.50 282.50 0.504197 -162.50 162.50 287.50 0.327898 -162.50 162.50 292.50 0.180535 -162.50 162.50 297.50 0.11271 -162.50 162.50 302.50 0.071219 -162.50 162.50 307.50 0.0310734 -162.50 162.50 312.50 0.0157651 -162.50 162.50 317.50 0.039771 -162.50 162.50 322.50 0.130404 -162.50 162.50 327.50 0.352546 -162.50 162.50 332.50 0.745595 -162.50 162.50 337.50 1.24457 -162.50 162.50 342.50 1.6252 -162.50 162.50 347.50 1.68049 -162.50 162.50 352.50 1.47733 -162.50 162.50 357.50 1.2191 -162.50 167.50 2.50 0.527183 -162.50 167.50 7.50 0.384253 -162.50 167.50 12.50 0.251369 -162.50 167.50 17.50 0.196518 -162.50 167.50 22.50 0.160424 -162.50 167.50 27.50 0.1371 -162.50 167.50 32.50 0.10044 -162.50 167.50 37.50 0.0540654 -162.50 167.50 42.50 0.0261998 -162.50 167.50 47.50 0.0433835 -162.50 167.50 52.50 0.127702 -162.50 167.50 57.50 0.340342 -162.50 167.50 62.50 0.759201 -162.50 167.50 67.50 1.26173 -162.50 167.50 72.50 1.544 -162.50 167.50 77.50 1.41763 -162.50 167.50 82.50 1.0402 -162.50 167.50 87.50 0.720483 -162.50 167.50 92.50 0.527183 -162.50 167.50 97.50 0.384252 -162.50 167.50 102.50 0.251369 -162.50 167.50 107.50 0.196518 -162.50 167.50 112.50 0.160424 -162.50 167.50 117.50 0.1371 -162.50 167.50 122.50 0.10044 -162.50 167.50 127.50 0.0540654 -162.50 167.50 132.50 0.0261998 -162.50 167.50 137.50 0.0433834 -162.50 167.50 142.50 0.127702 -162.50 167.50 147.50 0.340342 -162.50 167.50 152.50 0.7592 -162.50 167.50 157.50 1.26173 -162.50 167.50 162.50 1.544 -162.50 167.50 167.50 1.41763 -162.50 167.50 172.50 1.0402 -162.50 167.50 177.50 0.720482 -162.50 167.50 182.50 0.527183 -162.50 167.50 187.50 0.384252 -162.50 167.50 192.50 0.251369 -162.50 167.50 197.50 0.196518 -162.50 167.50 202.50 0.160424 -162.50 167.50 207.50 0.1371 -162.50 167.50 212.50 0.10044 -162.50 167.50 217.50 0.0540654 -162.50 167.50 222.50 0.0261997 -162.50 167.50 227.50 0.0433834 -162.50 167.50 232.50 0.127702 -162.50 167.50 237.50 0.340342 -162.50 167.50 242.50 0.759201 -162.50 167.50 247.50 1.26173 -162.50 167.50 252.50 1.544 -162.50 167.50 257.50 1.41763 -162.50 167.50 262.50 1.0402 -162.50 167.50 267.50 0.720482 -162.50 167.50 272.50 0.527183 -162.50 167.50 277.50 0.384253 -162.50 167.50 282.50 0.251369 -162.50 167.50 287.50 0.196518 -162.50 167.50 292.50 0.160424 -162.50 167.50 297.50 0.1371 -162.50 167.50 302.50 0.10044 -162.50 167.50 307.50 0.0540655 -162.50 167.50 312.50 0.0261997 -162.50 167.50 317.50 0.0433834 -162.50 167.50 322.50 0.127701 -162.50 167.50 327.50 0.340341 -162.50 167.50 332.50 0.759199 -162.50 167.50 337.50 1.26173 -162.50 167.50 342.50 1.544 -162.50 167.50 347.50 1.41763 -162.50 167.50 352.50 1.0402 -162.50 167.50 357.50 0.720483 -162.50 172.50 2.50 0.24067 -162.50 172.50 7.50 0.181725 -162.50 172.50 12.50 0.141147 -162.50 172.50 17.50 0.111957 -162.50 172.50 22.50 0.119082 -162.50 172.50 27.50 0.121307 -162.50 172.50 32.50 0.100238 -162.50 172.50 37.50 0.0612511 -162.50 172.50 42.50 0.0320373 -162.50 172.50 47.50 0.0389844 -162.50 172.50 52.50 0.10447 -162.50 172.50 57.50 0.285569 -162.50 172.50 62.50 0.65645 -162.50 172.50 67.50 1.12589 -162.50 172.50 72.50 1.35396 -162.50 172.50 77.50 1.13499 -162.50 172.50 82.50 0.704975 -162.50 172.50 87.50 0.38469 -162.50 172.50 92.50 0.24067 -162.50 172.50 97.50 0.181724 -162.50 172.50 102.50 0.141147 -162.50 172.50 107.50 0.111957 -162.50 172.50 112.50 0.119082 -162.50 172.50 117.50 0.121307 -162.50 172.50 122.50 0.100238 -162.50 172.50 127.50 0.0612511 -162.50 172.50 132.50 0.0320373 -162.50 172.50 137.50 0.0389844 -162.50 172.50 142.50 0.10447 -162.50 172.50 147.50 0.285569 -162.50 172.50 152.50 0.65645 -162.50 172.50 157.50 1.12589 -162.50 172.50 162.50 1.35396 -162.50 172.50 167.50 1.13499 -162.50 172.50 172.50 0.704975 -162.50 172.50 177.50 0.38469 -162.50 172.50 182.50 0.24067 -162.50 172.50 187.50 0.181724 -162.50 172.50 192.50 0.141147 -162.50 172.50 197.50 0.111957 -162.50 172.50 202.50 0.119082 -162.50 172.50 207.50 0.121307 -162.50 172.50 212.50 0.100238 -162.50 172.50 217.50 0.0612511 -162.50 172.50 222.50 0.0320373 -162.50 172.50 227.50 0.0389843 -162.50 172.50 232.50 0.10447 -162.50 172.50 237.50 0.28557 -162.50 172.50 242.50 0.656451 -162.50 172.50 247.50 1.12589 -162.50 172.50 252.50 1.35396 -162.50 172.50 257.50 1.13499 -162.50 172.50 262.50 0.704974 -162.50 172.50 267.50 0.38469 -162.50 172.50 272.50 0.24067 -162.50 172.50 277.50 0.181725 -162.50 172.50 282.50 0.141148 -162.50 172.50 287.50 0.111957 -162.50 172.50 292.50 0.119082 -162.50 172.50 297.50 0.121307 -162.50 172.50 302.50 0.100238 -162.50 172.50 307.50 0.0612512 -162.50 172.50 312.50 0.0320373 -162.50 172.50 317.50 0.0389843 -162.50 172.50 322.50 0.10447 -162.50 172.50 327.50 0.285568 -162.50 172.50 332.50 0.656449 -162.50 172.50 337.50 1.12589 -162.50 172.50 342.50 1.35396 -162.50 172.50 347.50 1.13499 -162.50 172.50 352.50 0.704976 -162.50 172.50 357.50 0.384691 -162.50 177.50 2.50 0.102596 -162.50 177.50 7.50 0.0808219 -162.50 177.50 12.50 0.0821991 -162.50 177.50 17.50 0.0878967 -162.50 177.50 22.50 0.0897202 -162.50 177.50 27.50 0.0859237 -162.50 177.50 32.50 0.0750918 -162.50 177.50 37.50 0.0604866 -162.50 177.50 42.50 0.0434974 -162.50 177.50 47.50 0.0399292 -162.50 177.50 52.50 0.0711834 -162.50 177.50 57.50 0.188832 -162.50 177.50 62.50 0.470401 -162.50 177.50 67.50 0.856093 -162.50 177.50 72.50 1.03537 -162.50 177.50 77.50 0.829238 -162.50 177.50 82.50 0.45873 -162.50 177.50 87.50 0.202463 -162.50 177.50 92.50 0.102596 -162.50 177.50 97.50 0.0808219 -162.50 177.50 102.50 0.0821991 -162.50 177.50 107.50 0.0878966 -162.50 177.50 112.50 0.0897202 -162.50 177.50 117.50 0.0859236 -162.50 177.50 122.50 0.0750918 -162.50 177.50 127.50 0.0604865 -162.50 177.50 132.50 0.0434974 -162.50 177.50 137.50 0.0399293 -162.50 177.50 142.50 0.0711834 -162.50 177.50 147.50 0.188832 -162.50 177.50 152.50 0.470401 -162.50 177.50 157.50 0.856092 -162.50 177.50 162.50 1.03537 -162.50 177.50 167.50 0.829238 -162.50 177.50 172.50 0.45873 -162.50 177.50 177.50 0.202463 -162.50 177.50 182.50 0.102596 -162.50 177.50 187.50 0.0808219 -162.50 177.50 192.50 0.0821991 -162.50 177.50 197.50 0.0878967 -162.50 177.50 202.50 0.0897203 -162.50 177.50 207.50 0.0859237 -162.50 177.50 212.50 0.0750918 -162.50 177.50 217.50 0.0604866 -162.50 177.50 222.50 0.0434974 -162.50 177.50 227.50 0.0399292 -162.50 177.50 232.50 0.0711833 -162.50 177.50 237.50 0.188832 -162.50 177.50 242.50 0.470401 -162.50 177.50 247.50 0.856093 -162.50 177.50 252.50 1.03537 -162.50 177.50 257.50 0.829238 -162.50 177.50 262.50 0.45873 -162.50 177.50 267.50 0.202463 -162.50 177.50 272.50 0.102596 -162.50 177.50 277.50 0.0808219 -162.50 177.50 282.50 0.0821991 -162.50 177.50 287.50 0.0878967 -162.50 177.50 292.50 0.0897203 -162.50 177.50 297.50 0.0859237 -162.50 177.50 302.50 0.0750918 -162.50 177.50 307.50 0.0604866 -162.50 177.50 312.50 0.0434974 -162.50 177.50 317.50 0.0399292 -162.50 177.50 322.50 0.0711831 -162.50 177.50 327.50 0.188831 -162.50 177.50 332.50 0.4704 -162.50 177.50 337.50 0.856092 -162.50 177.50 342.50 1.03537 -162.50 177.50 347.50 0.829239 -162.50 177.50 352.50 0.458731 -162.50 177.50 357.50 0.202463 -167.50 2.50 2.50 0.149977 -167.50 2.50 7.50 0.393272 -167.50 2.50 12.50 0.773178 -167.50 2.50 17.50 0.980476 -167.50 2.50 22.50 0.773179 -167.50 2.50 27.50 0.393272 -167.50 2.50 32.50 0.149977 -167.50 2.50 37.50 0.0624686 -167.50 2.50 42.50 0.0485219 -167.50 2.50 47.50 0.0601603 -167.50 2.50 52.50 0.0760385 -167.50 2.50 57.50 0.083846 -167.50 2.50 62.50 0.084539 -167.50 2.50 67.50 0.083846 -167.50 2.50 72.50 0.0760385 -167.50 2.50 77.50 0.0601603 -167.50 2.50 82.50 0.048522 -167.50 2.50 87.50 0.0624685 -167.50 2.50 92.50 0.149977 -167.50 2.50 97.50 0.393272 -167.50 2.50 102.50 0.773178 -167.50 2.50 107.50 0.980476 -167.50 2.50 112.50 0.773179 -167.50 2.50 117.50 0.393272 -167.50 2.50 122.50 0.149977 -167.50 2.50 127.50 0.0624686 -167.50 2.50 132.50 0.0485219 -167.50 2.50 137.50 0.0601603 -167.50 2.50 142.50 0.0760385 -167.50 2.50 147.50 0.083846 -167.50 2.50 152.50 0.084539 -167.50 2.50 157.50 0.083846 -167.50 2.50 162.50 0.0760386 -167.50 2.50 167.50 0.0601603 -167.50 2.50 172.50 0.048522 -167.50 2.50 177.50 0.0624685 -167.50 2.50 182.50 0.149977 -167.50 2.50 187.50 0.393273 -167.50 2.50 192.50 0.773179 -167.50 2.50 197.50 0.980476 -167.50 2.50 202.50 0.773179 -167.50 2.50 207.50 0.393273 -167.50 2.50 212.50 0.149977 -167.50 2.50 217.50 0.0624686 -167.50 2.50 222.50 0.0485219 -167.50 2.50 227.50 0.0601603 -167.50 2.50 232.50 0.0760385 -167.50 2.50 237.50 0.083846 -167.50 2.50 242.50 0.084539 -167.50 2.50 247.50 0.083846 -167.50 2.50 252.50 0.0760385 -167.50 2.50 257.50 0.0601603 -167.50 2.50 262.50 0.0485219 -167.50 2.50 267.50 0.0624685 -167.50 2.50 272.50 0.149977 -167.50 2.50 277.50 0.393272 -167.50 2.50 282.50 0.773178 -167.50 2.50 287.50 0.980476 -167.50 2.50 292.50 0.773179 -167.50 2.50 297.50 0.393273 -167.50 2.50 302.50 0.149977 -167.50 2.50 307.50 0.0624686 -167.50 2.50 312.50 0.0485219 -167.50 2.50 317.50 0.0601603 -167.50 2.50 322.50 0.0760385 -167.50 2.50 327.50 0.083846 -167.50 2.50 332.50 0.084539 -167.50 2.50 337.50 0.083846 -167.50 2.50 342.50 0.0760386 -167.50 2.50 347.50 0.0601604 -167.50 2.50 352.50 0.048522 -167.50 2.50 357.50 0.0624684 -167.50 7.50 2.50 0.210388 -167.50 7.50 7.50 0.461129 -167.50 7.50 12.50 0.814819 -167.50 7.50 17.50 1.00154 -167.50 7.50 22.50 0.826355 -167.50 7.50 27.50 0.469198 -167.50 7.50 32.50 0.199274 -167.50 7.50 37.50 0.0785194 -167.50 7.50 42.50 0.0421066 -167.50 7.50 47.50 0.0435456 -167.50 7.50 52.50 0.0590314 -167.50 7.50 57.50 0.0724146 -167.50 7.50 62.50 0.0750233 -167.50 7.50 67.50 0.0776945 -167.50 7.50 72.50 0.076525 -167.50 7.50 77.50 0.0724643 -167.50 7.50 82.50 0.0745756 -167.50 7.50 87.50 0.10472 -167.50 7.50 92.50 0.210388 -167.50 7.50 97.50 0.461129 -167.50 7.50 102.50 0.814819 -167.50 7.50 107.50 1.00154 -167.50 7.50 112.50 0.826355 -167.50 7.50 117.50 0.469198 -167.50 7.50 122.50 0.199274 -167.50 7.50 127.50 0.0785193 -167.50 7.50 132.50 0.0421066 -167.50 7.50 137.50 0.0435456 -167.50 7.50 142.50 0.0590314 -167.50 7.50 147.50 0.0724146 -167.50 7.50 152.50 0.0750234 -167.50 7.50 157.50 0.0776945 -167.50 7.50 162.50 0.076525 -167.50 7.50 167.50 0.0724643 -167.50 7.50 172.50 0.0745756 -167.50 7.50 177.50 0.104719 -167.50 7.50 182.50 0.210388 -167.50 7.50 187.50 0.461129 -167.50 7.50 192.50 0.814819 -167.50 7.50 197.50 1.00154 -167.50 7.50 202.50 0.826355 -167.50 7.50 207.50 0.469198 -167.50 7.50 212.50 0.199274 -167.50 7.50 217.50 0.0785193 -167.50 7.50 222.50 0.0421066 -167.50 7.50 227.50 0.0435456 -167.50 7.50 232.50 0.0590315 -167.50 7.50 237.50 0.0724147 -167.50 7.50 242.50 0.0750234 -167.50 7.50 247.50 0.0776945 -167.50 7.50 252.50 0.076525 -167.50 7.50 257.50 0.0724643 -167.50 7.50 262.50 0.0745756 -167.50 7.50 267.50 0.104719 -167.50 7.50 272.50 0.210388 -167.50 7.50 277.50 0.461129 -167.50 7.50 282.50 0.814818 -167.50 7.50 287.50 1.00154 -167.50 7.50 292.50 0.826356 -167.50 7.50 297.50 0.469199 -167.50 7.50 302.50 0.199274 -167.50 7.50 307.50 0.0785194 -167.50 7.50 312.50 0.0421066 -167.50 7.50 317.50 0.0435456 -167.50 7.50 322.50 0.0590314 -167.50 7.50 327.50 0.0724146 -167.50 7.50 332.50 0.0750234 -167.50 7.50 337.50 0.0776945 -167.50 7.50 342.50 0.0765251 -167.50 7.50 347.50 0.0724643 -167.50 7.50 352.50 0.0745756 -167.50 7.50 357.50 0.104719 -167.50 12.50 2.50 0.376554 -167.50 12.50 7.50 0.695287 -167.50 12.50 12.50 1.10458 -167.50 12.50 17.50 1.30722 -167.50 12.50 22.50 1.08936 -167.50 12.50 27.50 0.658199 -167.50 12.50 32.50 0.30973 -167.50 12.50 37.50 0.122106 -167.50 12.50 42.50 0.0447239 -167.50 12.50 47.50 0.0302449 -167.50 12.50 52.50 0.051786 -167.50 12.50 57.50 0.0863411 -167.50 12.50 62.50 0.103579 -167.50 12.50 67.50 0.0995423 -167.50 12.50 72.50 0.0936087 -167.50 12.50 77.50 0.0978893 -167.50 12.50 82.50 0.141283 -167.50 12.50 87.50 0.216442 -167.50 12.50 92.50 0.376554 -167.50 12.50 97.50 0.695288 -167.50 12.50 102.50 1.10458 -167.50 12.50 107.50 1.30722 -167.50 12.50 112.50 1.08936 -167.50 12.50 117.50 0.658199 -167.50 12.50 122.50 0.30973 -167.50 12.50 127.50 0.122106 -167.50 12.50 132.50 0.0447239 -167.50 12.50 137.50 0.0302449 -167.50 12.50 142.50 0.051786 -167.50 12.50 147.50 0.0863411 -167.50 12.50 152.50 0.103579 -167.50 12.50 157.50 0.0995422 -167.50 12.50 162.50 0.0936087 -167.50 12.50 167.50 0.0978893 -167.50 12.50 172.50 0.141283 -167.50 12.50 177.50 0.216442 -167.50 12.50 182.50 0.376555 -167.50 12.50 187.50 0.695288 -167.50 12.50 192.50 1.10458 -167.50 12.50 197.50 1.30722 -167.50 12.50 202.50 1.08936 -167.50 12.50 207.50 0.658199 -167.50 12.50 212.50 0.30973 -167.50 12.50 217.50 0.122106 -167.50 12.50 222.50 0.044724 -167.50 12.50 227.50 0.0302449 -167.50 12.50 232.50 0.0517861 -167.50 12.50 237.50 0.0863412 -167.50 12.50 242.50 0.103579 -167.50 12.50 247.50 0.0995423 -167.50 12.50 252.50 0.0936087 -167.50 12.50 257.50 0.0978893 -167.50 12.50 262.50 0.141284 -167.50 12.50 267.50 0.216442 -167.50 12.50 272.50 0.376554 -167.50 12.50 277.50 0.695288 -167.50 12.50 282.50 1.10458 -167.50 12.50 287.50 1.30722 -167.50 12.50 292.50 1.08936 -167.50 12.50 297.50 0.658199 -167.50 12.50 302.50 0.30973 -167.50 12.50 307.50 0.122106 -167.50 12.50 312.50 0.044724 -167.50 12.50 317.50 0.0302449 -167.50 12.50 322.50 0.051786 -167.50 12.50 327.50 0.086341 -167.50 12.50 332.50 0.103579 -167.50 12.50 337.50 0.0995422 -167.50 12.50 342.50 0.0936087 -167.50 12.50 347.50 0.0978893 -167.50 12.50 352.50 0.141283 -167.50 12.50 357.50 0.216442 -167.50 17.50 2.50 0.655401 -167.50 17.50 7.50 0.996546 -167.50 17.50 12.50 1.37687 -167.50 17.50 17.50 1.52312 -167.50 17.50 22.50 1.26422 -167.50 17.50 27.50 0.791946 -167.50 17.50 32.50 0.376838 -167.50 17.50 37.50 0.141028 -167.50 17.50 42.50 0.0478193 -167.50 17.50 47.50 0.0264397 -167.50 17.50 52.50 0.0466067 -167.50 17.50 57.50 0.0853311 -167.50 17.50 62.50 0.103018 -167.50 17.50 67.50 0.110934 -167.50 17.50 72.50 0.138135 -167.50 17.50 77.50 0.188649 -167.50 17.50 82.50 0.26037 -167.50 17.50 87.50 0.423372 -167.50 17.50 92.50 0.655401 -167.50 17.50 97.50 0.996546 -167.50 17.50 102.50 1.37686 -167.50 17.50 107.50 1.52312 -167.50 17.50 112.50 1.26422 -167.50 17.50 117.50 0.791946 -167.50 17.50 122.50 0.376838 -167.50 17.50 127.50 0.141028 -167.50 17.50 132.50 0.0478192 -167.50 17.50 137.50 0.0264397 -167.50 17.50 142.50 0.0466067 -167.50 17.50 147.50 0.0853311 -167.50 17.50 152.50 0.103018 -167.50 17.50 157.50 0.110934 -167.50 17.50 162.50 0.138135 -167.50 17.50 167.50 0.188649 -167.50 17.50 172.50 0.260369 -167.50 17.50 177.50 0.423372 -167.50 17.50 182.50 0.655401 -167.50 17.50 187.50 0.996546 -167.50 17.50 192.50 1.37686 -167.50 17.50 197.50 1.52312 -167.50 17.50 202.50 1.26422 -167.50 17.50 207.50 0.791946 -167.50 17.50 212.50 0.376838 -167.50 17.50 217.50 0.141028 -167.50 17.50 222.50 0.0478193 -167.50 17.50 227.50 0.0264396 -167.50 17.50 232.50 0.0466068 -167.50 17.50 237.50 0.0853311 -167.50 17.50 242.50 0.103018 -167.50 17.50 247.50 0.110934 -167.50 17.50 252.50 0.138135 -167.50 17.50 257.50 0.18865 -167.50 17.50 262.50 0.26037 -167.50 17.50 267.50 0.423372 -167.50 17.50 272.50 0.655401 -167.50 17.50 277.50 0.996546 -167.50 17.50 282.50 1.37686 -167.50 17.50 287.50 1.52312 -167.50 17.50 292.50 1.26422 -167.50 17.50 297.50 0.791946 -167.50 17.50 302.50 0.376838 -167.50 17.50 307.50 0.141028 -167.50 17.50 312.50 0.0478193 -167.50 17.50 317.50 0.0264397 -167.50 17.50 322.50 0.0466067 -167.50 17.50 327.50 0.085331 -167.50 17.50 332.50 0.103018 -167.50 17.50 337.50 0.110934 -167.50 17.50 342.50 0.138135 -167.50 17.50 347.50 0.188649 -167.50 17.50 352.50 0.260369 -167.50 17.50 357.50 0.423372 -167.50 22.50 2.50 1.04451 -167.50 22.50 7.50 1.36448 -167.50 22.50 12.50 1.64759 -167.50 22.50 17.50 1.66987 -167.50 22.50 22.50 1.34437 -167.50 22.50 27.50 0.835965 -167.50 22.50 32.50 0.401316 -167.50 22.50 37.50 0.147344 -167.50 22.50 42.50 0.0432778 -167.50 22.50 47.50 0.0190101 -167.50 22.50 52.50 0.0247396 -167.50 22.50 57.50 0.0520203 -167.50 22.50 62.50 0.0792764 -167.50 22.50 67.50 0.108236 -167.50 22.50 72.50 0.185647 -167.50 22.50 77.50 0.335263 -167.50 22.50 82.50 0.501154 -167.50 22.50 87.50 0.736745 -167.50 22.50 92.50 1.04451 -167.50 22.50 97.50 1.36448 -167.50 22.50 102.50 1.64759 -167.50 22.50 107.50 1.66988 -167.50 22.50 112.50 1.34437 -167.50 22.50 117.50 0.835965 -167.50 22.50 122.50 0.401315 -167.50 22.50 127.50 0.147344 -167.50 22.50 132.50 0.0432778 -167.50 22.50 137.50 0.0190101 -167.50 22.50 142.50 0.0247396 -167.50 22.50 147.50 0.0520203 -167.50 22.50 152.50 0.0792764 -167.50 22.50 157.50 0.108236 -167.50 22.50 162.50 0.185648 -167.50 22.50 167.50 0.335263 -167.50 22.50 172.50 0.501154 -167.50 22.50 177.50 0.736745 -167.50 22.50 182.50 1.04451 -167.50 22.50 187.50 1.36448 -167.50 22.50 192.50 1.64759 -167.50 22.50 197.50 1.66988 -167.50 22.50 202.50 1.34437 -167.50 22.50 207.50 0.835965 -167.50 22.50 212.50 0.401316 -167.50 22.50 217.50 0.147344 -167.50 22.50 222.50 0.0432779 -167.50 22.50 227.50 0.0190101 -167.50 22.50 232.50 0.0247397 -167.50 22.50 237.50 0.0520204 -167.50 22.50 242.50 0.0792765 -167.50 22.50 247.50 0.108237 -167.50 22.50 252.50 0.185648 -167.50 22.50 257.50 0.335263 -167.50 22.50 262.50 0.501155 -167.50 22.50 267.50 0.736746 -167.50 22.50 272.50 1.04451 -167.50 22.50 277.50 1.36448 -167.50 22.50 282.50 1.64759 -167.50 22.50 287.50 1.66988 -167.50 22.50 292.50 1.34437 -167.50 22.50 297.50 0.835966 -167.50 22.50 302.50 0.401316 -167.50 22.50 307.50 0.147344 -167.50 22.50 312.50 0.0432779 -167.50 22.50 317.50 0.0190101 -167.50 22.50 322.50 0.0247396 -167.50 22.50 327.50 0.0520203 -167.50 22.50 332.50 0.0792764 -167.50 22.50 337.50 0.108236 -167.50 22.50 342.50 0.185647 -167.50 22.50 347.50 0.335263 -167.50 22.50 352.50 0.501154 -167.50 22.50 357.50 0.736744 -167.50 27.50 2.50 1.46987 -167.50 27.50 7.50 1.73302 -167.50 27.50 12.50 1.90549 -167.50 27.50 17.50 1.79157 -167.50 27.50 22.50 1.3193 -167.50 27.50 27.50 0.755123 -167.50 27.50 32.50 0.335643 -167.50 27.50 37.50 0.119208 -167.50 27.50 42.50 0.0375602 -167.50 27.50 47.50 0.0124126 -167.50 27.50 52.50 0.0111999 -167.50 27.50 57.50 0.0230623 -167.50 27.50 62.50 0.0500054 -167.50 27.50 67.50 0.130854 -167.50 27.50 72.50 0.282701 -167.50 27.50 77.50 0.526842 -167.50 27.50 82.50 0.846133 -167.50 27.50 87.50 1.13434 -167.50 27.50 92.50 1.46987 -167.50 27.50 97.50 1.73302 -167.50 27.50 102.50 1.90549 -167.50 27.50 107.50 1.79157 -167.50 27.50 112.50 1.3193 -167.50 27.50 117.50 0.755122 -167.50 27.50 122.50 0.335643 -167.50 27.50 127.50 0.119208 -167.50 27.50 132.50 0.0375601 -167.50 27.50 137.50 0.0124126 -167.50 27.50 142.50 0.0111999 -167.50 27.50 147.50 0.0230623 -167.50 27.50 152.50 0.0500053 -167.50 27.50 157.50 0.130854 -167.50 27.50 162.50 0.282701 -167.50 27.50 167.50 0.526842 -167.50 27.50 172.50 0.846133 -167.50 27.50 177.50 1.13434 -167.50 27.50 182.50 1.46987 -167.50 27.50 187.50 1.73302 -167.50 27.50 192.50 1.90549 -167.50 27.50 197.50 1.79157 -167.50 27.50 202.50 1.3193 -167.50 27.50 207.50 0.755123 -167.50 27.50 212.50 0.335643 -167.50 27.50 217.50 0.119208 -167.50 27.50 222.50 0.0375602 -167.50 27.50 227.50 0.0124127 -167.50 27.50 232.50 0.0111999 -167.50 27.50 237.50 0.0230623 -167.50 27.50 242.50 0.0500055 -167.50 27.50 247.50 0.130854 -167.50 27.50 252.50 0.282701 -167.50 27.50 257.50 0.526843 -167.50 27.50 262.50 0.846134 -167.50 27.50 267.50 1.13434 -167.50 27.50 272.50 1.46987 -167.50 27.50 277.50 1.73302 -167.50 27.50 282.50 1.90549 -167.50 27.50 287.50 1.79157 -167.50 27.50 292.50 1.3193 -167.50 27.50 297.50 0.755123 -167.50 27.50 302.50 0.335643 -167.50 27.50 307.50 0.119208 -167.50 27.50 312.50 0.0375602 -167.50 27.50 317.50 0.0124127 -167.50 27.50 322.50 0.0111999 -167.50 27.50 327.50 0.0230623 -167.50 27.50 332.50 0.0500053 -167.50 27.50 337.50 0.130854 -167.50 27.50 342.50 0.2827 -167.50 27.50 347.50 0.526841 -167.50 27.50 352.50 0.846133 -167.50 27.50 357.50 1.13434 -167.50 32.50 2.50 1.91896 -167.50 32.50 7.50 2.07289 -167.50 32.50 12.50 2.12271 -167.50 32.50 17.50 1.86571 -167.50 32.50 22.50 1.21541 -167.50 32.50 27.50 0.604964 -167.50 32.50 32.50 0.251832 -167.50 32.50 37.50 0.0852507 -167.50 32.50 42.50 0.0280961 -167.50 32.50 47.50 0.010606 -167.50 32.50 52.50 0.00605909 -167.50 32.50 57.50 0.0169594 -167.50 32.50 62.50 0.0660117 -167.50 32.50 67.50 0.185491 -167.50 32.50 72.50 0.47031 -167.50 32.50 77.50 0.84225 -167.50 32.50 82.50 1.34077 -167.50 32.50 87.50 1.67282 -167.50 32.50 92.50 1.91896 -167.50 32.50 97.50 2.07289 -167.50 32.50 102.50 2.12271 -167.50 32.50 107.50 1.86571 -167.50 32.50 112.50 1.21541 -167.50 32.50 117.50 0.604963 -167.50 32.50 122.50 0.251832 -167.50 32.50 127.50 0.0852506 -167.50 32.50 132.50 0.0280961 -167.50 32.50 137.50 0.010606 -167.50 32.50 142.50 0.00605908 -167.50 32.50 147.50 0.0169594 -167.50 32.50 152.50 0.0660116 -167.50 32.50 157.50 0.185491 -167.50 32.50 162.50 0.47031 -167.50 32.50 167.50 0.842249 -167.50 32.50 172.50 1.34077 -167.50 32.50 177.50 1.67282 -167.50 32.50 182.50 1.91896 -167.50 32.50 187.50 2.07289 -167.50 32.50 192.50 2.12271 -167.50 32.50 197.50 1.86571 -167.50 32.50 202.50 1.21541 -167.50 32.50 207.50 0.604964 -167.50 32.50 212.50 0.251832 -167.50 32.50 217.50 0.0852507 -167.50 32.50 222.50 0.0280961 -167.50 32.50 227.50 0.010606 -167.50 32.50 232.50 0.0060591 -167.50 32.50 237.50 0.0169594 -167.50 32.50 242.50 0.0660118 -167.50 32.50 247.50 0.185492 -167.50 32.50 252.50 0.47031 -167.50 32.50 257.50 0.842251 -167.50 32.50 262.50 1.34077 -167.50 32.50 267.50 1.67282 -167.50 32.50 272.50 1.91896 -167.50 32.50 277.50 2.07289 -167.50 32.50 282.50 2.12271 -167.50 32.50 287.50 1.86571 -167.50 32.50 292.50 1.21541 -167.50 32.50 297.50 0.604964 -167.50 32.50 302.50 0.251832 -167.50 32.50 307.50 0.0852508 -167.50 32.50 312.50 0.0280961 -167.50 32.50 317.50 0.010606 -167.50 32.50 322.50 0.00605909 -167.50 32.50 327.50 0.0169593 -167.50 32.50 332.50 0.0660115 -167.50 32.50 337.50 0.185491 -167.50 32.50 342.50 0.470309 -167.50 32.50 347.50 0.842249 -167.50 32.50 352.50 1.34077 -167.50 32.50 357.50 1.67282 -167.50 37.50 2.50 2.48319 -167.50 37.50 7.50 2.43565 -167.50 37.50 12.50 2.31353 -167.50 37.50 17.50 1.86234 -167.50 37.50 22.50 1.1385 -167.50 37.50 27.50 0.522555 -167.50 37.50 32.50 0.188415 -167.50 37.50 37.50 0.0607415 -167.50 37.50 42.50 0.0208956 -167.50 37.50 47.50 0.0102016 -167.50 37.50 52.50 0.0127237 -167.50 37.50 57.50 0.0366549 -167.50 37.50 62.50 0.132328 -167.50 37.50 67.50 0.372317 -167.50 37.50 72.50 0.819891 -167.50 37.50 77.50 1.46004 -167.50 37.50 82.50 2.08206 -167.50 37.50 87.50 2.43862 -167.50 37.50 92.50 2.48318 -167.50 37.50 97.50 2.43565 -167.50 37.50 102.50 2.31353 -167.50 37.50 107.50 1.86234 -167.50 37.50 112.50 1.1385 -167.50 37.50 117.50 0.522555 -167.50 37.50 122.50 0.188415 -167.50 37.50 127.50 0.0607414 -167.50 37.50 132.50 0.0208956 -167.50 37.50 137.50 0.0102016 -167.50 37.50 142.50 0.0127237 -167.50 37.50 147.50 0.0366549 -167.50 37.50 152.50 0.132328 -167.50 37.50 157.50 0.372316 -167.50 37.50 162.50 0.819891 -167.50 37.50 167.50 1.46004 -167.50 37.50 172.50 2.08206 -167.50 37.50 177.50 2.43862 -167.50 37.50 182.50 2.48318 -167.50 37.50 187.50 2.43565 -167.50 37.50 192.50 2.31353 -167.50 37.50 197.50 1.86234 -167.50 37.50 202.50 1.1385 -167.50 37.50 207.50 0.522555 -167.50 37.50 212.50 0.188415 -167.50 37.50 217.50 0.0607416 -167.50 37.50 222.50 0.0208956 -167.50 37.50 227.50 0.0102016 -167.50 37.50 232.50 0.0127237 -167.50 37.50 237.50 0.036655 -167.50 37.50 242.50 0.132328 -167.50 37.50 247.50 0.372317 -167.50 37.50 252.50 0.819892 -167.50 37.50 257.50 1.46004 -167.50 37.50 262.50 2.08206 -167.50 37.50 267.50 2.43862 -167.50 37.50 272.50 2.48318 -167.50 37.50 277.50 2.43565 -167.50 37.50 282.50 2.31353 -167.50 37.50 287.50 1.86234 -167.50 37.50 292.50 1.1385 -167.50 37.50 297.50 0.522556 -167.50 37.50 302.50 0.188416 -167.50 37.50 307.50 0.0607416 -167.50 37.50 312.50 0.0208956 -167.50 37.50 317.50 0.0102016 -167.50 37.50 322.50 0.0127237 -167.50 37.50 327.50 0.0366548 -167.50 37.50 332.50 0.132328 -167.50 37.50 337.50 0.372316 -167.50 37.50 342.50 0.819891 -167.50 37.50 347.50 1.46004 -167.50 37.50 352.50 2.08206 -167.50 37.50 357.50 2.43862 -167.50 42.50 2.50 3.07557 -167.50 42.50 7.50 2.71443 -167.50 42.50 12.50 2.33768 -167.50 42.50 17.50 1.75871 -167.50 42.50 22.50 1.02812 -167.50 42.50 27.50 0.458403 -167.50 42.50 32.50 0.159378 -167.50 42.50 37.50 0.052853 -167.50 42.50 42.50 0.0187251 -167.50 42.50 47.50 0.0129026 -167.50 42.50 52.50 0.0346214 -167.50 42.50 57.50 0.0941097 -167.50 42.50 62.50 0.281645 -167.50 42.50 67.50 0.734424 -167.50 42.50 72.50 1.44951 -167.50 42.50 77.50 2.30179 -167.50 42.50 82.50 3.00581 -167.50 42.50 87.50 3.28461 -167.50 42.50 92.50 3.07558 -167.50 42.50 97.50 2.71443 -167.50 42.50 102.50 2.33768 -167.50 42.50 107.50 1.75871 -167.50 42.50 112.50 1.02812 -167.50 42.50 117.50 0.458403 -167.50 42.50 122.50 0.159378 -167.50 42.50 127.50 0.052853 -167.50 42.50 132.50 0.0187251 -167.50 42.50 137.50 0.0129026 -167.50 42.50 142.50 0.0346214 -167.50 42.50 147.50 0.0941096 -167.50 42.50 152.50 0.281644 -167.50 42.50 157.50 0.734424 -167.50 42.50 162.50 1.44951 -167.50 42.50 167.50 2.30179 -167.50 42.50 172.50 3.00581 -167.50 42.50 177.50 3.28461 -167.50 42.50 182.50 3.07557 -167.50 42.50 187.50 2.71443 -167.50 42.50 192.50 2.33768 -167.50 42.50 197.50 1.75871 -167.50 42.50 202.50 1.02812 -167.50 42.50 207.50 0.458403 -167.50 42.50 212.50 0.159378 -167.50 42.50 217.50 0.0528531 -167.50 42.50 222.50 0.0187252 -167.50 42.50 227.50 0.0129026 -167.50 42.50 232.50 0.0346215 -167.50 42.50 237.50 0.0941099 -167.50 42.50 242.50 0.281645 -167.50 42.50 247.50 0.734425 -167.50 42.50 252.50 1.44951 -167.50 42.50 257.50 2.3018 -167.50 42.50 262.50 3.00582 -167.50 42.50 267.50 3.28461 -167.50 42.50 272.50 3.07557 -167.50 42.50 277.50 2.71443 -167.50 42.50 282.50 2.33768 -167.50 42.50 287.50 1.75871 -167.50 42.50 292.50 1.02812 -167.50 42.50 297.50 0.458403 -167.50 42.50 302.50 0.159378 -167.50 42.50 307.50 0.052853 -167.50 42.50 312.50 0.0187251 -167.50 42.50 317.50 0.0129026 -167.50 42.50 322.50 0.0346214 -167.50 42.50 327.50 0.0941095 -167.50 42.50 332.50 0.281644 -167.50 42.50 337.50 0.734423 -167.50 42.50 342.50 1.44951 -167.50 42.50 347.50 2.30179 -167.50 42.50 352.50 3.00581 -167.50 42.50 357.50 3.28461 -167.50 47.50 2.50 3.34429 -167.50 47.50 7.50 2.66415 -167.50 47.50 12.50 2.09946 -167.50 47.50 17.50 1.48139 -167.50 47.50 22.50 0.83235 -167.50 47.50 27.50 0.359979 -167.50 47.50 32.50 0.149389 -167.50 47.50 37.50 0.0535264 -167.50 47.50 42.50 0.0197802 -167.50 47.50 47.50 0.0259854 -167.50 47.50 52.50 0.0674384 -167.50 47.50 57.50 0.213094 -167.50 47.50 62.50 0.535989 -167.50 47.50 67.50 1.22004 -167.50 47.50 72.50 2.1993 -167.50 47.50 77.50 3.14533 -167.50 47.50 82.50 3.76021 -167.50 47.50 87.50 3.8114 -167.50 47.50 92.50 3.34429 -167.50 47.50 97.50 2.66415 -167.50 47.50 102.50 2.09946 -167.50 47.50 107.50 1.48139 -167.50 47.50 112.50 0.832349 -167.50 47.50 117.50 0.359978 -167.50 47.50 122.50 0.149389 -167.50 47.50 127.50 0.0535263 -167.50 47.50 132.50 0.0197802 -167.50 47.50 137.50 0.0259854 -167.50 47.50 142.50 0.0674384 -167.50 47.50 147.50 0.213094 -167.50 47.50 152.50 0.535988 -167.50 47.50 157.50 1.22003 -167.50 47.50 162.50 2.1993 -167.50 47.50 167.50 3.14533 -167.50 47.50 172.50 3.76021 -167.50 47.50 177.50 3.8114 -167.50 47.50 182.50 3.34429 -167.50 47.50 187.50 2.66415 -167.50 47.50 192.50 2.09945 -167.50 47.50 197.50 1.48139 -167.50 47.50 202.50 0.832349 -167.50 47.50 207.50 0.359979 -167.50 47.50 212.50 0.149389 -167.50 47.50 217.50 0.0535264 -167.50 47.50 222.50 0.0197802 -167.50 47.50 227.50 0.0259854 -167.50 47.50 232.50 0.0674386 -167.50 47.50 237.50 0.213095 -167.50 47.50 242.50 0.535989 -167.50 47.50 247.50 1.22004 -167.50 47.50 252.50 2.1993 -167.50 47.50 257.50 3.14533 -167.50 47.50 262.50 3.76021 -167.50 47.50 267.50 3.8114 -167.50 47.50 272.50 3.34429 -167.50 47.50 277.50 2.66415 -167.50 47.50 282.50 2.09946 -167.50 47.50 287.50 1.48139 -167.50 47.50 292.50 0.83235 -167.50 47.50 297.50 0.359979 -167.50 47.50 302.50 0.149389 -167.50 47.50 307.50 0.0535264 -167.50 47.50 312.50 0.0197802 -167.50 47.50 317.50 0.0259854 -167.50 47.50 322.50 0.0674383 -167.50 47.50 327.50 0.213094 -167.50 47.50 332.50 0.535988 -167.50 47.50 337.50 1.22003 -167.50 47.50 342.50 2.1993 -167.50 47.50 347.50 3.14533 -167.50 47.50 352.50 3.76021 -167.50 47.50 357.50 3.8114 -167.50 52.50 2.50 3.07557 -167.50 52.50 7.50 2.27987 -167.50 52.50 12.50 1.70748 -167.50 52.50 17.50 1.13723 -167.50 52.50 22.50 0.620533 -167.50 52.50 27.50 0.295442 -167.50 52.50 32.50 0.111763 -167.50 52.50 37.50 0.0480407 -167.50 52.50 42.50 0.0245617 -167.50 52.50 47.50 0.0300595 -167.50 52.50 52.50 0.110702 -167.50 52.50 57.50 0.379218 -167.50 52.50 62.50 0.887786 -167.50 52.50 67.50 1.81342 -167.50 52.50 72.50 2.82692 -167.50 52.50 77.50 3.70354 -167.50 52.50 82.50 4.13483 -167.50 52.50 87.50 3.78144 -167.50 52.50 92.50 3.07557 -167.50 52.50 97.50 2.27987 -167.50 52.50 102.50 1.70748 -167.50 52.50 107.50 1.13723 -167.50 52.50 112.50 0.620534 -167.50 52.50 117.50 0.295442 -167.50 52.50 122.50 0.111763 -167.50 52.50 127.50 0.0480407 -167.50 52.50 132.50 0.0245617 -167.50 52.50 137.50 0.0300594 -167.50 52.50 142.50 0.110702 -167.50 52.50 147.50 0.379218 -167.50 52.50 152.50 0.887786 -167.50 52.50 157.50 1.81342 -167.50 52.50 162.50 2.82692 -167.50 52.50 167.50 3.70354 -167.50 52.50 172.50 4.13483 -167.50 52.50 177.50 3.78144 -167.50 52.50 182.50 3.07557 -167.50 52.50 187.50 2.27987 -167.50 52.50 192.50 1.70748 -167.50 52.50 197.50 1.13723 -167.50 52.50 202.50 0.620533 -167.50 52.50 207.50 0.295443 -167.50 52.50 212.50 0.111763 -167.50 52.50 217.50 0.0480407 -167.50 52.50 222.50 0.0245617 -167.50 52.50 227.50 0.0300594 -167.50 52.50 232.50 0.110702 -167.50 52.50 237.50 0.379219 -167.50 52.50 242.50 0.887787 -167.50 52.50 247.50 1.81342 -167.50 52.50 252.50 2.82692 -167.50 52.50 257.50 3.70354 -167.50 52.50 262.50 4.13483 -167.50 52.50 267.50 3.78144 -167.50 52.50 272.50 3.07557 -167.50 52.50 277.50 2.27987 -167.50 52.50 282.50 1.70748 -167.50 52.50 287.50 1.13723 -167.50 52.50 292.50 0.620533 -167.50 52.50 297.50 0.295443 -167.50 52.50 302.50 0.111763 -167.50 52.50 307.50 0.0480407 -167.50 52.50 312.50 0.0245617 -167.50 52.50 317.50 0.0300594 -167.50 52.50 322.50 0.110701 -167.50 52.50 327.50 0.379217 -167.50 52.50 332.50 0.887785 -167.50 52.50 337.50 1.81342 -167.50 52.50 342.50 2.82691 -167.50 52.50 347.50 3.70354 -167.50 52.50 352.50 4.13483 -167.50 52.50 357.50 3.78144 -167.50 57.50 2.50 2.48318 -167.50 57.50 7.50 1.78362 -167.50 57.50 12.50 1.28426 -167.50 57.50 17.50 0.809532 -167.50 57.50 22.50 0.433036 -167.50 57.50 27.50 0.220748 -167.50 57.50 32.50 0.0885527 -167.50 57.50 37.50 0.0338977 -167.50 57.50 42.50 0.0169254 -167.50 57.50 47.50 0.0411971 -167.50 57.50 52.50 0.156568 -167.50 57.50 57.50 0.527503 -167.50 57.50 62.50 1.33187 -167.50 57.50 67.50 2.38044 -167.50 57.50 72.50 3.3656 -167.50 57.50 77.50 3.88467 -167.50 57.50 82.50 4.04575 -167.50 57.50 87.50 3.38839 -167.50 57.50 92.50 2.48318 -167.50 57.50 97.50 1.78362 -167.50 57.50 102.50 1.28426 -167.50 57.50 107.50 0.809532 -167.50 57.50 112.50 0.433036 -167.50 57.50 117.50 0.220748 -167.50 57.50 122.50 0.0885527 -167.50 57.50 127.50 0.0338977 -167.50 57.50 132.50 0.0169254 -167.50 57.50 137.50 0.0411971 -167.50 57.50 142.50 0.156568 -167.50 57.50 147.50 0.527503 -167.50 57.50 152.50 1.33187 -167.50 57.50 157.50 2.38044 -167.50 57.50 162.50 3.3656 -167.50 57.50 167.50 3.88467 -167.50 57.50 172.50 4.04575 -167.50 57.50 177.50 3.38839 -167.50 57.50 182.50 2.48318 -167.50 57.50 187.50 1.78362 -167.50 57.50 192.50 1.28426 -167.50 57.50 197.50 0.809532 -167.50 57.50 202.50 0.433036 -167.50 57.50 207.50 0.220748 -167.50 57.50 212.50 0.0885527 -167.50 57.50 217.50 0.0338978 -167.50 57.50 222.50 0.0169254 -167.50 57.50 227.50 0.041197 -167.50 57.50 232.50 0.156569 -167.50 57.50 237.50 0.527504 -167.50 57.50 242.50 1.33187 -167.50 57.50 247.50 2.38045 -167.50 57.50 252.50 3.3656 -167.50 57.50 257.50 3.88467 -167.50 57.50 262.50 4.04575 -167.50 57.50 267.50 3.38839 -167.50 57.50 272.50 2.48318 -167.50 57.50 277.50 1.78362 -167.50 57.50 282.50 1.28426 -167.50 57.50 287.50 0.809533 -167.50 57.50 292.50 0.433036 -167.50 57.50 297.50 0.220749 -167.50 57.50 302.50 0.0885527 -167.50 57.50 307.50 0.0338978 -167.50 57.50 312.50 0.0169254 -167.50 57.50 317.50 0.041197 -167.50 57.50 322.50 0.156568 -167.50 57.50 327.50 0.527502 -167.50 57.50 332.50 1.33187 -167.50 57.50 337.50 2.38044 -167.50 57.50 342.50 3.3656 -167.50 57.50 347.50 3.88467 -167.50 57.50 352.50 4.04575 -167.50 57.50 357.50 3.38839 -167.50 62.50 2.50 1.91896 -167.50 62.50 7.50 1.34853 -167.50 62.50 12.50 0.940372 -167.50 62.50 17.50 0.544237 -167.50 62.50 22.50 0.291627 -167.50 62.50 27.50 0.144009 -167.50 62.50 32.50 0.0597003 -167.50 62.50 37.50 0.02375 -167.50 62.50 42.50 0.0137646 -167.50 62.50 47.50 0.0430295 -167.50 62.50 52.50 0.216973 -167.50 62.50 57.50 0.695812 -167.50 62.50 62.50 1.58342 -167.50 62.50 67.50 2.72954 -167.50 62.50 72.50 3.52931 -167.50 62.50 77.50 3.7508 -167.50 62.50 82.50 3.61387 -167.50 62.50 87.50 2.88023 -167.50 62.50 92.50 1.91896 -167.50 62.50 97.50 1.34853 -167.50 62.50 102.50 0.940372 -167.50 62.50 107.50 0.544237 -167.50 62.50 112.50 0.291627 -167.50 62.50 117.50 0.144009 -167.50 62.50 122.50 0.0597003 -167.50 62.50 127.50 0.02375 -167.50 62.50 132.50 0.0137646 -167.50 62.50 137.50 0.0430295 -167.50 62.50 142.50 0.216973 -167.50 62.50 147.50 0.695812 -167.50 62.50 152.50 1.58341 -167.50 62.50 157.50 2.72954 -167.50 62.50 162.50 3.52931 -167.50 62.50 167.50 3.7508 -167.50 62.50 172.50 3.61387 -167.50 62.50 177.50 2.88023 -167.50 62.50 182.50 1.91896 -167.50 62.50 187.50 1.34853 -167.50 62.50 192.50 0.940372 -167.50 62.50 197.50 0.544237 -167.50 62.50 202.50 0.291627 -167.50 62.50 207.50 0.144009 -167.50 62.50 212.50 0.0597002 -167.50 62.50 217.50 0.02375 -167.50 62.50 222.50 0.0137646 -167.50 62.50 227.50 0.0430295 -167.50 62.50 232.50 0.216973 -167.50 62.50 237.50 0.695813 -167.50 62.50 242.50 1.58342 -167.50 62.50 247.50 2.72954 -167.50 62.50 252.50 3.52931 -167.50 62.50 257.50 3.7508 -167.50 62.50 262.50 3.61387 -167.50 62.50 267.50 2.88022 -167.50 62.50 272.50 1.91896 -167.50 62.50 277.50 1.34853 -167.50 62.50 282.50 0.940372 -167.50 62.50 287.50 0.544237 -167.50 62.50 292.50 0.291627 -167.50 62.50 297.50 0.144009 -167.50 62.50 302.50 0.0597004 -167.50 62.50 307.50 0.02375 -167.50 62.50 312.50 0.0137646 -167.50 62.50 317.50 0.0430294 -167.50 62.50 322.50 0.216973 -167.50 62.50 327.50 0.695811 -167.50 62.50 332.50 1.58341 -167.50 62.50 337.50 2.72954 -167.50 62.50 342.50 3.52931 -167.50 62.50 347.50 3.7508 -167.50 62.50 352.50 3.61387 -167.50 62.50 357.50 2.88023 -167.50 67.50 2.50 1.46987 -167.50 67.50 7.50 1.02875 -167.50 67.50 12.50 0.7169 -167.50 67.50 17.50 0.423829 -167.50 67.50 22.50 0.240279 -167.50 67.50 27.50 0.0988993 -167.50 67.50 32.50 0.0433062 -167.50 67.50 37.50 0.0210163 -167.50 67.50 42.50 0.0169017 -167.50 67.50 47.50 0.0679237 -167.50 67.50 52.50 0.264226 -167.50 67.50 57.50 0.725309 -167.50 67.50 62.50 1.51121 -167.50 67.50 67.50 2.54594 -167.50 67.50 72.50 3.25018 -167.50 67.50 77.50 3.35198 -167.50 67.50 82.50 3.03827 -167.50 67.50 87.50 2.3144 -167.50 67.50 92.50 1.46987 -167.50 67.50 97.50 1.02875 -167.50 67.50 102.50 0.7169 -167.50 67.50 107.50 0.423829 -167.50 67.50 112.50 0.240279 -167.50 67.50 117.50 0.0988993 -167.50 67.50 122.50 0.0433062 -167.50 67.50 127.50 0.0210163 -167.50 67.50 132.50 0.0169017 -167.50 67.50 137.50 0.0679238 -167.50 67.50 142.50 0.264226 -167.50 67.50 147.50 0.72531 -167.50 67.50 152.50 1.51121 -167.50 67.50 157.50 2.54594 -167.50 67.50 162.50 3.25018 -167.50 67.50 167.50 3.35198 -167.50 67.50 172.50 3.03827 -167.50 67.50 177.50 2.3144 -167.50 67.50 182.50 1.46986 -167.50 67.50 187.50 1.02875 -167.50 67.50 192.50 0.7169 -167.50 67.50 197.50 0.423829 -167.50 67.50 202.50 0.240279 -167.50 67.50 207.50 0.0988993 -167.50 67.50 212.50 0.0433062 -167.50 67.50 217.50 0.0210163 -167.50 67.50 222.50 0.0169017 -167.50 67.50 227.50 0.0679237 -167.50 67.50 232.50 0.264227 -167.50 67.50 237.50 0.725312 -167.50 67.50 242.50 1.51121 -167.50 67.50 247.50 2.54594 -167.50 67.50 252.50 3.25018 -167.50 67.50 257.50 3.35199 -167.50 67.50 262.50 3.03826 -167.50 67.50 267.50 2.3144 -167.50 67.50 272.50 1.46987 -167.50 67.50 277.50 1.02875 -167.50 67.50 282.50 0.7169 -167.50 67.50 287.50 0.423829 -167.50 67.50 292.50 0.240279 -167.50 67.50 297.50 0.0988994 -167.50 67.50 302.50 0.0433063 -167.50 67.50 307.50 0.0210163 -167.50 67.50 312.50 0.0169017 -167.50 67.50 317.50 0.0679236 -167.50 67.50 322.50 0.264226 -167.50 67.50 327.50 0.725309 -167.50 67.50 332.50 1.51121 -167.50 67.50 337.50 2.54594 -167.50 67.50 342.50 3.25018 -167.50 67.50 347.50 3.35198 -167.50 67.50 352.50 3.03827 -167.50 67.50 357.50 2.3144 -167.50 72.50 2.50 1.04451 -167.50 72.50 7.50 0.759542 -167.50 72.50 12.50 0.570906 -167.50 72.50 17.50 0.406102 -167.50 72.50 22.50 0.22959 -167.50 72.50 27.50 0.107708 -167.50 72.50 32.50 0.0527093 -167.50 72.50 37.50 0.0195902 -167.50 72.50 42.50 0.0191545 -167.50 72.50 47.50 0.0689171 -167.50 72.50 52.50 0.238278 -167.50 72.50 57.50 0.617899 -167.50 72.50 62.50 1.24363 -167.50 72.50 67.50 1.94417 -167.50 72.50 72.50 2.58171 -167.50 72.50 77.50 2.71155 -167.50 72.50 82.50 2.3662 -167.50 72.50 87.50 1.66728 -167.50 72.50 92.50 1.04451 -167.50 72.50 97.50 0.759542 -167.50 72.50 102.50 0.570906 -167.50 72.50 107.50 0.406103 -167.50 72.50 112.50 0.22959 -167.50 72.50 117.50 0.107708 -167.50 72.50 122.50 0.0527094 -167.50 72.50 127.50 0.0195902 -167.50 72.50 132.50 0.0191545 -167.50 72.50 137.50 0.0689171 -167.50 72.50 142.50 0.238278 -167.50 72.50 147.50 0.617899 -167.50 72.50 152.50 1.24363 -167.50 72.50 157.50 1.94417 -167.50 72.50 162.50 2.58171 -167.50 72.50 167.50 2.71154 -167.50 72.50 172.50 2.36621 -167.50 72.50 177.50 1.66728 -167.50 72.50 182.50 1.04451 -167.50 72.50 187.50 0.759542 -167.50 72.50 192.50 0.570906 -167.50 72.50 197.50 0.406102 -167.50 72.50 202.50 0.229589 -167.50 72.50 207.50 0.107708 -167.50 72.50 212.50 0.0527093 -167.50 72.50 217.50 0.0195902 -167.50 72.50 222.50 0.0191545 -167.50 72.50 227.50 0.068917 -167.50 72.50 232.50 0.238279 -167.50 72.50 237.50 0.6179 -167.50 72.50 242.50 1.24363 -167.50 72.50 247.50 1.94417 -167.50 72.50 252.50 2.58172 -167.50 72.50 257.50 2.71154 -167.50 72.50 262.50 2.3662 -167.50 72.50 267.50 1.66728 -167.50 72.50 272.50 1.04451 -167.50 72.50 277.50 0.759541 -167.50 72.50 282.50 0.570906 -167.50 72.50 287.50 0.406103 -167.50 72.50 292.50 0.22959 -167.50 72.50 297.50 0.107708 -167.50 72.50 302.50 0.0527093 -167.50 72.50 307.50 0.0195902 -167.50 72.50 312.50 0.0191545 -167.50 72.50 317.50 0.068917 -167.50 72.50 322.50 0.238278 -167.50 72.50 327.50 0.617898 -167.50 72.50 332.50 1.24363 -167.50 72.50 337.50 1.94417 -167.50 72.50 342.50 2.58171 -167.50 72.50 347.50 2.71155 -167.50 72.50 352.50 2.3662 -167.50 72.50 357.50 1.66728 -167.50 77.50 2.50 0.655401 -167.50 77.50 7.50 0.515123 -167.50 77.50 12.50 0.446928 -167.50 77.50 17.50 0.363064 -167.50 77.50 22.50 0.213 -167.50 77.50 27.50 0.115984 -167.50 77.50 32.50 0.0495343 -167.50 77.50 37.50 0.0230554 -167.50 77.50 42.50 0.0243951 -167.50 77.50 47.50 0.0705297 -167.50 77.50 52.50 0.189234 -167.50 77.50 57.50 0.456397 -167.50 77.50 62.50 0.844981 -167.50 77.50 67.50 1.26046 -167.50 77.50 72.50 1.669 -167.50 77.50 77.50 1.8355 -167.50 77.50 82.50 1.54179 -167.50 77.50 87.50 1.09968 -167.50 77.50 92.50 0.655401 -167.50 77.50 97.50 0.515124 -167.50 77.50 102.50 0.446928 -167.50 77.50 107.50 0.363064 -167.50 77.50 112.50 0.213 -167.50 77.50 117.50 0.115984 -167.50 77.50 122.50 0.0495343 -167.50 77.50 127.50 0.0230554 -167.50 77.50 132.50 0.0243952 -167.50 77.50 137.50 0.0705298 -167.50 77.50 142.50 0.189234 -167.50 77.50 147.50 0.456397 -167.50 77.50 152.50 0.844981 -167.50 77.50 157.50 1.26046 -167.50 77.50 162.50 1.669 -167.50 77.50 167.50 1.8355 -167.50 77.50 172.50 1.54179 -167.50 77.50 177.50 1.09969 -167.50 77.50 182.50 0.655401 -167.50 77.50 187.50 0.515123 -167.50 77.50 192.50 0.446928 -167.50 77.50 197.50 0.363064 -167.50 77.50 202.50 0.213 -167.50 77.50 207.50 0.115984 -167.50 77.50 212.50 0.0495343 -167.50 77.50 217.50 0.0230554 -167.50 77.50 222.50 0.0243952 -167.50 77.50 227.50 0.0705297 -167.50 77.50 232.50 0.189234 -167.50 77.50 237.50 0.456398 -167.50 77.50 242.50 0.844982 -167.50 77.50 247.50 1.26047 -167.50 77.50 252.50 1.669 -167.50 77.50 257.50 1.8355 -167.50 77.50 262.50 1.54179 -167.50 77.50 267.50 1.09968 -167.50 77.50 272.50 0.6554 -167.50 77.50 277.50 0.515123 -167.50 77.50 282.50 0.446928 -167.50 77.50 287.50 0.363064 -167.50 77.50 292.50 0.213 -167.50 77.50 297.50 0.115984 -167.50 77.50 302.50 0.0495344 -167.50 77.50 307.50 0.0230554 -167.50 77.50 312.50 0.0243951 -167.50 77.50 317.50 0.0705297 -167.50 77.50 322.50 0.189233 -167.50 77.50 327.50 0.456396 -167.50 77.50 332.50 0.844981 -167.50 77.50 337.50 1.26046 -167.50 77.50 342.50 1.66899 -167.50 77.50 347.50 1.8355 -167.50 77.50 352.50 1.54179 -167.50 77.50 357.50 1.09969 -167.50 82.50 2.50 0.376554 -167.50 82.50 7.50 0.348027 -167.50 82.50 12.50 0.333227 -167.50 82.50 17.50 0.281981 -167.50 82.50 22.50 0.220471 -167.50 82.50 27.50 0.128137 -167.50 82.50 32.50 0.0616447 -167.50 82.50 37.50 0.025875 -167.50 82.50 42.50 0.0220598 -167.50 82.50 47.50 0.0546285 -167.50 82.50 52.50 0.134073 -167.50 82.50 57.50 0.264102 -167.50 82.50 62.50 0.45187 -167.50 82.50 67.50 0.660442 -167.50 82.50 72.50 0.834678 -167.50 82.50 77.50 0.952143 -167.50 82.50 82.50 0.843313 -167.50 82.50 87.50 0.612695 -167.50 82.50 92.50 0.376554 -167.50 82.50 97.50 0.348028 -167.50 82.50 102.50 0.333228 -167.50 82.50 107.50 0.281981 -167.50 82.50 112.50 0.220472 -167.50 82.50 117.50 0.128137 -167.50 82.50 122.50 0.0616447 -167.50 82.50 127.50 0.025875 -167.50 82.50 132.50 0.0220598 -167.50 82.50 137.50 0.0546286 -167.50 82.50 142.50 0.134073 -167.50 82.50 147.50 0.264102 -167.50 82.50 152.50 0.45187 -167.50 82.50 157.50 0.660442 -167.50 82.50 162.50 0.834678 -167.50 82.50 167.50 0.952143 -167.50 82.50 172.50 0.843313 -167.50 82.50 177.50 0.612695 -167.50 82.50 182.50 0.376554 -167.50 82.50 187.50 0.348027 -167.50 82.50 192.50 0.333227 -167.50 82.50 197.50 0.281981 -167.50 82.50 202.50 0.220472 -167.50 82.50 207.50 0.128137 -167.50 82.50 212.50 0.0616447 -167.50 82.50 217.50 0.025875 -167.50 82.50 222.50 0.0220598 -167.50 82.50 227.50 0.0546285 -167.50 82.50 232.50 0.134074 -167.50 82.50 237.50 0.264103 -167.50 82.50 242.50 0.45187 -167.50 82.50 247.50 0.660443 -167.50 82.50 252.50 0.834679 -167.50 82.50 257.50 0.952143 -167.50 82.50 262.50 0.843313 -167.50 82.50 267.50 0.612695 -167.50 82.50 272.50 0.376554 -167.50 82.50 277.50 0.348027 -167.50 82.50 282.50 0.333227 -167.50 82.50 287.50 0.281981 -167.50 82.50 292.50 0.220472 -167.50 82.50 297.50 0.128137 -167.50 82.50 302.50 0.0616447 -167.50 82.50 307.50 0.025875 -167.50 82.50 312.50 0.0220598 -167.50 82.50 317.50 0.0546285 -167.50 82.50 322.50 0.134073 -167.50 82.50 327.50 0.264102 -167.50 82.50 332.50 0.451869 -167.50 82.50 337.50 0.660442 -167.50 82.50 342.50 0.834678 -167.50 82.50 347.50 0.952143 -167.50 82.50 352.50 0.843313 -167.50 82.50 357.50 0.612695 -167.50 87.50 2.50 0.210388 -167.50 87.50 7.50 0.216551 -167.50 87.50 12.50 0.290578 -167.50 87.50 17.50 0.330838 -167.50 87.50 22.50 0.22208 -167.50 87.50 27.50 0.116772 -167.50 87.50 32.50 0.0686409 -167.50 87.50 37.50 0.0401866 -167.50 87.50 42.50 0.0220957 -167.50 87.50 47.50 0.0282048 -167.50 87.50 52.50 0.0713344 -167.50 87.50 57.50 0.14345 -167.50 87.50 62.50 0.212862 -167.50 87.50 67.50 0.277652 -167.50 87.50 72.50 0.364918 -167.50 87.50 77.50 0.42735 -167.50 87.50 82.50 0.377081 -167.50 87.50 87.50 0.284063 -167.50 87.50 92.50 0.210389 -167.50 87.50 97.50 0.216551 -167.50 87.50 102.50 0.290578 -167.50 87.50 107.50 0.330838 -167.50 87.50 112.50 0.22208 -167.50 87.50 117.50 0.116772 -167.50 87.50 122.50 0.0686409 -167.50 87.50 127.50 0.0401865 -167.50 87.50 132.50 0.0220957 -167.50 87.50 137.50 0.0282048 -167.50 87.50 142.50 0.0713344 -167.50 87.50 147.50 0.14345 -167.50 87.50 152.50 0.212862 -167.50 87.50 157.50 0.277652 -167.50 87.50 162.50 0.364918 -167.50 87.50 167.50 0.42735 -167.50 87.50 172.50 0.377081 -167.50 87.50 177.50 0.284063 -167.50 87.50 182.50 0.210389 -167.50 87.50 187.50 0.216551 -167.50 87.50 192.50 0.290578 -167.50 87.50 197.50 0.330838 -167.50 87.50 202.50 0.22208 -167.50 87.50 207.50 0.116772 -167.50 87.50 212.50 0.0686409 -167.50 87.50 217.50 0.0401866 -167.50 87.50 222.50 0.0220957 -167.50 87.50 227.50 0.0282048 -167.50 87.50 232.50 0.0713346 -167.50 87.50 237.50 0.143451 -167.50 87.50 242.50 0.212862 -167.50 87.50 247.50 0.277652 -167.50 87.50 252.50 0.364918 -167.50 87.50 257.50 0.42735 -167.50 87.50 262.50 0.377081 -167.50 87.50 267.50 0.284063 -167.50 87.50 272.50 0.210388 -167.50 87.50 277.50 0.216551 -167.50 87.50 282.50 0.290578 -167.50 87.50 287.50 0.330838 -167.50 87.50 292.50 0.22208 -167.50 87.50 297.50 0.116772 -167.50 87.50 302.50 0.068641 -167.50 87.50 307.50 0.0401866 -167.50 87.50 312.50 0.0220957 -167.50 87.50 317.50 0.0282047 -167.50 87.50 322.50 0.0713343 -167.50 87.50 327.50 0.14345 -167.50 87.50 332.50 0.212862 -167.50 87.50 337.50 0.277652 -167.50 87.50 342.50 0.364918 -167.50 87.50 347.50 0.42735 -167.50 87.50 352.50 0.377081 -167.50 87.50 357.50 0.284063 -167.50 92.50 2.50 0.149977 -167.50 92.50 7.50 0.172971 -167.50 92.50 12.50 0.230709 -167.50 92.50 17.50 0.244704 -167.50 92.50 22.50 0.200246 -167.50 92.50 27.50 0.151509 -167.50 92.50 32.50 0.120114 -167.50 92.50 37.50 0.080885 -167.50 92.50 42.50 0.0382171 -167.50 92.50 47.50 0.0202141 -167.50 92.50 52.50 0.0382171 -167.50 92.50 57.50 0.080885 -167.50 92.50 62.50 0.120114 -167.50 92.50 67.50 0.151509 -167.50 92.50 72.50 0.200246 -167.50 92.50 77.50 0.244704 -167.50 92.50 82.50 0.230709 -167.50 92.50 87.50 0.172972 -167.50 92.50 92.50 0.149977 -167.50 92.50 97.50 0.172972 -167.50 92.50 102.50 0.230709 -167.50 92.50 107.50 0.244703 -167.50 92.50 112.50 0.200246 -167.50 92.50 117.50 0.151509 -167.50 92.50 122.50 0.120114 -167.50 92.50 127.50 0.0808849 -167.50 92.50 132.50 0.0382171 -167.50 92.50 137.50 0.0202141 -167.50 92.50 142.50 0.0382171 -167.50 92.50 147.50 0.080885 -167.50 92.50 152.50 0.120114 -167.50 92.50 157.50 0.151509 -167.50 92.50 162.50 0.200246 -167.50 92.50 167.50 0.244703 -167.50 92.50 172.50 0.230709 -167.50 92.50 177.50 0.172972 -167.50 92.50 182.50 0.149977 -167.50 92.50 187.50 0.172971 -167.50 92.50 192.50 0.230709 -167.50 92.50 197.50 0.244703 -167.50 92.50 202.50 0.200246 -167.50 92.50 207.50 0.151509 -167.50 92.50 212.50 0.120114 -167.50 92.50 217.50 0.080885 -167.50 92.50 222.50 0.0382172 -167.50 92.50 227.50 0.0202141 -167.50 92.50 232.50 0.0382172 -167.50 92.50 237.50 0.0808851 -167.50 92.50 242.50 0.120114 -167.50 92.50 247.50 0.151509 -167.50 92.50 252.50 0.200246 -167.50 92.50 257.50 0.244703 -167.50 92.50 262.50 0.230709 -167.50 92.50 267.50 0.172971 -167.50 92.50 272.50 0.149977 -167.50 92.50 277.50 0.172971 -167.50 92.50 282.50 0.230709 -167.50 92.50 287.50 0.244703 -167.50 92.50 292.50 0.200246 -167.50 92.50 297.50 0.151509 -167.50 92.50 302.50 0.120114 -167.50 92.50 307.50 0.0808851 -167.50 92.50 312.50 0.0382172 -167.50 92.50 317.50 0.0202141 -167.50 92.50 322.50 0.038217 -167.50 92.50 327.50 0.0808849 -167.50 92.50 332.50 0.120114 -167.50 92.50 337.50 0.151509 -167.50 92.50 342.50 0.200246 -167.50 92.50 347.50 0.244703 -167.50 92.50 352.50 0.230709 -167.50 92.50 357.50 0.172972 -167.50 97.50 2.50 0.210388 -167.50 97.50 7.50 0.284063 -167.50 97.50 12.50 0.377081 -167.50 97.50 17.50 0.42735 -167.50 97.50 22.50 0.364918 -167.50 97.50 27.50 0.277652 -167.50 97.50 32.50 0.212862 -167.50 97.50 37.50 0.14345 -167.50 97.50 42.50 0.0713344 -167.50 97.50 47.50 0.0282047 -167.50 97.50 52.50 0.0220957 -167.50 97.50 57.50 0.0401866 -167.50 97.50 62.50 0.068641 -167.50 97.50 67.50 0.116772 -167.50 97.50 72.50 0.22208 -167.50 97.50 77.50 0.330838 -167.50 97.50 82.50 0.290578 -167.50 97.50 87.50 0.216551 -167.50 97.50 92.50 0.210388 -167.50 97.50 97.50 0.284063 -167.50 97.50 102.50 0.377081 -167.50 97.50 107.50 0.42735 -167.50 97.50 112.50 0.364918 -167.50 97.50 117.50 0.277652 -167.50 97.50 122.50 0.212862 -167.50 97.50 127.50 0.14345 -167.50 97.50 132.50 0.0713343 -167.50 97.50 137.50 0.0282048 -167.50 97.50 142.50 0.0220957 -167.50 97.50 147.50 0.0401866 -167.50 97.50 152.50 0.0686409 -167.50 97.50 157.50 0.116772 -167.50 97.50 162.50 0.22208 -167.50 97.50 167.50 0.330838 -167.50 97.50 172.50 0.290578 -167.50 97.50 177.50 0.216551 -167.50 97.50 182.50 0.210388 -167.50 97.50 187.50 0.284063 -167.50 97.50 192.50 0.377081 -167.50 97.50 197.50 0.42735 -167.50 97.50 202.50 0.364918 -167.50 97.50 207.50 0.277652 -167.50 97.50 212.50 0.212862 -167.50 97.50 217.50 0.14345 -167.50 97.50 222.50 0.0713344 -167.50 97.50 227.50 0.0282048 -167.50 97.50 232.50 0.0220957 -167.50 97.50 237.50 0.0401867 -167.50 97.50 242.50 0.0686409 -167.50 97.50 247.50 0.116772 -167.50 97.50 252.50 0.22208 -167.50 97.50 257.50 0.330838 -167.50 97.50 262.50 0.290578 -167.50 97.50 267.50 0.216551 -167.50 97.50 272.50 0.210388 -167.50 97.50 277.50 0.284063 -167.50 97.50 282.50 0.377081 -167.50 97.50 287.50 0.42735 -167.50 97.50 292.50 0.364918 -167.50 97.50 297.50 0.277652 -167.50 97.50 302.50 0.212862 -167.50 97.50 307.50 0.14345 -167.50 97.50 312.50 0.0713345 -167.50 97.50 317.50 0.0282048 -167.50 97.50 322.50 0.0220956 -167.50 97.50 327.50 0.0401865 -167.50 97.50 332.50 0.0686409 -167.50 97.50 337.50 0.116772 -167.50 97.50 342.50 0.222079 -167.50 97.50 347.50 0.330838 -167.50 97.50 352.50 0.290578 -167.50 97.50 357.50 0.216551 -167.50 102.50 2.50 0.376554 -167.50 102.50 7.50 0.612695 -167.50 102.50 12.50 0.843313 -167.50 102.50 17.50 0.952143 -167.50 102.50 22.50 0.834679 -167.50 102.50 27.50 0.660442 -167.50 102.50 32.50 0.45187 -167.50 102.50 37.50 0.264102 -167.50 102.50 42.50 0.134074 -167.50 102.50 47.50 0.0546285 -167.50 102.50 52.50 0.0220598 -167.50 102.50 57.50 0.025875 -167.50 102.50 62.50 0.0616448 -167.50 102.50 67.50 0.128138 -167.50 102.50 72.50 0.220472 -167.50 102.50 77.50 0.281981 -167.50 102.50 82.50 0.333228 -167.50 102.50 87.50 0.348027 -167.50 102.50 92.50 0.376554 -167.50 102.50 97.50 0.612695 -167.50 102.50 102.50 0.843313 -167.50 102.50 107.50 0.952143 -167.50 102.50 112.50 0.834677 -167.50 102.50 117.50 0.660441 -167.50 102.50 122.50 0.45187 -167.50 102.50 127.50 0.264102 -167.50 102.50 132.50 0.134073 -167.50 102.50 137.50 0.0546285 -167.50 102.50 142.50 0.0220598 -167.50 102.50 147.50 0.025875 -167.50 102.50 152.50 0.0616447 -167.50 102.50 157.50 0.128137 -167.50 102.50 162.50 0.220471 -167.50 102.50 167.50 0.28198 -167.50 102.50 172.50 0.333227 -167.50 102.50 177.50 0.348028 -167.50 102.50 182.50 0.376554 -167.50 102.50 187.50 0.612695 -167.50 102.50 192.50 0.843312 -167.50 102.50 197.50 0.952142 -167.50 102.50 202.50 0.834678 -167.50 102.50 207.50 0.660442 -167.50 102.50 212.50 0.45187 -167.50 102.50 217.50 0.264102 -167.50 102.50 222.50 0.134074 -167.50 102.50 227.50 0.0546285 -167.50 102.50 232.50 0.0220597 -167.50 102.50 237.50 0.025875 -167.50 102.50 242.50 0.0616448 -167.50 102.50 247.50 0.128137 -167.50 102.50 252.50 0.220472 -167.50 102.50 257.50 0.281981 -167.50 102.50 262.50 0.333227 -167.50 102.50 267.50 0.348027 -167.50 102.50 272.50 0.376554 -167.50 102.50 277.50 0.612695 -167.50 102.50 282.50 0.843313 -167.50 102.50 287.50 0.952143 -167.50 102.50 292.50 0.834678 -167.50 102.50 297.50 0.660442 -167.50 102.50 302.50 0.45187 -167.50 102.50 307.50 0.264102 -167.50 102.50 312.50 0.134074 -167.50 102.50 317.50 0.0546285 -167.50 102.50 322.50 0.0220598 -167.50 102.50 327.50 0.0258749 -167.50 102.50 332.50 0.0616446 -167.50 102.50 337.50 0.128137 -167.50 102.50 342.50 0.220471 -167.50 102.50 347.50 0.28198 -167.50 102.50 352.50 0.333227 -167.50 102.50 357.50 0.348028 -167.50 107.50 2.50 0.655401 -167.50 107.50 7.50 1.09968 -167.50 107.50 12.50 1.54179 -167.50 107.50 17.50 1.8355 -167.50 107.50 22.50 1.66899 -167.50 107.50 27.50 1.26046 -167.50 107.50 32.50 0.84498 -167.50 107.50 37.50 0.456396 -167.50 107.50 42.50 0.189234 -167.50 107.50 47.50 0.0705296 -167.50 107.50 52.50 0.0243952 -167.50 107.50 57.50 0.0230554 -167.50 107.50 62.50 0.0495344 -167.50 107.50 67.50 0.115984 -167.50 107.50 72.50 0.213 -167.50 107.50 77.50 0.363064 -167.50 107.50 82.50 0.446929 -167.50 107.50 87.50 0.515123 -167.50 107.50 92.50 0.655401 -167.50 107.50 97.50 1.09968 -167.50 107.50 102.50 1.54179 -167.50 107.50 107.50 1.8355 -167.50 107.50 112.50 1.66899 -167.50 107.50 117.50 1.26046 -167.50 107.50 122.50 0.84498 -167.50 107.50 127.50 0.456396 -167.50 107.50 132.50 0.189233 -167.50 107.50 137.50 0.0705297 -167.50 107.50 142.50 0.0243952 -167.50 107.50 147.50 0.0230554 -167.50 107.50 152.50 0.0495343 -167.50 107.50 157.50 0.115984 -167.50 107.50 162.50 0.213 -167.50 107.50 167.50 0.363063 -167.50 107.50 172.50 0.446928 -167.50 107.50 177.50 0.515123 -167.50 107.50 182.50 0.6554 -167.50 107.50 187.50 1.09968 -167.50 107.50 192.50 1.54179 -167.50 107.50 197.50 1.8355 -167.50 107.50 202.50 1.66899 -167.50 107.50 207.50 1.26046 -167.50 107.50 212.50 0.844981 -167.50 107.50 217.50 0.456397 -167.50 107.50 222.50 0.189234 -167.50 107.50 227.50 0.0705297 -167.50 107.50 232.50 0.0243951 -167.50 107.50 237.50 0.0230554 -167.50 107.50 242.50 0.0495344 -167.50 107.50 247.50 0.115984 -167.50 107.50 252.50 0.213 -167.50 107.50 257.50 0.363063 -167.50 107.50 262.50 0.446928 -167.50 107.50 267.50 0.515123 -167.50 107.50 272.50 0.6554 -167.50 107.50 277.50 1.09968 -167.50 107.50 282.50 1.54179 -167.50 107.50 287.50 1.8355 -167.50 107.50 292.50 1.669 -167.50 107.50 297.50 1.26046 -167.50 107.50 302.50 0.844981 -167.50 107.50 307.50 0.456397 -167.50 107.50 312.50 0.189234 -167.50 107.50 317.50 0.0705298 -167.50 107.50 322.50 0.0243952 -167.50 107.50 327.50 0.0230554 -167.50 107.50 332.50 0.0495342 -167.50 107.50 337.50 0.115984 -167.50 107.50 342.50 0.213 -167.50 107.50 347.50 0.363064 -167.50 107.50 352.50 0.446928 -167.50 107.50 357.50 0.515123 -167.50 112.50 2.50 1.04451 -167.50 112.50 7.50 1.66728 -167.50 112.50 12.50 2.3662 -167.50 112.50 17.50 2.71155 -167.50 112.50 22.50 2.58172 -167.50 112.50 27.50 1.94417 -167.50 112.50 32.50 1.24363 -167.50 112.50 37.50 0.617899 -167.50 112.50 42.50 0.238278 -167.50 112.50 47.50 0.068917 -167.50 112.50 52.50 0.0191545 -167.50 112.50 57.50 0.0195902 -167.50 112.50 62.50 0.0527094 -167.50 112.50 67.50 0.107708 -167.50 112.50 72.50 0.22959 -167.50 112.50 77.50 0.406103 -167.50 112.50 82.50 0.570906 -167.50 112.50 87.50 0.759542 -167.50 112.50 92.50 1.04451 -167.50 112.50 97.50 1.66728 -167.50 112.50 102.50 2.3662 -167.50 112.50 107.50 2.71154 -167.50 112.50 112.50 2.58171 -167.50 112.50 117.50 1.94417 -167.50 112.50 122.50 1.24363 -167.50 112.50 127.50 0.617898 -167.50 112.50 132.50 0.238278 -167.50 112.50 137.50 0.068917 -167.50 112.50 142.50 0.0191545 -167.50 112.50 147.50 0.0195902 -167.50 112.50 152.50 0.0527093 -167.50 112.50 157.50 0.107708 -167.50 112.50 162.50 0.22959 -167.50 112.50 167.50 0.406102 -167.50 112.50 172.50 0.570905 -167.50 112.50 177.50 0.759542 -167.50 112.50 182.50 1.04451 -167.50 112.50 187.50 1.66728 -167.50 112.50 192.50 2.3662 -167.50 112.50 197.50 2.71154 -167.50 112.50 202.50 2.58171 -167.50 112.50 207.50 1.94417 -167.50 112.50 212.50 1.24363 -167.50 112.50 217.50 0.617899 -167.50 112.50 222.50 0.238278 -167.50 112.50 227.50 0.0689171 -167.50 112.50 232.50 0.0191544 -167.50 112.50 237.50 0.0195902 -167.50 112.50 242.50 0.0527094 -167.50 112.50 247.50 0.107708 -167.50 112.50 252.50 0.22959 -167.50 112.50 257.50 0.406103 -167.50 112.50 262.50 0.570906 -167.50 112.50 267.50 0.759542 -167.50 112.50 272.50 1.04451 -167.50 112.50 277.50 1.66728 -167.50 112.50 282.50 2.3662 -167.50 112.50 287.50 2.71155 -167.50 112.50 292.50 2.58172 -167.50 112.50 297.50 1.94417 -167.50 112.50 302.50 1.24363 -167.50 112.50 307.50 0.617899 -167.50 112.50 312.50 0.238279 -167.50 112.50 317.50 0.0689171 -167.50 112.50 322.50 0.0191545 -167.50 112.50 327.50 0.0195902 -167.50 112.50 332.50 0.0527093 -167.50 112.50 337.50 0.107707 -167.50 112.50 342.50 0.229589 -167.50 112.50 347.50 0.406102 -167.50 112.50 352.50 0.570905 -167.50 112.50 357.50 0.759542 -167.50 117.50 2.50 1.46987 -167.50 117.50 7.50 2.3144 -167.50 117.50 12.50 3.03827 -167.50 117.50 17.50 3.35199 -167.50 117.50 22.50 3.25018 -167.50 117.50 27.50 2.54594 -167.50 117.50 32.50 1.51121 -167.50 117.50 37.50 0.72531 -167.50 117.50 42.50 0.264226 -167.50 117.50 47.50 0.0679237 -167.50 117.50 52.50 0.0169017 -167.50 117.50 57.50 0.0210163 -167.50 117.50 62.50 0.0433063 -167.50 117.50 67.50 0.0988996 -167.50 117.50 72.50 0.240279 -167.50 117.50 77.50 0.42383 -167.50 117.50 82.50 0.716901 -167.50 117.50 87.50 1.02875 -167.50 117.50 92.50 1.46987 -167.50 117.50 97.50 2.3144 -167.50 117.50 102.50 3.03827 -167.50 117.50 107.50 3.35199 -167.50 117.50 112.50 3.25018 -167.50 117.50 117.50 2.54594 -167.50 117.50 122.50 1.51121 -167.50 117.50 127.50 0.725309 -167.50 117.50 132.50 0.264226 -167.50 117.50 137.50 0.0679237 -167.50 117.50 142.50 0.0169017 -167.50 117.50 147.50 0.0210163 -167.50 117.50 152.50 0.0433063 -167.50 117.50 157.50 0.0988994 -167.50 117.50 162.50 0.240279 -167.50 117.50 167.50 0.423829 -167.50 117.50 172.50 0.7169 -167.50 117.50 177.50 1.02875 -167.50 117.50 182.50 1.46987 -167.50 117.50 187.50 2.3144 -167.50 117.50 192.50 3.03827 -167.50 117.50 197.50 3.35199 -167.50 117.50 202.50 3.25018 -167.50 117.50 207.50 2.54594 -167.50 117.50 212.50 1.51121 -167.50 117.50 217.50 0.72531 -167.50 117.50 222.50 0.264226 -167.50 117.50 227.50 0.0679238 -167.50 117.50 232.50 0.0169017 -167.50 117.50 237.50 0.0210163 -167.50 117.50 242.50 0.0433063 -167.50 117.50 247.50 0.0988996 -167.50 117.50 252.50 0.240279 -167.50 117.50 257.50 0.42383 -167.50 117.50 262.50 0.7169 -167.50 117.50 267.50 1.02875 -167.50 117.50 272.50 1.46987 -167.50 117.50 277.50 2.3144 -167.50 117.50 282.50 3.03827 -167.50 117.50 287.50 3.35199 -167.50 117.50 292.50 3.25018 -167.50 117.50 297.50 2.54594 -167.50 117.50 302.50 1.51121 -167.50 117.50 307.50 0.72531 -167.50 117.50 312.50 0.264226 -167.50 117.50 317.50 0.0679239 -167.50 117.50 322.50 0.0169017 -167.50 117.50 327.50 0.0210163 -167.50 117.50 332.50 0.0433061 -167.50 117.50 337.50 0.0988992 -167.50 117.50 342.50 0.240279 -167.50 117.50 347.50 0.423829 -167.50 117.50 352.50 0.716899 -167.50 117.50 357.50 1.02875 -167.50 122.50 2.50 1.91896 -167.50 122.50 7.50 2.88023 -167.50 122.50 12.50 3.61387 -167.50 122.50 17.50 3.7508 -167.50 122.50 22.50 3.52931 -167.50 122.50 27.50 2.72954 -167.50 122.50 32.50 1.58341 -167.50 122.50 37.50 0.695812 -167.50 122.50 42.50 0.216973 -167.50 122.50 47.50 0.0430295 -167.50 122.50 52.50 0.0137646 -167.50 122.50 57.50 0.0237501 -167.50 122.50 62.50 0.0597005 -167.50 122.50 67.50 0.14401 -167.50 122.50 72.50 0.291627 -167.50 122.50 77.50 0.544237 -167.50 122.50 82.50 0.940372 -167.50 122.50 87.50 1.34853 -167.50 122.50 92.50 1.91896 -167.50 122.50 97.50 2.88022 -167.50 122.50 102.50 3.61387 -167.50 122.50 107.50 3.7508 -167.50 122.50 112.50 3.52931 -167.50 122.50 117.50 2.72954 -167.50 122.50 122.50 1.58341 -167.50 122.50 127.50 0.695811 -167.50 122.50 132.50 0.216973 -167.50 122.50 137.50 0.0430294 -167.50 122.50 142.50 0.0137646 -167.50 122.50 147.50 0.02375 -167.50 122.50 152.50 0.0597003 -167.50 122.50 157.50 0.144009 -167.50 122.50 162.50 0.291627 -167.50 122.50 167.50 0.544237 -167.50 122.50 172.50 0.940371 -167.50 122.50 177.50 1.34853 -167.50 122.50 182.50 1.91896 -167.50 122.50 187.50 2.88023 -167.50 122.50 192.50 3.61387 -167.50 122.50 197.50 3.7508 -167.50 122.50 202.50 3.52931 -167.50 122.50 207.50 2.72954 -167.50 122.50 212.50 1.58341 -167.50 122.50 217.50 0.695812 -167.50 122.50 222.50 0.216973 -167.50 122.50 227.50 0.0430295 -167.50 122.50 232.50 0.0137646 -167.50 122.50 237.50 0.02375 -167.50 122.50 242.50 0.0597004 -167.50 122.50 247.50 0.14401 -167.50 122.50 252.50 0.291627 -167.50 122.50 257.50 0.544237 -167.50 122.50 262.50 0.940372 -167.50 122.50 267.50 1.34853 -167.50 122.50 272.50 1.91896 -167.50 122.50 277.50 2.88023 -167.50 122.50 282.50 3.61387 -167.50 122.50 287.50 3.7508 -167.50 122.50 292.50 3.52931 -167.50 122.50 297.50 2.72954 -167.50 122.50 302.50 1.58342 -167.50 122.50 307.50 0.695812 -167.50 122.50 312.50 0.216973 -167.50 122.50 317.50 0.0430296 -167.50 122.50 322.50 0.0137647 -167.50 122.50 327.50 0.02375 -167.50 122.50 332.50 0.0597002 -167.50 122.50 337.50 0.144009 -167.50 122.50 342.50 0.291626 -167.50 122.50 347.50 0.544237 -167.50 122.50 352.50 0.940371 -167.50 122.50 357.50 1.34853 -167.50 127.50 2.50 2.48319 -167.50 127.50 7.50 3.38839 -167.50 127.50 12.50 4.04575 -167.50 127.50 17.50 3.88467 -167.50 127.50 22.50 3.3656 -167.50 127.50 27.50 2.38044 -167.50 127.50 32.50 1.33187 -167.50 127.50 37.50 0.527502 -167.50 127.50 42.50 0.156568 -167.50 127.50 47.50 0.041197 -167.50 127.50 52.50 0.0169254 -167.50 127.50 57.50 0.0338977 -167.50 127.50 62.50 0.0885528 -167.50 127.50 67.50 0.220749 -167.50 127.50 72.50 0.433036 -167.50 127.50 77.50 0.809533 -167.50 127.50 82.50 1.28426 -167.50 127.50 87.50 1.78362 -167.50 127.50 92.50 2.48318 -167.50 127.50 97.50 3.38839 -167.50 127.50 102.50 4.04575 -167.50 127.50 107.50 3.88467 -167.50 127.50 112.50 3.3656 -167.50 127.50 117.50 2.38044 -167.50 127.50 122.50 1.33187 -167.50 127.50 127.50 0.527502 -167.50 127.50 132.50 0.156568 -167.50 127.50 137.50 0.041197 -167.50 127.50 142.50 0.0169254 -167.50 127.50 147.50 0.0338977 -167.50 127.50 152.50 0.0885527 -167.50 127.50 157.50 0.220749 -167.50 127.50 162.50 0.433036 -167.50 127.50 167.50 0.809532 -167.50 127.50 172.50 1.28426 -167.50 127.50 177.50 1.78362 -167.50 127.50 182.50 2.48319 -167.50 127.50 187.50 3.38839 -167.50 127.50 192.50 4.04575 -167.50 127.50 197.50 3.88467 -167.50 127.50 202.50 3.3656 -167.50 127.50 207.50 2.38044 -167.50 127.50 212.50 1.33187 -167.50 127.50 217.50 0.527503 -167.50 127.50 222.50 0.156568 -167.50 127.50 227.50 0.0411971 -167.50 127.50 232.50 0.0169255 -167.50 127.50 237.50 0.0338978 -167.50 127.50 242.50 0.0885528 -167.50 127.50 247.50 0.220749 -167.50 127.50 252.50 0.433037 -167.50 127.50 257.50 0.809534 -167.50 127.50 262.50 1.28426 -167.50 127.50 267.50 1.78362 -167.50 127.50 272.50 2.48319 -167.50 127.50 277.50 3.38839 -167.50 127.50 282.50 4.04576 -167.50 127.50 287.50 3.88467 -167.50 127.50 292.50 3.3656 -167.50 127.50 297.50 2.38045 -167.50 127.50 302.50 1.33187 -167.50 127.50 307.50 0.527503 -167.50 127.50 312.50 0.156568 -167.50 127.50 317.50 0.0411972 -167.50 127.50 322.50 0.0169254 -167.50 127.50 327.50 0.0338977 -167.50 127.50 332.50 0.0885527 -167.50 127.50 337.50 0.220748 -167.50 127.50 342.50 0.433035 -167.50 127.50 347.50 0.809532 -167.50 127.50 352.50 1.28426 -167.50 127.50 357.50 1.78362 -167.50 132.50 2.50 3.07558 -167.50 132.50 7.50 3.78144 -167.50 132.50 12.50 4.13483 -167.50 132.50 17.50 3.70354 -167.50 132.50 22.50 2.82691 -167.50 132.50 27.50 1.81342 -167.50 132.50 32.50 0.887786 -167.50 132.50 37.50 0.379218 -167.50 132.50 42.50 0.110702 -167.50 132.50 47.50 0.0300594 -167.50 132.50 52.50 0.0245617 -167.50 132.50 57.50 0.0480408 -167.50 132.50 62.50 0.111763 -167.50 132.50 67.50 0.295443 -167.50 132.50 72.50 0.620534 -167.50 132.50 77.50 1.13723 -167.50 132.50 82.50 1.70748 -167.50 132.50 87.50 2.27987 -167.50 132.50 92.50 3.07558 -167.50 132.50 97.50 3.78144 -167.50 132.50 102.50 4.13483 -167.50 132.50 107.50 3.70354 -167.50 132.50 112.50 2.82691 -167.50 132.50 117.50 1.81342 -167.50 132.50 122.50 0.887785 -167.50 132.50 127.50 0.379217 -167.50 132.50 132.50 0.110701 -167.50 132.50 137.50 0.0300594 -167.50 132.50 142.50 0.0245617 -167.50 132.50 147.50 0.0480408 -167.50 132.50 152.50 0.111763 -167.50 132.50 157.50 0.295443 -167.50 132.50 162.50 0.620533 -167.50 132.50 167.50 1.13723 -167.50 132.50 172.50 1.70748 -167.50 132.50 177.50 2.27987 -167.50 132.50 182.50 3.07558 -167.50 132.50 187.50 3.78144 -167.50 132.50 192.50 4.13483 -167.50 132.50 197.50 3.70354 -167.50 132.50 202.50 2.82692 -167.50 132.50 207.50 1.81342 -167.50 132.50 212.50 0.887785 -167.50 132.50 217.50 0.379218 -167.50 132.50 222.50 0.110702 -167.50 132.50 227.50 0.0300595 -167.50 132.50 232.50 0.0245617 -167.50 132.50 237.50 0.0480408 -167.50 132.50 242.50 0.111763 -167.50 132.50 247.50 0.295443 -167.50 132.50 252.50 0.620534 -167.50 132.50 257.50 1.13723 -167.50 132.50 262.50 1.70748 -167.50 132.50 267.50 2.27988 -167.50 132.50 272.50 3.07558 -167.50 132.50 277.50 3.78144 -167.50 132.50 282.50 4.13483 -167.50 132.50 287.50 3.70354 -167.50 132.50 292.50 2.82692 -167.50 132.50 297.50 1.81342 -167.50 132.50 302.50 0.887787 -167.50 132.50 307.50 0.379218 -167.50 132.50 312.50 0.110702 -167.50 132.50 317.50 0.0300595 -167.50 132.50 322.50 0.0245617 -167.50 132.50 327.50 0.0480407 -167.50 132.50 332.50 0.111763 -167.50 132.50 337.50 0.295442 -167.50 132.50 342.50 0.620532 -167.50 132.50 347.50 1.13723 -167.50 132.50 352.50 1.70748 -167.50 132.50 357.50 2.27987 -167.50 137.50 2.50 3.34429 -167.50 137.50 7.50 3.8114 -167.50 137.50 12.50 3.76021 -167.50 137.50 17.50 3.14533 -167.50 137.50 22.50 2.1993 -167.50 137.50 27.50 1.22003 -167.50 137.50 32.50 0.535988 -167.50 137.50 37.50 0.213094 -167.50 137.50 42.50 0.0674383 -167.50 137.50 47.50 0.0259854 -167.50 137.50 52.50 0.0197802 -167.50 137.50 57.50 0.0535264 -167.50 137.50 62.50 0.14939 -167.50 137.50 67.50 0.359979 -167.50 137.50 72.50 0.83235 -167.50 137.50 77.50 1.4814 -167.50 137.50 82.50 2.09946 -167.50 137.50 87.50 2.66415 -167.50 137.50 92.50 3.34429 -167.50 137.50 97.50 3.8114 -167.50 137.50 102.50 3.76021 -167.50 137.50 107.50 3.14533 -167.50 137.50 112.50 2.1993 -167.50 137.50 117.50 1.22003 -167.50 137.50 122.50 0.535987 -167.50 137.50 127.50 0.213094 -167.50 137.50 132.50 0.0674383 -167.50 137.50 137.50 0.0259854 -167.50 137.50 142.50 0.0197802 -167.50 137.50 147.50 0.0535264 -167.50 137.50 152.50 0.149389 -167.50 137.50 157.50 0.359979 -167.50 137.50 162.50 0.83235 -167.50 137.50 167.50 1.48139 -167.50 137.50 172.50 2.09945 -167.50 137.50 177.50 2.66415 -167.50 137.50 182.50 3.34429 -167.50 137.50 187.50 3.8114 -167.50 137.50 192.50 3.76021 -167.50 137.50 197.50 3.14533 -167.50 137.50 202.50 2.1993 -167.50 137.50 207.50 1.22003 -167.50 137.50 212.50 0.535988 -167.50 137.50 217.50 0.213094 -167.50 137.50 222.50 0.0674384 -167.50 137.50 227.50 0.0259854 -167.50 137.50 232.50 0.0197802 -167.50 137.50 237.50 0.0535265 -167.50 137.50 242.50 0.14939 -167.50 137.50 247.50 0.35998 -167.50 137.50 252.50 0.83235 -167.50 137.50 257.50 1.4814 -167.50 137.50 262.50 2.09946 -167.50 137.50 267.50 2.66415 -167.50 137.50 272.50 3.34429 -167.50 137.50 277.50 3.8114 -167.50 137.50 282.50 3.76021 -167.50 137.50 287.50 3.14533 -167.50 137.50 292.50 2.1993 -167.50 137.50 297.50 1.22004 -167.50 137.50 302.50 0.535989 -167.50 137.50 307.50 0.213095 -167.50 137.50 312.50 0.0674384 -167.50 137.50 317.50 0.0259854 -167.50 137.50 322.50 0.0197802 -167.50 137.50 327.50 0.0535263 -167.50 137.50 332.50 0.149389 -167.50 137.50 337.50 0.359978 -167.50 137.50 342.50 0.832348 -167.50 137.50 347.50 1.48139 -167.50 137.50 352.50 2.09945 -167.50 137.50 357.50 2.66415 -167.50 142.50 2.50 3.07558 -167.50 142.50 7.50 3.28461 -167.50 142.50 12.50 3.00582 -167.50 142.50 17.50 2.3018 -167.50 142.50 22.50 1.44951 -167.50 142.50 27.50 0.734424 -167.50 142.50 32.50 0.281644 -167.50 142.50 37.50 0.0941096 -167.50 142.50 42.50 0.0346214 -167.50 142.50 47.50 0.0129026 -167.50 142.50 52.50 0.0187252 -167.50 142.50 57.50 0.0528531 -167.50 142.50 62.50 0.159378 -167.50 142.50 67.50 0.458404 -167.50 142.50 72.50 1.02812 -167.50 142.50 77.50 1.75871 -167.50 142.50 82.50 2.33768 -167.50 142.50 87.50 2.71443 -167.50 142.50 92.50 3.07557 -167.50 142.50 97.50 3.28461 -167.50 142.50 102.50 3.00582 -167.50 142.50 107.50 2.30179 -167.50 142.50 112.50 1.44951 -167.50 142.50 117.50 0.734423 -167.50 142.50 122.50 0.281644 -167.50 142.50 127.50 0.0941095 -167.50 142.50 132.50 0.0346214 -167.50 142.50 137.50 0.0129026 -167.50 142.50 142.50 0.0187252 -167.50 142.50 147.50 0.0528531 -167.50 142.50 152.50 0.159378 -167.50 142.50 157.50 0.458403 -167.50 142.50 162.50 1.02812 -167.50 142.50 167.50 1.75871 -167.50 142.50 172.50 2.33768 -167.50 142.50 177.50 2.71443 -167.50 142.50 182.50 3.07558 -167.50 142.50 187.50 3.28461 -167.50 142.50 192.50 3.00582 -167.50 142.50 197.50 2.3018 -167.50 142.50 202.50 1.44951 -167.50 142.50 207.50 0.734424 -167.50 142.50 212.50 0.281644 -167.50 142.50 217.50 0.0941096 -167.50 142.50 222.50 0.0346215 -167.50 142.50 227.50 0.0129026 -167.50 142.50 232.50 0.0187252 -167.50 142.50 237.50 0.0528532 -167.50 142.50 242.50 0.159378 -167.50 142.50 247.50 0.458404 -167.50 142.50 252.50 1.02812 -167.50 142.50 257.50 1.75871 -167.50 142.50 262.50 2.33768 -167.50 142.50 267.50 2.71443 -167.50 142.50 272.50 3.07558 -167.50 142.50 277.50 3.28461 -167.50 142.50 282.50 3.00582 -167.50 142.50 287.50 2.3018 -167.50 142.50 292.50 1.44951 -167.50 142.50 297.50 0.734425 -167.50 142.50 302.50 0.281645 -167.50 142.50 307.50 0.0941097 -167.50 142.50 312.50 0.0346215 -167.50 142.50 317.50 0.0129026 -167.50 142.50 322.50 0.0187251 -167.50 142.50 327.50 0.052853 -167.50 142.50 332.50 0.159378 -167.50 142.50 337.50 0.458402 -167.50 142.50 342.50 1.02812 -167.50 142.50 347.50 1.75871 -167.50 142.50 352.50 2.33768 -167.50 142.50 357.50 2.71443 -167.50 147.50 2.50 2.48318 -167.50 147.50 7.50 2.43862 -167.50 147.50 12.50 2.08206 -167.50 147.50 17.50 1.46004 -167.50 147.50 22.50 0.819891 -167.50 147.50 27.50 0.372317 -167.50 147.50 32.50 0.132328 -167.50 147.50 37.50 0.0366549 -167.50 147.50 42.50 0.0127237 -167.50 147.50 47.50 0.0102016 -167.50 147.50 52.50 0.0208957 -167.50 147.50 57.50 0.0607416 -167.50 147.50 62.50 0.188416 -167.50 147.50 67.50 0.522556 -167.50 147.50 72.50 1.1385 -167.50 147.50 77.50 1.86234 -167.50 147.50 82.50 2.31353 -167.50 147.50 87.50 2.43565 -167.50 147.50 92.50 2.48319 -167.50 147.50 97.50 2.43862 -167.50 147.50 102.50 2.08206 -167.50 147.50 107.50 1.46004 -167.50 147.50 112.50 0.819892 -167.50 147.50 117.50 0.372316 -167.50 147.50 122.50 0.132328 -167.50 147.50 127.50 0.0366548 -167.50 147.50 132.50 0.0127237 -167.50 147.50 137.50 0.0102016 -167.50 147.50 142.50 0.0208956 -167.50 147.50 147.50 0.0607416 -167.50 147.50 152.50 0.188415 -167.50 147.50 157.50 0.522555 -167.50 147.50 162.50 1.1385 -167.50 147.50 167.50 1.86234 -167.50 147.50 172.50 2.31354 -167.50 147.50 177.50 2.43565 -167.50 147.50 182.50 2.48319 -167.50 147.50 187.50 2.43862 -167.50 147.50 192.50 2.08206 -167.50 147.50 197.50 1.46004 -167.50 147.50 202.50 0.819892 -167.50 147.50 207.50 0.372317 -167.50 147.50 212.50 0.132328 -167.50 147.50 217.50 0.0366549 -167.50 147.50 222.50 0.0127237 -167.50 147.50 227.50 0.0102016 -167.50 147.50 232.50 0.0208957 -167.50 147.50 237.50 0.0607417 -167.50 147.50 242.50 0.188416 -167.50 147.50 247.50 0.522556 -167.50 147.50 252.50 1.1385 -167.50 147.50 257.50 1.86234 -167.50 147.50 262.50 2.31354 -167.50 147.50 267.50 2.43565 -167.50 147.50 272.50 2.48319 -167.50 147.50 277.50 2.43862 -167.50 147.50 282.50 2.08206 -167.50 147.50 287.50 1.46004 -167.50 147.50 292.50 0.819892 -167.50 147.50 297.50 0.372317 -167.50 147.50 302.50 0.132328 -167.50 147.50 307.50 0.0366549 -167.50 147.50 312.50 0.0127237 -167.50 147.50 317.50 0.0102016 -167.50 147.50 322.50 0.0208956 -167.50 147.50 327.50 0.0607414 -167.50 147.50 332.50 0.188415 -167.50 147.50 337.50 0.522555 -167.50 147.50 342.50 1.1385 -167.50 147.50 347.50 1.86234 -167.50 147.50 352.50 2.31353 -167.50 147.50 357.50 2.43565 -167.50 152.50 2.50 1.91896 -167.50 152.50 7.50 1.67282 -167.50 152.50 12.50 1.34077 -167.50 152.50 17.50 0.84225 -167.50 152.50 22.50 0.47031 -167.50 152.50 27.50 0.185491 -167.50 152.50 32.50 0.0660116 -167.50 152.50 37.50 0.0169593 -167.50 152.50 42.50 0.00605909 -167.50 152.50 47.50 0.010606 -167.50 152.50 52.50 0.0280961 -167.50 152.50 57.50 0.0852507 -167.50 152.50 62.50 0.251832 -167.50 152.50 67.50 0.604964 -167.50 152.50 72.50 1.21541 -167.50 152.50 77.50 1.86571 -167.50 152.50 82.50 2.12271 -167.50 152.50 87.50 2.07289 -167.50 152.50 92.50 1.91896 -167.50 152.50 97.50 1.67282 -167.50 152.50 102.50 1.34077 -167.50 152.50 107.50 0.84225 -167.50 152.50 112.50 0.47031 -167.50 152.50 117.50 0.185491 -167.50 152.50 122.50 0.0660115 -167.50 152.50 127.50 0.0169593 -167.50 152.50 132.50 0.00605908 -167.50 152.50 137.50 0.010606 -167.50 152.50 142.50 0.0280961 -167.50 152.50 147.50 0.0852507 -167.50 152.50 152.50 0.251832 -167.50 152.50 157.50 0.604964 -167.50 152.50 162.50 1.21541 -167.50 152.50 167.50 1.86571 -167.50 152.50 172.50 2.12271 -167.50 152.50 177.50 2.07289 -167.50 152.50 182.50 1.91896 -167.50 152.50 187.50 1.67282 -167.50 152.50 192.50 1.34077 -167.50 152.50 197.50 0.84225 -167.50 152.50 202.50 0.47031 -167.50 152.50 207.50 0.185491 -167.50 152.50 212.50 0.0660115 -167.50 152.50 217.50 0.0169594 -167.50 152.50 222.50 0.00605909 -167.50 152.50 227.50 0.010606 -167.50 152.50 232.50 0.0280962 -167.50 152.50 237.50 0.0852509 -167.50 152.50 242.50 0.251832 -167.50 152.50 247.50 0.604965 -167.50 152.50 252.50 1.21541 -167.50 152.50 257.50 1.86571 -167.50 152.50 262.50 2.12271 -167.50 152.50 267.50 2.07289 -167.50 152.50 272.50 1.91896 -167.50 152.50 277.50 1.67282 -167.50 152.50 282.50 1.34077 -167.50 152.50 287.50 0.84225 -167.50 152.50 292.50 0.47031 -167.50 152.50 297.50 0.185491 -167.50 152.50 302.50 0.0660117 -167.50 152.50 307.50 0.0169594 -167.50 152.50 312.50 0.00605909 -167.50 152.50 317.50 0.010606 -167.50 152.50 322.50 0.0280961 -167.50 152.50 327.50 0.0852506 -167.50 152.50 332.50 0.251831 -167.50 152.50 337.50 0.604963 -167.50 152.50 342.50 1.21541 -167.50 152.50 347.50 1.86571 -167.50 152.50 352.50 2.12271 -167.50 152.50 357.50 2.07289 -167.50 157.50 2.50 1.46987 -167.50 157.50 7.50 1.13434 -167.50 157.50 12.50 0.846134 -167.50 157.50 17.50 0.526842 -167.50 157.50 22.50 0.282701 -167.50 157.50 27.50 0.130854 -167.50 157.50 32.50 0.0500053 -167.50 157.50 37.50 0.0230623 -167.50 157.50 42.50 0.0111999 -167.50 157.50 47.50 0.0124126 -167.50 157.50 52.50 0.0375602 -167.50 157.50 57.50 0.119208 -167.50 157.50 62.50 0.335643 -167.50 157.50 67.50 0.755124 -167.50 157.50 72.50 1.3193 -167.50 157.50 77.50 1.79157 -167.50 157.50 82.50 1.90549 -167.50 157.50 87.50 1.73302 -167.50 157.50 92.50 1.46987 -167.50 157.50 97.50 1.13434 -167.50 157.50 102.50 0.846133 -167.50 157.50 107.50 0.526842 -167.50 157.50 112.50 0.282701 -167.50 157.50 117.50 0.130854 -167.50 157.50 122.50 0.0500052 -167.50 157.50 127.50 0.0230622 -167.50 157.50 132.50 0.0111999 -167.50 157.50 137.50 0.0124126 -167.50 157.50 142.50 0.0375602 -167.50 157.50 147.50 0.119208 -167.50 157.50 152.50 0.335643 -167.50 157.50 157.50 0.755123 -167.50 157.50 162.50 1.3193 -167.50 157.50 167.50 1.79157 -167.50 157.50 172.50 1.90549 -167.50 157.50 177.50 1.73302 -167.50 157.50 182.50 1.46987 -167.50 157.50 187.50 1.13434 -167.50 157.50 192.50 0.846133 -167.50 157.50 197.50 0.526842 -167.50 157.50 202.50 0.282701 -167.50 157.50 207.50 0.130854 -167.50 157.50 212.50 0.0500053 -167.50 157.50 217.50 0.0230623 -167.50 157.50 222.50 0.0111999 -167.50 157.50 227.50 0.0124126 -167.50 157.50 232.50 0.0375603 -167.50 157.50 237.50 0.119208 -167.50 157.50 242.50 0.335643 -167.50 157.50 247.50 0.755124 -167.50 157.50 252.50 1.3193 -167.50 157.50 257.50 1.79157 -167.50 157.50 262.50 1.90549 -167.50 157.50 267.50 1.73302 -167.50 157.50 272.50 1.46987 -167.50 157.50 277.50 1.13434 -167.50 157.50 282.50 0.846133 -167.50 157.50 287.50 0.526842 -167.50 157.50 292.50 0.282701 -167.50 157.50 297.50 0.130854 -167.50 157.50 302.50 0.0500054 -167.50 157.50 307.50 0.0230623 -167.50 157.50 312.50 0.0111999 -167.50 157.50 317.50 0.0124126 -167.50 157.50 322.50 0.0375601 -167.50 157.50 327.50 0.119208 -167.50 157.50 332.50 0.335642 -167.50 157.50 337.50 0.755122 -167.50 157.50 342.50 1.3193 -167.50 157.50 347.50 1.79157 -167.50 157.50 352.50 1.9055 -167.50 157.50 357.50 1.73302 -167.50 162.50 2.50 1.04451 -167.50 162.50 7.50 0.736745 -167.50 162.50 12.50 0.501155 -167.50 162.50 17.50 0.335263 -167.50 162.50 22.50 0.185647 -167.50 162.50 27.50 0.108236 -167.50 162.50 32.50 0.0792763 -167.50 162.50 37.50 0.0520203 -167.50 162.50 42.50 0.0247396 -167.50 162.50 47.50 0.0190101 -167.50 162.50 52.50 0.0432779 -167.50 162.50 57.50 0.147344 -167.50 162.50 62.50 0.401316 -167.50 162.50 67.50 0.835966 -167.50 162.50 72.50 1.34437 -167.50 162.50 77.50 1.66988 -167.50 162.50 82.50 1.64759 -167.50 162.50 87.50 1.36448 -167.50 162.50 92.50 1.04451 -167.50 162.50 97.50 0.736745 -167.50 162.50 102.50 0.501154 -167.50 162.50 107.50 0.335263 -167.50 162.50 112.50 0.185647 -167.50 162.50 117.50 0.108236 -167.50 162.50 122.50 0.0792763 -167.50 162.50 127.50 0.0520203 -167.50 162.50 132.50 0.0247396 -167.50 162.50 137.50 0.0190101 -167.50 162.50 142.50 0.0432779 -167.50 162.50 147.50 0.147344 -167.50 162.50 152.50 0.401316 -167.50 162.50 157.50 0.835966 -167.50 162.50 162.50 1.34437 -167.50 162.50 167.50 1.66988 -167.50 162.50 172.50 1.64759 -167.50 162.50 177.50 1.36448 -167.50 162.50 182.50 1.04451 -167.50 162.50 187.50 0.736745 -167.50 162.50 192.50 0.501154 -167.50 162.50 197.50 0.335263 -167.50 162.50 202.50 0.185647 -167.50 162.50 207.50 0.108236 -167.50 162.50 212.50 0.0792763 -167.50 162.50 217.50 0.0520203 -167.50 162.50 222.50 0.0247396 -167.50 162.50 227.50 0.0190101 -167.50 162.50 232.50 0.043278 -167.50 162.50 237.50 0.147344 -167.50 162.50 242.50 0.401316 -167.50 162.50 247.50 0.835966 -167.50 162.50 252.50 1.34437 -167.50 162.50 257.50 1.66988 -167.50 162.50 262.50 1.64759 -167.50 162.50 267.50 1.36448 -167.50 162.50 272.50 1.04451 -167.50 162.50 277.50 0.736745 -167.50 162.50 282.50 0.501155 -167.50 162.50 287.50 0.335263 -167.50 162.50 292.50 0.185647 -167.50 162.50 297.50 0.108237 -167.50 162.50 302.50 0.0792763 -167.50 162.50 307.50 0.0520203 -167.50 162.50 312.50 0.0247396 -167.50 162.50 317.50 0.0190101 -167.50 162.50 322.50 0.0432778 -167.50 162.50 327.50 0.147344 -167.50 162.50 332.50 0.401315 -167.50 162.50 337.50 0.835965 -167.50 162.50 342.50 1.34437 -167.50 162.50 347.50 1.66987 -167.50 162.50 352.50 1.64759 -167.50 162.50 357.50 1.36448 -167.50 167.50 2.50 0.655401 -167.50 167.50 7.50 0.423372 -167.50 167.50 12.50 0.26037 -167.50 167.50 17.50 0.18865 -167.50 167.50 22.50 0.138135 -167.50 167.50 27.50 0.110934 -167.50 167.50 32.50 0.103018 -167.50 167.50 37.50 0.0853309 -167.50 167.50 42.50 0.0466067 -167.50 167.50 47.50 0.0264396 -167.50 167.50 52.50 0.0478193 -167.50 167.50 57.50 0.141028 -167.50 167.50 62.50 0.376839 -167.50 167.50 67.50 0.791947 -167.50 167.50 72.50 1.26422 -167.50 167.50 77.50 1.52312 -167.50 167.50 82.50 1.37686 -167.50 167.50 87.50 0.996546 -167.50 167.50 92.50 0.655401 -167.50 167.50 97.50 0.423372 -167.50 167.50 102.50 0.26037 -167.50 167.50 107.50 0.18865 -167.50 167.50 112.50 0.138135 -167.50 167.50 117.50 0.110934 -167.50 167.50 122.50 0.103018 -167.50 167.50 127.50 0.085331 -167.50 167.50 132.50 0.0466066 -167.50 167.50 137.50 0.0264396 -167.50 167.50 142.50 0.0478193 -167.50 167.50 147.50 0.141028 -167.50 167.50 152.50 0.376838 -167.50 167.50 157.50 0.791946 -167.50 167.50 162.50 1.26422 -167.50 167.50 167.50 1.52312 -167.50 167.50 172.50 1.37686 -167.50 167.50 177.50 0.996546 -167.50 167.50 182.50 0.6554 -167.50 167.50 187.50 0.423372 -167.50 167.50 192.50 0.26037 -167.50 167.50 197.50 0.18865 -167.50 167.50 202.50 0.138135 -167.50 167.50 207.50 0.110934 -167.50 167.50 212.50 0.103018 -167.50 167.50 217.50 0.085331 -167.50 167.50 222.50 0.0466067 -167.50 167.50 227.50 0.0264396 -167.50 167.50 232.50 0.0478194 -167.50 167.50 237.50 0.141028 -167.50 167.50 242.50 0.376838 -167.50 167.50 247.50 0.791948 -167.50 167.50 252.50 1.26423 -167.50 167.50 257.50 1.52312 -167.50 167.50 262.50 1.37686 -167.50 167.50 267.50 0.996546 -167.50 167.50 272.50 0.655401 -167.50 167.50 277.50 0.423372 -167.50 167.50 282.50 0.26037 -167.50 167.50 287.50 0.18865 -167.50 167.50 292.50 0.138135 -167.50 167.50 297.50 0.110934 -167.50 167.50 302.50 0.103018 -167.50 167.50 307.50 0.085331 -167.50 167.50 312.50 0.0466067 -167.50 167.50 317.50 0.0264396 -167.50 167.50 322.50 0.0478192 -167.50 167.50 327.50 0.141027 -167.50 167.50 332.50 0.376837 -167.50 167.50 337.50 0.791945 -167.50 167.50 342.50 1.26422 -167.50 167.50 347.50 1.52312 -167.50 167.50 352.50 1.37687 -167.50 167.50 357.50 0.996547 -167.50 172.50 2.50 0.376554 -167.50 172.50 7.50 0.216443 -167.50 172.50 12.50 0.141284 -167.50 172.50 17.50 0.0978894 -167.50 172.50 22.50 0.0936088 -167.50 172.50 27.50 0.0995423 -167.50 172.50 32.50 0.103579 -167.50 172.50 37.50 0.086341 -167.50 172.50 42.50 0.051786 -167.50 172.50 47.50 0.0302449 -167.50 172.50 52.50 0.044724 -167.50 172.50 57.50 0.122106 -167.50 172.50 62.50 0.309731 -167.50 172.50 67.50 0.6582 -167.50 172.50 72.50 1.08936 -167.50 172.50 77.50 1.30722 -167.50 172.50 82.50 1.10458 -167.50 172.50 87.50 0.695288 -167.50 172.50 92.50 0.376554 -167.50 172.50 97.50 0.216442 -167.50 172.50 102.50 0.141284 -167.50 172.50 107.50 0.0978894 -167.50 172.50 112.50 0.0936088 -167.50 172.50 117.50 0.0995422 -167.50 172.50 122.50 0.103579 -167.50 172.50 127.50 0.086341 -167.50 172.50 132.50 0.051786 -167.50 172.50 137.50 0.0302449 -167.50 172.50 142.50 0.044724 -167.50 172.50 147.50 0.122106 -167.50 172.50 152.50 0.30973 -167.50 172.50 157.50 0.658199 -167.50 172.50 162.50 1.08936 -167.50 172.50 167.50 1.30722 -167.50 172.50 172.50 1.10458 -167.50 172.50 177.50 0.695288 -167.50 172.50 182.50 0.376554 -167.50 172.50 187.50 0.216442 -167.50 172.50 192.50 0.141283 -167.50 172.50 197.50 0.0978894 -167.50 172.50 202.50 0.0936087 -167.50 172.50 207.50 0.0995423 -167.50 172.50 212.50 0.103579 -167.50 172.50 217.50 0.0863411 -167.50 172.50 222.50 0.051786 -167.50 172.50 227.50 0.0302449 -167.50 172.50 232.50 0.0447241 -167.50 172.50 237.50 0.122106 -167.50 172.50 242.50 0.309731 -167.50 172.50 247.50 0.658201 -167.50 172.50 252.50 1.08936 -167.50 172.50 257.50 1.30722 -167.50 172.50 262.50 1.10458 -167.50 172.50 267.50 0.695287 -167.50 172.50 272.50 0.376554 -167.50 172.50 277.50 0.216443 -167.50 172.50 282.50 0.141284 -167.50 172.50 287.50 0.0978895 -167.50 172.50 292.50 0.0936088 -167.50 172.50 297.50 0.0995423 -167.50 172.50 302.50 0.103579 -167.50 172.50 307.50 0.0863411 -167.50 172.50 312.50 0.051786 -167.50 172.50 317.50 0.0302449 -167.50 172.50 322.50 0.0447239 -167.50 172.50 327.50 0.122106 -167.50 172.50 332.50 0.30973 -167.50 172.50 337.50 0.658199 -167.50 172.50 342.50 1.08936 -167.50 172.50 347.50 1.30722 -167.50 172.50 352.50 1.10458 -167.50 172.50 357.50 0.695289 -167.50 177.50 2.50 0.210388 -167.50 177.50 7.50 0.10472 -167.50 177.50 12.50 0.0745758 -167.50 177.50 17.50 0.0724643 -167.50 177.50 22.50 0.076525 -167.50 177.50 27.50 0.0776944 -167.50 177.50 32.50 0.0750234 -167.50 177.50 37.50 0.0724147 -167.50 177.50 42.50 0.0590315 -167.50 177.50 47.50 0.0435456 -167.50 177.50 52.50 0.0421067 -167.50 177.50 57.50 0.0785196 -167.50 177.50 62.50 0.199275 -167.50 177.50 67.50 0.469199 -167.50 177.50 72.50 0.826356 -167.50 177.50 77.50 1.00154 -167.50 177.50 82.50 0.814819 -167.50 177.50 87.50 0.461129 -167.50 177.50 92.50 0.210389 -167.50 177.50 97.50 0.10472 -167.50 177.50 102.50 0.0745757 -167.50 177.50 107.50 0.0724643 -167.50 177.50 112.50 0.076525 -167.50 177.50 117.50 0.0776944 -167.50 177.50 122.50 0.0750234 -167.50 177.50 127.50 0.0724147 -167.50 177.50 132.50 0.0590315 -167.50 177.50 137.50 0.0435456 -167.50 177.50 142.50 0.0421067 -167.50 177.50 147.50 0.0785195 -167.50 177.50 152.50 0.199274 -167.50 177.50 157.50 0.469199 -167.50 177.50 162.50 0.826356 -167.50 177.50 167.50 1.00154 -167.50 177.50 172.50 0.814819 -167.50 177.50 177.50 0.46113 -167.50 177.50 182.50 0.210388 -167.50 177.50 187.50 0.10472 -167.50 177.50 192.50 0.0745757 -167.50 177.50 197.50 0.0724643 -167.50 177.50 202.50 0.0765251 -167.50 177.50 207.50 0.0776944 -167.50 177.50 212.50 0.0750234 -167.50 177.50 217.50 0.0724147 -167.50 177.50 222.50 0.0590315 -167.50 177.50 227.50 0.0435456 -167.50 177.50 232.50 0.0421067 -167.50 177.50 237.50 0.0785196 -167.50 177.50 242.50 0.199275 -167.50 177.50 247.50 0.4692 -167.50 177.50 252.50 0.826357 -167.50 177.50 257.50 1.00154 -167.50 177.50 262.50 0.814819 -167.50 177.50 267.50 0.461129 -167.50 177.50 272.50 0.210388 -167.50 177.50 277.50 0.10472 -167.50 177.50 282.50 0.0745757 -167.50 177.50 287.50 0.0724643 -167.50 177.50 292.50 0.076525 -167.50 177.50 297.50 0.0776945 -167.50 177.50 302.50 0.0750234 -167.50 177.50 307.50 0.0724146 -167.50 177.50 312.50 0.0590315 -167.50 177.50 317.50 0.0435456 -167.50 177.50 322.50 0.0421066 -167.50 177.50 327.50 0.0785194 -167.50 177.50 332.50 0.199274 -167.50 177.50 337.50 0.469199 -167.50 177.50 342.50 0.826356 -167.50 177.50 347.50 1.00154 -167.50 177.50 352.50 0.81482 -167.50 177.50 357.50 0.46113 -172.50 2.50 2.50 0.393272 -172.50 2.50 7.50 0.773178 -172.50 2.50 12.50 0.980476 -172.50 2.50 17.50 0.773179 -172.50 2.50 22.50 0.393273 -172.50 2.50 27.50 0.149977 -172.50 2.50 32.50 0.0624686 -172.50 2.50 37.50 0.0485219 -172.50 2.50 42.50 0.0601603 -172.50 2.50 47.50 0.0760385 -172.50 2.50 52.50 0.083846 -172.50 2.50 57.50 0.084539 -172.50 2.50 62.50 0.083846 -172.50 2.50 67.50 0.0760385 -172.50 2.50 72.50 0.0601603 -172.50 2.50 77.50 0.048522 -172.50 2.50 82.50 0.0624686 -172.50 2.50 87.50 0.149977 -172.50 2.50 92.50 0.393272 -172.50 2.50 97.50 0.773178 -172.50 2.50 102.50 0.980506 -172.50 2.50 107.50 0.773179 -172.50 2.50 112.50 0.393273 -172.50 2.50 117.50 0.149977 -172.50 2.50 122.50 0.0624686 -172.50 2.50 127.50 0.0485219 -172.50 2.50 132.50 0.0601603 -172.50 2.50 137.50 0.0760385 -172.50 2.50 142.50 0.083846 -172.50 2.50 147.50 0.084539 -172.50 2.50 152.50 0.083846 -172.50 2.50 157.50 0.0760386 -172.50 2.50 162.50 0.0601603 -172.50 2.50 167.50 0.048522 -172.50 2.50 172.50 0.0624685 -172.50 2.50 177.50 0.149977 -172.50 2.50 182.50 0.393273 -172.50 2.50 187.50 0.773179 -172.50 2.50 192.50 0.980506 -172.50 2.50 197.50 0.773179 -172.50 2.50 202.50 0.393272 -172.50 2.50 207.50 0.149977 -172.50 2.50 212.50 0.0624686 -172.50 2.50 217.50 0.0485219 -172.50 2.50 222.50 0.0601603 -172.50 2.50 227.50 0.0760385 -172.50 2.50 232.50 0.083846 -172.50 2.50 237.50 0.084539 -172.50 2.50 242.50 0.083846 -172.50 2.50 247.50 0.0760385 -172.50 2.50 252.50 0.0601603 -172.50 2.50 257.50 0.0485219 -172.50 2.50 262.50 0.0624685 -172.50 2.50 267.50 0.149977 -172.50 2.50 272.50 0.393272 -172.50 2.50 277.50 0.773178 -172.50 2.50 282.50 0.980476 -172.50 2.50 287.50 0.773179 -172.50 2.50 292.50 0.393273 -172.50 2.50 297.50 0.149977 -172.50 2.50 302.50 0.0624686 -172.50 2.50 307.50 0.0485219 -172.50 2.50 312.50 0.0601603 -172.50 2.50 317.50 0.0760385 -172.50 2.50 322.50 0.083846 -172.50 2.50 327.50 0.084539 -172.50 2.50 332.50 0.083846 -172.50 2.50 337.50 0.0760386 -172.50 2.50 342.50 0.0601604 -172.50 2.50 347.50 0.048522 -172.50 2.50 352.50 0.0624684 -172.50 2.50 357.50 0.149976 -172.50 7.50 2.50 0.512872 -172.50 7.50 7.50 0.851275 -172.50 7.50 12.50 1.00664 -172.50 7.50 17.50 0.808348 -172.50 7.50 22.50 0.446618 -172.50 7.50 27.50 0.189909 -172.50 7.50 32.50 0.0775081 -172.50 7.50 37.50 0.0444665 -172.50 7.50 42.50 0.044284 -172.50 7.50 47.50 0.0581633 -172.50 7.50 52.50 0.0710801 -172.50 7.50 57.50 0.0741996 -172.50 7.50 62.50 0.0683521 -172.50 7.50 67.50 0.0660297 -172.50 7.50 72.50 0.0623607 -172.50 7.50 77.50 0.0662052 -172.50 7.50 82.50 0.104932 -172.50 7.50 87.50 0.23942 -172.50 7.50 92.50 0.512873 -172.50 7.50 97.50 0.851276 -172.50 7.50 102.50 1.00664 -172.50 7.50 107.50 0.808348 -172.50 7.50 112.50 0.446618 -172.50 7.50 117.50 0.189909 -172.50 7.50 122.50 0.0775081 -172.50 7.50 127.50 0.0444665 -172.50 7.50 132.50 0.044284 -172.50 7.50 137.50 0.0581633 -172.50 7.50 142.50 0.0710801 -172.50 7.50 147.50 0.0741996 -172.50 7.50 152.50 0.0683521 -172.50 7.50 157.50 0.0660298 -172.50 7.50 162.50 0.0623606 -172.50 7.50 167.50 0.0662051 -172.50 7.50 172.50 0.104932 -172.50 7.50 177.50 0.23942 -172.50 7.50 182.50 0.512872 -172.50 7.50 187.50 0.851275 -172.50 7.50 192.50 1.00664 -172.50 7.50 197.50 0.808347 -172.50 7.50 202.50 0.446618 -172.50 7.50 207.50 0.189909 -172.50 7.50 212.50 0.0775082 -172.50 7.50 217.50 0.0444665 -172.50 7.50 222.50 0.044284 -172.50 7.50 227.50 0.0581633 -172.50 7.50 232.50 0.0710801 -172.50 7.50 237.50 0.0741996 -172.50 7.50 242.50 0.0683521 -172.50 7.50 247.50 0.0660297 -172.50 7.50 252.50 0.0623606 -172.50 7.50 257.50 0.0662052 -172.50 7.50 262.50 0.104932 -172.50 7.50 267.50 0.23942 -172.50 7.50 272.50 0.512871 -172.50 7.50 277.50 0.851274 -172.50 7.50 282.50 1.00664 -172.50 7.50 287.50 0.808348 -172.50 7.50 292.50 0.446618 -172.50 7.50 297.50 0.18991 -172.50 7.50 302.50 0.0775082 -172.50 7.50 307.50 0.0444665 -172.50 7.50 312.50 0.044284 -172.50 7.50 317.50 0.0581633 -172.50 7.50 322.50 0.0710801 -172.50 7.50 327.50 0.0741996 -172.50 7.50 332.50 0.0683521 -172.50 7.50 337.50 0.0660298 -172.50 7.50 342.50 0.0623607 -172.50 7.50 347.50 0.0662052 -172.50 7.50 352.50 0.104932 -172.50 7.50 357.50 0.239419 -172.50 12.50 2.50 0.748316 -172.50 12.50 7.50 1.1454 -172.50 12.50 12.50 1.31062 -172.50 12.50 17.50 1.07311 -172.50 12.50 22.50 0.629721 -172.50 12.50 27.50 0.295838 -172.50 12.50 32.50 0.128447 -172.50 12.50 37.50 0.0559125 -172.50 12.50 42.50 0.0339706 -172.50 12.50 47.50 0.04773 -172.50 12.50 52.50 0.0764977 -172.50 12.50 57.50 0.0934662 -172.50 12.50 62.50 0.0872312 -172.50 12.50 67.50 0.0778744 -172.50 12.50 72.50 0.0810947 -172.50 12.50 77.50 0.103142 -172.50 12.50 82.50 0.189551 -172.50 12.50 87.50 0.390836 -172.50 12.50 92.50 0.748316 -172.50 12.50 97.50 1.1454 -172.50 12.50 102.50 1.31062 -172.50 12.50 107.50 1.07311 -172.50 12.50 112.50 0.629721 -172.50 12.50 117.50 0.295838 -172.50 12.50 122.50 0.128447 -172.50 12.50 127.50 0.0559125 -172.50 12.50 132.50 0.0339706 -172.50 12.50 137.50 0.04773 -172.50 12.50 142.50 0.0764977 -172.50 12.50 147.50 0.0934662 -172.50 12.50 152.50 0.0872312 -172.50 12.50 157.50 0.0778744 -172.50 12.50 162.50 0.0810947 -172.50 12.50 167.50 0.103142 -172.50 12.50 172.50 0.189551 -172.50 12.50 177.50 0.390835 -172.50 12.50 182.50 0.748317 -172.50 12.50 187.50 1.1454 -172.50 12.50 192.50 1.31062 -172.50 12.50 197.50 1.07311 -172.50 12.50 202.50 0.629721 -172.50 12.50 207.50 0.295838 -172.50 12.50 212.50 0.128447 -172.50 12.50 217.50 0.0559126 -172.50 12.50 222.50 0.0339706 -172.50 12.50 227.50 0.04773 -172.50 12.50 232.50 0.0764977 -172.50 12.50 237.50 0.0934663 -172.50 12.50 242.50 0.0872311 -172.50 12.50 247.50 0.0778744 -172.50 12.50 252.50 0.0810947 -172.50 12.50 257.50 0.103142 -172.50 12.50 262.50 0.189552 -172.50 12.50 267.50 0.390836 -172.50 12.50 272.50 0.748316 -172.50 12.50 277.50 1.1454 -172.50 12.50 282.50 1.31062 -172.50 12.50 287.50 1.07311 -172.50 12.50 292.50 0.629721 -172.50 12.50 297.50 0.295839 -172.50 12.50 302.50 0.128447 -172.50 12.50 307.50 0.0559126 -172.50 12.50 312.50 0.0339706 -172.50 12.50 317.50 0.04773 -172.50 12.50 322.50 0.0764976 -172.50 12.50 327.50 0.0934662 -172.50 12.50 332.50 0.0872311 -172.50 12.50 337.50 0.0778744 -172.50 12.50 342.50 0.0810947 -172.50 12.50 347.50 0.103142 -172.50 12.50 352.50 0.189551 -172.50 12.50 357.50 0.390834 -172.50 17.50 2.50 1.01248 -172.50 17.50 7.50 1.39784 -172.50 17.50 12.50 1.54438 -172.50 17.50 17.50 1.28696 -172.50 17.50 22.50 0.808873 -172.50 17.50 27.50 0.397316 -172.50 17.50 32.50 0.155452 -172.50 17.50 37.50 0.0549683 -172.50 17.50 42.50 0.0284921 -172.50 17.50 47.50 0.0423655 -172.50 17.50 52.50 0.0752199 -172.50 17.50 57.50 0.0912259 -172.50 17.50 62.50 0.0777872 -172.50 17.50 67.50 0.0895592 -172.50 17.50 72.50 0.133183 -172.50 17.50 77.50 0.202944 -172.50 17.50 82.50 0.325954 -172.50 17.50 87.50 0.608535 -172.50 17.50 92.50 1.01248 -172.50 17.50 97.50 1.39784 -172.50 17.50 102.50 1.54438 -172.50 17.50 107.50 1.28696 -172.50 17.50 112.50 0.808872 -172.50 17.50 117.50 0.397316 -172.50 17.50 122.50 0.155452 -172.50 17.50 127.50 0.0549683 -172.50 17.50 132.50 0.0284921 -172.50 17.50 137.50 0.0423655 -172.50 17.50 142.50 0.0752199 -172.50 17.50 147.50 0.0912259 -172.50 17.50 152.50 0.0777872 -172.50 17.50 157.50 0.0895592 -172.50 17.50 162.50 0.133183 -172.50 17.50 167.50 0.202944 -172.50 17.50 172.50 0.325954 -172.50 17.50 177.50 0.608534 -172.50 17.50 182.50 1.01248 -172.50 17.50 187.50 1.39784 -172.50 17.50 192.50 1.54438 -172.50 17.50 197.50 1.28696 -172.50 17.50 202.50 0.808872 -172.50 17.50 207.50 0.397316 -172.50 17.50 212.50 0.155452 -172.50 17.50 217.50 0.0549683 -172.50 17.50 222.50 0.0284921 -172.50 17.50 227.50 0.0423655 -172.50 17.50 232.50 0.07522 -172.50 17.50 237.50 0.0912259 -172.50 17.50 242.50 0.0777872 -172.50 17.50 247.50 0.0895592 -172.50 17.50 252.50 0.133183 -172.50 17.50 257.50 0.202944 -172.50 17.50 262.50 0.325954 -172.50 17.50 267.50 0.608535 -172.50 17.50 272.50 1.01248 -172.50 17.50 277.50 1.39784 -172.50 17.50 282.50 1.54438 -172.50 17.50 287.50 1.28696 -172.50 17.50 292.50 0.808873 -172.50 17.50 297.50 0.397316 -172.50 17.50 302.50 0.155453 -172.50 17.50 307.50 0.0549684 -172.50 17.50 312.50 0.0284921 -172.50 17.50 317.50 0.0423655 -172.50 17.50 322.50 0.0752199 -172.50 17.50 327.50 0.0912259 -172.50 17.50 332.50 0.0777873 -172.50 17.50 337.50 0.0895592 -172.50 17.50 342.50 0.133183 -172.50 17.50 347.50 0.202944 -172.50 17.50 352.50 0.325954 -172.50 17.50 357.50 0.608534 -172.50 22.50 2.50 1.3146 -172.50 22.50 7.50 1.64327 -172.50 22.50 12.50 1.72547 -172.50 22.50 17.50 1.44195 -172.50 22.50 22.50 0.937676 -172.50 22.50 27.50 0.463089 -172.50 22.50 32.50 0.180599 -172.50 22.50 37.50 0.058825 -172.50 22.50 42.50 0.0219787 -172.50 22.50 47.50 0.025159 -172.50 22.50 52.50 0.0417087 -172.50 22.50 57.50 0.0595539 -172.50 22.50 62.50 0.0712792 -172.50 22.50 67.50 0.106179 -172.50 22.50 72.50 0.19235 -172.50 22.50 77.50 0.348407 -172.50 22.50 82.50 0.553796 -172.50 22.50 87.50 0.890954 -172.50 22.50 92.50 1.3146 -172.50 22.50 97.50 1.64327 -172.50 22.50 102.50 1.72547 -172.50 22.50 107.50 1.44195 -172.50 22.50 112.50 0.937676 -172.50 22.50 117.50 0.463089 -172.50 22.50 122.50 0.180599 -172.50 22.50 127.50 0.058825 -172.50 22.50 132.50 0.0219787 -172.50 22.50 137.50 0.025159 -172.50 22.50 142.50 0.0417087 -172.50 22.50 147.50 0.0595539 -172.50 22.50 152.50 0.0712791 -172.50 22.50 157.50 0.106179 -172.50 22.50 162.50 0.19235 -172.50 22.50 167.50 0.348407 -172.50 22.50 172.50 0.553796 -172.50 22.50 177.50 0.890954 -172.50 22.50 182.50 1.3146 -172.50 22.50 187.50 1.64327 -172.50 22.50 192.50 1.72547 -172.50 22.50 197.50 1.44195 -172.50 22.50 202.50 0.937676 -172.50 22.50 207.50 0.463089 -172.50 22.50 212.50 0.180599 -172.50 22.50 217.50 0.0588251 -172.50 22.50 222.50 0.0219787 -172.50 22.50 227.50 0.025159 -172.50 22.50 232.50 0.0417088 -172.50 22.50 237.50 0.0595539 -172.50 22.50 242.50 0.0712792 -172.50 22.50 247.50 0.106179 -172.50 22.50 252.50 0.192351 -172.50 22.50 257.50 0.348407 -172.50 22.50 262.50 0.553796 -172.50 22.50 267.50 0.890955 -172.50 22.50 272.50 1.3146 -172.50 22.50 277.50 1.64327 -172.50 22.50 282.50 1.72547 -172.50 22.50 287.50 1.44195 -172.50 22.50 292.50 0.937677 -172.50 22.50 297.50 0.463089 -172.50 22.50 302.50 0.180599 -172.50 22.50 307.50 0.0588252 -172.50 22.50 312.50 0.0219787 -172.50 22.50 317.50 0.025159 -172.50 22.50 322.50 0.0417087 -172.50 22.50 327.50 0.0595539 -172.50 22.50 332.50 0.0712792 -172.50 22.50 337.50 0.106178 -172.50 22.50 342.50 0.19235 -172.50 22.50 347.50 0.348407 -172.50 22.50 352.50 0.553795 -172.50 22.50 357.50 0.890953 -172.50 27.50 2.50 1.60321 -172.50 27.50 7.50 1.87144 -172.50 27.50 12.50 1.86661 -172.50 27.50 17.50 1.50905 -172.50 27.50 22.50 0.938179 -172.50 27.50 27.50 0.445844 -172.50 27.50 32.50 0.156997 -172.50 27.50 37.50 0.0533852 -172.50 27.50 42.50 0.0213612 -172.50 27.50 47.50 0.00983797 -172.50 27.50 52.50 0.0165517 -172.50 27.50 57.50 0.0319783 -172.50 27.50 62.50 0.0627273 -172.50 27.50 67.50 0.156276 -172.50 27.50 72.50 0.301741 -172.50 27.50 77.50 0.524928 -172.50 27.50 82.50 0.836843 -172.50 27.50 87.50 1.19282 -172.50 27.50 92.50 1.60321 -172.50 27.50 97.50 1.87144 -172.50 27.50 102.50 1.86661 -172.50 27.50 107.50 1.50905 -172.50 27.50 112.50 0.938179 -172.50 27.50 117.50 0.445844 -172.50 27.50 122.50 0.156997 -172.50 27.50 127.50 0.0533851 -172.50 27.50 132.50 0.0213612 -172.50 27.50 137.50 0.00983798 -172.50 27.50 142.50 0.0165517 -172.50 27.50 147.50 0.0319783 -172.50 27.50 152.50 0.0627272 -172.50 27.50 157.50 0.156275 -172.50 27.50 162.50 0.30174 -172.50 27.50 167.50 0.524928 -172.50 27.50 172.50 0.836843 -172.50 27.50 177.50 1.19282 -172.50 27.50 182.50 1.60321 -172.50 27.50 187.50 1.87144 -172.50 27.50 192.50 1.86661 -172.50 27.50 197.50 1.50905 -172.50 27.50 202.50 0.938178 -172.50 27.50 207.50 0.445845 -172.50 27.50 212.50 0.156997 -172.50 27.50 217.50 0.0533852 -172.50 27.50 222.50 0.0213612 -172.50 27.50 227.50 0.00983798 -172.50 27.50 232.50 0.0165517 -172.50 27.50 237.50 0.0319783 -172.50 27.50 242.50 0.0627275 -172.50 27.50 247.50 0.156276 -172.50 27.50 252.50 0.301741 -172.50 27.50 257.50 0.524928 -172.50 27.50 262.50 0.836844 -172.50 27.50 267.50 1.19282 -172.50 27.50 272.50 1.60321 -172.50 27.50 277.50 1.87144 -172.50 27.50 282.50 1.86661 -172.50 27.50 287.50 1.50905 -172.50 27.50 292.50 0.938178 -172.50 27.50 297.50 0.445845 -172.50 27.50 302.50 0.156997 -172.50 27.50 307.50 0.0533852 -172.50 27.50 312.50 0.0213612 -172.50 27.50 317.50 0.00983798 -172.50 27.50 322.50 0.0165516 -172.50 27.50 327.50 0.0319783 -172.50 27.50 332.50 0.0627272 -172.50 27.50 337.50 0.156275 -172.50 27.50 342.50 0.30174 -172.50 27.50 347.50 0.524927 -172.50 27.50 352.50 0.836842 -172.50 27.50 357.50 1.19282 -172.50 32.50 2.50 1.86337 -172.50 32.50 7.50 2.05966 -172.50 32.50 12.50 1.95496 -172.50 32.50 17.50 1.49025 -172.50 32.50 22.50 0.854601 -172.50 32.50 27.50 0.375538 -172.50 32.50 32.50 0.14802 -172.50 32.50 37.50 0.0522474 -172.50 32.50 42.50 0.019153 -172.50 32.50 47.50 0.00789954 -172.50 32.50 52.50 0.00774663 -172.50 32.50 57.50 0.0282593 -172.50 32.50 62.50 0.0934185 -172.50 32.50 67.50 0.222834 -172.50 32.50 72.50 0.491082 -172.50 32.50 77.50 0.811061 -172.50 32.50 82.50 1.20728 -172.50 32.50 87.50 1.53807 -172.50 32.50 92.50 1.86337 -172.50 32.50 97.50 2.05966 -172.50 32.50 102.50 1.95496 -172.50 32.50 107.50 1.49025 -172.50 32.50 112.50 0.854601 -172.50 32.50 117.50 0.375537 -172.50 32.50 122.50 0.148019 -172.50 32.50 127.50 0.0522473 -172.50 32.50 132.50 0.019153 -172.50 32.50 137.50 0.00789954 -172.50 32.50 142.50 0.00774662 -172.50 32.50 147.50 0.0282593 -172.50 32.50 152.50 0.0934184 -172.50 32.50 157.50 0.222834 -172.50 32.50 162.50 0.491082 -172.50 32.50 167.50 0.811061 -172.50 32.50 172.50 1.20728 -172.50 32.50 177.50 1.53807 -172.50 32.50 182.50 1.86338 -172.50 32.50 187.50 2.05966 -172.50 32.50 192.50 1.95496 -172.50 32.50 197.50 1.49025 -172.50 32.50 202.50 0.854601 -172.50 32.50 207.50 0.375538 -172.50 32.50 212.50 0.14802 -172.50 32.50 217.50 0.0522474 -172.50 32.50 222.50 0.0191531 -172.50 32.50 227.50 0.00789955 -172.50 32.50 232.50 0.00774666 -172.50 32.50 237.50 0.0282593 -172.50 32.50 242.50 0.0934186 -172.50 32.50 247.50 0.222835 -172.50 32.50 252.50 0.491083 -172.50 32.50 257.50 0.811062 -172.50 32.50 262.50 1.20728 -172.50 32.50 267.50 1.53807 -172.50 32.50 272.50 1.86337 -172.50 32.50 277.50 2.05967 -172.50 32.50 282.50 1.95496 -172.50 32.50 287.50 1.49025 -172.50 32.50 292.50 0.854601 -172.50 32.50 297.50 0.375538 -172.50 32.50 302.50 0.14802 -172.50 32.50 307.50 0.0522474 -172.50 32.50 312.50 0.0191531 -172.50 32.50 317.50 0.00789955 -172.50 32.50 322.50 0.00774662 -172.50 32.50 327.50 0.0282592 -172.50 32.50 332.50 0.0934183 -172.50 32.50 337.50 0.222834 -172.50 32.50 342.50 0.491082 -172.50 32.50 347.50 0.81106 -172.50 32.50 352.50 1.20728 -172.50 32.50 357.50 1.53807 -172.50 37.50 2.50 2.17935 -172.50 37.50 7.50 2.25355 -172.50 37.50 12.50 2.04186 -172.50 37.50 17.50 1.47645 -172.50 37.50 22.50 0.831755 -172.50 37.50 27.50 0.368096 -172.50 37.50 32.50 0.142297 -172.50 37.50 37.50 0.0559941 -172.50 37.50 42.50 0.0225164 -172.50 37.50 47.50 0.0128106 -172.50 37.50 52.50 0.0189671 -172.50 37.50 57.50 0.0562323 -172.50 37.50 62.50 0.176797 -172.50 37.50 67.50 0.419196 -172.50 37.50 72.50 0.808452 -172.50 37.50 77.50 1.31861 -172.50 37.50 82.50 1.73793 -172.50 37.50 87.50 2.00916 -172.50 37.50 92.50 2.17935 -172.50 37.50 97.50 2.25355 -172.50 37.50 102.50 2.04186 -172.50 37.50 107.50 1.47645 -172.50 37.50 112.50 0.831755 -172.50 37.50 117.50 0.368096 -172.50 37.50 122.50 0.142297 -172.50 37.50 127.50 0.0559941 -172.50 37.50 132.50 0.0225164 -172.50 37.50 137.50 0.0128106 -172.50 37.50 142.50 0.0189671 -172.50 37.50 147.50 0.0562323 -172.50 37.50 152.50 0.176797 -172.50 37.50 157.50 0.419195 -172.50 37.50 162.50 0.808453 -172.50 37.50 167.50 1.31861 -172.50 37.50 172.50 1.73793 -172.50 37.50 177.50 2.00916 -172.50 37.50 182.50 2.17935 -172.50 37.50 187.50 2.25355 -172.50 37.50 192.50 2.04186 -172.50 37.50 197.50 1.47645 -172.50 37.50 202.50 0.831755 -172.50 37.50 207.50 0.368096 -172.50 37.50 212.50 0.142297 -172.50 37.50 217.50 0.0559941 -172.50 37.50 222.50 0.0225164 -172.50 37.50 227.50 0.0128106 -172.50 37.50 232.50 0.0189671 -172.50 37.50 237.50 0.0562324 -172.50 37.50 242.50 0.176797 -172.50 37.50 247.50 0.419196 -172.50 37.50 252.50 0.808453 -172.50 37.50 257.50 1.31861 -172.50 37.50 262.50 1.73793 -172.50 37.50 267.50 2.00917 -172.50 37.50 272.50 2.17935 -172.50 37.50 277.50 2.25355 -172.50 37.50 282.50 2.04186 -172.50 37.50 287.50 1.47645 -172.50 37.50 292.50 0.831755 -172.50 37.50 297.50 0.368097 -172.50 37.50 302.50 0.142297 -172.50 37.50 307.50 0.0559942 -172.50 37.50 312.50 0.0225164 -172.50 37.50 317.50 0.0128106 -172.50 37.50 322.50 0.0189671 -172.50 37.50 327.50 0.0562322 -172.50 37.50 332.50 0.176797 -172.50 37.50 337.50 0.419195 -172.50 37.50 342.50 0.808453 -172.50 37.50 347.50 1.31861 -172.50 37.50 352.50 1.73793 -172.50 37.50 357.50 2.00916 -172.50 42.50 2.50 2.49553 -172.50 42.50 7.50 2.365 -172.50 42.50 12.50 2.04755 -172.50 42.50 17.50 1.47636 -172.50 42.50 22.50 0.837115 -172.50 42.50 27.50 0.389938 -172.50 42.50 32.50 0.153384 -172.50 42.50 37.50 0.0649629 -172.50 42.50 42.50 0.0293369 -172.50 42.50 47.50 0.0240779 -172.50 42.50 52.50 0.0544543 -172.50 42.50 57.50 0.131228 -172.50 42.50 62.50 0.347488 -172.50 42.50 67.50 0.761165 -172.50 42.50 72.50 1.32266 -172.50 42.50 77.50 1.93565 -172.50 42.50 82.50 2.38862 -172.50 42.50 87.50 2.5511 -172.50 42.50 92.50 2.49553 -172.50 42.50 97.50 2.365 -172.50 42.50 102.50 2.04755 -172.50 42.50 107.50 1.47636 -172.50 42.50 112.50 0.837116 -172.50 42.50 117.50 0.389938 -172.50 42.50 122.50 0.153384 -172.50 42.50 127.50 0.0649629 -172.50 42.50 132.50 0.0293369 -172.50 42.50 137.50 0.0240779 -172.50 42.50 142.50 0.0544542 -172.50 42.50 147.50 0.131228 -172.50 42.50 152.50 0.347488 -172.50 42.50 157.50 0.761164 -172.50 42.50 162.50 1.32266 -172.50 42.50 167.50 1.93565 -172.50 42.50 172.50 2.38862 -172.50 42.50 177.50 2.5511 -172.50 42.50 182.50 2.49553 -172.50 42.50 187.50 2.365 -172.50 42.50 192.50 2.04755 -172.50 42.50 197.50 1.47636 -172.50 42.50 202.50 0.837116 -172.50 42.50 207.50 0.389938 -172.50 42.50 212.50 0.153384 -172.50 42.50 217.50 0.0649629 -172.50 42.50 222.50 0.029337 -172.50 42.50 227.50 0.0240779 -172.50 42.50 232.50 0.0544544 -172.50 42.50 237.50 0.131228 -172.50 42.50 242.50 0.347489 -172.50 42.50 247.50 0.761166 -172.50 42.50 252.50 1.32266 -172.50 42.50 257.50 1.93566 -172.50 42.50 262.50 2.38862 -172.50 42.50 267.50 2.5511 -172.50 42.50 272.50 2.49553 -172.50 42.50 277.50 2.365 -172.50 42.50 282.50 2.04755 -172.50 42.50 287.50 1.47636 -172.50 42.50 292.50 0.837116 -172.50 42.50 297.50 0.389939 -172.50 42.50 302.50 0.153384 -172.50 42.50 307.50 0.0649629 -172.50 42.50 312.50 0.029337 -172.50 42.50 317.50 0.0240779 -172.50 42.50 322.50 0.0544542 -172.50 42.50 327.50 0.131228 -172.50 42.50 332.50 0.347487 -172.50 42.50 337.50 0.761163 -172.50 42.50 342.50 1.32266 -172.50 42.50 347.50 1.93565 -172.50 42.50 352.50 2.38862 -172.50 42.50 357.50 2.5511 -172.50 47.50 2.50 2.62872 -172.50 47.50 7.50 2.27301 -172.50 47.50 12.50 1.92049 -172.50 47.50 17.50 1.38669 -172.50 47.50 22.50 0.811877 -172.50 47.50 27.50 0.390396 -172.50 47.50 32.50 0.175949 -172.50 47.50 37.50 0.0798341 -172.50 47.50 42.50 0.037003 -172.50 47.50 47.50 0.0461649 -172.50 47.50 52.50 0.102518 -172.50 47.50 57.50 0.257133 -172.50 47.50 62.50 0.57841 -172.50 47.50 67.50 1.11737 -172.50 47.50 72.50 1.86442 -172.50 47.50 77.50 2.53676 -172.50 47.50 82.50 2.93874 -172.50 47.50 87.50 2.92708 -172.50 47.50 92.50 2.62872 -172.50 47.50 97.50 2.273 -172.50 47.50 102.50 1.92049 -172.50 47.50 107.50 1.38669 -172.50 47.50 112.50 0.811877 -172.50 47.50 117.50 0.390396 -172.50 47.50 122.50 0.175949 -172.50 47.50 127.50 0.079834 -172.50 47.50 132.50 0.0370031 -172.50 47.50 137.50 0.0461649 -172.50 47.50 142.50 0.102518 -172.50 47.50 147.50 0.257133 -172.50 47.50 152.50 0.57841 -172.50 47.50 157.50 1.11737 -172.50 47.50 162.50 1.86442 -172.50 47.50 167.50 2.53676 -172.50 47.50 172.50 2.93874 -172.50 47.50 177.50 2.92708 -172.50 47.50 182.50 2.62872 -172.50 47.50 187.50 2.27301 -172.50 47.50 192.50 1.92049 -172.50 47.50 197.50 1.38669 -172.50 47.50 202.50 0.811877 -172.50 47.50 207.50 0.390397 -172.50 47.50 212.50 0.175949 -172.50 47.50 217.50 0.0798341 -172.50 47.50 222.50 0.0370031 -172.50 47.50 227.50 0.0461649 -172.50 47.50 232.50 0.102518 -172.50 47.50 237.50 0.257133 -172.50 47.50 242.50 0.578411 -172.50 47.50 247.50 1.11738 -172.50 47.50 252.50 1.86442 -172.50 47.50 257.50 2.53676 -172.50 47.50 262.50 2.93874 -172.50 47.50 267.50 2.92708 -172.50 47.50 272.50 2.62872 -172.50 47.50 277.50 2.273 -172.50 47.50 282.50 1.92049 -172.50 47.50 287.50 1.38669 -172.50 47.50 292.50 0.811877 -172.50 47.50 297.50 0.390397 -172.50 47.50 302.50 0.175949 -172.50 47.50 307.50 0.0798341 -172.50 47.50 312.50 0.0370031 -172.50 47.50 317.50 0.0461649 -172.50 47.50 322.50 0.102518 -172.50 47.50 327.50 0.257132 -172.50 47.50 332.50 0.57841 -172.50 47.50 337.50 1.11737 -172.50 47.50 342.50 1.86442 -172.50 47.50 347.50 2.53676 -172.50 47.50 352.50 2.93873 -172.50 47.50 357.50 2.92708 -172.50 52.50 2.50 2.49553 -172.50 52.50 7.50 2.05578 -172.50 52.50 12.50 1.72614 -172.50 52.50 17.50 1.23847 -172.50 52.50 22.50 0.753954 -172.50 52.50 27.50 0.392732 -172.50 52.50 32.50 0.165767 -172.50 52.50 37.50 0.0917994 -172.50 52.50 42.50 0.0464113 -172.50 52.50 47.50 0.0466048 -172.50 52.50 52.50 0.144797 -172.50 52.50 57.50 0.391492 -172.50 52.50 62.50 0.815126 -172.50 52.50 67.50 1.51786 -172.50 52.50 72.50 2.18842 -172.50 52.50 77.50 2.87826 -172.50 52.50 82.50 3.21772 -172.50 52.50 87.50 2.94319 -172.50 52.50 92.50 2.49553 -172.50 52.50 97.50 2.05578 -172.50 52.50 102.50 1.72614 -172.50 52.50 107.50 1.23847 -172.50 52.50 112.50 0.753955 -172.50 52.50 117.50 0.392732 -172.50 52.50 122.50 0.165767 -172.50 52.50 127.50 0.0917994 -172.50 52.50 132.50 0.0464113 -172.50 52.50 137.50 0.0466048 -172.50 52.50 142.50 0.144797 -172.50 52.50 147.50 0.391492 -172.50 52.50 152.50 0.815126 -172.50 52.50 157.50 1.51786 -172.50 52.50 162.50 2.18842 -172.50 52.50 167.50 2.87826 -172.50 52.50 172.50 3.21772 -172.50 52.50 177.50 2.94319 -172.50 52.50 182.50 2.49553 -172.50 52.50 187.50 2.05578 -172.50 52.50 192.50 1.72614 -172.50 52.50 197.50 1.23847 -172.50 52.50 202.50 0.753954 -172.50 52.50 207.50 0.392732 -172.50 52.50 212.50 0.165767 -172.50 52.50 217.50 0.0917994 -172.50 52.50 222.50 0.0464113 -172.50 52.50 227.50 0.0466048 -172.50 52.50 232.50 0.144797 -172.50 52.50 237.50 0.391493 -172.50 52.50 242.50 0.815127 -172.50 52.50 247.50 1.51786 -172.50 52.50 252.50 2.18842 -172.50 52.50 257.50 2.87826 -172.50 52.50 262.50 3.21772 -172.50 52.50 267.50 2.94319 -172.50 52.50 272.50 2.49553 -172.50 52.50 277.50 2.05578 -172.50 52.50 282.50 1.72614 -172.50 52.50 287.50 1.23847 -172.50 52.50 292.50 0.753955 -172.50 52.50 297.50 0.392732 -172.50 52.50 302.50 0.165767 -172.50 52.50 307.50 0.0917994 -172.50 52.50 312.50 0.0464114 -172.50 52.50 317.50 0.0466048 -172.50 52.50 322.50 0.144797 -172.50 52.50 327.50 0.391492 -172.50 52.50 332.50 0.815125 -172.50 52.50 337.50 1.51786 -172.50 52.50 342.50 2.18842 -172.50 52.50 347.50 2.87826 -172.50 52.50 352.50 3.21772 -172.50 52.50 357.50 2.94319 -172.50 57.50 2.50 2.17935 -172.50 57.50 7.50 1.8072 -172.50 57.50 12.50 1.47076 -172.50 57.50 17.50 1.05549 -172.50 57.50 22.50 0.650024 -172.50 57.50 27.50 0.348999 -172.50 57.50 32.50 0.162979 -172.50 57.50 37.50 0.0742196 -172.50 57.50 42.50 0.0333968 -172.50 57.50 47.50 0.0493123 -172.50 57.50 52.50 0.150861 -172.50 57.50 57.50 0.461796 -172.50 57.50 62.50 1.06828 -172.50 57.50 67.50 1.8291 -172.50 57.50 72.50 2.41409 -172.50 57.50 77.50 2.89175 -172.50 57.50 82.50 3.142 -172.50 57.50 87.50 2.68301 -172.50 57.50 92.50 2.17935 -172.50 57.50 97.50 1.80721 -172.50 57.50 102.50 1.47076 -172.50 57.50 107.50 1.05549 -172.50 57.50 112.50 0.650024 -172.50 57.50 117.50 0.348999 -172.50 57.50 122.50 0.162979 -172.50 57.50 127.50 0.0742195 -172.50 57.50 132.50 0.0333968 -172.50 57.50 137.50 0.0493123 -172.50 57.50 142.50 0.150861 -172.50 57.50 147.50 0.461796 -172.50 57.50 152.50 1.06827 -172.50 57.50 157.50 1.8291 -172.50 57.50 162.50 2.41409 -172.50 57.50 167.50 2.89175 -172.50 57.50 172.50 3.142 -172.50 57.50 177.50 2.68301 -172.50 57.50 182.50 2.17935 -172.50 57.50 187.50 1.80721 -172.50 57.50 192.50 1.47076 -172.50 57.50 197.50 1.05549 -172.50 57.50 202.50 0.650024 -172.50 57.50 207.50 0.348999 -172.50 57.50 212.50 0.162979 -172.50 57.50 217.50 0.0742197 -172.50 57.50 222.50 0.0333968 -172.50 57.50 227.50 0.0493124 -172.50 57.50 232.50 0.150862 -172.50 57.50 237.50 0.461797 -172.50 57.50 242.50 1.06828 -172.50 57.50 247.50 1.8291 -172.50 57.50 252.50 2.41409 -172.50 57.50 257.50 2.89175 -172.50 57.50 262.50 3.142 -172.50 57.50 267.50 2.68301 -172.50 57.50 272.50 2.17935 -172.50 57.50 277.50 1.8072 -172.50 57.50 282.50 1.47076 -172.50 57.50 287.50 1.05549 -172.50 57.50 292.50 0.650024 -172.50 57.50 297.50 0.349 -172.50 57.50 302.50 0.162979 -172.50 57.50 307.50 0.0742197 -172.50 57.50 312.50 0.0333968 -172.50 57.50 317.50 0.0493123 -172.50 57.50 322.50 0.150861 -172.50 57.50 327.50 0.461795 -172.50 57.50 332.50 1.06827 -172.50 57.50 337.50 1.82909 -172.50 57.50 342.50 2.41409 -172.50 57.50 347.50 2.89175 -172.50 57.50 352.50 3.142 -172.50 57.50 357.50 2.68301 -172.50 62.50 2.50 1.86337 -172.50 62.50 7.50 1.56995 -172.50 62.50 12.50 1.22202 -172.50 62.50 17.50 0.837215 -172.50 62.50 22.50 0.528727 -172.50 62.50 27.50 0.273299 -172.50 62.50 32.50 0.127603 -172.50 62.50 37.50 0.0563771 -172.50 62.50 42.50 0.023734 -172.50 62.50 47.50 0.0377003 -172.50 62.50 52.50 0.162803 -172.50 62.50 57.50 0.513418 -172.50 62.50 62.50 1.14071 -172.50 62.50 67.50 1.87162 -172.50 62.50 72.50 2.44214 -172.50 62.50 77.50 2.69226 -172.50 62.50 82.50 2.81722 -172.50 62.50 87.50 2.35633 -172.50 62.50 92.50 1.86337 -172.50 62.50 97.50 1.56995 -172.50 62.50 102.50 1.22202 -172.50 62.50 107.50 0.837216 -172.50 62.50 112.50 0.528727 -172.50 62.50 117.50 0.273299 -172.50 62.50 122.50 0.127602 -172.50 62.50 127.50 0.056377 -172.50 62.50 132.50 0.023734 -172.50 62.50 137.50 0.0377003 -172.50 62.50 142.50 0.162803 -172.50 62.50 147.50 0.513418 -172.50 62.50 152.50 1.14071 -172.50 62.50 157.50 1.87162 -172.50 62.50 162.50 2.44214 -172.50 62.50 167.50 2.69226 -172.50 62.50 172.50 2.81722 -172.50 62.50 177.50 2.35633 -172.50 62.50 182.50 1.86337 -172.50 62.50 187.50 1.56995 -172.50 62.50 192.50 1.22202 -172.50 62.50 197.50 0.837215 -172.50 62.50 202.50 0.528727 -172.50 62.50 207.50 0.273299 -172.50 62.50 212.50 0.127602 -172.50 62.50 217.50 0.056377 -172.50 62.50 222.50 0.023734 -172.50 62.50 227.50 0.0377003 -172.50 62.50 232.50 0.162803 -172.50 62.50 237.50 0.513419 -172.50 62.50 242.50 1.14071 -172.50 62.50 247.50 1.87162 -172.50 62.50 252.50 2.44214 -172.50 62.50 257.50 2.69226 -172.50 62.50 262.50 2.81722 -172.50 62.50 267.50 2.35633 -172.50 62.50 272.50 1.86337 -172.50 62.50 277.50 1.56995 -172.50 62.50 282.50 1.22202 -172.50 62.50 287.50 0.837215 -172.50 62.50 292.50 0.528727 -172.50 62.50 297.50 0.273299 -172.50 62.50 302.50 0.127603 -172.50 62.50 307.50 0.0563771 -172.50 62.50 312.50 0.023734 -172.50 62.50 317.50 0.0377003 -172.50 62.50 322.50 0.162803 -172.50 62.50 327.50 0.513417 -172.50 62.50 332.50 1.14071 -172.50 62.50 337.50 1.87162 -172.50 62.50 342.50 2.44214 -172.50 62.50 347.50 2.69226 -172.50 62.50 352.50 2.81722 -172.50 62.50 357.50 2.35633 -172.50 67.50 2.50 1.60321 -172.50 67.50 7.50 1.38249 -172.50 67.50 12.50 1.04917 -172.50 67.50 17.50 0.720637 -172.50 67.50 22.50 0.447432 -172.50 67.50 27.50 0.221437 -172.50 67.50 32.50 0.116185 -172.50 67.50 37.50 0.0508089 -172.50 67.50 42.50 0.0218166 -172.50 67.50 47.50 0.0498328 -172.50 67.50 52.50 0.176851 -172.50 67.50 57.50 0.466121 -172.50 67.50 62.50 0.984819 -172.50 67.50 67.50 1.71088 -172.50 67.50 72.50 2.2456 -172.50 67.50 77.50 2.47398 -172.50 67.50 82.50 2.45028 -172.50 67.50 87.50 2.02542 -172.50 67.50 92.50 1.60321 -172.50 67.50 97.50 1.3825 -172.50 67.50 102.50 1.04917 -172.50 67.50 107.50 0.720637 -172.50 67.50 112.50 0.447433 -172.50 67.50 117.50 0.221437 -172.50 67.50 122.50 0.116185 -172.50 67.50 127.50 0.0508088 -172.50 67.50 132.50 0.0218166 -172.50 67.50 137.50 0.0498328 -172.50 67.50 142.50 0.176851 -172.50 67.50 147.50 0.466121 -172.50 67.50 152.50 0.984818 -172.50 67.50 157.50 1.71088 -172.50 67.50 162.50 2.2456 -172.50 67.50 167.50 2.47398 -172.50 67.50 172.50 2.45028 -172.50 67.50 177.50 2.02542 -172.50 67.50 182.50 1.60321 -172.50 67.50 187.50 1.3825 -172.50 67.50 192.50 1.04917 -172.50 67.50 197.50 0.720637 -172.50 67.50 202.50 0.447432 -172.50 67.50 207.50 0.221437 -172.50 67.50 212.50 0.116185 -172.50 67.50 217.50 0.0508089 -172.50 67.50 222.50 0.0218166 -172.50 67.50 227.50 0.0498328 -172.50 67.50 232.50 0.176852 -172.50 67.50 237.50 0.466123 -172.50 67.50 242.50 0.98482 -172.50 67.50 247.50 1.71088 -172.50 67.50 252.50 2.2456 -172.50 67.50 257.50 2.47398 -172.50 67.50 262.50 2.45028 -172.50 67.50 267.50 2.02542 -172.50 67.50 272.50 1.60321 -172.50 67.50 277.50 1.38249 -172.50 67.50 282.50 1.04917 -172.50 67.50 287.50 0.720637 -172.50 67.50 292.50 0.447432 -172.50 67.50 297.50 0.221438 -172.50 67.50 302.50 0.116185 -172.50 67.50 307.50 0.050809 -172.50 67.50 312.50 0.0218166 -172.50 67.50 317.50 0.0498328 -172.50 67.50 322.50 0.176851 -172.50 67.50 327.50 0.46612 -172.50 67.50 332.50 0.984817 -172.50 67.50 337.50 1.71088 -172.50 67.50 342.50 2.2456 -172.50 67.50 347.50 2.47398 -172.50 67.50 352.50 2.45028 -172.50 67.50 357.50 2.02542 -172.50 72.50 2.50 1.3146 -172.50 72.50 7.50 1.16836 -172.50 72.50 12.50 0.93639 -172.50 72.50 17.50 0.686339 -172.50 72.50 22.50 0.413102 -172.50 72.50 27.50 0.257137 -172.50 72.50 32.50 0.136687 -172.50 72.50 37.50 0.0489955 -172.50 72.50 42.50 0.0235675 -172.50 72.50 47.50 0.0442931 -172.50 72.50 52.50 0.153303 -172.50 72.50 57.50 0.39063 -172.50 72.50 62.50 0.79817 -172.50 72.50 67.50 1.35854 -172.50 72.50 72.50 1.95805 -172.50 72.50 77.50 2.17321 -172.50 72.50 82.50 2.07273 -172.50 72.50 87.50 1.61508 -172.50 72.50 92.50 1.3146 -172.50 72.50 97.50 1.16836 -172.50 72.50 102.50 0.93639 -172.50 72.50 107.50 0.68634 -172.50 72.50 112.50 0.413102 -172.50 72.50 117.50 0.257137 -172.50 72.50 122.50 0.136687 -172.50 72.50 127.50 0.0489955 -172.50 72.50 132.50 0.0235675 -172.50 72.50 137.50 0.0442931 -172.50 72.50 142.50 0.153303 -172.50 72.50 147.50 0.39063 -172.50 72.50 152.50 0.798171 -172.50 72.50 157.50 1.35854 -172.50 72.50 162.50 1.95805 -172.50 72.50 167.50 2.17321 -172.50 72.50 172.50 2.07273 -172.50 72.50 177.50 1.61508 -172.50 72.50 182.50 1.3146 -172.50 72.50 187.50 1.16836 -172.50 72.50 192.50 0.93639 -172.50 72.50 197.50 0.686339 -172.50 72.50 202.50 0.413101 -172.50 72.50 207.50 0.257137 -172.50 72.50 212.50 0.136687 -172.50 72.50 217.50 0.0489955 -172.50 72.50 222.50 0.0235675 -172.50 72.50 227.50 0.0442931 -172.50 72.50 232.50 0.153303 -172.50 72.50 237.50 0.39063 -172.50 72.50 242.50 0.798171 -172.50 72.50 247.50 1.35854 -172.50 72.50 252.50 1.95805 -172.50 72.50 257.50 2.17321 -172.50 72.50 262.50 2.07273 -172.50 72.50 267.50 1.61507 -172.50 72.50 272.50 1.3146 -172.50 72.50 277.50 1.16836 -172.50 72.50 282.50 0.93639 -172.50 72.50 287.50 0.686339 -172.50 72.50 292.50 0.413102 -172.50 72.50 297.50 0.257137 -172.50 72.50 302.50 0.136687 -172.50 72.50 307.50 0.0489955 -172.50 72.50 312.50 0.0235675 -172.50 72.50 317.50 0.044293 -172.50 72.50 322.50 0.153302 -172.50 72.50 327.50 0.390629 -172.50 72.50 332.50 0.79817 -172.50 72.50 337.50 1.35853 -172.50 72.50 342.50 1.95804 -172.50 72.50 347.50 2.17321 -172.50 72.50 352.50 2.07273 -172.50 72.50 357.50 1.61508 -172.50 77.50 2.50 1.01248 -172.50 77.50 7.50 0.917429 -172.50 77.50 12.50 0.821513 -172.50 77.50 17.50 0.625249 -172.50 77.50 22.50 0.428223 -172.50 77.50 27.50 0.268075 -172.50 77.50 32.50 0.132119 -172.50 77.50 37.50 0.0602604 -172.50 77.50 42.50 0.0249284 -172.50 77.50 47.50 0.0372109 -172.50 77.50 52.50 0.111409 -172.50 77.50 57.50 0.307125 -172.50 77.50 62.50 0.600699 -172.50 77.50 67.50 0.98612 -172.50 77.50 72.50 1.41792 -172.50 77.50 77.50 1.65912 -172.50 77.50 82.50 1.5055 -172.50 77.50 87.50 1.2343 -172.50 77.50 92.50 1.01248 -172.50 77.50 97.50 0.917429 -172.50 77.50 102.50 0.821513 -172.50 77.50 107.50 0.625249 -172.50 77.50 112.50 0.428223 -172.50 77.50 117.50 0.268075 -172.50 77.50 122.50 0.132119 -172.50 77.50 127.50 0.0602604 -172.50 77.50 132.50 0.0249284 -172.50 77.50 137.50 0.037211 -172.50 77.50 142.50 0.111409 -172.50 77.50 147.50 0.307125 -172.50 77.50 152.50 0.600699 -172.50 77.50 157.50 0.986119 -172.50 77.50 162.50 1.41792 -172.50 77.50 167.50 1.65912 -172.50 77.50 172.50 1.5055 -172.50 77.50 177.50 1.2343 -172.50 77.50 182.50 1.01248 -172.50 77.50 187.50 0.917429 -172.50 77.50 192.50 0.821513 -172.50 77.50 197.50 0.625249 -172.50 77.50 202.50 0.428223 -172.50 77.50 207.50 0.268075 -172.50 77.50 212.50 0.132119 -172.50 77.50 217.50 0.0602604 -172.50 77.50 222.50 0.0249285 -172.50 77.50 227.50 0.037211 -172.50 77.50 232.50 0.111409 -172.50 77.50 237.50 0.307126 -172.50 77.50 242.50 0.6007 -172.50 77.50 247.50 0.98612 -172.50 77.50 252.50 1.41792 -172.50 77.50 257.50 1.65912 -172.50 77.50 262.50 1.5055 -172.50 77.50 267.50 1.2343 -172.50 77.50 272.50 1.01248 -172.50 77.50 277.50 0.917429 -172.50 77.50 282.50 0.821513 -172.50 77.50 287.50 0.625249 -172.50 77.50 292.50 0.428223 -172.50 77.50 297.50 0.268075 -172.50 77.50 302.50 0.132119 -172.50 77.50 307.50 0.0602605 -172.50 77.50 312.50 0.0249285 -172.50 77.50 317.50 0.0372109 -172.50 77.50 322.50 0.111409 -172.50 77.50 327.50 0.307125 -172.50 77.50 332.50 0.600698 -172.50 77.50 337.50 0.986119 -172.50 77.50 342.50 1.41792 -172.50 77.50 347.50 1.65912 -172.50 77.50 352.50 1.5055 -172.50 77.50 357.50 1.23431 -172.50 82.50 2.50 0.748316 -172.50 82.50 7.50 0.746945 -172.50 82.50 12.50 0.660447 -172.50 82.50 17.50 0.560353 -172.50 82.50 22.50 0.448151 -172.50 82.50 27.50 0.280425 -172.50 82.50 32.50 0.134886 -172.50 82.50 37.50 0.0488189 -172.50 82.50 42.50 0.0214686 -172.50 82.50 47.50 0.0303563 -172.50 82.50 52.50 0.0765614 -172.50 82.50 57.50 0.179141 -172.50 82.50 62.50 0.36465 -172.50 82.50 67.50 0.602203 -172.50 82.50 72.50 0.87596 -172.50 82.50 77.50 1.07335 -172.50 82.50 82.50 1.00203 -172.50 82.50 87.50 0.876766 -172.50 82.50 92.50 0.748316 -172.50 82.50 97.50 0.746945 -172.50 82.50 102.50 0.660447 -172.50 82.50 107.50 0.560353 -172.50 82.50 112.50 0.448151 -172.50 82.50 117.50 0.280425 -172.50 82.50 122.50 0.134886 -172.50 82.50 127.50 0.0488189 -172.50 82.50 132.50 0.0214686 -172.50 82.50 137.50 0.0303564 -172.50 82.50 142.50 0.0765614 -172.50 82.50 147.50 0.179141 -172.50 82.50 152.50 0.36465 -172.50 82.50 157.50 0.602202 -172.50 82.50 162.50 0.87596 -172.50 82.50 167.50 1.07335 -172.50 82.50 172.50 1.00203 -172.50 82.50 177.50 0.876766 -172.50 82.50 182.50 0.748317 -172.50 82.50 187.50 0.746945 -172.50 82.50 192.50 0.660447 -172.50 82.50 197.50 0.560352 -172.50 82.50 202.50 0.448151 -172.50 82.50 207.50 0.280425 -172.50 82.50 212.50 0.134886 -172.50 82.50 217.50 0.048819 -172.50 82.50 222.50 0.0214686 -172.50 82.50 227.50 0.0303563 -172.50 82.50 232.50 0.0765616 -172.50 82.50 237.50 0.179141 -172.50 82.50 242.50 0.364651 -172.50 82.50 247.50 0.602203 -172.50 82.50 252.50 0.87596 -172.50 82.50 257.50 1.07335 -172.50 82.50 262.50 1.00203 -172.50 82.50 267.50 0.876765 -172.50 82.50 272.50 0.748316 -172.50 82.50 277.50 0.746944 -172.50 82.50 282.50 0.660447 -172.50 82.50 287.50 0.560352 -172.50 82.50 292.50 0.448151 -172.50 82.50 297.50 0.280425 -172.50 82.50 302.50 0.134886 -172.50 82.50 307.50 0.048819 -172.50 82.50 312.50 0.0214686 -172.50 82.50 317.50 0.0303563 -172.50 82.50 322.50 0.0765613 -172.50 82.50 327.50 0.17914 -172.50 82.50 332.50 0.36465 -172.50 82.50 337.50 0.602202 -172.50 82.50 342.50 0.875959 -172.50 82.50 347.50 1.07335 -172.50 82.50 352.50 1.00203 -172.50 82.50 357.50 0.876766 -172.50 87.50 2.50 0.512872 -172.50 87.50 7.50 0.497721 -172.50 87.50 12.50 0.571704 -172.50 87.50 17.50 0.564787 -172.50 87.50 22.50 0.383061 -172.50 87.50 27.50 0.227339 -172.50 87.50 32.50 0.131056 -172.50 87.50 37.50 0.069618 -172.50 87.50 42.50 0.0333851 -172.50 87.50 47.50 0.0269072 -172.50 87.50 52.50 0.0563672 -172.50 87.50 57.50 0.116873 -172.50 87.50 62.50 0.200306 -172.50 87.50 67.50 0.323799 -172.50 87.50 72.50 0.495938 -172.50 87.50 77.50 0.619436 -172.50 87.50 82.50 0.610195 -172.50 87.50 87.50 0.52534 -172.50 87.50 92.50 0.512873 -172.50 87.50 97.50 0.497721 -172.50 87.50 102.50 0.571704 -172.50 87.50 107.50 0.564787 -172.50 87.50 112.50 0.38306 -172.50 87.50 117.50 0.227339 -172.50 87.50 122.50 0.131055 -172.50 87.50 127.50 0.0696179 -172.50 87.50 132.50 0.033385 -172.50 87.50 137.50 0.0269072 -172.50 87.50 142.50 0.0563672 -172.50 87.50 147.50 0.116873 -172.50 87.50 152.50 0.200306 -172.50 87.50 157.50 0.323799 -172.50 87.50 162.50 0.495937 -172.50 87.50 167.50 0.619437 -172.50 87.50 172.50 0.610195 -172.50 87.50 177.50 0.52534 -172.50 87.50 182.50 0.512874 -172.50 87.50 187.50 0.497721 -172.50 87.50 192.50 0.571704 -172.50 87.50 197.50 0.564787 -172.50 87.50 202.50 0.38306 -172.50 87.50 207.50 0.227339 -172.50 87.50 212.50 0.131056 -172.50 87.50 217.50 0.069618 -172.50 87.50 222.50 0.0333851 -172.50 87.50 227.50 0.0269071 -172.50 87.50 232.50 0.0563673 -172.50 87.50 237.50 0.116873 -172.50 87.50 242.50 0.200306 -172.50 87.50 247.50 0.323799 -172.50 87.50 252.50 0.495937 -172.50 87.50 257.50 0.619436 -172.50 87.50 262.50 0.610195 -172.50 87.50 267.50 0.52534 -172.50 87.50 272.50 0.512872 -172.50 87.50 277.50 0.497721 -172.50 87.50 282.50 0.571703 -172.50 87.50 287.50 0.564787 -172.50 87.50 292.50 0.383061 -172.50 87.50 297.50 0.227339 -172.50 87.50 302.50 0.131056 -172.50 87.50 307.50 0.069618 -172.50 87.50 312.50 0.0333851 -172.50 87.50 317.50 0.0269071 -172.50 87.50 322.50 0.0563671 -172.50 87.50 327.50 0.116873 -172.50 87.50 332.50 0.200306 -172.50 87.50 337.50 0.323798 -172.50 87.50 342.50 0.495937 -172.50 87.50 347.50 0.619436 -172.50 87.50 352.50 0.610195 -172.50 87.50 357.50 0.52534 -172.50 92.50 2.50 0.393272 -172.50 92.50 7.50 0.382022 -172.50 92.50 12.50 0.429837 -172.50 92.50 17.50 0.422612 -172.50 92.50 22.50 0.335764 -172.50 92.50 27.50 0.232885 -172.50 92.50 32.50 0.164812 -172.50 92.50 37.50 0.110206 -172.50 92.50 42.50 0.0566768 -172.50 92.50 47.50 0.0326856 -172.50 92.50 52.50 0.0566768 -172.50 92.50 57.50 0.110206 -172.50 92.50 62.50 0.164812 -172.50 92.50 67.50 0.232885 -172.50 92.50 72.50 0.335764 -172.50 92.50 77.50 0.422612 -172.50 92.50 82.50 0.429837 -172.50 92.50 87.50 0.382022 -172.50 92.50 92.50 0.393272 -172.50 92.50 97.50 0.382022 -172.50 92.50 102.50 0.429837 -172.50 92.50 107.50 0.422612 -172.50 92.50 112.50 0.335764 -172.50 92.50 117.50 0.232885 -172.50 92.50 122.50 0.164812 -172.50 92.50 127.50 0.110206 -172.50 92.50 132.50 0.0566767 -172.50 92.50 137.50 0.0326857 -172.50 92.50 142.50 0.0566768 -172.50 92.50 147.50 0.110206 -172.50 92.50 152.50 0.164812 -172.50 92.50 157.50 0.232885 -172.50 92.50 162.50 0.335764 -172.50 92.50 167.50 0.422612 -172.50 92.50 172.50 0.429837 -172.50 92.50 177.50 0.382022 -172.50 92.50 182.50 0.393272 -172.50 92.50 187.50 0.382022 -172.50 92.50 192.50 0.429837 -172.50 92.50 197.50 0.422612 -172.50 92.50 202.50 0.335764 -172.50 92.50 207.50 0.232885 -172.50 92.50 212.50 0.164812 -172.50 92.50 217.50 0.110206 -172.50 92.50 222.50 0.0566768 -172.50 92.50 227.50 0.0326857 -172.50 92.50 232.50 0.0566769 -172.50 92.50 237.50 0.110206 -172.50 92.50 242.50 0.164812 -172.50 92.50 247.50 0.232885 -172.50 92.50 252.50 0.335764 -172.50 92.50 257.50 0.422612 -172.50 92.50 262.50 0.429837 -172.50 92.50 267.50 0.382022 -172.50 92.50 272.50 0.393272 -172.50 92.50 277.50 0.382022 -172.50 92.50 282.50 0.429837 -172.50 92.50 287.50 0.422612 -172.50 92.50 292.50 0.335764 -172.50 92.50 297.50 0.232885 -172.50 92.50 302.50 0.164812 -172.50 92.50 307.50 0.110206 -172.50 92.50 312.50 0.0566768 -172.50 92.50 317.50 0.0326857 -172.50 92.50 322.50 0.0566767 -172.50 92.50 327.50 0.110205 -172.50 92.50 332.50 0.164812 -172.50 92.50 337.50 0.232885 -172.50 92.50 342.50 0.335764 -172.50 92.50 347.50 0.422611 -172.50 92.50 352.50 0.429837 -172.50 92.50 357.50 0.382022 -172.50 97.50 2.50 0.512871 -172.50 97.50 7.50 0.52534 -172.50 97.50 12.50 0.610194 -172.50 97.50 17.50 0.619437 -172.50 97.50 22.50 0.495937 -172.50 97.50 27.50 0.323799 -172.50 97.50 32.50 0.200306 -172.50 97.50 37.50 0.116873 -172.50 97.50 42.50 0.0563673 -172.50 97.50 47.50 0.0269071 -172.50 97.50 52.50 0.0333851 -172.50 97.50 57.50 0.069618 -172.50 97.50 62.50 0.131056 -172.50 97.50 67.50 0.227339 -172.50 97.50 72.50 0.383061 -172.50 97.50 77.50 0.564787 -172.50 97.50 82.50 0.571703 -172.50 97.50 87.50 0.497721 -172.50 97.50 92.50 0.512871 -172.50 97.50 97.50 0.52534 -172.50 97.50 102.50 0.610195 -172.50 97.50 107.50 0.619436 -172.50 97.50 112.50 0.495937 -172.50 97.50 117.50 0.323799 -172.50 97.50 122.50 0.200306 -172.50 97.50 127.50 0.116873 -172.50 97.50 132.50 0.0563672 -172.50 97.50 137.50 0.0269072 -172.50 97.50 142.50 0.0333851 -172.50 97.50 147.50 0.069618 -172.50 97.50 152.50 0.131056 -172.50 97.50 157.50 0.227339 -172.50 97.50 162.50 0.38306 -172.50 97.50 167.50 0.564787 -172.50 97.50 172.50 0.571704 -172.50 97.50 177.50 0.497721 -172.50 97.50 182.50 0.512869 -172.50 97.50 187.50 0.52534 -172.50 97.50 192.50 0.610194 -172.50 97.50 197.50 0.619436 -172.50 97.50 202.50 0.495937 -172.50 97.50 207.50 0.323799 -172.50 97.50 212.50 0.200306 -172.50 97.50 217.50 0.116873 -172.50 97.50 222.50 0.0563672 -172.50 97.50 227.50 0.0269072 -172.50 97.50 232.50 0.0333851 -172.50 97.50 237.50 0.0696181 -172.50 97.50 242.50 0.131056 -172.50 97.50 247.50 0.227339 -172.50 97.50 252.50 0.383061 -172.50 97.50 257.50 0.564787 -172.50 97.50 262.50 0.571703 -172.50 97.50 267.50 0.49772 -172.50 97.50 272.50 0.512871 -172.50 97.50 277.50 0.52534 -172.50 97.50 282.50 0.610195 -172.50 97.50 287.50 0.619436 -172.50 97.50 292.50 0.495937 -172.50 97.50 297.50 0.323799 -172.50 97.50 302.50 0.200306 -172.50 97.50 307.50 0.116873 -172.50 97.50 312.50 0.0563673 -172.50 97.50 317.50 0.0269072 -172.50 97.50 322.50 0.033385 -172.50 97.50 327.50 0.0696179 -172.50 97.50 332.50 0.131055 -172.50 97.50 337.50 0.227339 -172.50 97.50 342.50 0.38306 -172.50 97.50 347.50 0.564787 -172.50 97.50 352.50 0.571704 -172.50 97.50 357.50 0.497721 -172.50 102.50 2.50 0.748315 -172.50 102.50 7.50 0.876766 -172.50 102.50 12.50 1.00203 -172.50 102.50 17.50 1.07335 -172.50 102.50 22.50 0.87596 -172.50 102.50 27.50 0.602202 -172.50 102.50 32.50 0.36465 -172.50 102.50 37.50 0.17914 -172.50 102.50 42.50 0.0765615 -172.50 102.50 47.50 0.0303563 -172.50 102.50 52.50 0.0214686 -172.50 102.50 57.50 0.048819 -172.50 102.50 62.50 0.134886 -172.50 102.50 67.50 0.280425 -172.50 102.50 72.50 0.448151 -172.50 102.50 77.50 0.560353 -172.50 102.50 82.50 0.660447 -172.50 102.50 87.50 0.746944 -172.50 102.50 92.50 0.748315 -172.50 102.50 97.50 0.876766 -172.50 102.50 102.50 1.00203 -172.50 102.50 107.50 1.07335 -172.50 102.50 112.50 0.87596 -172.50 102.50 117.50 0.602202 -172.50 102.50 122.50 0.36465 -172.50 102.50 127.50 0.17914 -172.50 102.50 132.50 0.0765614 -172.50 102.50 137.50 0.0303563 -172.50 102.50 142.50 0.0214686 -172.50 102.50 147.50 0.048819 -172.50 102.50 152.50 0.134886 -172.50 102.50 157.50 0.280425 -172.50 102.50 162.50 0.448151 -172.50 102.50 167.50 0.560352 -172.50 102.50 172.50 0.660447 -172.50 102.50 177.50 0.746944 -172.50 102.50 182.50 0.748314 -172.50 102.50 187.50 0.876765 -172.50 102.50 192.50 1.00202 -172.50 102.50 197.50 1.07335 -172.50 102.50 202.50 0.87596 -172.50 102.50 207.50 0.602202 -172.50 102.50 212.50 0.36465 -172.50 102.50 217.50 0.179141 -172.50 102.50 222.50 0.0765615 -172.50 102.50 227.50 0.0303563 -172.50 102.50 232.50 0.0214686 -172.50 102.50 237.50 0.0488191 -172.50 102.50 242.50 0.134886 -172.50 102.50 247.50 0.280425 -172.50 102.50 252.50 0.448151 -172.50 102.50 257.50 0.560352 -172.50 102.50 262.50 0.660447 -172.50 102.50 267.50 0.746944 -172.50 102.50 272.50 0.748315 -172.50 102.50 277.50 0.876765 -172.50 102.50 282.50 1.00203 -172.50 102.50 287.50 1.07335 -172.50 102.50 292.50 0.87596 -172.50 102.50 297.50 0.602202 -172.50 102.50 302.50 0.364651 -172.50 102.50 307.50 0.179141 -172.50 102.50 312.50 0.0765615 -172.50 102.50 317.50 0.0303564 -172.50 102.50 322.50 0.0214685 -172.50 102.50 327.50 0.0488189 -172.50 102.50 332.50 0.134886 -172.50 102.50 337.50 0.280424 -172.50 102.50 342.50 0.44815 -172.50 102.50 347.50 0.560352 -172.50 102.50 352.50 0.660447 -172.50 102.50 357.50 0.746945 -172.50 107.50 2.50 1.01248 -172.50 107.50 7.50 1.2343 -172.50 107.50 12.50 1.5055 -172.50 107.50 17.50 1.65912 -172.50 107.50 22.50 1.41792 -172.50 107.50 27.50 0.986119 -172.50 107.50 32.50 0.600698 -172.50 107.50 37.50 0.307125 -172.50 107.50 42.50 0.111409 -172.50 107.50 47.50 0.0372109 -172.50 107.50 52.50 0.0249285 -172.50 107.50 57.50 0.0602605 -172.50 107.50 62.50 0.132119 -172.50 107.50 67.50 0.268075 -172.50 107.50 72.50 0.428224 -172.50 107.50 77.50 0.625249 -172.50 107.50 82.50 0.821513 -172.50 107.50 87.50 0.917429 -172.50 107.50 92.50 1.01248 -172.50 107.50 97.50 1.2343 -172.50 107.50 102.50 1.5055 -172.50 107.50 107.50 1.65912 -172.50 107.50 112.50 1.41792 -172.50 107.50 117.50 0.986118 -172.50 107.50 122.50 0.600698 -172.50 107.50 127.50 0.307125 -172.50 107.50 132.50 0.111409 -172.50 107.50 137.50 0.0372109 -172.50 107.50 142.50 0.0249284 -172.50 107.50 147.50 0.0602605 -172.50 107.50 152.50 0.132119 -172.50 107.50 157.50 0.268075 -172.50 107.50 162.50 0.428223 -172.50 107.50 167.50 0.625249 -172.50 107.50 172.50 0.821513 -172.50 107.50 177.50 0.917429 -172.50 107.50 182.50 1.01248 -172.50 107.50 187.50 1.2343 -172.50 107.50 192.50 1.5055 -172.50 107.50 197.50 1.65912 -172.50 107.50 202.50 1.41792 -172.50 107.50 207.50 0.986119 -172.50 107.50 212.50 0.600698 -172.50 107.50 217.50 0.307125 -172.50 107.50 222.50 0.111409 -172.50 107.50 227.50 0.037211 -172.50 107.50 232.50 0.0249285 -172.50 107.50 237.50 0.0602605 -172.50 107.50 242.50 0.132119 -172.50 107.50 247.50 0.268075 -172.50 107.50 252.50 0.428224 -172.50 107.50 257.50 0.625249 -172.50 107.50 262.50 0.821513 -172.50 107.50 267.50 0.917429 -172.50 107.50 272.50 1.01248 -172.50 107.50 277.50 1.2343 -172.50 107.50 282.50 1.5055 -172.50 107.50 287.50 1.65912 -172.50 107.50 292.50 1.41792 -172.50 107.50 297.50 0.98612 -172.50 107.50 302.50 0.600699 -172.50 107.50 307.50 0.307125 -172.50 107.50 312.50 0.111409 -172.50 107.50 317.50 0.037211 -172.50 107.50 322.50 0.0249284 -172.50 107.50 327.50 0.0602604 -172.50 107.50 332.50 0.132119 -172.50 107.50 337.50 0.268075 -172.50 107.50 342.50 0.428223 -172.50 107.50 347.50 0.625249 -172.50 107.50 352.50 0.821512 -172.50 107.50 357.50 0.917429 -172.50 112.50 2.50 1.3146 -172.50 112.50 7.50 1.61508 -172.50 112.50 12.50 2.07273 -172.50 112.50 17.50 2.17321 -172.50 112.50 22.50 1.95805 -172.50 112.50 27.50 1.35853 -172.50 112.50 32.50 0.798171 -172.50 112.50 37.50 0.39063 -172.50 112.50 42.50 0.153302 -172.50 112.50 47.50 0.044293 -172.50 112.50 52.50 0.0235675 -172.50 112.50 57.50 0.0489956 -172.50 112.50 62.50 0.136687 -172.50 112.50 67.50 0.257137 -172.50 112.50 72.50 0.413102 -172.50 112.50 77.50 0.68634 -172.50 112.50 82.50 0.93639 -172.50 112.50 87.50 1.16836 -172.50 112.50 92.50 1.3146 -172.50 112.50 97.50 1.61508 -172.50 112.50 102.50 2.07273 -172.50 112.50 107.50 2.17321 -172.50 112.50 112.50 1.95804 -172.50 112.50 117.50 1.35853 -172.50 112.50 122.50 0.79817 -172.50 112.50 127.50 0.390629 -172.50 112.50 132.50 0.153302 -172.50 112.50 137.50 0.044293 -172.50 112.50 142.50 0.0235675 -172.50 112.50 147.50 0.0489955 -172.50 112.50 152.50 0.136687 -172.50 112.50 157.50 0.257137 -172.50 112.50 162.50 0.413102 -172.50 112.50 167.50 0.686339 -172.50 112.50 172.50 0.93639 -172.50 112.50 177.50 1.16836 -172.50 112.50 182.50 1.3146 -172.50 112.50 187.50 1.61508 -172.50 112.50 192.50 2.07273 -172.50 112.50 197.50 2.17321 -172.50 112.50 202.50 1.95805 -172.50 112.50 207.50 1.35853 -172.50 112.50 212.50 0.798171 -172.50 112.50 217.50 0.39063 -172.50 112.50 222.50 0.153303 -172.50 112.50 227.50 0.044293 -172.50 112.50 232.50 0.0235675 -172.50 112.50 237.50 0.0489955 -172.50 112.50 242.50 0.136687 -172.50 112.50 247.50 0.257137 -172.50 112.50 252.50 0.413102 -172.50 112.50 257.50 0.686339 -172.50 112.50 262.50 0.936391 -172.50 112.50 267.50 1.16836 -172.50 112.50 272.50 1.3146 -172.50 112.50 277.50 1.61508 -172.50 112.50 282.50 2.07273 -172.50 112.50 287.50 2.17321 -172.50 112.50 292.50 1.95805 -172.50 112.50 297.50 1.35854 -172.50 112.50 302.50 0.798171 -172.50 112.50 307.50 0.39063 -172.50 112.50 312.50 0.153302 -172.50 112.50 317.50 0.044293 -172.50 112.50 322.50 0.0235675 -172.50 112.50 327.50 0.0489954 -172.50 112.50 332.50 0.136687 -172.50 112.50 337.50 0.257137 -172.50 112.50 342.50 0.413101 -172.50 112.50 347.50 0.686338 -172.50 112.50 352.50 0.93639 -172.50 112.50 357.50 1.16836 -172.50 117.50 2.50 1.60321 -172.50 117.50 7.50 2.02542 -172.50 117.50 12.50 2.45028 -172.50 117.50 17.50 2.47398 -172.50 117.50 22.50 2.2456 -172.50 117.50 27.50 1.71088 -172.50 117.50 32.50 0.984818 -172.50 117.50 37.50 0.466121 -172.50 117.50 42.50 0.176852 -172.50 117.50 47.50 0.0498328 -172.50 117.50 52.50 0.0218166 -172.50 117.50 57.50 0.050809 -172.50 117.50 62.50 0.116185 -172.50 117.50 67.50 0.221438 -172.50 117.50 72.50 0.447433 -172.50 117.50 77.50 0.720637 -172.50 117.50 82.50 1.04917 -172.50 117.50 87.50 1.3825 -172.50 117.50 92.50 1.60321 -172.50 117.50 97.50 2.02542 -172.50 117.50 102.50 2.45028 -172.50 117.50 107.50 2.47398 -172.50 117.50 112.50 2.2456 -172.50 117.50 117.50 1.71088 -172.50 117.50 122.50 0.984816 -172.50 117.50 127.50 0.46612 -172.50 117.50 132.50 0.176852 -172.50 117.50 137.50 0.0498328 -172.50 117.50 142.50 0.0218166 -172.50 117.50 147.50 0.0508089 -172.50 117.50 152.50 0.116185 -172.50 117.50 157.50 0.221437 -172.50 117.50 162.50 0.447432 -172.50 117.50 167.50 0.720637 -172.50 117.50 172.50 1.04917 -172.50 117.50 177.50 1.3825 -172.50 117.50 182.50 1.60321 -172.50 117.50 187.50 2.02542 -172.50 117.50 192.50 2.45028 -172.50 117.50 197.50 2.47398 -172.50 117.50 202.50 2.2456 -172.50 117.50 207.50 1.71088 -172.50 117.50 212.50 0.984818 -172.50 117.50 217.50 0.466121 -172.50 117.50 222.50 0.176851 -172.50 117.50 227.50 0.0498328 -172.50 117.50 232.50 0.0218166 -172.50 117.50 237.50 0.0508091 -172.50 117.50 242.50 0.116185 -172.50 117.50 247.50 0.221438 -172.50 117.50 252.50 0.447433 -172.50 117.50 257.50 0.720637 -172.50 117.50 262.50 1.04917 -172.50 117.50 267.50 1.3825 -172.50 117.50 272.50 1.60321 -172.50 117.50 277.50 2.02542 -172.50 117.50 282.50 2.45028 -172.50 117.50 287.50 2.47398 -172.50 117.50 292.50 2.2456 -172.50 117.50 297.50 1.71088 -172.50 117.50 302.50 0.98482 -172.50 117.50 307.50 0.466122 -172.50 117.50 312.50 0.176851 -172.50 117.50 317.50 0.0498329 -172.50 117.50 322.50 0.0218166 -172.50 117.50 327.50 0.0508088 -172.50 117.50 332.50 0.116185 -172.50 117.50 337.50 0.221437 -172.50 117.50 342.50 0.447432 -172.50 117.50 347.50 0.720636 -172.50 117.50 352.50 1.04917 -172.50 117.50 357.50 1.38249 -172.50 122.50 2.50 1.86338 -172.50 122.50 7.50 2.35633 -172.50 122.50 12.50 2.81722 -172.50 122.50 17.50 2.69226 -172.50 122.50 22.50 2.44214 -172.50 122.50 27.50 1.87162 -172.50 122.50 32.50 1.14071 -172.50 122.50 37.50 0.513418 -172.50 122.50 42.50 0.162803 -172.50 122.50 47.50 0.0377003 -172.50 122.50 52.50 0.023734 -172.50 122.50 57.50 0.0563771 -172.50 122.50 62.50 0.127603 -172.50 122.50 67.50 0.2733 -172.50 122.50 72.50 0.528728 -172.50 122.50 77.50 0.837216 -172.50 122.50 82.50 1.22202 -172.50 122.50 87.50 1.56995 -172.50 122.50 92.50 1.86337 -172.50 122.50 97.50 2.35633 -172.50 122.50 102.50 2.81722 -172.50 122.50 107.50 2.69226 -172.50 122.50 112.50 2.44214 -172.50 122.50 117.50 1.87162 -172.50 122.50 122.50 1.14071 -172.50 122.50 127.50 0.513418 -172.50 122.50 132.50 0.162803 -172.50 122.50 137.50 0.0377003 -172.50 122.50 142.50 0.023734 -172.50 122.50 147.50 0.056377 -172.50 122.50 152.50 0.127603 -172.50 122.50 157.50 0.273299 -172.50 122.50 162.50 0.528727 -172.50 122.50 167.50 0.837215 -172.50 122.50 172.50 1.22202 -172.50 122.50 177.50 1.56995 -172.50 122.50 182.50 1.86337 -172.50 122.50 187.50 2.35633 -172.50 122.50 192.50 2.81722 -172.50 122.50 197.50 2.69226 -172.50 122.50 202.50 2.44214 -172.50 122.50 207.50 1.87162 -172.50 122.50 212.50 1.14071 -172.50 122.50 217.50 0.513418 -172.50 122.50 222.50 0.162803 -172.50 122.50 227.50 0.0377003 -172.50 122.50 232.50 0.023734 -172.50 122.50 237.50 0.0563771 -172.50 122.50 242.50 0.127603 -172.50 122.50 247.50 0.2733 -172.50 122.50 252.50 0.528727 -172.50 122.50 257.50 0.837215 -172.50 122.50 262.50 1.22202 -172.50 122.50 267.50 1.56995 -172.50 122.50 272.50 1.86338 -172.50 122.50 277.50 2.35633 -172.50 122.50 282.50 2.81722 -172.50 122.50 287.50 2.69226 -172.50 122.50 292.50 2.44214 -172.50 122.50 297.50 1.87162 -172.50 122.50 302.50 1.14071 -172.50 122.50 307.50 0.513418 -172.50 122.50 312.50 0.162803 -172.50 122.50 317.50 0.0377004 -172.50 122.50 322.50 0.023734 -172.50 122.50 327.50 0.0563769 -172.50 122.50 332.50 0.127602 -172.50 122.50 337.50 0.273299 -172.50 122.50 342.50 0.528726 -172.50 122.50 347.50 0.837215 -172.50 122.50 352.50 1.22202 -172.50 122.50 357.50 1.56995 -172.50 127.50 2.50 2.17935 -172.50 127.50 7.50 2.68301 -172.50 127.50 12.50 3.142 -172.50 127.50 17.50 2.89175 -172.50 127.50 22.50 2.41409 -172.50 127.50 27.50 1.8291 -172.50 127.50 32.50 1.06827 -172.50 127.50 37.50 0.461796 -172.50 127.50 42.50 0.150861 -172.50 127.50 47.50 0.0493123 -172.50 127.50 52.50 0.0333968 -172.50 127.50 57.50 0.0742197 -172.50 127.50 62.50 0.162979 -172.50 127.50 67.50 0.349 -172.50 127.50 72.50 0.650024 -172.50 127.50 77.50 1.05549 -172.50 127.50 82.50 1.47076 -172.50 127.50 87.50 1.80721 -172.50 127.50 92.50 2.17935 -172.50 127.50 97.50 2.68301 -172.50 127.50 102.50 3.142 -172.50 127.50 107.50 2.89175 -172.50 127.50 112.50 2.41409 -172.50 127.50 117.50 1.82909 -172.50 127.50 122.50 1.06827 -172.50 127.50 127.50 0.461795 -172.50 127.50 132.50 0.150861 -172.50 127.50 137.50 0.0493123 -172.50 127.50 142.50 0.0333968 -172.50 127.50 147.50 0.0742197 -172.50 127.50 152.50 0.162979 -172.50 127.50 157.50 0.348999 -172.50 127.50 162.50 0.650024 -172.50 127.50 167.50 1.05549 -172.50 127.50 172.50 1.47076 -172.50 127.50 177.50 1.80721 -172.50 127.50 182.50 2.17935 -172.50 127.50 187.50 2.68301 -172.50 127.50 192.50 3.142 -172.50 127.50 197.50 2.89175 -172.50 127.50 202.50 2.41409 -172.50 127.50 207.50 1.8291 -172.50 127.50 212.50 1.06827 -172.50 127.50 217.50 0.461796 -172.50 127.50 222.50 0.150861 -172.50 127.50 227.50 0.0493124 -172.50 127.50 232.50 0.0333968 -172.50 127.50 237.50 0.0742197 -172.50 127.50 242.50 0.162979 -172.50 127.50 247.50 0.349 -172.50 127.50 252.50 0.650024 -172.50 127.50 257.50 1.05549 -172.50 127.50 262.50 1.47076 -172.50 127.50 267.50 1.80721 -172.50 127.50 272.50 2.17935 -172.50 127.50 277.50 2.68301 -172.50 127.50 282.50 3.142 -172.50 127.50 287.50 2.89175 -172.50 127.50 292.50 2.41409 -172.50 127.50 297.50 1.8291 -172.50 127.50 302.50 1.06828 -172.50 127.50 307.50 0.461796 -172.50 127.50 312.50 0.150861 -172.50 127.50 317.50 0.0493125 -172.50 127.50 322.50 0.0333968 -172.50 127.50 327.50 0.0742196 -172.50 127.50 332.50 0.162979 -172.50 127.50 337.50 0.348999 -172.50 127.50 342.50 0.650023 -172.50 127.50 347.50 1.05549 -172.50 127.50 352.50 1.47076 -172.50 127.50 357.50 1.80721 -172.50 132.50 2.50 2.49553 -172.50 132.50 7.50 2.94319 -172.50 132.50 12.50 3.21772 -172.50 132.50 17.50 2.87826 -172.50 132.50 22.50 2.18842 -172.50 132.50 27.50 1.51786 -172.50 132.50 32.50 0.815125 -172.50 132.50 37.50 0.391492 -172.50 132.50 42.50 0.144797 -172.50 132.50 47.50 0.0466048 -172.50 132.50 52.50 0.0464114 -172.50 132.50 57.50 0.0917995 -172.50 132.50 62.50 0.165767 -172.50 132.50 67.50 0.392732 -172.50 132.50 72.50 0.753955 -172.50 132.50 77.50 1.23848 -172.50 132.50 82.50 1.72614 -172.50 132.50 87.50 2.05578 -172.50 132.50 92.50 2.49553 -172.50 132.50 97.50 2.94319 -172.50 132.50 102.50 3.21772 -172.50 132.50 107.50 2.87826 -172.50 132.50 112.50 2.18842 -172.50 132.50 117.50 1.51786 -172.50 132.50 122.50 0.815125 -172.50 132.50 127.50 0.391492 -172.50 132.50 132.50 0.144797 -172.50 132.50 137.50 0.0466048 -172.50 132.50 142.50 0.0464114 -172.50 132.50 147.50 0.0917995 -172.50 132.50 152.50 0.165767 -172.50 132.50 157.50 0.392732 -172.50 132.50 162.50 0.753954 -172.50 132.50 167.50 1.23847 -172.50 132.50 172.50 1.72614 -172.50 132.50 177.50 2.05578 -172.50 132.50 182.50 2.49553 -172.50 132.50 187.50 2.94319 -172.50 132.50 192.50 3.21772 -172.50 132.50 197.50 2.87826 -172.50 132.50 202.50 2.18842 -172.50 132.50 207.50 1.51786 -172.50 132.50 212.50 0.815125 -172.50 132.50 217.50 0.391492 -172.50 132.50 222.50 0.144797 -172.50 132.50 227.50 0.0466048 -172.50 132.50 232.50 0.0464114 -172.50 132.50 237.50 0.0917996 -172.50 132.50 242.50 0.165767 -172.50 132.50 247.50 0.392732 -172.50 132.50 252.50 0.753955 -172.50 132.50 257.50 1.23847 -172.50 132.50 262.50 1.72614 -172.50 132.50 267.50 2.05578 -172.50 132.50 272.50 2.49553 -172.50 132.50 277.50 2.94319 -172.50 132.50 282.50 3.21772 -172.50 132.50 287.50 2.87826 -172.50 132.50 292.50 2.18842 -172.50 132.50 297.50 1.51786 -172.50 132.50 302.50 0.815126 -172.50 132.50 307.50 0.391492 -172.50 132.50 312.50 0.144797 -172.50 132.50 317.50 0.0466048 -172.50 132.50 322.50 0.0464113 -172.50 132.50 327.50 0.0917994 -172.50 132.50 332.50 0.165767 -172.50 132.50 337.50 0.392731 -172.50 132.50 342.50 0.753954 -172.50 132.50 347.50 1.23847 -172.50 132.50 352.50 1.72614 -172.50 132.50 357.50 2.05578 -172.50 137.50 2.50 2.62872 -172.50 137.50 7.50 2.92708 -172.50 137.50 12.50 2.93874 -172.50 137.50 17.50 2.53676 -172.50 137.50 22.50 1.86442 -172.50 137.50 27.50 1.11737 -172.50 137.50 32.50 0.57841 -172.50 137.50 37.50 0.257133 -172.50 137.50 42.50 0.102518 -172.50 137.50 47.50 0.0461649 -172.50 137.50 52.50 0.0370031 -172.50 137.50 57.50 0.0798341 -172.50 137.50 62.50 0.175949 -172.50 137.50 67.50 0.390397 -172.50 137.50 72.50 0.811878 -172.50 137.50 77.50 1.38669 -172.50 137.50 82.50 1.92049 -172.50 137.50 87.50 2.27301 -172.50 137.50 92.50 2.62872 -172.50 137.50 97.50 2.92708 -172.50 137.50 102.50 2.93874 -172.50 137.50 107.50 2.53676 -172.50 137.50 112.50 1.86442 -172.50 137.50 117.50 1.11737 -172.50 137.50 122.50 0.578409 -172.50 137.50 127.50 0.257132 -172.50 137.50 132.50 0.102518 -172.50 137.50 137.50 0.0461649 -172.50 137.50 142.50 0.0370031 -172.50 137.50 147.50 0.0798341 -172.50 137.50 152.50 0.175949 -172.50 137.50 157.50 0.390397 -172.50 137.50 162.50 0.811877 -172.50 137.50 167.50 1.38669 -172.50 137.50 172.50 1.92049 -172.50 137.50 177.50 2.27301 -172.50 137.50 182.50 2.62872 -172.50 137.50 187.50 2.92708 -172.50 137.50 192.50 2.93874 -172.50 137.50 197.50 2.53676 -172.50 137.50 202.50 1.86442 -172.50 137.50 207.50 1.11737 -172.50 137.50 212.50 0.57841 -172.50 137.50 217.50 0.257133 -172.50 137.50 222.50 0.102518 -172.50 137.50 227.50 0.0461649 -172.50 137.50 232.50 0.0370032 -172.50 137.50 237.50 0.0798341 -172.50 137.50 242.50 0.175949 -172.50 137.50 247.50 0.390397 -172.50 137.50 252.50 0.811878 -172.50 137.50 257.50 1.38669 -172.50 137.50 262.50 1.92049 -172.50 137.50 267.50 2.27301 -172.50 137.50 272.50 2.62872 -172.50 137.50 277.50 2.92708 -172.50 137.50 282.50 2.93874 -172.50 137.50 287.50 2.53676 -172.50 137.50 292.50 1.86442 -172.50 137.50 297.50 1.11737 -172.50 137.50 302.50 0.57841 -172.50 137.50 307.50 0.257133 -172.50 137.50 312.50 0.102518 -172.50 137.50 317.50 0.0461649 -172.50 137.50 322.50 0.037003 -172.50 137.50 327.50 0.079834 -172.50 137.50 332.50 0.175949 -172.50 137.50 337.50 0.390396 -172.50 137.50 342.50 0.811877 -172.50 137.50 347.50 1.38669 -172.50 137.50 352.50 1.92049 -172.50 137.50 357.50 2.273 -172.50 142.50 2.50 2.49553 -172.50 142.50 7.50 2.5511 -172.50 142.50 12.50 2.38862 -172.50 142.50 17.50 1.93565 -172.50 142.50 22.50 1.32266 -172.50 142.50 27.50 0.761164 -172.50 142.50 32.50 0.347488 -172.50 142.50 37.50 0.131228 -172.50 142.50 42.50 0.0544543 -172.50 142.50 47.50 0.0240779 -172.50 142.50 52.50 0.029337 -172.50 142.50 57.50 0.064963 -172.50 142.50 62.50 0.153384 -172.50 142.50 67.50 0.389939 -172.50 142.50 72.50 0.837116 -172.50 142.50 77.50 1.47636 -172.50 142.50 82.50 2.04755 -172.50 142.50 87.50 2.365 -172.50 142.50 92.50 2.49553 -172.50 142.50 97.50 2.5511 -172.50 142.50 102.50 2.38862 -172.50 142.50 107.50 1.93565 -172.50 142.50 112.50 1.32266 -172.50 142.50 117.50 0.761164 -172.50 142.50 122.50 0.347488 -172.50 142.50 127.50 0.131228 -172.50 142.50 132.50 0.0544543 -172.50 142.50 137.50 0.0240779 -172.50 142.50 142.50 0.029337 -172.50 142.50 147.50 0.064963 -172.50 142.50 152.50 0.153384 -172.50 142.50 157.50 0.389939 -172.50 142.50 162.50 0.837116 -172.50 142.50 167.50 1.47636 -172.50 142.50 172.50 2.04755 -172.50 142.50 177.50 2.365 -172.50 142.50 182.50 2.49553 -172.50 142.50 187.50 2.5511 -172.50 142.50 192.50 2.38862 -172.50 142.50 197.50 1.93565 -172.50 142.50 202.50 1.32266 -172.50 142.50 207.50 0.761164 -172.50 142.50 212.50 0.347488 -172.50 142.50 217.50 0.131228 -172.50 142.50 222.50 0.0544543 -172.50 142.50 227.50 0.0240779 -172.50 142.50 232.50 0.029337 -172.50 142.50 237.50 0.064963 -172.50 142.50 242.50 0.153384 -172.50 142.50 247.50 0.389939 -172.50 142.50 252.50 0.837116 -172.50 142.50 257.50 1.47636 -172.50 142.50 262.50 2.04755 -172.50 142.50 267.50 2.365 -172.50 142.50 272.50 2.49553 -172.50 142.50 277.50 2.5511 -172.50 142.50 282.50 2.38862 -172.50 142.50 287.50 1.93565 -172.50 142.50 292.50 1.32266 -172.50 142.50 297.50 0.761165 -172.50 142.50 302.50 0.347488 -172.50 142.50 307.50 0.131228 -172.50 142.50 312.50 0.0544543 -172.50 142.50 317.50 0.024078 -172.50 142.50 322.50 0.029337 -172.50 142.50 327.50 0.0649628 -172.50 142.50 332.50 0.153384 -172.50 142.50 337.50 0.389938 -172.50 142.50 342.50 0.837114 -172.50 142.50 347.50 1.47636 -172.50 142.50 352.50 2.04755 -172.50 142.50 357.50 2.365 -172.50 147.50 2.50 2.17935 -172.50 147.50 7.50 2.00916 -172.50 147.50 12.50 1.73793 -172.50 147.50 17.50 1.31861 -172.50 147.50 22.50 0.808453 -172.50 147.50 27.50 0.419195 -172.50 147.50 32.50 0.176797 -172.50 147.50 37.50 0.0562322 -172.50 147.50 42.50 0.0189671 -172.50 147.50 47.50 0.0128106 -172.50 147.50 52.50 0.0225164 -172.50 147.50 57.50 0.0559942 -172.50 147.50 62.50 0.142297 -172.50 147.50 67.50 0.368097 -172.50 147.50 72.50 0.831755 -172.50 147.50 77.50 1.47645 -172.50 147.50 82.50 2.04186 -172.50 147.50 87.50 2.25355 -172.50 147.50 92.50 2.17935 -172.50 147.50 97.50 2.00916 -172.50 147.50 102.50 1.73793 -172.50 147.50 107.50 1.31861 -172.50 147.50 112.50 0.808453 -172.50 147.50 117.50 0.419195 -172.50 147.50 122.50 0.176797 -172.50 147.50 127.50 0.0562321 -172.50 147.50 132.50 0.0189671 -172.50 147.50 137.50 0.0128106 -172.50 147.50 142.50 0.0225164 -172.50 147.50 147.50 0.0559942 -172.50 147.50 152.50 0.142297 -172.50 147.50 157.50 0.368096 -172.50 147.50 162.50 0.831755 -172.50 147.50 167.50 1.47645 -172.50 147.50 172.50 2.04186 -172.50 147.50 177.50 2.25355 -172.50 147.50 182.50 2.17935 -172.50 147.50 187.50 2.00917 -172.50 147.50 192.50 1.73793 -172.50 147.50 197.50 1.31861 -172.50 147.50 202.50 0.808453 -172.50 147.50 207.50 0.419196 -172.50 147.50 212.50 0.176797 -172.50 147.50 217.50 0.0562323 -172.50 147.50 222.50 0.0189671 -172.50 147.50 227.50 0.0128106 -172.50 147.50 232.50 0.0225164 -172.50 147.50 237.50 0.0559943 -172.50 147.50 242.50 0.142297 -172.50 147.50 247.50 0.368097 -172.50 147.50 252.50 0.831756 -172.50 147.50 257.50 1.47645 -172.50 147.50 262.50 2.04186 -172.50 147.50 267.50 2.25355 -172.50 147.50 272.50 2.17935 -172.50 147.50 277.50 2.00916 -172.50 147.50 282.50 1.73793 -172.50 147.50 287.50 1.31861 -172.50 147.50 292.50 0.808453 -172.50 147.50 297.50 0.419196 -172.50 147.50 302.50 0.176797 -172.50 147.50 307.50 0.0562324 -172.50 147.50 312.50 0.0189671 -172.50 147.50 317.50 0.0128106 -172.50 147.50 322.50 0.0225164 -172.50 147.50 327.50 0.0559941 -172.50 147.50 332.50 0.142296 -172.50 147.50 337.50 0.368096 -172.50 147.50 342.50 0.831754 -172.50 147.50 347.50 1.47645 -172.50 147.50 352.50 2.04186 -172.50 147.50 357.50 2.25355 -172.50 152.50 2.50 1.86337 -172.50 152.50 7.50 1.53807 -172.50 152.50 12.50 1.20728 -172.50 152.50 17.50 0.811061 -172.50 152.50 22.50 0.491082 -172.50 152.50 27.50 0.222834 -172.50 152.50 32.50 0.0934184 -172.50 152.50 37.50 0.0282593 -172.50 152.50 42.50 0.00774664 -172.50 152.50 47.50 0.00789955 -172.50 152.50 52.50 0.0191531 -172.50 152.50 57.50 0.0522475 -172.50 152.50 62.50 0.14802 -172.50 152.50 67.50 0.375538 -172.50 152.50 72.50 0.854602 -172.50 152.50 77.50 1.49025 -172.50 152.50 82.50 1.95496 -172.50 152.50 87.50 2.05967 -172.50 152.50 92.50 1.86338 -172.50 152.50 97.50 1.53807 -172.50 152.50 102.50 1.20728 -172.50 152.50 107.50 0.811061 -172.50 152.50 112.50 0.491082 -172.50 152.50 117.50 0.222834 -172.50 152.50 122.50 0.0934184 -172.50 152.50 127.50 0.0282593 -172.50 152.50 132.50 0.00774663 -172.50 152.50 137.50 0.00789954 -172.50 152.50 142.50 0.0191531 -172.50 152.50 147.50 0.0522475 -172.50 152.50 152.50 0.148019 -172.50 152.50 157.50 0.375538 -172.50 152.50 162.50 0.854601 -172.50 152.50 167.50 1.49025 -172.50 152.50 172.50 1.95496 -172.50 152.50 177.50 2.05967 -172.50 152.50 182.50 1.86337 -172.50 152.50 187.50 1.53807 -172.50 152.50 192.50 1.20728 -172.50 152.50 197.50 0.811061 -172.50 152.50 202.50 0.491082 -172.50 152.50 207.50 0.222834 -172.50 152.50 212.50 0.0934184 -172.50 152.50 217.50 0.0282593 -172.50 152.50 222.50 0.00774664 -172.50 152.50 227.50 0.00789954 -172.50 152.50 232.50 0.0191531 -172.50 152.50 237.50 0.0522475 -172.50 152.50 242.50 0.14802 -172.50 152.50 247.50 0.375538 -172.50 152.50 252.50 0.854601 -172.50 152.50 257.50 1.49025 -172.50 152.50 262.50 1.95496 -172.50 152.50 267.50 2.05966 -172.50 152.50 272.50 1.86337 -172.50 152.50 277.50 1.53807 -172.50 152.50 282.50 1.20728 -172.50 152.50 287.50 0.811061 -172.50 152.50 292.50 0.491082 -172.50 152.50 297.50 0.222834 -172.50 152.50 302.50 0.0934185 -172.50 152.50 307.50 0.0282593 -172.50 152.50 312.50 0.00774664 -172.50 152.50 317.50 0.00789954 -172.50 152.50 322.50 0.019153 -172.50 152.50 327.50 0.0522474 -172.50 152.50 332.50 0.148019 -172.50 152.50 337.50 0.375537 -172.50 152.50 342.50 0.8546 -172.50 152.50 347.50 1.49025 -172.50 152.50 352.50 1.95496 -172.50 152.50 357.50 2.05966 -172.50 157.50 2.50 1.60321 -172.50 157.50 7.50 1.19282 -172.50 157.50 12.50 0.836843 -172.50 157.50 17.50 0.524927 -172.50 157.50 22.50 0.301741 -172.50 157.50 27.50 0.156275 -172.50 157.50 32.50 0.0627272 -172.50 157.50 37.50 0.0319783 -172.50 157.50 42.50 0.0165516 -172.50 157.50 47.50 0.00983795 -172.50 157.50 52.50 0.0213612 -172.50 157.50 57.50 0.0533853 -172.50 157.50 62.50 0.156997 -172.50 157.50 67.50 0.445845 -172.50 157.50 72.50 0.938179 -172.50 157.50 77.50 1.50905 -172.50 157.50 82.50 1.86661 -172.50 157.50 87.50 1.87144 -172.50 157.50 92.50 1.60321 -172.50 157.50 97.50 1.19282 -172.50 157.50 102.50 0.836843 -172.50 157.50 107.50 0.524927 -172.50 157.50 112.50 0.301741 -172.50 157.50 117.50 0.156275 -172.50 157.50 122.50 0.0627271 -172.50 157.50 127.50 0.0319782 -172.50 157.50 132.50 0.0165516 -172.50 157.50 137.50 0.00983795 -172.50 157.50 142.50 0.0213612 -172.50 157.50 147.50 0.0533852 -172.50 157.50 152.50 0.156997 -172.50 157.50 157.50 0.445844 -172.50 157.50 162.50 0.938179 -172.50 157.50 167.50 1.50905 -172.50 157.50 172.50 1.86661 -172.50 157.50 177.50 1.87144 -172.50 157.50 182.50 1.60321 -172.50 157.50 187.50 1.19282 -172.50 157.50 192.50 0.836843 -172.50 157.50 197.50 0.524928 -172.50 157.50 202.50 0.30174 -172.50 157.50 207.50 0.156275 -172.50 157.50 212.50 0.0627272 -172.50 157.50 217.50 0.0319783 -172.50 157.50 222.50 0.0165516 -172.50 157.50 227.50 0.00983795 -172.50 157.50 232.50 0.0213613 -172.50 157.50 237.50 0.0533853 -172.50 157.50 242.50 0.156997 -172.50 157.50 247.50 0.445845 -172.50 157.50 252.50 0.938179 -172.50 157.50 257.50 1.50905 -172.50 157.50 262.50 1.86661 -172.50 157.50 267.50 1.87144 -172.50 157.50 272.50 1.60321 -172.50 157.50 277.50 1.19282 -172.50 157.50 282.50 0.836843 -172.50 157.50 287.50 0.524928 -172.50 157.50 292.50 0.301741 -172.50 157.50 297.50 0.156276 -172.50 157.50 302.50 0.0627273 -172.50 157.50 307.50 0.0319783 -172.50 157.50 312.50 0.0165517 -172.50 157.50 317.50 0.00983795 -172.50 157.50 322.50 0.0213612 -172.50 157.50 327.50 0.0533851 -172.50 157.50 332.50 0.156997 -172.50 157.50 337.50 0.445844 -172.50 157.50 342.50 0.938178 -172.50 157.50 347.50 1.50905 -172.50 157.50 352.50 1.86661 -172.50 157.50 357.50 1.87144 -172.50 162.50 2.50 1.3146 -172.50 162.50 7.50 0.890954 -172.50 162.50 12.50 0.553796 -172.50 162.50 17.50 0.348407 -172.50 162.50 22.50 0.19235 -172.50 162.50 27.50 0.106179 -172.50 162.50 32.50 0.0712791 -172.50 162.50 37.50 0.0595539 -172.50 162.50 42.50 0.0417087 -172.50 162.50 47.50 0.025159 -172.50 162.50 52.50 0.0219787 -172.50 162.50 57.50 0.0588251 -172.50 162.50 62.50 0.180599 -172.50 162.50 67.50 0.463089 -172.50 162.50 72.50 0.937677 -172.50 162.50 77.50 1.44195 -172.50 162.50 82.50 1.72547 -172.50 162.50 87.50 1.64327 -172.50 162.50 92.50 1.3146 -172.50 162.50 97.50 0.890954 -172.50 162.50 102.50 0.553796 -172.50 162.50 107.50 0.348407 -172.50 162.50 112.50 0.19235 -172.50 162.50 117.50 0.106179 -172.50 162.50 122.50 0.0712791 -172.50 162.50 127.50 0.0595539 -172.50 162.50 132.50 0.0417087 -172.50 162.50 137.50 0.025159 -172.50 162.50 142.50 0.0219787 -172.50 162.50 147.50 0.0588251 -172.50 162.50 152.50 0.180599 -172.50 162.50 157.50 0.463089 -172.50 162.50 162.50 0.937676 -172.50 162.50 167.50 1.44195 -172.50 162.50 172.50 1.72547 -172.50 162.50 177.50 1.64327 -172.50 162.50 182.50 1.3146 -172.50 162.50 187.50 0.890954 -172.50 162.50 192.50 0.553796 -172.50 162.50 197.50 0.348407 -172.50 162.50 202.50 0.19235 -172.50 162.50 207.50 0.106179 -172.50 162.50 212.50 0.0712791 -172.50 162.50 217.50 0.0595539 -172.50 162.50 222.50 0.0417087 -172.50 162.50 227.50 0.025159 -172.50 162.50 232.50 0.0219787 -172.50 162.50 237.50 0.0588252 -172.50 162.50 242.50 0.180599 -172.50 162.50 247.50 0.463089 -172.50 162.50 252.50 0.937676 -172.50 162.50 257.50 1.44195 -172.50 162.50 262.50 1.72547 -172.50 162.50 267.50 1.64327 -172.50 162.50 272.50 1.3146 -172.50 162.50 277.50 0.890954 -172.50 162.50 282.50 0.553796 -172.50 162.50 287.50 0.348407 -172.50 162.50 292.50 0.19235 -172.50 162.50 297.50 0.106179 -172.50 162.50 302.50 0.0712791 -172.50 162.50 307.50 0.0595539 -172.50 162.50 312.50 0.0417087 -172.50 162.50 317.50 0.025159 -172.50 162.50 322.50 0.0219787 -172.50 162.50 327.50 0.058825 -172.50 162.50 332.50 0.180599 -172.50 162.50 337.50 0.463088 -172.50 162.50 342.50 0.937674 -172.50 162.50 347.50 1.44195 -172.50 162.50 352.50 1.72547 -172.50 162.50 357.50 1.64328 -172.50 167.50 2.50 1.01248 -172.50 167.50 7.50 0.608535 -172.50 167.50 12.50 0.325954 -172.50 167.50 17.50 0.202944 -172.50 167.50 22.50 0.133183 -172.50 167.50 27.50 0.0895593 -172.50 167.50 32.50 0.0777873 -172.50 167.50 37.50 0.0912258 -172.50 167.50 42.50 0.0752199 -172.50 167.50 47.50 0.0423655 -172.50 167.50 52.50 0.0284921 -172.50 167.50 57.50 0.0549684 -172.50 167.50 62.50 0.155453 -172.50 167.50 67.50 0.397317 -172.50 167.50 72.50 0.808874 -172.50 167.50 77.50 1.28696 -172.50 167.50 82.50 1.54439 -172.50 167.50 87.50 1.39784 -172.50 167.50 92.50 1.01248 -172.50 167.50 97.50 0.608535 -172.50 167.50 102.50 0.325954 -172.50 167.50 107.50 0.202944 -172.50 167.50 112.50 0.133183 -172.50 167.50 117.50 0.0895592 -172.50 167.50 122.50 0.0777873 -172.50 167.50 127.50 0.0912259 -172.50 167.50 132.50 0.0752199 -172.50 167.50 137.50 0.0423654 -172.50 167.50 142.50 0.0284921 -172.50 167.50 147.50 0.0549684 -172.50 167.50 152.50 0.155453 -172.50 167.50 157.50 0.397316 -172.50 167.50 162.50 0.808873 -172.50 167.50 167.50 1.28696 -172.50 167.50 172.50 1.54438 -172.50 167.50 177.50 1.39784 -172.50 167.50 182.50 1.01248 -172.50 167.50 187.50 0.608534 -172.50 167.50 192.50 0.325954 -172.50 167.50 197.50 0.202944 -172.50 167.50 202.50 0.133183 -172.50 167.50 207.50 0.0895592 -172.50 167.50 212.50 0.0777873 -172.50 167.50 217.50 0.0912259 -172.50 167.50 222.50 0.0752199 -172.50 167.50 227.50 0.0423655 -172.50 167.50 232.50 0.0284921 -172.50 167.50 237.50 0.0549685 -172.50 167.50 242.50 0.155453 -172.50 167.50 247.50 0.397317 -172.50 167.50 252.50 0.808874 -172.50 167.50 257.50 1.28696 -172.50 167.50 262.50 1.54439 -172.50 167.50 267.50 1.39784 -172.50 167.50 272.50 1.01248 -172.50 167.50 277.50 0.608535 -172.50 167.50 282.50 0.325954 -172.50 167.50 287.50 0.202944 -172.50 167.50 292.50 0.133183 -172.50 167.50 297.50 0.0895593 -172.50 167.50 302.50 0.0777872 -172.50 167.50 307.50 0.0912258 -172.50 167.50 312.50 0.0752199 -172.50 167.50 317.50 0.0423655 -172.50 167.50 322.50 0.0284921 -172.50 167.50 327.50 0.0549683 -172.50 167.50 332.50 0.155452 -172.50 167.50 337.50 0.397316 -172.50 167.50 342.50 0.808872 -172.50 167.50 347.50 1.28696 -172.50 167.50 352.50 1.54438 -172.50 167.50 357.50 1.39784 -172.50 172.50 2.50 0.748316 -172.50 172.50 7.50 0.390836 -172.50 172.50 12.50 0.189551 -172.50 172.50 17.50 0.103142 -172.50 172.50 22.50 0.0810948 -172.50 172.50 27.50 0.0778744 -172.50 172.50 32.50 0.0872312 -172.50 172.50 37.50 0.0934662 -172.50 172.50 42.50 0.0764977 -172.50 172.50 47.50 0.04773 -172.50 172.50 52.50 0.0339705 -172.50 172.50 57.50 0.0559126 -172.50 172.50 62.50 0.128447 -172.50 172.50 67.50 0.295839 -172.50 172.50 72.50 0.629721 -172.50 172.50 77.50 1.07311 -172.50 172.50 82.50 1.31062 -172.50 172.50 87.50 1.1454 -172.50 172.50 92.50 0.748315 -172.50 172.50 97.50 0.390835 -172.50 172.50 102.50 0.189551 -172.50 172.50 107.50 0.103142 -172.50 172.50 112.50 0.0810948 -172.50 172.50 117.50 0.0778744 -172.50 172.50 122.50 0.0872312 -172.50 172.50 127.50 0.0934662 -172.50 172.50 132.50 0.0764977 -172.50 172.50 137.50 0.04773 -172.50 172.50 142.50 0.0339705 -172.50 172.50 147.50 0.0559126 -172.50 172.50 152.50 0.128447 -172.50 172.50 157.50 0.295839 -172.50 172.50 162.50 0.629721 -172.50 172.50 167.50 1.07311 -172.50 172.50 172.50 1.31062 -172.50 172.50 177.50 1.1454 -172.50 172.50 182.50 0.748315 -172.50 172.50 187.50 0.390835 -172.50 172.50 192.50 0.189551 -172.50 172.50 197.50 0.103142 -172.50 172.50 202.50 0.0810947 -172.50 172.50 207.50 0.0778744 -172.50 172.50 212.50 0.0872312 -172.50 172.50 217.50 0.0934662 -172.50 172.50 222.50 0.0764977 -172.50 172.50 227.50 0.0477299 -172.50 172.50 232.50 0.0339706 -172.50 172.50 237.50 0.0559127 -172.50 172.50 242.50 0.128448 -172.50 172.50 247.50 0.295839 -172.50 172.50 252.50 0.629722 -172.50 172.50 257.50 1.07311 -172.50 172.50 262.50 1.31062 -172.50 172.50 267.50 1.1454 -172.50 172.50 272.50 0.748315 -172.50 172.50 277.50 0.390836 -172.50 172.50 282.50 0.189551 -172.50 172.50 287.50 0.103142 -172.50 172.50 292.50 0.0810948 -172.50 172.50 297.50 0.0778744 -172.50 172.50 302.50 0.0872311 -172.50 172.50 307.50 0.0934662 -172.50 172.50 312.50 0.0764977 -172.50 172.50 317.50 0.04773 -172.50 172.50 322.50 0.0339705 -172.50 172.50 327.50 0.0559125 -172.50 172.50 332.50 0.128447 -172.50 172.50 337.50 0.295838 -172.50 172.50 342.50 0.629721 -172.50 172.50 347.50 1.07311 -172.50 172.50 352.50 1.31062 -172.50 172.50 357.50 1.1454 -172.50 177.50 2.50 0.512872 -172.50 177.50 7.50 0.23942 -172.50 177.50 12.50 0.104933 -172.50 177.50 17.50 0.0662052 -172.50 177.50 22.50 0.0623607 -172.50 177.50 27.50 0.0660297 -172.50 177.50 32.50 0.0683522 -172.50 177.50 37.50 0.0741997 -172.50 177.50 42.50 0.0710802 -172.50 177.50 47.50 0.0581633 -172.50 177.50 52.50 0.044284 -172.50 177.50 57.50 0.0444665 -172.50 177.50 62.50 0.0775082 -172.50 177.50 67.50 0.18991 -172.50 177.50 72.50 0.446618 -172.50 177.50 77.50 0.808349 -172.50 177.50 82.50 1.00664 -172.50 177.50 87.50 0.851276 -172.50 177.50 92.50 0.512872 -172.50 177.50 97.50 0.23942 -172.50 177.50 102.50 0.104932 -172.50 177.50 107.50 0.0662052 -172.50 177.50 112.50 0.0623607 -172.50 177.50 117.50 0.0660297 -172.50 177.50 122.50 0.0683521 -172.50 177.50 127.50 0.0741997 -172.50 177.50 132.50 0.0710802 -172.50 177.50 137.50 0.0581633 -172.50 177.50 142.50 0.044284 -172.50 177.50 147.50 0.0444665 -172.50 177.50 152.50 0.0775083 -172.50 177.50 157.50 0.18991 -172.50 177.50 162.50 0.446618 -172.50 177.50 167.50 0.808349 -172.50 177.50 172.50 1.00664 -172.50 177.50 177.50 0.851276 -172.50 177.50 182.50 0.512872 -172.50 177.50 187.50 0.23942 -172.50 177.50 192.50 0.104932 -172.50 177.50 197.50 0.0662052 -172.50 177.50 202.50 0.0623607 -172.50 177.50 207.50 0.0660297 -172.50 177.50 212.50 0.0683521 -172.50 177.50 217.50 0.0741997 -172.50 177.50 222.50 0.0710802 -172.50 177.50 227.50 0.0581633 -172.50 177.50 232.50 0.044284 -172.50 177.50 237.50 0.0444665 -172.50 177.50 242.50 0.0775084 -172.50 177.50 247.50 0.18991 -172.50 177.50 252.50 0.446619 -172.50 177.50 257.50 0.808349 -172.50 177.50 262.50 1.00664 -172.50 177.50 267.50 0.851275 -172.50 177.50 272.50 0.512871 -172.50 177.50 277.50 0.23942 -172.50 177.50 282.50 0.104933 -172.50 177.50 287.50 0.0662052 -172.50 177.50 292.50 0.0623607 -172.50 177.50 297.50 0.0660297 -172.50 177.50 302.50 0.0683521 -172.50 177.50 307.50 0.0741997 -172.50 177.50 312.50 0.0710802 -172.50 177.50 317.50 0.0581633 -172.50 177.50 322.50 0.044284 -172.50 177.50 327.50 0.0444665 -172.50 177.50 332.50 0.0775083 -172.50 177.50 337.50 0.189909 -172.50 177.50 342.50 0.446618 -172.50 177.50 347.50 0.808347 -172.50 177.50 352.50 1.00664 -172.50 177.50 357.50 0.851277 -177.50 2.50 2.50 0.773178 -177.50 2.50 7.50 0.980476 -177.50 2.50 12.50 0.773179 -177.50 2.50 17.50 0.393273 -177.50 2.50 22.50 0.149977 -177.50 2.50 27.50 0.0624686 -177.50 2.50 32.50 0.0485219 -177.50 2.50 37.50 0.0601603 -177.50 2.50 42.50 0.0760385 -177.50 2.50 47.50 0.083846 -177.50 2.50 52.50 0.084539 -177.50 2.50 57.50 0.083846 -177.50 2.50 62.50 0.0760385 -177.50 2.50 67.50 0.0601603 -177.50 2.50 72.50 0.048522 -177.50 2.50 77.50 0.0624686 -177.50 2.50 82.50 0.149977 -177.50 2.50 87.50 0.393272 -177.50 2.50 92.50 0.773178 -177.50 2.50 97.50 0.980476 -177.50 2.50 102.50 0.773178 -177.50 2.50 107.50 0.393273 -177.50 2.50 112.50 0.149977 -177.50 2.50 117.50 0.0624686 -177.50 2.50 122.50 0.0485219 -177.50 2.50 127.50 0.0601603 -177.50 2.50 132.50 0.0760385 -177.50 2.50 137.50 0.083846 -177.50 2.50 142.50 0.084539 -177.50 2.50 147.50 0.083846 -177.50 2.50 152.50 0.0760386 -177.50 2.50 157.50 0.0601603 -177.50 2.50 162.50 0.048522 -177.50 2.50 167.50 0.0624685 -177.50 2.50 172.50 0.149977 -177.50 2.50 177.50 0.393271 -177.50 2.50 182.50 0.773178 -177.50 2.50 187.50 0.980476 -177.50 2.50 192.50 0.773179 -177.50 2.50 197.50 0.393272 -177.50 2.50 202.50 0.149977 -177.50 2.50 207.50 0.0624686 -177.50 2.50 212.50 0.0485219 -177.50 2.50 217.50 0.0601603 -177.50 2.50 222.50 0.0760385 -177.50 2.50 227.50 0.083846 -177.50 2.50 232.50 0.084539 -177.50 2.50 237.50 0.083846 -177.50 2.50 242.50 0.0760385 -177.50 2.50 247.50 0.0601603 -177.50 2.50 252.50 0.0485219 -177.50 2.50 257.50 0.0624686 -177.50 2.50 262.50 0.149977 -177.50 2.50 267.50 0.393272 -177.50 2.50 272.50 0.773178 -177.50 2.50 277.50 0.980476 -177.50 2.50 282.50 0.773179 -177.50 2.50 287.50 0.393273 -177.50 2.50 292.50 0.149977 -177.50 2.50 297.50 0.0624686 -177.50 2.50 302.50 0.0485219 -177.50 2.50 307.50 0.0601603 -177.50 2.50 312.50 0.0760385 -177.50 2.50 317.50 0.083846 -177.50 2.50 322.50 0.084539 -177.50 2.50 327.50 0.083846 -177.50 2.50 332.50 0.0760386 -177.50 2.50 337.50 0.0601604 -177.50 2.50 342.50 0.048522 -177.50 2.50 347.50 0.0624684 -177.50 2.50 352.50 0.149976 -177.50 2.50 357.50 0.393271 -177.50 7.50 2.50 0.987353 -177.50 7.50 7.50 1.11343 -177.50 7.50 12.50 0.846009 -177.50 7.50 17.50 0.4489 -177.50 7.50 22.50 0.184364 -177.50 7.50 27.50 0.0759276 -177.50 7.50 32.50 0.0436248 -177.50 7.50 37.50 0.0448351 -177.50 7.50 42.50 0.0576317 -177.50 7.50 47.50 0.0700448 -177.50 7.50 52.50 0.0739503 -177.50 7.50 57.50 0.0686384 -177.50 7.50 62.50 0.0573382 -177.50 7.50 67.50 0.0533238 -177.50 7.50 72.50 0.0569323 -177.50 7.50 77.50 0.0924005 -177.50 7.50 82.50 0.235544 -177.50 7.50 87.50 0.578476 -177.50 7.50 92.50 0.987354 -177.50 7.50 97.50 1.11343 -177.50 7.50 102.50 0.84601 -177.50 7.50 107.50 0.448901 -177.50 7.50 112.50 0.184364 -177.50 7.50 117.50 0.0759275 -177.50 7.50 122.50 0.0436248 -177.50 7.50 127.50 0.0448351 -177.50 7.50 132.50 0.0576317 -177.50 7.50 137.50 0.0700448 -177.50 7.50 142.50 0.0739502 -177.50 7.50 147.50 0.0686384 -177.50 7.50 152.50 0.0573383 -177.50 7.50 157.50 0.0533238 -177.50 7.50 162.50 0.0569323 -177.50 7.50 167.50 0.0924006 -177.50 7.50 172.50 0.235544 -177.50 7.50 177.50 0.578475 -177.50 7.50 182.50 0.987354 -177.50 7.50 187.50 1.11343 -177.50 7.50 192.50 0.846009 -177.50 7.50 197.50 0.4489 -177.50 7.50 202.50 0.184364 -177.50 7.50 207.50 0.0759276 -177.50 7.50 212.50 0.0436248 -177.50 7.50 217.50 0.0448351 -177.50 7.50 222.50 0.0576317 -177.50 7.50 227.50 0.0700448 -177.50 7.50 232.50 0.0739503 -177.50 7.50 237.50 0.0686384 -177.50 7.50 242.50 0.0573382 -177.50 7.50 247.50 0.0533237 -177.50 7.50 252.50 0.0569323 -177.50 7.50 257.50 0.0924008 -177.50 7.50 262.50 0.235545 -177.50 7.50 267.50 0.578475 -177.50 7.50 272.50 0.987352 -177.50 7.50 277.50 1.11342 -177.50 7.50 282.50 0.846009 -177.50 7.50 287.50 0.448901 -177.50 7.50 292.50 0.184364 -177.50 7.50 297.50 0.0759277 -177.50 7.50 302.50 0.0436248 -177.50 7.50 307.50 0.044835 -177.50 7.50 312.50 0.0576317 -177.50 7.50 317.50 0.0700448 -177.50 7.50 322.50 0.0739503 -177.50 7.50 327.50 0.0686384 -177.50 7.50 332.50 0.0573383 -177.50 7.50 337.50 0.0533238 -177.50 7.50 342.50 0.0569322 -177.50 7.50 347.50 0.0924005 -177.50 7.50 352.50 0.235544 -177.50 7.50 357.50 0.578475 -177.50 12.50 2.50 1.3016 -177.50 12.50 7.50 1.44265 -177.50 12.50 12.50 1.12328 -177.50 12.50 17.50 0.6362 -177.50 12.50 22.50 0.290226 -177.50 12.50 27.50 0.127569 -177.50 12.50 32.50 0.0633138 -177.50 12.50 37.50 0.0428904 -177.50 12.50 42.50 0.0491793 -177.50 12.50 47.50 0.0719836 -177.50 12.50 52.50 0.0858504 -177.50 12.50 57.50 0.0789391 -177.50 12.50 62.50 0.0660808 -177.50 12.50 67.50 0.0667711 -177.50 12.50 72.50 0.0887193 -177.50 12.50 77.50 0.152794 -177.50 12.50 82.50 0.363567 -177.50 12.50 87.50 0.806012 -177.50 12.50 92.50 1.3016 -177.50 12.50 97.50 1.44265 -177.50 12.50 102.50 1.12328 -177.50 12.50 107.50 0.636201 -177.50 12.50 112.50 0.290226 -177.50 12.50 117.50 0.127569 -177.50 12.50 122.50 0.0633138 -177.50 12.50 127.50 0.0428904 -177.50 12.50 132.50 0.0491793 -177.50 12.50 137.50 0.0719836 -177.50 12.50 142.50 0.0858504 -177.50 12.50 147.50 0.0789391 -177.50 12.50 152.50 0.0660809 -177.50 12.50 157.50 0.0667711 -177.50 12.50 162.50 0.0887193 -177.50 12.50 167.50 0.152794 -177.50 12.50 172.50 0.363566 -177.50 12.50 177.50 0.806012 -177.50 12.50 182.50 1.3016 -177.50 12.50 187.50 1.44265 -177.50 12.50 192.50 1.12328 -177.50 12.50 197.50 0.636201 -177.50 12.50 202.50 0.290226 -177.50 12.50 207.50 0.127569 -177.50 12.50 212.50 0.0633138 -177.50 12.50 217.50 0.0428904 -177.50 12.50 222.50 0.0491793 -177.50 12.50 227.50 0.0719836 -177.50 12.50 232.50 0.0858504 -177.50 12.50 237.50 0.0789392 -177.50 12.50 242.50 0.0660808 -177.50 12.50 247.50 0.0667711 -177.50 12.50 252.50 0.0887193 -177.50 12.50 257.50 0.152794 -177.50 12.50 262.50 0.363568 -177.50 12.50 267.50 0.806013 -177.50 12.50 272.50 1.3016 -177.50 12.50 277.50 1.44265 -177.50 12.50 282.50 1.12328 -177.50 12.50 287.50 0.636201 -177.50 12.50 292.50 0.290226 -177.50 12.50 297.50 0.127569 -177.50 12.50 302.50 0.0633138 -177.50 12.50 307.50 0.0428904 -177.50 12.50 312.50 0.0491793 -177.50 12.50 317.50 0.0719836 -177.50 12.50 322.50 0.0858504 -177.50 12.50 327.50 0.0789392 -177.50 12.50 332.50 0.0660808 -177.50 12.50 337.50 0.066771 -177.50 12.50 342.50 0.0887192 -177.50 12.50 347.50 0.152794 -177.50 12.50 352.50 0.363566 -177.50 12.50 357.50 0.806011 -177.50 17.50 2.50 1.52023 -177.50 17.50 7.50 1.65379 -177.50 17.50 12.50 1.35189 -177.50 17.50 17.50 0.847716 -177.50 17.50 22.50 0.432081 -177.50 17.50 27.50 0.18591 -177.50 17.50 32.50 0.0659938 -177.50 17.50 37.50 0.0323908 -177.50 17.50 42.50 0.040952 -177.50 17.50 47.50 0.0691218 -177.50 17.50 52.50 0.0845745 -177.50 17.50 57.50 0.068673 -177.50 17.50 62.50 0.052468 -177.50 17.50 67.50 0.0857277 -177.50 17.50 72.50 0.15518 -177.50 17.50 77.50 0.276507 -177.50 17.50 82.50 0.531967 -177.50 17.50 87.50 1.02628 -177.50 17.50 92.50 1.52023 -177.50 17.50 97.50 1.65379 -177.50 17.50 102.50 1.3519 -177.50 17.50 107.50 0.847716 -177.50 17.50 112.50 0.432081 -177.50 17.50 117.50 0.18591 -177.50 17.50 122.50 0.0659938 -177.50 17.50 127.50 0.0323908 -177.50 17.50 132.50 0.040952 -177.50 17.50 137.50 0.0691217 -177.50 17.50 142.50 0.0845745 -177.50 17.50 147.50 0.068673 -177.50 17.50 152.50 0.052468 -177.50 17.50 157.50 0.0857276 -177.50 17.50 162.50 0.155179 -177.50 17.50 167.50 0.276506 -177.50 17.50 172.50 0.531968 -177.50 17.50 177.50 1.02628 -177.50 17.50 182.50 1.52023 -177.50 17.50 187.50 1.65379 -177.50 17.50 192.50 1.35189 -177.50 17.50 197.50 0.847715 -177.50 17.50 202.50 0.432081 -177.50 17.50 207.50 0.18591 -177.50 17.50 212.50 0.0659939 -177.50 17.50 217.50 0.0323908 -177.50 17.50 222.50 0.040952 -177.50 17.50 227.50 0.0691217 -177.50 17.50 232.50 0.0845744 -177.50 17.50 237.50 0.068673 -177.50 17.50 242.50 0.052468 -177.50 17.50 247.50 0.0857277 -177.50 17.50 252.50 0.15518 -177.50 17.50 257.50 0.276507 -177.50 17.50 262.50 0.531968 -177.50 17.50 267.50 1.02628 -177.50 17.50 272.50 1.52022 -177.50 17.50 277.50 1.65379 -177.50 17.50 282.50 1.3519 -177.50 17.50 287.50 0.847716 -177.50 17.50 292.50 0.432081 -177.50 17.50 297.50 0.18591 -177.50 17.50 302.50 0.065994 -177.50 17.50 307.50 0.0323908 -177.50 17.50 312.50 0.040952 -177.50 17.50 317.50 0.0691217 -177.50 17.50 322.50 0.0845744 -177.50 17.50 327.50 0.0686731 -177.50 17.50 332.50 0.052468 -177.50 17.50 337.50 0.0857276 -177.50 17.50 342.50 0.155179 -177.50 17.50 347.50 0.276506 -177.50 17.50 352.50 0.531967 -177.50 17.50 357.50 1.02627 -177.50 22.50 2.50 1.70709 -177.50 22.50 7.50 1.81865 -177.50 22.50 12.50 1.53789 -177.50 22.50 17.50 1.04041 -177.50 22.50 22.50 0.554598 -177.50 22.50 27.50 0.232619 -177.50 22.50 32.50 0.087212 -177.50 22.50 37.50 0.0373365 -177.50 22.50 42.50 0.0275172 -177.50 22.50 47.50 0.0402605 -177.50 22.50 52.50 0.0491587 -177.50 22.50 57.50 0.0511927 -177.50 22.50 62.50 0.063614 -177.50 22.50 67.50 0.111743 -177.50 22.50 72.50 0.220447 -177.50 22.50 77.50 0.430748 -177.50 22.50 82.50 0.75789 -177.50 22.50 87.50 1.26139 -177.50 22.50 92.50 1.70709 -177.50 22.50 97.50 1.81865 -177.50 22.50 102.50 1.53789 -177.50 22.50 107.50 1.04041 -177.50 22.50 112.50 0.554598 -177.50 22.50 117.50 0.232618 -177.50 22.50 122.50 0.087212 -177.50 22.50 127.50 0.0373365 -177.50 22.50 132.50 0.0275173 -177.50 22.50 137.50 0.0402605 -177.50 22.50 142.50 0.0491587 -177.50 22.50 147.50 0.0511927 -177.50 22.50 152.50 0.063614 -177.50 22.50 157.50 0.111743 -177.50 22.50 162.50 0.220447 -177.50 22.50 167.50 0.430747 -177.50 22.50 172.50 0.75789 -177.50 22.50 177.50 1.26139 -177.50 22.50 182.50 1.70709 -177.50 22.50 187.50 1.81865 -177.50 22.50 192.50 1.53789 -177.50 22.50 197.50 1.04041 -177.50 22.50 202.50 0.554598 -177.50 22.50 207.50 0.232618 -177.50 22.50 212.50 0.087212 -177.50 22.50 217.50 0.0373365 -177.50 22.50 222.50 0.0275172 -177.50 22.50 227.50 0.0402605 -177.50 22.50 232.50 0.0491587 -177.50 22.50 237.50 0.0511928 -177.50 22.50 242.50 0.0636141 -177.50 22.50 247.50 0.111743 -177.50 22.50 252.50 0.220447 -177.50 22.50 257.50 0.430748 -177.50 22.50 262.50 0.757891 -177.50 22.50 267.50 1.26139 -177.50 22.50 272.50 1.70709 -177.50 22.50 277.50 1.81865 -177.50 22.50 282.50 1.53789 -177.50 22.50 287.50 1.04041 -177.50 22.50 292.50 0.554598 -177.50 22.50 297.50 0.232619 -177.50 22.50 302.50 0.0872121 -177.50 22.50 307.50 0.0373365 -177.50 22.50 312.50 0.0275172 -177.50 22.50 317.50 0.0402605 -177.50 22.50 322.50 0.0491587 -177.50 22.50 327.50 0.0511928 -177.50 22.50 332.50 0.063614 -177.50 22.50 337.50 0.111743 -177.50 22.50 342.50 0.220446 -177.50 22.50 347.50 0.430747 -177.50 22.50 352.50 0.757889 -177.50 22.50 357.50 1.26139 -177.50 27.50 2.50 1.8763 -177.50 27.50 7.50 1.96189 -177.50 27.50 12.50 1.65688 -177.50 27.50 17.50 1.13362 -177.50 27.50 22.50 0.603202 -177.50 27.50 27.50 0.253091 -177.50 27.50 32.50 0.0856215 -177.50 27.50 37.50 0.0413406 -177.50 27.50 42.50 0.0206685 -177.50 27.50 47.50 0.0123819 -177.50 27.50 52.50 0.0208143 -177.50 27.50 57.50 0.0369662 -177.50 27.50 62.50 0.0718562 -177.50 27.50 67.50 0.165614 -177.50 27.50 72.50 0.316784 -177.50 27.50 77.50 0.578258 -177.50 27.50 82.50 0.979424 -177.50 27.50 87.50 1.47625 -177.50 27.50 92.50 1.8763 -177.50 27.50 97.50 1.96189 -177.50 27.50 102.50 1.65688 -177.50 27.50 107.50 1.13362 -177.50 27.50 112.50 0.603202 -177.50 27.50 117.50 0.253091 -177.50 27.50 122.50 0.0856214 -177.50 27.50 127.50 0.0413406 -177.50 27.50 132.50 0.0206685 -177.50 27.50 137.50 0.0123819 -177.50 27.50 142.50 0.0208143 -177.50 27.50 147.50 0.0369662 -177.50 27.50 152.50 0.0718561 -177.50 27.50 157.50 0.165614 -177.50 27.50 162.50 0.316784 -177.50 27.50 167.50 0.578258 -177.50 27.50 172.50 0.979423 -177.50 27.50 177.50 1.47625 -177.50 27.50 182.50 1.8763 -177.50 27.50 187.50 1.96189 -177.50 27.50 192.50 1.65688 -177.50 27.50 197.50 1.13362 -177.50 27.50 202.50 0.603202 -177.50 27.50 207.50 0.253091 -177.50 27.50 212.50 0.0856215 -177.50 27.50 217.50 0.0413407 -177.50 27.50 222.50 0.0206685 -177.50 27.50 227.50 0.0123819 -177.50 27.50 232.50 0.0208143 -177.50 27.50 237.50 0.0369662 -177.50 27.50 242.50 0.0718564 -177.50 27.50 247.50 0.165615 -177.50 27.50 252.50 0.316784 -177.50 27.50 257.50 0.578259 -177.50 27.50 262.50 0.979424 -177.50 27.50 267.50 1.47625 -177.50 27.50 272.50 1.8763 -177.50 27.50 277.50 1.96189 -177.50 27.50 282.50 1.65688 -177.50 27.50 287.50 1.13362 -177.50 27.50 292.50 0.603202 -177.50 27.50 297.50 0.253092 -177.50 27.50 302.50 0.0856216 -177.50 27.50 307.50 0.0413407 -177.50 27.50 312.50 0.0206685 -177.50 27.50 317.50 0.0123819 -177.50 27.50 322.50 0.0208142 -177.50 27.50 327.50 0.0369661 -177.50 27.50 332.50 0.0718561 -177.50 27.50 337.50 0.165614 -177.50 27.50 342.50 0.316783 -177.50 27.50 347.50 0.578258 -177.50 27.50 352.50 0.979423 -177.50 27.50 357.50 1.47625 -177.50 32.50 2.50 2.00435 -177.50 32.50 7.50 2.0532 -177.50 32.50 12.50 1.70348 -177.50 32.50 17.50 1.14777 -177.50 32.50 22.50 0.607181 -177.50 32.50 27.50 0.255734 -177.50 32.50 32.50 0.113931 -177.50 32.50 37.50 0.0492445 -177.50 32.50 42.50 0.017601 -177.50 32.50 47.50 0.00744773 -177.50 32.50 52.50 0.0109886 -177.50 32.50 57.50 0.0399338 -177.50 32.50 62.50 0.111608 -177.50 32.50 67.50 0.228221 -177.50 32.50 72.50 0.470081 -177.50 32.50 77.50 0.779558 -177.50 32.50 82.50 1.20743 -177.50 32.50 87.50 1.66184 -177.50 32.50 92.50 2.00435 -177.50 32.50 97.50 2.0532 -177.50 32.50 102.50 1.70348 -177.50 32.50 107.50 1.14777 -177.50 32.50 112.50 0.607181 -177.50 32.50 117.50 0.255734 -177.50 32.50 122.50 0.113931 -177.50 32.50 127.50 0.0492445 -177.50 32.50 132.50 0.017601 -177.50 32.50 137.50 0.00744773 -177.50 32.50 142.50 0.0109886 -177.50 32.50 147.50 0.0399339 -177.50 32.50 152.50 0.111608 -177.50 32.50 157.50 0.228221 -177.50 32.50 162.50 0.470081 -177.50 32.50 167.50 0.779558 -177.50 32.50 172.50 1.20743 -177.50 32.50 177.50 1.66184 -177.50 32.50 182.50 2.00435 -177.50 32.50 187.50 2.0532 -177.50 32.50 192.50 1.70347 -177.50 32.50 197.50 1.14777 -177.50 32.50 202.50 0.607181 -177.50 32.50 207.50 0.255734 -177.50 32.50 212.50 0.113931 -177.50 32.50 217.50 0.0492446 -177.50 32.50 222.50 0.017601 -177.50 32.50 227.50 0.00744774 -177.50 32.50 232.50 0.0109886 -177.50 32.50 237.50 0.0399339 -177.50 32.50 242.50 0.111608 -177.50 32.50 247.50 0.228221 -177.50 32.50 252.50 0.470082 -177.50 32.50 257.50 0.779559 -177.50 32.50 262.50 1.20743 -177.50 32.50 267.50 1.66184 -177.50 32.50 272.50 2.00435 -177.50 32.50 277.50 2.0532 -177.50 32.50 282.50 1.70348 -177.50 32.50 287.50 1.14777 -177.50 32.50 292.50 0.607181 -177.50 32.50 297.50 0.255734 -177.50 32.50 302.50 0.113932 -177.50 32.50 307.50 0.0492446 -177.50 32.50 312.50 0.0176011 -177.50 32.50 317.50 0.00744774 -177.50 32.50 322.50 0.0109886 -177.50 32.50 327.50 0.0399338 -177.50 32.50 332.50 0.111608 -177.50 32.50 337.50 0.228221 -177.50 32.50 342.50 0.47008 -177.50 32.50 347.50 0.779557 -177.50 32.50 352.50 1.20743 -177.50 32.50 357.50 1.66184 -177.50 37.50 2.50 2.14417 -177.50 37.50 7.50 2.13826 -177.50 37.50 12.50 1.76924 -177.50 37.50 17.50 1.21186 -177.50 37.50 22.50 0.667492 -177.50 37.50 27.50 0.316604 -177.50 37.50 32.50 0.148373 -177.50 37.50 37.50 0.0673647 -177.50 37.50 42.50 0.0264573 -177.50 37.50 47.50 0.0149224 -177.50 37.50 52.50 0.0241046 -177.50 37.50 57.50 0.0726451 -177.50 37.50 62.50 0.193987 -177.50 37.50 67.50 0.398187 -177.50 37.50 72.50 0.708159 -177.50 37.50 77.50 1.12216 -177.50 37.50 82.50 1.51705 -177.50 37.50 87.50 1.89225 -177.50 37.50 92.50 2.14417 -177.50 37.50 97.50 2.13826 -177.50 37.50 102.50 1.76924 -177.50 37.50 107.50 1.21186 -177.50 37.50 112.50 0.667493 -177.50 37.50 117.50 0.316604 -177.50 37.50 122.50 0.148373 -177.50 37.50 127.50 0.0673647 -177.50 37.50 132.50 0.0264573 -177.50 37.50 137.50 0.0149224 -177.50 37.50 142.50 0.0241046 -177.50 37.50 147.50 0.0726452 -177.50 37.50 152.50 0.193987 -177.50 37.50 157.50 0.398187 -177.50 37.50 162.50 0.708159 -177.50 37.50 167.50 1.12216 -177.50 37.50 172.50 1.51705 -177.50 37.50 177.50 1.89225 -177.50 37.50 182.50 2.14417 -177.50 37.50 187.50 2.13826 -177.50 37.50 192.50 1.76924 -177.50 37.50 197.50 1.21186 -177.50 37.50 202.50 0.667492 -177.50 37.50 207.50 0.316604 -177.50 37.50 212.50 0.148373 -177.50 37.50 217.50 0.0673647 -177.50 37.50 222.50 0.0264573 -177.50 37.50 227.50 0.0149224 -177.50 37.50 232.50 0.0241047 -177.50 37.50 237.50 0.0726453 -177.50 37.50 242.50 0.193987 -177.50 37.50 247.50 0.398188 -177.50 37.50 252.50 0.708159 -177.50 37.50 257.50 1.12216 -177.50 37.50 262.50 1.51705 -177.50 37.50 267.50 1.89225 -177.50 37.50 272.50 2.14417 -177.50 37.50 277.50 2.13826 -177.50 37.50 282.50 1.76924 -177.50 37.50 287.50 1.21186 -177.50 37.50 292.50 0.667493 -177.50 37.50 297.50 0.316605 -177.50 37.50 302.50 0.148373 -177.50 37.50 307.50 0.0673648 -177.50 37.50 312.50 0.0264573 -177.50 37.50 317.50 0.0149224 -177.50 37.50 322.50 0.0241046 -177.50 37.50 327.50 0.072645 -177.50 37.50 332.50 0.193987 -177.50 37.50 337.50 0.398187 -177.50 37.50 342.50 0.708159 -177.50 37.50 347.50 1.12215 -177.50 37.50 352.50 1.51705 -177.50 37.50 357.50 1.89225 -177.50 42.50 2.50 2.24978 -177.50 42.50 7.50 2.17122 -177.50 42.50 12.50 1.84277 -177.50 42.50 17.50 1.32884 -177.50 42.50 22.50 0.784166 -177.50 42.50 27.50 0.408708 -177.50 42.50 32.50 0.194671 -177.50 42.50 37.50 0.0951025 -177.50 42.50 42.50 0.0455314 -177.50 42.50 47.50 0.0366469 -177.50 42.50 52.50 0.0655167 -177.50 42.50 57.50 0.147592 -177.50 42.50 62.50 0.340672 -177.50 42.50 67.50 0.658198 -177.50 42.50 72.50 1.06461 -177.50 42.50 77.50 1.53548 -177.50 42.50 82.50 1.92216 -177.50 42.50 87.50 2.16403 -177.50 42.50 92.50 2.24978 -177.50 42.50 97.50 2.17122 -177.50 42.50 102.50 1.84277 -177.50 42.50 107.50 1.32884 -177.50 42.50 112.50 0.784166 -177.50 42.50 117.50 0.408708 -177.50 42.50 122.50 0.194671 -177.50 42.50 127.50 0.0951025 -177.50 42.50 132.50 0.0455314 -177.50 42.50 137.50 0.0366469 -177.50 42.50 142.50 0.0655166 -177.50 42.50 147.50 0.147592 -177.50 42.50 152.50 0.340672 -177.50 42.50 157.50 0.658198 -177.50 42.50 162.50 1.06461 -177.50 42.50 167.50 1.53548 -177.50 42.50 172.50 1.92215 -177.50 42.50 177.50 2.16403 -177.50 42.50 182.50 2.24978 -177.50 42.50 187.50 2.17122 -177.50 42.50 192.50 1.84277 -177.50 42.50 197.50 1.32884 -177.50 42.50 202.50 0.784166 -177.50 42.50 207.50 0.408708 -177.50 42.50 212.50 0.194671 -177.50 42.50 217.50 0.0951026 -177.50 42.50 222.50 0.0455315 -177.50 42.50 227.50 0.0366469 -177.50 42.50 232.50 0.0655169 -177.50 42.50 237.50 0.147592 -177.50 42.50 242.50 0.340672 -177.50 42.50 247.50 0.658199 -177.50 42.50 252.50 1.06461 -177.50 42.50 257.50 1.53548 -177.50 42.50 262.50 1.92215 -177.50 42.50 267.50 2.16403 -177.50 42.50 272.50 2.24978 -177.50 42.50 277.50 2.17122 -177.50 42.50 282.50 1.84277 -177.50 42.50 287.50 1.32884 -177.50 42.50 292.50 0.784166 -177.50 42.50 297.50 0.408708 -177.50 42.50 302.50 0.194671 -177.50 42.50 307.50 0.0951026 -177.50 42.50 312.50 0.0455315 -177.50 42.50 317.50 0.0366469 -177.50 42.50 322.50 0.0655166 -177.50 42.50 327.50 0.147592 -177.50 42.50 332.50 0.340671 -177.50 42.50 337.50 0.658197 -177.50 42.50 342.50 1.06461 -177.50 42.50 347.50 1.53547 -177.50 42.50 352.50 1.92216 -177.50 42.50 357.50 2.16403 -177.50 47.50 2.50 2.27582 -177.50 47.50 7.50 2.12179 -177.50 47.50 12.50 1.88999 -177.50 47.50 17.50 1.42774 -177.50 47.50 22.50 0.919116 -177.50 47.50 27.50 0.481646 -177.50 47.50 32.50 0.250432 -177.50 47.50 37.50 0.132148 -177.50 47.50 42.50 0.0619831 -177.50 47.50 47.50 0.0671405 -177.50 47.50 52.50 0.114065 -177.50 47.50 57.50 0.251364 -177.50 47.50 62.50 0.513584 -177.50 47.50 67.50 0.878411 -177.50 47.50 72.50 1.44285 -177.50 47.50 77.50 1.96925 -177.50 47.50 82.50 2.32043 -177.50 47.50 87.50 2.39142 -177.50 47.50 92.50 2.27582 -177.50 47.50 97.50 2.12179 -177.50 47.50 102.50 1.88999 -177.50 47.50 107.50 1.42774 -177.50 47.50 112.50 0.919116 -177.50 47.50 117.50 0.481646 -177.50 47.50 122.50 0.250432 -177.50 47.50 127.50 0.132148 -177.50 47.50 132.50 0.0619831 -177.50 47.50 137.50 0.0671405 -177.50 47.50 142.50 0.114065 -177.50 47.50 147.50 0.251364 -177.50 47.50 152.50 0.513583 -177.50 47.50 157.50 0.87841 -177.50 47.50 162.50 1.44285 -177.50 47.50 167.50 1.96925 -177.50 47.50 172.50 2.32043 -177.50 47.50 177.50 2.39142 -177.50 47.50 182.50 2.27582 -177.50 47.50 187.50 2.12179 -177.50 47.50 192.50 1.88999 -177.50 47.50 197.50 1.42774 -177.50 47.50 202.50 0.919116 -177.50 47.50 207.50 0.481647 -177.50 47.50 212.50 0.250432 -177.50 47.50 217.50 0.132148 -177.50 47.50 222.50 0.0619832 -177.50 47.50 227.50 0.0671406 -177.50 47.50 232.50 0.114066 -177.50 47.50 237.50 0.251364 -177.50 47.50 242.50 0.513584 -177.50 47.50 247.50 0.878412 -177.50 47.50 252.50 1.44286 -177.50 47.50 257.50 1.96926 -177.50 47.50 262.50 2.32043 -177.50 47.50 267.50 2.39142 -177.50 47.50 272.50 2.27582 -177.50 47.50 277.50 2.12179 -177.50 47.50 282.50 1.88999 -177.50 47.50 287.50 1.42774 -177.50 47.50 292.50 0.919115 -177.50 47.50 297.50 0.481647 -177.50 47.50 302.50 0.250432 -177.50 47.50 307.50 0.132148 -177.50 47.50 312.50 0.0619832 -177.50 47.50 317.50 0.0671405 -177.50 47.50 322.50 0.114065 -177.50 47.50 327.50 0.251363 -177.50 47.50 332.50 0.513583 -177.50 47.50 337.50 0.87841 -177.50 47.50 342.50 1.44285 -177.50 47.50 347.50 1.96925 -177.50 47.50 352.50 2.32043 -177.50 47.50 357.50 2.39142 -177.50 52.50 2.50 2.24978 -177.50 52.50 7.50 2.06631 -177.50 52.50 12.50 1.89379 -177.50 52.50 17.50 1.47984 -177.50 52.50 22.50 0.990687 -177.50 52.50 27.50 0.54844 -177.50 52.50 32.50 0.287931 -177.50 52.50 37.50 0.166204 -177.50 52.50 42.50 0.0740068 -177.50 52.50 47.50 0.0660524 -177.50 52.50 52.50 0.147045 -177.50 52.50 57.50 0.335582 -177.50 52.50 62.50 0.674265 -177.50 52.50 67.50 1.12989 -177.50 52.50 72.50 1.63717 -177.50 52.50 77.50 2.24595 -177.50 52.50 82.50 2.56976 -177.50 52.50 87.50 2.47069 -177.50 52.50 92.50 2.24978 -177.50 52.50 97.50 2.06631 -177.50 52.50 102.50 1.89379 -177.50 52.50 107.50 1.47984 -177.50 52.50 112.50 0.990688 -177.50 52.50 117.50 0.54844 -177.50 52.50 122.50 0.287931 -177.50 52.50 127.50 0.166204 -177.50 52.50 132.50 0.0740068 -177.50 52.50 137.50 0.0660525 -177.50 52.50 142.50 0.147045 -177.50 52.50 147.50 0.335582 -177.50 52.50 152.50 0.674264 -177.50 52.50 157.50 1.12989 -177.50 52.50 162.50 1.63717 -177.50 52.50 167.50 2.24595 -177.50 52.50 172.50 2.56976 -177.50 52.50 177.50 2.47068 -177.50 52.50 182.50 2.24978 -177.50 52.50 187.50 2.06631 -177.50 52.50 192.50 1.89379 -177.50 52.50 197.50 1.47984 -177.50 52.50 202.50 0.990687 -177.50 52.50 207.50 0.54844 -177.50 52.50 212.50 0.287931 -177.50 52.50 217.50 0.166204 -177.50 52.50 222.50 0.0740069 -177.50 52.50 227.50 0.0660524 -177.50 52.50 232.50 0.147045 -177.50 52.50 237.50 0.335583 -177.50 52.50 242.50 0.674265 -177.50 52.50 247.50 1.12989 -177.50 52.50 252.50 1.63717 -177.50 52.50 257.50 2.24595 -177.50 52.50 262.50 2.56976 -177.50 52.50 267.50 2.47069 -177.50 52.50 272.50 2.24978 -177.50 52.50 277.50 2.06631 -177.50 52.50 282.50 1.89379 -177.50 52.50 287.50 1.47984 -177.50 52.50 292.50 0.990688 -177.50 52.50 297.50 0.54844 -177.50 52.50 302.50 0.287931 -177.50 52.50 307.50 0.166204 -177.50 52.50 312.50 0.0740068 -177.50 52.50 317.50 0.0660524 -177.50 52.50 322.50 0.147045 -177.50 52.50 327.50 0.335582 -177.50 52.50 332.50 0.674264 -177.50 52.50 337.50 1.12989 -177.50 52.50 342.50 1.63717 -177.50 52.50 347.50 2.24595 -177.50 52.50 352.50 2.56976 -177.50 52.50 357.50 2.47069 -177.50 57.50 2.50 2.14417 -177.50 57.50 7.50 1.97246 -177.50 57.50 12.50 1.77356 -177.50 57.50 17.50 1.43781 -177.50 57.50 22.50 0.949073 -177.50 57.50 27.50 0.548291 -177.50 57.50 32.50 0.30684 -177.50 57.50 37.50 0.142681 -177.50 57.50 42.50 0.0592552 -177.50 57.50 47.50 0.0551716 -177.50 57.50 52.50 0.128234 -177.50 57.50 57.50 0.352811 -177.50 57.50 62.50 0.779028 -177.50 57.50 67.50 1.29211 -177.50 57.50 72.50 1.6837 -177.50 57.50 77.50 2.25069 -177.50 57.50 82.50 2.56933 -177.50 57.50 87.50 2.35162 -177.50 57.50 92.50 2.14417 -177.50 57.50 97.50 1.97246 -177.50 57.50 102.50 1.77356 -177.50 57.50 107.50 1.43781 -177.50 57.50 112.50 0.949073 -177.50 57.50 117.50 0.54829 -177.50 57.50 122.50 0.30684 -177.50 57.50 127.50 0.142681 -177.50 57.50 132.50 0.0592552 -177.50 57.50 137.50 0.0551716 -177.50 57.50 142.50 0.128234 -177.50 57.50 147.50 0.352811 -177.50 57.50 152.50 0.779028 -177.50 57.50 157.50 1.29211 -177.50 57.50 162.50 1.6837 -177.50 57.50 167.50 2.25069 -177.50 57.50 172.50 2.56933 -177.50 57.50 177.50 2.35162 -177.50 57.50 182.50 2.14417 -177.50 57.50 187.50 1.97246 -177.50 57.50 192.50 1.77356 -177.50 57.50 197.50 1.43781 -177.50 57.50 202.50 0.949072 -177.50 57.50 207.50 0.54829 -177.50 57.50 212.50 0.30684 -177.50 57.50 217.50 0.142681 -177.50 57.50 222.50 0.0592553 -177.50 57.50 227.50 0.0551716 -177.50 57.50 232.50 0.128234 -177.50 57.50 237.50 0.352812 -177.50 57.50 242.50 0.779029 -177.50 57.50 247.50 1.29211 -177.50 57.50 252.50 1.68371 -177.50 57.50 257.50 2.2507 -177.50 57.50 262.50 2.56933 -177.50 57.50 267.50 2.35162 -177.50 57.50 272.50 2.14417 -177.50 57.50 277.50 1.97246 -177.50 57.50 282.50 1.77356 -177.50 57.50 287.50 1.43781 -177.50 57.50 292.50 0.949073 -177.50 57.50 297.50 0.548291 -177.50 57.50 302.50 0.30684 -177.50 57.50 307.50 0.142681 -177.50 57.50 312.50 0.0592554 -177.50 57.50 317.50 0.0551716 -177.50 57.50 322.50 0.128234 -177.50 57.50 327.50 0.35281 -177.50 57.50 332.50 0.779027 -177.50 57.50 337.50 1.29211 -177.50 57.50 342.50 1.6837 -177.50 57.50 347.50 2.25069 -177.50 57.50 352.50 2.56933 -177.50 57.50 357.50 2.35162 -177.50 62.50 2.50 2.00435 -177.50 62.50 7.50 1.83272 -177.50 62.50 12.50 1.60129 -177.50 62.50 17.50 1.26763 -177.50 62.50 22.50 0.842803 -177.50 62.50 27.50 0.475305 -177.50 62.50 32.50 0.250863 -177.50 62.50 37.50 0.118409 -177.50 62.50 42.50 0.0409817 -177.50 62.50 47.50 0.0302474 -177.50 62.50 52.50 0.106678 -177.50 62.50 57.50 0.345127 -177.50 62.50 62.50 0.741932 -177.50 62.50 67.50 1.1961 -177.50 62.50 72.50 1.65406 -177.50 62.50 77.50 2.07465 -177.50 62.50 82.50 2.36556 -177.50 62.50 87.50 2.14313 -177.50 62.50 92.50 2.00435 -177.50 62.50 97.50 1.83272 -177.50 62.50 102.50 1.60129 -177.50 62.50 107.50 1.26763 -177.50 62.50 112.50 0.842803 -177.50 62.50 117.50 0.475305 -177.50 62.50 122.50 0.250863 -177.50 62.50 127.50 0.118409 -177.50 62.50 132.50 0.0409817 -177.50 62.50 137.50 0.0302475 -177.50 62.50 142.50 0.106678 -177.50 62.50 147.50 0.345127 -177.50 62.50 152.50 0.741931 -177.50 62.50 157.50 1.1961 -177.50 62.50 162.50 1.65406 -177.50 62.50 167.50 2.07465 -177.50 62.50 172.50 2.36556 -177.50 62.50 177.50 2.14313 -177.50 62.50 182.50 2.00435 -177.50 62.50 187.50 1.83272 -177.50 62.50 192.50 1.60129 -177.50 62.50 197.50 1.26763 -177.50 62.50 202.50 0.842803 -177.50 62.50 207.50 0.475305 -177.50 62.50 212.50 0.250863 -177.50 62.50 217.50 0.118409 -177.50 62.50 222.50 0.0409817 -177.50 62.50 227.50 0.0302474 -177.50 62.50 232.50 0.106679 -177.50 62.50 237.50 0.345127 -177.50 62.50 242.50 0.741933 -177.50 62.50 247.50 1.1961 -177.50 62.50 252.50 1.65406 -177.50 62.50 257.50 2.07465 -177.50 62.50 262.50 2.36556 -177.50 62.50 267.50 2.14313 -177.50 62.50 272.50 2.00435 -177.50 62.50 277.50 1.83272 -177.50 62.50 282.50 1.60129 -177.50 62.50 287.50 1.26763 -177.50 62.50 292.50 0.842803 -177.50 62.50 297.50 0.475306 -177.50 62.50 302.50 0.250863 -177.50 62.50 307.50 0.118409 -177.50 62.50 312.50 0.0409817 -177.50 62.50 317.50 0.0302474 -177.50 62.50 322.50 0.106678 -177.50 62.50 327.50 0.345126 -177.50 62.50 332.50 0.741931 -177.50 62.50 337.50 1.1961 -177.50 62.50 342.50 1.65406 -177.50 62.50 347.50 2.07465 -177.50 62.50 352.50 2.36556 -177.50 62.50 357.50 2.14313 -177.50 67.50 2.50 1.8763 -177.50 67.50 7.50 1.71558 -177.50 67.50 12.50 1.43712 -177.50 67.50 17.50 1.1422 -177.50 67.50 22.50 0.757155 -177.50 67.50 27.50 0.43243 -177.50 67.50 32.50 0.242332 -177.50 67.50 37.50 0.0978961 -177.50 67.50 42.50 0.0339808 -177.50 67.50 47.50 0.0340418 -177.50 67.50 52.50 0.103845 -177.50 67.50 57.50 0.276608 -177.50 67.50 62.50 0.624973 -177.50 67.50 67.50 1.10522 -177.50 67.50 72.50 1.55576 -177.50 67.50 77.50 1.94047 -177.50 67.50 82.50 2.10575 -177.50 67.50 87.50 1.93504 -177.50 67.50 92.50 1.8763 -177.50 67.50 97.50 1.71558 -177.50 67.50 102.50 1.43712 -177.50 67.50 107.50 1.1422 -177.50 67.50 112.50 0.757155 -177.50 67.50 117.50 0.43243 -177.50 67.50 122.50 0.242332 -177.50 67.50 127.50 0.097896 -177.50 67.50 132.50 0.0339808 -177.50 67.50 137.50 0.0340418 -177.50 67.50 142.50 0.103845 -177.50 67.50 147.50 0.276608 -177.50 67.50 152.50 0.624972 -177.50 67.50 157.50 1.10522 -177.50 67.50 162.50 1.55576 -177.50 67.50 167.50 1.94047 -177.50 67.50 172.50 2.10575 -177.50 67.50 177.50 1.93504 -177.50 67.50 182.50 1.8763 -177.50 67.50 187.50 1.71558 -177.50 67.50 192.50 1.43712 -177.50 67.50 197.50 1.1422 -177.50 67.50 202.50 0.757155 -177.50 67.50 207.50 0.43243 -177.50 67.50 212.50 0.242333 -177.50 67.50 217.50 0.0978962 -177.50 67.50 222.50 0.0339808 -177.50 67.50 227.50 0.0340418 -177.50 67.50 232.50 0.103845 -177.50 67.50 237.50 0.276609 -177.50 67.50 242.50 0.624974 -177.50 67.50 247.50 1.10522 -177.50 67.50 252.50 1.55576 -177.50 67.50 257.50 1.94047 -177.50 67.50 262.50 2.10575 -177.50 67.50 267.50 1.93504 -177.50 67.50 272.50 1.8763 -177.50 67.50 277.50 1.71558 -177.50 67.50 282.50 1.43712 -177.50 67.50 287.50 1.1422 -177.50 67.50 292.50 0.757155 -177.50 67.50 297.50 0.43243 -177.50 67.50 302.50 0.242333 -177.50 67.50 307.50 0.0978963 -177.50 67.50 312.50 0.0339808 -177.50 67.50 317.50 0.0340418 -177.50 67.50 322.50 0.103845 -177.50 67.50 327.50 0.276608 -177.50 67.50 332.50 0.624971 -177.50 67.50 337.50 1.10522 -177.50 67.50 342.50 1.55575 -177.50 67.50 347.50 1.94047 -177.50 67.50 352.50 2.10575 -177.50 67.50 357.50 1.93504 -177.50 72.50 2.50 1.70709 -177.50 72.50 7.50 1.55244 -177.50 72.50 12.50 1.32127 -177.50 72.50 17.50 1.03975 -177.50 72.50 22.50 0.741911 -177.50 72.50 27.50 0.511482 -177.50 72.50 32.50 0.262932 -177.50 72.50 37.50 0.101049 -177.50 72.50 42.50 0.0374786 -177.50 72.50 47.50 0.0294823 -177.50 72.50 52.50 0.0913853 -177.50 72.50 57.50 0.246594 -177.50 72.50 62.50 0.535856 -177.50 72.50 67.50 1.01541 -177.50 72.50 72.50 1.5268 -177.50 72.50 77.50 1.77444 -177.50 72.50 82.50 1.89483 -177.50 72.50 87.50 1.68933 -177.50 72.50 92.50 1.70709 -177.50 72.50 97.50 1.55244 -177.50 72.50 102.50 1.32127 -177.50 72.50 107.50 1.03975 -177.50 72.50 112.50 0.741911 -177.50 72.50 117.50 0.511482 -177.50 72.50 122.50 0.262932 -177.50 72.50 127.50 0.101049 -177.50 72.50 132.50 0.0374785 -177.50 72.50 137.50 0.0294823 -177.50 72.50 142.50 0.0913853 -177.50 72.50 147.50 0.246594 -177.50 72.50 152.50 0.535855 -177.50 72.50 157.50 1.01541 -177.50 72.50 162.50 1.5268 -177.50 72.50 167.50 1.77444 -177.50 72.50 172.50 1.89483 -177.50 72.50 177.50 1.68933 -177.50 72.50 182.50 1.70709 -177.50 72.50 187.50 1.55244 -177.50 72.50 192.50 1.32127 -177.50 72.50 197.50 1.03975 -177.50 72.50 202.50 0.741911 -177.50 72.50 207.50 0.511482 -177.50 72.50 212.50 0.262932 -177.50 72.50 217.50 0.101049 -177.50 72.50 222.50 0.0374786 -177.50 72.50 227.50 0.0294823 -177.50 72.50 232.50 0.0913856 -177.50 72.50 237.50 0.246594 -177.50 72.50 242.50 0.535856 -177.50 72.50 247.50 1.01542 -177.50 72.50 252.50 1.5268 -177.50 72.50 257.50 1.77444 -177.50 72.50 262.50 1.89483 -177.50 72.50 267.50 1.68933 -177.50 72.50 272.50 1.70709 -177.50 72.50 277.50 1.55244 -177.50 72.50 282.50 1.32127 -177.50 72.50 287.50 1.03975 -177.50 72.50 292.50 0.741911 -177.50 72.50 297.50 0.511483 -177.50 72.50 302.50 0.262932 -177.50 72.50 307.50 0.101049 -177.50 72.50 312.50 0.0374786 -177.50 72.50 317.50 0.0294823 -177.50 72.50 322.50 0.091385 -177.50 72.50 327.50 0.246594 -177.50 72.50 332.50 0.535855 -177.50 72.50 337.50 1.01541 -177.50 72.50 342.50 1.5268 -177.50 72.50 347.50 1.77444 -177.50 72.50 352.50 1.89483 -177.50 72.50 357.50 1.68933 -177.50 77.50 2.50 1.52023 -177.50 77.50 7.50 1.35001 -177.50 77.50 12.50 1.22163 -177.50 77.50 17.50 0.968556 -177.50 77.50 22.50 0.768697 -177.50 77.50 27.50 0.503485 -177.50 77.50 32.50 0.273979 -177.50 77.50 37.50 0.115708 -177.50 77.50 42.50 0.0330348 -177.50 77.50 47.50 0.0217757 -177.50 77.50 52.50 0.0682123 -177.50 77.50 57.50 0.215092 -177.50 77.50 62.50 0.480503 -177.50 77.50 67.50 0.854395 -177.50 77.50 72.50 1.28371 -177.50 77.50 77.50 1.56491 -177.50 77.50 82.50 1.567 -177.50 77.50 87.50 1.46943 -177.50 77.50 92.50 1.52023 -177.50 77.50 97.50 1.35001 -177.50 77.50 102.50 1.22163 -177.50 77.50 107.50 0.968556 -177.50 77.50 112.50 0.768697 -177.50 77.50 117.50 0.503484 -177.50 77.50 122.50 0.273979 -177.50 77.50 127.50 0.115708 -177.50 77.50 132.50 0.0330348 -177.50 77.50 137.50 0.0217757 -177.50 77.50 142.50 0.0682123 -177.50 77.50 147.50 0.215093 -177.50 77.50 152.50 0.480503 -177.50 77.50 157.50 0.854394 -177.50 77.50 162.50 1.28371 -177.50 77.50 167.50 1.56491 -177.50 77.50 172.50 1.567 -177.50 77.50 177.50 1.46943 -177.50 77.50 182.50 1.52023 -177.50 77.50 187.50 1.35001 -177.50 77.50 192.50 1.22163 -177.50 77.50 197.50 0.968555 -177.50 77.50 202.50 0.768697 -177.50 77.50 207.50 0.503485 -177.50 77.50 212.50 0.273979 -177.50 77.50 217.50 0.115708 -177.50 77.50 222.50 0.0330349 -177.50 77.50 227.50 0.0217757 -177.50 77.50 232.50 0.0682126 -177.50 77.50 237.50 0.215093 -177.50 77.50 242.50 0.480504 -177.50 77.50 247.50 0.854396 -177.50 77.50 252.50 1.28371 -177.50 77.50 257.50 1.56491 -177.50 77.50 262.50 1.567 -177.50 77.50 267.50 1.46943 -177.50 77.50 272.50 1.52023 -177.50 77.50 277.50 1.35001 -177.50 77.50 282.50 1.22163 -177.50 77.50 287.50 0.968556 -177.50 77.50 292.50 0.768697 -177.50 77.50 297.50 0.503485 -177.50 77.50 302.50 0.273979 -177.50 77.50 307.50 0.115708 -177.50 77.50 312.50 0.0330349 -177.50 77.50 317.50 0.0217757 -177.50 77.50 322.50 0.0682122 -177.50 77.50 327.50 0.215092 -177.50 77.50 332.50 0.480503 -177.50 77.50 337.50 0.854394 -177.50 77.50 342.50 1.28371 -177.50 77.50 347.50 1.56491 -177.50 77.50 352.50 1.567 -177.50 77.50 357.50 1.46943 -177.50 82.50 2.50 1.3016 -177.50 82.50 7.50 1.2126 -177.50 82.50 12.50 1.05056 -177.50 82.50 17.50 0.940553 -177.50 82.50 22.50 0.758267 -177.50 82.50 27.50 0.479394 -177.50 82.50 32.50 0.225721 -177.50 82.50 37.50 0.0814241 -177.50 82.50 42.50 0.026686 -177.50 82.50 47.50 0.0183859 -177.50 82.50 52.50 0.0486863 -177.50 82.50 57.50 0.139193 -177.50 82.50 62.50 0.328382 -177.50 82.50 67.50 0.621059 -177.50 82.50 72.50 1.00952 -177.50 82.50 77.50 1.27109 -177.50 82.50 82.50 1.25532 -177.50 82.50 87.50 1.24446 -177.50 82.50 92.50 1.3016 -177.50 82.50 97.50 1.21261 -177.50 82.50 102.50 1.05056 -177.50 82.50 107.50 0.940553 -177.50 82.50 112.50 0.758267 -177.50 82.50 117.50 0.479394 -177.50 82.50 122.50 0.225721 -177.50 82.50 127.50 0.081424 -177.50 82.50 132.50 0.0266859 -177.50 82.50 137.50 0.0183859 -177.50 82.50 142.50 0.0486863 -177.50 82.50 147.50 0.139193 -177.50 82.50 152.50 0.328381 -177.50 82.50 157.50 0.621058 -177.50 82.50 162.50 1.00952 -177.50 82.50 167.50 1.27109 -177.50 82.50 172.50 1.25532 -177.50 82.50 177.50 1.24447 -177.50 82.50 182.50 1.3016 -177.50 82.50 187.50 1.2126 -177.50 82.50 192.50 1.05056 -177.50 82.50 197.50 0.940553 -177.50 82.50 202.50 0.758268 -177.50 82.50 207.50 0.479395 -177.50 82.50 212.50 0.225721 -177.50 82.50 217.50 0.0814241 -177.50 82.50 222.50 0.026686 -177.50 82.50 227.50 0.0183859 -177.50 82.50 232.50 0.0486864 -177.50 82.50 237.50 0.139193 -177.50 82.50 242.50 0.328382 -177.50 82.50 247.50 0.621059 -177.50 82.50 252.50 1.00952 -177.50 82.50 257.50 1.27109 -177.50 82.50 262.50 1.25532 -177.50 82.50 267.50 1.24446 -177.50 82.50 272.50 1.3016 -177.50 82.50 277.50 1.2126 -177.50 82.50 282.50 1.05056 -177.50 82.50 287.50 0.940553 -177.50 82.50 292.50 0.758267 -177.50 82.50 297.50 0.479394 -177.50 82.50 302.50 0.225721 -177.50 82.50 307.50 0.0814242 -177.50 82.50 312.50 0.026686 -177.50 82.50 317.50 0.0183859 -177.50 82.50 322.50 0.0486861 -177.50 82.50 327.50 0.139193 -177.50 82.50 332.50 0.328381 -177.50 82.50 337.50 0.621057 -177.50 82.50 342.50 1.00952 -177.50 82.50 347.50 1.27109 -177.50 82.50 352.50 1.25532 -177.50 82.50 357.50 1.24446 -177.50 87.50 2.50 0.987354 -177.50 87.50 7.50 0.872518 -177.50 87.50 12.50 0.905238 -177.50 87.50 17.50 0.804857 -177.50 87.50 22.50 0.581436 -177.50 87.50 27.50 0.366826 -177.50 87.50 32.50 0.195041 -177.50 87.50 37.50 0.0938746 -177.50 87.50 42.50 0.0429038 -177.50 87.50 47.50 0.0282038 -177.50 87.50 52.50 0.0519197 -177.50 87.50 57.50 0.111535 -177.50 87.50 62.50 0.220121 -177.50 87.50 67.50 0.419548 -177.50 87.50 72.50 0.677906 -177.50 87.50 77.50 0.85581 -177.50 87.50 82.50 0.932268 -177.50 87.50 87.50 0.876181 -177.50 87.50 92.50 0.987355 -177.50 87.50 97.50 0.872518 -177.50 87.50 102.50 0.905238 -177.50 87.50 107.50 0.804857 -177.50 87.50 112.50 0.581436 -177.50 87.50 117.50 0.366825 -177.50 87.50 122.50 0.195041 -177.50 87.50 127.50 0.0938745 -177.50 87.50 132.50 0.0429038 -177.50 87.50 137.50 0.0282038 -177.50 87.50 142.50 0.0519197 -177.50 87.50 147.50 0.111535 -177.50 87.50 152.50 0.22012 -177.50 87.50 157.50 0.419548 -177.50 87.50 162.50 0.677906 -177.50 87.50 167.50 0.85581 -177.50 87.50 172.50 0.932268 -177.50 87.50 177.50 0.876181 -177.50 87.50 182.50 0.987357 -177.50 87.50 187.50 0.872517 -177.50 87.50 192.50 0.905238 -177.50 87.50 197.50 0.804857 -177.50 87.50 202.50 0.581436 -177.50 87.50 207.50 0.366826 -177.50 87.50 212.50 0.195041 -177.50 87.50 217.50 0.0938746 -177.50 87.50 222.50 0.0429038 -177.50 87.50 227.50 0.0282038 -177.50 87.50 232.50 0.0519198 -177.50 87.50 237.50 0.111535 -177.50 87.50 242.50 0.220121 -177.50 87.50 247.50 0.419548 -177.50 87.50 252.50 0.677906 -177.50 87.50 257.50 0.85581 -177.50 87.50 262.50 0.932268 -177.50 87.50 267.50 0.87618 -177.50 87.50 272.50 0.987354 -177.50 87.50 277.50 0.872517 -177.50 87.50 282.50 0.905238 -177.50 87.50 287.50 0.804857 -177.50 87.50 292.50 0.581436 -177.50 87.50 297.50 0.366826 -177.50 87.50 302.50 0.195041 -177.50 87.50 307.50 0.0938747 -177.50 87.50 312.50 0.0429038 -177.50 87.50 317.50 0.0282038 -177.50 87.50 322.50 0.0519196 -177.50 87.50 327.50 0.111534 -177.50 87.50 332.50 0.22012 -177.50 87.50 337.50 0.419547 -177.50 87.50 342.50 0.677905 -177.50 87.50 347.50 0.85581 -177.50 87.50 352.50 0.932268 -177.50 87.50 357.50 0.87618 -177.50 92.50 2.50 0.773178 -177.50 92.50 7.50 0.675975 -177.50 92.50 12.50 0.67853 -177.50 92.50 17.50 0.62136 -177.50 92.50 22.50 0.48194 -177.50 92.50 27.50 0.315487 -177.50 92.50 32.50 0.199216 -177.50 92.50 37.50 0.129213 -177.50 92.50 42.50 0.0716309 -177.50 92.50 47.50 0.0446415 -177.50 92.50 52.50 0.071631 -177.50 92.50 57.50 0.129213 -177.50 92.50 62.50 0.199216 -177.50 92.50 67.50 0.315488 -177.50 92.50 72.50 0.48194 -177.50 92.50 77.50 0.62136 -177.50 92.50 82.50 0.67853 -177.50 92.50 87.50 0.675974 -177.50 92.50 92.50 0.773178 -177.50 92.50 97.50 0.675974 -177.50 92.50 102.50 0.67853 -177.50 92.50 107.50 0.62136 -177.50 92.50 112.50 0.48194 -177.50 92.50 117.50 0.315487 -177.50 92.50 122.50 0.199216 -177.50 92.50 127.50 0.129213 -177.50 92.50 132.50 0.0716309 -177.50 92.50 137.50 0.0446415 -177.50 92.50 142.50 0.0716309 -177.50 92.50 147.50 0.129213 -177.50 92.50 152.50 0.199216 -177.50 92.50 157.50 0.315487 -177.50 92.50 162.50 0.48194 -177.50 92.50 167.50 0.62136 -177.50 92.50 172.50 0.67853 -177.50 92.50 177.50 0.675974 -177.50 92.50 182.50 0.773178 -177.50 92.50 187.50 0.675974 -177.50 92.50 192.50 0.67853 -177.50 92.50 197.50 0.62136 -177.50 92.50 202.50 0.48194 -177.50 92.50 207.50 0.315487 -177.50 92.50 212.50 0.199216 -177.50 92.50 217.50 0.129213 -177.50 92.50 222.50 0.071631 -177.50 92.50 227.50 0.0446415 -177.50 92.50 232.50 0.0716311 -177.50 92.50 237.50 0.129213 -177.50 92.50 242.50 0.199216 -177.50 92.50 247.50 0.315487 -177.50 92.50 252.50 0.48194 -177.50 92.50 257.50 0.62136 -177.50 92.50 262.50 0.67853 -177.50 92.50 267.50 0.675974 -177.50 92.50 272.50 0.773178 -177.50 92.50 277.50 0.675974 -177.50 92.50 282.50 0.67853 -177.50 92.50 287.50 0.621359 -177.50 92.50 292.50 0.48194 -177.50 92.50 297.50 0.315487 -177.50 92.50 302.50 0.199216 -177.50 92.50 307.50 0.129213 -177.50 92.50 312.50 0.0716309 -177.50 92.50 317.50 0.0446415 -177.50 92.50 322.50 0.0716308 -177.50 92.50 327.50 0.129213 -177.50 92.50 332.50 0.199216 -177.50 92.50 337.50 0.315487 -177.50 92.50 342.50 0.481939 -177.50 92.50 347.50 0.62136 -177.50 92.50 352.50 0.67853 -177.50 92.50 357.50 0.675974 -177.50 97.50 2.50 0.987352 -177.50 97.50 7.50 0.876181 -177.50 97.50 12.50 0.932268 -177.50 97.50 17.50 0.855811 -177.50 97.50 22.50 0.677906 -177.50 97.50 27.50 0.419548 -177.50 97.50 32.50 0.22012 -177.50 97.50 37.50 0.111535 -177.50 97.50 42.50 0.0519198 -177.50 97.50 47.50 0.0282038 -177.50 97.50 52.50 0.0429038 -177.50 97.50 57.50 0.0938747 -177.50 97.50 62.50 0.195041 -177.50 97.50 67.50 0.366826 -177.50 97.50 72.50 0.581436 -177.50 97.50 77.50 0.804857 -177.50 97.50 82.50 0.905239 -177.50 97.50 87.50 0.872518 -177.50 97.50 92.50 0.987352 -177.50 97.50 97.50 0.87618 -177.50 97.50 102.50 0.932268 -177.50 97.50 107.50 0.85581 -177.50 97.50 112.50 0.677905 -177.50 97.50 117.50 0.419547 -177.50 97.50 122.50 0.22012 -177.50 97.50 127.50 0.111535 -177.50 97.50 132.50 0.0519197 -177.50 97.50 137.50 0.0282038 -177.50 97.50 142.50 0.0429038 -177.50 97.50 147.50 0.0938746 -177.50 97.50 152.50 0.195041 -177.50 97.50 157.50 0.366825 -177.50 97.50 162.50 0.581436 -177.50 97.50 167.50 0.804856 -177.50 97.50 172.50 0.905238 -177.50 97.50 177.50 0.872517 -177.50 97.50 182.50 0.987349 -177.50 97.50 187.50 0.87618 -177.50 97.50 192.50 0.932268 -177.50 97.50 197.50 0.855809 -177.50 97.50 202.50 0.677906 -177.50 97.50 207.50 0.419547 -177.50 97.50 212.50 0.22012 -177.50 97.50 217.50 0.111535 -177.50 97.50 222.50 0.0519198 -177.50 97.50 227.50 0.0282038 -177.50 97.50 232.50 0.0429039 -177.50 97.50 237.50 0.0938748 -177.50 97.50 242.50 0.195041 -177.50 97.50 247.50 0.366826 -177.50 97.50 252.50 0.581436 -177.50 97.50 257.50 0.804857 -177.50 97.50 262.50 0.905238 -177.50 97.50 267.50 0.872517 -177.50 97.50 272.50 0.987352 -177.50 97.50 277.50 0.876181 -177.50 97.50 282.50 0.932268 -177.50 97.50 287.50 0.85581 -177.50 97.50 292.50 0.677905 -177.50 97.50 297.50 0.419548 -177.50 97.50 302.50 0.220121 -177.50 97.50 307.50 0.111535 -177.50 97.50 312.50 0.0519198 -177.50 97.50 317.50 0.0282038 -177.50 97.50 322.50 0.0429037 -177.50 97.50 327.50 0.0938745 -177.50 97.50 332.50 0.195041 -177.50 97.50 337.50 0.366825 -177.50 97.50 342.50 0.581436 -177.50 97.50 347.50 0.804856 -177.50 97.50 352.50 0.905238 -177.50 97.50 357.50 0.872518 -177.50 102.50 2.50 1.3016 -177.50 102.50 7.50 1.24446 -177.50 102.50 12.50 1.25532 -177.50 102.50 17.50 1.27109 -177.50 102.50 22.50 1.00952 -177.50 102.50 27.50 0.621058 -177.50 102.50 32.50 0.328381 -177.50 102.50 37.50 0.139193 -177.50 102.50 42.50 0.0486863 -177.50 102.50 47.50 0.0183859 -177.50 102.50 52.50 0.026686 -177.50 102.50 57.50 0.0814242 -177.50 102.50 62.50 0.225722 -177.50 102.50 67.50 0.479395 -177.50 102.50 72.50 0.758268 -177.50 102.50 77.50 0.940553 -177.50 102.50 82.50 1.05056 -177.50 102.50 87.50 1.2126 -177.50 102.50 92.50 1.3016 -177.50 102.50 97.50 1.24446 -177.50 102.50 102.50 1.25532 -177.50 102.50 107.50 1.27109 -177.50 102.50 112.50 1.00952 -177.50 102.50 117.50 0.621058 -177.50 102.50 122.50 0.328381 -177.50 102.50 127.50 0.139193 -177.50 102.50 132.50 0.0486862 -177.50 102.50 137.50 0.0183859 -177.50 102.50 142.50 0.026686 -177.50 102.50 147.50 0.0814241 -177.50 102.50 152.50 0.225721 -177.50 102.50 157.50 0.479394 -177.50 102.50 162.50 0.758267 -177.50 102.50 167.50 0.940553 -177.50 102.50 172.50 1.05056 -177.50 102.50 177.50 1.21261 -177.50 102.50 182.50 1.3016 -177.50 102.50 187.50 1.24446 -177.50 102.50 192.50 1.25532 -177.50 102.50 197.50 1.27109 -177.50 102.50 202.50 1.00952 -177.50 102.50 207.50 0.621058 -177.50 102.50 212.50 0.328381 -177.50 102.50 217.50 0.139193 -177.50 102.50 222.50 0.0486863 -177.50 102.50 227.50 0.0183859 -177.50 102.50 232.50 0.026686 -177.50 102.50 237.50 0.0814243 -177.50 102.50 242.50 0.225722 -177.50 102.50 247.50 0.479395 -177.50 102.50 252.50 0.758267 -177.50 102.50 257.50 0.940552 -177.50 102.50 262.50 1.05056 -177.50 102.50 267.50 1.2126 -177.50 102.50 272.50 1.3016 -177.50 102.50 277.50 1.24446 -177.50 102.50 282.50 1.25532 -177.50 102.50 287.50 1.27109 -177.50 102.50 292.50 1.00952 -177.50 102.50 297.50 0.621058 -177.50 102.50 302.50 0.328382 -177.50 102.50 307.50 0.139193 -177.50 102.50 312.50 0.0486863 -177.50 102.50 317.50 0.0183859 -177.50 102.50 322.50 0.0266859 -177.50 102.50 327.50 0.0814239 -177.50 102.50 332.50 0.225721 -177.50 102.50 337.50 0.479394 -177.50 102.50 342.50 0.758266 -177.50 102.50 347.50 0.940553 -177.50 102.50 352.50 1.05056 -177.50 102.50 357.50 1.2126 -177.50 107.50 2.50 1.52022 -177.50 107.50 7.50 1.46943 -177.50 107.50 12.50 1.567 -177.50 107.50 17.50 1.56492 -177.50 107.50 22.50 1.28371 -177.50 107.50 27.50 0.854395 -177.50 107.50 32.50 0.480503 -177.50 107.50 37.50 0.215092 -177.50 107.50 42.50 0.0682123 -177.50 107.50 47.50 0.0217757 -177.50 107.50 52.50 0.0330349 -177.50 107.50 57.50 0.115708 -177.50 107.50 62.50 0.273979 -177.50 107.50 67.50 0.503485 -177.50 107.50 72.50 0.768698 -177.50 107.50 77.50 0.968556 -177.50 107.50 82.50 1.22163 -177.50 107.50 87.50 1.35001 -177.50 107.50 92.50 1.52022 -177.50 107.50 97.50 1.46943 -177.50 107.50 102.50 1.567 -177.50 107.50 107.50 1.56491 -177.50 107.50 112.50 1.28371 -177.50 107.50 117.50 0.854394 -177.50 107.50 122.50 0.480503 -177.50 107.50 127.50 0.215092 -177.50 107.50 132.50 0.0682122 -177.50 107.50 137.50 0.0217757 -177.50 107.50 142.50 0.0330348 -177.50 107.50 147.50 0.115708 -177.50 107.50 152.50 0.273979 -177.50 107.50 157.50 0.503485 -177.50 107.50 162.50 0.768697 -177.50 107.50 167.50 0.968555 -177.50 107.50 172.50 1.22163 -177.50 107.50 177.50 1.35001 -177.50 107.50 182.50 1.52022 -177.50 107.50 187.50 1.46943 -177.50 107.50 192.50 1.567 -177.50 107.50 197.50 1.56492 -177.50 107.50 202.50 1.28371 -177.50 107.50 207.50 0.854395 -177.50 107.50 212.50 0.480503 -177.50 107.50 217.50 0.215093 -177.50 107.50 222.50 0.0682123 -177.50 107.50 227.50 0.0217757 -177.50 107.50 232.50 0.033035 -177.50 107.50 237.50 0.115709 -177.50 107.50 242.50 0.273979 -177.50 107.50 247.50 0.503485 -177.50 107.50 252.50 0.768698 -177.50 107.50 257.50 0.968556 -177.50 107.50 262.50 1.22163 -177.50 107.50 267.50 1.35001 -177.50 107.50 272.50 1.52022 -177.50 107.50 277.50 1.46943 -177.50 107.50 282.50 1.567 -177.50 107.50 287.50 1.56492 -177.50 107.50 292.50 1.28371 -177.50 107.50 297.50 0.854395 -177.50 107.50 302.50 0.480503 -177.50 107.50 307.50 0.215093 -177.50 107.50 312.50 0.0682123 -177.50 107.50 317.50 0.0217757 -177.50 107.50 322.50 0.0330348 -177.50 107.50 327.50 0.115708 -177.50 107.50 332.50 0.273978 -177.50 107.50 337.50 0.503484 -177.50 107.50 342.50 0.768696 -177.50 107.50 347.50 0.968555 -177.50 107.50 352.50 1.22163 -177.50 107.50 357.50 1.35001 -177.50 112.50 2.50 1.70709 -177.50 112.50 7.50 1.68933 -177.50 112.50 12.50 1.89483 -177.50 112.50 17.50 1.77444 -177.50 112.50 22.50 1.5268 -177.50 112.50 27.50 1.01541 -177.50 112.50 32.50 0.535856 -177.50 112.50 37.50 0.246594 -177.50 112.50 42.50 0.0913852 -177.50 112.50 47.50 0.0294823 -177.50 112.50 52.50 0.0374786 -177.50 112.50 57.50 0.101049 -177.50 112.50 62.50 0.262932 -177.50 112.50 67.50 0.511483 -177.50 112.50 72.50 0.741912 -177.50 112.50 77.50 1.03975 -177.50 112.50 82.50 1.32127 -177.50 112.50 87.50 1.55244 -177.50 112.50 92.50 1.70709 -177.50 112.50 97.50 1.68933 -177.50 112.50 102.50 1.89483 -177.50 112.50 107.50 1.77444 -177.50 112.50 112.50 1.5268 -177.50 112.50 117.50 1.01541 -177.50 112.50 122.50 0.535855 -177.50 112.50 127.50 0.246594 -177.50 112.50 132.50 0.0913851 -177.50 112.50 137.50 0.0294823 -177.50 112.50 142.50 0.0374786 -177.50 112.50 147.50 0.101049 -177.50 112.50 152.50 0.262932 -177.50 112.50 157.50 0.511482 -177.50 112.50 162.50 0.741912 -177.50 112.50 167.50 1.03975 -177.50 112.50 172.50 1.32127 -177.50 112.50 177.50 1.55244 -177.50 112.50 182.50 1.70709 -177.50 112.50 187.50 1.68933 -177.50 112.50 192.50 1.89483 -177.50 112.50 197.50 1.77444 -177.50 112.50 202.50 1.5268 -177.50 112.50 207.50 1.01541 -177.50 112.50 212.50 0.535856 -177.50 112.50 217.50 0.246594 -177.50 112.50 222.50 0.0913853 -177.50 112.50 227.50 0.0294823 -177.50 112.50 232.50 0.0374787 -177.50 112.50 237.50 0.101049 -177.50 112.50 242.50 0.262932 -177.50 112.50 247.50 0.511483 -177.50 112.50 252.50 0.741911 -177.50 112.50 257.50 1.03975 -177.50 112.50 262.50 1.32127 -177.50 112.50 267.50 1.55244 -177.50 112.50 272.50 1.70709 -177.50 112.50 277.50 1.68933 -177.50 112.50 282.50 1.89483 -177.50 112.50 287.50 1.77444 -177.50 112.50 292.50 1.5268 -177.50 112.50 297.50 1.01541 -177.50 112.50 302.50 0.535856 -177.50 112.50 307.50 0.246594 -177.50 112.50 312.50 0.0913853 -177.50 112.50 317.50 0.0294823 -177.50 112.50 322.50 0.0374785 -177.50 112.50 327.50 0.101049 -177.50 112.50 332.50 0.262932 -177.50 112.50 337.50 0.511482 -177.50 112.50 342.50 0.741911 -177.50 112.50 347.50 1.03975 -177.50 112.50 352.50 1.32127 -177.50 112.50 357.50 1.55244 -177.50 117.50 2.50 1.8763 -177.50 117.50 7.50 1.93504 -177.50 117.50 12.50 2.10575 -177.50 117.50 17.50 1.94047 -177.50 117.50 22.50 1.55576 -177.50 117.50 27.50 1.10522 -177.50 117.50 32.50 0.624972 -177.50 117.50 37.50 0.276608 -177.50 117.50 42.50 0.103845 -177.50 117.50 47.50 0.0340418 -177.50 117.50 52.50 0.0339808 -177.50 117.50 57.50 0.0978964 -177.50 117.50 62.50 0.242333 -177.50 117.50 67.50 0.43243 -177.50 117.50 72.50 0.757156 -177.50 117.50 77.50 1.1422 -177.50 117.50 82.50 1.43712 -177.50 117.50 87.50 1.71558 -177.50 117.50 92.50 1.8763 -177.50 117.50 97.50 1.93504 -177.50 117.50 102.50 2.10575 -177.50 117.50 107.50 1.94047 -177.50 117.50 112.50 1.55576 -177.50 117.50 117.50 1.10522 -177.50 117.50 122.50 0.624971 -177.50 117.50 127.50 0.276608 -177.50 117.50 132.50 0.103845 -177.50 117.50 137.50 0.0340418 -177.50 117.50 142.50 0.0339808 -177.50 117.50 147.50 0.0978963 -177.50 117.50 152.50 0.242333 -177.50 117.50 157.50 0.43243 -177.50 117.50 162.50 0.757155 -177.50 117.50 167.50 1.1422 -177.50 117.50 172.50 1.43712 -177.50 117.50 177.50 1.71558 -177.50 117.50 182.50 1.8763 -177.50 117.50 187.50 1.93504 -177.50 117.50 192.50 2.10575 -177.50 117.50 197.50 1.94047 -177.50 117.50 202.50 1.55576 -177.50 117.50 207.50 1.10522 -177.50 117.50 212.50 0.624972 -177.50 117.50 217.50 0.276608 -177.50 117.50 222.50 0.103845 -177.50 117.50 227.50 0.0340418 -177.50 117.50 232.50 0.0339808 -177.50 117.50 237.50 0.0978965 -177.50 117.50 242.50 0.242333 -177.50 117.50 247.50 0.43243 -177.50 117.50 252.50 0.757156 -177.50 117.50 257.50 1.1422 -177.50 117.50 262.50 1.43712 -177.50 117.50 267.50 1.71558 -177.50 117.50 272.50 1.8763 -177.50 117.50 277.50 1.93504 -177.50 117.50 282.50 2.10575 -177.50 117.50 287.50 1.94047 -177.50 117.50 292.50 1.55576 -177.50 117.50 297.50 1.10522 -177.50 117.50 302.50 0.624973 -177.50 117.50 307.50 0.276609 -177.50 117.50 312.50 0.103845 -177.50 117.50 317.50 0.0340418 -177.50 117.50 322.50 0.0339808 -177.50 117.50 327.50 0.097896 -177.50 117.50 332.50 0.242332 -177.50 117.50 337.50 0.43243 -177.50 117.50 342.50 0.757154 -177.50 117.50 347.50 1.1422 -177.50 117.50 352.50 1.43712 -177.50 117.50 357.50 1.71558 -177.50 122.50 2.50 2.00435 -177.50 122.50 7.50 2.14313 -177.50 122.50 12.50 2.36556 -177.50 122.50 17.50 2.07465 -177.50 122.50 22.50 1.65406 -177.50 122.50 27.50 1.1961 -177.50 122.50 32.50 0.741931 -177.50 122.50 37.50 0.345127 -177.50 122.50 42.50 0.106678 -177.50 122.50 47.50 0.0302474 -177.50 122.50 52.50 0.0409817 -177.50 122.50 57.50 0.118409 -177.50 122.50 62.50 0.250863 -177.50 122.50 67.50 0.475306 -177.50 122.50 72.50 0.842804 -177.50 122.50 77.50 1.26763 -177.50 122.50 82.50 1.60129 -177.50 122.50 87.50 1.83272 -177.50 122.50 92.50 2.00435 -177.50 122.50 97.50 2.14313 -177.50 122.50 102.50 2.36556 -177.50 122.50 107.50 2.07465 -177.50 122.50 112.50 1.65406 -177.50 122.50 117.50 1.1961 -177.50 122.50 122.50 0.741931 -177.50 122.50 127.50 0.345126 -177.50 122.50 132.50 0.106678 -177.50 122.50 137.50 0.0302474 -177.50 122.50 142.50 0.0409817 -177.50 122.50 147.50 0.118409 -177.50 122.50 152.50 0.250863 -177.50 122.50 157.50 0.475305 -177.50 122.50 162.50 0.842803 -177.50 122.50 167.50 1.26763 -177.50 122.50 172.50 1.60129 -177.50 122.50 177.50 1.83272 -177.50 122.50 182.50 2.00435 -177.50 122.50 187.50 2.14313 -177.50 122.50 192.50 2.36556 -177.50 122.50 197.50 2.07465 -177.50 122.50 202.50 1.65406 -177.50 122.50 207.50 1.1961 -177.50 122.50 212.50 0.741931 -177.50 122.50 217.50 0.345127 -177.50 122.50 222.50 0.106678 -177.50 122.50 227.50 0.0302474 -177.50 122.50 232.50 0.0409817 -177.50 122.50 237.50 0.118409 -177.50 122.50 242.50 0.250863 -177.50 122.50 247.50 0.475306 -177.50 122.50 252.50 0.842803 -177.50 122.50 257.50 1.26763 -177.50 122.50 262.50 1.60129 -177.50 122.50 267.50 1.83272 -177.50 122.50 272.50 2.00435 -177.50 122.50 277.50 2.14313 -177.50 122.50 282.50 2.36556 -177.50 122.50 287.50 2.07465 -177.50 122.50 292.50 1.65406 -177.50 122.50 297.50 1.1961 -177.50 122.50 302.50 0.741932 -177.50 122.50 307.50 0.345127 -177.50 122.50 312.50 0.106678 -177.50 122.50 317.50 0.0302475 -177.50 122.50 322.50 0.0409817 -177.50 122.50 327.50 0.118409 -177.50 122.50 332.50 0.250862 -177.50 122.50 337.50 0.475305 -177.50 122.50 342.50 0.842802 -177.50 122.50 347.50 1.26763 -177.50 122.50 352.50 1.60129 -177.50 122.50 357.50 1.83272 -177.50 127.50 2.50 2.14417 -177.50 127.50 7.50 2.35162 -177.50 127.50 12.50 2.56933 -177.50 127.50 17.50 2.25069 -177.50 127.50 22.50 1.6837 -177.50 127.50 27.50 1.29211 -177.50 127.50 32.50 0.779028 -177.50 127.50 37.50 0.352811 -177.50 127.50 42.50 0.128234 -177.50 127.50 47.50 0.0551716 -177.50 127.50 52.50 0.0592554 -177.50 127.50 57.50 0.142681 -177.50 127.50 62.50 0.30684 -177.50 127.50 67.50 0.548291 -177.50 127.50 72.50 0.949073 -177.50 127.50 77.50 1.43781 -177.50 127.50 82.50 1.77356 -177.50 127.50 87.50 1.97246 -177.50 127.50 92.50 2.14417 -177.50 127.50 97.50 2.35162 -177.50 127.50 102.50 2.56933 -177.50 127.50 107.50 2.25069 -177.50 127.50 112.50 1.6837 -177.50 127.50 117.50 1.29211 -177.50 127.50 122.50 0.779028 -177.50 127.50 127.50 0.352811 -177.50 127.50 132.50 0.128234 -177.50 127.50 137.50 0.0551716 -177.50 127.50 142.50 0.0592554 -177.50 127.50 147.50 0.142681 -177.50 127.50 152.50 0.30684 -177.50 127.50 157.50 0.54829 -177.50 127.50 162.50 0.949073 -177.50 127.50 167.50 1.43781 -177.50 127.50 172.50 1.77356 -177.50 127.50 177.50 1.97246 -177.50 127.50 182.50 2.14417 -177.50 127.50 187.50 2.35162 -177.50 127.50 192.50 2.56933 -177.50 127.50 197.50 2.25069 -177.50 127.50 202.50 1.68371 -177.50 127.50 207.50 1.29211 -177.50 127.50 212.50 0.779027 -177.50 127.50 217.50 0.352811 -177.50 127.50 222.50 0.128234 -177.50 127.50 227.50 0.0551716 -177.50 127.50 232.50 0.0592554 -177.50 127.50 237.50 0.142681 -177.50 127.50 242.50 0.30684 -177.50 127.50 247.50 0.548291 -177.50 127.50 252.50 0.949075 -177.50 127.50 257.50 1.43781 -177.50 127.50 262.50 1.77356 -177.50 127.50 267.50 1.97246 -177.50 127.50 272.50 2.14417 -177.50 127.50 277.50 2.35162 -177.50 127.50 282.50 2.56933 -177.50 127.50 287.50 2.25069 -177.50 127.50 292.50 1.6837 -177.50 127.50 297.50 1.29211 -177.50 127.50 302.50 0.779028 -177.50 127.50 307.50 0.352811 -177.50 127.50 312.50 0.128234 -177.50 127.50 317.50 0.0551717 -177.50 127.50 322.50 0.0592552 -177.50 127.50 327.50 0.142681 -177.50 127.50 332.50 0.30684 -177.50 127.50 337.50 0.54829 -177.50 127.50 342.50 0.949072 -177.50 127.50 347.50 1.43781 -177.50 127.50 352.50 1.77356 -177.50 127.50 357.50 1.97246 -177.50 132.50 2.50 2.24978 -177.50 132.50 7.50 2.47068 -177.50 132.50 12.50 2.56976 -177.50 132.50 17.50 2.24595 -177.50 132.50 22.50 1.63717 -177.50 132.50 27.50 1.12989 -177.50 132.50 32.50 0.674264 -177.50 132.50 37.50 0.335582 -177.50 132.50 42.50 0.147045 -177.50 132.50 47.50 0.0660524 -177.50 132.50 52.50 0.0740068 -177.50 132.50 57.50 0.166204 -177.50 132.50 62.50 0.287931 -177.50 132.50 67.50 0.54844 -177.50 132.50 72.50 0.990688 -177.50 132.50 77.50 1.47984 -177.50 132.50 82.50 1.89379 -177.50 132.50 87.50 2.06631 -177.50 132.50 92.50 2.24978 -177.50 132.50 97.50 2.47068 -177.50 132.50 102.50 2.56976 -177.50 132.50 107.50 2.24595 -177.50 132.50 112.50 1.63717 -177.50 132.50 117.50 1.12989 -177.50 132.50 122.50 0.674264 -177.50 132.50 127.50 0.335582 -177.50 132.50 132.50 0.147045 -177.50 132.50 137.50 0.0660524 -177.50 132.50 142.50 0.0740068 -177.50 132.50 147.50 0.166204 -177.50 132.50 152.50 0.287931 -177.50 132.50 157.50 0.54844 -177.50 132.50 162.50 0.990687 -177.50 132.50 167.50 1.47984 -177.50 132.50 172.50 1.89379 -177.50 132.50 177.50 2.06631 -177.50 132.50 182.50 2.24978 -177.50 132.50 187.50 2.47068 -177.50 132.50 192.50 2.56976 -177.50 132.50 197.50 2.24595 -177.50 132.50 202.50 1.63717 -177.50 132.50 207.50 1.12989 -177.50 132.50 212.50 0.674263 -177.50 132.50 217.50 0.335582 -177.50 132.50 222.50 0.147045 -177.50 132.50 227.50 0.0660524 -177.50 132.50 232.50 0.0740069 -177.50 132.50 237.50 0.166204 -177.50 132.50 242.50 0.287931 -177.50 132.50 247.50 0.548441 -177.50 132.50 252.50 0.990689 -177.50 132.50 257.50 1.47984 -177.50 132.50 262.50 1.89379 -177.50 132.50 267.50 2.06631 -177.50 132.50 272.50 2.24978 -177.50 132.50 277.50 2.47068 -177.50 132.50 282.50 2.56976 -177.50 132.50 287.50 2.24595 -177.50 132.50 292.50 1.63717 -177.50 132.50 297.50 1.12989 -177.50 132.50 302.50 0.674264 -177.50 132.50 307.50 0.335582 -177.50 132.50 312.50 0.147045 -177.50 132.50 317.50 0.0660524 -177.50 132.50 322.50 0.0740068 -177.50 132.50 327.50 0.166204 -177.50 132.50 332.50 0.28793 -177.50 132.50 337.50 0.54844 -177.50 132.50 342.50 0.990686 -177.50 132.50 347.50 1.47984 -177.50 132.50 352.50 1.89379 -177.50 132.50 357.50 2.06631 -177.50 137.50 2.50 2.27582 -177.50 137.50 7.50 2.39142 -177.50 137.50 12.50 2.32043 -177.50 137.50 17.50 1.96925 -177.50 137.50 22.50 1.44285 -177.50 137.50 27.50 0.878411 -177.50 137.50 32.50 0.513583 -177.50 137.50 37.50 0.251363 -177.50 137.50 42.50 0.114065 -177.50 137.50 47.50 0.0671405 -177.50 137.50 52.50 0.0619832 -177.50 137.50 57.50 0.132148 -177.50 137.50 62.50 0.250433 -177.50 137.50 67.50 0.481647 -177.50 137.50 72.50 0.919116 -177.50 137.50 77.50 1.42774 -177.50 137.50 82.50 1.88998 -177.50 137.50 87.50 2.12179 -177.50 137.50 92.50 2.27582 -177.50 137.50 97.50 2.39142 -177.50 137.50 102.50 2.32043 -177.50 137.50 107.50 1.96925 -177.50 137.50 112.50 1.44285 -177.50 137.50 117.50 0.87841 -177.50 137.50 122.50 0.513583 -177.50 137.50 127.50 0.251363 -177.50 137.50 132.50 0.114065 -177.50 137.50 137.50 0.0671405 -177.50 137.50 142.50 0.0619832 -177.50 137.50 147.50 0.132148 -177.50 137.50 152.50 0.250432 -177.50 137.50 157.50 0.481646 -177.50 137.50 162.50 0.919116 -177.50 137.50 167.50 1.42774 -177.50 137.50 172.50 1.88999 -177.50 137.50 177.50 2.12179 -177.50 137.50 182.50 2.27582 -177.50 137.50 187.50 2.39142 -177.50 137.50 192.50 2.32043 -177.50 137.50 197.50 1.96925 -177.50 137.50 202.50 1.44285 -177.50 137.50 207.50 0.878411 -177.50 137.50 212.50 0.513583 -177.50 137.50 217.50 0.251363 -177.50 137.50 222.50 0.114065 -177.50 137.50 227.50 0.0671405 -177.50 137.50 232.50 0.0619833 -177.50 137.50 237.50 0.132148 -177.50 137.50 242.50 0.250432 -177.50 137.50 247.50 0.481647 -177.50 137.50 252.50 0.919116 -177.50 137.50 257.50 1.42774 -177.50 137.50 262.50 1.88999 -177.50 137.50 267.50 2.12179 -177.50 137.50 272.50 2.27582 -177.50 137.50 277.50 2.39142 -177.50 137.50 282.50 2.32043 -177.50 137.50 287.50 1.96925 -177.50 137.50 292.50 1.44285 -177.50 137.50 297.50 0.878411 -177.50 137.50 302.50 0.513583 -177.50 137.50 307.50 0.251364 -177.50 137.50 312.50 0.114065 -177.50 137.50 317.50 0.0671405 -177.50 137.50 322.50 0.0619831 -177.50 137.50 327.50 0.132148 -177.50 137.50 332.50 0.250432 -177.50 137.50 337.50 0.481646 -177.50 137.50 342.50 0.919115 -177.50 137.50 347.50 1.42774 -177.50 137.50 352.50 1.88998 -177.50 137.50 357.50 2.12178 -177.50 142.50 2.50 2.24978 -177.50 142.50 7.50 2.16403 -177.50 142.50 12.50 1.92216 -177.50 142.50 17.50 1.53548 -177.50 142.50 22.50 1.06461 -177.50 142.50 27.50 0.658198 -177.50 142.50 32.50 0.340672 -177.50 142.50 37.50 0.147592 -177.50 142.50 42.50 0.0655167 -177.50 142.50 47.50 0.0366469 -177.50 142.50 52.50 0.0455316 -177.50 142.50 57.50 0.0951027 -177.50 142.50 62.50 0.194671 -177.50 142.50 67.50 0.408709 -177.50 142.50 72.50 0.784167 -177.50 142.50 77.50 1.32884 -177.50 142.50 82.50 1.84277 -177.50 142.50 87.50 2.17122 -177.50 142.50 92.50 2.24978 -177.50 142.50 97.50 2.16403 -177.50 142.50 102.50 1.92216 -177.50 142.50 107.50 1.53548 -177.50 142.50 112.50 1.06461 -177.50 142.50 117.50 0.658197 -177.50 142.50 122.50 0.340672 -177.50 142.50 127.50 0.147592 -177.50 142.50 132.50 0.0655167 -177.50 142.50 137.50 0.0366469 -177.50 142.50 142.50 0.0455316 -177.50 142.50 147.50 0.0951027 -177.50 142.50 152.50 0.194671 -177.50 142.50 157.50 0.408709 -177.50 142.50 162.50 0.784166 -177.50 142.50 167.50 1.32884 -177.50 142.50 172.50 1.84277 -177.50 142.50 177.50 2.17122 -177.50 142.50 182.50 2.24978 -177.50 142.50 187.50 2.16403 -177.50 142.50 192.50 1.92216 -177.50 142.50 197.50 1.53548 -177.50 142.50 202.50 1.06461 -177.50 142.50 207.50 0.658198 -177.50 142.50 212.50 0.340672 -177.50 142.50 217.50 0.147592 -177.50 142.50 222.50 0.0655167 -177.50 142.50 227.50 0.036647 -177.50 142.50 232.50 0.0455316 -177.50 142.50 237.50 0.0951028 -177.50 142.50 242.50 0.194671 -177.50 142.50 247.50 0.408709 -177.50 142.50 252.50 0.784167 -177.50 142.50 257.50 1.32884 -177.50 142.50 262.50 1.84277 -177.50 142.50 267.50 2.17122 -177.50 142.50 272.50 2.24978 -177.50 142.50 277.50 2.16403 -177.50 142.50 282.50 1.92215 -177.50 142.50 287.50 1.53548 -177.50 142.50 292.50 1.06461 -177.50 142.50 297.50 0.658198 -177.50 142.50 302.50 0.340672 -177.50 142.50 307.50 0.147592 -177.50 142.50 312.50 0.0655168 -177.50 142.50 317.50 0.036647 -177.50 142.50 322.50 0.0455315 -177.50 142.50 327.50 0.0951025 -177.50 142.50 332.50 0.194671 -177.50 142.50 337.50 0.408708 -177.50 142.50 342.50 0.784165 -177.50 142.50 347.50 1.32884 -177.50 142.50 352.50 1.84277 -177.50 142.50 357.50 2.17122 -177.50 147.50 2.50 2.14417 -177.50 147.50 7.50 1.89225 -177.50 147.50 12.50 1.51705 -177.50 147.50 17.50 1.12216 -177.50 147.50 22.50 0.708159 -177.50 147.50 27.50 0.398187 -177.50 147.50 32.50 0.193987 -177.50 147.50 37.50 0.072645 -177.50 147.50 42.50 0.0241046 -177.50 147.50 47.50 0.0149224 -177.50 147.50 52.50 0.0264574 -177.50 147.50 57.50 0.0673648 -177.50 147.50 62.50 0.148373 -177.50 147.50 67.50 0.316605 -177.50 147.50 72.50 0.667493 -177.50 147.50 77.50 1.21186 -177.50 147.50 82.50 1.76924 -177.50 147.50 87.50 2.13826 -177.50 147.50 92.50 2.14417 -177.50 147.50 97.50 1.89225 -177.50 147.50 102.50 1.51705 -177.50 147.50 107.50 1.12216 -177.50 147.50 112.50 0.708159 -177.50 147.50 117.50 0.398187 -177.50 147.50 122.50 0.193987 -177.50 147.50 127.50 0.072645 -177.50 147.50 132.50 0.0241046 -177.50 147.50 137.50 0.0149224 -177.50 147.50 142.50 0.0264573 -177.50 147.50 147.50 0.0673648 -177.50 147.50 152.50 0.148373 -177.50 147.50 157.50 0.316604 -177.50 147.50 162.50 0.667492 -177.50 147.50 167.50 1.21186 -177.50 147.50 172.50 1.76924 -177.50 147.50 177.50 2.13826 -177.50 147.50 182.50 2.14417 -177.50 147.50 187.50 1.89225 -177.50 147.50 192.50 1.51705 -177.50 147.50 197.50 1.12216 -177.50 147.50 202.50 0.708159 -177.50 147.50 207.50 0.398187 -177.50 147.50 212.50 0.193987 -177.50 147.50 217.50 0.0726451 -177.50 147.50 222.50 0.0241046 -177.50 147.50 227.50 0.0149224 -177.50 147.50 232.50 0.0264574 -177.50 147.50 237.50 0.0673649 -177.50 147.50 242.50 0.148373 -177.50 147.50 247.50 0.316605 -177.50 147.50 252.50 0.667493 -177.50 147.50 257.50 1.21186 -177.50 147.50 262.50 1.76924 -177.50 147.50 267.50 2.13826 -177.50 147.50 272.50 2.14417 -177.50 147.50 277.50 1.89225 -177.50 147.50 282.50 1.51705 -177.50 147.50 287.50 1.12216 -177.50 147.50 292.50 0.708159 -177.50 147.50 297.50 0.398188 -177.50 147.50 302.50 0.193987 -177.50 147.50 307.50 0.0726452 -177.50 147.50 312.50 0.0241046 -177.50 147.50 317.50 0.0149224 -177.50 147.50 322.50 0.0264573 -177.50 147.50 327.50 0.0673647 -177.50 147.50 332.50 0.148372 -177.50 147.50 337.50 0.316604 -177.50 147.50 342.50 0.667492 -177.50 147.50 347.50 1.21186 -177.50 147.50 352.50 1.76924 -177.50 147.50 357.50 2.13826 -177.50 152.50 2.50 2.00435 -177.50 152.50 7.50 1.66184 -177.50 152.50 12.50 1.20743 -177.50 152.50 17.50 0.779558 -177.50 152.50 22.50 0.470081 -177.50 152.50 27.50 0.228221 -177.50 152.50 32.50 0.111608 -177.50 152.50 37.50 0.0399338 -177.50 152.50 42.50 0.0109886 -177.50 152.50 47.50 0.00744775 -177.50 152.50 52.50 0.0176011 -177.50 152.50 57.50 0.0492446 -177.50 152.50 62.50 0.113932 -177.50 152.50 67.50 0.255735 -177.50 152.50 72.50 0.607182 -177.50 152.50 77.50 1.14777 -177.50 152.50 82.50 1.70348 -177.50 152.50 87.50 2.0532 -177.50 152.50 92.50 2.00435 -177.50 152.50 97.50 1.66184 -177.50 152.50 102.50 1.20743 -177.50 152.50 107.50 0.779558 -177.50 152.50 112.50 0.470081 -177.50 152.50 117.50 0.228221 -177.50 152.50 122.50 0.111608 -177.50 152.50 127.50 0.0399338 -177.50 152.50 132.50 0.0109886 -177.50 152.50 137.50 0.00744774 -177.50 152.50 142.50 0.0176011 -177.50 152.50 147.50 0.0492446 -177.50 152.50 152.50 0.113932 -177.50 152.50 157.50 0.255735 -177.50 152.50 162.50 0.607181 -177.50 152.50 167.50 1.14777 -177.50 152.50 172.50 1.70348 -177.50 152.50 177.50 2.0532 -177.50 152.50 182.50 2.00435 -177.50 152.50 187.50 1.66184 -177.50 152.50 192.50 1.20743 -177.50 152.50 197.50 0.779558 -177.50 152.50 202.50 0.470081 -177.50 152.50 207.50 0.228221 -177.50 152.50 212.50 0.111608 -177.50 152.50 217.50 0.0399339 -177.50 152.50 222.50 0.0109886 -177.50 152.50 227.50 0.00744773 -177.50 152.50 232.50 0.0176011 -177.50 152.50 237.50 0.0492446 -177.50 152.50 242.50 0.113932 -177.50 152.50 247.50 0.255735 -177.50 152.50 252.50 0.607182 -177.50 152.50 257.50 1.14777 -177.50 152.50 262.50 1.70348 -177.50 152.50 267.50 2.0532 -177.50 152.50 272.50 2.00435 -177.50 152.50 277.50 1.66184 -177.50 152.50 282.50 1.20743 -177.50 152.50 287.50 0.779558 -177.50 152.50 292.50 0.470081 -177.50 152.50 297.50 0.228221 -177.50 152.50 302.50 0.111608 -177.50 152.50 307.50 0.0399339 -177.50 152.50 312.50 0.0109886 -177.50 152.50 317.50 0.00744773 -177.50 152.50 322.50 0.017601 -177.50 152.50 327.50 0.0492445 -177.50 152.50 332.50 0.113931 -177.50 152.50 337.50 0.255734 -177.50 152.50 342.50 0.60718 -177.50 152.50 347.50 1.14777 -177.50 152.50 352.50 1.70348 -177.50 152.50 357.50 2.0532 -177.50 157.50 2.50 1.8763 -177.50 157.50 7.50 1.47625 -177.50 157.50 12.50 0.979424 -177.50 157.50 17.50 0.578258 -177.50 157.50 22.50 0.316784 -177.50 157.50 27.50 0.165614 -177.50 157.50 32.50 0.0718561 -177.50 157.50 37.50 0.0369661 -177.50 157.50 42.50 0.0208142 -177.50 157.50 47.50 0.0123819 -177.50 157.50 52.50 0.0206685 -177.50 157.50 57.50 0.0413407 -177.50 157.50 62.50 0.0856217 -177.50 157.50 67.50 0.253092 -177.50 157.50 72.50 0.603202 -177.50 157.50 77.50 1.13362 -177.50 157.50 82.50 1.65688 -177.50 157.50 87.50 1.96189 -177.50 157.50 92.50 1.8763 -177.50 157.50 97.50 1.47625 -177.50 157.50 102.50 0.979424 -177.50 157.50 107.50 0.578258 -177.50 157.50 112.50 0.316784 -177.50 157.50 117.50 0.165614 -177.50 157.50 122.50 0.071856 -177.50 157.50 127.50 0.0369661 -177.50 157.50 132.50 0.0208142 -177.50 157.50 137.50 0.0123819 -177.50 157.50 142.50 0.0206685 -177.50 157.50 147.50 0.0413406 -177.50 157.50 152.50 0.0856216 -177.50 157.50 157.50 0.253091 -177.50 157.50 162.50 0.603201 -177.50 157.50 167.50 1.13362 -177.50 157.50 172.50 1.65688 -177.50 157.50 177.50 1.96189 -177.50 157.50 182.50 1.8763 -177.50 157.50 187.50 1.47625 -177.50 157.50 192.50 0.979424 -177.50 157.50 197.50 0.578258 -177.50 157.50 202.50 0.316784 -177.50 157.50 207.50 0.165614 -177.50 157.50 212.50 0.0718561 -177.50 157.50 217.50 0.0369661 -177.50 157.50 222.50 0.0208142 -177.50 157.50 227.50 0.0123819 -177.50 157.50 232.50 0.0206686 -177.50 157.50 237.50 0.0413407 -177.50 157.50 242.50 0.0856218 -177.50 157.50 247.50 0.253092 -177.50 157.50 252.50 0.603202 -177.50 157.50 257.50 1.13362 -177.50 157.50 262.50 1.65688 -177.50 157.50 267.50 1.96189 -177.50 157.50 272.50 1.8763 -177.50 157.50 277.50 1.47625 -177.50 157.50 282.50 0.979424 -177.50 157.50 287.50 0.578258 -177.50 157.50 292.50 0.316784 -177.50 157.50 297.50 0.165614 -177.50 157.50 302.50 0.0718562 -177.50 157.50 307.50 0.0369662 -177.50 157.50 312.50 0.0208142 -177.50 157.50 317.50 0.0123819 -177.50 157.50 322.50 0.0206685 -177.50 157.50 327.50 0.0413406 -177.50 157.50 332.50 0.0856214 -177.50 157.50 337.50 0.253091 -177.50 157.50 342.50 0.603201 -177.50 157.50 347.50 1.13362 -177.50 157.50 352.50 1.65688 -177.50 157.50 357.50 1.96189 -177.50 162.50 2.50 1.70709 -177.50 162.50 7.50 1.26139 -177.50 162.50 12.50 0.75789 -177.50 162.50 17.50 0.430747 -177.50 162.50 22.50 0.220447 -177.50 162.50 27.50 0.111743 -177.50 162.50 32.50 0.063614 -177.50 162.50 37.50 0.0511927 -177.50 162.50 42.50 0.0491587 -177.50 162.50 47.50 0.0402605 -177.50 162.50 52.50 0.0275172 -177.50 162.50 57.50 0.0373365 -177.50 162.50 62.50 0.0872123 -177.50 162.50 67.50 0.232619 -177.50 162.50 72.50 0.554598 -177.50 162.50 77.50 1.04041 -177.50 162.50 82.50 1.53789 -177.50 162.50 87.50 1.81865 -177.50 162.50 92.50 1.70709 -177.50 162.50 97.50 1.26139 -177.50 162.50 102.50 0.75789 -177.50 162.50 107.50 0.430747 -177.50 162.50 112.50 0.220447 -177.50 162.50 117.50 0.111743 -177.50 162.50 122.50 0.063614 -177.50 162.50 127.50 0.0511927 -177.50 162.50 132.50 0.0491587 -177.50 162.50 137.50 0.0402605 -177.50 162.50 142.50 0.0275172 -177.50 162.50 147.50 0.0373365 -177.50 162.50 152.50 0.0872122 -177.50 162.50 157.50 0.232619 -177.50 162.50 162.50 0.554598 -177.50 162.50 167.50 1.04041 -177.50 162.50 172.50 1.53789 -177.50 162.50 177.50 1.81865 -177.50 162.50 182.50 1.70709 -177.50 162.50 187.50 1.26139 -177.50 162.50 192.50 0.75789 -177.50 162.50 197.50 0.430747 -177.50 162.50 202.50 0.220447 -177.50 162.50 207.50 0.111743 -177.50 162.50 212.50 0.063614 -177.50 162.50 217.50 0.0511927 -177.50 162.50 222.50 0.0491587 -177.50 162.50 227.50 0.0402605 -177.50 162.50 232.50 0.0275172 -177.50 162.50 237.50 0.0373365 -177.50 162.50 242.50 0.0872123 -177.50 162.50 247.50 0.232619 -177.50 162.50 252.50 0.554598 -177.50 162.50 257.50 1.04041 -177.50 162.50 262.50 1.53789 -177.50 162.50 267.50 1.81865 -177.50 162.50 272.50 1.70709 -177.50 162.50 277.50 1.26139 -177.50 162.50 282.50 0.75789 -177.50 162.50 287.50 0.430748 -177.50 162.50 292.50 0.220447 -177.50 162.50 297.50 0.111743 -177.50 162.50 302.50 0.063614 -177.50 162.50 307.50 0.0511927 -177.50 162.50 312.50 0.0491587 -177.50 162.50 317.50 0.0402605 -177.50 162.50 322.50 0.0275172 -177.50 162.50 327.50 0.0373365 -177.50 162.50 332.50 0.087212 -177.50 162.50 337.50 0.232618 -177.50 162.50 342.50 0.554597 -177.50 162.50 347.50 1.04041 -177.50 162.50 352.50 1.53789 -177.50 162.50 357.50 1.81865 -177.50 167.50 2.50 1.52022 -177.50 167.50 7.50 1.02628 -177.50 167.50 12.50 0.531968 -177.50 167.50 17.50 0.276507 -177.50 167.50 22.50 0.155179 -177.50 167.50 27.50 0.0857277 -177.50 167.50 32.50 0.052468 -177.50 167.50 37.50 0.068673 -177.50 167.50 42.50 0.0845744 -177.50 167.50 47.50 0.0691217 -177.50 167.50 52.50 0.040952 -177.50 167.50 57.50 0.0323908 -177.50 167.50 62.50 0.0659941 -177.50 167.50 67.50 0.18591 -177.50 167.50 72.50 0.432082 -177.50 167.50 77.50 0.847716 -177.50 167.50 82.50 1.3519 -177.50 167.50 87.50 1.65379 -177.50 167.50 92.50 1.52022 -177.50 167.50 97.50 1.02628 -177.50 167.50 102.50 0.531968 -177.50 167.50 107.50 0.276507 -177.50 167.50 112.50 0.155179 -177.50 167.50 117.50 0.0857276 -177.50 167.50 122.50 0.052468 -177.50 167.50 127.50 0.068673 -177.50 167.50 132.50 0.0845745 -177.50 167.50 137.50 0.0691216 -177.50 167.50 142.50 0.040952 -177.50 167.50 147.50 0.0323908 -177.50 167.50 152.50 0.0659939 -177.50 167.50 157.50 0.18591 -177.50 167.50 162.50 0.432081 -177.50 167.50 167.50 0.847716 -177.50 167.50 172.50 1.3519 -177.50 167.50 177.50 1.65379 -177.50 167.50 182.50 1.52022 -177.50 167.50 187.50 1.02628 -177.50 167.50 192.50 0.531968 -177.50 167.50 197.50 0.276507 -177.50 167.50 202.50 0.15518 -177.50 167.50 207.50 0.0857276 -177.50 167.50 212.50 0.052468 -177.50 167.50 217.50 0.068673 -177.50 167.50 222.50 0.0845744 -177.50 167.50 227.50 0.0691217 -177.50 167.50 232.50 0.0409519 -177.50 167.50 237.50 0.0323908 -177.50 167.50 242.50 0.0659941 -177.50 167.50 247.50 0.18591 -177.50 167.50 252.50 0.432082 -177.50 167.50 257.50 0.847717 -177.50 167.50 262.50 1.3519 -177.50 167.50 267.50 1.65379 -177.50 167.50 272.50 1.52022 -177.50 167.50 277.50 1.02628 -177.50 167.50 282.50 0.531968 -177.50 167.50 287.50 0.276507 -177.50 167.50 292.50 0.15518 -177.50 167.50 297.50 0.0857277 -177.50 167.50 302.50 0.052468 -177.50 167.50 307.50 0.068673 -177.50 167.50 312.50 0.0845744 -177.50 167.50 317.50 0.0691217 -177.50 167.50 322.50 0.040952 -177.50 167.50 327.50 0.0323908 -177.50 167.50 332.50 0.0659938 -177.50 167.50 337.50 0.18591 -177.50 167.50 342.50 0.432081 -177.50 167.50 347.50 0.847715 -177.50 167.50 352.50 1.35189 -177.50 167.50 357.50 1.65379 -177.50 172.50 2.50 1.3016 -177.50 172.50 7.50 0.806012 -177.50 172.50 12.50 0.363567 -177.50 172.50 17.50 0.152794 -177.50 172.50 22.50 0.0887193 -177.50 172.50 27.50 0.0667711 -177.50 172.50 32.50 0.0660808 -177.50 172.50 37.50 0.0789392 -177.50 172.50 42.50 0.0858503 -177.50 172.50 47.50 0.0719836 -177.50 172.50 52.50 0.0491793 -177.50 172.50 57.50 0.0428905 -177.50 172.50 62.50 0.0633139 -177.50 172.50 67.50 0.127569 -177.50 172.50 72.50 0.290226 -177.50 172.50 77.50 0.636202 -177.50 172.50 82.50 1.12328 -177.50 172.50 87.50 1.44265 -177.50 172.50 92.50 1.3016 -177.50 172.50 97.50 0.806012 -177.50 172.50 102.50 0.363567 -177.50 172.50 107.50 0.152794 -177.50 172.50 112.50 0.0887194 -177.50 172.50 117.50 0.066771 -177.50 172.50 122.50 0.0660808 -177.50 172.50 127.50 0.0789391 -177.50 172.50 132.50 0.0858503 -177.50 172.50 137.50 0.0719836 -177.50 172.50 142.50 0.0491793 -177.50 172.50 147.50 0.0428904 -177.50 172.50 152.50 0.0633138 -177.50 172.50 157.50 0.127569 -177.50 172.50 162.50 0.290226 -177.50 172.50 167.50 0.636201 -177.50 172.50 172.50 1.12328 -177.50 172.50 177.50 1.44265 -177.50 172.50 182.50 1.3016 -177.50 172.50 187.50 0.806012 -177.50 172.50 192.50 0.363567 -177.50 172.50 197.50 0.152794 -177.50 172.50 202.50 0.0887193 -177.50 172.50 207.50 0.0667711 -177.50 172.50 212.50 0.0660808 -177.50 172.50 217.50 0.0789392 -177.50 172.50 222.50 0.0858503 -177.50 172.50 227.50 0.0719836 -177.50 172.50 232.50 0.0491793 -177.50 172.50 237.50 0.0428905 -177.50 172.50 242.50 0.0633139 -177.50 172.50 247.50 0.127569 -177.50 172.50 252.50 0.290226 -177.50 172.50 257.50 0.636202 -177.50 172.50 262.50 1.12328 -177.50 172.50 267.50 1.44265 -177.50 172.50 272.50 1.3016 -177.50 172.50 277.50 0.806012 -177.50 172.50 282.50 0.363567 -177.50 172.50 287.50 0.152794 -177.50 172.50 292.50 0.0887194 -177.50 172.50 297.50 0.0667711 -177.50 172.50 302.50 0.0660808 -177.50 172.50 307.50 0.0789392 -177.50 172.50 312.50 0.0858503 -177.50 172.50 317.50 0.0719836 -177.50 172.50 322.50 0.0491794 -177.50 172.50 327.50 0.0428904 -177.50 172.50 332.50 0.0633138 -177.50 172.50 337.50 0.127569 -177.50 172.50 342.50 0.290226 -177.50 172.50 347.50 0.6362 -177.50 172.50 352.50 1.12328 -177.50 172.50 357.50 1.44265 -177.50 177.50 2.50 0.987354 -177.50 177.50 7.50 0.578476 -177.50 177.50 12.50 0.235544 -177.50 177.50 17.50 0.0924006 -177.50 177.50 22.50 0.0569323 -177.50 177.50 27.50 0.0533237 -177.50 177.50 32.50 0.0573382 -177.50 177.50 37.50 0.0686385 -177.50 177.50 42.50 0.0739503 -177.50 177.50 47.50 0.0700448 -177.50 177.50 52.50 0.0576318 -177.50 177.50 57.50 0.0448351 -177.50 177.50 62.50 0.0436248 -177.50 177.50 67.50 0.0759277 -177.50 177.50 72.50 0.184365 -177.50 177.50 77.50 0.448902 -177.50 177.50 82.50 0.846011 -177.50 177.50 87.50 1.11343 -177.50 177.50 92.50 0.987354 -177.50 177.50 97.50 0.578475 -177.50 177.50 102.50 0.235544 -177.50 177.50 107.50 0.0924006 -177.50 177.50 112.50 0.0569323 -177.50 177.50 117.50 0.0533237 -177.50 177.50 122.50 0.0573382 -177.50 177.50 127.50 0.0686385 -177.50 177.50 132.50 0.0739503 -177.50 177.50 137.50 0.0700448 -177.50 177.50 142.50 0.0576318 -177.50 177.50 147.50 0.0448351 -177.50 177.50 152.50 0.0436248 -177.50 177.50 157.50 0.0759277 -177.50 177.50 162.50 0.184365 -177.50 177.50 167.50 0.448901 -177.50 177.50 172.50 0.84601 -177.50 177.50 177.50 1.11343 -177.50 177.50 182.50 0.987354 -177.50 177.50 187.50 0.578475 -177.50 177.50 192.50 0.235544 -177.50 177.50 197.50 0.0924006 -177.50 177.50 202.50 0.0569323 -177.50 177.50 207.50 0.0533237 -177.50 177.50 212.50 0.0573382 -177.50 177.50 217.50 0.0686385 -177.50 177.50 222.50 0.0739503 -177.50 177.50 227.50 0.0700448 -177.50 177.50 232.50 0.0576317 -177.50 177.50 237.50 0.0448351 -177.50 177.50 242.50 0.0436248 -177.50 177.50 247.50 0.0759278 -177.50 177.50 252.50 0.184365 -177.50 177.50 257.50 0.448901 -177.50 177.50 262.50 0.846009 -177.50 177.50 267.50 1.11342 -177.50 177.50 272.50 0.987352 -177.50 177.50 277.50 0.578477 -177.50 177.50 282.50 0.235545 -177.50 177.50 287.50 0.0924006 -177.50 177.50 292.50 0.0569323 -177.50 177.50 297.50 0.0533237 -177.50 177.50 302.50 0.0573382 -177.50 177.50 307.50 0.0686384 -177.50 177.50 312.50 0.0739503 -177.50 177.50 317.50 0.0700448 -177.50 177.50 322.50 0.0576318 -177.50 177.50 327.50 0.0448351 -177.50 177.50 332.50 0.0436248 -177.50 177.50 337.50 0.0759276 -177.50 177.50 342.50 0.184365 -177.50 177.50 347.50 0.4489 -177.50 177.50 352.50 0.84601 -177.50 177.50 357.50 1.11343 -182.50 2.50 2.50 0.980476 -182.50 2.50 7.50 0.773179 -182.50 2.50 12.50 0.393272 -182.50 2.50 17.50 0.149977 -182.50 2.50 22.50 0.0624685 -182.50 2.50 27.50 0.0485219 -182.50 2.50 32.50 0.0601603 -182.50 2.50 37.50 0.0760386 -182.50 2.50 42.50 0.083846 -182.50 2.50 47.50 0.084539 -182.50 2.50 52.50 0.083846 -182.50 2.50 57.50 0.0760385 -182.50 2.50 62.50 0.0601603 -182.50 2.50 67.50 0.0485219 -182.50 2.50 72.50 0.0624686 -182.50 2.50 77.50 0.149977 -182.50 2.50 82.50 0.393273 -182.50 2.50 87.50 0.773179 -182.50 2.50 92.50 0.980476 -182.50 2.50 97.50 0.773178 -182.50 2.50 102.50 0.393272 -182.50 2.50 107.50 0.149977 -182.50 2.50 112.50 0.0624685 -182.50 2.50 117.50 0.048522 -182.50 2.50 122.50 0.0601604 -182.50 2.50 127.50 0.0760386 -182.50 2.50 132.50 0.083846 -182.50 2.50 137.50 0.084539 -182.50 2.50 142.50 0.083846 -182.50 2.50 147.50 0.0760385 -182.50 2.50 152.50 0.0601603 -182.50 2.50 157.50 0.0485219 -182.50 2.50 162.50 0.0624686 -182.50 2.50 167.50 0.149977 -182.50 2.50 172.50 0.393273 -182.50 2.50 177.50 0.773178 -182.50 2.50 182.50 0.980476 -182.50 2.50 187.50 0.773178 -182.50 2.50 192.50 0.393272 -182.50 2.50 197.50 0.149977 -182.50 2.50 202.50 0.0624685 -182.50 2.50 207.50 0.0485219 -182.50 2.50 212.50 0.0601603 -182.50 2.50 217.50 0.0760386 -182.50 2.50 222.50 0.083846 -182.50 2.50 227.50 0.084539 -182.50 2.50 232.50 0.083846 -182.50 2.50 237.50 0.0760385 -182.50 2.50 242.50 0.0601603 -182.50 2.50 247.50 0.0485219 -182.50 2.50 252.50 0.0624687 -182.50 2.50 257.50 0.149977 -182.50 2.50 262.50 0.393273 -182.50 2.50 267.50 0.773179 -182.50 2.50 272.50 0.980476 -182.50 2.50 277.50 0.773178 -182.50 2.50 282.50 0.393272 -182.50 2.50 287.50 0.149977 -182.50 2.50 292.50 0.0624685 -182.50 2.50 297.50 0.0485219 -182.50 2.50 302.50 0.0601603 -182.50 2.50 307.50 0.0760385 -182.50 2.50 312.50 0.083846 -182.50 2.50 317.50 0.084539 -182.50 2.50 322.50 0.083846 -182.50 2.50 327.50 0.0760385 -182.50 2.50 332.50 0.0601603 -182.50 2.50 337.50 0.0485219 -182.50 2.50 342.50 0.0624686 -182.50 2.50 347.50 0.149977 -182.50 2.50 352.50 0.393272 -182.50 2.50 357.50 0.773178 -182.50 7.50 2.50 1.24804 -182.50 7.50 7.50 0.987007 -182.50 7.50 12.50 0.506917 -182.50 7.50 17.50 0.197142 -182.50 7.50 22.50 0.0804379 -182.50 7.50 27.50 0.0491677 -182.50 7.50 32.50 0.045313 -182.50 7.50 37.50 0.0573038 -182.50 7.50 42.50 0.0692314 -182.50 7.50 47.50 0.0738691 -182.50 7.50 52.50 0.0692314 -182.50 7.50 57.50 0.0573038 -182.50 7.50 62.50 0.045313 -182.50 7.50 67.50 0.0491677 -182.50 7.50 72.50 0.080438 -182.50 7.50 77.50 0.197143 -182.50 7.50 82.50 0.506917 -182.50 7.50 87.50 0.987006 -182.50 7.50 92.50 1.24804 -182.50 7.50 97.50 0.987008 -182.50 7.50 102.50 0.506917 -182.50 7.50 107.50 0.197142 -182.50 7.50 112.50 0.0804379 -182.50 7.50 117.50 0.0491677 -182.50 7.50 122.50 0.045313 -182.50 7.50 127.50 0.0573038 -182.50 7.50 132.50 0.0692314 -182.50 7.50 137.50 0.0738691 -182.50 7.50 142.50 0.0692314 -182.50 7.50 147.50 0.0573038 -182.50 7.50 152.50 0.045313 -182.50 7.50 157.50 0.0491677 -182.50 7.50 162.50 0.080438 -182.50 7.50 167.50 0.197143 -182.50 7.50 172.50 0.506917 -182.50 7.50 177.50 0.987007 -182.50 7.50 182.50 1.24804 -182.50 7.50 187.50 0.987007 -182.50 7.50 192.50 0.506916 -182.50 7.50 197.50 0.197142 -182.50 7.50 202.50 0.0804379 -182.50 7.50 207.50 0.0491677 -182.50 7.50 212.50 0.045313 -182.50 7.50 217.50 0.0573038 -182.50 7.50 222.50 0.0692314 -182.50 7.50 227.50 0.0738691 -182.50 7.50 232.50 0.0692314 -182.50 7.50 237.50 0.0573038 -182.50 7.50 242.50 0.0453129 -182.50 7.50 247.50 0.0491677 -182.50 7.50 252.50 0.0804381 -182.50 7.50 257.50 0.197144 -182.50 7.50 262.50 0.506919 -182.50 7.50 267.50 0.987009 -182.50 7.50 272.50 1.24804 -182.50 7.50 277.50 0.987005 -182.50 7.50 282.50 0.506917 -182.50 7.50 287.50 0.197142 -182.50 7.50 292.50 0.0804379 -182.50 7.50 297.50 0.0491677 -182.50 7.50 302.50 0.045313 -182.50 7.50 307.50 0.0573038 -182.50 7.50 312.50 0.0692314 -182.50 7.50 317.50 0.0738691 -182.50 7.50 322.50 0.0692315 -182.50 7.50 327.50 0.0573038 -182.50 7.50 332.50 0.045313 -182.50 7.50 337.50 0.0491677 -182.50 7.50 342.50 0.080438 -182.50 7.50 347.50 0.197143 -182.50 7.50 352.50 0.506917 -182.50 7.50 357.50 0.987006 -182.50 12.50 2.50 1.59627 -182.50 12.50 7.50 1.29228 -182.50 12.50 12.50 0.712488 -182.50 12.50 17.50 0.305995 -182.50 12.50 22.50 0.137473 -182.50 12.50 27.50 0.0745081 -182.50 12.50 32.50 0.0533662 -182.50 12.50 37.50 0.0564789 -182.50 12.50 42.50 0.0727374 -182.50 12.50 47.50 0.0833499 -182.50 12.50 52.50 0.0727373 -182.50 12.50 57.50 0.0564789 -182.50 12.50 62.50 0.0533662 -182.50 12.50 67.50 0.0745083 -182.50 12.50 72.50 0.137474 -182.50 12.50 77.50 0.305996 -182.50 12.50 82.50 0.712489 -182.50 12.50 87.50 1.29229 -182.50 12.50 92.50 1.59627 -182.50 12.50 97.50 1.29229 -182.50 12.50 102.50 0.712488 -182.50 12.50 107.50 0.305995 -182.50 12.50 112.50 0.137474 -182.50 12.50 117.50 0.0745081 -182.50 12.50 122.50 0.0533662 -182.50 12.50 127.50 0.0564789 -182.50 12.50 132.50 0.0727374 -182.50 12.50 137.50 0.0833499 -182.50 12.50 142.50 0.0727373 -182.50 12.50 147.50 0.0564789 -182.50 12.50 152.50 0.0533662 -182.50 12.50 157.50 0.0745082 -182.50 12.50 162.50 0.137474 -182.50 12.50 167.50 0.305996 -182.50 12.50 172.50 0.712489 -182.50 12.50 177.50 1.29229 -182.50 12.50 182.50 1.59627 -182.50 12.50 187.50 1.29229 -182.50 12.50 192.50 0.712487 -182.50 12.50 197.50 0.305995 -182.50 12.50 202.50 0.137473 -182.50 12.50 207.50 0.0745082 -182.50 12.50 212.50 0.0533663 -182.50 12.50 217.50 0.0564789 -182.50 12.50 222.50 0.0727374 -182.50 12.50 227.50 0.0833499 -182.50 12.50 232.50 0.0727373 -182.50 12.50 237.50 0.0564789 -182.50 12.50 242.50 0.0533663 -182.50 12.50 247.50 0.0745083 -182.50 12.50 252.50 0.137474 -182.50 12.50 257.50 0.305996 -182.50 12.50 262.50 0.71249 -182.50 12.50 267.50 1.29229 -182.50 12.50 272.50 1.59627 -182.50 12.50 277.50 1.29228 -182.50 12.50 282.50 0.712488 -182.50 12.50 287.50 0.305995 -182.50 12.50 292.50 0.137474 -182.50 12.50 297.50 0.0745082 -182.50 12.50 302.50 0.0533663 -182.50 12.50 307.50 0.0564789 -182.50 12.50 312.50 0.0727374 -182.50 12.50 317.50 0.0833499 -182.50 12.50 322.50 0.0727374 -182.50 12.50 327.50 0.0564789 -182.50 12.50 332.50 0.0533662 -182.50 12.50 337.50 0.0745081 -182.50 12.50 342.50 0.137474 -182.50 12.50 347.50 0.305995 -182.50 12.50 352.50 0.712488 -182.50 12.50 357.50 1.29229 -182.50 17.50 2.50 1.78132 -182.50 17.50 7.50 1.49961 -182.50 17.50 12.50 0.922101 -182.50 17.50 17.50 0.474879 -182.50 17.50 22.50 0.232682 -182.50 17.50 27.50 0.106683 -182.50 17.50 32.50 0.0442968 -182.50 17.50 37.50 0.0422444 -182.50 17.50 42.50 0.0669501 -182.50 17.50 47.50 0.0823488 -182.50 17.50 52.50 0.06695 -182.50 17.50 57.50 0.0422444 -182.50 17.50 62.50 0.0442969 -182.50 17.50 67.50 0.106683 -182.50 17.50 72.50 0.232683 -182.50 17.50 77.50 0.474879 -182.50 17.50 82.50 0.922102 -182.50 17.50 87.50 1.49961 -182.50 17.50 92.50 1.78132 -182.50 17.50 97.50 1.49961 -182.50 17.50 102.50 0.922101 -182.50 17.50 107.50 0.474878 -182.50 17.50 112.50 0.232682 -182.50 17.50 117.50 0.106683 -182.50 17.50 122.50 0.0442967 -182.50 17.50 127.50 0.0422445 -182.50 17.50 132.50 0.0669501 -182.50 17.50 137.50 0.0823488 -182.50 17.50 142.50 0.06695 -182.50 17.50 147.50 0.0422444 -182.50 17.50 152.50 0.0442968 -182.50 17.50 157.50 0.106683 -182.50 17.50 162.50 0.232683 -182.50 17.50 167.50 0.474879 -182.50 17.50 172.50 0.922101 -182.50 17.50 177.50 1.49961 -182.50 17.50 182.50 1.78132 -182.50 17.50 187.50 1.49961 -182.50 17.50 192.50 0.9221 -182.50 17.50 197.50 0.474878 -182.50 17.50 202.50 0.232682 -182.50 17.50 207.50 0.106683 -182.50 17.50 212.50 0.0442968 -182.50 17.50 217.50 0.0422445 -182.50 17.50 222.50 0.0669501 -182.50 17.50 227.50 0.0823487 -182.50 17.50 232.50 0.0669499 -182.50 17.50 237.50 0.0422443 -182.50 17.50 242.50 0.0442969 -182.50 17.50 247.50 0.106683 -182.50 17.50 252.50 0.232683 -182.50 17.50 257.50 0.474879 -182.50 17.50 262.50 0.922103 -182.50 17.50 267.50 1.49961 -182.50 17.50 272.50 1.78132 -182.50 17.50 277.50 1.49961 -182.50 17.50 282.50 0.922101 -182.50 17.50 287.50 0.474879 -182.50 17.50 292.50 0.232682 -182.50 17.50 297.50 0.106683 -182.50 17.50 302.50 0.0442969 -182.50 17.50 307.50 0.0422444 -182.50 17.50 312.50 0.0669501 -182.50 17.50 317.50 0.0823487 -182.50 17.50 322.50 0.0669501 -182.50 17.50 327.50 0.0422444 -182.50 17.50 332.50 0.0442968 -182.50 17.50 337.50 0.106683 -182.50 17.50 342.50 0.232682 -182.50 17.50 347.50 0.474879 -182.50 17.50 352.50 0.922101 -182.50 17.50 357.50 1.49961 -182.50 22.50 2.50 1.90406 -182.50 22.50 7.50 1.67252 -182.50 22.50 12.50 1.14035 -182.50 22.50 17.50 0.656469 -182.50 22.50 22.50 0.319308 -182.50 22.50 27.50 0.138134 -182.50 22.50 32.50 0.0639756 -182.50 22.50 37.50 0.0402311 -182.50 22.50 42.50 0.0410277 -182.50 22.50 47.50 0.0480176 -182.50 22.50 52.50 0.0410277 -182.50 22.50 57.50 0.0402311 -182.50 22.50 62.50 0.0639757 -182.50 22.50 67.50 0.138134 -182.50 22.50 72.50 0.319308 -182.50 22.50 77.50 0.65647 -182.50 22.50 82.50 1.14035 -182.50 22.50 87.50 1.67252 -182.50 22.50 92.50 1.90406 -182.50 22.50 97.50 1.67252 -182.50 22.50 102.50 1.14035 -182.50 22.50 107.50 0.656469 -182.50 22.50 112.50 0.319308 -182.50 22.50 117.50 0.138134 -182.50 22.50 122.50 0.0639756 -182.50 22.50 127.50 0.0402311 -182.50 22.50 132.50 0.0410277 -182.50 22.50 137.50 0.0480176 -182.50 22.50 142.50 0.0410277 -182.50 22.50 147.50 0.0402312 -182.50 22.50 152.50 0.0639756 -182.50 22.50 157.50 0.138134 -182.50 22.50 162.50 0.319308 -182.50 22.50 167.50 0.656469 -182.50 22.50 172.50 1.14035 -182.50 22.50 177.50 1.67252 -182.50 22.50 182.50 1.90406 -182.50 22.50 187.50 1.67252 -182.50 22.50 192.50 1.14035 -182.50 22.50 197.50 0.656468 -182.50 22.50 202.50 0.319308 -182.50 22.50 207.50 0.138134 -182.50 22.50 212.50 0.0639756 -182.50 22.50 217.50 0.0402312 -182.50 22.50 222.50 0.0410277 -182.50 22.50 227.50 0.0480175 -182.50 22.50 232.50 0.0410276 -182.50 22.50 237.50 0.0402312 -182.50 22.50 242.50 0.0639758 -182.50 22.50 247.50 0.138135 -182.50 22.50 252.50 0.319309 -182.50 22.50 257.50 0.656471 -182.50 22.50 262.50 1.14035 -182.50 22.50 267.50 1.67252 -182.50 22.50 272.50 1.90406 -182.50 22.50 277.50 1.67252 -182.50 22.50 282.50 1.14035 -182.50 22.50 287.50 0.656469 -182.50 22.50 292.50 0.319308 -182.50 22.50 297.50 0.138134 -182.50 22.50 302.50 0.0639757 -182.50 22.50 307.50 0.0402312 -182.50 22.50 312.50 0.0410277 -182.50 22.50 317.50 0.0480175 -182.50 22.50 322.50 0.0410277 -182.50 22.50 327.50 0.0402311 -182.50 22.50 332.50 0.0639756 -182.50 22.50 337.50 0.138134 -182.50 22.50 342.50 0.319308 -182.50 22.50 347.50 0.656469 -182.50 22.50 352.50 1.14035 -182.50 22.50 357.50 1.67252 -182.50 27.50 2.50 2.01833 -182.50 27.50 7.50 1.81567 -182.50 27.50 12.50 1.30406 -182.50 27.50 17.50 0.780018 -182.50 27.50 22.50 0.396484 -182.50 27.50 27.50 0.178891 -182.50 27.50 32.50 0.0744754 -182.50 27.50 37.50 0.040116 -182.50 27.50 42.50 0.0214562 -182.50 27.50 47.50 0.0140425 -182.50 27.50 52.50 0.0214562 -182.50 27.50 57.50 0.0401161 -182.50 27.50 62.50 0.0744755 -182.50 27.50 67.50 0.178892 -182.50 27.50 72.50 0.396484 -182.50 27.50 77.50 0.780019 -182.50 27.50 82.50 1.30406 -182.50 27.50 87.50 1.81567 -182.50 27.50 92.50 2.01833 -182.50 27.50 97.50 1.81567 -182.50 27.50 102.50 1.30406 -182.50 27.50 107.50 0.780018 -182.50 27.50 112.50 0.396484 -182.50 27.50 117.50 0.178891 -182.50 27.50 122.50 0.0744753 -182.50 27.50 127.50 0.040116 -182.50 27.50 132.50 0.0214562 -182.50 27.50 137.50 0.0140425 -182.50 27.50 142.50 0.0214562 -182.50 27.50 147.50 0.0401161 -182.50 27.50 152.50 0.0744754 -182.50 27.50 157.50 0.178891 -182.50 27.50 162.50 0.396484 -182.50 27.50 167.50 0.780018 -182.50 27.50 172.50 1.30406 -182.50 27.50 177.50 1.81566 -182.50 27.50 182.50 2.01833 -182.50 27.50 187.50 1.81567 -182.50 27.50 192.50 1.30406 -182.50 27.50 197.50 0.780018 -182.50 27.50 202.50 0.396484 -182.50 27.50 207.50 0.178891 -182.50 27.50 212.50 0.0744754 -182.50 27.50 217.50 0.0401161 -182.50 27.50 222.50 0.0214562 -182.50 27.50 227.50 0.0140425 -182.50 27.50 232.50 0.0214562 -182.50 27.50 237.50 0.0401161 -182.50 27.50 242.50 0.0744756 -182.50 27.50 247.50 0.178892 -182.50 27.50 252.50 0.396485 -182.50 27.50 257.50 0.78002 -182.50 27.50 262.50 1.30406 -182.50 27.50 267.50 1.81567 -182.50 27.50 272.50 2.01833 -182.50 27.50 277.50 1.81567 -182.50 27.50 282.50 1.30406 -182.50 27.50 287.50 0.780018 -182.50 27.50 292.50 0.396484 -182.50 27.50 297.50 0.178891 -182.50 27.50 302.50 0.0744754 -182.50 27.50 307.50 0.0401161 -182.50 27.50 312.50 0.0214562 -182.50 27.50 317.50 0.0140425 -182.50 27.50 322.50 0.0214562 -182.50 27.50 327.50 0.0401161 -182.50 27.50 332.50 0.0744753 -182.50 27.50 337.50 0.178891 -182.50 27.50 342.50 0.396484 -182.50 27.50 347.50 0.780017 -182.50 27.50 352.50 1.30406 -182.50 27.50 357.50 1.81567 -182.50 32.50 2.50 2.09376 -182.50 32.50 7.50 1.90025 -182.50 32.50 12.50 1.4145 -182.50 32.50 17.50 0.882763 -182.50 32.50 22.50 0.485034 -182.50 32.50 27.50 0.222739 -182.50 32.50 32.50 0.114577 -182.50 32.50 37.50 0.0480735 -182.50 32.50 42.50 0.0146966 -182.50 32.50 47.50 0.00726674 -182.50 32.50 52.50 0.0146966 -182.50 32.50 57.50 0.0480735 -182.50 32.50 62.50 0.114577 -182.50 32.50 67.50 0.222739 -182.50 32.50 72.50 0.485034 -182.50 32.50 77.50 0.882764 -182.50 32.50 82.50 1.4145 -182.50 32.50 87.50 1.90025 -182.50 32.50 92.50 2.09376 -182.50 32.50 97.50 1.90025 -182.50 32.50 102.50 1.4145 -182.50 32.50 107.50 0.882763 -182.50 32.50 112.50 0.485034 -182.50 32.50 117.50 0.222739 -182.50 32.50 122.50 0.114577 -182.50 32.50 127.50 0.0480734 -182.50 32.50 132.50 0.0146966 -182.50 32.50 137.50 0.00726674 -182.50 32.50 142.50 0.0146966 -182.50 32.50 147.50 0.0480735 -182.50 32.50 152.50 0.114577 -182.50 32.50 157.50 0.222739 -182.50 32.50 162.50 0.485034 -182.50 32.50 167.50 0.882763 -182.50 32.50 172.50 1.4145 -182.50 32.50 177.50 1.90025 -182.50 32.50 182.50 2.09376 -182.50 32.50 187.50 1.90025 -182.50 32.50 192.50 1.4145 -182.50 32.50 197.50 0.882763 -182.50 32.50 202.50 0.485034 -182.50 32.50 207.50 0.222739 -182.50 32.50 212.50 0.114577 -182.50 32.50 217.50 0.0480735 -182.50 32.50 222.50 0.0146966 -182.50 32.50 227.50 0.00726676 -182.50 32.50 232.50 0.0146967 -182.50 32.50 237.50 0.0480736 -182.50 32.50 242.50 0.114577 -182.50 32.50 247.50 0.22274 -182.50 32.50 252.50 0.485035 -182.50 32.50 257.50 0.882764 -182.50 32.50 262.50 1.4145 -182.50 32.50 267.50 1.90025 -182.50 32.50 272.50 2.09376 -182.50 32.50 277.50 1.90025 -182.50 32.50 282.50 1.4145 -182.50 32.50 287.50 0.882763 -182.50 32.50 292.50 0.485034 -182.50 32.50 297.50 0.222739 -182.50 32.50 302.50 0.114577 -182.50 32.50 307.50 0.0480735 -182.50 32.50 312.50 0.0146966 -182.50 32.50 317.50 0.00726674 -182.50 32.50 322.50 0.0146966 -182.50 32.50 327.50 0.0480735 -182.50 32.50 332.50 0.114577 -182.50 32.50 337.50 0.222739 -182.50 32.50 342.50 0.485034 -182.50 32.50 347.50 0.882762 -182.50 32.50 352.50 1.4145 -182.50 32.50 357.50 1.90025 -182.50 37.50 2.50 2.16641 -182.50 37.50 7.50 1.98889 -182.50 37.50 12.50 1.5664 -182.50 37.50 17.50 1.07178 -182.50 37.50 22.50 0.632949 -182.50 37.50 27.50 0.342677 -182.50 37.50 32.50 0.177973 -182.50 37.50 37.50 0.0765709 -182.50 37.50 42.50 0.0270765 -182.50 37.50 47.50 0.0153218 -182.50 37.50 52.50 0.0270766 -182.50 37.50 57.50 0.076571 -182.50 37.50 62.50 0.177973 -182.50 37.50 67.50 0.342677 -182.50 37.50 72.50 0.632948 -182.50 37.50 77.50 1.07178 -182.50 37.50 82.50 1.5664 -182.50 37.50 87.50 1.98889 -182.50 37.50 92.50 2.16641 -182.50 37.50 97.50 1.98889 -182.50 37.50 102.50 1.5664 -182.50 37.50 107.50 1.07178 -182.50 37.50 112.50 0.632949 -182.50 37.50 117.50 0.342676 -182.50 37.50 122.50 0.177973 -182.50 37.50 127.50 0.0765709 -182.50 37.50 132.50 0.0270765 -182.50 37.50 137.50 0.0153218 -182.50 37.50 142.50 0.0270765 -182.50 37.50 147.50 0.076571 -182.50 37.50 152.50 0.177973 -182.50 37.50 157.50 0.342676 -182.50 37.50 162.50 0.632948 -182.50 37.50 167.50 1.07178 -182.50 37.50 172.50 1.5664 -182.50 37.50 177.50 1.98889 -182.50 37.50 182.50 2.16641 -182.50 37.50 187.50 1.98889 -182.50 37.50 192.50 1.5664 -182.50 37.50 197.50 1.07178 -182.50 37.50 202.50 0.632949 -182.50 37.50 207.50 0.342677 -182.50 37.50 212.50 0.177973 -182.50 37.50 217.50 0.0765709 -182.50 37.50 222.50 0.0270765 -182.50 37.50 227.50 0.0153218 -182.50 37.50 232.50 0.0270766 -182.50 37.50 237.50 0.0765712 -182.50 37.50 242.50 0.177973 -182.50 37.50 247.50 0.342677 -182.50 37.50 252.50 0.632949 -182.50 37.50 257.50 1.07178 -182.50 37.50 262.50 1.5664 -182.50 37.50 267.50 1.98889 -182.50 37.50 272.50 2.16641 -182.50 37.50 277.50 1.98889 -182.50 37.50 282.50 1.5664 -182.50 37.50 287.50 1.07178 -182.50 37.50 292.50 0.632949 -182.50 37.50 297.50 0.342677 -182.50 37.50 302.50 0.177973 -182.50 37.50 307.50 0.076571 -182.50 37.50 312.50 0.0270765 -182.50 37.50 317.50 0.0153218 -182.50 37.50 322.50 0.0270765 -182.50 37.50 327.50 0.0765709 -182.50 37.50 332.50 0.177973 -182.50 37.50 337.50 0.342676 -182.50 37.50 342.50 0.632948 -182.50 37.50 347.50 1.07178 -182.50 37.50 352.50 1.5664 -182.50 37.50 357.50 1.98889 -182.50 42.50 2.50 2.19339 -182.50 42.50 7.50 2.07809 -182.50 42.50 12.50 1.77901 -182.50 42.50 17.50 1.32677 -182.50 42.50 22.50 0.858283 -182.50 42.50 27.50 0.510357 -182.50 42.50 32.50 0.270874 -182.50 42.50 37.50 0.130463 -182.50 42.50 42.50 0.0604544 -182.50 42.50 47.50 0.0430199 -182.50 42.50 52.50 0.0604545 -182.50 42.50 57.50 0.130463 -182.50 42.50 62.50 0.270874 -182.50 42.50 67.50 0.510358 -182.50 42.50 72.50 0.858282 -182.50 42.50 77.50 1.32677 -182.50 42.50 82.50 1.77901 -182.50 42.50 87.50 2.07809 -182.50 42.50 92.50 2.19339 -182.50 42.50 97.50 2.07809 -182.50 42.50 102.50 1.77901 -182.50 42.50 107.50 1.32677 -182.50 42.50 112.50 0.858283 -182.50 42.50 117.50 0.510357 -182.50 42.50 122.50 0.270874 -182.50 42.50 127.50 0.130463 -182.50 42.50 132.50 0.0604544 -182.50 42.50 137.50 0.0430199 -182.50 42.50 142.50 0.0604545 -182.50 42.50 147.50 0.130463 -182.50 42.50 152.50 0.270874 -182.50 42.50 157.50 0.510357 -182.50 42.50 162.50 0.858282 -182.50 42.50 167.50 1.32677 -182.50 42.50 172.50 1.77901 -182.50 42.50 177.50 2.07809 -182.50 42.50 182.50 2.19339 -182.50 42.50 187.50 2.07809 -182.50 42.50 192.50 1.77901 -182.50 42.50 197.50 1.32677 -182.50 42.50 202.50 0.858282 -182.50 42.50 207.50 0.510358 -182.50 42.50 212.50 0.270874 -182.50 42.50 217.50 0.130463 -182.50 42.50 222.50 0.0604545 -182.50 42.50 227.50 0.0430199 -182.50 42.50 232.50 0.0604547 -182.50 42.50 237.50 0.130463 -182.50 42.50 242.50 0.270874 -182.50 42.50 247.50 0.510358 -182.50 42.50 252.50 0.858283 -182.50 42.50 257.50 1.32677 -182.50 42.50 262.50 1.77901 -182.50 42.50 267.50 2.07809 -182.50 42.50 272.50 2.19339 -182.50 42.50 277.50 2.07809 -182.50 42.50 282.50 1.77901 -182.50 42.50 287.50 1.32677 -182.50 42.50 292.50 0.858282 -182.50 42.50 297.50 0.510358 -182.50 42.50 302.50 0.270875 -182.50 42.50 307.50 0.130463 -182.50 42.50 312.50 0.0604545 -182.50 42.50 317.50 0.0430199 -182.50 42.50 322.50 0.0604544 -182.50 42.50 327.50 0.130463 -182.50 42.50 332.50 0.270874 -182.50 42.50 337.50 0.510357 -182.50 42.50 342.50 0.858281 -182.50 42.50 347.50 1.32677 -182.50 42.50 352.50 1.77901 -182.50 42.50 357.50 2.07809 -182.50 47.50 2.50 2.17973 -182.50 47.50 7.50 2.15413 -182.50 47.50 12.50 2.00856 -182.50 47.50 17.50 1.60946 -182.50 47.50 22.50 1.12116 -182.50 47.50 27.50 0.643361 -182.50 47.50 32.50 0.378453 -182.50 47.50 37.50 0.198172 -182.50 47.50 42.50 0.0930244 -182.50 47.50 47.50 0.0770099 -182.50 47.50 52.50 0.0930244 -182.50 47.50 57.50 0.198172 -182.50 47.50 62.50 0.378453 -182.50 47.50 67.50 0.643361 -182.50 47.50 72.50 1.12116 -182.50 47.50 77.50 1.60946 -182.50 47.50 82.50 2.00856 -182.50 47.50 87.50 2.15413 -182.50 47.50 92.50 2.17973 -182.50 47.50 97.50 2.15413 -182.50 47.50 102.50 2.00856 -182.50 47.50 107.50 1.60946 -182.50 47.50 112.50 1.12116 -182.50 47.50 117.50 0.643361 -182.50 47.50 122.50 0.378453 -182.50 47.50 127.50 0.198172 -182.50 47.50 132.50 0.0930244 -182.50 47.50 137.50 0.0770099 -182.50 47.50 142.50 0.0930245 -182.50 47.50 147.50 0.198172 -182.50 47.50 152.50 0.378453 -182.50 47.50 157.50 0.643361 -182.50 47.50 162.50 1.12116 -182.50 47.50 167.50 1.60946 -182.50 47.50 172.50 2.00856 -182.50 47.50 177.50 2.15413 -182.50 47.50 182.50 2.17973 -182.50 47.50 187.50 2.15413 -182.50 47.50 192.50 2.00856 -182.50 47.50 197.50 1.60946 -182.50 47.50 202.50 1.12116 -182.50 47.50 207.50 0.643361 -182.50 47.50 212.50 0.378453 -182.50 47.50 217.50 0.198173 -182.50 47.50 222.50 0.0930245 -182.50 47.50 227.50 0.07701 -182.50 47.50 232.50 0.0930246 -182.50 47.50 237.50 0.198173 -182.50 47.50 242.50 0.378453 -182.50 47.50 247.50 0.643362 -182.50 47.50 252.50 1.12116 -182.50 47.50 257.50 1.60946 -182.50 47.50 262.50 2.00856 -182.50 47.50 267.50 2.15413 -182.50 47.50 272.50 2.17973 -182.50 47.50 277.50 2.15413 -182.50 47.50 282.50 2.00856 -182.50 47.50 287.50 1.60946 -182.50 47.50 292.50 1.12116 -182.50 47.50 297.50 0.643361 -182.50 47.50 302.50 0.378453 -182.50 47.50 307.50 0.198172 -182.50 47.50 312.50 0.0930245 -182.50 47.50 317.50 0.0770099 -182.50 47.50 322.50 0.0930243 -182.50 47.50 327.50 0.198172 -182.50 47.50 332.50 0.378453 -182.50 47.50 337.50 0.64336 -182.50 47.50 342.50 1.12116 -182.50 47.50 347.50 1.60946 -182.50 47.50 352.50 2.00856 -182.50 47.50 357.50 2.15413 -182.50 52.50 2.50 2.19339 -182.50 52.50 7.50 2.2166 -182.50 52.50 12.50 2.1694 -182.50 52.50 17.50 1.82225 -182.50 52.50 22.50 1.27034 -182.50 52.50 27.50 0.787667 -182.50 52.50 32.50 0.479776 -182.50 52.50 37.50 0.252054 -182.50 52.50 42.50 0.111526 -182.50 52.50 47.50 0.075761 -182.50 52.50 52.50 0.111525 -182.50 52.50 57.50 0.252055 -182.50 52.50 62.50 0.479776 -182.50 52.50 67.50 0.787667 -182.50 52.50 72.50 1.27034 -182.50 52.50 77.50 1.82225 -182.50 52.50 82.50 2.16939 -182.50 52.50 87.50 2.2166 -182.50 52.50 92.50 2.19339 -182.50 52.50 97.50 2.2166 -182.50 52.50 102.50 2.16939 -182.50 52.50 107.50 1.82225 -182.50 52.50 112.50 1.27034 -182.50 52.50 117.50 0.787668 -182.50 52.50 122.50 0.479776 -182.50 52.50 127.50 0.252054 -182.50 52.50 132.50 0.111525 -182.50 52.50 137.50 0.0757611 -182.50 52.50 142.50 0.111525 -182.50 52.50 147.50 0.252054 -182.50 52.50 152.50 0.479776 -182.50 52.50 157.50 0.787667 -182.50 52.50 162.50 1.27034 -182.50 52.50 167.50 1.82225 -182.50 52.50 172.50 2.16939 -182.50 52.50 177.50 2.2166 -182.50 52.50 182.50 2.19339 -182.50 52.50 187.50 2.2166 -182.50 52.50 192.50 2.16939 -182.50 52.50 197.50 1.82225 -182.50 52.50 202.50 1.27034 -182.50 52.50 207.50 0.787667 -182.50 52.50 212.50 0.479776 -182.50 52.50 217.50 0.252055 -182.50 52.50 222.50 0.111526 -182.50 52.50 227.50 0.0757611 -182.50 52.50 232.50 0.111526 -182.50 52.50 237.50 0.252055 -182.50 52.50 242.50 0.479777 -182.50 52.50 247.50 0.787668 -182.50 52.50 252.50 1.27034 -182.50 52.50 257.50 1.82225 -182.50 52.50 262.50 2.16939 -182.50 52.50 267.50 2.2166 -182.50 52.50 272.50 2.19339 -182.50 52.50 277.50 2.2166 -182.50 52.50 282.50 2.16939 -182.50 52.50 287.50 1.82225 -182.50 52.50 292.50 1.27034 -182.50 52.50 297.50 0.787668 -182.50 52.50 302.50 0.479776 -182.50 52.50 307.50 0.252055 -182.50 52.50 312.50 0.111526 -182.50 52.50 317.50 0.075761 -182.50 52.50 322.50 0.111525 -182.50 52.50 327.50 0.252054 -182.50 52.50 332.50 0.479776 -182.50 52.50 337.50 0.787667 -182.50 52.50 342.50 1.27034 -182.50 52.50 347.50 1.82224 -182.50 52.50 352.50 2.16939 -182.50 52.50 357.50 2.2166 -182.50 57.50 2.50 2.16641 -182.50 57.50 7.50 2.16718 -182.50 57.50 12.50 2.15179 -182.50 57.50 17.50 1.84381 -182.50 57.50 22.50 1.2576 -182.50 57.50 27.50 0.856183 -182.50 57.50 32.50 0.520818 -182.50 57.50 37.50 0.237794 -182.50 57.50 42.50 0.0932044 -182.50 57.50 47.50 0.0571566 -182.50 57.50 52.50 0.0932043 -182.50 57.50 57.50 0.237794 -182.50 57.50 62.50 0.520818 -182.50 57.50 67.50 0.856182 -182.50 57.50 72.50 1.2576 -182.50 57.50 77.50 1.84381 -182.50 57.50 82.50 2.15179 -182.50 57.50 87.50 2.16718 -182.50 57.50 92.50 2.16641 -182.50 57.50 97.50 2.16718 -182.50 57.50 102.50 2.15179 -182.50 57.50 107.50 1.84381 -182.50 57.50 112.50 1.2576 -182.50 57.50 117.50 0.856182 -182.50 57.50 122.50 0.520818 -182.50 57.50 127.50 0.237794 -182.50 57.50 132.50 0.0932044 -182.50 57.50 137.50 0.0571566 -182.50 57.50 142.50 0.0932043 -182.50 57.50 147.50 0.237794 -182.50 57.50 152.50 0.520818 -182.50 57.50 157.50 0.856182 -182.50 57.50 162.50 1.2576 -182.50 57.50 167.50 1.84381 -182.50 57.50 172.50 2.15179 -182.50 57.50 177.50 2.16718 -182.50 57.50 182.50 2.16641 -182.50 57.50 187.50 2.16718 -182.50 57.50 192.50 2.15178 -182.50 57.50 197.50 1.84381 -182.50 57.50 202.50 1.2576 -182.50 57.50 207.50 0.856183 -182.50 57.50 212.50 0.520818 -182.50 57.50 217.50 0.237795 -182.50 57.50 222.50 0.0932044 -182.50 57.50 227.50 0.0571566 -182.50 57.50 232.50 0.0932047 -182.50 57.50 237.50 0.237795 -182.50 57.50 242.50 0.520818 -182.50 57.50 247.50 0.856182 -182.50 57.50 252.50 1.2576 -182.50 57.50 257.50 1.84381 -182.50 57.50 262.50 2.15179 -182.50 57.50 267.50 2.16718 -182.50 57.50 272.50 2.16641 -182.50 57.50 277.50 2.16718 -182.50 57.50 282.50 2.15179 -182.50 57.50 287.50 1.84381 -182.50 57.50 292.50 1.2576 -182.50 57.50 297.50 0.856182 -182.50 57.50 302.50 0.520818 -182.50 57.50 307.50 0.237795 -182.50 57.50 312.50 0.0932045 -182.50 57.50 317.50 0.0571566 -182.50 57.50 322.50 0.0932041 -182.50 57.50 327.50 0.237794 -182.50 57.50 332.50 0.520817 -182.50 57.50 337.50 0.856181 -182.50 57.50 342.50 1.2576 -182.50 57.50 347.50 1.84381 -182.50 57.50 352.50 2.15178 -182.50 57.50 357.50 2.16718 -182.50 62.50 2.50 2.09376 -182.50 62.50 7.50 2.026 -182.50 62.50 12.50 2.01018 -182.50 62.50 17.50 1.69607 -182.50 62.50 22.50 1.18241 -182.50 62.50 27.50 0.761189 -182.50 62.50 32.50 0.449296 -182.50 62.50 37.50 0.214446 -182.50 62.50 42.50 0.0667029 -182.50 62.50 47.50 0.0264164 -182.50 62.50 52.50 0.0667029 -182.50 62.50 57.50 0.214446 -182.50 62.50 62.50 0.449297 -182.50 62.50 67.50 0.761189 -182.50 62.50 72.50 1.18241 -182.50 62.50 77.50 1.69607 -182.50 62.50 82.50 2.01018 -182.50 62.50 87.50 2.026 -182.50 62.50 92.50 2.09376 -182.50 62.50 97.50 2.026 -182.50 62.50 102.50 2.01018 -182.50 62.50 107.50 1.69607 -182.50 62.50 112.50 1.18241 -182.50 62.50 117.50 0.761189 -182.50 62.50 122.50 0.449296 -182.50 62.50 127.50 0.214446 -182.50 62.50 132.50 0.066703 -182.50 62.50 137.50 0.0264164 -182.50 62.50 142.50 0.0667029 -182.50 62.50 147.50 0.214446 -182.50 62.50 152.50 0.449296 -182.50 62.50 157.50 0.761188 -182.50 62.50 162.50 1.18241 -182.50 62.50 167.50 1.69607 -182.50 62.50 172.50 2.01018 -182.50 62.50 177.50 2.026 -182.50 62.50 182.50 2.09376 -182.50 62.50 187.50 2.026 -182.50 62.50 192.50 2.01018 -182.50 62.50 197.50 1.69607 -182.50 62.50 202.50 1.18241 -182.50 62.50 207.50 0.761189 -182.50 62.50 212.50 0.449296 -182.50 62.50 217.50 0.214446 -182.50 62.50 222.50 0.066703 -182.50 62.50 227.50 0.0264164 -182.50 62.50 232.50 0.066703 -182.50 62.50 237.50 0.214446 -182.50 62.50 242.50 0.449297 -182.50 62.50 247.50 0.76119 -182.50 62.50 252.50 1.18241 -182.50 62.50 257.50 1.69607 -182.50 62.50 262.50 2.01018 -182.50 62.50 267.50 2.026 -182.50 62.50 272.50 2.09376 -182.50 62.50 277.50 2.026 -182.50 62.50 282.50 2.01018 -182.50 62.50 287.50 1.69607 -182.50 62.50 292.50 1.18241 -182.50 62.50 297.50 0.761189 -182.50 62.50 302.50 0.449297 -182.50 62.50 307.50 0.214446 -182.50 62.50 312.50 0.066703 -182.50 62.50 317.50 0.0264164 -182.50 62.50 322.50 0.0667029 -182.50 62.50 327.50 0.214446 -182.50 62.50 332.50 0.449296 -182.50 62.50 337.50 0.761188 -182.50 62.50 342.50 1.18241 -182.50 62.50 347.50 1.69607 -182.50 62.50 352.50 2.01018 -182.50 62.50 357.50 2.026 -182.50 67.50 2.50 2.01833 -182.50 67.50 7.50 1.89111 -182.50 67.50 12.50 1.80768 -182.50 67.50 17.50 1.56527 -182.50 67.50 22.50 1.11589 -182.50 67.50 27.50 0.715156 -182.50 67.50 32.50 0.405548 -182.50 67.50 37.50 0.165625 -182.50 67.50 42.50 0.0585949 -182.50 67.50 47.50 0.0276749 -182.50 67.50 52.50 0.0585948 -182.50 67.50 57.50 0.165625 -182.50 67.50 62.50 0.405548 -182.50 67.50 67.50 0.715155 -182.50 67.50 72.50 1.11589 -182.50 67.50 77.50 1.56527 -182.50 67.50 82.50 1.80767 -182.50 67.50 87.50 1.89112 -182.50 67.50 92.50 2.01833 -182.50 67.50 97.50 1.89112 -182.50 67.50 102.50 1.80767 -182.50 67.50 107.50 1.56527 -182.50 67.50 112.50 1.11589 -182.50 67.50 117.50 0.715155 -182.50 67.50 122.50 0.405548 -182.50 67.50 127.50 0.165625 -182.50 67.50 132.50 0.0585948 -182.50 67.50 137.50 0.0276749 -182.50 67.50 142.50 0.0585949 -182.50 67.50 147.50 0.165625 -182.50 67.50 152.50 0.405548 -182.50 67.50 157.50 0.715155 -182.50 67.50 162.50 1.11589 -182.50 67.50 167.50 1.56527 -182.50 67.50 172.50 1.80767 -182.50 67.50 177.50 1.89111 -182.50 67.50 182.50 2.01833 -182.50 67.50 187.50 1.89111 -182.50 67.50 192.50 1.80768 -182.50 67.50 197.50 1.56527 -182.50 67.50 202.50 1.11589 -182.50 67.50 207.50 0.715155 -182.50 67.50 212.50 0.405548 -182.50 67.50 217.50 0.165625 -182.50 67.50 222.50 0.0585949 -182.50 67.50 227.50 0.0276749 -182.50 67.50 232.50 0.0585951 -182.50 67.50 237.50 0.165626 -182.50 67.50 242.50 0.405549 -182.50 67.50 247.50 0.715156 -182.50 67.50 252.50 1.11589 -182.50 67.50 257.50 1.56527 -182.50 67.50 262.50 1.80768 -182.50 67.50 267.50 1.89111 -182.50 67.50 272.50 2.01833 -182.50 67.50 277.50 1.89111 -182.50 67.50 282.50 1.80768 -182.50 67.50 287.50 1.56527 -182.50 67.50 292.50 1.11589 -182.50 67.50 297.50 0.715156 -182.50 67.50 302.50 0.405549 -182.50 67.50 307.50 0.165625 -182.50 67.50 312.50 0.0585949 -182.50 67.50 317.50 0.0276749 -182.50 67.50 322.50 0.0585948 -182.50 67.50 327.50 0.165625 -182.50 67.50 332.50 0.405547 -182.50 67.50 337.50 0.715155 -182.50 67.50 342.50 1.11589 -182.50 67.50 347.50 1.56527 -182.50 67.50 352.50 1.80767 -182.50 67.50 357.50 1.89111 -182.50 72.50 2.50 1.90406 -182.50 72.50 7.50 1.72446 -182.50 72.50 12.50 1.66054 -182.50 72.50 17.50 1.42051 -182.50 72.50 22.50 1.1502 -182.50 72.50 27.50 0.778984 -182.50 72.50 32.50 0.390482 -182.50 72.50 37.50 0.165498 -182.50 72.50 42.50 0.0573708 -182.50 72.50 47.50 0.0244137 -182.50 72.50 52.50 0.0573708 -182.50 72.50 57.50 0.165498 -182.50 72.50 62.50 0.390482 -182.50 72.50 67.50 0.778984 -182.50 72.50 72.50 1.1502 -182.50 72.50 77.50 1.42051 -182.50 72.50 82.50 1.66054 -182.50 72.50 87.50 1.72446 -182.50 72.50 92.50 1.90406 -182.50 72.50 97.50 1.72446 -182.50 72.50 102.50 1.66054 -182.50 72.50 107.50 1.42051 -182.50 72.50 112.50 1.1502 -182.50 72.50 117.50 0.778984 -182.50 72.50 122.50 0.390481 -182.50 72.50 127.50 0.165498 -182.50 72.50 132.50 0.0573707 -182.50 72.50 137.50 0.0244137 -182.50 72.50 142.50 0.0573707 -182.50 72.50 147.50 0.165498 -182.50 72.50 152.50 0.390482 -182.50 72.50 157.50 0.778984 -182.50 72.50 162.50 1.1502 -182.50 72.50 167.50 1.42051 -182.50 72.50 172.50 1.66054 -182.50 72.50 177.50 1.72446 -182.50 72.50 182.50 1.90406 -182.50 72.50 187.50 1.72446 -182.50 72.50 192.50 1.66054 -182.50 72.50 197.50 1.42051 -182.50 72.50 202.50 1.1502 -182.50 72.50 207.50 0.778984 -182.50 72.50 212.50 0.390482 -182.50 72.50 217.50 0.165498 -182.50 72.50 222.50 0.0573708 -182.50 72.50 227.50 0.0244137 -182.50 72.50 232.50 0.057371 -182.50 72.50 237.50 0.165499 -182.50 72.50 242.50 0.390482 -182.50 72.50 247.50 0.778985 -182.50 72.50 252.50 1.1502 -182.50 72.50 257.50 1.42051 -182.50 72.50 262.50 1.66054 -182.50 72.50 267.50 1.72446 -182.50 72.50 272.50 1.90406 -182.50 72.50 277.50 1.72446 -182.50 72.50 282.50 1.66054 -182.50 72.50 287.50 1.42051 -182.50 72.50 292.50 1.1502 -182.50 72.50 297.50 0.778984 -182.50 72.50 302.50 0.390482 -182.50 72.50 307.50 0.165498 -182.50 72.50 312.50 0.0573708 -182.50 72.50 317.50 0.0244137 -182.50 72.50 322.50 0.0573706 -182.50 72.50 327.50 0.165498 -182.50 72.50 332.50 0.390481 -182.50 72.50 337.50 0.778983 -182.50 72.50 342.50 1.1502 -182.50 72.50 347.50 1.42051 -182.50 72.50 352.50 1.66054 -182.50 72.50 357.50 1.72446 -182.50 77.50 2.50 1.78132 -182.50 77.50 7.50 1.56299 -182.50 77.50 12.50 1.50342 -182.50 77.50 17.50 1.33642 -182.50 77.50 22.50 1.09963 -182.50 77.50 27.50 0.724628 -182.50 77.50 32.50 0.404642 -182.50 77.50 37.50 0.164971 -182.50 77.50 42.50 0.0461098 -182.50 77.50 47.50 0.0182577 -182.50 77.50 52.50 0.0461097 -182.50 77.50 57.50 0.164971 -182.50 77.50 62.50 0.404642 -182.50 77.50 67.50 0.724628 -182.50 77.50 72.50 1.09963 -182.50 77.50 77.50 1.33642 -182.50 77.50 82.50 1.50342 -182.50 77.50 87.50 1.56299 -182.50 77.50 92.50 1.78132 -182.50 77.50 97.50 1.56299 -182.50 77.50 102.50 1.50342 -182.50 77.50 107.50 1.33642 -182.50 77.50 112.50 1.09963 -182.50 77.50 117.50 0.724627 -182.50 77.50 122.50 0.404641 -182.50 77.50 127.50 0.164971 -182.50 77.50 132.50 0.0461097 -182.50 77.50 137.50 0.0182577 -182.50 77.50 142.50 0.0461098 -182.50 77.50 147.50 0.164971 -182.50 77.50 152.50 0.404641 -182.50 77.50 157.50 0.724627 -182.50 77.50 162.50 1.09963 -182.50 77.50 167.50 1.33642 -182.50 77.50 172.50 1.50342 -182.50 77.50 177.50 1.56299 -182.50 77.50 182.50 1.78132 -182.50 77.50 187.50 1.56299 -182.50 77.50 192.50 1.50342 -182.50 77.50 197.50 1.33642 -182.50 77.50 202.50 1.09963 -182.50 77.50 207.50 0.724628 -182.50 77.50 212.50 0.404641 -182.50 77.50 217.50 0.164971 -182.50 77.50 222.50 0.0461098 -182.50 77.50 227.50 0.0182577 -182.50 77.50 232.50 0.0461099 -182.50 77.50 237.50 0.164971 -182.50 77.50 242.50 0.404642 -182.50 77.50 247.50 0.724628 -182.50 77.50 252.50 1.09963 -182.50 77.50 257.50 1.33642 -182.50 77.50 262.50 1.50342 -182.50 77.50 267.50 1.56299 -182.50 77.50 272.50 1.78132 -182.50 77.50 277.50 1.56299 -182.50 77.50 282.50 1.50342 -182.50 77.50 287.50 1.33642 -182.50 77.50 292.50 1.09963 -182.50 77.50 297.50 0.724628 -182.50 77.50 302.50 0.404642 -182.50 77.50 307.50 0.164971 -182.50 77.50 312.50 0.0461098 -182.50 77.50 317.50 0.0182578 -182.50 77.50 322.50 0.0461096 -182.50 77.50 327.50 0.164971 -182.50 77.50 332.50 0.404641 -182.50 77.50 337.50 0.724627 -182.50 77.50 342.50 1.09963 -182.50 77.50 347.50 1.33642 -182.50 77.50 352.50 1.50342 -182.50 77.50 357.50 1.56299 -182.50 82.50 2.50 1.59627 -182.50 82.50 7.50 1.42598 -182.50 82.50 12.50 1.30618 -182.50 82.50 17.50 1.25326 -182.50 82.50 22.50 1.00248 -182.50 82.50 27.50 0.612632 -182.50 82.50 32.50 0.295039 -182.50 82.50 37.50 0.114316 -182.50 82.50 42.50 0.03619 -182.50 82.50 47.50 0.0155044 -182.50 82.50 52.50 0.03619 -182.50 82.50 57.50 0.114316 -182.50 82.50 62.50 0.295039 -182.50 82.50 67.50 0.612632 -182.50 82.50 72.50 1.00248 -182.50 82.50 77.50 1.25325 -182.50 82.50 82.50 1.30618 -182.50 82.50 87.50 1.42599 -182.50 82.50 92.50 1.59627 -182.50 82.50 97.50 1.42598 -182.50 82.50 102.50 1.30618 -182.50 82.50 107.50 1.25326 -182.50 82.50 112.50 1.00248 -182.50 82.50 117.50 0.612631 -182.50 82.50 122.50 0.295039 -182.50 82.50 127.50 0.114316 -182.50 82.50 132.50 0.0361899 -182.50 82.50 137.50 0.0155044 -182.50 82.50 142.50 0.03619 -182.50 82.50 147.50 0.114316 -182.50 82.50 152.50 0.295039 -182.50 82.50 157.50 0.612632 -182.50 82.50 162.50 1.00248 -182.50 82.50 167.50 1.25325 -182.50 82.50 172.50 1.30618 -182.50 82.50 177.50 1.42599 -182.50 82.50 182.50 1.59627 -182.50 82.50 187.50 1.42598 -182.50 82.50 192.50 1.30618 -182.50 82.50 197.50 1.25326 -182.50 82.50 202.50 1.00248 -182.50 82.50 207.50 0.612632 -182.50 82.50 212.50 0.295039 -182.50 82.50 217.50 0.114316 -182.50 82.50 222.50 0.03619 -182.50 82.50 227.50 0.0155044 -182.50 82.50 232.50 0.03619 -182.50 82.50 237.50 0.114317 -182.50 82.50 242.50 0.295039 -182.50 82.50 247.50 0.612633 -182.50 82.50 252.50 1.00248 -182.50 82.50 257.50 1.25326 -182.50 82.50 262.50 1.30618 -182.50 82.50 267.50 1.42599 -182.50 82.50 272.50 1.59627 -182.50 82.50 277.50 1.42598 -182.50 82.50 282.50 1.30618 -182.50 82.50 287.50 1.25326 -182.50 82.50 292.50 1.00248 -182.50 82.50 297.50 0.612632 -182.50 82.50 302.50 0.295039 -182.50 82.50 307.50 0.114316 -182.50 82.50 312.50 0.03619 -182.50 82.50 317.50 0.0155044 -182.50 82.50 322.50 0.0361899 -182.50 82.50 327.50 0.114316 -182.50 82.50 332.50 0.295038 -182.50 82.50 337.50 0.612631 -182.50 82.50 342.50 1.00248 -182.50 82.50 347.50 1.25325 -182.50 82.50 352.50 1.30618 -182.50 82.50 357.50 1.42598 -182.50 87.50 2.50 1.24804 -182.50 87.50 7.50 1.05843 -182.50 87.50 12.50 1.07857 -182.50 87.50 17.50 0.938111 -182.50 87.50 22.50 0.72342 -182.50 87.50 27.50 0.454032 -182.50 87.50 32.50 0.227926 -182.50 87.50 37.50 0.107273 -182.50 87.50 42.50 0.0488811 -182.50 87.50 47.50 0.0290155 -182.50 87.50 52.50 0.0488811 -182.50 87.50 57.50 0.107273 -182.50 87.50 62.50 0.227927 -182.50 87.50 67.50 0.454032 -182.50 87.50 72.50 0.723421 -182.50 87.50 77.50 0.938111 -182.50 87.50 82.50 1.07857 -182.50 87.50 87.50 1.05843 -182.50 87.50 92.50 1.24804 -182.50 87.50 97.50 1.05843 -182.50 87.50 102.50 1.07857 -182.50 87.50 107.50 0.938112 -182.50 87.50 112.50 0.723421 -182.50 87.50 117.50 0.454032 -182.50 87.50 122.50 0.227926 -182.50 87.50 127.50 0.107273 -182.50 87.50 132.50 0.048881 -182.50 87.50 137.50 0.0290154 -182.50 87.50 142.50 0.0488811 -182.50 87.50 147.50 0.107273 -182.50 87.50 152.50 0.227926 -182.50 87.50 157.50 0.454032 -182.50 87.50 162.50 0.723421 -182.50 87.50 167.50 0.938111 -182.50 87.50 172.50 1.07857 -182.50 87.50 177.50 1.05843 -182.50 87.50 182.50 1.24805 -182.50 87.50 187.50 1.05843 -182.50 87.50 192.50 1.07857 -182.50 87.50 197.50 0.938112 -182.50 87.50 202.50 0.723421 -182.50 87.50 207.50 0.454033 -182.50 87.50 212.50 0.227927 -182.50 87.50 217.50 0.107273 -182.50 87.50 222.50 0.0488811 -182.50 87.50 227.50 0.0290154 -182.50 87.50 232.50 0.0488812 -182.50 87.50 237.50 0.107273 -182.50 87.50 242.50 0.227927 -182.50 87.50 247.50 0.454032 -182.50 87.50 252.50 0.723421 -182.50 87.50 257.50 0.938111 -182.50 87.50 262.50 1.07857 -182.50 87.50 267.50 1.05843 -182.50 87.50 272.50 1.24805 -182.50 87.50 277.50 1.05843 -182.50 87.50 282.50 1.07857 -182.50 87.50 287.50 0.938112 -182.50 87.50 292.50 0.723421 -182.50 87.50 297.50 0.454033 -182.50 87.50 302.50 0.227927 -182.50 87.50 307.50 0.107273 -182.50 87.50 312.50 0.0488811 -182.50 87.50 317.50 0.0290155 -182.50 87.50 322.50 0.048881 -182.50 87.50 327.50 0.107273 -182.50 87.50 332.50 0.227926 -182.50 87.50 337.50 0.454032 -182.50 87.50 342.50 0.72342 -182.50 87.50 347.50 0.938111 -182.50 87.50 352.50 1.07857 -182.50 87.50 357.50 1.05843 -182.50 92.50 2.50 0.980476 -182.50 92.50 7.50 0.827943 -182.50 92.50 12.50 0.79997 -182.50 92.50 17.50 0.711647 -182.50 92.50 22.50 0.546005 -182.50 92.50 27.50 0.349564 -182.50 92.50 32.50 0.209129 -182.50 92.50 37.50 0.132396 -182.50 92.50 42.50 0.0754697 -182.50 92.50 47.50 0.0484155 -182.50 92.50 52.50 0.0754697 -182.50 92.50 57.50 0.132396 -182.50 92.50 62.50 0.209129 -182.50 92.50 67.50 0.349565 -182.50 92.50 72.50 0.546005 -182.50 92.50 77.50 0.711647 -182.50 92.50 82.50 0.79997 -182.50 92.50 87.50 0.827943 -182.50 92.50 92.50 0.980476 -182.50 92.50 97.50 0.827943 -182.50 92.50 102.50 0.79997 -182.50 92.50 107.50 0.711647 -182.50 92.50 112.50 0.546005 -182.50 92.50 117.50 0.349564 -182.50 92.50 122.50 0.209129 -182.50 92.50 127.50 0.132396 -182.50 92.50 132.50 0.0754697 -182.50 92.50 137.50 0.0484155 -182.50 92.50 142.50 0.0754697 -182.50 92.50 147.50 0.132396 -182.50 92.50 152.50 0.209129 -182.50 92.50 157.50 0.349564 -182.50 92.50 162.50 0.546004 -182.50 92.50 167.50 0.711647 -182.50 92.50 172.50 0.79997 -182.50 92.50 177.50 0.827942 -182.50 92.50 182.50 0.980476 -182.50 92.50 187.50 0.827943 -182.50 92.50 192.50 0.79997 -182.50 92.50 197.50 0.711647 -182.50 92.50 202.50 0.546005 -182.50 92.50 207.50 0.349564 -182.50 92.50 212.50 0.209129 -182.50 92.50 217.50 0.132396 -182.50 92.50 222.50 0.0754697 -182.50 92.50 227.50 0.0484155 -182.50 92.50 232.50 0.0754698 -182.50 92.50 237.50 0.132396 -182.50 92.50 242.50 0.209129 -182.50 92.50 247.50 0.349565 -182.50 92.50 252.50 0.546005 -182.50 92.50 257.50 0.711648 -182.50 92.50 262.50 0.79997 -182.50 92.50 267.50 0.827943 -182.50 92.50 272.50 0.980476 -182.50 92.50 277.50 0.827943 -182.50 92.50 282.50 0.79997 -182.50 92.50 287.50 0.711647 -182.50 92.50 292.50 0.546005 -182.50 92.50 297.50 0.349565 -182.50 92.50 302.50 0.209129 -182.50 92.50 307.50 0.132396 -182.50 92.50 312.50 0.0754698 -182.50 92.50 317.50 0.0484156 -182.50 92.50 322.50 0.0754696 -182.50 92.50 327.50 0.132396 -182.50 92.50 332.50 0.209129 -182.50 92.50 337.50 0.349564 -182.50 92.50 342.50 0.546004 -182.50 92.50 347.50 0.711647 -182.50 92.50 352.50 0.79997 -182.50 92.50 357.50 0.827942 -182.50 97.50 2.50 1.24805 -182.50 97.50 7.50 1.05843 -182.50 97.50 12.50 1.07857 -182.50 97.50 17.50 0.938112 -182.50 97.50 22.50 0.723421 -182.50 97.50 27.50 0.454032 -182.50 97.50 32.50 0.227927 -182.50 97.50 37.50 0.107273 -182.50 97.50 42.50 0.0488811 -182.50 97.50 47.50 0.0290154 -182.50 97.50 52.50 0.0488811 -182.50 97.50 57.50 0.107273 -182.50 97.50 62.50 0.227927 -182.50 97.50 67.50 0.454032 -182.50 97.50 72.50 0.723421 -182.50 97.50 77.50 0.938111 -182.50 97.50 82.50 1.07857 -182.50 97.50 87.50 1.05843 -182.50 97.50 92.50 1.24805 -182.50 97.50 97.50 1.05843 -182.50 97.50 102.50 1.07857 -182.50 97.50 107.50 0.938111 -182.50 97.50 112.50 0.723421 -182.50 97.50 117.50 0.454032 -182.50 97.50 122.50 0.227926 -182.50 97.50 127.50 0.107273 -182.50 97.50 132.50 0.048881 -182.50 97.50 137.50 0.0290155 -182.50 97.50 142.50 0.0488811 -182.50 97.50 147.50 0.107273 -182.50 97.50 152.50 0.227926 -182.50 97.50 157.50 0.454032 -182.50 97.50 162.50 0.723421 -182.50 97.50 167.50 0.938112 -182.50 97.50 172.50 1.07857 -182.50 97.50 177.50 1.05843 -182.50 97.50 182.50 1.24804 -182.50 97.50 187.50 1.05843 -182.50 97.50 192.50 1.07857 -182.50 97.50 197.50 0.938111 -182.50 97.50 202.50 0.72342 -182.50 97.50 207.50 0.454032 -182.50 97.50 212.50 0.227927 -182.50 97.50 217.50 0.107273 -182.50 97.50 222.50 0.0488811 -182.50 97.50 227.50 0.0290155 -182.50 97.50 232.50 0.0488812 -182.50 97.50 237.50 0.107273 -182.50 97.50 242.50 0.227927 -182.50 97.50 247.50 0.454032 -182.50 97.50 252.50 0.723421 -182.50 97.50 257.50 0.938111 -182.50 97.50 262.50 1.07857 -182.50 97.50 267.50 1.05843 -182.50 97.50 272.50 1.24804 -182.50 97.50 277.50 1.05843 -182.50 97.50 282.50 1.07857 -182.50 97.50 287.50 0.938111 -182.50 97.50 292.50 0.723421 -182.50 97.50 297.50 0.454032 -182.50 97.50 302.50 0.227927 -182.50 97.50 307.50 0.107273 -182.50 97.50 312.50 0.0488811 -182.50 97.50 317.50 0.0290154 -182.50 97.50 322.50 0.048881 -182.50 97.50 327.50 0.107273 -182.50 97.50 332.50 0.227926 -182.50 97.50 337.50 0.454031 -182.50 97.50 342.50 0.72342 -182.50 97.50 347.50 0.938111 -182.50 97.50 352.50 1.07857 -182.50 97.50 357.50 1.05843 -182.50 102.50 2.50 1.59627 -182.50 102.50 7.50 1.42598 -182.50 102.50 12.50 1.30618 -182.50 102.50 17.50 1.25326 -182.50 102.50 22.50 1.00248 -182.50 102.50 27.50 0.612632 -182.50 102.50 32.50 0.295038 -182.50 102.50 37.50 0.114316 -182.50 102.50 42.50 0.03619 -182.50 102.50 47.50 0.0155044 -182.50 102.50 52.50 0.03619 -182.50 102.50 57.50 0.114316 -182.50 102.50 62.50 0.295039 -182.50 102.50 67.50 0.612632 -182.50 102.50 72.50 1.00248 -182.50 102.50 77.50 1.25325 -182.50 102.50 82.50 1.30618 -182.50 102.50 87.50 1.42598 -182.50 102.50 92.50 1.59627 -182.50 102.50 97.50 1.42598 -182.50 102.50 102.50 1.30618 -182.50 102.50 107.50 1.25325 -182.50 102.50 112.50 1.00248 -182.50 102.50 117.50 0.612631 -182.50 102.50 122.50 0.295038 -182.50 102.50 127.50 0.114316 -182.50 102.50 132.50 0.0361899 -182.50 102.50 137.50 0.0155044 -182.50 102.50 142.50 0.03619 -182.50 102.50 147.50 0.114316 -182.50 102.50 152.50 0.295039 -182.50 102.50 157.50 0.612632 -182.50 102.50 162.50 1.00248 -182.50 102.50 167.50 1.25325 -182.50 102.50 172.50 1.30618 -182.50 102.50 177.50 1.42598 -182.50 102.50 182.50 1.59627 -182.50 102.50 187.50 1.42598 -182.50 102.50 192.50 1.30618 -182.50 102.50 197.50 1.25325 -182.50 102.50 202.50 1.00248 -182.50 102.50 207.50 0.612632 -182.50 102.50 212.50 0.295039 -182.50 102.50 217.50 0.114316 -182.50 102.50 222.50 0.03619 -182.50 102.50 227.50 0.0155045 -182.50 102.50 232.50 0.0361901 -182.50 102.50 237.50 0.114317 -182.50 102.50 242.50 0.295039 -182.50 102.50 247.50 0.612632 -182.50 102.50 252.50 1.00248 -182.50 102.50 257.50 1.25325 -182.50 102.50 262.50 1.30618 -182.50 102.50 267.50 1.42599 -182.50 102.50 272.50 1.59627 -182.50 102.50 277.50 1.42598 -182.50 102.50 282.50 1.30618 -182.50 102.50 287.50 1.25326 -182.50 102.50 292.50 1.00248 -182.50 102.50 297.50 0.612632 -182.50 102.50 302.50 0.295039 -182.50 102.50 307.50 0.114316 -182.50 102.50 312.50 0.03619 -182.50 102.50 317.50 0.0155044 -182.50 102.50 322.50 0.0361899 -182.50 102.50 327.50 0.114316 -182.50 102.50 332.50 0.295038 -182.50 102.50 337.50 0.612631 -182.50 102.50 342.50 1.00248 -182.50 102.50 347.50 1.25325 -182.50 102.50 352.50 1.30618 -182.50 102.50 357.50 1.42598 -182.50 107.50 2.50 1.78132 -182.50 107.50 7.50 1.56299 -182.50 107.50 12.50 1.50342 -182.50 107.50 17.50 1.33642 -182.50 107.50 22.50 1.09963 -182.50 107.50 27.50 0.724627 -182.50 107.50 32.50 0.404641 -182.50 107.50 37.50 0.164971 -182.50 107.50 42.50 0.0461097 -182.50 107.50 47.50 0.0182577 -182.50 107.50 52.50 0.0461098 -182.50 107.50 57.50 0.164971 -182.50 107.50 62.50 0.404642 -182.50 107.50 67.50 0.724628 -182.50 107.50 72.50 1.09963 -182.50 107.50 77.50 1.33642 -182.50 107.50 82.50 1.50342 -182.50 107.50 87.50 1.56299 -182.50 107.50 92.50 1.78132 -182.50 107.50 97.50 1.56299 -182.50 107.50 102.50 1.50342 -182.50 107.50 107.50 1.33642 -182.50 107.50 112.50 1.09963 -182.50 107.50 117.50 0.724627 -182.50 107.50 122.50 0.404641 -182.50 107.50 127.50 0.164971 -182.50 107.50 132.50 0.0461097 -182.50 107.50 137.50 0.0182578 -182.50 107.50 142.50 0.0461098 -182.50 107.50 147.50 0.164971 -182.50 107.50 152.50 0.404642 -182.50 107.50 157.50 0.724628 -182.50 107.50 162.50 1.09963 -182.50 107.50 167.50 1.33642 -182.50 107.50 172.50 1.50342 -182.50 107.50 177.50 1.56299 -182.50 107.50 182.50 1.78132 -182.50 107.50 187.50 1.56299 -182.50 107.50 192.50 1.50342 -182.50 107.50 197.50 1.33642 -182.50 107.50 202.50 1.09963 -182.50 107.50 207.50 0.724628 -182.50 107.50 212.50 0.404642 -182.50 107.50 217.50 0.164971 -182.50 107.50 222.50 0.0461098 -182.50 107.50 227.50 0.0182577 -182.50 107.50 232.50 0.0461099 -182.50 107.50 237.50 0.164971 -182.50 107.50 242.50 0.404642 -182.50 107.50 247.50 0.724628 -182.50 107.50 252.50 1.09963 -182.50 107.50 257.50 1.33642 -182.50 107.50 262.50 1.50342 -182.50 107.50 267.50 1.56299 -182.50 107.50 272.50 1.78132 -182.50 107.50 277.50 1.56299 -182.50 107.50 282.50 1.50342 -182.50 107.50 287.50 1.33642 -182.50 107.50 292.50 1.09963 -182.50 107.50 297.50 0.724628 -182.50 107.50 302.50 0.404642 -182.50 107.50 307.50 0.164971 -182.50 107.50 312.50 0.0461098 -182.50 107.50 317.50 0.0182577 -182.50 107.50 322.50 0.0461097 -182.50 107.50 327.50 0.164971 -182.50 107.50 332.50 0.404641 -182.50 107.50 337.50 0.724627 -182.50 107.50 342.50 1.09963 -182.50 107.50 347.50 1.33642 -182.50 107.50 352.50 1.50342 -182.50 107.50 357.50 1.56299 -182.50 112.50 2.50 1.90406 -182.50 112.50 7.50 1.72446 -182.50 112.50 12.50 1.66054 -182.50 112.50 17.50 1.42051 -182.50 112.50 22.50 1.1502 -182.50 112.50 27.50 0.778983 -182.50 112.50 32.50 0.390482 -182.50 112.50 37.50 0.165498 -182.50 112.50 42.50 0.0573708 -182.50 112.50 47.50 0.0244137 -182.50 112.50 52.50 0.0573709 -182.50 112.50 57.50 0.165499 -182.50 112.50 62.50 0.390482 -182.50 112.50 67.50 0.778984 -182.50 112.50 72.50 1.1502 -182.50 112.50 77.50 1.42051 -182.50 112.50 82.50 1.66054 -182.50 112.50 87.50 1.72446 -182.50 112.50 92.50 1.90406 -182.50 112.50 97.50 1.72446 -182.50 112.50 102.50 1.66054 -182.50 112.50 107.50 1.42051 -182.50 112.50 112.50 1.1502 -182.50 112.50 117.50 0.778983 -182.50 112.50 122.50 0.390482 -182.50 112.50 127.50 0.165498 -182.50 112.50 132.50 0.0573707 -182.50 112.50 137.50 0.0244137 -182.50 112.50 142.50 0.0573708 -182.50 112.50 147.50 0.165498 -182.50 112.50 152.50 0.390482 -182.50 112.50 157.50 0.778984 -182.50 112.50 162.50 1.1502 -182.50 112.50 167.50 1.42051 -182.50 112.50 172.50 1.66054 -182.50 112.50 177.50 1.72446 -182.50 112.50 182.50 1.90406 -182.50 112.50 187.50 1.72446 -182.50 112.50 192.50 1.66054 -182.50 112.50 197.50 1.42051 -182.50 112.50 202.50 1.1502 -182.50 112.50 207.50 0.778983 -182.50 112.50 212.50 0.390482 -182.50 112.50 217.50 0.165498 -182.50 112.50 222.50 0.0573708 -182.50 112.50 227.50 0.0244137 -182.50 112.50 232.50 0.057371 -182.50 112.50 237.50 0.165499 -182.50 112.50 242.50 0.390482 -182.50 112.50 247.50 0.778984 -182.50 112.50 252.50 1.1502 -182.50 112.50 257.50 1.42051 -182.50 112.50 262.50 1.66054 -182.50 112.50 267.50 1.72446 -182.50 112.50 272.50 1.90406 -182.50 112.50 277.50 1.72446 -182.50 112.50 282.50 1.66054 -182.50 112.50 287.50 1.42051 -182.50 112.50 292.50 1.1502 -182.50 112.50 297.50 0.778984 -182.50 112.50 302.50 0.390482 -182.50 112.50 307.50 0.165498 -182.50 112.50 312.50 0.0573708 -182.50 112.50 317.50 0.0244137 -182.50 112.50 322.50 0.0573706 -182.50 112.50 327.50 0.165498 -182.50 112.50 332.50 0.390481 -182.50 112.50 337.50 0.778983 -182.50 112.50 342.50 1.1502 -182.50 112.50 347.50 1.42051 -182.50 112.50 352.50 1.66054 -182.50 112.50 357.50 1.72446 -182.50 117.50 2.50 2.01833 -182.50 117.50 7.50 1.89111 -182.50 117.50 12.50 1.80767 -182.50 117.50 17.50 1.56527 -182.50 117.50 22.50 1.11589 -182.50 117.50 27.50 0.715155 -182.50 117.50 32.50 0.405548 -182.50 117.50 37.50 0.165625 -182.50 117.50 42.50 0.0585949 -182.50 117.50 47.50 0.0276749 -182.50 117.50 52.50 0.058595 -182.50 117.50 57.50 0.165625 -182.50 117.50 62.50 0.405549 -182.50 117.50 67.50 0.715156 -182.50 117.50 72.50 1.11589 -182.50 117.50 77.50 1.56527 -182.50 117.50 82.50 1.80768 -182.50 117.50 87.50 1.89111 -182.50 117.50 92.50 2.01833 -182.50 117.50 97.50 1.89111 -182.50 117.50 102.50 1.80767 -182.50 117.50 107.50 1.56527 -182.50 117.50 112.50 1.11589 -182.50 117.50 117.50 0.715155 -182.50 117.50 122.50 0.405548 -182.50 117.50 127.50 0.165625 -182.50 117.50 132.50 0.0585949 -182.50 117.50 137.50 0.0276749 -182.50 117.50 142.50 0.0585949 -182.50 117.50 147.50 0.165625 -182.50 117.50 152.50 0.405549 -182.50 117.50 157.50 0.715155 -182.50 117.50 162.50 1.11589 -182.50 117.50 167.50 1.56527 -182.50 117.50 172.50 1.80768 -182.50 117.50 177.50 1.89111 -182.50 117.50 182.50 2.01833 -182.50 117.50 187.50 1.89111 -182.50 117.50 192.50 1.80767 -182.50 117.50 197.50 1.56527 -182.50 117.50 202.50 1.11589 -182.50 117.50 207.50 0.715155 -182.50 117.50 212.50 0.405548 -182.50 117.50 217.50 0.165625 -182.50 117.50 222.50 0.0585948 -182.50 117.50 227.50 0.0276749 -182.50 117.50 232.50 0.058595 -182.50 117.50 237.50 0.165626 -182.50 117.50 242.50 0.405549 -182.50 117.50 247.50 0.715156 -182.50 117.50 252.50 1.11589 -182.50 117.50 257.50 1.56527 -182.50 117.50 262.50 1.80768 -182.50 117.50 267.50 1.89112 -182.50 117.50 272.50 2.01833 -182.50 117.50 277.50 1.89111 -182.50 117.50 282.50 1.80767 -182.50 117.50 287.50 1.56527 -182.50 117.50 292.50 1.11589 -182.50 117.50 297.50 0.715155 -182.50 117.50 302.50 0.405549 -182.50 117.50 307.50 0.165625 -182.50 117.50 312.50 0.0585948 -182.50 117.50 317.50 0.0276749 -182.50 117.50 322.50 0.0585949 -182.50 117.50 327.50 0.165625 -182.50 117.50 332.50 0.405548 -182.50 117.50 337.50 0.715155 -182.50 117.50 342.50 1.11589 -182.50 117.50 347.50 1.56527 -182.50 117.50 352.50 1.80767 -182.50 117.50 357.50 1.89112 -182.50 122.50 2.50 2.09376 -182.50 122.50 7.50 2.026 -182.50 122.50 12.50 2.01018 -182.50 122.50 17.50 1.69607 -182.50 122.50 22.50 1.18241 -182.50 122.50 27.50 0.761189 -182.50 122.50 32.50 0.449296 -182.50 122.50 37.50 0.214446 -182.50 122.50 42.50 0.066703 -182.50 122.50 47.50 0.0264164 -182.50 122.50 52.50 0.066703 -182.50 122.50 57.50 0.214446 -182.50 122.50 62.50 0.449297 -182.50 122.50 67.50 0.76119 -182.50 122.50 72.50 1.18241 -182.50 122.50 77.50 1.69607 -182.50 122.50 82.50 2.01018 -182.50 122.50 87.50 2.026 -182.50 122.50 92.50 2.09376 -182.50 122.50 97.50 2.026 -182.50 122.50 102.50 2.01018 -182.50 122.50 107.50 1.69607 -182.50 122.50 112.50 1.18241 -182.50 122.50 117.50 0.761188 -182.50 122.50 122.50 0.449296 -182.50 122.50 127.50 0.214446 -182.50 122.50 132.50 0.0667029 -182.50 122.50 137.50 0.0264164 -182.50 122.50 142.50 0.066703 -182.50 122.50 147.50 0.214446 -182.50 122.50 152.50 0.449297 -182.50 122.50 157.50 0.761189 -182.50 122.50 162.50 1.18241 -182.50 122.50 167.50 1.69607 -182.50 122.50 172.50 2.01018 -182.50 122.50 177.50 2.026 -182.50 122.50 182.50 2.09376 -182.50 122.50 187.50 2.026 -182.50 122.50 192.50 2.01018 -182.50 122.50 197.50 1.69607 -182.50 122.50 202.50 1.18241 -182.50 122.50 207.50 0.761189 -182.50 122.50 212.50 0.449296 -182.50 122.50 217.50 0.214446 -182.50 122.50 222.50 0.066703 -182.50 122.50 227.50 0.0264164 -182.50 122.50 232.50 0.0667031 -182.50 122.50 237.50 0.214447 -182.50 122.50 242.50 0.449297 -182.50 122.50 247.50 0.76119 -182.50 122.50 252.50 1.18241 -182.50 122.50 257.50 1.69607 -182.50 122.50 262.50 2.01018 -182.50 122.50 267.50 2.02601 -182.50 122.50 272.50 2.09376 -182.50 122.50 277.50 2.026 -182.50 122.50 282.50 2.01018 -182.50 122.50 287.50 1.69607 -182.50 122.50 292.50 1.18241 -182.50 122.50 297.50 0.761189 -182.50 122.50 302.50 0.449297 -182.50 122.50 307.50 0.214446 -182.50 122.50 312.50 0.066703 -182.50 122.50 317.50 0.0264164 -182.50 122.50 322.50 0.0667029 -182.50 122.50 327.50 0.214446 -182.50 122.50 332.50 0.449296 -182.50 122.50 337.50 0.761189 -182.50 122.50 342.50 1.18241 -182.50 122.50 347.50 1.69607 -182.50 122.50 352.50 2.01018 -182.50 122.50 357.50 2.026 -182.50 127.50 2.50 2.16641 -182.50 127.50 7.50 2.16718 -182.50 127.50 12.50 2.15178 -182.50 127.50 17.50 1.84381 -182.50 127.50 22.50 1.2576 -182.50 127.50 27.50 0.856181 -182.50 127.50 32.50 0.520817 -182.50 127.50 37.50 0.237794 -182.50 127.50 42.50 0.0932043 -182.50 127.50 47.50 0.0571567 -182.50 127.50 52.50 0.0932045 -182.50 127.50 57.50 0.237795 -182.50 127.50 62.50 0.520818 -182.50 127.50 67.50 0.856183 -182.50 127.50 72.50 1.2576 -182.50 127.50 77.50 1.84381 -182.50 127.50 82.50 2.15179 -182.50 127.50 87.50 2.16718 -182.50 127.50 92.50 2.16641 -182.50 127.50 97.50 2.16718 -182.50 127.50 102.50 2.15178 -182.50 127.50 107.50 1.84381 -182.50 127.50 112.50 1.2576 -182.50 127.50 117.50 0.856181 -182.50 127.50 122.50 0.520817 -182.50 127.50 127.50 0.237794 -182.50 127.50 132.50 0.0932043 -182.50 127.50 137.50 0.0571567 -182.50 127.50 142.50 0.0932044 -182.50 127.50 147.50 0.237795 -182.50 127.50 152.50 0.520818 -182.50 127.50 157.50 0.856182 -182.50 127.50 162.50 1.2576 -182.50 127.50 167.50 1.84381 -182.50 127.50 172.50 2.15179 -182.50 127.50 177.50 2.16718 -182.50 127.50 182.50 2.16641 -182.50 127.50 187.50 2.16718 -182.50 127.50 192.50 2.15179 -182.50 127.50 197.50 1.84381 -182.50 127.50 202.50 1.2576 -182.50 127.50 207.50 0.856182 -182.50 127.50 212.50 0.520818 -182.50 127.50 217.50 0.237794 -182.50 127.50 222.50 0.0932043 -182.50 127.50 227.50 0.0571566 -182.50 127.50 232.50 0.0932045 -182.50 127.50 237.50 0.237795 -182.50 127.50 242.50 0.520818 -182.50 127.50 247.50 0.856183 -182.50 127.50 252.50 1.2576 -182.50 127.50 257.50 1.84381 -182.50 127.50 262.50 2.15179 -182.50 127.50 267.50 2.16718 -182.50 127.50 272.50 2.16641 -182.50 127.50 277.50 2.16718 -182.50 127.50 282.50 2.15179 -182.50 127.50 287.50 1.84381 -182.50 127.50 292.50 1.2576 -182.50 127.50 297.50 0.856182 -182.50 127.50 302.50 0.520818 -182.50 127.50 307.50 0.237794 -182.50 127.50 312.50 0.0932044 -182.50 127.50 317.50 0.0571566 -182.50 127.50 322.50 0.0932043 -182.50 127.50 327.50 0.237794 -182.50 127.50 332.50 0.520818 -182.50 127.50 337.50 0.856182 -182.50 127.50 342.50 1.2576 -182.50 127.50 347.50 1.84381 -182.50 127.50 352.50 2.15178 -182.50 127.50 357.50 2.16718 -182.50 132.50 2.50 2.19339 -182.50 132.50 7.50 2.2166 -182.50 132.50 12.50 2.16939 -182.50 132.50 17.50 1.82225 -182.50 132.50 22.50 1.27034 -182.50 132.50 27.50 0.787667 -182.50 132.50 32.50 0.479776 -182.50 132.50 37.50 0.252054 -182.50 132.50 42.50 0.111526 -182.50 132.50 47.50 0.0757611 -182.50 132.50 52.50 0.111526 -182.50 132.50 57.50 0.252055 -182.50 132.50 62.50 0.479777 -182.50 132.50 67.50 0.787669 -182.50 132.50 72.50 1.27034 -182.50 132.50 77.50 1.82225 -182.50 132.50 82.50 2.16939 -182.50 132.50 87.50 2.2166 -182.50 132.50 92.50 2.19339 -182.50 132.50 97.50 2.2166 -182.50 132.50 102.50 2.16939 -182.50 132.50 107.50 1.82224 -182.50 132.50 112.50 1.27034 -182.50 132.50 117.50 0.787667 -182.50 132.50 122.50 0.479776 -182.50 132.50 127.50 0.252054 -182.50 132.50 132.50 0.111525 -182.50 132.50 137.50 0.075761 -182.50 132.50 142.50 0.111526 -182.50 132.50 147.50 0.252055 -182.50 132.50 152.50 0.479776 -182.50 132.50 157.50 0.787668 -182.50 132.50 162.50 1.27034 -182.50 132.50 167.50 1.82225 -182.50 132.50 172.50 2.16939 -182.50 132.50 177.50 2.2166 -182.50 132.50 182.50 2.19339 -182.50 132.50 187.50 2.2166 -182.50 132.50 192.50 2.1694 -182.50 132.50 197.50 1.82225 -182.50 132.50 202.50 1.27034 -182.50 132.50 207.50 0.787667 -182.50 132.50 212.50 0.479776 -182.50 132.50 217.50 0.252054 -182.50 132.50 222.50 0.111526 -182.50 132.50 227.50 0.075761 -182.50 132.50 232.50 0.111526 -182.50 132.50 237.50 0.252055 -182.50 132.50 242.50 0.479777 -182.50 132.50 247.50 0.787668 -182.50 132.50 252.50 1.27034 -182.50 132.50 257.50 1.82225 -182.50 132.50 262.50 2.1694 -182.50 132.50 267.50 2.2166 -182.50 132.50 272.50 2.19339 -182.50 132.50 277.50 2.2166 -182.50 132.50 282.50 2.16939 -182.50 132.50 287.50 1.82225 -182.50 132.50 292.50 1.27034 -182.50 132.50 297.50 0.787668 -182.50 132.50 302.50 0.479776 -182.50 132.50 307.50 0.252055 -182.50 132.50 312.50 0.111526 -182.50 132.50 317.50 0.075761 -182.50 132.50 322.50 0.111525 -182.50 132.50 327.50 0.252054 -182.50 132.50 332.50 0.479776 -182.50 132.50 337.50 0.787667 -182.50 132.50 342.50 1.27034 -182.50 132.50 347.50 1.82224 -182.50 132.50 352.50 2.16939 -182.50 132.50 357.50 2.2166 -182.50 137.50 2.50 2.17973 -182.50 137.50 7.50 2.15413 -182.50 137.50 12.50 2.00856 -182.50 137.50 17.50 1.60946 -182.50 137.50 22.50 1.12116 -182.50 137.50 27.50 0.64336 -182.50 137.50 32.50 0.378452 -182.50 137.50 37.50 0.198172 -182.50 137.50 42.50 0.0930244 -182.50 137.50 47.50 0.07701 -182.50 137.50 52.50 0.0930245 -182.50 137.50 57.50 0.198173 -182.50 137.50 62.50 0.378454 -182.50 137.50 67.50 0.643362 -182.50 137.50 72.50 1.12116 -182.50 137.50 77.50 1.60946 -182.50 137.50 82.50 2.00856 -182.50 137.50 87.50 2.15413 -182.50 137.50 92.50 2.17973 -182.50 137.50 97.50 2.15413 -182.50 137.50 102.50 2.00856 -182.50 137.50 107.50 1.60946 -182.50 137.50 112.50 1.12116 -182.50 137.50 117.50 0.64336 -182.50 137.50 122.50 0.378452 -182.50 137.50 127.50 0.198172 -182.50 137.50 132.50 0.0930244 -182.50 137.50 137.50 0.07701 -182.50 137.50 142.50 0.0930245 -182.50 137.50 147.50 0.198173 -182.50 137.50 152.50 0.378453 -182.50 137.50 157.50 0.643361 -182.50 137.50 162.50 1.12116 -182.50 137.50 167.50 1.60946 -182.50 137.50 172.50 2.00856 -182.50 137.50 177.50 2.15413 -182.50 137.50 182.50 2.17973 -182.50 137.50 187.50 2.15413 -182.50 137.50 192.50 2.00856 -182.50 137.50 197.50 1.60946 -182.50 137.50 202.50 1.12116 -182.50 137.50 207.50 0.643361 -182.50 137.50 212.50 0.378453 -182.50 137.50 217.50 0.198172 -182.50 137.50 222.50 0.0930244 -182.50 137.50 227.50 0.0770099 -182.50 137.50 232.50 0.0930246 -182.50 137.50 237.50 0.198173 -182.50 137.50 242.50 0.378454 -182.50 137.50 247.50 0.643362 -182.50 137.50 252.50 1.12116 -182.50 137.50 257.50 1.60947 -182.50 137.50 262.50 2.00856 -182.50 137.50 267.50 2.15413 -182.50 137.50 272.50 2.17973 -182.50 137.50 277.50 2.15413 -182.50 137.50 282.50 2.00856 -182.50 137.50 287.50 1.60946 -182.50 137.50 292.50 1.12116 -182.50 137.50 297.50 0.643361 -182.50 137.50 302.50 0.378453 -182.50 137.50 307.50 0.198172 -182.50 137.50 312.50 0.0930244 -182.50 137.50 317.50 0.0770099 -182.50 137.50 322.50 0.0930243 -182.50 137.50 327.50 0.198172 -182.50 137.50 332.50 0.378453 -182.50 137.50 337.50 0.643361 -182.50 137.50 342.50 1.12116 -182.50 137.50 347.50 1.60946 -182.50 137.50 352.50 2.00856 -182.50 137.50 357.50 2.15413 -182.50 142.50 2.50 2.19339 -182.50 142.50 7.50 2.07809 -182.50 142.50 12.50 1.77901 -182.50 142.50 17.50 1.32677 -182.50 142.50 22.50 0.858282 -182.50 142.50 27.50 0.510357 -182.50 142.50 32.50 0.270874 -182.50 142.50 37.50 0.130463 -182.50 142.50 42.50 0.0604545 -182.50 142.50 47.50 0.04302 -182.50 142.50 52.50 0.0604546 -182.50 142.50 57.50 0.130463 -182.50 142.50 62.50 0.270874 -182.50 142.50 67.50 0.510358 -182.50 142.50 72.50 0.858283 -182.50 142.50 77.50 1.32677 -182.50 142.50 82.50 1.77901 -182.50 142.50 87.50 2.07809 -182.50 142.50 92.50 2.19339 -182.50 142.50 97.50 2.07809 -182.50 142.50 102.50 1.77901 -182.50 142.50 107.50 1.32677 -182.50 142.50 112.50 0.858283 -182.50 142.50 117.50 0.510357 -182.50 142.50 122.50 0.270874 -182.50 142.50 127.50 0.130463 -182.50 142.50 132.50 0.0604545 -182.50 142.50 137.50 0.04302 -182.50 142.50 142.50 0.0604546 -182.50 142.50 147.50 0.130463 -182.50 142.50 152.50 0.270874 -182.50 142.50 157.50 0.510357 -182.50 142.50 162.50 0.858283 -182.50 142.50 167.50 1.32677 -182.50 142.50 172.50 1.77901 -182.50 142.50 177.50 2.07809 -182.50 142.50 182.50 2.19339 -182.50 142.50 187.50 2.07809 -182.50 142.50 192.50 1.77901 -182.50 142.50 197.50 1.32677 -182.50 142.50 202.50 0.858282 -182.50 142.50 207.50 0.510357 -182.50 142.50 212.50 0.270874 -182.50 142.50 217.50 0.130463 -182.50 142.50 222.50 0.0604545 -182.50 142.50 227.50 0.0430199 -182.50 142.50 232.50 0.0604546 -182.50 142.50 237.50 0.130463 -182.50 142.50 242.50 0.270874 -182.50 142.50 247.50 0.510358 -182.50 142.50 252.50 0.858283 -182.50 142.50 257.50 1.32677 -182.50 142.50 262.50 1.77901 -182.50 142.50 267.50 2.07809 -182.50 142.50 272.50 2.19339 -182.50 142.50 277.50 2.07809 -182.50 142.50 282.50 1.77901 -182.50 142.50 287.50 1.32677 -182.50 142.50 292.50 0.858283 -182.50 142.50 297.50 0.510357 -182.50 142.50 302.50 0.270874 -182.50 142.50 307.50 0.130463 -182.50 142.50 312.50 0.0604545 -182.50 142.50 317.50 0.0430199 -182.50 142.50 322.50 0.0604544 -182.50 142.50 327.50 0.130463 -182.50 142.50 332.50 0.270874 -182.50 142.50 337.50 0.510357 -182.50 142.50 342.50 0.858281 -182.50 142.50 347.50 1.32677 -182.50 142.50 352.50 1.77901 -182.50 142.50 357.50 2.07809 -182.50 147.50 2.50 2.16641 -182.50 147.50 7.50 1.98889 -182.50 147.50 12.50 1.5664 -182.50 147.50 17.50 1.07178 -182.50 147.50 22.50 0.632948 -182.50 147.50 27.50 0.342677 -182.50 147.50 32.50 0.177973 -182.50 147.50 37.50 0.0765709 -182.50 147.50 42.50 0.0270765 -182.50 147.50 47.50 0.0153218 -182.50 147.50 52.50 0.0270766 -182.50 147.50 57.50 0.0765711 -182.50 147.50 62.50 0.177973 -182.50 147.50 67.50 0.342677 -182.50 147.50 72.50 0.632949 -182.50 147.50 77.50 1.07178 -182.50 147.50 82.50 1.5664 -182.50 147.50 87.50 1.98889 -182.50 147.50 92.50 2.16641 -182.50 147.50 97.50 1.98889 -182.50 147.50 102.50 1.5664 -182.50 147.50 107.50 1.07178 -182.50 147.50 112.50 0.632949 -182.50 147.50 117.50 0.342676 -182.50 147.50 122.50 0.177973 -182.50 147.50 127.50 0.0765708 -182.50 147.50 132.50 0.0270765 -182.50 147.50 137.50 0.0153218 -182.50 147.50 142.50 0.0270765 -182.50 147.50 147.50 0.0765711 -182.50 147.50 152.50 0.177973 -182.50 147.50 157.50 0.342677 -182.50 147.50 162.50 0.632949 -182.50 147.50 167.50 1.07178 -182.50 147.50 172.50 1.5664 -182.50 147.50 177.50 1.98889 -182.50 147.50 182.50 2.16641 -182.50 147.50 187.50 1.98889 -182.50 147.50 192.50 1.5664 -182.50 147.50 197.50 1.07178 -182.50 147.50 202.50 0.632949 -182.50 147.50 207.50 0.342677 -182.50 147.50 212.50 0.177973 -182.50 147.50 217.50 0.076571 -182.50 147.50 222.50 0.0270765 -182.50 147.50 227.50 0.0153218 -182.50 147.50 232.50 0.0270766 -182.50 147.50 237.50 0.0765712 -182.50 147.50 242.50 0.177973 -182.50 147.50 247.50 0.342677 -182.50 147.50 252.50 0.632949 -182.50 147.50 257.50 1.07178 -182.50 147.50 262.50 1.5664 -182.50 147.50 267.50 1.98889 -182.50 147.50 272.50 2.16641 -182.50 147.50 277.50 1.98889 -182.50 147.50 282.50 1.5664 -182.50 147.50 287.50 1.07178 -182.50 147.50 292.50 0.632949 -182.50 147.50 297.50 0.342677 -182.50 147.50 302.50 0.177973 -182.50 147.50 307.50 0.0765711 -182.50 147.50 312.50 0.0270765 -182.50 147.50 317.50 0.0153218 -182.50 147.50 322.50 0.0270765 -182.50 147.50 327.50 0.0765709 -182.50 147.50 332.50 0.177973 -182.50 147.50 337.50 0.342676 -182.50 147.50 342.50 0.632948 -182.50 147.50 347.50 1.07178 -182.50 147.50 352.50 1.5664 -182.50 147.50 357.50 1.98889 -182.50 152.50 2.50 2.09376 -182.50 152.50 7.50 1.90025 -182.50 152.50 12.50 1.4145 -182.50 152.50 17.50 0.882763 -182.50 152.50 22.50 0.485034 -182.50 152.50 27.50 0.222739 -182.50 152.50 32.50 0.114577 -182.50 152.50 37.50 0.0480734 -182.50 152.50 42.50 0.0146966 -182.50 152.50 47.50 0.00726675 -182.50 152.50 52.50 0.0146966 -182.50 152.50 57.50 0.0480735 -182.50 152.50 62.50 0.114577 -182.50 152.50 67.50 0.22274 -182.50 152.50 72.50 0.485035 -182.50 152.50 77.50 0.882763 -182.50 152.50 82.50 1.4145 -182.50 152.50 87.50 1.90025 -182.50 152.50 92.50 2.09376 -182.50 152.50 97.50 1.90025 -182.50 152.50 102.50 1.4145 -182.50 152.50 107.50 0.882763 -182.50 152.50 112.50 0.485034 -182.50 152.50 117.50 0.222739 -182.50 152.50 122.50 0.114577 -182.50 152.50 127.50 0.0480735 -182.50 152.50 132.50 0.0146966 -182.50 152.50 137.50 0.00726674 -182.50 152.50 142.50 0.0146966 -182.50 152.50 147.50 0.0480735 -182.50 152.50 152.50 0.114577 -182.50 152.50 157.50 0.222739 -182.50 152.50 162.50 0.485034 -182.50 152.50 167.50 0.882763 -182.50 152.50 172.50 1.4145 -182.50 152.50 177.50 1.90025 -182.50 152.50 182.50 2.09376 -182.50 152.50 187.50 1.90025 -182.50 152.50 192.50 1.4145 -182.50 152.50 197.50 0.882763 -182.50 152.50 202.50 0.485034 -182.50 152.50 207.50 0.222739 -182.50 152.50 212.50 0.114577 -182.50 152.50 217.50 0.0480735 -182.50 152.50 222.50 0.0146966 -182.50 152.50 227.50 0.00726673 -182.50 152.50 232.50 0.0146966 -182.50 152.50 237.50 0.0480735 -182.50 152.50 242.50 0.114577 -182.50 152.50 247.50 0.22274 -182.50 152.50 252.50 0.485035 -182.50 152.50 257.50 0.882764 -182.50 152.50 262.50 1.4145 -182.50 152.50 267.50 1.90025 -182.50 152.50 272.50 2.09376 -182.50 152.50 277.50 1.90025 -182.50 152.50 282.50 1.4145 -182.50 152.50 287.50 0.882764 -182.50 152.50 292.50 0.485035 -182.50 152.50 297.50 0.222739 -182.50 152.50 302.50 0.114577 -182.50 152.50 307.50 0.0480735 -182.50 152.50 312.50 0.0146966 -182.50 152.50 317.50 0.00726674 -182.50 152.50 322.50 0.0146966 -182.50 152.50 327.50 0.0480735 -182.50 152.50 332.50 0.114577 -182.50 152.50 337.50 0.222739 -182.50 152.50 342.50 0.485034 -182.50 152.50 347.50 0.882762 -182.50 152.50 352.50 1.4145 -182.50 152.50 357.50 1.90025 -182.50 157.50 2.50 2.01833 -182.50 157.50 7.50 1.81567 -182.50 157.50 12.50 1.30406 -182.50 157.50 17.50 0.780018 -182.50 157.50 22.50 0.396484 -182.50 157.50 27.50 0.178891 -182.50 157.50 32.50 0.0744754 -182.50 157.50 37.50 0.0401161 -182.50 157.50 42.50 0.0214562 -182.50 157.50 47.50 0.0140425 -182.50 157.50 52.50 0.0214562 -182.50 157.50 57.50 0.0401161 -182.50 157.50 62.50 0.0744755 -182.50 157.50 67.50 0.178892 -182.50 157.50 72.50 0.396484 -182.50 157.50 77.50 0.780018 -182.50 157.50 82.50 1.30406 -182.50 157.50 87.50 1.81567 -182.50 157.50 92.50 2.01833 -182.50 157.50 97.50 1.81567 -182.50 157.50 102.50 1.30406 -182.50 157.50 107.50 0.780018 -182.50 157.50 112.50 0.396484 -182.50 157.50 117.50 0.178891 -182.50 157.50 122.50 0.0744753 -182.50 157.50 127.50 0.040116 -182.50 157.50 132.50 0.0214561 -182.50 157.50 137.50 0.0140425 -182.50 157.50 142.50 0.0214562 -182.50 157.50 147.50 0.0401161 -182.50 157.50 152.50 0.0744754 -182.50 157.50 157.50 0.178891 -182.50 157.50 162.50 0.396484 -182.50 157.50 167.50 0.780018 -182.50 157.50 172.50 1.30406 -182.50 157.50 177.50 1.81567 -182.50 157.50 182.50 2.01833 -182.50 157.50 187.50 1.81567 -182.50 157.50 192.50 1.30406 -182.50 157.50 197.50 0.780018 -182.50 157.50 202.50 0.396484 -182.50 157.50 207.50 0.178891 -182.50 157.50 212.50 0.0744754 -182.50 157.50 217.50 0.0401161 -182.50 157.50 222.50 0.0214562 -182.50 157.50 227.50 0.0140425 -182.50 157.50 232.50 0.0214562 -182.50 157.50 237.50 0.0401161 -182.50 157.50 242.50 0.0744755 -182.50 157.50 247.50 0.178892 -182.50 157.50 252.50 0.396484 -182.50 157.50 257.50 0.780019 -182.50 157.50 262.50 1.30406 -182.50 157.50 267.50 1.81567 -182.50 157.50 272.50 2.01833 -182.50 157.50 277.50 1.81567 -182.50 157.50 282.50 1.30406 -182.50 157.50 287.50 0.780019 -182.50 157.50 292.50 0.396484 -182.50 157.50 297.50 0.178892 -182.50 157.50 302.50 0.0744754 -182.50 157.50 307.50 0.0401161 -182.50 157.50 312.50 0.0214562 -182.50 157.50 317.50 0.0140425 -182.50 157.50 322.50 0.0214562 -182.50 157.50 327.50 0.0401161 -182.50 157.50 332.50 0.0744752 -182.50 157.50 337.50 0.178891 -182.50 157.50 342.50 0.396483 -182.50 157.50 347.50 0.780017 -182.50 157.50 352.50 1.30406 -182.50 157.50 357.50 1.81566 -182.50 162.50 2.50 1.90406 -182.50 162.50 7.50 1.67252 -182.50 162.50 12.50 1.14035 -182.50 162.50 17.50 0.656469 -182.50 162.50 22.50 0.319308 -182.50 162.50 27.50 0.138134 -182.50 162.50 32.50 0.0639756 -182.50 162.50 37.50 0.0402312 -182.50 162.50 42.50 0.0410276 -182.50 162.50 47.50 0.0480175 -182.50 162.50 52.50 0.0410277 -182.50 162.50 57.50 0.0402312 -182.50 162.50 62.50 0.0639757 -182.50 162.50 67.50 0.138135 -182.50 162.50 72.50 0.319308 -182.50 162.50 77.50 0.656469 -182.50 162.50 82.50 1.14035 -182.50 162.50 87.50 1.67252 -182.50 162.50 92.50 1.90406 -182.50 162.50 97.50 1.67252 -182.50 162.50 102.50 1.14035 -182.50 162.50 107.50 0.656469 -182.50 162.50 112.50 0.319308 -182.50 162.50 117.50 0.138134 -182.50 162.50 122.50 0.0639756 -182.50 162.50 127.50 0.0402312 -182.50 162.50 132.50 0.0410277 -182.50 162.50 137.50 0.0480175 -182.50 162.50 142.50 0.0410277 -182.50 162.50 147.50 0.0402312 -182.50 162.50 152.50 0.0639757 -182.50 162.50 157.50 0.138134 -182.50 162.50 162.50 0.319308 -182.50 162.50 167.50 0.65647 -182.50 162.50 172.50 1.14035 -182.50 162.50 177.50 1.67252 -182.50 162.50 182.50 1.90406 -182.50 162.50 187.50 1.67252 -182.50 162.50 192.50 1.14035 -182.50 162.50 197.50 0.656469 -182.50 162.50 202.50 0.319308 -182.50 162.50 207.50 0.138134 -182.50 162.50 212.50 0.0639756 -182.50 162.50 217.50 0.0402311 -182.50 162.50 222.50 0.0410276 -182.50 162.50 227.50 0.0480175 -182.50 162.50 232.50 0.0410276 -182.50 162.50 237.50 0.0402312 -182.50 162.50 242.50 0.0639757 -182.50 162.50 247.50 0.138134 -182.50 162.50 252.50 0.319308 -182.50 162.50 257.50 0.656469 -182.50 162.50 262.50 1.14035 -182.50 162.50 267.50 1.67252 -182.50 162.50 272.50 1.90406 -182.50 162.50 277.50 1.67252 -182.50 162.50 282.50 1.14035 -182.50 162.50 287.50 0.656469 -182.50 162.50 292.50 0.319308 -182.50 162.50 297.50 0.138134 -182.50 162.50 302.50 0.0639757 -182.50 162.50 307.50 0.0402311 -182.50 162.50 312.50 0.0410277 -182.50 162.50 317.50 0.0480175 -182.50 162.50 322.50 0.0410277 -182.50 162.50 327.50 0.0402311 -182.50 162.50 332.50 0.0639756 -182.50 162.50 337.50 0.138134 -182.50 162.50 342.50 0.319307 -182.50 162.50 347.50 0.656468 -182.50 162.50 352.50 1.14034 -182.50 162.50 357.50 1.67252 -182.50 167.50 2.50 1.78132 -182.50 167.50 7.50 1.49961 -182.50 167.50 12.50 0.922102 -182.50 167.50 17.50 0.474879 -182.50 167.50 22.50 0.232683 -182.50 167.50 27.50 0.106683 -182.50 167.50 32.50 0.0442968 -182.50 167.50 37.50 0.0422444 -182.50 167.50 42.50 0.06695 -182.50 167.50 47.50 0.0823487 -182.50 167.50 52.50 0.06695 -182.50 167.50 57.50 0.0422444 -182.50 167.50 62.50 0.0442969 -182.50 167.50 67.50 0.106683 -182.50 167.50 72.50 0.232683 -182.50 167.50 77.50 0.474879 -182.50 167.50 82.50 0.922101 -182.50 167.50 87.50 1.49961 -182.50 167.50 92.50 1.78132 -182.50 167.50 97.50 1.49961 -182.50 167.50 102.50 0.922102 -182.50 167.50 107.50 0.474879 -182.50 167.50 112.50 0.232683 -182.50 167.50 117.50 0.106683 -182.50 167.50 122.50 0.0442968 -182.50 167.50 127.50 0.0422444 -182.50 167.50 132.50 0.0669501 -182.50 167.50 137.50 0.0823487 -182.50 167.50 142.50 0.06695 -182.50 167.50 147.50 0.0422444 -182.50 167.50 152.50 0.0442968 -182.50 167.50 157.50 0.106683 -182.50 167.50 162.50 0.232683 -182.50 167.50 167.50 0.474879 -182.50 167.50 172.50 0.922101 -182.50 167.50 177.50 1.49961 -182.50 167.50 182.50 1.78132 -182.50 167.50 187.50 1.49961 -182.50 167.50 192.50 0.922102 -182.50 167.50 197.50 0.474879 -182.50 167.50 202.50 0.232683 -182.50 167.50 207.50 0.106683 -182.50 167.50 212.50 0.0442968 -182.50 167.50 217.50 0.0422444 -182.50 167.50 222.50 0.06695 -182.50 167.50 227.50 0.0823487 -182.50 167.50 232.50 0.06695 -182.50 167.50 237.50 0.0422444 -182.50 167.50 242.50 0.0442969 -182.50 167.50 247.50 0.106683 -182.50 167.50 252.50 0.232683 -182.50 167.50 257.50 0.474879 -182.50 167.50 262.50 0.922102 -182.50 167.50 267.50 1.49961 -182.50 167.50 272.50 1.78132 -182.50 167.50 277.50 1.49961 -182.50 167.50 282.50 0.922102 -182.50 167.50 287.50 0.474879 -182.50 167.50 292.50 0.232683 -182.50 167.50 297.50 0.106683 -182.50 167.50 302.50 0.0442968 -182.50 167.50 307.50 0.0422444 -182.50 167.50 312.50 0.06695 -182.50 167.50 317.50 0.0823487 -182.50 167.50 322.50 0.0669501 -182.50 167.50 327.50 0.0422444 -182.50 167.50 332.50 0.0442968 -182.50 167.50 337.50 0.106683 -182.50 167.50 342.50 0.232682 -182.50 167.50 347.50 0.474878 -182.50 167.50 352.50 0.9221 -182.50 167.50 357.50 1.49961 -182.50 172.50 2.50 1.59627 -182.50 172.50 7.50 1.29229 -182.50 172.50 12.50 0.712489 -182.50 172.50 17.50 0.305996 -182.50 172.50 22.50 0.137474 -182.50 172.50 27.50 0.0745082 -182.50 172.50 32.50 0.0533662 -182.50 172.50 37.50 0.0564789 -182.50 172.50 42.50 0.0727373 -182.50 172.50 47.50 0.0833499 -182.50 172.50 52.50 0.0727373 -182.50 172.50 57.50 0.056479 -182.50 172.50 62.50 0.0533663 -182.50 172.50 67.50 0.0745082 -182.50 172.50 72.50 0.137474 -182.50 172.50 77.50 0.305996 -182.50 172.50 82.50 0.712489 -182.50 172.50 87.50 1.29229 -182.50 172.50 92.50 1.59627 -182.50 172.50 97.50 1.29229 -182.50 172.50 102.50 0.712489 -182.50 172.50 107.50 0.305996 -182.50 172.50 112.50 0.137474 -182.50 172.50 117.50 0.0745082 -182.50 172.50 122.50 0.0533662 -182.50 172.50 127.50 0.0564789 -182.50 172.50 132.50 0.0727373 -182.50 172.50 137.50 0.0833499 -182.50 172.50 142.50 0.0727374 -182.50 172.50 147.50 0.056479 -182.50 172.50 152.50 0.0533662 -182.50 172.50 157.50 0.0745082 -182.50 172.50 162.50 0.137474 -182.50 172.50 167.50 0.305996 -182.50 172.50 172.50 0.712488 -182.50 172.50 177.50 1.29229 -182.50 172.50 182.50 1.59627 -182.50 172.50 187.50 1.29229 -182.50 172.50 192.50 0.712489 -182.50 172.50 197.50 0.305996 -182.50 172.50 202.50 0.137474 -182.50 172.50 207.50 0.0745083 -182.50 172.50 212.50 0.0533662 -182.50 172.50 217.50 0.0564789 -182.50 172.50 222.50 0.0727373 -182.50 172.50 227.50 0.0833499 -182.50 172.50 232.50 0.0727374 -182.50 172.50 237.50 0.0564789 -182.50 172.50 242.50 0.0533663 -182.50 172.50 247.50 0.0745082 -182.50 172.50 252.50 0.137474 -182.50 172.50 257.50 0.305996 -182.50 172.50 262.50 0.712489 -182.50 172.50 267.50 1.29229 -182.50 172.50 272.50 1.59627 -182.50 172.50 277.50 1.29229 -182.50 172.50 282.50 0.71249 -182.50 172.50 287.50 0.305996 -182.50 172.50 292.50 0.137474 -182.50 172.50 297.50 0.0745082 -182.50 172.50 302.50 0.0533662 -182.50 172.50 307.50 0.0564789 -182.50 172.50 312.50 0.0727373 -182.50 172.50 317.50 0.0833499 -182.50 172.50 322.50 0.0727374 -182.50 172.50 327.50 0.0564789 -182.50 172.50 332.50 0.0533662 -182.50 172.50 337.50 0.0745081 -182.50 172.50 342.50 0.137473 -182.50 172.50 347.50 0.305995 -182.50 172.50 352.50 0.712487 -182.50 172.50 357.50 1.29228 -182.50 177.50 2.50 1.24805 -182.50 177.50 7.50 0.987009 -182.50 177.50 12.50 0.506918 -182.50 177.50 17.50 0.197143 -182.50 177.50 22.50 0.0804381 -182.50 177.50 27.50 0.0491677 -182.50 177.50 32.50 0.045313 -182.50 177.50 37.50 0.0573038 -182.50 177.50 42.50 0.0692315 -182.50 177.50 47.50 0.0738693 -182.50 177.50 52.50 0.0692315 -182.50 177.50 57.50 0.0573038 -182.50 177.50 62.50 0.0453129 -182.50 177.50 67.50 0.0491677 -182.50 177.50 72.50 0.0804381 -182.50 177.50 77.50 0.197143 -182.50 177.50 82.50 0.506919 -182.50 177.50 87.50 0.987009 -182.50 177.50 92.50 1.24805 -182.50 177.50 97.50 0.987007 -182.50 177.50 102.50 0.506918 -182.50 177.50 107.50 0.197143 -182.50 177.50 112.50 0.0804381 -182.50 177.50 117.50 0.0491677 -182.50 177.50 122.50 0.0453129 -182.50 177.50 127.50 0.0573038 -182.50 177.50 132.50 0.0692315 -182.50 177.50 137.50 0.0738692 -182.50 177.50 142.50 0.0692315 -182.50 177.50 147.50 0.0573038 -182.50 177.50 152.50 0.045313 -182.50 177.50 157.50 0.0491677 -182.50 177.50 162.50 0.0804381 -182.50 177.50 167.50 0.197143 -182.50 177.50 172.50 0.506918 -182.50 177.50 177.50 0.987008 -182.50 177.50 182.50 1.24805 -182.50 177.50 187.50 0.987009 -182.50 177.50 192.50 0.506918 -182.50 177.50 197.50 0.197143 -182.50 177.50 202.50 0.0804381 -182.50 177.50 207.50 0.0491677 -182.50 177.50 212.50 0.0453129 -182.50 177.50 217.50 0.0573038 -182.50 177.50 222.50 0.0692315 -182.50 177.50 227.50 0.0738692 -182.50 177.50 232.50 0.0692315 -182.50 177.50 237.50 0.0573038 -182.50 177.50 242.50 0.045313 -182.50 177.50 247.50 0.0491677 -182.50 177.50 252.50 0.0804381 -182.50 177.50 257.50 0.197143 -182.50 177.50 262.50 0.506917 -182.50 177.50 267.50 0.987008 -182.50 177.50 272.50 1.24805 -182.50 177.50 277.50 0.987011 -182.50 177.50 282.50 0.506919 -182.50 177.50 287.50 0.197143 -182.50 177.50 292.50 0.0804381 -182.50 177.50 297.50 0.0491677 -182.50 177.50 302.50 0.045313 -182.50 177.50 307.50 0.0573038 -182.50 177.50 312.50 0.0692315 -182.50 177.50 317.50 0.0738692 -182.50 177.50 322.50 0.0692315 -182.50 177.50 327.50 0.0573038 -182.50 177.50 332.50 0.045313 -182.50 177.50 337.50 0.0491677 -182.50 177.50 342.50 0.0804379 -182.50 177.50 347.50 0.197142 -182.50 177.50 352.50 0.506916 -182.50 177.50 357.50 0.987007 -187.50 2.50 2.50 0.773179 -187.50 2.50 7.50 0.393272 -187.50 2.50 12.50 0.149977 -187.50 2.50 17.50 0.0624685 -187.50 2.50 22.50 0.0485219 -187.50 2.50 27.50 0.0601603 -187.50 2.50 32.50 0.0760386 -187.50 2.50 37.50 0.083846 -187.50 2.50 42.50 0.084539 -187.50 2.50 47.50 0.083846 -187.50 2.50 52.50 0.0760385 -187.50 2.50 57.50 0.0601603 -187.50 2.50 62.50 0.0485219 -187.50 2.50 67.50 0.0624686 -187.50 2.50 72.50 0.149977 -187.50 2.50 77.50 0.393273 -187.50 2.50 82.50 0.773179 -187.50 2.50 87.50 0.980476 -187.50 2.50 92.50 0.773178 -187.50 2.50 97.50 0.393272 -187.50 2.50 102.50 0.149977 -187.50 2.50 107.50 0.0624685 -187.50 2.50 112.50 0.048522 -187.50 2.50 117.50 0.0601603 -187.50 2.50 122.50 0.0760386 -187.50 2.50 127.50 0.083846 -187.50 2.50 132.50 0.084539 -187.50 2.50 137.50 0.083846 -187.50 2.50 142.50 0.0760385 -187.50 2.50 147.50 0.0601603 -187.50 2.50 152.50 0.0485219 -187.50 2.50 157.50 0.0624686 -187.50 2.50 162.50 0.149977 -187.50 2.50 167.50 0.393273 -187.50 2.50 172.50 0.773179 -187.50 2.50 177.50 0.980476 -187.50 2.50 182.50 0.773178 -187.50 2.50 187.50 0.393272 -187.50 2.50 192.50 0.149977 -187.50 2.50 197.50 0.0624685 -187.50 2.50 202.50 0.0485219 -187.50 2.50 207.50 0.0601603 -187.50 2.50 212.50 0.0760386 -187.50 2.50 217.50 0.083846 -187.50 2.50 222.50 0.084539 -187.50 2.50 227.50 0.083846 -187.50 2.50 232.50 0.0760385 -187.50 2.50 237.50 0.0601603 -187.50 2.50 242.50 0.0485219 -187.50 2.50 247.50 0.0624686 -187.50 2.50 252.50 0.149977 -187.50 2.50 257.50 0.393273 -187.50 2.50 262.50 0.77318 -187.50 2.50 267.50 0.980476 -187.50 2.50 272.50 0.773178 -187.50 2.50 277.50 0.393272 -187.50 2.50 282.50 0.149977 -187.50 2.50 287.50 0.0624685 -187.50 2.50 292.50 0.048522 -187.50 2.50 297.50 0.0601603 -187.50 2.50 302.50 0.0760386 -187.50 2.50 307.50 0.083846 -187.50 2.50 312.50 0.084539 -187.50 2.50 317.50 0.083846 -187.50 2.50 322.50 0.0760386 -187.50 2.50 327.50 0.0601603 -187.50 2.50 332.50 0.0485219 -187.50 2.50 337.50 0.0624686 -187.50 2.50 342.50 0.149977 -187.50 2.50 347.50 0.393272 -187.50 2.50 352.50 0.773178 -187.50 2.50 357.50 0.980476 -187.50 7.50 2.50 0.987353 -187.50 7.50 7.50 0.578476 -187.50 7.50 12.50 0.235544 -187.50 7.50 17.50 0.0924006 -187.50 7.50 22.50 0.0569323 -187.50 7.50 27.50 0.0533238 -187.50 7.50 32.50 0.0573382 -187.50 7.50 37.50 0.0686384 -187.50 7.50 42.50 0.0739502 -187.50 7.50 47.50 0.0700448 -187.50 7.50 52.50 0.0576317 -187.50 7.50 57.50 0.0448351 -187.50 7.50 62.50 0.0436249 -187.50 7.50 67.50 0.0759277 -187.50 7.50 72.50 0.184365 -187.50 7.50 77.50 0.4489 -187.50 7.50 82.50 0.846008 -187.50 7.50 87.50 1.11342 -187.50 7.50 92.50 0.987351 -187.50 7.50 97.50 0.578476 -187.50 7.50 102.50 0.235544 -187.50 7.50 107.50 0.0924006 -187.50 7.50 112.50 0.0569323 -187.50 7.50 117.50 0.0533238 -187.50 7.50 122.50 0.0573382 -187.50 7.50 127.50 0.0686384 -187.50 7.50 132.50 0.0739502 -187.50 7.50 137.50 0.0700448 -187.50 7.50 142.50 0.0576317 -187.50 7.50 147.50 0.0448351 -187.50 7.50 152.50 0.0436248 -187.50 7.50 157.50 0.0759276 -187.50 7.50 162.50 0.184365 -187.50 7.50 167.50 0.4489 -187.50 7.50 172.50 0.846009 -187.50 7.50 177.50 1.11343 -187.50 7.50 182.50 0.987353 -187.50 7.50 187.50 0.578475 -187.50 7.50 192.50 0.235544 -187.50 7.50 197.50 0.0924005 -187.50 7.50 202.50 0.0569322 -187.50 7.50 207.50 0.0533238 -187.50 7.50 212.50 0.0573382 -187.50 7.50 217.50 0.0686384 -187.50 7.50 222.50 0.0739502 -187.50 7.50 227.50 0.0700448 -187.50 7.50 232.50 0.0576317 -187.50 7.50 237.50 0.0448351 -187.50 7.50 242.50 0.0436248 -187.50 7.50 247.50 0.0759277 -187.50 7.50 252.50 0.184365 -187.50 7.50 257.50 0.448901 -187.50 7.50 262.50 0.846011 -187.50 7.50 267.50 1.11343 -187.50 7.50 272.50 0.987354 -187.50 7.50 277.50 0.578475 -187.50 7.50 282.50 0.235544 -187.50 7.50 287.50 0.0924006 -187.50 7.50 292.50 0.0569322 -187.50 7.50 297.50 0.0533238 -187.50 7.50 302.50 0.0573382 -187.50 7.50 307.50 0.0686384 -187.50 7.50 312.50 0.0739502 -187.50 7.50 317.50 0.0700448 -187.50 7.50 322.50 0.0576318 -187.50 7.50 327.50 0.0448351 -187.50 7.50 332.50 0.0436248 -187.50 7.50 337.50 0.0759275 -187.50 7.50 342.50 0.184364 -187.50 7.50 347.50 0.4489 -187.50 7.50 352.50 0.846009 -187.50 7.50 357.50 1.11343 -187.50 12.50 2.50 1.3016 -187.50 12.50 7.50 0.806012 -187.50 12.50 12.50 0.363567 -187.50 12.50 17.50 0.152794 -187.50 12.50 22.50 0.0887193 -187.50 12.50 27.50 0.066771 -187.50 12.50 32.50 0.0660808 -187.50 12.50 37.50 0.0789392 -187.50 12.50 42.50 0.0858503 -187.50 12.50 47.50 0.0719836 -187.50 12.50 52.50 0.0491793 -187.50 12.50 57.50 0.0428904 -187.50 12.50 62.50 0.0633139 -187.50 12.50 67.50 0.127569 -187.50 12.50 72.50 0.290226 -187.50 12.50 77.50 0.636201 -187.50 12.50 82.50 1.12328 -187.50 12.50 87.50 1.44265 -187.50 12.50 92.50 1.3016 -187.50 12.50 97.50 0.806012 -187.50 12.50 102.50 0.363567 -187.50 12.50 107.50 0.152794 -187.50 12.50 112.50 0.0887193 -187.50 12.50 117.50 0.066771 -187.50 12.50 122.50 0.0660809 -187.50 12.50 127.50 0.0789392 -187.50 12.50 132.50 0.0858503 -187.50 12.50 137.50 0.0719836 -187.50 12.50 142.50 0.0491793 -187.50 12.50 147.50 0.0428904 -187.50 12.50 152.50 0.0633138 -187.50 12.50 157.50 0.127569 -187.50 12.50 162.50 0.290226 -187.50 12.50 167.50 0.6362 -187.50 12.50 172.50 1.12328 -187.50 12.50 177.50 1.44265 -187.50 12.50 182.50 1.3016 -187.50 12.50 187.50 0.806012 -187.50 12.50 192.50 0.363567 -187.50 12.50 197.50 0.152794 -187.50 12.50 202.50 0.0887193 -187.50 12.50 207.50 0.0667711 -187.50 12.50 212.50 0.0660809 -187.50 12.50 217.50 0.0789392 -187.50 12.50 222.50 0.0858503 -187.50 12.50 227.50 0.0719836 -187.50 12.50 232.50 0.0491793 -187.50 12.50 237.50 0.0428905 -187.50 12.50 242.50 0.0633139 -187.50 12.50 247.50 0.127569 -187.50 12.50 252.50 0.290226 -187.50 12.50 257.50 0.636202 -187.50 12.50 262.50 1.12328 -187.50 12.50 267.50 1.44265 -187.50 12.50 272.50 1.3016 -187.50 12.50 277.50 0.806012 -187.50 12.50 282.50 0.363567 -187.50 12.50 287.50 0.152794 -187.50 12.50 292.50 0.0887193 -187.50 12.50 297.50 0.0667711 -187.50 12.50 302.50 0.0660809 -187.50 12.50 307.50 0.0789391 -187.50 12.50 312.50 0.0858503 -187.50 12.50 317.50 0.0719836 -187.50 12.50 322.50 0.0491794 -187.50 12.50 327.50 0.0428904 -187.50 12.50 332.50 0.0633137 -187.50 12.50 337.50 0.127569 -187.50 12.50 342.50 0.290225 -187.50 12.50 347.50 0.6362 -187.50 12.50 352.50 1.12328 -187.50 12.50 357.50 1.44265 -187.50 17.50 2.50 1.52022 -187.50 17.50 7.50 1.02628 -187.50 17.50 12.50 0.531968 -187.50 17.50 17.50 0.276507 -187.50 17.50 22.50 0.15518 -187.50 17.50 27.50 0.0857277 -187.50 17.50 32.50 0.0524679 -187.50 17.50 37.50 0.068673 -187.50 17.50 42.50 0.0845745 -187.50 17.50 47.50 0.0691217 -187.50 17.50 52.50 0.040952 -187.50 17.50 57.50 0.0323908 -187.50 17.50 62.50 0.065994 -187.50 17.50 67.50 0.18591 -187.50 17.50 72.50 0.432081 -187.50 17.50 77.50 0.847715 -187.50 17.50 82.50 1.3519 -187.50 17.50 87.50 1.65379 -187.50 17.50 92.50 1.52022 -187.50 17.50 97.50 1.02628 -187.50 17.50 102.50 0.531968 -187.50 17.50 107.50 0.276507 -187.50 17.50 112.50 0.155179 -187.50 17.50 117.50 0.0857276 -187.50 17.50 122.50 0.0524679 -187.50 17.50 127.50 0.068673 -187.50 17.50 132.50 0.0845745 -187.50 17.50 137.50 0.0691217 -187.50 17.50 142.50 0.040952 -187.50 17.50 147.50 0.0323908 -187.50 17.50 152.50 0.0659939 -187.50 17.50 157.50 0.18591 -187.50 17.50 162.50 0.432081 -187.50 17.50 167.50 0.847715 -187.50 17.50 172.50 1.35189 -187.50 17.50 177.50 1.65379 -187.50 17.50 182.50 1.52022 -187.50 17.50 187.50 1.02628 -187.50 17.50 192.50 0.531968 -187.50 17.50 197.50 0.276507 -187.50 17.50 202.50 0.155179 -187.50 17.50 207.50 0.0857277 -187.50 17.50 212.50 0.052468 -187.50 17.50 217.50 0.068673 -187.50 17.50 222.50 0.0845745 -187.50 17.50 227.50 0.0691217 -187.50 17.50 232.50 0.040952 -187.50 17.50 237.50 0.0323908 -187.50 17.50 242.50 0.0659941 -187.50 17.50 247.50 0.18591 -187.50 17.50 252.50 0.432082 -187.50 17.50 257.50 0.847716 -187.50 17.50 262.50 1.3519 -187.50 17.50 267.50 1.65379 -187.50 17.50 272.50 1.52023 -187.50 17.50 277.50 1.02628 -187.50 17.50 282.50 0.531968 -187.50 17.50 287.50 0.276507 -187.50 17.50 292.50 0.155179 -187.50 17.50 297.50 0.0857277 -187.50 17.50 302.50 0.052468 -187.50 17.50 307.50 0.068673 -187.50 17.50 312.50 0.0845745 -187.50 17.50 317.50 0.0691217 -187.50 17.50 322.50 0.040952 -187.50 17.50 327.50 0.0323908 -187.50 17.50 332.50 0.0659938 -187.50 17.50 337.50 0.18591 -187.50 17.50 342.50 0.432081 -187.50 17.50 347.50 0.847714 -187.50 17.50 352.50 1.35189 -187.50 17.50 357.50 1.65379 -187.50 22.50 2.50 1.70709 -187.50 22.50 7.50 1.26139 -187.50 22.50 12.50 0.757891 -187.50 22.50 17.50 0.430747 -187.50 22.50 22.50 0.220447 -187.50 22.50 27.50 0.111743 -187.50 22.50 32.50 0.063614 -187.50 22.50 37.50 0.0511927 -187.50 22.50 42.50 0.0491587 -187.50 22.50 47.50 0.0402605 -187.50 22.50 52.50 0.0275172 -187.50 22.50 57.50 0.0373365 -187.50 22.50 62.50 0.0872122 -187.50 22.50 67.50 0.232619 -187.50 22.50 72.50 0.554598 -187.50 22.50 77.50 1.04041 -187.50 22.50 82.50 1.53789 -187.50 22.50 87.50 1.81865 -187.50 22.50 92.50 1.70709 -187.50 22.50 97.50 1.26139 -187.50 22.50 102.50 0.75789 -187.50 22.50 107.50 0.430748 -187.50 22.50 112.50 0.220447 -187.50 22.50 117.50 0.111743 -187.50 22.50 122.50 0.063614 -187.50 22.50 127.50 0.0511927 -187.50 22.50 132.50 0.0491587 -187.50 22.50 137.50 0.0402605 -187.50 22.50 142.50 0.0275172 -187.50 22.50 147.50 0.0373365 -187.50 22.50 152.50 0.0872121 -187.50 22.50 157.50 0.232619 -187.50 22.50 162.50 0.554598 -187.50 22.50 167.50 1.04041 -187.50 22.50 172.50 1.53789 -187.50 22.50 177.50 1.81865 -187.50 22.50 182.50 1.70709 -187.50 22.50 187.50 1.26139 -187.50 22.50 192.50 0.75789 -187.50 22.50 197.50 0.430747 -187.50 22.50 202.50 0.220447 -187.50 22.50 207.50 0.111743 -187.50 22.50 212.50 0.063614 -187.50 22.50 217.50 0.0511928 -187.50 22.50 222.50 0.0491587 -187.50 22.50 227.50 0.0402605 -187.50 22.50 232.50 0.0275172 -187.50 22.50 237.50 0.0373366 -187.50 22.50 242.50 0.0872123 -187.50 22.50 247.50 0.232619 -187.50 22.50 252.50 0.554599 -187.50 22.50 257.50 1.04041 -187.50 22.50 262.50 1.53789 -187.50 22.50 267.50 1.81865 -187.50 22.50 272.50 1.70709 -187.50 22.50 277.50 1.26139 -187.50 22.50 282.50 0.75789 -187.50 22.50 287.50 0.430748 -187.50 22.50 292.50 0.220447 -187.50 22.50 297.50 0.111743 -187.50 22.50 302.50 0.063614 -187.50 22.50 307.50 0.0511927 -187.50 22.50 312.50 0.0491587 -187.50 22.50 317.50 0.0402606 -187.50 22.50 322.50 0.0275172 -187.50 22.50 327.50 0.0373365 -187.50 22.50 332.50 0.087212 -187.50 22.50 337.50 0.232618 -187.50 22.50 342.50 0.554597 -187.50 22.50 347.50 1.04041 -187.50 22.50 352.50 1.53789 -187.50 22.50 357.50 1.81865 -187.50 27.50 2.50 1.8763 -187.50 27.50 7.50 1.47625 -187.50 27.50 12.50 0.979424 -187.50 27.50 17.50 0.578258 -187.50 27.50 22.50 0.316784 -187.50 27.50 27.50 0.165614 -187.50 27.50 32.50 0.0718561 -187.50 27.50 37.50 0.0369661 -187.50 27.50 42.50 0.0208142 -187.50 27.50 47.50 0.0123819 -187.50 27.50 52.50 0.0206685 -187.50 27.50 57.50 0.0413406 -187.50 27.50 62.50 0.0856217 -187.50 27.50 67.50 0.253092 -187.50 27.50 72.50 0.603202 -187.50 27.50 77.50 1.13362 -187.50 27.50 82.50 1.65688 -187.50 27.50 87.50 1.96189 -187.50 27.50 92.50 1.8763 -187.50 27.50 97.50 1.47625 -187.50 27.50 102.50 0.979424 -187.50 27.50 107.50 0.578258 -187.50 27.50 112.50 0.316784 -187.50 27.50 117.50 0.165614 -187.50 27.50 122.50 0.0718561 -187.50 27.50 127.50 0.0369661 -187.50 27.50 132.50 0.0208142 -187.50 27.50 137.50 0.0123819 -187.50 27.50 142.50 0.0206685 -187.50 27.50 147.50 0.0413406 -187.50 27.50 152.50 0.0856215 -187.50 27.50 157.50 0.253091 -187.50 27.50 162.50 0.603202 -187.50 27.50 167.50 1.13362 -187.50 27.50 172.50 1.65688 -187.50 27.50 177.50 1.96189 -187.50 27.50 182.50 1.8763 -187.50 27.50 187.50 1.47625 -187.50 27.50 192.50 0.979423 -187.50 27.50 197.50 0.578258 -187.50 27.50 202.50 0.316784 -187.50 27.50 207.50 0.165614 -187.50 27.50 212.50 0.0718561 -187.50 27.50 217.50 0.0369662 -187.50 27.50 222.50 0.0208142 -187.50 27.50 227.50 0.0123819 -187.50 27.50 232.50 0.0206686 -187.50 27.50 237.50 0.0413407 -187.50 27.50 242.50 0.0856218 -187.50 27.50 247.50 0.253092 -187.50 27.50 252.50 0.603202 -187.50 27.50 257.50 1.13362 -187.50 27.50 262.50 1.65688 -187.50 27.50 267.50 1.96189 -187.50 27.50 272.50 1.8763 -187.50 27.50 277.50 1.47625 -187.50 27.50 282.50 0.979424 -187.50 27.50 287.50 0.578258 -187.50 27.50 292.50 0.316784 -187.50 27.50 297.50 0.165614 -187.50 27.50 302.50 0.0718562 -187.50 27.50 307.50 0.0369662 -187.50 27.50 312.50 0.0208143 -187.50 27.50 317.50 0.0123819 -187.50 27.50 322.50 0.0206685 -187.50 27.50 327.50 0.0413406 -187.50 27.50 332.50 0.0856214 -187.50 27.50 337.50 0.253091 -187.50 27.50 342.50 0.603201 -187.50 27.50 347.50 1.13362 -187.50 27.50 352.50 1.65688 -187.50 27.50 357.50 1.96189 -187.50 32.50 2.50 2.00435 -187.50 32.50 7.50 1.66184 -187.50 32.50 12.50 1.20743 -187.50 32.50 17.50 0.779558 -187.50 32.50 22.50 0.470081 -187.50 32.50 27.50 0.228221 -187.50 32.50 32.50 0.111608 -187.50 32.50 37.50 0.0399339 -187.50 32.50 42.50 0.0109886 -187.50 32.50 47.50 0.00744775 -187.50 32.50 52.50 0.017601 -187.50 32.50 57.50 0.0492446 -187.50 32.50 62.50 0.113932 -187.50 32.50 67.50 0.255734 -187.50 32.50 72.50 0.607181 -187.50 32.50 77.50 1.14777 -187.50 32.50 82.50 1.70348 -187.50 32.50 87.50 2.0532 -187.50 32.50 92.50 2.00435 -187.50 32.50 97.50 1.66184 -187.50 32.50 102.50 1.20743 -187.50 32.50 107.50 0.779558 -187.50 32.50 112.50 0.470081 -187.50 32.50 117.50 0.228221 -187.50 32.50 122.50 0.111608 -187.50 32.50 127.50 0.0399338 -187.50 32.50 132.50 0.0109886 -187.50 32.50 137.50 0.00744775 -187.50 32.50 142.50 0.017601 -187.50 32.50 147.50 0.0492446 -187.50 32.50 152.50 0.113931 -187.50 32.50 157.50 0.255734 -187.50 32.50 162.50 0.607181 -187.50 32.50 167.50 1.14777 -187.50 32.50 172.50 1.70348 -187.50 32.50 177.50 2.0532 -187.50 32.50 182.50 2.00435 -187.50 32.50 187.50 1.66184 -187.50 32.50 192.50 1.20743 -187.50 32.50 197.50 0.779558 -187.50 32.50 202.50 0.470081 -187.50 32.50 207.50 0.228221 -187.50 32.50 212.50 0.111608 -187.50 32.50 217.50 0.0399339 -187.50 32.50 222.50 0.0109886 -187.50 32.50 227.50 0.00744775 -187.50 32.50 232.50 0.0176011 -187.50 32.50 237.50 0.0492446 -187.50 32.50 242.50 0.113932 -187.50 32.50 247.50 0.255735 -187.50 32.50 252.50 0.607182 -187.50 32.50 257.50 1.14777 -187.50 32.50 262.50 1.70348 -187.50 32.50 267.50 2.0532 -187.50 32.50 272.50 2.00435 -187.50 32.50 277.50 1.66184 -187.50 32.50 282.50 1.20743 -187.50 32.50 287.50 0.779558 -187.50 32.50 292.50 0.470081 -187.50 32.50 297.50 0.228221 -187.50 32.50 302.50 0.111608 -187.50 32.50 307.50 0.0399339 -187.50 32.50 312.50 0.0109886 -187.50 32.50 317.50 0.00744774 -187.50 32.50 322.50 0.017601 -187.50 32.50 327.50 0.0492445 -187.50 32.50 332.50 0.113931 -187.50 32.50 337.50 0.255734 -187.50 32.50 342.50 0.60718 -187.50 32.50 347.50 1.14777 -187.50 32.50 352.50 1.70347 -187.50 32.50 357.50 2.0532 -187.50 37.50 2.50 2.14417 -187.50 37.50 7.50 1.89225 -187.50 37.50 12.50 1.51705 -187.50 37.50 17.50 1.12216 -187.50 37.50 22.50 0.708159 -187.50 37.50 27.50 0.398187 -187.50 37.50 32.50 0.193987 -187.50 37.50 37.50 0.072645 -187.50 37.50 42.50 0.0241046 -187.50 37.50 47.50 0.0149224 -187.50 37.50 52.50 0.0264573 -187.50 37.50 57.50 0.0673648 -187.50 37.50 62.50 0.148373 -187.50 37.50 67.50 0.316605 -187.50 37.50 72.50 0.667492 -187.50 37.50 77.50 1.21186 -187.50 37.50 82.50 1.76924 -187.50 37.50 87.50 2.13826 -187.50 37.50 92.50 2.14417 -187.50 37.50 97.50 1.89225 -187.50 37.50 102.50 1.51705 -187.50 37.50 107.50 1.12216 -187.50 37.50 112.50 0.708159 -187.50 37.50 117.50 0.398187 -187.50 37.50 122.50 0.193987 -187.50 37.50 127.50 0.072645 -187.50 37.50 132.50 0.0241046 -187.50 37.50 137.50 0.0149224 -187.50 37.50 142.50 0.0264573 -187.50 37.50 147.50 0.0673648 -187.50 37.50 152.50 0.148373 -187.50 37.50 157.50 0.316604 -187.50 37.50 162.50 0.667492 -187.50 37.50 167.50 1.21186 -187.50 37.50 172.50 1.76924 -187.50 37.50 177.50 2.13826 -187.50 37.50 182.50 2.14417 -187.50 37.50 187.50 1.89225 -187.50 37.50 192.50 1.51705 -187.50 37.50 197.50 1.12216 -187.50 37.50 202.50 0.708159 -187.50 37.50 207.50 0.398188 -187.50 37.50 212.50 0.193987 -187.50 37.50 217.50 0.0726451 -187.50 37.50 222.50 0.0241046 -187.50 37.50 227.50 0.0149224 -187.50 37.50 232.50 0.0264574 -187.50 37.50 237.50 0.0673649 -187.50 37.50 242.50 0.148373 -187.50 37.50 247.50 0.316605 -187.50 37.50 252.50 0.667493 -187.50 37.50 257.50 1.21186 -187.50 37.50 262.50 1.76924 -187.50 37.50 267.50 2.13826 -187.50 37.50 272.50 2.14417 -187.50 37.50 277.50 1.89226 -187.50 37.50 282.50 1.51705 -187.50 37.50 287.50 1.12216 -187.50 37.50 292.50 0.708159 -187.50 37.50 297.50 0.398188 -187.50 37.50 302.50 0.193987 -187.50 37.50 307.50 0.0726452 -187.50 37.50 312.50 0.0241046 -187.50 37.50 317.50 0.0149224 -187.50 37.50 322.50 0.0264573 -187.50 37.50 327.50 0.0673647 -187.50 37.50 332.50 0.148373 -187.50 37.50 337.50 0.316604 -187.50 37.50 342.50 0.667492 -187.50 37.50 347.50 1.21186 -187.50 37.50 352.50 1.76924 -187.50 37.50 357.50 2.13825 -187.50 42.50 2.50 2.24978 -187.50 42.50 7.50 2.16403 -187.50 42.50 12.50 1.92215 -187.50 42.50 17.50 1.53548 -187.50 42.50 22.50 1.06461 -187.50 42.50 27.50 0.658197 -187.50 42.50 32.50 0.340671 -187.50 42.50 37.50 0.147592 -187.50 42.50 42.50 0.0655167 -187.50 42.50 47.50 0.0366469 -187.50 42.50 52.50 0.0455315 -187.50 42.50 57.50 0.0951027 -187.50 42.50 62.50 0.194671 -187.50 42.50 67.50 0.408709 -187.50 42.50 72.50 0.784166 -187.50 42.50 77.50 1.32884 -187.50 42.50 82.50 1.84277 -187.50 42.50 87.50 2.17122 -187.50 42.50 92.50 2.24978 -187.50 42.50 97.50 2.16403 -187.50 42.50 102.50 1.92215 -187.50 42.50 107.50 1.53548 -187.50 42.50 112.50 1.06461 -187.50 42.50 117.50 0.658197 -187.50 42.50 122.50 0.340671 -187.50 42.50 127.50 0.147592 -187.50 42.50 132.50 0.0655167 -187.50 42.50 137.50 0.036647 -187.50 42.50 142.50 0.0455315 -187.50 42.50 147.50 0.0951026 -187.50 42.50 152.50 0.194671 -187.50 42.50 157.50 0.408708 -187.50 42.50 162.50 0.784166 -187.50 42.50 167.50 1.32884 -187.50 42.50 172.50 1.84277 -187.50 42.50 177.50 2.17122 -187.50 42.50 182.50 2.24978 -187.50 42.50 187.50 2.16403 -187.50 42.50 192.50 1.92216 -187.50 42.50 197.50 1.53548 -187.50 42.50 202.50 1.06461 -187.50 42.50 207.50 0.658198 -187.50 42.50 212.50 0.340671 -187.50 42.50 217.50 0.147592 -187.50 42.50 222.50 0.0655168 -187.50 42.50 227.50 0.0366469 -187.50 42.50 232.50 0.0455316 -187.50 42.50 237.50 0.0951028 -187.50 42.50 242.50 0.194671 -187.50 42.50 247.50 0.408709 -187.50 42.50 252.50 0.784167 -187.50 42.50 257.50 1.32884 -187.50 42.50 262.50 1.84277 -187.50 42.50 267.50 2.17122 -187.50 42.50 272.50 2.24978 -187.50 42.50 277.50 2.16403 -187.50 42.50 282.50 1.92215 -187.50 42.50 287.50 1.53548 -187.50 42.50 292.50 1.06461 -187.50 42.50 297.50 0.658198 -187.50 42.50 302.50 0.340672 -187.50 42.50 307.50 0.147592 -187.50 42.50 312.50 0.0655168 -187.50 42.50 317.50 0.036647 -187.50 42.50 322.50 0.0455314 -187.50 42.50 327.50 0.0951026 -187.50 42.50 332.50 0.194671 -187.50 42.50 337.50 0.408708 -187.50 42.50 342.50 0.784165 -187.50 42.50 347.50 1.32884 -187.50 42.50 352.50 1.84277 -187.50 42.50 357.50 2.17122 -187.50 47.50 2.50 2.27582 -187.50 47.50 7.50 2.39142 -187.50 47.50 12.50 2.32043 -187.50 47.50 17.50 1.96925 -187.50 47.50 22.50 1.44285 -187.50 47.50 27.50 0.87841 -187.50 47.50 32.50 0.513583 -187.50 47.50 37.50 0.251363 -187.50 47.50 42.50 0.114065 -187.50 47.50 47.50 0.0671405 -187.50 47.50 52.50 0.0619832 -187.50 47.50 57.50 0.132148 -187.50 47.50 62.50 0.250432 -187.50 47.50 67.50 0.481647 -187.50 47.50 72.50 0.919116 -187.50 47.50 77.50 1.42774 -187.50 47.50 82.50 1.88999 -187.50 47.50 87.50 2.12179 -187.50 47.50 92.50 2.27582 -187.50 47.50 97.50 2.39142 -187.50 47.50 102.50 2.32043 -187.50 47.50 107.50 1.96925 -187.50 47.50 112.50 1.44285 -187.50 47.50 117.50 0.87841 -187.50 47.50 122.50 0.513583 -187.50 47.50 127.50 0.251363 -187.50 47.50 132.50 0.114065 -187.50 47.50 137.50 0.0671405 -187.50 47.50 142.50 0.0619832 -187.50 47.50 147.50 0.132148 -187.50 47.50 152.50 0.250432 -187.50 47.50 157.50 0.481646 -187.50 47.50 162.50 0.919116 -187.50 47.50 167.50 1.42774 -187.50 47.50 172.50 1.88998 -187.50 47.50 177.50 2.12178 -187.50 47.50 182.50 2.27582 -187.50 47.50 187.50 2.39142 -187.50 47.50 192.50 2.32043 -187.50 47.50 197.50 1.96925 -187.50 47.50 202.50 1.44285 -187.50 47.50 207.50 0.878411 -187.50 47.50 212.50 0.513583 -187.50 47.50 217.50 0.251363 -187.50 47.50 222.50 0.114065 -187.50 47.50 227.50 0.0671406 -187.50 47.50 232.50 0.0619833 -187.50 47.50 237.50 0.132148 -187.50 47.50 242.50 0.250433 -187.50 47.50 247.50 0.481648 -187.50 47.50 252.50 0.919117 -187.50 47.50 257.50 1.42774 -187.50 47.50 262.50 1.88999 -187.50 47.50 267.50 2.12179 -187.50 47.50 272.50 2.27582 -187.50 47.50 277.50 2.39142 -187.50 47.50 282.50 2.32043 -187.50 47.50 287.50 1.96925 -187.50 47.50 292.50 1.44285 -187.50 47.50 297.50 0.878411 -187.50 47.50 302.50 0.513583 -187.50 47.50 307.50 0.251363 -187.50 47.50 312.50 0.114065 -187.50 47.50 317.50 0.0671406 -187.50 47.50 322.50 0.0619831 -187.50 47.50 327.50 0.132148 -187.50 47.50 332.50 0.250432 -187.50 47.50 337.50 0.481646 -187.50 47.50 342.50 0.919115 -187.50 47.50 347.50 1.42774 -187.50 47.50 352.50 1.88999 -187.50 47.50 357.50 2.12179 -187.50 52.50 2.50 2.24978 -187.50 52.50 7.50 2.47068 -187.50 52.50 12.50 2.56976 -187.50 52.50 17.50 2.24595 -187.50 52.50 22.50 1.63717 -187.50 52.50 27.50 1.12989 -187.50 52.50 32.50 0.674263 -187.50 52.50 37.50 0.335582 -187.50 52.50 42.50 0.147045 -187.50 52.50 47.50 0.0660524 -187.50 52.50 52.50 0.0740068 -187.50 52.50 57.50 0.166204 -187.50 52.50 62.50 0.287931 -187.50 52.50 67.50 0.54844 -187.50 52.50 72.50 0.990688 -187.50 52.50 77.50 1.47984 -187.50 52.50 82.50 1.89379 -187.50 52.50 87.50 2.06631 -187.50 52.50 92.50 2.24978 -187.50 52.50 97.50 2.47068 -187.50 52.50 102.50 2.56976 -187.50 52.50 107.50 2.24595 -187.50 52.50 112.50 1.63717 -187.50 52.50 117.50 1.12989 -187.50 52.50 122.50 0.674263 -187.50 52.50 127.50 0.335582 -187.50 52.50 132.50 0.147045 -187.50 52.50 137.50 0.0660524 -187.50 52.50 142.50 0.0740068 -187.50 52.50 147.50 0.166204 -187.50 52.50 152.50 0.287931 -187.50 52.50 157.50 0.54844 -187.50 52.50 162.50 0.990688 -187.50 52.50 167.50 1.47984 -187.50 52.50 172.50 1.89379 -187.50 52.50 177.50 2.06631 -187.50 52.50 182.50 2.24978 -187.50 52.50 187.50 2.47068 -187.50 52.50 192.50 2.56976 -187.50 52.50 197.50 2.24595 -187.50 52.50 202.50 1.63717 -187.50 52.50 207.50 1.12989 -187.50 52.50 212.50 0.674263 -187.50 52.50 217.50 0.335582 -187.50 52.50 222.50 0.147045 -187.50 52.50 227.50 0.0660525 -187.50 52.50 232.50 0.0740069 -187.50 52.50 237.50 0.166205 -187.50 52.50 242.50 0.287931 -187.50 52.50 247.50 0.548441 -187.50 52.50 252.50 0.990689 -187.50 52.50 257.50 1.47984 -187.50 52.50 262.50 1.89379 -187.50 52.50 267.50 2.06631 -187.50 52.50 272.50 2.24978 -187.50 52.50 277.50 2.47068 -187.50 52.50 282.50 2.56976 -187.50 52.50 287.50 2.24595 -187.50 52.50 292.50 1.63717 -187.50 52.50 297.50 1.12989 -187.50 52.50 302.50 0.674264 -187.50 52.50 307.50 0.335582 -187.50 52.50 312.50 0.147045 -187.50 52.50 317.50 0.0660525 -187.50 52.50 322.50 0.0740068 -187.50 52.50 327.50 0.166204 -187.50 52.50 332.50 0.287931 -187.50 52.50 337.50 0.54844 -187.50 52.50 342.50 0.990687 -187.50 52.50 347.50 1.47984 -187.50 52.50 352.50 1.89379 -187.50 52.50 357.50 2.06631 -187.50 57.50 2.50 2.14417 -187.50 57.50 7.50 2.35162 -187.50 57.50 12.50 2.56933 -187.50 57.50 17.50 2.25069 -187.50 57.50 22.50 1.68371 -187.50 57.50 27.50 1.29211 -187.50 57.50 32.50 0.779027 -187.50 57.50 37.50 0.352811 -187.50 57.50 42.50 0.128234 -187.50 57.50 47.50 0.0551715 -187.50 57.50 52.50 0.0592553 -187.50 57.50 57.50 0.142681 -187.50 57.50 62.50 0.30684 -187.50 57.50 67.50 0.548291 -187.50 57.50 72.50 0.949074 -187.50 57.50 77.50 1.43781 -187.50 57.50 82.50 1.77356 -187.50 57.50 87.50 1.97246 -187.50 57.50 92.50 2.14417 -187.50 57.50 97.50 2.35162 -187.50 57.50 102.50 2.56933 -187.50 57.50 107.50 2.25069 -187.50 57.50 112.50 1.6837 -187.50 57.50 117.50 1.29211 -187.50 57.50 122.50 0.779027 -187.50 57.50 127.50 0.35281 -187.50 57.50 132.50 0.128234 -187.50 57.50 137.50 0.0551716 -187.50 57.50 142.50 0.0592553 -187.50 57.50 147.50 0.142681 -187.50 57.50 152.50 0.30684 -187.50 57.50 157.50 0.548291 -187.50 57.50 162.50 0.949073 -187.50 57.50 167.50 1.43781 -187.50 57.50 172.50 1.77356 -187.50 57.50 177.50 1.97246 -187.50 57.50 182.50 2.14417 -187.50 57.50 187.50 2.35162 -187.50 57.50 192.50 2.56933 -187.50 57.50 197.50 2.25069 -187.50 57.50 202.50 1.6837 -187.50 57.50 207.50 1.29211 -187.50 57.50 212.50 0.779028 -187.50 57.50 217.50 0.352811 -187.50 57.50 222.50 0.128234 -187.50 57.50 227.50 0.0551716 -187.50 57.50 232.50 0.0592555 -187.50 57.50 237.50 0.142681 -187.50 57.50 242.50 0.30684 -187.50 57.50 247.50 0.548291 -187.50 57.50 252.50 0.949074 -187.50 57.50 257.50 1.43781 -187.50 57.50 262.50 1.77356 -187.50 57.50 267.50 1.97246 -187.50 57.50 272.50 2.14417 -187.50 57.50 277.50 2.35162 -187.50 57.50 282.50 2.56933 -187.50 57.50 287.50 2.25069 -187.50 57.50 292.50 1.68371 -187.50 57.50 297.50 1.29211 -187.50 57.50 302.50 0.779028 -187.50 57.50 307.50 0.352811 -187.50 57.50 312.50 0.128234 -187.50 57.50 317.50 0.0551716 -187.50 57.50 322.50 0.0592552 -187.50 57.50 327.50 0.142681 -187.50 57.50 332.50 0.30684 -187.50 57.50 337.50 0.54829 -187.50 57.50 342.50 0.949072 -187.50 57.50 347.50 1.43781 -187.50 57.50 352.50 1.77356 -187.50 57.50 357.50 1.97246 -187.50 62.50 2.50 2.00435 -187.50 62.50 7.50 2.14313 -187.50 62.50 12.50 2.36556 -187.50 62.50 17.50 2.07465 -187.50 62.50 22.50 1.65406 -187.50 62.50 27.50 1.19609 -187.50 62.50 32.50 0.74193 -187.50 62.50 37.50 0.345127 -187.50 62.50 42.50 0.106678 -187.50 62.50 47.50 0.0302474 -187.50 62.50 52.50 0.0409817 -187.50 62.50 57.50 0.118409 -187.50 62.50 62.50 0.250863 -187.50 62.50 67.50 0.475306 -187.50 62.50 72.50 0.842803 -187.50 62.50 77.50 1.26763 -187.50 62.50 82.50 1.60129 -187.50 62.50 87.50 1.83272 -187.50 62.50 92.50 2.00435 -187.50 62.50 97.50 2.14313 -187.50 62.50 102.50 2.36556 -187.50 62.50 107.50 2.07465 -187.50 62.50 112.50 1.65406 -187.50 62.50 117.50 1.1961 -187.50 62.50 122.50 0.74193 -187.50 62.50 127.50 0.345126 -187.50 62.50 132.50 0.106678 -187.50 62.50 137.50 0.0302474 -187.50 62.50 142.50 0.0409817 -187.50 62.50 147.50 0.118409 -187.50 62.50 152.50 0.250863 -187.50 62.50 157.50 0.475305 -187.50 62.50 162.50 0.842802 -187.50 62.50 167.50 1.26763 -187.50 62.50 172.50 1.60129 -187.50 62.50 177.50 1.83272 -187.50 62.50 182.50 2.00435 -187.50 62.50 187.50 2.14313 -187.50 62.50 192.50 2.36556 -187.50 62.50 197.50 2.07465 -187.50 62.50 202.50 1.65406 -187.50 62.50 207.50 1.1961 -187.50 62.50 212.50 0.74193 -187.50 62.50 217.50 0.345127 -187.50 62.50 222.50 0.106678 -187.50 62.50 227.50 0.0302475 -187.50 62.50 232.50 0.0409818 -187.50 62.50 237.50 0.118409 -187.50 62.50 242.50 0.250863 -187.50 62.50 247.50 0.475307 -187.50 62.50 252.50 0.842804 -187.50 62.50 257.50 1.26763 -187.50 62.50 262.50 1.60129 -187.50 62.50 267.50 1.83272 -187.50 62.50 272.50 2.00435 -187.50 62.50 277.50 2.14313 -187.50 62.50 282.50 2.36556 -187.50 62.50 287.50 2.07465 -187.50 62.50 292.50 1.65406 -187.50 62.50 297.50 1.1961 -187.50 62.50 302.50 0.741931 -187.50 62.50 307.50 0.345127 -187.50 62.50 312.50 0.106678 -187.50 62.50 317.50 0.0302475 -187.50 62.50 322.50 0.0409817 -187.50 62.50 327.50 0.118409 -187.50 62.50 332.50 0.250863 -187.50 62.50 337.50 0.475305 -187.50 62.50 342.50 0.842802 -187.50 62.50 347.50 1.26763 -187.50 62.50 352.50 1.60129 -187.50 62.50 357.50 1.83272 -187.50 67.50 2.50 1.8763 -187.50 67.50 7.50 1.93504 -187.50 67.50 12.50 2.10575 -187.50 67.50 17.50 1.94047 -187.50 67.50 22.50 1.55576 -187.50 67.50 27.50 1.10522 -187.50 67.50 32.50 0.624972 -187.50 67.50 37.50 0.276608 -187.50 67.50 42.50 0.103845 -187.50 67.50 47.50 0.0340418 -187.50 67.50 52.50 0.0339808 -187.50 67.50 57.50 0.0978963 -187.50 67.50 62.50 0.242333 -187.50 67.50 67.50 0.43243 -187.50 67.50 72.50 0.757155 -187.50 67.50 77.50 1.1422 -187.50 67.50 82.50 1.43712 -187.50 67.50 87.50 1.71558 -187.50 67.50 92.50 1.8763 -187.50 67.50 97.50 1.93504 -187.50 67.50 102.50 2.10575 -187.50 67.50 107.50 1.94047 -187.50 67.50 112.50 1.55576 -187.50 67.50 117.50 1.10522 -187.50 67.50 122.50 0.624971 -187.50 67.50 127.50 0.276608 -187.50 67.50 132.50 0.103845 -187.50 67.50 137.50 0.0340418 -187.50 67.50 142.50 0.0339808 -187.50 67.50 147.50 0.0978963 -187.50 67.50 152.50 0.242333 -187.50 67.50 157.50 0.43243 -187.50 67.50 162.50 0.757155 -187.50 67.50 167.50 1.1422 -187.50 67.50 172.50 1.43712 -187.50 67.50 177.50 1.71558 -187.50 67.50 182.50 1.8763 -187.50 67.50 187.50 1.93504 -187.50 67.50 192.50 2.10575 -187.50 67.50 197.50 1.94047 -187.50 67.50 202.50 1.55575 -187.50 67.50 207.50 1.10522 -187.50 67.50 212.50 0.624972 -187.50 67.50 217.50 0.276608 -187.50 67.50 222.50 0.103845 -187.50 67.50 227.50 0.0340418 -187.50 67.50 232.50 0.0339809 -187.50 67.50 237.50 0.0978967 -187.50 67.50 242.50 0.242333 -187.50 67.50 247.50 0.432431 -187.50 67.50 252.50 0.757156 -187.50 67.50 257.50 1.1422 -187.50 67.50 262.50 1.43712 -187.50 67.50 267.50 1.71558 -187.50 67.50 272.50 1.8763 -187.50 67.50 277.50 1.93504 -187.50 67.50 282.50 2.10575 -187.50 67.50 287.50 1.94047 -187.50 67.50 292.50 1.55576 -187.50 67.50 297.50 1.10522 -187.50 67.50 302.50 0.624972 -187.50 67.50 307.50 0.276608 -187.50 67.50 312.50 0.103845 -187.50 67.50 317.50 0.0340418 -187.50 67.50 322.50 0.0339808 -187.50 67.50 327.50 0.0978961 -187.50 67.50 332.50 0.242332 -187.50 67.50 337.50 0.43243 -187.50 67.50 342.50 0.757154 -187.50 67.50 347.50 1.1422 -187.50 67.50 352.50 1.43712 -187.50 67.50 357.50 1.71558 -187.50 72.50 2.50 1.70709 -187.50 72.50 7.50 1.68933 -187.50 72.50 12.50 1.89483 -187.50 72.50 17.50 1.77444 -187.50 72.50 22.50 1.5268 -187.50 72.50 27.50 1.01541 -187.50 72.50 32.50 0.535855 -187.50 72.50 37.50 0.246594 -187.50 72.50 42.50 0.0913852 -187.50 72.50 47.50 0.0294823 -187.50 72.50 52.50 0.0374786 -187.50 72.50 57.50 0.101049 -187.50 72.50 62.50 0.262932 -187.50 72.50 67.50 0.511483 -187.50 72.50 72.50 0.741912 -187.50 72.50 77.50 1.03975 -187.50 72.50 82.50 1.32127 -187.50 72.50 87.50 1.55244 -187.50 72.50 92.50 1.70709 -187.50 72.50 97.50 1.68933 -187.50 72.50 102.50 1.89483 -187.50 72.50 107.50 1.77444 -187.50 72.50 112.50 1.5268 -187.50 72.50 117.50 1.01541 -187.50 72.50 122.50 0.535855 -187.50 72.50 127.50 0.246594 -187.50 72.50 132.50 0.0913851 -187.50 72.50 137.50 0.0294823 -187.50 72.50 142.50 0.0374785 -187.50 72.50 147.50 0.101049 -187.50 72.50 152.50 0.262932 -187.50 72.50 157.50 0.511482 -187.50 72.50 162.50 0.741911 -187.50 72.50 167.50 1.03975 -187.50 72.50 172.50 1.32127 -187.50 72.50 177.50 1.55244 -187.50 72.50 182.50 1.70709 -187.50 72.50 187.50 1.68933 -187.50 72.50 192.50 1.89483 -187.50 72.50 197.50 1.77444 -187.50 72.50 202.50 1.5268 -187.50 72.50 207.50 1.01541 -187.50 72.50 212.50 0.535855 -187.50 72.50 217.50 0.246594 -187.50 72.50 222.50 0.0913853 -187.50 72.50 227.50 0.0294823 -187.50 72.50 232.50 0.0374787 -187.50 72.50 237.50 0.101049 -187.50 72.50 242.50 0.262932 -187.50 72.50 247.50 0.511483 -187.50 72.50 252.50 0.741912 -187.50 72.50 257.50 1.03975 -187.50 72.50 262.50 1.32127 -187.50 72.50 267.50 1.55244 -187.50 72.50 272.50 1.70709 -187.50 72.50 277.50 1.68933 -187.50 72.50 282.50 1.89483 -187.50 72.50 287.50 1.77444 -187.50 72.50 292.50 1.5268 -187.50 72.50 297.50 1.01541 -187.50 72.50 302.50 0.535856 -187.50 72.50 307.50 0.246594 -187.50 72.50 312.50 0.0913854 -187.50 72.50 317.50 0.0294823 -187.50 72.50 322.50 0.0374785 -187.50 72.50 327.50 0.101049 -187.50 72.50 332.50 0.262932 -187.50 72.50 337.50 0.511482 -187.50 72.50 342.50 0.741911 -187.50 72.50 347.50 1.03975 -187.50 72.50 352.50 1.32127 -187.50 72.50 357.50 1.55244 -187.50 77.50 2.50 1.52023 -187.50 77.50 7.50 1.46943 -187.50 77.50 12.50 1.567 -187.50 77.50 17.50 1.56492 -187.50 77.50 22.50 1.28371 -187.50 77.50 27.50 0.854395 -187.50 77.50 32.50 0.480503 -187.50 77.50 37.50 0.215092 -187.50 77.50 42.50 0.0682123 -187.50 77.50 47.50 0.0217757 -187.50 77.50 52.50 0.0330348 -187.50 77.50 57.50 0.115708 -187.50 77.50 62.50 0.273979 -187.50 77.50 67.50 0.503485 -187.50 77.50 72.50 0.768697 -187.50 77.50 77.50 0.968556 -187.50 77.50 82.50 1.22163 -187.50 77.50 87.50 1.35001 -187.50 77.50 92.50 1.52022 -187.50 77.50 97.50 1.46943 -187.50 77.50 102.50 1.567 -187.50 77.50 107.50 1.56491 -187.50 77.50 112.50 1.28371 -187.50 77.50 117.50 0.854395 -187.50 77.50 122.50 0.480503 -187.50 77.50 127.50 0.215092 -187.50 77.50 132.50 0.0682122 -187.50 77.50 137.50 0.0217757 -187.50 77.50 142.50 0.0330349 -187.50 77.50 147.50 0.115708 -187.50 77.50 152.50 0.273979 -187.50 77.50 157.50 0.503485 -187.50 77.50 162.50 0.768697 -187.50 77.50 167.50 0.968556 -187.50 77.50 172.50 1.22163 -187.50 77.50 177.50 1.35001 -187.50 77.50 182.50 1.52022 -187.50 77.50 187.50 1.46943 -187.50 77.50 192.50 1.567 -187.50 77.50 197.50 1.56492 -187.50 77.50 202.50 1.28371 -187.50 77.50 207.50 0.854395 -187.50 77.50 212.50 0.480503 -187.50 77.50 217.50 0.215092 -187.50 77.50 222.50 0.0682123 -187.50 77.50 227.50 0.0217757 -187.50 77.50 232.50 0.033035 -187.50 77.50 237.50 0.115709 -187.50 77.50 242.50 0.273979 -187.50 77.50 247.50 0.503485 -187.50 77.50 252.50 0.768698 -187.50 77.50 257.50 0.968557 -187.50 77.50 262.50 1.22163 -187.50 77.50 267.50 1.35001 -187.50 77.50 272.50 1.52023 -187.50 77.50 277.50 1.46943 -187.50 77.50 282.50 1.567 -187.50 77.50 287.50 1.56492 -187.50 77.50 292.50 1.28371 -187.50 77.50 297.50 0.854395 -187.50 77.50 302.50 0.480504 -187.50 77.50 307.50 0.215093 -187.50 77.50 312.50 0.0682124 -187.50 77.50 317.50 0.0217757 -187.50 77.50 322.50 0.0330348 -187.50 77.50 327.50 0.115708 -187.50 77.50 332.50 0.273979 -187.50 77.50 337.50 0.503485 -187.50 77.50 342.50 0.768697 -187.50 77.50 347.50 0.968555 -187.50 77.50 352.50 1.22163 -187.50 77.50 357.50 1.35001 -187.50 82.50 2.50 1.3016 -187.50 82.50 7.50 1.24446 -187.50 82.50 12.50 1.25532 -187.50 82.50 17.50 1.27109 -187.50 82.50 22.50 1.00952 -187.50 82.50 27.50 0.621058 -187.50 82.50 32.50 0.328381 -187.50 82.50 37.50 0.139193 -187.50 82.50 42.50 0.0486863 -187.50 82.50 47.50 0.0183859 -187.50 82.50 52.50 0.026686 -187.50 82.50 57.50 0.0814242 -187.50 82.50 62.50 0.225722 -187.50 82.50 67.50 0.479395 -187.50 82.50 72.50 0.758267 -187.50 82.50 77.50 0.940553 -187.50 82.50 82.50 1.05056 -187.50 82.50 87.50 1.2126 -187.50 82.50 92.50 1.3016 -187.50 82.50 97.50 1.24446 -187.50 82.50 102.50 1.25532 -187.50 82.50 107.50 1.27109 -187.50 82.50 112.50 1.00952 -187.50 82.50 117.50 0.621058 -187.50 82.50 122.50 0.328381 -187.50 82.50 127.50 0.139193 -187.50 82.50 132.50 0.0486862 -187.50 82.50 137.50 0.0183859 -187.50 82.50 142.50 0.026686 -187.50 82.50 147.50 0.0814242 -187.50 82.50 152.50 0.225721 -187.50 82.50 157.50 0.479395 -187.50 82.50 162.50 0.758267 -187.50 82.50 167.50 0.940553 -187.50 82.50 172.50 1.05056 -187.50 82.50 177.50 1.21261 -187.50 82.50 182.50 1.3016 -187.50 82.50 187.50 1.24446 -187.50 82.50 192.50 1.25532 -187.50 82.50 197.50 1.27109 -187.50 82.50 202.50 1.00952 -187.50 82.50 207.50 0.621058 -187.50 82.50 212.50 0.328381 -187.50 82.50 217.50 0.139193 -187.50 82.50 222.50 0.0486863 -187.50 82.50 227.50 0.0183859 -187.50 82.50 232.50 0.026686 -187.50 82.50 237.50 0.0814244 -187.50 82.50 242.50 0.225722 -187.50 82.50 247.50 0.479396 -187.50 82.50 252.50 0.758268 -187.50 82.50 257.50 0.940554 -187.50 82.50 262.50 1.05056 -187.50 82.50 267.50 1.2126 -187.50 82.50 272.50 1.3016 -187.50 82.50 277.50 1.24446 -187.50 82.50 282.50 1.25532 -187.50 82.50 287.50 1.27109 -187.50 82.50 292.50 1.00952 -187.50 82.50 297.50 0.621058 -187.50 82.50 302.50 0.328382 -187.50 82.50 307.50 0.139193 -187.50 82.50 312.50 0.0486863 -187.50 82.50 317.50 0.0183859 -187.50 82.50 322.50 0.0266859 -187.50 82.50 327.50 0.081424 -187.50 82.50 332.50 0.225721 -187.50 82.50 337.50 0.479394 -187.50 82.50 342.50 0.758267 -187.50 82.50 347.50 0.940553 -187.50 82.50 352.50 1.05056 -187.50 82.50 357.50 1.2126 -187.50 87.50 2.50 0.987351 -187.50 87.50 7.50 0.87618 -187.50 87.50 12.50 0.932268 -187.50 87.50 17.50 0.85581 -187.50 87.50 22.50 0.677906 -187.50 87.50 27.50 0.419548 -187.50 87.50 32.50 0.22012 -187.50 87.50 37.50 0.111535 -187.50 87.50 42.50 0.0519198 -187.50 87.50 47.50 0.0282038 -187.50 87.50 52.50 0.0429038 -187.50 87.50 57.50 0.0938747 -187.50 87.50 62.50 0.195041 -187.50 87.50 67.50 0.366826 -187.50 87.50 72.50 0.581437 -187.50 87.50 77.50 0.804857 -187.50 87.50 82.50 0.905238 -187.50 87.50 87.50 0.872518 -187.50 87.50 92.50 0.987352 -187.50 87.50 97.50 0.876181 -187.50 87.50 102.50 0.932268 -187.50 87.50 107.50 0.85581 -187.50 87.50 112.50 0.677906 -187.50 87.50 117.50 0.419548 -187.50 87.50 122.50 0.22012 -187.50 87.50 127.50 0.111535 -187.50 87.50 132.50 0.0519197 -187.50 87.50 137.50 0.0282038 -187.50 87.50 142.50 0.0429038 -187.50 87.50 147.50 0.0938746 -187.50 87.50 152.50 0.195041 -187.50 87.50 157.50 0.366825 -187.50 87.50 162.50 0.581436 -187.50 87.50 167.50 0.804857 -187.50 87.50 172.50 0.905238 -187.50 87.50 177.50 0.872519 -187.50 87.50 182.50 0.98735 -187.50 87.50 187.50 0.876181 -187.50 87.50 192.50 0.932268 -187.50 87.50 197.50 0.855811 -187.50 87.50 202.50 0.677906 -187.50 87.50 207.50 0.419548 -187.50 87.50 212.50 0.220121 -187.50 87.50 217.50 0.111535 -187.50 87.50 222.50 0.0519198 -187.50 87.50 227.50 0.0282038 -187.50 87.50 232.50 0.0429039 -187.50 87.50 237.50 0.0938748 -187.50 87.50 242.50 0.195041 -187.50 87.50 247.50 0.366826 -187.50 87.50 252.50 0.581437 -187.50 87.50 257.50 0.804857 -187.50 87.50 262.50 0.905238 -187.50 87.50 267.50 0.872518 -187.50 87.50 272.50 0.987353 -187.50 87.50 277.50 0.876181 -187.50 87.50 282.50 0.932268 -187.50 87.50 287.50 0.85581 -187.50 87.50 292.50 0.677906 -187.50 87.50 297.50 0.419548 -187.50 87.50 302.50 0.220121 -187.50 87.50 307.50 0.111535 -187.50 87.50 312.50 0.0519198 -187.50 87.50 317.50 0.0282038 -187.50 87.50 322.50 0.0429037 -187.50 87.50 327.50 0.0938745 -187.50 87.50 332.50 0.195041 -187.50 87.50 337.50 0.366825 -187.50 87.50 342.50 0.581436 -187.50 87.50 347.50 0.804856 -187.50 87.50 352.50 0.905238 -187.50 87.50 357.50 0.872518 -187.50 92.50 2.50 0.773179 -187.50 92.50 7.50 0.675974 -187.50 92.50 12.50 0.67853 -187.50 92.50 17.50 0.62136 -187.50 92.50 22.50 0.48194 -187.50 92.50 27.50 0.315487 -187.50 92.50 32.50 0.199216 -187.50 92.50 37.50 0.129213 -187.50 92.50 42.50 0.0716309 -187.50 92.50 47.50 0.0446415 -187.50 92.50 52.50 0.071631 -187.50 92.50 57.50 0.129213 -187.50 92.50 62.50 0.199216 -187.50 92.50 67.50 0.315487 -187.50 92.50 72.50 0.48194 -187.50 92.50 77.50 0.62136 -187.50 92.50 82.50 0.67853 -187.50 92.50 87.50 0.675975 -187.50 92.50 92.50 0.773179 -187.50 92.50 97.50 0.675975 -187.50 92.50 102.50 0.67853 -187.50 92.50 107.50 0.62136 -187.50 92.50 112.50 0.48194 -187.50 92.50 117.50 0.315487 -187.50 92.50 122.50 0.199216 -187.50 92.50 127.50 0.129213 -187.50 92.50 132.50 0.0716309 -187.50 92.50 137.50 0.0446415 -187.50 92.50 142.50 0.0716309 -187.50 92.50 147.50 0.129213 -187.50 92.50 152.50 0.199216 -187.50 92.50 157.50 0.315487 -187.50 92.50 162.50 0.48194 -187.50 92.50 167.50 0.62136 -187.50 92.50 172.50 0.67853 -187.50 92.50 177.50 0.675975 -187.50 92.50 182.50 0.773178 -187.50 92.50 187.50 0.675975 -187.50 92.50 192.50 0.67853 -187.50 92.50 197.50 0.62136 -187.50 92.50 202.50 0.48194 -187.50 92.50 207.50 0.315487 -187.50 92.50 212.50 0.199216 -187.50 92.50 217.50 0.129213 -187.50 92.50 222.50 0.0716309 -187.50 92.50 227.50 0.0446415 -187.50 92.50 232.50 0.0716311 -187.50 92.50 237.50 0.129213 -187.50 92.50 242.50 0.199216 -187.50 92.50 247.50 0.315488 -187.50 92.50 252.50 0.48194 -187.50 92.50 257.50 0.62136 -187.50 92.50 262.50 0.678531 -187.50 92.50 267.50 0.675975 -187.50 92.50 272.50 0.773179 -187.50 92.50 277.50 0.675975 -187.50 92.50 282.50 0.67853 -187.50 92.50 287.50 0.62136 -187.50 92.50 292.50 0.48194 -187.50 92.50 297.50 0.315488 -187.50 92.50 302.50 0.199216 -187.50 92.50 307.50 0.129213 -187.50 92.50 312.50 0.0716309 -187.50 92.50 317.50 0.0446415 -187.50 92.50 322.50 0.0716308 -187.50 92.50 327.50 0.129213 -187.50 92.50 332.50 0.199216 -187.50 92.50 337.50 0.315487 -187.50 92.50 342.50 0.481939 -187.50 92.50 347.50 0.621359 -187.50 92.50 352.50 0.67853 -187.50 92.50 357.50 0.675975 -187.50 97.50 2.50 0.987356 -187.50 97.50 7.50 0.872518 -187.50 97.50 12.50 0.905238 -187.50 97.50 17.50 0.804857 -187.50 97.50 22.50 0.581437 -187.50 97.50 27.50 0.366826 -187.50 97.50 32.50 0.195041 -187.50 97.50 37.50 0.0938746 -187.50 97.50 42.50 0.0429038 -187.50 97.50 47.50 0.0282038 -187.50 97.50 52.50 0.0519197 -187.50 97.50 57.50 0.111535 -187.50 97.50 62.50 0.220121 -187.50 97.50 67.50 0.419548 -187.50 97.50 72.50 0.677906 -187.50 97.50 77.50 0.85581 -187.50 97.50 82.50 0.932268 -187.50 97.50 87.50 0.876181 -187.50 97.50 92.50 0.987355 -187.50 97.50 97.50 0.872518 -187.50 97.50 102.50 0.905238 -187.50 97.50 107.50 0.804857 -187.50 97.50 112.50 0.581437 -187.50 97.50 117.50 0.366825 -187.50 97.50 122.50 0.195041 -187.50 97.50 127.50 0.0938746 -187.50 97.50 132.50 0.0429038 -187.50 97.50 137.50 0.0282038 -187.50 97.50 142.50 0.0519198 -187.50 97.50 147.50 0.111535 -187.50 97.50 152.50 0.22012 -187.50 97.50 157.50 0.419548 -187.50 97.50 162.50 0.677905 -187.50 97.50 167.50 0.85581 -187.50 97.50 172.50 0.932268 -187.50 97.50 177.50 0.87618 -187.50 97.50 182.50 0.987357 -187.50 97.50 187.50 0.872518 -187.50 97.50 192.50 0.905238 -187.50 97.50 197.50 0.804857 -187.50 97.50 202.50 0.581437 -187.50 97.50 207.50 0.366826 -187.50 97.50 212.50 0.195041 -187.50 97.50 217.50 0.0938746 -187.50 97.50 222.50 0.0429038 -187.50 97.50 227.50 0.0282038 -187.50 97.50 232.50 0.0519199 -187.50 97.50 237.50 0.111535 -187.50 97.50 242.50 0.220121 -187.50 97.50 247.50 0.419548 -187.50 97.50 252.50 0.677906 -187.50 97.50 257.50 0.85581 -187.50 97.50 262.50 0.932268 -187.50 97.50 267.50 0.876181 -187.50 97.50 272.50 0.987355 -187.50 97.50 277.50 0.872518 -187.50 97.50 282.50 0.905238 -187.50 97.50 287.50 0.804857 -187.50 97.50 292.50 0.581436 -187.50 97.50 297.50 0.366826 -187.50 97.50 302.50 0.195041 -187.50 97.50 307.50 0.0938747 -187.50 97.50 312.50 0.0429038 -187.50 97.50 317.50 0.0282038 -187.50 97.50 322.50 0.0519196 -187.50 97.50 327.50 0.111535 -187.50 97.50 332.50 0.22012 -187.50 97.50 337.50 0.419547 -187.50 97.50 342.50 0.677905 -187.50 97.50 347.50 0.85581 -187.50 97.50 352.50 0.932268 -187.50 97.50 357.50 0.87618 -187.50 102.50 2.50 1.3016 -187.50 102.50 7.50 1.2126 -187.50 102.50 12.50 1.05056 -187.50 102.50 17.50 0.940553 -187.50 102.50 22.50 0.758268 -187.50 102.50 27.50 0.479395 -187.50 102.50 32.50 0.225721 -187.50 102.50 37.50 0.0814241 -187.50 102.50 42.50 0.026686 -187.50 102.50 47.50 0.0183859 -187.50 102.50 52.50 0.0486863 -187.50 102.50 57.50 0.139193 -187.50 102.50 62.50 0.328382 -187.50 102.50 67.50 0.621059 -187.50 102.50 72.50 1.00952 -187.50 102.50 77.50 1.27109 -187.50 102.50 82.50 1.25532 -187.50 102.50 87.50 1.24446 -187.50 102.50 92.50 1.3016 -187.50 102.50 97.50 1.2126 -187.50 102.50 102.50 1.05056 -187.50 102.50 107.50 0.940553 -187.50 102.50 112.50 0.758267 -187.50 102.50 117.50 0.479394 -187.50 102.50 122.50 0.225721 -187.50 102.50 127.50 0.0814241 -187.50 102.50 132.50 0.026686 -187.50 102.50 137.50 0.0183859 -187.50 102.50 142.50 0.0486862 -187.50 102.50 147.50 0.139193 -187.50 102.50 152.50 0.328381 -187.50 102.50 157.50 0.621058 -187.50 102.50 162.50 1.00952 -187.50 102.50 167.50 1.27109 -187.50 102.50 172.50 1.25532 -187.50 102.50 177.50 1.24447 -187.50 102.50 182.50 1.3016 -187.50 102.50 187.50 1.21261 -187.50 102.50 192.50 1.05056 -187.50 102.50 197.50 0.940553 -187.50 102.50 202.50 0.758267 -187.50 102.50 207.50 0.479395 -187.50 102.50 212.50 0.225721 -187.50 102.50 217.50 0.0814242 -187.50 102.50 222.50 0.026686 -187.50 102.50 227.50 0.0183859 -187.50 102.50 232.50 0.0486864 -187.50 102.50 237.50 0.139193 -187.50 102.50 242.50 0.328382 -187.50 102.50 247.50 0.621059 -187.50 102.50 252.50 1.00952 -187.50 102.50 257.50 1.27109 -187.50 102.50 262.50 1.25532 -187.50 102.50 267.50 1.24447 -187.50 102.50 272.50 1.3016 -187.50 102.50 277.50 1.21261 -187.50 102.50 282.50 1.05056 -187.50 102.50 287.50 0.940553 -187.50 102.50 292.50 0.758268 -187.50 102.50 297.50 0.479395 -187.50 102.50 302.50 0.225721 -187.50 102.50 307.50 0.0814242 -187.50 102.50 312.50 0.026686 -187.50 102.50 317.50 0.0183859 -187.50 102.50 322.50 0.0486861 -187.50 102.50 327.50 0.139193 -187.50 102.50 332.50 0.328381 -187.50 102.50 337.50 0.621057 -187.50 102.50 342.50 1.00952 -187.50 102.50 347.50 1.27109 -187.50 102.50 352.50 1.25532 -187.50 102.50 357.50 1.24447 -187.50 107.50 2.50 1.52023 -187.50 107.50 7.50 1.35001 -187.50 107.50 12.50 1.22163 -187.50 107.50 17.50 0.968556 -187.50 107.50 22.50 0.768697 -187.50 107.50 27.50 0.503485 -187.50 107.50 32.50 0.273979 -187.50 107.50 37.50 0.115708 -187.50 107.50 42.50 0.0330348 -187.50 107.50 47.50 0.0217757 -187.50 107.50 52.50 0.0682123 -187.50 107.50 57.50 0.215093 -187.50 107.50 62.50 0.480503 -187.50 107.50 67.50 0.854396 -187.50 107.50 72.50 1.28371 -187.50 107.50 77.50 1.56491 -187.50 107.50 82.50 1.567 -187.50 107.50 87.50 1.46943 -187.50 107.50 92.50 1.52023 -187.50 107.50 97.50 1.35001 -187.50 107.50 102.50 1.22163 -187.50 107.50 107.50 0.968556 -187.50 107.50 112.50 0.768697 -187.50 107.50 117.50 0.503485 -187.50 107.50 122.50 0.273979 -187.50 107.50 127.50 0.115708 -187.50 107.50 132.50 0.0330348 -187.50 107.50 137.50 0.0217757 -187.50 107.50 142.50 0.0682123 -187.50 107.50 147.50 0.215093 -187.50 107.50 152.50 0.480503 -187.50 107.50 157.50 0.854394 -187.50 107.50 162.50 1.28371 -187.50 107.50 167.50 1.56491 -187.50 107.50 172.50 1.567 -187.50 107.50 177.50 1.46943 -187.50 107.50 182.50 1.52023 -187.50 107.50 187.50 1.35001 -187.50 107.50 192.50 1.22163 -187.50 107.50 197.50 0.968556 -187.50 107.50 202.50 0.768697 -187.50 107.50 207.50 0.503485 -187.50 107.50 212.50 0.273979 -187.50 107.50 217.50 0.115708 -187.50 107.50 222.50 0.0330349 -187.50 107.50 227.50 0.0217757 -187.50 107.50 232.50 0.0682125 -187.50 107.50 237.50 0.215093 -187.50 107.50 242.50 0.480504 -187.50 107.50 247.50 0.854395 -187.50 107.50 252.50 1.28371 -187.50 107.50 257.50 1.56491 -187.50 107.50 262.50 1.567 -187.50 107.50 267.50 1.46943 -187.50 107.50 272.50 1.52023 -187.50 107.50 277.50 1.35001 -187.50 107.50 282.50 1.22163 -187.50 107.50 287.50 0.968556 -187.50 107.50 292.50 0.768698 -187.50 107.50 297.50 0.503485 -187.50 107.50 302.50 0.273979 -187.50 107.50 307.50 0.115708 -187.50 107.50 312.50 0.0330349 -187.50 107.50 317.50 0.0217757 -187.50 107.50 322.50 0.0682121 -187.50 107.50 327.50 0.215092 -187.50 107.50 332.50 0.480502 -187.50 107.50 337.50 0.854394 -187.50 107.50 342.50 1.28371 -187.50 107.50 347.50 1.56492 -187.50 107.50 352.50 1.567 -187.50 107.50 357.50 1.46943 -187.50 112.50 2.50 1.70709 -187.50 112.50 7.50 1.55244 -187.50 112.50 12.50 1.32127 -187.50 112.50 17.50 1.03975 -187.50 112.50 22.50 0.741912 -187.50 112.50 27.50 0.511482 -187.50 112.50 32.50 0.262932 -187.50 112.50 37.50 0.101049 -187.50 112.50 42.50 0.0374786 -187.50 112.50 47.50 0.0294823 -187.50 112.50 52.50 0.0913853 -187.50 112.50 57.50 0.246594 -187.50 112.50 62.50 0.535856 -187.50 112.50 67.50 1.01541 -187.50 112.50 72.50 1.5268 -187.50 112.50 77.50 1.77444 -187.50 112.50 82.50 1.89483 -187.50 112.50 87.50 1.68933 -187.50 112.50 92.50 1.70709 -187.50 112.50 97.50 1.55244 -187.50 112.50 102.50 1.32127 -187.50 112.50 107.50 1.03975 -187.50 112.50 112.50 0.741912 -187.50 112.50 117.50 0.511482 -187.50 112.50 122.50 0.262932 -187.50 112.50 127.50 0.101049 -187.50 112.50 132.50 0.0374785 -187.50 112.50 137.50 0.0294823 -187.50 112.50 142.50 0.0913852 -187.50 112.50 147.50 0.246594 -187.50 112.50 152.50 0.535855 -187.50 112.50 157.50 1.01541 -187.50 112.50 162.50 1.5268 -187.50 112.50 167.50 1.77444 -187.50 112.50 172.50 1.89483 -187.50 112.50 177.50 1.68933 -187.50 112.50 182.50 1.70709 -187.50 112.50 187.50 1.55244 -187.50 112.50 192.50 1.32127 -187.50 112.50 197.50 1.03975 -187.50 112.50 202.50 0.741912 -187.50 112.50 207.50 0.511483 -187.50 112.50 212.50 0.262932 -187.50 112.50 217.50 0.101049 -187.50 112.50 222.50 0.0374786 -187.50 112.50 227.50 0.0294823 -187.50 112.50 232.50 0.0913855 -187.50 112.50 237.50 0.246594 -187.50 112.50 242.50 0.535856 -187.50 112.50 247.50 1.01541 -187.50 112.50 252.50 1.5268 -187.50 112.50 257.50 1.77444 -187.50 112.50 262.50 1.89483 -187.50 112.50 267.50 1.68933 -187.50 112.50 272.50 1.70709 -187.50 112.50 277.50 1.55244 -187.50 112.50 282.50 1.32127 -187.50 112.50 287.50 1.03975 -187.50 112.50 292.50 0.741912 -187.50 112.50 297.50 0.511483 -187.50 112.50 302.50 0.262932 -187.50 112.50 307.50 0.101049 -187.50 112.50 312.50 0.0374786 -187.50 112.50 317.50 0.0294823 -187.50 112.50 322.50 0.0913849 -187.50 112.50 327.50 0.246594 -187.50 112.50 332.50 0.535855 -187.50 112.50 337.50 1.01541 -187.50 112.50 342.50 1.5268 -187.50 112.50 347.50 1.77444 -187.50 112.50 352.50 1.89483 -187.50 112.50 357.50 1.68933 -187.50 117.50 2.50 1.8763 -187.50 117.50 7.50 1.71558 -187.50 117.50 12.50 1.43712 -187.50 117.50 17.50 1.1422 -187.50 117.50 22.50 0.757155 -187.50 117.50 27.50 0.43243 -187.50 117.50 32.50 0.242333 -187.50 117.50 37.50 0.0978962 -187.50 117.50 42.50 0.0339808 -187.50 117.50 47.50 0.0340418 -187.50 117.50 52.50 0.103845 -187.50 117.50 57.50 0.276609 -187.50 117.50 62.50 0.624973 -187.50 117.50 67.50 1.10522 -187.50 117.50 72.50 1.55576 -187.50 117.50 77.50 1.94047 -187.50 117.50 82.50 2.10575 -187.50 117.50 87.50 1.93504 -187.50 117.50 92.50 1.8763 -187.50 117.50 97.50 1.71558 -187.50 117.50 102.50 1.43712 -187.50 117.50 107.50 1.1422 -187.50 117.50 112.50 0.757155 -187.50 117.50 117.50 0.43243 -187.50 117.50 122.50 0.242332 -187.50 117.50 127.50 0.0978961 -187.50 117.50 132.50 0.0339808 -187.50 117.50 137.50 0.0340418 -187.50 117.50 142.50 0.103845 -187.50 117.50 147.50 0.276609 -187.50 117.50 152.50 0.624972 -187.50 117.50 157.50 1.10522 -187.50 117.50 162.50 1.55576 -187.50 117.50 167.50 1.94047 -187.50 117.50 172.50 2.10575 -187.50 117.50 177.50 1.93504 -187.50 117.50 182.50 1.8763 -187.50 117.50 187.50 1.71558 -187.50 117.50 192.50 1.43712 -187.50 117.50 197.50 1.1422 -187.50 117.50 202.50 0.757155 -187.50 117.50 207.50 0.43243 -187.50 117.50 212.50 0.242333 -187.50 117.50 217.50 0.0978962 -187.50 117.50 222.50 0.0339808 -187.50 117.50 227.50 0.0340418 -187.50 117.50 232.50 0.103845 -187.50 117.50 237.50 0.276609 -187.50 117.50 242.50 0.624974 -187.50 117.50 247.50 1.10522 -187.50 117.50 252.50 1.55576 -187.50 117.50 257.50 1.94047 -187.50 117.50 262.50 2.10575 -187.50 117.50 267.50 1.93504 -187.50 117.50 272.50 1.8763 -187.50 117.50 277.50 1.71558 -187.50 117.50 282.50 1.43712 -187.50 117.50 287.50 1.1422 -187.50 117.50 292.50 0.757156 -187.50 117.50 297.50 0.43243 -187.50 117.50 302.50 0.242333 -187.50 117.50 307.50 0.0978964 -187.50 117.50 312.50 0.0339808 -187.50 117.50 317.50 0.0340418 -187.50 117.50 322.50 0.103845 -187.50 117.50 327.50 0.276608 -187.50 117.50 332.50 0.62497 -187.50 117.50 337.50 1.10522 -187.50 117.50 342.50 1.55575 -187.50 117.50 347.50 1.94047 -187.50 117.50 352.50 2.10575 -187.50 117.50 357.50 1.93505 -187.50 122.50 2.50 2.00435 -187.50 122.50 7.50 1.83272 -187.50 122.50 12.50 1.60129 -187.50 122.50 17.50 1.26763 -187.50 122.50 22.50 0.842804 -187.50 122.50 27.50 0.475305 -187.50 122.50 32.50 0.250863 -187.50 122.50 37.50 0.118409 -187.50 122.50 42.50 0.0409818 -187.50 122.50 47.50 0.0302474 -187.50 122.50 52.50 0.106678 -187.50 122.50 57.50 0.345127 -187.50 122.50 62.50 0.741932 -187.50 122.50 67.50 1.1961 -187.50 122.50 72.50 1.65406 -187.50 122.50 77.50 2.07465 -187.50 122.50 82.50 2.36556 -187.50 122.50 87.50 2.14313 -187.50 122.50 92.50 2.00435 -187.50 122.50 97.50 1.83272 -187.50 122.50 102.50 1.60129 -187.50 122.50 107.50 1.26763 -187.50 122.50 112.50 0.842803 -187.50 122.50 117.50 0.475305 -187.50 122.50 122.50 0.250863 -187.50 122.50 127.50 0.118409 -187.50 122.50 132.50 0.0409817 -187.50 122.50 137.50 0.0302474 -187.50 122.50 142.50 0.106678 -187.50 122.50 147.50 0.345127 -187.50 122.50 152.50 0.741931 -187.50 122.50 157.50 1.1961 -187.50 122.50 162.50 1.65406 -187.50 122.50 167.50 2.07465 -187.50 122.50 172.50 2.36556 -187.50 122.50 177.50 2.14313 -187.50 122.50 182.50 2.00435 -187.50 122.50 187.50 1.83272 -187.50 122.50 192.50 1.60129 -187.50 122.50 197.50 1.26763 -187.50 122.50 202.50 0.842803 -187.50 122.50 207.50 0.475306 -187.50 122.50 212.50 0.250863 -187.50 122.50 217.50 0.118409 -187.50 122.50 222.50 0.0409818 -187.50 122.50 227.50 0.0302474 -187.50 122.50 232.50 0.106678 -187.50 122.50 237.50 0.345127 -187.50 122.50 242.50 0.741932 -187.50 122.50 247.50 1.1961 -187.50 122.50 252.50 1.65406 -187.50 122.50 257.50 2.07465 -187.50 122.50 262.50 2.36556 -187.50 122.50 267.50 2.14313 -187.50 122.50 272.50 2.00435 -187.50 122.50 277.50 1.83272 -187.50 122.50 282.50 1.60129 -187.50 122.50 287.50 1.26763 -187.50 122.50 292.50 0.842803 -187.50 122.50 297.50 0.475306 -187.50 122.50 302.50 0.250863 -187.50 122.50 307.50 0.118409 -187.50 122.50 312.50 0.0409818 -187.50 122.50 317.50 0.0302474 -187.50 122.50 322.50 0.106678 -187.50 122.50 327.50 0.345126 -187.50 122.50 332.50 0.74193 -187.50 122.50 337.50 1.19609 -187.50 122.50 342.50 1.65406 -187.50 122.50 347.50 2.07465 -187.50 122.50 352.50 2.36556 -187.50 122.50 357.50 2.14313 -187.50 127.50 2.50 2.14417 -187.50 127.50 7.50 1.97246 -187.50 127.50 12.50 1.77356 -187.50 127.50 17.50 1.43781 -187.50 127.50 22.50 0.949073 -187.50 127.50 27.50 0.54829 -187.50 127.50 32.50 0.30684 -187.50 127.50 37.50 0.142681 -187.50 127.50 42.50 0.0592553 -187.50 127.50 47.50 0.0551717 -187.50 127.50 52.50 0.128234 -187.50 127.50 57.50 0.352811 -187.50 127.50 62.50 0.779029 -187.50 127.50 67.50 1.29211 -187.50 127.50 72.50 1.6837 -187.50 127.50 77.50 2.25069 -187.50 127.50 82.50 2.56933 -187.50 127.50 87.50 2.35162 -187.50 127.50 92.50 2.14417 -187.50 127.50 97.50 1.97246 -187.50 127.50 102.50 1.77356 -187.50 127.50 107.50 1.43781 -187.50 127.50 112.50 0.949073 -187.50 127.50 117.50 0.54829 -187.50 127.50 122.50 0.30684 -187.50 127.50 127.50 0.142681 -187.50 127.50 132.50 0.0592552 -187.50 127.50 137.50 0.0551717 -187.50 127.50 142.50 0.128234 -187.50 127.50 147.50 0.352811 -187.50 127.50 152.50 0.779028 -187.50 127.50 157.50 1.29211 -187.50 127.50 162.50 1.6837 -187.50 127.50 167.50 2.25069 -187.50 127.50 172.50 2.56933 -187.50 127.50 177.50 2.35162 -187.50 127.50 182.50 2.14417 -187.50 127.50 187.50 1.97246 -187.50 127.50 192.50 1.77356 -187.50 127.50 197.50 1.43781 -187.50 127.50 202.50 0.949073 -187.50 127.50 207.50 0.548291 -187.50 127.50 212.50 0.30684 -187.50 127.50 217.50 0.142681 -187.50 127.50 222.50 0.0592552 -187.50 127.50 227.50 0.0551716 -187.50 127.50 232.50 0.128234 -187.50 127.50 237.50 0.352811 -187.50 127.50 242.50 0.779028 -187.50 127.50 247.50 1.29211 -187.50 127.50 252.50 1.6837 -187.50 127.50 257.50 2.25069 -187.50 127.50 262.50 2.56933 -187.50 127.50 267.50 2.35162 -187.50 127.50 272.50 2.14417 -187.50 127.50 277.50 1.97246 -187.50 127.50 282.50 1.77356 -187.50 127.50 287.50 1.43781 -187.50 127.50 292.50 0.949074 -187.50 127.50 297.50 0.548291 -187.50 127.50 302.50 0.30684 -187.50 127.50 307.50 0.142681 -187.50 127.50 312.50 0.0592553 -187.50 127.50 317.50 0.0551716 -187.50 127.50 322.50 0.128234 -187.50 127.50 327.50 0.35281 -187.50 127.50 332.50 0.779027 -187.50 127.50 337.50 1.29211 -187.50 127.50 342.50 1.6837 -187.50 127.50 347.50 2.25069 -187.50 127.50 352.50 2.56933 -187.50 127.50 357.50 2.35162 -187.50 132.50 2.50 2.24978 -187.50 132.50 7.50 2.06631 -187.50 132.50 12.50 1.89379 -187.50 132.50 17.50 1.47984 -187.50 132.50 22.50 0.990688 -187.50 132.50 27.50 0.54844 -187.50 132.50 32.50 0.287931 -187.50 132.50 37.50 0.166204 -187.50 132.50 42.50 0.0740069 -187.50 132.50 47.50 0.0660525 -187.50 132.50 52.50 0.147045 -187.50 132.50 57.50 0.335583 -187.50 132.50 62.50 0.674265 -187.50 132.50 67.50 1.12989 -187.50 132.50 72.50 1.63717 -187.50 132.50 77.50 2.24595 -187.50 132.50 82.50 2.56976 -187.50 132.50 87.50 2.47068 -187.50 132.50 92.50 2.24978 -187.50 132.50 97.50 2.06631 -187.50 132.50 102.50 1.89379 -187.50 132.50 107.50 1.47984 -187.50 132.50 112.50 0.990688 -187.50 132.50 117.50 0.54844 -187.50 132.50 122.50 0.287931 -187.50 132.50 127.50 0.166204 -187.50 132.50 132.50 0.0740068 -187.50 132.50 137.50 0.0660525 -187.50 132.50 142.50 0.147045 -187.50 132.50 147.50 0.335582 -187.50 132.50 152.50 0.674264 -187.50 132.50 157.50 1.12989 -187.50 132.50 162.50 1.63717 -187.50 132.50 167.50 2.24595 -187.50 132.50 172.50 2.56976 -187.50 132.50 177.50 2.47069 -187.50 132.50 182.50 2.24978 -187.50 132.50 187.50 2.06631 -187.50 132.50 192.50 1.89379 -187.50 132.50 197.50 1.47984 -187.50 132.50 202.50 0.990687 -187.50 132.50 207.50 0.54844 -187.50 132.50 212.50 0.287931 -187.50 132.50 217.50 0.166204 -187.50 132.50 222.50 0.0740068 -187.50 132.50 227.50 0.0660524 -187.50 132.50 232.50 0.147045 -187.50 132.50 237.50 0.335583 -187.50 132.50 242.50 0.674265 -187.50 132.50 247.50 1.12989 -187.50 132.50 252.50 1.63717 -187.50 132.50 257.50 2.24595 -187.50 132.50 262.50 2.56976 -187.50 132.50 267.50 2.47068 -187.50 132.50 272.50 2.24978 -187.50 132.50 277.50 2.06631 -187.50 132.50 282.50 1.89379 -187.50 132.50 287.50 1.47984 -187.50 132.50 292.50 0.990688 -187.50 132.50 297.50 0.548441 -187.50 132.50 302.50 0.287931 -187.50 132.50 307.50 0.166204 -187.50 132.50 312.50 0.0740069 -187.50 132.50 317.50 0.0660524 -187.50 132.50 322.50 0.147045 -187.50 132.50 327.50 0.335582 -187.50 132.50 332.50 0.674263 -187.50 132.50 337.50 1.12989 -187.50 132.50 342.50 1.63717 -187.50 132.50 347.50 2.24595 -187.50 132.50 352.50 2.56976 -187.50 132.50 357.50 2.47068 -187.50 137.50 2.50 2.27582 -187.50 137.50 7.50 2.12179 -187.50 137.50 12.50 1.88999 -187.50 137.50 17.50 1.42774 -187.50 137.50 22.50 0.919116 -187.50 137.50 27.50 0.481647 -187.50 137.50 32.50 0.250432 -187.50 137.50 37.50 0.132148 -187.50 137.50 42.50 0.0619832 -187.50 137.50 47.50 0.0671406 -187.50 137.50 52.50 0.114065 -187.50 137.50 57.50 0.251364 -187.50 137.50 62.50 0.513584 -187.50 137.50 67.50 0.878412 -187.50 137.50 72.50 1.44285 -187.50 137.50 77.50 1.96926 -187.50 137.50 82.50 2.32043 -187.50 137.50 87.50 2.39142 -187.50 137.50 92.50 2.27582 -187.50 137.50 97.50 2.12179 -187.50 137.50 102.50 1.88999 -187.50 137.50 107.50 1.42774 -187.50 137.50 112.50 0.919116 -187.50 137.50 117.50 0.481646 -187.50 137.50 122.50 0.250432 -187.50 137.50 127.50 0.132148 -187.50 137.50 132.50 0.0619831 -187.50 137.50 137.50 0.0671406 -187.50 137.50 142.50 0.114065 -187.50 137.50 147.50 0.251364 -187.50 137.50 152.50 0.513583 -187.50 137.50 157.50 0.87841 -187.50 137.50 162.50 1.44285 -187.50 137.50 167.50 1.96925 -187.50 137.50 172.50 2.32043 -187.50 137.50 177.50 2.39142 -187.50 137.50 182.50 2.27582 -187.50 137.50 187.50 2.12179 -187.50 137.50 192.50 1.88999 -187.50 137.50 197.50 1.42774 -187.50 137.50 202.50 0.919116 -187.50 137.50 207.50 0.481646 -187.50 137.50 212.50 0.250432 -187.50 137.50 217.50 0.132148 -187.50 137.50 222.50 0.0619832 -187.50 137.50 227.50 0.0671405 -187.50 137.50 232.50 0.114066 -187.50 137.50 237.50 0.251364 -187.50 137.50 242.50 0.513583 -187.50 137.50 247.50 0.878412 -187.50 137.50 252.50 1.44285 -187.50 137.50 257.50 1.96926 -187.50 137.50 262.50 2.32043 -187.50 137.50 267.50 2.39142 -187.50 137.50 272.50 2.27582 -187.50 137.50 277.50 2.12178 -187.50 137.50 282.50 1.88999 -187.50 137.50 287.50 1.42774 -187.50 137.50 292.50 0.919116 -187.50 137.50 297.50 0.481647 -187.50 137.50 302.50 0.250432 -187.50 137.50 307.50 0.132148 -187.50 137.50 312.50 0.0619832 -187.50 137.50 317.50 0.0671405 -187.50 137.50 322.50 0.114065 -187.50 137.50 327.50 0.251363 -187.50 137.50 332.50 0.513583 -187.50 137.50 337.50 0.878409 -187.50 137.50 342.50 1.44285 -187.50 137.50 347.50 1.96925 -187.50 137.50 352.50 2.32043 -187.50 137.50 357.50 2.39142 -187.50 142.50 2.50 2.24978 -187.50 142.50 7.50 2.17122 -187.50 142.50 12.50 1.84277 -187.50 142.50 17.50 1.32884 -187.50 142.50 22.50 0.784166 -187.50 142.50 27.50 0.408708 -187.50 142.50 32.50 0.194671 -187.50 142.50 37.50 0.0951026 -187.50 142.50 42.50 0.0455315 -187.50 142.50 47.50 0.036647 -187.50 142.50 52.50 0.0655168 -187.50 142.50 57.50 0.147592 -187.50 142.50 62.50 0.340672 -187.50 142.50 67.50 0.658198 -187.50 142.50 72.50 1.06461 -187.50 142.50 77.50 1.53548 -187.50 142.50 82.50 1.92215 -187.50 142.50 87.50 2.16403 -187.50 142.50 92.50 2.24978 -187.50 142.50 97.50 2.17122 -187.50 142.50 102.50 1.84277 -187.50 142.50 107.50 1.32884 -187.50 142.50 112.50 0.784166 -187.50 142.50 117.50 0.408708 -187.50 142.50 122.50 0.194671 -187.50 142.50 127.50 0.0951026 -187.50 142.50 132.50 0.0455315 -187.50 142.50 137.50 0.036647 -187.50 142.50 142.50 0.0655168 -187.50 142.50 147.50 0.147592 -187.50 142.50 152.50 0.340672 -187.50 142.50 157.50 0.658198 -187.50 142.50 162.50 1.06461 -187.50 142.50 167.50 1.53548 -187.50 142.50 172.50 1.92216 -187.50 142.50 177.50 2.16403 -187.50 142.50 182.50 2.24978 -187.50 142.50 187.50 2.17122 -187.50 142.50 192.50 1.84277 -187.50 142.50 197.50 1.32884 -187.50 142.50 202.50 0.784166 -187.50 142.50 207.50 0.408708 -187.50 142.50 212.50 0.194671 -187.50 142.50 217.50 0.0951025 -187.50 142.50 222.50 0.0455315 -187.50 142.50 227.50 0.0366469 -187.50 142.50 232.50 0.0655169 -187.50 142.50 237.50 0.147592 -187.50 142.50 242.50 0.340672 -187.50 142.50 247.50 0.658198 -187.50 142.50 252.50 1.06461 -187.50 142.50 257.50 1.53548 -187.50 142.50 262.50 1.92216 -187.50 142.50 267.50 2.16403 -187.50 142.50 272.50 2.24978 -187.50 142.50 277.50 2.17122 -187.50 142.50 282.50 1.84277 -187.50 142.50 287.50 1.32884 -187.50 142.50 292.50 0.784166 -187.50 142.50 297.50 0.408708 -187.50 142.50 302.50 0.194671 -187.50 142.50 307.50 0.0951027 -187.50 142.50 312.50 0.0455315 -187.50 142.50 317.50 0.0366469 -187.50 142.50 322.50 0.0655166 -187.50 142.50 327.50 0.147592 -187.50 142.50 332.50 0.340671 -187.50 142.50 337.50 0.658197 -187.50 142.50 342.50 1.06461 -187.50 142.50 347.50 1.53547 -187.50 142.50 352.50 1.92215 -187.50 142.50 357.50 2.16403 -187.50 147.50 2.50 2.14417 -187.50 147.50 7.50 2.13826 -187.50 147.50 12.50 1.76924 -187.50 147.50 17.50 1.21186 -187.50 147.50 22.50 0.667492 -187.50 147.50 27.50 0.316604 -187.50 147.50 32.50 0.148373 -187.50 147.50 37.50 0.0673647 -187.50 147.50 42.50 0.0264573 -187.50 147.50 47.50 0.0149224 -187.50 147.50 52.50 0.0241047 -187.50 147.50 57.50 0.0726452 -187.50 147.50 62.50 0.193987 -187.50 147.50 67.50 0.398188 -187.50 147.50 72.50 0.708159 -187.50 147.50 77.50 1.12216 -187.50 147.50 82.50 1.51705 -187.50 147.50 87.50 1.89225 -187.50 147.50 92.50 2.14417 -187.50 147.50 97.50 2.13825 -187.50 147.50 102.50 1.76924 -187.50 147.50 107.50 1.21186 -187.50 147.50 112.50 0.667492 -187.50 147.50 117.50 0.316604 -187.50 147.50 122.50 0.148373 -187.50 147.50 127.50 0.0673646 -187.50 147.50 132.50 0.0264573 -187.50 147.50 137.50 0.0149224 -187.50 147.50 142.50 0.0241046 -187.50 147.50 147.50 0.0726452 -187.50 147.50 152.50 0.193987 -187.50 147.50 157.50 0.398188 -187.50 147.50 162.50 0.708159 -187.50 147.50 167.50 1.12216 -187.50 147.50 172.50 1.51705 -187.50 147.50 177.50 1.89225 -187.50 147.50 182.50 2.14417 -187.50 147.50 187.50 2.13826 -187.50 147.50 192.50 1.76924 -187.50 147.50 197.50 1.21186 -187.50 147.50 202.50 0.667492 -187.50 147.50 207.50 0.316604 -187.50 147.50 212.50 0.148373 -187.50 147.50 217.50 0.0673647 -187.50 147.50 222.50 0.0264573 -187.50 147.50 227.50 0.0149224 -187.50 147.50 232.50 0.0241047 -187.50 147.50 237.50 0.0726453 -187.50 147.50 242.50 0.193987 -187.50 147.50 247.50 0.398188 -187.50 147.50 252.50 0.708159 -187.50 147.50 257.50 1.12216 -187.50 147.50 262.50 1.51705 -187.50 147.50 267.50 1.89225 -187.50 147.50 272.50 2.14417 -187.50 147.50 277.50 2.13826 -187.50 147.50 282.50 1.76924 -187.50 147.50 287.50 1.21186 -187.50 147.50 292.50 0.667493 -187.50 147.50 297.50 0.316605 -187.50 147.50 302.50 0.148373 -187.50 147.50 307.50 0.0673648 -187.50 147.50 312.50 0.0264573 -187.50 147.50 317.50 0.0149224 -187.50 147.50 322.50 0.0241046 -187.50 147.50 327.50 0.0726449 -187.50 147.50 332.50 0.193987 -187.50 147.50 337.50 0.398187 -187.50 147.50 342.50 0.708158 -187.50 147.50 347.50 1.12215 -187.50 147.50 352.50 1.51705 -187.50 147.50 357.50 1.89225 -187.50 152.50 2.50 2.00435 -187.50 152.50 7.50 2.0532 -187.50 152.50 12.50 1.70348 -187.50 152.50 17.50 1.14777 -187.50 152.50 22.50 0.607181 -187.50 152.50 27.50 0.255734 -187.50 152.50 32.50 0.113931 -187.50 152.50 37.50 0.0492446 -187.50 152.50 42.50 0.0176011 -187.50 152.50 47.50 0.00744774 -187.50 152.50 52.50 0.0109886 -187.50 152.50 57.50 0.0399339 -187.50 152.50 62.50 0.111608 -187.50 152.50 67.50 0.228221 -187.50 152.50 72.50 0.470081 -187.50 152.50 77.50 0.779559 -187.50 152.50 82.50 1.20743 -187.50 152.50 87.50 1.66184 -187.50 152.50 92.50 2.00435 -187.50 152.50 97.50 2.0532 -187.50 152.50 102.50 1.70347 -187.50 152.50 107.50 1.14777 -187.50 152.50 112.50 0.607181 -187.50 152.50 117.50 0.255734 -187.50 152.50 122.50 0.113931 -187.50 152.50 127.50 0.0492446 -187.50 152.50 132.50 0.017601 -187.50 152.50 137.50 0.00744773 -187.50 152.50 142.50 0.0109886 -187.50 152.50 147.50 0.0399339 -187.50 152.50 152.50 0.111608 -187.50 152.50 157.50 0.228221 -187.50 152.50 162.50 0.470081 -187.50 152.50 167.50 0.779558 -187.50 152.50 172.50 1.20743 -187.50 152.50 177.50 1.66184 -187.50 152.50 182.50 2.00435 -187.50 152.50 187.50 2.0532 -187.50 152.50 192.50 1.70348 -187.50 152.50 197.50 1.14777 -187.50 152.50 202.50 0.607181 -187.50 152.50 207.50 0.255734 -187.50 152.50 212.50 0.113931 -187.50 152.50 217.50 0.0492446 -187.50 152.50 222.50 0.0176011 -187.50 152.50 227.50 0.00744773 -187.50 152.50 232.50 0.0109886 -187.50 152.50 237.50 0.0399339 -187.50 152.50 242.50 0.111608 -187.50 152.50 247.50 0.228221 -187.50 152.50 252.50 0.470081 -187.50 152.50 257.50 0.779559 -187.50 152.50 262.50 1.20743 -187.50 152.50 267.50 1.66184 -187.50 152.50 272.50 2.00435 -187.50 152.50 277.50 2.0532 -187.50 152.50 282.50 1.70348 -187.50 152.50 287.50 1.14777 -187.50 152.50 292.50 0.607181 -187.50 152.50 297.50 0.255734 -187.50 152.50 302.50 0.113932 -187.50 152.50 307.50 0.0492446 -187.50 152.50 312.50 0.0176011 -187.50 152.50 317.50 0.00744773 -187.50 152.50 322.50 0.0109886 -187.50 152.50 327.50 0.0399338 -187.50 152.50 332.50 0.111608 -187.50 152.50 337.50 0.22822 -187.50 152.50 342.50 0.470081 -187.50 152.50 347.50 0.779558 -187.50 152.50 352.50 1.20743 -187.50 152.50 357.50 1.66184 -187.50 157.50 2.50 1.8763 -187.50 157.50 7.50 1.96189 -187.50 157.50 12.50 1.65688 -187.50 157.50 17.50 1.13362 -187.50 157.50 22.50 0.603202 -187.50 157.50 27.50 0.253091 -187.50 157.50 32.50 0.0856215 -187.50 157.50 37.50 0.0413406 -187.50 157.50 42.50 0.0206685 -187.50 157.50 47.50 0.0123819 -187.50 157.50 52.50 0.0208143 -187.50 157.50 57.50 0.0369662 -187.50 157.50 62.50 0.0718563 -187.50 157.50 67.50 0.165615 -187.50 157.50 72.50 0.316784 -187.50 157.50 77.50 0.578258 -187.50 157.50 82.50 0.979424 -187.50 157.50 87.50 1.47625 -187.50 157.50 92.50 1.8763 -187.50 157.50 97.50 1.96189 -187.50 157.50 102.50 1.65688 -187.50 157.50 107.50 1.13362 -187.50 157.50 112.50 0.603201 -187.50 157.50 117.50 0.253091 -187.50 157.50 122.50 0.0856213 -187.50 157.50 127.50 0.0413406 -187.50 157.50 132.50 0.0206685 -187.50 157.50 137.50 0.0123819 -187.50 157.50 142.50 0.0208143 -187.50 157.50 147.50 0.0369661 -187.50 157.50 152.50 0.0718562 -187.50 157.50 157.50 0.165614 -187.50 157.50 162.50 0.316784 -187.50 157.50 167.50 0.578258 -187.50 157.50 172.50 0.979424 -187.50 157.50 177.50 1.47625 -187.50 157.50 182.50 1.8763 -187.50 157.50 187.50 1.96189 -187.50 157.50 192.50 1.65688 -187.50 157.50 197.50 1.13362 -187.50 157.50 202.50 0.603202 -187.50 157.50 207.50 0.253091 -187.50 157.50 212.50 0.0856215 -187.50 157.50 217.50 0.0413406 -187.50 157.50 222.50 0.0206685 -187.50 157.50 227.50 0.0123819 -187.50 157.50 232.50 0.0208143 -187.50 157.50 237.50 0.0369662 -187.50 157.50 242.50 0.0718563 -187.50 157.50 247.50 0.165614 -187.50 157.50 252.50 0.316784 -187.50 157.50 257.50 0.578259 -187.50 157.50 262.50 0.979425 -187.50 157.50 267.50 1.47625 -187.50 157.50 272.50 1.8763 -187.50 157.50 277.50 1.96189 -187.50 157.50 282.50 1.65688 -187.50 157.50 287.50 1.13362 -187.50 157.50 292.50 0.603202 -187.50 157.50 297.50 0.253092 -187.50 157.50 302.50 0.0856216 -187.50 157.50 307.50 0.0413407 -187.50 157.50 312.50 0.0206685 -187.50 157.50 317.50 0.0123819 -187.50 157.50 322.50 0.0208142 -187.50 157.50 327.50 0.0369661 -187.50 157.50 332.50 0.071856 -187.50 157.50 337.50 0.165614 -187.50 157.50 342.50 0.316783 -187.50 157.50 347.50 0.578257 -187.50 157.50 352.50 0.979423 -187.50 157.50 357.50 1.47625 -187.50 162.50 2.50 1.70709 -187.50 162.50 7.50 1.81865 -187.50 162.50 12.50 1.53789 -187.50 162.50 17.50 1.04041 -187.50 162.50 22.50 0.554598 -187.50 162.50 27.50 0.232618 -187.50 162.50 32.50 0.0872121 -187.50 162.50 37.50 0.0373365 -187.50 162.50 42.50 0.0275172 -187.50 162.50 47.50 0.0402605 -187.50 162.50 52.50 0.0491587 -187.50 162.50 57.50 0.0511927 -187.50 162.50 62.50 0.063614 -187.50 162.50 67.50 0.111744 -187.50 162.50 72.50 0.220447 -187.50 162.50 77.50 0.430748 -187.50 162.50 82.50 0.757891 -187.50 162.50 87.50 1.26139 -187.50 162.50 92.50 1.70709 -187.50 162.50 97.50 1.81865 -187.50 162.50 102.50 1.53789 -187.50 162.50 107.50 1.04041 -187.50 162.50 112.50 0.554597 -187.50 162.50 117.50 0.232618 -187.50 162.50 122.50 0.087212 -187.50 162.50 127.50 0.0373365 -187.50 162.50 132.50 0.0275172 -187.50 162.50 137.50 0.0402605 -187.50 162.50 142.50 0.0491587 -187.50 162.50 147.50 0.0511927 -187.50 162.50 152.50 0.063614 -187.50 162.50 157.50 0.111743 -187.50 162.50 162.50 0.220447 -187.50 162.50 167.50 0.430748 -187.50 162.50 172.50 0.75789 -187.50 162.50 177.50 1.26139 -187.50 162.50 182.50 1.70709 -187.50 162.50 187.50 1.81865 -187.50 162.50 192.50 1.53789 -187.50 162.50 197.50 1.04041 -187.50 162.50 202.50 0.554598 -187.50 162.50 207.50 0.232619 -187.50 162.50 212.50 0.0872121 -187.50 162.50 217.50 0.0373365 -187.50 162.50 222.50 0.0275172 -187.50 162.50 227.50 0.0402605 -187.50 162.50 232.50 0.0491587 -187.50 162.50 237.50 0.0511927 -187.50 162.50 242.50 0.0636141 -187.50 162.50 247.50 0.111743 -187.50 162.50 252.50 0.220447 -187.50 162.50 257.50 0.430748 -187.50 162.50 262.50 0.757891 -187.50 162.50 267.50 1.26139 -187.50 162.50 272.50 1.70709 -187.50 162.50 277.50 1.81865 -187.50 162.50 282.50 1.53789 -187.50 162.50 287.50 1.04041 -187.50 162.50 292.50 0.554598 -187.50 162.50 297.50 0.232619 -187.50 162.50 302.50 0.0872121 -187.50 162.50 307.50 0.0373365 -187.50 162.50 312.50 0.0275172 -187.50 162.50 317.50 0.0402605 -187.50 162.50 322.50 0.0491587 -187.50 162.50 327.50 0.0511927 -187.50 162.50 332.50 0.063614 -187.50 162.50 337.50 0.111743 -187.50 162.50 342.50 0.220446 -187.50 162.50 347.50 0.430747 -187.50 162.50 352.50 0.757889 -187.50 162.50 357.50 1.26139 -187.50 167.50 2.50 1.52023 -187.50 167.50 7.50 1.65379 -187.50 167.50 12.50 1.35189 -187.50 167.50 17.50 0.847715 -187.50 167.50 22.50 0.432081 -187.50 167.50 27.50 0.18591 -187.50 167.50 32.50 0.0659939 -187.50 167.50 37.50 0.0323908 -187.50 167.50 42.50 0.040952 -187.50 167.50 47.50 0.0691217 -187.50 167.50 52.50 0.0845744 -187.50 167.50 57.50 0.068673 -187.50 167.50 62.50 0.052468 -187.50 167.50 67.50 0.0857278 -187.50 167.50 72.50 0.15518 -187.50 167.50 77.50 0.276507 -187.50 167.50 82.50 0.531968 -187.50 167.50 87.50 1.02628 -187.50 167.50 92.50 1.52023 -187.50 167.50 97.50 1.65379 -187.50 167.50 102.50 1.35189 -187.50 167.50 107.50 0.847716 -187.50 167.50 112.50 0.432081 -187.50 167.50 117.50 0.18591 -187.50 167.50 122.50 0.0659938 -187.50 167.50 127.50 0.0323908 -187.50 167.50 132.50 0.040952 -187.50 167.50 137.50 0.0691217 -187.50 167.50 142.50 0.0845744 -187.50 167.50 147.50 0.068673 -187.50 167.50 152.50 0.0524679 -187.50 167.50 157.50 0.0857277 -187.50 167.50 162.50 0.15518 -187.50 167.50 167.50 0.276507 -187.50 167.50 172.50 0.531968 -187.50 167.50 177.50 1.02628 -187.50 167.50 182.50 1.52023 -187.50 167.50 187.50 1.65379 -187.50 167.50 192.50 1.35189 -187.50 167.50 197.50 0.847715 -187.50 167.50 202.50 0.432081 -187.50 167.50 207.50 0.18591 -187.50 167.50 212.50 0.0659938 -187.50 167.50 217.50 0.0323908 -187.50 167.50 222.50 0.040952 -187.50 167.50 227.50 0.0691217 -187.50 167.50 232.50 0.0845744 -187.50 167.50 237.50 0.0686729 -187.50 167.50 242.50 0.052468 -187.50 167.50 247.50 0.0857277 -187.50 167.50 252.50 0.15518 -187.50 167.50 257.50 0.276507 -187.50 167.50 262.50 0.531968 -187.50 167.50 267.50 1.02628 -187.50 167.50 272.50 1.52023 -187.50 167.50 277.50 1.65379 -187.50 167.50 282.50 1.3519 -187.50 167.50 287.50 0.847716 -187.50 167.50 292.50 0.432081 -187.50 167.50 297.50 0.18591 -187.50 167.50 302.50 0.0659939 -187.50 167.50 307.50 0.0323908 -187.50 167.50 312.50 0.040952 -187.50 167.50 317.50 0.0691217 -187.50 167.50 322.50 0.0845744 -187.50 167.50 327.50 0.068673 -187.50 167.50 332.50 0.052468 -187.50 167.50 337.50 0.0857276 -187.50 167.50 342.50 0.155179 -187.50 167.50 347.50 0.276506 -187.50 167.50 352.50 0.531967 -187.50 167.50 357.50 1.02628 -187.50 172.50 2.50 1.3016 -187.50 172.50 7.50 1.44265 -187.50 172.50 12.50 1.12328 -187.50 172.50 17.50 0.6362 -187.50 172.50 22.50 0.290226 -187.50 172.50 27.50 0.127569 -187.50 172.50 32.50 0.0633138 -187.50 172.50 37.50 0.0428904 -187.50 172.50 42.50 0.0491793 -187.50 172.50 47.50 0.0719836 -187.50 172.50 52.50 0.0858504 -187.50 172.50 57.50 0.0789392 -187.50 172.50 62.50 0.0660809 -187.50 172.50 67.50 0.0667711 -187.50 172.50 72.50 0.0887194 -187.50 172.50 77.50 0.152794 -187.50 172.50 82.50 0.363568 -187.50 172.50 87.50 0.806013 -187.50 172.50 92.50 1.3016 -187.50 172.50 97.50 1.44265 -187.50 172.50 102.50 1.12328 -187.50 172.50 107.50 0.6362 -187.50 172.50 112.50 0.290226 -187.50 172.50 117.50 0.127569 -187.50 172.50 122.50 0.0633138 -187.50 172.50 127.50 0.0428904 -187.50 172.50 132.50 0.0491793 -187.50 172.50 137.50 0.0719836 -187.50 172.50 142.50 0.0858504 -187.50 172.50 147.50 0.0789392 -187.50 172.50 152.50 0.0660808 -187.50 172.50 157.50 0.0667711 -187.50 172.50 162.50 0.0887194 -187.50 172.50 167.50 0.152794 -187.50 172.50 172.50 0.363567 -187.50 172.50 177.50 0.806013 -187.50 172.50 182.50 1.3016 -187.50 172.50 187.50 1.44265 -187.50 172.50 192.50 1.12328 -187.50 172.50 197.50 0.6362 -187.50 172.50 202.50 0.290226 -187.50 172.50 207.50 0.127569 -187.50 172.50 212.50 0.0633138 -187.50 172.50 217.50 0.0428904 -187.50 172.50 222.50 0.0491793 -187.50 172.50 227.50 0.0719836 -187.50 172.50 232.50 0.0858505 -187.50 172.50 237.50 0.0789391 -187.50 172.50 242.50 0.0660808 -187.50 172.50 247.50 0.0667711 -187.50 172.50 252.50 0.0887194 -187.50 172.50 257.50 0.152794 -187.50 172.50 262.50 0.363568 -187.50 172.50 267.50 0.806014 -187.50 172.50 272.50 1.3016 -187.50 172.50 277.50 1.44265 -187.50 172.50 282.50 1.12328 -187.50 172.50 287.50 0.636201 -187.50 172.50 292.50 0.290226 -187.50 172.50 297.50 0.127569 -187.50 172.50 302.50 0.0633138 -187.50 172.50 307.50 0.0428905 -187.50 172.50 312.50 0.0491793 -187.50 172.50 317.50 0.0719836 -187.50 172.50 322.50 0.0858504 -187.50 172.50 327.50 0.0789392 -187.50 172.50 332.50 0.0660808 -187.50 172.50 337.50 0.0667711 -187.50 172.50 342.50 0.0887193 -187.50 172.50 347.50 0.152794 -187.50 172.50 352.50 0.363566 -187.50 172.50 357.50 0.806011 -187.50 177.50 2.50 0.987355 -187.50 177.50 7.50 1.11343 -187.50 177.50 12.50 0.84601 -187.50 177.50 17.50 0.4489 -187.50 177.50 22.50 0.184364 -187.50 177.50 27.50 0.0759276 -187.50 177.50 32.50 0.0436248 -187.50 177.50 37.50 0.0448351 -187.50 177.50 42.50 0.0576318 -187.50 177.50 47.50 0.0700448 -187.50 177.50 52.50 0.0739504 -187.50 177.50 57.50 0.0686384 -187.50 177.50 62.50 0.0573382 -187.50 177.50 67.50 0.0533237 -187.50 177.50 72.50 0.0569323 -187.50 177.50 77.50 0.0924009 -187.50 177.50 82.50 0.235545 -187.50 177.50 87.50 0.578476 -187.50 177.50 92.50 0.987353 -187.50 177.50 97.50 1.11343 -187.50 177.50 102.50 0.84601 -187.50 177.50 107.50 0.4489 -187.50 177.50 112.50 0.184364 -187.50 177.50 117.50 0.0759276 -187.50 177.50 122.50 0.0436248 -187.50 177.50 127.50 0.0448351 -187.50 177.50 132.50 0.0576318 -187.50 177.50 137.50 0.0700448 -187.50 177.50 142.50 0.0739504 -187.50 177.50 147.50 0.0686384 -187.50 177.50 152.50 0.0573382 -187.50 177.50 157.50 0.0533237 -187.50 177.50 162.50 0.0569323 -187.50 177.50 167.50 0.0924007 -187.50 177.50 172.50 0.235545 -187.50 177.50 177.50 0.578476 -187.50 177.50 182.50 0.987355 -187.50 177.50 187.50 1.11343 -187.50 177.50 192.50 0.84601 -187.50 177.50 197.50 0.4489 -187.50 177.50 202.50 0.184365 -187.50 177.50 207.50 0.0759276 -187.50 177.50 212.50 0.0436248 -187.50 177.50 217.50 0.0448351 -187.50 177.50 222.50 0.0576318 -187.50 177.50 227.50 0.0700448 -187.50 177.50 232.50 0.0739504 -187.50 177.50 237.50 0.0686384 -187.50 177.50 242.50 0.0573382 -187.50 177.50 247.50 0.0533237 -187.50 177.50 252.50 0.0569324 -187.50 177.50 257.50 0.0924008 -187.50 177.50 262.50 0.235545 -187.50 177.50 267.50 0.578477 -187.50 177.50 272.50 0.987356 -187.50 177.50 277.50 1.11343 -187.50 177.50 282.50 0.846011 -187.50 177.50 287.50 0.4489 -187.50 177.50 292.50 0.184365 -187.50 177.50 297.50 0.0759276 -187.50 177.50 302.50 0.0436248 -187.50 177.50 307.50 0.0448351 -187.50 177.50 312.50 0.0576318 -187.50 177.50 317.50 0.0700448 -187.50 177.50 322.50 0.0739504 -187.50 177.50 327.50 0.0686384 -187.50 177.50 332.50 0.0573382 -187.50 177.50 337.50 0.0533237 -187.50 177.50 342.50 0.0569323 -187.50 177.50 347.50 0.0924006 -187.50 177.50 352.50 0.235544 -187.50 177.50 357.50 0.578475 -192.50 2.50 2.50 0.393272 -192.50 2.50 7.50 0.149977 -192.50 2.50 12.50 0.0624685 -192.50 2.50 17.50 0.0485219 -192.50 2.50 22.50 0.0601603 -192.50 2.50 27.50 0.0760386 -192.50 2.50 32.50 0.083846 -192.50 2.50 37.50 0.084539 -192.50 2.50 42.50 0.083846 -192.50 2.50 47.50 0.0760385 -192.50 2.50 52.50 0.0601603 -192.50 2.50 57.50 0.0485219 -192.50 2.50 62.50 0.0624686 -192.50 2.50 67.50 0.149977 -192.50 2.50 72.50 0.393273 -192.50 2.50 77.50 0.773178 -192.50 2.50 82.50 0.980545 -192.50 2.50 87.50 0.773178 -192.50 2.50 92.50 0.393272 -192.50 2.50 97.50 0.149977 -192.50 2.50 102.50 0.0624685 -192.50 2.50 107.50 0.0485219 -192.50 2.50 112.50 0.0601603 -192.50 2.50 117.50 0.0760386 -192.50 2.50 122.50 0.083846 -192.50 2.50 127.50 0.084539 -192.50 2.50 132.50 0.083846 -192.50 2.50 137.50 0.0760385 -192.50 2.50 142.50 0.0601603 -192.50 2.50 147.50 0.0485219 -192.50 2.50 152.50 0.0624686 -192.50 2.50 157.50 0.149977 -192.50 2.50 162.50 0.393273 -192.50 2.50 167.50 0.773179 -192.50 2.50 172.50 0.980506 -192.50 2.50 177.50 0.773179 -192.50 2.50 182.50 0.393272 -192.50 2.50 187.50 0.149977 -192.50 2.50 192.50 0.0624685 -192.50 2.50 197.50 0.0485219 -192.50 2.50 202.50 0.0601603 -192.50 2.50 207.50 0.0760386 -192.50 2.50 212.50 0.083846 -192.50 2.50 217.50 0.084539 -192.50 2.50 222.50 0.083846 -192.50 2.50 227.50 0.0760385 -192.50 2.50 232.50 0.0601603 -192.50 2.50 237.50 0.0485219 -192.50 2.50 242.50 0.0624687 -192.50 2.50 247.50 0.149977 -192.50 2.50 252.50 0.393273 -192.50 2.50 257.50 0.773179 -192.50 2.50 262.50 0.980476 -192.50 2.50 267.50 0.773178 -192.50 2.50 272.50 0.393272 -192.50 2.50 277.50 0.149977 -192.50 2.50 282.50 0.0624685 -192.50 2.50 287.50 0.0485219 -192.50 2.50 292.50 0.0601603 -192.50 2.50 297.50 0.0760385 -192.50 2.50 302.50 0.083846 -192.50 2.50 307.50 0.084539 -192.50 2.50 312.50 0.083846 -192.50 2.50 317.50 0.0760385 -192.50 2.50 322.50 0.0601603 -192.50 2.50 327.50 0.0485219 -192.50 2.50 332.50 0.0624686 -192.50 2.50 337.50 0.149977 -192.50 2.50 342.50 0.393271 -192.50 2.50 347.50 0.773178 -192.50 2.50 352.50 0.980476 -192.50 2.50 357.50 0.773179 -192.50 7.50 2.50 0.512871 -192.50 7.50 7.50 0.23942 -192.50 7.50 12.50 0.104932 -192.50 7.50 17.50 0.0662052 -192.50 7.50 22.50 0.0623606 -192.50 7.50 27.50 0.0660297 -192.50 7.50 32.50 0.0683521 -192.50 7.50 37.50 0.0741997 -192.50 7.50 42.50 0.0710801 -192.50 7.50 47.50 0.0581632 -192.50 7.50 52.50 0.044284 -192.50 7.50 57.50 0.0444665 -192.50 7.50 62.50 0.0775083 -192.50 7.50 67.50 0.18991 -192.50 7.50 72.50 0.446618 -192.50 7.50 77.50 0.808348 -192.50 7.50 82.50 1.00664 -192.50 7.50 87.50 0.851274 -192.50 7.50 92.50 0.51287 -192.50 7.50 97.50 0.23942 -192.50 7.50 102.50 0.104932 -192.50 7.50 107.50 0.0662052 -192.50 7.50 112.50 0.0623606 -192.50 7.50 117.50 0.0660297 -192.50 7.50 122.50 0.0683521 -192.50 7.50 127.50 0.0741996 -192.50 7.50 132.50 0.0710801 -192.50 7.50 137.50 0.0581632 -192.50 7.50 142.50 0.044284 -192.50 7.50 147.50 0.0444665 -192.50 7.50 152.50 0.0775082 -192.50 7.50 157.50 0.189909 -192.50 7.50 162.50 0.446618 -192.50 7.50 167.50 0.808347 -192.50 7.50 172.50 1.00664 -192.50 7.50 177.50 0.851276 -192.50 7.50 182.50 0.512871 -192.50 7.50 187.50 0.23942 -192.50 7.50 192.50 0.104932 -192.50 7.50 197.50 0.0662051 -192.50 7.50 202.50 0.0623606 -192.50 7.50 207.50 0.0660298 -192.50 7.50 212.50 0.0683521 -192.50 7.50 217.50 0.0741996 -192.50 7.50 222.50 0.0710801 -192.50 7.50 227.50 0.0581632 -192.50 7.50 232.50 0.044284 -192.50 7.50 237.50 0.0444665 -192.50 7.50 242.50 0.0775082 -192.50 7.50 247.50 0.189909 -192.50 7.50 252.50 0.446618 -192.50 7.50 257.50 0.808348 -192.50 7.50 262.50 1.00664 -192.50 7.50 267.50 0.851276 -192.50 7.50 272.50 0.512872 -192.50 7.50 277.50 0.23942 -192.50 7.50 282.50 0.104932 -192.50 7.50 287.50 0.0662052 -192.50 7.50 292.50 0.0623606 -192.50 7.50 297.50 0.0660298 -192.50 7.50 302.50 0.0683521 -192.50 7.50 307.50 0.0741996 -192.50 7.50 312.50 0.0710801 -192.50 7.50 317.50 0.0581633 -192.50 7.50 322.50 0.044284 -192.50 7.50 327.50 0.0444665 -192.50 7.50 332.50 0.0775081 -192.50 7.50 337.50 0.189909 -192.50 7.50 342.50 0.446617 -192.50 7.50 347.50 0.808346 -192.50 7.50 352.50 1.00664 -192.50 7.50 357.50 0.851277 -192.50 12.50 2.50 0.748316 -192.50 12.50 7.50 0.390835 -192.50 12.50 12.50 0.189551 -192.50 12.50 17.50 0.103142 -192.50 12.50 22.50 0.0810947 -192.50 12.50 27.50 0.0778743 -192.50 12.50 32.50 0.0872312 -192.50 12.50 37.50 0.0934662 -192.50 12.50 42.50 0.0764977 -192.50 12.50 47.50 0.0477299 -192.50 12.50 52.50 0.0339706 -192.50 12.50 57.50 0.0559125 -192.50 12.50 62.50 0.128447 -192.50 12.50 67.50 0.295839 -192.50 12.50 72.50 0.629721 -192.50 12.50 77.50 1.07311 -192.50 12.50 82.50 1.31062 -192.50 12.50 87.50 1.1454 -192.50 12.50 92.50 0.748315 -192.50 12.50 97.50 0.390835 -192.50 12.50 102.50 0.189551 -192.50 12.50 107.50 0.103142 -192.50 12.50 112.50 0.0810947 -192.50 12.50 117.50 0.0778743 -192.50 12.50 122.50 0.0872312 -192.50 12.50 127.50 0.0934662 -192.50 12.50 132.50 0.0764976 -192.50 12.50 137.50 0.04773 -192.50 12.50 142.50 0.0339705 -192.50 12.50 147.50 0.0559125 -192.50 12.50 152.50 0.128447 -192.50 12.50 157.50 0.295838 -192.50 12.50 162.50 0.629721 -192.50 12.50 167.50 1.07311 -192.50 12.50 172.50 1.31062 -192.50 12.50 177.50 1.1454 -192.50 12.50 182.50 0.748315 -192.50 12.50 187.50 0.390835 -192.50 12.50 192.50 0.189551 -192.50 12.50 197.50 0.103142 -192.50 12.50 202.50 0.0810947 -192.50 12.50 207.50 0.0778744 -192.50 12.50 212.50 0.0872311 -192.50 12.50 217.50 0.0934662 -192.50 12.50 222.50 0.0764977 -192.50 12.50 227.50 0.04773 -192.50 12.50 232.50 0.0339706 -192.50 12.50 237.50 0.0559126 -192.50 12.50 242.50 0.128447 -192.50 12.50 247.50 0.295839 -192.50 12.50 252.50 0.629721 -192.50 12.50 257.50 1.07311 -192.50 12.50 262.50 1.31062 -192.50 12.50 267.50 1.1454 -192.50 12.50 272.50 0.748316 -192.50 12.50 277.50 0.390835 -192.50 12.50 282.50 0.189551 -192.50 12.50 287.50 0.103142 -192.50 12.50 292.50 0.0810947 -192.50 12.50 297.50 0.0778744 -192.50 12.50 302.50 0.0872311 -192.50 12.50 307.50 0.0934662 -192.50 12.50 312.50 0.0764977 -192.50 12.50 317.50 0.04773 -192.50 12.50 322.50 0.0339706 -192.50 12.50 327.50 0.0559125 -192.50 12.50 332.50 0.128447 -192.50 12.50 337.50 0.295838 -192.50 12.50 342.50 0.62972 -192.50 12.50 347.50 1.07311 -192.50 12.50 352.50 1.31062 -192.50 12.50 357.50 1.1454 -192.50 17.50 2.50 1.01248 -192.50 17.50 7.50 0.608535 -192.50 17.50 12.50 0.325954 -192.50 17.50 17.50 0.202944 -192.50 17.50 22.50 0.133183 -192.50 17.50 27.50 0.0895592 -192.50 17.50 32.50 0.0777872 -192.50 17.50 37.50 0.0912259 -192.50 17.50 42.50 0.07522 -192.50 17.50 47.50 0.0423655 -192.50 17.50 52.50 0.0284921 -192.50 17.50 57.50 0.0549683 -192.50 17.50 62.50 0.155453 -192.50 17.50 67.50 0.397317 -192.50 17.50 72.50 0.808873 -192.50 17.50 77.50 1.28696 -192.50 17.50 82.50 1.54438 -192.50 17.50 87.50 1.39784 -192.50 17.50 92.50 1.01248 -192.50 17.50 97.50 0.608535 -192.50 17.50 102.50 0.325954 -192.50 17.50 107.50 0.202944 -192.50 17.50 112.50 0.133183 -192.50 17.50 117.50 0.0895593 -192.50 17.50 122.50 0.0777872 -192.50 17.50 127.50 0.0912259 -192.50 17.50 132.50 0.07522 -192.50 17.50 137.50 0.0423655 -192.50 17.50 142.50 0.0284921 -192.50 17.50 147.50 0.0549683 -192.50 17.50 152.50 0.155452 -192.50 17.50 157.50 0.397316 -192.50 17.50 162.50 0.808872 -192.50 17.50 167.50 1.28696 -192.50 17.50 172.50 1.54438 -192.50 17.50 177.50 1.39784 -192.50 17.50 182.50 1.01248 -192.50 17.50 187.50 0.608534 -192.50 17.50 192.50 0.325954 -192.50 17.50 197.50 0.202944 -192.50 17.50 202.50 0.133183 -192.50 17.50 207.50 0.0895593 -192.50 17.50 212.50 0.0777872 -192.50 17.50 217.50 0.0912259 -192.50 17.50 222.50 0.07522 -192.50 17.50 227.50 0.0423655 -192.50 17.50 232.50 0.0284922 -192.50 17.50 237.50 0.0549685 -192.50 17.50 242.50 0.155453 -192.50 17.50 247.50 0.397317 -192.50 17.50 252.50 0.808873 -192.50 17.50 257.50 1.28696 -192.50 17.50 262.50 1.54439 -192.50 17.50 267.50 1.39784 -192.50 17.50 272.50 1.01248 -192.50 17.50 277.50 0.608535 -192.50 17.50 282.50 0.325954 -192.50 17.50 287.50 0.202944 -192.50 17.50 292.50 0.133183 -192.50 17.50 297.50 0.0895592 -192.50 17.50 302.50 0.0777872 -192.50 17.50 307.50 0.0912259 -192.50 17.50 312.50 0.07522 -192.50 17.50 317.50 0.0423655 -192.50 17.50 322.50 0.0284921 -192.50 17.50 327.50 0.0549683 -192.50 17.50 332.50 0.155452 -192.50 17.50 337.50 0.397316 -192.50 17.50 342.50 0.808872 -192.50 17.50 347.50 1.28696 -192.50 17.50 352.50 1.54438 -192.50 17.50 357.50 1.39784 -192.50 22.50 2.50 1.3146 -192.50 22.50 7.50 0.890954 -192.50 22.50 12.50 0.553796 -192.50 22.50 17.50 0.348407 -192.50 22.50 22.50 0.19235 -192.50 22.50 27.50 0.106179 -192.50 22.50 32.50 0.0712791 -192.50 22.50 37.50 0.0595539 -192.50 22.50 42.50 0.0417087 -192.50 22.50 47.50 0.025159 -192.50 22.50 52.50 0.0219787 -192.50 22.50 57.50 0.0588251 -192.50 22.50 62.50 0.180599 -192.50 22.50 67.50 0.463089 -192.50 22.50 72.50 0.937676 -192.50 22.50 77.50 1.44195 -192.50 22.50 82.50 1.72547 -192.50 22.50 87.50 1.64327 -192.50 22.50 92.50 1.3146 -192.50 22.50 97.50 0.890954 -192.50 22.50 102.50 0.553796 -192.50 22.50 107.50 0.348407 -192.50 22.50 112.50 0.19235 -192.50 22.50 117.50 0.106179 -192.50 22.50 122.50 0.0712791 -192.50 22.50 127.50 0.0595539 -192.50 22.50 132.50 0.0417087 -192.50 22.50 137.50 0.025159 -192.50 22.50 142.50 0.0219787 -192.50 22.50 147.50 0.0588251 -192.50 22.50 152.50 0.180599 -192.50 22.50 157.50 0.463089 -192.50 22.50 162.50 0.937675 -192.50 22.50 167.50 1.44195 -192.50 22.50 172.50 1.72547 -192.50 22.50 177.50 1.64327 -192.50 22.50 182.50 1.3146 -192.50 22.50 187.50 0.890954 -192.50 22.50 192.50 0.553796 -192.50 22.50 197.50 0.348407 -192.50 22.50 202.50 0.19235 -192.50 22.50 207.50 0.106179 -192.50 22.50 212.50 0.0712791 -192.50 22.50 217.50 0.0595539 -192.50 22.50 222.50 0.0417087 -192.50 22.50 227.50 0.0251591 -192.50 22.50 232.50 0.0219787 -192.50 22.50 237.50 0.0588252 -192.50 22.50 242.50 0.180599 -192.50 22.50 247.50 0.463089 -192.50 22.50 252.50 0.937677 -192.50 22.50 257.50 1.44195 -192.50 22.50 262.50 1.72547 -192.50 22.50 267.50 1.64327 -192.50 22.50 272.50 1.3146 -192.50 22.50 277.50 0.890954 -192.50 22.50 282.50 0.553796 -192.50 22.50 287.50 0.348407 -192.50 22.50 292.50 0.19235 -192.50 22.50 297.50 0.106179 -192.50 22.50 302.50 0.0712791 -192.50 22.50 307.50 0.0595539 -192.50 22.50 312.50 0.0417087 -192.50 22.50 317.50 0.0251591 -192.50 22.50 322.50 0.0219787 -192.50 22.50 327.50 0.058825 -192.50 22.50 332.50 0.180599 -192.50 22.50 337.50 0.463088 -192.50 22.50 342.50 0.937675 -192.50 22.50 347.50 1.44195 -192.50 22.50 352.50 1.72547 -192.50 22.50 357.50 1.64328 -192.50 27.50 2.50 1.60321 -192.50 27.50 7.50 1.19282 -192.50 27.50 12.50 0.836843 -192.50 27.50 17.50 0.524928 -192.50 27.50 22.50 0.30174 -192.50 27.50 27.50 0.156275 -192.50 27.50 32.50 0.0627272 -192.50 27.50 37.50 0.0319783 -192.50 27.50 42.50 0.0165517 -192.50 27.50 47.50 0.00983798 -192.50 27.50 52.50 0.0213612 -192.50 27.50 57.50 0.0533852 -192.50 27.50 62.50 0.156997 -192.50 27.50 67.50 0.445845 -192.50 27.50 72.50 0.938179 -192.50 27.50 77.50 1.50905 -192.50 27.50 82.50 1.86661 -192.50 27.50 87.50 1.87144 -192.50 27.50 92.50 1.60321 -192.50 27.50 97.50 1.19282 -192.50 27.50 102.50 0.836843 -192.50 27.50 107.50 0.524928 -192.50 27.50 112.50 0.30174 -192.50 27.50 117.50 0.156275 -192.50 27.50 122.50 0.0627272 -192.50 27.50 127.50 0.0319783 -192.50 27.50 132.50 0.0165516 -192.50 27.50 137.50 0.00983797 -192.50 27.50 142.50 0.0213612 -192.50 27.50 147.50 0.0533852 -192.50 27.50 152.50 0.156997 -192.50 27.50 157.50 0.445844 -192.50 27.50 162.50 0.938179 -192.50 27.50 167.50 1.50905 -192.50 27.50 172.50 1.86661 -192.50 27.50 177.50 1.87144 -192.50 27.50 182.50 1.60321 -192.50 27.50 187.50 1.19282 -192.50 27.50 192.50 0.836842 -192.50 27.50 197.50 0.524927 -192.50 27.50 202.50 0.30174 -192.50 27.50 207.50 0.156275 -192.50 27.50 212.50 0.0627272 -192.50 27.50 217.50 0.0319783 -192.50 27.50 222.50 0.0165517 -192.50 27.50 227.50 0.00983797 -192.50 27.50 232.50 0.0213613 -192.50 27.50 237.50 0.0533853 -192.50 27.50 242.50 0.156997 -192.50 27.50 247.50 0.445845 -192.50 27.50 252.50 0.938179 -192.50 27.50 257.50 1.50905 -192.50 27.50 262.50 1.86661 -192.50 27.50 267.50 1.87144 -192.50 27.50 272.50 1.60321 -192.50 27.50 277.50 1.19282 -192.50 27.50 282.50 0.836843 -192.50 27.50 287.50 0.524928 -192.50 27.50 292.50 0.30174 -192.50 27.50 297.50 0.156276 -192.50 27.50 302.50 0.0627273 -192.50 27.50 307.50 0.0319783 -192.50 27.50 312.50 0.0165517 -192.50 27.50 317.50 0.00983797 -192.50 27.50 322.50 0.0213612 -192.50 27.50 327.50 0.0533851 -192.50 27.50 332.50 0.156997 -192.50 27.50 337.50 0.445843 -192.50 27.50 342.50 0.938177 -192.50 27.50 347.50 1.50905 -192.50 27.50 352.50 1.86661 -192.50 27.50 357.50 1.87144 -192.50 32.50 2.50 1.86337 -192.50 32.50 7.50 1.53807 -192.50 32.50 12.50 1.20728 -192.50 32.50 17.50 0.811061 -192.50 32.50 22.50 0.491082 -192.50 32.50 27.50 0.222834 -192.50 32.50 32.50 0.0934184 -192.50 32.50 37.50 0.0282593 -192.50 32.50 42.50 0.00774663 -192.50 32.50 47.50 0.00789955 -192.50 32.50 52.50 0.0191531 -192.50 32.50 57.50 0.0522475 -192.50 32.50 62.50 0.14802 -192.50 32.50 67.50 0.375538 -192.50 32.50 72.50 0.854601 -192.50 32.50 77.50 1.49025 -192.50 32.50 82.50 1.95496 -192.50 32.50 87.50 2.05966 -192.50 32.50 92.50 1.86337 -192.50 32.50 97.50 1.53807 -192.50 32.50 102.50 1.20728 -192.50 32.50 107.50 0.811061 -192.50 32.50 112.50 0.491082 -192.50 32.50 117.50 0.222834 -192.50 32.50 122.50 0.0934184 -192.50 32.50 127.50 0.0282592 -192.50 32.50 132.50 0.00774662 -192.50 32.50 137.50 0.00789955 -192.50 32.50 142.50 0.0191531 -192.50 32.50 147.50 0.0522474 -192.50 32.50 152.50 0.148019 -192.50 32.50 157.50 0.375538 -192.50 32.50 162.50 0.854601 -192.50 32.50 167.50 1.49025 -192.50 32.50 172.50 1.95496 -192.50 32.50 177.50 2.05966 -192.50 32.50 182.50 1.86337 -192.50 32.50 187.50 1.53807 -192.50 32.50 192.50 1.20728 -192.50 32.50 197.50 0.811061 -192.50 32.50 202.50 0.491082 -192.50 32.50 207.50 0.222834 -192.50 32.50 212.50 0.0934184 -192.50 32.50 217.50 0.0282593 -192.50 32.50 222.50 0.00774664 -192.50 32.50 227.50 0.00789955 -192.50 32.50 232.50 0.0191531 -192.50 32.50 237.50 0.0522475 -192.50 32.50 242.50 0.14802 -192.50 32.50 247.50 0.375538 -192.50 32.50 252.50 0.854602 -192.50 32.50 257.50 1.49025 -192.50 32.50 262.50 1.95496 -192.50 32.50 267.50 2.05967 -192.50 32.50 272.50 1.86338 -192.50 32.50 277.50 1.53807 -192.50 32.50 282.50 1.20728 -192.50 32.50 287.50 0.81106 -192.50 32.50 292.50 0.491082 -192.50 32.50 297.50 0.222834 -192.50 32.50 302.50 0.0934185 -192.50 32.50 307.50 0.0282593 -192.50 32.50 312.50 0.00774663 -192.50 32.50 317.50 0.00789954 -192.50 32.50 322.50 0.019153 -192.50 32.50 327.50 0.0522474 -192.50 32.50 332.50 0.148019 -192.50 32.50 337.50 0.375537 -192.50 32.50 342.50 0.8546 -192.50 32.50 347.50 1.49025 -192.50 32.50 352.50 1.95496 -192.50 32.50 357.50 2.05967 -192.50 37.50 2.50 2.17935 -192.50 37.50 7.50 2.00917 -192.50 37.50 12.50 1.73793 -192.50 37.50 17.50 1.31861 -192.50 37.50 22.50 0.808453 -192.50 37.50 27.50 0.419195 -192.50 37.50 32.50 0.176797 -192.50 37.50 37.50 0.0562322 -192.50 37.50 42.50 0.0189671 -192.50 37.50 47.50 0.0128106 -192.50 37.50 52.50 0.0225164 -192.50 37.50 57.50 0.0559942 -192.50 37.50 62.50 0.142297 -192.50 37.50 67.50 0.368097 -192.50 37.50 72.50 0.831755 -192.50 37.50 77.50 1.47645 -192.50 37.50 82.50 2.04186 -192.50 37.50 87.50 2.25355 -192.50 37.50 92.50 2.17935 -192.50 37.50 97.50 2.00916 -192.50 37.50 102.50 1.73793 -192.50 37.50 107.50 1.31861 -192.50 37.50 112.50 0.808453 -192.50 37.50 117.50 0.419195 -192.50 37.50 122.50 0.176797 -192.50 37.50 127.50 0.0562322 -192.50 37.50 132.50 0.0189671 -192.50 37.50 137.50 0.0128106 -192.50 37.50 142.50 0.0225164 -192.50 37.50 147.50 0.0559942 -192.50 37.50 152.50 0.142297 -192.50 37.50 157.50 0.368096 -192.50 37.50 162.50 0.831755 -192.50 37.50 167.50 1.47645 -192.50 37.50 172.50 2.04186 -192.50 37.50 177.50 2.25355 -192.50 37.50 182.50 2.17935 -192.50 37.50 187.50 2.00916 -192.50 37.50 192.50 1.73793 -192.50 37.50 197.50 1.31861 -192.50 37.50 202.50 0.808452 -192.50 37.50 207.50 0.419196 -192.50 37.50 212.50 0.176797 -192.50 37.50 217.50 0.0562323 -192.50 37.50 222.50 0.0189671 -192.50 37.50 227.50 0.0128106 -192.50 37.50 232.50 0.0225164 -192.50 37.50 237.50 0.0559943 -192.50 37.50 242.50 0.142297 -192.50 37.50 247.50 0.368097 -192.50 37.50 252.50 0.831756 -192.50 37.50 257.50 1.47645 -192.50 37.50 262.50 2.04186 -192.50 37.50 267.50 2.25355 -192.50 37.50 272.50 2.17935 -192.50 37.50 277.50 2.00917 -192.50 37.50 282.50 1.73793 -192.50 37.50 287.50 1.31861 -192.50 37.50 292.50 0.808453 -192.50 37.50 297.50 0.419196 -192.50 37.50 302.50 0.176797 -192.50 37.50 307.50 0.0562324 -192.50 37.50 312.50 0.0189671 -192.50 37.50 317.50 0.0128106 -192.50 37.50 322.50 0.0225164 -192.50 37.50 327.50 0.0559941 -192.50 37.50 332.50 0.142297 -192.50 37.50 337.50 0.368095 -192.50 37.50 342.50 0.831754 -192.50 37.50 347.50 1.47645 -192.50 37.50 352.50 2.04186 -192.50 37.50 357.50 2.25355 -192.50 42.50 2.50 2.49553 -192.50 42.50 7.50 2.5511 -192.50 42.50 12.50 2.38862 -192.50 42.50 17.50 1.93565 -192.50 42.50 22.50 1.32266 -192.50 42.50 27.50 0.761164 -192.50 42.50 32.50 0.347488 -192.50 42.50 37.50 0.131228 -192.50 42.50 42.50 0.0544543 -192.50 42.50 47.50 0.0240779 -192.50 42.50 52.50 0.029337 -192.50 42.50 57.50 0.064963 -192.50 42.50 62.50 0.153384 -192.50 42.50 67.50 0.389939 -192.50 42.50 72.50 0.837116 -192.50 42.50 77.50 1.47636 -192.50 42.50 82.50 2.04755 -192.50 42.50 87.50 2.365 -192.50 42.50 92.50 2.49553 -192.50 42.50 97.50 2.5511 -192.50 42.50 102.50 2.38862 -192.50 42.50 107.50 1.93565 -192.50 42.50 112.50 1.32266 -192.50 42.50 117.50 0.761163 -192.50 42.50 122.50 0.347488 -192.50 42.50 127.50 0.131228 -192.50 42.50 132.50 0.0544543 -192.50 42.50 137.50 0.024078 -192.50 42.50 142.50 0.029337 -192.50 42.50 147.50 0.0649629 -192.50 42.50 152.50 0.153384 -192.50 42.50 157.50 0.389938 -192.50 42.50 162.50 0.837115 -192.50 42.50 167.50 1.47636 -192.50 42.50 172.50 2.04755 -192.50 42.50 177.50 2.365 -192.50 42.50 182.50 2.49553 -192.50 42.50 187.50 2.5511 -192.50 42.50 192.50 2.38862 -192.50 42.50 197.50 1.93565 -192.50 42.50 202.50 1.32266 -192.50 42.50 207.50 0.761164 -192.50 42.50 212.50 0.347488 -192.50 42.50 217.50 0.131228 -192.50 42.50 222.50 0.0544543 -192.50 42.50 227.50 0.024078 -192.50 42.50 232.50 0.0293371 -192.50 42.50 237.50 0.0649631 -192.50 42.50 242.50 0.153385 -192.50 42.50 247.50 0.389939 -192.50 42.50 252.50 0.837116 -192.50 42.50 257.50 1.47636 -192.50 42.50 262.50 2.04755 -192.50 42.50 267.50 2.365 -192.50 42.50 272.50 2.49553 -192.50 42.50 277.50 2.5511 -192.50 42.50 282.50 2.38862 -192.50 42.50 287.50 1.93565 -192.50 42.50 292.50 1.32266 -192.50 42.50 297.50 0.761164 -192.50 42.50 302.50 0.347488 -192.50 42.50 307.50 0.131228 -192.50 42.50 312.50 0.0544543 -192.50 42.50 317.50 0.024078 -192.50 42.50 322.50 0.0293369 -192.50 42.50 327.50 0.0649629 -192.50 42.50 332.50 0.153384 -192.50 42.50 337.50 0.389938 -192.50 42.50 342.50 0.837114 -192.50 42.50 347.50 1.47636 -192.50 42.50 352.50 2.04755 -192.50 42.50 357.50 2.365 -192.50 47.50 2.50 2.62872 -192.50 47.50 7.50 2.92708 -192.50 47.50 12.50 2.93874 -192.50 47.50 17.50 2.53676 -192.50 47.50 22.50 1.86442 -192.50 47.50 27.50 1.11737 -192.50 47.50 32.50 0.57841 -192.50 47.50 37.50 0.257133 -192.50 47.50 42.50 0.102518 -192.50 47.50 47.50 0.0461649 -192.50 47.50 52.50 0.0370031 -192.50 47.50 57.50 0.0798341 -192.50 47.50 62.50 0.175949 -192.50 47.50 67.50 0.390397 -192.50 47.50 72.50 0.811877 -192.50 47.50 77.50 1.38669 -192.50 47.50 82.50 1.92049 -192.50 47.50 87.50 2.27301 -192.50 47.50 92.50 2.62872 -192.50 47.50 97.50 2.92708 -192.50 47.50 102.50 2.93874 -192.50 47.50 107.50 2.53676 -192.50 47.50 112.50 1.86442 -192.50 47.50 117.50 1.11737 -192.50 47.50 122.50 0.578409 -192.50 47.50 127.50 0.257132 -192.50 47.50 132.50 0.102518 -192.50 47.50 137.50 0.0461649 -192.50 47.50 142.50 0.0370031 -192.50 47.50 147.50 0.0798341 -192.50 47.50 152.50 0.175949 -192.50 47.50 157.50 0.390396 -192.50 47.50 162.50 0.811877 -192.50 47.50 167.50 1.38669 -192.50 47.50 172.50 1.92049 -192.50 47.50 177.50 2.273 -192.50 47.50 182.50 2.62872 -192.50 47.50 187.50 2.92708 -192.50 47.50 192.50 2.93873 -192.50 47.50 197.50 2.53676 -192.50 47.50 202.50 1.86442 -192.50 47.50 207.50 1.11737 -192.50 47.50 212.50 0.57841 -192.50 47.50 217.50 0.257133 -192.50 47.50 222.50 0.102518 -192.50 47.50 227.50 0.0461649 -192.50 47.50 232.50 0.0370032 -192.50 47.50 237.50 0.0798342 -192.50 47.50 242.50 0.175949 -192.50 47.50 247.50 0.390398 -192.50 47.50 252.50 0.811879 -192.50 47.50 257.50 1.38669 -192.50 47.50 262.50 1.92049 -192.50 47.50 267.50 2.27301 -192.50 47.50 272.50 2.62872 -192.50 47.50 277.50 2.92708 -192.50 47.50 282.50 2.93874 -192.50 47.50 287.50 2.53676 -192.50 47.50 292.50 1.86442 -192.50 47.50 297.50 1.11737 -192.50 47.50 302.50 0.57841 -192.50 47.50 307.50 0.257133 -192.50 47.50 312.50 0.102518 -192.50 47.50 317.50 0.0461649 -192.50 47.50 322.50 0.0370031 -192.50 47.50 327.50 0.079834 -192.50 47.50 332.50 0.175949 -192.50 47.50 337.50 0.390396 -192.50 47.50 342.50 0.811876 -192.50 47.50 347.50 1.38669 -192.50 47.50 352.50 1.92049 -192.50 47.50 357.50 2.273 -192.50 52.50 2.50 2.49553 -192.50 52.50 7.50 2.94319 -192.50 52.50 12.50 3.21772 -192.50 52.50 17.50 2.87826 -192.50 52.50 22.50 2.18842 -192.50 52.50 27.50 1.51786 -192.50 52.50 32.50 0.815125 -192.50 52.50 37.50 0.391492 -192.50 52.50 42.50 0.144797 -192.50 52.50 47.50 0.0466048 -192.50 52.50 52.50 0.0464113 -192.50 52.50 57.50 0.0917996 -192.50 52.50 62.50 0.165767 -192.50 52.50 67.50 0.392732 -192.50 52.50 72.50 0.753955 -192.50 52.50 77.50 1.23847 -192.50 52.50 82.50 1.72614 -192.50 52.50 87.50 2.05578 -192.50 52.50 92.50 2.49553 -192.50 52.50 97.50 2.94319 -192.50 52.50 102.50 3.21772 -192.50 52.50 107.50 2.87826 -192.50 52.50 112.50 2.18842 -192.50 52.50 117.50 1.51786 -192.50 52.50 122.50 0.815125 -192.50 52.50 127.50 0.391492 -192.50 52.50 132.50 0.144797 -192.50 52.50 137.50 0.0466048 -192.50 52.50 142.50 0.0464113 -192.50 52.50 147.50 0.0917995 -192.50 52.50 152.50 0.165767 -192.50 52.50 157.50 0.392732 -192.50 52.50 162.50 0.753955 -192.50 52.50 167.50 1.23847 -192.50 52.50 172.50 1.72614 -192.50 52.50 177.50 2.05578 -192.50 52.50 182.50 2.49553 -192.50 52.50 187.50 2.94319 -192.50 52.50 192.50 3.21772 -192.50 52.50 197.50 2.87826 -192.50 52.50 202.50 2.18842 -192.50 52.50 207.50 1.51786 -192.50 52.50 212.50 0.815125 -192.50 52.50 217.50 0.391492 -192.50 52.50 222.50 0.144797 -192.50 52.50 227.50 0.0466048 -192.50 52.50 232.50 0.0464114 -192.50 52.50 237.50 0.0917997 -192.50 52.50 242.50 0.165767 -192.50 52.50 247.50 0.392733 -192.50 52.50 252.50 0.753956 -192.50 52.50 257.50 1.23848 -192.50 52.50 262.50 1.72614 -192.50 52.50 267.50 2.05578 -192.50 52.50 272.50 2.49553 -192.50 52.50 277.50 2.94319 -192.50 52.50 282.50 3.21772 -192.50 52.50 287.50 2.87826 -192.50 52.50 292.50 2.18842 -192.50 52.50 297.50 1.51786 -192.50 52.50 302.50 0.815126 -192.50 52.50 307.50 0.391492 -192.50 52.50 312.50 0.144797 -192.50 52.50 317.50 0.0466048 -192.50 52.50 322.50 0.0464113 -192.50 52.50 327.50 0.0917995 -192.50 52.50 332.50 0.165767 -192.50 52.50 337.50 0.392732 -192.50 52.50 342.50 0.753954 -192.50 52.50 347.50 1.23847 -192.50 52.50 352.50 1.72614 -192.50 52.50 357.50 2.05578 -192.50 57.50 2.50 2.17935 -192.50 57.50 7.50 2.68301 -192.50 57.50 12.50 3.142 -192.50 57.50 17.50 2.89175 -192.50 57.50 22.50 2.41409 -192.50 57.50 27.50 1.82909 -192.50 57.50 32.50 1.06827 -192.50 57.50 37.50 0.461796 -192.50 57.50 42.50 0.150861 -192.50 57.50 47.50 0.0493124 -192.50 57.50 52.50 0.0333968 -192.50 57.50 57.50 0.0742197 -192.50 57.50 62.50 0.162979 -192.50 57.50 67.50 0.349 -192.50 57.50 72.50 0.650024 -192.50 57.50 77.50 1.05549 -192.50 57.50 82.50 1.47076 -192.50 57.50 87.50 1.80721 -192.50 57.50 92.50 2.17935 -192.50 57.50 97.50 2.68301 -192.50 57.50 102.50 3.142 -192.50 57.50 107.50 2.89175 -192.50 57.50 112.50 2.41409 -192.50 57.50 117.50 1.82909 -192.50 57.50 122.50 1.06827 -192.50 57.50 127.50 0.461795 -192.50 57.50 132.50 0.150861 -192.50 57.50 137.50 0.0493124 -192.50 57.50 142.50 0.0333968 -192.50 57.50 147.50 0.0742197 -192.50 57.50 152.50 0.162979 -192.50 57.50 157.50 0.348999 -192.50 57.50 162.50 0.650024 -192.50 57.50 167.50 1.05549 -192.50 57.50 172.50 1.47076 -192.50 57.50 177.50 1.80721 -192.50 57.50 182.50 2.17935 -192.50 57.50 187.50 2.68301 -192.50 57.50 192.50 3.142 -192.50 57.50 197.50 2.89175 -192.50 57.50 202.50 2.41409 -192.50 57.50 207.50 1.8291 -192.50 57.50 212.50 1.06827 -192.50 57.50 217.50 0.461796 -192.50 57.50 222.50 0.150861 -192.50 57.50 227.50 0.0493124 -192.50 57.50 232.50 0.0333969 -192.50 57.50 237.50 0.0742198 -192.50 57.50 242.50 0.162979 -192.50 57.50 247.50 0.349 -192.50 57.50 252.50 0.650025 -192.50 57.50 257.50 1.05549 -192.50 57.50 262.50 1.47076 -192.50 57.50 267.50 1.80721 -192.50 57.50 272.50 2.17935 -192.50 57.50 277.50 2.68301 -192.50 57.50 282.50 3.14199 -192.50 57.50 287.50 2.89175 -192.50 57.50 292.50 2.41409 -192.50 57.50 297.50 1.82909 -192.50 57.50 302.50 1.06827 -192.50 57.50 307.50 0.461796 -192.50 57.50 312.50 0.150861 -192.50 57.50 317.50 0.0493124 -192.50 57.50 322.50 0.0333968 -192.50 57.50 327.50 0.0742196 -192.50 57.50 332.50 0.162979 -192.50 57.50 337.50 0.348999 -192.50 57.50 342.50 0.650023 -192.50 57.50 347.50 1.05549 -192.50 57.50 352.50 1.47076 -192.50 57.50 357.50 1.8072 -192.50 62.50 2.50 1.86337 -192.50 62.50 7.50 2.35633 -192.50 62.50 12.50 2.81722 -192.50 62.50 17.50 2.69226 -192.50 62.50 22.50 2.44214 -192.50 62.50 27.50 1.87162 -192.50 62.50 32.50 1.14071 -192.50 62.50 37.50 0.513418 -192.50 62.50 42.50 0.162803 -192.50 62.50 47.50 0.0377003 -192.50 62.50 52.50 0.023734 -192.50 62.50 57.50 0.0563771 -192.50 62.50 62.50 0.127603 -192.50 62.50 67.50 0.273299 -192.50 62.50 72.50 0.528727 -192.50 62.50 77.50 0.837215 -192.50 62.50 82.50 1.22202 -192.50 62.50 87.50 1.56995 -192.50 62.50 92.50 1.86338 -192.50 62.50 97.50 2.35633 -192.50 62.50 102.50 2.81722 -192.50 62.50 107.50 2.69226 -192.50 62.50 112.50 2.44214 -192.50 62.50 117.50 1.87162 -192.50 62.50 122.50 1.14071 -192.50 62.50 127.50 0.513417 -192.50 62.50 132.50 0.162803 -192.50 62.50 137.50 0.0377003 -192.50 62.50 142.50 0.023734 -192.50 62.50 147.50 0.0563771 -192.50 62.50 152.50 0.127602 -192.50 62.50 157.50 0.273299 -192.50 62.50 162.50 0.528727 -192.50 62.50 167.50 0.837215 -192.50 62.50 172.50 1.22202 -192.50 62.50 177.50 1.56995 -192.50 62.50 182.50 1.86337 -192.50 62.50 187.50 2.35633 -192.50 62.50 192.50 2.81722 -192.50 62.50 197.50 2.69226 -192.50 62.50 202.50 2.44214 -192.50 62.50 207.50 1.87162 -192.50 62.50 212.50 1.14071 -192.50 62.50 217.50 0.513418 -192.50 62.50 222.50 0.162803 -192.50 62.50 227.50 0.0377003 -192.50 62.50 232.50 0.023734 -192.50 62.50 237.50 0.0563771 -192.50 62.50 242.50 0.127603 -192.50 62.50 247.50 0.2733 -192.50 62.50 252.50 0.528728 -192.50 62.50 257.50 0.837216 -192.50 62.50 262.50 1.22202 -192.50 62.50 267.50 1.56995 -192.50 62.50 272.50 1.86337 -192.50 62.50 277.50 2.35633 -192.50 62.50 282.50 2.81722 -192.50 62.50 287.50 2.69226 -192.50 62.50 292.50 2.44214 -192.50 62.50 297.50 1.87162 -192.50 62.50 302.50 1.14071 -192.50 62.50 307.50 0.513418 -192.50 62.50 312.50 0.162803 -192.50 62.50 317.50 0.0377004 -192.50 62.50 322.50 0.023734 -192.50 62.50 327.50 0.056377 -192.50 62.50 332.50 0.127603 -192.50 62.50 337.50 0.273299 -192.50 62.50 342.50 0.528726 -192.50 62.50 347.50 0.837215 -192.50 62.50 352.50 1.22202 -192.50 62.50 357.50 1.56995 -192.50 67.50 2.50 1.60321 -192.50 67.50 7.50 2.02542 -192.50 67.50 12.50 2.45028 -192.50 67.50 17.50 2.47398 -192.50 67.50 22.50 2.2456 -192.50 67.50 27.50 1.71088 -192.50 67.50 32.50 0.984818 -192.50 67.50 37.50 0.466121 -192.50 67.50 42.50 0.176851 -192.50 67.50 47.50 0.0498328 -192.50 67.50 52.50 0.0218166 -192.50 67.50 57.50 0.0508089 -192.50 67.50 62.50 0.116185 -192.50 67.50 67.50 0.221438 -192.50 67.50 72.50 0.447433 -192.50 67.50 77.50 0.720637 -192.50 67.50 82.50 1.04917 -192.50 67.50 87.50 1.38249 -192.50 67.50 92.50 1.60321 -192.50 67.50 97.50 2.02542 -192.50 67.50 102.50 2.45028 -192.50 67.50 107.50 2.47398 -192.50 67.50 112.50 2.2456 -192.50 67.50 117.50 1.71088 -192.50 67.50 122.50 0.984817 -192.50 67.50 127.50 0.46612 -192.50 67.50 132.50 0.176851 -192.50 67.50 137.50 0.0498328 -192.50 67.50 142.50 0.0218166 -192.50 67.50 147.50 0.050809 -192.50 67.50 152.50 0.116185 -192.50 67.50 157.50 0.221438 -192.50 67.50 162.50 0.447432 -192.50 67.50 167.50 0.720637 -192.50 67.50 172.50 1.04917 -192.50 67.50 177.50 1.38249 -192.50 67.50 182.50 1.60321 -192.50 67.50 187.50 2.02542 -192.50 67.50 192.50 2.45028 -192.50 67.50 197.50 2.47398 -192.50 67.50 202.50 2.2456 -192.50 67.50 207.50 1.71088 -192.50 67.50 212.50 0.984817 -192.50 67.50 217.50 0.466121 -192.50 67.50 222.50 0.176851 -192.50 67.50 227.50 0.0498329 -192.50 67.50 232.50 0.0218167 -192.50 67.50 237.50 0.0508092 -192.50 67.50 242.50 0.116186 -192.50 67.50 247.50 0.221438 -192.50 67.50 252.50 0.447433 -192.50 67.50 257.50 0.720638 -192.50 67.50 262.50 1.04917 -192.50 67.50 267.50 1.3825 -192.50 67.50 272.50 1.60321 -192.50 67.50 277.50 2.02542 -192.50 67.50 282.50 2.45028 -192.50 67.50 287.50 2.47398 -192.50 67.50 292.50 2.2456 -192.50 67.50 297.50 1.71088 -192.50 67.50 302.50 0.984818 -192.50 67.50 307.50 0.466121 -192.50 67.50 312.50 0.176851 -192.50 67.50 317.50 0.0498329 -192.50 67.50 322.50 0.0218166 -192.50 67.50 327.50 0.0508089 -192.50 67.50 332.50 0.116185 -192.50 67.50 337.50 0.221438 -192.50 67.50 342.50 0.447432 -192.50 67.50 347.50 0.720637 -192.50 67.50 352.50 1.04917 -192.50 67.50 357.50 1.38249 -192.50 72.50 2.50 1.3146 -192.50 72.50 7.50 1.61508 -192.50 72.50 12.50 2.07273 -192.50 72.50 17.50 2.17321 -192.50 72.50 22.50 1.95805 -192.50 72.50 27.50 1.35853 -192.50 72.50 32.50 0.79817 -192.50 72.50 37.50 0.39063 -192.50 72.50 42.50 0.153302 -192.50 72.50 47.50 0.044293 -192.50 72.50 52.50 0.0235675 -192.50 72.50 57.50 0.0489955 -192.50 72.50 62.50 0.136687 -192.50 72.50 67.50 0.257137 -192.50 72.50 72.50 0.413102 -192.50 72.50 77.50 0.686339 -192.50 72.50 82.50 0.936391 -192.50 72.50 87.50 1.16836 -192.50 72.50 92.50 1.3146 -192.50 72.50 97.50 1.61508 -192.50 72.50 102.50 2.07273 -192.50 72.50 107.50 2.17321 -192.50 72.50 112.50 1.95804 -192.50 72.50 117.50 1.35853 -192.50 72.50 122.50 0.79817 -192.50 72.50 127.50 0.390629 -192.50 72.50 132.50 0.153302 -192.50 72.50 137.50 0.044293 -192.50 72.50 142.50 0.0235675 -192.50 72.50 147.50 0.0489955 -192.50 72.50 152.50 0.136687 -192.50 72.50 157.50 0.257137 -192.50 72.50 162.50 0.413102 -192.50 72.50 167.50 0.686339 -192.50 72.50 172.50 0.93639 -192.50 72.50 177.50 1.16836 -192.50 72.50 182.50 1.3146 -192.50 72.50 187.50 1.61508 -192.50 72.50 192.50 2.07273 -192.50 72.50 197.50 2.17321 -192.50 72.50 202.50 1.95804 -192.50 72.50 207.50 1.35853 -192.50 72.50 212.50 0.79817 -192.50 72.50 217.50 0.39063 -192.50 72.50 222.50 0.153302 -192.50 72.50 227.50 0.044293 -192.50 72.50 232.50 0.0235675 -192.50 72.50 237.50 0.0489956 -192.50 72.50 242.50 0.136687 -192.50 72.50 247.50 0.257137 -192.50 72.50 252.50 0.413102 -192.50 72.50 257.50 0.68634 -192.50 72.50 262.50 0.936391 -192.50 72.50 267.50 1.16836 -192.50 72.50 272.50 1.3146 -192.50 72.50 277.50 1.61508 -192.50 72.50 282.50 2.07273 -192.50 72.50 287.50 2.17321 -192.50 72.50 292.50 1.95804 -192.50 72.50 297.50 1.35854 -192.50 72.50 302.50 0.798171 -192.50 72.50 307.50 0.39063 -192.50 72.50 312.50 0.153303 -192.50 72.50 317.50 0.044293 -192.50 72.50 322.50 0.0235675 -192.50 72.50 327.50 0.0489955 -192.50 72.50 332.50 0.136687 -192.50 72.50 337.50 0.257137 -192.50 72.50 342.50 0.413101 -192.50 72.50 347.50 0.686338 -192.50 72.50 352.50 0.93639 -192.50 72.50 357.50 1.16836 -192.50 77.50 2.50 1.01248 -192.50 77.50 7.50 1.2343 -192.50 77.50 12.50 1.5055 -192.50 77.50 17.50 1.65912 -192.50 77.50 22.50 1.41792 -192.50 77.50 27.50 0.986119 -192.50 77.50 32.50 0.600698 -192.50 77.50 37.50 0.307125 -192.50 77.50 42.50 0.111409 -192.50 77.50 47.50 0.0372109 -192.50 77.50 52.50 0.0249284 -192.50 77.50 57.50 0.0602604 -192.50 77.50 62.50 0.132119 -192.50 77.50 67.50 0.268075 -192.50 77.50 72.50 0.428223 -192.50 77.50 77.50 0.625249 -192.50 77.50 82.50 0.821513 -192.50 77.50 87.50 0.917429 -192.50 77.50 92.50 1.01248 -192.50 77.50 97.50 1.2343 -192.50 77.50 102.50 1.5055 -192.50 77.50 107.50 1.65912 -192.50 77.50 112.50 1.41792 -192.50 77.50 117.50 0.986119 -192.50 77.50 122.50 0.600698 -192.50 77.50 127.50 0.307125 -192.50 77.50 132.50 0.111409 -192.50 77.50 137.50 0.0372109 -192.50 77.50 142.50 0.0249285 -192.50 77.50 147.50 0.0602605 -192.50 77.50 152.50 0.132119 -192.50 77.50 157.50 0.268075 -192.50 77.50 162.50 0.428223 -192.50 77.50 167.50 0.625249 -192.50 77.50 172.50 0.821513 -192.50 77.50 177.50 0.91743 -192.50 77.50 182.50 1.01248 -192.50 77.50 187.50 1.2343 -192.50 77.50 192.50 1.5055 -192.50 77.50 197.50 1.65912 -192.50 77.50 202.50 1.41792 -192.50 77.50 207.50 0.986119 -192.50 77.50 212.50 0.600698 -192.50 77.50 217.50 0.307125 -192.50 77.50 222.50 0.111409 -192.50 77.50 227.50 0.0372109 -192.50 77.50 232.50 0.0249285 -192.50 77.50 237.50 0.0602606 -192.50 77.50 242.50 0.132119 -192.50 77.50 247.50 0.268075 -192.50 77.50 252.50 0.428224 -192.50 77.50 257.50 0.625249 -192.50 77.50 262.50 0.821514 -192.50 77.50 267.50 0.91743 -192.50 77.50 272.50 1.01248 -192.50 77.50 277.50 1.2343 -192.50 77.50 282.50 1.5055 -192.50 77.50 287.50 1.65912 -192.50 77.50 292.50 1.41792 -192.50 77.50 297.50 0.986119 -192.50 77.50 302.50 0.600698 -192.50 77.50 307.50 0.307125 -192.50 77.50 312.50 0.111409 -192.50 77.50 317.50 0.037211 -192.50 77.50 322.50 0.0249284 -192.50 77.50 327.50 0.0602604 -192.50 77.50 332.50 0.132119 -192.50 77.50 337.50 0.268075 -192.50 77.50 342.50 0.428223 -192.50 77.50 347.50 0.625249 -192.50 77.50 352.50 0.821513 -192.50 77.50 357.50 0.917429 -192.50 82.50 2.50 0.748315 -192.50 82.50 7.50 0.876766 -192.50 82.50 12.50 1.00202 -192.50 82.50 17.50 1.07335 -192.50 82.50 22.50 0.87596 -192.50 82.50 27.50 0.602202 -192.50 82.50 32.50 0.36465 -192.50 82.50 37.50 0.17914 -192.50 82.50 42.50 0.0765614 -192.50 82.50 47.50 0.0303563 -192.50 82.50 52.50 0.0214686 -192.50 82.50 57.50 0.048819 -192.50 82.50 62.50 0.134886 -192.50 82.50 67.50 0.280425 -192.50 82.50 72.50 0.448151 -192.50 82.50 77.50 0.560353 -192.50 82.50 82.50 0.660447 -192.50 82.50 87.50 0.746945 -192.50 82.50 92.50 0.748315 -192.50 82.50 97.50 0.876766 -192.50 82.50 102.50 1.00203 -192.50 82.50 107.50 1.07335 -192.50 82.50 112.50 0.87596 -192.50 82.50 117.50 0.602202 -192.50 82.50 122.50 0.36465 -192.50 82.50 127.50 0.17914 -192.50 82.50 132.50 0.0765613 -192.50 82.50 137.50 0.0303563 -192.50 82.50 142.50 0.0214686 -192.50 82.50 147.50 0.048819 -192.50 82.50 152.50 0.134886 -192.50 82.50 157.50 0.280425 -192.50 82.50 162.50 0.448151 -192.50 82.50 167.50 0.560353 -192.50 82.50 172.50 0.660447 -192.50 82.50 177.50 0.746945 -192.50 82.50 182.50 0.748315 -192.50 82.50 187.50 0.876766 -192.50 82.50 192.50 1.00203 -192.50 82.50 197.50 1.07335 -192.50 82.50 202.50 0.87596 -192.50 82.50 207.50 0.602202 -192.50 82.50 212.50 0.36465 -192.50 82.50 217.50 0.179141 -192.50 82.50 222.50 0.0765614 -192.50 82.50 227.50 0.0303563 -192.50 82.50 232.50 0.0214686 -192.50 82.50 237.50 0.0488191 -192.50 82.50 242.50 0.134886 -192.50 82.50 247.50 0.280425 -192.50 82.50 252.50 0.448152 -192.50 82.50 257.50 0.560353 -192.50 82.50 262.50 0.660447 -192.50 82.50 267.50 0.746944 -192.50 82.50 272.50 0.748316 -192.50 82.50 277.50 0.876766 -192.50 82.50 282.50 1.00203 -192.50 82.50 287.50 1.07335 -192.50 82.50 292.50 0.87596 -192.50 82.50 297.50 0.602202 -192.50 82.50 302.50 0.36465 -192.50 82.50 307.50 0.179141 -192.50 82.50 312.50 0.0765614 -192.50 82.50 317.50 0.0303564 -192.50 82.50 322.50 0.0214686 -192.50 82.50 327.50 0.0488189 -192.50 82.50 332.50 0.134886 -192.50 82.50 337.50 0.280424 -192.50 82.50 342.50 0.448151 -192.50 82.50 347.50 0.560352 -192.50 82.50 352.50 0.660447 -192.50 82.50 357.50 0.746945 -192.50 87.50 2.50 0.512871 -192.50 87.50 7.50 0.52534 -192.50 87.50 12.50 0.610195 -192.50 87.50 17.50 0.619436 -192.50 87.50 22.50 0.495937 -192.50 87.50 27.50 0.323799 -192.50 87.50 32.50 0.200306 -192.50 87.50 37.50 0.116873 -192.50 87.50 42.50 0.0563672 -192.50 87.50 47.50 0.0269071 -192.50 87.50 52.50 0.0333851 -192.50 87.50 57.50 0.069618 -192.50 87.50 62.50 0.131056 -192.50 87.50 67.50 0.227339 -192.50 87.50 72.50 0.383061 -192.50 87.50 77.50 0.564787 -192.50 87.50 82.50 0.571704 -192.50 87.50 87.50 0.497721 -192.50 87.50 92.50 0.512871 -192.50 87.50 97.50 0.52534 -192.50 87.50 102.50 0.610195 -192.50 87.50 107.50 0.619436 -192.50 87.50 112.50 0.495937 -192.50 87.50 117.50 0.323799 -192.50 87.50 122.50 0.200306 -192.50 87.50 127.50 0.116873 -192.50 87.50 132.50 0.0563672 -192.50 87.50 137.50 0.0269071 -192.50 87.50 142.50 0.0333851 -192.50 87.50 147.50 0.069618 -192.50 87.50 152.50 0.131056 -192.50 87.50 157.50 0.227339 -192.50 87.50 162.50 0.383061 -192.50 87.50 167.50 0.564787 -192.50 87.50 172.50 0.571703 -192.50 87.50 177.50 0.497722 -192.50 87.50 182.50 0.51287 -192.50 87.50 187.50 0.52534 -192.50 87.50 192.50 0.610195 -192.50 87.50 197.50 0.619437 -192.50 87.50 202.50 0.495937 -192.50 87.50 207.50 0.323799 -192.50 87.50 212.50 0.200306 -192.50 87.50 217.50 0.116873 -192.50 87.50 222.50 0.0563673 -192.50 87.50 227.50 0.0269072 -192.50 87.50 232.50 0.0333851 -192.50 87.50 237.50 0.0696181 -192.50 87.50 242.50 0.131056 -192.50 87.50 247.50 0.227339 -192.50 87.50 252.50 0.383061 -192.50 87.50 257.50 0.564788 -192.50 87.50 262.50 0.571703 -192.50 87.50 267.50 0.497721 -192.50 87.50 272.50 0.512872 -192.50 87.50 277.50 0.52534 -192.50 87.50 282.50 0.610195 -192.50 87.50 287.50 0.619436 -192.50 87.50 292.50 0.495937 -192.50 87.50 297.50 0.323799 -192.50 87.50 302.50 0.200306 -192.50 87.50 307.50 0.116873 -192.50 87.50 312.50 0.0563673 -192.50 87.50 317.50 0.0269072 -192.50 87.50 322.50 0.033385 -192.50 87.50 327.50 0.0696179 -192.50 87.50 332.50 0.131056 -192.50 87.50 337.50 0.227339 -192.50 87.50 342.50 0.38306 -192.50 87.50 347.50 0.564787 -192.50 87.50 352.50 0.571704 -192.50 87.50 357.50 0.497722 -192.50 92.50 2.50 0.393272 -192.50 92.50 7.50 0.382022 -192.50 92.50 12.50 0.429837 -192.50 92.50 17.50 0.422612 -192.50 92.50 22.50 0.335764 -192.50 92.50 27.50 0.232885 -192.50 92.50 32.50 0.164812 -192.50 92.50 37.50 0.110206 -192.50 92.50 42.50 0.0566768 -192.50 92.50 47.50 0.0326857 -192.50 92.50 52.50 0.0566768 -192.50 92.50 57.50 0.110206 -192.50 92.50 62.50 0.164812 -192.50 92.50 67.50 0.232885 -192.50 92.50 72.50 0.335764 -192.50 92.50 77.50 0.422612 -192.50 92.50 82.50 0.429837 -192.50 92.50 87.50 0.382022 -192.50 92.50 92.50 0.393272 -192.50 92.50 97.50 0.382022 -192.50 92.50 102.50 0.429837 -192.50 92.50 107.50 0.422612 -192.50 92.50 112.50 0.335764 -192.50 92.50 117.50 0.232885 -192.50 92.50 122.50 0.164812 -192.50 92.50 127.50 0.110205 -192.50 92.50 132.50 0.0566768 -192.50 92.50 137.50 0.0326857 -192.50 92.50 142.50 0.0566768 -192.50 92.50 147.50 0.110206 -192.50 92.50 152.50 0.164812 -192.50 92.50 157.50 0.232885 -192.50 92.50 162.50 0.335764 -192.50 92.50 167.50 0.422612 -192.50 92.50 172.50 0.429837 -192.50 92.50 177.50 0.382022 -192.50 92.50 182.50 0.393272 -192.50 92.50 187.50 0.382022 -192.50 92.50 192.50 0.429837 -192.50 92.50 197.50 0.422612 -192.50 92.50 202.50 0.335764 -192.50 92.50 207.50 0.232885 -192.50 92.50 212.50 0.164812 -192.50 92.50 217.50 0.110206 -192.50 92.50 222.50 0.0566768 -192.50 92.50 227.50 0.0326857 -192.50 92.50 232.50 0.0566769 -192.50 92.50 237.50 0.110206 -192.50 92.50 242.50 0.164812 -192.50 92.50 247.50 0.232886 -192.50 92.50 252.50 0.335765 -192.50 92.50 257.50 0.422612 -192.50 92.50 262.50 0.429837 -192.50 92.50 267.50 0.382022 -192.50 92.50 272.50 0.393272 -192.50 92.50 277.50 0.382022 -192.50 92.50 282.50 0.429837 -192.50 92.50 287.50 0.422612 -192.50 92.50 292.50 0.335764 -192.50 92.50 297.50 0.232885 -192.50 92.50 302.50 0.164812 -192.50 92.50 307.50 0.110206 -192.50 92.50 312.50 0.0566768 -192.50 92.50 317.50 0.0326857 -192.50 92.50 322.50 0.0566767 -192.50 92.50 327.50 0.110206 -192.50 92.50 332.50 0.164812 -192.50 92.50 337.50 0.232885 -192.50 92.50 342.50 0.335764 -192.50 92.50 347.50 0.422612 -192.50 92.50 352.50 0.429837 -192.50 92.50 357.50 0.382022 -192.50 97.50 2.50 0.512873 -192.50 97.50 7.50 0.497721 -192.50 97.50 12.50 0.571704 -192.50 97.50 17.50 0.564787 -192.50 97.50 22.50 0.38306 -192.50 97.50 27.50 0.227339 -192.50 97.50 32.50 0.131056 -192.50 97.50 37.50 0.069618 -192.50 97.50 42.50 0.0333851 -192.50 97.50 47.50 0.0269072 -192.50 97.50 52.50 0.0563672 -192.50 97.50 57.50 0.116873 -192.50 97.50 62.50 0.200306 -192.50 97.50 67.50 0.323799 -192.50 97.50 72.50 0.495937 -192.50 97.50 77.50 0.619436 -192.50 97.50 82.50 0.610195 -192.50 97.50 87.50 0.52534 -192.50 97.50 92.50 0.512873 -192.50 97.50 97.50 0.497721 -192.50 97.50 102.50 0.571704 -192.50 97.50 107.50 0.564787 -192.50 97.50 112.50 0.383061 -192.50 97.50 117.50 0.227339 -192.50 97.50 122.50 0.131056 -192.50 97.50 127.50 0.069618 -192.50 97.50 132.50 0.0333851 -192.50 97.50 137.50 0.0269072 -192.50 97.50 142.50 0.0563672 -192.50 97.50 147.50 0.116873 -192.50 97.50 152.50 0.200306 -192.50 97.50 157.50 0.323799 -192.50 97.50 162.50 0.495937 -192.50 97.50 167.50 0.619436 -192.50 97.50 172.50 0.610195 -192.50 97.50 177.50 0.52534 -192.50 97.50 182.50 0.512874 -192.50 97.50 187.50 0.497722 -192.50 97.50 192.50 0.571704 -192.50 97.50 197.50 0.564787 -192.50 97.50 202.50 0.383061 -192.50 97.50 207.50 0.227339 -192.50 97.50 212.50 0.131056 -192.50 97.50 217.50 0.069618 -192.50 97.50 222.50 0.0333851 -192.50 97.50 227.50 0.0269071 -192.50 97.50 232.50 0.0563673 -192.50 97.50 237.50 0.116873 -192.50 97.50 242.50 0.200306 -192.50 97.50 247.50 0.323799 -192.50 97.50 252.50 0.495938 -192.50 97.50 257.50 0.619436 -192.50 97.50 262.50 0.610195 -192.50 97.50 267.50 0.52534 -192.50 97.50 272.50 0.512873 -192.50 97.50 277.50 0.497721 -192.50 97.50 282.50 0.571704 -192.50 97.50 287.50 0.564788 -192.50 97.50 292.50 0.383061 -192.50 97.50 297.50 0.227339 -192.50 97.50 302.50 0.131056 -192.50 97.50 307.50 0.0696181 -192.50 97.50 312.50 0.0333851 -192.50 97.50 317.50 0.0269072 -192.50 97.50 322.50 0.0563671 -192.50 97.50 327.50 0.116873 -192.50 97.50 332.50 0.200306 -192.50 97.50 337.50 0.323799 -192.50 97.50 342.50 0.495937 -192.50 97.50 347.50 0.619437 -192.50 97.50 352.50 0.610195 -192.50 97.50 357.50 0.52534 -192.50 102.50 2.50 0.748317 -192.50 102.50 7.50 0.746944 -192.50 102.50 12.50 0.660447 -192.50 102.50 17.50 0.560353 -192.50 102.50 22.50 0.448151 -192.50 102.50 27.50 0.280425 -192.50 102.50 32.50 0.134886 -192.50 102.50 37.50 0.048819 -192.50 102.50 42.50 0.0214686 -192.50 102.50 47.50 0.0303563 -192.50 102.50 52.50 0.0765614 -192.50 102.50 57.50 0.179141 -192.50 102.50 62.50 0.364651 -192.50 102.50 67.50 0.602203 -192.50 102.50 72.50 0.87596 -192.50 102.50 77.50 1.07335 -192.50 102.50 82.50 1.00203 -192.50 102.50 87.50 0.876766 -192.50 102.50 92.50 0.748316 -192.50 102.50 97.50 0.746944 -192.50 102.50 102.50 0.660447 -192.50 102.50 107.50 0.560353 -192.50 102.50 112.50 0.448151 -192.50 102.50 117.50 0.280425 -192.50 102.50 122.50 0.134886 -192.50 102.50 127.50 0.048819 -192.50 102.50 132.50 0.0214686 -192.50 102.50 137.50 0.0303563 -192.50 102.50 142.50 0.0765614 -192.50 102.50 147.50 0.179141 -192.50 102.50 152.50 0.36465 -192.50 102.50 157.50 0.602202 -192.50 102.50 162.50 0.87596 -192.50 102.50 167.50 1.07335 -192.50 102.50 172.50 1.00202 -192.50 102.50 177.50 0.876766 -192.50 102.50 182.50 0.748317 -192.50 102.50 187.50 0.746945 -192.50 102.50 192.50 0.660447 -192.50 102.50 197.50 0.560353 -192.50 102.50 202.50 0.448151 -192.50 102.50 207.50 0.280425 -192.50 102.50 212.50 0.134886 -192.50 102.50 217.50 0.048819 -192.50 102.50 222.50 0.0214686 -192.50 102.50 227.50 0.0303563 -192.50 102.50 232.50 0.0765615 -192.50 102.50 237.50 0.179141 -192.50 102.50 242.50 0.36465 -192.50 102.50 247.50 0.602203 -192.50 102.50 252.50 0.875961 -192.50 102.50 257.50 1.07335 -192.50 102.50 262.50 1.00203 -192.50 102.50 267.50 0.876766 -192.50 102.50 272.50 0.748316 -192.50 102.50 277.50 0.746945 -192.50 102.50 282.50 0.660447 -192.50 102.50 287.50 0.560353 -192.50 102.50 292.50 0.448151 -192.50 102.50 297.50 0.280425 -192.50 102.50 302.50 0.134886 -192.50 102.50 307.50 0.0488191 -192.50 102.50 312.50 0.0214686 -192.50 102.50 317.50 0.0303563 -192.50 102.50 322.50 0.0765612 -192.50 102.50 327.50 0.17914 -192.50 102.50 332.50 0.36465 -192.50 102.50 337.50 0.602202 -192.50 102.50 342.50 0.875959 -192.50 102.50 347.50 1.07335 -192.50 102.50 352.50 1.00203 -192.50 102.50 357.50 0.876766 -192.50 107.50 2.50 1.01248 -192.50 107.50 7.50 0.917429 -192.50 107.50 12.50 0.821513 -192.50 107.50 17.50 0.62525 -192.50 107.50 22.50 0.428224 -192.50 107.50 27.50 0.268075 -192.50 107.50 32.50 0.132119 -192.50 107.50 37.50 0.0602605 -192.50 107.50 42.50 0.0249284 -192.50 107.50 47.50 0.037211 -192.50 107.50 52.50 0.111409 -192.50 107.50 57.50 0.307125 -192.50 107.50 62.50 0.600699 -192.50 107.50 67.50 0.98612 -192.50 107.50 72.50 1.41792 -192.50 107.50 77.50 1.65912 -192.50 107.50 82.50 1.5055 -192.50 107.50 87.50 1.2343 -192.50 107.50 92.50 1.01248 -192.50 107.50 97.50 0.917429 -192.50 107.50 102.50 0.821513 -192.50 107.50 107.50 0.625249 -192.50 107.50 112.50 0.428223 -192.50 107.50 117.50 0.268075 -192.50 107.50 122.50 0.132119 -192.50 107.50 127.50 0.0602604 -192.50 107.50 132.50 0.0249284 -192.50 107.50 137.50 0.037211 -192.50 107.50 142.50 0.111409 -192.50 107.50 147.50 0.307125 -192.50 107.50 152.50 0.600698 -192.50 107.50 157.50 0.986119 -192.50 107.50 162.50 1.41792 -192.50 107.50 167.50 1.65912 -192.50 107.50 172.50 1.5055 -192.50 107.50 177.50 1.2343 -192.50 107.50 182.50 1.01248 -192.50 107.50 187.50 0.917429 -192.50 107.50 192.50 0.821513 -192.50 107.50 197.50 0.62525 -192.50 107.50 202.50 0.428224 -192.50 107.50 207.50 0.268075 -192.50 107.50 212.50 0.132119 -192.50 107.50 217.50 0.0602605 -192.50 107.50 222.50 0.0249284 -192.50 107.50 227.50 0.0372109 -192.50 107.50 232.50 0.111409 -192.50 107.50 237.50 0.307125 -192.50 107.50 242.50 0.600699 -192.50 107.50 247.50 0.98612 -192.50 107.50 252.50 1.41792 -192.50 107.50 257.50 1.65912 -192.50 107.50 262.50 1.5055 -192.50 107.50 267.50 1.2343 -192.50 107.50 272.50 1.01248 -192.50 107.50 277.50 0.917429 -192.50 107.50 282.50 0.821513 -192.50 107.50 287.50 0.62525 -192.50 107.50 292.50 0.428224 -192.50 107.50 297.50 0.268075 -192.50 107.50 302.50 0.132119 -192.50 107.50 307.50 0.0602605 -192.50 107.50 312.50 0.0249284 -192.50 107.50 317.50 0.0372109 -192.50 107.50 322.50 0.111409 -192.50 107.50 327.50 0.307125 -192.50 107.50 332.50 0.600698 -192.50 107.50 337.50 0.986118 -192.50 107.50 342.50 1.41792 -192.50 107.50 347.50 1.65912 -192.50 107.50 352.50 1.5055 -192.50 107.50 357.50 1.2343 -192.50 112.50 2.50 1.3146 -192.50 112.50 7.50 1.16836 -192.50 112.50 12.50 0.936391 -192.50 112.50 17.50 0.686339 -192.50 112.50 22.50 0.413102 -192.50 112.50 27.50 0.257137 -192.50 112.50 32.50 0.136687 -192.50 112.50 37.50 0.0489955 -192.50 112.50 42.50 0.0235675 -192.50 112.50 47.50 0.0442931 -192.50 112.50 52.50 0.153303 -192.50 112.50 57.50 0.39063 -192.50 112.50 62.50 0.798171 -192.50 112.50 67.50 1.35854 -192.50 112.50 72.50 1.95805 -192.50 112.50 77.50 2.17321 -192.50 112.50 82.50 2.07273 -192.50 112.50 87.50 1.61508 -192.50 112.50 92.50 1.3146 -192.50 112.50 97.50 1.16836 -192.50 112.50 102.50 0.93639 -192.50 112.50 107.50 0.686339 -192.50 112.50 112.50 0.413102 -192.50 112.50 117.50 0.257137 -192.50 112.50 122.50 0.136687 -192.50 112.50 127.50 0.0489955 -192.50 112.50 132.50 0.0235675 -192.50 112.50 137.50 0.0442931 -192.50 112.50 142.50 0.153302 -192.50 112.50 147.50 0.39063 -192.50 112.50 152.50 0.79817 -192.50 112.50 157.50 1.35853 -192.50 112.50 162.50 1.95805 -192.50 112.50 167.50 2.17321 -192.50 112.50 172.50 2.07273 -192.50 112.50 177.50 1.61508 -192.50 112.50 182.50 1.3146 -192.50 112.50 187.50 1.16836 -192.50 112.50 192.50 0.93639 -192.50 112.50 197.50 0.686339 -192.50 112.50 202.50 0.413102 -192.50 112.50 207.50 0.257137 -192.50 112.50 212.50 0.136687 -192.50 112.50 217.50 0.0489955 -192.50 112.50 222.50 0.0235675 -192.50 112.50 227.50 0.044293 -192.50 112.50 232.50 0.153303 -192.50 112.50 237.50 0.39063 -192.50 112.50 242.50 0.798171 -192.50 112.50 247.50 1.35853 -192.50 112.50 252.50 1.95805 -192.50 112.50 257.50 2.17321 -192.50 112.50 262.50 2.07273 -192.50 112.50 267.50 1.61507 -192.50 112.50 272.50 1.3146 -192.50 112.50 277.50 1.16836 -192.50 112.50 282.50 0.936391 -192.50 112.50 287.50 0.68634 -192.50 112.50 292.50 0.413102 -192.50 112.50 297.50 0.257137 -192.50 112.50 302.50 0.136687 -192.50 112.50 307.50 0.0489955 -192.50 112.50 312.50 0.0235675 -192.50 112.50 317.50 0.044293 -192.50 112.50 322.50 0.153302 -192.50 112.50 327.50 0.390629 -192.50 112.50 332.50 0.798169 -192.50 112.50 337.50 1.35853 -192.50 112.50 342.50 1.95804 -192.50 112.50 347.50 2.17321 -192.50 112.50 352.50 2.07273 -192.50 112.50 357.50 1.61508 -192.50 117.50 2.50 1.60321 -192.50 117.50 7.50 1.3825 -192.50 117.50 12.50 1.04917 -192.50 117.50 17.50 0.720637 -192.50 117.50 22.50 0.447433 -192.50 117.50 27.50 0.221438 -192.50 117.50 32.50 0.116185 -192.50 117.50 37.50 0.050809 -192.50 117.50 42.50 0.0218166 -192.50 117.50 47.50 0.0498329 -192.50 117.50 52.50 0.176852 -192.50 117.50 57.50 0.466122 -192.50 117.50 62.50 0.98482 -192.50 117.50 67.50 1.71088 -192.50 117.50 72.50 2.2456 -192.50 117.50 77.50 2.47398 -192.50 117.50 82.50 2.45028 -192.50 117.50 87.50 2.02542 -192.50 117.50 92.50 1.60321 -192.50 117.50 97.50 1.38249 -192.50 117.50 102.50 1.04917 -192.50 117.50 107.50 0.720637 -192.50 117.50 112.50 0.447432 -192.50 117.50 117.50 0.221437 -192.50 117.50 122.50 0.116185 -192.50 117.50 127.50 0.0508089 -192.50 117.50 132.50 0.0218166 -192.50 117.50 137.50 0.0498329 -192.50 117.50 142.50 0.176851 -192.50 117.50 147.50 0.466122 -192.50 117.50 152.50 0.984818 -192.50 117.50 157.50 1.71088 -192.50 117.50 162.50 2.2456 -192.50 117.50 167.50 2.47398 -192.50 117.50 172.50 2.45028 -192.50 117.50 177.50 2.02542 -192.50 117.50 182.50 1.60321 -192.50 117.50 187.50 1.3825 -192.50 117.50 192.50 1.04917 -192.50 117.50 197.50 0.720638 -192.50 117.50 202.50 0.447433 -192.50 117.50 207.50 0.221438 -192.50 117.50 212.50 0.116185 -192.50 117.50 217.50 0.0508089 -192.50 117.50 222.50 0.0218166 -192.50 117.50 227.50 0.0498328 -192.50 117.50 232.50 0.176852 -192.50 117.50 237.50 0.466122 -192.50 117.50 242.50 0.98482 -192.50 117.50 247.50 1.71088 -192.50 117.50 252.50 2.2456 -192.50 117.50 257.50 2.47398 -192.50 117.50 262.50 2.45028 -192.50 117.50 267.50 2.02542 -192.50 117.50 272.50 1.60321 -192.50 117.50 277.50 1.3825 -192.50 117.50 282.50 1.04917 -192.50 117.50 287.50 0.720638 -192.50 117.50 292.50 0.447433 -192.50 117.50 297.50 0.221438 -192.50 117.50 302.50 0.116185 -192.50 117.50 307.50 0.050809 -192.50 117.50 312.50 0.0218166 -192.50 117.50 317.50 0.0498327 -192.50 117.50 322.50 0.176851 -192.50 117.50 327.50 0.46612 -192.50 117.50 332.50 0.984816 -192.50 117.50 337.50 1.71088 -192.50 117.50 342.50 2.2456 -192.50 117.50 347.50 2.47398 -192.50 117.50 352.50 2.45028 -192.50 117.50 357.50 2.02542 -192.50 122.50 2.50 1.86338 -192.50 122.50 7.50 1.56995 -192.50 122.50 12.50 1.22202 -192.50 122.50 17.50 0.837215 -192.50 122.50 22.50 0.528728 -192.50 122.50 27.50 0.273299 -192.50 122.50 32.50 0.127603 -192.50 122.50 37.50 0.056377 -192.50 122.50 42.50 0.023734 -192.50 122.50 47.50 0.0377003 -192.50 122.50 52.50 0.162803 -192.50 122.50 57.50 0.513419 -192.50 122.50 62.50 1.14071 -192.50 122.50 67.50 1.87162 -192.50 122.50 72.50 2.44214 -192.50 122.50 77.50 2.69226 -192.50 122.50 82.50 2.81722 -192.50 122.50 87.50 2.35633 -192.50 122.50 92.50 1.86338 -192.50 122.50 97.50 1.56995 -192.50 122.50 102.50 1.22202 -192.50 122.50 107.50 0.837216 -192.50 122.50 112.50 0.528727 -192.50 122.50 117.50 0.273299 -192.50 122.50 122.50 0.127602 -192.50 122.50 127.50 0.056377 -192.50 122.50 132.50 0.023734 -192.50 122.50 137.50 0.0377003 -192.50 122.50 142.50 0.162803 -192.50 122.50 147.50 0.513418 -192.50 122.50 152.50 1.14071 -192.50 122.50 157.50 1.87162 -192.50 122.50 162.50 2.44214 -192.50 122.50 167.50 2.69226 -192.50 122.50 172.50 2.81722 -192.50 122.50 177.50 2.35633 -192.50 122.50 182.50 1.86338 -192.50 122.50 187.50 1.56995 -192.50 122.50 192.50 1.22202 -192.50 122.50 197.50 0.837215 -192.50 122.50 202.50 0.528727 -192.50 122.50 207.50 0.273299 -192.50 122.50 212.50 0.127603 -192.50 122.50 217.50 0.056377 -192.50 122.50 222.50 0.023734 -192.50 122.50 227.50 0.0377002 -192.50 122.50 232.50 0.162803 -192.50 122.50 237.50 0.513419 -192.50 122.50 242.50 1.14071 -192.50 122.50 247.50 1.87162 -192.50 122.50 252.50 2.44214 -192.50 122.50 257.50 2.69226 -192.50 122.50 262.50 2.81722 -192.50 122.50 267.50 2.35633 -192.50 122.50 272.50 1.86338 -192.50 122.50 277.50 1.56995 -192.50 122.50 282.50 1.22202 -192.50 122.50 287.50 0.837216 -192.50 122.50 292.50 0.528728 -192.50 122.50 297.50 0.2733 -192.50 122.50 302.50 0.127603 -192.50 122.50 307.50 0.0563771 -192.50 122.50 312.50 0.023734 -192.50 122.50 317.50 0.0377002 -192.50 122.50 322.50 0.162802 -192.50 122.50 327.50 0.513417 -192.50 122.50 332.50 1.14071 -192.50 122.50 337.50 1.87162 -192.50 122.50 342.50 2.44214 -192.50 122.50 347.50 2.69226 -192.50 122.50 352.50 2.81722 -192.50 122.50 357.50 2.35633 -192.50 127.50 2.50 2.17935 -192.50 127.50 7.50 1.80721 -192.50 127.50 12.50 1.47076 -192.50 127.50 17.50 1.05549 -192.50 127.50 22.50 0.650024 -192.50 127.50 27.50 0.348999 -192.50 127.50 32.50 0.162979 -192.50 127.50 37.50 0.0742197 -192.50 127.50 42.50 0.0333968 -192.50 127.50 47.50 0.0493125 -192.50 127.50 52.50 0.150861 -192.50 127.50 57.50 0.461796 -192.50 127.50 62.50 1.06828 -192.50 127.50 67.50 1.8291 -192.50 127.50 72.50 2.41409 -192.50 127.50 77.50 2.89175 -192.50 127.50 82.50 3.142 -192.50 127.50 87.50 2.68301 -192.50 127.50 92.50 2.17935 -192.50 127.50 97.50 1.8072 -192.50 127.50 102.50 1.47076 -192.50 127.50 107.50 1.05549 -192.50 127.50 112.50 0.650024 -192.50 127.50 117.50 0.348999 -192.50 127.50 122.50 0.162979 -192.50 127.50 127.50 0.0742197 -192.50 127.50 132.50 0.0333968 -192.50 127.50 137.50 0.0493124 -192.50 127.50 142.50 0.150861 -192.50 127.50 147.50 0.461796 -192.50 127.50 152.50 1.06827 -192.50 127.50 157.50 1.8291 -192.50 127.50 162.50 2.41409 -192.50 127.50 167.50 2.89175 -192.50 127.50 172.50 3.142 -192.50 127.50 177.50 2.68301 -192.50 127.50 182.50 2.17935 -192.50 127.50 187.50 1.8072 -192.50 127.50 192.50 1.47076 -192.50 127.50 197.50 1.05549 -192.50 127.50 202.50 0.650024 -192.50 127.50 207.50 0.348999 -192.50 127.50 212.50 0.162979 -192.50 127.50 217.50 0.0742197 -192.50 127.50 222.50 0.0333968 -192.50 127.50 227.50 0.0493123 -192.50 127.50 232.50 0.150861 -192.50 127.50 237.50 0.461796 -192.50 127.50 242.50 1.06828 -192.50 127.50 247.50 1.8291 -192.50 127.50 252.50 2.41409 -192.50 127.50 257.50 2.89175 -192.50 127.50 262.50 3.142 -192.50 127.50 267.50 2.68301 -192.50 127.50 272.50 2.17935 -192.50 127.50 277.50 1.80721 -192.50 127.50 282.50 1.47076 -192.50 127.50 287.50 1.05549 -192.50 127.50 292.50 0.650024 -192.50 127.50 297.50 0.348999 -192.50 127.50 302.50 0.162979 -192.50 127.50 307.50 0.0742197 -192.50 127.50 312.50 0.0333968 -192.50 127.50 317.50 0.0493123 -192.50 127.50 322.50 0.150861 -192.50 127.50 327.50 0.461795 -192.50 127.50 332.50 1.06827 -192.50 127.50 337.50 1.82909 -192.50 127.50 342.50 2.41409 -192.50 127.50 347.50 2.89175 -192.50 127.50 352.50 3.142 -192.50 127.50 357.50 2.68301 -192.50 132.50 2.50 2.49553 -192.50 132.50 7.50 2.05578 -192.50 132.50 12.50 1.72614 -192.50 132.50 17.50 1.23847 -192.50 132.50 22.50 0.753954 -192.50 132.50 27.50 0.392732 -192.50 132.50 32.50 0.165767 -192.50 132.50 37.50 0.0917994 -192.50 132.50 42.50 0.0464114 -192.50 132.50 47.50 0.0466048 -192.50 132.50 52.50 0.144797 -192.50 132.50 57.50 0.391492 -192.50 132.50 62.50 0.815127 -192.50 132.50 67.50 1.51786 -192.50 132.50 72.50 2.18842 -192.50 132.50 77.50 2.87826 -192.50 132.50 82.50 3.21772 -192.50 132.50 87.50 2.94319 -192.50 132.50 92.50 2.49553 -192.50 132.50 97.50 2.05578 -192.50 132.50 102.50 1.72614 -192.50 132.50 107.50 1.23847 -192.50 132.50 112.50 0.753954 -192.50 132.50 117.50 0.392732 -192.50 132.50 122.50 0.165767 -192.50 132.50 127.50 0.0917995 -192.50 132.50 132.50 0.0464114 -192.50 132.50 137.50 0.0466048 -192.50 132.50 142.50 0.144797 -192.50 132.50 147.50 0.391492 -192.50 132.50 152.50 0.815126 -192.50 132.50 157.50 1.51786 -192.50 132.50 162.50 2.18842 -192.50 132.50 167.50 2.87826 -192.50 132.50 172.50 3.21772 -192.50 132.50 177.50 2.94319 -192.50 132.50 182.50 2.49553 -192.50 132.50 187.50 2.05578 -192.50 132.50 192.50 1.72614 -192.50 132.50 197.50 1.23847 -192.50 132.50 202.50 0.753955 -192.50 132.50 207.50 0.392732 -192.50 132.50 212.50 0.165767 -192.50 132.50 217.50 0.0917994 -192.50 132.50 222.50 0.0464114 -192.50 132.50 227.50 0.0466047 -192.50 132.50 232.50 0.144797 -192.50 132.50 237.50 0.391493 -192.50 132.50 242.50 0.815126 -192.50 132.50 247.50 1.51786 -192.50 132.50 252.50 2.18842 -192.50 132.50 257.50 2.87826 -192.50 132.50 262.50 3.21772 -192.50 132.50 267.50 2.94319 -192.50 132.50 272.50 2.49553 -192.50 132.50 277.50 2.05578 -192.50 132.50 282.50 1.72614 -192.50 132.50 287.50 1.23847 -192.50 132.50 292.50 0.753955 -192.50 132.50 297.50 0.392732 -192.50 132.50 302.50 0.165767 -192.50 132.50 307.50 0.0917994 -192.50 132.50 312.50 0.0464114 -192.50 132.50 317.50 0.0466047 -192.50 132.50 322.50 0.144796 -192.50 132.50 327.50 0.391492 -192.50 132.50 332.50 0.815124 -192.50 132.50 337.50 1.51786 -192.50 132.50 342.50 2.18842 -192.50 132.50 347.50 2.87825 -192.50 132.50 352.50 3.21772 -192.50 132.50 357.50 2.9432 -192.50 137.50 2.50 2.62872 -192.50 137.50 7.50 2.27301 -192.50 137.50 12.50 1.92049 -192.50 137.50 17.50 1.38669 -192.50 137.50 22.50 0.811877 -192.50 137.50 27.50 0.390396 -192.50 137.50 32.50 0.175949 -192.50 137.50 37.50 0.0798341 -192.50 137.50 42.50 0.0370031 -192.50 137.50 47.50 0.046165 -192.50 137.50 52.50 0.102518 -192.50 137.50 57.50 0.257133 -192.50 137.50 62.50 0.578411 -192.50 137.50 67.50 1.11737 -192.50 137.50 72.50 1.86442 -192.50 137.50 77.50 2.53676 -192.50 137.50 82.50 2.93874 -192.50 137.50 87.50 2.92708 -192.50 137.50 92.50 2.62872 -192.50 137.50 97.50 2.273 -192.50 137.50 102.50 1.92049 -192.50 137.50 107.50 1.38669 -192.50 137.50 112.50 0.811877 -192.50 137.50 117.50 0.390396 -192.50 137.50 122.50 0.175949 -192.50 137.50 127.50 0.079834 -192.50 137.50 132.50 0.0370031 -192.50 137.50 137.50 0.046165 -192.50 137.50 142.50 0.102518 -192.50 137.50 147.50 0.257133 -192.50 137.50 152.50 0.57841 -192.50 137.50 157.50 1.11737 -192.50 137.50 162.50 1.86442 -192.50 137.50 167.50 2.53676 -192.50 137.50 172.50 2.93873 -192.50 137.50 177.50 2.92708 -192.50 137.50 182.50 2.62872 -192.50 137.50 187.50 2.273 -192.50 137.50 192.50 1.92049 -192.50 137.50 197.50 1.38669 -192.50 137.50 202.50 0.811877 -192.50 137.50 207.50 0.390397 -192.50 137.50 212.50 0.175949 -192.50 137.50 217.50 0.0798341 -192.50 137.50 222.50 0.0370031 -192.50 137.50 227.50 0.0461649 -192.50 137.50 232.50 0.102518 -192.50 137.50 237.50 0.257133 -192.50 137.50 242.50 0.57841 -192.50 137.50 247.50 1.11737 -192.50 137.50 252.50 1.86442 -192.50 137.50 257.50 2.53676 -192.50 137.50 262.50 2.93874 -192.50 137.50 267.50 2.92708 -192.50 137.50 272.50 2.62872 -192.50 137.50 277.50 2.273 -192.50 137.50 282.50 1.92049 -192.50 137.50 287.50 1.38669 -192.50 137.50 292.50 0.811877 -192.50 137.50 297.50 0.390397 -192.50 137.50 302.50 0.175949 -192.50 137.50 307.50 0.0798341 -192.50 137.50 312.50 0.0370031 -192.50 137.50 317.50 0.0461649 -192.50 137.50 322.50 0.102518 -192.50 137.50 327.50 0.257132 -192.50 137.50 332.50 0.578409 -192.50 137.50 337.50 1.11737 -192.50 137.50 342.50 1.86442 -192.50 137.50 347.50 2.53676 -192.50 137.50 352.50 2.93874 -192.50 137.50 357.50 2.92708 -192.50 142.50 2.50 2.49553 -192.50 142.50 7.50 2.365 -192.50 142.50 12.50 2.04755 -192.50 142.50 17.50 1.47636 -192.50 142.50 22.50 0.837116 -192.50 142.50 27.50 0.389938 -192.50 142.50 32.50 0.153384 -192.50 142.50 37.50 0.0649629 -192.50 142.50 42.50 0.029337 -192.50 142.50 47.50 0.024078 -192.50 142.50 52.50 0.0544544 -192.50 142.50 57.50 0.131228 -192.50 142.50 62.50 0.347489 -192.50 142.50 67.50 0.761165 -192.50 142.50 72.50 1.32266 -192.50 142.50 77.50 1.93565 -192.50 142.50 82.50 2.38862 -192.50 142.50 87.50 2.5511 -192.50 142.50 92.50 2.49553 -192.50 142.50 97.50 2.365 -192.50 142.50 102.50 2.04755 -192.50 142.50 107.50 1.47636 -192.50 142.50 112.50 0.837116 -192.50 142.50 117.50 0.389938 -192.50 142.50 122.50 0.153384 -192.50 142.50 127.50 0.0649629 -192.50 142.50 132.50 0.029337 -192.50 142.50 137.50 0.024078 -192.50 142.50 142.50 0.0544544 -192.50 142.50 147.50 0.131228 -192.50 142.50 152.50 0.347488 -192.50 142.50 157.50 0.761164 -192.50 142.50 162.50 1.32266 -192.50 142.50 167.50 1.93565 -192.50 142.50 172.50 2.38862 -192.50 142.50 177.50 2.5511 -192.50 142.50 182.50 2.49553 -192.50 142.50 187.50 2.365 -192.50 142.50 192.50 2.04755 -192.50 142.50 197.50 1.47636 -192.50 142.50 202.50 0.837115 -192.50 142.50 207.50 0.389938 -192.50 142.50 212.50 0.153384 -192.50 142.50 217.50 0.0649629 -192.50 142.50 222.50 0.029337 -192.50 142.50 227.50 0.0240779 -192.50 142.50 232.50 0.0544544 -192.50 142.50 237.50 0.131228 -192.50 142.50 242.50 0.347488 -192.50 142.50 247.50 0.761165 -192.50 142.50 252.50 1.32266 -192.50 142.50 257.50 1.93565 -192.50 142.50 262.50 2.38862 -192.50 142.50 267.50 2.5511 -192.50 142.50 272.50 2.49553 -192.50 142.50 277.50 2.365 -192.50 142.50 282.50 2.04755 -192.50 142.50 287.50 1.47636 -192.50 142.50 292.50 0.837116 -192.50 142.50 297.50 0.389938 -192.50 142.50 302.50 0.153384 -192.50 142.50 307.50 0.0649629 -192.50 142.50 312.50 0.029337 -192.50 142.50 317.50 0.0240779 -192.50 142.50 322.50 0.0544542 -192.50 142.50 327.50 0.131228 -192.50 142.50 332.50 0.347487 -192.50 142.50 337.50 0.761163 -192.50 142.50 342.50 1.32266 -192.50 142.50 347.50 1.93565 -192.50 142.50 352.50 2.38862 -192.50 142.50 357.50 2.5511 -192.50 147.50 2.50 2.17935 -192.50 147.50 7.50 2.25355 -192.50 147.50 12.50 2.04186 -192.50 147.50 17.50 1.47645 -192.50 147.50 22.50 0.831755 -192.50 147.50 27.50 0.368096 -192.50 147.50 32.50 0.142297 -192.50 147.50 37.50 0.0559941 -192.50 147.50 42.50 0.0225164 -192.50 147.50 47.50 0.0128106 -192.50 147.50 52.50 0.0189671 -192.50 147.50 57.50 0.0562324 -192.50 147.50 62.50 0.176797 -192.50 147.50 67.50 0.419196 -192.50 147.50 72.50 0.808453 -192.50 147.50 77.50 1.31861 -192.50 147.50 82.50 1.73793 -192.50 147.50 87.50 2.00917 -192.50 147.50 92.50 2.17935 -192.50 147.50 97.50 2.25355 -192.50 147.50 102.50 2.04186 -192.50 147.50 107.50 1.47645 -192.50 147.50 112.50 0.831755 -192.50 147.50 117.50 0.368096 -192.50 147.50 122.50 0.142297 -192.50 147.50 127.50 0.0559941 -192.50 147.50 132.50 0.0225164 -192.50 147.50 137.50 0.0128106 -192.50 147.50 142.50 0.0189671 -192.50 147.50 147.50 0.0562323 -192.50 147.50 152.50 0.176797 -192.50 147.50 157.50 0.419195 -192.50 147.50 162.50 0.808453 -192.50 147.50 167.50 1.31861 -192.50 147.50 172.50 1.73793 -192.50 147.50 177.50 2.00916 -192.50 147.50 182.50 2.17935 -192.50 147.50 187.50 2.25355 -192.50 147.50 192.50 2.04186 -192.50 147.50 197.50 1.47645 -192.50 147.50 202.50 0.831755 -192.50 147.50 207.50 0.368096 -192.50 147.50 212.50 0.142297 -192.50 147.50 217.50 0.0559942 -192.50 147.50 222.50 0.0225164 -192.50 147.50 227.50 0.0128106 -192.50 147.50 232.50 0.0189671 -192.50 147.50 237.50 0.0562324 -192.50 147.50 242.50 0.176797 -192.50 147.50 247.50 0.419196 -192.50 147.50 252.50 0.808453 -192.50 147.50 257.50 1.31861 -192.50 147.50 262.50 1.73793 -192.50 147.50 267.50 2.00916 -192.50 147.50 272.50 2.17935 -192.50 147.50 277.50 2.25355 -192.50 147.50 282.50 2.04186 -192.50 147.50 287.50 1.47645 -192.50 147.50 292.50 0.831756 -192.50 147.50 297.50 0.368096 -192.50 147.50 302.50 0.142297 -192.50 147.50 307.50 0.0559942 -192.50 147.50 312.50 0.0225164 -192.50 147.50 317.50 0.0128106 -192.50 147.50 322.50 0.0189671 -192.50 147.50 327.50 0.0562322 -192.50 147.50 332.50 0.176797 -192.50 147.50 337.50 0.419195 -192.50 147.50 342.50 0.808452 -192.50 147.50 347.50 1.31861 -192.50 147.50 352.50 1.73793 -192.50 147.50 357.50 2.00916 -192.50 152.50 2.50 1.86337 -192.50 152.50 7.50 2.05966 -192.50 152.50 12.50 1.95496 -192.50 152.50 17.50 1.49025 -192.50 152.50 22.50 0.854602 -192.50 152.50 27.50 0.375537 -192.50 152.50 32.50 0.148019 -192.50 152.50 37.50 0.0522474 -192.50 152.50 42.50 0.0191531 -192.50 152.50 47.50 0.00789954 -192.50 152.50 52.50 0.00774665 -192.50 152.50 57.50 0.0282593 -192.50 152.50 62.50 0.0934187 -192.50 152.50 67.50 0.222835 -192.50 152.50 72.50 0.491083 -192.50 152.50 77.50 0.811062 -192.50 152.50 82.50 1.20728 -192.50 152.50 87.50 1.53807 -192.50 152.50 92.50 1.86338 -192.50 152.50 97.50 2.05967 -192.50 152.50 102.50 1.95496 -192.50 152.50 107.50 1.49025 -192.50 152.50 112.50 0.854601 -192.50 152.50 117.50 0.375537 -192.50 152.50 122.50 0.148019 -192.50 152.50 127.50 0.0522474 -192.50 152.50 132.50 0.0191531 -192.50 152.50 137.50 0.00789954 -192.50 152.50 142.50 0.00774666 -192.50 152.50 147.50 0.0282593 -192.50 152.50 152.50 0.0934185 -192.50 152.50 157.50 0.222834 -192.50 152.50 162.50 0.491083 -192.50 152.50 167.50 0.811061 -192.50 152.50 172.50 1.20728 -192.50 152.50 177.50 1.53807 -192.50 152.50 182.50 1.86337 -192.50 152.50 187.50 2.05967 -192.50 152.50 192.50 1.95496 -192.50 152.50 197.50 1.49025 -192.50 152.50 202.50 0.854601 -192.50 152.50 207.50 0.375538 -192.50 152.50 212.50 0.148019 -192.50 152.50 217.50 0.0522474 -192.50 152.50 222.50 0.0191531 -192.50 152.50 227.50 0.00789954 -192.50 152.50 232.50 0.00774666 -192.50 152.50 237.50 0.0282593 -192.50 152.50 242.50 0.0934186 -192.50 152.50 247.50 0.222835 -192.50 152.50 252.50 0.491083 -192.50 152.50 257.50 0.811062 -192.50 152.50 262.50 1.20728 -192.50 152.50 267.50 1.53807 -192.50 152.50 272.50 1.86337 -192.50 152.50 277.50 2.05966 -192.50 152.50 282.50 1.95496 -192.50 152.50 287.50 1.49025 -192.50 152.50 292.50 0.854601 -192.50 152.50 297.50 0.375538 -192.50 152.50 302.50 0.14802 -192.50 152.50 307.50 0.0522474 -192.50 152.50 312.50 0.0191531 -192.50 152.50 317.50 0.00789955 -192.50 152.50 322.50 0.00774662 -192.50 152.50 327.50 0.0282592 -192.50 152.50 332.50 0.0934183 -192.50 152.50 337.50 0.222834 -192.50 152.50 342.50 0.491082 -192.50 152.50 347.50 0.81106 -192.50 152.50 352.50 1.20728 -192.50 152.50 357.50 1.53807 -192.50 157.50 2.50 1.60321 -192.50 157.50 7.50 1.87144 -192.50 157.50 12.50 1.86661 -192.50 157.50 17.50 1.50905 -192.50 157.50 22.50 0.938178 -192.50 157.50 27.50 0.445844 -192.50 157.50 32.50 0.156997 -192.50 157.50 37.50 0.0533852 -192.50 157.50 42.50 0.0213612 -192.50 157.50 47.50 0.00983797 -192.50 157.50 52.50 0.0165516 -192.50 157.50 57.50 0.0319783 -192.50 157.50 62.50 0.0627274 -192.50 157.50 67.50 0.156276 -192.50 157.50 72.50 0.301741 -192.50 157.50 77.50 0.524928 -192.50 157.50 82.50 0.836843 -192.50 157.50 87.50 1.19282 -192.50 157.50 92.50 1.60321 -192.50 157.50 97.50 1.87144 -192.50 157.50 102.50 1.86661 -192.50 157.50 107.50 1.50905 -192.50 157.50 112.50 0.938178 -192.50 157.50 117.50 0.445844 -192.50 157.50 122.50 0.156997 -192.50 157.50 127.50 0.0533851 -192.50 157.50 132.50 0.0213612 -192.50 157.50 137.50 0.00983796 -192.50 157.50 142.50 0.0165516 -192.50 157.50 147.50 0.0319783 -192.50 157.50 152.50 0.0627273 -192.50 157.50 157.50 0.156275 -192.50 157.50 162.50 0.301741 -192.50 157.50 167.50 0.524928 -192.50 157.50 172.50 0.836844 -192.50 157.50 177.50 1.19282 -192.50 157.50 182.50 1.60321 -192.50 157.50 187.50 1.87144 -192.50 157.50 192.50 1.86661 -192.50 157.50 197.50 1.50905 -192.50 157.50 202.50 0.938178 -192.50 157.50 207.50 0.445844 -192.50 157.50 212.50 0.156997 -192.50 157.50 217.50 0.0533852 -192.50 157.50 222.50 0.0213612 -192.50 157.50 227.50 0.00983796 -192.50 157.50 232.50 0.0165517 -192.50 157.50 237.50 0.0319783 -192.50 157.50 242.50 0.0627274 -192.50 157.50 247.50 0.156276 -192.50 157.50 252.50 0.301741 -192.50 157.50 257.50 0.524928 -192.50 157.50 262.50 0.836844 -192.50 157.50 267.50 1.19283 -192.50 157.50 272.50 1.60321 -192.50 157.50 277.50 1.87144 -192.50 157.50 282.50 1.86661 -192.50 157.50 287.50 1.50905 -192.50 157.50 292.50 0.938178 -192.50 157.50 297.50 0.445845 -192.50 157.50 302.50 0.156997 -192.50 157.50 307.50 0.0533852 -192.50 157.50 312.50 0.0213612 -192.50 157.50 317.50 0.00983797 -192.50 157.50 322.50 0.0165516 -192.50 157.50 327.50 0.0319782 -192.50 157.50 332.50 0.0627271 -192.50 157.50 337.50 0.156275 -192.50 157.50 342.50 0.30174 -192.50 157.50 347.50 0.524927 -192.50 157.50 352.50 0.836843 -192.50 157.50 357.50 1.19282 -192.50 162.50 2.50 1.3146 -192.50 162.50 7.50 1.64327 -192.50 162.50 12.50 1.72547 -192.50 162.50 17.50 1.44195 -192.50 162.50 22.50 0.937676 -192.50 162.50 27.50 0.463089 -192.50 162.50 32.50 0.180599 -192.50 162.50 37.50 0.058825 -192.50 162.50 42.50 0.0219787 -192.50 162.50 47.50 0.025159 -192.50 162.50 52.50 0.0417087 -192.50 162.50 57.50 0.0595539 -192.50 162.50 62.50 0.0712792 -192.50 162.50 67.50 0.106179 -192.50 162.50 72.50 0.192351 -192.50 162.50 77.50 0.348407 -192.50 162.50 82.50 0.553796 -192.50 162.50 87.50 0.890955 -192.50 162.50 92.50 1.3146 -192.50 162.50 97.50 1.64328 -192.50 162.50 102.50 1.72547 -192.50 162.50 107.50 1.44195 -192.50 162.50 112.50 0.937675 -192.50 162.50 117.50 0.463088 -192.50 162.50 122.50 0.180599 -192.50 162.50 127.50 0.058825 -192.50 162.50 132.50 0.0219787 -192.50 162.50 137.50 0.025159 -192.50 162.50 142.50 0.0417087 -192.50 162.50 147.50 0.0595539 -192.50 162.50 152.50 0.0712792 -192.50 162.50 157.50 0.106179 -192.50 162.50 162.50 0.19235 -192.50 162.50 167.50 0.348407 -192.50 162.50 172.50 0.553796 -192.50 162.50 177.50 0.890954 -192.50 162.50 182.50 1.3146 -192.50 162.50 187.50 1.64327 -192.50 162.50 192.50 1.72547 -192.50 162.50 197.50 1.44195 -192.50 162.50 202.50 0.937676 -192.50 162.50 207.50 0.463089 -192.50 162.50 212.50 0.180599 -192.50 162.50 217.50 0.058825 -192.50 162.50 222.50 0.0219787 -192.50 162.50 227.50 0.025159 -192.50 162.50 232.50 0.0417087 -192.50 162.50 237.50 0.0595539 -192.50 162.50 242.50 0.0712792 -192.50 162.50 247.50 0.106179 -192.50 162.50 252.50 0.19235 -192.50 162.50 257.50 0.348407 -192.50 162.50 262.50 0.553797 -192.50 162.50 267.50 0.890955 -192.50 162.50 272.50 1.3146 -192.50 162.50 277.50 1.64327 -192.50 162.50 282.50 1.72547 -192.50 162.50 287.50 1.44195 -192.50 162.50 292.50 0.937676 -192.50 162.50 297.50 0.463089 -192.50 162.50 302.50 0.180599 -192.50 162.50 307.50 0.0588251 -192.50 162.50 312.50 0.0219787 -192.50 162.50 317.50 0.025159 -192.50 162.50 322.50 0.0417087 -192.50 162.50 327.50 0.0595539 -192.50 162.50 332.50 0.071279 -192.50 162.50 337.50 0.106179 -192.50 162.50 342.50 0.19235 -192.50 162.50 347.50 0.348407 -192.50 162.50 352.50 0.553796 -192.50 162.50 357.50 0.890954 -192.50 167.50 2.50 1.01248 -192.50 167.50 7.50 1.39784 -192.50 167.50 12.50 1.54438 -192.50 167.50 17.50 1.28696 -192.50 167.50 22.50 0.808872 -192.50 167.50 27.50 0.397316 -192.50 167.50 32.50 0.155452 -192.50 167.50 37.50 0.0549683 -192.50 167.50 42.50 0.0284921 -192.50 167.50 47.50 0.0423656 -192.50 167.50 52.50 0.0752199 -192.50 167.50 57.50 0.0912259 -192.50 167.50 62.50 0.0777872 -192.50 167.50 67.50 0.0895593 -192.50 167.50 72.50 0.133183 -192.50 167.50 77.50 0.202944 -192.50 167.50 82.50 0.325954 -192.50 167.50 87.50 0.608535 -192.50 167.50 92.50 1.01248 -192.50 167.50 97.50 1.39784 -192.50 167.50 102.50 1.54438 -192.50 167.50 107.50 1.28696 -192.50 167.50 112.50 0.808872 -192.50 167.50 117.50 0.397316 -192.50 167.50 122.50 0.155452 -192.50 167.50 127.50 0.0549683 -192.50 167.50 132.50 0.0284921 -192.50 167.50 137.50 0.0423655 -192.50 167.50 142.50 0.0752199 -192.50 167.50 147.50 0.0912259 -192.50 167.50 152.50 0.0777871 -192.50 167.50 157.50 0.0895592 -192.50 167.50 162.50 0.133183 -192.50 167.50 167.50 0.202944 -192.50 167.50 172.50 0.325954 -192.50 167.50 177.50 0.608535 -192.50 167.50 182.50 1.01248 -192.50 167.50 187.50 1.39784 -192.50 167.50 192.50 1.54438 -192.50 167.50 197.50 1.28696 -192.50 167.50 202.50 0.808872 -192.50 167.50 207.50 0.397316 -192.50 167.50 212.50 0.155452 -192.50 167.50 217.50 0.0549683 -192.50 167.50 222.50 0.0284921 -192.50 167.50 227.50 0.0423655 -192.50 167.50 232.50 0.07522 -192.50 167.50 237.50 0.0912258 -192.50 167.50 242.50 0.0777872 -192.50 167.50 247.50 0.0895592 -192.50 167.50 252.50 0.133183 -192.50 167.50 257.50 0.202944 -192.50 167.50 262.50 0.325955 -192.50 167.50 267.50 0.608536 -192.50 167.50 272.50 1.01248 -192.50 167.50 277.50 1.39784 -192.50 167.50 282.50 1.54438 -192.50 167.50 287.50 1.28696 -192.50 167.50 292.50 0.808872 -192.50 167.50 297.50 0.397316 -192.50 167.50 302.50 0.155453 -192.50 167.50 307.50 0.0549683 -192.50 167.50 312.50 0.0284921 -192.50 167.50 317.50 0.0423655 -192.50 167.50 322.50 0.0752199 -192.50 167.50 327.50 0.0912259 -192.50 167.50 332.50 0.0777872 -192.50 167.50 337.50 0.0895591 -192.50 167.50 342.50 0.133183 -192.50 167.50 347.50 0.202944 -192.50 167.50 352.50 0.325954 -192.50 167.50 357.50 0.608534 -192.50 172.50 2.50 0.748317 -192.50 172.50 7.50 1.1454 -192.50 172.50 12.50 1.31062 -192.50 172.50 17.50 1.07311 -192.50 172.50 22.50 0.629721 -192.50 172.50 27.50 0.295838 -192.50 172.50 32.50 0.128447 -192.50 172.50 37.50 0.0559125 -192.50 172.50 42.50 0.0339706 -192.50 172.50 47.50 0.04773 -192.50 172.50 52.50 0.0764977 -192.50 172.50 57.50 0.0934663 -192.50 172.50 62.50 0.0872312 -192.50 172.50 67.50 0.0778744 -192.50 172.50 72.50 0.0810948 -192.50 172.50 77.50 0.103142 -192.50 172.50 82.50 0.189552 -192.50 172.50 87.50 0.390836 -192.50 172.50 92.50 0.748317 -192.50 172.50 97.50 1.1454 -192.50 172.50 102.50 1.31062 -192.50 172.50 107.50 1.07311 -192.50 172.50 112.50 0.629721 -192.50 172.50 117.50 0.295838 -192.50 172.50 122.50 0.128447 -192.50 172.50 127.50 0.0559125 -192.50 172.50 132.50 0.0339706 -192.50 172.50 137.50 0.04773 -192.50 172.50 142.50 0.0764977 -192.50 172.50 147.50 0.0934663 -192.50 172.50 152.50 0.0872311 -192.50 172.50 157.50 0.0778744 -192.50 172.50 162.50 0.0810948 -192.50 172.50 167.50 0.103142 -192.50 172.50 172.50 0.189551 -192.50 172.50 177.50 0.390836 -192.50 172.50 182.50 0.748317 -192.50 172.50 187.50 1.1454 -192.50 172.50 192.50 1.31062 -192.50 172.50 197.50 1.07311 -192.50 172.50 202.50 0.629721 -192.50 172.50 207.50 0.295838 -192.50 172.50 212.50 0.128447 -192.50 172.50 217.50 0.0559125 -192.50 172.50 222.50 0.0339706 -192.50 172.50 227.50 0.04773 -192.50 172.50 232.50 0.0764978 -192.50 172.50 237.50 0.0934663 -192.50 172.50 242.50 0.0872311 -192.50 172.50 247.50 0.0778744 -192.50 172.50 252.50 0.0810948 -192.50 172.50 257.50 0.103142 -192.50 172.50 262.50 0.189552 -192.50 172.50 267.50 0.390837 -192.50 172.50 272.50 0.748317 -192.50 172.50 277.50 1.1454 -192.50 172.50 282.50 1.31062 -192.50 172.50 287.50 1.07311 -192.50 172.50 292.50 0.629721 -192.50 172.50 297.50 0.295839 -192.50 172.50 302.50 0.128447 -192.50 172.50 307.50 0.0559126 -192.50 172.50 312.50 0.0339705 -192.50 172.50 317.50 0.04773 -192.50 172.50 322.50 0.0764977 -192.50 172.50 327.50 0.0934662 -192.50 172.50 332.50 0.0872311 -192.50 172.50 337.50 0.0778744 -192.50 172.50 342.50 0.0810948 -192.50 172.50 347.50 0.103142 -192.50 172.50 352.50 0.189551 -192.50 172.50 357.50 0.390835 -192.50 177.50 2.50 0.512873 -192.50 177.50 7.50 0.851276 -192.50 177.50 12.50 1.00664 -192.50 177.50 17.50 0.808347 -192.50 177.50 22.50 0.446618 -192.50 177.50 27.50 0.189909 -192.50 177.50 32.50 0.0775083 -192.50 177.50 37.50 0.0444665 -192.50 177.50 42.50 0.044284 -192.50 177.50 47.50 0.0581633 -192.50 177.50 52.50 0.0710802 -192.50 177.50 57.50 0.0741997 -192.50 177.50 62.50 0.0683521 -192.50 177.50 67.50 0.0660297 -192.50 177.50 72.50 0.0623607 -192.50 177.50 77.50 0.0662052 -192.50 177.50 82.50 0.104933 -192.50 177.50 87.50 0.23942 -192.50 177.50 92.50 0.512872 -192.50 177.50 97.50 0.851275 -192.50 177.50 102.50 1.00664 -192.50 177.50 107.50 0.808348 -192.50 177.50 112.50 0.446618 -192.50 177.50 117.50 0.189909 -192.50 177.50 122.50 0.0775082 -192.50 177.50 127.50 0.0444665 -192.50 177.50 132.50 0.044284 -192.50 177.50 137.50 0.0581633 -192.50 177.50 142.50 0.0710802 -192.50 177.50 147.50 0.0741997 -192.50 177.50 152.50 0.0683521 -192.50 177.50 157.50 0.0660297 -192.50 177.50 162.50 0.0623607 -192.50 177.50 167.50 0.0662052 -192.50 177.50 172.50 0.104933 -192.50 177.50 177.50 0.23942 -192.50 177.50 182.50 0.512873 -192.50 177.50 187.50 0.851277 -192.50 177.50 192.50 1.00664 -192.50 177.50 197.50 0.808347 -192.50 177.50 202.50 0.446618 -192.50 177.50 207.50 0.189909 -192.50 177.50 212.50 0.0775083 -192.50 177.50 217.50 0.0444665 -192.50 177.50 222.50 0.044284 -192.50 177.50 227.50 0.0581633 -192.50 177.50 232.50 0.0710802 -192.50 177.50 237.50 0.0741997 -192.50 177.50 242.50 0.0683521 -192.50 177.50 247.50 0.0660297 -192.50 177.50 252.50 0.0623607 -192.50 177.50 257.50 0.0662052 -192.50 177.50 262.50 0.104933 -192.50 177.50 267.50 0.239421 -192.50 177.50 272.50 0.512873 -192.50 177.50 277.50 0.851277 -192.50 177.50 282.50 1.00664 -192.50 177.50 287.50 0.808347 -192.50 177.50 292.50 0.446618 -192.50 177.50 297.50 0.18991 -192.50 177.50 302.50 0.0775083 -192.50 177.50 307.50 0.0444665 -192.50 177.50 312.50 0.044284 -192.50 177.50 317.50 0.0581633 -192.50 177.50 322.50 0.0710802 -192.50 177.50 327.50 0.0741997 -192.50 177.50 332.50 0.0683521 -192.50 177.50 337.50 0.0660297 -192.50 177.50 342.50 0.0623608 -192.50 177.50 347.50 0.0662052 -192.50 177.50 352.50 0.104932 -192.50 177.50 357.50 0.23942 -197.50 2.50 2.50 0.149977 -197.50 2.50 7.50 0.0624685 -197.50 2.50 12.50 0.0485219 -197.50 2.50 17.50 0.0601603 -197.50 2.50 22.50 0.0760386 -197.50 2.50 27.50 0.083846 -197.50 2.50 32.50 0.084539 -197.50 2.50 37.50 0.083846 -197.50 2.50 42.50 0.0760385 -197.50 2.50 47.50 0.0601603 -197.50 2.50 52.50 0.0485219 -197.50 2.50 57.50 0.0624686 -197.50 2.50 62.50 0.149977 -197.50 2.50 67.50 0.393273 -197.50 2.50 72.50 0.773179 -197.50 2.50 77.50 0.980476 -197.50 2.50 82.50 0.773178 -197.50 2.50 87.50 0.393272 -197.50 2.50 92.50 0.149977 -197.50 2.50 97.50 0.0624685 -197.50 2.50 102.50 0.0485219 -197.50 2.50 107.50 0.0601603 -197.50 2.50 112.50 0.0760386 -197.50 2.50 117.50 0.083846 -197.50 2.50 122.50 0.084539 -197.50 2.50 127.50 0.083846 -197.50 2.50 132.50 0.0760385 -197.50 2.50 137.50 0.0601603 -197.50 2.50 142.50 0.0485219 -197.50 2.50 147.50 0.0624686 -197.50 2.50 152.50 0.149977 -197.50 2.50 157.50 0.393272 -197.50 2.50 162.50 0.773179 -197.50 2.50 167.50 0.980476 -197.50 2.50 172.50 0.773179 -197.50 2.50 177.50 0.393272 -197.50 2.50 182.50 0.149977 -197.50 2.50 187.50 0.0624685 -197.50 2.50 192.50 0.0485219 -197.50 2.50 197.50 0.0601603 -197.50 2.50 202.50 0.0760386 -197.50 2.50 207.50 0.083846 -197.50 2.50 212.50 0.084539 -197.50 2.50 217.50 0.083846 -197.50 2.50 222.50 0.0760385 -197.50 2.50 227.50 0.0601603 -197.50 2.50 232.50 0.0485219 -197.50 2.50 237.50 0.0624686 -197.50 2.50 242.50 0.149977 -197.50 2.50 247.50 0.393273 -197.50 2.50 252.50 0.773179 -197.50 2.50 257.50 0.980476 -197.50 2.50 262.50 0.773178 -197.50 2.50 267.50 0.393272 -197.50 2.50 272.50 0.149977 -197.50 2.50 277.50 0.0624685 -197.50 2.50 282.50 0.0485219 -197.50 2.50 287.50 0.0601603 -197.50 2.50 292.50 0.0760386 -197.50 2.50 297.50 0.083846 -197.50 2.50 302.50 0.084539 -197.50 2.50 307.50 0.083846 -197.50 2.50 312.50 0.0760385 -197.50 2.50 317.50 0.0601603 -197.50 2.50 322.50 0.048522 -197.50 2.50 327.50 0.0624685 -197.50 2.50 332.50 0.149977 -197.50 2.50 337.50 0.393272 -197.50 2.50 342.50 0.773178 -197.50 2.50 347.50 0.980476 -197.50 2.50 352.50 0.773179 -197.50 2.50 357.50 0.393273 -197.50 7.50 2.50 0.210388 -197.50 7.50 7.50 0.10472 -197.50 7.50 12.50 0.0745756 -197.50 7.50 17.50 0.0724643 -197.50 7.50 22.50 0.076525 -197.50 7.50 27.50 0.0776944 -197.50 7.50 32.50 0.0750234 -197.50 7.50 37.50 0.0724146 -197.50 7.50 42.50 0.0590314 -197.50 7.50 47.50 0.0435456 -197.50 7.50 52.50 0.0421066 -197.50 7.50 57.50 0.0785193 -197.50 7.50 62.50 0.199274 -197.50 7.50 67.50 0.469199 -197.50 7.50 72.50 0.826356 -197.50 7.50 77.50 1.00154 -197.50 7.50 82.50 0.814819 -197.50 7.50 87.50 0.461129 -197.50 7.50 92.50 0.210388 -197.50 7.50 97.50 0.104719 -197.50 7.50 102.50 0.0745756 -197.50 7.50 107.50 0.0724643 -197.50 7.50 112.50 0.076525 -197.50 7.50 117.50 0.0776944 -197.50 7.50 122.50 0.0750234 -197.50 7.50 127.50 0.0724146 -197.50 7.50 132.50 0.0590314 -197.50 7.50 137.50 0.0435456 -197.50 7.50 142.50 0.0421066 -197.50 7.50 147.50 0.0785193 -197.50 7.50 152.50 0.199274 -197.50 7.50 157.50 0.469198 -197.50 7.50 162.50 0.826355 -197.50 7.50 167.50 1.00154 -197.50 7.50 172.50 0.814819 -197.50 7.50 177.50 0.461129 -197.50 7.50 182.50 0.210388 -197.50 7.50 187.50 0.104719 -197.50 7.50 192.50 0.0745756 -197.50 7.50 197.50 0.0724642 -197.50 7.50 202.50 0.076525 -197.50 7.50 207.50 0.0776945 -197.50 7.50 212.50 0.0750234 -197.50 7.50 217.50 0.0724146 -197.50 7.50 222.50 0.0590314 -197.50 7.50 227.50 0.0435456 -197.50 7.50 232.50 0.0421066 -197.50 7.50 237.50 0.0785195 -197.50 7.50 242.50 0.199274 -197.50 7.50 247.50 0.469198 -197.50 7.50 252.50 0.826355 -197.50 7.50 257.50 1.00154 -197.50 7.50 262.50 0.814818 -197.50 7.50 267.50 0.461129 -197.50 7.50 272.50 0.210388 -197.50 7.50 277.50 0.104719 -197.50 7.50 282.50 0.0745756 -197.50 7.50 287.50 0.0724642 -197.50 7.50 292.50 0.076525 -197.50 7.50 297.50 0.0776945 -197.50 7.50 302.50 0.0750234 -197.50 7.50 307.50 0.0724146 -197.50 7.50 312.50 0.0590315 -197.50 7.50 317.50 0.0435456 -197.50 7.50 322.50 0.0421066 -197.50 7.50 327.50 0.0785193 -197.50 7.50 332.50 0.199274 -197.50 7.50 337.50 0.469197 -197.50 7.50 342.50 0.826354 -197.50 7.50 347.50 1.00154 -197.50 7.50 352.50 0.81482 -197.50 7.50 357.50 0.46113 -197.50 12.50 2.50 0.376554 -197.50 12.50 7.50 0.216442 -197.50 12.50 12.50 0.141283 -197.50 12.50 17.50 0.0978893 -197.50 12.50 22.50 0.0936087 -197.50 12.50 27.50 0.0995422 -197.50 12.50 32.50 0.103579 -197.50 12.50 37.50 0.086341 -197.50 12.50 42.50 0.051786 -197.50 12.50 47.50 0.0302449 -197.50 12.50 52.50 0.0447239 -197.50 12.50 57.50 0.122106 -197.50 12.50 62.50 0.309731 -197.50 12.50 67.50 0.6582 -197.50 12.50 72.50 1.08936 -197.50 12.50 77.50 1.30722 -197.50 12.50 82.50 1.10458 -197.50 12.50 87.50 0.695288 -197.50 12.50 92.50 0.376554 -197.50 12.50 97.50 0.216442 -197.50 12.50 102.50 0.141283 -197.50 12.50 107.50 0.0978893 -197.50 12.50 112.50 0.0936087 -197.50 12.50 117.50 0.0995422 -197.50 12.50 122.50 0.103579 -197.50 12.50 127.50 0.086341 -197.50 12.50 132.50 0.051786 -197.50 12.50 137.50 0.0302449 -197.50 12.50 142.50 0.0447239 -197.50 12.50 147.50 0.122106 -197.50 12.50 152.50 0.30973 -197.50 12.50 157.50 0.658199 -197.50 12.50 162.50 1.08936 -197.50 12.50 167.50 1.30722 -197.50 12.50 172.50 1.10458 -197.50 12.50 177.50 0.695288 -197.50 12.50 182.50 0.376554 -197.50 12.50 187.50 0.216442 -197.50 12.50 192.50 0.141283 -197.50 12.50 197.50 0.0978893 -197.50 12.50 202.50 0.0936087 -197.50 12.50 207.50 0.0995422 -197.50 12.50 212.50 0.103579 -197.50 12.50 217.50 0.086341 -197.50 12.50 222.50 0.051786 -197.50 12.50 227.50 0.0302449 -197.50 12.50 232.50 0.044724 -197.50 12.50 237.50 0.122106 -197.50 12.50 242.50 0.309731 -197.50 12.50 247.50 0.6582 -197.50 12.50 252.50 1.08936 -197.50 12.50 257.50 1.30722 -197.50 12.50 262.50 1.10458 -197.50 12.50 267.50 0.695287 -197.50 12.50 272.50 0.376554 -197.50 12.50 277.50 0.216442 -197.50 12.50 282.50 0.141283 -197.50 12.50 287.50 0.0978893 -197.50 12.50 292.50 0.0936086 -197.50 12.50 297.50 0.0995422 -197.50 12.50 302.50 0.103579 -197.50 12.50 307.50 0.0863411 -197.50 12.50 312.50 0.051786 -197.50 12.50 317.50 0.0302449 -197.50 12.50 322.50 0.0447239 -197.50 12.50 327.50 0.122106 -197.50 12.50 332.50 0.30973 -197.50 12.50 337.50 0.658198 -197.50 12.50 342.50 1.08936 -197.50 12.50 347.50 1.30722 -197.50 12.50 352.50 1.10458 -197.50 12.50 357.50 0.695289 -197.50 17.50 2.50 0.6554 -197.50 17.50 7.50 0.423372 -197.50 17.50 12.50 0.260369 -197.50 17.50 17.50 0.188649 -197.50 17.50 22.50 0.138135 -197.50 17.50 27.50 0.110934 -197.50 17.50 32.50 0.103018 -197.50 17.50 37.50 0.085331 -197.50 17.50 42.50 0.0466067 -197.50 17.50 47.50 0.0264397 -197.50 17.50 52.50 0.0478193 -197.50 17.50 57.50 0.141028 -197.50 17.50 62.50 0.376838 -197.50 17.50 67.50 0.791947 -197.50 17.50 72.50 1.26422 -197.50 17.50 77.50 1.52312 -197.50 17.50 82.50 1.37686 -197.50 17.50 87.50 0.996546 -197.50 17.50 92.50 0.6554 -197.50 17.50 97.50 0.423372 -197.50 17.50 102.50 0.260369 -197.50 17.50 107.50 0.18865 -197.50 17.50 112.50 0.138135 -197.50 17.50 117.50 0.110934 -197.50 17.50 122.50 0.103018 -197.50 17.50 127.50 0.085331 -197.50 17.50 132.50 0.0466067 -197.50 17.50 137.50 0.0264397 -197.50 17.50 142.50 0.0478193 -197.50 17.50 147.50 0.141028 -197.50 17.50 152.50 0.376838 -197.50 17.50 157.50 0.791945 -197.50 17.50 162.50 1.26422 -197.50 17.50 167.50 1.52312 -197.50 17.50 172.50 1.37686 -197.50 17.50 177.50 0.996546 -197.50 17.50 182.50 0.6554 -197.50 17.50 187.50 0.423372 -197.50 17.50 192.50 0.26037 -197.50 17.50 197.50 0.188649 -197.50 17.50 202.50 0.138135 -197.50 17.50 207.50 0.110934 -197.50 17.50 212.50 0.103018 -197.50 17.50 217.50 0.085331 -197.50 17.50 222.50 0.0466068 -197.50 17.50 227.50 0.0264397 -197.50 17.50 232.50 0.0478194 -197.50 17.50 237.50 0.141028 -197.50 17.50 242.50 0.376838 -197.50 17.50 247.50 0.791947 -197.50 17.50 252.50 1.26422 -197.50 17.50 257.50 1.52312 -197.50 17.50 262.50 1.37686 -197.50 17.50 267.50 0.996546 -197.50 17.50 272.50 0.6554 -197.50 17.50 277.50 0.423372 -197.50 17.50 282.50 0.260369 -197.50 17.50 287.50 0.188649 -197.50 17.50 292.50 0.138135 -197.50 17.50 297.50 0.110934 -197.50 17.50 302.50 0.103018 -197.50 17.50 307.50 0.0853311 -197.50 17.50 312.50 0.0466067 -197.50 17.50 317.50 0.0264397 -197.50 17.50 322.50 0.0478192 -197.50 17.50 327.50 0.141027 -197.50 17.50 332.50 0.376837 -197.50 17.50 337.50 0.791945 -197.50 17.50 342.50 1.26422 -197.50 17.50 347.50 1.52312 -197.50 17.50 352.50 1.37687 -197.50 17.50 357.50 0.996547 -197.50 22.50 2.50 1.04451 -197.50 22.50 7.50 0.736745 -197.50 22.50 12.50 0.501154 -197.50 22.50 17.50 0.335263 -197.50 22.50 22.50 0.185647 -197.50 22.50 27.50 0.108236 -197.50 22.50 32.50 0.0792763 -197.50 22.50 37.50 0.0520203 -197.50 22.50 42.50 0.0247396 -197.50 22.50 47.50 0.0190101 -197.50 22.50 52.50 0.0432779 -197.50 22.50 57.50 0.147344 -197.50 22.50 62.50 0.401316 -197.50 22.50 67.50 0.835966 -197.50 22.50 72.50 1.34437 -197.50 22.50 77.50 1.66987 -197.50 22.50 82.50 1.64759 -197.50 22.50 87.50 1.36448 -197.50 22.50 92.50 1.04451 -197.50 22.50 97.50 0.736745 -197.50 22.50 102.50 0.501154 -197.50 22.50 107.50 0.335263 -197.50 22.50 112.50 0.185647 -197.50 22.50 117.50 0.108236 -197.50 22.50 122.50 0.0792763 -197.50 22.50 127.50 0.0520203 -197.50 22.50 132.50 0.0247396 -197.50 22.50 137.50 0.0190101 -197.50 22.50 142.50 0.0432779 -197.50 22.50 147.50 0.147344 -197.50 22.50 152.50 0.401315 -197.50 22.50 157.50 0.835966 -197.50 22.50 162.50 1.34437 -197.50 22.50 167.50 1.66987 -197.50 22.50 172.50 1.64759 -197.50 22.50 177.50 1.36448 -197.50 22.50 182.50 1.04451 -197.50 22.50 187.50 0.736744 -197.50 22.50 192.50 0.501154 -197.50 22.50 197.50 0.335263 -197.50 22.50 202.50 0.185647 -197.50 22.50 207.50 0.108236 -197.50 22.50 212.50 0.0792763 -197.50 22.50 217.50 0.0520204 -197.50 22.50 222.50 0.0247396 -197.50 22.50 227.50 0.0190101 -197.50 22.50 232.50 0.0432779 -197.50 22.50 237.50 0.147344 -197.50 22.50 242.50 0.401316 -197.50 22.50 247.50 0.835966 -197.50 22.50 252.50 1.34437 -197.50 22.50 257.50 1.66988 -197.50 22.50 262.50 1.64759 -197.50 22.50 267.50 1.36448 -197.50 22.50 272.50 1.04451 -197.50 22.50 277.50 0.736745 -197.50 22.50 282.50 0.501154 -197.50 22.50 287.50 0.335263 -197.50 22.50 292.50 0.185647 -197.50 22.50 297.50 0.108236 -197.50 22.50 302.50 0.0792763 -197.50 22.50 307.50 0.0520204 -197.50 22.50 312.50 0.0247396 -197.50 22.50 317.50 0.0190101 -197.50 22.50 322.50 0.0432778 -197.50 22.50 327.50 0.147344 -197.50 22.50 332.50 0.401315 -197.50 22.50 337.50 0.835965 -197.50 22.50 342.50 1.34437 -197.50 22.50 347.50 1.66988 -197.50 22.50 352.50 1.64759 -197.50 22.50 357.50 1.36448 -197.50 27.50 2.50 1.46987 -197.50 27.50 7.50 1.13434 -197.50 27.50 12.50 0.846133 -197.50 27.50 17.50 0.526842 -197.50 27.50 22.50 0.282701 -197.50 27.50 27.50 0.130854 -197.50 27.50 32.50 0.0500053 -197.50 27.50 37.50 0.0230623 -197.50 27.50 42.50 0.0111999 -197.50 27.50 47.50 0.0124126 -197.50 27.50 52.50 0.0375602 -197.50 27.50 57.50 0.119208 -197.50 27.50 62.50 0.335643 -197.50 27.50 67.50 0.755123 -197.50 27.50 72.50 1.3193 -197.50 27.50 77.50 1.79157 -197.50 27.50 82.50 1.90549 -197.50 27.50 87.50 1.73302 -197.50 27.50 92.50 1.46987 -197.50 27.50 97.50 1.13434 -197.50 27.50 102.50 0.846133 -197.50 27.50 107.50 0.526842 -197.50 27.50 112.50 0.282701 -197.50 27.50 117.50 0.130854 -197.50 27.50 122.50 0.0500053 -197.50 27.50 127.50 0.0230623 -197.50 27.50 132.50 0.0111999 -197.50 27.50 137.50 0.0124126 -197.50 27.50 142.50 0.0375602 -197.50 27.50 147.50 0.119208 -197.50 27.50 152.50 0.335643 -197.50 27.50 157.50 0.755123 -197.50 27.50 162.50 1.3193 -197.50 27.50 167.50 1.79157 -197.50 27.50 172.50 1.90549 -197.50 27.50 177.50 1.73302 -197.50 27.50 182.50 1.46987 -197.50 27.50 187.50 1.13434 -197.50 27.50 192.50 0.846133 -197.50 27.50 197.50 0.526842 -197.50 27.50 202.50 0.282701 -197.50 27.50 207.50 0.130854 -197.50 27.50 212.50 0.0500053 -197.50 27.50 217.50 0.0230623 -197.50 27.50 222.50 0.0111999 -197.50 27.50 227.50 0.0124126 -197.50 27.50 232.50 0.0375603 -197.50 27.50 237.50 0.119208 -197.50 27.50 242.50 0.335643 -197.50 27.50 247.50 0.755124 -197.50 27.50 252.50 1.3193 -197.50 27.50 257.50 1.79157 -197.50 27.50 262.50 1.90549 -197.50 27.50 267.50 1.73302 -197.50 27.50 272.50 1.46987 -197.50 27.50 277.50 1.13434 -197.50 27.50 282.50 0.846133 -197.50 27.50 287.50 0.526842 -197.50 27.50 292.50 0.282701 -197.50 27.50 297.50 0.130854 -197.50 27.50 302.50 0.0500054 -197.50 27.50 307.50 0.0230623 -197.50 27.50 312.50 0.0111999 -197.50 27.50 317.50 0.0124126 -197.50 27.50 322.50 0.03756 -197.50 27.50 327.50 0.119208 -197.50 27.50 332.50 0.335642 -197.50 27.50 337.50 0.755122 -197.50 27.50 342.50 1.3193 -197.50 27.50 347.50 1.79157 -197.50 27.50 352.50 1.90549 -197.50 27.50 357.50 1.73302 -197.50 32.50 2.50 1.91896 -197.50 32.50 7.50 1.67282 -197.50 32.50 12.50 1.34077 -197.50 32.50 17.50 0.84225 -197.50 32.50 22.50 0.47031 -197.50 32.50 27.50 0.185491 -197.50 32.50 32.50 0.0660115 -197.50 32.50 37.50 0.0169594 -197.50 32.50 42.50 0.00605908 -197.50 32.50 47.50 0.010606 -197.50 32.50 52.50 0.0280961 -197.50 32.50 57.50 0.0852507 -197.50 32.50 62.50 0.251832 -197.50 32.50 67.50 0.604964 -197.50 32.50 72.50 1.21541 -197.50 32.50 77.50 1.86571 -197.50 32.50 82.50 2.12271 -197.50 32.50 87.50 2.07289 -197.50 32.50 92.50 1.91896 -197.50 32.50 97.50 1.67282 -197.50 32.50 102.50 1.34077 -197.50 32.50 107.50 0.84225 -197.50 32.50 112.50 0.47031 -197.50 32.50 117.50 0.185491 -197.50 32.50 122.50 0.0660115 -197.50 32.50 127.50 0.0169593 -197.50 32.50 132.50 0.00605908 -197.50 32.50 137.50 0.010606 -197.50 32.50 142.50 0.0280961 -197.50 32.50 147.50 0.0852507 -197.50 32.50 152.50 0.251832 -197.50 32.50 157.50 0.604963 -197.50 32.50 162.50 1.21541 -197.50 32.50 167.50 1.86571 -197.50 32.50 172.50 2.12271 -197.50 32.50 177.50 2.07289 -197.50 32.50 182.50 1.91896 -197.50 32.50 187.50 1.67282 -197.50 32.50 192.50 1.34077 -197.50 32.50 197.50 0.842249 -197.50 32.50 202.50 0.470309 -197.50 32.50 207.50 0.185491 -197.50 32.50 212.50 0.0660116 -197.50 32.50 217.50 0.0169594 -197.50 32.50 222.50 0.00605909 -197.50 32.50 227.50 0.010606 -197.50 32.50 232.50 0.0280961 -197.50 32.50 237.50 0.0852509 -197.50 32.50 242.50 0.251832 -197.50 32.50 247.50 0.604964 -197.50 32.50 252.50 1.21541 -197.50 32.50 257.50 1.86571 -197.50 32.50 262.50 2.12271 -197.50 32.50 267.50 2.07289 -197.50 32.50 272.50 1.91896 -197.50 32.50 277.50 1.67282 -197.50 32.50 282.50 1.34077 -197.50 32.50 287.50 0.84225 -197.50 32.50 292.50 0.47031 -197.50 32.50 297.50 0.185491 -197.50 32.50 302.50 0.0660117 -197.50 32.50 307.50 0.0169594 -197.50 32.50 312.50 0.00605908 -197.50 32.50 317.50 0.010606 -197.50 32.50 322.50 0.028096 -197.50 32.50 327.50 0.0852505 -197.50 32.50 332.50 0.251831 -197.50 32.50 337.50 0.604962 -197.50 32.50 342.50 1.21541 -197.50 32.50 347.50 1.86571 -197.50 32.50 352.50 2.12271 -197.50 32.50 357.50 2.07289 -197.50 37.50 2.50 2.48319 -197.50 37.50 7.50 2.43862 -197.50 37.50 12.50 2.08206 -197.50 37.50 17.50 1.46004 -197.50 37.50 22.50 0.819892 -197.50 37.50 27.50 0.372317 -197.50 37.50 32.50 0.132328 -197.50 37.50 37.50 0.0366549 -197.50 37.50 42.50 0.0127237 -197.50 37.50 47.50 0.0102016 -197.50 37.50 52.50 0.0208957 -197.50 37.50 57.50 0.0607415 -197.50 37.50 62.50 0.188415 -197.50 37.50 67.50 0.522556 -197.50 37.50 72.50 1.1385 -197.50 37.50 77.50 1.86234 -197.50 37.50 82.50 2.31353 -197.50 37.50 87.50 2.43565 -197.50 37.50 92.50 2.48319 -197.50 37.50 97.50 2.43862 -197.50 37.50 102.50 2.08206 -197.50 37.50 107.50 1.46004 -197.50 37.50 112.50 0.819892 -197.50 37.50 117.50 0.372317 -197.50 37.50 122.50 0.132328 -197.50 37.50 127.50 0.0366548 -197.50 37.50 132.50 0.0127237 -197.50 37.50 137.50 0.0102016 -197.50 37.50 142.50 0.0208956 -197.50 37.50 147.50 0.0607416 -197.50 37.50 152.50 0.188415 -197.50 37.50 157.50 0.522555 -197.50 37.50 162.50 1.1385 -197.50 37.50 167.50 1.86234 -197.50 37.50 172.50 2.31353 -197.50 37.50 177.50 2.43565 -197.50 37.50 182.50 2.48319 -197.50 37.50 187.50 2.43862 -197.50 37.50 192.50 2.08206 -197.50 37.50 197.50 1.46004 -197.50 37.50 202.50 0.819891 -197.50 37.50 207.50 0.372317 -197.50 37.50 212.50 0.132328 -197.50 37.50 217.50 0.0366549 -197.50 37.50 222.50 0.0127237 -197.50 37.50 227.50 0.0102016 -197.50 37.50 232.50 0.0208957 -197.50 37.50 237.50 0.0607417 -197.50 37.50 242.50 0.188416 -197.50 37.50 247.50 0.522556 -197.50 37.50 252.50 1.1385 -197.50 37.50 257.50 1.86234 -197.50 37.50 262.50 2.31353 -197.50 37.50 267.50 2.43565 -197.50 37.50 272.50 2.48319 -197.50 37.50 277.50 2.43862 -197.50 37.50 282.50 2.08206 -197.50 37.50 287.50 1.46004 -197.50 37.50 292.50 0.819892 -197.50 37.50 297.50 0.372317 -197.50 37.50 302.50 0.132328 -197.50 37.50 307.50 0.036655 -197.50 37.50 312.50 0.0127237 -197.50 37.50 317.50 0.0102016 -197.50 37.50 322.50 0.0208956 -197.50 37.50 327.50 0.0607414 -197.50 37.50 332.50 0.188415 -197.50 37.50 337.50 0.522554 -197.50 37.50 342.50 1.1385 -197.50 37.50 347.50 1.86234 -197.50 37.50 352.50 2.31353 -197.50 37.50 357.50 2.43565 -197.50 42.50 2.50 3.07558 -197.50 42.50 7.50 3.28461 -197.50 42.50 12.50 3.00582 -197.50 42.50 17.50 2.3018 -197.50 42.50 22.50 1.44951 -197.50 42.50 27.50 0.734423 -197.50 42.50 32.50 0.281644 -197.50 42.50 37.50 0.0941096 -197.50 42.50 42.50 0.0346214 -197.50 42.50 47.50 0.0129026 -197.50 42.50 52.50 0.0187252 -197.50 42.50 57.50 0.0528531 -197.50 42.50 62.50 0.159378 -197.50 42.50 67.50 0.458404 -197.50 42.50 72.50 1.02812 -197.50 42.50 77.50 1.75871 -197.50 42.50 82.50 2.33768 -197.50 42.50 87.50 2.71443 -197.50 42.50 92.50 3.07558 -197.50 42.50 97.50 3.28461 -197.50 42.50 102.50 3.00582 -197.50 42.50 107.50 2.3018 -197.50 42.50 112.50 1.44951 -197.50 42.50 117.50 0.734423 -197.50 42.50 122.50 0.281644 -197.50 42.50 127.50 0.0941095 -197.50 42.50 132.50 0.0346214 -197.50 42.50 137.50 0.0129026 -197.50 42.50 142.50 0.0187252 -197.50 42.50 147.50 0.0528531 -197.50 42.50 152.50 0.159378 -197.50 42.50 157.50 0.458403 -197.50 42.50 162.50 1.02812 -197.50 42.50 167.50 1.75871 -197.50 42.50 172.50 2.33768 -197.50 42.50 177.50 2.71443 -197.50 42.50 182.50 3.07557 -197.50 42.50 187.50 3.28461 -197.50 42.50 192.50 3.00581 -197.50 42.50 197.50 2.30179 -197.50 42.50 202.50 1.44951 -197.50 42.50 207.50 0.734424 -197.50 42.50 212.50 0.281644 -197.50 42.50 217.50 0.0941096 -197.50 42.50 222.50 0.0346215 -197.50 42.50 227.50 0.0129026 -197.50 42.50 232.50 0.0187252 -197.50 42.50 237.50 0.0528532 -197.50 42.50 242.50 0.159378 -197.50 42.50 247.50 0.458404 -197.50 42.50 252.50 1.02812 -197.50 42.50 257.50 1.75871 -197.50 42.50 262.50 2.33768 -197.50 42.50 267.50 2.71443 -197.50 42.50 272.50 3.07557 -197.50 42.50 277.50 3.28461 -197.50 42.50 282.50 3.00582 -197.50 42.50 287.50 2.30179 -197.50 42.50 292.50 1.44951 -197.50 42.50 297.50 0.734424 -197.50 42.50 302.50 0.281645 -197.50 42.50 307.50 0.0941096 -197.50 42.50 312.50 0.0346215 -197.50 42.50 317.50 0.0129026 -197.50 42.50 322.50 0.0187251 -197.50 42.50 327.50 0.052853 -197.50 42.50 332.50 0.159378 -197.50 42.50 337.50 0.458402 -197.50 42.50 342.50 1.02812 -197.50 42.50 347.50 1.75871 -197.50 42.50 352.50 2.33768 -197.50 42.50 357.50 2.71443 -197.50 47.50 2.50 3.34429 -197.50 47.50 7.50 3.8114 -197.50 47.50 12.50 3.76021 -197.50 47.50 17.50 3.14533 -197.50 47.50 22.50 2.1993 -197.50 47.50 27.50 1.22003 -197.50 47.50 32.50 0.535988 -197.50 47.50 37.50 0.213094 -197.50 47.50 42.50 0.0674383 -197.50 47.50 47.50 0.0259854 -197.50 47.50 52.50 0.0197802 -197.50 47.50 57.50 0.0535264 -197.50 47.50 62.50 0.149389 -197.50 47.50 67.50 0.359979 -197.50 47.50 72.50 0.832349 -197.50 47.50 77.50 1.4814 -197.50 47.50 82.50 2.09945 -197.50 47.50 87.50 2.66415 -197.50 47.50 92.50 3.34429 -197.50 47.50 97.50 3.8114 -197.50 47.50 102.50 3.76021 -197.50 47.50 107.50 3.14533 -197.50 47.50 112.50 2.1993 -197.50 47.50 117.50 1.22003 -197.50 47.50 122.50 0.535988 -197.50 47.50 127.50 0.213094 -197.50 47.50 132.50 0.0674383 -197.50 47.50 137.50 0.0259854 -197.50 47.50 142.50 0.0197802 -197.50 47.50 147.50 0.0535264 -197.50 47.50 152.50 0.149389 -197.50 47.50 157.50 0.359979 -197.50 47.50 162.50 0.832349 -197.50 47.50 167.50 1.48139 -197.50 47.50 172.50 2.09945 -197.50 47.50 177.50 2.66415 -197.50 47.50 182.50 3.34429 -197.50 47.50 187.50 3.8114 -197.50 47.50 192.50 3.76021 -197.50 47.50 197.50 3.14533 -197.50 47.50 202.50 2.1993 -197.50 47.50 207.50 1.22004 -197.50 47.50 212.50 0.535988 -197.50 47.50 217.50 0.213095 -197.50 47.50 222.50 0.0674384 -197.50 47.50 227.50 0.0259854 -197.50 47.50 232.50 0.0197803 -197.50 47.50 237.50 0.0535265 -197.50 47.50 242.50 0.14939 -197.50 47.50 247.50 0.35998 -197.50 47.50 252.50 0.832351 -197.50 47.50 257.50 1.4814 -197.50 47.50 262.50 2.09946 -197.50 47.50 267.50 2.66415 -197.50 47.50 272.50 3.34429 -197.50 47.50 277.50 3.8114 -197.50 47.50 282.50 3.76021 -197.50 47.50 287.50 3.14533 -197.50 47.50 292.50 2.1993 -197.50 47.50 297.50 1.22004 -197.50 47.50 302.50 0.535988 -197.50 47.50 307.50 0.213095 -197.50 47.50 312.50 0.0674385 -197.50 47.50 317.50 0.0259854 -197.50 47.50 322.50 0.0197802 -197.50 47.50 327.50 0.0535264 -197.50 47.50 332.50 0.149389 -197.50 47.50 337.50 0.359978 -197.50 47.50 342.50 0.832348 -197.50 47.50 347.50 1.48139 -197.50 47.50 352.50 2.09945 -197.50 47.50 357.50 2.66414 -197.50 52.50 2.50 3.07557 -197.50 52.50 7.50 3.78144 -197.50 52.50 12.50 4.13483 -197.50 52.50 17.50 3.70354 -197.50 52.50 22.50 2.82692 -197.50 52.50 27.50 1.81342 -197.50 52.50 32.50 0.887785 -197.50 52.50 37.50 0.379217 -197.50 52.50 42.50 0.110702 -197.50 52.50 47.50 0.0300594 -197.50 52.50 52.50 0.0245617 -197.50 52.50 57.50 0.0480408 -197.50 52.50 62.50 0.111763 -197.50 52.50 67.50 0.295443 -197.50 52.50 72.50 0.620533 -197.50 52.50 77.50 1.13723 -197.50 52.50 82.50 1.70748 -197.50 52.50 87.50 2.27987 -197.50 52.50 92.50 3.07558 -197.50 52.50 97.50 3.78144 -197.50 52.50 102.50 4.13483 -197.50 52.50 107.50 3.70354 -197.50 52.50 112.50 2.82692 -197.50 52.50 117.50 1.81342 -197.50 52.50 122.50 0.887785 -197.50 52.50 127.50 0.379217 -197.50 52.50 132.50 0.110701 -197.50 52.50 137.50 0.0300595 -197.50 52.50 142.50 0.0245617 -197.50 52.50 147.50 0.0480408 -197.50 52.50 152.50 0.111763 -197.50 52.50 157.50 0.295443 -197.50 52.50 162.50 0.620533 -197.50 52.50 167.50 1.13723 -197.50 52.50 172.50 1.70748 -197.50 52.50 177.50 2.27987 -197.50 52.50 182.50 3.07558 -197.50 52.50 187.50 3.78144 -197.50 52.50 192.50 4.13483 -197.50 52.50 197.50 3.70354 -197.50 52.50 202.50 2.82691 -197.50 52.50 207.50 1.81342 -197.50 52.50 212.50 0.887786 -197.50 52.50 217.50 0.379218 -197.50 52.50 222.50 0.110702 -197.50 52.50 227.50 0.0300595 -197.50 52.50 232.50 0.0245618 -197.50 52.50 237.50 0.0480409 -197.50 52.50 242.50 0.111763 -197.50 52.50 247.50 0.295443 -197.50 52.50 252.50 0.620534 -197.50 52.50 257.50 1.13723 -197.50 52.50 262.50 1.70748 -197.50 52.50 267.50 2.27987 -197.50 52.50 272.50 3.07558 -197.50 52.50 277.50 3.78144 -197.50 52.50 282.50 4.13483 -197.50 52.50 287.50 3.70354 -197.50 52.50 292.50 2.82692 -197.50 52.50 297.50 1.81342 -197.50 52.50 302.50 0.887786 -197.50 52.50 307.50 0.379218 -197.50 52.50 312.50 0.110702 -197.50 52.50 317.50 0.0300595 -197.50 52.50 322.50 0.0245617 -197.50 52.50 327.50 0.0480407 -197.50 52.50 332.50 0.111763 -197.50 52.50 337.50 0.295442 -197.50 52.50 342.50 0.620532 -197.50 52.50 347.50 1.13723 -197.50 52.50 352.50 1.70747 -197.50 52.50 357.50 2.27987 -197.50 57.50 2.50 2.48318 -197.50 57.50 7.50 3.38839 -197.50 57.50 12.50 4.04575 -197.50 57.50 17.50 3.88467 -197.50 57.50 22.50 3.3656 -197.50 57.50 27.50 2.38044 -197.50 57.50 32.50 1.33187 -197.50 57.50 37.50 0.527503 -197.50 57.50 42.50 0.156568 -197.50 57.50 47.50 0.0411971 -197.50 57.50 52.50 0.0169254 -197.50 57.50 57.50 0.0338978 -197.50 57.50 62.50 0.0885528 -197.50 57.50 67.50 0.220749 -197.50 57.50 72.50 0.433036 -197.50 57.50 77.50 0.809533 -197.50 57.50 82.50 1.28426 -197.50 57.50 87.50 1.78362 -197.50 57.50 92.50 2.48318 -197.50 57.50 97.50 3.38839 -197.50 57.50 102.50 4.04575 -197.50 57.50 107.50 3.88467 -197.50 57.50 112.50 3.3656 -197.50 57.50 117.50 2.38044 -197.50 57.50 122.50 1.33187 -197.50 57.50 127.50 0.527502 -197.50 57.50 132.50 0.156568 -197.50 57.50 137.50 0.0411971 -197.50 57.50 142.50 0.0169254 -197.50 57.50 147.50 0.0338977 -197.50 57.50 152.50 0.0885528 -197.50 57.50 157.50 0.220749 -197.50 57.50 162.50 0.433036 -197.50 57.50 167.50 0.809533 -197.50 57.50 172.50 1.28426 -197.50 57.50 177.50 1.78362 -197.50 57.50 182.50 2.48319 -197.50 57.50 187.50 3.38839 -197.50 57.50 192.50 4.04575 -197.50 57.50 197.50 3.88467 -197.50 57.50 202.50 3.3656 -197.50 57.50 207.50 2.38044 -197.50 57.50 212.50 1.33187 -197.50 57.50 217.50 0.527503 -197.50 57.50 222.50 0.156568 -197.50 57.50 227.50 0.0411971 -197.50 57.50 232.50 0.0169255 -197.50 57.50 237.50 0.0338978 -197.50 57.50 242.50 0.0885529 -197.50 57.50 247.50 0.220749 -197.50 57.50 252.50 0.433037 -197.50 57.50 257.50 0.809534 -197.50 57.50 262.50 1.28426 -197.50 57.50 267.50 1.78362 -197.50 57.50 272.50 2.48318 -197.50 57.50 277.50 3.38839 -197.50 57.50 282.50 4.04575 -197.50 57.50 287.50 3.88467 -197.50 57.50 292.50 3.3656 -197.50 57.50 297.50 2.38044 -197.50 57.50 302.50 1.33187 -197.50 57.50 307.50 0.527504 -197.50 57.50 312.50 0.156568 -197.50 57.50 317.50 0.0411971 -197.50 57.50 322.50 0.0169254 -197.50 57.50 327.50 0.0338977 -197.50 57.50 332.50 0.0885527 -197.50 57.50 337.50 0.220748 -197.50 57.50 342.50 0.433035 -197.50 57.50 347.50 0.809532 -197.50 57.50 352.50 1.28426 -197.50 57.50 357.50 1.78361 -197.50 62.50 2.50 1.91896 -197.50 62.50 7.50 2.88022 -197.50 62.50 12.50 3.61387 -197.50 62.50 17.50 3.7508 -197.50 62.50 22.50 3.52931 -197.50 62.50 27.50 2.72954 -197.50 62.50 32.50 1.58341 -197.50 62.50 37.50 0.695812 -197.50 62.50 42.50 0.216973 -197.50 62.50 47.50 0.0430294 -197.50 62.50 52.50 0.0137646 -197.50 62.50 57.50 0.0237501 -197.50 62.50 62.50 0.0597004 -197.50 62.50 67.50 0.14401 -197.50 62.50 72.50 0.291627 -197.50 62.50 77.50 0.544237 -197.50 62.50 82.50 0.940372 -197.50 62.50 87.50 1.34853 -197.50 62.50 92.50 1.91896 -197.50 62.50 97.50 2.88022 -197.50 62.50 102.50 3.61387 -197.50 62.50 107.50 3.7508 -197.50 62.50 112.50 3.52931 -197.50 62.50 117.50 2.72954 -197.50 62.50 122.50 1.58341 -197.50 62.50 127.50 0.695811 -197.50 62.50 132.50 0.216973 -197.50 62.50 137.50 0.0430295 -197.50 62.50 142.50 0.0137646 -197.50 62.50 147.50 0.0237501 -197.50 62.50 152.50 0.0597003 -197.50 62.50 157.50 0.144009 -197.50 62.50 162.50 0.291627 -197.50 62.50 167.50 0.544237 -197.50 62.50 172.50 0.940372 -197.50 62.50 177.50 1.34853 -197.50 62.50 182.50 1.91896 -197.50 62.50 187.50 2.88022 -197.50 62.50 192.50 3.61386 -197.50 62.50 197.50 3.7508 -197.50 62.50 202.50 3.52931 -197.50 62.50 207.50 2.72954 -197.50 62.50 212.50 1.58341 -197.50 62.50 217.50 0.695812 -197.50 62.50 222.50 0.216973 -197.50 62.50 227.50 0.0430296 -197.50 62.50 232.50 0.0137646 -197.50 62.50 237.50 0.0237501 -197.50 62.50 242.50 0.0597005 -197.50 62.50 247.50 0.14401 -197.50 62.50 252.50 0.291627 -197.50 62.50 257.50 0.544238 -197.50 62.50 262.50 0.940373 -197.50 62.50 267.50 1.34853 -197.50 62.50 272.50 1.91896 -197.50 62.50 277.50 2.88022 -197.50 62.50 282.50 3.61387 -197.50 62.50 287.50 3.7508 -197.50 62.50 292.50 3.52931 -197.50 62.50 297.50 2.72954 -197.50 62.50 302.50 1.58342 -197.50 62.50 307.50 0.695812 -197.50 62.50 312.50 0.216973 -197.50 62.50 317.50 0.0430296 -197.50 62.50 322.50 0.0137647 -197.50 62.50 327.50 0.02375 -197.50 62.50 332.50 0.0597003 -197.50 62.50 337.50 0.144009 -197.50 62.50 342.50 0.291626 -197.50 62.50 347.50 0.544237 -197.50 62.50 352.50 0.940371 -197.50 62.50 357.50 1.34853 -197.50 67.50 2.50 1.46987 -197.50 67.50 7.50 2.3144 -197.50 67.50 12.50 3.03827 -197.50 67.50 17.50 3.35199 -197.50 67.50 22.50 3.25018 -197.50 67.50 27.50 2.54594 -197.50 67.50 32.50 1.51121 -197.50 67.50 37.50 0.725309 -197.50 67.50 42.50 0.264226 -197.50 67.50 47.50 0.0679237 -197.50 67.50 52.50 0.0169017 -197.50 67.50 57.50 0.0210163 -197.50 67.50 62.50 0.0433063 -197.50 67.50 67.50 0.0988994 -197.50 67.50 72.50 0.240279 -197.50 67.50 77.50 0.423829 -197.50 67.50 82.50 0.7169 -197.50 67.50 87.50 1.02875 -197.50 67.50 92.50 1.46987 -197.50 67.50 97.50 2.3144 -197.50 67.50 102.50 3.03827 -197.50 67.50 107.50 3.35198 -197.50 67.50 112.50 3.25018 -197.50 67.50 117.50 2.54594 -197.50 67.50 122.50 1.51121 -197.50 67.50 127.50 0.725308 -197.50 67.50 132.50 0.264226 -197.50 67.50 137.50 0.0679237 -197.50 67.50 142.50 0.0169017 -197.50 67.50 147.50 0.0210163 -197.50 67.50 152.50 0.0433062 -197.50 67.50 157.50 0.0988993 -197.50 67.50 162.50 0.240279 -197.50 67.50 167.50 0.423829 -197.50 67.50 172.50 0.7169 -197.50 67.50 177.50 1.02875 -197.50 67.50 182.50 1.46987 -197.50 67.50 187.50 2.3144 -197.50 67.50 192.50 3.03827 -197.50 67.50 197.50 3.35198 -197.50 67.50 202.50 3.25018 -197.50 67.50 207.50 2.54594 -197.50 67.50 212.50 1.51121 -197.50 67.50 217.50 0.72531 -197.50 67.50 222.50 0.264226 -197.50 67.50 227.50 0.0679238 -197.50 67.50 232.50 0.0169017 -197.50 67.50 237.50 0.0210164 -197.50 67.50 242.50 0.0433063 -197.50 67.50 247.50 0.0988996 -197.50 67.50 252.50 0.24028 -197.50 67.50 257.50 0.42383 -197.50 67.50 262.50 0.716901 -197.50 67.50 267.50 1.02875 -197.50 67.50 272.50 1.46987 -197.50 67.50 277.50 2.3144 -197.50 67.50 282.50 3.03827 -197.50 67.50 287.50 3.35198 -197.50 67.50 292.50 3.25018 -197.50 67.50 297.50 2.54594 -197.50 67.50 302.50 1.51121 -197.50 67.50 307.50 0.72531 -197.50 67.50 312.50 0.264226 -197.50 67.50 317.50 0.0679238 -197.50 67.50 322.50 0.0169017 -197.50 67.50 327.50 0.0210163 -197.50 67.50 332.50 0.0433062 -197.50 67.50 337.50 0.0988993 -197.50 67.50 342.50 0.240279 -197.50 67.50 347.50 0.423829 -197.50 67.50 352.50 0.716899 -197.50 67.50 357.50 1.02875 -197.50 72.50 2.50 1.04451 -197.50 72.50 7.50 1.66728 -197.50 72.50 12.50 2.3662 -197.50 72.50 17.50 2.71154 -197.50 72.50 22.50 2.58171 -197.50 72.50 27.50 1.94417 -197.50 72.50 32.50 1.24363 -197.50 72.50 37.50 0.617899 -197.50 72.50 42.50 0.238278 -197.50 72.50 47.50 0.068917 -197.50 72.50 52.50 0.0191545 -197.50 72.50 57.50 0.0195902 -197.50 72.50 62.50 0.0527093 -197.50 72.50 67.50 0.107708 -197.50 72.50 72.50 0.22959 -197.50 72.50 77.50 0.406102 -197.50 72.50 82.50 0.570906 -197.50 72.50 87.50 0.759542 -197.50 72.50 92.50 1.04451 -197.50 72.50 97.50 1.66728 -197.50 72.50 102.50 2.3662 -197.50 72.50 107.50 2.71154 -197.50 72.50 112.50 2.58172 -197.50 72.50 117.50 1.94417 -197.50 72.50 122.50 1.24363 -197.50 72.50 127.50 0.617899 -197.50 72.50 132.50 0.238278 -197.50 72.50 137.50 0.068917 -197.50 72.50 142.50 0.0191545 -197.50 72.50 147.50 0.0195902 -197.50 72.50 152.50 0.0527093 -197.50 72.50 157.50 0.107708 -197.50 72.50 162.50 0.22959 -197.50 72.50 167.50 0.406102 -197.50 72.50 172.50 0.570906 -197.50 72.50 177.50 0.759542 -197.50 72.50 182.50 1.04451 -197.50 72.50 187.50 1.66728 -197.50 72.50 192.50 2.3662 -197.50 72.50 197.50 2.71154 -197.50 72.50 202.50 2.58171 -197.50 72.50 207.50 1.94417 -197.50 72.50 212.50 1.24363 -197.50 72.50 217.50 0.617899 -197.50 72.50 222.50 0.238278 -197.50 72.50 227.50 0.068917 -197.50 72.50 232.50 0.0191544 -197.50 72.50 237.50 0.0195902 -197.50 72.50 242.50 0.0527095 -197.50 72.50 247.50 0.107708 -197.50 72.50 252.50 0.22959 -197.50 72.50 257.50 0.406103 -197.50 72.50 262.50 0.570906 -197.50 72.50 267.50 0.759542 -197.50 72.50 272.50 1.04451 -197.50 72.50 277.50 1.66728 -197.50 72.50 282.50 2.3662 -197.50 72.50 287.50 2.71154 -197.50 72.50 292.50 2.58171 -197.50 72.50 297.50 1.94417 -197.50 72.50 302.50 1.24363 -197.50 72.50 307.50 0.617899 -197.50 72.50 312.50 0.238278 -197.50 72.50 317.50 0.068917 -197.50 72.50 322.50 0.0191545 -197.50 72.50 327.50 0.0195902 -197.50 72.50 332.50 0.0527093 -197.50 72.50 337.50 0.107708 -197.50 72.50 342.50 0.229589 -197.50 72.50 347.50 0.406102 -197.50 72.50 352.50 0.570906 -197.50 72.50 357.50 0.759542 -197.50 77.50 2.50 0.6554 -197.50 77.50 7.50 1.09969 -197.50 77.50 12.50 1.54179 -197.50 77.50 17.50 1.8355 -197.50 77.50 22.50 1.66899 -197.50 77.50 27.50 1.26046 -197.50 77.50 32.50 0.844981 -197.50 77.50 37.50 0.456396 -197.50 77.50 42.50 0.189234 -197.50 77.50 47.50 0.0705296 -197.50 77.50 52.50 0.0243951 -197.50 77.50 57.50 0.0230554 -197.50 77.50 62.50 0.0495344 -197.50 77.50 67.50 0.115984 -197.50 77.50 72.50 0.213 -197.50 77.50 77.50 0.363064 -197.50 77.50 82.50 0.446928 -197.50 77.50 87.50 0.515123 -197.50 77.50 92.50 0.6554 -197.50 77.50 97.50 1.09969 -197.50 77.50 102.50 1.54179 -197.50 77.50 107.50 1.8355 -197.50 77.50 112.50 1.669 -197.50 77.50 117.50 1.26046 -197.50 77.50 122.50 0.84498 -197.50 77.50 127.50 0.456396 -197.50 77.50 132.50 0.189233 -197.50 77.50 137.50 0.0705296 -197.50 77.50 142.50 0.0243952 -197.50 77.50 147.50 0.0230554 -197.50 77.50 152.50 0.0495343 -197.50 77.50 157.50 0.115984 -197.50 77.50 162.50 0.213 -197.50 77.50 167.50 0.363064 -197.50 77.50 172.50 0.446928 -197.50 77.50 177.50 0.515124 -197.50 77.50 182.50 0.655401 -197.50 77.50 187.50 1.09969 -197.50 77.50 192.50 1.54179 -197.50 77.50 197.50 1.8355 -197.50 77.50 202.50 1.66899 -197.50 77.50 207.50 1.26046 -197.50 77.50 212.50 0.84498 -197.50 77.50 217.50 0.456397 -197.50 77.50 222.50 0.189234 -197.50 77.50 227.50 0.0705297 -197.50 77.50 232.50 0.0243951 -197.50 77.50 237.50 0.0230554 -197.50 77.50 242.50 0.0495345 -197.50 77.50 247.50 0.115984 -197.50 77.50 252.50 0.213001 -197.50 77.50 257.50 0.363064 -197.50 77.50 262.50 0.446929 -197.50 77.50 267.50 0.515124 -197.50 77.50 272.50 0.655401 -197.50 77.50 277.50 1.09968 -197.50 77.50 282.50 1.54179 -197.50 77.50 287.50 1.8355 -197.50 77.50 292.50 1.66899 -197.50 77.50 297.50 1.26046 -197.50 77.50 302.50 0.844981 -197.50 77.50 307.50 0.456397 -197.50 77.50 312.50 0.189234 -197.50 77.50 317.50 0.0705298 -197.50 77.50 322.50 0.0243952 -197.50 77.50 327.50 0.0230554 -197.50 77.50 332.50 0.0495343 -197.50 77.50 337.50 0.115984 -197.50 77.50 342.50 0.213 -197.50 77.50 347.50 0.363064 -197.50 77.50 352.50 0.446928 -197.50 77.50 357.50 0.515123 -197.50 82.50 2.50 0.376554 -197.50 82.50 7.50 0.612695 -197.50 82.50 12.50 0.843313 -197.50 82.50 17.50 0.952143 -197.50 82.50 22.50 0.834678 -197.50 82.50 27.50 0.660442 -197.50 82.50 32.50 0.45187 -197.50 82.50 37.50 0.264102 -197.50 82.50 42.50 0.134074 -197.50 82.50 47.50 0.0546285 -197.50 82.50 52.50 0.0220597 -197.50 82.50 57.50 0.025875 -197.50 82.50 62.50 0.0616448 -197.50 82.50 67.50 0.128137 -197.50 82.50 72.50 0.220472 -197.50 82.50 77.50 0.281981 -197.50 82.50 82.50 0.333227 -197.50 82.50 87.50 0.348028 -197.50 82.50 92.50 0.376554 -197.50 82.50 97.50 0.612695 -197.50 82.50 102.50 0.843313 -197.50 82.50 107.50 0.952143 -197.50 82.50 112.50 0.834678 -197.50 82.50 117.50 0.660442 -197.50 82.50 122.50 0.45187 -197.50 82.50 127.50 0.264102 -197.50 82.50 132.50 0.134073 -197.50 82.50 137.50 0.0546285 -197.50 82.50 142.50 0.0220598 -197.50 82.50 147.50 0.025875 -197.50 82.50 152.50 0.0616447 -197.50 82.50 157.50 0.128137 -197.50 82.50 162.50 0.220472 -197.50 82.50 167.50 0.281981 -197.50 82.50 172.50 0.333228 -197.50 82.50 177.50 0.348028 -197.50 82.50 182.50 0.376554 -197.50 82.50 187.50 0.612695 -197.50 82.50 192.50 0.843313 -197.50 82.50 197.50 0.952144 -197.50 82.50 202.50 0.834679 -197.50 82.50 207.50 0.660442 -197.50 82.50 212.50 0.45187 -197.50 82.50 217.50 0.264102 -197.50 82.50 222.50 0.134073 -197.50 82.50 227.50 0.0546285 -197.50 82.50 232.50 0.0220597 -197.50 82.50 237.50 0.0258751 -197.50 82.50 242.50 0.0616448 -197.50 82.50 247.50 0.128138 -197.50 82.50 252.50 0.220472 -197.50 82.50 257.50 0.281981 -197.50 82.50 262.50 0.333228 -197.50 82.50 267.50 0.348027 -197.50 82.50 272.50 0.376554 -197.50 82.50 277.50 0.612695 -197.50 82.50 282.50 0.843313 -197.50 82.50 287.50 0.952143 -197.50 82.50 292.50 0.834678 -197.50 82.50 297.50 0.660442 -197.50 82.50 302.50 0.45187 -197.50 82.50 307.50 0.264102 -197.50 82.50 312.50 0.134073 -197.50 82.50 317.50 0.0546286 -197.50 82.50 322.50 0.0220598 -197.50 82.50 327.50 0.025875 -197.50 82.50 332.50 0.0616446 -197.50 82.50 337.50 0.128137 -197.50 82.50 342.50 0.220472 -197.50 82.50 347.50 0.281981 -197.50 82.50 352.50 0.333228 -197.50 82.50 357.50 0.348028 -197.50 87.50 2.50 0.210388 -197.50 87.50 7.50 0.284063 -197.50 87.50 12.50 0.377081 -197.50 87.50 17.50 0.42735 -197.50 87.50 22.50 0.364918 -197.50 87.50 27.50 0.277652 -197.50 87.50 32.50 0.212862 -197.50 87.50 37.50 0.14345 -197.50 87.50 42.50 0.0713344 -197.50 87.50 47.50 0.0282047 -197.50 87.50 52.50 0.0220956 -197.50 87.50 57.50 0.0401866 -197.50 87.50 62.50 0.068641 -197.50 87.50 67.50 0.116772 -197.50 87.50 72.50 0.22208 -197.50 87.50 77.50 0.330838 -197.50 87.50 82.50 0.290578 -197.50 87.50 87.50 0.216551 -197.50 87.50 92.50 0.210388 -197.50 87.50 97.50 0.284063 -197.50 87.50 102.50 0.377081 -197.50 87.50 107.50 0.42735 -197.50 87.50 112.50 0.364918 -197.50 87.50 117.50 0.277652 -197.50 87.50 122.50 0.212862 -197.50 87.50 127.50 0.14345 -197.50 87.50 132.50 0.0713344 -197.50 87.50 137.50 0.0282047 -197.50 87.50 142.50 0.0220956 -197.50 87.50 147.50 0.0401866 -197.50 87.50 152.50 0.0686409 -197.50 87.50 157.50 0.116772 -197.50 87.50 162.50 0.22208 -197.50 87.50 167.50 0.330838 -197.50 87.50 172.50 0.290578 -197.50 87.50 177.50 0.216551 -197.50 87.50 182.50 0.210388 -197.50 87.50 187.50 0.284063 -197.50 87.50 192.50 0.377082 -197.50 87.50 197.50 0.42735 -197.50 87.50 202.50 0.364918 -197.50 87.50 207.50 0.277652 -197.50 87.50 212.50 0.212862 -197.50 87.50 217.50 0.14345 -197.50 87.50 222.50 0.0713345 -197.50 87.50 227.50 0.0282048 -197.50 87.50 232.50 0.0220957 -197.50 87.50 237.50 0.0401867 -197.50 87.50 242.50 0.068641 -197.50 87.50 247.50 0.116772 -197.50 87.50 252.50 0.22208 -197.50 87.50 257.50 0.330838 -197.50 87.50 262.50 0.290578 -197.50 87.50 267.50 0.216551 -197.50 87.50 272.50 0.210388 -197.50 87.50 277.50 0.284063 -197.50 87.50 282.50 0.377082 -197.50 87.50 287.50 0.42735 -197.50 87.50 292.50 0.364918 -197.50 87.50 297.50 0.277652 -197.50 87.50 302.50 0.212862 -197.50 87.50 307.50 0.14345 -197.50 87.50 312.50 0.0713345 -197.50 87.50 317.50 0.0282048 -197.50 87.50 322.50 0.0220956 -197.50 87.50 327.50 0.0401866 -197.50 87.50 332.50 0.0686409 -197.50 87.50 337.50 0.116772 -197.50 87.50 342.50 0.22208 -197.50 87.50 347.50 0.330838 -197.50 87.50 352.50 0.290578 -197.50 87.50 357.50 0.216551 -197.50 92.50 2.50 0.149977 -197.50 92.50 7.50 0.172971 -197.50 92.50 12.50 0.230709 -197.50 92.50 17.50 0.244703 -197.50 92.50 22.50 0.200246 -197.50 92.50 27.50 0.151509 -197.50 92.50 32.50 0.120114 -197.50 92.50 37.50 0.080885 -197.50 92.50 42.50 0.0382171 -197.50 92.50 47.50 0.0202141 -197.50 92.50 52.50 0.0382171 -197.50 92.50 57.50 0.080885 -197.50 92.50 62.50 0.120114 -197.50 92.50 67.50 0.151509 -197.50 92.50 72.50 0.200246 -197.50 92.50 77.50 0.244704 -197.50 92.50 82.50 0.230709 -197.50 92.50 87.50 0.172972 -197.50 92.50 92.50 0.149977 -197.50 92.50 97.50 0.172972 -197.50 92.50 102.50 0.230709 -197.50 92.50 107.50 0.244703 -197.50 92.50 112.50 0.200246 -197.50 92.50 117.50 0.151509 -197.50 92.50 122.50 0.120114 -197.50 92.50 127.50 0.0808849 -197.50 92.50 132.50 0.0382171 -197.50 92.50 137.50 0.0202141 -197.50 92.50 142.50 0.0382171 -197.50 92.50 147.50 0.080885 -197.50 92.50 152.50 0.120114 -197.50 92.50 157.50 0.151509 -197.50 92.50 162.50 0.200246 -197.50 92.50 167.50 0.244704 -197.50 92.50 172.50 0.230709 -197.50 92.50 177.50 0.172972 -197.50 92.50 182.50 0.149977 -197.50 92.50 187.50 0.172972 -197.50 92.50 192.50 0.230709 -197.50 92.50 197.50 0.244704 -197.50 92.50 202.50 0.200246 -197.50 92.50 207.50 0.151509 -197.50 92.50 212.50 0.120114 -197.50 92.50 217.50 0.080885 -197.50 92.50 222.50 0.0382171 -197.50 92.50 227.50 0.0202141 -197.50 92.50 232.50 0.0382172 -197.50 92.50 237.50 0.0808851 -197.50 92.50 242.50 0.120114 -197.50 92.50 247.50 0.151509 -197.50 92.50 252.50 0.200246 -197.50 92.50 257.50 0.244704 -197.50 92.50 262.50 0.230709 -197.50 92.50 267.50 0.172972 -197.50 92.50 272.50 0.149977 -197.50 92.50 277.50 0.172972 -197.50 92.50 282.50 0.230709 -197.50 92.50 287.50 0.244704 -197.50 92.50 292.50 0.200246 -197.50 92.50 297.50 0.151509 -197.50 92.50 302.50 0.120114 -197.50 92.50 307.50 0.080885 -197.50 92.50 312.50 0.0382171 -197.50 92.50 317.50 0.0202141 -197.50 92.50 322.50 0.0382171 -197.50 92.50 327.50 0.0808849 -197.50 92.50 332.50 0.120114 -197.50 92.50 337.50 0.151509 -197.50 92.50 342.50 0.200246 -197.50 92.50 347.50 0.244703 -197.50 92.50 352.50 0.230709 -197.50 92.50 357.50 0.172972 -197.50 97.50 2.50 0.210389 -197.50 97.50 7.50 0.216551 -197.50 97.50 12.50 0.290578 -197.50 97.50 17.50 0.330838 -197.50 97.50 22.50 0.22208 -197.50 97.50 27.50 0.116772 -197.50 97.50 32.50 0.0686409 -197.50 97.50 37.50 0.0401866 -197.50 97.50 42.50 0.0220957 -197.50 97.50 47.50 0.0282048 -197.50 97.50 52.50 0.0713344 -197.50 97.50 57.50 0.14345 -197.50 97.50 62.50 0.212862 -197.50 97.50 67.50 0.277652 -197.50 97.50 72.50 0.364918 -197.50 97.50 77.50 0.42735 -197.50 97.50 82.50 0.377081 -197.50 97.50 87.50 0.284063 -197.50 97.50 92.50 0.210389 -197.50 97.50 97.50 0.216551 -197.50 97.50 102.50 0.290578 -197.50 97.50 107.50 0.330838 -197.50 97.50 112.50 0.22208 -197.50 97.50 117.50 0.116772 -197.50 97.50 122.50 0.0686409 -197.50 97.50 127.50 0.0401866 -197.50 97.50 132.50 0.0220956 -197.50 97.50 137.50 0.0282048 -197.50 97.50 142.50 0.0713344 -197.50 97.50 147.50 0.14345 -197.50 97.50 152.50 0.212862 -197.50 97.50 157.50 0.277652 -197.50 97.50 162.50 0.364918 -197.50 97.50 167.50 0.42735 -197.50 97.50 172.50 0.377082 -197.50 97.50 177.50 0.284063 -197.50 97.50 182.50 0.210389 -197.50 97.50 187.50 0.216551 -197.50 97.50 192.50 0.290578 -197.50 97.50 197.50 0.330838 -197.50 97.50 202.50 0.22208 -197.50 97.50 207.50 0.116772 -197.50 97.50 212.50 0.0686409 -197.50 97.50 217.50 0.0401866 -197.50 97.50 222.50 0.0220957 -197.50 97.50 227.50 0.0282047 -197.50 97.50 232.50 0.0713345 -197.50 97.50 237.50 0.14345 -197.50 97.50 242.50 0.212862 -197.50 97.50 247.50 0.277652 -197.50 97.50 252.50 0.364918 -197.50 97.50 257.50 0.42735 -197.50 97.50 262.50 0.377081 -197.50 97.50 267.50 0.284063 -197.50 97.50 272.50 0.210389 -197.50 97.50 277.50 0.216551 -197.50 97.50 282.50 0.290578 -197.50 97.50 287.50 0.330838 -197.50 97.50 292.50 0.22208 -197.50 97.50 297.50 0.116772 -197.50 97.50 302.50 0.068641 -197.50 97.50 307.50 0.0401866 -197.50 97.50 312.50 0.0220957 -197.50 97.50 317.50 0.0282047 -197.50 97.50 322.50 0.0713342 -197.50 97.50 327.50 0.14345 -197.50 97.50 332.50 0.212862 -197.50 97.50 337.50 0.277652 -197.50 97.50 342.50 0.364918 -197.50 97.50 347.50 0.42735 -197.50 97.50 352.50 0.377082 -197.50 97.50 357.50 0.284063 -197.50 102.50 2.50 0.376554 -197.50 102.50 7.50 0.348028 -197.50 102.50 12.50 0.333228 -197.50 102.50 17.50 0.281981 -197.50 102.50 22.50 0.220472 -197.50 102.50 27.50 0.128137 -197.50 102.50 32.50 0.0616447 -197.50 102.50 37.50 0.025875 -197.50 102.50 42.50 0.0220598 -197.50 102.50 47.50 0.0546285 -197.50 102.50 52.50 0.134074 -197.50 102.50 57.50 0.264102 -197.50 102.50 62.50 0.45187 -197.50 102.50 67.50 0.660442 -197.50 102.50 72.50 0.834679 -197.50 102.50 77.50 0.952143 -197.50 102.50 82.50 0.843313 -197.50 102.50 87.50 0.612695 -197.50 102.50 92.50 0.376554 -197.50 102.50 97.50 0.348027 -197.50 102.50 102.50 0.333228 -197.50 102.50 107.50 0.281981 -197.50 102.50 112.50 0.220472 -197.50 102.50 117.50 0.128137 -197.50 102.50 122.50 0.0616446 -197.50 102.50 127.50 0.025875 -197.50 102.50 132.50 0.0220598 -197.50 102.50 137.50 0.0546285 -197.50 102.50 142.50 0.134073 -197.50 102.50 147.50 0.264102 -197.50 102.50 152.50 0.45187 -197.50 102.50 157.50 0.660442 -197.50 102.50 162.50 0.834678 -197.50 102.50 167.50 0.952143 -197.50 102.50 172.50 0.843313 -197.50 102.50 177.50 0.612695 -197.50 102.50 182.50 0.376554 -197.50 102.50 187.50 0.348028 -197.50 102.50 192.50 0.333228 -197.50 102.50 197.50 0.281981 -197.50 102.50 202.50 0.220472 -197.50 102.50 207.50 0.128137 -197.50 102.50 212.50 0.0616447 -197.50 102.50 217.50 0.025875 -197.50 102.50 222.50 0.0220597 -197.50 102.50 227.50 0.0546285 -197.50 102.50 232.50 0.134074 -197.50 102.50 237.50 0.264102 -197.50 102.50 242.50 0.45187 -197.50 102.50 247.50 0.660442 -197.50 102.50 252.50 0.834678 -197.50 102.50 257.50 0.952143 -197.50 102.50 262.50 0.843313 -197.50 102.50 267.50 0.612695 -197.50 102.50 272.50 0.376554 -197.50 102.50 277.50 0.348028 -197.50 102.50 282.50 0.333228 -197.50 102.50 287.50 0.281981 -197.50 102.50 292.50 0.220472 -197.50 102.50 297.50 0.128137 -197.50 102.50 302.50 0.0616448 -197.50 102.50 307.50 0.025875 -197.50 102.50 312.50 0.0220598 -197.50 102.50 317.50 0.0546284 -197.50 102.50 322.50 0.134073 -197.50 102.50 327.50 0.264102 -197.50 102.50 332.50 0.451869 -197.50 102.50 337.50 0.660441 -197.50 102.50 342.50 0.834678 -197.50 102.50 347.50 0.952143 -197.50 102.50 352.50 0.843313 -197.50 102.50 357.50 0.612695 -197.50 107.50 2.50 0.655401 -197.50 107.50 7.50 0.515123 -197.50 107.50 12.50 0.446929 -197.50 107.50 17.50 0.363064 -197.50 107.50 22.50 0.213 -197.50 107.50 27.50 0.115984 -197.50 107.50 32.50 0.0495343 -197.50 107.50 37.50 0.0230554 -197.50 107.50 42.50 0.0243952 -197.50 107.50 47.50 0.0705298 -197.50 107.50 52.50 0.189234 -197.50 107.50 57.50 0.456397 -197.50 107.50 62.50 0.844981 -197.50 107.50 67.50 1.26047 -197.50 107.50 72.50 1.669 -197.50 107.50 77.50 1.8355 -197.50 107.50 82.50 1.54179 -197.50 107.50 87.50 1.09968 -197.50 107.50 92.50 0.655401 -197.50 107.50 97.50 0.515123 -197.50 107.50 102.50 0.446928 -197.50 107.50 107.50 0.363064 -197.50 107.50 112.50 0.213 -197.50 107.50 117.50 0.115984 -197.50 107.50 122.50 0.0495343 -197.50 107.50 127.50 0.0230554 -197.50 107.50 132.50 0.0243952 -197.50 107.50 137.50 0.0705298 -197.50 107.50 142.50 0.189234 -197.50 107.50 147.50 0.456397 -197.50 107.50 152.50 0.844981 -197.50 107.50 157.50 1.26046 -197.50 107.50 162.50 1.66899 -197.50 107.50 167.50 1.8355 -197.50 107.50 172.50 1.54179 -197.50 107.50 177.50 1.09969 -197.50 107.50 182.50 0.655401 -197.50 107.50 187.50 0.515123 -197.50 107.50 192.50 0.446928 -197.50 107.50 197.50 0.363064 -197.50 107.50 202.50 0.213 -197.50 107.50 207.50 0.115984 -197.50 107.50 212.50 0.0495343 -197.50 107.50 217.50 0.0230554 -197.50 107.50 222.50 0.0243951 -197.50 107.50 227.50 0.0705297 -197.50 107.50 232.50 0.189234 -197.50 107.50 237.50 0.456397 -197.50 107.50 242.50 0.844981 -197.50 107.50 247.50 1.26046 -197.50 107.50 252.50 1.669 -197.50 107.50 257.50 1.8355 -197.50 107.50 262.50 1.54179 -197.50 107.50 267.50 1.09968 -197.50 107.50 272.50 0.655401 -197.50 107.50 277.50 0.515124 -197.50 107.50 282.50 0.446929 -197.50 107.50 287.50 0.363064 -197.50 107.50 292.50 0.213 -197.50 107.50 297.50 0.115984 -197.50 107.50 302.50 0.0495344 -197.50 107.50 307.50 0.0230554 -197.50 107.50 312.50 0.0243951 -197.50 107.50 317.50 0.0705296 -197.50 107.50 322.50 0.189233 -197.50 107.50 327.50 0.456396 -197.50 107.50 332.50 0.844979 -197.50 107.50 337.50 1.26046 -197.50 107.50 342.50 1.66899 -197.50 107.50 347.50 1.83551 -197.50 107.50 352.50 1.54179 -197.50 107.50 357.50 1.09969 -197.50 112.50 2.50 1.04451 -197.50 112.50 7.50 0.759542 -197.50 112.50 12.50 0.570906 -197.50 112.50 17.50 0.406103 -197.50 112.50 22.50 0.22959 -197.50 112.50 27.50 0.107708 -197.50 112.50 32.50 0.0527094 -197.50 112.50 37.50 0.0195902 -197.50 112.50 42.50 0.0191545 -197.50 112.50 47.50 0.0689171 -197.50 112.50 52.50 0.238278 -197.50 112.50 57.50 0.617899 -197.50 112.50 62.50 1.24363 -197.50 112.50 67.50 1.94417 -197.50 112.50 72.50 2.58171 -197.50 112.50 77.50 2.71154 -197.50 112.50 82.50 2.3662 -197.50 112.50 87.50 1.66728 -197.50 112.50 92.50 1.04451 -197.50 112.50 97.50 0.759542 -197.50 112.50 102.50 0.570906 -197.50 112.50 107.50 0.406102 -197.50 112.50 112.50 0.22959 -197.50 112.50 117.50 0.107708 -197.50 112.50 122.50 0.0527094 -197.50 112.50 127.50 0.0195902 -197.50 112.50 132.50 0.0191545 -197.50 112.50 137.50 0.0689171 -197.50 112.50 142.50 0.238278 -197.50 112.50 147.50 0.617899 -197.50 112.50 152.50 1.24363 -197.50 112.50 157.50 1.94417 -197.50 112.50 162.50 2.58171 -197.50 112.50 167.50 2.71154 -197.50 112.50 172.50 2.3662 -197.50 112.50 177.50 1.66728 -197.50 112.50 182.50 1.04451 -197.50 112.50 187.50 0.759542 -197.50 112.50 192.50 0.570906 -197.50 112.50 197.50 0.406103 -197.50 112.50 202.50 0.22959 -197.50 112.50 207.50 0.107708 -197.50 112.50 212.50 0.0527094 -197.50 112.50 217.50 0.0195902 -197.50 112.50 222.50 0.0191545 -197.50 112.50 227.50 0.0689169 -197.50 112.50 232.50 0.238279 -197.50 112.50 237.50 0.617899 -197.50 112.50 242.50 1.24363 -197.50 112.50 247.50 1.94417 -197.50 112.50 252.50 2.58171 -197.50 112.50 257.50 2.71154 -197.50 112.50 262.50 2.3662 -197.50 112.50 267.50 1.66728 -197.50 112.50 272.50 1.04451 -197.50 112.50 277.50 0.759542 -197.50 112.50 282.50 0.570906 -197.50 112.50 287.50 0.406103 -197.50 112.50 292.50 0.22959 -197.50 112.50 297.50 0.107708 -197.50 112.50 302.50 0.0527094 -197.50 112.50 307.50 0.0195902 -197.50 112.50 312.50 0.0191545 -197.50 112.50 317.50 0.0689169 -197.50 112.50 322.50 0.238277 -197.50 112.50 327.50 0.617898 -197.50 112.50 332.50 1.24363 -197.50 112.50 337.50 1.94417 -197.50 112.50 342.50 2.58171 -197.50 112.50 347.50 2.71155 -197.50 112.50 352.50 2.36621 -197.50 112.50 357.50 1.66728 -197.50 117.50 2.50 1.46987 -197.50 117.50 7.50 1.02875 -197.50 117.50 12.50 0.7169 -197.50 117.50 17.50 0.423829 -197.50 117.50 22.50 0.240279 -197.50 117.50 27.50 0.0988994 -197.50 117.50 32.50 0.0433063 -197.50 117.50 37.50 0.0210163 -197.50 117.50 42.50 0.0169017 -197.50 117.50 47.50 0.0679238 -197.50 117.50 52.50 0.264227 -197.50 117.50 57.50 0.725311 -197.50 117.50 62.50 1.51121 -197.50 117.50 67.50 2.54594 -197.50 117.50 72.50 3.25018 -197.50 117.50 77.50 3.35199 -197.50 117.50 82.50 3.03827 -197.50 117.50 87.50 2.3144 -197.50 117.50 92.50 1.46987 -197.50 117.50 97.50 1.02875 -197.50 117.50 102.50 0.7169 -197.50 117.50 107.50 0.423829 -197.50 117.50 112.50 0.240279 -197.50 117.50 117.50 0.0988993 -197.50 117.50 122.50 0.0433062 -197.50 117.50 127.50 0.0210163 -197.50 117.50 132.50 0.0169017 -197.50 117.50 137.50 0.0679238 -197.50 117.50 142.50 0.264226 -197.50 117.50 147.50 0.72531 -197.50 117.50 152.50 1.51121 -197.50 117.50 157.50 2.54594 -197.50 117.50 162.50 3.25018 -197.50 117.50 167.50 3.35199 -197.50 117.50 172.50 3.03827 -197.50 117.50 177.50 2.3144 -197.50 117.50 182.50 1.46987 -197.50 117.50 187.50 1.02875 -197.50 117.50 192.50 0.7169 -197.50 117.50 197.50 0.423829 -197.50 117.50 202.50 0.240279 -197.50 117.50 207.50 0.0988994 -197.50 117.50 212.50 0.0433063 -197.50 117.50 217.50 0.0210163 -197.50 117.50 222.50 0.0169017 -197.50 117.50 227.50 0.0679236 -197.50 117.50 232.50 0.264226 -197.50 117.50 237.50 0.725311 -197.50 117.50 242.50 1.51121 -197.50 117.50 247.50 2.54594 -197.50 117.50 252.50 3.25018 -197.50 117.50 257.50 3.35199 -197.50 117.50 262.50 3.03826 -197.50 117.50 267.50 2.3144 -197.50 117.50 272.50 1.46987 -197.50 117.50 277.50 1.02875 -197.50 117.50 282.50 0.716901 -197.50 117.50 287.50 0.423829 -197.50 117.50 292.50 0.240279 -197.50 117.50 297.50 0.0988995 -197.50 117.50 302.50 0.0433063 -197.50 117.50 307.50 0.0210163 -197.50 117.50 312.50 0.0169017 -197.50 117.50 317.50 0.0679236 -197.50 117.50 322.50 0.264226 -197.50 117.50 327.50 0.725308 -197.50 117.50 332.50 1.51121 -197.50 117.50 337.50 2.54594 -197.50 117.50 342.50 3.25018 -197.50 117.50 347.50 3.35199 -197.50 117.50 352.50 3.03827 -197.50 117.50 357.50 2.3144 -197.50 122.50 2.50 1.91896 -197.50 122.50 7.50 1.34853 -197.50 122.50 12.50 0.940372 -197.50 122.50 17.50 0.544238 -197.50 122.50 22.50 0.291627 -197.50 122.50 27.50 0.144009 -197.50 122.50 32.50 0.0597003 -197.50 122.50 37.50 0.02375 -197.50 122.50 42.50 0.0137646 -197.50 122.50 47.50 0.0430295 -197.50 122.50 52.50 0.216973 -197.50 122.50 57.50 0.695812 -197.50 122.50 62.50 1.58342 -197.50 122.50 67.50 2.72954 -197.50 122.50 72.50 3.52931 -197.50 122.50 77.50 3.7508 -197.50 122.50 82.50 3.61387 -197.50 122.50 87.50 2.88022 -197.50 122.50 92.50 1.91896 -197.50 122.50 97.50 1.34853 -197.50 122.50 102.50 0.940372 -197.50 122.50 107.50 0.544237 -197.50 122.50 112.50 0.291627 -197.50 122.50 117.50 0.144009 -197.50 122.50 122.50 0.0597003 -197.50 122.50 127.50 0.02375 -197.50 122.50 132.50 0.0137647 -197.50 122.50 137.50 0.0430295 -197.50 122.50 142.50 0.216973 -197.50 122.50 147.50 0.695812 -197.50 122.50 152.50 1.58341 -197.50 122.50 157.50 2.72954 -197.50 122.50 162.50 3.52931 -197.50 122.50 167.50 3.7508 -197.50 122.50 172.50 3.61387 -197.50 122.50 177.50 2.88023 -197.50 122.50 182.50 1.91896 -197.50 122.50 187.50 1.34853 -197.50 122.50 192.50 0.940372 -197.50 122.50 197.50 0.544237 -197.50 122.50 202.50 0.291627 -197.50 122.50 207.50 0.144009 -197.50 122.50 212.50 0.0597004 -197.50 122.50 217.50 0.02375 -197.50 122.50 222.50 0.0137646 -197.50 122.50 227.50 0.0430294 -197.50 122.50 232.50 0.216973 -197.50 122.50 237.50 0.695812 -197.50 122.50 242.50 1.58342 -197.50 122.50 247.50 2.72954 -197.50 122.50 252.50 3.52931 -197.50 122.50 257.50 3.7508 -197.50 122.50 262.50 3.61386 -197.50 122.50 267.50 2.88022 -197.50 122.50 272.50 1.91896 -197.50 122.50 277.50 1.34853 -197.50 122.50 282.50 0.940372 -197.50 122.50 287.50 0.544238 -197.50 122.50 292.50 0.291627 -197.50 122.50 297.50 0.14401 -197.50 122.50 302.50 0.0597005 -197.50 122.50 307.50 0.0237501 -197.50 122.50 312.50 0.0137646 -197.50 122.50 317.50 0.0430293 -197.50 122.50 322.50 0.216972 -197.50 122.50 327.50 0.69581 -197.50 122.50 332.50 1.58341 -197.50 122.50 337.50 2.72954 -197.50 122.50 342.50 3.52931 -197.50 122.50 347.50 3.7508 -197.50 122.50 352.50 3.61387 -197.50 122.50 357.50 2.88023 -197.50 127.50 2.50 2.48318 -197.50 127.50 7.50 1.78362 -197.50 127.50 12.50 1.28426 -197.50 127.50 17.50 0.809533 -197.50 127.50 22.50 0.433036 -197.50 127.50 27.50 0.220749 -197.50 127.50 32.50 0.0885527 -197.50 127.50 37.50 0.0338978 -197.50 127.50 42.50 0.0169254 -197.50 127.50 47.50 0.0411971 -197.50 127.50 52.50 0.156568 -197.50 127.50 57.50 0.527503 -197.50 127.50 62.50 1.33187 -197.50 127.50 67.50 2.38044 -197.50 127.50 72.50 3.3656 -197.50 127.50 77.50 3.88467 -197.50 127.50 82.50 4.04575 -197.50 127.50 87.50 3.38839 -197.50 127.50 92.50 2.48318 -197.50 127.50 97.50 1.78362 -197.50 127.50 102.50 1.28426 -197.50 127.50 107.50 0.809533 -197.50 127.50 112.50 0.433036 -197.50 127.50 117.50 0.220748 -197.50 127.50 122.50 0.0885527 -197.50 127.50 127.50 0.0338978 -197.50 127.50 132.50 0.0169254 -197.50 127.50 137.50 0.0411971 -197.50 127.50 142.50 0.156568 -197.50 127.50 147.50 0.527503 -197.50 127.50 152.50 1.33187 -197.50 127.50 157.50 2.38044 -197.50 127.50 162.50 3.3656 -197.50 127.50 167.50 3.88467 -197.50 127.50 172.50 4.04576 -197.50 127.50 177.50 3.38839 -197.50 127.50 182.50 2.48318 -197.50 127.50 187.50 1.78362 -197.50 127.50 192.50 1.28426 -197.50 127.50 197.50 0.809533 -197.50 127.50 202.50 0.433036 -197.50 127.50 207.50 0.220749 -197.50 127.50 212.50 0.0885527 -197.50 127.50 217.50 0.0338978 -197.50 127.50 222.50 0.0169254 -197.50 127.50 227.50 0.041197 -197.50 127.50 232.50 0.156569 -197.50 127.50 237.50 0.527503 -197.50 127.50 242.50 1.33187 -197.50 127.50 247.50 2.38044 -197.50 127.50 252.50 3.3656 -197.50 127.50 257.50 3.88467 -197.50 127.50 262.50 4.04575 -197.50 127.50 267.50 3.38839 -197.50 127.50 272.50 2.48318 -197.50 127.50 277.50 1.78362 -197.50 127.50 282.50 1.28426 -197.50 127.50 287.50 0.809533 -197.50 127.50 292.50 0.433036 -197.50 127.50 297.50 0.220749 -197.50 127.50 302.50 0.0885528 -197.50 127.50 307.50 0.0338978 -197.50 127.50 312.50 0.0169254 -197.50 127.50 317.50 0.041197 -197.50 127.50 322.50 0.156568 -197.50 127.50 327.50 0.527502 -197.50 127.50 332.50 1.33187 -197.50 127.50 337.50 2.38044 -197.50 127.50 342.50 3.3656 -197.50 127.50 347.50 3.88467 -197.50 127.50 352.50 4.04575 -197.50 127.50 357.50 3.38839 -197.50 132.50 2.50 3.07557 -197.50 132.50 7.50 2.27987 -197.50 132.50 12.50 1.70748 -197.50 132.50 17.50 1.13723 -197.50 132.50 22.50 0.620533 -197.50 132.50 27.50 0.295443 -197.50 132.50 32.50 0.111763 -197.50 132.50 37.50 0.0480407 -197.50 132.50 42.50 0.0245617 -197.50 132.50 47.50 0.0300595 -197.50 132.50 52.50 0.110702 -197.50 132.50 57.50 0.379218 -197.50 132.50 62.50 0.887787 -197.50 132.50 67.50 1.81342 -197.50 132.50 72.50 2.82692 -197.50 132.50 77.50 3.70354 -197.50 132.50 82.50 4.13483 -197.50 132.50 87.50 3.78144 -197.50 132.50 92.50 3.07557 -197.50 132.50 97.50 2.27987 -197.50 132.50 102.50 1.70748 -197.50 132.50 107.50 1.13723 -197.50 132.50 112.50 0.620533 -197.50 132.50 117.50 0.295442 -197.50 132.50 122.50 0.111763 -197.50 132.50 127.50 0.0480407 -197.50 132.50 132.50 0.0245617 -197.50 132.50 137.50 0.0300595 -197.50 132.50 142.50 0.110702 -197.50 132.50 147.50 0.379218 -197.50 132.50 152.50 0.887786 -197.50 132.50 157.50 1.81342 -197.50 132.50 162.50 2.82692 -197.50 132.50 167.50 3.70354 -197.50 132.50 172.50 4.13483 -197.50 132.50 177.50 3.78144 -197.50 132.50 182.50 3.07557 -197.50 132.50 187.50 2.27987 -197.50 132.50 192.50 1.70748 -197.50 132.50 197.50 1.13723 -197.50 132.50 202.50 0.620533 -197.50 132.50 207.50 0.295442 -197.50 132.50 212.50 0.111763 -197.50 132.50 217.50 0.0480407 -197.50 132.50 222.50 0.0245617 -197.50 132.50 227.50 0.0300594 -197.50 132.50 232.50 0.110702 -197.50 132.50 237.50 0.379219 -197.50 132.50 242.50 0.887787 -197.50 132.50 247.50 1.81342 -197.50 132.50 252.50 2.82692 -197.50 132.50 257.50 3.70354 -197.50 132.50 262.50 4.13483 -197.50 132.50 267.50 3.78144 -197.50 132.50 272.50 3.07557 -197.50 132.50 277.50 2.27987 -197.50 132.50 282.50 1.70748 -197.50 132.50 287.50 1.13723 -197.50 132.50 292.50 0.620534 -197.50 132.50 297.50 0.295443 -197.50 132.50 302.50 0.111763 -197.50 132.50 307.50 0.0480408 -197.50 132.50 312.50 0.0245618 -197.50 132.50 317.50 0.0300594 -197.50 132.50 322.50 0.110701 -197.50 132.50 327.50 0.379217 -197.50 132.50 332.50 0.887785 -197.50 132.50 337.50 1.81342 -197.50 132.50 342.50 2.82691 -197.50 132.50 347.50 3.70354 -197.50 132.50 352.50 4.13483 -197.50 132.50 357.50 3.78144 -197.50 137.50 2.50 3.34429 -197.50 137.50 7.50 2.66415 -197.50 137.50 12.50 2.09945 -197.50 137.50 17.50 1.48139 -197.50 137.50 22.50 0.832349 -197.50 137.50 27.50 0.359979 -197.50 137.50 32.50 0.149389 -197.50 137.50 37.50 0.0535264 -197.50 137.50 42.50 0.0197802 -197.50 137.50 47.50 0.0259854 -197.50 137.50 52.50 0.0674384 -197.50 137.50 57.50 0.213095 -197.50 137.50 62.50 0.535989 -197.50 137.50 67.50 1.22004 -197.50 137.50 72.50 2.1993 -197.50 137.50 77.50 3.14533 -197.50 137.50 82.50 3.76021 -197.50 137.50 87.50 3.8114 -197.50 137.50 92.50 3.34429 -197.50 137.50 97.50 2.66415 -197.50 137.50 102.50 2.09945 -197.50 137.50 107.50 1.48139 -197.50 137.50 112.50 0.832349 -197.50 137.50 117.50 0.359978 -197.50 137.50 122.50 0.149389 -197.50 137.50 127.50 0.0535263 -197.50 137.50 132.50 0.0197802 -197.50 137.50 137.50 0.0259854 -197.50 137.50 142.50 0.0674385 -197.50 137.50 147.50 0.213095 -197.50 137.50 152.50 0.535989 -197.50 137.50 157.50 1.22003 -197.50 137.50 162.50 2.1993 -197.50 137.50 167.50 3.14533 -197.50 137.50 172.50 3.76021 -197.50 137.50 177.50 3.8114 -197.50 137.50 182.50 3.34429 -197.50 137.50 187.50 2.66415 -197.50 137.50 192.50 2.09945 -197.50 137.50 197.50 1.48139 -197.50 137.50 202.50 0.832349 -197.50 137.50 207.50 0.359979 -197.50 137.50 212.50 0.149389 -197.50 137.50 217.50 0.0535264 -197.50 137.50 222.50 0.0197802 -197.50 137.50 227.50 0.0259854 -197.50 137.50 232.50 0.0674386 -197.50 137.50 237.50 0.213095 -197.50 137.50 242.50 0.535989 -197.50 137.50 247.50 1.22004 -197.50 137.50 252.50 2.1993 -197.50 137.50 257.50 3.14533 -197.50 137.50 262.50 3.76021 -197.50 137.50 267.50 3.8114 -197.50 137.50 272.50 3.34429 -197.50 137.50 277.50 2.66415 -197.50 137.50 282.50 2.09946 -197.50 137.50 287.50 1.48139 -197.50 137.50 292.50 0.83235 -197.50 137.50 297.50 0.359979 -197.50 137.50 302.50 0.149389 -197.50 137.50 307.50 0.0535264 -197.50 137.50 312.50 0.0197802 -197.50 137.50 317.50 0.0259854 -197.50 137.50 322.50 0.0674382 -197.50 137.50 327.50 0.213094 -197.50 137.50 332.50 0.535988 -197.50 137.50 337.50 1.22003 -197.50 137.50 342.50 2.1993 -197.50 137.50 347.50 3.14533 -197.50 137.50 352.50 3.76021 -197.50 137.50 357.50 3.8114 -197.50 142.50 2.50 3.07557 -197.50 142.50 7.50 2.71443 -197.50 142.50 12.50 2.33768 -197.50 142.50 17.50 1.75871 -197.50 142.50 22.50 1.02812 -197.50 142.50 27.50 0.458403 -197.50 142.50 32.50 0.159378 -197.50 142.50 37.50 0.052853 -197.50 142.50 42.50 0.0187251 -197.50 142.50 47.50 0.0129026 -197.50 142.50 52.50 0.0346215 -197.50 142.50 57.50 0.0941098 -197.50 142.50 62.50 0.281645 -197.50 142.50 67.50 0.734425 -197.50 142.50 72.50 1.44951 -197.50 142.50 77.50 2.3018 -197.50 142.50 82.50 3.00582 -197.50 142.50 87.50 3.28461 -197.50 142.50 92.50 3.07557 -197.50 142.50 97.50 2.71443 -197.50 142.50 102.50 2.33768 -197.50 142.50 107.50 1.75871 -197.50 142.50 112.50 1.02812 -197.50 142.50 117.50 0.458403 -197.50 142.50 122.50 0.159378 -197.50 142.50 127.50 0.052853 -197.50 142.50 132.50 0.0187251 -197.50 142.50 137.50 0.0129026 -197.50 142.50 142.50 0.0346215 -197.50 142.50 147.50 0.0941097 -197.50 142.50 152.50 0.281645 -197.50 142.50 157.50 0.734424 -197.50 142.50 162.50 1.44951 -197.50 142.50 167.50 2.30179 -197.50 142.50 172.50 3.00581 -197.50 142.50 177.50 3.28461 -197.50 142.50 182.50 3.07557 -197.50 142.50 187.50 2.71443 -197.50 142.50 192.50 2.33768 -197.50 142.50 197.50 1.75871 -197.50 142.50 202.50 1.02812 -197.50 142.50 207.50 0.458403 -197.50 142.50 212.50 0.159378 -197.50 142.50 217.50 0.052853 -197.50 142.50 222.50 0.0187252 -197.50 142.50 227.50 0.0129026 -197.50 142.50 232.50 0.0346215 -197.50 142.50 237.50 0.0941099 -197.50 142.50 242.50 0.281645 -197.50 142.50 247.50 0.734425 -197.50 142.50 252.50 1.44951 -197.50 142.50 257.50 2.30179 -197.50 142.50 262.50 3.00582 -197.50 142.50 267.50 3.28461 -197.50 142.50 272.50 3.07557 -197.50 142.50 277.50 2.71443 -197.50 142.50 282.50 2.33768 -197.50 142.50 287.50 1.75871 -197.50 142.50 292.50 1.02812 -197.50 142.50 297.50 0.458403 -197.50 142.50 302.50 0.159378 -197.50 142.50 307.50 0.0528531 -197.50 142.50 312.50 0.0187251 -197.50 142.50 317.50 0.0129026 -197.50 142.50 322.50 0.0346214 -197.50 142.50 327.50 0.0941096 -197.50 142.50 332.50 0.281644 -197.50 142.50 337.50 0.734423 -197.50 142.50 342.50 1.44951 -197.50 142.50 347.50 2.30179 -197.50 142.50 352.50 3.00581 -197.50 142.50 357.50 3.28461 -197.50 147.50 2.50 2.48318 -197.50 147.50 7.50 2.43565 -197.50 147.50 12.50 2.31353 -197.50 147.50 17.50 1.86234 -197.50 147.50 22.50 1.1385 -197.50 147.50 27.50 0.522555 -197.50 147.50 32.50 0.188415 -197.50 147.50 37.50 0.0607415 -197.50 147.50 42.50 0.0208956 -197.50 147.50 47.50 0.0102016 -197.50 147.50 52.50 0.0127237 -197.50 147.50 57.50 0.036655 -197.50 147.50 62.50 0.132328 -197.50 147.50 67.50 0.372317 -197.50 147.50 72.50 0.819892 -197.50 147.50 77.50 1.46004 -197.50 147.50 82.50 2.08206 -197.50 147.50 87.50 2.43862 -197.50 147.50 92.50 2.48318 -197.50 147.50 97.50 2.43565 -197.50 147.50 102.50 2.31353 -197.50 147.50 107.50 1.86234 -197.50 147.50 112.50 1.1385 -197.50 147.50 117.50 0.522555 -197.50 147.50 122.50 0.188415 -197.50 147.50 127.50 0.0607414 -197.50 147.50 132.50 0.0208956 -197.50 147.50 137.50 0.0102016 -197.50 147.50 142.50 0.0127237 -197.50 147.50 147.50 0.036655 -197.50 147.50 152.50 0.132328 -197.50 147.50 157.50 0.372317 -197.50 147.50 162.50 0.819892 -197.50 147.50 167.50 1.46004 -197.50 147.50 172.50 2.08206 -197.50 147.50 177.50 2.43862 -197.50 147.50 182.50 2.48318 -197.50 147.50 187.50 2.43565 -197.50 147.50 192.50 2.31353 -197.50 147.50 197.50 1.86234 -197.50 147.50 202.50 1.1385 -197.50 147.50 207.50 0.522555 -197.50 147.50 212.50 0.188415 -197.50 147.50 217.50 0.0607415 -197.50 147.50 222.50 0.0208956 -197.50 147.50 227.50 0.0102016 -197.50 147.50 232.50 0.0127237 -197.50 147.50 237.50 0.036655 -197.50 147.50 242.50 0.132328 -197.50 147.50 247.50 0.372317 -197.50 147.50 252.50 0.819892 -197.50 147.50 257.50 1.46004 -197.50 147.50 262.50 2.08206 -197.50 147.50 267.50 2.43862 -197.50 147.50 272.50 2.48318 -197.50 147.50 277.50 2.43565 -197.50 147.50 282.50 2.31353 -197.50 147.50 287.50 1.86234 -197.50 147.50 292.50 1.1385 -197.50 147.50 297.50 0.522556 -197.50 147.50 302.50 0.188415 -197.50 147.50 307.50 0.0607416 -197.50 147.50 312.50 0.0208956 -197.50 147.50 317.50 0.0102016 -197.50 147.50 322.50 0.0127237 -197.50 147.50 327.50 0.0366548 -197.50 147.50 332.50 0.132328 -197.50 147.50 337.50 0.372316 -197.50 147.50 342.50 0.819891 -197.50 147.50 347.50 1.46004 -197.50 147.50 352.50 2.08206 -197.50 147.50 357.50 2.43862 -197.50 152.50 2.50 1.91896 -197.50 152.50 7.50 2.07289 -197.50 152.50 12.50 2.12271 -197.50 152.50 17.50 1.86571 -197.50 152.50 22.50 1.21541 -197.50 152.50 27.50 0.604963 -197.50 152.50 32.50 0.251832 -197.50 152.50 37.50 0.0852506 -197.50 152.50 42.50 0.0280961 -197.50 152.50 47.50 0.010606 -197.50 152.50 52.50 0.0060591 -197.50 152.50 57.50 0.0169594 -197.50 152.50 62.50 0.0660118 -197.50 152.50 67.50 0.185491 -197.50 152.50 72.50 0.47031 -197.50 152.50 77.50 0.842251 -197.50 152.50 82.50 1.34077 -197.50 152.50 87.50 1.67282 -197.50 152.50 92.50 1.91896 -197.50 152.50 97.50 2.07289 -197.50 152.50 102.50 2.12271 -197.50 152.50 107.50 1.86571 -197.50 152.50 112.50 1.21541 -197.50 152.50 117.50 0.604963 -197.50 152.50 122.50 0.251831 -197.50 152.50 127.50 0.0852506 -197.50 152.50 132.50 0.0280961 -197.50 152.50 137.50 0.010606 -197.50 152.50 142.50 0.00605911 -197.50 152.50 147.50 0.0169594 -197.50 152.50 152.50 0.0660117 -197.50 152.50 157.50 0.185491 -197.50 152.50 162.50 0.47031 -197.50 152.50 167.50 0.842251 -197.50 152.50 172.50 1.34077 -197.50 152.50 177.50 1.67282 -197.50 152.50 182.50 1.91896 -197.50 152.50 187.50 2.07289 -197.50 152.50 192.50 2.12271 -197.50 152.50 197.50 1.86571 -197.50 152.50 202.50 1.21541 -197.50 152.50 207.50 0.604963 -197.50 152.50 212.50 0.251832 -197.50 152.50 217.50 0.0852507 -197.50 152.50 222.50 0.0280961 -197.50 152.50 227.50 0.010606 -197.50 152.50 232.50 0.0060591 -197.50 152.50 237.50 0.0169594 -197.50 152.50 242.50 0.0660117 -197.50 152.50 247.50 0.185491 -197.50 152.50 252.50 0.47031 -197.50 152.50 257.50 0.842251 -197.50 152.50 262.50 1.34077 -197.50 152.50 267.50 1.67282 -197.50 152.50 272.50 1.91896 -197.50 152.50 277.50 2.07289 -197.50 152.50 282.50 2.12271 -197.50 152.50 287.50 1.86571 -197.50 152.50 292.50 1.21541 -197.50 152.50 297.50 0.604964 -197.50 152.50 302.50 0.251832 -197.50 152.50 307.50 0.0852507 -197.50 152.50 312.50 0.0280961 -197.50 152.50 317.50 0.010606 -197.50 152.50 322.50 0.00605908 -197.50 152.50 327.50 0.0169593 -197.50 152.50 332.50 0.0660115 -197.50 152.50 337.50 0.185491 -197.50 152.50 342.50 0.470309 -197.50 152.50 347.50 0.842249 -197.50 152.50 352.50 1.34077 -197.50 152.50 357.50 1.67282 -197.50 157.50 2.50 1.46987 -197.50 157.50 7.50 1.73302 -197.50 157.50 12.50 1.90549 -197.50 157.50 17.50 1.79157 -197.50 157.50 22.50 1.3193 -197.50 157.50 27.50 0.755122 -197.50 157.50 32.50 0.335643 -197.50 157.50 37.50 0.119208 -197.50 157.50 42.50 0.0375602 -197.50 157.50 47.50 0.0124126 -197.50 157.50 52.50 0.0111999 -197.50 157.50 57.50 0.0230623 -197.50 157.50 62.50 0.0500054 -197.50 157.50 67.50 0.130854 -197.50 157.50 72.50 0.282701 -197.50 157.50 77.50 0.526842 -197.50 157.50 82.50 0.846133 -197.50 157.50 87.50 1.13434 -197.50 157.50 92.50 1.46987 -197.50 157.50 97.50 1.73302 -197.50 157.50 102.50 1.90549 -197.50 157.50 107.50 1.79157 -197.50 157.50 112.50 1.3193 -197.50 157.50 117.50 0.755122 -197.50 157.50 122.50 0.335642 -197.50 157.50 127.50 0.119208 -197.50 157.50 132.50 0.0375601 -197.50 157.50 137.50 0.0124126 -197.50 157.50 142.50 0.0111999 -197.50 157.50 147.50 0.0230623 -197.50 157.50 152.50 0.0500054 -197.50 157.50 157.50 0.130854 -197.50 157.50 162.50 0.282701 -197.50 157.50 167.50 0.526842 -197.50 157.50 172.50 0.846134 -197.50 157.50 177.50 1.13434 -197.50 157.50 182.50 1.46987 -197.50 157.50 187.50 1.73302 -197.50 157.50 192.50 1.90549 -197.50 157.50 197.50 1.79157 -197.50 157.50 202.50 1.3193 -197.50 157.50 207.50 0.755122 -197.50 157.50 212.50 0.335643 -197.50 157.50 217.50 0.119208 -197.50 157.50 222.50 0.0375601 -197.50 157.50 227.50 0.0124126 -197.50 157.50 232.50 0.0111999 -197.50 157.50 237.50 0.0230623 -197.50 157.50 242.50 0.0500055 -197.50 157.50 247.50 0.130854 -197.50 157.50 252.50 0.282701 -197.50 157.50 257.50 0.526842 -197.50 157.50 262.50 0.846134 -197.50 157.50 267.50 1.13434 -197.50 157.50 272.50 1.46987 -197.50 157.50 277.50 1.73302 -197.50 157.50 282.50 1.90549 -197.50 157.50 287.50 1.79157 -197.50 157.50 292.50 1.3193 -197.50 157.50 297.50 0.755123 -197.50 157.50 302.50 0.335643 -197.50 157.50 307.50 0.119208 -197.50 157.50 312.50 0.0375602 -197.50 157.50 317.50 0.0124126 -197.50 157.50 322.50 0.0111999 -197.50 157.50 327.50 0.0230623 -197.50 157.50 332.50 0.0500052 -197.50 157.50 337.50 0.130854 -197.50 157.50 342.50 0.282701 -197.50 157.50 347.50 0.526841 -197.50 157.50 352.50 0.846132 -197.50 157.50 357.50 1.13434 -197.50 162.50 2.50 1.04451 -197.50 162.50 7.50 1.36448 -197.50 162.50 12.50 1.64759 -197.50 162.50 17.50 1.66988 -197.50 162.50 22.50 1.34437 -197.50 162.50 27.50 0.835965 -197.50 162.50 32.50 0.401315 -197.50 162.50 37.50 0.147344 -197.50 162.50 42.50 0.0432778 -197.50 162.50 47.50 0.0190101 -197.50 162.50 52.50 0.0247396 -197.50 162.50 57.50 0.0520204 -197.50 162.50 62.50 0.0792764 -197.50 162.50 67.50 0.108237 -197.50 162.50 72.50 0.185648 -197.50 162.50 77.50 0.335263 -197.50 162.50 82.50 0.501155 -197.50 162.50 87.50 0.736745 -197.50 162.50 92.50 1.04451 -197.50 162.50 97.50 1.36448 -197.50 162.50 102.50 1.64759 -197.50 162.50 107.50 1.66988 -197.50 162.50 112.50 1.34437 -197.50 162.50 117.50 0.835965 -197.50 162.50 122.50 0.401315 -197.50 162.50 127.50 0.147344 -197.50 162.50 132.50 0.0432778 -197.50 162.50 137.50 0.01901 -197.50 162.50 142.50 0.0247396 -197.50 162.50 147.50 0.0520203 -197.50 162.50 152.50 0.0792764 -197.50 162.50 157.50 0.108237 -197.50 162.50 162.50 0.185648 -197.50 162.50 167.50 0.335263 -197.50 162.50 172.50 0.501155 -197.50 162.50 177.50 0.736745 -197.50 162.50 182.50 1.04451 -197.50 162.50 187.50 1.36448 -197.50 162.50 192.50 1.64759 -197.50 162.50 197.50 1.66987 -197.50 162.50 202.50 1.34437 -197.50 162.50 207.50 0.835965 -197.50 162.50 212.50 0.401315 -197.50 162.50 217.50 0.147344 -197.50 162.50 222.50 0.0432778 -197.50 162.50 227.50 0.0190101 -197.50 162.50 232.50 0.0247396 -197.50 162.50 237.50 0.0520204 -197.50 162.50 242.50 0.0792764 -197.50 162.50 247.50 0.108237 -197.50 162.50 252.50 0.185648 -197.50 162.50 257.50 0.335263 -197.50 162.50 262.50 0.501154 -197.50 162.50 267.50 0.736746 -197.50 162.50 272.50 1.04451 -197.50 162.50 277.50 1.36448 -197.50 162.50 282.50 1.64759 -197.50 162.50 287.50 1.66988 -197.50 162.50 292.50 1.34437 -197.50 162.50 297.50 0.835965 -197.50 162.50 302.50 0.401316 -197.50 162.50 307.50 0.147344 -197.50 162.50 312.50 0.0432778 -197.50 162.50 317.50 0.0190101 -197.50 162.50 322.50 0.0247396 -197.50 162.50 327.50 0.0520203 -197.50 162.50 332.50 0.0792763 -197.50 162.50 337.50 0.108236 -197.50 162.50 342.50 0.185647 -197.50 162.50 347.50 0.335263 -197.50 162.50 352.50 0.501154 -197.50 162.50 357.50 0.736744 -197.50 167.50 2.50 0.655401 -197.50 167.50 7.50 0.996547 -197.50 167.50 12.50 1.37686 -197.50 167.50 17.50 1.52312 -197.50 167.50 22.50 1.26422 -197.50 167.50 27.50 0.791946 -197.50 167.50 32.50 0.376838 -197.50 167.50 37.50 0.141028 -197.50 167.50 42.50 0.0478192 -197.50 167.50 47.50 0.0264396 -197.50 167.50 52.50 0.0466068 -197.50 167.50 57.50 0.0853311 -197.50 167.50 62.50 0.103018 -197.50 167.50 67.50 0.110934 -197.50 167.50 72.50 0.138135 -197.50 167.50 77.50 0.18865 -197.50 167.50 82.50 0.26037 -197.50 167.50 87.50 0.423373 -197.50 167.50 92.50 0.655401 -197.50 167.50 97.50 0.996547 -197.50 167.50 102.50 1.37687 -197.50 167.50 107.50 1.52312 -197.50 167.50 112.50 1.26422 -197.50 167.50 117.50 0.791945 -197.50 167.50 122.50 0.376838 -197.50 167.50 127.50 0.141028 -197.50 167.50 132.50 0.0478192 -197.50 167.50 137.50 0.0264396 -197.50 167.50 142.50 0.0466067 -197.50 167.50 147.50 0.0853311 -197.50 167.50 152.50 0.103018 -197.50 167.50 157.50 0.110934 -197.50 167.50 162.50 0.138135 -197.50 167.50 167.50 0.18865 -197.50 167.50 172.50 0.26037 -197.50 167.50 177.50 0.423372 -197.50 167.50 182.50 0.655401 -197.50 167.50 187.50 0.996547 -197.50 167.50 192.50 1.37687 -197.50 167.50 197.50 1.52312 -197.50 167.50 202.50 1.26422 -197.50 167.50 207.50 0.791946 -197.50 167.50 212.50 0.376838 -197.50 167.50 217.50 0.141028 -197.50 167.50 222.50 0.0478193 -197.50 167.50 227.50 0.0264396 -197.50 167.50 232.50 0.0466068 -197.50 167.50 237.50 0.0853311 -197.50 167.50 242.50 0.103018 -197.50 167.50 247.50 0.110934 -197.50 167.50 252.50 0.138135 -197.50 167.50 257.50 0.18865 -197.50 167.50 262.50 0.26037 -197.50 167.50 267.50 0.423373 -197.50 167.50 272.50 0.655401 -197.50 167.50 277.50 0.996547 -197.50 167.50 282.50 1.37686 -197.50 167.50 287.50 1.52312 -197.50 167.50 292.50 1.26422 -197.50 167.50 297.50 0.791946 -197.50 167.50 302.50 0.376838 -197.50 167.50 307.50 0.141028 -197.50 167.50 312.50 0.0478193 -197.50 167.50 317.50 0.0264396 -197.50 167.50 322.50 0.0466067 -197.50 167.50 327.50 0.085331 -197.50 167.50 332.50 0.103018 -197.50 167.50 337.50 0.110934 -197.50 167.50 342.50 0.138135 -197.50 167.50 347.50 0.188649 -197.50 167.50 352.50 0.26037 -197.50 167.50 357.50 0.423372 -197.50 172.50 2.50 0.376555 -197.50 172.50 7.50 0.695288 -197.50 172.50 12.50 1.10458 -197.50 172.50 17.50 1.30722 -197.50 172.50 22.50 1.08936 -197.50 172.50 27.50 0.658199 -197.50 172.50 32.50 0.30973 -197.50 172.50 37.50 0.122106 -197.50 172.50 42.50 0.0447239 -197.50 172.50 47.50 0.0302449 -197.50 172.50 52.50 0.051786 -197.50 172.50 57.50 0.0863412 -197.50 172.50 62.50 0.103579 -197.50 172.50 67.50 0.0995423 -197.50 172.50 72.50 0.0936088 -197.50 172.50 77.50 0.0978894 -197.50 172.50 82.50 0.141284 -197.50 172.50 87.50 0.216443 -197.50 172.50 92.50 0.376555 -197.50 172.50 97.50 0.695289 -197.50 172.50 102.50 1.10458 -197.50 172.50 107.50 1.30722 -197.50 172.50 112.50 1.08936 -197.50 172.50 117.50 0.658199 -197.50 172.50 122.50 0.30973 -197.50 172.50 127.50 0.122106 -197.50 172.50 132.50 0.0447239 -197.50 172.50 137.50 0.0302449 -197.50 172.50 142.50 0.051786 -197.50 172.50 147.50 0.0863412 -197.50 172.50 152.50 0.103579 -197.50 172.50 157.50 0.0995423 -197.50 172.50 162.50 0.0936088 -197.50 172.50 167.50 0.0978894 -197.50 172.50 172.50 0.141284 -197.50 172.50 177.50 0.216442 -197.50 172.50 182.50 0.376555 -197.50 172.50 187.50 0.695289 -197.50 172.50 192.50 1.10458 -197.50 172.50 197.50 1.30722 -197.50 172.50 202.50 1.08936 -197.50 172.50 207.50 0.658199 -197.50 172.50 212.50 0.30973 -197.50 172.50 217.50 0.122106 -197.50 172.50 222.50 0.044724 -197.50 172.50 227.50 0.0302449 -197.50 172.50 232.50 0.0517861 -197.50 172.50 237.50 0.0863412 -197.50 172.50 242.50 0.103579 -197.50 172.50 247.50 0.0995422 -197.50 172.50 252.50 0.0936088 -197.50 172.50 257.50 0.0978895 -197.50 172.50 262.50 0.141284 -197.50 172.50 267.50 0.216443 -197.50 172.50 272.50 0.376555 -197.50 172.50 277.50 0.695289 -197.50 172.50 282.50 1.10458 -197.50 172.50 287.50 1.30722 -197.50 172.50 292.50 1.08936 -197.50 172.50 297.50 0.658199 -197.50 172.50 302.50 0.309731 -197.50 172.50 307.50 0.122106 -197.50 172.50 312.50 0.044724 -197.50 172.50 317.50 0.0302449 -197.50 172.50 322.50 0.051786 -197.50 172.50 327.50 0.0863411 -197.50 172.50 332.50 0.103579 -197.50 172.50 337.50 0.0995422 -197.50 172.50 342.50 0.0936088 -197.50 172.50 347.50 0.0978894 -197.50 172.50 352.50 0.141283 -197.50 172.50 357.50 0.216442 -197.50 177.50 2.50 0.210389 -197.50 177.50 7.50 0.46113 -197.50 177.50 12.50 0.81482 -197.50 177.50 17.50 1.00154 -197.50 177.50 22.50 0.826356 -197.50 177.50 27.50 0.469198 -197.50 177.50 32.50 0.199274 -197.50 177.50 37.50 0.0785193 -197.50 177.50 42.50 0.0421066 -197.50 177.50 47.50 0.0435456 -197.50 177.50 52.50 0.0590315 -197.50 177.50 57.50 0.0724147 -197.50 177.50 62.50 0.0750234 -197.50 177.50 67.50 0.0776945 -197.50 177.50 72.50 0.0765251 -197.50 177.50 77.50 0.0724643 -197.50 177.50 82.50 0.0745757 -197.50 177.50 87.50 0.10472 -197.50 177.50 92.50 0.210389 -197.50 177.50 97.50 0.461129 -197.50 177.50 102.50 0.81482 -197.50 177.50 107.50 1.00154 -197.50 177.50 112.50 0.826356 -197.50 177.50 117.50 0.469198 -197.50 177.50 122.50 0.199274 -197.50 177.50 127.50 0.0785193 -197.50 177.50 132.50 0.0421066 -197.50 177.50 137.50 0.0435456 -197.50 177.50 142.50 0.0590315 -197.50 177.50 147.50 0.0724147 -197.50 177.50 152.50 0.0750234 -197.50 177.50 157.50 0.0776945 -197.50 177.50 162.50 0.0765251 -197.50 177.50 167.50 0.0724643 -197.50 177.50 172.50 0.0745757 -197.50 177.50 177.50 0.10472 -197.50 177.50 182.50 0.210389 -197.50 177.50 187.50 0.46113 -197.50 177.50 192.50 0.81482 -197.50 177.50 197.50 1.00154 -197.50 177.50 202.50 0.826356 -197.50 177.50 207.50 0.469198 -197.50 177.50 212.50 0.199274 -197.50 177.50 217.50 0.0785195 -197.50 177.50 222.50 0.0421067 -197.50 177.50 227.50 0.0435456 -197.50 177.50 232.50 0.0590315 -197.50 177.50 237.50 0.0724147 -197.50 177.50 242.50 0.0750234 -197.50 177.50 247.50 0.0776944 -197.50 177.50 252.50 0.0765251 -197.50 177.50 257.50 0.0724643 -197.50 177.50 262.50 0.0745758 -197.50 177.50 267.50 0.10472 -197.50 177.50 272.50 0.210389 -197.50 177.50 277.50 0.46113 -197.50 177.50 282.50 0.81482 -197.50 177.50 287.50 1.00154 -197.50 177.50 292.50 0.826355 -197.50 177.50 297.50 0.469199 -197.50 177.50 302.50 0.199274 -197.50 177.50 307.50 0.0785195 -197.50 177.50 312.50 0.0421067 -197.50 177.50 317.50 0.0435456 -197.50 177.50 322.50 0.0590314 -197.50 177.50 327.50 0.0724147 -197.50 177.50 332.50 0.0750234 -197.50 177.50 337.50 0.0776944 -197.50 177.50 342.50 0.0765251 -197.50 177.50 347.50 0.0724643 -197.50 177.50 352.50 0.0745757 -197.50 177.50 357.50 0.10472 -202.50 2.50 2.50 0.0624685 -202.50 2.50 7.50 0.0485219 -202.50 2.50 12.50 0.0601603 -202.50 2.50 17.50 0.0760386 -202.50 2.50 22.50 0.083846 -202.50 2.50 27.50 0.084539 -202.50 2.50 32.50 0.083846 -202.50 2.50 37.50 0.0760385 -202.50 2.50 42.50 0.0601603 -202.50 2.50 47.50 0.0485219 -202.50 2.50 52.50 0.0624686 -202.50 2.50 57.50 0.149977 -202.50 2.50 62.50 0.393273 -202.50 2.50 67.50 0.773179 -202.50 2.50 72.50 0.980476 -202.50 2.50 77.50 0.773178 -202.50 2.50 82.50 0.393272 -202.50 2.50 87.50 0.149977 -202.50 2.50 92.50 0.0624685 -202.50 2.50 97.50 0.0485219 -202.50 2.50 102.50 0.0601603 -202.50 2.50 107.50 0.0760386 -202.50 2.50 112.50 0.083846 -202.50 2.50 117.50 0.084539 -202.50 2.50 122.50 0.083846 -202.50 2.50 127.50 0.0760385 -202.50 2.50 132.50 0.0601603 -202.50 2.50 137.50 0.0485219 -202.50 2.50 142.50 0.0624686 -202.50 2.50 147.50 0.149977 -202.50 2.50 152.50 0.393272 -202.50 2.50 157.50 0.773179 -202.50 2.50 162.50 0.980476 -202.50 2.50 167.50 0.773179 -202.50 2.50 172.50 0.393272 -202.50 2.50 177.50 0.149977 -202.50 2.50 182.50 0.0624685 -202.50 2.50 187.50 0.0485219 -202.50 2.50 192.50 0.0601603 -202.50 2.50 197.50 0.0760386 -202.50 2.50 202.50 0.083846 -202.50 2.50 207.50 0.084539 -202.50 2.50 212.50 0.083846 -202.50 2.50 217.50 0.0760385 -202.50 2.50 222.50 0.0601603 -202.50 2.50 227.50 0.0485219 -202.50 2.50 232.50 0.0624687 -202.50 2.50 237.50 0.149977 -202.50 2.50 242.50 0.393273 -202.50 2.50 247.50 0.773179 -202.50 2.50 252.50 0.980476 -202.50 2.50 257.50 0.773178 -202.50 2.50 262.50 0.393272 -202.50 2.50 267.50 0.149977 -202.50 2.50 272.50 0.0624685 -202.50 2.50 277.50 0.0485219 -202.50 2.50 282.50 0.0601603 -202.50 2.50 287.50 0.0760386 -202.50 2.50 292.50 0.083846 -202.50 2.50 297.50 0.084539 -202.50 2.50 302.50 0.083846 -202.50 2.50 307.50 0.0760385 -202.50 2.50 312.50 0.0601603 -202.50 2.50 317.50 0.0485219 -202.50 2.50 322.50 0.0624685 -202.50 2.50 327.50 0.149977 -202.50 2.50 332.50 0.393272 -202.50 2.50 337.50 0.773178 -202.50 2.50 342.50 0.980476 -202.50 2.50 347.50 0.773179 -202.50 2.50 352.50 0.393273 -202.50 2.50 357.50 0.149977 -202.50 7.50 2.50 0.102596 -202.50 7.50 7.50 0.0808217 -202.50 7.50 12.50 0.082199 -202.50 7.50 17.50 0.0878966 -202.50 7.50 22.50 0.0897201 -202.50 7.50 27.50 0.0859236 -202.50 7.50 32.50 0.0750918 -202.50 7.50 37.50 0.0604865 -202.50 7.50 42.50 0.0434973 -202.50 7.50 47.50 0.0399292 -202.50 7.50 52.50 0.0711832 -202.50 7.50 57.50 0.188831 -202.50 7.50 62.50 0.4704 -202.50 7.50 67.50 0.856092 -202.50 7.50 72.50 1.03537 -202.50 7.50 77.50 0.829238 -202.50 7.50 82.50 0.45873 -202.50 7.50 87.50 0.202463 -202.50 7.50 92.50 0.102596 -202.50 7.50 97.50 0.0808218 -202.50 7.50 102.50 0.082199 -202.50 7.50 107.50 0.0878967 -202.50 7.50 112.50 0.0897201 -202.50 7.50 117.50 0.0859237 -202.50 7.50 122.50 0.0750918 -202.50 7.50 127.50 0.0604865 -202.50 7.50 132.50 0.0434974 -202.50 7.50 137.50 0.0399292 -202.50 7.50 142.50 0.0711832 -202.50 7.50 147.50 0.188831 -202.50 7.50 152.50 0.4704 -202.50 7.50 157.50 0.856091 -202.50 7.50 162.50 1.03537 -202.50 7.50 167.50 0.829238 -202.50 7.50 172.50 0.45873 -202.50 7.50 177.50 0.202463 -202.50 7.50 182.50 0.102596 -202.50 7.50 187.50 0.0808217 -202.50 7.50 192.50 0.082199 -202.50 7.50 197.50 0.0878966 -202.50 7.50 202.50 0.0897201 -202.50 7.50 207.50 0.0859236 -202.50 7.50 212.50 0.0750918 -202.50 7.50 217.50 0.0604865 -202.50 7.50 222.50 0.0434974 -202.50 7.50 227.50 0.0399292 -202.50 7.50 232.50 0.0711834 -202.50 7.50 237.50 0.188832 -202.50 7.50 242.50 0.470401 -202.50 7.50 247.50 0.856092 -202.50 7.50 252.50 1.03537 -202.50 7.50 257.50 0.829238 -202.50 7.50 262.50 0.458729 -202.50 7.50 267.50 0.202462 -202.50 7.50 272.50 0.102596 -202.50 7.50 277.50 0.0808217 -202.50 7.50 282.50 0.082199 -202.50 7.50 287.50 0.0878966 -202.50 7.50 292.50 0.0897201 -202.50 7.50 297.50 0.0859236 -202.50 7.50 302.50 0.0750918 -202.50 7.50 307.50 0.0604865 -202.50 7.50 312.50 0.0434974 -202.50 7.50 317.50 0.0399292 -202.50 7.50 322.50 0.0711831 -202.50 7.50 327.50 0.188831 -202.50 7.50 332.50 0.470399 -202.50 7.50 337.50 0.856091 -202.50 7.50 342.50 1.03537 -202.50 7.50 347.50 0.829239 -202.50 7.50 352.50 0.458731 -202.50 7.50 357.50 0.202463 -202.50 12.50 2.50 0.24067 -202.50 12.50 7.50 0.181724 -202.50 12.50 12.50 0.141147 -202.50 12.50 17.50 0.111957 -202.50 12.50 22.50 0.119082 -202.50 12.50 27.50 0.121307 -202.50 12.50 32.50 0.100237 -202.50 12.50 37.50 0.0612511 -202.50 12.50 42.50 0.0320373 -202.50 12.50 47.50 0.0389844 -202.50 12.50 52.50 0.10447 -202.50 12.50 57.50 0.285569 -202.50 12.50 62.50 0.65645 -202.50 12.50 67.50 1.12589 -202.50 12.50 72.50 1.35396 -202.50 12.50 77.50 1.13499 -202.50 12.50 82.50 0.704974 -202.50 12.50 87.50 0.38469 -202.50 12.50 92.50 0.24067 -202.50 12.50 97.50 0.181724 -202.50 12.50 102.50 0.141147 -202.50 12.50 107.50 0.111957 -202.50 12.50 112.50 0.119082 -202.50 12.50 117.50 0.121307 -202.50 12.50 122.50 0.100238 -202.50 12.50 127.50 0.0612511 -202.50 12.50 132.50 0.0320373 -202.50 12.50 137.50 0.0389844 -202.50 12.50 142.50 0.10447 -202.50 12.50 147.50 0.285569 -202.50 12.50 152.50 0.656449 -202.50 12.50 157.50 1.12589 -202.50 12.50 162.50 1.35396 -202.50 12.50 167.50 1.13499 -202.50 12.50 172.50 0.704975 -202.50 12.50 177.50 0.38469 -202.50 12.50 182.50 0.24067 -202.50 12.50 187.50 0.181724 -202.50 12.50 192.50 0.141147 -202.50 12.50 197.50 0.111957 -202.50 12.50 202.50 0.119082 -202.50 12.50 207.50 0.121307 -202.50 12.50 212.50 0.100238 -202.50 12.50 217.50 0.0612511 -202.50 12.50 222.50 0.0320373 -202.50 12.50 227.50 0.0389843 -202.50 12.50 232.50 0.10447 -202.50 12.50 237.50 0.28557 -202.50 12.50 242.50 0.65645 -202.50 12.50 247.50 1.12589 -202.50 12.50 252.50 1.35396 -202.50 12.50 257.50 1.13499 -202.50 12.50 262.50 0.704974 -202.50 12.50 267.50 0.38469 -202.50 12.50 272.50 0.24067 -202.50 12.50 277.50 0.181724 -202.50 12.50 282.50 0.141147 -202.50 12.50 287.50 0.111957 -202.50 12.50 292.50 0.119082 -202.50 12.50 297.50 0.121307 -202.50 12.50 302.50 0.100238 -202.50 12.50 307.50 0.0612512 -202.50 12.50 312.50 0.0320373 -202.50 12.50 317.50 0.0389843 -202.50 12.50 322.50 0.10447 -202.50 12.50 327.50 0.285569 -202.50 12.50 332.50 0.656449 -202.50 12.50 337.50 1.12589 -202.50 12.50 342.50 1.35396 -202.50 12.50 347.50 1.13499 -202.50 12.50 352.50 0.704976 -202.50 12.50 357.50 0.384691 -202.50 17.50 2.50 0.527183 -202.50 17.50 7.50 0.384252 -202.50 17.50 12.50 0.251369 -202.50 17.50 17.50 0.196518 -202.50 17.50 22.50 0.160424 -202.50 17.50 27.50 0.1371 -202.50 17.50 32.50 0.10044 -202.50 17.50 37.50 0.0540654 -202.50 17.50 42.50 0.0261998 -202.50 17.50 47.50 0.0433834 -202.50 17.50 52.50 0.127702 -202.50 17.50 57.50 0.340341 -202.50 17.50 62.50 0.7592 -202.50 17.50 67.50 1.26173 -202.50 17.50 72.50 1.544 -202.50 17.50 77.50 1.41763 -202.50 17.50 82.50 1.0402 -202.50 17.50 87.50 0.720482 -202.50 17.50 92.50 0.527182 -202.50 17.50 97.50 0.384252 -202.50 17.50 102.50 0.251369 -202.50 17.50 107.50 0.196518 -202.50 17.50 112.50 0.160424 -202.50 17.50 117.50 0.1371 -202.50 17.50 122.50 0.10044 -202.50 17.50 127.50 0.0540654 -202.50 17.50 132.50 0.0261997 -202.50 17.50 137.50 0.0433834 -202.50 17.50 142.50 0.127702 -202.50 17.50 147.50 0.340341 -202.50 17.50 152.50 0.7592 -202.50 17.50 157.50 1.26173 -202.50 17.50 162.50 1.544 -202.50 17.50 167.50 1.41763 -202.50 17.50 172.50 1.0402 -202.50 17.50 177.50 0.720482 -202.50 17.50 182.50 0.527182 -202.50 17.50 187.50 0.384252 -202.50 17.50 192.50 0.251369 -202.50 17.50 197.50 0.196518 -202.50 17.50 202.50 0.160424 -202.50 17.50 207.50 0.1371 -202.50 17.50 212.50 0.10044 -202.50 17.50 217.50 0.0540655 -202.50 17.50 222.50 0.0261998 -202.50 17.50 227.50 0.0433834 -202.50 17.50 232.50 0.127702 -202.50 17.50 237.50 0.340343 -202.50 17.50 242.50 0.759201 -202.50 17.50 247.50 1.26173 -202.50 17.50 252.50 1.544 -202.50 17.50 257.50 1.41763 -202.50 17.50 262.50 1.0402 -202.50 17.50 267.50 0.720482 -202.50 17.50 272.50 0.527183 -202.50 17.50 277.50 0.384252 -202.50 17.50 282.50 0.251369 -202.50 17.50 287.50 0.196518 -202.50 17.50 292.50 0.160424 -202.50 17.50 297.50 0.1371 -202.50 17.50 302.50 0.10044 -202.50 17.50 307.50 0.0540655 -202.50 17.50 312.50 0.0261998 -202.50 17.50 317.50 0.0433834 -202.50 17.50 322.50 0.127701 -202.50 17.50 327.50 0.340341 -202.50 17.50 332.50 0.759199 -202.50 17.50 337.50 1.26173 -202.50 17.50 342.50 1.544 -202.50 17.50 347.50 1.41763 -202.50 17.50 352.50 1.0402 -202.50 17.50 357.50 0.720483 -202.50 22.50 2.50 0.990531 -202.50 22.50 7.50 0.731449 -202.50 22.50 12.50 0.504197 -202.50 22.50 17.50 0.327897 -202.50 22.50 22.50 0.180535 -202.50 22.50 27.50 0.11271 -202.50 22.50 32.50 0.0712189 -202.50 22.50 37.50 0.0310734 -202.50 22.50 42.50 0.0157651 -202.50 22.50 47.50 0.0397711 -202.50 22.50 52.50 0.130404 -202.50 22.50 57.50 0.352546 -202.50 22.50 62.50 0.745595 -202.50 22.50 67.50 1.24457 -202.50 22.50 72.50 1.6252 -202.50 22.50 77.50 1.68049 -202.50 22.50 82.50 1.47733 -202.50 22.50 87.50 1.2191 -202.50 22.50 92.50 0.990531 -202.50 22.50 97.50 0.731449 -202.50 22.50 102.50 0.504197 -202.50 22.50 107.50 0.327898 -202.50 22.50 112.50 0.180535 -202.50 22.50 117.50 0.11271 -202.50 22.50 122.50 0.0712189 -202.50 22.50 127.50 0.0310734 -202.50 22.50 132.50 0.0157651 -202.50 22.50 137.50 0.0397711 -202.50 22.50 142.50 0.130404 -202.50 22.50 147.50 0.352546 -202.50 22.50 152.50 0.745595 -202.50 22.50 157.50 1.24457 -202.50 22.50 162.50 1.6252 -202.50 22.50 167.50 1.68049 -202.50 22.50 172.50 1.47733 -202.50 22.50 177.50 1.2191 -202.50 22.50 182.50 0.990532 -202.50 22.50 187.50 0.731449 -202.50 22.50 192.50 0.504197 -202.50 22.50 197.50 0.327897 -202.50 22.50 202.50 0.180535 -202.50 22.50 207.50 0.11271 -202.50 22.50 212.50 0.0712189 -202.50 22.50 217.50 0.0310734 -202.50 22.50 222.50 0.0157651 -202.50 22.50 227.50 0.0397711 -202.50 22.50 232.50 0.130404 -202.50 22.50 237.50 0.352547 -202.50 22.50 242.50 0.745595 -202.50 22.50 247.50 1.24457 -202.50 22.50 252.50 1.6252 -202.50 22.50 257.50 1.68049 -202.50 22.50 262.50 1.47733 -202.50 22.50 267.50 1.2191 -202.50 22.50 272.50 0.990532 -202.50 22.50 277.50 0.731449 -202.50 22.50 282.50 0.504197 -202.50 22.50 287.50 0.327897 -202.50 22.50 292.50 0.180535 -202.50 22.50 297.50 0.11271 -202.50 22.50 302.50 0.071219 -202.50 22.50 307.50 0.0310735 -202.50 22.50 312.50 0.0157651 -202.50 22.50 317.50 0.039771 -202.50 22.50 322.50 0.130404 -202.50 22.50 327.50 0.352546 -202.50 22.50 332.50 0.745594 -202.50 22.50 337.50 1.24457 -202.50 22.50 342.50 1.6252 -202.50 22.50 347.50 1.68049 -202.50 22.50 352.50 1.47733 -202.50 22.50 357.50 1.2191 -202.50 27.50 2.50 1.58451 -202.50 27.50 7.50 1.23133 -202.50 27.50 12.50 0.880206 -202.50 27.50 17.50 0.497712 -202.50 27.50 22.50 0.231887 -202.50 27.50 27.50 0.0958945 -202.50 27.50 32.50 0.033119 -202.50 27.50 37.50 0.0126958 -202.50 27.50 42.50 0.010662 -202.50 27.50 47.50 0.030863 -202.50 27.50 52.50 0.104566 -202.50 27.50 57.50 0.280167 -202.50 27.50 62.50 0.613147 -202.50 27.50 67.50 1.12864 -202.50 27.50 72.50 1.67424 -202.50 27.50 77.50 1.96043 -202.50 27.50 82.50 1.93051 -202.50 27.50 87.50 1.7892 -202.50 27.50 92.50 1.58451 -202.50 27.50 97.50 1.23133 -202.50 27.50 102.50 0.880206 -202.50 27.50 107.50 0.497712 -202.50 27.50 112.50 0.231887 -202.50 27.50 117.50 0.0958945 -202.50 27.50 122.50 0.033119 -202.50 27.50 127.50 0.0126958 -202.50 27.50 132.50 0.010662 -202.50 27.50 137.50 0.030863 -202.50 27.50 142.50 0.104566 -202.50 27.50 147.50 0.280167 -202.50 27.50 152.50 0.613146 -202.50 27.50 157.50 1.12864 -202.50 27.50 162.50 1.67424 -202.50 27.50 167.50 1.96043 -202.50 27.50 172.50 1.93051 -202.50 27.50 177.50 1.7892 -202.50 27.50 182.50 1.58451 -202.50 27.50 187.50 1.23133 -202.50 27.50 192.50 0.880205 -202.50 27.50 197.50 0.497712 -202.50 27.50 202.50 0.231887 -202.50 27.50 207.50 0.0958946 -202.50 27.50 212.50 0.033119 -202.50 27.50 217.50 0.0126958 -202.50 27.50 222.50 0.010662 -202.50 27.50 227.50 0.0308629 -202.50 27.50 232.50 0.104566 -202.50 27.50 237.50 0.280168 -202.50 27.50 242.50 0.613147 -202.50 27.50 247.50 1.12864 -202.50 27.50 252.50 1.67424 -202.50 27.50 257.50 1.96043 -202.50 27.50 262.50 1.93051 -202.50 27.50 267.50 1.7892 -202.50 27.50 272.50 1.58451 -202.50 27.50 277.50 1.23133 -202.50 27.50 282.50 0.880205 -202.50 27.50 287.50 0.497712 -202.50 27.50 292.50 0.231887 -202.50 27.50 297.50 0.0958947 -202.50 27.50 302.50 0.0331191 -202.50 27.50 307.50 0.0126958 -202.50 27.50 312.50 0.010662 -202.50 27.50 317.50 0.0308629 -202.50 27.50 322.50 0.104566 -202.50 27.50 327.50 0.280167 -202.50 27.50 332.50 0.613145 -202.50 27.50 337.50 1.12864 -202.50 27.50 342.50 1.67424 -202.50 27.50 347.50 1.96043 -202.50 27.50 352.50 1.93052 -202.50 27.50 357.50 1.78921 -202.50 32.50 2.50 2.28343 -202.50 32.50 7.50 1.94106 -202.50 32.50 12.50 1.40864 -202.50 32.50 17.50 0.781421 -202.50 32.50 22.50 0.378184 -202.50 32.50 27.50 0.125017 -202.50 32.50 32.50 0.0367355 -202.50 32.50 37.50 0.0089805 -202.50 32.50 42.50 0.00698154 -202.50 32.50 47.50 0.0215104 -202.50 32.50 52.50 0.0640099 -202.50 32.50 57.50 0.175254 -202.50 32.50 62.50 0.446187 -202.50 32.50 67.50 0.961777 -202.50 32.50 72.50 1.66379 -202.50 32.50 77.50 2.1941 -202.50 32.50 82.50 2.32479 -202.50 32.50 87.50 2.35998 -202.50 32.50 92.50 2.28343 -202.50 32.50 97.50 1.94106 -202.50 32.50 102.50 1.40864 -202.50 32.50 107.50 0.781421 -202.50 32.50 112.50 0.378184 -202.50 32.50 117.50 0.125016 -202.50 32.50 122.50 0.0367355 -202.50 32.50 127.50 0.00898048 -202.50 32.50 132.50 0.00698155 -202.50 32.50 137.50 0.0215104 -202.50 32.50 142.50 0.0640099 -202.50 32.50 147.50 0.175254 -202.50 32.50 152.50 0.446187 -202.50 32.50 157.50 0.961776 -202.50 32.50 162.50 1.66379 -202.50 32.50 167.50 2.1941 -202.50 32.50 172.50 2.32479 -202.50 32.50 177.50 2.35998 -202.50 32.50 182.50 2.28343 -202.50 32.50 187.50 1.94106 -202.50 32.50 192.50 1.40864 -202.50 32.50 197.50 0.781421 -202.50 32.50 202.50 0.378184 -202.50 32.50 207.50 0.125017 -202.50 32.50 212.50 0.0367355 -202.50 32.50 217.50 0.0089805 -202.50 32.50 222.50 0.00698155 -202.50 32.50 227.50 0.0215104 -202.50 32.50 232.50 0.0640099 -202.50 32.50 237.50 0.175254 -202.50 32.50 242.50 0.446188 -202.50 32.50 247.50 0.961777 -202.50 32.50 252.50 1.66379 -202.50 32.50 257.50 2.1941 -202.50 32.50 262.50 2.32479 -202.50 32.50 267.50 2.35998 -202.50 32.50 272.50 2.28343 -202.50 32.50 277.50 1.94106 -202.50 32.50 282.50 1.40864 -202.50 32.50 287.50 0.781421 -202.50 32.50 292.50 0.378184 -202.50 32.50 297.50 0.125017 -202.50 32.50 302.50 0.0367356 -202.50 32.50 307.50 0.00898051 -202.50 32.50 312.50 0.00698154 -202.50 32.50 317.50 0.0215103 -202.50 32.50 322.50 0.0640097 -202.50 32.50 327.50 0.175254 -202.50 32.50 332.50 0.446187 -202.50 32.50 337.50 0.961774 -202.50 32.50 342.50 1.66379 -202.50 32.50 347.50 2.1941 -202.50 32.50 352.50 2.32479 -202.50 32.50 357.50 2.35998 -202.50 37.50 2.50 3.12281 -202.50 37.50 7.50 2.92585 -202.50 37.50 12.50 2.22086 -202.50 37.50 17.50 1.39583 -202.50 37.50 22.50 0.691644 -202.50 37.50 27.50 0.268912 -202.50 37.50 32.50 0.0813846 -202.50 37.50 37.50 0.0210778 -202.50 37.50 42.50 0.0079441 -202.50 37.50 47.50 0.0110938 -202.50 37.50 52.50 0.0307392 -202.50 37.50 57.50 0.100307 -202.50 37.50 62.50 0.313741 -202.50 37.50 67.50 0.811573 -202.50 37.50 72.50 1.57418 -202.50 37.50 77.50 2.26821 -202.50 37.50 82.50 2.65324 -202.50 37.50 87.50 2.93791 -202.50 37.50 92.50 3.12281 -202.50 37.50 97.50 2.92585 -202.50 37.50 102.50 2.22085 -202.50 37.50 107.50 1.39583 -202.50 37.50 112.50 0.691645 -202.50 37.50 117.50 0.268912 -202.50 37.50 122.50 0.0813846 -202.50 37.50 127.50 0.0210778 -202.50 37.50 132.50 0.0079441 -202.50 37.50 137.50 0.0110938 -202.50 37.50 142.50 0.0307392 -202.50 37.50 147.50 0.100307 -202.50 37.50 152.50 0.31374 -202.50 37.50 157.50 0.811572 -202.50 37.50 162.50 1.57418 -202.50 37.50 167.50 2.26821 -202.50 37.50 172.50 2.65324 -202.50 37.50 177.50 2.93791 -202.50 37.50 182.50 3.12281 -202.50 37.50 187.50 2.92585 -202.50 37.50 192.50 2.22085 -202.50 37.50 197.50 1.39583 -202.50 37.50 202.50 0.691644 -202.50 37.50 207.50 0.268912 -202.50 37.50 212.50 0.0813846 -202.50 37.50 217.50 0.0210779 -202.50 37.50 222.50 0.00794411 -202.50 37.50 227.50 0.0110938 -202.50 37.50 232.50 0.0307393 -202.50 37.50 237.50 0.100307 -202.50 37.50 242.50 0.313741 -202.50 37.50 247.50 0.811573 -202.50 37.50 252.50 1.57418 -202.50 37.50 257.50 2.26821 -202.50 37.50 262.50 2.65324 -202.50 37.50 267.50 2.93791 -202.50 37.50 272.50 3.12281 -202.50 37.50 277.50 2.92586 -202.50 37.50 282.50 2.22086 -202.50 37.50 287.50 1.39583 -202.50 37.50 292.50 0.691645 -202.50 37.50 297.50 0.268913 -202.50 37.50 302.50 0.0813847 -202.50 37.50 307.50 0.0210779 -202.50 37.50 312.50 0.00794411 -202.50 37.50 317.50 0.0110938 -202.50 37.50 322.50 0.0307391 -202.50 37.50 327.50 0.100306 -202.50 37.50 332.50 0.31374 -202.50 37.50 337.50 0.811571 -202.50 37.50 342.50 1.57418 -202.50 37.50 347.50 2.26821 -202.50 37.50 352.50 2.65324 -202.50 37.50 357.50 2.93791 -202.50 42.50 2.50 3.95126 -202.50 42.50 7.50 3.98414 -202.50 42.50 12.50 3.33049 -202.50 42.50 17.50 2.33596 -202.50 42.50 22.50 1.31015 -202.50 42.50 27.50 0.573797 -202.50 42.50 32.50 0.193326 -202.50 42.50 37.50 0.059778 -202.50 42.50 42.50 0.0171214 -202.50 42.50 47.50 0.00680786 -202.50 42.50 52.50 0.0174266 -202.50 42.50 57.50 0.0653322 -202.50 42.50 62.50 0.221198 -202.50 42.50 67.50 0.639227 -202.50 42.50 72.50 1.35737 -202.50 42.50 77.50 2.13049 -202.50 42.50 82.50 2.75895 -202.50 42.50 87.50 3.40139 -202.50 42.50 92.50 3.95126 -202.50 42.50 97.50 3.98414 -202.50 42.50 102.50 3.33049 -202.50 42.50 107.50 2.33596 -202.50 42.50 112.50 1.31015 -202.50 42.50 117.50 0.573797 -202.50 42.50 122.50 0.193326 -202.50 42.50 127.50 0.059778 -202.50 42.50 132.50 0.0171214 -202.50 42.50 137.50 0.00680786 -202.50 42.50 142.50 0.0174266 -202.50 42.50 147.50 0.0653322 -202.50 42.50 152.50 0.221197 -202.50 42.50 157.50 0.639226 -202.50 42.50 162.50 1.35737 -202.50 42.50 167.50 2.13049 -202.50 42.50 172.50 2.75895 -202.50 42.50 177.50 3.40139 -202.50 42.50 182.50 3.95126 -202.50 42.50 187.50 3.98414 -202.50 42.50 192.50 3.33049 -202.50 42.50 197.50 2.33596 -202.50 42.50 202.50 1.31015 -202.50 42.50 207.50 0.573798 -202.50 42.50 212.50 0.193326 -202.50 42.50 217.50 0.059778 -202.50 42.50 222.50 0.0171215 -202.50 42.50 227.50 0.00680786 -202.50 42.50 232.50 0.0174267 -202.50 42.50 237.50 0.0653323 -202.50 42.50 242.50 0.221198 -202.50 42.50 247.50 0.639227 -202.50 42.50 252.50 1.35737 -202.50 42.50 257.50 2.13049 -202.50 42.50 262.50 2.75895 -202.50 42.50 267.50 3.4014 -202.50 42.50 272.50 3.95126 -202.50 42.50 277.50 3.98414 -202.50 42.50 282.50 3.33049 -202.50 42.50 287.50 2.33596 -202.50 42.50 292.50 1.31015 -202.50 42.50 297.50 0.573798 -202.50 42.50 302.50 0.193327 -202.50 42.50 307.50 0.059778 -202.50 42.50 312.50 0.0171215 -202.50 42.50 317.50 0.00680785 -202.50 42.50 322.50 0.0174266 -202.50 42.50 327.50 0.065332 -202.50 42.50 332.50 0.221197 -202.50 42.50 337.50 0.639225 -202.50 42.50 342.50 1.35737 -202.50 42.50 347.50 2.13049 -202.50 42.50 352.50 2.75895 -202.50 42.50 357.50 3.40139 -202.50 47.50 2.50 4.32007 -202.50 47.50 7.50 4.66925 -202.50 47.50 12.50 4.34864 -202.50 47.50 17.50 3.38724 -202.50 47.50 22.50 2.1849 -202.50 47.50 27.50 1.09209 -202.50 47.50 32.50 0.435015 -202.50 47.50 37.50 0.155387 -202.50 47.50 42.50 0.0359633 -202.50 47.50 47.50 0.0122731 -202.50 47.50 52.50 0.0122159 -202.50 47.50 57.50 0.0497084 -202.50 47.50 62.50 0.15977 -202.50 47.50 67.50 0.416995 -202.50 47.50 72.50 0.994168 -202.50 47.50 77.50 1.70873 -202.50 47.50 82.50 2.48277 -202.50 47.50 87.50 3.4196 -202.50 47.50 92.50 4.32007 -202.50 47.50 97.50 4.66925 -202.50 47.50 102.50 4.34864 -202.50 47.50 107.50 3.38724 -202.50 47.50 112.50 2.1849 -202.50 47.50 117.50 1.09209 -202.50 47.50 122.50 0.435015 -202.50 47.50 127.50 0.155387 -202.50 47.50 132.50 0.0359633 -202.50 47.50 137.50 0.0122731 -202.50 47.50 142.50 0.0122159 -202.50 47.50 147.50 0.0497084 -202.50 47.50 152.50 0.159769 -202.50 47.50 157.50 0.416995 -202.50 47.50 162.50 0.994168 -202.50 47.50 167.50 1.70873 -202.50 47.50 172.50 2.48276 -202.50 47.50 177.50 3.4196 -202.50 47.50 182.50 4.32007 -202.50 47.50 187.50 4.66925 -202.50 47.50 192.50 4.34864 -202.50 47.50 197.50 3.38724 -202.50 47.50 202.50 2.1849 -202.50 47.50 207.50 1.09209 -202.50 47.50 212.50 0.435015 -202.50 47.50 217.50 0.155387 -202.50 47.50 222.50 0.0359634 -202.50 47.50 227.50 0.0122731 -202.50 47.50 232.50 0.012216 -202.50 47.50 237.50 0.0497085 -202.50 47.50 242.50 0.15977 -202.50 47.50 247.50 0.416996 -202.50 47.50 252.50 0.994169 -202.50 47.50 257.50 1.70873 -202.50 47.50 262.50 2.48277 -202.50 47.50 267.50 3.4196 -202.50 47.50 272.50 4.32007 -202.50 47.50 277.50 4.66925 -202.50 47.50 282.50 4.34864 -202.50 47.50 287.50 3.38724 -202.50 47.50 292.50 2.1849 -202.50 47.50 297.50 1.09209 -202.50 47.50 302.50 0.435016 -202.50 47.50 307.50 0.155387 -202.50 47.50 312.50 0.0359635 -202.50 47.50 317.50 0.0122731 -202.50 47.50 322.50 0.0122159 -202.50 47.50 327.50 0.0497083 -202.50 47.50 332.50 0.159769 -202.50 47.50 337.50 0.416994 -202.50 47.50 342.50 0.994166 -202.50 47.50 347.50 1.70873 -202.50 47.50 352.50 2.48276 -202.50 47.50 357.50 3.41959 -202.50 52.50 2.50 3.95126 -202.50 52.50 7.50 4.73907 -202.50 52.50 12.50 4.98895 -202.50 52.50 17.50 4.29494 -202.50 52.50 22.50 3.16164 -202.50 52.50 27.50 1.85735 -202.50 52.50 32.50 0.86707 -202.50 52.50 37.50 0.320984 -202.50 52.50 42.50 0.0813409 -202.50 52.50 47.50 0.0175414 -202.50 52.50 52.50 0.0113143 -202.50 52.50 57.50 0.0326858 -202.50 52.50 62.50 0.0934185 -202.50 52.50 67.50 0.264477 -202.50 52.50 72.50 0.615838 -202.50 52.50 77.50 1.1717 -202.50 52.50 82.50 1.90678 -202.50 52.50 87.50 2.87227 -202.50 52.50 92.50 3.95126 -202.50 52.50 97.50 4.73907 -202.50 52.50 102.50 4.98895 -202.50 52.50 107.50 4.29494 -202.50 52.50 112.50 3.16164 -202.50 52.50 117.50 1.85735 -202.50 52.50 122.50 0.867069 -202.50 52.50 127.50 0.320984 -202.50 52.50 132.50 0.0813408 -202.50 52.50 137.50 0.0175414 -202.50 52.50 142.50 0.0113143 -202.50 52.50 147.50 0.0326858 -202.50 52.50 152.50 0.0934184 -202.50 52.50 157.50 0.264477 -202.50 52.50 162.50 0.615837 -202.50 52.50 167.50 1.1717 -202.50 52.50 172.50 1.90678 -202.50 52.50 177.50 2.87227 -202.50 52.50 182.50 3.95126 -202.50 52.50 187.50 4.73907 -202.50 52.50 192.50 4.98895 -202.50 52.50 197.50 4.29494 -202.50 52.50 202.50 3.16163 -202.50 52.50 207.50 1.85735 -202.50 52.50 212.50 0.867069 -202.50 52.50 217.50 0.320984 -202.50 52.50 222.50 0.081341 -202.50 52.50 227.50 0.0175414 -202.50 52.50 232.50 0.0113143 -202.50 52.50 237.50 0.0326859 -202.50 52.50 242.50 0.0934186 -202.50 52.50 247.50 0.264477 -202.50 52.50 252.50 0.615839 -202.50 52.50 257.50 1.1717 -202.50 52.50 262.50 1.90679 -202.50 52.50 267.50 2.87227 -202.50 52.50 272.50 3.95126 -202.50 52.50 277.50 4.73907 -202.50 52.50 282.50 4.98895 -202.50 52.50 287.50 4.29494 -202.50 52.50 292.50 3.16164 -202.50 52.50 297.50 1.85735 -202.50 52.50 302.50 0.86707 -202.50 52.50 307.50 0.320984 -202.50 52.50 312.50 0.081341 -202.50 52.50 317.50 0.0175414 -202.50 52.50 322.50 0.0113143 -202.50 52.50 327.50 0.0326857 -202.50 52.50 332.50 0.0934183 -202.50 52.50 337.50 0.264476 -202.50 52.50 342.50 0.615836 -202.50 52.50 347.50 1.1717 -202.50 52.50 352.50 1.90678 -202.50 52.50 357.50 2.87227 -202.50 57.50 2.50 3.12281 -202.50 57.50 7.50 4.34924 -202.50 57.50 12.50 5.08928 -202.50 57.50 17.50 4.86539 -202.50 57.50 22.50 4.07693 -202.50 57.50 27.50 2.72937 -202.50 57.50 32.50 1.4484 -202.50 57.50 37.50 0.540126 -202.50 57.50 42.50 0.149992 -202.50 57.50 47.50 0.032745 -202.50 57.50 52.50 0.00826451 -202.50 57.50 57.50 0.0156722 -202.50 57.50 62.50 0.0566754 -202.50 57.50 67.50 0.150526 -202.50 57.50 72.50 0.335682 -202.50 57.50 77.50 0.705297 -202.50 57.50 82.50 1.26427 -202.50 57.50 87.50 2.05638 -202.50 57.50 92.50 3.12281 -202.50 57.50 97.50 4.34924 -202.50 57.50 102.50 5.08928 -202.50 57.50 107.50 4.86539 -202.50 57.50 112.50 4.07693 -202.50 57.50 117.50 2.72937 -202.50 57.50 122.50 1.4484 -202.50 57.50 127.50 0.540125 -202.50 57.50 132.50 0.149992 -202.50 57.50 137.50 0.032745 -202.50 57.50 142.50 0.00826452 -202.50 57.50 147.50 0.0156722 -202.50 57.50 152.50 0.0566754 -202.50 57.50 157.50 0.150526 -202.50 57.50 162.50 0.335682 -202.50 57.50 167.50 0.705297 -202.50 57.50 172.50 1.26427 -202.50 57.50 177.50 2.05638 -202.50 57.50 182.50 3.12281 -202.50 57.50 187.50 4.34924 -202.50 57.50 192.50 5.08928 -202.50 57.50 197.50 4.86538 -202.50 57.50 202.50 4.07693 -202.50 57.50 207.50 2.72937 -202.50 57.50 212.50 1.4484 -202.50 57.50 217.50 0.540127 -202.50 57.50 222.50 0.149992 -202.50 57.50 227.50 0.032745 -202.50 57.50 232.50 0.00826453 -202.50 57.50 237.50 0.0156722 -202.50 57.50 242.50 0.0566755 -202.50 57.50 247.50 0.150526 -202.50 57.50 252.50 0.335683 -202.50 57.50 257.50 0.705297 -202.50 57.50 262.50 1.26427 -202.50 57.50 267.50 2.05638 -202.50 57.50 272.50 3.12281 -202.50 57.50 277.50 4.34924 -202.50 57.50 282.50 5.08928 -202.50 57.50 287.50 4.86539 -202.50 57.50 292.50 4.07693 -202.50 57.50 297.50 2.72937 -202.50 57.50 302.50 1.4484 -202.50 57.50 307.50 0.540127 -202.50 57.50 312.50 0.149992 -202.50 57.50 317.50 0.0327451 -202.50 57.50 322.50 0.00826451 -202.50 57.50 327.50 0.0156722 -202.50 57.50 332.50 0.0566753 -202.50 57.50 337.50 0.150525 -202.50 57.50 342.50 0.335681 -202.50 57.50 347.50 0.705295 -202.50 57.50 352.50 1.26427 -202.50 57.50 357.50 2.05638 -202.50 62.50 2.50 2.28343 -202.50 62.50 7.50 3.66596 -202.50 62.50 12.50 4.6553 -202.50 62.50 17.50 4.97593 -202.50 62.50 22.50 4.55045 -202.50 62.50 27.50 3.41962 -202.50 62.50 32.50 1.90083 -202.50 62.50 37.50 0.823461 -202.50 62.50 42.50 0.244396 -202.50 62.50 47.50 0.0453351 -202.50 62.50 52.50 0.0100612 -202.50 62.50 57.50 0.0099559 -202.50 62.50 62.50 0.0287022 -202.50 62.50 67.50 0.0745229 -202.50 62.50 72.50 0.168753 -202.50 62.50 77.50 0.385374 -202.50 62.50 82.50 0.78064 -202.50 62.50 87.50 1.33413 -202.50 62.50 92.50 2.28343 -202.50 62.50 97.50 3.66596 -202.50 62.50 102.50 4.65531 -202.50 62.50 107.50 4.97593 -202.50 62.50 112.50 4.55045 -202.50 62.50 117.50 3.41962 -202.50 62.50 122.50 1.90083 -202.50 62.50 127.50 0.823461 -202.50 62.50 132.50 0.244396 -202.50 62.50 137.50 0.0453351 -202.50 62.50 142.50 0.0100612 -202.50 62.50 147.50 0.00995591 -202.50 62.50 152.50 0.0287021 -202.50 62.50 157.50 0.0745227 -202.50 62.50 162.50 0.168753 -202.50 62.50 167.50 0.385374 -202.50 62.50 172.50 0.780639 -202.50 62.50 177.50 1.33413 -202.50 62.50 182.50 2.28343 -202.50 62.50 187.50 3.66596 -202.50 62.50 192.50 4.6553 -202.50 62.50 197.50 4.97593 -202.50 62.50 202.50 4.55045 -202.50 62.50 207.50 3.41962 -202.50 62.50 212.50 1.90083 -202.50 62.50 217.50 0.823461 -202.50 62.50 222.50 0.244396 -202.50 62.50 227.50 0.0453351 -202.50 62.50 232.50 0.0100612 -202.50 62.50 237.50 0.0099559 -202.50 62.50 242.50 0.0287022 -202.50 62.50 247.50 0.074523 -202.50 62.50 252.50 0.168754 -202.50 62.50 257.50 0.385374 -202.50 62.50 262.50 0.78064 -202.50 62.50 267.50 1.33413 -202.50 62.50 272.50 2.28343 -202.50 62.50 277.50 3.66596 -202.50 62.50 282.50 4.6553 -202.50 62.50 287.50 4.97593 -202.50 62.50 292.50 4.55045 -202.50 62.50 297.50 3.41962 -202.50 62.50 302.50 1.90083 -202.50 62.50 307.50 0.823462 -202.50 62.50 312.50 0.244396 -202.50 62.50 317.50 0.0453352 -202.50 62.50 322.50 0.0100613 -202.50 62.50 327.50 0.00995589 -202.50 62.50 332.50 0.0287021 -202.50 62.50 337.50 0.0745226 -202.50 62.50 342.50 0.168753 -202.50 62.50 347.50 0.385374 -202.50 62.50 352.50 0.780638 -202.50 62.50 357.50 1.33413 -202.50 67.50 2.50 1.58451 -202.50 67.50 7.50 2.79226 -202.50 67.50 12.50 3.8505 -202.50 67.50 17.50 4.45135 -202.50 67.50 22.50 4.34267 -202.50 67.50 27.50 3.3653 -202.50 67.50 32.50 2.04 -202.50 67.50 37.50 0.956496 -202.50 67.50 42.50 0.33521 -202.50 67.50 47.50 0.0861293 -202.50 67.50 52.50 0.0180849 -202.50 67.50 57.50 0.00788941 -202.50 67.50 62.50 0.0148723 -202.50 67.50 67.50 0.0468313 -202.50 67.50 72.50 0.121093 -202.50 67.50 77.50 0.241472 -202.50 67.50 82.50 0.486185 -202.50 67.50 87.50 0.837527 -202.50 67.50 92.50 1.58451 -202.50 67.50 97.50 2.79226 -202.50 67.50 102.50 3.8505 -202.50 67.50 107.50 4.45135 -202.50 67.50 112.50 4.34267 -202.50 67.50 117.50 3.3653 -202.50 67.50 122.50 2.04 -202.50 67.50 127.50 0.956495 -202.50 67.50 132.50 0.33521 -202.50 67.50 137.50 0.0861293 -202.50 67.50 142.50 0.0180849 -202.50 67.50 147.50 0.00788943 -202.50 67.50 152.50 0.0148723 -202.50 67.50 157.50 0.0468313 -202.50 67.50 162.50 0.121093 -202.50 67.50 167.50 0.241472 -202.50 67.50 172.50 0.486185 -202.50 67.50 177.50 0.837527 -202.50 67.50 182.50 1.58451 -202.50 67.50 187.50 2.79226 -202.50 67.50 192.50 3.8505 -202.50 67.50 197.50 4.45135 -202.50 67.50 202.50 4.34267 -202.50 67.50 207.50 3.3653 -202.50 67.50 212.50 2.04 -202.50 67.50 217.50 0.956497 -202.50 67.50 222.50 0.335211 -202.50 67.50 227.50 0.0861294 -202.50 67.50 232.50 0.0180848 -202.50 67.50 237.50 0.00788944 -202.50 67.50 242.50 0.0148723 -202.50 67.50 247.50 0.0468314 -202.50 67.50 252.50 0.121093 -202.50 67.50 257.50 0.241472 -202.50 67.50 262.50 0.486186 -202.50 67.50 267.50 0.837528 -202.50 67.50 272.50 1.58451 -202.50 67.50 277.50 2.79226 -202.50 67.50 282.50 3.8505 -202.50 67.50 287.50 4.45135 -202.50 67.50 292.50 4.34267 -202.50 67.50 297.50 3.3653 -202.50 67.50 302.50 2.04001 -202.50 67.50 307.50 0.956497 -202.50 67.50 312.50 0.335211 -202.50 67.50 317.50 0.0861294 -202.50 67.50 322.50 0.0180849 -202.50 67.50 327.50 0.00788941 -202.50 67.50 332.50 0.0148722 -202.50 67.50 337.50 0.0468312 -202.50 67.50 342.50 0.121093 -202.50 67.50 347.50 0.241472 -202.50 67.50 352.50 0.486184 -202.50 67.50 357.50 0.837526 -202.50 72.50 2.50 0.990531 -202.50 72.50 7.50 1.87704 -202.50 72.50 12.50 2.84176 -202.50 72.50 17.50 3.40511 -202.50 72.50 22.50 3.38126 -202.50 72.50 27.50 2.70409 -202.50 72.50 32.50 1.76307 -202.50 72.50 37.50 0.860057 -202.50 72.50 42.50 0.328941 -202.50 72.50 47.50 0.103199 -202.50 72.50 52.50 0.0241844 -202.50 72.50 57.50 0.00863224 -202.50 72.50 62.50 0.0173685 -202.50 72.50 67.50 0.0461834 -202.50 72.50 72.50 0.124869 -202.50 72.50 77.50 0.199709 -202.50 72.50 82.50 0.307753 -202.50 72.50 87.50 0.507491 -202.50 72.50 92.50 0.990532 -202.50 72.50 97.50 1.87704 -202.50 72.50 102.50 2.84177 -202.50 72.50 107.50 3.40511 -202.50 72.50 112.50 3.38126 -202.50 72.50 117.50 2.70409 -202.50 72.50 122.50 1.76307 -202.50 72.50 127.50 0.860057 -202.50 72.50 132.50 0.328941 -202.50 72.50 137.50 0.103199 -202.50 72.50 142.50 0.0241844 -202.50 72.50 147.50 0.00863225 -202.50 72.50 152.50 0.0173685 -202.50 72.50 157.50 0.0461833 -202.50 72.50 162.50 0.124869 -202.50 72.50 167.50 0.199709 -202.50 72.50 172.50 0.307753 -202.50 72.50 177.50 0.507491 -202.50 72.50 182.50 0.990533 -202.50 72.50 187.50 1.87704 -202.50 72.50 192.50 2.84177 -202.50 72.50 197.50 3.40511 -202.50 72.50 202.50 3.38126 -202.50 72.50 207.50 2.70409 -202.50 72.50 212.50 1.76307 -202.50 72.50 217.50 0.860058 -202.50 72.50 222.50 0.328941 -202.50 72.50 227.50 0.103199 -202.50 72.50 232.50 0.0241843 -202.50 72.50 237.50 0.00863222 -202.50 72.50 242.50 0.0173686 -202.50 72.50 247.50 0.0461835 -202.50 72.50 252.50 0.124869 -202.50 72.50 257.50 0.19971 -202.50 72.50 262.50 0.307753 -202.50 72.50 267.50 0.507492 -202.50 72.50 272.50 0.990531 -202.50 72.50 277.50 1.87704 -202.50 72.50 282.50 2.84176 -202.50 72.50 287.50 3.40511 -202.50 72.50 292.50 3.38127 -202.50 72.50 297.50 2.70409 -202.50 72.50 302.50 1.76308 -202.50 72.50 307.50 0.860058 -202.50 72.50 312.50 0.328941 -202.50 72.50 317.50 0.103199 -202.50 72.50 322.50 0.0241845 -202.50 72.50 327.50 0.00863228 -202.50 72.50 332.50 0.0173685 -202.50 72.50 337.50 0.0461833 -202.50 72.50 342.50 0.124869 -202.50 72.50 347.50 0.199709 -202.50 72.50 352.50 0.307753 -202.50 72.50 357.50 0.507491 -202.50 77.50 2.50 0.527182 -202.50 77.50 7.50 1.13782 -202.50 77.50 12.50 1.7447 -202.50 77.50 17.50 2.18688 -202.50 77.50 22.50 2.07224 -202.50 77.50 27.50 1.6855 -202.50 77.50 32.50 1.16453 -202.50 77.50 37.50 0.644909 -202.50 77.50 42.50 0.298138 -202.50 77.50 47.50 0.111532 -202.50 77.50 52.50 0.0287376 -202.50 77.50 57.50 0.00952981 -202.50 77.50 62.50 0.0172979 -202.50 77.50 67.50 0.0442533 -202.50 77.50 72.50 0.0988984 -202.50 77.50 77.50 0.174708 -202.50 77.50 82.50 0.199615 -202.50 77.50 87.50 0.286755 -202.50 77.50 92.50 0.527183 -202.50 77.50 97.50 1.13782 -202.50 77.50 102.50 1.7447 -202.50 77.50 107.50 2.18688 -202.50 77.50 112.50 2.07224 -202.50 77.50 117.50 1.6855 -202.50 77.50 122.50 1.16453 -202.50 77.50 127.50 0.644908 -202.50 77.50 132.50 0.298138 -202.50 77.50 137.50 0.111532 -202.50 77.50 142.50 0.0287376 -202.50 77.50 147.50 0.00952982 -202.50 77.50 152.50 0.0172979 -202.50 77.50 157.50 0.0442532 -202.50 77.50 162.50 0.0988983 -202.50 77.50 167.50 0.174708 -202.50 77.50 172.50 0.199615 -202.50 77.50 177.50 0.286755 -202.50 77.50 182.50 0.527183 -202.50 77.50 187.50 1.13782 -202.50 77.50 192.50 1.7447 -202.50 77.50 197.50 2.18688 -202.50 77.50 202.50 2.07224 -202.50 77.50 207.50 1.6855 -202.50 77.50 212.50 1.16453 -202.50 77.50 217.50 0.644909 -202.50 77.50 222.50 0.298138 -202.50 77.50 227.50 0.111532 -202.50 77.50 232.50 0.0287375 -202.50 77.50 237.50 0.00952981 -202.50 77.50 242.50 0.017298 -202.50 77.50 247.50 0.0442533 -202.50 77.50 252.50 0.0988986 -202.50 77.50 257.50 0.174708 -202.50 77.50 262.50 0.199615 -202.50 77.50 267.50 0.286755 -202.50 77.50 272.50 0.527183 -202.50 77.50 277.50 1.13782 -202.50 77.50 282.50 1.7447 -202.50 77.50 287.50 2.18688 -202.50 77.50 292.50 2.07224 -202.50 77.50 297.50 1.6855 -202.50 77.50 302.50 1.16453 -202.50 77.50 307.50 0.644909 -202.50 77.50 312.50 0.298138 -202.50 77.50 317.50 0.111532 -202.50 77.50 322.50 0.0287377 -202.50 77.50 327.50 0.00952984 -202.50 77.50 332.50 0.0172979 -202.50 77.50 337.50 0.0442532 -202.50 77.50 342.50 0.0988981 -202.50 77.50 347.50 0.174708 -202.50 77.50 352.50 0.199615 -202.50 77.50 357.50 0.286755 -202.50 82.50 2.50 0.24067 -202.50 82.50 7.50 0.544789 -202.50 82.50 12.50 0.900072 -202.50 82.50 17.50 0.999401 -202.50 82.50 22.50 0.937334 -202.50 82.50 27.50 0.807817 -202.50 82.50 32.50 0.611403 -202.50 82.50 37.50 0.397169 -202.50 82.50 42.50 0.213845 -202.50 82.50 47.50 0.0852897 -202.50 82.50 52.50 0.0257014 -202.50 82.50 57.50 0.012744 -202.50 82.50 62.50 0.0225818 -202.50 82.50 67.50 0.0486991 -202.50 82.50 72.50 0.0891882 -202.50 82.50 77.50 0.119734 -202.50 82.50 82.50 0.138644 -202.50 82.50 87.50 0.147629 -202.50 82.50 92.50 0.24067 -202.50 82.50 97.50 0.544789 -202.50 82.50 102.50 0.900073 -202.50 82.50 107.50 0.999402 -202.50 82.50 112.50 0.937335 -202.50 82.50 117.50 0.807817 -202.50 82.50 122.50 0.611402 -202.50 82.50 127.50 0.397169 -202.50 82.50 132.50 0.213845 -202.50 82.50 137.50 0.0852897 -202.50 82.50 142.50 0.0257014 -202.50 82.50 147.50 0.0127439 -202.50 82.50 152.50 0.0225818 -202.50 82.50 157.50 0.048699 -202.50 82.50 162.50 0.0891881 -202.50 82.50 167.50 0.119734 -202.50 82.50 172.50 0.138644 -202.50 82.50 177.50 0.147629 -202.50 82.50 182.50 0.24067 -202.50 82.50 187.50 0.544789 -202.50 82.50 192.50 0.900073 -202.50 82.50 197.50 0.999402 -202.50 82.50 202.50 0.937335 -202.50 82.50 207.50 0.807817 -202.50 82.50 212.50 0.611402 -202.50 82.50 217.50 0.397169 -202.50 82.50 222.50 0.213845 -202.50 82.50 227.50 0.0852898 -202.50 82.50 232.50 0.0257013 -202.50 82.50 237.50 0.012744 -202.50 82.50 242.50 0.0225819 -202.50 82.50 247.50 0.0486992 -202.50 82.50 252.50 0.0891882 -202.50 82.50 257.50 0.119734 -202.50 82.50 262.50 0.138644 -202.50 82.50 267.50 0.147629 -202.50 82.50 272.50 0.24067 -202.50 82.50 277.50 0.544789 -202.50 82.50 282.50 0.900072 -202.50 82.50 287.50 0.999401 -202.50 82.50 292.50 0.937335 -202.50 82.50 297.50 0.807817 -202.50 82.50 302.50 0.611402 -202.50 82.50 307.50 0.397169 -202.50 82.50 312.50 0.213845 -202.50 82.50 317.50 0.0852899 -202.50 82.50 322.50 0.0257015 -202.50 82.50 327.50 0.012744 -202.50 82.50 332.50 0.0225818 -202.50 82.50 337.50 0.048699 -202.50 82.50 342.50 0.0891881 -202.50 82.50 347.50 0.119734 -202.50 82.50 352.50 0.138644 -202.50 82.50 357.50 0.147629 -202.50 87.50 2.50 0.102596 -202.50 87.50 7.50 0.216986 -202.50 87.50 12.50 0.31521 -202.50 87.50 17.50 0.378933 -202.50 87.50 22.50 0.352489 -202.50 87.50 27.50 0.314486 -202.50 87.50 32.50 0.280863 -202.50 87.50 37.50 0.201109 -202.50 87.50 42.50 0.100634 -202.50 87.50 47.50 0.0369317 -202.50 87.50 52.50 0.0173699 -202.50 87.50 57.50 0.0219536 -202.50 87.50 62.50 0.0338705 -202.50 87.50 67.50 0.0566572 -202.50 87.50 72.50 0.113762 -202.50 87.50 77.50 0.161509 -202.50 87.50 82.50 0.125017 -202.50 87.50 87.50 0.0869991 -202.50 87.50 92.50 0.102596 -202.50 87.50 97.50 0.216986 -202.50 87.50 102.50 0.31521 -202.50 87.50 107.50 0.378934 -202.50 87.50 112.50 0.352489 -202.50 87.50 117.50 0.314486 -202.50 87.50 122.50 0.280863 -202.50 87.50 127.50 0.201109 -202.50 87.50 132.50 0.100634 -202.50 87.50 137.50 0.0369318 -202.50 87.50 142.50 0.0173699 -202.50 87.50 147.50 0.0219536 -202.50 87.50 152.50 0.0338705 -202.50 87.50 157.50 0.0566572 -202.50 87.50 162.50 0.113762 -202.50 87.50 167.50 0.161509 -202.50 87.50 172.50 0.125017 -202.50 87.50 177.50 0.0869992 -202.50 87.50 182.50 0.102596 -202.50 87.50 187.50 0.216986 -202.50 87.50 192.50 0.31521 -202.50 87.50 197.50 0.378934 -202.50 87.50 202.50 0.352489 -202.50 87.50 207.50 0.314486 -202.50 87.50 212.50 0.280863 -202.50 87.50 217.50 0.201109 -202.50 87.50 222.50 0.100634 -202.50 87.50 227.50 0.0369318 -202.50 87.50 232.50 0.0173699 -202.50 87.50 237.50 0.0219536 -202.50 87.50 242.50 0.0338705 -202.50 87.50 247.50 0.0566572 -202.50 87.50 252.50 0.113762 -202.50 87.50 257.50 0.161509 -202.50 87.50 262.50 0.125017 -202.50 87.50 267.50 0.0869991 -202.50 87.50 272.50 0.102596 -202.50 87.50 277.50 0.216986 -202.50 87.50 282.50 0.31521 -202.50 87.50 287.50 0.378933 -202.50 87.50 292.50 0.352489 -202.50 87.50 297.50 0.314486 -202.50 87.50 302.50 0.280863 -202.50 87.50 307.50 0.201109 -202.50 87.50 312.50 0.100634 -202.50 87.50 317.50 0.0369318 -202.50 87.50 322.50 0.0173699 -202.50 87.50 327.50 0.0219536 -202.50 87.50 332.50 0.0338705 -202.50 87.50 337.50 0.0566571 -202.50 87.50 342.50 0.113762 -202.50 87.50 347.50 0.161509 -202.50 87.50 352.50 0.125017 -202.50 87.50 357.50 0.0869991 -202.50 92.50 2.50 0.0624685 -202.50 92.50 7.50 0.0872056 -202.50 92.50 12.50 0.134121 -202.50 92.50 17.50 0.148779 -202.50 92.50 22.50 0.129042 -202.50 92.50 27.50 0.114009 -202.50 92.50 32.50 0.102728 -202.50 92.50 37.50 0.0713706 -202.50 92.50 42.50 0.0345643 -202.50 92.50 47.50 0.0195997 -202.50 92.50 52.50 0.0345643 -202.50 92.50 57.50 0.0713707 -202.50 92.50 62.50 0.102728 -202.50 92.50 67.50 0.114009 -202.50 92.50 72.50 0.129042 -202.50 92.50 77.50 0.148779 -202.50 92.50 82.50 0.134121 -202.50 92.50 87.50 0.0872057 -202.50 92.50 92.50 0.0624686 -202.50 92.50 97.50 0.0872057 -202.50 92.50 102.50 0.134121 -202.50 92.50 107.50 0.148779 -202.50 92.50 112.50 0.129042 -202.50 92.50 117.50 0.114009 -202.50 92.50 122.50 0.102728 -202.50 92.50 127.50 0.0713706 -202.50 92.50 132.50 0.0345643 -202.50 92.50 137.50 0.0195997 -202.50 92.50 142.50 0.0345643 -202.50 92.50 147.50 0.0713706 -202.50 92.50 152.50 0.102728 -202.50 92.50 157.50 0.114009 -202.50 92.50 162.50 0.129042 -202.50 92.50 167.50 0.148779 -202.50 92.50 172.50 0.134121 -202.50 92.50 177.50 0.0872057 -202.50 92.50 182.50 0.0624686 -202.50 92.50 187.50 0.0872057 -202.50 92.50 192.50 0.134121 -202.50 92.50 197.50 0.148779 -202.50 92.50 202.50 0.129042 -202.50 92.50 207.50 0.114009 -202.50 92.50 212.50 0.102728 -202.50 92.50 217.50 0.0713706 -202.50 92.50 222.50 0.0345643 -202.50 92.50 227.50 0.0195997 -202.50 92.50 232.50 0.0345643 -202.50 92.50 237.50 0.0713707 -202.50 92.50 242.50 0.102728 -202.50 92.50 247.50 0.114009 -202.50 92.50 252.50 0.129042 -202.50 92.50 257.50 0.148779 -202.50 92.50 262.50 0.134121 -202.50 92.50 267.50 0.0872057 -202.50 92.50 272.50 0.0624686 -202.50 92.50 277.50 0.0872057 -202.50 92.50 282.50 0.134121 -202.50 92.50 287.50 0.148779 -202.50 92.50 292.50 0.129042 -202.50 92.50 297.50 0.114009 -202.50 92.50 302.50 0.102728 -202.50 92.50 307.50 0.0713706 -202.50 92.50 312.50 0.0345643 -202.50 92.50 317.50 0.0195997 -202.50 92.50 322.50 0.0345642 -202.50 92.50 327.50 0.0713706 -202.50 92.50 332.50 0.102728 -202.50 92.50 337.50 0.114009 -202.50 92.50 342.50 0.129042 -202.50 92.50 347.50 0.148779 -202.50 92.50 352.50 0.134121 -202.50 92.50 357.50 0.0872058 -202.50 97.50 2.50 0.102596 -202.50 97.50 7.50 0.0869991 -202.50 97.50 12.50 0.125017 -202.50 97.50 17.50 0.161509 -202.50 97.50 22.50 0.113762 -202.50 97.50 27.50 0.0566571 -202.50 97.50 32.50 0.0338705 -202.50 97.50 37.50 0.0219536 -202.50 97.50 42.50 0.0173699 -202.50 97.50 47.50 0.0369318 -202.50 97.50 52.50 0.100634 -202.50 97.50 57.50 0.201109 -202.50 97.50 62.50 0.280863 -202.50 97.50 67.50 0.314486 -202.50 97.50 72.50 0.352489 -202.50 97.50 77.50 0.378933 -202.50 97.50 82.50 0.31521 -202.50 97.50 87.50 0.216986 -202.50 97.50 92.50 0.102596 -202.50 97.50 97.50 0.086999 -202.50 97.50 102.50 0.125017 -202.50 97.50 107.50 0.161509 -202.50 97.50 112.50 0.113762 -202.50 97.50 117.50 0.0566571 -202.50 97.50 122.50 0.0338705 -202.50 97.50 127.50 0.0219536 -202.50 97.50 132.50 0.0173699 -202.50 97.50 137.50 0.0369318 -202.50 97.50 142.50 0.100634 -202.50 97.50 147.50 0.201109 -202.50 97.50 152.50 0.280863 -202.50 97.50 157.50 0.314486 -202.50 97.50 162.50 0.352489 -202.50 97.50 167.50 0.378933 -202.50 97.50 172.50 0.31521 -202.50 97.50 177.50 0.216986 -202.50 97.50 182.50 0.102596 -202.50 97.50 187.50 0.0869991 -202.50 97.50 192.50 0.125017 -202.50 97.50 197.50 0.161509 -202.50 97.50 202.50 0.113762 -202.50 97.50 207.50 0.0566572 -202.50 97.50 212.50 0.0338705 -202.50 97.50 217.50 0.0219536 -202.50 97.50 222.50 0.0173699 -202.50 97.50 227.50 0.0369317 -202.50 97.50 232.50 0.100634 -202.50 97.50 237.50 0.201109 -202.50 97.50 242.50 0.280863 -202.50 97.50 247.50 0.314486 -202.50 97.50 252.50 0.352489 -202.50 97.50 257.50 0.378933 -202.50 97.50 262.50 0.31521 -202.50 97.50 267.50 0.216986 -202.50 97.50 272.50 0.102596 -202.50 97.50 277.50 0.0869991 -202.50 97.50 282.50 0.125017 -202.50 97.50 287.50 0.161509 -202.50 97.50 292.50 0.113762 -202.50 97.50 297.50 0.0566572 -202.50 97.50 302.50 0.0338705 -202.50 97.50 307.50 0.0219536 -202.50 97.50 312.50 0.0173699 -202.50 97.50 317.50 0.0369317 -202.50 97.50 322.50 0.100634 -202.50 97.50 327.50 0.201109 -202.50 97.50 332.50 0.280863 -202.50 97.50 337.50 0.314486 -202.50 97.50 342.50 0.352489 -202.50 97.50 347.50 0.378933 -202.50 97.50 352.50 0.31521 -202.50 97.50 357.50 0.216986 -202.50 102.50 2.50 0.24067 -202.50 102.50 7.50 0.147629 -202.50 102.50 12.50 0.138644 -202.50 102.50 17.50 0.119734 -202.50 102.50 22.50 0.0891881 -202.50 102.50 27.50 0.048699 -202.50 102.50 32.50 0.0225818 -202.50 102.50 37.50 0.012744 -202.50 102.50 42.50 0.0257014 -202.50 102.50 47.50 0.0852898 -202.50 102.50 52.50 0.213845 -202.50 102.50 57.50 0.397169 -202.50 102.50 62.50 0.611403 -202.50 102.50 67.50 0.807817 -202.50 102.50 72.50 0.937335 -202.50 102.50 77.50 0.999401 -202.50 102.50 82.50 0.900072 -202.50 102.50 87.50 0.544788 -202.50 102.50 92.50 0.24067 -202.50 102.50 97.50 0.147629 -202.50 102.50 102.50 0.138644 -202.50 102.50 107.50 0.119734 -202.50 102.50 112.50 0.0891881 -202.50 102.50 117.50 0.048699 -202.50 102.50 122.50 0.0225818 -202.50 102.50 127.50 0.0127439 -202.50 102.50 132.50 0.0257014 -202.50 102.50 137.50 0.0852898 -202.50 102.50 142.50 0.213845 -202.50 102.50 147.50 0.397169 -202.50 102.50 152.50 0.611402 -202.50 102.50 157.50 0.807816 -202.50 102.50 162.50 0.937335 -202.50 102.50 167.50 0.9994 -202.50 102.50 172.50 0.900073 -202.50 102.50 177.50 0.544789 -202.50 102.50 182.50 0.24067 -202.50 102.50 187.50 0.147629 -202.50 102.50 192.50 0.138644 -202.50 102.50 197.50 0.119734 -202.50 102.50 202.50 0.0891882 -202.50 102.50 207.50 0.0486991 -202.50 102.50 212.50 0.0225818 -202.50 102.50 217.50 0.012744 -202.50 102.50 222.50 0.0257014 -202.50 102.50 227.50 0.0852896 -202.50 102.50 232.50 0.213845 -202.50 102.50 237.50 0.397169 -202.50 102.50 242.50 0.611402 -202.50 102.50 247.50 0.807817 -202.50 102.50 252.50 0.937334 -202.50 102.50 257.50 0.999401 -202.50 102.50 262.50 0.900072 -202.50 102.50 267.50 0.544789 -202.50 102.50 272.50 0.24067 -202.50 102.50 277.50 0.147629 -202.50 102.50 282.50 0.138644 -202.50 102.50 287.50 0.119734 -202.50 102.50 292.50 0.0891882 -202.50 102.50 297.50 0.0486991 -202.50 102.50 302.50 0.0225818 -202.50 102.50 307.50 0.012744 -202.50 102.50 312.50 0.0257014 -202.50 102.50 317.50 0.0852896 -202.50 102.50 322.50 0.213845 -202.50 102.50 327.50 0.397169 -202.50 102.50 332.50 0.611402 -202.50 102.50 337.50 0.807816 -202.50 102.50 342.50 0.937335 -202.50 102.50 347.50 0.999401 -202.50 102.50 352.50 0.900073 -202.50 102.50 357.50 0.54479 -202.50 107.50 2.50 0.527183 -202.50 107.50 7.50 0.286755 -202.50 107.50 12.50 0.199615 -202.50 107.50 17.50 0.174708 -202.50 107.50 22.50 0.0988983 -202.50 107.50 27.50 0.0442532 -202.50 107.50 32.50 0.0172979 -202.50 107.50 37.50 0.00952983 -202.50 107.50 42.50 0.0287376 -202.50 107.50 47.50 0.111532 -202.50 107.50 52.50 0.298138 -202.50 107.50 57.50 0.644909 -202.50 107.50 62.50 1.16453 -202.50 107.50 67.50 1.6855 -202.50 107.50 72.50 2.07224 -202.50 107.50 77.50 2.18688 -202.50 107.50 82.50 1.7447 -202.50 107.50 87.50 1.13782 -202.50 107.50 92.50 0.527182 -202.50 107.50 97.50 0.286755 -202.50 107.50 102.50 0.199615 -202.50 107.50 107.50 0.174708 -202.50 107.50 112.50 0.0988983 -202.50 107.50 117.50 0.0442532 -202.50 107.50 122.50 0.0172979 -202.50 107.50 127.50 0.00952984 -202.50 107.50 132.50 0.0287376 -202.50 107.50 137.50 0.111532 -202.50 107.50 142.50 0.298138 -202.50 107.50 147.50 0.644909 -202.50 107.50 152.50 1.16453 -202.50 107.50 157.50 1.6855 -202.50 107.50 162.50 2.07224 -202.50 107.50 167.50 2.18688 -202.50 107.50 172.50 1.7447 -202.50 107.50 177.50 1.13782 -202.50 107.50 182.50 0.527182 -202.50 107.50 187.50 0.286755 -202.50 107.50 192.50 0.199615 -202.50 107.50 197.50 0.174708 -202.50 107.50 202.50 0.0988983 -202.50 107.50 207.50 0.0442533 -202.50 107.50 212.50 0.0172979 -202.50 107.50 217.50 0.00952981 -202.50 107.50 222.50 0.0287376 -202.50 107.50 227.50 0.111532 -202.50 107.50 232.50 0.298139 -202.50 107.50 237.50 0.644909 -202.50 107.50 242.50 1.16453 -202.50 107.50 247.50 1.6855 -202.50 107.50 252.50 2.07224 -202.50 107.50 257.50 2.18688 -202.50 107.50 262.50 1.7447 -202.50 107.50 267.50 1.13782 -202.50 107.50 272.50 0.527182 -202.50 107.50 277.50 0.286755 -202.50 107.50 282.50 0.199615 -202.50 107.50 287.50 0.174708 -202.50 107.50 292.50 0.0988983 -202.50 107.50 297.50 0.0442533 -202.50 107.50 302.50 0.0172979 -202.50 107.50 307.50 0.0095298 -202.50 107.50 312.50 0.0287375 -202.50 107.50 317.50 0.111532 -202.50 107.50 322.50 0.298138 -202.50 107.50 327.50 0.644908 -202.50 107.50 332.50 1.16453 -202.50 107.50 337.50 1.6855 -202.50 107.50 342.50 2.07224 -202.50 107.50 347.50 2.18688 -202.50 107.50 352.50 1.7447 -202.50 107.50 357.50 1.13782 -202.50 112.50 2.50 0.990531 -202.50 112.50 7.50 0.507492 -202.50 112.50 12.50 0.307753 -202.50 112.50 17.50 0.199709 -202.50 112.50 22.50 0.124869 -202.50 112.50 27.50 0.0461833 -202.50 112.50 32.50 0.0173686 -202.50 112.50 37.50 0.00863226 -202.50 112.50 42.50 0.0241844 -202.50 112.50 47.50 0.103199 -202.50 112.50 52.50 0.328942 -202.50 112.50 57.50 0.860059 -202.50 112.50 62.50 1.76308 -202.50 112.50 67.50 2.70409 -202.50 112.50 72.50 3.38127 -202.50 112.50 77.50 3.40511 -202.50 112.50 82.50 2.84177 -202.50 112.50 87.50 1.87704 -202.50 112.50 92.50 0.990531 -202.50 112.50 97.50 0.507492 -202.50 112.50 102.50 0.307753 -202.50 112.50 107.50 0.199709 -202.50 112.50 112.50 0.124869 -202.50 112.50 117.50 0.0461833 -202.50 112.50 122.50 0.0173685 -202.50 112.50 127.50 0.00863227 -202.50 112.50 132.50 0.0241845 -202.50 112.50 137.50 0.103199 -202.50 112.50 142.50 0.328941 -202.50 112.50 147.50 0.860058 -202.50 112.50 152.50 1.76307 -202.50 112.50 157.50 2.70409 -202.50 112.50 162.50 3.38126 -202.50 112.50 167.50 3.40511 -202.50 112.50 172.50 2.84177 -202.50 112.50 177.50 1.87704 -202.50 112.50 182.50 0.990531 -202.50 112.50 187.50 0.507492 -202.50 112.50 192.50 0.307753 -202.50 112.50 197.50 0.19971 -202.50 112.50 202.50 0.124869 -202.50 112.50 207.50 0.0461833 -202.50 112.50 212.50 0.0173685 -202.50 112.50 217.50 0.00863226 -202.50 112.50 222.50 0.0241844 -202.50 112.50 227.50 0.103199 -202.50 112.50 232.50 0.328942 -202.50 112.50 237.50 0.860059 -202.50 112.50 242.50 1.76308 -202.50 112.50 247.50 2.70409 -202.50 112.50 252.50 3.38127 -202.50 112.50 257.50 3.40511 -202.50 112.50 262.50 2.84176 -202.50 112.50 267.50 1.87704 -202.50 112.50 272.50 0.990531 -202.50 112.50 277.50 0.507491 -202.50 112.50 282.50 0.307753 -202.50 112.50 287.50 0.19971 -202.50 112.50 292.50 0.124869 -202.50 112.50 297.50 0.0461834 -202.50 112.50 302.50 0.0173686 -202.50 112.50 307.50 0.00863225 -202.50 112.50 312.50 0.0241844 -202.50 112.50 317.50 0.103199 -202.50 112.50 322.50 0.32894 -202.50 112.50 327.50 0.860056 -202.50 112.50 332.50 1.76307 -202.50 112.50 337.50 2.70409 -202.50 112.50 342.50 3.38126 -202.50 112.50 347.50 3.40511 -202.50 112.50 352.50 2.84177 -202.50 112.50 357.50 1.87705 -202.50 117.50 2.50 1.58451 -202.50 117.50 7.50 0.837527 -202.50 117.50 12.50 0.486186 -202.50 117.50 17.50 0.241472 -202.50 117.50 22.50 0.121093 -202.50 117.50 27.50 0.0468313 -202.50 117.50 32.50 0.0148723 -202.50 117.50 37.50 0.00788942 -202.50 117.50 42.50 0.0180849 -202.50 117.50 47.50 0.0861294 -202.50 117.50 52.50 0.335211 -202.50 117.50 57.50 0.956498 -202.50 117.50 62.50 2.04001 -202.50 117.50 67.50 3.3653 -202.50 117.50 72.50 4.34267 -202.50 117.50 77.50 4.45136 -202.50 117.50 82.50 3.8505 -202.50 117.50 87.50 2.79225 -202.50 117.50 92.50 1.58451 -202.50 117.50 97.50 0.837527 -202.50 117.50 102.50 0.486185 -202.50 117.50 107.50 0.241472 -202.50 117.50 112.50 0.121093 -202.50 117.50 117.50 0.0468313 -202.50 117.50 122.50 0.0148722 -202.50 117.50 127.50 0.00788941 -202.50 117.50 132.50 0.0180849 -202.50 117.50 137.50 0.0861294 -202.50 117.50 142.50 0.335211 -202.50 117.50 147.50 0.956497 -202.50 117.50 152.50 2.04001 -202.50 117.50 157.50 3.3653 -202.50 117.50 162.50 4.34267 -202.50 117.50 167.50 4.45135 -202.50 117.50 172.50 3.8505 -202.50 117.50 177.50 2.79226 -202.50 117.50 182.50 1.58451 -202.50 117.50 187.50 0.837527 -202.50 117.50 192.50 0.486185 -202.50 117.50 197.50 0.241472 -202.50 117.50 202.50 0.121093 -202.50 117.50 207.50 0.0468313 -202.50 117.50 212.50 0.0148723 -202.50 117.50 217.50 0.00788941 -202.50 117.50 222.50 0.0180849 -202.50 117.50 227.50 0.0861291 -202.50 117.50 232.50 0.335211 -202.50 117.50 237.50 0.956498 -202.50 117.50 242.50 2.04001 -202.50 117.50 247.50 3.3653 -202.50 117.50 252.50 4.34267 -202.50 117.50 257.50 4.45135 -202.50 117.50 262.50 3.8505 -202.50 117.50 267.50 2.79225 -202.50 117.50 272.50 1.58451 -202.50 117.50 277.50 0.837527 -202.50 117.50 282.50 0.486186 -202.50 117.50 287.50 0.241472 -202.50 117.50 292.50 0.121093 -202.50 117.50 297.50 0.0468314 -202.50 117.50 302.50 0.0148723 -202.50 117.50 307.50 0.00788942 -202.50 117.50 312.50 0.0180849 -202.50 117.50 317.50 0.0861291 -202.50 117.50 322.50 0.33521 -202.50 117.50 327.50 0.956494 -202.50 117.50 332.50 2.04 -202.50 117.50 337.50 3.3653 -202.50 117.50 342.50 4.34267 -202.50 117.50 347.50 4.45135 -202.50 117.50 352.50 3.8505 -202.50 117.50 357.50 2.79226 -202.50 122.50 2.50 2.28343 -202.50 122.50 7.50 1.33413 -202.50 122.50 12.50 0.78064 -202.50 122.50 17.50 0.385374 -202.50 122.50 22.50 0.168754 -202.50 122.50 27.50 0.0745228 -202.50 122.50 32.50 0.0287022 -202.50 122.50 37.50 0.0099559 -202.50 122.50 42.50 0.0100612 -202.50 122.50 47.50 0.0453351 -202.50 122.50 52.50 0.244396 -202.50 122.50 57.50 0.823462 -202.50 122.50 62.50 1.90083 -202.50 122.50 67.50 3.41962 -202.50 122.50 72.50 4.55045 -202.50 122.50 77.50 4.97593 -202.50 122.50 82.50 4.65531 -202.50 122.50 87.50 3.66596 -202.50 122.50 92.50 2.28343 -202.50 122.50 97.50 1.33413 -202.50 122.50 102.50 0.78064 -202.50 122.50 107.50 0.385374 -202.50 122.50 112.50 0.168753 -202.50 122.50 117.50 0.0745227 -202.50 122.50 122.50 0.0287021 -202.50 122.50 127.50 0.0099559 -202.50 122.50 132.50 0.0100612 -202.50 122.50 137.50 0.0453351 -202.50 122.50 142.50 0.244396 -202.50 122.50 147.50 0.823462 -202.50 122.50 152.50 1.90083 -202.50 122.50 157.50 3.41962 -202.50 122.50 162.50 4.55045 -202.50 122.50 167.50 4.97593 -202.50 122.50 172.50 4.65531 -202.50 122.50 177.50 3.66596 -202.50 122.50 182.50 2.28343 -202.50 122.50 187.50 1.33413 -202.50 122.50 192.50 0.78064 -202.50 122.50 197.50 0.385374 -202.50 122.50 202.50 0.168753 -202.50 122.50 207.50 0.0745228 -202.50 122.50 212.50 0.0287022 -202.50 122.50 217.50 0.00995591 -202.50 122.50 222.50 0.0100612 -202.50 122.50 227.50 0.045335 -202.50 122.50 232.50 0.244397 -202.50 122.50 237.50 0.823462 -202.50 122.50 242.50 1.90083 -202.50 122.50 247.50 3.41962 -202.50 122.50 252.50 4.55045 -202.50 122.50 257.50 4.97593 -202.50 122.50 262.50 4.6553 -202.50 122.50 267.50 3.66596 -202.50 122.50 272.50 2.28343 -202.50 122.50 277.50 1.33413 -202.50 122.50 282.50 0.78064 -202.50 122.50 287.50 0.385374 -202.50 122.50 292.50 0.168754 -202.50 122.50 297.50 0.0745229 -202.50 122.50 302.50 0.0287023 -202.50 122.50 307.50 0.00995591 -202.50 122.50 312.50 0.0100612 -202.50 122.50 317.50 0.0453349 -202.50 122.50 322.50 0.244395 -202.50 122.50 327.50 0.823459 -202.50 122.50 332.50 1.90083 -202.50 122.50 337.50 3.41962 -202.50 122.50 342.50 4.55044 -202.50 122.50 347.50 4.97593 -202.50 122.50 352.50 4.65531 -202.50 122.50 357.50 3.66596 -202.50 127.50 2.50 3.12281 -202.50 127.50 7.50 2.05638 -202.50 127.50 12.50 1.26427 -202.50 127.50 17.50 0.705297 -202.50 127.50 22.50 0.335682 -202.50 127.50 27.50 0.150526 -202.50 127.50 32.50 0.0566754 -202.50 127.50 37.50 0.0156722 -202.50 127.50 42.50 0.00826451 -202.50 127.50 47.50 0.0327451 -202.50 127.50 52.50 0.149992 -202.50 127.50 57.50 0.540127 -202.50 127.50 62.50 1.4484 -202.50 127.50 67.50 2.72937 -202.50 127.50 72.50 4.07693 -202.50 127.50 77.50 4.86539 -202.50 127.50 82.50 5.08928 -202.50 127.50 87.50 4.34924 -202.50 127.50 92.50 3.12281 -202.50 127.50 97.50 2.05638 -202.50 127.50 102.50 1.26427 -202.50 127.50 107.50 0.705296 -202.50 127.50 112.50 0.335682 -202.50 127.50 117.50 0.150526 -202.50 127.50 122.50 0.0566754 -202.50 127.50 127.50 0.0156722 -202.50 127.50 132.50 0.00826451 -202.50 127.50 137.50 0.0327451 -202.50 127.50 142.50 0.149992 -202.50 127.50 147.50 0.540127 -202.50 127.50 152.50 1.4484 -202.50 127.50 157.50 2.72937 -202.50 127.50 162.50 4.07693 -202.50 127.50 167.50 4.86539 -202.50 127.50 172.50 5.08928 -202.50 127.50 177.50 4.34924 -202.50 127.50 182.50 3.12281 -202.50 127.50 187.50 2.05638 -202.50 127.50 192.50 1.26427 -202.50 127.50 197.50 0.705296 -202.50 127.50 202.50 0.335682 -202.50 127.50 207.50 0.150526 -202.50 127.50 212.50 0.0566754 -202.50 127.50 217.50 0.0156722 -202.50 127.50 222.50 0.00826451 -202.50 127.50 227.50 0.032745 -202.50 127.50 232.50 0.149993 -202.50 127.50 237.50 0.540127 -202.50 127.50 242.50 1.4484 -202.50 127.50 247.50 2.72937 -202.50 127.50 252.50 4.07694 -202.50 127.50 257.50 4.86539 -202.50 127.50 262.50 5.08928 -202.50 127.50 267.50 4.34924 -202.50 127.50 272.50 3.12281 -202.50 127.50 277.50 2.05638 -202.50 127.50 282.50 1.26427 -202.50 127.50 287.50 0.705297 -202.50 127.50 292.50 0.335682 -202.50 127.50 297.50 0.150526 -202.50 127.50 302.50 0.0566754 -202.50 127.50 307.50 0.0156722 -202.50 127.50 312.50 0.00826451 -202.50 127.50 317.50 0.032745 -202.50 127.50 322.50 0.149992 -202.50 127.50 327.50 0.540125 -202.50 127.50 332.50 1.4484 -202.50 127.50 337.50 2.72937 -202.50 127.50 342.50 4.07693 -202.50 127.50 347.50 4.86538 -202.50 127.50 352.50 5.08928 -202.50 127.50 357.50 4.34925 -202.50 132.50 2.50 3.95126 -202.50 132.50 7.50 2.87227 -202.50 132.50 12.50 1.90678 -202.50 132.50 17.50 1.1717 -202.50 132.50 22.50 0.615838 -202.50 132.50 27.50 0.264477 -202.50 132.50 32.50 0.0934184 -202.50 132.50 37.50 0.0326858 -202.50 132.50 42.50 0.0113143 -202.50 132.50 47.50 0.0175414 -202.50 132.50 52.50 0.081341 -202.50 132.50 57.50 0.320984 -202.50 132.50 62.50 0.867071 -202.50 132.50 67.50 1.85735 -202.50 132.50 72.50 3.16164 -202.50 132.50 77.50 4.29494 -202.50 132.50 82.50 4.98895 -202.50 132.50 87.50 4.73907 -202.50 132.50 92.50 3.95126 -202.50 132.50 97.50 2.87227 -202.50 132.50 102.50 1.90678 -202.50 132.50 107.50 1.1717 -202.50 132.50 112.50 0.615838 -202.50 132.50 117.50 0.264477 -202.50 132.50 122.50 0.0934184 -202.50 132.50 127.50 0.0326858 -202.50 132.50 132.50 0.0113143 -202.50 132.50 137.50 0.0175414 -202.50 132.50 142.50 0.081341 -202.50 132.50 147.50 0.320984 -202.50 132.50 152.50 0.86707 -202.50 132.50 157.50 1.85735 -202.50 132.50 162.50 3.16164 -202.50 132.50 167.50 4.29494 -202.50 132.50 172.50 4.98895 -202.50 132.50 177.50 4.73907 -202.50 132.50 182.50 3.95126 -202.50 132.50 187.50 2.87227 -202.50 132.50 192.50 1.90678 -202.50 132.50 197.50 1.1717 -202.50 132.50 202.50 0.615837 -202.50 132.50 207.50 0.264477 -202.50 132.50 212.50 0.0934184 -202.50 132.50 217.50 0.0326858 -202.50 132.50 222.50 0.0113143 -202.50 132.50 227.50 0.0175414 -202.50 132.50 232.50 0.0813412 -202.50 132.50 237.50 0.320985 -202.50 132.50 242.50 0.867071 -202.50 132.50 247.50 1.85735 -202.50 132.50 252.50 3.16164 -202.50 132.50 257.50 4.29494 -202.50 132.50 262.50 4.98895 -202.50 132.50 267.50 4.73907 -202.50 132.50 272.50 3.95126 -202.50 132.50 277.50 2.87227 -202.50 132.50 282.50 1.90678 -202.50 132.50 287.50 1.1717 -202.50 132.50 292.50 0.615838 -202.50 132.50 297.50 0.264477 -202.50 132.50 302.50 0.0934185 -202.50 132.50 307.50 0.0326858 -202.50 132.50 312.50 0.0113143 -202.50 132.50 317.50 0.0175413 -202.50 132.50 322.50 0.0813408 -202.50 132.50 327.50 0.320983 -202.50 132.50 332.50 0.867068 -202.50 132.50 337.50 1.85735 -202.50 132.50 342.50 3.16163 -202.50 132.50 347.50 4.29494 -202.50 132.50 352.50 4.98895 -202.50 132.50 357.50 4.73907 -202.50 137.50 2.50 4.32007 -202.50 137.50 7.50 3.4196 -202.50 137.50 12.50 2.48277 -202.50 137.50 17.50 1.70873 -202.50 137.50 22.50 0.994167 -202.50 137.50 27.50 0.416995 -202.50 137.50 32.50 0.159769 -202.50 137.50 37.50 0.0497084 -202.50 137.50 42.50 0.0122159 -202.50 137.50 47.50 0.0122731 -202.50 137.50 52.50 0.0359634 -202.50 137.50 57.50 0.155387 -202.50 137.50 62.50 0.435016 -202.50 137.50 67.50 1.09209 -202.50 137.50 72.50 2.1849 -202.50 137.50 77.50 3.38724 -202.50 137.50 82.50 4.34864 -202.50 137.50 87.50 4.66925 -202.50 137.50 92.50 4.32007 -202.50 137.50 97.50 3.4196 -202.50 137.50 102.50 2.48276 -202.50 137.50 107.50 1.70873 -202.50 137.50 112.50 0.994167 -202.50 137.50 117.50 0.416995 -202.50 137.50 122.50 0.159769 -202.50 137.50 127.50 0.0497083 -202.50 137.50 132.50 0.0122159 -202.50 137.50 137.50 0.0122731 -202.50 137.50 142.50 0.0359635 -202.50 137.50 147.50 0.155387 -202.50 137.50 152.50 0.435016 -202.50 137.50 157.50 1.09209 -202.50 137.50 162.50 2.1849 -202.50 137.50 167.50 3.38724 -202.50 137.50 172.50 4.34864 -202.50 137.50 177.50 4.66925 -202.50 137.50 182.50 4.32006 -202.50 137.50 187.50 3.4196 -202.50 137.50 192.50 2.48276 -202.50 137.50 197.50 1.70873 -202.50 137.50 202.50 0.994167 -202.50 137.50 207.50 0.416995 -202.50 137.50 212.50 0.159769 -202.50 137.50 217.50 0.0497084 -202.50 137.50 222.50 0.0122159 -202.50 137.50 227.50 0.0122731 -202.50 137.50 232.50 0.0359636 -202.50 137.50 237.50 0.155387 -202.50 137.50 242.50 0.435016 -202.50 137.50 247.50 1.09209 -202.50 137.50 252.50 2.1849 -202.50 137.50 257.50 3.38724 -202.50 137.50 262.50 4.34864 -202.50 137.50 267.50 4.66925 -202.50 137.50 272.50 4.32006 -202.50 137.50 277.50 3.4196 -202.50 137.50 282.50 2.48276 -202.50 137.50 287.50 1.70873 -202.50 137.50 292.50 0.994168 -202.50 137.50 297.50 0.416995 -202.50 137.50 302.50 0.159769 -202.50 137.50 307.50 0.0497084 -202.50 137.50 312.50 0.0122159 -202.50 137.50 317.50 0.0122731 -202.50 137.50 322.50 0.0359633 -202.50 137.50 327.50 0.155387 -202.50 137.50 332.50 0.435015 -202.50 137.50 337.50 1.09209 -202.50 137.50 342.50 2.1849 -202.50 137.50 347.50 3.38723 -202.50 137.50 352.50 4.34864 -202.50 137.50 357.50 4.66925 -202.50 142.50 2.50 3.95126 -202.50 142.50 7.50 3.40139 -202.50 142.50 12.50 2.75895 -202.50 142.50 17.50 2.13049 -202.50 142.50 22.50 1.35737 -202.50 142.50 27.50 0.639225 -202.50 142.50 32.50 0.221197 -202.50 142.50 37.50 0.0653321 -202.50 142.50 42.50 0.0174266 -202.50 142.50 47.50 0.00680786 -202.50 142.50 52.50 0.0171215 -202.50 142.50 57.50 0.0597781 -202.50 142.50 62.50 0.193327 -202.50 142.50 67.50 0.573799 -202.50 142.50 72.50 1.31015 -202.50 142.50 77.50 2.33596 -202.50 142.50 82.50 3.33049 -202.50 142.50 87.50 3.98414 -202.50 142.50 92.50 3.95126 -202.50 142.50 97.50 3.40139 -202.50 142.50 102.50 2.75895 -202.50 142.50 107.50 2.13049 -202.50 142.50 112.50 1.35737 -202.50 142.50 117.50 0.639225 -202.50 142.50 122.50 0.221197 -202.50 142.50 127.50 0.065332 -202.50 142.50 132.50 0.0174266 -202.50 142.50 137.50 0.00680786 -202.50 142.50 142.50 0.0171215 -202.50 142.50 147.50 0.0597781 -202.50 142.50 152.50 0.193327 -202.50 142.50 157.50 0.573798 -202.50 142.50 162.50 1.31015 -202.50 142.50 167.50 2.33596 -202.50 142.50 172.50 3.33049 -202.50 142.50 177.50 3.98414 -202.50 142.50 182.50 3.95126 -202.50 142.50 187.50 3.40139 -202.50 142.50 192.50 2.75895 -202.50 142.50 197.50 2.13049 -202.50 142.50 202.50 1.35737 -202.50 142.50 207.50 0.639225 -202.50 142.50 212.50 0.221197 -202.50 142.50 217.50 0.0653321 -202.50 142.50 222.50 0.0174267 -202.50 142.50 227.50 0.00680786 -202.50 142.50 232.50 0.0171215 -202.50 142.50 237.50 0.0597782 -202.50 142.50 242.50 0.193327 -202.50 142.50 247.50 0.573798 -202.50 142.50 252.50 1.31015 -202.50 142.50 257.50 2.33596 -202.50 142.50 262.50 3.33049 -202.50 142.50 267.50 3.98414 -202.50 142.50 272.50 3.95126 -202.50 142.50 277.50 3.40139 -202.50 142.50 282.50 2.75895 -202.50 142.50 287.50 2.13049 -202.50 142.50 292.50 1.35737 -202.50 142.50 297.50 0.639226 -202.50 142.50 302.50 0.221198 -202.50 142.50 307.50 0.0653321 -202.50 142.50 312.50 0.0174266 -202.50 142.50 317.50 0.00680786 -202.50 142.50 322.50 0.0171214 -202.50 142.50 327.50 0.0597779 -202.50 142.50 332.50 0.193326 -202.50 142.50 337.50 0.573797 -202.50 142.50 342.50 1.31014 -202.50 142.50 347.50 2.33596 -202.50 142.50 352.50 3.33049 -202.50 142.50 357.50 3.98414 -202.50 147.50 2.50 3.12281 -202.50 147.50 7.50 2.93791 -202.50 147.50 12.50 2.65324 -202.50 147.50 17.50 2.26821 -202.50 147.50 22.50 1.57418 -202.50 147.50 27.50 0.811572 -202.50 147.50 32.50 0.31374 -202.50 147.50 37.50 0.100307 -202.50 147.50 42.50 0.0307392 -202.50 147.50 47.50 0.0110938 -202.50 147.50 52.50 0.00794411 -202.50 147.50 57.50 0.0210779 -202.50 147.50 62.50 0.0813847 -202.50 147.50 67.50 0.268913 -202.50 147.50 72.50 0.691645 -202.50 147.50 77.50 1.39583 -202.50 147.50 82.50 2.22086 -202.50 147.50 87.50 2.92586 -202.50 147.50 92.50 3.12281 -202.50 147.50 97.50 2.93791 -202.50 147.50 102.50 2.65324 -202.50 147.50 107.50 2.26821 -202.50 147.50 112.50 1.57418 -202.50 147.50 117.50 0.811572 -202.50 147.50 122.50 0.31374 -202.50 147.50 127.50 0.100306 -202.50 147.50 132.50 0.0307391 -202.50 147.50 137.50 0.0110938 -202.50 147.50 142.50 0.00794412 -202.50 147.50 147.50 0.0210779 -202.50 147.50 152.50 0.0813847 -202.50 147.50 157.50 0.268913 -202.50 147.50 162.50 0.691645 -202.50 147.50 167.50 1.39583 -202.50 147.50 172.50 2.22086 -202.50 147.50 177.50 2.92585 -202.50 147.50 182.50 3.12281 -202.50 147.50 187.50 2.93791 -202.50 147.50 192.50 2.65325 -202.50 147.50 197.50 2.26821 -202.50 147.50 202.50 1.57418 -202.50 147.50 207.50 0.811572 -202.50 147.50 212.50 0.31374 -202.50 147.50 217.50 0.100307 -202.50 147.50 222.50 0.0307392 -202.50 147.50 227.50 0.0110938 -202.50 147.50 232.50 0.00794412 -202.50 147.50 237.50 0.0210779 -202.50 147.50 242.50 0.0813847 -202.50 147.50 247.50 0.268913 -202.50 147.50 252.50 0.691645 -202.50 147.50 257.50 1.39583 -202.50 147.50 262.50 2.22086 -202.50 147.50 267.50 2.92586 -202.50 147.50 272.50 3.12281 -202.50 147.50 277.50 2.93791 -202.50 147.50 282.50 2.65324 -202.50 147.50 287.50 2.26821 -202.50 147.50 292.50 1.57418 -202.50 147.50 297.50 0.811573 -202.50 147.50 302.50 0.313741 -202.50 147.50 307.50 0.100307 -202.50 147.50 312.50 0.0307392 -202.50 147.50 317.50 0.0110938 -202.50 147.50 322.50 0.0079441 -202.50 147.50 327.50 0.0210778 -202.50 147.50 332.50 0.0813844 -202.50 147.50 337.50 0.268912 -202.50 147.50 342.50 0.691644 -202.50 147.50 347.50 1.39583 -202.50 147.50 352.50 2.22085 -202.50 147.50 357.50 2.92585 -202.50 152.50 2.50 2.28343 -202.50 152.50 7.50 2.35998 -202.50 152.50 12.50 2.32479 -202.50 152.50 17.50 2.1941 -202.50 152.50 22.50 1.66379 -202.50 152.50 27.50 0.961775 -202.50 152.50 32.50 0.446187 -202.50 152.50 37.50 0.175254 -202.50 152.50 42.50 0.0640098 -202.50 152.50 47.50 0.0215104 -202.50 152.50 52.50 0.00698155 -202.50 152.50 57.50 0.00898051 -202.50 152.50 62.50 0.0367357 -202.50 152.50 67.50 0.125017 -202.50 152.50 72.50 0.378185 -202.50 152.50 77.50 0.781422 -202.50 152.50 82.50 1.40864 -202.50 152.50 87.50 1.94106 -202.50 152.50 92.50 2.28343 -202.50 152.50 97.50 2.35998 -202.50 152.50 102.50 2.32479 -202.50 152.50 107.50 2.1941 -202.50 152.50 112.50 1.66379 -202.50 152.50 117.50 0.961774 -202.50 152.50 122.50 0.446187 -202.50 152.50 127.50 0.175254 -202.50 152.50 132.50 0.0640098 -202.50 152.50 137.50 0.0215104 -202.50 152.50 142.50 0.00698155 -202.50 152.50 147.50 0.00898052 -202.50 152.50 152.50 0.0367356 -202.50 152.50 157.50 0.125017 -202.50 152.50 162.50 0.378185 -202.50 152.50 167.50 0.781422 -202.50 152.50 172.50 1.40864 -202.50 152.50 177.50 1.94106 -202.50 152.50 182.50 2.28343 -202.50 152.50 187.50 2.35998 -202.50 152.50 192.50 2.32479 -202.50 152.50 197.50 2.1941 -202.50 152.50 202.50 1.66379 -202.50 152.50 207.50 0.961775 -202.50 152.50 212.50 0.446187 -202.50 152.50 217.50 0.175254 -202.50 152.50 222.50 0.0640098 -202.50 152.50 227.50 0.0215104 -202.50 152.50 232.50 0.00698154 -202.50 152.50 237.50 0.00898051 -202.50 152.50 242.50 0.0367357 -202.50 152.50 247.50 0.125017 -202.50 152.50 252.50 0.378185 -202.50 152.50 257.50 0.781423 -202.50 152.50 262.50 1.40864 -202.50 152.50 267.50 1.94106 -202.50 152.50 272.50 2.28343 -202.50 152.50 277.50 2.35998 -202.50 152.50 282.50 2.32479 -202.50 152.50 287.50 2.1941 -202.50 152.50 292.50 1.66379 -202.50 152.50 297.50 0.961776 -202.50 152.50 302.50 0.446187 -202.50 152.50 307.50 0.175254 -202.50 152.50 312.50 0.0640098 -202.50 152.50 317.50 0.0215104 -202.50 152.50 322.50 0.00698156 -202.50 152.50 327.50 0.00898048 -202.50 152.50 332.50 0.0367355 -202.50 152.50 337.50 0.125016 -202.50 152.50 342.50 0.378184 -202.50 152.50 347.50 0.781421 -202.50 152.50 352.50 1.40864 -202.50 152.50 357.50 1.94106 -202.50 157.50 2.50 1.58451 -202.50 157.50 7.50 1.78921 -202.50 157.50 12.50 1.93051 -202.50 157.50 17.50 1.96043 -202.50 157.50 22.50 1.67424 -202.50 157.50 27.50 1.12864 -202.50 157.50 32.50 0.613146 -202.50 157.50 37.50 0.280167 -202.50 157.50 42.50 0.104566 -202.50 157.50 47.50 0.030863 -202.50 157.50 52.50 0.010662 -202.50 157.50 57.50 0.0126958 -202.50 157.50 62.50 0.0331191 -202.50 157.50 67.50 0.0958949 -202.50 157.50 72.50 0.231887 -202.50 157.50 77.50 0.497712 -202.50 157.50 82.50 0.880206 -202.50 157.50 87.50 1.23133 -202.50 157.50 92.50 1.58451 -202.50 157.50 97.50 1.78921 -202.50 157.50 102.50 1.93051 -202.50 157.50 107.50 1.96043 -202.50 157.50 112.50 1.67424 -202.50 157.50 117.50 1.12864 -202.50 157.50 122.50 0.613145 -202.50 157.50 127.50 0.280167 -202.50 157.50 132.50 0.104566 -202.50 157.50 137.50 0.030863 -202.50 157.50 142.50 0.010662 -202.50 157.50 147.50 0.0126958 -202.50 157.50 152.50 0.0331191 -202.50 157.50 157.50 0.0958946 -202.50 157.50 162.50 0.231887 -202.50 157.50 167.50 0.497712 -202.50 157.50 172.50 0.880205 -202.50 157.50 177.50 1.23133 -202.50 157.50 182.50 1.58451 -202.50 157.50 187.50 1.78921 -202.50 157.50 192.50 1.93051 -202.50 157.50 197.50 1.96043 -202.50 157.50 202.50 1.67424 -202.50 157.50 207.50 1.12864 -202.50 157.50 212.50 0.613146 -202.50 157.50 217.50 0.280167 -202.50 157.50 222.50 0.104566 -202.50 157.50 227.50 0.030863 -202.50 157.50 232.50 0.010662 -202.50 157.50 237.50 0.0126958 -202.50 157.50 242.50 0.0331191 -202.50 157.50 247.50 0.0958948 -202.50 157.50 252.50 0.231887 -202.50 157.50 257.50 0.497712 -202.50 157.50 262.50 0.880206 -202.50 157.50 267.50 1.23133 -202.50 157.50 272.50 1.58451 -202.50 157.50 277.50 1.7892 -202.50 157.50 282.50 1.93051 -202.50 157.50 287.50 1.96043 -202.50 157.50 292.50 1.67424 -202.50 157.50 297.50 1.12864 -202.50 157.50 302.50 0.613146 -202.50 157.50 307.50 0.280167 -202.50 157.50 312.50 0.104566 -202.50 157.50 317.50 0.030863 -202.50 157.50 322.50 0.010662 -202.50 157.50 327.50 0.0126958 -202.50 157.50 332.50 0.0331189 -202.50 157.50 337.50 0.0958946 -202.50 157.50 342.50 0.231887 -202.50 157.50 347.50 0.497711 -202.50 157.50 352.50 0.880205 -202.50 157.50 357.50 1.23133 -202.50 162.50 2.50 0.990532 -202.50 162.50 7.50 1.2191 -202.50 162.50 12.50 1.47733 -202.50 162.50 17.50 1.68049 -202.50 162.50 22.50 1.6252 -202.50 162.50 27.50 1.24457 -202.50 162.50 32.50 0.745595 -202.50 162.50 37.50 0.352546 -202.50 162.50 42.50 0.130404 -202.50 162.50 47.50 0.039771 -202.50 162.50 52.50 0.0157651 -202.50 162.50 57.50 0.0310734 -202.50 162.50 62.50 0.071219 -202.50 162.50 67.50 0.11271 -202.50 162.50 72.50 0.180535 -202.50 162.50 77.50 0.327898 -202.50 162.50 82.50 0.504197 -202.50 162.50 87.50 0.731449 -202.50 162.50 92.50 0.990532 -202.50 162.50 97.50 1.2191 -202.50 162.50 102.50 1.47733 -202.50 162.50 107.50 1.68049 -202.50 162.50 112.50 1.6252 -202.50 162.50 117.50 1.24457 -202.50 162.50 122.50 0.745595 -202.50 162.50 127.50 0.352546 -202.50 162.50 132.50 0.130404 -202.50 162.50 137.50 0.039771 -202.50 162.50 142.50 0.0157651 -202.50 162.50 147.50 0.0310734 -202.50 162.50 152.50 0.0712189 -202.50 162.50 157.50 0.11271 -202.50 162.50 162.50 0.180535 -202.50 162.50 167.50 0.327897 -202.50 162.50 172.50 0.504197 -202.50 162.50 177.50 0.731449 -202.50 162.50 182.50 0.990532 -202.50 162.50 187.50 1.2191 -202.50 162.50 192.50 1.47733 -202.50 162.50 197.50 1.68049 -202.50 162.50 202.50 1.6252 -202.50 162.50 207.50 1.24457 -202.50 162.50 212.50 0.745595 -202.50 162.50 217.50 0.352546 -202.50 162.50 222.50 0.130404 -202.50 162.50 227.50 0.0397711 -202.50 162.50 232.50 0.0157651 -202.50 162.50 237.50 0.0310734 -202.50 162.50 242.50 0.071219 -202.50 162.50 247.50 0.11271 -202.50 162.50 252.50 0.180535 -202.50 162.50 257.50 0.327898 -202.50 162.50 262.50 0.504197 -202.50 162.50 267.50 0.731449 -202.50 162.50 272.50 0.990532 -202.50 162.50 277.50 1.2191 -202.50 162.50 282.50 1.47733 -202.50 162.50 287.50 1.68049 -202.50 162.50 292.50 1.6252 -202.50 162.50 297.50 1.24457 -202.50 162.50 302.50 0.745595 -202.50 162.50 307.50 0.352546 -202.50 162.50 312.50 0.130404 -202.50 162.50 317.50 0.0397711 -202.50 162.50 322.50 0.0157651 -202.50 162.50 327.50 0.0310734 -202.50 162.50 332.50 0.0712188 -202.50 162.50 337.50 0.11271 -202.50 162.50 342.50 0.180535 -202.50 162.50 347.50 0.327897 -202.50 162.50 352.50 0.504196 -202.50 162.50 357.50 0.731448 -202.50 167.50 2.50 0.527183 -202.50 167.50 7.50 0.720483 -202.50 167.50 12.50 1.0402 -202.50 167.50 17.50 1.41763 -202.50 167.50 22.50 1.544 -202.50 167.50 27.50 1.26173 -202.50 167.50 32.50 0.759199 -202.50 167.50 37.50 0.340341 -202.50 167.50 42.50 0.127701 -202.50 167.50 47.50 0.0433834 -202.50 167.50 52.50 0.0261998 -202.50 167.50 57.50 0.0540655 -202.50 167.50 62.50 0.10044 -202.50 167.50 67.50 0.1371 -202.50 167.50 72.50 0.160424 -202.50 167.50 77.50 0.196518 -202.50 167.50 82.50 0.251369 -202.50 167.50 87.50 0.384253 -202.50 167.50 92.50 0.527183 -202.50 167.50 97.50 0.720483 -202.50 167.50 102.50 1.0402 -202.50 167.50 107.50 1.41763 -202.50 167.50 112.50 1.544 -202.50 167.50 117.50 1.26173 -202.50 167.50 122.50 0.759199 -202.50 167.50 127.50 0.340341 -202.50 167.50 132.50 0.127701 -202.50 167.50 137.50 0.0433833 -202.50 167.50 142.50 0.0261998 -202.50 167.50 147.50 0.0540655 -202.50 167.50 152.50 0.10044 -202.50 167.50 157.50 0.1371 -202.50 167.50 162.50 0.160424 -202.50 167.50 167.50 0.196518 -202.50 167.50 172.50 0.251369 -202.50 167.50 177.50 0.384252 -202.50 167.50 182.50 0.527183 -202.50 167.50 187.50 0.720483 -202.50 167.50 192.50 1.0402 -202.50 167.50 197.50 1.41763 -202.50 167.50 202.50 1.544 -202.50 167.50 207.50 1.26173 -202.50 167.50 212.50 0.7592 -202.50 167.50 217.50 0.340341 -202.50 167.50 222.50 0.127701 -202.50 167.50 227.50 0.0433834 -202.50 167.50 232.50 0.0261998 -202.50 167.50 237.50 0.0540655 -202.50 167.50 242.50 0.10044 -202.50 167.50 247.50 0.1371 -202.50 167.50 252.50 0.160424 -202.50 167.50 257.50 0.196518 -202.50 167.50 262.50 0.251369 -202.50 167.50 267.50 0.384253 -202.50 167.50 272.50 0.527183 -202.50 167.50 277.50 0.720483 -202.50 167.50 282.50 1.0402 -202.50 167.50 287.50 1.41763 -202.50 167.50 292.50 1.544 -202.50 167.50 297.50 1.26173 -202.50 167.50 302.50 0.7592 -202.50 167.50 307.50 0.340341 -202.50 167.50 312.50 0.127702 -202.50 167.50 317.50 0.0433834 -202.50 167.50 322.50 0.0261997 -202.50 167.50 327.50 0.0540654 -202.50 167.50 332.50 0.10044 -202.50 167.50 337.50 0.1371 -202.50 167.50 342.50 0.160424 -202.50 167.50 347.50 0.196518 -202.50 167.50 352.50 0.251369 -202.50 167.50 357.50 0.384252 -202.50 172.50 2.50 0.24067 -202.50 172.50 7.50 0.38469 -202.50 172.50 12.50 0.704976 -202.50 172.50 17.50 1.13499 -202.50 172.50 22.50 1.35396 -202.50 172.50 27.50 1.12589 -202.50 172.50 32.50 0.656449 -202.50 172.50 37.50 0.285569 -202.50 172.50 42.50 0.10447 -202.50 172.50 47.50 0.0389843 -202.50 172.50 52.50 0.0320373 -202.50 172.50 57.50 0.0612512 -202.50 172.50 62.50 0.100238 -202.50 172.50 67.50 0.121307 -202.50 172.50 72.50 0.119082 -202.50 172.50 77.50 0.111957 -202.50 172.50 82.50 0.141148 -202.50 172.50 87.50 0.181724 -202.50 172.50 92.50 0.24067 -202.50 172.50 97.50 0.384691 -202.50 172.50 102.50 0.704976 -202.50 172.50 107.50 1.13499 -202.50 172.50 112.50 1.35396 -202.50 172.50 117.50 1.12589 -202.50 172.50 122.50 0.656449 -202.50 172.50 127.50 0.285569 -202.50 172.50 132.50 0.10447 -202.50 172.50 137.50 0.0389843 -202.50 172.50 142.50 0.0320373 -202.50 172.50 147.50 0.0612512 -202.50 172.50 152.50 0.100238 -202.50 172.50 157.50 0.121307 -202.50 172.50 162.50 0.119082 -202.50 172.50 167.50 0.111957 -202.50 172.50 172.50 0.141148 -202.50 172.50 177.50 0.181724 -202.50 172.50 182.50 0.24067 -202.50 172.50 187.50 0.384691 -202.50 172.50 192.50 0.704976 -202.50 172.50 197.50 1.13499 -202.50 172.50 202.50 1.35396 -202.50 172.50 207.50 1.12589 -202.50 172.50 212.50 0.656449 -202.50 172.50 217.50 0.285569 -202.50 172.50 222.50 0.10447 -202.50 172.50 227.50 0.0389843 -202.50 172.50 232.50 0.0320373 -202.50 172.50 237.50 0.0612512 -202.50 172.50 242.50 0.100238 -202.50 172.50 247.50 0.121307 -202.50 172.50 252.50 0.119082 -202.50 172.50 257.50 0.111957 -202.50 172.50 262.50 0.141148 -202.50 172.50 267.50 0.181725 -202.50 172.50 272.50 0.24067 -202.50 172.50 277.50 0.384691 -202.50 172.50 282.50 0.704975 -202.50 172.50 287.50 1.13499 -202.50 172.50 292.50 1.35396 -202.50 172.50 297.50 1.12589 -202.50 172.50 302.50 0.65645 -202.50 172.50 307.50 0.285569 -202.50 172.50 312.50 0.10447 -202.50 172.50 317.50 0.0389843 -202.50 172.50 322.50 0.0320373 -202.50 172.50 327.50 0.0612511 -202.50 172.50 332.50 0.100237 -202.50 172.50 337.50 0.121307 -202.50 172.50 342.50 0.119082 -202.50 172.50 347.50 0.111957 -202.50 172.50 352.50 0.141147 -202.50 172.50 357.50 0.181724 -202.50 177.50 2.50 0.102596 -202.50 177.50 7.50 0.202463 -202.50 177.50 12.50 0.458731 -202.50 177.50 17.50 0.829239 -202.50 177.50 22.50 1.03537 -202.50 177.50 27.50 0.856091 -202.50 177.50 32.50 0.4704 -202.50 177.50 37.50 0.188831 -202.50 177.50 42.50 0.0711832 -202.50 177.50 47.50 0.0399292 -202.50 177.50 52.50 0.0434975 -202.50 177.50 57.50 0.0604866 -202.50 177.50 62.50 0.0750918 -202.50 177.50 67.50 0.0859237 -202.50 177.50 72.50 0.0897202 -202.50 177.50 77.50 0.0878967 -202.50 177.50 82.50 0.0821991 -202.50 177.50 87.50 0.0808219 -202.50 177.50 92.50 0.102596 -202.50 177.50 97.50 0.202463 -202.50 177.50 102.50 0.458731 -202.50 177.50 107.50 0.829239 -202.50 177.50 112.50 1.03537 -202.50 177.50 117.50 0.856091 -202.50 177.50 122.50 0.470399 -202.50 177.50 127.50 0.188831 -202.50 177.50 132.50 0.0711832 -202.50 177.50 137.50 0.0399292 -202.50 177.50 142.50 0.0434974 -202.50 177.50 147.50 0.0604866 -202.50 177.50 152.50 0.0750918 -202.50 177.50 157.50 0.0859237 -202.50 177.50 162.50 0.0897202 -202.50 177.50 167.50 0.0878967 -202.50 177.50 172.50 0.0821991 -202.50 177.50 177.50 0.0808219 -202.50 177.50 182.50 0.102596 -202.50 177.50 187.50 0.202463 -202.50 177.50 192.50 0.458731 -202.50 177.50 197.50 0.829239 -202.50 177.50 202.50 1.03537 -202.50 177.50 207.50 0.856092 -202.50 177.50 212.50 0.4704 -202.50 177.50 217.50 0.188831 -202.50 177.50 222.50 0.0711833 -202.50 177.50 227.50 0.0399293 -202.50 177.50 232.50 0.0434975 -202.50 177.50 237.50 0.0604865 -202.50 177.50 242.50 0.0750918 -202.50 177.50 247.50 0.0859237 -202.50 177.50 252.50 0.0897203 -202.50 177.50 257.50 0.0878968 -202.50 177.50 262.50 0.0821992 -202.50 177.50 267.50 0.0808219 -202.50 177.50 272.50 0.102596 -202.50 177.50 277.50 0.202463 -202.50 177.50 282.50 0.45873 -202.50 177.50 287.50 0.829238 -202.50 177.50 292.50 1.03537 -202.50 177.50 297.50 0.856092 -202.50 177.50 302.50 0.470401 -202.50 177.50 307.50 0.188832 -202.50 177.50 312.50 0.0711834 -202.50 177.50 317.50 0.0399293 -202.50 177.50 322.50 0.0434974 -202.50 177.50 327.50 0.0604865 -202.50 177.50 332.50 0.0750917 -202.50 177.50 337.50 0.0859236 -202.50 177.50 342.50 0.0897203 -202.50 177.50 347.50 0.0878967 -202.50 177.50 352.50 0.0821991 -202.50 177.50 357.50 0.080822 -207.50 2.50 2.50 0.0485219 -207.50 2.50 7.50 0.0601603 -207.50 2.50 12.50 0.0760385 -207.50 2.50 17.50 0.083846 -207.50 2.50 22.50 0.084539 -207.50 2.50 27.50 0.083846 -207.50 2.50 32.50 0.0760385 -207.50 2.50 37.50 0.0601603 -207.50 2.50 42.50 0.0485219 -207.50 2.50 47.50 0.0624686 -207.50 2.50 52.50 0.149977 -207.50 2.50 57.50 0.393273 -207.50 2.50 62.50 0.77318 -207.50 2.50 67.50 0.980476 -207.50 2.50 72.50 0.773178 -207.50 2.50 77.50 0.393273 -207.50 2.50 82.50 0.149977 -207.50 2.50 87.50 0.0624686 -207.50 2.50 92.50 0.0485219 -207.50 2.50 97.50 0.0601603 -207.50 2.50 102.50 0.0760386 -207.50 2.50 107.50 0.083846 -207.50 2.50 112.50 0.084539 -207.50 2.50 117.50 0.083846 -207.50 2.50 122.50 0.0760385 -207.50 2.50 127.50 0.0601603 -207.50 2.50 132.50 0.0485219 -207.50 2.50 137.50 0.0624686 -207.50 2.50 142.50 0.149977 -207.50 2.50 147.50 0.393273 -207.50 2.50 152.50 0.773179 -207.50 2.50 157.50 0.980476 -207.50 2.50 162.50 0.77318 -207.50 2.50 167.50 0.393273 -207.50 2.50 172.50 0.149977 -207.50 2.50 177.50 0.0624686 -207.50 2.50 182.50 0.0485219 -207.50 2.50 187.50 0.0601603 -207.50 2.50 192.50 0.0760386 -207.50 2.50 197.50 0.083846 -207.50 2.50 202.50 0.084539 -207.50 2.50 207.50 0.083846 -207.50 2.50 212.50 0.0760385 -207.50 2.50 217.50 0.0601603 -207.50 2.50 222.50 0.0485219 -207.50 2.50 227.50 0.0624685 -207.50 2.50 232.50 0.149977 -207.50 2.50 237.50 0.393273 -207.50 2.50 242.50 0.773179 -207.50 2.50 247.50 0.980476 -207.50 2.50 252.50 0.773179 -207.50 2.50 257.50 0.393272 -207.50 2.50 262.50 0.149977 -207.50 2.50 267.50 0.0624685 -207.50 2.50 272.50 0.0485219 -207.50 2.50 277.50 0.0601603 -207.50 2.50 282.50 0.0760385 -207.50 2.50 287.50 0.083846 -207.50 2.50 292.50 0.084539 -207.50 2.50 297.50 0.083846 -207.50 2.50 302.50 0.0760386 -207.50 2.50 307.50 0.0601603 -207.50 2.50 312.50 0.0485219 -207.50 2.50 317.50 0.0624686 -207.50 2.50 322.50 0.149977 -207.50 2.50 327.50 0.393272 -207.50 2.50 332.50 0.773178 -207.50 2.50 337.50 0.980476 -207.50 2.50 342.50 0.77318 -207.50 2.50 347.50 0.393273 -207.50 2.50 352.50 0.149977 -207.50 2.50 357.50 0.0624686 -207.50 7.50 2.50 0.0874276 -207.50 7.50 7.50 0.0912088 -207.50 7.50 12.50 0.0973618 -207.50 7.50 17.50 0.10012 -207.50 7.50 22.50 0.0982882 -207.50 7.50 27.50 0.0873952 -207.50 7.50 32.50 0.0638134 -207.50 7.50 37.50 0.0444076 -207.50 7.50 42.50 0.0398712 -207.50 7.50 47.50 0.0686876 -207.50 7.50 52.50 0.173646 -207.50 7.50 57.50 0.436529 -207.50 7.50 62.50 0.830729 -207.50 7.50 67.50 1.05029 -207.50 7.50 72.50 0.862378 -207.50 7.50 77.50 0.478808 -207.50 7.50 82.50 0.209006 -207.50 7.50 87.50 0.106432 -207.50 7.50 92.50 0.0874276 -207.50 7.50 97.50 0.0912089 -207.50 7.50 102.50 0.0973618 -207.50 7.50 107.50 0.10012 -207.50 7.50 112.50 0.0982883 -207.50 7.50 117.50 0.0873953 -207.50 7.50 122.50 0.0638134 -207.50 7.50 127.50 0.0444076 -207.50 7.50 132.50 0.0398712 -207.50 7.50 137.50 0.0686876 -207.50 7.50 142.50 0.173646 -207.50 7.50 147.50 0.436529 -207.50 7.50 152.50 0.830729 -207.50 7.50 157.50 1.05029 -207.50 7.50 162.50 0.862378 -207.50 7.50 167.50 0.478808 -207.50 7.50 172.50 0.209006 -207.50 7.50 177.50 0.106432 -207.50 7.50 182.50 0.0874275 -207.50 7.50 187.50 0.0912089 -207.50 7.50 192.50 0.0973618 -207.50 7.50 197.50 0.10012 -207.50 7.50 202.50 0.0982882 -207.50 7.50 207.50 0.0873951 -207.50 7.50 212.50 0.0638134 -207.50 7.50 217.50 0.0444076 -207.50 7.50 222.50 0.0398712 -207.50 7.50 227.50 0.0686874 -207.50 7.50 232.50 0.173647 -207.50 7.50 237.50 0.43653 -207.50 7.50 242.50 0.83073 -207.50 7.50 247.50 1.05029 -207.50 7.50 252.50 0.862377 -207.50 7.50 257.50 0.478807 -207.50 7.50 262.50 0.209005 -207.50 7.50 267.50 0.106431 -207.50 7.50 272.50 0.0874276 -207.50 7.50 277.50 0.0912089 -207.50 7.50 282.50 0.0973618 -207.50 7.50 287.50 0.10012 -207.50 7.50 292.50 0.0982881 -207.50 7.50 297.50 0.0873952 -207.50 7.50 302.50 0.0638134 -207.50 7.50 307.50 0.0444076 -207.50 7.50 312.50 0.0398712 -207.50 7.50 317.50 0.0686875 -207.50 7.50 322.50 0.173646 -207.50 7.50 327.50 0.436528 -207.50 7.50 332.50 0.830729 -207.50 7.50 337.50 1.05029 -207.50 7.50 342.50 0.862379 -207.50 7.50 347.50 0.478809 -207.50 7.50 352.50 0.209006 -207.50 7.50 357.50 0.106432 -207.50 12.50 2.50 0.221571 -207.50 12.50 7.50 0.187039 -207.50 12.50 12.50 0.152442 -207.50 12.50 17.50 0.133941 -207.50 12.50 22.50 0.143448 -207.50 12.50 27.50 0.123005 -207.50 12.50 32.50 0.0759863 -207.50 12.50 37.50 0.0389614 -207.50 12.50 42.50 0.0394887 -207.50 12.50 47.50 0.0984241 -207.50 12.50 52.50 0.2576 -207.50 12.50 57.50 0.598379 -207.50 12.50 62.50 1.08065 -207.50 12.50 67.50 1.37472 -207.50 12.50 72.50 1.19976 -207.50 12.50 77.50 0.751388 -207.50 12.50 82.50 0.412201 -207.50 12.50 87.50 0.269639 -207.50 12.50 92.50 0.221571 -207.50 12.50 97.50 0.187039 -207.50 12.50 102.50 0.152442 -207.50 12.50 107.50 0.133941 -207.50 12.50 112.50 0.143448 -207.50 12.50 117.50 0.123005 -207.50 12.50 122.50 0.0759863 -207.50 12.50 127.50 0.0389614 -207.50 12.50 132.50 0.0394887 -207.50 12.50 137.50 0.0984241 -207.50 12.50 142.50 0.2576 -207.50 12.50 147.50 0.598379 -207.50 12.50 152.50 1.08065 -207.50 12.50 157.50 1.37472 -207.50 12.50 162.50 1.19976 -207.50 12.50 167.50 0.751388 -207.50 12.50 172.50 0.412201 -207.50 12.50 177.50 0.269639 -207.50 12.50 182.50 0.221571 -207.50 12.50 187.50 0.187039 -207.50 12.50 192.50 0.152442 -207.50 12.50 197.50 0.133941 -207.50 12.50 202.50 0.143448 -207.50 12.50 207.50 0.123005 -207.50 12.50 212.50 0.0759863 -207.50 12.50 217.50 0.0389614 -207.50 12.50 222.50 0.0394887 -207.50 12.50 227.50 0.098424 -207.50 12.50 232.50 0.257601 -207.50 12.50 237.50 0.59838 -207.50 12.50 242.50 1.08065 -207.50 12.50 247.50 1.37472 -207.50 12.50 252.50 1.19976 -207.50 12.50 257.50 0.751387 -207.50 12.50 262.50 0.412201 -207.50 12.50 267.50 0.269639 -207.50 12.50 272.50 0.221571 -207.50 12.50 277.50 0.187039 -207.50 12.50 282.50 0.152442 -207.50 12.50 287.50 0.133941 -207.50 12.50 292.50 0.143447 -207.50 12.50 297.50 0.123005 -207.50 12.50 302.50 0.0759865 -207.50 12.50 307.50 0.0389615 -207.50 12.50 312.50 0.0394887 -207.50 12.50 317.50 0.098424 -207.50 12.50 322.50 0.2576 -207.50 12.50 327.50 0.598378 -207.50 12.50 332.50 1.08065 -207.50 12.50 337.50 1.37472 -207.50 12.50 342.50 1.19976 -207.50 12.50 347.50 0.751389 -207.50 12.50 352.50 0.412201 -207.50 12.50 357.50 0.269639 -207.50 17.50 2.50 0.514899 -207.50 17.50 7.50 0.384518 -207.50 17.50 12.50 0.250634 -207.50 17.50 17.50 0.207991 -207.50 17.50 22.50 0.182654 -207.50 17.50 27.50 0.136815 -207.50 17.50 32.50 0.0683475 -207.50 17.50 37.50 0.0288061 -207.50 17.50 42.50 0.0405364 -207.50 17.50 47.50 0.120831 -207.50 17.50 52.50 0.312383 -207.50 17.50 57.50 0.685349 -207.50 17.50 62.50 1.20434 -207.50 17.50 67.50 1.55515 -207.50 17.50 72.50 1.48934 -207.50 17.50 77.50 1.1329 -207.50 17.50 82.50 0.803028 -207.50 17.50 87.50 0.631548 -207.50 17.50 92.50 0.514899 -207.50 17.50 97.50 0.384518 -207.50 17.50 102.50 0.250633 -207.50 17.50 107.50 0.207991 -207.50 17.50 112.50 0.182654 -207.50 17.50 117.50 0.136815 -207.50 17.50 122.50 0.0683474 -207.50 17.50 127.50 0.0288061 -207.50 17.50 132.50 0.0405365 -207.50 17.50 137.50 0.120831 -207.50 17.50 142.50 0.312383 -207.50 17.50 147.50 0.68535 -207.50 17.50 152.50 1.20434 -207.50 17.50 157.50 1.55515 -207.50 17.50 162.50 1.48934 -207.50 17.50 167.50 1.1329 -207.50 17.50 172.50 0.803028 -207.50 17.50 177.50 0.631548 -207.50 17.50 182.50 0.514899 -207.50 17.50 187.50 0.384518 -207.50 17.50 192.50 0.250634 -207.50 17.50 197.50 0.207991 -207.50 17.50 202.50 0.182654 -207.50 17.50 207.50 0.136815 -207.50 17.50 212.50 0.0683475 -207.50 17.50 217.50 0.0288062 -207.50 17.50 222.50 0.0405364 -207.50 17.50 227.50 0.120831 -207.50 17.50 232.50 0.312384 -207.50 17.50 237.50 0.685351 -207.50 17.50 242.50 1.20435 -207.50 17.50 247.50 1.55515 -207.50 17.50 252.50 1.48934 -207.50 17.50 257.50 1.1329 -207.50 17.50 262.50 0.803028 -207.50 17.50 267.50 0.631548 -207.50 17.50 272.50 0.514899 -207.50 17.50 277.50 0.384519 -207.50 17.50 282.50 0.250634 -207.50 17.50 287.50 0.207991 -207.50 17.50 292.50 0.182654 -207.50 17.50 297.50 0.136815 -207.50 17.50 302.50 0.0683476 -207.50 17.50 307.50 0.0288062 -207.50 17.50 312.50 0.0405364 -207.50 17.50 317.50 0.120831 -207.50 17.50 322.50 0.312383 -207.50 17.50 327.50 0.685349 -207.50 17.50 332.50 1.20434 -207.50 17.50 337.50 1.55515 -207.50 17.50 342.50 1.48934 -207.50 17.50 347.50 1.1329 -207.50 17.50 352.50 0.803029 -207.50 17.50 357.50 0.631548 -207.50 22.50 2.50 1.04915 -207.50 22.50 7.50 0.754684 -207.50 22.50 12.50 0.486186 -207.50 22.50 17.50 0.296214 -207.50 22.50 22.50 0.170401 -207.50 22.50 27.50 0.101257 -207.50 22.50 32.50 0.0459574 -207.50 22.50 37.50 0.0167425 -207.50 22.50 42.50 0.0318101 -207.50 22.50 47.50 0.116604 -207.50 22.50 52.50 0.31886 -207.50 22.50 57.50 0.665951 -207.50 22.50 62.50 1.1359 -207.50 22.50 67.50 1.57171 -207.50 22.50 72.50 1.72458 -207.50 22.50 77.50 1.60219 -207.50 22.50 82.50 1.42285 -207.50 22.50 87.50 1.25412 -207.50 22.50 92.50 1.04915 -207.50 22.50 97.50 0.754685 -207.50 22.50 102.50 0.486186 -207.50 22.50 107.50 0.296214 -207.50 22.50 112.50 0.170401 -207.50 22.50 117.50 0.101257 -207.50 22.50 122.50 0.0459574 -207.50 22.50 127.50 0.0167425 -207.50 22.50 132.50 0.0318101 -207.50 22.50 137.50 0.116604 -207.50 22.50 142.50 0.31886 -207.50 22.50 147.50 0.665951 -207.50 22.50 152.50 1.1359 -207.50 22.50 157.50 1.57171 -207.50 22.50 162.50 1.72458 -207.50 22.50 167.50 1.60219 -207.50 22.50 172.50 1.42285 -207.50 22.50 177.50 1.25412 -207.50 22.50 182.50 1.04915 -207.50 22.50 187.50 0.754685 -207.50 22.50 192.50 0.486186 -207.50 22.50 197.50 0.296214 -207.50 22.50 202.50 0.170401 -207.50 22.50 207.50 0.101257 -207.50 22.50 212.50 0.0459574 -207.50 22.50 217.50 0.0167425 -207.50 22.50 222.50 0.03181 -207.50 22.50 227.50 0.116604 -207.50 22.50 232.50 0.318861 -207.50 22.50 237.50 0.665951 -207.50 22.50 242.50 1.1359 -207.50 22.50 247.50 1.57171 -207.50 22.50 252.50 1.72458 -207.50 22.50 257.50 1.60219 -207.50 22.50 262.50 1.42285 -207.50 22.50 267.50 1.25412 -207.50 22.50 272.50 1.04915 -207.50 22.50 277.50 0.754684 -207.50 22.50 282.50 0.486186 -207.50 22.50 287.50 0.296214 -207.50 22.50 292.50 0.170401 -207.50 22.50 297.50 0.101257 -207.50 22.50 302.50 0.0459575 -207.50 22.50 307.50 0.0167425 -207.50 22.50 312.50 0.03181 -207.50 22.50 317.50 0.116604 -207.50 22.50 322.50 0.31886 -207.50 22.50 327.50 0.66595 -207.50 22.50 332.50 1.1359 -207.50 22.50 337.50 1.57171 -207.50 22.50 342.50 1.72458 -207.50 22.50 347.50 1.60219 -207.50 22.50 352.50 1.42285 -207.50 22.50 357.50 1.25412 -207.50 27.50 2.50 1.82434 -207.50 27.50 7.50 1.3143 -207.50 27.50 12.50 0.835416 -207.50 27.50 17.50 0.408669 -207.50 27.50 22.50 0.164729 -207.50 27.50 27.50 0.0604165 -207.50 27.50 32.50 0.0170085 -207.50 27.50 37.50 0.00775407 -207.50 27.50 42.50 0.0224209 -207.50 27.50 47.50 0.0869077 -207.50 27.50 52.50 0.243473 -207.50 27.50 57.50 0.52221 -207.50 27.50 62.50 0.969992 -207.50 27.50 67.50 1.53757 -207.50 27.50 72.50 1.94329 -207.50 27.50 77.50 2.09955 -207.50 27.50 82.50 2.13388 -207.50 27.50 87.50 2.07889 -207.50 27.50 92.50 1.82434 -207.50 27.50 97.50 1.3143 -207.50 27.50 102.50 0.835416 -207.50 27.50 107.50 0.408669 -207.50 27.50 112.50 0.164729 -207.50 27.50 117.50 0.0604164 -207.50 27.50 122.50 0.0170085 -207.50 27.50 127.50 0.00775407 -207.50 27.50 132.50 0.022421 -207.50 27.50 137.50 0.0869077 -207.50 27.50 142.50 0.243473 -207.50 27.50 147.50 0.52221 -207.50 27.50 152.50 0.969991 -207.50 27.50 157.50 1.53757 -207.50 27.50 162.50 1.94329 -207.50 27.50 167.50 2.09955 -207.50 27.50 172.50 2.13388 -207.50 27.50 177.50 2.07889 -207.50 27.50 182.50 1.82434 -207.50 27.50 187.50 1.3143 -207.50 27.50 192.50 0.835416 -207.50 27.50 197.50 0.408669 -207.50 27.50 202.50 0.164729 -207.50 27.50 207.50 0.0604165 -207.50 27.50 212.50 0.0170085 -207.50 27.50 217.50 0.00775408 -207.50 27.50 222.50 0.0224209 -207.50 27.50 227.50 0.0869077 -207.50 27.50 232.50 0.243473 -207.50 27.50 237.50 0.52221 -207.50 27.50 242.50 0.969992 -207.50 27.50 247.50 1.53757 -207.50 27.50 252.50 1.94329 -207.50 27.50 257.50 2.09955 -207.50 27.50 262.50 2.13388 -207.50 27.50 267.50 2.07889 -207.50 27.50 272.50 1.82434 -207.50 27.50 277.50 1.3143 -207.50 27.50 282.50 0.835417 -207.50 27.50 287.50 0.408669 -207.50 27.50 292.50 0.164729 -207.50 27.50 297.50 0.0604165 -207.50 27.50 302.50 0.0170085 -207.50 27.50 307.50 0.00775407 -207.50 27.50 312.50 0.0224209 -207.50 27.50 317.50 0.0869076 -207.50 27.50 322.50 0.243472 -207.50 27.50 327.50 0.522209 -207.50 27.50 332.50 0.96999 -207.50 27.50 337.50 1.53757 -207.50 27.50 342.50 1.94329 -207.50 27.50 347.50 2.09955 -207.50 27.50 352.50 2.13388 -207.50 27.50 357.50 2.07889 -207.50 32.50 2.50 2.76505 -207.50 32.50 7.50 2.07379 -207.50 32.50 12.50 1.30488 -207.50 32.50 17.50 0.618996 -207.50 32.50 22.50 0.245777 -207.50 32.50 27.50 0.0647093 -207.50 32.50 32.50 0.0159058 -207.50 32.50 37.50 0.00538731 -207.50 32.50 42.50 0.0124351 -207.50 32.50 47.50 0.0483447 -207.50 32.50 52.50 0.136774 -207.50 32.50 57.50 0.334403 -207.50 32.50 62.50 0.763199 -207.50 32.50 67.50 1.42938 -207.50 32.50 72.50 2.04972 -207.50 32.50 77.50 2.49158 -207.50 32.50 82.50 2.77948 -207.50 32.50 87.50 2.9695 -207.50 32.50 92.50 2.76505 -207.50 32.50 97.50 2.07378 -207.50 32.50 102.50 1.30488 -207.50 32.50 107.50 0.618997 -207.50 32.50 112.50 0.245777 -207.50 32.50 117.50 0.0647093 -207.50 32.50 122.50 0.0159058 -207.50 32.50 127.50 0.00538731 -207.50 32.50 132.50 0.0124351 -207.50 32.50 137.50 0.0483447 -207.50 32.50 142.50 0.136774 -207.50 32.50 147.50 0.334403 -207.50 32.50 152.50 0.763199 -207.50 32.50 157.50 1.42938 -207.50 32.50 162.50 2.04972 -207.50 32.50 167.50 2.49158 -207.50 32.50 172.50 2.77948 -207.50 32.50 177.50 2.9695 -207.50 32.50 182.50 2.76505 -207.50 32.50 187.50 2.07378 -207.50 32.50 192.50 1.30488 -207.50 32.50 197.50 0.618996 -207.50 32.50 202.50 0.245776 -207.50 32.50 207.50 0.0647093 -207.50 32.50 212.50 0.0159058 -207.50 32.50 217.50 0.00538732 -207.50 32.50 222.50 0.0124351 -207.50 32.50 227.50 0.0483447 -207.50 32.50 232.50 0.136774 -207.50 32.50 237.50 0.334403 -207.50 32.50 242.50 0.7632 -207.50 32.50 247.50 1.42938 -207.50 32.50 252.50 2.04972 -207.50 32.50 257.50 2.49158 -207.50 32.50 262.50 2.77948 -207.50 32.50 267.50 2.9695 -207.50 32.50 272.50 2.76505 -207.50 32.50 277.50 2.07378 -207.50 32.50 282.50 1.30488 -207.50 32.50 287.50 0.618997 -207.50 32.50 292.50 0.245777 -207.50 32.50 297.50 0.0647094 -207.50 32.50 302.50 0.0159058 -207.50 32.50 307.50 0.00538732 -207.50 32.50 312.50 0.0124351 -207.50 32.50 317.50 0.0483446 -207.50 32.50 322.50 0.136773 -207.50 32.50 327.50 0.334403 -207.50 32.50 332.50 0.763198 -207.50 32.50 337.50 1.42938 -207.50 32.50 342.50 2.04972 -207.50 32.50 347.50 2.49158 -207.50 32.50 352.50 2.77948 -207.50 32.50 357.50 2.9695 -207.50 37.50 2.50 3.78322 -207.50 37.50 7.50 3.05865 -207.50 37.50 12.50 2.02937 -207.50 37.50 17.50 1.11133 -207.50 37.50 22.50 0.470414 -207.50 37.50 27.50 0.153926 -207.50 37.50 32.50 0.0418859 -207.50 37.50 37.50 0.0109531 -207.50 37.50 42.50 0.00654008 -207.50 37.50 47.50 0.0180067 -207.50 37.50 52.50 0.058869 -207.50 37.50 57.50 0.19603 -207.50 37.50 62.50 0.555867 -207.50 37.50 67.50 1.21261 -207.50 37.50 72.50 1.9939 -207.50 37.50 77.50 2.66563 -207.50 37.50 82.50 3.28849 -207.50 37.50 87.50 3.78813 -207.50 37.50 92.50 3.78322 -207.50 37.50 97.50 3.05865 -207.50 37.50 102.50 2.02937 -207.50 37.50 107.50 1.11133 -207.50 37.50 112.50 0.470414 -207.50 37.50 117.50 0.153926 -207.50 37.50 122.50 0.0418859 -207.50 37.50 127.50 0.010953 -207.50 37.50 132.50 0.00654008 -207.50 37.50 137.50 0.0180067 -207.50 37.50 142.50 0.058869 -207.50 37.50 147.50 0.19603 -207.50 37.50 152.50 0.555867 -207.50 37.50 157.50 1.21261 -207.50 37.50 162.50 1.9939 -207.50 37.50 167.50 2.66563 -207.50 37.50 172.50 3.28849 -207.50 37.50 177.50 3.78813 -207.50 37.50 182.50 3.78322 -207.50 37.50 187.50 3.05864 -207.50 37.50 192.50 2.02937 -207.50 37.50 197.50 1.11133 -207.50 37.50 202.50 0.470414 -207.50 37.50 207.50 0.153926 -207.50 37.50 212.50 0.0418858 -207.50 37.50 217.50 0.0109531 -207.50 37.50 222.50 0.00654009 -207.50 37.50 227.50 0.0180067 -207.50 37.50 232.50 0.0588692 -207.50 37.50 237.50 0.19603 -207.50 37.50 242.50 0.555868 -207.50 37.50 247.50 1.21261 -207.50 37.50 252.50 1.9939 -207.50 37.50 257.50 2.66563 -207.50 37.50 262.50 3.28849 -207.50 37.50 267.50 3.78813 -207.50 37.50 272.50 3.78322 -207.50 37.50 277.50 3.05865 -207.50 37.50 282.50 2.02937 -207.50 37.50 287.50 1.11133 -207.50 37.50 292.50 0.470414 -207.50 37.50 297.50 0.153926 -207.50 37.50 302.50 0.0418859 -207.50 37.50 307.50 0.0109531 -207.50 37.50 312.50 0.00654008 -207.50 37.50 317.50 0.0180067 -207.50 37.50 322.50 0.0588689 -207.50 37.50 327.50 0.196029 -207.50 37.50 332.50 0.555866 -207.50 37.50 337.50 1.21261 -207.50 37.50 342.50 1.9939 -207.50 37.50 347.50 2.66563 -207.50 37.50 352.50 3.28849 -207.50 37.50 357.50 3.78813 -207.50 42.50 2.50 4.66762 -207.50 42.50 7.50 4.11607 -207.50 42.50 12.50 3.10303 -207.50 42.50 17.50 1.92656 -207.50 42.50 22.50 0.948301 -207.50 42.50 27.50 0.367172 -207.50 42.50 32.50 0.121203 -207.50 42.50 37.50 0.0339057 -207.50 42.50 42.50 0.0074939 -207.50 42.50 47.50 0.00613909 -207.50 42.50 52.50 0.0261246 -207.50 42.50 57.50 0.109017 -207.50 42.50 62.50 0.362471 -207.50 42.50 67.50 0.924131 -207.50 42.50 72.50 1.73472 -207.50 42.50 77.50 2.57939 -207.50 42.50 82.50 3.48816 -207.50 42.50 87.50 4.3612 -207.50 42.50 92.50 4.66762 -207.50 42.50 97.50 4.11607 -207.50 42.50 102.50 3.10303 -207.50 42.50 107.50 1.92656 -207.50 42.50 112.50 0.948301 -207.50 42.50 117.50 0.367172 -207.50 42.50 122.50 0.121203 -207.50 42.50 127.50 0.0339057 -207.50 42.50 132.50 0.0074939 -207.50 42.50 137.50 0.00613909 -207.50 42.50 142.50 0.0261247 -207.50 42.50 147.50 0.109017 -207.50 42.50 152.50 0.362471 -207.50 42.50 157.50 0.92413 -207.50 42.50 162.50 1.73471 -207.50 42.50 167.50 2.57939 -207.50 42.50 172.50 3.48815 -207.50 42.50 177.50 4.3612 -207.50 42.50 182.50 4.66762 -207.50 42.50 187.50 4.11606 -207.50 42.50 192.50 3.10303 -207.50 42.50 197.50 1.92656 -207.50 42.50 202.50 0.9483 -207.50 42.50 207.50 0.367173 -207.50 42.50 212.50 0.121203 -207.50 42.50 217.50 0.0339057 -207.50 42.50 222.50 0.00749391 -207.50 42.50 227.50 0.00613909 -207.50 42.50 232.50 0.0261248 -207.50 42.50 237.50 0.109017 -207.50 42.50 242.50 0.362472 -207.50 42.50 247.50 0.924131 -207.50 42.50 252.50 1.73472 -207.50 42.50 257.50 2.57939 -207.50 42.50 262.50 3.48816 -207.50 42.50 267.50 4.3612 -207.50 42.50 272.50 4.66762 -207.50 42.50 277.50 4.11607 -207.50 42.50 282.50 3.10303 -207.50 42.50 287.50 1.92656 -207.50 42.50 292.50 0.948301 -207.50 42.50 297.50 0.367173 -207.50 42.50 302.50 0.121204 -207.50 42.50 307.50 0.0339057 -207.50 42.50 312.50 0.00749392 -207.50 42.50 317.50 0.00613908 -207.50 42.50 322.50 0.0261246 -207.50 42.50 327.50 0.109017 -207.50 42.50 332.50 0.36247 -207.50 42.50 337.50 0.924129 -207.50 42.50 342.50 1.73471 -207.50 42.50 347.50 2.57938 -207.50 42.50 352.50 3.48815 -207.50 42.50 357.50 4.3612 -207.50 47.50 2.50 5.03542 -207.50 47.50 7.50 4.9263 -207.50 47.50 12.50 4.25359 -207.50 47.50 17.50 2.98268 -207.50 47.50 22.50 1.74613 -207.50 47.50 27.50 0.817872 -207.50 47.50 32.50 0.325678 -207.50 47.50 37.50 0.104638 -207.50 47.50 42.50 0.0192789 -207.50 47.50 47.50 0.00632723 -207.50 47.50 52.50 0.0128841 -207.50 47.50 57.50 0.0622875 -207.50 47.50 62.50 0.212702 -207.50 47.50 67.50 0.565487 -207.50 47.50 72.50 1.24718 -207.50 47.50 77.50 2.07806 -207.50 47.50 82.50 3.17018 -207.50 47.50 87.50 4.37515 -207.50 47.50 92.50 5.03542 -207.50 47.50 97.50 4.9263 -207.50 47.50 102.50 4.25359 -207.50 47.50 107.50 2.98267 -207.50 47.50 112.50 1.74613 -207.50 47.50 117.50 0.817871 -207.50 47.50 122.50 0.325678 -207.50 47.50 127.50 0.104638 -207.50 47.50 132.50 0.0192789 -207.50 47.50 137.50 0.00632723 -207.50 47.50 142.50 0.0128841 -207.50 47.50 147.50 0.0622876 -207.50 47.50 152.50 0.212702 -207.50 47.50 157.50 0.565486 -207.50 47.50 162.50 1.24718 -207.50 47.50 167.50 2.07805 -207.50 47.50 172.50 3.17018 -207.50 47.50 177.50 4.37515 -207.50 47.50 182.50 5.03542 -207.50 47.50 187.50 4.9263 -207.50 47.50 192.50 4.25358 -207.50 47.50 197.50 2.98267 -207.50 47.50 202.50 1.74613 -207.50 47.50 207.50 0.817872 -207.50 47.50 212.50 0.325678 -207.50 47.50 217.50 0.104638 -207.50 47.50 222.50 0.019279 -207.50 47.50 227.50 0.00632724 -207.50 47.50 232.50 0.0128841 -207.50 47.50 237.50 0.0622877 -207.50 47.50 242.50 0.212702 -207.50 47.50 247.50 0.565487 -207.50 47.50 252.50 1.24718 -207.50 47.50 257.50 2.07806 -207.50 47.50 262.50 3.17018 -207.50 47.50 267.50 4.37516 -207.50 47.50 272.50 5.03542 -207.50 47.50 277.50 4.9263 -207.50 47.50 282.50 4.25359 -207.50 47.50 287.50 2.98267 -207.50 47.50 292.50 1.74613 -207.50 47.50 297.50 0.817872 -207.50 47.50 302.50 0.325679 -207.50 47.50 307.50 0.104638 -207.50 47.50 312.50 0.019279 -207.50 47.50 317.50 0.00632723 -207.50 47.50 322.50 0.0128841 -207.50 47.50 327.50 0.0622874 -207.50 47.50 332.50 0.212702 -207.50 47.50 337.50 0.565485 -207.50 47.50 342.50 1.24718 -207.50 47.50 347.50 2.07805 -207.50 47.50 352.50 3.17018 -207.50 47.50 357.50 4.37515 -207.50 52.50 2.50 4.66762 -207.50 52.50 7.50 5.26632 -207.50 52.50 12.50 5.20289 -207.50 52.50 17.50 4.16698 -207.50 52.50 22.50 2.87281 -207.50 52.50 27.50 1.62258 -207.50 52.50 32.50 0.749232 -207.50 52.50 37.50 0.259457 -207.50 52.50 42.50 0.0598364 -207.50 52.50 47.50 0.00950439 -207.50 52.50 52.50 0.00713903 -207.50 52.50 57.50 0.0315213 -207.50 52.50 62.50 0.0962726 -207.50 52.50 67.50 0.297183 -207.50 52.50 72.50 0.704983 -207.50 52.50 77.50 1.35811 -207.50 52.50 82.50 2.38046 -207.50 52.50 87.50 3.66233 -207.50 52.50 92.50 4.66762 -207.50 52.50 97.50 5.26632 -207.50 52.50 102.50 5.20289 -207.50 52.50 107.50 4.16698 -207.50 52.50 112.50 2.87281 -207.50 52.50 117.50 1.62258 -207.50 52.50 122.50 0.749231 -207.50 52.50 127.50 0.259457 -207.50 52.50 132.50 0.0598363 -207.50 52.50 137.50 0.0095044 -207.50 52.50 142.50 0.00713903 -207.50 52.50 147.50 0.0315213 -207.50 52.50 152.50 0.0962725 -207.50 52.50 157.50 0.297182 -207.50 52.50 162.50 0.704983 -207.50 52.50 167.50 1.35811 -207.50 52.50 172.50 2.38046 -207.50 52.50 177.50 3.66233 -207.50 52.50 182.50 4.66762 -207.50 52.50 187.50 5.26632 -207.50 52.50 192.50 5.20289 -207.50 52.50 197.50 4.16698 -207.50 52.50 202.50 2.8728 -207.50 52.50 207.50 1.62258 -207.50 52.50 212.50 0.749231 -207.50 52.50 217.50 0.259457 -207.50 52.50 222.50 0.0598364 -207.50 52.50 227.50 0.00950442 -207.50 52.50 232.50 0.00713905 -207.50 52.50 237.50 0.0315214 -207.50 52.50 242.50 0.0962728 -207.50 52.50 247.50 0.297183 -207.50 52.50 252.50 0.704985 -207.50 52.50 257.50 1.35811 -207.50 52.50 262.50 2.38046 -207.50 52.50 267.50 3.66233 -207.50 52.50 272.50 4.66762 -207.50 52.50 277.50 5.26632 -207.50 52.50 282.50 5.20289 -207.50 52.50 287.50 4.16698 -207.50 52.50 292.50 2.87281 -207.50 52.50 297.50 1.62258 -207.50 52.50 302.50 0.749232 -207.50 52.50 307.50 0.259457 -207.50 52.50 312.50 0.0598364 -207.50 52.50 317.50 0.00950442 -207.50 52.50 322.50 0.00713902 -207.50 52.50 327.50 0.0315212 -207.50 52.50 332.50 0.0962724 -207.50 52.50 337.50 0.297182 -207.50 52.50 342.50 0.704982 -207.50 52.50 347.50 1.3581 -207.50 52.50 352.50 2.38045 -207.50 52.50 357.50 3.66232 -207.50 57.50 2.50 3.78322 -207.50 57.50 7.50 5.09998 -207.50 57.50 12.50 5.6699 -207.50 57.50 17.50 5.20794 -207.50 57.50 22.50 4.10428 -207.50 57.50 27.50 2.66685 -207.50 57.50 32.50 1.36783 -207.50 57.50 37.50 0.496881 -207.50 57.50 42.50 0.130981 -207.50 57.50 47.50 0.0254932 -207.50 57.50 52.50 0.00479201 -207.50 57.50 57.50 0.0103397 -207.50 57.50 62.50 0.0449127 -207.50 57.50 67.50 0.129212 -207.50 57.50 72.50 0.323166 -207.50 57.50 77.50 0.731469 -207.50 57.50 82.50 1.45216 -207.50 57.50 87.50 2.53104 -207.50 57.50 92.50 3.78322 -207.50 57.50 97.50 5.09998 -207.50 57.50 102.50 5.66989 -207.50 57.50 107.50 5.20794 -207.50 57.50 112.50 4.10428 -207.50 57.50 117.50 2.66685 -207.50 57.50 122.50 1.36783 -207.50 57.50 127.50 0.49688 -207.50 57.50 132.50 0.130981 -207.50 57.50 137.50 0.0254932 -207.50 57.50 142.50 0.00479201 -207.50 57.50 147.50 0.0103397 -207.50 57.50 152.50 0.0449127 -207.50 57.50 157.50 0.129212 -207.50 57.50 162.50 0.323166 -207.50 57.50 167.50 0.731469 -207.50 57.50 172.50 1.45216 -207.50 57.50 177.50 2.53104 -207.50 57.50 182.50 3.78322 -207.50 57.50 187.50 5.09998 -207.50 57.50 192.50 5.66989 -207.50 57.50 197.50 5.20794 -207.50 57.50 202.50 4.10428 -207.50 57.50 207.50 2.66685 -207.50 57.50 212.50 1.36783 -207.50 57.50 217.50 0.496881 -207.50 57.50 222.50 0.130981 -207.50 57.50 227.50 0.0254932 -207.50 57.50 232.50 0.00479201 -207.50 57.50 237.50 0.0103397 -207.50 57.50 242.50 0.0449127 -207.50 57.50 247.50 0.129212 -207.50 57.50 252.50 0.323166 -207.50 57.50 257.50 0.731469 -207.50 57.50 262.50 1.45216 -207.50 57.50 267.50 2.53104 -207.50 57.50 272.50 3.78322 -207.50 57.50 277.50 5.09998 -207.50 57.50 282.50 5.66989 -207.50 57.50 287.50 5.20794 -207.50 57.50 292.50 4.10428 -207.50 57.50 297.50 2.66685 -207.50 57.50 302.50 1.36783 -207.50 57.50 307.50 0.496882 -207.50 57.50 312.50 0.130981 -207.50 57.50 317.50 0.0254932 -207.50 57.50 322.50 0.004792 -207.50 57.50 327.50 0.0103396 -207.50 57.50 332.50 0.0449126 -207.50 57.50 337.50 0.129212 -207.50 57.50 342.50 0.323165 -207.50 57.50 347.50 0.731467 -207.50 57.50 352.50 1.45216 -207.50 57.50 357.50 2.53104 -207.50 62.50 2.50 2.76505 -207.50 62.50 7.50 4.4001 -207.50 62.50 12.50 5.45371 -207.50 62.50 17.50 5.73607 -207.50 62.50 22.50 4.99965 -207.50 62.50 27.50 3.60304 -207.50 62.50 32.50 1.96485 -207.50 62.50 37.50 0.838125 -207.50 62.50 42.50 0.237939 -207.50 62.50 47.50 0.0497145 -207.50 62.50 52.50 0.0111846 -207.50 62.50 57.50 0.00573944 -207.50 62.50 62.50 0.0170952 -207.50 62.50 67.50 0.0450436 -207.50 62.50 72.50 0.124567 -207.50 62.50 77.50 0.330642 -207.50 62.50 82.50 0.762584 -207.50 62.50 87.50 1.50963 -207.50 62.50 92.50 2.76505 -207.50 62.50 97.50 4.4001 -207.50 62.50 102.50 5.45371 -207.50 62.50 107.50 5.73607 -207.50 62.50 112.50 4.99965 -207.50 62.50 117.50 3.60304 -207.50 62.50 122.50 1.96485 -207.50 62.50 127.50 0.838124 -207.50 62.50 132.50 0.237939 -207.50 62.50 137.50 0.0497145 -207.50 62.50 142.50 0.0111846 -207.50 62.50 147.50 0.00573944 -207.50 62.50 152.50 0.0170952 -207.50 62.50 157.50 0.0450435 -207.50 62.50 162.50 0.124567 -207.50 62.50 167.50 0.330642 -207.50 62.50 172.50 0.762584 -207.50 62.50 177.50 1.50963 -207.50 62.50 182.50 2.76505 -207.50 62.50 187.50 4.4001 -207.50 62.50 192.50 5.45371 -207.50 62.50 197.50 5.73607 -207.50 62.50 202.50 4.99965 -207.50 62.50 207.50 3.60304 -207.50 62.50 212.50 1.96485 -207.50 62.50 217.50 0.838125 -207.50 62.50 222.50 0.23794 -207.50 62.50 227.50 0.0497146 -207.50 62.50 232.50 0.0111846 -207.50 62.50 237.50 0.00573944 -207.50 62.50 242.50 0.0170952 -207.50 62.50 247.50 0.0450437 -207.50 62.50 252.50 0.124567 -207.50 62.50 257.50 0.330643 -207.50 62.50 262.50 0.762585 -207.50 62.50 267.50 1.50963 -207.50 62.50 272.50 2.76505 -207.50 62.50 277.50 4.4001 -207.50 62.50 282.50 5.45371 -207.50 62.50 287.50 5.73607 -207.50 62.50 292.50 4.99965 -207.50 62.50 297.50 3.60305 -207.50 62.50 302.50 1.96486 -207.50 62.50 307.50 0.838126 -207.50 62.50 312.50 0.23794 -207.50 62.50 317.50 0.0497147 -207.50 62.50 322.50 0.0111846 -207.50 62.50 327.50 0.00573943 -207.50 62.50 332.50 0.0170952 -207.50 62.50 337.50 0.0450433 -207.50 62.50 342.50 0.124566 -207.50 62.50 347.50 0.330642 -207.50 62.50 352.50 0.762582 -207.50 62.50 357.50 1.50962 -207.50 67.50 2.50 1.82434 -207.50 67.50 7.50 3.30735 -207.50 67.50 12.50 4.60096 -207.50 67.50 17.50 5.30437 -207.50 67.50 22.50 5.05496 -207.50 67.50 27.50 3.86145 -207.50 67.50 32.50 2.34372 -207.50 67.50 37.50 1.07266 -207.50 67.50 42.50 0.384125 -207.50 67.50 47.50 0.11112 -207.50 67.50 52.50 0.0274634 -207.50 67.50 57.50 0.00540732 -207.50 67.50 62.50 0.00665762 -207.50 67.50 67.50 0.0243377 -207.50 67.50 72.50 0.0593759 -207.50 67.50 77.50 0.146936 -207.50 67.50 82.50 0.374926 -207.50 67.50 87.50 0.828257 -207.50 67.50 92.50 1.82434 -207.50 67.50 97.50 3.30735 -207.50 67.50 102.50 4.60096 -207.50 67.50 107.50 5.30437 -207.50 67.50 112.50 5.05496 -207.50 67.50 117.50 3.86145 -207.50 67.50 122.50 2.34371 -207.50 67.50 127.50 1.07266 -207.50 67.50 132.50 0.384125 -207.50 67.50 137.50 0.11112 -207.50 67.50 142.50 0.0274634 -207.50 67.50 147.50 0.00540733 -207.50 67.50 152.50 0.00665761 -207.50 67.50 157.50 0.0243377 -207.50 67.50 162.50 0.0593759 -207.50 67.50 167.50 0.146936 -207.50 67.50 172.50 0.374926 -207.50 67.50 177.50 0.828256 -207.50 67.50 182.50 1.82434 -207.50 67.50 187.50 3.30735 -207.50 67.50 192.50 4.60096 -207.50 67.50 197.50 5.30437 -207.50 67.50 202.50 5.05496 -207.50 67.50 207.50 3.86145 -207.50 67.50 212.50 2.34372 -207.50 67.50 217.50 1.07266 -207.50 67.50 222.50 0.384125 -207.50 67.50 227.50 0.11112 -207.50 67.50 232.50 0.0274633 -207.50 67.50 237.50 0.00540733 -207.50 67.50 242.50 0.00665765 -207.50 67.50 247.50 0.0243377 -207.50 67.50 252.50 0.059376 -207.50 67.50 257.50 0.146936 -207.50 67.50 262.50 0.374927 -207.50 67.50 267.50 0.828257 -207.50 67.50 272.50 1.82434 -207.50 67.50 277.50 3.30735 -207.50 67.50 282.50 4.60096 -207.50 67.50 287.50 5.30437 -207.50 67.50 292.50 5.05496 -207.50 67.50 297.50 3.86145 -207.50 67.50 302.50 2.34372 -207.50 67.50 307.50 1.07266 -207.50 67.50 312.50 0.384126 -207.50 67.50 317.50 0.11112 -207.50 67.50 322.50 0.0274635 -207.50 67.50 327.50 0.00540732 -207.50 67.50 332.50 0.00665758 -207.50 67.50 337.50 0.0243377 -207.50 67.50 342.50 0.0593758 -207.50 67.50 347.50 0.146935 -207.50 67.50 352.50 0.374926 -207.50 67.50 357.50 0.828254 -207.50 72.50 2.50 1.04915 -207.50 72.50 7.50 2.15028 -207.50 72.50 12.50 3.34987 -207.50 72.50 17.50 4.07598 -207.50 72.50 22.50 4.13578 -207.50 72.50 27.50 3.35463 -207.50 72.50 32.50 2.15279 -207.50 72.50 37.50 1.04996 -207.50 72.50 42.50 0.424694 -207.50 72.50 47.50 0.150845 -207.50 72.50 52.50 0.0386529 -207.50 72.50 57.50 0.00809182 -207.50 72.50 62.50 0.00658603 -207.50 72.50 67.50 0.0206744 -207.50 72.50 72.50 0.0564973 -207.50 72.50 77.50 0.0837818 -207.50 72.50 82.50 0.180152 -207.50 72.50 87.50 0.418788 -207.50 72.50 92.50 1.04915 -207.50 72.50 97.50 2.15028 -207.50 72.50 102.50 3.34987 -207.50 72.50 107.50 4.07598 -207.50 72.50 112.50 4.13578 -207.50 72.50 117.50 3.35463 -207.50 72.50 122.50 2.15279 -207.50 72.50 127.50 1.04996 -207.50 72.50 132.50 0.424694 -207.50 72.50 137.50 0.150845 -207.50 72.50 142.50 0.0386529 -207.50 72.50 147.50 0.00809183 -207.50 72.50 152.50 0.00658603 -207.50 72.50 157.50 0.0206744 -207.50 72.50 162.50 0.0564973 -207.50 72.50 167.50 0.0837818 -207.50 72.50 172.50 0.180152 -207.50 72.50 177.50 0.418788 -207.50 72.50 182.50 1.04915 -207.50 72.50 187.50 2.15028 -207.50 72.50 192.50 3.34987 -207.50 72.50 197.50 4.07598 -207.50 72.50 202.50 4.13578 -207.50 72.50 207.50 3.35463 -207.50 72.50 212.50 2.15279 -207.50 72.50 217.50 1.04996 -207.50 72.50 222.50 0.424694 -207.50 72.50 227.50 0.150845 -207.50 72.50 232.50 0.0386527 -207.50 72.50 237.50 0.00809179 -207.50 72.50 242.50 0.00658604 -207.50 72.50 247.50 0.0206744 -207.50 72.50 252.50 0.0564974 -207.50 72.50 257.50 0.0837819 -207.50 72.50 262.50 0.180153 -207.50 72.50 267.50 0.418788 -207.50 72.50 272.50 1.04915 -207.50 72.50 277.50 2.15028 -207.50 72.50 282.50 3.34987 -207.50 72.50 287.50 4.07598 -207.50 72.50 292.50 4.13578 -207.50 72.50 297.50 3.35463 -207.50 72.50 302.50 2.15279 -207.50 72.50 307.50 1.04996 -207.50 72.50 312.50 0.424694 -207.50 72.50 317.50 0.150845 -207.50 72.50 322.50 0.038653 -207.50 72.50 327.50 0.00809188 -207.50 72.50 332.50 0.00658604 -207.50 72.50 337.50 0.0206743 -207.50 72.50 342.50 0.0564972 -207.50 72.50 347.50 0.0837816 -207.50 72.50 352.50 0.180152 -207.50 72.50 357.50 0.418787 -207.50 77.50 2.50 0.514899 -207.50 77.50 7.50 1.24612 -207.50 77.50 12.50 2.0119 -207.50 77.50 17.50 2.59903 -207.50 77.50 22.50 2.52736 -207.50 77.50 27.50 2.12693 -207.50 77.50 32.50 1.48843 -207.50 77.50 37.50 0.850685 -207.50 77.50 42.50 0.401136 -207.50 77.50 47.50 0.146692 -207.50 77.50 52.50 0.0356937 -207.50 77.50 57.50 0.0104885 -207.50 77.50 62.50 0.00714235 -207.50 77.50 67.50 0.0141453 -207.50 77.50 72.50 0.0377709 -207.50 77.50 77.50 0.0665508 -207.50 77.50 82.50 0.0841895 -207.50 77.50 87.50 0.193489 -207.50 77.50 92.50 0.514899 -207.50 77.50 97.50 1.24612 -207.50 77.50 102.50 2.0119 -207.50 77.50 107.50 2.59903 -207.50 77.50 112.50 2.52736 -207.50 77.50 117.50 2.12693 -207.50 77.50 122.50 1.48843 -207.50 77.50 127.50 0.850685 -207.50 77.50 132.50 0.401136 -207.50 77.50 137.50 0.146692 -207.50 77.50 142.50 0.0356938 -207.50 77.50 147.50 0.0104885 -207.50 77.50 152.50 0.00714237 -207.50 77.50 157.50 0.0141453 -207.50 77.50 162.50 0.0377709 -207.50 77.50 167.50 0.0665508 -207.50 77.50 172.50 0.0841896 -207.50 77.50 177.50 0.193489 -207.50 77.50 182.50 0.514899 -207.50 77.50 187.50 1.24612 -207.50 77.50 192.50 2.0119 -207.50 77.50 197.50 2.59903 -207.50 77.50 202.50 2.52736 -207.50 77.50 207.50 2.12693 -207.50 77.50 212.50 1.48843 -207.50 77.50 217.50 0.850686 -207.50 77.50 222.50 0.401136 -207.50 77.50 227.50 0.146692 -207.50 77.50 232.50 0.0356936 -207.50 77.50 237.50 0.0104885 -207.50 77.50 242.50 0.00714238 -207.50 77.50 247.50 0.0141453 -207.50 77.50 252.50 0.037771 -207.50 77.50 257.50 0.0665509 -207.50 77.50 262.50 0.0841896 -207.50 77.50 267.50 0.19349 -207.50 77.50 272.50 0.514899 -207.50 77.50 277.50 1.24612 -207.50 77.50 282.50 2.0119 -207.50 77.50 287.50 2.59903 -207.50 77.50 292.50 2.52736 -207.50 77.50 297.50 2.12693 -207.50 77.50 302.50 1.48843 -207.50 77.50 307.50 0.850686 -207.50 77.50 312.50 0.401136 -207.50 77.50 317.50 0.146692 -207.50 77.50 322.50 0.0356938 -207.50 77.50 327.50 0.0104886 -207.50 77.50 332.50 0.00714235 -207.50 77.50 337.50 0.0141453 -207.50 77.50 342.50 0.0377708 -207.50 77.50 347.50 0.0665508 -207.50 77.50 352.50 0.0841894 -207.50 77.50 357.50 0.193489 -207.50 82.50 2.50 0.221571 -207.50 82.50 7.50 0.58551 -207.50 82.50 12.50 1.05127 -207.50 82.50 17.50 1.13283 -207.50 82.50 22.50 1.12423 -207.50 82.50 27.50 1.03232 -207.50 82.50 32.50 0.8357 -207.50 82.50 37.50 0.556316 -207.50 82.50 42.50 0.292626 -207.50 82.50 47.50 0.111393 -207.50 82.50 52.50 0.0303807 -207.50 82.50 57.50 0.00992888 -207.50 82.50 62.50 0.0095137 -207.50 82.50 67.50 0.0165146 -207.50 82.50 72.50 0.0299219 -207.50 82.50 77.50 0.0422024 -207.50 82.50 82.50 0.0502739 -207.50 82.50 87.50 0.0801705 -207.50 82.50 92.50 0.221571 -207.50 82.50 97.50 0.58551 -207.50 82.50 102.50 1.05127 -207.50 82.50 107.50 1.13283 -207.50 82.50 112.50 1.12423 -207.50 82.50 117.50 1.03232 -207.50 82.50 122.50 0.8357 -207.50 82.50 127.50 0.556316 -207.50 82.50 132.50 0.292626 -207.50 82.50 137.50 0.111393 -207.50 82.50 142.50 0.0303807 -207.50 82.50 147.50 0.00992888 -207.50 82.50 152.50 0.0095137 -207.50 82.50 157.50 0.0165146 -207.50 82.50 162.50 0.0299219 -207.50 82.50 167.50 0.0422024 -207.50 82.50 172.50 0.0502739 -207.50 82.50 177.50 0.0801705 -207.50 82.50 182.50 0.221571 -207.50 82.50 187.50 0.585511 -207.50 82.50 192.50 1.05127 -207.50 82.50 197.50 1.13283 -207.50 82.50 202.50 1.12423 -207.50 82.50 207.50 1.03232 -207.50 82.50 212.50 0.8357 -207.50 82.50 217.50 0.556316 -207.50 82.50 222.50 0.292626 -207.50 82.50 227.50 0.111393 -207.50 82.50 232.50 0.0303807 -207.50 82.50 237.50 0.00992887 -207.50 82.50 242.50 0.0095137 -207.50 82.50 247.50 0.0165147 -207.50 82.50 252.50 0.029922 -207.50 82.50 257.50 0.0422025 -207.50 82.50 262.50 0.0502739 -207.50 82.50 267.50 0.0801706 -207.50 82.50 272.50 0.221571 -207.50 82.50 277.50 0.58551 -207.50 82.50 282.50 1.05127 -207.50 82.50 287.50 1.13283 -207.50 82.50 292.50 1.12423 -207.50 82.50 297.50 1.03232 -207.50 82.50 302.50 0.8357 -207.50 82.50 307.50 0.556316 -207.50 82.50 312.50 0.292626 -207.50 82.50 317.50 0.111393 -207.50 82.50 322.50 0.0303808 -207.50 82.50 327.50 0.00992888 -207.50 82.50 332.50 0.00951369 -207.50 82.50 337.50 0.0165146 -207.50 82.50 342.50 0.0299219 -207.50 82.50 347.50 0.0422024 -207.50 82.50 352.50 0.0502739 -207.50 82.50 357.50 0.0801702 -207.50 87.50 2.50 0.0874276 -207.50 87.50 7.50 0.245087 -207.50 87.50 12.50 0.35726 -207.50 87.50 17.50 0.437467 -207.50 87.50 22.50 0.420596 -207.50 87.50 27.50 0.420049 -207.50 87.50 32.50 0.402788 -207.50 87.50 37.50 0.289468 -207.50 87.50 42.50 0.146054 -207.50 87.50 47.50 0.0570135 -207.50 87.50 52.50 0.0248785 -207.50 87.50 57.50 0.0225085 -207.50 87.50 62.50 0.0280813 -207.50 87.50 67.50 0.0355995 -207.50 87.50 72.50 0.0568336 -207.50 87.50 77.50 0.0717912 -207.50 87.50 82.50 0.0558491 -207.50 87.50 87.50 0.0449284 -207.50 87.50 92.50 0.0874277 -207.50 87.50 97.50 0.245087 -207.50 87.50 102.50 0.35726 -207.50 87.50 107.50 0.437467 -207.50 87.50 112.50 0.420596 -207.50 87.50 117.50 0.420049 -207.50 87.50 122.50 0.402788 -207.50 87.50 127.50 0.289468 -207.50 87.50 132.50 0.146054 -207.50 87.50 137.50 0.0570135 -207.50 87.50 142.50 0.0248786 -207.50 87.50 147.50 0.0225085 -207.50 87.50 152.50 0.0280813 -207.50 87.50 157.50 0.0355995 -207.50 87.50 162.50 0.0568337 -207.50 87.50 167.50 0.0717912 -207.50 87.50 172.50 0.0558491 -207.50 87.50 177.50 0.0449284 -207.50 87.50 182.50 0.0874277 -207.50 87.50 187.50 0.245087 -207.50 87.50 192.50 0.35726 -207.50 87.50 197.50 0.437467 -207.50 87.50 202.50 0.420596 -207.50 87.50 207.50 0.420049 -207.50 87.50 212.50 0.402788 -207.50 87.50 217.50 0.289468 -207.50 87.50 222.50 0.146054 -207.50 87.50 227.50 0.0570136 -207.50 87.50 232.50 0.0248785 -207.50 87.50 237.50 0.0225085 -207.50 87.50 242.50 0.0280813 -207.50 87.50 247.50 0.0355995 -207.50 87.50 252.50 0.0568337 -207.50 87.50 257.50 0.0717913 -207.50 87.50 262.50 0.055849 -207.50 87.50 267.50 0.0449284 -207.50 87.50 272.50 0.0874276 -207.50 87.50 277.50 0.245087 -207.50 87.50 282.50 0.357259 -207.50 87.50 287.50 0.437467 -207.50 87.50 292.50 0.420596 -207.50 87.50 297.50 0.420049 -207.50 87.50 302.50 0.402788 -207.50 87.50 307.50 0.289468 -207.50 87.50 312.50 0.146054 -207.50 87.50 317.50 0.0570136 -207.50 87.50 322.50 0.0248786 -207.50 87.50 327.50 0.0225085 -207.50 87.50 332.50 0.0280813 -207.50 87.50 337.50 0.0355995 -207.50 87.50 342.50 0.0568336 -207.50 87.50 347.50 0.0717912 -207.50 87.50 352.50 0.0558492 -207.50 87.50 357.50 0.0449284 -207.50 92.50 2.50 0.0485219 -207.50 92.50 7.50 0.0733504 -207.50 92.50 12.50 0.116684 -207.50 92.50 17.50 0.129911 -207.50 92.50 22.50 0.121878 -207.50 92.50 27.50 0.128577 -207.50 92.50 32.50 0.130738 -207.50 92.50 37.50 0.0974755 -207.50 92.50 42.50 0.0543458 -207.50 92.50 47.50 0.0370179 -207.50 92.50 52.50 0.0543459 -207.50 92.50 57.50 0.0974756 -207.50 92.50 62.50 0.130738 -207.50 92.50 67.50 0.128577 -207.50 92.50 72.50 0.121879 -207.50 92.50 77.50 0.129911 -207.50 92.50 82.50 0.116684 -207.50 92.50 87.50 0.0733504 -207.50 92.50 92.50 0.048522 -207.50 92.50 97.50 0.0733505 -207.50 92.50 102.50 0.116684 -207.50 92.50 107.50 0.129911 -207.50 92.50 112.50 0.121879 -207.50 92.50 117.50 0.128577 -207.50 92.50 122.50 0.130738 -207.50 92.50 127.50 0.0974754 -207.50 92.50 132.50 0.0543458 -207.50 92.50 137.50 0.0370179 -207.50 92.50 142.50 0.0543458 -207.50 92.50 147.50 0.0974755 -207.50 92.50 152.50 0.130738 -207.50 92.50 157.50 0.128577 -207.50 92.50 162.50 0.121879 -207.50 92.50 167.50 0.129911 -207.50 92.50 172.50 0.116684 -207.50 92.50 177.50 0.0733505 -207.50 92.50 182.50 0.048522 -207.50 92.50 187.50 0.0733505 -207.50 92.50 192.50 0.116684 -207.50 92.50 197.50 0.129911 -207.50 92.50 202.50 0.121879 -207.50 92.50 207.50 0.128577 -207.50 92.50 212.50 0.130738 -207.50 92.50 217.50 0.0974755 -207.50 92.50 222.50 0.0543458 -207.50 92.50 227.50 0.0370179 -207.50 92.50 232.50 0.0543459 -207.50 92.50 237.50 0.0974756 -207.50 92.50 242.50 0.130738 -207.50 92.50 247.50 0.128577 -207.50 92.50 252.50 0.121879 -207.50 92.50 257.50 0.129911 -207.50 92.50 262.50 0.116684 -207.50 92.50 267.50 0.0733504 -207.50 92.50 272.50 0.0485219 -207.50 92.50 277.50 0.0733504 -207.50 92.50 282.50 0.116684 -207.50 92.50 287.50 0.129911 -207.50 92.50 292.50 0.121878 -207.50 92.50 297.50 0.128577 -207.50 92.50 302.50 0.130738 -207.50 92.50 307.50 0.0974755 -207.50 92.50 312.50 0.0543458 -207.50 92.50 317.50 0.0370179 -207.50 92.50 322.50 0.0543458 -207.50 92.50 327.50 0.0974754 -207.50 92.50 332.50 0.130738 -207.50 92.50 337.50 0.128577 -207.50 92.50 342.50 0.121879 -207.50 92.50 347.50 0.129911 -207.50 92.50 352.50 0.116684 -207.50 92.50 357.50 0.0733506 -207.50 97.50 2.50 0.0874276 -207.50 97.50 7.50 0.0449284 -207.50 97.50 12.50 0.0558491 -207.50 97.50 17.50 0.0717912 -207.50 97.50 22.50 0.0568336 -207.50 97.50 27.50 0.0355995 -207.50 97.50 32.50 0.0280813 -207.50 97.50 37.50 0.0225085 -207.50 97.50 42.50 0.0248786 -207.50 97.50 47.50 0.0570136 -207.50 97.50 52.50 0.146054 -207.50 97.50 57.50 0.289468 -207.50 97.50 62.50 0.402788 -207.50 97.50 67.50 0.420049 -207.50 97.50 72.50 0.420596 -207.50 97.50 77.50 0.437467 -207.50 97.50 82.50 0.357259 -207.50 97.50 87.50 0.245087 -207.50 97.50 92.50 0.0874276 -207.50 97.50 97.50 0.0449284 -207.50 97.50 102.50 0.0558491 -207.50 97.50 107.50 0.0717912 -207.50 97.50 112.50 0.0568336 -207.50 97.50 117.50 0.0355995 -207.50 97.50 122.50 0.0280813 -207.50 97.50 127.50 0.0225085 -207.50 97.50 132.50 0.0248786 -207.50 97.50 137.50 0.0570135 -207.50 97.50 142.50 0.146054 -207.50 97.50 147.50 0.289468 -207.50 97.50 152.50 0.402788 -207.50 97.50 157.50 0.420049 -207.50 97.50 162.50 0.420596 -207.50 97.50 167.50 0.437467 -207.50 97.50 172.50 0.35726 -207.50 97.50 177.50 0.245087 -207.50 97.50 182.50 0.0874276 -207.50 97.50 187.50 0.0449284 -207.50 97.50 192.50 0.0558491 -207.50 97.50 197.50 0.0717913 -207.50 97.50 202.50 0.0568336 -207.50 97.50 207.50 0.0355995 -207.50 97.50 212.50 0.0280813 -207.50 97.50 217.50 0.0225085 -207.50 97.50 222.50 0.0248786 -207.50 97.50 227.50 0.0570135 -207.50 97.50 232.50 0.146054 -207.50 97.50 237.50 0.289468 -207.50 97.50 242.50 0.402788 -207.50 97.50 247.50 0.420049 -207.50 97.50 252.50 0.420596 -207.50 97.50 257.50 0.437467 -207.50 97.50 262.50 0.357259 -207.50 97.50 267.50 0.245087 -207.50 97.50 272.50 0.0874276 -207.50 97.50 277.50 0.0449284 -207.50 97.50 282.50 0.0558491 -207.50 97.50 287.50 0.0717912 -207.50 97.50 292.50 0.0568336 -207.50 97.50 297.50 0.0355995 -207.50 97.50 302.50 0.0280813 -207.50 97.50 307.50 0.0225085 -207.50 97.50 312.50 0.0248786 -207.50 97.50 317.50 0.0570135 -207.50 97.50 322.50 0.146053 -207.50 97.50 327.50 0.289468 -207.50 97.50 332.50 0.402788 -207.50 97.50 337.50 0.420049 -207.50 97.50 342.50 0.420596 -207.50 97.50 347.50 0.437467 -207.50 97.50 352.50 0.35726 -207.50 97.50 357.50 0.245088 -207.50 102.50 2.50 0.221571 -207.50 102.50 7.50 0.0801705 -207.50 102.50 12.50 0.0502739 -207.50 102.50 17.50 0.0422024 -207.50 102.50 22.50 0.0299219 -207.50 102.50 27.50 0.0165146 -207.50 102.50 32.50 0.0095137 -207.50 102.50 37.50 0.00992889 -207.50 102.50 42.50 0.0303807 -207.50 102.50 47.50 0.111393 -207.50 102.50 52.50 0.292626 -207.50 102.50 57.50 0.556316 -207.50 102.50 62.50 0.8357 -207.50 102.50 67.50 1.03232 -207.50 102.50 72.50 1.12423 -207.50 102.50 77.50 1.13283 -207.50 102.50 82.50 1.05127 -207.50 102.50 87.50 0.58551 -207.50 102.50 92.50 0.221571 -207.50 102.50 97.50 0.0801705 -207.50 102.50 102.50 0.0502739 -207.50 102.50 107.50 0.0422024 -207.50 102.50 112.50 0.0299219 -207.50 102.50 117.50 0.0165146 -207.50 102.50 122.50 0.0095137 -207.50 102.50 127.50 0.00992888 -207.50 102.50 132.50 0.0303807 -207.50 102.50 137.50 0.111393 -207.50 102.50 142.50 0.292626 -207.50 102.50 147.50 0.556316 -207.50 102.50 152.50 0.8357 -207.50 102.50 157.50 1.03232 -207.50 102.50 162.50 1.12423 -207.50 102.50 167.50 1.13283 -207.50 102.50 172.50 1.05127 -207.50 102.50 177.50 0.585511 -207.50 102.50 182.50 0.221571 -207.50 102.50 187.50 0.0801705 -207.50 102.50 192.50 0.0502739 -207.50 102.50 197.50 0.0422024 -207.50 102.50 202.50 0.0299219 -207.50 102.50 207.50 0.0165146 -207.50 102.50 212.50 0.00951371 -207.50 102.50 217.50 0.00992888 -207.50 102.50 222.50 0.0303807 -207.50 102.50 227.50 0.111393 -207.50 102.50 232.50 0.292626 -207.50 102.50 237.50 0.556317 -207.50 102.50 242.50 0.8357 -207.50 102.50 247.50 1.03232 -207.50 102.50 252.50 1.12423 -207.50 102.50 257.50 1.13283 -207.50 102.50 262.50 1.05127 -207.50 102.50 267.50 0.58551 -207.50 102.50 272.50 0.221571 -207.50 102.50 277.50 0.0801705 -207.50 102.50 282.50 0.0502739 -207.50 102.50 287.50 0.0422024 -207.50 102.50 292.50 0.0299219 -207.50 102.50 297.50 0.0165146 -207.50 102.50 302.50 0.0095137 -207.50 102.50 307.50 0.00992887 -207.50 102.50 312.50 0.0303807 -207.50 102.50 317.50 0.111393 -207.50 102.50 322.50 0.292625 -207.50 102.50 327.50 0.556315 -207.50 102.50 332.50 0.8357 -207.50 102.50 337.50 1.03232 -207.50 102.50 342.50 1.12423 -207.50 102.50 347.50 1.13283 -207.50 102.50 352.50 1.05127 -207.50 102.50 357.50 0.585511 -207.50 107.50 2.50 0.514899 -207.50 107.50 7.50 0.193489 -207.50 107.50 12.50 0.0841895 -207.50 107.50 17.50 0.0665508 -207.50 107.50 22.50 0.0377708 -207.50 107.50 27.50 0.0141453 -207.50 107.50 32.50 0.00714236 -207.50 107.50 37.50 0.0104886 -207.50 107.50 42.50 0.0356938 -207.50 107.50 47.50 0.146692 -207.50 107.50 52.50 0.401136 -207.50 107.50 57.50 0.850686 -207.50 107.50 62.50 1.48843 -207.50 107.50 67.50 2.12693 -207.50 107.50 72.50 2.52736 -207.50 107.50 77.50 2.59903 -207.50 107.50 82.50 2.0119 -207.50 107.50 87.50 1.24612 -207.50 107.50 92.50 0.514899 -207.50 107.50 97.50 0.193489 -207.50 107.50 102.50 0.0841895 -207.50 107.50 107.50 0.0665508 -207.50 107.50 112.50 0.0377708 -207.50 107.50 117.50 0.0141453 -207.50 107.50 122.50 0.00714236 -207.50 107.50 127.50 0.0104886 -207.50 107.50 132.50 0.0356938 -207.50 107.50 137.50 0.146692 -207.50 107.50 142.50 0.401136 -207.50 107.50 147.50 0.850686 -207.50 107.50 152.50 1.48843 -207.50 107.50 157.50 2.12693 -207.50 107.50 162.50 2.52736 -207.50 107.50 167.50 2.59903 -207.50 107.50 172.50 2.0119 -207.50 107.50 177.50 1.24612 -207.50 107.50 182.50 0.514899 -207.50 107.50 187.50 0.193489 -207.50 107.50 192.50 0.0841896 -207.50 107.50 197.50 0.0665509 -207.50 107.50 202.50 0.0377708 -207.50 107.50 207.50 0.0141453 -207.50 107.50 212.50 0.00714236 -207.50 107.50 217.50 0.0104885 -207.50 107.50 222.50 0.0356937 -207.50 107.50 227.50 0.146692 -207.50 107.50 232.50 0.401137 -207.50 107.50 237.50 0.850687 -207.50 107.50 242.50 1.48843 -207.50 107.50 247.50 2.12693 -207.50 107.50 252.50 2.52736 -207.50 107.50 257.50 2.59903 -207.50 107.50 262.50 2.01189 -207.50 107.50 267.50 1.24612 -207.50 107.50 272.50 0.514899 -207.50 107.50 277.50 0.193489 -207.50 107.50 282.50 0.0841895 -207.50 107.50 287.50 0.0665508 -207.50 107.50 292.50 0.0377709 -207.50 107.50 297.50 0.0141453 -207.50 107.50 302.50 0.00714236 -207.50 107.50 307.50 0.0104885 -207.50 107.50 312.50 0.0356937 -207.50 107.50 317.50 0.146692 -207.50 107.50 322.50 0.401135 -207.50 107.50 327.50 0.850685 -207.50 107.50 332.50 1.48843 -207.50 107.50 337.50 2.12693 -207.50 107.50 342.50 2.52736 -207.50 107.50 347.50 2.59903 -207.50 107.50 352.50 2.0119 -207.50 107.50 357.50 1.24612 -207.50 112.50 2.50 1.04915 -207.50 112.50 7.50 0.418788 -207.50 112.50 12.50 0.180152 -207.50 112.50 17.50 0.0837818 -207.50 112.50 22.50 0.0564973 -207.50 112.50 27.50 0.0206744 -207.50 112.50 32.50 0.00658605 -207.50 112.50 37.50 0.00809186 -207.50 112.50 42.50 0.0386529 -207.50 112.50 47.50 0.150845 -207.50 112.50 52.50 0.424694 -207.50 112.50 57.50 1.04996 -207.50 112.50 62.50 2.15279 -207.50 112.50 67.50 3.35464 -207.50 112.50 72.50 4.13578 -207.50 112.50 77.50 4.07598 -207.50 112.50 82.50 3.34987 -207.50 112.50 87.50 2.15028 -207.50 112.50 92.50 1.04915 -207.50 112.50 97.50 0.418788 -207.50 112.50 102.50 0.180152 -207.50 112.50 107.50 0.0837818 -207.50 112.50 112.50 0.0564973 -207.50 112.50 117.50 0.0206743 -207.50 112.50 122.50 0.00658604 -207.50 112.50 127.50 0.00809187 -207.50 112.50 132.50 0.038653 -207.50 112.50 137.50 0.150845 -207.50 112.50 142.50 0.424694 -207.50 112.50 147.50 1.04996 -207.50 112.50 152.50 2.15279 -207.50 112.50 157.50 3.35463 -207.50 112.50 162.50 4.13578 -207.50 112.50 167.50 4.07598 -207.50 112.50 172.50 3.34987 -207.50 112.50 177.50 2.15028 -207.50 112.50 182.50 1.04915 -207.50 112.50 187.50 0.418788 -207.50 112.50 192.50 0.180152 -207.50 112.50 197.50 0.0837818 -207.50 112.50 202.50 0.0564973 -207.50 112.50 207.50 0.0206744 -207.50 112.50 212.50 0.00658604 -207.50 112.50 217.50 0.00809184 -207.50 112.50 222.50 0.0386528 -207.50 112.50 227.50 0.150845 -207.50 112.50 232.50 0.424695 -207.50 112.50 237.50 1.04996 -207.50 112.50 242.50 2.15279 -207.50 112.50 247.50 3.35464 -207.50 112.50 252.50 4.13578 -207.50 112.50 257.50 4.07598 -207.50 112.50 262.50 3.34986 -207.50 112.50 267.50 2.15027 -207.50 112.50 272.50 1.04915 -207.50 112.50 277.50 0.418788 -207.50 112.50 282.50 0.180152 -207.50 112.50 287.50 0.0837818 -207.50 112.50 292.50 0.0564973 -207.50 112.50 297.50 0.0206744 -207.50 112.50 302.50 0.00658605 -207.50 112.50 307.50 0.00809183 -207.50 112.50 312.50 0.0386528 -207.50 112.50 317.50 0.150845 -207.50 112.50 322.50 0.424693 -207.50 112.50 327.50 1.04995 -207.50 112.50 332.50 2.15278 -207.50 112.50 337.50 3.35463 -207.50 112.50 342.50 4.13578 -207.50 112.50 347.50 4.07598 -207.50 112.50 352.50 3.34987 -207.50 112.50 357.50 2.15028 -207.50 117.50 2.50 1.82434 -207.50 117.50 7.50 0.828257 -207.50 117.50 12.50 0.374927 -207.50 117.50 17.50 0.146936 -207.50 117.50 22.50 0.0593759 -207.50 117.50 27.50 0.0243377 -207.50 117.50 32.50 0.00665763 -207.50 117.50 37.50 0.00540733 -207.50 117.50 42.50 0.0274634 -207.50 117.50 47.50 0.11112 -207.50 117.50 52.50 0.384126 -207.50 117.50 57.50 1.07266 -207.50 117.50 62.50 2.34372 -207.50 117.50 67.50 3.86145 -207.50 117.50 72.50 5.05497 -207.50 117.50 77.50 5.30437 -207.50 117.50 82.50 4.60096 -207.50 117.50 87.50 3.30735 -207.50 117.50 92.50 1.82434 -207.50 117.50 97.50 0.828257 -207.50 117.50 102.50 0.374927 -207.50 117.50 107.50 0.146936 -207.50 117.50 112.50 0.0593759 -207.50 117.50 117.50 0.0243377 -207.50 117.50 122.50 0.0066576 -207.50 117.50 127.50 0.00540733 -207.50 117.50 132.50 0.0274634 -207.50 117.50 137.50 0.11112 -207.50 117.50 142.50 0.384126 -207.50 117.50 147.50 1.07266 -207.50 117.50 152.50 2.34372 -207.50 117.50 157.50 3.86145 -207.50 117.50 162.50 5.05496 -207.50 117.50 167.50 5.30437 -207.50 117.50 172.50 4.60096 -207.50 117.50 177.50 3.30736 -207.50 117.50 182.50 1.82434 -207.50 117.50 187.50 0.828256 -207.50 117.50 192.50 0.374927 -207.50 117.50 197.50 0.146936 -207.50 117.50 202.50 0.0593759 -207.50 117.50 207.50 0.0243377 -207.50 117.50 212.50 0.00665763 -207.50 117.50 217.50 0.00540732 -207.50 117.50 222.50 0.0274633 -207.50 117.50 227.50 0.11112 -207.50 117.50 232.50 0.384126 -207.50 117.50 237.50 1.07266 -207.50 117.50 242.50 2.34372 -207.50 117.50 247.50 3.86145 -207.50 117.50 252.50 5.05496 -207.50 117.50 257.50 5.30437 -207.50 117.50 262.50 4.60096 -207.50 117.50 267.50 3.30735 -207.50 117.50 272.50 1.82434 -207.50 117.50 277.50 0.828257 -207.50 117.50 282.50 0.374927 -207.50 117.50 287.50 0.146936 -207.50 117.50 292.50 0.0593759 -207.50 117.50 297.50 0.0243377 -207.50 117.50 302.50 0.00665765 -207.50 117.50 307.50 0.00540732 -207.50 117.50 312.50 0.0274633 -207.50 117.50 317.50 0.11112 -207.50 117.50 322.50 0.384124 -207.50 117.50 327.50 1.07266 -207.50 117.50 332.50 2.34371 -207.50 117.50 337.50 3.86145 -207.50 117.50 342.50 5.05496 -207.50 117.50 347.50 5.30437 -207.50 117.50 352.50 4.60096 -207.50 117.50 357.50 3.30736 -207.50 122.50 2.50 2.76505 -207.50 122.50 7.50 1.50963 -207.50 122.50 12.50 0.762584 -207.50 122.50 17.50 0.330642 -207.50 122.50 22.50 0.124567 -207.50 122.50 27.50 0.0450435 -207.50 122.50 32.50 0.0170952 -207.50 122.50 37.50 0.00573944 -207.50 122.50 42.50 0.0111846 -207.50 122.50 47.50 0.0497145 -207.50 122.50 52.50 0.237939 -207.50 122.50 57.50 0.838125 -207.50 122.50 62.50 1.96486 -207.50 122.50 67.50 3.60305 -207.50 122.50 72.50 4.99965 -207.50 122.50 77.50 5.73607 -207.50 122.50 82.50 5.45371 -207.50 122.50 87.50 4.4001 -207.50 122.50 92.50 2.76505 -207.50 122.50 97.50 1.50963 -207.50 122.50 102.50 0.762584 -207.50 122.50 107.50 0.330643 -207.50 122.50 112.50 0.124567 -207.50 122.50 117.50 0.0450434 -207.50 122.50 122.50 0.0170952 -207.50 122.50 127.50 0.00573944 -207.50 122.50 132.50 0.0111846 -207.50 122.50 137.50 0.0497145 -207.50 122.50 142.50 0.237939 -207.50 122.50 147.50 0.838125 -207.50 122.50 152.50 1.96485 -207.50 122.50 157.50 3.60304 -207.50 122.50 162.50 4.99965 -207.50 122.50 167.50 5.73608 -207.50 122.50 172.50 5.45371 -207.50 122.50 177.50 4.4001 -207.50 122.50 182.50 2.76505 -207.50 122.50 187.50 1.50963 -207.50 122.50 192.50 0.762584 -207.50 122.50 197.50 0.330642 -207.50 122.50 202.50 0.124567 -207.50 122.50 207.50 0.0450435 -207.50 122.50 212.50 0.0170952 -207.50 122.50 217.50 0.00573944 -207.50 122.50 222.50 0.0111845 -207.50 122.50 227.50 0.0497144 -207.50 122.50 232.50 0.23794 -207.50 122.50 237.50 0.838126 -207.50 122.50 242.50 1.96486 -207.50 122.50 247.50 3.60305 -207.50 122.50 252.50 4.99965 -207.50 122.50 257.50 5.73608 -207.50 122.50 262.50 5.45371 -207.50 122.50 267.50 4.4001 -207.50 122.50 272.50 2.76505 -207.50 122.50 277.50 1.50963 -207.50 122.50 282.50 0.762584 -207.50 122.50 287.50 0.330643 -207.50 122.50 292.50 0.124567 -207.50 122.50 297.50 0.0450436 -207.50 122.50 302.50 0.0170952 -207.50 122.50 307.50 0.00573944 -207.50 122.50 312.50 0.0111845 -207.50 122.50 317.50 0.0497144 -207.50 122.50 322.50 0.237939 -207.50 122.50 327.50 0.838122 -207.50 122.50 332.50 1.96485 -207.50 122.50 337.50 3.60304 -207.50 122.50 342.50 4.99965 -207.50 122.50 347.50 5.73607 -207.50 122.50 352.50 5.45371 -207.50 122.50 357.50 4.4001 -207.50 127.50 2.50 3.78322 -207.50 127.50 7.50 2.53104 -207.50 127.50 12.50 1.45216 -207.50 127.50 17.50 0.731469 -207.50 127.50 22.50 0.323166 -207.50 127.50 27.50 0.129212 -207.50 127.50 32.50 0.0449127 -207.50 127.50 37.50 0.0103397 -207.50 127.50 42.50 0.00479201 -207.50 127.50 47.50 0.0254932 -207.50 127.50 52.50 0.130981 -207.50 127.50 57.50 0.496881 -207.50 127.50 62.50 1.36784 -207.50 127.50 67.50 2.66685 -207.50 127.50 72.50 4.10428 -207.50 127.50 77.50 5.20794 -207.50 127.50 82.50 5.66989 -207.50 127.50 87.50 5.09999 -207.50 127.50 92.50 3.78322 -207.50 127.50 97.50 2.53104 -207.50 127.50 102.50 1.45216 -207.50 127.50 107.50 0.731468 -207.50 127.50 112.50 0.323166 -207.50 127.50 117.50 0.129212 -207.50 127.50 122.50 0.0449127 -207.50 127.50 127.50 0.0103397 -207.50 127.50 132.50 0.00479201 -207.50 127.50 137.50 0.0254932 -207.50 127.50 142.50 0.130981 -207.50 127.50 147.50 0.496881 -207.50 127.50 152.50 1.36783 -207.50 127.50 157.50 2.66685 -207.50 127.50 162.50 4.10428 -207.50 127.50 167.50 5.20794 -207.50 127.50 172.50 5.66989 -207.50 127.50 177.50 5.09999 -207.50 127.50 182.50 3.78322 -207.50 127.50 187.50 2.53104 -207.50 127.50 192.50 1.45216 -207.50 127.50 197.50 0.731469 -207.50 127.50 202.50 0.323165 -207.50 127.50 207.50 0.129212 -207.50 127.50 212.50 0.0449127 -207.50 127.50 217.50 0.0103397 -207.50 127.50 222.50 0.00479201 -207.50 127.50 227.50 0.0254931 -207.50 127.50 232.50 0.130981 -207.50 127.50 237.50 0.496882 -207.50 127.50 242.50 1.36784 -207.50 127.50 247.50 2.66685 -207.50 127.50 252.50 4.10428 -207.50 127.50 257.50 5.20794 -207.50 127.50 262.50 5.66989 -207.50 127.50 267.50 5.09998 -207.50 127.50 272.50 3.78322 -207.50 127.50 277.50 2.53104 -207.50 127.50 282.50 1.45216 -207.50 127.50 287.50 0.731469 -207.50 127.50 292.50 0.323166 -207.50 127.50 297.50 0.129212 -207.50 127.50 302.50 0.0449127 -207.50 127.50 307.50 0.0103397 -207.50 127.50 312.50 0.00479201 -207.50 127.50 317.50 0.0254931 -207.50 127.50 322.50 0.13098 -207.50 127.50 327.50 0.49688 -207.50 127.50 332.50 1.36783 -207.50 127.50 337.50 2.66685 -207.50 127.50 342.50 4.10427 -207.50 127.50 347.50 5.20794 -207.50 127.50 352.50 5.6699 -207.50 127.50 357.50 5.09999 -207.50 132.50 2.50 4.66762 -207.50 132.50 7.50 3.66233 -207.50 132.50 12.50 2.38045 -207.50 132.50 17.50 1.35811 -207.50 132.50 22.50 0.704983 -207.50 132.50 27.50 0.297182 -207.50 132.50 32.50 0.0962725 -207.50 132.50 37.50 0.0315213 -207.50 132.50 42.50 0.00713904 -207.50 132.50 47.50 0.00950442 -207.50 132.50 52.50 0.0598365 -207.50 132.50 57.50 0.259457 -207.50 132.50 62.50 0.749232 -207.50 132.50 67.50 1.62258 -207.50 132.50 72.50 2.87281 -207.50 132.50 77.50 4.16698 -207.50 132.50 82.50 5.20289 -207.50 132.50 87.50 5.26632 -207.50 132.50 92.50 4.66761 -207.50 132.50 97.50 3.66233 -207.50 132.50 102.50 2.38045 -207.50 132.50 107.50 1.35811 -207.50 132.50 112.50 0.704983 -207.50 132.50 117.50 0.297182 -207.50 132.50 122.50 0.0962725 -207.50 132.50 127.50 0.0315213 -207.50 132.50 132.50 0.00713903 -207.50 132.50 137.50 0.00950442 -207.50 132.50 142.50 0.0598364 -207.50 132.50 147.50 0.259457 -207.50 132.50 152.50 0.749231 -207.50 132.50 157.50 1.62258 -207.50 132.50 162.50 2.87281 -207.50 132.50 167.50 4.16698 -207.50 132.50 172.50 5.20289 -207.50 132.50 177.50 5.26632 -207.50 132.50 182.50 4.66761 -207.50 132.50 187.50 3.66233 -207.50 132.50 192.50 2.38045 -207.50 132.50 197.50 1.35811 -207.50 132.50 202.50 0.704983 -207.50 132.50 207.50 0.297182 -207.50 132.50 212.50 0.0962725 -207.50 132.50 217.50 0.0315213 -207.50 132.50 222.50 0.00713904 -207.50 132.50 227.50 0.00950438 -207.50 132.50 232.50 0.0598365 -207.50 132.50 237.50 0.259457 -207.50 132.50 242.50 0.749233 -207.50 132.50 247.50 1.62258 -207.50 132.50 252.50 2.87281 -207.50 132.50 257.50 4.16698 -207.50 132.50 262.50 5.20289 -207.50 132.50 267.50 5.26632 -207.50 132.50 272.50 4.66761 -207.50 132.50 277.50 3.66233 -207.50 132.50 282.50 2.38045 -207.50 132.50 287.50 1.35811 -207.50 132.50 292.50 0.704983 -207.50 132.50 297.50 0.297183 -207.50 132.50 302.50 0.0962726 -207.50 132.50 307.50 0.0315213 -207.50 132.50 312.50 0.00713904 -207.50 132.50 317.50 0.00950437 -207.50 132.50 322.50 0.0598362 -207.50 132.50 327.50 0.259457 -207.50 132.50 332.50 0.74923 -207.50 132.50 337.50 1.62258 -207.50 132.50 342.50 2.8728 -207.50 132.50 347.50 4.16698 -207.50 132.50 352.50 5.20289 -207.50 132.50 357.50 5.26632 -207.50 137.50 2.50 5.03542 -207.50 137.50 7.50 4.37515 -207.50 137.50 12.50 3.17018 -207.50 137.50 17.50 2.07805 -207.50 137.50 22.50 1.24718 -207.50 137.50 27.50 0.565486 -207.50 137.50 32.50 0.212702 -207.50 137.50 37.50 0.0622875 -207.50 137.50 42.50 0.0128841 -207.50 137.50 47.50 0.00632723 -207.50 137.50 52.50 0.019279 -207.50 137.50 57.50 0.104638 -207.50 137.50 62.50 0.325679 -207.50 137.50 67.50 0.817873 -207.50 137.50 72.50 1.74613 -207.50 137.50 77.50 2.98268 -207.50 137.50 82.50 4.25359 -207.50 137.50 87.50 4.92631 -207.50 137.50 92.50 5.03542 -207.50 137.50 97.50 4.37515 -207.50 137.50 102.50 3.17018 -207.50 137.50 107.50 2.07805 -207.50 137.50 112.50 1.24718 -207.50 137.50 117.50 0.565486 -207.50 137.50 122.50 0.212702 -207.50 137.50 127.50 0.0622874 -207.50 137.50 132.50 0.0128841 -207.50 137.50 137.50 0.00632723 -207.50 137.50 142.50 0.019279 -207.50 137.50 147.50 0.104638 -207.50 137.50 152.50 0.325678 -207.50 137.50 157.50 0.817872 -207.50 137.50 162.50 1.74613 -207.50 137.50 167.50 2.98267 -207.50 137.50 172.50 4.25359 -207.50 137.50 177.50 4.9263 -207.50 137.50 182.50 5.03542 -207.50 137.50 187.50 4.37515 -207.50 137.50 192.50 3.17018 -207.50 137.50 197.50 2.07805 -207.50 137.50 202.50 1.24718 -207.50 137.50 207.50 0.565486 -207.50 137.50 212.50 0.212702 -207.50 137.50 217.50 0.0622876 -207.50 137.50 222.50 0.0128841 -207.50 137.50 227.50 0.00632723 -207.50 137.50 232.50 0.0192791 -207.50 137.50 237.50 0.104638 -207.50 137.50 242.50 0.325679 -207.50 137.50 247.50 0.817873 -207.50 137.50 252.50 1.74613 -207.50 137.50 257.50 2.98268 -207.50 137.50 262.50 4.25359 -207.50 137.50 267.50 4.9263 -207.50 137.50 272.50 5.03542 -207.50 137.50 277.50 4.37515 -207.50 137.50 282.50 3.17018 -207.50 137.50 287.50 2.07805 -207.50 137.50 292.50 1.24718 -207.50 137.50 297.50 0.565487 -207.50 137.50 302.50 0.212702 -207.50 137.50 307.50 0.0622876 -207.50 137.50 312.50 0.0128841 -207.50 137.50 317.50 0.00632722 -207.50 137.50 322.50 0.0192789 -207.50 137.50 327.50 0.104637 -207.50 137.50 332.50 0.325678 -207.50 137.50 337.50 0.81787 -207.50 137.50 342.50 1.74612 -207.50 137.50 347.50 2.98267 -207.50 137.50 352.50 4.25358 -207.50 137.50 357.50 4.9263 -207.50 142.50 2.50 4.66762 -207.50 142.50 7.50 4.3612 -207.50 142.50 12.50 3.48816 -207.50 142.50 17.50 2.57939 -207.50 142.50 22.50 1.73471 -207.50 142.50 27.50 0.924129 -207.50 142.50 32.50 0.362471 -207.50 142.50 37.50 0.109017 -207.50 142.50 42.50 0.0261247 -207.50 142.50 47.50 0.00613908 -207.50 142.50 52.50 0.00749392 -207.50 142.50 57.50 0.0339058 -207.50 142.50 62.50 0.121204 -207.50 142.50 67.50 0.367173 -207.50 142.50 72.50 0.948302 -207.50 142.50 77.50 1.92656 -207.50 142.50 82.50 3.10303 -207.50 142.50 87.50 4.11607 -207.50 142.50 92.50 4.66762 -207.50 142.50 97.50 4.3612 -207.50 142.50 102.50 3.48815 -207.50 142.50 107.50 2.57939 -207.50 142.50 112.50 1.73471 -207.50 142.50 117.50 0.924129 -207.50 142.50 122.50 0.362471 -207.50 142.50 127.50 0.109017 -207.50 142.50 132.50 0.0261246 -207.50 142.50 137.50 0.00613909 -207.50 142.50 142.50 0.00749392 -207.50 142.50 147.50 0.0339058 -207.50 142.50 152.50 0.121204 -207.50 142.50 157.50 0.367173 -207.50 142.50 162.50 0.948301 -207.50 142.50 167.50 1.92656 -207.50 142.50 172.50 3.10303 -207.50 142.50 177.50 4.11607 -207.50 142.50 182.50 4.66762 -207.50 142.50 187.50 4.3612 -207.50 142.50 192.50 3.48816 -207.50 142.50 197.50 2.57939 -207.50 142.50 202.50 1.73471 -207.50 142.50 207.50 0.924129 -207.50 142.50 212.50 0.362471 -207.50 142.50 217.50 0.109017 -207.50 142.50 222.50 0.0261247 -207.50 142.50 227.50 0.0061391 -207.50 142.50 232.50 0.00749393 -207.50 142.50 237.50 0.0339058 -207.50 142.50 242.50 0.121204 -207.50 142.50 247.50 0.367173 -207.50 142.50 252.50 0.948302 -207.50 142.50 257.50 1.92656 -207.50 142.50 262.50 3.10303 -207.50 142.50 267.50 4.11607 -207.50 142.50 272.50 4.66762 -207.50 142.50 277.50 4.3612 -207.50 142.50 282.50 3.48816 -207.50 142.50 287.50 2.57939 -207.50 142.50 292.50 1.73472 -207.50 142.50 297.50 0.92413 -207.50 142.50 302.50 0.362471 -207.50 142.50 307.50 0.109017 -207.50 142.50 312.50 0.0261247 -207.50 142.50 317.50 0.0061391 -207.50 142.50 322.50 0.0074939 -207.50 142.50 327.50 0.0339056 -207.50 142.50 332.50 0.121203 -207.50 142.50 337.50 0.367172 -207.50 142.50 342.50 0.948299 -207.50 142.50 347.50 1.92656 -207.50 142.50 352.50 3.10302 -207.50 142.50 357.50 4.11607 -207.50 147.50 2.50 3.78322 -207.50 147.50 7.50 3.78813 -207.50 147.50 12.50 3.28849 -207.50 147.50 17.50 2.66563 -207.50 147.50 22.50 1.9939 -207.50 147.50 27.50 1.21261 -207.50 147.50 32.50 0.555867 -207.50 147.50 37.50 0.196029 -207.50 147.50 42.50 0.058869 -207.50 147.50 47.50 0.0180067 -207.50 147.50 52.50 0.00654008 -207.50 147.50 57.50 0.0109531 -207.50 147.50 62.50 0.0418859 -207.50 147.50 67.50 0.153926 -207.50 147.50 72.50 0.470414 -207.50 147.50 77.50 1.11133 -207.50 147.50 82.50 2.02937 -207.50 147.50 87.50 3.05865 -207.50 147.50 92.50 3.78322 -207.50 147.50 97.50 3.78813 -207.50 147.50 102.50 3.28849 -207.50 147.50 107.50 2.66563 -207.50 147.50 112.50 1.9939 -207.50 147.50 117.50 1.21261 -207.50 147.50 122.50 0.555867 -207.50 147.50 127.50 0.196029 -207.50 147.50 132.50 0.058869 -207.50 147.50 137.50 0.0180067 -207.50 147.50 142.50 0.00654009 -207.50 147.50 147.50 0.0109531 -207.50 147.50 152.50 0.0418859 -207.50 147.50 157.50 0.153926 -207.50 147.50 162.50 0.470414 -207.50 147.50 167.50 1.11133 -207.50 147.50 172.50 2.02937 -207.50 147.50 177.50 3.05864 -207.50 147.50 182.50 3.78322 -207.50 147.50 187.50 3.78813 -207.50 147.50 192.50 3.28849 -207.50 147.50 197.50 2.66563 -207.50 147.50 202.50 1.9939 -207.50 147.50 207.50 1.21261 -207.50 147.50 212.50 0.555867 -207.50 147.50 217.50 0.19603 -207.50 147.50 222.50 0.058869 -207.50 147.50 227.50 0.0180068 -207.50 147.50 232.50 0.00654009 -207.50 147.50 237.50 0.0109531 -207.50 147.50 242.50 0.0418859 -207.50 147.50 247.50 0.153926 -207.50 147.50 252.50 0.470415 -207.50 147.50 257.50 1.11133 -207.50 147.50 262.50 2.02937 -207.50 147.50 267.50 3.05865 -207.50 147.50 272.50 3.78322 -207.50 147.50 277.50 3.78813 -207.50 147.50 282.50 3.28849 -207.50 147.50 287.50 2.66563 -207.50 147.50 292.50 1.9939 -207.50 147.50 297.50 1.21261 -207.50 147.50 302.50 0.555867 -207.50 147.50 307.50 0.19603 -207.50 147.50 312.50 0.058869 -207.50 147.50 317.50 0.0180068 -207.50 147.50 322.50 0.00654009 -207.50 147.50 327.50 0.010953 -207.50 147.50 332.50 0.0418858 -207.50 147.50 337.50 0.153925 -207.50 147.50 342.50 0.470413 -207.50 147.50 347.50 1.11133 -207.50 147.50 352.50 2.02937 -207.50 147.50 357.50 3.05864 -207.50 152.50 2.50 2.76505 -207.50 152.50 7.50 2.9695 -207.50 152.50 12.50 2.77948 -207.50 152.50 17.50 2.49158 -207.50 152.50 22.50 2.04972 -207.50 152.50 27.50 1.42938 -207.50 152.50 32.50 0.763199 -207.50 152.50 37.50 0.334403 -207.50 152.50 42.50 0.136774 -207.50 152.50 47.50 0.0483446 -207.50 152.50 52.50 0.0124351 -207.50 152.50 57.50 0.00538732 -207.50 152.50 62.50 0.0159059 -207.50 152.50 67.50 0.0647096 -207.50 152.50 72.50 0.245777 -207.50 152.50 77.50 0.618997 -207.50 152.50 82.50 1.30488 -207.50 152.50 87.50 2.07379 -207.50 152.50 92.50 2.76505 -207.50 152.50 97.50 2.9695 -207.50 152.50 102.50 2.77948 -207.50 152.50 107.50 2.49158 -207.50 152.50 112.50 2.04972 -207.50 152.50 117.50 1.42938 -207.50 152.50 122.50 0.763198 -207.50 152.50 127.50 0.334403 -207.50 152.50 132.50 0.136773 -207.50 152.50 137.50 0.0483446 -207.50 152.50 142.50 0.0124351 -207.50 152.50 147.50 0.00538732 -207.50 152.50 152.50 0.0159058 -207.50 152.50 157.50 0.0647094 -207.50 152.50 162.50 0.245777 -207.50 152.50 167.50 0.618997 -207.50 152.50 172.50 1.30488 -207.50 152.50 177.50 2.07379 -207.50 152.50 182.50 2.76505 -207.50 152.50 187.50 2.9695 -207.50 152.50 192.50 2.77948 -207.50 152.50 197.50 2.49158 -207.50 152.50 202.50 2.04972 -207.50 152.50 207.50 1.42938 -207.50 152.50 212.50 0.763199 -207.50 152.50 217.50 0.334403 -207.50 152.50 222.50 0.136774 -207.50 152.50 227.50 0.0483447 -207.50 152.50 232.50 0.0124351 -207.50 152.50 237.50 0.00538732 -207.50 152.50 242.50 0.0159059 -207.50 152.50 247.50 0.0647095 -207.50 152.50 252.50 0.245777 -207.50 152.50 257.50 0.618998 -207.50 152.50 262.50 1.30488 -207.50 152.50 267.50 2.07379 -207.50 152.50 272.50 2.76505 -207.50 152.50 277.50 2.9695 -207.50 152.50 282.50 2.77948 -207.50 152.50 287.50 2.49158 -207.50 152.50 292.50 2.04972 -207.50 152.50 297.50 1.42938 -207.50 152.50 302.50 0.763199 -207.50 152.50 307.50 0.334403 -207.50 152.50 312.50 0.136774 -207.50 152.50 317.50 0.0483447 -207.50 152.50 322.50 0.0124351 -207.50 152.50 327.50 0.00538732 -207.50 152.50 332.50 0.0159058 -207.50 152.50 337.50 0.0647091 -207.50 152.50 342.50 0.245776 -207.50 152.50 347.50 0.618996 -207.50 152.50 352.50 1.30488 -207.50 152.50 357.50 2.07378 -207.50 157.50 2.50 1.82434 -207.50 157.50 7.50 2.07889 -207.50 157.50 12.50 2.13388 -207.50 157.50 17.50 2.09955 -207.50 157.50 22.50 1.94329 -207.50 157.50 27.50 1.53757 -207.50 157.50 32.50 0.969991 -207.50 157.50 37.50 0.522209 -207.50 157.50 42.50 0.243473 -207.50 157.50 47.50 0.0869076 -207.50 157.50 52.50 0.0224209 -207.50 157.50 57.50 0.00775407 -207.50 157.50 62.50 0.0170085 -207.50 157.50 67.50 0.0604167 -207.50 157.50 72.50 0.164729 -207.50 157.50 77.50 0.408669 -207.50 157.50 82.50 0.835416 -207.50 157.50 87.50 1.3143 -207.50 157.50 92.50 1.82434 -207.50 157.50 97.50 2.07889 -207.50 157.50 102.50 2.13388 -207.50 157.50 107.50 2.09955 -207.50 157.50 112.50 1.94329 -207.50 157.50 117.50 1.53757 -207.50 157.50 122.50 0.969991 -207.50 157.50 127.50 0.522209 -207.50 157.50 132.50 0.243473 -207.50 157.50 137.50 0.0869076 -207.50 157.50 142.50 0.0224209 -207.50 157.50 147.50 0.00775407 -207.50 157.50 152.50 0.0170085 -207.50 157.50 157.50 0.0604165 -207.50 157.50 162.50 0.164729 -207.50 157.50 167.50 0.408669 -207.50 157.50 172.50 0.835416 -207.50 157.50 177.50 1.3143 -207.50 157.50 182.50 1.82434 -207.50 157.50 187.50 2.07889 -207.50 157.50 192.50 2.13388 -207.50 157.50 197.50 2.09955 -207.50 157.50 202.50 1.94329 -207.50 157.50 207.50 1.53757 -207.50 157.50 212.50 0.969991 -207.50 157.50 217.50 0.522209 -207.50 157.50 222.50 0.243473 -207.50 157.50 227.50 0.0869077 -207.50 157.50 232.50 0.0224208 -207.50 157.50 237.50 0.00775407 -207.50 157.50 242.50 0.0170085 -207.50 157.50 247.50 0.0604166 -207.50 157.50 252.50 0.164729 -207.50 157.50 257.50 0.40867 -207.50 157.50 262.50 0.835417 -207.50 157.50 267.50 1.3143 -207.50 157.50 272.50 1.82434 -207.50 157.50 277.50 2.07889 -207.50 157.50 282.50 2.13388 -207.50 157.50 287.50 2.09955 -207.50 157.50 292.50 1.94329 -207.50 157.50 297.50 1.53757 -207.50 157.50 302.50 0.969991 -207.50 157.50 307.50 0.52221 -207.50 157.50 312.50 0.243473 -207.50 157.50 317.50 0.0869078 -207.50 157.50 322.50 0.022421 -207.50 157.50 327.50 0.00775407 -207.50 157.50 332.50 0.0170084 -207.50 157.50 337.50 0.0604164 -207.50 157.50 342.50 0.164729 -207.50 157.50 347.50 0.408668 -207.50 157.50 352.50 0.835416 -207.50 157.50 357.50 1.3143 -207.50 162.50 2.50 1.04915 -207.50 162.50 7.50 1.25412 -207.50 162.50 12.50 1.42285 -207.50 162.50 17.50 1.60219 -207.50 162.50 22.50 1.72458 -207.50 162.50 27.50 1.57171 -207.50 162.50 32.50 1.1359 -207.50 162.50 37.50 0.665951 -207.50 162.50 42.50 0.31886 -207.50 162.50 47.50 0.116604 -207.50 162.50 52.50 0.03181 -207.50 162.50 57.50 0.0167425 -207.50 162.50 62.50 0.0459575 -207.50 162.50 67.50 0.101257 -207.50 162.50 72.50 0.170401 -207.50 162.50 77.50 0.296215 -207.50 162.50 82.50 0.486187 -207.50 162.50 87.50 0.754685 -207.50 162.50 92.50 1.04915 -207.50 162.50 97.50 1.25412 -207.50 162.50 102.50 1.42285 -207.50 162.50 107.50 1.60219 -207.50 162.50 112.50 1.72458 -207.50 162.50 117.50 1.57171 -207.50 162.50 122.50 1.1359 -207.50 162.50 127.50 0.66595 -207.50 162.50 132.50 0.31886 -207.50 162.50 137.50 0.116604 -207.50 162.50 142.50 0.03181 -207.50 162.50 147.50 0.0167425 -207.50 162.50 152.50 0.0459574 -207.50 162.50 157.50 0.101257 -207.50 162.50 162.50 0.170401 -207.50 162.50 167.50 0.296214 -207.50 162.50 172.50 0.486186 -207.50 162.50 177.50 0.754685 -207.50 162.50 182.50 1.04915 -207.50 162.50 187.50 1.25412 -207.50 162.50 192.50 1.42285 -207.50 162.50 197.50 1.60219 -207.50 162.50 202.50 1.72458 -207.50 162.50 207.50 1.57171 -207.50 162.50 212.50 1.1359 -207.50 162.50 217.50 0.665951 -207.50 162.50 222.50 0.31886 -207.50 162.50 227.50 0.116604 -207.50 162.50 232.50 0.0318099 -207.50 162.50 237.50 0.0167425 -207.50 162.50 242.50 0.0459575 -207.50 162.50 247.50 0.101257 -207.50 162.50 252.50 0.170401 -207.50 162.50 257.50 0.296215 -207.50 162.50 262.50 0.486187 -207.50 162.50 267.50 0.754685 -207.50 162.50 272.50 1.04915 -207.50 162.50 277.50 1.25412 -207.50 162.50 282.50 1.42285 -207.50 162.50 287.50 1.60219 -207.50 162.50 292.50 1.72458 -207.50 162.50 297.50 1.57171 -207.50 162.50 302.50 1.1359 -207.50 162.50 307.50 0.665951 -207.50 162.50 312.50 0.318861 -207.50 162.50 317.50 0.116604 -207.50 162.50 322.50 0.0318101 -207.50 162.50 327.50 0.0167425 -207.50 162.50 332.50 0.0459573 -207.50 162.50 337.50 0.101257 -207.50 162.50 342.50 0.170401 -207.50 162.50 347.50 0.296214 -207.50 162.50 352.50 0.486186 -207.50 162.50 357.50 0.754684 -207.50 167.50 2.50 0.514899 -207.50 167.50 7.50 0.631548 -207.50 167.50 12.50 0.803029 -207.50 167.50 17.50 1.1329 -207.50 167.50 22.50 1.48934 -207.50 167.50 27.50 1.55515 -207.50 167.50 32.50 1.20434 -207.50 167.50 37.50 0.685349 -207.50 167.50 42.50 0.312383 -207.50 167.50 47.50 0.120831 -207.50 167.50 52.50 0.0405364 -207.50 167.50 57.50 0.0288061 -207.50 167.50 62.50 0.0683477 -207.50 167.50 67.50 0.136815 -207.50 167.50 72.50 0.182654 -207.50 167.50 77.50 0.207991 -207.50 167.50 82.50 0.250634 -207.50 167.50 87.50 0.384519 -207.50 167.50 92.50 0.514899 -207.50 167.50 97.50 0.631548 -207.50 167.50 102.50 0.803029 -207.50 167.50 107.50 1.1329 -207.50 167.50 112.50 1.48934 -207.50 167.50 117.50 1.55515 -207.50 167.50 122.50 1.20434 -207.50 167.50 127.50 0.685349 -207.50 167.50 132.50 0.312383 -207.50 167.50 137.50 0.120831 -207.50 167.50 142.50 0.0405364 -207.50 167.50 147.50 0.0288061 -207.50 167.50 152.50 0.0683475 -207.50 167.50 157.50 0.136815 -207.50 167.50 162.50 0.182654 -207.50 167.50 167.50 0.207991 -207.50 167.50 172.50 0.250634 -207.50 167.50 177.50 0.384519 -207.50 167.50 182.50 0.514899 -207.50 167.50 187.50 0.631548 -207.50 167.50 192.50 0.803029 -207.50 167.50 197.50 1.1329 -207.50 167.50 202.50 1.48934 -207.50 167.50 207.50 1.55515 -207.50 167.50 212.50 1.20434 -207.50 167.50 217.50 0.685349 -207.50 167.50 222.50 0.312383 -207.50 167.50 227.50 0.120831 -207.50 167.50 232.50 0.0405363 -207.50 167.50 237.50 0.0288061 -207.50 167.50 242.50 0.0683476 -207.50 167.50 247.50 0.136815 -207.50 167.50 252.50 0.182654 -207.50 167.50 257.50 0.207991 -207.50 167.50 262.50 0.250634 -207.50 167.50 267.50 0.384519 -207.50 167.50 272.50 0.514899 -207.50 167.50 277.50 0.631548 -207.50 167.50 282.50 0.803028 -207.50 167.50 287.50 1.1329 -207.50 167.50 292.50 1.48934 -207.50 167.50 297.50 1.55515 -207.50 167.50 302.50 1.20435 -207.50 167.50 307.50 0.685349 -207.50 167.50 312.50 0.312383 -207.50 167.50 317.50 0.120832 -207.50 167.50 322.50 0.0405365 -207.50 167.50 327.50 0.0288061 -207.50 167.50 332.50 0.0683473 -207.50 167.50 337.50 0.136815 -207.50 167.50 342.50 0.182654 -207.50 167.50 347.50 0.207991 -207.50 167.50 352.50 0.250634 -207.50 167.50 357.50 0.384518 -207.50 172.50 2.50 0.221571 -207.50 172.50 7.50 0.269639 -207.50 172.50 12.50 0.412201 -207.50 172.50 17.50 0.751389 -207.50 172.50 22.50 1.19976 -207.50 172.50 27.50 1.37472 -207.50 172.50 32.50 1.08065 -207.50 172.50 37.50 0.598378 -207.50 172.50 42.50 0.2576 -207.50 172.50 47.50 0.098424 -207.50 172.50 52.50 0.0394887 -207.50 172.50 57.50 0.0389615 -207.50 172.50 62.50 0.0759865 -207.50 172.50 67.50 0.123006 -207.50 172.50 72.50 0.143448 -207.50 172.50 77.50 0.133941 -207.50 172.50 82.50 0.152442 -207.50 172.50 87.50 0.187039 -207.50 172.50 92.50 0.221571 -207.50 172.50 97.50 0.269639 -207.50 172.50 102.50 0.412202 -207.50 172.50 107.50 0.75139 -207.50 172.50 112.50 1.19976 -207.50 172.50 117.50 1.37472 -207.50 172.50 122.50 1.08065 -207.50 172.50 127.50 0.598378 -207.50 172.50 132.50 0.2576 -207.50 172.50 137.50 0.098424 -207.50 172.50 142.50 0.0394887 -207.50 172.50 147.50 0.0389615 -207.50 172.50 152.50 0.0759864 -207.50 172.50 157.50 0.123005 -207.50 172.50 162.50 0.143448 -207.50 172.50 167.50 0.133941 -207.50 172.50 172.50 0.152442 -207.50 172.50 177.50 0.187039 -207.50 172.50 182.50 0.221571 -207.50 172.50 187.50 0.269639 -207.50 172.50 192.50 0.412201 -207.50 172.50 197.50 0.751389 -207.50 172.50 202.50 1.19976 -207.50 172.50 207.50 1.37472 -207.50 172.50 212.50 1.08065 -207.50 172.50 217.50 0.598378 -207.50 172.50 222.50 0.2576 -207.50 172.50 227.50 0.0984241 -207.50 172.50 232.50 0.0394887 -207.50 172.50 237.50 0.0389615 -207.50 172.50 242.50 0.0759865 -207.50 172.50 247.50 0.123006 -207.50 172.50 252.50 0.143448 -207.50 172.50 257.50 0.133941 -207.50 172.50 262.50 0.152442 -207.50 172.50 267.50 0.187039 -207.50 172.50 272.50 0.221571 -207.50 172.50 277.50 0.269639 -207.50 172.50 282.50 0.412201 -207.50 172.50 287.50 0.751389 -207.50 172.50 292.50 1.19976 -207.50 172.50 297.50 1.37472 -207.50 172.50 302.50 1.08065 -207.50 172.50 307.50 0.598379 -207.50 172.50 312.50 0.2576 -207.50 172.50 317.50 0.0984242 -207.50 172.50 322.50 0.0394888 -207.50 172.50 327.50 0.0389614 -207.50 172.50 332.50 0.0759863 -207.50 172.50 337.50 0.123005 -207.50 172.50 342.50 0.143448 -207.50 172.50 347.50 0.133941 -207.50 172.50 352.50 0.152442 -207.50 172.50 357.50 0.187039 -207.50 177.50 2.50 0.0874278 -207.50 177.50 7.50 0.106432 -207.50 177.50 12.50 0.209006 -207.50 177.50 17.50 0.478809 -207.50 177.50 22.50 0.862379 -207.50 177.50 27.50 1.05029 -207.50 177.50 32.50 0.83073 -207.50 177.50 37.50 0.436529 -207.50 177.50 42.50 0.173647 -207.50 177.50 47.50 0.0686876 -207.50 177.50 52.50 0.0398712 -207.50 177.50 57.50 0.0444076 -207.50 177.50 62.50 0.0638135 -207.50 177.50 67.50 0.0873953 -207.50 177.50 72.50 0.0982883 -207.50 177.50 77.50 0.10012 -207.50 177.50 82.50 0.0973619 -207.50 177.50 87.50 0.0912091 -207.50 177.50 92.50 0.0874278 -207.50 177.50 97.50 0.106432 -207.50 177.50 102.50 0.209006 -207.50 177.50 107.50 0.478809 -207.50 177.50 112.50 0.862379 -207.50 177.50 117.50 1.05029 -207.50 177.50 122.50 0.830729 -207.50 177.50 127.50 0.436529 -207.50 177.50 132.50 0.173646 -207.50 177.50 137.50 0.0686876 -207.50 177.50 142.50 0.0398712 -207.50 177.50 147.50 0.0444076 -207.50 177.50 152.50 0.0638134 -207.50 177.50 157.50 0.0873953 -207.50 177.50 162.50 0.0982883 -207.50 177.50 167.50 0.10012 -207.50 177.50 172.50 0.0973619 -207.50 177.50 177.50 0.091209 -207.50 177.50 182.50 0.0874277 -207.50 177.50 187.50 0.106432 -207.50 177.50 192.50 0.209006 -207.50 177.50 197.50 0.478809 -207.50 177.50 202.50 0.86238 -207.50 177.50 207.50 1.05029 -207.50 177.50 212.50 0.83073 -207.50 177.50 217.50 0.436529 -207.50 177.50 222.50 0.173647 -207.50 177.50 227.50 0.0686876 -207.50 177.50 232.50 0.0398712 -207.50 177.50 237.50 0.0444076 -207.50 177.50 242.50 0.0638134 -207.50 177.50 247.50 0.0873952 -207.50 177.50 252.50 0.0982884 -207.50 177.50 257.50 0.10012 -207.50 177.50 262.50 0.0973621 -207.50 177.50 267.50 0.0912091 -207.50 177.50 272.50 0.0874277 -207.50 177.50 277.50 0.106432 -207.50 177.50 282.50 0.209006 -207.50 177.50 287.50 0.478809 -207.50 177.50 292.50 0.862379 -207.50 177.50 297.50 1.05029 -207.50 177.50 302.50 0.830731 -207.50 177.50 307.50 0.43653 -207.50 177.50 312.50 0.173647 -207.50 177.50 317.50 0.0686876 -207.50 177.50 322.50 0.0398712 -207.50 177.50 327.50 0.0444076 -207.50 177.50 332.50 0.0638134 -207.50 177.50 337.50 0.0873951 -207.50 177.50 342.50 0.0982884 -207.50 177.50 347.50 0.10012 -207.50 177.50 352.50 0.097362 -207.50 177.50 357.50 0.0912091 -212.50 2.50 2.50 0.0601603 -212.50 2.50 7.50 0.0760385 -212.50 2.50 12.50 0.083846 -212.50 2.50 17.50 0.084539 -212.50 2.50 22.50 0.083846 -212.50 2.50 27.50 0.0760385 -212.50 2.50 32.50 0.0601603 -212.50 2.50 37.50 0.0485219 -212.50 2.50 42.50 0.0624686 -212.50 2.50 47.50 0.149977 -212.50 2.50 52.50 0.393272 -212.50 2.50 57.50 0.773179 -212.50 2.50 62.50 0.980476 -212.50 2.50 67.50 0.773178 -212.50 2.50 72.50 0.393272 -212.50 2.50 77.50 0.149977 -212.50 2.50 82.50 0.0624686 -212.50 2.50 87.50 0.0485219 -212.50 2.50 92.50 0.0601603 -212.50 2.50 97.50 0.0760386 -212.50 2.50 102.50 0.083846 -212.50 2.50 107.50 0.084539 -212.50 2.50 112.50 0.083846 -212.50 2.50 117.50 0.0760385 -212.50 2.50 122.50 0.0601603 -212.50 2.50 127.50 0.0485219 -212.50 2.50 132.50 0.0624686 -212.50 2.50 137.50 0.149977 -212.50 2.50 142.50 0.393273 -212.50 2.50 147.50 0.773179 -212.50 2.50 152.50 0.980476 -212.50 2.50 157.50 0.773179 -212.50 2.50 162.50 0.393272 -212.50 2.50 167.50 0.149977 -212.50 2.50 172.50 0.0624686 -212.50 2.50 177.50 0.0485219 -212.50 2.50 182.50 0.0601603 -212.50 2.50 187.50 0.0760386 -212.50 2.50 192.50 0.083846 -212.50 2.50 197.50 0.084539 -212.50 2.50 202.50 0.083846 -212.50 2.50 207.50 0.0760385 -212.50 2.50 212.50 0.0601603 -212.50 2.50 217.50 0.0485219 -212.50 2.50 222.50 0.0624685 -212.50 2.50 227.50 0.149977 -212.50 2.50 232.50 0.393274 -212.50 2.50 237.50 0.773179 -212.50 2.50 242.50 0.980476 -212.50 2.50 247.50 0.773178 -212.50 2.50 252.50 0.393272 -212.50 2.50 257.50 0.149977 -212.50 2.50 262.50 0.0624685 -212.50 2.50 267.50 0.048522 -212.50 2.50 272.50 0.0601603 -212.50 2.50 277.50 0.0760386 -212.50 2.50 282.50 0.083846 -212.50 2.50 287.50 0.084539 -212.50 2.50 292.50 0.083846 -212.50 2.50 297.50 0.0760385 -212.50 2.50 302.50 0.0601603 -212.50 2.50 307.50 0.0485219 -212.50 2.50 312.50 0.0624685 -212.50 2.50 317.50 0.149977 -212.50 2.50 322.50 0.393272 -212.50 2.50 327.50 0.773178 -212.50 2.50 332.50 0.980476 -212.50 2.50 337.50 0.773179 -212.50 2.50 342.50 0.393273 -212.50 2.50 347.50 0.149977 -212.50 2.50 352.50 0.0624686 -212.50 2.50 357.50 0.0485219 -212.50 7.50 2.50 0.100121 -212.50 7.50 7.50 0.106232 -212.50 7.50 12.50 0.106938 -212.50 7.50 17.50 0.105452 -212.50 7.50 22.50 0.0979375 -212.50 7.50 27.50 0.0748373 -212.50 7.50 32.50 0.0465597 -212.50 7.50 37.50 0.041079 -212.50 7.50 42.50 0.07184 -212.50 7.50 47.50 0.173853 -212.50 7.50 52.50 0.416235 -212.50 7.50 57.50 0.781004 -212.50 7.50 62.50 1.00586 -212.50 7.50 67.50 0.859325 -212.50 7.50 72.50 0.502348 -212.50 7.50 77.50 0.226978 -212.50 7.50 82.50 0.114763 -212.50 7.50 87.50 0.0945823 -212.50 7.50 92.50 0.100121 -212.50 7.50 97.50 0.106232 -212.50 7.50 102.50 0.106938 -212.50 7.50 107.50 0.105452 -212.50 7.50 112.50 0.0979375 -212.50 7.50 117.50 0.0748372 -212.50 7.50 122.50 0.0465597 -212.50 7.50 127.50 0.041079 -212.50 7.50 132.50 0.0718401 -212.50 7.50 137.50 0.173853 -212.50 7.50 142.50 0.416235 -212.50 7.50 147.50 0.781004 -212.50 7.50 152.50 1.00586 -212.50 7.50 157.50 0.859325 -212.50 7.50 162.50 0.502348 -212.50 7.50 167.50 0.226978 -212.50 7.50 172.50 0.114763 -212.50 7.50 177.50 0.0945823 -212.50 7.50 182.50 0.100121 -212.50 7.50 187.50 0.106232 -212.50 7.50 192.50 0.106938 -212.50 7.50 197.50 0.105452 -212.50 7.50 202.50 0.0979376 -212.50 7.50 207.50 0.0748373 -212.50 7.50 212.50 0.0465597 -212.50 7.50 217.50 0.041079 -212.50 7.50 222.50 0.0718399 -212.50 7.50 227.50 0.173853 -212.50 7.50 232.50 0.416235 -212.50 7.50 237.50 0.781005 -212.50 7.50 242.50 1.00586 -212.50 7.50 247.50 0.859324 -212.50 7.50 252.50 0.502347 -212.50 7.50 257.50 0.226977 -212.50 7.50 262.50 0.114763 -212.50 7.50 267.50 0.0945822 -212.50 7.50 272.50 0.100121 -212.50 7.50 277.50 0.106232 -212.50 7.50 282.50 0.106938 -212.50 7.50 287.50 0.105452 -212.50 7.50 292.50 0.0979375 -212.50 7.50 297.50 0.0748372 -212.50 7.50 302.50 0.0465596 -212.50 7.50 307.50 0.041079 -212.50 7.50 312.50 0.0718399 -212.50 7.50 317.50 0.173853 -212.50 7.50 322.50 0.416234 -212.50 7.50 327.50 0.781004 -212.50 7.50 332.50 1.00586 -212.50 7.50 337.50 0.859325 -212.50 7.50 342.50 0.502348 -212.50 7.50 347.50 0.226978 -212.50 7.50 352.50 0.114763 -212.50 7.50 357.50 0.0945823 -212.50 12.50 2.50 0.23184 -212.50 12.50 7.50 0.195649 -212.50 12.50 12.50 0.163188 -212.50 12.50 17.50 0.150042 -212.50 12.50 22.50 0.140385 -212.50 12.50 27.50 0.0951406 -212.50 12.50 32.50 0.0498096 -212.50 12.50 37.50 0.044108 -212.50 12.50 42.50 0.100429 -212.50 12.50 47.50 0.252107 -212.50 12.50 52.50 0.562383 -212.50 12.50 57.50 1.00249 -212.50 12.50 62.50 1.30522 -212.50 12.50 67.50 1.20655 -212.50 12.50 72.50 0.815158 -212.50 12.50 77.50 0.461096 -212.50 12.50 82.50 0.304766 -212.50 12.50 87.50 0.259509 -212.50 12.50 92.50 0.23184 -212.50 12.50 97.50 0.195649 -212.50 12.50 102.50 0.163188 -212.50 12.50 107.50 0.150042 -212.50 12.50 112.50 0.140385 -212.50 12.50 117.50 0.0951406 -212.50 12.50 122.50 0.0498095 -212.50 12.50 127.50 0.044108 -212.50 12.50 132.50 0.100429 -212.50 12.50 137.50 0.252107 -212.50 12.50 142.50 0.562383 -212.50 12.50 147.50 1.00249 -212.50 12.50 152.50 1.30522 -212.50 12.50 157.50 1.20655 -212.50 12.50 162.50 0.815158 -212.50 12.50 167.50 0.461096 -212.50 12.50 172.50 0.304766 -212.50 12.50 177.50 0.259509 -212.50 12.50 182.50 0.23184 -212.50 12.50 187.50 0.195649 -212.50 12.50 192.50 0.163188 -212.50 12.50 197.50 0.150042 -212.50 12.50 202.50 0.140385 -212.50 12.50 207.50 0.0951406 -212.50 12.50 212.50 0.0498096 -212.50 12.50 217.50 0.044108 -212.50 12.50 222.50 0.100429 -212.50 12.50 227.50 0.252107 -212.50 12.50 232.50 0.562384 -212.50 12.50 237.50 1.00249 -212.50 12.50 242.50 1.30522 -212.50 12.50 247.50 1.20655 -212.50 12.50 252.50 0.815158 -212.50 12.50 257.50 0.461095 -212.50 12.50 262.50 0.304766 -212.50 12.50 267.50 0.259509 -212.50 12.50 272.50 0.23184 -212.50 12.50 277.50 0.195649 -212.50 12.50 282.50 0.163188 -212.50 12.50 287.50 0.150042 -212.50 12.50 292.50 0.140385 -212.50 12.50 297.50 0.0951407 -212.50 12.50 302.50 0.0498096 -212.50 12.50 307.50 0.044108 -212.50 12.50 312.50 0.100429 -212.50 12.50 317.50 0.252107 -212.50 12.50 322.50 0.562383 -212.50 12.50 327.50 1.00249 -212.50 12.50 332.50 1.30522 -212.50 12.50 337.50 1.20655 -212.50 12.50 342.50 0.815159 -212.50 12.50 347.50 0.461096 -212.50 12.50 352.50 0.304766 -212.50 12.50 357.50 0.259509 -212.50 17.50 2.50 0.522419 -212.50 17.50 7.50 0.373755 -212.50 17.50 12.50 0.241365 -212.50 17.50 17.50 0.207394 -212.50 17.50 22.50 0.167805 -212.50 17.50 27.50 0.097828 -212.50 17.50 32.50 0.0377468 -212.50 17.50 37.50 0.0400304 -212.50 17.50 42.50 0.116219 -212.50 17.50 47.50 0.296413 -212.50 17.50 52.50 0.631521 -212.50 17.50 57.50 1.10734 -212.50 17.50 62.50 1.49764 -212.50 17.50 67.50 1.52127 -212.50 17.50 72.50 1.23581 -212.50 17.50 77.50 0.925448 -212.50 17.50 82.50 0.737724 -212.50 17.50 87.50 0.63704 -212.50 17.50 92.50 0.522419 -212.50 17.50 97.50 0.373755 -212.50 17.50 102.50 0.241365 -212.50 17.50 107.50 0.207394 -212.50 17.50 112.50 0.167805 -212.50 17.50 117.50 0.0978279 -212.50 17.50 122.50 0.0377467 -212.50 17.50 127.50 0.0400304 -212.50 17.50 132.50 0.116219 -212.50 17.50 137.50 0.296413 -212.50 17.50 142.50 0.631521 -212.50 17.50 147.50 1.10734 -212.50 17.50 152.50 1.49764 -212.50 17.50 157.50 1.52127 -212.50 17.50 162.50 1.23582 -212.50 17.50 167.50 0.925448 -212.50 17.50 172.50 0.737724 -212.50 17.50 177.50 0.63704 -212.50 17.50 182.50 0.522419 -212.50 17.50 187.50 0.373755 -212.50 17.50 192.50 0.241365 -212.50 17.50 197.50 0.207394 -212.50 17.50 202.50 0.167805 -212.50 17.50 207.50 0.0978279 -212.50 17.50 212.50 0.0377468 -212.50 17.50 217.50 0.0400304 -212.50 17.50 222.50 0.116219 -212.50 17.50 227.50 0.296413 -212.50 17.50 232.50 0.631522 -212.50 17.50 237.50 1.10735 -212.50 17.50 242.50 1.49764 -212.50 17.50 247.50 1.52127 -212.50 17.50 252.50 1.23581 -212.50 17.50 257.50 0.925448 -212.50 17.50 262.50 0.737724 -212.50 17.50 267.50 0.63704 -212.50 17.50 272.50 0.522419 -212.50 17.50 277.50 0.373755 -212.50 17.50 282.50 0.241365 -212.50 17.50 287.50 0.207394 -212.50 17.50 292.50 0.167805 -212.50 17.50 297.50 0.097828 -212.50 17.50 302.50 0.0377468 -212.50 17.50 307.50 0.0400304 -212.50 17.50 312.50 0.116219 -212.50 17.50 317.50 0.296412 -212.50 17.50 322.50 0.63152 -212.50 17.50 327.50 1.10734 -212.50 17.50 332.50 1.49764 -212.50 17.50 337.50 1.52127 -212.50 17.50 342.50 1.23582 -212.50 17.50 347.50 0.925448 -212.50 17.50 352.50 0.737725 -212.50 17.50 357.50 0.63704 -212.50 22.50 2.50 1.09345 -212.50 22.50 7.50 0.717939 -212.50 22.50 12.50 0.412756 -212.50 22.50 17.50 0.239148 -212.50 22.50 22.50 0.13557 -212.50 22.50 27.50 0.066261 -212.50 22.50 32.50 0.0246356 -212.50 22.50 37.50 0.0269771 -212.50 22.50 42.50 0.097123 -212.50 22.50 47.50 0.278607 -212.50 22.50 52.50 0.595059 -212.50 22.50 57.50 1.02935 -212.50 22.50 62.50 1.48599 -212.50 22.50 67.50 1.74574 -212.50 22.50 72.50 1.72818 -212.50 22.50 77.50 1.61428 -212.50 22.50 82.50 1.52053 -212.50 22.50 87.50 1.35571 -212.50 22.50 92.50 1.09345 -212.50 22.50 97.50 0.71794 -212.50 22.50 102.50 0.412756 -212.50 22.50 107.50 0.239148 -212.50 22.50 112.50 0.13557 -212.50 22.50 117.50 0.066261 -212.50 22.50 122.50 0.0246355 -212.50 22.50 127.50 0.0269771 -212.50 22.50 132.50 0.097123 -212.50 22.50 137.50 0.278606 -212.50 22.50 142.50 0.595059 -212.50 22.50 147.50 1.02935 -212.50 22.50 152.50 1.48599 -212.50 22.50 157.50 1.74574 -212.50 22.50 162.50 1.72818 -212.50 22.50 167.50 1.61428 -212.50 22.50 172.50 1.52053 -212.50 22.50 177.50 1.35571 -212.50 22.50 182.50 1.09345 -212.50 22.50 187.50 0.717939 -212.50 22.50 192.50 0.412756 -212.50 22.50 197.50 0.239148 -212.50 22.50 202.50 0.13557 -212.50 22.50 207.50 0.066261 -212.50 22.50 212.50 0.0246356 -212.50 22.50 217.50 0.0269771 -212.50 22.50 222.50 0.097123 -212.50 22.50 227.50 0.278606 -212.50 22.50 232.50 0.59506 -212.50 22.50 237.50 1.02935 -212.50 22.50 242.50 1.48599 -212.50 22.50 247.50 1.74574 -212.50 22.50 252.50 1.72818 -212.50 22.50 257.50 1.61428 -212.50 22.50 262.50 1.52053 -212.50 22.50 267.50 1.35571 -212.50 22.50 272.50 1.09345 -212.50 22.50 277.50 0.71794 -212.50 22.50 282.50 0.412756 -212.50 22.50 287.50 0.239148 -212.50 22.50 292.50 0.13557 -212.50 22.50 297.50 0.0662611 -212.50 22.50 302.50 0.0246356 -212.50 22.50 307.50 0.0269771 -212.50 22.50 312.50 0.0971228 -212.50 22.50 317.50 0.278606 -212.50 22.50 322.50 0.595059 -212.50 22.50 327.50 1.02935 -212.50 22.50 332.50 1.48599 -212.50 22.50 337.50 1.74574 -212.50 22.50 342.50 1.72818 -212.50 22.50 347.50 1.61428 -212.50 22.50 352.50 1.52053 -212.50 22.50 357.50 1.35571 -212.50 27.50 2.50 1.96804 -212.50 27.50 7.50 1.24071 -212.50 27.50 12.50 0.671076 -212.50 27.50 17.50 0.279702 -212.50 27.50 22.50 0.0981173 -212.50 27.50 27.50 0.0316822 -212.50 27.50 32.50 0.00850378 -212.50 27.50 37.50 0.0142588 -212.50 27.50 42.50 0.0644322 -212.50 27.50 47.50 0.195391 -212.50 27.50 52.50 0.435607 -212.50 27.50 57.50 0.833258 -212.50 27.50 62.50 1.40128 -212.50 27.50 67.50 1.89582 -212.50 27.50 72.50 2.16923 -212.50 27.50 77.50 2.38837 -212.50 27.50 82.50 2.5334 -212.50 27.50 87.50 2.42077 -212.50 27.50 92.50 1.96804 -212.50 27.50 97.50 1.24071 -212.50 27.50 102.50 0.671075 -212.50 27.50 107.50 0.279702 -212.50 27.50 112.50 0.0981173 -212.50 27.50 117.50 0.0316822 -212.50 27.50 122.50 0.00850377 -212.50 27.50 127.50 0.0142587 -212.50 27.50 132.50 0.0644322 -212.50 27.50 137.50 0.195391 -212.50 27.50 142.50 0.435607 -212.50 27.50 147.50 0.833258 -212.50 27.50 152.50 1.40128 -212.50 27.50 157.50 1.89582 -212.50 27.50 162.50 2.16923 -212.50 27.50 167.50 2.38837 -212.50 27.50 172.50 2.5334 -212.50 27.50 177.50 2.42077 -212.50 27.50 182.50 1.96803 -212.50 27.50 187.50 1.24071 -212.50 27.50 192.50 0.671075 -212.50 27.50 197.50 0.279702 -212.50 27.50 202.50 0.0981173 -212.50 27.50 207.50 0.0316823 -212.50 27.50 212.50 0.00850379 -212.50 27.50 217.50 0.0142588 -212.50 27.50 222.50 0.0644322 -212.50 27.50 227.50 0.195391 -212.50 27.50 232.50 0.435608 -212.50 27.50 237.50 0.833259 -212.50 27.50 242.50 1.40128 -212.50 27.50 247.50 1.89582 -212.50 27.50 252.50 2.16923 -212.50 27.50 257.50 2.38837 -212.50 27.50 262.50 2.5334 -212.50 27.50 267.50 2.42077 -212.50 27.50 272.50 1.96803 -212.50 27.50 277.50 1.24071 -212.50 27.50 282.50 0.671075 -212.50 27.50 287.50 0.279702 -212.50 27.50 292.50 0.0981173 -212.50 27.50 297.50 0.0316823 -212.50 27.50 302.50 0.00850379 -212.50 27.50 307.50 0.0142587 -212.50 27.50 312.50 0.064432 -212.50 27.50 317.50 0.195391 -212.50 27.50 322.50 0.435607 -212.50 27.50 327.50 0.833257 -212.50 27.50 332.50 1.40128 -212.50 27.50 337.50 1.89582 -212.50 27.50 342.50 2.16923 -212.50 27.50 347.50 2.38837 -212.50 27.50 352.50 2.5334 -212.50 27.50 357.50 2.42077 -212.50 32.50 2.50 2.99998 -212.50 32.50 7.50 1.90997 -212.50 32.50 12.50 1.02375 -212.50 32.50 17.50 0.398624 -212.50 32.50 22.50 0.12523 -212.50 32.50 27.50 0.0277001 -212.50 32.50 32.50 0.00676334 -212.50 32.50 37.50 0.0075523 -212.50 32.50 42.50 0.0288181 -212.50 32.50 47.50 0.0970908 -212.50 32.50 52.50 0.252065 -212.50 32.50 57.50 0.590123 -212.50 32.50 62.50 1.18313 -212.50 32.50 67.50 1.85573 -212.50 32.50 72.50 2.38047 -212.50 32.50 77.50 3.01306 -212.50 32.50 82.50 3.52469 -212.50 32.50 87.50 3.62013 -212.50 32.50 92.50 2.99998 -212.50 32.50 97.50 1.90997 -212.50 32.50 102.50 1.02375 -212.50 32.50 107.50 0.398625 -212.50 32.50 112.50 0.12523 -212.50 32.50 117.50 0.0277001 -212.50 32.50 122.50 0.00676333 -212.50 32.50 127.50 0.00755231 -212.50 32.50 132.50 0.0288181 -212.50 32.50 137.50 0.0970908 -212.50 32.50 142.50 0.252065 -212.50 32.50 147.50 0.590123 -212.50 32.50 152.50 1.18313 -212.50 32.50 157.50 1.85572 -212.50 32.50 162.50 2.38047 -212.50 32.50 167.50 3.01306 -212.50 32.50 172.50 3.52469 -212.50 32.50 177.50 3.62013 -212.50 32.50 182.50 2.99998 -212.50 32.50 187.50 1.90997 -212.50 32.50 192.50 1.02375 -212.50 32.50 197.50 0.398624 -212.50 32.50 202.50 0.12523 -212.50 32.50 207.50 0.0277001 -212.50 32.50 212.50 0.00676333 -212.50 32.50 217.50 0.00755232 -212.50 32.50 222.50 0.0288181 -212.50 32.50 227.50 0.0970908 -212.50 32.50 232.50 0.252066 -212.50 32.50 237.50 0.590123 -212.50 32.50 242.50 1.18313 -212.50 32.50 247.50 1.85573 -212.50 32.50 252.50 2.38047 -212.50 32.50 257.50 3.01306 -212.50 32.50 262.50 3.52468 -212.50 32.50 267.50 3.62013 -212.50 32.50 272.50 2.99998 -212.50 32.50 277.50 1.90997 -212.50 32.50 282.50 1.02375 -212.50 32.50 287.50 0.398625 -212.50 32.50 292.50 0.12523 -212.50 32.50 297.50 0.0277002 -212.50 32.50 302.50 0.00676334 -212.50 32.50 307.50 0.0075523 -212.50 32.50 312.50 0.028818 -212.50 32.50 317.50 0.0970906 -212.50 32.50 322.50 0.252065 -212.50 32.50 327.50 0.590122 -212.50 32.50 332.50 1.18313 -212.50 32.50 337.50 1.85572 -212.50 32.50 342.50 2.38047 -212.50 32.50 347.50 3.01306 -212.50 32.50 352.50 3.52468 -212.50 32.50 357.50 3.62013 -212.50 37.50 2.50 3.97879 -212.50 37.50 7.50 2.71873 -212.50 37.50 12.50 1.56092 -212.50 37.50 17.50 0.710543 -212.50 37.50 22.50 0.254908 -212.50 37.50 27.50 0.0727312 -212.50 37.50 32.50 0.0192987 -212.50 37.50 37.50 0.0059582 -212.50 37.50 42.50 0.00985911 -212.50 37.50 47.50 0.0338126 -212.50 37.50 52.50 0.118135 -212.50 37.50 57.50 0.374936 -212.50 37.50 62.50 0.888364 -212.50 37.50 67.50 1.60326 -212.50 37.50 72.50 2.39561 -212.50 37.50 77.50 3.31617 -212.50 37.50 82.50 4.256 -212.50 37.50 87.50 4.60371 -212.50 37.50 92.50 3.97879 -212.50 37.50 97.50 2.71873 -212.50 37.50 102.50 1.56092 -212.50 37.50 107.50 0.710543 -212.50 37.50 112.50 0.254908 -212.50 37.50 117.50 0.0727311 -212.50 37.50 122.50 0.0192987 -212.50 37.50 127.50 0.00595819 -212.50 37.50 132.50 0.00985912 -212.50 37.50 137.50 0.0338126 -212.50 37.50 142.50 0.118135 -212.50 37.50 147.50 0.374936 -212.50 37.50 152.50 0.888363 -212.50 37.50 157.50 1.60325 -212.50 37.50 162.50 2.39561 -212.50 37.50 167.50 3.31617 -212.50 37.50 172.50 4.256 -212.50 37.50 177.50 4.6037 -212.50 37.50 182.50 3.97878 -212.50 37.50 187.50 2.71873 -212.50 37.50 192.50 1.56092 -212.50 37.50 197.50 0.710543 -212.50 37.50 202.50 0.254908 -212.50 37.50 207.50 0.0727312 -212.50 37.50 212.50 0.0192987 -212.50 37.50 217.50 0.0059582 -212.50 37.50 222.50 0.00985911 -212.50 37.50 227.50 0.0338126 -212.50 37.50 232.50 0.118135 -212.50 37.50 237.50 0.374937 -212.50 37.50 242.50 0.888365 -212.50 37.50 247.50 1.60326 -212.50 37.50 252.50 2.39561 -212.50 37.50 257.50 3.31617 -212.50 37.50 262.50 4.256 -212.50 37.50 267.50 4.6037 -212.50 37.50 272.50 3.97879 -212.50 37.50 277.50 2.71873 -212.50 37.50 282.50 1.56092 -212.50 37.50 287.50 0.710543 -212.50 37.50 292.50 0.254908 -212.50 37.50 297.50 0.0727312 -212.50 37.50 302.50 0.0192987 -212.50 37.50 307.50 0.00595821 -212.50 37.50 312.50 0.00985911 -212.50 37.50 317.50 0.0338125 -212.50 37.50 322.50 0.118135 -212.50 37.50 327.50 0.374935 -212.50 37.50 332.50 0.888362 -212.50 37.50 337.50 1.60325 -212.50 37.50 342.50 2.39561 -212.50 37.50 347.50 3.31617 -212.50 37.50 352.50 4.256 -212.50 37.50 357.50 4.6037 -212.50 42.50 2.50 4.69043 -212.50 42.50 7.50 3.58904 -212.50 42.50 12.50 2.37639 -212.50 42.50 17.50 1.26737 -212.50 42.50 22.50 0.550165 -212.50 42.50 27.50 0.201332 -212.50 42.50 32.50 0.0681548 -212.50 42.50 37.50 0.0164119 -212.50 42.50 42.50 0.0046336 -212.50 42.50 47.50 0.00979708 -212.50 42.50 52.50 0.049226 -212.50 42.50 57.50 0.198828 -212.50 42.50 62.50 0.579262 -212.50 42.50 67.50 1.24593 -212.50 42.50 72.50 2.13666 -212.50 42.50 77.50 3.2594 -212.50 42.50 82.50 4.48177 -212.50 42.50 87.50 5.11111 -212.50 42.50 92.50 4.69043 -212.50 42.50 97.50 3.58904 -212.50 42.50 102.50 2.37639 -212.50 42.50 107.50 1.26737 -212.50 42.50 112.50 0.550165 -212.50 42.50 117.50 0.201332 -212.50 42.50 122.50 0.0681548 -212.50 42.50 127.50 0.0164119 -212.50 42.50 132.50 0.0046336 -212.50 42.50 137.50 0.00979708 -212.50 42.50 142.50 0.049226 -212.50 42.50 147.50 0.198828 -212.50 42.50 152.50 0.579262 -212.50 42.50 157.50 1.24593 -212.50 42.50 162.50 2.13666 -212.50 42.50 167.50 3.2594 -212.50 42.50 172.50 4.48177 -212.50 42.50 177.50 5.11111 -212.50 42.50 182.50 4.69043 -212.50 42.50 187.50 3.58904 -212.50 42.50 192.50 2.37639 -212.50 42.50 197.50 1.26737 -212.50 42.50 202.50 0.550165 -212.50 42.50 207.50 0.201332 -212.50 42.50 212.50 0.0681548 -212.50 42.50 217.50 0.0164119 -212.50 42.50 222.50 0.00463361 -212.50 42.50 227.50 0.00979707 -212.50 42.50 232.50 0.0492262 -212.50 42.50 237.50 0.198828 -212.50 42.50 242.50 0.579263 -212.50 42.50 247.50 1.24594 -212.50 42.50 252.50 2.13667 -212.50 42.50 257.50 3.2594 -212.50 42.50 262.50 4.48177 -212.50 42.50 267.50 5.11111 -212.50 42.50 272.50 4.69043 -212.50 42.50 277.50 3.58904 -212.50 42.50 282.50 2.37639 -212.50 42.50 287.50 1.26737 -212.50 42.50 292.50 0.550165 -212.50 42.50 297.50 0.201332 -212.50 42.50 302.50 0.0681549 -212.50 42.50 307.50 0.0164119 -212.50 42.50 312.50 0.0046336 -212.50 42.50 317.50 0.00979705 -212.50 42.50 322.50 0.0492259 -212.50 42.50 327.50 0.198827 -212.50 42.50 332.50 0.57926 -212.50 42.50 337.50 1.24593 -212.50 42.50 342.50 2.13666 -212.50 42.50 347.50 3.2594 -212.50 42.50 352.50 4.48177 -212.50 42.50 357.50 5.11111 -212.50 47.50 2.50 4.95231 -212.50 47.50 7.50 4.39341 -212.50 47.50 12.50 3.38468 -212.50 47.50 17.50 2.10821 -212.50 47.50 22.50 1.12772 -212.50 47.50 27.50 0.533432 -212.50 47.50 32.50 0.213501 -212.50 47.50 37.50 0.0660299 -212.50 47.50 42.50 0.0117542 -212.50 47.50 47.50 0.00573954 -212.50 47.50 52.50 0.0206882 -212.50 47.50 57.50 0.0961166 -212.50 47.50 62.50 0.316416 -212.50 47.50 67.50 0.775072 -212.50 47.50 72.50 1.56269 -212.50 47.50 77.50 2.64963 -212.50 47.50 82.50 4.02082 -212.50 47.50 87.50 4.95934 -212.50 47.50 92.50 4.95231 -212.50 47.50 97.50 4.39341 -212.50 47.50 102.50 3.38468 -212.50 47.50 107.50 2.10821 -212.50 47.50 112.50 1.12772 -212.50 47.50 117.50 0.533431 -212.50 47.50 122.50 0.213501 -212.50 47.50 127.50 0.0660298 -212.50 47.50 132.50 0.0117542 -212.50 47.50 137.50 0.00573953 -212.50 47.50 142.50 0.0206882 -212.50 47.50 147.50 0.0961166 -212.50 47.50 152.50 0.316416 -212.50 47.50 157.50 0.775071 -212.50 47.50 162.50 1.56269 -212.50 47.50 167.50 2.64963 -212.50 47.50 172.50 4.02082 -212.50 47.50 177.50 4.95934 -212.50 47.50 182.50 4.95231 -212.50 47.50 187.50 4.39341 -212.50 47.50 192.50 3.38468 -212.50 47.50 197.50 2.1082 -212.50 47.50 202.50 1.12772 -212.50 47.50 207.50 0.533432 -212.50 47.50 212.50 0.213501 -212.50 47.50 217.50 0.06603 -212.50 47.50 222.50 0.0117542 -212.50 47.50 227.50 0.00573954 -212.50 47.50 232.50 0.0206883 -212.50 47.50 237.50 0.0961168 -212.50 47.50 242.50 0.316416 -212.50 47.50 247.50 0.775073 -212.50 47.50 252.50 1.56269 -212.50 47.50 257.50 2.64963 -212.50 47.50 262.50 4.02082 -212.50 47.50 267.50 4.95934 -212.50 47.50 272.50 4.95231 -212.50 47.50 277.50 4.39341 -212.50 47.50 282.50 3.38468 -212.50 47.50 287.50 2.10821 -212.50 47.50 292.50 1.12772 -212.50 47.50 297.50 0.533432 -212.50 47.50 302.50 0.213501 -212.50 47.50 307.50 0.06603 -212.50 47.50 312.50 0.0117542 -212.50 47.50 317.50 0.00573953 -212.50 47.50 322.50 0.0206882 -212.50 47.50 327.50 0.0961164 -212.50 47.50 332.50 0.316415 -212.50 47.50 337.50 0.775071 -212.50 47.50 342.50 1.56268 -212.50 47.50 347.50 2.64963 -212.50 47.50 352.50 4.02082 -212.50 47.50 357.50 4.95934 -212.50 52.50 2.50 4.69043 -212.50 52.50 7.50 4.9821 -212.50 52.50 12.50 4.46699 -212.50 52.50 17.50 3.28921 -212.50 52.50 22.50 2.13189 -212.50 52.50 27.50 1.22267 -212.50 52.50 32.50 0.570495 -212.50 52.50 37.50 0.192946 -212.50 52.50 42.50 0.0410824 -212.50 52.50 47.50 0.00650743 -212.50 52.50 52.50 0.00928603 -212.50 52.50 57.50 0.0411484 -212.50 52.50 62.50 0.126388 -212.50 52.50 67.50 0.383308 -212.50 52.50 72.50 0.884918 -212.50 52.50 77.50 1.72464 -212.50 52.50 82.50 2.95837 -212.50 52.50 87.50 4.08368 -212.50 52.50 92.50 4.69043 -212.50 52.50 97.50 4.9821 -212.50 52.50 102.50 4.46699 -212.50 52.50 107.50 3.28921 -212.50 52.50 112.50 2.13189 -212.50 52.50 117.50 1.22267 -212.50 52.50 122.50 0.570495 -212.50 52.50 127.50 0.192946 -212.50 52.50 132.50 0.0410823 -212.50 52.50 137.50 0.00650743 -212.50 52.50 142.50 0.00928604 -212.50 52.50 147.50 0.0411485 -212.50 52.50 152.50 0.126388 -212.50 52.50 157.50 0.383308 -212.50 52.50 162.50 0.884918 -212.50 52.50 167.50 1.72464 -212.50 52.50 172.50 2.95837 -212.50 52.50 177.50 4.08367 -212.50 52.50 182.50 4.69043 -212.50 52.50 187.50 4.9821 -212.50 52.50 192.50 4.46699 -212.50 52.50 197.50 3.28921 -212.50 52.50 202.50 2.13189 -212.50 52.50 207.50 1.22267 -212.50 52.50 212.50 0.570495 -212.50 52.50 217.50 0.192946 -212.50 52.50 222.50 0.0410824 -212.50 52.50 227.50 0.00650744 -212.50 52.50 232.50 0.00928606 -212.50 52.50 237.50 0.0411486 -212.50 52.50 242.50 0.126388 -212.50 52.50 247.50 0.383309 -212.50 52.50 252.50 0.884919 -212.50 52.50 257.50 1.72464 -212.50 52.50 262.50 2.95837 -212.50 52.50 267.50 4.08368 -212.50 52.50 272.50 4.69043 -212.50 52.50 277.50 4.9821 -212.50 52.50 282.50 4.467 -212.50 52.50 287.50 3.28921 -212.50 52.50 292.50 2.13189 -212.50 52.50 297.50 1.22267 -212.50 52.50 302.50 0.570496 -212.50 52.50 307.50 0.192946 -212.50 52.50 312.50 0.0410824 -212.50 52.50 317.50 0.00650744 -212.50 52.50 322.50 0.00928601 -212.50 52.50 327.50 0.0411483 -212.50 52.50 332.50 0.126388 -212.50 52.50 337.50 0.383307 -212.50 52.50 342.50 0.884916 -212.50 52.50 347.50 1.72464 -212.50 52.50 352.50 2.95836 -212.50 52.50 357.50 4.08367 -212.50 57.50 2.50 3.97879 -212.50 57.50 7.50 5.14815 -212.50 57.50 12.50 5.31959 -212.50 57.50 17.50 4.61669 -212.50 57.50 22.50 3.46852 -212.50 57.50 27.50 2.23604 -212.50 57.50 32.50 1.13084 -212.50 57.50 37.50 0.40545 -212.50 57.50 42.50 0.10508 -212.50 57.50 47.50 0.022614 -212.50 57.50 52.50 0.00544401 -212.50 57.50 57.50 0.012454 -212.50 57.50 62.50 0.0483811 -212.50 57.50 67.50 0.147507 -212.50 57.50 72.50 0.384209 -212.50 57.50 77.50 0.878167 -212.50 57.50 82.50 1.71985 -212.50 57.50 87.50 2.7973 -212.50 57.50 92.50 3.97879 -212.50 57.50 97.50 5.14816 -212.50 57.50 102.50 5.31958 -212.50 57.50 107.50 4.61669 -212.50 57.50 112.50 3.46852 -212.50 57.50 117.50 2.23604 -212.50 57.50 122.50 1.13083 -212.50 57.50 127.50 0.40545 -212.50 57.50 132.50 0.10508 -212.50 57.50 137.50 0.022614 -212.50 57.50 142.50 0.00544401 -212.50 57.50 147.50 0.012454 -212.50 57.50 152.50 0.0483811 -212.50 57.50 157.50 0.147507 -212.50 57.50 162.50 0.384209 -212.50 57.50 167.50 0.878167 -212.50 57.50 172.50 1.71985 -212.50 57.50 177.50 2.7973 -212.50 57.50 182.50 3.97879 -212.50 57.50 187.50 5.14815 -212.50 57.50 192.50 5.31958 -212.50 57.50 197.50 4.61669 -212.50 57.50 202.50 3.46852 -212.50 57.50 207.50 2.23604 -212.50 57.50 212.50 1.13084 -212.50 57.50 217.50 0.40545 -212.50 57.50 222.50 0.10508 -212.50 57.50 227.50 0.022614 -212.50 57.50 232.50 0.00544401 -212.50 57.50 237.50 0.012454 -212.50 57.50 242.50 0.0483812 -212.50 57.50 247.50 0.147508 -212.50 57.50 252.50 0.38421 -212.50 57.50 257.50 0.878168 -212.50 57.50 262.50 1.71985 -212.50 57.50 267.50 2.7973 -212.50 57.50 272.50 3.97878 -212.50 57.50 277.50 5.14815 -212.50 57.50 282.50 5.31959 -212.50 57.50 287.50 4.61669 -212.50 57.50 292.50 3.46852 -212.50 57.50 297.50 2.23604 -212.50 57.50 302.50 1.13084 -212.50 57.50 307.50 0.405451 -212.50 57.50 312.50 0.10508 -212.50 57.50 317.50 0.022614 -212.50 57.50 322.50 0.005444 -212.50 57.50 327.50 0.012454 -212.50 57.50 332.50 0.048381 -212.50 57.50 337.50 0.147507 -212.50 57.50 342.50 0.384208 -212.50 57.50 347.50 0.878165 -212.50 57.50 352.50 1.71985 -212.50 57.50 357.50 2.79729 -212.50 62.50 2.50 2.99998 -212.50 62.50 7.50 4.66052 -212.50 62.50 12.50 5.52208 -212.50 62.50 17.50 5.56269 -212.50 62.50 22.50 4.69798 -212.50 62.50 27.50 3.29407 -212.50 62.50 32.50 1.79067 -212.50 62.50 37.50 0.760749 -212.50 62.50 42.50 0.228709 -212.50 62.50 47.50 0.063565 -212.50 62.50 52.50 0.0160806 -212.50 62.50 57.50 0.00644962 -212.50 62.50 62.50 0.015063 -212.50 62.50 67.50 0.0423287 -212.50 62.50 72.50 0.128789 -212.50 62.50 77.50 0.352535 -212.50 62.50 82.50 0.816469 -212.50 62.50 87.50 1.64725 -212.50 62.50 92.50 2.99998 -212.50 62.50 97.50 4.66052 -212.50 62.50 102.50 5.52208 -212.50 62.50 107.50 5.56268 -212.50 62.50 112.50 4.69798 -212.50 62.50 117.50 3.29407 -212.50 62.50 122.50 1.79067 -212.50 62.50 127.50 0.760749 -212.50 62.50 132.50 0.228709 -212.50 62.50 137.50 0.063565 -212.50 62.50 142.50 0.0160806 -212.50 62.50 147.50 0.00644963 -212.50 62.50 152.50 0.0150629 -212.50 62.50 157.50 0.0423286 -212.50 62.50 162.50 0.128789 -212.50 62.50 167.50 0.352535 -212.50 62.50 172.50 0.816469 -212.50 62.50 177.50 1.64725 -212.50 62.50 182.50 2.99998 -212.50 62.50 187.50 4.66052 -212.50 62.50 192.50 5.52208 -212.50 62.50 197.50 5.56268 -212.50 62.50 202.50 4.69798 -212.50 62.50 207.50 3.29407 -212.50 62.50 212.50 1.79067 -212.50 62.50 217.50 0.76075 -212.50 62.50 222.50 0.228709 -212.50 62.50 227.50 0.0635651 -212.50 62.50 232.50 0.0160806 -212.50 62.50 237.50 0.00644962 -212.50 62.50 242.50 0.015063 -212.50 62.50 247.50 0.0423287 -212.50 62.50 252.50 0.128789 -212.50 62.50 257.50 0.352535 -212.50 62.50 262.50 0.81647 -212.50 62.50 267.50 1.64726 -212.50 62.50 272.50 2.99998 -212.50 62.50 277.50 4.66052 -212.50 62.50 282.50 5.52208 -212.50 62.50 287.50 5.56269 -212.50 62.50 292.50 4.69798 -212.50 62.50 297.50 3.29407 -212.50 62.50 302.50 1.79067 -212.50 62.50 307.50 0.76075 -212.50 62.50 312.50 0.228709 -212.50 62.50 317.50 0.0635652 -212.50 62.50 322.50 0.0160807 -212.50 62.50 327.50 0.00644962 -212.50 62.50 332.50 0.0150629 -212.50 62.50 337.50 0.0423284 -212.50 62.50 342.50 0.128788 -212.50 62.50 347.50 0.352535 -212.50 62.50 352.50 0.816467 -212.50 62.50 357.50 1.64725 -212.50 67.50 2.50 1.96803 -212.50 67.50 7.50 3.5881 -212.50 67.50 12.50 4.88871 -212.50 67.50 17.50 5.45633 -212.50 67.50 22.50 5.11389 -212.50 67.50 27.50 3.94446 -212.50 67.50 32.50 2.38624 -212.50 67.50 37.50 1.11393 -212.50 67.50 42.50 0.449242 -212.50 67.50 47.50 0.160589 -212.50 67.50 52.50 0.0465226 -212.50 67.50 57.50 0.00810219 -212.50 67.50 62.50 0.00519187 -212.50 67.50 67.50 0.0137423 -212.50 67.50 72.50 0.0403446 -212.50 67.50 77.50 0.12179 -212.50 67.50 82.50 0.347857 -212.50 67.50 87.50 0.870675 -212.50 67.50 92.50 1.96804 -212.50 67.50 97.50 3.5881 -212.50 67.50 102.50 4.88871 -212.50 67.50 107.50 5.45633 -212.50 67.50 112.50 5.11389 -212.50 67.50 117.50 3.94446 -212.50 67.50 122.50 2.38624 -212.50 67.50 127.50 1.11393 -212.50 67.50 132.50 0.449242 -212.50 67.50 137.50 0.160589 -212.50 67.50 142.50 0.0465226 -212.50 67.50 147.50 0.0081022 -212.50 67.50 152.50 0.00519187 -212.50 67.50 157.50 0.0137423 -212.50 67.50 162.50 0.0403446 -212.50 67.50 167.50 0.12179 -212.50 67.50 172.50 0.347857 -212.50 67.50 177.50 0.870674 -212.50 67.50 182.50 1.96804 -212.50 67.50 187.50 3.5881 -212.50 67.50 192.50 4.88871 -212.50 67.50 197.50 5.45633 -212.50 67.50 202.50 5.11389 -212.50 67.50 207.50 3.94446 -212.50 67.50 212.50 2.38624 -212.50 67.50 217.50 1.11393 -212.50 67.50 222.50 0.449242 -212.50 67.50 227.50 0.160589 -212.50 67.50 232.50 0.0465225 -212.50 67.50 237.50 0.00810219 -212.50 67.50 242.50 0.00519188 -212.50 67.50 247.50 0.0137423 -212.50 67.50 252.50 0.0403447 -212.50 67.50 257.50 0.12179 -212.50 67.50 262.50 0.347858 -212.50 67.50 267.50 0.870676 -212.50 67.50 272.50 1.96803 -212.50 67.50 277.50 3.5881 -212.50 67.50 282.50 4.88871 -212.50 67.50 287.50 5.45633 -212.50 67.50 292.50 5.11389 -212.50 67.50 297.50 3.94446 -212.50 67.50 302.50 2.38624 -212.50 67.50 307.50 1.11393 -212.50 67.50 312.50 0.449242 -212.50 67.50 317.50 0.160589 -212.50 67.50 322.50 0.0465227 -212.50 67.50 327.50 0.0081022 -212.50 67.50 332.50 0.00519184 -212.50 67.50 337.50 0.0137422 -212.50 67.50 342.50 0.0403445 -212.50 67.50 347.50 0.121789 -212.50 67.50 352.50 0.347856 -212.50 67.50 357.50 0.870672 -212.50 72.50 2.50 1.09345 -212.50 72.50 7.50 2.33131 -212.50 72.50 12.50 3.60754 -212.50 72.50 17.50 4.3741 -212.50 72.50 22.50 4.51332 -212.50 72.50 27.50 3.68294 -212.50 72.50 32.50 2.39753 -212.50 72.50 37.50 1.24276 -212.50 72.50 42.50 0.569087 -212.50 72.50 47.50 0.232757 -212.50 72.50 52.50 0.0711076 -212.50 72.50 57.50 0.0160791 -212.50 72.50 62.50 0.00563604 -212.50 72.50 67.50 0.0101522 -212.50 72.50 72.50 0.0217754 -212.50 72.50 77.50 0.0443852 -212.50 72.50 82.50 0.141005 -212.50 72.50 87.50 0.40894 -212.50 72.50 92.50 1.09345 -212.50 72.50 97.50 2.33131 -212.50 72.50 102.50 3.60754 -212.50 72.50 107.50 4.3741 -212.50 72.50 112.50 4.51332 -212.50 72.50 117.50 3.68294 -212.50 72.50 122.50 2.39753 -212.50 72.50 127.50 1.24276 -212.50 72.50 132.50 0.569087 -212.50 72.50 137.50 0.232757 -212.50 72.50 142.50 0.0711076 -212.50 72.50 147.50 0.0160792 -212.50 72.50 152.50 0.00563605 -212.50 72.50 157.50 0.0101522 -212.50 72.50 162.50 0.0217754 -212.50 72.50 167.50 0.0443852 -212.50 72.50 172.50 0.141005 -212.50 72.50 177.50 0.40894 -212.50 72.50 182.50 1.09345 -212.50 72.50 187.50 2.33131 -212.50 72.50 192.50 3.60754 -212.50 72.50 197.50 4.3741 -212.50 72.50 202.50 4.51332 -212.50 72.50 207.50 3.68294 -212.50 72.50 212.50 2.39753 -212.50 72.50 217.50 1.24276 -212.50 72.50 222.50 0.569088 -212.50 72.50 227.50 0.232757 -212.50 72.50 232.50 0.0711074 -212.50 72.50 237.50 0.0160791 -212.50 72.50 242.50 0.00563604 -212.50 72.50 247.50 0.0101522 -212.50 72.50 252.50 0.0217755 -212.50 72.50 257.50 0.0443853 -212.50 72.50 262.50 0.141006 -212.50 72.50 267.50 0.408941 -212.50 72.50 272.50 1.09345 -212.50 72.50 277.50 2.33131 -212.50 72.50 282.50 3.60754 -212.50 72.50 287.50 4.3741 -212.50 72.50 292.50 4.51332 -212.50 72.50 297.50 3.68294 -212.50 72.50 302.50 2.39754 -212.50 72.50 307.50 1.24276 -212.50 72.50 312.50 0.569087 -212.50 72.50 317.50 0.232757 -212.50 72.50 322.50 0.0711078 -212.50 72.50 327.50 0.0160792 -212.50 72.50 332.50 0.00563606 -212.50 72.50 337.50 0.0101522 -212.50 72.50 342.50 0.0217754 -212.50 72.50 347.50 0.0443851 -212.50 72.50 352.50 0.141005 -212.50 72.50 357.50 0.408939 -212.50 77.50 2.50 0.522419 -212.50 77.50 7.50 1.32122 -212.50 77.50 12.50 2.20364 -212.50 77.50 17.50 2.86929 -212.50 77.50 22.50 2.8726 -212.50 77.50 27.50 2.49693 -212.50 77.50 32.50 1.82857 -212.50 77.50 37.50 1.09998 -212.50 77.50 42.50 0.516708 -212.50 77.50 47.50 0.203042 -212.50 77.50 52.50 0.0627265 -212.50 77.50 57.50 0.0244949 -212.50 77.50 62.50 0.00735711 -212.50 77.50 67.50 0.00480852 -212.50 77.50 72.50 0.0132994 -212.50 77.50 77.50 0.024577 -212.50 77.50 82.50 0.0495179 -212.50 77.50 87.50 0.167539 -212.50 77.50 92.50 0.52242 -212.50 77.50 97.50 1.32122 -212.50 77.50 102.50 2.20364 -212.50 77.50 107.50 2.86929 -212.50 77.50 112.50 2.8726 -212.50 77.50 117.50 2.49693 -212.50 77.50 122.50 1.82857 -212.50 77.50 127.50 1.09998 -212.50 77.50 132.50 0.516708 -212.50 77.50 137.50 0.203043 -212.50 77.50 142.50 0.0627265 -212.50 77.50 147.50 0.0244949 -212.50 77.50 152.50 0.00735714 -212.50 77.50 157.50 0.00480852 -212.50 77.50 162.50 0.0132994 -212.50 77.50 167.50 0.024577 -212.50 77.50 172.50 0.0495179 -212.50 77.50 177.50 0.167539 -212.50 77.50 182.50 0.52242 -212.50 77.50 187.50 1.32122 -212.50 77.50 192.50 2.20365 -212.50 77.50 197.50 2.86929 -212.50 77.50 202.50 2.8726 -212.50 77.50 207.50 2.49693 -212.50 77.50 212.50 1.82857 -212.50 77.50 217.50 1.09998 -212.50 77.50 222.50 0.516708 -212.50 77.50 227.50 0.203043 -212.50 77.50 232.50 0.0627263 -212.50 77.50 237.50 0.0244948 -212.50 77.50 242.50 0.00735712 -212.50 77.50 247.50 0.00480852 -212.50 77.50 252.50 0.0132994 -212.50 77.50 257.50 0.024577 -212.50 77.50 262.50 0.0495179 -212.50 77.50 267.50 0.167539 -212.50 77.50 272.50 0.52242 -212.50 77.50 277.50 1.32122 -212.50 77.50 282.50 2.20364 -212.50 77.50 287.50 2.86929 -212.50 77.50 292.50 2.8726 -212.50 77.50 297.50 2.49694 -212.50 77.50 302.50 1.82857 -212.50 77.50 307.50 1.09998 -212.50 77.50 312.50 0.516709 -212.50 77.50 317.50 0.203043 -212.50 77.50 322.50 0.0627266 -212.50 77.50 327.50 0.024495 -212.50 77.50 332.50 0.00735714 -212.50 77.50 337.50 0.00480852 -212.50 77.50 342.50 0.0132993 -212.50 77.50 347.50 0.0245769 -212.50 77.50 352.50 0.0495178 -212.50 77.50 357.50 0.167539 -212.50 82.50 2.50 0.23184 -212.50 82.50 7.50 0.64425 -212.50 82.50 12.50 1.16202 -212.50 82.50 17.50 1.28754 -212.50 82.50 22.50 1.3641 -212.50 82.50 27.50 1.32674 -212.50 82.50 32.50 1.11644 -212.50 82.50 37.50 0.739673 -212.50 82.50 42.50 0.378742 -212.50 82.50 47.50 0.150946 -212.50 82.50 52.50 0.0511639 -212.50 82.50 57.50 0.0239013 -212.50 82.50 62.50 0.01427 -212.50 82.50 67.50 0.0110281 -212.50 82.50 72.50 0.0182391 -212.50 82.50 77.50 0.0212912 -212.50 82.50 82.50 0.0268917 -212.50 82.50 87.50 0.0673562 -212.50 82.50 92.50 0.23184 -212.50 82.50 97.50 0.644251 -212.50 82.50 102.50 1.16202 -212.50 82.50 107.50 1.28754 -212.50 82.50 112.50 1.3641 -212.50 82.50 117.50 1.32674 -212.50 82.50 122.50 1.11644 -212.50 82.50 127.50 0.739673 -212.50 82.50 132.50 0.378742 -212.50 82.50 137.50 0.150946 -212.50 82.50 142.50 0.0511639 -212.50 82.50 147.50 0.0239012 -212.50 82.50 152.50 0.01427 -212.50 82.50 157.50 0.0110281 -212.50 82.50 162.50 0.0182391 -212.50 82.50 167.50 0.0212912 -212.50 82.50 172.50 0.0268917 -212.50 82.50 177.50 0.0673561 -212.50 82.50 182.50 0.23184 -212.50 82.50 187.50 0.644251 -212.50 82.50 192.50 1.16202 -212.50 82.50 197.50 1.28754 -212.50 82.50 202.50 1.3641 -212.50 82.50 207.50 1.32674 -212.50 82.50 212.50 1.11644 -212.50 82.50 217.50 0.739674 -212.50 82.50 222.50 0.378742 -212.50 82.50 227.50 0.150946 -212.50 82.50 232.50 0.0511638 -212.50 82.50 237.50 0.0239012 -212.50 82.50 242.50 0.01427 -212.50 82.50 247.50 0.0110281 -212.50 82.50 252.50 0.0182391 -212.50 82.50 257.50 0.0212912 -212.50 82.50 262.50 0.0268917 -212.50 82.50 267.50 0.0673562 -212.50 82.50 272.50 0.23184 -212.50 82.50 277.50 0.644251 -212.50 82.50 282.50 1.16202 -212.50 82.50 287.50 1.28754 -212.50 82.50 292.50 1.3641 -212.50 82.50 297.50 1.32674 -212.50 82.50 302.50 1.11644 -212.50 82.50 307.50 0.739674 -212.50 82.50 312.50 0.378742 -212.50 82.50 317.50 0.150946 -212.50 82.50 322.50 0.051164 -212.50 82.50 327.50 0.0239012 -212.50 82.50 332.50 0.01427 -212.50 82.50 337.50 0.0110281 -212.50 82.50 342.50 0.0182391 -212.50 82.50 347.50 0.0212912 -212.50 82.50 352.50 0.0268917 -212.50 82.50 357.50 0.0673558 -212.50 87.50 2.50 0.100121 -212.50 87.50 7.50 0.288125 -212.50 87.50 12.50 0.437267 -212.50 87.50 17.50 0.540057 -212.50 87.50 22.50 0.545034 -212.50 87.50 27.50 0.583739 -212.50 87.50 32.50 0.572538 -212.50 87.50 37.50 0.417592 -212.50 87.50 42.50 0.227323 -212.50 87.50 47.50 0.107118 -212.50 87.50 52.50 0.0561099 -212.50 87.50 57.50 0.0433886 -212.50 87.50 62.50 0.0425104 -212.50 87.50 67.50 0.0399646 -212.50 87.50 72.50 0.0471942 -212.50 87.50 77.50 0.0569521 -212.50 87.50 82.50 0.0552737 -212.50 87.50 87.50 0.043975 -212.50 87.50 92.50 0.100122 -212.50 87.50 97.50 0.288125 -212.50 87.50 102.50 0.437267 -212.50 87.50 107.50 0.540058 -212.50 87.50 112.50 0.545034 -212.50 87.50 117.50 0.583739 -212.50 87.50 122.50 0.572538 -212.50 87.50 127.50 0.417592 -212.50 87.50 132.50 0.227323 -212.50 87.50 137.50 0.107118 -212.50 87.50 142.50 0.0561099 -212.50 87.50 147.50 0.0433886 -212.50 87.50 152.50 0.0425104 -212.50 87.50 157.50 0.0399646 -212.50 87.50 162.50 0.0471942 -212.50 87.50 167.50 0.0569521 -212.50 87.50 172.50 0.0552737 -212.50 87.50 177.50 0.043975 -212.50 87.50 182.50 0.100122 -212.50 87.50 187.50 0.288125 -212.50 87.50 192.50 0.437267 -212.50 87.50 197.50 0.540058 -212.50 87.50 202.50 0.545034 -212.50 87.50 207.50 0.583739 -212.50 87.50 212.50 0.572538 -212.50 87.50 217.50 0.417592 -212.50 87.50 222.50 0.227323 -212.50 87.50 227.50 0.107118 -212.50 87.50 232.50 0.0561099 -212.50 87.50 237.50 0.0433886 -212.50 87.50 242.50 0.0425104 -212.50 87.50 247.50 0.0399646 -212.50 87.50 252.50 0.0471942 -212.50 87.50 257.50 0.0569521 -212.50 87.50 262.50 0.0552736 -212.50 87.50 267.50 0.043975 -212.50 87.50 272.50 0.100121 -212.50 87.50 277.50 0.288125 -212.50 87.50 282.50 0.437267 -212.50 87.50 287.50 0.540058 -212.50 87.50 292.50 0.545034 -212.50 87.50 297.50 0.583739 -212.50 87.50 302.50 0.572538 -212.50 87.50 307.50 0.417592 -212.50 87.50 312.50 0.227323 -212.50 87.50 317.50 0.107118 -212.50 87.50 322.50 0.05611 -212.50 87.50 327.50 0.0433886 -212.50 87.50 332.50 0.0425104 -212.50 87.50 337.50 0.0399646 -212.50 87.50 342.50 0.0471941 -212.50 87.50 347.50 0.0569521 -212.50 87.50 352.50 0.0552738 -212.50 87.50 357.50 0.043975 -212.50 92.50 2.50 0.0601603 -212.50 92.50 7.50 0.0922624 -212.50 92.50 12.50 0.149325 -212.50 92.50 17.50 0.171122 -212.50 92.50 22.50 0.169877 -212.50 92.50 27.50 0.190178 -212.50 92.50 32.50 0.203044 -212.50 92.50 37.50 0.166468 -212.50 92.50 42.50 0.114674 -212.50 92.50 47.50 0.0938604 -212.50 92.50 52.50 0.114674 -212.50 92.50 57.50 0.166468 -212.50 92.50 62.50 0.203044 -212.50 92.50 67.50 0.190178 -212.50 92.50 72.50 0.169877 -212.50 92.50 77.50 0.171122 -212.50 92.50 82.50 0.149325 -212.50 92.50 87.50 0.0922625 -212.50 92.50 92.50 0.0601603 -212.50 92.50 97.50 0.0922626 -212.50 92.50 102.50 0.149325 -212.50 92.50 107.50 0.171122 -212.50 92.50 112.50 0.169877 -212.50 92.50 117.50 0.190179 -212.50 92.50 122.50 0.203044 -212.50 92.50 127.50 0.166468 -212.50 92.50 132.50 0.114674 -212.50 92.50 137.50 0.0938603 -212.50 92.50 142.50 0.114674 -212.50 92.50 147.50 0.166468 -212.50 92.50 152.50 0.203044 -212.50 92.50 157.50 0.190179 -212.50 92.50 162.50 0.169877 -212.50 92.50 167.50 0.171122 -212.50 92.50 172.50 0.149325 -212.50 92.50 177.50 0.0922627 -212.50 92.50 182.50 0.0601603 -212.50 92.50 187.50 0.0922626 -212.50 92.50 192.50 0.149325 -212.50 92.50 197.50 0.171122 -212.50 92.50 202.50 0.169877 -212.50 92.50 207.50 0.190178 -212.50 92.50 212.50 0.203044 -212.50 92.50 217.50 0.166468 -212.50 92.50 222.50 0.114674 -212.50 92.50 227.50 0.0938603 -212.50 92.50 232.50 0.114674 -212.50 92.50 237.50 0.166468 -212.50 92.50 242.50 0.203044 -212.50 92.50 247.50 0.190178 -212.50 92.50 252.50 0.169877 -212.50 92.50 257.50 0.171122 -212.50 92.50 262.50 0.149325 -212.50 92.50 267.50 0.0922624 -212.50 92.50 272.50 0.0601603 -212.50 92.50 277.50 0.0922625 -212.50 92.50 282.50 0.149325 -212.50 92.50 287.50 0.171122 -212.50 92.50 292.50 0.169877 -212.50 92.50 297.50 0.190178 -212.50 92.50 302.50 0.203044 -212.50 92.50 307.50 0.166468 -212.50 92.50 312.50 0.114674 -212.50 92.50 317.50 0.0938603 -212.50 92.50 322.50 0.114674 -212.50 92.50 327.50 0.166468 -212.50 92.50 332.50 0.203044 -212.50 92.50 337.50 0.190179 -212.50 92.50 342.50 0.169877 -212.50 92.50 347.50 0.171122 -212.50 92.50 352.50 0.149325 -212.50 92.50 357.50 0.0922627 -212.50 97.50 2.50 0.100121 -212.50 97.50 7.50 0.043975 -212.50 97.50 12.50 0.0552736 -212.50 97.50 17.50 0.0569521 -212.50 97.50 22.50 0.0471942 -212.50 97.50 27.50 0.0399646 -212.50 97.50 32.50 0.0425104 -212.50 97.50 37.50 0.0433886 -212.50 97.50 42.50 0.05611 -212.50 97.50 47.50 0.107119 -212.50 97.50 52.50 0.227323 -212.50 97.50 57.50 0.417592 -212.50 97.50 62.50 0.572538 -212.50 97.50 67.50 0.583739 -212.50 97.50 72.50 0.545034 -212.50 97.50 77.50 0.540057 -212.50 97.50 82.50 0.437267 -212.50 97.50 87.50 0.288125 -212.50 97.50 92.50 0.100121 -212.50 97.50 97.50 0.043975 -212.50 97.50 102.50 0.0552737 -212.50 97.50 107.50 0.0569521 -212.50 97.50 112.50 0.0471942 -212.50 97.50 117.50 0.0399646 -212.50 97.50 122.50 0.0425105 -212.50 97.50 127.50 0.0433886 -212.50 97.50 132.50 0.05611 -212.50 97.50 137.50 0.107118 -212.50 97.50 142.50 0.227323 -212.50 97.50 147.50 0.417592 -212.50 97.50 152.50 0.572537 -212.50 97.50 157.50 0.583738 -212.50 97.50 162.50 0.545033 -212.50 97.50 167.50 0.540057 -212.50 97.50 172.50 0.437267 -212.50 97.50 177.50 0.288125 -212.50 97.50 182.50 0.100121 -212.50 97.50 187.50 0.043975 -212.50 97.50 192.50 0.0552737 -212.50 97.50 197.50 0.0569521 -212.50 97.50 202.50 0.0471942 -212.50 97.50 207.50 0.0399646 -212.50 97.50 212.50 0.0425105 -212.50 97.50 217.50 0.0433886 -212.50 97.50 222.50 0.0561099 -212.50 97.50 227.50 0.107118 -212.50 97.50 232.50 0.227323 -212.50 97.50 237.50 0.417592 -212.50 97.50 242.50 0.572538 -212.50 97.50 247.50 0.583738 -212.50 97.50 252.50 0.545033 -212.50 97.50 257.50 0.540057 -212.50 97.50 262.50 0.437267 -212.50 97.50 267.50 0.288125 -212.50 97.50 272.50 0.100121 -212.50 97.50 277.50 0.043975 -212.50 97.50 282.50 0.0552736 -212.50 97.50 287.50 0.0569521 -212.50 97.50 292.50 0.0471941 -212.50 97.50 297.50 0.0399646 -212.50 97.50 302.50 0.0425104 -212.50 97.50 307.50 0.0433886 -212.50 97.50 312.50 0.0561099 -212.50 97.50 317.50 0.107118 -212.50 97.50 322.50 0.227323 -212.50 97.50 327.50 0.417592 -212.50 97.50 332.50 0.572538 -212.50 97.50 337.50 0.583739 -212.50 97.50 342.50 0.545034 -212.50 97.50 347.50 0.540058 -212.50 97.50 352.50 0.437268 -212.50 97.50 357.50 0.288126 -212.50 102.50 2.50 0.23184 -212.50 102.50 7.50 0.0673561 -212.50 102.50 12.50 0.0268917 -212.50 102.50 17.50 0.0212912 -212.50 102.50 22.50 0.0182391 -212.50 102.50 27.50 0.0110281 -212.50 102.50 32.50 0.01427 -212.50 102.50 37.50 0.0239013 -212.50 102.50 42.50 0.0511639 -212.50 102.50 47.50 0.150946 -212.50 102.50 52.50 0.378742 -212.50 102.50 57.50 0.739674 -212.50 102.50 62.50 1.11644 -212.50 102.50 67.50 1.32674 -212.50 102.50 72.50 1.3641 -212.50 102.50 77.50 1.28754 -212.50 102.50 82.50 1.16202 -212.50 102.50 87.50 0.64425 -212.50 102.50 92.50 0.23184 -212.50 102.50 97.50 0.0673561 -212.50 102.50 102.50 0.0268917 -212.50 102.50 107.50 0.0212912 -212.50 102.50 112.50 0.0182391 -212.50 102.50 117.50 0.0110281 -212.50 102.50 122.50 0.01427 -212.50 102.50 127.50 0.0239013 -212.50 102.50 132.50 0.0511639 -212.50 102.50 137.50 0.150946 -212.50 102.50 142.50 0.378742 -212.50 102.50 147.50 0.739673 -212.50 102.50 152.50 1.11644 -212.50 102.50 157.50 1.32674 -212.50 102.50 162.50 1.3641 -212.50 102.50 167.50 1.28754 -212.50 102.50 172.50 1.16202 -212.50 102.50 177.50 0.644251 -212.50 102.50 182.50 0.23184 -212.50 102.50 187.50 0.0673561 -212.50 102.50 192.50 0.0268917 -212.50 102.50 197.50 0.0212912 -212.50 102.50 202.50 0.0182391 -212.50 102.50 207.50 0.0110281 -212.50 102.50 212.50 0.01427 -212.50 102.50 217.50 0.0239012 -212.50 102.50 222.50 0.0511638 -212.50 102.50 227.50 0.150946 -212.50 102.50 232.50 0.378742 -212.50 102.50 237.50 0.739674 -212.50 102.50 242.50 1.11644 -212.50 102.50 247.50 1.32674 -212.50 102.50 252.50 1.3641 -212.50 102.50 257.50 1.28754 -212.50 102.50 262.50 1.16202 -212.50 102.50 267.50 0.64425 -212.50 102.50 272.50 0.23184 -212.50 102.50 277.50 0.0673561 -212.50 102.50 282.50 0.0268917 -212.50 102.50 287.50 0.0212911 -212.50 102.50 292.50 0.0182391 -212.50 102.50 297.50 0.0110281 -212.50 102.50 302.50 0.01427 -212.50 102.50 307.50 0.0239012 -212.50 102.50 312.50 0.0511638 -212.50 102.50 317.50 0.150946 -212.50 102.50 322.50 0.378741 -212.50 102.50 327.50 0.739673 -212.50 102.50 332.50 1.11644 -212.50 102.50 337.50 1.32674 -212.50 102.50 342.50 1.3641 -212.50 102.50 347.50 1.28754 -212.50 102.50 352.50 1.16202 -212.50 102.50 357.50 0.644252 -212.50 107.50 2.50 0.522419 -212.50 107.50 7.50 0.167539 -212.50 107.50 12.50 0.0495179 -212.50 107.50 17.50 0.024577 -212.50 107.50 22.50 0.0132993 -212.50 107.50 27.50 0.00480852 -212.50 107.50 32.50 0.00735715 -212.50 107.50 37.50 0.024495 -212.50 107.50 42.50 0.0627265 -212.50 107.50 47.50 0.203043 -212.50 107.50 52.50 0.516708 -212.50 107.50 57.50 1.09999 -212.50 107.50 62.50 1.82857 -212.50 107.50 67.50 2.49693 -212.50 107.50 72.50 2.8726 -212.50 107.50 77.50 2.86929 -212.50 107.50 82.50 2.20364 -212.50 107.50 87.50 1.32122 -212.50 107.50 92.50 0.522419 -212.50 107.50 97.50 0.167539 -212.50 107.50 102.50 0.0495179 -212.50 107.50 107.50 0.024577 -212.50 107.50 112.50 0.0132994 -212.50 107.50 117.50 0.00480852 -212.50 107.50 122.50 0.00735716 -212.50 107.50 127.50 0.024495 -212.50 107.50 132.50 0.0627265 -212.50 107.50 137.50 0.203043 -212.50 107.50 142.50 0.516708 -212.50 107.50 147.50 1.09998 -212.50 107.50 152.50 1.82857 -212.50 107.50 157.50 2.49693 -212.50 107.50 162.50 2.8726 -212.50 107.50 167.50 2.86929 -212.50 107.50 172.50 2.20364 -212.50 107.50 177.50 1.32122 -212.50 107.50 182.50 0.522419 -212.50 107.50 187.50 0.167539 -212.50 107.50 192.50 0.0495179 -212.50 107.50 197.50 0.024577 -212.50 107.50 202.50 0.0132993 -212.50 107.50 207.50 0.00480852 -212.50 107.50 212.50 0.00735714 -212.50 107.50 217.50 0.0244949 -212.50 107.50 222.50 0.0627264 -212.50 107.50 227.50 0.203043 -212.50 107.50 232.50 0.516709 -212.50 107.50 237.50 1.09999 -212.50 107.50 242.50 1.82857 -212.50 107.50 247.50 2.49693 -212.50 107.50 252.50 2.8726 -212.50 107.50 257.50 2.86929 -212.50 107.50 262.50 2.20364 -212.50 107.50 267.50 1.32122 -212.50 107.50 272.50 0.522419 -212.50 107.50 277.50 0.167539 -212.50 107.50 282.50 0.0495179 -212.50 107.50 287.50 0.024577 -212.50 107.50 292.50 0.0132994 -212.50 107.50 297.50 0.00480852 -212.50 107.50 302.50 0.00735713 -212.50 107.50 307.50 0.0244949 -212.50 107.50 312.50 0.0627264 -212.50 107.50 317.50 0.203042 -212.50 107.50 322.50 0.516707 -212.50 107.50 327.50 1.09998 -212.50 107.50 332.50 1.82857 -212.50 107.50 337.50 2.49693 -212.50 107.50 342.50 2.8726 -212.50 107.50 347.50 2.86929 -212.50 107.50 352.50 2.20365 -212.50 107.50 357.50 1.32122 -212.50 112.50 2.50 1.09345 -212.50 112.50 7.50 0.40894 -212.50 112.50 12.50 0.141005 -212.50 112.50 17.50 0.0443852 -212.50 112.50 22.50 0.0217755 -212.50 112.50 27.50 0.0101522 -212.50 112.50 32.50 0.00563606 -212.50 112.50 37.50 0.0160792 -212.50 112.50 42.50 0.0711077 -212.50 112.50 47.50 0.232757 -212.50 112.50 52.50 0.569088 -212.50 112.50 57.50 1.24276 -212.50 112.50 62.50 2.39754 -212.50 112.50 67.50 3.68294 -212.50 112.50 72.50 4.51332 -212.50 112.50 77.50 4.3741 -212.50 112.50 82.50 3.60754 -212.50 112.50 87.50 2.33131 -212.50 112.50 92.50 1.09345 -212.50 112.50 97.50 0.40894 -212.50 112.50 102.50 0.141005 -212.50 112.50 107.50 0.0443851 -212.50 112.50 112.50 0.0217754 -212.50 112.50 117.50 0.0101522 -212.50 112.50 122.50 0.00563606 -212.50 112.50 127.50 0.0160792 -212.50 112.50 132.50 0.0711077 -212.50 112.50 137.50 0.232757 -212.50 112.50 142.50 0.569088 -212.50 112.50 147.50 1.24276 -212.50 112.50 152.50 2.39753 -212.50 112.50 157.50 3.68294 -212.50 112.50 162.50 4.51332 -212.50 112.50 167.50 4.3741 -212.50 112.50 172.50 3.60754 -212.50 112.50 177.50 2.33131 -212.50 112.50 182.50 1.09344 -212.50 112.50 187.50 0.40894 -212.50 112.50 192.50 0.141005 -212.50 112.50 197.50 0.0443851 -212.50 112.50 202.50 0.0217755 -212.50 112.50 207.50 0.0101522 -212.50 112.50 212.50 0.00563605 -212.50 112.50 217.50 0.0160792 -212.50 112.50 222.50 0.0711075 -212.50 112.50 227.50 0.232756 -212.50 112.50 232.50 0.569089 -212.50 112.50 237.50 1.24276 -212.50 112.50 242.50 2.39754 -212.50 112.50 247.50 3.68294 -212.50 112.50 252.50 4.51332 -212.50 112.50 257.50 4.37409 -212.50 112.50 262.50 3.60754 -212.50 112.50 267.50 2.33131 -212.50 112.50 272.50 1.09345 -212.50 112.50 277.50 0.40894 -212.50 112.50 282.50 0.141005 -212.50 112.50 287.50 0.0443852 -212.50 112.50 292.50 0.0217755 -212.50 112.50 297.50 0.0101522 -212.50 112.50 302.50 0.00563605 -212.50 112.50 307.50 0.0160791 -212.50 112.50 312.50 0.0711075 -212.50 112.50 317.50 0.232757 -212.50 112.50 322.50 0.569086 -212.50 112.50 327.50 1.24276 -212.50 112.50 332.50 2.39753 -212.50 112.50 337.50 3.68294 -212.50 112.50 342.50 4.51332 -212.50 112.50 347.50 4.3741 -212.50 112.50 352.50 3.60755 -212.50 112.50 357.50 2.33132 -212.50 117.50 2.50 1.96804 -212.50 117.50 7.50 0.870675 -212.50 117.50 12.50 0.347857 -212.50 117.50 17.50 0.12179 -212.50 117.50 22.50 0.0403447 -212.50 117.50 27.50 0.0137423 -212.50 117.50 32.50 0.00519188 -212.50 117.50 37.50 0.0081022 -212.50 117.50 42.50 0.0465225 -212.50 117.50 47.50 0.160589 -212.50 117.50 52.50 0.449242 -212.50 117.50 57.50 1.11393 -212.50 117.50 62.50 2.38624 -212.50 117.50 67.50 3.94446 -212.50 117.50 72.50 5.11389 -212.50 117.50 77.50 5.45633 -212.50 117.50 82.50 4.88871 -212.50 117.50 87.50 3.5881 -212.50 117.50 92.50 1.96803 -212.50 117.50 97.50 0.870675 -212.50 117.50 102.50 0.347857 -212.50 117.50 107.50 0.12179 -212.50 117.50 112.50 0.0403446 -212.50 117.50 117.50 0.0137423 -212.50 117.50 122.50 0.00519186 -212.50 117.50 127.50 0.00810221 -212.50 117.50 132.50 0.0465226 -212.50 117.50 137.50 0.160589 -212.50 117.50 142.50 0.449242 -212.50 117.50 147.50 1.11393 -212.50 117.50 152.50 2.38624 -212.50 117.50 157.50 3.94446 -212.50 117.50 162.50 5.11389 -212.50 117.50 167.50 5.45633 -212.50 117.50 172.50 4.88871 -212.50 117.50 177.50 3.58811 -212.50 117.50 182.50 1.96803 -212.50 117.50 187.50 0.870675 -212.50 117.50 192.50 0.347858 -212.50 117.50 197.50 0.12179 -212.50 117.50 202.50 0.0403447 -212.50 117.50 207.50 0.0137423 -212.50 117.50 212.50 0.00519188 -212.50 117.50 217.50 0.00810219 -212.50 117.50 222.50 0.0465225 -212.50 117.50 227.50 0.160588 -212.50 117.50 232.50 0.449242 -212.50 117.50 237.50 1.11393 -212.50 117.50 242.50 2.38624 -212.50 117.50 247.50 3.94446 -212.50 117.50 252.50 5.1139 -212.50 117.50 257.50 5.45633 -212.50 117.50 262.50 4.88871 -212.50 117.50 267.50 3.5881 -212.50 117.50 272.50 1.96804 -212.50 117.50 277.50 0.870675 -212.50 117.50 282.50 0.347857 -212.50 117.50 287.50 0.12179 -212.50 117.50 292.50 0.0403447 -212.50 117.50 297.50 0.0137423 -212.50 117.50 302.50 0.00519189 -212.50 117.50 307.50 0.00810219 -212.50 117.50 312.50 0.0465225 -212.50 117.50 317.50 0.160588 -212.50 117.50 322.50 0.449241 -212.50 117.50 327.50 1.11393 -212.50 117.50 332.50 2.38624 -212.50 117.50 337.50 3.94446 -212.50 117.50 342.50 5.11389 -212.50 117.50 347.50 5.45633 -212.50 117.50 352.50 4.88872 -212.50 117.50 357.50 3.58811 -212.50 122.50 2.50 2.99998 -212.50 122.50 7.50 1.64726 -212.50 122.50 12.50 0.81647 -212.50 122.50 17.50 0.352535 -212.50 122.50 22.50 0.128789 -212.50 122.50 27.50 0.0423286 -212.50 122.50 32.50 0.015063 -212.50 122.50 37.50 0.00644962 -212.50 122.50 42.50 0.0160806 -212.50 122.50 47.50 0.063565 -212.50 122.50 52.50 0.228709 -212.50 122.50 57.50 0.76075 -212.50 122.50 62.50 1.79067 -212.50 122.50 67.50 3.29407 -212.50 122.50 72.50 4.69798 -212.50 122.50 77.50 5.56268 -212.50 122.50 82.50 5.52208 -212.50 122.50 87.50 4.66052 -212.50 122.50 92.50 2.99998 -212.50 122.50 97.50 1.64726 -212.50 122.50 102.50 0.81647 -212.50 122.50 107.50 0.352535 -212.50 122.50 112.50 0.128789 -212.50 122.50 117.50 0.0423285 -212.50 122.50 122.50 0.0150629 -212.50 122.50 127.50 0.00644963 -212.50 122.50 132.50 0.0160806 -212.50 122.50 137.50 0.063565 -212.50 122.50 142.50 0.228709 -212.50 122.50 147.50 0.76075 -212.50 122.50 152.50 1.79067 -212.50 122.50 157.50 3.29407 -212.50 122.50 162.50 4.69798 -212.50 122.50 167.50 5.56268 -212.50 122.50 172.50 5.52208 -212.50 122.50 177.50 4.66052 -212.50 122.50 182.50 2.99998 -212.50 122.50 187.50 1.64726 -212.50 122.50 192.50 0.816469 -212.50 122.50 197.50 0.352535 -212.50 122.50 202.50 0.128789 -212.50 122.50 207.50 0.0423287 -212.50 122.50 212.50 0.015063 -212.50 122.50 217.50 0.00644963 -212.50 122.50 222.50 0.0160805 -212.50 122.50 227.50 0.0635649 -212.50 122.50 232.50 0.228709 -212.50 122.50 237.50 0.760751 -212.50 122.50 242.50 1.79067 -212.50 122.50 247.50 3.29407 -212.50 122.50 252.50 4.69798 -212.50 122.50 257.50 5.56268 -212.50 122.50 262.50 5.52208 -212.50 122.50 267.50 4.66052 -212.50 122.50 272.50 2.99998 -212.50 122.50 277.50 1.64726 -212.50 122.50 282.50 0.81647 -212.50 122.50 287.50 0.352535 -212.50 122.50 292.50 0.128789 -212.50 122.50 297.50 0.0423287 -212.50 122.50 302.50 0.015063 -212.50 122.50 307.50 0.00644962 -212.50 122.50 312.50 0.0160805 -212.50 122.50 317.50 0.0635648 -212.50 122.50 322.50 0.228708 -212.50 122.50 327.50 0.760748 -212.50 122.50 332.50 1.79067 -212.50 122.50 337.50 3.29406 -212.50 122.50 342.50 4.69798 -212.50 122.50 347.50 5.56268 -212.50 122.50 352.50 5.52208 -212.50 122.50 357.50 4.66052 -212.50 127.50 2.50 3.97879 -212.50 127.50 7.50 2.7973 -212.50 127.50 12.50 1.71985 -212.50 127.50 17.50 0.878167 -212.50 127.50 22.50 0.384209 -212.50 127.50 27.50 0.147507 -212.50 127.50 32.50 0.0483811 -212.50 127.50 37.50 0.012454 -212.50 127.50 42.50 0.00544401 -212.50 127.50 47.50 0.022614 -212.50 127.50 52.50 0.10508 -212.50 127.50 57.50 0.405451 -212.50 127.50 62.50 1.13084 -212.50 127.50 67.50 2.23604 -212.50 127.50 72.50 3.46852 -212.50 127.50 77.50 4.61669 -212.50 127.50 82.50 5.31958 -212.50 127.50 87.50 5.14816 -212.50 127.50 92.50 3.97879 -212.50 127.50 97.50 2.7973 -212.50 127.50 102.50 1.71985 -212.50 127.50 107.50 0.878167 -212.50 127.50 112.50 0.384209 -212.50 127.50 117.50 0.147507 -212.50 127.50 122.50 0.0483811 -212.50 127.50 127.50 0.012454 -212.50 127.50 132.50 0.00544401 -212.50 127.50 137.50 0.022614 -212.50 127.50 142.50 0.10508 -212.50 127.50 147.50 0.40545 -212.50 127.50 152.50 1.13084 -212.50 127.50 157.50 2.23604 -212.50 127.50 162.50 3.46852 -212.50 127.50 167.50 4.61669 -212.50 127.50 172.50 5.31958 -212.50 127.50 177.50 5.14816 -212.50 127.50 182.50 3.97878 -212.50 127.50 187.50 2.7973 -212.50 127.50 192.50 1.71985 -212.50 127.50 197.50 0.878167 -212.50 127.50 202.50 0.384209 -212.50 127.50 207.50 0.147507 -212.50 127.50 212.50 0.0483811 -212.50 127.50 217.50 0.012454 -212.50 127.50 222.50 0.005444 -212.50 127.50 227.50 0.0226139 -212.50 127.50 232.50 0.10508 -212.50 127.50 237.50 0.405451 -212.50 127.50 242.50 1.13084 -212.50 127.50 247.50 2.23604 -212.50 127.50 252.50 3.46852 -212.50 127.50 257.50 4.61669 -212.50 127.50 262.50 5.31959 -212.50 127.50 267.50 5.14815 -212.50 127.50 272.50 3.97879 -212.50 127.50 277.50 2.7973 -212.50 127.50 282.50 1.71985 -212.50 127.50 287.50 0.878167 -212.50 127.50 292.50 0.384209 -212.50 127.50 297.50 0.147508 -212.50 127.50 302.50 0.0483812 -212.50 127.50 307.50 0.012454 -212.50 127.50 312.50 0.005444 -212.50 127.50 317.50 0.0226139 -212.50 127.50 322.50 0.10508 -212.50 127.50 327.50 0.405449 -212.50 127.50 332.50 1.13083 -212.50 127.50 337.50 2.23603 -212.50 127.50 342.50 3.46852 -212.50 127.50 347.50 4.61668 -212.50 127.50 352.50 5.31958 -212.50 127.50 357.50 5.14816 -212.50 132.50 2.50 4.69043 -212.50 132.50 7.50 4.08367 -212.50 132.50 12.50 2.95837 -212.50 132.50 17.50 1.72464 -212.50 132.50 22.50 0.884918 -212.50 132.50 27.50 0.383308 -212.50 132.50 32.50 0.126388 -212.50 132.50 37.50 0.0411484 -212.50 132.50 42.50 0.00928605 -212.50 132.50 47.50 0.00650745 -212.50 132.50 52.50 0.0410824 -212.50 132.50 57.50 0.192946 -212.50 132.50 62.50 0.570496 -212.50 132.50 67.50 1.22267 -212.50 132.50 72.50 2.13189 -212.50 132.50 77.50 3.28921 -212.50 132.50 82.50 4.46699 -212.50 132.50 87.50 4.9821 -212.50 132.50 92.50 4.69043 -212.50 132.50 97.50 4.08367 -212.50 132.50 102.50 2.95837 -212.50 132.50 107.50 1.72464 -212.50 132.50 112.50 0.884918 -212.50 132.50 117.50 0.383307 -212.50 132.50 122.50 0.126388 -212.50 132.50 127.50 0.0411484 -212.50 132.50 132.50 0.00928603 -212.50 132.50 137.50 0.00650745 -212.50 132.50 142.50 0.0410824 -212.50 132.50 147.50 0.192946 -212.50 132.50 152.50 0.570495 -212.50 132.50 157.50 1.22267 -212.50 132.50 162.50 2.13189 -212.50 132.50 167.50 3.28921 -212.50 132.50 172.50 4.46699 -212.50 132.50 177.50 4.9821 -212.50 132.50 182.50 4.69043 -212.50 132.50 187.50 4.08367 -212.50 132.50 192.50 2.95836 -212.50 132.50 197.50 1.72464 -212.50 132.50 202.50 0.884917 -212.50 132.50 207.50 0.383308 -212.50 132.50 212.50 0.126388 -212.50 132.50 217.50 0.0411484 -212.50 132.50 222.50 0.00928605 -212.50 132.50 227.50 0.00650742 -212.50 132.50 232.50 0.0410825 -212.50 132.50 237.50 0.192946 -212.50 132.50 242.50 0.570496 -212.50 132.50 247.50 1.22267 -212.50 132.50 252.50 2.13189 -212.50 132.50 257.50 3.28921 -212.50 132.50 262.50 4.467 -212.50 132.50 267.50 4.9821 -212.50 132.50 272.50 4.69043 -212.50 132.50 277.50 4.08367 -212.50 132.50 282.50 2.95837 -212.50 132.50 287.50 1.72464 -212.50 132.50 292.50 0.884918 -212.50 132.50 297.50 0.383308 -212.50 132.50 302.50 0.126388 -212.50 132.50 307.50 0.0411485 -212.50 132.50 312.50 0.00928606 -212.50 132.50 317.50 0.00650742 -212.50 132.50 322.50 0.0410823 -212.50 132.50 327.50 0.192946 -212.50 132.50 332.50 0.570495 -212.50 132.50 337.50 1.22267 -212.50 132.50 342.50 2.13189 -212.50 132.50 347.50 3.28921 -212.50 132.50 352.50 4.46699 -212.50 132.50 357.50 4.9821 -212.50 137.50 2.50 4.95231 -212.50 137.50 7.50 4.95933 -212.50 137.50 12.50 4.02082 -212.50 137.50 17.50 2.64963 -212.50 137.50 22.50 1.56269 -212.50 137.50 27.50 0.775072 -212.50 137.50 32.50 0.316415 -212.50 137.50 37.50 0.0961165 -212.50 137.50 42.50 0.0206882 -212.50 137.50 47.50 0.00573954 -212.50 137.50 52.50 0.0117542 -212.50 137.50 57.50 0.06603 -212.50 137.50 62.50 0.213501 -212.50 137.50 67.50 0.533433 -212.50 137.50 72.50 1.12772 -212.50 137.50 77.50 2.10821 -212.50 137.50 82.50 3.38468 -212.50 137.50 87.50 4.39341 -212.50 137.50 92.50 4.9523 -212.50 137.50 97.50 4.95933 -212.50 137.50 102.50 4.02082 -212.50 137.50 107.50 2.64963 -212.50 137.50 112.50 1.56269 -212.50 137.50 117.50 0.775071 -212.50 137.50 122.50 0.316415 -212.50 137.50 127.50 0.0961165 -212.50 137.50 132.50 0.0206882 -212.50 137.50 137.50 0.00573954 -212.50 137.50 142.50 0.0117542 -212.50 137.50 147.50 0.06603 -212.50 137.50 152.50 0.213501 -212.50 137.50 157.50 0.533432 -212.50 137.50 162.50 1.12772 -212.50 137.50 167.50 2.10821 -212.50 137.50 172.50 3.38468 -212.50 137.50 177.50 4.39341 -212.50 137.50 182.50 4.95231 -212.50 137.50 187.50 4.95933 -212.50 137.50 192.50 4.02082 -212.50 137.50 197.50 2.64963 -212.50 137.50 202.50 1.56269 -212.50 137.50 207.50 0.775072 -212.50 137.50 212.50 0.316415 -212.50 137.50 217.50 0.0961166 -212.50 137.50 222.50 0.0206882 -212.50 137.50 227.50 0.00573954 -212.50 137.50 232.50 0.0117543 -212.50 137.50 237.50 0.0660301 -212.50 137.50 242.50 0.213501 -212.50 137.50 247.50 0.533433 -212.50 137.50 252.50 1.12773 -212.50 137.50 257.50 2.10821 -212.50 137.50 262.50 3.38468 -212.50 137.50 267.50 4.39341 -212.50 137.50 272.50 4.95231 -212.50 137.50 277.50 4.95933 -212.50 137.50 282.50 4.02082 -212.50 137.50 287.50 2.64963 -212.50 137.50 292.50 1.56269 -212.50 137.50 297.50 0.775072 -212.50 137.50 302.50 0.316416 -212.50 137.50 307.50 0.0961166 -212.50 137.50 312.50 0.0206882 -212.50 137.50 317.50 0.00573953 -212.50 137.50 322.50 0.0117541 -212.50 137.50 327.50 0.0660298 -212.50 137.50 332.50 0.2135 -212.50 137.50 337.50 0.533431 -212.50 137.50 342.50 1.12772 -212.50 137.50 347.50 2.1082 -212.50 137.50 352.50 3.38468 -212.50 137.50 357.50 4.39341 -212.50 142.50 2.50 4.69043 -212.50 142.50 7.50 5.1111 -212.50 142.50 12.50 4.48177 -212.50 142.50 17.50 3.2594 -212.50 142.50 22.50 2.13666 -212.50 142.50 27.50 1.24593 -212.50 142.50 32.50 0.579261 -212.50 142.50 37.50 0.198827 -212.50 142.50 42.50 0.049226 -212.50 142.50 47.50 0.00979707 -212.50 142.50 52.50 0.00463361 -212.50 142.50 57.50 0.0164119 -212.50 142.50 62.50 0.0681549 -212.50 142.50 67.50 0.201332 -212.50 142.50 72.50 0.550166 -212.50 142.50 77.50 1.26737 -212.50 142.50 82.50 2.37639 -212.50 142.50 87.50 3.58904 -212.50 142.50 92.50 4.69043 -212.50 142.50 97.50 5.1111 -212.50 142.50 102.50 4.48177 -212.50 142.50 107.50 3.2594 -212.50 142.50 112.50 2.13666 -212.50 142.50 117.50 1.24593 -212.50 142.50 122.50 0.579261 -212.50 142.50 127.50 0.198827 -212.50 142.50 132.50 0.049226 -212.50 142.50 137.50 0.00979706 -212.50 142.50 142.50 0.00463361 -212.50 142.50 147.50 0.0164119 -212.50 142.50 152.50 0.0681549 -212.50 142.50 157.50 0.201332 -212.50 142.50 162.50 0.550165 -212.50 142.50 167.50 1.26737 -212.50 142.50 172.50 2.37639 -212.50 142.50 177.50 3.58904 -212.50 142.50 182.50 4.69043 -212.50 142.50 187.50 5.1111 -212.50 142.50 192.50 4.48177 -212.50 142.50 197.50 3.2594 -212.50 142.50 202.50 2.13666 -212.50 142.50 207.50 1.24593 -212.50 142.50 212.50 0.579261 -212.50 142.50 217.50 0.198828 -212.50 142.50 222.50 0.049226 -212.50 142.50 227.50 0.00979709 -212.50 142.50 232.50 0.00463361 -212.50 142.50 237.50 0.0164119 -212.50 142.50 242.50 0.068155 -212.50 142.50 247.50 0.201332 -212.50 142.50 252.50 0.550166 -212.50 142.50 257.50 1.26737 -212.50 142.50 262.50 2.37639 -212.50 142.50 267.50 3.58904 -212.50 142.50 272.50 4.69043 -212.50 142.50 277.50 5.1111 -212.50 142.50 282.50 4.48177 -212.50 142.50 287.50 3.2594 -212.50 142.50 292.50 2.13666 -212.50 142.50 297.50 1.24593 -212.50 142.50 302.50 0.579262 -212.50 142.50 307.50 0.198828 -212.50 142.50 312.50 0.049226 -212.50 142.50 317.50 0.0097971 -212.50 142.50 322.50 0.0046336 -212.50 142.50 327.50 0.0164118 -212.50 142.50 332.50 0.0681547 -212.50 142.50 337.50 0.201332 -212.50 142.50 342.50 0.550164 -212.50 142.50 347.50 1.26736 -212.50 142.50 352.50 2.37638 -212.50 142.50 357.50 3.58904 -212.50 147.50 2.50 3.97879 -212.50 147.50 7.50 4.60371 -212.50 147.50 12.50 4.256 -212.50 147.50 17.50 3.31617 -212.50 147.50 22.50 2.39561 -212.50 147.50 27.50 1.60325 -212.50 147.50 32.50 0.888363 -212.50 147.50 37.50 0.374936 -212.50 147.50 42.50 0.118135 -212.50 147.50 47.50 0.0338126 -212.50 147.50 52.50 0.00985912 -212.50 147.50 57.50 0.0059582 -212.50 147.50 62.50 0.0192987 -212.50 147.50 67.50 0.0727313 -212.50 147.50 72.50 0.254908 -212.50 147.50 77.50 0.710543 -212.50 147.50 82.50 1.56092 -212.50 147.50 87.50 2.71873 -212.50 147.50 92.50 3.97879 -212.50 147.50 97.50 4.6037 -212.50 147.50 102.50 4.256 -212.50 147.50 107.50 3.31617 -212.50 147.50 112.50 2.39561 -212.50 147.50 117.50 1.60325 -212.50 147.50 122.50 0.888363 -212.50 147.50 127.50 0.374935 -212.50 147.50 132.50 0.118135 -212.50 147.50 137.50 0.0338126 -212.50 147.50 142.50 0.00985912 -212.50 147.50 147.50 0.00595821 -212.50 147.50 152.50 0.0192987 -212.50 147.50 157.50 0.0727312 -212.50 147.50 162.50 0.254908 -212.50 147.50 167.50 0.710543 -212.50 147.50 172.50 1.56092 -212.50 147.50 177.50 2.71873 -212.50 147.50 182.50 3.97879 -212.50 147.50 187.50 4.6037 -212.50 147.50 192.50 4.256 -212.50 147.50 197.50 3.31617 -212.50 147.50 202.50 2.39561 -212.50 147.50 207.50 1.60325 -212.50 147.50 212.50 0.888363 -212.50 147.50 217.50 0.374936 -212.50 147.50 222.50 0.118135 -212.50 147.50 227.50 0.0338126 -212.50 147.50 232.50 0.00985911 -212.50 147.50 237.50 0.00595821 -212.50 147.50 242.50 0.0192987 -212.50 147.50 247.50 0.0727313 -212.50 147.50 252.50 0.254908 -212.50 147.50 257.50 0.710544 -212.50 147.50 262.50 1.56092 -212.50 147.50 267.50 2.71873 -212.50 147.50 272.50 3.97879 -212.50 147.50 277.50 4.6037 -212.50 147.50 282.50 4.256 -212.50 147.50 287.50 3.31617 -212.50 147.50 292.50 2.39561 -212.50 147.50 297.50 1.60325 -212.50 147.50 302.50 0.888364 -212.50 147.50 307.50 0.374936 -212.50 147.50 312.50 0.118135 -212.50 147.50 317.50 0.0338126 -212.50 147.50 322.50 0.00985914 -212.50 147.50 327.50 0.00595819 -212.50 147.50 332.50 0.0192987 -212.50 147.50 337.50 0.072731 -212.50 147.50 342.50 0.254907 -212.50 147.50 347.50 0.710541 -212.50 147.50 352.50 1.56092 -212.50 147.50 357.50 2.71873 -212.50 152.50 2.50 2.99999 -212.50 152.50 7.50 3.62013 -212.50 152.50 12.50 3.52468 -212.50 152.50 17.50 3.01306 -212.50 152.50 22.50 2.38047 -212.50 152.50 27.50 1.85572 -212.50 152.50 32.50 1.18313 -212.50 152.50 37.50 0.590122 -212.50 152.50 42.50 0.252065 -212.50 152.50 47.50 0.0970907 -212.50 152.50 52.50 0.028818 -212.50 152.50 57.50 0.0075523 -212.50 152.50 62.50 0.00676334 -212.50 152.50 67.50 0.0277003 -212.50 152.50 72.50 0.12523 -212.50 152.50 77.50 0.398625 -212.50 152.50 82.50 1.02375 -212.50 152.50 87.50 1.90997 -212.50 152.50 92.50 2.99998 -212.50 152.50 97.50 3.62013 -212.50 152.50 102.50 3.52469 -212.50 152.50 107.50 3.01306 -212.50 152.50 112.50 2.38047 -212.50 152.50 117.50 1.85572 -212.50 152.50 122.50 1.18313 -212.50 152.50 127.50 0.590122 -212.50 152.50 132.50 0.252065 -212.50 152.50 137.50 0.0970907 -212.50 152.50 142.50 0.028818 -212.50 152.50 147.50 0.0075523 -212.50 152.50 152.50 0.00676334 -212.50 152.50 157.50 0.0277002 -212.50 152.50 162.50 0.12523 -212.50 152.50 167.50 0.398625 -212.50 152.50 172.50 1.02375 -212.50 152.50 177.50 1.90997 -212.50 152.50 182.50 2.99998 -212.50 152.50 187.50 3.62014 -212.50 152.50 192.50 3.52469 -212.50 152.50 197.50 3.01306 -212.50 152.50 202.50 2.38047 -212.50 152.50 207.50 1.85572 -212.50 152.50 212.50 1.18313 -212.50 152.50 217.50 0.590122 -212.50 152.50 222.50 0.252065 -212.50 152.50 227.50 0.0970907 -212.50 152.50 232.50 0.028818 -212.50 152.50 237.50 0.00755229 -212.50 152.50 242.50 0.00676335 -212.50 152.50 247.50 0.0277002 -212.50 152.50 252.50 0.12523 -212.50 152.50 257.50 0.398625 -212.50 152.50 262.50 1.02375 -212.50 152.50 267.50 1.90997 -212.50 152.50 272.50 2.99998 -212.50 152.50 277.50 3.62013 -212.50 152.50 282.50 3.52469 -212.50 152.50 287.50 3.01306 -212.50 152.50 292.50 2.38047 -212.50 152.50 297.50 1.85572 -212.50 152.50 302.50 1.18313 -212.50 152.50 307.50 0.590123 -212.50 152.50 312.50 0.252065 -212.50 152.50 317.50 0.0970908 -212.50 152.50 322.50 0.0288181 -212.50 152.50 327.50 0.00755233 -212.50 152.50 332.50 0.00676332 -212.50 152.50 337.50 0.0277 -212.50 152.50 342.50 0.125229 -212.50 152.50 347.50 0.398623 -212.50 152.50 352.50 1.02375 -212.50 152.50 357.50 1.90996 -212.50 157.50 2.50 1.96804 -212.50 157.50 7.50 2.42077 -212.50 157.50 12.50 2.5334 -212.50 157.50 17.50 2.38837 -212.50 157.50 22.50 2.16923 -212.50 157.50 27.50 1.89582 -212.50 157.50 32.50 1.40128 -212.50 157.50 37.50 0.833257 -212.50 157.50 42.50 0.435607 -212.50 157.50 47.50 0.195391 -212.50 157.50 52.50 0.0644321 -212.50 157.50 57.50 0.0142587 -212.50 157.50 62.50 0.00850379 -212.50 157.50 67.50 0.0316823 -212.50 157.50 72.50 0.0981175 -212.50 157.50 77.50 0.279702 -212.50 157.50 82.50 0.671076 -212.50 157.50 87.50 1.24071 -212.50 157.50 92.50 1.96804 -212.50 157.50 97.50 2.42077 -212.50 157.50 102.50 2.5334 -212.50 157.50 107.50 2.38837 -212.50 157.50 112.50 2.16923 -212.50 157.50 117.50 1.89582 -212.50 157.50 122.50 1.40128 -212.50 157.50 127.50 0.833257 -212.50 157.50 132.50 0.435607 -212.50 157.50 137.50 0.195391 -212.50 157.50 142.50 0.064432 -212.50 157.50 147.50 0.0142587 -212.50 157.50 152.50 0.00850378 -212.50 157.50 157.50 0.0316822 -212.50 157.50 162.50 0.0981174 -212.50 157.50 167.50 0.279702 -212.50 157.50 172.50 0.671076 -212.50 157.50 177.50 1.24071 -212.50 157.50 182.50 1.96804 -212.50 157.50 187.50 2.42077 -212.50 157.50 192.50 2.5334 -212.50 157.50 197.50 2.38837 -212.50 157.50 202.50 2.16923 -212.50 157.50 207.50 1.89582 -212.50 157.50 212.50 1.40128 -212.50 157.50 217.50 0.833258 -212.50 157.50 222.50 0.435607 -212.50 157.50 227.50 0.195391 -212.50 157.50 232.50 0.0644319 -212.50 157.50 237.50 0.0142587 -212.50 157.50 242.50 0.00850379 -212.50 157.50 247.50 0.0316823 -212.50 157.50 252.50 0.0981175 -212.50 157.50 257.50 0.279702 -212.50 157.50 262.50 0.671076 -212.50 157.50 267.50 1.24071 -212.50 157.50 272.50 1.96804 -212.50 157.50 277.50 2.42077 -212.50 157.50 282.50 2.5334 -212.50 157.50 287.50 2.38837 -212.50 157.50 292.50 2.16923 -212.50 157.50 297.50 1.89582 -212.50 157.50 302.50 1.40128 -212.50 157.50 307.50 0.833258 -212.50 157.50 312.50 0.435607 -212.50 157.50 317.50 0.195391 -212.50 157.50 322.50 0.0644323 -212.50 157.50 327.50 0.0142588 -212.50 157.50 332.50 0.00850376 -212.50 157.50 337.50 0.0316822 -212.50 157.50 342.50 0.098117 -212.50 157.50 347.50 0.279702 -212.50 157.50 352.50 0.671074 -212.50 157.50 357.50 1.24071 -212.50 162.50 2.50 1.09345 -212.50 162.50 7.50 1.35571 -212.50 162.50 12.50 1.52053 -212.50 162.50 17.50 1.61428 -212.50 162.50 22.50 1.72818 -212.50 162.50 27.50 1.74574 -212.50 162.50 32.50 1.48599 -212.50 162.50 37.50 1.02935 -212.50 162.50 42.50 0.595059 -212.50 162.50 47.50 0.278606 -212.50 162.50 52.50 0.0971228 -212.50 162.50 57.50 0.0269771 -212.50 162.50 62.50 0.0246356 -212.50 162.50 67.50 0.0662611 -212.50 162.50 72.50 0.13557 -212.50 162.50 77.50 0.239148 -212.50 162.50 82.50 0.412757 -212.50 162.50 87.50 0.71794 -212.50 162.50 92.50 1.09345 -212.50 162.50 97.50 1.35571 -212.50 162.50 102.50 1.52053 -212.50 162.50 107.50 1.61428 -212.50 162.50 112.50 1.72818 -212.50 162.50 117.50 1.74574 -212.50 162.50 122.50 1.48599 -212.50 162.50 127.50 1.02935 -212.50 162.50 132.50 0.595058 -212.50 162.50 137.50 0.278606 -212.50 162.50 142.50 0.0971228 -212.50 162.50 147.50 0.026977 -212.50 162.50 152.50 0.0246356 -212.50 162.50 157.50 0.066261 -212.50 162.50 162.50 0.13557 -212.50 162.50 167.50 0.239148 -212.50 162.50 172.50 0.412757 -212.50 162.50 177.50 0.717939 -212.50 162.50 182.50 1.09345 -212.50 162.50 187.50 1.35571 -212.50 162.50 192.50 1.52053 -212.50 162.50 197.50 1.61428 -212.50 162.50 202.50 1.72818 -212.50 162.50 207.50 1.74574 -212.50 162.50 212.50 1.48599 -212.50 162.50 217.50 1.02935 -212.50 162.50 222.50 0.595059 -212.50 162.50 227.50 0.278606 -212.50 162.50 232.50 0.0971226 -212.50 162.50 237.50 0.026977 -212.50 162.50 242.50 0.0246356 -212.50 162.50 247.50 0.0662611 -212.50 162.50 252.50 0.13557 -212.50 162.50 257.50 0.239149 -212.50 162.50 262.50 0.412757 -212.50 162.50 267.50 0.71794 -212.50 162.50 272.50 1.09345 -212.50 162.50 277.50 1.35571 -212.50 162.50 282.50 1.52053 -212.50 162.50 287.50 1.61428 -212.50 162.50 292.50 1.72818 -212.50 162.50 297.50 1.74574 -212.50 162.50 302.50 1.48599 -212.50 162.50 307.50 1.02935 -212.50 162.50 312.50 0.595059 -212.50 162.50 317.50 0.278606 -212.50 162.50 322.50 0.0971231 -212.50 162.50 327.50 0.0269771 -212.50 162.50 332.50 0.0246355 -212.50 162.50 337.50 0.066261 -212.50 162.50 342.50 0.13557 -212.50 162.50 347.50 0.239148 -212.50 162.50 352.50 0.412756 -212.50 162.50 357.50 0.717939 -212.50 167.50 2.50 0.52242 -212.50 167.50 7.50 0.637041 -212.50 167.50 12.50 0.737725 -212.50 167.50 17.50 0.925448 -212.50 167.50 22.50 1.23581 -212.50 167.50 27.50 1.52127 -212.50 167.50 32.50 1.49764 -212.50 167.50 37.50 1.10734 -212.50 167.50 42.50 0.631521 -212.50 167.50 47.50 0.296412 -212.50 167.50 52.50 0.116219 -212.50 167.50 57.50 0.0400303 -212.50 167.50 62.50 0.0377469 -212.50 167.50 67.50 0.097828 -212.50 167.50 72.50 0.167805 -212.50 167.50 77.50 0.207394 -212.50 167.50 82.50 0.241365 -212.50 167.50 87.50 0.373755 -212.50 167.50 92.50 0.52242 -212.50 167.50 97.50 0.637041 -212.50 167.50 102.50 0.737725 -212.50 167.50 107.50 0.925448 -212.50 167.50 112.50 1.23582 -212.50 167.50 117.50 1.52127 -212.50 167.50 122.50 1.49764 -212.50 167.50 127.50 1.10734 -212.50 167.50 132.50 0.63152 -212.50 167.50 137.50 0.296412 -212.50 167.50 142.50 0.116219 -212.50 167.50 147.50 0.0400303 -212.50 167.50 152.50 0.0377468 -212.50 167.50 157.50 0.0978279 -212.50 167.50 162.50 0.167805 -212.50 167.50 167.50 0.207394 -212.50 167.50 172.50 0.241365 -212.50 167.50 177.50 0.373755 -212.50 167.50 182.50 0.52242 -212.50 167.50 187.50 0.637041 -212.50 167.50 192.50 0.737725 -212.50 167.50 197.50 0.925448 -212.50 167.50 202.50 1.23582 -212.50 167.50 207.50 1.52127 -212.50 167.50 212.50 1.49764 -212.50 167.50 217.50 1.10734 -212.50 167.50 222.50 0.631522 -212.50 167.50 227.50 0.296413 -212.50 167.50 232.50 0.116219 -212.50 167.50 237.50 0.0400303 -212.50 167.50 242.50 0.0377468 -212.50 167.50 247.50 0.0978281 -212.50 167.50 252.50 0.167806 -212.50 167.50 257.50 0.207394 -212.50 167.50 262.50 0.241365 -212.50 167.50 267.50 0.373755 -212.50 167.50 272.50 0.52242 -212.50 167.50 277.50 0.637041 -212.50 167.50 282.50 0.737724 -212.50 167.50 287.50 0.925448 -212.50 167.50 292.50 1.23581 -212.50 167.50 297.50 1.52127 -212.50 167.50 302.50 1.49764 -212.50 167.50 307.50 1.10734 -212.50 167.50 312.50 0.631522 -212.50 167.50 317.50 0.296413 -212.50 167.50 322.50 0.11622 -212.50 167.50 327.50 0.0400304 -212.50 167.50 332.50 0.0377467 -212.50 167.50 337.50 0.0978278 -212.50 167.50 342.50 0.167805 -212.50 167.50 347.50 0.207394 -212.50 167.50 352.50 0.241365 -212.50 167.50 357.50 0.373755 -212.50 172.50 2.50 0.23184 -212.50 172.50 7.50 0.259509 -212.50 172.50 12.50 0.304766 -212.50 172.50 17.50 0.461096 -212.50 172.50 22.50 0.815159 -212.50 172.50 27.50 1.20655 -212.50 172.50 32.50 1.30522 -212.50 172.50 37.50 1.00249 -212.50 172.50 42.50 0.562383 -212.50 172.50 47.50 0.252107 -212.50 172.50 52.50 0.100429 -212.50 172.50 57.50 0.044108 -212.50 172.50 62.50 0.0498097 -212.50 172.50 67.50 0.0951407 -212.50 172.50 72.50 0.140385 -212.50 172.50 77.50 0.150042 -212.50 172.50 82.50 0.163188 -212.50 172.50 87.50 0.195649 -212.50 172.50 92.50 0.23184 -212.50 172.50 97.50 0.25951 -212.50 172.50 102.50 0.304766 -212.50 172.50 107.50 0.461097 -212.50 172.50 112.50 0.815159 -212.50 172.50 117.50 1.20655 -212.50 172.50 122.50 1.30522 -212.50 172.50 127.50 1.00249 -212.50 172.50 132.50 0.562383 -212.50 172.50 137.50 0.252107 -212.50 172.50 142.50 0.100429 -212.50 172.50 147.50 0.044108 -212.50 172.50 152.50 0.0498096 -212.50 172.50 157.50 0.0951406 -212.50 172.50 162.50 0.140385 -212.50 172.50 167.50 0.150042 -212.50 172.50 172.50 0.163188 -212.50 172.50 177.50 0.195649 -212.50 172.50 182.50 0.23184 -212.50 172.50 187.50 0.25951 -212.50 172.50 192.50 0.304766 -212.50 172.50 197.50 0.461097 -212.50 172.50 202.50 0.815159 -212.50 172.50 207.50 1.20655 -212.50 172.50 212.50 1.30522 -212.50 172.50 217.50 1.00249 -212.50 172.50 222.50 0.562383 -212.50 172.50 227.50 0.252107 -212.50 172.50 232.50 0.100429 -212.50 172.50 237.50 0.0441079 -212.50 172.50 242.50 0.0498096 -212.50 172.50 247.50 0.0951407 -212.50 172.50 252.50 0.140385 -212.50 172.50 257.50 0.150042 -212.50 172.50 262.50 0.163188 -212.50 172.50 267.50 0.195649 -212.50 172.50 272.50 0.231841 -212.50 172.50 277.50 0.259509 -212.50 172.50 282.50 0.304766 -212.50 172.50 287.50 0.461096 -212.50 172.50 292.50 0.815159 -212.50 172.50 297.50 1.20655 -212.50 172.50 302.50 1.30522 -212.50 172.50 307.50 1.00249 -212.50 172.50 312.50 0.562384 -212.50 172.50 317.50 0.252107 -212.50 172.50 322.50 0.100429 -212.50 172.50 327.50 0.044108 -212.50 172.50 332.50 0.0498095 -212.50 172.50 337.50 0.0951406 -212.50 172.50 342.50 0.140385 -212.50 172.50 347.50 0.150042 -212.50 172.50 352.50 0.163188 -212.50 172.50 357.50 0.195649 -212.50 177.50 2.50 0.100122 -212.50 177.50 7.50 0.0945824 -212.50 177.50 12.50 0.114763 -212.50 177.50 17.50 0.226978 -212.50 177.50 22.50 0.502349 -212.50 177.50 27.50 0.859326 -212.50 177.50 32.50 1.00586 -212.50 177.50 37.50 0.781004 -212.50 177.50 42.50 0.416235 -212.50 177.50 47.50 0.173853 -212.50 177.50 52.50 0.0718401 -212.50 177.50 57.50 0.041079 -212.50 177.50 62.50 0.0465598 -212.50 177.50 67.50 0.0748373 -212.50 177.50 72.50 0.0979377 -212.50 177.50 77.50 0.105452 -212.50 177.50 82.50 0.106938 -212.50 177.50 87.50 0.106232 -212.50 177.50 92.50 0.100122 -212.50 177.50 97.50 0.0945824 -212.50 177.50 102.50 0.114763 -212.50 177.50 107.50 0.226979 -212.50 177.50 112.50 0.502349 -212.50 177.50 117.50 0.859325 -212.50 177.50 122.50 1.00586 -212.50 177.50 127.50 0.781004 -212.50 177.50 132.50 0.416235 -212.50 177.50 137.50 0.173853 -212.50 177.50 142.50 0.0718401 -212.50 177.50 147.50 0.041079 -212.50 177.50 152.50 0.0465597 -212.50 177.50 157.50 0.0748372 -212.50 177.50 162.50 0.0979378 -212.50 177.50 167.50 0.105452 -212.50 177.50 172.50 0.106938 -212.50 177.50 177.50 0.106232 -212.50 177.50 182.50 0.100122 -212.50 177.50 187.50 0.0945824 -212.50 177.50 192.50 0.114763 -212.50 177.50 197.50 0.226978 -212.50 177.50 202.50 0.502349 -212.50 177.50 207.50 0.859326 -212.50 177.50 212.50 1.00586 -212.50 177.50 217.50 0.781005 -212.50 177.50 222.50 0.416235 -212.50 177.50 227.50 0.173854 -212.50 177.50 232.50 0.07184 -212.50 177.50 237.50 0.041079 -212.50 177.50 242.50 0.0465597 -212.50 177.50 247.50 0.0748373 -212.50 177.50 252.50 0.0979379 -212.50 177.50 257.50 0.105452 -212.50 177.50 262.50 0.106938 -212.50 177.50 267.50 0.106232 -212.50 177.50 272.50 0.100122 -212.50 177.50 277.50 0.0945824 -212.50 177.50 282.50 0.114763 -212.50 177.50 287.50 0.226978 -212.50 177.50 292.50 0.502349 -212.50 177.50 297.50 0.859326 -212.50 177.50 302.50 1.00586 -212.50 177.50 307.50 0.781005 -212.50 177.50 312.50 0.416235 -212.50 177.50 317.50 0.173854 -212.50 177.50 322.50 0.0718402 -212.50 177.50 327.50 0.041079 -212.50 177.50 332.50 0.0465597 -212.50 177.50 337.50 0.0748372 -212.50 177.50 342.50 0.0979378 -212.50 177.50 347.50 0.105452 -212.50 177.50 352.50 0.106938 -212.50 177.50 357.50 0.106232 -217.50 2.50 2.50 0.0760385 -217.50 2.50 7.50 0.083846 -217.50 2.50 12.50 0.084539 -217.50 2.50 17.50 0.083846 -217.50 2.50 22.50 0.0760385 -217.50 2.50 27.50 0.0601603 -217.50 2.50 32.50 0.0485219 -217.50 2.50 37.50 0.0624686 -217.50 2.50 42.50 0.149977 -217.50 2.50 47.50 0.393272 -217.50 2.50 52.50 0.773178 -217.50 2.50 57.50 0.980476 -217.50 2.50 62.50 0.773178 -217.50 2.50 67.50 0.393272 -217.50 2.50 72.50 0.149977 -217.50 2.50 77.50 0.0624686 -217.50 2.50 82.50 0.0485219 -217.50 2.50 87.50 0.0601603 -217.50 2.50 92.50 0.0760386 -217.50 2.50 97.50 0.083846 -217.50 2.50 102.50 0.084539 -217.50 2.50 107.50 0.083846 -217.50 2.50 112.50 0.0760385 -217.50 2.50 117.50 0.0601603 -217.50 2.50 122.50 0.0485219 -217.50 2.50 127.50 0.0624686 -217.50 2.50 132.50 0.149977 -217.50 2.50 137.50 0.393272 -217.50 2.50 142.50 0.773178 -217.50 2.50 147.50 0.980476 -217.50 2.50 152.50 0.773179 -217.50 2.50 157.50 0.393272 -217.50 2.50 162.50 0.149977 -217.50 2.50 167.50 0.0624686 -217.50 2.50 172.50 0.0485219 -217.50 2.50 177.50 0.0601603 -217.50 2.50 182.50 0.0760386 -217.50 2.50 187.50 0.083846 -217.50 2.50 192.50 0.084539 -217.50 2.50 197.50 0.083846 -217.50 2.50 202.50 0.0760385 -217.50 2.50 207.50 0.0601603 -217.50 2.50 212.50 0.0485219 -217.50 2.50 217.50 0.0624685 -217.50 2.50 222.50 0.149977 -217.50 2.50 227.50 0.393272 -217.50 2.50 232.50 0.773179 -217.50 2.50 237.50 0.980476 -217.50 2.50 242.50 0.773178 -217.50 2.50 247.50 0.393272 -217.50 2.50 252.50 0.149977 -217.50 2.50 257.50 0.0624685 -217.50 2.50 262.50 0.0485219 -217.50 2.50 267.50 0.0601603 -217.50 2.50 272.50 0.0760385 -217.50 2.50 277.50 0.083846 -217.50 2.50 282.50 0.084539 -217.50 2.50 287.50 0.083846 -217.50 2.50 292.50 0.0760385 -217.50 2.50 297.50 0.0601603 -217.50 2.50 302.50 0.048522 -217.50 2.50 307.50 0.0624685 -217.50 2.50 312.50 0.149977 -217.50 2.50 317.50 0.393272 -217.50 2.50 322.50 0.773178 -217.50 2.50 327.50 0.980476 -217.50 2.50 332.50 0.773179 -217.50 2.50 337.50 0.393273 -217.50 2.50 342.50 0.149977 -217.50 2.50 347.50 0.0624687 -217.50 2.50 352.50 0.0485219 -217.50 2.50 357.50 0.0601602 -217.50 7.50 2.50 0.116068 -217.50 7.50 7.50 0.114934 -217.50 7.50 12.50 0.110487 -217.50 7.50 17.50 0.103349 -217.50 7.50 22.50 0.0829734 -217.50 7.50 27.50 0.0545772 -217.50 7.50 32.50 0.0411975 -217.50 7.50 37.50 0.0734261 -217.50 7.50 42.50 0.182192 -217.50 7.50 47.50 0.423002 -217.50 7.50 52.50 0.764685 -217.50 7.50 57.50 0.961442 -217.50 7.50 62.50 0.816791 -217.50 7.50 67.50 0.493237 -217.50 7.50 72.50 0.242646 -217.50 7.50 77.50 0.130088 -217.50 7.50 82.50 0.104517 -217.50 7.50 87.50 0.109437 -217.50 7.50 92.50 0.116068 -217.50 7.50 97.50 0.114934 -217.50 7.50 102.50 0.110487 -217.50 7.50 107.50 0.103349 -217.50 7.50 112.50 0.0829734 -217.50 7.50 117.50 0.0545772 -217.50 7.50 122.50 0.0411975 -217.50 7.50 127.50 0.0734261 -217.50 7.50 132.50 0.182192 -217.50 7.50 137.50 0.423002 -217.50 7.50 142.50 0.764685 -217.50 7.50 147.50 0.961442 -217.50 7.50 152.50 0.816791 -217.50 7.50 157.50 0.493237 -217.50 7.50 162.50 0.242646 -217.50 7.50 167.50 0.130088 -217.50 7.50 172.50 0.104517 -217.50 7.50 177.50 0.109437 -217.50 7.50 182.50 0.116068 -217.50 7.50 187.50 0.114934 -217.50 7.50 192.50 0.110487 -217.50 7.50 197.50 0.103349 -217.50 7.50 202.50 0.0829734 -217.50 7.50 207.50 0.0545772 -217.50 7.50 212.50 0.0411976 -217.50 7.50 217.50 0.0734261 -217.50 7.50 222.50 0.182192 -217.50 7.50 227.50 0.423001 -217.50 7.50 232.50 0.764687 -217.50 7.50 237.50 0.961441 -217.50 7.50 242.50 0.816791 -217.50 7.50 247.50 0.493236 -217.50 7.50 252.50 0.242645 -217.50 7.50 257.50 0.130088 -217.50 7.50 262.50 0.104517 -217.50 7.50 267.50 0.109437 -217.50 7.50 272.50 0.116068 -217.50 7.50 277.50 0.114934 -217.50 7.50 282.50 0.110487 -217.50 7.50 287.50 0.103349 -217.50 7.50 292.50 0.0829734 -217.50 7.50 297.50 0.0545772 -217.50 7.50 302.50 0.0411975 -217.50 7.50 307.50 0.0734261 -217.50 7.50 312.50 0.182192 -217.50 7.50 317.50 0.423001 -217.50 7.50 322.50 0.764685 -217.50 7.50 327.50 0.961441 -217.50 7.50 332.50 0.816792 -217.50 7.50 337.50 0.493237 -217.50 7.50 342.50 0.242646 -217.50 7.50 347.50 0.130088 -217.50 7.50 352.50 0.104517 -217.50 7.50 357.50 0.109437 -217.50 12.50 2.50 0.241647 -217.50 12.50 7.50 0.200088 -217.50 12.50 12.50 0.170538 -217.50 12.50 17.50 0.14212 -217.50 12.50 22.50 0.104071 -217.50 12.50 27.50 0.0602945 -217.50 12.50 32.50 0.0491384 -217.50 12.50 37.50 0.101965 -217.50 12.50 42.50 0.253802 -217.50 12.50 47.50 0.554749 -217.50 12.50 52.50 0.967709 -217.50 12.50 57.50 1.23544 -217.50 12.50 62.50 1.14639 -217.50 12.50 67.50 0.820781 -217.50 12.50 72.50 0.520798 -217.50 12.50 77.50 0.35721 -217.50 12.50 82.50 0.303618 -217.50 12.50 87.50 0.277079 -217.50 12.50 92.50 0.241647 -217.50 12.50 97.50 0.200088 -217.50 12.50 102.50 0.170538 -217.50 12.50 107.50 0.14212 -217.50 12.50 112.50 0.104071 -217.50 12.50 117.50 0.0602945 -217.50 12.50 122.50 0.0491384 -217.50 12.50 127.50 0.101965 -217.50 12.50 132.50 0.253802 -217.50 12.50 137.50 0.554749 -217.50 12.50 142.50 0.967709 -217.50 12.50 147.50 1.23544 -217.50 12.50 152.50 1.14639 -217.50 12.50 157.50 0.820782 -217.50 12.50 162.50 0.520798 -217.50 12.50 167.50 0.35721 -217.50 12.50 172.50 0.303618 -217.50 12.50 177.50 0.277079 -217.50 12.50 182.50 0.241647 -217.50 12.50 187.50 0.200088 -217.50 12.50 192.50 0.170538 -217.50 12.50 197.50 0.142121 -217.50 12.50 202.50 0.104071 -217.50 12.50 207.50 0.0602945 -217.50 12.50 212.50 0.0491384 -217.50 12.50 217.50 0.101965 -217.50 12.50 222.50 0.253802 -217.50 12.50 227.50 0.554749 -217.50 12.50 232.50 0.96771 -217.50 12.50 237.50 1.23544 -217.50 12.50 242.50 1.14639 -217.50 12.50 247.50 0.820781 -217.50 12.50 252.50 0.520798 -217.50 12.50 257.50 0.357209 -217.50 12.50 262.50 0.303618 -217.50 12.50 267.50 0.277078 -217.50 12.50 272.50 0.241647 -217.50 12.50 277.50 0.200088 -217.50 12.50 282.50 0.170538 -217.50 12.50 287.50 0.142121 -217.50 12.50 292.50 0.104071 -217.50 12.50 297.50 0.0602945 -217.50 12.50 302.50 0.0491384 -217.50 12.50 307.50 0.101965 -217.50 12.50 312.50 0.253802 -217.50 12.50 317.50 0.554748 -217.50 12.50 322.50 0.967708 -217.50 12.50 327.50 1.23544 -217.50 12.50 332.50 1.14639 -217.50 12.50 337.50 0.820782 -217.50 12.50 342.50 0.520798 -217.50 12.50 347.50 0.35721 -217.50 12.50 352.50 0.303618 -217.50 12.50 357.50 0.277079 -217.50 17.50 2.50 0.507759 -217.50 17.50 7.50 0.341373 -217.50 17.50 12.50 0.225285 -217.50 17.50 17.50 0.175894 -217.50 17.50 22.50 0.111707 -217.50 17.50 27.50 0.0538103 -217.50 17.50 32.50 0.0422284 -217.50 17.50 37.50 0.111885 -217.50 17.50 42.50 0.281274 -217.50 17.50 47.50 0.59262 -217.50 17.50 52.50 1.03144 -217.50 17.50 57.50 1.4099 -217.50 17.50 62.50 1.48102 -217.50 17.50 67.50 1.284 -217.50 17.50 72.50 1.05127 -217.50 17.50 77.50 0.895645 -217.50 17.50 82.50 0.768401 -217.50 17.50 87.50 0.658212 -217.50 17.50 92.50 0.507759 -217.50 17.50 97.50 0.341373 -217.50 17.50 102.50 0.225285 -217.50 17.50 107.50 0.175894 -217.50 17.50 112.50 0.111707 -217.50 17.50 117.50 0.0538103 -217.50 17.50 122.50 0.0422284 -217.50 17.50 127.50 0.111885 -217.50 17.50 132.50 0.281274 -217.50 17.50 137.50 0.59262 -217.50 17.50 142.50 1.03144 -217.50 17.50 147.50 1.4099 -217.50 17.50 152.50 1.48102 -217.50 17.50 157.50 1.284 -217.50 17.50 162.50 1.05127 -217.50 17.50 167.50 0.895645 -217.50 17.50 172.50 0.768401 -217.50 17.50 177.50 0.658212 -217.50 17.50 182.50 0.507759 -217.50 17.50 187.50 0.341373 -217.50 17.50 192.50 0.225286 -217.50 17.50 197.50 0.175894 -217.50 17.50 202.50 0.111707 -217.50 17.50 207.50 0.0538103 -217.50 17.50 212.50 0.0422284 -217.50 17.50 217.50 0.111885 -217.50 17.50 222.50 0.281274 -217.50 17.50 227.50 0.59262 -217.50 17.50 232.50 1.03144 -217.50 17.50 237.50 1.4099 -217.50 17.50 242.50 1.48102 -217.50 17.50 247.50 1.284 -217.50 17.50 252.50 1.05127 -217.50 17.50 257.50 0.895645 -217.50 17.50 262.50 0.768401 -217.50 17.50 267.50 0.658212 -217.50 17.50 272.50 0.507759 -217.50 17.50 277.50 0.341373 -217.50 17.50 282.50 0.225286 -217.50 17.50 287.50 0.175895 -217.50 17.50 292.50 0.111707 -217.50 17.50 297.50 0.0538103 -217.50 17.50 302.50 0.0422283 -217.50 17.50 307.50 0.111885 -217.50 17.50 312.50 0.281274 -217.50 17.50 317.50 0.59262 -217.50 17.50 322.50 1.03144 -217.50 17.50 327.50 1.4099 -217.50 17.50 332.50 1.48102 -217.50 17.50 337.50 1.284 -217.50 17.50 342.50 1.05127 -217.50 17.50 347.50 0.895646 -217.50 17.50 352.50 0.768402 -217.50 17.50 357.50 0.658212 -217.50 22.50 2.50 1.03943 -217.50 22.50 7.50 0.593795 -217.50 22.50 12.50 0.307097 -217.50 22.50 17.50 0.165007 -217.50 22.50 22.50 0.078344 -217.50 22.50 27.50 0.0323286 -217.50 22.50 32.50 0.0276614 -217.50 22.50 37.50 0.081689 -217.50 22.50 42.50 0.234621 -217.50 22.50 47.50 0.521483 -217.50 22.50 52.50 0.932671 -217.50 22.50 57.50 1.38431 -217.50 22.50 62.50 1.69363 -217.50 22.50 67.50 1.80113 -217.50 22.50 72.50 1.80989 -217.50 22.50 77.50 1.7923 -217.50 22.50 82.50 1.68953 -217.50 22.50 87.50 1.4243 -217.50 22.50 92.50 1.03943 -217.50 22.50 97.50 0.593795 -217.50 22.50 102.50 0.307097 -217.50 22.50 107.50 0.165007 -217.50 22.50 112.50 0.078344 -217.50 22.50 117.50 0.0323285 -217.50 22.50 122.50 0.0276614 -217.50 22.50 127.50 0.0816891 -217.50 22.50 132.50 0.23462 -217.50 22.50 137.50 0.521483 -217.50 22.50 142.50 0.932672 -217.50 22.50 147.50 1.38431 -217.50 22.50 152.50 1.69363 -217.50 22.50 157.50 1.80113 -217.50 22.50 162.50 1.80989 -217.50 22.50 167.50 1.7923 -217.50 22.50 172.50 1.68953 -217.50 22.50 177.50 1.42429 -217.50 22.50 182.50 1.03943 -217.50 22.50 187.50 0.593795 -217.50 22.50 192.50 0.307097 -217.50 22.50 197.50 0.165007 -217.50 22.50 202.50 0.078344 -217.50 22.50 207.50 0.0323286 -217.50 22.50 212.50 0.0276614 -217.50 22.50 217.50 0.081689 -217.50 22.50 222.50 0.234621 -217.50 22.50 227.50 0.521483 -217.50 22.50 232.50 0.932672 -217.50 22.50 237.50 1.38431 -217.50 22.50 242.50 1.69363 -217.50 22.50 247.50 1.80113 -217.50 22.50 252.50 1.80989 -217.50 22.50 257.50 1.7923 -217.50 22.50 262.50 1.68953 -217.50 22.50 267.50 1.42429 -217.50 22.50 272.50 1.03943 -217.50 22.50 277.50 0.593795 -217.50 22.50 282.50 0.307097 -217.50 22.50 287.50 0.165008 -217.50 22.50 292.50 0.078344 -217.50 22.50 297.50 0.0323286 -217.50 22.50 302.50 0.0276614 -217.50 22.50 307.50 0.081689 -217.50 22.50 312.50 0.23462 -217.50 22.50 317.50 0.521483 -217.50 22.50 322.50 0.93267 -217.50 22.50 327.50 1.38431 -217.50 22.50 332.50 1.69363 -217.50 22.50 337.50 1.80113 -217.50 22.50 342.50 1.80989 -217.50 22.50 347.50 1.7923 -217.50 22.50 352.50 1.68953 -217.50 22.50 357.50 1.4243 -217.50 27.50 2.50 1.8542 -217.50 27.50 7.50 0.974831 -217.50 27.50 12.50 0.436383 -217.50 27.50 17.50 0.152508 -217.50 27.50 22.50 0.0458891 -217.50 27.50 27.50 0.0144218 -217.50 27.50 32.50 0.0107685 -217.50 27.50 37.50 0.045769 -217.50 27.50 42.50 0.151314 -217.50 27.50 47.50 0.350196 -217.50 27.50 52.50 0.704691 -217.50 27.50 57.50 1.22789 -217.50 27.50 62.50 1.79043 -217.50 27.50 67.50 2.18769 -217.50 27.50 72.50 2.5378 -217.50 27.50 77.50 2.91069 -217.50 27.50 82.50 2.99848 -217.50 27.50 87.50 2.6129 -217.50 27.50 92.50 1.8542 -217.50 27.50 97.50 0.974831 -217.50 27.50 102.50 0.436383 -217.50 27.50 107.50 0.152508 -217.50 27.50 112.50 0.0458891 -217.50 27.50 117.50 0.0144217 -217.50 27.50 122.50 0.0107685 -217.50 27.50 127.50 0.045769 -217.50 27.50 132.50 0.151314 -217.50 27.50 137.50 0.350196 -217.50 27.50 142.50 0.704691 -217.50 27.50 147.50 1.22789 -217.50 27.50 152.50 1.79043 -217.50 27.50 157.50 2.18769 -217.50 27.50 162.50 2.5378 -217.50 27.50 167.50 2.91069 -217.50 27.50 172.50 2.99848 -217.50 27.50 177.50 2.6129 -217.50 27.50 182.50 1.8542 -217.50 27.50 187.50 0.97483 -217.50 27.50 192.50 0.436382 -217.50 27.50 197.50 0.152507 -217.50 27.50 202.50 0.0458891 -217.50 27.50 207.50 0.0144218 -217.50 27.50 212.50 0.0107685 -217.50 27.50 217.50 0.045769 -217.50 27.50 222.50 0.151314 -217.50 27.50 227.50 0.350196 -217.50 27.50 232.50 0.704692 -217.50 27.50 237.50 1.22789 -217.50 27.50 242.50 1.79043 -217.50 27.50 247.50 2.18769 -217.50 27.50 252.50 2.5378 -217.50 27.50 257.50 2.91069 -217.50 27.50 262.50 2.99848 -217.50 27.50 267.50 2.6129 -217.50 27.50 272.50 1.8542 -217.50 27.50 277.50 0.974831 -217.50 27.50 282.50 0.436383 -217.50 27.50 287.50 0.152508 -217.50 27.50 292.50 0.0458891 -217.50 27.50 297.50 0.0144218 -217.50 27.50 302.50 0.0107685 -217.50 27.50 307.50 0.0457689 -217.50 27.50 312.50 0.151314 -217.50 27.50 317.50 0.350196 -217.50 27.50 322.50 0.70469 -217.50 27.50 327.50 1.22789 -217.50 27.50 332.50 1.79043 -217.50 27.50 337.50 2.18769 -217.50 27.50 342.50 2.5378 -217.50 27.50 347.50 2.91069 -217.50 27.50 352.50 2.99848 -217.50 27.50 357.50 2.6129 -217.50 32.50 2.50 2.76305 -217.50 32.50 7.50 1.45577 -217.50 32.50 12.50 0.638209 -217.50 32.50 17.50 0.19514 -217.50 32.50 22.50 0.0525425 -217.50 32.50 27.50 0.0118876 -217.50 32.50 32.50 0.00625913 -217.50 32.50 37.50 0.0208731 -217.50 32.50 42.50 0.0654953 -217.50 32.50 47.50 0.185082 -217.50 32.50 52.50 0.455684 -217.50 32.50 57.50 0.948523 -217.50 32.50 62.50 1.58333 -217.50 32.50 67.50 2.24627 -217.50 32.50 72.50 2.95869 -217.50 32.50 77.50 3.89519 -217.50 32.50 82.50 4.32711 -217.50 32.50 87.50 3.93268 -217.50 32.50 92.50 2.76305 -217.50 32.50 97.50 1.45577 -217.50 32.50 102.50 0.638209 -217.50 32.50 107.50 0.19514 -217.50 32.50 112.50 0.0525426 -217.50 32.50 117.50 0.0118876 -217.50 32.50 122.50 0.00625913 -217.50 32.50 127.50 0.0208731 -217.50 32.50 132.50 0.0654954 -217.50 32.50 137.50 0.185082 -217.50 32.50 142.50 0.455684 -217.50 32.50 147.50 0.948523 -217.50 32.50 152.50 1.58333 -217.50 32.50 157.50 2.24627 -217.50 32.50 162.50 2.95869 -217.50 32.50 167.50 3.89519 -217.50 32.50 172.50 4.32711 -217.50 32.50 177.50 3.93268 -217.50 32.50 182.50 2.76305 -217.50 32.50 187.50 1.45577 -217.50 32.50 192.50 0.638208 -217.50 32.50 197.50 0.19514 -217.50 32.50 202.50 0.0525425 -217.50 32.50 207.50 0.0118876 -217.50 32.50 212.50 0.00625913 -217.50 32.50 217.50 0.0208731 -217.50 32.50 222.50 0.0654952 -217.50 32.50 227.50 0.185082 -217.50 32.50 232.50 0.455684 -217.50 32.50 237.50 0.948523 -217.50 32.50 242.50 1.58333 -217.50 32.50 247.50 2.24627 -217.50 32.50 252.50 2.95869 -217.50 32.50 257.50 3.89519 -217.50 32.50 262.50 4.32711 -217.50 32.50 267.50 3.93268 -217.50 32.50 272.50 2.76305 -217.50 32.50 277.50 1.45577 -217.50 32.50 282.50 0.638209 -217.50 32.50 287.50 0.19514 -217.50 32.50 292.50 0.0525425 -217.50 32.50 297.50 0.0118876 -217.50 32.50 302.50 0.00625912 -217.50 32.50 307.50 0.0208731 -217.50 32.50 312.50 0.0654952 -217.50 32.50 317.50 0.185082 -217.50 32.50 322.50 0.455683 -217.50 32.50 327.50 0.948522 -217.50 32.50 332.50 1.58333 -217.50 32.50 337.50 2.24627 -217.50 32.50 342.50 2.95869 -217.50 32.50 347.50 3.89518 -217.50 32.50 352.50 4.32711 -217.50 32.50 357.50 3.93269 -217.50 37.50 2.50 3.51916 -217.50 37.50 7.50 2.02117 -217.50 37.50 12.50 0.951521 -217.50 37.50 17.50 0.352451 -217.50 37.50 22.50 0.114024 -217.50 37.50 27.50 0.0315765 -217.50 37.50 32.50 0.00937263 -217.50 37.50 37.50 0.00694582 -217.50 37.50 42.50 0.0222083 -217.50 37.50 47.50 0.0745023 -217.50 37.50 52.50 0.242966 -217.50 37.50 57.50 0.6343 -217.50 37.50 62.50 1.23878 -217.50 37.50 67.50 2.02369 -217.50 37.50 72.50 3.0749 -217.50 37.50 77.50 4.35209 -217.50 37.50 82.50 5.20278 -217.50 37.50 87.50 4.87331 -217.50 37.50 92.50 3.51915 -217.50 37.50 97.50 2.02117 -217.50 37.50 102.50 0.951521 -217.50 37.50 107.50 0.352451 -217.50 37.50 112.50 0.114024 -217.50 37.50 117.50 0.0315765 -217.50 37.50 122.50 0.00937262 -217.50 37.50 127.50 0.00694582 -217.50 37.50 132.50 0.0222084 -217.50 37.50 137.50 0.0745024 -217.50 37.50 142.50 0.242966 -217.50 37.50 147.50 0.6343 -217.50 37.50 152.50 1.23878 -217.50 37.50 157.50 2.02369 -217.50 37.50 162.50 3.07489 -217.50 37.50 167.50 4.35209 -217.50 37.50 172.50 5.20278 -217.50 37.50 177.50 4.87331 -217.50 37.50 182.50 3.51915 -217.50 37.50 187.50 2.02117 -217.50 37.50 192.50 0.951521 -217.50 37.50 197.50 0.35245 -217.50 37.50 202.50 0.114024 -217.50 37.50 207.50 0.0315766 -217.50 37.50 212.50 0.00937263 -217.50 37.50 217.50 0.00694581 -217.50 37.50 222.50 0.0222083 -217.50 37.50 227.50 0.0745024 -217.50 37.50 232.50 0.242967 -217.50 37.50 237.50 0.634301 -217.50 37.50 242.50 1.23878 -217.50 37.50 247.50 2.02369 -217.50 37.50 252.50 3.0749 -217.50 37.50 257.50 4.35209 -217.50 37.50 262.50 5.20278 -217.50 37.50 267.50 4.87331 -217.50 37.50 272.50 3.51916 -217.50 37.50 277.50 2.02117 -217.50 37.50 282.50 0.951522 -217.50 37.50 287.50 0.352451 -217.50 37.50 292.50 0.114024 -217.50 37.50 297.50 0.0315766 -217.50 37.50 302.50 0.00937263 -217.50 37.50 307.50 0.00694581 -217.50 37.50 312.50 0.0222083 -217.50 37.50 317.50 0.0745023 -217.50 37.50 322.50 0.242966 -217.50 37.50 327.50 0.634299 -217.50 37.50 332.50 1.23878 -217.50 37.50 337.50 2.02368 -217.50 37.50 342.50 3.07489 -217.50 37.50 347.50 4.35209 -217.50 37.50 352.50 5.20278 -217.50 37.50 357.50 4.87332 -217.50 42.50 2.50 3.96991 -217.50 42.50 7.50 2.62754 -217.50 42.50 12.50 1.43719 -217.50 42.50 17.50 0.663799 -217.50 42.50 22.50 0.263238 -217.50 42.50 27.50 0.0982463 -217.50 42.50 32.50 0.0331133 -217.50 42.50 37.50 0.00846931 -217.50 42.50 42.50 0.00640792 -217.50 42.50 47.50 0.0228352 -217.50 42.50 52.50 0.105513 -217.50 42.50 57.50 0.354944 -217.50 42.50 62.50 0.858801 -217.50 42.50 67.50 1.62546 -217.50 42.50 72.50 2.74658 -217.50 42.50 77.50 4.1979 -217.50 42.50 82.50 5.29393 -217.50 42.50 87.50 5.1399 -217.50 42.50 92.50 3.96991 -217.50 42.50 97.50 2.62754 -217.50 42.50 102.50 1.43719 -217.50 42.50 107.50 0.663799 -217.50 42.50 112.50 0.263238 -217.50 42.50 117.50 0.0982462 -217.50 42.50 122.50 0.0331133 -217.50 42.50 127.50 0.00846931 -217.50 42.50 132.50 0.00640793 -217.50 42.50 137.50 0.0228352 -217.50 42.50 142.50 0.105513 -217.50 42.50 147.50 0.354944 -217.50 42.50 152.50 0.8588 -217.50 42.50 157.50 1.62546 -217.50 42.50 162.50 2.74658 -217.50 42.50 167.50 4.1979 -217.50 42.50 172.50 5.29393 -217.50 42.50 177.50 5.13991 -217.50 42.50 182.50 3.96992 -217.50 42.50 187.50 2.62754 -217.50 42.50 192.50 1.43719 -217.50 42.50 197.50 0.663799 -217.50 42.50 202.50 0.263238 -217.50 42.50 207.50 0.0982463 -217.50 42.50 212.50 0.0331133 -217.50 42.50 217.50 0.00846931 -217.50 42.50 222.50 0.00640791 -217.50 42.50 227.50 0.0228352 -217.50 42.50 232.50 0.105513 -217.50 42.50 237.50 0.354945 -217.50 42.50 242.50 0.858802 -217.50 42.50 247.50 1.62547 -217.50 42.50 252.50 2.74658 -217.50 42.50 257.50 4.1979 -217.50 42.50 262.50 5.29393 -217.50 42.50 267.50 5.1399 -217.50 42.50 272.50 3.96992 -217.50 42.50 277.50 2.62754 -217.50 42.50 282.50 1.43719 -217.50 42.50 287.50 0.6638 -217.50 42.50 292.50 0.263238 -217.50 42.50 297.50 0.0982464 -217.50 42.50 302.50 0.0331133 -217.50 42.50 307.50 0.00846931 -217.50 42.50 312.50 0.0064079 -217.50 42.50 317.50 0.0228351 -217.50 42.50 322.50 0.105512 -217.50 42.50 327.50 0.354943 -217.50 42.50 332.50 0.858799 -217.50 42.50 337.50 1.62546 -217.50 42.50 342.50 2.74658 -217.50 42.50 347.50 4.1979 -217.50 42.50 352.50 5.29393 -217.50 42.50 357.50 5.13991 -217.50 47.50 2.50 4.10837 -217.50 47.50 7.50 3.2602 -217.50 47.50 12.50 2.1423 -217.50 47.50 17.50 1.20034 -217.50 47.50 22.50 0.60811 -217.50 47.50 27.50 0.302599 -217.50 47.50 32.50 0.122729 -217.50 47.50 37.50 0.0399896 -217.50 47.50 42.50 0.007697 -217.50 47.50 47.50 0.0101159 -217.50 47.50 52.50 0.0426947 -217.50 47.50 57.50 0.174476 -217.50 47.50 62.50 0.495622 -217.50 47.50 67.50 1.05436 -217.50 47.50 72.50 2.01064 -217.50 47.50 77.50 3.36304 -217.50 47.50 82.50 4.56805 -217.50 47.50 87.50 4.74319 -217.50 47.50 92.50 4.10837 -217.50 47.50 97.50 3.2602 -217.50 47.50 102.50 2.1423 -217.50 47.50 107.50 1.20034 -217.50 47.50 112.50 0.60811 -217.50 47.50 117.50 0.302599 -217.50 47.50 122.50 0.122729 -217.50 47.50 127.50 0.0399895 -217.50 47.50 132.50 0.007697 -217.50 47.50 137.50 0.0101159 -217.50 47.50 142.50 0.0426947 -217.50 47.50 147.50 0.174476 -217.50 47.50 152.50 0.495621 -217.50 47.50 157.50 1.05436 -217.50 47.50 162.50 2.01064 -217.50 47.50 167.50 3.36304 -217.50 47.50 172.50 4.56805 -217.50 47.50 177.50 4.74319 -217.50 47.50 182.50 4.10837 -217.50 47.50 187.50 3.2602 -217.50 47.50 192.50 2.1423 -217.50 47.50 197.50 1.20034 -217.50 47.50 202.50 0.60811 -217.50 47.50 207.50 0.302599 -217.50 47.50 212.50 0.122729 -217.50 47.50 217.50 0.0399896 -217.50 47.50 222.50 0.00769701 -217.50 47.50 227.50 0.0101159 -217.50 47.50 232.50 0.0426949 -217.50 47.50 237.50 0.174477 -217.50 47.50 242.50 0.495622 -217.50 47.50 247.50 1.05437 -217.50 47.50 252.50 2.01064 -217.50 47.50 257.50 3.36304 -217.50 47.50 262.50 4.56806 -217.50 47.50 267.50 4.74319 -217.50 47.50 272.50 4.10837 -217.50 47.50 277.50 3.2602 -217.50 47.50 282.50 2.1423 -217.50 47.50 287.50 1.20034 -217.50 47.50 292.50 0.60811 -217.50 47.50 297.50 0.302599 -217.50 47.50 302.50 0.12273 -217.50 47.50 307.50 0.0399896 -217.50 47.50 312.50 0.00769701 -217.50 47.50 317.50 0.0101159 -217.50 47.50 322.50 0.0426946 -217.50 47.50 327.50 0.174476 -217.50 47.50 332.50 0.49562 -217.50 47.50 337.50 1.05436 -217.50 47.50 342.50 2.01063 -217.50 47.50 347.50 3.36303 -217.50 47.50 352.50 4.56805 -217.50 47.50 357.50 4.74319 -217.50 52.50 2.50 3.96991 -217.50 52.50 7.50 3.87971 -217.50 52.50 12.50 3.09998 -217.50 52.50 17.50 2.10616 -217.50 52.50 22.50 1.34208 -217.50 52.50 27.50 0.804092 -217.50 52.50 32.50 0.383344 -217.50 52.50 37.50 0.129828 -217.50 52.50 42.50 0.0282612 -217.50 52.50 47.50 0.00708743 -217.50 52.50 52.50 0.018945 -217.50 52.50 57.50 0.0729034 -217.50 52.50 62.50 0.203738 -217.50 52.50 67.50 0.537619 -217.50 52.50 72.50 1.16653 -217.50 52.50 77.50 2.16953 -217.50 52.50 82.50 3.2544 -217.50 52.50 87.50 3.81273 -217.50 52.50 92.50 3.96991 -217.50 52.50 97.50 3.87971 -217.50 52.50 102.50 3.09998 -217.50 52.50 107.50 2.10616 -217.50 52.50 112.50 1.34208 -217.50 52.50 117.50 0.804091 -217.50 52.50 122.50 0.383344 -217.50 52.50 127.50 0.129828 -217.50 52.50 132.50 0.0282612 -217.50 52.50 137.50 0.00708743 -217.50 52.50 142.50 0.0189451 -217.50 52.50 147.50 0.0729034 -217.50 52.50 152.50 0.203738 -217.50 52.50 157.50 0.537618 -217.50 52.50 162.50 1.16653 -217.50 52.50 167.50 2.16953 -217.50 52.50 172.50 3.2544 -217.50 52.50 177.50 3.81273 -217.50 52.50 182.50 3.96992 -217.50 52.50 187.50 3.87971 -217.50 52.50 192.50 3.09998 -217.50 52.50 197.50 2.10616 -217.50 52.50 202.50 1.34208 -217.50 52.50 207.50 0.804091 -217.50 52.50 212.50 0.383344 -217.50 52.50 217.50 0.129828 -217.50 52.50 222.50 0.0282613 -217.50 52.50 227.50 0.00708743 -217.50 52.50 232.50 0.0189451 -217.50 52.50 237.50 0.0729036 -217.50 52.50 242.50 0.203738 -217.50 52.50 247.50 0.537619 -217.50 52.50 252.50 1.16654 -217.50 52.50 257.50 2.16953 -217.50 52.50 262.50 3.2544 -217.50 52.50 267.50 3.81273 -217.50 52.50 272.50 3.96992 -217.50 52.50 277.50 3.87971 -217.50 52.50 282.50 3.09998 -217.50 52.50 287.50 2.10616 -217.50 52.50 292.50 1.34208 -217.50 52.50 297.50 0.804092 -217.50 52.50 302.50 0.383344 -217.50 52.50 307.50 0.129828 -217.50 52.50 312.50 0.0282612 -217.50 52.50 317.50 0.00708743 -217.50 52.50 322.50 0.018945 -217.50 52.50 327.50 0.0729032 -217.50 52.50 332.50 0.203738 -217.50 52.50 337.50 0.537617 -217.50 52.50 342.50 1.16653 -217.50 52.50 347.50 2.16952 -217.50 52.50 352.50 3.2544 -217.50 52.50 357.50 3.81272 -217.50 57.50 2.50 3.51916 -217.50 57.50 7.50 4.29612 -217.50 57.50 12.50 4.11789 -217.50 57.50 17.50 3.39737 -217.50 57.50 22.50 2.54213 -217.50 57.50 27.50 1.65246 -217.50 57.50 32.50 0.839495 -217.50 57.50 37.50 0.316239 -217.50 57.50 42.50 0.0895864 -217.50 57.50 47.50 0.0261523 -217.50 57.50 52.50 0.0108007 -217.50 57.50 57.50 0.0239199 -217.50 57.50 62.50 0.0726641 -217.50 57.50 67.50 0.205573 -217.50 57.50 72.50 0.5042 -217.50 57.50 77.50 1.05389 -217.50 57.50 82.50 1.82692 -217.50 57.50 87.50 2.6262 -217.50 57.50 92.50 3.51916 -217.50 57.50 97.50 4.29612 -217.50 57.50 102.50 4.11789 -217.50 57.50 107.50 3.39737 -217.50 57.50 112.50 2.54213 -217.50 57.50 117.50 1.65246 -217.50 57.50 122.50 0.839494 -217.50 57.50 127.50 0.316239 -217.50 57.50 132.50 0.0895863 -217.50 57.50 137.50 0.0261523 -217.50 57.50 142.50 0.0108007 -217.50 57.50 147.50 0.0239199 -217.50 57.50 152.50 0.0726641 -217.50 57.50 157.50 0.205573 -217.50 57.50 162.50 0.5042 -217.50 57.50 167.50 1.05389 -217.50 57.50 172.50 1.82692 -217.50 57.50 177.50 2.6262 -217.50 57.50 182.50 3.51916 -217.50 57.50 187.50 4.29611 -217.50 57.50 192.50 4.11789 -217.50 57.50 197.50 3.39737 -217.50 57.50 202.50 2.54212 -217.50 57.50 207.50 1.65246 -217.50 57.50 212.50 0.839495 -217.50 57.50 217.50 0.316239 -217.50 57.50 222.50 0.0895865 -217.50 57.50 227.50 0.0261523 -217.50 57.50 232.50 0.0108007 -217.50 57.50 237.50 0.0239199 -217.50 57.50 242.50 0.0726642 -217.50 57.50 247.50 0.205573 -217.50 57.50 252.50 0.504201 -217.50 57.50 257.50 1.0539 -217.50 57.50 262.50 1.82692 -217.50 57.50 267.50 2.6262 -217.50 57.50 272.50 3.51916 -217.50 57.50 277.50 4.29612 -217.50 57.50 282.50 4.11789 -217.50 57.50 287.50 3.39737 -217.50 57.50 292.50 2.54212 -217.50 57.50 297.50 1.65246 -217.50 57.50 302.50 0.839495 -217.50 57.50 307.50 0.316239 -217.50 57.50 312.50 0.0895866 -217.50 57.50 317.50 0.0261523 -217.50 57.50 322.50 0.0108007 -217.50 57.50 327.50 0.0239198 -217.50 57.50 332.50 0.0726638 -217.50 57.50 337.50 0.205572 -217.50 57.50 342.50 0.504199 -217.50 57.50 347.50 1.05389 -217.50 57.50 352.50 1.82692 -217.50 57.50 357.50 2.6262 -217.50 62.50 2.50 2.76305 -217.50 62.50 7.50 4.16844 -217.50 62.50 12.50 4.70581 -217.50 62.50 17.50 4.56617 -217.50 62.50 22.50 3.88523 -217.50 62.50 27.50 2.71893 -217.50 62.50 32.50 1.52692 -217.50 62.50 37.50 0.699767 -217.50 62.50 42.50 0.259503 -217.50 62.50 47.50 0.0876721 -217.50 62.50 52.50 0.0254595 -217.50 62.50 57.50 0.0127465 -217.50 62.50 62.50 0.0214389 -217.50 62.50 67.50 0.0566323 -217.50 62.50 72.50 0.15771 -217.50 62.50 77.50 0.392814 -217.50 62.50 82.50 0.821724 -217.50 62.50 87.50 1.58308 -217.50 62.50 92.50 2.76305 -217.50 62.50 97.50 4.16844 -217.50 62.50 102.50 4.70581 -217.50 62.50 107.50 4.56616 -217.50 62.50 112.50 3.88523 -217.50 62.50 117.50 2.71893 -217.50 62.50 122.50 1.52692 -217.50 62.50 127.50 0.699766 -217.50 62.50 132.50 0.259503 -217.50 62.50 137.50 0.0876721 -217.50 62.50 142.50 0.0254595 -217.50 62.50 147.50 0.0127465 -217.50 62.50 152.50 0.0214389 -217.50 62.50 157.50 0.0566322 -217.50 62.50 162.50 0.157709 -217.50 62.50 167.50 0.392814 -217.50 62.50 172.50 0.821724 -217.50 62.50 177.50 1.58308 -217.50 62.50 182.50 2.76305 -217.50 62.50 187.50 4.16844 -217.50 62.50 192.50 4.70581 -217.50 62.50 197.50 4.56616 -217.50 62.50 202.50 3.88523 -217.50 62.50 207.50 2.71893 -217.50 62.50 212.50 1.52692 -217.50 62.50 217.50 0.699767 -217.50 62.50 222.50 0.259503 -217.50 62.50 227.50 0.0876721 -217.50 62.50 232.50 0.0254594 -217.50 62.50 237.50 0.0127465 -217.50 62.50 242.50 0.0214389 -217.50 62.50 247.50 0.0566324 -217.50 62.50 252.50 0.15771 -217.50 62.50 257.50 0.392814 -217.50 62.50 262.50 0.821725 -217.50 62.50 267.50 1.58308 -217.50 62.50 272.50 2.76305 -217.50 62.50 277.50 4.16844 -217.50 62.50 282.50 4.70581 -217.50 62.50 287.50 4.56617 -217.50 62.50 292.50 3.88523 -217.50 62.50 297.50 2.71893 -217.50 62.50 302.50 1.52693 -217.50 62.50 307.50 0.699767 -217.50 62.50 312.50 0.259503 -217.50 62.50 317.50 0.0876723 -217.50 62.50 322.50 0.0254595 -217.50 62.50 327.50 0.0127465 -217.50 62.50 332.50 0.0214388 -217.50 62.50 337.50 0.056632 -217.50 62.50 342.50 0.157709 -217.50 62.50 347.50 0.392813 -217.50 62.50 352.50 0.821723 -217.50 62.50 357.50 1.58308 -217.50 67.50 2.50 1.8542 -217.50 67.50 7.50 3.37804 -217.50 67.50 12.50 4.44461 -217.50 67.50 17.50 4.86452 -217.50 67.50 22.50 4.6673 -217.50 67.50 27.50 3.72494 -217.50 67.50 32.50 2.34757 -217.50 67.50 37.50 1.22292 -217.50 67.50 42.50 0.587849 -217.50 67.50 47.50 0.247323 -217.50 67.50 52.50 0.074197 -217.50 67.50 57.50 0.0164849 -217.50 67.50 62.50 0.00824426 -217.50 67.50 67.50 0.0122644 -217.50 67.50 72.50 0.041049 -217.50 67.50 77.50 0.121949 -217.50 67.50 82.50 0.339316 -217.50 67.50 87.50 0.852008 -217.50 67.50 92.50 1.8542 -217.50 67.50 97.50 3.37804 -217.50 67.50 102.50 4.44461 -217.50 67.50 107.50 4.86452 -217.50 67.50 112.50 4.6673 -217.50 67.50 117.50 3.72494 -217.50 67.50 122.50 2.34757 -217.50 67.50 127.50 1.22292 -217.50 67.50 132.50 0.587849 -217.50 67.50 137.50 0.247323 -217.50 67.50 142.50 0.074197 -217.50 67.50 147.50 0.0164849 -217.50 67.50 152.50 0.00824426 -217.50 67.50 157.50 0.0122644 -217.50 67.50 162.50 0.041049 -217.50 67.50 167.50 0.121949 -217.50 67.50 172.50 0.339316 -217.50 67.50 177.50 0.852007 -217.50 67.50 182.50 1.8542 -217.50 67.50 187.50 3.37804 -217.50 67.50 192.50 4.44461 -217.50 67.50 197.50 4.86452 -217.50 67.50 202.50 4.6673 -217.50 67.50 207.50 3.72494 -217.50 67.50 212.50 2.34757 -217.50 67.50 217.50 1.22292 -217.50 67.50 222.50 0.587849 -217.50 67.50 227.50 0.247323 -217.50 67.50 232.50 0.0741967 -217.50 67.50 237.50 0.0164849 -217.50 67.50 242.50 0.00824426 -217.50 67.50 247.50 0.0122644 -217.50 67.50 252.50 0.0410491 -217.50 67.50 257.50 0.12195 -217.50 67.50 262.50 0.339317 -217.50 67.50 267.50 0.852009 -217.50 67.50 272.50 1.8542 -217.50 67.50 277.50 3.37804 -217.50 67.50 282.50 4.44461 -217.50 67.50 287.50 4.86452 -217.50 67.50 292.50 4.6673 -217.50 67.50 297.50 3.72494 -217.50 67.50 302.50 2.34757 -217.50 67.50 307.50 1.22292 -217.50 67.50 312.50 0.587849 -217.50 67.50 317.50 0.247324 -217.50 67.50 322.50 0.0741971 -217.50 67.50 327.50 0.0164849 -217.50 67.50 332.50 0.00824424 -217.50 67.50 337.50 0.0122644 -217.50 67.50 342.50 0.0410489 -217.50 67.50 347.50 0.121949 -217.50 67.50 352.50 0.339316 -217.50 67.50 357.50 0.852006 -217.50 72.50 2.50 1.03943 -217.50 72.50 7.50 2.24898 -217.50 72.50 12.50 3.40279 -217.50 72.50 17.50 4.18347 -217.50 72.50 22.50 4.44627 -217.50 72.50 27.50 3.82885 -217.50 72.50 32.50 2.69939 -217.50 72.50 37.50 1.59131 -217.50 72.50 42.50 0.852291 -217.50 72.50 47.50 0.386244 -217.50 72.50 52.50 0.135272 -217.50 72.50 57.50 0.0350045 -217.50 72.50 62.50 0.0103048 -217.50 72.50 67.50 0.00686939 -217.50 72.50 72.50 0.0118953 -217.50 72.50 77.50 0.0382099 -217.50 72.50 82.50 0.130629 -217.50 72.50 87.50 0.403743 -217.50 72.50 92.50 1.03943 -217.50 72.50 97.50 2.24898 -217.50 72.50 102.50 3.40278 -217.50 72.50 107.50 4.18347 -217.50 72.50 112.50 4.44627 -217.50 72.50 117.50 3.82885 -217.50 72.50 122.50 2.69939 -217.50 72.50 127.50 1.59131 -217.50 72.50 132.50 0.852291 -217.50 72.50 137.50 0.386244 -217.50 72.50 142.50 0.135272 -217.50 72.50 147.50 0.0350046 -217.50 72.50 152.50 0.0103048 -217.50 72.50 157.50 0.00686939 -217.50 72.50 162.50 0.0118953 -217.50 72.50 167.50 0.0382099 -217.50 72.50 172.50 0.130629 -217.50 72.50 177.50 0.403743 -217.50 72.50 182.50 1.03943 -217.50 72.50 187.50 2.24898 -217.50 72.50 192.50 3.40279 -217.50 72.50 197.50 4.18348 -217.50 72.50 202.50 4.44627 -217.50 72.50 207.50 3.82885 -217.50 72.50 212.50 2.69939 -217.50 72.50 217.50 1.59131 -217.50 72.50 222.50 0.852291 -217.50 72.50 227.50 0.386244 -217.50 72.50 232.50 0.135271 -217.50 72.50 237.50 0.0350044 -217.50 72.50 242.50 0.0103048 -217.50 72.50 247.50 0.0068694 -217.50 72.50 252.50 0.0118953 -217.50 72.50 257.50 0.03821 -217.50 72.50 262.50 0.130629 -217.50 72.50 267.50 0.403744 -217.50 72.50 272.50 1.03943 -217.50 72.50 277.50 2.24898 -217.50 72.50 282.50 3.40279 -217.50 72.50 287.50 4.18347 -217.50 72.50 292.50 4.44627 -217.50 72.50 297.50 3.82885 -217.50 72.50 302.50 2.6994 -217.50 72.50 307.50 1.59131 -217.50 72.50 312.50 0.852292 -217.50 72.50 317.50 0.386244 -217.50 72.50 322.50 0.135272 -217.50 72.50 327.50 0.0350047 -217.50 72.50 332.50 0.0103048 -217.50 72.50 337.50 0.00686939 -217.50 72.50 342.50 0.0118952 -217.50 72.50 347.50 0.0382098 -217.50 72.50 352.50 0.130629 -217.50 72.50 357.50 0.403742 -217.50 77.50 2.50 0.507759 -217.50 77.50 7.50 1.28335 -217.50 77.50 12.50 2.17851 -217.50 77.50 17.50 2.883 -217.50 77.50 22.50 3.09226 -217.50 77.50 27.50 2.90877 -217.50 77.50 32.50 2.3256 -217.50 77.50 37.50 1.52481 -217.50 77.50 42.50 0.776982 -217.50 77.50 47.50 0.36372 -217.50 77.50 52.50 0.145 -217.50 77.50 57.50 0.0581525 -217.50 77.50 62.50 0.0159019 -217.50 77.50 67.50 0.00596034 -217.50 77.50 72.50 0.010016 -217.50 77.50 77.50 0.0197533 -217.50 77.50 82.50 0.049848 -217.50 77.50 87.50 0.171068 -217.50 77.50 92.50 0.50776 -217.50 77.50 97.50 1.28335 -217.50 77.50 102.50 2.17851 -217.50 77.50 107.50 2.883 -217.50 77.50 112.50 3.09226 -217.50 77.50 117.50 2.90877 -217.50 77.50 122.50 2.3256 -217.50 77.50 127.50 1.52481 -217.50 77.50 132.50 0.776981 -217.50 77.50 137.50 0.36372 -217.50 77.50 142.50 0.145 -217.50 77.50 147.50 0.0581526 -217.50 77.50 152.50 0.015902 -217.50 77.50 157.50 0.00596034 -217.50 77.50 162.50 0.010016 -217.50 77.50 167.50 0.0197533 -217.50 77.50 172.50 0.0498479 -217.50 77.50 177.50 0.171068 -217.50 77.50 182.50 0.50776 -217.50 77.50 187.50 1.28335 -217.50 77.50 192.50 2.17851 -217.50 77.50 197.50 2.883 -217.50 77.50 202.50 3.09226 -217.50 77.50 207.50 2.90877 -217.50 77.50 212.50 2.3256 -217.50 77.50 217.50 1.52481 -217.50 77.50 222.50 0.776982 -217.50 77.50 227.50 0.363721 -217.50 77.50 232.50 0.145 -217.50 77.50 237.50 0.0581524 -217.50 77.50 242.50 0.0159019 -217.50 77.50 247.50 0.00596033 -217.50 77.50 252.50 0.010016 -217.50 77.50 257.50 0.0197533 -217.50 77.50 262.50 0.049848 -217.50 77.50 267.50 0.171069 -217.50 77.50 272.50 0.50776 -217.50 77.50 277.50 1.28335 -217.50 77.50 282.50 2.17851 -217.50 77.50 287.50 2.883 -217.50 77.50 292.50 3.09226 -217.50 77.50 297.50 2.90877 -217.50 77.50 302.50 2.3256 -217.50 77.50 307.50 1.52481 -217.50 77.50 312.50 0.776982 -217.50 77.50 317.50 0.363721 -217.50 77.50 322.50 0.145 -217.50 77.50 327.50 0.0581528 -217.50 77.50 332.50 0.015902 -217.50 77.50 337.50 0.00596035 -217.50 77.50 342.50 0.010016 -217.50 77.50 347.50 0.0197532 -217.50 77.50 352.50 0.0498478 -217.50 77.50 357.50 0.171068 -217.50 82.50 2.50 0.241647 -217.50 82.50 7.50 0.674684 -217.50 82.50 12.50 1.18198 -217.50 82.50 17.50 1.43344 -217.50 82.50 22.50 1.66071 -217.50 82.50 27.50 1.74237 -217.50 82.50 32.50 1.55445 -217.50 82.50 37.50 1.06492 -217.50 82.50 42.50 0.591248 -217.50 82.50 47.50 0.297285 -217.50 82.50 52.50 0.146365 -217.50 82.50 57.50 0.0806686 -217.50 82.50 62.50 0.0426498 -217.50 82.50 67.50 0.0237957 -217.50 82.50 72.50 0.0320291 -217.50 82.50 77.50 0.0349928 -217.50 82.50 82.50 0.0394666 -217.50 82.50 87.50 0.07628 -217.50 82.50 92.50 0.241647 -217.50 82.50 97.50 0.674684 -217.50 82.50 102.50 1.18198 -217.50 82.50 107.50 1.43343 -217.50 82.50 112.50 1.66071 -217.50 82.50 117.50 1.74237 -217.50 82.50 122.50 1.55445 -217.50 82.50 127.50 1.06492 -217.50 82.50 132.50 0.591248 -217.50 82.50 137.50 0.297285 -217.50 82.50 142.50 0.146365 -217.50 82.50 147.50 0.0806686 -217.50 82.50 152.50 0.0426498 -217.50 82.50 157.50 0.0237957 -217.50 82.50 162.50 0.032029 -217.50 82.50 167.50 0.0349927 -217.50 82.50 172.50 0.0394667 -217.50 82.50 177.50 0.07628 -217.50 82.50 182.50 0.241648 -217.50 82.50 187.50 0.674685 -217.50 82.50 192.50 1.18198 -217.50 82.50 197.50 1.43344 -217.50 82.50 202.50 1.66071 -217.50 82.50 207.50 1.74237 -217.50 82.50 212.50 1.55445 -217.50 82.50 217.50 1.06492 -217.50 82.50 222.50 0.591248 -217.50 82.50 227.50 0.297285 -217.50 82.50 232.50 0.146364 -217.50 82.50 237.50 0.0806685 -217.50 82.50 242.50 0.0426497 -217.50 82.50 247.50 0.0237957 -217.50 82.50 252.50 0.032029 -217.50 82.50 257.50 0.0349927 -217.50 82.50 262.50 0.0394666 -217.50 82.50 267.50 0.07628 -217.50 82.50 272.50 0.241647 -217.50 82.50 277.50 0.674684 -217.50 82.50 282.50 1.18198 -217.50 82.50 287.50 1.43344 -217.50 82.50 292.50 1.66071 -217.50 82.50 297.50 1.74237 -217.50 82.50 302.50 1.55445 -217.50 82.50 307.50 1.06492 -217.50 82.50 312.50 0.591248 -217.50 82.50 317.50 0.297285 -217.50 82.50 322.50 0.146365 -217.50 82.50 327.50 0.0806687 -217.50 82.50 332.50 0.0426498 -217.50 82.50 337.50 0.0237957 -217.50 82.50 342.50 0.032029 -217.50 82.50 347.50 0.0349927 -217.50 82.50 352.50 0.0394666 -217.50 82.50 357.50 0.0762797 -217.50 87.50 2.50 0.116068 -217.50 87.50 7.50 0.311672 -217.50 87.50 12.50 0.516306 -217.50 87.50 17.50 0.660438 -217.50 87.50 22.50 0.738606 -217.50 87.50 27.50 0.848224 -217.50 87.50 32.50 0.857913 -217.50 87.50 37.50 0.674144 -217.50 87.50 42.50 0.440733 -217.50 87.50 47.50 0.270632 -217.50 87.50 52.50 0.169271 -217.50 87.50 57.50 0.117472 -217.50 87.50 62.50 0.0921632 -217.50 87.50 67.50 0.0748524 -217.50 87.50 72.50 0.0805734 -217.50 87.50 77.50 0.0995677 -217.50 87.50 82.50 0.0890686 -217.50 87.50 87.50 0.0604835 -217.50 87.50 92.50 0.116068 -217.50 87.50 97.50 0.311672 -217.50 87.50 102.50 0.516306 -217.50 87.50 107.50 0.660439 -217.50 87.50 112.50 0.738606 -217.50 87.50 117.50 0.848225 -217.50 87.50 122.50 0.857913 -217.50 87.50 127.50 0.674144 -217.50 87.50 132.50 0.440733 -217.50 87.50 137.50 0.270632 -217.50 87.50 142.50 0.169271 -217.50 87.50 147.50 0.117472 -217.50 87.50 152.50 0.0921632 -217.50 87.50 157.50 0.0748523 -217.50 87.50 162.50 0.0805733 -217.50 87.50 167.50 0.0995676 -217.50 87.50 172.50 0.0890685 -217.50 87.50 177.50 0.0604835 -217.50 87.50 182.50 0.116068 -217.50 87.50 187.50 0.311672 -217.50 87.50 192.50 0.516307 -217.50 87.50 197.50 0.660439 -217.50 87.50 202.50 0.738606 -217.50 87.50 207.50 0.848224 -217.50 87.50 212.50 0.857913 -217.50 87.50 217.50 0.674144 -217.50 87.50 222.50 0.440733 -217.50 87.50 227.50 0.270632 -217.50 87.50 232.50 0.169271 -217.50 87.50 237.50 0.117472 -217.50 87.50 242.50 0.0921632 -217.50 87.50 247.50 0.0748523 -217.50 87.50 252.50 0.0805732 -217.50 87.50 257.50 0.0995676 -217.50 87.50 262.50 0.0890685 -217.50 87.50 267.50 0.0604834 -217.50 87.50 272.50 0.116068 -217.50 87.50 277.50 0.311672 -217.50 87.50 282.50 0.516306 -217.50 87.50 287.50 0.660438 -217.50 87.50 292.50 0.738606 -217.50 87.50 297.50 0.848224 -217.50 87.50 302.50 0.857913 -217.50 87.50 307.50 0.674144 -217.50 87.50 312.50 0.440733 -217.50 87.50 317.50 0.270632 -217.50 87.50 322.50 0.169272 -217.50 87.50 327.50 0.117472 -217.50 87.50 332.50 0.0921632 -217.50 87.50 337.50 0.0748524 -217.50 87.50 342.50 0.0805732 -217.50 87.50 347.50 0.0995676 -217.50 87.50 352.50 0.0890687 -217.50 87.50 357.50 0.0604834 -217.50 92.50 2.50 0.0760385 -217.50 92.50 7.50 0.118631 -217.50 92.50 12.50 0.202441 -217.50 92.50 17.50 0.252721 -217.50 92.50 22.50 0.273722 -217.50 92.50 27.50 0.315204 -217.50 92.50 32.50 0.348473 -217.50 92.50 37.50 0.328531 -217.50 92.50 42.50 0.288878 -217.50 92.50 47.50 0.272741 -217.50 92.50 52.50 0.288878 -217.50 92.50 57.50 0.328532 -217.50 92.50 62.50 0.348473 -217.50 92.50 67.50 0.315204 -217.50 92.50 72.50 0.273722 -217.50 92.50 77.50 0.252721 -217.50 92.50 82.50 0.202441 -217.50 92.50 87.50 0.118631 -217.50 92.50 92.50 0.0760386 -217.50 92.50 97.50 0.118631 -217.50 92.50 102.50 0.202441 -217.50 92.50 107.50 0.252721 -217.50 92.50 112.50 0.273722 -217.50 92.50 117.50 0.315204 -217.50 92.50 122.50 0.348473 -217.50 92.50 127.50 0.328531 -217.50 92.50 132.50 0.288878 -217.50 92.50 137.50 0.272741 -217.50 92.50 142.50 0.288878 -217.50 92.50 147.50 0.328532 -217.50 92.50 152.50 0.348473 -217.50 92.50 157.50 0.315204 -217.50 92.50 162.50 0.273722 -217.50 92.50 167.50 0.252721 -217.50 92.50 172.50 0.202441 -217.50 92.50 177.50 0.118632 -217.50 92.50 182.50 0.0760386 -217.50 92.50 187.50 0.118631 -217.50 92.50 192.50 0.202441 -217.50 92.50 197.50 0.252721 -217.50 92.50 202.50 0.273721 -217.50 92.50 207.50 0.315204 -217.50 92.50 212.50 0.348473 -217.50 92.50 217.50 0.328531 -217.50 92.50 222.50 0.288878 -217.50 92.50 227.50 0.272741 -217.50 92.50 232.50 0.288878 -217.50 92.50 237.50 0.328531 -217.50 92.50 242.50 0.348473 -217.50 92.50 247.50 0.315204 -217.50 92.50 252.50 0.273721 -217.50 92.50 257.50 0.252721 -217.50 92.50 262.50 0.202441 -217.50 92.50 267.50 0.118631 -217.50 92.50 272.50 0.0760385 -217.50 92.50 277.50 0.118631 -217.50 92.50 282.50 0.202441 -217.50 92.50 287.50 0.252721 -217.50 92.50 292.50 0.273721 -217.50 92.50 297.50 0.315204 -217.50 92.50 302.50 0.348473 -217.50 92.50 307.50 0.328531 -217.50 92.50 312.50 0.288878 -217.50 92.50 317.50 0.272741 -217.50 92.50 322.50 0.288878 -217.50 92.50 327.50 0.328532 -217.50 92.50 332.50 0.348473 -217.50 92.50 337.50 0.315204 -217.50 92.50 342.50 0.273722 -217.50 92.50 347.50 0.252721 -217.50 92.50 352.50 0.202442 -217.50 92.50 357.50 0.118632 -217.50 97.50 2.50 0.116068 -217.50 97.50 7.50 0.0604834 -217.50 97.50 12.50 0.0890686 -217.50 97.50 17.50 0.0995676 -217.50 97.50 22.50 0.0805733 -217.50 97.50 27.50 0.0748524 -217.50 97.50 32.50 0.0921633 -217.50 97.50 37.50 0.117472 -217.50 97.50 42.50 0.169271 -217.50 97.50 47.50 0.270632 -217.50 97.50 52.50 0.440733 -217.50 97.50 57.50 0.674145 -217.50 97.50 62.50 0.857912 -217.50 97.50 67.50 0.848224 -217.50 97.50 72.50 0.738606 -217.50 97.50 77.50 0.660438 -217.50 97.50 82.50 0.516306 -217.50 97.50 87.50 0.311672 -217.50 97.50 92.50 0.116068 -217.50 97.50 97.50 0.0604835 -217.50 97.50 102.50 0.0890686 -217.50 97.50 107.50 0.0995677 -217.50 97.50 112.50 0.0805733 -217.50 97.50 117.50 0.0748524 -217.50 97.50 122.50 0.0921634 -217.50 97.50 127.50 0.117472 -217.50 97.50 132.50 0.169272 -217.50 97.50 137.50 0.270632 -217.50 97.50 142.50 0.440733 -217.50 97.50 147.50 0.674143 -217.50 97.50 152.50 0.857912 -217.50 97.50 157.50 0.848224 -217.50 97.50 162.50 0.738606 -217.50 97.50 167.50 0.660438 -217.50 97.50 172.50 0.516306 -217.50 97.50 177.50 0.311672 -217.50 97.50 182.50 0.116068 -217.50 97.50 187.50 0.0604835 -217.50 97.50 192.50 0.0890687 -217.50 97.50 197.50 0.0995677 -217.50 97.50 202.50 0.0805733 -217.50 97.50 207.50 0.0748524 -217.50 97.50 212.50 0.0921632 -217.50 97.50 217.50 0.117472 -217.50 97.50 222.50 0.169271 -217.50 97.50 227.50 0.270632 -217.50 97.50 232.50 0.440733 -217.50 97.50 237.50 0.674144 -217.50 97.50 242.50 0.857913 -217.50 97.50 247.50 0.848224 -217.50 97.50 252.50 0.738606 -217.50 97.50 257.50 0.660438 -217.50 97.50 262.50 0.516306 -217.50 97.50 267.50 0.311672 -217.50 97.50 272.50 0.116068 -217.50 97.50 277.50 0.0604834 -217.50 97.50 282.50 0.0890686 -217.50 97.50 287.50 0.0995676 -217.50 97.50 292.50 0.0805732 -217.50 97.50 297.50 0.0748523 -217.50 97.50 302.50 0.0921631 -217.50 97.50 307.50 0.117472 -217.50 97.50 312.50 0.169271 -217.50 97.50 317.50 0.270632 -217.50 97.50 322.50 0.440732 -217.50 97.50 327.50 0.674143 -217.50 97.50 332.50 0.857912 -217.50 97.50 337.50 0.848225 -217.50 97.50 342.50 0.738606 -217.50 97.50 347.50 0.660439 -217.50 97.50 352.50 0.516307 -217.50 97.50 357.50 0.311673 -217.50 102.50 2.50 0.241647 -217.50 102.50 7.50 0.07628 -217.50 102.50 12.50 0.0394666 -217.50 102.50 17.50 0.0349927 -217.50 102.50 22.50 0.0320291 -217.50 102.50 27.50 0.0237957 -217.50 102.50 32.50 0.0426498 -217.50 102.50 37.50 0.0806687 -217.50 102.50 42.50 0.146365 -217.50 102.50 47.50 0.297285 -217.50 102.50 52.50 0.591249 -217.50 102.50 57.50 1.06492 -217.50 102.50 62.50 1.55445 -217.50 102.50 67.50 1.74237 -217.50 102.50 72.50 1.66071 -217.50 102.50 77.50 1.43343 -217.50 102.50 82.50 1.18198 -217.50 102.50 87.50 0.674684 -217.50 102.50 92.50 0.241647 -217.50 102.50 97.50 0.0762799 -217.50 102.50 102.50 0.0394667 -217.50 102.50 107.50 0.0349928 -217.50 102.50 112.50 0.0320291 -217.50 102.50 117.50 0.0237957 -217.50 102.50 122.50 0.0426498 -217.50 102.50 127.50 0.0806687 -217.50 102.50 132.50 0.146365 -217.50 102.50 137.50 0.297285 -217.50 102.50 142.50 0.591248 -217.50 102.50 147.50 1.06492 -217.50 102.50 152.50 1.55445 -217.50 102.50 157.50 1.74237 -217.50 102.50 162.50 1.66071 -217.50 102.50 167.50 1.43343 -217.50 102.50 172.50 1.18198 -217.50 102.50 177.50 0.674685 -217.50 102.50 182.50 0.241647 -217.50 102.50 187.50 0.07628 -217.50 102.50 192.50 0.0394667 -217.50 102.50 197.50 0.0349928 -217.50 102.50 202.50 0.0320291 -217.50 102.50 207.50 0.0237957 -217.50 102.50 212.50 0.0426498 -217.50 102.50 217.50 0.0806686 -217.50 102.50 222.50 0.146364 -217.50 102.50 227.50 0.297285 -217.50 102.50 232.50 0.591249 -217.50 102.50 237.50 1.06492 -217.50 102.50 242.50 1.55445 -217.50 102.50 247.50 1.74237 -217.50 102.50 252.50 1.66071 -217.50 102.50 257.50 1.43343 -217.50 102.50 262.50 1.18198 -217.50 102.50 267.50 0.674683 -217.50 102.50 272.50 0.241647 -217.50 102.50 277.50 0.0762799 -217.50 102.50 282.50 0.0394666 -217.50 102.50 287.50 0.0349927 -217.50 102.50 292.50 0.0320291 -217.50 102.50 297.50 0.0237957 -217.50 102.50 302.50 0.0426497 -217.50 102.50 307.50 0.0806685 -217.50 102.50 312.50 0.146364 -217.50 102.50 317.50 0.297285 -217.50 102.50 322.50 0.591247 -217.50 102.50 327.50 1.06492 -217.50 102.50 332.50 1.55445 -217.50 102.50 337.50 1.74237 -217.50 102.50 342.50 1.66071 -217.50 102.50 347.50 1.43344 -217.50 102.50 352.50 1.18198 -217.50 102.50 357.50 0.674685 -217.50 107.50 2.50 0.507759 -217.50 107.50 7.50 0.171068 -217.50 107.50 12.50 0.0498479 -217.50 107.50 17.50 0.0197533 -217.50 107.50 22.50 0.010016 -217.50 107.50 27.50 0.00596036 -217.50 107.50 32.50 0.015902 -217.50 107.50 37.50 0.0581527 -217.50 107.50 42.50 0.145 -217.50 107.50 47.50 0.363721 -217.50 107.50 52.50 0.776982 -217.50 107.50 57.50 1.52481 -217.50 107.50 62.50 2.3256 -217.50 107.50 67.50 2.90877 -217.50 107.50 72.50 3.09226 -217.50 107.50 77.50 2.883 -217.50 107.50 82.50 2.17851 -217.50 107.50 87.50 1.28335 -217.50 107.50 92.50 0.507759 -217.50 107.50 97.50 0.171068 -217.50 107.50 102.50 0.0498479 -217.50 107.50 107.50 0.0197533 -217.50 107.50 112.50 0.010016 -217.50 107.50 117.50 0.00596036 -217.50 107.50 122.50 0.015902 -217.50 107.50 127.50 0.0581528 -217.50 107.50 132.50 0.145 -217.50 107.50 137.50 0.363721 -217.50 107.50 142.50 0.776981 -217.50 107.50 147.50 1.52481 -217.50 107.50 152.50 2.3256 -217.50 107.50 157.50 2.90877 -217.50 107.50 162.50 3.09226 -217.50 107.50 167.50 2.883 -217.50 107.50 172.50 2.17851 -217.50 107.50 177.50 1.28335 -217.50 107.50 182.50 0.507759 -217.50 107.50 187.50 0.171068 -217.50 107.50 192.50 0.0498479 -217.50 107.50 197.50 0.0197533 -217.50 107.50 202.50 0.010016 -217.50 107.50 207.50 0.00596035 -217.50 107.50 212.50 0.015902 -217.50 107.50 217.50 0.0581526 -217.50 107.50 222.50 0.145 -217.50 107.50 227.50 0.36372 -217.50 107.50 232.50 0.776983 -217.50 107.50 237.50 1.52481 -217.50 107.50 242.50 2.3256 -217.50 107.50 247.50 2.90877 -217.50 107.50 252.50 3.09226 -217.50 107.50 257.50 2.883 -217.50 107.50 262.50 2.17851 -217.50 107.50 267.50 1.28335 -217.50 107.50 272.50 0.507759 -217.50 107.50 277.50 0.171068 -217.50 107.50 282.50 0.0498479 -217.50 107.50 287.50 0.0197533 -217.50 107.50 292.50 0.010016 -217.50 107.50 297.50 0.00596033 -217.50 107.50 302.50 0.0159019 -217.50 107.50 307.50 0.0581525 -217.50 107.50 312.50 0.145 -217.50 107.50 317.50 0.36372 -217.50 107.50 322.50 0.77698 -217.50 107.50 327.50 1.52481 -217.50 107.50 332.50 2.3256 -217.50 107.50 337.50 2.90877 -217.50 107.50 342.50 3.09226 -217.50 107.50 347.50 2.883 -217.50 107.50 352.50 2.17851 -217.50 107.50 357.50 1.28335 -217.50 112.50 2.50 1.03943 -217.50 112.50 7.50 0.403743 -217.50 112.50 12.50 0.130629 -217.50 112.50 17.50 0.0382099 -217.50 112.50 22.50 0.0118953 -217.50 112.50 27.50 0.0068694 -217.50 112.50 32.50 0.0103048 -217.50 112.50 37.50 0.0350047 -217.50 112.50 42.50 0.135272 -217.50 112.50 47.50 0.386245 -217.50 112.50 52.50 0.852292 -217.50 112.50 57.50 1.59131 -217.50 112.50 62.50 2.6994 -217.50 112.50 67.50 3.82885 -217.50 112.50 72.50 4.44627 -217.50 112.50 77.50 4.18347 -217.50 112.50 82.50 3.40278 -217.50 112.50 87.50 2.24898 -217.50 112.50 92.50 1.03943 -217.50 112.50 97.50 0.403743 -217.50 112.50 102.50 0.130629 -217.50 112.50 107.50 0.0382099 -217.50 112.50 112.50 0.0118953 -217.50 112.50 117.50 0.00686939 -217.50 112.50 122.50 0.0103048 -217.50 112.50 127.50 0.0350047 -217.50 112.50 132.50 0.135272 -217.50 112.50 137.50 0.386245 -217.50 112.50 142.50 0.852291 -217.50 112.50 147.50 1.59131 -217.50 112.50 152.50 2.69939 -217.50 112.50 157.50 3.82885 -217.50 112.50 162.50 4.44627 -217.50 112.50 167.50 4.18347 -217.50 112.50 172.50 3.40279 -217.50 112.50 177.50 2.24898 -217.50 112.50 182.50 1.03943 -217.50 112.50 187.50 0.403743 -217.50 112.50 192.50 0.130629 -217.50 112.50 197.50 0.0382099 -217.50 112.50 202.50 0.0118953 -217.50 112.50 207.50 0.00686939 -217.50 112.50 212.50 0.0103048 -217.50 112.50 217.50 0.0350046 -217.50 112.50 222.50 0.135271 -217.50 112.50 227.50 0.386244 -217.50 112.50 232.50 0.852293 -217.50 112.50 237.50 1.59131 -217.50 112.50 242.50 2.6994 -217.50 112.50 247.50 3.82885 -217.50 112.50 252.50 4.44627 -217.50 112.50 257.50 4.18347 -217.50 112.50 262.50 3.40278 -217.50 112.50 267.50 2.24898 -217.50 112.50 272.50 1.03943 -217.50 112.50 277.50 0.403743 -217.50 112.50 282.50 0.130629 -217.50 112.50 287.50 0.0382099 -217.50 112.50 292.50 0.0118953 -217.50 112.50 297.50 0.00686939 -217.50 112.50 302.50 0.0103048 -217.50 112.50 307.50 0.0350045 -217.50 112.50 312.50 0.135271 -217.50 112.50 317.50 0.386244 -217.50 112.50 322.50 0.85229 -217.50 112.50 327.50 1.59131 -217.50 112.50 332.50 2.69939 -217.50 112.50 337.50 3.82885 -217.50 112.50 342.50 4.44627 -217.50 112.50 347.50 4.18347 -217.50 112.50 352.50 3.40279 -217.50 112.50 357.50 2.24899 -217.50 117.50 2.50 1.8542 -217.50 117.50 7.50 0.852008 -217.50 117.50 12.50 0.339317 -217.50 117.50 17.50 0.121949 -217.50 117.50 22.50 0.0410491 -217.50 117.50 27.50 0.0122644 -217.50 117.50 32.50 0.00824428 -217.50 117.50 37.50 0.0164849 -217.50 117.50 42.50 0.0741969 -217.50 117.50 47.50 0.247323 -217.50 117.50 52.50 0.587849 -217.50 117.50 57.50 1.22292 -217.50 117.50 62.50 2.34757 -217.50 117.50 67.50 3.72494 -217.50 117.50 72.50 4.6673 -217.50 117.50 77.50 4.86452 -217.50 117.50 82.50 4.44461 -217.50 117.50 87.50 3.37804 -217.50 117.50 92.50 1.8542 -217.50 117.50 97.50 0.852008 -217.50 117.50 102.50 0.339317 -217.50 117.50 107.50 0.121949 -217.50 117.50 112.50 0.0410491 -217.50 117.50 117.50 0.0122644 -217.50 117.50 122.50 0.00824426 -217.50 117.50 127.50 0.0164849 -217.50 117.50 132.50 0.0741969 -217.50 117.50 137.50 0.247323 -217.50 117.50 142.50 0.587849 -217.50 117.50 147.50 1.22292 -217.50 117.50 152.50 2.34757 -217.50 117.50 157.50 3.72494 -217.50 117.50 162.50 4.6673 -217.50 117.50 167.50 4.86452 -217.50 117.50 172.50 4.44461 -217.50 117.50 177.50 3.37804 -217.50 117.50 182.50 1.8542 -217.50 117.50 187.50 0.852008 -217.50 117.50 192.50 0.339317 -217.50 117.50 197.50 0.121949 -217.50 117.50 202.50 0.0410491 -217.50 117.50 207.50 0.0122644 -217.50 117.50 212.50 0.00824427 -217.50 117.50 217.50 0.0164849 -217.50 117.50 222.50 0.0741968 -217.50 117.50 227.50 0.247323 -217.50 117.50 232.50 0.587849 -217.50 117.50 237.50 1.22292 -217.50 117.50 242.50 2.34757 -217.50 117.50 247.50 3.72494 -217.50 117.50 252.50 4.66731 -217.50 117.50 257.50 4.86452 -217.50 117.50 262.50 4.44461 -217.50 117.50 267.50 3.37803 -217.50 117.50 272.50 1.8542 -217.50 117.50 277.50 0.852008 -217.50 117.50 282.50 0.339317 -217.50 117.50 287.50 0.121949 -217.50 117.50 292.50 0.0410491 -217.50 117.50 297.50 0.0122644 -217.50 117.50 302.50 0.00824426 -217.50 117.50 307.50 0.0164849 -217.50 117.50 312.50 0.0741968 -217.50 117.50 317.50 0.247323 -217.50 117.50 322.50 0.587847 -217.50 117.50 327.50 1.22292 -217.50 117.50 332.50 2.34757 -217.50 117.50 337.50 3.72493 -217.50 117.50 342.50 4.6673 -217.50 117.50 347.50 4.86452 -217.50 117.50 352.50 4.44462 -217.50 117.50 357.50 3.37804 -217.50 122.50 2.50 2.76305 -217.50 122.50 7.50 1.58308 -217.50 122.50 12.50 0.821725 -217.50 122.50 17.50 0.392814 -217.50 122.50 22.50 0.15771 -217.50 122.50 27.50 0.0566323 -217.50 122.50 32.50 0.0214389 -217.50 122.50 37.50 0.0127465 -217.50 122.50 42.50 0.0254595 -217.50 122.50 47.50 0.0876721 -217.50 122.50 52.50 0.259503 -217.50 122.50 57.50 0.699767 -217.50 122.50 62.50 1.52693 -217.50 122.50 67.50 2.71893 -217.50 122.50 72.50 3.88523 -217.50 122.50 77.50 4.56616 -217.50 122.50 82.50 4.70581 -217.50 122.50 87.50 4.16844 -217.50 122.50 92.50 2.76305 -217.50 122.50 97.50 1.58308 -217.50 122.50 102.50 0.821725 -217.50 122.50 107.50 0.392814 -217.50 122.50 112.50 0.15771 -217.50 122.50 117.50 0.0566322 -217.50 122.50 122.50 0.0214389 -217.50 122.50 127.50 0.0127466 -217.50 122.50 132.50 0.0254595 -217.50 122.50 137.50 0.087672 -217.50 122.50 142.50 0.259503 -217.50 122.50 147.50 0.699767 -217.50 122.50 152.50 1.52693 -217.50 122.50 157.50 2.71893 -217.50 122.50 162.50 3.88523 -217.50 122.50 167.50 4.56616 -217.50 122.50 172.50 4.70581 -217.50 122.50 177.50 4.16844 -217.50 122.50 182.50 2.76305 -217.50 122.50 187.50 1.58308 -217.50 122.50 192.50 0.821725 -217.50 122.50 197.50 0.392814 -217.50 122.50 202.50 0.15771 -217.50 122.50 207.50 0.0566323 -217.50 122.50 212.50 0.0214389 -217.50 122.50 217.50 0.0127465 -217.50 122.50 222.50 0.0254594 -217.50 122.50 227.50 0.0876719 -217.50 122.50 232.50 0.259503 -217.50 122.50 237.50 0.699767 -217.50 122.50 242.50 1.52693 -217.50 122.50 247.50 2.71893 -217.50 122.50 252.50 3.88523 -217.50 122.50 257.50 4.56617 -217.50 122.50 262.50 4.70582 -217.50 122.50 267.50 4.16844 -217.50 122.50 272.50 2.76305 -217.50 122.50 277.50 1.58308 -217.50 122.50 282.50 0.821725 -217.50 122.50 287.50 0.392814 -217.50 122.50 292.50 0.15771 -217.50 122.50 297.50 0.0566324 -217.50 122.50 302.50 0.0214389 -217.50 122.50 307.50 0.0127465 -217.50 122.50 312.50 0.0254594 -217.50 122.50 317.50 0.0876718 -217.50 122.50 322.50 0.259502 -217.50 122.50 327.50 0.699764 -217.50 122.50 332.50 1.52692 -217.50 122.50 337.50 2.71893 -217.50 122.50 342.50 3.88523 -217.50 122.50 347.50 4.56616 -217.50 122.50 352.50 4.70581 -217.50 122.50 357.50 4.16845 -217.50 127.50 2.50 3.51916 -217.50 127.50 7.50 2.6262 -217.50 127.50 12.50 1.82692 -217.50 127.50 17.50 1.05389 -217.50 127.50 22.50 0.5042 -217.50 127.50 27.50 0.205573 -217.50 127.50 32.50 0.0726641 -217.50 127.50 37.50 0.0239199 -217.50 127.50 42.50 0.0108007 -217.50 127.50 47.50 0.0261523 -217.50 127.50 52.50 0.0895865 -217.50 127.50 57.50 0.316239 -217.50 127.50 62.50 0.839495 -217.50 127.50 67.50 1.65246 -217.50 127.50 72.50 2.54213 -217.50 127.50 77.50 3.39736 -217.50 127.50 82.50 4.11789 -217.50 127.50 87.50 4.29612 -217.50 127.50 92.50 3.51916 -217.50 127.50 97.50 2.6262 -217.50 127.50 102.50 1.82692 -217.50 127.50 107.50 1.05389 -217.50 127.50 112.50 0.5042 -217.50 127.50 117.50 0.205573 -217.50 127.50 122.50 0.0726641 -217.50 127.50 127.50 0.0239199 -217.50 127.50 132.50 0.0108007 -217.50 127.50 137.50 0.0261523 -217.50 127.50 142.50 0.0895866 -217.50 127.50 147.50 0.316239 -217.50 127.50 152.50 0.839495 -217.50 127.50 157.50 1.65246 -217.50 127.50 162.50 2.54212 -217.50 127.50 167.50 3.39737 -217.50 127.50 172.50 4.11789 -217.50 127.50 177.50 4.29611 -217.50 127.50 182.50 3.51916 -217.50 127.50 187.50 2.6262 -217.50 127.50 192.50 1.82692 -217.50 127.50 197.50 1.05389 -217.50 127.50 202.50 0.5042 -217.50 127.50 207.50 0.205573 -217.50 127.50 212.50 0.0726641 -217.50 127.50 217.50 0.0239199 -217.50 127.50 222.50 0.0108007 -217.50 127.50 227.50 0.0261522 -217.50 127.50 232.50 0.0895867 -217.50 127.50 237.50 0.31624 -217.50 127.50 242.50 0.839496 -217.50 127.50 247.50 1.65246 -217.50 127.50 252.50 2.54213 -217.50 127.50 257.50 3.39737 -217.50 127.50 262.50 4.11789 -217.50 127.50 267.50 4.29612 -217.50 127.50 272.50 3.51916 -217.50 127.50 277.50 2.6262 -217.50 127.50 282.50 1.82692 -217.50 127.50 287.50 1.05389 -217.50 127.50 292.50 0.5042 -217.50 127.50 297.50 0.205573 -217.50 127.50 302.50 0.0726641 -217.50 127.50 307.50 0.0239199 -217.50 127.50 312.50 0.0108007 -217.50 127.50 317.50 0.0261522 -217.50 127.50 322.50 0.089586 -217.50 127.50 327.50 0.316238 -217.50 127.50 332.50 0.839493 -217.50 127.50 337.50 1.65246 -217.50 127.50 342.50 2.54212 -217.50 127.50 347.50 3.39737 -217.50 127.50 352.50 4.11789 -217.50 127.50 357.50 4.29612 -217.50 132.50 2.50 3.96992 -217.50 132.50 7.50 3.81272 -217.50 132.50 12.50 3.2544 -217.50 132.50 17.50 2.16953 -217.50 132.50 22.50 1.16653 -217.50 132.50 27.50 0.537618 -217.50 132.50 32.50 0.203738 -217.50 132.50 37.50 0.0729033 -217.50 132.50 42.50 0.0189451 -217.50 132.50 47.50 0.00708744 -217.50 132.50 52.50 0.0282612 -217.50 132.50 57.50 0.129828 -217.50 132.50 62.50 0.383344 -217.50 132.50 67.50 0.804091 -217.50 132.50 72.50 1.34208 -217.50 132.50 77.50 2.10616 -217.50 132.50 82.50 3.09998 -217.50 132.50 87.50 3.87971 -217.50 132.50 92.50 3.96992 -217.50 132.50 97.50 3.81272 -217.50 132.50 102.50 3.2544 -217.50 132.50 107.50 2.16952 -217.50 132.50 112.50 1.16653 -217.50 132.50 117.50 0.537618 -217.50 132.50 122.50 0.203738 -217.50 132.50 127.50 0.0729033 -217.50 132.50 132.50 0.018945 -217.50 132.50 137.50 0.00708745 -217.50 132.50 142.50 0.0282612 -217.50 132.50 147.50 0.129828 -217.50 132.50 152.50 0.383344 -217.50 132.50 157.50 0.804092 -217.50 132.50 162.50 1.34208 -217.50 132.50 167.50 2.10616 -217.50 132.50 172.50 3.09998 -217.50 132.50 177.50 3.87971 -217.50 132.50 182.50 3.96992 -217.50 132.50 187.50 3.81273 -217.50 132.50 192.50 3.2544 -217.50 132.50 197.50 2.16952 -217.50 132.50 202.50 1.16653 -217.50 132.50 207.50 0.537618 -217.50 132.50 212.50 0.203738 -217.50 132.50 217.50 0.0729034 -217.50 132.50 222.50 0.018945 -217.50 132.50 227.50 0.00708742 -217.50 132.50 232.50 0.0282613 -217.50 132.50 237.50 0.129828 -217.50 132.50 242.50 0.383345 -217.50 132.50 247.50 0.804093 -217.50 132.50 252.50 1.34208 -217.50 132.50 257.50 2.10617 -217.50 132.50 262.50 3.09998 -217.50 132.50 267.50 3.87971 -217.50 132.50 272.50 3.96992 -217.50 132.50 277.50 3.81272 -217.50 132.50 282.50 3.2544 -217.50 132.50 287.50 2.16953 -217.50 132.50 292.50 1.16653 -217.50 132.50 297.50 0.537619 -217.50 132.50 302.50 0.203738 -217.50 132.50 307.50 0.0729034 -217.50 132.50 312.50 0.0189451 -217.50 132.50 317.50 0.00708742 -217.50 132.50 322.50 0.0282612 -217.50 132.50 327.50 0.129828 -217.50 132.50 332.50 0.383344 -217.50 132.50 337.50 0.80409 -217.50 132.50 342.50 1.34208 -217.50 132.50 347.50 2.10616 -217.50 132.50 352.50 3.09997 -217.50 132.50 357.50 3.87971 -217.50 137.50 2.50 4.10837 -217.50 137.50 7.50 4.74319 -217.50 137.50 12.50 4.56806 -217.50 137.50 17.50 3.36304 -217.50 137.50 22.50 2.01064 -217.50 137.50 27.50 1.05436 -217.50 137.50 32.50 0.495621 -217.50 137.50 37.50 0.174476 -217.50 137.50 42.50 0.0426947 -217.50 137.50 47.50 0.0101159 -217.50 137.50 52.50 0.00769701 -217.50 137.50 57.50 0.0399896 -217.50 137.50 62.50 0.12273 -217.50 137.50 67.50 0.302599 -217.50 137.50 72.50 0.60811 -217.50 137.50 77.50 1.20034 -217.50 137.50 82.50 2.1423 -217.50 137.50 87.50 3.2602 -217.50 137.50 92.50 4.10837 -217.50 137.50 97.50 4.74319 -217.50 137.50 102.50 4.56805 -217.50 137.50 107.50 3.36303 -217.50 137.50 112.50 2.01063 -217.50 137.50 117.50 1.05436 -217.50 137.50 122.50 0.495621 -217.50 137.50 127.50 0.174476 -217.50 137.50 132.50 0.0426947 -217.50 137.50 137.50 0.0101159 -217.50 137.50 142.50 0.00769701 -217.50 137.50 147.50 0.0399896 -217.50 137.50 152.50 0.12273 -217.50 137.50 157.50 0.302599 -217.50 137.50 162.50 0.60811 -217.50 137.50 167.50 1.20034 -217.50 137.50 172.50 2.1423 -217.50 137.50 177.50 3.2602 -217.50 137.50 182.50 4.10837 -217.50 137.50 187.50 4.74319 -217.50 137.50 192.50 4.56805 -217.50 137.50 197.50 3.36303 -217.50 137.50 202.50 2.01063 -217.50 137.50 207.50 1.05436 -217.50 137.50 212.50 0.495621 -217.50 137.50 217.50 0.174476 -217.50 137.50 222.50 0.0426947 -217.50 137.50 227.50 0.0101159 -217.50 137.50 232.50 0.00769704 -217.50 137.50 237.50 0.0399897 -217.50 137.50 242.50 0.12273 -217.50 137.50 247.50 0.302599 -217.50 137.50 252.50 0.608111 -217.50 137.50 257.50 1.20034 -217.50 137.50 262.50 2.1423 -217.50 137.50 267.50 3.2602 -217.50 137.50 272.50 4.10837 -217.50 137.50 277.50 4.7432 -217.50 137.50 282.50 4.56805 -217.50 137.50 287.50 3.36304 -217.50 137.50 292.50 2.01063 -217.50 137.50 297.50 1.05436 -217.50 137.50 302.50 0.495622 -217.50 137.50 307.50 0.174476 -217.50 137.50 312.50 0.0426948 -217.50 137.50 317.50 0.0101159 -217.50 137.50 322.50 0.00769697 -217.50 137.50 327.50 0.0399895 -217.50 137.50 332.50 0.122729 -217.50 137.50 337.50 0.302598 -217.50 137.50 342.50 0.608109 -217.50 137.50 347.50 1.20034 -217.50 137.50 352.50 2.1423 -217.50 137.50 357.50 3.2602 -217.50 142.50 2.50 3.96992 -217.50 142.50 7.50 5.1399 -217.50 142.50 12.50 5.29393 -217.50 142.50 17.50 4.1979 -217.50 142.50 22.50 2.74658 -217.50 142.50 27.50 1.62546 -217.50 142.50 32.50 0.8588 -217.50 142.50 37.50 0.354944 -217.50 142.50 42.50 0.105513 -217.50 142.50 47.50 0.0228352 -217.50 142.50 52.50 0.00640791 -217.50 142.50 57.50 0.00846931 -217.50 142.50 62.50 0.0331133 -217.50 142.50 67.50 0.0982464 -217.50 142.50 72.50 0.263238 -217.50 142.50 77.50 0.6638 -217.50 142.50 82.50 1.43719 -217.50 142.50 87.50 2.62754 -217.50 142.50 92.50 3.96992 -217.50 142.50 97.50 5.1399 -217.50 142.50 102.50 5.29393 -217.50 142.50 107.50 4.1979 -217.50 142.50 112.50 2.74658 -217.50 142.50 117.50 1.62546 -217.50 142.50 122.50 0.8588 -217.50 142.50 127.50 0.354943 -217.50 142.50 132.50 0.105512 -217.50 142.50 137.50 0.0228352 -217.50 142.50 142.50 0.00640791 -217.50 142.50 147.50 0.00846932 -217.50 142.50 152.50 0.0331133 -217.50 142.50 157.50 0.0982463 -217.50 142.50 162.50 0.263238 -217.50 142.50 167.50 0.663799 -217.50 142.50 172.50 1.43719 -217.50 142.50 177.50 2.62754 -217.50 142.50 182.50 3.96992 -217.50 142.50 187.50 5.1399 -217.50 142.50 192.50 5.29393 -217.50 142.50 197.50 4.1979 -217.50 142.50 202.50 2.74658 -217.50 142.50 207.50 1.62546 -217.50 142.50 212.50 0.8588 -217.50 142.50 217.50 0.354944 -217.50 142.50 222.50 0.105512 -217.50 142.50 227.50 0.0228352 -217.50 142.50 232.50 0.0064079 -217.50 142.50 237.50 0.00846934 -217.50 142.50 242.50 0.0331134 -217.50 142.50 247.50 0.0982465 -217.50 142.50 252.50 0.263238 -217.50 142.50 257.50 0.663801 -217.50 142.50 262.50 1.43719 -217.50 142.50 267.50 2.62755 -217.50 142.50 272.50 3.96992 -217.50 142.50 277.50 5.1399 -217.50 142.50 282.50 5.29393 -217.50 142.50 287.50 4.1979 -217.50 142.50 292.50 2.74658 -217.50 142.50 297.50 1.62546 -217.50 142.50 302.50 0.8588 -217.50 142.50 307.50 0.354944 -217.50 142.50 312.50 0.105513 -217.50 142.50 317.50 0.0228352 -217.50 142.50 322.50 0.00640792 -217.50 142.50 327.50 0.00846929 -217.50 142.50 332.50 0.0331132 -217.50 142.50 337.50 0.0982461 -217.50 142.50 342.50 0.263237 -217.50 142.50 347.50 0.663799 -217.50 142.50 352.50 1.43719 -217.50 142.50 357.50 2.62754 -217.50 147.50 2.50 3.51916 -217.50 147.50 7.50 4.87331 -217.50 147.50 12.50 5.20278 -217.50 147.50 17.50 4.35209 -217.50 147.50 22.50 3.0749 -217.50 147.50 27.50 2.02369 -217.50 147.50 32.50 1.23878 -217.50 147.50 37.50 0.634299 -217.50 147.50 42.50 0.242966 -217.50 147.50 47.50 0.0745023 -217.50 147.50 52.50 0.0222083 -217.50 147.50 57.50 0.00694581 -217.50 147.50 62.50 0.00937262 -217.50 147.50 67.50 0.0315765 -217.50 147.50 72.50 0.114024 -217.50 147.50 77.50 0.35245 -217.50 147.50 82.50 0.951522 -217.50 147.50 87.50 2.02117 -217.50 147.50 92.50 3.51916 -217.50 147.50 97.50 4.87331 -217.50 147.50 102.50 5.20278 -217.50 147.50 107.50 4.35209 -217.50 147.50 112.50 3.0749 -217.50 147.50 117.50 2.02369 -217.50 147.50 122.50 1.23878 -217.50 147.50 127.50 0.634299 -217.50 147.50 132.50 0.242966 -217.50 147.50 137.50 0.0745023 -217.50 147.50 142.50 0.0222083 -217.50 147.50 147.50 0.00694581 -217.50 147.50 152.50 0.00937263 -217.50 147.50 157.50 0.0315765 -217.50 147.50 162.50 0.114024 -217.50 147.50 167.50 0.35245 -217.50 147.50 172.50 0.951521 -217.50 147.50 177.50 2.02117 -217.50 147.50 182.50 3.51916 -217.50 147.50 187.50 4.87331 -217.50 147.50 192.50 5.20278 -217.50 147.50 197.50 4.35209 -217.50 147.50 202.50 3.0749 -217.50 147.50 207.50 2.02369 -217.50 147.50 212.50 1.23878 -217.50 147.50 217.50 0.6343 -217.50 147.50 222.50 0.242966 -217.50 147.50 227.50 0.0745024 -217.50 147.50 232.50 0.0222083 -217.50 147.50 237.50 0.0069458 -217.50 147.50 242.50 0.00937264 -217.50 147.50 247.50 0.0315766 -217.50 147.50 252.50 0.114024 -217.50 147.50 257.50 0.352451 -217.50 147.50 262.50 0.951523 -217.50 147.50 267.50 2.02117 -217.50 147.50 272.50 3.51916 -217.50 147.50 277.50 4.87331 -217.50 147.50 282.50 5.20278 -217.50 147.50 287.50 4.35209 -217.50 147.50 292.50 3.0749 -217.50 147.50 297.50 2.02369 -217.50 147.50 302.50 1.23878 -217.50 147.50 307.50 0.6343 -217.50 147.50 312.50 0.242967 -217.50 147.50 317.50 0.0745024 -217.50 147.50 322.50 0.0222084 -217.50 147.50 327.50 0.00694581 -217.50 147.50 332.50 0.00937261 -217.50 147.50 337.50 0.0315764 -217.50 147.50 342.50 0.114023 -217.50 147.50 347.50 0.35245 -217.50 147.50 352.50 0.951519 -217.50 147.50 357.50 2.02116 -217.50 152.50 2.50 2.76305 -217.50 152.50 7.50 3.93268 -217.50 152.50 12.50 4.32711 -217.50 152.50 17.50 3.89519 -217.50 152.50 22.50 2.95869 -217.50 152.50 27.50 2.24627 -217.50 152.50 32.50 1.58333 -217.50 152.50 37.50 0.948522 -217.50 152.50 42.50 0.455683 -217.50 152.50 47.50 0.185082 -217.50 152.50 52.50 0.0654952 -217.50 152.50 57.50 0.0208731 -217.50 152.50 62.50 0.0062591 -217.50 152.50 67.50 0.0118876 -217.50 152.50 72.50 0.0525426 -217.50 152.50 77.50 0.19514 -217.50 152.50 82.50 0.638209 -217.50 152.50 87.50 1.45577 -217.50 152.50 92.50 2.76305 -217.50 152.50 97.50 3.93268 -217.50 152.50 102.50 4.32711 -217.50 152.50 107.50 3.89518 -217.50 152.50 112.50 2.95869 -217.50 152.50 117.50 2.24626 -217.50 152.50 122.50 1.58333 -217.50 152.50 127.50 0.948522 -217.50 152.50 132.50 0.455683 -217.50 152.50 137.50 0.185082 -217.50 152.50 142.50 0.0654952 -217.50 152.50 147.50 0.0208731 -217.50 152.50 152.50 0.00625911 -217.50 152.50 157.50 0.0118876 -217.50 152.50 162.50 0.0525425 -217.50 152.50 167.50 0.19514 -217.50 152.50 172.50 0.638209 -217.50 152.50 177.50 1.45577 -217.50 152.50 182.50 2.76305 -217.50 152.50 187.50 3.93268 -217.50 152.50 192.50 4.32711 -217.50 152.50 197.50 3.89519 -217.50 152.50 202.50 2.95869 -217.50 152.50 207.50 2.24627 -217.50 152.50 212.50 1.58333 -217.50 152.50 217.50 0.948523 -217.50 152.50 222.50 0.455683 -217.50 152.50 227.50 0.185082 -217.50 152.50 232.50 0.0654951 -217.50 152.50 237.50 0.0208731 -217.50 152.50 242.50 0.0062591 -217.50 152.50 247.50 0.0118876 -217.50 152.50 252.50 0.0525426 -217.50 152.50 257.50 0.19514 -217.50 152.50 262.50 0.63821 -217.50 152.50 267.50 1.45577 -217.50 152.50 272.50 2.76305 -217.50 152.50 277.50 3.93268 -217.50 152.50 282.50 4.32711 -217.50 152.50 287.50 3.89519 -217.50 152.50 292.50 2.95869 -217.50 152.50 297.50 2.24627 -217.50 152.50 302.50 1.58333 -217.50 152.50 307.50 0.948523 -217.50 152.50 312.50 0.455684 -217.50 152.50 317.50 0.185082 -217.50 152.50 322.50 0.0654954 -217.50 152.50 327.50 0.0208731 -217.50 152.50 332.50 0.00625911 -217.50 152.50 337.50 0.0118875 -217.50 152.50 342.50 0.0525424 -217.50 152.50 347.50 0.195139 -217.50 152.50 352.50 0.638208 -217.50 152.50 357.50 1.45577 -217.50 157.50 2.50 1.8542 -217.50 157.50 7.50 2.6129 -217.50 157.50 12.50 2.99848 -217.50 157.50 17.50 2.91069 -217.50 157.50 22.50 2.5378 -217.50 157.50 27.50 2.18769 -217.50 157.50 32.50 1.79043 -217.50 157.50 37.50 1.22789 -217.50 157.50 42.50 0.704691 -217.50 157.50 47.50 0.350196 -217.50 157.50 52.50 0.151314 -217.50 157.50 57.50 0.0457689 -217.50 157.50 62.50 0.0107685 -217.50 157.50 67.50 0.0144218 -217.50 157.50 72.50 0.0458892 -217.50 157.50 77.50 0.152508 -217.50 157.50 82.50 0.436383 -217.50 157.50 87.50 0.974832 -217.50 157.50 92.50 1.8542 -217.50 157.50 97.50 2.6129 -217.50 157.50 102.50 2.99848 -217.50 157.50 107.50 2.91069 -217.50 157.50 112.50 2.5378 -217.50 157.50 117.50 2.18769 -217.50 157.50 122.50 1.79043 -217.50 157.50 127.50 1.22789 -217.50 157.50 132.50 0.704691 -217.50 157.50 137.50 0.350196 -217.50 157.50 142.50 0.151314 -217.50 157.50 147.50 0.0457689 -217.50 157.50 152.50 0.0107685 -217.50 157.50 157.50 0.0144218 -217.50 157.50 162.50 0.0458892 -217.50 157.50 167.50 0.152507 -217.50 157.50 172.50 0.436383 -217.50 157.50 177.50 0.974832 -217.50 157.50 182.50 1.8542 -217.50 157.50 187.50 2.6129 -217.50 157.50 192.50 2.99848 -217.50 157.50 197.50 2.91069 -217.50 157.50 202.50 2.5378 -217.50 157.50 207.50 2.18769 -217.50 157.50 212.50 1.79043 -217.50 157.50 217.50 1.22789 -217.50 157.50 222.50 0.704691 -217.50 157.50 227.50 0.350196 -217.50 157.50 232.50 0.151313 -217.50 157.50 237.50 0.0457688 -217.50 157.50 242.50 0.0107685 -217.50 157.50 247.50 0.0144218 -217.50 157.50 252.50 0.0458892 -217.50 157.50 257.50 0.152508 -217.50 157.50 262.50 0.436383 -217.50 157.50 267.50 0.974832 -217.50 157.50 272.50 1.8542 -217.50 157.50 277.50 2.6129 -217.50 157.50 282.50 2.99848 -217.50 157.50 287.50 2.91069 -217.50 157.50 292.50 2.5378 -217.50 157.50 297.50 2.18769 -217.50 157.50 302.50 1.79043 -217.50 157.50 307.50 1.22789 -217.50 157.50 312.50 0.704692 -217.50 157.50 317.50 0.350196 -217.50 157.50 322.50 0.151314 -217.50 157.50 327.50 0.045769 -217.50 157.50 332.50 0.0107685 -217.50 157.50 337.50 0.0144217 -217.50 157.50 342.50 0.045889 -217.50 157.50 347.50 0.152507 -217.50 157.50 352.50 0.436382 -217.50 157.50 357.50 0.97483 -217.50 162.50 2.50 1.03943 -217.50 162.50 7.50 1.4243 -217.50 162.50 12.50 1.68953 -217.50 162.50 17.50 1.7923 -217.50 162.50 22.50 1.80989 -217.50 162.50 27.50 1.80113 -217.50 162.50 32.50 1.69363 -217.50 162.50 37.50 1.38431 -217.50 162.50 42.50 0.932671 -217.50 162.50 47.50 0.521483 -217.50 162.50 52.50 0.23462 -217.50 162.50 57.50 0.0816889 -217.50 162.50 62.50 0.0276613 -217.50 162.50 67.50 0.0323286 -217.50 162.50 72.50 0.0783439 -217.50 162.50 77.50 0.165008 -217.50 162.50 82.50 0.307097 -217.50 162.50 87.50 0.593795 -217.50 162.50 92.50 1.03943 -217.50 162.50 97.50 1.4243 -217.50 162.50 102.50 1.68953 -217.50 162.50 107.50 1.7923 -217.50 162.50 112.50 1.80989 -217.50 162.50 117.50 1.80113 -217.50 162.50 122.50 1.69363 -217.50 162.50 127.50 1.38431 -217.50 162.50 132.50 0.932671 -217.50 162.50 137.50 0.521483 -217.50 162.50 142.50 0.23462 -217.50 162.50 147.50 0.081689 -217.50 162.50 152.50 0.0276614 -217.50 162.50 157.50 0.0323285 -217.50 162.50 162.50 0.0783439 -217.50 162.50 167.50 0.165007 -217.50 162.50 172.50 0.307097 -217.50 162.50 177.50 0.593795 -217.50 162.50 182.50 1.03943 -217.50 162.50 187.50 1.4243 -217.50 162.50 192.50 1.68953 -217.50 162.50 197.50 1.7923 -217.50 162.50 202.50 1.80989 -217.50 162.50 207.50 1.80113 -217.50 162.50 212.50 1.69363 -217.50 162.50 217.50 1.38431 -217.50 162.50 222.50 0.932671 -217.50 162.50 227.50 0.521483 -217.50 162.50 232.50 0.23462 -217.50 162.50 237.50 0.0816888 -217.50 162.50 242.50 0.0276613 -217.50 162.50 247.50 0.0323286 -217.50 162.50 252.50 0.078344 -217.50 162.50 257.50 0.165008 -217.50 162.50 262.50 0.307097 -217.50 162.50 267.50 0.593796 -217.50 162.50 272.50 1.03943 -217.50 162.50 277.50 1.4243 -217.50 162.50 282.50 1.68953 -217.50 162.50 287.50 1.7923 -217.50 162.50 292.50 1.80989 -217.50 162.50 297.50 1.80113 -217.50 162.50 302.50 1.69363 -217.50 162.50 307.50 1.38431 -217.50 162.50 312.50 0.932671 -217.50 162.50 317.50 0.521483 -217.50 162.50 322.50 0.234621 -217.50 162.50 327.50 0.0816891 -217.50 162.50 332.50 0.0276614 -217.50 162.50 337.50 0.0323285 -217.50 162.50 342.50 0.0783438 -217.50 162.50 347.50 0.165007 -217.50 162.50 352.50 0.307097 -217.50 162.50 357.50 0.593794 -217.50 167.50 2.50 0.50776 -217.50 167.50 7.50 0.658213 -217.50 167.50 12.50 0.768402 -217.50 167.50 17.50 0.895646 -217.50 167.50 22.50 1.05127 -217.50 167.50 27.50 1.284 -217.50 167.50 32.50 1.48102 -217.50 167.50 37.50 1.4099 -217.50 167.50 42.50 1.03144 -217.50 167.50 47.50 0.59262 -217.50 167.50 52.50 0.281274 -217.50 167.50 57.50 0.111885 -217.50 167.50 62.50 0.0422283 -217.50 167.50 67.50 0.0538104 -217.50 167.50 72.50 0.111707 -217.50 167.50 77.50 0.175894 -217.50 167.50 82.50 0.225286 -217.50 167.50 87.50 0.341374 -217.50 167.50 92.50 0.50776 -217.50 167.50 97.50 0.658213 -217.50 167.50 102.50 0.768401 -217.50 167.50 107.50 0.895646 -217.50 167.50 112.50 1.05127 -217.50 167.50 117.50 1.284 -217.50 167.50 122.50 1.48102 -217.50 167.50 127.50 1.4099 -217.50 167.50 132.50 1.03144 -217.50 167.50 137.50 0.59262 -217.50 167.50 142.50 0.281274 -217.50 167.50 147.50 0.111885 -217.50 167.50 152.50 0.0422283 -217.50 167.50 157.50 0.0538103 -217.50 167.50 162.50 0.111707 -217.50 167.50 167.50 0.175894 -217.50 167.50 172.50 0.225286 -217.50 167.50 177.50 0.341374 -217.50 167.50 182.50 0.50776 -217.50 167.50 187.50 0.658213 -217.50 167.50 192.50 0.768402 -217.50 167.50 197.50 0.895646 -217.50 167.50 202.50 1.05127 -217.50 167.50 207.50 1.284 -217.50 167.50 212.50 1.48102 -217.50 167.50 217.50 1.4099 -217.50 167.50 222.50 1.03144 -217.50 167.50 227.50 0.59262 -217.50 167.50 232.50 0.281273 -217.50 167.50 237.50 0.111885 -217.50 167.50 242.50 0.0422283 -217.50 167.50 247.50 0.0538104 -217.50 167.50 252.50 0.111707 -217.50 167.50 257.50 0.175894 -217.50 167.50 262.50 0.225286 -217.50 167.50 267.50 0.341374 -217.50 167.50 272.50 0.50776 -217.50 167.50 277.50 0.658212 -217.50 167.50 282.50 0.768402 -217.50 167.50 287.50 0.895645 -217.50 167.50 292.50 1.05127 -217.50 167.50 297.50 1.284 -217.50 167.50 302.50 1.48102 -217.50 167.50 307.50 1.4099 -217.50 167.50 312.50 1.03144 -217.50 167.50 317.50 0.59262 -217.50 167.50 322.50 0.281274 -217.50 167.50 327.50 0.111885 -217.50 167.50 332.50 0.0422284 -217.50 167.50 337.50 0.0538102 -217.50 167.50 342.50 0.111707 -217.50 167.50 347.50 0.175894 -217.50 167.50 352.50 0.225286 -217.50 167.50 357.50 0.341373 -217.50 172.50 2.50 0.241648 -217.50 172.50 7.50 0.277079 -217.50 172.50 12.50 0.303618 -217.50 172.50 17.50 0.35721 -217.50 172.50 22.50 0.520799 -217.50 172.50 27.50 0.820783 -217.50 172.50 32.50 1.14639 -217.50 172.50 37.50 1.23544 -217.50 172.50 42.50 0.967708 -217.50 172.50 47.50 0.554748 -217.50 172.50 52.50 0.253802 -217.50 172.50 57.50 0.101965 -217.50 172.50 62.50 0.0491384 -217.50 172.50 67.50 0.0602945 -217.50 172.50 72.50 0.104072 -217.50 172.50 77.50 0.142121 -217.50 172.50 82.50 0.170538 -217.50 172.50 87.50 0.200088 -217.50 172.50 92.50 0.241648 -217.50 172.50 97.50 0.277079 -217.50 172.50 102.50 0.303618 -217.50 172.50 107.50 0.357211 -217.50 172.50 112.50 0.520799 -217.50 172.50 117.50 0.820782 -217.50 172.50 122.50 1.14639 -217.50 172.50 127.50 1.23544 -217.50 172.50 132.50 0.967708 -217.50 172.50 137.50 0.554748 -217.50 172.50 142.50 0.253802 -217.50 172.50 147.50 0.101965 -217.50 172.50 152.50 0.0491384 -217.50 172.50 157.50 0.0602945 -217.50 172.50 162.50 0.104071 -217.50 172.50 167.50 0.142121 -217.50 172.50 172.50 0.170538 -217.50 172.50 177.50 0.200088 -217.50 172.50 182.50 0.241648 -217.50 172.50 187.50 0.277079 -217.50 172.50 192.50 0.303618 -217.50 172.50 197.50 0.35721 -217.50 172.50 202.50 0.520799 -217.50 172.50 207.50 0.820783 -217.50 172.50 212.50 1.14639 -217.50 172.50 217.50 1.23544 -217.50 172.50 222.50 0.967709 -217.50 172.50 227.50 0.554749 -217.50 172.50 232.50 0.253802 -217.50 172.50 237.50 0.101965 -217.50 172.50 242.50 0.0491384 -217.50 172.50 247.50 0.0602945 -217.50 172.50 252.50 0.104072 -217.50 172.50 257.50 0.142121 -217.50 172.50 262.50 0.170538 -217.50 172.50 267.50 0.200089 -217.50 172.50 272.50 0.241648 -217.50 172.50 277.50 0.277079 -217.50 172.50 282.50 0.303618 -217.50 172.50 287.50 0.35721 -217.50 172.50 292.50 0.520799 -217.50 172.50 297.50 0.820782 -217.50 172.50 302.50 1.14639 -217.50 172.50 307.50 1.23544 -217.50 172.50 312.50 0.967709 -217.50 172.50 317.50 0.554749 -217.50 172.50 322.50 0.253802 -217.50 172.50 327.50 0.101965 -217.50 172.50 332.50 0.0491384 -217.50 172.50 337.50 0.0602944 -217.50 172.50 342.50 0.104071 -217.50 172.50 347.50 0.142121 -217.50 172.50 352.50 0.170538 -217.50 172.50 357.50 0.200088 -217.50 177.50 2.50 0.116068 -217.50 177.50 7.50 0.109438 -217.50 177.50 12.50 0.104517 -217.50 177.50 17.50 0.130089 -217.50 177.50 22.50 0.242646 -217.50 177.50 27.50 0.493238 -217.50 177.50 32.50 0.816791 -217.50 177.50 37.50 0.961443 -217.50 177.50 42.50 0.764686 -217.50 177.50 47.50 0.423001 -217.50 177.50 52.50 0.182192 -217.50 177.50 57.50 0.0734261 -217.50 177.50 62.50 0.0411975 -217.50 177.50 67.50 0.0545772 -217.50 177.50 72.50 0.0829735 -217.50 177.50 77.50 0.103349 -217.50 177.50 82.50 0.110487 -217.50 177.50 87.50 0.114934 -217.50 177.50 92.50 0.116068 -217.50 177.50 97.50 0.109438 -217.50 177.50 102.50 0.104517 -217.50 177.50 107.50 0.130089 -217.50 177.50 112.50 0.242646 -217.50 177.50 117.50 0.493238 -217.50 177.50 122.50 0.816792 -217.50 177.50 127.50 0.961443 -217.50 177.50 132.50 0.764686 -217.50 177.50 137.50 0.423001 -217.50 177.50 142.50 0.182192 -217.50 177.50 147.50 0.0734261 -217.50 177.50 152.50 0.0411975 -217.50 177.50 157.50 0.0545772 -217.50 177.50 162.50 0.0829735 -217.50 177.50 167.50 0.103349 -217.50 177.50 172.50 0.110487 -217.50 177.50 177.50 0.114934 -217.50 177.50 182.50 0.116068 -217.50 177.50 187.50 0.109438 -217.50 177.50 192.50 0.104517 -217.50 177.50 197.50 0.130089 -217.50 177.50 202.50 0.242646 -217.50 177.50 207.50 0.493238 -217.50 177.50 212.50 0.816792 -217.50 177.50 217.50 0.961442 -217.50 177.50 222.50 0.764686 -217.50 177.50 227.50 0.423002 -217.50 177.50 232.50 0.182192 -217.50 177.50 237.50 0.073426 -217.50 177.50 242.50 0.0411975 -217.50 177.50 247.50 0.0545772 -217.50 177.50 252.50 0.0829735 -217.50 177.50 257.50 0.103349 -217.50 177.50 262.50 0.110487 -217.50 177.50 267.50 0.114934 -217.50 177.50 272.50 0.116068 -217.50 177.50 277.50 0.109438 -217.50 177.50 282.50 0.104517 -217.50 177.50 287.50 0.130088 -217.50 177.50 292.50 0.242646 -217.50 177.50 297.50 0.493238 -217.50 177.50 302.50 0.816792 -217.50 177.50 307.50 0.961442 -217.50 177.50 312.50 0.764686 -217.50 177.50 317.50 0.423002 -217.50 177.50 322.50 0.182192 -217.50 177.50 327.50 0.0734261 -217.50 177.50 332.50 0.0411975 -217.50 177.50 337.50 0.0545771 -217.50 177.50 342.50 0.0829735 -217.50 177.50 347.50 0.103349 -217.50 177.50 352.50 0.110487 -217.50 177.50 357.50 0.114934 -222.50 2.50 2.50 0.083846 -222.50 2.50 7.50 0.084539 -222.50 2.50 12.50 0.083846 -222.50 2.50 17.50 0.0760385 -222.50 2.50 22.50 0.0601603 -222.50 2.50 27.50 0.0485219 -222.50 2.50 32.50 0.0624685 -222.50 2.50 37.50 0.149977 -222.50 2.50 42.50 0.393272 -222.50 2.50 47.50 0.773179 -222.50 2.50 52.50 0.980476 -222.50 2.50 57.50 0.773179 -222.50 2.50 62.50 0.393272 -222.50 2.50 67.50 0.149977 -222.50 2.50 72.50 0.0624686 -222.50 2.50 77.50 0.0485219 -222.50 2.50 82.50 0.0601603 -222.50 2.50 87.50 0.0760385 -222.50 2.50 92.50 0.083846 -222.50 2.50 97.50 0.084539 -222.50 2.50 102.50 0.083846 -222.50 2.50 107.50 0.0760385 -222.50 2.50 112.50 0.0601603 -222.50 2.50 117.50 0.0485219 -222.50 2.50 122.50 0.0624686 -222.50 2.50 127.50 0.149977 -222.50 2.50 132.50 0.393273 -222.50 2.50 137.50 0.773179 -222.50 2.50 142.50 0.980476 -222.50 2.50 147.50 0.773179 -222.50 2.50 152.50 0.393273 -222.50 2.50 157.50 0.149977 -222.50 2.50 162.50 0.0624686 -222.50 2.50 167.50 0.0485219 -222.50 2.50 172.50 0.0601603 -222.50 2.50 177.50 0.0760385 -222.50 2.50 182.50 0.083846 -222.50 2.50 187.50 0.084539 -222.50 2.50 192.50 0.083846 -222.50 2.50 197.50 0.0760385 -222.50 2.50 202.50 0.0601603 -222.50 2.50 207.50 0.0485219 -222.50 2.50 212.50 0.0624685 -222.50 2.50 217.50 0.149977 -222.50 2.50 222.50 0.393272 -222.50 2.50 227.50 0.773178 -222.50 2.50 232.50 0.980476 -222.50 2.50 237.50 0.773178 -222.50 2.50 242.50 0.393272 -222.50 2.50 247.50 0.149977 -222.50 2.50 252.50 0.0624685 -222.50 2.50 257.50 0.0485219 -222.50 2.50 262.50 0.0601603 -222.50 2.50 267.50 0.0760386 -222.50 2.50 272.50 0.083846 -222.50 2.50 277.50 0.084539 -222.50 2.50 282.50 0.083846 -222.50 2.50 287.50 0.0760385 -222.50 2.50 292.50 0.0601603 -222.50 2.50 297.50 0.0485219 -222.50 2.50 302.50 0.0624686 -222.50 2.50 307.50 0.149977 -222.50 2.50 312.50 0.393272 -222.50 2.50 317.50 0.773178 -222.50 2.50 322.50 0.980476 -222.50 2.50 327.50 0.773179 -222.50 2.50 332.50 0.393273 -222.50 2.50 337.50 0.149977 -222.50 2.50 342.50 0.0624687 -222.50 2.50 347.50 0.0485219 -222.50 2.50 352.50 0.0601602 -222.50 2.50 357.50 0.0760385 -222.50 7.50 2.50 0.12541 -222.50 7.50 7.50 0.119002 -222.50 7.50 12.50 0.110057 -222.50 7.50 17.50 0.0897008 -222.50 7.50 22.50 0.0626697 -222.50 7.50 27.50 0.0483576 -222.50 7.50 32.50 0.0709712 -222.50 7.50 37.50 0.176458 -222.50 7.50 42.50 0.425681 -222.50 7.50 47.50 0.774996 -222.50 7.50 52.50 0.958468 -222.50 7.50 57.50 0.792093 -222.50 7.50 62.50 0.462255 -222.50 7.50 67.50 0.232953 -222.50 7.50 72.50 0.140119 -222.50 7.50 77.50 0.118243 -222.50 7.50 82.50 0.120838 -222.50 7.50 87.50 0.126956 -222.50 7.50 92.50 0.12541 -222.50 7.50 97.50 0.119002 -222.50 7.50 102.50 0.110057 -222.50 7.50 107.50 0.0897008 -222.50 7.50 112.50 0.0626697 -222.50 7.50 117.50 0.0483576 -222.50 7.50 122.50 0.0709713 -222.50 7.50 127.50 0.176458 -222.50 7.50 132.50 0.425681 -222.50 7.50 137.50 0.774996 -222.50 7.50 142.50 0.958468 -222.50 7.50 147.50 0.792094 -222.50 7.50 152.50 0.462256 -222.50 7.50 157.50 0.232954 -222.50 7.50 162.50 0.140119 -222.50 7.50 167.50 0.118243 -222.50 7.50 172.50 0.120838 -222.50 7.50 177.50 0.126956 -222.50 7.50 182.50 0.12541 -222.50 7.50 187.50 0.119002 -222.50 7.50 192.50 0.110057 -222.50 7.50 197.50 0.0897009 -222.50 7.50 202.50 0.0626696 -222.50 7.50 207.50 0.0483575 -222.50 7.50 212.50 0.0709712 -222.50 7.50 217.50 0.176459 -222.50 7.50 222.50 0.425681 -222.50 7.50 227.50 0.774995 -222.50 7.50 232.50 0.958468 -222.50 7.50 237.50 0.792093 -222.50 7.50 242.50 0.462256 -222.50 7.50 247.50 0.232953 -222.50 7.50 252.50 0.140119 -222.50 7.50 257.50 0.118243 -222.50 7.50 262.50 0.120838 -222.50 7.50 267.50 0.126956 -222.50 7.50 272.50 0.12541 -222.50 7.50 277.50 0.119002 -222.50 7.50 282.50 0.110057 -222.50 7.50 287.50 0.0897008 -222.50 7.50 292.50 0.0626697 -222.50 7.50 297.50 0.0483575 -222.50 7.50 302.50 0.0709712 -222.50 7.50 307.50 0.176458 -222.50 7.50 312.50 0.425681 -222.50 7.50 317.50 0.774995 -222.50 7.50 322.50 0.958468 -222.50 7.50 327.50 0.792094 -222.50 7.50 332.50 0.462256 -222.50 7.50 337.50 0.232954 -222.50 7.50 342.50 0.140119 -222.50 7.50 347.50 0.118243 -222.50 7.50 352.50 0.120838 -222.50 7.50 357.50 0.126956 -222.50 12.50 2.50 0.244556 -222.50 12.50 7.50 0.204062 -222.50 12.50 12.50 0.164515 -222.50 12.50 17.50 0.108297 -222.50 12.50 22.50 0.0673723 -222.50 12.50 27.50 0.0569904 -222.50 12.50 32.50 0.102746 -222.50 12.50 37.50 0.244358 -222.50 12.50 42.50 0.541711 -222.50 12.50 47.50 0.953291 -222.50 12.50 52.50 1.21402 -222.50 12.50 57.50 1.10121 -222.50 12.50 62.50 0.777772 -222.50 12.50 67.50 0.526486 -222.50 12.50 72.50 0.416338 -222.50 12.50 77.50 0.362094 -222.50 12.50 82.50 0.329846 -222.50 12.50 87.50 0.291897 -222.50 12.50 92.50 0.244556 -222.50 12.50 97.50 0.204062 -222.50 12.50 102.50 0.164515 -222.50 12.50 107.50 0.108297 -222.50 12.50 112.50 0.0673723 -222.50 12.50 117.50 0.0569905 -222.50 12.50 122.50 0.102746 -222.50 12.50 127.50 0.244358 -222.50 12.50 132.50 0.541711 -222.50 12.50 137.50 0.953291 -222.50 12.50 142.50 1.21402 -222.50 12.50 147.50 1.10121 -222.50 12.50 152.50 0.777773 -222.50 12.50 157.50 0.526486 -222.50 12.50 162.50 0.416338 -222.50 12.50 167.50 0.362094 -222.50 12.50 172.50 0.329846 -222.50 12.50 177.50 0.291897 -222.50 12.50 182.50 0.244556 -222.50 12.50 187.50 0.204062 -222.50 12.50 192.50 0.164515 -222.50 12.50 197.50 0.108297 -222.50 12.50 202.50 0.0673723 -222.50 12.50 207.50 0.0569904 -222.50 12.50 212.50 0.102746 -222.50 12.50 217.50 0.244358 -222.50 12.50 222.50 0.541711 -222.50 12.50 227.50 0.953291 -222.50 12.50 232.50 1.21402 -222.50 12.50 237.50 1.10121 -222.50 12.50 242.50 0.777772 -222.50 12.50 247.50 0.526486 -222.50 12.50 252.50 0.416337 -222.50 12.50 257.50 0.362093 -222.50 12.50 262.50 0.329846 -222.50 12.50 267.50 0.291897 -222.50 12.50 272.50 0.244556 -222.50 12.50 277.50 0.204062 -222.50 12.50 282.50 0.164515 -222.50 12.50 287.50 0.108297 -222.50 12.50 292.50 0.0673724 -222.50 12.50 297.50 0.0569904 -222.50 12.50 302.50 0.102746 -222.50 12.50 307.50 0.244358 -222.50 12.50 312.50 0.54171 -222.50 12.50 317.50 0.95329 -222.50 12.50 322.50 1.21402 -222.50 12.50 327.50 1.10121 -222.50 12.50 332.50 0.777774 -222.50 12.50 337.50 0.526487 -222.50 12.50 342.50 0.416338 -222.50 12.50 347.50 0.362094 -222.50 12.50 352.50 0.329846 -222.50 12.50 357.50 0.291898 -222.50 17.50 2.50 0.460877 -222.50 17.50 7.50 0.30253 -222.50 17.50 12.50 0.192319 -222.50 17.50 17.50 0.118854 -222.50 17.50 22.50 0.0626106 -222.50 17.50 27.50 0.0515304 -222.50 17.50 32.50 0.110501 -222.50 17.50 37.50 0.268721 -222.50 17.50 42.50 0.554865 -222.50 17.50 47.50 0.970133 -222.50 17.50 52.50 1.33987 -222.50 17.50 57.50 1.42006 -222.50 17.50 62.50 1.25223 -222.50 17.50 67.50 1.10149 -222.50 17.50 72.50 1.04354 -222.50 17.50 77.50 0.968018 -222.50 17.50 82.50 0.816206 -222.50 17.50 87.50 0.652798 -222.50 17.50 92.50 0.460876 -222.50 17.50 97.50 0.30253 -222.50 17.50 102.50 0.192319 -222.50 17.50 107.50 0.118854 -222.50 17.50 112.50 0.0626106 -222.50 17.50 117.50 0.0515304 -222.50 17.50 122.50 0.110501 -222.50 17.50 127.50 0.268721 -222.50 17.50 132.50 0.554866 -222.50 17.50 137.50 0.970133 -222.50 17.50 142.50 1.33987 -222.50 17.50 147.50 1.42006 -222.50 17.50 152.50 1.25223 -222.50 17.50 157.50 1.10149 -222.50 17.50 162.50 1.04354 -222.50 17.50 167.50 0.968019 -222.50 17.50 172.50 0.816206 -222.50 17.50 177.50 0.652798 -222.50 17.50 182.50 0.460876 -222.50 17.50 187.50 0.30253 -222.50 17.50 192.50 0.192319 -222.50 17.50 197.50 0.118854 -222.50 17.50 202.50 0.0626106 -222.50 17.50 207.50 0.0515304 -222.50 17.50 212.50 0.1105 -222.50 17.50 217.50 0.268721 -222.50 17.50 222.50 0.554866 -222.50 17.50 227.50 0.970133 -222.50 17.50 232.50 1.33987 -222.50 17.50 237.50 1.42006 -222.50 17.50 242.50 1.25223 -222.50 17.50 247.50 1.10149 -222.50 17.50 252.50 1.04354 -222.50 17.50 257.50 0.968018 -222.50 17.50 262.50 0.816206 -222.50 17.50 267.50 0.652798 -222.50 17.50 272.50 0.460877 -222.50 17.50 277.50 0.30253 -222.50 17.50 282.50 0.192319 -222.50 17.50 287.50 0.118854 -222.50 17.50 292.50 0.0626106 -222.50 17.50 297.50 0.0515303 -222.50 17.50 302.50 0.1105 -222.50 17.50 307.50 0.268721 -222.50 17.50 312.50 0.554866 -222.50 17.50 317.50 0.970132 -222.50 17.50 322.50 1.33987 -222.50 17.50 327.50 1.42006 -222.50 17.50 332.50 1.25223 -222.50 17.50 337.50 1.10149 -222.50 17.50 342.50 1.04354 -222.50 17.50 347.50 0.968019 -222.50 17.50 352.50 0.816206 -222.50 17.50 357.50 0.652798 -222.50 22.50 2.50 0.865462 -222.50 22.50 7.50 0.430564 -222.50 22.50 12.50 0.202848 -222.50 22.50 17.50 0.0932949 -222.50 22.50 22.50 0.0366079 -222.50 22.50 27.50 0.0302528 -222.50 22.50 32.50 0.0784523 -222.50 22.50 37.50 0.206481 -222.50 22.50 42.50 0.456506 -222.50 22.50 47.50 0.847795 -222.50 22.50 52.50 1.30256 -222.50 22.50 57.50 1.62272 -222.50 22.50 62.50 1.76641 -222.50 22.50 67.50 1.89594 -222.50 22.50 72.50 2.04577 -222.50 22.50 77.50 2.05423 -222.50 22.50 82.50 1.8292 -222.50 22.50 87.50 1.38244 -222.50 22.50 92.50 0.865462 -222.50 22.50 97.50 0.430564 -222.50 22.50 102.50 0.202848 -222.50 22.50 107.50 0.0932949 -222.50 22.50 112.50 0.0366079 -222.50 22.50 117.50 0.0302528 -222.50 22.50 122.50 0.0784524 -222.50 22.50 127.50 0.206481 -222.50 22.50 132.50 0.456506 -222.50 22.50 137.50 0.847795 -222.50 22.50 142.50 1.30256 -222.50 22.50 147.50 1.62272 -222.50 22.50 152.50 1.76641 -222.50 22.50 157.50 1.89594 -222.50 22.50 162.50 2.04577 -222.50 22.50 167.50 2.05423 -222.50 22.50 172.50 1.8292 -222.50 22.50 177.50 1.38244 -222.50 22.50 182.50 0.865462 -222.50 22.50 187.50 0.430564 -222.50 22.50 192.50 0.202848 -222.50 22.50 197.50 0.0932949 -222.50 22.50 202.50 0.0366079 -222.50 22.50 207.50 0.0302528 -222.50 22.50 212.50 0.0784523 -222.50 22.50 217.50 0.206481 -222.50 22.50 222.50 0.456506 -222.50 22.50 227.50 0.847794 -222.50 22.50 232.50 1.30256 -222.50 22.50 237.50 1.62272 -222.50 22.50 242.50 1.76641 -222.50 22.50 247.50 1.89594 -222.50 22.50 252.50 2.04577 -222.50 22.50 257.50 2.05423 -222.50 22.50 262.50 1.8292 -222.50 22.50 267.50 1.38244 -222.50 22.50 272.50 0.865462 -222.50 22.50 277.50 0.430564 -222.50 22.50 282.50 0.202848 -222.50 22.50 287.50 0.093295 -222.50 22.50 292.50 0.036608 -222.50 22.50 297.50 0.0302528 -222.50 22.50 302.50 0.0784522 -222.50 22.50 307.50 0.206481 -222.50 22.50 312.50 0.456506 -222.50 22.50 317.50 0.847794 -222.50 22.50 322.50 1.30256 -222.50 22.50 327.50 1.62272 -222.50 22.50 332.50 1.76641 -222.50 22.50 337.50 1.89594 -222.50 22.50 342.50 2.04577 -222.50 22.50 347.50 2.05423 -222.50 22.50 352.50 1.8292 -222.50 22.50 357.50 1.38244 -222.50 27.50 2.50 1.46809 -222.50 27.50 7.50 0.620965 -222.50 27.50 12.50 0.227896 -222.50 27.50 17.50 0.0670519 -222.50 27.50 22.50 0.0183379 -222.50 27.50 27.50 0.0123625 -222.50 27.50 32.50 0.0369169 -222.50 27.50 37.50 0.121999 -222.50 27.50 42.50 0.295948 -222.50 27.50 47.50 0.60778 -222.50 27.50 52.50 1.09447 -222.50 27.50 57.50 1.61011 -222.50 27.50 62.50 2.10945 -222.50 27.50 67.50 2.5845 -222.50 27.50 72.50 3.1379 -222.50 27.50 77.50 3.52194 -222.50 27.50 82.50 3.31096 -222.50 27.50 87.50 2.50208 -222.50 27.50 92.50 1.46809 -222.50 27.50 97.50 0.620965 -222.50 27.50 102.50 0.227896 -222.50 27.50 107.50 0.0670519 -222.50 27.50 112.50 0.0183379 -222.50 27.50 117.50 0.0123625 -222.50 27.50 122.50 0.0369169 -222.50 27.50 127.50 0.121999 -222.50 27.50 132.50 0.295948 -222.50 27.50 137.50 0.60778 -222.50 27.50 142.50 1.09447 -222.50 27.50 147.50 1.61011 -222.50 27.50 152.50 2.10945 -222.50 27.50 157.50 2.5845 -222.50 27.50 162.50 3.1379 -222.50 27.50 167.50 3.52194 -222.50 27.50 172.50 3.31096 -222.50 27.50 177.50 2.50208 -222.50 27.50 182.50 1.46809 -222.50 27.50 187.50 0.620965 -222.50 27.50 192.50 0.227896 -222.50 27.50 197.50 0.0670519 -222.50 27.50 202.50 0.0183379 -222.50 27.50 207.50 0.0123625 -222.50 27.50 212.50 0.0369169 -222.50 27.50 217.50 0.121999 -222.50 27.50 222.50 0.295948 -222.50 27.50 227.50 0.607779 -222.50 27.50 232.50 1.09447 -222.50 27.50 237.50 1.61011 -222.50 27.50 242.50 2.10945 -222.50 27.50 247.50 2.5845 -222.50 27.50 252.50 3.1379 -222.50 27.50 257.50 3.52194 -222.50 27.50 262.50 3.31096 -222.50 27.50 267.50 2.50208 -222.50 27.50 272.50 1.46809 -222.50 27.50 277.50 0.620966 -222.50 27.50 282.50 0.227896 -222.50 27.50 287.50 0.0670519 -222.50 27.50 292.50 0.0183379 -222.50 27.50 297.50 0.0123625 -222.50 27.50 302.50 0.0369169 -222.50 27.50 307.50 0.121998 -222.50 27.50 312.50 0.295948 -222.50 27.50 317.50 0.607779 -222.50 27.50 322.50 1.09447 -222.50 27.50 327.50 1.61011 -222.50 27.50 332.50 2.10945 -222.50 27.50 337.50 2.5845 -222.50 27.50 342.50 3.1379 -222.50 27.50 347.50 3.52195 -222.50 27.50 352.50 3.31096 -222.50 27.50 357.50 2.50208 -222.50 32.50 2.50 2.09891 -222.50 32.50 7.50 0.876377 -222.50 32.50 12.50 0.300781 -222.50 32.50 17.50 0.0728056 -222.50 32.50 22.50 0.0201629 -222.50 32.50 27.50 0.00703296 -222.50 32.50 32.50 0.0167838 -222.50 32.50 37.50 0.056572 -222.50 32.50 42.50 0.149517 -222.50 32.50 47.50 0.374034 -222.50 32.50 52.50 0.781111 -222.50 32.50 57.50 1.33779 -222.50 32.50 62.50 2.00439 -222.50 32.50 67.50 2.88773 -222.50 32.50 72.50 3.92309 -222.50 32.50 77.50 4.86415 -222.50 32.50 82.50 4.76941 -222.50 32.50 87.50 3.6603 -222.50 32.50 92.50 2.09891 -222.50 32.50 97.50 0.876377 -222.50 32.50 102.50 0.300781 -222.50 32.50 107.50 0.0728056 -222.50 32.50 112.50 0.0201629 -222.50 32.50 117.50 0.00703295 -222.50 32.50 122.50 0.0167838 -222.50 32.50 127.50 0.056572 -222.50 32.50 132.50 0.149518 -222.50 32.50 137.50 0.374034 -222.50 32.50 142.50 0.781112 -222.50 32.50 147.50 1.33779 -222.50 32.50 152.50 2.00439 -222.50 32.50 157.50 2.88773 -222.50 32.50 162.50 3.92309 -222.50 32.50 167.50 4.86414 -222.50 32.50 172.50 4.76941 -222.50 32.50 177.50 3.6603 -222.50 32.50 182.50 2.09891 -222.50 32.50 187.50 0.876376 -222.50 32.50 192.50 0.300781 -222.50 32.50 197.50 0.0728056 -222.50 32.50 202.50 0.0201629 -222.50 32.50 207.50 0.00703295 -222.50 32.50 212.50 0.0167838 -222.50 32.50 217.50 0.0565719 -222.50 32.50 222.50 0.149517 -222.50 32.50 227.50 0.374034 -222.50 32.50 232.50 0.781113 -222.50 32.50 237.50 1.33779 -222.50 32.50 242.50 2.00439 -222.50 32.50 247.50 2.88773 -222.50 32.50 252.50 3.92309 -222.50 32.50 257.50 4.86415 -222.50 32.50 262.50 4.76941 -222.50 32.50 267.50 3.6603 -222.50 32.50 272.50 2.09891 -222.50 32.50 277.50 0.876377 -222.50 32.50 282.50 0.300781 -222.50 32.50 287.50 0.0728057 -222.50 32.50 292.50 0.0201629 -222.50 32.50 297.50 0.00703296 -222.50 32.50 302.50 0.0167838 -222.50 32.50 307.50 0.0565719 -222.50 32.50 312.50 0.149517 -222.50 32.50 317.50 0.374034 -222.50 32.50 322.50 0.78111 -222.50 32.50 327.50 1.33779 -222.50 32.50 332.50 2.00439 -222.50 32.50 337.50 2.88773 -222.50 32.50 342.50 3.92308 -222.50 32.50 347.50 4.86414 -222.50 32.50 352.50 4.76942 -222.50 32.50 357.50 3.66031 -222.50 37.50 2.50 2.5719 -222.50 37.50 7.50 1.19069 -222.50 37.50 12.50 0.434884 -222.50 37.50 17.50 0.135582 -222.50 37.50 22.50 0.043142 -222.50 37.50 27.50 0.0133018 -222.50 37.50 32.50 0.00792702 -222.50 37.50 37.50 0.0182778 -222.50 37.50 42.50 0.0612543 -222.50 37.50 47.50 0.179555 -222.50 37.50 52.50 0.452483 -222.50 37.50 57.50 0.949381 -222.50 37.50 62.50 1.68935 -222.50 37.50 67.50 2.7557 -222.50 37.50 72.50 4.15186 -222.50 37.50 77.50 5.38266 -222.50 37.50 82.50 5.56068 -222.50 37.50 87.50 4.33165 -222.50 37.50 92.50 2.5719 -222.50 37.50 97.50 1.19069 -222.50 37.50 102.50 0.434885 -222.50 37.50 107.50 0.135582 -222.50 37.50 112.50 0.043142 -222.50 37.50 117.50 0.0133018 -222.50 37.50 122.50 0.00792702 -222.50 37.50 127.50 0.0182778 -222.50 37.50 132.50 0.0612543 -222.50 37.50 137.50 0.179555 -222.50 37.50 142.50 0.452483 -222.50 37.50 147.50 0.949381 -222.50 37.50 152.50 1.68934 -222.50 37.50 157.50 2.7557 -222.50 37.50 162.50 4.15187 -222.50 37.50 167.50 5.38265 -222.50 37.50 172.50 5.56068 -222.50 37.50 177.50 4.33166 -222.50 37.50 182.50 2.5719 -222.50 37.50 187.50 1.19068 -222.50 37.50 192.50 0.434884 -222.50 37.50 197.50 0.135582 -222.50 37.50 202.50 0.043142 -222.50 37.50 207.50 0.0133018 -222.50 37.50 212.50 0.00792702 -222.50 37.50 217.50 0.0182778 -222.50 37.50 222.50 0.0612542 -222.50 37.50 227.50 0.179554 -222.50 37.50 232.50 0.452484 -222.50 37.50 237.50 0.949382 -222.50 37.50 242.50 1.68935 -222.50 37.50 247.50 2.7557 -222.50 37.50 252.50 4.15187 -222.50 37.50 257.50 5.38265 -222.50 37.50 262.50 5.56068 -222.50 37.50 267.50 4.33165 -222.50 37.50 272.50 2.5719 -222.50 37.50 277.50 1.19069 -222.50 37.50 282.50 0.434885 -222.50 37.50 287.50 0.135582 -222.50 37.50 292.50 0.043142 -222.50 37.50 297.50 0.0133018 -222.50 37.50 302.50 0.00792701 -222.50 37.50 307.50 0.0182778 -222.50 37.50 312.50 0.0612542 -222.50 37.50 317.50 0.179554 -222.50 37.50 322.50 0.452483 -222.50 37.50 327.50 0.94938 -222.50 37.50 332.50 1.68934 -222.50 37.50 337.50 2.75569 -222.50 37.50 342.50 4.15186 -222.50 37.50 347.50 5.38265 -222.50 37.50 352.50 5.56069 -222.50 37.50 357.50 4.33166 -222.50 42.50 2.50 2.82217 -222.50 42.50 7.50 1.54074 -222.50 42.50 12.50 0.670173 -222.50 42.50 17.50 0.275822 -222.50 42.50 22.50 0.106825 -222.50 42.50 27.50 0.0429414 -222.50 42.50 32.50 0.0157733 -222.50 42.50 37.50 0.00804477 -222.50 42.50 42.50 0.0178265 -222.50 42.50 47.50 0.0618671 -222.50 42.50 52.50 0.216742 -222.50 42.50 57.50 0.596384 -222.50 42.50 62.50 1.25833 -222.50 42.50 67.50 2.23132 -222.50 42.50 72.50 3.64188 -222.50 42.50 77.50 4.97107 -222.50 42.50 82.50 5.35102 -222.50 42.50 87.50 4.31621 -222.50 42.50 92.50 2.82217 -222.50 42.50 97.50 1.54074 -222.50 42.50 102.50 0.670173 -222.50 42.50 107.50 0.275822 -222.50 42.50 112.50 0.106825 -222.50 42.50 117.50 0.0429414 -222.50 42.50 122.50 0.0157733 -222.50 42.50 127.50 0.00804478 -222.50 42.50 132.50 0.0178265 -222.50 42.50 137.50 0.061867 -222.50 42.50 142.50 0.216742 -222.50 42.50 147.50 0.596383 -222.50 42.50 152.50 1.25833 -222.50 42.50 157.50 2.23132 -222.50 42.50 162.50 3.64188 -222.50 42.50 167.50 4.97107 -222.50 42.50 172.50 5.35102 -222.50 42.50 177.50 4.31621 -222.50 42.50 182.50 2.82217 -222.50 42.50 187.50 1.54074 -222.50 42.50 192.50 0.670173 -222.50 42.50 197.50 0.275822 -222.50 42.50 202.50 0.106825 -222.50 42.50 207.50 0.0429414 -222.50 42.50 212.50 0.0157733 -222.50 42.50 217.50 0.00804477 -222.50 42.50 222.50 0.0178264 -222.50 42.50 227.50 0.061867 -222.50 42.50 232.50 0.216742 -222.50 42.50 237.50 0.596384 -222.50 42.50 242.50 1.25833 -222.50 42.50 247.50 2.23133 -222.50 42.50 252.50 3.64188 -222.50 42.50 257.50 4.97107 -222.50 42.50 262.50 5.35102 -222.50 42.50 267.50 4.3162 -222.50 42.50 272.50 2.82217 -222.50 42.50 277.50 1.54075 -222.50 42.50 282.50 0.670173 -222.50 42.50 287.50 0.275822 -222.50 42.50 292.50 0.106825 -222.50 42.50 297.50 0.0429414 -222.50 42.50 302.50 0.0157734 -222.50 42.50 307.50 0.00804476 -222.50 42.50 312.50 0.0178264 -222.50 42.50 317.50 0.0618669 -222.50 42.50 322.50 0.216741 -222.50 42.50 327.50 0.596382 -222.50 42.50 332.50 1.25833 -222.50 42.50 337.50 2.23132 -222.50 42.50 342.50 3.64187 -222.50 42.50 347.50 4.97107 -222.50 42.50 352.50 5.35102 -222.50 42.50 357.50 4.31621 -222.50 47.50 2.50 2.89161 -222.50 47.50 7.50 1.94107 -222.50 47.50 12.50 1.08401 -222.50 47.50 17.50 0.558399 -222.50 47.50 22.50 0.285512 -222.50 47.50 27.50 0.157549 -222.50 47.50 32.50 0.0687426 -222.50 47.50 37.50 0.0237158 -222.50 47.50 42.50 0.00780602 -222.50 47.50 47.50 0.0241607 -222.50 47.50 52.50 0.093261 -222.50 47.50 57.50 0.32591 -222.50 47.50 62.50 0.782798 -222.50 47.50 67.50 1.45077 -222.50 47.50 72.50 2.60093 -222.50 47.50 77.50 3.83832 -222.50 47.50 82.50 4.35753 -222.50 47.50 87.50 3.79369 -222.50 47.50 92.50 2.89161 -222.50 47.50 97.50 1.94107 -222.50 47.50 102.50 1.08401 -222.50 47.50 107.50 0.558399 -222.50 47.50 112.50 0.285512 -222.50 47.50 117.50 0.157549 -222.50 47.50 122.50 0.0687426 -222.50 47.50 127.50 0.0237158 -222.50 47.50 132.50 0.00780603 -222.50 47.50 137.50 0.0241607 -222.50 47.50 142.50 0.0932611 -222.50 47.50 147.50 0.32591 -222.50 47.50 152.50 0.782797 -222.50 47.50 157.50 1.45077 -222.50 47.50 162.50 2.60093 -222.50 47.50 167.50 3.83832 -222.50 47.50 172.50 4.35754 -222.50 47.50 177.50 3.79369 -222.50 47.50 182.50 2.8916 -222.50 47.50 187.50 1.94107 -222.50 47.50 192.50 1.08401 -222.50 47.50 197.50 0.558398 -222.50 47.50 202.50 0.285512 -222.50 47.50 207.50 0.157549 -222.50 47.50 212.50 0.0687426 -222.50 47.50 217.50 0.0237158 -222.50 47.50 222.50 0.00780602 -222.50 47.50 227.50 0.0241607 -222.50 47.50 232.50 0.0932615 -222.50 47.50 237.50 0.32591 -222.50 47.50 242.50 0.782798 -222.50 47.50 247.50 1.45077 -222.50 47.50 252.50 2.60093 -222.50 47.50 257.50 3.83832 -222.50 47.50 262.50 4.35753 -222.50 47.50 267.50 3.79369 -222.50 47.50 272.50 2.89161 -222.50 47.50 277.50 1.94107 -222.50 47.50 282.50 1.08401 -222.50 47.50 287.50 0.558399 -222.50 47.50 292.50 0.285512 -222.50 47.50 297.50 0.157549 -222.50 47.50 302.50 0.0687427 -222.50 47.50 307.50 0.0237158 -222.50 47.50 312.50 0.00780602 -222.50 47.50 317.50 0.0241606 -222.50 47.50 322.50 0.0932609 -222.50 47.50 327.50 0.325909 -222.50 47.50 332.50 0.782796 -222.50 47.50 337.50 1.45076 -222.50 47.50 342.50 2.60093 -222.50 47.50 347.50 3.83831 -222.50 47.50 352.50 4.35753 -222.50 47.50 357.50 3.79369 -222.50 52.50 2.50 2.82217 -222.50 52.50 7.50 2.41433 -222.50 52.50 12.50 1.74843 -222.50 52.50 17.50 1.12416 -222.50 52.50 22.50 0.760874 -222.50 52.50 27.50 0.491642 -222.50 52.50 32.50 0.242744 -222.50 52.50 37.50 0.0890094 -222.50 52.50 42.50 0.0219399 -222.50 52.50 47.50 0.0114427 -222.50 52.50 52.50 0.0405054 -222.50 52.50 57.50 0.138524 -222.50 52.50 62.50 0.342599 -222.50 52.50 67.50 0.7556 -222.50 52.50 72.50 1.47191 -222.50 52.50 77.50 2.40201 -222.50 52.50 82.50 2.97992 -222.50 52.50 87.50 2.99596 -222.50 52.50 92.50 2.82217 -222.50 52.50 97.50 2.41433 -222.50 52.50 102.50 1.74843 -222.50 52.50 107.50 1.12416 -222.50 52.50 112.50 0.760874 -222.50 52.50 117.50 0.491642 -222.50 52.50 122.50 0.242744 -222.50 52.50 127.50 0.0890095 -222.50 52.50 132.50 0.0219398 -222.50 52.50 137.50 0.0114427 -222.50 52.50 142.50 0.0405055 -222.50 52.50 147.50 0.138524 -222.50 52.50 152.50 0.342598 -222.50 52.50 157.50 0.7556 -222.50 52.50 162.50 1.47191 -222.50 52.50 167.50 2.402 -222.50 52.50 172.50 2.97992 -222.50 52.50 177.50 2.99596 -222.50 52.50 182.50 2.82217 -222.50 52.50 187.50 2.41433 -222.50 52.50 192.50 1.74843 -222.50 52.50 197.50 1.12415 -222.50 52.50 202.50 0.760873 -222.50 52.50 207.50 0.491642 -222.50 52.50 212.50 0.242744 -222.50 52.50 217.50 0.0890094 -222.50 52.50 222.50 0.0219399 -222.50 52.50 227.50 0.0114427 -222.50 52.50 232.50 0.0405056 -222.50 52.50 237.50 0.138524 -222.50 52.50 242.50 0.342599 -222.50 52.50 247.50 0.755602 -222.50 52.50 252.50 1.47191 -222.50 52.50 257.50 2.40201 -222.50 52.50 262.50 2.97992 -222.50 52.50 267.50 2.99596 -222.50 52.50 272.50 2.82217 -222.50 52.50 277.50 2.41433 -222.50 52.50 282.50 1.74843 -222.50 52.50 287.50 1.12416 -222.50 52.50 292.50 0.760874 -222.50 52.50 297.50 0.491642 -222.50 52.50 302.50 0.242744 -222.50 52.50 307.50 0.0890096 -222.50 52.50 312.50 0.0219399 -222.50 52.50 317.50 0.0114427 -222.50 52.50 322.50 0.0405053 -222.50 52.50 327.50 0.138523 -222.50 52.50 332.50 0.342598 -222.50 52.50 337.50 0.755599 -222.50 52.50 342.50 1.47191 -222.50 52.50 347.50 2.402 -222.50 52.50 352.50 2.97992 -222.50 52.50 357.50 2.99596 -222.50 57.50 2.50 2.5719 -222.50 57.50 7.50 2.88087 -222.50 57.50 12.50 2.61427 -222.50 57.50 17.50 2.15541 -222.50 57.50 22.50 1.69912 -222.50 57.50 27.50 1.1403 -222.50 57.50 32.50 0.627871 -222.50 57.50 37.50 0.272029 -222.50 57.50 42.50 0.0922263 -222.50 57.50 47.50 0.0340315 -222.50 57.50 52.50 0.0213053 -222.50 57.50 57.50 0.0472001 -222.50 57.50 62.50 0.120328 -222.50 57.50 67.50 0.290781 -222.50 57.50 72.50 0.615192 -222.50 57.50 77.50 1.10588 -222.50 57.50 82.50 1.63144 -222.50 57.50 87.50 2.08931 -222.50 57.50 92.50 2.5719 -222.50 57.50 97.50 2.88087 -222.50 57.50 102.50 2.61427 -222.50 57.50 107.50 2.15541 -222.50 57.50 112.50 1.69912 -222.50 57.50 117.50 1.1403 -222.50 57.50 122.50 0.627871 -222.50 57.50 127.50 0.272029 -222.50 57.50 132.50 0.0922263 -222.50 57.50 137.50 0.0340315 -222.50 57.50 142.50 0.0213053 -222.50 57.50 147.50 0.0472002 -222.50 57.50 152.50 0.120328 -222.50 57.50 157.50 0.290781 -222.50 57.50 162.50 0.615192 -222.50 57.50 167.50 1.10588 -222.50 57.50 172.50 1.63144 -222.50 57.50 177.50 2.08931 -222.50 57.50 182.50 2.5719 -222.50 57.50 187.50 2.88087 -222.50 57.50 192.50 2.61427 -222.50 57.50 197.50 2.1554 -222.50 57.50 202.50 1.69911 -222.50 57.50 207.50 1.1403 -222.50 57.50 212.50 0.62787 -222.50 57.50 217.50 0.272029 -222.50 57.50 222.50 0.0922264 -222.50 57.50 227.50 0.0340315 -222.50 57.50 232.50 0.0213053 -222.50 57.50 237.50 0.0472002 -222.50 57.50 242.50 0.120328 -222.50 57.50 247.50 0.290781 -222.50 57.50 252.50 0.615192 -222.50 57.50 257.50 1.10588 -222.50 57.50 262.50 1.63144 -222.50 57.50 267.50 2.08932 -222.50 57.50 272.50 2.5719 -222.50 57.50 277.50 2.88087 -222.50 57.50 282.50 2.61427 -222.50 57.50 287.50 2.15541 -222.50 57.50 292.50 1.69912 -222.50 57.50 297.50 1.1403 -222.50 57.50 302.50 0.627871 -222.50 57.50 307.50 0.272029 -222.50 57.50 312.50 0.0922264 -222.50 57.50 317.50 0.0340315 -222.50 57.50 322.50 0.0213052 -222.50 57.50 327.50 0.0472 -222.50 57.50 332.50 0.120327 -222.50 57.50 337.50 0.29078 -222.50 57.50 342.50 0.61519 -222.50 57.50 347.50 1.10588 -222.50 57.50 352.50 1.63143 -222.50 57.50 357.50 2.08931 -222.50 62.50 2.50 2.09891 -222.50 62.50 7.50 3.04219 -222.50 62.50 12.50 3.34241 -222.50 62.50 17.50 3.28472 -222.50 62.50 22.50 2.95149 -222.50 62.50 27.50 2.16851 -222.50 62.50 32.50 1.36584 -222.50 62.50 37.50 0.737197 -222.50 62.50 42.50 0.322303 -222.50 62.50 47.50 0.115115 -222.50 62.50 52.50 0.0414453 -222.50 62.50 57.50 0.0268446 -222.50 62.50 62.50 0.0354014 -222.50 62.50 67.50 0.0769287 -222.50 62.50 72.50 0.177979 -222.50 62.50 77.50 0.388318 -222.50 62.50 82.50 0.716828 -222.50 62.50 87.50 1.29488 -222.50 62.50 92.50 2.09891 -222.50 62.50 97.50 3.04219 -222.50 62.50 102.50 3.34241 -222.50 62.50 107.50 3.28472 -222.50 62.50 112.50 2.95149 -222.50 62.50 117.50 2.16851 -222.50 62.50 122.50 1.36584 -222.50 62.50 127.50 0.737196 -222.50 62.50 132.50 0.322303 -222.50 62.50 137.50 0.115115 -222.50 62.50 142.50 0.0414453 -222.50 62.50 147.50 0.0268446 -222.50 62.50 152.50 0.0354014 -222.50 62.50 157.50 0.0769286 -222.50 62.50 162.50 0.177979 -222.50 62.50 167.50 0.388318 -222.50 62.50 172.50 0.716828 -222.50 62.50 177.50 1.29488 -222.50 62.50 182.50 2.09891 -222.50 62.50 187.50 3.0422 -222.50 62.50 192.50 3.34241 -222.50 62.50 197.50 3.28472 -222.50 62.50 202.50 2.95149 -222.50 62.50 207.50 2.16851 -222.50 62.50 212.50 1.36584 -222.50 62.50 217.50 0.737197 -222.50 62.50 222.50 0.322303 -222.50 62.50 227.50 0.115115 -222.50 62.50 232.50 0.0414452 -222.50 62.50 237.50 0.0268446 -222.50 62.50 242.50 0.0354014 -222.50 62.50 247.50 0.0769288 -222.50 62.50 252.50 0.177979 -222.50 62.50 257.50 0.388319 -222.50 62.50 262.50 0.716829 -222.50 62.50 267.50 1.29488 -222.50 62.50 272.50 2.09891 -222.50 62.50 277.50 3.0422 -222.50 62.50 282.50 3.34241 -222.50 62.50 287.50 3.28472 -222.50 62.50 292.50 2.95149 -222.50 62.50 297.50 2.16851 -222.50 62.50 302.50 1.36584 -222.50 62.50 307.50 0.737197 -222.50 62.50 312.50 0.322303 -222.50 62.50 317.50 0.115115 -222.50 62.50 322.50 0.0414453 -222.50 62.50 327.50 0.0268446 -222.50 62.50 332.50 0.0354013 -222.50 62.50 337.50 0.0769283 -222.50 62.50 342.50 0.177978 -222.50 62.50 347.50 0.388318 -222.50 62.50 352.50 0.716826 -222.50 62.50 357.50 1.29488 -222.50 67.50 2.50 1.46809 -222.50 67.50 7.50 2.6495 -222.50 67.50 12.50 3.43339 -222.50 67.50 17.50 3.88848 -222.50 67.50 22.50 4.01289 -222.50 67.50 27.50 3.45573 -222.50 67.50 32.50 2.44198 -222.50 67.50 37.50 1.48181 -222.50 67.50 42.50 0.799247 -222.50 67.50 47.50 0.347313 -222.50 67.50 52.50 0.111848 -222.50 67.50 57.50 0.0359556 -222.50 67.50 62.50 0.0165972 -222.50 67.50 67.50 0.014683 -222.50 67.50 72.50 0.0407373 -222.50 67.50 77.50 0.113132 -222.50 67.50 82.50 0.294579 -222.50 67.50 87.50 0.717389 -222.50 67.50 92.50 1.46809 -222.50 67.50 97.50 2.6495 -222.50 67.50 102.50 3.43339 -222.50 67.50 107.50 3.88848 -222.50 67.50 112.50 4.01289 -222.50 67.50 117.50 3.45573 -222.50 67.50 122.50 2.44198 -222.50 67.50 127.50 1.48181 -222.50 67.50 132.50 0.799247 -222.50 67.50 137.50 0.347313 -222.50 67.50 142.50 0.111848 -222.50 67.50 147.50 0.0359556 -222.50 67.50 152.50 0.0165972 -222.50 67.50 157.50 0.014683 -222.50 67.50 162.50 0.0407373 -222.50 67.50 167.50 0.113132 -222.50 67.50 172.50 0.294578 -222.50 67.50 177.50 0.717388 -222.50 67.50 182.50 1.46809 -222.50 67.50 187.50 2.6495 -222.50 67.50 192.50 3.4334 -222.50 67.50 197.50 3.88848 -222.50 67.50 202.50 4.01288 -222.50 67.50 207.50 3.45573 -222.50 67.50 212.50 2.44198 -222.50 67.50 217.50 1.48181 -222.50 67.50 222.50 0.799248 -222.50 67.50 227.50 0.347313 -222.50 67.50 232.50 0.111848 -222.50 67.50 237.50 0.0359555 -222.50 67.50 242.50 0.0165972 -222.50 67.50 247.50 0.014683 -222.50 67.50 252.50 0.0407374 -222.50 67.50 257.50 0.113132 -222.50 67.50 262.50 0.294579 -222.50 67.50 267.50 0.71739 -222.50 67.50 272.50 1.46809 -222.50 67.50 277.50 2.6495 -222.50 67.50 282.50 3.43339 -222.50 67.50 287.50 3.88848 -222.50 67.50 292.50 4.01288 -222.50 67.50 297.50 3.45573 -222.50 67.50 302.50 2.44198 -222.50 67.50 307.50 1.48181 -222.50 67.50 312.50 0.799248 -222.50 67.50 317.50 0.347313 -222.50 67.50 322.50 0.111848 -222.50 67.50 327.50 0.0359556 -222.50 67.50 332.50 0.0165972 -222.50 67.50 337.50 0.014683 -222.50 67.50 342.50 0.0407372 -222.50 67.50 347.50 0.113131 -222.50 67.50 352.50 0.294578 -222.50 67.50 357.50 0.717388 -222.50 72.50 2.50 0.865462 -222.50 72.50 7.50 1.85128 -222.50 72.50 12.50 2.81009 -222.50 72.50 17.50 3.69294 -222.50 72.50 22.50 4.22339 -222.50 72.50 27.50 4.06195 -222.50 72.50 32.50 3.21611 -222.50 72.50 37.50 2.19212 -222.50 72.50 42.50 1.29999 -222.50 72.50 47.50 0.621738 -222.50 72.50 52.50 0.233453 -222.50 72.50 57.50 0.065097 -222.50 72.50 62.50 0.0195935 -222.50 72.50 67.50 0.00708077 -222.50 72.50 72.50 0.0110045 -222.50 72.50 77.50 0.0369399 -222.50 72.50 82.50 0.120599 -222.50 72.50 87.50 0.360265 -222.50 72.50 92.50 0.865462 -222.50 72.50 97.50 1.85129 -222.50 72.50 102.50 2.81009 -222.50 72.50 107.50 3.69294 -222.50 72.50 112.50 4.22339 -222.50 72.50 117.50 4.06195 -222.50 72.50 122.50 3.2161 -222.50 72.50 127.50 2.19212 -222.50 72.50 132.50 1.29999 -222.50 72.50 137.50 0.621738 -222.50 72.50 142.50 0.233453 -222.50 72.50 147.50 0.0650971 -222.50 72.50 152.50 0.0195936 -222.50 72.50 157.50 0.00708079 -222.50 72.50 162.50 0.0110045 -222.50 72.50 167.50 0.0369399 -222.50 72.50 172.50 0.120598 -222.50 72.50 177.50 0.360265 -222.50 72.50 182.50 0.865463 -222.50 72.50 187.50 1.85129 -222.50 72.50 192.50 2.81009 -222.50 72.50 197.50 3.69294 -222.50 72.50 202.50 4.22339 -222.50 72.50 207.50 4.06195 -222.50 72.50 212.50 3.2161 -222.50 72.50 217.50 2.19212 -222.50 72.50 222.50 1.29999 -222.50 72.50 227.50 0.621738 -222.50 72.50 232.50 0.233453 -222.50 72.50 237.50 0.0650969 -222.50 72.50 242.50 0.0195935 -222.50 72.50 247.50 0.00708078 -222.50 72.50 252.50 0.0110045 -222.50 72.50 257.50 0.03694 -222.50 72.50 262.50 0.120599 -222.50 72.50 267.50 0.360266 -222.50 72.50 272.50 0.865462 -222.50 72.50 277.50 1.85129 -222.50 72.50 282.50 2.81009 -222.50 72.50 287.50 3.69294 -222.50 72.50 292.50 4.22339 -222.50 72.50 297.50 4.06195 -222.50 72.50 302.50 3.21611 -222.50 72.50 307.50 2.19212 -222.50 72.50 312.50 1.29999 -222.50 72.50 317.50 0.621739 -222.50 72.50 322.50 0.233454 -222.50 72.50 327.50 0.0650973 -222.50 72.50 332.50 0.0195936 -222.50 72.50 337.50 0.0070808 -222.50 72.50 342.50 0.0110045 -222.50 72.50 347.50 0.0369398 -222.50 72.50 352.50 0.120598 -222.50 72.50 357.50 0.360264 -222.50 77.50 2.50 0.460877 -222.50 77.50 7.50 1.10963 -222.50 77.50 12.50 1.93697 -222.50 77.50 17.50 2.75934 -222.50 77.50 22.50 3.36603 -222.50 77.50 27.50 3.53594 -222.50 77.50 32.50 3.14019 -222.50 77.50 37.50 2.27581 -222.50 77.50 42.50 1.33458 -222.50 77.50 47.50 0.714016 -222.50 77.50 52.50 0.317092 -222.50 77.50 57.50 0.128273 -222.50 77.50 62.50 0.0398136 -222.50 77.50 67.50 0.014375 -222.50 77.50 72.50 0.0153901 -222.50 77.50 77.50 0.0295424 -222.50 77.50 82.50 0.0636858 -222.50 77.50 87.50 0.188114 -222.50 77.50 92.50 0.460877 -222.50 77.50 97.50 1.10963 -222.50 77.50 102.50 1.93697 -222.50 77.50 107.50 2.75934 -222.50 77.50 112.50 3.36604 -222.50 77.50 117.50 3.53593 -222.50 77.50 122.50 3.14019 -222.50 77.50 127.50 2.27581 -222.50 77.50 132.50 1.33458 -222.50 77.50 137.50 0.714015 -222.50 77.50 142.50 0.317092 -222.50 77.50 147.50 0.128274 -222.50 77.50 152.50 0.0398137 -222.50 77.50 157.50 0.0143751 -222.50 77.50 162.50 0.0153901 -222.50 77.50 167.50 0.0295423 -222.50 77.50 172.50 0.0636858 -222.50 77.50 177.50 0.188114 -222.50 77.50 182.50 0.460877 -222.50 77.50 187.50 1.10963 -222.50 77.50 192.50 1.93697 -222.50 77.50 197.50 2.75934 -222.50 77.50 202.50 3.36604 -222.50 77.50 207.50 3.53594 -222.50 77.50 212.50 3.14019 -222.50 77.50 217.50 2.27581 -222.50 77.50 222.50 1.33458 -222.50 77.50 227.50 0.714016 -222.50 77.50 232.50 0.317092 -222.50 77.50 237.50 0.128273 -222.50 77.50 242.50 0.0398135 -222.50 77.50 247.50 0.014375 -222.50 77.50 252.50 0.0153902 -222.50 77.50 257.50 0.0295424 -222.50 77.50 262.50 0.0636859 -222.50 77.50 267.50 0.188114 -222.50 77.50 272.50 0.460877 -222.50 77.50 277.50 1.10963 -222.50 77.50 282.50 1.93697 -222.50 77.50 287.50 2.75934 -222.50 77.50 292.50 3.36603 -222.50 77.50 297.50 3.53593 -222.50 77.50 302.50 3.14019 -222.50 77.50 307.50 2.27581 -222.50 77.50 312.50 1.33458 -222.50 77.50 317.50 0.714016 -222.50 77.50 322.50 0.317093 -222.50 77.50 327.50 0.128274 -222.50 77.50 332.50 0.0398137 -222.50 77.50 337.50 0.0143751 -222.50 77.50 342.50 0.0153901 -222.50 77.50 347.50 0.0295423 -222.50 77.50 352.50 0.0636857 -222.50 77.50 357.50 0.188114 -222.50 82.50 2.50 0.244556 -222.50 82.50 7.50 0.645181 -222.50 82.50 12.50 1.13271 -222.50 82.50 17.50 1.59318 -222.50 82.50 22.50 2.07748 -222.50 82.50 27.50 2.43484 -222.50 82.50 32.50 2.36345 -222.50 82.50 37.50 1.79502 -222.50 82.50 42.50 1.15557 -222.50 82.50 47.50 0.702271 -222.50 82.50 52.50 0.40947 -222.50 82.50 57.50 0.225079 -222.50 82.50 62.50 0.110781 -222.50 82.50 67.50 0.0555632 -222.50 82.50 72.50 0.0563825 -222.50 82.50 77.50 0.0631443 -222.50 82.50 82.50 0.0668906 -222.50 82.50 87.50 0.097805 -222.50 82.50 92.50 0.244556 -222.50 82.50 97.50 0.645182 -222.50 82.50 102.50 1.13271 -222.50 82.50 107.50 1.59318 -222.50 82.50 112.50 2.07748 -222.50 82.50 117.50 2.43484 -222.50 82.50 122.50 2.36345 -222.50 82.50 127.50 1.79502 -222.50 82.50 132.50 1.15557 -222.50 82.50 137.50 0.702271 -222.50 82.50 142.50 0.40947 -222.50 82.50 147.50 0.225079 -222.50 82.50 152.50 0.110781 -222.50 82.50 157.50 0.0555632 -222.50 82.50 162.50 0.0563824 -222.50 82.50 167.50 0.0631443 -222.50 82.50 172.50 0.0668906 -222.50 82.50 177.50 0.0978049 -222.50 82.50 182.50 0.244556 -222.50 82.50 187.50 0.645182 -222.50 82.50 192.50 1.13271 -222.50 82.50 197.50 1.59318 -222.50 82.50 202.50 2.07748 -222.50 82.50 207.50 2.43484 -222.50 82.50 212.50 2.36345 -222.50 82.50 217.50 1.79502 -222.50 82.50 222.50 1.15557 -222.50 82.50 227.50 0.702271 -222.50 82.50 232.50 0.40947 -222.50 82.50 237.50 0.225079 -222.50 82.50 242.50 0.110781 -222.50 82.50 247.50 0.0555631 -222.50 82.50 252.50 0.0563825 -222.50 82.50 257.50 0.0631443 -222.50 82.50 262.50 0.0668905 -222.50 82.50 267.50 0.097805 -222.50 82.50 272.50 0.244556 -222.50 82.50 277.50 0.645182 -222.50 82.50 282.50 1.13271 -222.50 82.50 287.50 1.59318 -222.50 82.50 292.50 2.07748 -222.50 82.50 297.50 2.43484 -222.50 82.50 302.50 2.36345 -222.50 82.50 307.50 1.79502 -222.50 82.50 312.50 1.15557 -222.50 82.50 317.50 0.702272 -222.50 82.50 322.50 0.409471 -222.50 82.50 327.50 0.225079 -222.50 82.50 332.50 0.110781 -222.50 82.50 337.50 0.0555632 -222.50 82.50 342.50 0.0563825 -222.50 82.50 347.50 0.0631443 -222.50 82.50 352.50 0.0668906 -222.50 82.50 357.50 0.0978046 -222.50 87.50 2.50 0.12541 -222.50 87.50 7.50 0.308348 -222.50 87.50 12.50 0.563066 -222.50 87.50 17.50 0.796227 -222.50 87.50 22.50 1.05709 -222.50 87.50 27.50 1.36104 -222.50 87.50 32.50 1.47625 -222.50 87.50 37.50 1.29062 -222.50 87.50 42.50 0.987443 -222.50 87.50 47.50 0.711731 -222.50 87.50 52.50 0.498344 -222.50 87.50 57.50 0.347129 -222.50 87.50 62.50 0.242098 -222.50 87.50 67.50 0.170704 -222.50 87.50 72.50 0.150682 -222.50 87.50 77.50 0.163483 -222.50 87.50 82.50 0.119755 -222.50 87.50 87.50 0.0780953 -222.50 87.50 92.50 0.12541 -222.50 87.50 97.50 0.308348 -222.50 87.50 102.50 0.563067 -222.50 87.50 107.50 0.796227 -222.50 87.50 112.50 1.05709 -222.50 87.50 117.50 1.36104 -222.50 87.50 122.50 1.47625 -222.50 87.50 127.50 1.29062 -222.50 87.50 132.50 0.987443 -222.50 87.50 137.50 0.711731 -222.50 87.50 142.50 0.498344 -222.50 87.50 147.50 0.347129 -222.50 87.50 152.50 0.242098 -222.50 87.50 157.50 0.170704 -222.50 87.50 162.50 0.150682 -222.50 87.50 167.50 0.163483 -222.50 87.50 172.50 0.119755 -222.50 87.50 177.50 0.0780954 -222.50 87.50 182.50 0.12541 -222.50 87.50 187.50 0.308348 -222.50 87.50 192.50 0.563067 -222.50 87.50 197.50 0.796227 -222.50 87.50 202.50 1.05709 -222.50 87.50 207.50 1.36104 -222.50 87.50 212.50 1.47625 -222.50 87.50 217.50 1.29062 -222.50 87.50 222.50 0.987443 -222.50 87.50 227.50 0.711731 -222.50 87.50 232.50 0.498343 -222.50 87.50 237.50 0.347129 -222.50 87.50 242.50 0.242098 -222.50 87.50 247.50 0.170704 -222.50 87.50 252.50 0.150682 -222.50 87.50 257.50 0.163483 -222.50 87.50 262.50 0.119754 -222.50 87.50 267.50 0.0780953 -222.50 87.50 272.50 0.12541 -222.50 87.50 277.50 0.308348 -222.50 87.50 282.50 0.563067 -222.50 87.50 287.50 0.796226 -222.50 87.50 292.50 1.05709 -222.50 87.50 297.50 1.36103 -222.50 87.50 302.50 1.47625 -222.50 87.50 307.50 1.29062 -222.50 87.50 312.50 0.987443 -222.50 87.50 317.50 0.711731 -222.50 87.50 322.50 0.498344 -222.50 87.50 327.50 0.347129 -222.50 87.50 332.50 0.242098 -222.50 87.50 337.50 0.170704 -222.50 87.50 342.50 0.150682 -222.50 87.50 347.50 0.163483 -222.50 87.50 352.50 0.119755 -222.50 87.50 357.50 0.0780954 -222.50 92.50 2.50 0.083846 -222.50 92.50 7.50 0.132069 -222.50 92.50 12.50 0.239625 -222.50 92.50 17.50 0.338201 -222.50 92.50 22.50 0.431719 -222.50 92.50 27.50 0.558756 -222.50 92.50 32.50 0.674572 -222.50 92.50 37.50 0.728263 -222.50 92.50 42.50 0.744225 -222.50 92.50 47.50 0.748975 -222.50 92.50 52.50 0.744226 -222.50 92.50 57.50 0.728263 -222.50 92.50 62.50 0.674572 -222.50 92.50 67.50 0.558756 -222.50 92.50 72.50 0.431719 -222.50 92.50 77.50 0.338201 -222.50 92.50 82.50 0.239625 -222.50 92.50 87.50 0.132069 -222.50 92.50 92.50 0.083846 -222.50 92.50 97.50 0.132069 -222.50 92.50 102.50 0.239625 -222.50 92.50 107.50 0.338201 -222.50 92.50 112.50 0.431719 -222.50 92.50 117.50 0.558756 -222.50 92.50 122.50 0.674572 -222.50 92.50 127.50 0.728263 -222.50 92.50 132.50 0.744225 -222.50 92.50 137.50 0.748976 -222.50 92.50 142.50 0.744226 -222.50 92.50 147.50 0.728263 -222.50 92.50 152.50 0.674572 -222.50 92.50 157.50 0.558756 -222.50 92.50 162.50 0.431719 -222.50 92.50 167.50 0.338201 -222.50 92.50 172.50 0.239625 -222.50 92.50 177.50 0.132069 -222.50 92.50 182.50 0.083846 -222.50 92.50 187.50 0.132069 -222.50 92.50 192.50 0.239625 -222.50 92.50 197.50 0.338201 -222.50 92.50 202.50 0.431719 -222.50 92.50 207.50 0.558756 -222.50 92.50 212.50 0.674571 -222.50 92.50 217.50 0.728262 -222.50 92.50 222.50 0.744225 -222.50 92.50 227.50 0.748975 -222.50 92.50 232.50 0.744225 -222.50 92.50 237.50 0.728262 -222.50 92.50 242.50 0.674572 -222.50 92.50 247.50 0.558756 -222.50 92.50 252.50 0.431718 -222.50 92.50 257.50 0.338201 -222.50 92.50 262.50 0.239625 -222.50 92.50 267.50 0.132069 -222.50 92.50 272.50 0.083846 -222.50 92.50 277.50 0.132069 -222.50 92.50 282.50 0.239625 -222.50 92.50 287.50 0.338201 -222.50 92.50 292.50 0.431719 -222.50 92.50 297.50 0.558756 -222.50 92.50 302.50 0.674571 -222.50 92.50 307.50 0.728262 -222.50 92.50 312.50 0.744224 -222.50 92.50 317.50 0.748975 -222.50 92.50 322.50 0.744225 -222.50 92.50 327.50 0.728262 -222.50 92.50 332.50 0.674572 -222.50 92.50 337.50 0.558756 -222.50 92.50 342.50 0.431719 -222.50 92.50 347.50 0.338201 -222.50 92.50 352.50 0.239626 -222.50 92.50 357.50 0.132069 -222.50 97.50 2.50 0.12541 -222.50 97.50 7.50 0.0780953 -222.50 97.50 12.50 0.119755 -222.50 97.50 17.50 0.163483 -222.50 97.50 22.50 0.150682 -222.50 97.50 27.50 0.170704 -222.50 97.50 32.50 0.242098 -222.50 97.50 37.50 0.34713 -222.50 97.50 42.50 0.498344 -222.50 97.50 47.50 0.711732 -222.50 97.50 52.50 0.987444 -222.50 97.50 57.50 1.29062 -222.50 97.50 62.50 1.47625 -222.50 97.50 67.50 1.36103 -222.50 97.50 72.50 1.05709 -222.50 97.50 77.50 0.796226 -222.50 97.50 82.50 0.563066 -222.50 97.50 87.50 0.308348 -222.50 97.50 92.50 0.12541 -222.50 97.50 97.50 0.0780953 -222.50 97.50 102.50 0.119755 -222.50 97.50 107.50 0.163483 -222.50 97.50 112.50 0.150682 -222.50 97.50 117.50 0.170704 -222.50 97.50 122.50 0.242098 -222.50 97.50 127.50 0.34713 -222.50 97.50 132.50 0.498345 -222.50 97.50 137.50 0.711731 -222.50 97.50 142.50 0.987444 -222.50 97.50 147.50 1.29062 -222.50 97.50 152.50 1.47625 -222.50 97.50 157.50 1.36103 -222.50 97.50 162.50 1.05709 -222.50 97.50 167.50 0.796226 -222.50 97.50 172.50 0.563067 -222.50 97.50 177.50 0.308348 -222.50 97.50 182.50 0.12541 -222.50 97.50 187.50 0.0780953 -222.50 97.50 192.50 0.119755 -222.50 97.50 197.50 0.163483 -222.50 97.50 202.50 0.150682 -222.50 97.50 207.50 0.170704 -222.50 97.50 212.50 0.242098 -222.50 97.50 217.50 0.347129 -222.50 97.50 222.50 0.498343 -222.50 97.50 227.50 0.711731 -222.50 97.50 232.50 0.987443 -222.50 97.50 237.50 1.29062 -222.50 97.50 242.50 1.47625 -222.50 97.50 247.50 1.36103 -222.50 97.50 252.50 1.05709 -222.50 97.50 257.50 0.796225 -222.50 97.50 262.50 0.563066 -222.50 97.50 267.50 0.308348 -222.50 97.50 272.50 0.12541 -222.50 97.50 277.50 0.0780953 -222.50 97.50 282.50 0.119755 -222.50 97.50 287.50 0.163483 -222.50 97.50 292.50 0.150682 -222.50 97.50 297.50 0.170704 -222.50 97.50 302.50 0.242098 -222.50 97.50 307.50 0.347129 -222.50 97.50 312.50 0.498343 -222.50 97.50 317.50 0.71173 -222.50 97.50 322.50 0.987442 -222.50 97.50 327.50 1.29062 -222.50 97.50 332.50 1.47625 -222.50 97.50 337.50 1.36104 -222.50 97.50 342.50 1.05709 -222.50 97.50 347.50 0.796227 -222.50 97.50 352.50 0.563067 -222.50 97.50 357.50 0.308349 -222.50 102.50 2.50 0.244556 -222.50 102.50 7.50 0.0978049 -222.50 102.50 12.50 0.0668906 -222.50 102.50 17.50 0.0631443 -222.50 102.50 22.50 0.0563825 -222.50 102.50 27.50 0.0555632 -222.50 102.50 32.50 0.110781 -222.50 102.50 37.50 0.225079 -222.50 102.50 42.50 0.409471 -222.50 102.50 47.50 0.702272 -222.50 102.50 52.50 1.15557 -222.50 102.50 57.50 1.79502 -222.50 102.50 62.50 2.36345 -222.50 102.50 67.50 2.43484 -222.50 102.50 72.50 2.07748 -222.50 102.50 77.50 1.59318 -222.50 102.50 82.50 1.13271 -222.50 102.50 87.50 0.645181 -222.50 102.50 92.50 0.244556 -222.50 102.50 97.50 0.0978049 -222.50 102.50 102.50 0.0668906 -222.50 102.50 107.50 0.0631443 -222.50 102.50 112.50 0.0563825 -222.50 102.50 117.50 0.0555632 -222.50 102.50 122.50 0.110781 -222.50 102.50 127.50 0.22508 -222.50 102.50 132.50 0.409471 -222.50 102.50 137.50 0.702271 -222.50 102.50 142.50 1.15557 -222.50 102.50 147.50 1.79502 -222.50 102.50 152.50 2.36345 -222.50 102.50 157.50 2.43484 -222.50 102.50 162.50 2.07748 -222.50 102.50 167.50 1.59318 -222.50 102.50 172.50 1.13271 -222.50 102.50 177.50 0.645182 -222.50 102.50 182.50 0.244555 -222.50 102.50 187.50 0.0978049 -222.50 102.50 192.50 0.0668906 -222.50 102.50 197.50 0.0631444 -222.50 102.50 202.50 0.0563825 -222.50 102.50 207.50 0.0555632 -222.50 102.50 212.50 0.110781 -222.50 102.50 217.50 0.225079 -222.50 102.50 222.50 0.40947 -222.50 102.50 227.50 0.70227 -222.50 102.50 232.50 1.15557 -222.50 102.50 237.50 1.79502 -222.50 102.50 242.50 2.36345 -222.50 102.50 247.50 2.43484 -222.50 102.50 252.50 2.07748 -222.50 102.50 257.50 1.59318 -222.50 102.50 262.50 1.13271 -222.50 102.50 267.50 0.645181 -222.50 102.50 272.50 0.244556 -222.50 102.50 277.50 0.0978048 -222.50 102.50 282.50 0.0668906 -222.50 102.50 287.50 0.0631443 -222.50 102.50 292.50 0.0563825 -222.50 102.50 297.50 0.0555631 -222.50 102.50 302.50 0.110781 -222.50 102.50 307.50 0.225079 -222.50 102.50 312.50 0.40947 -222.50 102.50 317.50 0.70227 -222.50 102.50 322.50 1.15556 -222.50 102.50 327.50 1.79501 -222.50 102.50 332.50 2.36345 -222.50 102.50 337.50 2.43484 -222.50 102.50 342.50 2.07748 -222.50 102.50 347.50 1.59318 -222.50 102.50 352.50 1.13271 -222.50 102.50 357.50 0.645183 -222.50 107.50 2.50 0.460877 -222.50 107.50 7.50 0.188114 -222.50 107.50 12.50 0.0636858 -222.50 107.50 17.50 0.0295423 -222.50 107.50 22.50 0.0153901 -222.50 107.50 27.50 0.0143751 -222.50 107.50 32.50 0.0398137 -222.50 107.50 37.50 0.128274 -222.50 107.50 42.50 0.317093 -222.50 107.50 47.50 0.714016 -222.50 107.50 52.50 1.33458 -222.50 107.50 57.50 2.27581 -222.50 107.50 62.50 3.14019 -222.50 107.50 67.50 3.53594 -222.50 107.50 72.50 3.36603 -222.50 107.50 77.50 2.75933 -222.50 107.50 82.50 1.93697 -222.50 107.50 87.50 1.10963 -222.50 107.50 92.50 0.460876 -222.50 107.50 97.50 0.188114 -222.50 107.50 102.50 0.0636858 -222.50 107.50 107.50 0.0295424 -222.50 107.50 112.50 0.0153902 -222.50 107.50 117.50 0.0143751 -222.50 107.50 122.50 0.0398138 -222.50 107.50 127.50 0.128274 -222.50 107.50 132.50 0.317093 -222.50 107.50 137.50 0.714017 -222.50 107.50 142.50 1.33458 -222.50 107.50 147.50 2.27581 -222.50 107.50 152.50 3.14019 -222.50 107.50 157.50 3.53593 -222.50 107.50 162.50 3.36603 -222.50 107.50 167.50 2.75933 -222.50 107.50 172.50 1.93697 -222.50 107.50 177.50 1.10963 -222.50 107.50 182.50 0.460876 -222.50 107.50 187.50 0.188114 -222.50 107.50 192.50 0.0636858 -222.50 107.50 197.50 0.0295424 -222.50 107.50 202.50 0.0153901 -222.50 107.50 207.50 0.0143751 -222.50 107.50 212.50 0.0398136 -222.50 107.50 217.50 0.128273 -222.50 107.50 222.50 0.317092 -222.50 107.50 227.50 0.714015 -222.50 107.50 232.50 1.33459 -222.50 107.50 237.50 2.27581 -222.50 107.50 242.50 3.14019 -222.50 107.50 247.50 3.53593 -222.50 107.50 252.50 3.36603 -222.50 107.50 257.50 2.75934 -222.50 107.50 262.50 1.93697 -222.50 107.50 267.50 1.10963 -222.50 107.50 272.50 0.460876 -222.50 107.50 277.50 0.188114 -222.50 107.50 282.50 0.0636858 -222.50 107.50 287.50 0.0295424 -222.50 107.50 292.50 0.0153901 -222.50 107.50 297.50 0.014375 -222.50 107.50 302.50 0.0398136 -222.50 107.50 307.50 0.128273 -222.50 107.50 312.50 0.317092 -222.50 107.50 317.50 0.714015 -222.50 107.50 322.50 1.33458 -222.50 107.50 327.50 2.27581 -222.50 107.50 332.50 3.14018 -222.50 107.50 337.50 3.53594 -222.50 107.50 342.50 3.36604 -222.50 107.50 347.50 2.75934 -222.50 107.50 352.50 1.93697 -222.50 107.50 357.50 1.10963 -222.50 112.50 2.50 0.865463 -222.50 112.50 7.50 0.360265 -222.50 112.50 12.50 0.120599 -222.50 112.50 17.50 0.0369399 -222.50 112.50 22.50 0.0110045 -222.50 112.50 27.50 0.0070808 -222.50 112.50 32.50 0.0195936 -222.50 112.50 37.50 0.0650973 -222.50 112.50 42.50 0.233454 -222.50 112.50 47.50 0.621739 -222.50 112.50 52.50 1.29999 -222.50 112.50 57.50 2.19213 -222.50 112.50 62.50 3.21611 -222.50 112.50 67.50 4.06195 -222.50 112.50 72.50 4.22339 -222.50 112.50 77.50 3.69293 -222.50 112.50 82.50 2.81009 -222.50 112.50 87.50 1.85129 -222.50 112.50 92.50 0.865462 -222.50 112.50 97.50 0.360265 -222.50 112.50 102.50 0.120598 -222.50 112.50 107.50 0.0369399 -222.50 112.50 112.50 0.0110045 -222.50 112.50 117.50 0.0070808 -222.50 112.50 122.50 0.0195936 -222.50 112.50 127.50 0.0650973 -222.50 112.50 132.50 0.233454 -222.50 112.50 137.50 0.621739 -222.50 112.50 142.50 1.29999 -222.50 112.50 147.50 2.19213 -222.50 112.50 152.50 3.21611 -222.50 112.50 157.50 4.06195 -222.50 112.50 162.50 4.22339 -222.50 112.50 167.50 3.69294 -222.50 112.50 172.50 2.81009 -222.50 112.50 177.50 1.85129 -222.50 112.50 182.50 0.865461 -222.50 112.50 187.50 0.360265 -222.50 112.50 192.50 0.120598 -222.50 112.50 197.50 0.0369399 -222.50 112.50 202.50 0.0110045 -222.50 112.50 207.50 0.00708079 -222.50 112.50 212.50 0.0195936 -222.50 112.50 217.50 0.0650971 -222.50 112.50 222.50 0.233453 -222.50 112.50 227.50 0.621738 -222.50 112.50 232.50 1.29999 -222.50 112.50 237.50 2.19212 -222.50 112.50 242.50 3.21611 -222.50 112.50 247.50 4.06195 -222.50 112.50 252.50 4.22339 -222.50 112.50 257.50 3.69293 -222.50 112.50 262.50 2.81009 -222.50 112.50 267.50 1.85128 -222.50 112.50 272.50 0.865462 -222.50 112.50 277.50 0.360265 -222.50 112.50 282.50 0.120598 -222.50 112.50 287.50 0.0369399 -222.50 112.50 292.50 0.0110045 -222.50 112.50 297.50 0.00708078 -222.50 112.50 302.50 0.0195935 -222.50 112.50 307.50 0.065097 -222.50 112.50 312.50 0.233453 -222.50 112.50 317.50 0.621738 -222.50 112.50 322.50 1.29999 -222.50 112.50 327.50 2.19212 -222.50 112.50 332.50 3.2161 -222.50 112.50 337.50 4.06195 -222.50 112.50 342.50 4.22339 -222.50 112.50 347.50 3.69294 -222.50 112.50 352.50 2.81009 -222.50 112.50 357.50 1.85129 -222.50 117.50 2.50 1.46809 -222.50 117.50 7.50 0.71739 -222.50 117.50 12.50 0.294579 -222.50 117.50 17.50 0.113132 -222.50 117.50 22.50 0.0407374 -222.50 117.50 27.50 0.0146831 -222.50 117.50 32.50 0.0165972 -222.50 117.50 37.50 0.0359556 -222.50 117.50 42.50 0.111848 -222.50 117.50 47.50 0.347313 -222.50 117.50 52.50 0.799248 -222.50 117.50 57.50 1.48181 -222.50 117.50 62.50 2.44198 -222.50 117.50 67.50 3.45573 -222.50 117.50 72.50 4.01288 -222.50 117.50 77.50 3.88848 -222.50 117.50 82.50 3.43339 -222.50 117.50 87.50 2.6495 -222.50 117.50 92.50 1.46809 -222.50 117.50 97.50 0.717389 -222.50 117.50 102.50 0.294579 -222.50 117.50 107.50 0.113132 -222.50 117.50 112.50 0.0407374 -222.50 117.50 117.50 0.014683 -222.50 117.50 122.50 0.0165972 -222.50 117.50 127.50 0.0359556 -222.50 117.50 132.50 0.111848 -222.50 117.50 137.50 0.347313 -222.50 117.50 142.50 0.799248 -222.50 117.50 147.50 1.48181 -222.50 117.50 152.50 2.44198 -222.50 117.50 157.50 3.45573 -222.50 117.50 162.50 4.01288 -222.50 117.50 167.50 3.88848 -222.50 117.50 172.50 3.43339 -222.50 117.50 177.50 2.6495 -222.50 117.50 182.50 1.46809 -222.50 117.50 187.50 0.717389 -222.50 117.50 192.50 0.294579 -222.50 117.50 197.50 0.113132 -222.50 117.50 202.50 0.0407374 -222.50 117.50 207.50 0.014683 -222.50 117.50 212.50 0.0165972 -222.50 117.50 217.50 0.0359555 -222.50 117.50 222.50 0.111848 -222.50 117.50 227.50 0.347312 -222.50 117.50 232.50 0.799248 -222.50 117.50 237.50 1.48181 -222.50 117.50 242.50 2.44198 -222.50 117.50 247.50 3.45573 -222.50 117.50 252.50 4.01288 -222.50 117.50 257.50 3.88848 -222.50 117.50 262.50 3.43339 -222.50 117.50 267.50 2.6495 -222.50 117.50 272.50 1.46809 -222.50 117.50 277.50 0.71739 -222.50 117.50 282.50 0.294579 -222.50 117.50 287.50 0.113132 -222.50 117.50 292.50 0.0407374 -222.50 117.50 297.50 0.0146831 -222.50 117.50 302.50 0.0165972 -222.50 117.50 307.50 0.0359555 -222.50 117.50 312.50 0.111848 -222.50 117.50 317.50 0.347312 -222.50 117.50 322.50 0.799246 -222.50 117.50 327.50 1.48181 -222.50 117.50 332.50 2.44197 -222.50 117.50 337.50 3.45572 -222.50 117.50 342.50 4.01288 -222.50 117.50 347.50 3.88848 -222.50 117.50 352.50 3.4334 -222.50 117.50 357.50 2.6495 -222.50 122.50 2.50 2.09891 -222.50 122.50 7.50 1.29488 -222.50 122.50 12.50 0.716829 -222.50 122.50 17.50 0.388319 -222.50 122.50 22.50 0.177979 -222.50 122.50 27.50 0.0769286 -222.50 122.50 32.50 0.0354014 -222.50 122.50 37.50 0.0268446 -222.50 122.50 42.50 0.0414452 -222.50 122.50 47.50 0.115115 -222.50 122.50 52.50 0.322302 -222.50 122.50 57.50 0.737196 -222.50 122.50 62.50 1.36584 -222.50 122.50 67.50 2.16851 -222.50 122.50 72.50 2.95149 -222.50 122.50 77.50 3.28472 -222.50 122.50 82.50 3.34241 -222.50 122.50 87.50 3.04219 -222.50 122.50 92.50 2.09891 -222.50 122.50 97.50 1.29488 -222.50 122.50 102.50 0.716828 -222.50 122.50 107.50 0.388319 -222.50 122.50 112.50 0.177979 -222.50 122.50 117.50 0.0769286 -222.50 122.50 122.50 0.0354014 -222.50 122.50 127.50 0.0268446 -222.50 122.50 132.50 0.0414453 -222.50 122.50 137.50 0.115115 -222.50 122.50 142.50 0.322302 -222.50 122.50 147.50 0.737196 -222.50 122.50 152.50 1.36584 -222.50 122.50 157.50 2.16851 -222.50 122.50 162.50 2.95149 -222.50 122.50 167.50 3.28472 -222.50 122.50 172.50 3.34241 -222.50 122.50 177.50 3.0422 -222.50 122.50 182.50 2.09891 -222.50 122.50 187.50 1.29488 -222.50 122.50 192.50 0.716828 -222.50 122.50 197.50 0.388319 -222.50 122.50 202.50 0.177979 -222.50 122.50 207.50 0.0769287 -222.50 122.50 212.50 0.0354014 -222.50 122.50 217.50 0.0268446 -222.50 122.50 222.50 0.0414451 -222.50 122.50 227.50 0.115114 -222.50 122.50 232.50 0.322303 -222.50 122.50 237.50 0.737197 -222.50 122.50 242.50 1.36584 -222.50 122.50 247.50 2.16851 -222.50 122.50 252.50 2.95149 -222.50 122.50 257.50 3.28472 -222.50 122.50 262.50 3.34242 -222.50 122.50 267.50 3.04219 -222.50 122.50 272.50 2.09891 -222.50 122.50 277.50 1.29488 -222.50 122.50 282.50 0.716829 -222.50 122.50 287.50 0.388319 -222.50 122.50 292.50 0.177979 -222.50 122.50 297.50 0.0769288 -222.50 122.50 302.50 0.0354015 -222.50 122.50 307.50 0.0268446 -222.50 122.50 312.50 0.0414451 -222.50 122.50 317.50 0.115114 -222.50 122.50 322.50 0.322302 -222.50 122.50 327.50 0.737194 -222.50 122.50 332.50 1.36583 -222.50 122.50 337.50 2.16851 -222.50 122.50 342.50 2.95149 -222.50 122.50 347.50 3.28472 -222.50 122.50 352.50 3.34242 -222.50 122.50 357.50 3.0422 -222.50 127.50 2.50 2.5719 -222.50 127.50 7.50 2.08932 -222.50 127.50 12.50 1.63144 -222.50 127.50 17.50 1.10588 -222.50 127.50 22.50 0.615192 -222.50 127.50 27.50 0.290781 -222.50 127.50 32.50 0.120328 -222.50 127.50 37.50 0.0472002 -222.50 127.50 42.50 0.0213053 -222.50 127.50 47.50 0.0340315 -222.50 127.50 52.50 0.0922264 -222.50 127.50 57.50 0.272029 -222.50 127.50 62.50 0.627871 -222.50 127.50 67.50 1.1403 -222.50 127.50 72.50 1.69912 -222.50 127.50 77.50 2.1554 -222.50 127.50 82.50 2.61427 -222.50 127.50 87.50 2.88087 -222.50 127.50 92.50 2.5719 -222.50 127.50 97.50 2.08931 -222.50 127.50 102.50 1.63144 -222.50 127.50 107.50 1.10588 -222.50 127.50 112.50 0.615192 -222.50 127.50 117.50 0.29078 -222.50 127.50 122.50 0.120328 -222.50 127.50 127.50 0.0472002 -222.50 127.50 132.50 0.0213053 -222.50 127.50 137.50 0.0340315 -222.50 127.50 142.50 0.0922265 -222.50 127.50 147.50 0.272029 -222.50 127.50 152.50 0.627871 -222.50 127.50 157.50 1.1403 -222.50 127.50 162.50 1.69912 -222.50 127.50 167.50 2.1554 -222.50 127.50 172.50 2.61427 -222.50 127.50 177.50 2.88087 -222.50 127.50 182.50 2.5719 -222.50 127.50 187.50 2.08931 -222.50 127.50 192.50 1.63144 -222.50 127.50 197.50 1.10588 -222.50 127.50 202.50 0.615191 -222.50 127.50 207.50 0.290781 -222.50 127.50 212.50 0.120328 -222.50 127.50 217.50 0.0472002 -222.50 127.50 222.50 0.0213053 -222.50 127.50 227.50 0.0340314 -222.50 127.50 232.50 0.0922265 -222.50 127.50 237.50 0.272029 -222.50 127.50 242.50 0.627871 -222.50 127.50 247.50 1.1403 -222.50 127.50 252.50 1.69912 -222.50 127.50 257.50 2.15541 -222.50 127.50 262.50 2.61428 -222.50 127.50 267.50 2.88087 -222.50 127.50 272.50 2.5719 -222.50 127.50 277.50 2.08932 -222.50 127.50 282.50 1.63143 -222.50 127.50 287.50 1.10588 -222.50 127.50 292.50 0.615192 -222.50 127.50 297.50 0.290781 -222.50 127.50 302.50 0.120328 -222.50 127.50 307.50 0.0472002 -222.50 127.50 312.50 0.0213053 -222.50 127.50 317.50 0.0340314 -222.50 127.50 322.50 0.092226 -222.50 127.50 327.50 0.272028 -222.50 127.50 332.50 0.627869 -222.50 127.50 337.50 1.1403 -222.50 127.50 342.50 1.69911 -222.50 127.50 347.50 2.1554 -222.50 127.50 352.50 2.61427 -222.50 127.50 357.50 2.88087 -222.50 132.50 2.50 2.82218 -222.50 132.50 7.50 2.99596 -222.50 132.50 12.50 2.97992 -222.50 132.50 17.50 2.402 -222.50 132.50 22.50 1.47191 -222.50 132.50 27.50 0.7556 -222.50 132.50 32.50 0.342598 -222.50 132.50 37.50 0.138524 -222.50 132.50 42.50 0.0405055 -222.50 132.50 47.50 0.0114427 -222.50 132.50 52.50 0.0219399 -222.50 132.50 57.50 0.0890095 -222.50 132.50 62.50 0.242744 -222.50 132.50 67.50 0.491642 -222.50 132.50 72.50 0.760874 -222.50 132.50 77.50 1.12416 -222.50 132.50 82.50 1.74843 -222.50 132.50 87.50 2.41433 -222.50 132.50 92.50 2.82218 -222.50 132.50 97.50 2.99596 -222.50 132.50 102.50 2.97992 -222.50 132.50 107.50 2.402 -222.50 132.50 112.50 1.47191 -222.50 132.50 117.50 0.755599 -222.50 132.50 122.50 0.342598 -222.50 132.50 127.50 0.138524 -222.50 132.50 132.50 0.0405054 -222.50 132.50 137.50 0.0114427 -222.50 132.50 142.50 0.0219399 -222.50 132.50 147.50 0.0890096 -222.50 132.50 152.50 0.242744 -222.50 132.50 157.50 0.491642 -222.50 132.50 162.50 0.760874 -222.50 132.50 167.50 1.12416 -222.50 132.50 172.50 1.74843 -222.50 132.50 177.50 2.41433 -222.50 132.50 182.50 2.82218 -222.50 132.50 187.50 2.99596 -222.50 132.50 192.50 2.97992 -222.50 132.50 197.50 2.402 -222.50 132.50 202.50 1.47191 -222.50 132.50 207.50 0.7556 -222.50 132.50 212.50 0.342598 -222.50 132.50 217.50 0.138524 -222.50 132.50 222.50 0.0405055 -222.50 132.50 227.50 0.0114427 -222.50 132.50 232.50 0.0219399 -222.50 132.50 237.50 0.0890097 -222.50 132.50 242.50 0.242745 -222.50 132.50 247.50 0.491643 -222.50 132.50 252.50 0.760875 -222.50 132.50 257.50 1.12416 -222.50 132.50 262.50 1.74843 -222.50 132.50 267.50 2.41433 -222.50 132.50 272.50 2.82218 -222.50 132.50 277.50 2.99596 -222.50 132.50 282.50 2.97992 -222.50 132.50 287.50 2.402 -222.50 132.50 292.50 1.47191 -222.50 132.50 297.50 0.7556 -222.50 132.50 302.50 0.342599 -222.50 132.50 307.50 0.138524 -222.50 132.50 312.50 0.0405055 -222.50 132.50 317.50 0.0114427 -222.50 132.50 322.50 0.0219398 -222.50 132.50 327.50 0.0890093 -222.50 132.50 332.50 0.242744 -222.50 132.50 337.50 0.491641 -222.50 132.50 342.50 0.760873 -222.50 132.50 347.50 1.12415 -222.50 132.50 352.50 1.74843 -222.50 132.50 357.50 2.41432 -222.50 137.50 2.50 2.89161 -222.50 137.50 7.50 3.79369 -222.50 137.50 12.50 4.35754 -222.50 137.50 17.50 3.83832 -222.50 137.50 22.50 2.60093 -222.50 137.50 27.50 1.45077 -222.50 137.50 32.50 0.782797 -222.50 137.50 37.50 0.32591 -222.50 137.50 42.50 0.0932611 -222.50 137.50 47.50 0.0241606 -222.50 137.50 52.50 0.00780603 -222.50 137.50 57.50 0.0237158 -222.50 137.50 62.50 0.0687427 -222.50 137.50 67.50 0.157549 -222.50 137.50 72.50 0.285512 -222.50 137.50 77.50 0.558398 -222.50 137.50 82.50 1.08401 -222.50 137.50 87.50 1.94107 -222.50 137.50 92.50 2.89161 -222.50 137.50 97.50 3.79369 -222.50 137.50 102.50 4.35754 -222.50 137.50 107.50 3.83831 -222.50 137.50 112.50 2.60093 -222.50 137.50 117.50 1.45077 -222.50 137.50 122.50 0.782797 -222.50 137.50 127.50 0.325909 -222.50 137.50 132.50 0.093261 -222.50 137.50 137.50 0.0241607 -222.50 137.50 142.50 0.00780603 -222.50 137.50 147.50 0.0237158 -222.50 137.50 152.50 0.0687426 -222.50 137.50 157.50 0.157549 -222.50 137.50 162.50 0.285512 -222.50 137.50 167.50 0.558399 -222.50 137.50 172.50 1.08401 -222.50 137.50 177.50 1.94107 -222.50 137.50 182.50 2.89161 -222.50 137.50 187.50 3.7937 -222.50 137.50 192.50 4.35754 -222.50 137.50 197.50 3.83831 -222.50 137.50 202.50 2.60093 -222.50 137.50 207.50 1.45077 -222.50 137.50 212.50 0.782797 -222.50 137.50 217.50 0.32591 -222.50 137.50 222.50 0.0932611 -222.50 137.50 227.50 0.0241607 -222.50 137.50 232.50 0.00780603 -222.50 137.50 237.50 0.0237159 -222.50 137.50 242.50 0.0687428 -222.50 137.50 247.50 0.157549 -222.50 137.50 252.50 0.285513 -222.50 137.50 257.50 0.558399 -222.50 137.50 262.50 1.08401 -222.50 137.50 267.50 1.94107 -222.50 137.50 272.50 2.89161 -222.50 137.50 277.50 3.7937 -222.50 137.50 282.50 4.35753 -222.50 137.50 287.50 3.83832 -222.50 137.50 292.50 2.60093 -222.50 137.50 297.50 1.45077 -222.50 137.50 302.50 0.782798 -222.50 137.50 307.50 0.32591 -222.50 137.50 312.50 0.0932612 -222.50 137.50 317.50 0.0241607 -222.50 137.50 322.50 0.00780602 -222.50 137.50 327.50 0.0237158 -222.50 137.50 332.50 0.0687426 -222.50 137.50 337.50 0.157549 -222.50 137.50 342.50 0.285512 -222.50 137.50 347.50 0.558398 -222.50 137.50 352.50 1.08401 -222.50 137.50 357.50 1.94106 -222.50 142.50 2.50 2.82217 -222.50 142.50 7.50 4.3162 -222.50 142.50 12.50 5.35102 -222.50 142.50 17.50 4.97107 -222.50 142.50 22.50 3.64188 -222.50 142.50 27.50 2.23132 -222.50 142.50 32.50 1.25833 -222.50 142.50 37.50 0.596383 -222.50 142.50 42.50 0.216741 -222.50 142.50 47.50 0.061867 -222.50 142.50 52.50 0.0178265 -222.50 142.50 57.50 0.00804477 -222.50 142.50 62.50 0.0157734 -222.50 142.50 67.50 0.0429414 -222.50 142.50 72.50 0.106825 -222.50 142.50 77.50 0.275822 -222.50 142.50 82.50 0.670173 -222.50 142.50 87.50 1.54075 -222.50 142.50 92.50 2.82217 -222.50 142.50 97.50 4.3162 -222.50 142.50 102.50 5.35102 -222.50 142.50 107.50 4.97107 -222.50 142.50 112.50 3.64188 -222.50 142.50 117.50 2.23132 -222.50 142.50 122.50 1.25833 -222.50 142.50 127.50 0.596383 -222.50 142.50 132.50 0.216741 -222.50 142.50 137.50 0.061867 -222.50 142.50 142.50 0.0178265 -222.50 142.50 147.50 0.00804478 -222.50 142.50 152.50 0.0157734 -222.50 142.50 157.50 0.0429413 -222.50 142.50 162.50 0.106825 -222.50 142.50 167.50 0.275822 -222.50 142.50 172.50 0.670173 -222.50 142.50 177.50 1.54075 -222.50 142.50 182.50 2.82218 -222.50 142.50 187.50 4.31621 -222.50 142.50 192.50 5.35102 -222.50 142.50 197.50 4.97107 -222.50 142.50 202.50 3.64188 -222.50 142.50 207.50 2.23132 -222.50 142.50 212.50 1.25833 -222.50 142.50 217.50 0.596383 -222.50 142.50 222.50 0.216742 -222.50 142.50 227.50 0.0618671 -222.50 142.50 232.50 0.0178264 -222.50 142.50 237.50 0.00804478 -222.50 142.50 242.50 0.0157734 -222.50 142.50 247.50 0.0429414 -222.50 142.50 252.50 0.106825 -222.50 142.50 257.50 0.275823 -222.50 142.50 262.50 0.670174 -222.50 142.50 267.50 1.54075 -222.50 142.50 272.50 2.82217 -222.50 142.50 277.50 4.3162 -222.50 142.50 282.50 5.35102 -222.50 142.50 287.50 4.97107 -222.50 142.50 292.50 3.64188 -222.50 142.50 297.50 2.23132 -222.50 142.50 302.50 1.25833 -222.50 142.50 307.50 0.596384 -222.50 142.50 312.50 0.216742 -222.50 142.50 317.50 0.061867 -222.50 142.50 322.50 0.0178265 -222.50 142.50 327.50 0.00804478 -222.50 142.50 332.50 0.0157733 -222.50 142.50 337.50 0.0429413 -222.50 142.50 342.50 0.106825 -222.50 142.50 347.50 0.275822 -222.50 142.50 352.50 0.670172 -222.50 142.50 357.50 1.54074 -222.50 147.50 2.50 2.5719 -222.50 147.50 7.50 4.33166 -222.50 147.50 12.50 5.56069 -222.50 147.50 17.50 5.38265 -222.50 147.50 22.50 4.15186 -222.50 147.50 27.50 2.7557 -222.50 147.50 32.50 1.68934 -222.50 147.50 37.50 0.94938 -222.50 147.50 42.50 0.452483 -222.50 147.50 47.50 0.179555 -222.50 147.50 52.50 0.0612542 -222.50 147.50 57.50 0.0182778 -222.50 147.50 62.50 0.007927 -222.50 147.50 67.50 0.0133018 -222.50 147.50 72.50 0.0431421 -222.50 147.50 77.50 0.135582 -222.50 147.50 82.50 0.434885 -222.50 147.50 87.50 1.19069 -222.50 147.50 92.50 2.5719 -222.50 147.50 97.50 4.33165 -222.50 147.50 102.50 5.56069 -222.50 147.50 107.50 5.38265 -222.50 147.50 112.50 4.15187 -222.50 147.50 117.50 2.7557 -222.50 147.50 122.50 1.68934 -222.50 147.50 127.50 0.94938 -222.50 147.50 132.50 0.452483 -222.50 147.50 137.50 0.179554 -222.50 147.50 142.50 0.0612542 -222.50 147.50 147.50 0.0182778 -222.50 147.50 152.50 0.00792702 -222.50 147.50 157.50 0.0133018 -222.50 147.50 162.50 0.0431421 -222.50 147.50 167.50 0.135582 -222.50 147.50 172.50 0.434884 -222.50 147.50 177.50 1.19069 -222.50 147.50 182.50 2.5719 -222.50 147.50 187.50 4.33166 -222.50 147.50 192.50 5.56069 -222.50 147.50 197.50 5.38265 -222.50 147.50 202.50 4.15187 -222.50 147.50 207.50 2.7557 -222.50 147.50 212.50 1.68934 -222.50 147.50 217.50 0.949381 -222.50 147.50 222.50 0.452483 -222.50 147.50 227.50 0.179554 -222.50 147.50 232.50 0.061254 -222.50 147.50 237.50 0.0182777 -222.50 147.50 242.50 0.00792701 -222.50 147.50 247.50 0.0133018 -222.50 147.50 252.50 0.0431422 -222.50 147.50 257.50 0.135582 -222.50 147.50 262.50 0.434886 -222.50 147.50 267.50 1.19069 -222.50 147.50 272.50 2.5719 -222.50 147.50 277.50 4.33166 -222.50 147.50 282.50 5.56069 -222.50 147.50 287.50 5.38265 -222.50 147.50 292.50 4.15187 -222.50 147.50 297.50 2.7557 -222.50 147.50 302.50 1.68935 -222.50 147.50 307.50 0.949382 -222.50 147.50 312.50 0.452484 -222.50 147.50 317.50 0.179555 -222.50 147.50 322.50 0.0612543 -222.50 147.50 327.50 0.0182778 -222.50 147.50 332.50 0.00792701 -222.50 147.50 337.50 0.0133018 -222.50 147.50 342.50 0.0431419 -222.50 147.50 347.50 0.135581 -222.50 147.50 352.50 0.434884 -222.50 147.50 357.50 1.19068 -222.50 152.50 2.50 2.09891 -222.50 152.50 7.50 3.6603 -222.50 152.50 12.50 4.76941 -222.50 152.50 17.50 4.86415 -222.50 152.50 22.50 3.92309 -222.50 152.50 27.50 2.88773 -222.50 152.50 32.50 2.00439 -222.50 152.50 37.50 1.33779 -222.50 152.50 42.50 0.781112 -222.50 152.50 47.50 0.374034 -222.50 152.50 52.50 0.149517 -222.50 152.50 57.50 0.0565718 -222.50 152.50 62.50 0.0167837 -222.50 152.50 67.50 0.00703294 -222.50 152.50 72.50 0.0201629 -222.50 152.50 77.50 0.0728056 -222.50 152.50 82.50 0.300781 -222.50 152.50 87.50 0.876378 -222.50 152.50 92.50 2.09891 -222.50 152.50 97.50 3.66031 -222.50 152.50 102.50 4.76941 -222.50 152.50 107.50 4.86415 -222.50 152.50 112.50 3.92309 -222.50 152.50 117.50 2.88773 -222.50 152.50 122.50 2.00439 -222.50 152.50 127.50 1.33779 -222.50 152.50 132.50 0.781111 -222.50 152.50 137.50 0.374034 -222.50 152.50 142.50 0.149517 -222.50 152.50 147.50 0.0565719 -222.50 152.50 152.50 0.0167838 -222.50 152.50 157.50 0.00703295 -222.50 152.50 162.50 0.0201629 -222.50 152.50 167.50 0.0728056 -222.50 152.50 172.50 0.300781 -222.50 152.50 177.50 0.876377 -222.50 152.50 182.50 2.09891 -222.50 152.50 187.50 3.66031 -222.50 152.50 192.50 4.76941 -222.50 152.50 197.50 4.86415 -222.50 152.50 202.50 3.92309 -222.50 152.50 207.50 2.88773 -222.50 152.50 212.50 2.00439 -222.50 152.50 217.50 1.33779 -222.50 152.50 222.50 0.781111 -222.50 152.50 227.50 0.374034 -222.50 152.50 232.50 0.149517 -222.50 152.50 237.50 0.0565718 -222.50 152.50 242.50 0.0167837 -222.50 152.50 247.50 0.00703294 -222.50 152.50 252.50 0.020163 -222.50 152.50 257.50 0.0728058 -222.50 152.50 262.50 0.300781 -222.50 152.50 267.50 0.876378 -222.50 152.50 272.50 2.09891 -222.50 152.50 277.50 3.6603 -222.50 152.50 282.50 4.76941 -222.50 152.50 287.50 4.86415 -222.50 152.50 292.50 3.92309 -222.50 152.50 297.50 2.88773 -222.50 152.50 302.50 2.00439 -222.50 152.50 307.50 1.33779 -222.50 152.50 312.50 0.781112 -222.50 152.50 317.50 0.374034 -222.50 152.50 322.50 0.149517 -222.50 152.50 327.50 0.0565719 -222.50 152.50 332.50 0.0167838 -222.50 152.50 337.50 0.00703294 -222.50 152.50 342.50 0.0201629 -222.50 152.50 347.50 0.0728054 -222.50 152.50 352.50 0.30078 -222.50 152.50 357.50 0.876375 -222.50 157.50 2.50 1.46809 -222.50 157.50 7.50 2.50208 -222.50 157.50 12.50 3.31096 -222.50 157.50 17.50 3.52195 -222.50 157.50 22.50 3.1379 -222.50 157.50 27.50 2.5845 -222.50 157.50 32.50 2.10945 -222.50 157.50 37.50 1.61011 -222.50 157.50 42.50 1.09447 -222.50 157.50 47.50 0.607779 -222.50 157.50 52.50 0.295948 -222.50 157.50 57.50 0.121998 -222.50 157.50 62.50 0.0369167 -222.50 157.50 67.50 0.0123625 -222.50 157.50 72.50 0.0183379 -222.50 157.50 77.50 0.067052 -222.50 157.50 82.50 0.227896 -222.50 157.50 87.50 0.620966 -222.50 157.50 92.50 1.46809 -222.50 157.50 97.50 2.50208 -222.50 157.50 102.50 3.31096 -222.50 157.50 107.50 3.52195 -222.50 157.50 112.50 3.1379 -222.50 157.50 117.50 2.5845 -222.50 157.50 122.50 2.10944 -222.50 157.50 127.50 1.61011 -222.50 157.50 132.50 1.09446 -222.50 157.50 137.50 0.607779 -222.50 157.50 142.50 0.295948 -222.50 157.50 147.50 0.121998 -222.50 157.50 152.50 0.0369168 -222.50 157.50 157.50 0.0123625 -222.50 157.50 162.50 0.0183379 -222.50 157.50 167.50 0.0670519 -222.50 157.50 172.50 0.227896 -222.50 157.50 177.50 0.620966 -222.50 157.50 182.50 1.46809 -222.50 157.50 187.50 2.50208 -222.50 157.50 192.50 3.31096 -222.50 157.50 197.50 3.52194 -222.50 157.50 202.50 3.1379 -222.50 157.50 207.50 2.5845 -222.50 157.50 212.50 2.10945 -222.50 157.50 217.50 1.61011 -222.50 157.50 222.50 1.09447 -222.50 157.50 227.50 0.60778 -222.50 157.50 232.50 0.295947 -222.50 157.50 237.50 0.121998 -222.50 157.50 242.50 0.0369167 -222.50 157.50 247.50 0.0123625 -222.50 157.50 252.50 0.018338 -222.50 157.50 257.50 0.067052 -222.50 157.50 262.50 0.227897 -222.50 157.50 267.50 0.620967 -222.50 157.50 272.50 1.46809 -222.50 157.50 277.50 2.50208 -222.50 157.50 282.50 3.31096 -222.50 157.50 287.50 3.52194 -222.50 157.50 292.50 3.1379 -222.50 157.50 297.50 2.5845 -222.50 157.50 302.50 2.10945 -222.50 157.50 307.50 1.61011 -222.50 157.50 312.50 1.09447 -222.50 157.50 317.50 0.60778 -222.50 157.50 322.50 0.295948 -222.50 157.50 327.50 0.121999 -222.50 157.50 332.50 0.0369169 -222.50 157.50 337.50 0.0123625 -222.50 157.50 342.50 0.0183379 -222.50 157.50 347.50 0.0670517 -222.50 157.50 352.50 0.227896 -222.50 157.50 357.50 0.620964 -222.50 162.50 2.50 0.865463 -222.50 162.50 7.50 1.38244 -222.50 162.50 12.50 1.8292 -222.50 162.50 17.50 2.05423 -222.50 162.50 22.50 2.04577 -222.50 162.50 27.50 1.89594 -222.50 162.50 32.50 1.76641 -222.50 162.50 37.50 1.62272 -222.50 162.50 42.50 1.30256 -222.50 162.50 47.50 0.847794 -222.50 162.50 52.50 0.456506 -222.50 162.50 57.50 0.206481 -222.50 162.50 62.50 0.0784521 -222.50 162.50 67.50 0.0302528 -222.50 162.50 72.50 0.0366079 -222.50 162.50 77.50 0.0932951 -222.50 162.50 82.50 0.202848 -222.50 162.50 87.50 0.430564 -222.50 162.50 92.50 0.865463 -222.50 162.50 97.50 1.38244 -222.50 162.50 102.50 1.8292 -222.50 162.50 107.50 2.05423 -222.50 162.50 112.50 2.04577 -222.50 162.50 117.50 1.89594 -222.50 162.50 122.50 1.76641 -222.50 162.50 127.50 1.62272 -222.50 162.50 132.50 1.30256 -222.50 162.50 137.50 0.847794 -222.50 162.50 142.50 0.456506 -222.50 162.50 147.50 0.206481 -222.50 162.50 152.50 0.0784521 -222.50 162.50 157.50 0.0302528 -222.50 162.50 162.50 0.0366079 -222.50 162.50 167.50 0.0932949 -222.50 162.50 172.50 0.202848 -222.50 162.50 177.50 0.430564 -222.50 162.50 182.50 0.865463 -222.50 162.50 187.50 1.38244 -222.50 162.50 192.50 1.8292 -222.50 162.50 197.50 2.05423 -222.50 162.50 202.50 2.04577 -222.50 162.50 207.50 1.89594 -222.50 162.50 212.50 1.76641 -222.50 162.50 217.50 1.62272 -222.50 162.50 222.50 1.30256 -222.50 162.50 227.50 0.847794 -222.50 162.50 232.50 0.456505 -222.50 162.50 237.50 0.206481 -222.50 162.50 242.50 0.078452 -222.50 162.50 247.50 0.0302527 -222.50 162.50 252.50 0.036608 -222.50 162.50 257.50 0.0932951 -222.50 162.50 262.50 0.202848 -222.50 162.50 267.50 0.430565 -222.50 162.50 272.50 0.865462 -222.50 162.50 277.50 1.38244 -222.50 162.50 282.50 1.8292 -222.50 162.50 287.50 2.05423 -222.50 162.50 292.50 2.04577 -222.50 162.50 297.50 1.89594 -222.50 162.50 302.50 1.76641 -222.50 162.50 307.50 1.62272 -222.50 162.50 312.50 1.30256 -222.50 162.50 317.50 0.847794 -222.50 162.50 322.50 0.456507 -222.50 162.50 327.50 0.206481 -222.50 162.50 332.50 0.0784524 -222.50 162.50 337.50 0.0302528 -222.50 162.50 342.50 0.0366079 -222.50 162.50 347.50 0.0932949 -222.50 162.50 352.50 0.202847 -222.50 162.50 357.50 0.430563 -222.50 167.50 2.50 0.460877 -222.50 167.50 7.50 0.652798 -222.50 167.50 12.50 0.816206 -222.50 167.50 17.50 0.968019 -222.50 167.50 22.50 1.04354 -222.50 167.50 27.50 1.10149 -222.50 167.50 32.50 1.25223 -222.50 167.50 37.50 1.42006 -222.50 167.50 42.50 1.33987 -222.50 167.50 47.50 0.970132 -222.50 167.50 52.50 0.554866 -222.50 167.50 57.50 0.268721 -222.50 167.50 62.50 0.1105 -222.50 167.50 67.50 0.0515303 -222.50 167.50 72.50 0.0626106 -222.50 167.50 77.50 0.118854 -222.50 167.50 82.50 0.192319 -222.50 167.50 87.50 0.30253 -222.50 167.50 92.50 0.460877 -222.50 167.50 97.50 0.652799 -222.50 167.50 102.50 0.816207 -222.50 167.50 107.50 0.96802 -222.50 167.50 112.50 1.04354 -222.50 167.50 117.50 1.10149 -222.50 167.50 122.50 1.25223 -222.50 167.50 127.50 1.42006 -222.50 167.50 132.50 1.33987 -222.50 167.50 137.50 0.970132 -222.50 167.50 142.50 0.554866 -222.50 167.50 147.50 0.268721 -222.50 167.50 152.50 0.1105 -222.50 167.50 157.50 0.0515304 -222.50 167.50 162.50 0.0626106 -222.50 167.50 167.50 0.118854 -222.50 167.50 172.50 0.192319 -222.50 167.50 177.50 0.30253 -222.50 167.50 182.50 0.460877 -222.50 167.50 187.50 0.652799 -222.50 167.50 192.50 0.816207 -222.50 167.50 197.50 0.96802 -222.50 167.50 202.50 1.04354 -222.50 167.50 207.50 1.10149 -222.50 167.50 212.50 1.25223 -222.50 167.50 217.50 1.42006 -222.50 167.50 222.50 1.33987 -222.50 167.50 227.50 0.970132 -222.50 167.50 232.50 0.554864 -222.50 167.50 237.50 0.268721 -222.50 167.50 242.50 0.1105 -222.50 167.50 247.50 0.0515303 -222.50 167.50 252.50 0.0626107 -222.50 167.50 257.50 0.118855 -222.50 167.50 262.50 0.192319 -222.50 167.50 267.50 0.30253 -222.50 167.50 272.50 0.460877 -222.50 167.50 277.50 0.652798 -222.50 167.50 282.50 0.816206 -222.50 167.50 287.50 0.968019 -222.50 167.50 292.50 1.04354 -222.50 167.50 297.50 1.10149 -222.50 167.50 302.50 1.25223 -222.50 167.50 307.50 1.42006 -222.50 167.50 312.50 1.33987 -222.50 167.50 317.50 0.970133 -222.50 167.50 322.50 0.554866 -222.50 167.50 327.50 0.268721 -222.50 167.50 332.50 0.110501 -222.50 167.50 337.50 0.0515304 -222.50 167.50 342.50 0.0626106 -222.50 167.50 347.50 0.118854 -222.50 167.50 352.50 0.192319 -222.50 167.50 357.50 0.30253 -222.50 172.50 2.50 0.244556 -222.50 172.50 7.50 0.291898 -222.50 172.50 12.50 0.329847 -222.50 172.50 17.50 0.362094 -222.50 172.50 22.50 0.416338 -222.50 172.50 27.50 0.526487 -222.50 172.50 32.50 0.777774 -222.50 172.50 37.50 1.10121 -222.50 172.50 42.50 1.21402 -222.50 172.50 47.50 0.953291 -222.50 172.50 52.50 0.54171 -222.50 172.50 57.50 0.244358 -222.50 172.50 62.50 0.102746 -222.50 172.50 67.50 0.0569904 -222.50 172.50 72.50 0.0673724 -222.50 172.50 77.50 0.108297 -222.50 172.50 82.50 0.164515 -222.50 172.50 87.50 0.204062 -222.50 172.50 92.50 0.244556 -222.50 172.50 97.50 0.291898 -222.50 172.50 102.50 0.329847 -222.50 172.50 107.50 0.362094 -222.50 172.50 112.50 0.416339 -222.50 172.50 117.50 0.526487 -222.50 172.50 122.50 0.777774 -222.50 172.50 127.50 1.10121 -222.50 172.50 132.50 1.21402 -222.50 172.50 137.50 0.953291 -222.50 172.50 142.50 0.54171 -222.50 172.50 147.50 0.244358 -222.50 172.50 152.50 0.102746 -222.50 172.50 157.50 0.0569904 -222.50 172.50 162.50 0.0673724 -222.50 172.50 167.50 0.108297 -222.50 172.50 172.50 0.164515 -222.50 172.50 177.50 0.204062 -222.50 172.50 182.50 0.244556 -222.50 172.50 187.50 0.291898 -222.50 172.50 192.50 0.329846 -222.50 172.50 197.50 0.362094 -222.50 172.50 202.50 0.416338 -222.50 172.50 207.50 0.526488 -222.50 172.50 212.50 0.777774 -222.50 172.50 217.50 1.10121 -222.50 172.50 222.50 1.21402 -222.50 172.50 227.50 0.953291 -222.50 172.50 232.50 0.541709 -222.50 172.50 237.50 0.244357 -222.50 172.50 242.50 0.102745 -222.50 172.50 247.50 0.0569904 -222.50 172.50 252.50 0.0673725 -222.50 172.50 257.50 0.108297 -222.50 172.50 262.50 0.164515 -222.50 172.50 267.50 0.204062 -222.50 172.50 272.50 0.244556 -222.50 172.50 277.50 0.291898 -222.50 172.50 282.50 0.329846 -222.50 172.50 287.50 0.362094 -222.50 172.50 292.50 0.416338 -222.50 172.50 297.50 0.526487 -222.50 172.50 302.50 0.777773 -222.50 172.50 307.50 1.10121 -222.50 172.50 312.50 1.21402 -222.50 172.50 317.50 0.953291 -222.50 172.50 322.50 0.541711 -222.50 172.50 327.50 0.244358 -222.50 172.50 332.50 0.102746 -222.50 172.50 337.50 0.0569904 -222.50 172.50 342.50 0.0673723 -222.50 172.50 347.50 0.108297 -222.50 172.50 352.50 0.164515 -222.50 172.50 357.50 0.204062 -222.50 177.50 2.50 0.12541 -222.50 177.50 7.50 0.126957 -222.50 177.50 12.50 0.120838 -222.50 177.50 17.50 0.118244 -222.50 177.50 22.50 0.140119 -222.50 177.50 27.50 0.232954 -222.50 177.50 32.50 0.462256 -222.50 177.50 37.50 0.792094 -222.50 177.50 42.50 0.958469 -222.50 177.50 47.50 0.774995 -222.50 177.50 52.50 0.425681 -222.50 177.50 57.50 0.176459 -222.50 177.50 62.50 0.0709713 -222.50 177.50 67.50 0.0483576 -222.50 177.50 72.50 0.0626698 -222.50 177.50 77.50 0.0897009 -222.50 177.50 82.50 0.110057 -222.50 177.50 87.50 0.119003 -222.50 177.50 92.50 0.12541 -222.50 177.50 97.50 0.126957 -222.50 177.50 102.50 0.120838 -222.50 177.50 107.50 0.118244 -222.50 177.50 112.50 0.140119 -222.50 177.50 117.50 0.232954 -222.50 177.50 122.50 0.462256 -222.50 177.50 127.50 0.792095 -222.50 177.50 132.50 0.958469 -222.50 177.50 137.50 0.774995 -222.50 177.50 142.50 0.425681 -222.50 177.50 147.50 0.176459 -222.50 177.50 152.50 0.0709713 -222.50 177.50 157.50 0.0483576 -222.50 177.50 162.50 0.0626698 -222.50 177.50 167.50 0.0897009 -222.50 177.50 172.50 0.110057 -222.50 177.50 177.50 0.119002 -222.50 177.50 182.50 0.12541 -222.50 177.50 187.50 0.126957 -222.50 177.50 192.50 0.120838 -222.50 177.50 197.50 0.118244 -222.50 177.50 202.50 0.14012 -222.50 177.50 207.50 0.232954 -222.50 177.50 212.50 0.462256 -222.50 177.50 217.50 0.792094 -222.50 177.50 222.50 0.958468 -222.50 177.50 227.50 0.774996 -222.50 177.50 232.50 0.425681 -222.50 177.50 237.50 0.176458 -222.50 177.50 242.50 0.0709711 -222.50 177.50 247.50 0.0483575 -222.50 177.50 252.50 0.0626698 -222.50 177.50 257.50 0.089701 -222.50 177.50 262.50 0.110057 -222.50 177.50 267.50 0.119002 -222.50 177.50 272.50 0.12541 -222.50 177.50 277.50 0.126957 -222.50 177.50 282.50 0.120838 -222.50 177.50 287.50 0.118244 -222.50 177.50 292.50 0.14012 -222.50 177.50 297.50 0.232954 -222.50 177.50 302.50 0.462256 -222.50 177.50 307.50 0.792094 -222.50 177.50 312.50 0.958469 -222.50 177.50 317.50 0.774996 -222.50 177.50 322.50 0.425682 -222.50 177.50 327.50 0.176459 -222.50 177.50 332.50 0.0709713 -222.50 177.50 337.50 0.0483575 -222.50 177.50 342.50 0.0626698 -222.50 177.50 347.50 0.0897009 -222.50 177.50 352.50 0.110057 -222.50 177.50 357.50 0.119002 -227.50 2.50 2.50 0.084539 -227.50 2.50 7.50 0.083846 -227.50 2.50 12.50 0.0760385 -227.50 2.50 17.50 0.0601603 -227.50 2.50 22.50 0.0485219 -227.50 2.50 27.50 0.0624685 -227.50 2.50 32.50 0.149977 -227.50 2.50 37.50 0.393272 -227.50 2.50 42.50 0.773177 -227.50 2.50 47.50 0.980506 -227.50 2.50 52.50 0.773179 -227.50 2.50 57.50 0.393272 -227.50 2.50 62.50 0.149977 -227.50 2.50 67.50 0.0624686 -227.50 2.50 72.50 0.0485219 -227.50 2.50 77.50 0.0601603 -227.50 2.50 82.50 0.0760385 -227.50 2.50 87.50 0.083846 -227.50 2.50 92.50 0.084539 -227.50 2.50 97.50 0.083846 -227.50 2.50 102.50 0.0760385 -227.50 2.50 107.50 0.0601603 -227.50 2.50 112.50 0.0485219 -227.50 2.50 117.50 0.0624686 -227.50 2.50 122.50 0.149977 -227.50 2.50 127.50 0.393272 -227.50 2.50 132.50 0.773179 -227.50 2.50 137.50 0.980506 -227.50 2.50 142.50 0.773179 -227.50 2.50 147.50 0.393272 -227.50 2.50 152.50 0.149977 -227.50 2.50 157.50 0.0624686 -227.50 2.50 162.50 0.0485219 -227.50 2.50 167.50 0.0601603 -227.50 2.50 172.50 0.0760385 -227.50 2.50 177.50 0.083846 -227.50 2.50 182.50 0.084539 -227.50 2.50 187.50 0.083846 -227.50 2.50 192.50 0.0760385 -227.50 2.50 197.50 0.0601603 -227.50 2.50 202.50 0.0485219 -227.50 2.50 207.50 0.0624685 -227.50 2.50 212.50 0.149977 -227.50 2.50 217.50 0.393272 -227.50 2.50 222.50 0.773178 -227.50 2.50 227.50 0.980476 -227.50 2.50 232.50 0.773178 -227.50 2.50 237.50 0.393272 -227.50 2.50 242.50 0.149977 -227.50 2.50 247.50 0.0624685 -227.50 2.50 252.50 0.0485219 -227.50 2.50 257.50 0.0601603 -227.50 2.50 262.50 0.0760386 -227.50 2.50 267.50 0.083846 -227.50 2.50 272.50 0.084539 -227.50 2.50 277.50 0.083846 -227.50 2.50 282.50 0.0760386 -227.50 2.50 287.50 0.0601603 -227.50 2.50 292.50 0.0485219 -227.50 2.50 297.50 0.0624685 -227.50 2.50 302.50 0.149977 -227.50 2.50 307.50 0.393272 -227.50 2.50 312.50 0.773178 -227.50 2.50 317.50 0.980476 -227.50 2.50 322.50 0.773179 -227.50 2.50 327.50 0.393273 -227.50 2.50 332.50 0.149977 -227.50 2.50 337.50 0.0624686 -227.50 2.50 342.50 0.0485219 -227.50 2.50 347.50 0.0601602 -227.50 2.50 352.50 0.0760385 -227.50 2.50 357.50 0.083846 -227.50 7.50 2.50 0.130387 -227.50 7.50 7.50 0.120837 -227.50 7.50 12.50 0.0985686 -227.50 7.50 17.50 0.0706778 -227.50 7.50 22.50 0.0586777 -227.50 7.50 27.50 0.0818355 -227.50 7.50 32.50 0.171415 -227.50 7.50 37.50 0.401305 -227.50 7.50 42.50 0.751725 -227.50 7.50 47.50 0.957657 -227.50 7.50 52.50 0.799663 -227.50 7.50 57.50 0.456806 -227.50 7.50 62.50 0.214871 -227.50 7.50 67.50 0.132723 -227.50 7.50 72.50 0.125308 -227.50 7.50 77.50 0.133174 -227.50 7.50 82.50 0.138325 -227.50 7.50 87.50 0.13629 -227.50 7.50 92.50 0.130387 -227.50 7.50 97.50 0.120837 -227.50 7.50 102.50 0.0985686 -227.50 7.50 107.50 0.0706778 -227.50 7.50 112.50 0.0586777 -227.50 7.50 117.50 0.0818356 -227.50 7.50 122.50 0.171415 -227.50 7.50 127.50 0.401305 -227.50 7.50 132.50 0.751725 -227.50 7.50 137.50 0.957656 -227.50 7.50 142.50 0.799663 -227.50 7.50 147.50 0.456806 -227.50 7.50 152.50 0.214872 -227.50 7.50 157.50 0.132724 -227.50 7.50 162.50 0.125308 -227.50 7.50 167.50 0.133174 -227.50 7.50 172.50 0.138325 -227.50 7.50 177.50 0.13629 -227.50 7.50 182.50 0.130387 -227.50 7.50 187.50 0.120837 -227.50 7.50 192.50 0.0985686 -227.50 7.50 197.50 0.0706778 -227.50 7.50 202.50 0.0586776 -227.50 7.50 207.50 0.0818354 -227.50 7.50 212.50 0.171415 -227.50 7.50 217.50 0.401305 -227.50 7.50 222.50 0.751726 -227.50 7.50 227.50 0.957656 -227.50 7.50 232.50 0.799662 -227.50 7.50 237.50 0.456805 -227.50 7.50 242.50 0.214872 -227.50 7.50 247.50 0.132724 -227.50 7.50 252.50 0.125308 -227.50 7.50 257.50 0.133174 -227.50 7.50 262.50 0.138325 -227.50 7.50 267.50 0.13629 -227.50 7.50 272.50 0.130387 -227.50 7.50 277.50 0.120837 -227.50 7.50 282.50 0.0985686 -227.50 7.50 287.50 0.0706778 -227.50 7.50 292.50 0.0586776 -227.50 7.50 297.50 0.0818352 -227.50 7.50 302.50 0.171414 -227.50 7.50 307.50 0.401305 -227.50 7.50 312.50 0.751726 -227.50 7.50 317.50 0.957657 -227.50 7.50 322.50 0.799664 -227.50 7.50 327.50 0.456807 -227.50 7.50 332.50 0.214872 -227.50 7.50 337.50 0.132724 -227.50 7.50 342.50 0.125308 -227.50 7.50 347.50 0.133174 -227.50 7.50 352.50 0.138325 -227.50 7.50 357.50 0.13629 -227.50 12.50 2.50 0.246673 -227.50 12.50 7.50 0.200771 -227.50 12.50 12.50 0.135628 -227.50 12.50 17.50 0.0755782 -227.50 12.50 22.50 0.0702203 -227.50 12.50 27.50 0.118447 -227.50 12.50 32.50 0.244565 -227.50 12.50 37.50 0.511232 -227.50 12.50 42.50 0.910761 -227.50 12.50 47.50 1.19054 -227.50 12.50 52.50 1.09405 -227.50 12.50 57.50 0.755848 -227.50 12.50 62.50 0.500226 -227.50 12.50 67.50 0.426448 -227.50 12.50 72.50 0.422121 -227.50 12.50 77.50 0.38959 -227.50 12.50 82.50 0.346466 -227.50 12.50 87.50 0.292922 -227.50 12.50 92.50 0.246673 -227.50 12.50 97.50 0.200771 -227.50 12.50 102.50 0.135628 -227.50 12.50 107.50 0.0755783 -227.50 12.50 112.50 0.0702204 -227.50 12.50 117.50 0.118447 -227.50 12.50 122.50 0.244565 -227.50 12.50 127.50 0.511231 -227.50 12.50 132.50 0.910762 -227.50 12.50 137.50 1.19054 -227.50 12.50 142.50 1.09405 -227.50 12.50 147.50 0.755848 -227.50 12.50 152.50 0.500226 -227.50 12.50 157.50 0.426447 -227.50 12.50 162.50 0.422121 -227.50 12.50 167.50 0.38959 -227.50 12.50 172.50 0.346466 -227.50 12.50 177.50 0.292922 -227.50 12.50 182.50 0.246673 -227.50 12.50 187.50 0.200771 -227.50 12.50 192.50 0.135628 -227.50 12.50 197.50 0.0755783 -227.50 12.50 202.50 0.0702203 -227.50 12.50 207.50 0.118447 -227.50 12.50 212.50 0.244565 -227.50 12.50 217.50 0.511231 -227.50 12.50 222.50 0.910762 -227.50 12.50 227.50 1.19054 -227.50 12.50 232.50 1.09405 -227.50 12.50 237.50 0.755847 -227.50 12.50 242.50 0.500226 -227.50 12.50 247.50 0.426447 -227.50 12.50 252.50 0.422121 -227.50 12.50 257.50 0.389589 -227.50 12.50 262.50 0.346466 -227.50 12.50 267.50 0.292922 -227.50 12.50 272.50 0.246673 -227.50 12.50 277.50 0.200771 -227.50 12.50 282.50 0.135628 -227.50 12.50 287.50 0.0755783 -227.50 12.50 292.50 0.0702203 -227.50 12.50 297.50 0.118447 -227.50 12.50 302.50 0.244564 -227.50 12.50 307.50 0.511231 -227.50 12.50 312.50 0.910761 -227.50 12.50 317.50 1.19054 -227.50 12.50 322.50 1.09405 -227.50 12.50 327.50 0.755849 -227.50 12.50 332.50 0.500227 -227.50 12.50 337.50 0.426448 -227.50 12.50 342.50 0.422121 -227.50 12.50 347.50 0.389589 -227.50 12.50 352.50 0.346466 -227.50 12.50 357.50 0.292922 -227.50 17.50 2.50 0.403177 -227.50 17.50 7.50 0.258234 -227.50 17.50 12.50 0.138051 -227.50 17.50 17.50 0.0753127 -227.50 17.50 22.50 0.0671228 -227.50 17.50 27.50 0.125026 -227.50 17.50 32.50 0.270597 -227.50 17.50 37.50 0.534562 -227.50 17.50 42.50 0.917767 -227.50 17.50 47.50 1.28158 -227.50 17.50 52.50 1.37784 -227.50 17.50 57.50 1.21406 -227.50 17.50 62.50 1.0785 -227.50 17.50 67.50 1.09896 -227.50 17.50 72.50 1.12898 -227.50 17.50 77.50 1.03822 -227.50 17.50 82.50 0.819827 -227.50 17.50 87.50 0.597879 -227.50 17.50 92.50 0.403177 -227.50 17.50 97.50 0.258234 -227.50 17.50 102.50 0.138051 -227.50 17.50 107.50 0.0753127 -227.50 17.50 112.50 0.0671229 -227.50 17.50 117.50 0.125026 -227.50 17.50 122.50 0.270597 -227.50 17.50 127.50 0.534562 -227.50 17.50 132.50 0.917767 -227.50 17.50 137.50 1.28158 -227.50 17.50 142.50 1.37784 -227.50 17.50 147.50 1.21406 -227.50 17.50 152.50 1.0785 -227.50 17.50 157.50 1.09896 -227.50 17.50 162.50 1.12898 -227.50 17.50 167.50 1.03822 -227.50 17.50 172.50 0.819827 -227.50 17.50 177.50 0.59788 -227.50 17.50 182.50 0.403177 -227.50 17.50 187.50 0.258234 -227.50 17.50 192.50 0.138051 -227.50 17.50 197.50 0.0753127 -227.50 17.50 202.50 0.0671228 -227.50 17.50 207.50 0.125026 -227.50 17.50 212.50 0.270597 -227.50 17.50 217.50 0.534562 -227.50 17.50 222.50 0.917766 -227.50 17.50 227.50 1.28158 -227.50 17.50 232.50 1.37784 -227.50 17.50 237.50 1.21406 -227.50 17.50 242.50 1.0785 -227.50 17.50 247.50 1.09896 -227.50 17.50 252.50 1.12898 -227.50 17.50 257.50 1.03822 -227.50 17.50 262.50 0.819827 -227.50 17.50 267.50 0.597879 -227.50 17.50 272.50 0.403177 -227.50 17.50 277.50 0.258234 -227.50 17.50 282.50 0.138051 -227.50 17.50 287.50 0.0753127 -227.50 17.50 292.50 0.0671228 -227.50 17.50 297.50 0.125026 -227.50 17.50 302.50 0.270597 -227.50 17.50 307.50 0.534561 -227.50 17.50 312.50 0.917766 -227.50 17.50 317.50 1.28158 -227.50 17.50 322.50 1.37784 -227.50 17.50 327.50 1.21406 -227.50 17.50 332.50 1.0785 -227.50 17.50 337.50 1.09896 -227.50 17.50 342.50 1.12898 -227.50 17.50 347.50 1.03822 -227.50 17.50 352.50 0.819828 -227.50 17.50 357.50 0.59788 -227.50 22.50 2.50 0.637513 -227.50 22.50 7.50 0.285721 -227.50 22.50 12.50 0.119253 -227.50 22.50 17.50 0.0519655 -227.50 22.50 22.50 0.0393927 -227.50 22.50 27.50 0.0852977 -227.50 22.50 32.50 0.205078 -227.50 22.50 37.50 0.427802 -227.50 22.50 42.50 0.795805 -227.50 22.50 47.50 1.23339 -227.50 22.50 52.50 1.57233 -227.50 22.50 57.50 1.72953 -227.50 22.50 62.50 1.8782 -227.50 22.50 67.50 2.14287 -227.50 22.50 72.50 2.34706 -227.50 22.50 77.50 2.24805 -227.50 22.50 82.50 1.81288 -227.50 22.50 87.50 1.18271 -227.50 22.50 92.50 0.637513 -227.50 22.50 97.50 0.285721 -227.50 22.50 102.50 0.119253 -227.50 22.50 107.50 0.0519655 -227.50 22.50 112.50 0.0393928 -227.50 22.50 117.50 0.0852978 -227.50 22.50 122.50 0.205078 -227.50 22.50 127.50 0.427802 -227.50 22.50 132.50 0.795805 -227.50 22.50 137.50 1.23339 -227.50 22.50 142.50 1.57233 -227.50 22.50 147.50 1.72953 -227.50 22.50 152.50 1.8782 -227.50 22.50 157.50 2.14287 -227.50 22.50 162.50 2.34706 -227.50 22.50 167.50 2.24805 -227.50 22.50 172.50 1.81288 -227.50 22.50 177.50 1.18272 -227.50 22.50 182.50 0.637513 -227.50 22.50 187.50 0.285721 -227.50 22.50 192.50 0.119253 -227.50 22.50 197.50 0.0519655 -227.50 22.50 202.50 0.0393927 -227.50 22.50 207.50 0.0852976 -227.50 22.50 212.50 0.205078 -227.50 22.50 217.50 0.427801 -227.50 22.50 222.50 0.795805 -227.50 22.50 227.50 1.23339 -227.50 22.50 232.50 1.57234 -227.50 22.50 237.50 1.72953 -227.50 22.50 242.50 1.8782 -227.50 22.50 247.50 2.14287 -227.50 22.50 252.50 2.34706 -227.50 22.50 257.50 2.24805 -227.50 22.50 262.50 1.81288 -227.50 22.50 267.50 1.18271 -227.50 22.50 272.50 0.637513 -227.50 22.50 277.50 0.285722 -227.50 22.50 282.50 0.119253 -227.50 22.50 287.50 0.0519656 -227.50 22.50 292.50 0.0393927 -227.50 22.50 297.50 0.0852975 -227.50 22.50 302.50 0.205078 -227.50 22.50 307.50 0.427801 -227.50 22.50 312.50 0.795805 -227.50 22.50 317.50 1.23339 -227.50 22.50 322.50 1.57233 -227.50 22.50 327.50 1.72953 -227.50 22.50 332.50 1.8782 -227.50 22.50 337.50 2.14287 -227.50 22.50 342.50 2.34706 -227.50 22.50 347.50 2.24805 -227.50 22.50 352.50 1.81288 -227.50 22.50 357.50 1.18272 -227.50 27.50 2.50 0.968135 -227.50 27.50 7.50 0.329818 -227.50 27.50 12.50 0.104603 -227.50 27.50 17.50 0.030666 -227.50 27.50 22.50 0.0163487 -227.50 27.50 27.50 0.0368871 -227.50 27.50 32.50 0.109068 -227.50 27.50 37.50 0.270308 -227.50 27.50 42.50 0.56668 -227.50 27.50 47.50 1.01745 -227.50 27.50 52.50 1.50218 -227.50 27.50 57.50 1.9563 -227.50 27.50 62.50 2.54336 -227.50 27.50 67.50 3.22444 -227.50 27.50 72.50 3.8301 -227.50 27.50 77.50 3.92172 -227.50 27.50 82.50 3.2313 -227.50 27.50 87.50 2.03748 -227.50 27.50 92.50 0.968135 -227.50 27.50 97.50 0.329817 -227.50 27.50 102.50 0.104603 -227.50 27.50 107.50 0.030666 -227.50 27.50 112.50 0.0163487 -227.50 27.50 117.50 0.0368872 -227.50 27.50 122.50 0.109068 -227.50 27.50 127.50 0.270308 -227.50 27.50 132.50 0.56668 -227.50 27.50 137.50 1.01745 -227.50 27.50 142.50 1.50218 -227.50 27.50 147.50 1.9563 -227.50 27.50 152.50 2.54336 -227.50 27.50 157.50 3.22444 -227.50 27.50 162.50 3.8301 -227.50 27.50 167.50 3.92172 -227.50 27.50 172.50 3.2313 -227.50 27.50 177.50 2.03748 -227.50 27.50 182.50 0.968135 -227.50 27.50 187.50 0.329817 -227.50 27.50 192.50 0.104603 -227.50 27.50 197.50 0.030666 -227.50 27.50 202.50 0.0163487 -227.50 27.50 207.50 0.0368871 -227.50 27.50 212.50 0.109068 -227.50 27.50 217.50 0.270308 -227.50 27.50 222.50 0.56668 -227.50 27.50 227.50 1.01745 -227.50 27.50 232.50 1.50218 -227.50 27.50 237.50 1.9563 -227.50 27.50 242.50 2.54336 -227.50 27.50 247.50 3.22444 -227.50 27.50 252.50 3.8301 -227.50 27.50 257.50 3.92172 -227.50 27.50 262.50 3.2313 -227.50 27.50 267.50 2.03748 -227.50 27.50 272.50 0.968135 -227.50 27.50 277.50 0.329818 -227.50 27.50 282.50 0.104603 -227.50 27.50 287.50 0.030666 -227.50 27.50 292.50 0.0163487 -227.50 27.50 297.50 0.0368871 -227.50 27.50 302.50 0.109068 -227.50 27.50 307.50 0.270307 -227.50 27.50 312.50 0.566679 -227.50 27.50 317.50 1.01745 -227.50 27.50 322.50 1.50218 -227.50 27.50 327.50 1.9563 -227.50 27.50 332.50 2.54336 -227.50 27.50 337.50 3.22443 -227.50 27.50 342.50 3.8301 -227.50 27.50 347.50 3.92172 -227.50 27.50 352.50 3.2313 -227.50 27.50 357.50 2.03748 -227.50 32.50 2.50 1.29235 -227.50 32.50 7.50 0.414932 -227.50 32.50 12.50 0.116364 -227.50 32.50 17.50 0.0247872 -227.50 32.50 22.50 0.00965575 -227.50 32.50 27.50 0.0134999 -227.50 32.50 32.50 0.0486949 -227.50 32.50 37.50 0.141274 -227.50 32.50 42.50 0.340805 -227.50 32.50 47.50 0.695906 -227.50 32.50 52.50 1.17106 -227.50 32.50 57.50 1.79561 -227.50 32.50 62.50 2.6901 -227.50 32.50 67.50 3.9221 -227.50 32.50 72.50 4.99206 -227.50 32.50 77.50 5.3989 -227.50 32.50 82.50 4.50354 -227.50 32.50 87.50 2.82189 -227.50 32.50 92.50 1.29235 -227.50 32.50 97.50 0.414932 -227.50 32.50 102.50 0.116364 -227.50 32.50 107.50 0.0247872 -227.50 32.50 112.50 0.00965575 -227.50 32.50 117.50 0.0134999 -227.50 32.50 122.50 0.0486949 -227.50 32.50 127.50 0.141274 -227.50 32.50 132.50 0.340805 -227.50 32.50 137.50 0.695907 -227.50 32.50 142.50 1.17106 -227.50 32.50 147.50 1.79561 -227.50 32.50 152.50 2.6901 -227.50 32.50 157.50 3.9221 -227.50 32.50 162.50 4.99205 -227.50 32.50 167.50 5.3989 -227.50 32.50 172.50 4.50354 -227.50 32.50 177.50 2.82189 -227.50 32.50 182.50 1.29235 -227.50 32.50 187.50 0.414931 -227.50 32.50 192.50 0.116364 -227.50 32.50 197.50 0.0247871 -227.50 32.50 202.50 0.00965575 -227.50 32.50 207.50 0.0134999 -227.50 32.50 212.50 0.0486949 -227.50 32.50 217.50 0.141274 -227.50 32.50 222.50 0.340805 -227.50 32.50 227.50 0.695906 -227.50 32.50 232.50 1.17106 -227.50 32.50 237.50 1.79561 -227.50 32.50 242.50 2.6901 -227.50 32.50 247.50 3.92211 -227.50 32.50 252.50 4.99206 -227.50 32.50 257.50 5.39891 -227.50 32.50 262.50 4.50354 -227.50 32.50 267.50 2.82189 -227.50 32.50 272.50 1.29235 -227.50 32.50 277.50 0.414932 -227.50 32.50 282.50 0.116364 -227.50 32.50 287.50 0.0247872 -227.50 32.50 292.50 0.00965575 -227.50 32.50 297.50 0.0134999 -227.50 32.50 302.50 0.0486948 -227.50 32.50 307.50 0.141274 -227.50 32.50 312.50 0.340805 -227.50 32.50 317.50 0.695905 -227.50 32.50 322.50 1.17106 -227.50 32.50 327.50 1.79561 -227.50 32.50 332.50 2.6901 -227.50 32.50 337.50 3.9221 -227.50 32.50 342.50 4.99205 -227.50 32.50 347.50 5.39891 -227.50 32.50 352.50 4.50354 -227.50 32.50 357.50 2.82189 -227.50 37.50 2.50 1.51272 -227.50 37.50 7.50 0.540504 -227.50 37.50 12.50 0.15482 -227.50 37.50 17.50 0.0425808 -227.50 37.50 22.50 0.0142555 -227.50 37.50 27.50 0.00766384 -227.50 37.50 32.50 0.017002 -227.50 37.50 37.50 0.0542927 -227.50 37.50 42.50 0.161909 -227.50 37.50 47.50 0.371522 -227.50 37.50 52.50 0.734289 -227.50 37.50 57.50 1.38818 -227.50 37.50 62.50 2.44984 -227.50 37.50 67.50 3.88117 -227.50 37.50 72.50 5.23187 -227.50 37.50 77.50 5.77028 -227.50 37.50 82.50 4.96675 -227.50 37.50 87.50 3.14259 -227.50 37.50 92.50 1.51272 -227.50 37.50 97.50 0.540505 -227.50 37.50 102.50 0.15482 -227.50 37.50 107.50 0.0425808 -227.50 37.50 112.50 0.0142555 -227.50 37.50 117.50 0.00766383 -227.50 37.50 122.50 0.017002 -227.50 37.50 127.50 0.0542928 -227.50 37.50 132.50 0.16191 -227.50 37.50 137.50 0.371522 -227.50 37.50 142.50 0.734289 -227.50 37.50 147.50 1.38818 -227.50 37.50 152.50 2.44983 -227.50 37.50 157.50 3.88117 -227.50 37.50 162.50 5.23187 -227.50 37.50 167.50 5.77028 -227.50 37.50 172.50 4.96675 -227.50 37.50 177.50 3.14259 -227.50 37.50 182.50 1.51272 -227.50 37.50 187.50 0.540504 -227.50 37.50 192.50 0.15482 -227.50 37.50 197.50 0.0425808 -227.50 37.50 202.50 0.0142555 -227.50 37.50 207.50 0.00766384 -227.50 37.50 212.50 0.017002 -227.50 37.50 217.50 0.0542927 -227.50 37.50 222.50 0.161909 -227.50 37.50 227.50 0.371522 -227.50 37.50 232.50 0.73429 -227.50 37.50 237.50 1.38818 -227.50 37.50 242.50 2.44984 -227.50 37.50 247.50 3.88117 -227.50 37.50 252.50 5.23187 -227.50 37.50 257.50 5.77028 -227.50 37.50 262.50 4.96675 -227.50 37.50 267.50 3.14259 -227.50 37.50 272.50 1.51272 -227.50 37.50 277.50 0.540505 -227.50 37.50 282.50 0.154821 -227.50 37.50 287.50 0.0425808 -227.50 37.50 292.50 0.0142555 -227.50 37.50 297.50 0.00766384 -227.50 37.50 302.50 0.017002 -227.50 37.50 307.50 0.0542926 -227.50 37.50 312.50 0.161909 -227.50 37.50 317.50 0.371522 -227.50 37.50 322.50 0.734288 -227.50 37.50 327.50 1.38818 -227.50 37.50 332.50 2.44983 -227.50 37.50 337.50 3.88117 -227.50 37.50 342.50 5.23187 -227.50 37.50 347.50 5.77028 -227.50 37.50 352.50 4.96676 -227.50 37.50 357.50 3.1426 -227.50 42.50 2.50 1.628 -227.50 42.50 7.50 0.700267 -227.50 42.50 12.50 0.246043 -227.50 42.50 17.50 0.0932886 -227.50 42.50 22.50 0.0401125 -227.50 42.50 27.50 0.0193176 -227.50 42.50 32.50 0.0108623 -227.50 42.50 37.50 0.0171812 -227.50 42.50 42.50 0.0520136 -227.50 42.50 47.50 0.146546 -227.50 42.50 52.50 0.397991 -227.50 42.50 57.50 0.947813 -227.50 42.50 62.50 1.85956 -227.50 42.50 67.50 3.10897 -227.50 42.50 72.50 4.45582 -227.50 42.50 77.50 5.00802 -227.50 42.50 82.50 4.42938 -227.50 42.50 87.50 2.95658 -227.50 42.50 92.50 1.628 -227.50 42.50 97.50 0.700266 -227.50 42.50 102.50 0.246043 -227.50 42.50 107.50 0.0932886 -227.50 42.50 112.50 0.0401125 -227.50 42.50 117.50 0.0193176 -227.50 42.50 122.50 0.0108623 -227.50 42.50 127.50 0.0171812 -227.50 42.50 132.50 0.0520136 -227.50 42.50 137.50 0.146546 -227.50 42.50 142.50 0.397991 -227.50 42.50 147.50 0.947813 -227.50 42.50 152.50 1.85956 -227.50 42.50 157.50 3.10896 -227.50 42.50 162.50 4.45582 -227.50 42.50 167.50 5.00803 -227.50 42.50 172.50 4.42938 -227.50 42.50 177.50 2.95658 -227.50 42.50 182.50 1.628 -227.50 42.50 187.50 0.700267 -227.50 42.50 192.50 0.246043 -227.50 42.50 197.50 0.0932886 -227.50 42.50 202.50 0.0401125 -227.50 42.50 207.50 0.0193176 -227.50 42.50 212.50 0.0108623 -227.50 42.50 217.50 0.0171812 -227.50 42.50 222.50 0.0520135 -227.50 42.50 227.50 0.146546 -227.50 42.50 232.50 0.397992 -227.50 42.50 237.50 0.947814 -227.50 42.50 242.50 1.85956 -227.50 42.50 247.50 3.10897 -227.50 42.50 252.50 4.45582 -227.50 42.50 257.50 5.00803 -227.50 42.50 262.50 4.42938 -227.50 42.50 267.50 2.95657 -227.50 42.50 272.50 1.628 -227.50 42.50 277.50 0.700267 -227.50 42.50 282.50 0.246043 -227.50 42.50 287.50 0.0932886 -227.50 42.50 292.50 0.0401125 -227.50 42.50 297.50 0.0193176 -227.50 42.50 302.50 0.0108623 -227.50 42.50 307.50 0.0171811 -227.50 42.50 312.50 0.0520134 -227.50 42.50 317.50 0.146546 -227.50 42.50 322.50 0.397991 -227.50 42.50 327.50 0.947811 -227.50 42.50 332.50 1.85956 -227.50 42.50 337.50 3.10896 -227.50 42.50 342.50 4.45582 -227.50 42.50 347.50 5.00803 -227.50 42.50 352.50 4.42938 -227.50 42.50 357.50 2.95658 -227.50 47.50 2.50 1.66337 -227.50 47.50 7.50 0.9146 -227.50 47.50 12.50 0.452375 -227.50 47.50 17.50 0.232092 -227.50 47.50 22.50 0.139303 -227.50 47.50 27.50 0.0908967 -227.50 47.50 32.50 0.0400785 -227.50 47.50 37.50 0.0168596 -227.50 47.50 42.50 0.0150114 -227.50 47.50 47.50 0.0568409 -227.50 47.50 52.50 0.18753 -227.50 47.50 57.50 0.548183 -227.50 47.50 62.50 1.14238 -227.50 47.50 67.50 1.94873 -227.50 47.50 72.50 3.06255 -227.50 47.50 77.50 3.64918 -227.50 47.50 82.50 3.36605 -227.50 47.50 87.50 2.48748 -227.50 47.50 92.50 1.66337 -227.50 47.50 97.50 0.914599 -227.50 47.50 102.50 0.452375 -227.50 47.50 107.50 0.232092 -227.50 47.50 112.50 0.139303 -227.50 47.50 117.50 0.0908967 -227.50 47.50 122.50 0.0400785 -227.50 47.50 127.50 0.0168595 -227.50 47.50 132.50 0.0150114 -227.50 47.50 137.50 0.0568409 -227.50 47.50 142.50 0.18753 -227.50 47.50 147.50 0.548183 -227.50 47.50 152.50 1.14237 -227.50 47.50 157.50 1.94873 -227.50 47.50 162.50 3.06255 -227.50 47.50 167.50 3.64918 -227.50 47.50 172.50 3.36605 -227.50 47.50 177.50 2.48748 -227.50 47.50 182.50 1.66337 -227.50 47.50 187.50 0.914598 -227.50 47.50 192.50 0.452375 -227.50 47.50 197.50 0.232092 -227.50 47.50 202.50 0.139303 -227.50 47.50 207.50 0.0908968 -227.50 47.50 212.50 0.0400785 -227.50 47.50 217.50 0.0168596 -227.50 47.50 222.50 0.0150114 -227.50 47.50 227.50 0.0568409 -227.50 47.50 232.50 0.187531 -227.50 47.50 237.50 0.548183 -227.50 47.50 242.50 1.14238 -227.50 47.50 247.50 1.94873 -227.50 47.50 252.50 3.06255 -227.50 47.50 257.50 3.64917 -227.50 47.50 262.50 3.36605 -227.50 47.50 267.50 2.48748 -227.50 47.50 272.50 1.66337 -227.50 47.50 277.50 0.9146 -227.50 47.50 282.50 0.452375 -227.50 47.50 287.50 0.232092 -227.50 47.50 292.50 0.139303 -227.50 47.50 297.50 0.0908969 -227.50 47.50 302.50 0.0400785 -227.50 47.50 307.50 0.0168596 -227.50 47.50 312.50 0.0150114 -227.50 47.50 317.50 0.0568407 -227.50 47.50 322.50 0.187529 -227.50 47.50 327.50 0.548182 -227.50 47.50 332.50 1.14237 -227.50 47.50 337.50 1.94873 -227.50 47.50 342.50 3.06254 -227.50 47.50 347.50 3.64918 -227.50 47.50 352.50 3.36605 -227.50 47.50 357.50 2.48748 -227.50 52.50 2.50 1.628 -227.50 52.50 7.50 1.21014 -227.50 52.50 12.50 0.840815 -227.50 52.50 17.50 0.56958 -227.50 52.50 22.50 0.454395 -227.50 52.50 27.50 0.317223 -227.50 52.50 32.50 0.164442 -227.50 52.50 37.50 0.0676412 -227.50 52.50 42.50 0.0215621 -227.50 52.50 47.50 0.0214595 -227.50 52.50 52.50 0.0771343 -227.50 52.50 57.50 0.232396 -227.50 52.50 62.50 0.508295 -227.50 52.50 67.50 0.958793 -227.50 52.50 72.50 1.62477 -227.50 52.50 77.50 2.17574 -227.50 52.50 82.50 2.2079 -227.50 52.50 87.50 1.92084 -227.50 52.50 92.50 1.628 -227.50 52.50 97.50 1.21014 -227.50 52.50 102.50 0.840814 -227.50 52.50 107.50 0.56958 -227.50 52.50 112.50 0.454395 -227.50 52.50 117.50 0.317223 -227.50 52.50 122.50 0.164442 -227.50 52.50 127.50 0.0676413 -227.50 52.50 132.50 0.0215621 -227.50 52.50 137.50 0.0214595 -227.50 52.50 142.50 0.0771344 -227.50 52.50 147.50 0.232396 -227.50 52.50 152.50 0.508294 -227.50 52.50 157.50 0.958793 -227.50 52.50 162.50 1.62477 -227.50 52.50 167.50 2.17574 -227.50 52.50 172.50 2.2079 -227.50 52.50 177.50 1.92084 -227.50 52.50 182.50 1.628 -227.50 52.50 187.50 1.21014 -227.50 52.50 192.50 0.840814 -227.50 52.50 197.50 0.56958 -227.50 52.50 202.50 0.454394 -227.50 52.50 207.50 0.317223 -227.50 52.50 212.50 0.164442 -227.50 52.50 217.50 0.0676413 -227.50 52.50 222.50 0.0215621 -227.50 52.50 227.50 0.0214595 -227.50 52.50 232.50 0.0771347 -227.50 52.50 237.50 0.232396 -227.50 52.50 242.50 0.508295 -227.50 52.50 247.50 0.958794 -227.50 52.50 252.50 1.62477 -227.50 52.50 257.50 2.17574 -227.50 52.50 262.50 2.2079 -227.50 52.50 267.50 1.92084 -227.50 52.50 272.50 1.628 -227.50 52.50 277.50 1.21014 -227.50 52.50 282.50 0.840815 -227.50 52.50 287.50 0.56958 -227.50 52.50 292.50 0.454395 -227.50 52.50 297.50 0.317223 -227.50 52.50 302.50 0.164442 -227.50 52.50 307.50 0.0676414 -227.50 52.50 312.50 0.0215621 -227.50 52.50 317.50 0.0214595 -227.50 52.50 322.50 0.0771342 -227.50 52.50 327.50 0.232395 -227.50 52.50 332.50 0.508294 -227.50 52.50 337.50 0.958791 -227.50 52.50 342.50 1.62477 -227.50 52.50 347.50 2.17574 -227.50 52.50 352.50 2.2079 -227.50 52.50 357.50 1.92084 -227.50 57.50 2.50 1.51272 -227.50 57.50 7.50 1.5716 -227.50 57.50 12.50 1.44307 -227.50 57.50 17.50 1.31236 -227.50 57.50 22.50 1.14043 -227.50 57.50 27.50 0.826399 -227.50 57.50 32.50 0.526679 -227.50 57.50 37.50 0.260173 -227.50 57.50 42.50 0.100259 -227.50 57.50 47.50 0.0432226 -227.50 57.50 52.50 0.0361276 -227.50 57.50 57.50 0.0780686 -227.50 57.50 62.50 0.179891 -227.50 57.50 67.50 0.355358 -227.50 57.50 72.50 0.633898 -227.50 57.50 77.50 0.954179 -227.50 57.50 82.50 1.1942 -227.50 57.50 87.50 1.33769 -227.50 57.50 92.50 1.51272 -227.50 57.50 97.50 1.5716 -227.50 57.50 102.50 1.44307 -227.50 57.50 107.50 1.31236 -227.50 57.50 112.50 1.14043 -227.50 57.50 117.50 0.826399 -227.50 57.50 122.50 0.526679 -227.50 57.50 127.50 0.260173 -227.50 57.50 132.50 0.100259 -227.50 57.50 137.50 0.0432226 -227.50 57.50 142.50 0.0361276 -227.50 57.50 147.50 0.0780686 -227.50 57.50 152.50 0.179891 -227.50 57.50 157.50 0.355358 -227.50 57.50 162.50 0.633898 -227.50 57.50 167.50 0.95418 -227.50 57.50 172.50 1.1942 -227.50 57.50 177.50 1.33769 -227.50 57.50 182.50 1.51272 -227.50 57.50 187.50 1.5716 -227.50 57.50 192.50 1.44307 -227.50 57.50 197.50 1.31236 -227.50 57.50 202.50 1.14043 -227.50 57.50 207.50 0.826399 -227.50 57.50 212.50 0.526679 -227.50 57.50 217.50 0.260173 -227.50 57.50 222.50 0.10026 -227.50 57.50 227.50 0.0432226 -227.50 57.50 232.50 0.0361277 -227.50 57.50 237.50 0.0780687 -227.50 57.50 242.50 0.179891 -227.50 57.50 247.50 0.355358 -227.50 57.50 252.50 0.633899 -227.50 57.50 257.50 0.95418 -227.50 57.50 262.50 1.1942 -227.50 57.50 267.50 1.33769 -227.50 57.50 272.50 1.51272 -227.50 57.50 277.50 1.5716 -227.50 57.50 282.50 1.44307 -227.50 57.50 287.50 1.31236 -227.50 57.50 292.50 1.14043 -227.50 57.50 297.50 0.8264 -227.50 57.50 302.50 0.526679 -227.50 57.50 307.50 0.260173 -227.50 57.50 312.50 0.10026 -227.50 57.50 317.50 0.0432226 -227.50 57.50 322.50 0.0361276 -227.50 57.50 327.50 0.0780684 -227.50 57.50 332.50 0.17989 -227.50 57.50 337.50 0.355357 -227.50 57.50 342.50 0.633897 -227.50 57.50 347.50 0.954178 -227.50 57.50 352.50 1.1942 -227.50 57.50 357.50 1.33769 -227.50 62.50 2.50 1.29235 -227.50 62.50 7.50 1.82071 -227.50 62.50 12.50 2.09115 -227.50 62.50 17.50 2.24112 -227.50 62.50 22.50 2.21996 -227.50 62.50 27.50 1.84685 -227.50 62.50 32.50 1.34706 -227.50 62.50 37.50 0.814817 -227.50 62.50 42.50 0.370964 -227.50 62.50 47.50 0.142105 -227.50 62.50 52.50 0.0670157 -227.50 62.50 57.50 0.0469778 -227.50 62.50 62.50 0.0532586 -227.50 62.50 67.50 0.090858 -227.50 62.50 72.50 0.167665 -227.50 62.50 77.50 0.319137 -227.50 62.50 82.50 0.524054 -227.50 62.50 87.50 0.844559 -227.50 62.50 92.50 1.29235 -227.50 62.50 97.50 1.82071 -227.50 62.50 102.50 2.09115 -227.50 62.50 107.50 2.24112 -227.50 62.50 112.50 2.21996 -227.50 62.50 117.50 1.84685 -227.50 62.50 122.50 1.34706 -227.50 62.50 127.50 0.814817 -227.50 62.50 132.50 0.370964 -227.50 62.50 137.50 0.142105 -227.50 62.50 142.50 0.0670156 -227.50 62.50 147.50 0.0469779 -227.50 62.50 152.50 0.0532585 -227.50 62.50 157.50 0.090858 -227.50 62.50 162.50 0.167665 -227.50 62.50 167.50 0.319137 -227.50 62.50 172.50 0.524054 -227.50 62.50 177.50 0.844559 -227.50 62.50 182.50 1.29235 -227.50 62.50 187.50 1.82072 -227.50 62.50 192.50 2.09115 -227.50 62.50 197.50 2.24112 -227.50 62.50 202.50 2.21996 -227.50 62.50 207.50 1.84685 -227.50 62.50 212.50 1.34706 -227.50 62.50 217.50 0.814817 -227.50 62.50 222.50 0.370964 -227.50 62.50 227.50 0.142105 -227.50 62.50 232.50 0.0670156 -227.50 62.50 237.50 0.0469778 -227.50 62.50 242.50 0.0532586 -227.50 62.50 247.50 0.0908581 -227.50 62.50 252.50 0.167665 -227.50 62.50 257.50 0.319137 -227.50 62.50 262.50 0.524055 -227.50 62.50 267.50 0.84456 -227.50 62.50 272.50 1.29235 -227.50 62.50 277.50 1.82072 -227.50 62.50 282.50 2.09115 -227.50 62.50 287.50 2.24112 -227.50 62.50 292.50 2.21996 -227.50 62.50 297.50 1.84685 -227.50 62.50 302.50 1.34706 -227.50 62.50 307.50 0.814817 -227.50 62.50 312.50 0.370964 -227.50 62.50 317.50 0.142105 -227.50 62.50 322.50 0.0670157 -227.50 62.50 327.50 0.0469778 -227.50 62.50 332.50 0.0532585 -227.50 62.50 337.50 0.0908578 -227.50 62.50 342.50 0.167665 -227.50 62.50 347.50 0.319136 -227.50 62.50 352.50 0.524054 -227.50 62.50 357.50 0.844559 -227.50 67.50 2.50 0.968135 -227.50 67.50 7.50 1.72646 -227.50 67.50 12.50 2.37158 -227.50 67.50 17.50 2.98251 -227.50 67.50 22.50 3.43385 -227.50 67.50 27.50 3.34411 -227.50 67.50 32.50 2.66677 -227.50 67.50 37.50 1.78521 -227.50 67.50 42.50 0.992786 -227.50 67.50 47.50 0.434806 -227.50 67.50 52.50 0.164126 -227.50 67.50 57.50 0.0670633 -227.50 67.50 62.50 0.027025 -227.50 67.50 67.50 0.0159585 -227.50 67.50 72.50 0.0336967 -227.50 67.50 77.50 0.0904077 -227.50 67.50 82.50 0.214557 -227.50 67.50 87.50 0.487742 -227.50 67.50 92.50 0.968135 -227.50 67.50 97.50 1.72646 -227.50 67.50 102.50 2.37158 -227.50 67.50 107.50 2.98251 -227.50 67.50 112.50 3.43385 -227.50 67.50 117.50 3.3441 -227.50 67.50 122.50 2.66677 -227.50 67.50 127.50 1.78521 -227.50 67.50 132.50 0.992785 -227.50 67.50 137.50 0.434806 -227.50 67.50 142.50 0.164126 -227.50 67.50 147.50 0.0670633 -227.50 67.50 152.50 0.0270251 -227.50 67.50 157.50 0.0159585 -227.50 67.50 162.50 0.0336967 -227.50 67.50 167.50 0.0904077 -227.50 67.50 172.50 0.214557 -227.50 67.50 177.50 0.487741 -227.50 67.50 182.50 0.968135 -227.50 67.50 187.50 1.72646 -227.50 67.50 192.50 2.37158 -227.50 67.50 197.50 2.98251 -227.50 67.50 202.50 3.43385 -227.50 67.50 207.50 3.3441 -227.50 67.50 212.50 2.66677 -227.50 67.50 217.50 1.78521 -227.50 67.50 222.50 0.992786 -227.50 67.50 227.50 0.434806 -227.50 67.50 232.50 0.164125 -227.50 67.50 237.50 0.0670632 -227.50 67.50 242.50 0.027025 -227.50 67.50 247.50 0.0159585 -227.50 67.50 252.50 0.0336967 -227.50 67.50 257.50 0.0904078 -227.50 67.50 262.50 0.214558 -227.50 67.50 267.50 0.487742 -227.50 67.50 272.50 0.968135 -227.50 67.50 277.50 1.72646 -227.50 67.50 282.50 2.37158 -227.50 67.50 287.50 2.98251 -227.50 67.50 292.50 3.43385 -227.50 67.50 297.50 3.3441 -227.50 67.50 302.50 2.66677 -227.50 67.50 307.50 1.78521 -227.50 67.50 312.50 0.992786 -227.50 67.50 317.50 0.434806 -227.50 67.50 322.50 0.164126 -227.50 67.50 327.50 0.0670633 -227.50 67.50 332.50 0.027025 -227.50 67.50 337.50 0.0159585 -227.50 67.50 342.50 0.0336966 -227.50 67.50 347.50 0.0904075 -227.50 67.50 352.50 0.214557 -227.50 67.50 357.50 0.487741 -227.50 72.50 2.50 0.637513 -227.50 72.50 7.50 1.31627 -227.50 72.50 12.50 2.14117 -227.50 72.50 17.50 3.16757 -227.50 72.50 22.50 4.11187 -227.50 72.50 27.50 4.42017 -227.50 72.50 32.50 3.86187 -227.50 72.50 37.50 2.911 -227.50 72.50 42.50 1.80094 -227.50 72.50 47.50 0.884599 -227.50 72.50 52.50 0.346483 -227.50 72.50 57.50 0.107213 -227.50 72.50 62.50 0.0338008 -227.50 72.50 67.50 0.0094346 -227.50 72.50 72.50 0.0105258 -227.50 72.50 77.50 0.0338582 -227.50 72.50 82.50 0.105393 -227.50 72.50 87.50 0.279602 -227.50 72.50 92.50 0.637513 -227.50 72.50 97.50 1.31627 -227.50 72.50 102.50 2.14117 -227.50 72.50 107.50 3.16757 -227.50 72.50 112.50 4.11187 -227.50 72.50 117.50 4.42017 -227.50 72.50 122.50 3.86187 -227.50 72.50 127.50 2.911 -227.50 72.50 132.50 1.80094 -227.50 72.50 137.50 0.884599 -227.50 72.50 142.50 0.346483 -227.50 72.50 147.50 0.107213 -227.50 72.50 152.50 0.0338009 -227.50 72.50 157.50 0.00943463 -227.50 72.50 162.50 0.0105258 -227.50 72.50 167.50 0.0338582 -227.50 72.50 172.50 0.105393 -227.50 72.50 177.50 0.279602 -227.50 72.50 182.50 0.637514 -227.50 72.50 187.50 1.31627 -227.50 72.50 192.50 2.14117 -227.50 72.50 197.50 3.16757 -227.50 72.50 202.50 4.11187 -227.50 72.50 207.50 4.42017 -227.50 72.50 212.50 3.86187 -227.50 72.50 217.50 2.911 -227.50 72.50 222.50 1.80095 -227.50 72.50 227.50 0.884599 -227.50 72.50 232.50 0.346482 -227.50 72.50 237.50 0.107213 -227.50 72.50 242.50 0.0338008 -227.50 72.50 247.50 0.0094346 -227.50 72.50 252.50 0.0105259 -227.50 72.50 257.50 0.0338583 -227.50 72.50 262.50 0.105394 -227.50 72.50 267.50 0.279602 -227.50 72.50 272.50 0.637513 -227.50 72.50 277.50 1.31627 -227.50 72.50 282.50 2.14117 -227.50 72.50 287.50 3.16757 -227.50 72.50 292.50 4.11187 -227.50 72.50 297.50 4.42017 -227.50 72.50 302.50 3.86188 -227.50 72.50 307.50 2.911 -227.50 72.50 312.50 1.80094 -227.50 72.50 317.50 0.8846 -227.50 72.50 322.50 0.346484 -227.50 72.50 327.50 0.107213 -227.50 72.50 332.50 0.033801 -227.50 72.50 337.50 0.00943464 -227.50 72.50 342.50 0.0105258 -227.50 72.50 347.50 0.0338581 -227.50 72.50 352.50 0.105393 -227.50 72.50 357.50 0.279602 -227.50 77.50 2.50 0.403177 -227.50 77.50 7.50 0.899353 -227.50 77.50 12.50 1.65429 -227.50 77.50 17.50 2.69657 -227.50 77.50 22.50 3.78536 -227.50 77.50 27.50 4.36293 -227.50 77.50 32.50 4.2188 -227.50 77.50 37.50 3.31443 -227.50 77.50 42.50 2.19646 -227.50 77.50 47.50 1.26182 -227.50 77.50 52.50 0.604974 -227.50 77.50 57.50 0.254876 -227.50 77.50 62.50 0.0867877 -227.50 77.50 67.50 0.0296135 -227.50 77.50 72.50 0.022385 -227.50 77.50 77.50 0.0388681 -227.50 77.50 82.50 0.0798156 -227.50 77.50 87.50 0.200893 -227.50 77.50 92.50 0.403177 -227.50 77.50 97.50 0.899353 -227.50 77.50 102.50 1.6543 -227.50 77.50 107.50 2.69657 -227.50 77.50 112.50 3.78536 -227.50 77.50 117.50 4.36293 -227.50 77.50 122.50 4.2188 -227.50 77.50 127.50 3.31442 -227.50 77.50 132.50 2.19646 -227.50 77.50 137.50 1.26182 -227.50 77.50 142.50 0.604974 -227.50 77.50 147.50 0.254876 -227.50 77.50 152.50 0.086788 -227.50 77.50 157.50 0.0296135 -227.50 77.50 162.50 0.022385 -227.50 77.50 167.50 0.0388681 -227.50 77.50 172.50 0.0798155 -227.50 77.50 177.50 0.200893 -227.50 77.50 182.50 0.403177 -227.50 77.50 187.50 0.899354 -227.50 77.50 192.50 1.6543 -227.50 77.50 197.50 2.69657 -227.50 77.50 202.50 3.78536 -227.50 77.50 207.50 4.36293 -227.50 77.50 212.50 4.2188 -227.50 77.50 217.50 3.31442 -227.50 77.50 222.50 2.19646 -227.50 77.50 227.50 1.26182 -227.50 77.50 232.50 0.604972 -227.50 77.50 237.50 0.254876 -227.50 77.50 242.50 0.0867877 -227.50 77.50 247.50 0.0296135 -227.50 77.50 252.50 0.022385 -227.50 77.50 257.50 0.0388681 -227.50 77.50 262.50 0.0798156 -227.50 77.50 267.50 0.200893 -227.50 77.50 272.50 0.403177 -227.50 77.50 277.50 0.899354 -227.50 77.50 282.50 1.6543 -227.50 77.50 287.50 2.69657 -227.50 77.50 292.50 3.78536 -227.50 77.50 297.50 4.36293 -227.50 77.50 302.50 4.2188 -227.50 77.50 307.50 3.31443 -227.50 77.50 312.50 2.19646 -227.50 77.50 317.50 1.26182 -227.50 77.50 322.50 0.604974 -227.50 77.50 327.50 0.254877 -227.50 77.50 332.50 0.086788 -227.50 77.50 337.50 0.0296136 -227.50 77.50 342.50 0.022385 -227.50 77.50 347.50 0.038868 -227.50 77.50 352.50 0.0798154 -227.50 77.50 357.50 0.200893 -227.50 82.50 2.50 0.246673 -227.50 82.50 7.50 0.591233 -227.50 82.50 12.50 1.10617 -227.50 82.50 17.50 1.83091 -227.50 82.50 22.50 2.67578 -227.50 82.50 27.50 3.44886 -227.50 82.50 32.50 3.61119 -227.50 82.50 37.50 3.06444 -227.50 82.50 42.50 2.20354 -227.50 82.50 47.50 1.46727 -227.50 82.50 52.50 0.909085 -227.50 82.50 57.50 0.493044 -227.50 82.50 62.50 0.232047 -227.50 82.50 67.50 0.108987 -227.50 82.50 72.50 0.0785804 -227.50 82.50 77.50 0.0789511 -227.50 82.50 82.50 0.0854978 -227.50 82.50 87.50 0.121126 -227.50 82.50 92.50 0.246673 -227.50 82.50 97.50 0.591233 -227.50 82.50 102.50 1.10617 -227.50 82.50 107.50 1.83091 -227.50 82.50 112.50 2.67578 -227.50 82.50 117.50 3.44886 -227.50 82.50 122.50 3.61118 -227.50 82.50 127.50 3.06443 -227.50 82.50 132.50 2.20354 -227.50 82.50 137.50 1.46727 -227.50 82.50 142.50 0.909085 -227.50 82.50 147.50 0.493044 -227.50 82.50 152.50 0.232048 -227.50 82.50 157.50 0.108987 -227.50 82.50 162.50 0.0785804 -227.50 82.50 167.50 0.0789511 -227.50 82.50 172.50 0.0854978 -227.50 82.50 177.50 0.121126 -227.50 82.50 182.50 0.246673 -227.50 82.50 187.50 0.591234 -227.50 82.50 192.50 1.10617 -227.50 82.50 197.50 1.83091 -227.50 82.50 202.50 2.67578 -227.50 82.50 207.50 3.44886 -227.50 82.50 212.50 3.61118 -227.50 82.50 217.50 3.06444 -227.50 82.50 222.50 2.20354 -227.50 82.50 227.50 1.46727 -227.50 82.50 232.50 0.909084 -227.50 82.50 237.50 0.493043 -227.50 82.50 242.50 0.232047 -227.50 82.50 247.50 0.108987 -227.50 82.50 252.50 0.0785804 -227.50 82.50 257.50 0.0789512 -227.50 82.50 262.50 0.0854978 -227.50 82.50 267.50 0.121126 -227.50 82.50 272.50 0.246673 -227.50 82.50 277.50 0.591233 -227.50 82.50 282.50 1.10617 -227.50 82.50 287.50 1.83091 -227.50 82.50 292.50 2.67578 -227.50 82.50 297.50 3.44886 -227.50 82.50 302.50 3.61118 -227.50 82.50 307.50 3.06444 -227.50 82.50 312.50 2.20354 -227.50 82.50 317.50 1.46727 -227.50 82.50 322.50 0.909086 -227.50 82.50 327.50 0.493044 -227.50 82.50 332.50 0.232048 -227.50 82.50 337.50 0.108987 -227.50 82.50 342.50 0.0785805 -227.50 82.50 347.50 0.0789511 -227.50 82.50 352.50 0.0854978 -227.50 82.50 357.50 0.121126 -227.50 87.50 2.50 0.130387 -227.50 87.50 7.50 0.300873 -227.50 87.50 12.50 0.603579 -227.50 87.50 17.50 0.97423 -227.50 87.50 22.50 1.55028 -227.50 87.50 27.50 2.21578 -227.50 87.50 32.50 2.57694 -227.50 87.50 37.50 2.44568 -227.50 87.50 42.50 2.03771 -227.50 87.50 47.50 1.58898 -227.50 87.50 52.50 1.18542 -227.50 87.50 57.50 0.840191 -227.50 87.50 62.50 0.553208 -227.50 87.50 67.50 0.344826 -227.50 87.50 72.50 0.23631 -227.50 87.50 77.50 0.19655 -227.50 87.50 82.50 0.122098 -227.50 87.50 87.50 0.0855828 -227.50 87.50 92.50 0.130387 -227.50 87.50 97.50 0.300874 -227.50 87.50 102.50 0.603579 -227.50 87.50 107.50 0.974231 -227.50 87.50 112.50 1.55028 -227.50 87.50 117.50 2.21578 -227.50 87.50 122.50 2.57694 -227.50 87.50 127.50 2.44568 -227.50 87.50 132.50 2.03771 -227.50 87.50 137.50 1.58898 -227.50 87.50 142.50 1.18542 -227.50 87.50 147.50 0.840191 -227.50 87.50 152.50 0.553208 -227.50 87.50 157.50 0.344826 -227.50 87.50 162.50 0.23631 -227.50 87.50 167.50 0.19655 -227.50 87.50 172.50 0.122098 -227.50 87.50 177.50 0.0855828 -227.50 87.50 182.50 0.130387 -227.50 87.50 187.50 0.300874 -227.50 87.50 192.50 0.603579 -227.50 87.50 197.50 0.974231 -227.50 87.50 202.50 1.55028 -227.50 87.50 207.50 2.21578 -227.50 87.50 212.50 2.57693 -227.50 87.50 217.50 2.44568 -227.50 87.50 222.50 2.03771 -227.50 87.50 227.50 1.58898 -227.50 87.50 232.50 1.18542 -227.50 87.50 237.50 0.840191 -227.50 87.50 242.50 0.553208 -227.50 87.50 247.50 0.344825 -227.50 87.50 252.50 0.23631 -227.50 87.50 257.50 0.19655 -227.50 87.50 262.50 0.122098 -227.50 87.50 267.50 0.0855827 -227.50 87.50 272.50 0.130387 -227.50 87.50 277.50 0.300874 -227.50 87.50 282.50 0.603579 -227.50 87.50 287.50 0.97423 -227.50 87.50 292.50 1.55028 -227.50 87.50 297.50 2.21578 -227.50 87.50 302.50 2.57693 -227.50 87.50 307.50 2.44568 -227.50 87.50 312.50 2.03771 -227.50 87.50 317.50 1.58898 -227.50 87.50 322.50 1.18542 -227.50 87.50 327.50 0.840192 -227.50 87.50 332.50 0.553209 -227.50 87.50 337.50 0.344826 -227.50 87.50 342.50 0.23631 -227.50 87.50 347.50 0.19655 -227.50 87.50 352.50 0.122099 -227.50 87.50 357.50 0.0855827 -227.50 92.50 2.50 0.084539 -227.50 92.50 7.50 0.130387 -227.50 92.50 12.50 0.246672 -227.50 92.50 17.50 0.403176 -227.50 92.50 22.50 0.637513 -227.50 92.50 27.50 0.968134 -227.50 92.50 32.50 1.29235 -227.50 92.50 37.50 1.51272 -227.50 92.50 42.50 1.628 -227.50 92.50 47.50 1.66337 -227.50 92.50 52.50 1.628 -227.50 92.50 57.50 1.51272 -227.50 92.50 62.50 1.29235 -227.50 92.50 67.50 0.968134 -227.50 92.50 72.50 0.637513 -227.50 92.50 77.50 0.403177 -227.50 92.50 82.50 0.246673 -227.50 92.50 87.50 0.130387 -227.50 92.50 92.50 0.0845391 -227.50 92.50 97.50 0.130387 -227.50 92.50 102.50 0.246673 -227.50 92.50 107.50 0.403177 -227.50 92.50 112.50 0.637513 -227.50 92.50 117.50 0.968135 -227.50 92.50 122.50 1.29235 -227.50 92.50 127.50 1.51272 -227.50 92.50 132.50 1.628 -227.50 92.50 137.50 1.66337 -227.50 92.50 142.50 1.628 -227.50 92.50 147.50 1.51272 -227.50 92.50 152.50 1.29235 -227.50 92.50 157.50 0.968135 -227.50 92.50 162.50 0.637513 -227.50 92.50 167.50 0.403177 -227.50 92.50 172.50 0.246673 -227.50 92.50 177.50 0.130387 -227.50 92.50 182.50 0.084539 -227.50 92.50 187.50 0.130387 -227.50 92.50 192.50 0.246673 -227.50 92.50 197.50 0.403177 -227.50 92.50 202.50 0.637513 -227.50 92.50 207.50 0.968133 -227.50 92.50 212.50 1.29235 -227.50 92.50 217.50 1.51272 -227.50 92.50 222.50 1.628 -227.50 92.50 227.50 1.66337 -227.50 92.50 232.50 1.628 -227.50 92.50 237.50 1.51272 -227.50 92.50 242.50 1.29235 -227.50 92.50 247.50 0.968133 -227.50 92.50 252.50 0.637512 -227.50 92.50 257.50 0.403177 -227.50 92.50 262.50 0.246672 -227.50 92.50 267.50 0.130387 -227.50 92.50 272.50 0.084539 -227.50 92.50 277.50 0.130387 -227.50 92.50 282.50 0.246672 -227.50 92.50 287.50 0.403176 -227.50 92.50 292.50 0.637512 -227.50 92.50 297.50 0.968133 -227.50 92.50 302.50 1.29235 -227.50 92.50 307.50 1.51272 -227.50 92.50 312.50 1.628 -227.50 92.50 317.50 1.66337 -227.50 92.50 322.50 1.628 -227.50 92.50 327.50 1.51272 -227.50 92.50 332.50 1.29235 -227.50 92.50 337.50 0.968135 -227.50 92.50 342.50 0.637514 -227.50 92.50 347.50 0.403177 -227.50 92.50 352.50 0.246673 -227.50 92.50 357.50 0.130387 -227.50 97.50 2.50 0.130387 -227.50 97.50 7.50 0.0855827 -227.50 97.50 12.50 0.122098 -227.50 97.50 17.50 0.19655 -227.50 97.50 22.50 0.23631 -227.50 97.50 27.50 0.344826 -227.50 97.50 32.50 0.553209 -227.50 97.50 37.50 0.840192 -227.50 97.50 42.50 1.18542 -227.50 97.50 47.50 1.58898 -227.50 97.50 52.50 2.03771 -227.50 97.50 57.50 2.44568 -227.50 97.50 62.50 2.57694 -227.50 97.50 67.50 2.21578 -227.50 97.50 72.50 1.55028 -227.50 97.50 77.50 0.97423 -227.50 97.50 82.50 0.603579 -227.50 97.50 87.50 0.300873 -227.50 97.50 92.50 0.130387 -227.50 97.50 97.50 0.0855827 -227.50 97.50 102.50 0.122098 -227.50 97.50 107.50 0.19655 -227.50 97.50 112.50 0.23631 -227.50 97.50 117.50 0.344826 -227.50 97.50 122.50 0.553209 -227.50 97.50 127.50 0.840192 -227.50 97.50 132.50 1.18542 -227.50 97.50 137.50 1.58898 -227.50 97.50 142.50 2.03771 -227.50 97.50 147.50 2.44568 -227.50 97.50 152.50 2.57693 -227.50 97.50 157.50 2.21578 -227.50 97.50 162.50 1.55028 -227.50 97.50 167.50 0.97423 -227.50 97.50 172.50 0.603579 -227.50 97.50 177.50 0.300874 -227.50 97.50 182.50 0.130387 -227.50 97.50 187.50 0.0855828 -227.50 97.50 192.50 0.122098 -227.50 97.50 197.50 0.19655 -227.50 97.50 202.50 0.23631 -227.50 97.50 207.50 0.344826 -227.50 97.50 212.50 0.553208 -227.50 97.50 217.50 0.840192 -227.50 97.50 222.50 1.18542 -227.50 97.50 227.50 1.58898 -227.50 97.50 232.50 2.03771 -227.50 97.50 237.50 2.44568 -227.50 97.50 242.50 2.57694 -227.50 97.50 247.50 2.21578 -227.50 97.50 252.50 1.55028 -227.50 97.50 257.50 0.974229 -227.50 97.50 262.50 0.603578 -227.50 97.50 267.50 0.300873 -227.50 97.50 272.50 0.130387 -227.50 97.50 277.50 0.0855827 -227.50 97.50 282.50 0.122098 -227.50 97.50 287.50 0.19655 -227.50 97.50 292.50 0.23631 -227.50 97.50 297.50 0.344826 -227.50 97.50 302.50 0.553208 -227.50 97.50 307.50 0.840191 -227.50 97.50 312.50 1.18542 -227.50 97.50 317.50 1.58898 -227.50 97.50 322.50 2.03771 -227.50 97.50 327.50 2.44568 -227.50 97.50 332.50 2.57694 -227.50 97.50 337.50 2.21578 -227.50 97.50 342.50 1.55028 -227.50 97.50 347.50 0.974231 -227.50 97.50 352.50 0.60358 -227.50 97.50 357.50 0.300874 -227.50 102.50 2.50 0.246673 -227.50 102.50 7.50 0.121126 -227.50 102.50 12.50 0.0854978 -227.50 102.50 17.50 0.0789511 -227.50 102.50 22.50 0.0785804 -227.50 102.50 27.50 0.108987 -227.50 102.50 32.50 0.232048 -227.50 102.50 37.50 0.493044 -227.50 102.50 42.50 0.909085 -227.50 102.50 47.50 1.46727 -227.50 102.50 52.50 2.20354 -227.50 102.50 57.50 3.06444 -227.50 102.50 62.50 3.61118 -227.50 102.50 67.50 3.44886 -227.50 102.50 72.50 2.67578 -227.50 102.50 77.50 1.83091 -227.50 102.50 82.50 1.10616 -227.50 102.50 87.50 0.591233 -227.50 102.50 92.50 0.246672 -227.50 102.50 97.50 0.121126 -227.50 102.50 102.50 0.0854978 -227.50 102.50 107.50 0.0789511 -227.50 102.50 112.50 0.0785805 -227.50 102.50 117.50 0.108987 -227.50 102.50 122.50 0.232048 -227.50 102.50 127.50 0.493045 -227.50 102.50 132.50 0.909086 -227.50 102.50 137.50 1.46727 -227.50 102.50 142.50 2.20354 -227.50 102.50 147.50 3.06444 -227.50 102.50 152.50 3.61118 -227.50 102.50 157.50 3.44886 -227.50 102.50 162.50 2.67578 -227.50 102.50 167.50 1.83091 -227.50 102.50 172.50 1.10617 -227.50 102.50 177.50 0.591234 -227.50 102.50 182.50 0.246672 -227.50 102.50 187.50 0.121126 -227.50 102.50 192.50 0.0854979 -227.50 102.50 197.50 0.0789512 -227.50 102.50 202.50 0.0785805 -227.50 102.50 207.50 0.108987 -227.50 102.50 212.50 0.232048 -227.50 102.50 217.50 0.493044 -227.50 102.50 222.50 0.909084 -227.50 102.50 227.50 1.46727 -227.50 102.50 232.50 2.20354 -227.50 102.50 237.50 3.06444 -227.50 102.50 242.50 3.61118 -227.50 102.50 247.50 3.44886 -227.50 102.50 252.50 2.67577 -227.50 102.50 257.50 1.83091 -227.50 102.50 262.50 1.10616 -227.50 102.50 267.50 0.591232 -227.50 102.50 272.50 0.246672 -227.50 102.50 277.50 0.121126 -227.50 102.50 282.50 0.0854978 -227.50 102.50 287.50 0.0789512 -227.50 102.50 292.50 0.0785804 -227.50 102.50 297.50 0.108987 -227.50 102.50 302.50 0.232047 -227.50 102.50 307.50 0.493043 -227.50 102.50 312.50 0.909084 -227.50 102.50 317.50 1.46727 -227.50 102.50 322.50 2.20353 -227.50 102.50 327.50 3.06443 -227.50 102.50 332.50 3.61118 -227.50 102.50 337.50 3.44886 -227.50 102.50 342.50 2.67578 -227.50 102.50 347.50 1.83091 -227.50 102.50 352.50 1.10617 -227.50 102.50 357.50 0.591235 -227.50 107.50 2.50 0.403177 -227.50 107.50 7.50 0.200893 -227.50 107.50 12.50 0.0798155 -227.50 107.50 17.50 0.0388681 -227.50 107.50 22.50 0.022385 -227.50 107.50 27.50 0.0296136 -227.50 107.50 32.50 0.086788 -227.50 107.50 37.50 0.254877 -227.50 107.50 42.50 0.604974 -227.50 107.50 47.50 1.26182 -227.50 107.50 52.50 2.19646 -227.50 107.50 57.50 3.31443 -227.50 107.50 62.50 4.2188 -227.50 107.50 67.50 4.36293 -227.50 107.50 72.50 3.78536 -227.50 107.50 77.50 2.69657 -227.50 107.50 82.50 1.65429 -227.50 107.50 87.50 0.899353 -227.50 107.50 92.50 0.403177 -227.50 107.50 97.50 0.200893 -227.50 107.50 102.50 0.0798155 -227.50 107.50 107.50 0.0388681 -227.50 107.50 112.50 0.022385 -227.50 107.50 117.50 0.0296136 -227.50 107.50 122.50 0.0867881 -227.50 107.50 127.50 0.254877 -227.50 107.50 132.50 0.604974 -227.50 107.50 137.50 1.26182 -227.50 107.50 142.50 2.19646 -227.50 107.50 147.50 3.31443 -227.50 107.50 152.50 4.2188 -227.50 107.50 157.50 4.36293 -227.50 107.50 162.50 3.78536 -227.50 107.50 167.50 2.69657 -227.50 107.50 172.50 1.65429 -227.50 107.50 177.50 0.899354 -227.50 107.50 182.50 0.403176 -227.50 107.50 187.50 0.200893 -227.50 107.50 192.50 0.0798156 -227.50 107.50 197.50 0.0388681 -227.50 107.50 202.50 0.022385 -227.50 107.50 207.50 0.0296135 -227.50 107.50 212.50 0.0867879 -227.50 107.50 217.50 0.254877 -227.50 107.50 222.50 0.604973 -227.50 107.50 227.50 1.26182 -227.50 107.50 232.50 2.19646 -227.50 107.50 237.50 3.31443 -227.50 107.50 242.50 4.2188 -227.50 107.50 247.50 4.36293 -227.50 107.50 252.50 3.78536 -227.50 107.50 257.50 2.69657 -227.50 107.50 262.50 1.65429 -227.50 107.50 267.50 0.899353 -227.50 107.50 272.50 0.403176 -227.50 107.50 277.50 0.200893 -227.50 107.50 282.50 0.0798155 -227.50 107.50 287.50 0.0388681 -227.50 107.50 292.50 0.022385 -227.50 107.50 297.50 0.0296135 -227.50 107.50 302.50 0.0867877 -227.50 107.50 307.50 0.254876 -227.50 107.50 312.50 0.604973 -227.50 107.50 317.50 1.26182 -227.50 107.50 322.50 2.19646 -227.50 107.50 327.50 3.31442 -227.50 107.50 332.50 4.2188 -227.50 107.50 337.50 4.36293 -227.50 107.50 342.50 3.78537 -227.50 107.50 347.50 2.69657 -227.50 107.50 352.50 1.6543 -227.50 107.50 357.50 0.899355 -227.50 112.50 2.50 0.637513 -227.50 112.50 7.50 0.279602 -227.50 112.50 12.50 0.105393 -227.50 112.50 17.50 0.0338582 -227.50 112.50 22.50 0.0105258 -227.50 112.50 27.50 0.00943462 -227.50 112.50 32.50 0.0338009 -227.50 112.50 37.50 0.107213 -227.50 112.50 42.50 0.346484 -227.50 112.50 47.50 0.884599 -227.50 112.50 52.50 1.80094 -227.50 112.50 57.50 2.911 -227.50 112.50 62.50 3.86188 -227.50 112.50 67.50 4.42017 -227.50 112.50 72.50 4.11187 -227.50 112.50 77.50 3.16757 -227.50 112.50 82.50 2.14117 -227.50 112.50 87.50 1.31627 -227.50 112.50 92.50 0.637513 -227.50 112.50 97.50 0.279602 -227.50 112.50 102.50 0.105393 -227.50 112.50 107.50 0.0338582 -227.50 112.50 112.50 0.0105258 -227.50 112.50 117.50 0.00943463 -227.50 112.50 122.50 0.033801 -227.50 112.50 127.50 0.107213 -227.50 112.50 132.50 0.346484 -227.50 112.50 137.50 0.8846 -227.50 112.50 142.50 1.80095 -227.50 112.50 147.50 2.911 -227.50 112.50 152.50 3.86188 -227.50 112.50 157.50 4.42017 -227.50 112.50 162.50 4.11187 -227.50 112.50 167.50 3.16757 -227.50 112.50 172.50 2.14117 -227.50 112.50 177.50 1.31627 -227.50 112.50 182.50 0.637513 -227.50 112.50 187.50 0.279602 -227.50 112.50 192.50 0.105393 -227.50 112.50 197.50 0.0338582 -227.50 112.50 202.50 0.0105258 -227.50 112.50 207.50 0.00943462 -227.50 112.50 212.50 0.0338009 -227.50 112.50 217.50 0.107213 -227.50 112.50 222.50 0.346483 -227.50 112.50 227.50 0.884599 -227.50 112.50 232.50 1.80095 -227.50 112.50 237.50 2.911 -227.50 112.50 242.50 3.86188 -227.50 112.50 247.50 4.42017 -227.50 112.50 252.50 4.11187 -227.50 112.50 257.50 3.16757 -227.50 112.50 262.50 2.14117 -227.50 112.50 267.50 1.31626 -227.50 112.50 272.50 0.637513 -227.50 112.50 277.50 0.279602 -227.50 112.50 282.50 0.105393 -227.50 112.50 287.50 0.0338582 -227.50 112.50 292.50 0.0105258 -227.50 112.50 297.50 0.00943459 -227.50 112.50 302.50 0.0338008 -227.50 112.50 307.50 0.107213 -227.50 112.50 312.50 0.346483 -227.50 112.50 317.50 0.884598 -227.50 112.50 322.50 1.80094 -227.50 112.50 327.50 2.911 -227.50 112.50 332.50 3.86187 -227.50 112.50 337.50 4.42017 -227.50 112.50 342.50 4.11188 -227.50 112.50 347.50 3.16757 -227.50 112.50 352.50 2.14118 -227.50 112.50 357.50 1.31627 -227.50 117.50 2.50 0.968135 -227.50 117.50 7.50 0.487742 -227.50 117.50 12.50 0.214557 -227.50 117.50 17.50 0.0904078 -227.50 117.50 22.50 0.0336967 -227.50 117.50 27.50 0.0159586 -227.50 117.50 32.50 0.0270251 -227.50 117.50 37.50 0.0670633 -227.50 117.50 42.50 0.164125 -227.50 117.50 47.50 0.434806 -227.50 117.50 52.50 0.992786 -227.50 117.50 57.50 1.78521 -227.50 117.50 62.50 2.66677 -227.50 117.50 67.50 3.3441 -227.50 117.50 72.50 3.43385 -227.50 117.50 77.50 2.98251 -227.50 117.50 82.50 2.37158 -227.50 117.50 87.50 1.72646 -227.50 117.50 92.50 0.968135 -227.50 117.50 97.50 0.487742 -227.50 117.50 102.50 0.214557 -227.50 117.50 107.50 0.0904078 -227.50 117.50 112.50 0.0336967 -227.50 117.50 117.50 0.0159586 -227.50 117.50 122.50 0.0270251 -227.50 117.50 127.50 0.0670634 -227.50 117.50 132.50 0.164125 -227.50 117.50 137.50 0.434806 -227.50 117.50 142.50 0.992786 -227.50 117.50 147.50 1.78521 -227.50 117.50 152.50 2.66677 -227.50 117.50 157.50 3.3441 -227.50 117.50 162.50 3.43385 -227.50 117.50 167.50 2.98251 -227.50 117.50 172.50 2.37158 -227.50 117.50 177.50 1.72646 -227.50 117.50 182.50 0.968134 -227.50 117.50 187.50 0.487742 -227.50 117.50 192.50 0.214557 -227.50 117.50 197.50 0.0904078 -227.50 117.50 202.50 0.0336967 -227.50 117.50 207.50 0.0159586 -227.50 117.50 212.50 0.027025 -227.50 117.50 217.50 0.0670632 -227.50 117.50 222.50 0.164125 -227.50 117.50 227.50 0.434805 -227.50 117.50 232.50 0.992786 -227.50 117.50 237.50 1.78521 -227.50 117.50 242.50 2.66677 -227.50 117.50 247.50 3.3441 -227.50 117.50 252.50 3.43385 -227.50 117.50 257.50 2.98251 -227.50 117.50 262.50 2.37158 -227.50 117.50 267.50 1.72646 -227.50 117.50 272.50 0.968135 -227.50 117.50 277.50 0.487742 -227.50 117.50 282.50 0.214558 -227.50 117.50 287.50 0.0904078 -227.50 117.50 292.50 0.0336967 -227.50 117.50 297.50 0.0159586 -227.50 117.50 302.50 0.027025 -227.50 117.50 307.50 0.0670632 -227.50 117.50 312.50 0.164125 -227.50 117.50 317.50 0.434805 -227.50 117.50 322.50 0.992784 -227.50 117.50 327.50 1.78521 -227.50 117.50 332.50 2.66677 -227.50 117.50 337.50 3.3441 -227.50 117.50 342.50 3.43385 -227.50 117.50 347.50 2.98251 -227.50 117.50 352.50 2.37159 -227.50 117.50 357.50 1.72646 -227.50 122.50 2.50 1.29235 -227.50 122.50 7.50 0.84456 -227.50 122.50 12.50 0.524055 -227.50 122.50 17.50 0.319137 -227.50 122.50 22.50 0.167665 -227.50 122.50 27.50 0.0908581 -227.50 122.50 32.50 0.0532587 -227.50 122.50 37.50 0.0469779 -227.50 122.50 42.50 0.0670155 -227.50 122.50 47.50 0.142105 -227.50 122.50 52.50 0.370963 -227.50 122.50 57.50 0.814817 -227.50 122.50 62.50 1.34706 -227.50 122.50 67.50 1.84685 -227.50 122.50 72.50 2.21996 -227.50 122.50 77.50 2.24111 -227.50 122.50 82.50 2.09115 -227.50 122.50 87.50 1.82071 -227.50 122.50 92.50 1.29235 -227.50 122.50 97.50 0.84456 -227.50 122.50 102.50 0.524055 -227.50 122.50 107.50 0.319137 -227.50 122.50 112.50 0.167665 -227.50 122.50 117.50 0.090858 -227.50 122.50 122.50 0.0532586 -227.50 122.50 127.50 0.0469779 -227.50 122.50 132.50 0.0670156 -227.50 122.50 137.50 0.142105 -227.50 122.50 142.50 0.370963 -227.50 122.50 147.50 0.814817 -227.50 122.50 152.50 1.34706 -227.50 122.50 157.50 1.84685 -227.50 122.50 162.50 2.21996 -227.50 122.50 167.50 2.24111 -227.50 122.50 172.50 2.09115 -227.50 122.50 177.50 1.82072 -227.50 122.50 182.50 1.29235 -227.50 122.50 187.50 0.84456 -227.50 122.50 192.50 0.524055 -227.50 122.50 197.50 0.319137 -227.50 122.50 202.50 0.167665 -227.50 122.50 207.50 0.090858 -227.50 122.50 212.50 0.0532587 -227.50 122.50 217.50 0.0469778 -227.50 122.50 222.50 0.0670155 -227.50 122.50 227.50 0.142105 -227.50 122.50 232.50 0.370964 -227.50 122.50 237.50 0.814817 -227.50 122.50 242.50 1.34706 -227.50 122.50 247.50 1.84685 -227.50 122.50 252.50 2.21996 -227.50 122.50 257.50 2.24111 -227.50 122.50 262.50 2.09115 -227.50 122.50 267.50 1.82072 -227.50 122.50 272.50 1.29235 -227.50 122.50 277.50 0.84456 -227.50 122.50 282.50 0.524055 -227.50 122.50 287.50 0.319137 -227.50 122.50 292.50 0.167665 -227.50 122.50 297.50 0.0908582 -227.50 122.50 302.50 0.0532587 -227.50 122.50 307.50 0.0469778 -227.50 122.50 312.50 0.0670154 -227.50 122.50 317.50 0.142105 -227.50 122.50 322.50 0.370962 -227.50 122.50 327.50 0.814815 -227.50 122.50 332.50 1.34706 -227.50 122.50 337.50 1.84685 -227.50 122.50 342.50 2.21996 -227.50 122.50 347.50 2.24111 -227.50 122.50 352.50 2.09115 -227.50 122.50 357.50 1.82072 -227.50 127.50 2.50 1.51272 -227.50 127.50 7.50 1.33769 -227.50 127.50 12.50 1.1942 -227.50 127.50 17.50 0.95418 -227.50 127.50 22.50 0.633899 -227.50 127.50 27.50 0.355358 -227.50 127.50 32.50 0.179891 -227.50 127.50 37.50 0.0780686 -227.50 127.50 42.50 0.0361276 -227.50 127.50 47.50 0.0432226 -227.50 127.50 52.50 0.10026 -227.50 127.50 57.50 0.260173 -227.50 127.50 62.50 0.526679 -227.50 127.50 67.50 0.826399 -227.50 127.50 72.50 1.14043 -227.50 127.50 77.50 1.31236 -227.50 127.50 82.50 1.44307 -227.50 127.50 87.50 1.5716 -227.50 127.50 92.50 1.51272 -227.50 127.50 97.50 1.33769 -227.50 127.50 102.50 1.1942 -227.50 127.50 107.50 0.95418 -227.50 127.50 112.50 0.633898 -227.50 127.50 117.50 0.355357 -227.50 127.50 122.50 0.179891 -227.50 127.50 127.50 0.0780685 -227.50 127.50 132.50 0.0361276 -227.50 127.50 137.50 0.0432226 -227.50 127.50 142.50 0.100259 -227.50 127.50 147.50 0.260173 -227.50 127.50 152.50 0.526679 -227.50 127.50 157.50 0.826399 -227.50 127.50 162.50 1.14043 -227.50 127.50 167.50 1.31236 -227.50 127.50 172.50 1.44307 -227.50 127.50 177.50 1.5716 -227.50 127.50 182.50 1.51272 -227.50 127.50 187.50 1.33769 -227.50 127.50 192.50 1.1942 -227.50 127.50 197.50 0.95418 -227.50 127.50 202.50 0.633898 -227.50 127.50 207.50 0.355358 -227.50 127.50 212.50 0.17989 -227.50 127.50 217.50 0.0780686 -227.50 127.50 222.50 0.0361276 -227.50 127.50 227.50 0.0432225 -227.50 127.50 232.50 0.10026 -227.50 127.50 237.50 0.260173 -227.50 127.50 242.50 0.526679 -227.50 127.50 247.50 0.8264 -227.50 127.50 252.50 1.14043 -227.50 127.50 257.50 1.31236 -227.50 127.50 262.50 1.44307 -227.50 127.50 267.50 1.5716 -227.50 127.50 272.50 1.51272 -227.50 127.50 277.50 1.33769 -227.50 127.50 282.50 1.1942 -227.50 127.50 287.50 0.95418 -227.50 127.50 292.50 0.633899 -227.50 127.50 297.50 0.355358 -227.50 127.50 302.50 0.179891 -227.50 127.50 307.50 0.0780687 -227.50 127.50 312.50 0.0361276 -227.50 127.50 317.50 0.0432225 -227.50 127.50 322.50 0.100259 -227.50 127.50 327.50 0.260173 -227.50 127.50 332.50 0.526678 -227.50 127.50 337.50 0.826398 -227.50 127.50 342.50 1.14043 -227.50 127.50 347.50 1.31236 -227.50 127.50 352.50 1.44307 -227.50 127.50 357.50 1.5716 -227.50 132.50 2.50 1.62801 -227.50 132.50 7.50 1.92084 -227.50 132.50 12.50 2.2079 -227.50 132.50 17.50 2.17574 -227.50 132.50 22.50 1.62477 -227.50 132.50 27.50 0.958792 -227.50 132.50 32.50 0.508294 -227.50 132.50 37.50 0.232396 -227.50 132.50 42.50 0.0771345 -227.50 132.50 47.50 0.0214595 -227.50 132.50 52.50 0.0215621 -227.50 132.50 57.50 0.0676414 -227.50 132.50 62.50 0.164442 -227.50 132.50 67.50 0.317223 -227.50 132.50 72.50 0.454395 -227.50 132.50 77.50 0.56958 -227.50 132.50 82.50 0.840814 -227.50 132.50 87.50 1.21014 -227.50 132.50 92.50 1.62801 -227.50 132.50 97.50 1.92084 -227.50 132.50 102.50 2.2079 -227.50 132.50 107.50 2.17574 -227.50 132.50 112.50 1.62477 -227.50 132.50 117.50 0.958792 -227.50 132.50 122.50 0.508294 -227.50 132.50 127.50 0.232396 -227.50 132.50 132.50 0.0771343 -227.50 132.50 137.50 0.0214595 -227.50 132.50 142.50 0.0215621 -227.50 132.50 147.50 0.0676414 -227.50 132.50 152.50 0.164442 -227.50 132.50 157.50 0.317223 -227.50 132.50 162.50 0.454395 -227.50 132.50 167.50 0.56958 -227.50 132.50 172.50 0.840814 -227.50 132.50 177.50 1.21014 -227.50 132.50 182.50 1.62801 -227.50 132.50 187.50 1.92084 -227.50 132.50 192.50 2.2079 -227.50 132.50 197.50 2.17574 -227.50 132.50 202.50 1.62477 -227.50 132.50 207.50 0.958792 -227.50 132.50 212.50 0.508294 -227.50 132.50 217.50 0.232396 -227.50 132.50 222.50 0.0771344 -227.50 132.50 227.50 0.0214595 -227.50 132.50 232.50 0.0215622 -227.50 132.50 237.50 0.0676414 -227.50 132.50 242.50 0.164442 -227.50 132.50 247.50 0.317224 -227.50 132.50 252.50 0.454395 -227.50 132.50 257.50 0.56958 -227.50 132.50 262.50 0.840815 -227.50 132.50 267.50 1.21014 -227.50 132.50 272.50 1.62801 -227.50 132.50 277.50 1.92084 -227.50 132.50 282.50 2.2079 -227.50 132.50 287.50 2.17574 -227.50 132.50 292.50 1.62477 -227.50 132.50 297.50 0.958793 -227.50 132.50 302.50 0.508295 -227.50 132.50 307.50 0.232396 -227.50 132.50 312.50 0.0771345 -227.50 132.50 317.50 0.0214595 -227.50 132.50 322.50 0.0215621 -227.50 132.50 327.50 0.0676412 -227.50 132.50 332.50 0.164442 -227.50 132.50 337.50 0.317223 -227.50 132.50 342.50 0.454394 -227.50 132.50 347.50 0.569579 -227.50 132.50 352.50 0.840814 -227.50 132.50 357.50 1.21014 -227.50 137.50 2.50 1.66337 -227.50 137.50 7.50 2.48748 -227.50 137.50 12.50 3.36605 -227.50 137.50 17.50 3.64918 -227.50 137.50 22.50 3.06255 -227.50 137.50 27.50 1.94873 -227.50 137.50 32.50 1.14237 -227.50 137.50 37.50 0.548182 -227.50 137.50 42.50 0.18753 -227.50 137.50 47.50 0.0568409 -227.50 137.50 52.50 0.0150114 -227.50 137.50 57.50 0.0168596 -227.50 137.50 62.50 0.0400786 -227.50 137.50 67.50 0.0908968 -227.50 137.50 72.50 0.139303 -227.50 137.50 77.50 0.232092 -227.50 137.50 82.50 0.452375 -227.50 137.50 87.50 0.914599 -227.50 137.50 92.50 1.66337 -227.50 137.50 97.50 2.48748 -227.50 137.50 102.50 3.36605 -227.50 137.50 107.50 3.64918 -227.50 137.50 112.50 3.06255 -227.50 137.50 117.50 1.94873 -227.50 137.50 122.50 1.14237 -227.50 137.50 127.50 0.548182 -227.50 137.50 132.50 0.18753 -227.50 137.50 137.50 0.0568408 -227.50 137.50 142.50 0.0150114 -227.50 137.50 147.50 0.0168596 -227.50 137.50 152.50 0.0400786 -227.50 137.50 157.50 0.0908967 -227.50 137.50 162.50 0.139303 -227.50 137.50 167.50 0.232092 -227.50 137.50 172.50 0.452375 -227.50 137.50 177.50 0.914599 -227.50 137.50 182.50 1.66337 -227.50 137.50 187.50 2.48748 -227.50 137.50 192.50 3.36605 -227.50 137.50 197.50 3.64918 -227.50 137.50 202.50 3.06255 -227.50 137.50 207.50 1.94873 -227.50 137.50 212.50 1.14237 -227.50 137.50 217.50 0.548183 -227.50 137.50 222.50 0.18753 -227.50 137.50 227.50 0.0568409 -227.50 137.50 232.50 0.0150114 -227.50 137.50 237.50 0.0168596 -227.50 137.50 242.50 0.0400786 -227.50 137.50 247.50 0.0908968 -227.50 137.50 252.50 0.139303 -227.50 137.50 257.50 0.232092 -227.50 137.50 262.50 0.452376 -227.50 137.50 267.50 0.9146 -227.50 137.50 272.50 1.66337 -227.50 137.50 277.50 2.48748 -227.50 137.50 282.50 3.36605 -227.50 137.50 287.50 3.64918 -227.50 137.50 292.50 3.06255 -227.50 137.50 297.50 1.94873 -227.50 137.50 302.50 1.14238 -227.50 137.50 307.50 0.548183 -227.50 137.50 312.50 0.18753 -227.50 137.50 317.50 0.0568409 -227.50 137.50 322.50 0.0150114 -227.50 137.50 327.50 0.0168595 -227.50 137.50 332.50 0.0400785 -227.50 137.50 337.50 0.0908967 -227.50 137.50 342.50 0.139303 -227.50 137.50 347.50 0.232091 -227.50 137.50 352.50 0.452374 -227.50 137.50 357.50 0.914597 -227.50 142.50 2.50 1.62801 -227.50 142.50 7.50 2.95658 -227.50 142.50 12.50 4.42938 -227.50 142.50 17.50 5.00802 -227.50 142.50 22.50 4.45582 -227.50 142.50 27.50 3.10896 -227.50 142.50 32.50 1.85956 -227.50 142.50 37.50 0.947812 -227.50 142.50 42.50 0.397991 -227.50 142.50 47.50 0.146546 -227.50 142.50 52.50 0.0520134 -227.50 142.50 57.50 0.0171812 -227.50 142.50 62.50 0.0108623 -227.50 142.50 67.50 0.0193176 -227.50 142.50 72.50 0.0401125 -227.50 142.50 77.50 0.0932888 -227.50 142.50 82.50 0.246043 -227.50 142.50 87.50 0.700267 -227.50 142.50 92.50 1.62801 -227.50 142.50 97.50 2.95658 -227.50 142.50 102.50 4.42938 -227.50 142.50 107.50 5.00802 -227.50 142.50 112.50 4.45582 -227.50 142.50 117.50 3.10896 -227.50 142.50 122.50 1.85955 -227.50 142.50 127.50 0.947811 -227.50 142.50 132.50 0.397991 -227.50 142.50 137.50 0.146546 -227.50 142.50 142.50 0.0520135 -227.50 142.50 147.50 0.0171812 -227.50 142.50 152.50 0.0108623 -227.50 142.50 157.50 0.0193176 -227.50 142.50 162.50 0.0401125 -227.50 142.50 167.50 0.0932886 -227.50 142.50 172.50 0.246043 -227.50 142.50 177.50 0.700267 -227.50 142.50 182.50 1.62801 -227.50 142.50 187.50 2.95658 -227.50 142.50 192.50 4.42938 -227.50 142.50 197.50 5.00802 -227.50 142.50 202.50 4.45582 -227.50 142.50 207.50 3.10896 -227.50 142.50 212.50 1.85956 -227.50 142.50 217.50 0.947813 -227.50 142.50 222.50 0.397991 -227.50 142.50 227.50 0.146546 -227.50 142.50 232.50 0.0520134 -227.50 142.50 237.50 0.0171811 -227.50 142.50 242.50 0.0108623 -227.50 142.50 247.50 0.0193176 -227.50 142.50 252.50 0.0401126 -227.50 142.50 257.50 0.0932889 -227.50 142.50 262.50 0.246043 -227.50 142.50 267.50 0.700268 -227.50 142.50 272.50 1.62801 -227.50 142.50 277.50 2.95658 -227.50 142.50 282.50 4.42938 -227.50 142.50 287.50 5.00803 -227.50 142.50 292.50 4.45582 -227.50 142.50 297.50 3.10896 -227.50 142.50 302.50 1.85956 -227.50 142.50 307.50 0.947813 -227.50 142.50 312.50 0.397991 -227.50 142.50 317.50 0.146546 -227.50 142.50 322.50 0.0520136 -227.50 142.50 327.50 0.0171812 -227.50 142.50 332.50 0.0108623 -227.50 142.50 337.50 0.0193175 -227.50 142.50 342.50 0.0401125 -227.50 142.50 347.50 0.0932885 -227.50 142.50 352.50 0.246042 -227.50 142.50 357.50 0.700266 -227.50 147.50 2.50 1.51272 -227.50 147.50 7.50 3.14259 -227.50 147.50 12.50 4.96676 -227.50 147.50 17.50 5.77028 -227.50 147.50 22.50 5.23187 -227.50 147.50 27.50 3.88117 -227.50 147.50 32.50 2.44983 -227.50 147.50 37.50 1.38818 -227.50 147.50 42.50 0.734289 -227.50 147.50 47.50 0.371522 -227.50 147.50 52.50 0.161909 -227.50 147.50 57.50 0.0542926 -227.50 147.50 62.50 0.017002 -227.50 147.50 67.50 0.00766383 -227.50 147.50 72.50 0.0142555 -227.50 147.50 77.50 0.0425808 -227.50 147.50 82.50 0.154821 -227.50 147.50 87.50 0.540504 -227.50 147.50 92.50 1.51272 -227.50 147.50 97.50 3.14259 -227.50 147.50 102.50 4.96676 -227.50 147.50 107.50 5.77028 -227.50 147.50 112.50 5.23187 -227.50 147.50 117.50 3.88116 -227.50 147.50 122.50 2.44983 -227.50 147.50 127.50 1.38818 -227.50 147.50 132.50 0.734288 -227.50 147.50 137.50 0.371522 -227.50 147.50 142.50 0.161909 -227.50 147.50 147.50 0.0542926 -227.50 147.50 152.50 0.017002 -227.50 147.50 157.50 0.00766384 -227.50 147.50 162.50 0.0142555 -227.50 147.50 167.50 0.0425808 -227.50 147.50 172.50 0.154821 -227.50 147.50 177.50 0.540504 -227.50 147.50 182.50 1.51272 -227.50 147.50 187.50 3.14259 -227.50 147.50 192.50 4.96676 -227.50 147.50 197.50 5.77028 -227.50 147.50 202.50 5.23187 -227.50 147.50 207.50 3.88117 -227.50 147.50 212.50 2.44983 -227.50 147.50 217.50 1.38818 -227.50 147.50 222.50 0.734289 -227.50 147.50 227.50 0.371522 -227.50 147.50 232.50 0.161909 -227.50 147.50 237.50 0.0542925 -227.50 147.50 242.50 0.017002 -227.50 147.50 247.50 0.00766384 -227.50 147.50 252.50 0.0142555 -227.50 147.50 257.50 0.0425809 -227.50 147.50 262.50 0.154821 -227.50 147.50 267.50 0.540505 -227.50 147.50 272.50 1.51272 -227.50 147.50 277.50 3.14259 -227.50 147.50 282.50 4.96675 -227.50 147.50 287.50 5.77028 -227.50 147.50 292.50 5.23187 -227.50 147.50 297.50 3.88117 -227.50 147.50 302.50 2.44983 -227.50 147.50 307.50 1.38818 -227.50 147.50 312.50 0.734289 -227.50 147.50 317.50 0.371522 -227.50 147.50 322.50 0.16191 -227.50 147.50 327.50 0.0542928 -227.50 147.50 332.50 0.017002 -227.50 147.50 337.50 0.00766383 -227.50 147.50 342.50 0.0142554 -227.50 147.50 347.50 0.0425807 -227.50 147.50 352.50 0.15482 -227.50 147.50 357.50 0.540503 -227.50 152.50 2.50 1.29235 -227.50 152.50 7.50 2.82189 -227.50 152.50 12.50 4.50354 -227.50 152.50 17.50 5.39891 -227.50 152.50 22.50 4.99206 -227.50 152.50 27.50 3.9221 -227.50 152.50 32.50 2.6901 -227.50 152.50 37.50 1.79561 -227.50 152.50 42.50 1.17106 -227.50 152.50 47.50 0.695906 -227.50 152.50 52.50 0.340804 -227.50 152.50 57.50 0.141274 -227.50 152.50 62.50 0.0486947 -227.50 152.50 67.50 0.0134999 -227.50 152.50 72.50 0.00965575 -227.50 152.50 77.50 0.0247872 -227.50 152.50 82.50 0.116364 -227.50 152.50 87.50 0.414932 -227.50 152.50 92.50 1.29235 -227.50 152.50 97.50 2.82189 -227.50 152.50 102.50 4.50354 -227.50 152.50 107.50 5.3989 -227.50 152.50 112.50 4.99206 -227.50 152.50 117.50 3.9221 -227.50 152.50 122.50 2.6901 -227.50 152.50 127.50 1.79561 -227.50 152.50 132.50 1.17106 -227.50 152.50 137.50 0.695906 -227.50 152.50 142.50 0.340805 -227.50 152.50 147.50 0.141274 -227.50 152.50 152.50 0.0486948 -227.50 152.50 157.50 0.0134999 -227.50 152.50 162.50 0.00965574 -227.50 152.50 167.50 0.0247872 -227.50 152.50 172.50 0.116364 -227.50 152.50 177.50 0.414932 -227.50 152.50 182.50 1.29235 -227.50 152.50 187.50 2.82189 -227.50 152.50 192.50 4.50354 -227.50 152.50 197.50 5.39891 -227.50 152.50 202.50 4.99206 -227.50 152.50 207.50 3.9221 -227.50 152.50 212.50 2.6901 -227.50 152.50 217.50 1.79561 -227.50 152.50 222.50 1.17106 -227.50 152.50 227.50 0.695906 -227.50 152.50 232.50 0.340804 -227.50 152.50 237.50 0.141274 -227.50 152.50 242.50 0.0486947 -227.50 152.50 247.50 0.0134998 -227.50 152.50 252.50 0.00965576 -227.50 152.50 257.50 0.0247872 -227.50 152.50 262.50 0.116364 -227.50 152.50 267.50 0.414932 -227.50 152.50 272.50 1.29235 -227.50 152.50 277.50 2.82189 -227.50 152.50 282.50 4.50354 -227.50 152.50 287.50 5.39891 -227.50 152.50 292.50 4.99206 -227.50 152.50 297.50 3.9221 -227.50 152.50 302.50 2.6901 -227.50 152.50 307.50 1.79561 -227.50 152.50 312.50 1.17106 -227.50 152.50 317.50 0.695906 -227.50 152.50 322.50 0.340805 -227.50 152.50 327.50 0.141274 -227.50 152.50 332.50 0.0486948 -227.50 152.50 337.50 0.0134999 -227.50 152.50 342.50 0.00965573 -227.50 152.50 347.50 0.0247871 -227.50 152.50 352.50 0.116364 -227.50 152.50 357.50 0.41493 -227.50 157.50 2.50 0.968136 -227.50 157.50 7.50 2.03748 -227.50 157.50 12.50 3.2313 -227.50 157.50 17.50 3.92172 -227.50 157.50 22.50 3.8301 -227.50 157.50 27.50 3.22443 -227.50 157.50 32.50 2.54336 -227.50 157.50 37.50 1.9563 -227.50 157.50 42.50 1.50218 -227.50 157.50 47.50 1.01745 -227.50 157.50 52.50 0.566679 -227.50 157.50 57.50 0.270307 -227.50 157.50 62.50 0.109068 -227.50 157.50 67.50 0.036887 -227.50 157.50 72.50 0.0163487 -227.50 157.50 77.50 0.030666 -227.50 157.50 82.50 0.104603 -227.50 157.50 87.50 0.329818 -227.50 157.50 92.50 0.968136 -227.50 157.50 97.50 2.03748 -227.50 157.50 102.50 3.2313 -227.50 157.50 107.50 3.92172 -227.50 157.50 112.50 3.8301 -227.50 157.50 117.50 3.22443 -227.50 157.50 122.50 2.54336 -227.50 157.50 127.50 1.9563 -227.50 157.50 132.50 1.50217 -227.50 157.50 137.50 1.01745 -227.50 157.50 142.50 0.566679 -227.50 157.50 147.50 0.270307 -227.50 157.50 152.50 0.109068 -227.50 157.50 157.50 0.0368871 -227.50 157.50 162.50 0.0163487 -227.50 157.50 167.50 0.030666 -227.50 157.50 172.50 0.104603 -227.50 157.50 177.50 0.329818 -227.50 157.50 182.50 0.968136 -227.50 157.50 187.50 2.03748 -227.50 157.50 192.50 3.2313 -227.50 157.50 197.50 3.92172 -227.50 157.50 202.50 3.8301 -227.50 157.50 207.50 3.22444 -227.50 157.50 212.50 2.54336 -227.50 157.50 217.50 1.9563 -227.50 157.50 222.50 1.50218 -227.50 157.50 227.50 1.01745 -227.50 157.50 232.50 0.566678 -227.50 157.50 237.50 0.270307 -227.50 157.50 242.50 0.109068 -227.50 157.50 247.50 0.036887 -227.50 157.50 252.50 0.0163487 -227.50 157.50 257.50 0.0306661 -227.50 157.50 262.50 0.104603 -227.50 157.50 267.50 0.329818 -227.50 157.50 272.50 0.968136 -227.50 157.50 277.50 2.03748 -227.50 157.50 282.50 3.2313 -227.50 157.50 287.50 3.92172 -227.50 157.50 292.50 3.8301 -227.50 157.50 297.50 3.22444 -227.50 157.50 302.50 2.54336 -227.50 157.50 307.50 1.9563 -227.50 157.50 312.50 1.50218 -227.50 157.50 317.50 1.01745 -227.50 157.50 322.50 0.56668 -227.50 157.50 327.50 0.270308 -227.50 157.50 332.50 0.109068 -227.50 157.50 337.50 0.0368871 -227.50 157.50 342.50 0.0163487 -227.50 157.50 347.50 0.030666 -227.50 157.50 352.50 0.104603 -227.50 157.50 357.50 0.329817 -227.50 162.50 2.50 0.637513 -227.50 162.50 7.50 1.18272 -227.50 162.50 12.50 1.81288 -227.50 162.50 17.50 2.24805 -227.50 162.50 22.50 2.34706 -227.50 162.50 27.50 2.14288 -227.50 162.50 32.50 1.8782 -227.50 162.50 37.50 1.72953 -227.50 162.50 42.50 1.57233 -227.50 162.50 47.50 1.23339 -227.50 162.50 52.50 0.795804 -227.50 162.50 57.50 0.427801 -227.50 162.50 62.50 0.205078 -227.50 162.50 67.50 0.0852975 -227.50 162.50 72.50 0.0393927 -227.50 162.50 77.50 0.0519656 -227.50 162.50 82.50 0.119253 -227.50 162.50 87.50 0.285722 -227.50 162.50 92.50 0.637514 -227.50 162.50 97.50 1.18272 -227.50 162.50 102.50 1.81288 -227.50 162.50 107.50 2.24805 -227.50 162.50 112.50 2.34706 -227.50 162.50 117.50 2.14288 -227.50 162.50 122.50 1.8782 -227.50 162.50 127.50 1.72953 -227.50 162.50 132.50 1.57233 -227.50 162.50 137.50 1.23339 -227.50 162.50 142.50 0.795804 -227.50 162.50 147.50 0.427801 -227.50 162.50 152.50 0.205078 -227.50 162.50 157.50 0.0852976 -227.50 162.50 162.50 0.0393927 -227.50 162.50 167.50 0.0519656 -227.50 162.50 172.50 0.119253 -227.50 162.50 177.50 0.285722 -227.50 162.50 182.50 0.637514 -227.50 162.50 187.50 1.18272 -227.50 162.50 192.50 1.81288 -227.50 162.50 197.50 2.24805 -227.50 162.50 202.50 2.34706 -227.50 162.50 207.50 2.14288 -227.50 162.50 212.50 1.8782 -227.50 162.50 217.50 1.72953 -227.50 162.50 222.50 1.57233 -227.50 162.50 227.50 1.23339 -227.50 162.50 232.50 0.795803 -227.50 162.50 237.50 0.427801 -227.50 162.50 242.50 0.205077 -227.50 162.50 247.50 0.0852974 -227.50 162.50 252.50 0.0393927 -227.50 162.50 257.50 0.0519656 -227.50 162.50 262.50 0.119253 -227.50 162.50 267.50 0.285722 -227.50 162.50 272.50 0.637513 -227.50 162.50 277.50 1.18272 -227.50 162.50 282.50 1.81288 -227.50 162.50 287.50 2.24805 -227.50 162.50 292.50 2.34706 -227.50 162.50 297.50 2.14288 -227.50 162.50 302.50 1.8782 -227.50 162.50 307.50 1.72953 -227.50 162.50 312.50 1.57233 -227.50 162.50 317.50 1.23339 -227.50 162.50 322.50 0.795805 -227.50 162.50 327.50 0.427801 -227.50 162.50 332.50 0.205078 -227.50 162.50 337.50 0.0852977 -227.50 162.50 342.50 0.0393927 -227.50 162.50 347.50 0.0519655 -227.50 162.50 352.50 0.119253 -227.50 162.50 357.50 0.285721 -227.50 167.50 2.50 0.403177 -227.50 167.50 7.50 0.59788 -227.50 167.50 12.50 0.819828 -227.50 167.50 17.50 1.03822 -227.50 167.50 22.50 1.12898 -227.50 167.50 27.50 1.09896 -227.50 167.50 32.50 1.0785 -227.50 167.50 37.50 1.21406 -227.50 167.50 42.50 1.37785 -227.50 167.50 47.50 1.28158 -227.50 167.50 52.50 0.917766 -227.50 167.50 57.50 0.534561 -227.50 167.50 62.50 0.270597 -227.50 167.50 67.50 0.125026 -227.50 167.50 72.50 0.0671227 -227.50 167.50 77.50 0.0753127 -227.50 167.50 82.50 0.138051 -227.50 167.50 87.50 0.258234 -227.50 167.50 92.50 0.403177 -227.50 167.50 97.50 0.59788 -227.50 167.50 102.50 0.819828 -227.50 167.50 107.50 1.03822 -227.50 167.50 112.50 1.12898 -227.50 167.50 117.50 1.09896 -227.50 167.50 122.50 1.0785 -227.50 167.50 127.50 1.21406 -227.50 167.50 132.50 1.37785 -227.50 167.50 137.50 1.28158 -227.50 167.50 142.50 0.917766 -227.50 167.50 147.50 0.534562 -227.50 167.50 152.50 0.270597 -227.50 167.50 157.50 0.125026 -227.50 167.50 162.50 0.0671228 -227.50 167.50 167.50 0.0753127 -227.50 167.50 172.50 0.138051 -227.50 167.50 177.50 0.258234 -227.50 167.50 182.50 0.403177 -227.50 167.50 187.50 0.59788 -227.50 167.50 192.50 0.819828 -227.50 167.50 197.50 1.03822 -227.50 167.50 202.50 1.12898 -227.50 167.50 207.50 1.09896 -227.50 167.50 212.50 1.0785 -227.50 167.50 217.50 1.21406 -227.50 167.50 222.50 1.37784 -227.50 167.50 227.50 1.28158 -227.50 167.50 232.50 0.917765 -227.50 167.50 237.50 0.534561 -227.50 167.50 242.50 0.270597 -227.50 167.50 247.50 0.125026 -227.50 167.50 252.50 0.0671227 -227.50 167.50 257.50 0.0753128 -227.50 167.50 262.50 0.138051 -227.50 167.50 267.50 0.258234 -227.50 167.50 272.50 0.403177 -227.50 167.50 277.50 0.59788 -227.50 167.50 282.50 0.819828 -227.50 167.50 287.50 1.03822 -227.50 167.50 292.50 1.12898 -227.50 167.50 297.50 1.09896 -227.50 167.50 302.50 1.0785 -227.50 167.50 307.50 1.21406 -227.50 167.50 312.50 1.37785 -227.50 167.50 317.50 1.28158 -227.50 167.50 322.50 0.917767 -227.50 167.50 327.50 0.534562 -227.50 167.50 332.50 0.270597 -227.50 167.50 337.50 0.125026 -227.50 167.50 342.50 0.0671228 -227.50 167.50 347.50 0.0753126 -227.50 167.50 352.50 0.138051 -227.50 167.50 357.50 0.258234 -227.50 172.50 2.50 0.246673 -227.50 172.50 7.50 0.292922 -227.50 172.50 12.50 0.346466 -227.50 172.50 17.50 0.38959 -227.50 172.50 22.50 0.422122 -227.50 172.50 27.50 0.426449 -227.50 172.50 32.50 0.500227 -227.50 172.50 37.50 0.755849 -227.50 172.50 42.50 1.09405 -227.50 172.50 47.50 1.19054 -227.50 172.50 52.50 0.910762 -227.50 172.50 57.50 0.511231 -227.50 172.50 62.50 0.244564 -227.50 172.50 67.50 0.118447 -227.50 172.50 72.50 0.0702203 -227.50 172.50 77.50 0.0755783 -227.50 172.50 82.50 0.135628 -227.50 172.50 87.50 0.200771 -227.50 172.50 92.50 0.246673 -227.50 172.50 97.50 0.292922 -227.50 172.50 102.50 0.346467 -227.50 172.50 107.50 0.38959 -227.50 172.50 112.50 0.422121 -227.50 172.50 117.50 0.426448 -227.50 172.50 122.50 0.500227 -227.50 172.50 127.50 0.755849 -227.50 172.50 132.50 1.09405 -227.50 172.50 137.50 1.19054 -227.50 172.50 142.50 0.910762 -227.50 172.50 147.50 0.511231 -227.50 172.50 152.50 0.244564 -227.50 172.50 157.50 0.118447 -227.50 172.50 162.50 0.0702203 -227.50 172.50 167.50 0.0755782 -227.50 172.50 172.50 0.135628 -227.50 172.50 177.50 0.200771 -227.50 172.50 182.50 0.246673 -227.50 172.50 187.50 0.292922 -227.50 172.50 192.50 0.346467 -227.50 172.50 197.50 0.38959 -227.50 172.50 202.50 0.422122 -227.50 172.50 207.50 0.426448 -227.50 172.50 212.50 0.500227 -227.50 172.50 217.50 0.755849 -227.50 172.50 222.50 1.09405 -227.50 172.50 227.50 1.19054 -227.50 172.50 232.50 0.91076 -227.50 172.50 237.50 0.511231 -227.50 172.50 242.50 0.244564 -227.50 172.50 247.50 0.118447 -227.50 172.50 252.50 0.0702203 -227.50 172.50 257.50 0.0755783 -227.50 172.50 262.50 0.135628 -227.50 172.50 267.50 0.200771 -227.50 172.50 272.50 0.246673 -227.50 172.50 277.50 0.292922 -227.50 172.50 282.50 0.346466 -227.50 172.50 287.50 0.38959 -227.50 172.50 292.50 0.422122 -227.50 172.50 297.50 0.426448 -227.50 172.50 302.50 0.500227 -227.50 172.50 307.50 0.755848 -227.50 172.50 312.50 1.09405 -227.50 172.50 317.50 1.19054 -227.50 172.50 322.50 0.910763 -227.50 172.50 327.50 0.511232 -227.50 172.50 332.50 0.244565 -227.50 172.50 337.50 0.118447 -227.50 172.50 342.50 0.0702204 -227.50 172.50 347.50 0.0755783 -227.50 172.50 352.50 0.135628 -227.50 172.50 357.50 0.200771 -227.50 177.50 2.50 0.130387 -227.50 177.50 7.50 0.136291 -227.50 177.50 12.50 0.138326 -227.50 177.50 17.50 0.133174 -227.50 177.50 22.50 0.125308 -227.50 177.50 27.50 0.132724 -227.50 177.50 32.50 0.214872 -227.50 177.50 37.50 0.456807 -227.50 177.50 42.50 0.799663 -227.50 177.50 47.50 0.957657 -227.50 177.50 52.50 0.751725 -227.50 177.50 57.50 0.401305 -227.50 177.50 62.50 0.171415 -227.50 177.50 67.50 0.0818355 -227.50 177.50 72.50 0.0586778 -227.50 177.50 77.50 0.0706779 -227.50 177.50 82.50 0.0985688 -227.50 177.50 87.50 0.120837 -227.50 177.50 92.50 0.130387 -227.50 177.50 97.50 0.136291 -227.50 177.50 102.50 0.138326 -227.50 177.50 107.50 0.133174 -227.50 177.50 112.50 0.125308 -227.50 177.50 117.50 0.132724 -227.50 177.50 122.50 0.214872 -227.50 177.50 127.50 0.456807 -227.50 177.50 132.50 0.799664 -227.50 177.50 137.50 0.957657 -227.50 177.50 142.50 0.751726 -227.50 177.50 147.50 0.401305 -227.50 177.50 152.50 0.171415 -227.50 177.50 157.50 0.0818355 -227.50 177.50 162.50 0.0586778 -227.50 177.50 167.50 0.0706779 -227.50 177.50 172.50 0.0985687 -227.50 177.50 177.50 0.120837 -227.50 177.50 182.50 0.130387 -227.50 177.50 187.50 0.136291 -227.50 177.50 192.50 0.138326 -227.50 177.50 197.50 0.133174 -227.50 177.50 202.50 0.125309 -227.50 177.50 207.50 0.132724 -227.50 177.50 212.50 0.214872 -227.50 177.50 217.50 0.456807 -227.50 177.50 222.50 0.799663 -227.50 177.50 227.50 0.957657 -227.50 177.50 232.50 0.751725 -227.50 177.50 237.50 0.401305 -227.50 177.50 242.50 0.171414 -227.50 177.50 247.50 0.0818353 -227.50 177.50 252.50 0.0586778 -227.50 177.50 257.50 0.0706779 -227.50 177.50 262.50 0.0985687 -227.50 177.50 267.50 0.120837 -227.50 177.50 272.50 0.130387 -227.50 177.50 277.50 0.136291 -227.50 177.50 282.50 0.138326 -227.50 177.50 287.50 0.133174 -227.50 177.50 292.50 0.125309 -227.50 177.50 297.50 0.132724 -227.50 177.50 302.50 0.214872 -227.50 177.50 307.50 0.456806 -227.50 177.50 312.50 0.799663 -227.50 177.50 317.50 0.957657 -227.50 177.50 322.50 0.751726 -227.50 177.50 327.50 0.401305 -227.50 177.50 332.50 0.171415 -227.50 177.50 337.50 0.0818355 -227.50 177.50 342.50 0.0586778 -227.50 177.50 347.50 0.0706778 -227.50 177.50 352.50 0.0985686 -227.50 177.50 357.50 0.120837 -232.50 2.50 2.50 0.083846 -232.50 2.50 7.50 0.0760385 -232.50 2.50 12.50 0.0601603 -232.50 2.50 17.50 0.0485219 -232.50 2.50 22.50 0.0624686 -232.50 2.50 27.50 0.149977 -232.50 2.50 32.50 0.393274 -232.50 2.50 37.50 0.773179 -232.50 2.50 42.50 0.980476 -232.50 2.50 47.50 0.773178 -232.50 2.50 52.50 0.393272 -232.50 2.50 57.50 0.149976 -232.50 2.50 62.50 0.0624684 -232.50 2.50 67.50 0.048522 -232.50 2.50 72.50 0.0601604 -232.50 2.50 77.50 0.0760386 -232.50 2.50 82.50 0.083846 -232.50 2.50 87.50 0.084539 -232.50 2.50 92.50 0.083846 -232.50 2.50 97.50 0.0760385 -232.50 2.50 102.50 0.0601603 -232.50 2.50 107.50 0.0485219 -232.50 2.50 112.50 0.0624686 -232.50 2.50 117.50 0.149977 -232.50 2.50 122.50 0.393273 -232.50 2.50 127.50 0.773179 -232.50 2.50 132.50 0.980476 -232.50 2.50 137.50 0.773178 -232.50 2.50 142.50 0.393272 -232.50 2.50 147.50 0.149977 -232.50 2.50 152.50 0.0624685 -232.50 2.50 157.50 0.0485219 -232.50 2.50 162.50 0.0601603 -232.50 2.50 167.50 0.0760385 -232.50 2.50 172.50 0.083846 -232.50 2.50 177.50 0.084539 -232.50 2.50 182.50 0.083846 -232.50 2.50 187.50 0.0760385 -232.50 2.50 192.50 0.0601603 -232.50 2.50 197.50 0.0485219 -232.50 2.50 202.50 0.0624687 -232.50 2.50 207.50 0.149977 -232.50 2.50 212.50 0.393274 -232.50 2.50 217.50 0.773179 -232.50 2.50 222.50 0.980476 -232.50 2.50 227.50 0.773178 -232.50 2.50 232.50 0.393271 -232.50 2.50 237.50 0.149976 -232.50 2.50 242.50 0.0624684 -232.50 2.50 247.50 0.048522 -232.50 2.50 252.50 0.0601604 -232.50 2.50 257.50 0.0760386 -232.50 2.50 262.50 0.083846 -232.50 2.50 267.50 0.084539 -232.50 2.50 272.50 0.083846 -232.50 2.50 277.50 0.0760385 -232.50 2.50 282.50 0.0601603 -232.50 2.50 287.50 0.0485219 -232.50 2.50 292.50 0.0624686 -232.50 2.50 297.50 0.149977 -232.50 2.50 302.50 0.393273 -232.50 2.50 307.50 0.773179 -232.50 2.50 312.50 0.980476 -232.50 2.50 317.50 0.773179 -232.50 2.50 322.50 0.393273 -232.50 2.50 327.50 0.149977 -232.50 2.50 332.50 0.0624686 -232.50 2.50 337.50 0.0485219 -232.50 2.50 342.50 0.0601603 -232.50 2.50 347.50 0.0760385 -232.50 2.50 352.50 0.083846 -232.50 2.50 357.50 0.084539 -232.50 7.50 2.50 0.132069 -232.50 7.50 7.50 0.109882 -232.50 7.50 12.50 0.0780234 -232.50 7.50 17.50 0.0639081 -232.50 7.50 22.50 0.0924992 -232.50 7.50 27.50 0.187773 -232.50 7.50 32.50 0.394642 -232.50 7.50 37.50 0.713423 -232.50 7.50 42.50 0.911258 -232.50 7.50 47.50 0.780785 -232.50 7.50 52.50 0.461408 -232.50 7.50 57.50 0.217743 -232.50 7.50 62.50 0.125439 -232.50 7.50 67.50 0.123213 -232.50 7.50 72.50 0.140004 -232.50 7.50 77.50 0.148748 -232.50 7.50 82.50 0.144941 -232.50 7.50 87.50 0.138729 -232.50 7.50 92.50 0.132069 -232.50 7.50 97.50 0.109882 -232.50 7.50 102.50 0.0780234 -232.50 7.50 107.50 0.0639081 -232.50 7.50 112.50 0.0924993 -232.50 7.50 117.50 0.187774 -232.50 7.50 122.50 0.394642 -232.50 7.50 127.50 0.713424 -232.50 7.50 132.50 0.911258 -232.50 7.50 137.50 0.780784 -232.50 7.50 142.50 0.461408 -232.50 7.50 147.50 0.217743 -232.50 7.50 152.50 0.125439 -232.50 7.50 157.50 0.123213 -232.50 7.50 162.50 0.140004 -232.50 7.50 167.50 0.148748 -232.50 7.50 172.50 0.144941 -232.50 7.50 177.50 0.138729 -232.50 7.50 182.50 0.132069 -232.50 7.50 187.50 0.109882 -232.50 7.50 192.50 0.0780234 -232.50 7.50 197.50 0.0639081 -232.50 7.50 202.50 0.0924992 -232.50 7.50 207.50 0.187773 -232.50 7.50 212.50 0.394642 -232.50 7.50 217.50 0.713424 -232.50 7.50 222.50 0.911258 -232.50 7.50 227.50 0.780785 -232.50 7.50 232.50 0.461407 -232.50 7.50 237.50 0.217743 -232.50 7.50 242.50 0.125439 -232.50 7.50 247.50 0.123213 -232.50 7.50 252.50 0.140004 -232.50 7.50 257.50 0.148748 -232.50 7.50 262.50 0.144941 -232.50 7.50 267.50 0.138729 -232.50 7.50 272.50 0.132069 -232.50 7.50 277.50 0.109882 -232.50 7.50 282.50 0.0780234 -232.50 7.50 287.50 0.0639082 -232.50 7.50 292.50 0.0924991 -232.50 7.50 297.50 0.187773 -232.50 7.50 302.50 0.394641 -232.50 7.50 307.50 0.713423 -232.50 7.50 312.50 0.911258 -232.50 7.50 317.50 0.780785 -232.50 7.50 322.50 0.461408 -232.50 7.50 327.50 0.217744 -232.50 7.50 332.50 0.125439 -232.50 7.50 337.50 0.123213 -232.50 7.50 342.50 0.140004 -232.50 7.50 347.50 0.148748 -232.50 7.50 352.50 0.144941 -232.50 7.50 357.50 0.138729 -232.50 12.50 2.50 0.239625 -232.50 12.50 7.50 0.172232 -232.50 12.50 12.50 0.0999633 -232.50 12.50 17.50 0.0765726 -232.50 12.50 22.50 0.136631 -232.50 12.50 27.50 0.269086 -232.50 12.50 32.50 0.510801 -232.50 12.50 37.50 0.863768 -232.50 12.50 42.50 1.12936 -232.50 12.50 47.50 1.06317 -232.50 12.50 52.50 0.747362 -232.50 12.50 57.50 0.490324 -232.50 12.50 62.50 0.419312 -232.50 12.50 67.50 0.444789 -232.50 12.50 72.50 0.451 -232.50 12.50 77.50 0.399667 -232.50 12.50 82.50 0.336778 -232.50 12.50 87.50 0.28366 -232.50 12.50 92.50 0.239625 -232.50 12.50 97.50 0.172232 -232.50 12.50 102.50 0.0999633 -232.50 12.50 107.50 0.0765726 -232.50 12.50 112.50 0.136631 -232.50 12.50 117.50 0.269086 -232.50 12.50 122.50 0.510801 -232.50 12.50 127.50 0.863768 -232.50 12.50 132.50 1.12936 -232.50 12.50 137.50 1.06317 -232.50 12.50 142.50 0.747362 -232.50 12.50 147.50 0.490324 -232.50 12.50 152.50 0.419312 -232.50 12.50 157.50 0.444789 -232.50 12.50 162.50 0.451 -232.50 12.50 167.50 0.399667 -232.50 12.50 172.50 0.336778 -232.50 12.50 177.50 0.28366 -232.50 12.50 182.50 0.239625 -232.50 12.50 187.50 0.172232 -232.50 12.50 192.50 0.0999633 -232.50 12.50 197.50 0.0765726 -232.50 12.50 202.50 0.136631 -232.50 12.50 207.50 0.269086 -232.50 12.50 212.50 0.510801 -232.50 12.50 217.50 0.863768 -232.50 12.50 222.50 1.12937 -232.50 12.50 227.50 1.06317 -232.50 12.50 232.50 0.747361 -232.50 12.50 237.50 0.490324 -232.50 12.50 242.50 0.419312 -232.50 12.50 247.50 0.444789 -232.50 12.50 252.50 0.451 -232.50 12.50 257.50 0.399667 -232.50 12.50 262.50 0.336778 -232.50 12.50 267.50 0.28366 -232.50 12.50 272.50 0.239625 -232.50 12.50 277.50 0.172231 -232.50 12.50 282.50 0.0999634 -232.50 12.50 287.50 0.0765726 -232.50 12.50 292.50 0.136631 -232.50 12.50 297.50 0.269086 -232.50 12.50 302.50 0.5108 -232.50 12.50 307.50 0.863767 -232.50 12.50 312.50 1.12937 -232.50 12.50 317.50 1.06317 -232.50 12.50 322.50 0.747363 -232.50 12.50 327.50 0.490324 -232.50 12.50 332.50 0.419312 -232.50 12.50 337.50 0.444789 -232.50 12.50 342.50 0.451 -232.50 12.50 347.50 0.399667 -232.50 12.50 352.50 0.336778 -232.50 12.50 357.50 0.28366 -232.50 17.50 2.50 0.338201 -232.50 17.50 7.50 0.196327 -232.50 17.50 12.50 0.0907332 -232.50 17.50 17.50 0.0803515 -232.50 17.50 22.50 0.147846 -232.50 17.50 27.50 0.293576 -232.50 17.50 32.50 0.543172 -232.50 17.50 37.50 0.896641 -232.50 17.50 42.50 1.23109 -232.50 17.50 47.50 1.32943 -232.50 17.50 52.50 1.1871 -232.50 17.50 57.50 1.05068 -232.50 17.50 62.50 1.09764 -232.50 17.50 67.50 1.20247 -232.50 17.50 72.50 1.20165 -232.50 17.50 77.50 1.03178 -232.50 17.50 82.50 0.73858 -232.50 17.50 87.50 0.508241 -232.50 17.50 92.50 0.338201 -232.50 17.50 97.50 0.196327 -232.50 17.50 102.50 0.0907331 -232.50 17.50 107.50 0.0803515 -232.50 17.50 112.50 0.147846 -232.50 17.50 117.50 0.293576 -232.50 17.50 122.50 0.543172 -232.50 17.50 127.50 0.896641 -232.50 17.50 132.50 1.23109 -232.50 17.50 137.50 1.32943 -232.50 17.50 142.50 1.1871 -232.50 17.50 147.50 1.05068 -232.50 17.50 152.50 1.09764 -232.50 17.50 157.50 1.20247 -232.50 17.50 162.50 1.20165 -232.50 17.50 167.50 1.03178 -232.50 17.50 172.50 0.73858 -232.50 17.50 177.50 0.508241 -232.50 17.50 182.50 0.338201 -232.50 17.50 187.50 0.196327 -232.50 17.50 192.50 0.0907331 -232.50 17.50 197.50 0.0803516 -232.50 17.50 202.50 0.147846 -232.50 17.50 207.50 0.293576 -232.50 17.50 212.50 0.543172 -232.50 17.50 217.50 0.896641 -232.50 17.50 222.50 1.23109 -232.50 17.50 227.50 1.32943 -232.50 17.50 232.50 1.1871 -232.50 17.50 237.50 1.05067 -232.50 17.50 242.50 1.09764 -232.50 17.50 247.50 1.20247 -232.50 17.50 252.50 1.20165 -232.50 17.50 257.50 1.03178 -232.50 17.50 262.50 0.738579 -232.50 17.50 267.50 0.50824 -232.50 17.50 272.50 0.338201 -232.50 17.50 277.50 0.196327 -232.50 17.50 282.50 0.0907332 -232.50 17.50 287.50 0.0803515 -232.50 17.50 292.50 0.147846 -232.50 17.50 297.50 0.293576 -232.50 17.50 302.50 0.543172 -232.50 17.50 307.50 0.89664 -232.50 17.50 312.50 1.23109 -232.50 17.50 317.50 1.32943 -232.50 17.50 322.50 1.1871 -232.50 17.50 327.50 1.05068 -232.50 17.50 332.50 1.09764 -232.50 17.50 337.50 1.20247 -232.50 17.50 342.50 1.20165 -232.50 17.50 347.50 1.03178 -232.50 17.50 352.50 0.73858 -232.50 17.50 357.50 0.508241 -232.50 22.50 2.50 0.431719 -232.50 22.50 7.50 0.17822 -232.50 22.50 12.50 0.0711468 -232.50 22.50 17.50 0.0554852 -232.50 22.50 22.50 0.101749 -232.50 22.50 27.50 0.2179 -232.50 22.50 32.50 0.428486 -232.50 22.50 37.50 0.7739 -232.50 22.50 42.50 1.19551 -232.50 22.50 47.50 1.48938 -232.50 22.50 52.50 1.67545 -232.50 22.50 57.50 1.85785 -232.50 22.50 62.50 2.1509 -232.50 22.50 67.50 2.47971 -232.50 22.50 72.50 2.55938 -232.50 22.50 77.50 2.21654 -232.50 22.50 82.50 1.55766 -232.50 22.50 87.50 0.880313 -232.50 22.50 92.50 0.431718 -232.50 22.50 97.50 0.17822 -232.50 22.50 102.50 0.0711468 -232.50 22.50 107.50 0.0554852 -232.50 22.50 112.50 0.101749 -232.50 22.50 117.50 0.2179 -232.50 22.50 122.50 0.428486 -232.50 22.50 127.50 0.7739 -232.50 22.50 132.50 1.19551 -232.50 22.50 137.50 1.48938 -232.50 22.50 142.50 1.67545 -232.50 22.50 147.50 1.85785 -232.50 22.50 152.50 2.1509 -232.50 22.50 157.50 2.47971 -232.50 22.50 162.50 2.55938 -232.50 22.50 167.50 2.21654 -232.50 22.50 172.50 1.55766 -232.50 22.50 177.50 0.880312 -232.50 22.50 182.50 0.431718 -232.50 22.50 187.50 0.17822 -232.50 22.50 192.50 0.0711468 -232.50 22.50 197.50 0.0554852 -232.50 22.50 202.50 0.101749 -232.50 22.50 207.50 0.2179 -232.50 22.50 212.50 0.428486 -232.50 22.50 217.50 0.7739 -232.50 22.50 222.50 1.19551 -232.50 22.50 227.50 1.48938 -232.50 22.50 232.50 1.67545 -232.50 22.50 237.50 1.85785 -232.50 22.50 242.50 2.1509 -232.50 22.50 247.50 2.47971 -232.50 22.50 252.50 2.55938 -232.50 22.50 257.50 2.21654 -232.50 22.50 262.50 1.55766 -232.50 22.50 267.50 0.880311 -232.50 22.50 272.50 0.431719 -232.50 22.50 277.50 0.17822 -232.50 22.50 282.50 0.0711468 -232.50 22.50 287.50 0.0554851 -232.50 22.50 292.50 0.101749 -232.50 22.50 297.50 0.2179 -232.50 22.50 302.50 0.428486 -232.50 22.50 307.50 0.773899 -232.50 22.50 312.50 1.19551 -232.50 22.50 317.50 1.48938 -232.50 22.50 322.50 1.67545 -232.50 22.50 327.50 1.85785 -232.50 22.50 332.50 2.1509 -232.50 22.50 337.50 2.47971 -232.50 22.50 342.50 2.55938 -232.50 22.50 347.50 2.21654 -232.50 22.50 352.50 1.55766 -232.50 22.50 357.50 0.880313 -232.50 27.50 2.50 0.558756 -232.50 27.50 7.50 0.165933 -232.50 27.50 12.50 0.0546664 -232.50 27.50 17.50 0.0279363 -232.50 27.50 22.50 0.0447134 -232.50 27.50 27.50 0.106069 -232.50 27.50 32.50 0.254735 -232.50 27.50 37.50 0.544447 -232.50 27.50 42.50 0.960881 -232.50 27.50 47.50 1.41644 -232.50 27.50 52.50 1.851 -232.50 27.50 57.50 2.4042 -232.50 27.50 62.50 3.23112 -232.50 27.50 67.50 4.00842 -232.50 27.50 72.50 4.29488 -232.50 27.50 77.50 3.82805 -232.50 27.50 82.50 2.66296 -232.50 27.50 87.50 1.38427 -232.50 27.50 92.50 0.558756 -232.50 27.50 97.50 0.165933 -232.50 27.50 102.50 0.0546664 -232.50 27.50 107.50 0.0279364 -232.50 27.50 112.50 0.0447135 -232.50 27.50 117.50 0.106069 -232.50 27.50 122.50 0.254735 -232.50 27.50 127.50 0.544447 -232.50 27.50 132.50 0.960881 -232.50 27.50 137.50 1.41644 -232.50 27.50 142.50 1.851 -232.50 27.50 147.50 2.4042 -232.50 27.50 152.50 3.23112 -232.50 27.50 157.50 4.00842 -232.50 27.50 162.50 4.29488 -232.50 27.50 167.50 3.82805 -232.50 27.50 172.50 2.66296 -232.50 27.50 177.50 1.38427 -232.50 27.50 182.50 0.558755 -232.50 27.50 187.50 0.165933 -232.50 27.50 192.50 0.0546663 -232.50 27.50 197.50 0.0279364 -232.50 27.50 202.50 0.0447135 -232.50 27.50 207.50 0.106069 -232.50 27.50 212.50 0.254735 -232.50 27.50 217.50 0.544447 -232.50 27.50 222.50 0.960881 -232.50 27.50 227.50 1.41644 -232.50 27.50 232.50 1.851 -232.50 27.50 237.50 2.4042 -232.50 27.50 242.50 3.23112 -232.50 27.50 247.50 4.00843 -232.50 27.50 252.50 4.29488 -232.50 27.50 257.50 3.82805 -232.50 27.50 262.50 2.66296 -232.50 27.50 267.50 1.38426 -232.50 27.50 272.50 0.558756 -232.50 27.50 277.50 0.165933 -232.50 27.50 282.50 0.0546664 -232.50 27.50 287.50 0.0279363 -232.50 27.50 292.50 0.0447134 -232.50 27.50 297.50 0.106069 -232.50 27.50 302.50 0.254735 -232.50 27.50 307.50 0.544446 -232.50 27.50 312.50 0.960881 -232.50 27.50 317.50 1.41644 -232.50 27.50 322.50 1.851 -232.50 27.50 327.50 2.4042 -232.50 27.50 332.50 3.23112 -232.50 27.50 337.50 4.00842 -232.50 27.50 342.50 4.29488 -232.50 27.50 347.50 3.82806 -232.50 27.50 352.50 2.66297 -232.50 27.50 357.50 1.38427 -232.50 32.50 2.50 0.674571 -232.50 32.50 7.50 0.178438 -232.50 32.50 12.50 0.0504364 -232.50 32.50 17.50 0.0130588 -232.50 32.50 22.50 0.0155687 -232.50 32.50 27.50 0.0400466 -232.50 32.50 32.50 0.123107 -232.50 32.50 37.50 0.3163 -232.50 32.50 42.50 0.635227 -232.50 32.50 47.50 1.05363 -232.50 32.50 52.50 1.61851 -232.50 32.50 57.50 2.49292 -232.50 32.50 62.50 3.72517 -232.50 32.50 67.50 5.07766 -232.50 32.50 72.50 5.61847 -232.50 32.50 77.50 5.12188 -232.50 32.50 82.50 3.51128 -232.50 32.50 87.50 1.77615 -232.50 32.50 92.50 0.674571 -232.50 32.50 97.50 0.178438 -232.50 32.50 102.50 0.0504363 -232.50 32.50 107.50 0.0130588 -232.50 32.50 112.50 0.0155687 -232.50 32.50 117.50 0.0400466 -232.50 32.50 122.50 0.123107 -232.50 32.50 127.50 0.3163 -232.50 32.50 132.50 0.635227 -232.50 32.50 137.50 1.05363 -232.50 32.50 142.50 1.61851 -232.50 32.50 147.50 2.49292 -232.50 32.50 152.50 3.72516 -232.50 32.50 157.50 5.07766 -232.50 32.50 162.50 5.61847 -232.50 32.50 167.50 5.12189 -232.50 32.50 172.50 3.51128 -232.50 32.50 177.50 1.77615 -232.50 32.50 182.50 0.67457 -232.50 32.50 187.50 0.178438 -232.50 32.50 192.50 0.0504363 -232.50 32.50 197.50 0.0130588 -232.50 32.50 202.50 0.0155687 -232.50 32.50 207.50 0.0400466 -232.50 32.50 212.50 0.123107 -232.50 32.50 217.50 0.3163 -232.50 32.50 222.50 0.635227 -232.50 32.50 227.50 1.05363 -232.50 32.50 232.50 1.61851 -232.50 32.50 237.50 2.49292 -232.50 32.50 242.50 3.72517 -232.50 32.50 247.50 5.07766 -232.50 32.50 252.50 5.61847 -232.50 32.50 257.50 5.12188 -232.50 32.50 262.50 3.51128 -232.50 32.50 267.50 1.77615 -232.50 32.50 272.50 0.674571 -232.50 32.50 277.50 0.178438 -232.50 32.50 282.50 0.0504364 -232.50 32.50 287.50 0.0130588 -232.50 32.50 292.50 0.0155687 -232.50 32.50 297.50 0.0400465 -232.50 32.50 302.50 0.123107 -232.50 32.50 307.50 0.3163 -232.50 32.50 312.50 0.635226 -232.50 32.50 317.50 1.05363 -232.50 32.50 322.50 1.61851 -232.50 32.50 327.50 2.49292 -232.50 32.50 332.50 3.72516 -232.50 32.50 337.50 5.07766 -232.50 32.50 342.50 5.61847 -232.50 32.50 347.50 5.12189 -232.50 32.50 352.50 3.51129 -232.50 32.50 357.50 1.77615 -232.50 37.50 2.50 0.728262 -232.50 37.50 7.50 0.208458 -232.50 37.50 12.50 0.0528743 -232.50 37.50 17.50 0.0141549 -232.50 37.50 22.50 0.00811181 -232.50 37.50 27.50 0.0140954 -232.50 37.50 32.50 0.0465249 -232.50 37.50 37.50 0.1377 -232.50 37.50 42.50 0.328053 -232.50 37.50 47.50 0.620382 -232.50 37.50 52.50 1.13131 -232.50 37.50 57.50 2.10851 -232.50 37.50 62.50 3.53834 -232.50 37.50 67.50 4.99912 -232.50 37.50 72.50 5.68643 -232.50 37.50 77.50 5.17216 -232.50 37.50 82.50 3.59088 -232.50 37.50 87.50 1.84193 -232.50 37.50 92.50 0.728261 -232.50 37.50 97.50 0.208458 -232.50 37.50 102.50 0.0528743 -232.50 37.50 107.50 0.0141549 -232.50 37.50 112.50 0.00811181 -232.50 37.50 117.50 0.0140954 -232.50 37.50 122.50 0.0465249 -232.50 37.50 127.50 0.137701 -232.50 37.50 132.50 0.328053 -232.50 37.50 137.50 0.620382 -232.50 37.50 142.50 1.13131 -232.50 37.50 147.50 2.10851 -232.50 37.50 152.50 3.53834 -232.50 37.50 157.50 4.99912 -232.50 37.50 162.50 5.68643 -232.50 37.50 167.50 5.17216 -232.50 37.50 172.50 3.59088 -232.50 37.50 177.50 1.84194 -232.50 37.50 182.50 0.728261 -232.50 37.50 187.50 0.208458 -232.50 37.50 192.50 0.0528743 -232.50 37.50 197.50 0.0141549 -232.50 37.50 202.50 0.00811181 -232.50 37.50 207.50 0.0140954 -232.50 37.50 212.50 0.046525 -232.50 37.50 217.50 0.1377 -232.50 37.50 222.50 0.328053 -232.50 37.50 227.50 0.620382 -232.50 37.50 232.50 1.13131 -232.50 37.50 237.50 2.10851 -232.50 37.50 242.50 3.53834 -232.50 37.50 247.50 4.99912 -232.50 37.50 252.50 5.68643 -232.50 37.50 257.50 5.17216 -232.50 37.50 262.50 3.59088 -232.50 37.50 267.50 1.84193 -232.50 37.50 272.50 0.728262 -232.50 37.50 277.50 0.208458 -232.50 37.50 282.50 0.0528743 -232.50 37.50 287.50 0.0141548 -232.50 37.50 292.50 0.00811181 -232.50 37.50 297.50 0.0140954 -232.50 37.50 302.50 0.0465248 -232.50 37.50 307.50 0.1377 -232.50 37.50 312.50 0.328053 -232.50 37.50 317.50 0.620381 -232.50 37.50 322.50 1.13131 -232.50 37.50 327.50 2.10851 -232.50 37.50 332.50 3.53834 -232.50 37.50 337.50 4.99912 -232.50 37.50 342.50 5.68642 -232.50 37.50 347.50 5.17216 -232.50 37.50 352.50 3.59088 -232.50 37.50 357.50 1.84194 -232.50 42.50 2.50 0.744224 -232.50 42.50 7.50 0.25764 -232.50 42.50 12.50 0.0797781 -232.50 42.50 17.50 0.03419 -232.50 42.50 22.50 0.0205436 -232.50 42.50 27.50 0.0139855 -232.50 42.50 32.50 0.0156238 -232.50 42.50 37.50 0.0431595 -232.50 42.50 42.50 0.117309 -232.50 42.50 47.50 0.283541 -232.50 42.50 52.50 0.677184 -232.50 42.50 57.50 1.4521 -232.50 42.50 62.50 2.64638 -232.50 42.50 67.50 3.91269 -232.50 42.50 72.50 4.6062 -232.50 42.50 77.50 4.14883 -232.50 42.50 82.50 2.93174 -232.50 42.50 87.50 1.6303 -232.50 42.50 92.50 0.744224 -232.50 42.50 97.50 0.25764 -232.50 42.50 102.50 0.079778 -232.50 42.50 107.50 0.03419 -232.50 42.50 112.50 0.0205436 -232.50 42.50 117.50 0.0139855 -232.50 42.50 122.50 0.0156238 -232.50 42.50 127.50 0.0431595 -232.50 42.50 132.50 0.11731 -232.50 42.50 137.50 0.283541 -232.50 42.50 142.50 0.677184 -232.50 42.50 147.50 1.4521 -232.50 42.50 152.50 2.64638 -232.50 42.50 157.50 3.91269 -232.50 42.50 162.50 4.6062 -232.50 42.50 167.50 4.14883 -232.50 42.50 172.50 2.93175 -232.50 42.50 177.50 1.6303 -232.50 42.50 182.50 0.744223 -232.50 42.50 187.50 0.25764 -232.50 42.50 192.50 0.079778 -232.50 42.50 197.50 0.03419 -232.50 42.50 202.50 0.0205436 -232.50 42.50 207.50 0.0139855 -232.50 42.50 212.50 0.0156238 -232.50 42.50 217.50 0.0431595 -232.50 42.50 222.50 0.117309 -232.50 42.50 227.50 0.283541 -232.50 42.50 232.50 0.677186 -232.50 42.50 237.50 1.4521 -232.50 42.50 242.50 2.64638 -232.50 42.50 247.50 3.91269 -232.50 42.50 252.50 4.6062 -232.50 42.50 257.50 4.14883 -232.50 42.50 262.50 2.93174 -232.50 42.50 267.50 1.6303 -232.50 42.50 272.50 0.744224 -232.50 42.50 277.50 0.25764 -232.50 42.50 282.50 0.079778 -232.50 42.50 287.50 0.03419 -232.50 42.50 292.50 0.0205436 -232.50 42.50 297.50 0.0139855 -232.50 42.50 302.50 0.0156238 -232.50 42.50 307.50 0.0431594 -232.50 42.50 312.50 0.117309 -232.50 42.50 317.50 0.283541 -232.50 42.50 322.50 0.677184 -232.50 42.50 327.50 1.45209 -232.50 42.50 332.50 2.64638 -232.50 42.50 337.50 3.91268 -232.50 42.50 342.50 4.6062 -232.50 42.50 347.50 4.14883 -232.50 42.50 352.50 2.93175 -232.50 42.50 357.50 1.6303 -232.50 47.50 2.50 0.748974 -232.50 47.50 7.50 0.352337 -232.50 47.50 12.50 0.177551 -232.50 47.50 17.50 0.119315 -232.50 47.50 22.50 0.0948642 -232.50 47.50 27.50 0.062525 -232.50 47.50 32.50 0.0257526 -232.50 47.50 37.50 0.0182599 -232.50 47.50 42.50 0.0315758 -232.50 47.50 47.50 0.117767 -232.50 47.50 52.50 0.332446 -232.50 47.50 57.50 0.808732 -232.50 47.50 62.50 1.50534 -232.50 47.50 67.50 2.34909 -232.50 47.50 72.50 2.99443 -232.50 47.50 77.50 2.79904 -232.50 47.50 82.50 2.06907 -232.50 47.50 87.50 1.30179 -232.50 47.50 92.50 0.748974 -232.50 47.50 97.50 0.352337 -232.50 47.50 102.50 0.177551 -232.50 47.50 107.50 0.119315 -232.50 47.50 112.50 0.0948643 -232.50 47.50 117.50 0.062525 -232.50 47.50 122.50 0.0257526 -232.50 47.50 127.50 0.01826 -232.50 47.50 132.50 0.0315758 -232.50 47.50 137.50 0.117766 -232.50 47.50 142.50 0.332446 -232.50 47.50 147.50 0.808732 -232.50 47.50 152.50 1.50534 -232.50 47.50 157.50 2.34909 -232.50 47.50 162.50 2.99443 -232.50 47.50 167.50 2.79905 -232.50 47.50 172.50 2.06907 -232.50 47.50 177.50 1.30179 -232.50 47.50 182.50 0.748974 -232.50 47.50 187.50 0.352337 -232.50 47.50 192.50 0.17755 -232.50 47.50 197.50 0.119314 -232.50 47.50 202.50 0.0948642 -232.50 47.50 207.50 0.062525 -232.50 47.50 212.50 0.0257526 -232.50 47.50 217.50 0.01826 -232.50 47.50 222.50 0.0315758 -232.50 47.50 227.50 0.117766 -232.50 47.50 232.50 0.332446 -232.50 47.50 237.50 0.808733 -232.50 47.50 242.50 1.50534 -232.50 47.50 247.50 2.34909 -232.50 47.50 252.50 2.99443 -232.50 47.50 257.50 2.79904 -232.50 47.50 262.50 2.06907 -232.50 47.50 267.50 1.30179 -232.50 47.50 272.50 0.748974 -232.50 47.50 277.50 0.352337 -232.50 47.50 282.50 0.177551 -232.50 47.50 287.50 0.119315 -232.50 47.50 292.50 0.0948642 -232.50 47.50 297.50 0.0625251 -232.50 47.50 302.50 0.0257526 -232.50 47.50 307.50 0.0182599 -232.50 47.50 312.50 0.0315758 -232.50 47.50 317.50 0.117766 -232.50 47.50 322.50 0.332445 -232.50 47.50 327.50 0.808732 -232.50 47.50 332.50 1.50534 -232.50 47.50 337.50 2.34909 -232.50 47.50 342.50 2.99443 -232.50 47.50 347.50 2.79904 -232.50 47.50 352.50 2.06907 -232.50 47.50 357.50 1.30179 -232.50 52.50 2.50 0.744224 -232.50 52.50 7.50 0.522226 -232.50 52.50 12.50 0.410069 -232.50 52.50 17.50 0.355454 -232.50 52.50 22.50 0.328956 -232.50 52.50 27.50 0.223955 -232.50 52.50 32.50 0.120782 -232.50 52.50 37.50 0.0546704 -232.50 52.50 42.50 0.0248604 -232.50 52.50 47.50 0.0395077 -232.50 52.50 52.50 0.128969 -232.50 52.50 57.50 0.33982 -232.50 52.50 62.50 0.632368 -232.50 52.50 67.50 1.04099 -232.50 52.50 72.50 1.47003 -232.50 52.50 77.50 1.56225 -232.50 52.50 82.50 1.30023 -232.50 52.50 87.50 0.958351 -232.50 52.50 92.50 0.744224 -232.50 52.50 97.50 0.522225 -232.50 52.50 102.50 0.410069 -232.50 52.50 107.50 0.355454 -232.50 52.50 112.50 0.328956 -232.50 52.50 117.50 0.223955 -232.50 52.50 122.50 0.120782 -232.50 52.50 127.50 0.0546704 -232.50 52.50 132.50 0.0248604 -232.50 52.50 137.50 0.0395077 -232.50 52.50 142.50 0.128969 -232.50 52.50 147.50 0.339821 -232.50 52.50 152.50 0.632368 -232.50 52.50 157.50 1.04099 -232.50 52.50 162.50 1.47003 -232.50 52.50 167.50 1.56225 -232.50 52.50 172.50 1.30023 -232.50 52.50 177.50 0.958351 -232.50 52.50 182.50 0.744223 -232.50 52.50 187.50 0.522225 -232.50 52.50 192.50 0.410069 -232.50 52.50 197.50 0.355454 -232.50 52.50 202.50 0.328955 -232.50 52.50 207.50 0.223955 -232.50 52.50 212.50 0.120782 -232.50 52.50 217.50 0.0546704 -232.50 52.50 222.50 0.0248605 -232.50 52.50 227.50 0.0395077 -232.50 52.50 232.50 0.128969 -232.50 52.50 237.50 0.339821 -232.50 52.50 242.50 0.632369 -232.50 52.50 247.50 1.041 -232.50 52.50 252.50 1.47003 -232.50 52.50 257.50 1.56225 -232.50 52.50 262.50 1.30023 -232.50 52.50 267.50 0.958351 -232.50 52.50 272.50 0.744224 -232.50 52.50 277.50 0.522225 -232.50 52.50 282.50 0.410069 -232.50 52.50 287.50 0.355454 -232.50 52.50 292.50 0.328956 -232.50 52.50 297.50 0.223955 -232.50 52.50 302.50 0.120782 -232.50 52.50 307.50 0.0546705 -232.50 52.50 312.50 0.0248604 -232.50 52.50 317.50 0.0395077 -232.50 52.50 322.50 0.128969 -232.50 52.50 327.50 0.33982 -232.50 52.50 332.50 0.632367 -232.50 52.50 337.50 1.04099 -232.50 52.50 342.50 1.47003 -232.50 52.50 347.50 1.56225 -232.50 52.50 352.50 1.30023 -232.50 52.50 357.50 0.958352 -232.50 57.50 2.50 0.728262 -232.50 57.50 7.50 0.776922 -232.50 57.50 12.50 0.830931 -232.50 57.50 17.50 0.886595 -232.50 57.50 22.50 0.841226 -232.50 57.50 27.50 0.662422 -232.50 57.50 32.50 0.461697 -232.50 57.50 37.50 0.23898 -232.50 57.50 42.50 0.0984553 -232.50 57.50 47.50 0.0521243 -232.50 57.50 52.50 0.0554554 -232.50 57.50 57.50 0.115169 -232.50 57.50 62.50 0.228961 -232.50 57.50 67.50 0.348195 -232.50 57.50 72.50 0.530183 -232.50 57.50 77.50 0.659595 -232.50 57.50 82.50 0.702081 -232.50 57.50 87.50 0.648959 -232.50 57.50 92.50 0.728262 -232.50 57.50 97.50 0.776922 -232.50 57.50 102.50 0.830931 -232.50 57.50 107.50 0.886595 -232.50 57.50 112.50 0.841225 -232.50 57.50 117.50 0.662421 -232.50 57.50 122.50 0.461696 -232.50 57.50 127.50 0.23898 -232.50 57.50 132.50 0.0984554 -232.50 57.50 137.50 0.0521243 -232.50 57.50 142.50 0.0554554 -232.50 57.50 147.50 0.115169 -232.50 57.50 152.50 0.228961 -232.50 57.50 157.50 0.348195 -232.50 57.50 162.50 0.530182 -232.50 57.50 167.50 0.659596 -232.50 57.50 172.50 0.702082 -232.50 57.50 177.50 0.648959 -232.50 57.50 182.50 0.728261 -232.50 57.50 187.50 0.776922 -232.50 57.50 192.50 0.83093 -232.50 57.50 197.50 0.886594 -232.50 57.50 202.50 0.841224 -232.50 57.50 207.50 0.662421 -232.50 57.50 212.50 0.461696 -232.50 57.50 217.50 0.23898 -232.50 57.50 222.50 0.0984555 -232.50 57.50 227.50 0.0521243 -232.50 57.50 232.50 0.0554555 -232.50 57.50 237.50 0.115169 -232.50 57.50 242.50 0.228961 -232.50 57.50 247.50 0.348195 -232.50 57.50 252.50 0.530183 -232.50 57.50 257.50 0.659596 -232.50 57.50 262.50 0.702081 -232.50 57.50 267.50 0.648959 -232.50 57.50 272.50 0.728262 -232.50 57.50 277.50 0.776922 -232.50 57.50 282.50 0.830931 -232.50 57.50 287.50 0.886594 -232.50 57.50 292.50 0.841225 -232.50 57.50 297.50 0.662421 -232.50 57.50 302.50 0.461697 -232.50 57.50 307.50 0.23898 -232.50 57.50 312.50 0.0984555 -232.50 57.50 317.50 0.0521243 -232.50 57.50 322.50 0.0554552 -232.50 57.50 327.50 0.115169 -232.50 57.50 332.50 0.228961 -232.50 57.50 337.50 0.348194 -232.50 57.50 342.50 0.530182 -232.50 57.50 347.50 0.659595 -232.50 57.50 352.50 0.702081 -232.50 57.50 357.50 0.64896 -232.50 62.50 2.50 0.674571 -232.50 62.50 7.50 1.00263 -232.50 62.50 12.50 1.32801 -232.50 62.50 17.50 1.6142 -232.50 62.50 22.50 1.77647 -232.50 62.50 27.50 1.69099 -232.50 62.50 32.50 1.32349 -232.50 62.50 37.50 0.815867 -232.50 62.50 42.50 0.377147 -232.50 62.50 47.50 0.169935 -232.50 62.50 52.50 0.0966426 -232.50 62.50 57.50 0.0675346 -232.50 62.50 62.50 0.0696792 -232.50 62.50 67.50 0.0868904 -232.50 62.50 72.50 0.129092 -232.50 62.50 77.50 0.20877 -232.50 62.50 82.50 0.309995 -232.50 62.50 87.50 0.413683 -232.50 62.50 92.50 0.674572 -232.50 62.50 97.50 1.00263 -232.50 62.50 102.50 1.32801 -232.50 62.50 107.50 1.6142 -232.50 62.50 112.50 1.77647 -232.50 62.50 117.50 1.69099 -232.50 62.50 122.50 1.32349 -232.50 62.50 127.50 0.815866 -232.50 62.50 132.50 0.377147 -232.50 62.50 137.50 0.169935 -232.50 62.50 142.50 0.0966426 -232.50 62.50 147.50 0.0675347 -232.50 62.50 152.50 0.0696792 -232.50 62.50 157.50 0.0868904 -232.50 62.50 162.50 0.129092 -232.50 62.50 167.50 0.20877 -232.50 62.50 172.50 0.309995 -232.50 62.50 177.50 0.413683 -232.50 62.50 182.50 0.674572 -232.50 62.50 187.50 1.00263 -232.50 62.50 192.50 1.32801 -232.50 62.50 197.50 1.6142 -232.50 62.50 202.50 1.77647 -232.50 62.50 207.50 1.69099 -232.50 62.50 212.50 1.32349 -232.50 62.50 217.50 0.815866 -232.50 62.50 222.50 0.377147 -232.50 62.50 227.50 0.169936 -232.50 62.50 232.50 0.0966425 -232.50 62.50 237.50 0.0675347 -232.50 62.50 242.50 0.0696793 -232.50 62.50 247.50 0.0868904 -232.50 62.50 252.50 0.129092 -232.50 62.50 257.50 0.20877 -232.50 62.50 262.50 0.309995 -232.50 62.50 267.50 0.413683 -232.50 62.50 272.50 0.674571 -232.50 62.50 277.50 1.00263 -232.50 62.50 282.50 1.32801 -232.50 62.50 287.50 1.6142 -232.50 62.50 292.50 1.77647 -232.50 62.50 297.50 1.69099 -232.50 62.50 302.50 1.32349 -232.50 62.50 307.50 0.815867 -232.50 62.50 312.50 0.377147 -232.50 62.50 317.50 0.169936 -232.50 62.50 322.50 0.0966427 -232.50 62.50 327.50 0.0675347 -232.50 62.50 332.50 0.0696792 -232.50 62.50 337.50 0.0868903 -232.50 62.50 342.50 0.129092 -232.50 62.50 347.50 0.20877 -232.50 62.50 352.50 0.309994 -232.50 62.50 357.50 0.413683 -232.50 67.50 2.50 0.558756 -232.50 67.50 7.50 1.02867 -232.50 67.50 12.50 1.62736 -232.50 67.50 17.50 2.35769 -232.50 67.50 22.50 3.0666 -232.50 67.50 27.50 3.30371 -232.50 67.50 32.50 2.79687 -232.50 67.50 37.50 1.94523 -232.50 67.50 42.50 1.0852 -232.50 67.50 47.50 0.504637 -232.50 67.50 52.50 0.223059 -232.50 67.50 57.50 0.0950842 -232.50 67.50 62.50 0.0329186 -232.50 67.50 67.50 0.0154909 -232.50 67.50 72.50 0.0236979 -232.50 67.50 77.50 0.059493 -232.50 67.50 82.50 0.131129 -232.50 67.50 87.50 0.259395 -232.50 67.50 92.50 0.558756 -232.50 67.50 97.50 1.02867 -232.50 67.50 102.50 1.62736 -232.50 67.50 107.50 2.35769 -232.50 67.50 112.50 3.0666 -232.50 67.50 117.50 3.30371 -232.50 67.50 122.50 2.79687 -232.50 67.50 127.50 1.94523 -232.50 67.50 132.50 1.0852 -232.50 67.50 137.50 0.504637 -232.50 67.50 142.50 0.223059 -232.50 67.50 147.50 0.0950842 -232.50 67.50 152.50 0.0329186 -232.50 67.50 157.50 0.0154909 -232.50 67.50 162.50 0.0236979 -232.50 67.50 167.50 0.0594931 -232.50 67.50 172.50 0.131129 -232.50 67.50 177.50 0.259395 -232.50 67.50 182.50 0.558756 -232.50 67.50 187.50 1.02867 -232.50 67.50 192.50 1.62736 -232.50 67.50 197.50 2.35769 -232.50 67.50 202.50 3.0666 -232.50 67.50 207.50 3.30371 -232.50 67.50 212.50 2.79687 -232.50 67.50 217.50 1.94523 -232.50 67.50 222.50 1.0852 -232.50 67.50 227.50 0.504637 -232.50 67.50 232.50 0.223059 -232.50 67.50 237.50 0.095084 -232.50 67.50 242.50 0.0329186 -232.50 67.50 247.50 0.0154909 -232.50 67.50 252.50 0.0236979 -232.50 67.50 257.50 0.0594931 -232.50 67.50 262.50 0.131129 -232.50 67.50 267.50 0.259396 -232.50 67.50 272.50 0.558756 -232.50 67.50 277.50 1.02867 -232.50 67.50 282.50 1.62736 -232.50 67.50 287.50 2.35769 -232.50 67.50 292.50 3.0666 -232.50 67.50 297.50 3.30371 -232.50 67.50 302.50 2.79687 -232.50 67.50 307.50 1.94523 -232.50 67.50 312.50 1.0852 -232.50 67.50 317.50 0.504637 -232.50 67.50 322.50 0.223059 -232.50 67.50 327.50 0.0950843 -232.50 67.50 332.50 0.0329186 -232.50 67.50 337.50 0.0154909 -232.50 67.50 342.50 0.0236979 -232.50 67.50 347.50 0.059493 -232.50 67.50 352.50 0.131129 -232.50 67.50 357.50 0.259395 -232.50 72.50 2.50 0.431719 -232.50 72.50 7.50 0.884318 -232.50 72.50 12.50 1.64508 -232.50 72.50 17.50 2.78633 -232.50 72.50 22.50 4.10632 -232.50 72.50 27.50 4.68107 -232.50 72.50 32.50 4.36541 -232.50 72.50 37.50 3.4516 -232.50 72.50 42.50 2.17709 -232.50 72.50 47.50 1.09353 -232.50 72.50 52.50 0.456806 -232.50 72.50 57.50 0.16299 -232.50 72.50 62.50 0.0509298 -232.50 72.50 67.50 0.0130062 -232.50 72.50 72.50 0.00961199 -232.50 72.50 77.50 0.0277193 -232.50 72.50 82.50 0.0853451 -232.50 72.50 87.50 0.187455 -232.50 72.50 92.50 0.431719 -232.50 72.50 97.50 0.884318 -232.50 72.50 102.50 1.64508 -232.50 72.50 107.50 2.78633 -232.50 72.50 112.50 4.10632 -232.50 72.50 117.50 4.68107 -232.50 72.50 122.50 4.36541 -232.50 72.50 127.50 3.4516 -232.50 72.50 132.50 2.17709 -232.50 72.50 137.50 1.09353 -232.50 72.50 142.50 0.456806 -232.50 72.50 147.50 0.162991 -232.50 72.50 152.50 0.0509299 -232.50 72.50 157.50 0.0130063 -232.50 72.50 162.50 0.00961199 -232.50 72.50 167.50 0.0277192 -232.50 72.50 172.50 0.0853451 -232.50 72.50 177.50 0.187455 -232.50 72.50 182.50 0.431719 -232.50 72.50 187.50 0.884318 -232.50 72.50 192.50 1.64508 -232.50 72.50 197.50 2.78633 -232.50 72.50 202.50 4.10632 -232.50 72.50 207.50 4.68107 -232.50 72.50 212.50 4.36541 -232.50 72.50 217.50 3.4516 -232.50 72.50 222.50 2.17709 -232.50 72.50 227.50 1.09353 -232.50 72.50 232.50 0.456805 -232.50 72.50 237.50 0.16299 -232.50 72.50 242.50 0.0509297 -232.50 72.50 247.50 0.0130062 -232.50 72.50 252.50 0.009612 -232.50 72.50 257.50 0.0277193 -232.50 72.50 262.50 0.0853453 -232.50 72.50 267.50 0.187455 -232.50 72.50 272.50 0.431719 -232.50 72.50 277.50 0.884318 -232.50 72.50 282.50 1.64508 -232.50 72.50 287.50 2.78633 -232.50 72.50 292.50 4.10632 -232.50 72.50 297.50 4.68107 -232.50 72.50 302.50 4.36541 -232.50 72.50 307.50 3.4516 -232.50 72.50 312.50 2.17709 -232.50 72.50 317.50 1.09353 -232.50 72.50 322.50 0.456807 -232.50 72.50 327.50 0.162991 -232.50 72.50 332.50 0.0509301 -232.50 72.50 337.50 0.0130063 -232.50 72.50 342.50 0.00961199 -232.50 72.50 347.50 0.0277192 -232.50 72.50 352.50 0.0853449 -232.50 72.50 357.50 0.187455 -232.50 77.50 2.50 0.338201 -232.50 77.50 7.50 0.73616 -232.50 77.50 12.50 1.44413 -232.50 77.50 17.50 2.73288 -232.50 77.50 22.50 4.17443 -232.50 77.50 27.50 5.10879 -232.50 77.50 32.50 5.19463 -232.50 77.50 37.50 4.33102 -232.50 77.50 42.50 3.12333 -232.50 77.50 47.50 1.88771 -232.50 77.50 52.50 0.973891 -232.50 77.50 57.50 0.421262 -232.50 77.50 62.50 0.147111 -232.50 77.50 67.50 0.0478692 -232.50 77.50 72.50 0.0263765 -232.50 77.50 77.50 0.0376966 -232.50 77.50 82.50 0.0790087 -232.50 77.50 87.50 0.178607 -232.50 77.50 92.50 0.338201 -232.50 77.50 97.50 0.73616 -232.50 77.50 102.50 1.44413 -232.50 77.50 107.50 2.73288 -232.50 77.50 112.50 4.17443 -232.50 77.50 117.50 5.10879 -232.50 77.50 122.50 5.19463 -232.50 77.50 127.50 4.33102 -232.50 77.50 132.50 3.12333 -232.50 77.50 137.50 1.88771 -232.50 77.50 142.50 0.973891 -232.50 77.50 147.50 0.421262 -232.50 77.50 152.50 0.147111 -232.50 77.50 157.50 0.0478693 -232.50 77.50 162.50 0.0263765 -232.50 77.50 167.50 0.0376965 -232.50 77.50 172.50 0.0790086 -232.50 77.50 177.50 0.178607 -232.50 77.50 182.50 0.338201 -232.50 77.50 187.50 0.73616 -232.50 77.50 192.50 1.44413 -232.50 77.50 197.50 2.73288 -232.50 77.50 202.50 4.17443 -232.50 77.50 207.50 5.10879 -232.50 77.50 212.50 5.19463 -232.50 77.50 217.50 4.33102 -232.50 77.50 222.50 3.12333 -232.50 77.50 227.50 1.88771 -232.50 77.50 232.50 0.973889 -232.50 77.50 237.50 0.421261 -232.50 77.50 242.50 0.147111 -232.50 77.50 247.50 0.0478692 -232.50 77.50 252.50 0.0263765 -232.50 77.50 257.50 0.0376966 -232.50 77.50 262.50 0.0790087 -232.50 77.50 267.50 0.178607 -232.50 77.50 272.50 0.338201 -232.50 77.50 277.50 0.73616 -232.50 77.50 282.50 1.44413 -232.50 77.50 287.50 2.73288 -232.50 77.50 292.50 4.17443 -232.50 77.50 297.50 5.10879 -232.50 77.50 302.50 5.19463 -232.50 77.50 307.50 4.33102 -232.50 77.50 312.50 3.12333 -232.50 77.50 317.50 1.88771 -232.50 77.50 322.50 0.973892 -232.50 77.50 327.50 0.421263 -232.50 77.50 332.50 0.147112 -232.50 77.50 337.50 0.0478693 -232.50 77.50 342.50 0.0263765 -232.50 77.50 347.50 0.0376965 -232.50 77.50 352.50 0.0790085 -232.50 77.50 357.50 0.178607 -232.50 82.50 2.50 0.239625 -232.50 82.50 7.50 0.55432 -232.50 82.50 12.50 1.13893 -232.50 82.50 17.50 2.09991 -232.50 82.50 22.50 3.30358 -232.50 82.50 27.50 4.46684 -232.50 82.50 32.50 4.91499 -232.50 82.50 37.50 4.50362 -232.50 82.50 42.50 3.5167 -232.50 82.50 47.50 2.4979 -232.50 82.50 52.50 1.60633 -232.50 82.50 57.50 0.859531 -232.50 82.50 62.50 0.393791 -232.50 82.50 67.50 0.176318 -232.50 82.50 72.50 0.0927869 -232.50 82.50 77.50 0.0700692 -232.50 82.50 82.50 0.0772341 -232.50 82.50 87.50 0.125546 -232.50 82.50 92.50 0.239625 -232.50 82.50 97.50 0.55432 -232.50 82.50 102.50 1.13893 -232.50 82.50 107.50 2.0999 -232.50 82.50 112.50 3.30358 -232.50 82.50 117.50 4.46684 -232.50 82.50 122.50 4.91499 -232.50 82.50 127.50 4.50362 -232.50 82.50 132.50 3.5167 -232.50 82.50 137.50 2.4979 -232.50 82.50 142.50 1.60633 -232.50 82.50 147.50 0.859531 -232.50 82.50 152.50 0.393791 -232.50 82.50 157.50 0.176318 -232.50 82.50 162.50 0.0927869 -232.50 82.50 167.50 0.0700692 -232.50 82.50 172.50 0.0772341 -232.50 82.50 177.50 0.125546 -232.50 82.50 182.50 0.239625 -232.50 82.50 187.50 0.55432 -232.50 82.50 192.50 1.13893 -232.50 82.50 197.50 2.0999 -232.50 82.50 202.50 3.30358 -232.50 82.50 207.50 4.46684 -232.50 82.50 212.50 4.91499 -232.50 82.50 217.50 4.50362 -232.50 82.50 222.50 3.5167 -232.50 82.50 227.50 2.4979 -232.50 82.50 232.50 1.60633 -232.50 82.50 237.50 0.859529 -232.50 82.50 242.50 0.393791 -232.50 82.50 247.50 0.176318 -232.50 82.50 252.50 0.0927868 -232.50 82.50 257.50 0.0700692 -232.50 82.50 262.50 0.0772342 -232.50 82.50 267.50 0.125546 -232.50 82.50 272.50 0.239625 -232.50 82.50 277.50 0.55432 -232.50 82.50 282.50 1.13893 -232.50 82.50 287.50 2.0999 -232.50 82.50 292.50 3.30358 -232.50 82.50 297.50 4.46684 -232.50 82.50 302.50 4.91499 -232.50 82.50 307.50 4.50362 -232.50 82.50 312.50 3.5167 -232.50 82.50 317.50 2.4979 -232.50 82.50 322.50 1.60633 -232.50 82.50 327.50 0.859532 -232.50 82.50 332.50 0.393792 -232.50 82.50 337.50 0.176319 -232.50 82.50 342.50 0.0927871 -232.50 82.50 347.50 0.0700692 -232.50 82.50 352.50 0.0772341 -232.50 82.50 357.50 0.125545 -232.50 87.50 2.50 0.132069 -232.50 87.50 7.50 0.309184 -232.50 87.50 12.50 0.659936 -232.50 87.50 17.50 1.1883 -232.50 87.50 22.50 2.08425 -232.50 87.50 27.50 3.15089 -232.50 87.50 32.50 3.86455 -232.50 87.50 37.50 3.91893 -232.50 87.50 42.50 3.477 -232.50 87.50 47.50 2.84468 -232.50 87.50 52.50 2.16789 -232.50 87.50 57.50 1.51502 -232.50 87.50 62.50 0.958483 -232.50 87.50 67.50 0.555858 -232.50 87.50 72.50 0.313855 -232.50 87.50 77.50 0.185422 -232.50 87.50 82.50 0.101098 -232.50 87.50 87.50 0.079334 -232.50 87.50 92.50 0.132069 -232.50 87.50 97.50 0.309185 -232.50 87.50 102.50 0.659937 -232.50 87.50 107.50 1.1883 -232.50 87.50 112.50 2.08426 -232.50 87.50 117.50 3.15089 -232.50 87.50 122.50 3.86455 -232.50 87.50 127.50 3.91893 -232.50 87.50 132.50 3.477 -232.50 87.50 137.50 2.84468 -232.50 87.50 142.50 2.16789 -232.50 87.50 147.50 1.51502 -232.50 87.50 152.50 0.958484 -232.50 87.50 157.50 0.555858 -232.50 87.50 162.50 0.313856 -232.50 87.50 167.50 0.185422 -232.50 87.50 172.50 0.101098 -232.50 87.50 177.50 0.079334 -232.50 87.50 182.50 0.132069 -232.50 87.50 187.50 0.309185 -232.50 87.50 192.50 0.659937 -232.50 87.50 197.50 1.1883 -232.50 87.50 202.50 2.08426 -232.50 87.50 207.50 3.15089 -232.50 87.50 212.50 3.86455 -232.50 87.50 217.50 3.91893 -232.50 87.50 222.50 3.477 -232.50 87.50 227.50 2.84468 -232.50 87.50 232.50 2.16789 -232.50 87.50 237.50 1.51502 -232.50 87.50 242.50 0.958482 -232.50 87.50 247.50 0.555858 -232.50 87.50 252.50 0.313855 -232.50 87.50 257.50 0.185422 -232.50 87.50 262.50 0.101097 -232.50 87.50 267.50 0.0793339 -232.50 87.50 272.50 0.132069 -232.50 87.50 277.50 0.309184 -232.50 87.50 282.50 0.659936 -232.50 87.50 287.50 1.1883 -232.50 87.50 292.50 2.08426 -232.50 87.50 297.50 3.15089 -232.50 87.50 302.50 3.86455 -232.50 87.50 307.50 3.91893 -232.50 87.50 312.50 3.477 -232.50 87.50 317.50 2.84468 -232.50 87.50 322.50 2.1679 -232.50 87.50 327.50 1.51503 -232.50 87.50 332.50 0.958484 -232.50 87.50 337.50 0.555859 -232.50 87.50 342.50 0.313856 -232.50 87.50 347.50 0.185422 -232.50 87.50 352.50 0.101098 -232.50 87.50 357.50 0.0793339 -232.50 92.50 2.50 0.083846 -232.50 92.50 7.50 0.12541 -232.50 92.50 12.50 0.244555 -232.50 92.50 17.50 0.460876 -232.50 92.50 22.50 0.865462 -232.50 92.50 27.50 1.46809 -232.50 92.50 32.50 2.09891 -232.50 92.50 37.50 2.5719 -232.50 92.50 42.50 2.82217 -232.50 92.50 47.50 2.89161 -232.50 92.50 52.50 2.82217 -232.50 92.50 57.50 2.57191 -232.50 92.50 62.50 2.09891 -232.50 92.50 67.50 1.46809 -232.50 92.50 72.50 0.865462 -232.50 92.50 77.50 0.460877 -232.50 92.50 82.50 0.244556 -232.50 92.50 87.50 0.12541 -232.50 92.50 92.50 0.083846 -232.50 92.50 97.50 0.12541 -232.50 92.50 102.50 0.244556 -232.50 92.50 107.50 0.460877 -232.50 92.50 112.50 0.865462 -232.50 92.50 117.50 1.46809 -232.50 92.50 122.50 2.09891 -232.50 92.50 127.50 2.5719 -232.50 92.50 132.50 2.82218 -232.50 92.50 137.50 2.89161 -232.50 92.50 142.50 2.82218 -232.50 92.50 147.50 2.5719 -232.50 92.50 152.50 2.09891 -232.50 92.50 157.50 1.46809 -232.50 92.50 162.50 0.865463 -232.50 92.50 167.50 0.460877 -232.50 92.50 172.50 0.244556 -232.50 92.50 177.50 0.12541 -232.50 92.50 182.50 0.083846 -232.50 92.50 187.50 0.12541 -232.50 92.50 192.50 0.244556 -232.50 92.50 197.50 0.460877 -232.50 92.50 202.50 0.865463 -232.50 92.50 207.50 1.46809 -232.50 92.50 212.50 2.09891 -232.50 92.50 217.50 2.5719 -232.50 92.50 222.50 2.82217 -232.50 92.50 227.50 2.89161 -232.50 92.50 232.50 2.82217 -232.50 92.50 237.50 2.5719 -232.50 92.50 242.50 2.09891 -232.50 92.50 247.50 1.46809 -232.50 92.50 252.50 0.865461 -232.50 92.50 257.50 0.460876 -232.50 92.50 262.50 0.244555 -232.50 92.50 267.50 0.12541 -232.50 92.50 272.50 0.083846 -232.50 92.50 277.50 0.12541 -232.50 92.50 282.50 0.244556 -232.50 92.50 287.50 0.460877 -232.50 92.50 292.50 0.865462 -232.50 92.50 297.50 1.46809 -232.50 92.50 302.50 2.09891 -232.50 92.50 307.50 2.5719 -232.50 92.50 312.50 2.82217 -232.50 92.50 317.50 2.89161 -232.50 92.50 322.50 2.82218 -232.50 92.50 327.50 2.57191 -232.50 92.50 332.50 2.09891 -232.50 92.50 337.50 1.46809 -232.50 92.50 342.50 0.865464 -232.50 92.50 347.50 0.460878 -232.50 92.50 352.50 0.244556 -232.50 92.50 357.50 0.12541 -232.50 97.50 2.50 0.132069 -232.50 97.50 7.50 0.0793339 -232.50 97.50 12.50 0.101097 -232.50 97.50 17.50 0.185422 -232.50 97.50 22.50 0.313855 -232.50 97.50 27.50 0.555858 -232.50 97.50 32.50 0.958483 -232.50 97.50 37.50 1.51502 -232.50 97.50 42.50 2.1679 -232.50 97.50 47.50 2.84469 -232.50 97.50 52.50 3.477 -232.50 97.50 57.50 3.91893 -232.50 97.50 62.50 3.86455 -232.50 97.50 67.50 3.15088 -232.50 97.50 72.50 2.08425 -232.50 97.50 77.50 1.1883 -232.50 97.50 82.50 0.659936 -232.50 97.50 87.50 0.309184 -232.50 97.50 92.50 0.132069 -232.50 97.50 97.50 0.0793339 -232.50 97.50 102.50 0.101098 -232.50 97.50 107.50 0.185422 -232.50 97.50 112.50 0.313856 -232.50 97.50 117.50 0.555858 -232.50 97.50 122.50 0.958485 -232.50 97.50 127.50 1.51502 -232.50 97.50 132.50 2.1679 -232.50 97.50 137.50 2.84469 -232.50 97.50 142.50 3.477 -232.50 97.50 147.50 3.91893 -232.50 97.50 152.50 3.86455 -232.50 97.50 157.50 3.15089 -232.50 97.50 162.50 2.08426 -232.50 97.50 167.50 1.1883 -232.50 97.50 172.50 0.659937 -232.50 97.50 177.50 0.309185 -232.50 97.50 182.50 0.132069 -232.50 97.50 187.50 0.079334 -232.50 97.50 192.50 0.101098 -232.50 97.50 197.50 0.185422 -232.50 97.50 202.50 0.313856 -232.50 97.50 207.50 0.555858 -232.50 97.50 212.50 0.958484 -232.50 97.50 217.50 1.51502 -232.50 97.50 222.50 2.1679 -232.50 97.50 227.50 2.84469 -232.50 97.50 232.50 3.477 -232.50 97.50 237.50 3.91893 -232.50 97.50 242.50 3.86455 -232.50 97.50 247.50 3.15088 -232.50 97.50 252.50 2.08425 -232.50 97.50 257.50 1.1883 -232.50 97.50 262.50 0.659935 -232.50 97.50 267.50 0.309184 -232.50 97.50 272.50 0.132069 -232.50 97.50 277.50 0.0793339 -232.50 97.50 282.50 0.101098 -232.50 97.50 287.50 0.185422 -232.50 97.50 292.50 0.313856 -232.50 97.50 297.50 0.555858 -232.50 97.50 302.50 0.958483 -232.50 97.50 307.50 1.51502 -232.50 97.50 312.50 2.1679 -232.50 97.50 317.50 2.84469 -232.50 97.50 322.50 3.477 -232.50 97.50 327.50 3.91893 -232.50 97.50 332.50 3.86455 -232.50 97.50 337.50 3.15089 -232.50 97.50 342.50 2.08426 -232.50 97.50 347.50 1.1883 -232.50 97.50 352.50 0.659937 -232.50 97.50 357.50 0.309185 -232.50 102.50 2.50 0.239625 -232.50 102.50 7.50 0.125546 -232.50 102.50 12.50 0.0772341 -232.50 102.50 17.50 0.0700692 -232.50 102.50 22.50 0.0927868 -232.50 102.50 27.50 0.176318 -232.50 102.50 32.50 0.393791 -232.50 102.50 37.50 0.859531 -232.50 102.50 42.50 1.60633 -232.50 102.50 47.50 2.4979 -232.50 102.50 52.50 3.5167 -232.50 102.50 57.50 4.50362 -232.50 102.50 62.50 4.91499 -232.50 102.50 67.50 4.46684 -232.50 102.50 72.50 3.30358 -232.50 102.50 77.50 2.0999 -232.50 102.50 82.50 1.13893 -232.50 102.50 87.50 0.55432 -232.50 102.50 92.50 0.239625 -232.50 102.50 97.50 0.125546 -232.50 102.50 102.50 0.0772341 -232.50 102.50 107.50 0.0700693 -232.50 102.50 112.50 0.0927869 -232.50 102.50 117.50 0.176319 -232.50 102.50 122.50 0.393792 -232.50 102.50 127.50 0.859532 -232.50 102.50 132.50 1.60633 -232.50 102.50 137.50 2.4979 -232.50 102.50 142.50 3.5167 -232.50 102.50 147.50 4.50362 -232.50 102.50 152.50 4.91499 -232.50 102.50 157.50 4.46684 -232.50 102.50 162.50 3.30358 -232.50 102.50 167.50 2.0999 -232.50 102.50 172.50 1.13893 -232.50 102.50 177.50 0.55432 -232.50 102.50 182.50 0.239625 -232.50 102.50 187.50 0.125545 -232.50 102.50 192.50 0.0772341 -232.50 102.50 197.50 0.0700693 -232.50 102.50 202.50 0.092787 -232.50 102.50 207.50 0.176318 -232.50 102.50 212.50 0.393791 -232.50 102.50 217.50 0.859531 -232.50 102.50 222.50 1.60633 -232.50 102.50 227.50 2.4979 -232.50 102.50 232.50 3.5167 -232.50 102.50 237.50 4.50362 -232.50 102.50 242.50 4.91499 -232.50 102.50 247.50 4.46683 -232.50 102.50 252.50 3.30358 -232.50 102.50 257.50 2.0999 -232.50 102.50 262.50 1.13893 -232.50 102.50 267.50 0.55432 -232.50 102.50 272.50 0.239625 -232.50 102.50 277.50 0.125546 -232.50 102.50 282.50 0.0772341 -232.50 102.50 287.50 0.0700692 -232.50 102.50 292.50 0.0927869 -232.50 102.50 297.50 0.176318 -232.50 102.50 302.50 0.393791 -232.50 102.50 307.50 0.85953 -232.50 102.50 312.50 1.60633 -232.50 102.50 317.50 2.4979 -232.50 102.50 322.50 3.51669 -232.50 102.50 327.50 4.50362 -232.50 102.50 332.50 4.91499 -232.50 102.50 337.50 4.46684 -232.50 102.50 342.50 3.30359 -232.50 102.50 347.50 2.09991 -232.50 102.50 352.50 1.13893 -232.50 102.50 357.50 0.554321 -232.50 107.50 2.50 0.338201 -232.50 107.50 7.50 0.178607 -232.50 107.50 12.50 0.0790086 -232.50 107.50 17.50 0.0376966 -232.50 107.50 22.50 0.0263765 -232.50 107.50 27.50 0.0478693 -232.50 107.50 32.50 0.147111 -232.50 107.50 37.50 0.421263 -232.50 107.50 42.50 0.973891 -232.50 107.50 47.50 1.88771 -232.50 107.50 52.50 3.12333 -232.50 107.50 57.50 4.33103 -232.50 107.50 62.50 5.19463 -232.50 107.50 67.50 5.10879 -232.50 107.50 72.50 4.17443 -232.50 107.50 77.50 2.73288 -232.50 107.50 82.50 1.44413 -232.50 107.50 87.50 0.736159 -232.50 107.50 92.50 0.3382 -232.50 107.50 97.50 0.178607 -232.50 107.50 102.50 0.0790086 -232.50 107.50 107.50 0.0376966 -232.50 107.50 112.50 0.0263765 -232.50 107.50 117.50 0.0478694 -232.50 107.50 122.50 0.147112 -232.50 107.50 127.50 0.421263 -232.50 107.50 132.50 0.973892 -232.50 107.50 137.50 1.88771 -232.50 107.50 142.50 3.12333 -232.50 107.50 147.50 4.33102 -232.50 107.50 152.50 5.19463 -232.50 107.50 157.50 5.10878 -232.50 107.50 162.50 4.17443 -232.50 107.50 167.50 2.73288 -232.50 107.50 172.50 1.44413 -232.50 107.50 177.50 0.73616 -232.50 107.50 182.50 0.3382 -232.50 107.50 187.50 0.178607 -232.50 107.50 192.50 0.0790086 -232.50 107.50 197.50 0.0376965 -232.50 107.50 202.50 0.0263765 -232.50 107.50 207.50 0.0478693 -232.50 107.50 212.50 0.147111 -232.50 107.50 217.50 0.421262 -232.50 107.50 222.50 0.973891 -232.50 107.50 227.50 1.88771 -232.50 107.50 232.50 3.12333 -232.50 107.50 237.50 4.33103 -232.50 107.50 242.50 5.19463 -232.50 107.50 247.50 5.10878 -232.50 107.50 252.50 4.17443 -232.50 107.50 257.50 2.73288 -232.50 107.50 262.50 1.44413 -232.50 107.50 267.50 0.736158 -232.50 107.50 272.50 0.3382 -232.50 107.50 277.50 0.178607 -232.50 107.50 282.50 0.0790086 -232.50 107.50 287.50 0.0376965 -232.50 107.50 292.50 0.0263765 -232.50 107.50 297.50 0.0478692 -232.50 107.50 302.50 0.147111 -232.50 107.50 307.50 0.421262 -232.50 107.50 312.50 0.97389 -232.50 107.50 317.50 1.88771 -232.50 107.50 322.50 3.12333 -232.50 107.50 327.50 4.33102 -232.50 107.50 332.50 5.19463 -232.50 107.50 337.50 5.10878 -232.50 107.50 342.50 4.17444 -232.50 107.50 347.50 2.73289 -232.50 107.50 352.50 1.44414 -232.50 107.50 357.50 0.736162 -232.50 112.50 2.50 0.431719 -232.50 112.50 7.50 0.187455 -232.50 112.50 12.50 0.0853451 -232.50 112.50 17.50 0.0277193 -232.50 112.50 22.50 0.009612 -232.50 112.50 27.50 0.0130062 -232.50 112.50 32.50 0.0509299 -232.50 112.50 37.50 0.162991 -232.50 112.50 42.50 0.456806 -232.50 112.50 47.50 1.09353 -232.50 112.50 52.50 2.17709 -232.50 112.50 57.50 3.4516 -232.50 112.50 62.50 4.36541 -232.50 112.50 67.50 4.68107 -232.50 112.50 72.50 4.10632 -232.50 112.50 77.50 2.78633 -232.50 112.50 82.50 1.64508 -232.50 112.50 87.50 0.884318 -232.50 112.50 92.50 0.431718 -232.50 112.50 97.50 0.187455 -232.50 112.50 102.50 0.0853451 -232.50 112.50 107.50 0.0277193 -232.50 112.50 112.50 0.009612 -232.50 112.50 117.50 0.0130063 -232.50 112.50 122.50 0.05093 -232.50 112.50 127.50 0.162991 -232.50 112.50 132.50 0.456807 -232.50 112.50 137.50 1.09353 -232.50 112.50 142.50 2.17709 -232.50 112.50 147.50 3.4516 -232.50 112.50 152.50 4.36541 -232.50 112.50 157.50 4.68107 -232.50 112.50 162.50 4.10632 -232.50 112.50 167.50 2.78633 -232.50 112.50 172.50 1.64508 -232.50 112.50 177.50 0.884318 -232.50 112.50 182.50 0.431718 -232.50 112.50 187.50 0.187455 -232.50 112.50 192.50 0.0853451 -232.50 112.50 197.50 0.0277192 -232.50 112.50 202.50 0.009612 -232.50 112.50 207.50 0.0130062 -232.50 112.50 212.50 0.0509299 -232.50 112.50 217.50 0.162991 -232.50 112.50 222.50 0.456806 -232.50 112.50 227.50 1.09353 -232.50 112.50 232.50 2.1771 -232.50 112.50 237.50 3.45161 -232.50 112.50 242.50 4.36541 -232.50 112.50 247.50 4.68107 -232.50 112.50 252.50 4.10632 -232.50 112.50 257.50 2.78633 -232.50 112.50 262.50 1.64508 -232.50 112.50 267.50 0.884317 -232.50 112.50 272.50 0.431718 -232.50 112.50 277.50 0.187455 -232.50 112.50 282.50 0.0853451 -232.50 112.50 287.50 0.0277193 -232.50 112.50 292.50 0.009612 -232.50 112.50 297.50 0.0130062 -232.50 112.50 302.50 0.0509298 -232.50 112.50 307.50 0.16299 -232.50 112.50 312.50 0.456805 -232.50 112.50 317.50 1.09353 -232.50 112.50 322.50 2.17709 -232.50 112.50 327.50 3.4516 -232.50 112.50 332.50 4.36541 -232.50 112.50 337.50 4.68107 -232.50 112.50 342.50 4.10633 -232.50 112.50 347.50 2.78634 -232.50 112.50 352.50 1.64508 -232.50 112.50 357.50 0.884319 -232.50 117.50 2.50 0.558756 -232.50 117.50 7.50 0.259395 -232.50 117.50 12.50 0.131129 -232.50 117.50 17.50 0.0594931 -232.50 117.50 22.50 0.023698 -232.50 117.50 27.50 0.0154909 -232.50 117.50 32.50 0.0329187 -232.50 117.50 37.50 0.0950842 -232.50 117.50 42.50 0.223059 -232.50 117.50 47.50 0.504637 -232.50 117.50 52.50 1.0852 -232.50 117.50 57.50 1.94523 -232.50 117.50 62.50 2.79687 -232.50 117.50 67.50 3.30371 -232.50 117.50 72.50 3.0666 -232.50 117.50 77.50 2.35769 -232.50 117.50 82.50 1.62736 -232.50 117.50 87.50 1.02867 -232.50 117.50 92.50 0.558756 -232.50 117.50 97.50 0.259395 -232.50 117.50 102.50 0.131129 -232.50 117.50 107.50 0.0594931 -232.50 117.50 112.50 0.0236979 -232.50 117.50 117.50 0.0154909 -232.50 117.50 122.50 0.0329187 -232.50 117.50 127.50 0.0950842 -232.50 117.50 132.50 0.223059 -232.50 117.50 137.50 0.504637 -232.50 117.50 142.50 1.0852 -232.50 117.50 147.50 1.94523 -232.50 117.50 152.50 2.79687 -232.50 117.50 157.50 3.30371 -232.50 117.50 162.50 3.06659 -232.50 117.50 167.50 2.35769 -232.50 117.50 172.50 1.62736 -232.50 117.50 177.50 1.02867 -232.50 117.50 182.50 0.558755 -232.50 117.50 187.50 0.259395 -232.50 117.50 192.50 0.131129 -232.50 117.50 197.50 0.0594931 -232.50 117.50 202.50 0.0236979 -232.50 117.50 207.50 0.0154909 -232.50 117.50 212.50 0.0329186 -232.50 117.50 217.50 0.0950841 -232.50 117.50 222.50 0.223059 -232.50 117.50 227.50 0.504636 -232.50 117.50 232.50 1.0852 -232.50 117.50 237.50 1.94523 -232.50 117.50 242.50 2.79687 -232.50 117.50 247.50 3.30371 -232.50 117.50 252.50 3.0666 -232.50 117.50 257.50 2.35769 -232.50 117.50 262.50 1.62736 -232.50 117.50 267.50 1.02867 -232.50 117.50 272.50 0.558756 -232.50 117.50 277.50 0.259395 -232.50 117.50 282.50 0.131129 -232.50 117.50 287.50 0.0594931 -232.50 117.50 292.50 0.023698 -232.50 117.50 297.50 0.0154909 -232.50 117.50 302.50 0.0329186 -232.50 117.50 307.50 0.095084 -232.50 117.50 312.50 0.223059 -232.50 117.50 317.50 0.504636 -232.50 117.50 322.50 1.0852 -232.50 117.50 327.50 1.94522 -232.50 117.50 332.50 2.79687 -232.50 117.50 337.50 3.30371 -232.50 117.50 342.50 3.0666 -232.50 117.50 347.50 2.35769 -232.50 117.50 352.50 1.62736 -232.50 117.50 357.50 1.02867 -232.50 122.50 2.50 0.674571 -232.50 122.50 7.50 0.413683 -232.50 122.50 12.50 0.309995 -232.50 122.50 17.50 0.20877 -232.50 122.50 22.50 0.129092 -232.50 122.50 27.50 0.0868906 -232.50 122.50 32.50 0.0696793 -232.50 122.50 37.50 0.0675347 -232.50 122.50 42.50 0.0966425 -232.50 122.50 47.50 0.169935 -232.50 122.50 52.50 0.377147 -232.50 122.50 57.50 0.815866 -232.50 122.50 62.50 1.32349 -232.50 122.50 67.50 1.69099 -232.50 122.50 72.50 1.77647 -232.50 122.50 77.50 1.6142 -232.50 122.50 82.50 1.328 -232.50 122.50 87.50 1.00263 -232.50 122.50 92.50 0.674571 -232.50 122.50 97.50 0.413683 -232.50 122.50 102.50 0.309995 -232.50 122.50 107.50 0.20877 -232.50 122.50 112.50 0.129092 -232.50 122.50 117.50 0.0868905 -232.50 122.50 122.50 0.0696793 -232.50 122.50 127.50 0.0675347 -232.50 122.50 132.50 0.0966426 -232.50 122.50 137.50 0.169935 -232.50 122.50 142.50 0.377147 -232.50 122.50 147.50 0.815866 -232.50 122.50 152.50 1.32349 -232.50 122.50 157.50 1.69099 -232.50 122.50 162.50 1.77647 -232.50 122.50 167.50 1.6142 -232.50 122.50 172.50 1.328 -232.50 122.50 177.50 1.00263 -232.50 122.50 182.50 0.674571 -232.50 122.50 187.50 0.413683 -232.50 122.50 192.50 0.309995 -232.50 122.50 197.50 0.20877 -232.50 122.50 202.50 0.129092 -232.50 122.50 207.50 0.0868905 -232.50 122.50 212.50 0.0696793 -232.50 122.50 217.50 0.0675347 -232.50 122.50 222.50 0.0966425 -232.50 122.50 227.50 0.169935 -232.50 122.50 232.50 0.377147 -232.50 122.50 237.50 0.815867 -232.50 122.50 242.50 1.32349 -232.50 122.50 247.50 1.69099 -232.50 122.50 252.50 1.77647 -232.50 122.50 257.50 1.6142 -232.50 122.50 262.50 1.328 -232.50 122.50 267.50 1.00263 -232.50 122.50 272.50 0.674571 -232.50 122.50 277.50 0.413683 -232.50 122.50 282.50 0.309995 -232.50 122.50 287.50 0.20877 -232.50 122.50 292.50 0.129092 -232.50 122.50 297.50 0.0868906 -232.50 122.50 302.50 0.0696793 -232.50 122.50 307.50 0.0675347 -232.50 122.50 312.50 0.0966424 -232.50 122.50 317.50 0.169935 -232.50 122.50 322.50 0.377146 -232.50 122.50 327.50 0.815864 -232.50 122.50 332.50 1.32348 -232.50 122.50 337.50 1.69099 -232.50 122.50 342.50 1.77647 -232.50 122.50 347.50 1.6142 -232.50 122.50 352.50 1.32801 -232.50 122.50 357.50 1.00263 -232.50 127.50 2.50 0.728262 -232.50 127.50 7.50 0.648959 -232.50 127.50 12.50 0.702081 -232.50 127.50 17.50 0.659596 -232.50 127.50 22.50 0.530183 -232.50 127.50 27.50 0.348195 -232.50 127.50 32.50 0.228961 -232.50 127.50 37.50 0.115169 -232.50 127.50 42.50 0.0554554 -232.50 127.50 47.50 0.0521243 -232.50 127.50 52.50 0.0984555 -232.50 127.50 57.50 0.23898 -232.50 127.50 62.50 0.461697 -232.50 127.50 67.50 0.662422 -232.50 127.50 72.50 0.841225 -232.50 127.50 77.50 0.886594 -232.50 127.50 82.50 0.830931 -232.50 127.50 87.50 0.776922 -232.50 127.50 92.50 0.728261 -232.50 127.50 97.50 0.648959 -232.50 127.50 102.50 0.702081 -232.50 127.50 107.50 0.659596 -232.50 127.50 112.50 0.530183 -232.50 127.50 117.50 0.348195 -232.50 127.50 122.50 0.228961 -232.50 127.50 127.50 0.115169 -232.50 127.50 132.50 0.0554554 -232.50 127.50 137.50 0.0521243 -232.50 127.50 142.50 0.0984555 -232.50 127.50 147.50 0.23898 -232.50 127.50 152.50 0.461697 -232.50 127.50 157.50 0.662421 -232.50 127.50 162.50 0.841225 -232.50 127.50 167.50 0.886595 -232.50 127.50 172.50 0.830931 -232.50 127.50 177.50 0.776922 -232.50 127.50 182.50 0.728262 -232.50 127.50 187.50 0.648959 -232.50 127.50 192.50 0.702081 -232.50 127.50 197.50 0.659596 -232.50 127.50 202.50 0.530183 -232.50 127.50 207.50 0.348195 -232.50 127.50 212.50 0.228961 -232.50 127.50 217.50 0.115169 -232.50 127.50 222.50 0.0554554 -232.50 127.50 227.50 0.0521242 -232.50 127.50 232.50 0.0984557 -232.50 127.50 237.50 0.23898 -232.50 127.50 242.50 0.461697 -232.50 127.50 247.50 0.662422 -232.50 127.50 252.50 0.841226 -232.50 127.50 257.50 0.886594 -232.50 127.50 262.50 0.830932 -232.50 127.50 267.50 0.776922 -232.50 127.50 272.50 0.728262 -232.50 127.50 277.50 0.648959 -232.50 127.50 282.50 0.702081 -232.50 127.50 287.50 0.659596 -232.50 127.50 292.50 0.530183 -232.50 127.50 297.50 0.348195 -232.50 127.50 302.50 0.228961 -232.50 127.50 307.50 0.115169 -232.50 127.50 312.50 0.0554554 -232.50 127.50 317.50 0.0521242 -232.50 127.50 322.50 0.0984552 -232.50 127.50 327.50 0.23898 -232.50 127.50 332.50 0.461695 -232.50 127.50 337.50 0.66242 -232.50 127.50 342.50 0.841225 -232.50 127.50 347.50 0.886594 -232.50 127.50 352.50 0.830931 -232.50 127.50 357.50 0.776922 -232.50 132.50 2.50 0.744225 -232.50 132.50 7.50 0.958351 -232.50 132.50 12.50 1.30023 -232.50 132.50 17.50 1.56225 -232.50 132.50 22.50 1.47003 -232.50 132.50 27.50 1.04099 -232.50 132.50 32.50 0.632368 -232.50 132.50 37.50 0.33982 -232.50 132.50 42.50 0.128969 -232.50 132.50 47.50 0.0395077 -232.50 132.50 52.50 0.0248605 -232.50 132.50 57.50 0.0546705 -232.50 132.50 62.50 0.120783 -232.50 132.50 67.50 0.223955 -232.50 132.50 72.50 0.328956 -232.50 132.50 77.50 0.355454 -232.50 132.50 82.50 0.410069 -232.50 132.50 87.50 0.522225 -232.50 132.50 92.50 0.744224 -232.50 132.50 97.50 0.95835 -232.50 132.50 102.50 1.30023 -232.50 132.50 107.50 1.56225 -232.50 132.50 112.50 1.47003 -232.50 132.50 117.50 1.04099 -232.50 132.50 122.50 0.632367 -232.50 132.50 127.50 0.33982 -232.50 132.50 132.50 0.128969 -232.50 132.50 137.50 0.0395077 -232.50 132.50 142.50 0.0248604 -232.50 132.50 147.50 0.0546705 -232.50 132.50 152.50 0.120783 -232.50 132.50 157.50 0.223955 -232.50 132.50 162.50 0.328956 -232.50 132.50 167.50 0.355454 -232.50 132.50 172.50 0.410069 -232.50 132.50 177.50 0.522225 -232.50 132.50 182.50 0.744225 -232.50 132.50 187.50 0.958351 -232.50 132.50 192.50 1.30023 -232.50 132.50 197.50 1.56225 -232.50 132.50 202.50 1.47003 -232.50 132.50 207.50 1.04099 -232.50 132.50 212.50 0.632368 -232.50 132.50 217.50 0.33982 -232.50 132.50 222.50 0.128969 -232.50 132.50 227.50 0.0395078 -232.50 132.50 232.50 0.0248604 -232.50 132.50 237.50 0.0546705 -232.50 132.50 242.50 0.120783 -232.50 132.50 247.50 0.223955 -232.50 132.50 252.50 0.328956 -232.50 132.50 257.50 0.355454 -232.50 132.50 262.50 0.410069 -232.50 132.50 267.50 0.522225 -232.50 132.50 272.50 0.744224 -232.50 132.50 277.50 0.958351 -232.50 132.50 282.50 1.30023 -232.50 132.50 287.50 1.56225 -232.50 132.50 292.50 1.47003 -232.50 132.50 297.50 1.041 -232.50 132.50 302.50 0.632368 -232.50 132.50 307.50 0.33982 -232.50 132.50 312.50 0.128969 -232.50 132.50 317.50 0.0395078 -232.50 132.50 322.50 0.0248604 -232.50 132.50 327.50 0.0546703 -232.50 132.50 332.50 0.120782 -232.50 132.50 337.50 0.223954 -232.50 132.50 342.50 0.328955 -232.50 132.50 347.50 0.355454 -232.50 132.50 352.50 0.410069 -232.50 132.50 357.50 0.522225 -232.50 137.50 2.50 0.748974 -232.50 137.50 7.50 1.30179 -232.50 137.50 12.50 2.06907 -232.50 137.50 17.50 2.79904 -232.50 137.50 22.50 2.99443 -232.50 137.50 27.50 2.34909 -232.50 137.50 32.50 1.50534 -232.50 137.50 37.50 0.808732 -232.50 137.50 42.50 0.332446 -232.50 137.50 47.50 0.117766 -232.50 137.50 52.50 0.0315758 -232.50 137.50 57.50 0.01826 -232.50 137.50 62.50 0.0257527 -232.50 137.50 67.50 0.0625251 -232.50 137.50 72.50 0.0948643 -232.50 137.50 77.50 0.119315 -232.50 137.50 82.50 0.177551 -232.50 137.50 87.50 0.352337 -232.50 137.50 92.50 0.748974 -232.50 137.50 97.50 1.30179 -232.50 137.50 102.50 2.06907 -232.50 137.50 107.50 2.79904 -232.50 137.50 112.50 2.99443 -232.50 137.50 117.50 2.34909 -232.50 137.50 122.50 1.50534 -232.50 137.50 127.50 0.808731 -232.50 137.50 132.50 0.332446 -232.50 137.50 137.50 0.117766 -232.50 137.50 142.50 0.0315758 -232.50 137.50 147.50 0.01826 -232.50 137.50 152.50 0.0257527 -232.50 137.50 157.50 0.062525 -232.50 137.50 162.50 0.0948642 -232.50 137.50 167.50 0.119315 -232.50 137.50 172.50 0.177551 -232.50 137.50 177.50 0.352336 -232.50 137.50 182.50 0.748975 -232.50 137.50 187.50 1.30179 -232.50 137.50 192.50 2.06907 -232.50 137.50 197.50 2.79904 -232.50 137.50 202.50 2.99443 -232.50 137.50 207.50 2.34909 -232.50 137.50 212.50 1.50534 -232.50 137.50 217.50 0.808732 -232.50 137.50 222.50 0.332446 -232.50 137.50 227.50 0.117767 -232.50 137.50 232.50 0.0315758 -232.50 137.50 237.50 0.0182599 -232.50 137.50 242.50 0.0257527 -232.50 137.50 247.50 0.0625251 -232.50 137.50 252.50 0.0948644 -232.50 137.50 257.50 0.119315 -232.50 137.50 262.50 0.177551 -232.50 137.50 267.50 0.352337 -232.50 137.50 272.50 0.748975 -232.50 137.50 277.50 1.30179 -232.50 137.50 282.50 2.06907 -232.50 137.50 287.50 2.79904 -232.50 137.50 292.50 2.99443 -232.50 137.50 297.50 2.34909 -232.50 137.50 302.50 1.50534 -232.50 137.50 307.50 0.808732 -232.50 137.50 312.50 0.332446 -232.50 137.50 317.50 0.117766 -232.50 137.50 322.50 0.0315759 -232.50 137.50 327.50 0.01826 -232.50 137.50 332.50 0.0257526 -232.50 137.50 337.50 0.062525 -232.50 137.50 342.50 0.0948642 -232.50 137.50 347.50 0.119314 -232.50 137.50 352.50 0.17755 -232.50 137.50 357.50 0.352336 -232.50 142.50 2.50 0.744225 -232.50 142.50 7.50 1.6303 -232.50 142.50 12.50 2.93174 -232.50 142.50 17.50 4.14883 -232.50 142.50 22.50 4.6062 -232.50 142.50 27.50 3.91268 -232.50 142.50 32.50 2.64638 -232.50 142.50 37.50 1.45209 -232.50 142.50 42.50 0.677184 -232.50 142.50 47.50 0.283541 -232.50 142.50 52.50 0.117309 -232.50 142.50 57.50 0.0431594 -232.50 142.50 62.50 0.0156238 -232.50 142.50 67.50 0.0139855 -232.50 142.50 72.50 0.0205436 -232.50 142.50 77.50 0.03419 -232.50 142.50 82.50 0.079778 -232.50 142.50 87.50 0.25764 -232.50 142.50 92.50 0.744224 -232.50 142.50 97.50 1.6303 -232.50 142.50 102.50 2.93174 -232.50 142.50 107.50 4.14883 -232.50 142.50 112.50 4.6062 -232.50 142.50 117.50 3.91268 -232.50 142.50 122.50 2.64638 -232.50 142.50 127.50 1.45209 -232.50 142.50 132.50 0.677184 -232.50 142.50 137.50 0.283541 -232.50 142.50 142.50 0.117309 -232.50 142.50 147.50 0.0431595 -232.50 142.50 152.50 0.0156238 -232.50 142.50 157.50 0.0139855 -232.50 142.50 162.50 0.0205436 -232.50 142.50 167.50 0.03419 -232.50 142.50 172.50 0.079778 -232.50 142.50 177.50 0.25764 -232.50 142.50 182.50 0.744226 -232.50 142.50 187.50 1.6303 -232.50 142.50 192.50 2.93175 -232.50 142.50 197.50 4.14883 -232.50 142.50 202.50 4.6062 -232.50 142.50 207.50 3.91268 -232.50 142.50 212.50 2.64638 -232.50 142.50 217.50 1.4521 -232.50 142.50 222.50 0.677184 -232.50 142.50 227.50 0.283541 -232.50 142.50 232.50 0.117309 -232.50 142.50 237.50 0.0431594 -232.50 142.50 242.50 0.0156238 -232.50 142.50 247.50 0.0139855 -232.50 142.50 252.50 0.0205436 -232.50 142.50 257.50 0.0341901 -232.50 142.50 262.50 0.0797781 -232.50 142.50 267.50 0.25764 -232.50 142.50 272.50 0.744225 -232.50 142.50 277.50 1.6303 -232.50 142.50 282.50 2.93174 -232.50 142.50 287.50 4.14883 -232.50 142.50 292.50 4.6062 -232.50 142.50 297.50 3.91268 -232.50 142.50 302.50 2.64638 -232.50 142.50 307.50 1.4521 -232.50 142.50 312.50 0.677185 -232.50 142.50 317.50 0.283541 -232.50 142.50 322.50 0.11731 -232.50 142.50 327.50 0.0431595 -232.50 142.50 332.50 0.0156238 -232.50 142.50 337.50 0.0139855 -232.50 142.50 342.50 0.0205436 -232.50 142.50 347.50 0.0341899 -232.50 142.50 352.50 0.0797779 -232.50 142.50 357.50 0.257639 -232.50 147.50 2.50 0.728262 -232.50 147.50 7.50 1.84193 -232.50 147.50 12.50 3.59088 -232.50 147.50 17.50 5.17216 -232.50 147.50 22.50 5.68642 -232.50 147.50 27.50 4.99912 -232.50 147.50 32.50 3.53834 -232.50 147.50 37.50 2.10851 -232.50 147.50 42.50 1.13131 -232.50 147.50 47.50 0.620381 -232.50 147.50 52.50 0.328053 -232.50 147.50 57.50 0.1377 -232.50 147.50 62.50 0.0465248 -232.50 147.50 67.50 0.0140954 -232.50 147.50 72.50 0.00811181 -232.50 147.50 77.50 0.0141549 -232.50 147.50 82.50 0.0528743 -232.50 147.50 87.50 0.208458 -232.50 147.50 92.50 0.728262 -232.50 147.50 97.50 1.84193 -232.50 147.50 102.50 3.59088 -232.50 147.50 107.50 5.17216 -232.50 147.50 112.50 5.68643 -232.50 147.50 117.50 4.99912 -232.50 147.50 122.50 3.53834 -232.50 147.50 127.50 2.10851 -232.50 147.50 132.50 1.13131 -232.50 147.50 137.50 0.620381 -232.50 147.50 142.50 0.328053 -232.50 147.50 147.50 0.1377 -232.50 147.50 152.50 0.0465249 -232.50 147.50 157.50 0.0140954 -232.50 147.50 162.50 0.00811181 -232.50 147.50 167.50 0.0141549 -232.50 147.50 172.50 0.0528743 -232.50 147.50 177.50 0.208458 -232.50 147.50 182.50 0.728263 -232.50 147.50 187.50 1.84194 -232.50 147.50 192.50 3.59088 -232.50 147.50 197.50 5.17216 -232.50 147.50 202.50 5.68643 -232.50 147.50 207.50 4.99912 -232.50 147.50 212.50 3.53834 -232.50 147.50 217.50 2.10851 -232.50 147.50 222.50 1.13131 -232.50 147.50 227.50 0.620382 -232.50 147.50 232.50 0.328052 -232.50 147.50 237.50 0.1377 -232.50 147.50 242.50 0.0465248 -232.50 147.50 247.50 0.0140954 -232.50 147.50 252.50 0.00811181 -232.50 147.50 257.50 0.0141549 -232.50 147.50 262.50 0.0528744 -232.50 147.50 267.50 0.208459 -232.50 147.50 272.50 0.728262 -232.50 147.50 277.50 1.84193 -232.50 147.50 282.50 3.59088 -232.50 147.50 287.50 5.17216 -232.50 147.50 292.50 5.68643 -232.50 147.50 297.50 4.99912 -232.50 147.50 302.50 3.53834 -232.50 147.50 307.50 2.10851 -232.50 147.50 312.50 1.13131 -232.50 147.50 317.50 0.620382 -232.50 147.50 322.50 0.328054 -232.50 147.50 327.50 0.137701 -232.50 147.50 332.50 0.0465249 -232.50 147.50 337.50 0.0140954 -232.50 147.50 342.50 0.00811181 -232.50 147.50 347.50 0.0141548 -232.50 147.50 352.50 0.0528742 -232.50 147.50 357.50 0.208458 -232.50 152.50 2.50 0.674572 -232.50 152.50 7.50 1.77615 -232.50 152.50 12.50 3.51128 -232.50 152.50 17.50 5.12189 -232.50 152.50 22.50 5.61847 -232.50 152.50 27.50 5.07766 -232.50 152.50 32.50 3.72517 -232.50 152.50 37.50 2.49292 -232.50 152.50 42.50 1.61851 -232.50 152.50 47.50 1.05363 -232.50 152.50 52.50 0.635226 -232.50 152.50 57.50 0.3163 -232.50 152.50 62.50 0.123106 -232.50 152.50 67.50 0.0400464 -232.50 152.50 72.50 0.0155686 -232.50 152.50 77.50 0.0130588 -232.50 152.50 82.50 0.0504364 -232.50 152.50 87.50 0.178438 -232.50 152.50 92.50 0.674571 -232.50 152.50 97.50 1.77615 -232.50 152.50 102.50 3.51128 -232.50 152.50 107.50 5.12189 -232.50 152.50 112.50 5.61847 -232.50 152.50 117.50 5.07766 -232.50 152.50 122.50 3.72517 -232.50 152.50 127.50 2.49292 -232.50 152.50 132.50 1.61851 -232.50 152.50 137.50 1.05363 -232.50 152.50 142.50 0.635226 -232.50 152.50 147.50 0.3163 -232.50 152.50 152.50 0.123107 -232.50 152.50 157.50 0.0400464 -232.50 152.50 162.50 0.0155687 -232.50 152.50 167.50 0.0130588 -232.50 152.50 172.50 0.0504364 -232.50 152.50 177.50 0.178438 -232.50 152.50 182.50 0.674572 -232.50 152.50 187.50 1.77615 -232.50 152.50 192.50 3.51129 -232.50 152.50 197.50 5.12189 -232.50 152.50 202.50 5.61847 -232.50 152.50 207.50 5.07766 -232.50 152.50 212.50 3.72517 -232.50 152.50 217.50 2.49292 -232.50 152.50 222.50 1.61851 -232.50 152.50 227.50 1.05363 -232.50 152.50 232.50 0.635225 -232.50 152.50 237.50 0.316299 -232.50 152.50 242.50 0.123106 -232.50 152.50 247.50 0.0400464 -232.50 152.50 252.50 0.0155686 -232.50 152.50 257.50 0.0130588 -232.50 152.50 262.50 0.0504365 -232.50 152.50 267.50 0.178438 -232.50 152.50 272.50 0.674571 -232.50 152.50 277.50 1.77615 -232.50 152.50 282.50 3.51128 -232.50 152.50 287.50 5.12189 -232.50 152.50 292.50 5.61847 -232.50 152.50 297.50 5.07766 -232.50 152.50 302.50 3.72517 -232.50 152.50 307.50 2.49292 -232.50 152.50 312.50 1.61851 -232.50 152.50 317.50 1.05363 -232.50 152.50 322.50 0.635227 -232.50 152.50 327.50 0.3163 -232.50 152.50 332.50 0.123107 -232.50 152.50 337.50 0.0400466 -232.50 152.50 342.50 0.0155687 -232.50 152.50 347.50 0.0130588 -232.50 152.50 352.50 0.0504363 -232.50 152.50 357.50 0.178437 -232.50 157.50 2.50 0.558756 -232.50 157.50 7.50 1.38427 -232.50 157.50 12.50 2.66296 -232.50 157.50 17.50 3.82806 -232.50 157.50 22.50 4.29488 -232.50 157.50 27.50 4.00842 -232.50 157.50 32.50 3.23112 -232.50 157.50 37.50 2.4042 -232.50 157.50 42.50 1.851 -232.50 157.50 47.50 1.41644 -232.50 157.50 52.50 0.96088 -232.50 157.50 57.50 0.544446 -232.50 157.50 62.50 0.254734 -232.50 157.50 67.50 0.106069 -232.50 157.50 72.50 0.0447134 -232.50 157.50 77.50 0.0279364 -232.50 157.50 82.50 0.0546664 -232.50 157.50 87.50 0.165933 -232.50 157.50 92.50 0.558756 -232.50 157.50 97.50 1.38427 -232.50 157.50 102.50 2.66296 -232.50 157.50 107.50 3.82805 -232.50 157.50 112.50 4.29488 -232.50 157.50 117.50 4.00843 -232.50 157.50 122.50 3.23112 -232.50 157.50 127.50 2.4042 -232.50 157.50 132.50 1.851 -232.50 157.50 137.50 1.41644 -232.50 157.50 142.50 0.96088 -232.50 157.50 147.50 0.544446 -232.50 157.50 152.50 0.254735 -232.50 157.50 157.50 0.106069 -232.50 157.50 162.50 0.0447134 -232.50 157.50 167.50 0.0279364 -232.50 157.50 172.50 0.0546663 -232.50 157.50 177.50 0.165933 -232.50 157.50 182.50 0.558756 -232.50 157.50 187.50 1.38427 -232.50 157.50 192.50 2.66297 -232.50 157.50 197.50 3.82805 -232.50 157.50 202.50 4.29488 -232.50 157.50 207.50 4.00842 -232.50 157.50 212.50 3.23112 -232.50 157.50 217.50 2.4042 -232.50 157.50 222.50 1.851 -232.50 157.50 227.50 1.41644 -232.50 157.50 232.50 0.960879 -232.50 157.50 237.50 0.544446 -232.50 157.50 242.50 0.254734 -232.50 157.50 247.50 0.106069 -232.50 157.50 252.50 0.0447134 -232.50 157.50 257.50 0.0279364 -232.50 157.50 262.50 0.0546664 -232.50 157.50 267.50 0.165933 -232.50 157.50 272.50 0.558756 -232.50 157.50 277.50 1.38427 -232.50 157.50 282.50 2.66296 -232.50 157.50 287.50 3.82805 -232.50 157.50 292.50 4.29488 -232.50 157.50 297.50 4.00842 -232.50 157.50 302.50 3.23112 -232.50 157.50 307.50 2.4042 -232.50 157.50 312.50 1.851 -232.50 157.50 317.50 1.41644 -232.50 157.50 322.50 0.960881 -232.50 157.50 327.50 0.544447 -232.50 157.50 332.50 0.254735 -232.50 157.50 337.50 0.106069 -232.50 157.50 342.50 0.0447135 -232.50 157.50 347.50 0.0279364 -232.50 157.50 352.50 0.0546663 -232.50 157.50 357.50 0.165933 -232.50 162.50 2.50 0.431719 -232.50 162.50 7.50 0.880312 -232.50 162.50 12.50 1.55766 -232.50 162.50 17.50 2.21654 -232.50 162.50 22.50 2.55938 -232.50 162.50 27.50 2.47971 -232.50 162.50 32.50 2.1509 -232.50 162.50 37.50 1.85785 -232.50 162.50 42.50 1.67545 -232.50 162.50 47.50 1.48938 -232.50 162.50 52.50 1.19551 -232.50 162.50 57.50 0.773899 -232.50 162.50 62.50 0.428485 -232.50 162.50 67.50 0.2179 -232.50 162.50 72.50 0.101748 -232.50 162.50 77.50 0.0554852 -232.50 162.50 82.50 0.0711468 -232.50 162.50 87.50 0.178221 -232.50 162.50 92.50 0.431719 -232.50 162.50 97.50 0.880313 -232.50 162.50 102.50 1.55766 -232.50 162.50 107.50 2.21654 -232.50 162.50 112.50 2.55938 -232.50 162.50 117.50 2.47971 -232.50 162.50 122.50 2.1509 -232.50 162.50 127.50 1.85785 -232.50 162.50 132.50 1.67545 -232.50 162.50 137.50 1.48938 -232.50 162.50 142.50 1.19551 -232.50 162.50 147.50 0.7739 -232.50 162.50 152.50 0.428486 -232.50 162.50 157.50 0.2179 -232.50 162.50 162.50 0.101749 -232.50 162.50 167.50 0.0554852 -232.50 162.50 172.50 0.0711468 -232.50 162.50 177.50 0.178221 -232.50 162.50 182.50 0.431719 -232.50 162.50 187.50 0.880313 -232.50 162.50 192.50 1.55766 -232.50 162.50 197.50 2.21654 -232.50 162.50 202.50 2.55938 -232.50 162.50 207.50 2.47971 -232.50 162.50 212.50 2.1509 -232.50 162.50 217.50 1.85785 -232.50 162.50 222.50 1.67545 -232.50 162.50 227.50 1.48938 -232.50 162.50 232.50 1.19551 -232.50 162.50 237.50 0.773899 -232.50 162.50 242.50 0.428485 -232.50 162.50 247.50 0.2179 -232.50 162.50 252.50 0.101748 -232.50 162.50 257.50 0.0554852 -232.50 162.50 262.50 0.0711468 -232.50 162.50 267.50 0.178221 -232.50 162.50 272.50 0.431719 -232.50 162.50 277.50 0.880312 -232.50 162.50 282.50 1.55766 -232.50 162.50 287.50 2.21654 -232.50 162.50 292.50 2.55938 -232.50 162.50 297.50 2.47971 -232.50 162.50 302.50 2.1509 -232.50 162.50 307.50 1.85785 -232.50 162.50 312.50 1.67545 -232.50 162.50 317.50 1.48938 -232.50 162.50 322.50 1.19551 -232.50 162.50 327.50 0.7739 -232.50 162.50 332.50 0.428486 -232.50 162.50 337.50 0.2179 -232.50 162.50 342.50 0.101749 -232.50 162.50 347.50 0.0554853 -232.50 162.50 352.50 0.0711467 -232.50 162.50 357.50 0.17822 -232.50 167.50 2.50 0.338201 -232.50 167.50 7.50 0.50824 -232.50 167.50 12.50 0.73858 -232.50 167.50 17.50 1.03178 -232.50 167.50 22.50 1.20165 -232.50 167.50 27.50 1.20247 -232.50 167.50 32.50 1.09764 -232.50 167.50 37.50 1.05068 -232.50 167.50 42.50 1.1871 -232.50 167.50 47.50 1.32943 -232.50 167.50 52.50 1.23109 -232.50 167.50 57.50 0.896641 -232.50 167.50 62.50 0.543171 -232.50 167.50 67.50 0.293576 -232.50 167.50 72.50 0.147846 -232.50 167.50 77.50 0.0803515 -232.50 167.50 82.50 0.0907332 -232.50 167.50 87.50 0.196327 -232.50 167.50 92.50 0.338201 -232.50 167.50 97.50 0.508241 -232.50 167.50 102.50 0.73858 -232.50 167.50 107.50 1.03178 -232.50 167.50 112.50 1.20165 -232.50 167.50 117.50 1.20247 -232.50 167.50 122.50 1.09764 -232.50 167.50 127.50 1.05068 -232.50 167.50 132.50 1.1871 -232.50 167.50 137.50 1.32943 -232.50 167.50 142.50 1.23109 -232.50 167.50 147.50 0.896641 -232.50 167.50 152.50 0.543172 -232.50 167.50 157.50 0.293576 -232.50 167.50 162.50 0.147846 -232.50 167.50 167.50 0.0803515 -232.50 167.50 172.50 0.0907331 -232.50 167.50 177.50 0.196327 -232.50 167.50 182.50 0.338201 -232.50 167.50 187.50 0.508241 -232.50 167.50 192.50 0.73858 -232.50 167.50 197.50 1.03178 -232.50 167.50 202.50 1.20165 -232.50 167.50 207.50 1.20248 -232.50 167.50 212.50 1.09764 -232.50 167.50 217.50 1.05068 -232.50 167.50 222.50 1.1871 -232.50 167.50 227.50 1.32943 -232.50 167.50 232.50 1.23109 -232.50 167.50 237.50 0.89664 -232.50 167.50 242.50 0.543171 -232.50 167.50 247.50 0.293576 -232.50 167.50 252.50 0.147846 -232.50 167.50 257.50 0.0803515 -232.50 167.50 262.50 0.0907332 -232.50 167.50 267.50 0.196327 -232.50 167.50 272.50 0.338201 -232.50 167.50 277.50 0.508241 -232.50 167.50 282.50 0.73858 -232.50 167.50 287.50 1.03178 -232.50 167.50 292.50 1.20165 -232.50 167.50 297.50 1.20247 -232.50 167.50 302.50 1.09764 -232.50 167.50 307.50 1.05068 -232.50 167.50 312.50 1.1871 -232.50 167.50 317.50 1.32943 -232.50 167.50 322.50 1.23109 -232.50 167.50 327.50 0.896641 -232.50 167.50 332.50 0.543172 -232.50 167.50 337.50 0.293576 -232.50 167.50 342.50 0.147846 -232.50 167.50 347.50 0.0803516 -232.50 167.50 352.50 0.0907331 -232.50 167.50 357.50 0.196327 -232.50 172.50 2.50 0.239625 -232.50 172.50 7.50 0.283661 -232.50 172.50 12.50 0.336779 -232.50 172.50 17.50 0.399668 -232.50 172.50 22.50 0.451001 -232.50 172.50 27.50 0.444789 -232.50 172.50 32.50 0.419313 -232.50 172.50 37.50 0.490325 -232.50 172.50 42.50 0.747363 -232.50 172.50 47.50 1.06317 -232.50 172.50 52.50 1.12936 -232.50 172.50 57.50 0.863768 -232.50 172.50 62.50 0.5108 -232.50 172.50 67.50 0.269086 -232.50 172.50 72.50 0.136631 -232.50 172.50 77.50 0.0765726 -232.50 172.50 82.50 0.0999634 -232.50 172.50 87.50 0.172232 -232.50 172.50 92.50 0.239625 -232.50 172.50 97.50 0.283661 -232.50 172.50 102.50 0.336779 -232.50 172.50 107.50 0.399668 -232.50 172.50 112.50 0.451001 -232.50 172.50 117.50 0.444789 -232.50 172.50 122.50 0.419313 -232.50 172.50 127.50 0.490325 -232.50 172.50 132.50 0.747363 -232.50 172.50 137.50 1.06317 -232.50 172.50 142.50 1.12936 -232.50 172.50 147.50 0.863768 -232.50 172.50 152.50 0.510801 -232.50 172.50 157.50 0.269086 -232.50 172.50 162.50 0.136631 -232.50 172.50 167.50 0.0765726 -232.50 172.50 172.50 0.0999632 -232.50 172.50 177.50 0.172232 -232.50 172.50 182.50 0.239625 -232.50 172.50 187.50 0.283661 -232.50 172.50 192.50 0.336779 -232.50 172.50 197.50 0.399668 -232.50 172.50 202.50 0.451001 -232.50 172.50 207.50 0.444789 -232.50 172.50 212.50 0.419313 -232.50 172.50 217.50 0.490325 -232.50 172.50 222.50 0.747363 -232.50 172.50 227.50 1.06317 -232.50 172.50 232.50 1.12936 -232.50 172.50 237.50 0.863767 -232.50 172.50 242.50 0.5108 -232.50 172.50 247.50 0.269086 -232.50 172.50 252.50 0.136631 -232.50 172.50 257.50 0.0765726 -232.50 172.50 262.50 0.0999634 -232.50 172.50 267.50 0.172232 -232.50 172.50 272.50 0.239625 -232.50 172.50 277.50 0.283661 -232.50 172.50 282.50 0.336779 -232.50 172.50 287.50 0.399667 -232.50 172.50 292.50 0.451001 -232.50 172.50 297.50 0.44479 -232.50 172.50 302.50 0.419313 -232.50 172.50 307.50 0.490325 -232.50 172.50 312.50 0.747362 -232.50 172.50 317.50 1.06317 -232.50 172.50 322.50 1.12936 -232.50 172.50 327.50 0.863768 -232.50 172.50 332.50 0.510801 -232.50 172.50 337.50 0.269086 -232.50 172.50 342.50 0.136631 -232.50 172.50 347.50 0.0765727 -232.50 172.50 352.50 0.0999632 -232.50 172.50 357.50 0.172231 -232.50 177.50 2.50 0.132069 -232.50 177.50 7.50 0.138729 -232.50 177.50 12.50 0.144941 -232.50 177.50 17.50 0.148748 -232.50 177.50 22.50 0.140004 -232.50 177.50 27.50 0.123214 -232.50 177.50 32.50 0.125439 -232.50 177.50 37.50 0.217744 -232.50 177.50 42.50 0.461409 -232.50 177.50 47.50 0.780785 -232.50 177.50 52.50 0.911258 -232.50 177.50 57.50 0.713423 -232.50 177.50 62.50 0.394641 -232.50 177.50 67.50 0.187773 -232.50 177.50 72.50 0.0924994 -232.50 177.50 77.50 0.0639082 -232.50 177.50 82.50 0.0780235 -232.50 177.50 87.50 0.109882 -232.50 177.50 92.50 0.132069 -232.50 177.50 97.50 0.138729 -232.50 177.50 102.50 0.144941 -232.50 177.50 107.50 0.148748 -232.50 177.50 112.50 0.140004 -232.50 177.50 117.50 0.123214 -232.50 177.50 122.50 0.125439 -232.50 177.50 127.50 0.217744 -232.50 177.50 132.50 0.461409 -232.50 177.50 137.50 0.780785 -232.50 177.50 142.50 0.911258 -232.50 177.50 147.50 0.713423 -232.50 177.50 152.50 0.394642 -232.50 177.50 157.50 0.187773 -232.50 177.50 162.50 0.0924994 -232.50 177.50 167.50 0.0639082 -232.50 177.50 172.50 0.0780235 -232.50 177.50 177.50 0.109882 -232.50 177.50 182.50 0.132069 -232.50 177.50 187.50 0.138729 -232.50 177.50 192.50 0.144941 -232.50 177.50 197.50 0.148748 -232.50 177.50 202.50 0.140004 -232.50 177.50 207.50 0.123214 -232.50 177.50 212.50 0.125439 -232.50 177.50 217.50 0.217744 -232.50 177.50 222.50 0.461408 -232.50 177.50 227.50 0.780786 -232.50 177.50 232.50 0.911259 -232.50 177.50 237.50 0.713423 -232.50 177.50 242.50 0.394641 -232.50 177.50 247.50 0.187773 -232.50 177.50 252.50 0.0924994 -232.50 177.50 257.50 0.0639083 -232.50 177.50 262.50 0.0780235 -232.50 177.50 267.50 0.109882 -232.50 177.50 272.50 0.132069 -232.50 177.50 277.50 0.138729 -232.50 177.50 282.50 0.144941 -232.50 177.50 287.50 0.148748 -232.50 177.50 292.50 0.140004 -232.50 177.50 297.50 0.123214 -232.50 177.50 302.50 0.125439 -232.50 177.50 307.50 0.217744 -232.50 177.50 312.50 0.461408 -232.50 177.50 317.50 0.780786 -232.50 177.50 322.50 0.911259 -232.50 177.50 327.50 0.713424 -232.50 177.50 332.50 0.394642 -232.50 177.50 337.50 0.187774 -232.50 177.50 342.50 0.0924996 -232.50 177.50 347.50 0.0639082 -232.50 177.50 352.50 0.0780234 -232.50 177.50 357.50 0.109882 -237.50 2.50 2.50 0.0760385 -237.50 2.50 7.50 0.0601603 -237.50 2.50 12.50 0.0485219 -237.50 2.50 17.50 0.0624686 -237.50 2.50 22.50 0.149977 -237.50 2.50 27.50 0.393273 -237.50 2.50 32.50 0.773179 -237.50 2.50 37.50 0.980476 -237.50 2.50 42.50 0.773178 -237.50 2.50 47.50 0.393272 -237.50 2.50 52.50 0.149977 -237.50 2.50 57.50 0.0624685 -237.50 2.50 62.50 0.048522 -237.50 2.50 67.50 0.0601604 -237.50 2.50 72.50 0.0760386 -237.50 2.50 77.50 0.083846 -237.50 2.50 82.50 0.084539 -237.50 2.50 87.50 0.083846 -237.50 2.50 92.50 0.0760385 -237.50 2.50 97.50 0.0601603 -237.50 2.50 102.50 0.0485219 -237.50 2.50 107.50 0.0624686 -237.50 2.50 112.50 0.149977 -237.50 2.50 117.50 0.393273 -237.50 2.50 122.50 0.773179 -237.50 2.50 127.50 0.980476 -237.50 2.50 132.50 0.773178 -237.50 2.50 137.50 0.393272 -237.50 2.50 142.50 0.149977 -237.50 2.50 147.50 0.0624685 -237.50 2.50 152.50 0.0485219 -237.50 2.50 157.50 0.0601603 -237.50 2.50 162.50 0.0760386 -237.50 2.50 167.50 0.083846 -237.50 2.50 172.50 0.084539 -237.50 2.50 177.50 0.083846 -237.50 2.50 182.50 0.0760385 -237.50 2.50 187.50 0.0601603 -237.50 2.50 192.50 0.0485219 -237.50 2.50 197.50 0.0624686 -237.50 2.50 202.50 0.149977 -237.50 2.50 207.50 0.393273 -237.50 2.50 212.50 0.773179 -237.50 2.50 217.50 0.980476 -237.50 2.50 222.50 0.773178 -237.50 2.50 227.50 0.393272 -237.50 2.50 232.50 0.149976 -237.50 2.50 237.50 0.0624684 -237.50 2.50 242.50 0.048522 -237.50 2.50 247.50 0.0601604 -237.50 2.50 252.50 0.0760386 -237.50 2.50 257.50 0.083846 -237.50 2.50 262.50 0.084539 -237.50 2.50 267.50 0.083846 -237.50 2.50 272.50 0.0760385 -237.50 2.50 277.50 0.0601603 -237.50 2.50 282.50 0.0485219 -237.50 2.50 287.50 0.0624686 -237.50 2.50 292.50 0.149977 -237.50 2.50 297.50 0.393273 -237.50 2.50 302.50 0.773178 -237.50 2.50 307.50 0.980476 -237.50 2.50 312.50 0.773179 -237.50 2.50 317.50 0.393272 -237.50 2.50 322.50 0.149977 -237.50 2.50 327.50 0.0624686 -237.50 2.50 332.50 0.0485219 -237.50 2.50 337.50 0.0601603 -237.50 2.50 342.50 0.0760385 -237.50 2.50 347.50 0.083846 -237.50 2.50 352.50 0.084539 -237.50 2.50 357.50 0.083846 -237.50 7.50 2.50 0.118631 -237.50 7.50 7.50 0.0861398 -237.50 7.50 12.50 0.0657719 -237.50 7.50 17.50 0.0909505 -237.50 7.50 22.50 0.195055 -237.50 7.50 27.50 0.412839 -237.50 7.50 32.50 0.705094 -237.50 7.50 37.50 0.87782 -237.50 7.50 42.50 0.74028 -237.50 7.50 47.50 0.439752 -237.50 7.50 52.50 0.216181 -237.50 7.50 57.50 0.129379 -237.50 7.50 62.50 0.123279 -237.50 7.50 67.50 0.143853 -237.50 7.50 72.50 0.15678 -237.50 7.50 77.50 0.153023 -237.50 7.50 82.50 0.144095 -237.50 7.50 87.50 0.137618 -237.50 7.50 92.50 0.118631 -237.50 7.50 97.50 0.0861398 -237.50 7.50 102.50 0.0657718 -237.50 7.50 107.50 0.0909504 -237.50 7.50 112.50 0.195055 -237.50 7.50 117.50 0.412839 -237.50 7.50 122.50 0.705094 -237.50 7.50 127.50 0.87782 -237.50 7.50 132.50 0.74028 -237.50 7.50 137.50 0.439752 -237.50 7.50 142.50 0.216181 -237.50 7.50 147.50 0.129379 -237.50 7.50 152.50 0.123278 -237.50 7.50 157.50 0.143853 -237.50 7.50 162.50 0.15678 -237.50 7.50 167.50 0.153023 -237.50 7.50 172.50 0.144095 -237.50 7.50 177.50 0.137618 -237.50 7.50 182.50 0.118631 -237.50 7.50 187.50 0.0861397 -237.50 7.50 192.50 0.0657719 -237.50 7.50 197.50 0.0909506 -237.50 7.50 202.50 0.195055 -237.50 7.50 207.50 0.412838 -237.50 7.50 212.50 0.705093 -237.50 7.50 217.50 0.87782 -237.50 7.50 222.50 0.74028 -237.50 7.50 227.50 0.439752 -237.50 7.50 232.50 0.216181 -237.50 7.50 237.50 0.129379 -237.50 7.50 242.50 0.123279 -237.50 7.50 247.50 0.143853 -237.50 7.50 252.50 0.156781 -237.50 7.50 257.50 0.153023 -237.50 7.50 262.50 0.144095 -237.50 7.50 267.50 0.137618 -237.50 7.50 272.50 0.118631 -237.50 7.50 277.50 0.0861398 -237.50 7.50 282.50 0.0657719 -237.50 7.50 287.50 0.0909506 -237.50 7.50 292.50 0.195055 -237.50 7.50 297.50 0.412838 -237.50 7.50 302.50 0.705093 -237.50 7.50 307.50 0.87782 -237.50 7.50 312.50 0.74028 -237.50 7.50 317.50 0.439752 -237.50 7.50 322.50 0.216181 -237.50 7.50 327.50 0.129379 -237.50 7.50 332.50 0.123279 -237.50 7.50 337.50 0.143853 -237.50 7.50 342.50 0.15678 -237.50 7.50 347.50 0.153023 -237.50 7.50 352.50 0.144095 -237.50 7.50 357.50 0.137618 -237.50 12.50 2.50 0.202441 -237.50 12.50 7.50 0.127436 -237.50 12.50 12.50 0.0877474 -237.50 12.50 17.50 0.133163 -237.50 12.50 22.50 0.281452 -237.50 12.50 27.50 0.529174 -237.50 12.50 32.50 0.854425 -237.50 12.50 37.50 1.08308 -237.50 12.50 42.50 1.01204 -237.50 12.50 47.50 0.717381 -237.50 12.50 52.50 0.472946 -237.50 12.50 57.50 0.416794 -237.50 12.50 62.50 0.45839 -237.50 12.50 67.50 0.489974 -237.50 12.50 72.50 0.462408 -237.50 12.50 77.50 0.37753 -237.50 12.50 82.50 0.311733 -237.50 12.50 87.50 0.264305 -237.50 12.50 92.50 0.202441 -237.50 12.50 97.50 0.127436 -237.50 12.50 102.50 0.0877473 -237.50 12.50 107.50 0.133163 -237.50 12.50 112.50 0.281452 -237.50 12.50 117.50 0.529174 -237.50 12.50 122.50 0.854425 -237.50 12.50 127.50 1.08308 -237.50 12.50 132.50 1.01204 -237.50 12.50 137.50 0.717381 -237.50 12.50 142.50 0.472946 -237.50 12.50 147.50 0.416794 -237.50 12.50 152.50 0.458389 -237.50 12.50 157.50 0.489974 -237.50 12.50 162.50 0.462408 -237.50 12.50 167.50 0.37753 -237.50 12.50 172.50 0.311733 -237.50 12.50 177.50 0.264305 -237.50 12.50 182.50 0.202441 -237.50 12.50 187.50 0.127436 -237.50 12.50 192.50 0.0877474 -237.50 12.50 197.50 0.133163 -237.50 12.50 202.50 0.281452 -237.50 12.50 207.50 0.529173 -237.50 12.50 212.50 0.854425 -237.50 12.50 217.50 1.08308 -237.50 12.50 222.50 1.01204 -237.50 12.50 227.50 0.717381 -237.50 12.50 232.50 0.472946 -237.50 12.50 237.50 0.416794 -237.50 12.50 242.50 0.458389 -237.50 12.50 247.50 0.489974 -237.50 12.50 252.50 0.462408 -237.50 12.50 257.50 0.37753 -237.50 12.50 262.50 0.311733 -237.50 12.50 267.50 0.264305 -237.50 12.50 272.50 0.202441 -237.50 12.50 277.50 0.127436 -237.50 12.50 282.50 0.0877475 -237.50 12.50 287.50 0.133163 -237.50 12.50 292.50 0.281452 -237.50 12.50 297.50 0.529172 -237.50 12.50 302.50 0.854425 -237.50 12.50 307.50 1.08308 -237.50 12.50 312.50 1.01204 -237.50 12.50 317.50 0.717381 -237.50 12.50 322.50 0.472946 -237.50 12.50 327.50 0.416794 -237.50 12.50 332.50 0.458389 -237.50 12.50 337.50 0.489974 -237.50 12.50 342.50 0.462408 -237.50 12.50 347.50 0.37753 -237.50 12.50 352.50 0.311733 -237.50 12.50 357.50 0.264305 -237.50 17.50 2.50 0.252721 -237.50 17.50 7.50 0.13285 -237.50 17.50 12.50 0.0818425 -237.50 17.50 17.50 0.150407 -237.50 17.50 22.50 0.312627 -237.50 17.50 27.50 0.560896 -237.50 17.50 32.50 0.899809 -237.50 17.50 37.50 1.20669 -237.50 17.50 42.50 1.27813 -237.50 17.50 47.50 1.13113 -237.50 17.50 52.50 1.01927 -237.50 17.50 57.50 1.07391 -237.50 17.50 62.50 1.23068 -237.50 17.50 67.50 1.29938 -237.50 17.50 72.50 1.18922 -237.50 17.50 77.50 0.913616 -237.50 17.50 82.50 0.601343 -237.50 17.50 87.50 0.404512 -237.50 17.50 92.50 0.252721 -237.50 17.50 97.50 0.13285 -237.50 17.50 102.50 0.0818425 -237.50 17.50 107.50 0.150407 -237.50 17.50 112.50 0.312627 -237.50 17.50 117.50 0.560896 -237.50 17.50 122.50 0.899809 -237.50 17.50 127.50 1.20669 -237.50 17.50 132.50 1.27813 -237.50 17.50 137.50 1.13113 -237.50 17.50 142.50 1.01927 -237.50 17.50 147.50 1.07391 -237.50 17.50 152.50 1.23068 -237.50 17.50 157.50 1.29939 -237.50 17.50 162.50 1.18922 -237.50 17.50 167.50 0.913617 -237.50 17.50 172.50 0.601344 -237.50 17.50 177.50 0.404512 -237.50 17.50 182.50 0.252721 -237.50 17.50 187.50 0.13285 -237.50 17.50 192.50 0.0818425 -237.50 17.50 197.50 0.150407 -237.50 17.50 202.50 0.312627 -237.50 17.50 207.50 0.560896 -237.50 17.50 212.50 0.899809 -237.50 17.50 217.50 1.20669 -237.50 17.50 222.50 1.27813 -237.50 17.50 227.50 1.13113 -237.50 17.50 232.50 1.01927 -237.50 17.50 237.50 1.07391 -237.50 17.50 242.50 1.23068 -237.50 17.50 247.50 1.29939 -237.50 17.50 252.50 1.18922 -237.50 17.50 257.50 0.913616 -237.50 17.50 262.50 0.601343 -237.50 17.50 267.50 0.404512 -237.50 17.50 272.50 0.252721 -237.50 17.50 277.50 0.13285 -237.50 17.50 282.50 0.0818425 -237.50 17.50 287.50 0.150407 -237.50 17.50 292.50 0.312627 -237.50 17.50 297.50 0.560895 -237.50 17.50 302.50 0.899808 -237.50 17.50 307.50 1.20669 -237.50 17.50 312.50 1.27813 -237.50 17.50 317.50 1.13113 -237.50 17.50 322.50 1.01927 -237.50 17.50 327.50 1.07391 -237.50 17.50 332.50 1.23068 -237.50 17.50 337.50 1.29938 -237.50 17.50 342.50 1.18922 -237.50 17.50 347.50 0.913617 -237.50 17.50 352.50 0.601344 -237.50 17.50 357.50 0.404513 -237.50 22.50 2.50 0.273721 -237.50 22.50 7.50 0.109009 -237.50 22.50 12.50 0.0622614 -237.50 22.50 17.50 0.109659 -237.50 22.50 22.50 0.235093 -237.50 22.50 27.50 0.439942 -237.50 22.50 32.50 0.75839 -237.50 22.50 37.50 1.15323 -237.50 22.50 42.50 1.41289 -237.50 22.50 47.50 1.53031 -237.50 22.50 52.50 1.76613 -237.50 22.50 57.50 2.12902 -237.50 22.50 62.50 2.51841 -237.50 22.50 67.50 2.73071 -237.50 22.50 72.50 2.5171 -237.50 22.50 77.50 1.88506 -237.50 22.50 82.50 1.1453 -237.50 22.50 87.50 0.583451 -237.50 22.50 92.50 0.273721 -237.50 22.50 97.50 0.109009 -237.50 22.50 102.50 0.0622614 -237.50 22.50 107.50 0.109659 -237.50 22.50 112.50 0.235093 -237.50 22.50 117.50 0.439942 -237.50 22.50 122.50 0.75839 -237.50 22.50 127.50 1.15323 -237.50 22.50 132.50 1.41289 -237.50 22.50 137.50 1.53031 -237.50 22.50 142.50 1.76613 -237.50 22.50 147.50 2.12902 -237.50 22.50 152.50 2.5184 -237.50 22.50 157.50 2.73071 -237.50 22.50 162.50 2.5171 -237.50 22.50 167.50 1.88506 -237.50 22.50 172.50 1.1453 -237.50 22.50 177.50 0.583451 -237.50 22.50 182.50 0.273721 -237.50 22.50 187.50 0.109009 -237.50 22.50 192.50 0.0622614 -237.50 22.50 197.50 0.109659 -237.50 22.50 202.50 0.235093 -237.50 22.50 207.50 0.439942 -237.50 22.50 212.50 0.75839 -237.50 22.50 217.50 1.15323 -237.50 22.50 222.50 1.41289 -237.50 22.50 227.50 1.53031 -237.50 22.50 232.50 1.76613 -237.50 22.50 237.50 2.12902 -237.50 22.50 242.50 2.5184 -237.50 22.50 247.50 2.73071 -237.50 22.50 252.50 2.5171 -237.50 22.50 257.50 1.88505 -237.50 22.50 262.50 1.1453 -237.50 22.50 267.50 0.58345 -237.50 22.50 272.50 0.273721 -237.50 22.50 277.50 0.109009 -237.50 22.50 282.50 0.0622614 -237.50 22.50 287.50 0.109659 -237.50 22.50 292.50 0.235092 -237.50 22.50 297.50 0.439942 -237.50 22.50 302.50 0.758389 -237.50 22.50 307.50 1.15323 -237.50 22.50 312.50 1.41289 -237.50 22.50 317.50 1.53031 -237.50 22.50 322.50 1.76613 -237.50 22.50 327.50 2.12902 -237.50 22.50 332.50 2.5184 -237.50 22.50 337.50 2.73071 -237.50 22.50 342.50 2.5171 -237.50 22.50 347.50 1.88506 -237.50 22.50 352.50 1.14531 -237.50 22.50 357.50 0.583451 -237.50 27.50 2.50 0.315204 -237.50 27.50 7.50 0.0937555 -237.50 27.50 12.50 0.0419425 -237.50 27.50 17.50 0.0536605 -237.50 27.50 22.50 0.117925 -237.50 27.50 27.50 0.247702 -237.50 27.50 32.50 0.517774 -237.50 27.50 37.50 0.897298 -237.50 27.50 42.50 1.27299 -237.50 27.50 47.50 1.69826 -237.50 27.50 52.50 2.24399 -237.50 27.50 57.50 3.0451 -237.50 27.50 62.50 4.0602 -237.50 27.50 67.50 4.55459 -237.50 27.50 72.50 4.21599 -237.50 27.50 77.50 3.15074 -237.50 27.50 82.50 1.82349 -237.50 27.50 87.50 0.816508 -237.50 27.50 92.50 0.315204 -237.50 27.50 97.50 0.0937555 -237.50 27.50 102.50 0.0419425 -237.50 27.50 107.50 0.0536605 -237.50 27.50 112.50 0.117925 -237.50 27.50 117.50 0.247702 -237.50 27.50 122.50 0.517774 -237.50 27.50 127.50 0.897299 -237.50 27.50 132.50 1.27299 -237.50 27.50 137.50 1.69826 -237.50 27.50 142.50 2.24399 -237.50 27.50 147.50 3.0451 -237.50 27.50 152.50 4.0602 -237.50 27.50 157.50 4.55459 -237.50 27.50 162.50 4.21599 -237.50 27.50 167.50 3.15074 -237.50 27.50 172.50 1.8235 -237.50 27.50 177.50 0.816508 -237.50 27.50 182.50 0.315204 -237.50 27.50 187.50 0.0937555 -237.50 27.50 192.50 0.0419425 -237.50 27.50 197.50 0.0536606 -237.50 27.50 202.50 0.117925 -237.50 27.50 207.50 0.247702 -237.50 27.50 212.50 0.517774 -237.50 27.50 217.50 0.897299 -237.50 27.50 222.50 1.27299 -237.50 27.50 227.50 1.69826 -237.50 27.50 232.50 2.244 -237.50 27.50 237.50 3.04511 -237.50 27.50 242.50 4.0602 -237.50 27.50 247.50 4.55459 -237.50 27.50 252.50 4.21599 -237.50 27.50 257.50 3.15074 -237.50 27.50 262.50 1.82349 -237.50 27.50 267.50 0.816507 -237.50 27.50 272.50 0.315204 -237.50 27.50 277.50 0.0937556 -237.50 27.50 282.50 0.0419426 -237.50 27.50 287.50 0.0536605 -237.50 27.50 292.50 0.117925 -237.50 27.50 297.50 0.247701 -237.50 27.50 302.50 0.517773 -237.50 27.50 307.50 0.897298 -237.50 27.50 312.50 1.27299 -237.50 27.50 317.50 1.69826 -237.50 27.50 322.50 2.24399 -237.50 27.50 327.50 3.0451 -237.50 27.50 332.50 4.06019 -237.50 27.50 337.50 4.55459 -237.50 27.50 342.50 4.21599 -237.50 27.50 347.50 3.15075 -237.50 27.50 352.50 1.8235 -237.50 27.50 357.50 0.81651 -237.50 32.50 2.50 0.348473 -237.50 32.50 7.50 0.0903383 -237.50 32.50 12.50 0.0308658 -237.50 32.50 17.50 0.0203815 -237.50 32.50 22.50 0.0446588 -237.50 32.50 27.50 0.11048 -237.50 32.50 32.50 0.275267 -237.50 32.50 37.50 0.559573 -237.50 32.50 42.50 0.907054 -237.50 32.50 47.50 1.40564 -237.50 32.50 52.50 2.24383 -237.50 32.50 57.50 3.47637 -237.50 32.50 62.50 4.84183 -237.50 32.50 67.50 5.76945 -237.50 32.50 72.50 5.39525 -237.50 32.50 77.50 4.01869 -237.50 32.50 82.50 2.2405 -237.50 32.50 87.50 0.967029 -237.50 32.50 92.50 0.348473 -237.50 32.50 97.50 0.0903383 -237.50 32.50 102.50 0.0308658 -237.50 32.50 107.50 0.0203815 -237.50 32.50 112.50 0.0446587 -237.50 32.50 117.50 0.11048 -237.50 32.50 122.50 0.275267 -237.50 32.50 127.50 0.559573 -237.50 32.50 132.50 0.907054 -237.50 32.50 137.50 1.40564 -237.50 32.50 142.50 2.24383 -237.50 32.50 147.50 3.47637 -237.50 32.50 152.50 4.84183 -237.50 32.50 157.50 5.76945 -237.50 32.50 162.50 5.39525 -237.50 32.50 167.50 4.01869 -237.50 32.50 172.50 2.2405 -237.50 32.50 177.50 0.96703 -237.50 32.50 182.50 0.348473 -237.50 32.50 187.50 0.0903383 -237.50 32.50 192.50 0.0308657 -237.50 32.50 197.50 0.0203815 -237.50 32.50 202.50 0.0446588 -237.50 32.50 207.50 0.11048 -237.50 32.50 212.50 0.275267 -237.50 32.50 217.50 0.559573 -237.50 32.50 222.50 0.907054 -237.50 32.50 227.50 1.40564 -237.50 32.50 232.50 2.24384 -237.50 32.50 237.50 3.47637 -237.50 32.50 242.50 4.84183 -237.50 32.50 247.50 5.76945 -237.50 32.50 252.50 5.39524 -237.50 32.50 257.50 4.01869 -237.50 32.50 262.50 2.24049 -237.50 32.50 267.50 0.967028 -237.50 32.50 272.50 0.348473 -237.50 32.50 277.50 0.0903383 -237.50 32.50 282.50 0.0308658 -237.50 32.50 287.50 0.0203815 -237.50 32.50 292.50 0.0446587 -237.50 32.50 297.50 0.11048 -237.50 32.50 302.50 0.275267 -237.50 32.50 307.50 0.559573 -237.50 32.50 312.50 0.907054 -237.50 32.50 317.50 1.40564 -237.50 32.50 322.50 2.24383 -237.50 32.50 327.50 3.47636 -237.50 32.50 332.50 4.84183 -237.50 32.50 337.50 5.76944 -237.50 32.50 342.50 5.39525 -237.50 32.50 347.50 4.01869 -237.50 32.50 352.50 2.2405 -237.50 32.50 357.50 0.967031 -237.50 37.50 2.50 0.328531 -237.50 37.50 7.50 0.0866605 -237.50 37.50 12.50 0.0233344 -237.50 37.50 17.50 0.0111927 -237.50 37.50 22.50 0.016875 -237.50 37.50 27.50 0.0419014 -237.50 37.50 32.50 0.117388 -237.50 37.50 37.50 0.265309 -237.50 37.50 42.50 0.506261 -237.50 37.50 47.50 0.924941 -237.50 37.50 52.50 1.76091 -237.50 37.50 57.50 3.13348 -237.50 37.50 62.50 4.60736 -237.50 37.50 67.50 5.49299 -237.50 37.50 72.50 5.18172 -237.50 37.50 77.50 3.78194 -237.50 37.50 82.50 2.10274 -237.50 37.50 87.50 0.92047 -237.50 37.50 92.50 0.328531 -237.50 37.50 97.50 0.0866604 -237.50 37.50 102.50 0.0233343 -237.50 37.50 107.50 0.0111927 -237.50 37.50 112.50 0.016875 -237.50 37.50 117.50 0.0419014 -237.50 37.50 122.50 0.117388 -237.50 37.50 127.50 0.26531 -237.50 37.50 132.50 0.506261 -237.50 37.50 137.50 0.924941 -237.50 37.50 142.50 1.76091 -237.50 37.50 147.50 3.13348 -237.50 37.50 152.50 4.60736 -237.50 37.50 157.50 5.49299 -237.50 37.50 162.50 5.18173 -237.50 37.50 167.50 3.78194 -237.50 37.50 172.50 2.10274 -237.50 37.50 177.50 0.920471 -237.50 37.50 182.50 0.328531 -237.50 37.50 187.50 0.0866604 -237.50 37.50 192.50 0.0233343 -237.50 37.50 197.50 0.0111927 -237.50 37.50 202.50 0.016875 -237.50 37.50 207.50 0.0419013 -237.50 37.50 212.50 0.117388 -237.50 37.50 217.50 0.265309 -237.50 37.50 222.50 0.506261 -237.50 37.50 227.50 0.924941 -237.50 37.50 232.50 1.76092 -237.50 37.50 237.50 3.13348 -237.50 37.50 242.50 4.60736 -237.50 37.50 247.50 5.49299 -237.50 37.50 252.50 5.18172 -237.50 37.50 257.50 3.78194 -237.50 37.50 262.50 2.10273 -237.50 37.50 267.50 0.920469 -237.50 37.50 272.50 0.328531 -237.50 37.50 277.50 0.0866605 -237.50 37.50 282.50 0.0233344 -237.50 37.50 287.50 0.0111927 -237.50 37.50 292.50 0.016875 -237.50 37.50 297.50 0.0419013 -237.50 37.50 302.50 0.117388 -237.50 37.50 307.50 0.265309 -237.50 37.50 312.50 0.506261 -237.50 37.50 317.50 0.92494 -237.50 37.50 322.50 1.76091 -237.50 37.50 327.50 3.13348 -237.50 37.50 332.50 4.60736 -237.50 37.50 337.50 5.49299 -237.50 37.50 342.50 5.18173 -237.50 37.50 347.50 3.78195 -237.50 37.50 352.50 2.10274 -237.50 37.50 357.50 0.920473 -237.50 42.50 2.50 0.288878 -237.50 42.50 7.50 0.0891298 -237.50 42.50 12.50 0.0319311 -237.50 42.50 17.50 0.0216585 -237.50 42.50 22.50 0.018284 -237.50 42.50 27.50 0.01989 -237.50 42.50 32.50 0.0369771 -237.50 42.50 37.50 0.0901082 -237.50 42.50 42.50 0.205942 -237.50 42.50 47.50 0.474548 -237.50 42.50 52.50 1.09676 -237.50 42.50 57.50 2.13512 -237.50 42.50 62.50 3.38513 -237.50 42.50 67.50 4.12697 -237.50 42.50 72.50 3.89943 -237.50 42.50 77.50 2.78949 -237.50 42.50 82.50 1.5684 -237.50 42.50 87.50 0.741632 -237.50 42.50 92.50 0.288877 -237.50 42.50 97.50 0.0891297 -237.50 42.50 102.50 0.031931 -237.50 42.50 107.50 0.0216585 -237.50 42.50 112.50 0.018284 -237.50 42.50 117.50 0.0198901 -237.50 42.50 122.50 0.0369771 -237.50 42.50 127.50 0.0901082 -237.50 42.50 132.50 0.205942 -237.50 42.50 137.50 0.474549 -237.50 42.50 142.50 1.09676 -237.50 42.50 147.50 2.13512 -237.50 42.50 152.50 3.38513 -237.50 42.50 157.50 4.12697 -237.50 42.50 162.50 3.89943 -237.50 42.50 167.50 2.78949 -237.50 42.50 172.50 1.5684 -237.50 42.50 177.50 0.741633 -237.50 42.50 182.50 0.288877 -237.50 42.50 187.50 0.0891297 -237.50 42.50 192.50 0.031931 -237.50 42.50 197.50 0.0216585 -237.50 42.50 202.50 0.018284 -237.50 42.50 207.50 0.01989 -237.50 42.50 212.50 0.0369771 -237.50 42.50 217.50 0.0901083 -237.50 42.50 222.50 0.205942 -237.50 42.50 227.50 0.474549 -237.50 42.50 232.50 1.09676 -237.50 42.50 237.50 2.13512 -237.50 42.50 242.50 3.38514 -237.50 42.50 247.50 4.12697 -237.50 42.50 252.50 3.89943 -237.50 42.50 257.50 2.78949 -237.50 42.50 262.50 1.5684 -237.50 42.50 267.50 0.741632 -237.50 42.50 272.50 0.288878 -237.50 42.50 277.50 0.0891298 -237.50 42.50 282.50 0.031931 -237.50 42.50 287.50 0.0216585 -237.50 42.50 292.50 0.018284 -237.50 42.50 297.50 0.01989 -237.50 42.50 302.50 0.036977 -237.50 42.50 307.50 0.0901081 -237.50 42.50 312.50 0.205941 -237.50 42.50 317.50 0.474548 -237.50 42.50 322.50 1.09675 -237.50 42.50 327.50 2.13512 -237.50 42.50 332.50 3.38513 -237.50 42.50 337.50 4.12697 -237.50 42.50 342.50 3.89943 -237.50 42.50 347.50 2.7895 -237.50 42.50 352.50 1.5684 -237.50 42.50 357.50 0.741633 -237.50 47.50 2.50 0.27274 -237.50 47.50 7.50 0.126127 -237.50 47.50 12.50 0.0916225 -237.50 47.50 17.50 0.0898223 -237.50 47.50 22.50 0.0771197 -237.50 47.50 27.50 0.043737 -237.50 47.50 32.50 0.0210071 -237.50 47.50 37.50 0.0272758 -237.50 47.50 42.50 0.059534 -237.50 47.50 47.50 0.210639 -237.50 47.50 52.50 0.52032 -237.50 47.50 57.50 1.09133 -237.50 47.50 62.50 1.79439 -237.50 47.50 67.50 2.36679 -237.50 47.50 72.50 2.35483 -237.50 47.50 77.50 1.72448 -237.50 47.50 82.50 1.02107 -237.50 47.50 87.50 0.542744 -237.50 47.50 92.50 0.27274 -237.50 47.50 97.50 0.126127 -237.50 47.50 102.50 0.0916225 -237.50 47.50 107.50 0.0898223 -237.50 47.50 112.50 0.0771197 -237.50 47.50 117.50 0.043737 -237.50 47.50 122.50 0.0210071 -237.50 47.50 127.50 0.0272759 -237.50 47.50 132.50 0.0595341 -237.50 47.50 137.50 0.210639 -237.50 47.50 142.50 0.52032 -237.50 47.50 147.50 1.09133 -237.50 47.50 152.50 1.79439 -237.50 47.50 157.50 2.36679 -237.50 47.50 162.50 2.35483 -237.50 47.50 167.50 1.72448 -237.50 47.50 172.50 1.02107 -237.50 47.50 177.50 0.542744 -237.50 47.50 182.50 0.27274 -237.50 47.50 187.50 0.126127 -237.50 47.50 192.50 0.0916224 -237.50 47.50 197.50 0.0898222 -237.50 47.50 202.50 0.0771197 -237.50 47.50 207.50 0.043737 -237.50 47.50 212.50 0.0210071 -237.50 47.50 217.50 0.0272759 -237.50 47.50 222.50 0.059534 -237.50 47.50 227.50 0.210639 -237.50 47.50 232.50 0.520321 -237.50 47.50 237.50 1.09133 -237.50 47.50 242.50 1.79439 -237.50 47.50 247.50 2.36679 -237.50 47.50 252.50 2.35483 -237.50 47.50 257.50 1.72448 -237.50 47.50 262.50 1.02107 -237.50 47.50 267.50 0.542744 -237.50 47.50 272.50 0.27274 -237.50 47.50 277.50 0.126127 -237.50 47.50 282.50 0.0916225 -237.50 47.50 287.50 0.0898222 -237.50 47.50 292.50 0.0771197 -237.50 47.50 297.50 0.0437371 -237.50 47.50 302.50 0.0210071 -237.50 47.50 307.50 0.0272758 -237.50 47.50 312.50 0.059534 -237.50 47.50 317.50 0.210638 -237.50 47.50 322.50 0.520319 -237.50 47.50 327.50 1.09133 -237.50 47.50 332.50 1.79439 -237.50 47.50 337.50 2.36679 -237.50 47.50 342.50 2.35483 -237.50 47.50 347.50 1.72448 -237.50 47.50 352.50 1.02108 -237.50 47.50 357.50 0.542745 -237.50 52.50 2.50 0.288877 -237.50 52.50 7.50 0.233442 -237.50 52.50 12.50 0.257683 -237.50 52.50 17.50 0.280289 -237.50 52.50 22.50 0.252126 -237.50 52.50 27.50 0.158508 -237.50 52.50 32.50 0.0877077 -237.50 52.50 37.50 0.0432187 -237.50 52.50 42.50 0.0297947 -237.50 52.50 47.50 0.0654376 -237.50 52.50 52.50 0.195269 -237.50 52.50 57.50 0.436657 -237.50 52.50 62.50 0.679011 -237.50 52.50 67.50 0.953545 -237.50 52.50 72.50 1.07286 -237.50 52.50 77.50 0.89192 -237.50 52.50 82.50 0.60088 -237.50 52.50 87.50 0.373191 -237.50 52.50 92.50 0.288878 -237.50 52.50 97.50 0.233442 -237.50 52.50 102.50 0.257683 -237.50 52.50 107.50 0.280289 -237.50 52.50 112.50 0.252126 -237.50 52.50 117.50 0.158508 -237.50 52.50 122.50 0.0877077 -237.50 52.50 127.50 0.0432187 -237.50 52.50 132.50 0.0297947 -237.50 52.50 137.50 0.0654376 -237.50 52.50 142.50 0.19527 -237.50 52.50 147.50 0.436657 -237.50 52.50 152.50 0.67901 -237.50 52.50 157.50 0.953545 -237.50 52.50 162.50 1.07286 -237.50 52.50 167.50 0.891919 -237.50 52.50 172.50 0.60088 -237.50 52.50 177.50 0.373191 -237.50 52.50 182.50 0.288877 -237.50 52.50 187.50 0.233442 -237.50 52.50 192.50 0.257683 -237.50 52.50 197.50 0.280289 -237.50 52.50 202.50 0.252126 -237.50 52.50 207.50 0.158508 -237.50 52.50 212.50 0.0877077 -237.50 52.50 217.50 0.0432187 -237.50 52.50 222.50 0.0297947 -237.50 52.50 227.50 0.0654376 -237.50 52.50 232.50 0.19527 -237.50 52.50 237.50 0.436658 -237.50 52.50 242.50 0.679011 -237.50 52.50 247.50 0.953545 -237.50 52.50 252.50 1.07286 -237.50 52.50 257.50 0.891919 -237.50 52.50 262.50 0.60088 -237.50 52.50 267.50 0.37319 -237.50 52.50 272.50 0.288878 -237.50 52.50 277.50 0.233442 -237.50 52.50 282.50 0.257683 -237.50 52.50 287.50 0.280289 -237.50 52.50 292.50 0.252126 -237.50 52.50 297.50 0.158508 -237.50 52.50 302.50 0.0877077 -237.50 52.50 307.50 0.0432187 -237.50 52.50 312.50 0.0297947 -237.50 52.50 317.50 0.0654375 -237.50 52.50 322.50 0.195269 -237.50 52.50 327.50 0.436657 -237.50 52.50 332.50 0.67901 -237.50 52.50 337.50 0.953544 -237.50 52.50 342.50 1.07286 -237.50 52.50 347.50 0.891919 -237.50 52.50 352.50 0.600881 -237.50 52.50 357.50 0.373191 -237.50 57.50 2.50 0.328531 -237.50 57.50 7.50 0.428519 -237.50 57.50 12.50 0.570667 -237.50 57.50 17.50 0.672169 -237.50 57.50 22.50 0.649893 -237.50 57.50 27.50 0.534145 -237.50 57.50 32.50 0.371836 -237.50 57.50 37.50 0.189034 -237.50 57.50 42.50 0.0843452 -237.50 57.50 47.50 0.0583608 -237.50 57.50 52.50 0.0769568 -237.50 57.50 57.50 0.152801 -237.50 57.50 62.50 0.233768 -237.50 57.50 67.50 0.278106 -237.50 57.50 72.50 0.358515 -237.50 57.50 77.50 0.365702 -237.50 57.50 82.50 0.316921 -237.50 57.50 87.50 0.246084 -237.50 57.50 92.50 0.328531 -237.50 57.50 97.50 0.428519 -237.50 57.50 102.50 0.570667 -237.50 57.50 107.50 0.672169 -237.50 57.50 112.50 0.649893 -237.50 57.50 117.50 0.534145 -237.50 57.50 122.50 0.371836 -237.50 57.50 127.50 0.189034 -237.50 57.50 132.50 0.0843452 -237.50 57.50 137.50 0.0583608 -237.50 57.50 142.50 0.0769568 -237.50 57.50 147.50 0.152801 -237.50 57.50 152.50 0.233769 -237.50 57.50 157.50 0.278107 -237.50 57.50 162.50 0.358515 -237.50 57.50 167.50 0.365702 -237.50 57.50 172.50 0.316921 -237.50 57.50 177.50 0.246084 -237.50 57.50 182.50 0.328531 -237.50 57.50 187.50 0.428518 -237.50 57.50 192.50 0.570667 -237.50 57.50 197.50 0.672168 -237.50 57.50 202.50 0.649893 -237.50 57.50 207.50 0.534145 -237.50 57.50 212.50 0.371836 -237.50 57.50 217.50 0.189034 -237.50 57.50 222.50 0.0843453 -237.50 57.50 227.50 0.0583608 -237.50 57.50 232.50 0.076957 -237.50 57.50 237.50 0.152801 -237.50 57.50 242.50 0.233769 -237.50 57.50 247.50 0.278107 -237.50 57.50 252.50 0.358515 -237.50 57.50 257.50 0.365702 -237.50 57.50 262.50 0.316921 -237.50 57.50 267.50 0.246085 -237.50 57.50 272.50 0.328531 -237.50 57.50 277.50 0.428519 -237.50 57.50 282.50 0.570667 -237.50 57.50 287.50 0.672169 -237.50 57.50 292.50 0.649893 -237.50 57.50 297.50 0.534145 -237.50 57.50 302.50 0.371836 -237.50 57.50 307.50 0.189035 -237.50 57.50 312.50 0.0843453 -237.50 57.50 317.50 0.0583608 -237.50 57.50 322.50 0.0769567 -237.50 57.50 327.50 0.152801 -237.50 57.50 332.50 0.233768 -237.50 57.50 337.50 0.278106 -237.50 57.50 342.50 0.358514 -237.50 57.50 347.50 0.365702 -237.50 57.50 352.50 0.316922 -237.50 57.50 357.50 0.246085 -237.50 62.50 2.50 0.348473 -237.50 62.50 7.50 0.613993 -237.50 62.50 12.50 0.93186 -237.50 62.50 17.50 1.25066 -237.50 62.50 22.50 1.48491 -237.50 62.50 27.50 1.48961 -237.50 62.50 32.50 1.1483 -237.50 62.50 37.50 0.700883 -237.50 62.50 42.50 0.343469 -237.50 62.50 47.50 0.181719 -237.50 62.50 52.50 0.107718 -237.50 62.50 57.50 0.0763319 -237.50 62.50 62.50 0.072886 -237.50 62.50 67.50 0.0657576 -237.50 62.50 72.50 0.082429 -237.50 62.50 77.50 0.106064 -237.50 62.50 82.50 0.142713 -237.50 62.50 87.50 0.162287 -237.50 62.50 92.50 0.348473 -237.50 62.50 97.50 0.613993 -237.50 62.50 102.50 0.931859 -237.50 62.50 107.50 1.25066 -237.50 62.50 112.50 1.48491 -237.50 62.50 117.50 1.48961 -237.50 62.50 122.50 1.1483 -237.50 62.50 127.50 0.700883 -237.50 62.50 132.50 0.343469 -237.50 62.50 137.50 0.181719 -237.50 62.50 142.50 0.107718 -237.50 62.50 147.50 0.0763319 -237.50 62.50 152.50 0.072886 -237.50 62.50 157.50 0.0657576 -237.50 62.50 162.50 0.082429 -237.50 62.50 167.50 0.106064 -237.50 62.50 172.50 0.142713 -237.50 62.50 177.50 0.162287 -237.50 62.50 182.50 0.348473 -237.50 62.50 187.50 0.613993 -237.50 62.50 192.50 0.931859 -237.50 62.50 197.50 1.25066 -237.50 62.50 202.50 1.48491 -237.50 62.50 207.50 1.48961 -237.50 62.50 212.50 1.1483 -237.50 62.50 217.50 0.700883 -237.50 62.50 222.50 0.343468 -237.50 62.50 227.50 0.181719 -237.50 62.50 232.50 0.107718 -237.50 62.50 237.50 0.0763319 -237.50 62.50 242.50 0.0728861 -237.50 62.50 247.50 0.0657576 -237.50 62.50 252.50 0.0824291 -237.50 62.50 257.50 0.106064 -237.50 62.50 262.50 0.142713 -237.50 62.50 267.50 0.162287 -237.50 62.50 272.50 0.348473 -237.50 62.50 277.50 0.613992 -237.50 62.50 282.50 0.93186 -237.50 62.50 287.50 1.25066 -237.50 62.50 292.50 1.48491 -237.50 62.50 297.50 1.48961 -237.50 62.50 302.50 1.1483 -237.50 62.50 307.50 0.700883 -237.50 62.50 312.50 0.343469 -237.50 62.50 317.50 0.181719 -237.50 62.50 322.50 0.107718 -237.50 62.50 327.50 0.0763319 -237.50 62.50 332.50 0.072886 -237.50 62.50 337.50 0.0657576 -237.50 62.50 342.50 0.0824289 -237.50 62.50 347.50 0.106065 -237.50 62.50 352.50 0.142713 -237.50 62.50 357.50 0.162287 -237.50 67.50 2.50 0.315204 -237.50 67.50 7.50 0.659434 -237.50 67.50 12.50 1.19472 -237.50 67.50 17.50 1.93799 -237.50 67.50 22.50 2.75563 -237.50 67.50 27.50 3.04831 -237.50 67.50 32.50 2.62958 -237.50 67.50 37.50 1.8407 -237.50 67.50 42.50 1.04715 -237.50 67.50 47.50 0.526913 -237.50 67.50 52.50 0.249995 -237.50 67.50 57.50 0.0998971 -237.50 67.50 62.50 0.0320944 -237.50 67.50 67.50 0.0142209 -237.50 67.50 72.50 0.0146423 -237.50 67.50 77.50 0.0294463 -237.50 67.50 82.50 0.0651828 -237.50 67.50 87.50 0.115517 -237.50 67.50 92.50 0.315204 -237.50 67.50 97.50 0.659434 -237.50 67.50 102.50 1.19472 -237.50 67.50 107.50 1.93798 -237.50 67.50 112.50 2.75563 -237.50 67.50 117.50 3.04831 -237.50 67.50 122.50 2.62957 -237.50 67.50 127.50 1.8407 -237.50 67.50 132.50 1.04715 -237.50 67.50 137.50 0.526913 -237.50 67.50 142.50 0.249995 -237.50 67.50 147.50 0.0998971 -237.50 67.50 152.50 0.0320945 -237.50 67.50 157.50 0.0142209 -237.50 67.50 162.50 0.0146423 -237.50 67.50 167.50 0.0294463 -237.50 67.50 172.50 0.0651828 -237.50 67.50 177.50 0.115517 -237.50 67.50 182.50 0.315204 -237.50 67.50 187.50 0.659434 -237.50 67.50 192.50 1.19472 -237.50 67.50 197.50 1.93798 -237.50 67.50 202.50 2.75563 -237.50 67.50 207.50 3.04831 -237.50 67.50 212.50 2.62957 -237.50 67.50 217.50 1.8407 -237.50 67.50 222.50 1.04715 -237.50 67.50 227.50 0.526913 -237.50 67.50 232.50 0.249995 -237.50 67.50 237.50 0.099897 -237.50 67.50 242.50 0.0320944 -237.50 67.50 247.50 0.0142209 -237.50 67.50 252.50 0.0146423 -237.50 67.50 257.50 0.0294463 -237.50 67.50 262.50 0.0651829 -237.50 67.50 267.50 0.115517 -237.50 67.50 272.50 0.315204 -237.50 67.50 277.50 0.659434 -237.50 67.50 282.50 1.19472 -237.50 67.50 287.50 1.93798 -237.50 67.50 292.50 2.75563 -237.50 67.50 297.50 3.04831 -237.50 67.50 302.50 2.62958 -237.50 67.50 307.50 1.8407 -237.50 67.50 312.50 1.04715 -237.50 67.50 317.50 0.526914 -237.50 67.50 322.50 0.249995 -237.50 67.50 327.50 0.0998973 -237.50 67.50 332.50 0.0320945 -237.50 67.50 337.50 0.0142209 -237.50 67.50 342.50 0.0146423 -237.50 67.50 347.50 0.0294463 -237.50 67.50 352.50 0.0651827 -237.50 67.50 357.50 0.115517 -237.50 72.50 2.50 0.273721 -237.50 72.50 7.50 0.62141 -237.50 72.50 12.50 1.31791 -237.50 72.50 17.50 2.50652 -237.50 72.50 22.50 3.93032 -237.50 72.50 27.50 4.5733 -237.50 72.50 32.50 4.42529 -237.50 72.50 37.50 3.53505 -237.50 72.50 42.50 2.25116 -237.50 72.50 47.50 1.18521 -237.50 72.50 52.50 0.544366 -237.50 72.50 57.50 0.211772 -237.50 72.50 62.50 0.0645033 -237.50 72.50 67.50 0.0168086 -237.50 72.50 72.50 0.00840855 -237.50 72.50 77.50 0.0183021 -237.50 72.50 82.50 0.0579616 -237.50 72.50 87.50 0.10637 -237.50 72.50 92.50 0.273722 -237.50 72.50 97.50 0.62141 -237.50 72.50 102.50 1.31791 -237.50 72.50 107.50 2.50652 -237.50 72.50 112.50 3.93032 -237.50 72.50 117.50 4.5733 -237.50 72.50 122.50 4.42528 -237.50 72.50 127.50 3.53504 -237.50 72.50 132.50 2.25115 -237.50 72.50 137.50 1.18521 -237.50 72.50 142.50 0.544366 -237.50 72.50 147.50 0.211773 -237.50 72.50 152.50 0.0645035 -237.50 72.50 157.50 0.0168086 -237.50 72.50 162.50 0.00840856 -237.50 72.50 167.50 0.0183021 -237.50 72.50 172.50 0.0579616 -237.50 72.50 177.50 0.10637 -237.50 72.50 182.50 0.273722 -237.50 72.50 187.50 0.62141 -237.50 72.50 192.50 1.31791 -237.50 72.50 197.50 2.50652 -237.50 72.50 202.50 3.93032 -237.50 72.50 207.50 4.57329 -237.50 72.50 212.50 4.42529 -237.50 72.50 217.50 3.53505 -237.50 72.50 222.50 2.25116 -237.50 72.50 227.50 1.18521 -237.50 72.50 232.50 0.544365 -237.50 72.50 237.50 0.211772 -237.50 72.50 242.50 0.0645032 -237.50 72.50 247.50 0.0168086 -237.50 72.50 252.50 0.00840855 -237.50 72.50 257.50 0.0183021 -237.50 72.50 262.50 0.0579617 -237.50 72.50 267.50 0.10637 -237.50 72.50 272.50 0.273721 -237.50 72.50 277.50 0.62141 -237.50 72.50 282.50 1.31791 -237.50 72.50 287.50 2.50652 -237.50 72.50 292.50 3.93032 -237.50 72.50 297.50 4.57329 -237.50 72.50 302.50 4.42529 -237.50 72.50 307.50 3.53505 -237.50 72.50 312.50 2.25116 -237.50 72.50 317.50 1.18521 -237.50 72.50 322.50 0.544367 -237.50 72.50 327.50 0.211773 -237.50 72.50 332.50 0.0645036 -237.50 72.50 337.50 0.0168087 -237.50 72.50 342.50 0.00840856 -237.50 72.50 347.50 0.0183021 -237.50 72.50 352.50 0.0579615 -237.50 72.50 357.50 0.10637 -237.50 77.50 2.50 0.252721 -237.50 77.50 7.50 0.606695 -237.50 77.50 12.50 1.28309 -237.50 77.50 17.50 2.72246 -237.50 77.50 22.50 4.2555 -237.50 77.50 27.50 5.36618 -237.50 77.50 32.50 5.59461 -237.50 77.50 37.50 4.86035 -237.50 77.50 42.50 3.68535 -237.50 77.50 47.50 2.31717 -237.50 77.50 52.50 1.26423 -237.50 77.50 57.50 0.557497 -237.50 77.50 62.50 0.196432 -237.50 77.50 67.50 0.0641442 -237.50 77.50 72.50 0.0272175 -237.50 77.50 77.50 0.0269368 -237.50 77.50 82.50 0.0536868 -237.50 77.50 87.50 0.118702 -237.50 77.50 92.50 0.252721 -237.50 77.50 97.50 0.606695 -237.50 77.50 102.50 1.28309 -237.50 77.50 107.50 2.72246 -237.50 77.50 112.50 4.2555 -237.50 77.50 117.50 5.36618 -237.50 77.50 122.50 5.59461 -237.50 77.50 127.50 4.86034 -237.50 77.50 132.50 3.68535 -237.50 77.50 137.50 2.31717 -237.50 77.50 142.50 1.26423 -237.50 77.50 147.50 0.557497 -237.50 77.50 152.50 0.196433 -237.50 77.50 157.50 0.0641444 -237.50 77.50 162.50 0.0272175 -237.50 77.50 167.50 0.0269368 -237.50 77.50 172.50 0.0536868 -237.50 77.50 177.50 0.118701 -237.50 77.50 182.50 0.252721 -237.50 77.50 187.50 0.606696 -237.50 77.50 192.50 1.28309 -237.50 77.50 197.50 2.72246 -237.50 77.50 202.50 4.2555 -237.50 77.50 207.50 5.36618 -237.50 77.50 212.50 5.59461 -237.50 77.50 217.50 4.86035 -237.50 77.50 222.50 3.68535 -237.50 77.50 227.50 2.31717 -237.50 77.50 232.50 1.26423 -237.50 77.50 237.50 0.557496 -237.50 77.50 242.50 0.196432 -237.50 77.50 247.50 0.0641442 -237.50 77.50 252.50 0.0272174 -237.50 77.50 257.50 0.0269368 -237.50 77.50 262.50 0.0536869 -237.50 77.50 267.50 0.118702 -237.50 77.50 272.50 0.252721 -237.50 77.50 277.50 0.606695 -237.50 77.50 282.50 1.28309 -237.50 77.50 287.50 2.72246 -237.50 77.50 292.50 4.2555 -237.50 77.50 297.50 5.36618 -237.50 77.50 302.50 5.59461 -237.50 77.50 307.50 4.86035 -237.50 77.50 312.50 3.68535 -237.50 77.50 317.50 2.31717 -237.50 77.50 322.50 1.26423 -237.50 77.50 327.50 0.557498 -237.50 77.50 332.50 0.196433 -237.50 77.50 337.50 0.0641445 -237.50 77.50 342.50 0.0272175 -237.50 77.50 347.50 0.0269368 -237.50 77.50 352.50 0.0536867 -237.50 77.50 357.50 0.118701 -237.50 82.50 2.50 0.202441 -237.50 82.50 7.50 0.501239 -237.50 82.50 12.50 1.16129 -237.50 82.50 17.50 2.22946 -237.50 82.50 22.50 3.63459 -237.50 82.50 27.50 4.98475 -237.50 82.50 32.50 5.63597 -237.50 82.50 37.50 5.44541 -237.50 82.50 42.50 4.55863 -237.50 82.50 47.50 3.42283 -237.50 82.50 52.50 2.26138 -237.50 82.50 57.50 1.19889 -237.50 82.50 62.50 0.542052 -237.50 82.50 67.50 0.234685 -237.50 82.50 72.50 0.102323 -237.50 82.50 77.50 0.0523341 -237.50 82.50 82.50 0.0498725 -237.50 82.50 87.50 0.0987703 -237.50 82.50 92.50 0.202441 -237.50 82.50 97.50 0.501239 -237.50 82.50 102.50 1.1613 -237.50 82.50 107.50 2.22946 -237.50 82.50 112.50 3.63459 -237.50 82.50 117.50 4.98475 -237.50 82.50 122.50 5.63597 -237.50 82.50 127.50 5.44541 -237.50 82.50 132.50 4.55863 -237.50 82.50 137.50 3.42283 -237.50 82.50 142.50 2.26138 -237.50 82.50 147.50 1.19889 -237.50 82.50 152.50 0.542053 -237.50 82.50 157.50 0.234686 -237.50 82.50 162.50 0.102323 -237.50 82.50 167.50 0.0523342 -237.50 82.50 172.50 0.0498725 -237.50 82.50 177.50 0.0987703 -237.50 82.50 182.50 0.202441 -237.50 82.50 187.50 0.501239 -237.50 82.50 192.50 1.1613 -237.50 82.50 197.50 2.22946 -237.50 82.50 202.50 3.63459 -237.50 82.50 207.50 4.98475 -237.50 82.50 212.50 5.63597 -237.50 82.50 217.50 5.44541 -237.50 82.50 222.50 4.55863 -237.50 82.50 227.50 3.42283 -237.50 82.50 232.50 2.26137 -237.50 82.50 237.50 1.19889 -237.50 82.50 242.50 0.542052 -237.50 82.50 247.50 0.234685 -237.50 82.50 252.50 0.102323 -237.50 82.50 257.50 0.0523341 -237.50 82.50 262.50 0.0498726 -237.50 82.50 267.50 0.0987705 -237.50 82.50 272.50 0.202441 -237.50 82.50 277.50 0.501239 -237.50 82.50 282.50 1.16129 -237.50 82.50 287.50 2.22946 -237.50 82.50 292.50 3.63459 -237.50 82.50 297.50 4.98475 -237.50 82.50 302.50 5.63597 -237.50 82.50 307.50 5.44541 -237.50 82.50 312.50 4.55863 -237.50 82.50 317.50 3.42283 -237.50 82.50 322.50 2.26138 -237.50 82.50 327.50 1.19889 -237.50 82.50 332.50 0.542054 -237.50 82.50 337.50 0.234686 -237.50 82.50 342.50 0.102323 -237.50 82.50 347.50 0.0523342 -237.50 82.50 352.50 0.0498725 -237.50 82.50 357.50 0.0987701 -237.50 87.50 2.50 0.118631 -237.50 87.50 7.50 0.309785 -237.50 87.50 12.50 0.679188 -237.50 87.50 17.50 1.33035 -237.50 87.50 22.50 2.38726 -237.50 87.50 27.50 3.69477 -237.50 87.50 32.50 4.72231 -237.50 87.50 37.50 5.08434 -237.50 87.50 42.50 4.77797 -237.50 87.50 47.50 4.06204 -237.50 87.50 52.50 3.11613 -237.50 87.50 57.50 2.12006 -237.50 87.50 62.50 1.29429 -237.50 87.50 67.50 0.72263 -237.50 87.50 72.50 0.364802 -237.50 87.50 77.50 0.164996 -237.50 87.50 82.50 0.0781171 -237.50 87.50 87.50 0.0623658 -237.50 87.50 92.50 0.118631 -237.50 87.50 97.50 0.309785 -237.50 87.50 102.50 0.679188 -237.50 87.50 107.50 1.33035 -237.50 87.50 112.50 2.38726 -237.50 87.50 117.50 3.69477 -237.50 87.50 122.50 4.72231 -237.50 87.50 127.50 5.08434 -237.50 87.50 132.50 4.77797 -237.50 87.50 137.50 4.06203 -237.50 87.50 142.50 3.11613 -237.50 87.50 147.50 2.12006 -237.50 87.50 152.50 1.29429 -237.50 87.50 157.50 0.722631 -237.50 87.50 162.50 0.364802 -237.50 87.50 167.50 0.164997 -237.50 87.50 172.50 0.0781171 -237.50 87.50 177.50 0.0623658 -237.50 87.50 182.50 0.118631 -237.50 87.50 187.50 0.309785 -237.50 87.50 192.50 0.679188 -237.50 87.50 197.50 1.33035 -237.50 87.50 202.50 2.38726 -237.50 87.50 207.50 3.69477 -237.50 87.50 212.50 4.72231 -237.50 87.50 217.50 5.08434 -237.50 87.50 222.50 4.77797 -237.50 87.50 227.50 4.06203 -237.50 87.50 232.50 3.11612 -237.50 87.50 237.50 2.12006 -237.50 87.50 242.50 1.29429 -237.50 87.50 247.50 0.72263 -237.50 87.50 252.50 0.364802 -237.50 87.50 257.50 0.164996 -237.50 87.50 262.50 0.078117 -237.50 87.50 267.50 0.0623658 -237.50 87.50 272.50 0.118631 -237.50 87.50 277.50 0.309785 -237.50 87.50 282.50 0.679188 -237.50 87.50 287.50 1.33035 -237.50 87.50 292.50 2.38726 -237.50 87.50 297.50 3.69477 -237.50 87.50 302.50 4.72231 -237.50 87.50 307.50 5.08434 -237.50 87.50 312.50 4.77797 -237.50 87.50 317.50 4.06204 -237.50 87.50 322.50 3.11613 -237.50 87.50 327.50 2.12006 -237.50 87.50 332.50 1.2943 -237.50 87.50 337.50 0.722632 -237.50 87.50 342.50 0.364803 -237.50 87.50 347.50 0.164997 -237.50 87.50 352.50 0.0781171 -237.50 87.50 357.50 0.0623657 -237.50 92.50 2.50 0.0760385 -237.50 92.50 7.50 0.116068 -237.50 92.50 12.50 0.241647 -237.50 92.50 17.50 0.507759 -237.50 92.50 22.50 1.03943 -237.50 92.50 27.50 1.8542 -237.50 92.50 32.50 2.76305 -237.50 92.50 37.50 3.51916 -237.50 92.50 42.50 3.96992 -237.50 92.50 47.50 4.10837 -237.50 92.50 52.50 3.96992 -237.50 92.50 57.50 3.51916 -237.50 92.50 62.50 2.76305 -237.50 92.50 67.50 1.8542 -237.50 92.50 72.50 1.03943 -237.50 92.50 77.50 0.507759 -237.50 92.50 82.50 0.241647 -237.50 92.50 87.50 0.116068 -237.50 92.50 92.50 0.0760385 -237.50 92.50 97.50 0.116068 -237.50 92.50 102.50 0.241647 -237.50 92.50 107.50 0.507759 -237.50 92.50 112.50 1.03943 -237.50 92.50 117.50 1.85421 -237.50 92.50 122.50 2.76305 -237.50 92.50 127.50 3.51916 -237.50 92.50 132.50 3.96992 -237.50 92.50 137.50 4.10838 -237.50 92.50 142.50 3.96992 -237.50 92.50 147.50 3.51916 -237.50 92.50 152.50 2.76305 -237.50 92.50 157.50 1.8542 -237.50 92.50 162.50 1.03943 -237.50 92.50 167.50 0.50776 -237.50 92.50 172.50 0.241648 -237.50 92.50 177.50 0.116068 -237.50 92.50 182.50 0.0760386 -237.50 92.50 187.50 0.116068 -237.50 92.50 192.50 0.241647 -237.50 92.50 197.50 0.507759 -237.50 92.50 202.50 1.03943 -237.50 92.50 207.50 1.8542 -237.50 92.50 212.50 2.76305 -237.50 92.50 217.50 3.51916 -237.50 92.50 222.50 3.96992 -237.50 92.50 227.50 4.10838 -237.50 92.50 232.50 3.96992 -237.50 92.50 237.50 3.51916 -237.50 92.50 242.50 2.76305 -237.50 92.50 247.50 1.8542 -237.50 92.50 252.50 1.03943 -237.50 92.50 257.50 0.507759 -237.50 92.50 262.50 0.241647 -237.50 92.50 267.50 0.116068 -237.50 92.50 272.50 0.0760385 -237.50 92.50 277.50 0.116068 -237.50 92.50 282.50 0.241647 -237.50 92.50 287.50 0.507759 -237.50 92.50 292.50 1.03943 -237.50 92.50 297.50 1.8542 -237.50 92.50 302.50 2.76305 -237.50 92.50 307.50 3.51916 -237.50 92.50 312.50 3.96992 -237.50 92.50 317.50 4.10837 -237.50 92.50 322.50 3.96992 -237.50 92.50 327.50 3.51916 -237.50 92.50 332.50 2.76305 -237.50 92.50 337.50 1.85421 -237.50 92.50 342.50 1.03943 -237.50 92.50 347.50 0.50776 -237.50 92.50 352.50 0.241648 -237.50 92.50 357.50 0.116068 -237.50 97.50 2.50 0.118631 -237.50 97.50 7.50 0.0623658 -237.50 97.50 12.50 0.078117 -237.50 97.50 17.50 0.164997 -237.50 97.50 22.50 0.364802 -237.50 97.50 27.50 0.722631 -237.50 97.50 32.50 1.29429 -237.50 97.50 37.50 2.12006 -237.50 97.50 42.50 3.11613 -237.50 97.50 47.50 4.06204 -237.50 97.50 52.50 4.77797 -237.50 97.50 57.50 5.08434 -237.50 97.50 62.50 4.72231 -237.50 97.50 67.50 3.69477 -237.50 97.50 72.50 2.38726 -237.50 97.50 77.50 1.33035 -237.50 97.50 82.50 0.679188 -237.50 97.50 87.50 0.309785 -237.50 97.50 92.50 0.118631 -237.50 97.50 97.50 0.0623658 -237.50 97.50 102.50 0.0781171 -237.50 97.50 107.50 0.164997 -237.50 97.50 112.50 0.364803 -237.50 97.50 117.50 0.722631 -237.50 97.50 122.50 1.2943 -237.50 97.50 127.50 2.12006 -237.50 97.50 132.50 3.11613 -237.50 97.50 137.50 4.06204 -237.50 97.50 142.50 4.77797 -237.50 97.50 147.50 5.08434 -237.50 97.50 152.50 4.72231 -237.50 97.50 157.50 3.69477 -237.50 97.50 162.50 2.38726 -237.50 97.50 167.50 1.33035 -237.50 97.50 172.50 0.679188 -237.50 97.50 177.50 0.309785 -237.50 97.50 182.50 0.118631 -237.50 97.50 187.50 0.0623658 -237.50 97.50 192.50 0.0781171 -237.50 97.50 197.50 0.164997 -237.50 97.50 202.50 0.364803 -237.50 97.50 207.50 0.722631 -237.50 97.50 212.50 1.2943 -237.50 97.50 217.50 2.12006 -237.50 97.50 222.50 3.11613 -237.50 97.50 227.50 4.06203 -237.50 97.50 232.50 4.77797 -237.50 97.50 237.50 5.08434 -237.50 97.50 242.50 4.72231 -237.50 97.50 247.50 3.69477 -237.50 97.50 252.50 2.38725 -237.50 97.50 257.50 1.33035 -237.50 97.50 262.50 0.679187 -237.50 97.50 267.50 0.309784 -237.50 97.50 272.50 0.118631 -237.50 97.50 277.50 0.0623658 -237.50 97.50 282.50 0.0781171 -237.50 97.50 287.50 0.164997 -237.50 97.50 292.50 0.364803 -237.50 97.50 297.50 0.72263 -237.50 97.50 302.50 1.29429 -237.50 97.50 307.50 2.12006 -237.50 97.50 312.50 3.11613 -237.50 97.50 317.50 4.06203 -237.50 97.50 322.50 4.77797 -237.50 97.50 327.50 5.08434 -237.50 97.50 332.50 4.72231 -237.50 97.50 337.50 3.69477 -237.50 97.50 342.50 2.38726 -237.50 97.50 347.50 1.33035 -237.50 97.50 352.50 0.679189 -237.50 97.50 357.50 0.309786 -237.50 102.50 2.50 0.202441 -237.50 102.50 7.50 0.0987703 -237.50 102.50 12.50 0.0498725 -237.50 102.50 17.50 0.0523341 -237.50 102.50 22.50 0.102323 -237.50 102.50 27.50 0.234686 -237.50 102.50 32.50 0.542053 -237.50 102.50 37.50 1.19889 -237.50 102.50 42.50 2.26138 -237.50 102.50 47.50 3.42283 -237.50 102.50 52.50 4.55864 -237.50 102.50 57.50 5.44541 -237.50 102.50 62.50 5.63597 -237.50 102.50 67.50 4.98475 -237.50 102.50 72.50 3.63459 -237.50 102.50 77.50 2.22946 -237.50 102.50 82.50 1.16129 -237.50 102.50 87.50 0.501239 -237.50 102.50 92.50 0.202441 -237.50 102.50 97.50 0.0987703 -237.50 102.50 102.50 0.0498725 -237.50 102.50 107.50 0.0523342 -237.50 102.50 112.50 0.102323 -237.50 102.50 117.50 0.234686 -237.50 102.50 122.50 0.542054 -237.50 102.50 127.50 1.19889 -237.50 102.50 132.50 2.26138 -237.50 102.50 137.50 3.42283 -237.50 102.50 142.50 4.55863 -237.50 102.50 147.50 5.44541 -237.50 102.50 152.50 5.63597 -237.50 102.50 157.50 4.98475 -237.50 102.50 162.50 3.63459 -237.50 102.50 167.50 2.22946 -237.50 102.50 172.50 1.1613 -237.50 102.50 177.50 0.50124 -237.50 102.50 182.50 0.202441 -237.50 102.50 187.50 0.0987702 -237.50 102.50 192.50 0.0498725 -237.50 102.50 197.50 0.0523342 -237.50 102.50 202.50 0.102323 -237.50 102.50 207.50 0.234686 -237.50 102.50 212.50 0.542053 -237.50 102.50 217.50 1.19889 -237.50 102.50 222.50 2.26138 -237.50 102.50 227.50 3.42283 -237.50 102.50 232.50 4.55864 -237.50 102.50 237.50 5.44541 -237.50 102.50 242.50 5.63597 -237.50 102.50 247.50 4.98475 -237.50 102.50 252.50 3.63459 -237.50 102.50 257.50 2.22946 -237.50 102.50 262.50 1.16129 -237.50 102.50 267.50 0.501239 -237.50 102.50 272.50 0.202441 -237.50 102.50 277.50 0.0987703 -237.50 102.50 282.50 0.0498725 -237.50 102.50 287.50 0.0523341 -237.50 102.50 292.50 0.102323 -237.50 102.50 297.50 0.234685 -237.50 102.50 302.50 0.542052 -237.50 102.50 307.50 1.19889 -237.50 102.50 312.50 2.26137 -237.50 102.50 317.50 3.42283 -237.50 102.50 322.50 4.55863 -237.50 102.50 327.50 5.4454 -237.50 102.50 332.50 5.63597 -237.50 102.50 337.50 4.98476 -237.50 102.50 342.50 3.6346 -237.50 102.50 347.50 2.22947 -237.50 102.50 352.50 1.1613 -237.50 102.50 357.50 0.50124 -237.50 107.50 2.50 0.252721 -237.50 107.50 7.50 0.118702 -237.50 107.50 12.50 0.0536868 -237.50 107.50 17.50 0.0269368 -237.50 107.50 22.50 0.0272175 -237.50 107.50 27.50 0.0641444 -237.50 107.50 32.50 0.196433 -237.50 107.50 37.50 0.557497 -237.50 107.50 42.50 1.26423 -237.50 107.50 47.50 2.31717 -237.50 107.50 52.50 3.68535 -237.50 107.50 57.50 4.86035 -237.50 107.50 62.50 5.59461 -237.50 107.50 67.50 5.36618 -237.50 107.50 72.50 4.2555 -237.50 107.50 77.50 2.72246 -237.50 107.50 82.50 1.28309 -237.50 107.50 87.50 0.606695 -237.50 107.50 92.50 0.252721 -237.50 107.50 97.50 0.118702 -237.50 107.50 102.50 0.0536868 -237.50 107.50 107.50 0.0269368 -237.50 107.50 112.50 0.0272175 -237.50 107.50 117.50 0.0641445 -237.50 107.50 122.50 0.196433 -237.50 107.50 127.50 0.557498 -237.50 107.50 132.50 1.26423 -237.50 107.50 137.50 2.31717 -237.50 107.50 142.50 3.68535 -237.50 107.50 147.50 4.86035 -237.50 107.50 152.50 5.59461 -237.50 107.50 157.50 5.36618 -237.50 107.50 162.50 4.2555 -237.50 107.50 167.50 2.72246 -237.50 107.50 172.50 1.28309 -237.50 107.50 177.50 0.606695 -237.50 107.50 182.50 0.252721 -237.50 107.50 187.50 0.118702 -237.50 107.50 192.50 0.0536867 -237.50 107.50 197.50 0.0269368 -237.50 107.50 202.50 0.0272175 -237.50 107.50 207.50 0.0641444 -237.50 107.50 212.50 0.196433 -237.50 107.50 217.50 0.557497 -237.50 107.50 222.50 1.26423 -237.50 107.50 227.50 2.31717 -237.50 107.50 232.50 3.68535 -237.50 107.50 237.50 4.86035 -237.50 107.50 242.50 5.59461 -237.50 107.50 247.50 5.36618 -237.50 107.50 252.50 4.2555 -237.50 107.50 257.50 2.72245 -237.50 107.50 262.50 1.28309 -237.50 107.50 267.50 0.606694 -237.50 107.50 272.50 0.252721 -237.50 107.50 277.50 0.118702 -237.50 107.50 282.50 0.0536868 -237.50 107.50 287.50 0.0269368 -237.50 107.50 292.50 0.0272175 -237.50 107.50 297.50 0.0641442 -237.50 107.50 302.50 0.196433 -237.50 107.50 307.50 0.557496 -237.50 107.50 312.50 1.26423 -237.50 107.50 317.50 2.31717 -237.50 107.50 322.50 3.68535 -237.50 107.50 327.50 4.86035 -237.50 107.50 332.50 5.59461 -237.50 107.50 337.50 5.36618 -237.50 107.50 342.50 4.2555 -237.50 107.50 347.50 2.72246 -237.50 107.50 352.50 1.28309 -237.50 107.50 357.50 0.606696 -237.50 112.50 2.50 0.273721 -237.50 112.50 7.50 0.10637 -237.50 112.50 12.50 0.0579616 -237.50 112.50 17.50 0.0183021 -237.50 112.50 22.50 0.00840855 -237.50 112.50 27.50 0.0168086 -237.50 112.50 32.50 0.0645034 -237.50 112.50 37.50 0.211773 -237.50 112.50 42.50 0.544366 -237.50 112.50 47.50 1.18521 -237.50 112.50 52.50 2.25116 -237.50 112.50 57.50 3.53505 -237.50 112.50 62.50 4.42529 -237.50 112.50 67.50 4.5733 -237.50 112.50 72.50 3.93032 -237.50 112.50 77.50 2.50652 -237.50 112.50 82.50 1.31791 -237.50 112.50 87.50 0.621409 -237.50 112.50 92.50 0.273721 -237.50 112.50 97.50 0.10637 -237.50 112.50 102.50 0.0579615 -237.50 112.50 107.50 0.0183021 -237.50 112.50 112.50 0.00840855 -237.50 112.50 117.50 0.0168086 -237.50 112.50 122.50 0.0645035 -237.50 112.50 127.50 0.211773 -237.50 112.50 132.50 0.544367 -237.50 112.50 137.50 1.18522 -237.50 112.50 142.50 2.25116 -237.50 112.50 147.50 3.53505 -237.50 112.50 152.50 4.42529 -237.50 112.50 157.50 4.57329 -237.50 112.50 162.50 3.93032 -237.50 112.50 167.50 2.50652 -237.50 112.50 172.50 1.31791 -237.50 112.50 177.50 0.62141 -237.50 112.50 182.50 0.273721 -237.50 112.50 187.50 0.10637 -237.50 112.50 192.50 0.0579615 -237.50 112.50 197.50 0.0183021 -237.50 112.50 202.50 0.00840856 -237.50 112.50 207.50 0.0168086 -237.50 112.50 212.50 0.0645034 -237.50 112.50 217.50 0.211773 -237.50 112.50 222.50 0.544366 -237.50 112.50 227.50 1.18521 -237.50 112.50 232.50 2.25116 -237.50 112.50 237.50 3.53505 -237.50 112.50 242.50 4.42529 -237.50 112.50 247.50 4.5733 -237.50 112.50 252.50 3.93032 -237.50 112.50 257.50 2.50652 -237.50 112.50 262.50 1.31791 -237.50 112.50 267.50 0.621409 -237.50 112.50 272.50 0.273721 -237.50 112.50 277.50 0.10637 -237.50 112.50 282.50 0.0579616 -237.50 112.50 287.50 0.0183021 -237.50 112.50 292.50 0.00840855 -237.50 112.50 297.50 0.0168085 -237.50 112.50 302.50 0.0645033 -237.50 112.50 307.50 0.211772 -237.50 112.50 312.50 0.544365 -237.50 112.50 317.50 1.18521 -237.50 112.50 322.50 2.25115 -237.50 112.50 327.50 3.53504 -237.50 112.50 332.50 4.42528 -237.50 112.50 337.50 4.5733 -237.50 112.50 342.50 3.93032 -237.50 112.50 347.50 2.50653 -237.50 112.50 352.50 1.31791 -237.50 112.50 357.50 0.621411 -237.50 117.50 2.50 0.315204 -237.50 117.50 7.50 0.115517 -237.50 117.50 12.50 0.0651828 -237.50 117.50 17.50 0.0294464 -237.50 117.50 22.50 0.0146423 -237.50 117.50 27.50 0.0142209 -237.50 117.50 32.50 0.0320945 -237.50 117.50 37.50 0.0998972 -237.50 117.50 42.50 0.249995 -237.50 117.50 47.50 0.526913 -237.50 117.50 52.50 1.04715 -237.50 117.50 57.50 1.8407 -237.50 117.50 62.50 2.62957 -237.50 117.50 67.50 3.04831 -237.50 117.50 72.50 2.75563 -237.50 117.50 77.50 1.93798 -237.50 117.50 82.50 1.19472 -237.50 117.50 87.50 0.659434 -237.50 117.50 92.50 0.315204 -237.50 117.50 97.50 0.115517 -237.50 117.50 102.50 0.0651828 -237.50 117.50 107.50 0.0294464 -237.50 117.50 112.50 0.0146423 -237.50 117.50 117.50 0.0142209 -237.50 117.50 122.50 0.0320945 -237.50 117.50 127.50 0.0998973 -237.50 117.50 132.50 0.249995 -237.50 117.50 137.50 0.526913 -237.50 117.50 142.50 1.04715 -237.50 117.50 147.50 1.8407 -237.50 117.50 152.50 2.62957 -237.50 117.50 157.50 3.04831 -237.50 117.50 162.50 2.75563 -237.50 117.50 167.50 1.93799 -237.50 117.50 172.50 1.19472 -237.50 117.50 177.50 0.659434 -237.50 117.50 182.50 0.315204 -237.50 117.50 187.50 0.115517 -237.50 117.50 192.50 0.0651828 -237.50 117.50 197.50 0.0294463 -237.50 117.50 202.50 0.0146423 -237.50 117.50 207.50 0.0142209 -237.50 117.50 212.50 0.0320944 -237.50 117.50 217.50 0.0998971 -237.50 117.50 222.50 0.249995 -237.50 117.50 227.50 0.526912 -237.50 117.50 232.50 1.04715 -237.50 117.50 237.50 1.8407 -237.50 117.50 242.50 2.62957 -237.50 117.50 247.50 3.04831 -237.50 117.50 252.50 2.75563 -237.50 117.50 257.50 1.93798 -237.50 117.50 262.50 1.19472 -237.50 117.50 267.50 0.659433 -237.50 117.50 272.50 0.315204 -237.50 117.50 277.50 0.115517 -237.50 117.50 282.50 0.0651829 -237.50 117.50 287.50 0.0294464 -237.50 117.50 292.50 0.0146423 -237.50 117.50 297.50 0.0142209 -237.50 117.50 302.50 0.0320944 -237.50 117.50 307.50 0.099897 -237.50 117.50 312.50 0.249995 -237.50 117.50 317.50 0.526912 -237.50 117.50 322.50 1.04715 -237.50 117.50 327.50 1.8407 -237.50 117.50 332.50 2.62957 -237.50 117.50 337.50 3.04831 -237.50 117.50 342.50 2.75563 -237.50 117.50 347.50 1.93799 -237.50 117.50 352.50 1.19472 -237.50 117.50 357.50 0.659435 -237.50 122.50 2.50 0.348473 -237.50 122.50 7.50 0.162287 -237.50 122.50 12.50 0.142713 -237.50 122.50 17.50 0.106065 -237.50 122.50 22.50 0.0824291 -237.50 122.50 27.50 0.0657578 -237.50 122.50 32.50 0.0728861 -237.50 122.50 37.50 0.0763319 -237.50 122.50 42.50 0.107718 -237.50 122.50 47.50 0.181719 -237.50 122.50 52.50 0.343468 -237.50 122.50 57.50 0.700883 -237.50 122.50 62.50 1.1483 -237.50 122.50 67.50 1.48961 -237.50 122.50 72.50 1.48491 -237.50 122.50 77.50 1.25066 -237.50 122.50 82.50 0.931859 -237.50 122.50 87.50 0.613992 -237.50 122.50 92.50 0.348473 -237.50 122.50 97.50 0.162287 -237.50 122.50 102.50 0.142713 -237.50 122.50 107.50 0.106065 -237.50 122.50 112.50 0.0824291 -237.50 122.50 117.50 0.0657577 -237.50 122.50 122.50 0.0728861 -237.50 122.50 127.50 0.076332 -237.50 122.50 132.50 0.107718 -237.50 122.50 137.50 0.181719 -237.50 122.50 142.50 0.343468 -237.50 122.50 147.50 0.700883 -237.50 122.50 152.50 1.1483 -237.50 122.50 157.50 1.48961 -237.50 122.50 162.50 1.48491 -237.50 122.50 167.50 1.25066 -237.50 122.50 172.50 0.931859 -237.50 122.50 177.50 0.613992 -237.50 122.50 182.50 0.348473 -237.50 122.50 187.50 0.162287 -237.50 122.50 192.50 0.142713 -237.50 122.50 197.50 0.106064 -237.50 122.50 202.50 0.082429 -237.50 122.50 207.50 0.0657577 -237.50 122.50 212.50 0.0728861 -237.50 122.50 217.50 0.076332 -237.50 122.50 222.50 0.107718 -237.50 122.50 227.50 0.181719 -237.50 122.50 232.50 0.343469 -237.50 122.50 237.50 0.700884 -237.50 122.50 242.50 1.1483 -237.50 122.50 247.50 1.48961 -237.50 122.50 252.50 1.48491 -237.50 122.50 257.50 1.25066 -237.50 122.50 262.50 0.931859 -237.50 122.50 267.50 0.613992 -237.50 122.50 272.50 0.348473 -237.50 122.50 277.50 0.162287 -237.50 122.50 282.50 0.142713 -237.50 122.50 287.50 0.106065 -237.50 122.50 292.50 0.0824291 -237.50 122.50 297.50 0.0657578 -237.50 122.50 302.50 0.0728862 -237.50 122.50 307.50 0.0763319 -237.50 122.50 312.50 0.107718 -237.50 122.50 317.50 0.181719 -237.50 122.50 322.50 0.343467 -237.50 122.50 327.50 0.700881 -237.50 122.50 332.50 1.1483 -237.50 122.50 337.50 1.48961 -237.50 122.50 342.50 1.48491 -237.50 122.50 347.50 1.25066 -237.50 122.50 352.50 0.93186 -237.50 122.50 357.50 0.613993 -237.50 127.50 2.50 0.328531 -237.50 127.50 7.50 0.246085 -237.50 127.50 12.50 0.316922 -237.50 127.50 17.50 0.365703 -237.50 127.50 22.50 0.358515 -237.50 127.50 27.50 0.278107 -237.50 127.50 32.50 0.233769 -237.50 127.50 37.50 0.152801 -237.50 127.50 42.50 0.0769568 -237.50 127.50 47.50 0.0583608 -237.50 127.50 52.50 0.0843453 -237.50 127.50 57.50 0.189034 -237.50 127.50 62.50 0.371836 -237.50 127.50 67.50 0.534145 -237.50 127.50 72.50 0.649893 -237.50 127.50 77.50 0.672168 -237.50 127.50 82.50 0.570667 -237.50 127.50 87.50 0.428519 -237.50 127.50 92.50 0.328531 -237.50 127.50 97.50 0.246084 -237.50 127.50 102.50 0.316921 -237.50 127.50 107.50 0.365703 -237.50 127.50 112.50 0.358515 -237.50 127.50 117.50 0.278106 -237.50 127.50 122.50 0.233769 -237.50 127.50 127.50 0.152801 -237.50 127.50 132.50 0.0769568 -237.50 127.50 137.50 0.0583608 -237.50 127.50 142.50 0.0843453 -237.50 127.50 147.50 0.189034 -237.50 127.50 152.50 0.371836 -237.50 127.50 157.50 0.534145 -237.50 127.50 162.50 0.649893 -237.50 127.50 167.50 0.672169 -237.50 127.50 172.50 0.570667 -237.50 127.50 177.50 0.428518 -237.50 127.50 182.50 0.328531 -237.50 127.50 187.50 0.246084 -237.50 127.50 192.50 0.316921 -237.50 127.50 197.50 0.365702 -237.50 127.50 202.50 0.358515 -237.50 127.50 207.50 0.278106 -237.50 127.50 212.50 0.233769 -237.50 127.50 217.50 0.152801 -237.50 127.50 222.50 0.0769568 -237.50 127.50 227.50 0.0583608 -237.50 127.50 232.50 0.0843454 -237.50 127.50 237.50 0.189034 -237.50 127.50 242.50 0.371836 -237.50 127.50 247.50 0.534145 -237.50 127.50 252.50 0.649893 -237.50 127.50 257.50 0.672168 -237.50 127.50 262.50 0.570667 -237.50 127.50 267.50 0.428519 -237.50 127.50 272.50 0.328531 -237.50 127.50 277.50 0.246085 -237.50 127.50 282.50 0.316921 -237.50 127.50 287.50 0.365702 -237.50 127.50 292.50 0.358515 -237.50 127.50 297.50 0.278107 -237.50 127.50 302.50 0.233769 -237.50 127.50 307.50 0.152801 -237.50 127.50 312.50 0.0769568 -237.50 127.50 317.50 0.0583608 -237.50 127.50 322.50 0.0843451 -237.50 127.50 327.50 0.189034 -237.50 127.50 332.50 0.371835 -237.50 127.50 337.50 0.534144 -237.50 127.50 342.50 0.649893 -237.50 127.50 347.50 0.672169 -237.50 127.50 352.50 0.570667 -237.50 127.50 357.50 0.428519 -237.50 132.50 2.50 0.288878 -237.50 132.50 7.50 0.373191 -237.50 132.50 12.50 0.60088 -237.50 132.50 17.50 0.89192 -237.50 132.50 22.50 1.07286 -237.50 132.50 27.50 0.953544 -237.50 132.50 32.50 0.679011 -237.50 132.50 37.50 0.436657 -237.50 132.50 42.50 0.19527 -237.50 132.50 47.50 0.0654376 -237.50 132.50 52.50 0.0297947 -237.50 132.50 57.50 0.0432187 -237.50 132.50 62.50 0.0877078 -237.50 132.50 67.50 0.158508 -237.50 132.50 72.50 0.252126 -237.50 132.50 77.50 0.280289 -237.50 132.50 82.50 0.257683 -237.50 132.50 87.50 0.233442 -237.50 132.50 92.50 0.288878 -237.50 132.50 97.50 0.373191 -237.50 132.50 102.50 0.60088 -237.50 132.50 107.50 0.891919 -237.50 132.50 112.50 1.07286 -237.50 132.50 117.50 0.953544 -237.50 132.50 122.50 0.67901 -237.50 132.50 127.50 0.436657 -237.50 132.50 132.50 0.195269 -237.50 132.50 137.50 0.0654376 -237.50 132.50 142.50 0.0297947 -237.50 132.50 147.50 0.0432188 -237.50 132.50 152.50 0.0877077 -237.50 132.50 157.50 0.158508 -237.50 132.50 162.50 0.252126 -237.50 132.50 167.50 0.280289 -237.50 132.50 172.50 0.257683 -237.50 132.50 177.50 0.233442 -237.50 132.50 182.50 0.288878 -237.50 132.50 187.50 0.373191 -237.50 132.50 192.50 0.60088 -237.50 132.50 197.50 0.89192 -237.50 132.50 202.50 1.07286 -237.50 132.50 207.50 0.953544 -237.50 132.50 212.50 0.679011 -237.50 132.50 217.50 0.436657 -237.50 132.50 222.50 0.19527 -237.50 132.50 227.50 0.0654376 -237.50 132.50 232.50 0.0297946 -237.50 132.50 237.50 0.0432188 -237.50 132.50 242.50 0.0877078 -237.50 132.50 247.50 0.158508 -237.50 132.50 252.50 0.252126 -237.50 132.50 257.50 0.280289 -237.50 132.50 262.50 0.257683 -237.50 132.50 267.50 0.233442 -237.50 132.50 272.50 0.288878 -237.50 132.50 277.50 0.373191 -237.50 132.50 282.50 0.60088 -237.50 132.50 287.50 0.89192 -237.50 132.50 292.50 1.07286 -237.50 132.50 297.50 0.953545 -237.50 132.50 302.50 0.679011 -237.50 132.50 307.50 0.436657 -237.50 132.50 312.50 0.19527 -237.50 132.50 317.50 0.0654377 -237.50 132.50 322.50 0.0297947 -237.50 132.50 327.50 0.0432186 -237.50 132.50 332.50 0.0877076 -237.50 132.50 337.50 0.158508 -237.50 132.50 342.50 0.252126 -237.50 132.50 347.50 0.280289 -237.50 132.50 352.50 0.257683 -237.50 132.50 357.50 0.233442 -237.50 137.50 2.50 0.272741 -237.50 137.50 7.50 0.542744 -237.50 137.50 12.50 1.02107 -237.50 137.50 17.50 1.72448 -237.50 137.50 22.50 2.35483 -237.50 137.50 27.50 2.36679 -237.50 137.50 32.50 1.79439 -237.50 137.50 37.50 1.09133 -237.50 137.50 42.50 0.52032 -237.50 137.50 47.50 0.210639 -237.50 137.50 52.50 0.059534 -237.50 137.50 57.50 0.0272758 -237.50 137.50 62.50 0.0210071 -237.50 137.50 67.50 0.0437371 -237.50 137.50 72.50 0.0771198 -237.50 137.50 77.50 0.0898223 -237.50 137.50 82.50 0.0916224 -237.50 137.50 87.50 0.126127 -237.50 137.50 92.50 0.272741 -237.50 137.50 97.50 0.542744 -237.50 137.50 102.50 1.02107 -237.50 137.50 107.50 1.72448 -237.50 137.50 112.50 2.35483 -237.50 137.50 117.50 2.36679 -237.50 137.50 122.50 1.79439 -237.50 137.50 127.50 1.09133 -237.50 137.50 132.50 0.52032 -237.50 137.50 137.50 0.210639 -237.50 137.50 142.50 0.059534 -237.50 137.50 147.50 0.0272758 -237.50 137.50 152.50 0.0210071 -237.50 137.50 157.50 0.0437371 -237.50 137.50 162.50 0.0771197 -237.50 137.50 167.50 0.0898223 -237.50 137.50 172.50 0.0916225 -237.50 137.50 177.50 0.126127 -237.50 137.50 182.50 0.272741 -237.50 137.50 187.50 0.542744 -237.50 137.50 192.50 1.02107 -237.50 137.50 197.50 1.72448 -237.50 137.50 202.50 2.35483 -237.50 137.50 207.50 2.36679 -237.50 137.50 212.50 1.79439 -237.50 137.50 217.50 1.09133 -237.50 137.50 222.50 0.52032 -237.50 137.50 227.50 0.210639 -237.50 137.50 232.50 0.0595339 -237.50 137.50 237.50 0.0272758 -237.50 137.50 242.50 0.0210071 -237.50 137.50 247.50 0.0437371 -237.50 137.50 252.50 0.0771198 -237.50 137.50 257.50 0.0898223 -237.50 137.50 262.50 0.0916225 -237.50 137.50 267.50 0.126127 -237.50 137.50 272.50 0.272741 -237.50 137.50 277.50 0.542744 -237.50 137.50 282.50 1.02107 -237.50 137.50 287.50 1.72448 -237.50 137.50 292.50 2.35483 -237.50 137.50 297.50 2.36679 -237.50 137.50 302.50 1.79439 -237.50 137.50 307.50 1.09133 -237.50 137.50 312.50 0.52032 -237.50 137.50 317.50 0.210639 -237.50 137.50 322.50 0.0595341 -237.50 137.50 327.50 0.0272759 -237.50 137.50 332.50 0.0210071 -237.50 137.50 337.50 0.043737 -237.50 137.50 342.50 0.0771197 -237.50 137.50 347.50 0.0898223 -237.50 137.50 352.50 0.0916224 -237.50 137.50 357.50 0.126127 -237.50 142.50 2.50 0.288878 -237.50 142.50 7.50 0.741632 -237.50 142.50 12.50 1.5684 -237.50 142.50 17.50 2.78949 -237.50 142.50 22.50 3.89943 -237.50 142.50 27.50 4.12697 -237.50 142.50 32.50 3.38513 -237.50 142.50 37.50 2.13512 -237.50 142.50 42.50 1.09676 -237.50 142.50 47.50 0.474548 -237.50 142.50 52.50 0.205942 -237.50 142.50 57.50 0.090108 -237.50 142.50 62.50 0.036977 -237.50 142.50 67.50 0.0198901 -237.50 142.50 72.50 0.018284 -237.50 142.50 77.50 0.0216585 -237.50 142.50 82.50 0.031931 -237.50 142.50 87.50 0.0891297 -237.50 142.50 92.50 0.288877 -237.50 142.50 97.50 0.741632 -237.50 142.50 102.50 1.5684 -237.50 142.50 107.50 2.78949 -237.50 142.50 112.50 3.89943 -237.50 142.50 117.50 4.12697 -237.50 142.50 122.50 3.38513 -237.50 142.50 127.50 2.13512 -237.50 142.50 132.50 1.09675 -237.50 142.50 137.50 0.474548 -237.50 142.50 142.50 0.205942 -237.50 142.50 147.50 0.0901081 -237.50 142.50 152.50 0.036977 -237.50 142.50 157.50 0.0198901 -237.50 142.50 162.50 0.018284 -237.50 142.50 167.50 0.0216585 -237.50 142.50 172.50 0.031931 -237.50 142.50 177.50 0.0891297 -237.50 142.50 182.50 0.288878 -237.50 142.50 187.50 0.741632 -237.50 142.50 192.50 1.5684 -237.50 142.50 197.50 2.78949 -237.50 142.50 202.50 3.89943 -237.50 142.50 207.50 4.12697 -237.50 142.50 212.50 3.38513 -237.50 142.50 217.50 2.13512 -237.50 142.50 222.50 1.09675 -237.50 142.50 227.50 0.474549 -237.50 142.50 232.50 0.205941 -237.50 142.50 237.50 0.0901079 -237.50 142.50 242.50 0.036977 -237.50 142.50 247.50 0.01989 -237.50 142.50 252.50 0.018284 -237.50 142.50 257.50 0.0216585 -237.50 142.50 262.50 0.0319311 -237.50 142.50 267.50 0.0891298 -237.50 142.50 272.50 0.288878 -237.50 142.50 277.50 0.741632 -237.50 142.50 282.50 1.5684 -237.50 142.50 287.50 2.78949 -237.50 142.50 292.50 3.89943 -237.50 142.50 297.50 4.12697 -237.50 142.50 302.50 3.38513 -237.50 142.50 307.50 2.13512 -237.50 142.50 312.50 1.09676 -237.50 142.50 317.50 0.474549 -237.50 142.50 322.50 0.205942 -237.50 142.50 327.50 0.0901082 -237.50 142.50 332.50 0.0369771 -237.50 142.50 337.50 0.01989 -237.50 142.50 342.50 0.018284 -237.50 142.50 347.50 0.0216585 -237.50 142.50 352.50 0.031931 -237.50 142.50 357.50 0.0891295 -237.50 147.50 2.50 0.328531 -237.50 147.50 7.50 0.92047 -237.50 147.50 12.50 2.10274 -237.50 147.50 17.50 3.78194 -237.50 147.50 22.50 5.18173 -237.50 147.50 27.50 5.49299 -237.50 147.50 32.50 4.60736 -237.50 147.50 37.50 3.13348 -237.50 147.50 42.50 1.76091 -237.50 147.50 47.50 0.924941 -237.50 147.50 52.50 0.506261 -237.50 147.50 57.50 0.265309 -237.50 147.50 62.50 0.117388 -237.50 147.50 67.50 0.0419013 -237.50 147.50 72.50 0.016875 -237.50 147.50 77.50 0.0111927 -237.50 147.50 82.50 0.0233344 -237.50 147.50 87.50 0.0866605 -237.50 147.50 92.50 0.328531 -237.50 147.50 97.50 0.920471 -237.50 147.50 102.50 2.10274 -237.50 147.50 107.50 3.78194 -237.50 147.50 112.50 5.18173 -237.50 147.50 117.50 5.49299 -237.50 147.50 122.50 4.60736 -237.50 147.50 127.50 3.13348 -237.50 147.50 132.50 1.76091 -237.50 147.50 137.50 0.924941 -237.50 147.50 142.50 0.506261 -237.50 147.50 147.50 0.265309 -237.50 147.50 152.50 0.117388 -237.50 147.50 157.50 0.0419013 -237.50 147.50 162.50 0.016875 -237.50 147.50 167.50 0.0111927 -237.50 147.50 172.50 0.0233344 -237.50 147.50 177.50 0.0866604 -237.50 147.50 182.50 0.328532 -237.50 147.50 187.50 0.920471 -237.50 147.50 192.50 2.10274 -237.50 147.50 197.50 3.78195 -237.50 147.50 202.50 5.18173 -237.50 147.50 207.50 5.49299 -237.50 147.50 212.50 4.60736 -237.50 147.50 217.50 3.13348 -237.50 147.50 222.50 1.76091 -237.50 147.50 227.50 0.924941 -237.50 147.50 232.50 0.506261 -237.50 147.50 237.50 0.265309 -237.50 147.50 242.50 0.117388 -237.50 147.50 247.50 0.0419012 -237.50 147.50 252.50 0.016875 -237.50 147.50 257.50 0.0111927 -237.50 147.50 262.50 0.0233344 -237.50 147.50 267.50 0.0866606 -237.50 147.50 272.50 0.328531 -237.50 147.50 277.50 0.920471 -237.50 147.50 282.50 2.10274 -237.50 147.50 287.50 3.78195 -237.50 147.50 292.50 5.18173 -237.50 147.50 297.50 5.49299 -237.50 147.50 302.50 4.60736 -237.50 147.50 307.50 3.13348 -237.50 147.50 312.50 1.76091 -237.50 147.50 317.50 0.924941 -237.50 147.50 322.50 0.506262 -237.50 147.50 327.50 0.26531 -237.50 147.50 332.50 0.117388 -237.50 147.50 337.50 0.0419014 -237.50 147.50 342.50 0.016875 -237.50 147.50 347.50 0.0111927 -237.50 147.50 352.50 0.0233343 -237.50 147.50 357.50 0.0866602 -237.50 152.50 2.50 0.348473 -237.50 152.50 7.50 0.967029 -237.50 152.50 12.50 2.2405 -237.50 152.50 17.50 4.01869 -237.50 152.50 22.50 5.39525 -237.50 152.50 27.50 5.76944 -237.50 152.50 32.50 4.84183 -237.50 152.50 37.50 3.47637 -237.50 152.50 42.50 2.24383 -237.50 152.50 47.50 1.40564 -237.50 152.50 52.50 0.907054 -237.50 152.50 57.50 0.559573 -237.50 152.50 62.50 0.275266 -237.50 152.50 67.50 0.110479 -237.50 152.50 72.50 0.0446587 -237.50 152.50 77.50 0.0203815 -237.50 152.50 82.50 0.0308658 -237.50 152.50 87.50 0.0903383 -237.50 152.50 92.50 0.348473 -237.50 152.50 97.50 0.96703 -237.50 152.50 102.50 2.2405 -237.50 152.50 107.50 4.01869 -237.50 152.50 112.50 5.39525 -237.50 152.50 117.50 5.76945 -237.50 152.50 122.50 4.84183 -237.50 152.50 127.50 3.47636 -237.50 152.50 132.50 2.24383 -237.50 152.50 137.50 1.40564 -237.50 152.50 142.50 0.907054 -237.50 152.50 147.50 0.559573 -237.50 152.50 152.50 0.275267 -237.50 152.50 157.50 0.11048 -237.50 152.50 162.50 0.0446587 -237.50 152.50 167.50 0.0203815 -237.50 152.50 172.50 0.0308658 -237.50 152.50 177.50 0.0903383 -237.50 152.50 182.50 0.348473 -237.50 152.50 187.50 0.96703 -237.50 152.50 192.50 2.2405 -237.50 152.50 197.50 4.01869 -237.50 152.50 202.50 5.39525 -237.50 152.50 207.50 5.76945 -237.50 152.50 212.50 4.84183 -237.50 152.50 217.50 3.47637 -237.50 152.50 222.50 2.24383 -237.50 152.50 227.50 1.40564 -237.50 152.50 232.50 0.907053 -237.50 152.50 237.50 0.559572 -237.50 152.50 242.50 0.275266 -237.50 152.50 247.50 0.110479 -237.50 152.50 252.50 0.0446586 -237.50 152.50 257.50 0.0203815 -237.50 152.50 262.50 0.0308658 -237.50 152.50 267.50 0.0903385 -237.50 152.50 272.50 0.348473 -237.50 152.50 277.50 0.967029 -237.50 152.50 282.50 2.2405 -237.50 152.50 287.50 4.01869 -237.50 152.50 292.50 5.39525 -237.50 152.50 297.50 5.76944 -237.50 152.50 302.50 4.84183 -237.50 152.50 307.50 3.47637 -237.50 152.50 312.50 2.24383 -237.50 152.50 317.50 1.40564 -237.50 152.50 322.50 0.907054 -237.50 152.50 327.50 0.559573 -237.50 152.50 332.50 0.275267 -237.50 152.50 337.50 0.11048 -237.50 152.50 342.50 0.0446588 -237.50 152.50 347.50 0.0203815 -237.50 152.50 352.50 0.0308657 -237.50 152.50 357.50 0.090338 -237.50 157.50 2.50 0.315204 -237.50 157.50 7.50 0.816508 -237.50 157.50 12.50 1.82349 -237.50 157.50 17.50 3.15074 -237.50 157.50 22.50 4.21599 -237.50 157.50 27.50 4.55459 -237.50 157.50 32.50 4.0602 -237.50 157.50 37.50 3.0451 -237.50 157.50 42.50 2.24399 -237.50 157.50 47.50 1.69826 -237.50 157.50 52.50 1.27299 -237.50 157.50 57.50 0.897298 -237.50 157.50 62.50 0.517773 -237.50 157.50 67.50 0.247701 -237.50 157.50 72.50 0.117925 -237.50 157.50 77.50 0.0536605 -237.50 157.50 82.50 0.0419426 -237.50 157.50 87.50 0.0937556 -237.50 157.50 92.50 0.315204 -237.50 157.50 97.50 0.816508 -237.50 157.50 102.50 1.8235 -237.50 157.50 107.50 3.15074 -237.50 157.50 112.50 4.21599 -237.50 157.50 117.50 4.55459 -237.50 157.50 122.50 4.06019 -237.50 157.50 127.50 3.0451 -237.50 157.50 132.50 2.24399 -237.50 157.50 137.50 1.69825 -237.50 157.50 142.50 1.27299 -237.50 157.50 147.50 0.897299 -237.50 157.50 152.50 0.517773 -237.50 157.50 157.50 0.247702 -237.50 157.50 162.50 0.117925 -237.50 157.50 167.50 0.0536605 -237.50 157.50 172.50 0.0419426 -237.50 157.50 177.50 0.0937555 -237.50 157.50 182.50 0.315204 -237.50 157.50 187.50 0.816509 -237.50 157.50 192.50 1.8235 -237.50 157.50 197.50 3.15075 -237.50 157.50 202.50 4.21599 -237.50 157.50 207.50 4.55459 -237.50 157.50 212.50 4.06019 -237.50 157.50 217.50 3.0451 -237.50 157.50 222.50 2.24399 -237.50 157.50 227.50 1.69826 -237.50 157.50 232.50 1.27299 -237.50 157.50 237.50 0.897298 -237.50 157.50 242.50 0.517773 -237.50 157.50 247.50 0.247701 -237.50 157.50 252.50 0.117925 -237.50 157.50 257.50 0.0536604 -237.50 157.50 262.50 0.0419426 -237.50 157.50 267.50 0.0937557 -237.50 157.50 272.50 0.315204 -237.50 157.50 277.50 0.816508 -237.50 157.50 282.50 1.8235 -237.50 157.50 287.50 3.15074 -237.50 157.50 292.50 4.21599 -237.50 157.50 297.50 4.55459 -237.50 157.50 302.50 4.0602 -237.50 157.50 307.50 3.0451 -237.50 157.50 312.50 2.24399 -237.50 157.50 317.50 1.69826 -237.50 157.50 322.50 1.27299 -237.50 157.50 327.50 0.897299 -237.50 157.50 332.50 0.517774 -237.50 157.50 337.50 0.247702 -237.50 157.50 342.50 0.117925 -237.50 157.50 347.50 0.0536607 -237.50 157.50 352.50 0.0419426 -237.50 157.50 357.50 0.0937552 -237.50 162.50 2.50 0.273721 -237.50 162.50 7.50 0.58345 -237.50 162.50 12.50 1.1453 -237.50 162.50 17.50 1.88506 -237.50 162.50 22.50 2.5171 -237.50 162.50 27.50 2.73071 -237.50 162.50 32.50 2.51841 -237.50 162.50 37.50 2.12902 -237.50 162.50 42.50 1.76613 -237.50 162.50 47.50 1.53031 -237.50 162.50 52.50 1.41289 -237.50 162.50 57.50 1.15323 -237.50 162.50 62.50 0.758389 -237.50 162.50 67.50 0.439942 -237.50 162.50 72.50 0.235092 -237.50 162.50 77.50 0.109659 -237.50 162.50 82.50 0.0622614 -237.50 162.50 87.50 0.109009 -237.50 162.50 92.50 0.273722 -237.50 162.50 97.50 0.583451 -237.50 162.50 102.50 1.1453 -237.50 162.50 107.50 1.88506 -237.50 162.50 112.50 2.5171 -237.50 162.50 117.50 2.73071 -237.50 162.50 122.50 2.51841 -237.50 162.50 127.50 2.12902 -237.50 162.50 132.50 1.76613 -237.50 162.50 137.50 1.53031 -237.50 162.50 142.50 1.41289 -237.50 162.50 147.50 1.15323 -237.50 162.50 152.50 0.758389 -237.50 162.50 157.50 0.439942 -237.50 162.50 162.50 0.235092 -237.50 162.50 167.50 0.109659 -237.50 162.50 172.50 0.0622614 -237.50 162.50 177.50 0.109009 -237.50 162.50 182.50 0.273722 -237.50 162.50 187.50 0.583451 -237.50 162.50 192.50 1.14531 -237.50 162.50 197.50 1.88506 -237.50 162.50 202.50 2.5171 -237.50 162.50 207.50 2.73071 -237.50 162.50 212.50 2.51841 -237.50 162.50 217.50 2.12902 -237.50 162.50 222.50 1.76613 -237.50 162.50 227.50 1.53031 -237.50 162.50 232.50 1.41289 -237.50 162.50 237.50 1.15323 -237.50 162.50 242.50 0.758389 -237.50 162.50 247.50 0.439941 -237.50 162.50 252.50 0.235092 -237.50 162.50 257.50 0.109659 -237.50 162.50 262.50 0.0622613 -237.50 162.50 267.50 0.109009 -237.50 162.50 272.50 0.273721 -237.50 162.50 277.50 0.583451 -237.50 162.50 282.50 1.1453 -237.50 162.50 287.50 1.88506 -237.50 162.50 292.50 2.5171 -237.50 162.50 297.50 2.73071 -237.50 162.50 302.50 2.51841 -237.50 162.50 307.50 2.12902 -237.50 162.50 312.50 1.76613 -237.50 162.50 317.50 1.53031 -237.50 162.50 322.50 1.41289 -237.50 162.50 327.50 1.15323 -237.50 162.50 332.50 0.75839 -237.50 162.50 337.50 0.439942 -237.50 162.50 342.50 0.235093 -237.50 162.50 347.50 0.10966 -237.50 162.50 352.50 0.0622614 -237.50 162.50 357.50 0.109009 -237.50 167.50 2.50 0.252721 -237.50 167.50 7.50 0.404512 -237.50 167.50 12.50 0.601344 -237.50 167.50 17.50 0.913617 -237.50 167.50 22.50 1.18922 -237.50 167.50 27.50 1.29939 -237.50 167.50 32.50 1.23068 -237.50 167.50 37.50 1.07391 -237.50 167.50 42.50 1.01927 -237.50 167.50 47.50 1.13113 -237.50 167.50 52.50 1.27813 -237.50 167.50 57.50 1.20669 -237.50 167.50 62.50 0.899808 -237.50 167.50 67.50 0.560895 -237.50 167.50 72.50 0.312627 -237.50 167.50 77.50 0.150407 -237.50 167.50 82.50 0.0818425 -237.50 167.50 87.50 0.13285 -237.50 167.50 92.50 0.252721 -237.50 167.50 97.50 0.404512 -237.50 167.50 102.50 0.601343 -237.50 167.50 107.50 0.913617 -237.50 167.50 112.50 1.18922 -237.50 167.50 117.50 1.29939 -237.50 167.50 122.50 1.23068 -237.50 167.50 127.50 1.07391 -237.50 167.50 132.50 1.01927 -237.50 167.50 137.50 1.13113 -237.50 167.50 142.50 1.27813 -237.50 167.50 147.50 1.20669 -237.50 167.50 152.50 0.899809 -237.50 167.50 157.50 0.560896 -237.50 167.50 162.50 0.312627 -237.50 167.50 167.50 0.150407 -237.50 167.50 172.50 0.0818426 -237.50 167.50 177.50 0.13285 -237.50 167.50 182.50 0.252721 -237.50 167.50 187.50 0.404513 -237.50 167.50 192.50 0.601344 -237.50 167.50 197.50 0.913617 -237.50 167.50 202.50 1.18922 -237.50 167.50 207.50 1.29939 -237.50 167.50 212.50 1.23068 -237.50 167.50 217.50 1.07391 -237.50 167.50 222.50 1.01927 -237.50 167.50 227.50 1.13113 -237.50 167.50 232.50 1.27813 -237.50 167.50 237.50 1.20669 -237.50 167.50 242.50 0.899807 -237.50 167.50 247.50 0.560895 -237.50 167.50 252.50 0.312627 -237.50 167.50 257.50 0.150407 -237.50 167.50 262.50 0.0818424 -237.50 167.50 267.50 0.13285 -237.50 167.50 272.50 0.252721 -237.50 167.50 277.50 0.404513 -237.50 167.50 282.50 0.601344 -237.50 167.50 287.50 0.913617 -237.50 167.50 292.50 1.18922 -237.50 167.50 297.50 1.29939 -237.50 167.50 302.50 1.23068 -237.50 167.50 307.50 1.07391 -237.50 167.50 312.50 1.01927 -237.50 167.50 317.50 1.13113 -237.50 167.50 322.50 1.27813 -237.50 167.50 327.50 1.20669 -237.50 167.50 332.50 0.899809 -237.50 167.50 337.50 0.560896 -237.50 167.50 342.50 0.312627 -237.50 167.50 347.50 0.150408 -237.50 167.50 352.50 0.0818425 -237.50 167.50 357.50 0.13285 -237.50 172.50 2.50 0.202441 -237.50 172.50 7.50 0.264305 -237.50 172.50 12.50 0.311733 -237.50 172.50 17.50 0.377531 -237.50 172.50 22.50 0.462408 -237.50 172.50 27.50 0.489975 -237.50 172.50 32.50 0.45839 -237.50 172.50 37.50 0.416795 -237.50 172.50 42.50 0.472946 -237.50 172.50 47.50 0.717381 -237.50 172.50 52.50 1.01205 -237.50 172.50 57.50 1.08308 -237.50 172.50 62.50 0.854424 -237.50 172.50 67.50 0.529172 -237.50 172.50 72.50 0.281452 -237.50 172.50 77.50 0.133163 -237.50 172.50 82.50 0.0877474 -237.50 172.50 87.50 0.127436 -237.50 172.50 92.50 0.202442 -237.50 172.50 97.50 0.264305 -237.50 172.50 102.50 0.311733 -237.50 172.50 107.50 0.377531 -237.50 172.50 112.50 0.462409 -237.50 172.50 117.50 0.489975 -237.50 172.50 122.50 0.45839 -237.50 172.50 127.50 0.416795 -237.50 172.50 132.50 0.472946 -237.50 172.50 137.50 0.717381 -237.50 172.50 142.50 1.01205 -237.50 172.50 147.50 1.08308 -237.50 172.50 152.50 0.854425 -237.50 172.50 157.50 0.529173 -237.50 172.50 162.50 0.281452 -237.50 172.50 167.50 0.133163 -237.50 172.50 172.50 0.0877474 -237.50 172.50 177.50 0.127436 -237.50 172.50 182.50 0.202442 -237.50 172.50 187.50 0.264305 -237.50 172.50 192.50 0.311733 -237.50 172.50 197.50 0.377531 -237.50 172.50 202.50 0.462409 -237.50 172.50 207.50 0.489975 -237.50 172.50 212.50 0.45839 -237.50 172.50 217.50 0.416795 -237.50 172.50 222.50 0.472946 -237.50 172.50 227.50 0.717381 -237.50 172.50 232.50 1.01205 -237.50 172.50 237.50 1.08308 -237.50 172.50 242.50 0.854424 -237.50 172.50 247.50 0.529172 -237.50 172.50 252.50 0.281452 -237.50 172.50 257.50 0.133163 -237.50 172.50 262.50 0.0877474 -237.50 172.50 267.50 0.127436 -237.50 172.50 272.50 0.202442 -237.50 172.50 277.50 0.264305 -237.50 172.50 282.50 0.311733 -237.50 172.50 287.50 0.377531 -237.50 172.50 292.50 0.462409 -237.50 172.50 297.50 0.489975 -237.50 172.50 302.50 0.45839 -237.50 172.50 307.50 0.416795 -237.50 172.50 312.50 0.472946 -237.50 172.50 317.50 0.717381 -237.50 172.50 322.50 1.01204 -237.50 172.50 327.50 1.08308 -237.50 172.50 332.50 0.854425 -237.50 172.50 337.50 0.529173 -237.50 172.50 342.50 0.281453 -237.50 172.50 347.50 0.133163 -237.50 172.50 352.50 0.0877474 -237.50 172.50 357.50 0.127436 -237.50 177.50 2.50 0.118632 -237.50 177.50 7.50 0.137618 -237.50 177.50 12.50 0.144096 -237.50 177.50 17.50 0.153023 -237.50 177.50 22.50 0.156781 -237.50 177.50 27.50 0.143853 -237.50 177.50 32.50 0.123279 -237.50 177.50 37.50 0.12938 -237.50 177.50 42.50 0.216182 -237.50 177.50 47.50 0.439752 -237.50 177.50 52.50 0.74028 -237.50 177.50 57.50 0.877821 -237.50 177.50 62.50 0.705094 -237.50 177.50 67.50 0.412838 -237.50 177.50 72.50 0.195055 -237.50 177.50 77.50 0.0909506 -237.50 177.50 82.50 0.065772 -237.50 177.50 87.50 0.08614 -237.50 177.50 92.50 0.118632 -237.50 177.50 97.50 0.137618 -237.50 177.50 102.50 0.144096 -237.50 177.50 107.50 0.153023 -237.50 177.50 112.50 0.156781 -237.50 177.50 117.50 0.143853 -237.50 177.50 122.50 0.123279 -237.50 177.50 127.50 0.12938 -237.50 177.50 132.50 0.216182 -237.50 177.50 137.50 0.439752 -237.50 177.50 142.50 0.740281 -237.50 177.50 147.50 0.877821 -237.50 177.50 152.50 0.705094 -237.50 177.50 157.50 0.412839 -237.50 177.50 162.50 0.195055 -237.50 177.50 167.50 0.0909506 -237.50 177.50 172.50 0.0657719 -237.50 177.50 177.50 0.08614 -237.50 177.50 182.50 0.118632 -237.50 177.50 187.50 0.137618 -237.50 177.50 192.50 0.144096 -237.50 177.50 197.50 0.153023 -237.50 177.50 202.50 0.156781 -237.50 177.50 207.50 0.143853 -237.50 177.50 212.50 0.123279 -237.50 177.50 217.50 0.12938 -237.50 177.50 222.50 0.216182 -237.50 177.50 227.50 0.439753 -237.50 177.50 232.50 0.740282 -237.50 177.50 237.50 0.877821 -237.50 177.50 242.50 0.705093 -237.50 177.50 247.50 0.412838 -237.50 177.50 252.50 0.195055 -237.50 177.50 257.50 0.0909506 -237.50 177.50 262.50 0.065772 -237.50 177.50 267.50 0.0861401 -237.50 177.50 272.50 0.118632 -237.50 177.50 277.50 0.137618 -237.50 177.50 282.50 0.144096 -237.50 177.50 287.50 0.153023 -237.50 177.50 292.50 0.156781 -237.50 177.50 297.50 0.143853 -237.50 177.50 302.50 0.123279 -237.50 177.50 307.50 0.12938 -237.50 177.50 312.50 0.216182 -237.50 177.50 317.50 0.439753 -237.50 177.50 322.50 0.74028 -237.50 177.50 327.50 0.877821 -237.50 177.50 332.50 0.705094 -237.50 177.50 337.50 0.412839 -237.50 177.50 342.50 0.195056 -237.50 177.50 347.50 0.0909508 -237.50 177.50 352.50 0.065772 -237.50 177.50 357.50 0.08614 -242.50 2.50 2.50 0.0601603 -242.50 2.50 7.50 0.0485219 -242.50 2.50 12.50 0.0624686 -242.50 2.50 17.50 0.149977 -242.50 2.50 22.50 0.393273 -242.50 2.50 27.50 0.773179 -242.50 2.50 32.50 0.980476 -242.50 2.50 37.50 0.773178 -242.50 2.50 42.50 0.393272 -242.50 2.50 47.50 0.149977 -242.50 2.50 52.50 0.0624685 -242.50 2.50 57.50 0.048522 -242.50 2.50 62.50 0.0601604 -242.50 2.50 67.50 0.0760386 -242.50 2.50 72.50 0.083846 -242.50 2.50 77.50 0.084539 -242.50 2.50 82.50 0.083846 -242.50 2.50 87.50 0.0760385 -242.50 2.50 92.50 0.0601603 -242.50 2.50 97.50 0.0485219 -242.50 2.50 102.50 0.0624686 -242.50 2.50 107.50 0.149977 -242.50 2.50 112.50 0.393273 -242.50 2.50 117.50 0.773179 -242.50 2.50 122.50 0.980476 -242.50 2.50 127.50 0.773178 -242.50 2.50 132.50 0.393272 -242.50 2.50 137.50 0.149977 -242.50 2.50 142.50 0.0624685 -242.50 2.50 147.50 0.0485219 -242.50 2.50 152.50 0.0601603 -242.50 2.50 157.50 0.0760386 -242.50 2.50 162.50 0.083846 -242.50 2.50 167.50 0.084539 -242.50 2.50 172.50 0.083846 -242.50 2.50 177.50 0.0760385 -242.50 2.50 182.50 0.0601603 -242.50 2.50 187.50 0.0485219 -242.50 2.50 192.50 0.0624687 -242.50 2.50 197.50 0.149977 -242.50 2.50 202.50 0.393273 -242.50 2.50 207.50 0.773179 -242.50 2.50 212.50 0.980476 -242.50 2.50 217.50 0.773178 -242.50 2.50 222.50 0.393272 -242.50 2.50 227.50 0.149977 -242.50 2.50 232.50 0.0624684 -242.50 2.50 237.50 0.048522 -242.50 2.50 242.50 0.0601604 -242.50 2.50 247.50 0.0760386 -242.50 2.50 252.50 0.083846 -242.50 2.50 257.50 0.084539 -242.50 2.50 262.50 0.083846 -242.50 2.50 267.50 0.0760385 -242.50 2.50 272.50 0.0601603 -242.50 2.50 277.50 0.0485219 -242.50 2.50 282.50 0.0624686 -242.50 2.50 287.50 0.149977 -242.50 2.50 292.50 0.393273 -242.50 2.50 297.50 0.773179 -242.50 2.50 302.50 0.980476 -242.50 2.50 307.50 0.773179 -242.50 2.50 312.50 0.393272 -242.50 2.50 317.50 0.149977 -242.50 2.50 322.50 0.0624686 -242.50 2.50 327.50 0.0485219 -242.50 2.50 332.50 0.0601603 -242.50 2.50 337.50 0.0760385 -242.50 2.50 342.50 0.083846 -242.50 2.50 347.50 0.084539 -242.50 2.50 352.50 0.083846 -242.50 2.50 357.50 0.0760385 -242.50 7.50 2.50 0.0922624 -242.50 7.50 7.50 0.0690466 -242.50 7.50 12.50 0.085938 -242.50 7.50 17.50 0.186094 -242.50 7.50 22.50 0.414427 -242.50 7.50 27.50 0.719929 -242.50 7.50 32.50 0.868014 -242.50 7.50 37.50 0.721802 -242.50 7.50 42.50 0.421353 -242.50 7.50 47.50 0.206718 -242.50 7.50 52.50 0.12957 -242.50 7.50 57.50 0.129557 -242.50 7.50 62.50 0.1496 -242.50 7.50 67.50 0.166803 -242.50 7.50 72.50 0.163986 -242.50 7.50 77.50 0.152129 -242.50 7.50 82.50 0.143131 -242.50 7.50 87.50 0.123951 -242.50 7.50 92.50 0.0922624 -242.50 7.50 97.50 0.0690465 -242.50 7.50 102.50 0.0859378 -242.50 7.50 107.50 0.186094 -242.50 7.50 112.50 0.414427 -242.50 7.50 117.50 0.719929 -242.50 7.50 122.50 0.868014 -242.50 7.50 127.50 0.721802 -242.50 7.50 132.50 0.421353 -242.50 7.50 137.50 0.206718 -242.50 7.50 142.50 0.12957 -242.50 7.50 147.50 0.129557 -242.50 7.50 152.50 0.1496 -242.50 7.50 157.50 0.166803 -242.50 7.50 162.50 0.163986 -242.50 7.50 167.50 0.152129 -242.50 7.50 172.50 0.143131 -242.50 7.50 177.50 0.123951 -242.50 7.50 182.50 0.0922624 -242.50 7.50 187.50 0.0690466 -242.50 7.50 192.50 0.085938 -242.50 7.50 197.50 0.186094 -242.50 7.50 202.50 0.414427 -242.50 7.50 207.50 0.719928 -242.50 7.50 212.50 0.868014 -242.50 7.50 217.50 0.721803 -242.50 7.50 222.50 0.421353 -242.50 7.50 227.50 0.206718 -242.50 7.50 232.50 0.12957 -242.50 7.50 237.50 0.129557 -242.50 7.50 242.50 0.1496 -242.50 7.50 247.50 0.166803 -242.50 7.50 252.50 0.163986 -242.50 7.50 257.50 0.152129 -242.50 7.50 262.50 0.143131 -242.50 7.50 267.50 0.123951 -242.50 7.50 272.50 0.0922625 -242.50 7.50 277.50 0.0690467 -242.50 7.50 282.50 0.085938 -242.50 7.50 287.50 0.186094 -242.50 7.50 292.50 0.414427 -242.50 7.50 297.50 0.719928 -242.50 7.50 302.50 0.868014 -242.50 7.50 307.50 0.721803 -242.50 7.50 312.50 0.421353 -242.50 7.50 317.50 0.206718 -242.50 7.50 322.50 0.12957 -242.50 7.50 327.50 0.129557 -242.50 7.50 332.50 0.1496 -242.50 7.50 337.50 0.166803 -242.50 7.50 342.50 0.163986 -242.50 7.50 347.50 0.152129 -242.50 7.50 352.50 0.143131 -242.50 7.50 357.50 0.123951 -242.50 12.50 2.50 0.149325 -242.50 12.50 7.50 0.100886 -242.50 12.50 12.50 0.125281 -242.50 12.50 17.50 0.25839 -242.50 12.50 22.50 0.518342 -242.50 12.50 27.50 0.847581 -242.50 12.50 32.50 1.0596 -242.50 12.50 37.50 0.978157 -242.50 12.50 42.50 0.691593 -242.50 12.50 47.50 0.456224 -242.50 12.50 52.50 0.40312 -242.50 12.50 57.50 0.468542 -242.50 12.50 62.50 0.524382 -242.50 12.50 67.50 0.519333 -242.50 12.50 72.50 0.444354 -242.50 12.50 77.50 0.345455 -242.50 12.50 82.50 0.287298 -242.50 12.50 87.50 0.223786 -242.50 12.50 92.50 0.149325 -242.50 12.50 97.50 0.100886 -242.50 12.50 102.50 0.125281 -242.50 12.50 107.50 0.25839 -242.50 12.50 112.50 0.518342 -242.50 12.50 117.50 0.847581 -242.50 12.50 122.50 1.0596 -242.50 12.50 127.50 0.978157 -242.50 12.50 132.50 0.691593 -242.50 12.50 137.50 0.456224 -242.50 12.50 142.50 0.40312 -242.50 12.50 147.50 0.468542 -242.50 12.50 152.50 0.524381 -242.50 12.50 157.50 0.519333 -242.50 12.50 162.50 0.444354 -242.50 12.50 167.50 0.345456 -242.50 12.50 172.50 0.287298 -242.50 12.50 177.50 0.223786 -242.50 12.50 182.50 0.149325 -242.50 12.50 187.50 0.100886 -242.50 12.50 192.50 0.125282 -242.50 12.50 197.50 0.258391 -242.50 12.50 202.50 0.518343 -242.50 12.50 207.50 0.84758 -242.50 12.50 212.50 1.0596 -242.50 12.50 217.50 0.978157 -242.50 12.50 222.50 0.691593 -242.50 12.50 227.50 0.456224 -242.50 12.50 232.50 0.403121 -242.50 12.50 237.50 0.468542 -242.50 12.50 242.50 0.524382 -242.50 12.50 247.50 0.519333 -242.50 12.50 252.50 0.444353 -242.50 12.50 257.50 0.345455 -242.50 12.50 262.50 0.287298 -242.50 12.50 267.50 0.223786 -242.50 12.50 272.50 0.149325 -242.50 12.50 277.50 0.100886 -242.50 12.50 282.50 0.125282 -242.50 12.50 287.50 0.25839 -242.50 12.50 292.50 0.518342 -242.50 12.50 297.50 0.84758 -242.50 12.50 302.50 1.0596 -242.50 12.50 307.50 0.978158 -242.50 12.50 312.50 0.691593 -242.50 12.50 317.50 0.456224 -242.50 12.50 322.50 0.40312 -242.50 12.50 327.50 0.468541 -242.50 12.50 332.50 0.524382 -242.50 12.50 337.50 0.519333 -242.50 12.50 342.50 0.444353 -242.50 12.50 347.50 0.345456 -242.50 12.50 352.50 0.287299 -242.50 12.50 357.50 0.223786 -242.50 17.50 2.50 0.171122 -242.50 17.50 7.50 0.102338 -242.50 17.50 12.50 0.129418 -242.50 17.50 17.50 0.287369 -242.50 17.50 22.50 0.552135 -242.50 17.50 27.50 0.884237 -242.50 17.50 32.50 1.17985 -242.50 17.50 37.50 1.23553 -242.50 17.50 42.50 1.07277 -242.50 17.50 47.50 0.962608 -242.50 17.50 52.50 1.04756 -242.50 17.50 57.50 1.22026 -242.50 17.50 62.50 1.35825 -242.50 17.50 67.50 1.3114 -242.50 17.50 72.50 1.06471 -242.50 17.50 77.50 0.744515 -242.50 17.50 82.50 0.466812 -242.50 17.50 87.50 0.297934 -242.50 17.50 92.50 0.171122 -242.50 17.50 97.50 0.102338 -242.50 17.50 102.50 0.129418 -242.50 17.50 107.50 0.287369 -242.50 17.50 112.50 0.552135 -242.50 17.50 117.50 0.884237 -242.50 17.50 122.50 1.17985 -242.50 17.50 127.50 1.23553 -242.50 17.50 132.50 1.07277 -242.50 17.50 137.50 0.962608 -242.50 17.50 142.50 1.04756 -242.50 17.50 147.50 1.22026 -242.50 17.50 152.50 1.35825 -242.50 17.50 157.50 1.3114 -242.50 17.50 162.50 1.06471 -242.50 17.50 167.50 0.744515 -242.50 17.50 172.50 0.466812 -242.50 17.50 177.50 0.297934 -242.50 17.50 182.50 0.171122 -242.50 17.50 187.50 0.102338 -242.50 17.50 192.50 0.129418 -242.50 17.50 197.50 0.287369 -242.50 17.50 202.50 0.552135 -242.50 17.50 207.50 0.884237 -242.50 17.50 212.50 1.17985 -242.50 17.50 217.50 1.23553 -242.50 17.50 222.50 1.07277 -242.50 17.50 227.50 0.962608 -242.50 17.50 232.50 1.04756 -242.50 17.50 237.50 1.22026 -242.50 17.50 242.50 1.35825 -242.50 17.50 247.50 1.3114 -242.50 17.50 252.50 1.06471 -242.50 17.50 257.50 0.744514 -242.50 17.50 262.50 0.466812 -242.50 17.50 267.50 0.297934 -242.50 17.50 272.50 0.171122 -242.50 17.50 277.50 0.102338 -242.50 17.50 282.50 0.129418 -242.50 17.50 287.50 0.287369 -242.50 17.50 292.50 0.552135 -242.50 17.50 297.50 0.884237 -242.50 17.50 302.50 1.17985 -242.50 17.50 307.50 1.23553 -242.50 17.50 312.50 1.07277 -242.50 17.50 317.50 0.962608 -242.50 17.50 322.50 1.04756 -242.50 17.50 327.50 1.22026 -242.50 17.50 332.50 1.35825 -242.50 17.50 337.50 1.3114 -242.50 17.50 342.50 1.06471 -242.50 17.50 347.50 0.744515 -242.50 17.50 352.50 0.466813 -242.50 17.50 357.50 0.297935 -242.50 22.50 2.50 0.169877 -242.50 22.50 7.50 0.0797988 -242.50 22.50 12.50 0.095702 -242.50 22.50 17.50 0.217768 -242.50 22.50 22.50 0.438269 -242.50 22.50 27.50 0.745256 -242.50 22.50 32.50 1.0931 -242.50 22.50 37.50 1.31728 -242.50 22.50 42.50 1.38735 -242.50 22.50 47.50 1.5729 -242.50 22.50 52.50 2.01872 -242.50 22.50 57.50 2.51249 -242.50 22.50 62.50 2.80011 -242.50 22.50 67.50 2.71146 -242.50 22.50 72.50 2.15474 -242.50 22.50 77.50 1.39346 -242.50 22.50 82.50 0.758531 -242.50 22.50 87.50 0.362128 -242.50 22.50 92.50 0.169877 -242.50 22.50 97.50 0.0797988 -242.50 22.50 102.50 0.095702 -242.50 22.50 107.50 0.217768 -242.50 22.50 112.50 0.438269 -242.50 22.50 117.50 0.745256 -242.50 22.50 122.50 1.0931 -242.50 22.50 127.50 1.31728 -242.50 22.50 132.50 1.38735 -242.50 22.50 137.50 1.5729 -242.50 22.50 142.50 2.01872 -242.50 22.50 147.50 2.51249 -242.50 22.50 152.50 2.8001 -242.50 22.50 157.50 2.71146 -242.50 22.50 162.50 2.15474 -242.50 22.50 167.50 1.39346 -242.50 22.50 172.50 0.758532 -242.50 22.50 177.50 0.362129 -242.50 22.50 182.50 0.169877 -242.50 22.50 187.50 0.0797988 -242.50 22.50 192.50 0.0957021 -242.50 22.50 197.50 0.217769 -242.50 22.50 202.50 0.438269 -242.50 22.50 207.50 0.745256 -242.50 22.50 212.50 1.0931 -242.50 22.50 217.50 1.31728 -242.50 22.50 222.50 1.38735 -242.50 22.50 227.50 1.5729 -242.50 22.50 232.50 2.01872 -242.50 22.50 237.50 2.51249 -242.50 22.50 242.50 2.8001 -242.50 22.50 247.50 2.71146 -242.50 22.50 252.50 2.15474 -242.50 22.50 257.50 1.39346 -242.50 22.50 262.50 0.758531 -242.50 22.50 267.50 0.362128 -242.50 22.50 272.50 0.169877 -242.50 22.50 277.50 0.0797989 -242.50 22.50 282.50 0.0957021 -242.50 22.50 287.50 0.217769 -242.50 22.50 292.50 0.438268 -242.50 22.50 297.50 0.745256 -242.50 22.50 302.50 1.0931 -242.50 22.50 307.50 1.31728 -242.50 22.50 312.50 1.38735 -242.50 22.50 317.50 1.5729 -242.50 22.50 322.50 2.01872 -242.50 22.50 327.50 2.51249 -242.50 22.50 332.50 2.8001 -242.50 22.50 337.50 2.71146 -242.50 22.50 342.50 2.15474 -242.50 22.50 347.50 1.39346 -242.50 22.50 352.50 0.758533 -242.50 22.50 357.50 0.362129 -242.50 27.50 2.50 0.190178 -242.50 27.50 7.50 0.064067 -242.50 27.50 12.50 0.0549513 -242.50 27.50 17.50 0.115685 -242.50 27.50 22.50 0.252156 -242.50 27.50 27.50 0.491738 -242.50 27.50 32.50 0.838583 -242.50 27.50 37.50 1.12126 -242.50 27.50 42.50 1.43678 -242.50 27.50 47.50 2.0097 -242.50 27.50 52.50 2.80798 -242.50 27.50 57.50 3.81855 -242.50 27.50 62.50 4.63534 -242.50 27.50 67.50 4.5022 -242.50 27.50 72.50 3.51984 -242.50 27.50 77.50 2.17989 -242.50 27.50 82.50 1.1038 -242.50 27.50 87.50 0.46538 -242.50 27.50 92.50 0.190178 -242.50 27.50 97.50 0.064067 -242.50 27.50 102.50 0.0549513 -242.50 27.50 107.50 0.115685 -242.50 27.50 112.50 0.252156 -242.50 27.50 117.50 0.491738 -242.50 27.50 122.50 0.838583 -242.50 27.50 127.50 1.12126 -242.50 27.50 132.50 1.43678 -242.50 27.50 137.50 2.0097 -242.50 27.50 142.50 2.80798 -242.50 27.50 147.50 3.81855 -242.50 27.50 152.50 4.63534 -242.50 27.50 157.50 4.5022 -242.50 27.50 162.50 3.51984 -242.50 27.50 167.50 2.17989 -242.50 27.50 172.50 1.1038 -242.50 27.50 177.50 0.465381 -242.50 27.50 182.50 0.190178 -242.50 27.50 187.50 0.064067 -242.50 27.50 192.50 0.0549513 -242.50 27.50 197.50 0.115685 -242.50 27.50 202.50 0.252156 -242.50 27.50 207.50 0.491738 -242.50 27.50 212.50 0.838583 -242.50 27.50 217.50 1.12126 -242.50 27.50 222.50 1.43678 -242.50 27.50 227.50 2.0097 -242.50 27.50 232.50 2.80798 -242.50 27.50 237.50 3.81855 -242.50 27.50 242.50 4.63534 -242.50 27.50 247.50 4.5022 -242.50 27.50 252.50 3.51984 -242.50 27.50 257.50 2.17989 -242.50 27.50 262.50 1.10379 -242.50 27.50 267.50 0.46538 -242.50 27.50 272.50 0.190178 -242.50 27.50 277.50 0.064067 -242.50 27.50 282.50 0.0549513 -242.50 27.50 287.50 0.115685 -242.50 27.50 292.50 0.252156 -242.50 27.50 297.50 0.491737 -242.50 27.50 302.50 0.838583 -242.50 27.50 307.50 1.12126 -242.50 27.50 312.50 1.43678 -242.50 27.50 317.50 2.0097 -242.50 27.50 322.50 2.80798 -242.50 27.50 327.50 3.81855 -242.50 27.50 332.50 4.63534 -242.50 27.50 337.50 4.5022 -242.50 27.50 342.50 3.51984 -242.50 27.50 347.50 2.17989 -242.50 27.50 352.50 1.1038 -242.50 27.50 357.50 0.465382 -242.50 32.50 2.50 0.203044 -242.50 32.50 7.50 0.055626 -242.50 32.50 12.50 0.0313745 -242.50 32.50 17.50 0.0493549 -242.50 32.50 22.50 0.112017 -242.50 32.50 27.50 0.255477 -242.50 32.50 32.50 0.489223 -242.50 32.50 37.50 0.763452 -242.50 32.50 42.50 1.1305 -242.50 32.50 47.50 1.88573 -242.50 32.50 52.50 3.1106 -242.50 32.50 57.50 4.53233 -242.50 32.50 62.50 5.51831 -242.50 32.50 67.50 5.59052 -242.50 32.50 72.50 4.3323 -242.50 32.50 77.50 2.60783 -242.50 32.50 82.50 1.27208 -242.50 32.50 87.50 0.530741 -242.50 32.50 92.50 0.203044 -242.50 32.50 97.50 0.0556259 -242.50 32.50 102.50 0.0313745 -242.50 32.50 107.50 0.049355 -242.50 32.50 112.50 0.112017 -242.50 32.50 117.50 0.255477 -242.50 32.50 122.50 0.489224 -242.50 32.50 127.50 0.763453 -242.50 32.50 132.50 1.1305 -242.50 32.50 137.50 1.88573 -242.50 32.50 142.50 3.1106 -242.50 32.50 147.50 4.53233 -242.50 32.50 152.50 5.5183 -242.50 32.50 157.50 5.59052 -242.50 32.50 162.50 4.3323 -242.50 32.50 167.50 2.60783 -242.50 32.50 172.50 1.27208 -242.50 32.50 177.50 0.530742 -242.50 32.50 182.50 0.203044 -242.50 32.50 187.50 0.0556259 -242.50 32.50 192.50 0.0313745 -242.50 32.50 197.50 0.049355 -242.50 32.50 202.50 0.112017 -242.50 32.50 207.50 0.255477 -242.50 32.50 212.50 0.489223 -242.50 32.50 217.50 0.763453 -242.50 32.50 222.50 1.1305 -242.50 32.50 227.50 1.88573 -242.50 32.50 232.50 3.1106 -242.50 32.50 237.50 4.53233 -242.50 32.50 242.50 5.51831 -242.50 32.50 247.50 5.59052 -242.50 32.50 252.50 4.3323 -242.50 32.50 257.50 2.60782 -242.50 32.50 262.50 1.27208 -242.50 32.50 267.50 0.530741 -242.50 32.50 272.50 0.203044 -242.50 32.50 277.50 0.0556259 -242.50 32.50 282.50 0.0313745 -242.50 32.50 287.50 0.0493549 -242.50 32.50 292.50 0.112017 -242.50 32.50 297.50 0.255476 -242.50 32.50 302.50 0.489223 -242.50 32.50 307.50 0.763453 -242.50 32.50 312.50 1.13049 -242.50 32.50 317.50 1.88573 -242.50 32.50 322.50 3.1106 -242.50 32.50 327.50 4.53233 -242.50 32.50 332.50 5.5183 -242.50 32.50 337.50 5.59053 -242.50 32.50 342.50 4.3323 -242.50 32.50 347.50 2.60783 -242.50 32.50 352.50 1.27208 -242.50 32.50 357.50 0.530742 -242.50 37.50 2.50 0.166468 -242.50 37.50 7.50 0.0437723 -242.50 37.50 12.50 0.0177901 -242.50 37.50 17.50 0.0215696 -242.50 37.50 22.50 0.0424254 -242.50 37.50 27.50 0.10689 -242.50 37.50 32.50 0.232747 -242.50 37.50 37.50 0.397978 -242.50 37.50 42.50 0.695003 -242.50 37.50 47.50 1.38142 -242.50 37.50 52.50 2.64226 -242.50 37.50 57.50 4.15246 -242.50 37.50 62.50 5.13611 -242.50 37.50 67.50 5.08545 -242.50 37.50 72.50 3.92672 -242.50 37.50 77.50 2.28254 -242.50 37.50 82.50 1.0963 -242.50 37.50 87.50 0.461632 -242.50 37.50 92.50 0.166468 -242.50 37.50 97.50 0.0437723 -242.50 37.50 102.50 0.0177901 -242.50 37.50 107.50 0.0215696 -242.50 37.50 112.50 0.0424254 -242.50 37.50 117.50 0.10689 -242.50 37.50 122.50 0.232747 -242.50 37.50 127.50 0.397979 -242.50 37.50 132.50 0.695003 -242.50 37.50 137.50 1.38142 -242.50 37.50 142.50 2.64226 -242.50 37.50 147.50 4.15246 -242.50 37.50 152.50 5.13611 -242.50 37.50 157.50 5.08545 -242.50 37.50 162.50 3.92672 -242.50 37.50 167.50 2.28254 -242.50 37.50 172.50 1.0963 -242.50 37.50 177.50 0.461633 -242.50 37.50 182.50 0.166468 -242.50 37.50 187.50 0.0437723 -242.50 37.50 192.50 0.0177901 -242.50 37.50 197.50 0.0215696 -242.50 37.50 202.50 0.0424255 -242.50 37.50 207.50 0.10689 -242.50 37.50 212.50 0.232747 -242.50 37.50 217.50 0.397979 -242.50 37.50 222.50 0.695003 -242.50 37.50 227.50 1.38142 -242.50 37.50 232.50 2.64226 -242.50 37.50 237.50 4.15246 -242.50 37.50 242.50 5.13611 -242.50 37.50 247.50 5.08545 -242.50 37.50 252.50 3.92671 -242.50 37.50 257.50 2.28254 -242.50 37.50 262.50 1.0963 -242.50 37.50 267.50 0.461632 -242.50 37.50 272.50 0.166468 -242.50 37.50 277.50 0.0437723 -242.50 37.50 282.50 0.0177901 -242.50 37.50 287.50 0.0215696 -242.50 37.50 292.50 0.0424255 -242.50 37.50 297.50 0.106889 -242.50 37.50 302.50 0.232747 -242.50 37.50 307.50 0.397978 -242.50 37.50 312.50 0.695003 -242.50 37.50 317.50 1.38142 -242.50 37.50 322.50 2.64226 -242.50 37.50 327.50 4.15245 -242.50 37.50 332.50 5.1361 -242.50 37.50 337.50 5.08545 -242.50 37.50 342.50 3.92672 -242.50 37.50 347.50 2.28255 -242.50 37.50 352.50 1.0963 -242.50 37.50 357.50 0.461634 -242.50 42.50 2.50 0.114674 -242.50 42.50 7.50 0.0353898 -242.50 42.50 12.50 0.0192761 -242.50 42.50 17.50 0.0191425 -242.50 42.50 22.50 0.0213085 -242.50 42.50 27.50 0.0398016 -242.50 42.50 32.50 0.0814494 -242.50 42.50 37.50 0.153367 -242.50 42.50 42.50 0.322359 -242.50 42.50 47.50 0.754377 -242.50 42.50 52.50 1.67063 -242.50 42.50 57.50 2.81508 -242.50 42.50 62.50 3.68175 -242.50 42.50 67.50 3.61403 -242.50 42.50 72.50 2.71904 -242.50 42.50 77.50 1.54764 -242.50 42.50 82.50 0.732046 -242.50 42.50 87.50 0.315208 -242.50 42.50 92.50 0.114674 -242.50 42.50 97.50 0.0353897 -242.50 42.50 102.50 0.0192761 -242.50 42.50 107.50 0.0191425 -242.50 42.50 112.50 0.0213086 -242.50 42.50 117.50 0.0398016 -242.50 42.50 122.50 0.0814494 -242.50 42.50 127.50 0.153367 -242.50 42.50 132.50 0.322359 -242.50 42.50 137.50 0.754377 -242.50 42.50 142.50 1.67063 -242.50 42.50 147.50 2.81508 -242.50 42.50 152.50 3.68176 -242.50 42.50 157.50 3.61403 -242.50 42.50 162.50 2.71904 -242.50 42.50 167.50 1.54765 -242.50 42.50 172.50 0.732046 -242.50 42.50 177.50 0.315208 -242.50 42.50 182.50 0.114674 -242.50 42.50 187.50 0.0353897 -242.50 42.50 192.50 0.0192761 -242.50 42.50 197.50 0.0191425 -242.50 42.50 202.50 0.0213085 -242.50 42.50 207.50 0.0398016 -242.50 42.50 212.50 0.0814494 -242.50 42.50 217.50 0.153367 -242.50 42.50 222.50 0.322359 -242.50 42.50 227.50 0.754377 -242.50 42.50 232.50 1.67063 -242.50 42.50 237.50 2.81508 -242.50 42.50 242.50 3.68176 -242.50 42.50 247.50 3.61403 -242.50 42.50 252.50 2.71904 -242.50 42.50 257.50 1.54764 -242.50 42.50 262.50 0.732044 -242.50 42.50 267.50 0.315208 -242.50 42.50 272.50 0.114674 -242.50 42.50 277.50 0.0353898 -242.50 42.50 282.50 0.0192761 -242.50 42.50 287.50 0.0191425 -242.50 42.50 292.50 0.0213086 -242.50 42.50 297.50 0.0398015 -242.50 42.50 302.50 0.0814492 -242.50 42.50 307.50 0.153367 -242.50 42.50 312.50 0.322358 -242.50 42.50 317.50 0.754376 -242.50 42.50 322.50 1.67063 -242.50 42.50 327.50 2.81507 -242.50 42.50 332.50 3.68175 -242.50 42.50 337.50 3.61403 -242.50 42.50 342.50 2.71904 -242.50 42.50 347.50 1.54765 -242.50 42.50 352.50 0.732047 -242.50 42.50 357.50 0.315209 -242.50 47.50 2.50 0.0938602 -242.50 47.50 7.50 0.0548245 -242.50 47.50 12.50 0.0627211 -242.50 47.50 17.50 0.0688209 -242.50 47.50 22.50 0.053292 -242.50 47.50 27.50 0.0306563 -242.50 47.50 32.50 0.0252395 -242.50 47.50 37.50 0.0463751 -242.50 47.50 42.50 0.104399 -242.50 47.50 47.50 0.336693 -242.50 47.50 52.50 0.731889 -242.50 47.50 57.50 1.34076 -242.50 47.50 62.50 1.86668 -242.50 47.50 67.50 1.98013 -242.50 47.50 72.50 1.51053 -242.50 47.50 77.50 0.864757 -242.50 47.50 82.50 0.422873 -242.50 47.50 87.50 0.195908 -242.50 47.50 92.50 0.0938602 -242.50 47.50 97.50 0.0548244 -242.50 47.50 102.50 0.0627211 -242.50 47.50 107.50 0.0688209 -242.50 47.50 112.50 0.053292 -242.50 47.50 117.50 0.0306563 -242.50 47.50 122.50 0.0252395 -242.50 47.50 127.50 0.0463751 -242.50 47.50 132.50 0.104399 -242.50 47.50 137.50 0.336693 -242.50 47.50 142.50 0.731889 -242.50 47.50 147.50 1.34076 -242.50 47.50 152.50 1.86668 -242.50 47.50 157.50 1.98013 -242.50 47.50 162.50 1.51053 -242.50 47.50 167.50 0.864757 -242.50 47.50 172.50 0.422873 -242.50 47.50 177.50 0.195908 -242.50 47.50 182.50 0.0938601 -242.50 47.50 187.50 0.0548244 -242.50 47.50 192.50 0.0627211 -242.50 47.50 197.50 0.0688208 -242.50 47.50 202.50 0.053292 -242.50 47.50 207.50 0.0306563 -242.50 47.50 212.50 0.0252394 -242.50 47.50 217.50 0.0463751 -242.50 47.50 222.50 0.104399 -242.50 47.50 227.50 0.336693 -242.50 47.50 232.50 0.73189 -242.50 47.50 237.50 1.34076 -242.50 47.50 242.50 1.86668 -242.50 47.50 247.50 1.98013 -242.50 47.50 252.50 1.51053 -242.50 47.50 257.50 0.864756 -242.50 47.50 262.50 0.422872 -242.50 47.50 267.50 0.195908 -242.50 47.50 272.50 0.0938602 -242.50 47.50 277.50 0.0548244 -242.50 47.50 282.50 0.0627211 -242.50 47.50 287.50 0.0688209 -242.50 47.50 292.50 0.053292 -242.50 47.50 297.50 0.0306563 -242.50 47.50 302.50 0.0252395 -242.50 47.50 307.50 0.0463751 -242.50 47.50 312.50 0.104399 -242.50 47.50 317.50 0.336692 -242.50 47.50 322.50 0.731888 -242.50 47.50 327.50 1.34076 -242.50 47.50 332.50 1.86668 -242.50 47.50 337.50 1.98013 -242.50 47.50 342.50 1.51053 -242.50 47.50 347.50 0.864758 -242.50 47.50 352.50 0.422873 -242.50 47.50 357.50 0.195908 -242.50 52.50 2.50 0.114674 -242.50 52.50 7.50 0.133007 -242.50 52.50 12.50 0.189687 -242.50 52.50 17.50 0.215235 -242.50 52.50 22.50 0.169546 -242.50 52.50 27.50 0.105614 -242.50 52.50 32.50 0.0591279 -242.50 52.50 37.50 0.0325256 -242.50 52.50 42.50 0.0374258 -242.50 52.50 47.50 0.0990011 -242.50 52.50 52.50 0.257939 -242.50 52.50 57.50 0.477024 -242.50 52.50 62.50 0.650903 -242.50 52.50 67.50 0.754548 -242.50 52.50 72.50 0.65225 -242.50 52.50 77.50 0.409275 -242.50 52.50 82.50 0.219428 -242.50 52.50 87.50 0.126726 -242.50 52.50 92.50 0.114674 -242.50 52.50 97.50 0.133007 -242.50 52.50 102.50 0.189686 -242.50 52.50 107.50 0.215235 -242.50 52.50 112.50 0.169546 -242.50 52.50 117.50 0.105614 -242.50 52.50 122.50 0.0591279 -242.50 52.50 127.50 0.0325256 -242.50 52.50 132.50 0.0374259 -242.50 52.50 137.50 0.0990011 -242.50 52.50 142.50 0.257939 -242.50 52.50 147.50 0.477024 -242.50 52.50 152.50 0.650903 -242.50 52.50 157.50 0.754549 -242.50 52.50 162.50 0.65225 -242.50 52.50 167.50 0.409275 -242.50 52.50 172.50 0.219428 -242.50 52.50 177.50 0.126726 -242.50 52.50 182.50 0.114674 -242.50 52.50 187.50 0.133007 -242.50 52.50 192.50 0.189686 -242.50 52.50 197.50 0.215235 -242.50 52.50 202.50 0.169546 -242.50 52.50 207.50 0.105614 -242.50 52.50 212.50 0.0591279 -242.50 52.50 217.50 0.0325256 -242.50 52.50 222.50 0.0374259 -242.50 52.50 227.50 0.099001 -242.50 52.50 232.50 0.257939 -242.50 52.50 237.50 0.477024 -242.50 52.50 242.50 0.650904 -242.50 52.50 247.50 0.754549 -242.50 52.50 252.50 0.65225 -242.50 52.50 257.50 0.409274 -242.50 52.50 262.50 0.219428 -242.50 52.50 267.50 0.126726 -242.50 52.50 272.50 0.114674 -242.50 52.50 277.50 0.133007 -242.50 52.50 282.50 0.189686 -242.50 52.50 287.50 0.215235 -242.50 52.50 292.50 0.169546 -242.50 52.50 297.50 0.105614 -242.50 52.50 302.50 0.0591279 -242.50 52.50 307.50 0.0325256 -242.50 52.50 312.50 0.0374258 -242.50 52.50 317.50 0.099001 -242.50 52.50 322.50 0.257938 -242.50 52.50 327.50 0.477024 -242.50 52.50 332.50 0.650903 -242.50 52.50 337.50 0.754548 -242.50 52.50 342.50 0.652251 -242.50 52.50 347.50 0.409275 -242.50 52.50 352.50 0.219428 -242.50 52.50 357.50 0.126726 -242.50 57.50 2.50 0.166468 -242.50 57.50 7.50 0.282124 -242.50 57.50 12.50 0.416985 -242.50 57.50 17.50 0.501211 -242.50 57.50 22.50 0.480916 -242.50 57.50 27.50 0.390909 -242.50 57.50 32.50 0.256927 -242.50 57.50 37.50 0.127541 -242.50 57.50 42.50 0.0640046 -242.50 57.50 47.50 0.0595861 -242.50 57.50 52.50 0.0886561 -242.50 57.50 57.50 0.157626 -242.50 57.50 62.50 0.190217 -242.50 57.50 67.50 0.196481 -242.50 57.50 72.50 0.20326 -242.50 57.50 77.50 0.168414 -242.50 57.50 82.50 0.105927 -242.50 57.50 87.50 0.0894973 -242.50 57.50 92.50 0.166468 -242.50 57.50 97.50 0.282124 -242.50 57.50 102.50 0.416985 -242.50 57.50 107.50 0.501211 -242.50 57.50 112.50 0.480916 -242.50 57.50 117.50 0.390909 -242.50 57.50 122.50 0.256927 -242.50 57.50 127.50 0.127541 -242.50 57.50 132.50 0.0640046 -242.50 57.50 137.50 0.0595862 -242.50 57.50 142.50 0.0886562 -242.50 57.50 147.50 0.157626 -242.50 57.50 152.50 0.190217 -242.50 57.50 157.50 0.196481 -242.50 57.50 162.50 0.20326 -242.50 57.50 167.50 0.168414 -242.50 57.50 172.50 0.105927 -242.50 57.50 177.50 0.0894974 -242.50 57.50 182.50 0.166468 -242.50 57.50 187.50 0.282124 -242.50 57.50 192.50 0.416985 -242.50 57.50 197.50 0.50121 -242.50 57.50 202.50 0.480916 -242.50 57.50 207.50 0.390909 -242.50 57.50 212.50 0.256927 -242.50 57.50 217.50 0.127541 -242.50 57.50 222.50 0.0640047 -242.50 57.50 227.50 0.0595861 -242.50 57.50 232.50 0.0886563 -242.50 57.50 237.50 0.157627 -242.50 57.50 242.50 0.190217 -242.50 57.50 247.50 0.196481 -242.50 57.50 252.50 0.20326 -242.50 57.50 257.50 0.168414 -242.50 57.50 262.50 0.105927 -242.50 57.50 267.50 0.0894975 -242.50 57.50 272.50 0.166468 -242.50 57.50 277.50 0.282124 -242.50 57.50 282.50 0.416985 -242.50 57.50 287.50 0.50121 -242.50 57.50 292.50 0.480916 -242.50 57.50 297.50 0.390909 -242.50 57.50 302.50 0.256927 -242.50 57.50 307.50 0.127541 -242.50 57.50 312.50 0.0640047 -242.50 57.50 317.50 0.0595861 -242.50 57.50 322.50 0.088656 -242.50 57.50 327.50 0.157626 -242.50 57.50 332.50 0.190217 -242.50 57.50 337.50 0.19648 -242.50 57.50 342.50 0.20326 -242.50 57.50 347.50 0.168414 -242.50 57.50 352.50 0.105927 -242.50 57.50 357.50 0.0894973 -242.50 62.50 2.50 0.203044 -242.50 62.50 7.50 0.42458 -242.50 62.50 12.50 0.677667 -242.50 62.50 17.50 0.965119 -242.50 62.50 22.50 1.18301 -242.50 62.50 27.50 1.13409 -242.50 62.50 32.50 0.838181 -242.50 62.50 37.50 0.522351 -242.50 62.50 42.50 0.28023 -242.50 62.50 47.50 0.155399 -242.50 62.50 52.50 0.089478 -242.50 62.50 57.50 0.0655194 -242.50 62.50 62.50 0.0565881 -242.50 62.50 67.50 0.0420361 -242.50 62.50 72.50 0.0447733 -242.50 62.50 77.50 0.0456485 -242.50 62.50 82.50 0.0515252 -242.50 62.50 87.50 0.0688334 -242.50 62.50 92.50 0.203044 -242.50 62.50 97.50 0.42458 -242.50 62.50 102.50 0.677667 -242.50 62.50 107.50 0.965118 -242.50 62.50 112.50 1.183 -242.50 62.50 117.50 1.13409 -242.50 62.50 122.50 0.83818 -242.50 62.50 127.50 0.52235 -242.50 62.50 132.50 0.28023 -242.50 62.50 137.50 0.155399 -242.50 62.50 142.50 0.089478 -242.50 62.50 147.50 0.0655195 -242.50 62.50 152.50 0.0565881 -242.50 62.50 157.50 0.0420362 -242.50 62.50 162.50 0.0447733 -242.50 62.50 167.50 0.0456485 -242.50 62.50 172.50 0.0515251 -242.50 62.50 177.50 0.0688333 -242.50 62.50 182.50 0.203044 -242.50 62.50 187.50 0.42458 -242.50 62.50 192.50 0.677667 -242.50 62.50 197.50 0.965119 -242.50 62.50 202.50 1.183 -242.50 62.50 207.50 1.13409 -242.50 62.50 212.50 0.83818 -242.50 62.50 217.50 0.52235 -242.50 62.50 222.50 0.28023 -242.50 62.50 227.50 0.155399 -242.50 62.50 232.50 0.0894779 -242.50 62.50 237.50 0.0655195 -242.50 62.50 242.50 0.0565881 -242.50 62.50 247.50 0.0420362 -242.50 62.50 252.50 0.0447734 -242.50 62.50 257.50 0.0456484 -242.50 62.50 262.50 0.0515251 -242.50 62.50 267.50 0.0688334 -242.50 62.50 272.50 0.203044 -242.50 62.50 277.50 0.42458 -242.50 62.50 282.50 0.677668 -242.50 62.50 287.50 0.965119 -242.50 62.50 292.50 1.183 -242.50 62.50 297.50 1.13409 -242.50 62.50 302.50 0.838181 -242.50 62.50 307.50 0.522351 -242.50 62.50 312.50 0.28023 -242.50 62.50 317.50 0.155399 -242.50 62.50 322.50 0.0894781 -242.50 62.50 327.50 0.0655195 -242.50 62.50 332.50 0.0565881 -242.50 62.50 337.50 0.0420362 -242.50 62.50 342.50 0.0447733 -242.50 62.50 347.50 0.0456485 -242.50 62.50 352.50 0.0515251 -242.50 62.50 357.50 0.0688332 -242.50 67.50 2.50 0.190178 -242.50 67.50 7.50 0.465324 -242.50 67.50 12.50 0.910029 -242.50 67.50 17.50 1.58637 -242.50 67.50 22.50 2.27394 -242.50 67.50 27.50 2.44076 -242.50 67.50 32.50 2.12949 -242.50 67.50 37.50 1.49583 -242.50 67.50 42.50 0.88657 -242.50 67.50 47.50 0.475488 -242.50 67.50 52.50 0.221956 -242.50 67.50 57.50 0.082232 -242.50 67.50 62.50 0.0260755 -242.50 67.50 67.50 0.0110516 -242.50 67.50 72.50 0.00846299 -242.50 67.50 77.50 0.0115946 -242.50 67.50 82.50 0.0257392 -242.50 67.50 87.50 0.056013 -242.50 67.50 92.50 0.190178 -242.50 67.50 97.50 0.465323 -242.50 67.50 102.50 0.910028 -242.50 67.50 107.50 1.58637 -242.50 67.50 112.50 2.27394 -242.50 67.50 117.50 2.44076 -242.50 67.50 122.50 2.12949 -242.50 67.50 127.50 1.49583 -242.50 67.50 132.50 0.886569 -242.50 67.50 137.50 0.475488 -242.50 67.50 142.50 0.221956 -242.50 67.50 147.50 0.082232 -242.50 67.50 152.50 0.0260756 -242.50 67.50 157.50 0.0110516 -242.50 67.50 162.50 0.008463 -242.50 67.50 167.50 0.0115945 -242.50 67.50 172.50 0.0257392 -242.50 67.50 177.50 0.056013 -242.50 67.50 182.50 0.190178 -242.50 67.50 187.50 0.465323 -242.50 67.50 192.50 0.910028 -242.50 67.50 197.50 1.58637 -242.50 67.50 202.50 2.27394 -242.50 67.50 207.50 2.44076 -242.50 67.50 212.50 2.12949 -242.50 67.50 217.50 1.49583 -242.50 67.50 222.50 0.886569 -242.50 67.50 227.50 0.475488 -242.50 67.50 232.50 0.221955 -242.50 67.50 237.50 0.0822318 -242.50 67.50 242.50 0.0260755 -242.50 67.50 247.50 0.0110516 -242.50 67.50 252.50 0.008463 -242.50 67.50 257.50 0.0115946 -242.50 67.50 262.50 0.0257392 -242.50 67.50 267.50 0.0560131 -242.50 67.50 272.50 0.190178 -242.50 67.50 277.50 0.465324 -242.50 67.50 282.50 0.910028 -242.50 67.50 287.50 1.58637 -242.50 67.50 292.50 2.27394 -242.50 67.50 297.50 2.44076 -242.50 67.50 302.50 2.12949 -242.50 67.50 307.50 1.49584 -242.50 67.50 312.50 0.88657 -242.50 67.50 317.50 0.475489 -242.50 67.50 322.50 0.221956 -242.50 67.50 327.50 0.0822321 -242.50 67.50 332.50 0.0260756 -242.50 67.50 337.50 0.0110517 -242.50 67.50 342.50 0.008463 -242.50 67.50 347.50 0.0115945 -242.50 67.50 352.50 0.0257392 -242.50 67.50 357.50 0.0560128 -242.50 72.50 2.50 0.169877 -242.50 72.50 7.50 0.463054 -242.50 72.50 12.50 1.07024 -242.50 72.50 17.50 2.1739 -242.50 72.50 22.50 3.37377 -242.50 72.50 27.50 3.98582 -242.50 72.50 32.50 3.86124 -242.50 72.50 37.50 3.05458 -242.50 72.50 42.50 2.00377 -242.50 72.50 47.50 1.12428 -242.50 72.50 52.50 0.55326 -242.50 72.50 57.50 0.21729 -242.50 72.50 62.50 0.0668128 -242.50 72.50 67.50 0.0186984 -242.50 72.50 72.50 0.00838353 -242.50 72.50 77.50 0.0103041 -242.50 72.50 82.50 0.030064 -242.50 72.50 87.50 0.0575939 -242.50 72.50 92.50 0.169877 -242.50 72.50 97.50 0.463054 -242.50 72.50 102.50 1.07024 -242.50 72.50 107.50 2.1739 -242.50 72.50 112.50 3.37377 -242.50 72.50 117.50 3.98582 -242.50 72.50 122.50 3.86124 -242.50 72.50 127.50 3.05458 -242.50 72.50 132.50 2.00377 -242.50 72.50 137.50 1.12428 -242.50 72.50 142.50 0.55326 -242.50 72.50 147.50 0.21729 -242.50 72.50 152.50 0.0668129 -242.50 72.50 157.50 0.0186984 -242.50 72.50 162.50 0.00838355 -242.50 72.50 167.50 0.0103041 -242.50 72.50 172.50 0.0300639 -242.50 72.50 177.50 0.0575939 -242.50 72.50 182.50 0.169877 -242.50 72.50 187.50 0.463054 -242.50 72.50 192.50 1.07024 -242.50 72.50 197.50 2.1739 -242.50 72.50 202.50 3.37377 -242.50 72.50 207.50 3.98582 -242.50 72.50 212.50 3.86124 -242.50 72.50 217.50 3.05459 -242.50 72.50 222.50 2.00377 -242.50 72.50 227.50 1.12428 -242.50 72.50 232.50 0.553259 -242.50 72.50 237.50 0.217289 -242.50 72.50 242.50 0.0668126 -242.50 72.50 247.50 0.0186984 -242.50 72.50 252.50 0.00838354 -242.50 72.50 257.50 0.0103041 -242.50 72.50 262.50 0.030064 -242.50 72.50 267.50 0.057594 -242.50 72.50 272.50 0.169877 -242.50 72.50 277.50 0.463054 -242.50 72.50 282.50 1.07024 -242.50 72.50 287.50 2.1739 -242.50 72.50 292.50 3.37377 -242.50 72.50 297.50 3.98582 -242.50 72.50 302.50 3.86124 -242.50 72.50 307.50 3.05459 -242.50 72.50 312.50 2.00377 -242.50 72.50 317.50 1.12428 -242.50 72.50 322.50 0.553261 -242.50 72.50 327.50 0.217291 -242.50 72.50 332.50 0.0668131 -242.50 72.50 337.50 0.0186985 -242.50 72.50 342.50 0.00838354 -242.50 72.50 347.50 0.0103041 -242.50 72.50 352.50 0.0300639 -242.50 72.50 357.50 0.0575939 -242.50 77.50 2.50 0.171122 -242.50 77.50 7.50 0.493225 -242.50 77.50 12.50 1.13006 -242.50 77.50 17.50 2.51475 -242.50 77.50 22.50 3.89293 -242.50 77.50 27.50 4.90335 -242.50 77.50 32.50 5.15482 -242.50 77.50 37.50 4.56822 -242.50 77.50 42.50 3.52152 -242.50 77.50 47.50 2.30669 -242.50 77.50 52.50 1.31234 -242.50 77.50 57.50 0.595199 -242.50 77.50 62.50 0.216412 -242.50 77.50 67.50 0.0736006 -242.50 77.50 72.50 0.027006 -242.50 77.50 77.50 0.0183206 -242.50 77.50 82.50 0.0269088 -242.50 77.50 87.50 0.0662871 -242.50 77.50 92.50 0.171122 -242.50 77.50 97.50 0.493225 -242.50 77.50 102.50 1.13006 -242.50 77.50 107.50 2.51475 -242.50 77.50 112.50 3.89293 -242.50 77.50 117.50 4.90335 -242.50 77.50 122.50 5.15482 -242.50 77.50 127.50 4.56822 -242.50 77.50 132.50 3.52152 -242.50 77.50 137.50 2.30669 -242.50 77.50 142.50 1.31234 -242.50 77.50 147.50 0.595199 -242.50 77.50 152.50 0.216412 -242.50 77.50 157.50 0.0736007 -242.50 77.50 162.50 0.027006 -242.50 77.50 167.50 0.0183206 -242.50 77.50 172.50 0.0269088 -242.50 77.50 177.50 0.0662871 -242.50 77.50 182.50 0.171122 -242.50 77.50 187.50 0.493225 -242.50 77.50 192.50 1.13006 -242.50 77.50 197.50 2.51475 -242.50 77.50 202.50 3.89293 -242.50 77.50 207.50 4.90335 -242.50 77.50 212.50 5.15482 -242.50 77.50 217.50 4.56822 -242.50 77.50 222.50 3.52153 -242.50 77.50 227.50 2.30669 -242.50 77.50 232.50 1.31234 -242.50 77.50 237.50 0.595197 -242.50 77.50 242.50 0.216412 -242.50 77.50 247.50 0.0736005 -242.50 77.50 252.50 0.0270059 -242.50 77.50 257.50 0.0183206 -242.50 77.50 262.50 0.0269089 -242.50 77.50 267.50 0.0662872 -242.50 77.50 272.50 0.171122 -242.50 77.50 277.50 0.493225 -242.50 77.50 282.50 1.13006 -242.50 77.50 287.50 2.51475 -242.50 77.50 292.50 3.89293 -242.50 77.50 297.50 4.90335 -242.50 77.50 302.50 5.15482 -242.50 77.50 307.50 4.56822 -242.50 77.50 312.50 3.52152 -242.50 77.50 317.50 2.30669 -242.50 77.50 322.50 1.31234 -242.50 77.50 327.50 0.5952 -242.50 77.50 332.50 0.216413 -242.50 77.50 337.50 0.0736009 -242.50 77.50 342.50 0.0270061 -242.50 77.50 347.50 0.0183206 -242.50 77.50 352.50 0.0269088 -242.50 77.50 357.50 0.0662871 -242.50 82.50 2.50 0.149325 -242.50 82.50 7.50 0.418658 -242.50 82.50 12.50 1.11089 -242.50 82.50 17.50 2.12384 -242.50 82.50 22.50 3.50104 -242.50 82.50 27.50 4.76068 -242.50 82.50 32.50 5.45857 -242.50 82.50 37.50 5.48122 -242.50 82.50 42.50 4.83852 -242.50 82.50 47.50 3.77641 -242.50 82.50 52.50 2.5312 -242.50 82.50 57.50 1.35331 -242.50 82.50 62.50 0.614664 -242.50 82.50 67.50 0.262381 -242.50 82.50 72.50 0.108086 -242.50 82.50 77.50 0.0426135 -242.50 82.50 82.50 0.0285829 -242.50 82.50 87.50 0.0612251 -242.50 82.50 92.50 0.149325 -242.50 82.50 97.50 0.418658 -242.50 82.50 102.50 1.11089 -242.50 82.50 107.50 2.12384 -242.50 82.50 112.50 3.50104 -242.50 82.50 117.50 4.76068 -242.50 82.50 122.50 5.45857 -242.50 82.50 127.50 5.48122 -242.50 82.50 132.50 4.83852 -242.50 82.50 137.50 3.77641 -242.50 82.50 142.50 2.5312 -242.50 82.50 147.50 1.35331 -242.50 82.50 152.50 0.614665 -242.50 82.50 157.50 0.262381 -242.50 82.50 162.50 0.108087 -242.50 82.50 167.50 0.0426136 -242.50 82.50 172.50 0.0285829 -242.50 82.50 177.50 0.061225 -242.50 82.50 182.50 0.149325 -242.50 82.50 187.50 0.418658 -242.50 82.50 192.50 1.11089 -242.50 82.50 197.50 2.12384 -242.50 82.50 202.50 3.50104 -242.50 82.50 207.50 4.76068 -242.50 82.50 212.50 5.45857 -242.50 82.50 217.50 5.48122 -242.50 82.50 222.50 4.83852 -242.50 82.50 227.50 3.77641 -242.50 82.50 232.50 2.53119 -242.50 82.50 237.50 1.35331 -242.50 82.50 242.50 0.614664 -242.50 82.50 247.50 0.262381 -242.50 82.50 252.50 0.108086 -242.50 82.50 257.50 0.0426135 -242.50 82.50 262.50 0.0285829 -242.50 82.50 267.50 0.0612251 -242.50 82.50 272.50 0.149325 -242.50 82.50 277.50 0.418658 -242.50 82.50 282.50 1.11089 -242.50 82.50 287.50 2.12384 -242.50 82.50 292.50 3.50104 -242.50 82.50 297.50 4.76068 -242.50 82.50 302.50 5.45857 -242.50 82.50 307.50 5.48122 -242.50 82.50 312.50 4.83852 -242.50 82.50 317.50 3.77642 -242.50 82.50 322.50 2.5312 -242.50 82.50 327.50 1.35331 -242.50 82.50 332.50 0.614666 -242.50 82.50 337.50 0.262382 -242.50 82.50 342.50 0.108087 -242.50 82.50 347.50 0.0426136 -242.50 82.50 352.50 0.0285829 -242.50 82.50 357.50 0.0612249 -242.50 87.50 2.50 0.0922624 -242.50 87.50 7.50 0.284104 -242.50 87.50 12.50 0.63945 -242.50 87.50 17.50 1.33111 -242.50 87.50 22.50 2.36076 -242.50 87.50 27.50 3.66284 -242.50 87.50 32.50 4.79273 -242.50 87.50 37.50 5.39129 -242.50 87.50 42.50 5.33498 -242.50 87.50 47.50 4.72843 -242.50 87.50 52.50 3.68775 -242.50 87.50 57.50 2.47252 -242.50 87.50 62.50 1.45795 -242.50 87.50 67.50 0.788257 -242.50 87.50 72.50 0.379433 -242.50 87.50 77.50 0.158184 -242.50 87.50 82.50 0.0662697 -242.50 87.50 87.50 0.045081 -242.50 87.50 92.50 0.0922625 -242.50 87.50 97.50 0.284104 -242.50 87.50 102.50 0.639451 -242.50 87.50 107.50 1.33111 -242.50 87.50 112.50 2.36076 -242.50 87.50 117.50 3.66284 -242.50 87.50 122.50 4.79274 -242.50 87.50 127.50 5.39129 -242.50 87.50 132.50 5.33498 -242.50 87.50 137.50 4.72842 -242.50 87.50 142.50 3.68775 -242.50 87.50 147.50 2.47252 -242.50 87.50 152.50 1.45795 -242.50 87.50 157.50 0.788258 -242.50 87.50 162.50 0.379433 -242.50 87.50 167.50 0.158184 -242.50 87.50 172.50 0.0662698 -242.50 87.50 177.50 0.0450811 -242.50 87.50 182.50 0.0922625 -242.50 87.50 187.50 0.284104 -242.50 87.50 192.50 0.639451 -242.50 87.50 197.50 1.33111 -242.50 87.50 202.50 2.36076 -242.50 87.50 207.50 3.66283 -242.50 87.50 212.50 4.79274 -242.50 87.50 217.50 5.39129 -242.50 87.50 222.50 5.33499 -242.50 87.50 227.50 4.72842 -242.50 87.50 232.50 3.68775 -242.50 87.50 237.50 2.47252 -242.50 87.50 242.50 1.45795 -242.50 87.50 247.50 0.788257 -242.50 87.50 252.50 0.379433 -242.50 87.50 257.50 0.158184 -242.50 87.50 262.50 0.0662697 -242.50 87.50 267.50 0.045081 -242.50 87.50 272.50 0.0922625 -242.50 87.50 277.50 0.284104 -242.50 87.50 282.50 0.639451 -242.50 87.50 287.50 1.33111 -242.50 87.50 292.50 2.36076 -242.50 87.50 297.50 3.66283 -242.50 87.50 302.50 4.79273 -242.50 87.50 307.50 5.39129 -242.50 87.50 312.50 5.33498 -242.50 87.50 317.50 4.72843 -242.50 87.50 322.50 3.68775 -242.50 87.50 327.50 2.47253 -242.50 87.50 332.50 1.45795 -242.50 87.50 337.50 0.788259 -242.50 87.50 342.50 0.379434 -242.50 87.50 347.50 0.158184 -242.50 87.50 352.50 0.0662699 -242.50 87.50 357.50 0.045081 -242.50 92.50 2.50 0.0601603 -242.50 92.50 7.50 0.100121 -242.50 92.50 12.50 0.23184 -242.50 92.50 17.50 0.522419 -242.50 92.50 22.50 1.09345 -242.50 92.50 27.50 1.96803 -242.50 92.50 32.50 2.99998 -242.50 92.50 37.50 3.97879 -242.50 92.50 42.50 4.69043 -242.50 92.50 47.50 4.95231 -242.50 92.50 52.50 4.69043 -242.50 92.50 57.50 3.97879 -242.50 92.50 62.50 2.99998 -242.50 92.50 67.50 1.96803 -242.50 92.50 72.50 1.09345 -242.50 92.50 77.50 0.522419 -242.50 92.50 82.50 0.23184 -242.50 92.50 87.50 0.100121 -242.50 92.50 92.50 0.0601603 -242.50 92.50 97.50 0.100121 -242.50 92.50 102.50 0.23184 -242.50 92.50 107.50 0.522419 -242.50 92.50 112.50 1.09345 -242.50 92.50 117.50 1.96804 -242.50 92.50 122.50 2.99998 -242.50 92.50 127.50 3.97879 -242.50 92.50 132.50 4.69043 -242.50 92.50 137.50 4.95231 -242.50 92.50 142.50 4.69043 -242.50 92.50 147.50 3.97879 -242.50 92.50 152.50 2.99998 -242.50 92.50 157.50 1.96804 -242.50 92.50 162.50 1.09345 -242.50 92.50 167.50 0.52242 -242.50 92.50 172.50 0.23184 -242.50 92.50 177.50 0.100122 -242.50 92.50 182.50 0.0601603 -242.50 92.50 187.50 0.100121 -242.50 92.50 192.50 0.23184 -242.50 92.50 197.50 0.522419 -242.50 92.50 202.50 1.09345 -242.50 92.50 207.50 1.96803 -242.50 92.50 212.50 2.99998 -242.50 92.50 217.50 3.97879 -242.50 92.50 222.50 4.69043 -242.50 92.50 227.50 4.95231 -242.50 92.50 232.50 4.69043 -242.50 92.50 237.50 3.97878 -242.50 92.50 242.50 2.99998 -242.50 92.50 247.50 1.96803 -242.50 92.50 252.50 1.09344 -242.50 92.50 257.50 0.522419 -242.50 92.50 262.50 0.23184 -242.50 92.50 267.50 0.100121 -242.50 92.50 272.50 0.0601603 -242.50 92.50 277.50 0.100121 -242.50 92.50 282.50 0.23184 -242.50 92.50 287.50 0.522419 -242.50 92.50 292.50 1.09345 -242.50 92.50 297.50 1.96803 -242.50 92.50 302.50 2.99998 -242.50 92.50 307.50 3.97879 -242.50 92.50 312.50 4.69043 -242.50 92.50 317.50 4.95231 -242.50 92.50 322.50 4.69043 -242.50 92.50 327.50 3.97879 -242.50 92.50 332.50 2.99999 -242.50 92.50 337.50 1.96804 -242.50 92.50 342.50 1.09345 -242.50 92.50 347.50 0.522421 -242.50 92.50 352.50 0.231841 -242.50 92.50 357.50 0.100122 -242.50 97.50 2.50 0.0922625 -242.50 97.50 7.50 0.045081 -242.50 97.50 12.50 0.0662697 -242.50 97.50 17.50 0.158184 -242.50 97.50 22.50 0.379433 -242.50 97.50 27.50 0.788258 -242.50 97.50 32.50 1.45795 -242.50 97.50 37.50 2.47252 -242.50 97.50 42.50 3.68775 -242.50 97.50 47.50 4.72843 -242.50 97.50 52.50 5.33498 -242.50 97.50 57.50 5.39129 -242.50 97.50 62.50 4.79273 -242.50 97.50 67.50 3.66283 -242.50 97.50 72.50 2.36076 -242.50 97.50 77.50 1.33111 -242.50 97.50 82.50 0.63945 -242.50 97.50 87.50 0.284103 -242.50 97.50 92.50 0.0922624 -242.50 97.50 97.50 0.045081 -242.50 97.50 102.50 0.0662698 -242.50 97.50 107.50 0.158184 -242.50 97.50 112.50 0.379433 -242.50 97.50 117.50 0.788259 -242.50 97.50 122.50 1.45795 -242.50 97.50 127.50 2.47252 -242.50 97.50 132.50 3.68775 -242.50 97.50 137.50 4.72843 -242.50 97.50 142.50 5.33499 -242.50 97.50 147.50 5.39129 -242.50 97.50 152.50 4.79273 -242.50 97.50 157.50 3.66283 -242.50 97.50 162.50 2.36076 -242.50 97.50 167.50 1.33111 -242.50 97.50 172.50 0.639451 -242.50 97.50 177.50 0.284104 -242.50 97.50 182.50 0.0922624 -242.50 97.50 187.50 0.045081 -242.50 97.50 192.50 0.0662698 -242.50 97.50 197.50 0.158184 -242.50 97.50 202.50 0.379433 -242.50 97.50 207.50 0.788259 -242.50 97.50 212.50 1.45795 -242.50 97.50 217.50 2.47252 -242.50 97.50 222.50 3.68775 -242.50 97.50 227.50 4.72843 -242.50 97.50 232.50 5.33499 -242.50 97.50 237.50 5.39129 -242.50 97.50 242.50 4.79273 -242.50 97.50 247.50 3.66283 -242.50 97.50 252.50 2.36076 -242.50 97.50 257.50 1.33111 -242.50 97.50 262.50 0.63945 -242.50 97.50 267.50 0.284103 -242.50 97.50 272.50 0.0922625 -242.50 97.50 277.50 0.045081 -242.50 97.50 282.50 0.0662697 -242.50 97.50 287.50 0.158184 -242.50 97.50 292.50 0.379433 -242.50 97.50 297.50 0.788258 -242.50 97.50 302.50 1.45795 -242.50 97.50 307.50 2.47252 -242.50 97.50 312.50 3.68775 -242.50 97.50 317.50 4.72842 -242.50 97.50 322.50 5.33498 -242.50 97.50 327.50 5.39129 -242.50 97.50 332.50 4.79274 -242.50 97.50 337.50 3.66284 -242.50 97.50 342.50 2.36077 -242.50 97.50 347.50 1.33111 -242.50 97.50 352.50 0.639452 -242.50 97.50 357.50 0.284104 -242.50 102.50 2.50 0.149325 -242.50 102.50 7.50 0.061225 -242.50 102.50 12.50 0.0285829 -242.50 102.50 17.50 0.0426135 -242.50 102.50 22.50 0.108086 -242.50 102.50 27.50 0.262381 -242.50 102.50 32.50 0.614665 -242.50 102.50 37.50 1.35331 -242.50 102.50 42.50 2.5312 -242.50 102.50 47.50 3.77641 -242.50 102.50 52.50 4.83852 -242.50 102.50 57.50 5.48122 -242.50 102.50 62.50 5.45857 -242.50 102.50 67.50 4.76068 -242.50 102.50 72.50 3.50104 -242.50 102.50 77.50 2.12384 -242.50 102.50 82.50 1.11089 -242.50 102.50 87.50 0.418658 -242.50 102.50 92.50 0.149325 -242.50 102.50 97.50 0.061225 -242.50 102.50 102.50 0.0285829 -242.50 102.50 107.50 0.0426135 -242.50 102.50 112.50 0.108087 -242.50 102.50 117.50 0.262382 -242.50 102.50 122.50 0.614666 -242.50 102.50 127.50 1.35331 -242.50 102.50 132.50 2.5312 -242.50 102.50 137.50 3.77641 -242.50 102.50 142.50 4.83853 -242.50 102.50 147.50 5.48122 -242.50 102.50 152.50 5.45857 -242.50 102.50 157.50 4.76068 -242.50 102.50 162.50 3.50104 -242.50 102.50 167.50 2.12384 -242.50 102.50 172.50 1.11089 -242.50 102.50 177.50 0.418658 -242.50 102.50 182.50 0.149325 -242.50 102.50 187.50 0.061225 -242.50 102.50 192.50 0.0285829 -242.50 102.50 197.50 0.0426136 -242.50 102.50 202.50 0.108087 -242.50 102.50 207.50 0.262382 -242.50 102.50 212.50 0.614666 -242.50 102.50 217.50 1.35331 -242.50 102.50 222.50 2.5312 -242.50 102.50 227.50 3.77641 -242.50 102.50 232.50 4.83853 -242.50 102.50 237.50 5.48122 -242.50 102.50 242.50 5.45857 -242.50 102.50 247.50 4.76068 -242.50 102.50 252.50 3.50104 -242.50 102.50 257.50 2.12383 -242.50 102.50 262.50 1.11089 -242.50 102.50 267.50 0.418657 -242.50 102.50 272.50 0.149325 -242.50 102.50 277.50 0.061225 -242.50 102.50 282.50 0.0285829 -242.50 102.50 287.50 0.0426135 -242.50 102.50 292.50 0.108086 -242.50 102.50 297.50 0.262381 -242.50 102.50 302.50 0.614664 -242.50 102.50 307.50 1.35331 -242.50 102.50 312.50 2.5312 -242.50 102.50 317.50 3.77641 -242.50 102.50 322.50 4.83852 -242.50 102.50 327.50 5.48122 -242.50 102.50 332.50 5.45858 -242.50 102.50 337.50 4.76068 -242.50 102.50 342.50 3.50104 -242.50 102.50 347.50 2.12384 -242.50 102.50 352.50 1.11089 -242.50 102.50 357.50 0.418658 -242.50 107.50 2.50 0.171122 -242.50 107.50 7.50 0.0662872 -242.50 107.50 12.50 0.0269088 -242.50 107.50 17.50 0.0183206 -242.50 107.50 22.50 0.027006 -242.50 107.50 27.50 0.0736007 -242.50 107.50 32.50 0.216412 -242.50 107.50 37.50 0.595199 -242.50 107.50 42.50 1.31234 -242.50 107.50 47.50 2.30669 -242.50 107.50 52.50 3.52152 -242.50 107.50 57.50 4.56822 -242.50 107.50 62.50 5.15482 -242.50 107.50 67.50 4.90335 -242.50 107.50 72.50 3.89293 -242.50 107.50 77.50 2.51475 -242.50 107.50 82.50 1.13006 -242.50 107.50 87.50 0.493225 -242.50 107.50 92.50 0.171122 -242.50 107.50 97.50 0.0662871 -242.50 107.50 102.50 0.0269088 -242.50 107.50 107.50 0.0183206 -242.50 107.50 112.50 0.027006 -242.50 107.50 117.50 0.0736009 -242.50 107.50 122.50 0.216413 -242.50 107.50 127.50 0.5952 -242.50 107.50 132.50 1.31234 -242.50 107.50 137.50 2.3067 -242.50 107.50 142.50 3.52153 -242.50 107.50 147.50 4.56822 -242.50 107.50 152.50 5.15482 -242.50 107.50 157.50 4.90335 -242.50 107.50 162.50 3.89293 -242.50 107.50 167.50 2.51475 -242.50 107.50 172.50 1.13006 -242.50 107.50 177.50 0.493225 -242.50 107.50 182.50 0.171122 -242.50 107.50 187.50 0.0662872 -242.50 107.50 192.50 0.0269088 -242.50 107.50 197.50 0.0183206 -242.50 107.50 202.50 0.027006 -242.50 107.50 207.50 0.0736008 -242.50 107.50 212.50 0.216412 -242.50 107.50 217.50 0.595199 -242.50 107.50 222.50 1.31234 -242.50 107.50 227.50 2.30669 -242.50 107.50 232.50 3.52153 -242.50 107.50 237.50 4.56822 -242.50 107.50 242.50 5.15482 -242.50 107.50 247.50 4.90335 -242.50 107.50 252.50 3.89293 -242.50 107.50 257.50 2.51475 -242.50 107.50 262.50 1.13005 -242.50 107.50 267.50 0.493224 -242.50 107.50 272.50 0.171122 -242.50 107.50 277.50 0.0662872 -242.50 107.50 282.50 0.0269088 -242.50 107.50 287.50 0.0183206 -242.50 107.50 292.50 0.027006 -242.50 107.50 297.50 0.0736006 -242.50 107.50 302.50 0.216412 -242.50 107.50 307.50 0.595198 -242.50 107.50 312.50 1.31234 -242.50 107.50 317.50 2.30669 -242.50 107.50 322.50 3.52152 -242.50 107.50 327.50 4.56822 -242.50 107.50 332.50 5.15482 -242.50 107.50 337.50 4.90335 -242.50 107.50 342.50 3.89294 -242.50 107.50 347.50 2.51476 -242.50 107.50 352.50 1.13006 -242.50 107.50 357.50 0.493226 -242.50 112.50 2.50 0.169877 -242.50 112.50 7.50 0.057594 -242.50 112.50 12.50 0.030064 -242.50 112.50 17.50 0.0103041 -242.50 112.50 22.50 0.00838352 -242.50 112.50 27.50 0.0186984 -242.50 112.50 32.50 0.0668128 -242.50 112.50 37.50 0.21729 -242.50 112.50 42.50 0.55326 -242.50 112.50 47.50 1.12428 -242.50 112.50 52.50 2.00377 -242.50 112.50 57.50 3.05459 -242.50 112.50 62.50 3.86124 -242.50 112.50 67.50 3.98582 -242.50 112.50 72.50 3.37377 -242.50 112.50 77.50 2.1739 -242.50 112.50 82.50 1.07024 -242.50 112.50 87.50 0.463053 -242.50 112.50 92.50 0.169877 -242.50 112.50 97.50 0.0575939 -242.50 112.50 102.50 0.030064 -242.50 112.50 107.50 0.0103041 -242.50 112.50 112.50 0.00838353 -242.50 112.50 117.50 0.0186985 -242.50 112.50 122.50 0.066813 -242.50 112.50 127.50 0.217291 -242.50 112.50 132.50 0.553261 -242.50 112.50 137.50 1.12428 -242.50 112.50 142.50 2.00377 -242.50 112.50 147.50 3.05459 -242.50 112.50 152.50 3.86124 -242.50 112.50 157.50 3.98582 -242.50 112.50 162.50 3.37377 -242.50 112.50 167.50 2.1739 -242.50 112.50 172.50 1.07024 -242.50 112.50 177.50 0.463054 -242.50 112.50 182.50 0.169877 -242.50 112.50 187.50 0.0575939 -242.50 112.50 192.50 0.030064 -242.50 112.50 197.50 0.0103041 -242.50 112.50 202.50 0.00838354 -242.50 112.50 207.50 0.0186984 -242.50 112.50 212.50 0.0668129 -242.50 112.50 217.50 0.21729 -242.50 112.50 222.50 0.55326 -242.50 112.50 227.50 1.12428 -242.50 112.50 232.50 2.00377 -242.50 112.50 237.50 3.05459 -242.50 112.50 242.50 3.86124 -242.50 112.50 247.50 3.98582 -242.50 112.50 252.50 3.37377 -242.50 112.50 257.50 2.1739 -242.50 112.50 262.50 1.07024 -242.50 112.50 267.50 0.463053 -242.50 112.50 272.50 0.169877 -242.50 112.50 277.50 0.057594 -242.50 112.50 282.50 0.030064 -242.50 112.50 287.50 0.0103041 -242.50 112.50 292.50 0.00838354 -242.50 112.50 297.50 0.0186984 -242.50 112.50 302.50 0.0668127 -242.50 112.50 307.50 0.21729 -242.50 112.50 312.50 0.55326 -242.50 112.50 317.50 1.12428 -242.50 112.50 322.50 2.00376 -242.50 112.50 327.50 3.05458 -242.50 112.50 332.50 3.86124 -242.50 112.50 337.50 3.98582 -242.50 112.50 342.50 3.37378 -242.50 112.50 347.50 2.17391 -242.50 112.50 352.50 1.07024 -242.50 112.50 357.50 0.463055 -242.50 117.50 2.50 0.190178 -242.50 117.50 7.50 0.056013 -242.50 117.50 12.50 0.0257392 -242.50 117.50 17.50 0.0115946 -242.50 117.50 22.50 0.00846301 -242.50 117.50 27.50 0.0110516 -242.50 117.50 32.50 0.0260756 -242.50 117.50 37.50 0.082232 -242.50 117.50 42.50 0.221956 -242.50 117.50 47.50 0.475488 -242.50 117.50 52.50 0.886568 -242.50 117.50 57.50 1.49583 -242.50 117.50 62.50 2.12949 -242.50 117.50 67.50 2.44076 -242.50 117.50 72.50 2.27394 -242.50 117.50 77.50 1.58637 -242.50 117.50 82.50 0.910028 -242.50 117.50 87.50 0.465323 -242.50 117.50 92.50 0.190178 -242.50 117.50 97.50 0.056013 -242.50 117.50 102.50 0.0257392 -242.50 117.50 107.50 0.0115946 -242.50 117.50 112.50 0.008463 -242.50 117.50 117.50 0.0110517 -242.50 117.50 122.50 0.0260756 -242.50 117.50 127.50 0.0822321 -242.50 117.50 132.50 0.221956 -242.50 117.50 137.50 0.475488 -242.50 117.50 142.50 0.886569 -242.50 117.50 147.50 1.49583 -242.50 117.50 152.50 2.12949 -242.50 117.50 157.50 2.44076 -242.50 117.50 162.50 2.27394 -242.50 117.50 167.50 1.58637 -242.50 117.50 172.50 0.910028 -242.50 117.50 177.50 0.465324 -242.50 117.50 182.50 0.190178 -242.50 117.50 187.50 0.0560129 -242.50 117.50 192.50 0.0257392 -242.50 117.50 197.50 0.0115946 -242.50 117.50 202.50 0.008463 -242.50 117.50 207.50 0.0110516 -242.50 117.50 212.50 0.0260756 -242.50 117.50 217.50 0.0822319 -242.50 117.50 222.50 0.221956 -242.50 117.50 227.50 0.475487 -242.50 117.50 232.50 0.886569 -242.50 117.50 237.50 1.49583 -242.50 117.50 242.50 2.12949 -242.50 117.50 247.50 2.44076 -242.50 117.50 252.50 2.27394 -242.50 117.50 257.50 1.58637 -242.50 117.50 262.50 0.910027 -242.50 117.50 267.50 0.465323 -242.50 117.50 272.50 0.190178 -242.50 117.50 277.50 0.056013 -242.50 117.50 282.50 0.0257392 -242.50 117.50 287.50 0.0115946 -242.50 117.50 292.50 0.00846301 -242.50 117.50 297.50 0.0110516 -242.50 117.50 302.50 0.0260756 -242.50 117.50 307.50 0.0822319 -242.50 117.50 312.50 0.221955 -242.50 117.50 317.50 0.475487 -242.50 117.50 322.50 0.886567 -242.50 117.50 327.50 1.49583 -242.50 117.50 332.50 2.12949 -242.50 117.50 337.50 2.44076 -242.50 117.50 342.50 2.27394 -242.50 117.50 347.50 1.58637 -242.50 117.50 352.50 0.91003 -242.50 117.50 357.50 0.465324 -242.50 122.50 2.50 0.203044 -242.50 122.50 7.50 0.0688334 -242.50 122.50 12.50 0.0515252 -242.50 122.50 17.50 0.0456486 -242.50 122.50 22.50 0.0447734 -242.50 122.50 27.50 0.0420363 -242.50 122.50 32.50 0.0565882 -242.50 122.50 37.50 0.0655195 -242.50 122.50 42.50 0.0894779 -242.50 122.50 47.50 0.155399 -242.50 122.50 52.50 0.28023 -242.50 122.50 57.50 0.52235 -242.50 122.50 62.50 0.83818 -242.50 122.50 67.50 1.13409 -242.50 122.50 72.50 1.183 -242.50 122.50 77.50 0.965118 -242.50 122.50 82.50 0.677667 -242.50 122.50 87.50 0.42458 -242.50 122.50 92.50 0.203044 -242.50 122.50 97.50 0.0688334 -242.50 122.50 102.50 0.0515252 -242.50 122.50 107.50 0.0456485 -242.50 122.50 112.50 0.0447734 -242.50 122.50 117.50 0.0420363 -242.50 122.50 122.50 0.0565881 -242.50 122.50 127.50 0.0655195 -242.50 122.50 132.50 0.089478 -242.50 122.50 137.50 0.155399 -242.50 122.50 142.50 0.28023 -242.50 122.50 147.50 0.52235 -242.50 122.50 152.50 0.83818 -242.50 122.50 157.50 1.13409 -242.50 122.50 162.50 1.183 -242.50 122.50 167.50 0.965118 -242.50 122.50 172.50 0.677667 -242.50 122.50 177.50 0.42458 -242.50 122.50 182.50 0.203044 -242.50 122.50 187.50 0.0688333 -242.50 122.50 192.50 0.0515252 -242.50 122.50 197.50 0.0456485 -242.50 122.50 202.50 0.0447733 -242.50 122.50 207.50 0.0420362 -242.50 122.50 212.50 0.0565882 -242.50 122.50 217.50 0.0655195 -242.50 122.50 222.50 0.0894779 -242.50 122.50 227.50 0.155399 -242.50 122.50 232.50 0.28023 -242.50 122.50 237.50 0.522351 -242.50 122.50 242.50 0.838181 -242.50 122.50 247.50 1.13409 -242.50 122.50 252.50 1.183 -242.50 122.50 257.50 0.965118 -242.50 122.50 262.50 0.677667 -242.50 122.50 267.50 0.42458 -242.50 122.50 272.50 0.203044 -242.50 122.50 277.50 0.0688334 -242.50 122.50 282.50 0.0515252 -242.50 122.50 287.50 0.0456486 -242.50 122.50 292.50 0.0447734 -242.50 122.50 297.50 0.0420362 -242.50 122.50 302.50 0.0565882 -242.50 122.50 307.50 0.0655195 -242.50 122.50 312.50 0.0894778 -242.50 122.50 317.50 0.155399 -242.50 122.50 322.50 0.280229 -242.50 122.50 327.50 0.522349 -242.50 122.50 332.50 0.838179 -242.50 122.50 337.50 1.13409 -242.50 122.50 342.50 1.183 -242.50 122.50 347.50 0.965118 -242.50 122.50 352.50 0.677668 -242.50 122.50 357.50 0.424581 -242.50 127.50 2.50 0.166468 -242.50 127.50 7.50 0.0894974 -242.50 127.50 12.50 0.105927 -242.50 127.50 17.50 0.168414 -242.50 127.50 22.50 0.20326 -242.50 127.50 27.50 0.196481 -242.50 127.50 32.50 0.190218 -242.50 127.50 37.50 0.157626 -242.50 127.50 42.50 0.0886561 -242.50 127.50 47.50 0.0595862 -242.50 127.50 52.50 0.0640047 -242.50 127.50 57.50 0.127541 -242.50 127.50 62.50 0.256927 -242.50 127.50 67.50 0.390909 -242.50 127.50 72.50 0.480916 -242.50 127.50 77.50 0.50121 -242.50 127.50 82.50 0.416985 -242.50 127.50 87.50 0.282124 -242.50 127.50 92.50 0.166468 -242.50 127.50 97.50 0.0894974 -242.50 127.50 102.50 0.105927 -242.50 127.50 107.50 0.168414 -242.50 127.50 112.50 0.20326 -242.50 127.50 117.50 0.196481 -242.50 127.50 122.50 0.190217 -242.50 127.50 127.50 0.157626 -242.50 127.50 132.50 0.0886562 -242.50 127.50 137.50 0.0595862 -242.50 127.50 142.50 0.0640047 -242.50 127.50 147.50 0.127541 -242.50 127.50 152.50 0.256927 -242.50 127.50 157.50 0.390909 -242.50 127.50 162.50 0.480916 -242.50 127.50 167.50 0.501211 -242.50 127.50 172.50 0.416985 -242.50 127.50 177.50 0.282124 -242.50 127.50 182.50 0.166467 -242.50 127.50 187.50 0.0894973 -242.50 127.50 192.50 0.105927 -242.50 127.50 197.50 0.168414 -242.50 127.50 202.50 0.20326 -242.50 127.50 207.50 0.19648 -242.50 127.50 212.50 0.190217 -242.50 127.50 217.50 0.157626 -242.50 127.50 222.50 0.0886562 -242.50 127.50 227.50 0.0595862 -242.50 127.50 232.50 0.0640047 -242.50 127.50 237.50 0.127541 -242.50 127.50 242.50 0.256927 -242.50 127.50 247.50 0.390909 -242.50 127.50 252.50 0.480917 -242.50 127.50 257.50 0.501211 -242.50 127.50 262.50 0.416985 -242.50 127.50 267.50 0.282124 -242.50 127.50 272.50 0.166468 -242.50 127.50 277.50 0.0894974 -242.50 127.50 282.50 0.105927 -242.50 127.50 287.50 0.168414 -242.50 127.50 292.50 0.20326 -242.50 127.50 297.50 0.196481 -242.50 127.50 302.50 0.190217 -242.50 127.50 307.50 0.157627 -242.50 127.50 312.50 0.0886562 -242.50 127.50 317.50 0.0595862 -242.50 127.50 322.50 0.0640045 -242.50 127.50 327.50 0.127541 -242.50 127.50 332.50 0.256927 -242.50 127.50 337.50 0.390909 -242.50 127.50 342.50 0.480916 -242.50 127.50 347.50 0.50121 -242.50 127.50 352.50 0.416985 -242.50 127.50 357.50 0.282124 -242.50 132.50 2.50 0.114674 -242.50 132.50 7.50 0.126726 -242.50 132.50 12.50 0.219428 -242.50 132.50 17.50 0.409275 -242.50 132.50 22.50 0.652251 -242.50 132.50 27.50 0.754548 -242.50 132.50 32.50 0.650903 -242.50 132.50 37.50 0.477024 -242.50 132.50 42.50 0.257939 -242.50 132.50 47.50 0.099001 -242.50 132.50 52.50 0.0374259 -242.50 132.50 57.50 0.0325256 -242.50 132.50 62.50 0.0591279 -242.50 132.50 67.50 0.105614 -242.50 132.50 72.50 0.169546 -242.50 132.50 77.50 0.215235 -242.50 132.50 82.50 0.189686 -242.50 132.50 87.50 0.133007 -242.50 132.50 92.50 0.114674 -242.50 132.50 97.50 0.126726 -242.50 132.50 102.50 0.219428 -242.50 132.50 107.50 0.409275 -242.50 132.50 112.50 0.652251 -242.50 132.50 117.50 0.754548 -242.50 132.50 122.50 0.650903 -242.50 132.50 127.50 0.477024 -242.50 132.50 132.50 0.257939 -242.50 132.50 137.50 0.0990011 -242.50 132.50 142.50 0.0374259 -242.50 132.50 147.50 0.0325256 -242.50 132.50 152.50 0.0591279 -242.50 132.50 157.50 0.105614 -242.50 132.50 162.50 0.169546 -242.50 132.50 167.50 0.215235 -242.50 132.50 172.50 0.189686 -242.50 132.50 177.50 0.133007 -242.50 132.50 182.50 0.114674 -242.50 132.50 187.50 0.126726 -242.50 132.50 192.50 0.219428 -242.50 132.50 197.50 0.409275 -242.50 132.50 202.50 0.65225 -242.50 132.50 207.50 0.754548 -242.50 132.50 212.50 0.650903 -242.50 132.50 217.50 0.477024 -242.50 132.50 222.50 0.257939 -242.50 132.50 227.50 0.0990011 -242.50 132.50 232.50 0.0374258 -242.50 132.50 237.50 0.0325256 -242.50 132.50 242.50 0.059128 -242.50 132.50 247.50 0.105614 -242.50 132.50 252.50 0.169546 -242.50 132.50 257.50 0.215235 -242.50 132.50 262.50 0.189686 -242.50 132.50 267.50 0.133007 -242.50 132.50 272.50 0.114674 -242.50 132.50 277.50 0.126726 -242.50 132.50 282.50 0.219428 -242.50 132.50 287.50 0.409275 -242.50 132.50 292.50 0.652251 -242.50 132.50 297.50 0.754548 -242.50 132.50 302.50 0.650903 -242.50 132.50 307.50 0.477024 -242.50 132.50 312.50 0.257939 -242.50 132.50 317.50 0.0990011 -242.50 132.50 322.50 0.0374259 -242.50 132.50 327.50 0.0325255 -242.50 132.50 332.50 0.0591279 -242.50 132.50 337.50 0.105614 -242.50 132.50 342.50 0.169546 -242.50 132.50 347.50 0.215235 -242.50 132.50 352.50 0.189687 -242.50 132.50 357.50 0.133007 -242.50 137.50 2.50 0.0938603 -242.50 137.50 7.50 0.195908 -242.50 137.50 12.50 0.422873 -242.50 137.50 17.50 0.864758 -242.50 137.50 22.50 1.51053 -242.50 137.50 27.50 1.98013 -242.50 137.50 32.50 1.86668 -242.50 137.50 37.50 1.34076 -242.50 137.50 42.50 0.731889 -242.50 137.50 47.50 0.336693 -242.50 137.50 52.50 0.104399 -242.50 137.50 57.50 0.0463751 -242.50 137.50 62.50 0.0252395 -242.50 137.50 67.50 0.0306563 -242.50 137.50 72.50 0.053292 -242.50 137.50 77.50 0.0688209 -242.50 137.50 82.50 0.0627211 -242.50 137.50 87.50 0.0548244 -242.50 137.50 92.50 0.0938603 -242.50 137.50 97.50 0.195908 -242.50 137.50 102.50 0.422873 -242.50 137.50 107.50 0.864757 -242.50 137.50 112.50 1.51053 -242.50 137.50 117.50 1.98013 -242.50 137.50 122.50 1.86668 -242.50 137.50 127.50 1.34076 -242.50 137.50 132.50 0.731889 -242.50 137.50 137.50 0.336693 -242.50 137.50 142.50 0.104399 -242.50 137.50 147.50 0.0463751 -242.50 137.50 152.50 0.0252395 -242.50 137.50 157.50 0.0306563 -242.50 137.50 162.50 0.053292 -242.50 137.50 167.50 0.0688209 -242.50 137.50 172.50 0.0627211 -242.50 137.50 177.50 0.0548244 -242.50 137.50 182.50 0.0938604 -242.50 137.50 187.50 0.195908 -242.50 137.50 192.50 0.422873 -242.50 137.50 197.50 0.864757 -242.50 137.50 202.50 1.51053 -242.50 137.50 207.50 1.98013 -242.50 137.50 212.50 1.86668 -242.50 137.50 217.50 1.34076 -242.50 137.50 222.50 0.731889 -242.50 137.50 227.50 0.336693 -242.50 137.50 232.50 0.104399 -242.50 137.50 237.50 0.0463751 -242.50 137.50 242.50 0.0252395 -242.50 137.50 247.50 0.0306563 -242.50 137.50 252.50 0.053292 -242.50 137.50 257.50 0.0688209 -242.50 137.50 262.50 0.0627211 -242.50 137.50 267.50 0.0548244 -242.50 137.50 272.50 0.0938603 -242.50 137.50 277.50 0.195908 -242.50 137.50 282.50 0.422873 -242.50 137.50 287.50 0.864757 -242.50 137.50 292.50 1.51053 -242.50 137.50 297.50 1.98013 -242.50 137.50 302.50 1.86668 -242.50 137.50 307.50 1.34076 -242.50 137.50 312.50 0.731889 -242.50 137.50 317.50 0.336693 -242.50 137.50 322.50 0.104399 -242.50 137.50 327.50 0.0463752 -242.50 137.50 332.50 0.0252395 -242.50 137.50 337.50 0.0306563 -242.50 137.50 342.50 0.053292 -242.50 137.50 347.50 0.0688209 -242.50 137.50 352.50 0.0627211 -242.50 137.50 357.50 0.0548244 -242.50 142.50 2.50 0.114674 -242.50 142.50 7.50 0.315208 -242.50 142.50 12.50 0.732046 -242.50 142.50 17.50 1.54764 -242.50 142.50 22.50 2.71904 -242.50 142.50 27.50 3.61403 -242.50 142.50 32.50 3.68175 -242.50 142.50 37.50 2.81508 -242.50 142.50 42.50 1.67063 -242.50 142.50 47.50 0.754377 -242.50 142.50 52.50 0.322358 -242.50 142.50 57.50 0.153366 -242.50 142.50 62.50 0.0814492 -242.50 142.50 67.50 0.0398015 -242.50 142.50 72.50 0.0213085 -242.50 142.50 77.50 0.0191426 -242.50 142.50 82.50 0.0192761 -242.50 142.50 87.50 0.0353898 -242.50 142.50 92.50 0.114674 -242.50 142.50 97.50 0.315208 -242.50 142.50 102.50 0.732046 -242.50 142.50 107.50 1.54764 -242.50 142.50 112.50 2.71904 -242.50 142.50 117.50 3.61403 -242.50 142.50 122.50 3.68175 -242.50 142.50 127.50 2.81508 -242.50 142.50 132.50 1.67063 -242.50 142.50 137.50 0.754377 -242.50 142.50 142.50 0.322358 -242.50 142.50 147.50 0.153367 -242.50 142.50 152.50 0.0814492 -242.50 142.50 157.50 0.0398015 -242.50 142.50 162.50 0.0213085 -242.50 142.50 167.50 0.0191425 -242.50 142.50 172.50 0.0192761 -242.50 142.50 177.50 0.0353898 -242.50 142.50 182.50 0.114674 -242.50 142.50 187.50 0.315208 -242.50 142.50 192.50 0.732047 -242.50 142.50 197.50 1.54765 -242.50 142.50 202.50 2.71904 -242.50 142.50 207.50 3.61403 -242.50 142.50 212.50 3.68176 -242.50 142.50 217.50 2.81508 -242.50 142.50 222.50 1.67063 -242.50 142.50 227.50 0.754377 -242.50 142.50 232.50 0.322358 -242.50 142.50 237.50 0.153366 -242.50 142.50 242.50 0.0814492 -242.50 142.50 247.50 0.0398015 -242.50 142.50 252.50 0.0213085 -242.50 142.50 257.50 0.0191426 -242.50 142.50 262.50 0.0192761 -242.50 142.50 267.50 0.0353898 -242.50 142.50 272.50 0.114674 -242.50 142.50 277.50 0.315208 -242.50 142.50 282.50 0.732045 -242.50 142.50 287.50 1.54764 -242.50 142.50 292.50 2.71904 -242.50 142.50 297.50 3.61403 -242.50 142.50 302.50 3.68175 -242.50 142.50 307.50 2.81508 -242.50 142.50 312.50 1.67063 -242.50 142.50 317.50 0.754377 -242.50 142.50 322.50 0.322359 -242.50 142.50 327.50 0.153367 -242.50 142.50 332.50 0.0814494 -242.50 142.50 337.50 0.0398016 -242.50 142.50 342.50 0.0213086 -242.50 142.50 347.50 0.0191426 -242.50 142.50 352.50 0.0192761 -242.50 142.50 357.50 0.0353897 -242.50 147.50 2.50 0.166468 -242.50 147.50 7.50 0.461633 -242.50 147.50 12.50 1.0963 -242.50 147.50 17.50 2.28254 -242.50 147.50 22.50 3.92672 -242.50 147.50 27.50 5.08545 -242.50 147.50 32.50 5.13611 -242.50 147.50 37.50 4.15246 -242.50 147.50 42.50 2.64226 -242.50 147.50 47.50 1.38142 -242.50 147.50 52.50 0.695002 -242.50 147.50 57.50 0.397978 -242.50 147.50 62.50 0.232747 -242.50 147.50 67.50 0.106889 -242.50 147.50 72.50 0.0424254 -242.50 147.50 77.50 0.0215696 -242.50 147.50 82.50 0.0177901 -242.50 147.50 87.50 0.0437723 -242.50 147.50 92.50 0.166468 -242.50 147.50 97.50 0.461633 -242.50 147.50 102.50 1.0963 -242.50 147.50 107.50 2.28254 -242.50 147.50 112.50 3.92672 -242.50 147.50 117.50 5.08545 -242.50 147.50 122.50 5.13611 -242.50 147.50 127.50 4.15245 -242.50 147.50 132.50 2.64226 -242.50 147.50 137.50 1.38142 -242.50 147.50 142.50 0.695002 -242.50 147.50 147.50 0.397978 -242.50 147.50 152.50 0.232747 -242.50 147.50 157.50 0.106889 -242.50 147.50 162.50 0.0424255 -242.50 147.50 167.50 0.0215696 -242.50 147.50 172.50 0.0177901 -242.50 147.50 177.50 0.0437723 -242.50 147.50 182.50 0.166468 -242.50 147.50 187.50 0.461633 -242.50 147.50 192.50 1.0963 -242.50 147.50 197.50 2.28254 -242.50 147.50 202.50 3.92672 -242.50 147.50 207.50 5.08545 -242.50 147.50 212.50 5.13611 -242.50 147.50 217.50 4.15246 -242.50 147.50 222.50 2.64226 -242.50 147.50 227.50 1.38142 -242.50 147.50 232.50 0.695002 -242.50 147.50 237.50 0.397978 -242.50 147.50 242.50 0.232747 -242.50 147.50 247.50 0.106889 -242.50 147.50 252.50 0.0424254 -242.50 147.50 257.50 0.0215696 -242.50 147.50 262.50 0.0177901 -242.50 147.50 267.50 0.0437723 -242.50 147.50 272.50 0.166468 -242.50 147.50 277.50 0.461633 -242.50 147.50 282.50 1.0963 -242.50 147.50 287.50 2.28254 -242.50 147.50 292.50 3.92672 -242.50 147.50 297.50 5.08545 -242.50 147.50 302.50 5.13611 -242.50 147.50 307.50 4.15246 -242.50 147.50 312.50 2.64226 -242.50 147.50 317.50 1.38142 -242.50 147.50 322.50 0.695004 -242.50 147.50 327.50 0.397979 -242.50 147.50 332.50 0.232747 -242.50 147.50 337.50 0.10689 -242.50 147.50 342.50 0.0424255 -242.50 147.50 347.50 0.0215696 -242.50 147.50 352.50 0.0177901 -242.50 147.50 357.50 0.0437722 -242.50 152.50 2.50 0.203044 -242.50 152.50 7.50 0.530741 -242.50 152.50 12.50 1.27208 -242.50 152.50 17.50 2.60783 -242.50 152.50 22.50 4.3323 -242.50 152.50 27.50 5.59052 -242.50 152.50 32.50 5.5183 -242.50 152.50 37.50 4.53233 -242.50 152.50 42.50 3.1106 -242.50 152.50 47.50 1.88573 -242.50 152.50 52.50 1.1305 -242.50 152.50 57.50 0.763453 -242.50 152.50 62.50 0.489223 -242.50 152.50 67.50 0.255476 -242.50 152.50 72.50 0.112016 -242.50 152.50 77.50 0.0493548 -242.50 152.50 82.50 0.0313745 -242.50 152.50 87.50 0.055626 -242.50 152.50 92.50 0.203044 -242.50 152.50 97.50 0.530742 -242.50 152.50 102.50 1.27208 -242.50 152.50 107.50 2.60783 -242.50 152.50 112.50 4.3323 -242.50 152.50 117.50 5.59052 -242.50 152.50 122.50 5.5183 -242.50 152.50 127.50 4.53233 -242.50 152.50 132.50 3.1106 -242.50 152.50 137.50 1.88573 -242.50 152.50 142.50 1.1305 -242.50 152.50 147.50 0.763453 -242.50 152.50 152.50 0.489223 -242.50 152.50 157.50 0.255476 -242.50 152.50 162.50 0.112016 -242.50 152.50 167.50 0.0493549 -242.50 152.50 172.50 0.0313745 -242.50 152.50 177.50 0.0556259 -242.50 152.50 182.50 0.203044 -242.50 152.50 187.50 0.530742 -242.50 152.50 192.50 1.27208 -242.50 152.50 197.50 2.60783 -242.50 152.50 202.50 4.3323 -242.50 152.50 207.50 5.59052 -242.50 152.50 212.50 5.51831 -242.50 152.50 217.50 4.53233 -242.50 152.50 222.50 3.1106 -242.50 152.50 227.50 1.88573 -242.50 152.50 232.50 1.13049 -242.50 152.50 237.50 0.763453 -242.50 152.50 242.50 0.489222 -242.50 152.50 247.50 0.255476 -242.50 152.50 252.50 0.112016 -242.50 152.50 257.50 0.0493548 -242.50 152.50 262.50 0.0313745 -242.50 152.50 267.50 0.055626 -242.50 152.50 272.50 0.203044 -242.50 152.50 277.50 0.530741 -242.50 152.50 282.50 1.27208 -242.50 152.50 287.50 2.60783 -242.50 152.50 292.50 4.3323 -242.50 152.50 297.50 5.59052 -242.50 152.50 302.50 5.5183 -242.50 152.50 307.50 4.53233 -242.50 152.50 312.50 3.1106 -242.50 152.50 317.50 1.88574 -242.50 152.50 322.50 1.1305 -242.50 152.50 327.50 0.763453 -242.50 152.50 332.50 0.489223 -242.50 152.50 337.50 0.255477 -242.50 152.50 342.50 0.112017 -242.50 152.50 347.50 0.049355 -242.50 152.50 352.50 0.0313745 -242.50 152.50 357.50 0.0556258 -242.50 157.50 2.50 0.190178 -242.50 157.50 7.50 0.465381 -242.50 157.50 12.50 1.1038 -242.50 157.50 17.50 2.17989 -242.50 157.50 22.50 3.51984 -242.50 157.50 27.50 4.50219 -242.50 157.50 32.50 4.63534 -242.50 157.50 37.50 3.81855 -242.50 157.50 42.50 2.80798 -242.50 157.50 47.50 2.0097 -242.50 157.50 52.50 1.43678 -242.50 157.50 57.50 1.12126 -242.50 157.50 62.50 0.838582 -242.50 157.50 67.50 0.491738 -242.50 157.50 72.50 0.252155 -242.50 157.50 77.50 0.115685 -242.50 157.50 82.50 0.0549513 -242.50 157.50 87.50 0.0640671 -242.50 157.50 92.50 0.190178 -242.50 157.50 97.50 0.465381 -242.50 157.50 102.50 1.1038 -242.50 157.50 107.50 2.17989 -242.50 157.50 112.50 3.51984 -242.50 157.50 117.50 4.5022 -242.50 157.50 122.50 4.63534 -242.50 157.50 127.50 3.81855 -242.50 157.50 132.50 2.80798 -242.50 157.50 137.50 2.0097 -242.50 157.50 142.50 1.43678 -242.50 157.50 147.50 1.12126 -242.50 157.50 152.50 0.838583 -242.50 157.50 157.50 0.491738 -242.50 157.50 162.50 0.252156 -242.50 157.50 167.50 0.115685 -242.50 157.50 172.50 0.0549513 -242.50 157.50 177.50 0.064067 -242.50 157.50 182.50 0.190179 -242.50 157.50 187.50 0.465381 -242.50 157.50 192.50 1.1038 -242.50 157.50 197.50 2.17989 -242.50 157.50 202.50 3.51984 -242.50 157.50 207.50 4.5022 -242.50 157.50 212.50 4.63534 -242.50 157.50 217.50 3.81855 -242.50 157.50 222.50 2.80798 -242.50 157.50 227.50 2.0097 -242.50 157.50 232.50 1.43677 -242.50 157.50 237.50 1.12126 -242.50 157.50 242.50 0.838582 -242.50 157.50 247.50 0.491737 -242.50 157.50 252.50 0.252155 -242.50 157.50 257.50 0.115685 -242.50 157.50 262.50 0.0549512 -242.50 157.50 267.50 0.0640671 -242.50 157.50 272.50 0.190178 -242.50 157.50 277.50 0.46538 -242.50 157.50 282.50 1.1038 -242.50 157.50 287.50 2.17989 -242.50 157.50 292.50 3.51984 -242.50 157.50 297.50 4.50219 -242.50 157.50 302.50 4.63534 -242.50 157.50 307.50 3.81855 -242.50 157.50 312.50 2.80798 -242.50 157.50 317.50 2.0097 -242.50 157.50 322.50 1.43678 -242.50 157.50 327.50 1.12126 -242.50 157.50 332.50 0.838583 -242.50 157.50 337.50 0.491738 -242.50 157.50 342.50 0.252156 -242.50 157.50 347.50 0.115685 -242.50 157.50 352.50 0.0549514 -242.50 157.50 357.50 0.0640668 -242.50 162.50 2.50 0.169877 -242.50 162.50 7.50 0.362128 -242.50 162.50 12.50 0.758531 -242.50 162.50 17.50 1.39346 -242.50 162.50 22.50 2.15474 -242.50 162.50 27.50 2.71146 -242.50 162.50 32.50 2.8001 -242.50 162.50 37.50 2.51249 -242.50 162.50 42.50 2.01872 -242.50 162.50 47.50 1.5729 -242.50 162.50 52.50 1.38735 -242.50 162.50 57.50 1.31728 -242.50 162.50 62.50 1.0931 -242.50 162.50 67.50 0.745256 -242.50 162.50 72.50 0.438268 -242.50 162.50 77.50 0.217768 -242.50 162.50 82.50 0.0957019 -242.50 162.50 87.50 0.0797988 -242.50 162.50 92.50 0.169877 -242.50 162.50 97.50 0.362129 -242.50 162.50 102.50 0.758532 -242.50 162.50 107.50 1.39346 -242.50 162.50 112.50 2.15474 -242.50 162.50 117.50 2.71146 -242.50 162.50 122.50 2.80011 -242.50 162.50 127.50 2.51249 -242.50 162.50 132.50 2.01872 -242.50 162.50 137.50 1.5729 -242.50 162.50 142.50 1.38735 -242.50 162.50 147.50 1.31728 -242.50 162.50 152.50 1.0931 -242.50 162.50 157.50 0.745255 -242.50 162.50 162.50 0.438268 -242.50 162.50 167.50 0.217768 -242.50 162.50 172.50 0.095702 -242.50 162.50 177.50 0.0797989 -242.50 162.50 182.50 0.169877 -242.50 162.50 187.50 0.362129 -242.50 162.50 192.50 0.758533 -242.50 162.50 197.50 1.39346 -242.50 162.50 202.50 2.15474 -242.50 162.50 207.50 2.71146 -242.50 162.50 212.50 2.80011 -242.50 162.50 217.50 2.51249 -242.50 162.50 222.50 2.01872 -242.50 162.50 227.50 1.5729 -242.50 162.50 232.50 1.38735 -242.50 162.50 237.50 1.31728 -242.50 162.50 242.50 1.0931 -242.50 162.50 247.50 0.745255 -242.50 162.50 252.50 0.438268 -242.50 162.50 257.50 0.217768 -242.50 162.50 262.50 0.0957019 -242.50 162.50 267.50 0.0797989 -242.50 162.50 272.50 0.169877 -242.50 162.50 277.50 0.362129 -242.50 162.50 282.50 0.758532 -242.50 162.50 287.50 1.39346 -242.50 162.50 292.50 2.15474 -242.50 162.50 297.50 2.71146 -242.50 162.50 302.50 2.80011 -242.50 162.50 307.50 2.51249 -242.50 162.50 312.50 2.01872 -242.50 162.50 317.50 1.5729 -242.50 162.50 322.50 1.38735 -242.50 162.50 327.50 1.31728 -242.50 162.50 332.50 1.0931 -242.50 162.50 337.50 0.745256 -242.50 162.50 342.50 0.43827 -242.50 162.50 347.50 0.217769 -242.50 162.50 352.50 0.0957021 -242.50 162.50 357.50 0.0797988 -242.50 167.50 2.50 0.171122 -242.50 167.50 7.50 0.297934 -242.50 167.50 12.50 0.466813 -242.50 167.50 17.50 0.744515 -242.50 167.50 22.50 1.06471 -242.50 167.50 27.50 1.3114 -242.50 167.50 32.50 1.35825 -242.50 167.50 37.50 1.22026 -242.50 167.50 42.50 1.04756 -242.50 167.50 47.50 0.962608 -242.50 167.50 52.50 1.07277 -242.50 167.50 57.50 1.23553 -242.50 167.50 62.50 1.17985 -242.50 167.50 67.50 0.884236 -242.50 167.50 72.50 0.552134 -242.50 167.50 77.50 0.287369 -242.50 167.50 82.50 0.129418 -242.50 167.50 87.50 0.102338 -242.50 167.50 92.50 0.171122 -242.50 167.50 97.50 0.297934 -242.50 167.50 102.50 0.466813 -242.50 167.50 107.50 0.744515 -242.50 167.50 112.50 1.06471 -242.50 167.50 117.50 1.3114 -242.50 167.50 122.50 1.35825 -242.50 167.50 127.50 1.22026 -242.50 167.50 132.50 1.04756 -242.50 167.50 137.50 0.962608 -242.50 167.50 142.50 1.07277 -242.50 167.50 147.50 1.23553 -242.50 167.50 152.50 1.17985 -242.50 167.50 157.50 0.884237 -242.50 167.50 162.50 0.552135 -242.50 167.50 167.50 0.287369 -242.50 167.50 172.50 0.129418 -242.50 167.50 177.50 0.102338 -242.50 167.50 182.50 0.171122 -242.50 167.50 187.50 0.297934 -242.50 167.50 192.50 0.466813 -242.50 167.50 197.50 0.744515 -242.50 167.50 202.50 1.06471 -242.50 167.50 207.50 1.3114 -242.50 167.50 212.50 1.35825 -242.50 167.50 217.50 1.22026 -242.50 167.50 222.50 1.04756 -242.50 167.50 227.50 0.962609 -242.50 167.50 232.50 1.07277 -242.50 167.50 237.50 1.23553 -242.50 167.50 242.50 1.17985 -242.50 167.50 247.50 0.884236 -242.50 167.50 252.50 0.552134 -242.50 167.50 257.50 0.287369 -242.50 167.50 262.50 0.129418 -242.50 167.50 267.50 0.102338 -242.50 167.50 272.50 0.171122 -242.50 167.50 277.50 0.297934 -242.50 167.50 282.50 0.466813 -242.50 167.50 287.50 0.744515 -242.50 167.50 292.50 1.06471 -242.50 167.50 297.50 1.3114 -242.50 167.50 302.50 1.35825 -242.50 167.50 307.50 1.22026 -242.50 167.50 312.50 1.04756 -242.50 167.50 317.50 0.962609 -242.50 167.50 322.50 1.07277 -242.50 167.50 327.50 1.23552 -242.50 167.50 332.50 1.17985 -242.50 167.50 337.50 0.884237 -242.50 167.50 342.50 0.552136 -242.50 167.50 347.50 0.287369 -242.50 167.50 352.50 0.129418 -242.50 167.50 357.50 0.102338 -242.50 172.50 2.50 0.149325 -242.50 172.50 7.50 0.223786 -242.50 172.50 12.50 0.287298 -242.50 172.50 17.50 0.345456 -242.50 172.50 22.50 0.444354 -242.50 172.50 27.50 0.519334 -242.50 172.50 32.50 0.524382 -242.50 172.50 37.50 0.468542 -242.50 172.50 42.50 0.403121 -242.50 172.50 47.50 0.456224 -242.50 172.50 52.50 0.691594 -242.50 172.50 57.50 0.978158 -242.50 172.50 62.50 1.0596 -242.50 172.50 67.50 0.84758 -242.50 172.50 72.50 0.518342 -242.50 172.50 77.50 0.25839 -242.50 172.50 82.50 0.125281 -242.50 172.50 87.50 0.100886 -242.50 172.50 92.50 0.149325 -242.50 172.50 97.50 0.223786 -242.50 172.50 102.50 0.287299 -242.50 172.50 107.50 0.345456 -242.50 172.50 112.50 0.444354 -242.50 172.50 117.50 0.519334 -242.50 172.50 122.50 0.524382 -242.50 172.50 127.50 0.468542 -242.50 172.50 132.50 0.403121 -242.50 172.50 137.50 0.456224 -242.50 172.50 142.50 0.691593 -242.50 172.50 147.50 0.978158 -242.50 172.50 152.50 1.0596 -242.50 172.50 157.50 0.847581 -242.50 172.50 162.50 0.518342 -242.50 172.50 167.50 0.25839 -242.50 172.50 172.50 0.125282 -242.50 172.50 177.50 0.100886 -242.50 172.50 182.50 0.149325 -242.50 172.50 187.50 0.223786 -242.50 172.50 192.50 0.287299 -242.50 172.50 197.50 0.345456 -242.50 172.50 202.50 0.444354 -242.50 172.50 207.50 0.519334 -242.50 172.50 212.50 0.524382 -242.50 172.50 217.50 0.468542 -242.50 172.50 222.50 0.403121 -242.50 172.50 227.50 0.456224 -242.50 172.50 232.50 0.691594 -242.50 172.50 237.50 0.978158 -242.50 172.50 242.50 1.0596 -242.50 172.50 247.50 0.84758 -242.50 172.50 252.50 0.518342 -242.50 172.50 257.50 0.25839 -242.50 172.50 262.50 0.125281 -242.50 172.50 267.50 0.100886 -242.50 172.50 272.50 0.149325 -242.50 172.50 277.50 0.223786 -242.50 172.50 282.50 0.287298 -242.50 172.50 287.50 0.345456 -242.50 172.50 292.50 0.444354 -242.50 172.50 297.50 0.519333 -242.50 172.50 302.50 0.524382 -242.50 172.50 307.50 0.468542 -242.50 172.50 312.50 0.403121 -242.50 172.50 317.50 0.456224 -242.50 172.50 322.50 0.691593 -242.50 172.50 327.50 0.978157 -242.50 172.50 332.50 1.0596 -242.50 172.50 337.50 0.847581 -242.50 172.50 342.50 0.518343 -242.50 172.50 347.50 0.258391 -242.50 172.50 352.50 0.125282 -242.50 172.50 357.50 0.100886 -242.50 177.50 2.50 0.0922626 -242.50 177.50 7.50 0.123951 -242.50 177.50 12.50 0.143132 -242.50 177.50 17.50 0.152129 -242.50 177.50 22.50 0.163986 -242.50 177.50 27.50 0.166804 -242.50 177.50 32.50 0.149601 -242.50 177.50 37.50 0.129558 -242.50 177.50 42.50 0.12957 -242.50 177.50 47.50 0.206719 -242.50 177.50 52.50 0.421354 -242.50 177.50 57.50 0.721804 -242.50 177.50 62.50 0.868015 -242.50 177.50 67.50 0.719928 -242.50 177.50 72.50 0.414426 -242.50 177.50 77.50 0.186094 -242.50 177.50 82.50 0.085938 -242.50 177.50 87.50 0.0690467 -242.50 177.50 92.50 0.0922626 -242.50 177.50 97.50 0.123951 -242.50 177.50 102.50 0.143132 -242.50 177.50 107.50 0.152129 -242.50 177.50 112.50 0.163986 -242.50 177.50 117.50 0.166804 -242.50 177.50 122.50 0.149601 -242.50 177.50 127.50 0.129558 -242.50 177.50 132.50 0.129571 -242.50 177.50 137.50 0.206719 -242.50 177.50 142.50 0.421354 -242.50 177.50 147.50 0.721804 -242.50 177.50 152.50 0.868015 -242.50 177.50 157.50 0.719929 -242.50 177.50 162.50 0.414427 -242.50 177.50 167.50 0.186094 -242.50 177.50 172.50 0.0859381 -242.50 177.50 177.50 0.0690467 -242.50 177.50 182.50 0.0922627 -242.50 177.50 187.50 0.123951 -242.50 177.50 192.50 0.143132 -242.50 177.50 197.50 0.152129 -242.50 177.50 202.50 0.163986 -242.50 177.50 207.50 0.166804 -242.50 177.50 212.50 0.149601 -242.50 177.50 217.50 0.129557 -242.50 177.50 222.50 0.12957 -242.50 177.50 227.50 0.206719 -242.50 177.50 232.50 0.421354 -242.50 177.50 237.50 0.721804 -242.50 177.50 242.50 0.868014 -242.50 177.50 247.50 0.719928 -242.50 177.50 252.50 0.414426 -242.50 177.50 257.50 0.186094 -242.50 177.50 262.50 0.085938 -242.50 177.50 267.50 0.0690467 -242.50 177.50 272.50 0.0922626 -242.50 177.50 277.50 0.123951 -242.50 177.50 282.50 0.143132 -242.50 177.50 287.50 0.152129 -242.50 177.50 292.50 0.163986 -242.50 177.50 297.50 0.166803 -242.50 177.50 302.50 0.149601 -242.50 177.50 307.50 0.129557 -242.50 177.50 312.50 0.12957 -242.50 177.50 317.50 0.206718 -242.50 177.50 322.50 0.421353 -242.50 177.50 327.50 0.721803 -242.50 177.50 332.50 0.868014 -242.50 177.50 337.50 0.719929 -242.50 177.50 342.50 0.414427 -242.50 177.50 347.50 0.186095 -242.50 177.50 352.50 0.0859381 -242.50 177.50 357.50 0.0690467 -247.50 2.50 2.50 0.0485219 -247.50 2.50 7.50 0.0624686 -247.50 2.50 12.50 0.149977 -247.50 2.50 17.50 0.393273 -247.50 2.50 22.50 0.773179 -247.50 2.50 27.50 0.980476 -247.50 2.50 32.50 0.773178 -247.50 2.50 37.50 0.393272 -247.50 2.50 42.50 0.149977 -247.50 2.50 47.50 0.0624685 -247.50 2.50 52.50 0.048522 -247.50 2.50 57.50 0.0601603 -247.50 2.50 62.50 0.0760386 -247.50 2.50 67.50 0.083846 -247.50 2.50 72.50 0.084539 -247.50 2.50 77.50 0.083846 -247.50 2.50 82.50 0.0760385 -247.50 2.50 87.50 0.0601603 -247.50 2.50 92.50 0.0485219 -247.50 2.50 97.50 0.0624686 -247.50 2.50 102.50 0.149977 -247.50 2.50 107.50 0.393273 -247.50 2.50 112.50 0.773179 -247.50 2.50 117.50 0.980476 -247.50 2.50 122.50 0.773178 -247.50 2.50 127.50 0.393272 -247.50 2.50 132.50 0.149977 -247.50 2.50 137.50 0.0624685 -247.50 2.50 142.50 0.0485219 -247.50 2.50 147.50 0.0601603 -247.50 2.50 152.50 0.0760386 -247.50 2.50 157.50 0.083846 -247.50 2.50 162.50 0.084539 -247.50 2.50 167.50 0.083846 -247.50 2.50 172.50 0.0760385 -247.50 2.50 177.50 0.0601603 -247.50 2.50 182.50 0.0485219 -247.50 2.50 187.50 0.0624686 -247.50 2.50 192.50 0.149977 -247.50 2.50 197.50 0.393273 -247.50 2.50 202.50 0.773179 -247.50 2.50 207.50 0.980476 -247.50 2.50 212.50 0.773178 -247.50 2.50 217.50 0.393272 -247.50 2.50 222.50 0.149977 -247.50 2.50 227.50 0.0624685 -247.50 2.50 232.50 0.048522 -247.50 2.50 237.50 0.0601604 -247.50 2.50 242.50 0.0760386 -247.50 2.50 247.50 0.083846 -247.50 2.50 252.50 0.084539 -247.50 2.50 257.50 0.083846 -247.50 2.50 262.50 0.0760385 -247.50 2.50 267.50 0.0601603 -247.50 2.50 272.50 0.0485219 -247.50 2.50 277.50 0.0624686 -247.50 2.50 282.50 0.149977 -247.50 2.50 287.50 0.393273 -247.50 2.50 292.50 0.773179 -247.50 2.50 297.50 0.980476 -247.50 2.50 302.50 0.773179 -247.50 2.50 307.50 0.393272 -247.50 2.50 312.50 0.149977 -247.50 2.50 317.50 0.0624685 -247.50 2.50 322.50 0.0485219 -247.50 2.50 327.50 0.0601603 -247.50 2.50 332.50 0.0760385 -247.50 2.50 337.50 0.083846 -247.50 2.50 342.50 0.084539 -247.50 2.50 347.50 0.083846 -247.50 2.50 352.50 0.0760385 -247.50 2.50 357.50 0.0601603 -247.50 7.50 2.50 0.0733504 -247.50 7.50 7.50 0.0849768 -247.50 7.50 12.50 0.175312 -247.50 7.50 17.50 0.397489 -247.50 7.50 22.50 0.711143 -247.50 7.50 27.50 0.873767 -247.50 7.50 32.50 0.710742 -247.50 7.50 37.50 0.413165 -247.50 7.50 42.50 0.202283 -247.50 7.50 47.50 0.130436 -247.50 7.50 52.50 0.134926 -247.50 7.50 57.50 0.158343 -247.50 7.50 62.50 0.17362 -247.50 7.50 67.50 0.176032 -247.50 7.50 72.50 0.165474 -247.50 7.50 77.50 0.153603 -247.50 7.50 82.50 0.131719 -247.50 7.50 87.50 0.0984697 -247.50 7.50 92.50 0.0733504 -247.50 7.50 97.50 0.0849768 -247.50 7.50 102.50 0.175312 -247.50 7.50 107.50 0.397489 -247.50 7.50 112.50 0.711143 -247.50 7.50 117.50 0.873767 -247.50 7.50 122.50 0.710741 -247.50 7.50 127.50 0.413165 -247.50 7.50 132.50 0.202283 -247.50 7.50 137.50 0.130436 -247.50 7.50 142.50 0.134926 -247.50 7.50 147.50 0.158343 -247.50 7.50 152.50 0.173619 -247.50 7.50 157.50 0.176032 -247.50 7.50 162.50 0.165474 -247.50 7.50 167.50 0.153603 -247.50 7.50 172.50 0.131719 -247.50 7.50 177.50 0.0984698 -247.50 7.50 182.50 0.0733504 -247.50 7.50 187.50 0.0849767 -247.50 7.50 192.50 0.175312 -247.50 7.50 197.50 0.397489 -247.50 7.50 202.50 0.711143 -247.50 7.50 207.50 0.873767 -247.50 7.50 212.50 0.710742 -247.50 7.50 217.50 0.413165 -247.50 7.50 222.50 0.202284 -247.50 7.50 227.50 0.130436 -247.50 7.50 232.50 0.134926 -247.50 7.50 237.50 0.158343 -247.50 7.50 242.50 0.173619 -247.50 7.50 247.50 0.176032 -247.50 7.50 252.50 0.165474 -247.50 7.50 257.50 0.153603 -247.50 7.50 262.50 0.131719 -247.50 7.50 267.50 0.0984697 -247.50 7.50 272.50 0.0733504 -247.50 7.50 277.50 0.0849768 -247.50 7.50 282.50 0.175312 -247.50 7.50 287.50 0.397489 -247.50 7.50 292.50 0.711143 -247.50 7.50 297.50 0.873767 -247.50 7.50 302.50 0.710742 -247.50 7.50 307.50 0.413166 -247.50 7.50 312.50 0.202284 -247.50 7.50 317.50 0.130436 -247.50 7.50 322.50 0.134926 -247.50 7.50 327.50 0.158343 -247.50 7.50 332.50 0.173619 -247.50 7.50 337.50 0.176032 -247.50 7.50 342.50 0.165474 -247.50 7.50 347.50 0.153603 -247.50 7.50 352.50 0.131719 -247.50 7.50 357.50 0.0984698 -247.50 12.50 2.50 0.116684 -247.50 12.50 7.50 0.125415 -247.50 12.50 12.50 0.233425 -247.50 12.50 17.50 0.462915 -247.50 12.50 22.50 0.793623 -247.50 12.50 27.50 1.01746 -247.50 12.50 32.50 0.94396 -247.50 12.50 37.50 0.66712 -247.50 12.50 42.50 0.44694 -247.50 12.50 47.50 0.402325 -247.50 12.50 52.50 0.46921 -247.50 12.50 57.50 0.545911 -247.50 12.50 62.50 0.563691 -247.50 12.50 67.50 0.509966 -247.50 12.50 72.50 0.418482 -247.50 12.50 77.50 0.325522 -247.50 12.50 82.50 0.251315 -247.50 12.50 87.50 0.171944 -247.50 12.50 92.50 0.116684 -247.50 12.50 97.50 0.125414 -247.50 12.50 102.50 0.233425 -247.50 12.50 107.50 0.462915 -247.50 12.50 112.50 0.793624 -247.50 12.50 117.50 1.01746 -247.50 12.50 122.50 0.943959 -247.50 12.50 127.50 0.66712 -247.50 12.50 132.50 0.44694 -247.50 12.50 137.50 0.402325 -247.50 12.50 142.50 0.46921 -247.50 12.50 147.50 0.545911 -247.50 12.50 152.50 0.563691 -247.50 12.50 157.50 0.509966 -247.50 12.50 162.50 0.418482 -247.50 12.50 167.50 0.325522 -247.50 12.50 172.50 0.251315 -247.50 12.50 177.50 0.171945 -247.50 12.50 182.50 0.116684 -247.50 12.50 187.50 0.125415 -247.50 12.50 192.50 0.233426 -247.50 12.50 197.50 0.462916 -247.50 12.50 202.50 0.793624 -247.50 12.50 207.50 1.01746 -247.50 12.50 212.50 0.94396 -247.50 12.50 217.50 0.66712 -247.50 12.50 222.50 0.44694 -247.50 12.50 227.50 0.402325 -247.50 12.50 232.50 0.46921 -247.50 12.50 237.50 0.54591 -247.50 12.50 242.50 0.563691 -247.50 12.50 247.50 0.509966 -247.50 12.50 252.50 0.418482 -247.50 12.50 257.50 0.325521 -247.50 12.50 262.50 0.251315 -247.50 12.50 267.50 0.171944 -247.50 12.50 272.50 0.116684 -247.50 12.50 277.50 0.125415 -247.50 12.50 282.50 0.233426 -247.50 12.50 287.50 0.462916 -247.50 12.50 292.50 0.793623 -247.50 12.50 297.50 1.01746 -247.50 12.50 302.50 0.94396 -247.50 12.50 307.50 0.667121 -247.50 12.50 312.50 0.44694 -247.50 12.50 317.50 0.402325 -247.50 12.50 322.50 0.46921 -247.50 12.50 327.50 0.54591 -247.50 12.50 332.50 0.563691 -247.50 12.50 337.50 0.509966 -247.50 12.50 342.50 0.418482 -247.50 12.50 347.50 0.325522 -247.50 12.50 352.50 0.251316 -247.50 12.50 357.50 0.171945 -247.50 17.50 2.50 0.129911 -247.50 17.50 7.50 0.131489 -247.50 17.50 12.50 0.241637 -247.50 17.50 17.50 0.481758 -247.50 17.50 22.50 0.813542 -247.50 17.50 27.50 1.10479 -247.50 17.50 32.50 1.1614 -247.50 17.50 37.50 0.997995 -247.50 17.50 42.50 0.893712 -247.50 17.50 47.50 1.00305 -247.50 17.50 52.50 1.21537 -247.50 17.50 57.50 1.36656 -247.50 17.50 62.50 1.38887 -247.50 17.50 67.50 1.19798 -247.50 17.50 72.50 0.896728 -247.50 17.50 77.50 0.606151 -247.50 17.50 82.50 0.35581 -247.50 17.50 87.50 0.211095 -247.50 17.50 92.50 0.129911 -247.50 17.50 97.50 0.131489 -247.50 17.50 102.50 0.241637 -247.50 17.50 107.50 0.481758 -247.50 17.50 112.50 0.813542 -247.50 17.50 117.50 1.10479 -247.50 17.50 122.50 1.1614 -247.50 17.50 127.50 0.997995 -247.50 17.50 132.50 0.893712 -247.50 17.50 137.50 1.00305 -247.50 17.50 142.50 1.21537 -247.50 17.50 147.50 1.36656 -247.50 17.50 152.50 1.38887 -247.50 17.50 157.50 1.19798 -247.50 17.50 162.50 0.896728 -247.50 17.50 167.50 0.606151 -247.50 17.50 172.50 0.35581 -247.50 17.50 177.50 0.211095 -247.50 17.50 182.50 0.129911 -247.50 17.50 187.50 0.131489 -247.50 17.50 192.50 0.241637 -247.50 17.50 197.50 0.481758 -247.50 17.50 202.50 0.813542 -247.50 17.50 207.50 1.10479 -247.50 17.50 212.50 1.1614 -247.50 17.50 217.50 0.997995 -247.50 17.50 222.50 0.893712 -247.50 17.50 227.50 1.00305 -247.50 17.50 232.50 1.21537 -247.50 17.50 237.50 1.36656 -247.50 17.50 242.50 1.38887 -247.50 17.50 247.50 1.19798 -247.50 17.50 252.50 0.896728 -247.50 17.50 257.50 0.60615 -247.50 17.50 262.50 0.35581 -247.50 17.50 267.50 0.211095 -247.50 17.50 272.50 0.129911 -247.50 17.50 277.50 0.131489 -247.50 17.50 282.50 0.241637 -247.50 17.50 287.50 0.481758 -247.50 17.50 292.50 0.813542 -247.50 17.50 297.50 1.10479 -247.50 17.50 302.50 1.1614 -247.50 17.50 307.50 0.997995 -247.50 17.50 312.50 0.893712 -247.50 17.50 317.50 1.00305 -247.50 17.50 322.50 1.21537 -247.50 17.50 327.50 1.36656 -247.50 17.50 332.50 1.38887 -247.50 17.50 337.50 1.19798 -247.50 17.50 342.50 0.89673 -247.50 17.50 347.50 0.606152 -247.50 17.50 352.50 0.355811 -247.50 17.50 357.50 0.211095 -247.50 22.50 2.50 0.121879 -247.50 22.50 7.50 0.0992848 -247.50 22.50 12.50 0.182233 -247.50 22.50 17.50 0.378147 -247.50 22.50 22.50 0.68539 -247.50 22.50 27.50 1.01411 -247.50 22.50 32.50 1.19946 -247.50 22.50 37.50 1.23227 -247.50 22.50 42.50 1.37022 -247.50 22.50 47.50 1.79592 -247.50 22.50 52.50 2.4109 -247.50 22.50 57.50 2.82827 -247.50 22.50 62.50 2.8114 -247.50 22.50 67.50 2.36793 -247.50 22.50 72.50 1.63748 -247.50 22.50 77.50 0.97331 -247.50 22.50 82.50 0.50043 -247.50 22.50 87.50 0.23099 -247.50 22.50 92.50 0.121879 -247.50 22.50 97.50 0.0992848 -247.50 22.50 102.50 0.182233 -247.50 22.50 107.50 0.378147 -247.50 22.50 112.50 0.685389 -247.50 22.50 117.50 1.01411 -247.50 22.50 122.50 1.19946 -247.50 22.50 127.50 1.23227 -247.50 22.50 132.50 1.37022 -247.50 22.50 137.50 1.79592 -247.50 22.50 142.50 2.4109 -247.50 22.50 147.50 2.82827 -247.50 22.50 152.50 2.8114 -247.50 22.50 157.50 2.36793 -247.50 22.50 162.50 1.63749 -247.50 22.50 167.50 0.97331 -247.50 22.50 172.50 0.500431 -247.50 22.50 177.50 0.23099 -247.50 22.50 182.50 0.121879 -247.50 22.50 187.50 0.0992848 -247.50 22.50 192.50 0.182233 -247.50 22.50 197.50 0.378147 -247.50 22.50 202.50 0.68539 -247.50 22.50 207.50 1.01411 -247.50 22.50 212.50 1.19946 -247.50 22.50 217.50 1.23227 -247.50 22.50 222.50 1.37022 -247.50 22.50 227.50 1.79592 -247.50 22.50 232.50 2.4109 -247.50 22.50 237.50 2.82827 -247.50 22.50 242.50 2.8114 -247.50 22.50 247.50 2.36793 -247.50 22.50 252.50 1.63748 -247.50 22.50 257.50 0.973309 -247.50 22.50 262.50 0.50043 -247.50 22.50 267.50 0.23099 -247.50 22.50 272.50 0.121879 -247.50 22.50 277.50 0.0992847 -247.50 22.50 282.50 0.182233 -247.50 22.50 287.50 0.378147 -247.50 22.50 292.50 0.68539 -247.50 22.50 297.50 1.01411 -247.50 22.50 302.50 1.19946 -247.50 22.50 307.50 1.23227 -247.50 22.50 312.50 1.37022 -247.50 22.50 317.50 1.79592 -247.50 22.50 322.50 2.4109 -247.50 22.50 327.50 2.82827 -247.50 22.50 332.50 2.8114 -247.50 22.50 337.50 2.36793 -247.50 22.50 342.50 1.63749 -247.50 22.50 347.50 0.973311 -247.50 22.50 352.50 0.500432 -247.50 22.50 357.50 0.23099 -247.50 27.50 2.50 0.128577 -247.50 27.50 7.50 0.0675547 -247.50 27.50 12.50 0.106507 -247.50 27.50 17.50 0.224624 -247.50 27.50 22.50 0.446233 -247.50 27.50 27.50 0.749986 -247.50 27.50 32.50 1.00217 -247.50 27.50 37.50 1.18875 -247.50 27.50 42.50 1.6458 -247.50 27.50 47.50 2.48565 -247.50 27.50 52.50 3.52102 -247.50 27.50 57.50 4.39416 -247.50 27.50 62.50 4.61171 -247.50 27.50 67.50 3.82994 -247.50 27.50 72.50 2.53544 -247.50 27.50 77.50 1.38614 -247.50 27.50 82.50 0.682242 -247.50 27.50 87.50 0.287222 -247.50 27.50 92.50 0.128577 -247.50 27.50 97.50 0.0675548 -247.50 27.50 102.50 0.106507 -247.50 27.50 107.50 0.224624 -247.50 27.50 112.50 0.446233 -247.50 27.50 117.50 0.749986 -247.50 27.50 122.50 1.00217 -247.50 27.50 127.50 1.18875 -247.50 27.50 132.50 1.6458 -247.50 27.50 137.50 2.48565 -247.50 27.50 142.50 3.52102 -247.50 27.50 147.50 4.39416 -247.50 27.50 152.50 4.61171 -247.50 27.50 157.50 3.82994 -247.50 27.50 162.50 2.53544 -247.50 27.50 167.50 1.38614 -247.50 27.50 172.50 0.682243 -247.50 27.50 177.50 0.287222 -247.50 27.50 182.50 0.128577 -247.50 27.50 187.50 0.0675548 -247.50 27.50 192.50 0.106507 -247.50 27.50 197.50 0.224624 -247.50 27.50 202.50 0.446233 -247.50 27.50 207.50 0.749986 -247.50 27.50 212.50 1.00217 -247.50 27.50 217.50 1.18875 -247.50 27.50 222.50 1.6458 -247.50 27.50 227.50 2.48565 -247.50 27.50 232.50 3.52102 -247.50 27.50 237.50 4.39417 -247.50 27.50 242.50 4.61171 -247.50 27.50 247.50 3.82994 -247.50 27.50 252.50 2.53544 -247.50 27.50 257.50 1.38614 -247.50 27.50 262.50 0.682242 -247.50 27.50 267.50 0.287222 -247.50 27.50 272.50 0.128577 -247.50 27.50 277.50 0.0675547 -247.50 27.50 282.50 0.106507 -247.50 27.50 287.50 0.224624 -247.50 27.50 292.50 0.446233 -247.50 27.50 297.50 0.749986 -247.50 27.50 302.50 1.00217 -247.50 27.50 307.50 1.18875 -247.50 27.50 312.50 1.6458 -247.50 27.50 317.50 2.48565 -247.50 27.50 322.50 3.52102 -247.50 27.50 327.50 4.39416 -247.50 27.50 332.50 4.61171 -247.50 27.50 337.50 3.82994 -247.50 27.50 342.50 2.53544 -247.50 27.50 347.50 1.38614 -247.50 27.50 352.50 0.682243 -247.50 27.50 357.50 0.287223 -247.50 32.50 2.50 0.130738 -247.50 32.50 7.50 0.0489067 -247.50 32.50 12.50 0.058589 -247.50 32.50 17.50 0.10686 -247.50 32.50 22.50 0.22307 -247.50 32.50 27.50 0.4312 -247.50 32.50 32.50 0.652042 -247.50 32.50 37.50 0.916917 -247.50 32.50 42.50 1.46926 -247.50 32.50 47.50 2.59076 -247.50 32.50 52.50 4.05435 -247.50 32.50 57.50 5.20738 -247.50 32.50 62.50 5.41446 -247.50 32.50 67.50 4.62745 -247.50 32.50 72.50 2.96885 -247.50 32.50 77.50 1.56571 -247.50 32.50 82.50 0.769649 -247.50 32.50 87.50 0.329109 -247.50 32.50 92.50 0.130738 -247.50 32.50 97.50 0.0489067 -247.50 32.50 102.50 0.0585891 -247.50 32.50 107.50 0.10686 -247.50 32.50 112.50 0.22307 -247.50 32.50 117.50 0.4312 -247.50 32.50 122.50 0.652042 -247.50 32.50 127.50 0.916917 -247.50 32.50 132.50 1.46926 -247.50 32.50 137.50 2.59076 -247.50 32.50 142.50 4.05435 -247.50 32.50 147.50 5.20738 -247.50 32.50 152.50 5.41446 -247.50 32.50 157.50 4.62745 -247.50 32.50 162.50 2.96885 -247.50 32.50 167.50 1.56571 -247.50 32.50 172.50 0.76965 -247.50 32.50 177.50 0.329109 -247.50 32.50 182.50 0.130738 -247.50 32.50 187.50 0.0489066 -247.50 32.50 192.50 0.0585891 -247.50 32.50 197.50 0.10686 -247.50 32.50 202.50 0.22307 -247.50 32.50 207.50 0.4312 -247.50 32.50 212.50 0.652042 -247.50 32.50 217.50 0.916917 -247.50 32.50 222.50 1.46926 -247.50 32.50 227.50 2.59076 -247.50 32.50 232.50 4.05436 -247.50 32.50 237.50 5.20738 -247.50 32.50 242.50 5.41446 -247.50 32.50 247.50 4.62745 -247.50 32.50 252.50 2.96885 -247.50 32.50 257.50 1.56571 -247.50 32.50 262.50 0.769648 -247.50 32.50 267.50 0.329109 -247.50 32.50 272.50 0.130738 -247.50 32.50 277.50 0.0489067 -247.50 32.50 282.50 0.058589 -247.50 32.50 287.50 0.10686 -247.50 32.50 292.50 0.223069 -247.50 32.50 297.50 0.4312 -247.50 32.50 302.50 0.652042 -247.50 32.50 307.50 0.916916 -247.50 32.50 312.50 1.46926 -247.50 32.50 317.50 2.59076 -247.50 32.50 322.50 4.05435 -247.50 32.50 327.50 5.20738 -247.50 32.50 332.50 5.41446 -247.50 32.50 337.50 4.62745 -247.50 32.50 342.50 2.96885 -247.50 32.50 347.50 1.56572 -247.50 32.50 352.50 0.769651 -247.50 32.50 357.50 0.32911 -247.50 37.50 2.50 0.0974753 -247.50 37.50 7.50 0.0319728 -247.50 37.50 12.50 0.029963 -247.50 37.50 17.50 0.0437712 -247.50 37.50 22.50 0.0857297 -247.50 37.50 27.50 0.195092 -247.50 37.50 32.50 0.34409 -247.50 37.50 37.50 0.537988 -247.50 37.50 42.50 1.01343 -247.50 37.50 47.50 2.06342 -247.50 37.50 52.50 3.52062 -247.50 37.50 57.50 4.69045 -247.50 37.50 62.50 4.88877 -247.50 37.50 67.50 4.03039 -247.50 37.50 72.50 2.55427 -247.50 37.50 77.50 1.28792 -247.50 37.50 82.50 0.628633 -247.50 37.50 87.50 0.270603 -247.50 37.50 92.50 0.0974754 -247.50 37.50 97.50 0.0319728 -247.50 37.50 102.50 0.029963 -247.50 37.50 107.50 0.0437712 -247.50 37.50 112.50 0.0857297 -247.50 37.50 117.50 0.195093 -247.50 37.50 122.50 0.34409 -247.50 37.50 127.50 0.537988 -247.50 37.50 132.50 1.01344 -247.50 37.50 137.50 2.06342 -247.50 37.50 142.50 3.52062 -247.50 37.50 147.50 4.69045 -247.50 37.50 152.50 4.88877 -247.50 37.50 157.50 4.03039 -247.50 37.50 162.50 2.55428 -247.50 37.50 167.50 1.28792 -247.50 37.50 172.50 0.628633 -247.50 37.50 177.50 0.270603 -247.50 37.50 182.50 0.0974753 -247.50 37.50 187.50 0.0319728 -247.50 37.50 192.50 0.029963 -247.50 37.50 197.50 0.0437712 -247.50 37.50 202.50 0.0857298 -247.50 37.50 207.50 0.195093 -247.50 37.50 212.50 0.344091 -247.50 37.50 217.50 0.537988 -247.50 37.50 222.50 1.01344 -247.50 37.50 227.50 2.06342 -247.50 37.50 232.50 3.52063 -247.50 37.50 237.50 4.69045 -247.50 37.50 242.50 4.88877 -247.50 37.50 247.50 4.03039 -247.50 37.50 252.50 2.55427 -247.50 37.50 257.50 1.28792 -247.50 37.50 262.50 0.628632 -247.50 37.50 267.50 0.270603 -247.50 37.50 272.50 0.0974754 -247.50 37.50 277.50 0.0319728 -247.50 37.50 282.50 0.029963 -247.50 37.50 287.50 0.0437712 -247.50 37.50 292.50 0.0857297 -247.50 37.50 297.50 0.195092 -247.50 37.50 302.50 0.34409 -247.50 37.50 307.50 0.537987 -247.50 37.50 312.50 1.01343 -247.50 37.50 317.50 2.06342 -247.50 37.50 322.50 3.52062 -247.50 37.50 327.50 4.69045 -247.50 37.50 332.50 4.88877 -247.50 37.50 337.50 4.03039 -247.50 37.50 342.50 2.55428 -247.50 37.50 347.50 1.28793 -247.50 37.50 352.50 0.628634 -247.50 37.50 357.50 0.270604 -247.50 42.50 2.50 0.0543458 -247.50 42.50 7.50 0.019399 -247.50 42.50 12.50 0.0181523 -247.50 42.50 17.50 0.0201029 -247.50 42.50 22.50 0.029629 -247.50 42.50 27.50 0.0704416 -247.50 42.50 32.50 0.134339 -247.50 42.50 37.50 0.236099 -247.50 42.50 42.50 0.517224 -247.50 42.50 47.50 1.17994 -247.50 42.50 52.50 2.24846 -247.50 42.50 57.50 3.13446 -247.50 42.50 62.50 3.37986 -247.50 42.50 67.50 2.69837 -247.50 42.50 72.50 1.62574 -247.50 42.50 77.50 0.790616 -247.50 42.50 82.50 0.369482 -247.50 42.50 87.50 0.156544 -247.50 42.50 92.50 0.0543457 -247.50 42.50 97.50 0.019399 -247.50 42.50 102.50 0.0181523 -247.50 42.50 107.50 0.0201029 -247.50 42.50 112.50 0.029629 -247.50 42.50 117.50 0.0704417 -247.50 42.50 122.50 0.13434 -247.50 42.50 127.50 0.236099 -247.50 42.50 132.50 0.517224 -247.50 42.50 137.50 1.17994 -247.50 42.50 142.50 2.24846 -247.50 42.50 147.50 3.13446 -247.50 42.50 152.50 3.37986 -247.50 42.50 157.50 2.69838 -247.50 42.50 162.50 1.62574 -247.50 42.50 167.50 0.790616 -247.50 42.50 172.50 0.369483 -247.50 42.50 177.50 0.156544 -247.50 42.50 182.50 0.0543457 -247.50 42.50 187.50 0.019399 -247.50 42.50 192.50 0.0181524 -247.50 42.50 197.50 0.0201029 -247.50 42.50 202.50 0.029629 -247.50 42.50 207.50 0.0704415 -247.50 42.50 212.50 0.134339 -247.50 42.50 217.50 0.236099 -247.50 42.50 222.50 0.517224 -247.50 42.50 227.50 1.17994 -247.50 42.50 232.50 2.24846 -247.50 42.50 237.50 3.13446 -247.50 42.50 242.50 3.37986 -247.50 42.50 247.50 2.69837 -247.50 42.50 252.50 1.62574 -247.50 42.50 257.50 0.790616 -247.50 42.50 262.50 0.369482 -247.50 42.50 267.50 0.156544 -247.50 42.50 272.50 0.0543458 -247.50 42.50 277.50 0.019399 -247.50 42.50 282.50 0.0181523 -247.50 42.50 287.50 0.0201029 -247.50 42.50 292.50 0.029629 -247.50 42.50 297.50 0.0704415 -247.50 42.50 302.50 0.134339 -247.50 42.50 307.50 0.236099 -247.50 42.50 312.50 0.517223 -247.50 42.50 317.50 1.17994 -247.50 42.50 322.50 2.24846 -247.50 42.50 327.50 3.13446 -247.50 42.50 332.50 3.37986 -247.50 42.50 337.50 2.69838 -247.50 42.50 342.50 1.62575 -247.50 42.50 347.50 0.790617 -247.50 42.50 352.50 0.369484 -247.50 42.50 357.50 0.156544 -247.50 47.50 2.50 0.0370178 -247.50 47.50 7.50 0.0308334 -247.50 47.50 12.50 0.043062 -247.50 47.50 17.50 0.0436275 -247.50 47.50 22.50 0.0300108 -247.50 47.50 27.50 0.0271068 -247.50 47.50 32.50 0.0369965 -247.50 47.50 37.50 0.0803484 -247.50 47.50 42.50 0.179249 -247.50 47.50 47.50 0.498102 -247.50 47.50 52.50 0.922784 -247.50 47.50 57.50 1.43932 -247.50 47.50 62.50 1.66793 -247.50 47.50 67.50 1.41441 -247.50 47.50 72.50 0.818624 -247.50 47.50 77.50 0.381166 -247.50 47.50 82.50 0.17609 -247.50 47.50 87.50 0.0778325 -247.50 47.50 92.50 0.0370178 -247.50 47.50 97.50 0.0308333 -247.50 47.50 102.50 0.043062 -247.50 47.50 107.50 0.0436275 -247.50 47.50 112.50 0.0300108 -247.50 47.50 117.50 0.0271068 -247.50 47.50 122.50 0.0369965 -247.50 47.50 127.50 0.0803485 -247.50 47.50 132.50 0.179249 -247.50 47.50 137.50 0.498102 -247.50 47.50 142.50 0.922784 -247.50 47.50 147.50 1.43932 -247.50 47.50 152.50 1.66793 -247.50 47.50 157.50 1.41441 -247.50 47.50 162.50 0.818624 -247.50 47.50 167.50 0.381166 -247.50 47.50 172.50 0.17609 -247.50 47.50 177.50 0.0778326 -247.50 47.50 182.50 0.0370178 -247.50 47.50 187.50 0.0308333 -247.50 47.50 192.50 0.043062 -247.50 47.50 197.50 0.0436275 -247.50 47.50 202.50 0.0300108 -247.50 47.50 207.50 0.0271068 -247.50 47.50 212.50 0.0369965 -247.50 47.50 217.50 0.0803484 -247.50 47.50 222.50 0.179249 -247.50 47.50 227.50 0.498101 -247.50 47.50 232.50 0.922786 -247.50 47.50 237.50 1.43932 -247.50 47.50 242.50 1.66793 -247.50 47.50 247.50 1.41441 -247.50 47.50 252.50 0.818624 -247.50 47.50 257.50 0.381166 -247.50 47.50 262.50 0.17609 -247.50 47.50 267.50 0.0778325 -247.50 47.50 272.50 0.0370178 -247.50 47.50 277.50 0.0308334 -247.50 47.50 282.50 0.043062 -247.50 47.50 287.50 0.0436275 -247.50 47.50 292.50 0.0300108 -247.50 47.50 297.50 0.0271068 -247.50 47.50 302.50 0.0369965 -247.50 47.50 307.50 0.0803484 -247.50 47.50 312.50 0.179249 -247.50 47.50 317.50 0.498101 -247.50 47.50 322.50 0.922783 -247.50 47.50 327.50 1.43932 -247.50 47.50 332.50 1.66793 -247.50 47.50 337.50 1.41442 -247.50 47.50 342.50 0.818625 -247.50 47.50 347.50 0.381167 -247.50 47.50 352.50 0.17609 -247.50 47.50 357.50 0.0778327 -247.50 52.50 2.50 0.0543458 -247.50 52.50 7.50 0.088759 -247.50 52.50 12.50 0.130606 -247.50 52.50 17.50 0.136006 -247.50 52.50 22.50 0.0983815 -247.50 52.50 27.50 0.0656052 -247.50 52.50 32.50 0.0377448 -247.50 52.50 37.50 0.0280947 -247.50 52.50 42.50 0.0537107 -247.50 52.50 47.50 0.137815 -247.50 52.50 52.50 0.283554 -247.50 52.50 57.50 0.45162 -247.50 52.50 62.50 0.562986 -247.50 52.50 67.50 0.525444 -247.50 52.50 72.50 0.341571 -247.50 52.50 77.50 0.154202 -247.50 52.50 82.50 0.0728263 -247.50 52.50 87.50 0.0469194 -247.50 52.50 92.50 0.0543458 -247.50 52.50 97.50 0.088759 -247.50 52.50 102.50 0.130605 -247.50 52.50 107.50 0.136006 -247.50 52.50 112.50 0.0983815 -247.50 52.50 117.50 0.0656052 -247.50 52.50 122.50 0.0377448 -247.50 52.50 127.50 0.0280947 -247.50 52.50 132.50 0.0537107 -247.50 52.50 137.50 0.137816 -247.50 52.50 142.50 0.283554 -247.50 52.50 147.50 0.45162 -247.50 52.50 152.50 0.562986 -247.50 52.50 157.50 0.525444 -247.50 52.50 162.50 0.341571 -247.50 52.50 167.50 0.154202 -247.50 52.50 172.50 0.0728263 -247.50 52.50 177.50 0.0469194 -247.50 52.50 182.50 0.0543458 -247.50 52.50 187.50 0.088759 -247.50 52.50 192.50 0.130605 -247.50 52.50 197.50 0.136006 -247.50 52.50 202.50 0.0983814 -247.50 52.50 207.50 0.0656051 -247.50 52.50 212.50 0.0377448 -247.50 52.50 217.50 0.0280947 -247.50 52.50 222.50 0.0537107 -247.50 52.50 227.50 0.137815 -247.50 52.50 232.50 0.283555 -247.50 52.50 237.50 0.45162 -247.50 52.50 242.50 0.562986 -247.50 52.50 247.50 0.525444 -247.50 52.50 252.50 0.341571 -247.50 52.50 257.50 0.154202 -247.50 52.50 262.50 0.0728263 -247.50 52.50 267.50 0.0469194 -247.50 52.50 272.50 0.0543458 -247.50 52.50 277.50 0.088759 -247.50 52.50 282.50 0.130605 -247.50 52.50 287.50 0.136006 -247.50 52.50 292.50 0.0983815 -247.50 52.50 297.50 0.0656052 -247.50 52.50 302.50 0.0377448 -247.50 52.50 307.50 0.0280947 -247.50 52.50 312.50 0.0537106 -247.50 52.50 317.50 0.137815 -247.50 52.50 322.50 0.283554 -247.50 52.50 327.50 0.45162 -247.50 52.50 332.50 0.562987 -247.50 52.50 337.50 0.525444 -247.50 52.50 342.50 0.341572 -247.50 52.50 347.50 0.154202 -247.50 52.50 352.50 0.0728264 -247.50 52.50 357.50 0.0469194 -247.50 57.50 2.50 0.0974754 -247.50 57.50 7.50 0.195513 -247.50 57.50 12.50 0.287254 -247.50 57.50 17.50 0.34099 -247.50 57.50 22.50 0.331034 -247.50 57.50 27.50 0.25129 -247.50 57.50 32.50 0.155417 -247.50 57.50 37.50 0.0772948 -247.50 57.50 42.50 0.0461287 -247.50 57.50 47.50 0.0555731 -247.50 57.50 52.50 0.080277 -247.50 57.50 57.50 0.120496 -247.50 57.50 62.50 0.134909 -247.50 57.50 67.50 0.126797 -247.50 57.50 72.50 0.102507 -247.50 57.50 77.50 0.0659186 -247.50 57.50 82.50 0.0293443 -247.50 57.50 87.50 0.0399963 -247.50 57.50 92.50 0.0974755 -247.50 57.50 97.50 0.195513 -247.50 57.50 102.50 0.287254 -247.50 57.50 107.50 0.340989 -247.50 57.50 112.50 0.331034 -247.50 57.50 117.50 0.25129 -247.50 57.50 122.50 0.155417 -247.50 57.50 127.50 0.0772948 -247.50 57.50 132.50 0.0461287 -247.50 57.50 137.50 0.0555731 -247.50 57.50 142.50 0.080277 -247.50 57.50 147.50 0.120496 -247.50 57.50 152.50 0.134909 -247.50 57.50 157.50 0.126797 -247.50 57.50 162.50 0.102507 -247.50 57.50 167.50 0.0659186 -247.50 57.50 172.50 0.0293443 -247.50 57.50 177.50 0.0399963 -247.50 57.50 182.50 0.0974755 -247.50 57.50 187.50 0.195512 -247.50 57.50 192.50 0.287253 -247.50 57.50 197.50 0.340989 -247.50 57.50 202.50 0.331034 -247.50 57.50 207.50 0.25129 -247.50 57.50 212.50 0.155417 -247.50 57.50 217.50 0.0772948 -247.50 57.50 222.50 0.0461287 -247.50 57.50 227.50 0.0555731 -247.50 57.50 232.50 0.0802771 -247.50 57.50 237.50 0.120496 -247.50 57.50 242.50 0.134909 -247.50 57.50 247.50 0.126798 -247.50 57.50 252.50 0.102507 -247.50 57.50 257.50 0.0659185 -247.50 57.50 262.50 0.0293443 -247.50 57.50 267.50 0.0399964 -247.50 57.50 272.50 0.0974754 -247.50 57.50 277.50 0.195513 -247.50 57.50 282.50 0.287253 -247.50 57.50 287.50 0.34099 -247.50 57.50 292.50 0.331034 -247.50 57.50 297.50 0.25129 -247.50 57.50 302.50 0.155417 -247.50 57.50 307.50 0.0772948 -247.50 57.50 312.50 0.0461287 -247.50 57.50 317.50 0.0555731 -247.50 57.50 322.50 0.0802769 -247.50 57.50 327.50 0.120496 -247.50 57.50 332.50 0.134909 -247.50 57.50 337.50 0.126797 -247.50 57.50 342.50 0.102507 -247.50 57.50 347.50 0.0659186 -247.50 57.50 352.50 0.0293443 -247.50 57.50 357.50 0.0399962 -247.50 62.50 2.50 0.130738 -247.50 62.50 7.50 0.296509 -247.50 62.50 12.50 0.483705 -247.50 62.50 17.50 0.714308 -247.50 62.50 22.50 0.841433 -247.50 62.50 27.50 0.733899 -247.50 62.50 32.50 0.534545 -247.50 62.50 37.50 0.352876 -247.50 62.50 42.50 0.19984 -247.50 62.50 47.50 0.108223 -247.50 62.50 52.50 0.0611989 -247.50 62.50 57.50 0.0444238 -247.50 62.50 62.50 0.0330204 -247.50 62.50 67.50 0.0241577 -247.50 62.50 72.50 0.0214521 -247.50 62.50 77.50 0.0186961 -247.50 62.50 82.50 0.0172488 -247.50 62.50 87.50 0.039468 -247.50 62.50 92.50 0.130738 -247.50 62.50 97.50 0.296509 -247.50 62.50 102.50 0.483704 -247.50 62.50 107.50 0.714308 -247.50 62.50 112.50 0.841433 -247.50 62.50 117.50 0.733899 -247.50 62.50 122.50 0.534544 -247.50 62.50 127.50 0.352876 -247.50 62.50 132.50 0.199839 -247.50 62.50 137.50 0.108223 -247.50 62.50 142.50 0.0611989 -247.50 62.50 147.50 0.0444239 -247.50 62.50 152.50 0.0330205 -247.50 62.50 157.50 0.0241577 -247.50 62.50 162.50 0.0214521 -247.50 62.50 167.50 0.0186961 -247.50 62.50 172.50 0.0172488 -247.50 62.50 177.50 0.0394679 -247.50 62.50 182.50 0.130738 -247.50 62.50 187.50 0.296509 -247.50 62.50 192.50 0.483704 -247.50 62.50 197.50 0.714308 -247.50 62.50 202.50 0.841433 -247.50 62.50 207.50 0.733899 -247.50 62.50 212.50 0.534544 -247.50 62.50 217.50 0.352876 -247.50 62.50 222.50 0.199839 -247.50 62.50 227.50 0.108223 -247.50 62.50 232.50 0.0611989 -247.50 62.50 237.50 0.0444239 -247.50 62.50 242.50 0.0330205 -247.50 62.50 247.50 0.0241577 -247.50 62.50 252.50 0.0214521 -247.50 62.50 257.50 0.0186961 -247.50 62.50 262.50 0.0172488 -247.50 62.50 267.50 0.039468 -247.50 62.50 272.50 0.130738 -247.50 62.50 277.50 0.296509 -247.50 62.50 282.50 0.483705 -247.50 62.50 287.50 0.714308 -247.50 62.50 292.50 0.841433 -247.50 62.50 297.50 0.7339 -247.50 62.50 302.50 0.534545 -247.50 62.50 307.50 0.352876 -247.50 62.50 312.50 0.199839 -247.50 62.50 317.50 0.108223 -247.50 62.50 322.50 0.061199 -247.50 62.50 327.50 0.0444239 -247.50 62.50 332.50 0.0330205 -247.50 62.50 337.50 0.0241577 -247.50 62.50 342.50 0.0214521 -247.50 62.50 347.50 0.0186961 -247.50 62.50 352.50 0.0172488 -247.50 62.50 357.50 0.0394678 -247.50 67.50 2.50 0.128577 -247.50 67.50 7.50 0.337514 -247.50 67.50 12.50 0.699143 -247.50 67.50 17.50 1.24085 -247.50 67.50 22.50 1.66328 -247.50 67.50 27.50 1.69153 -247.50 67.50 32.50 1.48429 -247.50 67.50 37.50 1.06691 -247.50 67.50 42.50 0.669425 -247.50 67.50 47.50 0.373142 -247.50 67.50 52.50 0.164346 -247.50 67.50 57.50 0.0578932 -247.50 67.50 62.50 0.0175433 -247.50 67.50 67.50 0.00787525 -247.50 67.50 72.50 0.00545859 -247.50 67.50 77.50 0.00578838 -247.50 67.50 82.50 0.0117613 -247.50 67.50 87.50 0.0394433 -247.50 67.50 92.50 0.128577 -247.50 67.50 97.50 0.337514 -247.50 67.50 102.50 0.699142 -247.50 67.50 107.50 1.24085 -247.50 67.50 112.50 1.66328 -247.50 67.50 117.50 1.69152 -247.50 67.50 122.50 1.48429 -247.50 67.50 127.50 1.06691 -247.50 67.50 132.50 0.669424 -247.50 67.50 137.50 0.373142 -247.50 67.50 142.50 0.164346 -247.50 67.50 147.50 0.0578933 -247.50 67.50 152.50 0.0175434 -247.50 67.50 157.50 0.00787527 -247.50 67.50 162.50 0.00545859 -247.50 67.50 167.50 0.00578838 -247.50 67.50 172.50 0.0117612 -247.50 67.50 177.50 0.0394433 -247.50 67.50 182.50 0.128577 -247.50 67.50 187.50 0.337514 -247.50 67.50 192.50 0.699142 -247.50 67.50 197.50 1.24085 -247.50 67.50 202.50 1.66328 -247.50 67.50 207.50 1.69153 -247.50 67.50 212.50 1.48429 -247.50 67.50 217.50 1.06691 -247.50 67.50 222.50 0.669424 -247.50 67.50 227.50 0.373142 -247.50 67.50 232.50 0.164345 -247.50 67.50 237.50 0.0578931 -247.50 67.50 242.50 0.0175433 -247.50 67.50 247.50 0.00787525 -247.50 67.50 252.50 0.00545859 -247.50 67.50 257.50 0.00578838 -247.50 67.50 262.50 0.0117612 -247.50 67.50 267.50 0.0394434 -247.50 67.50 272.50 0.128577 -247.50 67.50 277.50 0.337514 -247.50 67.50 282.50 0.699142 -247.50 67.50 287.50 1.24085 -247.50 67.50 292.50 1.66329 -247.50 67.50 297.50 1.69153 -247.50 67.50 302.50 1.4843 -247.50 67.50 307.50 1.06691 -247.50 67.50 312.50 0.669425 -247.50 67.50 317.50 0.373142 -247.50 67.50 322.50 0.164346 -247.50 67.50 327.50 0.0578933 -247.50 67.50 332.50 0.0175434 -247.50 67.50 337.50 0.00787527 -247.50 67.50 342.50 0.00545859 -247.50 67.50 347.50 0.00578838 -247.50 67.50 352.50 0.0117613 -247.50 67.50 357.50 0.0394432 -247.50 72.50 2.50 0.121879 -247.50 72.50 7.50 0.363239 -247.50 72.50 12.50 0.884302 -247.50 72.50 17.50 1.77937 -247.50 72.50 22.50 2.6212 -247.50 72.50 27.50 3.06923 -247.50 72.50 32.50 2.86468 -247.50 72.50 37.50 2.26691 -247.50 72.50 42.50 1.58648 -247.50 72.50 47.50 0.922023 -247.50 72.50 52.50 0.459733 -247.50 72.50 57.50 0.177831 -247.50 72.50 62.50 0.0576381 -247.50 72.50 67.50 0.0188465 -247.50 72.50 72.50 0.0137829 -247.50 72.50 77.50 0.0109335 -247.50 72.50 82.50 0.0180791 -247.50 72.50 87.50 0.050492 -247.50 72.50 92.50 0.121879 -247.50 72.50 97.50 0.363239 -247.50 72.50 102.50 0.884302 -247.50 72.50 107.50 1.77937 -247.50 72.50 112.50 2.6212 -247.50 72.50 117.50 3.06923 -247.50 72.50 122.50 2.86468 -247.50 72.50 127.50 2.26691 -247.50 72.50 132.50 1.58648 -247.50 72.50 137.50 0.922023 -247.50 72.50 142.50 0.459733 -247.50 72.50 147.50 0.177831 -247.50 72.50 152.50 0.0576383 -247.50 72.50 157.50 0.0188466 -247.50 72.50 162.50 0.013783 -247.50 72.50 167.50 0.0109335 -247.50 72.50 172.50 0.018079 -247.50 72.50 177.50 0.050492 -247.50 72.50 182.50 0.121879 -247.50 72.50 187.50 0.363239 -247.50 72.50 192.50 0.884302 -247.50 72.50 197.50 1.77937 -247.50 72.50 202.50 2.6212 -247.50 72.50 207.50 3.06923 -247.50 72.50 212.50 2.86468 -247.50 72.50 217.50 2.26691 -247.50 72.50 222.50 1.58649 -247.50 72.50 227.50 0.922023 -247.50 72.50 232.50 0.459732 -247.50 72.50 237.50 0.177831 -247.50 72.50 242.50 0.057638 -247.50 72.50 247.50 0.0188465 -247.50 72.50 252.50 0.0137829 -247.50 72.50 257.50 0.0109335 -247.50 72.50 262.50 0.0180791 -247.50 72.50 267.50 0.0504921 -247.50 72.50 272.50 0.121879 -247.50 72.50 277.50 0.363239 -247.50 72.50 282.50 0.884302 -247.50 72.50 287.50 1.77937 -247.50 72.50 292.50 2.6212 -247.50 72.50 297.50 3.06923 -247.50 72.50 302.50 2.86468 -247.50 72.50 307.50 2.26691 -247.50 72.50 312.50 1.58649 -247.50 72.50 317.50 0.922023 -247.50 72.50 322.50 0.459734 -247.50 72.50 327.50 0.177832 -247.50 72.50 332.50 0.0576384 -247.50 72.50 337.50 0.0188466 -247.50 72.50 342.50 0.0137829 -247.50 72.50 347.50 0.0109335 -247.50 72.50 352.50 0.018079 -247.50 72.50 357.50 0.0504919 -247.50 77.50 2.50 0.129911 -247.50 77.50 7.50 0.401407 -247.50 77.50 12.50 0.979881 -247.50 77.50 17.50 2.14485 -247.50 77.50 22.50 3.22584 -247.50 77.50 27.50 3.92391 -247.50 77.50 32.50 4.06137 -247.50 77.50 37.50 3.61436 -247.50 77.50 42.50 2.79439 -247.50 77.50 47.50 1.93749 -247.50 77.50 52.50 1.13284 -247.50 77.50 57.50 0.529718 -247.50 77.50 62.50 0.202158 -247.50 77.50 67.50 0.0747901 -247.50 77.50 72.50 0.0323424 -247.50 77.50 77.50 0.0271833 -247.50 77.50 82.50 0.0247857 -247.50 77.50 87.50 0.0644309 -247.50 77.50 92.50 0.129911 -247.50 77.50 97.50 0.401407 -247.50 77.50 102.50 0.979881 -247.50 77.50 107.50 2.14485 -247.50 77.50 112.50 3.22583 -247.50 77.50 117.50 3.92391 -247.50 77.50 122.50 4.06137 -247.50 77.50 127.50 3.61436 -247.50 77.50 132.50 2.79439 -247.50 77.50 137.50 1.93749 -247.50 77.50 142.50 1.13284 -247.50 77.50 147.50 0.529717 -247.50 77.50 152.50 0.202158 -247.50 77.50 157.50 0.0747902 -247.50 77.50 162.50 0.0323425 -247.50 77.50 167.50 0.0271833 -247.50 77.50 172.50 0.0247857 -247.50 77.50 177.50 0.0644308 -247.50 77.50 182.50 0.129911 -247.50 77.50 187.50 0.401407 -247.50 77.50 192.50 0.979882 -247.50 77.50 197.50 2.14485 -247.50 77.50 202.50 3.22584 -247.50 77.50 207.50 3.92391 -247.50 77.50 212.50 4.06136 -247.50 77.50 217.50 3.61436 -247.50 77.50 222.50 2.79439 -247.50 77.50 227.50 1.93749 -247.50 77.50 232.50 1.13284 -247.50 77.50 237.50 0.529716 -247.50 77.50 242.50 0.202158 -247.50 77.50 247.50 0.07479 -247.50 77.50 252.50 0.0323424 -247.50 77.50 257.50 0.0271833 -247.50 77.50 262.50 0.0247857 -247.50 77.50 267.50 0.0644309 -247.50 77.50 272.50 0.129911 -247.50 77.50 277.50 0.401407 -247.50 77.50 282.50 0.979881 -247.50 77.50 287.50 2.14485 -247.50 77.50 292.50 3.22584 -247.50 77.50 297.50 3.92391 -247.50 77.50 302.50 4.06137 -247.50 77.50 307.50 3.61436 -247.50 77.50 312.50 2.79439 -247.50 77.50 317.50 1.93749 -247.50 77.50 322.50 1.13284 -247.50 77.50 327.50 0.529718 -247.50 77.50 332.50 0.202159 -247.50 77.50 337.50 0.0747903 -247.50 77.50 342.50 0.0323425 -247.50 77.50 347.50 0.0271833 -247.50 77.50 352.50 0.0247857 -247.50 77.50 357.50 0.0644308 -247.50 82.50 2.50 0.116684 -247.50 82.50 7.50 0.341343 -247.50 82.50 12.50 0.980142 -247.50 82.50 17.50 1.86165 -247.50 82.50 22.50 3.02759 -247.50 82.50 27.50 4.00215 -247.50 82.50 32.50 4.57792 -247.50 82.50 37.50 4.68213 -247.50 82.50 42.50 4.28592 -247.50 82.50 47.50 3.4332 -247.50 82.50 52.50 2.31854 -247.50 82.50 57.50 1.2743 -247.50 82.50 62.50 0.600577 -247.50 82.50 67.50 0.269231 -247.50 82.50 72.50 0.118622 -247.50 82.50 77.50 0.0540157 -247.50 82.50 82.50 0.0362753 -247.50 82.50 87.50 0.0524977 -247.50 82.50 92.50 0.116684 -247.50 82.50 97.50 0.341343 -247.50 82.50 102.50 0.980142 -247.50 82.50 107.50 1.86165 -247.50 82.50 112.50 3.02759 -247.50 82.50 117.50 4.00215 -247.50 82.50 122.50 4.57792 -247.50 82.50 127.50 4.68213 -247.50 82.50 132.50 4.28591 -247.50 82.50 137.50 3.43319 -247.50 82.50 142.50 2.31854 -247.50 82.50 147.50 1.2743 -247.50 82.50 152.50 0.600578 -247.50 82.50 157.50 0.269232 -247.50 82.50 162.50 0.118622 -247.50 82.50 167.50 0.0540158 -247.50 82.50 172.50 0.0362753 -247.50 82.50 177.50 0.0524977 -247.50 82.50 182.50 0.116684 -247.50 82.50 187.50 0.341343 -247.50 82.50 192.50 0.980142 -247.50 82.50 197.50 1.86165 -247.50 82.50 202.50 3.02759 -247.50 82.50 207.50 4.00215 -247.50 82.50 212.50 4.57792 -247.50 82.50 217.50 4.68213 -247.50 82.50 222.50 4.28592 -247.50 82.50 227.50 3.4332 -247.50 82.50 232.50 2.31854 -247.50 82.50 237.50 1.2743 -247.50 82.50 242.50 0.600577 -247.50 82.50 247.50 0.269231 -247.50 82.50 252.50 0.118622 -247.50 82.50 257.50 0.0540157 -247.50 82.50 262.50 0.0362753 -247.50 82.50 267.50 0.0524977 -247.50 82.50 272.50 0.116684 -247.50 82.50 277.50 0.341343 -247.50 82.50 282.50 0.980142 -247.50 82.50 287.50 1.86165 -247.50 82.50 292.50 3.02759 -247.50 82.50 297.50 4.00215 -247.50 82.50 302.50 4.57792 -247.50 82.50 307.50 4.68213 -247.50 82.50 312.50 4.28592 -247.50 82.50 317.50 3.4332 -247.50 82.50 322.50 2.31854 -247.50 82.50 327.50 1.2743 -247.50 82.50 332.50 0.600579 -247.50 82.50 337.50 0.269232 -247.50 82.50 342.50 0.118622 -247.50 82.50 347.50 0.0540159 -247.50 82.50 352.50 0.0362753 -247.50 82.50 357.50 0.0524975 -247.50 87.50 2.50 0.0733504 -247.50 87.50 7.50 0.240551 -247.50 87.50 12.50 0.576255 -247.50 87.50 17.50 1.238 -247.50 87.50 22.50 2.1196 -247.50 87.50 27.50 3.22083 -247.50 87.50 32.50 4.20612 -247.50 87.50 37.50 4.83952 -247.50 87.50 42.50 4.99921 -247.50 87.50 47.50 4.61084 -247.50 87.50 52.50 3.66805 -247.50 87.50 57.50 2.45668 -247.50 87.50 62.50 1.43339 -247.50 87.50 67.50 0.771998 -247.50 87.50 72.50 0.383313 -247.50 87.50 77.50 0.175026 -247.50 87.50 82.50 0.0741839 -247.50 87.50 87.50 0.0437786 -247.50 87.50 92.50 0.0733504 -247.50 87.50 97.50 0.240551 -247.50 87.50 102.50 0.576255 -247.50 87.50 107.50 1.238 -247.50 87.50 112.50 2.1196 -247.50 87.50 117.50 3.22084 -247.50 87.50 122.50 4.20612 -247.50 87.50 127.50 4.83952 -247.50 87.50 132.50 4.99921 -247.50 87.50 137.50 4.61084 -247.50 87.50 142.50 3.66804 -247.50 87.50 147.50 2.45668 -247.50 87.50 152.50 1.43339 -247.50 87.50 157.50 0.771999 -247.50 87.50 162.50 0.383313 -247.50 87.50 167.50 0.175026 -247.50 87.50 172.50 0.074184 -247.50 87.50 177.50 0.0437786 -247.50 87.50 182.50 0.0733505 -247.50 87.50 187.50 0.240551 -247.50 87.50 192.50 0.576256 -247.50 87.50 197.50 1.238 -247.50 87.50 202.50 2.1196 -247.50 87.50 207.50 3.22083 -247.50 87.50 212.50 4.20612 -247.50 87.50 217.50 4.83952 -247.50 87.50 222.50 4.99921 -247.50 87.50 227.50 4.61084 -247.50 87.50 232.50 3.66804 -247.50 87.50 237.50 2.45668 -247.50 87.50 242.50 1.43339 -247.50 87.50 247.50 0.771998 -247.50 87.50 252.50 0.383313 -247.50 87.50 257.50 0.175026 -247.50 87.50 262.50 0.0741838 -247.50 87.50 267.50 0.0437786 -247.50 87.50 272.50 0.0733504 -247.50 87.50 277.50 0.240551 -247.50 87.50 282.50 0.576255 -247.50 87.50 287.50 1.238 -247.50 87.50 292.50 2.1196 -247.50 87.50 297.50 3.22083 -247.50 87.50 302.50 4.20612 -247.50 87.50 307.50 4.83952 -247.50 87.50 312.50 4.99921 -247.50 87.50 317.50 4.61084 -247.50 87.50 322.50 3.66805 -247.50 87.50 327.50 2.45668 -247.50 87.50 332.50 1.4334 -247.50 87.50 337.50 0.772 -247.50 87.50 342.50 0.383314 -247.50 87.50 347.50 0.175027 -247.50 87.50 352.50 0.0741842 -247.50 87.50 357.50 0.0437786 -247.50 92.50 2.50 0.0485219 -247.50 92.50 7.50 0.0874275 -247.50 92.50 12.50 0.221571 -247.50 92.50 17.50 0.514899 -247.50 92.50 22.50 1.04915 -247.50 92.50 27.50 1.82434 -247.50 92.50 32.50 2.76505 -247.50 92.50 37.50 3.78322 -247.50 92.50 42.50 4.66762 -247.50 92.50 47.50 5.03542 -247.50 92.50 52.50 4.66761 -247.50 92.50 57.50 3.78322 -247.50 92.50 62.50 2.76505 -247.50 92.50 67.50 1.82434 -247.50 92.50 72.50 1.04915 -247.50 92.50 77.50 0.514899 -247.50 92.50 82.50 0.221571 -247.50 92.50 87.50 0.0874276 -247.50 92.50 92.50 0.0485219 -247.50 92.50 97.50 0.0874277 -247.50 92.50 102.50 0.221571 -247.50 92.50 107.50 0.514899 -247.50 92.50 112.50 1.04915 -247.50 92.50 117.50 1.82434 -247.50 92.50 122.50 2.76505 -247.50 92.50 127.50 3.78322 -247.50 92.50 132.50 4.66762 -247.50 92.50 137.50 5.03542 -247.50 92.50 142.50 4.66762 -247.50 92.50 147.50 3.78322 -247.50 92.50 152.50 2.76505 -247.50 92.50 157.50 1.82434 -247.50 92.50 162.50 1.04915 -247.50 92.50 167.50 0.514899 -247.50 92.50 172.50 0.221571 -247.50 92.50 177.50 0.0874277 -247.50 92.50 182.50 0.0485219 -247.50 92.50 187.50 0.0874277 -247.50 92.50 192.50 0.221571 -247.50 92.50 197.50 0.514899 -247.50 92.50 202.50 1.04915 -247.50 92.50 207.50 1.82434 -247.50 92.50 212.50 2.76505 -247.50 92.50 217.50 3.78322 -247.50 92.50 222.50 4.66762 -247.50 92.50 227.50 5.03542 -247.50 92.50 232.50 4.66762 -247.50 92.50 237.50 3.78322 -247.50 92.50 242.50 2.76505 -247.50 92.50 247.50 1.82434 -247.50 92.50 252.50 1.04914 -247.50 92.50 257.50 0.514898 -247.50 92.50 262.50 0.221571 -247.50 92.50 267.50 0.0874275 -247.50 92.50 272.50 0.0485219 -247.50 92.50 277.50 0.0874276 -247.50 92.50 282.50 0.221571 -247.50 92.50 287.50 0.514899 -247.50 92.50 292.50 1.04915 -247.50 92.50 297.50 1.82434 -247.50 92.50 302.50 2.76505 -247.50 92.50 307.50 3.78322 -247.50 92.50 312.50 4.66762 -247.50 92.50 317.50 5.03542 -247.50 92.50 322.50 4.66762 -247.50 92.50 327.50 3.78322 -247.50 92.50 332.50 2.76505 -247.50 92.50 337.50 1.82434 -247.50 92.50 342.50 1.04915 -247.50 92.50 347.50 0.5149 -247.50 92.50 352.50 0.221572 -247.50 92.50 357.50 0.0874279 -247.50 97.50 2.50 0.0733504 -247.50 97.50 7.50 0.0437786 -247.50 97.50 12.50 0.0741839 -247.50 97.50 17.50 0.175026 -247.50 97.50 22.50 0.383313 -247.50 97.50 27.50 0.771999 -247.50 97.50 32.50 1.43339 -247.50 97.50 37.50 2.45668 -247.50 97.50 42.50 3.66805 -247.50 97.50 47.50 4.61084 -247.50 97.50 52.50 4.99921 -247.50 97.50 57.50 4.83952 -247.50 97.50 62.50 4.20612 -247.50 97.50 67.50 3.22083 -247.50 97.50 72.50 2.1196 -247.50 97.50 77.50 1.238 -247.50 97.50 82.50 0.576255 -247.50 97.50 87.50 0.240551 -247.50 97.50 92.50 0.0733504 -247.50 97.50 97.50 0.0437786 -247.50 97.50 102.50 0.074184 -247.50 97.50 107.50 0.175027 -247.50 97.50 112.50 0.383313 -247.50 97.50 117.50 0.771999 -247.50 97.50 122.50 1.4334 -247.50 97.50 127.50 2.45668 -247.50 97.50 132.50 3.66805 -247.50 97.50 137.50 4.61084 -247.50 97.50 142.50 4.99921 -247.50 97.50 147.50 4.83952 -247.50 97.50 152.50 4.20612 -247.50 97.50 157.50 3.22083 -247.50 97.50 162.50 2.1196 -247.50 97.50 167.50 1.238 -247.50 97.50 172.50 0.576256 -247.50 97.50 177.50 0.240551 -247.50 97.50 182.50 0.0733504 -247.50 97.50 187.50 0.0437786 -247.50 97.50 192.50 0.0741841 -247.50 97.50 197.50 0.175027 -247.50 97.50 202.50 0.383313 -247.50 97.50 207.50 0.771999 -247.50 97.50 212.50 1.43339 -247.50 97.50 217.50 2.45668 -247.50 97.50 222.50 3.66805 -247.50 97.50 227.50 4.61084 -247.50 97.50 232.50 4.99921 -247.50 97.50 237.50 4.83952 -247.50 97.50 242.50 4.20612 -247.50 97.50 247.50 3.22083 -247.50 97.50 252.50 2.1196 -247.50 97.50 257.50 1.238 -247.50 97.50 262.50 0.576254 -247.50 97.50 267.50 0.240551 -247.50 97.50 272.50 0.0733504 -247.50 97.50 277.50 0.0437786 -247.50 97.50 282.50 0.0741839 -247.50 97.50 287.50 0.175026 -247.50 97.50 292.50 0.383313 -247.50 97.50 297.50 0.771999 -247.50 97.50 302.50 1.43339 -247.50 97.50 307.50 2.45668 -247.50 97.50 312.50 3.66805 -247.50 97.50 317.50 4.61084 -247.50 97.50 322.50 4.99921 -247.50 97.50 327.50 4.83952 -247.50 97.50 332.50 4.20612 -247.50 97.50 337.50 3.22083 -247.50 97.50 342.50 2.1196 -247.50 97.50 347.50 1.238 -247.50 97.50 352.50 0.576257 -247.50 97.50 357.50 0.240552 -247.50 102.50 2.50 0.116684 -247.50 102.50 7.50 0.0524977 -247.50 102.50 12.50 0.0362753 -247.50 102.50 17.50 0.0540157 -247.50 102.50 22.50 0.118622 -247.50 102.50 27.50 0.269232 -247.50 102.50 32.50 0.600578 -247.50 102.50 37.50 1.2743 -247.50 102.50 42.50 2.31854 -247.50 102.50 47.50 3.4332 -247.50 102.50 52.50 4.28592 -247.50 102.50 57.50 4.68213 -247.50 102.50 62.50 4.57792 -247.50 102.50 67.50 4.00215 -247.50 102.50 72.50 3.02758 -247.50 102.50 77.50 1.86165 -247.50 102.50 82.50 0.980142 -247.50 102.50 87.50 0.341343 -247.50 102.50 92.50 0.116684 -247.50 102.50 97.50 0.0524976 -247.50 102.50 102.50 0.0362753 -247.50 102.50 107.50 0.0540158 -247.50 102.50 112.50 0.118622 -247.50 102.50 117.50 0.269232 -247.50 102.50 122.50 0.600579 -247.50 102.50 127.50 1.2743 -247.50 102.50 132.50 2.31854 -247.50 102.50 137.50 3.4332 -247.50 102.50 142.50 4.28592 -247.50 102.50 147.50 4.68213 -247.50 102.50 152.50 4.57792 -247.50 102.50 157.50 4.00215 -247.50 102.50 162.50 3.02759 -247.50 102.50 167.50 1.86165 -247.50 102.50 172.50 0.980143 -247.50 102.50 177.50 0.341344 -247.50 102.50 182.50 0.116684 -247.50 102.50 187.50 0.0524976 -247.50 102.50 192.50 0.0362753 -247.50 102.50 197.50 0.0540158 -247.50 102.50 202.50 0.118622 -247.50 102.50 207.50 0.269232 -247.50 102.50 212.50 0.600579 -247.50 102.50 217.50 1.2743 -247.50 102.50 222.50 2.31854 -247.50 102.50 227.50 3.4332 -247.50 102.50 232.50 4.28592 -247.50 102.50 237.50 4.68213 -247.50 102.50 242.50 4.57792 -247.50 102.50 247.50 4.00215 -247.50 102.50 252.50 3.02758 -247.50 102.50 257.50 1.86165 -247.50 102.50 262.50 0.980141 -247.50 102.50 267.50 0.341343 -247.50 102.50 272.50 0.116684 -247.50 102.50 277.50 0.0524977 -247.50 102.50 282.50 0.0362753 -247.50 102.50 287.50 0.0540157 -247.50 102.50 292.50 0.118622 -247.50 102.50 297.50 0.269231 -247.50 102.50 302.50 0.600578 -247.50 102.50 307.50 1.2743 -247.50 102.50 312.50 2.31854 -247.50 102.50 317.50 3.4332 -247.50 102.50 322.50 4.28591 -247.50 102.50 327.50 4.68213 -247.50 102.50 332.50 4.57792 -247.50 102.50 337.50 4.00215 -247.50 102.50 342.50 3.02759 -247.50 102.50 347.50 1.86165 -247.50 102.50 352.50 0.980143 -247.50 102.50 357.50 0.341344 -247.50 107.50 2.50 0.129911 -247.50 107.50 7.50 0.0644308 -247.50 107.50 12.50 0.0247857 -247.50 107.50 17.50 0.0271833 -247.50 107.50 22.50 0.0323424 -247.50 107.50 27.50 0.0747902 -247.50 107.50 32.50 0.202158 -247.50 107.50 37.50 0.529718 -247.50 107.50 42.50 1.13284 -247.50 107.50 47.50 1.93749 -247.50 107.50 52.50 2.79439 -247.50 107.50 57.50 3.61436 -247.50 107.50 62.50 4.06137 -247.50 107.50 67.50 3.92391 -247.50 107.50 72.50 3.22584 -247.50 107.50 77.50 2.14485 -247.50 107.50 82.50 0.97988 -247.50 107.50 87.50 0.401407 -247.50 107.50 92.50 0.129911 -247.50 107.50 97.50 0.0644308 -247.50 107.50 102.50 0.0247857 -247.50 107.50 107.50 0.0271833 -247.50 107.50 112.50 0.0323425 -247.50 107.50 117.50 0.0747903 -247.50 107.50 122.50 0.202159 -247.50 107.50 127.50 0.529719 -247.50 107.50 132.50 1.13284 -247.50 107.50 137.50 1.93749 -247.50 107.50 142.50 2.79439 -247.50 107.50 147.50 3.61436 -247.50 107.50 152.50 4.06137 -247.50 107.50 157.50 3.92391 -247.50 107.50 162.50 3.22584 -247.50 107.50 167.50 2.14485 -247.50 107.50 172.50 0.979882 -247.50 107.50 177.50 0.401407 -247.50 107.50 182.50 0.129911 -247.50 107.50 187.50 0.0644308 -247.50 107.50 192.50 0.0247857 -247.50 107.50 197.50 0.0271833 -247.50 107.50 202.50 0.0323425 -247.50 107.50 207.50 0.0747903 -247.50 107.50 212.50 0.202158 -247.50 107.50 217.50 0.529718 -247.50 107.50 222.50 1.13284 -247.50 107.50 227.50 1.93749 -247.50 107.50 232.50 2.7944 -247.50 107.50 237.50 3.61436 -247.50 107.50 242.50 4.06137 -247.50 107.50 247.50 3.92391 -247.50 107.50 252.50 3.22583 -247.50 107.50 257.50 2.14485 -247.50 107.50 262.50 0.979879 -247.50 107.50 267.50 0.401406 -247.50 107.50 272.50 0.12991 -247.50 107.50 277.50 0.0644308 -247.50 107.50 282.50 0.0247857 -247.50 107.50 287.50 0.0271833 -247.50 107.50 292.50 0.0323424 -247.50 107.50 297.50 0.0747901 -247.50 107.50 302.50 0.202158 -247.50 107.50 307.50 0.529717 -247.50 107.50 312.50 1.13284 -247.50 107.50 317.50 1.93749 -247.50 107.50 322.50 2.79439 -247.50 107.50 327.50 3.61436 -247.50 107.50 332.50 4.06137 -247.50 107.50 337.50 3.92391 -247.50 107.50 342.50 3.22584 -247.50 107.50 347.50 2.14486 -247.50 107.50 352.50 0.979884 -247.50 107.50 357.50 0.401408 -247.50 112.50 2.50 0.121879 -247.50 112.50 7.50 0.050492 -247.50 112.50 12.50 0.018079 -247.50 112.50 17.50 0.0109335 -247.50 112.50 22.50 0.0137829 -247.50 112.50 27.50 0.0188465 -247.50 112.50 32.50 0.0576382 -247.50 112.50 37.50 0.177832 -247.50 112.50 42.50 0.459733 -247.50 112.50 47.50 0.922022 -247.50 112.50 52.50 1.58648 -247.50 112.50 57.50 2.26692 -247.50 112.50 62.50 2.86469 -247.50 112.50 67.50 3.06923 -247.50 112.50 72.50 2.6212 -247.50 112.50 77.50 1.77937 -247.50 112.50 82.50 0.884302 -247.50 112.50 87.50 0.363239 -247.50 112.50 92.50 0.121879 -247.50 112.50 97.50 0.050492 -247.50 112.50 102.50 0.018079 -247.50 112.50 107.50 0.0109335 -247.50 112.50 112.50 0.0137829 -247.50 112.50 117.50 0.0188466 -247.50 112.50 122.50 0.0576384 -247.50 112.50 127.50 0.177832 -247.50 112.50 132.50 0.459734 -247.50 112.50 137.50 0.922023 -247.50 112.50 142.50 1.58649 -247.50 112.50 147.50 2.26692 -247.50 112.50 152.50 2.86468 -247.50 112.50 157.50 3.06923 -247.50 112.50 162.50 2.6212 -247.50 112.50 167.50 1.77937 -247.50 112.50 172.50 0.884303 -247.50 112.50 177.50 0.363239 -247.50 112.50 182.50 0.121879 -247.50 112.50 187.50 0.050492 -247.50 112.50 192.50 0.018079 -247.50 112.50 197.50 0.0109335 -247.50 112.50 202.50 0.013783 -247.50 112.50 207.50 0.0188466 -247.50 112.50 212.50 0.0576383 -247.50 112.50 217.50 0.177832 -247.50 112.50 222.50 0.459733 -247.50 112.50 227.50 0.922023 -247.50 112.50 232.50 1.58649 -247.50 112.50 237.50 2.26692 -247.50 112.50 242.50 2.86469 -247.50 112.50 247.50 3.06923 -247.50 112.50 252.50 2.6212 -247.50 112.50 257.50 1.77937 -247.50 112.50 262.50 0.884301 -247.50 112.50 267.50 0.363238 -247.50 112.50 272.50 0.121878 -247.50 112.50 277.50 0.050492 -247.50 112.50 282.50 0.0180791 -247.50 112.50 287.50 0.0109335 -247.50 112.50 292.50 0.0137829 -247.50 112.50 297.50 0.0188465 -247.50 112.50 302.50 0.0576381 -247.50 112.50 307.50 0.177831 -247.50 112.50 312.50 0.459733 -247.50 112.50 317.50 0.922023 -247.50 112.50 322.50 1.58648 -247.50 112.50 327.50 2.26691 -247.50 112.50 332.50 2.86468 -247.50 112.50 337.50 3.06923 -247.50 112.50 342.50 2.6212 -247.50 112.50 347.50 1.77937 -247.50 112.50 352.50 0.884304 -247.50 112.50 357.50 0.36324 -247.50 117.50 2.50 0.128577 -247.50 117.50 7.50 0.0394433 -247.50 117.50 12.50 0.0117612 -247.50 117.50 17.50 0.00578838 -247.50 117.50 22.50 0.00545859 -247.50 117.50 27.50 0.00787526 -247.50 117.50 32.50 0.0175434 -247.50 117.50 37.50 0.0578932 -247.50 117.50 42.50 0.164345 -247.50 117.50 47.50 0.373141 -247.50 117.50 52.50 0.669424 -247.50 117.50 57.50 1.06691 -247.50 117.50 62.50 1.48429 -247.50 117.50 67.50 1.69152 -247.50 117.50 72.50 1.66328 -247.50 117.50 77.50 1.24085 -247.50 117.50 82.50 0.699141 -247.50 117.50 87.50 0.337514 -247.50 117.50 92.50 0.128577 -247.50 117.50 97.50 0.0394433 -247.50 117.50 102.50 0.0117612 -247.50 117.50 107.50 0.00578838 -247.50 117.50 112.50 0.00545859 -247.50 117.50 117.50 0.00787526 -247.50 117.50 122.50 0.0175434 -247.50 117.50 127.50 0.0578933 -247.50 117.50 132.50 0.164346 -247.50 117.50 137.50 0.373141 -247.50 117.50 142.50 0.669424 -247.50 117.50 147.50 1.06691 -247.50 117.50 152.50 1.48429 -247.50 117.50 157.50 1.69152 -247.50 117.50 162.50 1.66328 -247.50 117.50 167.50 1.24085 -247.50 117.50 172.50 0.699142 -247.50 117.50 177.50 0.337514 -247.50 117.50 182.50 0.128577 -247.50 117.50 187.50 0.0394433 -247.50 117.50 192.50 0.0117613 -247.50 117.50 197.50 0.00578838 -247.50 117.50 202.50 0.00545859 -247.50 117.50 207.50 0.00787527 -247.50 117.50 212.50 0.0175433 -247.50 117.50 217.50 0.0578932 -247.50 117.50 222.50 0.164345 -247.50 117.50 227.50 0.373141 -247.50 117.50 232.50 0.669425 -247.50 117.50 237.50 1.06691 -247.50 117.50 242.50 1.48429 -247.50 117.50 247.50 1.69152 -247.50 117.50 252.50 1.66328 -247.50 117.50 257.50 1.24085 -247.50 117.50 262.50 0.69914 -247.50 117.50 267.50 0.337514 -247.50 117.50 272.50 0.128577 -247.50 117.50 277.50 0.0394433 -247.50 117.50 282.50 0.0117613 -247.50 117.50 287.50 0.00578838 -247.50 117.50 292.50 0.00545859 -247.50 117.50 297.50 0.00787526 -247.50 117.50 302.50 0.0175433 -247.50 117.50 307.50 0.0578931 -247.50 117.50 312.50 0.164345 -247.50 117.50 317.50 0.373141 -247.50 117.50 322.50 0.669423 -247.50 117.50 327.50 1.06691 -247.50 117.50 332.50 1.48429 -247.50 117.50 337.50 1.69152 -247.50 117.50 342.50 1.66328 -247.50 117.50 347.50 1.24085 -247.50 117.50 352.50 0.699143 -247.50 117.50 357.50 0.337515 -247.50 122.50 2.50 0.130738 -247.50 122.50 7.50 0.039468 -247.50 122.50 12.50 0.0172488 -247.50 122.50 17.50 0.0186962 -247.50 122.50 22.50 0.0214521 -247.50 122.50 27.50 0.0241578 -247.50 122.50 32.50 0.0330205 -247.50 122.50 37.50 0.0444239 -247.50 122.50 42.50 0.0611988 -247.50 122.50 47.50 0.108222 -247.50 122.50 52.50 0.199839 -247.50 122.50 57.50 0.352876 -247.50 122.50 62.50 0.534545 -247.50 122.50 67.50 0.733899 -247.50 122.50 72.50 0.841432 -247.50 122.50 77.50 0.714307 -247.50 122.50 82.50 0.483704 -247.50 122.50 87.50 0.296509 -247.50 122.50 92.50 0.130738 -247.50 122.50 97.50 0.0394679 -247.50 122.50 102.50 0.0172488 -247.50 122.50 107.50 0.0186962 -247.50 122.50 112.50 0.0214521 -247.50 122.50 117.50 0.0241577 -247.50 122.50 122.50 0.0330205 -247.50 122.50 127.50 0.0444239 -247.50 122.50 132.50 0.0611989 -247.50 122.50 137.50 0.108222 -247.50 122.50 142.50 0.199839 -247.50 122.50 147.50 0.352876 -247.50 122.50 152.50 0.534544 -247.50 122.50 157.50 0.733899 -247.50 122.50 162.50 0.841432 -247.50 122.50 167.50 0.714308 -247.50 122.50 172.50 0.483705 -247.50 122.50 177.50 0.296509 -247.50 122.50 182.50 0.130738 -247.50 122.50 187.50 0.0394679 -247.50 122.50 192.50 0.0172488 -247.50 122.50 197.50 0.0186962 -247.50 122.50 202.50 0.0214521 -247.50 122.50 207.50 0.0241577 -247.50 122.50 212.50 0.0330205 -247.50 122.50 217.50 0.0444239 -247.50 122.50 222.50 0.0611989 -247.50 122.50 227.50 0.108222 -247.50 122.50 232.50 0.199839 -247.50 122.50 237.50 0.352876 -247.50 122.50 242.50 0.534545 -247.50 122.50 247.50 0.733899 -247.50 122.50 252.50 0.841432 -247.50 122.50 257.50 0.714308 -247.50 122.50 262.50 0.483704 -247.50 122.50 267.50 0.296509 -247.50 122.50 272.50 0.130738 -247.50 122.50 277.50 0.0394679 -247.50 122.50 282.50 0.0172488 -247.50 122.50 287.50 0.0186962 -247.50 122.50 292.50 0.0214521 -247.50 122.50 297.50 0.0241578 -247.50 122.50 302.50 0.0330205 -247.50 122.50 307.50 0.0444239 -247.50 122.50 312.50 0.0611988 -247.50 122.50 317.50 0.108222 -247.50 122.50 322.50 0.199839 -247.50 122.50 327.50 0.352875 -247.50 122.50 332.50 0.534544 -247.50 122.50 337.50 0.733898 -247.50 122.50 342.50 0.841431 -247.50 122.50 347.50 0.714307 -247.50 122.50 352.50 0.483705 -247.50 122.50 357.50 0.296509 -247.50 127.50 2.50 0.0974754 -247.50 127.50 7.50 0.0399963 -247.50 127.50 12.50 0.0293443 -247.50 127.50 17.50 0.0659187 -247.50 127.50 22.50 0.102507 -247.50 127.50 27.50 0.126798 -247.50 127.50 32.50 0.134909 -247.50 127.50 37.50 0.120496 -247.50 127.50 42.50 0.080277 -247.50 127.50 47.50 0.0555731 -247.50 127.50 52.50 0.0461287 -247.50 127.50 57.50 0.0772948 -247.50 127.50 62.50 0.155417 -247.50 127.50 67.50 0.25129 -247.50 127.50 72.50 0.331034 -247.50 127.50 77.50 0.340989 -247.50 127.50 82.50 0.287254 -247.50 127.50 87.50 0.195512 -247.50 127.50 92.50 0.0974754 -247.50 127.50 97.50 0.0399963 -247.50 127.50 102.50 0.0293443 -247.50 127.50 107.50 0.0659188 -247.50 127.50 112.50 0.102507 -247.50 127.50 117.50 0.126797 -247.50 127.50 122.50 0.134909 -247.50 127.50 127.50 0.120496 -247.50 127.50 132.50 0.080277 -247.50 127.50 137.50 0.0555731 -247.50 127.50 142.50 0.0461287 -247.50 127.50 147.50 0.0772948 -247.50 127.50 152.50 0.155417 -247.50 127.50 157.50 0.25129 -247.50 127.50 162.50 0.331034 -247.50 127.50 167.50 0.340989 -247.50 127.50 172.50 0.287254 -247.50 127.50 177.50 0.195512 -247.50 127.50 182.50 0.0974753 -247.50 127.50 187.50 0.0399963 -247.50 127.50 192.50 0.0293443 -247.50 127.50 197.50 0.0659187 -247.50 127.50 202.50 0.102507 -247.50 127.50 207.50 0.126797 -247.50 127.50 212.50 0.134909 -247.50 127.50 217.50 0.120496 -247.50 127.50 222.50 0.080277 -247.50 127.50 227.50 0.0555732 -247.50 127.50 232.50 0.0461287 -247.50 127.50 237.50 0.0772949 -247.50 127.50 242.50 0.155417 -247.50 127.50 247.50 0.25129 -247.50 127.50 252.50 0.331034 -247.50 127.50 257.50 0.340989 -247.50 127.50 262.50 0.287254 -247.50 127.50 267.50 0.195512 -247.50 127.50 272.50 0.0974754 -247.50 127.50 277.50 0.0399963 -247.50 127.50 282.50 0.0293443 -247.50 127.50 287.50 0.0659187 -247.50 127.50 292.50 0.102507 -247.50 127.50 297.50 0.126798 -247.50 127.50 302.50 0.134909 -247.50 127.50 307.50 0.120496 -247.50 127.50 312.50 0.0802771 -247.50 127.50 317.50 0.0555732 -247.50 127.50 322.50 0.0461286 -247.50 127.50 327.50 0.0772947 -247.50 127.50 332.50 0.155417 -247.50 127.50 337.50 0.251289 -247.50 127.50 342.50 0.331034 -247.50 127.50 347.50 0.340989 -247.50 127.50 352.50 0.287254 -247.50 127.50 357.50 0.195513 -247.50 132.50 2.50 0.0543458 -247.50 132.50 7.50 0.0469194 -247.50 132.50 12.50 0.0728263 -247.50 132.50 17.50 0.154202 -247.50 132.50 22.50 0.341572 -247.50 132.50 27.50 0.525444 -247.50 132.50 32.50 0.562986 -247.50 132.50 37.50 0.45162 -247.50 132.50 42.50 0.283554 -247.50 132.50 47.50 0.137815 -247.50 132.50 52.50 0.0537107 -247.50 132.50 57.50 0.0280947 -247.50 132.50 62.50 0.0377448 -247.50 132.50 67.50 0.0656052 -247.50 132.50 72.50 0.0983815 -247.50 132.50 77.50 0.136006 -247.50 132.50 82.50 0.130605 -247.50 132.50 87.50 0.088759 -247.50 132.50 92.50 0.0543458 -247.50 132.50 97.50 0.0469194 -247.50 132.50 102.50 0.0728263 -247.50 132.50 107.50 0.154202 -247.50 132.50 112.50 0.341571 -247.50 132.50 117.50 0.525444 -247.50 132.50 122.50 0.562986 -247.50 132.50 127.50 0.45162 -247.50 132.50 132.50 0.283554 -247.50 132.50 137.50 0.137815 -247.50 132.50 142.50 0.0537107 -247.50 132.50 147.50 0.0280947 -247.50 132.50 152.50 0.0377448 -247.50 132.50 157.50 0.0656053 -247.50 132.50 162.50 0.0983816 -247.50 132.50 167.50 0.136006 -247.50 132.50 172.50 0.130605 -247.50 132.50 177.50 0.088759 -247.50 132.50 182.50 0.0543458 -247.50 132.50 187.50 0.0469194 -247.50 132.50 192.50 0.0728263 -247.50 132.50 197.50 0.154202 -247.50 132.50 202.50 0.341572 -247.50 132.50 207.50 0.525444 -247.50 132.50 212.50 0.562986 -247.50 132.50 217.50 0.45162 -247.50 132.50 222.50 0.283554 -247.50 132.50 227.50 0.137816 -247.50 132.50 232.50 0.0537104 -247.50 132.50 237.50 0.0280947 -247.50 132.50 242.50 0.0377448 -247.50 132.50 247.50 0.0656052 -247.50 132.50 252.50 0.0983816 -247.50 132.50 257.50 0.136006 -247.50 132.50 262.50 0.130605 -247.50 132.50 267.50 0.0887589 -247.50 132.50 272.50 0.0543458 -247.50 132.50 277.50 0.0469194 -247.50 132.50 282.50 0.0728263 -247.50 132.50 287.50 0.154202 -247.50 132.50 292.50 0.341572 -247.50 132.50 297.50 0.525444 -247.50 132.50 302.50 0.562986 -247.50 132.50 307.50 0.45162 -247.50 132.50 312.50 0.283554 -247.50 132.50 317.50 0.137816 -247.50 132.50 322.50 0.0537108 -247.50 132.50 327.50 0.0280947 -247.50 132.50 332.50 0.0377447 -247.50 132.50 337.50 0.065605 -247.50 132.50 342.50 0.0983814 -247.50 132.50 347.50 0.136006 -247.50 132.50 352.50 0.130605 -247.50 132.50 357.50 0.0887591 -247.50 137.50 2.50 0.0370179 -247.50 137.50 7.50 0.0778325 -247.50 137.50 12.50 0.17609 -247.50 137.50 17.50 0.381166 -247.50 137.50 22.50 0.818625 -247.50 137.50 27.50 1.41441 -247.50 137.50 32.50 1.66793 -247.50 137.50 37.50 1.43932 -247.50 137.50 42.50 0.922784 -247.50 137.50 47.50 0.498101 -247.50 137.50 52.50 0.179249 -247.50 137.50 57.50 0.0803484 -247.50 137.50 62.50 0.0369965 -247.50 137.50 67.50 0.0271068 -247.50 137.50 72.50 0.0300108 -247.50 137.50 77.50 0.0436275 -247.50 137.50 82.50 0.043062 -247.50 137.50 87.50 0.0308333 -247.50 137.50 92.50 0.0370179 -247.50 137.50 97.50 0.0778325 -247.50 137.50 102.50 0.17609 -247.50 137.50 107.50 0.381167 -247.50 137.50 112.50 0.818624 -247.50 137.50 117.50 1.41441 -247.50 137.50 122.50 1.66793 -247.50 137.50 127.50 1.43932 -247.50 137.50 132.50 0.922784 -247.50 137.50 137.50 0.498101 -247.50 137.50 142.50 0.179249 -247.50 137.50 147.50 0.0803484 -247.50 137.50 152.50 0.0369965 -247.50 137.50 157.50 0.0271068 -247.50 137.50 162.50 0.0300108 -247.50 137.50 167.50 0.0436275 -247.50 137.50 172.50 0.043062 -247.50 137.50 177.50 0.0308333 -247.50 137.50 182.50 0.0370179 -247.50 137.50 187.50 0.0778325 -247.50 137.50 192.50 0.17609 -247.50 137.50 197.50 0.381166 -247.50 137.50 202.50 0.818625 -247.50 137.50 207.50 1.41441 -247.50 137.50 212.50 1.66793 -247.50 137.50 217.50 1.43932 -247.50 137.50 222.50 0.922785 -247.50 137.50 227.50 0.498101 -247.50 137.50 232.50 0.179248 -247.50 137.50 237.50 0.0803483 -247.50 137.50 242.50 0.0369965 -247.50 137.50 247.50 0.0271068 -247.50 137.50 252.50 0.0300108 -247.50 137.50 257.50 0.0436275 -247.50 137.50 262.50 0.043062 -247.50 137.50 267.50 0.0308333 -247.50 137.50 272.50 0.0370179 -247.50 137.50 277.50 0.0778326 -247.50 137.50 282.50 0.17609 -247.50 137.50 287.50 0.381166 -247.50 137.50 292.50 0.818624 -247.50 137.50 297.50 1.41441 -247.50 137.50 302.50 1.66793 -247.50 137.50 307.50 1.43932 -247.50 137.50 312.50 0.922785 -247.50 137.50 317.50 0.498101 -247.50 137.50 322.50 0.179249 -247.50 137.50 327.50 0.0803485 -247.50 137.50 332.50 0.0369965 -247.50 137.50 337.50 0.0271068 -247.50 137.50 342.50 0.0300107 -247.50 137.50 347.50 0.0436275 -247.50 137.50 352.50 0.043062 -247.50 137.50 357.50 0.0308333 -247.50 142.50 2.50 0.0543458 -247.50 142.50 7.50 0.156544 -247.50 142.50 12.50 0.369483 -247.50 142.50 17.50 0.790616 -247.50 142.50 22.50 1.62574 -247.50 142.50 27.50 2.69837 -247.50 142.50 32.50 3.37986 -247.50 142.50 37.50 3.13445 -247.50 142.50 42.50 2.24846 -247.50 142.50 47.50 1.17994 -247.50 142.50 52.50 0.517223 -247.50 142.50 57.50 0.236099 -247.50 142.50 62.50 0.134339 -247.50 142.50 67.50 0.0704415 -247.50 142.50 72.50 0.0296289 -247.50 142.50 77.50 0.0201029 -247.50 142.50 82.50 0.0181523 -247.50 142.50 87.50 0.019399 -247.50 142.50 92.50 0.0543458 -247.50 142.50 97.50 0.156544 -247.50 142.50 102.50 0.369483 -247.50 142.50 107.50 0.790615 -247.50 142.50 112.50 1.62574 -247.50 142.50 117.50 2.69837 -247.50 142.50 122.50 3.37986 -247.50 142.50 127.50 3.13445 -247.50 142.50 132.50 2.24846 -247.50 142.50 137.50 1.17994 -247.50 142.50 142.50 0.517223 -247.50 142.50 147.50 0.236099 -247.50 142.50 152.50 0.134339 -247.50 142.50 157.50 0.0704415 -247.50 142.50 162.50 0.0296289 -247.50 142.50 167.50 0.0201029 -247.50 142.50 172.50 0.0181523 -247.50 142.50 177.50 0.019399 -247.50 142.50 182.50 0.0543458 -247.50 142.50 187.50 0.156544 -247.50 142.50 192.50 0.369483 -247.50 142.50 197.50 0.790616 -247.50 142.50 202.50 1.62574 -247.50 142.50 207.50 2.69837 -247.50 142.50 212.50 3.37986 -247.50 142.50 217.50 3.13446 -247.50 142.50 222.50 2.24846 -247.50 142.50 227.50 1.17994 -247.50 142.50 232.50 0.517222 -247.50 142.50 237.50 0.236098 -247.50 142.50 242.50 0.134339 -247.50 142.50 247.50 0.0704414 -247.50 142.50 252.50 0.0296289 -247.50 142.50 257.50 0.0201029 -247.50 142.50 262.50 0.0181523 -247.50 142.50 267.50 0.019399 -247.50 142.50 272.50 0.0543458 -247.50 142.50 277.50 0.156544 -247.50 142.50 282.50 0.369482 -247.50 142.50 287.50 0.790616 -247.50 142.50 292.50 1.62574 -247.50 142.50 297.50 2.69837 -247.50 142.50 302.50 3.37986 -247.50 142.50 307.50 3.13446 -247.50 142.50 312.50 2.24846 -247.50 142.50 317.50 1.17994 -247.50 142.50 322.50 0.517224 -247.50 142.50 327.50 0.236099 -247.50 142.50 332.50 0.134339 -247.50 142.50 337.50 0.0704416 -247.50 142.50 342.50 0.029629 -247.50 142.50 347.50 0.0201029 -247.50 142.50 352.50 0.0181524 -247.50 142.50 357.50 0.019399 -247.50 147.50 2.50 0.0974755 -247.50 147.50 7.50 0.270603 -247.50 147.50 12.50 0.628633 -247.50 147.50 17.50 1.28792 -247.50 147.50 22.50 2.55427 -247.50 147.50 27.50 4.03039 -247.50 147.50 32.50 4.88877 -247.50 147.50 37.50 4.69045 -247.50 147.50 42.50 3.52062 -247.50 147.50 47.50 2.06342 -247.50 147.50 52.50 1.01343 -247.50 147.50 57.50 0.537988 -247.50 147.50 62.50 0.34409 -247.50 147.50 67.50 0.195092 -247.50 147.50 72.50 0.0857297 -247.50 147.50 77.50 0.0437712 -247.50 147.50 82.50 0.029963 -247.50 147.50 87.50 0.0319728 -247.50 147.50 92.50 0.0974755 -247.50 147.50 97.50 0.270603 -247.50 147.50 102.50 0.628633 -247.50 147.50 107.50 1.28792 -247.50 147.50 112.50 2.55427 -247.50 147.50 117.50 4.03039 -247.50 147.50 122.50 4.88877 -247.50 147.50 127.50 4.69045 -247.50 147.50 132.50 3.52062 -247.50 147.50 137.50 2.06342 -247.50 147.50 142.50 1.01343 -247.50 147.50 147.50 0.537988 -247.50 147.50 152.50 0.34409 -247.50 147.50 157.50 0.195092 -247.50 147.50 162.50 0.0857297 -247.50 147.50 167.50 0.0437712 -247.50 147.50 172.50 0.029963 -247.50 147.50 177.50 0.0319728 -247.50 147.50 182.50 0.0974755 -247.50 147.50 187.50 0.270603 -247.50 147.50 192.50 0.628633 -247.50 147.50 197.50 1.28792 -247.50 147.50 202.50 2.55428 -247.50 147.50 207.50 4.03039 -247.50 147.50 212.50 4.88877 -247.50 147.50 217.50 4.69045 -247.50 147.50 222.50 3.52062 -247.50 147.50 227.50 2.06342 -247.50 147.50 232.50 1.01343 -247.50 147.50 237.50 0.537987 -247.50 147.50 242.50 0.34409 -247.50 147.50 247.50 0.195092 -247.50 147.50 252.50 0.0857296 -247.50 147.50 257.50 0.0437712 -247.50 147.50 262.50 0.029963 -247.50 147.50 267.50 0.0319728 -247.50 147.50 272.50 0.0974755 -247.50 147.50 277.50 0.270603 -247.50 147.50 282.50 0.628633 -247.50 147.50 287.50 1.28792 -247.50 147.50 292.50 2.55427 -247.50 147.50 297.50 4.03039 -247.50 147.50 302.50 4.88877 -247.50 147.50 307.50 4.69045 -247.50 147.50 312.50 3.52062 -247.50 147.50 317.50 2.06342 -247.50 147.50 322.50 1.01344 -247.50 147.50 327.50 0.537989 -247.50 147.50 332.50 0.34409 -247.50 147.50 337.50 0.195093 -247.50 147.50 342.50 0.0857298 -247.50 147.50 347.50 0.0437713 -247.50 147.50 352.50 0.029963 -247.50 147.50 357.50 0.0319728 -247.50 152.50 2.50 0.130738 -247.50 152.50 7.50 0.329109 -247.50 152.50 12.50 0.769649 -247.50 152.50 17.50 1.56571 -247.50 152.50 22.50 2.96885 -247.50 152.50 27.50 4.62745 -247.50 152.50 32.50 5.41446 -247.50 152.50 37.50 5.20738 -247.50 152.50 42.50 4.05435 -247.50 152.50 47.50 2.59076 -247.50 152.50 52.50 1.46926 -247.50 152.50 57.50 0.916917 -247.50 152.50 62.50 0.652041 -247.50 152.50 67.50 0.431199 -247.50 152.50 72.50 0.223069 -247.50 152.50 77.50 0.10686 -247.50 152.50 82.50 0.058589 -247.50 152.50 87.50 0.0489067 -247.50 152.50 92.50 0.130738 -247.50 152.50 97.50 0.329109 -247.50 152.50 102.50 0.76965 -247.50 152.50 107.50 1.56571 -247.50 152.50 112.50 2.96885 -247.50 152.50 117.50 4.62745 -247.50 152.50 122.50 5.41446 -247.50 152.50 127.50 5.20738 -247.50 152.50 132.50 4.05435 -247.50 152.50 137.50 2.59076 -247.50 152.50 142.50 1.46925 -247.50 152.50 147.50 0.916916 -247.50 152.50 152.50 0.652041 -247.50 152.50 157.50 0.4312 -247.50 152.50 162.50 0.223069 -247.50 152.50 167.50 0.10686 -247.50 152.50 172.50 0.0585891 -247.50 152.50 177.50 0.0489066 -247.50 152.50 182.50 0.130738 -247.50 152.50 187.50 0.329109 -247.50 152.50 192.50 0.76965 -247.50 152.50 197.50 1.56571 -247.50 152.50 202.50 2.96885 -247.50 152.50 207.50 4.62745 -247.50 152.50 212.50 5.41446 -247.50 152.50 217.50 5.20738 -247.50 152.50 222.50 4.05435 -247.50 152.50 227.50 2.59076 -247.50 152.50 232.50 1.46925 -247.50 152.50 237.50 0.916916 -247.50 152.50 242.50 0.652041 -247.50 152.50 247.50 0.431199 -247.50 152.50 252.50 0.223069 -247.50 152.50 257.50 0.10686 -247.50 152.50 262.50 0.058589 -247.50 152.50 267.50 0.0489067 -247.50 152.50 272.50 0.130738 -247.50 152.50 277.50 0.329109 -247.50 152.50 282.50 0.769649 -247.50 152.50 287.50 1.56571 -247.50 152.50 292.50 2.96885 -247.50 152.50 297.50 4.62745 -247.50 152.50 302.50 5.41446 -247.50 152.50 307.50 5.20738 -247.50 152.50 312.50 4.05436 -247.50 152.50 317.50 2.59076 -247.50 152.50 322.50 1.46926 -247.50 152.50 327.50 0.916917 -247.50 152.50 332.50 0.652042 -247.50 152.50 337.50 0.4312 -247.50 152.50 342.50 0.22307 -247.50 152.50 347.50 0.10686 -247.50 152.50 352.50 0.0585891 -247.50 152.50 357.50 0.0489066 -247.50 157.50 2.50 0.128577 -247.50 157.50 7.50 0.287222 -247.50 157.50 12.50 0.682243 -247.50 157.50 17.50 1.38614 -247.50 157.50 22.50 2.53544 -247.50 157.50 27.50 3.82994 -247.50 157.50 32.50 4.6117 -247.50 157.50 37.50 4.39416 -247.50 157.50 42.50 3.52102 -247.50 157.50 47.50 2.48565 -247.50 157.50 52.50 1.6458 -247.50 157.50 57.50 1.18875 -247.50 157.50 62.50 1.00217 -247.50 157.50 67.50 0.749985 -247.50 157.50 72.50 0.446232 -247.50 157.50 77.50 0.224623 -247.50 157.50 82.50 0.106507 -247.50 157.50 87.50 0.0675548 -247.50 157.50 92.50 0.128577 -247.50 157.50 97.50 0.287222 -247.50 157.50 102.50 0.682243 -247.50 157.50 107.50 1.38614 -247.50 157.50 112.50 2.53544 -247.50 157.50 117.50 3.82994 -247.50 157.50 122.50 4.61171 -247.50 157.50 127.50 4.39417 -247.50 157.50 132.50 3.52102 -247.50 157.50 137.50 2.48565 -247.50 157.50 142.50 1.6458 -247.50 157.50 147.50 1.18875 -247.50 157.50 152.50 1.00217 -247.50 157.50 157.50 0.749985 -247.50 157.50 162.50 0.446232 -247.50 157.50 167.50 0.224624 -247.50 157.50 172.50 0.106507 -247.50 157.50 177.50 0.0675547 -247.50 157.50 182.50 0.128577 -247.50 157.50 187.50 0.287223 -247.50 157.50 192.50 0.682243 -247.50 157.50 197.50 1.38614 -247.50 157.50 202.50 2.53544 -247.50 157.50 207.50 3.82994 -247.50 157.50 212.50 4.61171 -247.50 157.50 217.50 4.39417 -247.50 157.50 222.50 3.52102 -247.50 157.50 227.50 2.48565 -247.50 157.50 232.50 1.6458 -247.50 157.50 237.50 1.18875 -247.50 157.50 242.50 1.00217 -247.50 157.50 247.50 0.749985 -247.50 157.50 252.50 0.446232 -247.50 157.50 257.50 0.224623 -247.50 157.50 262.50 0.106507 -247.50 157.50 267.50 0.0675548 -247.50 157.50 272.50 0.128577 -247.50 157.50 277.50 0.287222 -247.50 157.50 282.50 0.682243 -247.50 157.50 287.50 1.38614 -247.50 157.50 292.50 2.53544 -247.50 157.50 297.50 3.82994 -247.50 157.50 302.50 4.61171 -247.50 157.50 307.50 4.39417 -247.50 157.50 312.50 3.52102 -247.50 157.50 317.50 2.48565 -247.50 157.50 322.50 1.6458 -247.50 157.50 327.50 1.18875 -247.50 157.50 332.50 1.00217 -247.50 157.50 337.50 0.749987 -247.50 157.50 342.50 0.446233 -247.50 157.50 347.50 0.224624 -247.50 157.50 352.50 0.106507 -247.50 157.50 357.50 0.0675547 -247.50 162.50 2.50 0.121878 -247.50 162.50 7.50 0.23099 -247.50 162.50 12.50 0.50043 -247.50 162.50 17.50 0.97331 -247.50 162.50 22.50 1.63749 -247.50 162.50 27.50 2.36793 -247.50 162.50 32.50 2.8114 -247.50 162.50 37.50 2.82827 -247.50 162.50 42.50 2.4109 -247.50 162.50 47.50 1.79592 -247.50 162.50 52.50 1.37022 -247.50 162.50 57.50 1.23227 -247.50 162.50 62.50 1.19946 -247.50 162.50 67.50 1.01411 -247.50 162.50 72.50 0.685388 -247.50 162.50 77.50 0.378146 -247.50 162.50 82.50 0.182233 -247.50 162.50 87.50 0.0992847 -247.50 162.50 92.50 0.121879 -247.50 162.50 97.50 0.23099 -247.50 162.50 102.50 0.500431 -247.50 162.50 107.50 0.973311 -247.50 162.50 112.50 1.63749 -247.50 162.50 117.50 2.36793 -247.50 162.50 122.50 2.8114 -247.50 162.50 127.50 2.82827 -247.50 162.50 132.50 2.4109 -247.50 162.50 137.50 1.79592 -247.50 162.50 142.50 1.37022 -247.50 162.50 147.50 1.23227 -247.50 162.50 152.50 1.19946 -247.50 162.50 157.50 1.01411 -247.50 162.50 162.50 0.685389 -247.50 162.50 167.50 0.378147 -247.50 162.50 172.50 0.182233 -247.50 162.50 177.50 0.0992847 -247.50 162.50 182.50 0.121878 -247.50 162.50 187.50 0.23099 -247.50 162.50 192.50 0.500431 -247.50 162.50 197.50 0.973311 -247.50 162.50 202.50 1.63749 -247.50 162.50 207.50 2.36793 -247.50 162.50 212.50 2.8114 -247.50 162.50 217.50 2.82827 -247.50 162.50 222.50 2.4109 -247.50 162.50 227.50 1.79592 -247.50 162.50 232.50 1.37022 -247.50 162.50 237.50 1.23227 -247.50 162.50 242.50 1.19946 -247.50 162.50 247.50 1.01411 -247.50 162.50 252.50 0.685388 -247.50 162.50 257.50 0.378146 -247.50 162.50 262.50 0.182232 -247.50 162.50 267.50 0.0992847 -247.50 162.50 272.50 0.121878 -247.50 162.50 277.50 0.23099 -247.50 162.50 282.50 0.500431 -247.50 162.50 287.50 0.97331 -247.50 162.50 292.50 1.63749 -247.50 162.50 297.50 2.36793 -247.50 162.50 302.50 2.8114 -247.50 162.50 307.50 2.82827 -247.50 162.50 312.50 2.4109 -247.50 162.50 317.50 1.79592 -247.50 162.50 322.50 1.37023 -247.50 162.50 327.50 1.23227 -247.50 162.50 332.50 1.19946 -247.50 162.50 337.50 1.01411 -247.50 162.50 342.50 0.68539 -247.50 162.50 347.50 0.378147 -247.50 162.50 352.50 0.182233 -247.50 162.50 357.50 0.0992848 -247.50 167.50 2.50 0.129911 -247.50 167.50 7.50 0.211095 -247.50 167.50 12.50 0.35581 -247.50 167.50 17.50 0.606151 -247.50 167.50 22.50 0.896729 -247.50 167.50 27.50 1.19798 -247.50 167.50 32.50 1.38887 -247.50 167.50 37.50 1.36656 -247.50 167.50 42.50 1.21537 -247.50 167.50 47.50 1.00305 -247.50 167.50 52.50 0.893712 -247.50 167.50 57.50 0.997995 -247.50 167.50 62.50 1.1614 -247.50 167.50 67.50 1.10479 -247.50 167.50 72.50 0.813541 -247.50 167.50 77.50 0.481757 -247.50 167.50 82.50 0.241637 -247.50 167.50 87.50 0.131489 -247.50 167.50 92.50 0.129911 -247.50 167.50 97.50 0.211095 -247.50 167.50 102.50 0.35581 -247.50 167.50 107.50 0.606152 -247.50 167.50 112.50 0.89673 -247.50 167.50 117.50 1.19799 -247.50 167.50 122.50 1.38887 -247.50 167.50 127.50 1.36656 -247.50 167.50 132.50 1.21537 -247.50 167.50 137.50 1.00305 -247.50 167.50 142.50 0.893712 -247.50 167.50 147.50 0.997996 -247.50 167.50 152.50 1.1614 -247.50 167.50 157.50 1.10479 -247.50 167.50 162.50 0.813542 -247.50 167.50 167.50 0.481758 -247.50 167.50 172.50 0.241637 -247.50 167.50 177.50 0.131489 -247.50 167.50 182.50 0.129911 -247.50 167.50 187.50 0.211095 -247.50 167.50 192.50 0.35581 -247.50 167.50 197.50 0.606151 -247.50 167.50 202.50 0.89673 -247.50 167.50 207.50 1.19798 -247.50 167.50 212.50 1.38887 -247.50 167.50 217.50 1.36656 -247.50 167.50 222.50 1.21537 -247.50 167.50 227.50 1.00305 -247.50 167.50 232.50 0.893712 -247.50 167.50 237.50 0.997996 -247.50 167.50 242.50 1.1614 -247.50 167.50 247.50 1.10479 -247.50 167.50 252.50 0.813541 -247.50 167.50 257.50 0.481757 -247.50 167.50 262.50 0.241636 -247.50 167.50 267.50 0.131489 -247.50 167.50 272.50 0.129911 -247.50 167.50 277.50 0.211095 -247.50 167.50 282.50 0.35581 -247.50 167.50 287.50 0.606151 -247.50 167.50 292.50 0.896729 -247.50 167.50 297.50 1.19798 -247.50 167.50 302.50 1.38887 -247.50 167.50 307.50 1.36656 -247.50 167.50 312.50 1.21537 -247.50 167.50 317.50 1.00305 -247.50 167.50 322.50 0.893712 -247.50 167.50 327.50 0.997995 -247.50 167.50 332.50 1.1614 -247.50 167.50 337.50 1.10479 -247.50 167.50 342.50 0.813542 -247.50 167.50 347.50 0.481758 -247.50 167.50 352.50 0.241637 -247.50 167.50 357.50 0.131489 -247.50 172.50 2.50 0.116684 -247.50 172.50 7.50 0.171945 -247.50 172.50 12.50 0.251316 -247.50 172.50 17.50 0.325522 -247.50 172.50 22.50 0.418482 -247.50 172.50 27.50 0.509967 -247.50 172.50 32.50 0.563691 -247.50 172.50 37.50 0.545911 -247.50 172.50 42.50 0.46921 -247.50 172.50 47.50 0.402325 -247.50 172.50 52.50 0.44694 -247.50 172.50 57.50 0.66712 -247.50 172.50 62.50 0.94396 -247.50 172.50 67.50 1.01746 -247.50 172.50 72.50 0.793623 -247.50 172.50 77.50 0.462915 -247.50 172.50 82.50 0.233425 -247.50 172.50 87.50 0.125415 -247.50 172.50 92.50 0.116684 -247.50 172.50 97.50 0.171945 -247.50 172.50 102.50 0.251316 -247.50 172.50 107.50 0.325522 -247.50 172.50 112.50 0.418483 -247.50 172.50 117.50 0.509967 -247.50 172.50 122.50 0.563691 -247.50 172.50 127.50 0.545911 -247.50 172.50 132.50 0.469211 -247.50 172.50 137.50 0.402325 -247.50 172.50 142.50 0.44694 -247.50 172.50 147.50 0.66712 -247.50 172.50 152.50 0.94396 -247.50 172.50 157.50 1.01746 -247.50 172.50 162.50 0.793623 -247.50 172.50 167.50 0.462915 -247.50 172.50 172.50 0.233426 -247.50 172.50 177.50 0.125415 -247.50 172.50 182.50 0.116684 -247.50 172.50 187.50 0.171945 -247.50 172.50 192.50 0.251316 -247.50 172.50 197.50 0.325522 -247.50 172.50 202.50 0.418483 -247.50 172.50 207.50 0.509967 -247.50 172.50 212.50 0.563691 -247.50 172.50 217.50 0.545911 -247.50 172.50 222.50 0.46921 -247.50 172.50 227.50 0.402325 -247.50 172.50 232.50 0.446941 -247.50 172.50 237.50 0.667122 -247.50 172.50 242.50 0.94396 -247.50 172.50 247.50 1.01746 -247.50 172.50 252.50 0.793623 -247.50 172.50 257.50 0.462915 -247.50 172.50 262.50 0.233425 -247.50 172.50 267.50 0.125414 -247.50 172.50 272.50 0.116684 -247.50 172.50 277.50 0.171945 -247.50 172.50 282.50 0.251316 -247.50 172.50 287.50 0.325522 -247.50 172.50 292.50 0.418482 -247.50 172.50 297.50 0.509967 -247.50 172.50 302.50 0.563691 -247.50 172.50 307.50 0.545911 -247.50 172.50 312.50 0.46921 -247.50 172.50 317.50 0.402325 -247.50 172.50 322.50 0.446941 -247.50 172.50 327.50 0.667121 -247.50 172.50 332.50 0.94396 -247.50 172.50 337.50 1.01746 -247.50 172.50 342.50 0.793624 -247.50 172.50 347.50 0.462916 -247.50 172.50 352.50 0.233426 -247.50 172.50 357.50 0.125415 -247.50 177.50 2.50 0.0733505 -247.50 177.50 7.50 0.0984698 -247.50 177.50 12.50 0.131719 -247.50 177.50 17.50 0.153603 -247.50 177.50 22.50 0.165474 -247.50 177.50 27.50 0.176032 -247.50 177.50 32.50 0.17362 -247.50 177.50 37.50 0.158344 -247.50 177.50 42.50 0.134926 -247.50 177.50 47.50 0.130437 -247.50 177.50 52.50 0.202284 -247.50 177.50 57.50 0.413167 -247.50 177.50 62.50 0.710742 -247.50 177.50 67.50 0.873767 -247.50 177.50 72.50 0.711142 -247.50 177.50 77.50 0.397488 -247.50 177.50 82.50 0.175312 -247.50 177.50 87.50 0.0849769 -247.50 177.50 92.50 0.0733505 -247.50 177.50 97.50 0.0984698 -247.50 177.50 102.50 0.131719 -247.50 177.50 107.50 0.153603 -247.50 177.50 112.50 0.165474 -247.50 177.50 117.50 0.176032 -247.50 177.50 122.50 0.17362 -247.50 177.50 127.50 0.158344 -247.50 177.50 132.50 0.134926 -247.50 177.50 137.50 0.130437 -247.50 177.50 142.50 0.202284 -247.50 177.50 147.50 0.413166 -247.50 177.50 152.50 0.710742 -247.50 177.50 157.50 0.873768 -247.50 177.50 162.50 0.711142 -247.50 177.50 167.50 0.397489 -247.50 177.50 172.50 0.175312 -247.50 177.50 177.50 0.0849769 -247.50 177.50 182.50 0.0733505 -247.50 177.50 187.50 0.0984699 -247.50 177.50 192.50 0.131719 -247.50 177.50 197.50 0.153603 -247.50 177.50 202.50 0.165474 -247.50 177.50 207.50 0.176032 -247.50 177.50 212.50 0.17362 -247.50 177.50 217.50 0.158344 -247.50 177.50 222.50 0.134926 -247.50 177.50 227.50 0.130437 -247.50 177.50 232.50 0.202284 -247.50 177.50 237.50 0.413167 -247.50 177.50 242.50 0.710743 -247.50 177.50 247.50 0.873768 -247.50 177.50 252.50 0.711142 -247.50 177.50 257.50 0.397489 -247.50 177.50 262.50 0.175312 -247.50 177.50 267.50 0.0849768 -247.50 177.50 272.50 0.0733504 -247.50 177.50 277.50 0.0984698 -247.50 177.50 282.50 0.131719 -247.50 177.50 287.50 0.153603 -247.50 177.50 292.50 0.165474 -247.50 177.50 297.50 0.176032 -247.50 177.50 302.50 0.17362 -247.50 177.50 307.50 0.158344 -247.50 177.50 312.50 0.134926 -247.50 177.50 317.50 0.130437 -247.50 177.50 322.50 0.202284 -247.50 177.50 327.50 0.413166 -247.50 177.50 332.50 0.710741 -247.50 177.50 337.50 0.873768 -247.50 177.50 342.50 0.711144 -247.50 177.50 347.50 0.39749 -247.50 177.50 352.50 0.175313 -247.50 177.50 357.50 0.0849769 -252.50 2.50 2.50 0.0624686 -252.50 2.50 7.50 0.149977 -252.50 2.50 12.50 0.393273 -252.50 2.50 17.50 0.773179 -252.50 2.50 22.50 0.980476 -252.50 2.50 27.50 0.773178 -252.50 2.50 32.50 0.393272 -252.50 2.50 37.50 0.149977 -252.50 2.50 42.50 0.0624685 -252.50 2.50 47.50 0.048522 -252.50 2.50 52.50 0.0601603 -252.50 2.50 57.50 0.0760386 -252.50 2.50 62.50 0.083846 -252.50 2.50 67.50 0.084539 -252.50 2.50 72.50 0.083846 -252.50 2.50 77.50 0.0760385 -252.50 2.50 82.50 0.0601603 -252.50 2.50 87.50 0.0485219 -252.50 2.50 92.50 0.0624686 -252.50 2.50 97.50 0.149977 -252.50 2.50 102.50 0.393273 -252.50 2.50 107.50 0.773179 -252.50 2.50 112.50 0.980476 -252.50 2.50 117.50 0.773178 -252.50 2.50 122.50 0.393272 -252.50 2.50 127.50 0.149977 -252.50 2.50 132.50 0.0624685 -252.50 2.50 137.50 0.0485219 -252.50 2.50 142.50 0.0601603 -252.50 2.50 147.50 0.0760386 -252.50 2.50 152.50 0.083846 -252.50 2.50 157.50 0.084539 -252.50 2.50 162.50 0.083846 -252.50 2.50 167.50 0.0760385 -252.50 2.50 172.50 0.0601603 -252.50 2.50 177.50 0.0485219 -252.50 2.50 182.50 0.0624687 -252.50 2.50 187.50 0.149977 -252.50 2.50 192.50 0.393273 -252.50 2.50 197.50 0.773179 -252.50 2.50 202.50 0.980476 -252.50 2.50 207.50 0.773179 -252.50 2.50 212.50 0.393272 -252.50 2.50 217.50 0.149977 -252.50 2.50 222.50 0.0624685 -252.50 2.50 227.50 0.0485219 -252.50 2.50 232.50 0.0601604 -252.50 2.50 237.50 0.0760386 -252.50 2.50 242.50 0.083846 -252.50 2.50 247.50 0.084539 -252.50 2.50 252.50 0.083846 -252.50 2.50 257.50 0.0760385 -252.50 2.50 262.50 0.0601603 -252.50 2.50 267.50 0.0485219 -252.50 2.50 272.50 0.0624686 -252.50 2.50 277.50 0.149977 -252.50 2.50 282.50 0.393273 -252.50 2.50 287.50 0.773179 -252.50 2.50 292.50 0.980476 -252.50 2.50 297.50 0.773179 -252.50 2.50 302.50 0.393272 -252.50 2.50 307.50 0.149977 -252.50 2.50 312.50 0.0624686 -252.50 2.50 317.50 0.0485219 -252.50 2.50 322.50 0.0601603 -252.50 2.50 327.50 0.0760385 -252.50 2.50 332.50 0.083846 -252.50 2.50 337.50 0.084539 -252.50 2.50 342.50 0.083846 -252.50 2.50 347.50 0.0760385 -252.50 2.50 352.50 0.0601603 -252.50 2.50 357.50 0.048522 -252.50 7.50 2.50 0.0872057 -252.50 7.50 7.50 0.172288 -252.50 7.50 12.50 0.384509 -252.50 7.50 17.50 0.688836 -252.50 7.50 22.50 0.855308 -252.50 7.50 27.50 0.706178 -252.50 7.50 32.50 0.400161 -252.50 7.50 37.50 0.194406 -252.50 7.50 42.50 0.126127 -252.50 7.50 47.50 0.137564 -252.50 7.50 52.50 0.166387 -252.50 7.50 57.50 0.182585 -252.50 7.50 62.50 0.179111 -252.50 7.50 67.50 0.174319 -252.50 7.50 72.50 0.166879 -252.50 7.50 77.50 0.143647 -252.50 7.50 82.50 0.106856 -252.50 7.50 87.50 0.0787341 -252.50 7.50 92.50 0.0872058 -252.50 7.50 97.50 0.172288 -252.50 7.50 102.50 0.384509 -252.50 7.50 107.50 0.688836 -252.50 7.50 112.50 0.855308 -252.50 7.50 117.50 0.706178 -252.50 7.50 122.50 0.400161 -252.50 7.50 127.50 0.194406 -252.50 7.50 132.50 0.126127 -252.50 7.50 137.50 0.137564 -252.50 7.50 142.50 0.166387 -252.50 7.50 147.50 0.182585 -252.50 7.50 152.50 0.179112 -252.50 7.50 157.50 0.174319 -252.50 7.50 162.50 0.166879 -252.50 7.50 167.50 0.143646 -252.50 7.50 172.50 0.106856 -252.50 7.50 177.50 0.0787341 -252.50 7.50 182.50 0.0872058 -252.50 7.50 187.50 0.172288 -252.50 7.50 192.50 0.384509 -252.50 7.50 197.50 0.688836 -252.50 7.50 202.50 0.855308 -252.50 7.50 207.50 0.706178 -252.50 7.50 212.50 0.400161 -252.50 7.50 217.50 0.194406 -252.50 7.50 222.50 0.126127 -252.50 7.50 227.50 0.137564 -252.50 7.50 232.50 0.166387 -252.50 7.50 237.50 0.182585 -252.50 7.50 242.50 0.179112 -252.50 7.50 247.50 0.174319 -252.50 7.50 252.50 0.166878 -252.50 7.50 257.50 0.143646 -252.50 7.50 262.50 0.106856 -252.50 7.50 267.50 0.0787341 -252.50 7.50 272.50 0.0872057 -252.50 7.50 277.50 0.172288 -252.50 7.50 282.50 0.384509 -252.50 7.50 287.50 0.688836 -252.50 7.50 292.50 0.855308 -252.50 7.50 297.50 0.706179 -252.50 7.50 302.50 0.400161 -252.50 7.50 307.50 0.194407 -252.50 7.50 312.50 0.126127 -252.50 7.50 317.50 0.137564 -252.50 7.50 322.50 0.166387 -252.50 7.50 327.50 0.182585 -252.50 7.50 332.50 0.179112 -252.50 7.50 337.50 0.174319 -252.50 7.50 342.50 0.166878 -252.50 7.50 347.50 0.143646 -252.50 7.50 352.50 0.106856 -252.50 7.50 357.50 0.0787341 -252.50 12.50 2.50 0.134121 -252.50 12.50 7.50 0.227328 -252.50 12.50 12.50 0.431976 -252.50 12.50 17.50 0.708774 -252.50 12.50 22.50 0.92701 -252.50 12.50 27.50 0.878439 -252.50 12.50 32.50 0.626049 -252.50 12.50 37.50 0.416365 -252.50 12.50 42.50 0.385849 -252.50 12.50 47.50 0.471098 -252.50 12.50 52.50 0.555933 -252.50 12.50 57.50 0.589233 -252.50 12.50 62.50 0.549478 -252.50 12.50 67.50 0.478811 -252.50 12.50 72.50 0.401511 -252.50 12.50 77.50 0.294737 -252.50 12.50 82.50 0.201029 -252.50 12.50 87.50 0.135945 -252.50 12.50 92.50 0.134121 -252.50 12.50 97.50 0.227328 -252.50 12.50 102.50 0.431976 -252.50 12.50 107.50 0.708774 -252.50 12.50 112.50 0.92701 -252.50 12.50 117.50 0.878439 -252.50 12.50 122.50 0.626049 -252.50 12.50 127.50 0.416365 -252.50 12.50 132.50 0.385849 -252.50 12.50 137.50 0.471098 -252.50 12.50 142.50 0.555933 -252.50 12.50 147.50 0.589233 -252.50 12.50 152.50 0.549478 -252.50 12.50 157.50 0.478811 -252.50 12.50 162.50 0.401511 -252.50 12.50 167.50 0.294737 -252.50 12.50 172.50 0.201029 -252.50 12.50 177.50 0.135945 -252.50 12.50 182.50 0.134121 -252.50 12.50 187.50 0.227328 -252.50 12.50 192.50 0.431976 -252.50 12.50 197.50 0.708774 -252.50 12.50 202.50 0.927011 -252.50 12.50 207.50 0.87844 -252.50 12.50 212.50 0.626049 -252.50 12.50 217.50 0.416364 -252.50 12.50 222.50 0.385849 -252.50 12.50 227.50 0.471098 -252.50 12.50 232.50 0.555933 -252.50 12.50 237.50 0.589233 -252.50 12.50 242.50 0.549479 -252.50 12.50 247.50 0.478811 -252.50 12.50 252.50 0.401511 -252.50 12.50 257.50 0.294736 -252.50 12.50 262.50 0.201028 -252.50 12.50 267.50 0.135945 -252.50 12.50 272.50 0.134121 -252.50 12.50 277.50 0.227329 -252.50 12.50 282.50 0.431976 -252.50 12.50 287.50 0.708774 -252.50 12.50 292.50 0.92701 -252.50 12.50 297.50 0.87844 -252.50 12.50 302.50 0.62605 -252.50 12.50 307.50 0.416365 -252.50 12.50 312.50 0.385849 -252.50 12.50 317.50 0.471098 -252.50 12.50 322.50 0.555933 -252.50 12.50 327.50 0.589233 -252.50 12.50 332.50 0.549479 -252.50 12.50 337.50 0.478811 -252.50 12.50 342.50 0.401511 -252.50 12.50 347.50 0.294737 -252.50 12.50 352.50 0.201029 -252.50 12.50 357.50 0.135945 -252.50 17.50 2.50 0.148779 -252.50 17.50 7.50 0.235527 -252.50 17.50 12.50 0.419807 -252.50 17.50 17.50 0.702544 -252.50 17.50 22.50 0.972016 -252.50 17.50 27.50 1.04021 -252.50 17.50 32.50 0.875161 -252.50 17.50 37.50 0.774984 -252.50 17.50 42.50 0.902796 -252.50 17.50 47.50 1.16717 -252.50 17.50 52.50 1.37822 -252.50 17.50 57.50 1.41539 -252.50 17.50 62.50 1.27537 -252.50 17.50 67.50 1.02204 -252.50 17.50 72.50 0.759031 -252.50 17.50 77.50 0.499375 -252.50 17.50 82.50 0.268399 -252.50 17.50 87.50 0.163633 -252.50 17.50 92.50 0.148779 -252.50 17.50 97.50 0.235527 -252.50 17.50 102.50 0.419807 -252.50 17.50 107.50 0.702543 -252.50 17.50 112.50 0.972016 -252.50 17.50 117.50 1.04021 -252.50 17.50 122.50 0.875161 -252.50 17.50 127.50 0.774983 -252.50 17.50 132.50 0.902796 -252.50 17.50 137.50 1.16717 -252.50 17.50 142.50 1.37822 -252.50 17.50 147.50 1.41539 -252.50 17.50 152.50 1.27537 -252.50 17.50 157.50 1.02204 -252.50 17.50 162.50 0.759032 -252.50 17.50 167.50 0.499375 -252.50 17.50 172.50 0.2684 -252.50 17.50 177.50 0.163633 -252.50 17.50 182.50 0.148779 -252.50 17.50 187.50 0.235528 -252.50 17.50 192.50 0.419807 -252.50 17.50 197.50 0.702544 -252.50 17.50 202.50 0.972016 -252.50 17.50 207.50 1.04021 -252.50 17.50 212.50 0.875162 -252.50 17.50 217.50 0.774983 -252.50 17.50 222.50 0.902795 -252.50 17.50 227.50 1.16717 -252.50 17.50 232.50 1.37822 -252.50 17.50 237.50 1.41539 -252.50 17.50 242.50 1.27537 -252.50 17.50 247.50 1.02204 -252.50 17.50 252.50 0.759031 -252.50 17.50 257.50 0.499374 -252.50 17.50 262.50 0.268399 -252.50 17.50 267.50 0.163633 -252.50 17.50 272.50 0.148779 -252.50 17.50 277.50 0.235527 -252.50 17.50 282.50 0.419807 -252.50 17.50 287.50 0.702544 -252.50 17.50 292.50 0.972016 -252.50 17.50 297.50 1.04021 -252.50 17.50 302.50 0.875162 -252.50 17.50 307.50 0.774984 -252.50 17.50 312.50 0.902795 -252.50 17.50 317.50 1.16717 -252.50 17.50 322.50 1.37822 -252.50 17.50 327.50 1.41539 -252.50 17.50 332.50 1.27537 -252.50 17.50 337.50 1.02204 -252.50 17.50 342.50 0.759032 -252.50 17.50 347.50 0.499376 -252.50 17.50 352.50 0.2684 -252.50 17.50 357.50 0.163633 -252.50 22.50 2.50 0.129042 -252.50 22.50 7.50 0.180575 -252.50 22.50 12.50 0.330343 -252.50 22.50 17.50 0.578689 -252.50 22.50 22.50 0.877147 -252.50 22.50 27.50 1.03817 -252.50 22.50 32.50 1.05452 -252.50 22.50 37.50 1.15056 -252.50 22.50 42.50 1.51677 -252.50 22.50 47.50 2.14441 -252.50 22.50 52.50 2.74521 -252.50 22.50 57.50 2.87762 -252.50 22.50 62.50 2.5111 -252.50 22.50 67.50 1.8723 -252.50 22.50 72.50 1.19702 -252.50 22.50 77.50 0.70176 -252.50 22.50 82.50 0.353566 -252.50 22.50 87.50 0.169802 -252.50 22.50 92.50 0.129042 -252.50 22.50 97.50 0.180575 -252.50 22.50 102.50 0.330343 -252.50 22.50 107.50 0.578688 -252.50 22.50 112.50 0.877147 -252.50 22.50 117.50 1.03817 -252.50 22.50 122.50 1.05452 -252.50 22.50 127.50 1.15056 -252.50 22.50 132.50 1.51677 -252.50 22.50 137.50 2.14441 -252.50 22.50 142.50 2.74521 -252.50 22.50 147.50 2.87761 -252.50 22.50 152.50 2.5111 -252.50 22.50 157.50 1.8723 -252.50 22.50 162.50 1.19702 -252.50 22.50 167.50 0.70176 -252.50 22.50 172.50 0.353566 -252.50 22.50 177.50 0.169802 -252.50 22.50 182.50 0.129042 -252.50 22.50 187.50 0.180575 -252.50 22.50 192.50 0.330343 -252.50 22.50 197.50 0.578689 -252.50 22.50 202.50 0.877147 -252.50 22.50 207.50 1.03817 -252.50 22.50 212.50 1.05452 -252.50 22.50 217.50 1.15056 -252.50 22.50 222.50 1.51677 -252.50 22.50 227.50 2.14441 -252.50 22.50 232.50 2.74521 -252.50 22.50 237.50 2.87762 -252.50 22.50 242.50 2.5111 -252.50 22.50 247.50 1.8723 -252.50 22.50 252.50 1.19702 -252.50 22.50 257.50 0.70176 -252.50 22.50 262.50 0.353565 -252.50 22.50 267.50 0.169801 -252.50 22.50 272.50 0.129042 -252.50 22.50 277.50 0.180575 -252.50 22.50 282.50 0.330343 -252.50 22.50 287.50 0.578689 -252.50 22.50 292.50 0.877147 -252.50 22.50 297.50 1.03817 -252.50 22.50 302.50 1.05452 -252.50 22.50 307.50 1.15056 -252.50 22.50 312.50 1.51677 -252.50 22.50 317.50 2.14441 -252.50 22.50 322.50 2.74521 -252.50 22.50 327.50 2.87762 -252.50 22.50 332.50 2.5111 -252.50 22.50 337.50 1.8723 -252.50 22.50 342.50 1.19702 -252.50 22.50 347.50 0.701761 -252.50 22.50 352.50 0.353566 -252.50 22.50 357.50 0.169802 -252.50 27.50 2.50 0.114009 -252.50 27.50 7.50 0.11844 -252.50 27.50 12.50 0.209396 -252.50 27.50 17.50 0.380762 -252.50 27.50 22.50 0.621241 -252.50 27.50 27.50 0.830492 -252.50 27.50 32.50 0.979365 -252.50 27.50 37.50 1.30349 -252.50 27.50 42.50 2.02416 -252.50 27.50 47.50 3.12498 -252.50 27.50 52.50 4.10408 -252.50 27.50 57.50 4.44845 -252.50 27.50 62.50 4.01069 -252.50 27.50 67.50 2.88921 -252.50 27.50 72.50 1.7273 -252.50 27.50 77.50 0.924205 -252.50 27.50 82.50 0.46717 -252.50 27.50 87.50 0.199352 -252.50 27.50 92.50 0.114009 -252.50 27.50 97.50 0.11844 -252.50 27.50 102.50 0.209396 -252.50 27.50 107.50 0.380762 -252.50 27.50 112.50 0.621241 -252.50 27.50 117.50 0.830492 -252.50 27.50 122.50 0.979365 -252.50 27.50 127.50 1.30349 -252.50 27.50 132.50 2.02416 -252.50 27.50 137.50 3.12498 -252.50 27.50 142.50 4.10408 -252.50 27.50 147.50 4.44844 -252.50 27.50 152.50 4.01069 -252.50 27.50 157.50 2.88921 -252.50 27.50 162.50 1.7273 -252.50 27.50 167.50 0.924205 -252.50 27.50 172.50 0.46717 -252.50 27.50 177.50 0.199352 -252.50 27.50 182.50 0.114009 -252.50 27.50 187.50 0.11844 -252.50 27.50 192.50 0.209396 -252.50 27.50 197.50 0.380762 -252.50 27.50 202.50 0.621241 -252.50 27.50 207.50 0.830492 -252.50 27.50 212.50 0.979366 -252.50 27.50 217.50 1.30349 -252.50 27.50 222.50 2.02416 -252.50 27.50 227.50 3.12498 -252.50 27.50 232.50 4.10408 -252.50 27.50 237.50 4.44844 -252.50 27.50 242.50 4.01068 -252.50 27.50 247.50 2.88921 -252.50 27.50 252.50 1.7273 -252.50 27.50 257.50 0.924205 -252.50 27.50 262.50 0.467169 -252.50 27.50 267.50 0.199352 -252.50 27.50 272.50 0.114009 -252.50 27.50 277.50 0.11844 -252.50 27.50 282.50 0.209396 -252.50 27.50 287.50 0.380762 -252.50 27.50 292.50 0.621241 -252.50 27.50 297.50 0.830492 -252.50 27.50 302.50 0.979366 -252.50 27.50 307.50 1.30349 -252.50 27.50 312.50 2.02416 -252.50 27.50 317.50 3.12498 -252.50 27.50 322.50 4.10408 -252.50 27.50 327.50 4.44844 -252.50 27.50 332.50 4.01069 -252.50 27.50 337.50 2.88921 -252.50 27.50 342.50 1.7273 -252.50 27.50 347.50 0.924206 -252.50 27.50 352.50 0.46717 -252.50 27.50 357.50 0.199353 -252.50 32.50 2.50 0.102728 -252.50 32.50 7.50 0.0796682 -252.50 32.50 12.50 0.117217 -252.50 32.50 17.50 0.19226 -252.50 32.50 22.50 0.338363 -252.50 32.50 27.50 0.522996 -252.50 32.50 32.50 0.733517 -252.50 32.50 37.50 1.15908 -252.50 32.50 42.50 2.04157 -252.50 32.50 47.50 3.42852 -252.50 32.50 52.50 4.72297 -252.50 32.50 57.50 5.20994 -252.50 32.50 62.50 4.65189 -252.50 32.50 67.50 3.3845 -252.50 32.50 72.50 1.9346 -252.50 32.50 77.50 1.02982 -252.50 32.50 82.50 0.528282 -252.50 32.50 87.50 0.222408 -252.50 32.50 92.50 0.102728 -252.50 32.50 97.50 0.0796682 -252.50 32.50 102.50 0.117217 -252.50 32.50 107.50 0.19226 -252.50 32.50 112.50 0.338363 -252.50 32.50 117.50 0.522997 -252.50 32.50 122.50 0.733517 -252.50 32.50 127.50 1.15908 -252.50 32.50 132.50 2.04157 -252.50 32.50 137.50 3.42852 -252.50 32.50 142.50 4.72297 -252.50 32.50 147.50 5.20994 -252.50 32.50 152.50 4.65189 -252.50 32.50 157.50 3.3845 -252.50 32.50 162.50 1.9346 -252.50 32.50 167.50 1.02982 -252.50 32.50 172.50 0.528282 -252.50 32.50 177.50 0.222408 -252.50 32.50 182.50 0.102728 -252.50 32.50 187.50 0.0796682 -252.50 32.50 192.50 0.117217 -252.50 32.50 197.50 0.19226 -252.50 32.50 202.50 0.338363 -252.50 32.50 207.50 0.522997 -252.50 32.50 212.50 0.733517 -252.50 32.50 217.50 1.15908 -252.50 32.50 222.50 2.04157 -252.50 32.50 227.50 3.42852 -252.50 32.50 232.50 4.72298 -252.50 32.50 237.50 5.20994 -252.50 32.50 242.50 4.65188 -252.50 32.50 247.50 3.38449 -252.50 32.50 252.50 1.9346 -252.50 32.50 257.50 1.02981 -252.50 32.50 262.50 0.528282 -252.50 32.50 267.50 0.222408 -252.50 32.50 272.50 0.102728 -252.50 32.50 277.50 0.0796682 -252.50 32.50 282.50 0.117217 -252.50 32.50 287.50 0.19226 -252.50 32.50 292.50 0.338363 -252.50 32.50 297.50 0.522997 -252.50 32.50 302.50 0.733517 -252.50 32.50 307.50 1.15908 -252.50 32.50 312.50 2.04157 -252.50 32.50 317.50 3.42852 -252.50 32.50 322.50 4.72297 -252.50 32.50 327.50 5.20994 -252.50 32.50 332.50 4.65189 -252.50 32.50 337.50 3.3845 -252.50 32.50 342.50 1.9346 -252.50 32.50 347.50 1.02982 -252.50 32.50 352.50 0.528283 -252.50 32.50 357.50 0.222409 -252.50 37.50 2.50 0.0713706 -252.50 37.50 7.50 0.0481647 -252.50 37.50 12.50 0.0577004 -252.50 37.50 17.50 0.0752979 -252.50 37.50 22.50 0.137846 -252.50 37.50 27.50 0.262052 -252.50 37.50 32.50 0.436574 -252.50 37.50 37.50 0.776166 -252.50 37.50 42.50 1.56298 -252.50 37.50 47.50 2.82789 -252.50 37.50 52.50 4.03678 -252.50 37.50 57.50 4.56821 -252.50 37.50 62.50 4.0767 -252.50 37.50 67.50 2.84538 -252.50 37.50 72.50 1.59221 -252.50 37.50 77.50 0.828672 -252.50 37.50 82.50 0.428475 -252.50 37.50 87.50 0.177886 -252.50 37.50 92.50 0.0713706 -252.50 37.50 97.50 0.0481647 -252.50 37.50 102.50 0.0577004 -252.50 37.50 107.50 0.0752979 -252.50 37.50 112.50 0.137846 -252.50 37.50 117.50 0.262052 -252.50 37.50 122.50 0.436574 -252.50 37.50 127.50 0.776167 -252.50 37.50 132.50 1.56298 -252.50 37.50 137.50 2.82789 -252.50 37.50 142.50 4.03678 -252.50 37.50 147.50 4.56821 -252.50 37.50 152.50 4.07671 -252.50 37.50 157.50 2.84538 -252.50 37.50 162.50 1.59221 -252.50 37.50 167.50 0.828673 -252.50 37.50 172.50 0.428475 -252.50 37.50 177.50 0.177886 -252.50 37.50 182.50 0.0713706 -252.50 37.50 187.50 0.0481647 -252.50 37.50 192.50 0.0577004 -252.50 37.50 197.50 0.075298 -252.50 37.50 202.50 0.137846 -252.50 37.50 207.50 0.262052 -252.50 37.50 212.50 0.436574 -252.50 37.50 217.50 0.776166 -252.50 37.50 222.50 1.56298 -252.50 37.50 227.50 2.82789 -252.50 37.50 232.50 4.03678 -252.50 37.50 237.50 4.56821 -252.50 37.50 242.50 4.0767 -252.50 37.50 247.50 2.84538 -252.50 37.50 252.50 1.5922 -252.50 37.50 257.50 0.828672 -252.50 37.50 262.50 0.428474 -252.50 37.50 267.50 0.177886 -252.50 37.50 272.50 0.0713706 -252.50 37.50 277.50 0.0481647 -252.50 37.50 282.50 0.0577004 -252.50 37.50 287.50 0.0752979 -252.50 37.50 292.50 0.137846 -252.50 37.50 297.50 0.262051 -252.50 37.50 302.50 0.436574 -252.50 37.50 307.50 0.776166 -252.50 37.50 312.50 1.56298 -252.50 37.50 317.50 2.82789 -252.50 37.50 322.50 4.03678 -252.50 37.50 327.50 4.56821 -252.50 37.50 332.50 4.07671 -252.50 37.50 337.50 2.84538 -252.50 37.50 342.50 1.59221 -252.50 37.50 347.50 0.828674 -252.50 37.50 352.50 0.428475 -252.50 37.50 357.50 0.177886 -252.50 42.50 2.50 0.0345643 -252.50 42.50 7.50 0.0229548 -252.50 42.50 12.50 0.0256804 -252.50 42.50 17.50 0.0254292 -252.50 42.50 22.50 0.0446952 -252.50 42.50 27.50 0.100083 -252.50 42.50 32.50 0.191638 -252.50 42.50 37.50 0.377634 -252.50 42.50 42.50 0.84969 -252.50 42.50 47.50 1.67451 -252.50 42.50 52.50 2.55221 -252.50 42.50 57.50 2.96787 -252.50 42.50 62.50 2.68863 -252.50 42.50 67.50 1.79232 -252.50 42.50 72.50 0.938532 -252.50 42.50 77.50 0.472255 -252.50 42.50 82.50 0.24113 -252.50 42.50 87.50 0.0948683 -252.50 42.50 92.50 0.0345643 -252.50 42.50 97.50 0.0229548 -252.50 42.50 102.50 0.0256804 -252.50 42.50 107.50 0.0254292 -252.50 42.50 112.50 0.0446952 -252.50 42.50 117.50 0.100083 -252.50 42.50 122.50 0.191639 -252.50 42.50 127.50 0.377634 -252.50 42.50 132.50 0.849691 -252.50 42.50 137.50 1.67451 -252.50 42.50 142.50 2.55221 -252.50 42.50 147.50 2.96787 -252.50 42.50 152.50 2.68864 -252.50 42.50 157.50 1.79232 -252.50 42.50 162.50 0.938532 -252.50 42.50 167.50 0.472255 -252.50 42.50 172.50 0.24113 -252.50 42.50 177.50 0.0948684 -252.50 42.50 182.50 0.0345642 -252.50 42.50 187.50 0.0229548 -252.50 42.50 192.50 0.0256804 -252.50 42.50 197.50 0.0254292 -252.50 42.50 202.50 0.0446952 -252.50 42.50 207.50 0.100083 -252.50 42.50 212.50 0.191639 -252.50 42.50 217.50 0.377634 -252.50 42.50 222.50 0.84969 -252.50 42.50 227.50 1.67451 -252.50 42.50 232.50 2.55221 -252.50 42.50 237.50 2.96787 -252.50 42.50 242.50 2.68863 -252.50 42.50 247.50 1.79232 -252.50 42.50 252.50 0.93853 -252.50 42.50 257.50 0.472255 -252.50 42.50 262.50 0.24113 -252.50 42.50 267.50 0.0948682 -252.50 42.50 272.50 0.0345643 -252.50 42.50 277.50 0.0229548 -252.50 42.50 282.50 0.0256804 -252.50 42.50 287.50 0.0254292 -252.50 42.50 292.50 0.0446952 -252.50 42.50 297.50 0.100083 -252.50 42.50 302.50 0.191638 -252.50 42.50 307.50 0.377634 -252.50 42.50 312.50 0.849689 -252.50 42.50 317.50 1.67451 -252.50 42.50 322.50 2.55221 -252.50 42.50 327.50 2.96787 -252.50 42.50 332.50 2.68864 -252.50 42.50 337.50 1.79232 -252.50 42.50 342.50 0.938533 -252.50 42.50 347.50 0.472255 -252.50 42.50 352.50 0.241131 -252.50 42.50 357.50 0.0948685 -252.50 47.50 2.50 0.0195997 -252.50 47.50 7.50 0.0236699 -252.50 47.50 12.50 0.0301616 -252.50 47.50 17.50 0.0244227 -252.50 47.50 22.50 0.0200299 -252.50 47.50 27.50 0.0314306 -252.50 47.50 32.50 0.0567506 -252.50 47.50 37.50 0.139446 -252.50 47.50 42.50 0.296556 -252.50 47.50 47.50 0.669526 -252.50 47.50 52.50 1.02135 -252.50 47.50 57.50 1.34304 -252.50 47.50 62.50 1.29353 -252.50 47.50 67.50 0.885196 -252.50 47.50 72.50 0.419284 -252.50 47.50 77.50 0.196214 -252.50 47.50 82.50 0.101401 -252.50 47.50 87.50 0.0394375 -252.50 47.50 92.50 0.0195996 -252.50 47.50 97.50 0.0236699 -252.50 47.50 102.50 0.0301616 -252.50 47.50 107.50 0.0244226 -252.50 47.50 112.50 0.0200299 -252.50 47.50 117.50 0.0314306 -252.50 47.50 122.50 0.0567506 -252.50 47.50 127.50 0.139446 -252.50 47.50 132.50 0.296557 -252.50 47.50 137.50 0.669526 -252.50 47.50 142.50 1.02135 -252.50 47.50 147.50 1.34304 -252.50 47.50 152.50 1.29353 -252.50 47.50 157.50 0.885196 -252.50 47.50 162.50 0.419284 -252.50 47.50 167.50 0.196214 -252.50 47.50 172.50 0.101402 -252.50 47.50 177.50 0.0394376 -252.50 47.50 182.50 0.0195996 -252.50 47.50 187.50 0.0236699 -252.50 47.50 192.50 0.0301616 -252.50 47.50 197.50 0.0244226 -252.50 47.50 202.50 0.0200299 -252.50 47.50 207.50 0.0314306 -252.50 47.50 212.50 0.0567506 -252.50 47.50 217.50 0.139446 -252.50 47.50 222.50 0.296556 -252.50 47.50 227.50 0.669526 -252.50 47.50 232.50 1.02135 -252.50 47.50 237.50 1.34304 -252.50 47.50 242.50 1.29353 -252.50 47.50 247.50 0.885196 -252.50 47.50 252.50 0.419284 -252.50 47.50 257.50 0.196214 -252.50 47.50 262.50 0.101401 -252.50 47.50 267.50 0.0394375 -252.50 47.50 272.50 0.0195996 -252.50 47.50 277.50 0.0236699 -252.50 47.50 282.50 0.0301616 -252.50 47.50 287.50 0.0244227 -252.50 47.50 292.50 0.0200299 -252.50 47.50 297.50 0.0314306 -252.50 47.50 302.50 0.0567506 -252.50 47.50 307.50 0.139446 -252.50 47.50 312.50 0.296556 -252.50 47.50 317.50 0.669525 -252.50 47.50 322.50 1.02135 -252.50 47.50 327.50 1.34304 -252.50 47.50 332.50 1.29353 -252.50 47.50 337.50 0.885198 -252.50 47.50 342.50 0.419285 -252.50 47.50 347.50 0.196214 -252.50 47.50 352.50 0.101402 -252.50 47.50 357.50 0.0394377 -252.50 52.50 2.50 0.0345643 -252.50 52.50 7.50 0.0653339 -252.50 52.50 12.50 0.0811078 -252.50 52.50 17.50 0.0725121 -252.50 52.50 22.50 0.0565859 -252.50 52.50 27.50 0.040436 -252.50 52.50 32.50 0.027975 -252.50 52.50 37.50 0.0357743 -252.50 52.50 42.50 0.0811808 -252.50 52.50 47.50 0.16975 -252.50 52.50 52.50 0.274639 -252.50 52.50 57.50 0.395714 -252.50 52.50 62.50 0.432882 -252.50 52.50 67.50 0.318524 -252.50 52.50 72.50 0.163165 -252.50 52.50 77.50 0.0618641 -252.50 52.50 82.50 0.0338908 -252.50 52.50 87.50 0.0219592 -252.50 52.50 92.50 0.0345643 -252.50 52.50 97.50 0.0653338 -252.50 52.50 102.50 0.0811077 -252.50 52.50 107.50 0.072512 -252.50 52.50 112.50 0.0565859 -252.50 52.50 117.50 0.040436 -252.50 52.50 122.50 0.0279751 -252.50 52.50 127.50 0.0357744 -252.50 52.50 132.50 0.0811809 -252.50 52.50 137.50 0.16975 -252.50 52.50 142.50 0.274639 -252.50 52.50 147.50 0.395714 -252.50 52.50 152.50 0.432882 -252.50 52.50 157.50 0.318524 -252.50 52.50 162.50 0.163165 -252.50 52.50 167.50 0.0618642 -252.50 52.50 172.50 0.0338908 -252.50 52.50 177.50 0.0219592 -252.50 52.50 182.50 0.0345643 -252.50 52.50 187.50 0.0653339 -252.50 52.50 192.50 0.0811077 -252.50 52.50 197.50 0.072512 -252.50 52.50 202.50 0.0565858 -252.50 52.50 207.50 0.040436 -252.50 52.50 212.50 0.0279751 -252.50 52.50 217.50 0.0357744 -252.50 52.50 222.50 0.0811809 -252.50 52.50 227.50 0.16975 -252.50 52.50 232.50 0.274639 -252.50 52.50 237.50 0.395714 -252.50 52.50 242.50 0.432882 -252.50 52.50 247.50 0.318524 -252.50 52.50 252.50 0.163164 -252.50 52.50 257.50 0.061864 -252.50 52.50 262.50 0.0338908 -252.50 52.50 267.50 0.0219592 -252.50 52.50 272.50 0.0345643 -252.50 52.50 277.50 0.0653339 -252.50 52.50 282.50 0.0811077 -252.50 52.50 287.50 0.0725121 -252.50 52.50 292.50 0.0565859 -252.50 52.50 297.50 0.040436 -252.50 52.50 302.50 0.027975 -252.50 52.50 307.50 0.0357744 -252.50 52.50 312.50 0.0811808 -252.50 52.50 317.50 0.16975 -252.50 52.50 322.50 0.274638 -252.50 52.50 327.50 0.395714 -252.50 52.50 332.50 0.432883 -252.50 52.50 337.50 0.318524 -252.50 52.50 342.50 0.163165 -252.50 52.50 347.50 0.0618642 -252.50 52.50 352.50 0.0338908 -252.50 52.50 357.50 0.0219592 -252.50 57.50 2.50 0.0713707 -252.50 57.50 7.50 0.140073 -252.50 57.50 12.50 0.188219 -252.50 57.50 17.50 0.222721 -252.50 57.50 22.50 0.214172 -252.50 57.50 27.50 0.152117 -252.50 57.50 32.50 0.0892548 -252.50 57.50 37.50 0.0458996 -252.50 57.50 42.50 0.034129 -252.50 57.50 47.50 0.047718 -252.50 57.50 52.50 0.0601424 -252.50 57.50 57.50 0.0792812 -252.50 57.50 62.50 0.0887257 -252.50 57.50 67.50 0.0714023 -252.50 57.50 72.50 0.0469154 -252.50 57.50 77.50 0.022784 -252.50 57.50 82.50 0.0120017 -252.50 57.50 87.50 0.0242699 -252.50 57.50 92.50 0.0713707 -252.50 57.50 97.50 0.140073 -252.50 57.50 102.50 0.188219 -252.50 57.50 107.50 0.222721 -252.50 57.50 112.50 0.214172 -252.50 57.50 117.50 0.152117 -252.50 57.50 122.50 0.0892547 -252.50 57.50 127.50 0.0458996 -252.50 57.50 132.50 0.034129 -252.50 57.50 137.50 0.0477181 -252.50 57.50 142.50 0.0601425 -252.50 57.50 147.50 0.0792812 -252.50 57.50 152.50 0.0887258 -252.50 57.50 157.50 0.0714023 -252.50 57.50 162.50 0.0469154 -252.50 57.50 167.50 0.022784 -252.50 57.50 172.50 0.0120017 -252.50 57.50 177.50 0.0242698 -252.50 57.50 182.50 0.0713706 -252.50 57.50 187.50 0.140073 -252.50 57.50 192.50 0.188219 -252.50 57.50 197.50 0.222721 -252.50 57.50 202.50 0.214172 -252.50 57.50 207.50 0.152117 -252.50 57.50 212.50 0.0892546 -252.50 57.50 217.50 0.0458996 -252.50 57.50 222.50 0.0341291 -252.50 57.50 227.50 0.0477181 -252.50 57.50 232.50 0.0601425 -252.50 57.50 237.50 0.0792812 -252.50 57.50 242.50 0.0887257 -252.50 57.50 247.50 0.0714023 -252.50 57.50 252.50 0.0469154 -252.50 57.50 257.50 0.022784 -252.50 57.50 262.50 0.0120017 -252.50 57.50 267.50 0.0242699 -252.50 57.50 272.50 0.0713706 -252.50 57.50 277.50 0.140073 -252.50 57.50 282.50 0.188219 -252.50 57.50 287.50 0.222721 -252.50 57.50 292.50 0.214172 -252.50 57.50 297.50 0.152117 -252.50 57.50 302.50 0.0892548 -252.50 57.50 307.50 0.0458996 -252.50 57.50 312.50 0.034129 -252.50 57.50 317.50 0.047718 -252.50 57.50 322.50 0.0601424 -252.50 57.50 327.50 0.0792812 -252.50 57.50 332.50 0.0887257 -252.50 57.50 337.50 0.0714023 -252.50 57.50 342.50 0.0469154 -252.50 57.50 347.50 0.022784 -252.50 57.50 352.50 0.0120017 -252.50 57.50 357.50 0.0242698 -252.50 62.50 2.50 0.102728 -252.50 62.50 7.50 0.213676 -252.50 62.50 12.50 0.353436 -252.50 62.50 17.50 0.516927 -252.50 62.50 22.50 0.562697 -252.50 62.50 27.50 0.449163 -252.50 62.50 32.50 0.326203 -252.50 62.50 37.50 0.221576 -252.50 62.50 42.50 0.124174 -252.50 62.50 47.50 0.0695905 -252.50 62.50 52.50 0.0388129 -252.50 62.50 57.50 0.0244175 -252.50 62.50 62.50 0.0153424 -252.50 62.50 67.50 0.0121879 -252.50 62.50 72.50 0.0102271 -252.50 62.50 77.50 0.00822497 -252.50 62.50 82.50 0.0115097 -252.50 62.50 87.50 0.0314926 -252.50 62.50 92.50 0.102728 -252.50 62.50 97.50 0.213676 -252.50 62.50 102.50 0.353436 -252.50 62.50 107.50 0.516927 -252.50 62.50 112.50 0.562697 -252.50 62.50 117.50 0.449163 -252.50 62.50 122.50 0.326203 -252.50 62.50 127.50 0.221576 -252.50 62.50 132.50 0.124174 -252.50 62.50 137.50 0.0695904 -252.50 62.50 142.50 0.0388129 -252.50 62.50 147.50 0.0244175 -252.50 62.50 152.50 0.0153424 -252.50 62.50 157.50 0.0121879 -252.50 62.50 162.50 0.0102271 -252.50 62.50 167.50 0.00822495 -252.50 62.50 172.50 0.0115096 -252.50 62.50 177.50 0.0314926 -252.50 62.50 182.50 0.102728 -252.50 62.50 187.50 0.213676 -252.50 62.50 192.50 0.353436 -252.50 62.50 197.50 0.516927 -252.50 62.50 202.50 0.562697 -252.50 62.50 207.50 0.449163 -252.50 62.50 212.50 0.326203 -252.50 62.50 217.50 0.221576 -252.50 62.50 222.50 0.124174 -252.50 62.50 227.50 0.0695904 -252.50 62.50 232.50 0.0388129 -252.50 62.50 237.50 0.0244175 -252.50 62.50 242.50 0.0153424 -252.50 62.50 247.50 0.0121879 -252.50 62.50 252.50 0.0102271 -252.50 62.50 257.50 0.00822493 -252.50 62.50 262.50 0.0115097 -252.50 62.50 267.50 0.0314926 -252.50 62.50 272.50 0.102728 -252.50 62.50 277.50 0.213676 -252.50 62.50 282.50 0.353436 -252.50 62.50 287.50 0.516927 -252.50 62.50 292.50 0.562697 -252.50 62.50 297.50 0.449164 -252.50 62.50 302.50 0.326203 -252.50 62.50 307.50 0.221576 -252.50 62.50 312.50 0.124174 -252.50 62.50 317.50 0.0695905 -252.50 62.50 322.50 0.038813 -252.50 62.50 327.50 0.0244175 -252.50 62.50 332.50 0.0153424 -252.50 62.50 337.50 0.0121879 -252.50 62.50 342.50 0.0102271 -252.50 62.50 347.50 0.00822497 -252.50 62.50 352.50 0.0115096 -252.50 62.50 357.50 0.0314925 -252.50 67.50 2.50 0.114009 -252.50 67.50 7.50 0.265949 -252.50 67.50 12.50 0.571641 -252.50 67.50 17.50 0.940722 -252.50 67.50 22.50 1.14987 -252.50 67.50 27.50 1.10873 -252.50 67.50 32.50 0.945086 -252.50 67.50 37.50 0.693072 -252.50 67.50 42.50 0.461554 -252.50 67.50 47.50 0.25155 -252.50 67.50 52.50 0.105781 -252.50 67.50 57.50 0.0361209 -252.50 67.50 62.50 0.011279 -252.50 67.50 67.50 0.00773662 -252.50 67.50 72.50 0.00704931 -252.50 67.50 77.50 0.00927383 -252.50 67.50 82.50 0.0195529 -252.50 67.50 87.50 0.0458691 -252.50 67.50 92.50 0.114009 -252.50 67.50 97.50 0.265949 -252.50 67.50 102.50 0.571641 -252.50 67.50 107.50 0.940721 -252.50 67.50 112.50 1.14987 -252.50 67.50 117.50 1.10873 -252.50 67.50 122.50 0.945086 -252.50 67.50 127.50 0.693071 -252.50 67.50 132.50 0.461554 -252.50 67.50 137.50 0.25155 -252.50 67.50 142.50 0.105781 -252.50 67.50 147.50 0.0361209 -252.50 67.50 152.50 0.011279 -252.50 67.50 157.50 0.00773662 -252.50 67.50 162.50 0.00704931 -252.50 67.50 167.50 0.00927382 -252.50 67.50 172.50 0.0195529 -252.50 67.50 177.50 0.0458691 -252.50 67.50 182.50 0.114009 -252.50 67.50 187.50 0.265949 -252.50 67.50 192.50 0.571641 -252.50 67.50 197.50 0.940721 -252.50 67.50 202.50 1.14987 -252.50 67.50 207.50 1.10873 -252.50 67.50 212.50 0.945086 -252.50 67.50 217.50 0.693071 -252.50 67.50 222.50 0.461554 -252.50 67.50 227.50 0.25155 -252.50 67.50 232.50 0.105781 -252.50 67.50 237.50 0.0361208 -252.50 67.50 242.50 0.011279 -252.50 67.50 247.50 0.00773661 -252.50 67.50 252.50 0.00704931 -252.50 67.50 257.50 0.00927383 -252.50 67.50 262.50 0.0195529 -252.50 67.50 267.50 0.0458691 -252.50 67.50 272.50 0.114009 -252.50 67.50 277.50 0.265949 -252.50 67.50 282.50 0.571641 -252.50 67.50 287.50 0.940722 -252.50 67.50 292.50 1.14987 -252.50 67.50 297.50 1.10873 -252.50 67.50 302.50 0.945087 -252.50 67.50 307.50 0.693072 -252.50 67.50 312.50 0.461554 -252.50 67.50 317.50 0.25155 -252.50 67.50 322.50 0.105782 -252.50 67.50 327.50 0.0361209 -252.50 67.50 332.50 0.011279 -252.50 67.50 337.50 0.00773661 -252.50 67.50 342.50 0.00704931 -252.50 67.50 347.50 0.00927382 -252.50 67.50 352.50 0.0195529 -252.50 67.50 357.50 0.045869 -252.50 72.50 2.50 0.129042 -252.50 72.50 7.50 0.322875 -252.50 72.50 12.50 0.769451 -252.50 72.50 17.50 1.45062 -252.50 72.50 22.50 1.97596 -252.50 72.50 27.50 2.15918 -252.50 72.50 32.50 1.89621 -252.50 72.50 37.50 1.54712 -252.50 72.50 42.50 1.13461 -252.50 72.50 47.50 0.65693 -252.50 72.50 52.50 0.325269 -252.50 72.50 57.50 0.127537 -252.50 72.50 62.50 0.0466107 -252.50 72.50 67.50 0.0259966 -252.50 72.50 72.50 0.0313554 -252.50 72.50 77.50 0.0299198 -252.50 72.50 82.50 0.040748 -252.50 72.50 87.50 0.0863504 -252.50 72.50 92.50 0.129042 -252.50 72.50 97.50 0.322875 -252.50 72.50 102.50 0.76945 -252.50 72.50 107.50 1.45062 -252.50 72.50 112.50 1.97596 -252.50 72.50 117.50 2.15918 -252.50 72.50 122.50 1.89621 -252.50 72.50 127.50 1.54712 -252.50 72.50 132.50 1.13461 -252.50 72.50 137.50 0.65693 -252.50 72.50 142.50 0.325269 -252.50 72.50 147.50 0.127537 -252.50 72.50 152.50 0.0466108 -252.50 72.50 157.50 0.0259966 -252.50 72.50 162.50 0.0313554 -252.50 72.50 167.50 0.0299198 -252.50 72.50 172.50 0.0407479 -252.50 72.50 177.50 0.0863503 -252.50 72.50 182.50 0.129042 -252.50 72.50 187.50 0.322875 -252.50 72.50 192.50 0.769451 -252.50 72.50 197.50 1.45062 -252.50 72.50 202.50 1.97596 -252.50 72.50 207.50 2.15918 -252.50 72.50 212.50 1.89621 -252.50 72.50 217.50 1.54712 -252.50 72.50 222.50 1.13461 -252.50 72.50 227.50 0.65693 -252.50 72.50 232.50 0.325268 -252.50 72.50 237.50 0.127536 -252.50 72.50 242.50 0.0466106 -252.50 72.50 247.50 0.0259966 -252.50 72.50 252.50 0.0313554 -252.50 72.50 257.50 0.0299198 -252.50 72.50 262.50 0.040748 -252.50 72.50 267.50 0.0863505 -252.50 72.50 272.50 0.129042 -252.50 72.50 277.50 0.322875 -252.50 72.50 282.50 0.769451 -252.50 72.50 287.50 1.45062 -252.50 72.50 292.50 1.97596 -252.50 72.50 297.50 2.15918 -252.50 72.50 302.50 1.89621 -252.50 72.50 307.50 1.54712 -252.50 72.50 312.50 1.13461 -252.50 72.50 317.50 0.656931 -252.50 72.50 322.50 0.32527 -252.50 72.50 327.50 0.127537 -252.50 72.50 332.50 0.0466109 -252.50 72.50 337.50 0.0259967 -252.50 72.50 342.50 0.0313554 -252.50 72.50 347.50 0.0299198 -252.50 72.50 352.50 0.0407479 -252.50 72.50 357.50 0.0863504 -252.50 77.50 2.50 0.148779 -252.50 77.50 7.50 0.366389 -252.50 77.50 12.50 0.886303 -252.50 77.50 17.50 1.79376 -252.50 77.50 22.50 2.56797 -252.50 77.50 27.50 2.89725 -252.50 77.50 32.50 2.8744 -252.50 77.50 37.50 2.56876 -252.50 77.50 42.50 2.0489 -252.50 77.50 47.50 1.49579 -252.50 77.50 52.50 0.875113 -252.50 77.50 57.50 0.424124 -252.50 77.50 62.50 0.177916 -252.50 77.50 67.50 0.0865853 -252.50 77.50 72.50 0.0698504 -252.50 77.50 77.50 0.0764477 -252.50 77.50 82.50 0.067778 -252.50 77.50 87.50 0.132643 -252.50 77.50 92.50 0.148779 -252.50 77.50 97.50 0.366389 -252.50 77.50 102.50 0.886304 -252.50 77.50 107.50 1.79376 -252.50 77.50 112.50 2.56797 -252.50 77.50 117.50 2.89725 -252.50 77.50 122.50 2.8744 -252.50 77.50 127.50 2.56876 -252.50 77.50 132.50 2.04889 -252.50 77.50 137.50 1.49579 -252.50 77.50 142.50 0.875113 -252.50 77.50 147.50 0.424124 -252.50 77.50 152.50 0.177916 -252.50 77.50 157.50 0.0865854 -252.50 77.50 162.50 0.0698504 -252.50 77.50 167.50 0.0764476 -252.50 77.50 172.50 0.067778 -252.50 77.50 177.50 0.132643 -252.50 77.50 182.50 0.148779 -252.50 77.50 187.50 0.36639 -252.50 77.50 192.50 0.886304 -252.50 77.50 197.50 1.79376 -252.50 77.50 202.50 2.56797 -252.50 77.50 207.50 2.89725 -252.50 77.50 212.50 2.8744 -252.50 77.50 217.50 2.56876 -252.50 77.50 222.50 2.04889 -252.50 77.50 227.50 1.49579 -252.50 77.50 232.50 0.875111 -252.50 77.50 237.50 0.424123 -252.50 77.50 242.50 0.177916 -252.50 77.50 247.50 0.0865852 -252.50 77.50 252.50 0.0698504 -252.50 77.50 257.50 0.0764477 -252.50 77.50 262.50 0.0677781 -252.50 77.50 267.50 0.132643 -252.50 77.50 272.50 0.148779 -252.50 77.50 277.50 0.366389 -252.50 77.50 282.50 0.886303 -252.50 77.50 287.50 1.79376 -252.50 77.50 292.50 2.56797 -252.50 77.50 297.50 2.89725 -252.50 77.50 302.50 2.8744 -252.50 77.50 307.50 2.56876 -252.50 77.50 312.50 2.04889 -252.50 77.50 317.50 1.4958 -252.50 77.50 322.50 0.875114 -252.50 77.50 327.50 0.424124 -252.50 77.50 332.50 0.177917 -252.50 77.50 337.50 0.0865854 -252.50 77.50 342.50 0.0698504 -252.50 77.50 347.50 0.0764477 -252.50 77.50 352.50 0.067778 -252.50 77.50 357.50 0.132643 -252.50 82.50 2.50 0.134121 -252.50 82.50 7.50 0.311888 -252.50 82.50 12.50 0.846376 -252.50 82.50 17.50 1.60965 -252.50 82.50 22.50 2.49788 -252.50 82.50 27.50 3.14582 -252.50 82.50 32.50 3.49901 -252.50 82.50 37.50 3.5934 -252.50 82.50 42.50 3.36894 -252.50 82.50 47.50 2.7458 -252.50 82.50 52.50 1.86968 -252.50 82.50 57.50 1.08022 -252.50 82.50 62.50 0.568254 -252.50 82.50 67.50 0.301386 -252.50 82.50 72.50 0.175414 -252.50 82.50 77.50 0.120436 -252.50 82.50 82.50 0.0979397 -252.50 82.50 87.50 0.108157 -252.50 82.50 92.50 0.134121 -252.50 82.50 97.50 0.311888 -252.50 82.50 102.50 0.846376 -252.50 82.50 107.50 1.60965 -252.50 82.50 112.50 2.49788 -252.50 82.50 117.50 3.14582 -252.50 82.50 122.50 3.49901 -252.50 82.50 127.50 3.5934 -252.50 82.50 132.50 3.36894 -252.50 82.50 137.50 2.7458 -252.50 82.50 142.50 1.86968 -252.50 82.50 147.50 1.08022 -252.50 82.50 152.50 0.568255 -252.50 82.50 157.50 0.301387 -252.50 82.50 162.50 0.175414 -252.50 82.50 167.50 0.120436 -252.50 82.50 172.50 0.0979397 -252.50 82.50 177.50 0.108157 -252.50 82.50 182.50 0.134121 -252.50 82.50 187.50 0.311888 -252.50 82.50 192.50 0.846376 -252.50 82.50 197.50 1.60965 -252.50 82.50 202.50 2.49788 -252.50 82.50 207.50 3.14582 -252.50 82.50 212.50 3.49901 -252.50 82.50 217.50 3.5934 -252.50 82.50 222.50 3.36894 -252.50 82.50 227.50 2.7458 -252.50 82.50 232.50 1.86968 -252.50 82.50 237.50 1.08022 -252.50 82.50 242.50 0.568254 -252.50 82.50 247.50 0.301386 -252.50 82.50 252.50 0.175413 -252.50 82.50 257.50 0.120436 -252.50 82.50 262.50 0.0979397 -252.50 82.50 267.50 0.108157 -252.50 82.50 272.50 0.134121 -252.50 82.50 277.50 0.311888 -252.50 82.50 282.50 0.846376 -252.50 82.50 287.50 1.60965 -252.50 82.50 292.50 2.49788 -252.50 82.50 297.50 3.14582 -252.50 82.50 302.50 3.49901 -252.50 82.50 307.50 3.5934 -252.50 82.50 312.50 3.36894 -252.50 82.50 317.50 2.7458 -252.50 82.50 322.50 1.86968 -252.50 82.50 327.50 1.08022 -252.50 82.50 332.50 0.568256 -252.50 82.50 337.50 0.301387 -252.50 82.50 342.50 0.175414 -252.50 82.50 347.50 0.120436 -252.50 82.50 352.50 0.0979397 -252.50 82.50 357.50 0.108157 -252.50 87.50 2.50 0.0872057 -252.50 87.50 7.50 0.216872 -252.50 87.50 12.50 0.542958 -252.50 87.50 17.50 1.13308 -252.50 87.50 22.50 1.83315 -252.50 87.50 27.50 2.65519 -252.50 87.50 32.50 3.36487 -252.50 87.50 37.50 3.88141 -252.50 87.50 42.50 4.11514 -252.50 87.50 47.50 3.87616 -252.50 87.50 52.50 3.1056 -252.50 87.50 57.50 2.10178 -252.50 87.50 62.50 1.28389 -252.50 87.50 67.50 0.756731 -252.50 87.50 72.50 0.440341 -252.50 87.50 77.50 0.247396 -252.50 87.50 82.50 0.129848 -252.50 87.50 87.50 0.0811657 -252.50 87.50 92.50 0.0872057 -252.50 87.50 97.50 0.216872 -252.50 87.50 102.50 0.542959 -252.50 87.50 107.50 1.13308 -252.50 87.50 112.50 1.83315 -252.50 87.50 117.50 2.65519 -252.50 87.50 122.50 3.36487 -252.50 87.50 127.50 3.88141 -252.50 87.50 132.50 4.11514 -252.50 87.50 137.50 3.87616 -252.50 87.50 142.50 3.1056 -252.50 87.50 147.50 2.10178 -252.50 87.50 152.50 1.28389 -252.50 87.50 157.50 0.756732 -252.50 87.50 162.50 0.440341 -252.50 87.50 167.50 0.247396 -252.50 87.50 172.50 0.129848 -252.50 87.50 177.50 0.0811658 -252.50 87.50 182.50 0.0872058 -252.50 87.50 187.50 0.216872 -252.50 87.50 192.50 0.542959 -252.50 87.50 197.50 1.13308 -252.50 87.50 202.50 1.83315 -252.50 87.50 207.50 2.65519 -252.50 87.50 212.50 3.36487 -252.50 87.50 217.50 3.88141 -252.50 87.50 222.50 4.11514 -252.50 87.50 227.50 3.87617 -252.50 87.50 232.50 3.1056 -252.50 87.50 237.50 2.10178 -252.50 87.50 242.50 1.28389 -252.50 87.50 247.50 0.756731 -252.50 87.50 252.50 0.440341 -252.50 87.50 257.50 0.247396 -252.50 87.50 262.50 0.129848 -252.50 87.50 267.50 0.0811657 -252.50 87.50 272.50 0.0872057 -252.50 87.50 277.50 0.216872 -252.50 87.50 282.50 0.542959 -252.50 87.50 287.50 1.13308 -252.50 87.50 292.50 1.83315 -252.50 87.50 297.50 2.65519 -252.50 87.50 302.50 3.36487 -252.50 87.50 307.50 3.88141 -252.50 87.50 312.50 4.11514 -252.50 87.50 317.50 3.87616 -252.50 87.50 322.50 3.1056 -252.50 87.50 327.50 2.10178 -252.50 87.50 332.50 1.28389 -252.50 87.50 337.50 0.756732 -252.50 87.50 342.50 0.440342 -252.50 87.50 347.50 0.247397 -252.50 87.50 352.50 0.129848 -252.50 87.50 357.50 0.0811657 -252.50 92.50 2.50 0.0624686 -252.50 92.50 7.50 0.102596 -252.50 92.50 12.50 0.24067 -252.50 92.50 17.50 0.527182 -252.50 92.50 22.50 0.990531 -252.50 92.50 27.50 1.58451 -252.50 92.50 32.50 2.28343 -252.50 92.50 37.50 3.12281 -252.50 92.50 42.50 3.95125 -252.50 92.50 47.50 4.32006 -252.50 92.50 52.50 3.95125 -252.50 92.50 57.50 3.12281 -252.50 92.50 62.50 2.28343 -252.50 92.50 67.50 1.58451 -252.50 92.50 72.50 0.990531 -252.50 92.50 77.50 0.527183 -252.50 92.50 82.50 0.24067 -252.50 92.50 87.50 0.102596 -252.50 92.50 92.50 0.0624686 -252.50 92.50 97.50 0.102596 -252.50 92.50 102.50 0.24067 -252.50 92.50 107.50 0.527183 -252.50 92.50 112.50 0.990531 -252.50 92.50 117.50 1.58451 -252.50 92.50 122.50 2.28343 -252.50 92.50 127.50 3.12281 -252.50 92.50 132.50 3.95126 -252.50 92.50 137.50 4.32006 -252.50 92.50 142.50 3.95126 -252.50 92.50 147.50 3.12281 -252.50 92.50 152.50 2.28343 -252.50 92.50 157.50 1.58451 -252.50 92.50 162.50 0.990532 -252.50 92.50 167.50 0.527183 -252.50 92.50 172.50 0.24067 -252.50 92.50 177.50 0.102596 -252.50 92.50 182.50 0.0624686 -252.50 92.50 187.50 0.102596 -252.50 92.50 192.50 0.24067 -252.50 92.50 197.50 0.527183 -252.50 92.50 202.50 0.990531 -252.50 92.50 207.50 1.58451 -252.50 92.50 212.50 2.28343 -252.50 92.50 217.50 3.12281 -252.50 92.50 222.50 3.95126 -252.50 92.50 227.50 4.32007 -252.50 92.50 232.50 3.95126 -252.50 92.50 237.50 3.1228 -252.50 92.50 242.50 2.28343 -252.50 92.50 247.50 1.58451 -252.50 92.50 252.50 0.99053 -252.50 92.50 257.50 0.527182 -252.50 92.50 262.50 0.24067 -252.50 92.50 267.50 0.102596 -252.50 92.50 272.50 0.0624686 -252.50 92.50 277.50 0.102596 -252.50 92.50 282.50 0.24067 -252.50 92.50 287.50 0.527182 -252.50 92.50 292.50 0.990531 -252.50 92.50 297.50 1.58451 -252.50 92.50 302.50 2.28343 -252.50 92.50 307.50 3.12281 -252.50 92.50 312.50 3.95125 -252.50 92.50 317.50 4.32006 -252.50 92.50 322.50 3.95126 -252.50 92.50 327.50 3.12281 -252.50 92.50 332.50 2.28343 -252.50 92.50 337.50 1.58451 -252.50 92.50 342.50 0.990533 -252.50 92.50 347.50 0.527184 -252.50 92.50 352.50 0.24067 -252.50 92.50 357.50 0.102596 -252.50 97.50 2.50 0.0872057 -252.50 97.50 7.50 0.0811657 -252.50 97.50 12.50 0.129848 -252.50 97.50 17.50 0.247396 -252.50 97.50 22.50 0.440341 -252.50 97.50 27.50 0.756732 -252.50 97.50 32.50 1.28389 -252.50 97.50 37.50 2.10178 -252.50 97.50 42.50 3.1056 -252.50 97.50 47.50 3.87616 -252.50 97.50 52.50 4.11515 -252.50 97.50 57.50 3.88141 -252.50 97.50 62.50 3.36487 -252.50 97.50 67.50 2.65519 -252.50 97.50 72.50 1.83315 -252.50 97.50 77.50 1.13308 -252.50 97.50 82.50 0.542958 -252.50 97.50 87.50 0.216871 -252.50 97.50 92.50 0.0872057 -252.50 97.50 97.50 0.0811657 -252.50 97.50 102.50 0.129848 -252.50 97.50 107.50 0.247396 -252.50 97.50 112.50 0.440341 -252.50 97.50 117.50 0.756732 -252.50 97.50 122.50 1.28389 -252.50 97.50 127.50 2.10178 -252.50 97.50 132.50 3.1056 -252.50 97.50 137.50 3.87616 -252.50 97.50 142.50 4.11514 -252.50 97.50 147.50 3.88141 -252.50 97.50 152.50 3.36487 -252.50 97.50 157.50 2.65519 -252.50 97.50 162.50 1.83315 -252.50 97.50 167.50 1.13308 -252.50 97.50 172.50 0.542959 -252.50 97.50 177.50 0.216872 -252.50 97.50 182.50 0.0872057 -252.50 97.50 187.50 0.0811657 -252.50 97.50 192.50 0.129848 -252.50 97.50 197.50 0.247396 -252.50 97.50 202.50 0.440341 -252.50 97.50 207.50 0.756732 -252.50 97.50 212.50 1.28389 -252.50 97.50 217.50 2.10178 -252.50 97.50 222.50 3.1056 -252.50 97.50 227.50 3.87616 -252.50 97.50 232.50 4.11515 -252.50 97.50 237.50 3.88141 -252.50 97.50 242.50 3.36487 -252.50 97.50 247.50 2.65519 -252.50 97.50 252.50 1.83315 -252.50 97.50 257.50 1.13308 -252.50 97.50 262.50 0.542958 -252.50 97.50 267.50 0.216871 -252.50 97.50 272.50 0.0872057 -252.50 97.50 277.50 0.0811657 -252.50 97.50 282.50 0.129848 -252.50 97.50 287.50 0.247396 -252.50 97.50 292.50 0.440341 -252.50 97.50 297.50 0.756732 -252.50 97.50 302.50 1.28389 -252.50 97.50 307.50 2.10178 -252.50 97.50 312.50 3.1056 -252.50 97.50 317.50 3.87616 -252.50 97.50 322.50 4.11515 -252.50 97.50 327.50 3.88141 -252.50 97.50 332.50 3.36487 -252.50 97.50 337.50 2.65519 -252.50 97.50 342.50 1.83315 -252.50 97.50 347.50 1.13308 -252.50 97.50 352.50 0.54296 -252.50 97.50 357.50 0.216872 -252.50 102.50 2.50 0.134121 -252.50 102.50 7.50 0.108157 -252.50 102.50 12.50 0.0979398 -252.50 102.50 17.50 0.120436 -252.50 102.50 22.50 0.175414 -252.50 102.50 27.50 0.301387 -252.50 102.50 32.50 0.568255 -252.50 102.50 37.50 1.08022 -252.50 102.50 42.50 1.86968 -252.50 102.50 47.50 2.7458 -252.50 102.50 52.50 3.36894 -252.50 102.50 57.50 3.5934 -252.50 102.50 62.50 3.49901 -252.50 102.50 67.50 3.14582 -252.50 102.50 72.50 2.49788 -252.50 102.50 77.50 1.60965 -252.50 102.50 82.50 0.846377 -252.50 102.50 87.50 0.311888 -252.50 102.50 92.50 0.134121 -252.50 102.50 97.50 0.108157 -252.50 102.50 102.50 0.0979398 -252.50 102.50 107.50 0.120436 -252.50 102.50 112.50 0.175414 -252.50 102.50 117.50 0.301387 -252.50 102.50 122.50 0.568256 -252.50 102.50 127.50 1.08022 -252.50 102.50 132.50 1.86968 -252.50 102.50 137.50 2.7458 -252.50 102.50 142.50 3.36895 -252.50 102.50 147.50 3.5934 -252.50 102.50 152.50 3.49901 -252.50 102.50 157.50 3.14581 -252.50 102.50 162.50 2.49788 -252.50 102.50 167.50 1.60965 -252.50 102.50 172.50 0.846376 -252.50 102.50 177.50 0.311888 -252.50 102.50 182.50 0.134121 -252.50 102.50 187.50 0.108157 -252.50 102.50 192.50 0.0979397 -252.50 102.50 197.50 0.120436 -252.50 102.50 202.50 0.175414 -252.50 102.50 207.50 0.301387 -252.50 102.50 212.50 0.568255 -252.50 102.50 217.50 1.08022 -252.50 102.50 222.50 1.86968 -252.50 102.50 227.50 2.7458 -252.50 102.50 232.50 3.36895 -252.50 102.50 237.50 3.5934 -252.50 102.50 242.50 3.49901 -252.50 102.50 247.50 3.14581 -252.50 102.50 252.50 2.49788 -252.50 102.50 257.50 1.60965 -252.50 102.50 262.50 0.846375 -252.50 102.50 267.50 0.311888 -252.50 102.50 272.50 0.134121 -252.50 102.50 277.50 0.108157 -252.50 102.50 282.50 0.0979398 -252.50 102.50 287.50 0.120436 -252.50 102.50 292.50 0.175414 -252.50 102.50 297.50 0.301387 -252.50 102.50 302.50 0.568255 -252.50 102.50 307.50 1.08022 -252.50 102.50 312.50 1.86968 -252.50 102.50 317.50 2.7458 -252.50 102.50 322.50 3.36894 -252.50 102.50 327.50 3.5934 -252.50 102.50 332.50 3.49901 -252.50 102.50 337.50 3.14582 -252.50 102.50 342.50 2.49788 -252.50 102.50 347.50 1.60965 -252.50 102.50 352.50 0.846377 -252.50 102.50 357.50 0.311889 -252.50 107.50 2.50 0.148779 -252.50 107.50 7.50 0.132643 -252.50 107.50 12.50 0.067778 -252.50 107.50 17.50 0.0764477 -252.50 107.50 22.50 0.0698504 -252.50 107.50 27.50 0.0865853 -252.50 107.50 32.50 0.177916 -252.50 107.50 37.50 0.424124 -252.50 107.50 42.50 0.875112 -252.50 107.50 47.50 1.49579 -252.50 107.50 52.50 2.0489 -252.50 107.50 57.50 2.56876 -252.50 107.50 62.50 2.8744 -252.50 107.50 67.50 2.89725 -252.50 107.50 72.50 2.56797 -252.50 107.50 77.50 1.79376 -252.50 107.50 82.50 0.886304 -252.50 107.50 87.50 0.366389 -252.50 107.50 92.50 0.148779 -252.50 107.50 97.50 0.132643 -252.50 107.50 102.50 0.0677781 -252.50 107.50 107.50 0.0764477 -252.50 107.50 112.50 0.0698504 -252.50 107.50 117.50 0.0865854 -252.50 107.50 122.50 0.177917 -252.50 107.50 127.50 0.424124 -252.50 107.50 132.50 0.875114 -252.50 107.50 137.50 1.49579 -252.50 107.50 142.50 2.04889 -252.50 107.50 147.50 2.56876 -252.50 107.50 152.50 2.8744 -252.50 107.50 157.50 2.89725 -252.50 107.50 162.50 2.56797 -252.50 107.50 167.50 1.79376 -252.50 107.50 172.50 0.886304 -252.50 107.50 177.50 0.36639 -252.50 107.50 182.50 0.148779 -252.50 107.50 187.50 0.132643 -252.50 107.50 192.50 0.0677781 -252.50 107.50 197.50 0.0764477 -252.50 107.50 202.50 0.0698504 -252.50 107.50 207.50 0.0865854 -252.50 107.50 212.50 0.177916 -252.50 107.50 217.50 0.424124 -252.50 107.50 222.50 0.875113 -252.50 107.50 227.50 1.49579 -252.50 107.50 232.50 2.0489 -252.50 107.50 237.50 2.56876 -252.50 107.50 242.50 2.8744 -252.50 107.50 247.50 2.89725 -252.50 107.50 252.50 2.56797 -252.50 107.50 257.50 1.79376 -252.50 107.50 262.50 0.886302 -252.50 107.50 267.50 0.366389 -252.50 107.50 272.50 0.148779 -252.50 107.50 277.50 0.132643 -252.50 107.50 282.50 0.067778 -252.50 107.50 287.50 0.0764476 -252.50 107.50 292.50 0.0698504 -252.50 107.50 297.50 0.0865853 -252.50 107.50 302.50 0.177916 -252.50 107.50 307.50 0.424123 -252.50 107.50 312.50 0.875112 -252.50 107.50 317.50 1.49579 -252.50 107.50 322.50 2.04889 -252.50 107.50 327.50 2.56875 -252.50 107.50 332.50 2.87439 -252.50 107.50 337.50 2.89725 -252.50 107.50 342.50 2.56798 -252.50 107.50 347.50 1.79376 -252.50 107.50 352.50 0.886306 -252.50 107.50 357.50 0.36639 -252.50 112.50 2.50 0.129042 -252.50 112.50 7.50 0.0863505 -252.50 112.50 12.50 0.0407479 -252.50 112.50 17.50 0.0299198 -252.50 112.50 22.50 0.0313554 -252.50 112.50 27.50 0.0259966 -252.50 112.50 32.50 0.0466107 -252.50 112.50 37.50 0.127537 -252.50 112.50 42.50 0.325269 -252.50 112.50 47.50 0.656931 -252.50 112.50 52.50 1.13461 -252.50 112.50 57.50 1.54712 -252.50 112.50 62.50 1.89621 -252.50 112.50 67.50 2.15918 -252.50 112.50 72.50 1.97596 -252.50 112.50 77.50 1.45062 -252.50 112.50 82.50 0.769451 -252.50 112.50 87.50 0.322875 -252.50 112.50 92.50 0.129042 -252.50 112.50 97.50 0.0863505 -252.50 112.50 102.50 0.040748 -252.50 112.50 107.50 0.0299198 -252.50 112.50 112.50 0.0313554 -252.50 112.50 117.50 0.0259966 -252.50 112.50 122.50 0.0466109 -252.50 112.50 127.50 0.127537 -252.50 112.50 132.50 0.32527 -252.50 112.50 137.50 0.656931 -252.50 112.50 142.50 1.13461 -252.50 112.50 147.50 1.54712 -252.50 112.50 152.50 1.89622 -252.50 112.50 157.50 2.15918 -252.50 112.50 162.50 1.97596 -252.50 112.50 167.50 1.45062 -252.50 112.50 172.50 0.769451 -252.50 112.50 177.50 0.322876 -252.50 112.50 182.50 0.129042 -252.50 112.50 187.50 0.0863505 -252.50 112.50 192.50 0.0407479 -252.50 112.50 197.50 0.0299198 -252.50 112.50 202.50 0.0313554 -252.50 112.50 207.50 0.0259967 -252.50 112.50 212.50 0.0466108 -252.50 112.50 217.50 0.127537 -252.50 112.50 222.50 0.325269 -252.50 112.50 227.50 0.656931 -252.50 112.50 232.50 1.13461 -252.50 112.50 237.50 1.54712 -252.50 112.50 242.50 1.89622 -252.50 112.50 247.50 2.15918 -252.50 112.50 252.50 1.97596 -252.50 112.50 257.50 1.45062 -252.50 112.50 262.50 0.76945 -252.50 112.50 267.50 0.322875 -252.50 112.50 272.50 0.129042 -252.50 112.50 277.50 0.0863505 -252.50 112.50 282.50 0.0407479 -252.50 112.50 287.50 0.0299198 -252.50 112.50 292.50 0.0313554 -252.50 112.50 297.50 0.0259966 -252.50 112.50 302.50 0.0466107 -252.50 112.50 307.50 0.127537 -252.50 112.50 312.50 0.325269 -252.50 112.50 317.50 0.65693 -252.50 112.50 322.50 1.13461 -252.50 112.50 327.50 1.54712 -252.50 112.50 332.50 1.89621 -252.50 112.50 337.50 2.15918 -252.50 112.50 342.50 1.97596 -252.50 112.50 347.50 1.45063 -252.50 112.50 352.50 0.769452 -252.50 112.50 357.50 0.322876 -252.50 117.50 2.50 0.114009 -252.50 117.50 7.50 0.0458691 -252.50 117.50 12.50 0.0195529 -252.50 117.50 17.50 0.00927381 -252.50 117.50 22.50 0.00704929 -252.50 117.50 27.50 0.00773659 -252.50 117.50 32.50 0.011279 -252.50 117.50 37.50 0.0361208 -252.50 117.50 42.50 0.105781 -252.50 117.50 47.50 0.25155 -252.50 117.50 52.50 0.461553 -252.50 117.50 57.50 0.693071 -252.50 117.50 62.50 0.945086 -252.50 117.50 67.50 1.10873 -252.50 117.50 72.50 1.14987 -252.50 117.50 77.50 0.940721 -252.50 117.50 82.50 0.571641 -252.50 117.50 87.50 0.265949 -252.50 117.50 92.50 0.114009 -252.50 117.50 97.50 0.0458691 -252.50 117.50 102.50 0.0195529 -252.50 117.50 107.50 0.00927382 -252.50 117.50 112.50 0.0070493 -252.50 117.50 117.50 0.0077366 -252.50 117.50 122.50 0.011279 -252.50 117.50 127.50 0.0361209 -252.50 117.50 132.50 0.105781 -252.50 117.50 137.50 0.25155 -252.50 117.50 142.50 0.461553 -252.50 117.50 147.50 0.693071 -252.50 117.50 152.50 0.945085 -252.50 117.50 157.50 1.10873 -252.50 117.50 162.50 1.14987 -252.50 117.50 167.50 0.940721 -252.50 117.50 172.50 0.571641 -252.50 117.50 177.50 0.265949 -252.50 117.50 182.50 0.114009 -252.50 117.50 187.50 0.0458691 -252.50 117.50 192.50 0.0195529 -252.50 117.50 197.50 0.00927382 -252.50 117.50 202.50 0.00704931 -252.50 117.50 207.50 0.00773661 -252.50 117.50 212.50 0.011279 -252.50 117.50 217.50 0.0361208 -252.50 117.50 222.50 0.105781 -252.50 117.50 227.50 0.25155 -252.50 117.50 232.50 0.461554 -252.50 117.50 237.50 0.693071 -252.50 117.50 242.50 0.945086 -252.50 117.50 247.50 1.10873 -252.50 117.50 252.50 1.14987 -252.50 117.50 257.50 0.94072 -252.50 117.50 262.50 0.57164 -252.50 117.50 267.50 0.265949 -252.50 117.50 272.50 0.114009 -252.50 117.50 277.50 0.0458691 -252.50 117.50 282.50 0.0195529 -252.50 117.50 287.50 0.00927381 -252.50 117.50 292.50 0.0070493 -252.50 117.50 297.50 0.00773661 -252.50 117.50 302.50 0.011279 -252.50 117.50 307.50 0.0361207 -252.50 117.50 312.50 0.105781 -252.50 117.50 317.50 0.251549 -252.50 117.50 322.50 0.461553 -252.50 117.50 327.50 0.69307 -252.50 117.50 332.50 0.945085 -252.50 117.50 337.50 1.10873 -252.50 117.50 342.50 1.14987 -252.50 117.50 347.50 0.940722 -252.50 117.50 352.50 0.571641 -252.50 117.50 357.50 0.26595 -252.50 122.50 2.50 0.102728 -252.50 122.50 7.50 0.0314926 -252.50 122.50 12.50 0.0115097 -252.50 122.50 17.50 0.00822498 -252.50 122.50 22.50 0.0102271 -252.50 122.50 27.50 0.0121879 -252.50 122.50 32.50 0.0153424 -252.50 122.50 37.50 0.0244175 -252.50 122.50 42.50 0.0388129 -252.50 122.50 47.50 0.0695903 -252.50 122.50 52.50 0.124174 -252.50 122.50 57.50 0.221576 -252.50 122.50 62.50 0.326203 -252.50 122.50 67.50 0.449163 -252.50 122.50 72.50 0.562697 -252.50 122.50 77.50 0.516926 -252.50 122.50 82.50 0.353436 -252.50 122.50 87.50 0.213676 -252.50 122.50 92.50 0.102728 -252.50 122.50 97.50 0.0314926 -252.50 122.50 102.50 0.0115097 -252.50 122.50 107.50 0.00822496 -252.50 122.50 112.50 0.0102271 -252.50 122.50 117.50 0.0121879 -252.50 122.50 122.50 0.0153424 -252.50 122.50 127.50 0.0244175 -252.50 122.50 132.50 0.0388129 -252.50 122.50 137.50 0.0695904 -252.50 122.50 142.50 0.124174 -252.50 122.50 147.50 0.221576 -252.50 122.50 152.50 0.326203 -252.50 122.50 157.50 0.449163 -252.50 122.50 162.50 0.562697 -252.50 122.50 167.50 0.516927 -252.50 122.50 172.50 0.353436 -252.50 122.50 177.50 0.213676 -252.50 122.50 182.50 0.102728 -252.50 122.50 187.50 0.0314926 -252.50 122.50 192.50 0.0115096 -252.50 122.50 197.50 0.00822497 -252.50 122.50 202.50 0.0102271 -252.50 122.50 207.50 0.0121879 -252.50 122.50 212.50 0.0153424 -252.50 122.50 217.50 0.0244175 -252.50 122.50 222.50 0.0388128 -252.50 122.50 227.50 0.0695903 -252.50 122.50 232.50 0.124174 -252.50 122.50 237.50 0.221576 -252.50 122.50 242.50 0.326203 -252.50 122.50 247.50 0.449163 -252.50 122.50 252.50 0.562697 -252.50 122.50 257.50 0.516927 -252.50 122.50 262.50 0.353435 -252.50 122.50 267.50 0.213676 -252.50 122.50 272.50 0.102728 -252.50 122.50 277.50 0.0314926 -252.50 122.50 282.50 0.0115096 -252.50 122.50 287.50 0.00822497 -252.50 122.50 292.50 0.0102271 -252.50 122.50 297.50 0.0121879 -252.50 122.50 302.50 0.0153424 -252.50 122.50 307.50 0.0244175 -252.50 122.50 312.50 0.0388128 -252.50 122.50 317.50 0.0695903 -252.50 122.50 322.50 0.124174 -252.50 122.50 327.50 0.221576 -252.50 122.50 332.50 0.326202 -252.50 122.50 337.50 0.449163 -252.50 122.50 342.50 0.562697 -252.50 122.50 347.50 0.516926 -252.50 122.50 352.50 0.353436 -252.50 122.50 357.50 0.213676 -252.50 127.50 2.50 0.0713706 -252.50 127.50 7.50 0.0242699 -252.50 127.50 12.50 0.0120017 -252.50 127.50 17.50 0.0227841 -252.50 127.50 22.50 0.0469155 -252.50 127.50 27.50 0.0714025 -252.50 127.50 32.50 0.0887259 -252.50 127.50 37.50 0.0792813 -252.50 127.50 42.50 0.0601425 -252.50 127.50 47.50 0.047718 -252.50 127.50 52.50 0.034129 -252.50 127.50 57.50 0.0458996 -252.50 127.50 62.50 0.0892547 -252.50 127.50 67.50 0.152117 -252.50 127.50 72.50 0.214172 -252.50 127.50 77.50 0.222721 -252.50 127.50 82.50 0.188219 -252.50 127.50 87.50 0.140073 -252.50 127.50 92.50 0.0713706 -252.50 127.50 97.50 0.0242699 -252.50 127.50 102.50 0.0120017 -252.50 127.50 107.50 0.022784 -252.50 127.50 112.50 0.0469155 -252.50 127.50 117.50 0.0714024 -252.50 127.50 122.50 0.0887258 -252.50 127.50 127.50 0.0792813 -252.50 127.50 132.50 0.0601425 -252.50 127.50 137.50 0.047718 -252.50 127.50 142.50 0.034129 -252.50 127.50 147.50 0.0458996 -252.50 127.50 152.50 0.0892548 -252.50 127.50 157.50 0.152117 -252.50 127.50 162.50 0.214172 -252.50 127.50 167.50 0.222721 -252.50 127.50 172.50 0.188219 -252.50 127.50 177.50 0.140073 -252.50 127.50 182.50 0.0713705 -252.50 127.50 187.50 0.0242698 -252.50 127.50 192.50 0.0120017 -252.50 127.50 197.50 0.022784 -252.50 127.50 202.50 0.0469155 -252.50 127.50 207.50 0.0714023 -252.50 127.50 212.50 0.0887259 -252.50 127.50 217.50 0.0792813 -252.50 127.50 222.50 0.0601425 -252.50 127.50 227.50 0.0477181 -252.50 127.50 232.50 0.034129 -252.50 127.50 237.50 0.0458996 -252.50 127.50 242.50 0.0892548 -252.50 127.50 247.50 0.152117 -252.50 127.50 252.50 0.214172 -252.50 127.50 257.50 0.222721 -252.50 127.50 262.50 0.188219 -252.50 127.50 267.50 0.140073 -252.50 127.50 272.50 0.0713706 -252.50 127.50 277.50 0.0242699 -252.50 127.50 282.50 0.0120017 -252.50 127.50 287.50 0.0227841 -252.50 127.50 292.50 0.0469155 -252.50 127.50 297.50 0.0714024 -252.50 127.50 302.50 0.088726 -252.50 127.50 307.50 0.0792814 -252.50 127.50 312.50 0.0601425 -252.50 127.50 317.50 0.0477181 -252.50 127.50 322.50 0.034129 -252.50 127.50 327.50 0.0458995 -252.50 127.50 332.50 0.0892546 -252.50 127.50 337.50 0.152116 -252.50 127.50 342.50 0.214172 -252.50 127.50 347.50 0.222721 -252.50 127.50 352.50 0.188219 -252.50 127.50 357.50 0.140073 -252.50 132.50 2.50 0.0345643 -252.50 132.50 7.50 0.0219592 -252.50 132.50 12.50 0.0338908 -252.50 132.50 17.50 0.0618642 -252.50 132.50 22.50 0.163165 -252.50 132.50 27.50 0.318524 -252.50 132.50 32.50 0.432883 -252.50 132.50 37.50 0.395714 -252.50 132.50 42.50 0.274639 -252.50 132.50 47.50 0.16975 -252.50 132.50 52.50 0.0811809 -252.50 132.50 57.50 0.0357744 -252.50 132.50 62.50 0.027975 -252.50 132.50 67.50 0.0404361 -252.50 132.50 72.50 0.0565859 -252.50 132.50 77.50 0.072512 -252.50 132.50 82.50 0.0811077 -252.50 132.50 87.50 0.0653339 -252.50 132.50 92.50 0.0345643 -252.50 132.50 97.50 0.0219592 -252.50 132.50 102.50 0.0338908 -252.50 132.50 107.50 0.0618642 -252.50 132.50 112.50 0.163165 -252.50 132.50 117.50 0.318524 -252.50 132.50 122.50 0.432882 -252.50 132.50 127.50 0.395714 -252.50 132.50 132.50 0.274639 -252.50 132.50 137.50 0.16975 -252.50 132.50 142.50 0.0811809 -252.50 132.50 147.50 0.0357744 -252.50 132.50 152.50 0.0279751 -252.50 132.50 157.50 0.0404361 -252.50 132.50 162.50 0.0565859 -252.50 132.50 167.50 0.0725121 -252.50 132.50 172.50 0.0811077 -252.50 132.50 177.50 0.0653338 -252.50 132.50 182.50 0.0345642 -252.50 132.50 187.50 0.0219592 -252.50 132.50 192.50 0.0338908 -252.50 132.50 197.50 0.0618641 -252.50 132.50 202.50 0.163165 -252.50 132.50 207.50 0.318524 -252.50 132.50 212.50 0.432883 -252.50 132.50 217.50 0.395714 -252.50 132.50 222.50 0.274639 -252.50 132.50 227.50 0.169751 -252.50 132.50 232.50 0.0811806 -252.50 132.50 237.50 0.0357743 -252.50 132.50 242.50 0.0279751 -252.50 132.50 247.50 0.0404361 -252.50 132.50 252.50 0.0565859 -252.50 132.50 257.50 0.0725121 -252.50 132.50 262.50 0.0811078 -252.50 132.50 267.50 0.0653338 -252.50 132.50 272.50 0.0345642 -252.50 132.50 277.50 0.0219592 -252.50 132.50 282.50 0.0338908 -252.50 132.50 287.50 0.0618641 -252.50 132.50 292.50 0.163165 -252.50 132.50 297.50 0.318524 -252.50 132.50 302.50 0.432883 -252.50 132.50 307.50 0.395714 -252.50 132.50 312.50 0.274639 -252.50 132.50 317.50 0.16975 -252.50 132.50 322.50 0.081181 -252.50 132.50 327.50 0.0357744 -252.50 132.50 332.50 0.027975 -252.50 132.50 337.50 0.0404359 -252.50 132.50 342.50 0.0565858 -252.50 132.50 347.50 0.072512 -252.50 132.50 352.50 0.0811077 -252.50 132.50 357.50 0.0653339 -252.50 137.50 2.50 0.0195997 -252.50 137.50 7.50 0.0394376 -252.50 137.50 12.50 0.101402 -252.50 137.50 17.50 0.196214 -252.50 137.50 22.50 0.419285 -252.50 137.50 27.50 0.885198 -252.50 137.50 32.50 1.29353 -252.50 137.50 37.50 1.34303 -252.50 137.50 42.50 1.02135 -252.50 137.50 47.50 0.669526 -252.50 137.50 52.50 0.296556 -252.50 137.50 57.50 0.139446 -252.50 137.50 62.50 0.0567505 -252.50 137.50 67.50 0.0314306 -252.50 137.50 72.50 0.0200299 -252.50 137.50 77.50 0.0244227 -252.50 137.50 82.50 0.0301616 -252.50 137.50 87.50 0.0236699 -252.50 137.50 92.50 0.0195997 -252.50 137.50 97.50 0.0394376 -252.50 137.50 102.50 0.101401 -252.50 137.50 107.50 0.196214 -252.50 137.50 112.50 0.419284 -252.50 137.50 117.50 0.885197 -252.50 137.50 122.50 1.29353 -252.50 137.50 127.50 1.34304 -252.50 137.50 132.50 1.02135 -252.50 137.50 137.50 0.669526 -252.50 137.50 142.50 0.296556 -252.50 137.50 147.50 0.139446 -252.50 137.50 152.50 0.0567506 -252.50 137.50 157.50 0.0314306 -252.50 137.50 162.50 0.0200299 -252.50 137.50 167.50 0.0244227 -252.50 137.50 172.50 0.0301616 -252.50 137.50 177.50 0.0236699 -252.50 137.50 182.50 0.0195997 -252.50 137.50 187.50 0.0394375 -252.50 137.50 192.50 0.101401 -252.50 137.50 197.50 0.196214 -252.50 137.50 202.50 0.419285 -252.50 137.50 207.50 0.885197 -252.50 137.50 212.50 1.29353 -252.50 137.50 217.50 1.34304 -252.50 137.50 222.50 1.02135 -252.50 137.50 227.50 0.669526 -252.50 137.50 232.50 0.296556 -252.50 137.50 237.50 0.139446 -252.50 137.50 242.50 0.0567505 -252.50 137.50 247.50 0.0314306 -252.50 137.50 252.50 0.0200299 -252.50 137.50 257.50 0.0244227 -252.50 137.50 262.50 0.0301616 -252.50 137.50 267.50 0.0236699 -252.50 137.50 272.50 0.0195997 -252.50 137.50 277.50 0.0394376 -252.50 137.50 282.50 0.101402 -252.50 137.50 287.50 0.196214 -252.50 137.50 292.50 0.419284 -252.50 137.50 297.50 0.885196 -252.50 137.50 302.50 1.29353 -252.50 137.50 307.50 1.34304 -252.50 137.50 312.50 1.02135 -252.50 137.50 317.50 0.669526 -252.50 137.50 322.50 0.296557 -252.50 137.50 327.50 0.139446 -252.50 137.50 332.50 0.0567506 -252.50 137.50 337.50 0.0314307 -252.50 137.50 342.50 0.0200299 -252.50 137.50 347.50 0.0244227 -252.50 137.50 352.50 0.0301616 -252.50 137.50 357.50 0.0236699 -252.50 142.50 2.50 0.0345643 -252.50 142.50 7.50 0.0948683 -252.50 142.50 12.50 0.24113 -252.50 142.50 17.50 0.472255 -252.50 142.50 22.50 0.938531 -252.50 142.50 27.50 1.79232 -252.50 142.50 32.50 2.68864 -252.50 142.50 37.50 2.96787 -252.50 142.50 42.50 2.55221 -252.50 142.50 47.50 1.67451 -252.50 142.50 52.50 0.849689 -252.50 142.50 57.50 0.377633 -252.50 142.50 62.50 0.191638 -252.50 142.50 67.50 0.100083 -252.50 142.50 72.50 0.0446951 -252.50 142.50 77.50 0.0254292 -252.50 142.50 82.50 0.0256804 -252.50 142.50 87.50 0.0229548 -252.50 142.50 92.50 0.0345643 -252.50 142.50 97.50 0.0948683 -252.50 142.50 102.50 0.241131 -252.50 142.50 107.50 0.472255 -252.50 142.50 112.50 0.938531 -252.50 142.50 117.50 1.79232 -252.50 142.50 122.50 2.68864 -252.50 142.50 127.50 2.96787 -252.50 142.50 132.50 2.55221 -252.50 142.50 137.50 1.67451 -252.50 142.50 142.50 0.849689 -252.50 142.50 147.50 0.377634 -252.50 142.50 152.50 0.191638 -252.50 142.50 157.50 0.100083 -252.50 142.50 162.50 0.0446951 -252.50 142.50 167.50 0.0254292 -252.50 142.50 172.50 0.0256804 -252.50 142.50 177.50 0.0229548 -252.50 142.50 182.50 0.0345643 -252.50 142.50 187.50 0.0948683 -252.50 142.50 192.50 0.24113 -252.50 142.50 197.50 0.472254 -252.50 142.50 202.50 0.938531 -252.50 142.50 207.50 1.79232 -252.50 142.50 212.50 2.68864 -252.50 142.50 217.50 2.96787 -252.50 142.50 222.50 2.55221 -252.50 142.50 227.50 1.67451 -252.50 142.50 232.50 0.849687 -252.50 142.50 237.50 0.377633 -252.50 142.50 242.50 0.191638 -252.50 142.50 247.50 0.100083 -252.50 142.50 252.50 0.044695 -252.50 142.50 257.50 0.0254292 -252.50 142.50 262.50 0.0256804 -252.50 142.50 267.50 0.0229548 -252.50 142.50 272.50 0.0345643 -252.50 142.50 277.50 0.0948683 -252.50 142.50 282.50 0.24113 -252.50 142.50 287.50 0.472254 -252.50 142.50 292.50 0.938531 -252.50 142.50 297.50 1.79232 -252.50 142.50 302.50 2.68864 -252.50 142.50 307.50 2.96787 -252.50 142.50 312.50 2.55221 -252.50 142.50 317.50 1.67451 -252.50 142.50 322.50 0.84969 -252.50 142.50 327.50 0.377635 -252.50 142.50 332.50 0.191639 -252.50 142.50 337.50 0.100083 -252.50 142.50 342.50 0.0446953 -252.50 142.50 347.50 0.0254292 -252.50 142.50 352.50 0.0256804 -252.50 142.50 357.50 0.0229548 -252.50 147.50 2.50 0.0713706 -252.50 147.50 7.50 0.177886 -252.50 147.50 12.50 0.428475 -252.50 147.50 17.50 0.828673 -252.50 147.50 22.50 1.59221 -252.50 147.50 27.50 2.84538 -252.50 147.50 32.50 4.07671 -252.50 147.50 37.50 4.56821 -252.50 147.50 42.50 4.03678 -252.50 147.50 47.50 2.82789 -252.50 147.50 52.50 1.56298 -252.50 147.50 57.50 0.776166 -252.50 147.50 62.50 0.436574 -252.50 147.50 67.50 0.262051 -252.50 147.50 72.50 0.137846 -252.50 147.50 77.50 0.0752979 -252.50 147.50 82.50 0.0577004 -252.50 147.50 87.50 0.0481648 -252.50 147.50 92.50 0.0713707 -252.50 147.50 97.50 0.177886 -252.50 147.50 102.50 0.428475 -252.50 147.50 107.50 0.828673 -252.50 147.50 112.50 1.59221 -252.50 147.50 117.50 2.84538 -252.50 147.50 122.50 4.07671 -252.50 147.50 127.50 4.56821 -252.50 147.50 132.50 4.03678 -252.50 147.50 137.50 2.82789 -252.50 147.50 142.50 1.56298 -252.50 147.50 147.50 0.776166 -252.50 147.50 152.50 0.436574 -252.50 147.50 157.50 0.262052 -252.50 147.50 162.50 0.137846 -252.50 147.50 167.50 0.0752979 -252.50 147.50 172.50 0.0577004 -252.50 147.50 177.50 0.0481647 -252.50 147.50 182.50 0.0713706 -252.50 147.50 187.50 0.177886 -252.50 147.50 192.50 0.428475 -252.50 147.50 197.50 0.828673 -252.50 147.50 202.50 1.59221 -252.50 147.50 207.50 2.84538 -252.50 147.50 212.50 4.07671 -252.50 147.50 217.50 4.56821 -252.50 147.50 222.50 4.03678 -252.50 147.50 227.50 2.82789 -252.50 147.50 232.50 1.56297 -252.50 147.50 237.50 0.776165 -252.50 147.50 242.50 0.436573 -252.50 147.50 247.50 0.262051 -252.50 147.50 252.50 0.137846 -252.50 147.50 257.50 0.0752979 -252.50 147.50 262.50 0.0577004 -252.50 147.50 267.50 0.0481647 -252.50 147.50 272.50 0.0713706 -252.50 147.50 277.50 0.177886 -252.50 147.50 282.50 0.428475 -252.50 147.50 287.50 0.828672 -252.50 147.50 292.50 1.59221 -252.50 147.50 297.50 2.84538 -252.50 147.50 302.50 4.07671 -252.50 147.50 307.50 4.56821 -252.50 147.50 312.50 4.03678 -252.50 147.50 317.50 2.82789 -252.50 147.50 322.50 1.56298 -252.50 147.50 327.50 0.776168 -252.50 147.50 332.50 0.436574 -252.50 147.50 337.50 0.262052 -252.50 147.50 342.50 0.137846 -252.50 147.50 347.50 0.075298 -252.50 147.50 352.50 0.0577004 -252.50 147.50 357.50 0.0481648 -252.50 152.50 2.50 0.102728 -252.50 152.50 7.50 0.222408 -252.50 152.50 12.50 0.528282 -252.50 152.50 17.50 1.02982 -252.50 152.50 22.50 1.9346 -252.50 152.50 27.50 3.3845 -252.50 152.50 32.50 4.65189 -252.50 152.50 37.50 5.20994 -252.50 152.50 42.50 4.72297 -252.50 152.50 47.50 3.42852 -252.50 152.50 52.50 2.04157 -252.50 152.50 57.50 1.15908 -252.50 152.50 62.50 0.733516 -252.50 152.50 67.50 0.522996 -252.50 152.50 72.50 0.338362 -252.50 152.50 77.50 0.19226 -252.50 152.50 82.50 0.117217 -252.50 152.50 87.50 0.0796682 -252.50 152.50 92.50 0.102728 -252.50 152.50 97.50 0.222408 -252.50 152.50 102.50 0.528282 -252.50 152.50 107.50 1.02982 -252.50 152.50 112.50 1.9346 -252.50 152.50 117.50 3.3845 -252.50 152.50 122.50 4.65189 -252.50 152.50 127.50 5.20994 -252.50 152.50 132.50 4.72298 -252.50 152.50 137.50 3.42852 -252.50 152.50 142.50 2.04157 -252.50 152.50 147.50 1.15908 -252.50 152.50 152.50 0.733517 -252.50 152.50 157.50 0.522996 -252.50 152.50 162.50 0.338362 -252.50 152.50 167.50 0.19226 -252.50 152.50 172.50 0.117217 -252.50 152.50 177.50 0.0796682 -252.50 152.50 182.50 0.102728 -252.50 152.50 187.50 0.222409 -252.50 152.50 192.50 0.528282 -252.50 152.50 197.50 1.02982 -252.50 152.50 202.50 1.9346 -252.50 152.50 207.50 3.3845 -252.50 152.50 212.50 4.65189 -252.50 152.50 217.50 5.20994 -252.50 152.50 222.50 4.72298 -252.50 152.50 227.50 3.42852 -252.50 152.50 232.50 2.04156 -252.50 152.50 237.50 1.15908 -252.50 152.50 242.50 0.733516 -252.50 152.50 247.50 0.522996 -252.50 152.50 252.50 0.338362 -252.50 152.50 257.50 0.192259 -252.50 152.50 262.50 0.117217 -252.50 152.50 267.50 0.0796681 -252.50 152.50 272.50 0.102728 -252.50 152.50 277.50 0.222408 -252.50 152.50 282.50 0.528282 -252.50 152.50 287.50 1.02982 -252.50 152.50 292.50 1.9346 -252.50 152.50 297.50 3.3845 -252.50 152.50 302.50 4.65189 -252.50 152.50 307.50 5.20994 -252.50 152.50 312.50 4.72298 -252.50 152.50 317.50 3.42852 -252.50 152.50 322.50 2.04157 -252.50 152.50 327.50 1.15908 -252.50 152.50 332.50 0.733517 -252.50 152.50 337.50 0.522997 -252.50 152.50 342.50 0.338363 -252.50 152.50 347.50 0.19226 -252.50 152.50 352.50 0.117217 -252.50 152.50 357.50 0.0796682 -252.50 157.50 2.50 0.114009 -252.50 157.50 7.50 0.199352 -252.50 157.50 12.50 0.46717 -252.50 157.50 17.50 0.924206 -252.50 157.50 22.50 1.7273 -252.50 157.50 27.50 2.88921 -252.50 157.50 32.50 4.01069 -252.50 157.50 37.50 4.44844 -252.50 157.50 42.50 4.10408 -252.50 157.50 47.50 3.12498 -252.50 157.50 52.50 2.02416 -252.50 157.50 57.50 1.30349 -252.50 157.50 62.50 0.979364 -252.50 157.50 67.50 0.830491 -252.50 157.50 72.50 0.62124 -252.50 157.50 77.50 0.380762 -252.50 157.50 82.50 0.209396 -252.50 157.50 87.50 0.118439 -252.50 157.50 92.50 0.114009 -252.50 157.50 97.50 0.199352 -252.50 157.50 102.50 0.46717 -252.50 157.50 107.50 0.924206 -252.50 157.50 112.50 1.7273 -252.50 157.50 117.50 2.88921 -252.50 157.50 122.50 4.01069 -252.50 157.50 127.50 4.44844 -252.50 157.50 132.50 4.10408 -252.50 157.50 137.50 3.12498 -252.50 157.50 142.50 2.02416 -252.50 157.50 147.50 1.30349 -252.50 157.50 152.50 0.979365 -252.50 157.50 157.50 0.830491 -252.50 157.50 162.50 0.62124 -252.50 157.50 167.50 0.380762 -252.50 157.50 172.50 0.209396 -252.50 157.50 177.50 0.11844 -252.50 157.50 182.50 0.114009 -252.50 157.50 187.50 0.199352 -252.50 157.50 192.50 0.46717 -252.50 157.50 197.50 0.924206 -252.50 157.50 202.50 1.7273 -252.50 157.50 207.50 2.88921 -252.50 157.50 212.50 4.01069 -252.50 157.50 217.50 4.44844 -252.50 157.50 222.50 4.10408 -252.50 157.50 227.50 3.12498 -252.50 157.50 232.50 2.02416 -252.50 157.50 237.50 1.30349 -252.50 157.50 242.50 0.979365 -252.50 157.50 247.50 0.830492 -252.50 157.50 252.50 0.62124 -252.50 157.50 257.50 0.380762 -252.50 157.50 262.50 0.209395 -252.50 157.50 267.50 0.118439 -252.50 157.50 272.50 0.114009 -252.50 157.50 277.50 0.199352 -252.50 157.50 282.50 0.46717 -252.50 157.50 287.50 0.924205 -252.50 157.50 292.50 1.7273 -252.50 157.50 297.50 2.88921 -252.50 157.50 302.50 4.01068 -252.50 157.50 307.50 4.44844 -252.50 157.50 312.50 4.10408 -252.50 157.50 317.50 3.12498 -252.50 157.50 322.50 2.02416 -252.50 157.50 327.50 1.30349 -252.50 157.50 332.50 0.979365 -252.50 157.50 337.50 0.830492 -252.50 157.50 342.50 0.621241 -252.50 157.50 347.50 0.380762 -252.50 157.50 352.50 0.209396 -252.50 157.50 357.50 0.11844 -252.50 162.50 2.50 0.129042 -252.50 162.50 7.50 0.169802 -252.50 162.50 12.50 0.353566 -252.50 162.50 17.50 0.70176 -252.50 162.50 22.50 1.19702 -252.50 162.50 27.50 1.8723 -252.50 162.50 32.50 2.5111 -252.50 162.50 37.50 2.87762 -252.50 162.50 42.50 2.74521 -252.50 162.50 47.50 2.14441 -252.50 162.50 52.50 1.51677 -252.50 162.50 57.50 1.15056 -252.50 162.50 62.50 1.05452 -252.50 162.50 67.50 1.03817 -252.50 162.50 72.50 0.877146 -252.50 162.50 77.50 0.578688 -252.50 162.50 82.50 0.330343 -252.50 162.50 87.50 0.180575 -252.50 162.50 92.50 0.129042 -252.50 162.50 97.50 0.169802 -252.50 162.50 102.50 0.353566 -252.50 162.50 107.50 0.701761 -252.50 162.50 112.50 1.19702 -252.50 162.50 117.50 1.8723 -252.50 162.50 122.50 2.5111 -252.50 162.50 127.50 2.87762 -252.50 162.50 132.50 2.74521 -252.50 162.50 137.50 2.14441 -252.50 162.50 142.50 1.51677 -252.50 162.50 147.50 1.15056 -252.50 162.50 152.50 1.05452 -252.50 162.50 157.50 1.03817 -252.50 162.50 162.50 0.877146 -252.50 162.50 167.50 0.578688 -252.50 162.50 172.50 0.330343 -252.50 162.50 177.50 0.180575 -252.50 162.50 182.50 0.129042 -252.50 162.50 187.50 0.169802 -252.50 162.50 192.50 0.353566 -252.50 162.50 197.50 0.701761 -252.50 162.50 202.50 1.19702 -252.50 162.50 207.50 1.8723 -252.50 162.50 212.50 2.5111 -252.50 162.50 217.50 2.87762 -252.50 162.50 222.50 2.74521 -252.50 162.50 227.50 2.14441 -252.50 162.50 232.50 1.51677 -252.50 162.50 237.50 1.15056 -252.50 162.50 242.50 1.05452 -252.50 162.50 247.50 1.03817 -252.50 162.50 252.50 0.877146 -252.50 162.50 257.50 0.578688 -252.50 162.50 262.50 0.330342 -252.50 162.50 267.50 0.180575 -252.50 162.50 272.50 0.129042 -252.50 162.50 277.50 0.169802 -252.50 162.50 282.50 0.353566 -252.50 162.50 287.50 0.70176 -252.50 162.50 292.50 1.19702 -252.50 162.50 297.50 1.8723 -252.50 162.50 302.50 2.5111 -252.50 162.50 307.50 2.87762 -252.50 162.50 312.50 2.74521 -252.50 162.50 317.50 2.14441 -252.50 162.50 322.50 1.51677 -252.50 162.50 327.50 1.15056 -252.50 162.50 332.50 1.05452 -252.50 162.50 337.50 1.03817 -252.50 162.50 342.50 0.877148 -252.50 162.50 347.50 0.578689 -252.50 162.50 352.50 0.330343 -252.50 162.50 357.50 0.180575 -252.50 167.50 2.50 0.148779 -252.50 167.50 7.50 0.163633 -252.50 167.50 12.50 0.2684 -252.50 167.50 17.50 0.499375 -252.50 167.50 22.50 0.759032 -252.50 167.50 27.50 1.02204 -252.50 167.50 32.50 1.27537 -252.50 167.50 37.50 1.41539 -252.50 167.50 42.50 1.37822 -252.50 167.50 47.50 1.16717 -252.50 167.50 52.50 0.902796 -252.50 167.50 57.50 0.774984 -252.50 167.50 62.50 0.875162 -252.50 167.50 67.50 1.04021 -252.50 167.50 72.50 0.972016 -252.50 167.50 77.50 0.702543 -252.50 167.50 82.50 0.419807 -252.50 167.50 87.50 0.235527 -252.50 167.50 92.50 0.148779 -252.50 167.50 97.50 0.163633 -252.50 167.50 102.50 0.2684 -252.50 167.50 107.50 0.499376 -252.50 167.50 112.50 0.759032 -252.50 167.50 117.50 1.02204 -252.50 167.50 122.50 1.27537 -252.50 167.50 127.50 1.41539 -252.50 167.50 132.50 1.37822 -252.50 167.50 137.50 1.16717 -252.50 167.50 142.50 0.902796 -252.50 167.50 147.50 0.774984 -252.50 167.50 152.50 0.875162 -252.50 167.50 157.50 1.04021 -252.50 167.50 162.50 0.972016 -252.50 167.50 167.50 0.702543 -252.50 167.50 172.50 0.419807 -252.50 167.50 177.50 0.235527 -252.50 167.50 182.50 0.148779 -252.50 167.50 187.50 0.163633 -252.50 167.50 192.50 0.2684 -252.50 167.50 197.50 0.499375 -252.50 167.50 202.50 0.759032 -252.50 167.50 207.50 1.02204 -252.50 167.50 212.50 1.27537 -252.50 167.50 217.50 1.41539 -252.50 167.50 222.50 1.37822 -252.50 167.50 227.50 1.16717 -252.50 167.50 232.50 0.902796 -252.50 167.50 237.50 0.774984 -252.50 167.50 242.50 0.875163 -252.50 167.50 247.50 1.04021 -252.50 167.50 252.50 0.972016 -252.50 167.50 257.50 0.702543 -252.50 167.50 262.50 0.419806 -252.50 167.50 267.50 0.235527 -252.50 167.50 272.50 0.148779 -252.50 167.50 277.50 0.163633 -252.50 167.50 282.50 0.2684 -252.50 167.50 287.50 0.499375 -252.50 167.50 292.50 0.759032 -252.50 167.50 297.50 1.02204 -252.50 167.50 302.50 1.27537 -252.50 167.50 307.50 1.41539 -252.50 167.50 312.50 1.37822 -252.50 167.50 317.50 1.16717 -252.50 167.50 322.50 0.902796 -252.50 167.50 327.50 0.774984 -252.50 167.50 332.50 0.875161 -252.50 167.50 337.50 1.04021 -252.50 167.50 342.50 0.972017 -252.50 167.50 347.50 0.702544 -252.50 167.50 352.50 0.419807 -252.50 167.50 357.50 0.235527 -252.50 172.50 2.50 0.134121 -252.50 172.50 7.50 0.135945 -252.50 172.50 12.50 0.201029 -252.50 172.50 17.50 0.294737 -252.50 172.50 22.50 0.401511 -252.50 172.50 27.50 0.478812 -252.50 172.50 32.50 0.549479 -252.50 172.50 37.50 0.589234 -252.50 172.50 42.50 0.555933 -252.50 172.50 47.50 0.471098 -252.50 172.50 52.50 0.385849 -252.50 172.50 57.50 0.416365 -252.50 172.50 62.50 0.62605 -252.50 172.50 67.50 0.87844 -252.50 172.50 72.50 0.92701 -252.50 172.50 77.50 0.708774 -252.50 172.50 82.50 0.431976 -252.50 172.50 87.50 0.227328 -252.50 172.50 92.50 0.134121 -252.50 172.50 97.50 0.135945 -252.50 172.50 102.50 0.201029 -252.50 172.50 107.50 0.294737 -252.50 172.50 112.50 0.401512 -252.50 172.50 117.50 0.478812 -252.50 172.50 122.50 0.549479 -252.50 172.50 127.50 0.589234 -252.50 172.50 132.50 0.555933 -252.50 172.50 137.50 0.471098 -252.50 172.50 142.50 0.385849 -252.50 172.50 147.50 0.416365 -252.50 172.50 152.50 0.62605 -252.50 172.50 157.50 0.87844 -252.50 172.50 162.50 0.92701 -252.50 172.50 167.50 0.708774 -252.50 172.50 172.50 0.431976 -252.50 172.50 177.50 0.227329 -252.50 172.50 182.50 0.134121 -252.50 172.50 187.50 0.135945 -252.50 172.50 192.50 0.201029 -252.50 172.50 197.50 0.294737 -252.50 172.50 202.50 0.401512 -252.50 172.50 207.50 0.478812 -252.50 172.50 212.50 0.549479 -252.50 172.50 217.50 0.589234 -252.50 172.50 222.50 0.555933 -252.50 172.50 227.50 0.471098 -252.50 172.50 232.50 0.385849 -252.50 172.50 237.50 0.416366 -252.50 172.50 242.50 0.62605 -252.50 172.50 247.50 0.87844 -252.50 172.50 252.50 0.92701 -252.50 172.50 257.50 0.708774 -252.50 172.50 262.50 0.431976 -252.50 172.50 267.50 0.227328 -252.50 172.50 272.50 0.134121 -252.50 172.50 277.50 0.135945 -252.50 172.50 282.50 0.201029 -252.50 172.50 287.50 0.294737 -252.50 172.50 292.50 0.401511 -252.50 172.50 297.50 0.478812 -252.50 172.50 302.50 0.549479 -252.50 172.50 307.50 0.589234 -252.50 172.50 312.50 0.555933 -252.50 172.50 317.50 0.471098 -252.50 172.50 322.50 0.385849 -252.50 172.50 327.50 0.416365 -252.50 172.50 332.50 0.626049 -252.50 172.50 337.50 0.878439 -252.50 172.50 342.50 0.92701 -252.50 172.50 347.50 0.708775 -252.50 172.50 352.50 0.431977 -252.50 172.50 357.50 0.227329 -252.50 177.50 2.50 0.0872058 -252.50 177.50 7.50 0.0787343 -252.50 177.50 12.50 0.106857 -252.50 177.50 17.50 0.143647 -252.50 177.50 22.50 0.166879 -252.50 177.50 27.50 0.174319 -252.50 177.50 32.50 0.179112 -252.50 177.50 37.50 0.182586 -252.50 177.50 42.50 0.166387 -252.50 177.50 47.50 0.137565 -252.50 177.50 52.50 0.126127 -252.50 177.50 57.50 0.194407 -252.50 177.50 62.50 0.400162 -252.50 177.50 67.50 0.706179 -252.50 177.50 72.50 0.855308 -252.50 177.50 77.50 0.688836 -252.50 177.50 82.50 0.384509 -252.50 177.50 87.50 0.172288 -252.50 177.50 92.50 0.0872057 -252.50 177.50 97.50 0.0787343 -252.50 177.50 102.50 0.106857 -252.50 177.50 107.50 0.143647 -252.50 177.50 112.50 0.166879 -252.50 177.50 117.50 0.174319 -252.50 177.50 122.50 0.179112 -252.50 177.50 127.50 0.182586 -252.50 177.50 132.50 0.166387 -252.50 177.50 137.50 0.137565 -252.50 177.50 142.50 0.126127 -252.50 177.50 147.50 0.194407 -252.50 177.50 152.50 0.400161 -252.50 177.50 157.50 0.706179 -252.50 177.50 162.50 0.855308 -252.50 177.50 167.50 0.688836 -252.50 177.50 172.50 0.384509 -252.50 177.50 177.50 0.172289 -252.50 177.50 182.50 0.0872057 -252.50 177.50 187.50 0.0787343 -252.50 177.50 192.50 0.106857 -252.50 177.50 197.50 0.143647 -252.50 177.50 202.50 0.166879 -252.50 177.50 207.50 0.174319 -252.50 177.50 212.50 0.179112 -252.50 177.50 217.50 0.182585 -252.50 177.50 222.50 0.166387 -252.50 177.50 227.50 0.137565 -252.50 177.50 232.50 0.126127 -252.50 177.50 237.50 0.194407 -252.50 177.50 242.50 0.400162 -252.50 177.50 247.50 0.70618 -252.50 177.50 252.50 0.855309 -252.50 177.50 257.50 0.688836 -252.50 177.50 262.50 0.384509 -252.50 177.50 267.50 0.172288 -252.50 177.50 272.50 0.0872057 -252.50 177.50 277.50 0.0787343 -252.50 177.50 282.50 0.106856 -252.50 177.50 287.50 0.143647 -252.50 177.50 292.50 0.166879 -252.50 177.50 297.50 0.174319 -252.50 177.50 302.50 0.179112 -252.50 177.50 307.50 0.182585 -252.50 177.50 312.50 0.166387 -252.50 177.50 317.50 0.137565 -252.50 177.50 322.50 0.126127 -252.50 177.50 327.50 0.194406 -252.50 177.50 332.50 0.400161 -252.50 177.50 337.50 0.706179 -252.50 177.50 342.50 0.855308 -252.50 177.50 347.50 0.688837 -252.50 177.50 352.50 0.384509 -252.50 177.50 357.50 0.172289 -257.50 2.50 2.50 0.149977 -257.50 2.50 7.50 0.393273 -257.50 2.50 12.50 0.773179 -257.50 2.50 17.50 0.980476 -257.50 2.50 22.50 0.773178 -257.50 2.50 27.50 0.393272 -257.50 2.50 32.50 0.149977 -257.50 2.50 37.50 0.0624685 -257.50 2.50 42.50 0.0485219 -257.50 2.50 47.50 0.0601603 -257.50 2.50 52.50 0.0760386 -257.50 2.50 57.50 0.083846 -257.50 2.50 62.50 0.084539 -257.50 2.50 67.50 0.083846 -257.50 2.50 72.50 0.0760385 -257.50 2.50 77.50 0.0601603 -257.50 2.50 82.50 0.0485219 -257.50 2.50 87.50 0.0624686 -257.50 2.50 92.50 0.149977 -257.50 2.50 97.50 0.393273 -257.50 2.50 102.50 0.773179 -257.50 2.50 107.50 0.980476 -257.50 2.50 112.50 0.773179 -257.50 2.50 117.50 0.393272 -257.50 2.50 122.50 0.149977 -257.50 2.50 127.50 0.0624685 -257.50 2.50 132.50 0.0485219 -257.50 2.50 137.50 0.0601603 -257.50 2.50 142.50 0.0760386 -257.50 2.50 147.50 0.083846 -257.50 2.50 152.50 0.084539 -257.50 2.50 157.50 0.083846 -257.50 2.50 162.50 0.0760385 -257.50 2.50 167.50 0.0601603 -257.50 2.50 172.50 0.0485219 -257.50 2.50 177.50 0.0624686 -257.50 2.50 182.50 0.149977 -257.50 2.50 187.50 0.393273 -257.50 2.50 192.50 0.773179 -257.50 2.50 197.50 0.980476 -257.50 2.50 202.50 0.773178 -257.50 2.50 207.50 0.393272 -257.50 2.50 212.50 0.149977 -257.50 2.50 217.50 0.0624685 -257.50 2.50 222.50 0.0485219 -257.50 2.50 227.50 0.0601603 -257.50 2.50 232.50 0.0760386 -257.50 2.50 237.50 0.083846 -257.50 2.50 242.50 0.084539 -257.50 2.50 247.50 0.083846 -257.50 2.50 252.50 0.0760385 -257.50 2.50 257.50 0.0601603 -257.50 2.50 262.50 0.0485219 -257.50 2.50 267.50 0.0624686 -257.50 2.50 272.50 0.149977 -257.50 2.50 277.50 0.393273 -257.50 2.50 282.50 0.773179 -257.50 2.50 287.50 0.980476 -257.50 2.50 292.50 0.773179 -257.50 2.50 297.50 0.393272 -257.50 2.50 302.50 0.149977 -257.50 2.50 307.50 0.0624686 -257.50 2.50 312.50 0.0485219 -257.50 2.50 317.50 0.0601603 -257.50 2.50 322.50 0.0760385 -257.50 2.50 327.50 0.083846 -257.50 2.50 332.50 0.084539 -257.50 2.50 337.50 0.083846 -257.50 2.50 342.50 0.0760385 -257.50 2.50 347.50 0.0601603 -257.50 2.50 352.50 0.048522 -257.50 2.50 357.50 0.0624685 -257.50 7.50 2.50 0.172972 -257.50 7.50 7.50 0.381828 -257.50 7.50 12.50 0.678346 -257.50 7.50 17.50 0.837588 -257.50 7.50 22.50 0.691077 -257.50 7.50 27.50 0.393841 -257.50 7.50 32.50 0.18069 -257.50 7.50 37.50 0.112652 -257.50 7.50 42.50 0.126408 -257.50 7.50 47.50 0.164881 -257.50 7.50 52.50 0.189422 -257.50 7.50 57.50 0.187043 -257.50 7.50 62.50 0.174825 -257.50 7.50 67.50 0.174065 -257.50 7.50 72.50 0.15669 -257.50 7.50 77.50 0.118386 -257.50 7.50 82.50 0.0855308 -257.50 7.50 87.50 0.0902107 -257.50 7.50 92.50 0.172972 -257.50 7.50 97.50 0.381828 -257.50 7.50 102.50 0.678346 -257.50 7.50 107.50 0.837588 -257.50 7.50 112.50 0.691078 -257.50 7.50 117.50 0.393841 -257.50 7.50 122.50 0.18069 -257.50 7.50 127.50 0.112652 -257.50 7.50 132.50 0.126408 -257.50 7.50 137.50 0.164881 -257.50 7.50 142.50 0.189422 -257.50 7.50 147.50 0.187043 -257.50 7.50 152.50 0.174825 -257.50 7.50 157.50 0.174065 -257.50 7.50 162.50 0.15669 -257.50 7.50 167.50 0.118386 -257.50 7.50 172.50 0.0855308 -257.50 7.50 177.50 0.0902107 -257.50 7.50 182.50 0.172972 -257.50 7.50 187.50 0.381828 -257.50 7.50 192.50 0.678346 -257.50 7.50 197.50 0.837588 -257.50 7.50 202.50 0.691078 -257.50 7.50 207.50 0.393842 -257.50 7.50 212.50 0.18069 -257.50 7.50 217.50 0.112652 -257.50 7.50 222.50 0.126408 -257.50 7.50 227.50 0.164881 -257.50 7.50 232.50 0.189422 -257.50 7.50 237.50 0.187043 -257.50 7.50 242.50 0.174825 -257.50 7.50 247.50 0.174065 -257.50 7.50 252.50 0.15669 -257.50 7.50 257.50 0.118386 -257.50 7.50 262.50 0.0855308 -257.50 7.50 267.50 0.0902107 -257.50 7.50 272.50 0.172972 -257.50 7.50 277.50 0.381828 -257.50 7.50 282.50 0.678346 -257.50 7.50 287.50 0.837588 -257.50 7.50 292.50 0.691078 -257.50 7.50 297.50 0.393842 -257.50 7.50 302.50 0.18069 -257.50 7.50 307.50 0.112652 -257.50 7.50 312.50 0.126408 -257.50 7.50 317.50 0.164881 -257.50 7.50 322.50 0.189422 -257.50 7.50 327.50 0.187043 -257.50 7.50 332.50 0.174825 -257.50 7.50 337.50 0.174065 -257.50 7.50 342.50 0.15669 -257.50 7.50 347.50 0.118386 -257.50 7.50 352.50 0.0855309 -257.50 7.50 357.50 0.0902106 -257.50 12.50 2.50 0.230709 -257.50 12.50 7.50 0.427285 -257.50 12.50 12.50 0.681812 -257.50 12.50 17.50 0.838584 -257.50 12.50 22.50 0.794106 -257.50 12.50 27.50 0.567896 -257.50 12.50 32.50 0.371627 -257.50 12.50 37.50 0.335433 -257.50 12.50 42.50 0.430596 -257.50 12.50 47.50 0.543761 -257.50 12.50 52.50 0.597213 -257.50 12.50 57.50 0.574047 -257.50 12.50 62.50 0.512493 -257.50 12.50 67.50 0.457378 -257.50 12.50 72.50 0.370092 -257.50 12.50 77.50 0.242567 -257.50 12.50 82.50 0.159494 -257.50 12.50 87.50 0.145288 -257.50 12.50 92.50 0.230709 -257.50 12.50 97.50 0.427284 -257.50 12.50 102.50 0.681812 -257.50 12.50 107.50 0.838584 -257.50 12.50 112.50 0.794106 -257.50 12.50 117.50 0.567896 -257.50 12.50 122.50 0.371627 -257.50 12.50 127.50 0.335433 -257.50 12.50 132.50 0.430596 -257.50 12.50 137.50 0.543761 -257.50 12.50 142.50 0.597213 -257.50 12.50 147.50 0.574047 -257.50 12.50 152.50 0.512493 -257.50 12.50 157.50 0.457378 -257.50 12.50 162.50 0.370092 -257.50 12.50 167.50 0.242567 -257.50 12.50 172.50 0.159494 -257.50 12.50 177.50 0.145288 -257.50 12.50 182.50 0.230709 -257.50 12.50 187.50 0.427285 -257.50 12.50 192.50 0.681812 -257.50 12.50 197.50 0.838584 -257.50 12.50 202.50 0.794106 -257.50 12.50 207.50 0.567896 -257.50 12.50 212.50 0.371627 -257.50 12.50 217.50 0.335433 -257.50 12.50 222.50 0.430596 -257.50 12.50 227.50 0.543761 -257.50 12.50 232.50 0.597213 -257.50 12.50 237.50 0.574047 -257.50 12.50 242.50 0.512493 -257.50 12.50 247.50 0.457378 -257.50 12.50 252.50 0.370092 -257.50 12.50 257.50 0.242566 -257.50 12.50 262.50 0.159494 -257.50 12.50 267.50 0.145288 -257.50 12.50 272.50 0.230709 -257.50 12.50 277.50 0.427284 -257.50 12.50 282.50 0.681812 -257.50 12.50 287.50 0.838584 -257.50 12.50 292.50 0.794106 -257.50 12.50 297.50 0.567896 -257.50 12.50 302.50 0.371627 -257.50 12.50 307.50 0.335433 -257.50 12.50 312.50 0.430597 -257.50 12.50 317.50 0.543761 -257.50 12.50 322.50 0.597212 -257.50 12.50 327.50 0.574047 -257.50 12.50 332.50 0.512493 -257.50 12.50 337.50 0.457378 -257.50 12.50 342.50 0.370092 -257.50 12.50 347.50 0.242567 -257.50 12.50 352.50 0.159494 -257.50 12.50 357.50 0.145288 -257.50 17.50 2.50 0.244704 -257.50 17.50 7.50 0.41502 -257.50 17.50 12.50 0.628789 -257.50 17.50 17.50 0.848716 -257.50 17.50 22.50 0.904768 -257.50 17.50 27.50 0.757981 -257.50 17.50 32.50 0.614572 -257.50 17.50 37.50 0.733603 -257.50 17.50 42.50 1.01527 -257.50 17.50 47.50 1.30328 -257.50 17.50 52.50 1.43216 -257.50 17.50 57.50 1.33038 -257.50 17.50 62.50 1.09907 -257.50 17.50 67.50 0.87555 -257.50 17.50 72.50 0.645138 -257.50 17.50 77.50 0.403468 -257.50 17.50 82.50 0.211335 -257.50 17.50 87.50 0.170695 -257.50 17.50 92.50 0.244704 -257.50 17.50 97.50 0.41502 -257.50 17.50 102.50 0.628789 -257.50 17.50 107.50 0.848716 -257.50 17.50 112.50 0.904768 -257.50 17.50 117.50 0.757981 -257.50 17.50 122.50 0.614571 -257.50 17.50 127.50 0.733603 -257.50 17.50 132.50 1.01527 -257.50 17.50 137.50 1.30328 -257.50 17.50 142.50 1.43216 -257.50 17.50 147.50 1.33038 -257.50 17.50 152.50 1.09907 -257.50 17.50 157.50 0.87555 -257.50 17.50 162.50 0.645138 -257.50 17.50 167.50 0.403469 -257.50 17.50 172.50 0.211335 -257.50 17.50 177.50 0.170695 -257.50 17.50 182.50 0.244704 -257.50 17.50 187.50 0.41502 -257.50 17.50 192.50 0.628789 -257.50 17.50 197.50 0.848716 -257.50 17.50 202.50 0.904768 -257.50 17.50 207.50 0.757981 -257.50 17.50 212.50 0.614572 -257.50 17.50 217.50 0.733604 -257.50 17.50 222.50 1.01527 -257.50 17.50 227.50 1.30328 -257.50 17.50 232.50 1.43216 -257.50 17.50 237.50 1.33038 -257.50 17.50 242.50 1.09907 -257.50 17.50 247.50 0.87555 -257.50 17.50 252.50 0.645138 -257.50 17.50 257.50 0.403468 -257.50 17.50 262.50 0.211335 -257.50 17.50 267.50 0.170695 -257.50 17.50 272.50 0.244704 -257.50 17.50 277.50 0.41502 -257.50 17.50 282.50 0.628789 -257.50 17.50 287.50 0.848716 -257.50 17.50 292.50 0.904768 -257.50 17.50 297.50 0.757982 -257.50 17.50 302.50 0.614572 -257.50 17.50 307.50 0.733603 -257.50 17.50 312.50 1.01527 -257.50 17.50 317.50 1.30328 -257.50 17.50 322.50 1.43216 -257.50 17.50 327.50 1.33038 -257.50 17.50 332.50 1.09907 -257.50 17.50 337.50 0.875551 -257.50 17.50 342.50 0.645139 -257.50 17.50 347.50 0.403469 -257.50 17.50 352.50 0.211335 -257.50 17.50 357.50 0.170695 -257.50 22.50 2.50 0.200246 -257.50 22.50 7.50 0.322734 -257.50 22.50 12.50 0.513111 -257.50 22.50 17.50 0.741939 -257.50 22.50 22.50 0.8701 -257.50 22.50 27.50 0.84462 -257.50 22.50 32.50 0.915795 -257.50 22.50 37.50 1.21643 -257.50 22.50 42.50 1.76351 -257.50 22.50 47.50 2.43961 -257.50 22.50 52.50 2.83112 -257.50 22.50 57.50 2.63506 -257.50 22.50 62.50 2.08212 -257.50 22.50 67.50 1.45356 -257.50 22.50 72.50 0.900621 -257.50 22.50 77.50 0.529187 -257.50 22.50 82.50 0.271564 -257.50 22.50 87.50 0.162877 -257.50 22.50 92.50 0.200246 -257.50 22.50 97.50 0.322734 -257.50 22.50 102.50 0.513111 -257.50 22.50 107.50 0.741939 -257.50 22.50 112.50 0.8701 -257.50 22.50 117.50 0.844619 -257.50 22.50 122.50 0.915795 -257.50 22.50 127.50 1.21643 -257.50 22.50 132.50 1.76351 -257.50 22.50 137.50 2.43961 -257.50 22.50 142.50 2.83112 -257.50 22.50 147.50 2.63506 -257.50 22.50 152.50 2.08212 -257.50 22.50 157.50 1.45356 -257.50 22.50 162.50 0.900621 -257.50 22.50 167.50 0.529187 -257.50 22.50 172.50 0.271564 -257.50 22.50 177.50 0.162877 -257.50 22.50 182.50 0.200246 -257.50 22.50 187.50 0.322734 -257.50 22.50 192.50 0.513111 -257.50 22.50 197.50 0.741939 -257.50 22.50 202.50 0.8701 -257.50 22.50 207.50 0.84462 -257.50 22.50 212.50 0.915795 -257.50 22.50 217.50 1.21643 -257.50 22.50 222.50 1.76351 -257.50 22.50 227.50 2.43961 -257.50 22.50 232.50 2.83112 -257.50 22.50 237.50 2.63506 -257.50 22.50 242.50 2.08212 -257.50 22.50 247.50 1.45356 -257.50 22.50 252.50 0.90062 -257.50 22.50 257.50 0.529186 -257.50 22.50 262.50 0.271563 -257.50 22.50 267.50 0.162877 -257.50 22.50 272.50 0.200246 -257.50 22.50 277.50 0.322734 -257.50 22.50 282.50 0.513111 -257.50 22.50 287.50 0.741939 -257.50 22.50 292.50 0.8701 -257.50 22.50 297.50 0.84462 -257.50 22.50 302.50 0.915795 -257.50 22.50 307.50 1.21643 -257.50 22.50 312.50 1.76351 -257.50 22.50 317.50 2.43961 -257.50 22.50 322.50 2.83112 -257.50 22.50 327.50 2.63506 -257.50 22.50 332.50 2.08212 -257.50 22.50 337.50 1.45356 -257.50 22.50 342.50 0.900622 -257.50 22.50 347.50 0.529188 -257.50 22.50 352.50 0.271564 -257.50 22.50 357.50 0.162877 -257.50 27.50 2.50 0.151509 -257.50 27.50 7.50 0.213904 -257.50 27.50 12.50 0.342609 -257.50 27.50 17.50 0.520586 -257.50 27.50 22.50 0.657065 -257.50 27.50 27.50 0.756146 -257.50 27.50 32.50 0.994933 -257.50 27.50 37.50 1.56999 -257.50 27.50 42.50 2.543 -257.50 27.50 47.50 3.69947 -257.50 27.50 52.50 4.26268 -257.50 27.50 57.50 4.03102 -257.50 27.50 62.50 3.18725 -257.50 27.50 67.50 2.11978 -257.50 27.50 72.50 1.23538 -257.50 27.50 77.50 0.660137 -257.50 27.50 82.50 0.338627 -257.50 27.50 87.50 0.163149 -257.50 27.50 92.50 0.151509 -257.50 27.50 97.50 0.213904 -257.50 27.50 102.50 0.342609 -257.50 27.50 107.50 0.520585 -257.50 27.50 112.50 0.657066 -257.50 27.50 117.50 0.756146 -257.50 27.50 122.50 0.994932 -257.50 27.50 127.50 1.56999 -257.50 27.50 132.50 2.543 -257.50 27.50 137.50 3.69947 -257.50 27.50 142.50 4.26268 -257.50 27.50 147.50 4.03102 -257.50 27.50 152.50 3.18725 -257.50 27.50 157.50 2.11978 -257.50 27.50 162.50 1.23538 -257.50 27.50 167.50 0.660136 -257.50 27.50 172.50 0.338627 -257.50 27.50 177.50 0.163149 -257.50 27.50 182.50 0.151509 -257.50 27.50 187.50 0.213904 -257.50 27.50 192.50 0.342609 -257.50 27.50 197.50 0.520586 -257.50 27.50 202.50 0.657065 -257.50 27.50 207.50 0.756146 -257.50 27.50 212.50 0.994932 -257.50 27.50 217.50 1.56999 -257.50 27.50 222.50 2.543 -257.50 27.50 227.50 3.69947 -257.50 27.50 232.50 4.26268 -257.50 27.50 237.50 4.03102 -257.50 27.50 242.50 3.18725 -257.50 27.50 247.50 2.11978 -257.50 27.50 252.50 1.23538 -257.50 27.50 257.50 0.660136 -257.50 27.50 262.50 0.338627 -257.50 27.50 267.50 0.163149 -257.50 27.50 272.50 0.151509 -257.50 27.50 277.50 0.213904 -257.50 27.50 282.50 0.342609 -257.50 27.50 287.50 0.520586 -257.50 27.50 292.50 0.657066 -257.50 27.50 297.50 0.756146 -257.50 27.50 302.50 0.994932 -257.50 27.50 307.50 1.56999 -257.50 27.50 312.50 2.543 -257.50 27.50 317.50 3.69947 -257.50 27.50 322.50 4.26268 -257.50 27.50 327.50 4.03102 -257.50 27.50 332.50 3.18726 -257.50 27.50 337.50 2.11979 -257.50 27.50 342.50 1.23538 -257.50 27.50 347.50 0.660137 -257.50 27.50 352.50 0.338628 -257.50 27.50 357.50 0.163149 -257.50 32.50 2.50 0.120114 -257.50 32.50 7.50 0.139043 -257.50 32.50 12.50 0.188216 -257.50 32.50 17.50 0.274827 -257.50 32.50 22.50 0.392575 -257.50 32.50 27.50 0.544436 -257.50 32.50 32.50 0.877347 -257.50 32.50 37.50 1.5877 -257.50 32.50 42.50 2.76555 -257.50 32.50 47.50 4.10747 -257.50 32.50 52.50 4.88608 -257.50 32.50 57.50 4.68617 -257.50 32.50 62.50 3.66089 -257.50 32.50 67.50 2.39178 -257.50 32.50 72.50 1.36108 -257.50 32.50 77.50 0.736701 -257.50 32.50 82.50 0.370235 -257.50 32.50 87.50 0.165638 -257.50 32.50 92.50 0.120114 -257.50 32.50 97.50 0.139043 -257.50 32.50 102.50 0.188216 -257.50 32.50 107.50 0.274828 -257.50 32.50 112.50 0.392575 -257.50 32.50 117.50 0.544436 -257.50 32.50 122.50 0.877347 -257.50 32.50 127.50 1.5877 -257.50 32.50 132.50 2.76555 -257.50 32.50 137.50 4.10746 -257.50 32.50 142.50 4.88608 -257.50 32.50 147.50 4.68617 -257.50 32.50 152.50 3.66089 -257.50 32.50 157.50 2.39178 -257.50 32.50 162.50 1.36108 -257.50 32.50 167.50 0.736702 -257.50 32.50 172.50 0.370235 -257.50 32.50 177.50 0.165638 -257.50 32.50 182.50 0.120114 -257.50 32.50 187.50 0.139043 -257.50 32.50 192.50 0.188216 -257.50 32.50 197.50 0.274828 -257.50 32.50 202.50 0.392575 -257.50 32.50 207.50 0.544436 -257.50 32.50 212.50 0.877347 -257.50 32.50 217.50 1.5877 -257.50 32.50 222.50 2.76555 -257.50 32.50 227.50 4.10746 -257.50 32.50 232.50 4.88608 -257.50 32.50 237.50 4.68617 -257.50 32.50 242.50 3.66089 -257.50 32.50 247.50 2.39178 -257.50 32.50 252.50 1.36108 -257.50 32.50 257.50 0.736701 -257.50 32.50 262.50 0.370235 -257.50 32.50 267.50 0.165638 -257.50 32.50 272.50 0.120114 -257.50 32.50 277.50 0.139043 -257.50 32.50 282.50 0.188216 -257.50 32.50 287.50 0.274827 -257.50 32.50 292.50 0.392575 -257.50 32.50 297.50 0.544436 -257.50 32.50 302.50 0.877346 -257.50 32.50 307.50 1.5877 -257.50 32.50 312.50 2.76555 -257.50 32.50 317.50 4.10746 -257.50 32.50 322.50 4.88608 -257.50 32.50 327.50 4.68617 -257.50 32.50 332.50 3.66089 -257.50 32.50 337.50 2.39178 -257.50 32.50 342.50 1.36108 -257.50 32.50 347.50 0.736703 -257.50 32.50 352.50 0.370236 -257.50 32.50 357.50 0.165638 -257.50 37.50 2.50 0.080885 -257.50 37.50 7.50 0.0834134 -257.50 37.50 12.50 0.0865845 -257.50 37.50 17.50 0.111016 -257.50 37.50 22.50 0.18127 -257.50 37.50 27.50 0.318722 -257.50 37.50 32.50 0.59648 -257.50 37.50 37.50 1.1898 -257.50 37.50 42.50 2.22831 -257.50 37.50 47.50 3.37367 -257.50 37.50 52.50 4.07565 -257.50 37.50 57.50 3.98926 -257.50 37.50 62.50 3.10365 -257.50 37.50 67.50 1.94629 -257.50 37.50 72.50 1.08813 -257.50 37.50 77.50 0.605833 -257.50 37.50 82.50 0.298984 -257.50 37.50 87.50 0.128762 -257.50 37.50 92.50 0.080885 -257.50 37.50 97.50 0.0834134 -257.50 37.50 102.50 0.0865846 -257.50 37.50 107.50 0.111016 -257.50 37.50 112.50 0.18127 -257.50 37.50 117.50 0.318723 -257.50 37.50 122.50 0.596481 -257.50 37.50 127.50 1.1898 -257.50 37.50 132.50 2.22831 -257.50 37.50 137.50 3.37367 -257.50 37.50 142.50 4.07565 -257.50 37.50 147.50 3.98926 -257.50 37.50 152.50 3.10365 -257.50 37.50 157.50 1.9463 -257.50 37.50 162.50 1.08814 -257.50 37.50 167.50 0.605833 -257.50 37.50 172.50 0.298984 -257.50 37.50 177.50 0.128762 -257.50 37.50 182.50 0.080885 -257.50 37.50 187.50 0.0834134 -257.50 37.50 192.50 0.0865846 -257.50 37.50 197.50 0.111016 -257.50 37.50 202.50 0.18127 -257.50 37.50 207.50 0.318722 -257.50 37.50 212.50 0.596481 -257.50 37.50 217.50 1.1898 -257.50 37.50 222.50 2.22831 -257.50 37.50 227.50 3.37367 -257.50 37.50 232.50 4.07565 -257.50 37.50 237.50 3.98926 -257.50 37.50 242.50 3.10365 -257.50 37.50 247.50 1.9463 -257.50 37.50 252.50 1.08813 -257.50 37.50 257.50 0.605832 -257.50 37.50 262.50 0.298984 -257.50 37.50 267.50 0.128762 -257.50 37.50 272.50 0.080885 -257.50 37.50 277.50 0.0834134 -257.50 37.50 282.50 0.0865846 -257.50 37.50 287.50 0.111016 -257.50 37.50 292.50 0.18127 -257.50 37.50 297.50 0.318722 -257.50 37.50 302.50 0.59648 -257.50 37.50 307.50 1.1898 -257.50 37.50 312.50 2.22831 -257.50 37.50 317.50 3.37367 -257.50 37.50 322.50 4.07565 -257.50 37.50 327.50 3.98926 -257.50 37.50 332.50 3.10365 -257.50 37.50 337.50 1.9463 -257.50 37.50 342.50 1.08814 -257.50 37.50 347.50 0.605834 -257.50 37.50 352.50 0.298984 -257.50 37.50 357.50 0.128762 -257.50 42.50 2.50 0.0382172 -257.50 42.50 7.50 0.0398608 -257.50 42.50 12.50 0.0344762 -257.50 42.50 17.50 0.035394 -257.50 42.50 22.50 0.0639958 -257.50 42.50 27.50 0.13795 -257.50 42.50 32.50 0.293626 -257.50 42.50 37.50 0.621456 -257.50 42.50 42.50 1.25778 -257.50 42.50 47.50 2.00341 -257.50 42.50 52.50 2.48996 -257.50 42.50 57.50 2.46393 -257.50 42.50 62.50 1.92429 -257.50 42.50 67.50 1.15799 -257.50 42.50 72.50 0.623572 -257.50 42.50 77.50 0.351671 -257.50 42.50 82.50 0.171239 -257.50 42.50 87.50 0.0661282 -257.50 42.50 92.50 0.0382172 -257.50 42.50 97.50 0.0398609 -257.50 42.50 102.50 0.0344762 -257.50 42.50 107.50 0.035394 -257.50 42.50 112.50 0.0639958 -257.50 42.50 117.50 0.13795 -257.50 42.50 122.50 0.293626 -257.50 42.50 127.50 0.621456 -257.50 42.50 132.50 1.25778 -257.50 42.50 137.50 2.00341 -257.50 42.50 142.50 2.48996 -257.50 42.50 147.50 2.46393 -257.50 42.50 152.50 1.92429 -257.50 42.50 157.50 1.15799 -257.50 42.50 162.50 0.623572 -257.50 42.50 167.50 0.351671 -257.50 42.50 172.50 0.171239 -257.50 42.50 177.50 0.0661283 -257.50 42.50 182.50 0.0382172 -257.50 42.50 187.50 0.0398608 -257.50 42.50 192.50 0.0344762 -257.50 42.50 197.50 0.035394 -257.50 42.50 202.50 0.0639958 -257.50 42.50 207.50 0.13795 -257.50 42.50 212.50 0.293626 -257.50 42.50 217.50 0.621456 -257.50 42.50 222.50 1.25778 -257.50 42.50 227.50 2.00341 -257.50 42.50 232.50 2.48996 -257.50 42.50 237.50 2.46393 -257.50 42.50 242.50 1.92429 -257.50 42.50 247.50 1.15799 -257.50 42.50 252.50 0.623571 -257.50 42.50 257.50 0.351671 -257.50 42.50 262.50 0.171239 -257.50 42.50 267.50 0.0661282 -257.50 42.50 272.50 0.0382172 -257.50 42.50 277.50 0.0398608 -257.50 42.50 282.50 0.0344762 -257.50 42.50 287.50 0.035394 -257.50 42.50 292.50 0.0639958 -257.50 42.50 297.50 0.13795 -257.50 42.50 302.50 0.293625 -257.50 42.50 307.50 0.621455 -257.50 42.50 312.50 1.25778 -257.50 42.50 317.50 2.00341 -257.50 42.50 322.50 2.48996 -257.50 42.50 327.50 2.46393 -257.50 42.50 332.50 1.92429 -257.50 42.50 337.50 1.15799 -257.50 42.50 342.50 0.623573 -257.50 42.50 347.50 0.351671 -257.50 42.50 352.50 0.17124 -257.50 42.50 357.50 0.0661283 -257.50 47.50 2.50 0.0202141 -257.50 47.50 7.50 0.0278132 -257.50 47.50 12.50 0.023494 -257.50 47.50 17.50 0.0162197 -257.50 47.50 22.50 0.0207145 -257.50 47.50 27.50 0.0442034 -257.50 47.50 32.50 0.0933623 -257.50 47.50 37.50 0.231455 -257.50 47.50 42.50 0.434232 -257.50 47.50 47.50 0.784647 -257.50 47.50 52.50 0.983075 -257.50 47.50 57.50 1.09789 -257.50 47.50 62.50 0.88061 -257.50 47.50 67.50 0.531259 -257.50 47.50 72.50 0.261567 -257.50 47.50 77.50 0.146182 -257.50 47.50 82.50 0.0715267 -257.50 47.50 87.50 0.025361 -257.50 47.50 92.50 0.0202141 -257.50 47.50 97.50 0.0278132 -257.50 47.50 102.50 0.023494 -257.50 47.50 107.50 0.0162197 -257.50 47.50 112.50 0.0207145 -257.50 47.50 117.50 0.0442034 -257.50 47.50 122.50 0.0933624 -257.50 47.50 127.50 0.231456 -257.50 47.50 132.50 0.434233 -257.50 47.50 137.50 0.784647 -257.50 47.50 142.50 0.983075 -257.50 47.50 147.50 1.09789 -257.50 47.50 152.50 0.88061 -257.50 47.50 157.50 0.53126 -257.50 47.50 162.50 0.261567 -257.50 47.50 167.50 0.146182 -257.50 47.50 172.50 0.0715268 -257.50 47.50 177.50 0.025361 -257.50 47.50 182.50 0.0202141 -257.50 47.50 187.50 0.0278132 -257.50 47.50 192.50 0.023494 -257.50 47.50 197.50 0.0162197 -257.50 47.50 202.50 0.0207145 -257.50 47.50 207.50 0.0442034 -257.50 47.50 212.50 0.0933623 -257.50 47.50 217.50 0.231455 -257.50 47.50 222.50 0.434232 -257.50 47.50 227.50 0.784647 -257.50 47.50 232.50 0.983075 -257.50 47.50 237.50 1.09789 -257.50 47.50 242.50 0.88061 -257.50 47.50 247.50 0.531259 -257.50 47.50 252.50 0.261567 -257.50 47.50 257.50 0.146182 -257.50 47.50 262.50 0.0715266 -257.50 47.50 267.50 0.025361 -257.50 47.50 272.50 0.0202141 -257.50 47.50 277.50 0.0278132 -257.50 47.50 282.50 0.023494 -257.50 47.50 287.50 0.0162197 -257.50 47.50 292.50 0.0207145 -257.50 47.50 297.50 0.0442034 -257.50 47.50 302.50 0.0933622 -257.50 47.50 307.50 0.231455 -257.50 47.50 312.50 0.434232 -257.50 47.50 317.50 0.784646 -257.50 47.50 322.50 0.983075 -257.50 47.50 327.50 1.09789 -257.50 47.50 332.50 0.880611 -257.50 47.50 337.50 0.53126 -257.50 47.50 342.50 0.261568 -257.50 47.50 347.50 0.146183 -257.50 47.50 352.50 0.0715269 -257.50 47.50 357.50 0.0253611 -257.50 52.50 2.50 0.0382172 -257.50 52.50 7.50 0.0575414 -257.50 52.50 12.50 0.0512642 -257.50 52.50 17.50 0.0417049 -257.50 52.50 22.50 0.0366957 -257.50 52.50 27.50 0.0292198 -257.50 52.50 32.50 0.0298577 -257.50 52.50 37.50 0.0542918 -257.50 52.50 42.50 0.107731 -257.50 52.50 47.50 0.186435 -257.50 52.50 52.50 0.248773 -257.50 52.50 57.50 0.320091 -257.50 52.50 62.50 0.291709 -257.50 52.50 67.50 0.177265 -257.50 52.50 72.50 0.086809 -257.50 52.50 77.50 0.0424702 -257.50 52.50 82.50 0.024012 -257.50 52.50 87.50 0.0179044 -257.50 52.50 92.50 0.0382172 -257.50 52.50 97.50 0.0575414 -257.50 52.50 102.50 0.0512642 -257.50 52.50 107.50 0.0417048 -257.50 52.50 112.50 0.0366957 -257.50 52.50 117.50 0.0292199 -257.50 52.50 122.50 0.0298578 -257.50 52.50 127.50 0.0542918 -257.50 52.50 132.50 0.107731 -257.50 52.50 137.50 0.186435 -257.50 52.50 142.50 0.248773 -257.50 52.50 147.50 0.320091 -257.50 52.50 152.50 0.291709 -257.50 52.50 157.50 0.177265 -257.50 52.50 162.50 0.0868089 -257.50 52.50 167.50 0.0424701 -257.50 52.50 172.50 0.0240119 -257.50 52.50 177.50 0.0179044 -257.50 52.50 182.50 0.0382172 -257.50 52.50 187.50 0.0575414 -257.50 52.50 192.50 0.0512641 -257.50 52.50 197.50 0.0417048 -257.50 52.50 202.50 0.0366957 -257.50 52.50 207.50 0.0292198 -257.50 52.50 212.50 0.0298578 -257.50 52.50 217.50 0.0542918 -257.50 52.50 222.50 0.107731 -257.50 52.50 227.50 0.186435 -257.50 52.50 232.50 0.248773 -257.50 52.50 237.50 0.320091 -257.50 52.50 242.50 0.291709 -257.50 52.50 247.50 0.177265 -257.50 52.50 252.50 0.0868089 -257.50 52.50 257.50 0.0424701 -257.50 52.50 262.50 0.0240119 -257.50 52.50 267.50 0.0179044 -257.50 52.50 272.50 0.0382172 -257.50 52.50 277.50 0.0575414 -257.50 52.50 282.50 0.0512642 -257.50 52.50 287.50 0.0417048 -257.50 52.50 292.50 0.0366957 -257.50 52.50 297.50 0.0292199 -257.50 52.50 302.50 0.0298577 -257.50 52.50 307.50 0.0542917 -257.50 52.50 312.50 0.107731 -257.50 52.50 317.50 0.186435 -257.50 52.50 322.50 0.248773 -257.50 52.50 327.50 0.320091 -257.50 52.50 332.50 0.29171 -257.50 52.50 337.50 0.177265 -257.50 52.50 342.50 0.0868091 -257.50 52.50 347.50 0.0424702 -257.50 52.50 352.50 0.024012 -257.50 52.50 357.50 0.0179044 -257.50 57.50 2.50 0.0808851 -257.50 57.50 7.50 0.115288 -257.50 57.50 12.50 0.132957 -257.50 57.50 17.50 0.15546 -257.50 57.50 22.50 0.145581 -257.50 57.50 27.50 0.096298 -257.50 57.50 32.50 0.0510866 -257.50 57.50 37.50 0.0285112 -257.50 57.50 42.50 0.0254596 -257.50 57.50 47.50 0.0384456 -257.50 57.50 52.50 0.0418997 -257.50 57.50 57.50 0.0523202 -257.50 57.50 62.50 0.0554882 -257.50 57.50 67.50 0.0359702 -257.50 57.50 72.50 0.0202785 -257.50 57.50 77.50 0.010879 -257.50 57.50 82.50 0.0135287 -257.50 57.50 87.50 0.0303794 -257.50 57.50 92.50 0.0808851 -257.50 57.50 97.50 0.115288 -257.50 57.50 102.50 0.132956 -257.50 57.50 107.50 0.15546 -257.50 57.50 112.50 0.145581 -257.50 57.50 117.50 0.0962979 -257.50 57.50 122.50 0.0510866 -257.50 57.50 127.50 0.0285112 -257.50 57.50 132.50 0.0254597 -257.50 57.50 137.50 0.0384457 -257.50 57.50 142.50 0.0418998 -257.50 57.50 147.50 0.0523202 -257.50 57.50 152.50 0.0554883 -257.50 57.50 157.50 0.0359702 -257.50 57.50 162.50 0.0202785 -257.50 57.50 167.50 0.010879 -257.50 57.50 172.50 0.0135286 -257.50 57.50 177.50 0.0303794 -257.50 57.50 182.50 0.0808851 -257.50 57.50 187.50 0.115287 -257.50 57.50 192.50 0.132956 -257.50 57.50 197.50 0.15546 -257.50 57.50 202.50 0.145581 -257.50 57.50 207.50 0.0962981 -257.50 57.50 212.50 0.0510866 -257.50 57.50 217.50 0.0285112 -257.50 57.50 222.50 0.0254597 -257.50 57.50 227.50 0.0384457 -257.50 57.50 232.50 0.0418998 -257.50 57.50 237.50 0.0523202 -257.50 57.50 242.50 0.0554882 -257.50 57.50 247.50 0.0359702 -257.50 57.50 252.50 0.0202785 -257.50 57.50 257.50 0.010879 -257.50 57.50 262.50 0.0135287 -257.50 57.50 267.50 0.0303795 -257.50 57.50 272.50 0.080885 -257.50 57.50 277.50 0.115288 -257.50 57.50 282.50 0.132957 -257.50 57.50 287.50 0.15546 -257.50 57.50 292.50 0.145581 -257.50 57.50 297.50 0.0962981 -257.50 57.50 302.50 0.0510867 -257.50 57.50 307.50 0.0285112 -257.50 57.50 312.50 0.0254596 -257.50 57.50 317.50 0.0384456 -257.50 57.50 322.50 0.0418997 -257.50 57.50 327.50 0.0523202 -257.50 57.50 332.50 0.0554883 -257.50 57.50 337.50 0.0359702 -257.50 57.50 342.50 0.0202785 -257.50 57.50 347.50 0.010879 -257.50 57.50 352.50 0.0135286 -257.50 57.50 357.50 0.0303794 -257.50 62.50 2.50 0.120114 -257.50 62.50 7.50 0.185298 -257.50 62.50 12.50 0.29178 -257.50 62.50 17.50 0.394771 -257.50 62.50 22.50 0.409849 -257.50 62.50 27.50 0.292971 -257.50 62.50 32.50 0.199509 -257.50 62.50 37.50 0.125212 -257.50 62.50 42.50 0.0686555 -257.50 62.50 47.50 0.0416486 -257.50 62.50 52.50 0.0210899 -257.50 62.50 57.50 0.0113602 -257.50 62.50 62.50 0.00698852 -257.50 62.50 67.50 0.00618046 -257.50 62.50 72.50 0.00740194 -257.50 62.50 77.50 0.00922366 -257.50 62.50 82.50 0.0242279 -257.50 62.50 87.50 0.0489188 -257.50 62.50 92.50 0.120114 -257.50 62.50 97.50 0.185298 -257.50 62.50 102.50 0.29178 -257.50 62.50 107.50 0.394771 -257.50 62.50 112.50 0.409849 -257.50 62.50 117.50 0.292971 -257.50 62.50 122.50 0.199509 -257.50 62.50 127.50 0.125212 -257.50 62.50 132.50 0.0686555 -257.50 62.50 137.50 0.0416485 -257.50 62.50 142.50 0.0210899 -257.50 62.50 147.50 0.0113602 -257.50 62.50 152.50 0.00698852 -257.50 62.50 157.50 0.00618047 -257.50 62.50 162.50 0.00740194 -257.50 62.50 167.50 0.00922365 -257.50 62.50 172.50 0.0242278 -257.50 62.50 177.50 0.0489187 -257.50 62.50 182.50 0.120114 -257.50 62.50 187.50 0.185298 -257.50 62.50 192.50 0.29178 -257.50 62.50 197.50 0.394771 -257.50 62.50 202.50 0.409848 -257.50 62.50 207.50 0.292971 -257.50 62.50 212.50 0.199509 -257.50 62.50 217.50 0.125212 -257.50 62.50 222.50 0.0686555 -257.50 62.50 227.50 0.0416486 -257.50 62.50 232.50 0.0210899 -257.50 62.50 237.50 0.0113602 -257.50 62.50 242.50 0.00698853 -257.50 62.50 247.50 0.00618045 -257.50 62.50 252.50 0.00740194 -257.50 62.50 257.50 0.00922365 -257.50 62.50 262.50 0.0242279 -257.50 62.50 267.50 0.0489188 -257.50 62.50 272.50 0.120114 -257.50 62.50 277.50 0.185298 -257.50 62.50 282.50 0.29178 -257.50 62.50 287.50 0.394771 -257.50 62.50 292.50 0.409849 -257.50 62.50 297.50 0.292971 -257.50 62.50 302.50 0.199509 -257.50 62.50 307.50 0.125213 -257.50 62.50 312.50 0.0686555 -257.50 62.50 317.50 0.0416486 -257.50 62.50 322.50 0.02109 -257.50 62.50 327.50 0.0113602 -257.50 62.50 332.50 0.00698852 -257.50 62.50 337.50 0.00618048 -257.50 62.50 342.50 0.00740193 -257.50 62.50 347.50 0.00922364 -257.50 62.50 352.50 0.0242278 -257.50 62.50 357.50 0.0489186 -257.50 67.50 2.50 0.151509 -257.50 67.50 7.50 0.268433 -257.50 67.50 12.50 0.529664 -257.50 67.50 17.50 0.784049 -257.50 67.50 22.50 0.848944 -257.50 67.50 27.50 0.771718 -257.50 67.50 32.50 0.583853 -257.50 67.50 37.50 0.41777 -257.50 67.50 42.50 0.280564 -257.50 67.50 47.50 0.143058 -257.50 67.50 52.50 0.0619753 -257.50 67.50 57.50 0.0231849 -257.50 67.50 62.50 0.0105737 -257.50 67.50 67.50 0.0115919 -257.50 67.50 72.50 0.0178428 -257.50 67.50 77.50 0.0290199 -257.50 67.50 82.50 0.0565281 -257.50 67.50 87.50 0.0841844 -257.50 67.50 92.50 0.151509 -257.50 67.50 97.50 0.268433 -257.50 67.50 102.50 0.529664 -257.50 67.50 107.50 0.784048 -257.50 67.50 112.50 0.848944 -257.50 67.50 117.50 0.771718 -257.50 67.50 122.50 0.583853 -257.50 67.50 127.50 0.41777 -257.50 67.50 132.50 0.280563 -257.50 67.50 137.50 0.143058 -257.50 67.50 142.50 0.0619752 -257.50 67.50 147.50 0.0231848 -257.50 67.50 152.50 0.0105736 -257.50 67.50 157.50 0.0115919 -257.50 67.50 162.50 0.0178428 -257.50 67.50 167.50 0.0290199 -257.50 67.50 172.50 0.0565281 -257.50 67.50 177.50 0.0841843 -257.50 67.50 182.50 0.151509 -257.50 67.50 187.50 0.268432 -257.50 67.50 192.50 0.529664 -257.50 67.50 197.50 0.784048 -257.50 67.50 202.50 0.848944 -257.50 67.50 207.50 0.771719 -257.50 67.50 212.50 0.583853 -257.50 67.50 217.50 0.41777 -257.50 67.50 222.50 0.280564 -257.50 67.50 227.50 0.143058 -257.50 67.50 232.50 0.0619751 -257.50 67.50 237.50 0.0231848 -257.50 67.50 242.50 0.0105736 -257.50 67.50 247.50 0.0115919 -257.50 67.50 252.50 0.0178428 -257.50 67.50 257.50 0.0290199 -257.50 67.50 262.50 0.0565282 -257.50 67.50 267.50 0.0841844 -257.50 67.50 272.50 0.151509 -257.50 67.50 277.50 0.268433 -257.50 67.50 282.50 0.529664 -257.50 67.50 287.50 0.784049 -257.50 67.50 292.50 0.848944 -257.50 67.50 297.50 0.771719 -257.50 67.50 302.50 0.583854 -257.50 67.50 307.50 0.41777 -257.50 67.50 312.50 0.280564 -257.50 67.50 317.50 0.143059 -257.50 67.50 322.50 0.0619754 -257.50 67.50 327.50 0.0231849 -257.50 67.50 332.50 0.0105737 -257.50 67.50 337.50 0.0115919 -257.50 67.50 342.50 0.0178428 -257.50 67.50 347.50 0.0290199 -257.50 67.50 352.50 0.0565281 -257.50 67.50 357.50 0.0841843 -257.50 72.50 2.50 0.200246 -257.50 72.50 7.50 0.377387 -257.50 72.50 12.50 0.766071 -257.50 72.50 17.50 1.26497 -257.50 72.50 22.50 1.55094 -257.50 72.50 27.50 1.49383 -257.50 72.50 32.50 1.23256 -257.50 72.50 37.50 1.02467 -257.50 72.50 42.50 0.74717 -257.50 72.50 47.50 0.434025 -257.50 72.50 52.50 0.224622 -257.50 72.50 57.50 0.0956055 -257.50 72.50 62.50 0.048728 -257.50 72.50 67.50 0.0543212 -257.50 72.50 72.50 0.0719871 -257.50 72.50 77.50 0.0816251 -257.50 72.50 82.50 0.119157 -257.50 72.50 87.50 0.170016 -257.50 72.50 92.50 0.200246 -257.50 72.50 97.50 0.377387 -257.50 72.50 102.50 0.766071 -257.50 72.50 107.50 1.26497 -257.50 72.50 112.50 1.55094 -257.50 72.50 117.50 1.49383 -257.50 72.50 122.50 1.23256 -257.50 72.50 127.50 1.02467 -257.50 72.50 132.50 0.74717 -257.50 72.50 137.50 0.434025 -257.50 72.50 142.50 0.224622 -257.50 72.50 147.50 0.0956055 -257.50 72.50 152.50 0.048728 -257.50 72.50 157.50 0.0543211 -257.50 72.50 162.50 0.0719871 -257.50 72.50 167.50 0.0816251 -257.50 72.50 172.50 0.119157 -257.50 72.50 177.50 0.170016 -257.50 72.50 182.50 0.200246 -257.50 72.50 187.50 0.377387 -257.50 72.50 192.50 0.766071 -257.50 72.50 197.50 1.26497 -257.50 72.50 202.50 1.55094 -257.50 72.50 207.50 1.49383 -257.50 72.50 212.50 1.23256 -257.50 72.50 217.50 1.02467 -257.50 72.50 222.50 0.74717 -257.50 72.50 227.50 0.434025 -257.50 72.50 232.50 0.224621 -257.50 72.50 237.50 0.0956053 -257.50 72.50 242.50 0.0487279 -257.50 72.50 247.50 0.0543211 -257.50 72.50 252.50 0.0719871 -257.50 72.50 257.50 0.0816252 -257.50 72.50 262.50 0.119157 -257.50 72.50 267.50 0.170016 -257.50 72.50 272.50 0.200246 -257.50 72.50 277.50 0.377387 -257.50 72.50 282.50 0.766071 -257.50 72.50 287.50 1.26497 -257.50 72.50 292.50 1.55094 -257.50 72.50 297.50 1.49383 -257.50 72.50 302.50 1.23256 -257.50 72.50 307.50 1.02468 -257.50 72.50 312.50 0.74717 -257.50 72.50 317.50 0.434026 -257.50 72.50 322.50 0.224622 -257.50 72.50 327.50 0.0956058 -257.50 72.50 332.50 0.0487281 -257.50 72.50 337.50 0.0543211 -257.50 72.50 342.50 0.071987 -257.50 72.50 347.50 0.0816251 -257.50 72.50 352.50 0.119157 -257.50 72.50 357.50 0.170016 -257.50 77.50 2.50 0.244704 -257.50 77.50 7.50 0.454511 -257.50 77.50 12.50 0.940418 -257.50 77.50 17.50 1.60305 -257.50 77.50 22.50 2.08213 -257.50 77.50 27.50 2.13414 -257.50 77.50 32.50 2.03098 -257.50 77.50 37.50 1.85379 -257.50 77.50 42.50 1.56178 -257.50 77.50 47.50 1.15349 -257.50 77.50 52.50 0.676224 -257.50 77.50 57.50 0.360379 -257.50 77.50 62.50 0.190522 -257.50 77.50 67.50 0.146755 -257.50 77.50 72.50 0.177704 -257.50 77.50 77.50 0.193121 -257.50 77.50 82.50 0.182174 -257.50 77.50 87.50 0.278137 -257.50 77.50 92.50 0.244704 -257.50 77.50 97.50 0.454511 -257.50 77.50 102.50 0.940418 -257.50 77.50 107.50 1.60304 -257.50 77.50 112.50 2.08213 -257.50 77.50 117.50 2.13414 -257.50 77.50 122.50 2.03098 -257.50 77.50 127.50 1.85379 -257.50 77.50 132.50 1.56178 -257.50 77.50 137.50 1.15349 -257.50 77.50 142.50 0.676224 -257.50 77.50 147.50 0.360379 -257.50 77.50 152.50 0.190522 -257.50 77.50 157.50 0.146755 -257.50 77.50 162.50 0.177703 -257.50 77.50 167.50 0.193121 -257.50 77.50 172.50 0.182174 -257.50 77.50 177.50 0.278137 -257.50 77.50 182.50 0.244704 -257.50 77.50 187.50 0.454511 -257.50 77.50 192.50 0.940418 -257.50 77.50 197.50 1.60305 -257.50 77.50 202.50 2.08213 -257.50 77.50 207.50 2.13414 -257.50 77.50 212.50 2.03098 -257.50 77.50 217.50 1.85379 -257.50 77.50 222.50 1.56178 -257.50 77.50 227.50 1.15349 -257.50 77.50 232.50 0.676223 -257.50 77.50 237.50 0.360378 -257.50 77.50 242.50 0.190522 -257.50 77.50 247.50 0.146755 -257.50 77.50 252.50 0.177704 -257.50 77.50 257.50 0.193121 -257.50 77.50 262.50 0.182174 -257.50 77.50 267.50 0.278137 -257.50 77.50 272.50 0.244704 -257.50 77.50 277.50 0.454511 -257.50 77.50 282.50 0.940418 -257.50 77.50 287.50 1.60305 -257.50 77.50 292.50 2.08213 -257.50 77.50 297.50 2.13414 -257.50 77.50 302.50 2.03098 -257.50 77.50 307.50 1.85379 -257.50 77.50 312.50 1.56178 -257.50 77.50 317.50 1.15349 -257.50 77.50 322.50 0.676225 -257.50 77.50 327.50 0.360379 -257.50 77.50 332.50 0.190522 -257.50 77.50 337.50 0.146755 -257.50 77.50 342.50 0.177703 -257.50 77.50 347.50 0.193121 -257.50 77.50 352.50 0.182174 -257.50 77.50 357.50 0.278137 -257.50 82.50 2.50 0.230709 -257.50 82.50 7.50 0.401083 -257.50 82.50 12.50 0.866702 -257.50 82.50 17.50 1.49965 -257.50 82.50 22.50 2.1347 -257.50 82.50 27.50 2.50909 -257.50 82.50 32.50 2.6922 -257.50 82.50 37.50 2.78082 -257.50 82.50 42.50 2.62261 -257.50 82.50 47.50 2.1376 -257.50 82.50 52.50 1.48837 -257.50 82.50 57.50 0.945096 -257.50 82.50 62.50 0.604672 -257.50 82.50 67.50 0.418267 -257.50 82.50 72.50 0.339523 -257.50 82.50 77.50 0.293103 -257.50 82.50 82.50 0.250356 -257.50 82.50 87.50 0.256431 -257.50 82.50 92.50 0.230709 -257.50 82.50 97.50 0.401083 -257.50 82.50 102.50 0.866702 -257.50 82.50 107.50 1.49965 -257.50 82.50 112.50 2.1347 -257.50 82.50 117.50 2.50909 -257.50 82.50 122.50 2.6922 -257.50 82.50 127.50 2.78082 -257.50 82.50 132.50 2.62261 -257.50 82.50 137.50 2.1376 -257.50 82.50 142.50 1.48837 -257.50 82.50 147.50 0.945096 -257.50 82.50 152.50 0.604672 -257.50 82.50 157.50 0.418267 -257.50 82.50 162.50 0.339523 -257.50 82.50 167.50 0.293102 -257.50 82.50 172.50 0.250356 -257.50 82.50 177.50 0.256431 -257.50 82.50 182.50 0.230709 -257.50 82.50 187.50 0.401083 -257.50 82.50 192.50 0.866701 -257.50 82.50 197.50 1.49965 -257.50 82.50 202.50 2.1347 -257.50 82.50 207.50 2.50909 -257.50 82.50 212.50 2.6922 -257.50 82.50 217.50 2.78082 -257.50 82.50 222.50 2.62261 -257.50 82.50 227.50 2.1376 -257.50 82.50 232.50 1.48837 -257.50 82.50 237.50 0.945096 -257.50 82.50 242.50 0.604671 -257.50 82.50 247.50 0.418267 -257.50 82.50 252.50 0.339523 -257.50 82.50 257.50 0.293102 -257.50 82.50 262.50 0.250356 -257.50 82.50 267.50 0.256431 -257.50 82.50 272.50 0.230709 -257.50 82.50 277.50 0.401083 -257.50 82.50 282.50 0.866702 -257.50 82.50 287.50 1.49965 -257.50 82.50 292.50 2.1347 -257.50 82.50 297.50 2.50909 -257.50 82.50 302.50 2.6922 -257.50 82.50 307.50 2.78082 -257.50 82.50 312.50 2.62261 -257.50 82.50 317.50 2.1376 -257.50 82.50 322.50 1.48837 -257.50 82.50 327.50 0.945098 -257.50 82.50 332.50 0.604673 -257.50 82.50 337.50 0.418267 -257.50 82.50 342.50 0.339523 -257.50 82.50 347.50 0.293102 -257.50 82.50 352.50 0.250356 -257.50 82.50 357.50 0.256431 -257.50 87.50 2.50 0.172972 -257.50 87.50 7.50 0.296858 -257.50 87.50 12.50 0.641894 -257.50 87.50 17.50 1.13424 -257.50 87.50 22.50 1.65961 -257.50 87.50 27.50 2.2183 -257.50 87.50 32.50 2.659 -257.50 87.50 37.50 3.01113 -257.50 87.50 42.50 3.1983 -257.50 87.50 47.50 3.00907 -257.50 87.50 52.50 2.43256 -257.50 87.50 57.50 1.74094 -257.50 87.50 62.50 1.20968 -257.50 87.50 67.50 0.866739 -257.50 87.50 72.50 0.632584 -257.50 87.50 77.50 0.432495 -257.50 87.50 82.50 0.30334 -257.50 87.50 87.50 0.200923 -257.50 87.50 92.50 0.172972 -257.50 87.50 97.50 0.296859 -257.50 87.50 102.50 0.641895 -257.50 87.50 107.50 1.13424 -257.50 87.50 112.50 1.65961 -257.50 87.50 117.50 2.2183 -257.50 87.50 122.50 2.659 -257.50 87.50 127.50 3.01113 -257.50 87.50 132.50 3.1983 -257.50 87.50 137.50 3.00907 -257.50 87.50 142.50 2.43256 -257.50 87.50 147.50 1.74094 -257.50 87.50 152.50 1.20968 -257.50 87.50 157.50 0.866739 -257.50 87.50 162.50 0.632584 -257.50 87.50 167.50 0.432495 -257.50 87.50 172.50 0.30334 -257.50 87.50 177.50 0.200923 -257.50 87.50 182.50 0.172972 -257.50 87.50 187.50 0.296859 -257.50 87.50 192.50 0.641895 -257.50 87.50 197.50 1.13424 -257.50 87.50 202.50 1.65961 -257.50 87.50 207.50 2.2183 -257.50 87.50 212.50 2.659 -257.50 87.50 217.50 3.01113 -257.50 87.50 222.50 3.1983 -257.50 87.50 227.50 3.00907 -257.50 87.50 232.50 2.43255 -257.50 87.50 237.50 1.74093 -257.50 87.50 242.50 1.20968 -257.50 87.50 247.50 0.866739 -257.50 87.50 252.50 0.632583 -257.50 87.50 257.50 0.432494 -257.50 87.50 262.50 0.30334 -257.50 87.50 267.50 0.200923 -257.50 87.50 272.50 0.172972 -257.50 87.50 277.50 0.296858 -257.50 87.50 282.50 0.641895 -257.50 87.50 287.50 1.13424 -257.50 87.50 292.50 1.65961 -257.50 87.50 297.50 2.2183 -257.50 87.50 302.50 2.659 -257.50 87.50 307.50 3.01113 -257.50 87.50 312.50 3.1983 -257.50 87.50 317.50 3.00907 -257.50 87.50 322.50 2.43256 -257.50 87.50 327.50 1.74094 -257.50 87.50 332.50 1.20968 -257.50 87.50 337.50 0.86674 -257.50 87.50 342.50 0.632584 -257.50 87.50 347.50 0.432495 -257.50 87.50 352.50 0.30334 -257.50 87.50 357.50 0.200923 -257.50 92.50 2.50 0.149977 -257.50 92.50 7.50 0.210389 -257.50 92.50 12.50 0.376555 -257.50 92.50 17.50 0.655401 -257.50 92.50 22.50 1.04451 -257.50 92.50 27.50 1.46987 -257.50 92.50 32.50 1.91896 -257.50 92.50 37.50 2.48318 -257.50 92.50 42.50 3.07557 -257.50 92.50 47.50 3.34429 -257.50 92.50 52.50 3.07557 -257.50 92.50 57.50 2.48318 -257.50 92.50 62.50 1.91896 -257.50 92.50 67.50 1.46987 -257.50 92.50 72.50 1.04451 -257.50 92.50 77.50 0.655401 -257.50 92.50 82.50 0.376555 -257.50 92.50 87.50 0.210389 -257.50 92.50 92.50 0.149977 -257.50 92.50 97.50 0.210389 -257.50 92.50 102.50 0.376555 -257.50 92.50 107.50 0.655401 -257.50 92.50 112.50 1.04451 -257.50 92.50 117.50 1.46987 -257.50 92.50 122.50 1.91896 -257.50 92.50 127.50 2.48318 -257.50 92.50 132.50 3.07557 -257.50 92.50 137.50 3.34429 -257.50 92.50 142.50 3.07557 -257.50 92.50 147.50 2.48318 -257.50 92.50 152.50 1.91896 -257.50 92.50 157.50 1.46987 -257.50 92.50 162.50 1.04451 -257.50 92.50 167.50 0.655401 -257.50 92.50 172.50 0.376555 -257.50 92.50 177.50 0.210389 -257.50 92.50 182.50 0.149977 -257.50 92.50 187.50 0.210389 -257.50 92.50 192.50 0.376555 -257.50 92.50 197.50 0.655401 -257.50 92.50 202.50 1.04451 -257.50 92.50 207.50 1.46987 -257.50 92.50 212.50 1.91896 -257.50 92.50 217.50 2.48318 -257.50 92.50 222.50 3.07557 -257.50 92.50 227.50 3.34429 -257.50 92.50 232.50 3.07557 -257.50 92.50 237.50 2.48318 -257.50 92.50 242.50 1.91896 -257.50 92.50 247.50 1.46987 -257.50 92.50 252.50 1.04451 -257.50 92.50 257.50 0.6554 -257.50 92.50 262.50 0.376554 -257.50 92.50 267.50 0.210388 -257.50 92.50 272.50 0.149977 -257.50 92.50 277.50 0.210389 -257.50 92.50 282.50 0.376555 -257.50 92.50 287.50 0.655401 -257.50 92.50 292.50 1.04451 -257.50 92.50 297.50 1.46987 -257.50 92.50 302.50 1.91896 -257.50 92.50 307.50 2.48318 -257.50 92.50 312.50 3.07557 -257.50 92.50 317.50 3.34429 -257.50 92.50 322.50 3.07557 -257.50 92.50 327.50 2.48319 -257.50 92.50 332.50 1.91896 -257.50 92.50 337.50 1.46987 -257.50 92.50 342.50 1.04452 -257.50 92.50 347.50 0.655402 -257.50 92.50 352.50 0.376555 -257.50 92.50 357.50 0.210389 -257.50 97.50 2.50 0.172972 -257.50 97.50 7.50 0.200923 -257.50 97.50 12.50 0.30334 -257.50 97.50 17.50 0.432495 -257.50 97.50 22.50 0.632584 -257.50 97.50 27.50 0.86674 -257.50 97.50 32.50 1.20968 -257.50 97.50 37.50 1.74094 -257.50 97.50 42.50 2.43256 -257.50 97.50 47.50 3.00907 -257.50 97.50 52.50 3.19831 -257.50 97.50 57.50 3.01113 -257.50 97.50 62.50 2.65899 -257.50 97.50 67.50 2.2183 -257.50 97.50 72.50 1.65961 -257.50 97.50 77.50 1.13424 -257.50 97.50 82.50 0.641895 -257.50 97.50 87.50 0.296858 -257.50 97.50 92.50 0.172972 -257.50 97.50 97.50 0.200923 -257.50 97.50 102.50 0.30334 -257.50 97.50 107.50 0.432495 -257.50 97.50 112.50 0.632584 -257.50 97.50 117.50 0.86674 -257.50 97.50 122.50 1.20968 -257.50 97.50 127.50 1.74094 -257.50 97.50 132.50 2.43256 -257.50 97.50 137.50 3.00907 -257.50 97.50 142.50 3.19831 -257.50 97.50 147.50 3.01113 -257.50 97.50 152.50 2.659 -257.50 97.50 157.50 2.2183 -257.50 97.50 162.50 1.65961 -257.50 97.50 167.50 1.13424 -257.50 97.50 172.50 0.641895 -257.50 97.50 177.50 0.296859 -257.50 97.50 182.50 0.172972 -257.50 97.50 187.50 0.200923 -257.50 97.50 192.50 0.30334 -257.50 97.50 197.50 0.432495 -257.50 97.50 202.50 0.632584 -257.50 97.50 207.50 0.86674 -257.50 97.50 212.50 1.20968 -257.50 97.50 217.50 1.74094 -257.50 97.50 222.50 2.43256 -257.50 97.50 227.50 3.00907 -257.50 97.50 232.50 3.19831 -257.50 97.50 237.50 3.01113 -257.50 97.50 242.50 2.65899 -257.50 97.50 247.50 2.2183 -257.50 97.50 252.50 1.65961 -257.50 97.50 257.50 1.13424 -257.50 97.50 262.50 0.641894 -257.50 97.50 267.50 0.296858 -257.50 97.50 272.50 0.172972 -257.50 97.50 277.50 0.200923 -257.50 97.50 282.50 0.30334 -257.50 97.50 287.50 0.432495 -257.50 97.50 292.50 0.632584 -257.50 97.50 297.50 0.866739 -257.50 97.50 302.50 1.20968 -257.50 97.50 307.50 1.74093 -257.50 97.50 312.50 2.43256 -257.50 97.50 317.50 3.00907 -257.50 97.50 322.50 3.19831 -257.50 97.50 327.50 3.01113 -257.50 97.50 332.50 2.659 -257.50 97.50 337.50 2.2183 -257.50 97.50 342.50 1.65962 -257.50 97.50 347.50 1.13424 -257.50 97.50 352.50 0.641896 -257.50 97.50 357.50 0.296859 -257.50 102.50 2.50 0.230709 -257.50 102.50 7.50 0.256431 -257.50 102.50 12.50 0.250356 -257.50 102.50 17.50 0.293102 -257.50 102.50 22.50 0.339523 -257.50 102.50 27.50 0.418267 -257.50 102.50 32.50 0.604672 -257.50 102.50 37.50 0.945097 -257.50 102.50 42.50 1.48837 -257.50 102.50 47.50 2.1376 -257.50 102.50 52.50 2.62261 -257.50 102.50 57.50 2.78082 -257.50 102.50 62.50 2.6922 -257.50 102.50 67.50 2.50909 -257.50 102.50 72.50 2.1347 -257.50 102.50 77.50 1.49965 -257.50 102.50 82.50 0.866702 -257.50 102.50 87.50 0.401083 -257.50 102.50 92.50 0.230709 -257.50 102.50 97.50 0.256431 -257.50 102.50 102.50 0.250356 -257.50 102.50 107.50 0.293103 -257.50 102.50 112.50 0.339523 -257.50 102.50 117.50 0.418267 -257.50 102.50 122.50 0.604673 -257.50 102.50 127.50 0.945098 -257.50 102.50 132.50 1.48837 -257.50 102.50 137.50 2.1376 -257.50 102.50 142.50 2.62261 -257.50 102.50 147.50 2.78082 -257.50 102.50 152.50 2.6922 -257.50 102.50 157.50 2.50909 -257.50 102.50 162.50 2.1347 -257.50 102.50 167.50 1.49965 -257.50 102.50 172.50 0.866702 -257.50 102.50 177.50 0.401083 -257.50 102.50 182.50 0.230709 -257.50 102.50 187.50 0.256431 -257.50 102.50 192.50 0.250356 -257.50 102.50 197.50 0.293102 -257.50 102.50 202.50 0.339523 -257.50 102.50 207.50 0.418267 -257.50 102.50 212.50 0.604672 -257.50 102.50 217.50 0.945097 -257.50 102.50 222.50 1.48837 -257.50 102.50 227.50 2.1376 -257.50 102.50 232.50 2.62261 -257.50 102.50 237.50 2.78082 -257.50 102.50 242.50 2.6922 -257.50 102.50 247.50 2.50909 -257.50 102.50 252.50 2.1347 -257.50 102.50 257.50 1.49965 -257.50 102.50 262.50 0.866701 -257.50 102.50 267.50 0.401083 -257.50 102.50 272.50 0.230709 -257.50 102.50 277.50 0.256431 -257.50 102.50 282.50 0.250356 -257.50 102.50 287.50 0.293102 -257.50 102.50 292.50 0.339523 -257.50 102.50 297.50 0.418267 -257.50 102.50 302.50 0.604672 -257.50 102.50 307.50 0.945096 -257.50 102.50 312.50 1.48837 -257.50 102.50 317.50 2.1376 -257.50 102.50 322.50 2.62261 -257.50 102.50 327.50 2.78082 -257.50 102.50 332.50 2.6922 -257.50 102.50 337.50 2.50909 -257.50 102.50 342.50 2.1347 -257.50 102.50 347.50 1.49966 -257.50 102.50 352.50 0.866703 -257.50 102.50 357.50 0.401084 -257.50 107.50 2.50 0.244704 -257.50 107.50 7.50 0.278137 -257.50 107.50 12.50 0.182174 -257.50 107.50 17.50 0.193121 -257.50 107.50 22.50 0.177703 -257.50 107.50 27.50 0.146755 -257.50 107.50 32.50 0.190522 -257.50 107.50 37.50 0.360379 -257.50 107.50 42.50 0.676224 -257.50 107.50 47.50 1.15349 -257.50 107.50 52.50 1.56178 -257.50 107.50 57.50 1.85379 -257.50 107.50 62.50 2.03098 -257.50 107.50 67.50 2.13414 -257.50 107.50 72.50 2.08213 -257.50 107.50 77.50 1.60304 -257.50 107.50 82.50 0.940418 -257.50 107.50 87.50 0.454511 -257.50 107.50 92.50 0.244704 -257.50 107.50 97.50 0.278137 -257.50 107.50 102.50 0.182174 -257.50 107.50 107.50 0.193121 -257.50 107.50 112.50 0.177703 -257.50 107.50 117.50 0.146755 -257.50 107.50 122.50 0.190522 -257.50 107.50 127.50 0.360379 -257.50 107.50 132.50 0.676225 -257.50 107.50 137.50 1.15349 -257.50 107.50 142.50 1.56178 -257.50 107.50 147.50 1.85379 -257.50 107.50 152.50 2.03098 -257.50 107.50 157.50 2.13414 -257.50 107.50 162.50 2.08213 -257.50 107.50 167.50 1.60304 -257.50 107.50 172.50 0.940418 -257.50 107.50 177.50 0.454511 -257.50 107.50 182.50 0.244704 -257.50 107.50 187.50 0.278137 -257.50 107.50 192.50 0.182174 -257.50 107.50 197.50 0.193121 -257.50 107.50 202.50 0.177703 -257.50 107.50 207.50 0.146755 -257.50 107.50 212.50 0.190522 -257.50 107.50 217.50 0.360379 -257.50 107.50 222.50 0.676224 -257.50 107.50 227.50 1.15349 -257.50 107.50 232.50 1.56178 -257.50 107.50 237.50 1.85379 -257.50 107.50 242.50 2.03098 -257.50 107.50 247.50 2.13414 -257.50 107.50 252.50 2.08213 -257.50 107.50 257.50 1.60304 -257.50 107.50 262.50 0.940416 -257.50 107.50 267.50 0.454511 -257.50 107.50 272.50 0.244704 -257.50 107.50 277.50 0.278137 -257.50 107.50 282.50 0.182174 -257.50 107.50 287.50 0.193121 -257.50 107.50 292.50 0.177703 -257.50 107.50 297.50 0.146755 -257.50 107.50 302.50 0.190522 -257.50 107.50 307.50 0.360379 -257.50 107.50 312.50 0.676224 -257.50 107.50 317.50 1.15349 -257.50 107.50 322.50 1.56178 -257.50 107.50 327.50 1.85379 -257.50 107.50 332.50 2.03098 -257.50 107.50 337.50 2.13414 -257.50 107.50 342.50 2.08213 -257.50 107.50 347.50 1.60305 -257.50 107.50 352.50 0.940419 -257.50 107.50 357.50 0.454512 -257.50 112.50 2.50 0.200246 -257.50 112.50 7.50 0.170016 -257.50 112.50 12.50 0.119157 -257.50 112.50 17.50 0.0816252 -257.50 112.50 22.50 0.0719871 -257.50 112.50 27.50 0.0543211 -257.50 112.50 32.50 0.048728 -257.50 112.50 37.50 0.0956056 -257.50 112.50 42.50 0.224621 -257.50 112.50 47.50 0.434025 -257.50 112.50 52.50 0.74717 -257.50 112.50 57.50 1.02467 -257.50 112.50 62.50 1.23256 -257.50 112.50 67.50 1.49383 -257.50 112.50 72.50 1.55094 -257.50 112.50 77.50 1.26497 -257.50 112.50 82.50 0.766071 -257.50 112.50 87.50 0.377387 -257.50 112.50 92.50 0.200246 -257.50 112.50 97.50 0.170016 -257.50 112.50 102.50 0.119157 -257.50 112.50 107.50 0.0816252 -257.50 112.50 112.50 0.0719871 -257.50 112.50 117.50 0.0543211 -257.50 112.50 122.50 0.0487281 -257.50 112.50 127.50 0.0956058 -257.50 112.50 132.50 0.224622 -257.50 112.50 137.50 0.434026 -257.50 112.50 142.50 0.747171 -257.50 112.50 147.50 1.02468 -257.50 112.50 152.50 1.23256 -257.50 112.50 157.50 1.49383 -257.50 112.50 162.50 1.55094 -257.50 112.50 167.50 1.26497 -257.50 112.50 172.50 0.766071 -257.50 112.50 177.50 0.377387 -257.50 112.50 182.50 0.200246 -257.50 112.50 187.50 0.170016 -257.50 112.50 192.50 0.119157 -257.50 112.50 197.50 0.0816252 -257.50 112.50 202.50 0.0719871 -257.50 112.50 207.50 0.0543212 -257.50 112.50 212.50 0.0487281 -257.50 112.50 217.50 0.0956056 -257.50 112.50 222.50 0.224622 -257.50 112.50 227.50 0.434026 -257.50 112.50 232.50 0.747171 -257.50 112.50 237.50 1.02468 -257.50 112.50 242.50 1.23256 -257.50 112.50 247.50 1.49383 -257.50 112.50 252.50 1.55094 -257.50 112.50 257.50 1.26497 -257.50 112.50 262.50 0.76607 -257.50 112.50 267.50 0.377387 -257.50 112.50 272.50 0.200246 -257.50 112.50 277.50 0.170016 -257.50 112.50 282.50 0.119157 -257.50 112.50 287.50 0.0816252 -257.50 112.50 292.50 0.0719871 -257.50 112.50 297.50 0.0543211 -257.50 112.50 302.50 0.048728 -257.50 112.50 307.50 0.0956054 -257.50 112.50 312.50 0.224621 -257.50 112.50 317.50 0.434025 -257.50 112.50 322.50 0.747169 -257.50 112.50 327.50 1.02467 -257.50 112.50 332.50 1.23256 -257.50 112.50 337.50 1.49383 -257.50 112.50 342.50 1.55094 -257.50 112.50 347.50 1.26497 -257.50 112.50 352.50 0.766072 -257.50 112.50 357.50 0.377388 -257.50 117.50 2.50 0.151509 -257.50 117.50 7.50 0.0841843 -257.50 117.50 12.50 0.056528 -257.50 117.50 17.50 0.0290198 -257.50 117.50 22.50 0.0178427 -257.50 117.50 27.50 0.0115919 -257.50 117.50 32.50 0.0105736 -257.50 117.50 37.50 0.0231848 -257.50 117.50 42.50 0.0619751 -257.50 117.50 47.50 0.143058 -257.50 117.50 52.50 0.280563 -257.50 117.50 57.50 0.41777 -257.50 117.50 62.50 0.583853 -257.50 117.50 67.50 0.771718 -257.50 117.50 72.50 0.848944 -257.50 117.50 77.50 0.784047 -257.50 117.50 82.50 0.529664 -257.50 117.50 87.50 0.268432 -257.50 117.50 92.50 0.151509 -257.50 117.50 97.50 0.0841844 -257.50 117.50 102.50 0.056528 -257.50 117.50 107.50 0.0290199 -257.50 117.50 112.50 0.0178428 -257.50 117.50 117.50 0.0115919 -257.50 117.50 122.50 0.0105736 -257.50 117.50 127.50 0.0231848 -257.50 117.50 132.50 0.0619752 -257.50 117.50 137.50 0.143058 -257.50 117.50 142.50 0.280563 -257.50 117.50 147.50 0.41777 -257.50 117.50 152.50 0.583853 -257.50 117.50 157.50 0.771718 -257.50 117.50 162.50 0.848943 -257.50 117.50 167.50 0.784049 -257.50 117.50 172.50 0.529664 -257.50 117.50 177.50 0.268432 -257.50 117.50 182.50 0.151509 -257.50 117.50 187.50 0.0841844 -257.50 117.50 192.50 0.0565281 -257.50 117.50 197.50 0.0290199 -257.50 117.50 202.50 0.0178428 -257.50 117.50 207.50 0.0115919 -257.50 117.50 212.50 0.0105736 -257.50 117.50 217.50 0.0231848 -257.50 117.50 222.50 0.0619751 -257.50 117.50 227.50 0.143058 -257.50 117.50 232.50 0.280563 -257.50 117.50 237.50 0.41777 -257.50 117.50 242.50 0.583853 -257.50 117.50 247.50 0.771718 -257.50 117.50 252.50 0.848944 -257.50 117.50 257.50 0.784048 -257.50 117.50 262.50 0.529664 -257.50 117.50 267.50 0.268432 -257.50 117.50 272.50 0.151509 -257.50 117.50 277.50 0.0841843 -257.50 117.50 282.50 0.0565281 -257.50 117.50 287.50 0.0290199 -257.50 117.50 292.50 0.0178428 -257.50 117.50 297.50 0.0115919 -257.50 117.50 302.50 0.0105736 -257.50 117.50 307.50 0.0231848 -257.50 117.50 312.50 0.0619751 -257.50 117.50 317.50 0.143058 -257.50 117.50 322.50 0.280563 -257.50 117.50 327.50 0.417769 -257.50 117.50 332.50 0.583852 -257.50 117.50 337.50 0.771717 -257.50 117.50 342.50 0.848943 -257.50 117.50 347.50 0.784048 -257.50 117.50 352.50 0.529665 -257.50 117.50 357.50 0.268433 -257.50 122.50 2.50 0.120114 -257.50 122.50 7.50 0.0489187 -257.50 122.50 12.50 0.0242278 -257.50 122.50 17.50 0.00922365 -257.50 122.50 22.50 0.00740195 -257.50 122.50 27.50 0.00618049 -257.50 122.50 32.50 0.00698854 -257.50 122.50 37.50 0.0113602 -257.50 122.50 42.50 0.0210899 -257.50 122.50 47.50 0.0416485 -257.50 122.50 52.50 0.0686553 -257.50 122.50 57.50 0.125212 -257.50 122.50 62.50 0.199509 -257.50 122.50 67.50 0.292971 -257.50 122.50 72.50 0.409848 -257.50 122.50 77.50 0.394771 -257.50 122.50 82.50 0.29178 -257.50 122.50 87.50 0.185298 -257.50 122.50 92.50 0.120114 -257.50 122.50 97.50 0.0489187 -257.50 122.50 102.50 0.0242278 -257.50 122.50 107.50 0.00922365 -257.50 122.50 112.50 0.00740195 -257.50 122.50 117.50 0.00618048 -257.50 122.50 122.50 0.00698853 -257.50 122.50 127.50 0.0113602 -257.50 122.50 132.50 0.0210899 -257.50 122.50 137.50 0.0416485 -257.50 122.50 142.50 0.0686553 -257.50 122.50 147.50 0.125212 -257.50 122.50 152.50 0.199509 -257.50 122.50 157.50 0.29297 -257.50 122.50 162.50 0.409849 -257.50 122.50 167.50 0.394771 -257.50 122.50 172.50 0.29178 -257.50 122.50 177.50 0.185298 -257.50 122.50 182.50 0.120114 -257.50 122.50 187.50 0.0489187 -257.50 122.50 192.50 0.0242279 -257.50 122.50 197.50 0.00922366 -257.50 122.50 202.50 0.00740194 -257.50 122.50 207.50 0.00618048 -257.50 122.50 212.50 0.00698853 -257.50 122.50 217.50 0.0113602 -257.50 122.50 222.50 0.0210899 -257.50 122.50 227.50 0.0416485 -257.50 122.50 232.50 0.0686554 -257.50 122.50 237.50 0.125213 -257.50 122.50 242.50 0.199509 -257.50 122.50 247.50 0.292971 -257.50 122.50 252.50 0.409849 -257.50 122.50 257.50 0.394771 -257.50 122.50 262.50 0.29178 -257.50 122.50 267.50 0.185298 -257.50 122.50 272.50 0.120114 -257.50 122.50 277.50 0.0489187 -257.50 122.50 282.50 0.0242279 -257.50 122.50 287.50 0.00922365 -257.50 122.50 292.50 0.00740194 -257.50 122.50 297.50 0.00618049 -257.50 122.50 302.50 0.00698854 -257.50 122.50 307.50 0.0113602 -257.50 122.50 312.50 0.0210899 -257.50 122.50 317.50 0.0416485 -257.50 122.50 322.50 0.0686553 -257.50 122.50 327.50 0.125212 -257.50 122.50 332.50 0.199509 -257.50 122.50 337.50 0.29297 -257.50 122.50 342.50 0.409848 -257.50 122.50 347.50 0.394771 -257.50 122.50 352.50 0.29178 -257.50 122.50 357.50 0.185298 -257.50 127.50 2.50 0.080885 -257.50 127.50 7.50 0.0303794 -257.50 127.50 12.50 0.0135287 -257.50 127.50 17.50 0.010879 -257.50 127.50 22.50 0.0202785 -257.50 127.50 27.50 0.0359703 -257.50 127.50 32.50 0.0554884 -257.50 127.50 37.50 0.0523203 -257.50 127.50 42.50 0.0418998 -257.50 127.50 47.50 0.0384457 -257.50 127.50 52.50 0.0254596 -257.50 127.50 57.50 0.0285112 -257.50 127.50 62.50 0.0510867 -257.50 127.50 67.50 0.0962981 -257.50 127.50 72.50 0.145581 -257.50 127.50 77.50 0.155459 -257.50 127.50 82.50 0.132956 -257.50 127.50 87.50 0.115287 -257.50 127.50 92.50 0.080885 -257.50 127.50 97.50 0.0303794 -257.50 127.50 102.50 0.0135287 -257.50 127.50 107.50 0.010879 -257.50 127.50 112.50 0.0202785 -257.50 127.50 117.50 0.0359703 -257.50 127.50 122.50 0.0554884 -257.50 127.50 127.50 0.0523202 -257.50 127.50 132.50 0.0418998 -257.50 127.50 137.50 0.0384456 -257.50 127.50 142.50 0.0254597 -257.50 127.50 147.50 0.0285112 -257.50 127.50 152.50 0.0510866 -257.50 127.50 157.50 0.096298 -257.50 127.50 162.50 0.145581 -257.50 127.50 167.50 0.15546 -257.50 127.50 172.50 0.132956 -257.50 127.50 177.50 0.115288 -257.50 127.50 182.50 0.0808849 -257.50 127.50 187.50 0.0303794 -257.50 127.50 192.50 0.0135287 -257.50 127.50 197.50 0.010879 -257.50 127.50 202.50 0.0202785 -257.50 127.50 207.50 0.0359702 -257.50 127.50 212.50 0.0554883 -257.50 127.50 217.50 0.0523203 -257.50 127.50 222.50 0.0418998 -257.50 127.50 227.50 0.0384457 -257.50 127.50 232.50 0.0254596 -257.50 127.50 237.50 0.0285112 -257.50 127.50 242.50 0.0510867 -257.50 127.50 247.50 0.0962981 -257.50 127.50 252.50 0.145581 -257.50 127.50 257.50 0.15546 -257.50 127.50 262.50 0.132956 -257.50 127.50 267.50 0.115288 -257.50 127.50 272.50 0.080885 -257.50 127.50 277.50 0.0303794 -257.50 127.50 282.50 0.0135287 -257.50 127.50 287.50 0.010879 -257.50 127.50 292.50 0.0202785 -257.50 127.50 297.50 0.0359703 -257.50 127.50 302.50 0.0554884 -257.50 127.50 307.50 0.0523203 -257.50 127.50 312.50 0.0418998 -257.50 127.50 317.50 0.0384457 -257.50 127.50 322.50 0.0254596 -257.50 127.50 327.50 0.0285112 -257.50 127.50 332.50 0.0510865 -257.50 127.50 337.50 0.0962978 -257.50 127.50 342.50 0.14558 -257.50 127.50 347.50 0.15546 -257.50 127.50 352.50 0.132956 -257.50 127.50 357.50 0.115288 -257.50 132.50 2.50 0.0382171 -257.50 132.50 7.50 0.0179044 -257.50 132.50 12.50 0.024012 -257.50 132.50 17.50 0.0424702 -257.50 132.50 22.50 0.086809 -257.50 132.50 27.50 0.177265 -257.50 132.50 32.50 0.29171 -257.50 132.50 37.50 0.320091 -257.50 132.50 42.50 0.248773 -257.50 132.50 47.50 0.186435 -257.50 132.50 52.50 0.107731 -257.50 132.50 57.50 0.0542918 -257.50 132.50 62.50 0.0298577 -257.50 132.50 67.50 0.0292199 -257.50 132.50 72.50 0.0366957 -257.50 132.50 77.50 0.0417048 -257.50 132.50 82.50 0.0512642 -257.50 132.50 87.50 0.0575414 -257.50 132.50 92.50 0.0382171 -257.50 132.50 97.50 0.0179044 -257.50 132.50 102.50 0.024012 -257.50 132.50 107.50 0.0424702 -257.50 132.50 112.50 0.0868089 -257.50 132.50 117.50 0.177265 -257.50 132.50 122.50 0.29171 -257.50 132.50 127.50 0.320091 -257.50 132.50 132.50 0.248773 -257.50 132.50 137.50 0.186435 -257.50 132.50 142.50 0.107731 -257.50 132.50 147.50 0.0542918 -257.50 132.50 152.50 0.0298577 -257.50 132.50 157.50 0.0292199 -257.50 132.50 162.50 0.0366958 -257.50 132.50 167.50 0.0417048 -257.50 132.50 172.50 0.0512642 -257.50 132.50 177.50 0.0575414 -257.50 132.50 182.50 0.0382171 -257.50 132.50 187.50 0.0179044 -257.50 132.50 192.50 0.024012 -257.50 132.50 197.50 0.0424702 -257.50 132.50 202.50 0.0868089 -257.50 132.50 207.50 0.177265 -257.50 132.50 212.50 0.29171 -257.50 132.50 217.50 0.320091 -257.50 132.50 222.50 0.248773 -257.50 132.50 227.50 0.186435 -257.50 132.50 232.50 0.10773 -257.50 132.50 237.50 0.0542917 -257.50 132.50 242.50 0.0298577 -257.50 132.50 247.50 0.0292199 -257.50 132.50 252.50 0.0366957 -257.50 132.50 257.50 0.0417049 -257.50 132.50 262.50 0.0512642 -257.50 132.50 267.50 0.0575414 -257.50 132.50 272.50 0.0382171 -257.50 132.50 277.50 0.0179044 -257.50 132.50 282.50 0.024012 -257.50 132.50 287.50 0.0424701 -257.50 132.50 292.50 0.0868089 -257.50 132.50 297.50 0.177265 -257.50 132.50 302.50 0.29171 -257.50 132.50 307.50 0.320091 -257.50 132.50 312.50 0.248773 -257.50 132.50 317.50 0.186435 -257.50 132.50 322.50 0.107731 -257.50 132.50 327.50 0.0542918 -257.50 132.50 332.50 0.0298577 -257.50 132.50 337.50 0.0292198 -257.50 132.50 342.50 0.0366957 -257.50 132.50 347.50 0.0417048 -257.50 132.50 352.50 0.0512641 -257.50 132.50 357.50 0.0575413 -257.50 137.50 2.50 0.0202141 -257.50 137.50 7.50 0.025361 -257.50 137.50 12.50 0.0715268 -257.50 137.50 17.50 0.146183 -257.50 137.50 22.50 0.261568 -257.50 137.50 27.50 0.53126 -257.50 137.50 32.50 0.880611 -257.50 137.50 37.50 1.09789 -257.50 137.50 42.50 0.983075 -257.50 137.50 47.50 0.784647 -257.50 137.50 52.50 0.434232 -257.50 137.50 57.50 0.231455 -257.50 137.50 62.50 0.0933622 -257.50 137.50 67.50 0.0442034 -257.50 137.50 72.50 0.0207145 -257.50 137.50 77.50 0.0162197 -257.50 137.50 82.50 0.023494 -257.50 137.50 87.50 0.0278132 -257.50 137.50 92.50 0.0202141 -257.50 137.50 97.50 0.025361 -257.50 137.50 102.50 0.0715268 -257.50 137.50 107.50 0.146183 -257.50 137.50 112.50 0.261568 -257.50 137.50 117.50 0.53126 -257.50 137.50 122.50 0.880611 -257.50 137.50 127.50 1.09789 -257.50 137.50 132.50 0.983075 -257.50 137.50 137.50 0.784647 -257.50 137.50 142.50 0.434233 -257.50 137.50 147.50 0.231455 -257.50 137.50 152.50 0.0933623 -257.50 137.50 157.50 0.0442034 -257.50 137.50 162.50 0.0207145 -257.50 137.50 167.50 0.0162197 -257.50 137.50 172.50 0.023494 -257.50 137.50 177.50 0.0278132 -257.50 137.50 182.50 0.0202141 -257.50 137.50 187.50 0.025361 -257.50 137.50 192.50 0.0715267 -257.50 137.50 197.50 0.146182 -257.50 137.50 202.50 0.261568 -257.50 137.50 207.50 0.531259 -257.50 137.50 212.50 0.880611 -257.50 137.50 217.50 1.09789 -257.50 137.50 222.50 0.983075 -257.50 137.50 227.50 0.784647 -257.50 137.50 232.50 0.434232 -257.50 137.50 237.50 0.231455 -257.50 137.50 242.50 0.0933621 -257.50 137.50 247.50 0.0442034 -257.50 137.50 252.50 0.0207145 -257.50 137.50 257.50 0.0162197 -257.50 137.50 262.50 0.023494 -257.50 137.50 267.50 0.0278132 -257.50 137.50 272.50 0.0202141 -257.50 137.50 277.50 0.025361 -257.50 137.50 282.50 0.0715267 -257.50 137.50 287.50 0.146182 -257.50 137.50 292.50 0.261567 -257.50 137.50 297.50 0.53126 -257.50 137.50 302.50 0.88061 -257.50 137.50 307.50 1.09789 -257.50 137.50 312.50 0.983075 -257.50 137.50 317.50 0.784647 -257.50 137.50 322.50 0.434233 -257.50 137.50 327.50 0.231455 -257.50 137.50 332.50 0.0933623 -257.50 137.50 337.50 0.0442035 -257.50 137.50 342.50 0.0207145 -257.50 137.50 347.50 0.0162197 -257.50 137.50 352.50 0.023494 -257.50 137.50 357.50 0.0278132 -257.50 142.50 2.50 0.0382171 -257.50 142.50 7.50 0.0661283 -257.50 142.50 12.50 0.171239 -257.50 142.50 17.50 0.351671 -257.50 142.50 22.50 0.623572 -257.50 142.50 27.50 1.15799 -257.50 142.50 32.50 1.92429 -257.50 142.50 37.50 2.46393 -257.50 142.50 42.50 2.48996 -257.50 142.50 47.50 2.00341 -257.50 142.50 52.50 1.25778 -257.50 142.50 57.50 0.621455 -257.50 142.50 62.50 0.293625 -257.50 142.50 67.50 0.137949 -257.50 142.50 72.50 0.0639956 -257.50 142.50 77.50 0.035394 -257.50 142.50 82.50 0.0344762 -257.50 142.50 87.50 0.0398609 -257.50 142.50 92.50 0.0382172 -257.50 142.50 97.50 0.0661283 -257.50 142.50 102.50 0.171239 -257.50 142.50 107.50 0.351671 -257.50 142.50 112.50 0.623572 -257.50 142.50 117.50 1.15799 -257.50 142.50 122.50 1.92429 -257.50 142.50 127.50 2.46393 -257.50 142.50 132.50 2.48996 -257.50 142.50 137.50 2.00341 -257.50 142.50 142.50 1.25778 -257.50 142.50 147.50 0.621456 -257.50 142.50 152.50 0.293625 -257.50 142.50 157.50 0.13795 -257.50 142.50 162.50 0.0639957 -257.50 142.50 167.50 0.035394 -257.50 142.50 172.50 0.0344762 -257.50 142.50 177.50 0.0398609 -257.50 142.50 182.50 0.0382171 -257.50 142.50 187.50 0.0661282 -257.50 142.50 192.50 0.171239 -257.50 142.50 197.50 0.351671 -257.50 142.50 202.50 0.623572 -257.50 142.50 207.50 1.15799 -257.50 142.50 212.50 1.92429 -257.50 142.50 217.50 2.46393 -257.50 142.50 222.50 2.48996 -257.50 142.50 227.50 2.00341 -257.50 142.50 232.50 1.25778 -257.50 142.50 237.50 0.621455 -257.50 142.50 242.50 0.293625 -257.50 142.50 247.50 0.137949 -257.50 142.50 252.50 0.0639956 -257.50 142.50 257.50 0.035394 -257.50 142.50 262.50 0.0344762 -257.50 142.50 267.50 0.0398608 -257.50 142.50 272.50 0.0382171 -257.50 142.50 277.50 0.0661283 -257.50 142.50 282.50 0.171239 -257.50 142.50 287.50 0.351671 -257.50 142.50 292.50 0.623572 -257.50 142.50 297.50 1.15799 -257.50 142.50 302.50 1.92429 -257.50 142.50 307.50 2.46393 -257.50 142.50 312.50 2.48996 -257.50 142.50 317.50 2.00341 -257.50 142.50 322.50 1.25778 -257.50 142.50 327.50 0.621456 -257.50 142.50 332.50 0.293626 -257.50 142.50 337.50 0.13795 -257.50 142.50 342.50 0.0639959 -257.50 142.50 347.50 0.035394 -257.50 142.50 352.50 0.0344762 -257.50 142.50 357.50 0.0398609 -257.50 147.50 2.50 0.080885 -257.50 147.50 7.50 0.128762 -257.50 147.50 12.50 0.298984 -257.50 147.50 17.50 0.605833 -257.50 147.50 22.50 1.08813 -257.50 147.50 27.50 1.9463 -257.50 147.50 32.50 3.10365 -257.50 147.50 37.50 3.98926 -257.50 147.50 42.50 4.07566 -257.50 147.50 47.50 3.37367 -257.50 147.50 52.50 2.22831 -257.50 147.50 57.50 1.1898 -257.50 147.50 62.50 0.596479 -257.50 147.50 67.50 0.318722 -257.50 147.50 72.50 0.18127 -257.50 147.50 77.50 0.111016 -257.50 147.50 82.50 0.0865846 -257.50 147.50 87.50 0.0834134 -257.50 147.50 92.50 0.080885 -257.50 147.50 97.50 0.128762 -257.50 147.50 102.50 0.298984 -257.50 147.50 107.50 0.605833 -257.50 147.50 112.50 1.08813 -257.50 147.50 117.50 1.9463 -257.50 147.50 122.50 3.10365 -257.50 147.50 127.50 3.98926 -257.50 147.50 132.50 4.07565 -257.50 147.50 137.50 3.37367 -257.50 147.50 142.50 2.22831 -257.50 147.50 147.50 1.1898 -257.50 147.50 152.50 0.59648 -257.50 147.50 157.50 0.318722 -257.50 147.50 162.50 0.18127 -257.50 147.50 167.50 0.111016 -257.50 147.50 172.50 0.0865846 -257.50 147.50 177.50 0.0834134 -257.50 147.50 182.50 0.080885 -257.50 147.50 187.50 0.128762 -257.50 147.50 192.50 0.298984 -257.50 147.50 197.50 0.605833 -257.50 147.50 202.50 1.08813 -257.50 147.50 207.50 1.9463 -257.50 147.50 212.50 3.10365 -257.50 147.50 217.50 3.98926 -257.50 147.50 222.50 4.07565 -257.50 147.50 227.50 3.37367 -257.50 147.50 232.50 2.22831 -257.50 147.50 237.50 1.1898 -257.50 147.50 242.50 0.596479 -257.50 147.50 247.50 0.318722 -257.50 147.50 252.50 0.18127 -257.50 147.50 257.50 0.111015 -257.50 147.50 262.50 0.0865846 -257.50 147.50 267.50 0.0834134 -257.50 147.50 272.50 0.080885 -257.50 147.50 277.50 0.128762 -257.50 147.50 282.50 0.298984 -257.50 147.50 287.50 0.605833 -257.50 147.50 292.50 1.08813 -257.50 147.50 297.50 1.94629 -257.50 147.50 302.50 3.10365 -257.50 147.50 307.50 3.98926 -257.50 147.50 312.50 4.07566 -257.50 147.50 317.50 3.37368 -257.50 147.50 322.50 2.22832 -257.50 147.50 327.50 1.1898 -257.50 147.50 332.50 0.596481 -257.50 147.50 337.50 0.318723 -257.50 147.50 342.50 0.18127 -257.50 147.50 347.50 0.111016 -257.50 147.50 352.50 0.0865845 -257.50 147.50 357.50 0.0834134 -257.50 152.50 2.50 0.120114 -257.50 152.50 7.50 0.165638 -257.50 152.50 12.50 0.370235 -257.50 152.50 17.50 0.736701 -257.50 152.50 22.50 1.36108 -257.50 152.50 27.50 2.39178 -257.50 152.50 32.50 3.66089 -257.50 152.50 37.50 4.68617 -257.50 152.50 42.50 4.88608 -257.50 152.50 47.50 4.10746 -257.50 152.50 52.50 2.76555 -257.50 152.50 57.50 1.5877 -257.50 152.50 62.50 0.877345 -257.50 152.50 67.50 0.544435 -257.50 152.50 72.50 0.392575 -257.50 152.50 77.50 0.274827 -257.50 152.50 82.50 0.188216 -257.50 152.50 87.50 0.139043 -257.50 152.50 92.50 0.120114 -257.50 152.50 97.50 0.165638 -257.50 152.50 102.50 0.370235 -257.50 152.50 107.50 0.736702 -257.50 152.50 112.50 1.36108 -257.50 152.50 117.50 2.39178 -257.50 152.50 122.50 3.66089 -257.50 152.50 127.50 4.68617 -257.50 152.50 132.50 4.88608 -257.50 152.50 137.50 4.10746 -257.50 152.50 142.50 2.76555 -257.50 152.50 147.50 1.5877 -257.50 152.50 152.50 0.877346 -257.50 152.50 157.50 0.544435 -257.50 152.50 162.50 0.392575 -257.50 152.50 167.50 0.274827 -257.50 152.50 172.50 0.188216 -257.50 152.50 177.50 0.139043 -257.50 152.50 182.50 0.120114 -257.50 152.50 187.50 0.165638 -257.50 152.50 192.50 0.370236 -257.50 152.50 197.50 0.736702 -257.50 152.50 202.50 1.36108 -257.50 152.50 207.50 2.39178 -257.50 152.50 212.50 3.66089 -257.50 152.50 217.50 4.68617 -257.50 152.50 222.50 4.88608 -257.50 152.50 227.50 4.10746 -257.50 152.50 232.50 2.76555 -257.50 152.50 237.50 1.5877 -257.50 152.50 242.50 0.877345 -257.50 152.50 247.50 0.544435 -257.50 152.50 252.50 0.392575 -257.50 152.50 257.50 0.274827 -257.50 152.50 262.50 0.188216 -257.50 152.50 267.50 0.139043 -257.50 152.50 272.50 0.120114 -257.50 152.50 277.50 0.165638 -257.50 152.50 282.50 0.370235 -257.50 152.50 287.50 0.736702 -257.50 152.50 292.50 1.36108 -257.50 152.50 297.50 2.39178 -257.50 152.50 302.50 3.66089 -257.50 152.50 307.50 4.68617 -257.50 152.50 312.50 4.88608 -257.50 152.50 317.50 4.10746 -257.50 152.50 322.50 2.76555 -257.50 152.50 327.50 1.58771 -257.50 152.50 332.50 0.877347 -257.50 152.50 337.50 0.544436 -257.50 152.50 342.50 0.392575 -257.50 152.50 347.50 0.274827 -257.50 152.50 352.50 0.188216 -257.50 152.50 357.50 0.139043 -257.50 157.50 2.50 0.151509 -257.50 157.50 7.50 0.163149 -257.50 157.50 12.50 0.338627 -257.50 157.50 17.50 0.660137 -257.50 157.50 22.50 1.23538 -257.50 157.50 27.50 2.11979 -257.50 157.50 32.50 3.18725 -257.50 157.50 37.50 4.03103 -257.50 157.50 42.50 4.26268 -257.50 157.50 47.50 3.69947 -257.50 157.50 52.50 2.543 -257.50 157.50 57.50 1.56999 -257.50 157.50 62.50 0.994932 -257.50 157.50 67.50 0.756146 -257.50 157.50 72.50 0.657065 -257.50 157.50 77.50 0.520586 -257.50 157.50 82.50 0.342609 -257.50 157.50 87.50 0.213904 -257.50 157.50 92.50 0.151509 -257.50 157.50 97.50 0.163149 -257.50 157.50 102.50 0.338627 -257.50 157.50 107.50 0.660137 -257.50 157.50 112.50 1.23538 -257.50 157.50 117.50 2.11979 -257.50 157.50 122.50 3.18726 -257.50 157.50 127.50 4.03102 -257.50 157.50 132.50 4.26268 -257.50 157.50 137.50 3.69947 -257.50 157.50 142.50 2.543 -257.50 157.50 147.50 1.56999 -257.50 157.50 152.50 0.994933 -257.50 157.50 157.50 0.756146 -257.50 157.50 162.50 0.657065 -257.50 157.50 167.50 0.520586 -257.50 157.50 172.50 0.342609 -257.50 157.50 177.50 0.213904 -257.50 157.50 182.50 0.151509 -257.50 157.50 187.50 0.163149 -257.50 157.50 192.50 0.338627 -257.50 157.50 197.50 0.660137 -257.50 157.50 202.50 1.23538 -257.50 157.50 207.50 2.11979 -257.50 157.50 212.50 3.18725 -257.50 157.50 217.50 4.03102 -257.50 157.50 222.50 4.26268 -257.50 157.50 227.50 3.69947 -257.50 157.50 232.50 2.543 -257.50 157.50 237.50 1.56999 -257.50 157.50 242.50 0.994932 -257.50 157.50 247.50 0.756146 -257.50 157.50 252.50 0.657065 -257.50 157.50 257.50 0.520585 -257.50 157.50 262.50 0.342609 -257.50 157.50 267.50 0.213904 -257.50 157.50 272.50 0.151509 -257.50 157.50 277.50 0.163149 -257.50 157.50 282.50 0.338627 -257.50 157.50 287.50 0.660137 -257.50 157.50 292.50 1.23538 -257.50 157.50 297.50 2.11978 -257.50 157.50 302.50 3.18725 -257.50 157.50 307.50 4.03102 -257.50 157.50 312.50 4.26268 -257.50 157.50 317.50 3.69947 -257.50 157.50 322.50 2.543 -257.50 157.50 327.50 1.57 -257.50 157.50 332.50 0.994933 -257.50 157.50 337.50 0.756146 -257.50 157.50 342.50 0.657065 -257.50 157.50 347.50 0.520586 -257.50 157.50 352.50 0.34261 -257.50 157.50 357.50 0.213904 -257.50 162.50 2.50 0.200246 -257.50 162.50 7.50 0.162877 -257.50 162.50 12.50 0.271564 -257.50 162.50 17.50 0.529187 -257.50 162.50 22.50 0.900622 -257.50 162.50 27.50 1.45356 -257.50 162.50 32.50 2.08212 -257.50 162.50 37.50 2.63506 -257.50 162.50 42.50 2.83112 -257.50 162.50 47.50 2.43961 -257.50 162.50 52.50 1.76351 -257.50 162.50 57.50 1.21643 -257.50 162.50 62.50 0.915795 -257.50 162.50 67.50 0.844619 -257.50 162.50 72.50 0.8701 -257.50 162.50 77.50 0.741939 -257.50 162.50 82.50 0.51311 -257.50 162.50 87.50 0.322734 -257.50 162.50 92.50 0.200246 -257.50 162.50 97.50 0.162877 -257.50 162.50 102.50 0.271564 -257.50 162.50 107.50 0.529187 -257.50 162.50 112.50 0.900621 -257.50 162.50 117.50 1.45356 -257.50 162.50 122.50 2.08212 -257.50 162.50 127.50 2.63506 -257.50 162.50 132.50 2.83112 -257.50 162.50 137.50 2.43961 -257.50 162.50 142.50 1.76351 -257.50 162.50 147.50 1.21643 -257.50 162.50 152.50 0.915796 -257.50 162.50 157.50 0.84462 -257.50 162.50 162.50 0.8701 -257.50 162.50 167.50 0.741938 -257.50 162.50 172.50 0.51311 -257.50 162.50 177.50 0.322734 -257.50 162.50 182.50 0.200246 -257.50 162.50 187.50 0.162877 -257.50 162.50 192.50 0.271564 -257.50 162.50 197.50 0.529187 -257.50 162.50 202.50 0.900622 -257.50 162.50 207.50 1.45356 -257.50 162.50 212.50 2.08212 -257.50 162.50 217.50 2.63506 -257.50 162.50 222.50 2.83112 -257.50 162.50 227.50 2.43961 -257.50 162.50 232.50 1.76351 -257.50 162.50 237.50 1.21643 -257.50 162.50 242.50 0.915795 -257.50 162.50 247.50 0.84462 -257.50 162.50 252.50 0.870101 -257.50 162.50 257.50 0.741938 -257.50 162.50 262.50 0.51311 -257.50 162.50 267.50 0.322734 -257.50 162.50 272.50 0.200246 -257.50 162.50 277.50 0.162877 -257.50 162.50 282.50 0.271564 -257.50 162.50 287.50 0.529187 -257.50 162.50 292.50 0.900621 -257.50 162.50 297.50 1.45356 -257.50 162.50 302.50 2.08212 -257.50 162.50 307.50 2.63506 -257.50 162.50 312.50 2.83112 -257.50 162.50 317.50 2.43961 -257.50 162.50 322.50 1.76351 -257.50 162.50 327.50 1.21643 -257.50 162.50 332.50 0.915796 -257.50 162.50 337.50 0.844619 -257.50 162.50 342.50 0.8701 -257.50 162.50 347.50 0.741939 -257.50 162.50 352.50 0.513111 -257.50 162.50 357.50 0.322735 -257.50 167.50 2.50 0.244704 -257.50 167.50 7.50 0.170695 -257.50 167.50 12.50 0.211335 -257.50 167.50 17.50 0.403468 -257.50 167.50 22.50 0.645138 -257.50 167.50 27.50 0.87555 -257.50 167.50 32.50 1.09907 -257.50 167.50 37.50 1.33038 -257.50 167.50 42.50 1.43216 -257.50 167.50 47.50 1.30328 -257.50 167.50 52.50 1.01527 -257.50 167.50 57.50 0.733604 -257.50 167.50 62.50 0.614572 -257.50 167.50 67.50 0.757982 -257.50 167.50 72.50 0.904767 -257.50 167.50 77.50 0.848716 -257.50 167.50 82.50 0.628789 -257.50 167.50 87.50 0.41502 -257.50 167.50 92.50 0.244704 -257.50 167.50 97.50 0.170695 -257.50 167.50 102.50 0.211335 -257.50 167.50 107.50 0.403469 -257.50 167.50 112.50 0.645139 -257.50 167.50 117.50 0.875551 -257.50 167.50 122.50 1.09907 -257.50 167.50 127.50 1.33038 -257.50 167.50 132.50 1.43216 -257.50 167.50 137.50 1.30328 -257.50 167.50 142.50 1.01527 -257.50 167.50 147.50 0.733604 -257.50 167.50 152.50 0.614572 -257.50 167.50 157.50 0.757982 -257.50 167.50 162.50 0.904768 -257.50 167.50 167.50 0.848716 -257.50 167.50 172.50 0.628789 -257.50 167.50 177.50 0.41502 -257.50 167.50 182.50 0.244703 -257.50 167.50 187.50 0.170695 -257.50 167.50 192.50 0.211335 -257.50 167.50 197.50 0.403468 -257.50 167.50 202.50 0.645139 -257.50 167.50 207.50 0.875551 -257.50 167.50 212.50 1.09907 -257.50 167.50 217.50 1.33038 -257.50 167.50 222.50 1.43216 -257.50 167.50 227.50 1.30328 -257.50 167.50 232.50 1.01527 -257.50 167.50 237.50 0.733604 -257.50 167.50 242.50 0.614572 -257.50 167.50 247.50 0.757982 -257.50 167.50 252.50 0.904768 -257.50 167.50 257.50 0.848715 -257.50 167.50 262.50 0.628788 -257.50 167.50 267.50 0.41502 -257.50 167.50 272.50 0.244703 -257.50 167.50 277.50 0.170695 -257.50 167.50 282.50 0.211335 -257.50 167.50 287.50 0.403468 -257.50 167.50 292.50 0.645138 -257.50 167.50 297.50 0.875551 -257.50 167.50 302.50 1.09907 -257.50 167.50 307.50 1.33038 -257.50 167.50 312.50 1.43216 -257.50 167.50 317.50 1.30328 -257.50 167.50 322.50 1.01527 -257.50 167.50 327.50 0.733604 -257.50 167.50 332.50 0.614572 -257.50 167.50 337.50 0.757981 -257.50 167.50 342.50 0.904768 -257.50 167.50 347.50 0.848716 -257.50 167.50 352.50 0.628789 -257.50 167.50 357.50 0.41502 -257.50 172.50 2.50 0.230709 -257.50 172.50 7.50 0.145289 -257.50 172.50 12.50 0.159494 -257.50 172.50 17.50 0.242567 -257.50 172.50 22.50 0.370092 -257.50 172.50 27.50 0.457379 -257.50 172.50 32.50 0.512493 -257.50 172.50 37.50 0.574048 -257.50 172.50 42.50 0.597213 -257.50 172.50 47.50 0.543761 -257.50 172.50 52.50 0.430596 -257.50 172.50 57.50 0.335433 -257.50 172.50 62.50 0.371627 -257.50 172.50 67.50 0.567897 -257.50 172.50 72.50 0.794106 -257.50 172.50 77.50 0.838584 -257.50 172.50 82.50 0.681812 -257.50 172.50 87.50 0.427285 -257.50 172.50 92.50 0.230709 -257.50 172.50 97.50 0.145288 -257.50 172.50 102.50 0.159494 -257.50 172.50 107.50 0.242567 -257.50 172.50 112.50 0.370093 -257.50 172.50 117.50 0.457379 -257.50 172.50 122.50 0.512494 -257.50 172.50 127.50 0.574048 -257.50 172.50 132.50 0.597213 -257.50 172.50 137.50 0.543761 -257.50 172.50 142.50 0.430596 -257.50 172.50 147.50 0.335433 -257.50 172.50 152.50 0.371627 -257.50 172.50 157.50 0.567897 -257.50 172.50 162.50 0.794106 -257.50 172.50 167.50 0.838584 -257.50 172.50 172.50 0.681812 -257.50 172.50 177.50 0.427285 -257.50 172.50 182.50 0.230709 -257.50 172.50 187.50 0.145288 -257.50 172.50 192.50 0.159494 -257.50 172.50 197.50 0.242567 -257.50 172.50 202.50 0.370093 -257.50 172.50 207.50 0.457379 -257.50 172.50 212.50 0.512493 -257.50 172.50 217.50 0.574047 -257.50 172.50 222.50 0.597214 -257.50 172.50 227.50 0.543762 -257.50 172.50 232.50 0.430596 -257.50 172.50 237.50 0.335433 -257.50 172.50 242.50 0.371627 -257.50 172.50 247.50 0.567897 -257.50 172.50 252.50 0.794106 -257.50 172.50 257.50 0.838583 -257.50 172.50 262.50 0.681812 -257.50 172.50 267.50 0.427284 -257.50 172.50 272.50 0.230709 -257.50 172.50 277.50 0.145288 -257.50 172.50 282.50 0.159494 -257.50 172.50 287.50 0.242567 -257.50 172.50 292.50 0.370092 -257.50 172.50 297.50 0.457379 -257.50 172.50 302.50 0.512493 -257.50 172.50 307.50 0.574048 -257.50 172.50 312.50 0.597214 -257.50 172.50 317.50 0.543762 -257.50 172.50 322.50 0.430597 -257.50 172.50 327.50 0.335433 -257.50 172.50 332.50 0.371627 -257.50 172.50 337.50 0.567896 -257.50 172.50 342.50 0.794106 -257.50 172.50 347.50 0.838584 -257.50 172.50 352.50 0.681813 -257.50 172.50 357.50 0.427285 -257.50 177.50 2.50 0.172972 -257.50 177.50 7.50 0.0902107 -257.50 177.50 12.50 0.085531 -257.50 177.50 17.50 0.118386 -257.50 177.50 22.50 0.156691 -257.50 177.50 27.50 0.174066 -257.50 177.50 32.50 0.174826 -257.50 177.50 37.50 0.187044 -257.50 177.50 42.50 0.189423 -257.50 177.50 47.50 0.164881 -257.50 177.50 52.50 0.126409 -257.50 177.50 57.50 0.112652 -257.50 177.50 62.50 0.180691 -257.50 177.50 67.50 0.393842 -257.50 177.50 72.50 0.691078 -257.50 177.50 77.50 0.837588 -257.50 177.50 82.50 0.678347 -257.50 177.50 87.50 0.381828 -257.50 177.50 92.50 0.172972 -257.50 177.50 97.50 0.0902107 -257.50 177.50 102.50 0.085531 -257.50 177.50 107.50 0.118386 -257.50 177.50 112.50 0.156691 -257.50 177.50 117.50 0.174066 -257.50 177.50 122.50 0.174826 -257.50 177.50 127.50 0.187044 -257.50 177.50 132.50 0.189423 -257.50 177.50 137.50 0.164881 -257.50 177.50 142.50 0.126409 -257.50 177.50 147.50 0.112652 -257.50 177.50 152.50 0.180691 -257.50 177.50 157.50 0.393842 -257.50 177.50 162.50 0.691078 -257.50 177.50 167.50 0.837588 -257.50 177.50 172.50 0.678347 -257.50 177.50 177.50 0.381828 -257.50 177.50 182.50 0.172972 -257.50 177.50 187.50 0.0902107 -257.50 177.50 192.50 0.085531 -257.50 177.50 197.50 0.118386 -257.50 177.50 202.50 0.156691 -257.50 177.50 207.50 0.174066 -257.50 177.50 212.50 0.174826 -257.50 177.50 217.50 0.187044 -257.50 177.50 222.50 0.189423 -257.50 177.50 227.50 0.164881 -257.50 177.50 232.50 0.126409 -257.50 177.50 237.50 0.112652 -257.50 177.50 242.50 0.180691 -257.50 177.50 247.50 0.393843 -257.50 177.50 252.50 0.691079 -257.50 177.50 257.50 0.837588 -257.50 177.50 262.50 0.678346 -257.50 177.50 267.50 0.381827 -257.50 177.50 272.50 0.172972 -257.50 177.50 277.50 0.0902107 -257.50 177.50 282.50 0.0855309 -257.50 177.50 287.50 0.118386 -257.50 177.50 292.50 0.156691 -257.50 177.50 297.50 0.174066 -257.50 177.50 302.50 0.174826 -257.50 177.50 307.50 0.187044 -257.50 177.50 312.50 0.189423 -257.50 177.50 317.50 0.164882 -257.50 177.50 322.50 0.126409 -257.50 177.50 327.50 0.112652 -257.50 177.50 332.50 0.180691 -257.50 177.50 337.50 0.393841 -257.50 177.50 342.50 0.691078 -257.50 177.50 347.50 0.837588 -257.50 177.50 352.50 0.678347 -257.50 177.50 357.50 0.381828 -262.50 2.50 2.50 0.393273 -262.50 2.50 7.50 0.77318 -262.50 2.50 12.50 0.980476 -262.50 2.50 17.50 0.773178 -262.50 2.50 22.50 0.393272 -262.50 2.50 27.50 0.149977 -262.50 2.50 32.50 0.0624685 -262.50 2.50 37.50 0.048522 -262.50 2.50 42.50 0.0601603 -262.50 2.50 47.50 0.0760386 -262.50 2.50 52.50 0.083846 -262.50 2.50 57.50 0.084539 -262.50 2.50 62.50 0.083846 -262.50 2.50 67.50 0.0760385 -262.50 2.50 72.50 0.0601603 -262.50 2.50 77.50 0.0485219 -262.50 2.50 82.50 0.0624686 -262.50 2.50 87.50 0.149977 -262.50 2.50 92.50 0.393273 -262.50 2.50 97.50 0.77318 -262.50 2.50 102.50 0.980476 -262.50 2.50 107.50 0.773179 -262.50 2.50 112.50 0.393272 -262.50 2.50 117.50 0.149977 -262.50 2.50 122.50 0.0624685 -262.50 2.50 127.50 0.0485219 -262.50 2.50 132.50 0.0601603 -262.50 2.50 137.50 0.0760386 -262.50 2.50 142.50 0.083846 -262.50 2.50 147.50 0.084539 -262.50 2.50 152.50 0.083846 -262.50 2.50 157.50 0.0760385 -262.50 2.50 162.50 0.0601603 -262.50 2.50 167.50 0.0485219 -262.50 2.50 172.50 0.0624685 -262.50 2.50 177.50 0.149977 -262.50 2.50 182.50 0.393273 -262.50 2.50 187.50 0.77318 -262.50 2.50 192.50 0.980476 -262.50 2.50 197.50 0.773178 -262.50 2.50 202.50 0.393272 -262.50 2.50 207.50 0.149977 -262.50 2.50 212.50 0.0624685 -262.50 2.50 217.50 0.0485219 -262.50 2.50 222.50 0.0601603 -262.50 2.50 227.50 0.0760386 -262.50 2.50 232.50 0.083846 -262.50 2.50 237.50 0.084539 -262.50 2.50 242.50 0.083846 -262.50 2.50 247.50 0.0760385 -262.50 2.50 252.50 0.0601603 -262.50 2.50 257.50 0.0485219 -262.50 2.50 262.50 0.0624686 -262.50 2.50 267.50 0.149977 -262.50 2.50 272.50 0.393273 -262.50 2.50 277.50 0.77318 -262.50 2.50 282.50 0.980476 -262.50 2.50 287.50 0.773179 -262.50 2.50 292.50 0.393272 -262.50 2.50 297.50 0.149977 -262.50 2.50 302.50 0.0624686 -262.50 2.50 307.50 0.0485219 -262.50 2.50 312.50 0.0601603 -262.50 2.50 317.50 0.0760385 -262.50 2.50 322.50 0.083846 -262.50 2.50 327.50 0.084539 -262.50 2.50 332.50 0.083846 -262.50 2.50 337.50 0.0760385 -262.50 2.50 342.50 0.0601603 -262.50 2.50 347.50 0.048522 -262.50 2.50 352.50 0.0624685 -262.50 2.50 357.50 0.149977 -262.50 7.50 2.50 0.382023 -262.50 7.50 7.50 0.676165 -262.50 7.50 12.50 0.831023 -262.50 7.50 17.50 0.6832 -262.50 7.50 22.50 0.389547 -262.50 7.50 27.50 0.179049 -262.50 7.50 32.50 0.0996234 -262.50 7.50 37.50 0.109341 -262.50 7.50 42.50 0.149476 -262.50 7.50 47.50 0.183936 -262.50 7.50 52.50 0.190282 -262.50 7.50 57.50 0.179472 -262.50 7.50 62.50 0.172035 -262.50 7.50 67.50 0.16239 -262.50 7.50 72.50 0.129792 -262.50 7.50 77.50 0.0946782 -262.50 7.50 82.50 0.094188 -262.50 7.50 87.50 0.174053 -262.50 7.50 92.50 0.382023 -262.50 7.50 97.50 0.676165 -262.50 7.50 102.50 0.831023 -262.50 7.50 107.50 0.6832 -262.50 7.50 112.50 0.389547 -262.50 7.50 117.50 0.179049 -262.50 7.50 122.50 0.0996234 -262.50 7.50 127.50 0.109341 -262.50 7.50 132.50 0.149476 -262.50 7.50 137.50 0.183936 -262.50 7.50 142.50 0.190282 -262.50 7.50 147.50 0.179472 -262.50 7.50 152.50 0.172035 -262.50 7.50 157.50 0.16239 -262.50 7.50 162.50 0.129792 -262.50 7.50 167.50 0.0946782 -262.50 7.50 172.50 0.094188 -262.50 7.50 177.50 0.174053 -262.50 7.50 182.50 0.382023 -262.50 7.50 187.50 0.676165 -262.50 7.50 192.50 0.831023 -262.50 7.50 197.50 0.6832 -262.50 7.50 202.50 0.389547 -262.50 7.50 207.50 0.179049 -262.50 7.50 212.50 0.0996235 -262.50 7.50 217.50 0.109341 -262.50 7.50 222.50 0.149476 -262.50 7.50 227.50 0.183936 -262.50 7.50 232.50 0.190282 -262.50 7.50 237.50 0.179472 -262.50 7.50 242.50 0.172036 -262.50 7.50 247.50 0.16239 -262.50 7.50 252.50 0.129792 -262.50 7.50 257.50 0.0946781 -262.50 7.50 262.50 0.094188 -262.50 7.50 267.50 0.174053 -262.50 7.50 272.50 0.382023 -262.50 7.50 277.50 0.676164 -262.50 7.50 282.50 0.831023 -262.50 7.50 287.50 0.683201 -262.50 7.50 292.50 0.389547 -262.50 7.50 297.50 0.179049 -262.50 7.50 302.50 0.0996235 -262.50 7.50 307.50 0.109341 -262.50 7.50 312.50 0.149476 -262.50 7.50 317.50 0.183937 -262.50 7.50 322.50 0.190282 -262.50 7.50 327.50 0.179472 -262.50 7.50 332.50 0.172036 -262.50 7.50 337.50 0.162391 -262.50 7.50 342.50 0.129792 -262.50 7.50 347.50 0.0946782 -262.50 7.50 352.50 0.0941879 -262.50 7.50 357.50 0.174053 -262.50 12.50 2.50 0.429838 -262.50 12.50 7.50 0.676992 -262.50 12.50 12.50 0.813808 -262.50 12.50 17.50 0.722749 -262.50 12.50 22.50 0.516293 -262.50 12.50 27.50 0.333601 -262.50 12.50 32.50 0.288579 -262.50 12.50 37.50 0.365722 -262.50 12.50 42.50 0.488365 -262.50 12.50 47.50 0.572373 -262.50 12.50 52.50 0.575784 -262.50 12.50 57.50 0.532107 -262.50 12.50 62.50 0.487628 -262.50 12.50 67.50 0.422649 -262.50 12.50 72.50 0.31191 -262.50 12.50 77.50 0.192409 -262.50 12.50 82.50 0.159389 -262.50 12.50 87.50 0.235639 -262.50 12.50 92.50 0.429838 -262.50 12.50 97.50 0.676991 -262.50 12.50 102.50 0.813808 -262.50 12.50 107.50 0.722749 -262.50 12.50 112.50 0.516293 -262.50 12.50 117.50 0.333601 -262.50 12.50 122.50 0.288579 -262.50 12.50 127.50 0.365722 -262.50 12.50 132.50 0.488365 -262.50 12.50 137.50 0.572373 -262.50 12.50 142.50 0.575784 -262.50 12.50 147.50 0.532107 -262.50 12.50 152.50 0.487628 -262.50 12.50 157.50 0.422649 -262.50 12.50 162.50 0.31191 -262.50 12.50 167.50 0.192409 -262.50 12.50 172.50 0.159389 -262.50 12.50 177.50 0.235639 -262.50 12.50 182.50 0.429838 -262.50 12.50 187.50 0.676992 -262.50 12.50 192.50 0.813809 -262.50 12.50 197.50 0.72275 -262.50 12.50 202.50 0.516293 -262.50 12.50 207.50 0.333601 -262.50 12.50 212.50 0.288579 -262.50 12.50 217.50 0.365722 -262.50 12.50 222.50 0.488365 -262.50 12.50 227.50 0.572373 -262.50 12.50 232.50 0.575784 -262.50 12.50 237.50 0.532107 -262.50 12.50 242.50 0.487628 -262.50 12.50 247.50 0.422649 -262.50 12.50 252.50 0.31191 -262.50 12.50 257.50 0.192409 -262.50 12.50 262.50 0.159389 -262.50 12.50 267.50 0.23564 -262.50 12.50 272.50 0.429838 -262.50 12.50 277.50 0.676992 -262.50 12.50 282.50 0.813809 -262.50 12.50 287.50 0.722749 -262.50 12.50 292.50 0.516293 -262.50 12.50 297.50 0.333601 -262.50 12.50 302.50 0.288579 -262.50 12.50 307.50 0.365722 -262.50 12.50 312.50 0.488365 -262.50 12.50 317.50 0.572373 -262.50 12.50 322.50 0.575784 -262.50 12.50 327.50 0.532107 -262.50 12.50 332.50 0.487628 -262.50 12.50 337.50 0.42265 -262.50 12.50 342.50 0.311911 -262.50 12.50 347.50 0.192409 -262.50 12.50 352.50 0.159389 -262.50 12.50 357.50 0.235639 -262.50 17.50 2.50 0.422612 -262.50 17.50 7.50 0.61695 -262.50 17.50 12.50 0.752468 -262.50 17.50 17.50 0.793546 -262.50 17.50 22.50 0.664736 -262.50 17.50 27.50 0.523012 -262.50 17.50 32.50 0.549046 -262.50 17.50 37.50 0.813274 -262.50 17.50 42.50 1.12062 -262.50 17.50 47.50 1.34198 -262.50 17.50 52.50 1.35538 -262.50 17.50 57.50 1.19043 -262.50 17.50 62.50 0.958855 -262.50 17.50 67.50 0.755381 -262.50 17.50 72.50 0.533063 -262.50 17.50 77.50 0.326764 -262.50 17.50 82.50 0.20374 -262.50 17.50 87.50 0.257716 -262.50 17.50 92.50 0.422612 -262.50 17.50 97.50 0.61695 -262.50 17.50 102.50 0.752467 -262.50 17.50 107.50 0.793546 -262.50 17.50 112.50 0.664736 -262.50 17.50 117.50 0.523012 -262.50 17.50 122.50 0.549046 -262.50 17.50 127.50 0.813274 -262.50 17.50 132.50 1.12062 -262.50 17.50 137.50 1.34198 -262.50 17.50 142.50 1.35538 -262.50 17.50 147.50 1.19043 -262.50 17.50 152.50 0.958855 -262.50 17.50 157.50 0.755381 -262.50 17.50 162.50 0.533063 -262.50 17.50 167.50 0.326764 -262.50 17.50 172.50 0.20374 -262.50 17.50 177.50 0.257716 -262.50 17.50 182.50 0.422612 -262.50 17.50 187.50 0.61695 -262.50 17.50 192.50 0.752468 -262.50 17.50 197.50 0.793546 -262.50 17.50 202.50 0.664736 -262.50 17.50 207.50 0.523012 -262.50 17.50 212.50 0.549046 -262.50 17.50 217.50 0.813274 -262.50 17.50 222.50 1.12062 -262.50 17.50 227.50 1.34198 -262.50 17.50 232.50 1.35538 -262.50 17.50 237.50 1.19043 -262.50 17.50 242.50 0.958855 -262.50 17.50 247.50 0.755381 -262.50 17.50 252.50 0.533063 -262.50 17.50 257.50 0.326764 -262.50 17.50 262.50 0.20374 -262.50 17.50 267.50 0.257717 -262.50 17.50 272.50 0.422612 -262.50 17.50 277.50 0.61695 -262.50 17.50 282.50 0.752468 -262.50 17.50 287.50 0.793546 -262.50 17.50 292.50 0.664736 -262.50 17.50 297.50 0.523012 -262.50 17.50 302.50 0.549046 -262.50 17.50 307.50 0.813273 -262.50 17.50 312.50 1.12062 -262.50 17.50 317.50 1.34198 -262.50 17.50 322.50 1.35538 -262.50 17.50 327.50 1.19043 -262.50 17.50 332.50 0.958856 -262.50 17.50 337.50 0.755381 -262.50 17.50 342.50 0.533064 -262.50 17.50 347.50 0.326764 -262.50 17.50 352.50 0.20374 -262.50 17.50 357.50 0.257716 -262.50 22.50 2.50 0.335765 -262.50 22.50 7.50 0.477904 -262.50 22.50 12.50 0.634357 -262.50 22.50 17.50 0.734155 -262.50 22.50 22.50 0.689209 -262.50 22.50 27.50 0.688366 -262.50 22.50 32.50 0.936155 -262.50 22.50 37.50 1.39061 -262.50 22.50 42.50 1.99347 -262.50 22.50 47.50 2.53465 -262.50 22.50 52.50 2.64716 -262.50 22.50 57.50 2.2721 -262.50 22.50 62.50 1.72951 -262.50 22.50 67.50 1.16572 -262.50 22.50 72.50 0.700174 -262.50 22.50 77.50 0.416464 -262.50 22.50 82.50 0.242003 -262.50 22.50 87.50 0.222832 -262.50 22.50 92.50 0.335765 -262.50 22.50 97.50 0.477904 -262.50 22.50 102.50 0.634357 -262.50 22.50 107.50 0.734155 -262.50 22.50 112.50 0.689209 -262.50 22.50 117.50 0.688366 -262.50 22.50 122.50 0.936156 -262.50 22.50 127.50 1.39061 -262.50 22.50 132.50 1.99347 -262.50 22.50 137.50 2.53465 -262.50 22.50 142.50 2.64716 -262.50 22.50 147.50 2.2721 -262.50 22.50 152.50 1.72951 -262.50 22.50 157.50 1.16572 -262.50 22.50 162.50 0.700174 -262.50 22.50 167.50 0.416464 -262.50 22.50 172.50 0.242003 -262.50 22.50 177.50 0.222832 -262.50 22.50 182.50 0.335765 -262.50 22.50 187.50 0.477904 -262.50 22.50 192.50 0.634357 -262.50 22.50 197.50 0.734155 -262.50 22.50 202.50 0.689209 -262.50 22.50 207.50 0.688366 -262.50 22.50 212.50 0.936156 -262.50 22.50 217.50 1.39061 -262.50 22.50 222.50 1.99347 -262.50 22.50 227.50 2.53465 -262.50 22.50 232.50 2.64716 -262.50 22.50 237.50 2.2721 -262.50 22.50 242.50 1.72951 -262.50 22.50 247.50 1.16571 -262.50 22.50 252.50 0.700174 -262.50 22.50 257.50 0.416464 -262.50 22.50 262.50 0.242003 -262.50 22.50 267.50 0.222832 -262.50 22.50 272.50 0.335765 -262.50 22.50 277.50 0.477904 -262.50 22.50 282.50 0.634357 -262.50 22.50 287.50 0.734155 -262.50 22.50 292.50 0.689209 -262.50 22.50 297.50 0.688366 -262.50 22.50 302.50 0.936155 -262.50 22.50 307.50 1.39061 -262.50 22.50 312.50 1.99347 -262.50 22.50 317.50 2.53465 -262.50 22.50 322.50 2.64716 -262.50 22.50 327.50 2.2721 -262.50 22.50 332.50 1.72951 -262.50 22.50 337.50 1.16572 -262.50 22.50 342.50 0.700175 -262.50 22.50 347.50 0.416465 -262.50 22.50 352.50 0.242003 -262.50 22.50 357.50 0.222832 -262.50 27.50 2.50 0.232886 -262.50 27.50 7.50 0.312195 -262.50 27.50 12.50 0.432572 -262.50 27.50 17.50 0.535546 -262.50 27.50 22.50 0.58027 -262.50 27.50 27.50 0.737813 -262.50 27.50 32.50 1.162 -262.50 27.50 37.50 1.95711 -262.50 27.50 42.50 3.02182 -262.50 27.50 47.50 3.91511 -262.50 27.50 52.50 4.0122 -262.50 27.50 57.50 3.43765 -262.50 27.50 62.50 2.51912 -262.50 27.50 67.50 1.63991 -262.50 27.50 72.50 0.931929 -262.50 27.50 77.50 0.487495 -262.50 27.50 82.50 0.263627 -262.50 27.50 87.50 0.181176 -262.50 27.50 92.50 0.232886 -262.50 27.50 97.50 0.312195 -262.50 27.50 102.50 0.432572 -262.50 27.50 107.50 0.535545 -262.50 27.50 112.50 0.58027 -262.50 27.50 117.50 0.737812 -262.50 27.50 122.50 1.162 -262.50 27.50 127.50 1.95711 -262.50 27.50 132.50 3.02182 -262.50 27.50 137.50 3.91511 -262.50 27.50 142.50 4.0122 -262.50 27.50 147.50 3.43765 -262.50 27.50 152.50 2.51912 -262.50 27.50 157.50 1.63991 -262.50 27.50 162.50 0.931929 -262.50 27.50 167.50 0.487495 -262.50 27.50 172.50 0.263627 -262.50 27.50 177.50 0.181176 -262.50 27.50 182.50 0.232886 -262.50 27.50 187.50 0.312195 -262.50 27.50 192.50 0.432572 -262.50 27.50 197.50 0.535546 -262.50 27.50 202.50 0.58027 -262.50 27.50 207.50 0.737812 -262.50 27.50 212.50 1.162 -262.50 27.50 217.50 1.95711 -262.50 27.50 222.50 3.02182 -262.50 27.50 227.50 3.91511 -262.50 27.50 232.50 4.0122 -262.50 27.50 237.50 3.43765 -262.50 27.50 242.50 2.51912 -262.50 27.50 247.50 1.63991 -262.50 27.50 252.50 0.931928 -262.50 27.50 257.50 0.487494 -262.50 27.50 262.50 0.263627 -262.50 27.50 267.50 0.181176 -262.50 27.50 272.50 0.232886 -262.50 27.50 277.50 0.312195 -262.50 27.50 282.50 0.432572 -262.50 27.50 287.50 0.535546 -262.50 27.50 292.50 0.58027 -262.50 27.50 297.50 0.737812 -262.50 27.50 302.50 1.162 -262.50 27.50 307.50 1.95711 -262.50 27.50 312.50 3.02182 -262.50 27.50 317.50 3.9151 -262.50 27.50 322.50 4.0122 -262.50 27.50 327.50 3.43765 -262.50 27.50 332.50 2.51913 -262.50 27.50 337.50 1.63991 -262.50 27.50 342.50 0.93193 -262.50 27.50 347.50 0.487496 -262.50 27.50 352.50 0.263628 -262.50 27.50 357.50 0.181176 -262.50 32.50 2.50 0.164812 -262.50 32.50 7.50 0.190251 -262.50 32.50 12.50 0.235401 -262.50 32.50 17.50 0.303026 -262.50 32.50 22.50 0.399216 -262.50 32.50 27.50 0.630826 -262.50 32.50 32.50 1.17525 -262.50 32.50 37.50 2.13732 -262.50 32.50 42.50 3.37602 -262.50 32.50 47.50 4.37538 -262.50 32.50 52.50 4.62497 -262.50 32.50 57.50 3.97256 -262.50 32.50 62.50 2.84162 -262.50 32.50 67.50 1.79176 -262.50 32.50 72.50 1.02476 -262.50 32.50 77.50 0.521251 -262.50 32.50 82.50 0.261037 -262.50 32.50 87.50 0.15525 -262.50 32.50 92.50 0.164812 -262.50 32.50 97.50 0.190251 -262.50 32.50 102.50 0.235401 -262.50 32.50 107.50 0.303026 -262.50 32.50 112.50 0.399216 -262.50 32.50 117.50 0.630827 -262.50 32.50 122.50 1.17525 -262.50 32.50 127.50 2.13732 -262.50 32.50 132.50 3.37602 -262.50 32.50 137.50 4.37538 -262.50 32.50 142.50 4.62497 -262.50 32.50 147.50 3.97256 -262.50 32.50 152.50 2.84162 -262.50 32.50 157.50 1.79176 -262.50 32.50 162.50 1.02476 -262.50 32.50 167.50 0.521251 -262.50 32.50 172.50 0.261037 -262.50 32.50 177.50 0.15525 -262.50 32.50 182.50 0.164812 -262.50 32.50 187.50 0.190251 -262.50 32.50 192.50 0.235401 -262.50 32.50 197.50 0.303026 -262.50 32.50 202.50 0.399216 -262.50 32.50 207.50 0.630826 -262.50 32.50 212.50 1.17525 -262.50 32.50 217.50 2.13732 -262.50 32.50 222.50 3.37602 -262.50 32.50 227.50 4.37538 -262.50 32.50 232.50 4.62496 -262.50 32.50 237.50 3.97256 -262.50 32.50 242.50 2.84162 -262.50 32.50 247.50 1.79176 -262.50 32.50 252.50 1.02476 -262.50 32.50 257.50 0.52125 -262.50 32.50 262.50 0.261037 -262.50 32.50 267.50 0.15525 -262.50 32.50 272.50 0.164812 -262.50 32.50 277.50 0.190251 -262.50 32.50 282.50 0.235401 -262.50 32.50 287.50 0.303026 -262.50 32.50 292.50 0.399216 -262.50 32.50 297.50 0.630826 -262.50 32.50 302.50 1.17525 -262.50 32.50 307.50 2.13732 -262.50 32.50 312.50 3.37602 -262.50 32.50 317.50 4.37538 -262.50 32.50 322.50 4.62497 -262.50 32.50 327.50 3.97256 -262.50 32.50 332.50 2.84162 -262.50 32.50 337.50 1.79176 -262.50 32.50 342.50 1.02476 -262.50 32.50 347.50 0.521252 -262.50 32.50 352.50 0.261037 -262.50 32.50 357.50 0.155251 -262.50 37.50 2.50 0.110206 -262.50 37.50 7.50 0.112048 -262.50 37.50 12.50 0.106707 -262.50 37.50 17.50 0.137174 -262.50 37.50 22.50 0.221104 -262.50 37.50 27.50 0.429781 -262.50 37.50 32.50 0.880141 -262.50 37.50 37.50 1.68937 -262.50 37.50 42.50 2.73012 -262.50 37.50 47.50 3.54732 -262.50 37.50 52.50 3.77275 -262.50 37.50 57.50 3.27578 -262.50 37.50 62.50 2.31712 -262.50 37.50 67.50 1.42083 -262.50 37.50 72.50 0.816355 -262.50 37.50 77.50 0.433369 -262.50 37.50 82.50 0.203154 -262.50 37.50 87.50 0.113682 -262.50 37.50 92.50 0.110206 -262.50 37.50 97.50 0.112048 -262.50 37.50 102.50 0.106707 -262.50 37.50 107.50 0.137174 -262.50 37.50 112.50 0.221104 -262.50 37.50 117.50 0.429781 -262.50 37.50 122.50 0.880142 -262.50 37.50 127.50 1.68937 -262.50 37.50 132.50 2.73012 -262.50 37.50 137.50 3.54732 -262.50 37.50 142.50 3.77275 -262.50 37.50 147.50 3.27578 -262.50 37.50 152.50 2.31712 -262.50 37.50 157.50 1.42083 -262.50 37.50 162.50 0.816355 -262.50 37.50 167.50 0.433369 -262.50 37.50 172.50 0.203154 -262.50 37.50 177.50 0.113683 -262.50 37.50 182.50 0.110206 -262.50 37.50 187.50 0.112048 -262.50 37.50 192.50 0.106707 -262.50 37.50 197.50 0.137174 -262.50 37.50 202.50 0.221104 -262.50 37.50 207.50 0.429781 -262.50 37.50 212.50 0.880142 -262.50 37.50 217.50 1.68937 -262.50 37.50 222.50 2.73013 -262.50 37.50 227.50 3.54732 -262.50 37.50 232.50 3.77275 -262.50 37.50 237.50 3.27578 -262.50 37.50 242.50 2.31712 -262.50 37.50 247.50 1.42083 -262.50 37.50 252.50 0.816354 -262.50 37.50 257.50 0.433369 -262.50 37.50 262.50 0.203154 -262.50 37.50 267.50 0.113682 -262.50 37.50 272.50 0.110206 -262.50 37.50 277.50 0.112048 -262.50 37.50 282.50 0.106707 -262.50 37.50 287.50 0.137174 -262.50 37.50 292.50 0.221104 -262.50 37.50 297.50 0.42978 -262.50 37.50 302.50 0.880141 -262.50 37.50 307.50 1.68937 -262.50 37.50 312.50 2.73012 -262.50 37.50 317.50 3.54732 -262.50 37.50 322.50 3.77275 -262.50 37.50 327.50 3.27578 -262.50 37.50 332.50 2.31712 -262.50 37.50 337.50 1.42083 -262.50 37.50 342.50 0.816355 -262.50 37.50 347.50 0.43337 -262.50 37.50 352.50 0.203154 -262.50 37.50 357.50 0.113683 -262.50 42.50 2.50 0.0566768 -262.50 42.50 7.50 0.0561728 -262.50 42.50 12.50 0.0415526 -262.50 42.50 17.50 0.0474071 -262.50 42.50 22.50 0.0906727 -262.50 42.50 27.50 0.209317 -262.50 42.50 32.50 0.463991 -262.50 42.50 37.50 0.917944 -262.50 42.50 42.50 1.54855 -262.50 42.50 47.50 2.05118 -262.50 42.50 52.50 2.17351 -262.50 42.50 57.50 1.882 -262.50 42.50 62.50 1.35089 -262.50 42.50 67.50 0.817294 -262.50 42.50 72.50 0.479108 -262.50 42.50 77.50 0.26194 -262.50 42.50 82.50 0.114879 -262.50 42.50 87.50 0.0580158 -262.50 42.50 92.50 0.0566768 -262.50 42.50 97.50 0.0561728 -262.50 42.50 102.50 0.0415526 -262.50 42.50 107.50 0.0474072 -262.50 42.50 112.50 0.0906727 -262.50 42.50 117.50 0.209317 -262.50 42.50 122.50 0.463991 -262.50 42.50 127.50 0.917944 -262.50 42.50 132.50 1.54855 -262.50 42.50 137.50 2.05118 -262.50 42.50 142.50 2.17351 -262.50 42.50 147.50 1.882 -262.50 42.50 152.50 1.35089 -262.50 42.50 157.50 0.817296 -262.50 42.50 162.50 0.479108 -262.50 42.50 167.50 0.26194 -262.50 42.50 172.50 0.114879 -262.50 42.50 177.50 0.0580159 -262.50 42.50 182.50 0.0566769 -262.50 42.50 187.50 0.0561728 -262.50 42.50 192.50 0.0415526 -262.50 42.50 197.50 0.0474072 -262.50 42.50 202.50 0.0906728 -262.50 42.50 207.50 0.209317 -262.50 42.50 212.50 0.463991 -262.50 42.50 217.50 0.917944 -262.50 42.50 222.50 1.54855 -262.50 42.50 227.50 2.05118 -262.50 42.50 232.50 2.17351 -262.50 42.50 237.50 1.882 -262.50 42.50 242.50 1.35088 -262.50 42.50 247.50 0.817294 -262.50 42.50 252.50 0.479108 -262.50 42.50 257.50 0.26194 -262.50 42.50 262.50 0.114879 -262.50 42.50 267.50 0.0580158 -262.50 42.50 272.50 0.0566768 -262.50 42.50 277.50 0.0561728 -262.50 42.50 282.50 0.0415527 -262.50 42.50 287.50 0.0474072 -262.50 42.50 292.50 0.0906728 -262.50 42.50 297.50 0.209317 -262.50 42.50 302.50 0.46399 -262.50 42.50 307.50 0.917943 -262.50 42.50 312.50 1.54855 -262.50 42.50 317.50 2.05118 -262.50 42.50 322.50 2.17351 -262.50 42.50 327.50 1.882 -262.50 42.50 332.50 1.35089 -262.50 42.50 337.50 0.817295 -262.50 42.50 342.50 0.479109 -262.50 42.50 347.50 0.261941 -262.50 42.50 352.50 0.11488 -262.50 42.50 357.50 0.0580158 -262.50 47.50 2.50 0.0326857 -262.50 47.50 7.50 0.0345914 -262.50 47.50 12.50 0.0209977 -262.50 47.50 17.50 0.0157058 -262.50 47.50 22.50 0.0280381 -262.50 47.50 27.50 0.0711575 -262.50 47.50 32.50 0.152569 -262.50 47.50 37.50 0.338105 -262.50 47.50 42.50 0.530006 -262.50 47.50 47.50 0.790582 -262.50 47.50 52.50 0.831385 -262.50 47.50 57.50 0.80583 -262.50 47.50 62.50 0.56974 -262.50 47.50 67.50 0.354763 -262.50 47.50 72.50 0.207284 -262.50 47.50 77.50 0.114671 -262.50 47.50 82.50 0.0482187 -262.50 47.50 87.50 0.0252326 -262.50 47.50 92.50 0.0326857 -262.50 47.50 97.50 0.0345915 -262.50 47.50 102.50 0.0209977 -262.50 47.50 107.50 0.0157058 -262.50 47.50 112.50 0.0280381 -262.50 47.50 117.50 0.0711575 -262.50 47.50 122.50 0.152569 -262.50 47.50 127.50 0.338105 -262.50 47.50 132.50 0.530007 -262.50 47.50 137.50 0.790582 -262.50 47.50 142.50 0.831385 -262.50 47.50 147.50 0.80583 -262.50 47.50 152.50 0.56974 -262.50 47.50 157.50 0.354763 -262.50 47.50 162.50 0.207285 -262.50 47.50 167.50 0.114671 -262.50 47.50 172.50 0.0482187 -262.50 47.50 177.50 0.0252326 -262.50 47.50 182.50 0.0326857 -262.50 47.50 187.50 0.0345915 -262.50 47.50 192.50 0.0209977 -262.50 47.50 197.50 0.0157058 -262.50 47.50 202.50 0.0280381 -262.50 47.50 207.50 0.0711574 -262.50 47.50 212.50 0.152569 -262.50 47.50 217.50 0.338105 -262.50 47.50 222.50 0.530006 -262.50 47.50 227.50 0.790582 -262.50 47.50 232.50 0.831385 -262.50 47.50 237.50 0.80583 -262.50 47.50 242.50 0.569739 -262.50 47.50 247.50 0.354763 -262.50 47.50 252.50 0.207284 -262.50 47.50 257.50 0.114671 -262.50 47.50 262.50 0.0482187 -262.50 47.50 267.50 0.0252326 -262.50 47.50 272.50 0.0326857 -262.50 47.50 277.50 0.0345915 -262.50 47.50 282.50 0.0209977 -262.50 47.50 287.50 0.0157058 -262.50 47.50 292.50 0.0280381 -262.50 47.50 297.50 0.0711574 -262.50 47.50 302.50 0.152569 -262.50 47.50 307.50 0.338105 -262.50 47.50 312.50 0.530006 -262.50 47.50 317.50 0.790581 -262.50 47.50 322.50 0.831385 -262.50 47.50 327.50 0.80583 -262.50 47.50 332.50 0.56974 -262.50 47.50 337.50 0.354763 -262.50 47.50 342.50 0.207285 -262.50 47.50 347.50 0.114671 -262.50 47.50 352.50 0.0482188 -262.50 47.50 357.50 0.0252326 -262.50 52.50 2.50 0.0566768 -262.50 52.50 7.50 0.0577729 -262.50 52.50 12.50 0.0384049 -262.50 52.50 17.50 0.0292254 -262.50 52.50 22.50 0.0274119 -262.50 52.50 27.50 0.0273174 -262.50 52.50 32.50 0.040271 -262.50 52.50 37.50 0.0746005 -262.50 52.50 42.50 0.120229 -262.50 52.50 47.50 0.181531 -262.50 52.50 52.50 0.203694 -262.50 52.50 57.50 0.229345 -262.50 52.50 62.50 0.178877 -262.50 52.50 67.50 0.10454 -262.50 52.50 72.50 0.0611132 -262.50 52.50 77.50 0.0357779 -262.50 52.50 82.50 0.0208145 -262.50 52.50 87.50 0.0285764 -262.50 52.50 92.50 0.0566768 -262.50 52.50 97.50 0.0577729 -262.50 52.50 102.50 0.0384049 -262.50 52.50 107.50 0.0292254 -262.50 52.50 112.50 0.0274119 -262.50 52.50 117.50 0.0273174 -262.50 52.50 122.50 0.0402711 -262.50 52.50 127.50 0.0746005 -262.50 52.50 132.50 0.120229 -262.50 52.50 137.50 0.181531 -262.50 52.50 142.50 0.203694 -262.50 52.50 147.50 0.229345 -262.50 52.50 152.50 0.178877 -262.50 52.50 157.50 0.104541 -262.50 52.50 162.50 0.0611132 -262.50 52.50 167.50 0.0357779 -262.50 52.50 172.50 0.0208145 -262.50 52.50 177.50 0.0285764 -262.50 52.50 182.50 0.0566768 -262.50 52.50 187.50 0.0577729 -262.50 52.50 192.50 0.0384049 -262.50 52.50 197.50 0.0292254 -262.50 52.50 202.50 0.0274118 -262.50 52.50 207.50 0.0273174 -262.50 52.50 212.50 0.0402711 -262.50 52.50 217.50 0.0746006 -262.50 52.50 222.50 0.120229 -262.50 52.50 227.50 0.181531 -262.50 52.50 232.50 0.203694 -262.50 52.50 237.50 0.229345 -262.50 52.50 242.50 0.178877 -262.50 52.50 247.50 0.104541 -262.50 52.50 252.50 0.0611132 -262.50 52.50 257.50 0.0357778 -262.50 52.50 262.50 0.0208145 -262.50 52.50 267.50 0.0285764 -262.50 52.50 272.50 0.0566768 -262.50 52.50 277.50 0.0577729 -262.50 52.50 282.50 0.0384049 -262.50 52.50 287.50 0.0292254 -262.50 52.50 292.50 0.0274118 -262.50 52.50 297.50 0.0273174 -262.50 52.50 302.50 0.040271 -262.50 52.50 307.50 0.0746005 -262.50 52.50 312.50 0.120228 -262.50 52.50 317.50 0.18153 -262.50 52.50 322.50 0.203694 -262.50 52.50 327.50 0.229345 -262.50 52.50 332.50 0.178877 -262.50 52.50 337.50 0.104541 -262.50 52.50 342.50 0.0611133 -262.50 52.50 347.50 0.0357779 -262.50 52.50 352.50 0.0208145 -262.50 52.50 357.50 0.0285764 -262.50 57.50 2.50 0.110206 -262.50 57.50 7.50 0.111425 -262.50 57.50 12.50 0.11044 -262.50 57.50 17.50 0.118965 -262.50 57.50 22.50 0.108714 -262.50 57.50 27.50 0.0591751 -262.50 57.50 32.50 0.0294673 -262.50 57.50 37.50 0.0189809 -262.50 57.50 42.50 0.0187428 -262.50 57.50 47.50 0.0295768 -262.50 57.50 52.50 0.0283886 -262.50 57.50 57.50 0.034446 -262.50 57.50 62.50 0.0337436 -262.50 57.50 67.50 0.0188954 -262.50 57.50 72.50 0.0122309 -262.50 57.50 77.50 0.0139949 -262.50 57.50 82.50 0.0251331 -262.50 57.50 87.50 0.0572843 -262.50 57.50 92.50 0.110206 -262.50 57.50 97.50 0.111425 -262.50 57.50 102.50 0.11044 -262.50 57.50 107.50 0.118965 -262.50 57.50 112.50 0.108714 -262.50 57.50 117.50 0.0591751 -262.50 57.50 122.50 0.0294673 -262.50 57.50 127.50 0.0189809 -262.50 57.50 132.50 0.0187428 -262.50 57.50 137.50 0.0295768 -262.50 57.50 142.50 0.0283886 -262.50 57.50 147.50 0.034446 -262.50 57.50 152.50 0.0337436 -262.50 57.50 157.50 0.0188954 -262.50 57.50 162.50 0.0122309 -262.50 57.50 167.50 0.0139949 -262.50 57.50 172.50 0.025133 -262.50 57.50 177.50 0.0572842 -262.50 57.50 182.50 0.110206 -262.50 57.50 187.50 0.111424 -262.50 57.50 192.50 0.11044 -262.50 57.50 197.50 0.118965 -262.50 57.50 202.50 0.108714 -262.50 57.50 207.50 0.0591751 -262.50 57.50 212.50 0.0294673 -262.50 57.50 217.50 0.0189809 -262.50 57.50 222.50 0.0187428 -262.50 57.50 227.50 0.0295768 -262.50 57.50 232.50 0.0283886 -262.50 57.50 237.50 0.034446 -262.50 57.50 242.50 0.0337436 -262.50 57.50 247.50 0.0188954 -262.50 57.50 252.50 0.0122309 -262.50 57.50 257.50 0.0139949 -262.50 57.50 262.50 0.0251331 -262.50 57.50 267.50 0.0572844 -262.50 57.50 272.50 0.110206 -262.50 57.50 277.50 0.111425 -262.50 57.50 282.50 0.11044 -262.50 57.50 287.50 0.118965 -262.50 57.50 292.50 0.108714 -262.50 57.50 297.50 0.0591751 -262.50 57.50 302.50 0.0294673 -262.50 57.50 307.50 0.0189809 -262.50 57.50 312.50 0.0187428 -262.50 57.50 317.50 0.0295767 -262.50 57.50 322.50 0.0283886 -262.50 57.50 327.50 0.034446 -262.50 57.50 332.50 0.0337436 -262.50 57.50 337.50 0.0188954 -262.50 57.50 342.50 0.0122309 -262.50 57.50 347.50 0.0139948 -262.50 57.50 352.50 0.025133 -262.50 57.50 357.50 0.0572842 -262.50 62.50 2.50 0.164812 -262.50 62.50 7.50 0.197583 -262.50 62.50 12.50 0.274664 -262.50 62.50 17.50 0.342067 -262.50 62.50 22.50 0.313437 -262.50 62.50 27.50 0.195315 -262.50 62.50 32.50 0.115046 -262.50 62.50 37.50 0.0611151 -262.50 62.50 42.50 0.0338698 -262.50 62.50 47.50 0.0209546 -262.50 62.50 52.50 0.00969557 -262.50 62.50 57.50 0.00605561 -262.50 62.50 62.50 0.00479006 -262.50 62.50 67.50 0.0067897 -262.50 62.50 72.50 0.0141693 -262.50 62.50 77.50 0.0250433 -262.50 62.50 82.50 0.0584315 -262.50 62.50 87.50 0.0996034 -262.50 62.50 92.50 0.164812 -262.50 62.50 97.50 0.197583 -262.50 62.50 102.50 0.274664 -262.50 62.50 107.50 0.342067 -262.50 62.50 112.50 0.313437 -262.50 62.50 117.50 0.195315 -262.50 62.50 122.50 0.115046 -262.50 62.50 127.50 0.061115 -262.50 62.50 132.50 0.0338698 -262.50 62.50 137.50 0.0209546 -262.50 62.50 142.50 0.00969557 -262.50 62.50 147.50 0.00605561 -262.50 62.50 152.50 0.00479005 -262.50 62.50 157.50 0.00678968 -262.50 62.50 162.50 0.0141693 -262.50 62.50 167.50 0.0250433 -262.50 62.50 172.50 0.0584314 -262.50 62.50 177.50 0.0996033 -262.50 62.50 182.50 0.164812 -262.50 62.50 187.50 0.197583 -262.50 62.50 192.50 0.274664 -262.50 62.50 197.50 0.342067 -262.50 62.50 202.50 0.313437 -262.50 62.50 207.50 0.195315 -262.50 62.50 212.50 0.115046 -262.50 62.50 217.50 0.061115 -262.50 62.50 222.50 0.0338698 -262.50 62.50 227.50 0.0209546 -262.50 62.50 232.50 0.00969554 -262.50 62.50 237.50 0.00605561 -262.50 62.50 242.50 0.00479006 -262.50 62.50 247.50 0.00678968 -262.50 62.50 252.50 0.0141693 -262.50 62.50 257.50 0.0250433 -262.50 62.50 262.50 0.0584316 -262.50 62.50 267.50 0.0996035 -262.50 62.50 272.50 0.164812 -262.50 62.50 277.50 0.197583 -262.50 62.50 282.50 0.274664 -262.50 62.50 287.50 0.342067 -262.50 62.50 292.50 0.313437 -262.50 62.50 297.50 0.195315 -262.50 62.50 302.50 0.115046 -262.50 62.50 307.50 0.0611151 -262.50 62.50 312.50 0.0338698 -262.50 62.50 317.50 0.0209546 -262.50 62.50 322.50 0.00969558 -262.50 62.50 327.50 0.00605562 -262.50 62.50 332.50 0.00479006 -262.50 62.50 337.50 0.00678969 -262.50 62.50 342.50 0.0141692 -262.50 62.50 347.50 0.0250432 -262.50 62.50 352.50 0.0584314 -262.50 62.50 357.50 0.0996032 -262.50 67.50 2.50 0.232886 -262.50 67.50 7.50 0.342791 -262.50 67.50 12.50 0.549133 -262.50 67.50 17.50 0.734244 -262.50 67.50 22.50 0.680787 -262.50 67.50 27.50 0.548328 -262.50 67.50 32.50 0.341814 -262.50 67.50 37.50 0.231199 -262.50 67.50 42.50 0.148229 -262.50 67.50 47.50 0.0766608 -262.50 67.50 52.50 0.0408354 -262.50 67.50 57.50 0.0216496 -262.50 67.50 62.50 0.0162894 -262.50 67.50 67.50 0.0230586 -262.50 67.50 72.50 0.0472482 -262.50 67.50 77.50 0.081232 -262.50 67.50 82.50 0.14265 -262.50 67.50 87.50 0.17083 -262.50 67.50 92.50 0.232886 -262.50 67.50 97.50 0.342791 -262.50 67.50 102.50 0.549133 -262.50 67.50 107.50 0.734244 -262.50 67.50 112.50 0.680787 -262.50 67.50 117.50 0.548327 -262.50 67.50 122.50 0.341814 -262.50 67.50 127.50 0.231199 -262.50 67.50 132.50 0.148229 -262.50 67.50 137.50 0.0766607 -262.50 67.50 142.50 0.0408354 -262.50 67.50 147.50 0.0216496 -262.50 67.50 152.50 0.0162894 -262.50 67.50 157.50 0.0230585 -262.50 67.50 162.50 0.0472481 -262.50 67.50 167.50 0.0812319 -262.50 67.50 172.50 0.14265 -262.50 67.50 177.50 0.17083 -262.50 67.50 182.50 0.232886 -262.50 67.50 187.50 0.342791 -262.50 67.50 192.50 0.549133 -262.50 67.50 197.50 0.734244 -262.50 67.50 202.50 0.680787 -262.50 67.50 207.50 0.548328 -262.50 67.50 212.50 0.341814 -262.50 67.50 217.50 0.231199 -262.50 67.50 222.50 0.148229 -262.50 67.50 227.50 0.0766608 -262.50 67.50 232.50 0.0408353 -262.50 67.50 237.50 0.0216496 -262.50 67.50 242.50 0.0162894 -262.50 67.50 247.50 0.0230586 -262.50 67.50 252.50 0.0472482 -262.50 67.50 257.50 0.081232 -262.50 67.50 262.50 0.14265 -262.50 67.50 267.50 0.17083 -262.50 67.50 272.50 0.232886 -262.50 67.50 277.50 0.342791 -262.50 67.50 282.50 0.549133 -262.50 67.50 287.50 0.734244 -262.50 67.50 292.50 0.680787 -262.50 67.50 297.50 0.548328 -262.50 67.50 302.50 0.341814 -262.50 67.50 307.50 0.231199 -262.50 67.50 312.50 0.148229 -262.50 67.50 317.50 0.0766609 -262.50 67.50 322.50 0.0408355 -262.50 67.50 327.50 0.0216496 -262.50 67.50 332.50 0.0162894 -262.50 67.50 337.50 0.0230585 -262.50 67.50 342.50 0.0472481 -262.50 67.50 347.50 0.0812319 -262.50 67.50 352.50 0.14265 -262.50 67.50 357.50 0.17083 -262.50 72.50 2.50 0.335765 -262.50 72.50 7.50 0.541781 -262.50 72.50 12.50 0.892335 -262.50 72.50 17.50 1.17708 -262.50 72.50 22.50 1.26043 -262.50 72.50 27.50 1.04726 -262.50 72.50 32.50 0.826733 -262.50 72.50 37.50 0.667436 -262.50 72.50 42.50 0.485745 -262.50 72.50 47.50 0.2981 -262.50 72.50 52.50 0.176889 -262.50 72.50 57.50 0.0967442 -262.50 72.50 62.50 0.0801606 -262.50 72.50 67.50 0.108925 -262.50 72.50 72.50 0.145181 -262.50 72.50 77.50 0.18965 -262.50 72.50 82.50 0.275849 -262.50 72.50 87.50 0.307317 -262.50 72.50 92.50 0.335765 -262.50 72.50 97.50 0.541781 -262.50 72.50 102.50 0.892334 -262.50 72.50 107.50 1.17708 -262.50 72.50 112.50 1.26043 -262.50 72.50 117.50 1.04726 -262.50 72.50 122.50 0.826733 -262.50 72.50 127.50 0.667435 -262.50 72.50 132.50 0.485745 -262.50 72.50 137.50 0.2981 -262.50 72.50 142.50 0.176889 -262.50 72.50 147.50 0.0967442 -262.50 72.50 152.50 0.0801606 -262.50 72.50 157.50 0.108925 -262.50 72.50 162.50 0.145181 -262.50 72.50 167.50 0.18965 -262.50 72.50 172.50 0.275848 -262.50 72.50 177.50 0.307317 -262.50 72.50 182.50 0.335764 -262.50 72.50 187.50 0.541781 -262.50 72.50 192.50 0.892334 -262.50 72.50 197.50 1.17708 -262.50 72.50 202.50 1.26043 -262.50 72.50 207.50 1.04726 -262.50 72.50 212.50 0.826733 -262.50 72.50 217.50 0.667435 -262.50 72.50 222.50 0.485745 -262.50 72.50 227.50 0.2981 -262.50 72.50 232.50 0.176889 -262.50 72.50 237.50 0.0967439 -262.50 72.50 242.50 0.0801605 -262.50 72.50 247.50 0.108925 -262.50 72.50 252.50 0.145181 -262.50 72.50 257.50 0.18965 -262.50 72.50 262.50 0.275849 -262.50 72.50 267.50 0.307317 -262.50 72.50 272.50 0.335765 -262.50 72.50 277.50 0.541781 -262.50 72.50 282.50 0.892335 -262.50 72.50 287.50 1.17708 -262.50 72.50 292.50 1.26043 -262.50 72.50 297.50 1.04726 -262.50 72.50 302.50 0.826734 -262.50 72.50 307.50 0.667436 -262.50 72.50 312.50 0.485745 -262.50 72.50 317.50 0.2981 -262.50 72.50 322.50 0.176889 -262.50 72.50 327.50 0.0967443 -262.50 72.50 332.50 0.0801607 -262.50 72.50 337.50 0.108925 -262.50 72.50 342.50 0.145181 -262.50 72.50 347.50 0.18965 -262.50 72.50 352.50 0.275848 -262.50 72.50 357.50 0.307317 -262.50 77.50 2.50 0.422612 -262.50 77.50 7.50 0.677778 -262.50 77.50 12.50 1.14666 -262.50 77.50 17.50 1.5325 -262.50 77.50 22.50 1.70307 -262.50 77.50 27.50 1.65138 -262.50 77.50 32.50 1.55321 -262.50 77.50 37.50 1.43648 -262.50 77.50 42.50 1.23139 -262.50 77.50 47.50 0.91306 -262.50 77.50 52.50 0.57936 -262.50 77.50 57.50 0.380141 -262.50 77.50 62.50 0.272807 -262.50 77.50 67.50 0.282231 -262.50 77.50 72.50 0.360093 -262.50 77.50 77.50 0.383139 -262.50 77.50 82.50 0.395592 -262.50 77.50 87.50 0.489081 -262.50 77.50 92.50 0.422612 -262.50 77.50 97.50 0.677778 -262.50 77.50 102.50 1.14666 -262.50 77.50 107.50 1.5325 -262.50 77.50 112.50 1.70307 -262.50 77.50 117.50 1.65138 -262.50 77.50 122.50 1.55321 -262.50 77.50 127.50 1.43648 -262.50 77.50 132.50 1.23139 -262.50 77.50 137.50 0.91306 -262.50 77.50 142.50 0.57936 -262.50 77.50 147.50 0.380141 -262.50 77.50 152.50 0.272807 -262.50 77.50 157.50 0.282231 -262.50 77.50 162.50 0.360093 -262.50 77.50 167.50 0.383139 -262.50 77.50 172.50 0.395592 -262.50 77.50 177.50 0.489081 -262.50 77.50 182.50 0.422612 -262.50 77.50 187.50 0.677778 -262.50 77.50 192.50 1.14666 -262.50 77.50 197.50 1.5325 -262.50 77.50 202.50 1.70307 -262.50 77.50 207.50 1.65138 -262.50 77.50 212.50 1.55321 -262.50 77.50 217.50 1.43648 -262.50 77.50 222.50 1.23139 -262.50 77.50 227.50 0.913061 -262.50 77.50 232.50 0.579359 -262.50 77.50 237.50 0.380141 -262.50 77.50 242.50 0.272807 -262.50 77.50 247.50 0.282231 -262.50 77.50 252.50 0.360093 -262.50 77.50 257.50 0.383139 -262.50 77.50 262.50 0.395592 -262.50 77.50 267.50 0.489081 -262.50 77.50 272.50 0.422612 -262.50 77.50 277.50 0.677777 -262.50 77.50 282.50 1.14666 -262.50 77.50 287.50 1.5325 -262.50 77.50 292.50 1.70307 -262.50 77.50 297.50 1.65138 -262.50 77.50 302.50 1.55321 -262.50 77.50 307.50 1.43649 -262.50 77.50 312.50 1.23139 -262.50 77.50 317.50 0.913061 -262.50 77.50 322.50 0.57936 -262.50 77.50 327.50 0.380141 -262.50 77.50 332.50 0.272807 -262.50 77.50 337.50 0.282231 -262.50 77.50 342.50 0.360093 -262.50 77.50 347.50 0.383139 -262.50 77.50 352.50 0.395592 -262.50 77.50 357.50 0.489081 -262.50 82.50 2.50 0.429838 -262.50 82.50 7.50 0.66199 -262.50 82.50 12.50 1.09229 -262.50 82.50 17.50 1.53655 -262.50 82.50 22.50 1.93474 -262.50 82.50 27.50 2.1174 -262.50 82.50 32.50 2.23776 -262.50 82.50 37.50 2.30713 -262.50 82.50 42.50 2.13895 -262.50 82.50 47.50 1.75417 -262.50 82.50 52.50 1.31581 -262.50 82.50 57.50 0.968979 -262.50 82.50 62.50 0.754787 -262.50 82.50 67.50 0.654877 -262.50 82.50 72.50 0.63033 -262.50 82.50 77.50 0.594729 -262.50 82.50 82.50 0.524465 -262.50 82.50 87.50 0.515612 -262.50 82.50 92.50 0.429838 -262.50 82.50 97.50 0.66199 -262.50 82.50 102.50 1.09229 -262.50 82.50 107.50 1.53655 -262.50 82.50 112.50 1.93474 -262.50 82.50 117.50 2.1174 -262.50 82.50 122.50 2.23776 -262.50 82.50 127.50 2.30712 -262.50 82.50 132.50 2.13895 -262.50 82.50 137.50 1.75417 -262.50 82.50 142.50 1.31581 -262.50 82.50 147.50 0.968978 -262.50 82.50 152.50 0.754787 -262.50 82.50 157.50 0.654877 -262.50 82.50 162.50 0.63033 -262.50 82.50 167.50 0.594729 -262.50 82.50 172.50 0.524465 -262.50 82.50 177.50 0.515612 -262.50 82.50 182.50 0.429838 -262.50 82.50 187.50 0.66199 -262.50 82.50 192.50 1.09229 -262.50 82.50 197.50 1.53655 -262.50 82.50 202.50 1.93474 -262.50 82.50 207.50 2.1174 -262.50 82.50 212.50 2.23776 -262.50 82.50 217.50 2.30713 -262.50 82.50 222.50 2.13894 -262.50 82.50 227.50 1.75417 -262.50 82.50 232.50 1.31581 -262.50 82.50 237.50 0.968977 -262.50 82.50 242.50 0.754787 -262.50 82.50 247.50 0.654877 -262.50 82.50 252.50 0.63033 -262.50 82.50 257.50 0.594728 -262.50 82.50 262.50 0.524464 -262.50 82.50 267.50 0.515612 -262.50 82.50 272.50 0.429838 -262.50 82.50 277.50 0.66199 -262.50 82.50 282.50 1.09229 -262.50 82.50 287.50 1.53655 -262.50 82.50 292.50 1.93474 -262.50 82.50 297.50 2.1174 -262.50 82.50 302.50 2.23776 -262.50 82.50 307.50 2.30713 -262.50 82.50 312.50 2.13895 -262.50 82.50 317.50 1.75417 -262.50 82.50 322.50 1.31581 -262.50 82.50 327.50 0.968979 -262.50 82.50 332.50 0.754788 -262.50 82.50 337.50 0.654877 -262.50 82.50 342.50 0.63033 -262.50 82.50 347.50 0.594729 -262.50 82.50 352.50 0.524465 -262.50 82.50 357.50 0.515611 -262.50 87.50 2.50 0.382023 -262.50 87.50 7.50 0.554357 -262.50 87.50 12.50 0.94078 -262.50 87.50 17.50 1.31373 -262.50 87.50 22.50 1.65464 -262.50 87.50 27.50 2.00829 -262.50 87.50 32.50 2.26362 -262.50 87.50 37.50 2.48418 -262.50 87.50 42.50 2.59146 -262.50 87.50 47.50 2.41994 -262.50 87.50 52.50 2.04524 -262.50 87.50 57.50 1.65079 -262.50 87.50 62.50 1.35668 -262.50 87.50 67.50 1.16542 -262.50 87.50 72.50 0.992713 -262.50 87.50 77.50 0.788364 -262.50 87.50 82.50 0.665485 -262.50 87.50 87.50 0.466442 -262.50 87.50 92.50 0.382023 -262.50 87.50 97.50 0.554357 -262.50 87.50 102.50 0.94078 -262.50 87.50 107.50 1.31373 -262.50 87.50 112.50 1.65464 -262.50 87.50 117.50 2.00829 -262.50 87.50 122.50 2.26362 -262.50 87.50 127.50 2.48418 -262.50 87.50 132.50 2.59146 -262.50 87.50 137.50 2.41994 -262.50 87.50 142.50 2.04524 -262.50 87.50 147.50 1.65079 -262.50 87.50 152.50 1.35668 -262.50 87.50 157.50 1.16542 -262.50 87.50 162.50 0.992713 -262.50 87.50 167.50 0.788364 -262.50 87.50 172.50 0.665485 -262.50 87.50 177.50 0.466442 -262.50 87.50 182.50 0.382023 -262.50 87.50 187.50 0.554357 -262.50 87.50 192.50 0.94078 -262.50 87.50 197.50 1.31373 -262.50 87.50 202.50 1.65464 -262.50 87.50 207.50 2.00829 -262.50 87.50 212.50 2.26362 -262.50 87.50 217.50 2.48418 -262.50 87.50 222.50 2.59146 -262.50 87.50 227.50 2.41994 -262.50 87.50 232.50 2.04524 -262.50 87.50 237.50 1.65079 -262.50 87.50 242.50 1.35668 -262.50 87.50 247.50 1.16542 -262.50 87.50 252.50 0.992713 -262.50 87.50 257.50 0.788363 -262.50 87.50 262.50 0.665485 -262.50 87.50 267.50 0.466442 -262.50 87.50 272.50 0.382023 -262.50 87.50 277.50 0.554357 -262.50 87.50 282.50 0.94078 -262.50 87.50 287.50 1.31373 -262.50 87.50 292.50 1.65464 -262.50 87.50 297.50 2.00829 -262.50 87.50 302.50 2.26362 -262.50 87.50 307.50 2.48418 -262.50 87.50 312.50 2.59146 -262.50 87.50 317.50 2.41994 -262.50 87.50 322.50 2.04524 -262.50 87.50 327.50 1.65079 -262.50 87.50 332.50 1.35668 -262.50 87.50 337.50 1.16542 -262.50 87.50 342.50 0.992713 -262.50 87.50 347.50 0.788365 -262.50 87.50 352.50 0.665485 -262.50 87.50 357.50 0.466442 -262.50 92.50 2.50 0.393273 -262.50 92.50 7.50 0.512873 -262.50 92.50 12.50 0.748317 -262.50 92.50 17.50 1.01248 -262.50 92.50 22.50 1.3146 -262.50 92.50 27.50 1.60321 -262.50 92.50 32.50 1.86337 -262.50 92.50 37.50 2.17935 -262.50 92.50 42.50 2.49553 -262.50 92.50 47.50 2.62872 -262.50 92.50 52.50 2.49553 -262.50 92.50 57.50 2.17935 -262.50 92.50 62.50 1.86337 -262.50 92.50 67.50 1.60321 -262.50 92.50 72.50 1.3146 -262.50 92.50 77.50 1.01248 -262.50 92.50 82.50 0.748317 -262.50 92.50 87.50 0.512872 -262.50 92.50 92.50 0.393273 -262.50 92.50 97.50 0.512873 -262.50 92.50 102.50 0.748317 -262.50 92.50 107.50 1.01248 -262.50 92.50 112.50 1.31461 -262.50 92.50 117.50 1.60321 -262.50 92.50 122.50 1.86338 -262.50 92.50 127.50 2.17935 -262.50 92.50 132.50 2.49553 -262.50 92.50 137.50 2.62872 -262.50 92.50 142.50 2.49553 -262.50 92.50 147.50 2.17935 -262.50 92.50 152.50 1.86337 -262.50 92.50 157.50 1.60321 -262.50 92.50 162.50 1.3146 -262.50 92.50 167.50 1.01248 -262.50 92.50 172.50 0.748317 -262.50 92.50 177.50 0.512873 -262.50 92.50 182.50 0.393273 -262.50 92.50 187.50 0.512873 -262.50 92.50 192.50 0.748317 -262.50 92.50 197.50 1.01248 -262.50 92.50 202.50 1.31461 -262.50 92.50 207.50 1.60321 -262.50 92.50 212.50 1.86338 -262.50 92.50 217.50 2.17935 -262.50 92.50 222.50 2.49553 -262.50 92.50 227.50 2.62872 -262.50 92.50 232.50 2.49553 -262.50 92.50 237.50 2.17935 -262.50 92.50 242.50 1.86337 -262.50 92.50 247.50 1.60321 -262.50 92.50 252.50 1.3146 -262.50 92.50 257.50 1.01248 -262.50 92.50 262.50 0.748316 -262.50 92.50 267.50 0.512872 -262.50 92.50 272.50 0.393273 -262.50 92.50 277.50 0.512873 -262.50 92.50 282.50 0.748317 -262.50 92.50 287.50 1.01248 -262.50 92.50 292.50 1.3146 -262.50 92.50 297.50 1.60321 -262.50 92.50 302.50 1.86337 -262.50 92.50 307.50 2.17935 -262.50 92.50 312.50 2.49553 -262.50 92.50 317.50 2.62872 -262.50 92.50 322.50 2.49553 -262.50 92.50 327.50 2.17935 -262.50 92.50 332.50 1.86338 -262.50 92.50 337.50 1.60321 -262.50 92.50 342.50 1.3146 -262.50 92.50 347.50 1.01248 -262.50 92.50 352.50 0.748317 -262.50 92.50 357.50 0.512873 -262.50 97.50 2.50 0.382023 -262.50 97.50 7.50 0.466442 -262.50 97.50 12.50 0.665485 -262.50 97.50 17.50 0.788364 -262.50 97.50 22.50 0.992713 -262.50 97.50 27.50 1.16542 -262.50 97.50 32.50 1.35668 -262.50 97.50 37.50 1.65079 -262.50 97.50 42.50 2.04524 -262.50 97.50 47.50 2.41994 -262.50 97.50 52.50 2.59146 -262.50 97.50 57.50 2.48418 -262.50 97.50 62.50 2.26362 -262.50 97.50 67.50 2.00829 -262.50 97.50 72.50 1.65464 -262.50 97.50 77.50 1.31373 -262.50 97.50 82.50 0.94078 -262.50 97.50 87.50 0.554357 -262.50 97.50 92.50 0.382023 -262.50 97.50 97.50 0.466442 -262.50 97.50 102.50 0.665485 -262.50 97.50 107.50 0.788364 -262.50 97.50 112.50 0.992713 -262.50 97.50 117.50 1.16542 -262.50 97.50 122.50 1.35668 -262.50 97.50 127.50 1.65079 -262.50 97.50 132.50 2.04524 -262.50 97.50 137.50 2.41994 -262.50 97.50 142.50 2.59146 -262.50 97.50 147.50 2.48418 -262.50 97.50 152.50 2.26362 -262.50 97.50 157.50 2.00829 -262.50 97.50 162.50 1.65464 -262.50 97.50 167.50 1.31373 -262.50 97.50 172.50 0.94078 -262.50 97.50 177.50 0.554357 -262.50 97.50 182.50 0.382022 -262.50 97.50 187.50 0.466442 -262.50 97.50 192.50 0.665485 -262.50 97.50 197.50 0.788364 -262.50 97.50 202.50 0.992714 -262.50 97.50 207.50 1.16542 -262.50 97.50 212.50 1.35668 -262.50 97.50 217.50 1.65079 -262.50 97.50 222.50 2.04524 -262.50 97.50 227.50 2.41994 -262.50 97.50 232.50 2.59146 -262.50 97.50 237.50 2.48418 -262.50 97.50 242.50 2.26362 -262.50 97.50 247.50 2.00829 -262.50 97.50 252.50 1.65464 -262.50 97.50 257.50 1.31373 -262.50 97.50 262.50 0.940779 -262.50 97.50 267.50 0.554356 -262.50 97.50 272.50 0.382023 -262.50 97.50 277.50 0.466441 -262.50 97.50 282.50 0.665485 -262.50 97.50 287.50 0.788364 -262.50 97.50 292.50 0.992713 -262.50 97.50 297.50 1.16542 -262.50 97.50 302.50 1.35668 -262.50 97.50 307.50 1.65079 -262.50 97.50 312.50 2.04524 -262.50 97.50 317.50 2.41994 -262.50 97.50 322.50 2.59146 -262.50 97.50 327.50 2.48418 -262.50 97.50 332.50 2.26362 -262.50 97.50 337.50 2.00829 -262.50 97.50 342.50 1.65465 -262.50 97.50 347.50 1.31373 -262.50 97.50 352.50 0.940781 -262.50 97.50 357.50 0.554358 -262.50 102.50 2.50 0.429838 -262.50 102.50 7.50 0.515611 -262.50 102.50 12.50 0.524465 -262.50 102.50 17.50 0.594729 -262.50 102.50 22.50 0.63033 -262.50 102.50 27.50 0.654877 -262.50 102.50 32.50 0.754787 -262.50 102.50 37.50 0.968979 -262.50 102.50 42.50 1.31581 -262.50 102.50 47.50 1.75417 -262.50 102.50 52.50 2.13895 -262.50 102.50 57.50 2.30713 -262.50 102.50 62.50 2.23776 -262.50 102.50 67.50 2.1174 -262.50 102.50 72.50 1.93474 -262.50 102.50 77.50 1.53655 -262.50 102.50 82.50 1.09229 -262.50 102.50 87.50 0.66199 -262.50 102.50 92.50 0.429838 -262.50 102.50 97.50 0.515612 -262.50 102.50 102.50 0.524465 -262.50 102.50 107.50 0.594729 -262.50 102.50 112.50 0.63033 -262.50 102.50 117.50 0.654877 -262.50 102.50 122.50 0.754787 -262.50 102.50 127.50 0.968979 -262.50 102.50 132.50 1.31581 -262.50 102.50 137.50 1.75417 -262.50 102.50 142.50 2.13895 -262.50 102.50 147.50 2.30713 -262.50 102.50 152.50 2.23776 -262.50 102.50 157.50 2.1174 -262.50 102.50 162.50 1.93474 -262.50 102.50 167.50 1.53655 -262.50 102.50 172.50 1.09229 -262.50 102.50 177.50 0.66199 -262.50 102.50 182.50 0.429838 -262.50 102.50 187.50 0.515611 -262.50 102.50 192.50 0.524464 -262.50 102.50 197.50 0.594729 -262.50 102.50 202.50 0.63033 -262.50 102.50 207.50 0.654877 -262.50 102.50 212.50 0.754788 -262.50 102.50 217.50 0.968979 -262.50 102.50 222.50 1.31581 -262.50 102.50 227.50 1.75417 -262.50 102.50 232.50 2.13895 -262.50 102.50 237.50 2.30713 -262.50 102.50 242.50 2.23776 -262.50 102.50 247.50 2.1174 -262.50 102.50 252.50 1.93474 -262.50 102.50 257.50 1.53655 -262.50 102.50 262.50 1.09229 -262.50 102.50 267.50 0.66199 -262.50 102.50 272.50 0.429838 -262.50 102.50 277.50 0.515611 -262.50 102.50 282.50 0.524464 -262.50 102.50 287.50 0.594729 -262.50 102.50 292.50 0.63033 -262.50 102.50 297.50 0.654877 -262.50 102.50 302.50 0.754787 -262.50 102.50 307.50 0.968978 -262.50 102.50 312.50 1.31581 -262.50 102.50 317.50 1.75417 -262.50 102.50 322.50 2.13895 -262.50 102.50 327.50 2.30713 -262.50 102.50 332.50 2.23776 -262.50 102.50 337.50 2.1174 -262.50 102.50 342.50 1.93475 -262.50 102.50 347.50 1.53655 -262.50 102.50 352.50 1.09229 -262.50 102.50 357.50 0.661991 -262.50 107.50 2.50 0.422612 -262.50 107.50 7.50 0.489081 -262.50 107.50 12.50 0.395592 -262.50 107.50 17.50 0.383139 -262.50 107.50 22.50 0.360093 -262.50 107.50 27.50 0.282231 -262.50 107.50 32.50 0.272807 -262.50 107.50 37.50 0.380141 -262.50 107.50 42.50 0.57936 -262.50 107.50 47.50 0.913061 -262.50 107.50 52.50 1.23139 -262.50 107.50 57.50 1.43649 -262.50 107.50 62.50 1.55321 -262.50 107.50 67.50 1.65138 -262.50 107.50 72.50 1.70307 -262.50 107.50 77.50 1.5325 -262.50 107.50 82.50 1.14666 -262.50 107.50 87.50 0.677777 -262.50 107.50 92.50 0.422612 -262.50 107.50 97.50 0.489081 -262.50 107.50 102.50 0.395592 -262.50 107.50 107.50 0.383139 -262.50 107.50 112.50 0.360093 -262.50 107.50 117.50 0.282231 -262.50 107.50 122.50 0.272807 -262.50 107.50 127.50 0.380142 -262.50 107.50 132.50 0.579361 -262.50 107.50 137.50 0.913061 -262.50 107.50 142.50 1.23139 -262.50 107.50 147.50 1.43649 -262.50 107.50 152.50 1.55321 -262.50 107.50 157.50 1.65138 -262.50 107.50 162.50 1.70307 -262.50 107.50 167.50 1.5325 -262.50 107.50 172.50 1.14666 -262.50 107.50 177.50 0.677778 -262.50 107.50 182.50 0.422612 -262.50 107.50 187.50 0.489081 -262.50 107.50 192.50 0.395592 -262.50 107.50 197.50 0.383139 -262.50 107.50 202.50 0.360093 -262.50 107.50 207.50 0.282231 -262.50 107.50 212.50 0.272807 -262.50 107.50 217.50 0.380141 -262.50 107.50 222.50 0.57936 -262.50 107.50 227.50 0.91306 -262.50 107.50 232.50 1.23139 -262.50 107.50 237.50 1.43649 -262.50 107.50 242.50 1.55321 -262.50 107.50 247.50 1.65138 -262.50 107.50 252.50 1.70307 -262.50 107.50 257.50 1.5325 -262.50 107.50 262.50 1.14666 -262.50 107.50 267.50 0.677777 -262.50 107.50 272.50 0.422612 -262.50 107.50 277.50 0.489081 -262.50 107.50 282.50 0.395592 -262.50 107.50 287.50 0.383139 -262.50 107.50 292.50 0.360093 -262.50 107.50 297.50 0.282231 -262.50 107.50 302.50 0.272807 -262.50 107.50 307.50 0.380141 -262.50 107.50 312.50 0.57936 -262.50 107.50 317.50 0.91306 -262.50 107.50 322.50 1.23139 -262.50 107.50 327.50 1.43648 -262.50 107.50 332.50 1.55321 -262.50 107.50 337.50 1.65138 -262.50 107.50 342.50 1.70307 -262.50 107.50 347.50 1.5325 -262.50 107.50 352.50 1.14666 -262.50 107.50 357.50 0.677778 -262.50 112.50 2.50 0.335765 -262.50 112.50 7.50 0.307317 -262.50 112.50 12.50 0.275848 -262.50 112.50 17.50 0.18965 -262.50 112.50 22.50 0.145181 -262.50 112.50 27.50 0.108925 -262.50 112.50 32.50 0.0801606 -262.50 112.50 37.50 0.0967443 -262.50 112.50 42.50 0.176889 -262.50 112.50 47.50 0.2981 -262.50 112.50 52.50 0.485745 -262.50 112.50 57.50 0.667436 -262.50 112.50 62.50 0.826734 -262.50 112.50 67.50 1.04726 -262.50 112.50 72.50 1.26043 -262.50 112.50 77.50 1.17708 -262.50 112.50 82.50 0.892335 -262.50 112.50 87.50 0.541781 -262.50 112.50 92.50 0.335765 -262.50 112.50 97.50 0.307317 -262.50 112.50 102.50 0.275849 -262.50 112.50 107.50 0.18965 -262.50 112.50 112.50 0.145181 -262.50 112.50 117.50 0.108925 -262.50 112.50 122.50 0.0801607 -262.50 112.50 127.50 0.0967444 -262.50 112.50 132.50 0.176889 -262.50 112.50 137.50 0.2981 -262.50 112.50 142.50 0.485745 -262.50 112.50 147.50 0.667436 -262.50 112.50 152.50 0.826734 -262.50 112.50 157.50 1.04726 -262.50 112.50 162.50 1.26043 -262.50 112.50 167.50 1.17708 -262.50 112.50 172.50 0.892335 -262.50 112.50 177.50 0.541781 -262.50 112.50 182.50 0.335765 -262.50 112.50 187.50 0.307317 -262.50 112.50 192.50 0.275848 -262.50 112.50 197.50 0.18965 -262.50 112.50 202.50 0.145181 -262.50 112.50 207.50 0.108925 -262.50 112.50 212.50 0.0801607 -262.50 112.50 217.50 0.0967443 -262.50 112.50 222.50 0.176889 -262.50 112.50 227.50 0.2981 -262.50 112.50 232.50 0.485746 -262.50 112.50 237.50 0.667436 -262.50 112.50 242.50 0.826734 -262.50 112.50 247.50 1.04726 -262.50 112.50 252.50 1.26043 -262.50 112.50 257.50 1.17708 -262.50 112.50 262.50 0.892334 -262.50 112.50 267.50 0.541781 -262.50 112.50 272.50 0.335765 -262.50 112.50 277.50 0.307317 -262.50 112.50 282.50 0.275849 -262.50 112.50 287.50 0.18965 -262.50 112.50 292.50 0.145181 -262.50 112.50 297.50 0.108925 -262.50 112.50 302.50 0.0801606 -262.50 112.50 307.50 0.0967441 -262.50 112.50 312.50 0.176889 -262.50 112.50 317.50 0.2981 -262.50 112.50 322.50 0.485745 -262.50 112.50 327.50 0.667436 -262.50 112.50 332.50 0.826733 -262.50 112.50 337.50 1.04726 -262.50 112.50 342.50 1.26043 -262.50 112.50 347.50 1.17708 -262.50 112.50 352.50 0.892336 -262.50 112.50 357.50 0.541782 -262.50 117.50 2.50 0.232885 -262.50 117.50 7.50 0.17083 -262.50 117.50 12.50 0.14265 -262.50 117.50 17.50 0.0812319 -262.50 117.50 22.50 0.047248 -262.50 117.50 27.50 0.0230585 -262.50 117.50 32.50 0.0162894 -262.50 117.50 37.50 0.0216496 -262.50 117.50 42.50 0.0408353 -262.50 117.50 47.50 0.0766606 -262.50 117.50 52.50 0.148229 -262.50 117.50 57.50 0.231199 -262.50 117.50 62.50 0.341814 -262.50 117.50 67.50 0.548327 -262.50 117.50 72.50 0.680786 -262.50 117.50 77.50 0.734243 -262.50 117.50 82.50 0.549132 -262.50 117.50 87.50 0.342791 -262.50 117.50 92.50 0.232885 -262.50 117.50 97.50 0.17083 -262.50 117.50 102.50 0.14265 -262.50 117.50 107.50 0.0812318 -262.50 117.50 112.50 0.0472481 -262.50 117.50 117.50 0.0230585 -262.50 117.50 122.50 0.0162894 -262.50 117.50 127.50 0.0216496 -262.50 117.50 132.50 0.0408354 -262.50 117.50 137.50 0.0766607 -262.50 117.50 142.50 0.148229 -262.50 117.50 147.50 0.231199 -262.50 117.50 152.50 0.341813 -262.50 117.50 157.50 0.548327 -262.50 117.50 162.50 0.680786 -262.50 117.50 167.50 0.734243 -262.50 117.50 172.50 0.549133 -262.50 117.50 177.50 0.342791 -262.50 117.50 182.50 0.232885 -262.50 117.50 187.50 0.170831 -262.50 117.50 192.50 0.14265 -262.50 117.50 197.50 0.0812319 -262.50 117.50 202.50 0.0472482 -262.50 117.50 207.50 0.0230585 -262.50 117.50 212.50 0.0162894 -262.50 117.50 217.50 0.0216496 -262.50 117.50 222.50 0.0408354 -262.50 117.50 227.50 0.0766606 -262.50 117.50 232.50 0.148229 -262.50 117.50 237.50 0.231199 -262.50 117.50 242.50 0.341814 -262.50 117.50 247.50 0.548328 -262.50 117.50 252.50 0.680786 -262.50 117.50 257.50 0.734243 -262.50 117.50 262.50 0.549132 -262.50 117.50 267.50 0.34279 -262.50 117.50 272.50 0.232885 -262.50 117.50 277.50 0.17083 -262.50 117.50 282.50 0.14265 -262.50 117.50 287.50 0.0812318 -262.50 117.50 292.50 0.0472481 -262.50 117.50 297.50 0.0230585 -262.50 117.50 302.50 0.0162894 -262.50 117.50 307.50 0.0216496 -262.50 117.50 312.50 0.0408353 -262.50 117.50 317.50 0.0766606 -262.50 117.50 322.50 0.148229 -262.50 117.50 327.50 0.231199 -262.50 117.50 332.50 0.341813 -262.50 117.50 337.50 0.548326 -262.50 117.50 342.50 0.680785 -262.50 117.50 347.50 0.734243 -262.50 117.50 352.50 0.549133 -262.50 117.50 357.50 0.342791 -262.50 122.50 2.50 0.164812 -262.50 122.50 7.50 0.0996033 -262.50 122.50 12.50 0.0584314 -262.50 122.50 17.50 0.0250433 -262.50 122.50 22.50 0.0141693 -262.50 122.50 27.50 0.00678968 -262.50 122.50 32.50 0.00479006 -262.50 122.50 37.50 0.00605562 -262.50 122.50 42.50 0.00969555 -262.50 122.50 47.50 0.0209546 -262.50 122.50 52.50 0.0338697 -262.50 122.50 57.50 0.061115 -262.50 122.50 62.50 0.115046 -262.50 122.50 67.50 0.195315 -262.50 122.50 72.50 0.313437 -262.50 122.50 77.50 0.342066 -262.50 122.50 82.50 0.274664 -262.50 122.50 87.50 0.197583 -262.50 122.50 92.50 0.164812 -262.50 122.50 97.50 0.0996033 -262.50 122.50 102.50 0.0584314 -262.50 122.50 107.50 0.0250433 -262.50 122.50 112.50 0.0141693 -262.50 122.50 117.50 0.00678967 -262.50 122.50 122.50 0.00479006 -262.50 122.50 127.50 0.00605562 -262.50 122.50 132.50 0.00969556 -262.50 122.50 137.50 0.0209546 -262.50 122.50 142.50 0.0338697 -262.50 122.50 147.50 0.061115 -262.50 122.50 152.50 0.115046 -262.50 122.50 157.50 0.195315 -262.50 122.50 162.50 0.313437 -262.50 122.50 167.50 0.342066 -262.50 122.50 172.50 0.274664 -262.50 122.50 177.50 0.197583 -262.50 122.50 182.50 0.164812 -262.50 122.50 187.50 0.0996033 -262.50 122.50 192.50 0.0584314 -262.50 122.50 197.50 0.0250433 -262.50 122.50 202.50 0.0141693 -262.50 122.50 207.50 0.00678968 -262.50 122.50 212.50 0.00479006 -262.50 122.50 217.50 0.00605562 -262.50 122.50 222.50 0.00969556 -262.50 122.50 227.50 0.0209546 -262.50 122.50 232.50 0.0338697 -262.50 122.50 237.50 0.061115 -262.50 122.50 242.50 0.115046 -262.50 122.50 247.50 0.195315 -262.50 122.50 252.50 0.313437 -262.50 122.50 257.50 0.342066 -262.50 122.50 262.50 0.274664 -262.50 122.50 267.50 0.197583 -262.50 122.50 272.50 0.164812 -262.50 122.50 277.50 0.0996033 -262.50 122.50 282.50 0.0584314 -262.50 122.50 287.50 0.0250433 -262.50 122.50 292.50 0.0141693 -262.50 122.50 297.50 0.00678969 -262.50 122.50 302.50 0.00479006 -262.50 122.50 307.50 0.00605562 -262.50 122.50 312.50 0.00969555 -262.50 122.50 317.50 0.0209546 -262.50 122.50 322.50 0.0338697 -262.50 122.50 327.50 0.0611148 -262.50 122.50 332.50 0.115046 -262.50 122.50 337.50 0.195315 -262.50 122.50 342.50 0.313437 -262.50 122.50 347.50 0.342066 -262.50 122.50 352.50 0.274664 -262.50 122.50 357.50 0.197583 -262.50 127.50 2.50 0.110206 -262.50 127.50 7.50 0.0572843 -262.50 127.50 12.50 0.0251331 -262.50 127.50 17.50 0.0139949 -262.50 127.50 22.50 0.0122309 -262.50 127.50 27.50 0.0188955 -262.50 127.50 32.50 0.0337437 -262.50 127.50 37.50 0.0344461 -262.50 127.50 42.50 0.0283886 -262.50 127.50 47.50 0.0295768 -262.50 127.50 52.50 0.0187428 -262.50 127.50 57.50 0.0189809 -262.50 127.50 62.50 0.0294673 -262.50 127.50 67.50 0.0591752 -262.50 127.50 72.50 0.108714 -262.50 127.50 77.50 0.118965 -262.50 127.50 82.50 0.11044 -262.50 127.50 87.50 0.111425 -262.50 127.50 92.50 0.110206 -262.50 127.50 97.50 0.0572843 -262.50 127.50 102.50 0.0251331 -262.50 127.50 107.50 0.0139949 -262.50 127.50 112.50 0.0122309 -262.50 127.50 117.50 0.0188954 -262.50 127.50 122.50 0.0337436 -262.50 127.50 127.50 0.0344461 -262.50 127.50 132.50 0.0283886 -262.50 127.50 137.50 0.0295768 -262.50 127.50 142.50 0.0187428 -262.50 127.50 147.50 0.0189809 -262.50 127.50 152.50 0.0294673 -262.50 127.50 157.50 0.0591751 -262.50 127.50 162.50 0.108714 -262.50 127.50 167.50 0.118965 -262.50 127.50 172.50 0.11044 -262.50 127.50 177.50 0.111424 -262.50 127.50 182.50 0.110206 -262.50 127.50 187.50 0.0572843 -262.50 127.50 192.50 0.0251331 -262.50 127.50 197.50 0.0139949 -262.50 127.50 202.50 0.0122309 -262.50 127.50 207.50 0.0188954 -262.50 127.50 212.50 0.0337436 -262.50 127.50 217.50 0.0344461 -262.50 127.50 222.50 0.0283886 -262.50 127.50 227.50 0.0295768 -262.50 127.50 232.50 0.0187428 -262.50 127.50 237.50 0.0189809 -262.50 127.50 242.50 0.0294673 -262.50 127.50 247.50 0.0591752 -262.50 127.50 252.50 0.108714 -262.50 127.50 257.50 0.118965 -262.50 127.50 262.50 0.11044 -262.50 127.50 267.50 0.111425 -262.50 127.50 272.50 0.110206 -262.50 127.50 277.50 0.0572843 -262.50 127.50 282.50 0.0251331 -262.50 127.50 287.50 0.0139949 -262.50 127.50 292.50 0.0122309 -262.50 127.50 297.50 0.0188954 -262.50 127.50 302.50 0.0337437 -262.50 127.50 307.50 0.0344461 -262.50 127.50 312.50 0.0283886 -262.50 127.50 317.50 0.0295768 -262.50 127.50 322.50 0.0187428 -262.50 127.50 327.50 0.0189809 -262.50 127.50 332.50 0.0294672 -262.50 127.50 337.50 0.059175 -262.50 127.50 342.50 0.108714 -262.50 127.50 347.50 0.118965 -262.50 127.50 352.50 0.11044 -262.50 127.50 357.50 0.111424 -262.50 132.50 2.50 0.0566768 -262.50 132.50 7.50 0.0285764 -262.50 132.50 12.50 0.0208145 -262.50 132.50 17.50 0.0357779 -262.50 132.50 22.50 0.0611133 -262.50 132.50 27.50 0.104541 -262.50 132.50 32.50 0.178877 -262.50 132.50 37.50 0.229345 -262.50 132.50 42.50 0.203694 -262.50 132.50 47.50 0.18153 -262.50 132.50 52.50 0.120229 -262.50 132.50 57.50 0.0746005 -262.50 132.50 62.50 0.040271 -262.50 132.50 67.50 0.0273174 -262.50 132.50 72.50 0.0274119 -262.50 132.50 77.50 0.0292254 -262.50 132.50 82.50 0.0384049 -262.50 132.50 87.50 0.057773 -262.50 132.50 92.50 0.0566768 -262.50 132.50 97.50 0.0285764 -262.50 132.50 102.50 0.0208145 -262.50 132.50 107.50 0.0357779 -262.50 132.50 112.50 0.0611132 -262.50 132.50 117.50 0.104541 -262.50 132.50 122.50 0.178877 -262.50 132.50 127.50 0.229345 -262.50 132.50 132.50 0.203694 -262.50 132.50 137.50 0.181531 -262.50 132.50 142.50 0.120229 -262.50 132.50 147.50 0.0746005 -262.50 132.50 152.50 0.040271 -262.50 132.50 157.50 0.0273174 -262.50 132.50 162.50 0.0274119 -262.50 132.50 167.50 0.0292254 -262.50 132.50 172.50 0.0384049 -262.50 132.50 177.50 0.057773 -262.50 132.50 182.50 0.0566768 -262.50 132.50 187.50 0.0285764 -262.50 132.50 192.50 0.0208145 -262.50 132.50 197.50 0.0357779 -262.50 132.50 202.50 0.0611132 -262.50 132.50 207.50 0.10454 -262.50 132.50 212.50 0.178877 -262.50 132.50 217.50 0.229345 -262.50 132.50 222.50 0.203694 -262.50 132.50 227.50 0.181531 -262.50 132.50 232.50 0.120228 -262.50 132.50 237.50 0.0746004 -262.50 132.50 242.50 0.040271 -262.50 132.50 247.50 0.0273174 -262.50 132.50 252.50 0.0274119 -262.50 132.50 257.50 0.0292254 -262.50 132.50 262.50 0.0384049 -262.50 132.50 267.50 0.057773 -262.50 132.50 272.50 0.0566768 -262.50 132.50 277.50 0.0285764 -262.50 132.50 282.50 0.0208145 -262.50 132.50 287.50 0.0357779 -262.50 132.50 292.50 0.0611132 -262.50 132.50 297.50 0.104541 -262.50 132.50 302.50 0.178877 -262.50 132.50 307.50 0.229345 -262.50 132.50 312.50 0.203694 -262.50 132.50 317.50 0.181531 -262.50 132.50 322.50 0.120229 -262.50 132.50 327.50 0.0746006 -262.50 132.50 332.50 0.0402711 -262.50 132.50 337.50 0.0273174 -262.50 132.50 342.50 0.0274118 -262.50 132.50 347.50 0.0292253 -262.50 132.50 352.50 0.0384049 -262.50 132.50 357.50 0.0577729 -262.50 137.50 2.50 0.0326857 -262.50 137.50 7.50 0.0252326 -262.50 137.50 12.50 0.0482187 -262.50 137.50 17.50 0.114671 -262.50 137.50 22.50 0.207285 -262.50 137.50 27.50 0.354763 -262.50 137.50 32.50 0.56974 -262.50 137.50 37.50 0.805829 -262.50 137.50 42.50 0.831385 -262.50 137.50 47.50 0.790582 -262.50 137.50 52.50 0.530006 -262.50 137.50 57.50 0.338105 -262.50 137.50 62.50 0.152569 -262.50 137.50 67.50 0.0711574 -262.50 137.50 72.50 0.0280381 -262.50 137.50 77.50 0.0157058 -262.50 137.50 82.50 0.0209977 -262.50 137.50 87.50 0.0345915 -262.50 137.50 92.50 0.0326857 -262.50 137.50 97.50 0.0252326 -262.50 137.50 102.50 0.0482187 -262.50 137.50 107.50 0.114671 -262.50 137.50 112.50 0.207284 -262.50 137.50 117.50 0.354763 -262.50 137.50 122.50 0.56974 -262.50 137.50 127.50 0.80583 -262.50 137.50 132.50 0.831385 -262.50 137.50 137.50 0.790582 -262.50 137.50 142.50 0.530006 -262.50 137.50 147.50 0.338105 -262.50 137.50 152.50 0.152569 -262.50 137.50 157.50 0.0711575 -262.50 137.50 162.50 0.0280381 -262.50 137.50 167.50 0.0157059 -262.50 137.50 172.50 0.0209977 -262.50 137.50 177.50 0.0345915 -262.50 137.50 182.50 0.0326857 -262.50 137.50 187.50 0.0252326 -262.50 137.50 192.50 0.0482187 -262.50 137.50 197.50 0.114671 -262.50 137.50 202.50 0.207285 -262.50 137.50 207.50 0.354763 -262.50 137.50 212.50 0.56974 -262.50 137.50 217.50 0.805829 -262.50 137.50 222.50 0.831385 -262.50 137.50 227.50 0.790582 -262.50 137.50 232.50 0.530006 -262.50 137.50 237.50 0.338105 -262.50 137.50 242.50 0.152569 -262.50 137.50 247.50 0.0711573 -262.50 137.50 252.50 0.0280381 -262.50 137.50 257.50 0.0157059 -262.50 137.50 262.50 0.0209977 -262.50 137.50 267.50 0.0345915 -262.50 137.50 272.50 0.0326857 -262.50 137.50 277.50 0.0252326 -262.50 137.50 282.50 0.0482187 -262.50 137.50 287.50 0.114671 -262.50 137.50 292.50 0.207284 -262.50 137.50 297.50 0.354763 -262.50 137.50 302.50 0.56974 -262.50 137.50 307.50 0.80583 -262.50 137.50 312.50 0.831385 -262.50 137.50 317.50 0.790582 -262.50 137.50 322.50 0.530007 -262.50 137.50 327.50 0.338105 -262.50 137.50 332.50 0.152569 -262.50 137.50 337.50 0.0711575 -262.50 137.50 342.50 0.0280381 -262.50 137.50 347.50 0.0157059 -262.50 137.50 352.50 0.0209977 -262.50 137.50 357.50 0.0345914 -262.50 142.50 2.50 0.0566768 -262.50 142.50 7.50 0.0580158 -262.50 142.50 12.50 0.114879 -262.50 142.50 17.50 0.26194 -262.50 142.50 22.50 0.479108 -262.50 142.50 27.50 0.817295 -262.50 142.50 32.50 1.35089 -262.50 142.50 37.50 1.882 -262.50 142.50 42.50 2.17351 -262.50 142.50 47.50 2.05118 -262.50 142.50 52.50 1.54855 -262.50 142.50 57.50 0.917943 -262.50 142.50 62.50 0.46399 -262.50 142.50 67.50 0.209316 -262.50 142.50 72.50 0.0906726 -262.50 142.50 77.50 0.0474071 -262.50 142.50 82.50 0.0415527 -262.50 142.50 87.50 0.0561728 -262.50 142.50 92.50 0.0566768 -262.50 142.50 97.50 0.0580158 -262.50 142.50 102.50 0.114879 -262.50 142.50 107.50 0.26194 -262.50 142.50 112.50 0.479108 -262.50 142.50 117.50 0.817295 -262.50 142.50 122.50 1.35089 -262.50 142.50 127.50 1.882 -262.50 142.50 132.50 2.17351 -262.50 142.50 137.50 2.05118 -262.50 142.50 142.50 1.54855 -262.50 142.50 147.50 0.917942 -262.50 142.50 152.50 0.46399 -262.50 142.50 157.50 0.209317 -262.50 142.50 162.50 0.0906727 -262.50 142.50 167.50 0.0474071 -262.50 142.50 172.50 0.0415526 -262.50 142.50 177.50 0.0561728 -262.50 142.50 182.50 0.0566768 -262.50 142.50 187.50 0.0580158 -262.50 142.50 192.50 0.114879 -262.50 142.50 197.50 0.26194 -262.50 142.50 202.50 0.479108 -262.50 142.50 207.50 0.817294 -262.50 142.50 212.50 1.35089 -262.50 142.50 217.50 1.882 -262.50 142.50 222.50 2.17351 -262.50 142.50 227.50 2.05118 -262.50 142.50 232.50 1.54855 -262.50 142.50 237.50 0.917941 -262.50 142.50 242.50 0.463989 -262.50 142.50 247.50 0.209316 -262.50 142.50 252.50 0.0906725 -262.50 142.50 257.50 0.0474071 -262.50 142.50 262.50 0.0415526 -262.50 142.50 267.50 0.0561728 -262.50 142.50 272.50 0.0566768 -262.50 142.50 277.50 0.0580158 -262.50 142.50 282.50 0.114879 -262.50 142.50 287.50 0.26194 -262.50 142.50 292.50 0.479108 -262.50 142.50 297.50 0.817294 -262.50 142.50 302.50 1.35089 -262.50 142.50 307.50 1.882 -262.50 142.50 312.50 2.17351 -262.50 142.50 317.50 2.05118 -262.50 142.50 322.50 1.54855 -262.50 142.50 327.50 0.917944 -262.50 142.50 332.50 0.463991 -262.50 142.50 337.50 0.209317 -262.50 142.50 342.50 0.0906728 -262.50 142.50 347.50 0.0474072 -262.50 142.50 352.50 0.0415526 -262.50 142.50 357.50 0.0561728 -262.50 147.50 2.50 0.110206 -262.50 147.50 7.50 0.113683 -262.50 147.50 12.50 0.203154 -262.50 147.50 17.50 0.433369 -262.50 147.50 22.50 0.816355 -262.50 147.50 27.50 1.42083 -262.50 147.50 32.50 2.31712 -262.50 147.50 37.50 3.27578 -262.50 147.50 42.50 3.77275 -262.50 147.50 47.50 3.54732 -262.50 147.50 52.50 2.73013 -262.50 147.50 57.50 1.68937 -262.50 147.50 62.50 0.88014 -262.50 147.50 67.50 0.42978 -262.50 147.50 72.50 0.221104 -262.50 147.50 77.50 0.137174 -262.50 147.50 82.50 0.106707 -262.50 147.50 87.50 0.112048 -262.50 147.50 92.50 0.110206 -262.50 147.50 97.50 0.113683 -262.50 147.50 102.50 0.203154 -262.50 147.50 107.50 0.433369 -262.50 147.50 112.50 0.816355 -262.50 147.50 117.50 1.42083 -262.50 147.50 122.50 2.31712 -262.50 147.50 127.50 3.27578 -262.50 147.50 132.50 3.77275 -262.50 147.50 137.50 3.54732 -262.50 147.50 142.50 2.73013 -262.50 147.50 147.50 1.68937 -262.50 147.50 152.50 0.880141 -262.50 147.50 157.50 0.429781 -262.50 147.50 162.50 0.221104 -262.50 147.50 167.50 0.137174 -262.50 147.50 172.50 0.106707 -262.50 147.50 177.50 0.112048 -262.50 147.50 182.50 0.110206 -262.50 147.50 187.50 0.113683 -262.50 147.50 192.50 0.203154 -262.50 147.50 197.50 0.433369 -262.50 147.50 202.50 0.816355 -262.50 147.50 207.50 1.42083 -262.50 147.50 212.50 2.31712 -262.50 147.50 217.50 3.27578 -262.50 147.50 222.50 3.77275 -262.50 147.50 227.50 3.54732 -262.50 147.50 232.50 2.73012 -262.50 147.50 237.50 1.68937 -262.50 147.50 242.50 0.88014 -262.50 147.50 247.50 0.42978 -262.50 147.50 252.50 0.221104 -262.50 147.50 257.50 0.137174 -262.50 147.50 262.50 0.106707 -262.50 147.50 267.50 0.112048 -262.50 147.50 272.50 0.110206 -262.50 147.50 277.50 0.113683 -262.50 147.50 282.50 0.203154 -262.50 147.50 287.50 0.433369 -262.50 147.50 292.50 0.816355 -262.50 147.50 297.50 1.42083 -262.50 147.50 302.50 2.31712 -262.50 147.50 307.50 3.27578 -262.50 147.50 312.50 3.77275 -262.50 147.50 317.50 3.54732 -262.50 147.50 322.50 2.73013 -262.50 147.50 327.50 1.68937 -262.50 147.50 332.50 0.880143 -262.50 147.50 337.50 0.429781 -262.50 147.50 342.50 0.221104 -262.50 147.50 347.50 0.137174 -262.50 147.50 352.50 0.106707 -262.50 147.50 357.50 0.112048 -262.50 152.50 2.50 0.164812 -262.50 152.50 7.50 0.15525 -262.50 152.50 12.50 0.261037 -262.50 152.50 17.50 0.521251 -262.50 152.50 22.50 1.02476 -262.50 152.50 27.50 1.79176 -262.50 152.50 32.50 2.84162 -262.50 152.50 37.50 3.97256 -262.50 152.50 42.50 4.62496 -262.50 152.50 47.50 4.37538 -262.50 152.50 52.50 3.37602 -262.50 152.50 57.50 2.13732 -262.50 152.50 62.50 1.17525 -262.50 152.50 67.50 0.630826 -262.50 152.50 72.50 0.399216 -262.50 152.50 77.50 0.303025 -262.50 152.50 82.50 0.235401 -262.50 152.50 87.50 0.190251 -262.50 152.50 92.50 0.164812 -262.50 152.50 97.50 0.15525 -262.50 152.50 102.50 0.261037 -262.50 152.50 107.50 0.521251 -262.50 152.50 112.50 1.02476 -262.50 152.50 117.50 1.79176 -262.50 152.50 122.50 2.84162 -262.50 152.50 127.50 3.97256 -262.50 152.50 132.50 4.62496 -262.50 152.50 137.50 4.37538 -262.50 152.50 142.50 3.37602 -262.50 152.50 147.50 2.13732 -262.50 152.50 152.50 1.17525 -262.50 152.50 157.50 0.630826 -262.50 152.50 162.50 0.399216 -262.50 152.50 167.50 0.303025 -262.50 152.50 172.50 0.235401 -262.50 152.50 177.50 0.190251 -262.50 152.50 182.50 0.164812 -262.50 152.50 187.50 0.15525 -262.50 152.50 192.50 0.261037 -262.50 152.50 197.50 0.521251 -262.50 152.50 202.50 1.02476 -262.50 152.50 207.50 1.79176 -262.50 152.50 212.50 2.84162 -262.50 152.50 217.50 3.97256 -262.50 152.50 222.50 4.62496 -262.50 152.50 227.50 4.37538 -262.50 152.50 232.50 3.37602 -262.50 152.50 237.50 2.13732 -262.50 152.50 242.50 1.17525 -262.50 152.50 247.50 0.630825 -262.50 152.50 252.50 0.399215 -262.50 152.50 257.50 0.303025 -262.50 152.50 262.50 0.235401 -262.50 152.50 267.50 0.190251 -262.50 152.50 272.50 0.164812 -262.50 152.50 277.50 0.15525 -262.50 152.50 282.50 0.261037 -262.50 152.50 287.50 0.521251 -262.50 152.50 292.50 1.02476 -262.50 152.50 297.50 1.79176 -262.50 152.50 302.50 2.84162 -262.50 152.50 307.50 3.97256 -262.50 152.50 312.50 4.62496 -262.50 152.50 317.50 4.37538 -262.50 152.50 322.50 3.37602 -262.50 152.50 327.50 2.13732 -262.50 152.50 332.50 1.17525 -262.50 152.50 337.50 0.630827 -262.50 152.50 342.50 0.399216 -262.50 152.50 347.50 0.303026 -262.50 152.50 352.50 0.235401 -262.50 152.50 357.50 0.190251 -262.50 157.50 2.50 0.232885 -262.50 157.50 7.50 0.181176 -262.50 157.50 12.50 0.263627 -262.50 157.50 17.50 0.487495 -262.50 157.50 22.50 0.931929 -262.50 157.50 27.50 1.63991 -262.50 157.50 32.50 2.51913 -262.50 157.50 37.50 3.43765 -262.50 157.50 42.50 4.0122 -262.50 157.50 47.50 3.91511 -262.50 157.50 52.50 3.02182 -262.50 157.50 57.50 1.95711 -262.50 157.50 62.50 1.162 -262.50 157.50 67.50 0.737812 -262.50 157.50 72.50 0.58027 -262.50 157.50 77.50 0.535545 -262.50 157.50 82.50 0.432572 -262.50 157.50 87.50 0.312194 -262.50 157.50 92.50 0.232885 -262.50 157.50 97.50 0.181176 -262.50 157.50 102.50 0.263627 -262.50 157.50 107.50 0.487495 -262.50 157.50 112.50 0.931929 -262.50 157.50 117.50 1.63991 -262.50 157.50 122.50 2.51913 -262.50 157.50 127.50 3.43765 -262.50 157.50 132.50 4.0122 -262.50 157.50 137.50 3.9151 -262.50 157.50 142.50 3.02182 -262.50 157.50 147.50 1.95711 -262.50 157.50 152.50 1.162 -262.50 157.50 157.50 0.737812 -262.50 157.50 162.50 0.580271 -262.50 157.50 167.50 0.535545 -262.50 157.50 172.50 0.432572 -262.50 157.50 177.50 0.312194 -262.50 157.50 182.50 0.232885 -262.50 157.50 187.50 0.181176 -262.50 157.50 192.50 0.263627 -262.50 157.50 197.50 0.487495 -262.50 157.50 202.50 0.93193 -262.50 157.50 207.50 1.63991 -262.50 157.50 212.50 2.51913 -262.50 157.50 217.50 3.43765 -262.50 157.50 222.50 4.0122 -262.50 157.50 227.50 3.91511 -262.50 157.50 232.50 3.02182 -262.50 157.50 237.50 1.9571 -262.50 157.50 242.50 1.162 -262.50 157.50 247.50 0.737812 -262.50 157.50 252.50 0.58027 -262.50 157.50 257.50 0.535545 -262.50 157.50 262.50 0.432572 -262.50 157.50 267.50 0.312194 -262.50 157.50 272.50 0.232885 -262.50 157.50 277.50 0.181176 -262.50 157.50 282.50 0.263627 -262.50 157.50 287.50 0.487495 -262.50 157.50 292.50 0.931929 -262.50 157.50 297.50 1.63991 -262.50 157.50 302.50 2.51912 -262.50 157.50 307.50 3.43765 -262.50 157.50 312.50 4.0122 -262.50 157.50 317.50 3.91511 -262.50 157.50 322.50 3.02182 -262.50 157.50 327.50 1.95711 -262.50 157.50 332.50 1.162 -262.50 157.50 337.50 0.737813 -262.50 157.50 342.50 0.580271 -262.50 157.50 347.50 0.535546 -262.50 157.50 352.50 0.432572 -262.50 157.50 357.50 0.312195 -262.50 162.50 2.50 0.335764 -262.50 162.50 7.50 0.222831 -262.50 162.50 12.50 0.242003 -262.50 162.50 17.50 0.416464 -262.50 162.50 22.50 0.700174 -262.50 162.50 27.50 1.16572 -262.50 162.50 32.50 1.72951 -262.50 162.50 37.50 2.2721 -262.50 162.50 42.50 2.64716 -262.50 162.50 47.50 2.53465 -262.50 162.50 52.50 1.99347 -262.50 162.50 57.50 1.39061 -262.50 162.50 62.50 0.936155 -262.50 162.50 67.50 0.688365 -262.50 162.50 72.50 0.689209 -262.50 162.50 77.50 0.734155 -262.50 162.50 82.50 0.634357 -262.50 162.50 87.50 0.477904 -262.50 162.50 92.50 0.335764 -262.50 162.50 97.50 0.222832 -262.50 162.50 102.50 0.242003 -262.50 162.50 107.50 0.416465 -262.50 162.50 112.50 0.700174 -262.50 162.50 117.50 1.16572 -262.50 162.50 122.50 1.72951 -262.50 162.50 127.50 2.2721 -262.50 162.50 132.50 2.64716 -262.50 162.50 137.50 2.53465 -262.50 162.50 142.50 1.99347 -262.50 162.50 147.50 1.39061 -262.50 162.50 152.50 0.936155 -262.50 162.50 157.50 0.688365 -262.50 162.50 162.50 0.689209 -262.50 162.50 167.50 0.734154 -262.50 162.50 172.50 0.634357 -262.50 162.50 177.50 0.477904 -262.50 162.50 182.50 0.335764 -262.50 162.50 187.50 0.222831 -262.50 162.50 192.50 0.242003 -262.50 162.50 197.50 0.416464 -262.50 162.50 202.50 0.700174 -262.50 162.50 207.50 1.16572 -262.50 162.50 212.50 1.72951 -262.50 162.50 217.50 2.2721 -262.50 162.50 222.50 2.64716 -262.50 162.50 227.50 2.53465 -262.50 162.50 232.50 1.99347 -262.50 162.50 237.50 1.39061 -262.50 162.50 242.50 0.936155 -262.50 162.50 247.50 0.688365 -262.50 162.50 252.50 0.689209 -262.50 162.50 257.50 0.734155 -262.50 162.50 262.50 0.634356 -262.50 162.50 267.50 0.477904 -262.50 162.50 272.50 0.335764 -262.50 162.50 277.50 0.222831 -262.50 162.50 282.50 0.242003 -262.50 162.50 287.50 0.416464 -262.50 162.50 292.50 0.700174 -262.50 162.50 297.50 1.16572 -262.50 162.50 302.50 1.72951 -262.50 162.50 307.50 2.2721 -262.50 162.50 312.50 2.64716 -262.50 162.50 317.50 2.53465 -262.50 162.50 322.50 1.99347 -262.50 162.50 327.50 1.39061 -262.50 162.50 332.50 0.936156 -262.50 162.50 337.50 0.688366 -262.50 162.50 342.50 0.689209 -262.50 162.50 347.50 0.734155 -262.50 162.50 352.50 0.634357 -262.50 162.50 357.50 0.477904 -262.50 167.50 2.50 0.422612 -262.50 167.50 7.50 0.257716 -262.50 167.50 12.50 0.20374 -262.50 167.50 17.50 0.326764 -262.50 167.50 22.50 0.533063 -262.50 167.50 27.50 0.755381 -262.50 167.50 32.50 0.958856 -262.50 167.50 37.50 1.19043 -262.50 167.50 42.50 1.35538 -262.50 167.50 47.50 1.34198 -262.50 167.50 52.50 1.12062 -262.50 167.50 57.50 0.813274 -262.50 167.50 62.50 0.549046 -262.50 167.50 67.50 0.523012 -262.50 167.50 72.50 0.664736 -262.50 167.50 77.50 0.793547 -262.50 167.50 82.50 0.752467 -262.50 167.50 87.50 0.61695 -262.50 167.50 92.50 0.422612 -262.50 167.50 97.50 0.257716 -262.50 167.50 102.50 0.20374 -262.50 167.50 107.50 0.326764 -262.50 167.50 112.50 0.533063 -262.50 167.50 117.50 0.755381 -262.50 167.50 122.50 0.958856 -262.50 167.50 127.50 1.19043 -262.50 167.50 132.50 1.35538 -262.50 167.50 137.50 1.34198 -262.50 167.50 142.50 1.12062 -262.50 167.50 147.50 0.813275 -262.50 167.50 152.50 0.549046 -262.50 167.50 157.50 0.523012 -262.50 167.50 162.50 0.664736 -262.50 167.50 167.50 0.793547 -262.50 167.50 172.50 0.752467 -262.50 167.50 177.50 0.61695 -262.50 167.50 182.50 0.422612 -262.50 167.50 187.50 0.257716 -262.50 167.50 192.50 0.20374 -262.50 167.50 197.50 0.326764 -262.50 167.50 202.50 0.533063 -262.50 167.50 207.50 0.755381 -262.50 167.50 212.50 0.958856 -262.50 167.50 217.50 1.19043 -262.50 167.50 222.50 1.35538 -262.50 167.50 227.50 1.34198 -262.50 167.50 232.50 1.12062 -262.50 167.50 237.50 0.813274 -262.50 167.50 242.50 0.549046 -262.50 167.50 247.50 0.523012 -262.50 167.50 252.50 0.664736 -262.50 167.50 257.50 0.793547 -262.50 167.50 262.50 0.752467 -262.50 167.50 267.50 0.61695 -262.50 167.50 272.50 0.422612 -262.50 167.50 277.50 0.257716 -262.50 167.50 282.50 0.20374 -262.50 167.50 287.50 0.326764 -262.50 167.50 292.50 0.533063 -262.50 167.50 297.50 0.755381 -262.50 167.50 302.50 0.958856 -262.50 167.50 307.50 1.19043 -262.50 167.50 312.50 1.35538 -262.50 167.50 317.50 1.34198 -262.50 167.50 322.50 1.12062 -262.50 167.50 327.50 0.813275 -262.50 167.50 332.50 0.549046 -262.50 167.50 337.50 0.523012 -262.50 167.50 342.50 0.664736 -262.50 167.50 347.50 0.793546 -262.50 167.50 352.50 0.752468 -262.50 167.50 357.50 0.616951 -262.50 172.50 2.50 0.429837 -262.50 172.50 7.50 0.23564 -262.50 172.50 12.50 0.159389 -262.50 172.50 17.50 0.192409 -262.50 172.50 22.50 0.31191 -262.50 172.50 27.50 0.42265 -262.50 172.50 32.50 0.487629 -262.50 172.50 37.50 0.532107 -262.50 172.50 42.50 0.575785 -262.50 172.50 47.50 0.572373 -262.50 172.50 52.50 0.488365 -262.50 172.50 57.50 0.365722 -262.50 172.50 62.50 0.28858 -262.50 172.50 67.50 0.333601 -262.50 172.50 72.50 0.516294 -262.50 172.50 77.50 0.72275 -262.50 172.50 82.50 0.813809 -262.50 172.50 87.50 0.676991 -262.50 172.50 92.50 0.429837 -262.50 172.50 97.50 0.23564 -262.50 172.50 102.50 0.159389 -262.50 172.50 107.50 0.192409 -262.50 172.50 112.50 0.311911 -262.50 172.50 117.50 0.42265 -262.50 172.50 122.50 0.487629 -262.50 172.50 127.50 0.532107 -262.50 172.50 132.50 0.575785 -262.50 172.50 137.50 0.572373 -262.50 172.50 142.50 0.488365 -262.50 172.50 147.50 0.365722 -262.50 172.50 152.50 0.28858 -262.50 172.50 157.50 0.333601 -262.50 172.50 162.50 0.516294 -262.50 172.50 167.50 0.722749 -262.50 172.50 172.50 0.813809 -262.50 172.50 177.50 0.676991 -262.50 172.50 182.50 0.429837 -262.50 172.50 187.50 0.235639 -262.50 172.50 192.50 0.159389 -262.50 172.50 197.50 0.192409 -262.50 172.50 202.50 0.311911 -262.50 172.50 207.50 0.42265 -262.50 172.50 212.50 0.487629 -262.50 172.50 217.50 0.532107 -262.50 172.50 222.50 0.575785 -262.50 172.50 227.50 0.572373 -262.50 172.50 232.50 0.488366 -262.50 172.50 237.50 0.365722 -262.50 172.50 242.50 0.28858 -262.50 172.50 247.50 0.333602 -262.50 172.50 252.50 0.516294 -262.50 172.50 257.50 0.72275 -262.50 172.50 262.50 0.813809 -262.50 172.50 267.50 0.67699 -262.50 172.50 272.50 0.429837 -262.50 172.50 277.50 0.23564 -262.50 172.50 282.50 0.159389 -262.50 172.50 287.50 0.192409 -262.50 172.50 292.50 0.31191 -262.50 172.50 297.50 0.42265 -262.50 172.50 302.50 0.487629 -262.50 172.50 307.50 0.532107 -262.50 172.50 312.50 0.575785 -262.50 172.50 317.50 0.572373 -262.50 172.50 322.50 0.488366 -262.50 172.50 327.50 0.365723 -262.50 172.50 332.50 0.28858 -262.50 172.50 337.50 0.333601 -262.50 172.50 342.50 0.516294 -262.50 172.50 347.50 0.722749 -262.50 172.50 352.50 0.813809 -262.50 172.50 357.50 0.676992 -262.50 177.50 2.50 0.382022 -262.50 177.50 7.50 0.174053 -262.50 177.50 12.50 0.0941881 -262.50 177.50 17.50 0.0946784 -262.50 177.50 22.50 0.129792 -262.50 177.50 27.50 0.162391 -262.50 177.50 32.50 0.172036 -262.50 177.50 37.50 0.179473 -262.50 177.50 42.50 0.190283 -262.50 177.50 47.50 0.183937 -262.50 177.50 52.50 0.149476 -262.50 177.50 57.50 0.109341 -262.50 177.50 62.50 0.0996237 -262.50 177.50 67.50 0.17905 -262.50 177.50 72.50 0.389547 -262.50 177.50 77.50 0.683201 -262.50 177.50 82.50 0.831023 -262.50 177.50 87.50 0.676164 -262.50 177.50 92.50 0.382022 -262.50 177.50 97.50 0.174053 -262.50 177.50 102.50 0.0941882 -262.50 177.50 107.50 0.0946784 -262.50 177.50 112.50 0.129792 -262.50 177.50 117.50 0.162391 -262.50 177.50 122.50 0.172036 -262.50 177.50 127.50 0.179473 -262.50 177.50 132.50 0.190283 -262.50 177.50 137.50 0.183937 -262.50 177.50 142.50 0.149476 -262.50 177.50 147.50 0.109341 -262.50 177.50 152.50 0.0996237 -262.50 177.50 157.50 0.179049 -262.50 177.50 162.50 0.389547 -262.50 177.50 167.50 0.683201 -262.50 177.50 172.50 0.831023 -262.50 177.50 177.50 0.676165 -262.50 177.50 182.50 0.382022 -262.50 177.50 187.50 0.174053 -262.50 177.50 192.50 0.0941881 -262.50 177.50 197.50 0.0946783 -262.50 177.50 202.50 0.129792 -262.50 177.50 207.50 0.162391 -262.50 177.50 212.50 0.172036 -262.50 177.50 217.50 0.179473 -262.50 177.50 222.50 0.190282 -262.50 177.50 227.50 0.183937 -262.50 177.50 232.50 0.149476 -262.50 177.50 237.50 0.109341 -262.50 177.50 242.50 0.0996238 -262.50 177.50 247.50 0.17905 -262.50 177.50 252.50 0.389548 -262.50 177.50 257.50 0.683201 -262.50 177.50 262.50 0.831023 -262.50 177.50 267.50 0.676164 -262.50 177.50 272.50 0.382022 -262.50 177.50 277.50 0.174053 -262.50 177.50 282.50 0.0941881 -262.50 177.50 287.50 0.0946782 -262.50 177.50 292.50 0.129792 -262.50 177.50 297.50 0.162391 -262.50 177.50 302.50 0.172036 -262.50 177.50 307.50 0.179473 -262.50 177.50 312.50 0.190283 -262.50 177.50 317.50 0.183937 -262.50 177.50 322.50 0.149476 -262.50 177.50 327.50 0.109342 -262.50 177.50 332.50 0.0996238 -262.50 177.50 337.50 0.179049 -262.50 177.50 342.50 0.389547 -262.50 177.50 347.50 0.6832 -262.50 177.50 352.50 0.831023 -262.50 177.50 357.50 0.676165 -267.50 2.50 2.50 0.773179 -267.50 2.50 7.50 0.980476 -267.50 2.50 12.50 0.773178 -267.50 2.50 17.50 0.393272 -267.50 2.50 22.50 0.149977 -267.50 2.50 27.50 0.0624685 -267.50 2.50 32.50 0.048522 -267.50 2.50 37.50 0.0601603 -267.50 2.50 42.50 0.0760386 -267.50 2.50 47.50 0.083846 -267.50 2.50 52.50 0.084539 -267.50 2.50 57.50 0.083846 -267.50 2.50 62.50 0.0760385 -267.50 2.50 67.50 0.0601603 -267.50 2.50 72.50 0.0485219 -267.50 2.50 77.50 0.0624686 -267.50 2.50 82.50 0.149977 -267.50 2.50 87.50 0.393273 -267.50 2.50 92.50 0.773179 -267.50 2.50 97.50 0.980476 -267.50 2.50 102.50 0.773179 -267.50 2.50 107.50 0.393272 -267.50 2.50 112.50 0.149977 -267.50 2.50 117.50 0.0624685 -267.50 2.50 122.50 0.0485219 -267.50 2.50 127.50 0.0601603 -267.50 2.50 132.50 0.0760386 -267.50 2.50 137.50 0.083846 -267.50 2.50 142.50 0.084539 -267.50 2.50 147.50 0.083846 -267.50 2.50 152.50 0.0760385 -267.50 2.50 157.50 0.0601603 -267.50 2.50 162.50 0.0485219 -267.50 2.50 167.50 0.0624685 -267.50 2.50 172.50 0.149977 -267.50 2.50 177.50 0.393272 -267.50 2.50 182.50 0.773179 -267.50 2.50 187.50 0.980476 -267.50 2.50 192.50 0.773178 -267.50 2.50 197.50 0.393272 -267.50 2.50 202.50 0.149977 -267.50 2.50 207.50 0.0624685 -267.50 2.50 212.50 0.048522 -267.50 2.50 217.50 0.0601603 -267.50 2.50 222.50 0.0760386 -267.50 2.50 227.50 0.083846 -267.50 2.50 232.50 0.084539 -267.50 2.50 237.50 0.083846 -267.50 2.50 242.50 0.0760385 -267.50 2.50 247.50 0.0601603 -267.50 2.50 252.50 0.0485219 -267.50 2.50 257.50 0.0624686 -267.50 2.50 262.50 0.149977 -267.50 2.50 267.50 0.393273 -267.50 2.50 272.50 0.773179 -267.50 2.50 277.50 0.980476 -267.50 2.50 282.50 0.773179 -267.50 2.50 287.50 0.393272 -267.50 2.50 292.50 0.149977 -267.50 2.50 297.50 0.0624685 -267.50 2.50 302.50 0.0485219 -267.50 2.50 307.50 0.0601603 -267.50 2.50 312.50 0.0760385 -267.50 2.50 317.50 0.083846 -267.50 2.50 322.50 0.084539 -267.50 2.50 327.50 0.083846 -267.50 2.50 332.50 0.0760385 -267.50 2.50 337.50 0.0601603 -267.50 2.50 342.50 0.048522 -267.50 2.50 347.50 0.0624685 -267.50 2.50 352.50 0.149977 -267.50 2.50 357.50 0.393272 -267.50 7.50 2.50 0.675975 -267.50 7.50 7.50 0.828531 -267.50 7.50 12.50 0.678877 -267.50 7.50 17.50 0.387056 -267.50 7.50 22.50 0.179981 -267.50 7.50 27.50 0.10043 -267.50 7.50 32.50 0.0974295 -267.50 7.50 37.50 0.134286 -267.50 7.50 42.50 0.170958 -267.50 7.50 47.50 0.185725 -267.50 7.50 52.50 0.181188 -267.50 7.50 57.50 0.173803 -267.50 7.50 62.50 0.1565 -267.50 7.50 67.50 0.130789 -267.50 7.50 72.50 0.101157 -267.50 7.50 77.50 0.0992541 -267.50 7.50 82.50 0.175723 -267.50 7.50 87.50 0.382539 -267.50 7.50 92.50 0.675975 -267.50 7.50 97.50 0.828531 -267.50 7.50 102.50 0.678877 -267.50 7.50 107.50 0.387056 -267.50 7.50 112.50 0.179981 -267.50 7.50 117.50 0.10043 -267.50 7.50 122.50 0.0974294 -267.50 7.50 127.50 0.134286 -267.50 7.50 132.50 0.170958 -267.50 7.50 137.50 0.185725 -267.50 7.50 142.50 0.181188 -267.50 7.50 147.50 0.173803 -267.50 7.50 152.50 0.1565 -267.50 7.50 157.50 0.130789 -267.50 7.50 162.50 0.101157 -267.50 7.50 167.50 0.0992539 -267.50 7.50 172.50 0.175723 -267.50 7.50 177.50 0.382539 -267.50 7.50 182.50 0.675975 -267.50 7.50 187.50 0.828531 -267.50 7.50 192.50 0.678877 -267.50 7.50 197.50 0.387056 -267.50 7.50 202.50 0.179981 -267.50 7.50 207.50 0.10043 -267.50 7.50 212.50 0.0974295 -267.50 7.50 217.50 0.134286 -267.50 7.50 222.50 0.170958 -267.50 7.50 227.50 0.185725 -267.50 7.50 232.50 0.181188 -267.50 7.50 237.50 0.173803 -267.50 7.50 242.50 0.156501 -267.50 7.50 247.50 0.130789 -267.50 7.50 252.50 0.101157 -267.50 7.50 257.50 0.099254 -267.50 7.50 262.50 0.175723 -267.50 7.50 267.50 0.38254 -267.50 7.50 272.50 0.675975 -267.50 7.50 277.50 0.828531 -267.50 7.50 282.50 0.678877 -267.50 7.50 287.50 0.387056 -267.50 7.50 292.50 0.179981 -267.50 7.50 297.50 0.10043 -267.50 7.50 302.50 0.0974294 -267.50 7.50 307.50 0.134286 -267.50 7.50 312.50 0.170958 -267.50 7.50 317.50 0.185725 -267.50 7.50 322.50 0.181188 -267.50 7.50 327.50 0.173803 -267.50 7.50 332.50 0.156501 -267.50 7.50 337.50 0.130789 -267.50 7.50 342.50 0.101157 -267.50 7.50 347.50 0.0992539 -267.50 7.50 352.50 0.175723 -267.50 7.50 357.50 0.382539 -267.50 12.50 2.50 0.67853 -267.50 12.50 7.50 0.802952 -267.50 12.50 12.50 0.697764 -267.50 12.50 17.50 0.463162 -267.50 12.50 22.50 0.300999 -267.50 12.50 27.50 0.256711 -267.50 12.50 32.50 0.31833 -267.50 12.50 37.50 0.42707 -267.50 12.50 42.50 0.525746 -267.50 12.50 47.50 0.557421 -267.50 12.50 52.50 0.538478 -267.50 12.50 57.50 0.50719 -267.50 12.50 62.50 0.449265 -267.50 12.50 67.50 0.355199 -267.50 12.50 72.50 0.248078 -267.50 12.50 77.50 0.18001 -267.50 12.50 82.50 0.242843 -267.50 12.50 87.50 0.434478 -267.50 12.50 92.50 0.678531 -267.50 12.50 97.50 0.802952 -267.50 12.50 102.50 0.697764 -267.50 12.50 107.50 0.463162 -267.50 12.50 112.50 0.300999 -267.50 12.50 117.50 0.256711 -267.50 12.50 122.50 0.31833 -267.50 12.50 127.50 0.42707 -267.50 12.50 132.50 0.525746 -267.50 12.50 137.50 0.557421 -267.50 12.50 142.50 0.538478 -267.50 12.50 147.50 0.50719 -267.50 12.50 152.50 0.449264 -267.50 12.50 157.50 0.355199 -267.50 12.50 162.50 0.248079 -267.50 12.50 167.50 0.18001 -267.50 12.50 172.50 0.242843 -267.50 12.50 177.50 0.434478 -267.50 12.50 182.50 0.67853 -267.50 12.50 187.50 0.802952 -267.50 12.50 192.50 0.697763 -267.50 12.50 197.50 0.463162 -267.50 12.50 202.50 0.300999 -267.50 12.50 207.50 0.256711 -267.50 12.50 212.50 0.31833 -267.50 12.50 217.50 0.42707 -267.50 12.50 222.50 0.525747 -267.50 12.50 227.50 0.557421 -267.50 12.50 232.50 0.538478 -267.50 12.50 237.50 0.50719 -267.50 12.50 242.50 0.449265 -267.50 12.50 247.50 0.355199 -267.50 12.50 252.50 0.248078 -267.50 12.50 257.50 0.18001 -267.50 12.50 262.50 0.242843 -267.50 12.50 267.50 0.434478 -267.50 12.50 272.50 0.67853 -267.50 12.50 277.50 0.802952 -267.50 12.50 282.50 0.697764 -267.50 12.50 287.50 0.463162 -267.50 12.50 292.50 0.300999 -267.50 12.50 297.50 0.256711 -267.50 12.50 302.50 0.31833 -267.50 12.50 307.50 0.42707 -267.50 12.50 312.50 0.525747 -267.50 12.50 317.50 0.557421 -267.50 12.50 322.50 0.538478 -267.50 12.50 327.50 0.50719 -267.50 12.50 332.50 0.449265 -267.50 12.50 337.50 0.355199 -267.50 12.50 342.50 0.248079 -267.50 12.50 347.50 0.18001 -267.50 12.50 352.50 0.242843 -267.50 12.50 357.50 0.434478 -267.50 17.50 2.50 0.62136 -267.50 17.50 7.50 0.719669 -267.50 17.50 12.50 0.68042 -267.50 17.50 17.50 0.569854 -267.50 17.50 22.50 0.453063 -267.50 17.50 27.50 0.461889 -267.50 17.50 32.50 0.615539 -267.50 17.50 37.50 0.922204 -267.50 17.50 42.50 1.18348 -267.50 17.50 47.50 1.30137 -267.50 17.50 52.50 1.2491 -267.50 17.50 57.50 1.09057 -267.50 17.50 62.50 0.843855 -267.50 17.50 67.50 0.630429 -267.50 17.50 72.50 0.432846 -267.50 17.50 77.50 0.296244 -267.50 17.50 82.50 0.281707 -267.50 17.50 87.50 0.437086 -267.50 17.50 92.50 0.62136 -267.50 17.50 97.50 0.719669 -267.50 17.50 102.50 0.680419 -267.50 17.50 107.50 0.569854 -267.50 17.50 112.50 0.453063 -267.50 17.50 117.50 0.461889 -267.50 17.50 122.50 0.615539 -267.50 17.50 127.50 0.922203 -267.50 17.50 132.50 1.18348 -267.50 17.50 137.50 1.30137 -267.50 17.50 142.50 1.2491 -267.50 17.50 147.50 1.09057 -267.50 17.50 152.50 0.843856 -267.50 17.50 157.50 0.63043 -267.50 17.50 162.50 0.432846 -267.50 17.50 167.50 0.296244 -267.50 17.50 172.50 0.281707 -267.50 17.50 177.50 0.437086 -267.50 17.50 182.50 0.62136 -267.50 17.50 187.50 0.719669 -267.50 17.50 192.50 0.680419 -267.50 17.50 197.50 0.569854 -267.50 17.50 202.50 0.453063 -267.50 17.50 207.50 0.461889 -267.50 17.50 212.50 0.61554 -267.50 17.50 217.50 0.922203 -267.50 17.50 222.50 1.18348 -267.50 17.50 227.50 1.30137 -267.50 17.50 232.50 1.2491 -267.50 17.50 237.50 1.09057 -267.50 17.50 242.50 0.843855 -267.50 17.50 247.50 0.630429 -267.50 17.50 252.50 0.432846 -267.50 17.50 257.50 0.296244 -267.50 17.50 262.50 0.281707 -267.50 17.50 267.50 0.437086 -267.50 17.50 272.50 0.62136 -267.50 17.50 277.50 0.719669 -267.50 17.50 282.50 0.68042 -267.50 17.50 287.50 0.569854 -267.50 17.50 292.50 0.453063 -267.50 17.50 297.50 0.461889 -267.50 17.50 302.50 0.615539 -267.50 17.50 307.50 0.922203 -267.50 17.50 312.50 1.18348 -267.50 17.50 317.50 1.30137 -267.50 17.50 322.50 1.2491 -267.50 17.50 327.50 1.09058 -267.50 17.50 332.50 0.843856 -267.50 17.50 337.50 0.63043 -267.50 17.50 342.50 0.432846 -267.50 17.50 347.50 0.296244 -267.50 17.50 352.50 0.281707 -267.50 17.50 357.50 0.437086 -267.50 22.50 2.50 0.48194 -267.50 22.50 7.50 0.558621 -267.50 22.50 12.50 0.594511 -267.50 22.50 17.50 0.561809 -267.50 22.50 22.50 0.527195 -267.50 22.50 27.50 0.683605 -267.50 22.50 32.50 1.07404 -267.50 22.50 37.50 1.59739 -267.50 22.50 42.50 2.13429 -267.50 22.50 47.50 2.46548 -267.50 22.50 52.50 2.38186 -267.50 22.50 57.50 1.9798 -267.50 22.50 62.50 1.47679 -267.50 22.50 67.50 0.948699 -267.50 22.50 72.50 0.561139 -267.50 22.50 77.50 0.361966 -267.50 22.50 82.50 0.288839 -267.50 22.50 87.50 0.357811 -267.50 22.50 92.50 0.48194 -267.50 22.50 97.50 0.558621 -267.50 22.50 102.50 0.594511 -267.50 22.50 107.50 0.561809 -267.50 22.50 112.50 0.527195 -267.50 22.50 117.50 0.683605 -267.50 22.50 122.50 1.07404 -267.50 22.50 127.50 1.59739 -267.50 22.50 132.50 2.13429 -267.50 22.50 137.50 2.46548 -267.50 22.50 142.50 2.38186 -267.50 22.50 147.50 1.9798 -267.50 22.50 152.50 1.47679 -267.50 22.50 157.50 0.9487 -267.50 22.50 162.50 0.56114 -267.50 22.50 167.50 0.361966 -267.50 22.50 172.50 0.28884 -267.50 22.50 177.50 0.357811 -267.50 22.50 182.50 0.48194 -267.50 22.50 187.50 0.558622 -267.50 22.50 192.50 0.594511 -267.50 22.50 197.50 0.561809 -267.50 22.50 202.50 0.527195 -267.50 22.50 207.50 0.683605 -267.50 22.50 212.50 1.07404 -267.50 22.50 217.50 1.59739 -267.50 22.50 222.50 2.13429 -267.50 22.50 227.50 2.46548 -267.50 22.50 232.50 2.38186 -267.50 22.50 237.50 1.9798 -267.50 22.50 242.50 1.47679 -267.50 22.50 247.50 0.948699 -267.50 22.50 252.50 0.561139 -267.50 22.50 257.50 0.361966 -267.50 22.50 262.50 0.288839 -267.50 22.50 267.50 0.357811 -267.50 22.50 272.50 0.48194 -267.50 22.50 277.50 0.558622 -267.50 22.50 282.50 0.594511 -267.50 22.50 287.50 0.561809 -267.50 22.50 292.50 0.527195 -267.50 22.50 297.50 0.683605 -267.50 22.50 302.50 1.07404 -267.50 22.50 307.50 1.59739 -267.50 22.50 312.50 2.13428 -267.50 22.50 317.50 2.46548 -267.50 22.50 322.50 2.38186 -267.50 22.50 327.50 1.9798 -267.50 22.50 332.50 1.47679 -267.50 22.50 337.50 0.948701 -267.50 22.50 342.50 0.56114 -267.50 22.50 347.50 0.361967 -267.50 22.50 352.50 0.28884 -267.50 22.50 357.50 0.35781 -267.50 27.50 2.50 0.315487 -267.50 27.50 7.50 0.359669 -267.50 27.50 12.50 0.414034 -267.50 27.50 17.50 0.439566 -267.50 27.50 22.50 0.532543 -267.50 27.50 27.50 0.845019 -267.50 27.50 32.50 1.43418 -267.50 27.50 37.50 2.34686 -267.50 27.50 42.50 3.27428 -267.50 27.50 47.50 3.83254 -267.50 27.50 52.50 3.63699 -267.50 27.50 57.50 2.95161 -267.50 27.50 62.50 2.08375 -267.50 27.50 67.50 1.30889 -267.50 27.50 72.50 0.716853 -267.50 27.50 77.50 0.384715 -267.50 27.50 82.50 0.256208 -267.50 27.50 87.50 0.251243 -267.50 27.50 92.50 0.315487 -267.50 27.50 97.50 0.359669 -267.50 27.50 102.50 0.414034 -267.50 27.50 107.50 0.439566 -267.50 27.50 112.50 0.532543 -267.50 27.50 117.50 0.845019 -267.50 27.50 122.50 1.43418 -267.50 27.50 127.50 2.34686 -267.50 27.50 132.50 3.27428 -267.50 27.50 137.50 3.83254 -267.50 27.50 142.50 3.63699 -267.50 27.50 147.50 2.95161 -267.50 27.50 152.50 2.08375 -267.50 27.50 157.50 1.30889 -267.50 27.50 162.50 0.716853 -267.50 27.50 167.50 0.384715 -267.50 27.50 172.50 0.256208 -267.50 27.50 177.50 0.251243 -267.50 27.50 182.50 0.315487 -267.50 27.50 187.50 0.359669 -267.50 27.50 192.50 0.414033 -267.50 27.50 197.50 0.439566 -267.50 27.50 202.50 0.532542 -267.50 27.50 207.50 0.845019 -267.50 27.50 212.50 1.43418 -267.50 27.50 217.50 2.34685 -267.50 27.50 222.50 3.27428 -267.50 27.50 227.50 3.83254 -267.50 27.50 232.50 3.63698 -267.50 27.50 237.50 2.9516 -267.50 27.50 242.50 2.08375 -267.50 27.50 247.50 1.30889 -267.50 27.50 252.50 0.716853 -267.50 27.50 257.50 0.384715 -267.50 27.50 262.50 0.256208 -267.50 27.50 267.50 0.251243 -267.50 27.50 272.50 0.315487 -267.50 27.50 277.50 0.359669 -267.50 27.50 282.50 0.414034 -267.50 27.50 287.50 0.439566 -267.50 27.50 292.50 0.532542 -267.50 27.50 297.50 0.845019 -267.50 27.50 302.50 1.43418 -267.50 27.50 307.50 2.34685 -267.50 27.50 312.50 3.27428 -267.50 27.50 317.50 3.83254 -267.50 27.50 322.50 3.63699 -267.50 27.50 327.50 2.95161 -267.50 27.50 332.50 2.08375 -267.50 27.50 337.50 1.30889 -267.50 27.50 342.50 0.716854 -267.50 27.50 347.50 0.384715 -267.50 27.50 352.50 0.256208 -267.50 27.50 357.50 0.251242 -267.50 32.50 2.50 0.199216 -267.50 32.50 7.50 0.2097 -267.50 32.50 12.50 0.236242 -267.50 32.50 17.50 0.286681 -267.50 32.50 22.50 0.442373 -267.50 32.50 27.50 0.824262 -267.50 32.50 32.50 1.55947 -267.50 32.50 37.50 2.62026 -267.50 32.50 42.50 3.69609 -267.50 32.50 47.50 4.33348 -267.50 32.50 52.50 4.20894 -267.50 32.50 57.50 3.36236 -267.50 32.50 62.50 2.31146 -267.50 32.50 67.50 1.40692 -267.50 32.50 72.50 0.763626 -267.50 32.50 77.50 0.37138 -267.50 32.50 82.50 0.210139 -267.50 32.50 87.50 0.176545 -267.50 32.50 92.50 0.199216 -267.50 32.50 97.50 0.2097 -267.50 32.50 102.50 0.236243 -267.50 32.50 107.50 0.286681 -267.50 32.50 112.50 0.442373 -267.50 32.50 117.50 0.824262 -267.50 32.50 122.50 1.55947 -267.50 32.50 127.50 2.62026 -267.50 32.50 132.50 3.6961 -267.50 32.50 137.50 4.33348 -267.50 32.50 142.50 4.20894 -267.50 32.50 147.50 3.36236 -267.50 32.50 152.50 2.31146 -267.50 32.50 157.50 1.40693 -267.50 32.50 162.50 0.763625 -267.50 32.50 167.50 0.371381 -267.50 32.50 172.50 0.210139 -267.50 32.50 177.50 0.176545 -267.50 32.50 182.50 0.199216 -267.50 32.50 187.50 0.2097 -267.50 32.50 192.50 0.236243 -267.50 32.50 197.50 0.286681 -267.50 32.50 202.50 0.442374 -267.50 32.50 207.50 0.824262 -267.50 32.50 212.50 1.55947 -267.50 32.50 217.50 2.62026 -267.50 32.50 222.50 3.6961 -267.50 32.50 227.50 4.33348 -267.50 32.50 232.50 4.20894 -267.50 32.50 237.50 3.36236 -267.50 32.50 242.50 2.31146 -267.50 32.50 247.50 1.40692 -267.50 32.50 252.50 0.763625 -267.50 32.50 257.50 0.37138 -267.50 32.50 262.50 0.210138 -267.50 32.50 267.50 0.176545 -267.50 32.50 272.50 0.199216 -267.50 32.50 277.50 0.2097 -267.50 32.50 282.50 0.236243 -267.50 32.50 287.50 0.286681 -267.50 32.50 292.50 0.442374 -267.50 32.50 297.50 0.824261 -267.50 32.50 302.50 1.55947 -267.50 32.50 307.50 2.62026 -267.50 32.50 312.50 3.69609 -267.50 32.50 317.50 4.33348 -267.50 32.50 322.50 4.20894 -267.50 32.50 327.50 3.36237 -267.50 32.50 332.50 2.31147 -267.50 32.50 337.50 1.40693 -267.50 32.50 342.50 0.763627 -267.50 32.50 347.50 0.371381 -267.50 32.50 352.50 0.210139 -267.50 32.50 357.50 0.176545 -267.50 37.50 2.50 0.129213 -267.50 37.50 7.50 0.122909 -267.50 37.50 12.50 0.116352 -267.50 37.50 17.50 0.155519 -267.50 37.50 22.50 0.293616 -267.50 37.50 27.50 0.615071 -267.50 37.50 32.50 1.21571 -267.50 37.50 37.50 2.08558 -267.50 37.50 42.50 2.958 -267.50 37.50 47.50 3.47034 -267.50 37.50 52.50 3.36986 -267.50 37.50 57.50 2.70449 -267.50 37.50 62.50 1.82953 -267.50 37.50 67.50 1.10692 -267.50 37.50 72.50 0.604254 -267.50 37.50 77.50 0.292756 -267.50 37.50 82.50 0.145218 -267.50 37.50 87.50 0.118247 -267.50 37.50 92.50 0.129213 -267.50 37.50 97.50 0.122909 -267.50 37.50 102.50 0.116352 -267.50 37.50 107.50 0.155519 -267.50 37.50 112.50 0.293616 -267.50 37.50 117.50 0.615072 -267.50 37.50 122.50 1.21571 -267.50 37.50 127.50 2.08558 -267.50 37.50 132.50 2.958 -267.50 37.50 137.50 3.47034 -267.50 37.50 142.50 3.36985 -267.50 37.50 147.50 2.70449 -267.50 37.50 152.50 1.82953 -267.50 37.50 157.50 1.10692 -267.50 37.50 162.50 0.604254 -267.50 37.50 167.50 0.292757 -267.50 37.50 172.50 0.145218 -267.50 37.50 177.50 0.118248 -267.50 37.50 182.50 0.129213 -267.50 37.50 187.50 0.122909 -267.50 37.50 192.50 0.116352 -267.50 37.50 197.50 0.155519 -267.50 37.50 202.50 0.293616 -267.50 37.50 207.50 0.615072 -267.50 37.50 212.50 1.21571 -267.50 37.50 217.50 2.08558 -267.50 37.50 222.50 2.958 -267.50 37.50 227.50 3.47034 -267.50 37.50 232.50 3.36985 -267.50 37.50 237.50 2.70449 -267.50 37.50 242.50 1.82953 -267.50 37.50 247.50 1.10692 -267.50 37.50 252.50 0.604254 -267.50 37.50 257.50 0.292756 -267.50 37.50 262.50 0.145218 -267.50 37.50 267.50 0.118247 -267.50 37.50 272.50 0.129213 -267.50 37.50 277.50 0.122909 -267.50 37.50 282.50 0.116352 -267.50 37.50 287.50 0.155519 -267.50 37.50 292.50 0.293616 -267.50 37.50 297.50 0.615071 -267.50 37.50 302.50 1.21571 -267.50 37.50 307.50 2.08558 -267.50 37.50 312.50 2.958 -267.50 37.50 317.50 3.47034 -267.50 37.50 322.50 3.36986 -267.50 37.50 327.50 2.70449 -267.50 37.50 332.50 1.82954 -267.50 37.50 337.50 1.10692 -267.50 37.50 342.50 0.604255 -267.50 37.50 347.50 0.292757 -267.50 37.50 352.50 0.145218 -267.50 37.50 357.50 0.118247 -267.50 42.50 2.50 0.071631 -267.50 42.50 7.50 0.064012 -267.50 42.50 12.50 0.0483848 -267.50 42.50 17.50 0.063983 -267.50 42.50 22.50 0.141382 -267.50 42.50 27.50 0.323247 -267.50 42.50 32.50 0.661872 -267.50 42.50 37.50 1.14566 -267.50 42.50 42.50 1.64199 -267.50 42.50 47.50 1.91265 -267.50 42.50 52.50 1.82863 -267.50 42.50 57.50 1.48065 -267.50 42.50 62.50 1.03025 -267.50 42.50 67.50 0.62698 -267.50 42.50 72.50 0.356891 -267.50 42.50 77.50 0.17185 -267.50 42.50 82.50 0.0755904 -267.50 42.50 87.50 0.0616514 -267.50 42.50 92.50 0.071631 -267.50 42.50 97.50 0.0640119 -267.50 42.50 102.50 0.0483848 -267.50 42.50 107.50 0.063983 -267.50 42.50 112.50 0.141382 -267.50 42.50 117.50 0.323247 -267.50 42.50 122.50 0.661872 -267.50 42.50 127.50 1.14566 -267.50 42.50 132.50 1.64199 -267.50 42.50 137.50 1.91265 -267.50 42.50 142.50 1.82863 -267.50 42.50 147.50 1.48065 -267.50 42.50 152.50 1.03025 -267.50 42.50 157.50 0.626981 -267.50 42.50 162.50 0.356892 -267.50 42.50 167.50 0.17185 -267.50 42.50 172.50 0.0755905 -267.50 42.50 177.50 0.0616514 -267.50 42.50 182.50 0.071631 -267.50 42.50 187.50 0.0640119 -267.50 42.50 192.50 0.0483848 -267.50 42.50 197.50 0.063983 -267.50 42.50 202.50 0.141382 -267.50 42.50 207.50 0.323247 -267.50 42.50 212.50 0.661872 -267.50 42.50 217.50 1.14566 -267.50 42.50 222.50 1.64199 -267.50 42.50 227.50 1.91265 -267.50 42.50 232.50 1.82863 -267.50 42.50 237.50 1.48065 -267.50 42.50 242.50 1.03025 -267.50 42.50 247.50 0.62698 -267.50 42.50 252.50 0.356891 -267.50 42.50 257.50 0.17185 -267.50 42.50 262.50 0.0755904 -267.50 42.50 267.50 0.0616514 -267.50 42.50 272.50 0.071631 -267.50 42.50 277.50 0.064012 -267.50 42.50 282.50 0.0483848 -267.50 42.50 287.50 0.063983 -267.50 42.50 292.50 0.141382 -267.50 42.50 297.50 0.323247 -267.50 42.50 302.50 0.661871 -267.50 42.50 307.50 1.14566 -267.50 42.50 312.50 1.64199 -267.50 42.50 317.50 1.91265 -267.50 42.50 322.50 1.82863 -267.50 42.50 327.50 1.48065 -267.50 42.50 332.50 1.03025 -267.50 42.50 337.50 0.626981 -267.50 42.50 342.50 0.356892 -267.50 42.50 347.50 0.17185 -267.50 42.50 352.50 0.0755905 -267.50 42.50 357.50 0.0616513 -267.50 47.50 2.50 0.0446415 -267.50 47.50 7.50 0.0381159 -267.50 47.50 12.50 0.0213814 -267.50 47.50 17.50 0.0214015 -267.50 47.50 22.50 0.0486706 -267.50 47.50 27.50 0.117599 -267.50 47.50 32.50 0.226915 -267.50 47.50 37.50 0.425319 -267.50 47.50 42.50 0.55622 -267.50 47.50 47.50 0.715766 -267.50 47.50 52.50 0.660828 -267.50 47.50 57.50 0.595303 -267.50 47.50 62.50 0.400611 -267.50 47.50 67.50 0.26034 -267.50 47.50 72.50 0.15642 -267.50 47.50 77.50 0.0738832 -267.50 47.50 82.50 0.0323235 -267.50 47.50 87.50 0.0320298 -267.50 47.50 92.50 0.0446415 -267.50 47.50 97.50 0.0381159 -267.50 47.50 102.50 0.0213814 -267.50 47.50 107.50 0.0214015 -267.50 47.50 112.50 0.0486705 -267.50 47.50 117.50 0.117599 -267.50 47.50 122.50 0.226916 -267.50 47.50 127.50 0.425319 -267.50 47.50 132.50 0.55622 -267.50 47.50 137.50 0.715766 -267.50 47.50 142.50 0.660828 -267.50 47.50 147.50 0.595303 -267.50 47.50 152.50 0.400611 -267.50 47.50 157.50 0.26034 -267.50 47.50 162.50 0.15642 -267.50 47.50 167.50 0.0738832 -267.50 47.50 172.50 0.0323236 -267.50 47.50 177.50 0.0320298 -267.50 47.50 182.50 0.0446415 -267.50 47.50 187.50 0.0381159 -267.50 47.50 192.50 0.0213814 -267.50 47.50 197.50 0.0214015 -267.50 47.50 202.50 0.0486706 -267.50 47.50 207.50 0.117599 -267.50 47.50 212.50 0.226916 -267.50 47.50 217.50 0.425319 -267.50 47.50 222.50 0.556219 -267.50 47.50 227.50 0.715766 -267.50 47.50 232.50 0.660828 -267.50 47.50 237.50 0.595303 -267.50 47.50 242.50 0.400611 -267.50 47.50 247.50 0.26034 -267.50 47.50 252.50 0.156419 -267.50 47.50 257.50 0.0738831 -267.50 47.50 262.50 0.0323235 -267.50 47.50 267.50 0.0320299 -267.50 47.50 272.50 0.0446415 -267.50 47.50 277.50 0.0381159 -267.50 47.50 282.50 0.0213814 -267.50 47.50 287.50 0.0214015 -267.50 47.50 292.50 0.0486705 -267.50 47.50 297.50 0.117599 -267.50 47.50 302.50 0.226915 -267.50 47.50 307.50 0.425319 -267.50 47.50 312.50 0.556219 -267.50 47.50 317.50 0.715766 -267.50 47.50 322.50 0.660828 -267.50 47.50 327.50 0.595304 -267.50 47.50 332.50 0.400611 -267.50 47.50 337.50 0.26034 -267.50 47.50 342.50 0.15642 -267.50 47.50 347.50 0.0738834 -267.50 47.50 352.50 0.0323235 -267.50 47.50 357.50 0.0320298 -267.50 52.50 2.50 0.071631 -267.50 52.50 7.50 0.0584064 -267.50 52.50 12.50 0.0318593 -267.50 52.50 17.50 0.0220366 -267.50 52.50 22.50 0.0254592 -267.50 52.50 27.50 0.032397 -267.50 52.50 32.50 0.0561325 -267.50 52.50 37.50 0.0919798 -267.50 52.50 42.50 0.119274 -267.50 52.50 47.50 0.159105 -267.50 52.50 52.50 0.152444 -267.50 52.50 57.50 0.154173 -267.50 52.50 62.50 0.112257 -267.50 52.50 67.50 0.0685249 -267.50 52.50 72.50 0.0465787 -267.50 52.50 77.50 0.0264903 -267.50 52.50 82.50 0.022551 -267.50 52.50 87.50 0.0443058 -267.50 52.50 92.50 0.071631 -267.50 52.50 97.50 0.0584064 -267.50 52.50 102.50 0.0318592 -267.50 52.50 107.50 0.0220366 -267.50 52.50 112.50 0.0254592 -267.50 52.50 117.50 0.032397 -267.50 52.50 122.50 0.0561326 -267.50 52.50 127.50 0.0919799 -267.50 52.50 132.50 0.119274 -267.50 52.50 137.50 0.159105 -267.50 52.50 142.50 0.152444 -267.50 52.50 147.50 0.154173 -267.50 52.50 152.50 0.112257 -267.50 52.50 157.50 0.0685249 -267.50 52.50 162.50 0.0465787 -267.50 52.50 167.50 0.0264904 -267.50 52.50 172.50 0.022551 -267.50 52.50 177.50 0.0443058 -267.50 52.50 182.50 0.0716309 -267.50 52.50 187.50 0.0584064 -267.50 52.50 192.50 0.0318592 -267.50 52.50 197.50 0.0220366 -267.50 52.50 202.50 0.0254592 -267.50 52.50 207.50 0.032397 -267.50 52.50 212.50 0.0561325 -267.50 52.50 217.50 0.0919799 -267.50 52.50 222.50 0.119274 -267.50 52.50 227.50 0.159105 -267.50 52.50 232.50 0.152444 -267.50 52.50 237.50 0.154173 -267.50 52.50 242.50 0.112257 -267.50 52.50 247.50 0.0685249 -267.50 52.50 252.50 0.0465787 -267.50 52.50 257.50 0.0264903 -267.50 52.50 262.50 0.022551 -267.50 52.50 267.50 0.0443059 -267.50 52.50 272.50 0.0716309 -267.50 52.50 277.50 0.0584064 -267.50 52.50 282.50 0.0318592 -267.50 52.50 287.50 0.0220366 -267.50 52.50 292.50 0.0254592 -267.50 52.50 297.50 0.032397 -267.50 52.50 302.50 0.0561324 -267.50 52.50 307.50 0.0919798 -267.50 52.50 312.50 0.119274 -267.50 52.50 317.50 0.159105 -267.50 52.50 322.50 0.152444 -267.50 52.50 327.50 0.154173 -267.50 52.50 332.50 0.112257 -267.50 52.50 337.50 0.0685249 -267.50 52.50 342.50 0.0465787 -267.50 52.50 347.50 0.0264904 -267.50 52.50 352.50 0.022551 -267.50 52.50 357.50 0.0443057 -267.50 57.50 2.50 0.129213 -267.50 57.50 7.50 0.111751 -267.50 57.50 12.50 0.0935966 -267.50 57.50 17.50 0.0867767 -267.50 57.50 22.50 0.0704791 -267.50 57.50 27.50 0.0308298 -267.50 57.50 32.50 0.0185263 -267.50 57.50 37.50 0.0147355 -267.50 57.50 42.50 0.0146644 -267.50 57.50 47.50 0.0224384 -267.50 57.50 52.50 0.0189907 -267.50 57.50 57.50 0.0224542 -267.50 57.50 62.50 0.0202864 -267.50 57.50 67.50 0.0130544 -267.50 57.50 72.50 0.0154728 -267.50 57.50 77.50 0.0279321 -267.50 57.50 82.50 0.0447639 -267.50 57.50 87.50 0.087848 -267.50 57.50 92.50 0.129213 -267.50 57.50 97.50 0.111751 -267.50 57.50 102.50 0.0935966 -267.50 57.50 107.50 0.0867767 -267.50 57.50 112.50 0.0704791 -267.50 57.50 117.50 0.0308298 -267.50 57.50 122.50 0.0185263 -267.50 57.50 127.50 0.0147355 -267.50 57.50 132.50 0.0146644 -267.50 57.50 137.50 0.0224384 -267.50 57.50 142.50 0.0189908 -267.50 57.50 147.50 0.0224542 -267.50 57.50 152.50 0.0202864 -267.50 57.50 157.50 0.0130544 -267.50 57.50 162.50 0.0154728 -267.50 57.50 167.50 0.0279321 -267.50 57.50 172.50 0.0447639 -267.50 57.50 177.50 0.0878479 -267.50 57.50 182.50 0.129213 -267.50 57.50 187.50 0.111751 -267.50 57.50 192.50 0.0935965 -267.50 57.50 197.50 0.0867767 -267.50 57.50 202.50 0.070479 -267.50 57.50 207.50 0.0308298 -267.50 57.50 212.50 0.0185263 -267.50 57.50 217.50 0.0147355 -267.50 57.50 222.50 0.0146644 -267.50 57.50 227.50 0.0224384 -267.50 57.50 232.50 0.0189907 -267.50 57.50 237.50 0.0224542 -267.50 57.50 242.50 0.0202864 -267.50 57.50 247.50 0.0130544 -267.50 57.50 252.50 0.0154728 -267.50 57.50 257.50 0.0279321 -267.50 57.50 262.50 0.044764 -267.50 57.50 267.50 0.087848 -267.50 57.50 272.50 0.129213 -267.50 57.50 277.50 0.111751 -267.50 57.50 282.50 0.0935966 -267.50 57.50 287.50 0.0867767 -267.50 57.50 292.50 0.0704791 -267.50 57.50 297.50 0.0308298 -267.50 57.50 302.50 0.0185263 -267.50 57.50 307.50 0.0147355 -267.50 57.50 312.50 0.0146644 -267.50 57.50 317.50 0.0224384 -267.50 57.50 322.50 0.0189907 -267.50 57.50 327.50 0.0224542 -267.50 57.50 332.50 0.0202864 -267.50 57.50 337.50 0.0130544 -267.50 57.50 342.50 0.0154728 -267.50 57.50 347.50 0.0279321 -267.50 57.50 352.50 0.0447638 -267.50 57.50 357.50 0.0878478 -267.50 62.50 2.50 0.199216 -267.50 62.50 7.50 0.217024 -267.50 62.50 12.50 0.250801 -267.50 62.50 17.50 0.280883 -267.50 62.50 22.50 0.202193 -267.50 62.50 27.50 0.113871 -267.50 62.50 32.50 0.055558 -267.50 62.50 37.50 0.0260342 -267.50 62.50 42.50 0.0152566 -267.50 62.50 47.50 0.00959743 -267.50 62.50 52.50 0.00583439 -267.50 62.50 57.50 0.00579802 -267.50 62.50 62.50 0.00746501 -267.50 62.50 67.50 0.0177908 -267.50 62.50 72.50 0.0389299 -267.50 62.50 77.50 0.073365 -267.50 62.50 82.50 0.116617 -267.50 62.50 87.50 0.164714 -267.50 62.50 92.50 0.199216 -267.50 62.50 97.50 0.217024 -267.50 62.50 102.50 0.250801 -267.50 62.50 107.50 0.280883 -267.50 62.50 112.50 0.202193 -267.50 62.50 117.50 0.113871 -267.50 62.50 122.50 0.0555579 -267.50 62.50 127.50 0.0260342 -267.50 62.50 132.50 0.0152566 -267.50 62.50 137.50 0.00959742 -267.50 62.50 142.50 0.00583439 -267.50 62.50 147.50 0.00579802 -267.50 62.50 152.50 0.00746499 -267.50 62.50 157.50 0.0177908 -267.50 62.50 162.50 0.0389299 -267.50 62.50 167.50 0.0733649 -267.50 62.50 172.50 0.116617 -267.50 62.50 177.50 0.164714 -267.50 62.50 182.50 0.199216 -267.50 62.50 187.50 0.217024 -267.50 62.50 192.50 0.250801 -267.50 62.50 197.50 0.280883 -267.50 62.50 202.50 0.202193 -267.50 62.50 207.50 0.113871 -267.50 62.50 212.50 0.0555579 -267.50 62.50 217.50 0.0260342 -267.50 62.50 222.50 0.0152566 -267.50 62.50 227.50 0.00959742 -267.50 62.50 232.50 0.00583438 -267.50 62.50 237.50 0.00579802 -267.50 62.50 242.50 0.00746501 -267.50 62.50 247.50 0.0177908 -267.50 62.50 252.50 0.0389299 -267.50 62.50 257.50 0.073365 -267.50 62.50 262.50 0.116617 -267.50 62.50 267.50 0.164714 -267.50 62.50 272.50 0.199216 -267.50 62.50 277.50 0.217024 -267.50 62.50 282.50 0.250801 -267.50 62.50 287.50 0.280883 -267.50 62.50 292.50 0.202193 -267.50 62.50 297.50 0.113871 -267.50 62.50 302.50 0.055558 -267.50 62.50 307.50 0.0260342 -267.50 62.50 312.50 0.0152566 -267.50 62.50 317.50 0.00959744 -267.50 62.50 322.50 0.0058344 -267.50 62.50 327.50 0.00579802 -267.50 62.50 332.50 0.007465 -267.50 62.50 337.50 0.0177908 -267.50 62.50 342.50 0.0389298 -267.50 62.50 347.50 0.0733648 -267.50 62.50 352.50 0.116617 -267.50 62.50 357.50 0.164714 -267.50 67.50 2.50 0.315487 -267.50 67.50 7.50 0.423212 -267.50 67.50 12.50 0.553665 -267.50 67.50 17.50 0.614975 -267.50 67.50 22.50 0.497872 -267.50 67.50 27.50 0.330718 -267.50 67.50 32.50 0.175925 -267.50 67.50 37.50 0.116624 -267.50 67.50 42.50 0.0773158 -267.50 67.50 47.50 0.0501735 -267.50 67.50 52.50 0.0384044 -267.50 67.50 57.50 0.0312142 -267.50 67.50 62.50 0.0327666 -267.50 67.50 67.50 0.0571468 -267.50 67.50 72.50 0.121828 -267.50 67.50 77.50 0.194398 -267.50 67.50 82.50 0.292089 -267.50 67.50 87.50 0.301277 -267.50 67.50 92.50 0.315487 -267.50 67.50 97.50 0.423211 -267.50 67.50 102.50 0.553665 -267.50 67.50 107.50 0.614975 -267.50 67.50 112.50 0.497872 -267.50 67.50 117.50 0.330718 -267.50 67.50 122.50 0.175925 -267.50 67.50 127.50 0.116624 -267.50 67.50 132.50 0.0773157 -267.50 67.50 137.50 0.0501734 -267.50 67.50 142.50 0.0384044 -267.50 67.50 147.50 0.0312141 -267.50 67.50 152.50 0.0327665 -267.50 67.50 157.50 0.0571466 -267.50 67.50 162.50 0.121828 -267.50 67.50 167.50 0.194398 -267.50 67.50 172.50 0.292089 -267.50 67.50 177.50 0.301277 -267.50 67.50 182.50 0.315487 -267.50 67.50 187.50 0.423211 -267.50 67.50 192.50 0.553665 -267.50 67.50 197.50 0.614975 -267.50 67.50 202.50 0.497872 -267.50 67.50 207.50 0.330718 -267.50 67.50 212.50 0.175925 -267.50 67.50 217.50 0.116624 -267.50 67.50 222.50 0.0773158 -267.50 67.50 227.50 0.0501734 -267.50 67.50 232.50 0.0384043 -267.50 67.50 237.50 0.0312141 -267.50 67.50 242.50 0.0327665 -267.50 67.50 247.50 0.0571468 -267.50 67.50 252.50 0.121828 -267.50 67.50 257.50 0.194399 -267.50 67.50 262.50 0.292089 -267.50 67.50 267.50 0.301277 -267.50 67.50 272.50 0.315487 -267.50 67.50 277.50 0.423212 -267.50 67.50 282.50 0.553665 -267.50 67.50 287.50 0.614975 -267.50 67.50 292.50 0.497872 -267.50 67.50 297.50 0.330718 -267.50 67.50 302.50 0.175925 -267.50 67.50 307.50 0.116624 -267.50 67.50 312.50 0.0773158 -267.50 67.50 317.50 0.0501735 -267.50 67.50 322.50 0.0384044 -267.50 67.50 327.50 0.0312141 -267.50 67.50 332.50 0.0327665 -267.50 67.50 337.50 0.0571466 -267.50 67.50 342.50 0.121827 -267.50 67.50 347.50 0.194398 -267.50 67.50 352.50 0.292089 -267.50 67.50 357.50 0.301277 -267.50 72.50 2.50 0.48194 -267.50 72.50 7.50 0.692972 -267.50 72.50 12.50 0.981032 -267.50 72.50 17.50 1.02864 -267.50 72.50 22.50 0.924236 -267.50 72.50 27.50 0.68723 -267.50 72.50 32.50 0.532978 -267.50 72.50 37.50 0.420563 -267.50 72.50 42.50 0.32551 -267.50 72.50 47.50 0.226613 -267.50 72.50 52.50 0.17526 -267.50 72.50 57.50 0.14196 -267.50 72.50 62.50 0.157031 -267.50 72.50 67.50 0.20459 -267.50 72.50 72.50 0.277815 -267.50 72.50 77.50 0.402013 -267.50 72.50 82.50 0.534204 -267.50 72.50 87.50 0.497252 -267.50 72.50 92.50 0.48194 -267.50 72.50 97.50 0.692972 -267.50 72.50 102.50 0.981031 -267.50 72.50 107.50 1.02864 -267.50 72.50 112.50 0.924236 -267.50 72.50 117.50 0.68723 -267.50 72.50 122.50 0.532978 -267.50 72.50 127.50 0.420562 -267.50 72.50 132.50 0.32551 -267.50 72.50 137.50 0.226613 -267.50 72.50 142.50 0.17526 -267.50 72.50 147.50 0.14196 -267.50 72.50 152.50 0.15703 -267.50 72.50 157.50 0.20459 -267.50 72.50 162.50 0.277815 -267.50 72.50 167.50 0.402013 -267.50 72.50 172.50 0.534204 -267.50 72.50 177.50 0.497252 -267.50 72.50 182.50 0.48194 -267.50 72.50 187.50 0.692972 -267.50 72.50 192.50 0.981032 -267.50 72.50 197.50 1.02864 -267.50 72.50 202.50 0.924236 -267.50 72.50 207.50 0.68723 -267.50 72.50 212.50 0.532978 -267.50 72.50 217.50 0.420562 -267.50 72.50 222.50 0.32551 -267.50 72.50 227.50 0.226613 -267.50 72.50 232.50 0.17526 -267.50 72.50 237.50 0.14196 -267.50 72.50 242.50 0.157031 -267.50 72.50 247.50 0.20459 -267.50 72.50 252.50 0.277815 -267.50 72.50 257.50 0.402014 -267.50 72.50 262.50 0.534204 -267.50 72.50 267.50 0.497252 -267.50 72.50 272.50 0.48194 -267.50 72.50 277.50 0.692972 -267.50 72.50 282.50 0.981031 -267.50 72.50 287.50 1.02864 -267.50 72.50 292.50 0.924236 -267.50 72.50 297.50 0.68723 -267.50 72.50 302.50 0.532979 -267.50 72.50 307.50 0.420563 -267.50 72.50 312.50 0.32551 -267.50 72.50 317.50 0.226613 -267.50 72.50 322.50 0.17526 -267.50 72.50 327.50 0.14196 -267.50 72.50 332.50 0.157031 -267.50 72.50 337.50 0.20459 -267.50 72.50 342.50 0.277814 -267.50 72.50 347.50 0.402013 -267.50 72.50 352.50 0.534204 -267.50 72.50 357.50 0.497252 -267.50 77.50 2.50 0.62136 -267.50 77.50 7.50 0.887681 -267.50 77.50 12.50 1.27734 -267.50 77.50 17.50 1.36928 -267.50 77.50 22.50 1.32676 -267.50 77.50 27.50 1.25923 -267.50 77.50 32.50 1.17616 -267.50 77.50 37.50 1.0831 -267.50 77.50 42.50 0.929732 -267.50 77.50 47.50 0.744164 -267.50 77.50 52.50 0.575054 -267.50 77.50 57.50 0.497392 -267.50 77.50 62.50 0.453532 -267.50 77.50 67.50 0.511238 -267.50 77.50 72.50 0.6064 -267.50 77.50 77.50 0.655583 -267.50 77.50 82.50 0.731979 -267.50 77.50 87.50 0.727332 -267.50 77.50 92.50 0.62136 -267.50 77.50 97.50 0.887681 -267.50 77.50 102.50 1.27734 -267.50 77.50 107.50 1.36928 -267.50 77.50 112.50 1.32676 -267.50 77.50 117.50 1.25923 -267.50 77.50 122.50 1.17616 -267.50 77.50 127.50 1.0831 -267.50 77.50 132.50 0.929732 -267.50 77.50 137.50 0.744164 -267.50 77.50 142.50 0.575054 -267.50 77.50 147.50 0.497392 -267.50 77.50 152.50 0.453531 -267.50 77.50 157.50 0.511238 -267.50 77.50 162.50 0.6064 -267.50 77.50 167.50 0.655583 -267.50 77.50 172.50 0.731979 -267.50 77.50 177.50 0.727332 -267.50 77.50 182.50 0.62136 -267.50 77.50 187.50 0.88768 -267.50 77.50 192.50 1.27734 -267.50 77.50 197.50 1.36928 -267.50 77.50 202.50 1.32676 -267.50 77.50 207.50 1.25923 -267.50 77.50 212.50 1.17616 -267.50 77.50 217.50 1.0831 -267.50 77.50 222.50 0.929732 -267.50 77.50 227.50 0.744164 -267.50 77.50 232.50 0.575054 -267.50 77.50 237.50 0.497392 -267.50 77.50 242.50 0.453531 -267.50 77.50 247.50 0.511238 -267.50 77.50 252.50 0.6064 -267.50 77.50 257.50 0.655583 -267.50 77.50 262.50 0.731979 -267.50 77.50 267.50 0.727332 -267.50 77.50 272.50 0.62136 -267.50 77.50 277.50 0.887681 -267.50 77.50 282.50 1.27733 -267.50 77.50 287.50 1.36928 -267.50 77.50 292.50 1.32676 -267.50 77.50 297.50 1.25923 -267.50 77.50 302.50 1.17616 -267.50 77.50 307.50 1.0831 -267.50 77.50 312.50 0.929732 -267.50 77.50 317.50 0.744164 -267.50 77.50 322.50 0.575055 -267.50 77.50 327.50 0.497392 -267.50 77.50 332.50 0.453531 -267.50 77.50 337.50 0.511238 -267.50 77.50 342.50 0.606399 -267.50 77.50 347.50 0.655583 -267.50 77.50 352.50 0.731979 -267.50 77.50 357.50 0.727333 -267.50 82.50 2.50 0.678531 -267.50 82.50 7.50 0.974543 -267.50 82.50 12.50 1.30382 -267.50 82.50 17.50 1.54849 -267.50 82.50 22.50 1.72625 -267.50 82.50 27.50 1.78902 -267.50 82.50 32.50 1.86928 -267.50 82.50 37.50 1.89632 -267.50 82.50 42.50 1.76806 -267.50 82.50 47.50 1.5513 -267.50 82.50 52.50 1.33209 -267.50 82.50 57.50 1.15026 -267.50 82.50 62.50 1.03003 -267.50 82.50 67.50 0.994834 -267.50 82.50 72.50 1.00253 -267.50 82.50 77.50 0.985947 -267.50 82.50 82.50 0.900572 -267.50 82.50 87.50 0.846667 -267.50 82.50 92.50 0.678531 -267.50 82.50 97.50 0.974543 -267.50 82.50 102.50 1.30382 -267.50 82.50 107.50 1.54849 -267.50 82.50 112.50 1.72625 -267.50 82.50 117.50 1.78902 -267.50 82.50 122.50 1.86928 -267.50 82.50 127.50 1.89631 -267.50 82.50 132.50 1.76806 -267.50 82.50 137.50 1.5513 -267.50 82.50 142.50 1.33209 -267.50 82.50 147.50 1.15026 -267.50 82.50 152.50 1.03003 -267.50 82.50 157.50 0.994834 -267.50 82.50 162.50 1.00252 -267.50 82.50 167.50 0.985946 -267.50 82.50 172.50 0.900572 -267.50 82.50 177.50 0.846667 -267.50 82.50 182.50 0.678531 -267.50 82.50 187.50 0.974543 -267.50 82.50 192.50 1.30382 -267.50 82.50 197.50 1.54849 -267.50 82.50 202.50 1.72625 -267.50 82.50 207.50 1.78902 -267.50 82.50 212.50 1.86928 -267.50 82.50 217.50 1.89632 -267.50 82.50 222.50 1.76806 -267.50 82.50 227.50 1.5513 -267.50 82.50 232.50 1.33209 -267.50 82.50 237.50 1.15026 -267.50 82.50 242.50 1.03003 -267.50 82.50 247.50 0.994834 -267.50 82.50 252.50 1.00252 -267.50 82.50 257.50 0.985946 -267.50 82.50 262.50 0.900572 -267.50 82.50 267.50 0.846667 -267.50 82.50 272.50 0.678531 -267.50 82.50 277.50 0.974543 -267.50 82.50 282.50 1.30382 -267.50 82.50 287.50 1.54849 -267.50 82.50 292.50 1.72625 -267.50 82.50 297.50 1.78902 -267.50 82.50 302.50 1.86928 -267.50 82.50 307.50 1.89632 -267.50 82.50 312.50 1.76806 -267.50 82.50 317.50 1.5513 -267.50 82.50 322.50 1.33209 -267.50 82.50 327.50 1.15026 -267.50 82.50 332.50 1.03003 -267.50 82.50 337.50 0.994834 -267.50 82.50 342.50 1.00253 -267.50 82.50 347.50 0.985947 -267.50 82.50 352.50 0.900573 -267.50 82.50 357.50 0.846667 -267.50 87.50 2.50 0.675975 -267.50 87.50 7.50 0.904599 -267.50 87.50 12.50 1.30055 -267.50 87.50 17.50 1.53291 -267.50 87.50 22.50 1.72113 -267.50 87.50 27.50 1.9414 -267.50 87.50 32.50 2.09116 -267.50 87.50 37.50 2.22374 -267.50 87.50 42.50 2.2667 -267.50 87.50 47.50 2.14012 -267.50 87.50 52.50 1.95851 -267.50 87.50 57.50 1.78035 -267.50 87.50 62.50 1.63603 -267.50 87.50 67.50 1.54273 -267.50 87.50 72.50 1.41026 -267.50 87.50 77.50 1.23448 -267.50 87.50 82.50 1.13153 -267.50 87.50 87.50 0.83902 -267.50 87.50 92.50 0.675975 -267.50 87.50 97.50 0.904599 -267.50 87.50 102.50 1.30055 -267.50 87.50 107.50 1.53291 -267.50 87.50 112.50 1.72113 -267.50 87.50 117.50 1.9414 -267.50 87.50 122.50 2.09116 -267.50 87.50 127.50 2.22374 -267.50 87.50 132.50 2.26669 -267.50 87.50 137.50 2.14012 -267.50 87.50 142.50 1.95851 -267.50 87.50 147.50 1.78035 -267.50 87.50 152.50 1.63603 -267.50 87.50 157.50 1.54273 -267.50 87.50 162.50 1.41026 -267.50 87.50 167.50 1.23448 -267.50 87.50 172.50 1.13153 -267.50 87.50 177.50 0.83902 -267.50 87.50 182.50 0.675975 -267.50 87.50 187.50 0.904599 -267.50 87.50 192.50 1.30055 -267.50 87.50 197.50 1.53291 -267.50 87.50 202.50 1.72113 -267.50 87.50 207.50 1.9414 -267.50 87.50 212.50 2.09116 -267.50 87.50 217.50 2.22374 -267.50 87.50 222.50 2.26669 -267.50 87.50 227.50 2.14012 -267.50 87.50 232.50 1.9585 -267.50 87.50 237.50 1.78035 -267.50 87.50 242.50 1.63603 -267.50 87.50 247.50 1.54273 -267.50 87.50 252.50 1.41026 -267.50 87.50 257.50 1.23448 -267.50 87.50 262.50 1.13152 -267.50 87.50 267.50 0.83902 -267.50 87.50 272.50 0.675975 -267.50 87.50 277.50 0.904599 -267.50 87.50 282.50 1.30054 -267.50 87.50 287.50 1.53291 -267.50 87.50 292.50 1.72113 -267.50 87.50 297.50 1.9414 -267.50 87.50 302.50 2.09116 -267.50 87.50 307.50 2.22374 -267.50 87.50 312.50 2.2667 -267.50 87.50 317.50 2.14012 -267.50 87.50 322.50 1.95851 -267.50 87.50 327.50 1.78035 -267.50 87.50 332.50 1.63603 -267.50 87.50 337.50 1.54273 -267.50 87.50 342.50 1.41026 -267.50 87.50 347.50 1.23448 -267.50 87.50 352.50 1.13153 -267.50 87.50 357.50 0.83902 -267.50 92.50 2.50 0.773178 -267.50 92.50 7.50 0.987355 -267.50 92.50 12.50 1.3016 -267.50 92.50 17.50 1.52023 -267.50 92.50 22.50 1.70709 -267.50 92.50 27.50 1.8763 -267.50 92.50 32.50 2.00435 -267.50 92.50 37.50 2.14417 -267.50 92.50 42.50 2.24978 -267.50 92.50 47.50 2.27582 -267.50 92.50 52.50 2.24978 -267.50 92.50 57.50 2.14417 -267.50 92.50 62.50 2.00435 -267.50 92.50 67.50 1.8763 -267.50 92.50 72.50 1.70709 -267.50 92.50 77.50 1.52023 -267.50 92.50 82.50 1.3016 -267.50 92.50 87.50 0.987353 -267.50 92.50 92.50 0.773179 -267.50 92.50 97.50 0.987355 -267.50 92.50 102.50 1.3016 -267.50 92.50 107.50 1.52023 -267.50 92.50 112.50 1.70709 -267.50 92.50 117.50 1.8763 -267.50 92.50 122.50 2.00435 -267.50 92.50 127.50 2.14417 -267.50 92.50 132.50 2.24978 -267.50 92.50 137.50 2.27582 -267.50 92.50 142.50 2.24978 -267.50 92.50 147.50 2.14417 -267.50 92.50 152.50 2.00435 -267.50 92.50 157.50 1.8763 -267.50 92.50 162.50 1.70709 -267.50 92.50 167.50 1.52023 -267.50 92.50 172.50 1.3016 -267.50 92.50 177.50 0.987355 -267.50 92.50 182.50 0.773179 -267.50 92.50 187.50 0.987355 -267.50 92.50 192.50 1.3016 -267.50 92.50 197.50 1.52023 -267.50 92.50 202.50 1.70709 -267.50 92.50 207.50 1.8763 -267.50 92.50 212.50 2.00435 -267.50 92.50 217.50 2.14417 -267.50 92.50 222.50 2.24978 -267.50 92.50 227.50 2.27582 -267.50 92.50 232.50 2.24978 -267.50 92.50 237.50 2.14417 -267.50 92.50 242.50 2.00435 -267.50 92.50 247.50 1.8763 -267.50 92.50 252.50 1.70709 -267.50 92.50 257.50 1.52022 -267.50 92.50 262.50 1.3016 -267.50 92.50 267.50 0.987353 -267.50 92.50 272.50 0.773179 -267.50 92.50 277.50 0.987355 -267.50 92.50 282.50 1.3016 -267.50 92.50 287.50 1.52023 -267.50 92.50 292.50 1.70709 -267.50 92.50 297.50 1.8763 -267.50 92.50 302.50 2.00435 -267.50 92.50 307.50 2.14417 -267.50 92.50 312.50 2.24978 -267.50 92.50 317.50 2.27582 -267.50 92.50 322.50 2.24978 -267.50 92.50 327.50 2.14417 -267.50 92.50 332.50 2.00435 -267.50 92.50 337.50 1.8763 -267.50 92.50 342.50 1.70709 -267.50 92.50 347.50 1.52023 -267.50 92.50 352.50 1.3016 -267.50 92.50 357.50 0.987355 -267.50 97.50 2.50 0.675975 -267.50 97.50 7.50 0.83902 -267.50 97.50 12.50 1.13153 -267.50 97.50 17.50 1.23448 -267.50 97.50 22.50 1.41026 -267.50 97.50 27.50 1.54273 -267.50 97.50 32.50 1.63603 -267.50 97.50 37.50 1.78035 -267.50 97.50 42.50 1.95851 -267.50 97.50 47.50 2.14012 -267.50 97.50 52.50 2.26669 -267.50 97.50 57.50 2.22374 -267.50 97.50 62.50 2.09116 -267.50 97.50 67.50 1.9414 -267.50 97.50 72.50 1.72113 -267.50 97.50 77.50 1.53291 -267.50 97.50 82.50 1.30055 -267.50 97.50 87.50 0.904599 -267.50 97.50 92.50 0.675975 -267.50 97.50 97.50 0.83902 -267.50 97.50 102.50 1.13153 -267.50 97.50 107.50 1.23448 -267.50 97.50 112.50 1.41026 -267.50 97.50 117.50 1.54273 -267.50 97.50 122.50 1.63603 -267.50 97.50 127.50 1.78035 -267.50 97.50 132.50 1.95851 -267.50 97.50 137.50 2.14012 -267.50 97.50 142.50 2.2667 -267.50 97.50 147.50 2.22374 -267.50 97.50 152.50 2.09116 -267.50 97.50 157.50 1.9414 -267.50 97.50 162.50 1.72113 -267.50 97.50 167.50 1.53291 -267.50 97.50 172.50 1.30055 -267.50 97.50 177.50 0.904599 -267.50 97.50 182.50 0.675975 -267.50 97.50 187.50 0.83902 -267.50 97.50 192.50 1.13153 -267.50 97.50 197.50 1.23448 -267.50 97.50 202.50 1.41026 -267.50 97.50 207.50 1.54273 -267.50 97.50 212.50 1.63603 -267.50 97.50 217.50 1.78035 -267.50 97.50 222.50 1.95851 -267.50 97.50 227.50 2.14012 -267.50 97.50 232.50 2.2667 -267.50 97.50 237.50 2.22374 -267.50 97.50 242.50 2.09116 -267.50 97.50 247.50 1.9414 -267.50 97.50 252.50 1.72113 -267.50 97.50 257.50 1.53291 -267.50 97.50 262.50 1.30054 -267.50 97.50 267.50 0.904598 -267.50 97.50 272.50 0.675975 -267.50 97.50 277.50 0.83902 -267.50 97.50 282.50 1.13152 -267.50 97.50 287.50 1.23448 -267.50 97.50 292.50 1.41026 -267.50 97.50 297.50 1.54273 -267.50 97.50 302.50 1.63603 -267.50 97.50 307.50 1.78035 -267.50 97.50 312.50 1.95851 -267.50 97.50 317.50 2.14012 -267.50 97.50 322.50 2.26669 -267.50 97.50 327.50 2.22375 -267.50 97.50 332.50 2.09116 -267.50 97.50 337.50 1.9414 -267.50 97.50 342.50 1.72113 -267.50 97.50 347.50 1.53291 -267.50 97.50 352.50 1.30055 -267.50 97.50 357.50 0.904599 -267.50 102.50 2.50 0.678531 -267.50 102.50 7.50 0.846667 -267.50 102.50 12.50 0.900573 -267.50 102.50 17.50 0.985947 -267.50 102.50 22.50 1.00253 -267.50 102.50 27.50 0.994834 -267.50 102.50 32.50 1.03003 -267.50 102.50 37.50 1.15026 -267.50 102.50 42.50 1.33209 -267.50 102.50 47.50 1.5513 -267.50 102.50 52.50 1.76806 -267.50 102.50 57.50 1.89632 -267.50 102.50 62.50 1.86928 -267.50 102.50 67.50 1.78902 -267.50 102.50 72.50 1.72625 -267.50 102.50 77.50 1.54849 -267.50 102.50 82.50 1.30382 -267.50 102.50 87.50 0.974543 -267.50 102.50 92.50 0.67853 -267.50 102.50 97.50 0.846667 -267.50 102.50 102.50 0.900572 -267.50 102.50 107.50 0.985946 -267.50 102.50 112.50 1.00253 -267.50 102.50 117.50 0.994834 -267.50 102.50 122.50 1.03003 -267.50 102.50 127.50 1.15026 -267.50 102.50 132.50 1.33209 -267.50 102.50 137.50 1.5513 -267.50 102.50 142.50 1.76806 -267.50 102.50 147.50 1.89632 -267.50 102.50 152.50 1.86928 -267.50 102.50 157.50 1.78902 -267.50 102.50 162.50 1.72625 -267.50 102.50 167.50 1.54849 -267.50 102.50 172.50 1.30382 -267.50 102.50 177.50 0.974543 -267.50 102.50 182.50 0.678531 -267.50 102.50 187.50 0.846666 -267.50 102.50 192.50 0.900572 -267.50 102.50 197.50 0.985946 -267.50 102.50 202.50 1.00253 -267.50 102.50 207.50 0.994834 -267.50 102.50 212.50 1.03003 -267.50 102.50 217.50 1.15026 -267.50 102.50 222.50 1.33209 -267.50 102.50 227.50 1.5513 -267.50 102.50 232.50 1.76806 -267.50 102.50 237.50 1.89632 -267.50 102.50 242.50 1.86928 -267.50 102.50 247.50 1.78902 -267.50 102.50 252.50 1.72625 -267.50 102.50 257.50 1.54849 -267.50 102.50 262.50 1.30382 -267.50 102.50 267.50 0.974542 -267.50 102.50 272.50 0.67853 -267.50 102.50 277.50 0.846667 -267.50 102.50 282.50 0.900572 -267.50 102.50 287.50 0.985946 -267.50 102.50 292.50 1.00253 -267.50 102.50 297.50 0.994834 -267.50 102.50 302.50 1.03003 -267.50 102.50 307.50 1.15026 -267.50 102.50 312.50 1.33209 -267.50 102.50 317.50 1.5513 -267.50 102.50 322.50 1.76806 -267.50 102.50 327.50 1.89632 -267.50 102.50 332.50 1.86928 -267.50 102.50 337.50 1.78902 -267.50 102.50 342.50 1.72625 -267.50 102.50 347.50 1.54849 -267.50 102.50 352.50 1.30382 -267.50 102.50 357.50 0.974544 -267.50 107.50 2.50 0.62136 -267.50 107.50 7.50 0.727332 -267.50 107.50 12.50 0.731979 -267.50 107.50 17.50 0.655583 -267.50 107.50 22.50 0.6064 -267.50 107.50 27.50 0.511238 -267.50 107.50 32.50 0.453531 -267.50 107.50 37.50 0.497392 -267.50 107.50 42.50 0.575054 -267.50 107.50 47.50 0.744164 -267.50 107.50 52.50 0.929732 -267.50 107.50 57.50 1.0831 -267.50 107.50 62.50 1.17616 -267.50 107.50 67.50 1.25923 -267.50 107.50 72.50 1.32676 -267.50 107.50 77.50 1.36928 -267.50 107.50 82.50 1.27734 -267.50 107.50 87.50 0.887681 -267.50 107.50 92.50 0.62136 -267.50 107.50 97.50 0.727332 -267.50 107.50 102.50 0.731978 -267.50 107.50 107.50 0.655583 -267.50 107.50 112.50 0.6064 -267.50 107.50 117.50 0.511238 -267.50 107.50 122.50 0.453532 -267.50 107.50 127.50 0.497392 -267.50 107.50 132.50 0.575055 -267.50 107.50 137.50 0.744165 -267.50 107.50 142.50 0.929732 -267.50 107.50 147.50 1.0831 -267.50 107.50 152.50 1.17616 -267.50 107.50 157.50 1.25923 -267.50 107.50 162.50 1.32676 -267.50 107.50 167.50 1.36928 -267.50 107.50 172.50 1.27734 -267.50 107.50 177.50 0.887681 -267.50 107.50 182.50 0.62136 -267.50 107.50 187.50 0.727332 -267.50 107.50 192.50 0.731979 -267.50 107.50 197.50 0.655583 -267.50 107.50 202.50 0.6064 -267.50 107.50 207.50 0.511238 -267.50 107.50 212.50 0.453532 -267.50 107.50 217.50 0.497392 -267.50 107.50 222.50 0.575054 -267.50 107.50 227.50 0.744164 -267.50 107.50 232.50 0.929733 -267.50 107.50 237.50 1.0831 -267.50 107.50 242.50 1.17616 -267.50 107.50 247.50 1.25923 -267.50 107.50 252.50 1.32676 -267.50 107.50 257.50 1.36928 -267.50 107.50 262.50 1.27734 -267.50 107.50 267.50 0.887681 -267.50 107.50 272.50 0.62136 -267.50 107.50 277.50 0.727332 -267.50 107.50 282.50 0.731978 -267.50 107.50 287.50 0.655583 -267.50 107.50 292.50 0.6064 -267.50 107.50 297.50 0.511238 -267.50 107.50 302.50 0.453531 -267.50 107.50 307.50 0.497392 -267.50 107.50 312.50 0.575054 -267.50 107.50 317.50 0.744164 -267.50 107.50 322.50 0.929731 -267.50 107.50 327.50 1.0831 -267.50 107.50 332.50 1.17616 -267.50 107.50 337.50 1.25923 -267.50 107.50 342.50 1.32676 -267.50 107.50 347.50 1.36928 -267.50 107.50 352.50 1.27734 -267.50 107.50 357.50 0.887681 -267.50 112.50 2.50 0.48194 -267.50 112.50 7.50 0.497252 -267.50 112.50 12.50 0.534204 -267.50 112.50 17.50 0.402013 -267.50 112.50 22.50 0.277815 -267.50 112.50 27.50 0.20459 -267.50 112.50 32.50 0.157031 -267.50 112.50 37.50 0.14196 -267.50 112.50 42.50 0.17526 -267.50 112.50 47.50 0.226613 -267.50 112.50 52.50 0.32551 -267.50 112.50 57.50 0.420562 -267.50 112.50 62.50 0.532979 -267.50 112.50 67.50 0.68723 -267.50 112.50 72.50 0.924236 -267.50 112.50 77.50 1.02864 -267.50 112.50 82.50 0.981031 -267.50 112.50 87.50 0.692972 -267.50 112.50 92.50 0.48194 -267.50 112.50 97.50 0.497252 -267.50 112.50 102.50 0.534204 -267.50 112.50 107.50 0.402013 -267.50 112.50 112.50 0.277815 -267.50 112.50 117.50 0.20459 -267.50 112.50 122.50 0.157031 -267.50 112.50 127.50 0.14196 -267.50 112.50 132.50 0.17526 -267.50 112.50 137.50 0.226613 -267.50 112.50 142.50 0.32551 -267.50 112.50 147.50 0.420563 -267.50 112.50 152.50 0.532979 -267.50 112.50 157.50 0.68723 -267.50 112.50 162.50 0.924236 -267.50 112.50 167.50 1.02864 -267.50 112.50 172.50 0.981031 -267.50 112.50 177.50 0.692972 -267.50 112.50 182.50 0.48194 -267.50 112.50 187.50 0.497252 -267.50 112.50 192.50 0.534204 -267.50 112.50 197.50 0.402013 -267.50 112.50 202.50 0.277815 -267.50 112.50 207.50 0.204591 -267.50 112.50 212.50 0.157031 -267.50 112.50 217.50 0.14196 -267.50 112.50 222.50 0.17526 -267.50 112.50 227.50 0.226613 -267.50 112.50 232.50 0.32551 -267.50 112.50 237.50 0.420563 -267.50 112.50 242.50 0.532979 -267.50 112.50 247.50 0.68723 -267.50 112.50 252.50 0.924236 -267.50 112.50 257.50 1.02864 -267.50 112.50 262.50 0.981031 -267.50 112.50 267.50 0.692971 -267.50 112.50 272.50 0.48194 -267.50 112.50 277.50 0.497252 -267.50 112.50 282.50 0.534204 -267.50 112.50 287.50 0.402013 -267.50 112.50 292.50 0.277815 -267.50 112.50 297.50 0.20459 -267.50 112.50 302.50 0.157031 -267.50 112.50 307.50 0.14196 -267.50 112.50 312.50 0.17526 -267.50 112.50 317.50 0.226613 -267.50 112.50 322.50 0.325509 -267.50 112.50 327.50 0.420562 -267.50 112.50 332.50 0.532978 -267.50 112.50 337.50 0.687229 -267.50 112.50 342.50 0.924236 -267.50 112.50 347.50 1.02864 -267.50 112.50 352.50 0.981031 -267.50 112.50 357.50 0.692972 -267.50 117.50 2.50 0.315487 -267.50 117.50 7.50 0.301277 -267.50 117.50 12.50 0.292089 -267.50 117.50 17.50 0.194398 -267.50 117.50 22.50 0.121827 -267.50 117.50 27.50 0.0571465 -267.50 117.50 32.50 0.0327665 -267.50 117.50 37.50 0.0312141 -267.50 117.50 42.50 0.0384043 -267.50 117.50 47.50 0.0501733 -267.50 117.50 52.50 0.0773156 -267.50 117.50 57.50 0.116624 -267.50 117.50 62.50 0.175925 -267.50 117.50 67.50 0.330718 -267.50 117.50 72.50 0.497872 -267.50 117.50 77.50 0.614974 -267.50 117.50 82.50 0.553665 -267.50 117.50 87.50 0.423211 -267.50 117.50 92.50 0.315487 -267.50 117.50 97.50 0.301277 -267.50 117.50 102.50 0.292089 -267.50 117.50 107.50 0.194398 -267.50 117.50 112.50 0.121827 -267.50 117.50 117.50 0.0571466 -267.50 117.50 122.50 0.0327665 -267.50 117.50 127.50 0.0312141 -267.50 117.50 132.50 0.0384043 -267.50 117.50 137.50 0.0501734 -267.50 117.50 142.50 0.0773156 -267.50 117.50 147.50 0.116624 -267.50 117.50 152.50 0.175925 -267.50 117.50 157.50 0.330718 -267.50 117.50 162.50 0.497872 -267.50 117.50 167.50 0.614975 -267.50 117.50 172.50 0.553665 -267.50 117.50 177.50 0.423212 -267.50 117.50 182.50 0.315487 -267.50 117.50 187.50 0.301277 -267.50 117.50 192.50 0.292089 -267.50 117.50 197.50 0.194398 -267.50 117.50 202.50 0.121828 -267.50 117.50 207.50 0.0571467 -267.50 117.50 212.50 0.0327665 -267.50 117.50 217.50 0.0312141 -267.50 117.50 222.50 0.0384043 -267.50 117.50 227.50 0.0501733 -267.50 117.50 232.50 0.0773157 -267.50 117.50 237.50 0.116624 -267.50 117.50 242.50 0.175925 -267.50 117.50 247.50 0.330718 -267.50 117.50 252.50 0.497872 -267.50 117.50 257.50 0.614975 -267.50 117.50 262.50 0.553665 -267.50 117.50 267.50 0.423211 -267.50 117.50 272.50 0.315487 -267.50 117.50 277.50 0.301277 -267.50 117.50 282.50 0.292089 -267.50 117.50 287.50 0.194398 -267.50 117.50 292.50 0.121827 -267.50 117.50 297.50 0.0571466 -267.50 117.50 302.50 0.0327665 -267.50 117.50 307.50 0.0312141 -267.50 117.50 312.50 0.0384043 -267.50 117.50 317.50 0.0501733 -267.50 117.50 322.50 0.0773155 -267.50 117.50 327.50 0.116624 -267.50 117.50 332.50 0.175924 -267.50 117.50 337.50 0.330717 -267.50 117.50 342.50 0.497871 -267.50 117.50 347.50 0.614974 -267.50 117.50 352.50 0.553665 -267.50 117.50 357.50 0.423211 -267.50 122.50 2.50 0.199216 -267.50 122.50 7.50 0.164714 -267.50 122.50 12.50 0.116617 -267.50 122.50 17.50 0.0733648 -267.50 122.50 22.50 0.0389298 -267.50 122.50 27.50 0.0177908 -267.50 122.50 32.50 0.00746499 -267.50 122.50 37.50 0.00579802 -267.50 122.50 42.50 0.00583438 -267.50 122.50 47.50 0.00959742 -267.50 122.50 52.50 0.0152566 -267.50 122.50 57.50 0.0260342 -267.50 122.50 62.50 0.055558 -267.50 122.50 67.50 0.113871 -267.50 122.50 72.50 0.202193 -267.50 122.50 77.50 0.280883 -267.50 122.50 82.50 0.250801 -267.50 122.50 87.50 0.217024 -267.50 122.50 92.50 0.199216 -267.50 122.50 97.50 0.164714 -267.50 122.50 102.50 0.116617 -267.50 122.50 107.50 0.0733648 -267.50 122.50 112.50 0.0389298 -267.50 122.50 117.50 0.0177907 -267.50 122.50 122.50 0.00746499 -267.50 122.50 127.50 0.00579802 -267.50 122.50 132.50 0.00583438 -267.50 122.50 137.50 0.00959742 -267.50 122.50 142.50 0.0152566 -267.50 122.50 147.50 0.0260342 -267.50 122.50 152.50 0.055558 -267.50 122.50 157.50 0.113871 -267.50 122.50 162.50 0.202193 -267.50 122.50 167.50 0.280883 -267.50 122.50 172.50 0.250801 -267.50 122.50 177.50 0.217024 -267.50 122.50 182.50 0.199216 -267.50 122.50 187.50 0.164714 -267.50 122.50 192.50 0.116617 -267.50 122.50 197.50 0.0733649 -267.50 122.50 202.50 0.0389299 -267.50 122.50 207.50 0.0177908 -267.50 122.50 212.50 0.00746499 -267.50 122.50 217.50 0.00579802 -267.50 122.50 222.50 0.00583438 -267.50 122.50 227.50 0.00959741 -267.50 122.50 232.50 0.0152566 -267.50 122.50 237.50 0.0260342 -267.50 122.50 242.50 0.055558 -267.50 122.50 247.50 0.113871 -267.50 122.50 252.50 0.202193 -267.50 122.50 257.50 0.280883 -267.50 122.50 262.50 0.250801 -267.50 122.50 267.50 0.217024 -267.50 122.50 272.50 0.199216 -267.50 122.50 277.50 0.164714 -267.50 122.50 282.50 0.116617 -267.50 122.50 287.50 0.0733648 -267.50 122.50 292.50 0.0389298 -267.50 122.50 297.50 0.0177908 -267.50 122.50 302.50 0.00746499 -267.50 122.50 307.50 0.00579802 -267.50 122.50 312.50 0.00583438 -267.50 122.50 317.50 0.00959741 -267.50 122.50 322.50 0.0152566 -267.50 122.50 327.50 0.0260341 -267.50 122.50 332.50 0.0555578 -267.50 122.50 337.50 0.113871 -267.50 122.50 342.50 0.202193 -267.50 122.50 347.50 0.280882 -267.50 122.50 352.50 0.250801 -267.50 122.50 357.50 0.217024 -267.50 127.50 2.50 0.129213 -267.50 127.50 7.50 0.0878479 -267.50 127.50 12.50 0.0447639 -267.50 127.50 17.50 0.0279321 -267.50 127.50 22.50 0.0154728 -267.50 127.50 27.50 0.0130544 -267.50 127.50 32.50 0.0202864 -267.50 127.50 37.50 0.0224542 -267.50 127.50 42.50 0.0189908 -267.50 127.50 47.50 0.0224384 -267.50 127.50 52.50 0.0146644 -267.50 127.50 57.50 0.0147355 -267.50 127.50 62.50 0.0185263 -267.50 127.50 67.50 0.0308298 -267.50 127.50 72.50 0.0704791 -267.50 127.50 77.50 0.0867767 -267.50 127.50 82.50 0.0935966 -267.50 127.50 87.50 0.111751 -267.50 127.50 92.50 0.129213 -267.50 127.50 97.50 0.0878479 -267.50 127.50 102.50 0.0447639 -267.50 127.50 107.50 0.0279321 -267.50 127.50 112.50 0.0154728 -267.50 127.50 117.50 0.0130544 -267.50 127.50 122.50 0.0202864 -267.50 127.50 127.50 0.0224542 -267.50 127.50 132.50 0.0189907 -267.50 127.50 137.50 0.0224384 -267.50 127.50 142.50 0.0146644 -267.50 127.50 147.50 0.0147355 -267.50 127.50 152.50 0.0185263 -267.50 127.50 157.50 0.0308298 -267.50 127.50 162.50 0.0704791 -267.50 127.50 167.50 0.0867767 -267.50 127.50 172.50 0.0935966 -267.50 127.50 177.50 0.111751 -267.50 127.50 182.50 0.129213 -267.50 127.50 187.50 0.087848 -267.50 127.50 192.50 0.0447639 -267.50 127.50 197.50 0.0279321 -267.50 127.50 202.50 0.0154728 -267.50 127.50 207.50 0.0130544 -267.50 127.50 212.50 0.0202864 -267.50 127.50 217.50 0.0224542 -267.50 127.50 222.50 0.0189907 -267.50 127.50 227.50 0.0224384 -267.50 127.50 232.50 0.0146644 -267.50 127.50 237.50 0.0147355 -267.50 127.50 242.50 0.0185263 -267.50 127.50 247.50 0.0308299 -267.50 127.50 252.50 0.0704791 -267.50 127.50 257.50 0.0867767 -267.50 127.50 262.50 0.0935966 -267.50 127.50 267.50 0.111751 -267.50 127.50 272.50 0.129213 -267.50 127.50 277.50 0.0878479 -267.50 127.50 282.50 0.0447639 -267.50 127.50 287.50 0.0279321 -267.50 127.50 292.50 0.0154728 -267.50 127.50 297.50 0.0130544 -267.50 127.50 302.50 0.0202864 -267.50 127.50 307.50 0.0224542 -267.50 127.50 312.50 0.0189908 -267.50 127.50 317.50 0.0224384 -267.50 127.50 322.50 0.0146644 -267.50 127.50 327.50 0.0147355 -267.50 127.50 332.50 0.0185263 -267.50 127.50 337.50 0.0308297 -267.50 127.50 342.50 0.0704789 -267.50 127.50 347.50 0.0867766 -267.50 127.50 352.50 0.0935965 -267.50 127.50 357.50 0.111751 -267.50 132.50 2.50 0.0716309 -267.50 132.50 7.50 0.0443058 -267.50 132.50 12.50 0.022551 -267.50 132.50 17.50 0.0264904 -267.50 132.50 22.50 0.0465787 -267.50 132.50 27.50 0.0685249 -267.50 132.50 32.50 0.112257 -267.50 132.50 37.50 0.154174 -267.50 132.50 42.50 0.152444 -267.50 132.50 47.50 0.159105 -267.50 132.50 52.50 0.119274 -267.50 132.50 57.50 0.0919799 -267.50 132.50 62.50 0.0561324 -267.50 132.50 67.50 0.032397 -267.50 132.50 72.50 0.0254592 -267.50 132.50 77.50 0.0220366 -267.50 132.50 82.50 0.0318592 -267.50 132.50 87.50 0.0584064 -267.50 132.50 92.50 0.0716309 -267.50 132.50 97.50 0.0443058 -267.50 132.50 102.50 0.022551 -267.50 132.50 107.50 0.0264904 -267.50 132.50 112.50 0.0465787 -267.50 132.50 117.50 0.0685249 -267.50 132.50 122.50 0.112257 -267.50 132.50 127.50 0.154173 -267.50 132.50 132.50 0.152444 -267.50 132.50 137.50 0.159105 -267.50 132.50 142.50 0.119274 -267.50 132.50 147.50 0.0919798 -267.50 132.50 152.50 0.0561325 -267.50 132.50 157.50 0.032397 -267.50 132.50 162.50 0.0254592 -267.50 132.50 167.50 0.0220366 -267.50 132.50 172.50 0.0318592 -267.50 132.50 177.50 0.0584064 -267.50 132.50 182.50 0.071631 -267.50 132.50 187.50 0.0443058 -267.50 132.50 192.50 0.022551 -267.50 132.50 197.50 0.0264904 -267.50 132.50 202.50 0.0465787 -267.50 132.50 207.50 0.0685248 -267.50 132.50 212.50 0.112257 -267.50 132.50 217.50 0.154173 -267.50 132.50 222.50 0.152444 -267.50 132.50 227.50 0.159105 -267.50 132.50 232.50 0.119274 -267.50 132.50 237.50 0.0919798 -267.50 132.50 242.50 0.0561324 -267.50 132.50 247.50 0.032397 -267.50 132.50 252.50 0.0254592 -267.50 132.50 257.50 0.0220366 -267.50 132.50 262.50 0.0318592 -267.50 132.50 267.50 0.0584064 -267.50 132.50 272.50 0.071631 -267.50 132.50 277.50 0.0443058 -267.50 132.50 282.50 0.022551 -267.50 132.50 287.50 0.0264904 -267.50 132.50 292.50 0.0465787 -267.50 132.50 297.50 0.0685249 -267.50 132.50 302.50 0.112257 -267.50 132.50 307.50 0.154174 -267.50 132.50 312.50 0.152444 -267.50 132.50 317.50 0.159105 -267.50 132.50 322.50 0.119274 -267.50 132.50 327.50 0.0919799 -267.50 132.50 332.50 0.0561326 -267.50 132.50 337.50 0.032397 -267.50 132.50 342.50 0.0254592 -267.50 132.50 347.50 0.0220366 -267.50 132.50 352.50 0.0318592 -267.50 132.50 357.50 0.0584063 -267.50 137.50 2.50 0.0446415 -267.50 137.50 7.50 0.0320298 -267.50 137.50 12.50 0.0323235 -267.50 137.50 17.50 0.0738833 -267.50 137.50 22.50 0.15642 -267.50 137.50 27.50 0.26034 -267.50 137.50 32.50 0.400611 -267.50 137.50 37.50 0.595303 -267.50 137.50 42.50 0.660828 -267.50 137.50 47.50 0.715766 -267.50 137.50 52.50 0.55622 -267.50 137.50 57.50 0.425319 -267.50 137.50 62.50 0.226915 -267.50 137.50 67.50 0.117599 -267.50 137.50 72.50 0.0486705 -267.50 137.50 77.50 0.0214015 -267.50 137.50 82.50 0.0213814 -267.50 137.50 87.50 0.0381159 -267.50 137.50 92.50 0.0446415 -267.50 137.50 97.50 0.0320298 -267.50 137.50 102.50 0.0323235 -267.50 137.50 107.50 0.0738832 -267.50 137.50 112.50 0.15642 -267.50 137.50 117.50 0.26034 -267.50 137.50 122.50 0.400611 -267.50 137.50 127.50 0.595303 -267.50 137.50 132.50 0.660828 -267.50 137.50 137.50 0.715766 -267.50 137.50 142.50 0.55622 -267.50 137.50 147.50 0.425319 -267.50 137.50 152.50 0.226915 -267.50 137.50 157.50 0.117599 -267.50 137.50 162.50 0.0486705 -267.50 137.50 167.50 0.0214015 -267.50 137.50 172.50 0.0213814 -267.50 137.50 177.50 0.0381159 -267.50 137.50 182.50 0.0446415 -267.50 137.50 187.50 0.0320298 -267.50 137.50 192.50 0.0323235 -267.50 137.50 197.50 0.0738832 -267.50 137.50 202.50 0.15642 -267.50 137.50 207.50 0.26034 -267.50 137.50 212.50 0.400611 -267.50 137.50 217.50 0.595303 -267.50 137.50 222.50 0.660828 -267.50 137.50 227.50 0.715766 -267.50 137.50 232.50 0.556219 -267.50 137.50 237.50 0.425319 -267.50 137.50 242.50 0.226915 -267.50 137.50 247.50 0.117599 -267.50 137.50 252.50 0.0486705 -267.50 137.50 257.50 0.0214015 -267.50 137.50 262.50 0.0213814 -267.50 137.50 267.50 0.0381159 -267.50 137.50 272.50 0.0446415 -267.50 137.50 277.50 0.0320298 -267.50 137.50 282.50 0.0323235 -267.50 137.50 287.50 0.0738832 -267.50 137.50 292.50 0.15642 -267.50 137.50 297.50 0.26034 -267.50 137.50 302.50 0.400611 -267.50 137.50 307.50 0.595303 -267.50 137.50 312.50 0.660828 -267.50 137.50 317.50 0.715765 -267.50 137.50 322.50 0.55622 -267.50 137.50 327.50 0.425319 -267.50 137.50 332.50 0.226915 -267.50 137.50 337.50 0.117599 -267.50 137.50 342.50 0.0486706 -267.50 137.50 347.50 0.0214015 -267.50 137.50 352.50 0.0213813 -267.50 137.50 357.50 0.0381158 -267.50 142.50 2.50 0.0716309 -267.50 142.50 7.50 0.0616514 -267.50 142.50 12.50 0.0755905 -267.50 142.50 17.50 0.17185 -267.50 142.50 22.50 0.356891 -267.50 142.50 27.50 0.62698 -267.50 142.50 32.50 1.03025 -267.50 142.50 37.50 1.48065 -267.50 142.50 42.50 1.82863 -267.50 142.50 47.50 1.91265 -267.50 142.50 52.50 1.64199 -267.50 142.50 57.50 1.14566 -267.50 142.50 62.50 0.661871 -267.50 142.50 67.50 0.323246 -267.50 142.50 72.50 0.141381 -267.50 142.50 77.50 0.063983 -267.50 142.50 82.50 0.0483848 -267.50 142.50 87.50 0.0640119 -267.50 142.50 92.50 0.0716309 -267.50 142.50 97.50 0.0616514 -267.50 142.50 102.50 0.0755905 -267.50 142.50 107.50 0.17185 -267.50 142.50 112.50 0.356891 -267.50 142.50 117.50 0.62698 -267.50 142.50 122.50 1.03025 -267.50 142.50 127.50 1.48065 -267.50 142.50 132.50 1.82863 -267.50 142.50 137.50 1.91265 -267.50 142.50 142.50 1.64199 -267.50 142.50 147.50 1.14566 -267.50 142.50 152.50 0.661871 -267.50 142.50 157.50 0.323247 -267.50 142.50 162.50 0.141382 -267.50 142.50 167.50 0.063983 -267.50 142.50 172.50 0.0483847 -267.50 142.50 177.50 0.0640119 -267.50 142.50 182.50 0.0716309 -267.50 142.50 187.50 0.0616514 -267.50 142.50 192.50 0.0755905 -267.50 142.50 197.50 0.17185 -267.50 142.50 202.50 0.356891 -267.50 142.50 207.50 0.62698 -267.50 142.50 212.50 1.03025 -267.50 142.50 217.50 1.48065 -267.50 142.50 222.50 1.82863 -267.50 142.50 227.50 1.91265 -267.50 142.50 232.50 1.64199 -267.50 142.50 237.50 1.14566 -267.50 142.50 242.50 0.661871 -267.50 142.50 247.50 0.323246 -267.50 142.50 252.50 0.141381 -267.50 142.50 257.50 0.0639829 -267.50 142.50 262.50 0.0483848 -267.50 142.50 267.50 0.064012 -267.50 142.50 272.50 0.0716309 -267.50 142.50 277.50 0.0616514 -267.50 142.50 282.50 0.0755904 -267.50 142.50 287.50 0.17185 -267.50 142.50 292.50 0.356891 -267.50 142.50 297.50 0.62698 -267.50 142.50 302.50 1.03025 -267.50 142.50 307.50 1.48065 -267.50 142.50 312.50 1.82863 -267.50 142.50 317.50 1.91265 -267.50 142.50 322.50 1.64199 -267.50 142.50 327.50 1.14566 -267.50 142.50 332.50 0.661872 -267.50 142.50 337.50 0.323247 -267.50 142.50 342.50 0.141382 -267.50 142.50 347.50 0.0639831 -267.50 142.50 352.50 0.0483848 -267.50 142.50 357.50 0.0640119 -267.50 147.50 2.50 0.129213 -267.50 147.50 7.50 0.118247 -267.50 147.50 12.50 0.145218 -267.50 147.50 17.50 0.292757 -267.50 147.50 22.50 0.604254 -267.50 147.50 27.50 1.10692 -267.50 147.50 32.50 1.82954 -267.50 147.50 37.50 2.70449 -267.50 147.50 42.50 3.36986 -267.50 147.50 47.50 3.47034 -267.50 147.50 52.50 2.958 -267.50 147.50 57.50 2.08558 -267.50 147.50 62.50 1.21571 -267.50 147.50 67.50 0.615071 -267.50 147.50 72.50 0.293616 -267.50 147.50 77.50 0.155519 -267.50 147.50 82.50 0.116352 -267.50 147.50 87.50 0.122909 -267.50 147.50 92.50 0.129213 -267.50 147.50 97.50 0.118247 -267.50 147.50 102.50 0.145218 -267.50 147.50 107.50 0.292757 -267.50 147.50 112.50 0.604254 -267.50 147.50 117.50 1.10692 -267.50 147.50 122.50 1.82954 -267.50 147.50 127.50 2.70449 -267.50 147.50 132.50 3.36986 -267.50 147.50 137.50 3.47034 -267.50 147.50 142.50 2.958 -267.50 147.50 147.50 2.08558 -267.50 147.50 152.50 1.21571 -267.50 147.50 157.50 0.615071 -267.50 147.50 162.50 0.293616 -267.50 147.50 167.50 0.155519 -267.50 147.50 172.50 0.116352 -267.50 147.50 177.50 0.122909 -267.50 147.50 182.50 0.129213 -267.50 147.50 187.50 0.118247 -267.50 147.50 192.50 0.145218 -267.50 147.50 197.50 0.292757 -267.50 147.50 202.50 0.604254 -267.50 147.50 207.50 1.10692 -267.50 147.50 212.50 1.82954 -267.50 147.50 217.50 2.70449 -267.50 147.50 222.50 3.36986 -267.50 147.50 227.50 3.47034 -267.50 147.50 232.50 2.958 -267.50 147.50 237.50 2.08558 -267.50 147.50 242.50 1.21571 -267.50 147.50 247.50 0.615071 -267.50 147.50 252.50 0.293615 -267.50 147.50 257.50 0.155519 -267.50 147.50 262.50 0.116352 -267.50 147.50 267.50 0.122909 -267.50 147.50 272.50 0.129213 -267.50 147.50 277.50 0.118247 -267.50 147.50 282.50 0.145218 -267.50 147.50 287.50 0.292756 -267.50 147.50 292.50 0.604254 -267.50 147.50 297.50 1.10692 -267.50 147.50 302.50 1.82953 -267.50 147.50 307.50 2.70449 -267.50 147.50 312.50 3.36986 -267.50 147.50 317.50 3.47034 -267.50 147.50 322.50 2.95801 -267.50 147.50 327.50 2.08558 -267.50 147.50 332.50 1.21571 -267.50 147.50 337.50 0.615072 -267.50 147.50 342.50 0.293616 -267.50 147.50 347.50 0.15552 -267.50 147.50 352.50 0.116352 -267.50 147.50 357.50 0.122909 -267.50 152.50 2.50 0.199216 -267.50 152.50 7.50 0.176545 -267.50 152.50 12.50 0.210139 -267.50 152.50 17.50 0.37138 -267.50 152.50 22.50 0.763626 -267.50 152.50 27.50 1.40693 -267.50 152.50 32.50 2.31146 -267.50 152.50 37.50 3.36237 -267.50 152.50 42.50 4.20894 -267.50 152.50 47.50 4.33348 -267.50 152.50 52.50 3.69609 -267.50 152.50 57.50 2.62026 -267.50 152.50 62.50 1.55946 -267.50 152.50 67.50 0.82426 -267.50 152.50 72.50 0.442373 -267.50 152.50 77.50 0.286681 -267.50 152.50 82.50 0.236242 -267.50 152.50 87.50 0.2097 -267.50 152.50 92.50 0.199216 -267.50 152.50 97.50 0.176545 -267.50 152.50 102.50 0.210139 -267.50 152.50 107.50 0.37138 -267.50 152.50 112.50 0.763626 -267.50 152.50 117.50 1.40693 -267.50 152.50 122.50 2.31147 -267.50 152.50 127.50 3.36237 -267.50 152.50 132.50 4.20894 -267.50 152.50 137.50 4.33348 -267.50 152.50 142.50 3.69609 -267.50 152.50 147.50 2.62026 -267.50 152.50 152.50 1.55947 -267.50 152.50 157.50 0.824261 -267.50 152.50 162.50 0.442373 -267.50 152.50 167.50 0.286681 -267.50 152.50 172.50 0.236242 -267.50 152.50 177.50 0.2097 -267.50 152.50 182.50 0.199216 -267.50 152.50 187.50 0.176545 -267.50 152.50 192.50 0.210139 -267.50 152.50 197.50 0.37138 -267.50 152.50 202.50 0.763625 -267.50 152.50 207.50 1.40693 -267.50 152.50 212.50 2.31146 -267.50 152.50 217.50 3.36236 -267.50 152.50 222.50 4.20894 -267.50 152.50 227.50 4.33348 -267.50 152.50 232.50 3.69609 -267.50 152.50 237.50 2.62026 -267.50 152.50 242.50 1.55946 -267.50 152.50 247.50 0.82426 -267.50 152.50 252.50 0.442373 -267.50 152.50 257.50 0.286681 -267.50 152.50 262.50 0.236243 -267.50 152.50 267.50 0.2097 -267.50 152.50 272.50 0.199216 -267.50 152.50 277.50 0.176545 -267.50 152.50 282.50 0.210139 -267.50 152.50 287.50 0.37138 -267.50 152.50 292.50 0.763625 -267.50 152.50 297.50 1.40693 -267.50 152.50 302.50 2.31146 -267.50 152.50 307.50 3.36237 -267.50 152.50 312.50 4.20894 -267.50 152.50 317.50 4.33348 -267.50 152.50 322.50 3.6961 -267.50 152.50 327.50 2.62026 -267.50 152.50 332.50 1.55947 -267.50 152.50 337.50 0.824262 -267.50 152.50 342.50 0.442374 -267.50 152.50 347.50 0.286681 -267.50 152.50 352.50 0.236243 -267.50 152.50 357.50 0.2097 -267.50 157.50 2.50 0.315487 -267.50 157.50 7.50 0.251243 -267.50 157.50 12.50 0.256208 -267.50 157.50 17.50 0.384715 -267.50 157.50 22.50 0.716854 -267.50 157.50 27.50 1.30889 -267.50 157.50 32.50 2.08375 -267.50 157.50 37.50 2.95161 -267.50 157.50 42.50 3.63699 -267.50 157.50 47.50 3.83254 -267.50 157.50 52.50 3.27428 -267.50 157.50 57.50 2.34685 -267.50 157.50 62.50 1.43418 -267.50 157.50 67.50 0.845018 -267.50 157.50 72.50 0.532542 -267.50 157.50 77.50 0.439566 -267.50 157.50 82.50 0.414034 -267.50 157.50 87.50 0.359669 -267.50 157.50 92.50 0.315487 -267.50 157.50 97.50 0.251243 -267.50 157.50 102.50 0.256208 -267.50 157.50 107.50 0.384715 -267.50 157.50 112.50 0.716854 -267.50 157.50 117.50 1.30889 -267.50 157.50 122.50 2.08375 -267.50 157.50 127.50 2.95161 -267.50 157.50 132.50 3.63699 -267.50 157.50 137.50 3.83255 -267.50 157.50 142.50 3.27428 -267.50 157.50 147.50 2.34685 -267.50 157.50 152.50 1.43418 -267.50 157.50 157.50 0.845019 -267.50 157.50 162.50 0.532543 -267.50 157.50 167.50 0.439566 -267.50 157.50 172.50 0.414034 -267.50 157.50 177.50 0.359669 -267.50 157.50 182.50 0.315487 -267.50 157.50 187.50 0.251242 -267.50 157.50 192.50 0.256208 -267.50 157.50 197.50 0.384715 -267.50 157.50 202.50 0.716854 -267.50 157.50 207.50 1.30889 -267.50 157.50 212.50 2.08375 -267.50 157.50 217.50 2.95161 -267.50 157.50 222.50 3.63699 -267.50 157.50 227.50 3.83255 -267.50 157.50 232.50 3.27428 -267.50 157.50 237.50 2.34685 -267.50 157.50 242.50 1.43418 -267.50 157.50 247.50 0.845018 -267.50 157.50 252.50 0.532542 -267.50 157.50 257.50 0.439566 -267.50 157.50 262.50 0.414033 -267.50 157.50 267.50 0.359669 -267.50 157.50 272.50 0.315487 -267.50 157.50 277.50 0.251243 -267.50 157.50 282.50 0.256208 -267.50 157.50 287.50 0.384715 -267.50 157.50 292.50 0.716853 -267.50 157.50 297.50 1.30889 -267.50 157.50 302.50 2.08375 -267.50 157.50 307.50 2.95161 -267.50 157.50 312.50 3.63699 -267.50 157.50 317.50 3.83255 -267.50 157.50 322.50 3.27429 -267.50 157.50 327.50 2.34686 -267.50 157.50 332.50 1.43418 -267.50 157.50 337.50 0.845019 -267.50 157.50 342.50 0.532543 -267.50 157.50 347.50 0.439567 -267.50 157.50 352.50 0.414034 -267.50 157.50 357.50 0.359669 -267.50 162.50 2.50 0.48194 -267.50 162.50 7.50 0.357811 -267.50 162.50 12.50 0.288839 -267.50 162.50 17.50 0.361966 -267.50 162.50 22.50 0.56114 -267.50 162.50 27.50 0.948701 -267.50 162.50 32.50 1.47679 -267.50 162.50 37.50 1.9798 -267.50 162.50 42.50 2.38186 -267.50 162.50 47.50 2.46548 -267.50 162.50 52.50 2.13429 -267.50 162.50 57.50 1.59739 -267.50 162.50 62.50 1.07404 -267.50 162.50 67.50 0.683605 -267.50 162.50 72.50 0.527195 -267.50 162.50 77.50 0.561809 -267.50 162.50 82.50 0.594511 -267.50 162.50 87.50 0.558621 -267.50 162.50 92.50 0.48194 -267.50 162.50 97.50 0.357811 -267.50 162.50 102.50 0.288839 -267.50 162.50 107.50 0.361967 -267.50 162.50 112.50 0.56114 -267.50 162.50 117.50 0.948702 -267.50 162.50 122.50 1.47679 -267.50 162.50 127.50 1.9798 -267.50 162.50 132.50 2.38186 -267.50 162.50 137.50 2.46548 -267.50 162.50 142.50 2.13429 -267.50 162.50 147.50 1.59739 -267.50 162.50 152.50 1.07404 -267.50 162.50 157.50 0.683606 -267.50 162.50 162.50 0.527195 -267.50 162.50 167.50 0.561809 -267.50 162.50 172.50 0.594511 -267.50 162.50 177.50 0.558621 -267.50 162.50 182.50 0.481939 -267.50 162.50 187.50 0.357811 -267.50 162.50 192.50 0.288839 -267.50 162.50 197.50 0.361967 -267.50 162.50 202.50 0.561139 -267.50 162.50 207.50 0.948702 -267.50 162.50 212.50 1.47679 -267.50 162.50 217.50 1.9798 -267.50 162.50 222.50 2.38186 -267.50 162.50 227.50 2.46548 -267.50 162.50 232.50 2.13429 -267.50 162.50 237.50 1.59739 -267.50 162.50 242.50 1.07404 -267.50 162.50 247.50 0.683605 -267.50 162.50 252.50 0.527195 -267.50 162.50 257.50 0.561809 -267.50 162.50 262.50 0.594511 -267.50 162.50 267.50 0.558621 -267.50 162.50 272.50 0.48194 -267.50 162.50 277.50 0.357811 -267.50 162.50 282.50 0.288839 -267.50 162.50 287.50 0.361966 -267.50 162.50 292.50 0.561139 -267.50 162.50 297.50 0.948701 -267.50 162.50 302.50 1.47679 -267.50 162.50 307.50 1.9798 -267.50 162.50 312.50 2.38186 -267.50 162.50 317.50 2.46548 -267.50 162.50 322.50 2.13429 -267.50 162.50 327.50 1.59739 -267.50 162.50 332.50 1.07404 -267.50 162.50 337.50 0.683606 -267.50 162.50 342.50 0.527195 -267.50 162.50 347.50 0.561809 -267.50 162.50 352.50 0.594511 -267.50 162.50 357.50 0.558621 -267.50 167.50 2.50 0.621359 -267.50 167.50 7.50 0.437086 -267.50 167.50 12.50 0.281707 -267.50 167.50 17.50 0.296244 -267.50 167.50 22.50 0.432846 -267.50 167.50 27.50 0.63043 -267.50 167.50 32.50 0.843856 -267.50 167.50 37.50 1.09058 -267.50 167.50 42.50 1.24911 -267.50 167.50 47.50 1.30137 -267.50 167.50 52.50 1.18348 -267.50 167.50 57.50 0.922204 -267.50 167.50 62.50 0.615539 -267.50 167.50 67.50 0.461889 -267.50 167.50 72.50 0.453063 -267.50 167.50 77.50 0.569854 -267.50 167.50 82.50 0.680419 -267.50 167.50 87.50 0.719669 -267.50 167.50 92.50 0.621359 -267.50 167.50 97.50 0.437085 -267.50 167.50 102.50 0.281707 -267.50 167.50 107.50 0.296244 -267.50 167.50 112.50 0.432846 -267.50 167.50 117.50 0.63043 -267.50 167.50 122.50 0.843856 -267.50 167.50 127.50 1.09058 -267.50 167.50 132.50 1.24911 -267.50 167.50 137.50 1.30137 -267.50 167.50 142.50 1.18348 -267.50 167.50 147.50 0.922204 -267.50 167.50 152.50 0.61554 -267.50 167.50 157.50 0.461889 -267.50 167.50 162.50 0.453063 -267.50 167.50 167.50 0.569854 -267.50 167.50 172.50 0.680419 -267.50 167.50 177.50 0.71967 -267.50 167.50 182.50 0.621359 -267.50 167.50 187.50 0.437085 -267.50 167.50 192.50 0.281707 -267.50 167.50 197.50 0.296244 -267.50 167.50 202.50 0.432846 -267.50 167.50 207.50 0.630431 -267.50 167.50 212.50 0.843856 -267.50 167.50 217.50 1.09058 -267.50 167.50 222.50 1.24911 -267.50 167.50 227.50 1.30137 -267.50 167.50 232.50 1.18348 -267.50 167.50 237.50 0.922203 -267.50 167.50 242.50 0.615539 -267.50 167.50 247.50 0.461889 -267.50 167.50 252.50 0.453063 -267.50 167.50 257.50 0.569854 -267.50 167.50 262.50 0.68042 -267.50 167.50 267.50 0.719669 -267.50 167.50 272.50 0.62136 -267.50 167.50 277.50 0.437086 -267.50 167.50 282.50 0.281707 -267.50 167.50 287.50 0.296244 -267.50 167.50 292.50 0.432846 -267.50 167.50 297.50 0.63043 -267.50 167.50 302.50 0.843856 -267.50 167.50 307.50 1.09058 -267.50 167.50 312.50 1.24911 -267.50 167.50 317.50 1.30137 -267.50 167.50 322.50 1.18349 -267.50 167.50 327.50 0.922204 -267.50 167.50 332.50 0.61554 -267.50 167.50 337.50 0.461889 -267.50 167.50 342.50 0.453063 -267.50 167.50 347.50 0.569854 -267.50 167.50 352.50 0.680419 -267.50 167.50 357.50 0.719669 -267.50 172.50 2.50 0.67853 -267.50 172.50 7.50 0.434478 -267.50 172.50 12.50 0.242843 -267.50 172.50 17.50 0.18001 -267.50 172.50 22.50 0.248079 -267.50 172.50 27.50 0.3552 -267.50 172.50 32.50 0.449265 -267.50 172.50 37.50 0.507191 -267.50 172.50 42.50 0.538479 -267.50 172.50 47.50 0.557421 -267.50 172.50 52.50 0.525747 -267.50 172.50 57.50 0.42707 -267.50 172.50 62.50 0.31833 -267.50 172.50 67.50 0.256711 -267.50 172.50 72.50 0.300999 -267.50 172.50 77.50 0.463163 -267.50 172.50 82.50 0.697763 -267.50 172.50 87.50 0.802952 -267.50 172.50 92.50 0.67853 -267.50 172.50 97.50 0.434478 -267.50 172.50 102.50 0.242843 -267.50 172.50 107.50 0.18001 -267.50 172.50 112.50 0.248079 -267.50 172.50 117.50 0.3552 -267.50 172.50 122.50 0.449265 -267.50 172.50 127.50 0.507191 -267.50 172.50 132.50 0.538479 -267.50 172.50 137.50 0.557421 -267.50 172.50 142.50 0.525747 -267.50 172.50 147.50 0.42707 -267.50 172.50 152.50 0.31833 -267.50 172.50 157.50 0.256711 -267.50 172.50 162.50 0.301 -267.50 172.50 167.50 0.463163 -267.50 172.50 172.50 0.697764 -267.50 172.50 177.50 0.802952 -267.50 172.50 182.50 0.67853 -267.50 172.50 187.50 0.434478 -267.50 172.50 192.50 0.242843 -267.50 172.50 197.50 0.18001 -267.50 172.50 202.50 0.248079 -267.50 172.50 207.50 0.3552 -267.50 172.50 212.50 0.449265 -267.50 172.50 217.50 0.507191 -267.50 172.50 222.50 0.538479 -267.50 172.50 227.50 0.557421 -267.50 172.50 232.50 0.525747 -267.50 172.50 237.50 0.42707 -267.50 172.50 242.50 0.31833 -267.50 172.50 247.50 0.256711 -267.50 172.50 252.50 0.301 -267.50 172.50 257.50 0.463163 -267.50 172.50 262.50 0.697765 -267.50 172.50 267.50 0.802952 -267.50 172.50 272.50 0.67853 -267.50 172.50 277.50 0.434478 -267.50 172.50 282.50 0.242843 -267.50 172.50 287.50 0.18001 -267.50 172.50 292.50 0.248079 -267.50 172.50 297.50 0.3552 -267.50 172.50 302.50 0.449265 -267.50 172.50 307.50 0.507191 -267.50 172.50 312.50 0.538479 -267.50 172.50 317.50 0.557421 -267.50 172.50 322.50 0.525748 -267.50 172.50 327.50 0.42707 -267.50 172.50 332.50 0.318331 -267.50 172.50 337.50 0.256711 -267.50 172.50 342.50 0.301 -267.50 172.50 347.50 0.463162 -267.50 172.50 352.50 0.697764 -267.50 172.50 357.50 0.802952 -267.50 177.50 2.50 0.675975 -267.50 177.50 7.50 0.382539 -267.50 177.50 12.50 0.175723 -267.50 177.50 17.50 0.0992542 -267.50 177.50 22.50 0.101157 -267.50 177.50 27.50 0.130789 -267.50 177.50 32.50 0.156501 -267.50 177.50 37.50 0.173803 -267.50 177.50 42.50 0.181188 -267.50 177.50 47.50 0.185726 -267.50 177.50 52.50 0.170958 -267.50 177.50 57.50 0.134286 -267.50 177.50 62.50 0.0974297 -267.50 177.50 67.50 0.10043 -267.50 177.50 72.50 0.179981 -267.50 177.50 77.50 0.387057 -267.50 177.50 82.50 0.678877 -267.50 177.50 87.50 0.82853 -267.50 177.50 92.50 0.675975 -267.50 177.50 97.50 0.382539 -267.50 177.50 102.50 0.175723 -267.50 177.50 107.50 0.0992541 -267.50 177.50 112.50 0.101157 -267.50 177.50 117.50 0.130789 -267.50 177.50 122.50 0.156501 -267.50 177.50 127.50 0.173803 -267.50 177.50 132.50 0.181188 -267.50 177.50 137.50 0.185726 -267.50 177.50 142.50 0.170958 -267.50 177.50 147.50 0.134286 -267.50 177.50 152.50 0.0974297 -267.50 177.50 157.50 0.10043 -267.50 177.50 162.50 0.179981 -267.50 177.50 167.50 0.387057 -267.50 177.50 172.50 0.678877 -267.50 177.50 177.50 0.828531 -267.50 177.50 182.50 0.675975 -267.50 177.50 187.50 0.382539 -267.50 177.50 192.50 0.175723 -267.50 177.50 197.50 0.0992541 -267.50 177.50 202.50 0.101157 -267.50 177.50 207.50 0.130789 -267.50 177.50 212.50 0.156501 -267.50 177.50 217.50 0.173803 -267.50 177.50 222.50 0.181188 -267.50 177.50 227.50 0.185726 -267.50 177.50 232.50 0.170958 -267.50 177.50 237.50 0.134286 -267.50 177.50 242.50 0.0974296 -267.50 177.50 247.50 0.10043 -267.50 177.50 252.50 0.179981 -267.50 177.50 257.50 0.387057 -267.50 177.50 262.50 0.678878 -267.50 177.50 267.50 0.828531 -267.50 177.50 272.50 0.675975 -267.50 177.50 277.50 0.382539 -267.50 177.50 282.50 0.175723 -267.50 177.50 287.50 0.099254 -267.50 177.50 292.50 0.101157 -267.50 177.50 297.50 0.130789 -267.50 177.50 302.50 0.156501 -267.50 177.50 307.50 0.173803 -267.50 177.50 312.50 0.181188 -267.50 177.50 317.50 0.185726 -267.50 177.50 322.50 0.170958 -267.50 177.50 327.50 0.134286 -267.50 177.50 332.50 0.0974297 -267.50 177.50 337.50 0.10043 -267.50 177.50 342.50 0.179981 -267.50 177.50 347.50 0.387056 -267.50 177.50 352.50 0.678877 -267.50 177.50 357.50 0.82853 -272.50 2.50 2.50 0.980476 -272.50 2.50 7.50 0.773178 -272.50 2.50 12.50 0.393272 -272.50 2.50 17.50 0.149977 -272.50 2.50 22.50 0.0624685 -272.50 2.50 27.50 0.0485219 -272.50 2.50 32.50 0.0601603 -272.50 2.50 37.50 0.0760386 -272.50 2.50 42.50 0.083846 -272.50 2.50 47.50 0.084539 -272.50 2.50 52.50 0.083846 -272.50 2.50 57.50 0.0760385 -272.50 2.50 62.50 0.0601603 -272.50 2.50 67.50 0.0485219 -272.50 2.50 72.50 0.0624686 -272.50 2.50 77.50 0.149977 -272.50 2.50 82.50 0.393273 -272.50 2.50 87.50 0.773179 -272.50 2.50 92.50 0.980476 -272.50 2.50 97.50 0.773179 -272.50 2.50 102.50 0.393272 -272.50 2.50 107.50 0.149977 -272.50 2.50 112.50 0.0624685 -272.50 2.50 117.50 0.0485219 -272.50 2.50 122.50 0.0601603 -272.50 2.50 127.50 0.0760386 -272.50 2.50 132.50 0.083846 -272.50 2.50 137.50 0.084539 -272.50 2.50 142.50 0.083846 -272.50 2.50 147.50 0.0760385 -272.50 2.50 152.50 0.0601603 -272.50 2.50 157.50 0.0485219 -272.50 2.50 162.50 0.0624685 -272.50 2.50 167.50 0.149977 -272.50 2.50 172.50 0.393272 -272.50 2.50 177.50 0.773178 -272.50 2.50 182.50 0.980476 -272.50 2.50 187.50 0.773178 -272.50 2.50 192.50 0.393272 -272.50 2.50 197.50 0.149977 -272.50 2.50 202.50 0.0624685 -272.50 2.50 207.50 0.0485219 -272.50 2.50 212.50 0.0601603 -272.50 2.50 217.50 0.0760385 -272.50 2.50 222.50 0.083846 -272.50 2.50 227.50 0.084539 -272.50 2.50 232.50 0.083846 -272.50 2.50 237.50 0.0760385 -272.50 2.50 242.50 0.0601603 -272.50 2.50 247.50 0.0485219 -272.50 2.50 252.50 0.0624686 -272.50 2.50 257.50 0.149977 -272.50 2.50 262.50 0.393273 -272.50 2.50 267.50 0.773179 -272.50 2.50 272.50 0.980476 -272.50 2.50 277.50 0.773179 -272.50 2.50 282.50 0.393272 -272.50 2.50 287.50 0.149977 -272.50 2.50 292.50 0.0624685 -272.50 2.50 297.50 0.0485219 -272.50 2.50 302.50 0.0601603 -272.50 2.50 307.50 0.0760385 -272.50 2.50 312.50 0.083846 -272.50 2.50 317.50 0.084539 -272.50 2.50 322.50 0.083846 -272.50 2.50 327.50 0.0760385 -272.50 2.50 332.50 0.0601603 -272.50 2.50 337.50 0.048522 -272.50 2.50 342.50 0.0624685 -272.50 2.50 347.50 0.149977 -272.50 2.50 352.50 0.393272 -272.50 2.50 357.50 0.773177 -272.50 7.50 2.50 0.827942 -272.50 7.50 7.50 0.676593 -272.50 7.50 12.50 0.38396 -272.50 7.50 17.50 0.17843 -272.50 7.50 22.50 0.101775 -272.50 7.50 27.50 0.099583 -272.50 7.50 32.50 0.125298 -272.50 7.50 37.50 0.160582 -272.50 7.50 42.50 0.178769 -272.50 7.50 47.50 0.181722 -272.50 7.50 52.50 0.178769 -272.50 7.50 57.50 0.160582 -272.50 7.50 62.50 0.125298 -272.50 7.50 67.50 0.0995829 -272.50 7.50 72.50 0.101776 -272.50 7.50 77.50 0.17843 -272.50 7.50 82.50 0.38396 -272.50 7.50 87.50 0.676594 -272.50 7.50 92.50 0.827942 -272.50 7.50 97.50 0.676594 -272.50 7.50 102.50 0.38396 -272.50 7.50 107.50 0.17843 -272.50 7.50 112.50 0.101775 -272.50 7.50 117.50 0.099583 -272.50 7.50 122.50 0.125298 -272.50 7.50 127.50 0.160582 -272.50 7.50 132.50 0.178769 -272.50 7.50 137.50 0.181722 -272.50 7.50 142.50 0.178769 -272.50 7.50 147.50 0.160582 -272.50 7.50 152.50 0.125298 -272.50 7.50 157.50 0.099583 -272.50 7.50 162.50 0.101776 -272.50 7.50 167.50 0.17843 -272.50 7.50 172.50 0.38396 -272.50 7.50 177.50 0.676593 -272.50 7.50 182.50 0.827943 -272.50 7.50 187.50 0.676593 -272.50 7.50 192.50 0.38396 -272.50 7.50 197.50 0.17843 -272.50 7.50 202.50 0.101776 -272.50 7.50 207.50 0.099583 -272.50 7.50 212.50 0.125298 -272.50 7.50 217.50 0.160582 -272.50 7.50 222.50 0.178769 -272.50 7.50 227.50 0.181722 -272.50 7.50 232.50 0.178769 -272.50 7.50 237.50 0.160582 -272.50 7.50 242.50 0.125298 -272.50 7.50 247.50 0.099583 -272.50 7.50 252.50 0.101776 -272.50 7.50 257.50 0.17843 -272.50 7.50 262.50 0.383961 -272.50 7.50 267.50 0.676594 -272.50 7.50 272.50 0.827943 -272.50 7.50 277.50 0.676594 -272.50 7.50 282.50 0.38396 -272.50 7.50 287.50 0.17843 -272.50 7.50 292.50 0.101775 -272.50 7.50 297.50 0.099583 -272.50 7.50 302.50 0.125298 -272.50 7.50 307.50 0.160582 -272.50 7.50 312.50 0.178769 -272.50 7.50 317.50 0.181722 -272.50 7.50 322.50 0.178769 -272.50 7.50 327.50 0.160582 -272.50 7.50 332.50 0.125298 -272.50 7.50 337.50 0.099583 -272.50 7.50 342.50 0.101775 -272.50 7.50 347.50 0.17843 -272.50 7.50 352.50 0.38396 -272.50 7.50 357.50 0.676593 -272.50 12.50 2.50 0.79997 -272.50 12.50 7.50 0.684515 -272.50 12.50 12.50 0.443105 -272.50 12.50 17.50 0.25792 -272.50 12.50 22.50 0.223925 -272.50 12.50 27.50 0.284665 -272.50 12.50 32.50 0.384722 -272.50 12.50 37.50 0.479712 -272.50 12.50 42.50 0.532449 -272.50 12.50 47.50 0.540409 -272.50 12.50 52.50 0.53245 -272.50 12.50 57.50 0.479712 -272.50 12.50 62.50 0.384722 -272.50 12.50 67.50 0.284664 -272.50 12.50 72.50 0.223925 -272.50 12.50 77.50 0.25792 -272.50 12.50 82.50 0.443105 -272.50 12.50 87.50 0.684515 -272.50 12.50 92.50 0.79997 -272.50 12.50 97.50 0.684515 -272.50 12.50 102.50 0.443105 -272.50 12.50 107.50 0.25792 -272.50 12.50 112.50 0.223925 -272.50 12.50 117.50 0.284665 -272.50 12.50 122.50 0.384722 -272.50 12.50 127.50 0.479712 -272.50 12.50 132.50 0.53245 -272.50 12.50 137.50 0.540409 -272.50 12.50 142.50 0.53245 -272.50 12.50 147.50 0.479712 -272.50 12.50 152.50 0.384722 -272.50 12.50 157.50 0.284664 -272.50 12.50 162.50 0.223925 -272.50 12.50 167.50 0.25792 -272.50 12.50 172.50 0.443105 -272.50 12.50 177.50 0.684515 -272.50 12.50 182.50 0.79997 -272.50 12.50 187.50 0.684515 -272.50 12.50 192.50 0.443104 -272.50 12.50 197.50 0.25792 -272.50 12.50 202.50 0.223925 -272.50 12.50 207.50 0.284665 -272.50 12.50 212.50 0.384722 -272.50 12.50 217.50 0.479712 -272.50 12.50 222.50 0.53245 -272.50 12.50 227.50 0.540409 -272.50 12.50 232.50 0.53245 -272.50 12.50 237.50 0.479711 -272.50 12.50 242.50 0.384722 -272.50 12.50 247.50 0.284665 -272.50 12.50 252.50 0.223925 -272.50 12.50 257.50 0.25792 -272.50 12.50 262.50 0.443105 -272.50 12.50 267.50 0.684516 -272.50 12.50 272.50 0.799971 -272.50 12.50 277.50 0.684516 -272.50 12.50 282.50 0.443105 -272.50 12.50 287.50 0.25792 -272.50 12.50 292.50 0.223925 -272.50 12.50 297.50 0.284665 -272.50 12.50 302.50 0.384722 -272.50 12.50 307.50 0.479712 -272.50 12.50 312.50 0.53245 -272.50 12.50 317.50 0.540409 -272.50 12.50 322.50 0.53245 -272.50 12.50 327.50 0.479712 -272.50 12.50 332.50 0.384722 -272.50 12.50 337.50 0.284665 -272.50 12.50 342.50 0.223925 -272.50 12.50 347.50 0.25792 -272.50 12.50 352.50 0.443104 -272.50 12.50 357.50 0.684515 -272.50 17.50 2.50 0.711647 -272.50 17.50 7.50 0.638606 -272.50 17.50 12.50 0.46781 -272.50 17.50 17.50 0.366937 -272.50 17.50 22.50 0.385043 -272.50 17.50 27.50 0.519632 -272.50 17.50 32.50 0.725446 -272.50 17.50 37.50 1.01676 -272.50 17.50 42.50 1.20606 -272.50 17.50 47.50 1.26858 -272.50 17.50 52.50 1.20606 -272.50 17.50 57.50 1.01676 -272.50 17.50 62.50 0.725445 -272.50 17.50 67.50 0.519631 -272.50 17.50 72.50 0.385043 -272.50 17.50 77.50 0.366937 -272.50 17.50 82.50 0.46781 -272.50 17.50 87.50 0.638606 -272.50 17.50 92.50 0.711647 -272.50 17.50 97.50 0.638605 -272.50 17.50 102.50 0.46781 -272.50 17.50 107.50 0.366937 -272.50 17.50 112.50 0.385043 -272.50 17.50 117.50 0.519632 -272.50 17.50 122.50 0.725446 -272.50 17.50 127.50 1.01676 -272.50 17.50 132.50 1.20606 -272.50 17.50 137.50 1.26858 -272.50 17.50 142.50 1.20606 -272.50 17.50 147.50 1.01676 -272.50 17.50 152.50 0.725445 -272.50 17.50 157.50 0.519631 -272.50 17.50 162.50 0.385043 -272.50 17.50 167.50 0.366937 -272.50 17.50 172.50 0.46781 -272.50 17.50 177.50 0.638606 -272.50 17.50 182.50 0.711647 -272.50 17.50 187.50 0.638605 -272.50 17.50 192.50 0.467809 -272.50 17.50 197.50 0.366937 -272.50 17.50 202.50 0.385043 -272.50 17.50 207.50 0.519632 -272.50 17.50 212.50 0.725446 -272.50 17.50 217.50 1.01676 -272.50 17.50 222.50 1.20606 -272.50 17.50 227.50 1.26858 -272.50 17.50 232.50 1.20606 -272.50 17.50 237.50 1.01676 -272.50 17.50 242.50 0.725445 -272.50 17.50 247.50 0.519631 -272.50 17.50 252.50 0.385043 -272.50 17.50 257.50 0.366937 -272.50 17.50 262.50 0.46781 -272.50 17.50 267.50 0.638606 -272.50 17.50 272.50 0.711647 -272.50 17.50 277.50 0.638605 -272.50 17.50 282.50 0.467809 -272.50 17.50 287.50 0.366937 -272.50 17.50 292.50 0.385043 -272.50 17.50 297.50 0.519631 -272.50 17.50 302.50 0.725445 -272.50 17.50 307.50 1.01676 -272.50 17.50 312.50 1.20606 -272.50 17.50 317.50 1.26858 -272.50 17.50 322.50 1.20606 -272.50 17.50 327.50 1.01676 -272.50 17.50 332.50 0.725446 -272.50 17.50 337.50 0.519632 -272.50 17.50 342.50 0.385043 -272.50 17.50 347.50 0.366937 -272.50 17.50 352.50 0.467809 -272.50 17.50 357.50 0.638606 -272.50 22.50 2.50 0.546004 -272.50 22.50 7.50 0.505741 -272.50 22.50 12.50 0.43119 -272.50 22.50 17.50 0.401786 -272.50 22.50 22.50 0.491398 -272.50 22.50 27.50 0.782685 -272.50 22.50 32.50 1.26428 -272.50 22.50 37.50 1.7833 -272.50 22.50 42.50 2.22181 -272.50 22.50 47.50 2.40899 -272.50 22.50 52.50 2.22181 -272.50 22.50 57.50 1.7833 -272.50 22.50 62.50 1.26428 -272.50 22.50 67.50 0.782685 -272.50 22.50 72.50 0.491398 -272.50 22.50 77.50 0.401786 -272.50 22.50 82.50 0.43119 -272.50 22.50 87.50 0.505741 -272.50 22.50 92.50 0.546004 -272.50 22.50 97.50 0.505741 -272.50 22.50 102.50 0.43119 -272.50 22.50 107.50 0.401786 -272.50 22.50 112.50 0.491398 -272.50 22.50 117.50 0.782685 -272.50 22.50 122.50 1.26428 -272.50 22.50 127.50 1.7833 -272.50 22.50 132.50 2.22181 -272.50 22.50 137.50 2.40899 -272.50 22.50 142.50 2.22181 -272.50 22.50 147.50 1.7833 -272.50 22.50 152.50 1.26428 -272.50 22.50 157.50 0.782685 -272.50 22.50 162.50 0.491398 -272.50 22.50 167.50 0.401786 -272.50 22.50 172.50 0.43119 -272.50 22.50 177.50 0.505741 -272.50 22.50 182.50 0.546004 -272.50 22.50 187.50 0.505741 -272.50 22.50 192.50 0.43119 -272.50 22.50 197.50 0.401786 -272.50 22.50 202.50 0.491398 -272.50 22.50 207.50 0.782685 -272.50 22.50 212.50 1.26428 -272.50 22.50 217.50 1.7833 -272.50 22.50 222.50 2.22181 -272.50 22.50 227.50 2.40899 -272.50 22.50 232.50 2.22181 -272.50 22.50 237.50 1.7833 -272.50 22.50 242.50 1.26428 -272.50 22.50 247.50 0.782684 -272.50 22.50 252.50 0.491397 -272.50 22.50 257.50 0.401786 -272.50 22.50 262.50 0.43119 -272.50 22.50 267.50 0.505741 -272.50 22.50 272.50 0.546004 -272.50 22.50 277.50 0.505741 -272.50 22.50 282.50 0.43119 -272.50 22.50 287.50 0.401786 -272.50 22.50 292.50 0.491398 -272.50 22.50 297.50 0.782685 -272.50 22.50 302.50 1.26428 -272.50 22.50 307.50 1.7833 -272.50 22.50 312.50 2.22181 -272.50 22.50 317.50 2.40899 -272.50 22.50 322.50 2.22181 -272.50 22.50 327.50 1.7833 -272.50 22.50 332.50 1.26428 -272.50 22.50 337.50 0.782686 -272.50 22.50 342.50 0.491398 -272.50 22.50 347.50 0.401786 -272.50 22.50 352.50 0.43119 -272.50 22.50 357.50 0.505741 -272.50 27.50 2.50 0.349564 -272.50 27.50 7.50 0.330967 -272.50 27.50 12.50 0.322834 -272.50 27.50 17.50 0.365553 -272.50 27.50 22.50 0.579183 -272.50 27.50 27.50 1.04188 -272.50 27.50 32.50 1.74902 -272.50 27.50 37.50 2.6418 -272.50 27.50 42.50 3.39824 -272.50 27.50 47.50 3.75596 -272.50 27.50 52.50 3.39824 -272.50 27.50 57.50 2.6418 -272.50 27.50 62.50 1.74902 -272.50 27.50 67.50 1.04188 -272.50 27.50 72.50 0.579182 -272.50 27.50 77.50 0.365554 -272.50 27.50 82.50 0.322834 -272.50 27.50 87.50 0.330966 -272.50 27.50 92.50 0.349565 -272.50 27.50 97.50 0.330966 -272.50 27.50 102.50 0.322834 -272.50 27.50 107.50 0.365553 -272.50 27.50 112.50 0.579183 -272.50 27.50 117.50 1.04188 -272.50 27.50 122.50 1.74902 -272.50 27.50 127.50 2.6418 -272.50 27.50 132.50 3.39824 -272.50 27.50 137.50 3.75596 -272.50 27.50 142.50 3.39824 -272.50 27.50 147.50 2.6418 -272.50 27.50 152.50 1.74902 -272.50 27.50 157.50 1.04188 -272.50 27.50 162.50 0.579183 -272.50 27.50 167.50 0.365553 -272.50 27.50 172.50 0.322834 -272.50 27.50 177.50 0.330966 -272.50 27.50 182.50 0.349565 -272.50 27.50 187.50 0.330966 -272.50 27.50 192.50 0.322834 -272.50 27.50 197.50 0.365554 -272.50 27.50 202.50 0.579183 -272.50 27.50 207.50 1.04188 -272.50 27.50 212.50 1.74902 -272.50 27.50 217.50 2.6418 -272.50 27.50 222.50 3.39824 -272.50 27.50 227.50 3.75596 -272.50 27.50 232.50 3.39823 -272.50 27.50 237.50 2.6418 -272.50 27.50 242.50 1.74902 -272.50 27.50 247.50 1.04188 -272.50 27.50 252.50 0.579182 -272.50 27.50 257.50 0.365553 -272.50 27.50 262.50 0.322834 -272.50 27.50 267.50 0.330967 -272.50 27.50 272.50 0.349565 -272.50 27.50 277.50 0.330967 -272.50 27.50 282.50 0.322834 -272.50 27.50 287.50 0.365554 -272.50 27.50 292.50 0.579183 -272.50 27.50 297.50 1.04188 -272.50 27.50 302.50 1.74902 -272.50 27.50 307.50 2.6418 -272.50 27.50 312.50 3.39824 -272.50 27.50 317.50 3.75596 -272.50 27.50 322.50 3.39824 -272.50 27.50 327.50 2.6418 -272.50 27.50 332.50 1.74902 -272.50 27.50 337.50 1.04188 -272.50 27.50 342.50 0.579183 -272.50 27.50 347.50 0.365554 -272.50 27.50 352.50 0.322834 -272.50 27.50 357.50 0.330966 -272.50 32.50 2.50 0.209129 -272.50 32.50 7.50 0.201319 -272.50 32.50 12.50 0.212048 -272.50 32.50 17.50 0.295808 -272.50 32.50 22.50 0.563445 -272.50 32.50 27.50 1.09055 -272.50 32.50 32.50 1.93443 -272.50 32.50 37.50 2.96592 -272.50 32.50 42.50 3.89139 -272.50 32.50 47.50 4.27493 -272.50 32.50 52.50 3.89139 -272.50 32.50 57.50 2.96592 -272.50 32.50 62.50 1.93443 -272.50 32.50 67.50 1.09055 -272.50 32.50 72.50 0.563445 -272.50 32.50 77.50 0.295808 -272.50 32.50 82.50 0.212048 -272.50 32.50 87.50 0.201319 -272.50 32.50 92.50 0.209129 -272.50 32.50 97.50 0.201319 -272.50 32.50 102.50 0.212048 -272.50 32.50 107.50 0.295808 -272.50 32.50 112.50 0.563445 -272.50 32.50 117.50 1.09055 -272.50 32.50 122.50 1.93443 -272.50 32.50 127.50 2.96592 -272.50 32.50 132.50 3.89139 -272.50 32.50 137.50 4.27493 -272.50 32.50 142.50 3.89139 -272.50 32.50 147.50 2.96592 -272.50 32.50 152.50 1.93443 -272.50 32.50 157.50 1.09055 -272.50 32.50 162.50 0.563445 -272.50 32.50 167.50 0.295808 -272.50 32.50 172.50 0.212048 -272.50 32.50 177.50 0.201319 -272.50 32.50 182.50 0.209129 -272.50 32.50 187.50 0.201319 -272.50 32.50 192.50 0.212048 -272.50 32.50 197.50 0.295808 -272.50 32.50 202.50 0.563445 -272.50 32.50 207.50 1.09055 -272.50 32.50 212.50 1.93443 -272.50 32.50 217.50 2.96592 -272.50 32.50 222.50 3.89139 -272.50 32.50 227.50 4.27493 -272.50 32.50 232.50 3.89138 -272.50 32.50 237.50 2.96592 -272.50 32.50 242.50 1.93443 -272.50 32.50 247.50 1.09055 -272.50 32.50 252.50 0.563444 -272.50 32.50 257.50 0.295808 -272.50 32.50 262.50 0.212048 -272.50 32.50 267.50 0.201319 -272.50 32.50 272.50 0.209129 -272.50 32.50 277.50 0.201319 -272.50 32.50 282.50 0.212048 -272.50 32.50 287.50 0.295808 -272.50 32.50 292.50 0.563445 -272.50 32.50 297.50 1.09055 -272.50 32.50 302.50 1.93443 -272.50 32.50 307.50 2.96592 -272.50 32.50 312.50 3.89139 -272.50 32.50 317.50 4.27493 -272.50 32.50 322.50 3.89139 -272.50 32.50 327.50 2.96592 -272.50 32.50 332.50 1.93444 -272.50 32.50 337.50 1.09055 -272.50 32.50 342.50 0.563445 -272.50 32.50 347.50 0.295808 -272.50 32.50 352.50 0.212048 -272.50 32.50 357.50 0.201319 -272.50 37.50 2.50 0.132396 -272.50 37.50 7.50 0.123763 -272.50 37.50 12.50 0.121855 -272.50 37.50 17.50 0.199711 -272.50 37.50 22.50 0.422605 -272.50 37.50 27.50 0.849212 -272.50 37.50 32.50 1.51749 -272.50 37.50 37.50 2.35946 -272.50 37.50 42.50 3.09567 -272.50 37.50 47.50 3.39937 -272.50 37.50 52.50 3.09567 -272.50 37.50 57.50 2.35946 -272.50 37.50 62.50 1.51748 -272.50 37.50 67.50 0.849211 -272.50 37.50 72.50 0.422605 -272.50 37.50 77.50 0.199711 -272.50 37.50 82.50 0.121855 -272.50 37.50 87.50 0.123763 -272.50 37.50 92.50 0.132396 -272.50 37.50 97.50 0.123763 -272.50 37.50 102.50 0.121855 -272.50 37.50 107.50 0.199711 -272.50 37.50 112.50 0.422605 -272.50 37.50 117.50 0.849212 -272.50 37.50 122.50 1.51749 -272.50 37.50 127.50 2.35946 -272.50 37.50 132.50 3.09567 -272.50 37.50 137.50 3.39937 -272.50 37.50 142.50 3.09567 -272.50 37.50 147.50 2.35946 -272.50 37.50 152.50 1.51749 -272.50 37.50 157.50 0.849212 -272.50 37.50 162.50 0.422605 -272.50 37.50 167.50 0.199712 -272.50 37.50 172.50 0.121855 -272.50 37.50 177.50 0.123763 -272.50 37.50 182.50 0.132396 -272.50 37.50 187.50 0.123763 -272.50 37.50 192.50 0.121855 -272.50 37.50 197.50 0.199712 -272.50 37.50 202.50 0.422605 -272.50 37.50 207.50 0.849212 -272.50 37.50 212.50 1.51749 -272.50 37.50 217.50 2.35946 -272.50 37.50 222.50 3.09567 -272.50 37.50 227.50 3.39937 -272.50 37.50 232.50 3.09567 -272.50 37.50 237.50 2.35946 -272.50 37.50 242.50 1.51748 -272.50 37.50 247.50 0.849211 -272.50 37.50 252.50 0.422604 -272.50 37.50 257.50 0.199711 -272.50 37.50 262.50 0.121855 -272.50 37.50 267.50 0.123763 -272.50 37.50 272.50 0.132396 -272.50 37.50 277.50 0.123763 -272.50 37.50 282.50 0.121855 -272.50 37.50 287.50 0.199712 -272.50 37.50 292.50 0.422605 -272.50 37.50 297.50 0.849211 -272.50 37.50 302.50 1.51749 -272.50 37.50 307.50 2.35946 -272.50 37.50 312.50 3.09567 -272.50 37.50 317.50 3.39937 -272.50 37.50 322.50 3.09568 -272.50 37.50 327.50 2.35946 -272.50 37.50 332.50 1.51749 -272.50 37.50 337.50 0.849213 -272.50 37.50 342.50 0.422605 -272.50 37.50 347.50 0.199712 -272.50 37.50 352.50 0.121855 -272.50 37.50 357.50 0.123763 -272.50 42.50 2.50 0.0754697 -272.50 42.50 7.50 0.0655431 -272.50 42.50 12.50 0.0560289 -272.50 42.50 17.50 0.101944 -272.50 42.50 22.50 0.233216 -272.50 42.50 27.50 0.469185 -272.50 42.50 32.50 0.840153 -272.50 42.50 37.50 1.28904 -272.50 42.50 42.50 1.66633 -272.50 42.50 47.50 1.81746 -272.50 42.50 52.50 1.66633 -272.50 42.50 57.50 1.28904 -272.50 42.50 62.50 0.840151 -272.50 42.50 67.50 0.469184 -272.50 42.50 72.50 0.233216 -272.50 42.50 77.50 0.101944 -272.50 42.50 82.50 0.0560289 -272.50 42.50 87.50 0.0655431 -272.50 42.50 92.50 0.0754697 -272.50 42.50 97.50 0.0655431 -272.50 42.50 102.50 0.056029 -272.50 42.50 107.50 0.101944 -272.50 42.50 112.50 0.233216 -272.50 42.50 117.50 0.469185 -272.50 42.50 122.50 0.840152 -272.50 42.50 127.50 1.28904 -272.50 42.50 132.50 1.66633 -272.50 42.50 137.50 1.81746 -272.50 42.50 142.50 1.66632 -272.50 42.50 147.50 1.28904 -272.50 42.50 152.50 0.840151 -272.50 42.50 157.50 0.469185 -272.50 42.50 162.50 0.233216 -272.50 42.50 167.50 0.101944 -272.50 42.50 172.50 0.056029 -272.50 42.50 177.50 0.0655431 -272.50 42.50 182.50 0.0754697 -272.50 42.50 187.50 0.065543 -272.50 42.50 192.50 0.056029 -272.50 42.50 197.50 0.101944 -272.50 42.50 202.50 0.233216 -272.50 42.50 207.50 0.469184 -272.50 42.50 212.50 0.840152 -272.50 42.50 217.50 1.28904 -272.50 42.50 222.50 1.66633 -272.50 42.50 227.50 1.81746 -272.50 42.50 232.50 1.66632 -272.50 42.50 237.50 1.28904 -272.50 42.50 242.50 0.840151 -272.50 42.50 247.50 0.469184 -272.50 42.50 252.50 0.233216 -272.50 42.50 257.50 0.101944 -272.50 42.50 262.50 0.0560289 -272.50 42.50 267.50 0.0655431 -272.50 42.50 272.50 0.0754697 -272.50 42.50 277.50 0.0655431 -272.50 42.50 282.50 0.056029 -272.50 42.50 287.50 0.101944 -272.50 42.50 292.50 0.233216 -272.50 42.50 297.50 0.469184 -272.50 42.50 302.50 0.840151 -272.50 42.50 307.50 1.28904 -272.50 42.50 312.50 1.66633 -272.50 42.50 317.50 1.81746 -272.50 42.50 322.50 1.66633 -272.50 42.50 327.50 1.28904 -272.50 42.50 332.50 0.840152 -272.50 42.50 337.50 0.469185 -272.50 42.50 342.50 0.233216 -272.50 42.50 347.50 0.101945 -272.50 42.50 352.50 0.056029 -272.50 42.50 357.50 0.065543 -272.50 47.50 2.50 0.0484156 -272.50 47.50 7.50 0.0374445 -272.50 47.50 12.50 0.0243017 -272.50 47.50 17.50 0.0393994 -272.50 47.50 22.50 0.0942026 -272.50 47.50 27.50 0.183658 -272.50 47.50 32.50 0.305638 -272.50 47.50 37.50 0.492438 -272.50 47.50 42.50 0.570583 -272.50 47.50 47.50 0.66841 -272.50 47.50 52.50 0.570583 -272.50 47.50 57.50 0.492438 -272.50 47.50 62.50 0.305638 -272.50 47.50 67.50 0.183657 -272.50 47.50 72.50 0.0942025 -272.50 47.50 77.50 0.0393994 -272.50 47.50 82.50 0.0243017 -272.50 47.50 87.50 0.0374445 -272.50 47.50 92.50 0.0484156 -272.50 47.50 97.50 0.0374445 -272.50 47.50 102.50 0.0243017 -272.50 47.50 107.50 0.0393994 -272.50 47.50 112.50 0.0942025 -272.50 47.50 117.50 0.183658 -272.50 47.50 122.50 0.305638 -272.50 47.50 127.50 0.492439 -272.50 47.50 132.50 0.570583 -272.50 47.50 137.50 0.66841 -272.50 47.50 142.50 0.570583 -272.50 47.50 147.50 0.492438 -272.50 47.50 152.50 0.305638 -272.50 47.50 157.50 0.183658 -272.50 47.50 162.50 0.0942025 -272.50 47.50 167.50 0.0393994 -272.50 47.50 172.50 0.0243017 -272.50 47.50 177.50 0.0374445 -272.50 47.50 182.50 0.0484156 -272.50 47.50 187.50 0.0374445 -272.50 47.50 192.50 0.0243017 -272.50 47.50 197.50 0.0393994 -272.50 47.50 202.50 0.0942026 -272.50 47.50 207.50 0.183658 -272.50 47.50 212.50 0.305638 -272.50 47.50 217.50 0.492438 -272.50 47.50 222.50 0.570583 -272.50 47.50 227.50 0.668409 -272.50 47.50 232.50 0.570583 -272.50 47.50 237.50 0.492438 -272.50 47.50 242.50 0.305638 -272.50 47.50 247.50 0.183657 -272.50 47.50 252.50 0.0942024 -272.50 47.50 257.50 0.0393994 -272.50 47.50 262.50 0.0243017 -272.50 47.50 267.50 0.0374445 -272.50 47.50 272.50 0.0484156 -272.50 47.50 277.50 0.0374445 -272.50 47.50 282.50 0.0243017 -272.50 47.50 287.50 0.0393994 -272.50 47.50 292.50 0.0942025 -272.50 47.50 297.50 0.183658 -272.50 47.50 302.50 0.305638 -272.50 47.50 307.50 0.492438 -272.50 47.50 312.50 0.570583 -272.50 47.50 317.50 0.668409 -272.50 47.50 322.50 0.570583 -272.50 47.50 327.50 0.492439 -272.50 47.50 332.50 0.305638 -272.50 47.50 337.50 0.183658 -272.50 47.50 342.50 0.0942026 -272.50 47.50 347.50 0.0393995 -272.50 47.50 352.50 0.0243017 -272.50 47.50 357.50 0.0374444 -272.50 52.50 2.50 0.0754697 -272.50 52.50 7.50 0.0547379 -272.50 52.50 12.50 0.0266985 -272.50 52.50 17.50 0.0204215 -272.50 52.50 22.50 0.0327606 -272.50 52.50 27.50 0.0460649 -272.50 52.50 32.50 0.0775569 -272.50 52.50 37.50 0.112976 -272.50 52.50 42.50 0.122784 -272.50 52.50 47.50 0.145968 -272.50 52.50 52.50 0.122784 -272.50 52.50 57.50 0.112976 -272.50 52.50 62.50 0.0775568 -272.50 52.50 67.50 0.0460649 -272.50 52.50 72.50 0.0327606 -272.50 52.50 77.50 0.0204215 -272.50 52.50 82.50 0.0266985 -272.50 52.50 87.50 0.0547379 -272.50 52.50 92.50 0.0754697 -272.50 52.50 97.50 0.0547378 -272.50 52.50 102.50 0.0266985 -272.50 52.50 107.50 0.0204215 -272.50 52.50 112.50 0.0327606 -272.50 52.50 117.50 0.046065 -272.50 52.50 122.50 0.077557 -272.50 52.50 127.50 0.112976 -272.50 52.50 132.50 0.122784 -272.50 52.50 137.50 0.145968 -272.50 52.50 142.50 0.122784 -272.50 52.50 147.50 0.112976 -272.50 52.50 152.50 0.0775568 -272.50 52.50 157.50 0.046065 -272.50 52.50 162.50 0.0327606 -272.50 52.50 167.50 0.0204215 -272.50 52.50 172.50 0.0266985 -272.50 52.50 177.50 0.0547378 -272.50 52.50 182.50 0.0754697 -272.50 52.50 187.50 0.0547378 -272.50 52.50 192.50 0.0266985 -272.50 52.50 197.50 0.0204215 -272.50 52.50 202.50 0.0327607 -272.50 52.50 207.50 0.046065 -272.50 52.50 212.50 0.0775569 -272.50 52.50 217.50 0.112976 -272.50 52.50 222.50 0.122784 -272.50 52.50 227.50 0.145968 -272.50 52.50 232.50 0.122784 -272.50 52.50 237.50 0.112976 -272.50 52.50 242.50 0.0775568 -272.50 52.50 247.50 0.046065 -272.50 52.50 252.50 0.0327606 -272.50 52.50 257.50 0.0204215 -272.50 52.50 262.50 0.0266985 -272.50 52.50 267.50 0.0547379 -272.50 52.50 272.50 0.0754697 -272.50 52.50 277.50 0.0547379 -272.50 52.50 282.50 0.0266985 -272.50 52.50 287.50 0.0204215 -272.50 52.50 292.50 0.0327606 -272.50 52.50 297.50 0.0460649 -272.50 52.50 302.50 0.0775568 -272.50 52.50 307.50 0.112976 -272.50 52.50 312.50 0.122784 -272.50 52.50 317.50 0.145968 -272.50 52.50 322.50 0.122784 -272.50 52.50 327.50 0.112976 -272.50 52.50 332.50 0.077557 -272.50 52.50 337.50 0.046065 -272.50 52.50 342.50 0.0327607 -272.50 52.50 347.50 0.0204215 -272.50 52.50 352.50 0.0266985 -272.50 52.50 357.50 0.0547378 -272.50 57.50 2.50 0.132396 -272.50 57.50 7.50 0.105763 -272.50 57.50 12.50 0.069614 -272.50 57.50 17.50 0.053343 -272.50 57.50 22.50 0.033696 -272.50 57.50 27.50 0.015968 -272.50 57.50 32.50 0.0153846 -272.50 57.50 37.50 0.0157352 -272.50 57.50 42.50 0.0144469 -272.50 57.50 47.50 0.0195356 -272.50 57.50 52.50 0.0144469 -272.50 57.50 57.50 0.0157351 -272.50 57.50 62.50 0.0153846 -272.50 57.50 67.50 0.015968 -272.50 57.50 72.50 0.033696 -272.50 57.50 77.50 0.0533429 -272.50 57.50 82.50 0.069614 -272.50 57.50 87.50 0.105763 -272.50 57.50 92.50 0.132396 -272.50 57.50 97.50 0.105763 -272.50 57.50 102.50 0.069614 -272.50 57.50 107.50 0.0533429 -272.50 57.50 112.50 0.033696 -272.50 57.50 117.50 0.015968 -272.50 57.50 122.50 0.0153846 -272.50 57.50 127.50 0.0157352 -272.50 57.50 132.50 0.0144469 -272.50 57.50 137.50 0.0195356 -272.50 57.50 142.50 0.0144469 -272.50 57.50 147.50 0.0157352 -272.50 57.50 152.50 0.0153846 -272.50 57.50 157.50 0.015968 -272.50 57.50 162.50 0.033696 -272.50 57.50 167.50 0.0533429 -272.50 57.50 172.50 0.069614 -272.50 57.50 177.50 0.105763 -272.50 57.50 182.50 0.132396 -272.50 57.50 187.50 0.105763 -272.50 57.50 192.50 0.0696139 -272.50 57.50 197.50 0.0533429 -272.50 57.50 202.50 0.033696 -272.50 57.50 207.50 0.015968 -272.50 57.50 212.50 0.0153846 -272.50 57.50 217.50 0.0157352 -272.50 57.50 222.50 0.0144469 -272.50 57.50 227.50 0.0195356 -272.50 57.50 232.50 0.0144469 -272.50 57.50 237.50 0.0157352 -272.50 57.50 242.50 0.0153846 -272.50 57.50 247.50 0.015968 -272.50 57.50 252.50 0.033696 -272.50 57.50 257.50 0.053343 -272.50 57.50 262.50 0.069614 -272.50 57.50 267.50 0.105763 -272.50 57.50 272.50 0.132396 -272.50 57.50 277.50 0.105763 -272.50 57.50 282.50 0.069614 -272.50 57.50 287.50 0.0533429 -272.50 57.50 292.50 0.033696 -272.50 57.50 297.50 0.015968 -272.50 57.50 302.50 0.0153846 -272.50 57.50 307.50 0.0157352 -272.50 57.50 312.50 0.0144469 -272.50 57.50 317.50 0.0195356 -272.50 57.50 322.50 0.0144469 -272.50 57.50 327.50 0.0157352 -272.50 57.50 332.50 0.0153846 -272.50 57.50 337.50 0.015968 -272.50 57.50 342.50 0.0336959 -272.50 57.50 347.50 0.0533429 -272.50 57.50 352.50 0.069614 -272.50 57.50 357.50 0.105763 -272.50 62.50 2.50 0.209129 -272.50 62.50 7.50 0.209878 -272.50 62.50 12.50 0.190514 -272.50 62.50 17.50 0.171506 -272.50 62.50 22.50 0.0991574 -272.50 62.50 27.50 0.0508348 -272.50 62.50 32.50 0.0210875 -272.50 62.50 37.50 0.0107072 -272.50 62.50 42.50 0.00737379 -272.50 62.50 47.50 0.00644391 -272.50 62.50 52.50 0.00737379 -272.50 62.50 57.50 0.0107072 -272.50 62.50 62.50 0.0210875 -272.50 62.50 67.50 0.0508349 -272.50 62.50 72.50 0.0991575 -272.50 62.50 77.50 0.171506 -272.50 62.50 82.50 0.190514 -272.50 62.50 87.50 0.209877 -272.50 62.50 92.50 0.209129 -272.50 62.50 97.50 0.209877 -272.50 62.50 102.50 0.190514 -272.50 62.50 107.50 0.171506 -272.50 62.50 112.50 0.0991574 -272.50 62.50 117.50 0.0508348 -272.50 62.50 122.50 0.0210874 -272.50 62.50 127.50 0.0107072 -272.50 62.50 132.50 0.00737378 -272.50 62.50 137.50 0.0064439 -272.50 62.50 142.50 0.00737378 -272.50 62.50 147.50 0.0107072 -272.50 62.50 152.50 0.0210874 -272.50 62.50 157.50 0.0508348 -272.50 62.50 162.50 0.0991574 -272.50 62.50 167.50 0.171506 -272.50 62.50 172.50 0.190514 -272.50 62.50 177.50 0.209877 -272.50 62.50 182.50 0.209129 -272.50 62.50 187.50 0.209877 -272.50 62.50 192.50 0.190514 -272.50 62.50 197.50 0.171506 -272.50 62.50 202.50 0.0991574 -272.50 62.50 207.50 0.0508348 -272.50 62.50 212.50 0.0210874 -272.50 62.50 217.50 0.0107072 -272.50 62.50 222.50 0.00737379 -272.50 62.50 227.50 0.0064439 -272.50 62.50 232.50 0.00737378 -272.50 62.50 237.50 0.0107072 -272.50 62.50 242.50 0.0210875 -272.50 62.50 247.50 0.0508349 -272.50 62.50 252.50 0.0991575 -272.50 62.50 257.50 0.171506 -272.50 62.50 262.50 0.190514 -272.50 62.50 267.50 0.209877 -272.50 62.50 272.50 0.209129 -272.50 62.50 277.50 0.209877 -272.50 62.50 282.50 0.190514 -272.50 62.50 287.50 0.171506 -272.50 62.50 292.50 0.0991574 -272.50 62.50 297.50 0.0508349 -272.50 62.50 302.50 0.0210875 -272.50 62.50 307.50 0.0107072 -272.50 62.50 312.50 0.00737379 -272.50 62.50 317.50 0.00644391 -272.50 62.50 322.50 0.00737379 -272.50 62.50 327.50 0.0107072 -272.50 62.50 332.50 0.0210874 -272.50 62.50 337.50 0.0508348 -272.50 62.50 342.50 0.0991573 -272.50 62.50 347.50 0.171506 -272.50 62.50 352.50 0.190514 -272.50 62.50 357.50 0.209877 -272.50 67.50 2.50 0.349564 -272.50 67.50 7.50 0.412846 -272.50 67.50 12.50 0.46064 -272.50 67.50 17.50 0.392485 -272.50 67.50 22.50 0.280663 -272.50 67.50 27.50 0.151742 -272.50 67.50 32.50 0.0774871 -272.50 67.50 37.50 0.056985 -272.50 67.50 42.50 0.0485156 -272.50 67.50 47.50 0.044398 -272.50 67.50 52.50 0.0485156 -272.50 67.50 57.50 0.056985 -272.50 67.50 62.50 0.0774872 -272.50 67.50 67.50 0.151742 -272.50 67.50 72.50 0.280664 -272.50 67.50 77.50 0.392484 -272.50 67.50 82.50 0.46064 -272.50 67.50 87.50 0.412845 -272.50 67.50 92.50 0.349564 -272.50 67.50 97.50 0.412846 -272.50 67.50 102.50 0.460639 -272.50 67.50 107.50 0.392484 -272.50 67.50 112.50 0.280663 -272.50 67.50 117.50 0.151741 -272.50 67.50 122.50 0.0774869 -272.50 67.50 127.50 0.0569849 -272.50 67.50 132.50 0.0485155 -272.50 67.50 137.50 0.0443979 -272.50 67.50 142.50 0.0485155 -272.50 67.50 147.50 0.0569849 -272.50 67.50 152.50 0.0774869 -272.50 67.50 157.50 0.151742 -272.50 67.50 162.50 0.280663 -272.50 67.50 167.50 0.392484 -272.50 67.50 172.50 0.460639 -272.50 67.50 177.50 0.412846 -272.50 67.50 182.50 0.349564 -272.50 67.50 187.50 0.412846 -272.50 67.50 192.50 0.46064 -272.50 67.50 197.50 0.392484 -272.50 67.50 202.50 0.280663 -272.50 67.50 207.50 0.151742 -272.50 67.50 212.50 0.077487 -272.50 67.50 217.50 0.056985 -272.50 67.50 222.50 0.0485156 -272.50 67.50 227.50 0.0443979 -272.50 67.50 232.50 0.0485155 -272.50 67.50 237.50 0.056985 -272.50 67.50 242.50 0.077487 -272.50 67.50 247.50 0.151742 -272.50 67.50 252.50 0.280664 -272.50 67.50 257.50 0.392484 -272.50 67.50 262.50 0.460639 -272.50 67.50 267.50 0.412845 -272.50 67.50 272.50 0.349564 -272.50 67.50 277.50 0.412846 -272.50 67.50 282.50 0.46064 -272.50 67.50 287.50 0.392485 -272.50 67.50 292.50 0.280664 -272.50 67.50 297.50 0.151742 -272.50 67.50 302.50 0.0774871 -272.50 67.50 307.50 0.056985 -272.50 67.50 312.50 0.0485156 -272.50 67.50 317.50 0.044398 -272.50 67.50 322.50 0.0485156 -272.50 67.50 327.50 0.056985 -272.50 67.50 332.50 0.077487 -272.50 67.50 337.50 0.151742 -272.50 67.50 342.50 0.280663 -272.50 67.50 347.50 0.392484 -272.50 67.50 352.50 0.46064 -272.50 67.50 357.50 0.412846 -272.50 72.50 2.50 0.546005 -272.50 72.50 7.50 0.671003 -272.50 72.50 12.50 0.835489 -272.50 72.50 17.50 0.727916 -272.50 72.50 22.50 0.543532 -272.50 72.50 27.50 0.39085 -272.50 72.50 32.50 0.30417 -272.50 72.50 37.50 0.247948 -272.50 72.50 42.50 0.223687 -272.50 72.50 47.50 0.201992 -272.50 72.50 52.50 0.223687 -272.50 72.50 57.50 0.247948 -272.50 72.50 62.50 0.30417 -272.50 72.50 67.50 0.39085 -272.50 72.50 72.50 0.543533 -272.50 72.50 77.50 0.727916 -272.50 72.50 82.50 0.835489 -272.50 72.50 87.50 0.671003 -272.50 72.50 92.50 0.546004 -272.50 72.50 97.50 0.671003 -272.50 72.50 102.50 0.835488 -272.50 72.50 107.50 0.727915 -272.50 72.50 112.50 0.543532 -272.50 72.50 117.50 0.39085 -272.50 72.50 122.50 0.30417 -272.50 72.50 127.50 0.247948 -272.50 72.50 132.50 0.223686 -272.50 72.50 137.50 0.201992 -272.50 72.50 142.50 0.223687 -272.50 72.50 147.50 0.247948 -272.50 72.50 152.50 0.30417 -272.50 72.50 157.50 0.39085 -272.50 72.50 162.50 0.543532 -272.50 72.50 167.50 0.727916 -272.50 72.50 172.50 0.835488 -272.50 72.50 177.50 0.671003 -272.50 72.50 182.50 0.546005 -272.50 72.50 187.50 0.671003 -272.50 72.50 192.50 0.835488 -272.50 72.50 197.50 0.727915 -272.50 72.50 202.50 0.543532 -272.50 72.50 207.50 0.39085 -272.50 72.50 212.50 0.30417 -272.50 72.50 217.50 0.247948 -272.50 72.50 222.50 0.223686 -272.50 72.50 227.50 0.201992 -272.50 72.50 232.50 0.223687 -272.50 72.50 237.50 0.247948 -272.50 72.50 242.50 0.30417 -272.50 72.50 247.50 0.39085 -272.50 72.50 252.50 0.543533 -272.50 72.50 257.50 0.727916 -272.50 72.50 262.50 0.835488 -272.50 72.50 267.50 0.671003 -272.50 72.50 272.50 0.546004 -272.50 72.50 277.50 0.671003 -272.50 72.50 282.50 0.835488 -272.50 72.50 287.50 0.727915 -272.50 72.50 292.50 0.543532 -272.50 72.50 297.50 0.39085 -272.50 72.50 302.50 0.30417 -272.50 72.50 307.50 0.247948 -272.50 72.50 312.50 0.223687 -272.50 72.50 317.50 0.201992 -272.50 72.50 322.50 0.223687 -272.50 72.50 327.50 0.247948 -272.50 72.50 332.50 0.30417 -272.50 72.50 337.50 0.39085 -272.50 72.50 342.50 0.543532 -272.50 72.50 347.50 0.727915 -272.50 72.50 352.50 0.835489 -272.50 72.50 357.50 0.671003 -272.50 77.50 2.50 0.711647 -272.50 77.50 7.50 0.902919 -272.50 77.50 12.50 1.10649 -272.50 77.50 17.50 1.02412 -272.50 77.50 22.50 0.937426 -272.50 77.50 27.50 0.852499 -272.50 77.50 32.50 0.771726 -272.50 77.50 37.50 0.739506 -272.50 77.50 42.50 0.688168 -272.50 77.50 47.50 0.677394 -272.50 77.50 52.50 0.688168 -272.50 77.50 57.50 0.739506 -272.50 77.50 62.50 0.771726 -272.50 77.50 67.50 0.852499 -272.50 77.50 72.50 0.937426 -272.50 77.50 77.50 1.02412 -272.50 77.50 82.50 1.10649 -272.50 77.50 87.50 0.902918 -272.50 77.50 92.50 0.711647 -272.50 77.50 97.50 0.902918 -272.50 77.50 102.50 1.10649 -272.50 77.50 107.50 1.02412 -272.50 77.50 112.50 0.937426 -272.50 77.50 117.50 0.852498 -272.50 77.50 122.50 0.771725 -272.50 77.50 127.50 0.739505 -272.50 77.50 132.50 0.688167 -272.50 77.50 137.50 0.677394 -272.50 77.50 142.50 0.688167 -272.50 77.50 147.50 0.739506 -272.50 77.50 152.50 0.771725 -272.50 77.50 157.50 0.852499 -272.50 77.50 162.50 0.937427 -272.50 77.50 167.50 1.02412 -272.50 77.50 172.50 1.10649 -272.50 77.50 177.50 0.902919 -272.50 77.50 182.50 0.711647 -272.50 77.50 187.50 0.902918 -272.50 77.50 192.50 1.10649 -272.50 77.50 197.50 1.02412 -272.50 77.50 202.50 0.937425 -272.50 77.50 207.50 0.852499 -272.50 77.50 212.50 0.771725 -272.50 77.50 217.50 0.739505 -272.50 77.50 222.50 0.688167 -272.50 77.50 227.50 0.677394 -272.50 77.50 232.50 0.688168 -272.50 77.50 237.50 0.739506 -272.50 77.50 242.50 0.771726 -272.50 77.50 247.50 0.852499 -272.50 77.50 252.50 0.937426 -272.50 77.50 257.50 1.02412 -272.50 77.50 262.50 1.10649 -272.50 77.50 267.50 0.902918 -272.50 77.50 272.50 0.711647 -272.50 77.50 277.50 0.902918 -272.50 77.50 282.50 1.10649 -272.50 77.50 287.50 1.02412 -272.50 77.50 292.50 0.937426 -272.50 77.50 297.50 0.852499 -272.50 77.50 302.50 0.771725 -272.50 77.50 307.50 0.739506 -272.50 77.50 312.50 0.688168 -272.50 77.50 317.50 0.677394 -272.50 77.50 322.50 0.688167 -272.50 77.50 327.50 0.739505 -272.50 77.50 332.50 0.771726 -272.50 77.50 337.50 0.852499 -272.50 77.50 342.50 0.937426 -272.50 77.50 347.50 1.02412 -272.50 77.50 352.50 1.10649 -272.50 77.50 357.50 0.902919 -272.50 82.50 2.50 0.79997 -272.50 82.50 7.50 1.06546 -272.50 82.50 12.50 1.23423 -272.50 82.50 17.50 1.35639 -272.50 82.50 22.50 1.3976 -272.50 82.50 27.50 1.39819 -272.50 82.50 32.50 1.43077 -272.50 82.50 37.50 1.47134 -272.50 82.50 42.50 1.48591 -272.50 82.50 47.50 1.48598 -272.50 82.50 52.50 1.48591 -272.50 82.50 57.50 1.47134 -272.50 82.50 62.50 1.43077 -272.50 82.50 67.50 1.39819 -272.50 82.50 72.50 1.3976 -272.50 82.50 77.50 1.35639 -272.50 82.50 82.50 1.23423 -272.50 82.50 87.50 1.06546 -272.50 82.50 92.50 0.79997 -272.50 82.50 97.50 1.06546 -272.50 82.50 102.50 1.23423 -272.50 82.50 107.50 1.35639 -272.50 82.50 112.50 1.3976 -272.50 82.50 117.50 1.39819 -272.50 82.50 122.50 1.43077 -272.50 82.50 127.50 1.47134 -272.50 82.50 132.50 1.48591 -272.50 82.50 137.50 1.48598 -272.50 82.50 142.50 1.48591 -272.50 82.50 147.50 1.47134 -272.50 82.50 152.50 1.43077 -272.50 82.50 157.50 1.39819 -272.50 82.50 162.50 1.3976 -272.50 82.50 167.50 1.35639 -272.50 82.50 172.50 1.23423 -272.50 82.50 177.50 1.06546 -272.50 82.50 182.50 0.79997 -272.50 82.50 187.50 1.06546 -272.50 82.50 192.50 1.23423 -272.50 82.50 197.50 1.35639 -272.50 82.50 202.50 1.3976 -272.50 82.50 207.50 1.39819 -272.50 82.50 212.50 1.43077 -272.50 82.50 217.50 1.47134 -272.50 82.50 222.50 1.48591 -272.50 82.50 227.50 1.48598 -272.50 82.50 232.50 1.48591 -272.50 82.50 237.50 1.47134 -272.50 82.50 242.50 1.43077 -272.50 82.50 247.50 1.39819 -272.50 82.50 252.50 1.3976 -272.50 82.50 257.50 1.35639 -272.50 82.50 262.50 1.23423 -272.50 82.50 267.50 1.06546 -272.50 82.50 272.50 0.79997 -272.50 82.50 277.50 1.06546 -272.50 82.50 282.50 1.23423 -272.50 82.50 287.50 1.35639 -272.50 82.50 292.50 1.3976 -272.50 82.50 297.50 1.39819 -272.50 82.50 302.50 1.43077 -272.50 82.50 307.50 1.47134 -272.50 82.50 312.50 1.48591 -272.50 82.50 317.50 1.48598 -272.50 82.50 322.50 1.48591 -272.50 82.50 327.50 1.47134 -272.50 82.50 332.50 1.43077 -272.50 82.50 337.50 1.39819 -272.50 82.50 342.50 1.3976 -272.50 82.50 347.50 1.35639 -272.50 82.50 352.50 1.23423 -272.50 82.50 357.50 1.06546 -272.50 87.50 2.50 0.827942 -272.50 87.50 7.50 1.05522 -272.50 87.50 12.50 1.41243 -272.50 87.50 17.50 1.53747 -272.50 87.50 22.50 1.68053 -272.50 87.50 27.50 1.82435 -272.50 87.50 32.50 1.90862 -272.50 87.50 37.50 2.00343 -272.50 87.50 42.50 2.05922 -272.50 87.50 47.50 2.05739 -272.50 87.50 52.50 2.05922 -272.50 87.50 57.50 2.00343 -272.50 87.50 62.50 1.90862 -272.50 87.50 67.50 1.82435 -272.50 87.50 72.50 1.68053 -272.50 87.50 77.50 1.53747 -272.50 87.50 82.50 1.41243 -272.50 87.50 87.50 1.05522 -272.50 87.50 92.50 0.827943 -272.50 87.50 97.50 1.05522 -272.50 87.50 102.50 1.41243 -272.50 87.50 107.50 1.53747 -272.50 87.50 112.50 1.68053 -272.50 87.50 117.50 1.82435 -272.50 87.50 122.50 1.90862 -272.50 87.50 127.50 2.00343 -272.50 87.50 132.50 2.05922 -272.50 87.50 137.50 2.05739 -272.50 87.50 142.50 2.05922 -272.50 87.50 147.50 2.00343 -272.50 87.50 152.50 1.90862 -272.50 87.50 157.50 1.82435 -272.50 87.50 162.50 1.68053 -272.50 87.50 167.50 1.53747 -272.50 87.50 172.50 1.41243 -272.50 87.50 177.50 1.05522 -272.50 87.50 182.50 0.827942 -272.50 87.50 187.50 1.05522 -272.50 87.50 192.50 1.41243 -272.50 87.50 197.50 1.53747 -272.50 87.50 202.50 1.68053 -272.50 87.50 207.50 1.82435 -272.50 87.50 212.50 1.90862 -272.50 87.50 217.50 2.00343 -272.50 87.50 222.50 2.05922 -272.50 87.50 227.50 2.05739 -272.50 87.50 232.50 2.05922 -272.50 87.50 237.50 2.00343 -272.50 87.50 242.50 1.90862 -272.50 87.50 247.50 1.82435 -272.50 87.50 252.50 1.68053 -272.50 87.50 257.50 1.53747 -272.50 87.50 262.50 1.41243 -272.50 87.50 267.50 1.05522 -272.50 87.50 272.50 0.827943 -272.50 87.50 277.50 1.05522 -272.50 87.50 282.50 1.41243 -272.50 87.50 287.50 1.53747 -272.50 87.50 292.50 1.68053 -272.50 87.50 297.50 1.82435 -272.50 87.50 302.50 1.90862 -272.50 87.50 307.50 2.00343 -272.50 87.50 312.50 2.05922 -272.50 87.50 317.50 2.05739 -272.50 87.50 322.50 2.05922 -272.50 87.50 327.50 2.00343 -272.50 87.50 332.50 1.90862 -272.50 87.50 337.50 1.82435 -272.50 87.50 342.50 1.68053 -272.50 87.50 347.50 1.53747 -272.50 87.50 352.50 1.41243 -272.50 87.50 357.50 1.05522 -272.50 92.50 2.50 0.980476 -272.50 92.50 7.50 1.24804 -272.50 92.50 12.50 1.59627 -272.50 92.50 17.50 1.78132 -272.50 92.50 22.50 1.90406 -272.50 92.50 27.50 2.01833 -272.50 92.50 32.50 2.09376 -272.50 92.50 37.50 2.16641 -272.50 92.50 42.50 2.19339 -272.50 92.50 47.50 2.17973 -272.50 92.50 52.50 2.19339 -272.50 92.50 57.50 2.16641 -272.50 92.50 62.50 2.09376 -272.50 92.50 67.50 2.01833 -272.50 92.50 72.50 1.90406 -272.50 92.50 77.50 1.78132 -272.50 92.50 82.50 1.59627 -272.50 92.50 87.50 1.24804 -272.50 92.50 92.50 0.980476 -272.50 92.50 97.50 1.24804 -272.50 92.50 102.50 1.59627 -272.50 92.50 107.50 1.78132 -272.50 92.50 112.50 1.90406 -272.50 92.50 117.50 2.01833 -272.50 92.50 122.50 2.09376 -272.50 92.50 127.50 2.16641 -272.50 92.50 132.50 2.19339 -272.50 92.50 137.50 2.17973 -272.50 92.50 142.50 2.19339 -272.50 92.50 147.50 2.16641 -272.50 92.50 152.50 2.09376 -272.50 92.50 157.50 2.01833 -272.50 92.50 162.50 1.90406 -272.50 92.50 167.50 1.78132 -272.50 92.50 172.50 1.59627 -272.50 92.50 177.50 1.24805 -272.50 92.50 182.50 0.980476 -272.50 92.50 187.50 1.24804 -272.50 92.50 192.50 1.59627 -272.50 92.50 197.50 1.78132 -272.50 92.50 202.50 1.90406 -272.50 92.50 207.50 2.01833 -272.50 92.50 212.50 2.09376 -272.50 92.50 217.50 2.16641 -272.50 92.50 222.50 2.19339 -272.50 92.50 227.50 2.17973 -272.50 92.50 232.50 2.19339 -272.50 92.50 237.50 2.16641 -272.50 92.50 242.50 2.09376 -272.50 92.50 247.50 2.01833 -272.50 92.50 252.50 1.90406 -272.50 92.50 257.50 1.78132 -272.50 92.50 262.50 1.59627 -272.50 92.50 267.50 1.24804 -272.50 92.50 272.50 0.980476 -272.50 92.50 277.50 1.24804 -272.50 92.50 282.50 1.59627 -272.50 92.50 287.50 1.78132 -272.50 92.50 292.50 1.90406 -272.50 92.50 297.50 2.01833 -272.50 92.50 302.50 2.09376 -272.50 92.50 307.50 2.16641 -272.50 92.50 312.50 2.19339 -272.50 92.50 317.50 2.17973 -272.50 92.50 322.50 2.19339 -272.50 92.50 327.50 2.16641 -272.50 92.50 332.50 2.09376 -272.50 92.50 337.50 2.01833 -272.50 92.50 342.50 1.90406 -272.50 92.50 347.50 1.78132 -272.50 92.50 352.50 1.59627 -272.50 92.50 357.50 1.24805 -272.50 97.50 2.50 0.827942 -272.50 97.50 7.50 1.05522 -272.50 97.50 12.50 1.41243 -272.50 97.50 17.50 1.53747 -272.50 97.50 22.50 1.68053 -272.50 97.50 27.50 1.82435 -272.50 97.50 32.50 1.90862 -272.50 97.50 37.50 2.00343 -272.50 97.50 42.50 2.05922 -272.50 97.50 47.50 2.05739 -272.50 97.50 52.50 2.05922 -272.50 97.50 57.50 2.00343 -272.50 97.50 62.50 1.90862 -272.50 97.50 67.50 1.82435 -272.50 97.50 72.50 1.68053 -272.50 97.50 77.50 1.53747 -272.50 97.50 82.50 1.41243 -272.50 97.50 87.50 1.05522 -272.50 97.50 92.50 0.827943 -272.50 97.50 97.50 1.05522 -272.50 97.50 102.50 1.41243 -272.50 97.50 107.50 1.53747 -272.50 97.50 112.50 1.68053 -272.50 97.50 117.50 1.82435 -272.50 97.50 122.50 1.90862 -272.50 97.50 127.50 2.00343 -272.50 97.50 132.50 2.05922 -272.50 97.50 137.50 2.05739 -272.50 97.50 142.50 2.05922 -272.50 97.50 147.50 2.00343 -272.50 97.50 152.50 1.90862 -272.50 97.50 157.50 1.82435 -272.50 97.50 162.50 1.68053 -272.50 97.50 167.50 1.53747 -272.50 97.50 172.50 1.41243 -272.50 97.50 177.50 1.05522 -272.50 97.50 182.50 0.827942 -272.50 97.50 187.50 1.05522 -272.50 97.50 192.50 1.41243 -272.50 97.50 197.50 1.53747 -272.50 97.50 202.50 1.68053 -272.50 97.50 207.50 1.82435 -272.50 97.50 212.50 1.90862 -272.50 97.50 217.50 2.00343 -272.50 97.50 222.50 2.05922 -272.50 97.50 227.50 2.05739 -272.50 97.50 232.50 2.05922 -272.50 97.50 237.50 2.00343 -272.50 97.50 242.50 1.90862 -272.50 97.50 247.50 1.82435 -272.50 97.50 252.50 1.68053 -272.50 97.50 257.50 1.53747 -272.50 97.50 262.50 1.41243 -272.50 97.50 267.50 1.05522 -272.50 97.50 272.50 0.827943 -272.50 97.50 277.50 1.05522 -272.50 97.50 282.50 1.41243 -272.50 97.50 287.50 1.53747 -272.50 97.50 292.50 1.68053 -272.50 97.50 297.50 1.82435 -272.50 97.50 302.50 1.90862 -272.50 97.50 307.50 2.00343 -272.50 97.50 312.50 2.05922 -272.50 97.50 317.50 2.05739 -272.50 97.50 322.50 2.05922 -272.50 97.50 327.50 2.00343 -272.50 97.50 332.50 1.90862 -272.50 97.50 337.50 1.82435 -272.50 97.50 342.50 1.68053 -272.50 97.50 347.50 1.53747 -272.50 97.50 352.50 1.41243 -272.50 97.50 357.50 1.05522 -272.50 102.50 2.50 0.79997 -272.50 102.50 7.50 1.06546 -272.50 102.50 12.50 1.23423 -272.50 102.50 17.50 1.35639 -272.50 102.50 22.50 1.3976 -272.50 102.50 27.50 1.39819 -272.50 102.50 32.50 1.43077 -272.50 102.50 37.50 1.47134 -272.50 102.50 42.50 1.48591 -272.50 102.50 47.50 1.48598 -272.50 102.50 52.50 1.48591 -272.50 102.50 57.50 1.47134 -272.50 102.50 62.50 1.43077 -272.50 102.50 67.50 1.39819 -272.50 102.50 72.50 1.3976 -272.50 102.50 77.50 1.35639 -272.50 102.50 82.50 1.23423 -272.50 102.50 87.50 1.06546 -272.50 102.50 92.50 0.79997 -272.50 102.50 97.50 1.06546 -272.50 102.50 102.50 1.23423 -272.50 102.50 107.50 1.35639 -272.50 102.50 112.50 1.3976 -272.50 102.50 117.50 1.39819 -272.50 102.50 122.50 1.43077 -272.50 102.50 127.50 1.47134 -272.50 102.50 132.50 1.48591 -272.50 102.50 137.50 1.48598 -272.50 102.50 142.50 1.48591 -272.50 102.50 147.50 1.47134 -272.50 102.50 152.50 1.43077 -272.50 102.50 157.50 1.39819 -272.50 102.50 162.50 1.3976 -272.50 102.50 167.50 1.35639 -272.50 102.50 172.50 1.23423 -272.50 102.50 177.50 1.06546 -272.50 102.50 182.50 0.79997 -272.50 102.50 187.50 1.06546 -272.50 102.50 192.50 1.23423 -272.50 102.50 197.50 1.35639 -272.50 102.50 202.50 1.3976 -272.50 102.50 207.50 1.39819 -272.50 102.50 212.50 1.43077 -272.50 102.50 217.50 1.47134 -272.50 102.50 222.50 1.48591 -272.50 102.50 227.50 1.48598 -272.50 102.50 232.50 1.48591 -272.50 102.50 237.50 1.47134 -272.50 102.50 242.50 1.43077 -272.50 102.50 247.50 1.39819 -272.50 102.50 252.50 1.3976 -272.50 102.50 257.50 1.35639 -272.50 102.50 262.50 1.23423 -272.50 102.50 267.50 1.06546 -272.50 102.50 272.50 0.79997 -272.50 102.50 277.50 1.06546 -272.50 102.50 282.50 1.23423 -272.50 102.50 287.50 1.35639 -272.50 102.50 292.50 1.3976 -272.50 102.50 297.50 1.39819 -272.50 102.50 302.50 1.43077 -272.50 102.50 307.50 1.47134 -272.50 102.50 312.50 1.48591 -272.50 102.50 317.50 1.48598 -272.50 102.50 322.50 1.48591 -272.50 102.50 327.50 1.47134 -272.50 102.50 332.50 1.43077 -272.50 102.50 337.50 1.39819 -272.50 102.50 342.50 1.3976 -272.50 102.50 347.50 1.35639 -272.50 102.50 352.50 1.23423 -272.50 102.50 357.50 1.06546 -272.50 107.50 2.50 0.711647 -272.50 107.50 7.50 0.902918 -272.50 107.50 12.50 1.10649 -272.50 107.50 17.50 1.02412 -272.50 107.50 22.50 0.937426 -272.50 107.50 27.50 0.852499 -272.50 107.50 32.50 0.771726 -272.50 107.50 37.50 0.739506 -272.50 107.50 42.50 0.688167 -272.50 107.50 47.50 0.677394 -272.50 107.50 52.50 0.688168 -272.50 107.50 57.50 0.739506 -272.50 107.50 62.50 0.771726 -272.50 107.50 67.50 0.8525 -272.50 107.50 72.50 0.937426 -272.50 107.50 77.50 1.02412 -272.50 107.50 82.50 1.10649 -272.50 107.50 87.50 0.902918 -272.50 107.50 92.50 0.711647 -272.50 107.50 97.50 0.902918 -272.50 107.50 102.50 1.10649 -272.50 107.50 107.50 1.02412 -272.50 107.50 112.50 0.937426 -272.50 107.50 117.50 0.852499 -272.50 107.50 122.50 0.771726 -272.50 107.50 127.50 0.739506 -272.50 107.50 132.50 0.688168 -272.50 107.50 137.50 0.677395 -272.50 107.50 142.50 0.688168 -272.50 107.50 147.50 0.739506 -272.50 107.50 152.50 0.771726 -272.50 107.50 157.50 0.852499 -272.50 107.50 162.50 0.937426 -272.50 107.50 167.50 1.02412 -272.50 107.50 172.50 1.10649 -272.50 107.50 177.50 0.902919 -272.50 107.50 182.50 0.711647 -272.50 107.50 187.50 0.902919 -272.50 107.50 192.50 1.10649 -272.50 107.50 197.50 1.02412 -272.50 107.50 202.50 0.937427 -272.50 107.50 207.50 0.8525 -272.50 107.50 212.50 0.771726 -272.50 107.50 217.50 0.739506 -272.50 107.50 222.50 0.688168 -272.50 107.50 227.50 0.677394 -272.50 107.50 232.50 0.688168 -272.50 107.50 237.50 0.739506 -272.50 107.50 242.50 0.771727 -272.50 107.50 247.50 0.852499 -272.50 107.50 252.50 0.937426 -272.50 107.50 257.50 1.02412 -272.50 107.50 262.50 1.10649 -272.50 107.50 267.50 0.902918 -272.50 107.50 272.50 0.711647 -272.50 107.50 277.50 0.902918 -272.50 107.50 282.50 1.10649 -272.50 107.50 287.50 1.02412 -272.50 107.50 292.50 0.937427 -272.50 107.50 297.50 0.852499 -272.50 107.50 302.50 0.771726 -272.50 107.50 307.50 0.739506 -272.50 107.50 312.50 0.688168 -272.50 107.50 317.50 0.677394 -272.50 107.50 322.50 0.688167 -272.50 107.50 327.50 0.739505 -272.50 107.50 332.50 0.771725 -272.50 107.50 337.50 0.852499 -272.50 107.50 342.50 0.937426 -272.50 107.50 347.50 1.02412 -272.50 107.50 352.50 1.10649 -272.50 107.50 357.50 0.902919 -272.50 112.50 2.50 0.546005 -272.50 112.50 7.50 0.671003 -272.50 112.50 12.50 0.835489 -272.50 112.50 17.50 0.727916 -272.50 112.50 22.50 0.543532 -272.50 112.50 27.50 0.39085 -272.50 112.50 32.50 0.30417 -272.50 112.50 37.50 0.247948 -272.50 112.50 42.50 0.223686 -272.50 112.50 47.50 0.201992 -272.50 112.50 52.50 0.223686 -272.50 112.50 57.50 0.247948 -272.50 112.50 62.50 0.30417 -272.50 112.50 67.50 0.39085 -272.50 112.50 72.50 0.543533 -272.50 112.50 77.50 0.727916 -272.50 112.50 82.50 0.835488 -272.50 112.50 87.50 0.671003 -272.50 112.50 92.50 0.546004 -272.50 112.50 97.50 0.671003 -272.50 112.50 102.50 0.835488 -272.50 112.50 107.50 0.727916 -272.50 112.50 112.50 0.543532 -272.50 112.50 117.50 0.39085 -272.50 112.50 122.50 0.30417 -272.50 112.50 127.50 0.247948 -272.50 112.50 132.50 0.223687 -272.50 112.50 137.50 0.201992 -272.50 112.50 142.50 0.223687 -272.50 112.50 147.50 0.247948 -272.50 112.50 152.50 0.30417 -272.50 112.50 157.50 0.39085 -272.50 112.50 162.50 0.543532 -272.50 112.50 167.50 0.727916 -272.50 112.50 172.50 0.835489 -272.50 112.50 177.50 0.671003 -272.50 112.50 182.50 0.546005 -272.50 112.50 187.50 0.671003 -272.50 112.50 192.50 0.835489 -272.50 112.50 197.50 0.727916 -272.50 112.50 202.50 0.543532 -272.50 112.50 207.50 0.390851 -272.50 112.50 212.50 0.30417 -272.50 112.50 217.50 0.247948 -272.50 112.50 222.50 0.223687 -272.50 112.50 227.50 0.201992 -272.50 112.50 232.50 0.223687 -272.50 112.50 237.50 0.247948 -272.50 112.50 242.50 0.30417 -272.50 112.50 247.50 0.39085 -272.50 112.50 252.50 0.543533 -272.50 112.50 257.50 0.727916 -272.50 112.50 262.50 0.835488 -272.50 112.50 267.50 0.671003 -272.50 112.50 272.50 0.546004 -272.50 112.50 277.50 0.671003 -272.50 112.50 282.50 0.835488 -272.50 112.50 287.50 0.727916 -272.50 112.50 292.50 0.543532 -272.50 112.50 297.50 0.39085 -272.50 112.50 302.50 0.30417 -272.50 112.50 307.50 0.247948 -272.50 112.50 312.50 0.223687 -272.50 112.50 317.50 0.201992 -272.50 112.50 322.50 0.223687 -272.50 112.50 327.50 0.247948 -272.50 112.50 332.50 0.30417 -272.50 112.50 337.50 0.39085 -272.50 112.50 342.50 0.543532 -272.50 112.50 347.50 0.727915 -272.50 112.50 352.50 0.835489 -272.50 112.50 357.50 0.671003 -272.50 117.50 2.50 0.349564 -272.50 117.50 7.50 0.412845 -272.50 117.50 12.50 0.460639 -272.50 117.50 17.50 0.392484 -272.50 117.50 22.50 0.280663 -272.50 117.50 27.50 0.151741 -272.50 117.50 32.50 0.0774869 -272.50 117.50 37.50 0.0569849 -272.50 117.50 42.50 0.0485155 -272.50 117.50 47.50 0.0443978 -272.50 117.50 52.50 0.0485154 -272.50 117.50 57.50 0.0569849 -272.50 117.50 62.50 0.077487 -272.50 117.50 67.50 0.151742 -272.50 117.50 72.50 0.280663 -272.50 117.50 77.50 0.392484 -272.50 117.50 82.50 0.460639 -272.50 117.50 87.50 0.412845 -272.50 117.50 92.50 0.349564 -272.50 117.50 97.50 0.412846 -272.50 117.50 102.50 0.460639 -272.50 117.50 107.50 0.392484 -272.50 117.50 112.50 0.280663 -272.50 117.50 117.50 0.151741 -272.50 117.50 122.50 0.0774869 -272.50 117.50 127.50 0.0569848 -272.50 117.50 132.50 0.0485155 -272.50 117.50 137.50 0.0443979 -272.50 117.50 142.50 0.0485155 -272.50 117.50 147.50 0.0569849 -272.50 117.50 152.50 0.0774869 -272.50 117.50 157.50 0.151742 -272.50 117.50 162.50 0.280663 -272.50 117.50 167.50 0.392484 -272.50 117.50 172.50 0.460639 -272.50 117.50 177.50 0.412846 -272.50 117.50 182.50 0.349564 -272.50 117.50 187.50 0.412846 -272.50 117.50 192.50 0.460639 -272.50 117.50 197.50 0.392484 -272.50 117.50 202.50 0.280663 -272.50 117.50 207.50 0.151742 -272.50 117.50 212.50 0.0774869 -272.50 117.50 217.50 0.0569849 -272.50 117.50 222.50 0.0485155 -272.50 117.50 227.50 0.0443979 -272.50 117.50 232.50 0.0485155 -272.50 117.50 237.50 0.0569849 -272.50 117.50 242.50 0.077487 -272.50 117.50 247.50 0.151742 -272.50 117.50 252.50 0.280663 -272.50 117.50 257.50 0.392484 -272.50 117.50 262.50 0.460639 -272.50 117.50 267.50 0.412845 -272.50 117.50 272.50 0.349564 -272.50 117.50 277.50 0.412845 -272.50 117.50 282.50 0.460639 -272.50 117.50 287.50 0.392484 -272.50 117.50 292.50 0.280663 -272.50 117.50 297.50 0.151742 -272.50 117.50 302.50 0.077487 -272.50 117.50 307.50 0.0569849 -272.50 117.50 312.50 0.0485155 -272.50 117.50 317.50 0.0443979 -272.50 117.50 322.50 0.0485154 -272.50 117.50 327.50 0.0569848 -272.50 117.50 332.50 0.0774868 -272.50 117.50 337.50 0.151741 -272.50 117.50 342.50 0.280663 -272.50 117.50 347.50 0.392484 -272.50 117.50 352.50 0.460639 -272.50 117.50 357.50 0.412846 -272.50 122.50 2.50 0.209129 -272.50 122.50 7.50 0.209877 -272.50 122.50 12.50 0.190514 -272.50 122.50 17.50 0.171506 -272.50 122.50 22.50 0.0991572 -272.50 122.50 27.50 0.0508347 -272.50 122.50 32.50 0.0210874 -272.50 122.50 37.50 0.0107072 -272.50 122.50 42.50 0.00737376 -272.50 122.50 47.50 0.00644389 -272.50 122.50 52.50 0.00737377 -272.50 122.50 57.50 0.0107072 -272.50 122.50 62.50 0.0210874 -272.50 122.50 67.50 0.0508348 -272.50 122.50 72.50 0.0991574 -272.50 122.50 77.50 0.171506 -272.50 122.50 82.50 0.190514 -272.50 122.50 87.50 0.209877 -272.50 122.50 92.50 0.209129 -272.50 122.50 97.50 0.209877 -272.50 122.50 102.50 0.190514 -272.50 122.50 107.50 0.171506 -272.50 122.50 112.50 0.0991573 -272.50 122.50 117.50 0.0508347 -272.50 122.50 122.50 0.0210874 -272.50 122.50 127.50 0.0107072 -272.50 122.50 132.50 0.00737377 -272.50 122.50 137.50 0.0064439 -272.50 122.50 142.50 0.00737377 -272.50 122.50 147.50 0.0107072 -272.50 122.50 152.50 0.0210874 -272.50 122.50 157.50 0.0508348 -272.50 122.50 162.50 0.0991573 -272.50 122.50 167.50 0.171506 -272.50 122.50 172.50 0.190514 -272.50 122.50 177.50 0.209877 -272.50 122.50 182.50 0.209129 -272.50 122.50 187.50 0.209877 -272.50 122.50 192.50 0.190514 -272.50 122.50 197.50 0.171506 -272.50 122.50 202.50 0.0991574 -272.50 122.50 207.50 0.0508348 -272.50 122.50 212.50 0.0210874 -272.50 122.50 217.50 0.0107072 -272.50 122.50 222.50 0.00737377 -272.50 122.50 227.50 0.00644389 -272.50 122.50 232.50 0.00737377 -272.50 122.50 237.50 0.0107072 -272.50 122.50 242.50 0.0210875 -272.50 122.50 247.50 0.0508348 -272.50 122.50 252.50 0.0991574 -272.50 122.50 257.50 0.171506 -272.50 122.50 262.50 0.190514 -272.50 122.50 267.50 0.209877 -272.50 122.50 272.50 0.209129 -272.50 122.50 277.50 0.209877 -272.50 122.50 282.50 0.190514 -272.50 122.50 287.50 0.171506 -272.50 122.50 292.50 0.0991573 -272.50 122.50 297.50 0.0508348 -272.50 122.50 302.50 0.0210874 -272.50 122.50 307.50 0.0107072 -272.50 122.50 312.50 0.00737377 -272.50 122.50 317.50 0.0064439 -272.50 122.50 322.50 0.00737376 -272.50 122.50 327.50 0.0107072 -272.50 122.50 332.50 0.0210874 -272.50 122.50 337.50 0.0508346 -272.50 122.50 342.50 0.099157 -272.50 122.50 347.50 0.171506 -272.50 122.50 352.50 0.190514 -272.50 122.50 357.50 0.209877 -272.50 127.50 2.50 0.132396 -272.50 127.50 7.50 0.105763 -272.50 127.50 12.50 0.0696139 -272.50 127.50 17.50 0.0533429 -272.50 127.50 22.50 0.0336959 -272.50 127.50 27.50 0.015968 -272.50 127.50 32.50 0.0153846 -272.50 127.50 37.50 0.0157352 -272.50 127.50 42.50 0.0144469 -272.50 127.50 47.50 0.0195356 -272.50 127.50 52.50 0.0144469 -272.50 127.50 57.50 0.0157352 -272.50 127.50 62.50 0.0153846 -272.50 127.50 67.50 0.015968 -272.50 127.50 72.50 0.033696 -272.50 127.50 77.50 0.0533429 -272.50 127.50 82.50 0.069614 -272.50 127.50 87.50 0.105763 -272.50 127.50 92.50 0.132396 -272.50 127.50 97.50 0.105763 -272.50 127.50 102.50 0.0696139 -272.50 127.50 107.50 0.0533429 -272.50 127.50 112.50 0.033696 -272.50 127.50 117.50 0.015968 -272.50 127.50 122.50 0.0153846 -272.50 127.50 127.50 0.0157352 -272.50 127.50 132.50 0.0144469 -272.50 127.50 137.50 0.0195356 -272.50 127.50 142.50 0.0144469 -272.50 127.50 147.50 0.0157352 -272.50 127.50 152.50 0.0153846 -272.50 127.50 157.50 0.015968 -272.50 127.50 162.50 0.033696 -272.50 127.50 167.50 0.0533429 -272.50 127.50 172.50 0.069614 -272.50 127.50 177.50 0.105763 -272.50 127.50 182.50 0.132396 -272.50 127.50 187.50 0.105763 -272.50 127.50 192.50 0.069614 -272.50 127.50 197.50 0.0533429 -272.50 127.50 202.50 0.033696 -272.50 127.50 207.50 0.015968 -272.50 127.50 212.50 0.0153846 -272.50 127.50 217.50 0.0157352 -272.50 127.50 222.50 0.0144469 -272.50 127.50 227.50 0.0195356 -272.50 127.50 232.50 0.0144469 -272.50 127.50 237.50 0.0157352 -272.50 127.50 242.50 0.0153846 -272.50 127.50 247.50 0.015968 -272.50 127.50 252.50 0.033696 -272.50 127.50 257.50 0.0533429 -272.50 127.50 262.50 0.069614 -272.50 127.50 267.50 0.105763 -272.50 127.50 272.50 0.132396 -272.50 127.50 277.50 0.105763 -272.50 127.50 282.50 0.069614 -272.50 127.50 287.50 0.0533429 -272.50 127.50 292.50 0.033696 -272.50 127.50 297.50 0.015968 -272.50 127.50 302.50 0.0153846 -272.50 127.50 307.50 0.0157352 -272.50 127.50 312.50 0.0144469 -272.50 127.50 317.50 0.0195356 -272.50 127.50 322.50 0.0144469 -272.50 127.50 327.50 0.0157352 -272.50 127.50 332.50 0.0153846 -272.50 127.50 337.50 0.0159679 -272.50 127.50 342.50 0.0336959 -272.50 127.50 347.50 0.0533428 -272.50 127.50 352.50 0.0696139 -272.50 127.50 357.50 0.105763 -272.50 132.50 2.50 0.0754697 -272.50 132.50 7.50 0.0547379 -272.50 132.50 12.50 0.0266985 -272.50 132.50 17.50 0.0204215 -272.50 132.50 22.50 0.0327607 -272.50 132.50 27.50 0.046065 -272.50 132.50 32.50 0.0775569 -272.50 132.50 37.50 0.112976 -272.50 132.50 42.50 0.122784 -272.50 132.50 47.50 0.145968 -272.50 132.50 52.50 0.122784 -272.50 132.50 57.50 0.112976 -272.50 132.50 62.50 0.0775569 -272.50 132.50 67.50 0.046065 -272.50 132.50 72.50 0.0327606 -272.50 132.50 77.50 0.0204215 -272.50 132.50 82.50 0.0266985 -272.50 132.50 87.50 0.0547379 -272.50 132.50 92.50 0.0754697 -272.50 132.50 97.50 0.0547378 -272.50 132.50 102.50 0.0266985 -272.50 132.50 107.50 0.0204215 -272.50 132.50 112.50 0.0327606 -272.50 132.50 117.50 0.0460649 -272.50 132.50 122.50 0.0775569 -272.50 132.50 127.50 0.112976 -272.50 132.50 132.50 0.122784 -272.50 132.50 137.50 0.145968 -272.50 132.50 142.50 0.122784 -272.50 132.50 147.50 0.112976 -272.50 132.50 152.50 0.0775569 -272.50 132.50 157.50 0.046065 -272.50 132.50 162.50 0.0327606 -272.50 132.50 167.50 0.0204215 -272.50 132.50 172.50 0.0266985 -272.50 132.50 177.50 0.0547379 -272.50 132.50 182.50 0.0754697 -272.50 132.50 187.50 0.0547378 -272.50 132.50 192.50 0.0266985 -272.50 132.50 197.50 0.0204215 -272.50 132.50 202.50 0.0327606 -272.50 132.50 207.50 0.0460649 -272.50 132.50 212.50 0.0775569 -272.50 132.50 217.50 0.112976 -272.50 132.50 222.50 0.122784 -272.50 132.50 227.50 0.145968 -272.50 132.50 232.50 0.122784 -272.50 132.50 237.50 0.112976 -272.50 132.50 242.50 0.0775568 -272.50 132.50 247.50 0.0460649 -272.50 132.50 252.50 0.0327606 -272.50 132.50 257.50 0.0204215 -272.50 132.50 262.50 0.0266985 -272.50 132.50 267.50 0.0547379 -272.50 132.50 272.50 0.0754697 -272.50 132.50 277.50 0.0547379 -272.50 132.50 282.50 0.0266985 -272.50 132.50 287.50 0.0204215 -272.50 132.50 292.50 0.0327606 -272.50 132.50 297.50 0.0460649 -272.50 132.50 302.50 0.0775568 -272.50 132.50 307.50 0.112976 -272.50 132.50 312.50 0.122784 -272.50 132.50 317.50 0.145968 -272.50 132.50 322.50 0.122784 -272.50 132.50 327.50 0.112976 -272.50 132.50 332.50 0.077557 -272.50 132.50 337.50 0.046065 -272.50 132.50 342.50 0.0327607 -272.50 132.50 347.50 0.0204215 -272.50 132.50 352.50 0.0266984 -272.50 132.50 357.50 0.0547377 -272.50 137.50 2.50 0.0484156 -272.50 137.50 7.50 0.0374445 -272.50 137.50 12.50 0.0243017 -272.50 137.50 17.50 0.0393994 -272.50 137.50 22.50 0.0942026 -272.50 137.50 27.50 0.183658 -272.50 137.50 32.50 0.305638 -272.50 137.50 37.50 0.492438 -272.50 137.50 42.50 0.570583 -272.50 137.50 47.50 0.66841 -272.50 137.50 52.50 0.570583 -272.50 137.50 57.50 0.492438 -272.50 137.50 62.50 0.305638 -272.50 137.50 67.50 0.183657 -272.50 137.50 72.50 0.0942025 -272.50 137.50 77.50 0.0393994 -272.50 137.50 82.50 0.0243017 -272.50 137.50 87.50 0.0374445 -272.50 137.50 92.50 0.0484156 -272.50 137.50 97.50 0.0374444 -272.50 137.50 102.50 0.0243017 -272.50 137.50 107.50 0.0393994 -272.50 137.50 112.50 0.0942025 -272.50 137.50 117.50 0.183658 -272.50 137.50 122.50 0.305638 -272.50 137.50 127.50 0.492439 -272.50 137.50 132.50 0.570583 -272.50 137.50 137.50 0.668409 -272.50 137.50 142.50 0.570583 -272.50 137.50 147.50 0.492438 -272.50 137.50 152.50 0.305638 -272.50 137.50 157.50 0.183658 -272.50 137.50 162.50 0.0942025 -272.50 137.50 167.50 0.0393994 -272.50 137.50 172.50 0.0243017 -272.50 137.50 177.50 0.0374445 -272.50 137.50 182.50 0.0484156 -272.50 137.50 187.50 0.0374444 -272.50 137.50 192.50 0.0243017 -272.50 137.50 197.50 0.0393994 -272.50 137.50 202.50 0.0942026 -272.50 137.50 207.50 0.183658 -272.50 137.50 212.50 0.305638 -272.50 137.50 217.50 0.492438 -272.50 137.50 222.50 0.570583 -272.50 137.50 227.50 0.66841 -272.50 137.50 232.50 0.570583 -272.50 137.50 237.50 0.492438 -272.50 137.50 242.50 0.305638 -272.50 137.50 247.50 0.183657 -272.50 137.50 252.50 0.0942024 -272.50 137.50 257.50 0.0393994 -272.50 137.50 262.50 0.0243017 -272.50 137.50 267.50 0.0374445 -272.50 137.50 272.50 0.0484156 -272.50 137.50 277.50 0.0374445 -272.50 137.50 282.50 0.0243017 -272.50 137.50 287.50 0.0393994 -272.50 137.50 292.50 0.0942025 -272.50 137.50 297.50 0.183658 -272.50 137.50 302.50 0.305638 -272.50 137.50 307.50 0.492438 -272.50 137.50 312.50 0.570583 -272.50 137.50 317.50 0.66841 -272.50 137.50 322.50 0.570583 -272.50 137.50 327.50 0.492439 -272.50 137.50 332.50 0.305638 -272.50 137.50 337.50 0.183658 -272.50 137.50 342.50 0.0942026 -272.50 137.50 347.50 0.0393995 -272.50 137.50 352.50 0.0243017 -272.50 137.50 357.50 0.0374444 -272.50 142.50 2.50 0.0754697 -272.50 142.50 7.50 0.0655431 -272.50 142.50 12.50 0.056029 -272.50 142.50 17.50 0.101944 -272.50 142.50 22.50 0.233216 -272.50 142.50 27.50 0.469184 -272.50 142.50 32.50 0.840152 -272.50 142.50 37.50 1.28904 -272.50 142.50 42.50 1.66633 -272.50 142.50 47.50 1.81746 -272.50 142.50 52.50 1.66632 -272.50 142.50 57.50 1.28904 -272.50 142.50 62.50 0.840151 -272.50 142.50 67.50 0.469184 -272.50 142.50 72.50 0.233216 -272.50 142.50 77.50 0.101944 -272.50 142.50 82.50 0.0560289 -272.50 142.50 87.50 0.0655431 -272.50 142.50 92.50 0.0754697 -272.50 142.50 97.50 0.0655431 -272.50 142.50 102.50 0.056029 -272.50 142.50 107.50 0.101944 -272.50 142.50 112.50 0.233216 -272.50 142.50 117.50 0.469184 -272.50 142.50 122.50 0.840151 -272.50 142.50 127.50 1.28904 -272.50 142.50 132.50 1.66632 -272.50 142.50 137.50 1.81746 -272.50 142.50 142.50 1.66632 -272.50 142.50 147.50 1.28904 -272.50 142.50 152.50 0.840151 -272.50 142.50 157.50 0.469184 -272.50 142.50 162.50 0.233216 -272.50 142.50 167.50 0.101944 -272.50 142.50 172.50 0.056029 -272.50 142.50 177.50 0.0655431 -272.50 142.50 182.50 0.0754697 -272.50 142.50 187.50 0.0655431 -272.50 142.50 192.50 0.0560289 -272.50 142.50 197.50 0.101944 -272.50 142.50 202.50 0.233216 -272.50 142.50 207.50 0.469184 -272.50 142.50 212.50 0.840151 -272.50 142.50 217.50 1.28904 -272.50 142.50 222.50 1.66632 -272.50 142.50 227.50 1.81746 -272.50 142.50 232.50 1.66632 -272.50 142.50 237.50 1.28904 -272.50 142.50 242.50 0.840151 -272.50 142.50 247.50 0.469184 -272.50 142.50 252.50 0.233216 -272.50 142.50 257.50 0.101944 -272.50 142.50 262.50 0.0560289 -272.50 142.50 267.50 0.0655431 -272.50 142.50 272.50 0.0754697 -272.50 142.50 277.50 0.0655431 -272.50 142.50 282.50 0.0560289 -272.50 142.50 287.50 0.101944 -272.50 142.50 292.50 0.233216 -272.50 142.50 297.50 0.469184 -272.50 142.50 302.50 0.840151 -272.50 142.50 307.50 1.28904 -272.50 142.50 312.50 1.66632 -272.50 142.50 317.50 1.81746 -272.50 142.50 322.50 1.66632 -272.50 142.50 327.50 1.28904 -272.50 142.50 332.50 0.840152 -272.50 142.50 337.50 0.469185 -272.50 142.50 342.50 0.233216 -272.50 142.50 347.50 0.101945 -272.50 142.50 352.50 0.056029 -272.50 142.50 357.50 0.065543 -272.50 147.50 2.50 0.132396 -272.50 147.50 7.50 0.123763 -272.50 147.50 12.50 0.121855 -272.50 147.50 17.50 0.199712 -272.50 147.50 22.50 0.422605 -272.50 147.50 27.50 0.849212 -272.50 147.50 32.50 1.51749 -272.50 147.50 37.50 2.35946 -272.50 147.50 42.50 3.09568 -272.50 147.50 47.50 3.39937 -272.50 147.50 52.50 3.09567 -272.50 147.50 57.50 2.35946 -272.50 147.50 62.50 1.51749 -272.50 147.50 67.50 0.849211 -272.50 147.50 72.50 0.422604 -272.50 147.50 77.50 0.199711 -272.50 147.50 82.50 0.121855 -272.50 147.50 87.50 0.123763 -272.50 147.50 92.50 0.132396 -272.50 147.50 97.50 0.123763 -272.50 147.50 102.50 0.121855 -272.50 147.50 107.50 0.199711 -272.50 147.50 112.50 0.422605 -272.50 147.50 117.50 0.849212 -272.50 147.50 122.50 1.51749 -272.50 147.50 127.50 2.35946 -272.50 147.50 132.50 3.09568 -272.50 147.50 137.50 3.39937 -272.50 147.50 142.50 3.09567 -272.50 147.50 147.50 2.35946 -272.50 147.50 152.50 1.51748 -272.50 147.50 157.50 0.849211 -272.50 147.50 162.50 0.422605 -272.50 147.50 167.50 0.199712 -272.50 147.50 172.50 0.121855 -272.50 147.50 177.50 0.123763 -272.50 147.50 182.50 0.132396 -272.50 147.50 187.50 0.123763 -272.50 147.50 192.50 0.121855 -272.50 147.50 197.50 0.199712 -272.50 147.50 202.50 0.422605 -272.50 147.50 207.50 0.849211 -272.50 147.50 212.50 1.51749 -272.50 147.50 217.50 2.35946 -272.50 147.50 222.50 3.09567 -272.50 147.50 227.50 3.39937 -272.50 147.50 232.50 3.09567 -272.50 147.50 237.50 2.35946 -272.50 147.50 242.50 1.51748 -272.50 147.50 247.50 0.849211 -272.50 147.50 252.50 0.422604 -272.50 147.50 257.50 0.199711 -272.50 147.50 262.50 0.121855 -272.50 147.50 267.50 0.123763 -272.50 147.50 272.50 0.132396 -272.50 147.50 277.50 0.123763 -272.50 147.50 282.50 0.121855 -272.50 147.50 287.50 0.199711 -272.50 147.50 292.50 0.422605 -272.50 147.50 297.50 0.849212 -272.50 147.50 302.50 1.51749 -272.50 147.50 307.50 2.35946 -272.50 147.50 312.50 3.09567 -272.50 147.50 317.50 3.39937 -272.50 147.50 322.50 3.09567 -272.50 147.50 327.50 2.35946 -272.50 147.50 332.50 1.51749 -272.50 147.50 337.50 0.849213 -272.50 147.50 342.50 0.422605 -272.50 147.50 347.50 0.199712 -272.50 147.50 352.50 0.121855 -272.50 147.50 357.50 0.123763 -272.50 152.50 2.50 0.209129 -272.50 152.50 7.50 0.201319 -272.50 152.50 12.50 0.212048 -272.50 152.50 17.50 0.295808 -272.50 152.50 22.50 0.563445 -272.50 152.50 27.50 1.09055 -272.50 152.50 32.50 1.93443 -272.50 152.50 37.50 2.96592 -272.50 152.50 42.50 3.89139 -272.50 152.50 47.50 4.27493 -272.50 152.50 52.50 3.89139 -272.50 152.50 57.50 2.96592 -272.50 152.50 62.50 1.93443 -272.50 152.50 67.50 1.09055 -272.50 152.50 72.50 0.563444 -272.50 152.50 77.50 0.295808 -272.50 152.50 82.50 0.212048 -272.50 152.50 87.50 0.201319 -272.50 152.50 92.50 0.209129 -272.50 152.50 97.50 0.201319 -272.50 152.50 102.50 0.212048 -272.50 152.50 107.50 0.295808 -272.50 152.50 112.50 0.563445 -272.50 152.50 117.50 1.09055 -272.50 152.50 122.50 1.93443 -272.50 152.50 127.50 2.96592 -272.50 152.50 132.50 3.89139 -272.50 152.50 137.50 4.27493 -272.50 152.50 142.50 3.89139 -272.50 152.50 147.50 2.96592 -272.50 152.50 152.50 1.93443 -272.50 152.50 157.50 1.09055 -272.50 152.50 162.50 0.563445 -272.50 152.50 167.50 0.295808 -272.50 152.50 172.50 0.212048 -272.50 152.50 177.50 0.201319 -272.50 152.50 182.50 0.209129 -272.50 152.50 187.50 0.201319 -272.50 152.50 192.50 0.212048 -272.50 152.50 197.50 0.295808 -272.50 152.50 202.50 0.563445 -272.50 152.50 207.50 1.09055 -272.50 152.50 212.50 1.93443 -272.50 152.50 217.50 2.96592 -272.50 152.50 222.50 3.89139 -272.50 152.50 227.50 4.27493 -272.50 152.50 232.50 3.89139 -272.50 152.50 237.50 2.96592 -272.50 152.50 242.50 1.93443 -272.50 152.50 247.50 1.09055 -272.50 152.50 252.50 0.563444 -272.50 152.50 257.50 0.295807 -272.50 152.50 262.50 0.212048 -272.50 152.50 267.50 0.201319 -272.50 152.50 272.50 0.209129 -272.50 152.50 277.50 0.201319 -272.50 152.50 282.50 0.212048 -272.50 152.50 287.50 0.295808 -272.50 152.50 292.50 0.563445 -272.50 152.50 297.50 1.09055 -272.50 152.50 302.50 1.93443 -272.50 152.50 307.50 2.96592 -272.50 152.50 312.50 3.89139 -272.50 152.50 317.50 4.27493 -272.50 152.50 322.50 3.89139 -272.50 152.50 327.50 2.96592 -272.50 152.50 332.50 1.93444 -272.50 152.50 337.50 1.09055 -272.50 152.50 342.50 0.563445 -272.50 152.50 347.50 0.295808 -272.50 152.50 352.50 0.212048 -272.50 152.50 357.50 0.201319 -272.50 157.50 2.50 0.349564 -272.50 157.50 7.50 0.330966 -272.50 157.50 12.50 0.322834 -272.50 157.50 17.50 0.365554 -272.50 157.50 22.50 0.579183 -272.50 157.50 27.50 1.04188 -272.50 157.50 32.50 1.74902 -272.50 157.50 37.50 2.6418 -272.50 157.50 42.50 3.39824 -272.50 157.50 47.50 3.75596 -272.50 157.50 52.50 3.39824 -272.50 157.50 57.50 2.6418 -272.50 157.50 62.50 1.74902 -272.50 157.50 67.50 1.04188 -272.50 157.50 72.50 0.579182 -272.50 157.50 77.50 0.365553 -272.50 157.50 82.50 0.322834 -272.50 157.50 87.50 0.330966 -272.50 157.50 92.50 0.349564 -272.50 157.50 97.50 0.330966 -272.50 157.50 102.50 0.322834 -272.50 157.50 107.50 0.365553 -272.50 157.50 112.50 0.579183 -272.50 157.50 117.50 1.04188 -272.50 157.50 122.50 1.74902 -272.50 157.50 127.50 2.6418 -272.50 157.50 132.50 3.39824 -272.50 157.50 137.50 3.75596 -272.50 157.50 142.50 3.39824 -272.50 157.50 147.50 2.6418 -272.50 157.50 152.50 1.74902 -272.50 157.50 157.50 1.04188 -272.50 157.50 162.50 0.579183 -272.50 157.50 167.50 0.365553 -272.50 157.50 172.50 0.322834 -272.50 157.50 177.50 0.330966 -272.50 157.50 182.50 0.349564 -272.50 157.50 187.50 0.330966 -272.50 157.50 192.50 0.322834 -272.50 157.50 197.50 0.365553 -272.50 157.50 202.50 0.579183 -272.50 157.50 207.50 1.04188 -272.50 157.50 212.50 1.74902 -272.50 157.50 217.50 2.6418 -272.50 157.50 222.50 3.39824 -272.50 157.50 227.50 3.75596 -272.50 157.50 232.50 3.39824 -272.50 157.50 237.50 2.6418 -272.50 157.50 242.50 1.74902 -272.50 157.50 247.50 1.04188 -272.50 157.50 252.50 0.579182 -272.50 157.50 257.50 0.365554 -272.50 157.50 262.50 0.322834 -272.50 157.50 267.50 0.330966 -272.50 157.50 272.50 0.349564 -272.50 157.50 277.50 0.330966 -272.50 157.50 282.50 0.322834 -272.50 157.50 287.50 0.365554 -272.50 157.50 292.50 0.579183 -272.50 157.50 297.50 1.04188 -272.50 157.50 302.50 1.74902 -272.50 157.50 307.50 2.6418 -272.50 157.50 312.50 3.39824 -272.50 157.50 317.50 3.75596 -272.50 157.50 322.50 3.39824 -272.50 157.50 327.50 2.6418 -272.50 157.50 332.50 1.74902 -272.50 157.50 337.50 1.04188 -272.50 157.50 342.50 0.579183 -272.50 157.50 347.50 0.365554 -272.50 157.50 352.50 0.322834 -272.50 157.50 357.50 0.330966 -272.50 162.50 2.50 0.546004 -272.50 162.50 7.50 0.505741 -272.50 162.50 12.50 0.43119 -272.50 162.50 17.50 0.401786 -272.50 162.50 22.50 0.491398 -272.50 162.50 27.50 0.782686 -272.50 162.50 32.50 1.26428 -272.50 162.50 37.50 1.7833 -272.50 162.50 42.50 2.22181 -272.50 162.50 47.50 2.40899 -272.50 162.50 52.50 2.22181 -272.50 162.50 57.50 1.7833 -272.50 162.50 62.50 1.26428 -272.50 162.50 67.50 0.782685 -272.50 162.50 72.50 0.491398 -272.50 162.50 77.50 0.401786 -272.50 162.50 82.50 0.43119 -272.50 162.50 87.50 0.505741 -272.50 162.50 92.50 0.546004 -272.50 162.50 97.50 0.505741 -272.50 162.50 102.50 0.43119 -272.50 162.50 107.50 0.401786 -272.50 162.50 112.50 0.491398 -272.50 162.50 117.50 0.782687 -272.50 162.50 122.50 1.26428 -272.50 162.50 127.50 1.7833 -272.50 162.50 132.50 2.22181 -272.50 162.50 137.50 2.40899 -272.50 162.50 142.50 2.22181 -272.50 162.50 147.50 1.7833 -272.50 162.50 152.50 1.26428 -272.50 162.50 157.50 0.782686 -272.50 162.50 162.50 0.491398 -272.50 162.50 167.50 0.401786 -272.50 162.50 172.50 0.43119 -272.50 162.50 177.50 0.505741 -272.50 162.50 182.50 0.546004 -272.50 162.50 187.50 0.505741 -272.50 162.50 192.50 0.43119 -272.50 162.50 197.50 0.401786 -272.50 162.50 202.50 0.491398 -272.50 162.50 207.50 0.782686 -272.50 162.50 212.50 1.26428 -272.50 162.50 217.50 1.7833 -272.50 162.50 222.50 2.22181 -272.50 162.50 227.50 2.40899 -272.50 162.50 232.50 2.22181 -272.50 162.50 237.50 1.7833 -272.50 162.50 242.50 1.26428 -272.50 162.50 247.50 0.782685 -272.50 162.50 252.50 0.491398 -272.50 162.50 257.50 0.401786 -272.50 162.50 262.50 0.43119 -272.50 162.50 267.50 0.505741 -272.50 162.50 272.50 0.546004 -272.50 162.50 277.50 0.505741 -272.50 162.50 282.50 0.43119 -272.50 162.50 287.50 0.401786 -272.50 162.50 292.50 0.491398 -272.50 162.50 297.50 0.782685 -272.50 162.50 302.50 1.26428 -272.50 162.50 307.50 1.7833 -272.50 162.50 312.50 2.22181 -272.50 162.50 317.50 2.40899 -272.50 162.50 322.50 2.22181 -272.50 162.50 327.50 1.7833 -272.50 162.50 332.50 1.26428 -272.50 162.50 337.50 0.782686 -272.50 162.50 342.50 0.491398 -272.50 162.50 347.50 0.401786 -272.50 162.50 352.50 0.43119 -272.50 162.50 357.50 0.505741 -272.50 167.50 2.50 0.711647 -272.50 167.50 7.50 0.638605 -272.50 167.50 12.50 0.467809 -272.50 167.50 17.50 0.366937 -272.50 167.50 22.50 0.385043 -272.50 167.50 27.50 0.519632 -272.50 167.50 32.50 0.725446 -272.50 167.50 37.50 1.01676 -272.50 167.50 42.50 1.20606 -272.50 167.50 47.50 1.26858 -272.50 167.50 52.50 1.20606 -272.50 167.50 57.50 1.01676 -272.50 167.50 62.50 0.725445 -272.50 167.50 67.50 0.519631 -272.50 167.50 72.50 0.385043 -272.50 167.50 77.50 0.366937 -272.50 167.50 82.50 0.46781 -272.50 167.50 87.50 0.638606 -272.50 167.50 92.50 0.711647 -272.50 167.50 97.50 0.638605 -272.50 167.50 102.50 0.467809 -272.50 167.50 107.50 0.366937 -272.50 167.50 112.50 0.385043 -272.50 167.50 117.50 0.519632 -272.50 167.50 122.50 0.725446 -272.50 167.50 127.50 1.01676 -272.50 167.50 132.50 1.20606 -272.50 167.50 137.50 1.26858 -272.50 167.50 142.50 1.20606 -272.50 167.50 147.50 1.01676 -272.50 167.50 152.50 0.725446 -272.50 167.50 157.50 0.519632 -272.50 167.50 162.50 0.385043 -272.50 167.50 167.50 0.366937 -272.50 167.50 172.50 0.467809 -272.50 167.50 177.50 0.638606 -272.50 167.50 182.50 0.711647 -272.50 167.50 187.50 0.638605 -272.50 167.50 192.50 0.46781 -272.50 167.50 197.50 0.366937 -272.50 167.50 202.50 0.385043 -272.50 167.50 207.50 0.519632 -272.50 167.50 212.50 0.725446 -272.50 167.50 217.50 1.01676 -272.50 167.50 222.50 1.20606 -272.50 167.50 227.50 1.26858 -272.50 167.50 232.50 1.20606 -272.50 167.50 237.50 1.01676 -272.50 167.50 242.50 0.725445 -272.50 167.50 247.50 0.519631 -272.50 167.50 252.50 0.385043 -272.50 167.50 257.50 0.366937 -272.50 167.50 262.50 0.46781 -272.50 167.50 267.50 0.638606 -272.50 167.50 272.50 0.711647 -272.50 167.50 277.50 0.638605 -272.50 167.50 282.50 0.46781 -272.50 167.50 287.50 0.366937 -272.50 167.50 292.50 0.385043 -272.50 167.50 297.50 0.519631 -272.50 167.50 302.50 0.725446 -272.50 167.50 307.50 1.01676 -272.50 167.50 312.50 1.20606 -272.50 167.50 317.50 1.26858 -272.50 167.50 322.50 1.20606 -272.50 167.50 327.50 1.01676 -272.50 167.50 332.50 0.725446 -272.50 167.50 337.50 0.519632 -272.50 167.50 342.50 0.385043 -272.50 167.50 347.50 0.366937 -272.50 167.50 352.50 0.467809 -272.50 167.50 357.50 0.638606 -272.50 172.50 2.50 0.79997 -272.50 172.50 7.50 0.684515 -272.50 172.50 12.50 0.443105 -272.50 172.50 17.50 0.25792 -272.50 172.50 22.50 0.223925 -272.50 172.50 27.50 0.284665 -272.50 172.50 32.50 0.384722 -272.50 172.50 37.50 0.479712 -272.50 172.50 42.50 0.53245 -272.50 172.50 47.50 0.540409 -272.50 172.50 52.50 0.53245 -272.50 172.50 57.50 0.479712 -272.50 172.50 62.50 0.384722 -272.50 172.50 67.50 0.284665 -272.50 172.50 72.50 0.223925 -272.50 172.50 77.50 0.25792 -272.50 172.50 82.50 0.443105 -272.50 172.50 87.50 0.684515 -272.50 172.50 92.50 0.79997 -272.50 172.50 97.50 0.684516 -272.50 172.50 102.50 0.443105 -272.50 172.50 107.50 0.257921 -272.50 172.50 112.50 0.223925 -272.50 172.50 117.50 0.284665 -272.50 172.50 122.50 0.384722 -272.50 172.50 127.50 0.479712 -272.50 172.50 132.50 0.53245 -272.50 172.50 137.50 0.540409 -272.50 172.50 142.50 0.53245 -272.50 172.50 147.50 0.479712 -272.50 172.50 152.50 0.384722 -272.50 172.50 157.50 0.284665 -272.50 172.50 162.50 0.223925 -272.50 172.50 167.50 0.25792 -272.50 172.50 172.50 0.443105 -272.50 172.50 177.50 0.684515 -272.50 172.50 182.50 0.79997 -272.50 172.50 187.50 0.684515 -272.50 172.50 192.50 0.443105 -272.50 172.50 197.50 0.25792 -272.50 172.50 202.50 0.223925 -272.50 172.50 207.50 0.284665 -272.50 172.50 212.50 0.384722 -272.50 172.50 217.50 0.479712 -272.50 172.50 222.50 0.53245 -272.50 172.50 227.50 0.540409 -272.50 172.50 232.50 0.53245 -272.50 172.50 237.50 0.479712 -272.50 172.50 242.50 0.384722 -272.50 172.50 247.50 0.284665 -272.50 172.50 252.50 0.223925 -272.50 172.50 257.50 0.257921 -272.50 172.50 262.50 0.443105 -272.50 172.50 267.50 0.684516 -272.50 172.50 272.50 0.79997 -272.50 172.50 277.50 0.684515 -272.50 172.50 282.50 0.443105 -272.50 172.50 287.50 0.25792 -272.50 172.50 292.50 0.223925 -272.50 172.50 297.50 0.284665 -272.50 172.50 302.50 0.384722 -272.50 172.50 307.50 0.479712 -272.50 172.50 312.50 0.53245 -272.50 172.50 317.50 0.540409 -272.50 172.50 322.50 0.53245 -272.50 172.50 327.50 0.479712 -272.50 172.50 332.50 0.384723 -272.50 172.50 337.50 0.284665 -272.50 172.50 342.50 0.223925 -272.50 172.50 347.50 0.25792 -272.50 172.50 352.50 0.443104 -272.50 172.50 357.50 0.684515 -272.50 177.50 2.50 0.827942 -272.50 177.50 7.50 0.676594 -272.50 177.50 12.50 0.38396 -272.50 177.50 17.50 0.17843 -272.50 177.50 22.50 0.101776 -272.50 177.50 27.50 0.0995832 -272.50 177.50 32.50 0.125299 -272.50 177.50 37.50 0.160583 -272.50 177.50 42.50 0.17877 -272.50 177.50 47.50 0.181722 -272.50 177.50 52.50 0.17877 -272.50 177.50 57.50 0.160583 -272.50 177.50 62.50 0.125299 -272.50 177.50 67.50 0.0995832 -272.50 177.50 72.50 0.101776 -272.50 177.50 77.50 0.17843 -272.50 177.50 82.50 0.38396 -272.50 177.50 87.50 0.676594 -272.50 177.50 92.50 0.827943 -272.50 177.50 97.50 0.676594 -272.50 177.50 102.50 0.38396 -272.50 177.50 107.50 0.17843 -272.50 177.50 112.50 0.101776 -272.50 177.50 117.50 0.0995832 -272.50 177.50 122.50 0.125299 -272.50 177.50 127.50 0.160583 -272.50 177.50 132.50 0.17877 -272.50 177.50 137.50 0.181722 -272.50 177.50 142.50 0.17877 -272.50 177.50 147.50 0.160583 -272.50 177.50 152.50 0.125299 -272.50 177.50 157.50 0.0995831 -272.50 177.50 162.50 0.101776 -272.50 177.50 167.50 0.17843 -272.50 177.50 172.50 0.38396 -272.50 177.50 177.50 0.676593 -272.50 177.50 182.50 0.827942 -272.50 177.50 187.50 0.676593 -272.50 177.50 192.50 0.38396 -272.50 177.50 197.50 0.17843 -272.50 177.50 202.50 0.101776 -272.50 177.50 207.50 0.0995832 -272.50 177.50 212.50 0.125299 -272.50 177.50 217.50 0.160583 -272.50 177.50 222.50 0.17877 -272.50 177.50 227.50 0.181722 -272.50 177.50 232.50 0.17877 -272.50 177.50 237.50 0.160583 -272.50 177.50 242.50 0.125299 -272.50 177.50 247.50 0.0995831 -272.50 177.50 252.50 0.101776 -272.50 177.50 257.50 0.178431 -272.50 177.50 262.50 0.383961 -272.50 177.50 267.50 0.676594 -272.50 177.50 272.50 0.827942 -272.50 177.50 277.50 0.676594 -272.50 177.50 282.50 0.38396 -272.50 177.50 287.50 0.17843 -272.50 177.50 292.50 0.101776 -272.50 177.50 297.50 0.0995833 -272.50 177.50 302.50 0.125299 -272.50 177.50 307.50 0.160583 -272.50 177.50 312.50 0.17877 -272.50 177.50 317.50 0.181722 -272.50 177.50 322.50 0.17877 -272.50 177.50 327.50 0.160583 -272.50 177.50 332.50 0.125299 -272.50 177.50 337.50 0.0995833 -272.50 177.50 342.50 0.101776 -272.50 177.50 347.50 0.17843 -272.50 177.50 352.50 0.38396 -272.50 177.50 357.50 0.676593 -277.50 2.50 2.50 0.773178 -277.50 2.50 7.50 0.393273 -277.50 2.50 12.50 0.149977 -277.50 2.50 17.50 0.0624685 -277.50 2.50 22.50 0.0485219 -277.50 2.50 27.50 0.0601603 -277.50 2.50 32.50 0.0760386 -277.50 2.50 37.50 0.083846 -277.50 2.50 42.50 0.084539 -277.50 2.50 47.50 0.083846 -277.50 2.50 52.50 0.0760385 -277.50 2.50 57.50 0.0601603 -277.50 2.50 62.50 0.0485219 -277.50 2.50 67.50 0.0624686 -277.50 2.50 72.50 0.149977 -277.50 2.50 77.50 0.393272 -277.50 2.50 82.50 0.773179 -277.50 2.50 87.50 0.980476 -277.50 2.50 92.50 0.773179 -277.50 2.50 97.50 0.393272 -277.50 2.50 102.50 0.149977 -277.50 2.50 107.50 0.0624685 -277.50 2.50 112.50 0.0485219 -277.50 2.50 117.50 0.0601603 -277.50 2.50 122.50 0.0760386 -277.50 2.50 127.50 0.083846 -277.50 2.50 132.50 0.084539 -277.50 2.50 137.50 0.083846 -277.50 2.50 142.50 0.0760385 -277.50 2.50 147.50 0.0601603 -277.50 2.50 152.50 0.0485219 -277.50 2.50 157.50 0.0624685 -277.50 2.50 162.50 0.149977 -277.50 2.50 167.50 0.393272 -277.50 2.50 172.50 0.773178 -277.50 2.50 177.50 0.980476 -277.50 2.50 182.50 0.773178 -277.50 2.50 187.50 0.393272 -277.50 2.50 192.50 0.149977 -277.50 2.50 197.50 0.0624685 -277.50 2.50 202.50 0.0485219 -277.50 2.50 207.50 0.0601603 -277.50 2.50 212.50 0.0760386 -277.50 2.50 217.50 0.083846 -277.50 2.50 222.50 0.084539 -277.50 2.50 227.50 0.083846 -277.50 2.50 232.50 0.0760385 -277.50 2.50 237.50 0.0601603 -277.50 2.50 242.50 0.0485219 -277.50 2.50 247.50 0.0624686 -277.50 2.50 252.50 0.149977 -277.50 2.50 257.50 0.393273 -277.50 2.50 262.50 0.77318 -277.50 2.50 267.50 0.980476 -277.50 2.50 272.50 0.773179 -277.50 2.50 277.50 0.393272 -277.50 2.50 282.50 0.149977 -277.50 2.50 287.50 0.0624685 -277.50 2.50 292.50 0.0485219 -277.50 2.50 297.50 0.0601603 -277.50 2.50 302.50 0.0760385 -277.50 2.50 307.50 0.083846 -277.50 2.50 312.50 0.084539 -277.50 2.50 317.50 0.083846 -277.50 2.50 322.50 0.0760385 -277.50 2.50 327.50 0.0601603 -277.50 2.50 332.50 0.048522 -277.50 2.50 337.50 0.0624685 -277.50 2.50 342.50 0.149977 -277.50 2.50 347.50 0.393271 -277.50 2.50 352.50 0.773178 -277.50 2.50 357.50 0.980476 -277.50 7.50 2.50 0.675975 -277.50 7.50 7.50 0.382539 -277.50 7.50 12.50 0.175723 -277.50 7.50 17.50 0.099254 -277.50 7.50 22.50 0.101157 -277.50 7.50 27.50 0.130789 -277.50 7.50 32.50 0.156501 -277.50 7.50 37.50 0.173803 -277.50 7.50 42.50 0.181188 -277.50 7.50 47.50 0.185725 -277.50 7.50 52.50 0.170958 -277.50 7.50 57.50 0.134286 -277.50 7.50 62.50 0.0974293 -277.50 7.50 67.50 0.10043 -277.50 7.50 72.50 0.179981 -277.50 7.50 77.50 0.387057 -277.50 7.50 82.50 0.678878 -277.50 7.50 87.50 0.828531 -277.50 7.50 92.50 0.675974 -277.50 7.50 97.50 0.382539 -277.50 7.50 102.50 0.175723 -277.50 7.50 107.50 0.0992539 -277.50 7.50 112.50 0.101157 -277.50 7.50 117.50 0.130789 -277.50 7.50 122.50 0.156501 -277.50 7.50 127.50 0.173803 -277.50 7.50 132.50 0.181188 -277.50 7.50 137.50 0.185725 -277.50 7.50 142.50 0.170958 -277.50 7.50 147.50 0.134286 -277.50 7.50 152.50 0.0974294 -277.50 7.50 157.50 0.10043 -277.50 7.50 162.50 0.179981 -277.50 7.50 167.50 0.387056 -277.50 7.50 172.50 0.678877 -277.50 7.50 177.50 0.828531 -277.50 7.50 182.50 0.675974 -277.50 7.50 187.50 0.382539 -277.50 7.50 192.50 0.175723 -277.50 7.50 197.50 0.099254 -277.50 7.50 202.50 0.101157 -277.50 7.50 207.50 0.130789 -277.50 7.50 212.50 0.156501 -277.50 7.50 217.50 0.173803 -277.50 7.50 222.50 0.181187 -277.50 7.50 227.50 0.185725 -277.50 7.50 232.50 0.170958 -277.50 7.50 237.50 0.134286 -277.50 7.50 242.50 0.0974294 -277.50 7.50 247.50 0.10043 -277.50 7.50 252.50 0.179981 -277.50 7.50 257.50 0.387056 -277.50 7.50 262.50 0.678878 -277.50 7.50 267.50 0.82853 -277.50 7.50 272.50 0.675975 -277.50 7.50 277.50 0.382539 -277.50 7.50 282.50 0.175723 -277.50 7.50 287.50 0.099254 -277.50 7.50 292.50 0.101157 -277.50 7.50 297.50 0.130789 -277.50 7.50 302.50 0.156501 -277.50 7.50 307.50 0.173803 -277.50 7.50 312.50 0.181187 -277.50 7.50 317.50 0.185725 -277.50 7.50 322.50 0.170958 -277.50 7.50 327.50 0.134286 -277.50 7.50 332.50 0.0974295 -277.50 7.50 337.50 0.10043 -277.50 7.50 342.50 0.179981 -277.50 7.50 347.50 0.387056 -277.50 7.50 352.50 0.678877 -277.50 7.50 357.50 0.828531 -277.50 12.50 2.50 0.67853 -277.50 12.50 7.50 0.434478 -277.50 12.50 12.50 0.242843 -277.50 12.50 17.50 0.18001 -277.50 12.50 22.50 0.248079 -277.50 12.50 27.50 0.355199 -277.50 12.50 32.50 0.449265 -277.50 12.50 37.50 0.50719 -277.50 12.50 42.50 0.538478 -277.50 12.50 47.50 0.557421 -277.50 12.50 52.50 0.525747 -277.50 12.50 57.50 0.42707 -277.50 12.50 62.50 0.31833 -277.50 12.50 67.50 0.256711 -277.50 12.50 72.50 0.301 -277.50 12.50 77.50 0.463163 -277.50 12.50 82.50 0.697765 -277.50 12.50 87.50 0.802952 -277.50 12.50 92.50 0.67853 -277.50 12.50 97.50 0.434478 -277.50 12.50 102.50 0.242843 -277.50 12.50 107.50 0.18001 -277.50 12.50 112.50 0.248079 -277.50 12.50 117.50 0.3552 -277.50 12.50 122.50 0.449265 -277.50 12.50 127.50 0.50719 -277.50 12.50 132.50 0.538478 -277.50 12.50 137.50 0.557421 -277.50 12.50 142.50 0.525747 -277.50 12.50 147.50 0.42707 -277.50 12.50 152.50 0.31833 -277.50 12.50 157.50 0.256711 -277.50 12.50 162.50 0.301 -277.50 12.50 167.50 0.463163 -277.50 12.50 172.50 0.697764 -277.50 12.50 177.50 0.802952 -277.50 12.50 182.50 0.67853 -277.50 12.50 187.50 0.434478 -277.50 12.50 192.50 0.242843 -277.50 12.50 197.50 0.18001 -277.50 12.50 202.50 0.248078 -277.50 12.50 207.50 0.355199 -277.50 12.50 212.50 0.449265 -277.50 12.50 217.50 0.50719 -277.50 12.50 222.50 0.538478 -277.50 12.50 227.50 0.557421 -277.50 12.50 232.50 0.525747 -277.50 12.50 237.50 0.427069 -277.50 12.50 242.50 0.31833 -277.50 12.50 247.50 0.256711 -277.50 12.50 252.50 0.300999 -277.50 12.50 257.50 0.463163 -277.50 12.50 262.50 0.697764 -277.50 12.50 267.50 0.802952 -277.50 12.50 272.50 0.67853 -277.50 12.50 277.50 0.434478 -277.50 12.50 282.50 0.242843 -277.50 12.50 287.50 0.18001 -277.50 12.50 292.50 0.248078 -277.50 12.50 297.50 0.355199 -277.50 12.50 302.50 0.449265 -277.50 12.50 307.50 0.50719 -277.50 12.50 312.50 0.538478 -277.50 12.50 317.50 0.557421 -277.50 12.50 322.50 0.525747 -277.50 12.50 327.50 0.42707 -277.50 12.50 332.50 0.31833 -277.50 12.50 337.50 0.256711 -277.50 12.50 342.50 0.300999 -277.50 12.50 347.50 0.463162 -277.50 12.50 352.50 0.697763 -277.50 12.50 357.50 0.802952 -277.50 17.50 2.50 0.62136 -277.50 17.50 7.50 0.437085 -277.50 17.50 12.50 0.281707 -277.50 17.50 17.50 0.296244 -277.50 17.50 22.50 0.432846 -277.50 17.50 27.50 0.63043 -277.50 17.50 32.50 0.843856 -277.50 17.50 37.50 1.09058 -277.50 17.50 42.50 1.24911 -277.50 17.50 47.50 1.30137 -277.50 17.50 52.50 1.18348 -277.50 17.50 57.50 0.922203 -277.50 17.50 62.50 0.615539 -277.50 17.50 67.50 0.461889 -277.50 17.50 72.50 0.453063 -277.50 17.50 77.50 0.569854 -277.50 17.50 82.50 0.680419 -277.50 17.50 87.50 0.71967 -277.50 17.50 92.50 0.62136 -277.50 17.50 97.50 0.437085 -277.50 17.50 102.50 0.281707 -277.50 17.50 107.50 0.296244 -277.50 17.50 112.50 0.432846 -277.50 17.50 117.50 0.63043 -277.50 17.50 122.50 0.843856 -277.50 17.50 127.50 1.09057 -277.50 17.50 132.50 1.2491 -277.50 17.50 137.50 1.30137 -277.50 17.50 142.50 1.18348 -277.50 17.50 147.50 0.922203 -277.50 17.50 152.50 0.61554 -277.50 17.50 157.50 0.461889 -277.50 17.50 162.50 0.453063 -277.50 17.50 167.50 0.569854 -277.50 17.50 172.50 0.68042 -277.50 17.50 177.50 0.71967 -277.50 17.50 182.50 0.62136 -277.50 17.50 187.50 0.437085 -277.50 17.50 192.50 0.281707 -277.50 17.50 197.50 0.296244 -277.50 17.50 202.50 0.432846 -277.50 17.50 207.50 0.63043 -277.50 17.50 212.50 0.843855 -277.50 17.50 217.50 1.09057 -277.50 17.50 222.50 1.2491 -277.50 17.50 227.50 1.30137 -277.50 17.50 232.50 1.18348 -277.50 17.50 237.50 0.922202 -277.50 17.50 242.50 0.615539 -277.50 17.50 247.50 0.461889 -277.50 17.50 252.50 0.453063 -277.50 17.50 257.50 0.569854 -277.50 17.50 262.50 0.68042 -277.50 17.50 267.50 0.719669 -277.50 17.50 272.50 0.62136 -277.50 17.50 277.50 0.437085 -277.50 17.50 282.50 0.281707 -277.50 17.50 287.50 0.296244 -277.50 17.50 292.50 0.432846 -277.50 17.50 297.50 0.63043 -277.50 17.50 302.50 0.843855 -277.50 17.50 307.50 1.09057 -277.50 17.50 312.50 1.2491 -277.50 17.50 317.50 1.30137 -277.50 17.50 322.50 1.18348 -277.50 17.50 327.50 0.922203 -277.50 17.50 332.50 0.61554 -277.50 17.50 337.50 0.461889 -277.50 17.50 342.50 0.453063 -277.50 17.50 347.50 0.569854 -277.50 17.50 352.50 0.680419 -277.50 17.50 357.50 0.71967 -277.50 22.50 2.50 0.48194 -277.50 22.50 7.50 0.357811 -277.50 22.50 12.50 0.288839 -277.50 22.50 17.50 0.361966 -277.50 22.50 22.50 0.56114 -277.50 22.50 27.50 0.948701 -277.50 22.50 32.50 1.47679 -277.50 22.50 37.50 1.9798 -277.50 22.50 42.50 2.38186 -277.50 22.50 47.50 2.46548 -277.50 22.50 52.50 2.13429 -277.50 22.50 57.50 1.59739 -277.50 22.50 62.50 1.07404 -277.50 22.50 67.50 0.683605 -277.50 22.50 72.50 0.527195 -277.50 22.50 77.50 0.561809 -277.50 22.50 82.50 0.594511 -277.50 22.50 87.50 0.558621 -277.50 22.50 92.50 0.48194 -277.50 22.50 97.50 0.357811 -277.50 22.50 102.50 0.288839 -277.50 22.50 107.50 0.361966 -277.50 22.50 112.50 0.561139 -277.50 22.50 117.50 0.948701 -277.50 22.50 122.50 1.47679 -277.50 22.50 127.50 1.9798 -277.50 22.50 132.50 2.38186 -277.50 22.50 137.50 2.46548 -277.50 22.50 142.50 2.13429 -277.50 22.50 147.50 1.59739 -277.50 22.50 152.50 1.07404 -277.50 22.50 157.50 0.683605 -277.50 22.50 162.50 0.527195 -277.50 22.50 167.50 0.561809 -277.50 22.50 172.50 0.594511 -277.50 22.50 177.50 0.558621 -277.50 22.50 182.50 0.48194 -277.50 22.50 187.50 0.357811 -277.50 22.50 192.50 0.288839 -277.50 22.50 197.50 0.361966 -277.50 22.50 202.50 0.56114 -277.50 22.50 207.50 0.948701 -277.50 22.50 212.50 1.47679 -277.50 22.50 217.50 1.9798 -277.50 22.50 222.50 2.38186 -277.50 22.50 227.50 2.46548 -277.50 22.50 232.50 2.13429 -277.50 22.50 237.50 1.59739 -277.50 22.50 242.50 1.07404 -277.50 22.50 247.50 0.683605 -277.50 22.50 252.50 0.527195 -277.50 22.50 257.50 0.561809 -277.50 22.50 262.50 0.594511 -277.50 22.50 267.50 0.558621 -277.50 22.50 272.50 0.48194 -277.50 22.50 277.50 0.357811 -277.50 22.50 282.50 0.288839 -277.50 22.50 287.50 0.361966 -277.50 22.50 292.50 0.56114 -277.50 22.50 297.50 0.9487 -277.50 22.50 302.50 1.47679 -277.50 22.50 307.50 1.9798 -277.50 22.50 312.50 2.38186 -277.50 22.50 317.50 2.46548 -277.50 22.50 322.50 2.13429 -277.50 22.50 327.50 1.59739 -277.50 22.50 332.50 1.07404 -277.50 22.50 337.50 0.683606 -277.50 22.50 342.50 0.527195 -277.50 22.50 347.50 0.561809 -277.50 22.50 352.50 0.594511 -277.50 22.50 357.50 0.558621 -277.50 27.50 2.50 0.315487 -277.50 27.50 7.50 0.251243 -277.50 27.50 12.50 0.256208 -277.50 27.50 17.50 0.384715 -277.50 27.50 22.50 0.716853 -277.50 27.50 27.50 1.30889 -277.50 27.50 32.50 2.08375 -277.50 27.50 37.50 2.95161 -277.50 27.50 42.50 3.63698 -277.50 27.50 47.50 3.83255 -277.50 27.50 52.50 3.27428 -277.50 27.50 57.50 2.34685 -277.50 27.50 62.50 1.43418 -277.50 27.50 67.50 0.845018 -277.50 27.50 72.50 0.532542 -277.50 27.50 77.50 0.439567 -277.50 27.50 82.50 0.414034 -277.50 27.50 87.50 0.359669 -277.50 27.50 92.50 0.315487 -277.50 27.50 97.50 0.251243 -277.50 27.50 102.50 0.256208 -277.50 27.50 107.50 0.384715 -277.50 27.50 112.50 0.716853 -277.50 27.50 117.50 1.30889 -277.50 27.50 122.50 2.08375 -277.50 27.50 127.50 2.95161 -277.50 27.50 132.50 3.63699 -277.50 27.50 137.50 3.83255 -277.50 27.50 142.50 3.27428 -277.50 27.50 147.50 2.34685 -277.50 27.50 152.50 1.43418 -277.50 27.50 157.50 0.845019 -277.50 27.50 162.50 0.532543 -277.50 27.50 167.50 0.439567 -277.50 27.50 172.50 0.414034 -277.50 27.50 177.50 0.359669 -277.50 27.50 182.50 0.315487 -277.50 27.50 187.50 0.251243 -277.50 27.50 192.50 0.256208 -277.50 27.50 197.50 0.384715 -277.50 27.50 202.50 0.716854 -277.50 27.50 207.50 1.30889 -277.50 27.50 212.50 2.08375 -277.50 27.50 217.50 2.95161 -277.50 27.50 222.50 3.63699 -277.50 27.50 227.50 3.83254 -277.50 27.50 232.50 3.27428 -277.50 27.50 237.50 2.34685 -277.50 27.50 242.50 1.43418 -277.50 27.50 247.50 0.845017 -277.50 27.50 252.50 0.532542 -277.50 27.50 257.50 0.439566 -277.50 27.50 262.50 0.414034 -277.50 27.50 267.50 0.359669 -277.50 27.50 272.50 0.315487 -277.50 27.50 277.50 0.251243 -277.50 27.50 282.50 0.256208 -277.50 27.50 287.50 0.384715 -277.50 27.50 292.50 0.716854 -277.50 27.50 297.50 1.30889 -277.50 27.50 302.50 2.08375 -277.50 27.50 307.50 2.95161 -277.50 27.50 312.50 3.63699 -277.50 27.50 317.50 3.83254 -277.50 27.50 322.50 3.27428 -277.50 27.50 327.50 2.34685 -277.50 27.50 332.50 1.43418 -277.50 27.50 337.50 0.845019 -277.50 27.50 342.50 0.532543 -277.50 27.50 347.50 0.439566 -277.50 27.50 352.50 0.414034 -277.50 27.50 357.50 0.359669 -277.50 32.50 2.50 0.199216 -277.50 32.50 7.50 0.176545 -277.50 32.50 12.50 0.210139 -277.50 32.50 17.50 0.37138 -277.50 32.50 22.50 0.763625 -277.50 32.50 27.50 1.40693 -277.50 32.50 32.50 2.31146 -277.50 32.50 37.50 3.36236 -277.50 32.50 42.50 4.20894 -277.50 32.50 47.50 4.33348 -277.50 32.50 52.50 3.6961 -277.50 32.50 57.50 2.62026 -277.50 32.50 62.50 1.55946 -277.50 32.50 67.50 0.82426 -277.50 32.50 72.50 0.442373 -277.50 32.50 77.50 0.286681 -277.50 32.50 82.50 0.236243 -277.50 32.50 87.50 0.2097 -277.50 32.50 92.50 0.199216 -277.50 32.50 97.50 0.176545 -277.50 32.50 102.50 0.210139 -277.50 32.50 107.50 0.37138 -277.50 32.50 112.50 0.763626 -277.50 32.50 117.50 1.40693 -277.50 32.50 122.50 2.31147 -277.50 32.50 127.50 3.36237 -277.50 32.50 132.50 4.20894 -277.50 32.50 137.50 4.33348 -277.50 32.50 142.50 3.6961 -277.50 32.50 147.50 2.62026 -277.50 32.50 152.50 1.55947 -277.50 32.50 157.50 0.824261 -277.50 32.50 162.50 0.442373 -277.50 32.50 167.50 0.286681 -277.50 32.50 172.50 0.236243 -277.50 32.50 177.50 0.2097 -277.50 32.50 182.50 0.199216 -277.50 32.50 187.50 0.176545 -277.50 32.50 192.50 0.210139 -277.50 32.50 197.50 0.371381 -277.50 32.50 202.50 0.763626 -277.50 32.50 207.50 1.40693 -277.50 32.50 212.50 2.31146 -277.50 32.50 217.50 3.36237 -277.50 32.50 222.50 4.20894 -277.50 32.50 227.50 4.33348 -277.50 32.50 232.50 3.69609 -277.50 32.50 237.50 2.62026 -277.50 32.50 242.50 1.55946 -277.50 32.50 247.50 0.82426 -277.50 32.50 252.50 0.442373 -277.50 32.50 257.50 0.286681 -277.50 32.50 262.50 0.236242 -277.50 32.50 267.50 0.2097 -277.50 32.50 272.50 0.199216 -277.50 32.50 277.50 0.176545 -277.50 32.50 282.50 0.210139 -277.50 32.50 287.50 0.37138 -277.50 32.50 292.50 0.763626 -277.50 32.50 297.50 1.40693 -277.50 32.50 302.50 2.31146 -277.50 32.50 307.50 3.36236 -277.50 32.50 312.50 4.20894 -277.50 32.50 317.50 4.33348 -277.50 32.50 322.50 3.6961 -277.50 32.50 327.50 2.62026 -277.50 32.50 332.50 1.55947 -277.50 32.50 337.50 0.824262 -277.50 32.50 342.50 0.442374 -277.50 32.50 347.50 0.286681 -277.50 32.50 352.50 0.236243 -277.50 32.50 357.50 0.2097 -277.50 37.50 2.50 0.129213 -277.50 37.50 7.50 0.118247 -277.50 37.50 12.50 0.145218 -277.50 37.50 17.50 0.292756 -277.50 37.50 22.50 0.604255 -277.50 37.50 27.50 1.10692 -277.50 37.50 32.50 1.82953 -277.50 37.50 37.50 2.70449 -277.50 37.50 42.50 3.36986 -277.50 37.50 47.50 3.47034 -277.50 37.50 52.50 2.958 -277.50 37.50 57.50 2.08558 -277.50 37.50 62.50 1.21571 -277.50 37.50 67.50 0.615071 -277.50 37.50 72.50 0.293616 -277.50 37.50 77.50 0.155519 -277.50 37.50 82.50 0.116352 -277.50 37.50 87.50 0.122909 -277.50 37.50 92.50 0.129213 -277.50 37.50 97.50 0.118247 -277.50 37.50 102.50 0.145218 -277.50 37.50 107.50 0.292756 -277.50 37.50 112.50 0.604254 -277.50 37.50 117.50 1.10692 -277.50 37.50 122.50 1.82954 -277.50 37.50 127.50 2.70449 -277.50 37.50 132.50 3.36986 -277.50 37.50 137.50 3.47034 -277.50 37.50 142.50 2.958 -277.50 37.50 147.50 2.08558 -277.50 37.50 152.50 1.21571 -277.50 37.50 157.50 0.615071 -277.50 37.50 162.50 0.293616 -277.50 37.50 167.50 0.155519 -277.50 37.50 172.50 0.116352 -277.50 37.50 177.50 0.122909 -277.50 37.50 182.50 0.129213 -277.50 37.50 187.50 0.118247 -277.50 37.50 192.50 0.145218 -277.50 37.50 197.50 0.292757 -277.50 37.50 202.50 0.604254 -277.50 37.50 207.50 1.10692 -277.50 37.50 212.50 1.82954 -277.50 37.50 217.50 2.70449 -277.50 37.50 222.50 3.36986 -277.50 37.50 227.50 3.47034 -277.50 37.50 232.50 2.958 -277.50 37.50 237.50 2.08558 -277.50 37.50 242.50 1.21571 -277.50 37.50 247.50 0.615071 -277.50 37.50 252.50 0.293615 -277.50 37.50 257.50 0.155519 -277.50 37.50 262.50 0.116352 -277.50 37.50 267.50 0.122909 -277.50 37.50 272.50 0.129213 -277.50 37.50 277.50 0.118247 -277.50 37.50 282.50 0.145218 -277.50 37.50 287.50 0.292757 -277.50 37.50 292.50 0.604254 -277.50 37.50 297.50 1.10692 -277.50 37.50 302.50 1.82954 -277.50 37.50 307.50 2.70449 -277.50 37.50 312.50 3.36986 -277.50 37.50 317.50 3.47034 -277.50 37.50 322.50 2.958 -277.50 37.50 327.50 2.08558 -277.50 37.50 332.50 1.21571 -277.50 37.50 337.50 0.615072 -277.50 37.50 342.50 0.293616 -277.50 37.50 347.50 0.155519 -277.50 37.50 352.50 0.116352 -277.50 37.50 357.50 0.122909 -277.50 42.50 2.50 0.0716309 -277.50 42.50 7.50 0.0616514 -277.50 42.50 12.50 0.0755904 -277.50 42.50 17.50 0.17185 -277.50 42.50 22.50 0.356892 -277.50 42.50 27.50 0.626981 -277.50 42.50 32.50 1.03025 -277.50 42.50 37.50 1.48065 -277.50 42.50 42.50 1.82863 -277.50 42.50 47.50 1.91265 -277.50 42.50 52.50 1.64199 -277.50 42.50 57.50 1.14566 -277.50 42.50 62.50 0.661871 -277.50 42.50 67.50 0.323246 -277.50 42.50 72.50 0.141382 -277.50 42.50 77.50 0.063983 -277.50 42.50 82.50 0.0483848 -277.50 42.50 87.50 0.064012 -277.50 42.50 92.50 0.0716309 -277.50 42.50 97.50 0.0616514 -277.50 42.50 102.50 0.0755905 -277.50 42.50 107.50 0.17185 -277.50 42.50 112.50 0.356892 -277.50 42.50 117.50 0.626981 -277.50 42.50 122.50 1.03025 -277.50 42.50 127.50 1.48065 -277.50 42.50 132.50 1.82863 -277.50 42.50 137.50 1.91265 -277.50 42.50 142.50 1.64199 -277.50 42.50 147.50 1.14566 -277.50 42.50 152.50 0.661872 -277.50 42.50 157.50 0.323247 -277.50 42.50 162.50 0.141382 -277.50 42.50 167.50 0.063983 -277.50 42.50 172.50 0.0483848 -277.50 42.50 177.50 0.0640119 -277.50 42.50 182.50 0.0716309 -277.50 42.50 187.50 0.0616514 -277.50 42.50 192.50 0.0755905 -277.50 42.50 197.50 0.17185 -277.50 42.50 202.50 0.356892 -277.50 42.50 207.50 0.62698 -277.50 42.50 212.50 1.03025 -277.50 42.50 217.50 1.48065 -277.50 42.50 222.50 1.82863 -277.50 42.50 227.50 1.91265 -277.50 42.50 232.50 1.64199 -277.50 42.50 237.50 1.14566 -277.50 42.50 242.50 0.661871 -277.50 42.50 247.50 0.323246 -277.50 42.50 252.50 0.141381 -277.50 42.50 257.50 0.063983 -277.50 42.50 262.50 0.0483848 -277.50 42.50 267.50 0.064012 -277.50 42.50 272.50 0.0716309 -277.50 42.50 277.50 0.0616514 -277.50 42.50 282.50 0.0755905 -277.50 42.50 287.50 0.17185 -277.50 42.50 292.50 0.356892 -277.50 42.50 297.50 0.62698 -277.50 42.50 302.50 1.03025 -277.50 42.50 307.50 1.48065 -277.50 42.50 312.50 1.82863 -277.50 42.50 317.50 1.91265 -277.50 42.50 322.50 1.64199 -277.50 42.50 327.50 1.14566 -277.50 42.50 332.50 0.661873 -277.50 42.50 337.50 0.323247 -277.50 42.50 342.50 0.141382 -277.50 42.50 347.50 0.0639831 -277.50 42.50 352.50 0.0483847 -277.50 42.50 357.50 0.0640119 -277.50 47.50 2.50 0.0446415 -277.50 47.50 7.50 0.0320298 -277.50 47.50 12.50 0.0323235 -277.50 47.50 17.50 0.0738832 -277.50 47.50 22.50 0.15642 -277.50 47.50 27.50 0.26034 -277.50 47.50 32.50 0.400611 -277.50 47.50 37.50 0.595303 -277.50 47.50 42.50 0.660828 -277.50 47.50 47.50 0.715765 -277.50 47.50 52.50 0.55622 -277.50 47.50 57.50 0.425319 -277.50 47.50 62.50 0.226915 -277.50 47.50 67.50 0.117599 -277.50 47.50 72.50 0.0486705 -277.50 47.50 77.50 0.0214015 -277.50 47.50 82.50 0.0213814 -277.50 47.50 87.50 0.0381159 -277.50 47.50 92.50 0.0446415 -277.50 47.50 97.50 0.0320298 -277.50 47.50 102.50 0.0323235 -277.50 47.50 107.50 0.0738832 -277.50 47.50 112.50 0.15642 -277.50 47.50 117.50 0.26034 -277.50 47.50 122.50 0.400611 -277.50 47.50 127.50 0.595304 -277.50 47.50 132.50 0.660829 -277.50 47.50 137.50 0.715766 -277.50 47.50 142.50 0.55622 -277.50 47.50 147.50 0.425319 -277.50 47.50 152.50 0.226915 -277.50 47.50 157.50 0.117599 -277.50 47.50 162.50 0.0486705 -277.50 47.50 167.50 0.0214015 -277.50 47.50 172.50 0.0213814 -277.50 47.50 177.50 0.0381159 -277.50 47.50 182.50 0.0446415 -277.50 47.50 187.50 0.0320298 -277.50 47.50 192.50 0.0323236 -277.50 47.50 197.50 0.0738833 -277.50 47.50 202.50 0.15642 -277.50 47.50 207.50 0.26034 -277.50 47.50 212.50 0.400611 -277.50 47.50 217.50 0.595303 -277.50 47.50 222.50 0.660828 -277.50 47.50 227.50 0.715766 -277.50 47.50 232.50 0.556219 -277.50 47.50 237.50 0.425319 -277.50 47.50 242.50 0.226915 -277.50 47.50 247.50 0.117599 -277.50 47.50 252.50 0.0486705 -277.50 47.50 257.50 0.0214015 -277.50 47.50 262.50 0.0213814 -277.50 47.50 267.50 0.0381159 -277.50 47.50 272.50 0.0446415 -277.50 47.50 277.50 0.0320298 -277.50 47.50 282.50 0.0323235 -277.50 47.50 287.50 0.0738832 -277.50 47.50 292.50 0.15642 -277.50 47.50 297.50 0.26034 -277.50 47.50 302.50 0.400611 -277.50 47.50 307.50 0.595303 -277.50 47.50 312.50 0.660828 -277.50 47.50 317.50 0.715765 -277.50 47.50 322.50 0.55622 -277.50 47.50 327.50 0.425319 -277.50 47.50 332.50 0.226915 -277.50 47.50 337.50 0.117599 -277.50 47.50 342.50 0.0486706 -277.50 47.50 347.50 0.0214015 -277.50 47.50 352.50 0.0213813 -277.50 47.50 357.50 0.0381158 -277.50 52.50 2.50 0.071631 -277.50 52.50 7.50 0.0443058 -277.50 52.50 12.50 0.022551 -277.50 52.50 17.50 0.0264904 -277.50 52.50 22.50 0.0465787 -277.50 52.50 27.50 0.0685249 -277.50 52.50 32.50 0.112257 -277.50 52.50 37.50 0.154173 -277.50 52.50 42.50 0.152444 -277.50 52.50 47.50 0.159105 -277.50 52.50 52.50 0.119274 -277.50 52.50 57.50 0.0919798 -277.50 52.50 62.50 0.0561324 -277.50 52.50 67.50 0.032397 -277.50 52.50 72.50 0.0254592 -277.50 52.50 77.50 0.0220366 -277.50 52.50 82.50 0.0318592 -277.50 52.50 87.50 0.0584064 -277.50 52.50 92.50 0.071631 -277.50 52.50 97.50 0.0443058 -277.50 52.50 102.50 0.022551 -277.50 52.50 107.50 0.0264904 -277.50 52.50 112.50 0.0465787 -277.50 52.50 117.50 0.0685249 -277.50 52.50 122.50 0.112257 -277.50 52.50 127.50 0.154174 -277.50 52.50 132.50 0.152444 -277.50 52.50 137.50 0.159105 -277.50 52.50 142.50 0.119274 -277.50 52.50 147.50 0.0919799 -277.50 52.50 152.50 0.0561324 -277.50 52.50 157.50 0.032397 -277.50 52.50 162.50 0.0254592 -277.50 52.50 167.50 0.0220366 -277.50 52.50 172.50 0.0318592 -277.50 52.50 177.50 0.0584063 -277.50 52.50 182.50 0.0716309 -277.50 52.50 187.50 0.0443058 -277.50 52.50 192.50 0.022551 -277.50 52.50 197.50 0.0264904 -277.50 52.50 202.50 0.0465787 -277.50 52.50 207.50 0.0685249 -277.50 52.50 212.50 0.112257 -277.50 52.50 217.50 0.154174 -277.50 52.50 222.50 0.152444 -277.50 52.50 227.50 0.159105 -277.50 52.50 232.50 0.119274 -277.50 52.50 237.50 0.0919798 -277.50 52.50 242.50 0.0561324 -277.50 52.50 247.50 0.032397 -277.50 52.50 252.50 0.0254592 -277.50 52.50 257.50 0.0220366 -277.50 52.50 262.50 0.0318593 -277.50 52.50 267.50 0.0584065 -277.50 52.50 272.50 0.0716309 -277.50 52.50 277.50 0.0443058 -277.50 52.50 282.50 0.022551 -277.50 52.50 287.50 0.0264904 -277.50 52.50 292.50 0.0465787 -277.50 52.50 297.50 0.0685249 -277.50 52.50 302.50 0.112257 -277.50 52.50 307.50 0.154174 -277.50 52.50 312.50 0.152444 -277.50 52.50 317.50 0.159105 -277.50 52.50 322.50 0.119274 -277.50 52.50 327.50 0.0919798 -277.50 52.50 332.50 0.0561326 -277.50 52.50 337.50 0.032397 -277.50 52.50 342.50 0.0254592 -277.50 52.50 347.50 0.0220366 -277.50 52.50 352.50 0.0318592 -277.50 52.50 357.50 0.0584063 -277.50 57.50 2.50 0.129213 -277.50 57.50 7.50 0.087848 -277.50 57.50 12.50 0.0447639 -277.50 57.50 17.50 0.0279321 -277.50 57.50 22.50 0.0154728 -277.50 57.50 27.50 0.0130544 -277.50 57.50 32.50 0.0202864 -277.50 57.50 37.50 0.0224542 -277.50 57.50 42.50 0.0189908 -277.50 57.50 47.50 0.0224384 -277.50 57.50 52.50 0.0146644 -277.50 57.50 57.50 0.0147355 -277.50 57.50 62.50 0.0185263 -277.50 57.50 67.50 0.0308299 -277.50 57.50 72.50 0.0704791 -277.50 57.50 77.50 0.0867767 -277.50 57.50 82.50 0.0935966 -277.50 57.50 87.50 0.111751 -277.50 57.50 92.50 0.129213 -277.50 57.50 97.50 0.0878479 -277.50 57.50 102.50 0.0447639 -277.50 57.50 107.50 0.0279321 -277.50 57.50 112.50 0.0154728 -277.50 57.50 117.50 0.0130544 -277.50 57.50 122.50 0.0202864 -277.50 57.50 127.50 0.0224542 -277.50 57.50 132.50 0.0189908 -277.50 57.50 137.50 0.0224384 -277.50 57.50 142.50 0.0146644 -277.50 57.50 147.50 0.0147355 -277.50 57.50 152.50 0.0185263 -277.50 57.50 157.50 0.0308298 -277.50 57.50 162.50 0.070479 -277.50 57.50 167.50 0.0867766 -277.50 57.50 172.50 0.0935966 -277.50 57.50 177.50 0.111751 -277.50 57.50 182.50 0.129213 -277.50 57.50 187.50 0.0878479 -277.50 57.50 192.50 0.0447638 -277.50 57.50 197.50 0.0279321 -277.50 57.50 202.50 0.0154728 -277.50 57.50 207.50 0.0130544 -277.50 57.50 212.50 0.0202864 -277.50 57.50 217.50 0.0224542 -277.50 57.50 222.50 0.0189908 -277.50 57.50 227.50 0.0224384 -277.50 57.50 232.50 0.0146644 -277.50 57.50 237.50 0.0147355 -277.50 57.50 242.50 0.0185263 -277.50 57.50 247.50 0.0308299 -277.50 57.50 252.50 0.0704792 -277.50 57.50 257.50 0.0867768 -277.50 57.50 262.50 0.0935967 -277.50 57.50 267.50 0.111751 -277.50 57.50 272.50 0.129213 -277.50 57.50 277.50 0.087848 -277.50 57.50 282.50 0.0447639 -277.50 57.50 287.50 0.0279321 -277.50 57.50 292.50 0.0154728 -277.50 57.50 297.50 0.0130544 -277.50 57.50 302.50 0.0202864 -277.50 57.50 307.50 0.0224542 -277.50 57.50 312.50 0.0189907 -277.50 57.50 317.50 0.0224384 -277.50 57.50 322.50 0.0146644 -277.50 57.50 327.50 0.0147355 -277.50 57.50 332.50 0.0185263 -277.50 57.50 337.50 0.0308298 -277.50 57.50 342.50 0.0704791 -277.50 57.50 347.50 0.0867767 -277.50 57.50 352.50 0.0935967 -277.50 57.50 357.50 0.111751 -277.50 62.50 2.50 0.199216 -277.50 62.50 7.50 0.164714 -277.50 62.50 12.50 0.116617 -277.50 62.50 17.50 0.073365 -277.50 62.50 22.50 0.0389299 -277.50 62.50 27.50 0.0177908 -277.50 62.50 32.50 0.007465 -277.50 62.50 37.50 0.00579803 -277.50 62.50 42.50 0.0058344 -277.50 62.50 47.50 0.00959743 -277.50 62.50 52.50 0.0152566 -277.50 62.50 57.50 0.0260342 -277.50 62.50 62.50 0.0555581 -277.50 62.50 67.50 0.113871 -277.50 62.50 72.50 0.202193 -277.50 62.50 77.50 0.280883 -277.50 62.50 82.50 0.250801 -277.50 62.50 87.50 0.217024 -277.50 62.50 92.50 0.199216 -277.50 62.50 97.50 0.164714 -277.50 62.50 102.50 0.116617 -277.50 62.50 107.50 0.0733649 -277.50 62.50 112.50 0.0389299 -277.50 62.50 117.50 0.0177908 -277.50 62.50 122.50 0.00746499 -277.50 62.50 127.50 0.00579802 -277.50 62.50 132.50 0.00583439 -277.50 62.50 137.50 0.00959742 -277.50 62.50 142.50 0.0152566 -277.50 62.50 147.50 0.0260342 -277.50 62.50 152.50 0.0555579 -277.50 62.50 157.50 0.113871 -277.50 62.50 162.50 0.202193 -277.50 62.50 167.50 0.280883 -277.50 62.50 172.50 0.250801 -277.50 62.50 177.50 0.217024 -277.50 62.50 182.50 0.199216 -277.50 62.50 187.50 0.164714 -277.50 62.50 192.50 0.116617 -277.50 62.50 197.50 0.0733649 -277.50 62.50 202.50 0.0389299 -277.50 62.50 207.50 0.0177908 -277.50 62.50 212.50 0.00746499 -277.50 62.50 217.50 0.00579802 -277.50 62.50 222.50 0.00583439 -277.50 62.50 227.50 0.00959742 -277.50 62.50 232.50 0.0152566 -277.50 62.50 237.50 0.0260342 -277.50 62.50 242.50 0.0555581 -277.50 62.50 247.50 0.113871 -277.50 62.50 252.50 0.202193 -277.50 62.50 257.50 0.280883 -277.50 62.50 262.50 0.250801 -277.50 62.50 267.50 0.217024 -277.50 62.50 272.50 0.199216 -277.50 62.50 277.50 0.164714 -277.50 62.50 282.50 0.116617 -277.50 62.50 287.50 0.073365 -277.50 62.50 292.50 0.0389299 -277.50 62.50 297.50 0.0177908 -277.50 62.50 302.50 0.007465 -277.50 62.50 307.50 0.00579803 -277.50 62.50 312.50 0.0058344 -277.50 62.50 317.50 0.00959743 -277.50 62.50 322.50 0.0152566 -277.50 62.50 327.50 0.0260342 -277.50 62.50 332.50 0.055558 -277.50 62.50 337.50 0.113871 -277.50 62.50 342.50 0.202193 -277.50 62.50 347.50 0.280883 -277.50 62.50 352.50 0.250801 -277.50 62.50 357.50 0.217024 -277.50 67.50 2.50 0.315487 -277.50 67.50 7.50 0.301277 -277.50 67.50 12.50 0.292089 -277.50 67.50 17.50 0.194398 -277.50 67.50 22.50 0.121828 -277.50 67.50 27.50 0.0571467 -277.50 67.50 32.50 0.0327666 -277.50 67.50 37.50 0.0312142 -277.50 67.50 42.50 0.0384044 -277.50 67.50 47.50 0.0501735 -277.50 67.50 52.50 0.0773158 -277.50 67.50 57.50 0.116624 -277.50 67.50 62.50 0.175925 -277.50 67.50 67.50 0.330719 -277.50 67.50 72.50 0.497872 -277.50 67.50 77.50 0.614975 -277.50 67.50 82.50 0.553665 -277.50 67.50 87.50 0.423211 -277.50 67.50 92.50 0.315487 -277.50 67.50 97.50 0.301277 -277.50 67.50 102.50 0.292089 -277.50 67.50 107.50 0.194398 -277.50 67.50 112.50 0.121828 -277.50 67.50 117.50 0.0571466 -277.50 67.50 122.50 0.0327665 -277.50 67.50 127.50 0.0312141 -277.50 67.50 132.50 0.0384044 -277.50 67.50 137.50 0.0501734 -277.50 67.50 142.50 0.0773157 -277.50 67.50 147.50 0.116624 -277.50 67.50 152.50 0.175925 -277.50 67.50 157.50 0.330718 -277.50 67.50 162.50 0.497872 -277.50 67.50 167.50 0.614975 -277.50 67.50 172.50 0.553665 -277.50 67.50 177.50 0.423211 -277.50 67.50 182.50 0.315487 -277.50 67.50 187.50 0.301277 -277.50 67.50 192.50 0.292089 -277.50 67.50 197.50 0.194398 -277.50 67.50 202.50 0.121828 -277.50 67.50 207.50 0.0571467 -277.50 67.50 212.50 0.0327665 -277.50 67.50 217.50 0.0312141 -277.50 67.50 222.50 0.0384044 -277.50 67.50 227.50 0.0501734 -277.50 67.50 232.50 0.0773157 -277.50 67.50 237.50 0.116624 -277.50 67.50 242.50 0.175925 -277.50 67.50 247.50 0.330719 -277.50 67.50 252.50 0.497872 -277.50 67.50 257.50 0.614975 -277.50 67.50 262.50 0.553665 -277.50 67.50 267.50 0.423211 -277.50 67.50 272.50 0.315487 -277.50 67.50 277.50 0.301277 -277.50 67.50 282.50 0.292089 -277.50 67.50 287.50 0.194398 -277.50 67.50 292.50 0.121828 -277.50 67.50 297.50 0.0571467 -277.50 67.50 302.50 0.0327666 -277.50 67.50 307.50 0.0312142 -277.50 67.50 312.50 0.0384044 -277.50 67.50 317.50 0.0501734 -277.50 67.50 322.50 0.0773158 -277.50 67.50 327.50 0.116624 -277.50 67.50 332.50 0.175925 -277.50 67.50 337.50 0.330718 -277.50 67.50 342.50 0.497872 -277.50 67.50 347.50 0.614975 -277.50 67.50 352.50 0.553666 -277.50 67.50 357.50 0.423212 -277.50 72.50 2.50 0.48194 -277.50 72.50 7.50 0.497252 -277.50 72.50 12.50 0.534204 -277.50 72.50 17.50 0.402013 -277.50 72.50 22.50 0.277815 -277.50 72.50 27.50 0.20459 -277.50 72.50 32.50 0.157031 -277.50 72.50 37.50 0.14196 -277.50 72.50 42.50 0.17526 -277.50 72.50 47.50 0.226613 -277.50 72.50 52.50 0.32551 -277.50 72.50 57.50 0.420563 -277.50 72.50 62.50 0.532979 -277.50 72.50 67.50 0.68723 -277.50 72.50 72.50 0.924236 -277.50 72.50 77.50 1.02864 -277.50 72.50 82.50 0.981031 -277.50 72.50 87.50 0.692972 -277.50 72.50 92.50 0.48194 -277.50 72.50 97.50 0.497252 -277.50 72.50 102.50 0.534204 -277.50 72.50 107.50 0.402013 -277.50 72.50 112.50 0.277814 -277.50 72.50 117.50 0.20459 -277.50 72.50 122.50 0.157031 -277.50 72.50 127.50 0.14196 -277.50 72.50 132.50 0.17526 -277.50 72.50 137.50 0.226613 -277.50 72.50 142.50 0.32551 -277.50 72.50 147.50 0.420562 -277.50 72.50 152.50 0.532978 -277.50 72.50 157.50 0.687229 -277.50 72.50 162.50 0.924236 -277.50 72.50 167.50 1.02864 -277.50 72.50 172.50 0.981031 -277.50 72.50 177.50 0.692972 -277.50 72.50 182.50 0.48194 -277.50 72.50 187.50 0.497252 -277.50 72.50 192.50 0.534204 -277.50 72.50 197.50 0.402013 -277.50 72.50 202.50 0.277814 -277.50 72.50 207.50 0.20459 -277.50 72.50 212.50 0.157031 -277.50 72.50 217.50 0.14196 -277.50 72.50 222.50 0.17526 -277.50 72.50 227.50 0.226613 -277.50 72.50 232.50 0.32551 -277.50 72.50 237.50 0.420562 -277.50 72.50 242.50 0.532979 -277.50 72.50 247.50 0.68723 -277.50 72.50 252.50 0.924236 -277.50 72.50 257.50 1.02864 -277.50 72.50 262.50 0.981031 -277.50 72.50 267.50 0.692971 -277.50 72.50 272.50 0.48194 -277.50 72.50 277.50 0.497252 -277.50 72.50 282.50 0.534204 -277.50 72.50 287.50 0.402013 -277.50 72.50 292.50 0.277815 -277.50 72.50 297.50 0.20459 -277.50 72.50 302.50 0.157031 -277.50 72.50 307.50 0.14196 -277.50 72.50 312.50 0.17526 -277.50 72.50 317.50 0.226613 -277.50 72.50 322.50 0.32551 -277.50 72.50 327.50 0.420562 -277.50 72.50 332.50 0.532978 -277.50 72.50 337.50 0.687229 -277.50 72.50 342.50 0.924235 -277.50 72.50 347.50 1.02864 -277.50 72.50 352.50 0.981032 -277.50 72.50 357.50 0.692973 -277.50 77.50 2.50 0.62136 -277.50 77.50 7.50 0.727332 -277.50 77.50 12.50 0.731979 -277.50 77.50 17.50 0.655583 -277.50 77.50 22.50 0.6064 -277.50 77.50 27.50 0.511238 -277.50 77.50 32.50 0.453532 -277.50 77.50 37.50 0.497392 -277.50 77.50 42.50 0.575054 -277.50 77.50 47.50 0.744164 -277.50 77.50 52.50 0.929732 -277.50 77.50 57.50 1.0831 -277.50 77.50 62.50 1.17616 -277.50 77.50 67.50 1.25923 -277.50 77.50 72.50 1.32676 -277.50 77.50 77.50 1.36928 -277.50 77.50 82.50 1.27733 -277.50 77.50 87.50 0.887681 -277.50 77.50 92.50 0.62136 -277.50 77.50 97.50 0.727332 -277.50 77.50 102.50 0.731978 -277.50 77.50 107.50 0.655583 -277.50 77.50 112.50 0.6064 -277.50 77.50 117.50 0.511238 -277.50 77.50 122.50 0.453531 -277.50 77.50 127.50 0.497392 -277.50 77.50 132.50 0.575054 -277.50 77.50 137.50 0.744164 -277.50 77.50 142.50 0.929732 -277.50 77.50 147.50 1.0831 -277.50 77.50 152.50 1.17616 -277.50 77.50 157.50 1.25923 -277.50 77.50 162.50 1.32676 -277.50 77.50 167.50 1.36928 -277.50 77.50 172.50 1.27734 -277.50 77.50 177.50 0.887681 -277.50 77.50 182.50 0.62136 -277.50 77.50 187.50 0.727332 -277.50 77.50 192.50 0.731978 -277.50 77.50 197.50 0.655583 -277.50 77.50 202.50 0.6064 -277.50 77.50 207.50 0.511238 -277.50 77.50 212.50 0.453531 -277.50 77.50 217.50 0.497392 -277.50 77.50 222.50 0.575054 -277.50 77.50 227.50 0.744164 -277.50 77.50 232.50 0.929732 -277.50 77.50 237.50 1.0831 -277.50 77.50 242.50 1.17616 -277.50 77.50 247.50 1.25923 -277.50 77.50 252.50 1.32676 -277.50 77.50 257.50 1.36928 -277.50 77.50 262.50 1.27734 -277.50 77.50 267.50 0.887681 -277.50 77.50 272.50 0.62136 -277.50 77.50 277.50 0.727331 -277.50 77.50 282.50 0.731979 -277.50 77.50 287.50 0.655583 -277.50 77.50 292.50 0.6064 -277.50 77.50 297.50 0.511238 -277.50 77.50 302.50 0.453531 -277.50 77.50 307.50 0.497392 -277.50 77.50 312.50 0.575055 -277.50 77.50 317.50 0.744164 -277.50 77.50 322.50 0.929731 -277.50 77.50 327.50 1.0831 -277.50 77.50 332.50 1.17616 -277.50 77.50 337.50 1.25923 -277.50 77.50 342.50 1.32676 -277.50 77.50 347.50 1.36928 -277.50 77.50 352.50 1.27734 -277.50 77.50 357.50 0.887681 -277.50 82.50 2.50 0.678531 -277.50 82.50 7.50 0.846666 -277.50 82.50 12.50 0.900572 -277.50 82.50 17.50 0.985946 -277.50 82.50 22.50 1.00252 -277.50 82.50 27.50 0.994834 -277.50 82.50 32.50 1.03003 -277.50 82.50 37.50 1.15026 -277.50 82.50 42.50 1.33209 -277.50 82.50 47.50 1.5513 -277.50 82.50 52.50 1.76806 -277.50 82.50 57.50 1.89632 -277.50 82.50 62.50 1.86928 -277.50 82.50 67.50 1.78902 -277.50 82.50 72.50 1.72625 -277.50 82.50 77.50 1.54849 -277.50 82.50 82.50 1.30382 -277.50 82.50 87.50 0.974543 -277.50 82.50 92.50 0.67853 -277.50 82.50 97.50 0.846667 -277.50 82.50 102.50 0.900572 -277.50 82.50 107.50 0.985946 -277.50 82.50 112.50 1.00252 -277.50 82.50 117.50 0.994834 -277.50 82.50 122.50 1.03003 -277.50 82.50 127.50 1.15026 -277.50 82.50 132.50 1.33209 -277.50 82.50 137.50 1.5513 -277.50 82.50 142.50 1.76806 -277.50 82.50 147.50 1.89632 -277.50 82.50 152.50 1.86928 -277.50 82.50 157.50 1.78902 -277.50 82.50 162.50 1.72625 -277.50 82.50 167.50 1.54849 -277.50 82.50 172.50 1.30382 -277.50 82.50 177.50 0.974544 -277.50 82.50 182.50 0.67853 -277.50 82.50 187.50 0.846667 -277.50 82.50 192.50 0.900573 -277.50 82.50 197.50 0.985947 -277.50 82.50 202.50 1.00253 -277.50 82.50 207.50 0.994834 -277.50 82.50 212.50 1.03003 -277.50 82.50 217.50 1.15026 -277.50 82.50 222.50 1.33209 -277.50 82.50 227.50 1.5513 -277.50 82.50 232.50 1.76806 -277.50 82.50 237.50 1.89632 -277.50 82.50 242.50 1.86928 -277.50 82.50 247.50 1.78902 -277.50 82.50 252.50 1.72625 -277.50 82.50 257.50 1.54849 -277.50 82.50 262.50 1.30382 -277.50 82.50 267.50 0.974542 -277.50 82.50 272.50 0.67853 -277.50 82.50 277.50 0.846667 -277.50 82.50 282.50 0.900572 -277.50 82.50 287.50 0.985946 -277.50 82.50 292.50 1.00253 -277.50 82.50 297.50 0.994834 -277.50 82.50 302.50 1.03003 -277.50 82.50 307.50 1.15026 -277.50 82.50 312.50 1.33209 -277.50 82.50 317.50 1.5513 -277.50 82.50 322.50 1.76806 -277.50 82.50 327.50 1.89632 -277.50 82.50 332.50 1.86928 -277.50 82.50 337.50 1.78902 -277.50 82.50 342.50 1.72625 -277.50 82.50 347.50 1.54849 -277.50 82.50 352.50 1.30382 -277.50 82.50 357.50 0.974544 -277.50 87.50 2.50 0.675975 -277.50 87.50 7.50 0.83902 -277.50 87.50 12.50 1.13153 -277.50 87.50 17.50 1.23448 -277.50 87.50 22.50 1.41026 -277.50 87.50 27.50 1.54273 -277.50 87.50 32.50 1.63603 -277.50 87.50 37.50 1.78035 -277.50 87.50 42.50 1.95851 -277.50 87.50 47.50 2.14012 -277.50 87.50 52.50 2.2667 -277.50 87.50 57.50 2.22374 -277.50 87.50 62.50 2.09116 -277.50 87.50 67.50 1.9414 -277.50 87.50 72.50 1.72113 -277.50 87.50 77.50 1.53291 -277.50 87.50 82.50 1.30054 -277.50 87.50 87.50 0.904599 -277.50 87.50 92.50 0.675975 -277.50 87.50 97.50 0.83902 -277.50 87.50 102.50 1.13152 -277.50 87.50 107.50 1.23448 -277.50 87.50 112.50 1.41026 -277.50 87.50 117.50 1.54273 -277.50 87.50 122.50 1.63603 -277.50 87.50 127.50 1.78035 -277.50 87.50 132.50 1.95851 -277.50 87.50 137.50 2.14012 -277.50 87.50 142.50 2.26669 -277.50 87.50 147.50 2.22374 -277.50 87.50 152.50 2.09116 -277.50 87.50 157.50 1.9414 -277.50 87.50 162.50 1.72113 -277.50 87.50 167.50 1.53291 -277.50 87.50 172.50 1.30055 -277.50 87.50 177.50 0.904599 -277.50 87.50 182.50 0.675975 -277.50 87.50 187.50 0.83902 -277.50 87.50 192.50 1.13153 -277.50 87.50 197.50 1.23448 -277.50 87.50 202.50 1.41026 -277.50 87.50 207.50 1.54273 -277.50 87.50 212.50 1.63603 -277.50 87.50 217.50 1.78035 -277.50 87.50 222.50 1.95851 -277.50 87.50 227.50 2.14012 -277.50 87.50 232.50 2.26669 -277.50 87.50 237.50 2.22374 -277.50 87.50 242.50 2.09116 -277.50 87.50 247.50 1.9414 -277.50 87.50 252.50 1.72113 -277.50 87.50 257.50 1.53291 -277.50 87.50 262.50 1.30054 -277.50 87.50 267.50 0.904598 -277.50 87.50 272.50 0.675975 -277.50 87.50 277.50 0.83902 -277.50 87.50 282.50 1.13153 -277.50 87.50 287.50 1.23448 -277.50 87.50 292.50 1.41026 -277.50 87.50 297.50 1.54273 -277.50 87.50 302.50 1.63603 -277.50 87.50 307.50 1.78035 -277.50 87.50 312.50 1.9585 -277.50 87.50 317.50 2.14012 -277.50 87.50 322.50 2.26669 -277.50 87.50 327.50 2.22374 -277.50 87.50 332.50 2.09116 -277.50 87.50 337.50 1.9414 -277.50 87.50 342.50 1.72113 -277.50 87.50 347.50 1.53291 -277.50 87.50 352.50 1.30055 -277.50 87.50 357.50 0.9046 -277.50 92.50 2.50 0.773179 -277.50 92.50 7.50 0.987353 -277.50 92.50 12.50 1.3016 -277.50 92.50 17.50 1.52023 -277.50 92.50 22.50 1.70709 -277.50 92.50 27.50 1.8763 -277.50 92.50 32.50 2.00435 -277.50 92.50 37.50 2.14417 -277.50 92.50 42.50 2.24978 -277.50 92.50 47.50 2.27582 -277.50 92.50 52.50 2.24978 -277.50 92.50 57.50 2.14417 -277.50 92.50 62.50 2.00435 -277.50 92.50 67.50 1.8763 -277.50 92.50 72.50 1.70709 -277.50 92.50 77.50 1.52023 -277.50 92.50 82.50 1.3016 -277.50 92.50 87.50 0.987355 -277.50 92.50 92.50 0.773178 -277.50 92.50 97.50 0.987354 -277.50 92.50 102.50 1.3016 -277.50 92.50 107.50 1.52023 -277.50 92.50 112.50 1.70709 -277.50 92.50 117.50 1.8763 -277.50 92.50 122.50 2.00435 -277.50 92.50 127.50 2.14417 -277.50 92.50 132.50 2.24978 -277.50 92.50 137.50 2.27582 -277.50 92.50 142.50 2.24978 -277.50 92.50 147.50 2.14417 -277.50 92.50 152.50 2.00435 -277.50 92.50 157.50 1.8763 -277.50 92.50 162.50 1.70709 -277.50 92.50 167.50 1.52023 -277.50 92.50 172.50 1.3016 -277.50 92.50 177.50 0.987356 -277.50 92.50 182.50 0.773178 -277.50 92.50 187.50 0.987353 -277.50 92.50 192.50 1.3016 -277.50 92.50 197.50 1.52023 -277.50 92.50 202.50 1.70709 -277.50 92.50 207.50 1.8763 -277.50 92.50 212.50 2.00435 -277.50 92.50 217.50 2.14417 -277.50 92.50 222.50 2.24978 -277.50 92.50 227.50 2.27582 -277.50 92.50 232.50 2.24978 -277.50 92.50 237.50 2.14417 -277.50 92.50 242.50 2.00435 -277.50 92.50 247.50 1.8763 -277.50 92.50 252.50 1.70709 -277.50 92.50 257.50 1.52023 -277.50 92.50 262.50 1.3016 -277.50 92.50 267.50 0.987354 -277.50 92.50 272.50 0.773179 -277.50 92.50 277.50 0.987353 -277.50 92.50 282.50 1.3016 -277.50 92.50 287.50 1.52023 -277.50 92.50 292.50 1.70709 -277.50 92.50 297.50 1.8763 -277.50 92.50 302.50 2.00435 -277.50 92.50 307.50 2.14417 -277.50 92.50 312.50 2.24978 -277.50 92.50 317.50 2.27582 -277.50 92.50 322.50 2.24978 -277.50 92.50 327.50 2.14417 -277.50 92.50 332.50 2.00435 -277.50 92.50 337.50 1.8763 -277.50 92.50 342.50 1.70709 -277.50 92.50 347.50 1.52023 -277.50 92.50 352.50 1.3016 -277.50 92.50 357.50 0.987356 -277.50 97.50 2.50 0.675975 -277.50 97.50 7.50 0.904599 -277.50 97.50 12.50 1.30054 -277.50 97.50 17.50 1.53291 -277.50 97.50 22.50 1.72113 -277.50 97.50 27.50 1.9414 -277.50 97.50 32.50 2.09116 -277.50 97.50 37.50 2.22374 -277.50 97.50 42.50 2.26669 -277.50 97.50 47.50 2.14012 -277.50 97.50 52.50 1.95851 -277.50 97.50 57.50 1.78035 -277.50 97.50 62.50 1.63603 -277.50 97.50 67.50 1.54273 -277.50 97.50 72.50 1.41026 -277.50 97.50 77.50 1.23448 -277.50 97.50 82.50 1.13152 -277.50 97.50 87.50 0.839019 -277.50 97.50 92.50 0.675975 -277.50 97.50 97.50 0.904599 -277.50 97.50 102.50 1.30054 -277.50 97.50 107.50 1.53291 -277.50 97.50 112.50 1.72113 -277.50 97.50 117.50 1.9414 -277.50 97.50 122.50 2.09116 -277.50 97.50 127.50 2.22374 -277.50 97.50 132.50 2.26669 -277.50 97.50 137.50 2.14012 -277.50 97.50 142.50 1.95851 -277.50 97.50 147.50 1.78035 -277.50 97.50 152.50 1.63603 -277.50 97.50 157.50 1.54273 -277.50 97.50 162.50 1.41026 -277.50 97.50 167.50 1.23448 -277.50 97.50 172.50 1.13153 -277.50 97.50 177.50 0.83902 -277.50 97.50 182.50 0.675975 -277.50 97.50 187.50 0.904599 -277.50 97.50 192.50 1.30055 -277.50 97.50 197.50 1.53291 -277.50 97.50 202.50 1.72113 -277.50 97.50 207.50 1.9414 -277.50 97.50 212.50 2.09116 -277.50 97.50 217.50 2.22374 -277.50 97.50 222.50 2.2667 -277.50 97.50 227.50 2.14012 -277.50 97.50 232.50 1.95851 -277.50 97.50 237.50 1.78035 -277.50 97.50 242.50 1.63603 -277.50 97.50 247.50 1.54273 -277.50 97.50 252.50 1.41026 -277.50 97.50 257.50 1.23448 -277.50 97.50 262.50 1.13153 -277.50 97.50 267.50 0.83902 -277.50 97.50 272.50 0.675975 -277.50 97.50 277.50 0.904599 -277.50 97.50 282.50 1.30055 -277.50 97.50 287.50 1.53291 -277.50 97.50 292.50 1.72113 -277.50 97.50 297.50 1.9414 -277.50 97.50 302.50 2.09116 -277.50 97.50 307.50 2.22374 -277.50 97.50 312.50 2.26669 -277.50 97.50 317.50 2.14012 -277.50 97.50 322.50 1.95851 -277.50 97.50 327.50 1.78035 -277.50 97.50 332.50 1.63603 -277.50 97.50 337.50 1.54273 -277.50 97.50 342.50 1.41026 -277.50 97.50 347.50 1.23448 -277.50 97.50 352.50 1.13153 -277.50 97.50 357.50 0.83902 -277.50 102.50 2.50 0.678531 -277.50 102.50 7.50 0.974542 -277.50 102.50 12.50 1.30382 -277.50 102.50 17.50 1.54849 -277.50 102.50 22.50 1.72625 -277.50 102.50 27.50 1.78902 -277.50 102.50 32.50 1.86928 -277.50 102.50 37.50 1.89632 -277.50 102.50 42.50 1.76806 -277.50 102.50 47.50 1.5513 -277.50 102.50 52.50 1.33209 -277.50 102.50 57.50 1.15026 -277.50 102.50 62.50 1.03003 -277.50 102.50 67.50 0.994834 -277.50 102.50 72.50 1.00252 -277.50 102.50 77.50 0.985946 -277.50 102.50 82.50 0.900572 -277.50 102.50 87.50 0.846667 -277.50 102.50 92.50 0.678531 -277.50 102.50 97.50 0.974543 -277.50 102.50 102.50 1.30382 -277.50 102.50 107.50 1.54849 -277.50 102.50 112.50 1.72625 -277.50 102.50 117.50 1.78902 -277.50 102.50 122.50 1.86928 -277.50 102.50 127.50 1.89632 -277.50 102.50 132.50 1.76806 -277.50 102.50 137.50 1.5513 -277.50 102.50 142.50 1.33209 -277.50 102.50 147.50 1.15026 -277.50 102.50 152.50 1.03003 -277.50 102.50 157.50 0.994834 -277.50 102.50 162.50 1.00253 -277.50 102.50 167.50 0.985947 -277.50 102.50 172.50 0.900573 -277.50 102.50 177.50 0.846666 -277.50 102.50 182.50 0.678531 -277.50 102.50 187.50 0.974543 -277.50 102.50 192.50 1.30382 -277.50 102.50 197.50 1.54849 -277.50 102.50 202.50 1.72625 -277.50 102.50 207.50 1.78902 -277.50 102.50 212.50 1.86928 -277.50 102.50 217.50 1.89632 -277.50 102.50 222.50 1.76806 -277.50 102.50 227.50 1.5513 -277.50 102.50 232.50 1.33209 -277.50 102.50 237.50 1.15026 -277.50 102.50 242.50 1.03003 -277.50 102.50 247.50 0.994834 -277.50 102.50 252.50 1.00253 -277.50 102.50 257.50 0.985947 -277.50 102.50 262.50 0.900572 -277.50 102.50 267.50 0.846667 -277.50 102.50 272.50 0.678531 -277.50 102.50 277.50 0.974543 -277.50 102.50 282.50 1.30382 -277.50 102.50 287.50 1.54849 -277.50 102.50 292.50 1.72625 -277.50 102.50 297.50 1.78902 -277.50 102.50 302.50 1.86928 -277.50 102.50 307.50 1.89631 -277.50 102.50 312.50 1.76806 -277.50 102.50 317.50 1.5513 -277.50 102.50 322.50 1.33209 -277.50 102.50 327.50 1.15026 -277.50 102.50 332.50 1.03003 -277.50 102.50 337.50 0.994834 -277.50 102.50 342.50 1.00252 -277.50 102.50 347.50 0.985947 -277.50 102.50 352.50 0.900572 -277.50 102.50 357.50 0.846667 -277.50 107.50 2.50 0.62136 -277.50 107.50 7.50 0.88768 -277.50 107.50 12.50 1.27734 -277.50 107.50 17.50 1.36928 -277.50 107.50 22.50 1.32676 -277.50 107.50 27.50 1.25923 -277.50 107.50 32.50 1.17616 -277.50 107.50 37.50 1.0831 -277.50 107.50 42.50 0.929732 -277.50 107.50 47.50 0.744164 -277.50 107.50 52.50 0.575054 -277.50 107.50 57.50 0.497392 -277.50 107.50 62.50 0.453531 -277.50 107.50 67.50 0.511238 -277.50 107.50 72.50 0.6064 -277.50 107.50 77.50 0.655583 -277.50 107.50 82.50 0.731978 -277.50 107.50 87.50 0.727332 -277.50 107.50 92.50 0.62136 -277.50 107.50 97.50 0.887681 -277.50 107.50 102.50 1.27733 -277.50 107.50 107.50 1.36928 -277.50 107.50 112.50 1.32676 -277.50 107.50 117.50 1.25923 -277.50 107.50 122.50 1.17616 -277.50 107.50 127.50 1.0831 -277.50 107.50 132.50 0.929732 -277.50 107.50 137.50 0.744164 -277.50 107.50 142.50 0.575055 -277.50 107.50 147.50 0.497392 -277.50 107.50 152.50 0.453532 -277.50 107.50 157.50 0.511238 -277.50 107.50 162.50 0.6064 -277.50 107.50 167.50 0.655583 -277.50 107.50 172.50 0.731979 -277.50 107.50 177.50 0.727332 -277.50 107.50 182.50 0.62136 -277.50 107.50 187.50 0.887681 -277.50 107.50 192.50 1.27733 -277.50 107.50 197.50 1.36928 -277.50 107.50 202.50 1.32676 -277.50 107.50 207.50 1.25923 -277.50 107.50 212.50 1.17616 -277.50 107.50 217.50 1.0831 -277.50 107.50 222.50 0.929733 -277.50 107.50 227.50 0.744164 -277.50 107.50 232.50 0.575054 -277.50 107.50 237.50 0.497392 -277.50 107.50 242.50 0.453531 -277.50 107.50 247.50 0.511239 -277.50 107.50 252.50 0.6064 -277.50 107.50 257.50 0.655583 -277.50 107.50 262.50 0.731979 -277.50 107.50 267.50 0.727332 -277.50 107.50 272.50 0.62136 -277.50 107.50 277.50 0.887681 -277.50 107.50 282.50 1.27734 -277.50 107.50 287.50 1.36928 -277.50 107.50 292.50 1.32676 -277.50 107.50 297.50 1.25923 -277.50 107.50 302.50 1.17616 -277.50 107.50 307.50 1.0831 -277.50 107.50 312.50 0.929733 -277.50 107.50 317.50 0.744164 -277.50 107.50 322.50 0.575055 -277.50 107.50 327.50 0.497392 -277.50 107.50 332.50 0.453531 -277.50 107.50 337.50 0.511238 -277.50 107.50 342.50 0.606399 -277.50 107.50 347.50 0.655583 -277.50 107.50 352.50 0.731979 -277.50 107.50 357.50 0.727332 -277.50 112.50 2.50 0.48194 -277.50 112.50 7.50 0.692972 -277.50 112.50 12.50 0.981032 -277.50 112.50 17.50 1.02864 -277.50 112.50 22.50 0.924236 -277.50 112.50 27.50 0.68723 -277.50 112.50 32.50 0.532978 -277.50 112.50 37.50 0.420562 -277.50 112.50 42.50 0.32551 -277.50 112.50 47.50 0.226613 -277.50 112.50 52.50 0.17526 -277.50 112.50 57.50 0.14196 -277.50 112.50 62.50 0.157031 -277.50 112.50 67.50 0.20459 -277.50 112.50 72.50 0.277815 -277.50 112.50 77.50 0.402013 -277.50 112.50 82.50 0.534204 -277.50 112.50 87.50 0.497252 -277.50 112.50 92.50 0.48194 -277.50 112.50 97.50 0.692972 -277.50 112.50 102.50 0.981031 -277.50 112.50 107.50 1.02864 -277.50 112.50 112.50 0.924236 -277.50 112.50 117.50 0.68723 -277.50 112.50 122.50 0.532978 -277.50 112.50 127.50 0.420562 -277.50 112.50 132.50 0.32551 -277.50 112.50 137.50 0.226613 -277.50 112.50 142.50 0.17526 -277.50 112.50 147.50 0.14196 -277.50 112.50 152.50 0.157031 -277.50 112.50 157.50 0.20459 -277.50 112.50 162.50 0.277815 -277.50 112.50 167.50 0.402013 -277.50 112.50 172.50 0.534204 -277.50 112.50 177.50 0.497252 -277.50 112.50 182.50 0.48194 -277.50 112.50 187.50 0.692973 -277.50 112.50 192.50 0.981032 -277.50 112.50 197.50 1.02864 -277.50 112.50 202.50 0.924236 -277.50 112.50 207.50 0.68723 -277.50 112.50 212.50 0.532979 -277.50 112.50 217.50 0.420563 -277.50 112.50 222.50 0.32551 -277.50 112.50 227.50 0.226613 -277.50 112.50 232.50 0.17526 -277.50 112.50 237.50 0.14196 -277.50 112.50 242.50 0.157031 -277.50 112.50 247.50 0.204591 -277.50 112.50 252.50 0.277815 -277.50 112.50 257.50 0.402013 -277.50 112.50 262.50 0.534204 -277.50 112.50 267.50 0.497252 -277.50 112.50 272.50 0.48194 -277.50 112.50 277.50 0.692972 -277.50 112.50 282.50 0.981031 -277.50 112.50 287.50 1.02864 -277.50 112.50 292.50 0.924236 -277.50 112.50 297.50 0.68723 -277.50 112.50 302.50 0.532978 -277.50 112.50 307.50 0.420563 -277.50 112.50 312.50 0.32551 -277.50 112.50 317.50 0.226613 -277.50 112.50 322.50 0.17526 -277.50 112.50 327.50 0.14196 -277.50 112.50 332.50 0.157031 -277.50 112.50 337.50 0.20459 -277.50 112.50 342.50 0.277814 -277.50 112.50 347.50 0.402013 -277.50 112.50 352.50 0.534204 -277.50 112.50 357.50 0.497252 -277.50 117.50 2.50 0.315487 -277.50 117.50 7.50 0.423211 -277.50 117.50 12.50 0.553665 -277.50 117.50 17.50 0.614974 -277.50 117.50 22.50 0.497872 -277.50 117.50 27.50 0.330717 -277.50 117.50 32.50 0.175925 -277.50 117.50 37.50 0.116624 -277.50 117.50 42.50 0.0773156 -277.50 117.50 47.50 0.0501733 -277.50 117.50 52.50 0.0384043 -277.50 117.50 57.50 0.0312141 -277.50 117.50 62.50 0.0327665 -277.50 117.50 67.50 0.0571467 -277.50 117.50 72.50 0.121828 -277.50 117.50 77.50 0.194398 -277.50 117.50 82.50 0.292089 -277.50 117.50 87.50 0.301277 -277.50 117.50 92.50 0.315487 -277.50 117.50 97.50 0.423211 -277.50 117.50 102.50 0.553665 -277.50 117.50 107.50 0.614974 -277.50 117.50 112.50 0.497872 -277.50 117.50 117.50 0.330718 -277.50 117.50 122.50 0.175925 -277.50 117.50 127.50 0.116624 -277.50 117.50 132.50 0.0773156 -277.50 117.50 137.50 0.0501734 -277.50 117.50 142.50 0.0384043 -277.50 117.50 147.50 0.0312141 -277.50 117.50 152.50 0.0327665 -277.50 117.50 157.50 0.0571467 -277.50 117.50 162.50 0.121828 -277.50 117.50 167.50 0.194398 -277.50 117.50 172.50 0.292089 -277.50 117.50 177.50 0.301277 -277.50 117.50 182.50 0.315487 -277.50 117.50 187.50 0.423212 -277.50 117.50 192.50 0.553665 -277.50 117.50 197.50 0.614975 -277.50 117.50 202.50 0.497872 -277.50 117.50 207.50 0.330718 -277.50 117.50 212.50 0.175925 -277.50 117.50 217.50 0.116624 -277.50 117.50 222.50 0.0773157 -277.50 117.50 227.50 0.0501734 -277.50 117.50 232.50 0.0384043 -277.50 117.50 237.50 0.0312141 -277.50 117.50 242.50 0.0327665 -277.50 117.50 247.50 0.0571467 -277.50 117.50 252.50 0.121828 -277.50 117.50 257.50 0.194398 -277.50 117.50 262.50 0.292089 -277.50 117.50 267.50 0.301277 -277.50 117.50 272.50 0.315487 -277.50 117.50 277.50 0.423211 -277.50 117.50 282.50 0.553665 -277.50 117.50 287.50 0.614974 -277.50 117.50 292.50 0.497872 -277.50 117.50 297.50 0.330718 -277.50 117.50 302.50 0.175925 -277.50 117.50 307.50 0.116624 -277.50 117.50 312.50 0.0773156 -277.50 117.50 317.50 0.0501734 -277.50 117.50 322.50 0.0384043 -277.50 117.50 327.50 0.0312141 -277.50 117.50 332.50 0.0327665 -277.50 117.50 337.50 0.0571465 -277.50 117.50 342.50 0.121827 -277.50 117.50 347.50 0.194398 -277.50 117.50 352.50 0.292089 -277.50 117.50 357.50 0.301277 -277.50 122.50 2.50 0.199216 -277.50 122.50 7.50 0.217024 -277.50 122.50 12.50 0.250801 -277.50 122.50 17.50 0.280883 -277.50 122.50 22.50 0.202193 -277.50 122.50 27.50 0.113871 -277.50 122.50 32.50 0.0555579 -277.50 122.50 37.50 0.0260342 -277.50 122.50 42.50 0.0152566 -277.50 122.50 47.50 0.00959741 -277.50 122.50 52.50 0.00583438 -277.50 122.50 57.50 0.00579802 -277.50 122.50 62.50 0.007465 -277.50 122.50 67.50 0.0177908 -277.50 122.50 72.50 0.0389298 -277.50 122.50 77.50 0.0733649 -277.50 122.50 82.50 0.116617 -277.50 122.50 87.50 0.164714 -277.50 122.50 92.50 0.199216 -277.50 122.50 97.50 0.217024 -277.50 122.50 102.50 0.250801 -277.50 122.50 107.50 0.280882 -277.50 122.50 112.50 0.202193 -277.50 122.50 117.50 0.113871 -277.50 122.50 122.50 0.0555579 -277.50 122.50 127.50 0.0260342 -277.50 122.50 132.50 0.0152566 -277.50 122.50 137.50 0.00959742 -277.50 122.50 142.50 0.00583438 -277.50 122.50 147.50 0.00579802 -277.50 122.50 152.50 0.007465 -277.50 122.50 157.50 0.0177908 -277.50 122.50 162.50 0.0389298 -277.50 122.50 167.50 0.0733649 -277.50 122.50 172.50 0.116617 -277.50 122.50 177.50 0.164714 -277.50 122.50 182.50 0.199216 -277.50 122.50 187.50 0.217024 -277.50 122.50 192.50 0.250801 -277.50 122.50 197.50 0.280883 -277.50 122.50 202.50 0.202193 -277.50 122.50 207.50 0.113871 -277.50 122.50 212.50 0.0555579 -277.50 122.50 217.50 0.0260342 -277.50 122.50 222.50 0.0152566 -277.50 122.50 227.50 0.00959742 -277.50 122.50 232.50 0.00583437 -277.50 122.50 237.50 0.00579801 -277.50 122.50 242.50 0.007465 -277.50 122.50 247.50 0.0177908 -277.50 122.50 252.50 0.0389299 -277.50 122.50 257.50 0.0733649 -277.50 122.50 262.50 0.116617 -277.50 122.50 267.50 0.164714 -277.50 122.50 272.50 0.199216 -277.50 122.50 277.50 0.217024 -277.50 122.50 282.50 0.250801 -277.50 122.50 287.50 0.280883 -277.50 122.50 292.50 0.202193 -277.50 122.50 297.50 0.113871 -277.50 122.50 302.50 0.0555579 -277.50 122.50 307.50 0.0260342 -277.50 122.50 312.50 0.0152566 -277.50 122.50 317.50 0.00959742 -277.50 122.50 322.50 0.00583438 -277.50 122.50 327.50 0.00579802 -277.50 122.50 332.50 0.00746498 -277.50 122.50 337.50 0.0177907 -277.50 122.50 342.50 0.0389298 -277.50 122.50 347.50 0.0733647 -277.50 122.50 352.50 0.116616 -277.50 122.50 357.50 0.164714 -277.50 127.50 2.50 0.129213 -277.50 127.50 7.50 0.111751 -277.50 127.50 12.50 0.0935965 -277.50 127.50 17.50 0.0867766 -277.50 127.50 22.50 0.070479 -277.50 127.50 27.50 0.0308298 -277.50 127.50 32.50 0.0185263 -277.50 127.50 37.50 0.0147355 -277.50 127.50 42.50 0.0146644 -277.50 127.50 47.50 0.0224384 -277.50 127.50 52.50 0.0189908 -277.50 127.50 57.50 0.0224542 -277.50 127.50 62.50 0.0202864 -277.50 127.50 67.50 0.0130544 -277.50 127.50 72.50 0.0154728 -277.50 127.50 77.50 0.0279321 -277.50 127.50 82.50 0.0447639 -277.50 127.50 87.50 0.0878479 -277.50 127.50 92.50 0.129213 -277.50 127.50 97.50 0.111751 -277.50 127.50 102.50 0.0935966 -277.50 127.50 107.50 0.0867767 -277.50 127.50 112.50 0.070479 -277.50 127.50 117.50 0.0308298 -277.50 127.50 122.50 0.0185263 -277.50 127.50 127.50 0.0147355 -277.50 127.50 132.50 0.0146644 -277.50 127.50 137.50 0.0224384 -277.50 127.50 142.50 0.0189908 -277.50 127.50 147.50 0.0224542 -277.50 127.50 152.50 0.0202864 -277.50 127.50 157.50 0.0130544 -277.50 127.50 162.50 0.0154728 -277.50 127.50 167.50 0.0279321 -277.50 127.50 172.50 0.0447639 -277.50 127.50 177.50 0.0878479 -277.50 127.50 182.50 0.129213 -277.50 127.50 187.50 0.111751 -277.50 127.50 192.50 0.0935966 -277.50 127.50 197.50 0.0867767 -277.50 127.50 202.50 0.0704791 -277.50 127.50 207.50 0.0308298 -277.50 127.50 212.50 0.0185263 -277.50 127.50 217.50 0.0147355 -277.50 127.50 222.50 0.0146644 -277.50 127.50 227.50 0.0224384 -277.50 127.50 232.50 0.0189907 -277.50 127.50 237.50 0.0224542 -277.50 127.50 242.50 0.0202864 -277.50 127.50 247.50 0.0130544 -277.50 127.50 252.50 0.0154728 -277.50 127.50 257.50 0.0279321 -277.50 127.50 262.50 0.0447639 -277.50 127.50 267.50 0.087848 -277.50 127.50 272.50 0.129213 -277.50 127.50 277.50 0.111751 -277.50 127.50 282.50 0.0935965 -277.50 127.50 287.50 0.0867766 -277.50 127.50 292.50 0.0704791 -277.50 127.50 297.50 0.0308299 -277.50 127.50 302.50 0.0185263 -277.50 127.50 307.50 0.0147355 -277.50 127.50 312.50 0.0146644 -277.50 127.50 317.50 0.0224384 -277.50 127.50 322.50 0.0189908 -277.50 127.50 327.50 0.0224542 -277.50 127.50 332.50 0.0202864 -277.50 127.50 337.50 0.0130544 -277.50 127.50 342.50 0.0154727 -277.50 127.50 347.50 0.0279321 -277.50 127.50 352.50 0.0447638 -277.50 127.50 357.50 0.0878477 -277.50 132.50 2.50 0.0716309 -277.50 132.50 7.50 0.0584064 -277.50 132.50 12.50 0.0318592 -277.50 132.50 17.50 0.0220366 -277.50 132.50 22.50 0.0254592 -277.50 132.50 27.50 0.032397 -277.50 132.50 32.50 0.0561325 -277.50 132.50 37.50 0.0919799 -277.50 132.50 42.50 0.119274 -277.50 132.50 47.50 0.159105 -277.50 132.50 52.50 0.152444 -277.50 132.50 57.50 0.154173 -277.50 132.50 62.50 0.112257 -277.50 132.50 67.50 0.0685249 -277.50 132.50 72.50 0.0465787 -277.50 132.50 77.50 0.0264904 -277.50 132.50 82.50 0.022551 -277.50 132.50 87.50 0.0443058 -277.50 132.50 92.50 0.0716309 -277.50 132.50 97.50 0.0584064 -277.50 132.50 102.50 0.0318592 -277.50 132.50 107.50 0.0220366 -277.50 132.50 112.50 0.0254592 -277.50 132.50 117.50 0.032397 -277.50 132.50 122.50 0.0561325 -277.50 132.50 127.50 0.0919798 -277.50 132.50 132.50 0.119274 -277.50 132.50 137.50 0.159105 -277.50 132.50 142.50 0.152444 -277.50 132.50 147.50 0.154173 -277.50 132.50 152.50 0.112257 -277.50 132.50 157.50 0.0685249 -277.50 132.50 162.50 0.0465786 -277.50 132.50 167.50 0.0264904 -277.50 132.50 172.50 0.022551 -277.50 132.50 177.50 0.0443058 -277.50 132.50 182.50 0.071631 -277.50 132.50 187.50 0.0584064 -277.50 132.50 192.50 0.0318593 -277.50 132.50 197.50 0.0220366 -277.50 132.50 202.50 0.0254592 -277.50 132.50 207.50 0.032397 -277.50 132.50 212.50 0.0561325 -277.50 132.50 217.50 0.0919798 -277.50 132.50 222.50 0.119274 -277.50 132.50 227.50 0.159105 -277.50 132.50 232.50 0.152444 -277.50 132.50 237.50 0.154173 -277.50 132.50 242.50 0.112257 -277.50 132.50 247.50 0.0685249 -277.50 132.50 252.50 0.0465786 -277.50 132.50 257.50 0.0264903 -277.50 132.50 262.50 0.022551 -277.50 132.50 267.50 0.0443058 -277.50 132.50 272.50 0.0716309 -277.50 132.50 277.50 0.0584064 -277.50 132.50 282.50 0.0318593 -277.50 132.50 287.50 0.0220366 -277.50 132.50 292.50 0.0254592 -277.50 132.50 297.50 0.032397 -277.50 132.50 302.50 0.0561325 -277.50 132.50 307.50 0.0919799 -277.50 132.50 312.50 0.119274 -277.50 132.50 317.50 0.159105 -277.50 132.50 322.50 0.152444 -277.50 132.50 327.50 0.154173 -277.50 132.50 332.50 0.112257 -277.50 132.50 337.50 0.068525 -277.50 132.50 342.50 0.0465788 -277.50 132.50 347.50 0.0264904 -277.50 132.50 352.50 0.0225509 -277.50 132.50 357.50 0.0443057 -277.50 137.50 2.50 0.0446415 -277.50 137.50 7.50 0.0381159 -277.50 137.50 12.50 0.0213814 -277.50 137.50 17.50 0.0214015 -277.50 137.50 22.50 0.0486706 -277.50 137.50 27.50 0.117599 -277.50 137.50 32.50 0.226916 -277.50 137.50 37.50 0.425319 -277.50 137.50 42.50 0.55622 -277.50 137.50 47.50 0.715766 -277.50 137.50 52.50 0.660828 -277.50 137.50 57.50 0.595303 -277.50 137.50 62.50 0.400611 -277.50 137.50 67.50 0.26034 -277.50 137.50 72.50 0.156419 -277.50 137.50 77.50 0.0738832 -277.50 137.50 82.50 0.0323235 -277.50 137.50 87.50 0.0320298 -277.50 137.50 92.50 0.0446415 -277.50 137.50 97.50 0.0381159 -277.50 137.50 102.50 0.0213814 -277.50 137.50 107.50 0.0214015 -277.50 137.50 112.50 0.0486705 -277.50 137.50 117.50 0.117599 -277.50 137.50 122.50 0.226915 -277.50 137.50 127.50 0.425319 -277.50 137.50 132.50 0.55622 -277.50 137.50 137.50 0.715766 -277.50 137.50 142.50 0.660828 -277.50 137.50 147.50 0.595303 -277.50 137.50 152.50 0.400611 -277.50 137.50 157.50 0.26034 -277.50 137.50 162.50 0.15642 -277.50 137.50 167.50 0.0738832 -277.50 137.50 172.50 0.0323235 -277.50 137.50 177.50 0.0320298 -277.50 137.50 182.50 0.0446415 -277.50 137.50 187.50 0.0381159 -277.50 137.50 192.50 0.0213814 -277.50 137.50 197.50 0.0214015 -277.50 137.50 202.50 0.0486705 -277.50 137.50 207.50 0.117599 -277.50 137.50 212.50 0.226915 -277.50 137.50 217.50 0.425319 -277.50 137.50 222.50 0.556219 -277.50 137.50 227.50 0.715766 -277.50 137.50 232.50 0.660828 -277.50 137.50 237.50 0.595303 -277.50 137.50 242.50 0.400611 -277.50 137.50 247.50 0.26034 -277.50 137.50 252.50 0.156419 -277.50 137.50 257.50 0.0738831 -277.50 137.50 262.50 0.0323235 -277.50 137.50 267.50 0.0320299 -277.50 137.50 272.50 0.0446415 -277.50 137.50 277.50 0.0381159 -277.50 137.50 282.50 0.0213814 -277.50 137.50 287.50 0.0214015 -277.50 137.50 292.50 0.0486705 -277.50 137.50 297.50 0.117599 -277.50 137.50 302.50 0.226915 -277.50 137.50 307.50 0.425319 -277.50 137.50 312.50 0.55622 -277.50 137.50 317.50 0.715766 -277.50 137.50 322.50 0.660828 -277.50 137.50 327.50 0.595303 -277.50 137.50 332.50 0.400611 -277.50 137.50 337.50 0.26034 -277.50 137.50 342.50 0.15642 -277.50 137.50 347.50 0.0738834 -277.50 137.50 352.50 0.0323236 -277.50 137.50 357.50 0.0320298 -277.50 142.50 2.50 0.0716309 -277.50 142.50 7.50 0.064012 -277.50 142.50 12.50 0.0483848 -277.50 142.50 17.50 0.063983 -277.50 142.50 22.50 0.141382 -277.50 142.50 27.50 0.323247 -277.50 142.50 32.50 0.661871 -277.50 142.50 37.50 1.14566 -277.50 142.50 42.50 1.64199 -277.50 142.50 47.50 1.91265 -277.50 142.50 52.50 1.82863 -277.50 142.50 57.50 1.48065 -277.50 142.50 62.50 1.03025 -277.50 142.50 67.50 0.62698 -277.50 142.50 72.50 0.356891 -277.50 142.50 77.50 0.17185 -277.50 142.50 82.50 0.0755905 -277.50 142.50 87.50 0.0616514 -277.50 142.50 92.50 0.071631 -277.50 142.50 97.50 0.064012 -277.50 142.50 102.50 0.0483848 -277.50 142.50 107.50 0.063983 -277.50 142.50 112.50 0.141382 -277.50 142.50 117.50 0.323247 -277.50 142.50 122.50 0.661871 -277.50 142.50 127.50 1.14566 -277.50 142.50 132.50 1.64199 -277.50 142.50 137.50 1.91265 -277.50 142.50 142.50 1.82863 -277.50 142.50 147.50 1.48065 -277.50 142.50 152.50 1.03025 -277.50 142.50 157.50 0.626981 -277.50 142.50 162.50 0.356891 -277.50 142.50 167.50 0.17185 -277.50 142.50 172.50 0.0755905 -277.50 142.50 177.50 0.0616514 -277.50 142.50 182.50 0.071631 -277.50 142.50 187.50 0.0640119 -277.50 142.50 192.50 0.0483848 -277.50 142.50 197.50 0.063983 -277.50 142.50 202.50 0.141382 -277.50 142.50 207.50 0.323246 -277.50 142.50 212.50 0.661871 -277.50 142.50 217.50 1.14566 -277.50 142.50 222.50 1.64199 -277.50 142.50 227.50 1.91265 -277.50 142.50 232.50 1.82863 -277.50 142.50 237.50 1.48065 -277.50 142.50 242.50 1.03025 -277.50 142.50 247.50 0.62698 -277.50 142.50 252.50 0.356891 -277.50 142.50 257.50 0.17185 -277.50 142.50 262.50 0.0755903 -277.50 142.50 267.50 0.0616514 -277.50 142.50 272.50 0.0716309 -277.50 142.50 277.50 0.064012 -277.50 142.50 282.50 0.0483847 -277.50 142.50 287.50 0.0639829 -277.50 142.50 292.50 0.141382 -277.50 142.50 297.50 0.323246 -277.50 142.50 302.50 0.661871 -277.50 142.50 307.50 1.14566 -277.50 142.50 312.50 1.64199 -277.50 142.50 317.50 1.91265 -277.50 142.50 322.50 1.82863 -277.50 142.50 327.50 1.48065 -277.50 142.50 332.50 1.03025 -277.50 142.50 337.50 0.626981 -277.50 142.50 342.50 0.356892 -277.50 142.50 347.50 0.17185 -277.50 142.50 352.50 0.0755906 -277.50 142.50 357.50 0.0616513 -277.50 147.50 2.50 0.129213 -277.50 147.50 7.50 0.122909 -277.50 147.50 12.50 0.116352 -277.50 147.50 17.50 0.155519 -277.50 147.50 22.50 0.293616 -277.50 147.50 27.50 0.615072 -277.50 147.50 32.50 1.21571 -277.50 147.50 37.50 2.08558 -277.50 147.50 42.50 2.958 -277.50 147.50 47.50 3.47034 -277.50 147.50 52.50 3.36985 -277.50 147.50 57.50 2.70449 -277.50 147.50 62.50 1.82953 -277.50 147.50 67.50 1.10692 -277.50 147.50 72.50 0.604254 -277.50 147.50 77.50 0.292757 -277.50 147.50 82.50 0.145218 -277.50 147.50 87.50 0.118247 -277.50 147.50 92.50 0.129213 -277.50 147.50 97.50 0.122909 -277.50 147.50 102.50 0.116352 -277.50 147.50 107.50 0.155519 -277.50 147.50 112.50 0.293616 -277.50 147.50 117.50 0.615072 -277.50 147.50 122.50 1.21571 -277.50 147.50 127.50 2.08558 -277.50 147.50 132.50 2.958 -277.50 147.50 137.50 3.47034 -277.50 147.50 142.50 3.36986 -277.50 147.50 147.50 2.70449 -277.50 147.50 152.50 1.82953 -277.50 147.50 157.50 1.10692 -277.50 147.50 162.50 0.604255 -277.50 147.50 167.50 0.292757 -277.50 147.50 172.50 0.145218 -277.50 147.50 177.50 0.118247 -277.50 147.50 182.50 0.129213 -277.50 147.50 187.50 0.122909 -277.50 147.50 192.50 0.116352 -277.50 147.50 197.50 0.155519 -277.50 147.50 202.50 0.293616 -277.50 147.50 207.50 0.615071 -277.50 147.50 212.50 1.21571 -277.50 147.50 217.50 2.08558 -277.50 147.50 222.50 2.958 -277.50 147.50 227.50 3.47034 -277.50 147.50 232.50 3.36986 -277.50 147.50 237.50 2.70449 -277.50 147.50 242.50 1.82953 -277.50 147.50 247.50 1.10692 -277.50 147.50 252.50 0.604254 -277.50 147.50 257.50 0.292756 -277.50 147.50 262.50 0.145218 -277.50 147.50 267.50 0.118247 -277.50 147.50 272.50 0.129213 -277.50 147.50 277.50 0.122909 -277.50 147.50 282.50 0.116352 -277.50 147.50 287.50 0.155519 -277.50 147.50 292.50 0.293615 -277.50 147.50 297.50 0.615071 -277.50 147.50 302.50 1.21571 -277.50 147.50 307.50 2.08558 -277.50 147.50 312.50 2.958 -277.50 147.50 317.50 3.47034 -277.50 147.50 322.50 3.36986 -277.50 147.50 327.50 2.70449 -277.50 147.50 332.50 1.82954 -277.50 147.50 337.50 1.10692 -277.50 147.50 342.50 0.604255 -277.50 147.50 347.50 0.292757 -277.50 147.50 352.50 0.145218 -277.50 147.50 357.50 0.118247 -277.50 152.50 2.50 0.199216 -277.50 152.50 7.50 0.2097 -277.50 152.50 12.50 0.236243 -277.50 152.50 17.50 0.286681 -277.50 152.50 22.50 0.442374 -277.50 152.50 27.50 0.824262 -277.50 152.50 32.50 1.55947 -277.50 152.50 37.50 2.62026 -277.50 152.50 42.50 3.69609 -277.50 152.50 47.50 4.33348 -277.50 152.50 52.50 4.20894 -277.50 152.50 57.50 3.36237 -277.50 152.50 62.50 2.31146 -277.50 152.50 67.50 1.40693 -277.50 152.50 72.50 0.763625 -277.50 152.50 77.50 0.37138 -277.50 152.50 82.50 0.210139 -277.50 152.50 87.50 0.176545 -277.50 152.50 92.50 0.199216 -277.50 152.50 97.50 0.2097 -277.50 152.50 102.50 0.236243 -277.50 152.50 107.50 0.286681 -277.50 152.50 112.50 0.442374 -277.50 152.50 117.50 0.824262 -277.50 152.50 122.50 1.55947 -277.50 152.50 127.50 2.62026 -277.50 152.50 132.50 3.69609 -277.50 152.50 137.50 4.33348 -277.50 152.50 142.50 4.20894 -277.50 152.50 147.50 3.36236 -277.50 152.50 152.50 2.31146 -277.50 152.50 157.50 1.40693 -277.50 152.50 162.50 0.763625 -277.50 152.50 167.50 0.37138 -277.50 152.50 172.50 0.210139 -277.50 152.50 177.50 0.176545 -277.50 152.50 182.50 0.199216 -277.50 152.50 187.50 0.2097 -277.50 152.50 192.50 0.236242 -277.50 152.50 197.50 0.286681 -277.50 152.50 202.50 0.442373 -277.50 152.50 207.50 0.824261 -277.50 152.50 212.50 1.55947 -277.50 152.50 217.50 2.62026 -277.50 152.50 222.50 3.69609 -277.50 152.50 227.50 4.33348 -277.50 152.50 232.50 4.20894 -277.50 152.50 237.50 3.36236 -277.50 152.50 242.50 2.31146 -277.50 152.50 247.50 1.40692 -277.50 152.50 252.50 0.763625 -277.50 152.50 257.50 0.37138 -277.50 152.50 262.50 0.210138 -277.50 152.50 267.50 0.176545 -277.50 152.50 272.50 0.199216 -277.50 152.50 277.50 0.2097 -277.50 152.50 282.50 0.236242 -277.50 152.50 287.50 0.286681 -277.50 152.50 292.50 0.442373 -277.50 152.50 297.50 0.82426 -277.50 152.50 302.50 1.55946 -277.50 152.50 307.50 2.62025 -277.50 152.50 312.50 3.69609 -277.50 152.50 317.50 4.33348 -277.50 152.50 322.50 4.20894 -277.50 152.50 327.50 3.36236 -277.50 152.50 332.50 2.31147 -277.50 152.50 337.50 1.40693 -277.50 152.50 342.50 0.763626 -277.50 152.50 347.50 0.371381 -277.50 152.50 352.50 0.210139 -277.50 152.50 357.50 0.176545 -277.50 157.50 2.50 0.315487 -277.50 157.50 7.50 0.359669 -277.50 157.50 12.50 0.414033 -277.50 157.50 17.50 0.439566 -277.50 157.50 22.50 0.532543 -277.50 157.50 27.50 0.845019 -277.50 157.50 32.50 1.43418 -277.50 157.50 37.50 2.34686 -277.50 157.50 42.50 3.27428 -277.50 157.50 47.50 3.83254 -277.50 157.50 52.50 3.63698 -277.50 157.50 57.50 2.9516 -277.50 157.50 62.50 2.08375 -277.50 157.50 67.50 1.30889 -277.50 157.50 72.50 0.716853 -277.50 157.50 77.50 0.384715 -277.50 157.50 82.50 0.256208 -277.50 157.50 87.50 0.251243 -277.50 157.50 92.50 0.315487 -277.50 157.50 97.50 0.359669 -277.50 157.50 102.50 0.414034 -277.50 157.50 107.50 0.439566 -277.50 157.50 112.50 0.532542 -277.50 157.50 117.50 0.84502 -277.50 157.50 122.50 1.43418 -277.50 157.50 127.50 2.34686 -277.50 157.50 132.50 3.27429 -277.50 157.50 137.50 3.83254 -277.50 157.50 142.50 3.63699 -277.50 157.50 147.50 2.95161 -277.50 157.50 152.50 2.08375 -277.50 157.50 157.50 1.30889 -277.50 157.50 162.50 0.716853 -277.50 157.50 167.50 0.384715 -277.50 157.50 172.50 0.256208 -277.50 157.50 177.50 0.251242 -277.50 157.50 182.50 0.315487 -277.50 157.50 187.50 0.359668 -277.50 157.50 192.50 0.414034 -277.50 157.50 197.50 0.439566 -277.50 157.50 202.50 0.532543 -277.50 157.50 207.50 0.845019 -277.50 157.50 212.50 1.43418 -277.50 157.50 217.50 2.34686 -277.50 157.50 222.50 3.27428 -277.50 157.50 227.50 3.83254 -277.50 157.50 232.50 3.63699 -277.50 157.50 237.50 2.95161 -277.50 157.50 242.50 2.08375 -277.50 157.50 247.50 1.30889 -277.50 157.50 252.50 0.716852 -277.50 157.50 257.50 0.384715 -277.50 157.50 262.50 0.256208 -277.50 157.50 267.50 0.251243 -277.50 157.50 272.50 0.315487 -277.50 157.50 277.50 0.359668 -277.50 157.50 282.50 0.414033 -277.50 157.50 287.50 0.439566 -277.50 157.50 292.50 0.532542 -277.50 157.50 297.50 0.845018 -277.50 157.50 302.50 1.43418 -277.50 157.50 307.50 2.34685 -277.50 157.50 312.50 3.27428 -277.50 157.50 317.50 3.83255 -277.50 157.50 322.50 3.63699 -277.50 157.50 327.50 2.95161 -277.50 157.50 332.50 2.08375 -277.50 157.50 337.50 1.30889 -277.50 157.50 342.50 0.716854 -277.50 157.50 347.50 0.384716 -277.50 157.50 352.50 0.256208 -277.50 157.50 357.50 0.251242 -277.50 162.50 2.50 0.48194 -277.50 162.50 7.50 0.558621 -277.50 162.50 12.50 0.594511 -277.50 162.50 17.50 0.561809 -277.50 162.50 22.50 0.527195 -277.50 162.50 27.50 0.683606 -277.50 162.50 32.50 1.07404 -277.50 162.50 37.50 1.59739 -277.50 162.50 42.50 2.13429 -277.50 162.50 47.50 2.46548 -277.50 162.50 52.50 2.38186 -277.50 162.50 57.50 1.9798 -277.50 162.50 62.50 1.47679 -277.50 162.50 67.50 0.9487 -277.50 162.50 72.50 0.561139 -277.50 162.50 77.50 0.361966 -277.50 162.50 82.50 0.288839 -277.50 162.50 87.50 0.357811 -277.50 162.50 92.50 0.48194 -277.50 162.50 97.50 0.558621 -277.50 162.50 102.50 0.594511 -277.50 162.50 107.50 0.561809 -277.50 162.50 112.50 0.527195 -277.50 162.50 117.50 0.683606 -277.50 162.50 122.50 1.07404 -277.50 162.50 127.50 1.59739 -277.50 162.50 132.50 2.13429 -277.50 162.50 137.50 2.46548 -277.50 162.50 142.50 2.38186 -277.50 162.50 147.50 1.9798 -277.50 162.50 152.50 1.47679 -277.50 162.50 157.50 0.948701 -277.50 162.50 162.50 0.56114 -277.50 162.50 167.50 0.361966 -277.50 162.50 172.50 0.288839 -277.50 162.50 177.50 0.35781 -277.50 162.50 182.50 0.48194 -277.50 162.50 187.50 0.558621 -277.50 162.50 192.50 0.594511 -277.50 162.50 197.50 0.561809 -277.50 162.50 202.50 0.527195 -277.50 162.50 207.50 0.683605 -277.50 162.50 212.50 1.07404 -277.50 162.50 217.50 1.59739 -277.50 162.50 222.50 2.13429 -277.50 162.50 227.50 2.46548 -277.50 162.50 232.50 2.38186 -277.50 162.50 237.50 1.9798 -277.50 162.50 242.50 1.47679 -277.50 162.50 247.50 0.948699 -277.50 162.50 252.50 0.561139 -277.50 162.50 257.50 0.361966 -277.50 162.50 262.50 0.288839 -277.50 162.50 267.50 0.357811 -277.50 162.50 272.50 0.48194 -277.50 162.50 277.50 0.558621 -277.50 162.50 282.50 0.594511 -277.50 162.50 287.50 0.561809 -277.50 162.50 292.50 0.527195 -277.50 162.50 297.50 0.683605 -277.50 162.50 302.50 1.07404 -277.50 162.50 307.50 1.59739 -277.50 162.50 312.50 2.13429 -277.50 162.50 317.50 2.46548 -277.50 162.50 322.50 2.38186 -277.50 162.50 327.50 1.9798 -277.50 162.50 332.50 1.47679 -277.50 162.50 337.50 0.948701 -277.50 162.50 342.50 0.56114 -277.50 162.50 347.50 0.361967 -277.50 162.50 352.50 0.288839 -277.50 162.50 357.50 0.35781 -277.50 167.50 2.50 0.62136 -277.50 167.50 7.50 0.719669 -277.50 167.50 12.50 0.680419 -277.50 167.50 17.50 0.569854 -277.50 167.50 22.50 0.453063 -277.50 167.50 27.50 0.461889 -277.50 167.50 32.50 0.61554 -277.50 167.50 37.50 0.922204 -277.50 167.50 42.50 1.18349 -277.50 167.50 47.50 1.30137 -277.50 167.50 52.50 1.24911 -277.50 167.50 57.50 1.09058 -277.50 167.50 62.50 0.843855 -277.50 167.50 67.50 0.63043 -277.50 167.50 72.50 0.432846 -277.50 167.50 77.50 0.296244 -277.50 167.50 82.50 0.281707 -277.50 167.50 87.50 0.437086 -277.50 167.50 92.50 0.62136 -277.50 167.50 97.50 0.719669 -277.50 167.50 102.50 0.680419 -277.50 167.50 107.50 0.569854 -277.50 167.50 112.50 0.453063 -277.50 167.50 117.50 0.461889 -277.50 167.50 122.50 0.61554 -277.50 167.50 127.50 0.922204 -277.50 167.50 132.50 1.18349 -277.50 167.50 137.50 1.30137 -277.50 167.50 142.50 1.24911 -277.50 167.50 147.50 1.09058 -277.50 167.50 152.50 0.843856 -277.50 167.50 157.50 0.63043 -277.50 167.50 162.50 0.432846 -277.50 167.50 167.50 0.296244 -277.50 167.50 172.50 0.281707 -277.50 167.50 177.50 0.437085 -277.50 167.50 182.50 0.62136 -277.50 167.50 187.50 0.719669 -277.50 167.50 192.50 0.68042 -277.50 167.50 197.50 0.569854 -277.50 167.50 202.50 0.453063 -277.50 167.50 207.50 0.461889 -277.50 167.50 212.50 0.61554 -277.50 167.50 217.50 0.922204 -277.50 167.50 222.50 1.18349 -277.50 167.50 227.50 1.30137 -277.50 167.50 232.50 1.2491 -277.50 167.50 237.50 1.09058 -277.50 167.50 242.50 0.843856 -277.50 167.50 247.50 0.63043 -277.50 167.50 252.50 0.432846 -277.50 167.50 257.50 0.296244 -277.50 167.50 262.50 0.281707 -277.50 167.50 267.50 0.437086 -277.50 167.50 272.50 0.62136 -277.50 167.50 277.50 0.719669 -277.50 167.50 282.50 0.680419 -277.50 167.50 287.50 0.569854 -277.50 167.50 292.50 0.453063 -277.50 167.50 297.50 0.461889 -277.50 167.50 302.50 0.615539 -277.50 167.50 307.50 0.922204 -277.50 167.50 312.50 1.18349 -277.50 167.50 317.50 1.30137 -277.50 167.50 322.50 1.24911 -277.50 167.50 327.50 1.09058 -277.50 167.50 332.50 0.843856 -277.50 167.50 337.50 0.630431 -277.50 167.50 342.50 0.432846 -277.50 167.50 347.50 0.296244 -277.50 167.50 352.50 0.281707 -277.50 167.50 357.50 0.437085 -277.50 172.50 2.50 0.67853 -277.50 172.50 7.50 0.802952 -277.50 172.50 12.50 0.697763 -277.50 172.50 17.50 0.463163 -277.50 172.50 22.50 0.300999 -277.50 172.50 27.50 0.256711 -277.50 172.50 32.50 0.31833 -277.50 172.50 37.50 0.42707 -277.50 172.50 42.50 0.525747 -277.50 172.50 47.50 0.557421 -277.50 172.50 52.50 0.538479 -277.50 172.50 57.50 0.507191 -277.50 172.50 62.50 0.449265 -277.50 172.50 67.50 0.3552 -277.50 172.50 72.50 0.248079 -277.50 172.50 77.50 0.18001 -277.50 172.50 82.50 0.242843 -277.50 172.50 87.50 0.434478 -277.50 172.50 92.50 0.67853 -277.50 172.50 97.50 0.802952 -277.50 172.50 102.50 0.697764 -277.50 172.50 107.50 0.463162 -277.50 172.50 112.50 0.300999 -277.50 172.50 117.50 0.256711 -277.50 172.50 122.50 0.318331 -277.50 172.50 127.50 0.42707 -277.50 172.50 132.50 0.525748 -277.50 172.50 137.50 0.557421 -277.50 172.50 142.50 0.538479 -277.50 172.50 147.50 0.507191 -277.50 172.50 152.50 0.449265 -277.50 172.50 157.50 0.3552 -277.50 172.50 162.50 0.248079 -277.50 172.50 167.50 0.18001 -277.50 172.50 172.50 0.242843 -277.50 172.50 177.50 0.434478 -277.50 172.50 182.50 0.67853 -277.50 172.50 187.50 0.802952 -277.50 172.50 192.50 0.697764 -277.50 172.50 197.50 0.463163 -277.50 172.50 202.50 0.300999 -277.50 172.50 207.50 0.256712 -277.50 172.50 212.50 0.31833 -277.50 172.50 217.50 0.42707 -277.50 172.50 222.50 0.525747 -277.50 172.50 227.50 0.557421 -277.50 172.50 232.50 0.538479 -277.50 172.50 237.50 0.507191 -277.50 172.50 242.50 0.449265 -277.50 172.50 247.50 0.355199 -277.50 172.50 252.50 0.248079 -277.50 172.50 257.50 0.18001 -277.50 172.50 262.50 0.242843 -277.50 172.50 267.50 0.434478 -277.50 172.50 272.50 0.67853 -277.50 172.50 277.50 0.802952 -277.50 172.50 282.50 0.697764 -277.50 172.50 287.50 0.463163 -277.50 172.50 292.50 0.300999 -277.50 172.50 297.50 0.256711 -277.50 172.50 302.50 0.31833 -277.50 172.50 307.50 0.42707 -277.50 172.50 312.50 0.525747 -277.50 172.50 317.50 0.557421 -277.50 172.50 322.50 0.538479 -277.50 172.50 327.50 0.507191 -277.50 172.50 332.50 0.449265 -277.50 172.50 337.50 0.3552 -277.50 172.50 342.50 0.248079 -277.50 172.50 347.50 0.18001 -277.50 172.50 352.50 0.242843 -277.50 172.50 357.50 0.434478 -277.50 177.50 2.50 0.675975 -277.50 177.50 7.50 0.828531 -277.50 177.50 12.50 0.678877 -277.50 177.50 17.50 0.387056 -277.50 177.50 22.50 0.179981 -277.50 177.50 27.50 0.10043 -277.50 177.50 32.50 0.0974297 -277.50 177.50 37.50 0.134286 -277.50 177.50 42.50 0.170958 -277.50 177.50 47.50 0.185726 -277.50 177.50 52.50 0.181188 -277.50 177.50 57.50 0.173804 -277.50 177.50 62.50 0.156501 -277.50 177.50 67.50 0.130789 -277.50 177.50 72.50 0.101157 -277.50 177.50 77.50 0.0992541 -277.50 177.50 82.50 0.175723 -277.50 177.50 87.50 0.382539 -277.50 177.50 92.50 0.675975 -277.50 177.50 97.50 0.828531 -277.50 177.50 102.50 0.678877 -277.50 177.50 107.50 0.387056 -277.50 177.50 112.50 0.179981 -277.50 177.50 117.50 0.10043 -277.50 177.50 122.50 0.0974297 -277.50 177.50 127.50 0.134286 -277.50 177.50 132.50 0.170959 -277.50 177.50 137.50 0.185726 -277.50 177.50 142.50 0.181188 -277.50 177.50 147.50 0.173804 -277.50 177.50 152.50 0.156501 -277.50 177.50 157.50 0.130789 -277.50 177.50 162.50 0.101157 -277.50 177.50 167.50 0.099254 -277.50 177.50 172.50 0.175723 -277.50 177.50 177.50 0.382539 -277.50 177.50 182.50 0.675975 -277.50 177.50 187.50 0.828531 -277.50 177.50 192.50 0.678877 -277.50 177.50 197.50 0.387056 -277.50 177.50 202.50 0.179981 -277.50 177.50 207.50 0.10043 -277.50 177.50 212.50 0.0974296 -277.50 177.50 217.50 0.134286 -277.50 177.50 222.50 0.170958 -277.50 177.50 227.50 0.185726 -277.50 177.50 232.50 0.181188 -277.50 177.50 237.50 0.173803 -277.50 177.50 242.50 0.156501 -277.50 177.50 247.50 0.130789 -277.50 177.50 252.50 0.101157 -277.50 177.50 257.50 0.0992542 -277.50 177.50 262.50 0.175723 -277.50 177.50 267.50 0.38254 -277.50 177.50 272.50 0.675975 -277.50 177.50 277.50 0.828531 -277.50 177.50 282.50 0.678877 -277.50 177.50 287.50 0.387057 -277.50 177.50 292.50 0.179981 -277.50 177.50 297.50 0.10043 -277.50 177.50 302.50 0.0974296 -277.50 177.50 307.50 0.134286 -277.50 177.50 312.50 0.170958 -277.50 177.50 317.50 0.185726 -277.50 177.50 322.50 0.181188 -277.50 177.50 327.50 0.173803 -277.50 177.50 332.50 0.156501 -277.50 177.50 337.50 0.13079 -277.50 177.50 342.50 0.101157 -277.50 177.50 347.50 0.0992541 -277.50 177.50 352.50 0.175723 -277.50 177.50 357.50 0.382539 -282.50 2.50 2.50 0.393272 -282.50 2.50 7.50 0.149977 -282.50 2.50 12.50 0.0624685 -282.50 2.50 17.50 0.0485219 -282.50 2.50 22.50 0.0601603 -282.50 2.50 27.50 0.0760386 -282.50 2.50 32.50 0.083846 -282.50 2.50 37.50 0.084539 -282.50 2.50 42.50 0.083846 -282.50 2.50 47.50 0.0760385 -282.50 2.50 52.50 0.0601603 -282.50 2.50 57.50 0.0485219 -282.50 2.50 62.50 0.0624686 -282.50 2.50 67.50 0.149977 -282.50 2.50 72.50 0.393272 -282.50 2.50 77.50 0.773178 -282.50 2.50 82.50 0.980506 -282.50 2.50 87.50 0.773179 -282.50 2.50 92.50 0.393272 -282.50 2.50 97.50 0.149977 -282.50 2.50 102.50 0.0624685 -282.50 2.50 107.50 0.0485219 -282.50 2.50 112.50 0.0601603 -282.50 2.50 117.50 0.0760386 -282.50 2.50 122.50 0.083846 -282.50 2.50 127.50 0.084539 -282.50 2.50 132.50 0.083846 -282.50 2.50 137.50 0.0760385 -282.50 2.50 142.50 0.0601603 -282.50 2.50 147.50 0.0485219 -282.50 2.50 152.50 0.0624685 -282.50 2.50 157.50 0.149977 -282.50 2.50 162.50 0.393272 -282.50 2.50 167.50 0.773178 -282.50 2.50 172.50 0.980476 -282.50 2.50 177.50 0.773179 -282.50 2.50 182.50 0.393272 -282.50 2.50 187.50 0.149977 -282.50 2.50 192.50 0.0624685 -282.50 2.50 197.50 0.0485219 -282.50 2.50 202.50 0.0601603 -282.50 2.50 207.50 0.0760385 -282.50 2.50 212.50 0.083846 -282.50 2.50 217.50 0.084539 -282.50 2.50 222.50 0.083846 -282.50 2.50 227.50 0.0760386 -282.50 2.50 232.50 0.0601603 -282.50 2.50 237.50 0.0485219 -282.50 2.50 242.50 0.0624686 -282.50 2.50 247.50 0.149977 -282.50 2.50 252.50 0.393273 -282.50 2.50 257.50 0.773179 -282.50 2.50 262.50 0.980476 -282.50 2.50 267.50 0.773179 -282.50 2.50 272.50 0.393272 -282.50 2.50 277.50 0.149977 -282.50 2.50 282.50 0.0624685 -282.50 2.50 287.50 0.0485219 -282.50 2.50 292.50 0.0601603 -282.50 2.50 297.50 0.0760385 -282.50 2.50 302.50 0.083846 -282.50 2.50 307.50 0.084539 -282.50 2.50 312.50 0.083846 -282.50 2.50 317.50 0.0760385 -282.50 2.50 322.50 0.0601603 -282.50 2.50 327.50 0.048522 -282.50 2.50 332.50 0.0624685 -282.50 2.50 337.50 0.149977 -282.50 2.50 342.50 0.393271 -282.50 2.50 347.50 0.773177 -282.50 2.50 352.50 0.980476 -282.50 2.50 357.50 0.773179 -282.50 7.50 2.50 0.382022 -282.50 7.50 7.50 0.174053 -282.50 7.50 12.50 0.094188 -282.50 7.50 17.50 0.0946781 -282.50 7.50 22.50 0.129792 -282.50 7.50 27.50 0.162391 -282.50 7.50 32.50 0.172036 -282.50 7.50 37.50 0.179472 -282.50 7.50 42.50 0.190282 -282.50 7.50 47.50 0.183936 -282.50 7.50 52.50 0.149476 -282.50 7.50 57.50 0.109341 -282.50 7.50 62.50 0.0996235 -282.50 7.50 67.50 0.17905 -282.50 7.50 72.50 0.389548 -282.50 7.50 77.50 0.683201 -282.50 7.50 82.50 0.831023 -282.50 7.50 87.50 0.676164 -282.50 7.50 92.50 0.382022 -282.50 7.50 97.50 0.174053 -282.50 7.50 102.50 0.0941879 -282.50 7.50 107.50 0.0946781 -282.50 7.50 112.50 0.129792 -282.50 7.50 117.50 0.162391 -282.50 7.50 122.50 0.172036 -282.50 7.50 127.50 0.179472 -282.50 7.50 132.50 0.190282 -282.50 7.50 137.50 0.183936 -282.50 7.50 142.50 0.149476 -282.50 7.50 147.50 0.109341 -282.50 7.50 152.50 0.0996234 -282.50 7.50 157.50 0.179049 -282.50 7.50 162.50 0.389547 -282.50 7.50 167.50 0.683201 -282.50 7.50 172.50 0.831023 -282.50 7.50 177.50 0.676164 -282.50 7.50 182.50 0.382022 -282.50 7.50 187.50 0.174053 -282.50 7.50 192.50 0.094188 -282.50 7.50 197.50 0.0946782 -282.50 7.50 202.50 0.129792 -282.50 7.50 207.50 0.162391 -282.50 7.50 212.50 0.172036 -282.50 7.50 217.50 0.179472 -282.50 7.50 222.50 0.190282 -282.50 7.50 227.50 0.183936 -282.50 7.50 232.50 0.149476 -282.50 7.50 237.50 0.109341 -282.50 7.50 242.50 0.0996235 -282.50 7.50 247.50 0.17905 -282.50 7.50 252.50 0.389548 -282.50 7.50 257.50 0.683201 -282.50 7.50 262.50 0.831023 -282.50 7.50 267.50 0.676163 -282.50 7.50 272.50 0.382022 -282.50 7.50 277.50 0.174053 -282.50 7.50 282.50 0.094188 -282.50 7.50 287.50 0.0946782 -282.50 7.50 292.50 0.129792 -282.50 7.50 297.50 0.16239 -282.50 7.50 302.50 0.172036 -282.50 7.50 307.50 0.179472 -282.50 7.50 312.50 0.190282 -282.50 7.50 317.50 0.183936 -282.50 7.50 322.50 0.149476 -282.50 7.50 327.50 0.109341 -282.50 7.50 332.50 0.0996234 -282.50 7.50 337.50 0.179049 -282.50 7.50 342.50 0.389547 -282.50 7.50 347.50 0.6832 -282.50 7.50 352.50 0.831023 -282.50 7.50 357.50 0.676165 -282.50 12.50 2.50 0.429837 -282.50 12.50 7.50 0.235639 -282.50 12.50 12.50 0.159389 -282.50 12.50 17.50 0.192409 -282.50 12.50 22.50 0.31191 -282.50 12.50 27.50 0.42265 -282.50 12.50 32.50 0.487628 -282.50 12.50 37.50 0.532107 -282.50 12.50 42.50 0.575784 -282.50 12.50 47.50 0.572373 -282.50 12.50 52.50 0.488365 -282.50 12.50 57.50 0.365722 -282.50 12.50 62.50 0.288579 -282.50 12.50 67.50 0.333601 -282.50 12.50 72.50 0.516294 -282.50 12.50 77.50 0.722749 -282.50 12.50 82.50 0.813809 -282.50 12.50 87.50 0.676991 -282.50 12.50 92.50 0.429837 -282.50 12.50 97.50 0.235639 -282.50 12.50 102.50 0.159389 -282.50 12.50 107.50 0.192409 -282.50 12.50 112.50 0.31191 -282.50 12.50 117.50 0.42265 -282.50 12.50 122.50 0.487628 -282.50 12.50 127.50 0.532107 -282.50 12.50 132.50 0.575784 -282.50 12.50 137.50 0.572373 -282.50 12.50 142.50 0.488365 -282.50 12.50 147.50 0.365722 -282.50 12.50 152.50 0.288579 -282.50 12.50 157.50 0.333601 -282.50 12.50 162.50 0.516294 -282.50 12.50 167.50 0.722749 -282.50 12.50 172.50 0.813809 -282.50 12.50 177.50 0.676991 -282.50 12.50 182.50 0.429837 -282.50 12.50 187.50 0.235639 -282.50 12.50 192.50 0.159389 -282.50 12.50 197.50 0.192409 -282.50 12.50 202.50 0.31191 -282.50 12.50 207.50 0.422649 -282.50 12.50 212.50 0.487628 -282.50 12.50 217.50 0.532107 -282.50 12.50 222.50 0.575784 -282.50 12.50 227.50 0.572373 -282.50 12.50 232.50 0.488365 -282.50 12.50 237.50 0.365721 -282.50 12.50 242.50 0.288579 -282.50 12.50 247.50 0.333601 -282.50 12.50 252.50 0.516294 -282.50 12.50 257.50 0.72275 -282.50 12.50 262.50 0.813809 -282.50 12.50 267.50 0.676991 -282.50 12.50 272.50 0.429837 -282.50 12.50 277.50 0.235639 -282.50 12.50 282.50 0.159389 -282.50 12.50 287.50 0.192409 -282.50 12.50 292.50 0.31191 -282.50 12.50 297.50 0.422649 -282.50 12.50 302.50 0.487628 -282.50 12.50 307.50 0.532107 -282.50 12.50 312.50 0.575784 -282.50 12.50 317.50 0.572373 -282.50 12.50 322.50 0.488365 -282.50 12.50 327.50 0.365722 -282.50 12.50 332.50 0.288579 -282.50 12.50 337.50 0.333601 -282.50 12.50 342.50 0.516293 -282.50 12.50 347.50 0.722749 -282.50 12.50 352.50 0.813809 -282.50 12.50 357.50 0.676992 -282.50 17.50 2.50 0.422612 -282.50 17.50 7.50 0.257716 -282.50 17.50 12.50 0.20374 -282.50 17.50 17.50 0.326764 -282.50 17.50 22.50 0.533063 -282.50 17.50 27.50 0.755381 -282.50 17.50 32.50 0.958856 -282.50 17.50 37.50 1.19043 -282.50 17.50 42.50 1.35538 -282.50 17.50 47.50 1.34198 -282.50 17.50 52.50 1.12062 -282.50 17.50 57.50 0.813273 -282.50 17.50 62.50 0.549045 -282.50 17.50 67.50 0.523012 -282.50 17.50 72.50 0.664736 -282.50 17.50 77.50 0.793547 -282.50 17.50 82.50 0.752468 -282.50 17.50 87.50 0.61695 -282.50 17.50 92.50 0.422612 -282.50 17.50 97.50 0.257716 -282.50 17.50 102.50 0.20374 -282.50 17.50 107.50 0.326764 -282.50 17.50 112.50 0.533063 -282.50 17.50 117.50 0.755381 -282.50 17.50 122.50 0.958856 -282.50 17.50 127.50 1.19043 -282.50 17.50 132.50 1.35538 -282.50 17.50 137.50 1.34198 -282.50 17.50 142.50 1.12062 -282.50 17.50 147.50 0.813273 -282.50 17.50 152.50 0.549046 -282.50 17.50 157.50 0.523012 -282.50 17.50 162.50 0.664736 -282.50 17.50 167.50 0.793546 -282.50 17.50 172.50 0.752467 -282.50 17.50 177.50 0.61695 -282.50 17.50 182.50 0.422612 -282.50 17.50 187.50 0.257716 -282.50 17.50 192.50 0.20374 -282.50 17.50 197.50 0.326764 -282.50 17.50 202.50 0.533063 -282.50 17.50 207.50 0.755381 -282.50 17.50 212.50 0.958856 -282.50 17.50 217.50 1.19043 -282.50 17.50 222.50 1.35538 -282.50 17.50 227.50 1.34198 -282.50 17.50 232.50 1.12062 -282.50 17.50 237.50 0.813272 -282.50 17.50 242.50 0.549045 -282.50 17.50 247.50 0.523012 -282.50 17.50 252.50 0.664737 -282.50 17.50 257.50 0.793547 -282.50 17.50 262.50 0.752467 -282.50 17.50 267.50 0.61695 -282.50 17.50 272.50 0.422612 -282.50 17.50 277.50 0.257716 -282.50 17.50 282.50 0.20374 -282.50 17.50 287.50 0.326764 -282.50 17.50 292.50 0.533063 -282.50 17.50 297.50 0.755381 -282.50 17.50 302.50 0.958856 -282.50 17.50 307.50 1.19043 -282.50 17.50 312.50 1.35538 -282.50 17.50 317.50 1.34198 -282.50 17.50 322.50 1.12062 -282.50 17.50 327.50 0.813274 -282.50 17.50 332.50 0.549046 -282.50 17.50 337.50 0.523012 -282.50 17.50 342.50 0.664736 -282.50 17.50 347.50 0.793546 -282.50 17.50 352.50 0.752468 -282.50 17.50 357.50 0.616951 -282.50 22.50 2.50 0.335765 -282.50 22.50 7.50 0.222831 -282.50 22.50 12.50 0.242003 -282.50 22.50 17.50 0.416464 -282.50 22.50 22.50 0.700174 -282.50 22.50 27.50 1.16572 -282.50 22.50 32.50 1.72951 -282.50 22.50 37.50 2.2721 -282.50 22.50 42.50 2.64716 -282.50 22.50 47.50 2.53465 -282.50 22.50 52.50 1.99347 -282.50 22.50 57.50 1.39061 -282.50 22.50 62.50 0.936155 -282.50 22.50 67.50 0.688365 -282.50 22.50 72.50 0.689209 -282.50 22.50 77.50 0.734155 -282.50 22.50 82.50 0.634357 -282.50 22.50 87.50 0.477904 -282.50 22.50 92.50 0.335764 -282.50 22.50 97.50 0.222831 -282.50 22.50 102.50 0.242003 -282.50 22.50 107.50 0.416464 -282.50 22.50 112.50 0.700174 -282.50 22.50 117.50 1.16572 -282.50 22.50 122.50 1.72951 -282.50 22.50 127.50 2.2721 -282.50 22.50 132.50 2.64716 -282.50 22.50 137.50 2.53465 -282.50 22.50 142.50 1.99347 -282.50 22.50 147.50 1.39061 -282.50 22.50 152.50 0.936156 -282.50 22.50 157.50 0.688366 -282.50 22.50 162.50 0.689209 -282.50 22.50 167.50 0.734155 -282.50 22.50 172.50 0.634357 -282.50 22.50 177.50 0.477904 -282.50 22.50 182.50 0.335764 -282.50 22.50 187.50 0.222831 -282.50 22.50 192.50 0.242003 -282.50 22.50 197.50 0.416464 -282.50 22.50 202.50 0.700174 -282.50 22.50 207.50 1.16572 -282.50 22.50 212.50 1.72951 -282.50 22.50 217.50 2.2721 -282.50 22.50 222.50 2.64716 -282.50 22.50 227.50 2.53465 -282.50 22.50 232.50 1.99347 -282.50 22.50 237.50 1.39061 -282.50 22.50 242.50 0.936155 -282.50 22.50 247.50 0.688365 -282.50 22.50 252.50 0.689209 -282.50 22.50 257.50 0.734155 -282.50 22.50 262.50 0.634357 -282.50 22.50 267.50 0.477904 -282.50 22.50 272.50 0.335764 -282.50 22.50 277.50 0.222832 -282.50 22.50 282.50 0.242003 -282.50 22.50 287.50 0.416464 -282.50 22.50 292.50 0.700174 -282.50 22.50 297.50 1.16572 -282.50 22.50 302.50 1.72951 -282.50 22.50 307.50 2.2721 -282.50 22.50 312.50 2.64716 -282.50 22.50 317.50 2.53465 -282.50 22.50 322.50 1.99347 -282.50 22.50 327.50 1.39061 -282.50 22.50 332.50 0.936156 -282.50 22.50 337.50 0.688366 -282.50 22.50 342.50 0.689209 -282.50 22.50 347.50 0.734155 -282.50 22.50 352.50 0.634357 -282.50 22.50 357.50 0.477904 -282.50 27.50 2.50 0.232885 -282.50 27.50 7.50 0.181176 -282.50 27.50 12.50 0.263627 -282.50 27.50 17.50 0.487495 -282.50 27.50 22.50 0.931929 -282.50 27.50 27.50 1.63991 -282.50 27.50 32.50 2.51913 -282.50 27.50 37.50 3.43765 -282.50 27.50 42.50 4.0122 -282.50 27.50 47.50 3.91511 -282.50 27.50 52.50 3.02182 -282.50 27.50 57.50 1.9571 -282.50 27.50 62.50 1.162 -282.50 27.50 67.50 0.737812 -282.50 27.50 72.50 0.580271 -282.50 27.50 77.50 0.535546 -282.50 27.50 82.50 0.432572 -282.50 27.50 87.50 0.312195 -282.50 27.50 92.50 0.232885 -282.50 27.50 97.50 0.181176 -282.50 27.50 102.50 0.263627 -282.50 27.50 107.50 0.487495 -282.50 27.50 112.50 0.931929 -282.50 27.50 117.50 1.63991 -282.50 27.50 122.50 2.51913 -282.50 27.50 127.50 3.43765 -282.50 27.50 132.50 4.0122 -282.50 27.50 137.50 3.9151 -282.50 27.50 142.50 3.02182 -282.50 27.50 147.50 1.95711 -282.50 27.50 152.50 1.162 -282.50 27.50 157.50 0.737812 -282.50 27.50 162.50 0.580271 -282.50 27.50 167.50 0.535546 -282.50 27.50 172.50 0.432572 -282.50 27.50 177.50 0.312195 -282.50 27.50 182.50 0.232885 -282.50 27.50 187.50 0.181176 -282.50 27.50 192.50 0.263627 -282.50 27.50 197.50 0.487495 -282.50 27.50 202.50 0.931929 -282.50 27.50 207.50 1.63991 -282.50 27.50 212.50 2.51912 -282.50 27.50 217.50 3.43765 -282.50 27.50 222.50 4.0122 -282.50 27.50 227.50 3.91511 -282.50 27.50 232.50 3.02182 -282.50 27.50 237.50 1.9571 -282.50 27.50 242.50 1.162 -282.50 27.50 247.50 0.737812 -282.50 27.50 252.50 0.58027 -282.50 27.50 257.50 0.535545 -282.50 27.50 262.50 0.432572 -282.50 27.50 267.50 0.312195 -282.50 27.50 272.50 0.232885 -282.50 27.50 277.50 0.181176 -282.50 27.50 282.50 0.263627 -282.50 27.50 287.50 0.487495 -282.50 27.50 292.50 0.931929 -282.50 27.50 297.50 1.63991 -282.50 27.50 302.50 2.51912 -282.50 27.50 307.50 3.43765 -282.50 27.50 312.50 4.0122 -282.50 27.50 317.50 3.91511 -282.50 27.50 322.50 3.02182 -282.50 27.50 327.50 1.95711 -282.50 27.50 332.50 1.162 -282.50 27.50 337.50 0.737813 -282.50 27.50 342.50 0.580271 -282.50 27.50 347.50 0.535546 -282.50 27.50 352.50 0.432572 -282.50 27.50 357.50 0.312195 -282.50 32.50 2.50 0.164812 -282.50 32.50 7.50 0.15525 -282.50 32.50 12.50 0.261037 -282.50 32.50 17.50 0.521251 -282.50 32.50 22.50 1.02476 -282.50 32.50 27.50 1.79176 -282.50 32.50 32.50 2.84162 -282.50 32.50 37.50 3.97256 -282.50 32.50 42.50 4.62496 -282.50 32.50 47.50 4.37538 -282.50 32.50 52.50 3.37602 -282.50 32.50 57.50 2.13732 -282.50 32.50 62.50 1.17525 -282.50 32.50 67.50 0.630826 -282.50 32.50 72.50 0.399216 -282.50 32.50 77.50 0.303026 -282.50 32.50 82.50 0.235401 -282.50 32.50 87.50 0.190251 -282.50 32.50 92.50 0.164812 -282.50 32.50 97.50 0.15525 -282.50 32.50 102.50 0.261037 -282.50 32.50 107.50 0.521251 -282.50 32.50 112.50 1.02476 -282.50 32.50 117.50 1.79176 -282.50 32.50 122.50 2.84162 -282.50 32.50 127.50 3.97256 -282.50 32.50 132.50 4.62496 -282.50 32.50 137.50 4.37538 -282.50 32.50 142.50 3.37602 -282.50 32.50 147.50 2.13732 -282.50 32.50 152.50 1.17525 -282.50 32.50 157.50 0.630826 -282.50 32.50 162.50 0.399216 -282.50 32.50 167.50 0.303026 -282.50 32.50 172.50 0.235401 -282.50 32.50 177.50 0.190251 -282.50 32.50 182.50 0.164812 -282.50 32.50 187.50 0.15525 -282.50 32.50 192.50 0.261037 -282.50 32.50 197.50 0.521251 -282.50 32.50 202.50 1.02476 -282.50 32.50 207.50 1.79176 -282.50 32.50 212.50 2.84162 -282.50 32.50 217.50 3.97256 -282.50 32.50 222.50 4.62496 -282.50 32.50 227.50 4.37538 -282.50 32.50 232.50 3.37602 -282.50 32.50 237.50 2.13732 -282.50 32.50 242.50 1.17525 -282.50 32.50 247.50 0.630826 -282.50 32.50 252.50 0.399216 -282.50 32.50 257.50 0.303025 -282.50 32.50 262.50 0.235401 -282.50 32.50 267.50 0.190251 -282.50 32.50 272.50 0.164812 -282.50 32.50 277.50 0.15525 -282.50 32.50 282.50 0.261037 -282.50 32.50 287.50 0.521251 -282.50 32.50 292.50 1.02476 -282.50 32.50 297.50 1.79176 -282.50 32.50 302.50 2.84162 -282.50 32.50 307.50 3.97256 -282.50 32.50 312.50 4.62496 -282.50 32.50 317.50 4.37538 -282.50 32.50 322.50 3.37602 -282.50 32.50 327.50 2.13732 -282.50 32.50 332.50 1.17525 -282.50 32.50 337.50 0.630827 -282.50 32.50 342.50 0.399216 -282.50 32.50 347.50 0.303026 -282.50 32.50 352.50 0.235401 -282.50 32.50 357.50 0.190251 -282.50 37.50 2.50 0.110206 -282.50 37.50 7.50 0.113683 -282.50 37.50 12.50 0.203154 -282.50 37.50 17.50 0.433369 -282.50 37.50 22.50 0.816355 -282.50 37.50 27.50 1.42083 -282.50 37.50 32.50 2.31712 -282.50 37.50 37.50 3.27578 -282.50 37.50 42.50 3.77275 -282.50 37.50 47.50 3.54732 -282.50 37.50 52.50 2.73012 -282.50 37.50 57.50 1.68937 -282.50 37.50 62.50 0.880141 -282.50 37.50 67.50 0.42978 -282.50 37.50 72.50 0.221104 -282.50 37.50 77.50 0.137174 -282.50 37.50 82.50 0.106707 -282.50 37.50 87.50 0.112048 -282.50 37.50 92.50 0.110206 -282.50 37.50 97.50 0.113683 -282.50 37.50 102.50 0.203154 -282.50 37.50 107.50 0.433369 -282.50 37.50 112.50 0.816355 -282.50 37.50 117.50 1.42083 -282.50 37.50 122.50 2.31712 -282.50 37.50 127.50 3.27578 -282.50 37.50 132.50 3.77276 -282.50 37.50 137.50 3.54732 -282.50 37.50 142.50 2.73012 -282.50 37.50 147.50 1.68937 -282.50 37.50 152.50 0.880142 -282.50 37.50 157.50 0.429781 -282.50 37.50 162.50 0.221104 -282.50 37.50 167.50 0.137174 -282.50 37.50 172.50 0.106707 -282.50 37.50 177.50 0.112048 -282.50 37.50 182.50 0.110206 -282.50 37.50 187.50 0.113683 -282.50 37.50 192.50 0.203154 -282.50 37.50 197.50 0.433369 -282.50 37.50 202.50 0.816355 -282.50 37.50 207.50 1.42083 -282.50 37.50 212.50 2.31712 -282.50 37.50 217.50 3.27578 -282.50 37.50 222.50 3.77275 -282.50 37.50 227.50 3.54732 -282.50 37.50 232.50 2.73012 -282.50 37.50 237.50 1.68937 -282.50 37.50 242.50 0.88014 -282.50 37.50 247.50 0.42978 -282.50 37.50 252.50 0.221104 -282.50 37.50 257.50 0.137174 -282.50 37.50 262.50 0.106707 -282.50 37.50 267.50 0.112048 -282.50 37.50 272.50 0.110206 -282.50 37.50 277.50 0.113683 -282.50 37.50 282.50 0.203154 -282.50 37.50 287.50 0.433369 -282.50 37.50 292.50 0.816355 -282.50 37.50 297.50 1.42083 -282.50 37.50 302.50 2.31712 -282.50 37.50 307.50 3.27578 -282.50 37.50 312.50 3.77275 -282.50 37.50 317.50 3.54732 -282.50 37.50 322.50 2.73013 -282.50 37.50 327.50 1.68937 -282.50 37.50 332.50 0.880142 -282.50 37.50 337.50 0.429781 -282.50 37.50 342.50 0.221104 -282.50 37.50 347.50 0.137174 -282.50 37.50 352.50 0.106707 -282.50 37.50 357.50 0.112048 -282.50 42.50 2.50 0.0566768 -282.50 42.50 7.50 0.0580158 -282.50 42.50 12.50 0.114879 -282.50 42.50 17.50 0.26194 -282.50 42.50 22.50 0.479108 -282.50 42.50 27.50 0.817295 -282.50 42.50 32.50 1.35089 -282.50 42.50 37.50 1.882 -282.50 42.50 42.50 2.17351 -282.50 42.50 47.50 2.05118 -282.50 42.50 52.50 1.54855 -282.50 42.50 57.50 0.917943 -282.50 42.50 62.50 0.46399 -282.50 42.50 67.50 0.209316 -282.50 42.50 72.50 0.0906728 -282.50 42.50 77.50 0.0474071 -282.50 42.50 82.50 0.0415526 -282.50 42.50 87.50 0.0561728 -282.50 42.50 92.50 0.0566768 -282.50 42.50 97.50 0.0580158 -282.50 42.50 102.50 0.114879 -282.50 42.50 107.50 0.26194 -282.50 42.50 112.50 0.479108 -282.50 42.50 117.50 0.817295 -282.50 42.50 122.50 1.35089 -282.50 42.50 127.50 1.882 -282.50 42.50 132.50 2.17351 -282.50 42.50 137.50 2.05118 -282.50 42.50 142.50 1.54855 -282.50 42.50 147.50 0.917944 -282.50 42.50 152.50 0.463991 -282.50 42.50 157.50 0.209317 -282.50 42.50 162.50 0.0906728 -282.50 42.50 167.50 0.0474071 -282.50 42.50 172.50 0.0415526 -282.50 42.50 177.50 0.0561728 -282.50 42.50 182.50 0.0566768 -282.50 42.50 187.50 0.0580158 -282.50 42.50 192.50 0.114879 -282.50 42.50 197.50 0.26194 -282.50 42.50 202.50 0.479108 -282.50 42.50 207.50 0.817295 -282.50 42.50 212.50 1.35089 -282.50 42.50 217.50 1.882 -282.50 42.50 222.50 2.17351 -282.50 42.50 227.50 2.05118 -282.50 42.50 232.50 1.54855 -282.50 42.50 237.50 0.917943 -282.50 42.50 242.50 0.46399 -282.50 42.50 247.50 0.209316 -282.50 42.50 252.50 0.0906725 -282.50 42.50 257.50 0.0474071 -282.50 42.50 262.50 0.0415527 -282.50 42.50 267.50 0.0561728 -282.50 42.50 272.50 0.0566768 -282.50 42.50 277.50 0.0580158 -282.50 42.50 282.50 0.114879 -282.50 42.50 287.50 0.26194 -282.50 42.50 292.50 0.479108 -282.50 42.50 297.50 0.817295 -282.50 42.50 302.50 1.35088 -282.50 42.50 307.50 1.882 -282.50 42.50 312.50 2.17351 -282.50 42.50 317.50 2.05118 -282.50 42.50 322.50 1.54855 -282.50 42.50 327.50 0.917944 -282.50 42.50 332.50 0.463991 -282.50 42.50 337.50 0.209317 -282.50 42.50 342.50 0.0906729 -282.50 42.50 347.50 0.0474072 -282.50 42.50 352.50 0.0415526 -282.50 42.50 357.50 0.0561728 -282.50 47.50 2.50 0.0326857 -282.50 47.50 7.50 0.0252326 -282.50 47.50 12.50 0.0482187 -282.50 47.50 17.50 0.114671 -282.50 47.50 22.50 0.207285 -282.50 47.50 27.50 0.354763 -282.50 47.50 32.50 0.56974 -282.50 47.50 37.50 0.80583 -282.50 47.50 42.50 0.831385 -282.50 47.50 47.50 0.790582 -282.50 47.50 52.50 0.530006 -282.50 47.50 57.50 0.338105 -282.50 47.50 62.50 0.152569 -282.50 47.50 67.50 0.0711573 -282.50 47.50 72.50 0.0280381 -282.50 47.50 77.50 0.0157058 -282.50 47.50 82.50 0.0209977 -282.50 47.50 87.50 0.0345915 -282.50 47.50 92.50 0.0326857 -282.50 47.50 97.50 0.0252326 -282.50 47.50 102.50 0.0482187 -282.50 47.50 107.50 0.114671 -282.50 47.50 112.50 0.207285 -282.50 47.50 117.50 0.354763 -282.50 47.50 122.50 0.569741 -282.50 47.50 127.50 0.80583 -282.50 47.50 132.50 0.831385 -282.50 47.50 137.50 0.790582 -282.50 47.50 142.50 0.530006 -282.50 47.50 147.50 0.338105 -282.50 47.50 152.50 0.152569 -282.50 47.50 157.50 0.0711575 -282.50 47.50 162.50 0.0280381 -282.50 47.50 167.50 0.0157058 -282.50 47.50 172.50 0.0209977 -282.50 47.50 177.50 0.0345915 -282.50 47.50 182.50 0.0326857 -282.50 47.50 187.50 0.0252326 -282.50 47.50 192.50 0.0482188 -282.50 47.50 197.50 0.114671 -282.50 47.50 202.50 0.207285 -282.50 47.50 207.50 0.354763 -282.50 47.50 212.50 0.56974 -282.50 47.50 217.50 0.80583 -282.50 47.50 222.50 0.831385 -282.50 47.50 227.50 0.790582 -282.50 47.50 232.50 0.530006 -282.50 47.50 237.50 0.338105 -282.50 47.50 242.50 0.152569 -282.50 47.50 247.50 0.0711573 -282.50 47.50 252.50 0.0280381 -282.50 47.50 257.50 0.0157058 -282.50 47.50 262.50 0.0209977 -282.50 47.50 267.50 0.0345915 -282.50 47.50 272.50 0.0326857 -282.50 47.50 277.50 0.0252326 -282.50 47.50 282.50 0.0482187 -282.50 47.50 287.50 0.114671 -282.50 47.50 292.50 0.207285 -282.50 47.50 297.50 0.354763 -282.50 47.50 302.50 0.56974 -282.50 47.50 307.50 0.80583 -282.50 47.50 312.50 0.831385 -282.50 47.50 317.50 0.790582 -282.50 47.50 322.50 0.530007 -282.50 47.50 327.50 0.338105 -282.50 47.50 332.50 0.152569 -282.50 47.50 337.50 0.0711575 -282.50 47.50 342.50 0.0280381 -282.50 47.50 347.50 0.0157058 -282.50 47.50 352.50 0.0209977 -282.50 47.50 357.50 0.0345914 -282.50 52.50 2.50 0.0566768 -282.50 52.50 7.50 0.0285764 -282.50 52.50 12.50 0.0208145 -282.50 52.50 17.50 0.0357779 -282.50 52.50 22.50 0.0611132 -282.50 52.50 27.50 0.10454 -282.50 52.50 32.50 0.178877 -282.50 52.50 37.50 0.229345 -282.50 52.50 42.50 0.203694 -282.50 52.50 47.50 0.18153 -282.50 52.50 52.50 0.120229 -282.50 52.50 57.50 0.0746005 -282.50 52.50 62.50 0.040271 -282.50 52.50 67.50 0.0273174 -282.50 52.50 72.50 0.0274119 -282.50 52.50 77.50 0.0292254 -282.50 52.50 82.50 0.0384049 -282.50 52.50 87.50 0.057773 -282.50 52.50 92.50 0.0566768 -282.50 52.50 97.50 0.0285764 -282.50 52.50 102.50 0.0208145 -282.50 52.50 107.50 0.0357779 -282.50 52.50 112.50 0.0611132 -282.50 52.50 117.50 0.104541 -282.50 52.50 122.50 0.178877 -282.50 52.50 127.50 0.229345 -282.50 52.50 132.50 0.203694 -282.50 52.50 137.50 0.18153 -282.50 52.50 142.50 0.120229 -282.50 52.50 147.50 0.0746005 -282.50 52.50 152.50 0.040271 -282.50 52.50 157.50 0.0273174 -282.50 52.50 162.50 0.0274118 -282.50 52.50 167.50 0.0292254 -282.50 52.50 172.50 0.0384049 -282.50 52.50 177.50 0.0577729 -282.50 52.50 182.50 0.0566767 -282.50 52.50 187.50 0.0285764 -282.50 52.50 192.50 0.0208145 -282.50 52.50 197.50 0.0357779 -282.50 52.50 202.50 0.0611133 -282.50 52.50 207.50 0.104541 -282.50 52.50 212.50 0.178877 -282.50 52.50 217.50 0.229345 -282.50 52.50 222.50 0.203694 -282.50 52.50 227.50 0.181531 -282.50 52.50 232.50 0.120228 -282.50 52.50 237.50 0.0746004 -282.50 52.50 242.50 0.040271 -282.50 52.50 247.50 0.0273174 -282.50 52.50 252.50 0.0274119 -282.50 52.50 257.50 0.0292254 -282.50 52.50 262.50 0.0384049 -282.50 52.50 267.50 0.057773 -282.50 52.50 272.50 0.0566768 -282.50 52.50 277.50 0.0285764 -282.50 52.50 282.50 0.0208145 -282.50 52.50 287.50 0.0357779 -282.50 52.50 292.50 0.0611132 -282.50 52.50 297.50 0.104541 -282.50 52.50 302.50 0.178877 -282.50 52.50 307.50 0.229345 -282.50 52.50 312.50 0.203694 -282.50 52.50 317.50 0.181531 -282.50 52.50 322.50 0.120229 -282.50 52.50 327.50 0.0746005 -282.50 52.50 332.50 0.0402711 -282.50 52.50 337.50 0.0273174 -282.50 52.50 342.50 0.0274119 -282.50 52.50 347.50 0.0292254 -282.50 52.50 352.50 0.0384049 -282.50 52.50 357.50 0.0577729 -282.50 57.50 2.50 0.110206 -282.50 57.50 7.50 0.0572843 -282.50 57.50 12.50 0.0251331 -282.50 57.50 17.50 0.0139949 -282.50 57.50 22.50 0.0122309 -282.50 57.50 27.50 0.0188954 -282.50 57.50 32.50 0.0337436 -282.50 57.50 37.50 0.0344461 -282.50 57.50 42.50 0.0283886 -282.50 57.50 47.50 0.0295768 -282.50 57.50 52.50 0.0187428 -282.50 57.50 57.50 0.0189809 -282.50 57.50 62.50 0.0294673 -282.50 57.50 67.50 0.0591752 -282.50 57.50 72.50 0.108714 -282.50 57.50 77.50 0.118965 -282.50 57.50 82.50 0.11044 -282.50 57.50 87.50 0.111425 -282.50 57.50 92.50 0.110206 -282.50 57.50 97.50 0.0572843 -282.50 57.50 102.50 0.0251331 -282.50 57.50 107.50 0.0139949 -282.50 57.50 112.50 0.0122309 -282.50 57.50 117.50 0.0188955 -282.50 57.50 122.50 0.0337436 -282.50 57.50 127.50 0.0344461 -282.50 57.50 132.50 0.0283886 -282.50 57.50 137.50 0.0295768 -282.50 57.50 142.50 0.0187428 -282.50 57.50 147.50 0.0189809 -282.50 57.50 152.50 0.0294672 -282.50 57.50 157.50 0.059175 -282.50 57.50 162.50 0.108714 -282.50 57.50 167.50 0.118965 -282.50 57.50 172.50 0.11044 -282.50 57.50 177.50 0.111425 -282.50 57.50 182.50 0.110206 -282.50 57.50 187.50 0.0572843 -282.50 57.50 192.50 0.0251331 -282.50 57.50 197.50 0.0139949 -282.50 57.50 202.50 0.0122309 -282.50 57.50 207.50 0.0188955 -282.50 57.50 212.50 0.0337436 -282.50 57.50 217.50 0.0344461 -282.50 57.50 222.50 0.0283886 -282.50 57.50 227.50 0.0295768 -282.50 57.50 232.50 0.0187428 -282.50 57.50 237.50 0.0189809 -282.50 57.50 242.50 0.0294673 -282.50 57.50 247.50 0.0591752 -282.50 57.50 252.50 0.108714 -282.50 57.50 257.50 0.118965 -282.50 57.50 262.50 0.11044 -282.50 57.50 267.50 0.111425 -282.50 57.50 272.50 0.110206 -282.50 57.50 277.50 0.0572843 -282.50 57.50 282.50 0.0251331 -282.50 57.50 287.50 0.0139949 -282.50 57.50 292.50 0.0122309 -282.50 57.50 297.50 0.0188954 -282.50 57.50 302.50 0.0337436 -282.50 57.50 307.50 0.034446 -282.50 57.50 312.50 0.0283886 -282.50 57.50 317.50 0.0295767 -282.50 57.50 322.50 0.0187428 -282.50 57.50 327.50 0.0189809 -282.50 57.50 332.50 0.0294673 -282.50 57.50 337.50 0.0591751 -282.50 57.50 342.50 0.108714 -282.50 57.50 347.50 0.118965 -282.50 57.50 352.50 0.11044 -282.50 57.50 357.50 0.111425 -282.50 62.50 2.50 0.164812 -282.50 62.50 7.50 0.0996034 -282.50 62.50 12.50 0.0584315 -282.50 62.50 17.50 0.0250433 -282.50 62.50 22.50 0.0141693 -282.50 62.50 27.50 0.00678969 -282.50 62.50 32.50 0.00479006 -282.50 62.50 37.50 0.00605562 -282.50 62.50 42.50 0.00969558 -282.50 62.50 47.50 0.0209546 -282.50 62.50 52.50 0.0338698 -282.50 62.50 57.50 0.0611151 -282.50 62.50 62.50 0.115047 -282.50 62.50 67.50 0.195316 -282.50 62.50 72.50 0.313438 -282.50 62.50 77.50 0.342066 -282.50 62.50 82.50 0.274664 -282.50 62.50 87.50 0.197583 -282.50 62.50 92.50 0.164812 -282.50 62.50 97.50 0.0996033 -282.50 62.50 102.50 0.0584314 -282.50 62.50 107.50 0.0250433 -282.50 62.50 112.50 0.0141693 -282.50 62.50 117.50 0.00678968 -282.50 62.50 122.50 0.00479006 -282.50 62.50 127.50 0.00605562 -282.50 62.50 132.50 0.00969557 -282.50 62.50 137.50 0.0209546 -282.50 62.50 142.50 0.0338698 -282.50 62.50 147.50 0.061115 -282.50 62.50 152.50 0.115046 -282.50 62.50 157.50 0.195315 -282.50 62.50 162.50 0.313437 -282.50 62.50 167.50 0.342067 -282.50 62.50 172.50 0.274664 -282.50 62.50 177.50 0.197583 -282.50 62.50 182.50 0.164812 -282.50 62.50 187.50 0.0996032 -282.50 62.50 192.50 0.0584315 -282.50 62.50 197.50 0.0250433 -282.50 62.50 202.50 0.0141693 -282.50 62.50 207.50 0.00678968 -282.50 62.50 212.50 0.00479006 -282.50 62.50 217.50 0.00605561 -282.50 62.50 222.50 0.00969557 -282.50 62.50 227.50 0.0209546 -282.50 62.50 232.50 0.0338698 -282.50 62.50 237.50 0.0611151 -282.50 62.50 242.50 0.115046 -282.50 62.50 247.50 0.195316 -282.50 62.50 252.50 0.313438 -282.50 62.50 257.50 0.342067 -282.50 62.50 262.50 0.274664 -282.50 62.50 267.50 0.197583 -282.50 62.50 272.50 0.164812 -282.50 62.50 277.50 0.0996033 -282.50 62.50 282.50 0.0584315 -282.50 62.50 287.50 0.0250433 -282.50 62.50 292.50 0.0141693 -282.50 62.50 297.50 0.00678969 -282.50 62.50 302.50 0.00479006 -282.50 62.50 307.50 0.00605561 -282.50 62.50 312.50 0.00969557 -282.50 62.50 317.50 0.0209546 -282.50 62.50 322.50 0.0338698 -282.50 62.50 327.50 0.061115 -282.50 62.50 332.50 0.115046 -282.50 62.50 337.50 0.195315 -282.50 62.50 342.50 0.313437 -282.50 62.50 347.50 0.342067 -282.50 62.50 352.50 0.274664 -282.50 62.50 357.50 0.197583 -282.50 67.50 2.50 0.232886 -282.50 67.50 7.50 0.170831 -282.50 67.50 12.50 0.14265 -282.50 67.50 17.50 0.081232 -282.50 67.50 22.50 0.0472481 -282.50 67.50 27.50 0.0230586 -282.50 67.50 32.50 0.0162894 -282.50 67.50 37.50 0.0216496 -282.50 67.50 42.50 0.0408355 -282.50 67.50 47.50 0.0766608 -282.50 67.50 52.50 0.148229 -282.50 67.50 57.50 0.2312 -282.50 67.50 62.50 0.341814 -282.50 67.50 67.50 0.548328 -282.50 67.50 72.50 0.680786 -282.50 67.50 77.50 0.734244 -282.50 67.50 82.50 0.549133 -282.50 67.50 87.50 0.342791 -282.50 67.50 92.50 0.232885 -282.50 67.50 97.50 0.17083 -282.50 67.50 102.50 0.14265 -282.50 67.50 107.50 0.0812319 -282.50 67.50 112.50 0.0472481 -282.50 67.50 117.50 0.0230585 -282.50 67.50 122.50 0.0162894 -282.50 67.50 127.50 0.0216496 -282.50 67.50 132.50 0.0408354 -282.50 67.50 137.50 0.0766607 -282.50 67.50 142.50 0.148229 -282.50 67.50 147.50 0.231199 -282.50 67.50 152.50 0.341814 -282.50 67.50 157.50 0.548327 -282.50 67.50 162.50 0.680786 -282.50 67.50 167.50 0.734244 -282.50 67.50 172.50 0.549133 -282.50 67.50 177.50 0.342791 -282.50 67.50 182.50 0.232885 -282.50 67.50 187.50 0.170831 -282.50 67.50 192.50 0.14265 -282.50 67.50 197.50 0.0812319 -282.50 67.50 202.50 0.0472481 -282.50 67.50 207.50 0.0230586 -282.50 67.50 212.50 0.0162894 -282.50 67.50 217.50 0.0216496 -282.50 67.50 222.50 0.0408354 -282.50 67.50 227.50 0.0766607 -282.50 67.50 232.50 0.148229 -282.50 67.50 237.50 0.231199 -282.50 67.50 242.50 0.341814 -282.50 67.50 247.50 0.548328 -282.50 67.50 252.50 0.680787 -282.50 67.50 257.50 0.734243 -282.50 67.50 262.50 0.549132 -282.50 67.50 267.50 0.342791 -282.50 67.50 272.50 0.232885 -282.50 67.50 277.50 0.170831 -282.50 67.50 282.50 0.14265 -282.50 67.50 287.50 0.081232 -282.50 67.50 292.50 0.0472481 -282.50 67.50 297.50 0.0230586 -282.50 67.50 302.50 0.0162894 -282.50 67.50 307.50 0.0216496 -282.50 67.50 312.50 0.0408354 -282.50 67.50 317.50 0.0766608 -282.50 67.50 322.50 0.148229 -282.50 67.50 327.50 0.231199 -282.50 67.50 332.50 0.341814 -282.50 67.50 337.50 0.548327 -282.50 67.50 342.50 0.680787 -282.50 67.50 347.50 0.734244 -282.50 67.50 352.50 0.549133 -282.50 67.50 357.50 0.342791 -282.50 72.50 2.50 0.335765 -282.50 72.50 7.50 0.307317 -282.50 72.50 12.50 0.275849 -282.50 72.50 17.50 0.18965 -282.50 72.50 22.50 0.145181 -282.50 72.50 27.50 0.108925 -282.50 72.50 32.50 0.0801606 -282.50 72.50 37.50 0.0967443 -282.50 72.50 42.50 0.176889 -282.50 72.50 47.50 0.2981 -282.50 72.50 52.50 0.485745 -282.50 72.50 57.50 0.667436 -282.50 72.50 62.50 0.826735 -282.50 72.50 67.50 1.04726 -282.50 72.50 72.50 1.26043 -282.50 72.50 77.50 1.17708 -282.50 72.50 82.50 0.892334 -282.50 72.50 87.50 0.541781 -282.50 72.50 92.50 0.335764 -282.50 72.50 97.50 0.307317 -282.50 72.50 102.50 0.275848 -282.50 72.50 107.50 0.18965 -282.50 72.50 112.50 0.145181 -282.50 72.50 117.50 0.108925 -282.50 72.50 122.50 0.0801605 -282.50 72.50 127.50 0.0967442 -282.50 72.50 132.50 0.176889 -282.50 72.50 137.50 0.2981 -282.50 72.50 142.50 0.485745 -282.50 72.50 147.50 0.667436 -282.50 72.50 152.50 0.826734 -282.50 72.50 157.50 1.04726 -282.50 72.50 162.50 1.26043 -282.50 72.50 167.50 1.17708 -282.50 72.50 172.50 0.892335 -282.50 72.50 177.50 0.541781 -282.50 72.50 182.50 0.335764 -282.50 72.50 187.50 0.307317 -282.50 72.50 192.50 0.275848 -282.50 72.50 197.50 0.18965 -282.50 72.50 202.50 0.145181 -282.50 72.50 207.50 0.108925 -282.50 72.50 212.50 0.0801606 -282.50 72.50 217.50 0.0967441 -282.50 72.50 222.50 0.176889 -282.50 72.50 227.50 0.2981 -282.50 72.50 232.50 0.485745 -282.50 72.50 237.50 0.667436 -282.50 72.50 242.50 0.826734 -282.50 72.50 247.50 1.04726 -282.50 72.50 252.50 1.26043 -282.50 72.50 257.50 1.17708 -282.50 72.50 262.50 0.892334 -282.50 72.50 267.50 0.541781 -282.50 72.50 272.50 0.335765 -282.50 72.50 277.50 0.307317 -282.50 72.50 282.50 0.275849 -282.50 72.50 287.50 0.18965 -282.50 72.50 292.50 0.145181 -282.50 72.50 297.50 0.108925 -282.50 72.50 302.50 0.0801606 -282.50 72.50 307.50 0.0967442 -282.50 72.50 312.50 0.176889 -282.50 72.50 317.50 0.2981 -282.50 72.50 322.50 0.485745 -282.50 72.50 327.50 0.667436 -282.50 72.50 332.50 0.826734 -282.50 72.50 337.50 1.04726 -282.50 72.50 342.50 1.26043 -282.50 72.50 347.50 1.17708 -282.50 72.50 352.50 0.892335 -282.50 72.50 357.50 0.541782 -282.50 77.50 2.50 0.422612 -282.50 77.50 7.50 0.489081 -282.50 77.50 12.50 0.395592 -282.50 77.50 17.50 0.383139 -282.50 77.50 22.50 0.360093 -282.50 77.50 27.50 0.282231 -282.50 77.50 32.50 0.272807 -282.50 77.50 37.50 0.380141 -282.50 77.50 42.50 0.57936 -282.50 77.50 47.50 0.913061 -282.50 77.50 52.50 1.23139 -282.50 77.50 57.50 1.43649 -282.50 77.50 62.50 1.55321 -282.50 77.50 67.50 1.65138 -282.50 77.50 72.50 1.70307 -282.50 77.50 77.50 1.5325 -282.50 77.50 82.50 1.14666 -282.50 77.50 87.50 0.677777 -282.50 77.50 92.50 0.422612 -282.50 77.50 97.50 0.489081 -282.50 77.50 102.50 0.395592 -282.50 77.50 107.50 0.383139 -282.50 77.50 112.50 0.360093 -282.50 77.50 117.50 0.282231 -282.50 77.50 122.50 0.272807 -282.50 77.50 127.50 0.380141 -282.50 77.50 132.50 0.57936 -282.50 77.50 137.50 0.913061 -282.50 77.50 142.50 1.23139 -282.50 77.50 147.50 1.43648 -282.50 77.50 152.50 1.55321 -282.50 77.50 157.50 1.65138 -282.50 77.50 162.50 1.70307 -282.50 77.50 167.50 1.5325 -282.50 77.50 172.50 1.14666 -282.50 77.50 177.50 0.677778 -282.50 77.50 182.50 0.422612 -282.50 77.50 187.50 0.489081 -282.50 77.50 192.50 0.395592 -282.50 77.50 197.50 0.383139 -282.50 77.50 202.50 0.360093 -282.50 77.50 207.50 0.282231 -282.50 77.50 212.50 0.272807 -282.50 77.50 217.50 0.380141 -282.50 77.50 222.50 0.57936 -282.50 77.50 227.50 0.91306 -282.50 77.50 232.50 1.23139 -282.50 77.50 237.50 1.43648 -282.50 77.50 242.50 1.55321 -282.50 77.50 247.50 1.65138 -282.50 77.50 252.50 1.70307 -282.50 77.50 257.50 1.5325 -282.50 77.50 262.50 1.14666 -282.50 77.50 267.50 0.677777 -282.50 77.50 272.50 0.422612 -282.50 77.50 277.50 0.489081 -282.50 77.50 282.50 0.395592 -282.50 77.50 287.50 0.383139 -282.50 77.50 292.50 0.360093 -282.50 77.50 297.50 0.282231 -282.50 77.50 302.50 0.272807 -282.50 77.50 307.50 0.380141 -282.50 77.50 312.50 0.57936 -282.50 77.50 317.50 0.91306 -282.50 77.50 322.50 1.23139 -282.50 77.50 327.50 1.43648 -282.50 77.50 332.50 1.55321 -282.50 77.50 337.50 1.65138 -282.50 77.50 342.50 1.70307 -282.50 77.50 347.50 1.5325 -282.50 77.50 352.50 1.14666 -282.50 77.50 357.50 0.677778 -282.50 82.50 2.50 0.429837 -282.50 82.50 7.50 0.515611 -282.50 82.50 12.50 0.524464 -282.50 82.50 17.50 0.594729 -282.50 82.50 22.50 0.63033 -282.50 82.50 27.50 0.654877 -282.50 82.50 32.50 0.754787 -282.50 82.50 37.50 0.968979 -282.50 82.50 42.50 1.31581 -282.50 82.50 47.50 1.75417 -282.50 82.50 52.50 2.13895 -282.50 82.50 57.50 2.30713 -282.50 82.50 62.50 2.23776 -282.50 82.50 67.50 2.1174 -282.50 82.50 72.50 1.93474 -282.50 82.50 77.50 1.53655 -282.50 82.50 82.50 1.09229 -282.50 82.50 87.50 0.66199 -282.50 82.50 92.50 0.429837 -282.50 82.50 97.50 0.515611 -282.50 82.50 102.50 0.524464 -282.50 82.50 107.50 0.594729 -282.50 82.50 112.50 0.63033 -282.50 82.50 117.50 0.654876 -282.50 82.50 122.50 0.754787 -282.50 82.50 127.50 0.968979 -282.50 82.50 132.50 1.31581 -282.50 82.50 137.50 1.75417 -282.50 82.50 142.50 2.13895 -282.50 82.50 147.50 2.30712 -282.50 82.50 152.50 2.23776 -282.50 82.50 157.50 2.1174 -282.50 82.50 162.50 1.93474 -282.50 82.50 167.50 1.53655 -282.50 82.50 172.50 1.09229 -282.50 82.50 177.50 0.66199 -282.50 82.50 182.50 0.429838 -282.50 82.50 187.50 0.515611 -282.50 82.50 192.50 0.524465 -282.50 82.50 197.50 0.594729 -282.50 82.50 202.50 0.63033 -282.50 82.50 207.50 0.654877 -282.50 82.50 212.50 0.754787 -282.50 82.50 217.50 0.968978 -282.50 82.50 222.50 1.31581 -282.50 82.50 227.50 1.75417 -282.50 82.50 232.50 2.13895 -282.50 82.50 237.50 2.30713 -282.50 82.50 242.50 2.23776 -282.50 82.50 247.50 2.1174 -282.50 82.50 252.50 1.93474 -282.50 82.50 257.50 1.53655 -282.50 82.50 262.50 1.09229 -282.50 82.50 267.50 0.66199 -282.50 82.50 272.50 0.429838 -282.50 82.50 277.50 0.515611 -282.50 82.50 282.50 0.524465 -282.50 82.50 287.50 0.594729 -282.50 82.50 292.50 0.63033 -282.50 82.50 297.50 0.654877 -282.50 82.50 302.50 0.754787 -282.50 82.50 307.50 0.968978 -282.50 82.50 312.50 1.31581 -282.50 82.50 317.50 1.75417 -282.50 82.50 322.50 2.13894 -282.50 82.50 327.50 2.30713 -282.50 82.50 332.50 2.23776 -282.50 82.50 337.50 2.1174 -282.50 82.50 342.50 1.93475 -282.50 82.50 347.50 1.53655 -282.50 82.50 352.50 1.09229 -282.50 82.50 357.50 0.661991 -282.50 87.50 2.50 0.382022 -282.50 87.50 7.50 0.466442 -282.50 87.50 12.50 0.665485 -282.50 87.50 17.50 0.788364 -282.50 87.50 22.50 0.992713 -282.50 87.50 27.50 1.16542 -282.50 87.50 32.50 1.35668 -282.50 87.50 37.50 1.65079 -282.50 87.50 42.50 2.04524 -282.50 87.50 47.50 2.41994 -282.50 87.50 52.50 2.59146 -282.50 87.50 57.50 2.48418 -282.50 87.50 62.50 2.26362 -282.50 87.50 67.50 2.00829 -282.50 87.50 72.50 1.65464 -282.50 87.50 77.50 1.31373 -282.50 87.50 82.50 0.94078 -282.50 87.50 87.50 0.554357 -282.50 87.50 92.50 0.382023 -282.50 87.50 97.50 0.466441 -282.50 87.50 102.50 0.665485 -282.50 87.50 107.50 0.788364 -282.50 87.50 112.50 0.992713 -282.50 87.50 117.50 1.16542 -282.50 87.50 122.50 1.35668 -282.50 87.50 127.50 1.65079 -282.50 87.50 132.50 2.04524 -282.50 87.50 137.50 2.41993 -282.50 87.50 142.50 2.59146 -282.50 87.50 147.50 2.48418 -282.50 87.50 152.50 2.26362 -282.50 87.50 157.50 2.00829 -282.50 87.50 162.50 1.65464 -282.50 87.50 167.50 1.31373 -282.50 87.50 172.50 0.94078 -282.50 87.50 177.50 0.554357 -282.50 87.50 182.50 0.382022 -282.50 87.50 187.50 0.466442 -282.50 87.50 192.50 0.665485 -282.50 87.50 197.50 0.788364 -282.50 87.50 202.50 0.992713 -282.50 87.50 207.50 1.16542 -282.50 87.50 212.50 1.35668 -282.50 87.50 217.50 1.65079 -282.50 87.50 222.50 2.04524 -282.50 87.50 227.50 2.41994 -282.50 87.50 232.50 2.59146 -282.50 87.50 237.50 2.48418 -282.50 87.50 242.50 2.26362 -282.50 87.50 247.50 2.00829 -282.50 87.50 252.50 1.65464 -282.50 87.50 257.50 1.31373 -282.50 87.50 262.50 0.940779 -282.50 87.50 267.50 0.554356 -282.50 87.50 272.50 0.382023 -282.50 87.50 277.50 0.466442 -282.50 87.50 282.50 0.665485 -282.50 87.50 287.50 0.788364 -282.50 87.50 292.50 0.992713 -282.50 87.50 297.50 1.16542 -282.50 87.50 302.50 1.35668 -282.50 87.50 307.50 1.65079 -282.50 87.50 312.50 2.04524 -282.50 87.50 317.50 2.41994 -282.50 87.50 322.50 2.59146 -282.50 87.50 327.50 2.48418 -282.50 87.50 332.50 2.26362 -282.50 87.50 337.50 2.00829 -282.50 87.50 342.50 1.65464 -282.50 87.50 347.50 1.31373 -282.50 87.50 352.50 0.940781 -282.50 87.50 357.50 0.554358 -282.50 92.50 2.50 0.393272 -282.50 92.50 7.50 0.512872 -282.50 92.50 12.50 0.748317 -282.50 92.50 17.50 1.01248 -282.50 92.50 22.50 1.31461 -282.50 92.50 27.50 1.60321 -282.50 92.50 32.50 1.86338 -282.50 92.50 37.50 2.17935 -282.50 92.50 42.50 2.49553 -282.50 92.50 47.50 2.62872 -282.50 92.50 52.50 2.49553 -282.50 92.50 57.50 2.17935 -282.50 92.50 62.50 1.86337 -282.50 92.50 67.50 1.60321 -282.50 92.50 72.50 1.3146 -282.50 92.50 77.50 1.01248 -282.50 92.50 82.50 0.748317 -282.50 92.50 87.50 0.512873 -282.50 92.50 92.50 0.393272 -282.50 92.50 97.50 0.512872 -282.50 92.50 102.50 0.748316 -282.50 92.50 107.50 1.01248 -282.50 92.50 112.50 1.3146 -282.50 92.50 117.50 1.60321 -282.50 92.50 122.50 1.86337 -282.50 92.50 127.50 2.17935 -282.50 92.50 132.50 2.49553 -282.50 92.50 137.50 2.62872 -282.50 92.50 142.50 2.49553 -282.50 92.50 147.50 2.17935 -282.50 92.50 152.50 1.86337 -282.50 92.50 157.50 1.60321 -282.50 92.50 162.50 1.3146 -282.50 92.50 167.50 1.01248 -282.50 92.50 172.50 0.748317 -282.50 92.50 177.50 0.512873 -282.50 92.50 182.50 0.393272 -282.50 92.50 187.50 0.512872 -282.50 92.50 192.50 0.748317 -282.50 92.50 197.50 1.01248 -282.50 92.50 202.50 1.3146 -282.50 92.50 207.50 1.60321 -282.50 92.50 212.50 1.86337 -282.50 92.50 217.50 2.17935 -282.50 92.50 222.50 2.49553 -282.50 92.50 227.50 2.62872 -282.50 92.50 232.50 2.49553 -282.50 92.50 237.50 2.17935 -282.50 92.50 242.50 1.86337 -282.50 92.50 247.50 1.60321 -282.50 92.50 252.50 1.3146 -282.50 92.50 257.50 1.01248 -282.50 92.50 262.50 0.748317 -282.50 92.50 267.50 0.512873 -282.50 92.50 272.50 0.393273 -282.50 92.50 277.50 0.512872 -282.50 92.50 282.50 0.748316 -282.50 92.50 287.50 1.01248 -282.50 92.50 292.50 1.3146 -282.50 92.50 297.50 1.60321 -282.50 92.50 302.50 1.86338 -282.50 92.50 307.50 2.17935 -282.50 92.50 312.50 2.49553 -282.50 92.50 317.50 2.62872 -282.50 92.50 322.50 2.49553 -282.50 92.50 327.50 2.17935 -282.50 92.50 332.50 1.86338 -282.50 92.50 337.50 1.60321 -282.50 92.50 342.50 1.3146 -282.50 92.50 347.50 1.01248 -282.50 92.50 352.50 0.748318 -282.50 92.50 357.50 0.512873 -282.50 97.50 2.50 0.382023 -282.50 97.50 7.50 0.554357 -282.50 97.50 12.50 0.94078 -282.50 97.50 17.50 1.31373 -282.50 97.50 22.50 1.65464 -282.50 97.50 27.50 2.00829 -282.50 97.50 32.50 2.26362 -282.50 97.50 37.50 2.48418 -282.50 97.50 42.50 2.59146 -282.50 97.50 47.50 2.41994 -282.50 97.50 52.50 2.04524 -282.50 97.50 57.50 1.65079 -282.50 97.50 62.50 1.35668 -282.50 97.50 67.50 1.16542 -282.50 97.50 72.50 0.992713 -282.50 97.50 77.50 0.788364 -282.50 97.50 82.50 0.665485 -282.50 97.50 87.50 0.466441 -282.50 97.50 92.50 0.382023 -282.50 97.50 97.50 0.554357 -282.50 97.50 102.50 0.94078 -282.50 97.50 107.50 1.31373 -282.50 97.50 112.50 1.65464 -282.50 97.50 117.50 2.00829 -282.50 97.50 122.50 2.26362 -282.50 97.50 127.50 2.48418 -282.50 97.50 132.50 2.59146 -282.50 97.50 137.50 2.41994 -282.50 97.50 142.50 2.04524 -282.50 97.50 147.50 1.65079 -282.50 97.50 152.50 1.35668 -282.50 97.50 157.50 1.16542 -282.50 97.50 162.50 0.992713 -282.50 97.50 167.50 0.788364 -282.50 97.50 172.50 0.665485 -282.50 97.50 177.50 0.466442 -282.50 97.50 182.50 0.382023 -282.50 97.50 187.50 0.554357 -282.50 97.50 192.50 0.94078 -282.50 97.50 197.50 1.31373 -282.50 97.50 202.50 1.65464 -282.50 97.50 207.50 2.00829 -282.50 97.50 212.50 2.26362 -282.50 97.50 217.50 2.48418 -282.50 97.50 222.50 2.59146 -282.50 97.50 227.50 2.41994 -282.50 97.50 232.50 2.04524 -282.50 97.50 237.50 1.65079 -282.50 97.50 242.50 1.35668 -282.50 97.50 247.50 1.16542 -282.50 97.50 252.50 0.992713 -282.50 97.50 257.50 0.788364 -282.50 97.50 262.50 0.665485 -282.50 97.50 267.50 0.466442 -282.50 97.50 272.50 0.382023 -282.50 97.50 277.50 0.554357 -282.50 97.50 282.50 0.94078 -282.50 97.50 287.50 1.31373 -282.50 97.50 292.50 1.65464 -282.50 97.50 297.50 2.00829 -282.50 97.50 302.50 2.26362 -282.50 97.50 307.50 2.48418 -282.50 97.50 312.50 2.59146 -282.50 97.50 317.50 2.41994 -282.50 97.50 322.50 2.04524 -282.50 97.50 327.50 1.65079 -282.50 97.50 332.50 1.35668 -282.50 97.50 337.50 1.16542 -282.50 97.50 342.50 0.992713 -282.50 97.50 347.50 0.788365 -282.50 97.50 352.50 0.665485 -282.50 97.50 357.50 0.466442 -282.50 102.50 2.50 0.429837 -282.50 102.50 7.50 0.66199 -282.50 102.50 12.50 1.09229 -282.50 102.50 17.50 1.53655 -282.50 102.50 22.50 1.93474 -282.50 102.50 27.50 2.1174 -282.50 102.50 32.50 2.23776 -282.50 102.50 37.50 2.30713 -282.50 102.50 42.50 2.13894 -282.50 102.50 47.50 1.75417 -282.50 102.50 52.50 1.31581 -282.50 102.50 57.50 0.968978 -282.50 102.50 62.50 0.754787 -282.50 102.50 67.50 0.654877 -282.50 102.50 72.50 0.63033 -282.50 102.50 77.50 0.594728 -282.50 102.50 82.50 0.524464 -282.50 102.50 87.50 0.515611 -282.50 102.50 92.50 0.429838 -282.50 102.50 97.50 0.66199 -282.50 102.50 102.50 1.09229 -282.50 102.50 107.50 1.53655 -282.50 102.50 112.50 1.93474 -282.50 102.50 117.50 2.1174 -282.50 102.50 122.50 2.23776 -282.50 102.50 127.50 2.30713 -282.50 102.50 132.50 2.13895 -282.50 102.50 137.50 1.75417 -282.50 102.50 142.50 1.31581 -282.50 102.50 147.50 0.968979 -282.50 102.50 152.50 0.754788 -282.50 102.50 157.50 0.654877 -282.50 102.50 162.50 0.63033 -282.50 102.50 167.50 0.594729 -282.50 102.50 172.50 0.524465 -282.50 102.50 177.50 0.515612 -282.50 102.50 182.50 0.429838 -282.50 102.50 187.50 0.66199 -282.50 102.50 192.50 1.09229 -282.50 102.50 197.50 1.53655 -282.50 102.50 202.50 1.93474 -282.50 102.50 207.50 2.1174 -282.50 102.50 212.50 2.23776 -282.50 102.50 217.50 2.30713 -282.50 102.50 222.50 2.13895 -282.50 102.50 227.50 1.75417 -282.50 102.50 232.50 1.31581 -282.50 102.50 237.50 0.968978 -282.50 102.50 242.50 0.754787 -282.50 102.50 247.50 0.654877 -282.50 102.50 252.50 0.63033 -282.50 102.50 257.50 0.594729 -282.50 102.50 262.50 0.524465 -282.50 102.50 267.50 0.515612 -282.50 102.50 272.50 0.429838 -282.50 102.50 277.50 0.66199 -282.50 102.50 282.50 1.09229 -282.50 102.50 287.50 1.53655 -282.50 102.50 292.50 1.93474 -282.50 102.50 297.50 2.1174 -282.50 102.50 302.50 2.23776 -282.50 102.50 307.50 2.30713 -282.50 102.50 312.50 2.13895 -282.50 102.50 317.50 1.75417 -282.50 102.50 322.50 1.31581 -282.50 102.50 327.50 0.968979 -282.50 102.50 332.50 0.754787 -282.50 102.50 337.50 0.654877 -282.50 102.50 342.50 0.63033 -282.50 102.50 347.50 0.594729 -282.50 102.50 352.50 0.524465 -282.50 102.50 357.50 0.515611 -282.50 107.50 2.50 0.422612 -282.50 107.50 7.50 0.677777 -282.50 107.50 12.50 1.14666 -282.50 107.50 17.50 1.5325 -282.50 107.50 22.50 1.70307 -282.50 107.50 27.50 1.65138 -282.50 107.50 32.50 1.55321 -282.50 107.50 37.50 1.43649 -282.50 107.50 42.50 1.23139 -282.50 107.50 47.50 0.913061 -282.50 107.50 52.50 0.57936 -282.50 107.50 57.50 0.380141 -282.50 107.50 62.50 0.272807 -282.50 107.50 67.50 0.282231 -282.50 107.50 72.50 0.360093 -282.50 107.50 77.50 0.383139 -282.50 107.50 82.50 0.395592 -282.50 107.50 87.50 0.489081 -282.50 107.50 92.50 0.422612 -282.50 107.50 97.50 0.677777 -282.50 107.50 102.50 1.14666 -282.50 107.50 107.50 1.5325 -282.50 107.50 112.50 1.70307 -282.50 107.50 117.50 1.65138 -282.50 107.50 122.50 1.55321 -282.50 107.50 127.50 1.43649 -282.50 107.50 132.50 1.23139 -282.50 107.50 137.50 0.913061 -282.50 107.50 142.50 0.57936 -282.50 107.50 147.50 0.380141 -282.50 107.50 152.50 0.272807 -282.50 107.50 157.50 0.282231 -282.50 107.50 162.50 0.360093 -282.50 107.50 167.50 0.383139 -282.50 107.50 172.50 0.395592 -282.50 107.50 177.50 0.489081 -282.50 107.50 182.50 0.422612 -282.50 107.50 187.50 0.677778 -282.50 107.50 192.50 1.14666 -282.50 107.50 197.50 1.5325 -282.50 107.50 202.50 1.70307 -282.50 107.50 207.50 1.65138 -282.50 107.50 212.50 1.55321 -282.50 107.50 217.50 1.43649 -282.50 107.50 222.50 1.23139 -282.50 107.50 227.50 0.913061 -282.50 107.50 232.50 0.57936 -282.50 107.50 237.50 0.380141 -282.50 107.50 242.50 0.272807 -282.50 107.50 247.50 0.282231 -282.50 107.50 252.50 0.360093 -282.50 107.50 257.50 0.383139 -282.50 107.50 262.50 0.395592 -282.50 107.50 267.50 0.489081 -282.50 107.50 272.50 0.422612 -282.50 107.50 277.50 0.677778 -282.50 107.50 282.50 1.14666 -282.50 107.50 287.50 1.5325 -282.50 107.50 292.50 1.70307 -282.50 107.50 297.50 1.65138 -282.50 107.50 302.50 1.55321 -282.50 107.50 307.50 1.43649 -282.50 107.50 312.50 1.23139 -282.50 107.50 317.50 0.913061 -282.50 107.50 322.50 0.57936 -282.50 107.50 327.50 0.380141 -282.50 107.50 332.50 0.272807 -282.50 107.50 337.50 0.282231 -282.50 107.50 342.50 0.360093 -282.50 107.50 347.50 0.383139 -282.50 107.50 352.50 0.395592 -282.50 107.50 357.50 0.489081 -282.50 112.50 2.50 0.335765 -282.50 112.50 7.50 0.541781 -282.50 112.50 12.50 0.892334 -282.50 112.50 17.50 1.17708 -282.50 112.50 22.50 1.26043 -282.50 112.50 27.50 1.04726 -282.50 112.50 32.50 0.826733 -282.50 112.50 37.50 0.667436 -282.50 112.50 42.50 0.485745 -282.50 112.50 47.50 0.2981 -282.50 112.50 52.50 0.176889 -282.50 112.50 57.50 0.0967442 -282.50 112.50 62.50 0.0801606 -282.50 112.50 67.50 0.108925 -282.50 112.50 72.50 0.145181 -282.50 112.50 77.50 0.18965 -282.50 112.50 82.50 0.275849 -282.50 112.50 87.50 0.307317 -282.50 112.50 92.50 0.335765 -282.50 112.50 97.50 0.541781 -282.50 112.50 102.50 0.892335 -282.50 112.50 107.50 1.17708 -282.50 112.50 112.50 1.26043 -282.50 112.50 117.50 1.04726 -282.50 112.50 122.50 0.826734 -282.50 112.50 127.50 0.667436 -282.50 112.50 132.50 0.485745 -282.50 112.50 137.50 0.2981 -282.50 112.50 142.50 0.176889 -282.50 112.50 147.50 0.0967443 -282.50 112.50 152.50 0.0801607 -282.50 112.50 157.50 0.108925 -282.50 112.50 162.50 0.145181 -282.50 112.50 167.50 0.18965 -282.50 112.50 172.50 0.275849 -282.50 112.50 177.50 0.307317 -282.50 112.50 182.50 0.335765 -282.50 112.50 187.50 0.541781 -282.50 112.50 192.50 0.892335 -282.50 112.50 197.50 1.17708 -282.50 112.50 202.50 1.26043 -282.50 112.50 207.50 1.04726 -282.50 112.50 212.50 0.826734 -282.50 112.50 217.50 0.667436 -282.50 112.50 222.50 0.485745 -282.50 112.50 227.50 0.298101 -282.50 112.50 232.50 0.176889 -282.50 112.50 237.50 0.0967441 -282.50 112.50 242.50 0.0801606 -282.50 112.50 247.50 0.108925 -282.50 112.50 252.50 0.145181 -282.50 112.50 257.50 0.18965 -282.50 112.50 262.50 0.275849 -282.50 112.50 267.50 0.307317 -282.50 112.50 272.50 0.335765 -282.50 112.50 277.50 0.541781 -282.50 112.50 282.50 0.892334 -282.50 112.50 287.50 1.17708 -282.50 112.50 292.50 1.26043 -282.50 112.50 297.50 1.04726 -282.50 112.50 302.50 0.826734 -282.50 112.50 307.50 0.667436 -282.50 112.50 312.50 0.485745 -282.50 112.50 317.50 0.2981 -282.50 112.50 322.50 0.176889 -282.50 112.50 327.50 0.0967445 -282.50 112.50 332.50 0.0801606 -282.50 112.50 337.50 0.108925 -282.50 112.50 342.50 0.145181 -282.50 112.50 347.50 0.18965 -282.50 112.50 352.50 0.275848 -282.50 112.50 357.50 0.307317 -282.50 117.50 2.50 0.232885 -282.50 117.50 7.50 0.34279 -282.50 117.50 12.50 0.549132 -282.50 117.50 17.50 0.734243 -282.50 117.50 22.50 0.680785 -282.50 117.50 27.50 0.548327 -282.50 117.50 32.50 0.341813 -282.50 117.50 37.50 0.231199 -282.50 117.50 42.50 0.148229 -282.50 117.50 47.50 0.0766606 -282.50 117.50 52.50 0.0408353 -282.50 117.50 57.50 0.0216496 -282.50 117.50 62.50 0.0162894 -282.50 117.50 67.50 0.0230585 -282.50 117.50 72.50 0.0472481 -282.50 117.50 77.50 0.0812319 -282.50 117.50 82.50 0.14265 -282.50 117.50 87.50 0.17083 -282.50 117.50 92.50 0.232886 -282.50 117.50 97.50 0.342791 -282.50 117.50 102.50 0.549132 -282.50 117.50 107.50 0.734244 -282.50 117.50 112.50 0.680786 -282.50 117.50 117.50 0.548327 -282.50 117.50 122.50 0.341813 -282.50 117.50 127.50 0.231199 -282.50 117.50 132.50 0.148229 -282.50 117.50 137.50 0.0766607 -282.50 117.50 142.50 0.0408353 -282.50 117.50 147.50 0.0216496 -282.50 117.50 152.50 0.0162894 -282.50 117.50 157.50 0.0230585 -282.50 117.50 162.50 0.0472481 -282.50 117.50 167.50 0.0812319 -282.50 117.50 172.50 0.14265 -282.50 117.50 177.50 0.17083 -282.50 117.50 182.50 0.232885 -282.50 117.50 187.50 0.342791 -282.50 117.50 192.50 0.549133 -282.50 117.50 197.50 0.734244 -282.50 117.50 202.50 0.680786 -282.50 117.50 207.50 0.548327 -282.50 117.50 212.50 0.341813 -282.50 117.50 217.50 0.231199 -282.50 117.50 222.50 0.148229 -282.50 117.50 227.50 0.0766607 -282.50 117.50 232.50 0.0408353 -282.50 117.50 237.50 0.0216496 -282.50 117.50 242.50 0.0162894 -282.50 117.50 247.50 0.0230585 -282.50 117.50 252.50 0.0472481 -282.50 117.50 257.50 0.081232 -282.50 117.50 262.50 0.14265 -282.50 117.50 267.50 0.17083 -282.50 117.50 272.50 0.232885 -282.50 117.50 277.50 0.34279 -282.50 117.50 282.50 0.549132 -282.50 117.50 287.50 0.734244 -282.50 117.50 292.50 0.680786 -282.50 117.50 297.50 0.548327 -282.50 117.50 302.50 0.341814 -282.50 117.50 307.50 0.231199 -282.50 117.50 312.50 0.148229 -282.50 117.50 317.50 0.0766607 -282.50 117.50 322.50 0.0408354 -282.50 117.50 327.50 0.0216496 -282.50 117.50 332.50 0.0162894 -282.50 117.50 337.50 0.0230585 -282.50 117.50 342.50 0.047248 -282.50 117.50 347.50 0.0812317 -282.50 117.50 352.50 0.14265 -282.50 117.50 357.50 0.17083 -282.50 122.50 2.50 0.164812 -282.50 122.50 7.50 0.197583 -282.50 122.50 12.50 0.274664 -282.50 122.50 17.50 0.342066 -282.50 122.50 22.50 0.313437 -282.50 122.50 27.50 0.195315 -282.50 122.50 32.50 0.115046 -282.50 122.50 37.50 0.0611149 -282.50 122.50 42.50 0.0338697 -282.50 122.50 47.50 0.0209546 -282.50 122.50 52.50 0.00969555 -282.50 122.50 57.50 0.00605562 -282.50 122.50 62.50 0.00479006 -282.50 122.50 67.50 0.00678968 -282.50 122.50 72.50 0.0141693 -282.50 122.50 77.50 0.0250432 -282.50 122.50 82.50 0.0584314 -282.50 122.50 87.50 0.0996033 -282.50 122.50 92.50 0.164812 -282.50 122.50 97.50 0.197583 -282.50 122.50 102.50 0.274664 -282.50 122.50 107.50 0.342066 -282.50 122.50 112.50 0.313437 -282.50 122.50 117.50 0.195315 -282.50 122.50 122.50 0.115046 -282.50 122.50 127.50 0.0611149 -282.50 122.50 132.50 0.0338697 -282.50 122.50 137.50 0.0209546 -282.50 122.50 142.50 0.00969555 -282.50 122.50 147.50 0.00605562 -282.50 122.50 152.50 0.00479006 -282.50 122.50 157.50 0.00678969 -282.50 122.50 162.50 0.0141693 -282.50 122.50 167.50 0.0250433 -282.50 122.50 172.50 0.0584314 -282.50 122.50 177.50 0.0996032 -282.50 122.50 182.50 0.164812 -282.50 122.50 187.50 0.197583 -282.50 122.50 192.50 0.274664 -282.50 122.50 197.50 0.342066 -282.50 122.50 202.50 0.313437 -282.50 122.50 207.50 0.195315 -282.50 122.50 212.50 0.115046 -282.50 122.50 217.50 0.0611149 -282.50 122.50 222.50 0.0338697 -282.50 122.50 227.50 0.0209546 -282.50 122.50 232.50 0.00969554 -282.50 122.50 237.50 0.00605561 -282.50 122.50 242.50 0.00479006 -282.50 122.50 247.50 0.00678969 -282.50 122.50 252.50 0.0141693 -282.50 122.50 257.50 0.0250433 -282.50 122.50 262.50 0.0584315 -282.50 122.50 267.50 0.0996034 -282.50 122.50 272.50 0.164812 -282.50 122.50 277.50 0.197583 -282.50 122.50 282.50 0.274664 -282.50 122.50 287.50 0.342066 -282.50 122.50 292.50 0.313437 -282.50 122.50 297.50 0.195315 -282.50 122.50 302.50 0.115046 -282.50 122.50 307.50 0.061115 -282.50 122.50 312.50 0.0338697 -282.50 122.50 317.50 0.0209546 -282.50 122.50 322.50 0.00969557 -282.50 122.50 327.50 0.00605562 -282.50 122.50 332.50 0.00479006 -282.50 122.50 337.50 0.00678967 -282.50 122.50 342.50 0.0141692 -282.50 122.50 347.50 0.0250432 -282.50 122.50 352.50 0.0584313 -282.50 122.50 357.50 0.0996032 -282.50 127.50 2.50 0.110206 -282.50 127.50 7.50 0.111424 -282.50 127.50 12.50 0.11044 -282.50 127.50 17.50 0.118965 -282.50 127.50 22.50 0.108714 -282.50 127.50 27.50 0.059175 -282.50 127.50 32.50 0.0294673 -282.50 127.50 37.50 0.0189809 -282.50 127.50 42.50 0.0187428 -282.50 127.50 47.50 0.0295768 -282.50 127.50 52.50 0.0283886 -282.50 127.50 57.50 0.0344461 -282.50 127.50 62.50 0.0337436 -282.50 127.50 67.50 0.0188954 -282.50 127.50 72.50 0.0122309 -282.50 127.50 77.50 0.0139949 -282.50 127.50 82.50 0.0251331 -282.50 127.50 87.50 0.0572843 -282.50 127.50 92.50 0.110206 -282.50 127.50 97.50 0.111425 -282.50 127.50 102.50 0.11044 -282.50 127.50 107.50 0.118965 -282.50 127.50 112.50 0.108714 -282.50 127.50 117.50 0.059175 -282.50 127.50 122.50 0.0294673 -282.50 127.50 127.50 0.0189809 -282.50 127.50 132.50 0.0187428 -282.50 127.50 137.50 0.0295768 -282.50 127.50 142.50 0.0283886 -282.50 127.50 147.50 0.0344461 -282.50 127.50 152.50 0.0337436 -282.50 127.50 157.50 0.0188955 -282.50 127.50 162.50 0.0122309 -282.50 127.50 167.50 0.0139949 -282.50 127.50 172.50 0.0251331 -282.50 127.50 177.50 0.0572842 -282.50 127.50 182.50 0.110206 -282.50 127.50 187.50 0.111425 -282.50 127.50 192.50 0.11044 -282.50 127.50 197.50 0.118965 -282.50 127.50 202.50 0.108714 -282.50 127.50 207.50 0.0591751 -282.50 127.50 212.50 0.0294673 -282.50 127.50 217.50 0.0189809 -282.50 127.50 222.50 0.0187428 -282.50 127.50 227.50 0.0295768 -282.50 127.50 232.50 0.0283886 -282.50 127.50 237.50 0.034446 -282.50 127.50 242.50 0.0337436 -282.50 127.50 247.50 0.0188954 -282.50 127.50 252.50 0.0122309 -282.50 127.50 257.50 0.0139949 -282.50 127.50 262.50 0.0251331 -282.50 127.50 267.50 0.0572843 -282.50 127.50 272.50 0.110206 -282.50 127.50 277.50 0.111425 -282.50 127.50 282.50 0.11044 -282.50 127.50 287.50 0.118965 -282.50 127.50 292.50 0.108714 -282.50 127.50 297.50 0.0591751 -282.50 127.50 302.50 0.0294673 -282.50 127.50 307.50 0.0189809 -282.50 127.50 312.50 0.0187428 -282.50 127.50 317.50 0.0295768 -282.50 127.50 322.50 0.0283886 -282.50 127.50 327.50 0.0344461 -282.50 127.50 332.50 0.0337436 -282.50 127.50 337.50 0.0188955 -282.50 127.50 342.50 0.0122309 -282.50 127.50 347.50 0.0139949 -282.50 127.50 352.50 0.025133 -282.50 127.50 357.50 0.0572841 -282.50 132.50 2.50 0.0566768 -282.50 132.50 7.50 0.0577729 -282.50 132.50 12.50 0.0384049 -282.50 132.50 17.50 0.0292254 -282.50 132.50 22.50 0.0274118 -282.50 132.50 27.50 0.0273174 -282.50 132.50 32.50 0.0402711 -282.50 132.50 37.50 0.0746005 -282.50 132.50 42.50 0.120229 -282.50 132.50 47.50 0.181531 -282.50 132.50 52.50 0.203694 -282.50 132.50 57.50 0.229346 -282.50 132.50 62.50 0.178877 -282.50 132.50 67.50 0.104541 -282.50 132.50 72.50 0.0611132 -282.50 132.50 77.50 0.0357779 -282.50 132.50 82.50 0.0208145 -282.50 132.50 87.50 0.0285764 -282.50 132.50 92.50 0.0566768 -282.50 132.50 97.50 0.0577729 -282.50 132.50 102.50 0.0384049 -282.50 132.50 107.50 0.0292254 -282.50 132.50 112.50 0.0274118 -282.50 132.50 117.50 0.0273174 -282.50 132.50 122.50 0.040271 -282.50 132.50 127.50 0.0746005 -282.50 132.50 132.50 0.120229 -282.50 132.50 137.50 0.181531 -282.50 132.50 142.50 0.203694 -282.50 132.50 147.50 0.229345 -282.50 132.50 152.50 0.178877 -282.50 132.50 157.50 0.104541 -282.50 132.50 162.50 0.0611132 -282.50 132.50 167.50 0.0357779 -282.50 132.50 172.50 0.0208145 -282.50 132.50 177.50 0.0285764 -282.50 132.50 182.50 0.0566768 -282.50 132.50 187.50 0.0577729 -282.50 132.50 192.50 0.0384049 -282.50 132.50 197.50 0.0292254 -282.50 132.50 202.50 0.0274119 -282.50 132.50 207.50 0.0273174 -282.50 132.50 212.50 0.040271 -282.50 132.50 217.50 0.0746005 -282.50 132.50 222.50 0.120228 -282.50 132.50 227.50 0.18153 -282.50 132.50 232.50 0.203694 -282.50 132.50 237.50 0.229345 -282.50 132.50 242.50 0.178877 -282.50 132.50 247.50 0.10454 -282.50 132.50 252.50 0.0611132 -282.50 132.50 257.50 0.0357778 -282.50 132.50 262.50 0.0208145 -282.50 132.50 267.50 0.0285764 -282.50 132.50 272.50 0.0566768 -282.50 132.50 277.50 0.0577729 -282.50 132.50 282.50 0.0384049 -282.50 132.50 287.50 0.0292254 -282.50 132.50 292.50 0.0274119 -282.50 132.50 297.50 0.0273174 -282.50 132.50 302.50 0.040271 -282.50 132.50 307.50 0.0746005 -282.50 132.50 312.50 0.120229 -282.50 132.50 317.50 0.181531 -282.50 132.50 322.50 0.203694 -282.50 132.50 327.50 0.229346 -282.50 132.50 332.50 0.178877 -282.50 132.50 337.50 0.104541 -282.50 132.50 342.50 0.0611133 -282.50 132.50 347.50 0.0357779 -282.50 132.50 352.50 0.0208145 -282.50 132.50 357.50 0.0285763 -282.50 137.50 2.50 0.0326857 -282.50 137.50 7.50 0.0345915 -282.50 137.50 12.50 0.0209977 -282.50 137.50 17.50 0.0157058 -282.50 137.50 22.50 0.0280381 -282.50 137.50 27.50 0.0711575 -282.50 137.50 32.50 0.152569 -282.50 137.50 37.50 0.338105 -282.50 137.50 42.50 0.530007 -282.50 137.50 47.50 0.790583 -282.50 137.50 52.50 0.831385 -282.50 137.50 57.50 0.80583 -282.50 137.50 62.50 0.569739 -282.50 137.50 67.50 0.354763 -282.50 137.50 72.50 0.207284 -282.50 137.50 77.50 0.114671 -282.50 137.50 82.50 0.0482187 -282.50 137.50 87.50 0.0252326 -282.50 137.50 92.50 0.0326857 -282.50 137.50 97.50 0.0345915 -282.50 137.50 102.50 0.0209977 -282.50 137.50 107.50 0.0157058 -282.50 137.50 112.50 0.0280381 -282.50 137.50 117.50 0.0711575 -282.50 137.50 122.50 0.152569 -282.50 137.50 127.50 0.338105 -282.50 137.50 132.50 0.530007 -282.50 137.50 137.50 0.790582 -282.50 137.50 142.50 0.831385 -282.50 137.50 147.50 0.80583 -282.50 137.50 152.50 0.56974 -282.50 137.50 157.50 0.354763 -282.50 137.50 162.50 0.207284 -282.50 137.50 167.50 0.114671 -282.50 137.50 172.50 0.0482187 -282.50 137.50 177.50 0.0252326 -282.50 137.50 182.50 0.0326857 -282.50 137.50 187.50 0.0345914 -282.50 137.50 192.50 0.0209977 -282.50 137.50 197.50 0.0157058 -282.50 137.50 202.50 0.0280381 -282.50 137.50 207.50 0.0711574 -282.50 137.50 212.50 0.152569 -282.50 137.50 217.50 0.338105 -282.50 137.50 222.50 0.530006 -282.50 137.50 227.50 0.790582 -282.50 137.50 232.50 0.831385 -282.50 137.50 237.50 0.80583 -282.50 137.50 242.50 0.569739 -282.50 137.50 247.50 0.354763 -282.50 137.50 252.50 0.207284 -282.50 137.50 257.50 0.114671 -282.50 137.50 262.50 0.0482186 -282.50 137.50 267.50 0.0252326 -282.50 137.50 272.50 0.0326857 -282.50 137.50 277.50 0.0345915 -282.50 137.50 282.50 0.0209977 -282.50 137.50 287.50 0.0157058 -282.50 137.50 292.50 0.0280381 -282.50 137.50 297.50 0.0711574 -282.50 137.50 302.50 0.152569 -282.50 137.50 307.50 0.338105 -282.50 137.50 312.50 0.530006 -282.50 137.50 317.50 0.790582 -282.50 137.50 322.50 0.831385 -282.50 137.50 327.50 0.80583 -282.50 137.50 332.50 0.56974 -282.50 137.50 337.50 0.354763 -282.50 137.50 342.50 0.207285 -282.50 137.50 347.50 0.114671 -282.50 137.50 352.50 0.0482188 -282.50 137.50 357.50 0.0252327 -282.50 142.50 2.50 0.0566768 -282.50 142.50 7.50 0.0561728 -282.50 142.50 12.50 0.0415526 -282.50 142.50 17.50 0.0474071 -282.50 142.50 22.50 0.0906726 -282.50 142.50 27.50 0.209317 -282.50 142.50 32.50 0.46399 -282.50 142.50 37.50 0.917943 -282.50 142.50 42.50 1.54855 -282.50 142.50 47.50 2.05118 -282.50 142.50 52.50 2.17351 -282.50 142.50 57.50 1.882 -282.50 142.50 62.50 1.35088 -282.50 142.50 67.50 0.817294 -282.50 142.50 72.50 0.479108 -282.50 142.50 77.50 0.26194 -282.50 142.50 82.50 0.114879 -282.50 142.50 87.50 0.0580158 -282.50 142.50 92.50 0.0566768 -282.50 142.50 97.50 0.0561728 -282.50 142.50 102.50 0.0415526 -282.50 142.50 107.50 0.0474071 -282.50 142.50 112.50 0.0906727 -282.50 142.50 117.50 0.209317 -282.50 142.50 122.50 0.46399 -282.50 142.50 127.50 0.917944 -282.50 142.50 132.50 1.54855 -282.50 142.50 137.50 2.05118 -282.50 142.50 142.50 2.17351 -282.50 142.50 147.50 1.882 -282.50 142.50 152.50 1.35089 -282.50 142.50 157.50 0.817295 -282.50 142.50 162.50 0.479108 -282.50 142.50 167.50 0.26194 -282.50 142.50 172.50 0.114879 -282.50 142.50 177.50 0.0580158 -282.50 142.50 182.50 0.0566768 -282.50 142.50 187.50 0.0561728 -282.50 142.50 192.50 0.0415526 -282.50 142.50 197.50 0.0474071 -282.50 142.50 202.50 0.0906726 -282.50 142.50 207.50 0.209316 -282.50 142.50 212.50 0.46399 -282.50 142.50 217.50 0.917943 -282.50 142.50 222.50 1.54855 -282.50 142.50 227.50 2.05118 -282.50 142.50 232.50 2.17351 -282.50 142.50 237.50 1.882 -282.50 142.50 242.50 1.35089 -282.50 142.50 247.50 0.817294 -282.50 142.50 252.50 0.479107 -282.50 142.50 257.50 0.26194 -282.50 142.50 262.50 0.114879 -282.50 142.50 267.50 0.0580158 -282.50 142.50 272.50 0.0566768 -282.50 142.50 277.50 0.0561728 -282.50 142.50 282.50 0.0415526 -282.50 142.50 287.50 0.0474071 -282.50 142.50 292.50 0.0906726 -282.50 142.50 297.50 0.209317 -282.50 142.50 302.50 0.46399 -282.50 142.50 307.50 0.917942 -282.50 142.50 312.50 1.54855 -282.50 142.50 317.50 2.05118 -282.50 142.50 322.50 2.17351 -282.50 142.50 327.50 1.882 -282.50 142.50 332.50 1.35089 -282.50 142.50 337.50 0.817295 -282.50 142.50 342.50 0.479109 -282.50 142.50 347.50 0.261941 -282.50 142.50 352.50 0.11488 -282.50 142.50 357.50 0.0580159 -282.50 147.50 2.50 0.110206 -282.50 147.50 7.50 0.112048 -282.50 147.50 12.50 0.106707 -282.50 147.50 17.50 0.137174 -282.50 147.50 22.50 0.221104 -282.50 147.50 27.50 0.429781 -282.50 147.50 32.50 0.880142 -282.50 147.50 37.50 1.68937 -282.50 147.50 42.50 2.73013 -282.50 147.50 47.50 3.54732 -282.50 147.50 52.50 3.77275 -282.50 147.50 57.50 3.27578 -282.50 147.50 62.50 2.31712 -282.50 147.50 67.50 1.42083 -282.50 147.50 72.50 0.816354 -282.50 147.50 77.50 0.433369 -282.50 147.50 82.50 0.203154 -282.50 147.50 87.50 0.113682 -282.50 147.50 92.50 0.110206 -282.50 147.50 97.50 0.112048 -282.50 147.50 102.50 0.106707 -282.50 147.50 107.50 0.137174 -282.50 147.50 112.50 0.221104 -282.50 147.50 117.50 0.429781 -282.50 147.50 122.50 0.880142 -282.50 147.50 127.50 1.68937 -282.50 147.50 132.50 2.73012 -282.50 147.50 137.50 3.54732 -282.50 147.50 142.50 3.77275 -282.50 147.50 147.50 3.27578 -282.50 147.50 152.50 2.31712 -282.50 147.50 157.50 1.42083 -282.50 147.50 162.50 0.816355 -282.50 147.50 167.50 0.433369 -282.50 147.50 172.50 0.203154 -282.50 147.50 177.50 0.113683 -282.50 147.50 182.50 0.110206 -282.50 147.50 187.50 0.112048 -282.50 147.50 192.50 0.106707 -282.50 147.50 197.50 0.137174 -282.50 147.50 202.50 0.221104 -282.50 147.50 207.50 0.42978 -282.50 147.50 212.50 0.880141 -282.50 147.50 217.50 1.68937 -282.50 147.50 222.50 2.73012 -282.50 147.50 227.50 3.54732 -282.50 147.50 232.50 3.77275 -282.50 147.50 237.50 3.27578 -282.50 147.50 242.50 2.31712 -282.50 147.50 247.50 1.42083 -282.50 147.50 252.50 0.816354 -282.50 147.50 257.50 0.433369 -282.50 147.50 262.50 0.203154 -282.50 147.50 267.50 0.113682 -282.50 147.50 272.50 0.110206 -282.50 147.50 277.50 0.112048 -282.50 147.50 282.50 0.106707 -282.50 147.50 287.50 0.137174 -282.50 147.50 292.50 0.221104 -282.50 147.50 297.50 0.42978 -282.50 147.50 302.50 0.880141 -282.50 147.50 307.50 1.68937 -282.50 147.50 312.50 2.73012 -282.50 147.50 317.50 3.54732 -282.50 147.50 322.50 3.77275 -282.50 147.50 327.50 3.27578 -282.50 147.50 332.50 2.31712 -282.50 147.50 337.50 1.42083 -282.50 147.50 342.50 0.816355 -282.50 147.50 347.50 0.43337 -282.50 147.50 352.50 0.203154 -282.50 147.50 357.50 0.113683 -282.50 152.50 2.50 0.164812 -282.50 152.50 7.50 0.190251 -282.50 152.50 12.50 0.235401 -282.50 152.50 17.50 0.303026 -282.50 152.50 22.50 0.399216 -282.50 152.50 27.50 0.630826 -282.50 152.50 32.50 1.17525 -282.50 152.50 37.50 2.13732 -282.50 152.50 42.50 3.37602 -282.50 152.50 47.50 4.37538 -282.50 152.50 52.50 4.62496 -282.50 152.50 57.50 3.97256 -282.50 152.50 62.50 2.84162 -282.50 152.50 67.50 1.79176 -282.50 152.50 72.50 1.02476 -282.50 152.50 77.50 0.521251 -282.50 152.50 82.50 0.261037 -282.50 152.50 87.50 0.15525 -282.50 152.50 92.50 0.164812 -282.50 152.50 97.50 0.190251 -282.50 152.50 102.50 0.235401 -282.50 152.50 107.50 0.303026 -282.50 152.50 112.50 0.399216 -282.50 152.50 117.50 0.630827 -282.50 152.50 122.50 1.17525 -282.50 152.50 127.50 2.13732 -282.50 152.50 132.50 3.37602 -282.50 152.50 137.50 4.37538 -282.50 152.50 142.50 4.62496 -282.50 152.50 147.50 3.97256 -282.50 152.50 152.50 2.84162 -282.50 152.50 157.50 1.79176 -282.50 152.50 162.50 1.02476 -282.50 152.50 167.50 0.521251 -282.50 152.50 172.50 0.261037 -282.50 152.50 177.50 0.15525 -282.50 152.50 182.50 0.164812 -282.50 152.50 187.50 0.190251 -282.50 152.50 192.50 0.235401 -282.50 152.50 197.50 0.303026 -282.50 152.50 202.50 0.399216 -282.50 152.50 207.50 0.630826 -282.50 152.50 212.50 1.17525 -282.50 152.50 217.50 2.13732 -282.50 152.50 222.50 3.37602 -282.50 152.50 227.50 4.37538 -282.50 152.50 232.50 4.62497 -282.50 152.50 237.50 3.97256 -282.50 152.50 242.50 2.84162 -282.50 152.50 247.50 1.79176 -282.50 152.50 252.50 1.02476 -282.50 152.50 257.50 0.52125 -282.50 152.50 262.50 0.261037 -282.50 152.50 267.50 0.15525 -282.50 152.50 272.50 0.164812 -282.50 152.50 277.50 0.190251 -282.50 152.50 282.50 0.235401 -282.50 152.50 287.50 0.303026 -282.50 152.50 292.50 0.399215 -282.50 152.50 297.50 0.630826 -282.50 152.50 302.50 1.17525 -282.50 152.50 307.50 2.13732 -282.50 152.50 312.50 3.37602 -282.50 152.50 317.50 4.37538 -282.50 152.50 322.50 4.62497 -282.50 152.50 327.50 3.97256 -282.50 152.50 332.50 2.84162 -282.50 152.50 337.50 1.79176 -282.50 152.50 342.50 1.02476 -282.50 152.50 347.50 0.521252 -282.50 152.50 352.50 0.261037 -282.50 152.50 357.50 0.155251 -282.50 157.50 2.50 0.232885 -282.50 157.50 7.50 0.312194 -282.50 157.50 12.50 0.432572 -282.50 157.50 17.50 0.535545 -282.50 157.50 22.50 0.58027 -282.50 157.50 27.50 0.737812 -282.50 157.50 32.50 1.162 -282.50 157.50 37.50 1.95711 -282.50 157.50 42.50 3.02182 -282.50 157.50 47.50 3.91511 -282.50 157.50 52.50 4.0122 -282.50 157.50 57.50 3.43765 -282.50 157.50 62.50 2.51912 -282.50 157.50 67.50 1.63991 -282.50 157.50 72.50 0.931928 -282.50 157.50 77.50 0.487495 -282.50 157.50 82.50 0.263627 -282.50 157.50 87.50 0.181176 -282.50 157.50 92.50 0.232885 -282.50 157.50 97.50 0.312194 -282.50 157.50 102.50 0.432572 -282.50 157.50 107.50 0.535545 -282.50 157.50 112.50 0.58027 -282.50 157.50 117.50 0.737813 -282.50 157.50 122.50 1.162 -282.50 157.50 127.50 1.95711 -282.50 157.50 132.50 3.02182 -282.50 157.50 137.50 3.91511 -282.50 157.50 142.50 4.0122 -282.50 157.50 147.50 3.43765 -282.50 157.50 152.50 2.51912 -282.50 157.50 157.50 1.63991 -282.50 157.50 162.50 0.931929 -282.50 157.50 167.50 0.487495 -282.50 157.50 172.50 0.263627 -282.50 157.50 177.50 0.181176 -282.50 157.50 182.50 0.232886 -282.50 157.50 187.50 0.312194 -282.50 157.50 192.50 0.432572 -282.50 157.50 197.50 0.535546 -282.50 157.50 202.50 0.58027 -282.50 157.50 207.50 0.737813 -282.50 157.50 212.50 1.162 -282.50 157.50 217.50 1.95711 -282.50 157.50 222.50 3.02182 -282.50 157.50 227.50 3.91511 -282.50 157.50 232.50 4.0122 -282.50 157.50 237.50 3.43765 -282.50 157.50 242.50 2.51912 -282.50 157.50 247.50 1.63991 -282.50 157.50 252.50 0.931928 -282.50 157.50 257.50 0.487495 -282.50 157.50 262.50 0.263627 -282.50 157.50 267.50 0.181176 -282.50 157.50 272.50 0.232886 -282.50 157.50 277.50 0.312194 -282.50 157.50 282.50 0.432572 -282.50 157.50 287.50 0.535545 -282.50 157.50 292.50 0.58027 -282.50 157.50 297.50 0.737812 -282.50 157.50 302.50 1.162 -282.50 157.50 307.50 1.9571 -282.50 157.50 312.50 3.02182 -282.50 157.50 317.50 3.91511 -282.50 157.50 322.50 4.0122 -282.50 157.50 327.50 3.43765 -282.50 157.50 332.50 2.51913 -282.50 157.50 337.50 1.63991 -282.50 157.50 342.50 0.93193 -282.50 157.50 347.50 0.487496 -282.50 157.50 352.50 0.263628 -282.50 157.50 357.50 0.181176 -282.50 162.50 2.50 0.335764 -282.50 162.50 7.50 0.477904 -282.50 162.50 12.50 0.634357 -282.50 162.50 17.50 0.734155 -282.50 162.50 22.50 0.689209 -282.50 162.50 27.50 0.688366 -282.50 162.50 32.50 0.936156 -282.50 162.50 37.50 1.39061 -282.50 162.50 42.50 1.99347 -282.50 162.50 47.50 2.53465 -282.50 162.50 52.50 2.64716 -282.50 162.50 57.50 2.2721 -282.50 162.50 62.50 1.72951 -282.50 162.50 67.50 1.16572 -282.50 162.50 72.50 0.700174 -282.50 162.50 77.50 0.416464 -282.50 162.50 82.50 0.242003 -282.50 162.50 87.50 0.222832 -282.50 162.50 92.50 0.335764 -282.50 162.50 97.50 0.477904 -282.50 162.50 102.50 0.634357 -282.50 162.50 107.50 0.734155 -282.50 162.50 112.50 0.689209 -282.50 162.50 117.50 0.688366 -282.50 162.50 122.50 0.936157 -282.50 162.50 127.50 1.39061 -282.50 162.50 132.50 1.99347 -282.50 162.50 137.50 2.53465 -282.50 162.50 142.50 2.64716 -282.50 162.50 147.50 2.2721 -282.50 162.50 152.50 1.72951 -282.50 162.50 157.50 1.16572 -282.50 162.50 162.50 0.700174 -282.50 162.50 167.50 0.416464 -282.50 162.50 172.50 0.242003 -282.50 162.50 177.50 0.222832 -282.50 162.50 182.50 0.335764 -282.50 162.50 187.50 0.477904 -282.50 162.50 192.50 0.634357 -282.50 162.50 197.50 0.734155 -282.50 162.50 202.50 0.689209 -282.50 162.50 207.50 0.688366 -282.50 162.50 212.50 0.936155 -282.50 162.50 217.50 1.39061 -282.50 162.50 222.50 1.99347 -282.50 162.50 227.50 2.53465 -282.50 162.50 232.50 2.64716 -282.50 162.50 237.50 2.2721 -282.50 162.50 242.50 1.72951 -282.50 162.50 247.50 1.16572 -282.50 162.50 252.50 0.700174 -282.50 162.50 257.50 0.416464 -282.50 162.50 262.50 0.242003 -282.50 162.50 267.50 0.222832 -282.50 162.50 272.50 0.335764 -282.50 162.50 277.50 0.477904 -282.50 162.50 282.50 0.634356 -282.50 162.50 287.50 0.734155 -282.50 162.50 292.50 0.689209 -282.50 162.50 297.50 0.688366 -282.50 162.50 302.50 0.936155 -282.50 162.50 307.50 1.39061 -282.50 162.50 312.50 1.99347 -282.50 162.50 317.50 2.53465 -282.50 162.50 322.50 2.64716 -282.50 162.50 327.50 2.2721 -282.50 162.50 332.50 1.72951 -282.50 162.50 337.50 1.16572 -282.50 162.50 342.50 0.700175 -282.50 162.50 347.50 0.416465 -282.50 162.50 352.50 0.242003 -282.50 162.50 357.50 0.222831 -282.50 167.50 2.50 0.422612 -282.50 167.50 7.50 0.61695 -282.50 167.50 12.50 0.752468 -282.50 167.50 17.50 0.793546 -282.50 167.50 22.50 0.664736 -282.50 167.50 27.50 0.523012 -282.50 167.50 32.50 0.549046 -282.50 167.50 37.50 0.813275 -282.50 167.50 42.50 1.12062 -282.50 167.50 47.50 1.34198 -282.50 167.50 52.50 1.35538 -282.50 167.50 57.50 1.19043 -282.50 167.50 62.50 0.958856 -282.50 167.50 67.50 0.755381 -282.50 167.50 72.50 0.533063 -282.50 167.50 77.50 0.326764 -282.50 167.50 82.50 0.20374 -282.50 167.50 87.50 0.257716 -282.50 167.50 92.50 0.422612 -282.50 167.50 97.50 0.61695 -282.50 167.50 102.50 0.752468 -282.50 167.50 107.50 0.793546 -282.50 167.50 112.50 0.664736 -282.50 167.50 117.50 0.523012 -282.50 167.50 122.50 0.549046 -282.50 167.50 127.50 0.813275 -282.50 167.50 132.50 1.12062 -282.50 167.50 137.50 1.34198 -282.50 167.50 142.50 1.35538 -282.50 167.50 147.50 1.19043 -282.50 167.50 152.50 0.958856 -282.50 167.50 157.50 0.755381 -282.50 167.50 162.50 0.533063 -282.50 167.50 167.50 0.326764 -282.50 167.50 172.50 0.20374 -282.50 167.50 177.50 0.257716 -282.50 167.50 182.50 0.422612 -282.50 167.50 187.50 0.61695 -282.50 167.50 192.50 0.752468 -282.50 167.50 197.50 0.793546 -282.50 167.50 202.50 0.664736 -282.50 167.50 207.50 0.523012 -282.50 167.50 212.50 0.549046 -282.50 167.50 217.50 0.813274 -282.50 167.50 222.50 1.12062 -282.50 167.50 227.50 1.34198 -282.50 167.50 232.50 1.35538 -282.50 167.50 237.50 1.19043 -282.50 167.50 242.50 0.958855 -282.50 167.50 247.50 0.755381 -282.50 167.50 252.50 0.533063 -282.50 167.50 257.50 0.326764 -282.50 167.50 262.50 0.20374 -282.50 167.50 267.50 0.257716 -282.50 167.50 272.50 0.422612 -282.50 167.50 277.50 0.61695 -282.50 167.50 282.50 0.752467 -282.50 167.50 287.50 0.793547 -282.50 167.50 292.50 0.664736 -282.50 167.50 297.50 0.523012 -282.50 167.50 302.50 0.549045 -282.50 167.50 307.50 0.813274 -282.50 167.50 312.50 1.12062 -282.50 167.50 317.50 1.34198 -282.50 167.50 322.50 1.35538 -282.50 167.50 327.50 1.19043 -282.50 167.50 332.50 0.958856 -282.50 167.50 337.50 0.755382 -282.50 167.50 342.50 0.533064 -282.50 167.50 347.50 0.326764 -282.50 167.50 352.50 0.20374 -282.50 167.50 357.50 0.257716 -282.50 172.50 2.50 0.429838 -282.50 172.50 7.50 0.676992 -282.50 172.50 12.50 0.813809 -282.50 172.50 17.50 0.72275 -282.50 172.50 22.50 0.516294 -282.50 172.50 27.50 0.333601 -282.50 172.50 32.50 0.28858 -282.50 172.50 37.50 0.365723 -282.50 172.50 42.50 0.488366 -282.50 172.50 47.50 0.572373 -282.50 172.50 52.50 0.575785 -282.50 172.50 57.50 0.532107 -282.50 172.50 62.50 0.487629 -282.50 172.50 67.50 0.42265 -282.50 172.50 72.50 0.31191 -282.50 172.50 77.50 0.192409 -282.50 172.50 82.50 0.159389 -282.50 172.50 87.50 0.23564 -282.50 172.50 92.50 0.429838 -282.50 172.50 97.50 0.676991 -282.50 172.50 102.50 0.813809 -282.50 172.50 107.50 0.722749 -282.50 172.50 112.50 0.516294 -282.50 172.50 117.50 0.333601 -282.50 172.50 122.50 0.28858 -282.50 172.50 127.50 0.365723 -282.50 172.50 132.50 0.488366 -282.50 172.50 137.50 0.572373 -282.50 172.50 142.50 0.575785 -282.50 172.50 147.50 0.532107 -282.50 172.50 152.50 0.487629 -282.50 172.50 157.50 0.42265 -282.50 172.50 162.50 0.31191 -282.50 172.50 167.50 0.192409 -282.50 172.50 172.50 0.159389 -282.50 172.50 177.50 0.235639 -282.50 172.50 182.50 0.429838 -282.50 172.50 187.50 0.676991 -282.50 172.50 192.50 0.813808 -282.50 172.50 197.50 0.722749 -282.50 172.50 202.50 0.516294 -282.50 172.50 207.50 0.333601 -282.50 172.50 212.50 0.28858 -282.50 172.50 217.50 0.365722 -282.50 172.50 222.50 0.488366 -282.50 172.50 227.50 0.572373 -282.50 172.50 232.50 0.575785 -282.50 172.50 237.50 0.532108 -282.50 172.50 242.50 0.487629 -282.50 172.50 247.50 0.42265 -282.50 172.50 252.50 0.31191 -282.50 172.50 257.50 0.192409 -282.50 172.50 262.50 0.159389 -282.50 172.50 267.50 0.23564 -282.50 172.50 272.50 0.429838 -282.50 172.50 277.50 0.676991 -282.50 172.50 282.50 0.813808 -282.50 172.50 287.50 0.722749 -282.50 172.50 292.50 0.516293 -282.50 172.50 297.50 0.333602 -282.50 172.50 302.50 0.28858 -282.50 172.50 307.50 0.365722 -282.50 172.50 312.50 0.488366 -282.50 172.50 317.50 0.572373 -282.50 172.50 322.50 0.575785 -282.50 172.50 327.50 0.532108 -282.50 172.50 332.50 0.487629 -282.50 172.50 337.50 0.42265 -282.50 172.50 342.50 0.311911 -282.50 172.50 347.50 0.192409 -282.50 172.50 352.50 0.159389 -282.50 172.50 357.50 0.235639 -282.50 177.50 2.50 0.382023 -282.50 177.50 7.50 0.676164 -282.50 177.50 12.50 0.831023 -282.50 177.50 17.50 0.683201 -282.50 177.50 22.50 0.389547 -282.50 177.50 27.50 0.179049 -282.50 177.50 32.50 0.0996237 -282.50 177.50 37.50 0.109342 -282.50 177.50 42.50 0.149476 -282.50 177.50 47.50 0.183937 -282.50 177.50 52.50 0.190282 -282.50 177.50 57.50 0.179473 -282.50 177.50 62.50 0.172036 -282.50 177.50 67.50 0.162391 -282.50 177.50 72.50 0.129792 -282.50 177.50 77.50 0.0946782 -282.50 177.50 82.50 0.0941881 -282.50 177.50 87.50 0.174053 -282.50 177.50 92.50 0.382023 -282.50 177.50 97.50 0.676164 -282.50 177.50 102.50 0.831023 -282.50 177.50 107.50 0.683201 -282.50 177.50 112.50 0.389547 -282.50 177.50 117.50 0.179049 -282.50 177.50 122.50 0.0996237 -282.50 177.50 127.50 0.109342 -282.50 177.50 132.50 0.149477 -282.50 177.50 137.50 0.183937 -282.50 177.50 142.50 0.190282 -282.50 177.50 147.50 0.179473 -282.50 177.50 152.50 0.172036 -282.50 177.50 157.50 0.162391 -282.50 177.50 162.50 0.129792 -282.50 177.50 167.50 0.0946782 -282.50 177.50 172.50 0.0941881 -282.50 177.50 177.50 0.174053 -282.50 177.50 182.50 0.382023 -282.50 177.50 187.50 0.676165 -282.50 177.50 192.50 0.831022 -282.50 177.50 197.50 0.683201 -282.50 177.50 202.50 0.389547 -282.50 177.50 207.50 0.179049 -282.50 177.50 212.50 0.0996237 -282.50 177.50 217.50 0.109341 -282.50 177.50 222.50 0.149476 -282.50 177.50 227.50 0.183937 -282.50 177.50 232.50 0.190282 -282.50 177.50 237.50 0.179473 -282.50 177.50 242.50 0.172036 -282.50 177.50 247.50 0.162391 -282.50 177.50 252.50 0.129792 -282.50 177.50 257.50 0.0946783 -282.50 177.50 262.50 0.0941882 -282.50 177.50 267.50 0.174053 -282.50 177.50 272.50 0.382023 -282.50 177.50 277.50 0.676164 -282.50 177.50 282.50 0.831023 -282.50 177.50 287.50 0.683201 -282.50 177.50 292.50 0.389547 -282.50 177.50 297.50 0.17905 -282.50 177.50 302.50 0.0996237 -282.50 177.50 307.50 0.109341 -282.50 177.50 312.50 0.149476 -282.50 177.50 317.50 0.183937 -282.50 177.50 322.50 0.190282 -282.50 177.50 327.50 0.179473 -282.50 177.50 332.50 0.172036 -282.50 177.50 337.50 0.162391 -282.50 177.50 342.50 0.129792 -282.50 177.50 347.50 0.0946783 -282.50 177.50 352.50 0.094188 -282.50 177.50 357.50 0.174053 -287.50 2.50 2.50 0.149977 -287.50 2.50 7.50 0.0624686 -287.50 2.50 12.50 0.0485219 -287.50 2.50 17.50 0.0601603 -287.50 2.50 22.50 0.0760385 -287.50 2.50 27.50 0.083846 -287.50 2.50 32.50 0.084539 -287.50 2.50 37.50 0.083846 -287.50 2.50 42.50 0.0760385 -287.50 2.50 47.50 0.0601603 -287.50 2.50 52.50 0.0485219 -287.50 2.50 57.50 0.0624686 -287.50 2.50 62.50 0.149977 -287.50 2.50 67.50 0.393273 -287.50 2.50 72.50 0.773178 -287.50 2.50 77.50 0.980506 -287.50 2.50 82.50 0.773179 -287.50 2.50 87.50 0.393272 -287.50 2.50 92.50 0.149977 -287.50 2.50 97.50 0.0624685 -287.50 2.50 102.50 0.0485219 -287.50 2.50 107.50 0.0601603 -287.50 2.50 112.50 0.0760385 -287.50 2.50 117.50 0.083846 -287.50 2.50 122.50 0.084539 -287.50 2.50 127.50 0.083846 -287.50 2.50 132.50 0.0760385 -287.50 2.50 137.50 0.0601603 -287.50 2.50 142.50 0.0485219 -287.50 2.50 147.50 0.0624685 -287.50 2.50 152.50 0.149977 -287.50 2.50 157.50 0.393272 -287.50 2.50 162.50 0.773178 -287.50 2.50 167.50 0.980476 -287.50 2.50 172.50 0.773179 -287.50 2.50 177.50 0.393273 -287.50 2.50 182.50 0.149977 -287.50 2.50 187.50 0.0624685 -287.50 2.50 192.50 0.0485219 -287.50 2.50 197.50 0.0601603 -287.50 2.50 202.50 0.0760386 -287.50 2.50 207.50 0.083846 -287.50 2.50 212.50 0.084539 -287.50 2.50 217.50 0.083846 -287.50 2.50 222.50 0.0760385 -287.50 2.50 227.50 0.0601603 -287.50 2.50 232.50 0.0485219 -287.50 2.50 237.50 0.0624686 -287.50 2.50 242.50 0.149977 -287.50 2.50 247.50 0.393273 -287.50 2.50 252.50 0.773179 -287.50 2.50 257.50 0.980476 -287.50 2.50 262.50 0.773179 -287.50 2.50 267.50 0.393272 -287.50 2.50 272.50 0.149977 -287.50 2.50 277.50 0.0624685 -287.50 2.50 282.50 0.0485219 -287.50 2.50 287.50 0.0601603 -287.50 2.50 292.50 0.0760385 -287.50 2.50 297.50 0.083846 -287.50 2.50 302.50 0.084539 -287.50 2.50 307.50 0.083846 -287.50 2.50 312.50 0.0760385 -287.50 2.50 317.50 0.0601603 -287.50 2.50 322.50 0.048522 -287.50 2.50 327.50 0.0624686 -287.50 2.50 332.50 0.149977 -287.50 2.50 337.50 0.393272 -287.50 2.50 342.50 0.773178 -287.50 2.50 347.50 0.980476 -287.50 2.50 352.50 0.773179 -287.50 2.50 357.50 0.393273 -287.50 7.50 2.50 0.172972 -287.50 7.50 7.50 0.0902106 -287.50 7.50 12.50 0.0855308 -287.50 7.50 17.50 0.118386 -287.50 7.50 22.50 0.15669 -287.50 7.50 27.50 0.174065 -287.50 7.50 32.50 0.174825 -287.50 7.50 37.50 0.187043 -287.50 7.50 42.50 0.189422 -287.50 7.50 47.50 0.164881 -287.50 7.50 52.50 0.126408 -287.50 7.50 57.50 0.112652 -287.50 7.50 62.50 0.180691 -287.50 7.50 67.50 0.393842 -287.50 7.50 72.50 0.691079 -287.50 7.50 77.50 0.837588 -287.50 7.50 82.50 0.678346 -287.50 7.50 87.50 0.381828 -287.50 7.50 92.50 0.172972 -287.50 7.50 97.50 0.0902106 -287.50 7.50 102.50 0.0855308 -287.50 7.50 107.50 0.118386 -287.50 7.50 112.50 0.15669 -287.50 7.50 117.50 0.174065 -287.50 7.50 122.50 0.174825 -287.50 7.50 127.50 0.187043 -287.50 7.50 132.50 0.189422 -287.50 7.50 137.50 0.164881 -287.50 7.50 142.50 0.126408 -287.50 7.50 147.50 0.112652 -287.50 7.50 152.50 0.180691 -287.50 7.50 157.50 0.393842 -287.50 7.50 162.50 0.691078 -287.50 7.50 167.50 0.837588 -287.50 7.50 172.50 0.678346 -287.50 7.50 177.50 0.381828 -287.50 7.50 182.50 0.172971 -287.50 7.50 187.50 0.0902106 -287.50 7.50 192.50 0.0855308 -287.50 7.50 197.50 0.118386 -287.50 7.50 202.50 0.15669 -287.50 7.50 207.50 0.174065 -287.50 7.50 212.50 0.174825 -287.50 7.50 217.50 0.187043 -287.50 7.50 222.50 0.189422 -287.50 7.50 227.50 0.164881 -287.50 7.50 232.50 0.126408 -287.50 7.50 237.50 0.112652 -287.50 7.50 242.50 0.180691 -287.50 7.50 247.50 0.393842 -287.50 7.50 252.50 0.691078 -287.50 7.50 257.50 0.837588 -287.50 7.50 262.50 0.678346 -287.50 7.50 267.50 0.381827 -287.50 7.50 272.50 0.172972 -287.50 7.50 277.50 0.0902106 -287.50 7.50 282.50 0.0855308 -287.50 7.50 287.50 0.118386 -287.50 7.50 292.50 0.15669 -287.50 7.50 297.50 0.174065 -287.50 7.50 302.50 0.174825 -287.50 7.50 307.50 0.187043 -287.50 7.50 312.50 0.189422 -287.50 7.50 317.50 0.164881 -287.50 7.50 322.50 0.126408 -287.50 7.50 327.50 0.112652 -287.50 7.50 332.50 0.18069 -287.50 7.50 337.50 0.393841 -287.50 7.50 342.50 0.691077 -287.50 7.50 347.50 0.837588 -287.50 7.50 352.50 0.678347 -287.50 7.50 357.50 0.381828 -287.50 12.50 2.50 0.230709 -287.50 12.50 7.50 0.145288 -287.50 12.50 12.50 0.159494 -287.50 12.50 17.50 0.242567 -287.50 12.50 22.50 0.370092 -287.50 12.50 27.50 0.457378 -287.50 12.50 32.50 0.512493 -287.50 12.50 37.50 0.574047 -287.50 12.50 42.50 0.597213 -287.50 12.50 47.50 0.543761 -287.50 12.50 52.50 0.430596 -287.50 12.50 57.50 0.335433 -287.50 12.50 62.50 0.371627 -287.50 12.50 67.50 0.567897 -287.50 12.50 72.50 0.794106 -287.50 12.50 77.50 0.838583 -287.50 12.50 82.50 0.681812 -287.50 12.50 87.50 0.427284 -287.50 12.50 92.50 0.230709 -287.50 12.50 97.50 0.145288 -287.50 12.50 102.50 0.159494 -287.50 12.50 107.50 0.242567 -287.50 12.50 112.50 0.370092 -287.50 12.50 117.50 0.457379 -287.50 12.50 122.50 0.512493 -287.50 12.50 127.50 0.574047 -287.50 12.50 132.50 0.597213 -287.50 12.50 137.50 0.543761 -287.50 12.50 142.50 0.430596 -287.50 12.50 147.50 0.335433 -287.50 12.50 152.50 0.371627 -287.50 12.50 157.50 0.567896 -287.50 12.50 162.50 0.794106 -287.50 12.50 167.50 0.838584 -287.50 12.50 172.50 0.681812 -287.50 12.50 177.50 0.427285 -287.50 12.50 182.50 0.230709 -287.50 12.50 187.50 0.145288 -287.50 12.50 192.50 0.159494 -287.50 12.50 197.50 0.242567 -287.50 12.50 202.50 0.370092 -287.50 12.50 207.50 0.457378 -287.50 12.50 212.50 0.512493 -287.50 12.50 217.50 0.574047 -287.50 12.50 222.50 0.597212 -287.50 12.50 227.50 0.543761 -287.50 12.50 232.50 0.430596 -287.50 12.50 237.50 0.335433 -287.50 12.50 242.50 0.371627 -287.50 12.50 247.50 0.567897 -287.50 12.50 252.50 0.794106 -287.50 12.50 257.50 0.838583 -287.50 12.50 262.50 0.681812 -287.50 12.50 267.50 0.427284 -287.50 12.50 272.50 0.230709 -287.50 12.50 277.50 0.145288 -287.50 12.50 282.50 0.159494 -287.50 12.50 287.50 0.242567 -287.50 12.50 292.50 0.370092 -287.50 12.50 297.50 0.457378 -287.50 12.50 302.50 0.512493 -287.50 12.50 307.50 0.574047 -287.50 12.50 312.50 0.597212 -287.50 12.50 317.50 0.543761 -287.50 12.50 322.50 0.430596 -287.50 12.50 327.50 0.335433 -287.50 12.50 332.50 0.371627 -287.50 12.50 337.50 0.567896 -287.50 12.50 342.50 0.794106 -287.50 12.50 347.50 0.838584 -287.50 12.50 352.50 0.681812 -287.50 12.50 357.50 0.427285 -287.50 17.50 2.50 0.244704 -287.50 17.50 7.50 0.170695 -287.50 17.50 12.50 0.211335 -287.50 17.50 17.50 0.403468 -287.50 17.50 22.50 0.645139 -287.50 17.50 27.50 0.87555 -287.50 17.50 32.50 1.09907 -287.50 17.50 37.50 1.33038 -287.50 17.50 42.50 1.43216 -287.50 17.50 47.50 1.30328 -287.50 17.50 52.50 1.01527 -287.50 17.50 57.50 0.733603 -287.50 17.50 62.50 0.614572 -287.50 17.50 67.50 0.757981 -287.50 17.50 72.50 0.904768 -287.50 17.50 77.50 0.848716 -287.50 17.50 82.50 0.628789 -287.50 17.50 87.50 0.41502 -287.50 17.50 92.50 0.244703 -287.50 17.50 97.50 0.170695 -287.50 17.50 102.50 0.211335 -287.50 17.50 107.50 0.403468 -287.50 17.50 112.50 0.645138 -287.50 17.50 117.50 0.875551 -287.50 17.50 122.50 1.09907 -287.50 17.50 127.50 1.33038 -287.50 17.50 132.50 1.43216 -287.50 17.50 137.50 1.30328 -287.50 17.50 142.50 1.01527 -287.50 17.50 147.50 0.733603 -287.50 17.50 152.50 0.614572 -287.50 17.50 157.50 0.757982 -287.50 17.50 162.50 0.904768 -287.50 17.50 167.50 0.848716 -287.50 17.50 172.50 0.628789 -287.50 17.50 177.50 0.41502 -287.50 17.50 182.50 0.244703 -287.50 17.50 187.50 0.170695 -287.50 17.50 192.50 0.211335 -287.50 17.50 197.50 0.403468 -287.50 17.50 202.50 0.645138 -287.50 17.50 207.50 0.87555 -287.50 17.50 212.50 1.09907 -287.50 17.50 217.50 1.33038 -287.50 17.50 222.50 1.43216 -287.50 17.50 227.50 1.30328 -287.50 17.50 232.50 1.01527 -287.50 17.50 237.50 0.733603 -287.50 17.50 242.50 0.614572 -287.50 17.50 247.50 0.757982 -287.50 17.50 252.50 0.904767 -287.50 17.50 257.50 0.848715 -287.50 17.50 262.50 0.628788 -287.50 17.50 267.50 0.41502 -287.50 17.50 272.50 0.244704 -287.50 17.50 277.50 0.170695 -287.50 17.50 282.50 0.211335 -287.50 17.50 287.50 0.403468 -287.50 17.50 292.50 0.645138 -287.50 17.50 297.50 0.87555 -287.50 17.50 302.50 1.09907 -287.50 17.50 307.50 1.33038 -287.50 17.50 312.50 1.43216 -287.50 17.50 317.50 1.30328 -287.50 17.50 322.50 1.01527 -287.50 17.50 327.50 0.733603 -287.50 17.50 332.50 0.614572 -287.50 17.50 337.50 0.757981 -287.50 17.50 342.50 0.904768 -287.50 17.50 347.50 0.848716 -287.50 17.50 352.50 0.628789 -287.50 17.50 357.50 0.41502 -287.50 22.50 2.50 0.200246 -287.50 22.50 7.50 0.162877 -287.50 22.50 12.50 0.271564 -287.50 22.50 17.50 0.529187 -287.50 22.50 22.50 0.900621 -287.50 22.50 27.50 1.45356 -287.50 22.50 32.50 2.08212 -287.50 22.50 37.50 2.63506 -287.50 22.50 42.50 2.83112 -287.50 22.50 47.50 2.43961 -287.50 22.50 52.50 1.76351 -287.50 22.50 57.50 1.21643 -287.50 22.50 62.50 0.915795 -287.50 22.50 67.50 0.844619 -287.50 22.50 72.50 0.870101 -287.50 22.50 77.50 0.741938 -287.50 22.50 82.50 0.51311 -287.50 22.50 87.50 0.322734 -287.50 22.50 92.50 0.200246 -287.50 22.50 97.50 0.162877 -287.50 22.50 102.50 0.271564 -287.50 22.50 107.50 0.529187 -287.50 22.50 112.50 0.900621 -287.50 22.50 117.50 1.45356 -287.50 22.50 122.50 2.08212 -287.50 22.50 127.50 2.63506 -287.50 22.50 132.50 2.83112 -287.50 22.50 137.50 2.43961 -287.50 22.50 142.50 1.76351 -287.50 22.50 147.50 1.21643 -287.50 22.50 152.50 0.915796 -287.50 22.50 157.50 0.84462 -287.50 22.50 162.50 0.8701 -287.50 22.50 167.50 0.741938 -287.50 22.50 172.50 0.513111 -287.50 22.50 177.50 0.322734 -287.50 22.50 182.50 0.200246 -287.50 22.50 187.50 0.162877 -287.50 22.50 192.50 0.271564 -287.50 22.50 197.50 0.529187 -287.50 22.50 202.50 0.900621 -287.50 22.50 207.50 1.45356 -287.50 22.50 212.50 2.08212 -287.50 22.50 217.50 2.63506 -287.50 22.50 222.50 2.83112 -287.50 22.50 227.50 2.43961 -287.50 22.50 232.50 1.76351 -287.50 22.50 237.50 1.21643 -287.50 22.50 242.50 0.915795 -287.50 22.50 247.50 0.84462 -287.50 22.50 252.50 0.8701 -287.50 22.50 257.50 0.741938 -287.50 22.50 262.50 0.51311 -287.50 22.50 267.50 0.322734 -287.50 22.50 272.50 0.200246 -287.50 22.50 277.50 0.162877 -287.50 22.50 282.50 0.271564 -287.50 22.50 287.50 0.529187 -287.50 22.50 292.50 0.900621 -287.50 22.50 297.50 1.45356 -287.50 22.50 302.50 2.08212 -287.50 22.50 307.50 2.63506 -287.50 22.50 312.50 2.83112 -287.50 22.50 317.50 2.43961 -287.50 22.50 322.50 1.76351 -287.50 22.50 327.50 1.21643 -287.50 22.50 332.50 0.915796 -287.50 22.50 337.50 0.84462 -287.50 22.50 342.50 0.8701 -287.50 22.50 347.50 0.741939 -287.50 22.50 352.50 0.513111 -287.50 22.50 357.50 0.322735 -287.50 27.50 2.50 0.151509 -287.50 27.50 7.50 0.163149 -287.50 27.50 12.50 0.338627 -287.50 27.50 17.50 0.660137 -287.50 27.50 22.50 1.23538 -287.50 27.50 27.50 2.11979 -287.50 27.50 32.50 3.18725 -287.50 27.50 37.50 4.03102 -287.50 27.50 42.50 4.26268 -287.50 27.50 47.50 3.69947 -287.50 27.50 52.50 2.543 -287.50 27.50 57.50 1.56999 -287.50 27.50 62.50 0.994932 -287.50 27.50 67.50 0.756146 -287.50 27.50 72.50 0.657065 -287.50 27.50 77.50 0.520586 -287.50 27.50 82.50 0.342609 -287.50 27.50 87.50 0.213904 -287.50 27.50 92.50 0.151509 -287.50 27.50 97.50 0.163149 -287.50 27.50 102.50 0.338627 -287.50 27.50 107.50 0.660137 -287.50 27.50 112.50 1.23538 -287.50 27.50 117.50 2.11979 -287.50 27.50 122.50 3.18725 -287.50 27.50 127.50 4.03102 -287.50 27.50 132.50 4.26268 -287.50 27.50 137.50 3.69947 -287.50 27.50 142.50 2.543 -287.50 27.50 147.50 1.56999 -287.50 27.50 152.50 0.994933 -287.50 27.50 157.50 0.756146 -287.50 27.50 162.50 0.657065 -287.50 27.50 167.50 0.520585 -287.50 27.50 172.50 0.342609 -287.50 27.50 177.50 0.213904 -287.50 27.50 182.50 0.151509 -287.50 27.50 187.50 0.163149 -287.50 27.50 192.50 0.338627 -287.50 27.50 197.50 0.660137 -287.50 27.50 202.50 1.23538 -287.50 27.50 207.50 2.11979 -287.50 27.50 212.50 3.18725 -287.50 27.50 217.50 4.03102 -287.50 27.50 222.50 4.26268 -287.50 27.50 227.50 3.69947 -287.50 27.50 232.50 2.543 -287.50 27.50 237.50 1.56999 -287.50 27.50 242.50 0.994931 -287.50 27.50 247.50 0.756146 -287.50 27.50 252.50 0.657065 -287.50 27.50 257.50 0.520585 -287.50 27.50 262.50 0.342609 -287.50 27.50 267.50 0.213904 -287.50 27.50 272.50 0.151509 -287.50 27.50 277.50 0.163149 -287.50 27.50 282.50 0.338627 -287.50 27.50 287.50 0.660137 -287.50 27.50 292.50 1.23538 -287.50 27.50 297.50 2.11978 -287.50 27.50 302.50 3.18725 -287.50 27.50 307.50 4.03102 -287.50 27.50 312.50 4.26268 -287.50 27.50 317.50 3.69947 -287.50 27.50 322.50 2.543 -287.50 27.50 327.50 1.57 -287.50 27.50 332.50 0.994933 -287.50 27.50 337.50 0.756146 -287.50 27.50 342.50 0.657065 -287.50 27.50 347.50 0.520586 -287.50 27.50 352.50 0.342609 -287.50 27.50 357.50 0.213904 -287.50 32.50 2.50 0.120114 -287.50 32.50 7.50 0.165638 -287.50 32.50 12.50 0.370235 -287.50 32.50 17.50 0.736702 -287.50 32.50 22.50 1.36108 -287.50 32.50 27.50 2.39178 -287.50 32.50 32.50 3.66089 -287.50 32.50 37.50 4.68617 -287.50 32.50 42.50 4.88608 -287.50 32.50 47.50 4.10746 -287.50 32.50 52.50 2.76555 -287.50 32.50 57.50 1.5877 -287.50 32.50 62.50 0.877346 -287.50 32.50 67.50 0.544436 -287.50 32.50 72.50 0.392575 -287.50 32.50 77.50 0.274827 -287.50 32.50 82.50 0.188216 -287.50 32.50 87.50 0.139043 -287.50 32.50 92.50 0.120114 -287.50 32.50 97.50 0.165638 -287.50 32.50 102.50 0.370235 -287.50 32.50 107.50 0.736702 -287.50 32.50 112.50 1.36108 -287.50 32.50 117.50 2.39178 -287.50 32.50 122.50 3.66089 -287.50 32.50 127.50 4.68617 -287.50 32.50 132.50 4.88608 -287.50 32.50 137.50 4.10746 -287.50 32.50 142.50 2.76555 -287.50 32.50 147.50 1.5877 -287.50 32.50 152.50 0.877347 -287.50 32.50 157.50 0.544436 -287.50 32.50 162.50 0.392575 -287.50 32.50 167.50 0.274827 -287.50 32.50 172.50 0.188216 -287.50 32.50 177.50 0.139043 -287.50 32.50 182.50 0.120114 -287.50 32.50 187.50 0.165638 -287.50 32.50 192.50 0.370236 -287.50 32.50 197.50 0.736702 -287.50 32.50 202.50 1.36108 -287.50 32.50 207.50 2.39178 -287.50 32.50 212.50 3.66089 -287.50 32.50 217.50 4.68617 -287.50 32.50 222.50 4.88608 -287.50 32.50 227.50 4.10746 -287.50 32.50 232.50 2.76555 -287.50 32.50 237.50 1.5877 -287.50 32.50 242.50 0.877345 -287.50 32.50 247.50 0.544435 -287.50 32.50 252.50 0.392575 -287.50 32.50 257.50 0.274827 -287.50 32.50 262.50 0.188216 -287.50 32.50 267.50 0.139043 -287.50 32.50 272.50 0.120114 -287.50 32.50 277.50 0.165638 -287.50 32.50 282.50 0.370235 -287.50 32.50 287.50 0.736702 -287.50 32.50 292.50 1.36108 -287.50 32.50 297.50 2.39178 -287.50 32.50 302.50 3.66089 -287.50 32.50 307.50 4.68617 -287.50 32.50 312.50 4.88608 -287.50 32.50 317.50 4.10746 -287.50 32.50 322.50 2.76555 -287.50 32.50 327.50 1.58771 -287.50 32.50 332.50 0.877347 -287.50 32.50 337.50 0.544436 -287.50 32.50 342.50 0.392575 -287.50 32.50 347.50 0.274828 -287.50 32.50 352.50 0.188216 -287.50 32.50 357.50 0.139043 -287.50 37.50 2.50 0.080885 -287.50 37.50 7.50 0.128762 -287.50 37.50 12.50 0.298984 -287.50 37.50 17.50 0.605833 -287.50 37.50 22.50 1.08813 -287.50 37.50 27.50 1.9463 -287.50 37.50 32.50 3.10365 -287.50 37.50 37.50 3.98926 -287.50 37.50 42.50 4.07565 -287.50 37.50 47.50 3.37367 -287.50 37.50 52.50 2.22831 -287.50 37.50 57.50 1.1898 -287.50 37.50 62.50 0.596479 -287.50 37.50 67.50 0.318722 -287.50 37.50 72.50 0.18127 -287.50 37.50 77.50 0.111015 -287.50 37.50 82.50 0.0865845 -287.50 37.50 87.50 0.0834133 -287.50 37.50 92.50 0.080885 -287.50 37.50 97.50 0.128762 -287.50 37.50 102.50 0.298984 -287.50 37.50 107.50 0.605833 -287.50 37.50 112.50 1.08813 -287.50 37.50 117.50 1.9463 -287.50 37.50 122.50 3.10365 -287.50 37.50 127.50 3.98926 -287.50 37.50 132.50 4.07566 -287.50 37.50 137.50 3.37367 -287.50 37.50 142.50 2.22831 -287.50 37.50 147.50 1.1898 -287.50 37.50 152.50 0.59648 -287.50 37.50 157.50 0.318723 -287.50 37.50 162.50 0.18127 -287.50 37.50 167.50 0.111016 -287.50 37.50 172.50 0.0865845 -287.50 37.50 177.50 0.0834134 -287.50 37.50 182.50 0.080885 -287.50 37.50 187.50 0.128762 -287.50 37.50 192.50 0.298984 -287.50 37.50 197.50 0.605834 -287.50 37.50 202.50 1.08813 -287.50 37.50 207.50 1.9463 -287.50 37.50 212.50 3.10365 -287.50 37.50 217.50 3.98926 -287.50 37.50 222.50 4.07566 -287.50 37.50 227.50 3.37367 -287.50 37.50 232.50 2.22831 -287.50 37.50 237.50 1.1898 -287.50 37.50 242.50 0.596479 -287.50 37.50 247.50 0.318722 -287.50 37.50 252.50 0.18127 -287.50 37.50 257.50 0.111015 -287.50 37.50 262.50 0.0865845 -287.50 37.50 267.50 0.0834134 -287.50 37.50 272.50 0.080885 -287.50 37.50 277.50 0.128762 -287.50 37.50 282.50 0.298984 -287.50 37.50 287.50 0.605833 -287.50 37.50 292.50 1.08813 -287.50 37.50 297.50 1.9463 -287.50 37.50 302.50 3.10365 -287.50 37.50 307.50 3.98926 -287.50 37.50 312.50 4.07565 -287.50 37.50 317.50 3.37367 -287.50 37.50 322.50 2.22832 -287.50 37.50 327.50 1.1898 -287.50 37.50 332.50 0.59648 -287.50 37.50 337.50 0.318723 -287.50 37.50 342.50 0.18127 -287.50 37.50 347.50 0.111016 -287.50 37.50 352.50 0.0865846 -287.50 37.50 357.50 0.0834134 -287.50 42.50 2.50 0.0382171 -287.50 42.50 7.50 0.0661282 -287.50 42.50 12.50 0.171239 -287.50 42.50 17.50 0.351671 -287.50 42.50 22.50 0.623572 -287.50 42.50 27.50 1.15799 -287.50 42.50 32.50 1.92429 -287.50 42.50 37.50 2.46393 -287.50 42.50 42.50 2.48996 -287.50 42.50 47.50 2.00341 -287.50 42.50 52.50 1.25778 -287.50 42.50 57.50 0.621456 -287.50 42.50 62.50 0.293625 -287.50 42.50 67.50 0.13795 -287.50 42.50 72.50 0.0639958 -287.50 42.50 77.50 0.035394 -287.50 42.50 82.50 0.0344762 -287.50 42.50 87.50 0.0398608 -287.50 42.50 92.50 0.0382172 -287.50 42.50 97.50 0.0661283 -287.50 42.50 102.50 0.171239 -287.50 42.50 107.50 0.351671 -287.50 42.50 112.50 0.623572 -287.50 42.50 117.50 1.15799 -287.50 42.50 122.50 1.92429 -287.50 42.50 127.50 2.46393 -287.50 42.50 132.50 2.48996 -287.50 42.50 137.50 2.00341 -287.50 42.50 142.50 1.25778 -287.50 42.50 147.50 0.621456 -287.50 42.50 152.50 0.293625 -287.50 42.50 157.50 0.13795 -287.50 42.50 162.50 0.0639958 -287.50 42.50 167.50 0.035394 -287.50 42.50 172.50 0.0344762 -287.50 42.50 177.50 0.0398608 -287.50 42.50 182.50 0.0382171 -287.50 42.50 187.50 0.0661283 -287.50 42.50 192.50 0.171239 -287.50 42.50 197.50 0.351671 -287.50 42.50 202.50 0.623573 -287.50 42.50 207.50 1.15799 -287.50 42.50 212.50 1.92429 -287.50 42.50 217.50 2.46393 -287.50 42.50 222.50 2.48996 -287.50 42.50 227.50 2.00341 -287.50 42.50 232.50 1.25778 -287.50 42.50 237.50 0.621455 -287.50 42.50 242.50 0.293625 -287.50 42.50 247.50 0.137949 -287.50 42.50 252.50 0.0639956 -287.50 42.50 257.50 0.035394 -287.50 42.50 262.50 0.0344762 -287.50 42.50 267.50 0.0398609 -287.50 42.50 272.50 0.0382172 -287.50 42.50 277.50 0.0661283 -287.50 42.50 282.50 0.171239 -287.50 42.50 287.50 0.351671 -287.50 42.50 292.50 0.623573 -287.50 42.50 297.50 1.15799 -287.50 42.50 302.50 1.92429 -287.50 42.50 307.50 2.46393 -287.50 42.50 312.50 2.48996 -287.50 42.50 317.50 2.00341 -287.50 42.50 322.50 1.25778 -287.50 42.50 327.50 0.621456 -287.50 42.50 332.50 0.293626 -287.50 42.50 337.50 0.13795 -287.50 42.50 342.50 0.0639959 -287.50 42.50 347.50 0.035394 -287.50 42.50 352.50 0.0344762 -287.50 42.50 357.50 0.0398608 -287.50 47.50 2.50 0.0202141 -287.50 47.50 7.50 0.025361 -287.50 47.50 12.50 0.0715267 -287.50 47.50 17.50 0.146182 -287.50 47.50 22.50 0.261568 -287.50 47.50 27.50 0.53126 -287.50 47.50 32.50 0.880611 -287.50 47.50 37.50 1.09789 -287.50 47.50 42.50 0.983075 -287.50 47.50 47.50 0.784647 -287.50 47.50 52.50 0.434232 -287.50 47.50 57.50 0.231455 -287.50 47.50 62.50 0.0933622 -287.50 47.50 67.50 0.0442034 -287.50 47.50 72.50 0.0207145 -287.50 47.50 77.50 0.0162197 -287.50 47.50 82.50 0.023494 -287.50 47.50 87.50 0.0278132 -287.50 47.50 92.50 0.0202141 -287.50 47.50 97.50 0.025361 -287.50 47.50 102.50 0.0715267 -287.50 47.50 107.50 0.146182 -287.50 47.50 112.50 0.261567 -287.50 47.50 117.50 0.531261 -287.50 47.50 122.50 0.880611 -287.50 47.50 127.50 1.09789 -287.50 47.50 132.50 0.983075 -287.50 47.50 137.50 0.784647 -287.50 47.50 142.50 0.434232 -287.50 47.50 147.50 0.231455 -287.50 47.50 152.50 0.0933623 -287.50 47.50 157.50 0.0442034 -287.50 47.50 162.50 0.0207145 -287.50 47.50 167.50 0.0162197 -287.50 47.50 172.50 0.023494 -287.50 47.50 177.50 0.0278132 -287.50 47.50 182.50 0.0202141 -287.50 47.50 187.50 0.025361 -287.50 47.50 192.50 0.0715268 -287.50 47.50 197.50 0.146183 -287.50 47.50 202.50 0.261568 -287.50 47.50 207.50 0.53126 -287.50 47.50 212.50 0.880611 -287.50 47.50 217.50 1.09789 -287.50 47.50 222.50 0.983074 -287.50 47.50 227.50 0.784648 -287.50 47.50 232.50 0.434232 -287.50 47.50 237.50 0.231455 -287.50 47.50 242.50 0.0933621 -287.50 47.50 247.50 0.0442034 -287.50 47.50 252.50 0.0207145 -287.50 47.50 257.50 0.0162197 -287.50 47.50 262.50 0.023494 -287.50 47.50 267.50 0.0278132 -287.50 47.50 272.50 0.0202141 -287.50 47.50 277.50 0.025361 -287.50 47.50 282.50 0.0715268 -287.50 47.50 287.50 0.146183 -287.50 47.50 292.50 0.261568 -287.50 47.50 297.50 0.53126 -287.50 47.50 302.50 0.88061 -287.50 47.50 307.50 1.09789 -287.50 47.50 312.50 0.983075 -287.50 47.50 317.50 0.784647 -287.50 47.50 322.50 0.434233 -287.50 47.50 327.50 0.231455 -287.50 47.50 332.50 0.0933623 -287.50 47.50 337.50 0.0442035 -287.50 47.50 342.50 0.0207145 -287.50 47.50 347.50 0.0162197 -287.50 47.50 352.50 0.023494 -287.50 47.50 357.50 0.0278132 -287.50 52.50 2.50 0.0382171 -287.50 52.50 7.50 0.0179044 -287.50 52.50 12.50 0.0240119 -287.50 52.50 17.50 0.0424702 -287.50 52.50 22.50 0.086809 -287.50 52.50 27.50 0.177265 -287.50 52.50 32.50 0.29171 -287.50 52.50 37.50 0.320091 -287.50 52.50 42.50 0.248773 -287.50 52.50 47.50 0.186435 -287.50 52.50 52.50 0.107731 -287.50 52.50 57.50 0.0542918 -287.50 52.50 62.50 0.0298577 -287.50 52.50 67.50 0.0292199 -287.50 52.50 72.50 0.0366957 -287.50 52.50 77.50 0.0417048 -287.50 52.50 82.50 0.0512642 -287.50 52.50 87.50 0.0575414 -287.50 52.50 92.50 0.0382171 -287.50 52.50 97.50 0.0179044 -287.50 52.50 102.50 0.024012 -287.50 52.50 107.50 0.0424702 -287.50 52.50 112.50 0.086809 -287.50 52.50 117.50 0.177265 -287.50 52.50 122.50 0.29171 -287.50 52.50 127.50 0.320091 -287.50 52.50 132.50 0.248773 -287.50 52.50 137.50 0.186435 -287.50 52.50 142.50 0.107731 -287.50 52.50 147.50 0.0542918 -287.50 52.50 152.50 0.0298577 -287.50 52.50 157.50 0.0292198 -287.50 52.50 162.50 0.0366957 -287.50 52.50 167.50 0.0417048 -287.50 52.50 172.50 0.0512642 -287.50 52.50 177.50 0.0575413 -287.50 52.50 182.50 0.0382171 -287.50 52.50 187.50 0.0179044 -287.50 52.50 192.50 0.024012 -287.50 52.50 197.50 0.0424702 -287.50 52.50 202.50 0.0868091 -287.50 52.50 207.50 0.177265 -287.50 52.50 212.50 0.29171 -287.50 52.50 217.50 0.320091 -287.50 52.50 222.50 0.248773 -287.50 52.50 227.50 0.186435 -287.50 52.50 232.50 0.10773 -287.50 52.50 237.50 0.0542917 -287.50 52.50 242.50 0.0298577 -287.50 52.50 247.50 0.0292199 -287.50 52.50 252.50 0.0366958 -287.50 52.50 257.50 0.0417049 -287.50 52.50 262.50 0.0512642 -287.50 52.50 267.50 0.0575414 -287.50 52.50 272.50 0.0382171 -287.50 52.50 277.50 0.0179044 -287.50 52.50 282.50 0.024012 -287.50 52.50 287.50 0.0424702 -287.50 52.50 292.50 0.086809 -287.50 52.50 297.50 0.177265 -287.50 52.50 302.50 0.291709 -287.50 52.50 307.50 0.320091 -287.50 52.50 312.50 0.248773 -287.50 52.50 317.50 0.186435 -287.50 52.50 322.50 0.107731 -287.50 52.50 327.50 0.0542918 -287.50 52.50 332.50 0.0298578 -287.50 52.50 337.50 0.0292199 -287.50 52.50 342.50 0.0366957 -287.50 52.50 347.50 0.0417048 -287.50 52.50 352.50 0.0512642 -287.50 52.50 357.50 0.0575414 -287.50 57.50 2.50 0.080885 -287.50 57.50 7.50 0.0303794 -287.50 57.50 12.50 0.0135287 -287.50 57.50 17.50 0.010879 -287.50 57.50 22.50 0.0202785 -287.50 57.50 27.50 0.0359702 -287.50 57.50 32.50 0.0554883 -287.50 57.50 37.50 0.0523202 -287.50 57.50 42.50 0.0418998 -287.50 57.50 47.50 0.0384456 -287.50 57.50 52.50 0.0254597 -287.50 57.50 57.50 0.0285112 -287.50 57.50 62.50 0.0510867 -287.50 57.50 67.50 0.0962981 -287.50 57.50 72.50 0.145581 -287.50 57.50 77.50 0.15546 -287.50 57.50 82.50 0.132957 -287.50 57.50 87.50 0.115288 -287.50 57.50 92.50 0.080885 -287.50 57.50 97.50 0.0303794 -287.50 57.50 102.50 0.0135287 -287.50 57.50 107.50 0.010879 -287.50 57.50 112.50 0.0202785 -287.50 57.50 117.50 0.0359703 -287.50 57.50 122.50 0.0554884 -287.50 57.50 127.50 0.0523203 -287.50 57.50 132.50 0.0418998 -287.50 57.50 137.50 0.0384456 -287.50 57.50 142.50 0.0254597 -287.50 57.50 147.50 0.0285112 -287.50 57.50 152.50 0.0510866 -287.50 57.50 157.50 0.096298 -287.50 57.50 162.50 0.145581 -287.50 57.50 167.50 0.15546 -287.50 57.50 172.50 0.132956 -287.50 57.50 177.50 0.115287 -287.50 57.50 182.50 0.0808849 -287.50 57.50 187.50 0.0303794 -287.50 57.50 192.50 0.0135287 -287.50 57.50 197.50 0.010879 -287.50 57.50 202.50 0.0202785 -287.50 57.50 207.50 0.0359702 -287.50 57.50 212.50 0.0554884 -287.50 57.50 217.50 0.0523202 -287.50 57.50 222.50 0.0418998 -287.50 57.50 227.50 0.0384457 -287.50 57.50 232.50 0.0254596 -287.50 57.50 237.50 0.0285112 -287.50 57.50 242.50 0.0510867 -287.50 57.50 247.50 0.0962981 -287.50 57.50 252.50 0.145581 -287.50 57.50 257.50 0.15546 -287.50 57.50 262.50 0.132957 -287.50 57.50 267.50 0.115287 -287.50 57.50 272.50 0.080885 -287.50 57.50 277.50 0.0303794 -287.50 57.50 282.50 0.0135287 -287.50 57.50 287.50 0.010879 -287.50 57.50 292.50 0.0202785 -287.50 57.50 297.50 0.0359702 -287.50 57.50 302.50 0.0554883 -287.50 57.50 307.50 0.0523202 -287.50 57.50 312.50 0.0418998 -287.50 57.50 317.50 0.0384456 -287.50 57.50 322.50 0.0254596 -287.50 57.50 327.50 0.0285112 -287.50 57.50 332.50 0.0510866 -287.50 57.50 337.50 0.096298 -287.50 57.50 342.50 0.145581 -287.50 57.50 347.50 0.15546 -287.50 57.50 352.50 0.132957 -287.50 57.50 357.50 0.115288 -287.50 62.50 2.50 0.120114 -287.50 62.50 7.50 0.0489188 -287.50 62.50 12.50 0.0242279 -287.50 62.50 17.50 0.00922366 -287.50 62.50 22.50 0.00740194 -287.50 62.50 27.50 0.00618048 -287.50 62.50 32.50 0.00698853 -287.50 62.50 37.50 0.0113602 -287.50 62.50 42.50 0.0210899 -287.50 62.50 47.50 0.0416486 -287.50 62.50 52.50 0.0686555 -287.50 62.50 57.50 0.125213 -287.50 62.50 62.50 0.199509 -287.50 62.50 67.50 0.292971 -287.50 62.50 72.50 0.409849 -287.50 62.50 77.50 0.394772 -287.50 62.50 82.50 0.29178 -287.50 62.50 87.50 0.185298 -287.50 62.50 92.50 0.120114 -287.50 62.50 97.50 0.0489187 -287.50 62.50 102.50 0.0242279 -287.50 62.50 107.50 0.00922366 -287.50 62.50 112.50 0.00740194 -287.50 62.50 117.50 0.00618048 -287.50 62.50 122.50 0.00698853 -287.50 62.50 127.50 0.0113602 -287.50 62.50 132.50 0.0210899 -287.50 62.50 137.50 0.0416485 -287.50 62.50 142.50 0.0686555 -287.50 62.50 147.50 0.125213 -287.50 62.50 152.50 0.199509 -287.50 62.50 157.50 0.292971 -287.50 62.50 162.50 0.409849 -287.50 62.50 167.50 0.394771 -287.50 62.50 172.50 0.29178 -287.50 62.50 177.50 0.185298 -287.50 62.50 182.50 0.120114 -287.50 62.50 187.50 0.0489187 -287.50 62.50 192.50 0.0242278 -287.50 62.50 197.50 0.00922367 -287.50 62.50 202.50 0.00740193 -287.50 62.50 207.50 0.00618048 -287.50 62.50 212.50 0.00698853 -287.50 62.50 217.50 0.0113602 -287.50 62.50 222.50 0.0210899 -287.50 62.50 227.50 0.0416485 -287.50 62.50 232.50 0.0686555 -287.50 62.50 237.50 0.125213 -287.50 62.50 242.50 0.199509 -287.50 62.50 247.50 0.292971 -287.50 62.50 252.50 0.409849 -287.50 62.50 257.50 0.394771 -287.50 62.50 262.50 0.29178 -287.50 62.50 267.50 0.185298 -287.50 62.50 272.50 0.120114 -287.50 62.50 277.50 0.0489187 -287.50 62.50 282.50 0.0242278 -287.50 62.50 287.50 0.00922366 -287.50 62.50 292.50 0.00740195 -287.50 62.50 297.50 0.00618047 -287.50 62.50 302.50 0.00698852 -287.50 62.50 307.50 0.0113602 -287.50 62.50 312.50 0.0210899 -287.50 62.50 317.50 0.0416486 -287.50 62.50 322.50 0.0686555 -287.50 62.50 327.50 0.125212 -287.50 62.50 332.50 0.199509 -287.50 62.50 337.50 0.292971 -287.50 62.50 342.50 0.409849 -287.50 62.50 347.50 0.394772 -287.50 62.50 352.50 0.291781 -287.50 62.50 357.50 0.185299 -287.50 67.50 2.50 0.151509 -287.50 67.50 7.50 0.0841844 -287.50 67.50 12.50 0.0565281 -287.50 67.50 17.50 0.0290199 -287.50 67.50 22.50 0.0178428 -287.50 67.50 27.50 0.0115919 -287.50 67.50 32.50 0.0105737 -287.50 67.50 37.50 0.0231849 -287.50 67.50 42.50 0.0619753 -287.50 67.50 47.50 0.143058 -287.50 67.50 52.50 0.280564 -287.50 67.50 57.50 0.417771 -287.50 67.50 62.50 0.583854 -287.50 67.50 67.50 0.771719 -287.50 67.50 72.50 0.848944 -287.50 67.50 77.50 0.784049 -287.50 67.50 82.50 0.529664 -287.50 67.50 87.50 0.268432 -287.50 67.50 92.50 0.151509 -287.50 67.50 97.50 0.0841842 -287.50 67.50 102.50 0.0565281 -287.50 67.50 107.50 0.0290199 -287.50 67.50 112.50 0.0178428 -287.50 67.50 117.50 0.0115919 -287.50 67.50 122.50 0.0105737 -287.50 67.50 127.50 0.0231849 -287.50 67.50 132.50 0.0619753 -287.50 67.50 137.50 0.143058 -287.50 67.50 142.50 0.280563 -287.50 67.50 147.50 0.41777 -287.50 67.50 152.50 0.583853 -287.50 67.50 157.50 0.771719 -287.50 67.50 162.50 0.848944 -287.50 67.50 167.50 0.784048 -287.50 67.50 172.50 0.529664 -287.50 67.50 177.50 0.268433 -287.50 67.50 182.50 0.151509 -287.50 67.50 187.50 0.0841843 -287.50 67.50 192.50 0.056528 -287.50 67.50 197.50 0.0290198 -287.50 67.50 202.50 0.0178428 -287.50 67.50 207.50 0.0115919 -287.50 67.50 212.50 0.0105736 -287.50 67.50 217.50 0.0231848 -287.50 67.50 222.50 0.0619752 -287.50 67.50 227.50 0.143058 -287.50 67.50 232.50 0.280564 -287.50 67.50 237.50 0.417771 -287.50 67.50 242.50 0.583854 -287.50 67.50 247.50 0.771719 -287.50 67.50 252.50 0.848944 -287.50 67.50 257.50 0.784048 -287.50 67.50 262.50 0.529664 -287.50 67.50 267.50 0.268432 -287.50 67.50 272.50 0.151509 -287.50 67.50 277.50 0.0841843 -287.50 67.50 282.50 0.0565281 -287.50 67.50 287.50 0.0290199 -287.50 67.50 292.50 0.0178428 -287.50 67.50 297.50 0.0115919 -287.50 67.50 302.50 0.0105737 -287.50 67.50 307.50 0.0231849 -287.50 67.50 312.50 0.0619753 -287.50 67.50 317.50 0.143058 -287.50 67.50 322.50 0.280563 -287.50 67.50 327.50 0.41777 -287.50 67.50 332.50 0.583853 -287.50 67.50 337.50 0.771719 -287.50 67.50 342.50 0.848944 -287.50 67.50 347.50 0.78405 -287.50 67.50 352.50 0.529665 -287.50 67.50 357.50 0.268433 -287.50 72.50 2.50 0.200246 -287.50 72.50 7.50 0.170016 -287.50 72.50 12.50 0.119157 -287.50 72.50 17.50 0.0816251 -287.50 72.50 22.50 0.0719871 -287.50 72.50 27.50 0.0543212 -287.50 72.50 32.50 0.048728 -287.50 72.50 37.50 0.0956056 -287.50 72.50 42.50 0.224622 -287.50 72.50 47.50 0.434026 -287.50 72.50 52.50 0.74717 -287.50 72.50 57.50 1.02468 -287.50 72.50 62.50 1.23256 -287.50 72.50 67.50 1.49383 -287.50 72.50 72.50 1.55094 -287.50 72.50 77.50 1.26497 -287.50 72.50 82.50 0.766071 -287.50 72.50 87.50 0.377387 -287.50 72.50 92.50 0.200246 -287.50 72.50 97.50 0.170016 -287.50 72.50 102.50 0.119157 -287.50 72.50 107.50 0.081625 -287.50 72.50 112.50 0.071987 -287.50 72.50 117.50 0.0543211 -287.50 72.50 122.50 0.048728 -287.50 72.50 127.50 0.0956056 -287.50 72.50 132.50 0.224622 -287.50 72.50 137.50 0.434025 -287.50 72.50 142.50 0.74717 -287.50 72.50 147.50 1.02467 -287.50 72.50 152.50 1.23256 -287.50 72.50 157.50 1.49383 -287.50 72.50 162.50 1.55094 -287.50 72.50 167.50 1.26497 -287.50 72.50 172.50 0.766071 -287.50 72.50 177.50 0.377387 -287.50 72.50 182.50 0.200246 -287.50 72.50 187.50 0.170016 -287.50 72.50 192.50 0.119157 -287.50 72.50 197.50 0.0816251 -287.50 72.50 202.50 0.071987 -287.50 72.50 207.50 0.0543211 -287.50 72.50 212.50 0.048728 -287.50 72.50 217.50 0.0956054 -287.50 72.50 222.50 0.224621 -287.50 72.50 227.50 0.434025 -287.50 72.50 232.50 0.747171 -287.50 72.50 237.50 1.02467 -287.50 72.50 242.50 1.23256 -287.50 72.50 247.50 1.49383 -287.50 72.50 252.50 1.55094 -287.50 72.50 257.50 1.26497 -287.50 72.50 262.50 0.76607 -287.50 72.50 267.50 0.377387 -287.50 72.50 272.50 0.200246 -287.50 72.50 277.50 0.170016 -287.50 72.50 282.50 0.119157 -287.50 72.50 287.50 0.0816251 -287.50 72.50 292.50 0.0719871 -287.50 72.50 297.50 0.0543211 -287.50 72.50 302.50 0.048728 -287.50 72.50 307.50 0.0956055 -287.50 72.50 312.50 0.224622 -287.50 72.50 317.50 0.434025 -287.50 72.50 322.50 0.747169 -287.50 72.50 327.50 1.02467 -287.50 72.50 332.50 1.23256 -287.50 72.50 337.50 1.49383 -287.50 72.50 342.50 1.55094 -287.50 72.50 347.50 1.26497 -287.50 72.50 352.50 0.766072 -287.50 72.50 357.50 0.377388 -287.50 77.50 2.50 0.244704 -287.50 77.50 7.50 0.278137 -287.50 77.50 12.50 0.182174 -287.50 77.50 17.50 0.193121 -287.50 77.50 22.50 0.177703 -287.50 77.50 27.50 0.146755 -287.50 77.50 32.50 0.190522 -287.50 77.50 37.50 0.360379 -287.50 77.50 42.50 0.676224 -287.50 77.50 47.50 1.15349 -287.50 77.50 52.50 1.56178 -287.50 77.50 57.50 1.85379 -287.50 77.50 62.50 2.03098 -287.50 77.50 67.50 2.13414 -287.50 77.50 72.50 2.08213 -287.50 77.50 77.50 1.60304 -287.50 77.50 82.50 0.940417 -287.50 77.50 87.50 0.454511 -287.50 77.50 92.50 0.244704 -287.50 77.50 97.50 0.278137 -287.50 77.50 102.50 0.182174 -287.50 77.50 107.50 0.193121 -287.50 77.50 112.50 0.177703 -287.50 77.50 117.50 0.146755 -287.50 77.50 122.50 0.190522 -287.50 77.50 127.50 0.360379 -287.50 77.50 132.50 0.676224 -287.50 77.50 137.50 1.15349 -287.50 77.50 142.50 1.56178 -287.50 77.50 147.50 1.85379 -287.50 77.50 152.50 2.03098 -287.50 77.50 157.50 2.13414 -287.50 77.50 162.50 2.08213 -287.50 77.50 167.50 1.60305 -287.50 77.50 172.50 0.940418 -287.50 77.50 177.50 0.454511 -287.50 77.50 182.50 0.244704 -287.50 77.50 187.50 0.278137 -287.50 77.50 192.50 0.182174 -287.50 77.50 197.50 0.193121 -287.50 77.50 202.50 0.177703 -287.50 77.50 207.50 0.146755 -287.50 77.50 212.50 0.190522 -287.50 77.50 217.50 0.360379 -287.50 77.50 222.50 0.676224 -287.50 77.50 227.50 1.15349 -287.50 77.50 232.50 1.56178 -287.50 77.50 237.50 1.85379 -287.50 77.50 242.50 2.03098 -287.50 77.50 247.50 2.13414 -287.50 77.50 252.50 2.08213 -287.50 77.50 257.50 1.60304 -287.50 77.50 262.50 0.940416 -287.50 77.50 267.50 0.454511 -287.50 77.50 272.50 0.244704 -287.50 77.50 277.50 0.278137 -287.50 77.50 282.50 0.182174 -287.50 77.50 287.50 0.193121 -287.50 77.50 292.50 0.177703 -287.50 77.50 297.50 0.146755 -287.50 77.50 302.50 0.190522 -287.50 77.50 307.50 0.360379 -287.50 77.50 312.50 0.676224 -287.50 77.50 317.50 1.15349 -287.50 77.50 322.50 1.56178 -287.50 77.50 327.50 1.85379 -287.50 77.50 332.50 2.03098 -287.50 77.50 337.50 2.13414 -287.50 77.50 342.50 2.08213 -287.50 77.50 347.50 1.60305 -287.50 77.50 352.50 0.940419 -287.50 77.50 357.50 0.454512 -287.50 82.50 2.50 0.230709 -287.50 82.50 7.50 0.256431 -287.50 82.50 12.50 0.250356 -287.50 82.50 17.50 0.293102 -287.50 82.50 22.50 0.339523 -287.50 82.50 27.50 0.418267 -287.50 82.50 32.50 0.604672 -287.50 82.50 37.50 0.945097 -287.50 82.50 42.50 1.48837 -287.50 82.50 47.50 2.1376 -287.50 82.50 52.50 2.62261 -287.50 82.50 57.50 2.78082 -287.50 82.50 62.50 2.6922 -287.50 82.50 67.50 2.50909 -287.50 82.50 72.50 2.1347 -287.50 82.50 77.50 1.49965 -287.50 82.50 82.50 0.866701 -287.50 82.50 87.50 0.401083 -287.50 82.50 92.50 0.230709 -287.50 82.50 97.50 0.256431 -287.50 82.50 102.50 0.250356 -287.50 82.50 107.50 0.293102 -287.50 82.50 112.50 0.339523 -287.50 82.50 117.50 0.418267 -287.50 82.50 122.50 0.604672 -287.50 82.50 127.50 0.945097 -287.50 82.50 132.50 1.48837 -287.50 82.50 137.50 2.1376 -287.50 82.50 142.50 2.62261 -287.50 82.50 147.50 2.78082 -287.50 82.50 152.50 2.6922 -287.50 82.50 157.50 2.50909 -287.50 82.50 162.50 2.1347 -287.50 82.50 167.50 1.49965 -287.50 82.50 172.50 0.866702 -287.50 82.50 177.50 0.401083 -287.50 82.50 182.50 0.230709 -287.50 82.50 187.50 0.256431 -287.50 82.50 192.50 0.250356 -287.50 82.50 197.50 0.293102 -287.50 82.50 202.50 0.339523 -287.50 82.50 207.50 0.418267 -287.50 82.50 212.50 0.604671 -287.50 82.50 217.50 0.945096 -287.50 82.50 222.50 1.48837 -287.50 82.50 227.50 2.1376 -287.50 82.50 232.50 2.62261 -287.50 82.50 237.50 2.78082 -287.50 82.50 242.50 2.6922 -287.50 82.50 247.50 2.50909 -287.50 82.50 252.50 2.1347 -287.50 82.50 257.50 1.49965 -287.50 82.50 262.50 0.866701 -287.50 82.50 267.50 0.401083 -287.50 82.50 272.50 0.230709 -287.50 82.50 277.50 0.256431 -287.50 82.50 282.50 0.250356 -287.50 82.50 287.50 0.293103 -287.50 82.50 292.50 0.339523 -287.50 82.50 297.50 0.418267 -287.50 82.50 302.50 0.604672 -287.50 82.50 307.50 0.945096 -287.50 82.50 312.50 1.48837 -287.50 82.50 317.50 2.1376 -287.50 82.50 322.50 2.62261 -287.50 82.50 327.50 2.78082 -287.50 82.50 332.50 2.6922 -287.50 82.50 337.50 2.50909 -287.50 82.50 342.50 2.1347 -287.50 82.50 347.50 1.49966 -287.50 82.50 352.50 0.866702 -287.50 82.50 357.50 0.401083 -287.50 87.50 2.50 0.172972 -287.50 87.50 7.50 0.200923 -287.50 87.50 12.50 0.30334 -287.50 87.50 17.50 0.432495 -287.50 87.50 22.50 0.632584 -287.50 87.50 27.50 0.86674 -287.50 87.50 32.50 1.20968 -287.50 87.50 37.50 1.74094 -287.50 87.50 42.50 2.43256 -287.50 87.50 47.50 3.00907 -287.50 87.50 52.50 3.19831 -287.50 87.50 57.50 3.01113 -287.50 87.50 62.50 2.65899 -287.50 87.50 67.50 2.2183 -287.50 87.50 72.50 1.65961 -287.50 87.50 77.50 1.13424 -287.50 87.50 82.50 0.641894 -287.50 87.50 87.50 0.296858 -287.50 87.50 92.50 0.172972 -287.50 87.50 97.50 0.200923 -287.50 87.50 102.50 0.30334 -287.50 87.50 107.50 0.432495 -287.50 87.50 112.50 0.632584 -287.50 87.50 117.50 0.866739 -287.50 87.50 122.50 1.20968 -287.50 87.50 127.50 1.74094 -287.50 87.50 132.50 2.43256 -287.50 87.50 137.50 3.00907 -287.50 87.50 142.50 3.19831 -287.50 87.50 147.50 3.01113 -287.50 87.50 152.50 2.659 -287.50 87.50 157.50 2.2183 -287.50 87.50 162.50 1.65961 -287.50 87.50 167.50 1.13424 -287.50 87.50 172.50 0.641895 -287.50 87.50 177.50 0.296859 -287.50 87.50 182.50 0.172972 -287.50 87.50 187.50 0.200923 -287.50 87.50 192.50 0.30334 -287.50 87.50 197.50 0.432495 -287.50 87.50 202.50 0.632584 -287.50 87.50 207.50 0.866739 -287.50 87.50 212.50 1.20968 -287.50 87.50 217.50 1.74094 -287.50 87.50 222.50 2.43256 -287.50 87.50 227.50 3.00907 -287.50 87.50 232.50 3.19831 -287.50 87.50 237.50 3.01113 -287.50 87.50 242.50 2.65899 -287.50 87.50 247.50 2.2183 -287.50 87.50 252.50 1.65961 -287.50 87.50 257.50 1.13424 -287.50 87.50 262.50 0.641894 -287.50 87.50 267.50 0.296858 -287.50 87.50 272.50 0.172972 -287.50 87.50 277.50 0.200923 -287.50 87.50 282.50 0.30334 -287.50 87.50 287.50 0.432495 -287.50 87.50 292.50 0.632584 -287.50 87.50 297.50 0.866739 -287.50 87.50 302.50 1.20968 -287.50 87.50 307.50 1.74094 -287.50 87.50 312.50 2.43256 -287.50 87.50 317.50 3.00907 -287.50 87.50 322.50 3.19831 -287.50 87.50 327.50 3.01113 -287.50 87.50 332.50 2.659 -287.50 87.50 337.50 2.2183 -287.50 87.50 342.50 1.65962 -287.50 87.50 347.50 1.13424 -287.50 87.50 352.50 0.641896 -287.50 87.50 357.50 0.296859 -287.50 92.50 2.50 0.149977 -287.50 92.50 7.50 0.210388 -287.50 92.50 12.50 0.376554 -287.50 92.50 17.50 0.655401 -287.50 92.50 22.50 1.04451 -287.50 92.50 27.50 1.46987 -287.50 92.50 32.50 1.91896 -287.50 92.50 37.50 2.48318 -287.50 92.50 42.50 3.07557 -287.50 92.50 47.50 3.34429 -287.50 92.50 52.50 3.07557 -287.50 92.50 57.50 2.48318 -287.50 92.50 62.50 1.91896 -287.50 92.50 67.50 1.46987 -287.50 92.50 72.50 1.04451 -287.50 92.50 77.50 0.655401 -287.50 92.50 82.50 0.376554 -287.50 92.50 87.50 0.210389 -287.50 92.50 92.50 0.149977 -287.50 92.50 97.50 0.210388 -287.50 92.50 102.50 0.376554 -287.50 92.50 107.50 0.655401 -287.50 92.50 112.50 1.04451 -287.50 92.50 117.50 1.46987 -287.50 92.50 122.50 1.91896 -287.50 92.50 127.50 2.48319 -287.50 92.50 132.50 3.07557 -287.50 92.50 137.50 3.34429 -287.50 92.50 142.50 3.07557 -287.50 92.50 147.50 2.48318 -287.50 92.50 152.50 1.91896 -287.50 92.50 157.50 1.46987 -287.50 92.50 162.50 1.04451 -287.50 92.50 167.50 0.655401 -287.50 92.50 172.50 0.376555 -287.50 92.50 177.50 0.210389 -287.50 92.50 182.50 0.149977 -287.50 92.50 187.50 0.210388 -287.50 92.50 192.50 0.376554 -287.50 92.50 197.50 0.655401 -287.50 92.50 202.50 1.04451 -287.50 92.50 207.50 1.46987 -287.50 92.50 212.50 1.91896 -287.50 92.50 217.50 2.48318 -287.50 92.50 222.50 3.07557 -287.50 92.50 227.50 3.34429 -287.50 92.50 232.50 3.07557 -287.50 92.50 237.50 2.48318 -287.50 92.50 242.50 1.91896 -287.50 92.50 247.50 1.46987 -287.50 92.50 252.50 1.04451 -287.50 92.50 257.50 0.6554 -287.50 92.50 262.50 0.376554 -287.50 92.50 267.50 0.210388 -287.50 92.50 272.50 0.149977 -287.50 92.50 277.50 0.210388 -287.50 92.50 282.50 0.376555 -287.50 92.50 287.50 0.655401 -287.50 92.50 292.50 1.04451 -287.50 92.50 297.50 1.46987 -287.50 92.50 302.50 1.91896 -287.50 92.50 307.50 2.48318 -287.50 92.50 312.50 3.07557 -287.50 92.50 317.50 3.34429 -287.50 92.50 322.50 3.07558 -287.50 92.50 327.50 2.48318 -287.50 92.50 332.50 1.91896 -287.50 92.50 337.50 1.46987 -287.50 92.50 342.50 1.04451 -287.50 92.50 347.50 0.655401 -287.50 92.50 352.50 0.376555 -287.50 92.50 357.50 0.210389 -287.50 97.50 2.50 0.172972 -287.50 97.50 7.50 0.296858 -287.50 97.50 12.50 0.641895 -287.50 97.50 17.50 1.13424 -287.50 97.50 22.50 1.65962 -287.50 97.50 27.50 2.2183 -287.50 97.50 32.50 2.659 -287.50 97.50 37.50 3.01113 -287.50 97.50 42.50 3.19831 -287.50 97.50 47.50 3.00907 -287.50 97.50 52.50 2.43256 -287.50 97.50 57.50 1.74094 -287.50 97.50 62.50 1.20968 -287.50 97.50 67.50 0.866739 -287.50 97.50 72.50 0.632584 -287.50 97.50 77.50 0.432494 -287.50 97.50 82.50 0.30334 -287.50 97.50 87.50 0.200923 -287.50 97.50 92.50 0.172972 -287.50 97.50 97.50 0.296858 -287.50 97.50 102.50 0.641895 -287.50 97.50 107.50 1.13424 -287.50 97.50 112.50 1.65961 -287.50 97.50 117.50 2.2183 -287.50 97.50 122.50 2.659 -287.50 97.50 127.50 3.01114 -287.50 97.50 132.50 3.1983 -287.50 97.50 137.50 3.00907 -287.50 97.50 142.50 2.43256 -287.50 97.50 147.50 1.74094 -287.50 97.50 152.50 1.20968 -287.50 97.50 157.50 0.86674 -287.50 97.50 162.50 0.632584 -287.50 97.50 167.50 0.432495 -287.50 97.50 172.50 0.30334 -287.50 97.50 177.50 0.200923 -287.50 97.50 182.50 0.172972 -287.50 97.50 187.50 0.296858 -287.50 97.50 192.50 0.641895 -287.50 97.50 197.50 1.13424 -287.50 97.50 202.50 1.65961 -287.50 97.50 207.50 2.2183 -287.50 97.50 212.50 2.659 -287.50 97.50 217.50 3.01113 -287.50 97.50 222.50 3.1983 -287.50 97.50 227.50 3.00907 -287.50 97.50 232.50 2.43256 -287.50 97.50 237.50 1.74093 -287.50 97.50 242.50 1.20968 -287.50 97.50 247.50 0.866739 -287.50 97.50 252.50 0.632584 -287.50 97.50 257.50 0.432494 -287.50 97.50 262.50 0.30334 -287.50 97.50 267.50 0.200923 -287.50 97.50 272.50 0.172972 -287.50 97.50 277.50 0.296858 -287.50 97.50 282.50 0.641895 -287.50 97.50 287.50 1.13424 -287.50 97.50 292.50 1.65961 -287.50 97.50 297.50 2.2183 -287.50 97.50 302.50 2.659 -287.50 97.50 307.50 3.01113 -287.50 97.50 312.50 3.19831 -287.50 97.50 317.50 3.00907 -287.50 97.50 322.50 2.43256 -287.50 97.50 327.50 1.74094 -287.50 97.50 332.50 1.20968 -287.50 97.50 337.50 0.86674 -287.50 97.50 342.50 0.632584 -287.50 97.50 347.50 0.432495 -287.50 97.50 352.50 0.30334 -287.50 97.50 357.50 0.200923 -287.50 102.50 2.50 0.230709 -287.50 102.50 7.50 0.401083 -287.50 102.50 12.50 0.866701 -287.50 102.50 17.50 1.49965 -287.50 102.50 22.50 2.1347 -287.50 102.50 27.50 2.50909 -287.50 102.50 32.50 2.6922 -287.50 102.50 37.50 2.78082 -287.50 102.50 42.50 2.62261 -287.50 102.50 47.50 2.1376 -287.50 102.50 52.50 1.48837 -287.50 102.50 57.50 0.945096 -287.50 102.50 62.50 0.604671 -287.50 102.50 67.50 0.418267 -287.50 102.50 72.50 0.339523 -287.50 102.50 77.50 0.293102 -287.50 102.50 82.50 0.250356 -287.50 102.50 87.50 0.256431 -287.50 102.50 92.50 0.230709 -287.50 102.50 97.50 0.401083 -287.50 102.50 102.50 0.866702 -287.50 102.50 107.50 1.49965 -287.50 102.50 112.50 2.1347 -287.50 102.50 117.50 2.50909 -287.50 102.50 122.50 2.6922 -287.50 102.50 127.50 2.78082 -287.50 102.50 132.50 2.62261 -287.50 102.50 137.50 2.1376 -287.50 102.50 142.50 1.48837 -287.50 102.50 147.50 0.945097 -287.50 102.50 152.50 0.604672 -287.50 102.50 157.50 0.418267 -287.50 102.50 162.50 0.339523 -287.50 102.50 167.50 0.293102 -287.50 102.50 172.50 0.250356 -287.50 102.50 177.50 0.256431 -287.50 102.50 182.50 0.230709 -287.50 102.50 187.50 0.401083 -287.50 102.50 192.50 0.866702 -287.50 102.50 197.50 1.49965 -287.50 102.50 202.50 2.1347 -287.50 102.50 207.50 2.50909 -287.50 102.50 212.50 2.6922 -287.50 102.50 217.50 2.78082 -287.50 102.50 222.50 2.62261 -287.50 102.50 227.50 2.1376 -287.50 102.50 232.50 1.48837 -287.50 102.50 237.50 0.945096 -287.50 102.50 242.50 0.604672 -287.50 102.50 247.50 0.418267 -287.50 102.50 252.50 0.339523 -287.50 102.50 257.50 0.293102 -287.50 102.50 262.50 0.250356 -287.50 102.50 267.50 0.256431 -287.50 102.50 272.50 0.230709 -287.50 102.50 277.50 0.401083 -287.50 102.50 282.50 0.866702 -287.50 102.50 287.50 1.49965 -287.50 102.50 292.50 2.1347 -287.50 102.50 297.50 2.50909 -287.50 102.50 302.50 2.6922 -287.50 102.50 307.50 2.78082 -287.50 102.50 312.50 2.62261 -287.50 102.50 317.50 2.1376 -287.50 102.50 322.50 1.48837 -287.50 102.50 327.50 0.945098 -287.50 102.50 332.50 0.604672 -287.50 102.50 337.50 0.418267 -287.50 102.50 342.50 0.339523 -287.50 102.50 347.50 0.293103 -287.50 102.50 352.50 0.250356 -287.50 102.50 357.50 0.256431 -287.50 107.50 2.50 0.244704 -287.50 107.50 7.50 0.454511 -287.50 107.50 12.50 0.940418 -287.50 107.50 17.50 1.60305 -287.50 107.50 22.50 2.08213 -287.50 107.50 27.50 2.13414 -287.50 107.50 32.50 2.03098 -287.50 107.50 37.50 1.85379 -287.50 107.50 42.50 1.56178 -287.50 107.50 47.50 1.15349 -287.50 107.50 52.50 0.676224 -287.50 107.50 57.50 0.360379 -287.50 107.50 62.50 0.190522 -287.50 107.50 67.50 0.146755 -287.50 107.50 72.50 0.177703 -287.50 107.50 77.50 0.193121 -287.50 107.50 82.50 0.182174 -287.50 107.50 87.50 0.278137 -287.50 107.50 92.50 0.244704 -287.50 107.50 97.50 0.454511 -287.50 107.50 102.50 0.940418 -287.50 107.50 107.50 1.60305 -287.50 107.50 112.50 2.08213 -287.50 107.50 117.50 2.13414 -287.50 107.50 122.50 2.03098 -287.50 107.50 127.50 1.85379 -287.50 107.50 132.50 1.56178 -287.50 107.50 137.50 1.15349 -287.50 107.50 142.50 0.676224 -287.50 107.50 147.50 0.360379 -287.50 107.50 152.50 0.190522 -287.50 107.50 157.50 0.146755 -287.50 107.50 162.50 0.177703 -287.50 107.50 167.50 0.193121 -287.50 107.50 172.50 0.182174 -287.50 107.50 177.50 0.278137 -287.50 107.50 182.50 0.244704 -287.50 107.50 187.50 0.454511 -287.50 107.50 192.50 0.940418 -287.50 107.50 197.50 1.60305 -287.50 107.50 202.50 2.08213 -287.50 107.50 207.50 2.13414 -287.50 107.50 212.50 2.03098 -287.50 107.50 217.50 1.85379 -287.50 107.50 222.50 1.56178 -287.50 107.50 227.50 1.15349 -287.50 107.50 232.50 0.676223 -287.50 107.50 237.50 0.360378 -287.50 107.50 242.50 0.190522 -287.50 107.50 247.50 0.146755 -287.50 107.50 252.50 0.177704 -287.50 107.50 257.50 0.193121 -287.50 107.50 262.50 0.182174 -287.50 107.50 267.50 0.278137 -287.50 107.50 272.50 0.244704 -287.50 107.50 277.50 0.454511 -287.50 107.50 282.50 0.940417 -287.50 107.50 287.50 1.60304 -287.50 107.50 292.50 2.08213 -287.50 107.50 297.50 2.13414 -287.50 107.50 302.50 2.03098 -287.50 107.50 307.50 1.85379 -287.50 107.50 312.50 1.56178 -287.50 107.50 317.50 1.15349 -287.50 107.50 322.50 0.676225 -287.50 107.50 327.50 0.360379 -287.50 107.50 332.50 0.190522 -287.50 107.50 337.50 0.146755 -287.50 107.50 342.50 0.177703 -287.50 107.50 347.50 0.193121 -287.50 107.50 352.50 0.182174 -287.50 107.50 357.50 0.278137 -287.50 112.50 2.50 0.200246 -287.50 112.50 7.50 0.377387 -287.50 112.50 12.50 0.766071 -287.50 112.50 17.50 1.26497 -287.50 112.50 22.50 1.55094 -287.50 112.50 27.50 1.49383 -287.50 112.50 32.50 1.23256 -287.50 112.50 37.50 1.02467 -287.50 112.50 42.50 0.74717 -287.50 112.50 47.50 0.434025 -287.50 112.50 52.50 0.224621 -287.50 112.50 57.50 0.0956055 -287.50 112.50 62.50 0.048728 -287.50 112.50 67.50 0.0543211 -287.50 112.50 72.50 0.0719871 -287.50 112.50 77.50 0.0816251 -287.50 112.50 82.50 0.119157 -287.50 112.50 87.50 0.170016 -287.50 112.50 92.50 0.200246 -287.50 112.50 97.50 0.377387 -287.50 112.50 102.50 0.766071 -287.50 112.50 107.50 1.26497 -287.50 112.50 112.50 1.55094 -287.50 112.50 117.50 1.49383 -287.50 112.50 122.50 1.23256 -287.50 112.50 127.50 1.02467 -287.50 112.50 132.50 0.74717 -287.50 112.50 137.50 0.434025 -287.50 112.50 142.50 0.224622 -287.50 112.50 147.50 0.0956056 -287.50 112.50 152.50 0.048728 -287.50 112.50 157.50 0.0543212 -287.50 112.50 162.50 0.0719871 -287.50 112.50 167.50 0.0816251 -287.50 112.50 172.50 0.119157 -287.50 112.50 177.50 0.170016 -287.50 112.50 182.50 0.200246 -287.50 112.50 187.50 0.377387 -287.50 112.50 192.50 0.766071 -287.50 112.50 197.50 1.26497 -287.50 112.50 202.50 1.55094 -287.50 112.50 207.50 1.49383 -287.50 112.50 212.50 1.23256 -287.50 112.50 217.50 1.02468 -287.50 112.50 222.50 0.747171 -287.50 112.50 227.50 0.434026 -287.50 112.50 232.50 0.224621 -287.50 112.50 237.50 0.0956054 -287.50 112.50 242.50 0.0487279 -287.50 112.50 247.50 0.0543212 -287.50 112.50 252.50 0.0719871 -287.50 112.50 257.50 0.0816251 -287.50 112.50 262.50 0.119157 -287.50 112.50 267.50 0.170016 -287.50 112.50 272.50 0.200246 -287.50 112.50 277.50 0.377387 -287.50 112.50 282.50 0.766071 -287.50 112.50 287.50 1.26497 -287.50 112.50 292.50 1.55094 -287.50 112.50 297.50 1.49383 -287.50 112.50 302.50 1.23256 -287.50 112.50 307.50 1.02468 -287.50 112.50 312.50 0.74717 -287.50 112.50 317.50 0.434026 -287.50 112.50 322.50 0.224622 -287.50 112.50 327.50 0.0956058 -287.50 112.50 332.50 0.0487281 -287.50 112.50 337.50 0.0543211 -287.50 112.50 342.50 0.071987 -287.50 112.50 347.50 0.0816251 -287.50 112.50 352.50 0.119157 -287.50 112.50 357.50 0.170016 -287.50 117.50 2.50 0.151509 -287.50 117.50 7.50 0.268432 -287.50 117.50 12.50 0.529664 -287.50 117.50 17.50 0.784048 -287.50 117.50 22.50 0.848943 -287.50 117.50 27.50 0.771718 -287.50 117.50 32.50 0.583853 -287.50 117.50 37.50 0.41777 -287.50 117.50 42.50 0.280563 -287.50 117.50 47.50 0.143058 -287.50 117.50 52.50 0.0619751 -287.50 117.50 57.50 0.0231848 -287.50 117.50 62.50 0.0105736 -287.50 117.50 67.50 0.0115919 -287.50 117.50 72.50 0.0178428 -287.50 117.50 77.50 0.0290198 -287.50 117.50 82.50 0.056528 -287.50 117.50 87.50 0.0841843 -287.50 117.50 92.50 0.151509 -287.50 117.50 97.50 0.268432 -287.50 117.50 102.50 0.529664 -287.50 117.50 107.50 0.784048 -287.50 117.50 112.50 0.848943 -287.50 117.50 117.50 0.771718 -287.50 117.50 122.50 0.583853 -287.50 117.50 127.50 0.41777 -287.50 117.50 132.50 0.280563 -287.50 117.50 137.50 0.143058 -287.50 117.50 142.50 0.0619752 -287.50 117.50 147.50 0.0231848 -287.50 117.50 152.50 0.0105736 -287.50 117.50 157.50 0.0115919 -287.50 117.50 162.50 0.0178428 -287.50 117.50 167.50 0.0290199 -287.50 117.50 172.50 0.056528 -287.50 117.50 177.50 0.0841843 -287.50 117.50 182.50 0.151509 -287.50 117.50 187.50 0.268432 -287.50 117.50 192.50 0.529664 -287.50 117.50 197.50 0.784048 -287.50 117.50 202.50 0.848944 -287.50 117.50 207.50 0.771718 -287.50 117.50 212.50 0.583852 -287.50 117.50 217.50 0.41777 -287.50 117.50 222.50 0.280563 -287.50 117.50 227.50 0.143058 -287.50 117.50 232.50 0.0619751 -287.50 117.50 237.50 0.0231848 -287.50 117.50 242.50 0.0105736 -287.50 117.50 247.50 0.0115919 -287.50 117.50 252.50 0.0178428 -287.50 117.50 257.50 0.0290199 -287.50 117.50 262.50 0.0565281 -287.50 117.50 267.50 0.0841843 -287.50 117.50 272.50 0.151509 -287.50 117.50 277.50 0.268432 -287.50 117.50 282.50 0.529664 -287.50 117.50 287.50 0.784048 -287.50 117.50 292.50 0.848943 -287.50 117.50 297.50 0.771718 -287.50 117.50 302.50 0.583853 -287.50 117.50 307.50 0.41777 -287.50 117.50 312.50 0.280563 -287.50 117.50 317.50 0.143058 -287.50 117.50 322.50 0.0619753 -287.50 117.50 327.50 0.0231849 -287.50 117.50 332.50 0.0105736 -287.50 117.50 337.50 0.0115919 -287.50 117.50 342.50 0.0178427 -287.50 117.50 347.50 0.0290198 -287.50 117.50 352.50 0.0565279 -287.50 117.50 357.50 0.0841841 -287.50 122.50 2.50 0.120114 -287.50 122.50 7.50 0.185298 -287.50 122.50 12.50 0.29178 -287.50 122.50 17.50 0.394771 -287.50 122.50 22.50 0.409848 -287.50 122.50 27.50 0.29297 -287.50 122.50 32.50 0.199509 -287.50 122.50 37.50 0.125212 -287.50 122.50 42.50 0.0686553 -287.50 122.50 47.50 0.0416485 -287.50 122.50 52.50 0.0210899 -287.50 122.50 57.50 0.0113602 -287.50 122.50 62.50 0.00698854 -287.50 122.50 67.50 0.00618048 -287.50 122.50 72.50 0.00740194 -287.50 122.50 77.50 0.00922364 -287.50 122.50 82.50 0.0242278 -287.50 122.50 87.50 0.0489187 -287.50 122.50 92.50 0.120114 -287.50 122.50 97.50 0.185298 -287.50 122.50 102.50 0.29178 -287.50 122.50 107.50 0.394771 -287.50 122.50 112.50 0.409848 -287.50 122.50 117.50 0.29297 -287.50 122.50 122.50 0.199509 -287.50 122.50 127.50 0.125212 -287.50 122.50 132.50 0.0686553 -287.50 122.50 137.50 0.0416485 -287.50 122.50 142.50 0.0210899 -287.50 122.50 147.50 0.0113602 -287.50 122.50 152.50 0.00698853 -287.50 122.50 157.50 0.00618049 -287.50 122.50 162.50 0.00740195 -287.50 122.50 167.50 0.00922366 -287.50 122.50 172.50 0.0242278 -287.50 122.50 177.50 0.0489187 -287.50 122.50 182.50 0.120114 -287.50 122.50 187.50 0.185298 -287.50 122.50 192.50 0.29178 -287.50 122.50 197.50 0.394771 -287.50 122.50 202.50 0.409849 -287.50 122.50 207.50 0.29297 -287.50 122.50 212.50 0.199509 -287.50 122.50 217.50 0.125212 -287.50 122.50 222.50 0.0686554 -287.50 122.50 227.50 0.0416485 -287.50 122.50 232.50 0.0210899 -287.50 122.50 237.50 0.0113602 -287.50 122.50 242.50 0.00698854 -287.50 122.50 247.50 0.00618048 -287.50 122.50 252.50 0.00740195 -287.50 122.50 257.50 0.00922365 -287.50 122.50 262.50 0.0242279 -287.50 122.50 267.50 0.0489188 -287.50 122.50 272.50 0.120114 -287.50 122.50 277.50 0.185298 -287.50 122.50 282.50 0.29178 -287.50 122.50 287.50 0.394771 -287.50 122.50 292.50 0.409848 -287.50 122.50 297.50 0.29297 -287.50 122.50 302.50 0.199509 -287.50 122.50 307.50 0.125212 -287.50 122.50 312.50 0.0686553 -287.50 122.50 317.50 0.0416485 -287.50 122.50 322.50 0.0210899 -287.50 122.50 327.50 0.0113602 -287.50 122.50 332.50 0.00698853 -287.50 122.50 337.50 0.00618049 -287.50 122.50 342.50 0.00740193 -287.50 122.50 347.50 0.00922365 -287.50 122.50 352.50 0.0242278 -287.50 122.50 357.50 0.0489186 -287.50 127.50 2.50 0.080885 -287.50 127.50 7.50 0.115287 -287.50 127.50 12.50 0.132956 -287.50 127.50 17.50 0.15546 -287.50 127.50 22.50 0.14558 -287.50 127.50 27.50 0.0962979 -287.50 127.50 32.50 0.0510866 -287.50 127.50 37.50 0.0285112 -287.50 127.50 42.50 0.0254596 -287.50 127.50 47.50 0.0384457 -287.50 127.50 52.50 0.0418998 -287.50 127.50 57.50 0.0523203 -287.50 127.50 62.50 0.0554883 -287.50 127.50 67.50 0.0359703 -287.50 127.50 72.50 0.0202785 -287.50 127.50 77.50 0.010879 -287.50 127.50 82.50 0.0135287 -287.50 127.50 87.50 0.0303794 -287.50 127.50 92.50 0.080885 -287.50 127.50 97.50 0.115287 -287.50 127.50 102.50 0.132956 -287.50 127.50 107.50 0.15546 -287.50 127.50 112.50 0.145581 -287.50 127.50 117.50 0.0962979 -287.50 127.50 122.50 0.0510866 -287.50 127.50 127.50 0.0285112 -287.50 127.50 132.50 0.0254596 -287.50 127.50 137.50 0.0384457 -287.50 127.50 142.50 0.0418998 -287.50 127.50 147.50 0.0523203 -287.50 127.50 152.50 0.0554883 -287.50 127.50 157.50 0.0359703 -287.50 127.50 162.50 0.0202785 -287.50 127.50 167.50 0.010879 -287.50 127.50 172.50 0.0135287 -287.50 127.50 177.50 0.0303794 -287.50 127.50 182.50 0.0808851 -287.50 127.50 187.50 0.115288 -287.50 127.50 192.50 0.132956 -287.50 127.50 197.50 0.15546 -287.50 127.50 202.50 0.145581 -287.50 127.50 207.50 0.0962981 -287.50 127.50 212.50 0.0510866 -287.50 127.50 217.50 0.0285112 -287.50 127.50 222.50 0.0254596 -287.50 127.50 227.50 0.0384456 -287.50 127.50 232.50 0.0418998 -287.50 127.50 237.50 0.0523202 -287.50 127.50 242.50 0.0554883 -287.50 127.50 247.50 0.0359703 -287.50 127.50 252.50 0.0202785 -287.50 127.50 257.50 0.010879 -287.50 127.50 262.50 0.0135287 -287.50 127.50 267.50 0.0303794 -287.50 127.50 272.50 0.080885 -287.50 127.50 277.50 0.115288 -287.50 127.50 282.50 0.132956 -287.50 127.50 287.50 0.15546 -287.50 127.50 292.50 0.145581 -287.50 127.50 297.50 0.096298 -287.50 127.50 302.50 0.0510867 -287.50 127.50 307.50 0.0285112 -287.50 127.50 312.50 0.0254596 -287.50 127.50 317.50 0.0384457 -287.50 127.50 322.50 0.0418998 -287.50 127.50 327.50 0.0523203 -287.50 127.50 332.50 0.0554884 -287.50 127.50 337.50 0.0359703 -287.50 127.50 342.50 0.0202785 -287.50 127.50 347.50 0.010879 -287.50 127.50 352.50 0.0135286 -287.50 127.50 357.50 0.0303793 -287.50 132.50 2.50 0.0382171 -287.50 132.50 7.50 0.0575414 -287.50 132.50 12.50 0.0512642 -287.50 132.50 17.50 0.0417048 -287.50 132.50 22.50 0.0366957 -287.50 132.50 27.50 0.0292198 -287.50 132.50 32.50 0.0298578 -287.50 132.50 37.50 0.0542918 -287.50 132.50 42.50 0.107731 -287.50 132.50 47.50 0.186435 -287.50 132.50 52.50 0.248773 -287.50 132.50 57.50 0.320091 -287.50 132.50 62.50 0.29171 -287.50 132.50 67.50 0.177265 -287.50 132.50 72.50 0.086809 -287.50 132.50 77.50 0.0424701 -287.50 132.50 82.50 0.0240119 -287.50 132.50 87.50 0.0179044 -287.50 132.50 92.50 0.0382172 -287.50 132.50 97.50 0.0575414 -287.50 132.50 102.50 0.0512642 -287.50 132.50 107.50 0.0417048 -287.50 132.50 112.50 0.0366957 -287.50 132.50 117.50 0.0292199 -287.50 132.50 122.50 0.0298577 -287.50 132.50 127.50 0.0542918 -287.50 132.50 132.50 0.107731 -287.50 132.50 137.50 0.186435 -287.50 132.50 142.50 0.248773 -287.50 132.50 147.50 0.320091 -287.50 132.50 152.50 0.29171 -287.50 132.50 157.50 0.177265 -287.50 132.50 162.50 0.086809 -287.50 132.50 167.50 0.0424702 -287.50 132.50 172.50 0.024012 -287.50 132.50 177.50 0.0179044 -287.50 132.50 182.50 0.0382172 -287.50 132.50 187.50 0.0575414 -287.50 132.50 192.50 0.0512642 -287.50 132.50 197.50 0.0417049 -287.50 132.50 202.50 0.0366957 -287.50 132.50 207.50 0.0292198 -287.50 132.50 212.50 0.0298577 -287.50 132.50 217.50 0.0542918 -287.50 132.50 222.50 0.10773 -287.50 132.50 227.50 0.186435 -287.50 132.50 232.50 0.248773 -287.50 132.50 237.50 0.320091 -287.50 132.50 242.50 0.29171 -287.50 132.50 247.50 0.177265 -287.50 132.50 252.50 0.0868089 -287.50 132.50 257.50 0.0424701 -287.50 132.50 262.50 0.024012 -287.50 132.50 267.50 0.0179044 -287.50 132.50 272.50 0.0382172 -287.50 132.50 277.50 0.0575414 -287.50 132.50 282.50 0.0512642 -287.50 132.50 287.50 0.0417048 -287.50 132.50 292.50 0.0366957 -287.50 132.50 297.50 0.0292199 -287.50 132.50 302.50 0.0298577 -287.50 132.50 307.50 0.0542918 -287.50 132.50 312.50 0.107731 -287.50 132.50 317.50 0.186435 -287.50 132.50 322.50 0.248773 -287.50 132.50 327.50 0.320091 -287.50 132.50 332.50 0.29171 -287.50 132.50 337.50 0.177266 -287.50 132.50 342.50 0.0868092 -287.50 132.50 347.50 0.0424702 -287.50 132.50 352.50 0.024012 -287.50 132.50 357.50 0.0179044 -287.50 137.50 2.50 0.0202141 -287.50 137.50 7.50 0.0278132 -287.50 137.50 12.50 0.023494 -287.50 137.50 17.50 0.0162197 -287.50 137.50 22.50 0.0207145 -287.50 137.50 27.50 0.0442034 -287.50 137.50 32.50 0.0933623 -287.50 137.50 37.50 0.231455 -287.50 137.50 42.50 0.434233 -287.50 137.50 47.50 0.784648 -287.50 137.50 52.50 0.983075 -287.50 137.50 57.50 1.09789 -287.50 137.50 62.50 0.88061 -287.50 137.50 67.50 0.531259 -287.50 137.50 72.50 0.261567 -287.50 137.50 77.50 0.146182 -287.50 137.50 82.50 0.0715267 -287.50 137.50 87.50 0.025361 -287.50 137.50 92.50 0.0202141 -287.50 137.50 97.50 0.0278132 -287.50 137.50 102.50 0.023494 -287.50 137.50 107.50 0.0162197 -287.50 137.50 112.50 0.0207145 -287.50 137.50 117.50 0.0442034 -287.50 137.50 122.50 0.0933623 -287.50 137.50 127.50 0.231455 -287.50 137.50 132.50 0.434233 -287.50 137.50 137.50 0.784647 -287.50 137.50 142.50 0.983075 -287.50 137.50 147.50 1.09789 -287.50 137.50 152.50 0.880611 -287.50 137.50 157.50 0.53126 -287.50 137.50 162.50 0.261568 -287.50 137.50 167.50 0.146182 -287.50 137.50 172.50 0.0715268 -287.50 137.50 177.50 0.025361 -287.50 137.50 182.50 0.0202141 -287.50 137.50 187.50 0.0278132 -287.50 137.50 192.50 0.023494 -287.50 137.50 197.50 0.0162197 -287.50 137.50 202.50 0.0207145 -287.50 137.50 207.50 0.0442034 -287.50 137.50 212.50 0.0933622 -287.50 137.50 217.50 0.231455 -287.50 137.50 222.50 0.434232 -287.50 137.50 227.50 0.784647 -287.50 137.50 232.50 0.983075 -287.50 137.50 237.50 1.09789 -287.50 137.50 242.50 0.88061 -287.50 137.50 247.50 0.531259 -287.50 137.50 252.50 0.261567 -287.50 137.50 257.50 0.146182 -287.50 137.50 262.50 0.0715266 -287.50 137.50 267.50 0.025361 -287.50 137.50 272.50 0.0202141 -287.50 137.50 277.50 0.0278132 -287.50 137.50 282.50 0.023494 -287.50 137.50 287.50 0.0162197 -287.50 137.50 292.50 0.0207145 -287.50 137.50 297.50 0.0442034 -287.50 137.50 302.50 0.0933622 -287.50 137.50 307.50 0.231455 -287.50 137.50 312.50 0.434232 -287.50 137.50 317.50 0.784646 -287.50 137.50 322.50 0.983075 -287.50 137.50 327.50 1.09789 -287.50 137.50 332.50 0.880611 -287.50 137.50 337.50 0.53126 -287.50 137.50 342.50 0.261568 -287.50 137.50 347.50 0.146183 -287.50 137.50 352.50 0.0715269 -287.50 137.50 357.50 0.0253611 -287.50 142.50 2.50 0.0382171 -287.50 142.50 7.50 0.0398608 -287.50 142.50 12.50 0.0344762 -287.50 142.50 17.50 0.035394 -287.50 142.50 22.50 0.0639957 -287.50 142.50 27.50 0.13795 -287.50 142.50 32.50 0.293625 -287.50 142.50 37.50 0.621456 -287.50 142.50 42.50 1.25778 -287.50 142.50 47.50 2.00341 -287.50 142.50 52.50 2.48996 -287.50 142.50 57.50 2.46393 -287.50 142.50 62.50 1.92429 -287.50 142.50 67.50 1.15799 -287.50 142.50 72.50 0.623571 -287.50 142.50 77.50 0.35167 -287.50 142.50 82.50 0.171239 -287.50 142.50 87.50 0.0661282 -287.50 142.50 92.50 0.0382171 -287.50 142.50 97.50 0.0398608 -287.50 142.50 102.50 0.0344762 -287.50 142.50 107.50 0.035394 -287.50 142.50 112.50 0.0639957 -287.50 142.50 117.50 0.13795 -287.50 142.50 122.50 0.293625 -287.50 142.50 127.50 0.621456 -287.50 142.50 132.50 1.25778 -287.50 142.50 137.50 2.00341 -287.50 142.50 142.50 2.48996 -287.50 142.50 147.50 2.46393 -287.50 142.50 152.50 1.92429 -287.50 142.50 157.50 1.15799 -287.50 142.50 162.50 0.623572 -287.50 142.50 167.50 0.351671 -287.50 142.50 172.50 0.171239 -287.50 142.50 177.50 0.0661283 -287.50 142.50 182.50 0.0382171 -287.50 142.50 187.50 0.0398608 -287.50 142.50 192.50 0.0344762 -287.50 142.50 197.50 0.035394 -287.50 142.50 202.50 0.0639956 -287.50 142.50 207.50 0.137949 -287.50 142.50 212.50 0.293625 -287.50 142.50 217.50 0.621455 -287.50 142.50 222.50 1.25778 -287.50 142.50 227.50 2.00341 -287.50 142.50 232.50 2.48996 -287.50 142.50 237.50 2.46393 -287.50 142.50 242.50 1.92429 -287.50 142.50 247.50 1.15799 -287.50 142.50 252.50 0.623571 -287.50 142.50 257.50 0.35167 -287.50 142.50 262.50 0.171239 -287.50 142.50 267.50 0.0661282 -287.50 142.50 272.50 0.0382171 -287.50 142.50 277.50 0.0398608 -287.50 142.50 282.50 0.0344762 -287.50 142.50 287.50 0.035394 -287.50 142.50 292.50 0.0639957 -287.50 142.50 297.50 0.137949 -287.50 142.50 302.50 0.293625 -287.50 142.50 307.50 0.621455 -287.50 142.50 312.50 1.25778 -287.50 142.50 317.50 2.00341 -287.50 142.50 322.50 2.48996 -287.50 142.50 327.50 2.46393 -287.50 142.50 332.50 1.92429 -287.50 142.50 337.50 1.15799 -287.50 142.50 342.50 0.623573 -287.50 142.50 347.50 0.351671 -287.50 142.50 352.50 0.17124 -287.50 142.50 357.50 0.0661284 -287.50 147.50 2.50 0.080885 -287.50 147.50 7.50 0.0834133 -287.50 147.50 12.50 0.0865846 -287.50 147.50 17.50 0.111016 -287.50 147.50 22.50 0.18127 -287.50 147.50 27.50 0.318723 -287.50 147.50 32.50 0.59648 -287.50 147.50 37.50 1.1898 -287.50 147.50 42.50 2.22831 -287.50 147.50 47.50 3.37367 -287.50 147.50 52.50 4.07565 -287.50 147.50 57.50 3.98926 -287.50 147.50 62.50 3.10365 -287.50 147.50 67.50 1.9463 -287.50 147.50 72.50 1.08813 -287.50 147.50 77.50 0.605833 -287.50 147.50 82.50 0.298984 -287.50 147.50 87.50 0.128762 -287.50 147.50 92.50 0.0808849 -287.50 147.50 97.50 0.0834134 -287.50 147.50 102.50 0.0865845 -287.50 147.50 107.50 0.111016 -287.50 147.50 112.50 0.18127 -287.50 147.50 117.50 0.318723 -287.50 147.50 122.50 0.596481 -287.50 147.50 127.50 1.1898 -287.50 147.50 132.50 2.22831 -287.50 147.50 137.50 3.37367 -287.50 147.50 142.50 4.07565 -287.50 147.50 147.50 3.98926 -287.50 147.50 152.50 3.10365 -287.50 147.50 157.50 1.9463 -287.50 147.50 162.50 1.08814 -287.50 147.50 167.50 0.605833 -287.50 147.50 172.50 0.298984 -287.50 147.50 177.50 0.128762 -287.50 147.50 182.50 0.080885 -287.50 147.50 187.50 0.0834134 -287.50 147.50 192.50 0.0865845 -287.50 147.50 197.50 0.111016 -287.50 147.50 202.50 0.18127 -287.50 147.50 207.50 0.318722 -287.50 147.50 212.50 0.59648 -287.50 147.50 217.50 1.1898 -287.50 147.50 222.50 2.22831 -287.50 147.50 227.50 3.37367 -287.50 147.50 232.50 4.07565 -287.50 147.50 237.50 3.98926 -287.50 147.50 242.50 3.10365 -287.50 147.50 247.50 1.94629 -287.50 147.50 252.50 1.08813 -287.50 147.50 257.50 0.605833 -287.50 147.50 262.50 0.298984 -287.50 147.50 267.50 0.128762 -287.50 147.50 272.50 0.080885 -287.50 147.50 277.50 0.0834134 -287.50 147.50 282.50 0.0865846 -287.50 147.50 287.50 0.111016 -287.50 147.50 292.50 0.18127 -287.50 147.50 297.50 0.318722 -287.50 147.50 302.50 0.59648 -287.50 147.50 307.50 1.1898 -287.50 147.50 312.50 2.22831 -287.50 147.50 317.50 3.37367 -287.50 147.50 322.50 4.07565 -287.50 147.50 327.50 3.98926 -287.50 147.50 332.50 3.10365 -287.50 147.50 337.50 1.9463 -287.50 147.50 342.50 1.08814 -287.50 147.50 347.50 0.605834 -287.50 147.50 352.50 0.298984 -287.50 147.50 357.50 0.128762 -287.50 152.50 2.50 0.120114 -287.50 152.50 7.50 0.139043 -287.50 152.50 12.50 0.188216 -287.50 152.50 17.50 0.274827 -287.50 152.50 22.50 0.392575 -287.50 152.50 27.50 0.544436 -287.50 152.50 32.50 0.877346 -287.50 152.50 37.50 1.5877 -287.50 152.50 42.50 2.76555 -287.50 152.50 47.50 4.10746 -287.50 152.50 52.50 4.88608 -287.50 152.50 57.50 4.68617 -287.50 152.50 62.50 3.66089 -287.50 152.50 67.50 2.39178 -287.50 152.50 72.50 1.36108 -287.50 152.50 77.50 0.736701 -287.50 152.50 82.50 0.370235 -287.50 152.50 87.50 0.165638 -287.50 152.50 92.50 0.120114 -287.50 152.50 97.50 0.139043 -287.50 152.50 102.50 0.188216 -287.50 152.50 107.50 0.274827 -287.50 152.50 112.50 0.392575 -287.50 152.50 117.50 0.544436 -287.50 152.50 122.50 0.877347 -287.50 152.50 127.50 1.58771 -287.50 152.50 132.50 2.76555 -287.50 152.50 137.50 4.10746 -287.50 152.50 142.50 4.88608 -287.50 152.50 147.50 4.68617 -287.50 152.50 152.50 3.66089 -287.50 152.50 157.50 2.39178 -287.50 152.50 162.50 1.36108 -287.50 152.50 167.50 0.736702 -287.50 152.50 172.50 0.370235 -287.50 152.50 177.50 0.165638 -287.50 152.50 182.50 0.120114 -287.50 152.50 187.50 0.139043 -287.50 152.50 192.50 0.188216 -287.50 152.50 197.50 0.274827 -287.50 152.50 202.50 0.392575 -287.50 152.50 207.50 0.544435 -287.50 152.50 212.50 0.877346 -287.50 152.50 217.50 1.5877 -287.50 152.50 222.50 2.76555 -287.50 152.50 227.50 4.10746 -287.50 152.50 232.50 4.88608 -287.50 152.50 237.50 4.68617 -287.50 152.50 242.50 3.66089 -287.50 152.50 247.50 2.39178 -287.50 152.50 252.50 1.36108 -287.50 152.50 257.50 0.736701 -287.50 152.50 262.50 0.370235 -287.50 152.50 267.50 0.165638 -287.50 152.50 272.50 0.120114 -287.50 152.50 277.50 0.139043 -287.50 152.50 282.50 0.188216 -287.50 152.50 287.50 0.274827 -287.50 152.50 292.50 0.392575 -287.50 152.50 297.50 0.544435 -287.50 152.50 302.50 0.877346 -287.50 152.50 307.50 1.5877 -287.50 152.50 312.50 2.76555 -287.50 152.50 317.50 4.10746 -287.50 152.50 322.50 4.88608 -287.50 152.50 327.50 4.68617 -287.50 152.50 332.50 3.66089 -287.50 152.50 337.50 2.39178 -287.50 152.50 342.50 1.36108 -287.50 152.50 347.50 0.736703 -287.50 152.50 352.50 0.370236 -287.50 152.50 357.50 0.165638 -287.50 157.50 2.50 0.151509 -287.50 157.50 7.50 0.213904 -287.50 157.50 12.50 0.342609 -287.50 157.50 17.50 0.520585 -287.50 157.50 22.50 0.657065 -287.50 157.50 27.50 0.756146 -287.50 157.50 32.50 0.994932 -287.50 157.50 37.50 1.57 -287.50 157.50 42.50 2.543 -287.50 157.50 47.50 3.69947 -287.50 157.50 52.50 4.26268 -287.50 157.50 57.50 4.03102 -287.50 157.50 62.50 3.18725 -287.50 157.50 67.50 2.11978 -287.50 157.50 72.50 1.23538 -287.50 157.50 77.50 0.660137 -287.50 157.50 82.50 0.338627 -287.50 157.50 87.50 0.163149 -287.50 157.50 92.50 0.151509 -287.50 157.50 97.50 0.213904 -287.50 157.50 102.50 0.342609 -287.50 157.50 107.50 0.520585 -287.50 157.50 112.50 0.657065 -287.50 157.50 117.50 0.756146 -287.50 157.50 122.50 0.994933 -287.50 157.50 127.50 1.57 -287.50 157.50 132.50 2.543 -287.50 157.50 137.50 3.69947 -287.50 157.50 142.50 4.26268 -287.50 157.50 147.50 4.03102 -287.50 157.50 152.50 3.18726 -287.50 157.50 157.50 2.11979 -287.50 157.50 162.50 1.23538 -287.50 157.50 167.50 0.660137 -287.50 157.50 172.50 0.338627 -287.50 157.50 177.50 0.163149 -287.50 157.50 182.50 0.151509 -287.50 157.50 187.50 0.213904 -287.50 157.50 192.50 0.342609 -287.50 157.50 197.50 0.520585 -287.50 157.50 202.50 0.657065 -287.50 157.50 207.50 0.756146 -287.50 157.50 212.50 0.994933 -287.50 157.50 217.50 1.56999 -287.50 157.50 222.50 2.543 -287.50 157.50 227.50 3.69947 -287.50 157.50 232.50 4.26268 -287.50 157.50 237.50 4.03102 -287.50 157.50 242.50 3.18725 -287.50 157.50 247.50 2.11978 -287.50 157.50 252.50 1.23538 -287.50 157.50 257.50 0.660136 -287.50 157.50 262.50 0.338627 -287.50 157.50 267.50 0.163149 -287.50 157.50 272.50 0.151509 -287.50 157.50 277.50 0.213904 -287.50 157.50 282.50 0.342609 -287.50 157.50 287.50 0.520585 -287.50 157.50 292.50 0.657065 -287.50 157.50 297.50 0.756146 -287.50 157.50 302.50 0.994932 -287.50 157.50 307.50 1.56999 -287.50 157.50 312.50 2.543 -287.50 157.50 317.50 3.69947 -287.50 157.50 322.50 4.26268 -287.50 157.50 327.50 4.03102 -287.50 157.50 332.50 3.18726 -287.50 157.50 337.50 2.11979 -287.50 157.50 342.50 1.23538 -287.50 157.50 347.50 0.660137 -287.50 157.50 352.50 0.338628 -287.50 157.50 357.50 0.163149 -287.50 162.50 2.50 0.200246 -287.50 162.50 7.50 0.322734 -287.50 162.50 12.50 0.51311 -287.50 162.50 17.50 0.741939 -287.50 162.50 22.50 0.8701 -287.50 162.50 27.50 0.84462 -287.50 162.50 32.50 0.915796 -287.50 162.50 37.50 1.21643 -287.50 162.50 42.50 1.76351 -287.50 162.50 47.50 2.43961 -287.50 162.50 52.50 2.83112 -287.50 162.50 57.50 2.63506 -287.50 162.50 62.50 2.08212 -287.50 162.50 67.50 1.45356 -287.50 162.50 72.50 0.900621 -287.50 162.50 77.50 0.529187 -287.50 162.50 82.50 0.271564 -287.50 162.50 87.50 0.162877 -287.50 162.50 92.50 0.200246 -287.50 162.50 97.50 0.322734 -287.50 162.50 102.50 0.513111 -287.50 162.50 107.50 0.741939 -287.50 162.50 112.50 0.8701 -287.50 162.50 117.50 0.84462 -287.50 162.50 122.50 0.915796 -287.50 162.50 127.50 1.21643 -287.50 162.50 132.50 1.76351 -287.50 162.50 137.50 2.43961 -287.50 162.50 142.50 2.83112 -287.50 162.50 147.50 2.63506 -287.50 162.50 152.50 2.08212 -287.50 162.50 157.50 1.45356 -287.50 162.50 162.50 0.900622 -287.50 162.50 167.50 0.529187 -287.50 162.50 172.50 0.271564 -287.50 162.50 177.50 0.162877 -287.50 162.50 182.50 0.200246 -287.50 162.50 187.50 0.322734 -287.50 162.50 192.50 0.51311 -287.50 162.50 197.50 0.741939 -287.50 162.50 202.50 0.8701 -287.50 162.50 207.50 0.84462 -287.50 162.50 212.50 0.915796 -287.50 162.50 217.50 1.21643 -287.50 162.50 222.50 1.76351 -287.50 162.50 227.50 2.43961 -287.50 162.50 232.50 2.83112 -287.50 162.50 237.50 2.63506 -287.50 162.50 242.50 2.08212 -287.50 162.50 247.50 1.45356 -287.50 162.50 252.50 0.900621 -287.50 162.50 257.50 0.529186 -287.50 162.50 262.50 0.271563 -287.50 162.50 267.50 0.162877 -287.50 162.50 272.50 0.200246 -287.50 162.50 277.50 0.322734 -287.50 162.50 282.50 0.51311 -287.50 162.50 287.50 0.741939 -287.50 162.50 292.50 0.8701 -287.50 162.50 297.50 0.844619 -287.50 162.50 302.50 0.915795 -287.50 162.50 307.50 1.21643 -287.50 162.50 312.50 1.76351 -287.50 162.50 317.50 2.43961 -287.50 162.50 322.50 2.83112 -287.50 162.50 327.50 2.63506 -287.50 162.50 332.50 2.08212 -287.50 162.50 337.50 1.45356 -287.50 162.50 342.50 0.900622 -287.50 162.50 347.50 0.529188 -287.50 162.50 352.50 0.271564 -287.50 162.50 357.50 0.162877 -287.50 167.50 2.50 0.244704 -287.50 167.50 7.50 0.41502 -287.50 167.50 12.50 0.628789 -287.50 167.50 17.50 0.848716 -287.50 167.50 22.50 0.904768 -287.50 167.50 27.50 0.757981 -287.50 167.50 32.50 0.614572 -287.50 167.50 37.50 0.733605 -287.50 167.50 42.50 1.01527 -287.50 167.50 47.50 1.30328 -287.50 167.50 52.50 1.43216 -287.50 167.50 57.50 1.33038 -287.50 167.50 62.50 1.09907 -287.50 167.50 67.50 0.875551 -287.50 167.50 72.50 0.645138 -287.50 167.50 77.50 0.403468 -287.50 167.50 82.50 0.211335 -287.50 167.50 87.50 0.170695 -287.50 167.50 92.50 0.244704 -287.50 167.50 97.50 0.41502 -287.50 167.50 102.50 0.628789 -287.50 167.50 107.50 0.848716 -287.50 167.50 112.50 0.904768 -287.50 167.50 117.50 0.757981 -287.50 167.50 122.50 0.614572 -287.50 167.50 127.50 0.733605 -287.50 167.50 132.50 1.01527 -287.50 167.50 137.50 1.30328 -287.50 167.50 142.50 1.43216 -287.50 167.50 147.50 1.33038 -287.50 167.50 152.50 1.09907 -287.50 167.50 157.50 0.875551 -287.50 167.50 162.50 0.645139 -287.50 167.50 167.50 0.403469 -287.50 167.50 172.50 0.211335 -287.50 167.50 177.50 0.170695 -287.50 167.50 182.50 0.244704 -287.50 167.50 187.50 0.41502 -287.50 167.50 192.50 0.628789 -287.50 167.50 197.50 0.848716 -287.50 167.50 202.50 0.904768 -287.50 167.50 207.50 0.757982 -287.50 167.50 212.50 0.614572 -287.50 167.50 217.50 0.733603 -287.50 167.50 222.50 1.01527 -287.50 167.50 227.50 1.30328 -287.50 167.50 232.50 1.43216 -287.50 167.50 237.50 1.33038 -287.50 167.50 242.50 1.09907 -287.50 167.50 247.50 0.875551 -287.50 167.50 252.50 0.645138 -287.50 167.50 257.50 0.403468 -287.50 167.50 262.50 0.211335 -287.50 167.50 267.50 0.170695 -287.50 167.50 272.50 0.244704 -287.50 167.50 277.50 0.41502 -287.50 167.50 282.50 0.628789 -287.50 167.50 287.50 0.848716 -287.50 167.50 292.50 0.904768 -287.50 167.50 297.50 0.757981 -287.50 167.50 302.50 0.614572 -287.50 167.50 307.50 0.733603 -287.50 167.50 312.50 1.01527 -287.50 167.50 317.50 1.30328 -287.50 167.50 322.50 1.43216 -287.50 167.50 327.50 1.33038 -287.50 167.50 332.50 1.09907 -287.50 167.50 337.50 0.875551 -287.50 167.50 342.50 0.645139 -287.50 167.50 347.50 0.403469 -287.50 167.50 352.50 0.211335 -287.50 167.50 357.50 0.170695 -287.50 172.50 2.50 0.230709 -287.50 172.50 7.50 0.427284 -287.50 172.50 12.50 0.681812 -287.50 172.50 17.50 0.838584 -287.50 172.50 22.50 0.794106 -287.50 172.50 27.50 0.567896 -287.50 172.50 32.50 0.371627 -287.50 172.50 37.50 0.335434 -287.50 172.50 42.50 0.430597 -287.50 172.50 47.50 0.543761 -287.50 172.50 52.50 0.597213 -287.50 172.50 57.50 0.574047 -287.50 172.50 62.50 0.512493 -287.50 172.50 67.50 0.457379 -287.50 172.50 72.50 0.370092 -287.50 172.50 77.50 0.242567 -287.50 172.50 82.50 0.159494 -287.50 172.50 87.50 0.145288 -287.50 172.50 92.50 0.230709 -287.50 172.50 97.50 0.427284 -287.50 172.50 102.50 0.681812 -287.50 172.50 107.50 0.838584 -287.50 172.50 112.50 0.794106 -287.50 172.50 117.50 0.567896 -287.50 172.50 122.50 0.371627 -287.50 172.50 127.50 0.335434 -287.50 172.50 132.50 0.430597 -287.50 172.50 137.50 0.543762 -287.50 172.50 142.50 0.597213 -287.50 172.50 147.50 0.574047 -287.50 172.50 152.50 0.512493 -287.50 172.50 157.50 0.457379 -287.50 172.50 162.50 0.370093 -287.50 172.50 167.50 0.242567 -287.50 172.50 172.50 0.159494 -287.50 172.50 177.50 0.145288 -287.50 172.50 182.50 0.230709 -287.50 172.50 187.50 0.427285 -287.50 172.50 192.50 0.681812 -287.50 172.50 197.50 0.838584 -287.50 172.50 202.50 0.794106 -287.50 172.50 207.50 0.567897 -287.50 172.50 212.50 0.371627 -287.50 172.50 217.50 0.335433 -287.50 172.50 222.50 0.430596 -287.50 172.50 227.50 0.543762 -287.50 172.50 232.50 0.597213 -287.50 172.50 237.50 0.574048 -287.50 172.50 242.50 0.512493 -287.50 172.50 247.50 0.457379 -287.50 172.50 252.50 0.370092 -287.50 172.50 257.50 0.242567 -287.50 172.50 262.50 0.159494 -287.50 172.50 267.50 0.145289 -287.50 172.50 272.50 0.230709 -287.50 172.50 277.50 0.427284 -287.50 172.50 282.50 0.681812 -287.50 172.50 287.50 0.838584 -287.50 172.50 292.50 0.794106 -287.50 172.50 297.50 0.567897 -287.50 172.50 302.50 0.371627 -287.50 172.50 307.50 0.335433 -287.50 172.50 312.50 0.430596 -287.50 172.50 317.50 0.543761 -287.50 172.50 322.50 0.597213 -287.50 172.50 327.50 0.574048 -287.50 172.50 332.50 0.512493 -287.50 172.50 337.50 0.457379 -287.50 172.50 342.50 0.370093 -287.50 172.50 347.50 0.242567 -287.50 172.50 352.50 0.159494 -287.50 172.50 357.50 0.145288 -287.50 177.50 2.50 0.172972 -287.50 177.50 7.50 0.381828 -287.50 177.50 12.50 0.678346 -287.50 177.50 17.50 0.837588 -287.50 177.50 22.50 0.691078 -287.50 177.50 27.50 0.393842 -287.50 177.50 32.50 0.180691 -287.50 177.50 37.50 0.112652 -287.50 177.50 42.50 0.126409 -287.50 177.50 47.50 0.164881 -287.50 177.50 52.50 0.189423 -287.50 177.50 57.50 0.187044 -287.50 177.50 62.50 0.174826 -287.50 177.50 67.50 0.174066 -287.50 177.50 72.50 0.156691 -287.50 177.50 77.50 0.118386 -287.50 177.50 82.50 0.085531 -287.50 177.50 87.50 0.0902108 -287.50 177.50 92.50 0.172972 -287.50 177.50 97.50 0.381828 -287.50 177.50 102.50 0.678346 -287.50 177.50 107.50 0.837588 -287.50 177.50 112.50 0.691078 -287.50 177.50 117.50 0.393842 -287.50 177.50 122.50 0.180691 -287.50 177.50 127.50 0.112652 -287.50 177.50 132.50 0.126409 -287.50 177.50 137.50 0.164881 -287.50 177.50 142.50 0.189423 -287.50 177.50 147.50 0.187044 -287.50 177.50 152.50 0.174826 -287.50 177.50 157.50 0.174066 -287.50 177.50 162.50 0.156691 -287.50 177.50 167.50 0.118386 -287.50 177.50 172.50 0.085531 -287.50 177.50 177.50 0.0902107 -287.50 177.50 182.50 0.172972 -287.50 177.50 187.50 0.381828 -287.50 177.50 192.50 0.678346 -287.50 177.50 197.50 0.837588 -287.50 177.50 202.50 0.691078 -287.50 177.50 207.50 0.393842 -287.50 177.50 212.50 0.180691 -287.50 177.50 217.50 0.112652 -287.50 177.50 222.50 0.126409 -287.50 177.50 227.50 0.164881 -287.50 177.50 232.50 0.189423 -287.50 177.50 237.50 0.187044 -287.50 177.50 242.50 0.174826 -287.50 177.50 247.50 0.174066 -287.50 177.50 252.50 0.156691 -287.50 177.50 257.50 0.118386 -287.50 177.50 262.50 0.0855309 -287.50 177.50 267.50 0.0902107 -287.50 177.50 272.50 0.172972 -287.50 177.50 277.50 0.381828 -287.50 177.50 282.50 0.678346 -287.50 177.50 287.50 0.837588 -287.50 177.50 292.50 0.691078 -287.50 177.50 297.50 0.393842 -287.50 177.50 302.50 0.180691 -287.50 177.50 307.50 0.112652 -287.50 177.50 312.50 0.126409 -287.50 177.50 317.50 0.164881 -287.50 177.50 322.50 0.189423 -287.50 177.50 327.50 0.187044 -287.50 177.50 332.50 0.174826 -287.50 177.50 337.50 0.174066 -287.50 177.50 342.50 0.156691 -287.50 177.50 347.50 0.118386 -287.50 177.50 352.50 0.085531 -287.50 177.50 357.50 0.0902107 -292.50 2.50 2.50 0.0624686 -292.50 2.50 7.50 0.0485219 -292.50 2.50 12.50 0.0601603 -292.50 2.50 17.50 0.0760385 -292.50 2.50 22.50 0.083846 -292.50 2.50 27.50 0.084539 -292.50 2.50 32.50 0.083846 -292.50 2.50 37.50 0.0760385 -292.50 2.50 42.50 0.0601603 -292.50 2.50 47.50 0.0485219 -292.50 2.50 52.50 0.0624686 -292.50 2.50 57.50 0.149977 -292.50 2.50 62.50 0.393273 -292.50 2.50 67.50 0.773179 -292.50 2.50 72.50 0.980506 -292.50 2.50 77.50 0.773179 -292.50 2.50 82.50 0.393272 -292.50 2.50 87.50 0.149977 -292.50 2.50 92.50 0.0624685 -292.50 2.50 97.50 0.0485219 -292.50 2.50 102.50 0.0601603 -292.50 2.50 107.50 0.0760385 -292.50 2.50 112.50 0.083846 -292.50 2.50 117.50 0.084539 -292.50 2.50 122.50 0.083846 -292.50 2.50 127.50 0.0760385 -292.50 2.50 132.50 0.0601603 -292.50 2.50 137.50 0.0485219 -292.50 2.50 142.50 0.0624685 -292.50 2.50 147.50 0.149977 -292.50 2.50 152.50 0.393272 -292.50 2.50 157.50 0.773178 -292.50 2.50 162.50 0.980476 -292.50 2.50 167.50 0.773179 -292.50 2.50 172.50 0.393273 -292.50 2.50 177.50 0.149977 -292.50 2.50 182.50 0.0624685 -292.50 2.50 187.50 0.048522 -292.50 2.50 192.50 0.0601603 -292.50 2.50 197.50 0.0760386 -292.50 2.50 202.50 0.083846 -292.50 2.50 207.50 0.084539 -292.50 2.50 212.50 0.083846 -292.50 2.50 217.50 0.0760385 -292.50 2.50 222.50 0.0601603 -292.50 2.50 227.50 0.0485219 -292.50 2.50 232.50 0.0624686 -292.50 2.50 237.50 0.149977 -292.50 2.50 242.50 0.393273 -292.50 2.50 247.50 0.773179 -292.50 2.50 252.50 0.980476 -292.50 2.50 257.50 0.773179 -292.50 2.50 262.50 0.393272 -292.50 2.50 267.50 0.149977 -292.50 2.50 272.50 0.0624685 -292.50 2.50 277.50 0.0485219 -292.50 2.50 282.50 0.0601603 -292.50 2.50 287.50 0.0760385 -292.50 2.50 292.50 0.083846 -292.50 2.50 297.50 0.084539 -292.50 2.50 302.50 0.083846 -292.50 2.50 307.50 0.0760385 -292.50 2.50 312.50 0.0601603 -292.50 2.50 317.50 0.048522 -292.50 2.50 322.50 0.0624685 -292.50 2.50 327.50 0.149977 -292.50 2.50 332.50 0.393272 -292.50 2.50 337.50 0.773177 -292.50 2.50 342.50 0.980476 -292.50 2.50 347.50 0.773179 -292.50 2.50 352.50 0.393273 -292.50 2.50 357.50 0.149977 -292.50 7.50 2.50 0.0872057 -292.50 7.50 7.50 0.0787342 -292.50 7.50 12.50 0.106856 -292.50 7.50 17.50 0.143646 -292.50 7.50 22.50 0.166878 -292.50 7.50 27.50 0.174319 -292.50 7.50 32.50 0.179112 -292.50 7.50 37.50 0.182585 -292.50 7.50 42.50 0.166387 -292.50 7.50 47.50 0.137564 -292.50 7.50 52.50 0.126127 -292.50 7.50 57.50 0.194407 -292.50 7.50 62.50 0.400162 -292.50 7.50 67.50 0.70618 -292.50 7.50 72.50 0.855308 -292.50 7.50 77.50 0.688836 -292.50 7.50 82.50 0.384509 -292.50 7.50 87.50 0.172288 -292.50 7.50 92.50 0.0872056 -292.50 7.50 97.50 0.0787342 -292.50 7.50 102.50 0.106856 -292.50 7.50 107.50 0.143646 -292.50 7.50 112.50 0.166878 -292.50 7.50 117.50 0.174319 -292.50 7.50 122.50 0.179112 -292.50 7.50 127.50 0.182585 -292.50 7.50 132.50 0.166386 -292.50 7.50 137.50 0.137564 -292.50 7.50 142.50 0.126127 -292.50 7.50 147.50 0.194407 -292.50 7.50 152.50 0.400161 -292.50 7.50 157.50 0.706179 -292.50 7.50 162.50 0.855308 -292.50 7.50 167.50 0.688836 -292.50 7.50 172.50 0.384509 -292.50 7.50 177.50 0.172288 -292.50 7.50 182.50 0.0872056 -292.50 7.50 187.50 0.0787342 -292.50 7.50 192.50 0.106856 -292.50 7.50 197.50 0.143646 -292.50 7.50 202.50 0.166879 -292.50 7.50 207.50 0.174319 -292.50 7.50 212.50 0.179111 -292.50 7.50 217.50 0.182585 -292.50 7.50 222.50 0.166387 -292.50 7.50 227.50 0.137564 -292.50 7.50 232.50 0.126127 -292.50 7.50 237.50 0.194407 -292.50 7.50 242.50 0.400162 -292.50 7.50 247.50 0.70618 -292.50 7.50 252.50 0.855307 -292.50 7.50 257.50 0.688836 -292.50 7.50 262.50 0.384508 -292.50 7.50 267.50 0.172288 -292.50 7.50 272.50 0.0872056 -292.50 7.50 277.50 0.0787342 -292.50 7.50 282.50 0.106856 -292.50 7.50 287.50 0.143646 -292.50 7.50 292.50 0.166878 -292.50 7.50 297.50 0.174319 -292.50 7.50 302.50 0.179111 -292.50 7.50 307.50 0.182585 -292.50 7.50 312.50 0.166387 -292.50 7.50 317.50 0.137564 -292.50 7.50 322.50 0.126127 -292.50 7.50 327.50 0.194406 -292.50 7.50 332.50 0.400161 -292.50 7.50 337.50 0.706178 -292.50 7.50 342.50 0.855308 -292.50 7.50 347.50 0.688837 -292.50 7.50 352.50 0.384509 -292.50 7.50 357.50 0.172289 -292.50 12.50 2.50 0.134121 -292.50 12.50 7.50 0.135945 -292.50 12.50 12.50 0.201029 -292.50 12.50 17.50 0.294737 -292.50 12.50 22.50 0.401511 -292.50 12.50 27.50 0.478811 -292.50 12.50 32.50 0.549479 -292.50 12.50 37.50 0.589233 -292.50 12.50 42.50 0.555932 -292.50 12.50 47.50 0.471098 -292.50 12.50 52.50 0.385849 -292.50 12.50 57.50 0.416365 -292.50 12.50 62.50 0.62605 -292.50 12.50 67.50 0.87844 -292.50 12.50 72.50 0.92701 -292.50 12.50 77.50 0.708774 -292.50 12.50 82.50 0.431976 -292.50 12.50 87.50 0.227328 -292.50 12.50 92.50 0.134121 -292.50 12.50 97.50 0.135945 -292.50 12.50 102.50 0.201029 -292.50 12.50 107.50 0.294737 -292.50 12.50 112.50 0.401511 -292.50 12.50 117.50 0.478811 -292.50 12.50 122.50 0.549479 -292.50 12.50 127.50 0.589233 -292.50 12.50 132.50 0.555932 -292.50 12.50 137.50 0.471098 -292.50 12.50 142.50 0.385849 -292.50 12.50 147.50 0.416365 -292.50 12.50 152.50 0.626049 -292.50 12.50 157.50 0.87844 -292.50 12.50 162.50 0.92701 -292.50 12.50 167.50 0.708774 -292.50 12.50 172.50 0.431976 -292.50 12.50 177.50 0.227328 -292.50 12.50 182.50 0.134121 -292.50 12.50 187.50 0.135945 -292.50 12.50 192.50 0.201029 -292.50 12.50 197.50 0.294737 -292.50 12.50 202.50 0.401511 -292.50 12.50 207.50 0.478812 -292.50 12.50 212.50 0.549478 -292.50 12.50 217.50 0.589233 -292.50 12.50 222.50 0.555933 -292.50 12.50 227.50 0.471098 -292.50 12.50 232.50 0.385849 -292.50 12.50 237.50 0.416365 -292.50 12.50 242.50 0.62605 -292.50 12.50 247.50 0.87844 -292.50 12.50 252.50 0.92701 -292.50 12.50 257.50 0.708773 -292.50 12.50 262.50 0.431975 -292.50 12.50 267.50 0.227328 -292.50 12.50 272.50 0.134121 -292.50 12.50 277.50 0.135945 -292.50 12.50 282.50 0.201029 -292.50 12.50 287.50 0.294737 -292.50 12.50 292.50 0.401511 -292.50 12.50 297.50 0.478811 -292.50 12.50 302.50 0.549479 -292.50 12.50 307.50 0.589234 -292.50 12.50 312.50 0.555932 -292.50 12.50 317.50 0.471098 -292.50 12.50 322.50 0.385849 -292.50 12.50 327.50 0.416365 -292.50 12.50 332.50 0.626049 -292.50 12.50 337.50 0.878439 -292.50 12.50 342.50 0.92701 -292.50 12.50 347.50 0.708774 -292.50 12.50 352.50 0.431976 -292.50 12.50 357.50 0.227329 -292.50 17.50 2.50 0.148779 -292.50 17.50 7.50 0.163633 -292.50 17.50 12.50 0.2684 -292.50 17.50 17.50 0.499375 -292.50 17.50 22.50 0.759031 -292.50 17.50 27.50 1.02204 -292.50 17.50 32.50 1.27537 -292.50 17.50 37.50 1.41539 -292.50 17.50 42.50 1.37822 -292.50 17.50 47.50 1.16717 -292.50 17.50 52.50 0.902796 -292.50 17.50 57.50 0.774984 -292.50 17.50 62.50 0.875162 -292.50 17.50 67.50 1.04021 -292.50 17.50 72.50 0.972016 -292.50 17.50 77.50 0.702543 -292.50 17.50 82.50 0.419806 -292.50 17.50 87.50 0.235527 -292.50 17.50 92.50 0.148779 -292.50 17.50 97.50 0.163633 -292.50 17.50 102.50 0.2684 -292.50 17.50 107.50 0.499375 -292.50 17.50 112.50 0.759031 -292.50 17.50 117.50 1.02204 -292.50 17.50 122.50 1.27537 -292.50 17.50 127.50 1.41539 -292.50 17.50 132.50 1.37822 -292.50 17.50 137.50 1.16717 -292.50 17.50 142.50 0.902795 -292.50 17.50 147.50 0.774984 -292.50 17.50 152.50 0.875162 -292.50 17.50 157.50 1.04021 -292.50 17.50 162.50 0.972016 -292.50 17.50 167.50 0.702544 -292.50 17.50 172.50 0.419807 -292.50 17.50 177.50 0.235527 -292.50 17.50 182.50 0.148779 -292.50 17.50 187.50 0.163633 -292.50 17.50 192.50 0.2684 -292.50 17.50 197.50 0.499375 -292.50 17.50 202.50 0.759032 -292.50 17.50 207.50 1.02204 -292.50 17.50 212.50 1.27537 -292.50 17.50 217.50 1.41539 -292.50 17.50 222.50 1.37822 -292.50 17.50 227.50 1.16717 -292.50 17.50 232.50 0.902795 -292.50 17.50 237.50 0.774984 -292.50 17.50 242.50 0.875162 -292.50 17.50 247.50 1.04021 -292.50 17.50 252.50 0.972015 -292.50 17.50 257.50 0.702543 -292.50 17.50 262.50 0.419806 -292.50 17.50 267.50 0.235527 -292.50 17.50 272.50 0.148779 -292.50 17.50 277.50 0.163633 -292.50 17.50 282.50 0.2684 -292.50 17.50 287.50 0.499376 -292.50 17.50 292.50 0.759031 -292.50 17.50 297.50 1.02204 -292.50 17.50 302.50 1.27537 -292.50 17.50 307.50 1.41539 -292.50 17.50 312.50 1.37822 -292.50 17.50 317.50 1.16717 -292.50 17.50 322.50 0.902795 -292.50 17.50 327.50 0.774984 -292.50 17.50 332.50 0.875161 -292.50 17.50 337.50 1.04021 -292.50 17.50 342.50 0.972016 -292.50 17.50 347.50 0.702544 -292.50 17.50 352.50 0.419807 -292.50 17.50 357.50 0.235527 -292.50 22.50 2.50 0.129042 -292.50 22.50 7.50 0.169802 -292.50 22.50 12.50 0.353566 -292.50 22.50 17.50 0.70176 -292.50 22.50 22.50 1.19702 -292.50 22.50 27.50 1.8723 -292.50 22.50 32.50 2.5111 -292.50 22.50 37.50 2.87762 -292.50 22.50 42.50 2.74521 -292.50 22.50 47.50 2.14441 -292.50 22.50 52.50 1.51677 -292.50 22.50 57.50 1.15056 -292.50 22.50 62.50 1.05452 -292.50 22.50 67.50 1.03817 -292.50 22.50 72.50 0.877147 -292.50 22.50 77.50 0.578688 -292.50 22.50 82.50 0.330343 -292.50 22.50 87.50 0.180575 -292.50 22.50 92.50 0.129042 -292.50 22.50 97.50 0.169802 -292.50 22.50 102.50 0.353566 -292.50 22.50 107.50 0.70176 -292.50 22.50 112.50 1.19702 -292.50 22.50 117.50 1.8723 -292.50 22.50 122.50 2.5111 -292.50 22.50 127.50 2.87762 -292.50 22.50 132.50 2.74521 -292.50 22.50 137.50 2.14441 -292.50 22.50 142.50 1.51677 -292.50 22.50 147.50 1.15056 -292.50 22.50 152.50 1.05452 -292.50 22.50 157.50 1.03817 -292.50 22.50 162.50 0.877147 -292.50 22.50 167.50 0.578689 -292.50 22.50 172.50 0.330343 -292.50 22.50 177.50 0.180575 -292.50 22.50 182.50 0.129042 -292.50 22.50 187.50 0.169802 -292.50 22.50 192.50 0.353566 -292.50 22.50 197.50 0.70176 -292.50 22.50 202.50 1.19702 -292.50 22.50 207.50 1.8723 -292.50 22.50 212.50 2.5111 -292.50 22.50 217.50 2.87762 -292.50 22.50 222.50 2.74521 -292.50 22.50 227.50 2.14441 -292.50 22.50 232.50 1.51676 -292.50 22.50 237.50 1.15056 -292.50 22.50 242.50 1.05452 -292.50 22.50 247.50 1.03817 -292.50 22.50 252.50 0.877146 -292.50 22.50 257.50 0.578688 -292.50 22.50 262.50 0.330343 -292.50 22.50 267.50 0.180575 -292.50 22.50 272.50 0.129042 -292.50 22.50 277.50 0.169802 -292.50 22.50 282.50 0.353566 -292.50 22.50 287.50 0.701761 -292.50 22.50 292.50 1.19702 -292.50 22.50 297.50 1.8723 -292.50 22.50 302.50 2.5111 -292.50 22.50 307.50 2.87762 -292.50 22.50 312.50 2.74521 -292.50 22.50 317.50 2.14441 -292.50 22.50 322.50 1.51677 -292.50 22.50 327.50 1.15056 -292.50 22.50 332.50 1.05452 -292.50 22.50 337.50 1.03817 -292.50 22.50 342.50 0.877147 -292.50 22.50 347.50 0.578689 -292.50 22.50 352.50 0.330343 -292.50 22.50 357.50 0.180575 -292.50 27.50 2.50 0.114009 -292.50 27.50 7.50 0.199353 -292.50 27.50 12.50 0.46717 -292.50 27.50 17.50 0.924206 -292.50 27.50 22.50 1.7273 -292.50 27.50 27.50 2.88921 -292.50 27.50 32.50 4.01069 -292.50 27.50 37.50 4.44844 -292.50 27.50 42.50 4.10407 -292.50 27.50 47.50 3.12498 -292.50 27.50 52.50 2.02416 -292.50 27.50 57.50 1.30349 -292.50 27.50 62.50 0.979365 -292.50 27.50 67.50 0.830492 -292.50 27.50 72.50 0.621241 -292.50 27.50 77.50 0.380762 -292.50 27.50 82.50 0.209396 -292.50 27.50 87.50 0.11844 -292.50 27.50 92.50 0.114009 -292.50 27.50 97.50 0.199352 -292.50 27.50 102.50 0.46717 -292.50 27.50 107.50 0.924205 -292.50 27.50 112.50 1.7273 -292.50 27.50 117.50 2.88921 -292.50 27.50 122.50 4.01069 -292.50 27.50 127.50 4.44844 -292.50 27.50 132.50 4.10407 -292.50 27.50 137.50 3.12497 -292.50 27.50 142.50 2.02416 -292.50 27.50 147.50 1.30349 -292.50 27.50 152.50 0.979365 -292.50 27.50 157.50 0.830492 -292.50 27.50 162.50 0.621241 -292.50 27.50 167.50 0.380762 -292.50 27.50 172.50 0.209396 -292.50 27.50 177.50 0.11844 -292.50 27.50 182.50 0.114009 -292.50 27.50 187.50 0.199353 -292.50 27.50 192.50 0.46717 -292.50 27.50 197.50 0.924206 -292.50 27.50 202.50 1.7273 -292.50 27.50 207.50 2.88921 -292.50 27.50 212.50 4.01068 -292.50 27.50 217.50 4.44844 -292.50 27.50 222.50 4.10408 -292.50 27.50 227.50 3.12498 -292.50 27.50 232.50 2.02415 -292.50 27.50 237.50 1.30349 -292.50 27.50 242.50 0.979364 -292.50 27.50 247.50 0.830491 -292.50 27.50 252.50 0.62124 -292.50 27.50 257.50 0.380762 -292.50 27.50 262.50 0.209395 -292.50 27.50 267.50 0.11844 -292.50 27.50 272.50 0.114009 -292.50 27.50 277.50 0.199352 -292.50 27.50 282.50 0.467169 -292.50 27.50 287.50 0.924206 -292.50 27.50 292.50 1.7273 -292.50 27.50 297.50 2.88921 -292.50 27.50 302.50 4.01068 -292.50 27.50 307.50 4.44844 -292.50 27.50 312.50 4.10408 -292.50 27.50 317.50 3.12498 -292.50 27.50 322.50 2.02416 -292.50 27.50 327.50 1.30349 -292.50 27.50 332.50 0.979366 -292.50 27.50 337.50 0.830492 -292.50 27.50 342.50 0.621241 -292.50 27.50 347.50 0.380762 -292.50 27.50 352.50 0.209396 -292.50 27.50 357.50 0.11844 -292.50 32.50 2.50 0.102728 -292.50 32.50 7.50 0.222408 -292.50 32.50 12.50 0.528282 -292.50 32.50 17.50 1.02982 -292.50 32.50 22.50 1.9346 -292.50 32.50 27.50 3.3845 -292.50 32.50 32.50 4.65189 -292.50 32.50 37.50 5.20994 -292.50 32.50 42.50 4.72298 -292.50 32.50 47.50 3.42852 -292.50 32.50 52.50 2.04157 -292.50 32.50 57.50 1.15908 -292.50 32.50 62.50 0.733517 -292.50 32.50 67.50 0.522997 -292.50 32.50 72.50 0.338363 -292.50 32.50 77.50 0.19226 -292.50 32.50 82.50 0.117217 -292.50 32.50 87.50 0.0796682 -292.50 32.50 92.50 0.102728 -292.50 32.50 97.50 0.222408 -292.50 32.50 102.50 0.528282 -292.50 32.50 107.50 1.02982 -292.50 32.50 112.50 1.9346 -292.50 32.50 117.50 3.3845 -292.50 32.50 122.50 4.65189 -292.50 32.50 127.50 5.20994 -292.50 32.50 132.50 4.72297 -292.50 32.50 137.50 3.42852 -292.50 32.50 142.50 2.04157 -292.50 32.50 147.50 1.15908 -292.50 32.50 152.50 0.733517 -292.50 32.50 157.50 0.522997 -292.50 32.50 162.50 0.338363 -292.50 32.50 167.50 0.19226 -292.50 32.50 172.50 0.117217 -292.50 32.50 177.50 0.0796682 -292.50 32.50 182.50 0.102728 -292.50 32.50 187.50 0.222409 -292.50 32.50 192.50 0.528283 -292.50 32.50 197.50 1.02982 -292.50 32.50 202.50 1.9346 -292.50 32.50 207.50 3.3845 -292.50 32.50 212.50 4.65189 -292.50 32.50 217.50 5.20994 -292.50 32.50 222.50 4.72297 -292.50 32.50 227.50 3.42852 -292.50 32.50 232.50 2.04156 -292.50 32.50 237.50 1.15908 -292.50 32.50 242.50 0.733517 -292.50 32.50 247.50 0.522996 -292.50 32.50 252.50 0.338362 -292.50 32.50 257.50 0.192259 -292.50 32.50 262.50 0.117217 -292.50 32.50 267.50 0.0796682 -292.50 32.50 272.50 0.102728 -292.50 32.50 277.50 0.222408 -292.50 32.50 282.50 0.528282 -292.50 32.50 287.50 1.02982 -292.50 32.50 292.50 1.9346 -292.50 32.50 297.50 3.38449 -292.50 32.50 302.50 4.65189 -292.50 32.50 307.50 5.20994 -292.50 32.50 312.50 4.72298 -292.50 32.50 317.50 3.42852 -292.50 32.50 322.50 2.04157 -292.50 32.50 327.50 1.15908 -292.50 32.50 332.50 0.733518 -292.50 32.50 337.50 0.522997 -292.50 32.50 342.50 0.338363 -292.50 32.50 347.50 0.19226 -292.50 32.50 352.50 0.117217 -292.50 32.50 357.50 0.0796681 -292.50 37.50 2.50 0.0713706 -292.50 37.50 7.50 0.177886 -292.50 37.50 12.50 0.428475 -292.50 37.50 17.50 0.828673 -292.50 37.50 22.50 1.59221 -292.50 37.50 27.50 2.84538 -292.50 37.50 32.50 4.07671 -292.50 37.50 37.50 4.56821 -292.50 37.50 42.50 4.03678 -292.50 37.50 47.50 2.82789 -292.50 37.50 52.50 1.56298 -292.50 37.50 57.50 0.776166 -292.50 37.50 62.50 0.436574 -292.50 37.50 67.50 0.262051 -292.50 37.50 72.50 0.137846 -292.50 37.50 77.50 0.0752979 -292.50 37.50 82.50 0.0577004 -292.50 37.50 87.50 0.0481647 -292.50 37.50 92.50 0.0713706 -292.50 37.50 97.50 0.177886 -292.50 37.50 102.50 0.428475 -292.50 37.50 107.50 0.828673 -292.50 37.50 112.50 1.59221 -292.50 37.50 117.50 2.84538 -292.50 37.50 122.50 4.07671 -292.50 37.50 127.50 4.56821 -292.50 37.50 132.50 4.03678 -292.50 37.50 137.50 2.82789 -292.50 37.50 142.50 1.56298 -292.50 37.50 147.50 0.776166 -292.50 37.50 152.50 0.436574 -292.50 37.50 157.50 0.262052 -292.50 37.50 162.50 0.137846 -292.50 37.50 167.50 0.0752979 -292.50 37.50 172.50 0.0577004 -292.50 37.50 177.50 0.0481647 -292.50 37.50 182.50 0.0713707 -292.50 37.50 187.50 0.177886 -292.50 37.50 192.50 0.428475 -292.50 37.50 197.50 0.828673 -292.50 37.50 202.50 1.59221 -292.50 37.50 207.50 2.84538 -292.50 37.50 212.50 4.07671 -292.50 37.50 217.50 4.56821 -292.50 37.50 222.50 4.03678 -292.50 37.50 227.50 2.82789 -292.50 37.50 232.50 1.56297 -292.50 37.50 237.50 0.776164 -292.50 37.50 242.50 0.436574 -292.50 37.50 247.50 0.262051 -292.50 37.50 252.50 0.137846 -292.50 37.50 257.50 0.0752978 -292.50 37.50 262.50 0.0577004 -292.50 37.50 267.50 0.0481648 -292.50 37.50 272.50 0.0713706 -292.50 37.50 277.50 0.177886 -292.50 37.50 282.50 0.428475 -292.50 37.50 287.50 0.828672 -292.50 37.50 292.50 1.59221 -292.50 37.50 297.50 2.84538 -292.50 37.50 302.50 4.07671 -292.50 37.50 307.50 4.56821 -292.50 37.50 312.50 4.03678 -292.50 37.50 317.50 2.82789 -292.50 37.50 322.50 1.56298 -292.50 37.50 327.50 0.776166 -292.50 37.50 332.50 0.436574 -292.50 37.50 337.50 0.262052 -292.50 37.50 342.50 0.137846 -292.50 37.50 347.50 0.075298 -292.50 37.50 352.50 0.0577004 -292.50 37.50 357.50 0.0481647 -292.50 42.50 2.50 0.0345643 -292.50 42.50 7.50 0.0948683 -292.50 42.50 12.50 0.24113 -292.50 42.50 17.50 0.472255 -292.50 42.50 22.50 0.938532 -292.50 42.50 27.50 1.79232 -292.50 42.50 32.50 2.68864 -292.50 42.50 37.50 2.96787 -292.50 42.50 42.50 2.55221 -292.50 42.50 47.50 1.67451 -292.50 42.50 52.50 0.849688 -292.50 42.50 57.50 0.377634 -292.50 42.50 62.50 0.191638 -292.50 42.50 67.50 0.100083 -292.50 42.50 72.50 0.0446952 -292.50 42.50 77.50 0.0254292 -292.50 42.50 82.50 0.0256804 -292.50 42.50 87.50 0.0229548 -292.50 42.50 92.50 0.0345643 -292.50 42.50 97.50 0.0948684 -292.50 42.50 102.50 0.241131 -292.50 42.50 107.50 0.472255 -292.50 42.50 112.50 0.938532 -292.50 42.50 117.50 1.79232 -292.50 42.50 122.50 2.68864 -292.50 42.50 127.50 2.96787 -292.50 42.50 132.50 2.55221 -292.50 42.50 137.50 1.67451 -292.50 42.50 142.50 0.849688 -292.50 42.50 147.50 0.377634 -292.50 42.50 152.50 0.191638 -292.50 42.50 157.50 0.100083 -292.50 42.50 162.50 0.0446952 -292.50 42.50 167.50 0.0254292 -292.50 42.50 172.50 0.0256804 -292.50 42.50 177.50 0.0229548 -292.50 42.50 182.50 0.0345643 -292.50 42.50 187.50 0.0948684 -292.50 42.50 192.50 0.241131 -292.50 42.50 197.50 0.472255 -292.50 42.50 202.50 0.938533 -292.50 42.50 207.50 1.79232 -292.50 42.50 212.50 2.68864 -292.50 42.50 217.50 2.96787 -292.50 42.50 222.50 2.55221 -292.50 42.50 227.50 1.67451 -292.50 42.50 232.50 0.849687 -292.50 42.50 237.50 0.377633 -292.50 42.50 242.50 0.191638 -292.50 42.50 247.50 0.100083 -292.50 42.50 252.50 0.044695 -292.50 42.50 257.50 0.0254292 -292.50 42.50 262.50 0.0256804 -292.50 42.50 267.50 0.0229548 -292.50 42.50 272.50 0.0345643 -292.50 42.50 277.50 0.0948683 -292.50 42.50 282.50 0.241131 -292.50 42.50 287.50 0.472255 -292.50 42.50 292.50 0.938532 -292.50 42.50 297.50 1.79232 -292.50 42.50 302.50 2.68864 -292.50 42.50 307.50 2.96787 -292.50 42.50 312.50 2.55221 -292.50 42.50 317.50 1.67451 -292.50 42.50 322.50 0.849691 -292.50 42.50 327.50 0.377634 -292.50 42.50 332.50 0.191639 -292.50 42.50 337.50 0.100083 -292.50 42.50 342.50 0.0446952 -292.50 42.50 347.50 0.0254292 -292.50 42.50 352.50 0.0256804 -292.50 42.50 357.50 0.0229548 -292.50 47.50 2.50 0.0195997 -292.50 47.50 7.50 0.0394375 -292.50 47.50 12.50 0.101401 -292.50 47.50 17.50 0.196214 -292.50 47.50 22.50 0.419285 -292.50 47.50 27.50 0.885198 -292.50 47.50 32.50 1.29353 -292.50 47.50 37.50 1.34303 -292.50 47.50 42.50 1.02135 -292.50 47.50 47.50 0.669526 -292.50 47.50 52.50 0.296556 -292.50 47.50 57.50 0.139446 -292.50 47.50 62.50 0.0567505 -292.50 47.50 67.50 0.0314306 -292.50 47.50 72.50 0.0200299 -292.50 47.50 77.50 0.0244227 -292.50 47.50 82.50 0.0301616 -292.50 47.50 87.50 0.0236699 -292.50 47.50 92.50 0.0195997 -292.50 47.50 97.50 0.0394376 -292.50 47.50 102.50 0.101402 -292.50 47.50 107.50 0.196214 -292.50 47.50 112.50 0.419284 -292.50 47.50 117.50 0.885198 -292.50 47.50 122.50 1.29353 -292.50 47.50 127.50 1.34304 -292.50 47.50 132.50 1.02135 -292.50 47.50 137.50 0.669526 -292.50 47.50 142.50 0.296556 -292.50 47.50 147.50 0.139446 -292.50 47.50 152.50 0.0567505 -292.50 47.50 157.50 0.0314306 -292.50 47.50 162.50 0.0200299 -292.50 47.50 167.50 0.0244227 -292.50 47.50 172.50 0.0301616 -292.50 47.50 177.50 0.0236699 -292.50 47.50 182.50 0.0195997 -292.50 47.50 187.50 0.0394376 -292.50 47.50 192.50 0.101402 -292.50 47.50 197.50 0.196214 -292.50 47.50 202.50 0.419285 -292.50 47.50 207.50 0.885197 -292.50 47.50 212.50 1.29353 -292.50 47.50 217.50 1.34304 -292.50 47.50 222.50 1.02135 -292.50 47.50 227.50 0.669526 -292.50 47.50 232.50 0.296556 -292.50 47.50 237.50 0.139446 -292.50 47.50 242.50 0.0567505 -292.50 47.50 247.50 0.0314306 -292.50 47.50 252.50 0.0200299 -292.50 47.50 257.50 0.0244227 -292.50 47.50 262.50 0.0301616 -292.50 47.50 267.50 0.0236699 -292.50 47.50 272.50 0.0195997 -292.50 47.50 277.50 0.0394376 -292.50 47.50 282.50 0.101401 -292.50 47.50 287.50 0.196214 -292.50 47.50 292.50 0.419284 -292.50 47.50 297.50 0.885197 -292.50 47.50 302.50 1.29353 -292.50 47.50 307.50 1.34304 -292.50 47.50 312.50 1.02135 -292.50 47.50 317.50 0.669526 -292.50 47.50 322.50 0.296557 -292.50 47.50 327.50 0.139446 -292.50 47.50 332.50 0.0567506 -292.50 47.50 337.50 0.0314306 -292.50 47.50 342.50 0.0200299 -292.50 47.50 347.50 0.0244227 -292.50 47.50 352.50 0.0301616 -292.50 47.50 357.50 0.0236699 -292.50 52.50 2.50 0.0345643 -292.50 52.50 7.50 0.0219592 -292.50 52.50 12.50 0.0338908 -292.50 52.50 17.50 0.0618641 -292.50 52.50 22.50 0.163165 -292.50 52.50 27.50 0.318524 -292.50 52.50 32.50 0.432883 -292.50 52.50 37.50 0.395714 -292.50 52.50 42.50 0.274639 -292.50 52.50 47.50 0.16975 -292.50 52.50 52.50 0.0811809 -292.50 52.50 57.50 0.0357743 -292.50 52.50 62.50 0.027975 -292.50 52.50 67.50 0.0404361 -292.50 52.50 72.50 0.0565859 -292.50 52.50 77.50 0.0725121 -292.50 52.50 82.50 0.0811078 -292.50 52.50 87.50 0.0653339 -292.50 52.50 92.50 0.0345643 -292.50 52.50 97.50 0.0219592 -292.50 52.50 102.50 0.0338908 -292.50 52.50 107.50 0.0618642 -292.50 52.50 112.50 0.163165 -292.50 52.50 117.50 0.318524 -292.50 52.50 122.50 0.432883 -292.50 52.50 127.50 0.395714 -292.50 52.50 132.50 0.274639 -292.50 52.50 137.50 0.16975 -292.50 52.50 142.50 0.0811809 -292.50 52.50 147.50 0.0357744 -292.50 52.50 152.50 0.027975 -292.50 52.50 157.50 0.040436 -292.50 52.50 162.50 0.0565859 -292.50 52.50 167.50 0.072512 -292.50 52.50 172.50 0.0811077 -292.50 52.50 177.50 0.0653339 -292.50 52.50 182.50 0.0345643 -292.50 52.50 187.50 0.0219592 -292.50 52.50 192.50 0.0338908 -292.50 52.50 197.50 0.0618642 -292.50 52.50 202.50 0.163165 -292.50 52.50 207.50 0.318524 -292.50 52.50 212.50 0.432883 -292.50 52.50 217.50 0.395714 -292.50 52.50 222.50 0.274639 -292.50 52.50 227.50 0.16975 -292.50 52.50 232.50 0.0811806 -292.50 52.50 237.50 0.0357743 -292.50 52.50 242.50 0.027975 -292.50 52.50 247.50 0.0404361 -292.50 52.50 252.50 0.0565859 -292.50 52.50 257.50 0.0725121 -292.50 52.50 262.50 0.0811078 -292.50 52.50 267.50 0.0653338 -292.50 52.50 272.50 0.0345643 -292.50 52.50 277.50 0.0219592 -292.50 52.50 282.50 0.0338908 -292.50 52.50 287.50 0.0618642 -292.50 52.50 292.50 0.163165 -292.50 52.50 297.50 0.318524 -292.50 52.50 302.50 0.432882 -292.50 52.50 307.50 0.395714 -292.50 52.50 312.50 0.274639 -292.50 52.50 317.50 0.16975 -292.50 52.50 322.50 0.0811809 -292.50 52.50 327.50 0.0357744 -292.50 52.50 332.50 0.027975 -292.50 52.50 337.50 0.040436 -292.50 52.50 342.50 0.0565859 -292.50 52.50 347.50 0.0725121 -292.50 52.50 352.50 0.0811078 -292.50 52.50 357.50 0.0653339 -292.50 57.50 2.50 0.0713706 -292.50 57.50 7.50 0.0242699 -292.50 57.50 12.50 0.0120017 -292.50 57.50 17.50 0.022784 -292.50 57.50 22.50 0.0469154 -292.50 57.50 27.50 0.0714023 -292.50 57.50 32.50 0.0887259 -292.50 57.50 37.50 0.0792813 -292.50 57.50 42.50 0.0601425 -292.50 57.50 47.50 0.047718 -292.50 57.50 52.50 0.034129 -292.50 57.50 57.50 0.0458996 -292.50 57.50 62.50 0.0892549 -292.50 57.50 67.50 0.152117 -292.50 57.50 72.50 0.214172 -292.50 57.50 77.50 0.222721 -292.50 57.50 82.50 0.188219 -292.50 57.50 87.50 0.140073 -292.50 57.50 92.50 0.0713706 -292.50 57.50 97.50 0.0242699 -292.50 57.50 102.50 0.0120017 -292.50 57.50 107.50 0.022784 -292.50 57.50 112.50 0.0469154 -292.50 57.50 117.50 0.0714024 -292.50 57.50 122.50 0.0887259 -292.50 57.50 127.50 0.0792813 -292.50 57.50 132.50 0.0601425 -292.50 57.50 137.50 0.047718 -292.50 57.50 142.50 0.034129 -292.50 57.50 147.50 0.0458996 -292.50 57.50 152.50 0.0892547 -292.50 57.50 157.50 0.152117 -292.50 57.50 162.50 0.214172 -292.50 57.50 167.50 0.222721 -292.50 57.50 172.50 0.188219 -292.50 57.50 177.50 0.140073 -292.50 57.50 182.50 0.0713705 -292.50 57.50 187.50 0.0242699 -292.50 57.50 192.50 0.0120017 -292.50 57.50 197.50 0.022784 -292.50 57.50 202.50 0.0469155 -292.50 57.50 207.50 0.0714023 -292.50 57.50 212.50 0.0887259 -292.50 57.50 217.50 0.0792813 -292.50 57.50 222.50 0.0601425 -292.50 57.50 227.50 0.0477181 -292.50 57.50 232.50 0.034129 -292.50 57.50 237.50 0.0458996 -292.50 57.50 242.50 0.0892549 -292.50 57.50 247.50 0.152117 -292.50 57.50 252.50 0.214172 -292.50 57.50 257.50 0.222721 -292.50 57.50 262.50 0.188219 -292.50 57.50 267.50 0.140073 -292.50 57.50 272.50 0.0713706 -292.50 57.50 277.50 0.0242699 -292.50 57.50 282.50 0.0120017 -292.50 57.50 287.50 0.022784 -292.50 57.50 292.50 0.0469154 -292.50 57.50 297.50 0.0714023 -292.50 57.50 302.50 0.0887258 -292.50 57.50 307.50 0.0792813 -292.50 57.50 312.50 0.0601425 -292.50 57.50 317.50 0.047718 -292.50 57.50 322.50 0.034129 -292.50 57.50 327.50 0.0458996 -292.50 57.50 332.50 0.0892547 -292.50 57.50 337.50 0.152117 -292.50 57.50 342.50 0.214172 -292.50 57.50 347.50 0.222721 -292.50 57.50 352.50 0.188219 -292.50 57.50 357.50 0.140073 -292.50 62.50 2.50 0.102728 -292.50 62.50 7.50 0.0314926 -292.50 62.50 12.50 0.0115097 -292.50 62.50 17.50 0.00822497 -292.50 62.50 22.50 0.0102271 -292.50 62.50 27.50 0.0121879 -292.50 62.50 32.50 0.0153424 -292.50 62.50 37.50 0.0244175 -292.50 62.50 42.50 0.0388129 -292.50 62.50 47.50 0.0695905 -292.50 62.50 52.50 0.124174 -292.50 62.50 57.50 0.221577 -292.50 62.50 62.50 0.326203 -292.50 62.50 67.50 0.449164 -292.50 62.50 72.50 0.562697 -292.50 62.50 77.50 0.516927 -292.50 62.50 82.50 0.353436 -292.50 62.50 87.50 0.213676 -292.50 62.50 92.50 0.102728 -292.50 62.50 97.50 0.0314926 -292.50 62.50 102.50 0.0115096 -292.50 62.50 107.50 0.00822496 -292.50 62.50 112.50 0.0102271 -292.50 62.50 117.50 0.0121879 -292.50 62.50 122.50 0.0153424 -292.50 62.50 127.50 0.0244175 -292.50 62.50 132.50 0.0388129 -292.50 62.50 137.50 0.0695904 -292.50 62.50 142.50 0.124174 -292.50 62.50 147.50 0.221577 -292.50 62.50 152.50 0.326203 -292.50 62.50 157.50 0.449164 -292.50 62.50 162.50 0.562697 -292.50 62.50 167.50 0.516927 -292.50 62.50 172.50 0.353436 -292.50 62.50 177.50 0.213676 -292.50 62.50 182.50 0.102728 -292.50 62.50 187.50 0.0314926 -292.50 62.50 192.50 0.0115097 -292.50 62.50 197.50 0.00822497 -292.50 62.50 202.50 0.0102271 -292.50 62.50 207.50 0.0121879 -292.50 62.50 212.50 0.0153424 -292.50 62.50 217.50 0.0244175 -292.50 62.50 222.50 0.0388129 -292.50 62.50 227.50 0.0695904 -292.50 62.50 232.50 0.124174 -292.50 62.50 237.50 0.221577 -292.50 62.50 242.50 0.326203 -292.50 62.50 247.50 0.449164 -292.50 62.50 252.50 0.562697 -292.50 62.50 257.50 0.516927 -292.50 62.50 262.50 0.353436 -292.50 62.50 267.50 0.213676 -292.50 62.50 272.50 0.102728 -292.50 62.50 277.50 0.0314926 -292.50 62.50 282.50 0.0115097 -292.50 62.50 287.50 0.00822496 -292.50 62.50 292.50 0.0102271 -292.50 62.50 297.50 0.0121879 -292.50 62.50 302.50 0.0153424 -292.50 62.50 307.50 0.0244175 -292.50 62.50 312.50 0.0388129 -292.50 62.50 317.50 0.0695904 -292.50 62.50 322.50 0.124174 -292.50 62.50 327.50 0.221576 -292.50 62.50 332.50 0.326203 -292.50 62.50 337.50 0.449164 -292.50 62.50 342.50 0.562697 -292.50 62.50 347.50 0.516927 -292.50 62.50 352.50 0.353436 -292.50 62.50 357.50 0.213676 -292.50 67.50 2.50 0.114009 -292.50 67.50 7.50 0.0458691 -292.50 67.50 12.50 0.0195529 -292.50 67.50 17.50 0.00927383 -292.50 67.50 22.50 0.00704931 -292.50 67.50 27.50 0.00773661 -292.50 67.50 32.50 0.011279 -292.50 67.50 37.50 0.0361209 -292.50 67.50 42.50 0.105781 -292.50 67.50 47.50 0.25155 -292.50 67.50 52.50 0.461554 -292.50 67.50 57.50 0.693072 -292.50 67.50 62.50 0.945088 -292.50 67.50 67.50 1.10873 -292.50 67.50 72.50 1.14987 -292.50 67.50 77.50 0.940721 -292.50 67.50 82.50 0.57164 -292.50 67.50 87.50 0.265949 -292.50 67.50 92.50 0.114009 -292.50 67.50 97.50 0.045869 -292.50 67.50 102.50 0.0195529 -292.50 67.50 107.50 0.00927381 -292.50 67.50 112.50 0.0070493 -292.50 67.50 117.50 0.00773661 -292.50 67.50 122.50 0.011279 -292.50 67.50 127.50 0.0361209 -292.50 67.50 132.50 0.105781 -292.50 67.50 137.50 0.25155 -292.50 67.50 142.50 0.461553 -292.50 67.50 147.50 0.693072 -292.50 67.50 152.50 0.945086 -292.50 67.50 157.50 1.10873 -292.50 67.50 162.50 1.14987 -292.50 67.50 167.50 0.940722 -292.50 67.50 172.50 0.571641 -292.50 67.50 177.50 0.26595 -292.50 67.50 182.50 0.114009 -292.50 67.50 187.50 0.0458691 -292.50 67.50 192.50 0.0195529 -292.50 67.50 197.50 0.00927381 -292.50 67.50 202.50 0.00704931 -292.50 67.50 207.50 0.00773662 -292.50 67.50 212.50 0.011279 -292.50 67.50 217.50 0.0361208 -292.50 67.50 222.50 0.105781 -292.50 67.50 227.50 0.25155 -292.50 67.50 232.50 0.461554 -292.50 67.50 237.50 0.693072 -292.50 67.50 242.50 0.945087 -292.50 67.50 247.50 1.10873 -292.50 67.50 252.50 1.14987 -292.50 67.50 257.50 0.940721 -292.50 67.50 262.50 0.57164 -292.50 67.50 267.50 0.265949 -292.50 67.50 272.50 0.114009 -292.50 67.50 277.50 0.0458691 -292.50 67.50 282.50 0.0195529 -292.50 67.50 287.50 0.00927384 -292.50 67.50 292.50 0.00704932 -292.50 67.50 297.50 0.00773662 -292.50 67.50 302.50 0.011279 -292.50 67.50 307.50 0.0361209 -292.50 67.50 312.50 0.105781 -292.50 67.50 317.50 0.25155 -292.50 67.50 322.50 0.461554 -292.50 67.50 327.50 0.693071 -292.50 67.50 332.50 0.945087 -292.50 67.50 337.50 1.10873 -292.50 67.50 342.50 1.14987 -292.50 67.50 347.50 0.940722 -292.50 67.50 352.50 0.571642 -292.50 67.50 357.50 0.26595 -292.50 72.50 2.50 0.129042 -292.50 72.50 7.50 0.0863505 -292.50 72.50 12.50 0.0407479 -292.50 72.50 17.50 0.0299198 -292.50 72.50 22.50 0.0313554 -292.50 72.50 27.50 0.0259966 -292.50 72.50 32.50 0.0466108 -292.50 72.50 37.50 0.127537 -292.50 72.50 42.50 0.325269 -292.50 72.50 47.50 0.656931 -292.50 72.50 52.50 1.13461 -292.50 72.50 57.50 1.54712 -292.50 72.50 62.50 1.89622 -292.50 72.50 67.50 2.15918 -292.50 72.50 72.50 1.97596 -292.50 72.50 77.50 1.45062 -292.50 72.50 82.50 0.769451 -292.50 72.50 87.50 0.322875 -292.50 72.50 92.50 0.129042 -292.50 72.50 97.50 0.0863504 -292.50 72.50 102.50 0.0407479 -292.50 72.50 107.50 0.0299198 -292.50 72.50 112.50 0.0313554 -292.50 72.50 117.50 0.0259966 -292.50 72.50 122.50 0.0466108 -292.50 72.50 127.50 0.127537 -292.50 72.50 132.50 0.325269 -292.50 72.50 137.50 0.656931 -292.50 72.50 142.50 1.13461 -292.50 72.50 147.50 1.54712 -292.50 72.50 152.50 1.89622 -292.50 72.50 157.50 2.15918 -292.50 72.50 162.50 1.97596 -292.50 72.50 167.50 1.45062 -292.50 72.50 172.50 0.769452 -292.50 72.50 177.50 0.322875 -292.50 72.50 182.50 0.129042 -292.50 72.50 187.50 0.0863504 -292.50 72.50 192.50 0.0407479 -292.50 72.50 197.50 0.0299198 -292.50 72.50 202.50 0.0313554 -292.50 72.50 207.50 0.0259966 -292.50 72.50 212.50 0.0466107 -292.50 72.50 217.50 0.127537 -292.50 72.50 222.50 0.325269 -292.50 72.50 227.50 0.656931 -292.50 72.50 232.50 1.13461 -292.50 72.50 237.50 1.54712 -292.50 72.50 242.50 1.89622 -292.50 72.50 247.50 2.15918 -292.50 72.50 252.50 1.97596 -292.50 72.50 257.50 1.45062 -292.50 72.50 262.50 0.76945 -292.50 72.50 267.50 0.322875 -292.50 72.50 272.50 0.129042 -292.50 72.50 277.50 0.0863504 -292.50 72.50 282.50 0.0407479 -292.50 72.50 287.50 0.0299198 -292.50 72.50 292.50 0.0313554 -292.50 72.50 297.50 0.0259966 -292.50 72.50 302.50 0.0466108 -292.50 72.50 307.50 0.127537 -292.50 72.50 312.50 0.325269 -292.50 72.50 317.50 0.656931 -292.50 72.50 322.50 1.13461 -292.50 72.50 327.50 1.54712 -292.50 72.50 332.50 1.89622 -292.50 72.50 337.50 2.15918 -292.50 72.50 342.50 1.97596 -292.50 72.50 347.50 1.45063 -292.50 72.50 352.50 0.769452 -292.50 72.50 357.50 0.322876 -292.50 77.50 2.50 0.148779 -292.50 77.50 7.50 0.132643 -292.50 77.50 12.50 0.067778 -292.50 77.50 17.50 0.0764477 -292.50 77.50 22.50 0.0698504 -292.50 77.50 27.50 0.0865854 -292.50 77.50 32.50 0.177916 -292.50 77.50 37.50 0.424124 -292.50 77.50 42.50 0.875113 -292.50 77.50 47.50 1.49579 -292.50 77.50 52.50 2.0489 -292.50 77.50 57.50 2.56876 -292.50 77.50 62.50 2.8744 -292.50 77.50 67.50 2.89725 -292.50 77.50 72.50 2.56798 -292.50 77.50 77.50 1.79376 -292.50 77.50 82.50 0.886303 -292.50 77.50 87.50 0.366389 -292.50 77.50 92.50 0.148779 -292.50 77.50 97.50 0.132643 -292.50 77.50 102.50 0.0677779 -292.50 77.50 107.50 0.0764476 -292.50 77.50 112.50 0.0698503 -292.50 77.50 117.50 0.0865853 -292.50 77.50 122.50 0.177916 -292.50 77.50 127.50 0.424124 -292.50 77.50 132.50 0.875113 -292.50 77.50 137.50 1.49579 -292.50 77.50 142.50 2.04889 -292.50 77.50 147.50 2.56876 -292.50 77.50 152.50 2.8744 -292.50 77.50 157.50 2.89725 -292.50 77.50 162.50 2.56798 -292.50 77.50 167.50 1.79376 -292.50 77.50 172.50 0.886304 -292.50 77.50 177.50 0.36639 -292.50 77.50 182.50 0.148779 -292.50 77.50 187.50 0.132643 -292.50 77.50 192.50 0.067778 -292.50 77.50 197.50 0.0764476 -292.50 77.50 202.50 0.0698504 -292.50 77.50 207.50 0.0865853 -292.50 77.50 212.50 0.177916 -292.50 77.50 217.50 0.424123 -292.50 77.50 222.50 0.875112 -292.50 77.50 227.50 1.49579 -292.50 77.50 232.50 2.0489 -292.50 77.50 237.50 2.56876 -292.50 77.50 242.50 2.8744 -292.50 77.50 247.50 2.89725 -292.50 77.50 252.50 2.56797 -292.50 77.50 257.50 1.79376 -292.50 77.50 262.50 0.886302 -292.50 77.50 267.50 0.366389 -292.50 77.50 272.50 0.148779 -292.50 77.50 277.50 0.132643 -292.50 77.50 282.50 0.067778 -292.50 77.50 287.50 0.0764476 -292.50 77.50 292.50 0.0698504 -292.50 77.50 297.50 0.0865853 -292.50 77.50 302.50 0.177916 -292.50 77.50 307.50 0.424123 -292.50 77.50 312.50 0.875113 -292.50 77.50 317.50 1.49579 -292.50 77.50 322.50 2.04889 -292.50 77.50 327.50 2.56876 -292.50 77.50 332.50 2.8744 -292.50 77.50 337.50 2.89725 -292.50 77.50 342.50 2.56798 -292.50 77.50 347.50 1.79376 -292.50 77.50 352.50 0.886305 -292.50 77.50 357.50 0.36639 -292.50 82.50 2.50 0.134121 -292.50 82.50 7.50 0.108157 -292.50 82.50 12.50 0.0979397 -292.50 82.50 17.50 0.120436 -292.50 82.50 22.50 0.175414 -292.50 82.50 27.50 0.301387 -292.50 82.50 32.50 0.568255 -292.50 82.50 37.50 1.08022 -292.50 82.50 42.50 1.86968 -292.50 82.50 47.50 2.7458 -292.50 82.50 52.50 3.36895 -292.50 82.50 57.50 3.5934 -292.50 82.50 62.50 3.49901 -292.50 82.50 67.50 3.14581 -292.50 82.50 72.50 2.49788 -292.50 82.50 77.50 1.60965 -292.50 82.50 82.50 0.846376 -292.50 82.50 87.50 0.311888 -292.50 82.50 92.50 0.134121 -292.50 82.50 97.50 0.108157 -292.50 82.50 102.50 0.0979397 -292.50 82.50 107.50 0.120436 -292.50 82.50 112.50 0.175414 -292.50 82.50 117.50 0.301387 -292.50 82.50 122.50 0.568255 -292.50 82.50 127.50 1.08022 -292.50 82.50 132.50 1.86968 -292.50 82.50 137.50 2.7458 -292.50 82.50 142.50 3.36894 -292.50 82.50 147.50 3.5934 -292.50 82.50 152.50 3.49901 -292.50 82.50 157.50 3.14582 -292.50 82.50 162.50 2.49788 -292.50 82.50 167.50 1.60965 -292.50 82.50 172.50 0.846377 -292.50 82.50 177.50 0.311888 -292.50 82.50 182.50 0.134121 -292.50 82.50 187.50 0.108157 -292.50 82.50 192.50 0.0979397 -292.50 82.50 197.50 0.120436 -292.50 82.50 202.50 0.175414 -292.50 82.50 207.50 0.301386 -292.50 82.50 212.50 0.568255 -292.50 82.50 217.50 1.08022 -292.50 82.50 222.50 1.86968 -292.50 82.50 227.50 2.7458 -292.50 82.50 232.50 3.36894 -292.50 82.50 237.50 3.5934 -292.50 82.50 242.50 3.49901 -292.50 82.50 247.50 3.14582 -292.50 82.50 252.50 2.49788 -292.50 82.50 257.50 1.60965 -292.50 82.50 262.50 0.846376 -292.50 82.50 267.50 0.311888 -292.50 82.50 272.50 0.134121 -292.50 82.50 277.50 0.108157 -292.50 82.50 282.50 0.0979397 -292.50 82.50 287.50 0.120436 -292.50 82.50 292.50 0.175414 -292.50 82.50 297.50 0.301387 -292.50 82.50 302.50 0.568255 -292.50 82.50 307.50 1.08022 -292.50 82.50 312.50 1.86968 -292.50 82.50 317.50 2.7458 -292.50 82.50 322.50 3.36894 -292.50 82.50 327.50 3.5934 -292.50 82.50 332.50 3.49901 -292.50 82.50 337.50 3.14581 -292.50 82.50 342.50 2.49788 -292.50 82.50 347.50 1.60965 -292.50 82.50 352.50 0.846377 -292.50 82.50 357.50 0.311889 -292.50 87.50 2.50 0.0872057 -292.50 87.50 7.50 0.0811657 -292.50 87.50 12.50 0.129848 -292.50 87.50 17.50 0.247396 -292.50 87.50 22.50 0.440341 -292.50 87.50 27.50 0.756732 -292.50 87.50 32.50 1.28389 -292.50 87.50 37.50 2.10178 -292.50 87.50 42.50 3.1056 -292.50 87.50 47.50 3.87616 -292.50 87.50 52.50 4.11515 -292.50 87.50 57.50 3.88141 -292.50 87.50 62.50 3.36487 -292.50 87.50 67.50 2.65519 -292.50 87.50 72.50 1.83315 -292.50 87.50 77.50 1.13308 -292.50 87.50 82.50 0.542958 -292.50 87.50 87.50 0.216872 -292.50 87.50 92.50 0.0872057 -292.50 87.50 97.50 0.0811657 -292.50 87.50 102.50 0.129848 -292.50 87.50 107.50 0.247396 -292.50 87.50 112.50 0.440341 -292.50 87.50 117.50 0.756732 -292.50 87.50 122.50 1.28389 -292.50 87.50 127.50 2.10178 -292.50 87.50 132.50 3.1056 -292.50 87.50 137.50 3.87616 -292.50 87.50 142.50 4.11515 -292.50 87.50 147.50 3.88141 -292.50 87.50 152.50 3.36487 -292.50 87.50 157.50 2.65519 -292.50 87.50 162.50 1.83315 -292.50 87.50 167.50 1.13308 -292.50 87.50 172.50 0.542959 -292.50 87.50 177.50 0.216872 -292.50 87.50 182.50 0.0872057 -292.50 87.50 187.50 0.0811657 -292.50 87.50 192.50 0.129848 -292.50 87.50 197.50 0.247396 -292.50 87.50 202.50 0.440341 -292.50 87.50 207.50 0.756731 -292.50 87.50 212.50 1.28389 -292.50 87.50 217.50 2.10178 -292.50 87.50 222.50 3.1056 -292.50 87.50 227.50 3.87616 -292.50 87.50 232.50 4.11515 -292.50 87.50 237.50 3.88141 -292.50 87.50 242.50 3.36487 -292.50 87.50 247.50 2.65519 -292.50 87.50 252.50 1.83315 -292.50 87.50 257.50 1.13308 -292.50 87.50 262.50 0.542958 -292.50 87.50 267.50 0.216871 -292.50 87.50 272.50 0.0872057 -292.50 87.50 277.50 0.0811657 -292.50 87.50 282.50 0.129848 -292.50 87.50 287.50 0.247396 -292.50 87.50 292.50 0.440341 -292.50 87.50 297.50 0.756731 -292.50 87.50 302.50 1.28389 -292.50 87.50 307.50 2.10178 -292.50 87.50 312.50 3.1056 -292.50 87.50 317.50 3.87616 -292.50 87.50 322.50 4.11515 -292.50 87.50 327.50 3.88142 -292.50 87.50 332.50 3.36487 -292.50 87.50 337.50 2.65519 -292.50 87.50 342.50 1.83315 -292.50 87.50 347.50 1.13308 -292.50 87.50 352.50 0.54296 -292.50 87.50 357.50 0.216872 -292.50 92.50 2.50 0.0624686 -292.50 92.50 7.50 0.102596 -292.50 92.50 12.50 0.24067 -292.50 92.50 17.50 0.527183 -292.50 92.50 22.50 0.990532 -292.50 92.50 27.50 1.58451 -292.50 92.50 32.50 2.28343 -292.50 92.50 37.50 3.12281 -292.50 92.50 42.50 3.95126 -292.50 92.50 47.50 4.32007 -292.50 92.50 52.50 3.95126 -292.50 92.50 57.50 3.12281 -292.50 92.50 62.50 2.28343 -292.50 92.50 67.50 1.58451 -292.50 92.50 72.50 0.990531 -292.50 92.50 77.50 0.527182 -292.50 92.50 82.50 0.24067 -292.50 92.50 87.50 0.102596 -292.50 92.50 92.50 0.0624686 -292.50 92.50 97.50 0.102596 -292.50 92.50 102.50 0.24067 -292.50 92.50 107.50 0.527183 -292.50 92.50 112.50 0.990532 -292.50 92.50 117.50 1.58451 -292.50 92.50 122.50 2.28343 -292.50 92.50 127.50 3.12281 -292.50 92.50 132.50 3.95126 -292.50 92.50 137.50 4.32006 -292.50 92.50 142.50 3.95126 -292.50 92.50 147.50 3.12281 -292.50 92.50 152.50 2.28343 -292.50 92.50 157.50 1.58451 -292.50 92.50 162.50 0.990531 -292.50 92.50 167.50 0.527183 -292.50 92.50 172.50 0.24067 -292.50 92.50 177.50 0.102596 -292.50 92.50 182.50 0.0624686 -292.50 92.50 187.50 0.102596 -292.50 92.50 192.50 0.24067 -292.50 92.50 197.50 0.527183 -292.50 92.50 202.50 0.990532 -292.50 92.50 207.50 1.58451 -292.50 92.50 212.50 2.28343 -292.50 92.50 217.50 3.12281 -292.50 92.50 222.50 3.95125 -292.50 92.50 227.50 4.32006 -292.50 92.50 232.50 3.95125 -292.50 92.50 237.50 3.12281 -292.50 92.50 242.50 2.28343 -292.50 92.50 247.50 1.58451 -292.50 92.50 252.50 0.99053 -292.50 92.50 257.50 0.527182 -292.50 92.50 262.50 0.24067 -292.50 92.50 267.50 0.102596 -292.50 92.50 272.50 0.0624686 -292.50 92.50 277.50 0.102596 -292.50 92.50 282.50 0.24067 -292.50 92.50 287.50 0.527183 -292.50 92.50 292.50 0.990532 -292.50 92.50 297.50 1.58451 -292.50 92.50 302.50 2.28343 -292.50 92.50 307.50 3.12281 -292.50 92.50 312.50 3.95126 -292.50 92.50 317.50 4.32007 -292.50 92.50 322.50 3.95126 -292.50 92.50 327.50 3.12281 -292.50 92.50 332.50 2.28343 -292.50 92.50 337.50 1.58451 -292.50 92.50 342.50 0.990533 -292.50 92.50 347.50 0.527183 -292.50 92.50 352.50 0.24067 -292.50 92.50 357.50 0.102596 -292.50 97.50 2.50 0.0872057 -292.50 97.50 7.50 0.216872 -292.50 97.50 12.50 0.542959 -292.50 97.50 17.50 1.13308 -292.50 97.50 22.50 1.83315 -292.50 97.50 27.50 2.65519 -292.50 97.50 32.50 3.36487 -292.50 97.50 37.50 3.88141 -292.50 97.50 42.50 4.11514 -292.50 97.50 47.50 3.87617 -292.50 97.50 52.50 3.1056 -292.50 97.50 57.50 2.10178 -292.50 97.50 62.50 1.28389 -292.50 97.50 67.50 0.756732 -292.50 97.50 72.50 0.440341 -292.50 97.50 77.50 0.247396 -292.50 97.50 82.50 0.129848 -292.50 97.50 87.50 0.0811656 -292.50 97.50 92.50 0.0872057 -292.50 97.50 97.50 0.216872 -292.50 97.50 102.50 0.542959 -292.50 97.50 107.50 1.13308 -292.50 97.50 112.50 1.83315 -292.50 97.50 117.50 2.65519 -292.50 97.50 122.50 3.36487 -292.50 97.50 127.50 3.88142 -292.50 97.50 132.50 4.11514 -292.50 97.50 137.50 3.87616 -292.50 97.50 142.50 3.1056 -292.50 97.50 147.50 2.10178 -292.50 97.50 152.50 1.28389 -292.50 97.50 157.50 0.756732 -292.50 97.50 162.50 0.440341 -292.50 97.50 167.50 0.247396 -292.50 97.50 172.50 0.129848 -292.50 97.50 177.50 0.0811657 -292.50 97.50 182.50 0.0872057 -292.50 97.50 187.50 0.216871 -292.50 97.50 192.50 0.542959 -292.50 97.50 197.50 1.13308 -292.50 97.50 202.50 1.83315 -292.50 97.50 207.50 2.65519 -292.50 97.50 212.50 3.36487 -292.50 97.50 217.50 3.88141 -292.50 97.50 222.50 4.11515 -292.50 97.50 227.50 3.87616 -292.50 97.50 232.50 3.1056 -292.50 97.50 237.50 2.10178 -292.50 97.50 242.50 1.28389 -292.50 97.50 247.50 0.756732 -292.50 97.50 252.50 0.440341 -292.50 97.50 257.50 0.247396 -292.50 97.50 262.50 0.129848 -292.50 97.50 267.50 0.0811657 -292.50 97.50 272.50 0.0872057 -292.50 97.50 277.50 0.216872 -292.50 97.50 282.50 0.542959 -292.50 97.50 287.50 1.13308 -292.50 97.50 292.50 1.83315 -292.50 97.50 297.50 2.65519 -292.50 97.50 302.50 3.36487 -292.50 97.50 307.50 3.88141 -292.50 97.50 312.50 4.11515 -292.50 97.50 317.50 3.87616 -292.50 97.50 322.50 3.1056 -292.50 97.50 327.50 2.10178 -292.50 97.50 332.50 1.28389 -292.50 97.50 337.50 0.756732 -292.50 97.50 342.50 0.440341 -292.50 97.50 347.50 0.247397 -292.50 97.50 352.50 0.129848 -292.50 97.50 357.50 0.0811658 -292.50 102.50 2.50 0.134121 -292.50 102.50 7.50 0.311888 -292.50 102.50 12.50 0.846376 -292.50 102.50 17.50 1.60965 -292.50 102.50 22.50 2.49788 -292.50 102.50 27.50 3.14582 -292.50 102.50 32.50 3.49901 -292.50 102.50 37.50 3.5934 -292.50 102.50 42.50 3.36894 -292.50 102.50 47.50 2.7458 -292.50 102.50 52.50 1.86968 -292.50 102.50 57.50 1.08022 -292.50 102.50 62.50 0.568254 -292.50 102.50 67.50 0.301386 -292.50 102.50 72.50 0.175414 -292.50 102.50 77.50 0.120436 -292.50 102.50 82.50 0.0979397 -292.50 102.50 87.50 0.108157 -292.50 102.50 92.50 0.134121 -292.50 102.50 97.50 0.311888 -292.50 102.50 102.50 0.846377 -292.50 102.50 107.50 1.60965 -292.50 102.50 112.50 2.49788 -292.50 102.50 117.50 3.14582 -292.50 102.50 122.50 3.49901 -292.50 102.50 127.50 3.5934 -292.50 102.50 132.50 3.36894 -292.50 102.50 137.50 2.7458 -292.50 102.50 142.50 1.86968 -292.50 102.50 147.50 1.08022 -292.50 102.50 152.50 0.568255 -292.50 102.50 157.50 0.301387 -292.50 102.50 162.50 0.175414 -292.50 102.50 167.50 0.120436 -292.50 102.50 172.50 0.0979397 -292.50 102.50 177.50 0.108157 -292.50 102.50 182.50 0.134121 -292.50 102.50 187.50 0.311888 -292.50 102.50 192.50 0.846376 -292.50 102.50 197.50 1.60965 -292.50 102.50 202.50 2.49788 -292.50 102.50 207.50 3.14582 -292.50 102.50 212.50 3.49901 -292.50 102.50 217.50 3.5934 -292.50 102.50 222.50 3.36894 -292.50 102.50 227.50 2.7458 -292.50 102.50 232.50 1.86968 -292.50 102.50 237.50 1.08022 -292.50 102.50 242.50 0.568254 -292.50 102.50 247.50 0.301386 -292.50 102.50 252.50 0.175414 -292.50 102.50 257.50 0.120436 -292.50 102.50 262.50 0.0979397 -292.50 102.50 267.50 0.108157 -292.50 102.50 272.50 0.134121 -292.50 102.50 277.50 0.311888 -292.50 102.50 282.50 0.846376 -292.50 102.50 287.50 1.60965 -292.50 102.50 292.50 2.49788 -292.50 102.50 297.50 3.14582 -292.50 102.50 302.50 3.49901 -292.50 102.50 307.50 3.5934 -292.50 102.50 312.50 3.36895 -292.50 102.50 317.50 2.7458 -292.50 102.50 322.50 1.86968 -292.50 102.50 327.50 1.08022 -292.50 102.50 332.50 0.568256 -292.50 102.50 337.50 0.301387 -292.50 102.50 342.50 0.175414 -292.50 102.50 347.50 0.120436 -292.50 102.50 352.50 0.0979397 -292.50 102.50 357.50 0.108156 -292.50 107.50 2.50 0.148779 -292.50 107.50 7.50 0.366389 -292.50 107.50 12.50 0.886303 -292.50 107.50 17.50 1.79376 -292.50 107.50 22.50 2.56797 -292.50 107.50 27.50 2.89725 -292.50 107.50 32.50 2.8744 -292.50 107.50 37.50 2.56876 -292.50 107.50 42.50 2.04889 -292.50 107.50 47.50 1.49579 -292.50 107.50 52.50 0.875112 -292.50 107.50 57.50 0.424124 -292.50 107.50 62.50 0.177916 -292.50 107.50 67.50 0.0865853 -292.50 107.50 72.50 0.0698503 -292.50 107.50 77.50 0.0764476 -292.50 107.50 82.50 0.067778 -292.50 107.50 87.50 0.132643 -292.50 107.50 92.50 0.148779 -292.50 107.50 97.50 0.36639 -292.50 107.50 102.50 0.886304 -292.50 107.50 107.50 1.79376 -292.50 107.50 112.50 2.56797 -292.50 107.50 117.50 2.89725 -292.50 107.50 122.50 2.8744 -292.50 107.50 127.50 2.56876 -292.50 107.50 132.50 2.0489 -292.50 107.50 137.50 1.4958 -292.50 107.50 142.50 0.875113 -292.50 107.50 147.50 0.424124 -292.50 107.50 152.50 0.177916 -292.50 107.50 157.50 0.0865854 -292.50 107.50 162.50 0.0698504 -292.50 107.50 167.50 0.0764476 -292.50 107.50 172.50 0.067778 -292.50 107.50 177.50 0.132643 -292.50 107.50 182.50 0.148779 -292.50 107.50 187.50 0.36639 -292.50 107.50 192.50 0.886304 -292.50 107.50 197.50 1.79376 -292.50 107.50 202.50 2.56797 -292.50 107.50 207.50 2.89725 -292.50 107.50 212.50 2.8744 -292.50 107.50 217.50 2.56876 -292.50 107.50 222.50 2.0489 -292.50 107.50 227.50 1.49579 -292.50 107.50 232.50 0.875112 -292.50 107.50 237.50 0.424123 -292.50 107.50 242.50 0.177916 -292.50 107.50 247.50 0.0865853 -292.50 107.50 252.50 0.0698504 -292.50 107.50 257.50 0.0764476 -292.50 107.50 262.50 0.067778 -292.50 107.50 267.50 0.132643 -292.50 107.50 272.50 0.148779 -292.50 107.50 277.50 0.366389 -292.50 107.50 282.50 0.886303 -292.50 107.50 287.50 1.79376 -292.50 107.50 292.50 2.56797 -292.50 107.50 297.50 2.89725 -292.50 107.50 302.50 2.8744 -292.50 107.50 307.50 2.56876 -292.50 107.50 312.50 2.0489 -292.50 107.50 317.50 1.49579 -292.50 107.50 322.50 0.875114 -292.50 107.50 327.50 0.424124 -292.50 107.50 332.50 0.177916 -292.50 107.50 337.50 0.0865854 -292.50 107.50 342.50 0.0698504 -292.50 107.50 347.50 0.0764476 -292.50 107.50 352.50 0.067778 -292.50 107.50 357.50 0.132643 -292.50 112.50 2.50 0.129042 -292.50 112.50 7.50 0.322875 -292.50 112.50 12.50 0.769451 -292.50 112.50 17.50 1.45062 -292.50 112.50 22.50 1.97596 -292.50 112.50 27.50 2.15918 -292.50 112.50 32.50 1.89622 -292.50 112.50 37.50 1.54712 -292.50 112.50 42.50 1.13461 -292.50 112.50 47.50 0.656931 -292.50 112.50 52.50 0.325269 -292.50 112.50 57.50 0.127537 -292.50 112.50 62.50 0.0466107 -292.50 112.50 67.50 0.0259966 -292.50 112.50 72.50 0.0313554 -292.50 112.50 77.50 0.0299198 -292.50 112.50 82.50 0.0407479 -292.50 112.50 87.50 0.0863504 -292.50 112.50 92.50 0.129042 -292.50 112.50 97.50 0.322876 -292.50 112.50 102.50 0.769451 -292.50 112.50 107.50 1.45062 -292.50 112.50 112.50 1.97596 -292.50 112.50 117.50 2.15918 -292.50 112.50 122.50 1.89621 -292.50 112.50 127.50 1.54712 -292.50 112.50 132.50 1.13461 -292.50 112.50 137.50 0.656931 -292.50 112.50 142.50 0.325269 -292.50 112.50 147.50 0.127537 -292.50 112.50 152.50 0.0466108 -292.50 112.50 157.50 0.0259967 -292.50 112.50 162.50 0.0313554 -292.50 112.50 167.50 0.0299198 -292.50 112.50 172.50 0.0407479 -292.50 112.50 177.50 0.0863504 -292.50 112.50 182.50 0.129042 -292.50 112.50 187.50 0.322876 -292.50 112.50 192.50 0.769451 -292.50 112.50 197.50 1.45062 -292.50 112.50 202.50 1.97596 -292.50 112.50 207.50 2.15918 -292.50 112.50 212.50 1.89622 -292.50 112.50 217.50 1.54712 -292.50 112.50 222.50 1.13461 -292.50 112.50 227.50 0.656931 -292.50 112.50 232.50 0.325269 -292.50 112.50 237.50 0.127537 -292.50 112.50 242.50 0.0466107 -292.50 112.50 247.50 0.0259966 -292.50 112.50 252.50 0.0313554 -292.50 112.50 257.50 0.0299198 -292.50 112.50 262.50 0.040748 -292.50 112.50 267.50 0.0863504 -292.50 112.50 272.50 0.129042 -292.50 112.50 277.50 0.322875 -292.50 112.50 282.50 0.769451 -292.50 112.50 287.50 1.45062 -292.50 112.50 292.50 1.97596 -292.50 112.50 297.50 2.15918 -292.50 112.50 302.50 1.89622 -292.50 112.50 307.50 1.54712 -292.50 112.50 312.50 1.13461 -292.50 112.50 317.50 0.656931 -292.50 112.50 322.50 0.32527 -292.50 112.50 327.50 0.127537 -292.50 112.50 332.50 0.0466109 -292.50 112.50 337.50 0.0259966 -292.50 112.50 342.50 0.0313554 -292.50 112.50 347.50 0.0299198 -292.50 112.50 352.50 0.0407478 -292.50 112.50 357.50 0.0863504 -292.50 117.50 2.50 0.114009 -292.50 117.50 7.50 0.265949 -292.50 117.50 12.50 0.57164 -292.50 117.50 17.50 0.940721 -292.50 117.50 22.50 1.14987 -292.50 117.50 27.50 1.10873 -292.50 117.50 32.50 0.945085 -292.50 117.50 37.50 0.693071 -292.50 117.50 42.50 0.461553 -292.50 117.50 47.50 0.25155 -292.50 117.50 52.50 0.105781 -292.50 117.50 57.50 0.0361208 -292.50 117.50 62.50 0.011279 -292.50 117.50 67.50 0.0077366 -292.50 117.50 72.50 0.0070493 -292.50 117.50 77.50 0.00927381 -292.50 117.50 82.50 0.0195529 -292.50 117.50 87.50 0.0458691 -292.50 117.50 92.50 0.114009 -292.50 117.50 97.50 0.265949 -292.50 117.50 102.50 0.571641 -292.50 117.50 107.50 0.940721 -292.50 117.50 112.50 1.14987 -292.50 117.50 117.50 1.10873 -292.50 117.50 122.50 0.945085 -292.50 117.50 127.50 0.693071 -292.50 117.50 132.50 0.461553 -292.50 117.50 137.50 0.25155 -292.50 117.50 142.50 0.105781 -292.50 117.50 147.50 0.0361208 -292.50 117.50 152.50 0.011279 -292.50 117.50 157.50 0.00773661 -292.50 117.50 162.50 0.00704931 -292.50 117.50 167.50 0.00927382 -292.50 117.50 172.50 0.0195529 -292.50 117.50 177.50 0.045869 -292.50 117.50 182.50 0.114009 -292.50 117.50 187.50 0.265949 -292.50 117.50 192.50 0.571641 -292.50 117.50 197.50 0.940722 -292.50 117.50 202.50 1.14987 -292.50 117.50 207.50 1.10873 -292.50 117.50 212.50 0.945086 -292.50 117.50 217.50 0.693071 -292.50 117.50 222.50 0.461554 -292.50 117.50 227.50 0.25155 -292.50 117.50 232.50 0.105781 -292.50 117.50 237.50 0.0361208 -292.50 117.50 242.50 0.011279 -292.50 117.50 247.50 0.00773661 -292.50 117.50 252.50 0.00704931 -292.50 117.50 257.50 0.00927384 -292.50 117.50 262.50 0.0195529 -292.50 117.50 267.50 0.0458691 -292.50 117.50 272.50 0.114009 -292.50 117.50 277.50 0.265949 -292.50 117.50 282.50 0.57164 -292.50 117.50 287.50 0.940721 -292.50 117.50 292.50 1.14987 -292.50 117.50 297.50 1.10873 -292.50 117.50 302.50 0.945086 -292.50 117.50 307.50 0.693071 -292.50 117.50 312.50 0.461554 -292.50 117.50 317.50 0.25155 -292.50 117.50 322.50 0.105781 -292.50 117.50 327.50 0.0361209 -292.50 117.50 332.50 0.011279 -292.50 117.50 337.50 0.0077366 -292.50 117.50 342.50 0.00704929 -292.50 117.50 347.50 0.00927379 -292.50 117.50 352.50 0.0195528 -292.50 117.50 357.50 0.045869 -292.50 122.50 2.50 0.102728 -292.50 122.50 7.50 0.213676 -292.50 122.50 12.50 0.353435 -292.50 122.50 17.50 0.516926 -292.50 122.50 22.50 0.562696 -292.50 122.50 27.50 0.449163 -292.50 122.50 32.50 0.326203 -292.50 122.50 37.50 0.221576 -292.50 122.50 42.50 0.124174 -292.50 122.50 47.50 0.0695903 -292.50 122.50 52.50 0.0388129 -292.50 122.50 57.50 0.0244175 -292.50 122.50 62.50 0.0153424 -292.50 122.50 67.50 0.0121879 -292.50 122.50 72.50 0.0102271 -292.50 122.50 77.50 0.00822496 -292.50 122.50 82.50 0.0115097 -292.50 122.50 87.50 0.0314926 -292.50 122.50 92.50 0.102728 -292.50 122.50 97.50 0.213676 -292.50 122.50 102.50 0.353436 -292.50 122.50 107.50 0.516927 -292.50 122.50 112.50 0.562697 -292.50 122.50 117.50 0.449163 -292.50 122.50 122.50 0.326203 -292.50 122.50 127.50 0.221576 -292.50 122.50 132.50 0.124174 -292.50 122.50 137.50 0.0695903 -292.50 122.50 142.50 0.0388129 -292.50 122.50 147.50 0.0244175 -292.50 122.50 152.50 0.0153424 -292.50 122.50 157.50 0.0121879 -292.50 122.50 162.50 0.0102271 -292.50 122.50 167.50 0.00822498 -292.50 122.50 172.50 0.0115096 -292.50 122.50 177.50 0.0314926 -292.50 122.50 182.50 0.102728 -292.50 122.50 187.50 0.213676 -292.50 122.50 192.50 0.353436 -292.50 122.50 197.50 0.516927 -292.50 122.50 202.50 0.562697 -292.50 122.50 207.50 0.449163 -292.50 122.50 212.50 0.326203 -292.50 122.50 217.50 0.221576 -292.50 122.50 222.50 0.124174 -292.50 122.50 227.50 0.0695904 -292.50 122.50 232.50 0.0388128 -292.50 122.50 237.50 0.0244175 -292.50 122.50 242.50 0.0153424 -292.50 122.50 247.50 0.0121879 -292.50 122.50 252.50 0.0102271 -292.50 122.50 257.50 0.00822496 -292.50 122.50 262.50 0.0115097 -292.50 122.50 267.50 0.0314926 -292.50 122.50 272.50 0.102728 -292.50 122.50 277.50 0.213676 -292.50 122.50 282.50 0.353436 -292.50 122.50 287.50 0.516926 -292.50 122.50 292.50 0.562697 -292.50 122.50 297.50 0.449163 -292.50 122.50 302.50 0.326203 -292.50 122.50 307.50 0.221576 -292.50 122.50 312.50 0.124174 -292.50 122.50 317.50 0.0695904 -292.50 122.50 322.50 0.0388129 -292.50 122.50 327.50 0.0244175 -292.50 122.50 332.50 0.0153424 -292.50 122.50 337.50 0.0121879 -292.50 122.50 342.50 0.0102271 -292.50 122.50 347.50 0.00822499 -292.50 122.50 352.50 0.0115096 -292.50 122.50 357.50 0.0314925 -292.50 127.50 2.50 0.0713706 -292.50 127.50 7.50 0.140073 -292.50 127.50 12.50 0.188219 -292.50 127.50 17.50 0.222721 -292.50 127.50 22.50 0.214172 -292.50 127.50 27.50 0.152117 -292.50 127.50 32.50 0.0892546 -292.50 127.50 37.50 0.0458996 -292.50 127.50 42.50 0.034129 -292.50 127.50 47.50 0.0477181 -292.50 127.50 52.50 0.0601425 -292.50 127.50 57.50 0.0792813 -292.50 127.50 62.50 0.0887259 -292.50 127.50 67.50 0.0714024 -292.50 127.50 72.50 0.0469155 -292.50 127.50 77.50 0.0227841 -292.50 127.50 82.50 0.0120017 -292.50 127.50 87.50 0.0242699 -292.50 127.50 92.50 0.0713706 -292.50 127.50 97.50 0.140073 -292.50 127.50 102.50 0.188219 -292.50 127.50 107.50 0.222721 -292.50 127.50 112.50 0.214172 -292.50 127.50 117.50 0.152117 -292.50 127.50 122.50 0.0892547 -292.50 127.50 127.50 0.0458996 -292.50 127.50 132.50 0.034129 -292.50 127.50 137.50 0.0477181 -292.50 127.50 142.50 0.0601425 -292.50 127.50 147.50 0.0792813 -292.50 127.50 152.50 0.0887258 -292.50 127.50 157.50 0.0714024 -292.50 127.50 162.50 0.0469155 -292.50 127.50 167.50 0.0227841 -292.50 127.50 172.50 0.0120017 -292.50 127.50 177.50 0.0242699 -292.50 127.50 182.50 0.0713707 -292.50 127.50 187.50 0.140073 -292.50 127.50 192.50 0.188219 -292.50 127.50 197.50 0.222721 -292.50 127.50 202.50 0.214172 -292.50 127.50 207.50 0.152117 -292.50 127.50 212.50 0.0892548 -292.50 127.50 217.50 0.0458996 -292.50 127.50 222.50 0.034129 -292.50 127.50 227.50 0.047718 -292.50 127.50 232.50 0.0601425 -292.50 127.50 237.50 0.0792812 -292.50 127.50 242.50 0.0887258 -292.50 127.50 247.50 0.0714023 -292.50 127.50 252.50 0.0469155 -292.50 127.50 257.50 0.022784 -292.50 127.50 262.50 0.0120017 -292.50 127.50 267.50 0.0242699 -292.50 127.50 272.50 0.0713706 -292.50 127.50 277.50 0.140073 -292.50 127.50 282.50 0.188219 -292.50 127.50 287.50 0.222721 -292.50 127.50 292.50 0.214172 -292.50 127.50 297.50 0.152117 -292.50 127.50 302.50 0.0892548 -292.50 127.50 307.50 0.0458996 -292.50 127.50 312.50 0.034129 -292.50 127.50 317.50 0.047718 -292.50 127.50 322.50 0.0601425 -292.50 127.50 327.50 0.0792813 -292.50 127.50 332.50 0.088726 -292.50 127.50 337.50 0.0714024 -292.50 127.50 342.50 0.0469155 -292.50 127.50 347.50 0.0227841 -292.50 127.50 352.50 0.0120017 -292.50 127.50 357.50 0.0242698 -292.50 132.50 2.50 0.0345642 -292.50 132.50 7.50 0.0653338 -292.50 132.50 12.50 0.0811078 -292.50 132.50 17.50 0.072512 -292.50 132.50 22.50 0.0565858 -292.50 132.50 27.50 0.040436 -292.50 132.50 32.50 0.0279751 -292.50 132.50 37.50 0.0357744 -292.50 132.50 42.50 0.0811809 -292.50 132.50 47.50 0.16975 -292.50 132.50 52.50 0.274639 -292.50 132.50 57.50 0.395714 -292.50 132.50 62.50 0.432883 -292.50 132.50 67.50 0.318524 -292.50 132.50 72.50 0.163165 -292.50 132.50 77.50 0.0618641 -292.50 132.50 82.50 0.0338908 -292.50 132.50 87.50 0.0219592 -292.50 132.50 92.50 0.0345643 -292.50 132.50 97.50 0.0653339 -292.50 132.50 102.50 0.0811078 -292.50 132.50 107.50 0.0725121 -292.50 132.50 112.50 0.0565859 -292.50 132.50 117.50 0.040436 -292.50 132.50 122.50 0.027975 -292.50 132.50 127.50 0.0357743 -292.50 132.50 132.50 0.0811808 -292.50 132.50 137.50 0.16975 -292.50 132.50 142.50 0.274639 -292.50 132.50 147.50 0.395714 -292.50 132.50 152.50 0.432883 -292.50 132.50 157.50 0.318524 -292.50 132.50 162.50 0.163165 -292.50 132.50 167.50 0.0618642 -292.50 132.50 172.50 0.0338908 -292.50 132.50 177.50 0.0219592 -292.50 132.50 182.50 0.0345643 -292.50 132.50 187.50 0.0653339 -292.50 132.50 192.50 0.0811078 -292.50 132.50 197.50 0.0725121 -292.50 132.50 202.50 0.0565859 -292.50 132.50 207.50 0.040436 -292.50 132.50 212.50 0.027975 -292.50 132.50 217.50 0.0357743 -292.50 132.50 222.50 0.0811808 -292.50 132.50 227.50 0.16975 -292.50 132.50 232.50 0.274639 -292.50 132.50 237.50 0.395714 -292.50 132.50 242.50 0.432882 -292.50 132.50 247.50 0.318524 -292.50 132.50 252.50 0.163165 -292.50 132.50 257.50 0.0618641 -292.50 132.50 262.50 0.0338908 -292.50 132.50 267.50 0.0219592 -292.50 132.50 272.50 0.0345643 -292.50 132.50 277.50 0.0653338 -292.50 132.50 282.50 0.0811077 -292.50 132.50 287.50 0.0725121 -292.50 132.50 292.50 0.0565859 -292.50 132.50 297.50 0.0404361 -292.50 132.50 302.50 0.0279751 -292.50 132.50 307.50 0.0357744 -292.50 132.50 312.50 0.0811809 -292.50 132.50 317.50 0.16975 -292.50 132.50 322.50 0.274639 -292.50 132.50 327.50 0.395714 -292.50 132.50 332.50 0.432883 -292.50 132.50 337.50 0.318524 -292.50 132.50 342.50 0.163165 -292.50 132.50 347.50 0.0618643 -292.50 132.50 352.50 0.0338908 -292.50 132.50 357.50 0.0219592 -292.50 137.50 2.50 0.0195997 -292.50 137.50 7.50 0.0236699 -292.50 137.50 12.50 0.0301616 -292.50 137.50 17.50 0.0244227 -292.50 137.50 22.50 0.0200299 -292.50 137.50 27.50 0.0314306 -292.50 137.50 32.50 0.0567506 -292.50 137.50 37.50 0.139446 -292.50 137.50 42.50 0.296556 -292.50 137.50 47.50 0.669527 -292.50 137.50 52.50 1.02135 -292.50 137.50 57.50 1.34304 -292.50 137.50 62.50 1.29353 -292.50 137.50 67.50 0.885196 -292.50 137.50 72.50 0.419284 -292.50 137.50 77.50 0.196214 -292.50 137.50 82.50 0.101401 -292.50 137.50 87.50 0.0394376 -292.50 137.50 92.50 0.0195997 -292.50 137.50 97.50 0.0236699 -292.50 137.50 102.50 0.0301616 -292.50 137.50 107.50 0.0244227 -292.50 137.50 112.50 0.0200299 -292.50 137.50 117.50 0.0314306 -292.50 137.50 122.50 0.0567506 -292.50 137.50 127.50 0.139446 -292.50 137.50 132.50 0.296556 -292.50 137.50 137.50 0.669526 -292.50 137.50 142.50 1.02135 -292.50 137.50 147.50 1.34304 -292.50 137.50 152.50 1.29353 -292.50 137.50 157.50 0.885197 -292.50 137.50 162.50 0.419285 -292.50 137.50 167.50 0.196214 -292.50 137.50 172.50 0.101402 -292.50 137.50 177.50 0.0394376 -292.50 137.50 182.50 0.0195997 -292.50 137.50 187.50 0.0236699 -292.50 137.50 192.50 0.0301616 -292.50 137.50 197.50 0.0244227 -292.50 137.50 202.50 0.0200299 -292.50 137.50 207.50 0.0314306 -292.50 137.50 212.50 0.0567505 -292.50 137.50 217.50 0.139446 -292.50 137.50 222.50 0.296556 -292.50 137.50 227.50 0.669526 -292.50 137.50 232.50 1.02135 -292.50 137.50 237.50 1.34304 -292.50 137.50 242.50 1.29353 -292.50 137.50 247.50 0.885196 -292.50 137.50 252.50 0.419284 -292.50 137.50 257.50 0.196214 -292.50 137.50 262.50 0.101401 -292.50 137.50 267.50 0.0394375 -292.50 137.50 272.50 0.0195997 -292.50 137.50 277.50 0.0236699 -292.50 137.50 282.50 0.0301616 -292.50 137.50 287.50 0.0244227 -292.50 137.50 292.50 0.0200299 -292.50 137.50 297.50 0.0314306 -292.50 137.50 302.50 0.0567505 -292.50 137.50 307.50 0.139446 -292.50 137.50 312.50 0.296556 -292.50 137.50 317.50 0.669525 -292.50 137.50 322.50 1.02135 -292.50 137.50 327.50 1.34304 -292.50 137.50 332.50 1.29353 -292.50 137.50 337.50 0.885197 -292.50 137.50 342.50 0.419285 -292.50 137.50 347.50 0.196214 -292.50 137.50 352.50 0.101402 -292.50 137.50 357.50 0.0394377 -292.50 142.50 2.50 0.0345643 -292.50 142.50 7.50 0.0229548 -292.50 142.50 12.50 0.0256804 -292.50 142.50 17.50 0.0254292 -292.50 142.50 22.50 0.0446951 -292.50 142.50 27.50 0.100083 -292.50 142.50 32.50 0.191638 -292.50 142.50 37.50 0.377634 -292.50 142.50 42.50 0.84969 -292.50 142.50 47.50 1.67451 -292.50 142.50 52.50 2.55221 -292.50 142.50 57.50 2.96787 -292.50 142.50 62.50 2.68863 -292.50 142.50 67.50 1.79232 -292.50 142.50 72.50 0.938531 -292.50 142.50 77.50 0.472255 -292.50 142.50 82.50 0.24113 -292.50 142.50 87.50 0.0948683 -292.50 142.50 92.50 0.0345642 -292.50 142.50 97.50 0.0229548 -292.50 142.50 102.50 0.0256804 -292.50 142.50 107.50 0.0254292 -292.50 142.50 112.50 0.0446951 -292.50 142.50 117.50 0.100083 -292.50 142.50 122.50 0.191638 -292.50 142.50 127.50 0.377634 -292.50 142.50 132.50 0.849689 -292.50 142.50 137.50 1.67451 -292.50 142.50 142.50 2.55221 -292.50 142.50 147.50 2.96788 -292.50 142.50 152.50 2.68863 -292.50 142.50 157.50 1.79232 -292.50 142.50 162.50 0.938531 -292.50 142.50 167.50 0.472255 -292.50 142.50 172.50 0.241131 -292.50 142.50 177.50 0.0948683 -292.50 142.50 182.50 0.0345642 -292.50 142.50 187.50 0.0229548 -292.50 142.50 192.50 0.0256804 -292.50 142.50 197.50 0.0254292 -292.50 142.50 202.50 0.0446951 -292.50 142.50 207.50 0.100083 -292.50 142.50 212.50 0.191638 -292.50 142.50 217.50 0.377634 -292.50 142.50 222.50 0.849689 -292.50 142.50 227.50 1.67451 -292.50 142.50 232.50 2.55221 -292.50 142.50 237.50 2.96787 -292.50 142.50 242.50 2.68863 -292.50 142.50 247.50 1.79232 -292.50 142.50 252.50 0.93853 -292.50 142.50 257.50 0.472254 -292.50 142.50 262.50 0.24113 -292.50 142.50 267.50 0.0948682 -292.50 142.50 272.50 0.0345643 -292.50 142.50 277.50 0.0229548 -292.50 142.50 282.50 0.0256804 -292.50 142.50 287.50 0.0254292 -292.50 142.50 292.50 0.0446951 -292.50 142.50 297.50 0.100083 -292.50 142.50 302.50 0.191638 -292.50 142.50 307.50 0.377634 -292.50 142.50 312.50 0.849688 -292.50 142.50 317.50 1.67451 -292.50 142.50 322.50 2.55221 -292.50 142.50 327.50 2.96787 -292.50 142.50 332.50 2.68864 -292.50 142.50 337.50 1.79232 -292.50 142.50 342.50 0.938533 -292.50 142.50 347.50 0.472255 -292.50 142.50 352.50 0.241131 -292.50 142.50 357.50 0.0948685 -292.50 147.50 2.50 0.0713706 -292.50 147.50 7.50 0.0481647 -292.50 147.50 12.50 0.0577004 -292.50 147.50 17.50 0.0752979 -292.50 147.50 22.50 0.137846 -292.50 147.50 27.50 0.262052 -292.50 147.50 32.50 0.436574 -292.50 147.50 37.50 0.776166 -292.50 147.50 42.50 1.56298 -292.50 147.50 47.50 2.82789 -292.50 147.50 52.50 4.03678 -292.50 147.50 57.50 4.56821 -292.50 147.50 62.50 4.0767 -292.50 147.50 67.50 2.84538 -292.50 147.50 72.50 1.59221 -292.50 147.50 77.50 0.828673 -292.50 147.50 82.50 0.428475 -292.50 147.50 87.50 0.177886 -292.50 147.50 92.50 0.0713706 -292.50 147.50 97.50 0.0481647 -292.50 147.50 102.50 0.0577004 -292.50 147.50 107.50 0.0752979 -292.50 147.50 112.50 0.137846 -292.50 147.50 117.50 0.262052 -292.50 147.50 122.50 0.436574 -292.50 147.50 127.50 0.776167 -292.50 147.50 132.50 1.56298 -292.50 147.50 137.50 2.82789 -292.50 147.50 142.50 4.03678 -292.50 147.50 147.50 4.56821 -292.50 147.50 152.50 4.07671 -292.50 147.50 157.50 2.84538 -292.50 147.50 162.50 1.59221 -292.50 147.50 167.50 0.828673 -292.50 147.50 172.50 0.428475 -292.50 147.50 177.50 0.177886 -292.50 147.50 182.50 0.0713705 -292.50 147.50 187.50 0.0481647 -292.50 147.50 192.50 0.0577004 -292.50 147.50 197.50 0.0752979 -292.50 147.50 202.50 0.137846 -292.50 147.50 207.50 0.262051 -292.50 147.50 212.50 0.436573 -292.50 147.50 217.50 0.776166 -292.50 147.50 222.50 1.56298 -292.50 147.50 227.50 2.82789 -292.50 147.50 232.50 4.03678 -292.50 147.50 237.50 4.56821 -292.50 147.50 242.50 4.0767 -292.50 147.50 247.50 2.84538 -292.50 147.50 252.50 1.5922 -292.50 147.50 257.50 0.828672 -292.50 147.50 262.50 0.428474 -292.50 147.50 267.50 0.177886 -292.50 147.50 272.50 0.0713706 -292.50 147.50 277.50 0.0481647 -292.50 147.50 282.50 0.0577004 -292.50 147.50 287.50 0.0752979 -292.50 147.50 292.50 0.137846 -292.50 147.50 297.50 0.262051 -292.50 147.50 302.50 0.436574 -292.50 147.50 307.50 0.776165 -292.50 147.50 312.50 1.56298 -292.50 147.50 317.50 2.82789 -292.50 147.50 322.50 4.03678 -292.50 147.50 327.50 4.56821 -292.50 147.50 332.50 4.07671 -292.50 147.50 337.50 2.84538 -292.50 147.50 342.50 1.59221 -292.50 147.50 347.50 0.828674 -292.50 147.50 352.50 0.428475 -292.50 147.50 357.50 0.177886 -292.50 152.50 2.50 0.102728 -292.50 152.50 7.50 0.0796682 -292.50 152.50 12.50 0.117217 -292.50 152.50 17.50 0.19226 -292.50 152.50 22.50 0.338363 -292.50 152.50 27.50 0.522997 -292.50 152.50 32.50 0.733517 -292.50 152.50 37.50 1.15908 -292.50 152.50 42.50 2.04157 -292.50 152.50 47.50 3.42852 -292.50 152.50 52.50 4.72297 -292.50 152.50 57.50 5.20994 -292.50 152.50 62.50 4.65188 -292.50 152.50 67.50 3.38449 -292.50 152.50 72.50 1.9346 -292.50 152.50 77.50 1.02982 -292.50 152.50 82.50 0.528282 -292.50 152.50 87.50 0.222408 -292.50 152.50 92.50 0.102728 -292.50 152.50 97.50 0.0796681 -292.50 152.50 102.50 0.117217 -292.50 152.50 107.50 0.19226 -292.50 152.50 112.50 0.338363 -292.50 152.50 117.50 0.522997 -292.50 152.50 122.50 0.733517 -292.50 152.50 127.50 1.15908 -292.50 152.50 132.50 2.04157 -292.50 152.50 137.50 3.42852 -292.50 152.50 142.50 4.72297 -292.50 152.50 147.50 5.20994 -292.50 152.50 152.50 4.65189 -292.50 152.50 157.50 3.3845 -292.50 152.50 162.50 1.9346 -292.50 152.50 167.50 1.02982 -292.50 152.50 172.50 0.528283 -292.50 152.50 177.50 0.222408 -292.50 152.50 182.50 0.102728 -292.50 152.50 187.50 0.0796681 -292.50 152.50 192.50 0.117217 -292.50 152.50 197.50 0.19226 -292.50 152.50 202.50 0.338363 -292.50 152.50 207.50 0.522996 -292.50 152.50 212.50 0.733517 -292.50 152.50 217.50 1.15908 -292.50 152.50 222.50 2.04157 -292.50 152.50 227.50 3.42852 -292.50 152.50 232.50 4.72297 -292.50 152.50 237.50 5.20994 -292.50 152.50 242.50 4.65189 -292.50 152.50 247.50 3.38449 -292.50 152.50 252.50 1.9346 -292.50 152.50 257.50 1.02982 -292.50 152.50 262.50 0.528282 -292.50 152.50 267.50 0.222408 -292.50 152.50 272.50 0.102728 -292.50 152.50 277.50 0.0796682 -292.50 152.50 282.50 0.117217 -292.50 152.50 287.50 0.19226 -292.50 152.50 292.50 0.338362 -292.50 152.50 297.50 0.522996 -292.50 152.50 302.50 0.733516 -292.50 152.50 307.50 1.15908 -292.50 152.50 312.50 2.04156 -292.50 152.50 317.50 3.42852 -292.50 152.50 322.50 4.72297 -292.50 152.50 327.50 5.20994 -292.50 152.50 332.50 4.65189 -292.50 152.50 337.50 3.3845 -292.50 152.50 342.50 1.9346 -292.50 152.50 347.50 1.02982 -292.50 152.50 352.50 0.528283 -292.50 152.50 357.50 0.222409 -292.50 157.50 2.50 0.114009 -292.50 157.50 7.50 0.118439 -292.50 157.50 12.50 0.209396 -292.50 157.50 17.50 0.380762 -292.50 157.50 22.50 0.62124 -292.50 157.50 27.50 0.830492 -292.50 157.50 32.50 0.979366 -292.50 157.50 37.50 1.30349 -292.50 157.50 42.50 2.02416 -292.50 157.50 47.50 3.12498 -292.50 157.50 52.50 4.10408 -292.50 157.50 57.50 4.44844 -292.50 157.50 62.50 4.01069 -292.50 157.50 67.50 2.88921 -292.50 157.50 72.50 1.7273 -292.50 157.50 77.50 0.924205 -292.50 157.50 82.50 0.46717 -292.50 157.50 87.50 0.199352 -292.50 157.50 92.50 0.114009 -292.50 157.50 97.50 0.118439 -292.50 157.50 102.50 0.209396 -292.50 157.50 107.50 0.380762 -292.50 157.50 112.50 0.62124 -292.50 157.50 117.50 0.830492 -292.50 157.50 122.50 0.979366 -292.50 157.50 127.50 1.30349 -292.50 157.50 132.50 2.02416 -292.50 157.50 137.50 3.12498 -292.50 157.50 142.50 4.10408 -292.50 157.50 147.50 4.44844 -292.50 157.50 152.50 4.01069 -292.50 157.50 157.50 2.88921 -292.50 157.50 162.50 1.7273 -292.50 157.50 167.50 0.924206 -292.50 157.50 172.50 0.46717 -292.50 157.50 177.50 0.199352 -292.50 157.50 182.50 0.114009 -292.50 157.50 187.50 0.118439 -292.50 157.50 192.50 0.209396 -292.50 157.50 197.50 0.380762 -292.50 157.50 202.50 0.62124 -292.50 157.50 207.50 0.830491 -292.50 157.50 212.50 0.979365 -292.50 157.50 217.50 1.30349 -292.50 157.50 222.50 2.02416 -292.50 157.50 227.50 3.12498 -292.50 157.50 232.50 4.10408 -292.50 157.50 237.50 4.44845 -292.50 157.50 242.50 4.01069 -292.50 157.50 247.50 2.88921 -292.50 157.50 252.50 1.7273 -292.50 157.50 257.50 0.924205 -292.50 157.50 262.50 0.46717 -292.50 157.50 267.50 0.199352 -292.50 157.50 272.50 0.114009 -292.50 157.50 277.50 0.118439 -292.50 157.50 282.50 0.209396 -292.50 157.50 287.50 0.380762 -292.50 157.50 292.50 0.62124 -292.50 157.50 297.50 0.830491 -292.50 157.50 302.50 0.979365 -292.50 157.50 307.50 1.30349 -292.50 157.50 312.50 2.02416 -292.50 157.50 317.50 3.12498 -292.50 157.50 322.50 4.10407 -292.50 157.50 327.50 4.44844 -292.50 157.50 332.50 4.01069 -292.50 157.50 337.50 2.88921 -292.50 157.50 342.50 1.7273 -292.50 157.50 347.50 0.924207 -292.50 157.50 352.50 0.46717 -292.50 157.50 357.50 0.199353 -292.50 162.50 2.50 0.129042 -292.50 162.50 7.50 0.180575 -292.50 162.50 12.50 0.330343 -292.50 162.50 17.50 0.578689 -292.50 162.50 22.50 0.877147 -292.50 162.50 27.50 1.03817 -292.50 162.50 32.50 1.05452 -292.50 162.50 37.50 1.15056 -292.50 162.50 42.50 1.51677 -292.50 162.50 47.50 2.14441 -292.50 162.50 52.50 2.74521 -292.50 162.50 57.50 2.87762 -292.50 162.50 62.50 2.5111 -292.50 162.50 67.50 1.8723 -292.50 162.50 72.50 1.19702 -292.50 162.50 77.50 0.70176 -292.50 162.50 82.50 0.353566 -292.50 162.50 87.50 0.169802 -292.50 162.50 92.50 0.129042 -292.50 162.50 97.50 0.180575 -292.50 162.50 102.50 0.330343 -292.50 162.50 107.50 0.578689 -292.50 162.50 112.50 0.877146 -292.50 162.50 117.50 1.03817 -292.50 162.50 122.50 1.05452 -292.50 162.50 127.50 1.15056 -292.50 162.50 132.50 1.51677 -292.50 162.50 137.50 2.14441 -292.50 162.50 142.50 2.74521 -292.50 162.50 147.50 2.87762 -292.50 162.50 152.50 2.5111 -292.50 162.50 157.50 1.8723 -292.50 162.50 162.50 1.19702 -292.50 162.50 167.50 0.70176 -292.50 162.50 172.50 0.353566 -292.50 162.50 177.50 0.169802 -292.50 162.50 182.50 0.129042 -292.50 162.50 187.50 0.180575 -292.50 162.50 192.50 0.330343 -292.50 162.50 197.50 0.578688 -292.50 162.50 202.50 0.877147 -292.50 162.50 207.50 1.03817 -292.50 162.50 212.50 1.05452 -292.50 162.50 217.50 1.15056 -292.50 162.50 222.50 1.51677 -292.50 162.50 227.50 2.14441 -292.50 162.50 232.50 2.74521 -292.50 162.50 237.50 2.87762 -292.50 162.50 242.50 2.5111 -292.50 162.50 247.50 1.8723 -292.50 162.50 252.50 1.19702 -292.50 162.50 257.50 0.70176 -292.50 162.50 262.50 0.353565 -292.50 162.50 267.50 0.169802 -292.50 162.50 272.50 0.129042 -292.50 162.50 277.50 0.180575 -292.50 162.50 282.50 0.330343 -292.50 162.50 287.50 0.578688 -292.50 162.50 292.50 0.877146 -292.50 162.50 297.50 1.03817 -292.50 162.50 302.50 1.05452 -292.50 162.50 307.50 1.15056 -292.50 162.50 312.50 1.51677 -292.50 162.50 317.50 2.14441 -292.50 162.50 322.50 2.74521 -292.50 162.50 327.50 2.87762 -292.50 162.50 332.50 2.5111 -292.50 162.50 337.50 1.8723 -292.50 162.50 342.50 1.19702 -292.50 162.50 347.50 0.701761 -292.50 162.50 352.50 0.353567 -292.50 162.50 357.50 0.169802 -292.50 167.50 2.50 0.148779 -292.50 167.50 7.50 0.235527 -292.50 167.50 12.50 0.419807 -292.50 167.50 17.50 0.702544 -292.50 167.50 22.50 0.972016 -292.50 167.50 27.50 1.04021 -292.50 167.50 32.50 0.875162 -292.50 167.50 37.50 0.774984 -292.50 167.50 42.50 0.902796 -292.50 167.50 47.50 1.16717 -292.50 167.50 52.50 1.37822 -292.50 167.50 57.50 1.41539 -292.50 167.50 62.50 1.27537 -292.50 167.50 67.50 1.02204 -292.50 167.50 72.50 0.759032 -292.50 167.50 77.50 0.499375 -292.50 167.50 82.50 0.268399 -292.50 167.50 87.50 0.163633 -292.50 167.50 92.50 0.148779 -292.50 167.50 97.50 0.235527 -292.50 167.50 102.50 0.419807 -292.50 167.50 107.50 0.702544 -292.50 167.50 112.50 0.972016 -292.50 167.50 117.50 1.04021 -292.50 167.50 122.50 0.875162 -292.50 167.50 127.50 0.774984 -292.50 167.50 132.50 0.902796 -292.50 167.50 137.50 1.16717 -292.50 167.50 142.50 1.37822 -292.50 167.50 147.50 1.41539 -292.50 167.50 152.50 1.27537 -292.50 167.50 157.50 1.02204 -292.50 167.50 162.50 0.759032 -292.50 167.50 167.50 0.499375 -292.50 167.50 172.50 0.2684 -292.50 167.50 177.50 0.163633 -292.50 167.50 182.50 0.148779 -292.50 167.50 187.50 0.235527 -292.50 167.50 192.50 0.419807 -292.50 167.50 197.50 0.702544 -292.50 167.50 202.50 0.972016 -292.50 167.50 207.50 1.04021 -292.50 167.50 212.50 0.875162 -292.50 167.50 217.50 0.774984 -292.50 167.50 222.50 0.902796 -292.50 167.50 227.50 1.16717 -292.50 167.50 232.50 1.37822 -292.50 167.50 237.50 1.41539 -292.50 167.50 242.50 1.27537 -292.50 167.50 247.50 1.02204 -292.50 167.50 252.50 0.759031 -292.50 167.50 257.50 0.499375 -292.50 167.50 262.50 0.268399 -292.50 167.50 267.50 0.163633 -292.50 167.50 272.50 0.148779 -292.50 167.50 277.50 0.235527 -292.50 167.50 282.50 0.419806 -292.50 167.50 287.50 0.702543 -292.50 167.50 292.50 0.972016 -292.50 167.50 297.50 1.04021 -292.50 167.50 302.50 0.875162 -292.50 167.50 307.50 0.774985 -292.50 167.50 312.50 0.902796 -292.50 167.50 317.50 1.16717 -292.50 167.50 322.50 1.37822 -292.50 167.50 327.50 1.41539 -292.50 167.50 332.50 1.27537 -292.50 167.50 337.50 1.02204 -292.50 167.50 342.50 0.759032 -292.50 167.50 347.50 0.499376 -292.50 167.50 352.50 0.2684 -292.50 167.50 357.50 0.163633 -292.50 172.50 2.50 0.134121 -292.50 172.50 7.50 0.227328 -292.50 172.50 12.50 0.431976 -292.50 172.50 17.50 0.708774 -292.50 172.50 22.50 0.927011 -292.50 172.50 27.50 0.87844 -292.50 172.50 32.50 0.62605 -292.50 172.50 37.50 0.416365 -292.50 172.50 42.50 0.385849 -292.50 172.50 47.50 0.471098 -292.50 172.50 52.50 0.555933 -292.50 172.50 57.50 0.589234 -292.50 172.50 62.50 0.549479 -292.50 172.50 67.50 0.478812 -292.50 172.50 72.50 0.401511 -292.50 172.50 77.50 0.294737 -292.50 172.50 82.50 0.201029 -292.50 172.50 87.50 0.135945 -292.50 172.50 92.50 0.134121 -292.50 172.50 97.50 0.227329 -292.50 172.50 102.50 0.431976 -292.50 172.50 107.50 0.708774 -292.50 172.50 112.50 0.92701 -292.50 172.50 117.50 0.878439 -292.50 172.50 122.50 0.62605 -292.50 172.50 127.50 0.416365 -292.50 172.50 132.50 0.385849 -292.50 172.50 137.50 0.471098 -292.50 172.50 142.50 0.555933 -292.50 172.50 147.50 0.589234 -292.50 172.50 152.50 0.549479 -292.50 172.50 157.50 0.478812 -292.50 172.50 162.50 0.401511 -292.50 172.50 167.50 0.294737 -292.50 172.50 172.50 0.201029 -292.50 172.50 177.50 0.135945 -292.50 172.50 182.50 0.134121 -292.50 172.50 187.50 0.227328 -292.50 172.50 192.50 0.431976 -292.50 172.50 197.50 0.708774 -292.50 172.50 202.50 0.92701 -292.50 172.50 207.50 0.878439 -292.50 172.50 212.50 0.62605 -292.50 172.50 217.50 0.416365 -292.50 172.50 222.50 0.385849 -292.50 172.50 227.50 0.471098 -292.50 172.50 232.50 0.555934 -292.50 172.50 237.50 0.589234 -292.50 172.50 242.50 0.549479 -292.50 172.50 247.50 0.478812 -292.50 172.50 252.50 0.401512 -292.50 172.50 257.50 0.294737 -292.50 172.50 262.50 0.201029 -292.50 172.50 267.50 0.135945 -292.50 172.50 272.50 0.134121 -292.50 172.50 277.50 0.227328 -292.50 172.50 282.50 0.431976 -292.50 172.50 287.50 0.708774 -292.50 172.50 292.50 0.92701 -292.50 172.50 297.50 0.87844 -292.50 172.50 302.50 0.62605 -292.50 172.50 307.50 0.416365 -292.50 172.50 312.50 0.385849 -292.50 172.50 317.50 0.471098 -292.50 172.50 322.50 0.555934 -292.50 172.50 327.50 0.589234 -292.50 172.50 332.50 0.549479 -292.50 172.50 337.50 0.478812 -292.50 172.50 342.50 0.401512 -292.50 172.50 347.50 0.294737 -292.50 172.50 352.50 0.201029 -292.50 172.50 357.50 0.135945 -292.50 177.50 2.50 0.0872058 -292.50 177.50 7.50 0.172288 -292.50 177.50 12.50 0.384509 -292.50 177.50 17.50 0.688836 -292.50 177.50 22.50 0.855308 -292.50 177.50 27.50 0.706179 -292.50 177.50 32.50 0.400161 -292.50 177.50 37.50 0.194407 -292.50 177.50 42.50 0.126127 -292.50 177.50 47.50 0.137565 -292.50 177.50 52.50 0.166387 -292.50 177.50 57.50 0.182586 -292.50 177.50 62.50 0.179112 -292.50 177.50 67.50 0.174319 -292.50 177.50 72.50 0.166879 -292.50 177.50 77.50 0.143646 -292.50 177.50 82.50 0.106856 -292.50 177.50 87.50 0.0787342 -292.50 177.50 92.50 0.0872058 -292.50 177.50 97.50 0.172288 -292.50 177.50 102.50 0.384509 -292.50 177.50 107.50 0.688836 -292.50 177.50 112.50 0.855308 -292.50 177.50 117.50 0.706179 -292.50 177.50 122.50 0.400161 -292.50 177.50 127.50 0.194407 -292.50 177.50 132.50 0.126127 -292.50 177.50 137.50 0.137565 -292.50 177.50 142.50 0.166387 -292.50 177.50 147.50 0.182586 -292.50 177.50 152.50 0.179112 -292.50 177.50 157.50 0.174319 -292.50 177.50 162.50 0.166879 -292.50 177.50 167.50 0.143647 -292.50 177.50 172.50 0.106857 -292.50 177.50 177.50 0.0787342 -292.50 177.50 182.50 0.0872058 -292.50 177.50 187.50 0.172288 -292.50 177.50 192.50 0.384509 -292.50 177.50 197.50 0.688836 -292.50 177.50 202.50 0.855308 -292.50 177.50 207.50 0.706179 -292.50 177.50 212.50 0.400161 -292.50 177.50 217.50 0.194407 -292.50 177.50 222.50 0.126127 -292.50 177.50 227.50 0.137565 -292.50 177.50 232.50 0.166388 -292.50 177.50 237.50 0.182586 -292.50 177.50 242.50 0.179112 -292.50 177.50 247.50 0.174319 -292.50 177.50 252.50 0.166879 -292.50 177.50 257.50 0.143647 -292.50 177.50 262.50 0.106856 -292.50 177.50 267.50 0.0787342 -292.50 177.50 272.50 0.0872058 -292.50 177.50 277.50 0.172288 -292.50 177.50 282.50 0.384509 -292.50 177.50 287.50 0.688836 -292.50 177.50 292.50 0.855308 -292.50 177.50 297.50 0.706179 -292.50 177.50 302.50 0.400162 -292.50 177.50 307.50 0.194407 -292.50 177.50 312.50 0.126127 -292.50 177.50 317.50 0.137565 -292.50 177.50 322.50 0.166387 -292.50 177.50 327.50 0.182586 -292.50 177.50 332.50 0.179112 -292.50 177.50 337.50 0.174319 -292.50 177.50 342.50 0.166879 -292.50 177.50 347.50 0.143647 -292.50 177.50 352.50 0.106857 -292.50 177.50 357.50 0.0787343 -297.50 2.50 2.50 0.0485219 -297.50 2.50 7.50 0.0601603 -297.50 2.50 12.50 0.0760385 -297.50 2.50 17.50 0.083846 -297.50 2.50 22.50 0.084539 -297.50 2.50 27.50 0.083846 -297.50 2.50 32.50 0.0760385 -297.50 2.50 37.50 0.0601603 -297.50 2.50 42.50 0.0485219 -297.50 2.50 47.50 0.0624686 -297.50 2.50 52.50 0.149977 -297.50 2.50 57.50 0.393272 -297.50 2.50 62.50 0.773179 -297.50 2.50 67.50 0.980476 -297.50 2.50 72.50 0.773179 -297.50 2.50 77.50 0.393272 -297.50 2.50 82.50 0.149977 -297.50 2.50 87.50 0.0624686 -297.50 2.50 92.50 0.0485219 -297.50 2.50 97.50 0.0601603 -297.50 2.50 102.50 0.0760385 -297.50 2.50 107.50 0.083846 -297.50 2.50 112.50 0.084539 -297.50 2.50 117.50 0.083846 -297.50 2.50 122.50 0.0760385 -297.50 2.50 127.50 0.0601603 -297.50 2.50 132.50 0.0485219 -297.50 2.50 137.50 0.0624685 -297.50 2.50 142.50 0.149977 -297.50 2.50 147.50 0.393272 -297.50 2.50 152.50 0.773178 -297.50 2.50 157.50 0.980476 -297.50 2.50 162.50 0.773179 -297.50 2.50 167.50 0.393273 -297.50 2.50 172.50 0.149977 -297.50 2.50 177.50 0.0624686 -297.50 2.50 182.50 0.0485219 -297.50 2.50 187.50 0.0601603 -297.50 2.50 192.50 0.0760385 -297.50 2.50 197.50 0.083846 -297.50 2.50 202.50 0.084539 -297.50 2.50 207.50 0.083846 -297.50 2.50 212.50 0.0760385 -297.50 2.50 217.50 0.0601603 -297.50 2.50 222.50 0.0485219 -297.50 2.50 227.50 0.0624685 -297.50 2.50 232.50 0.149977 -297.50 2.50 237.50 0.393273 -297.50 2.50 242.50 0.773179 -297.50 2.50 247.50 0.980476 -297.50 2.50 252.50 0.773179 -297.50 2.50 257.50 0.393272 -297.50 2.50 262.50 0.149977 -297.50 2.50 267.50 0.0624685 -297.50 2.50 272.50 0.0485219 -297.50 2.50 277.50 0.0601603 -297.50 2.50 282.50 0.0760385 -297.50 2.50 287.50 0.083846 -297.50 2.50 292.50 0.084539 -297.50 2.50 297.50 0.083846 -297.50 2.50 302.50 0.0760385 -297.50 2.50 307.50 0.0601603 -297.50 2.50 312.50 0.048522 -297.50 2.50 317.50 0.0624685 -297.50 2.50 322.50 0.149977 -297.50 2.50 327.50 0.393272 -297.50 2.50 332.50 0.773178 -297.50 2.50 337.50 0.980476 -297.50 2.50 342.50 0.773179 -297.50 2.50 347.50 0.393273 -297.50 2.50 352.50 0.149977 -297.50 2.50 357.50 0.0624687 -297.50 7.50 2.50 0.0733504 -297.50 7.50 7.50 0.0984697 -297.50 7.50 12.50 0.131719 -297.50 7.50 17.50 0.153603 -297.50 7.50 22.50 0.165474 -297.50 7.50 27.50 0.176032 -297.50 7.50 32.50 0.173619 -297.50 7.50 37.50 0.158343 -297.50 7.50 42.50 0.134926 -297.50 7.50 47.50 0.130436 -297.50 7.50 52.50 0.202283 -297.50 7.50 57.50 0.413166 -297.50 7.50 62.50 0.710742 -297.50 7.50 67.50 0.873768 -297.50 7.50 72.50 0.711142 -297.50 7.50 77.50 0.397489 -297.50 7.50 82.50 0.175312 -297.50 7.50 87.50 0.0849767 -297.50 7.50 92.50 0.0733504 -297.50 7.50 97.50 0.0984697 -297.50 7.50 102.50 0.131719 -297.50 7.50 107.50 0.153603 -297.50 7.50 112.50 0.165474 -297.50 7.50 117.50 0.176032 -297.50 7.50 122.50 0.17362 -297.50 7.50 127.50 0.158343 -297.50 7.50 132.50 0.134926 -297.50 7.50 137.50 0.130436 -297.50 7.50 142.50 0.202283 -297.50 7.50 147.50 0.413166 -297.50 7.50 152.50 0.710741 -297.50 7.50 157.50 0.873767 -297.50 7.50 162.50 0.711143 -297.50 7.50 167.50 0.397489 -297.50 7.50 172.50 0.175312 -297.50 7.50 177.50 0.0849768 -297.50 7.50 182.50 0.0733504 -297.50 7.50 187.50 0.0984697 -297.50 7.50 192.50 0.131719 -297.50 7.50 197.50 0.153603 -297.50 7.50 202.50 0.165474 -297.50 7.50 207.50 0.176032 -297.50 7.50 212.50 0.173619 -297.50 7.50 217.50 0.158343 -297.50 7.50 222.50 0.134926 -297.50 7.50 227.50 0.130436 -297.50 7.50 232.50 0.202284 -297.50 7.50 237.50 0.413166 -297.50 7.50 242.50 0.710742 -297.50 7.50 247.50 0.873767 -297.50 7.50 252.50 0.711141 -297.50 7.50 257.50 0.397488 -297.50 7.50 262.50 0.175312 -297.50 7.50 267.50 0.0849767 -297.50 7.50 272.50 0.0733503 -297.50 7.50 277.50 0.0984697 -297.50 7.50 282.50 0.131719 -297.50 7.50 287.50 0.153603 -297.50 7.50 292.50 0.165474 -297.50 7.50 297.50 0.176032 -297.50 7.50 302.50 0.173619 -297.50 7.50 307.50 0.158343 -297.50 7.50 312.50 0.134926 -297.50 7.50 317.50 0.130436 -297.50 7.50 322.50 0.202283 -297.50 7.50 327.50 0.413165 -297.50 7.50 332.50 0.710741 -297.50 7.50 337.50 0.873768 -297.50 7.50 342.50 0.711143 -297.50 7.50 347.50 0.39749 -297.50 7.50 352.50 0.175312 -297.50 7.50 357.50 0.0849768 -297.50 12.50 2.50 0.116684 -297.50 12.50 7.50 0.171945 -297.50 12.50 12.50 0.251316 -297.50 12.50 17.50 0.325522 -297.50 12.50 22.50 0.418482 -297.50 12.50 27.50 0.509966 -297.50 12.50 32.50 0.56369 -297.50 12.50 37.50 0.545911 -297.50 12.50 42.50 0.469209 -297.50 12.50 47.50 0.402325 -297.50 12.50 52.50 0.446941 -297.50 12.50 57.50 0.667121 -297.50 12.50 62.50 0.94396 -297.50 12.50 67.50 1.01746 -297.50 12.50 72.50 0.793623 -297.50 12.50 77.50 0.462915 -297.50 12.50 82.50 0.233425 -297.50 12.50 87.50 0.125415 -297.50 12.50 92.50 0.116684 -297.50 12.50 97.50 0.171944 -297.50 12.50 102.50 0.251315 -297.50 12.50 107.50 0.325522 -297.50 12.50 112.50 0.418482 -297.50 12.50 117.50 0.509966 -297.50 12.50 122.50 0.56369 -297.50 12.50 127.50 0.54591 -297.50 12.50 132.50 0.469209 -297.50 12.50 137.50 0.402325 -297.50 12.50 142.50 0.446941 -297.50 12.50 147.50 0.66712 -297.50 12.50 152.50 0.94396 -297.50 12.50 157.50 1.01746 -297.50 12.50 162.50 0.793623 -297.50 12.50 167.50 0.462915 -297.50 12.50 172.50 0.233426 -297.50 12.50 177.50 0.125415 -297.50 12.50 182.50 0.116684 -297.50 12.50 187.50 0.171945 -297.50 12.50 192.50 0.251316 -297.50 12.50 197.50 0.325522 -297.50 12.50 202.50 0.418482 -297.50 12.50 207.50 0.509966 -297.50 12.50 212.50 0.563691 -297.50 12.50 217.50 0.54591 -297.50 12.50 222.50 0.46921 -297.50 12.50 227.50 0.402325 -297.50 12.50 232.50 0.44694 -297.50 12.50 237.50 0.667121 -297.50 12.50 242.50 0.94396 -297.50 12.50 247.50 1.01746 -297.50 12.50 252.50 0.793622 -297.50 12.50 257.50 0.462914 -297.50 12.50 262.50 0.233425 -297.50 12.50 267.50 0.125414 -297.50 12.50 272.50 0.116684 -297.50 12.50 277.50 0.171945 -297.50 12.50 282.50 0.251316 -297.50 12.50 287.50 0.325522 -297.50 12.50 292.50 0.418482 -297.50 12.50 297.50 0.509966 -297.50 12.50 302.50 0.563691 -297.50 12.50 307.50 0.545911 -297.50 12.50 312.50 0.46921 -297.50 12.50 317.50 0.402325 -297.50 12.50 322.50 0.44694 -297.50 12.50 327.50 0.66712 -297.50 12.50 332.50 0.943959 -297.50 12.50 337.50 1.01746 -297.50 12.50 342.50 0.793624 -297.50 12.50 347.50 0.462916 -297.50 12.50 352.50 0.233426 -297.50 12.50 357.50 0.125415 -297.50 17.50 2.50 0.129911 -297.50 17.50 7.50 0.211095 -297.50 17.50 12.50 0.35581 -297.50 17.50 17.50 0.606151 -297.50 17.50 22.50 0.896729 -297.50 17.50 27.50 1.19798 -297.50 17.50 32.50 1.38887 -297.50 17.50 37.50 1.36656 -297.50 17.50 42.50 1.21537 -297.50 17.50 47.50 1.00305 -297.50 17.50 52.50 0.893712 -297.50 17.50 57.50 0.997995 -297.50 17.50 62.50 1.1614 -297.50 17.50 67.50 1.10479 -297.50 17.50 72.50 0.813542 -297.50 17.50 77.50 0.481758 -297.50 17.50 82.50 0.241637 -297.50 17.50 87.50 0.131489 -297.50 17.50 92.50 0.129911 -297.50 17.50 97.50 0.211095 -297.50 17.50 102.50 0.35581 -297.50 17.50 107.50 0.606151 -297.50 17.50 112.50 0.896729 -297.50 17.50 117.50 1.19798 -297.50 17.50 122.50 1.38887 -297.50 17.50 127.50 1.36655 -297.50 17.50 132.50 1.21537 -297.50 17.50 137.50 1.00305 -297.50 17.50 142.50 0.893712 -297.50 17.50 147.50 0.997995 -297.50 17.50 152.50 1.1614 -297.50 17.50 157.50 1.10479 -297.50 17.50 162.50 0.813542 -297.50 17.50 167.50 0.481758 -297.50 17.50 172.50 0.241637 -297.50 17.50 177.50 0.131489 -297.50 17.50 182.50 0.129911 -297.50 17.50 187.50 0.211095 -297.50 17.50 192.50 0.35581 -297.50 17.50 197.50 0.606151 -297.50 17.50 202.50 0.896729 -297.50 17.50 207.50 1.19798 -297.50 17.50 212.50 1.38887 -297.50 17.50 217.50 1.36656 -297.50 17.50 222.50 1.21537 -297.50 17.50 227.50 1.00305 -297.50 17.50 232.50 0.893711 -297.50 17.50 237.50 0.997995 -297.50 17.50 242.50 1.1614 -297.50 17.50 247.50 1.10479 -297.50 17.50 252.50 0.81354 -297.50 17.50 257.50 0.481757 -297.50 17.50 262.50 0.241636 -297.50 17.50 267.50 0.131489 -297.50 17.50 272.50 0.129911 -297.50 17.50 277.50 0.211095 -297.50 17.50 282.50 0.35581 -297.50 17.50 287.50 0.606151 -297.50 17.50 292.50 0.896729 -297.50 17.50 297.50 1.19798 -297.50 17.50 302.50 1.38887 -297.50 17.50 307.50 1.36656 -297.50 17.50 312.50 1.21537 -297.50 17.50 317.50 1.00305 -297.50 17.50 322.50 0.893711 -297.50 17.50 327.50 0.997994 -297.50 17.50 332.50 1.1614 -297.50 17.50 337.50 1.10479 -297.50 17.50 342.50 0.813542 -297.50 17.50 347.50 0.481758 -297.50 17.50 352.50 0.241637 -297.50 17.50 357.50 0.131489 -297.50 22.50 2.50 0.121879 -297.50 22.50 7.50 0.23099 -297.50 22.50 12.50 0.50043 -297.50 22.50 17.50 0.97331 -297.50 22.50 22.50 1.63749 -297.50 22.50 27.50 2.36793 -297.50 22.50 32.50 2.8114 -297.50 22.50 37.50 2.82827 -297.50 22.50 42.50 2.4109 -297.50 22.50 47.50 1.79592 -297.50 22.50 52.50 1.37022 -297.50 22.50 57.50 1.23227 -297.50 22.50 62.50 1.19946 -297.50 22.50 67.50 1.01411 -297.50 22.50 72.50 0.685389 -297.50 22.50 77.50 0.378147 -297.50 22.50 82.50 0.182233 -297.50 22.50 87.50 0.0992847 -297.50 22.50 92.50 0.121878 -297.50 22.50 97.50 0.23099 -297.50 22.50 102.50 0.500431 -297.50 22.50 107.50 0.97331 -297.50 22.50 112.50 1.63749 -297.50 22.50 117.50 2.36793 -297.50 22.50 122.50 2.8114 -297.50 22.50 127.50 2.82827 -297.50 22.50 132.50 2.4109 -297.50 22.50 137.50 1.79592 -297.50 22.50 142.50 1.37022 -297.50 22.50 147.50 1.23227 -297.50 22.50 152.50 1.19946 -297.50 22.50 157.50 1.01411 -297.50 22.50 162.50 0.68539 -297.50 22.50 167.50 0.378147 -297.50 22.50 172.50 0.182233 -297.50 22.50 177.50 0.0992848 -297.50 22.50 182.50 0.121879 -297.50 22.50 187.50 0.23099 -297.50 22.50 192.50 0.500431 -297.50 22.50 197.50 0.97331 -297.50 22.50 202.50 1.63748 -297.50 22.50 207.50 2.36793 -297.50 22.50 212.50 2.8114 -297.50 22.50 217.50 2.82827 -297.50 22.50 222.50 2.4109 -297.50 22.50 227.50 1.79592 -297.50 22.50 232.50 1.37022 -297.50 22.50 237.50 1.23227 -297.50 22.50 242.50 1.19946 -297.50 22.50 247.50 1.01411 -297.50 22.50 252.50 0.685388 -297.50 22.50 257.50 0.378146 -297.50 22.50 262.50 0.182232 -297.50 22.50 267.50 0.0992848 -297.50 22.50 272.50 0.121879 -297.50 22.50 277.50 0.23099 -297.50 22.50 282.50 0.500431 -297.50 22.50 287.50 0.97331 -297.50 22.50 292.50 1.63749 -297.50 22.50 297.50 2.36793 -297.50 22.50 302.50 2.8114 -297.50 22.50 307.50 2.82827 -297.50 22.50 312.50 2.4109 -297.50 22.50 317.50 1.79592 -297.50 22.50 322.50 1.37022 -297.50 22.50 327.50 1.23227 -297.50 22.50 332.50 1.19946 -297.50 22.50 337.50 1.01411 -297.50 22.50 342.50 0.68539 -297.50 22.50 347.50 0.378147 -297.50 22.50 352.50 0.182233 -297.50 22.50 357.50 0.0992847 -297.50 27.50 2.50 0.128577 -297.50 27.50 7.50 0.287223 -297.50 27.50 12.50 0.682242 -297.50 27.50 17.50 1.38614 -297.50 27.50 22.50 2.53544 -297.50 27.50 27.50 3.82994 -297.50 27.50 32.50 4.61171 -297.50 27.50 37.50 4.39417 -297.50 27.50 42.50 3.52102 -297.50 27.50 47.50 2.48565 -297.50 27.50 52.50 1.6458 -297.50 27.50 57.50 1.18875 -297.50 27.50 62.50 1.00217 -297.50 27.50 67.50 0.749986 -297.50 27.50 72.50 0.446233 -297.50 27.50 77.50 0.224624 -297.50 27.50 82.50 0.106507 -297.50 27.50 87.50 0.0675548 -297.50 27.50 92.50 0.128577 -297.50 27.50 97.50 0.287223 -297.50 27.50 102.50 0.682243 -297.50 27.50 107.50 1.38614 -297.50 27.50 112.50 2.53544 -297.50 27.50 117.50 3.82994 -297.50 27.50 122.50 4.61171 -297.50 27.50 127.50 4.39416 -297.50 27.50 132.50 3.52102 -297.50 27.50 137.50 2.48565 -297.50 27.50 142.50 1.6458 -297.50 27.50 147.50 1.18875 -297.50 27.50 152.50 1.00217 -297.50 27.50 157.50 0.749987 -297.50 27.50 162.50 0.446233 -297.50 27.50 167.50 0.224624 -297.50 27.50 172.50 0.106507 -297.50 27.50 177.50 0.0675548 -297.50 27.50 182.50 0.128577 -297.50 27.50 187.50 0.287223 -297.50 27.50 192.50 0.682243 -297.50 27.50 197.50 1.38614 -297.50 27.50 202.50 2.53544 -297.50 27.50 207.50 3.82994 -297.50 27.50 212.50 4.6117 -297.50 27.50 217.50 4.39416 -297.50 27.50 222.50 3.52102 -297.50 27.50 227.50 2.48565 -297.50 27.50 232.50 1.6458 -297.50 27.50 237.50 1.18875 -297.50 27.50 242.50 1.00217 -297.50 27.50 247.50 0.749985 -297.50 27.50 252.50 0.446232 -297.50 27.50 257.50 0.224623 -297.50 27.50 262.50 0.106507 -297.50 27.50 267.50 0.0675549 -297.50 27.50 272.50 0.128577 -297.50 27.50 277.50 0.287222 -297.50 27.50 282.50 0.682243 -297.50 27.50 287.50 1.38614 -297.50 27.50 292.50 2.53544 -297.50 27.50 297.50 3.82994 -297.50 27.50 302.50 4.61171 -297.50 27.50 307.50 4.39417 -297.50 27.50 312.50 3.52102 -297.50 27.50 317.50 2.48565 -297.50 27.50 322.50 1.6458 -297.50 27.50 327.50 1.18875 -297.50 27.50 332.50 1.00217 -297.50 27.50 337.50 0.749986 -297.50 27.50 342.50 0.446233 -297.50 27.50 347.50 0.224624 -297.50 27.50 352.50 0.106507 -297.50 27.50 357.50 0.0675547 -297.50 32.50 2.50 0.130738 -297.50 32.50 7.50 0.329109 -297.50 32.50 12.50 0.769649 -297.50 32.50 17.50 1.56571 -297.50 32.50 22.50 2.96885 -297.50 32.50 27.50 4.62745 -297.50 32.50 32.50 5.41446 -297.50 32.50 37.50 5.20738 -297.50 32.50 42.50 4.05435 -297.50 32.50 47.50 2.59076 -297.50 32.50 52.50 1.46926 -297.50 32.50 57.50 0.916916 -297.50 32.50 62.50 0.652041 -297.50 32.50 67.50 0.4312 -297.50 32.50 72.50 0.223069 -297.50 32.50 77.50 0.10686 -297.50 32.50 82.50 0.0585891 -297.50 32.50 87.50 0.0489067 -297.50 32.50 92.50 0.130738 -297.50 32.50 97.50 0.329109 -297.50 32.50 102.50 0.76965 -297.50 32.50 107.50 1.56571 -297.50 32.50 112.50 2.96885 -297.50 32.50 117.50 4.62745 -297.50 32.50 122.50 5.41446 -297.50 32.50 127.50 5.20738 -297.50 32.50 132.50 4.05435 -297.50 32.50 137.50 2.59076 -297.50 32.50 142.50 1.46926 -297.50 32.50 147.50 0.916917 -297.50 32.50 152.50 0.652042 -297.50 32.50 157.50 0.4312 -297.50 32.50 162.50 0.22307 -297.50 32.50 167.50 0.10686 -297.50 32.50 172.50 0.058589 -297.50 32.50 177.50 0.0489067 -297.50 32.50 182.50 0.130738 -297.50 32.50 187.50 0.32911 -297.50 32.50 192.50 0.76965 -297.50 32.50 197.50 1.56571 -297.50 32.50 202.50 2.96885 -297.50 32.50 207.50 4.62745 -297.50 32.50 212.50 5.41446 -297.50 32.50 217.50 5.20738 -297.50 32.50 222.50 4.05435 -297.50 32.50 227.50 2.59076 -297.50 32.50 232.50 1.46925 -297.50 32.50 237.50 0.916916 -297.50 32.50 242.50 0.652041 -297.50 32.50 247.50 0.4312 -297.50 32.50 252.50 0.223069 -297.50 32.50 257.50 0.10686 -297.50 32.50 262.50 0.058589 -297.50 32.50 267.50 0.0489068 -297.50 32.50 272.50 0.130738 -297.50 32.50 277.50 0.329109 -297.50 32.50 282.50 0.769649 -297.50 32.50 287.50 1.56571 -297.50 32.50 292.50 2.96885 -297.50 32.50 297.50 4.62745 -297.50 32.50 302.50 5.41446 -297.50 32.50 307.50 5.20738 -297.50 32.50 312.50 4.05435 -297.50 32.50 317.50 2.59076 -297.50 32.50 322.50 1.46926 -297.50 32.50 327.50 0.916917 -297.50 32.50 332.50 0.652042 -297.50 32.50 337.50 0.431201 -297.50 32.50 342.50 0.22307 -297.50 32.50 347.50 0.106861 -297.50 32.50 352.50 0.0585891 -297.50 32.50 357.50 0.0489066 -297.50 37.50 2.50 0.0974755 -297.50 37.50 7.50 0.270603 -297.50 37.50 12.50 0.628633 -297.50 37.50 17.50 1.28792 -297.50 37.50 22.50 2.55427 -297.50 37.50 27.50 4.03039 -297.50 37.50 32.50 4.88877 -297.50 37.50 37.50 4.69045 -297.50 37.50 42.50 3.52062 -297.50 37.50 47.50 2.06341 -297.50 37.50 52.50 1.01343 -297.50 37.50 57.50 0.537988 -297.50 37.50 62.50 0.34409 -297.50 37.50 67.50 0.195092 -297.50 37.50 72.50 0.0857297 -297.50 37.50 77.50 0.0437712 -297.50 37.50 82.50 0.029963 -297.50 37.50 87.50 0.0319728 -297.50 37.50 92.50 0.0974755 -297.50 37.50 97.50 0.270603 -297.50 37.50 102.50 0.628633 -297.50 37.50 107.50 1.28792 -297.50 37.50 112.50 2.55427 -297.50 37.50 117.50 4.03039 -297.50 37.50 122.50 4.88877 -297.50 37.50 127.50 4.69045 -297.50 37.50 132.50 3.52062 -297.50 37.50 137.50 2.06342 -297.50 37.50 142.50 1.01343 -297.50 37.50 147.50 0.537988 -297.50 37.50 152.50 0.34409 -297.50 37.50 157.50 0.195092 -297.50 37.50 162.50 0.0857297 -297.50 37.50 167.50 0.0437712 -297.50 37.50 172.50 0.029963 -297.50 37.50 177.50 0.0319728 -297.50 37.50 182.50 0.0974755 -297.50 37.50 187.50 0.270603 -297.50 37.50 192.50 0.628633 -297.50 37.50 197.50 1.28793 -297.50 37.50 202.50 2.55428 -297.50 37.50 207.50 4.03039 -297.50 37.50 212.50 4.88877 -297.50 37.50 217.50 4.69045 -297.50 37.50 222.50 3.52062 -297.50 37.50 227.50 2.06342 -297.50 37.50 232.50 1.01343 -297.50 37.50 237.50 0.537988 -297.50 37.50 242.50 0.34409 -297.50 37.50 247.50 0.195092 -297.50 37.50 252.50 0.0857296 -297.50 37.50 257.50 0.0437712 -297.50 37.50 262.50 0.029963 -297.50 37.50 267.50 0.0319728 -297.50 37.50 272.50 0.0974754 -297.50 37.50 277.50 0.270603 -297.50 37.50 282.50 0.628633 -297.50 37.50 287.50 1.28792 -297.50 37.50 292.50 2.55427 -297.50 37.50 297.50 4.03039 -297.50 37.50 302.50 4.88877 -297.50 37.50 307.50 4.69045 -297.50 37.50 312.50 3.52062 -297.50 37.50 317.50 2.06342 -297.50 37.50 322.50 1.01344 -297.50 37.50 327.50 0.537988 -297.50 37.50 332.50 0.344091 -297.50 37.50 337.50 0.195093 -297.50 37.50 342.50 0.0857298 -297.50 37.50 347.50 0.0437713 -297.50 37.50 352.50 0.029963 -297.50 37.50 357.50 0.0319728 -297.50 42.50 2.50 0.0543458 -297.50 42.50 7.50 0.156544 -297.50 42.50 12.50 0.369483 -297.50 42.50 17.50 0.790616 -297.50 42.50 22.50 1.62574 -297.50 42.50 27.50 2.69838 -297.50 42.50 32.50 3.37986 -297.50 42.50 37.50 3.13446 -297.50 42.50 42.50 2.24846 -297.50 42.50 47.50 1.17994 -297.50 42.50 52.50 0.517223 -297.50 42.50 57.50 0.236099 -297.50 42.50 62.50 0.134339 -297.50 42.50 67.50 0.0704415 -297.50 42.50 72.50 0.029629 -297.50 42.50 77.50 0.0201029 -297.50 42.50 82.50 0.0181523 -297.50 42.50 87.50 0.019399 -297.50 42.50 92.50 0.0543459 -297.50 42.50 97.50 0.156544 -297.50 42.50 102.50 0.369483 -297.50 42.50 107.50 0.790616 -297.50 42.50 112.50 1.62574 -297.50 42.50 117.50 2.69838 -297.50 42.50 122.50 3.37986 -297.50 42.50 127.50 3.13446 -297.50 42.50 132.50 2.24846 -297.50 42.50 137.50 1.17994 -297.50 42.50 142.50 0.517224 -297.50 42.50 147.50 0.236099 -297.50 42.50 152.50 0.134339 -297.50 42.50 157.50 0.0704416 -297.50 42.50 162.50 0.029629 -297.50 42.50 167.50 0.0201029 -297.50 42.50 172.50 0.0181523 -297.50 42.50 177.50 0.019399 -297.50 42.50 182.50 0.0543459 -297.50 42.50 187.50 0.156544 -297.50 42.50 192.50 0.369483 -297.50 42.50 197.50 0.790616 -297.50 42.50 202.50 1.62574 -297.50 42.50 207.50 2.69837 -297.50 42.50 212.50 3.37986 -297.50 42.50 217.50 3.13446 -297.50 42.50 222.50 2.24846 -297.50 42.50 227.50 1.17994 -297.50 42.50 232.50 0.517222 -297.50 42.50 237.50 0.236099 -297.50 42.50 242.50 0.134339 -297.50 42.50 247.50 0.0704415 -297.50 42.50 252.50 0.0296289 -297.50 42.50 257.50 0.0201029 -297.50 42.50 262.50 0.0181523 -297.50 42.50 267.50 0.019399 -297.50 42.50 272.50 0.0543458 -297.50 42.50 277.50 0.156544 -297.50 42.50 282.50 0.369482 -297.50 42.50 287.50 0.790616 -297.50 42.50 292.50 1.62574 -297.50 42.50 297.50 2.69837 -297.50 42.50 302.50 3.37986 -297.50 42.50 307.50 3.13446 -297.50 42.50 312.50 2.24846 -297.50 42.50 317.50 1.17994 -297.50 42.50 322.50 0.517225 -297.50 42.50 327.50 0.236099 -297.50 42.50 332.50 0.13434 -297.50 42.50 337.50 0.0704416 -297.50 42.50 342.50 0.029629 -297.50 42.50 347.50 0.0201029 -297.50 42.50 352.50 0.0181524 -297.50 42.50 357.50 0.019399 -297.50 47.50 2.50 0.0370179 -297.50 47.50 7.50 0.0778325 -297.50 47.50 12.50 0.17609 -297.50 47.50 17.50 0.381166 -297.50 47.50 22.50 0.818625 -297.50 47.50 27.50 1.41441 -297.50 47.50 32.50 1.66793 -297.50 47.50 37.50 1.43932 -297.50 47.50 42.50 0.922785 -297.50 47.50 47.50 0.498101 -297.50 47.50 52.50 0.179249 -297.50 47.50 57.50 0.0803484 -297.50 47.50 62.50 0.0369965 -297.50 47.50 67.50 0.0271068 -297.50 47.50 72.50 0.0300108 -297.50 47.50 77.50 0.0436275 -297.50 47.50 82.50 0.043062 -297.50 47.50 87.50 0.0308333 -297.50 47.50 92.50 0.0370179 -297.50 47.50 97.50 0.0778326 -297.50 47.50 102.50 0.17609 -297.50 47.50 107.50 0.381166 -297.50 47.50 112.50 0.818625 -297.50 47.50 117.50 1.41442 -297.50 47.50 122.50 1.66793 -297.50 47.50 127.50 1.43932 -297.50 47.50 132.50 0.922784 -297.50 47.50 137.50 0.498101 -297.50 47.50 142.50 0.179249 -297.50 47.50 147.50 0.0803483 -297.50 47.50 152.50 0.0369965 -297.50 47.50 157.50 0.0271068 -297.50 47.50 162.50 0.0300108 -297.50 47.50 167.50 0.0436275 -297.50 47.50 172.50 0.043062 -297.50 47.50 177.50 0.0308333 -297.50 47.50 182.50 0.0370179 -297.50 47.50 187.50 0.0778326 -297.50 47.50 192.50 0.17609 -297.50 47.50 197.50 0.381167 -297.50 47.50 202.50 0.818625 -297.50 47.50 207.50 1.41441 -297.50 47.50 212.50 1.66793 -297.50 47.50 217.50 1.43932 -297.50 47.50 222.50 0.922784 -297.50 47.50 227.50 0.498101 -297.50 47.50 232.50 0.179248 -297.50 47.50 237.50 0.0803483 -297.50 47.50 242.50 0.0369965 -297.50 47.50 247.50 0.0271068 -297.50 47.50 252.50 0.0300108 -297.50 47.50 257.50 0.0436275 -297.50 47.50 262.50 0.043062 -297.50 47.50 267.50 0.0308333 -297.50 47.50 272.50 0.0370179 -297.50 47.50 277.50 0.0778325 -297.50 47.50 282.50 0.17609 -297.50 47.50 287.50 0.381166 -297.50 47.50 292.50 0.818624 -297.50 47.50 297.50 1.41441 -297.50 47.50 302.50 1.66793 -297.50 47.50 307.50 1.43932 -297.50 47.50 312.50 0.922785 -297.50 47.50 317.50 0.498101 -297.50 47.50 322.50 0.179249 -297.50 47.50 327.50 0.0803485 -297.50 47.50 332.50 0.0369965 -297.50 47.50 337.50 0.0271068 -297.50 47.50 342.50 0.0300108 -297.50 47.50 347.50 0.0436275 -297.50 47.50 352.50 0.043062 -297.50 47.50 357.50 0.0308333 -297.50 52.50 2.50 0.0543458 -297.50 52.50 7.50 0.0469194 -297.50 52.50 12.50 0.0728263 -297.50 52.50 17.50 0.154202 -297.50 52.50 22.50 0.341572 -297.50 52.50 27.50 0.525444 -297.50 52.50 32.50 0.562986 -297.50 52.50 37.50 0.45162 -297.50 52.50 42.50 0.283554 -297.50 52.50 47.50 0.137815 -297.50 52.50 52.50 0.0537107 -297.50 52.50 57.50 0.0280947 -297.50 52.50 62.50 0.0377448 -297.50 52.50 67.50 0.0656052 -297.50 52.50 72.50 0.0983816 -297.50 52.50 77.50 0.136006 -297.50 52.50 82.50 0.130605 -297.50 52.50 87.50 0.088759 -297.50 52.50 92.50 0.0543458 -297.50 52.50 97.50 0.0469194 -297.50 52.50 102.50 0.0728263 -297.50 52.50 107.50 0.154202 -297.50 52.50 112.50 0.341572 -297.50 52.50 117.50 0.525444 -297.50 52.50 122.50 0.562987 -297.50 52.50 127.50 0.45162 -297.50 52.50 132.50 0.283554 -297.50 52.50 137.50 0.137815 -297.50 52.50 142.50 0.0537107 -297.50 52.50 147.50 0.0280947 -297.50 52.50 152.50 0.0377448 -297.50 52.50 157.50 0.0656051 -297.50 52.50 162.50 0.0983815 -297.50 52.50 167.50 0.136006 -297.50 52.50 172.50 0.130605 -297.50 52.50 177.50 0.088759 -297.50 52.50 182.50 0.0543458 -297.50 52.50 187.50 0.0469194 -297.50 52.50 192.50 0.0728263 -297.50 52.50 197.50 0.154203 -297.50 52.50 202.50 0.341572 -297.50 52.50 207.50 0.525444 -297.50 52.50 212.50 0.562986 -297.50 52.50 217.50 0.45162 -297.50 52.50 222.50 0.283554 -297.50 52.50 227.50 0.137816 -297.50 52.50 232.50 0.0537104 -297.50 52.50 237.50 0.0280947 -297.50 52.50 242.50 0.0377448 -297.50 52.50 247.50 0.0656053 -297.50 52.50 252.50 0.0983816 -297.50 52.50 257.50 0.136006 -297.50 52.50 262.50 0.130605 -297.50 52.50 267.50 0.0887589 -297.50 52.50 272.50 0.0543458 -297.50 52.50 277.50 0.0469194 -297.50 52.50 282.50 0.0728263 -297.50 52.50 287.50 0.154202 -297.50 52.50 292.50 0.341571 -297.50 52.50 297.50 0.525444 -297.50 52.50 302.50 0.562986 -297.50 52.50 307.50 0.45162 -297.50 52.50 312.50 0.283554 -297.50 52.50 317.50 0.137816 -297.50 52.50 322.50 0.0537107 -297.50 52.50 327.50 0.0280947 -297.50 52.50 332.50 0.0377448 -297.50 52.50 337.50 0.0656052 -297.50 52.50 342.50 0.0983815 -297.50 52.50 347.50 0.136006 -297.50 52.50 352.50 0.130606 -297.50 52.50 357.50 0.0887591 -297.50 57.50 2.50 0.0974754 -297.50 57.50 7.50 0.0399963 -297.50 57.50 12.50 0.0293443 -297.50 57.50 17.50 0.0659186 -297.50 57.50 22.50 0.102507 -297.50 57.50 27.50 0.126797 -297.50 57.50 32.50 0.134909 -297.50 57.50 37.50 0.120496 -297.50 57.50 42.50 0.080277 -297.50 57.50 47.50 0.0555731 -297.50 57.50 52.50 0.0461287 -297.50 57.50 57.50 0.0772948 -297.50 57.50 62.50 0.155417 -297.50 57.50 67.50 0.25129 -297.50 57.50 72.50 0.331034 -297.50 57.50 77.50 0.340989 -297.50 57.50 82.50 0.287254 -297.50 57.50 87.50 0.195512 -297.50 57.50 92.50 0.0974754 -297.50 57.50 97.50 0.0399963 -297.50 57.50 102.50 0.0293443 -297.50 57.50 107.50 0.0659186 -297.50 57.50 112.50 0.102507 -297.50 57.50 117.50 0.126797 -297.50 57.50 122.50 0.134909 -297.50 57.50 127.50 0.120496 -297.50 57.50 132.50 0.080277 -297.50 57.50 137.50 0.0555731 -297.50 57.50 142.50 0.0461287 -297.50 57.50 147.50 0.0772948 -297.50 57.50 152.50 0.155417 -297.50 57.50 157.50 0.25129 -297.50 57.50 162.50 0.331034 -297.50 57.50 167.50 0.340989 -297.50 57.50 172.50 0.287254 -297.50 57.50 177.50 0.195513 -297.50 57.50 182.50 0.0974754 -297.50 57.50 187.50 0.0399963 -297.50 57.50 192.50 0.0293443 -297.50 57.50 197.50 0.0659186 -297.50 57.50 202.50 0.102507 -297.50 57.50 207.50 0.126797 -297.50 57.50 212.50 0.134909 -297.50 57.50 217.50 0.120496 -297.50 57.50 222.50 0.080277 -297.50 57.50 227.50 0.0555731 -297.50 57.50 232.50 0.0461287 -297.50 57.50 237.50 0.0772949 -297.50 57.50 242.50 0.155417 -297.50 57.50 247.50 0.25129 -297.50 57.50 252.50 0.331034 -297.50 57.50 257.50 0.340989 -297.50 57.50 262.50 0.287254 -297.50 57.50 267.50 0.195512 -297.50 57.50 272.50 0.0974754 -297.50 57.50 277.50 0.0399963 -297.50 57.50 282.50 0.0293443 -297.50 57.50 287.50 0.0659186 -297.50 57.50 292.50 0.102507 -297.50 57.50 297.50 0.126797 -297.50 57.50 302.50 0.134909 -297.50 57.50 307.50 0.120496 -297.50 57.50 312.50 0.0802771 -297.50 57.50 317.50 0.0555731 -297.50 57.50 322.50 0.0461286 -297.50 57.50 327.50 0.0772948 -297.50 57.50 332.50 0.155417 -297.50 57.50 337.50 0.25129 -297.50 57.50 342.50 0.331034 -297.50 57.50 347.50 0.34099 -297.50 57.50 352.50 0.287254 -297.50 57.50 357.50 0.195513 -297.50 62.50 2.50 0.130738 -297.50 62.50 7.50 0.039468 -297.50 62.50 12.50 0.0172488 -297.50 62.50 17.50 0.0186961 -297.50 62.50 22.50 0.0214521 -297.50 62.50 27.50 0.0241577 -297.50 62.50 32.50 0.0330205 -297.50 62.50 37.50 0.0444239 -297.50 62.50 42.50 0.0611989 -297.50 62.50 47.50 0.108223 -297.50 62.50 52.50 0.19984 -297.50 62.50 57.50 0.352877 -297.50 62.50 62.50 0.534546 -297.50 62.50 67.50 0.7339 -297.50 62.50 72.50 0.841433 -297.50 62.50 77.50 0.714308 -297.50 62.50 82.50 0.483704 -297.50 62.50 87.50 0.296509 -297.50 62.50 92.50 0.130738 -297.50 62.50 97.50 0.039468 -297.50 62.50 102.50 0.0172488 -297.50 62.50 107.50 0.0186961 -297.50 62.50 112.50 0.0214521 -297.50 62.50 117.50 0.0241577 -297.50 62.50 122.50 0.0330205 -297.50 62.50 127.50 0.0444239 -297.50 62.50 132.50 0.0611989 -297.50 62.50 137.50 0.108222 -297.50 62.50 142.50 0.199839 -297.50 62.50 147.50 0.352876 -297.50 62.50 152.50 0.534545 -297.50 62.50 157.50 0.733899 -297.50 62.50 162.50 0.841432 -297.50 62.50 167.50 0.714308 -297.50 62.50 172.50 0.483705 -297.50 62.50 177.50 0.296509 -297.50 62.50 182.50 0.130738 -297.50 62.50 187.50 0.039468 -297.50 62.50 192.50 0.0172488 -297.50 62.50 197.50 0.0186962 -297.50 62.50 202.50 0.0214521 -297.50 62.50 207.50 0.0241577 -297.50 62.50 212.50 0.0330205 -297.50 62.50 217.50 0.0444238 -297.50 62.50 222.50 0.0611989 -297.50 62.50 227.50 0.108222 -297.50 62.50 232.50 0.199839 -297.50 62.50 237.50 0.352877 -297.50 62.50 242.50 0.534545 -297.50 62.50 247.50 0.7339 -297.50 62.50 252.50 0.841432 -297.50 62.50 257.50 0.714308 -297.50 62.50 262.50 0.483704 -297.50 62.50 267.50 0.296509 -297.50 62.50 272.50 0.130738 -297.50 62.50 277.50 0.039468 -297.50 62.50 282.50 0.0172488 -297.50 62.50 287.50 0.0186962 -297.50 62.50 292.50 0.0214521 -297.50 62.50 297.50 0.0241577 -297.50 62.50 302.50 0.0330205 -297.50 62.50 307.50 0.0444239 -297.50 62.50 312.50 0.0611989 -297.50 62.50 317.50 0.108223 -297.50 62.50 322.50 0.199839 -297.50 62.50 327.50 0.352876 -297.50 62.50 332.50 0.534545 -297.50 62.50 337.50 0.733899 -297.50 62.50 342.50 0.841433 -297.50 62.50 347.50 0.714309 -297.50 62.50 352.50 0.483705 -297.50 62.50 357.50 0.296509 -297.50 67.50 2.50 0.128577 -297.50 67.50 7.50 0.0394433 -297.50 67.50 12.50 0.0117613 -297.50 67.50 17.50 0.00578838 -297.50 67.50 22.50 0.00545859 -297.50 67.50 27.50 0.00787526 -297.50 67.50 32.50 0.0175434 -297.50 67.50 37.50 0.0578933 -297.50 67.50 42.50 0.164346 -297.50 67.50 47.50 0.373142 -297.50 67.50 52.50 0.669425 -297.50 67.50 57.50 1.06691 -297.50 67.50 62.50 1.4843 -297.50 67.50 67.50 1.69153 -297.50 67.50 72.50 1.66328 -297.50 67.50 77.50 1.24085 -297.50 67.50 82.50 0.699142 -297.50 67.50 87.50 0.337514 -297.50 67.50 92.50 0.128577 -297.50 67.50 97.50 0.0394433 -297.50 67.50 102.50 0.0117613 -297.50 67.50 107.50 0.00578837 -297.50 67.50 112.50 0.00545859 -297.50 67.50 117.50 0.00787526 -297.50 67.50 122.50 0.0175434 -297.50 67.50 127.50 0.0578933 -297.50 67.50 132.50 0.164346 -297.50 67.50 137.50 0.373142 -297.50 67.50 142.50 0.669424 -297.50 67.50 147.50 1.06691 -297.50 67.50 152.50 1.48429 -297.50 67.50 157.50 1.69152 -297.50 67.50 162.50 1.66328 -297.50 67.50 167.50 1.24085 -297.50 67.50 172.50 0.699143 -297.50 67.50 177.50 0.337514 -297.50 67.50 182.50 0.128577 -297.50 67.50 187.50 0.0394433 -297.50 67.50 192.50 0.0117613 -297.50 67.50 197.50 0.00578838 -297.50 67.50 202.50 0.00545859 -297.50 67.50 207.50 0.00787526 -297.50 67.50 212.50 0.0175433 -297.50 67.50 217.50 0.0578932 -297.50 67.50 222.50 0.164346 -297.50 67.50 227.50 0.373141 -297.50 67.50 232.50 0.669425 -297.50 67.50 237.50 1.06691 -297.50 67.50 242.50 1.48429 -297.50 67.50 247.50 1.69153 -297.50 67.50 252.50 1.66328 -297.50 67.50 257.50 1.24085 -297.50 67.50 262.50 0.699141 -297.50 67.50 267.50 0.337514 -297.50 67.50 272.50 0.128577 -297.50 67.50 277.50 0.0394433 -297.50 67.50 282.50 0.0117613 -297.50 67.50 287.50 0.00578838 -297.50 67.50 292.50 0.00545859 -297.50 67.50 297.50 0.00787526 -297.50 67.50 302.50 0.0175433 -297.50 67.50 307.50 0.0578933 -297.50 67.50 312.50 0.164346 -297.50 67.50 317.50 0.373142 -297.50 67.50 322.50 0.669425 -297.50 67.50 327.50 1.06691 -297.50 67.50 332.50 1.48429 -297.50 67.50 337.50 1.69153 -297.50 67.50 342.50 1.66328 -297.50 67.50 347.50 1.24085 -297.50 67.50 352.50 0.699143 -297.50 67.50 357.50 0.337515 -297.50 72.50 2.50 0.121879 -297.50 72.50 7.50 0.050492 -297.50 72.50 12.50 0.0180791 -297.50 72.50 17.50 0.0109335 -297.50 72.50 22.50 0.013783 -297.50 72.50 27.50 0.0188466 -297.50 72.50 32.50 0.0576383 -297.50 72.50 37.50 0.177832 -297.50 72.50 42.50 0.459733 -297.50 72.50 47.50 0.922023 -297.50 72.50 52.50 1.58649 -297.50 72.50 57.50 2.26691 -297.50 72.50 62.50 2.86468 -297.50 72.50 67.50 3.06923 -297.50 72.50 72.50 2.6212 -297.50 72.50 77.50 1.77937 -297.50 72.50 82.50 0.884302 -297.50 72.50 87.50 0.363239 -297.50 72.50 92.50 0.121878 -297.50 72.50 97.50 0.050492 -297.50 72.50 102.50 0.018079 -297.50 72.50 107.50 0.0109335 -297.50 72.50 112.50 0.0137829 -297.50 72.50 117.50 0.0188465 -297.50 72.50 122.50 0.0576382 -297.50 72.50 127.50 0.177832 -297.50 72.50 132.50 0.459734 -297.50 72.50 137.50 0.922023 -297.50 72.50 142.50 1.58648 -297.50 72.50 147.50 2.26691 -297.50 72.50 152.50 2.86468 -297.50 72.50 157.50 3.06923 -297.50 72.50 162.50 2.6212 -297.50 72.50 167.50 1.77937 -297.50 72.50 172.50 0.884303 -297.50 72.50 177.50 0.363239 -297.50 72.50 182.50 0.121878 -297.50 72.50 187.50 0.050492 -297.50 72.50 192.50 0.018079 -297.50 72.50 197.50 0.0109335 -297.50 72.50 202.50 0.0137829 -297.50 72.50 207.50 0.0188465 -297.50 72.50 212.50 0.0576382 -297.50 72.50 217.50 0.177831 -297.50 72.50 222.50 0.459733 -297.50 72.50 227.50 0.922022 -297.50 72.50 232.50 1.58649 -297.50 72.50 237.50 2.26692 -297.50 72.50 242.50 2.86468 -297.50 72.50 247.50 3.06923 -297.50 72.50 252.50 2.6212 -297.50 72.50 257.50 1.77937 -297.50 72.50 262.50 0.884301 -297.50 72.50 267.50 0.363238 -297.50 72.50 272.50 0.121879 -297.50 72.50 277.50 0.050492 -297.50 72.50 282.50 0.018079 -297.50 72.50 287.50 0.0109335 -297.50 72.50 292.50 0.013783 -297.50 72.50 297.50 0.0188465 -297.50 72.50 302.50 0.0576382 -297.50 72.50 307.50 0.177831 -297.50 72.50 312.50 0.459733 -297.50 72.50 317.50 0.922023 -297.50 72.50 322.50 1.58648 -297.50 72.50 327.50 2.26691 -297.50 72.50 332.50 2.86468 -297.50 72.50 337.50 3.06923 -297.50 72.50 342.50 2.6212 -297.50 72.50 347.50 1.77937 -297.50 72.50 352.50 0.884304 -297.50 72.50 357.50 0.363239 -297.50 77.50 2.50 0.129911 -297.50 77.50 7.50 0.0644308 -297.50 77.50 12.50 0.0247857 -297.50 77.50 17.50 0.0271833 -297.50 77.50 22.50 0.0323425 -297.50 77.50 27.50 0.0747902 -297.50 77.50 32.50 0.202158 -297.50 77.50 37.50 0.529718 -297.50 77.50 42.50 1.13284 -297.50 77.50 47.50 1.93749 -297.50 77.50 52.50 2.79439 -297.50 77.50 57.50 3.61436 -297.50 77.50 62.50 4.06137 -297.50 77.50 67.50 3.92391 -297.50 77.50 72.50 3.22584 -297.50 77.50 77.50 2.14485 -297.50 77.50 82.50 0.979881 -297.50 77.50 87.50 0.401407 -297.50 77.50 92.50 0.12991 -297.50 77.50 97.50 0.0644308 -297.50 77.50 102.50 0.0247857 -297.50 77.50 107.50 0.0271833 -297.50 77.50 112.50 0.0323424 -297.50 77.50 117.50 0.0747902 -297.50 77.50 122.50 0.202158 -297.50 77.50 127.50 0.529718 -297.50 77.50 132.50 1.13284 -297.50 77.50 137.50 1.93749 -297.50 77.50 142.50 2.79439 -297.50 77.50 147.50 3.61436 -297.50 77.50 152.50 4.06137 -297.50 77.50 157.50 3.92391 -297.50 77.50 162.50 3.22584 -297.50 77.50 167.50 2.14485 -297.50 77.50 172.50 0.979882 -297.50 77.50 177.50 0.401407 -297.50 77.50 182.50 0.12991 -297.50 77.50 187.50 0.0644308 -297.50 77.50 192.50 0.0247857 -297.50 77.50 197.50 0.0271833 -297.50 77.50 202.50 0.0323424 -297.50 77.50 207.50 0.0747901 -297.50 77.50 212.50 0.202158 -297.50 77.50 217.50 0.529717 -297.50 77.50 222.50 1.13284 -297.50 77.50 227.50 1.93749 -297.50 77.50 232.50 2.7944 -297.50 77.50 237.50 3.61436 -297.50 77.50 242.50 4.06137 -297.50 77.50 247.50 3.92391 -297.50 77.50 252.50 3.22583 -297.50 77.50 257.50 2.14485 -297.50 77.50 262.50 0.979879 -297.50 77.50 267.50 0.401406 -297.50 77.50 272.50 0.129911 -297.50 77.50 277.50 0.0644308 -297.50 77.50 282.50 0.0247857 -297.50 77.50 287.50 0.0271833 -297.50 77.50 292.50 0.0323425 -297.50 77.50 297.50 0.0747901 -297.50 77.50 302.50 0.202158 -297.50 77.50 307.50 0.529717 -297.50 77.50 312.50 1.13284 -297.50 77.50 317.50 1.93749 -297.50 77.50 322.50 2.79439 -297.50 77.50 327.50 3.61436 -297.50 77.50 332.50 4.06137 -297.50 77.50 337.50 3.92391 -297.50 77.50 342.50 3.22584 -297.50 77.50 347.50 2.14485 -297.50 77.50 352.50 0.979884 -297.50 77.50 357.50 0.401408 -297.50 82.50 2.50 0.116684 -297.50 82.50 7.50 0.0524977 -297.50 82.50 12.50 0.0362753 -297.50 82.50 17.50 0.0540158 -297.50 82.50 22.50 0.118622 -297.50 82.50 27.50 0.269232 -297.50 82.50 32.50 0.600579 -297.50 82.50 37.50 1.2743 -297.50 82.50 42.50 2.31854 -297.50 82.50 47.50 3.4332 -297.50 82.50 52.50 4.28592 -297.50 82.50 57.50 4.68213 -297.50 82.50 62.50 4.57792 -297.50 82.50 67.50 4.00215 -297.50 82.50 72.50 3.02758 -297.50 82.50 77.50 1.86165 -297.50 82.50 82.50 0.980142 -297.50 82.50 87.50 0.341343 -297.50 82.50 92.50 0.116684 -297.50 82.50 97.50 0.0524977 -297.50 82.50 102.50 0.0362753 -297.50 82.50 107.50 0.0540157 -297.50 82.50 112.50 0.118622 -297.50 82.50 117.50 0.269232 -297.50 82.50 122.50 0.600578 -297.50 82.50 127.50 1.2743 -297.50 82.50 132.50 2.31854 -297.50 82.50 137.50 3.4332 -297.50 82.50 142.50 4.28592 -297.50 82.50 147.50 4.68213 -297.50 82.50 152.50 4.57792 -297.50 82.50 157.50 4.00215 -297.50 82.50 162.50 3.02758 -297.50 82.50 167.50 1.86165 -297.50 82.50 172.50 0.980142 -297.50 82.50 177.50 0.341343 -297.50 82.50 182.50 0.116684 -297.50 82.50 187.50 0.0524976 -297.50 82.50 192.50 0.0362753 -297.50 82.50 197.50 0.0540157 -297.50 82.50 202.50 0.118622 -297.50 82.50 207.50 0.269231 -297.50 82.50 212.50 0.600578 -297.50 82.50 217.50 1.2743 -297.50 82.50 222.50 2.31854 -297.50 82.50 227.50 3.43319 -297.50 82.50 232.50 4.28592 -297.50 82.50 237.50 4.68213 -297.50 82.50 242.50 4.57792 -297.50 82.50 247.50 4.00215 -297.50 82.50 252.50 3.02758 -297.50 82.50 257.50 1.86165 -297.50 82.50 262.50 0.980141 -297.50 82.50 267.50 0.341343 -297.50 82.50 272.50 0.116684 -297.50 82.50 277.50 0.0524977 -297.50 82.50 282.50 0.0362753 -297.50 82.50 287.50 0.0540158 -297.50 82.50 292.50 0.118622 -297.50 82.50 297.50 0.269232 -297.50 82.50 302.50 0.600578 -297.50 82.50 307.50 1.2743 -297.50 82.50 312.50 2.31854 -297.50 82.50 317.50 3.43319 -297.50 82.50 322.50 4.28592 -297.50 82.50 327.50 4.68213 -297.50 82.50 332.50 4.57792 -297.50 82.50 337.50 4.00215 -297.50 82.50 342.50 3.02759 -297.50 82.50 347.50 1.86165 -297.50 82.50 352.50 0.980144 -297.50 82.50 357.50 0.341344 -297.50 87.50 2.50 0.0733504 -297.50 87.50 7.50 0.0437786 -297.50 87.50 12.50 0.074184 -297.50 87.50 17.50 0.175027 -297.50 87.50 22.50 0.383313 -297.50 87.50 27.50 0.771999 -297.50 87.50 32.50 1.43339 -297.50 87.50 37.50 2.45668 -297.50 87.50 42.50 3.66805 -297.50 87.50 47.50 4.61084 -297.50 87.50 52.50 4.99921 -297.50 87.50 57.50 4.83952 -297.50 87.50 62.50 4.20612 -297.50 87.50 67.50 3.22083 -297.50 87.50 72.50 2.1196 -297.50 87.50 77.50 1.238 -297.50 87.50 82.50 0.576255 -297.50 87.50 87.50 0.240551 -297.50 87.50 92.50 0.0733504 -297.50 87.50 97.50 0.0437786 -297.50 87.50 102.50 0.0741839 -297.50 87.50 107.50 0.175026 -297.50 87.50 112.50 0.383313 -297.50 87.50 117.50 0.771999 -297.50 87.50 122.50 1.43339 -297.50 87.50 127.50 2.45668 -297.50 87.50 132.50 3.66805 -297.50 87.50 137.50 4.61084 -297.50 87.50 142.50 4.99921 -297.50 87.50 147.50 4.83952 -297.50 87.50 152.50 4.20612 -297.50 87.50 157.50 3.22083 -297.50 87.50 162.50 2.1196 -297.50 87.50 167.50 1.238 -297.50 87.50 172.50 0.576256 -297.50 87.50 177.50 0.240551 -297.50 87.50 182.50 0.0733504 -297.50 87.50 187.50 0.0437786 -297.50 87.50 192.50 0.0741839 -297.50 87.50 197.50 0.175026 -297.50 87.50 202.50 0.383313 -297.50 87.50 207.50 0.771999 -297.50 87.50 212.50 1.43339 -297.50 87.50 217.50 2.45668 -297.50 87.50 222.50 3.66805 -297.50 87.50 227.50 4.61084 -297.50 87.50 232.50 4.99921 -297.50 87.50 237.50 4.83952 -297.50 87.50 242.50 4.20612 -297.50 87.50 247.50 3.22083 -297.50 87.50 252.50 2.1196 -297.50 87.50 257.50 1.238 -297.50 87.50 262.50 0.576254 -297.50 87.50 267.50 0.240551 -297.50 87.50 272.50 0.0733504 -297.50 87.50 277.50 0.0437786 -297.50 87.50 282.50 0.0741839 -297.50 87.50 287.50 0.175026 -297.50 87.50 292.50 0.383313 -297.50 87.50 297.50 0.771999 -297.50 87.50 302.50 1.43339 -297.50 87.50 307.50 2.45668 -297.50 87.50 312.50 3.66805 -297.50 87.50 317.50 4.61084 -297.50 87.50 322.50 4.99921 -297.50 87.50 327.50 4.83952 -297.50 87.50 332.50 4.20612 -297.50 87.50 337.50 3.22083 -297.50 87.50 342.50 2.1196 -297.50 87.50 347.50 1.238 -297.50 87.50 352.50 0.576257 -297.50 87.50 357.50 0.240552 -297.50 92.50 2.50 0.0485219 -297.50 92.50 7.50 0.0874277 -297.50 92.50 12.50 0.221571 -297.50 92.50 17.50 0.514899 -297.50 92.50 22.50 1.04915 -297.50 92.50 27.50 1.82434 -297.50 92.50 32.50 2.76505 -297.50 92.50 37.50 3.78322 -297.50 92.50 42.50 4.66762 -297.50 92.50 47.50 5.03542 -297.50 92.50 52.50 4.66762 -297.50 92.50 57.50 3.78322 -297.50 92.50 62.50 2.76505 -297.50 92.50 67.50 1.82434 -297.50 92.50 72.50 1.04915 -297.50 92.50 77.50 0.514898 -297.50 92.50 82.50 0.221571 -297.50 92.50 87.50 0.0874276 -297.50 92.50 92.50 0.0485219 -297.50 92.50 97.50 0.0874276 -297.50 92.50 102.50 0.221571 -297.50 92.50 107.50 0.514899 -297.50 92.50 112.50 1.04915 -297.50 92.50 117.50 1.82434 -297.50 92.50 122.50 2.76505 -297.50 92.50 127.50 3.78322 -297.50 92.50 132.50 4.66762 -297.50 92.50 137.50 5.03542 -297.50 92.50 142.50 4.66762 -297.50 92.50 147.50 3.78322 -297.50 92.50 152.50 2.76505 -297.50 92.50 157.50 1.82434 -297.50 92.50 162.50 1.04915 -297.50 92.50 167.50 0.514899 -297.50 92.50 172.50 0.221571 -297.50 92.50 177.50 0.0874277 -297.50 92.50 182.50 0.0485219 -297.50 92.50 187.50 0.0874276 -297.50 92.50 192.50 0.221571 -297.50 92.50 197.50 0.514899 -297.50 92.50 202.50 1.04915 -297.50 92.50 207.50 1.82434 -297.50 92.50 212.50 2.76505 -297.50 92.50 217.50 3.78322 -297.50 92.50 222.50 4.66761 -297.50 92.50 227.50 5.03542 -297.50 92.50 232.50 4.66761 -297.50 92.50 237.50 3.78322 -297.50 92.50 242.50 2.76505 -297.50 92.50 247.50 1.82434 -297.50 92.50 252.50 1.04914 -297.50 92.50 257.50 0.514898 -297.50 92.50 262.50 0.22157 -297.50 92.50 267.50 0.0874275 -297.50 92.50 272.50 0.0485219 -297.50 92.50 277.50 0.0874277 -297.50 92.50 282.50 0.221571 -297.50 92.50 287.50 0.514899 -297.50 92.50 292.50 1.04915 -297.50 92.50 297.50 1.82434 -297.50 92.50 302.50 2.76505 -297.50 92.50 307.50 3.78322 -297.50 92.50 312.50 4.66761 -297.50 92.50 317.50 5.03542 -297.50 92.50 322.50 4.66762 -297.50 92.50 327.50 3.78322 -297.50 92.50 332.50 2.76505 -297.50 92.50 337.50 1.82434 -297.50 92.50 342.50 1.04915 -297.50 92.50 347.50 0.5149 -297.50 92.50 352.50 0.221571 -297.50 92.50 357.50 0.0874278 -297.50 97.50 2.50 0.0733504 -297.50 97.50 7.50 0.240551 -297.50 97.50 12.50 0.576256 -297.50 97.50 17.50 1.238 -297.50 97.50 22.50 2.1196 -297.50 97.50 27.50 3.22083 -297.50 97.50 32.50 4.20612 -297.50 97.50 37.50 4.83952 -297.50 97.50 42.50 4.99921 -297.50 97.50 47.50 4.61084 -297.50 97.50 52.50 3.66805 -297.50 97.50 57.50 2.45668 -297.50 97.50 62.50 1.43339 -297.50 97.50 67.50 0.771999 -297.50 97.50 72.50 0.383313 -297.50 97.50 77.50 0.175026 -297.50 97.50 82.50 0.0741839 -297.50 97.50 87.50 0.0437786 -297.50 97.50 92.50 0.0733504 -297.50 97.50 97.50 0.240551 -297.50 97.50 102.50 0.576256 -297.50 97.50 107.50 1.238 -297.50 97.50 112.50 2.1196 -297.50 97.50 117.50 3.22083 -297.50 97.50 122.50 4.20612 -297.50 97.50 127.50 4.83952 -297.50 97.50 132.50 4.99921 -297.50 97.50 137.50 4.61084 -297.50 97.50 142.50 3.66805 -297.50 97.50 147.50 2.45668 -297.50 97.50 152.50 1.43339 -297.50 97.50 157.50 0.772 -297.50 97.50 162.50 0.383313 -297.50 97.50 167.50 0.175026 -297.50 97.50 172.50 0.074184 -297.50 97.50 177.50 0.0437786 -297.50 97.50 182.50 0.0733504 -297.50 97.50 187.50 0.240551 -297.50 97.50 192.50 0.576256 -297.50 97.50 197.50 1.238 -297.50 97.50 202.50 2.1196 -297.50 97.50 207.50 3.22083 -297.50 97.50 212.50 4.20612 -297.50 97.50 217.50 4.83952 -297.50 97.50 222.50 4.99921 -297.50 97.50 227.50 4.61084 -297.50 97.50 232.50 3.66804 -297.50 97.50 237.50 2.45668 -297.50 97.50 242.50 1.43339 -297.50 97.50 247.50 0.771998 -297.50 97.50 252.50 0.383313 -297.50 97.50 257.50 0.175026 -297.50 97.50 262.50 0.0741838 -297.50 97.50 267.50 0.0437786 -297.50 97.50 272.50 0.0733504 -297.50 97.50 277.50 0.240551 -297.50 97.50 282.50 0.576255 -297.50 97.50 287.50 1.238 -297.50 97.50 292.50 2.1196 -297.50 97.50 297.50 3.22083 -297.50 97.50 302.50 4.20612 -297.50 97.50 307.50 4.83952 -297.50 97.50 312.50 4.99921 -297.50 97.50 317.50 4.61084 -297.50 97.50 322.50 3.66805 -297.50 97.50 327.50 2.45668 -297.50 97.50 332.50 1.4334 -297.50 97.50 337.50 0.772 -297.50 97.50 342.50 0.383314 -297.50 97.50 347.50 0.175027 -297.50 97.50 352.50 0.0741841 -297.50 97.50 357.50 0.0437786 -297.50 102.50 2.50 0.116684 -297.50 102.50 7.50 0.341343 -297.50 102.50 12.50 0.980142 -297.50 102.50 17.50 1.86165 -297.50 102.50 22.50 3.02759 -297.50 102.50 27.50 4.00215 -297.50 102.50 32.50 4.57792 -297.50 102.50 37.50 4.68213 -297.50 102.50 42.50 4.28592 -297.50 102.50 47.50 3.4332 -297.50 102.50 52.50 2.31854 -297.50 102.50 57.50 1.2743 -297.50 102.50 62.50 0.600578 -297.50 102.50 67.50 0.269231 -297.50 102.50 72.50 0.118622 -297.50 102.50 77.50 0.0540157 -297.50 102.50 82.50 0.0362753 -297.50 102.50 87.50 0.0524977 -297.50 102.50 92.50 0.116684 -297.50 102.50 97.50 0.341343 -297.50 102.50 102.50 0.980142 -297.50 102.50 107.50 1.86165 -297.50 102.50 112.50 3.02759 -297.50 102.50 117.50 4.00215 -297.50 102.50 122.50 4.57792 -297.50 102.50 127.50 4.68213 -297.50 102.50 132.50 4.28592 -297.50 102.50 137.50 3.4332 -297.50 102.50 142.50 2.31854 -297.50 102.50 147.50 1.2743 -297.50 102.50 152.50 0.600579 -297.50 102.50 157.50 0.269232 -297.50 102.50 162.50 0.118622 -297.50 102.50 167.50 0.0540158 -297.50 102.50 172.50 0.0362753 -297.50 102.50 177.50 0.0524976 -297.50 102.50 182.50 0.116684 -297.50 102.50 187.50 0.341343 -297.50 102.50 192.50 0.980142 -297.50 102.50 197.50 1.86165 -297.50 102.50 202.50 3.02759 -297.50 102.50 207.50 4.00215 -297.50 102.50 212.50 4.57792 -297.50 102.50 217.50 4.68213 -297.50 102.50 222.50 4.28592 -297.50 102.50 227.50 3.4332 -297.50 102.50 232.50 2.31854 -297.50 102.50 237.50 1.2743 -297.50 102.50 242.50 0.600577 -297.50 102.50 247.50 0.269231 -297.50 102.50 252.50 0.118622 -297.50 102.50 257.50 0.0540157 -297.50 102.50 262.50 0.0362753 -297.50 102.50 267.50 0.0524978 -297.50 102.50 272.50 0.116684 -297.50 102.50 277.50 0.341343 -297.50 102.50 282.50 0.980142 -297.50 102.50 287.50 1.86165 -297.50 102.50 292.50 3.02758 -297.50 102.50 297.50 4.00215 -297.50 102.50 302.50 4.57792 -297.50 102.50 307.50 4.68213 -297.50 102.50 312.50 4.28592 -297.50 102.50 317.50 3.4332 -297.50 102.50 322.50 2.31854 -297.50 102.50 327.50 1.2743 -297.50 102.50 332.50 0.600579 -297.50 102.50 337.50 0.269232 -297.50 102.50 342.50 0.118622 -297.50 102.50 347.50 0.0540158 -297.50 102.50 352.50 0.0362753 -297.50 102.50 357.50 0.0524975 -297.50 107.50 2.50 0.129911 -297.50 107.50 7.50 0.401407 -297.50 107.50 12.50 0.979881 -297.50 107.50 17.50 2.14485 -297.50 107.50 22.50 3.22583 -297.50 107.50 27.50 3.92391 -297.50 107.50 32.50 4.06136 -297.50 107.50 37.50 3.61436 -297.50 107.50 42.50 2.79439 -297.50 107.50 47.50 1.93749 -297.50 107.50 52.50 1.13284 -297.50 107.50 57.50 0.529717 -297.50 107.50 62.50 0.202158 -297.50 107.50 67.50 0.0747901 -297.50 107.50 72.50 0.0323424 -297.50 107.50 77.50 0.0271833 -297.50 107.50 82.50 0.0247857 -297.50 107.50 87.50 0.0644308 -297.50 107.50 92.50 0.129911 -297.50 107.50 97.50 0.401407 -297.50 107.50 102.50 0.979882 -297.50 107.50 107.50 2.14485 -297.50 107.50 112.50 3.22584 -297.50 107.50 117.50 3.92391 -297.50 107.50 122.50 4.06137 -297.50 107.50 127.50 3.61436 -297.50 107.50 132.50 2.79439 -297.50 107.50 137.50 1.93749 -297.50 107.50 142.50 1.13284 -297.50 107.50 147.50 0.529718 -297.50 107.50 152.50 0.202159 -297.50 107.50 157.50 0.0747902 -297.50 107.50 162.50 0.0323425 -297.50 107.50 167.50 0.0271833 -297.50 107.50 172.50 0.0247857 -297.50 107.50 177.50 0.0644308 -297.50 107.50 182.50 0.129911 -297.50 107.50 187.50 0.401407 -297.50 107.50 192.50 0.979882 -297.50 107.50 197.50 2.14485 -297.50 107.50 202.50 3.22583 -297.50 107.50 207.50 3.92391 -297.50 107.50 212.50 4.06137 -297.50 107.50 217.50 3.61436 -297.50 107.50 222.50 2.79439 -297.50 107.50 227.50 1.93749 -297.50 107.50 232.50 1.13284 -297.50 107.50 237.50 0.529717 -297.50 107.50 242.50 0.202158 -297.50 107.50 247.50 0.0747901 -297.50 107.50 252.50 0.0323424 -297.50 107.50 257.50 0.0271833 -297.50 107.50 262.50 0.0247857 -297.50 107.50 267.50 0.0644309 -297.50 107.50 272.50 0.129911 -297.50 107.50 277.50 0.401407 -297.50 107.50 282.50 0.979881 -297.50 107.50 287.50 2.14485 -297.50 107.50 292.50 3.22583 -297.50 107.50 297.50 3.92391 -297.50 107.50 302.50 4.06137 -297.50 107.50 307.50 3.61436 -297.50 107.50 312.50 2.79439 -297.50 107.50 317.50 1.93749 -297.50 107.50 322.50 1.13284 -297.50 107.50 327.50 0.529718 -297.50 107.50 332.50 0.202159 -297.50 107.50 337.50 0.0747903 -297.50 107.50 342.50 0.0323425 -297.50 107.50 347.50 0.0271833 -297.50 107.50 352.50 0.0247857 -297.50 107.50 357.50 0.0644307 -297.50 112.50 2.50 0.121879 -297.50 112.50 7.50 0.363239 -297.50 112.50 12.50 0.884302 -297.50 112.50 17.50 1.77937 -297.50 112.50 22.50 2.6212 -297.50 112.50 27.50 3.06923 -297.50 112.50 32.50 2.86468 -297.50 112.50 37.50 2.26691 -297.50 112.50 42.50 1.58648 -297.50 112.50 47.50 0.922023 -297.50 112.50 52.50 0.459733 -297.50 112.50 57.50 0.177831 -297.50 112.50 62.50 0.0576381 -297.50 112.50 67.50 0.0188465 -297.50 112.50 72.50 0.0137829 -297.50 112.50 77.50 0.0109335 -297.50 112.50 82.50 0.0180791 -297.50 112.50 87.50 0.050492 -297.50 112.50 92.50 0.121879 -297.50 112.50 97.50 0.363239 -297.50 112.50 102.50 0.884303 -297.50 112.50 107.50 1.77937 -297.50 112.50 112.50 2.6212 -297.50 112.50 117.50 3.06923 -297.50 112.50 122.50 2.86468 -297.50 112.50 127.50 2.26691 -297.50 112.50 132.50 1.58648 -297.50 112.50 137.50 0.922023 -297.50 112.50 142.50 0.459733 -297.50 112.50 147.50 0.177832 -297.50 112.50 152.50 0.0576382 -297.50 112.50 157.50 0.0188466 -297.50 112.50 162.50 0.013783 -297.50 112.50 167.50 0.0109335 -297.50 112.50 172.50 0.0180791 -297.50 112.50 177.50 0.050492 -297.50 112.50 182.50 0.121879 -297.50 112.50 187.50 0.363239 -297.50 112.50 192.50 0.884303 -297.50 112.50 197.50 1.77937 -297.50 112.50 202.50 2.6212 -297.50 112.50 207.50 3.06923 -297.50 112.50 212.50 2.86468 -297.50 112.50 217.50 2.26692 -297.50 112.50 222.50 1.58648 -297.50 112.50 227.50 0.922024 -297.50 112.50 232.50 0.459733 -297.50 112.50 237.50 0.177831 -297.50 112.50 242.50 0.057638 -297.50 112.50 247.50 0.0188465 -297.50 112.50 252.50 0.0137829 -297.50 112.50 257.50 0.0109335 -297.50 112.50 262.50 0.0180791 -297.50 112.50 267.50 0.050492 -297.50 112.50 272.50 0.121879 -297.50 112.50 277.50 0.363239 -297.50 112.50 282.50 0.884302 -297.50 112.50 287.50 1.77937 -297.50 112.50 292.50 2.6212 -297.50 112.50 297.50 3.06923 -297.50 112.50 302.50 2.86468 -297.50 112.50 307.50 2.26692 -297.50 112.50 312.50 1.58648 -297.50 112.50 317.50 0.922024 -297.50 112.50 322.50 0.459734 -297.50 112.50 327.50 0.177832 -297.50 112.50 332.50 0.0576384 -297.50 112.50 337.50 0.0188466 -297.50 112.50 342.50 0.0137829 -297.50 112.50 347.50 0.0109335 -297.50 112.50 352.50 0.018079 -297.50 112.50 357.50 0.0504919 -297.50 117.50 2.50 0.128577 -297.50 117.50 7.50 0.337514 -297.50 117.50 12.50 0.699142 -297.50 117.50 17.50 1.24085 -297.50 117.50 22.50 1.66328 -297.50 117.50 27.50 1.69152 -297.50 117.50 32.50 1.48429 -297.50 117.50 37.50 1.06691 -297.50 117.50 42.50 0.669424 -297.50 117.50 47.50 0.373141 -297.50 117.50 52.50 0.164345 -297.50 117.50 57.50 0.0578932 -297.50 117.50 62.50 0.0175433 -297.50 117.50 67.50 0.00787526 -297.50 117.50 72.50 0.00545859 -297.50 117.50 77.50 0.00578839 -297.50 117.50 82.50 0.0117612 -297.50 117.50 87.50 0.0394434 -297.50 117.50 92.50 0.128577 -297.50 117.50 97.50 0.337514 -297.50 117.50 102.50 0.699142 -297.50 117.50 107.50 1.24085 -297.50 117.50 112.50 1.66328 -297.50 117.50 117.50 1.69152 -297.50 117.50 122.50 1.48429 -297.50 117.50 127.50 1.06691 -297.50 117.50 132.50 0.669423 -297.50 117.50 137.50 0.373141 -297.50 117.50 142.50 0.164345 -297.50 117.50 147.50 0.0578932 -297.50 117.50 152.50 0.0175434 -297.50 117.50 157.50 0.00787527 -297.50 117.50 162.50 0.0054586 -297.50 117.50 167.50 0.00578839 -297.50 117.50 172.50 0.0117612 -297.50 117.50 177.50 0.0394433 -297.50 117.50 182.50 0.128577 -297.50 117.50 187.50 0.337514 -297.50 117.50 192.50 0.699142 -297.50 117.50 197.50 1.24085 -297.50 117.50 202.50 1.66328 -297.50 117.50 207.50 1.69152 -297.50 117.50 212.50 1.48429 -297.50 117.50 217.50 1.06691 -297.50 117.50 222.50 0.669424 -297.50 117.50 227.50 0.373142 -297.50 117.50 232.50 0.164345 -297.50 117.50 237.50 0.0578931 -297.50 117.50 242.50 0.0175433 -297.50 117.50 247.50 0.00787525 -297.50 117.50 252.50 0.00545859 -297.50 117.50 257.50 0.00578838 -297.50 117.50 262.50 0.0117613 -297.50 117.50 267.50 0.0394434 -297.50 117.50 272.50 0.128577 -297.50 117.50 277.50 0.337514 -297.50 117.50 282.50 0.699142 -297.50 117.50 287.50 1.24085 -297.50 117.50 292.50 1.66328 -297.50 117.50 297.50 1.69152 -297.50 117.50 302.50 1.48429 -297.50 117.50 307.50 1.06691 -297.50 117.50 312.50 0.669424 -297.50 117.50 317.50 0.373142 -297.50 117.50 322.50 0.164346 -297.50 117.50 327.50 0.0578933 -297.50 117.50 332.50 0.0175434 -297.50 117.50 337.50 0.00787527 -297.50 117.50 342.50 0.0054586 -297.50 117.50 347.50 0.00578838 -297.50 117.50 352.50 0.0117612 -297.50 117.50 357.50 0.0394432 -297.50 122.50 2.50 0.130738 -297.50 122.50 7.50 0.296509 -297.50 122.50 12.50 0.483704 -297.50 122.50 17.50 0.714307 -297.50 122.50 22.50 0.841431 -297.50 122.50 27.50 0.733898 -297.50 122.50 32.50 0.534544 -297.50 122.50 37.50 0.352876 -297.50 122.50 42.50 0.199839 -297.50 122.50 47.50 0.108222 -297.50 122.50 52.50 0.0611988 -297.50 122.50 57.50 0.0444239 -297.50 122.50 62.50 0.0330205 -297.50 122.50 67.50 0.0241577 -297.50 122.50 72.50 0.0214521 -297.50 122.50 77.50 0.0186962 -297.50 122.50 82.50 0.0172488 -297.50 122.50 87.50 0.039468 -297.50 122.50 92.50 0.130738 -297.50 122.50 97.50 0.296509 -297.50 122.50 102.50 0.483705 -297.50 122.50 107.50 0.714308 -297.50 122.50 112.50 0.841432 -297.50 122.50 117.50 0.733898 -297.50 122.50 122.50 0.534544 -297.50 122.50 127.50 0.352875 -297.50 122.50 132.50 0.199839 -297.50 122.50 137.50 0.108222 -297.50 122.50 142.50 0.0611988 -297.50 122.50 147.50 0.0444239 -297.50 122.50 152.50 0.0330205 -297.50 122.50 157.50 0.0241577 -297.50 122.50 162.50 0.0214521 -297.50 122.50 167.50 0.0186962 -297.50 122.50 172.50 0.0172488 -297.50 122.50 177.50 0.0394679 -297.50 122.50 182.50 0.130738 -297.50 122.50 187.50 0.296509 -297.50 122.50 192.50 0.483705 -297.50 122.50 197.50 0.714308 -297.50 122.50 202.50 0.841432 -297.50 122.50 207.50 0.733899 -297.50 122.50 212.50 0.534544 -297.50 122.50 217.50 0.352876 -297.50 122.50 222.50 0.199839 -297.50 122.50 227.50 0.108222 -297.50 122.50 232.50 0.0611988 -297.50 122.50 237.50 0.0444238 -297.50 122.50 242.50 0.0330205 -297.50 122.50 247.50 0.0241577 -297.50 122.50 252.50 0.0214521 -297.50 122.50 257.50 0.0186962 -297.50 122.50 262.50 0.0172488 -297.50 122.50 267.50 0.039468 -297.50 122.50 272.50 0.130738 -297.50 122.50 277.50 0.296509 -297.50 122.50 282.50 0.483704 -297.50 122.50 287.50 0.714307 -297.50 122.50 292.50 0.841432 -297.50 122.50 297.50 0.733899 -297.50 122.50 302.50 0.534544 -297.50 122.50 307.50 0.352876 -297.50 122.50 312.50 0.199839 -297.50 122.50 317.50 0.108222 -297.50 122.50 322.50 0.0611989 -297.50 122.50 327.50 0.0444239 -297.50 122.50 332.50 0.0330205 -297.50 122.50 337.50 0.0241578 -297.50 122.50 342.50 0.0214521 -297.50 122.50 347.50 0.0186962 -297.50 122.50 352.50 0.0172488 -297.50 122.50 357.50 0.0394679 -297.50 127.50 2.50 0.0974754 -297.50 127.50 7.50 0.195512 -297.50 127.50 12.50 0.287253 -297.50 127.50 17.50 0.340989 -297.50 127.50 22.50 0.331034 -297.50 127.50 27.50 0.25129 -297.50 127.50 32.50 0.155417 -297.50 127.50 37.50 0.0772948 -297.50 127.50 42.50 0.0461287 -297.50 127.50 47.50 0.0555732 -297.50 127.50 52.50 0.0802771 -297.50 127.50 57.50 0.120496 -297.50 127.50 62.50 0.134909 -297.50 127.50 67.50 0.126797 -297.50 127.50 72.50 0.102508 -297.50 127.50 77.50 0.0659188 -297.50 127.50 82.50 0.0293443 -297.50 127.50 87.50 0.0399964 -297.50 127.50 92.50 0.0974754 -297.50 127.50 97.50 0.195513 -297.50 127.50 102.50 0.287254 -297.50 127.50 107.50 0.340989 -297.50 127.50 112.50 0.331034 -297.50 127.50 117.50 0.25129 -297.50 127.50 122.50 0.155417 -297.50 127.50 127.50 0.0772947 -297.50 127.50 132.50 0.0461287 -297.50 127.50 137.50 0.0555732 -297.50 127.50 142.50 0.080277 -297.50 127.50 147.50 0.120496 -297.50 127.50 152.50 0.134909 -297.50 127.50 157.50 0.126798 -297.50 127.50 162.50 0.102507 -297.50 127.50 167.50 0.0659187 -297.50 127.50 172.50 0.0293443 -297.50 127.50 177.50 0.0399963 -297.50 127.50 182.50 0.0974754 -297.50 127.50 187.50 0.195513 -297.50 127.50 192.50 0.287254 -297.50 127.50 197.50 0.340989 -297.50 127.50 202.50 0.331034 -297.50 127.50 207.50 0.25129 -297.50 127.50 212.50 0.155417 -297.50 127.50 217.50 0.0772948 -297.50 127.50 222.50 0.0461287 -297.50 127.50 227.50 0.0555731 -297.50 127.50 232.50 0.0802771 -297.50 127.50 237.50 0.120496 -297.50 127.50 242.50 0.134909 -297.50 127.50 247.50 0.126798 -297.50 127.50 252.50 0.102507 -297.50 127.50 257.50 0.0659186 -297.50 127.50 262.50 0.0293443 -297.50 127.50 267.50 0.0399963 -297.50 127.50 272.50 0.0974754 -297.50 127.50 277.50 0.195513 -297.50 127.50 282.50 0.287253 -297.50 127.50 287.50 0.340989 -297.50 127.50 292.50 0.331034 -297.50 127.50 297.50 0.25129 -297.50 127.50 302.50 0.155417 -297.50 127.50 307.50 0.0772949 -297.50 127.50 312.50 0.0461287 -297.50 127.50 317.50 0.0555731 -297.50 127.50 322.50 0.080277 -297.50 127.50 327.50 0.120496 -297.50 127.50 332.50 0.134909 -297.50 127.50 337.50 0.126798 -297.50 127.50 342.50 0.102507 -297.50 127.50 347.50 0.0659188 -297.50 127.50 352.50 0.0293443 -297.50 127.50 357.50 0.0399962 -297.50 132.50 2.50 0.0543458 -297.50 132.50 7.50 0.0887589 -297.50 132.50 12.50 0.130605 -297.50 132.50 17.50 0.136006 -297.50 132.50 22.50 0.0983814 -297.50 132.50 27.50 0.0656051 -297.50 132.50 32.50 0.0377448 -297.50 132.50 37.50 0.0280947 -297.50 132.50 42.50 0.0537107 -297.50 132.50 47.50 0.137816 -297.50 132.50 52.50 0.283554 -297.50 132.50 57.50 0.45162 -297.50 132.50 62.50 0.562986 -297.50 132.50 67.50 0.525444 -297.50 132.50 72.50 0.341572 -297.50 132.50 77.50 0.154202 -297.50 132.50 82.50 0.0728263 -297.50 132.50 87.50 0.0469194 -297.50 132.50 92.50 0.0543458 -297.50 132.50 97.50 0.088759 -297.50 132.50 102.50 0.130606 -297.50 132.50 107.50 0.136006 -297.50 132.50 112.50 0.0983815 -297.50 132.50 117.50 0.0656052 -297.50 132.50 122.50 0.0377447 -297.50 132.50 127.50 0.0280947 -297.50 132.50 132.50 0.0537107 -297.50 132.50 137.50 0.137816 -297.50 132.50 142.50 0.283554 -297.50 132.50 147.50 0.45162 -297.50 132.50 152.50 0.562986 -297.50 132.50 157.50 0.525444 -297.50 132.50 162.50 0.341572 -297.50 132.50 167.50 0.154202 -297.50 132.50 172.50 0.0728263 -297.50 132.50 177.50 0.0469195 -297.50 132.50 182.50 0.0543458 -297.50 132.50 187.50 0.0887591 -297.50 132.50 192.50 0.130606 -297.50 132.50 197.50 0.136006 -297.50 132.50 202.50 0.0983815 -297.50 132.50 207.50 0.0656052 -297.50 132.50 212.50 0.0377448 -297.50 132.50 217.50 0.0280947 -297.50 132.50 222.50 0.0537106 -297.50 132.50 227.50 0.137815 -297.50 132.50 232.50 0.283554 -297.50 132.50 237.50 0.45162 -297.50 132.50 242.50 0.562986 -297.50 132.50 247.50 0.525444 -297.50 132.50 252.50 0.341571 -297.50 132.50 257.50 0.154202 -297.50 132.50 262.50 0.0728263 -297.50 132.50 267.50 0.0469193 -297.50 132.50 272.50 0.0543458 -297.50 132.50 277.50 0.088759 -297.50 132.50 282.50 0.130605 -297.50 132.50 287.50 0.136006 -297.50 132.50 292.50 0.0983815 -297.50 132.50 297.50 0.0656052 -297.50 132.50 302.50 0.0377448 -297.50 132.50 307.50 0.0280947 -297.50 132.50 312.50 0.0537107 -297.50 132.50 317.50 0.137815 -297.50 132.50 322.50 0.283554 -297.50 132.50 327.50 0.45162 -297.50 132.50 332.50 0.562986 -297.50 132.50 337.50 0.525444 -297.50 132.50 342.50 0.341572 -297.50 132.50 347.50 0.154203 -297.50 132.50 352.50 0.0728263 -297.50 132.50 357.50 0.0469194 -297.50 137.50 2.50 0.0370178 -297.50 137.50 7.50 0.0308333 -297.50 137.50 12.50 0.043062 -297.50 137.50 17.50 0.0436275 -297.50 137.50 22.50 0.0300108 -297.50 137.50 27.50 0.0271068 -297.50 137.50 32.50 0.0369965 -297.50 137.50 37.50 0.0803484 -297.50 137.50 42.50 0.179249 -297.50 137.50 47.50 0.498102 -297.50 137.50 52.50 0.922785 -297.50 137.50 57.50 1.43932 -297.50 137.50 62.50 1.66793 -297.50 137.50 67.50 1.41441 -297.50 137.50 72.50 0.818624 -297.50 137.50 77.50 0.381166 -297.50 137.50 82.50 0.17609 -297.50 137.50 87.50 0.0778325 -297.50 137.50 92.50 0.0370178 -297.50 137.50 97.50 0.0308334 -297.50 137.50 102.50 0.043062 -297.50 137.50 107.50 0.0436275 -297.50 137.50 112.50 0.0300108 -297.50 137.50 117.50 0.0271068 -297.50 137.50 122.50 0.0369965 -297.50 137.50 127.50 0.0803486 -297.50 137.50 132.50 0.179249 -297.50 137.50 137.50 0.498101 -297.50 137.50 142.50 0.922785 -297.50 137.50 147.50 1.43932 -297.50 137.50 152.50 1.66793 -297.50 137.50 157.50 1.41441 -297.50 137.50 162.50 0.818625 -297.50 137.50 167.50 0.381166 -297.50 137.50 172.50 0.17609 -297.50 137.50 177.50 0.0778326 -297.50 137.50 182.50 0.0370178 -297.50 137.50 187.50 0.0308334 -297.50 137.50 192.50 0.0430621 -297.50 137.50 197.50 0.0436275 -297.50 137.50 202.50 0.0300108 -297.50 137.50 207.50 0.0271068 -297.50 137.50 212.50 0.0369965 -297.50 137.50 217.50 0.0803484 -297.50 137.50 222.50 0.179249 -297.50 137.50 227.50 0.498101 -297.50 137.50 232.50 0.922785 -297.50 137.50 237.50 1.43932 -297.50 137.50 242.50 1.66793 -297.50 137.50 247.50 1.41441 -297.50 137.50 252.50 0.818623 -297.50 137.50 257.50 0.381166 -297.50 137.50 262.50 0.17609 -297.50 137.50 267.50 0.0778325 -297.50 137.50 272.50 0.0370178 -297.50 137.50 277.50 0.0308333 -297.50 137.50 282.50 0.043062 -297.50 137.50 287.50 0.0436275 -297.50 137.50 292.50 0.0300107 -297.50 137.50 297.50 0.0271068 -297.50 137.50 302.50 0.0369965 -297.50 137.50 307.50 0.0803484 -297.50 137.50 312.50 0.179249 -297.50 137.50 317.50 0.498101 -297.50 137.50 322.50 0.922783 -297.50 137.50 327.50 1.43932 -297.50 137.50 332.50 1.66793 -297.50 137.50 337.50 1.41441 -297.50 137.50 342.50 0.818625 -297.50 137.50 347.50 0.381167 -297.50 137.50 352.50 0.17609 -297.50 137.50 357.50 0.0778327 -297.50 142.50 2.50 0.0543458 -297.50 142.50 7.50 0.019399 -297.50 142.50 12.50 0.0181524 -297.50 142.50 17.50 0.0201029 -297.50 142.50 22.50 0.0296289 -297.50 142.50 27.50 0.0704415 -297.50 142.50 32.50 0.134339 -297.50 142.50 37.50 0.236099 -297.50 142.50 42.50 0.517224 -297.50 142.50 47.50 1.17994 -297.50 142.50 52.50 2.24846 -297.50 142.50 57.50 3.13446 -297.50 142.50 62.50 3.37986 -297.50 142.50 67.50 2.69837 -297.50 142.50 72.50 1.62574 -297.50 142.50 77.50 0.790615 -297.50 142.50 82.50 0.369482 -297.50 142.50 87.50 0.156544 -297.50 142.50 92.50 0.0543458 -297.50 142.50 97.50 0.019399 -297.50 142.50 102.50 0.0181523 -297.50 142.50 107.50 0.0201029 -297.50 142.50 112.50 0.0296289 -297.50 142.50 117.50 0.0704415 -297.50 142.50 122.50 0.134339 -297.50 142.50 127.50 0.236099 -297.50 142.50 132.50 0.517224 -297.50 142.50 137.50 1.17994 -297.50 142.50 142.50 2.24846 -297.50 142.50 147.50 3.13446 -297.50 142.50 152.50 3.37986 -297.50 142.50 157.50 2.69837 -297.50 142.50 162.50 1.62574 -297.50 142.50 167.50 0.790615 -297.50 142.50 172.50 0.369483 -297.50 142.50 177.50 0.156544 -297.50 142.50 182.50 0.0543457 -297.50 142.50 187.50 0.019399 -297.50 142.50 192.50 0.0181524 -297.50 142.50 197.50 0.0201029 -297.50 142.50 202.50 0.0296289 -297.50 142.50 207.50 0.0704415 -297.50 142.50 212.50 0.134339 -297.50 142.50 217.50 0.236099 -297.50 142.50 222.50 0.517223 -297.50 142.50 227.50 1.17994 -297.50 142.50 232.50 2.24846 -297.50 142.50 237.50 3.13446 -297.50 142.50 242.50 3.37986 -297.50 142.50 247.50 2.69837 -297.50 142.50 252.50 1.62574 -297.50 142.50 257.50 0.790615 -297.50 142.50 262.50 0.369482 -297.50 142.50 267.50 0.156544 -297.50 142.50 272.50 0.0543458 -297.50 142.50 277.50 0.019399 -297.50 142.50 282.50 0.0181523 -297.50 142.50 287.50 0.0201028 -297.50 142.50 292.50 0.0296289 -297.50 142.50 297.50 0.0704415 -297.50 142.50 302.50 0.134339 -297.50 142.50 307.50 0.236099 -297.50 142.50 312.50 0.517223 -297.50 142.50 317.50 1.17994 -297.50 142.50 322.50 2.24846 -297.50 142.50 327.50 3.13446 -297.50 142.50 332.50 3.37986 -297.50 142.50 337.50 2.69838 -297.50 142.50 342.50 1.62574 -297.50 142.50 347.50 0.790617 -297.50 142.50 352.50 0.369483 -297.50 142.50 357.50 0.156544 -297.50 147.50 2.50 0.0974753 -297.50 147.50 7.50 0.0319728 -297.50 147.50 12.50 0.029963 -297.50 147.50 17.50 0.0437712 -297.50 147.50 22.50 0.0857297 -297.50 147.50 27.50 0.195093 -297.50 147.50 32.50 0.344091 -297.50 147.50 37.50 0.537988 -297.50 147.50 42.50 1.01344 -297.50 147.50 47.50 2.06342 -297.50 147.50 52.50 3.52062 -297.50 147.50 57.50 4.69045 -297.50 147.50 62.50 4.88877 -297.50 147.50 67.50 4.03039 -297.50 147.50 72.50 2.55427 -297.50 147.50 77.50 1.28792 -297.50 147.50 82.50 0.628633 -297.50 147.50 87.50 0.270603 -297.50 147.50 92.50 0.0974754 -297.50 147.50 97.50 0.0319728 -297.50 147.50 102.50 0.029963 -297.50 147.50 107.50 0.0437712 -297.50 147.50 112.50 0.0857297 -297.50 147.50 117.50 0.195093 -297.50 147.50 122.50 0.344091 -297.50 147.50 127.50 0.537988 -297.50 147.50 132.50 1.01344 -297.50 147.50 137.50 2.06342 -297.50 147.50 142.50 3.52062 -297.50 147.50 147.50 4.69045 -297.50 147.50 152.50 4.88877 -297.50 147.50 157.50 4.03039 -297.50 147.50 162.50 2.55427 -297.50 147.50 167.50 1.28792 -297.50 147.50 172.50 0.628633 -297.50 147.50 177.50 0.270603 -297.50 147.50 182.50 0.0974753 -297.50 147.50 187.50 0.0319728 -297.50 147.50 192.50 0.029963 -297.50 147.50 197.50 0.0437712 -297.50 147.50 202.50 0.0857297 -297.50 147.50 207.50 0.195092 -297.50 147.50 212.50 0.34409 -297.50 147.50 217.50 0.537988 -297.50 147.50 222.50 1.01343 -297.50 147.50 227.50 2.06342 -297.50 147.50 232.50 3.52062 -297.50 147.50 237.50 4.69045 -297.50 147.50 242.50 4.88877 -297.50 147.50 247.50 4.03039 -297.50 147.50 252.50 2.55427 -297.50 147.50 257.50 1.28792 -297.50 147.50 262.50 0.628632 -297.50 147.50 267.50 0.270603 -297.50 147.50 272.50 0.0974754 -297.50 147.50 277.50 0.0319728 -297.50 147.50 282.50 0.029963 -297.50 147.50 287.50 0.0437712 -297.50 147.50 292.50 0.0857296 -297.50 147.50 297.50 0.195092 -297.50 147.50 302.50 0.34409 -297.50 147.50 307.50 0.537988 -297.50 147.50 312.50 1.01343 -297.50 147.50 317.50 2.06341 -297.50 147.50 322.50 3.52062 -297.50 147.50 327.50 4.69045 -297.50 147.50 332.50 4.88877 -297.50 147.50 337.50 4.03039 -297.50 147.50 342.50 2.55428 -297.50 147.50 347.50 1.28793 -297.50 147.50 352.50 0.628634 -297.50 147.50 357.50 0.270604 -297.50 152.50 2.50 0.130738 -297.50 152.50 7.50 0.0489067 -297.50 152.50 12.50 0.058589 -297.50 152.50 17.50 0.10686 -297.50 152.50 22.50 0.223069 -297.50 152.50 27.50 0.4312 -297.50 152.50 32.50 0.652042 -297.50 152.50 37.50 0.916917 -297.50 152.50 42.50 1.46926 -297.50 152.50 47.50 2.59076 -297.50 152.50 52.50 4.05435 -297.50 152.50 57.50 5.20738 -297.50 152.50 62.50 5.41446 -297.50 152.50 67.50 4.62745 -297.50 152.50 72.50 2.96885 -297.50 152.50 77.50 1.56571 -297.50 152.50 82.50 0.769649 -297.50 152.50 87.50 0.329109 -297.50 152.50 92.50 0.130738 -297.50 152.50 97.50 0.0489066 -297.50 152.50 102.50 0.058589 -297.50 152.50 107.50 0.10686 -297.50 152.50 112.50 0.223069 -297.50 152.50 117.50 0.4312 -297.50 152.50 122.50 0.652042 -297.50 152.50 127.50 0.916917 -297.50 152.50 132.50 1.46926 -297.50 152.50 137.50 2.59076 -297.50 152.50 142.50 4.05435 -297.50 152.50 147.50 5.20738 -297.50 152.50 152.50 5.41446 -297.50 152.50 157.50 4.62745 -297.50 152.50 162.50 2.96885 -297.50 152.50 167.50 1.56571 -297.50 152.50 172.50 0.76965 -297.50 152.50 177.50 0.329109 -297.50 152.50 182.50 0.130738 -297.50 152.50 187.50 0.0489067 -297.50 152.50 192.50 0.058589 -297.50 152.50 197.50 0.10686 -297.50 152.50 202.50 0.223069 -297.50 152.50 207.50 0.431199 -297.50 152.50 212.50 0.652042 -297.50 152.50 217.50 0.916916 -297.50 152.50 222.50 1.46926 -297.50 152.50 227.50 2.59076 -297.50 152.50 232.50 4.05436 -297.50 152.50 237.50 5.20738 -297.50 152.50 242.50 5.41446 -297.50 152.50 247.50 4.62745 -297.50 152.50 252.50 2.96885 -297.50 152.50 257.50 1.56571 -297.50 152.50 262.50 0.769648 -297.50 152.50 267.50 0.329109 -297.50 152.50 272.50 0.130738 -297.50 152.50 277.50 0.0489067 -297.50 152.50 282.50 0.058589 -297.50 152.50 287.50 0.10686 -297.50 152.50 292.50 0.223069 -297.50 152.50 297.50 0.431199 -297.50 152.50 302.50 0.652041 -297.50 152.50 307.50 0.916916 -297.50 152.50 312.50 1.46925 -297.50 152.50 317.50 2.59076 -297.50 152.50 322.50 4.05435 -297.50 152.50 327.50 5.20738 -297.50 152.50 332.50 5.41446 -297.50 152.50 337.50 4.62745 -297.50 152.50 342.50 2.96885 -297.50 152.50 347.50 1.56572 -297.50 152.50 352.50 0.769652 -297.50 152.50 357.50 0.32911 -297.50 157.50 2.50 0.128577 -297.50 157.50 7.50 0.0675547 -297.50 157.50 12.50 0.106507 -297.50 157.50 17.50 0.224624 -297.50 157.50 22.50 0.446233 -297.50 157.50 27.50 0.749986 -297.50 157.50 32.50 1.00217 -297.50 157.50 37.50 1.18875 -297.50 157.50 42.50 1.6458 -297.50 157.50 47.50 2.48565 -297.50 157.50 52.50 3.52102 -297.50 157.50 57.50 4.39416 -297.50 157.50 62.50 4.61171 -297.50 157.50 67.50 3.82994 -297.50 157.50 72.50 2.53544 -297.50 157.50 77.50 1.38614 -297.50 157.50 82.50 0.682242 -297.50 157.50 87.50 0.287222 -297.50 157.50 92.50 0.128577 -297.50 157.50 97.50 0.0675547 -297.50 157.50 102.50 0.106507 -297.50 157.50 107.50 0.224624 -297.50 157.50 112.50 0.446233 -297.50 157.50 117.50 0.749986 -297.50 157.50 122.50 1.00217 -297.50 157.50 127.50 1.18875 -297.50 157.50 132.50 1.6458 -297.50 157.50 137.50 2.48565 -297.50 157.50 142.50 3.52102 -297.50 157.50 147.50 4.39416 -297.50 157.50 152.50 4.61171 -297.50 157.50 157.50 3.82994 -297.50 157.50 162.50 2.53544 -297.50 157.50 167.50 1.38614 -297.50 157.50 172.50 0.682243 -297.50 157.50 177.50 0.287222 -297.50 157.50 182.50 0.128577 -297.50 157.50 187.50 0.0675547 -297.50 157.50 192.50 0.106507 -297.50 157.50 197.50 0.224624 -297.50 157.50 202.50 0.446233 -297.50 157.50 207.50 0.749986 -297.50 157.50 212.50 1.00217 -297.50 157.50 217.50 1.18875 -297.50 157.50 222.50 1.6458 -297.50 157.50 227.50 2.48565 -297.50 157.50 232.50 3.52102 -297.50 157.50 237.50 4.39416 -297.50 157.50 242.50 4.61171 -297.50 157.50 247.50 3.82993 -297.50 157.50 252.50 2.53544 -297.50 157.50 257.50 1.38614 -297.50 157.50 262.50 0.682242 -297.50 157.50 267.50 0.287222 -297.50 157.50 272.50 0.128577 -297.50 157.50 277.50 0.0675547 -297.50 157.50 282.50 0.106507 -297.50 157.50 287.50 0.224624 -297.50 157.50 292.50 0.446232 -297.50 157.50 297.50 0.749985 -297.50 157.50 302.50 1.00217 -297.50 157.50 307.50 1.18875 -297.50 157.50 312.50 1.6458 -297.50 157.50 317.50 2.48565 -297.50 157.50 322.50 3.52102 -297.50 157.50 327.50 4.39416 -297.50 157.50 332.50 4.61171 -297.50 157.50 337.50 3.82994 -297.50 157.50 342.50 2.53545 -297.50 157.50 347.50 1.38614 -297.50 157.50 352.50 0.682243 -297.50 157.50 357.50 0.287223 -297.50 162.50 2.50 0.121878 -297.50 162.50 7.50 0.0992847 -297.50 162.50 12.50 0.182233 -297.50 162.50 17.50 0.378147 -297.50 162.50 22.50 0.68539 -297.50 162.50 27.50 1.01411 -297.50 162.50 32.50 1.19946 -297.50 162.50 37.50 1.23227 -297.50 162.50 42.50 1.37022 -297.50 162.50 47.50 1.79592 -297.50 162.50 52.50 2.4109 -297.50 162.50 57.50 2.82827 -297.50 162.50 62.50 2.8114 -297.50 162.50 67.50 2.36793 -297.50 162.50 72.50 1.63748 -297.50 162.50 77.50 0.97331 -297.50 162.50 82.50 0.50043 -297.50 162.50 87.50 0.23099 -297.50 162.50 92.50 0.121879 -297.50 162.50 97.50 0.0992847 -297.50 162.50 102.50 0.182233 -297.50 162.50 107.50 0.378147 -297.50 162.50 112.50 0.685389 -297.50 162.50 117.50 1.01411 -297.50 162.50 122.50 1.19946 -297.50 162.50 127.50 1.23227 -297.50 162.50 132.50 1.37023 -297.50 162.50 137.50 1.79592 -297.50 162.50 142.50 2.4109 -297.50 162.50 147.50 2.82827 -297.50 162.50 152.50 2.8114 -297.50 162.50 157.50 2.36793 -297.50 162.50 162.50 1.63749 -297.50 162.50 167.50 0.97331 -297.50 162.50 172.50 0.500431 -297.50 162.50 177.50 0.23099 -297.50 162.50 182.50 0.121878 -297.50 162.50 187.50 0.0992848 -297.50 162.50 192.50 0.182233 -297.50 162.50 197.50 0.378147 -297.50 162.50 202.50 0.68539 -297.50 162.50 207.50 1.01411 -297.50 162.50 212.50 1.19946 -297.50 162.50 217.50 1.23227 -297.50 162.50 222.50 1.37022 -297.50 162.50 227.50 1.79592 -297.50 162.50 232.50 2.4109 -297.50 162.50 237.50 2.82827 -297.50 162.50 242.50 2.8114 -297.50 162.50 247.50 2.36793 -297.50 162.50 252.50 1.63748 -297.50 162.50 257.50 0.97331 -297.50 162.50 262.50 0.50043 -297.50 162.50 267.50 0.23099 -297.50 162.50 272.50 0.121879 -297.50 162.50 277.50 0.0992848 -297.50 162.50 282.50 0.182233 -297.50 162.50 287.50 0.378147 -297.50 162.50 292.50 0.685389 -297.50 162.50 297.50 1.01411 -297.50 162.50 302.50 1.19946 -297.50 162.50 307.50 1.23227 -297.50 162.50 312.50 1.37023 -297.50 162.50 317.50 1.79592 -297.50 162.50 322.50 2.4109 -297.50 162.50 327.50 2.82827 -297.50 162.50 332.50 2.8114 -297.50 162.50 337.50 2.36793 -297.50 162.50 342.50 1.63749 -297.50 162.50 347.50 0.973311 -297.50 162.50 352.50 0.500431 -297.50 162.50 357.50 0.23099 -297.50 167.50 2.50 0.129911 -297.50 167.50 7.50 0.131489 -297.50 167.50 12.50 0.241637 -297.50 167.50 17.50 0.481758 -297.50 167.50 22.50 0.813542 -297.50 167.50 27.50 1.10479 -297.50 167.50 32.50 1.1614 -297.50 167.50 37.50 0.997995 -297.50 167.50 42.50 0.893712 -297.50 167.50 47.50 1.00305 -297.50 167.50 52.50 1.21537 -297.50 167.50 57.50 1.36656 -297.50 167.50 62.50 1.38887 -297.50 167.50 67.50 1.19798 -297.50 167.50 72.50 0.896729 -297.50 167.50 77.50 0.606151 -297.50 167.50 82.50 0.35581 -297.50 167.50 87.50 0.211095 -297.50 167.50 92.50 0.129911 -297.50 167.50 97.50 0.131489 -297.50 167.50 102.50 0.241637 -297.50 167.50 107.50 0.481758 -297.50 167.50 112.50 0.813542 -297.50 167.50 117.50 1.10479 -297.50 167.50 122.50 1.1614 -297.50 167.50 127.50 0.997995 -297.50 167.50 132.50 0.893712 -297.50 167.50 137.50 1.00305 -297.50 167.50 142.50 1.21537 -297.50 167.50 147.50 1.36656 -297.50 167.50 152.50 1.38887 -297.50 167.50 157.50 1.19798 -297.50 167.50 162.50 0.89673 -297.50 167.50 167.50 0.606152 -297.50 167.50 172.50 0.35581 -297.50 167.50 177.50 0.211095 -297.50 167.50 182.50 0.129911 -297.50 167.50 187.50 0.131489 -297.50 167.50 192.50 0.241637 -297.50 167.50 197.50 0.481758 -297.50 167.50 202.50 0.813542 -297.50 167.50 207.50 1.10479 -297.50 167.50 212.50 1.1614 -297.50 167.50 217.50 0.997996 -297.50 167.50 222.50 0.893712 -297.50 167.50 227.50 1.00305 -297.50 167.50 232.50 1.21537 -297.50 167.50 237.50 1.36656 -297.50 167.50 242.50 1.38887 -297.50 167.50 247.50 1.19798 -297.50 167.50 252.50 0.896729 -297.50 167.50 257.50 0.606151 -297.50 167.50 262.50 0.35581 -297.50 167.50 267.50 0.211095 -297.50 167.50 272.50 0.129911 -297.50 167.50 277.50 0.131489 -297.50 167.50 282.50 0.241637 -297.50 167.50 287.50 0.481758 -297.50 167.50 292.50 0.813542 -297.50 167.50 297.50 1.10479 -297.50 167.50 302.50 1.1614 -297.50 167.50 307.50 0.997996 -297.50 167.50 312.50 0.893712 -297.50 167.50 317.50 1.00305 -297.50 167.50 322.50 1.21537 -297.50 167.50 327.50 1.36656 -297.50 167.50 332.50 1.38887 -297.50 167.50 337.50 1.19799 -297.50 167.50 342.50 0.89673 -297.50 167.50 347.50 0.606151 -297.50 167.50 352.50 0.35581 -297.50 167.50 357.50 0.211095 -297.50 172.50 2.50 0.116684 -297.50 172.50 7.50 0.125415 -297.50 172.50 12.50 0.233425 -297.50 172.50 17.50 0.462915 -297.50 172.50 22.50 0.793623 -297.50 172.50 27.50 1.01746 -297.50 172.50 32.50 0.94396 -297.50 172.50 37.50 0.667121 -297.50 172.50 42.50 0.44694 -297.50 172.50 47.50 0.402325 -297.50 172.50 52.50 0.469211 -297.50 172.50 57.50 0.545911 -297.50 172.50 62.50 0.563691 -297.50 172.50 67.50 0.509966 -297.50 172.50 72.50 0.418482 -297.50 172.50 77.50 0.325522 -297.50 172.50 82.50 0.251316 -297.50 172.50 87.50 0.171945 -297.50 172.50 92.50 0.116684 -297.50 172.50 97.50 0.125415 -297.50 172.50 102.50 0.233426 -297.50 172.50 107.50 0.462916 -297.50 172.50 112.50 0.793623 -297.50 172.50 117.50 1.01746 -297.50 172.50 122.50 0.94396 -297.50 172.50 127.50 0.66712 -297.50 172.50 132.50 0.44694 -297.50 172.50 137.50 0.402325 -297.50 172.50 142.50 0.46921 -297.50 172.50 147.50 0.545911 -297.50 172.50 152.50 0.563691 -297.50 172.50 157.50 0.509967 -297.50 172.50 162.50 0.418482 -297.50 172.50 167.50 0.325522 -297.50 172.50 172.50 0.251316 -297.50 172.50 177.50 0.171945 -297.50 172.50 182.50 0.116684 -297.50 172.50 187.50 0.125415 -297.50 172.50 192.50 0.233426 -297.50 172.50 197.50 0.462916 -297.50 172.50 202.50 0.793623 -297.50 172.50 207.50 1.01746 -297.50 172.50 212.50 0.94396 -297.50 172.50 217.50 0.667121 -297.50 172.50 222.50 0.44694 -297.50 172.50 227.50 0.402325 -297.50 172.50 232.50 0.469211 -297.50 172.50 237.50 0.545911 -297.50 172.50 242.50 0.563691 -297.50 172.50 247.50 0.509967 -297.50 172.50 252.50 0.418482 -297.50 172.50 257.50 0.325522 -297.50 172.50 262.50 0.251316 -297.50 172.50 267.50 0.171944 -297.50 172.50 272.50 0.116684 -297.50 172.50 277.50 0.125415 -297.50 172.50 282.50 0.233425 -297.50 172.50 287.50 0.462915 -297.50 172.50 292.50 0.793624 -297.50 172.50 297.50 1.01746 -297.50 172.50 302.50 0.94396 -297.50 172.50 307.50 0.667121 -297.50 172.50 312.50 0.446941 -297.50 172.50 317.50 0.402325 -297.50 172.50 322.50 0.46921 -297.50 172.50 327.50 0.545911 -297.50 172.50 332.50 0.563691 -297.50 172.50 337.50 0.509967 -297.50 172.50 342.50 0.418483 -297.50 172.50 347.50 0.325522 -297.50 172.50 352.50 0.251316 -297.50 172.50 357.50 0.171945 -297.50 177.50 2.50 0.0733505 -297.50 177.50 7.50 0.0849768 -297.50 177.50 12.50 0.175312 -297.50 177.50 17.50 0.39749 -297.50 177.50 22.50 0.711143 -297.50 177.50 27.50 0.873767 -297.50 177.50 32.50 0.710742 -297.50 177.50 37.50 0.413166 -297.50 177.50 42.50 0.202284 -297.50 177.50 47.50 0.130436 -297.50 177.50 52.50 0.134926 -297.50 177.50 57.50 0.158344 -297.50 177.50 62.50 0.17362 -297.50 177.50 67.50 0.176032 -297.50 177.50 72.50 0.165474 -297.50 177.50 77.50 0.153603 -297.50 177.50 82.50 0.131719 -297.50 177.50 87.50 0.0984698 -297.50 177.50 92.50 0.0733505 -297.50 177.50 97.50 0.0849769 -297.50 177.50 102.50 0.175313 -297.50 177.50 107.50 0.39749 -297.50 177.50 112.50 0.711143 -297.50 177.50 117.50 0.873767 -297.50 177.50 122.50 0.710742 -297.50 177.50 127.50 0.413166 -297.50 177.50 132.50 0.202284 -297.50 177.50 137.50 0.130436 -297.50 177.50 142.50 0.134926 -297.50 177.50 147.50 0.158344 -297.50 177.50 152.50 0.17362 -297.50 177.50 157.50 0.176032 -297.50 177.50 162.50 0.165474 -297.50 177.50 167.50 0.153603 -297.50 177.50 172.50 0.131719 -297.50 177.50 177.50 0.0984698 -297.50 177.50 182.50 0.0733505 -297.50 177.50 187.50 0.0849769 -297.50 177.50 192.50 0.175312 -297.50 177.50 197.50 0.397489 -297.50 177.50 202.50 0.711143 -297.50 177.50 207.50 0.873767 -297.50 177.50 212.50 0.710742 -297.50 177.50 217.50 0.413166 -297.50 177.50 222.50 0.202284 -297.50 177.50 227.50 0.130437 -297.50 177.50 232.50 0.134926 -297.50 177.50 237.50 0.158344 -297.50 177.50 242.50 0.17362 -297.50 177.50 247.50 0.176032 -297.50 177.50 252.50 0.165474 -297.50 177.50 257.50 0.153603 -297.50 177.50 262.50 0.131719 -297.50 177.50 267.50 0.0984698 -297.50 177.50 272.50 0.0733505 -297.50 177.50 277.50 0.0849768 -297.50 177.50 282.50 0.175312 -297.50 177.50 287.50 0.397489 -297.50 177.50 292.50 0.711143 -297.50 177.50 297.50 0.873768 -297.50 177.50 302.50 0.710743 -297.50 177.50 307.50 0.413167 -297.50 177.50 312.50 0.202284 -297.50 177.50 317.50 0.130437 -297.50 177.50 322.50 0.134926 -297.50 177.50 327.50 0.158344 -297.50 177.50 332.50 0.17362 -297.50 177.50 337.50 0.176032 -297.50 177.50 342.50 0.165474 -297.50 177.50 347.50 0.153603 -297.50 177.50 352.50 0.131719 -297.50 177.50 357.50 0.0984699 -302.50 2.50 2.50 0.0601603 -302.50 2.50 7.50 0.0760385 -302.50 2.50 12.50 0.083846 -302.50 2.50 17.50 0.084539 -302.50 2.50 22.50 0.083846 -302.50 2.50 27.50 0.0760385 -302.50 2.50 32.50 0.0601603 -302.50 2.50 37.50 0.0485219 -302.50 2.50 42.50 0.0624686 -302.50 2.50 47.50 0.149977 -302.50 2.50 52.50 0.393272 -302.50 2.50 57.50 0.773179 -302.50 2.50 62.50 0.980476 -302.50 2.50 67.50 0.773179 -302.50 2.50 72.50 0.393272 -302.50 2.50 77.50 0.149977 -302.50 2.50 82.50 0.0624686 -302.50 2.50 87.50 0.0485219 -302.50 2.50 92.50 0.0601603 -302.50 2.50 97.50 0.0760385 -302.50 2.50 102.50 0.083846 -302.50 2.50 107.50 0.084539 -302.50 2.50 112.50 0.083846 -302.50 2.50 117.50 0.0760385 -302.50 2.50 122.50 0.0601603 -302.50 2.50 127.50 0.048522 -302.50 2.50 132.50 0.0624685 -302.50 2.50 137.50 0.149977 -302.50 2.50 142.50 0.393272 -302.50 2.50 147.50 0.773179 -302.50 2.50 152.50 0.980476 -302.50 2.50 157.50 0.773179 -302.50 2.50 162.50 0.393273 -302.50 2.50 167.50 0.149977 -302.50 2.50 172.50 0.0624686 -302.50 2.50 177.50 0.0485219 -302.50 2.50 182.50 0.0601603 -302.50 2.50 187.50 0.0760386 -302.50 2.50 192.50 0.083846 -302.50 2.50 197.50 0.084539 -302.50 2.50 202.50 0.083846 -302.50 2.50 207.50 0.0760386 -302.50 2.50 212.50 0.0601603 -302.50 2.50 217.50 0.048522 -302.50 2.50 222.50 0.0624686 -302.50 2.50 227.50 0.149977 -302.50 2.50 232.50 0.393273 -302.50 2.50 237.50 0.773178 -302.50 2.50 242.50 0.980476 -302.50 2.50 247.50 0.773179 -302.50 2.50 252.50 0.393272 -302.50 2.50 257.50 0.149977 -302.50 2.50 262.50 0.0624686 -302.50 2.50 267.50 0.0485219 -302.50 2.50 272.50 0.0601603 -302.50 2.50 277.50 0.0760385 -302.50 2.50 282.50 0.083846 -302.50 2.50 287.50 0.084539 -302.50 2.50 292.50 0.083846 -302.50 2.50 297.50 0.0760385 -302.50 2.50 302.50 0.0601603 -302.50 2.50 307.50 0.048522 -302.50 2.50 312.50 0.0624685 -302.50 2.50 317.50 0.149977 -302.50 2.50 322.50 0.393271 -302.50 2.50 327.50 0.773177 -302.50 2.50 332.50 0.980476 -302.50 2.50 337.50 0.773179 -302.50 2.50 342.50 0.393273 -302.50 2.50 347.50 0.149977 -302.50 2.50 352.50 0.0624687 -302.50 2.50 357.50 0.0485219 -302.50 7.50 2.50 0.0922625 -302.50 7.50 7.50 0.123951 -302.50 7.50 12.50 0.143131 -302.50 7.50 17.50 0.152129 -302.50 7.50 22.50 0.163986 -302.50 7.50 27.50 0.166803 -302.50 7.50 32.50 0.1496 -302.50 7.50 37.50 0.129557 -302.50 7.50 42.50 0.12957 -302.50 7.50 47.50 0.206718 -302.50 7.50 52.50 0.421353 -302.50 7.50 57.50 0.721803 -302.50 7.50 62.50 0.868014 -302.50 7.50 67.50 0.719928 -302.50 7.50 72.50 0.414426 -302.50 7.50 77.50 0.186094 -302.50 7.50 82.50 0.0859379 -302.50 7.50 87.50 0.0690466 -302.50 7.50 92.50 0.0922625 -302.50 7.50 97.50 0.123951 -302.50 7.50 102.50 0.143131 -302.50 7.50 107.50 0.152129 -302.50 7.50 112.50 0.163986 -302.50 7.50 117.50 0.166803 -302.50 7.50 122.50 0.1496 -302.50 7.50 127.50 0.129557 -302.50 7.50 132.50 0.12957 -302.50 7.50 137.50 0.206718 -302.50 7.50 142.50 0.421353 -302.50 7.50 147.50 0.721803 -302.50 7.50 152.50 0.868014 -302.50 7.50 157.50 0.719928 -302.50 7.50 162.50 0.414427 -302.50 7.50 167.50 0.186094 -302.50 7.50 172.50 0.085938 -302.50 7.50 177.50 0.0690466 -302.50 7.50 182.50 0.0922626 -302.50 7.50 187.50 0.123951 -302.50 7.50 192.50 0.143131 -302.50 7.50 197.50 0.152129 -302.50 7.50 202.50 0.163986 -302.50 7.50 207.50 0.166803 -302.50 7.50 212.50 0.1496 -302.50 7.50 217.50 0.129557 -302.50 7.50 222.50 0.12957 -302.50 7.50 227.50 0.206718 -302.50 7.50 232.50 0.421354 -302.50 7.50 237.50 0.721804 -302.50 7.50 242.50 0.868014 -302.50 7.50 247.50 0.719928 -302.50 7.50 252.50 0.414425 -302.50 7.50 257.50 0.186093 -302.50 7.50 262.50 0.0859379 -302.50 7.50 267.50 0.0690466 -302.50 7.50 272.50 0.0922625 -302.50 7.50 277.50 0.123951 -302.50 7.50 282.50 0.143131 -302.50 7.50 287.50 0.152129 -302.50 7.50 292.50 0.163986 -302.50 7.50 297.50 0.166803 -302.50 7.50 302.50 0.1496 -302.50 7.50 307.50 0.129557 -302.50 7.50 312.50 0.12957 -302.50 7.50 317.50 0.206718 -302.50 7.50 322.50 0.421353 -302.50 7.50 327.50 0.721802 -302.50 7.50 332.50 0.868015 -302.50 7.50 337.50 0.719929 -302.50 7.50 342.50 0.414427 -302.50 7.50 347.50 0.186094 -302.50 7.50 352.50 0.085938 -302.50 7.50 357.50 0.0690466 -302.50 12.50 2.50 0.149325 -302.50 12.50 7.50 0.223786 -302.50 12.50 12.50 0.287298 -302.50 12.50 17.50 0.345455 -302.50 12.50 22.50 0.444353 -302.50 12.50 27.50 0.519333 -302.50 12.50 32.50 0.524381 -302.50 12.50 37.50 0.468542 -302.50 12.50 42.50 0.40312 -302.50 12.50 47.50 0.456224 -302.50 12.50 52.50 0.691593 -302.50 12.50 57.50 0.978158 -302.50 12.50 62.50 1.0596 -302.50 12.50 67.50 0.84758 -302.50 12.50 72.50 0.518343 -302.50 12.50 77.50 0.25839 -302.50 12.50 82.50 0.125281 -302.50 12.50 87.50 0.100886 -302.50 12.50 92.50 0.149325 -302.50 12.50 97.50 0.223786 -302.50 12.50 102.50 0.287298 -302.50 12.50 107.50 0.345455 -302.50 12.50 112.50 0.444353 -302.50 12.50 117.50 0.519333 -302.50 12.50 122.50 0.524381 -302.50 12.50 127.50 0.468542 -302.50 12.50 132.50 0.40312 -302.50 12.50 137.50 0.456224 -302.50 12.50 142.50 0.691593 -302.50 12.50 147.50 0.978158 -302.50 12.50 152.50 1.0596 -302.50 12.50 157.50 0.84758 -302.50 12.50 162.50 0.518343 -302.50 12.50 167.50 0.258391 -302.50 12.50 172.50 0.125282 -302.50 12.50 177.50 0.100886 -302.50 12.50 182.50 0.149325 -302.50 12.50 187.50 0.223786 -302.50 12.50 192.50 0.287298 -302.50 12.50 197.50 0.345455 -302.50 12.50 202.50 0.444353 -302.50 12.50 207.50 0.519333 -302.50 12.50 212.50 0.524381 -302.50 12.50 217.50 0.468542 -302.50 12.50 222.50 0.40312 -302.50 12.50 227.50 0.456224 -302.50 12.50 232.50 0.691594 -302.50 12.50 237.50 0.978158 -302.50 12.50 242.50 1.0596 -302.50 12.50 247.50 0.84758 -302.50 12.50 252.50 0.518342 -302.50 12.50 257.50 0.25839 -302.50 12.50 262.50 0.125281 -302.50 12.50 267.50 0.100886 -302.50 12.50 272.50 0.149325 -302.50 12.50 277.50 0.223786 -302.50 12.50 282.50 0.287298 -302.50 12.50 287.50 0.345456 -302.50 12.50 292.50 0.444353 -302.50 12.50 297.50 0.519333 -302.50 12.50 302.50 0.524382 -302.50 12.50 307.50 0.468542 -302.50 12.50 312.50 0.40312 -302.50 12.50 317.50 0.456224 -302.50 12.50 322.50 0.691593 -302.50 12.50 327.50 0.978157 -302.50 12.50 332.50 1.0596 -302.50 12.50 337.50 0.847581 -302.50 12.50 342.50 0.518343 -302.50 12.50 347.50 0.258391 -302.50 12.50 352.50 0.125282 -302.50 12.50 357.50 0.100886 -302.50 17.50 2.50 0.171122 -302.50 17.50 7.50 0.297934 -302.50 17.50 12.50 0.466813 -302.50 17.50 17.50 0.744515 -302.50 17.50 22.50 1.06471 -302.50 17.50 27.50 1.3114 -302.50 17.50 32.50 1.35825 -302.50 17.50 37.50 1.22026 -302.50 17.50 42.50 1.04756 -302.50 17.50 47.50 0.962608 -302.50 17.50 52.50 1.07277 -302.50 17.50 57.50 1.23553 -302.50 17.50 62.50 1.17985 -302.50 17.50 67.50 0.884237 -302.50 17.50 72.50 0.552135 -302.50 17.50 77.50 0.287369 -302.50 17.50 82.50 0.129418 -302.50 17.50 87.50 0.102338 -302.50 17.50 92.50 0.171122 -302.50 17.50 97.50 0.297934 -302.50 17.50 102.50 0.466813 -302.50 17.50 107.50 0.744515 -302.50 17.50 112.50 1.06471 -302.50 17.50 117.50 1.3114 -302.50 17.50 122.50 1.35825 -302.50 17.50 127.50 1.22026 -302.50 17.50 132.50 1.04756 -302.50 17.50 137.50 0.962608 -302.50 17.50 142.50 1.07277 -302.50 17.50 147.50 1.23553 -302.50 17.50 152.50 1.17985 -302.50 17.50 157.50 0.884237 -302.50 17.50 162.50 0.552135 -302.50 17.50 167.50 0.287369 -302.50 17.50 172.50 0.129418 -302.50 17.50 177.50 0.102338 -302.50 17.50 182.50 0.171122 -302.50 17.50 187.50 0.297934 -302.50 17.50 192.50 0.466813 -302.50 17.50 197.50 0.744515 -302.50 17.50 202.50 1.06471 -302.50 17.50 207.50 1.3114 -302.50 17.50 212.50 1.35825 -302.50 17.50 217.50 1.22026 -302.50 17.50 222.50 1.04756 -302.50 17.50 227.50 0.962608 -302.50 17.50 232.50 1.07277 -302.50 17.50 237.50 1.23553 -302.50 17.50 242.50 1.17985 -302.50 17.50 247.50 0.884236 -302.50 17.50 252.50 0.552134 -302.50 17.50 257.50 0.287369 -302.50 17.50 262.50 0.129418 -302.50 17.50 267.50 0.102338 -302.50 17.50 272.50 0.171122 -302.50 17.50 277.50 0.297934 -302.50 17.50 282.50 0.466813 -302.50 17.50 287.50 0.744515 -302.50 17.50 292.50 1.06471 -302.50 17.50 297.50 1.3114 -302.50 17.50 302.50 1.35825 -302.50 17.50 307.50 1.22026 -302.50 17.50 312.50 1.04756 -302.50 17.50 317.50 0.962608 -302.50 17.50 322.50 1.07277 -302.50 17.50 327.50 1.23552 -302.50 17.50 332.50 1.17985 -302.50 17.50 337.50 0.884237 -302.50 17.50 342.50 0.552136 -302.50 17.50 347.50 0.287369 -302.50 17.50 352.50 0.129418 -302.50 17.50 357.50 0.102338 -302.50 22.50 2.50 0.169877 -302.50 22.50 7.50 0.362128 -302.50 22.50 12.50 0.758532 -302.50 22.50 17.50 1.39346 -302.50 22.50 22.50 2.15474 -302.50 22.50 27.50 2.71146 -302.50 22.50 32.50 2.8001 -302.50 22.50 37.50 2.51249 -302.50 22.50 42.50 2.01872 -302.50 22.50 47.50 1.5729 -302.50 22.50 52.50 1.38735 -302.50 22.50 57.50 1.31728 -302.50 22.50 62.50 1.0931 -302.50 22.50 67.50 0.745256 -302.50 22.50 72.50 0.438268 -302.50 22.50 77.50 0.217768 -302.50 22.50 82.50 0.095702 -302.50 22.50 87.50 0.0797989 -302.50 22.50 92.50 0.169877 -302.50 22.50 97.50 0.362129 -302.50 22.50 102.50 0.758532 -302.50 22.50 107.50 1.39346 -302.50 22.50 112.50 2.15474 -302.50 22.50 117.50 2.71146 -302.50 22.50 122.50 2.8001 -302.50 22.50 127.50 2.51249 -302.50 22.50 132.50 2.01872 -302.50 22.50 137.50 1.5729 -302.50 22.50 142.50 1.38735 -302.50 22.50 147.50 1.31728 -302.50 22.50 152.50 1.0931 -302.50 22.50 157.50 0.745256 -302.50 22.50 162.50 0.438268 -302.50 22.50 167.50 0.217769 -302.50 22.50 172.50 0.095702 -302.50 22.50 177.50 0.0797989 -302.50 22.50 182.50 0.169877 -302.50 22.50 187.50 0.362129 -302.50 22.50 192.50 0.758532 -302.50 22.50 197.50 1.39346 -302.50 22.50 202.50 2.15474 -302.50 22.50 207.50 2.71146 -302.50 22.50 212.50 2.8001 -302.50 22.50 217.50 2.51249 -302.50 22.50 222.50 2.01872 -302.50 22.50 227.50 1.5729 -302.50 22.50 232.50 1.38735 -302.50 22.50 237.50 1.31728 -302.50 22.50 242.50 1.0931 -302.50 22.50 247.50 0.745255 -302.50 22.50 252.50 0.438268 -302.50 22.50 257.50 0.217768 -302.50 22.50 262.50 0.0957019 -302.50 22.50 267.50 0.0797989 -302.50 22.50 272.50 0.169877 -302.50 22.50 277.50 0.362129 -302.50 22.50 282.50 0.758532 -302.50 22.50 287.50 1.39346 -302.50 22.50 292.50 2.15474 -302.50 22.50 297.50 2.71146 -302.50 22.50 302.50 2.8001 -302.50 22.50 307.50 2.51249 -302.50 22.50 312.50 2.01872 -302.50 22.50 317.50 1.5729 -302.50 22.50 322.50 1.38735 -302.50 22.50 327.50 1.31728 -302.50 22.50 332.50 1.0931 -302.50 22.50 337.50 0.745256 -302.50 22.50 342.50 0.438269 -302.50 22.50 347.50 0.217769 -302.50 22.50 352.50 0.0957022 -302.50 22.50 357.50 0.0797988 -302.50 27.50 2.50 0.190178 -302.50 27.50 7.50 0.465381 -302.50 27.50 12.50 1.1038 -302.50 27.50 17.50 2.17989 -302.50 27.50 22.50 3.51984 -302.50 27.50 27.50 4.50219 -302.50 27.50 32.50 4.63534 -302.50 27.50 37.50 3.81855 -302.50 27.50 42.50 2.80798 -302.50 27.50 47.50 2.0097 -302.50 27.50 52.50 1.43678 -302.50 27.50 57.50 1.12126 -302.50 27.50 62.50 0.838582 -302.50 27.50 67.50 0.491738 -302.50 27.50 72.50 0.252156 -302.50 27.50 77.50 0.115685 -302.50 27.50 82.50 0.0549512 -302.50 27.50 87.50 0.064067 -302.50 27.50 92.50 0.190178 -302.50 27.50 97.50 0.465381 -302.50 27.50 102.50 1.1038 -302.50 27.50 107.50 2.17989 -302.50 27.50 112.50 3.51984 -302.50 27.50 117.50 4.50219 -302.50 27.50 122.50 4.63534 -302.50 27.50 127.50 3.81855 -302.50 27.50 132.50 2.80798 -302.50 27.50 137.50 2.0097 -302.50 27.50 142.50 1.43678 -302.50 27.50 147.50 1.12126 -302.50 27.50 152.50 0.838583 -302.50 27.50 157.50 0.491738 -302.50 27.50 162.50 0.252156 -302.50 27.50 167.50 0.115685 -302.50 27.50 172.50 0.0549513 -302.50 27.50 177.50 0.064067 -302.50 27.50 182.50 0.190178 -302.50 27.50 187.50 0.465381 -302.50 27.50 192.50 1.1038 -302.50 27.50 197.50 2.17989 -302.50 27.50 202.50 3.51984 -302.50 27.50 207.50 4.50219 -302.50 27.50 212.50 4.63534 -302.50 27.50 217.50 3.81855 -302.50 27.50 222.50 2.80798 -302.50 27.50 227.50 2.0097 -302.50 27.50 232.50 1.43677 -302.50 27.50 237.50 1.12126 -302.50 27.50 242.50 0.838582 -302.50 27.50 247.50 0.491737 -302.50 27.50 252.50 0.252155 -302.50 27.50 257.50 0.115685 -302.50 27.50 262.50 0.0549513 -302.50 27.50 267.50 0.0640671 -302.50 27.50 272.50 0.190178 -302.50 27.50 277.50 0.465381 -302.50 27.50 282.50 1.1038 -302.50 27.50 287.50 2.17989 -302.50 27.50 292.50 3.51984 -302.50 27.50 297.50 4.50219 -302.50 27.50 302.50 4.63534 -302.50 27.50 307.50 3.81855 -302.50 27.50 312.50 2.80798 -302.50 27.50 317.50 2.0097 -302.50 27.50 322.50 1.43678 -302.50 27.50 327.50 1.12126 -302.50 27.50 332.50 0.838583 -302.50 27.50 337.50 0.491738 -302.50 27.50 342.50 0.252156 -302.50 27.50 347.50 0.115685 -302.50 27.50 352.50 0.0549513 -302.50 27.50 357.50 0.0640668 -302.50 32.50 2.50 0.203044 -302.50 32.50 7.50 0.530742 -302.50 32.50 12.50 1.27208 -302.50 32.50 17.50 2.60783 -302.50 32.50 22.50 4.3323 -302.50 32.50 27.50 5.59052 -302.50 32.50 32.50 5.51831 -302.50 32.50 37.50 4.53233 -302.50 32.50 42.50 3.1106 -302.50 32.50 47.50 1.88573 -302.50 32.50 52.50 1.1305 -302.50 32.50 57.50 0.763453 -302.50 32.50 62.50 0.489223 -302.50 32.50 67.50 0.255476 -302.50 32.50 72.50 0.112016 -302.50 32.50 77.50 0.0493549 -302.50 32.50 82.50 0.0313745 -302.50 32.50 87.50 0.0556259 -302.50 32.50 92.50 0.203044 -302.50 32.50 97.50 0.530742 -302.50 32.50 102.50 1.27208 -302.50 32.50 107.50 2.60783 -302.50 32.50 112.50 4.3323 -302.50 32.50 117.50 5.59052 -302.50 32.50 122.50 5.5183 -302.50 32.50 127.50 4.53233 -302.50 32.50 132.50 3.1106 -302.50 32.50 137.50 1.88573 -302.50 32.50 142.50 1.1305 -302.50 32.50 147.50 0.763453 -302.50 32.50 152.50 0.489223 -302.50 32.50 157.50 0.255477 -302.50 32.50 162.50 0.112017 -302.50 32.50 167.50 0.0493549 -302.50 32.50 172.50 0.0313745 -302.50 32.50 177.50 0.0556259 -302.50 32.50 182.50 0.203044 -302.50 32.50 187.50 0.530742 -302.50 32.50 192.50 1.27208 -302.50 32.50 197.50 2.60783 -302.50 32.50 202.50 4.3323 -302.50 32.50 207.50 5.59052 -302.50 32.50 212.50 5.5183 -302.50 32.50 217.50 4.53233 -302.50 32.50 222.50 3.1106 -302.50 32.50 227.50 1.88573 -302.50 32.50 232.50 1.1305 -302.50 32.50 237.50 0.763453 -302.50 32.50 242.50 0.489223 -302.50 32.50 247.50 0.255476 -302.50 32.50 252.50 0.112016 -302.50 32.50 257.50 0.0493548 -302.50 32.50 262.50 0.0313745 -302.50 32.50 267.50 0.0556261 -302.50 32.50 272.50 0.203044 -302.50 32.50 277.50 0.530741 -302.50 32.50 282.50 1.27208 -302.50 32.50 287.50 2.60783 -302.50 32.50 292.50 4.3323 -302.50 32.50 297.50 5.59052 -302.50 32.50 302.50 5.51831 -302.50 32.50 307.50 4.53233 -302.50 32.50 312.50 3.1106 -302.50 32.50 317.50 1.88573 -302.50 32.50 322.50 1.1305 -302.50 32.50 327.50 0.763453 -302.50 32.50 332.50 0.489224 -302.50 32.50 337.50 0.255477 -302.50 32.50 342.50 0.112017 -302.50 32.50 347.50 0.049355 -302.50 32.50 352.50 0.0313745 -302.50 32.50 357.50 0.0556258 -302.50 37.50 2.50 0.166468 -302.50 37.50 7.50 0.461633 -302.50 37.50 12.50 1.0963 -302.50 37.50 17.50 2.28254 -302.50 37.50 22.50 3.92672 -302.50 37.50 27.50 5.08545 -302.50 37.50 32.50 5.13611 -302.50 37.50 37.50 4.15246 -302.50 37.50 42.50 2.64226 -302.50 37.50 47.50 1.38142 -302.50 37.50 52.50 0.695002 -302.50 37.50 57.50 0.397978 -302.50 37.50 62.50 0.232747 -302.50 37.50 67.50 0.106889 -302.50 37.50 72.50 0.0424254 -302.50 37.50 77.50 0.0215696 -302.50 37.50 82.50 0.0177901 -302.50 37.50 87.50 0.0437722 -302.50 37.50 92.50 0.166468 -302.50 37.50 97.50 0.461633 -302.50 37.50 102.50 1.0963 -302.50 37.50 107.50 2.28254 -302.50 37.50 112.50 3.92672 -302.50 37.50 117.50 5.08545 -302.50 37.50 122.50 5.13611 -302.50 37.50 127.50 4.15245 -302.50 37.50 132.50 2.64226 -302.50 37.50 137.50 1.38142 -302.50 37.50 142.50 0.695003 -302.50 37.50 147.50 0.397978 -302.50 37.50 152.50 0.232747 -302.50 37.50 157.50 0.10689 -302.50 37.50 162.50 0.0424255 -302.50 37.50 167.50 0.0215696 -302.50 37.50 172.50 0.0177901 -302.50 37.50 177.50 0.0437722 -302.50 37.50 182.50 0.166468 -302.50 37.50 187.50 0.461633 -302.50 37.50 192.50 1.0963 -302.50 37.50 197.50 2.28254 -302.50 37.50 202.50 3.92672 -302.50 37.50 207.50 5.08545 -302.50 37.50 212.50 5.13611 -302.50 37.50 217.50 4.15246 -302.50 37.50 222.50 2.64226 -302.50 37.50 227.50 1.38142 -302.50 37.50 232.50 0.695002 -302.50 37.50 237.50 0.397978 -302.50 37.50 242.50 0.232747 -302.50 37.50 247.50 0.106889 -302.50 37.50 252.50 0.0424254 -302.50 37.50 257.50 0.0215696 -302.50 37.50 262.50 0.0177901 -302.50 37.50 267.50 0.0437723 -302.50 37.50 272.50 0.166468 -302.50 37.50 277.50 0.461633 -302.50 37.50 282.50 1.0963 -302.50 37.50 287.50 2.28254 -302.50 37.50 292.50 3.92672 -302.50 37.50 297.50 5.08545 -302.50 37.50 302.50 5.13611 -302.50 37.50 307.50 4.15246 -302.50 37.50 312.50 2.64226 -302.50 37.50 317.50 1.38142 -302.50 37.50 322.50 0.695003 -302.50 37.50 327.50 0.397979 -302.50 37.50 332.50 0.232747 -302.50 37.50 337.50 0.10689 -302.50 37.50 342.50 0.0424255 -302.50 37.50 347.50 0.0215696 -302.50 37.50 352.50 0.0177901 -302.50 37.50 357.50 0.0437721 -302.50 42.50 2.50 0.114674 -302.50 42.50 7.50 0.315208 -302.50 42.50 12.50 0.732046 -302.50 42.50 17.50 1.54765 -302.50 42.50 22.50 2.71904 -302.50 42.50 27.50 3.61403 -302.50 42.50 32.50 3.68176 -302.50 42.50 37.50 2.81508 -302.50 42.50 42.50 1.67063 -302.50 42.50 47.50 0.754377 -302.50 42.50 52.50 0.322358 -302.50 42.50 57.50 0.153367 -302.50 42.50 62.50 0.0814492 -302.50 42.50 67.50 0.0398015 -302.50 42.50 72.50 0.0213086 -302.50 42.50 77.50 0.0191426 -302.50 42.50 82.50 0.0192761 -302.50 42.50 87.50 0.0353898 -302.50 42.50 92.50 0.114674 -302.50 42.50 97.50 0.315208 -302.50 42.50 102.50 0.732046 -302.50 42.50 107.50 1.54765 -302.50 42.50 112.50 2.71904 -302.50 42.50 117.50 3.61403 -302.50 42.50 122.50 3.68176 -302.50 42.50 127.50 2.81508 -302.50 42.50 132.50 1.67063 -302.50 42.50 137.50 0.754377 -302.50 42.50 142.50 0.322358 -302.50 42.50 147.50 0.153367 -302.50 42.50 152.50 0.0814493 -302.50 42.50 157.50 0.0398016 -302.50 42.50 162.50 0.0213086 -302.50 42.50 167.50 0.0191425 -302.50 42.50 172.50 0.0192761 -302.50 42.50 177.50 0.0353898 -302.50 42.50 182.50 0.114674 -302.50 42.50 187.50 0.315208 -302.50 42.50 192.50 0.732047 -302.50 42.50 197.50 1.54765 -302.50 42.50 202.50 2.71904 -302.50 42.50 207.50 3.61403 -302.50 42.50 212.50 3.68176 -302.50 42.50 217.50 2.81508 -302.50 42.50 222.50 1.67063 -302.50 42.50 227.50 0.754377 -302.50 42.50 232.50 0.322358 -302.50 42.50 237.50 0.153366 -302.50 42.50 242.50 0.0814492 -302.50 42.50 247.50 0.0398015 -302.50 42.50 252.50 0.0213085 -302.50 42.50 257.50 0.0191425 -302.50 42.50 262.50 0.0192761 -302.50 42.50 267.50 0.0353898 -302.50 42.50 272.50 0.114674 -302.50 42.50 277.50 0.315208 -302.50 42.50 282.50 0.732046 -302.50 42.50 287.50 1.54764 -302.50 42.50 292.50 2.71904 -302.50 42.50 297.50 3.61403 -302.50 42.50 302.50 3.68176 -302.50 42.50 307.50 2.81508 -302.50 42.50 312.50 1.67063 -302.50 42.50 317.50 0.754378 -302.50 42.50 322.50 0.322359 -302.50 42.50 327.50 0.153367 -302.50 42.50 332.50 0.0814494 -302.50 42.50 337.50 0.0398016 -302.50 42.50 342.50 0.0213086 -302.50 42.50 347.50 0.0191425 -302.50 42.50 352.50 0.0192761 -302.50 42.50 357.50 0.0353897 -302.50 47.50 2.50 0.0938603 -302.50 47.50 7.50 0.195908 -302.50 47.50 12.50 0.422873 -302.50 47.50 17.50 0.864757 -302.50 47.50 22.50 1.51053 -302.50 47.50 27.50 1.98013 -302.50 47.50 32.50 1.86668 -302.50 47.50 37.50 1.34076 -302.50 47.50 42.50 0.731889 -302.50 47.50 47.50 0.336693 -302.50 47.50 52.50 0.104399 -302.50 47.50 57.50 0.0463751 -302.50 47.50 62.50 0.0252395 -302.50 47.50 67.50 0.0306563 -302.50 47.50 72.50 0.053292 -302.50 47.50 77.50 0.0688209 -302.50 47.50 82.50 0.0627211 -302.50 47.50 87.50 0.0548244 -302.50 47.50 92.50 0.0938603 -302.50 47.50 97.50 0.195908 -302.50 47.50 102.50 0.422873 -302.50 47.50 107.50 0.864757 -302.50 47.50 112.50 1.51053 -302.50 47.50 117.50 1.98013 -302.50 47.50 122.50 1.86668 -302.50 47.50 127.50 1.34076 -302.50 47.50 132.50 0.731889 -302.50 47.50 137.50 0.336693 -302.50 47.50 142.50 0.104399 -302.50 47.50 147.50 0.0463751 -302.50 47.50 152.50 0.0252395 -302.50 47.50 157.50 0.0306563 -302.50 47.50 162.50 0.053292 -302.50 47.50 167.50 0.0688208 -302.50 47.50 172.50 0.062721 -302.50 47.50 177.50 0.0548244 -302.50 47.50 182.50 0.0938604 -302.50 47.50 187.50 0.195908 -302.50 47.50 192.50 0.422873 -302.50 47.50 197.50 0.864758 -302.50 47.50 202.50 1.51053 -302.50 47.50 207.50 1.98013 -302.50 47.50 212.50 1.86668 -302.50 47.50 217.50 1.34076 -302.50 47.50 222.50 0.731889 -302.50 47.50 227.50 0.336693 -302.50 47.50 232.50 0.104399 -302.50 47.50 237.50 0.0463751 -302.50 47.50 242.50 0.0252395 -302.50 47.50 247.50 0.0306563 -302.50 47.50 252.50 0.053292 -302.50 47.50 257.50 0.0688209 -302.50 47.50 262.50 0.0627211 -302.50 47.50 267.50 0.0548244 -302.50 47.50 272.50 0.0938602 -302.50 47.50 277.50 0.195908 -302.50 47.50 282.50 0.422873 -302.50 47.50 287.50 0.864757 -302.50 47.50 292.50 1.51053 -302.50 47.50 297.50 1.98013 -302.50 47.50 302.50 1.86668 -302.50 47.50 307.50 1.34076 -302.50 47.50 312.50 0.731889 -302.50 47.50 317.50 0.336693 -302.50 47.50 322.50 0.104399 -302.50 47.50 327.50 0.0463752 -302.50 47.50 332.50 0.0252395 -302.50 47.50 337.50 0.0306563 -302.50 47.50 342.50 0.053292 -302.50 47.50 347.50 0.0688209 -302.50 47.50 352.50 0.0627211 -302.50 47.50 357.50 0.0548244 -302.50 52.50 2.50 0.114674 -302.50 52.50 7.50 0.126726 -302.50 52.50 12.50 0.219428 -302.50 52.50 17.50 0.409275 -302.50 52.50 22.50 0.65225 -302.50 52.50 27.50 0.754548 -302.50 52.50 32.50 0.650903 -302.50 52.50 37.50 0.477024 -302.50 52.50 42.50 0.257939 -302.50 52.50 47.50 0.099001 -302.50 52.50 52.50 0.0374259 -302.50 52.50 57.50 0.0325256 -302.50 52.50 62.50 0.059128 -302.50 52.50 67.50 0.105614 -302.50 52.50 72.50 0.169546 -302.50 52.50 77.50 0.215235 -302.50 52.50 82.50 0.189686 -302.50 52.50 87.50 0.133007 -302.50 52.50 92.50 0.114674 -302.50 52.50 97.50 0.126726 -302.50 52.50 102.50 0.219428 -302.50 52.50 107.50 0.409275 -302.50 52.50 112.50 0.652251 -302.50 52.50 117.50 0.754548 -302.50 52.50 122.50 0.650903 -302.50 52.50 127.50 0.477024 -302.50 52.50 132.50 0.257939 -302.50 52.50 137.50 0.099001 -302.50 52.50 142.50 0.0374258 -302.50 52.50 147.50 0.0325256 -302.50 52.50 152.50 0.0591279 -302.50 52.50 157.50 0.105614 -302.50 52.50 162.50 0.169546 -302.50 52.50 167.50 0.215235 -302.50 52.50 172.50 0.189686 -302.50 52.50 177.50 0.133007 -302.50 52.50 182.50 0.114674 -302.50 52.50 187.50 0.126726 -302.50 52.50 192.50 0.219428 -302.50 52.50 197.50 0.409275 -302.50 52.50 202.50 0.652251 -302.50 52.50 207.50 0.754548 -302.50 52.50 212.50 0.650903 -302.50 52.50 217.50 0.477024 -302.50 52.50 222.50 0.257939 -302.50 52.50 227.50 0.0990012 -302.50 52.50 232.50 0.0374257 -302.50 52.50 237.50 0.0325256 -302.50 52.50 242.50 0.059128 -302.50 52.50 247.50 0.105614 -302.50 52.50 252.50 0.169546 -302.50 52.50 257.50 0.215235 -302.50 52.50 262.50 0.189686 -302.50 52.50 267.50 0.133007 -302.50 52.50 272.50 0.114674 -302.50 52.50 277.50 0.126726 -302.50 52.50 282.50 0.219428 -302.50 52.50 287.50 0.409275 -302.50 52.50 292.50 0.65225 -302.50 52.50 297.50 0.754548 -302.50 52.50 302.50 0.650903 -302.50 52.50 307.50 0.477024 -302.50 52.50 312.50 0.257939 -302.50 52.50 317.50 0.0990012 -302.50 52.50 322.50 0.0374259 -302.50 52.50 327.50 0.0325256 -302.50 52.50 332.50 0.0591279 -302.50 52.50 337.50 0.105614 -302.50 52.50 342.50 0.169546 -302.50 52.50 347.50 0.215235 -302.50 52.50 352.50 0.189686 -302.50 52.50 357.50 0.133007 -302.50 57.50 2.50 0.166468 -302.50 57.50 7.50 0.0894973 -302.50 57.50 12.50 0.105927 -302.50 57.50 17.50 0.168414 -302.50 57.50 22.50 0.20326 -302.50 57.50 27.50 0.19648 -302.50 57.50 32.50 0.190217 -302.50 57.50 37.50 0.157626 -302.50 57.50 42.50 0.0886562 -302.50 57.50 47.50 0.0595862 -302.50 57.50 52.50 0.0640046 -302.50 57.50 57.50 0.127541 -302.50 57.50 62.50 0.256928 -302.50 57.50 67.50 0.39091 -302.50 57.50 72.50 0.480917 -302.50 57.50 77.50 0.501211 -302.50 57.50 82.50 0.416985 -302.50 57.50 87.50 0.282124 -302.50 57.50 92.50 0.166468 -302.50 57.50 97.50 0.0894974 -302.50 57.50 102.50 0.105927 -302.50 57.50 107.50 0.168414 -302.50 57.50 112.50 0.20326 -302.50 57.50 117.50 0.19648 -302.50 57.50 122.50 0.190217 -302.50 57.50 127.50 0.157626 -302.50 57.50 132.50 0.0886561 -302.50 57.50 137.50 0.0595862 -302.50 57.50 142.50 0.0640046 -302.50 57.50 147.50 0.127541 -302.50 57.50 152.50 0.256927 -302.50 57.50 157.50 0.390909 -302.50 57.50 162.50 0.480916 -302.50 57.50 167.50 0.50121 -302.50 57.50 172.50 0.416985 -302.50 57.50 177.50 0.282124 -302.50 57.50 182.50 0.166468 -302.50 57.50 187.50 0.0894973 -302.50 57.50 192.50 0.105927 -302.50 57.50 197.50 0.168414 -302.50 57.50 202.50 0.20326 -302.50 57.50 207.50 0.196481 -302.50 57.50 212.50 0.190217 -302.50 57.50 217.50 0.157626 -302.50 57.50 222.50 0.0886561 -302.50 57.50 227.50 0.0595862 -302.50 57.50 232.50 0.0640048 -302.50 57.50 237.50 0.127541 -302.50 57.50 242.50 0.256928 -302.50 57.50 247.50 0.390909 -302.50 57.50 252.50 0.480917 -302.50 57.50 257.50 0.501211 -302.50 57.50 262.50 0.416985 -302.50 57.50 267.50 0.282124 -302.50 57.50 272.50 0.166468 -302.50 57.50 277.50 0.0894974 -302.50 57.50 282.50 0.105927 -302.50 57.50 287.50 0.168414 -302.50 57.50 292.50 0.20326 -302.50 57.50 297.50 0.19648 -302.50 57.50 302.50 0.190217 -302.50 57.50 307.50 0.157626 -302.50 57.50 312.50 0.0886562 -302.50 57.50 317.50 0.0595862 -302.50 57.50 322.50 0.0640046 -302.50 57.50 327.50 0.127541 -302.50 57.50 332.50 0.256927 -302.50 57.50 337.50 0.390909 -302.50 57.50 342.50 0.480916 -302.50 57.50 347.50 0.501211 -302.50 57.50 352.50 0.416985 -302.50 57.50 357.50 0.282125 -302.50 62.50 2.50 0.203044 -302.50 62.50 7.50 0.0688334 -302.50 62.50 12.50 0.0515252 -302.50 62.50 17.50 0.0456485 -302.50 62.50 22.50 0.0447733 -302.50 62.50 27.50 0.0420362 -302.50 62.50 32.50 0.0565881 -302.50 62.50 37.50 0.0655195 -302.50 62.50 42.50 0.0894781 -302.50 62.50 47.50 0.155399 -302.50 62.50 52.50 0.28023 -302.50 62.50 57.50 0.522351 -302.50 62.50 62.50 0.838182 -302.50 62.50 67.50 1.13409 -302.50 62.50 72.50 1.18301 -302.50 62.50 77.50 0.965119 -302.50 62.50 82.50 0.677667 -302.50 62.50 87.50 0.42458 -302.50 62.50 92.50 0.203044 -302.50 62.50 97.50 0.0688334 -302.50 62.50 102.50 0.0515252 -302.50 62.50 107.50 0.0456485 -302.50 62.50 112.50 0.0447733 -302.50 62.50 117.50 0.0420362 -302.50 62.50 122.50 0.0565881 -302.50 62.50 127.50 0.0655195 -302.50 62.50 132.50 0.0894779 -302.50 62.50 137.50 0.155399 -302.50 62.50 142.50 0.28023 -302.50 62.50 147.50 0.52235 -302.50 62.50 152.50 0.83818 -302.50 62.50 157.50 1.13409 -302.50 62.50 162.50 1.18301 -302.50 62.50 167.50 0.965119 -302.50 62.50 172.50 0.677667 -302.50 62.50 177.50 0.42458 -302.50 62.50 182.50 0.203044 -302.50 62.50 187.50 0.0688333 -302.50 62.50 192.50 0.0515252 -302.50 62.50 197.50 0.0456485 -302.50 62.50 202.50 0.0447733 -302.50 62.50 207.50 0.0420362 -302.50 62.50 212.50 0.0565881 -302.50 62.50 217.50 0.0655194 -302.50 62.50 222.50 0.089478 -302.50 62.50 227.50 0.155399 -302.50 62.50 232.50 0.28023 -302.50 62.50 237.50 0.522351 -302.50 62.50 242.50 0.838181 -302.50 62.50 247.50 1.13409 -302.50 62.50 252.50 1.183 -302.50 62.50 257.50 0.965119 -302.50 62.50 262.50 0.677667 -302.50 62.50 267.50 0.42458 -302.50 62.50 272.50 0.203044 -302.50 62.50 277.50 0.0688334 -302.50 62.50 282.50 0.0515251 -302.50 62.50 287.50 0.0456485 -302.50 62.50 292.50 0.0447733 -302.50 62.50 297.50 0.0420362 -302.50 62.50 302.50 0.0565881 -302.50 62.50 307.50 0.0655195 -302.50 62.50 312.50 0.089478 -302.50 62.50 317.50 0.155399 -302.50 62.50 322.50 0.28023 -302.50 62.50 327.50 0.52235 -302.50 62.50 332.50 0.83818 -302.50 62.50 337.50 1.13409 -302.50 62.50 342.50 1.18301 -302.50 62.50 347.50 0.965119 -302.50 62.50 352.50 0.677668 -302.50 62.50 357.50 0.424581 -302.50 67.50 2.50 0.190178 -302.50 67.50 7.50 0.056013 -302.50 67.50 12.50 0.0257392 -302.50 67.50 17.50 0.0115946 -302.50 67.50 22.50 0.00846298 -302.50 67.50 27.50 0.0110516 -302.50 67.50 32.50 0.0260756 -302.50 67.50 37.50 0.0822321 -302.50 67.50 42.50 0.221956 -302.50 67.50 47.50 0.475488 -302.50 67.50 52.50 0.886569 -302.50 67.50 57.50 1.49584 -302.50 67.50 62.50 2.12949 -302.50 67.50 67.50 2.44077 -302.50 67.50 72.50 2.27394 -302.50 67.50 77.50 1.58637 -302.50 67.50 82.50 0.910028 -302.50 67.50 87.50 0.465323 -302.50 67.50 92.50 0.190178 -302.50 67.50 97.50 0.0560129 -302.50 67.50 102.50 0.0257392 -302.50 67.50 107.50 0.0115945 -302.50 67.50 112.50 0.00846299 -302.50 67.50 117.50 0.0110516 -302.50 67.50 122.50 0.0260756 -302.50 67.50 127.50 0.0822321 -302.50 67.50 132.50 0.221956 -302.50 67.50 137.50 0.475488 -302.50 67.50 142.50 0.886569 -302.50 67.50 147.50 1.49583 -302.50 67.50 152.50 2.12949 -302.50 67.50 157.50 2.44076 -302.50 67.50 162.50 2.27394 -302.50 67.50 167.50 1.58637 -302.50 67.50 172.50 0.910029 -302.50 67.50 177.50 0.465324 -302.50 67.50 182.50 0.190178 -302.50 67.50 187.50 0.0560129 -302.50 67.50 192.50 0.0257392 -302.50 67.50 197.50 0.0115946 -302.50 67.50 202.50 0.008463 -302.50 67.50 207.50 0.0110516 -302.50 67.50 212.50 0.0260756 -302.50 67.50 217.50 0.0822319 -302.50 67.50 222.50 0.221956 -302.50 67.50 227.50 0.475488 -302.50 67.50 232.50 0.88657 -302.50 67.50 237.50 1.49584 -302.50 67.50 242.50 2.12949 -302.50 67.50 247.50 2.44076 -302.50 67.50 252.50 2.27394 -302.50 67.50 257.50 1.58637 -302.50 67.50 262.50 0.910027 -302.50 67.50 267.50 0.465323 -302.50 67.50 272.50 0.190178 -302.50 67.50 277.50 0.056013 -302.50 67.50 282.50 0.0257392 -302.50 67.50 287.50 0.0115946 -302.50 67.50 292.50 0.00846299 -302.50 67.50 297.50 0.0110516 -302.50 67.50 302.50 0.0260756 -302.50 67.50 307.50 0.082232 -302.50 67.50 312.50 0.221956 -302.50 67.50 317.50 0.475488 -302.50 67.50 322.50 0.886569 -302.50 67.50 327.50 1.49583 -302.50 67.50 332.50 2.12949 -302.50 67.50 337.50 2.44076 -302.50 67.50 342.50 2.27394 -302.50 67.50 347.50 1.58637 -302.50 67.50 352.50 0.91003 -302.50 67.50 357.50 0.465324 -302.50 72.50 2.50 0.169877 -302.50 72.50 7.50 0.057594 -302.50 72.50 12.50 0.030064 -302.50 72.50 17.50 0.0103041 -302.50 72.50 22.50 0.00838355 -302.50 72.50 27.50 0.0186984 -302.50 72.50 32.50 0.0668129 -302.50 72.50 37.50 0.21729 -302.50 72.50 42.50 0.55326 -302.50 72.50 47.50 1.12428 -302.50 72.50 52.50 2.00377 -302.50 72.50 57.50 3.05458 -302.50 72.50 62.50 3.86124 -302.50 72.50 67.50 3.98582 -302.50 72.50 72.50 3.37378 -302.50 72.50 77.50 2.1739 -302.50 72.50 82.50 1.07024 -302.50 72.50 87.50 0.463053 -302.50 72.50 92.50 0.169877 -302.50 72.50 97.50 0.0575939 -302.50 72.50 102.50 0.030064 -302.50 72.50 107.50 0.0103041 -302.50 72.50 112.50 0.00838353 -302.50 72.50 117.50 0.0186984 -302.50 72.50 122.50 0.0668129 -302.50 72.50 127.50 0.21729 -302.50 72.50 132.50 0.553261 -302.50 72.50 137.50 1.12428 -302.50 72.50 142.50 2.00377 -302.50 72.50 147.50 3.05458 -302.50 72.50 152.50 3.86124 -302.50 72.50 157.50 3.98582 -302.50 72.50 162.50 3.37377 -302.50 72.50 167.50 2.1739 -302.50 72.50 172.50 1.07024 -302.50 72.50 177.50 0.463054 -302.50 72.50 182.50 0.169877 -302.50 72.50 187.50 0.0575939 -302.50 72.50 192.50 0.030064 -302.50 72.50 197.50 0.0103041 -302.50 72.50 202.50 0.00838353 -302.50 72.50 207.50 0.0186984 -302.50 72.50 212.50 0.0668128 -302.50 72.50 217.50 0.21729 -302.50 72.50 222.50 0.55326 -302.50 72.50 227.50 1.12428 -302.50 72.50 232.50 2.00377 -302.50 72.50 237.50 3.05459 -302.50 72.50 242.50 3.86124 -302.50 72.50 247.50 3.98582 -302.50 72.50 252.50 3.37377 -302.50 72.50 257.50 2.1739 -302.50 72.50 262.50 1.07024 -302.50 72.50 267.50 0.463053 -302.50 72.50 272.50 0.169877 -302.50 72.50 277.50 0.0575939 -302.50 72.50 282.50 0.030064 -302.50 72.50 287.50 0.0103041 -302.50 72.50 292.50 0.00838354 -302.50 72.50 297.50 0.0186984 -302.50 72.50 302.50 0.0668128 -302.50 72.50 307.50 0.21729 -302.50 72.50 312.50 0.55326 -302.50 72.50 317.50 1.12428 -302.50 72.50 322.50 2.00377 -302.50 72.50 327.50 3.05458 -302.50 72.50 332.50 3.86124 -302.50 72.50 337.50 3.98582 -302.50 72.50 342.50 3.37378 -302.50 72.50 347.50 2.17391 -302.50 72.50 352.50 1.07024 -302.50 72.50 357.50 0.463055 -302.50 77.50 2.50 0.171122 -302.50 77.50 7.50 0.0662872 -302.50 77.50 12.50 0.0269088 -302.50 77.50 17.50 0.0183206 -302.50 77.50 22.50 0.027006 -302.50 77.50 27.50 0.0736008 -302.50 77.50 32.50 0.216412 -302.50 77.50 37.50 0.595199 -302.50 77.50 42.50 1.31234 -302.50 77.50 47.50 2.30669 -302.50 77.50 52.50 3.52152 -302.50 77.50 57.50 4.56822 -302.50 77.50 62.50 5.15482 -302.50 77.50 67.50 4.90335 -302.50 77.50 72.50 3.89293 -302.50 77.50 77.50 2.51475 -302.50 77.50 82.50 1.13006 -302.50 77.50 87.50 0.493225 -302.50 77.50 92.50 0.171122 -302.50 77.50 97.50 0.0662872 -302.50 77.50 102.50 0.0269088 -302.50 77.50 107.50 0.0183206 -302.50 77.50 112.50 0.027006 -302.50 77.50 117.50 0.0736008 -302.50 77.50 122.50 0.216412 -302.50 77.50 127.50 0.595199 -302.50 77.50 132.50 1.31234 -302.50 77.50 137.50 2.30669 -302.50 77.50 142.50 3.52152 -302.50 77.50 147.50 4.56822 -302.50 77.50 152.50 5.15482 -302.50 77.50 157.50 4.90335 -302.50 77.50 162.50 3.89293 -302.50 77.50 167.50 2.51475 -302.50 77.50 172.50 1.13006 -302.50 77.50 177.50 0.493225 -302.50 77.50 182.50 0.171122 -302.50 77.50 187.50 0.0662872 -302.50 77.50 192.50 0.0269088 -302.50 77.50 197.50 0.0183206 -302.50 77.50 202.50 0.027006 -302.50 77.50 207.50 0.0736007 -302.50 77.50 212.50 0.216412 -302.50 77.50 217.50 0.595199 -302.50 77.50 222.50 1.31234 -302.50 77.50 227.50 2.30669 -302.50 77.50 232.50 3.52153 -302.50 77.50 237.50 4.56822 -302.50 77.50 242.50 5.15482 -302.50 77.50 247.50 4.90335 -302.50 77.50 252.50 3.89293 -302.50 77.50 257.50 2.51475 -302.50 77.50 262.50 1.13005 -302.50 77.50 267.50 0.493224 -302.50 77.50 272.50 0.171122 -302.50 77.50 277.50 0.0662871 -302.50 77.50 282.50 0.0269088 -302.50 77.50 287.50 0.0183206 -302.50 77.50 292.50 0.027006 -302.50 77.50 297.50 0.0736006 -302.50 77.50 302.50 0.216412 -302.50 77.50 307.50 0.595199 -302.50 77.50 312.50 1.31234 -302.50 77.50 317.50 2.30669 -302.50 77.50 322.50 3.52152 -302.50 77.50 327.50 4.56822 -302.50 77.50 332.50 5.15482 -302.50 77.50 337.50 4.90335 -302.50 77.50 342.50 3.89294 -302.50 77.50 347.50 2.51476 -302.50 77.50 352.50 1.13006 -302.50 77.50 357.50 0.493226 -302.50 82.50 2.50 0.149325 -302.50 82.50 7.50 0.0612251 -302.50 82.50 12.50 0.0285829 -302.50 82.50 17.50 0.0426136 -302.50 82.50 22.50 0.108087 -302.50 82.50 27.50 0.262382 -302.50 82.50 32.50 0.614665 -302.50 82.50 37.50 1.35331 -302.50 82.50 42.50 2.5312 -302.50 82.50 47.50 3.77641 -302.50 82.50 52.50 4.83853 -302.50 82.50 57.50 5.48122 -302.50 82.50 62.50 5.45857 -302.50 82.50 67.50 4.76068 -302.50 82.50 72.50 3.50104 -302.50 82.50 77.50 2.12384 -302.50 82.50 82.50 1.11089 -302.50 82.50 87.50 0.418658 -302.50 82.50 92.50 0.149325 -302.50 82.50 97.50 0.061225 -302.50 82.50 102.50 0.0285829 -302.50 82.50 107.50 0.0426135 -302.50 82.50 112.50 0.108086 -302.50 82.50 117.50 0.262382 -302.50 82.50 122.50 0.614665 -302.50 82.50 127.50 1.35331 -302.50 82.50 132.50 2.5312 -302.50 82.50 137.50 3.77641 -302.50 82.50 142.50 4.83852 -302.50 82.50 147.50 5.48122 -302.50 82.50 152.50 5.45857 -302.50 82.50 157.50 4.76068 -302.50 82.50 162.50 3.50104 -302.50 82.50 167.50 2.12384 -302.50 82.50 172.50 1.11089 -302.50 82.50 177.50 0.418658 -302.50 82.50 182.50 0.149325 -302.50 82.50 187.50 0.0612249 -302.50 82.50 192.50 0.0285829 -302.50 82.50 197.50 0.0426135 -302.50 82.50 202.50 0.108086 -302.50 82.50 207.50 0.262381 -302.50 82.50 212.50 0.614665 -302.50 82.50 217.50 1.35331 -302.50 82.50 222.50 2.5312 -302.50 82.50 227.50 3.77641 -302.50 82.50 232.50 4.83853 -302.50 82.50 237.50 5.48122 -302.50 82.50 242.50 5.45857 -302.50 82.50 247.50 4.76068 -302.50 82.50 252.50 3.50104 -302.50 82.50 257.50 2.12383 -302.50 82.50 262.50 1.11089 -302.50 82.50 267.50 0.418657 -302.50 82.50 272.50 0.149325 -302.50 82.50 277.50 0.061225 -302.50 82.50 282.50 0.0285829 -302.50 82.50 287.50 0.0426135 -302.50 82.50 292.50 0.108087 -302.50 82.50 297.50 0.262381 -302.50 82.50 302.50 0.614665 -302.50 82.50 307.50 1.35331 -302.50 82.50 312.50 2.5312 -302.50 82.50 317.50 3.77641 -302.50 82.50 322.50 4.83852 -302.50 82.50 327.50 5.48122 -302.50 82.50 332.50 5.45857 -302.50 82.50 337.50 4.76068 -302.50 82.50 342.50 3.50104 -302.50 82.50 347.50 2.12384 -302.50 82.50 352.50 1.11089 -302.50 82.50 357.50 0.418659 -302.50 87.50 2.50 0.0922625 -302.50 87.50 7.50 0.0450811 -302.50 87.50 12.50 0.0662698 -302.50 87.50 17.50 0.158184 -302.50 87.50 22.50 0.379433 -302.50 87.50 27.50 0.788258 -302.50 87.50 32.50 1.45795 -302.50 87.50 37.50 2.47252 -302.50 87.50 42.50 3.68775 -302.50 87.50 47.50 4.72843 -302.50 87.50 52.50 5.33499 -302.50 87.50 57.50 5.39129 -302.50 87.50 62.50 4.79273 -302.50 87.50 67.50 3.66284 -302.50 87.50 72.50 2.36076 -302.50 87.50 77.50 1.33111 -302.50 87.50 82.50 0.63945 -302.50 87.50 87.50 0.284103 -302.50 87.50 92.50 0.0922625 -302.50 87.50 97.50 0.045081 -302.50 87.50 102.50 0.0662697 -302.50 87.50 107.50 0.158184 -302.50 87.50 112.50 0.379433 -302.50 87.50 117.50 0.788258 -302.50 87.50 122.50 1.45795 -302.50 87.50 127.50 2.47253 -302.50 87.50 132.50 3.68775 -302.50 87.50 137.50 4.72843 -302.50 87.50 142.50 5.33499 -302.50 87.50 147.50 5.39129 -302.50 87.50 152.50 4.79274 -302.50 87.50 157.50 3.66284 -302.50 87.50 162.50 2.36076 -302.50 87.50 167.50 1.33111 -302.50 87.50 172.50 0.639451 -302.50 87.50 177.50 0.284104 -302.50 87.50 182.50 0.0922625 -302.50 87.50 187.50 0.045081 -302.50 87.50 192.50 0.0662697 -302.50 87.50 197.50 0.158184 -302.50 87.50 202.50 0.379433 -302.50 87.50 207.50 0.788257 -302.50 87.50 212.50 1.45795 -302.50 87.50 217.50 2.47252 -302.50 87.50 222.50 3.68775 -302.50 87.50 227.50 4.72842 -302.50 87.50 232.50 5.33499 -302.50 87.50 237.50 5.39129 -302.50 87.50 242.50 4.79273 -302.50 87.50 247.50 3.66283 -302.50 87.50 252.50 2.36076 -302.50 87.50 257.50 1.33111 -302.50 87.50 262.50 0.63945 -302.50 87.50 267.50 0.284103 -302.50 87.50 272.50 0.0922624 -302.50 87.50 277.50 0.045081 -302.50 87.50 282.50 0.0662698 -302.50 87.50 287.50 0.158184 -302.50 87.50 292.50 0.379433 -302.50 87.50 297.50 0.788257 -302.50 87.50 302.50 1.45795 -302.50 87.50 307.50 2.47252 -302.50 87.50 312.50 3.68775 -302.50 87.50 317.50 4.72843 -302.50 87.50 322.50 5.33498 -302.50 87.50 327.50 5.39129 -302.50 87.50 332.50 4.79273 -302.50 87.50 337.50 3.66284 -302.50 87.50 342.50 2.36077 -302.50 87.50 347.50 1.33111 -302.50 87.50 352.50 0.639452 -302.50 87.50 357.50 0.284104 -302.50 92.50 2.50 0.0601603 -302.50 92.50 7.50 0.100121 -302.50 92.50 12.50 0.23184 -302.50 92.50 17.50 0.52242 -302.50 92.50 22.50 1.09345 -302.50 92.50 27.50 1.96804 -302.50 92.50 32.50 2.99998 -302.50 92.50 37.50 3.97878 -302.50 92.50 42.50 4.69043 -302.50 92.50 47.50 4.95231 -302.50 92.50 52.50 4.69043 -302.50 92.50 57.50 3.97878 -302.50 92.50 62.50 2.99998 -302.50 92.50 67.50 1.96803 -302.50 92.50 72.50 1.09345 -302.50 92.50 77.50 0.522419 -302.50 92.50 82.50 0.23184 -302.50 92.50 87.50 0.100121 -302.50 92.50 92.50 0.0601603 -302.50 92.50 97.50 0.100121 -302.50 92.50 102.50 0.23184 -302.50 92.50 107.50 0.522419 -302.50 92.50 112.50 1.09345 -302.50 92.50 117.50 1.96804 -302.50 92.50 122.50 2.99999 -302.50 92.50 127.50 3.97879 -302.50 92.50 132.50 4.69043 -302.50 92.50 137.50 4.95231 -302.50 92.50 142.50 4.69043 -302.50 92.50 147.50 3.97879 -302.50 92.50 152.50 2.99998 -302.50 92.50 157.50 1.96804 -302.50 92.50 162.50 1.09345 -302.50 92.50 167.50 0.522419 -302.50 92.50 172.50 0.23184 -302.50 92.50 177.50 0.100121 -302.50 92.50 182.50 0.0601603 -302.50 92.50 187.50 0.100121 -302.50 92.50 192.50 0.23184 -302.50 92.50 197.50 0.522419 -302.50 92.50 202.50 1.09345 -302.50 92.50 207.50 1.96804 -302.50 92.50 212.50 2.99999 -302.50 92.50 217.50 3.97879 -302.50 92.50 222.50 4.69043 -302.50 92.50 227.50 4.95231 -302.50 92.50 232.50 4.69043 -302.50 92.50 237.50 3.97878 -302.50 92.50 242.50 2.99998 -302.50 92.50 247.50 1.96803 -302.50 92.50 252.50 1.09344 -302.50 92.50 257.50 0.522419 -302.50 92.50 262.50 0.23184 -302.50 92.50 267.50 0.100121 -302.50 92.50 272.50 0.0601603 -302.50 92.50 277.50 0.100121 -302.50 92.50 282.50 0.23184 -302.50 92.50 287.50 0.522419 -302.50 92.50 292.50 1.09345 -302.50 92.50 297.50 1.96803 -302.50 92.50 302.50 2.99998 -302.50 92.50 307.50 3.97878 -302.50 92.50 312.50 4.69043 -302.50 92.50 317.50 4.95231 -302.50 92.50 322.50 4.69043 -302.50 92.50 327.50 3.97879 -302.50 92.50 332.50 2.99998 -302.50 92.50 337.50 1.96804 -302.50 92.50 342.50 1.09345 -302.50 92.50 347.50 0.52242 -302.50 92.50 352.50 0.231841 -302.50 92.50 357.50 0.100122 -302.50 97.50 2.50 0.0922625 -302.50 97.50 7.50 0.284104 -302.50 97.50 12.50 0.639451 -302.50 97.50 17.50 1.33111 -302.50 97.50 22.50 2.36076 -302.50 97.50 27.50 3.66283 -302.50 97.50 32.50 4.79273 -302.50 97.50 37.50 5.39129 -302.50 97.50 42.50 5.33499 -302.50 97.50 47.50 4.72842 -302.50 97.50 52.50 3.68775 -302.50 97.50 57.50 2.47252 -302.50 97.50 62.50 1.45795 -302.50 97.50 67.50 0.788258 -302.50 97.50 72.50 0.379433 -302.50 97.50 77.50 0.158184 -302.50 97.50 82.50 0.0662698 -302.50 97.50 87.50 0.045081 -302.50 97.50 92.50 0.0922624 -302.50 97.50 97.50 0.284104 -302.50 97.50 102.50 0.639451 -302.50 97.50 107.50 1.33111 -302.50 97.50 112.50 2.36076 -302.50 97.50 117.50 3.66283 -302.50 97.50 122.50 4.79273 -302.50 97.50 127.50 5.39129 -302.50 97.50 132.50 5.33499 -302.50 97.50 137.50 4.72843 -302.50 97.50 142.50 3.68775 -302.50 97.50 147.50 2.47252 -302.50 97.50 152.50 1.45795 -302.50 97.50 157.50 0.788258 -302.50 97.50 162.50 0.379433 -302.50 97.50 167.50 0.158184 -302.50 97.50 172.50 0.0662698 -302.50 97.50 177.50 0.045081 -302.50 97.50 182.50 0.0922624 -302.50 97.50 187.50 0.284104 -302.50 97.50 192.50 0.639451 -302.50 97.50 197.50 1.33111 -302.50 97.50 202.50 2.36076 -302.50 97.50 207.50 3.66283 -302.50 97.50 212.50 4.79273 -302.50 97.50 217.50 5.39129 -302.50 97.50 222.50 5.33498 -302.50 97.50 227.50 4.72843 -302.50 97.50 232.50 3.68775 -302.50 97.50 237.50 2.47252 -302.50 97.50 242.50 1.45795 -302.50 97.50 247.50 0.788257 -302.50 97.50 252.50 0.379433 -302.50 97.50 257.50 0.158184 -302.50 97.50 262.50 0.0662697 -302.50 97.50 267.50 0.045081 -302.50 97.50 272.50 0.0922625 -302.50 97.50 277.50 0.284104 -302.50 97.50 282.50 0.639451 -302.50 97.50 287.50 1.33111 -302.50 97.50 292.50 2.36076 -302.50 97.50 297.50 3.66283 -302.50 97.50 302.50 4.79273 -302.50 97.50 307.50 5.39129 -302.50 97.50 312.50 5.33498 -302.50 97.50 317.50 4.72842 -302.50 97.50 322.50 3.68775 -302.50 97.50 327.50 2.47253 -302.50 97.50 332.50 1.45795 -302.50 97.50 337.50 0.788259 -302.50 97.50 342.50 0.379434 -302.50 97.50 347.50 0.158184 -302.50 97.50 352.50 0.0662699 -302.50 97.50 357.50 0.045081 -302.50 102.50 2.50 0.149325 -302.50 102.50 7.50 0.418658 -302.50 102.50 12.50 1.11089 -302.50 102.50 17.50 2.12384 -302.50 102.50 22.50 3.50104 -302.50 102.50 27.50 4.76068 -302.50 102.50 32.50 5.45857 -302.50 102.50 37.50 5.48122 -302.50 102.50 42.50 4.83852 -302.50 102.50 47.50 3.77641 -302.50 102.50 52.50 2.5312 -302.50 102.50 57.50 1.35331 -302.50 102.50 62.50 0.614664 -302.50 102.50 67.50 0.262381 -302.50 102.50 72.50 0.108086 -302.50 102.50 77.50 0.0426135 -302.50 102.50 82.50 0.0285829 -302.50 102.50 87.50 0.061225 -302.50 102.50 92.50 0.149325 -302.50 102.50 97.50 0.418658 -302.50 102.50 102.50 1.11089 -302.50 102.50 107.50 2.12384 -302.50 102.50 112.50 3.50104 -302.50 102.50 117.50 4.76068 -302.50 102.50 122.50 5.45857 -302.50 102.50 127.50 5.48122 -302.50 102.50 132.50 4.83852 -302.50 102.50 137.50 3.77641 -302.50 102.50 142.50 2.5312 -302.50 102.50 147.50 1.35331 -302.50 102.50 152.50 0.614666 -302.50 102.50 157.50 0.262382 -302.50 102.50 162.50 0.108087 -302.50 102.50 167.50 0.0426135 -302.50 102.50 172.50 0.0285829 -302.50 102.50 177.50 0.061225 -302.50 102.50 182.50 0.149325 -302.50 102.50 187.50 0.418658 -302.50 102.50 192.50 1.11089 -302.50 102.50 197.50 2.12384 -302.50 102.50 202.50 3.50104 -302.50 102.50 207.50 4.76068 -302.50 102.50 212.50 5.45857 -302.50 102.50 217.50 5.48122 -302.50 102.50 222.50 4.83852 -302.50 102.50 227.50 3.77641 -302.50 102.50 232.50 2.5312 -302.50 102.50 237.50 1.35331 -302.50 102.50 242.50 0.614664 -302.50 102.50 247.50 0.262381 -302.50 102.50 252.50 0.108086 -302.50 102.50 257.50 0.0426135 -302.50 102.50 262.50 0.0285829 -302.50 102.50 267.50 0.0612251 -302.50 102.50 272.50 0.149325 -302.50 102.50 277.50 0.418658 -302.50 102.50 282.50 1.11089 -302.50 102.50 287.50 2.12384 -302.50 102.50 292.50 3.50104 -302.50 102.50 297.50 4.76068 -302.50 102.50 302.50 5.45857 -302.50 102.50 307.50 5.48122 -302.50 102.50 312.50 4.83852 -302.50 102.50 317.50 3.77641 -302.50 102.50 322.50 2.5312 -302.50 102.50 327.50 1.35331 -302.50 102.50 332.50 0.614666 -302.50 102.50 337.50 0.262382 -302.50 102.50 342.50 0.108087 -302.50 102.50 347.50 0.0426136 -302.50 102.50 352.50 0.0285829 -302.50 102.50 357.50 0.0612249 -302.50 107.50 2.50 0.171122 -302.50 107.50 7.50 0.493225 -302.50 107.50 12.50 1.13006 -302.50 107.50 17.50 2.51475 -302.50 107.50 22.50 3.89293 -302.50 107.50 27.50 4.90335 -302.50 107.50 32.50 5.15482 -302.50 107.50 37.50 4.56822 -302.50 107.50 42.50 3.52153 -302.50 107.50 47.50 2.30669 -302.50 107.50 52.50 1.31234 -302.50 107.50 57.50 0.595199 -302.50 107.50 62.50 0.216412 -302.50 107.50 67.50 0.0736006 -302.50 107.50 72.50 0.027006 -302.50 107.50 77.50 0.0183206 -302.50 107.50 82.50 0.0269088 -302.50 107.50 87.50 0.0662871 -302.50 107.50 92.50 0.171122 -302.50 107.50 97.50 0.493225 -302.50 107.50 102.50 1.13006 -302.50 107.50 107.50 2.51475 -302.50 107.50 112.50 3.89293 -302.50 107.50 117.50 4.90335 -302.50 107.50 122.50 5.15482 -302.50 107.50 127.50 4.56822 -302.50 107.50 132.50 3.52152 -302.50 107.50 137.50 2.30669 -302.50 107.50 142.50 1.31234 -302.50 107.50 147.50 0.595199 -302.50 107.50 152.50 0.216413 -302.50 107.50 157.50 0.0736008 -302.50 107.50 162.50 0.027006 -302.50 107.50 167.50 0.0183206 -302.50 107.50 172.50 0.0269088 -302.50 107.50 177.50 0.0662871 -302.50 107.50 182.50 0.171122 -302.50 107.50 187.50 0.493225 -302.50 107.50 192.50 1.13006 -302.50 107.50 197.50 2.51475 -302.50 107.50 202.50 3.89293 -302.50 107.50 207.50 4.90335 -302.50 107.50 212.50 5.15482 -302.50 107.50 217.50 4.56822 -302.50 107.50 222.50 3.52152 -302.50 107.50 227.50 2.30669 -302.50 107.50 232.50 1.31234 -302.50 107.50 237.50 0.595198 -302.50 107.50 242.50 0.216412 -302.50 107.50 247.50 0.0736006 -302.50 107.50 252.50 0.027006 -302.50 107.50 257.50 0.0183206 -302.50 107.50 262.50 0.0269088 -302.50 107.50 267.50 0.0662871 -302.50 107.50 272.50 0.171122 -302.50 107.50 277.50 0.493225 -302.50 107.50 282.50 1.13006 -302.50 107.50 287.50 2.51475 -302.50 107.50 292.50 3.89293 -302.50 107.50 297.50 4.90335 -302.50 107.50 302.50 5.15482 -302.50 107.50 307.50 4.56822 -302.50 107.50 312.50 3.52152 -302.50 107.50 317.50 2.30669 -302.50 107.50 322.50 1.31234 -302.50 107.50 327.50 0.5952 -302.50 107.50 332.50 0.216413 -302.50 107.50 337.50 0.0736009 -302.50 107.50 342.50 0.027006 -302.50 107.50 347.50 0.0183206 -302.50 107.50 352.50 0.0269088 -302.50 107.50 357.50 0.0662871 -302.50 112.50 2.50 0.169877 -302.50 112.50 7.50 0.463054 -302.50 112.50 12.50 1.07024 -302.50 112.50 17.50 2.1739 -302.50 112.50 22.50 3.37377 -302.50 112.50 27.50 3.98582 -302.50 112.50 32.50 3.86124 -302.50 112.50 37.50 3.05459 -302.50 112.50 42.50 2.00377 -302.50 112.50 47.50 1.12428 -302.50 112.50 52.50 0.55326 -302.50 112.50 57.50 0.21729 -302.50 112.50 62.50 0.0668127 -302.50 112.50 67.50 0.0186984 -302.50 112.50 72.50 0.00838354 -302.50 112.50 77.50 0.0103041 -302.50 112.50 82.50 0.030064 -302.50 112.50 87.50 0.057594 -302.50 112.50 92.50 0.169877 -302.50 112.50 97.50 0.463054 -302.50 112.50 102.50 1.07024 -302.50 112.50 107.50 2.1739 -302.50 112.50 112.50 3.37377 -302.50 112.50 117.50 3.98582 -302.50 112.50 122.50 3.86124 -302.50 112.50 127.50 3.05458 -302.50 112.50 132.50 2.00377 -302.50 112.50 137.50 1.12428 -302.50 112.50 142.50 0.55326 -302.50 112.50 147.50 0.21729 -302.50 112.50 152.50 0.0668129 -302.50 112.50 157.50 0.0186984 -302.50 112.50 162.50 0.00838355 -302.50 112.50 167.50 0.0103041 -302.50 112.50 172.50 0.030064 -302.50 112.50 177.50 0.0575939 -302.50 112.50 182.50 0.169877 -302.50 112.50 187.50 0.463054 -302.50 112.50 192.50 1.07024 -302.50 112.50 197.50 2.1739 -302.50 112.50 202.50 3.37377 -302.50 112.50 207.50 3.98582 -302.50 112.50 212.50 3.86124 -302.50 112.50 217.50 3.05459 -302.50 112.50 222.50 2.00377 -302.50 112.50 227.50 1.12428 -302.50 112.50 232.50 0.55326 -302.50 112.50 237.50 0.21729 -302.50 112.50 242.50 0.0668127 -302.50 112.50 247.50 0.0186984 -302.50 112.50 252.50 0.00838354 -302.50 112.50 257.50 0.0103041 -302.50 112.50 262.50 0.030064 -302.50 112.50 267.50 0.057594 -302.50 112.50 272.50 0.169877 -302.50 112.50 277.50 0.463054 -302.50 112.50 282.50 1.07024 -302.50 112.50 287.50 2.1739 -302.50 112.50 292.50 3.37377 -302.50 112.50 297.50 3.98582 -302.50 112.50 302.50 3.86124 -302.50 112.50 307.50 3.05459 -302.50 112.50 312.50 2.00377 -302.50 112.50 317.50 1.12428 -302.50 112.50 322.50 0.553261 -302.50 112.50 327.50 0.217291 -302.50 112.50 332.50 0.0668131 -302.50 112.50 337.50 0.0186985 -302.50 112.50 342.50 0.00838354 -302.50 112.50 347.50 0.0103041 -302.50 112.50 352.50 0.0300639 -302.50 112.50 357.50 0.0575939 -302.50 117.50 2.50 0.190178 -302.50 117.50 7.50 0.465323 -302.50 117.50 12.50 0.910028 -302.50 117.50 17.50 1.58637 -302.50 117.50 22.50 2.27394 -302.50 117.50 27.50 2.44076 -302.50 117.50 32.50 2.12949 -302.50 117.50 37.50 1.49583 -302.50 117.50 42.50 0.886568 -302.50 117.50 47.50 0.475487 -302.50 117.50 52.50 0.221955 -302.50 117.50 57.50 0.0822319 -302.50 117.50 62.50 0.0260756 -302.50 117.50 67.50 0.0110516 -302.50 117.50 72.50 0.00846302 -302.50 117.50 77.50 0.0115946 -302.50 117.50 82.50 0.0257392 -302.50 117.50 87.50 0.056013 -302.50 117.50 92.50 0.190178 -302.50 117.50 97.50 0.465324 -302.50 117.50 102.50 0.910028 -302.50 117.50 107.50 1.58637 -302.50 117.50 112.50 2.27394 -302.50 117.50 117.50 2.44076 -302.50 117.50 122.50 2.12949 -302.50 117.50 127.50 1.49583 -302.50 117.50 132.50 0.886569 -302.50 117.50 137.50 0.475487 -302.50 117.50 142.50 0.221956 -302.50 117.50 147.50 0.0822319 -302.50 117.50 152.50 0.0260756 -302.50 117.50 157.50 0.0110516 -302.50 117.50 162.50 0.00846301 -302.50 117.50 167.50 0.0115946 -302.50 117.50 172.50 0.0257392 -302.50 117.50 177.50 0.056013 -302.50 117.50 182.50 0.190178 -302.50 117.50 187.50 0.465324 -302.50 117.50 192.50 0.910029 -302.50 117.50 197.50 1.58637 -302.50 117.50 202.50 2.27394 -302.50 117.50 207.50 2.44076 -302.50 117.50 212.50 2.12949 -302.50 117.50 217.50 1.49583 -302.50 117.50 222.50 0.886569 -302.50 117.50 227.50 0.475488 -302.50 117.50 232.50 0.221955 -302.50 117.50 237.50 0.0822318 -302.50 117.50 242.50 0.0260756 -302.50 117.50 247.50 0.0110516 -302.50 117.50 252.50 0.008463 -302.50 117.50 257.50 0.0115946 -302.50 117.50 262.50 0.0257392 -302.50 117.50 267.50 0.056013 -302.50 117.50 272.50 0.190178 -302.50 117.50 277.50 0.465323 -302.50 117.50 282.50 0.910028 -302.50 117.50 287.50 1.58637 -302.50 117.50 292.50 2.27394 -302.50 117.50 297.50 2.44076 -302.50 117.50 302.50 2.12949 -302.50 117.50 307.50 1.49583 -302.50 117.50 312.50 0.886568 -302.50 117.50 317.50 0.475488 -302.50 117.50 322.50 0.221956 -302.50 117.50 327.50 0.0822321 -302.50 117.50 332.50 0.0260756 -302.50 117.50 337.50 0.0110517 -302.50 117.50 342.50 0.00846301 -302.50 117.50 347.50 0.0115946 -302.50 117.50 352.50 0.0257392 -302.50 117.50 357.50 0.0560128 -302.50 122.50 2.50 0.203044 -302.50 122.50 7.50 0.42458 -302.50 122.50 12.50 0.677667 -302.50 122.50 17.50 0.965118 -302.50 122.50 22.50 1.183 -302.50 122.50 27.50 1.13409 -302.50 122.50 32.50 0.838179 -302.50 122.50 37.50 0.52235 -302.50 122.50 42.50 0.28023 -302.50 122.50 47.50 0.155399 -302.50 122.50 52.50 0.0894778 -302.50 122.50 57.50 0.0655195 -302.50 122.50 62.50 0.0565882 -302.50 122.50 67.50 0.0420362 -302.50 122.50 72.50 0.0447734 -302.50 122.50 77.50 0.0456485 -302.50 122.50 82.50 0.0515252 -302.50 122.50 87.50 0.0688334 -302.50 122.50 92.50 0.203044 -302.50 122.50 97.50 0.42458 -302.50 122.50 102.50 0.677667 -302.50 122.50 107.50 0.965118 -302.50 122.50 112.50 1.183 -302.50 122.50 117.50 1.13409 -302.50 122.50 122.50 0.838179 -302.50 122.50 127.50 0.52235 -302.50 122.50 132.50 0.28023 -302.50 122.50 137.50 0.155399 -302.50 122.50 142.50 0.0894778 -302.50 122.50 147.50 0.0655194 -302.50 122.50 152.50 0.0565881 -302.50 122.50 157.50 0.0420363 -302.50 122.50 162.50 0.0447734 -302.50 122.50 167.50 0.0456486 -302.50 122.50 172.50 0.0515252 -302.50 122.50 177.50 0.0688333 -302.50 122.50 182.50 0.203044 -302.50 122.50 187.50 0.42458 -302.50 122.50 192.50 0.677667 -302.50 122.50 197.50 0.965118 -302.50 122.50 202.50 1.183 -302.50 122.50 207.50 1.13409 -302.50 122.50 212.50 0.83818 -302.50 122.50 217.50 0.52235 -302.50 122.50 222.50 0.28023 -302.50 122.50 227.50 0.155399 -302.50 122.50 232.50 0.0894778 -302.50 122.50 237.50 0.0655194 -302.50 122.50 242.50 0.0565882 -302.50 122.50 247.50 0.0420362 -302.50 122.50 252.50 0.0447734 -302.50 122.50 257.50 0.0456485 -302.50 122.50 262.50 0.0515251 -302.50 122.50 267.50 0.0688334 -302.50 122.50 272.50 0.203044 -302.50 122.50 277.50 0.42458 -302.50 122.50 282.50 0.677667 -302.50 122.50 287.50 0.965117 -302.50 122.50 292.50 1.183 -302.50 122.50 297.50 1.13409 -302.50 122.50 302.50 0.83818 -302.50 122.50 307.50 0.52235 -302.50 122.50 312.50 0.28023 -302.50 122.50 317.50 0.155399 -302.50 122.50 322.50 0.089478 -302.50 122.50 327.50 0.0655195 -302.50 122.50 332.50 0.0565882 -302.50 122.50 337.50 0.0420363 -302.50 122.50 342.50 0.0447734 -302.50 122.50 347.50 0.0456486 -302.50 122.50 352.50 0.0515252 -302.50 122.50 357.50 0.0688332 -302.50 127.50 2.50 0.166468 -302.50 127.50 7.50 0.282124 -302.50 127.50 12.50 0.416985 -302.50 127.50 17.50 0.50121 -302.50 127.50 22.50 0.480916 -302.50 127.50 27.50 0.390909 -302.50 127.50 32.50 0.256927 -302.50 127.50 37.50 0.127541 -302.50 127.50 42.50 0.0640046 -302.50 127.50 47.50 0.0595862 -302.50 127.50 52.50 0.0886562 -302.50 127.50 57.50 0.157626 -302.50 127.50 62.50 0.190217 -302.50 127.50 67.50 0.196481 -302.50 127.50 72.50 0.20326 -302.50 127.50 77.50 0.168414 -302.50 127.50 82.50 0.105927 -302.50 127.50 87.50 0.0894974 -302.50 127.50 92.50 0.166468 -302.50 127.50 97.50 0.282124 -302.50 127.50 102.50 0.416985 -302.50 127.50 107.50 0.50121 -302.50 127.50 112.50 0.480916 -302.50 127.50 117.50 0.390909 -302.50 127.50 122.50 0.256927 -302.50 127.50 127.50 0.127541 -302.50 127.50 132.50 0.0640046 -302.50 127.50 137.50 0.0595861 -302.50 127.50 142.50 0.0886562 -302.50 127.50 147.50 0.157626 -302.50 127.50 152.50 0.190217 -302.50 127.50 157.50 0.196481 -302.50 127.50 162.50 0.20326 -302.50 127.50 167.50 0.168414 -302.50 127.50 172.50 0.105927 -302.50 127.50 177.50 0.0894974 -302.50 127.50 182.50 0.166468 -302.50 127.50 187.50 0.282124 -302.50 127.50 192.50 0.416985 -302.50 127.50 197.50 0.50121 -302.50 127.50 202.50 0.480916 -302.50 127.50 207.50 0.390909 -302.50 127.50 212.50 0.256927 -302.50 127.50 217.50 0.127541 -302.50 127.50 222.50 0.0640046 -302.50 127.50 227.50 0.0595861 -302.50 127.50 232.50 0.0886563 -302.50 127.50 237.50 0.157627 -302.50 127.50 242.50 0.190217 -302.50 127.50 247.50 0.196481 -302.50 127.50 252.50 0.20326 -302.50 127.50 257.50 0.168414 -302.50 127.50 262.50 0.105927 -302.50 127.50 267.50 0.0894974 -302.50 127.50 272.50 0.166468 -302.50 127.50 277.50 0.282124 -302.50 127.50 282.50 0.416985 -302.50 127.50 287.50 0.50121 -302.50 127.50 292.50 0.480916 -302.50 127.50 297.50 0.390909 -302.50 127.50 302.50 0.256927 -302.50 127.50 307.50 0.127541 -302.50 127.50 312.50 0.0640046 -302.50 127.50 317.50 0.0595861 -302.50 127.50 322.50 0.0886561 -302.50 127.50 327.50 0.157626 -302.50 127.50 332.50 0.190218 -302.50 127.50 337.50 0.196481 -302.50 127.50 342.50 0.20326 -302.50 127.50 347.50 0.168414 -302.50 127.50 352.50 0.105927 -302.50 127.50 357.50 0.0894973 -302.50 132.50 2.50 0.114674 -302.50 132.50 7.50 0.133007 -302.50 132.50 12.50 0.189686 -302.50 132.50 17.50 0.215235 -302.50 132.50 22.50 0.169546 -302.50 132.50 27.50 0.105614 -302.50 132.50 32.50 0.0591279 -302.50 132.50 37.50 0.0325256 -302.50 132.50 42.50 0.0374259 -302.50 132.50 47.50 0.0990011 -302.50 132.50 52.50 0.257939 -302.50 132.50 57.50 0.477024 -302.50 132.50 62.50 0.650904 -302.50 132.50 67.50 0.754549 -302.50 132.50 72.50 0.65225 -302.50 132.50 77.50 0.409275 -302.50 132.50 82.50 0.219428 -302.50 132.50 87.50 0.126726 -302.50 132.50 92.50 0.114674 -302.50 132.50 97.50 0.133007 -302.50 132.50 102.50 0.189686 -302.50 132.50 107.50 0.215235 -302.50 132.50 112.50 0.169546 -302.50 132.50 117.50 0.105614 -302.50 132.50 122.50 0.0591278 -302.50 132.50 127.50 0.0325255 -302.50 132.50 132.50 0.0374259 -302.50 132.50 137.50 0.0990011 -302.50 132.50 142.50 0.257939 -302.50 132.50 147.50 0.477024 -302.50 132.50 152.50 0.650903 -302.50 132.50 157.50 0.754548 -302.50 132.50 162.50 0.65225 -302.50 132.50 167.50 0.409275 -302.50 132.50 172.50 0.219428 -302.50 132.50 177.50 0.126726 -302.50 132.50 182.50 0.114674 -302.50 132.50 187.50 0.133007 -302.50 132.50 192.50 0.189687 -302.50 132.50 197.50 0.215235 -302.50 132.50 202.50 0.169546 -302.50 132.50 207.50 0.105614 -302.50 132.50 212.50 0.0591279 -302.50 132.50 217.50 0.0325256 -302.50 132.50 222.50 0.0374258 -302.50 132.50 227.50 0.099001 -302.50 132.50 232.50 0.257939 -302.50 132.50 237.50 0.477024 -302.50 132.50 242.50 0.650903 -302.50 132.50 247.50 0.754548 -302.50 132.50 252.50 0.65225 -302.50 132.50 257.50 0.409274 -302.50 132.50 262.50 0.219428 -302.50 132.50 267.50 0.126726 -302.50 132.50 272.50 0.114674 -302.50 132.50 277.50 0.133007 -302.50 132.50 282.50 0.189686 -302.50 132.50 287.50 0.215235 -302.50 132.50 292.50 0.169546 -302.50 132.50 297.50 0.105614 -302.50 132.50 302.50 0.0591279 -302.50 132.50 307.50 0.0325256 -302.50 132.50 312.50 0.0374259 -302.50 132.50 317.50 0.099001 -302.50 132.50 322.50 0.257938 -302.50 132.50 327.50 0.477024 -302.50 132.50 332.50 0.650903 -302.50 132.50 337.50 0.754549 -302.50 132.50 342.50 0.652251 -302.50 132.50 347.50 0.409275 -302.50 132.50 352.50 0.219428 -302.50 132.50 357.50 0.126726 -302.50 137.50 2.50 0.0938602 -302.50 137.50 7.50 0.0548244 -302.50 137.50 12.50 0.062721 -302.50 137.50 17.50 0.0688208 -302.50 137.50 22.50 0.053292 -302.50 137.50 27.50 0.0306563 -302.50 137.50 32.50 0.0252394 -302.50 137.50 37.50 0.0463751 -302.50 137.50 42.50 0.104399 -302.50 137.50 47.50 0.336693 -302.50 137.50 52.50 0.731889 -302.50 137.50 57.50 1.34076 -302.50 137.50 62.50 1.86668 -302.50 137.50 67.50 1.98013 -302.50 137.50 72.50 1.51053 -302.50 137.50 77.50 0.864757 -302.50 137.50 82.50 0.422873 -302.50 137.50 87.50 0.195908 -302.50 137.50 92.50 0.0938602 -302.50 137.50 97.50 0.0548244 -302.50 137.50 102.50 0.0627211 -302.50 137.50 107.50 0.0688208 -302.50 137.50 112.50 0.053292 -302.50 137.50 117.50 0.0306563 -302.50 137.50 122.50 0.0252394 -302.50 137.50 127.50 0.0463751 -302.50 137.50 132.50 0.104399 -302.50 137.50 137.50 0.336693 -302.50 137.50 142.50 0.731889 -302.50 137.50 147.50 1.34076 -302.50 137.50 152.50 1.86668 -302.50 137.50 157.50 1.98013 -302.50 137.50 162.50 1.51053 -302.50 137.50 167.50 0.864757 -302.50 137.50 172.50 0.422873 -302.50 137.50 177.50 0.195908 -302.50 137.50 182.50 0.0938602 -302.50 137.50 187.50 0.0548245 -302.50 137.50 192.50 0.0627212 -302.50 137.50 197.50 0.0688209 -302.50 137.50 202.50 0.053292 -302.50 137.50 207.50 0.0306563 -302.50 137.50 212.50 0.0252395 -302.50 137.50 217.50 0.0463751 -302.50 137.50 222.50 0.104399 -302.50 137.50 227.50 0.336693 -302.50 137.50 232.50 0.73189 -302.50 137.50 237.50 1.34076 -302.50 137.50 242.50 1.86668 -302.50 137.50 247.50 1.98013 -302.50 137.50 252.50 1.51052 -302.50 137.50 257.50 0.864757 -302.50 137.50 262.50 0.422872 -302.50 137.50 267.50 0.195908 -302.50 137.50 272.50 0.0938602 -302.50 137.50 277.50 0.0548244 -302.50 137.50 282.50 0.0627211 -302.50 137.50 287.50 0.0688209 -302.50 137.50 292.50 0.053292 -302.50 137.50 297.50 0.0306563 -302.50 137.50 302.50 0.0252395 -302.50 137.50 307.50 0.0463751 -302.50 137.50 312.50 0.104399 -302.50 137.50 317.50 0.336692 -302.50 137.50 322.50 0.731888 -302.50 137.50 327.50 1.34076 -302.50 137.50 332.50 1.86668 -302.50 137.50 337.50 1.98013 -302.50 137.50 342.50 1.51053 -302.50 137.50 347.50 0.864758 -302.50 137.50 352.50 0.422874 -302.50 137.50 357.50 0.195908 -302.50 142.50 2.50 0.114674 -302.50 142.50 7.50 0.0353898 -302.50 142.50 12.50 0.0192761 -302.50 142.50 17.50 0.0191426 -302.50 142.50 22.50 0.0213085 -302.50 142.50 27.50 0.0398016 -302.50 142.50 32.50 0.0814493 -302.50 142.50 37.50 0.153367 -302.50 142.50 42.50 0.322359 -302.50 142.50 47.50 0.754377 -302.50 142.50 52.50 1.67063 -302.50 142.50 57.50 2.81508 -302.50 142.50 62.50 3.68176 -302.50 142.50 67.50 3.61403 -302.50 142.50 72.50 2.71904 -302.50 142.50 77.50 1.54764 -302.50 142.50 82.50 0.732045 -302.50 142.50 87.50 0.315208 -302.50 142.50 92.50 0.114674 -302.50 142.50 97.50 0.0353898 -302.50 142.50 102.50 0.0192761 -302.50 142.50 107.50 0.0191425 -302.50 142.50 112.50 0.0213085 -302.50 142.50 117.50 0.0398016 -302.50 142.50 122.50 0.0814493 -302.50 142.50 127.50 0.153367 -302.50 142.50 132.50 0.322358 -302.50 142.50 137.50 0.754377 -302.50 142.50 142.50 1.67063 -302.50 142.50 147.50 2.81508 -302.50 142.50 152.50 3.68175 -302.50 142.50 157.50 3.61403 -302.50 142.50 162.50 2.71904 -302.50 142.50 167.50 1.54764 -302.50 142.50 172.50 0.732046 -302.50 142.50 177.50 0.315208 -302.50 142.50 182.50 0.114674 -302.50 142.50 187.50 0.0353898 -302.50 142.50 192.50 0.0192761 -302.50 142.50 197.50 0.0191425 -302.50 142.50 202.50 0.0213085 -302.50 142.50 207.50 0.0398015 -302.50 142.50 212.50 0.0814493 -302.50 142.50 217.50 0.153366 -302.50 142.50 222.50 0.322358 -302.50 142.50 227.50 0.754376 -302.50 142.50 232.50 1.67063 -302.50 142.50 237.50 2.81508 -302.50 142.50 242.50 3.68175 -302.50 142.50 247.50 3.61403 -302.50 142.50 252.50 2.71904 -302.50 142.50 257.50 1.54764 -302.50 142.50 262.50 0.732044 -302.50 142.50 267.50 0.315208 -302.50 142.50 272.50 0.114674 -302.50 142.50 277.50 0.0353898 -302.50 142.50 282.50 0.0192761 -302.50 142.50 287.50 0.0191425 -302.50 142.50 292.50 0.0213085 -302.50 142.50 297.50 0.0398015 -302.50 142.50 302.50 0.0814492 -302.50 142.50 307.50 0.153366 -302.50 142.50 312.50 0.322358 -302.50 142.50 317.50 0.754376 -302.50 142.50 322.50 1.67063 -302.50 142.50 327.50 2.81507 -302.50 142.50 332.50 3.68175 -302.50 142.50 337.50 3.61403 -302.50 142.50 342.50 2.71904 -302.50 142.50 347.50 1.54765 -302.50 142.50 352.50 0.732048 -302.50 142.50 357.50 0.315209 -302.50 147.50 2.50 0.166468 -302.50 147.50 7.50 0.0437723 -302.50 147.50 12.50 0.0177901 -302.50 147.50 17.50 0.0215696 -302.50 147.50 22.50 0.0424255 -302.50 147.50 27.50 0.10689 -302.50 147.50 32.50 0.232747 -302.50 147.50 37.50 0.397979 -302.50 147.50 42.50 0.695004 -302.50 147.50 47.50 1.38142 -302.50 147.50 52.50 2.64226 -302.50 147.50 57.50 4.15246 -302.50 147.50 62.50 5.13611 -302.50 147.50 67.50 5.08545 -302.50 147.50 72.50 3.92672 -302.50 147.50 77.50 2.28254 -302.50 147.50 82.50 1.0963 -302.50 147.50 87.50 0.461632 -302.50 147.50 92.50 0.166468 -302.50 147.50 97.50 0.0437723 -302.50 147.50 102.50 0.0177901 -302.50 147.50 107.50 0.0215696 -302.50 147.50 112.50 0.0424255 -302.50 147.50 117.50 0.10689 -302.50 147.50 122.50 0.232747 -302.50 147.50 127.50 0.397979 -302.50 147.50 132.50 0.695003 -302.50 147.50 137.50 1.38142 -302.50 147.50 142.50 2.64226 -302.50 147.50 147.50 4.15246 -302.50 147.50 152.50 5.13611 -302.50 147.50 157.50 5.08545 -302.50 147.50 162.50 3.92672 -302.50 147.50 167.50 2.28254 -302.50 147.50 172.50 1.0963 -302.50 147.50 177.50 0.461633 -302.50 147.50 182.50 0.166467 -302.50 147.50 187.50 0.0437722 -302.50 147.50 192.50 0.0177901 -302.50 147.50 197.50 0.0215696 -302.50 147.50 202.50 0.0424254 -302.50 147.50 207.50 0.106889 -302.50 147.50 212.50 0.232747 -302.50 147.50 217.50 0.397978 -302.50 147.50 222.50 0.695003 -302.50 147.50 227.50 1.38142 -302.50 147.50 232.50 2.64226 -302.50 147.50 237.50 4.15246 -302.50 147.50 242.50 5.13611 -302.50 147.50 247.50 5.08545 -302.50 147.50 252.50 3.92671 -302.50 147.50 257.50 2.28254 -302.50 147.50 262.50 1.0963 -302.50 147.50 267.50 0.461632 -302.50 147.50 272.50 0.166468 -302.50 147.50 277.50 0.0437723 -302.50 147.50 282.50 0.0177901 -302.50 147.50 287.50 0.0215696 -302.50 147.50 292.50 0.0424254 -302.50 147.50 297.50 0.106889 -302.50 147.50 302.50 0.232747 -302.50 147.50 307.50 0.397978 -302.50 147.50 312.50 0.695003 -302.50 147.50 317.50 1.38142 -302.50 147.50 322.50 2.64226 -302.50 147.50 327.50 4.15245 -302.50 147.50 332.50 5.1361 -302.50 147.50 337.50 5.08546 -302.50 147.50 342.50 3.92672 -302.50 147.50 347.50 2.28255 -302.50 147.50 352.50 1.0963 -302.50 147.50 357.50 0.461634 -302.50 152.50 2.50 0.203044 -302.50 152.50 7.50 0.055626 -302.50 152.50 12.50 0.0313745 -302.50 152.50 17.50 0.0493549 -302.50 152.50 22.50 0.112017 -302.50 152.50 27.50 0.255477 -302.50 152.50 32.50 0.489223 -302.50 152.50 37.50 0.763453 -302.50 152.50 42.50 1.1305 -302.50 152.50 47.50 1.88573 -302.50 152.50 52.50 3.1106 -302.50 152.50 57.50 4.53233 -302.50 152.50 62.50 5.51831 -302.50 152.50 67.50 5.59053 -302.50 152.50 72.50 4.3323 -302.50 152.50 77.50 2.60783 -302.50 152.50 82.50 1.27208 -302.50 152.50 87.50 0.530741 -302.50 152.50 92.50 0.203044 -302.50 152.50 97.50 0.0556259 -302.50 152.50 102.50 0.0313745 -302.50 152.50 107.50 0.0493549 -302.50 152.50 112.50 0.112017 -302.50 152.50 117.50 0.255477 -302.50 152.50 122.50 0.489223 -302.50 152.50 127.50 0.763453 -302.50 152.50 132.50 1.13049 -302.50 152.50 137.50 1.88573 -302.50 152.50 142.50 3.1106 -302.50 152.50 147.50 4.53233 -302.50 152.50 152.50 5.51831 -302.50 152.50 157.50 5.59053 -302.50 152.50 162.50 4.3323 -302.50 152.50 167.50 2.60783 -302.50 152.50 172.50 1.27208 -302.50 152.50 177.50 0.530741 -302.50 152.50 182.50 0.203044 -302.50 152.50 187.50 0.0556259 -302.50 152.50 192.50 0.0313745 -302.50 152.50 197.50 0.0493549 -302.50 152.50 202.50 0.112017 -302.50 152.50 207.50 0.255477 -302.50 152.50 212.50 0.489223 -302.50 152.50 217.50 0.763452 -302.50 152.50 222.50 1.1305 -302.50 152.50 227.50 1.88573 -302.50 152.50 232.50 3.1106 -302.50 152.50 237.50 4.53233 -302.50 152.50 242.50 5.51831 -302.50 152.50 247.50 5.59053 -302.50 152.50 252.50 4.3323 -302.50 152.50 257.50 2.60782 -302.50 152.50 262.50 1.27208 -302.50 152.50 267.50 0.530741 -302.50 152.50 272.50 0.203044 -302.50 152.50 277.50 0.0556259 -302.50 152.50 282.50 0.0313745 -302.50 152.50 287.50 0.0493549 -302.50 152.50 292.50 0.112017 -302.50 152.50 297.50 0.255476 -302.50 152.50 302.50 0.489223 -302.50 152.50 307.50 0.763452 -302.50 152.50 312.50 1.1305 -302.50 152.50 317.50 1.88573 -302.50 152.50 322.50 3.11059 -302.50 152.50 327.50 4.53233 -302.50 152.50 332.50 5.51831 -302.50 152.50 337.50 5.59052 -302.50 152.50 342.50 4.3323 -302.50 152.50 347.50 2.60783 -302.50 152.50 352.50 1.27208 -302.50 152.50 357.50 0.530743 -302.50 157.50 2.50 0.190178 -302.50 157.50 7.50 0.064067 -302.50 157.50 12.50 0.0549513 -302.50 157.50 17.50 0.115685 -302.50 157.50 22.50 0.252156 -302.50 157.50 27.50 0.491738 -302.50 157.50 32.50 0.838583 -302.50 157.50 37.50 1.12126 -302.50 157.50 42.50 1.43678 -302.50 157.50 47.50 2.0097 -302.50 157.50 52.50 2.80798 -302.50 157.50 57.50 3.81855 -302.50 157.50 62.50 4.63534 -302.50 157.50 67.50 4.5022 -302.50 157.50 72.50 3.51984 -302.50 157.50 77.50 2.17989 -302.50 157.50 82.50 1.1038 -302.50 157.50 87.50 0.465381 -302.50 157.50 92.50 0.190178 -302.50 157.50 97.50 0.0640669 -302.50 157.50 102.50 0.0549513 -302.50 157.50 107.50 0.115685 -302.50 157.50 112.50 0.252156 -302.50 157.50 117.50 0.491738 -302.50 157.50 122.50 0.838583 -302.50 157.50 127.50 1.12126 -302.50 157.50 132.50 1.43678 -302.50 157.50 137.50 2.0097 -302.50 157.50 142.50 2.80798 -302.50 157.50 147.50 3.81855 -302.50 157.50 152.50 4.63534 -302.50 157.50 157.50 4.5022 -302.50 157.50 162.50 3.51984 -302.50 157.50 167.50 2.17989 -302.50 157.50 172.50 1.1038 -302.50 157.50 177.50 0.465381 -302.50 157.50 182.50 0.190178 -302.50 157.50 187.50 0.0640669 -302.50 157.50 192.50 0.0549513 -302.50 157.50 197.50 0.115685 -302.50 157.50 202.50 0.252156 -302.50 157.50 207.50 0.491738 -302.50 157.50 212.50 0.838583 -302.50 157.50 217.50 1.12126 -302.50 157.50 222.50 1.43678 -302.50 157.50 227.50 2.0097 -302.50 157.50 232.50 2.80799 -302.50 157.50 237.50 3.81855 -302.50 157.50 242.50 4.63534 -302.50 157.50 247.50 4.50219 -302.50 157.50 252.50 3.51984 -302.50 157.50 257.50 2.17989 -302.50 157.50 262.50 1.1038 -302.50 157.50 267.50 0.46538 -302.50 157.50 272.50 0.190178 -302.50 157.50 277.50 0.064067 -302.50 157.50 282.50 0.0549513 -302.50 157.50 287.50 0.115685 -302.50 157.50 292.50 0.252156 -302.50 157.50 297.50 0.491738 -302.50 157.50 302.50 0.838583 -302.50 157.50 307.50 1.12126 -302.50 157.50 312.50 1.43677 -302.50 157.50 317.50 2.00969 -302.50 157.50 322.50 2.80798 -302.50 157.50 327.50 3.81855 -302.50 157.50 332.50 4.63534 -302.50 157.50 337.50 4.5022 -302.50 157.50 342.50 3.51984 -302.50 157.50 347.50 2.17989 -302.50 157.50 352.50 1.1038 -302.50 157.50 357.50 0.465382 -302.50 162.50 2.50 0.169877 -302.50 162.50 7.50 0.0797989 -302.50 162.50 12.50 0.095702 -302.50 162.50 17.50 0.217768 -302.50 162.50 22.50 0.438269 -302.50 162.50 27.50 0.745256 -302.50 162.50 32.50 1.0931 -302.50 162.50 37.50 1.31728 -302.50 162.50 42.50 1.38735 -302.50 162.50 47.50 1.5729 -302.50 162.50 52.50 2.01872 -302.50 162.50 57.50 2.51249 -302.50 162.50 62.50 2.80011 -302.50 162.50 67.50 2.71146 -302.50 162.50 72.50 2.15474 -302.50 162.50 77.50 1.39346 -302.50 162.50 82.50 0.758532 -302.50 162.50 87.50 0.362128 -302.50 162.50 92.50 0.169877 -302.50 162.50 97.50 0.0797989 -302.50 162.50 102.50 0.0957021 -302.50 162.50 107.50 0.217769 -302.50 162.50 112.50 0.438268 -302.50 162.50 117.50 0.745256 -302.50 162.50 122.50 1.0931 -302.50 162.50 127.50 1.31728 -302.50 162.50 132.50 1.38735 -302.50 162.50 137.50 1.5729 -302.50 162.50 142.50 2.01872 -302.50 162.50 147.50 2.51249 -302.50 162.50 152.50 2.80011 -302.50 162.50 157.50 2.71146 -302.50 162.50 162.50 2.15474 -302.50 162.50 167.50 1.39346 -302.50 162.50 172.50 0.758532 -302.50 162.50 177.50 0.362129 -302.50 162.50 182.50 0.169877 -302.50 162.50 187.50 0.0797988 -302.50 162.50 192.50 0.095702 -302.50 162.50 197.50 0.217768 -302.50 162.50 202.50 0.438269 -302.50 162.50 207.50 0.745256 -302.50 162.50 212.50 1.0931 -302.50 162.50 217.50 1.31728 -302.50 162.50 222.50 1.38735 -302.50 162.50 227.50 1.5729 -302.50 162.50 232.50 2.01872 -302.50 162.50 237.50 2.51249 -302.50 162.50 242.50 2.80011 -302.50 162.50 247.50 2.71146 -302.50 162.50 252.50 2.15474 -302.50 162.50 257.50 1.39346 -302.50 162.50 262.50 0.758531 -302.50 162.50 267.50 0.362128 -302.50 162.50 272.50 0.169877 -302.50 162.50 277.50 0.0797988 -302.50 162.50 282.50 0.0957019 -302.50 162.50 287.50 0.217768 -302.50 162.50 292.50 0.438268 -302.50 162.50 297.50 0.745256 -302.50 162.50 302.50 1.0931 -302.50 162.50 307.50 1.31728 -302.50 162.50 312.50 1.38735 -302.50 162.50 317.50 1.5729 -302.50 162.50 322.50 2.01872 -302.50 162.50 327.50 2.51249 -302.50 162.50 332.50 2.8001 -302.50 162.50 337.50 2.71146 -302.50 162.50 342.50 2.15474 -302.50 162.50 347.50 1.39346 -302.50 162.50 352.50 0.758533 -302.50 162.50 357.50 0.362129 -302.50 167.50 2.50 0.171122 -302.50 167.50 7.50 0.102338 -302.50 167.50 12.50 0.129418 -302.50 167.50 17.50 0.287369 -302.50 167.50 22.50 0.552135 -302.50 167.50 27.50 0.884237 -302.50 167.50 32.50 1.17985 -302.50 167.50 37.50 1.23553 -302.50 167.50 42.50 1.07277 -302.50 167.50 47.50 0.962609 -302.50 167.50 52.50 1.04756 -302.50 167.50 57.50 1.22026 -302.50 167.50 62.50 1.35825 -302.50 167.50 67.50 1.3114 -302.50 167.50 72.50 1.06471 -302.50 167.50 77.50 0.744515 -302.50 167.50 82.50 0.466812 -302.50 167.50 87.50 0.297934 -302.50 167.50 92.50 0.171122 -302.50 167.50 97.50 0.102338 -302.50 167.50 102.50 0.129418 -302.50 167.50 107.50 0.287369 -302.50 167.50 112.50 0.552135 -302.50 167.50 117.50 0.884237 -302.50 167.50 122.50 1.17985 -302.50 167.50 127.50 1.23553 -302.50 167.50 132.50 1.07277 -302.50 167.50 137.50 0.962609 -302.50 167.50 142.50 1.04756 -302.50 167.50 147.50 1.22026 -302.50 167.50 152.50 1.35825 -302.50 167.50 157.50 1.3114 -302.50 167.50 162.50 1.06471 -302.50 167.50 167.50 0.744515 -302.50 167.50 172.50 0.466813 -302.50 167.50 177.50 0.297934 -302.50 167.50 182.50 0.171122 -302.50 167.50 187.50 0.102338 -302.50 167.50 192.50 0.129418 -302.50 167.50 197.50 0.287369 -302.50 167.50 202.50 0.552135 -302.50 167.50 207.50 0.884237 -302.50 167.50 212.50 1.17985 -302.50 167.50 217.50 1.23553 -302.50 167.50 222.50 1.07277 -302.50 167.50 227.50 0.962608 -302.50 167.50 232.50 1.04756 -302.50 167.50 237.50 1.22026 -302.50 167.50 242.50 1.35825 -302.50 167.50 247.50 1.3114 -302.50 167.50 252.50 1.06471 -302.50 167.50 257.50 0.744515 -302.50 167.50 262.50 0.466812 -302.50 167.50 267.50 0.297934 -302.50 167.50 272.50 0.171122 -302.50 167.50 277.50 0.102338 -302.50 167.50 282.50 0.129418 -302.50 167.50 287.50 0.287369 -302.50 167.50 292.50 0.552135 -302.50 167.50 297.50 0.884236 -302.50 167.50 302.50 1.17985 -302.50 167.50 307.50 1.23553 -302.50 167.50 312.50 1.07277 -302.50 167.50 317.50 0.962608 -302.50 167.50 322.50 1.04756 -302.50 167.50 327.50 1.22026 -302.50 167.50 332.50 1.35825 -302.50 167.50 337.50 1.3114 -302.50 167.50 342.50 1.06471 -302.50 167.50 347.50 0.744515 -302.50 167.50 352.50 0.466813 -302.50 167.50 357.50 0.297935 -302.50 172.50 2.50 0.149325 -302.50 172.50 7.50 0.100886 -302.50 172.50 12.50 0.125282 -302.50 172.50 17.50 0.258391 -302.50 172.50 22.50 0.518342 -302.50 172.50 27.50 0.847581 -302.50 172.50 32.50 1.0596 -302.50 172.50 37.50 0.978157 -302.50 172.50 42.50 0.691593 -302.50 172.50 47.50 0.456224 -302.50 172.50 52.50 0.403121 -302.50 172.50 57.50 0.468542 -302.50 172.50 62.50 0.524382 -302.50 172.50 67.50 0.519333 -302.50 172.50 72.50 0.444354 -302.50 172.50 77.50 0.345456 -302.50 172.50 82.50 0.287299 -302.50 172.50 87.50 0.223786 -302.50 172.50 92.50 0.149325 -302.50 172.50 97.50 0.100886 -302.50 172.50 102.50 0.125282 -302.50 172.50 107.50 0.258391 -302.50 172.50 112.50 0.518343 -302.50 172.50 117.50 0.847581 -302.50 172.50 122.50 1.0596 -302.50 172.50 127.50 0.978157 -302.50 172.50 132.50 0.691593 -302.50 172.50 137.50 0.456224 -302.50 172.50 142.50 0.403121 -302.50 172.50 147.50 0.468542 -302.50 172.50 152.50 0.524382 -302.50 172.50 157.50 0.519334 -302.50 172.50 162.50 0.444354 -302.50 172.50 167.50 0.345456 -302.50 172.50 172.50 0.287299 -302.50 172.50 177.50 0.223786 -302.50 172.50 182.50 0.149325 -302.50 172.50 187.50 0.100886 -302.50 172.50 192.50 0.125281 -302.50 172.50 197.50 0.25839 -302.50 172.50 202.50 0.518343 -302.50 172.50 207.50 0.84758 -302.50 172.50 212.50 1.0596 -302.50 172.50 217.50 0.978157 -302.50 172.50 222.50 0.691594 -302.50 172.50 227.50 0.456225 -302.50 172.50 232.50 0.403121 -302.50 172.50 237.50 0.468543 -302.50 172.50 242.50 0.524382 -302.50 172.50 247.50 0.519334 -302.50 172.50 252.50 0.444354 -302.50 172.50 257.50 0.345456 -302.50 172.50 262.50 0.287299 -302.50 172.50 267.50 0.223786 -302.50 172.50 272.50 0.149325 -302.50 172.50 277.50 0.100886 -302.50 172.50 282.50 0.125281 -302.50 172.50 287.50 0.25839 -302.50 172.50 292.50 0.518342 -302.50 172.50 297.50 0.84758 -302.50 172.50 302.50 1.0596 -302.50 172.50 307.50 0.978158 -302.50 172.50 312.50 0.691594 -302.50 172.50 317.50 0.456225 -302.50 172.50 322.50 0.403121 -302.50 172.50 327.50 0.468542 -302.50 172.50 332.50 0.524382 -302.50 172.50 337.50 0.519334 -302.50 172.50 342.50 0.444354 -302.50 172.50 347.50 0.345456 -302.50 172.50 352.50 0.287299 -302.50 172.50 357.50 0.223786 -302.50 177.50 2.50 0.0922626 -302.50 177.50 7.50 0.0690467 -302.50 177.50 12.50 0.0859381 -302.50 177.50 17.50 0.186094 -302.50 177.50 22.50 0.414427 -302.50 177.50 27.50 0.719929 -302.50 177.50 32.50 0.868015 -302.50 177.50 37.50 0.721803 -302.50 177.50 42.50 0.421353 -302.50 177.50 47.50 0.206719 -302.50 177.50 52.50 0.12957 -302.50 177.50 57.50 0.129558 -302.50 177.50 62.50 0.149601 -302.50 177.50 67.50 0.166804 -302.50 177.50 72.50 0.163986 -302.50 177.50 77.50 0.152129 -302.50 177.50 82.50 0.143132 -302.50 177.50 87.50 0.123951 -302.50 177.50 92.50 0.0922626 -302.50 177.50 97.50 0.0690467 -302.50 177.50 102.50 0.0859382 -302.50 177.50 107.50 0.186094 -302.50 177.50 112.50 0.414427 -302.50 177.50 117.50 0.719929 -302.50 177.50 122.50 0.868015 -302.50 177.50 127.50 0.721803 -302.50 177.50 132.50 0.421354 -302.50 177.50 137.50 0.206719 -302.50 177.50 142.50 0.129571 -302.50 177.50 147.50 0.129558 -302.50 177.50 152.50 0.149601 -302.50 177.50 157.50 0.166804 -302.50 177.50 162.50 0.163986 -302.50 177.50 167.50 0.152129 -302.50 177.50 172.50 0.143132 -302.50 177.50 177.50 0.123951 -302.50 177.50 182.50 0.0922625 -302.50 177.50 187.50 0.0690467 -302.50 177.50 192.50 0.0859381 -302.50 177.50 197.50 0.186094 -302.50 177.50 202.50 0.414427 -302.50 177.50 207.50 0.719929 -302.50 177.50 212.50 0.868015 -302.50 177.50 217.50 0.721803 -302.50 177.50 222.50 0.421354 -302.50 177.50 227.50 0.206719 -302.50 177.50 232.50 0.12957 -302.50 177.50 237.50 0.129558 -302.50 177.50 242.50 0.149601 -302.50 177.50 247.50 0.166804 -302.50 177.50 252.50 0.163986 -302.50 177.50 257.50 0.152129 -302.50 177.50 262.50 0.143132 -302.50 177.50 267.50 0.123951 -302.50 177.50 272.50 0.0922625 -302.50 177.50 277.50 0.0690467 -302.50 177.50 282.50 0.085938 -302.50 177.50 287.50 0.186094 -302.50 177.50 292.50 0.414427 -302.50 177.50 297.50 0.719929 -302.50 177.50 302.50 0.868015 -302.50 177.50 307.50 0.721804 -302.50 177.50 312.50 0.421354 -302.50 177.50 317.50 0.206719 -302.50 177.50 322.50 0.129571 -302.50 177.50 327.50 0.129558 -302.50 177.50 332.50 0.149601 -302.50 177.50 337.50 0.166804 -302.50 177.50 342.50 0.163986 -302.50 177.50 347.50 0.152129 -302.50 177.50 352.50 0.143132 -302.50 177.50 357.50 0.123951 -307.50 2.50 2.50 0.0760385 -307.50 2.50 7.50 0.083846 -307.50 2.50 12.50 0.084539 -307.50 2.50 17.50 0.083846 -307.50 2.50 22.50 0.0760386 -307.50 2.50 27.50 0.0601603 -307.50 2.50 32.50 0.0485219 -307.50 2.50 37.50 0.0624686 -307.50 2.50 42.50 0.149977 -307.50 2.50 47.50 0.393272 -307.50 2.50 52.50 0.773178 -307.50 2.50 57.50 0.980476 -307.50 2.50 62.50 0.773179 -307.50 2.50 67.50 0.393273 -307.50 2.50 72.50 0.149977 -307.50 2.50 77.50 0.0624686 -307.50 2.50 82.50 0.0485219 -307.50 2.50 87.50 0.0601603 -307.50 2.50 92.50 0.0760385 -307.50 2.50 97.50 0.083846 -307.50 2.50 102.50 0.084539 -307.50 2.50 107.50 0.083846 -307.50 2.50 112.50 0.0760385 -307.50 2.50 117.50 0.0601603 -307.50 2.50 122.50 0.0485219 -307.50 2.50 127.50 0.0624685 -307.50 2.50 132.50 0.149977 -307.50 2.50 137.50 0.393272 -307.50 2.50 142.50 0.773178 -307.50 2.50 147.50 0.980476 -307.50 2.50 152.50 0.773179 -307.50 2.50 157.50 0.393273 -307.50 2.50 162.50 0.149977 -307.50 2.50 167.50 0.0624686 -307.50 2.50 172.50 0.0485219 -307.50 2.50 177.50 0.0601603 -307.50 2.50 182.50 0.0760385 -307.50 2.50 187.50 0.083846 -307.50 2.50 192.50 0.084539 -307.50 2.50 197.50 0.083846 -307.50 2.50 202.50 0.0760385 -307.50 2.50 207.50 0.0601603 -307.50 2.50 212.50 0.0485219 -307.50 2.50 217.50 0.0624685 -307.50 2.50 222.50 0.149977 -307.50 2.50 227.50 0.393272 -307.50 2.50 232.50 0.773179 -307.50 2.50 237.50 0.980476 -307.50 2.50 242.50 0.773179 -307.50 2.50 247.50 0.393272 -307.50 2.50 252.50 0.149977 -307.50 2.50 257.50 0.0624686 -307.50 2.50 262.50 0.0485219 -307.50 2.50 267.50 0.0601603 -307.50 2.50 272.50 0.0760385 -307.50 2.50 277.50 0.083846 -307.50 2.50 282.50 0.084539 -307.50 2.50 287.50 0.083846 -307.50 2.50 292.50 0.0760385 -307.50 2.50 297.50 0.0601603 -307.50 2.50 302.50 0.048522 -307.50 2.50 307.50 0.0624685 -307.50 2.50 312.50 0.149977 -307.50 2.50 317.50 0.393272 -307.50 2.50 322.50 0.773178 -307.50 2.50 327.50 0.980476 -307.50 2.50 332.50 0.773179 -307.50 2.50 337.50 0.393273 -307.50 2.50 342.50 0.149977 -307.50 2.50 347.50 0.0624687 -307.50 2.50 352.50 0.0485219 -307.50 2.50 357.50 0.0601602 -307.50 7.50 2.50 0.118631 -307.50 7.50 7.50 0.137618 -307.50 7.50 12.50 0.144095 -307.50 7.50 17.50 0.153023 -307.50 7.50 22.50 0.15678 -307.50 7.50 27.50 0.143853 -307.50 7.50 32.50 0.123279 -307.50 7.50 37.50 0.129379 -307.50 7.50 42.50 0.216182 -307.50 7.50 47.50 0.439752 -307.50 7.50 52.50 0.74028 -307.50 7.50 57.50 0.877821 -307.50 7.50 62.50 0.705093 -307.50 7.50 67.50 0.412838 -307.50 7.50 72.50 0.195055 -307.50 7.50 77.50 0.0909505 -307.50 7.50 82.50 0.0657719 -307.50 7.50 87.50 0.0861398 -307.50 7.50 92.50 0.118631 -307.50 7.50 97.50 0.137618 -307.50 7.50 102.50 0.144095 -307.50 7.50 107.50 0.153023 -307.50 7.50 112.50 0.15678 -307.50 7.50 117.50 0.143853 -307.50 7.50 122.50 0.123279 -307.50 7.50 127.50 0.12938 -307.50 7.50 132.50 0.216182 -307.50 7.50 137.50 0.439752 -307.50 7.50 142.50 0.74028 -307.50 7.50 147.50 0.87782 -307.50 7.50 152.50 0.705094 -307.50 7.50 157.50 0.412838 -307.50 7.50 162.50 0.195055 -307.50 7.50 167.50 0.0909505 -307.50 7.50 172.50 0.0657719 -307.50 7.50 177.50 0.0861399 -307.50 7.50 182.50 0.118631 -307.50 7.50 187.50 0.137618 -307.50 7.50 192.50 0.144095 -307.50 7.50 197.50 0.153023 -307.50 7.50 202.50 0.156781 -307.50 7.50 207.50 0.143853 -307.50 7.50 212.50 0.123278 -307.50 7.50 217.50 0.129379 -307.50 7.50 222.50 0.216181 -307.50 7.50 227.50 0.439752 -307.50 7.50 232.50 0.740281 -307.50 7.50 237.50 0.877821 -307.50 7.50 242.50 0.705093 -307.50 7.50 247.50 0.412838 -307.50 7.50 252.50 0.195054 -307.50 7.50 257.50 0.0909503 -307.50 7.50 262.50 0.0657719 -307.50 7.50 267.50 0.0861399 -307.50 7.50 272.50 0.118631 -307.50 7.50 277.50 0.137618 -307.50 7.50 282.50 0.144095 -307.50 7.50 287.50 0.153023 -307.50 7.50 292.50 0.156781 -307.50 7.50 297.50 0.143853 -307.50 7.50 302.50 0.123278 -307.50 7.50 307.50 0.129379 -307.50 7.50 312.50 0.216181 -307.50 7.50 317.50 0.439752 -307.50 7.50 322.50 0.74028 -307.50 7.50 327.50 0.877821 -307.50 7.50 332.50 0.705094 -307.50 7.50 337.50 0.412839 -307.50 7.50 342.50 0.195055 -307.50 7.50 347.50 0.0909507 -307.50 7.50 352.50 0.0657719 -307.50 7.50 357.50 0.0861398 -307.50 12.50 2.50 0.202441 -307.50 12.50 7.50 0.264305 -307.50 12.50 12.50 0.311733 -307.50 12.50 17.50 0.37753 -307.50 12.50 22.50 0.462408 -307.50 12.50 27.50 0.489974 -307.50 12.50 32.50 0.458389 -307.50 12.50 37.50 0.416795 -307.50 12.50 42.50 0.472946 -307.50 12.50 47.50 0.717381 -307.50 12.50 52.50 1.01205 -307.50 12.50 57.50 1.08308 -307.50 12.50 62.50 0.854424 -307.50 12.50 67.50 0.529172 -307.50 12.50 72.50 0.281452 -307.50 12.50 77.50 0.133163 -307.50 12.50 82.50 0.0877474 -307.50 12.50 87.50 0.127436 -307.50 12.50 92.50 0.202441 -307.50 12.50 97.50 0.264305 -307.50 12.50 102.50 0.311733 -307.50 12.50 107.50 0.37753 -307.50 12.50 112.50 0.462408 -307.50 12.50 117.50 0.489974 -307.50 12.50 122.50 0.458389 -307.50 12.50 127.50 0.416794 -307.50 12.50 132.50 0.472946 -307.50 12.50 137.50 0.717381 -307.50 12.50 142.50 1.01204 -307.50 12.50 147.50 1.08308 -307.50 12.50 152.50 0.854425 -307.50 12.50 157.50 0.529172 -307.50 12.50 162.50 0.281452 -307.50 12.50 167.50 0.133163 -307.50 12.50 172.50 0.0877474 -307.50 12.50 177.50 0.127436 -307.50 12.50 182.50 0.202441 -307.50 12.50 187.50 0.264305 -307.50 12.50 192.50 0.311733 -307.50 12.50 197.50 0.37753 -307.50 12.50 202.50 0.462408 -307.50 12.50 207.50 0.489974 -307.50 12.50 212.50 0.45839 -307.50 12.50 217.50 0.416795 -307.50 12.50 222.50 0.472946 -307.50 12.50 227.50 0.717381 -307.50 12.50 232.50 1.01205 -307.50 12.50 237.50 1.08308 -307.50 12.50 242.50 0.854424 -307.50 12.50 247.50 0.529172 -307.50 12.50 252.50 0.281452 -307.50 12.50 257.50 0.133163 -307.50 12.50 262.50 0.0877474 -307.50 12.50 267.50 0.127436 -307.50 12.50 272.50 0.202441 -307.50 12.50 277.50 0.264305 -307.50 12.50 282.50 0.311733 -307.50 12.50 287.50 0.37753 -307.50 12.50 292.50 0.462408 -307.50 12.50 297.50 0.489974 -307.50 12.50 302.50 0.458389 -307.50 12.50 307.50 0.416795 -307.50 12.50 312.50 0.472946 -307.50 12.50 317.50 0.717381 -307.50 12.50 322.50 1.01204 -307.50 12.50 327.50 1.08308 -307.50 12.50 332.50 0.854425 -307.50 12.50 337.50 0.529174 -307.50 12.50 342.50 0.281453 -307.50 12.50 347.50 0.133163 -307.50 12.50 352.50 0.0877474 -307.50 12.50 357.50 0.127436 -307.50 17.50 2.50 0.252721 -307.50 17.50 7.50 0.404512 -307.50 17.50 12.50 0.601343 -307.50 17.50 17.50 0.913617 -307.50 17.50 22.50 1.18922 -307.50 17.50 27.50 1.29939 -307.50 17.50 32.50 1.23068 -307.50 17.50 37.50 1.07391 -307.50 17.50 42.50 1.01927 -307.50 17.50 47.50 1.13113 -307.50 17.50 52.50 1.27813 -307.50 17.50 57.50 1.20669 -307.50 17.50 62.50 0.899808 -307.50 17.50 67.50 0.560895 -307.50 17.50 72.50 0.312627 -307.50 17.50 77.50 0.150407 -307.50 17.50 82.50 0.0818425 -307.50 17.50 87.50 0.13285 -307.50 17.50 92.50 0.252721 -307.50 17.50 97.50 0.404513 -307.50 17.50 102.50 0.601344 -307.50 17.50 107.50 0.913617 -307.50 17.50 112.50 1.18922 -307.50 17.50 117.50 1.29938 -307.50 17.50 122.50 1.23068 -307.50 17.50 127.50 1.07391 -307.50 17.50 132.50 1.01927 -307.50 17.50 137.50 1.13113 -307.50 17.50 142.50 1.27813 -307.50 17.50 147.50 1.20669 -307.50 17.50 152.50 0.899809 -307.50 17.50 157.50 0.560896 -307.50 17.50 162.50 0.312627 -307.50 17.50 167.50 0.150407 -307.50 17.50 172.50 0.0818425 -307.50 17.50 177.50 0.13285 -307.50 17.50 182.50 0.252721 -307.50 17.50 187.50 0.404512 -307.50 17.50 192.50 0.601344 -307.50 17.50 197.50 0.913617 -307.50 17.50 202.50 1.18922 -307.50 17.50 207.50 1.29938 -307.50 17.50 212.50 1.23068 -307.50 17.50 217.50 1.07391 -307.50 17.50 222.50 1.01927 -307.50 17.50 227.50 1.13113 -307.50 17.50 232.50 1.27813 -307.50 17.50 237.50 1.20669 -307.50 17.50 242.50 0.899808 -307.50 17.50 247.50 0.560895 -307.50 17.50 252.50 0.312627 -307.50 17.50 257.50 0.150407 -307.50 17.50 262.50 0.0818425 -307.50 17.50 267.50 0.13285 -307.50 17.50 272.50 0.252721 -307.50 17.50 277.50 0.404512 -307.50 17.50 282.50 0.601343 -307.50 17.50 287.50 0.913617 -307.50 17.50 292.50 1.18922 -307.50 17.50 297.50 1.29939 -307.50 17.50 302.50 1.23068 -307.50 17.50 307.50 1.07391 -307.50 17.50 312.50 1.01927 -307.50 17.50 317.50 1.13113 -307.50 17.50 322.50 1.27813 -307.50 17.50 327.50 1.20669 -307.50 17.50 332.50 0.899809 -307.50 17.50 337.50 0.560896 -307.50 17.50 342.50 0.312627 -307.50 17.50 347.50 0.150408 -307.50 17.50 352.50 0.0818425 -307.50 17.50 357.50 0.13285 -307.50 22.50 2.50 0.273722 -307.50 22.50 7.50 0.583451 -307.50 22.50 12.50 1.1453 -307.50 22.50 17.50 1.88506 -307.50 22.50 22.50 2.5171 -307.50 22.50 27.50 2.73071 -307.50 22.50 32.50 2.51841 -307.50 22.50 37.50 2.12902 -307.50 22.50 42.50 1.76613 -307.50 22.50 47.50 1.53031 -307.50 22.50 52.50 1.41289 -307.50 22.50 57.50 1.15323 -307.50 22.50 62.50 0.758389 -307.50 22.50 67.50 0.439942 -307.50 22.50 72.50 0.235092 -307.50 22.50 77.50 0.109659 -307.50 22.50 82.50 0.0622614 -307.50 22.50 87.50 0.109009 -307.50 22.50 92.50 0.273722 -307.50 22.50 97.50 0.583451 -307.50 22.50 102.50 1.1453 -307.50 22.50 107.50 1.88506 -307.50 22.50 112.50 2.5171 -307.50 22.50 117.50 2.73071 -307.50 22.50 122.50 2.5184 -307.50 22.50 127.50 2.12902 -307.50 22.50 132.50 1.76613 -307.50 22.50 137.50 1.53031 -307.50 22.50 142.50 1.41289 -307.50 22.50 147.50 1.15323 -307.50 22.50 152.50 0.75839 -307.50 22.50 157.50 0.439942 -307.50 22.50 162.50 0.235092 -307.50 22.50 167.50 0.109659 -307.50 22.50 172.50 0.0622614 -307.50 22.50 177.50 0.109009 -307.50 22.50 182.50 0.273722 -307.50 22.50 187.50 0.58345 -307.50 22.50 192.50 1.1453 -307.50 22.50 197.50 1.88506 -307.50 22.50 202.50 2.5171 -307.50 22.50 207.50 2.73071 -307.50 22.50 212.50 2.5184 -307.50 22.50 217.50 2.12902 -307.50 22.50 222.50 1.76613 -307.50 22.50 227.50 1.53031 -307.50 22.50 232.50 1.41289 -307.50 22.50 237.50 1.15323 -307.50 22.50 242.50 0.758389 -307.50 22.50 247.50 0.439942 -307.50 22.50 252.50 0.235092 -307.50 22.50 257.50 0.109659 -307.50 22.50 262.50 0.0622614 -307.50 22.50 267.50 0.109009 -307.50 22.50 272.50 0.273722 -307.50 22.50 277.50 0.583451 -307.50 22.50 282.50 1.1453 -307.50 22.50 287.50 1.88506 -307.50 22.50 292.50 2.5171 -307.50 22.50 297.50 2.73071 -307.50 22.50 302.50 2.51841 -307.50 22.50 307.50 2.12902 -307.50 22.50 312.50 1.76613 -307.50 22.50 317.50 1.53031 -307.50 22.50 322.50 1.41289 -307.50 22.50 327.50 1.15323 -307.50 22.50 332.50 0.75839 -307.50 22.50 337.50 0.439942 -307.50 22.50 342.50 0.235093 -307.50 22.50 347.50 0.10966 -307.50 22.50 352.50 0.0622614 -307.50 22.50 357.50 0.109009 -307.50 27.50 2.50 0.315204 -307.50 27.50 7.50 0.816508 -307.50 27.50 12.50 1.8235 -307.50 27.50 17.50 3.15074 -307.50 27.50 22.50 4.21599 -307.50 27.50 27.50 4.55459 -307.50 27.50 32.50 4.06019 -307.50 27.50 37.50 3.0451 -307.50 27.50 42.50 2.24399 -307.50 27.50 47.50 1.69825 -307.50 27.50 52.50 1.27299 -307.50 27.50 57.50 0.897298 -307.50 27.50 62.50 0.517773 -307.50 27.50 67.50 0.247701 -307.50 27.50 72.50 0.117925 -307.50 27.50 77.50 0.0536605 -307.50 27.50 82.50 0.0419426 -307.50 27.50 87.50 0.0937556 -307.50 27.50 92.50 0.315204 -307.50 27.50 97.50 0.816508 -307.50 27.50 102.50 1.8235 -307.50 27.50 107.50 3.15074 -307.50 27.50 112.50 4.21599 -307.50 27.50 117.50 4.55459 -307.50 27.50 122.50 4.0602 -307.50 27.50 127.50 3.0451 -307.50 27.50 132.50 2.24399 -307.50 27.50 137.50 1.69825 -307.50 27.50 142.50 1.27299 -307.50 27.50 147.50 0.897298 -307.50 27.50 152.50 0.517774 -307.50 27.50 157.50 0.247702 -307.50 27.50 162.50 0.117925 -307.50 27.50 167.50 0.0536606 -307.50 27.50 172.50 0.0419426 -307.50 27.50 177.50 0.0937554 -307.50 27.50 182.50 0.315204 -307.50 27.50 187.50 0.816508 -307.50 27.50 192.50 1.8235 -307.50 27.50 197.50 3.15074 -307.50 27.50 202.50 4.21599 -307.50 27.50 207.50 4.55459 -307.50 27.50 212.50 4.06019 -307.50 27.50 217.50 3.0451 -307.50 27.50 222.50 2.24399 -307.50 27.50 227.50 1.69826 -307.50 27.50 232.50 1.27299 -307.50 27.50 237.50 0.897298 -307.50 27.50 242.50 0.517773 -307.50 27.50 247.50 0.247701 -307.50 27.50 252.50 0.117925 -307.50 27.50 257.50 0.0536605 -307.50 27.50 262.50 0.0419426 -307.50 27.50 267.50 0.0937558 -307.50 27.50 272.50 0.315204 -307.50 27.50 277.50 0.816508 -307.50 27.50 282.50 1.82349 -307.50 27.50 287.50 3.15074 -307.50 27.50 292.50 4.21599 -307.50 27.50 297.50 4.55459 -307.50 27.50 302.50 4.06019 -307.50 27.50 307.50 3.0451 -307.50 27.50 312.50 2.24399 -307.50 27.50 317.50 1.69826 -307.50 27.50 322.50 1.27299 -307.50 27.50 327.50 0.897299 -307.50 27.50 332.50 0.517774 -307.50 27.50 337.50 0.247702 -307.50 27.50 342.50 0.117925 -307.50 27.50 347.50 0.0536606 -307.50 27.50 352.50 0.0419426 -307.50 27.50 357.50 0.0937552 -307.50 32.50 2.50 0.348473 -307.50 32.50 7.50 0.967029 -307.50 32.50 12.50 2.2405 -307.50 32.50 17.50 4.01869 -307.50 32.50 22.50 5.39525 -307.50 32.50 27.50 5.76945 -307.50 32.50 32.50 4.84183 -307.50 32.50 37.50 3.47636 -307.50 32.50 42.50 2.24383 -307.50 32.50 47.50 1.40564 -307.50 32.50 52.50 0.907054 -307.50 32.50 57.50 0.559573 -307.50 32.50 62.50 0.275266 -307.50 32.50 67.50 0.110479 -307.50 32.50 72.50 0.0446587 -307.50 32.50 77.50 0.0203815 -307.50 32.50 82.50 0.0308658 -307.50 32.50 87.50 0.0903383 -307.50 32.50 92.50 0.348473 -307.50 32.50 97.50 0.967029 -307.50 32.50 102.50 2.2405 -307.50 32.50 107.50 4.01869 -307.50 32.50 112.50 5.39525 -307.50 32.50 117.50 5.76944 -307.50 32.50 122.50 4.84183 -307.50 32.50 127.50 3.47636 -307.50 32.50 132.50 2.24383 -307.50 32.50 137.50 1.40564 -307.50 32.50 142.50 0.907054 -307.50 32.50 147.50 0.559573 -307.50 32.50 152.50 0.275267 -307.50 32.50 157.50 0.11048 -307.50 32.50 162.50 0.0446587 -307.50 32.50 167.50 0.0203815 -307.50 32.50 172.50 0.0308657 -307.50 32.50 177.50 0.0903382 -307.50 32.50 182.50 0.348473 -307.50 32.50 187.50 0.96703 -307.50 32.50 192.50 2.2405 -307.50 32.50 197.50 4.01869 -307.50 32.50 202.50 5.39525 -307.50 32.50 207.50 5.76944 -307.50 32.50 212.50 4.84183 -307.50 32.50 217.50 3.47637 -307.50 32.50 222.50 2.24383 -307.50 32.50 227.50 1.40564 -307.50 32.50 232.50 0.907053 -307.50 32.50 237.50 0.559572 -307.50 32.50 242.50 0.275266 -307.50 32.50 247.50 0.110479 -307.50 32.50 252.50 0.0446587 -307.50 32.50 257.50 0.0203815 -307.50 32.50 262.50 0.0308658 -307.50 32.50 267.50 0.0903385 -307.50 32.50 272.50 0.348473 -307.50 32.50 277.50 0.967029 -307.50 32.50 282.50 2.2405 -307.50 32.50 287.50 4.01869 -307.50 32.50 292.50 5.39525 -307.50 32.50 297.50 5.76945 -307.50 32.50 302.50 4.84183 -307.50 32.50 307.50 3.47637 -307.50 32.50 312.50 2.24383 -307.50 32.50 317.50 1.40564 -307.50 32.50 322.50 0.907055 -307.50 32.50 327.50 0.559573 -307.50 32.50 332.50 0.275267 -307.50 32.50 337.50 0.11048 -307.50 32.50 342.50 0.0446588 -307.50 32.50 347.50 0.0203815 -307.50 32.50 352.50 0.0308657 -307.50 32.50 357.50 0.090338 -307.50 37.50 2.50 0.328531 -307.50 37.50 7.50 0.920471 -307.50 37.50 12.50 2.10274 -307.50 37.50 17.50 3.78195 -307.50 37.50 22.50 5.18173 -307.50 37.50 27.50 5.49299 -307.50 37.50 32.50 4.60736 -307.50 37.50 37.50 3.13348 -307.50 37.50 42.50 1.76091 -307.50 37.50 47.50 0.92494 -307.50 37.50 52.50 0.506261 -307.50 37.50 57.50 0.265309 -307.50 37.50 62.50 0.117388 -307.50 37.50 67.50 0.0419012 -307.50 37.50 72.50 0.016875 -307.50 37.50 77.50 0.0111927 -307.50 37.50 82.50 0.0233344 -307.50 37.50 87.50 0.0866605 -307.50 37.50 92.50 0.328531 -307.50 37.50 97.50 0.920471 -307.50 37.50 102.50 2.10274 -307.50 37.50 107.50 3.78195 -307.50 37.50 112.50 5.18173 -307.50 37.50 117.50 5.49299 -307.50 37.50 122.50 4.60736 -307.50 37.50 127.50 3.13348 -307.50 37.50 132.50 1.76091 -307.50 37.50 137.50 0.924941 -307.50 37.50 142.50 0.506261 -307.50 37.50 147.50 0.265309 -307.50 37.50 152.50 0.117388 -307.50 37.50 157.50 0.0419013 -307.50 37.50 162.50 0.016875 -307.50 37.50 167.50 0.0111927 -307.50 37.50 172.50 0.0233343 -307.50 37.50 177.50 0.0866604 -307.50 37.50 182.50 0.328532 -307.50 37.50 187.50 0.920471 -307.50 37.50 192.50 2.10274 -307.50 37.50 197.50 3.78194 -307.50 37.50 202.50 5.18173 -307.50 37.50 207.50 5.49299 -307.50 37.50 212.50 4.60736 -307.50 37.50 217.50 3.13348 -307.50 37.50 222.50 1.76091 -307.50 37.50 227.50 0.924942 -307.50 37.50 232.50 0.506261 -307.50 37.50 237.50 0.265309 -307.50 37.50 242.50 0.117388 -307.50 37.50 247.50 0.0419013 -307.50 37.50 252.50 0.016875 -307.50 37.50 257.50 0.0111927 -307.50 37.50 262.50 0.0233344 -307.50 37.50 267.50 0.0866606 -307.50 37.50 272.50 0.328531 -307.50 37.50 277.50 0.92047 -307.50 37.50 282.50 2.10274 -307.50 37.50 287.50 3.78194 -307.50 37.50 292.50 5.18173 -307.50 37.50 297.50 5.49299 -307.50 37.50 302.50 4.60736 -307.50 37.50 307.50 3.13348 -307.50 37.50 312.50 1.76091 -307.50 37.50 317.50 0.924942 -307.50 37.50 322.50 0.506262 -307.50 37.50 327.50 0.26531 -307.50 37.50 332.50 0.117388 -307.50 37.50 337.50 0.0419014 -307.50 37.50 342.50 0.016875 -307.50 37.50 347.50 0.0111927 -307.50 37.50 352.50 0.0233343 -307.50 37.50 357.50 0.0866602 -307.50 42.50 2.50 0.288878 -307.50 42.50 7.50 0.741632 -307.50 42.50 12.50 1.5684 -307.50 42.50 17.50 2.78949 -307.50 42.50 22.50 3.89943 -307.50 42.50 27.50 4.12697 -307.50 42.50 32.50 3.38513 -307.50 42.50 37.50 2.13512 -307.50 42.50 42.50 1.09675 -307.50 42.50 47.50 0.474548 -307.50 42.50 52.50 0.205942 -307.50 42.50 57.50 0.0901081 -307.50 42.50 62.50 0.036977 -307.50 42.50 67.50 0.01989 -307.50 42.50 72.50 0.018284 -307.50 42.50 77.50 0.0216585 -307.50 42.50 82.50 0.031931 -307.50 42.50 87.50 0.0891297 -307.50 42.50 92.50 0.288878 -307.50 42.50 97.50 0.741632 -307.50 42.50 102.50 1.5684 -307.50 42.50 107.50 2.7895 -307.50 42.50 112.50 3.89943 -307.50 42.50 117.50 4.12697 -307.50 42.50 122.50 3.38513 -307.50 42.50 127.50 2.13512 -307.50 42.50 132.50 1.09675 -307.50 42.50 137.50 0.474548 -307.50 42.50 142.50 0.205942 -307.50 42.50 147.50 0.0901081 -307.50 42.50 152.50 0.036977 -307.50 42.50 157.50 0.01989 -307.50 42.50 162.50 0.018284 -307.50 42.50 167.50 0.0216585 -307.50 42.50 172.50 0.031931 -307.50 42.50 177.50 0.0891297 -307.50 42.50 182.50 0.288878 -307.50 42.50 187.50 0.741632 -307.50 42.50 192.50 1.5684 -307.50 42.50 197.50 2.7895 -307.50 42.50 202.50 3.89943 -307.50 42.50 207.50 4.12697 -307.50 42.50 212.50 3.38513 -307.50 42.50 217.50 2.13512 -307.50 42.50 222.50 1.09676 -307.50 42.50 227.50 0.474549 -307.50 42.50 232.50 0.205941 -307.50 42.50 237.50 0.090108 -307.50 42.50 242.50 0.036977 -307.50 42.50 247.50 0.0198901 -307.50 42.50 252.50 0.018284 -307.50 42.50 257.50 0.0216585 -307.50 42.50 262.50 0.0319311 -307.50 42.50 267.50 0.0891298 -307.50 42.50 272.50 0.288877 -307.50 42.50 277.50 0.741632 -307.50 42.50 282.50 1.5684 -307.50 42.50 287.50 2.78949 -307.50 42.50 292.50 3.89943 -307.50 42.50 297.50 4.12697 -307.50 42.50 302.50 3.38513 -307.50 42.50 307.50 2.13512 -307.50 42.50 312.50 1.09676 -307.50 42.50 317.50 0.474549 -307.50 42.50 322.50 0.205942 -307.50 42.50 327.50 0.0901083 -307.50 42.50 332.50 0.0369771 -307.50 42.50 337.50 0.0198901 -307.50 42.50 342.50 0.018284 -307.50 42.50 347.50 0.0216584 -307.50 42.50 352.50 0.031931 -307.50 42.50 357.50 0.0891295 -307.50 47.50 2.50 0.27274 -307.50 47.50 7.50 0.542744 -307.50 47.50 12.50 1.02107 -307.50 47.50 17.50 1.72448 -307.50 47.50 22.50 2.35483 -307.50 47.50 27.50 2.36679 -307.50 47.50 32.50 1.79439 -307.50 47.50 37.50 1.09133 -307.50 47.50 42.50 0.52032 -307.50 47.50 47.50 0.210638 -307.50 47.50 52.50 0.059534 -307.50 47.50 57.50 0.0272758 -307.50 47.50 62.50 0.0210071 -307.50 47.50 67.50 0.0437371 -307.50 47.50 72.50 0.0771197 -307.50 47.50 77.50 0.0898223 -307.50 47.50 82.50 0.0916225 -307.50 47.50 87.50 0.126127 -307.50 47.50 92.50 0.272741 -307.50 47.50 97.50 0.542744 -307.50 47.50 102.50 1.02107 -307.50 47.50 107.50 1.72448 -307.50 47.50 112.50 2.35483 -307.50 47.50 117.50 2.36679 -307.50 47.50 122.50 1.79439 -307.50 47.50 127.50 1.09133 -307.50 47.50 132.50 0.52032 -307.50 47.50 137.50 0.210639 -307.50 47.50 142.50 0.059534 -307.50 47.50 147.50 0.0272758 -307.50 47.50 152.50 0.0210071 -307.50 47.50 157.50 0.043737 -307.50 47.50 162.50 0.0771197 -307.50 47.50 167.50 0.0898222 -307.50 47.50 172.50 0.0916224 -307.50 47.50 177.50 0.126127 -307.50 47.50 182.50 0.272741 -307.50 47.50 187.50 0.542744 -307.50 47.50 192.50 1.02107 -307.50 47.50 197.50 1.72448 -307.50 47.50 202.50 2.35483 -307.50 47.50 207.50 2.36679 -307.50 47.50 212.50 1.79439 -307.50 47.50 217.50 1.09133 -307.50 47.50 222.50 0.52032 -307.50 47.50 227.50 0.210639 -307.50 47.50 232.50 0.0595338 -307.50 47.50 237.50 0.0272758 -307.50 47.50 242.50 0.0210072 -307.50 47.50 247.50 0.0437371 -307.50 47.50 252.50 0.0771198 -307.50 47.50 257.50 0.0898223 -307.50 47.50 262.50 0.0916225 -307.50 47.50 267.50 0.126127 -307.50 47.50 272.50 0.27274 -307.50 47.50 277.50 0.542744 -307.50 47.50 282.50 1.02107 -307.50 47.50 287.50 1.72448 -307.50 47.50 292.50 2.35483 -307.50 47.50 297.50 2.36679 -307.50 47.50 302.50 1.79439 -307.50 47.50 307.50 1.09133 -307.50 47.50 312.50 0.520321 -307.50 47.50 317.50 0.210639 -307.50 47.50 322.50 0.0595341 -307.50 47.50 327.50 0.0272759 -307.50 47.50 332.50 0.0210071 -307.50 47.50 337.50 0.043737 -307.50 47.50 342.50 0.0771197 -307.50 47.50 347.50 0.0898223 -307.50 47.50 352.50 0.0916224 -307.50 47.50 357.50 0.126127 -307.50 52.50 2.50 0.288878 -307.50 52.50 7.50 0.373191 -307.50 52.50 12.50 0.60088 -307.50 52.50 17.50 0.89192 -307.50 52.50 22.50 1.07286 -307.50 52.50 27.50 0.953544 -307.50 52.50 32.50 0.67901 -307.50 52.50 37.50 0.436657 -307.50 52.50 42.50 0.19527 -307.50 52.50 47.50 0.0654376 -307.50 52.50 52.50 0.0297947 -307.50 52.50 57.50 0.0432187 -307.50 52.50 62.50 0.0877078 -307.50 52.50 67.50 0.158508 -307.50 52.50 72.50 0.252126 -307.50 52.50 77.50 0.280289 -307.50 52.50 82.50 0.257683 -307.50 52.50 87.50 0.233442 -307.50 52.50 92.50 0.288878 -307.50 52.50 97.50 0.373191 -307.50 52.50 102.50 0.60088 -307.50 52.50 107.50 0.89192 -307.50 52.50 112.50 1.07286 -307.50 52.50 117.50 0.953544 -307.50 52.50 122.50 0.679011 -307.50 52.50 127.50 0.436657 -307.50 52.50 132.50 0.195269 -307.50 52.50 137.50 0.0654376 -307.50 52.50 142.50 0.0297946 -307.50 52.50 147.50 0.0432187 -307.50 52.50 152.50 0.0877077 -307.50 52.50 157.50 0.158508 -307.50 52.50 162.50 0.252126 -307.50 52.50 167.50 0.280289 -307.50 52.50 172.50 0.257683 -307.50 52.50 177.50 0.233442 -307.50 52.50 182.50 0.288878 -307.50 52.50 187.50 0.373191 -307.50 52.50 192.50 0.600881 -307.50 52.50 197.50 0.89192 -307.50 52.50 202.50 1.07286 -307.50 52.50 207.50 0.953544 -307.50 52.50 212.50 0.679011 -307.50 52.50 217.50 0.436657 -307.50 52.50 222.50 0.19527 -307.50 52.50 227.50 0.0654376 -307.50 52.50 232.50 0.0297946 -307.50 52.50 237.50 0.0432188 -307.50 52.50 242.50 0.0877078 -307.50 52.50 247.50 0.158508 -307.50 52.50 252.50 0.252126 -307.50 52.50 257.50 0.280289 -307.50 52.50 262.50 0.257683 -307.50 52.50 267.50 0.233442 -307.50 52.50 272.50 0.288878 -307.50 52.50 277.50 0.373191 -307.50 52.50 282.50 0.60088 -307.50 52.50 287.50 0.891919 -307.50 52.50 292.50 1.07286 -307.50 52.50 297.50 0.953545 -307.50 52.50 302.50 0.679011 -307.50 52.50 307.50 0.436657 -307.50 52.50 312.50 0.19527 -307.50 52.50 317.50 0.0654376 -307.50 52.50 322.50 0.0297947 -307.50 52.50 327.50 0.0432187 -307.50 52.50 332.50 0.0877076 -307.50 52.50 337.50 0.158508 -307.50 52.50 342.50 0.252126 -307.50 52.50 347.50 0.280289 -307.50 52.50 352.50 0.257683 -307.50 52.50 357.50 0.233442 -307.50 57.50 2.50 0.328531 -307.50 57.50 7.50 0.246084 -307.50 57.50 12.50 0.316921 -307.50 57.50 17.50 0.365702 -307.50 57.50 22.50 0.358514 -307.50 57.50 27.50 0.278106 -307.50 57.50 32.50 0.233769 -307.50 57.50 37.50 0.152801 -307.50 57.50 42.50 0.0769568 -307.50 57.50 47.50 0.0583608 -307.50 57.50 52.50 0.0843453 -307.50 57.50 57.50 0.189034 -307.50 57.50 62.50 0.371836 -307.50 57.50 67.50 0.534145 -307.50 57.50 72.50 0.649893 -307.50 57.50 77.50 0.672169 -307.50 57.50 82.50 0.570667 -307.50 57.50 87.50 0.428519 -307.50 57.50 92.50 0.328531 -307.50 57.50 97.50 0.246084 -307.50 57.50 102.50 0.316921 -307.50 57.50 107.50 0.365702 -307.50 57.50 112.50 0.358514 -307.50 57.50 117.50 0.278106 -307.50 57.50 122.50 0.233768 -307.50 57.50 127.50 0.152801 -307.50 57.50 132.50 0.0769568 -307.50 57.50 137.50 0.0583608 -307.50 57.50 142.50 0.0843452 -307.50 57.50 147.50 0.189034 -307.50 57.50 152.50 0.371836 -307.50 57.50 157.50 0.534144 -307.50 57.50 162.50 0.649893 -307.50 57.50 167.50 0.672169 -307.50 57.50 172.50 0.570667 -307.50 57.50 177.50 0.428519 -307.50 57.50 182.50 0.328531 -307.50 57.50 187.50 0.246085 -307.50 57.50 192.50 0.316921 -307.50 57.50 197.50 0.365702 -307.50 57.50 202.50 0.358515 -307.50 57.50 207.50 0.278106 -307.50 57.50 212.50 0.233769 -307.50 57.50 217.50 0.152801 -307.50 57.50 222.50 0.0769568 -307.50 57.50 227.50 0.0583608 -307.50 57.50 232.50 0.0843455 -307.50 57.50 237.50 0.189035 -307.50 57.50 242.50 0.371836 -307.50 57.50 247.50 0.534145 -307.50 57.50 252.50 0.649894 -307.50 57.50 257.50 0.672169 -307.50 57.50 262.50 0.570667 -307.50 57.50 267.50 0.428518 -307.50 57.50 272.50 0.328531 -307.50 57.50 277.50 0.246084 -307.50 57.50 282.50 0.316921 -307.50 57.50 287.50 0.365702 -307.50 57.50 292.50 0.358514 -307.50 57.50 297.50 0.278106 -307.50 57.50 302.50 0.233768 -307.50 57.50 307.50 0.152801 -307.50 57.50 312.50 0.0769568 -307.50 57.50 317.50 0.0583608 -307.50 57.50 322.50 0.0843451 -307.50 57.50 327.50 0.189034 -307.50 57.50 332.50 0.371836 -307.50 57.50 337.50 0.534145 -307.50 57.50 342.50 0.649893 -307.50 57.50 347.50 0.672169 -307.50 57.50 352.50 0.570667 -307.50 57.50 357.50 0.428519 -307.50 62.50 2.50 0.348473 -307.50 62.50 7.50 0.162287 -307.50 62.50 12.50 0.142713 -307.50 62.50 17.50 0.106064 -307.50 62.50 22.50 0.082429 -307.50 62.50 27.50 0.0657577 -307.50 62.50 32.50 0.072886 -307.50 62.50 37.50 0.0763319 -307.50 62.50 42.50 0.107718 -307.50 62.50 47.50 0.181719 -307.50 62.50 52.50 0.343469 -307.50 62.50 57.50 0.700884 -307.50 62.50 62.50 1.1483 -307.50 62.50 67.50 1.48961 -307.50 62.50 72.50 1.48491 -307.50 62.50 77.50 1.25066 -307.50 62.50 82.50 0.931859 -307.50 62.50 87.50 0.613992 -307.50 62.50 92.50 0.348473 -307.50 62.50 97.50 0.162287 -307.50 62.50 102.50 0.142713 -307.50 62.50 107.50 0.106064 -307.50 62.50 112.50 0.0824289 -307.50 62.50 117.50 0.0657576 -307.50 62.50 122.50 0.072886 -307.50 62.50 127.50 0.0763319 -307.50 62.50 132.50 0.107718 -307.50 62.50 137.50 0.181719 -307.50 62.50 142.50 0.343469 -307.50 62.50 147.50 0.700883 -307.50 62.50 152.50 1.1483 -307.50 62.50 157.50 1.48961 -307.50 62.50 162.50 1.48491 -307.50 62.50 167.50 1.25066 -307.50 62.50 172.50 0.931859 -307.50 62.50 177.50 0.613992 -307.50 62.50 182.50 0.348473 -307.50 62.50 187.50 0.162287 -307.50 62.50 192.50 0.142713 -307.50 62.50 197.50 0.106064 -307.50 62.50 202.50 0.0824289 -307.50 62.50 207.50 0.0657576 -307.50 62.50 212.50 0.072886 -307.50 62.50 217.50 0.0763319 -307.50 62.50 222.50 0.107718 -307.50 62.50 227.50 0.181719 -307.50 62.50 232.50 0.343469 -307.50 62.50 237.50 0.700884 -307.50 62.50 242.50 1.1483 -307.50 62.50 247.50 1.48961 -307.50 62.50 252.50 1.48491 -307.50 62.50 257.50 1.25066 -307.50 62.50 262.50 0.931859 -307.50 62.50 267.50 0.613992 -307.50 62.50 272.50 0.348473 -307.50 62.50 277.50 0.162287 -307.50 62.50 282.50 0.142713 -307.50 62.50 287.50 0.106064 -307.50 62.50 292.50 0.082429 -307.50 62.50 297.50 0.0657576 -307.50 62.50 302.50 0.0728861 -307.50 62.50 307.50 0.0763319 -307.50 62.50 312.50 0.107718 -307.50 62.50 317.50 0.181719 -307.50 62.50 322.50 0.343468 -307.50 62.50 327.50 0.700883 -307.50 62.50 332.50 1.1483 -307.50 62.50 337.50 1.48961 -307.50 62.50 342.50 1.48491 -307.50 62.50 347.50 1.25066 -307.50 62.50 352.50 0.931861 -307.50 62.50 357.50 0.613993 -307.50 67.50 2.50 0.315203 -307.50 67.50 7.50 0.115517 -307.50 67.50 12.50 0.0651828 -307.50 67.50 17.50 0.0294463 -307.50 67.50 22.50 0.0146423 -307.50 67.50 27.50 0.0142209 -307.50 67.50 32.50 0.0320944 -307.50 67.50 37.50 0.0998973 -307.50 67.50 42.50 0.249995 -307.50 67.50 47.50 0.526914 -307.50 67.50 52.50 1.04715 -307.50 67.50 57.50 1.8407 -307.50 67.50 62.50 2.62958 -307.50 67.50 67.50 3.04831 -307.50 67.50 72.50 2.75563 -307.50 67.50 77.50 1.93798 -307.50 67.50 82.50 1.19472 -307.50 67.50 87.50 0.659434 -307.50 67.50 92.50 0.315204 -307.50 67.50 97.50 0.115517 -307.50 67.50 102.50 0.0651828 -307.50 67.50 107.50 0.0294463 -307.50 67.50 112.50 0.0146423 -307.50 67.50 117.50 0.0142209 -307.50 67.50 122.50 0.0320944 -307.50 67.50 127.50 0.0998972 -307.50 67.50 132.50 0.249995 -307.50 67.50 137.50 0.526913 -307.50 67.50 142.50 1.04715 -307.50 67.50 147.50 1.8407 -307.50 67.50 152.50 2.62957 -307.50 67.50 157.50 3.04831 -307.50 67.50 162.50 2.75563 -307.50 67.50 167.50 1.93798 -307.50 67.50 172.50 1.19472 -307.50 67.50 177.50 0.659434 -307.50 67.50 182.50 0.315204 -307.50 67.50 187.50 0.115517 -307.50 67.50 192.50 0.0651828 -307.50 67.50 197.50 0.0294463 -307.50 67.50 202.50 0.0146423 -307.50 67.50 207.50 0.0142209 -307.50 67.50 212.50 0.0320944 -307.50 67.50 217.50 0.0998971 -307.50 67.50 222.50 0.249995 -307.50 67.50 227.50 0.526913 -307.50 67.50 232.50 1.04715 -307.50 67.50 237.50 1.8407 -307.50 67.50 242.50 2.62958 -307.50 67.50 247.50 3.04831 -307.50 67.50 252.50 2.75563 -307.50 67.50 257.50 1.93798 -307.50 67.50 262.50 1.19472 -307.50 67.50 267.50 0.659433 -307.50 67.50 272.50 0.315204 -307.50 67.50 277.50 0.115517 -307.50 67.50 282.50 0.0651828 -307.50 67.50 287.50 0.0294463 -307.50 67.50 292.50 0.0146423 -307.50 67.50 297.50 0.0142209 -307.50 67.50 302.50 0.0320944 -307.50 67.50 307.50 0.0998972 -307.50 67.50 312.50 0.249995 -307.50 67.50 317.50 0.526913 -307.50 67.50 322.50 1.04715 -307.50 67.50 327.50 1.8407 -307.50 67.50 332.50 2.62957 -307.50 67.50 337.50 3.04831 -307.50 67.50 342.50 2.75563 -307.50 67.50 347.50 1.93799 -307.50 67.50 352.50 1.19472 -307.50 67.50 357.50 0.659435 -307.50 72.50 2.50 0.273721 -307.50 72.50 7.50 0.10637 -307.50 72.50 12.50 0.0579616 -307.50 72.50 17.50 0.0183021 -307.50 72.50 22.50 0.00840856 -307.50 72.50 27.50 0.0168086 -307.50 72.50 32.50 0.0645034 -307.50 72.50 37.50 0.211773 -307.50 72.50 42.50 0.544366 -307.50 72.50 47.50 1.18521 -307.50 72.50 52.50 2.25116 -307.50 72.50 57.50 3.53505 -307.50 72.50 62.50 4.42529 -307.50 72.50 67.50 4.5733 -307.50 72.50 72.50 3.93032 -307.50 72.50 77.50 2.50652 -307.50 72.50 82.50 1.31791 -307.50 72.50 87.50 0.62141 -307.50 72.50 92.50 0.273721 -307.50 72.50 97.50 0.10637 -307.50 72.50 102.50 0.0579616 -307.50 72.50 107.50 0.0183021 -307.50 72.50 112.50 0.00840855 -307.50 72.50 117.50 0.0168086 -307.50 72.50 122.50 0.0645034 -307.50 72.50 127.50 0.211773 -307.50 72.50 132.50 0.544366 -307.50 72.50 137.50 1.18521 -307.50 72.50 142.50 2.25116 -307.50 72.50 147.50 3.53504 -307.50 72.50 152.50 4.42528 -307.50 72.50 157.50 4.5733 -307.50 72.50 162.50 3.93032 -307.50 72.50 167.50 2.50652 -307.50 72.50 172.50 1.31791 -307.50 72.50 177.50 0.62141 -307.50 72.50 182.50 0.273721 -307.50 72.50 187.50 0.10637 -307.50 72.50 192.50 0.0579615 -307.50 72.50 197.50 0.0183021 -307.50 72.50 202.50 0.00840855 -307.50 72.50 207.50 0.0168086 -307.50 72.50 212.50 0.0645034 -307.50 72.50 217.50 0.211772 -307.50 72.50 222.50 0.544365 -307.50 72.50 227.50 1.18521 -307.50 72.50 232.50 2.25116 -307.50 72.50 237.50 3.53505 -307.50 72.50 242.50 4.42528 -307.50 72.50 247.50 4.5733 -307.50 72.50 252.50 3.93032 -307.50 72.50 257.50 2.50652 -307.50 72.50 262.50 1.31791 -307.50 72.50 267.50 0.621409 -307.50 72.50 272.50 0.273721 -307.50 72.50 277.50 0.10637 -307.50 72.50 282.50 0.0579616 -307.50 72.50 287.50 0.0183021 -307.50 72.50 292.50 0.00840855 -307.50 72.50 297.50 0.0168086 -307.50 72.50 302.50 0.0645033 -307.50 72.50 307.50 0.211773 -307.50 72.50 312.50 0.544366 -307.50 72.50 317.50 1.18521 -307.50 72.50 322.50 2.25115 -307.50 72.50 327.50 3.53504 -307.50 72.50 332.50 4.42529 -307.50 72.50 337.50 4.57329 -307.50 72.50 342.50 3.93033 -307.50 72.50 347.50 2.50653 -307.50 72.50 352.50 1.31791 -307.50 72.50 357.50 0.621411 -307.50 77.50 2.50 0.252721 -307.50 77.50 7.50 0.118702 -307.50 77.50 12.50 0.0536868 -307.50 77.50 17.50 0.0269368 -307.50 77.50 22.50 0.0272175 -307.50 77.50 27.50 0.0641444 -307.50 77.50 32.50 0.196433 -307.50 77.50 37.50 0.557497 -307.50 77.50 42.50 1.26423 -307.50 77.50 47.50 2.31717 -307.50 77.50 52.50 3.68535 -307.50 77.50 57.50 4.86035 -307.50 77.50 62.50 5.59461 -307.50 77.50 67.50 5.36618 -307.50 77.50 72.50 4.2555 -307.50 77.50 77.50 2.72246 -307.50 77.50 82.50 1.28309 -307.50 77.50 87.50 0.606695 -307.50 77.50 92.50 0.252721 -307.50 77.50 97.50 0.118702 -307.50 77.50 102.50 0.0536868 -307.50 77.50 107.50 0.0269368 -307.50 77.50 112.50 0.0272175 -307.50 77.50 117.50 0.0641444 -307.50 77.50 122.50 0.196433 -307.50 77.50 127.50 0.557498 -307.50 77.50 132.50 1.26423 -307.50 77.50 137.50 2.31717 -307.50 77.50 142.50 3.68535 -307.50 77.50 147.50 4.86035 -307.50 77.50 152.50 5.59461 -307.50 77.50 157.50 5.36618 -307.50 77.50 162.50 4.2555 -307.50 77.50 167.50 2.72246 -307.50 77.50 172.50 1.28309 -307.50 77.50 177.50 0.606695 -307.50 77.50 182.50 0.252721 -307.50 77.50 187.50 0.118702 -307.50 77.50 192.50 0.0536867 -307.50 77.50 197.50 0.0269368 -307.50 77.50 202.50 0.0272175 -307.50 77.50 207.50 0.0641444 -307.50 77.50 212.50 0.196433 -307.50 77.50 217.50 0.557497 -307.50 77.50 222.50 1.26423 -307.50 77.50 227.50 2.31717 -307.50 77.50 232.50 3.68535 -307.50 77.50 237.50 4.86035 -307.50 77.50 242.50 5.59461 -307.50 77.50 247.50 5.36618 -307.50 77.50 252.50 4.2555 -307.50 77.50 257.50 2.72245 -307.50 77.50 262.50 1.28309 -307.50 77.50 267.50 0.606694 -307.50 77.50 272.50 0.252721 -307.50 77.50 277.50 0.118701 -307.50 77.50 282.50 0.0536868 -307.50 77.50 287.50 0.0269368 -307.50 77.50 292.50 0.0272175 -307.50 77.50 297.50 0.0641443 -307.50 77.50 302.50 0.196433 -307.50 77.50 307.50 0.557496 -307.50 77.50 312.50 1.26423 -307.50 77.50 317.50 2.31717 -307.50 77.50 322.50 3.68535 -307.50 77.50 327.50 4.86035 -307.50 77.50 332.50 5.59461 -307.50 77.50 337.50 5.36618 -307.50 77.50 342.50 4.2555 -307.50 77.50 347.50 2.72246 -307.50 77.50 352.50 1.28309 -307.50 77.50 357.50 0.606696 -307.50 82.50 2.50 0.202441 -307.50 82.50 7.50 0.0987703 -307.50 82.50 12.50 0.0498725 -307.50 82.50 17.50 0.0523342 -307.50 82.50 22.50 0.102323 -307.50 82.50 27.50 0.234686 -307.50 82.50 32.50 0.542053 -307.50 82.50 37.50 1.19889 -307.50 82.50 42.50 2.26138 -307.50 82.50 47.50 3.42283 -307.50 82.50 52.50 4.55863 -307.50 82.50 57.50 5.44541 -307.50 82.50 62.50 5.63597 -307.50 82.50 67.50 4.98475 -307.50 82.50 72.50 3.63459 -307.50 82.50 77.50 2.22946 -307.50 82.50 82.50 1.16129 -307.50 82.50 87.50 0.501239 -307.50 82.50 92.50 0.202441 -307.50 82.50 97.50 0.0987703 -307.50 82.50 102.50 0.0498725 -307.50 82.50 107.50 0.0523341 -307.50 82.50 112.50 0.102323 -307.50 82.50 117.50 0.234686 -307.50 82.50 122.50 0.542053 -307.50 82.50 127.50 1.19889 -307.50 82.50 132.50 2.26138 -307.50 82.50 137.50 3.42283 -307.50 82.50 142.50 4.55863 -307.50 82.50 147.50 5.44541 -307.50 82.50 152.50 5.63597 -307.50 82.50 157.50 4.98476 -307.50 82.50 162.50 3.63459 -307.50 82.50 167.50 2.22946 -307.50 82.50 172.50 1.1613 -307.50 82.50 177.50 0.50124 -307.50 82.50 182.50 0.202441 -307.50 82.50 187.50 0.0987703 -307.50 82.50 192.50 0.0498725 -307.50 82.50 197.50 0.0523341 -307.50 82.50 202.50 0.102323 -307.50 82.50 207.50 0.234685 -307.50 82.50 212.50 0.542053 -307.50 82.50 217.50 1.19889 -307.50 82.50 222.50 2.26138 -307.50 82.50 227.50 3.42283 -307.50 82.50 232.50 4.55864 -307.50 82.50 237.50 5.44541 -307.50 82.50 242.50 5.63597 -307.50 82.50 247.50 4.98475 -307.50 82.50 252.50 3.63459 -307.50 82.50 257.50 2.22946 -307.50 82.50 262.50 1.16129 -307.50 82.50 267.50 0.501239 -307.50 82.50 272.50 0.202441 -307.50 82.50 277.50 0.0987703 -307.50 82.50 282.50 0.0498725 -307.50 82.50 287.50 0.0523342 -307.50 82.50 292.50 0.102323 -307.50 82.50 297.50 0.234685 -307.50 82.50 302.50 0.542053 -307.50 82.50 307.50 1.19889 -307.50 82.50 312.50 2.26138 -307.50 82.50 317.50 3.42283 -307.50 82.50 322.50 4.55863 -307.50 82.50 327.50 5.44541 -307.50 82.50 332.50 5.63597 -307.50 82.50 337.50 4.98476 -307.50 82.50 342.50 3.6346 -307.50 82.50 347.50 2.22947 -307.50 82.50 352.50 1.1613 -307.50 82.50 357.50 0.50124 -307.50 87.50 2.50 0.118631 -307.50 87.50 7.50 0.0623658 -307.50 87.50 12.50 0.0781171 -307.50 87.50 17.50 0.164997 -307.50 87.50 22.50 0.364803 -307.50 87.50 27.50 0.722631 -307.50 87.50 32.50 1.29429 -307.50 87.50 37.50 2.12006 -307.50 87.50 42.50 3.11613 -307.50 87.50 47.50 4.06204 -307.50 87.50 52.50 4.77797 -307.50 87.50 57.50 5.08434 -307.50 87.50 62.50 4.72231 -307.50 87.50 67.50 3.69477 -307.50 87.50 72.50 2.38726 -307.50 87.50 77.50 1.33035 -307.50 87.50 82.50 0.679188 -307.50 87.50 87.50 0.309785 -307.50 87.50 92.50 0.118631 -307.50 87.50 97.50 0.0623658 -307.50 87.50 102.50 0.0781171 -307.50 87.50 107.50 0.164996 -307.50 87.50 112.50 0.364802 -307.50 87.50 117.50 0.722631 -307.50 87.50 122.50 1.29429 -307.50 87.50 127.50 2.12006 -307.50 87.50 132.50 3.11613 -307.50 87.50 137.50 4.06203 -307.50 87.50 142.50 4.77797 -307.50 87.50 147.50 5.08434 -307.50 87.50 152.50 4.72231 -307.50 87.50 157.50 3.69477 -307.50 87.50 162.50 2.38726 -307.50 87.50 167.50 1.33035 -307.50 87.50 172.50 0.679189 -307.50 87.50 177.50 0.309785 -307.50 87.50 182.50 0.118631 -307.50 87.50 187.50 0.0623658 -307.50 87.50 192.50 0.078117 -307.50 87.50 197.50 0.164996 -307.50 87.50 202.50 0.364802 -307.50 87.50 207.50 0.72263 -307.50 87.50 212.50 1.29429 -307.50 87.50 217.50 2.12006 -307.50 87.50 222.50 3.11613 -307.50 87.50 227.50 4.06204 -307.50 87.50 232.50 4.77797 -307.50 87.50 237.50 5.08434 -307.50 87.50 242.50 4.72231 -307.50 87.50 247.50 3.69477 -307.50 87.50 252.50 2.38726 -307.50 87.50 257.50 1.33035 -307.50 87.50 262.50 0.679187 -307.50 87.50 267.50 0.309784 -307.50 87.50 272.50 0.118631 -307.50 87.50 277.50 0.0623658 -307.50 87.50 282.50 0.0781171 -307.50 87.50 287.50 0.164997 -307.50 87.50 292.50 0.364803 -307.50 87.50 297.50 0.72263 -307.50 87.50 302.50 1.29429 -307.50 87.50 307.50 2.12006 -307.50 87.50 312.50 3.11613 -307.50 87.50 317.50 4.06203 -307.50 87.50 322.50 4.77797 -307.50 87.50 327.50 5.08434 -307.50 87.50 332.50 4.72231 -307.50 87.50 337.50 3.69477 -307.50 87.50 342.50 2.38726 -307.50 87.50 347.50 1.33035 -307.50 87.50 352.50 0.679189 -307.50 87.50 357.50 0.309785 -307.50 92.50 2.50 0.0760385 -307.50 92.50 7.50 0.116068 -307.50 92.50 12.50 0.241648 -307.50 92.50 17.50 0.50776 -307.50 92.50 22.50 1.03943 -307.50 92.50 27.50 1.8542 -307.50 92.50 32.50 2.76305 -307.50 92.50 37.50 3.51916 -307.50 92.50 42.50 3.96992 -307.50 92.50 47.50 4.10838 -307.50 92.50 52.50 3.96992 -307.50 92.50 57.50 3.51916 -307.50 92.50 62.50 2.76305 -307.50 92.50 67.50 1.8542 -307.50 92.50 72.50 1.03943 -307.50 92.50 77.50 0.507759 -307.50 92.50 82.50 0.241647 -307.50 92.50 87.50 0.116068 -307.50 92.50 92.50 0.0760385 -307.50 92.50 97.50 0.116068 -307.50 92.50 102.50 0.241647 -307.50 92.50 107.50 0.507759 -307.50 92.50 112.50 1.03943 -307.50 92.50 117.50 1.8542 -307.50 92.50 122.50 2.76305 -307.50 92.50 127.50 3.51916 -307.50 92.50 132.50 3.96992 -307.50 92.50 137.50 4.10837 -307.50 92.50 142.50 3.96992 -307.50 92.50 147.50 3.51916 -307.50 92.50 152.50 2.76305 -307.50 92.50 157.50 1.8542 -307.50 92.50 162.50 1.03943 -307.50 92.50 167.50 0.507759 -307.50 92.50 172.50 0.241647 -307.50 92.50 177.50 0.116068 -307.50 92.50 182.50 0.0760385 -307.50 92.50 187.50 0.116068 -307.50 92.50 192.50 0.241647 -307.50 92.50 197.50 0.50776 -307.50 92.50 202.50 1.03943 -307.50 92.50 207.50 1.8542 -307.50 92.50 212.50 2.76305 -307.50 92.50 217.50 3.51916 -307.50 92.50 222.50 3.96992 -307.50 92.50 227.50 4.10837 -307.50 92.50 232.50 3.96992 -307.50 92.50 237.50 3.51916 -307.50 92.50 242.50 2.76305 -307.50 92.50 247.50 1.8542 -307.50 92.50 252.50 1.03943 -307.50 92.50 257.50 0.507759 -307.50 92.50 262.50 0.241647 -307.50 92.50 267.50 0.116068 -307.50 92.50 272.50 0.0760385 -307.50 92.50 277.50 0.116068 -307.50 92.50 282.50 0.241647 -307.50 92.50 287.50 0.507759 -307.50 92.50 292.50 1.03943 -307.50 92.50 297.50 1.8542 -307.50 92.50 302.50 2.76305 -307.50 92.50 307.50 3.51916 -307.50 92.50 312.50 3.96992 -307.50 92.50 317.50 4.10838 -307.50 92.50 322.50 3.96992 -307.50 92.50 327.50 3.51916 -307.50 92.50 332.50 2.76305 -307.50 92.50 337.50 1.85421 -307.50 92.50 342.50 1.03943 -307.50 92.50 347.50 0.50776 -307.50 92.50 352.50 0.241648 -307.50 92.50 357.50 0.116068 -307.50 97.50 2.50 0.118631 -307.50 97.50 7.50 0.309785 -307.50 97.50 12.50 0.679188 -307.50 97.50 17.50 1.33035 -307.50 97.50 22.50 2.38726 -307.50 97.50 27.50 3.69477 -307.50 97.50 32.50 4.72231 -307.50 97.50 37.50 5.08434 -307.50 97.50 42.50 4.77797 -307.50 97.50 47.50 4.06203 -307.50 97.50 52.50 3.11613 -307.50 97.50 57.50 2.12006 -307.50 97.50 62.50 1.29429 -307.50 97.50 67.50 0.72263 -307.50 97.50 72.50 0.364802 -307.50 97.50 77.50 0.164996 -307.50 97.50 82.50 0.0781171 -307.50 97.50 87.50 0.0623658 -307.50 97.50 92.50 0.118631 -307.50 97.50 97.50 0.309785 -307.50 97.50 102.50 0.679188 -307.50 97.50 107.50 1.33035 -307.50 97.50 112.50 2.38726 -307.50 97.50 117.50 3.69477 -307.50 97.50 122.50 4.72231 -307.50 97.50 127.50 5.08434 -307.50 97.50 132.50 4.77797 -307.50 97.50 137.50 4.06204 -307.50 97.50 142.50 3.11613 -307.50 97.50 147.50 2.12006 -307.50 97.50 152.50 1.29429 -307.50 97.50 157.50 0.722631 -307.50 97.50 162.50 0.364803 -307.50 97.50 167.50 0.164997 -307.50 97.50 172.50 0.0781171 -307.50 97.50 177.50 0.0623658 -307.50 97.50 182.50 0.118631 -307.50 97.50 187.50 0.309785 -307.50 97.50 192.50 0.679188 -307.50 97.50 197.50 1.33035 -307.50 97.50 202.50 2.38726 -307.50 97.50 207.50 3.69477 -307.50 97.50 212.50 4.72231 -307.50 97.50 217.50 5.08434 -307.50 97.50 222.50 4.77797 -307.50 97.50 227.50 4.06204 -307.50 97.50 232.50 3.11613 -307.50 97.50 237.50 2.12006 -307.50 97.50 242.50 1.29429 -307.50 97.50 247.50 0.72263 -307.50 97.50 252.50 0.364802 -307.50 97.50 257.50 0.164996 -307.50 97.50 262.50 0.078117 -307.50 97.50 267.50 0.0623658 -307.50 97.50 272.50 0.118631 -307.50 97.50 277.50 0.309785 -307.50 97.50 282.50 0.679188 -307.50 97.50 287.50 1.33035 -307.50 97.50 292.50 2.38726 -307.50 97.50 297.50 3.69477 -307.50 97.50 302.50 4.72231 -307.50 97.50 307.50 5.08434 -307.50 97.50 312.50 4.77797 -307.50 97.50 317.50 4.06203 -307.50 97.50 322.50 3.11613 -307.50 97.50 327.50 2.12006 -307.50 97.50 332.50 1.2943 -307.50 97.50 337.50 0.722631 -307.50 97.50 342.50 0.364803 -307.50 97.50 347.50 0.164997 -307.50 97.50 352.50 0.0781172 -307.50 97.50 357.50 0.0623658 -307.50 102.50 2.50 0.202441 -307.50 102.50 7.50 0.501239 -307.50 102.50 12.50 1.1613 -307.50 102.50 17.50 2.22946 -307.50 102.50 22.50 3.63459 -307.50 102.50 27.50 4.98475 -307.50 102.50 32.50 5.63597 -307.50 102.50 37.50 5.4454 -307.50 102.50 42.50 4.55863 -307.50 102.50 47.50 3.42283 -307.50 102.50 52.50 2.26138 -307.50 102.50 57.50 1.19889 -307.50 102.50 62.50 0.542053 -307.50 102.50 67.50 0.234685 -307.50 102.50 72.50 0.102323 -307.50 102.50 77.50 0.0523342 -307.50 102.50 82.50 0.0498726 -307.50 102.50 87.50 0.0987703 -307.50 102.50 92.50 0.202441 -307.50 102.50 97.50 0.501239 -307.50 102.50 102.50 1.1613 -307.50 102.50 107.50 2.22946 -307.50 102.50 112.50 3.63459 -307.50 102.50 117.50 4.98475 -307.50 102.50 122.50 5.63597 -307.50 102.50 127.50 5.44541 -307.50 102.50 132.50 4.55863 -307.50 102.50 137.50 3.42283 -307.50 102.50 142.50 2.26138 -307.50 102.50 147.50 1.19889 -307.50 102.50 152.50 0.542053 -307.50 102.50 157.50 0.234686 -307.50 102.50 162.50 0.102323 -307.50 102.50 167.50 0.0523342 -307.50 102.50 172.50 0.0498725 -307.50 102.50 177.50 0.0987703 -307.50 102.50 182.50 0.202441 -307.50 102.50 187.50 0.501239 -307.50 102.50 192.50 1.1613 -307.50 102.50 197.50 2.22946 -307.50 102.50 202.50 3.63459 -307.50 102.50 207.50 4.98475 -307.50 102.50 212.50 5.63597 -307.50 102.50 217.50 5.44541 -307.50 102.50 222.50 4.55863 -307.50 102.50 227.50 3.42283 -307.50 102.50 232.50 2.26138 -307.50 102.50 237.50 1.19889 -307.50 102.50 242.50 0.542052 -307.50 102.50 247.50 0.234685 -307.50 102.50 252.50 0.102323 -307.50 102.50 257.50 0.0523341 -307.50 102.50 262.50 0.0498726 -307.50 102.50 267.50 0.0987704 -307.50 102.50 272.50 0.202441 -307.50 102.50 277.50 0.501239 -307.50 102.50 282.50 1.16129 -307.50 102.50 287.50 2.22946 -307.50 102.50 292.50 3.63459 -307.50 102.50 297.50 4.98475 -307.50 102.50 302.50 5.63597 -307.50 102.50 307.50 5.44541 -307.50 102.50 312.50 4.55863 -307.50 102.50 317.50 3.42283 -307.50 102.50 322.50 2.26138 -307.50 102.50 327.50 1.19889 -307.50 102.50 332.50 0.542054 -307.50 102.50 337.50 0.234686 -307.50 102.50 342.50 0.102323 -307.50 102.50 347.50 0.0523342 -307.50 102.50 352.50 0.0498725 -307.50 102.50 357.50 0.0987701 -307.50 107.50 2.50 0.252721 -307.50 107.50 7.50 0.606695 -307.50 107.50 12.50 1.28309 -307.50 107.50 17.50 2.72246 -307.50 107.50 22.50 4.2555 -307.50 107.50 27.50 5.36618 -307.50 107.50 32.50 5.59461 -307.50 107.50 37.50 4.86034 -307.50 107.50 42.50 3.68535 -307.50 107.50 47.50 2.31717 -307.50 107.50 52.50 1.26423 -307.50 107.50 57.50 0.557497 -307.50 107.50 62.50 0.196432 -307.50 107.50 67.50 0.0641443 -307.50 107.50 72.50 0.0272175 -307.50 107.50 77.50 0.0269368 -307.50 107.50 82.50 0.0536868 -307.50 107.50 87.50 0.118701 -307.50 107.50 92.50 0.252721 -307.50 107.50 97.50 0.606695 -307.50 107.50 102.50 1.28309 -307.50 107.50 107.50 2.72246 -307.50 107.50 112.50 4.2555 -307.50 107.50 117.50 5.36618 -307.50 107.50 122.50 5.59461 -307.50 107.50 127.50 4.86034 -307.50 107.50 132.50 3.68535 -307.50 107.50 137.50 2.31717 -307.50 107.50 142.50 1.26423 -307.50 107.50 147.50 0.557497 -307.50 107.50 152.50 0.196433 -307.50 107.50 157.50 0.0641444 -307.50 107.50 162.50 0.0272175 -307.50 107.50 167.50 0.0269368 -307.50 107.50 172.50 0.0536867 -307.50 107.50 177.50 0.118701 -307.50 107.50 182.50 0.252721 -307.50 107.50 187.50 0.606695 -307.50 107.50 192.50 1.28309 -307.50 107.50 197.50 2.72246 -307.50 107.50 202.50 4.2555 -307.50 107.50 207.50 5.36618 -307.50 107.50 212.50 5.59461 -307.50 107.50 217.50 4.86035 -307.50 107.50 222.50 3.68535 -307.50 107.50 227.50 2.31717 -307.50 107.50 232.50 1.26423 -307.50 107.50 237.50 0.557496 -307.50 107.50 242.50 0.196432 -307.50 107.50 247.50 0.0641442 -307.50 107.50 252.50 0.0272175 -307.50 107.50 257.50 0.0269368 -307.50 107.50 262.50 0.0536868 -307.50 107.50 267.50 0.118702 -307.50 107.50 272.50 0.252721 -307.50 107.50 277.50 0.606695 -307.50 107.50 282.50 1.28309 -307.50 107.50 287.50 2.72246 -307.50 107.50 292.50 4.2555 -307.50 107.50 297.50 5.36618 -307.50 107.50 302.50 5.59461 -307.50 107.50 307.50 4.86035 -307.50 107.50 312.50 3.68535 -307.50 107.50 317.50 2.31717 -307.50 107.50 322.50 1.26423 -307.50 107.50 327.50 0.557498 -307.50 107.50 332.50 0.196433 -307.50 107.50 337.50 0.0641445 -307.50 107.50 342.50 0.0272175 -307.50 107.50 347.50 0.0269368 -307.50 107.50 352.50 0.0536867 -307.50 107.50 357.50 0.118701 -307.50 112.50 2.50 0.273721 -307.50 112.50 7.50 0.62141 -307.50 112.50 12.50 1.31791 -307.50 112.50 17.50 2.50652 -307.50 112.50 22.50 3.93032 -307.50 112.50 27.50 4.57329 -307.50 112.50 32.50 4.42529 -307.50 112.50 37.50 3.53504 -307.50 112.50 42.50 2.25116 -307.50 112.50 47.50 1.18521 -307.50 112.50 52.50 0.544366 -307.50 112.50 57.50 0.211772 -307.50 112.50 62.50 0.0645033 -307.50 112.50 67.50 0.0168086 -307.50 112.50 72.50 0.00840856 -307.50 112.50 77.50 0.0183021 -307.50 112.50 82.50 0.0579617 -307.50 112.50 87.50 0.10637 -307.50 112.50 92.50 0.273722 -307.50 112.50 97.50 0.62141 -307.50 112.50 102.50 1.31791 -307.50 112.50 107.50 2.50653 -307.50 112.50 112.50 3.93033 -307.50 112.50 117.50 4.57329 -307.50 112.50 122.50 4.42529 -307.50 112.50 127.50 3.53504 -307.50 112.50 132.50 2.25116 -307.50 112.50 137.50 1.18521 -307.50 112.50 142.50 0.544366 -307.50 112.50 147.50 0.211773 -307.50 112.50 152.50 0.0645034 -307.50 112.50 157.50 0.0168086 -307.50 112.50 162.50 0.00840856 -307.50 112.50 167.50 0.0183021 -307.50 112.50 172.50 0.0579616 -307.50 112.50 177.50 0.10637 -307.50 112.50 182.50 0.273722 -307.50 112.50 187.50 0.62141 -307.50 112.50 192.50 1.31791 -307.50 112.50 197.50 2.50653 -307.50 112.50 202.50 3.93032 -307.50 112.50 207.50 4.5733 -307.50 112.50 212.50 4.42529 -307.50 112.50 217.50 3.53505 -307.50 112.50 222.50 2.25116 -307.50 112.50 227.50 1.18522 -307.50 112.50 232.50 0.544365 -307.50 112.50 237.50 0.211772 -307.50 112.50 242.50 0.0645032 -307.50 112.50 247.50 0.0168086 -307.50 112.50 252.50 0.00840855 -307.50 112.50 257.50 0.0183021 -307.50 112.50 262.50 0.0579617 -307.50 112.50 267.50 0.10637 -307.50 112.50 272.50 0.273721 -307.50 112.50 277.50 0.62141 -307.50 112.50 282.50 1.31791 -307.50 112.50 287.50 2.50652 -307.50 112.50 292.50 3.93032 -307.50 112.50 297.50 4.5733 -307.50 112.50 302.50 4.42529 -307.50 112.50 307.50 3.53505 -307.50 112.50 312.50 2.25116 -307.50 112.50 317.50 1.18522 -307.50 112.50 322.50 0.544367 -307.50 112.50 327.50 0.211773 -307.50 112.50 332.50 0.0645036 -307.50 112.50 337.50 0.0168087 -307.50 112.50 342.50 0.00840856 -307.50 112.50 347.50 0.018302 -307.50 112.50 352.50 0.0579614 -307.50 112.50 357.50 0.10637 -307.50 117.50 2.50 0.315204 -307.50 117.50 7.50 0.659434 -307.50 117.50 12.50 1.19472 -307.50 117.50 17.50 1.93798 -307.50 117.50 22.50 2.75563 -307.50 117.50 27.50 3.04831 -307.50 117.50 32.50 2.62957 -307.50 117.50 37.50 1.8407 -307.50 117.50 42.50 1.04715 -307.50 117.50 47.50 0.526912 -307.50 117.50 52.50 0.249995 -307.50 117.50 57.50 0.099897 -307.50 117.50 62.50 0.0320944 -307.50 117.50 67.50 0.0142209 -307.50 117.50 72.50 0.0146423 -307.50 117.50 77.50 0.0294464 -307.50 117.50 82.50 0.0651829 -307.50 117.50 87.50 0.115517 -307.50 117.50 92.50 0.315204 -307.50 117.50 97.50 0.659434 -307.50 117.50 102.50 1.19472 -307.50 117.50 107.50 1.93798 -307.50 117.50 112.50 2.75563 -307.50 117.50 117.50 3.04831 -307.50 117.50 122.50 2.62957 -307.50 117.50 127.50 1.8407 -307.50 117.50 132.50 1.04715 -307.50 117.50 137.50 0.526912 -307.50 117.50 142.50 0.249995 -307.50 117.50 147.50 0.099897 -307.50 117.50 152.50 0.0320944 -307.50 117.50 157.50 0.0142209 -307.50 117.50 162.50 0.0146423 -307.50 117.50 167.50 0.0294463 -307.50 117.50 172.50 0.0651829 -307.50 117.50 177.50 0.115517 -307.50 117.50 182.50 0.315204 -307.50 117.50 187.50 0.659434 -307.50 117.50 192.50 1.19472 -307.50 117.50 197.50 1.93798 -307.50 117.50 202.50 2.75563 -307.50 117.50 207.50 3.04831 -307.50 117.50 212.50 2.62957 -307.50 117.50 217.50 1.8407 -307.50 117.50 222.50 1.04715 -307.50 117.50 227.50 0.526913 -307.50 117.50 232.50 0.249995 -307.50 117.50 237.50 0.0998969 -307.50 117.50 242.50 0.0320944 -307.50 117.50 247.50 0.0142209 -307.50 117.50 252.50 0.0146423 -307.50 117.50 257.50 0.0294464 -307.50 117.50 262.50 0.0651828 -307.50 117.50 267.50 0.115517 -307.50 117.50 272.50 0.315204 -307.50 117.50 277.50 0.659433 -307.50 117.50 282.50 1.19472 -307.50 117.50 287.50 1.93798 -307.50 117.50 292.50 2.75563 -307.50 117.50 297.50 3.04831 -307.50 117.50 302.50 2.62957 -307.50 117.50 307.50 1.8407 -307.50 117.50 312.50 1.04715 -307.50 117.50 317.50 0.526913 -307.50 117.50 322.50 0.249995 -307.50 117.50 327.50 0.0998973 -307.50 117.50 332.50 0.0320945 -307.50 117.50 337.50 0.0142209 -307.50 117.50 342.50 0.0146423 -307.50 117.50 347.50 0.0294463 -307.50 117.50 352.50 0.0651827 -307.50 117.50 357.50 0.115517 -307.50 122.50 2.50 0.348473 -307.50 122.50 7.50 0.613992 -307.50 122.50 12.50 0.931859 -307.50 122.50 17.50 1.25066 -307.50 122.50 22.50 1.48491 -307.50 122.50 27.50 1.48961 -307.50 122.50 32.50 1.1483 -307.50 122.50 37.50 0.700882 -307.50 122.50 42.50 0.343468 -307.50 122.50 47.50 0.181719 -307.50 122.50 52.50 0.107718 -307.50 122.50 57.50 0.0763319 -307.50 122.50 62.50 0.0728861 -307.50 122.50 67.50 0.0657577 -307.50 122.50 72.50 0.0824292 -307.50 122.50 77.50 0.106064 -307.50 122.50 82.50 0.142713 -307.50 122.50 87.50 0.162287 -307.50 122.50 92.50 0.348473 -307.50 122.50 97.50 0.613993 -307.50 122.50 102.50 0.93186 -307.50 122.50 107.50 1.25066 -307.50 122.50 112.50 1.48491 -307.50 122.50 117.50 1.48961 -307.50 122.50 122.50 1.1483 -307.50 122.50 127.50 0.700881 -307.50 122.50 132.50 0.343468 -307.50 122.50 137.50 0.181719 -307.50 122.50 142.50 0.107718 -307.50 122.50 147.50 0.0763319 -307.50 122.50 152.50 0.0728861 -307.50 122.50 157.50 0.0657577 -307.50 122.50 162.50 0.0824291 -307.50 122.50 167.50 0.106065 -307.50 122.50 172.50 0.142713 -307.50 122.50 177.50 0.162287 -307.50 122.50 182.50 0.348473 -307.50 122.50 187.50 0.613993 -307.50 122.50 192.50 0.93186 -307.50 122.50 197.50 1.25066 -307.50 122.50 202.50 1.48491 -307.50 122.50 207.50 1.48961 -307.50 122.50 212.50 1.1483 -307.50 122.50 217.50 0.700882 -307.50 122.50 222.50 0.343468 -307.50 122.50 227.50 0.181719 -307.50 122.50 232.50 0.107718 -307.50 122.50 237.50 0.0763319 -307.50 122.50 242.50 0.0728862 -307.50 122.50 247.50 0.0657578 -307.50 122.50 252.50 0.0824292 -307.50 122.50 257.50 0.106064 -307.50 122.50 262.50 0.142713 -307.50 122.50 267.50 0.162287 -307.50 122.50 272.50 0.348473 -307.50 122.50 277.50 0.613992 -307.50 122.50 282.50 0.931859 -307.50 122.50 287.50 1.25066 -307.50 122.50 292.50 1.48491 -307.50 122.50 297.50 1.48961 -307.50 122.50 302.50 1.1483 -307.50 122.50 307.50 0.700883 -307.50 122.50 312.50 0.343468 -307.50 122.50 317.50 0.181719 -307.50 122.50 322.50 0.107718 -307.50 122.50 327.50 0.076332 -307.50 122.50 332.50 0.0728861 -307.50 122.50 337.50 0.0657578 -307.50 122.50 342.50 0.0824291 -307.50 122.50 347.50 0.106065 -307.50 122.50 352.50 0.142713 -307.50 122.50 357.50 0.162287 -307.50 127.50 2.50 0.328531 -307.50 127.50 7.50 0.428518 -307.50 127.50 12.50 0.570666 -307.50 127.50 17.50 0.672168 -307.50 127.50 22.50 0.649892 -307.50 127.50 27.50 0.534144 -307.50 127.50 32.50 0.371836 -307.50 127.50 37.50 0.189034 -307.50 127.50 42.50 0.0843452 -307.50 127.50 47.50 0.0583608 -307.50 127.50 52.50 0.0769568 -307.50 127.50 57.50 0.152801 -307.50 127.50 62.50 0.233769 -307.50 127.50 67.50 0.278107 -307.50 127.50 72.50 0.358515 -307.50 127.50 77.50 0.365703 -307.50 127.50 82.50 0.316921 -307.50 127.50 87.50 0.246084 -307.50 127.50 92.50 0.328531 -307.50 127.50 97.50 0.428519 -307.50 127.50 102.50 0.570667 -307.50 127.50 107.50 0.672169 -307.50 127.50 112.50 0.649893 -307.50 127.50 117.50 0.534144 -307.50 127.50 122.50 0.371835 -307.50 127.50 127.50 0.189034 -307.50 127.50 132.50 0.0843451 -307.50 127.50 137.50 0.0583608 -307.50 127.50 142.50 0.0769568 -307.50 127.50 147.50 0.152801 -307.50 127.50 152.50 0.233769 -307.50 127.50 157.50 0.278107 -307.50 127.50 162.50 0.358515 -307.50 127.50 167.50 0.365703 -307.50 127.50 172.50 0.316921 -307.50 127.50 177.50 0.246085 -307.50 127.50 182.50 0.328531 -307.50 127.50 187.50 0.428519 -307.50 127.50 192.50 0.570667 -307.50 127.50 197.50 0.672169 -307.50 127.50 202.50 0.649893 -307.50 127.50 207.50 0.534145 -307.50 127.50 212.50 0.371836 -307.50 127.50 217.50 0.189034 -307.50 127.50 222.50 0.0843452 -307.50 127.50 227.50 0.0583608 -307.50 127.50 232.50 0.0769569 -307.50 127.50 237.50 0.152801 -307.50 127.50 242.50 0.233769 -307.50 127.50 247.50 0.278107 -307.50 127.50 252.50 0.358515 -307.50 127.50 257.50 0.365702 -307.50 127.50 262.50 0.316921 -307.50 127.50 267.50 0.246084 -307.50 127.50 272.50 0.328531 -307.50 127.50 277.50 0.428519 -307.50 127.50 282.50 0.570667 -307.50 127.50 287.50 0.672169 -307.50 127.50 292.50 0.649893 -307.50 127.50 297.50 0.534145 -307.50 127.50 302.50 0.371836 -307.50 127.50 307.50 0.189034 -307.50 127.50 312.50 0.0843452 -307.50 127.50 317.50 0.0583608 -307.50 127.50 322.50 0.0769567 -307.50 127.50 327.50 0.152801 -307.50 127.50 332.50 0.233769 -307.50 127.50 337.50 0.278106 -307.50 127.50 342.50 0.358515 -307.50 127.50 347.50 0.365702 -307.50 127.50 352.50 0.316922 -307.50 127.50 357.50 0.246085 -307.50 132.50 2.50 0.288877 -307.50 132.50 7.50 0.233442 -307.50 132.50 12.50 0.257683 -307.50 132.50 17.50 0.280289 -307.50 132.50 22.50 0.252126 -307.50 132.50 27.50 0.158508 -307.50 132.50 32.50 0.0877077 -307.50 132.50 37.50 0.0432187 -307.50 132.50 42.50 0.0297947 -307.50 132.50 47.50 0.0654377 -307.50 132.50 52.50 0.19527 -307.50 132.50 57.50 0.436657 -307.50 132.50 62.50 0.679011 -307.50 132.50 67.50 0.953545 -307.50 132.50 72.50 1.07286 -307.50 132.50 77.50 0.891919 -307.50 132.50 82.50 0.60088 -307.50 132.50 87.50 0.373191 -307.50 132.50 92.50 0.288878 -307.50 132.50 97.50 0.233442 -307.50 132.50 102.50 0.257683 -307.50 132.50 107.50 0.280289 -307.50 132.50 112.50 0.252126 -307.50 132.50 117.50 0.158508 -307.50 132.50 122.50 0.0877076 -307.50 132.50 127.50 0.0432187 -307.50 132.50 132.50 0.0297947 -307.50 132.50 137.50 0.0654376 -307.50 132.50 142.50 0.195269 -307.50 132.50 147.50 0.436657 -307.50 132.50 152.50 0.67901 -307.50 132.50 157.50 0.953544 -307.50 132.50 162.50 1.07286 -307.50 132.50 167.50 0.891919 -307.50 132.50 172.50 0.60088 -307.50 132.50 177.50 0.373191 -307.50 132.50 182.50 0.288878 -307.50 132.50 187.50 0.233442 -307.50 132.50 192.50 0.257683 -307.50 132.50 197.50 0.280289 -307.50 132.50 202.50 0.252126 -307.50 132.50 207.50 0.158508 -307.50 132.50 212.50 0.0877077 -307.50 132.50 217.50 0.0432187 -307.50 132.50 222.50 0.0297947 -307.50 132.50 227.50 0.0654375 -307.50 132.50 232.50 0.19527 -307.50 132.50 237.50 0.436657 -307.50 132.50 242.50 0.679011 -307.50 132.50 247.50 0.953545 -307.50 132.50 252.50 1.07286 -307.50 132.50 257.50 0.891918 -307.50 132.50 262.50 0.60088 -307.50 132.50 267.50 0.373191 -307.50 132.50 272.50 0.288877 -307.50 132.50 277.50 0.233442 -307.50 132.50 282.50 0.257683 -307.50 132.50 287.50 0.280289 -307.50 132.50 292.50 0.252126 -307.50 132.50 297.50 0.158508 -307.50 132.50 302.50 0.0877078 -307.50 132.50 307.50 0.0432188 -307.50 132.50 312.50 0.0297947 -307.50 132.50 317.50 0.0654375 -307.50 132.50 322.50 0.195269 -307.50 132.50 327.50 0.436657 -307.50 132.50 332.50 0.67901 -307.50 132.50 337.50 0.953544 -307.50 132.50 342.50 1.07286 -307.50 132.50 347.50 0.89192 -307.50 132.50 352.50 0.600881 -307.50 132.50 357.50 0.373191 -307.50 137.50 2.50 0.27274 -307.50 137.50 7.50 0.126127 -307.50 137.50 12.50 0.0916224 -307.50 137.50 17.50 0.0898222 -307.50 137.50 22.50 0.0771197 -307.50 137.50 27.50 0.043737 -307.50 137.50 32.50 0.0210071 -307.50 137.50 37.50 0.0272759 -307.50 137.50 42.50 0.0595341 -307.50 137.50 47.50 0.210639 -307.50 137.50 52.50 0.52032 -307.50 137.50 57.50 1.09133 -307.50 137.50 62.50 1.79439 -307.50 137.50 67.50 2.36679 -307.50 137.50 72.50 2.35483 -307.50 137.50 77.50 1.72448 -307.50 137.50 82.50 1.02107 -307.50 137.50 87.50 0.542744 -307.50 137.50 92.50 0.27274 -307.50 137.50 97.50 0.126127 -307.50 137.50 102.50 0.0916225 -307.50 137.50 107.50 0.0898222 -307.50 137.50 112.50 0.0771197 -307.50 137.50 117.50 0.043737 -307.50 137.50 122.50 0.0210071 -307.50 137.50 127.50 0.0272759 -307.50 137.50 132.50 0.0595341 -307.50 137.50 137.50 0.210639 -307.50 137.50 142.50 0.52032 -307.50 137.50 147.50 1.09133 -307.50 137.50 152.50 1.79439 -307.50 137.50 157.50 2.36679 -307.50 137.50 162.50 2.35483 -307.50 137.50 167.50 1.72448 -307.50 137.50 172.50 1.02107 -307.50 137.50 177.50 0.542744 -307.50 137.50 182.50 0.27274 -307.50 137.50 187.50 0.126127 -307.50 137.50 192.50 0.0916225 -307.50 137.50 197.50 0.0898223 -307.50 137.50 202.50 0.0771197 -307.50 137.50 207.50 0.0437371 -307.50 137.50 212.50 0.0210071 -307.50 137.50 217.50 0.0272758 -307.50 137.50 222.50 0.0595339 -307.50 137.50 227.50 0.210639 -307.50 137.50 232.50 0.520321 -307.50 137.50 237.50 1.09133 -307.50 137.50 242.50 1.79439 -307.50 137.50 247.50 2.36679 -307.50 137.50 252.50 2.35483 -307.50 137.50 257.50 1.72448 -307.50 137.50 262.50 1.02107 -307.50 137.50 267.50 0.542744 -307.50 137.50 272.50 0.27274 -307.50 137.50 277.50 0.126127 -307.50 137.50 282.50 0.0916224 -307.50 137.50 287.50 0.0898223 -307.50 137.50 292.50 0.0771197 -307.50 137.50 297.50 0.0437371 -307.50 137.50 302.50 0.0210071 -307.50 137.50 307.50 0.0272758 -307.50 137.50 312.50 0.059534 -307.50 137.50 317.50 0.210638 -307.50 137.50 322.50 0.520319 -307.50 137.50 327.50 1.09133 -307.50 137.50 332.50 1.79439 -307.50 137.50 337.50 2.36679 -307.50 137.50 342.50 2.35483 -307.50 137.50 347.50 1.72448 -307.50 137.50 352.50 1.02108 -307.50 137.50 357.50 0.542745 -307.50 142.50 2.50 0.288877 -307.50 142.50 7.50 0.0891297 -307.50 142.50 12.50 0.031931 -307.50 142.50 17.50 0.0216585 -307.50 142.50 22.50 0.018284 -307.50 142.50 27.50 0.01989 -307.50 142.50 32.50 0.036977 -307.50 142.50 37.50 0.0901081 -307.50 142.50 42.50 0.205942 -307.50 142.50 47.50 0.474549 -307.50 142.50 52.50 1.09676 -307.50 142.50 57.50 2.13512 -307.50 142.50 62.50 3.38513 -307.50 142.50 67.50 4.12697 -307.50 142.50 72.50 3.89943 -307.50 142.50 77.50 2.78949 -307.50 142.50 82.50 1.5684 -307.50 142.50 87.50 0.741632 -307.50 142.50 92.50 0.288877 -307.50 142.50 97.50 0.0891297 -307.50 142.50 102.50 0.031931 -307.50 142.50 107.50 0.0216585 -307.50 142.50 112.50 0.018284 -307.50 142.50 117.50 0.01989 -307.50 142.50 122.50 0.036977 -307.50 142.50 127.50 0.0901082 -307.50 142.50 132.50 0.205942 -307.50 142.50 137.50 0.474548 -307.50 142.50 142.50 1.09675 -307.50 142.50 147.50 2.13512 -307.50 142.50 152.50 3.38513 -307.50 142.50 157.50 4.12697 -307.50 142.50 162.50 3.89943 -307.50 142.50 167.50 2.78949 -307.50 142.50 172.50 1.5684 -307.50 142.50 177.50 0.741633 -307.50 142.50 182.50 0.288877 -307.50 142.50 187.50 0.0891297 -307.50 142.50 192.50 0.0319311 -307.50 142.50 197.50 0.0216585 -307.50 142.50 202.50 0.018284 -307.50 142.50 207.50 0.01989 -307.50 142.50 212.50 0.036977 -307.50 142.50 217.50 0.0901081 -307.50 142.50 222.50 0.205941 -307.50 142.50 227.50 0.474548 -307.50 142.50 232.50 1.09676 -307.50 142.50 237.50 2.13512 -307.50 142.50 242.50 3.38513 -307.50 142.50 247.50 4.12697 -307.50 142.50 252.50 3.89943 -307.50 142.50 257.50 2.78949 -307.50 142.50 262.50 1.56839 -307.50 142.50 267.50 0.741632 -307.50 142.50 272.50 0.288877 -307.50 142.50 277.50 0.0891297 -307.50 142.50 282.50 0.031931 -307.50 142.50 287.50 0.0216585 -307.50 142.50 292.50 0.0182841 -307.50 142.50 297.50 0.0198901 -307.50 142.50 302.50 0.036977 -307.50 142.50 307.50 0.0901081 -307.50 142.50 312.50 0.205941 -307.50 142.50 317.50 0.474548 -307.50 142.50 322.50 1.09675 -307.50 142.50 327.50 2.13512 -307.50 142.50 332.50 3.38513 -307.50 142.50 337.50 4.12697 -307.50 142.50 342.50 3.89943 -307.50 142.50 347.50 2.78949 -307.50 142.50 352.50 1.5684 -307.50 142.50 357.50 0.741633 -307.50 147.50 2.50 0.328531 -307.50 147.50 7.50 0.0866605 -307.50 147.50 12.50 0.0233344 -307.50 147.50 17.50 0.0111927 -307.50 147.50 22.50 0.016875 -307.50 147.50 27.50 0.0419013 -307.50 147.50 32.50 0.117388 -307.50 147.50 37.50 0.26531 -307.50 147.50 42.50 0.506261 -307.50 147.50 47.50 0.924942 -307.50 147.50 52.50 1.76091 -307.50 147.50 57.50 3.13348 -307.50 147.50 62.50 4.60736 -307.50 147.50 67.50 5.49299 -307.50 147.50 72.50 5.18172 -307.50 147.50 77.50 3.78194 -307.50 147.50 82.50 2.10274 -307.50 147.50 87.50 0.92047 -307.50 147.50 92.50 0.328531 -307.50 147.50 97.50 0.0866605 -307.50 147.50 102.50 0.0233344 -307.50 147.50 107.50 0.0111927 -307.50 147.50 112.50 0.016875 -307.50 147.50 117.50 0.0419013 -307.50 147.50 122.50 0.117388 -307.50 147.50 127.50 0.26531 -307.50 147.50 132.50 0.506261 -307.50 147.50 137.50 0.924941 -307.50 147.50 142.50 1.76091 -307.50 147.50 147.50 3.13348 -307.50 147.50 152.50 4.60736 -307.50 147.50 157.50 5.49299 -307.50 147.50 162.50 5.18173 -307.50 147.50 167.50 3.78194 -307.50 147.50 172.50 2.10274 -307.50 147.50 177.50 0.920471 -307.50 147.50 182.50 0.328531 -307.50 147.50 187.50 0.0866604 -307.50 147.50 192.50 0.0233343 -307.50 147.50 197.50 0.0111927 -307.50 147.50 202.50 0.016875 -307.50 147.50 207.50 0.0419013 -307.50 147.50 212.50 0.117388 -307.50 147.50 217.50 0.265309 -307.50 147.50 222.50 0.506261 -307.50 147.50 227.50 0.924941 -307.50 147.50 232.50 1.76091 -307.50 147.50 237.50 3.13348 -307.50 147.50 242.50 4.60736 -307.50 147.50 247.50 5.49299 -307.50 147.50 252.50 5.18172 -307.50 147.50 257.50 3.78194 -307.50 147.50 262.50 2.10273 -307.50 147.50 267.50 0.920469 -307.50 147.50 272.50 0.328531 -307.50 147.50 277.50 0.0866605 -307.50 147.50 282.50 0.0233344 -307.50 147.50 287.50 0.0111927 -307.50 147.50 292.50 0.016875 -307.50 147.50 297.50 0.0419013 -307.50 147.50 302.50 0.117388 -307.50 147.50 307.50 0.265309 -307.50 147.50 312.50 0.506261 -307.50 147.50 317.50 0.924941 -307.50 147.50 322.50 1.76091 -307.50 147.50 327.50 3.13348 -307.50 147.50 332.50 4.60736 -307.50 147.50 337.50 5.49299 -307.50 147.50 342.50 5.18173 -307.50 147.50 347.50 3.78195 -307.50 147.50 352.50 2.10274 -307.50 147.50 357.50 0.920473 -307.50 152.50 2.50 0.348473 -307.50 152.50 7.50 0.0903384 -307.50 152.50 12.50 0.0308658 -307.50 152.50 17.50 0.0203815 -307.50 152.50 22.50 0.0446588 -307.50 152.50 27.50 0.11048 -307.50 152.50 32.50 0.275267 -307.50 152.50 37.50 0.559573 -307.50 152.50 42.50 0.907054 -307.50 152.50 47.50 1.40564 -307.50 152.50 52.50 2.24383 -307.50 152.50 57.50 3.47637 -307.50 152.50 62.50 4.84183 -307.50 152.50 67.50 5.76945 -307.50 152.50 72.50 5.39525 -307.50 152.50 77.50 4.01869 -307.50 152.50 82.50 2.2405 -307.50 152.50 87.50 0.967029 -307.50 152.50 92.50 0.348473 -307.50 152.50 97.50 0.0903383 -307.50 152.50 102.50 0.0308657 -307.50 152.50 107.50 0.0203815 -307.50 152.50 112.50 0.0446587 -307.50 152.50 117.50 0.11048 -307.50 152.50 122.50 0.275267 -307.50 152.50 127.50 0.559573 -307.50 152.50 132.50 0.907054 -307.50 152.50 137.50 1.40564 -307.50 152.50 142.50 2.24383 -307.50 152.50 147.50 3.47637 -307.50 152.50 152.50 4.84183 -307.50 152.50 157.50 5.76945 -307.50 152.50 162.50 5.39524 -307.50 152.50 167.50 4.01869 -307.50 152.50 172.50 2.2405 -307.50 152.50 177.50 0.967029 -307.50 152.50 182.50 0.348473 -307.50 152.50 187.50 0.0903382 -307.50 152.50 192.50 0.0308657 -307.50 152.50 197.50 0.0203815 -307.50 152.50 202.50 0.0446587 -307.50 152.50 207.50 0.11048 -307.50 152.50 212.50 0.275267 -307.50 152.50 217.50 0.559573 -307.50 152.50 222.50 0.907054 -307.50 152.50 227.50 1.40564 -307.50 152.50 232.50 2.24384 -307.50 152.50 237.50 3.47637 -307.50 152.50 242.50 4.84183 -307.50 152.50 247.50 5.76945 -307.50 152.50 252.50 5.39524 -307.50 152.50 257.50 4.01869 -307.50 152.50 262.50 2.24049 -307.50 152.50 267.50 0.967029 -307.50 152.50 272.50 0.348473 -307.50 152.50 277.50 0.0903383 -307.50 152.50 282.50 0.0308658 -307.50 152.50 287.50 0.0203815 -307.50 152.50 292.50 0.0446587 -307.50 152.50 297.50 0.110479 -307.50 152.50 302.50 0.275267 -307.50 152.50 307.50 0.559573 -307.50 152.50 312.50 0.907054 -307.50 152.50 317.50 1.40564 -307.50 152.50 322.50 2.24383 -307.50 152.50 327.50 3.47636 -307.50 152.50 332.50 4.84183 -307.50 152.50 337.50 5.76945 -307.50 152.50 342.50 5.39525 -307.50 152.50 347.50 4.01869 -307.50 152.50 352.50 2.2405 -307.50 152.50 357.50 0.967031 -307.50 157.50 2.50 0.315204 -307.50 157.50 7.50 0.0937556 -307.50 157.50 12.50 0.0419426 -307.50 157.50 17.50 0.0536605 -307.50 157.50 22.50 0.117925 -307.50 157.50 27.50 0.247702 -307.50 157.50 32.50 0.517774 -307.50 157.50 37.50 0.897299 -307.50 157.50 42.50 1.27299 -307.50 157.50 47.50 1.69826 -307.50 157.50 52.50 2.24399 -307.50 157.50 57.50 3.04511 -307.50 157.50 62.50 4.0602 -307.50 157.50 67.50 4.55459 -307.50 157.50 72.50 4.21599 -307.50 157.50 77.50 3.15074 -307.50 157.50 82.50 1.8235 -307.50 157.50 87.50 0.816508 -307.50 157.50 92.50 0.315204 -307.50 157.50 97.50 0.0937554 -307.50 157.50 102.50 0.0419425 -307.50 157.50 107.50 0.0536605 -307.50 157.50 112.50 0.117925 -307.50 157.50 117.50 0.247702 -307.50 157.50 122.50 0.517774 -307.50 157.50 127.50 0.897299 -307.50 157.50 132.50 1.27299 -307.50 157.50 137.50 1.69826 -307.50 157.50 142.50 2.24399 -307.50 157.50 147.50 3.04511 -307.50 157.50 152.50 4.0602 -307.50 157.50 157.50 4.55459 -307.50 157.50 162.50 4.21599 -307.50 157.50 167.50 3.15074 -307.50 157.50 172.50 1.8235 -307.50 157.50 177.50 0.816508 -307.50 157.50 182.50 0.315204 -307.50 157.50 187.50 0.0937553 -307.50 157.50 192.50 0.0419425 -307.50 157.50 197.50 0.0536605 -307.50 157.50 202.50 0.117925 -307.50 157.50 207.50 0.247702 -307.50 157.50 212.50 0.517773 -307.50 157.50 217.50 0.897298 -307.50 157.50 222.50 1.27299 -307.50 157.50 227.50 1.69825 -307.50 157.50 232.50 2.244 -307.50 157.50 237.50 3.04511 -307.50 157.50 242.50 4.0602 -307.50 157.50 247.50 4.55459 -307.50 157.50 252.50 4.21599 -307.50 157.50 257.50 3.15074 -307.50 157.50 262.50 1.82349 -307.50 157.50 267.50 0.816508 -307.50 157.50 272.50 0.315204 -307.50 157.50 277.50 0.0937555 -307.50 157.50 282.50 0.0419425 -307.50 157.50 287.50 0.0536605 -307.50 157.50 292.50 0.117925 -307.50 157.50 297.50 0.247702 -307.50 157.50 302.50 0.517773 -307.50 157.50 307.50 0.897298 -307.50 157.50 312.50 1.27299 -307.50 157.50 317.50 1.69826 -307.50 157.50 322.50 2.24399 -307.50 157.50 327.50 3.0451 -307.50 157.50 332.50 4.0602 -307.50 157.50 337.50 4.55459 -307.50 157.50 342.50 4.21599 -307.50 157.50 347.50 3.15075 -307.50 157.50 352.50 1.8235 -307.50 157.50 357.50 0.81651 -307.50 162.50 2.50 0.273721 -307.50 162.50 7.50 0.109009 -307.50 162.50 12.50 0.0622614 -307.50 162.50 17.50 0.109659 -307.50 162.50 22.50 0.235093 -307.50 162.50 27.50 0.439942 -307.50 162.50 32.50 0.75839 -307.50 162.50 37.50 1.15323 -307.50 162.50 42.50 1.41289 -307.50 162.50 47.50 1.53031 -307.50 162.50 52.50 1.76613 -307.50 162.50 57.50 2.12902 -307.50 162.50 62.50 2.51841 -307.50 162.50 67.50 2.73071 -307.50 162.50 72.50 2.5171 -307.50 162.50 77.50 1.88506 -307.50 162.50 82.50 1.1453 -307.50 162.50 87.50 0.58345 -307.50 162.50 92.50 0.273721 -307.50 162.50 97.50 0.109009 -307.50 162.50 102.50 0.0622614 -307.50 162.50 107.50 0.109659 -307.50 162.50 112.50 0.235092 -307.50 162.50 117.50 0.439942 -307.50 162.50 122.50 0.75839 -307.50 162.50 127.50 1.15323 -307.50 162.50 132.50 1.41289 -307.50 162.50 137.50 1.53031 -307.50 162.50 142.50 1.76613 -307.50 162.50 147.50 2.12902 -307.50 162.50 152.50 2.51841 -307.50 162.50 157.50 2.73071 -307.50 162.50 162.50 2.5171 -307.50 162.50 167.50 1.88506 -307.50 162.50 172.50 1.1453 -307.50 162.50 177.50 0.583451 -307.50 162.50 182.50 0.273721 -307.50 162.50 187.50 0.109009 -307.50 162.50 192.50 0.0622614 -307.50 162.50 197.50 0.109659 -307.50 162.50 202.50 0.235093 -307.50 162.50 207.50 0.439942 -307.50 162.50 212.50 0.75839 -307.50 162.50 217.50 1.15323 -307.50 162.50 222.50 1.41289 -307.50 162.50 227.50 1.53031 -307.50 162.50 232.50 1.76613 -307.50 162.50 237.50 2.12902 -307.50 162.50 242.50 2.51841 -307.50 162.50 247.50 2.73071 -307.50 162.50 252.50 2.5171 -307.50 162.50 257.50 1.88506 -307.50 162.50 262.50 1.1453 -307.50 162.50 267.50 0.58345 -307.50 162.50 272.50 0.273721 -307.50 162.50 277.50 0.109009 -307.50 162.50 282.50 0.0622614 -307.50 162.50 287.50 0.109659 -307.50 162.50 292.50 0.235093 -307.50 162.50 297.50 0.439942 -307.50 162.50 302.50 0.758389 -307.50 162.50 307.50 1.15323 -307.50 162.50 312.50 1.41289 -307.50 162.50 317.50 1.53031 -307.50 162.50 322.50 1.76613 -307.50 162.50 327.50 2.12902 -307.50 162.50 332.50 2.51841 -307.50 162.50 337.50 2.73071 -307.50 162.50 342.50 2.5171 -307.50 162.50 347.50 1.88506 -307.50 162.50 352.50 1.14531 -307.50 162.50 357.50 0.583451 -307.50 167.50 2.50 0.252721 -307.50 167.50 7.50 0.13285 -307.50 167.50 12.50 0.0818425 -307.50 167.50 17.50 0.150407 -307.50 167.50 22.50 0.312627 -307.50 167.50 27.50 0.560896 -307.50 167.50 32.50 0.899809 -307.50 167.50 37.50 1.20669 -307.50 167.50 42.50 1.27813 -307.50 167.50 47.50 1.13113 -307.50 167.50 52.50 1.01927 -307.50 167.50 57.50 1.07391 -307.50 167.50 62.50 1.23068 -307.50 167.50 67.50 1.29939 -307.50 167.50 72.50 1.18922 -307.50 167.50 77.50 0.913617 -307.50 167.50 82.50 0.601344 -307.50 167.50 87.50 0.404512 -307.50 167.50 92.50 0.252721 -307.50 167.50 97.50 0.13285 -307.50 167.50 102.50 0.0818425 -307.50 167.50 107.50 0.150407 -307.50 167.50 112.50 0.312627 -307.50 167.50 117.50 0.560896 -307.50 167.50 122.50 0.899809 -307.50 167.50 127.50 1.20669 -307.50 167.50 132.50 1.27813 -307.50 167.50 137.50 1.13113 -307.50 167.50 142.50 1.01927 -307.50 167.50 147.50 1.07391 -307.50 167.50 152.50 1.23068 -307.50 167.50 157.50 1.29939 -307.50 167.50 162.50 1.18922 -307.50 167.50 167.50 0.913617 -307.50 167.50 172.50 0.601344 -307.50 167.50 177.50 0.404513 -307.50 167.50 182.50 0.252721 -307.50 167.50 187.50 0.13285 -307.50 167.50 192.50 0.0818425 -307.50 167.50 197.50 0.150407 -307.50 167.50 202.50 0.312627 -307.50 167.50 207.50 0.560896 -307.50 167.50 212.50 0.899809 -307.50 167.50 217.50 1.20669 -307.50 167.50 222.50 1.27813 -307.50 167.50 227.50 1.13113 -307.50 167.50 232.50 1.01927 -307.50 167.50 237.50 1.07391 -307.50 167.50 242.50 1.23068 -307.50 167.50 247.50 1.29939 -307.50 167.50 252.50 1.18922 -307.50 167.50 257.50 0.913617 -307.50 167.50 262.50 0.601343 -307.50 167.50 267.50 0.404512 -307.50 167.50 272.50 0.252721 -307.50 167.50 277.50 0.13285 -307.50 167.50 282.50 0.0818425 -307.50 167.50 287.50 0.150407 -307.50 167.50 292.50 0.312627 -307.50 167.50 297.50 0.560896 -307.50 167.50 302.50 0.899808 -307.50 167.50 307.50 1.20669 -307.50 167.50 312.50 1.27813 -307.50 167.50 317.50 1.13113 -307.50 167.50 322.50 1.01927 -307.50 167.50 327.50 1.07391 -307.50 167.50 332.50 1.23068 -307.50 167.50 337.50 1.29939 -307.50 167.50 342.50 1.18922 -307.50 167.50 347.50 0.913617 -307.50 167.50 352.50 0.601344 -307.50 167.50 357.50 0.404513 -307.50 172.50 2.50 0.202441 -307.50 172.50 7.50 0.127436 -307.50 172.50 12.50 0.0877474 -307.50 172.50 17.50 0.133163 -307.50 172.50 22.50 0.281452 -307.50 172.50 27.50 0.529173 -307.50 172.50 32.50 0.854425 -307.50 172.50 37.50 1.08308 -307.50 172.50 42.50 1.01204 -307.50 172.50 47.50 0.717381 -307.50 172.50 52.50 0.472946 -307.50 172.50 57.50 0.416795 -307.50 172.50 62.50 0.45839 -307.50 172.50 67.50 0.489975 -307.50 172.50 72.50 0.462408 -307.50 172.50 77.50 0.37753 -307.50 172.50 82.50 0.311733 -307.50 172.50 87.50 0.264305 -307.50 172.50 92.50 0.202441 -307.50 172.50 97.50 0.127436 -307.50 172.50 102.50 0.0877474 -307.50 172.50 107.50 0.133163 -307.50 172.50 112.50 0.281452 -307.50 172.50 117.50 0.529173 -307.50 172.50 122.50 0.854425 -307.50 172.50 127.50 1.08308 -307.50 172.50 132.50 1.01204 -307.50 172.50 137.50 0.717381 -307.50 172.50 142.50 0.472946 -307.50 172.50 147.50 0.416795 -307.50 172.50 152.50 0.45839 -307.50 172.50 157.50 0.489975 -307.50 172.50 162.50 0.462408 -307.50 172.50 167.50 0.37753 -307.50 172.50 172.50 0.311733 -307.50 172.50 177.50 0.264305 -307.50 172.50 182.50 0.202441 -307.50 172.50 187.50 0.127436 -307.50 172.50 192.50 0.0877474 -307.50 172.50 197.50 0.133163 -307.50 172.50 202.50 0.281452 -307.50 172.50 207.50 0.529173 -307.50 172.50 212.50 0.854425 -307.50 172.50 217.50 1.08308 -307.50 172.50 222.50 1.01204 -307.50 172.50 227.50 0.717381 -307.50 172.50 232.50 0.472946 -307.50 172.50 237.50 0.416795 -307.50 172.50 242.50 0.45839 -307.50 172.50 247.50 0.489975 -307.50 172.50 252.50 0.462408 -307.50 172.50 257.50 0.377531 -307.50 172.50 262.50 0.311733 -307.50 172.50 267.50 0.264305 -307.50 172.50 272.50 0.202441 -307.50 172.50 277.50 0.127436 -307.50 172.50 282.50 0.0877473 -307.50 172.50 287.50 0.133163 -307.50 172.50 292.50 0.281452 -307.50 172.50 297.50 0.529173 -307.50 172.50 302.50 0.854425 -307.50 172.50 307.50 1.08308 -307.50 172.50 312.50 1.01204 -307.50 172.50 317.50 0.717381 -307.50 172.50 322.50 0.472946 -307.50 172.50 327.50 0.416795 -307.50 172.50 332.50 0.45839 -307.50 172.50 337.50 0.489975 -307.50 172.50 342.50 0.462408 -307.50 172.50 347.50 0.37753 -307.50 172.50 352.50 0.311733 -307.50 172.50 357.50 0.264305 -307.50 177.50 2.50 0.118632 -307.50 177.50 7.50 0.0861399 -307.50 177.50 12.50 0.065772 -307.50 177.50 17.50 0.0909506 -307.50 177.50 22.50 0.195055 -307.50 177.50 27.50 0.412839 -307.50 177.50 32.50 0.705094 -307.50 177.50 37.50 0.877821 -307.50 177.50 42.50 0.74028 -307.50 177.50 47.50 0.439752 -307.50 177.50 52.50 0.216182 -307.50 177.50 57.50 0.12938 -307.50 177.50 62.50 0.123279 -307.50 177.50 67.50 0.143853 -307.50 177.50 72.50 0.156781 -307.50 177.50 77.50 0.153023 -307.50 177.50 82.50 0.144096 -307.50 177.50 87.50 0.137618 -307.50 177.50 92.50 0.118632 -307.50 177.50 97.50 0.0861399 -307.50 177.50 102.50 0.065772 -307.50 177.50 107.50 0.0909507 -307.50 177.50 112.50 0.195055 -307.50 177.50 117.50 0.412839 -307.50 177.50 122.50 0.705094 -307.50 177.50 127.50 0.877821 -307.50 177.50 132.50 0.74028 -307.50 177.50 137.50 0.439752 -307.50 177.50 142.50 0.216182 -307.50 177.50 147.50 0.12938 -307.50 177.50 152.50 0.123279 -307.50 177.50 157.50 0.143853 -307.50 177.50 162.50 0.156781 -307.50 177.50 167.50 0.153023 -307.50 177.50 172.50 0.144096 -307.50 177.50 177.50 0.137618 -307.50 177.50 182.50 0.118632 -307.50 177.50 187.50 0.0861399 -307.50 177.50 192.50 0.0657719 -307.50 177.50 197.50 0.0909506 -307.50 177.50 202.50 0.195055 -307.50 177.50 207.50 0.412839 -307.50 177.50 212.50 0.705094 -307.50 177.50 217.50 0.877821 -307.50 177.50 222.50 0.74028 -307.50 177.50 227.50 0.439752 -307.50 177.50 232.50 0.216182 -307.50 177.50 237.50 0.12938 -307.50 177.50 242.50 0.123279 -307.50 177.50 247.50 0.143853 -307.50 177.50 252.50 0.156781 -307.50 177.50 257.50 0.153023 -307.50 177.50 262.50 0.144096 -307.50 177.50 267.50 0.137618 -307.50 177.50 272.50 0.118632 -307.50 177.50 277.50 0.0861399 -307.50 177.50 282.50 0.0657719 -307.50 177.50 287.50 0.0909505 -307.50 177.50 292.50 0.195055 -307.50 177.50 297.50 0.412839 -307.50 177.50 302.50 0.705093 -307.50 177.50 307.50 0.877821 -307.50 177.50 312.50 0.740281 -307.50 177.50 317.50 0.439753 -307.50 177.50 322.50 0.216182 -307.50 177.50 327.50 0.12938 -307.50 177.50 332.50 0.123279 -307.50 177.50 337.50 0.143853 -307.50 177.50 342.50 0.156781 -307.50 177.50 347.50 0.153023 -307.50 177.50 352.50 0.144096 -307.50 177.50 357.50 0.137618 -312.50 2.50 2.50 0.083846 -312.50 2.50 7.50 0.084539 -312.50 2.50 12.50 0.083846 -312.50 2.50 17.50 0.0760385 -312.50 2.50 22.50 0.0601603 -312.50 2.50 27.50 0.0485219 -312.50 2.50 32.50 0.0624685 -312.50 2.50 37.50 0.149977 -312.50 2.50 42.50 0.393272 -312.50 2.50 47.50 0.773178 -312.50 2.50 52.50 0.980476 -312.50 2.50 57.50 0.773179 -312.50 2.50 62.50 0.393272 -312.50 2.50 67.50 0.149977 -312.50 2.50 72.50 0.0624686 -312.50 2.50 77.50 0.0485219 -312.50 2.50 82.50 0.0601603 -312.50 2.50 87.50 0.0760385 -312.50 2.50 92.50 0.083846 -312.50 2.50 97.50 0.084539 -312.50 2.50 102.50 0.083846 -312.50 2.50 107.50 0.0760385 -312.50 2.50 112.50 0.0601603 -312.50 2.50 117.50 0.0485219 -312.50 2.50 122.50 0.0624685 -312.50 2.50 127.50 0.149977 -312.50 2.50 132.50 0.393272 -312.50 2.50 137.50 0.773178 -312.50 2.50 142.50 0.980476 -312.50 2.50 147.50 0.773179 -312.50 2.50 152.50 0.393273 -312.50 2.50 157.50 0.149977 -312.50 2.50 162.50 0.0624686 -312.50 2.50 167.50 0.0485219 -312.50 2.50 172.50 0.0601603 -312.50 2.50 177.50 0.0760385 -312.50 2.50 182.50 0.083846 -312.50 2.50 187.50 0.084539 -312.50 2.50 192.50 0.083846 -312.50 2.50 197.50 0.0760385 -312.50 2.50 202.50 0.0601603 -312.50 2.50 207.50 0.0485219 -312.50 2.50 212.50 0.0624685 -312.50 2.50 217.50 0.149977 -312.50 2.50 222.50 0.393272 -312.50 2.50 227.50 0.773178 -312.50 2.50 232.50 0.980476 -312.50 2.50 237.50 0.773179 -312.50 2.50 242.50 0.393272 -312.50 2.50 247.50 0.149977 -312.50 2.50 252.50 0.0624686 -312.50 2.50 257.50 0.0485219 -312.50 2.50 262.50 0.0601603 -312.50 2.50 267.50 0.0760385 -312.50 2.50 272.50 0.083846 -312.50 2.50 277.50 0.084539 -312.50 2.50 282.50 0.083846 -312.50 2.50 287.50 0.0760385 -312.50 2.50 292.50 0.0601603 -312.50 2.50 297.50 0.048522 -312.50 2.50 302.50 0.0624685 -312.50 2.50 307.50 0.149977 -312.50 2.50 312.50 0.393272 -312.50 2.50 317.50 0.773178 -312.50 2.50 322.50 0.980476 -312.50 2.50 327.50 0.773179 -312.50 2.50 332.50 0.393273 -312.50 2.50 337.50 0.149977 -312.50 2.50 342.50 0.0624687 -312.50 2.50 347.50 0.0485219 -312.50 2.50 352.50 0.0601602 -312.50 2.50 357.50 0.0760385 -312.50 7.50 2.50 0.132069 -312.50 7.50 7.50 0.138729 -312.50 7.50 12.50 0.144941 -312.50 7.50 17.50 0.148748 -312.50 7.50 22.50 0.140004 -312.50 7.50 27.50 0.123213 -312.50 7.50 32.50 0.125439 -312.50 7.50 37.50 0.217743 -312.50 7.50 42.50 0.461408 -312.50 7.50 47.50 0.780785 -312.50 7.50 52.50 0.911258 -312.50 7.50 57.50 0.713423 -312.50 7.50 62.50 0.394641 -312.50 7.50 67.50 0.187773 -312.50 7.50 72.50 0.0924992 -312.50 7.50 77.50 0.0639082 -312.50 7.50 82.50 0.0780234 -312.50 7.50 87.50 0.109882 -312.50 7.50 92.50 0.132069 -312.50 7.50 97.50 0.138729 -312.50 7.50 102.50 0.144941 -312.50 7.50 107.50 0.148748 -312.50 7.50 112.50 0.140004 -312.50 7.50 117.50 0.123213 -312.50 7.50 122.50 0.125439 -312.50 7.50 127.50 0.217744 -312.50 7.50 132.50 0.461408 -312.50 7.50 137.50 0.780785 -312.50 7.50 142.50 0.911258 -312.50 7.50 147.50 0.713423 -312.50 7.50 152.50 0.394641 -312.50 7.50 157.50 0.187773 -312.50 7.50 162.50 0.0924992 -312.50 7.50 167.50 0.0639082 -312.50 7.50 172.50 0.0780234 -312.50 7.50 177.50 0.109882 -312.50 7.50 182.50 0.132069 -312.50 7.50 187.50 0.138729 -312.50 7.50 192.50 0.144941 -312.50 7.50 197.50 0.148748 -312.50 7.50 202.50 0.140004 -312.50 7.50 207.50 0.123213 -312.50 7.50 212.50 0.125439 -312.50 7.50 217.50 0.217743 -312.50 7.50 222.50 0.461408 -312.50 7.50 227.50 0.780785 -312.50 7.50 232.50 0.911257 -312.50 7.50 237.50 0.713423 -312.50 7.50 242.50 0.394641 -312.50 7.50 247.50 0.187773 -312.50 7.50 252.50 0.092499 -312.50 7.50 257.50 0.0639081 -312.50 7.50 262.50 0.0780234 -312.50 7.50 267.50 0.109882 -312.50 7.50 272.50 0.132069 -312.50 7.50 277.50 0.138729 -312.50 7.50 282.50 0.144941 -312.50 7.50 287.50 0.148748 -312.50 7.50 292.50 0.140004 -312.50 7.50 297.50 0.123213 -312.50 7.50 302.50 0.125439 -312.50 7.50 307.50 0.217743 -312.50 7.50 312.50 0.461408 -312.50 7.50 317.50 0.780784 -312.50 7.50 322.50 0.911258 -312.50 7.50 327.50 0.713423 -312.50 7.50 332.50 0.394642 -312.50 7.50 337.50 0.187773 -312.50 7.50 342.50 0.0924992 -312.50 7.50 347.50 0.0639081 -312.50 7.50 352.50 0.0780233 -312.50 7.50 357.50 0.109882 -312.50 12.50 2.50 0.239625 -312.50 12.50 7.50 0.28366 -312.50 12.50 12.50 0.336778 -312.50 12.50 17.50 0.399667 -312.50 12.50 22.50 0.451 -312.50 12.50 27.50 0.444789 -312.50 12.50 32.50 0.419312 -312.50 12.50 37.50 0.490324 -312.50 12.50 42.50 0.747363 -312.50 12.50 47.50 1.06317 -312.50 12.50 52.50 1.12936 -312.50 12.50 57.50 0.863768 -312.50 12.50 62.50 0.5108 -312.50 12.50 67.50 0.269086 -312.50 12.50 72.50 0.136631 -312.50 12.50 77.50 0.0765726 -312.50 12.50 82.50 0.0999634 -312.50 12.50 87.50 0.172232 -312.50 12.50 92.50 0.239625 -312.50 12.50 97.50 0.28366 -312.50 12.50 102.50 0.336778 -312.50 12.50 107.50 0.399667 -312.50 12.50 112.50 0.451 -312.50 12.50 117.50 0.444789 -312.50 12.50 122.50 0.419312 -312.50 12.50 127.50 0.490325 -312.50 12.50 132.50 0.747363 -312.50 12.50 137.50 1.06317 -312.50 12.50 142.50 1.12936 -312.50 12.50 147.50 0.863768 -312.50 12.50 152.50 0.5108 -312.50 12.50 157.50 0.269086 -312.50 12.50 162.50 0.136631 -312.50 12.50 167.50 0.0765726 -312.50 12.50 172.50 0.0999633 -312.50 12.50 177.50 0.172232 -312.50 12.50 182.50 0.239625 -312.50 12.50 187.50 0.28366 -312.50 12.50 192.50 0.336778 -312.50 12.50 197.50 0.399667 -312.50 12.50 202.50 0.451 -312.50 12.50 207.50 0.444789 -312.50 12.50 212.50 0.419312 -312.50 12.50 217.50 0.490324 -312.50 12.50 222.50 0.747362 -312.50 12.50 227.50 1.06317 -312.50 12.50 232.50 1.12936 -312.50 12.50 237.50 0.863767 -312.50 12.50 242.50 0.5108 -312.50 12.50 247.50 0.269086 -312.50 12.50 252.50 0.136631 -312.50 12.50 257.50 0.0765725 -312.50 12.50 262.50 0.0999636 -312.50 12.50 267.50 0.172232 -312.50 12.50 272.50 0.239625 -312.50 12.50 277.50 0.28366 -312.50 12.50 282.50 0.336778 -312.50 12.50 287.50 0.399667 -312.50 12.50 292.50 0.451 -312.50 12.50 297.50 0.444788 -312.50 12.50 302.50 0.419312 -312.50 12.50 307.50 0.490324 -312.50 12.50 312.50 0.747362 -312.50 12.50 317.50 1.06317 -312.50 12.50 322.50 1.12936 -312.50 12.50 327.50 0.863768 -312.50 12.50 332.50 0.510801 -312.50 12.50 337.50 0.269086 -312.50 12.50 342.50 0.136631 -312.50 12.50 347.50 0.0765727 -312.50 12.50 352.50 0.0999631 -312.50 12.50 357.50 0.172231 -312.50 17.50 2.50 0.338201 -312.50 17.50 7.50 0.508241 -312.50 17.50 12.50 0.73858 -312.50 17.50 17.50 1.03178 -312.50 17.50 22.50 1.20165 -312.50 17.50 27.50 1.20247 -312.50 17.50 32.50 1.09764 -312.50 17.50 37.50 1.05068 -312.50 17.50 42.50 1.1871 -312.50 17.50 47.50 1.32943 -312.50 17.50 52.50 1.23109 -312.50 17.50 57.50 0.89664 -312.50 17.50 62.50 0.543171 -312.50 17.50 67.50 0.293576 -312.50 17.50 72.50 0.147846 -312.50 17.50 77.50 0.0803515 -312.50 17.50 82.50 0.0907331 -312.50 17.50 87.50 0.196327 -312.50 17.50 92.50 0.338201 -312.50 17.50 97.50 0.508241 -312.50 17.50 102.50 0.73858 -312.50 17.50 107.50 1.03178 -312.50 17.50 112.50 1.20165 -312.50 17.50 117.50 1.20247 -312.50 17.50 122.50 1.09764 -312.50 17.50 127.50 1.05068 -312.50 17.50 132.50 1.1871 -312.50 17.50 137.50 1.32943 -312.50 17.50 142.50 1.23109 -312.50 17.50 147.50 0.89664 -312.50 17.50 152.50 0.543171 -312.50 17.50 157.50 0.293576 -312.50 17.50 162.50 0.147846 -312.50 17.50 167.50 0.0803515 -312.50 17.50 172.50 0.0907331 -312.50 17.50 177.50 0.196327 -312.50 17.50 182.50 0.338201 -312.50 17.50 187.50 0.508241 -312.50 17.50 192.50 0.73858 -312.50 17.50 197.50 1.03178 -312.50 17.50 202.50 1.20165 -312.50 17.50 207.50 1.20247 -312.50 17.50 212.50 1.09764 -312.50 17.50 217.50 1.05068 -312.50 17.50 222.50 1.1871 -312.50 17.50 227.50 1.32943 -312.50 17.50 232.50 1.23109 -312.50 17.50 237.50 0.89664 -312.50 17.50 242.50 0.543171 -312.50 17.50 247.50 0.293576 -312.50 17.50 252.50 0.147846 -312.50 17.50 257.50 0.0803515 -312.50 17.50 262.50 0.0907333 -312.50 17.50 267.50 0.196327 -312.50 17.50 272.50 0.338201 -312.50 17.50 277.50 0.508241 -312.50 17.50 282.50 0.73858 -312.50 17.50 287.50 1.03178 -312.50 17.50 292.50 1.20165 -312.50 17.50 297.50 1.20247 -312.50 17.50 302.50 1.09764 -312.50 17.50 307.50 1.05068 -312.50 17.50 312.50 1.1871 -312.50 17.50 317.50 1.32943 -312.50 17.50 322.50 1.23109 -312.50 17.50 327.50 0.896641 -312.50 17.50 332.50 0.543172 -312.50 17.50 337.50 0.293576 -312.50 17.50 342.50 0.147846 -312.50 17.50 347.50 0.0803516 -312.50 17.50 352.50 0.0907331 -312.50 17.50 357.50 0.196327 -312.50 22.50 2.50 0.431719 -312.50 22.50 7.50 0.880313 -312.50 22.50 12.50 1.55766 -312.50 22.50 17.50 2.21654 -312.50 22.50 22.50 2.55938 -312.50 22.50 27.50 2.47971 -312.50 22.50 32.50 2.1509 -312.50 22.50 37.50 1.85785 -312.50 22.50 42.50 1.67545 -312.50 22.50 47.50 1.48938 -312.50 22.50 52.50 1.19551 -312.50 22.50 57.50 0.7739 -312.50 22.50 62.50 0.428485 -312.50 22.50 67.50 0.2179 -312.50 22.50 72.50 0.101748 -312.50 22.50 77.50 0.0554852 -312.50 22.50 82.50 0.0711468 -312.50 22.50 87.50 0.178221 -312.50 22.50 92.50 0.431719 -312.50 22.50 97.50 0.880313 -312.50 22.50 102.50 1.55766 -312.50 22.50 107.50 2.21654 -312.50 22.50 112.50 2.55938 -312.50 22.50 117.50 2.47971 -312.50 22.50 122.50 2.1509 -312.50 22.50 127.50 1.85785 -312.50 22.50 132.50 1.67545 -312.50 22.50 137.50 1.48938 -312.50 22.50 142.50 1.19551 -312.50 22.50 147.50 0.773899 -312.50 22.50 152.50 0.428486 -312.50 22.50 157.50 0.2179 -312.50 22.50 162.50 0.101748 -312.50 22.50 167.50 0.0554852 -312.50 22.50 172.50 0.0711468 -312.50 22.50 177.50 0.178221 -312.50 22.50 182.50 0.431719 -312.50 22.50 187.50 0.880313 -312.50 22.50 192.50 1.55766 -312.50 22.50 197.50 2.21654 -312.50 22.50 202.50 2.55938 -312.50 22.50 207.50 2.47971 -312.50 22.50 212.50 2.1509 -312.50 22.50 217.50 1.85785 -312.50 22.50 222.50 1.67545 -312.50 22.50 227.50 1.48938 -312.50 22.50 232.50 1.19551 -312.50 22.50 237.50 0.773899 -312.50 22.50 242.50 0.428485 -312.50 22.50 247.50 0.2179 -312.50 22.50 252.50 0.101748 -312.50 22.50 257.50 0.0554852 -312.50 22.50 262.50 0.0711469 -312.50 22.50 267.50 0.178221 -312.50 22.50 272.50 0.431719 -312.50 22.50 277.50 0.880313 -312.50 22.50 282.50 1.55766 -312.50 22.50 287.50 2.21654 -312.50 22.50 292.50 2.55938 -312.50 22.50 297.50 2.47971 -312.50 22.50 302.50 2.1509 -312.50 22.50 307.50 1.85785 -312.50 22.50 312.50 1.67545 -312.50 22.50 317.50 1.48938 -312.50 22.50 322.50 1.19551 -312.50 22.50 327.50 0.7739 -312.50 22.50 332.50 0.428486 -312.50 22.50 337.50 0.2179 -312.50 22.50 342.50 0.101749 -312.50 22.50 347.50 0.0554852 -312.50 22.50 352.50 0.0711467 -312.50 22.50 357.50 0.17822 -312.50 27.50 2.50 0.558756 -312.50 27.50 7.50 1.38427 -312.50 27.50 12.50 2.66296 -312.50 27.50 17.50 3.82805 -312.50 27.50 22.50 4.29488 -312.50 27.50 27.50 4.00842 -312.50 27.50 32.50 3.23112 -312.50 27.50 37.50 2.4042 -312.50 27.50 42.50 1.851 -312.50 27.50 47.50 1.41644 -312.50 27.50 52.50 0.96088 -312.50 27.50 57.50 0.544446 -312.50 27.50 62.50 0.254734 -312.50 27.50 67.50 0.106069 -312.50 27.50 72.50 0.0447134 -312.50 27.50 77.50 0.0279364 -312.50 27.50 82.50 0.0546664 -312.50 27.50 87.50 0.165933 -312.50 27.50 92.50 0.558756 -312.50 27.50 97.50 1.38427 -312.50 27.50 102.50 2.66296 -312.50 27.50 107.50 3.82805 -312.50 27.50 112.50 4.29488 -312.50 27.50 117.50 4.00842 -312.50 27.50 122.50 3.23112 -312.50 27.50 127.50 2.4042 -312.50 27.50 132.50 1.851 -312.50 27.50 137.50 1.41644 -312.50 27.50 142.50 0.96088 -312.50 27.50 147.50 0.544446 -312.50 27.50 152.50 0.254735 -312.50 27.50 157.50 0.106069 -312.50 27.50 162.50 0.0447134 -312.50 27.50 167.50 0.0279364 -312.50 27.50 172.50 0.0546663 -312.50 27.50 177.50 0.165933 -312.50 27.50 182.50 0.558757 -312.50 27.50 187.50 1.38427 -312.50 27.50 192.50 2.66296 -312.50 27.50 197.50 3.82806 -312.50 27.50 202.50 4.29488 -312.50 27.50 207.50 4.00842 -312.50 27.50 212.50 3.23112 -312.50 27.50 217.50 2.4042 -312.50 27.50 222.50 1.851 -312.50 27.50 227.50 1.41644 -312.50 27.50 232.50 0.960879 -312.50 27.50 237.50 0.544445 -312.50 27.50 242.50 0.254734 -312.50 27.50 247.50 0.106069 -312.50 27.50 252.50 0.0447133 -312.50 27.50 257.50 0.0279364 -312.50 27.50 262.50 0.0546664 -312.50 27.50 267.50 0.165933 -312.50 27.50 272.50 0.558756 -312.50 27.50 277.50 1.38427 -312.50 27.50 282.50 2.66296 -312.50 27.50 287.50 3.82805 -312.50 27.50 292.50 4.29488 -312.50 27.50 297.50 4.00842 -312.50 27.50 302.50 3.23112 -312.50 27.50 307.50 2.4042 -312.50 27.50 312.50 1.851 -312.50 27.50 317.50 1.41644 -312.50 27.50 322.50 0.960881 -312.50 27.50 327.50 0.544447 -312.50 27.50 332.50 0.254735 -312.50 27.50 337.50 0.106069 -312.50 27.50 342.50 0.0447134 -312.50 27.50 347.50 0.0279364 -312.50 27.50 352.50 0.0546663 -312.50 27.50 357.50 0.165933 -312.50 32.50 2.50 0.674572 -312.50 32.50 7.50 1.77615 -312.50 32.50 12.50 3.51128 -312.50 32.50 17.50 5.12189 -312.50 32.50 22.50 5.61847 -312.50 32.50 27.50 5.07766 -312.50 32.50 32.50 3.72516 -312.50 32.50 37.50 2.49292 -312.50 32.50 42.50 1.61851 -312.50 32.50 47.50 1.05363 -312.50 32.50 52.50 0.635226 -312.50 32.50 57.50 0.3163 -312.50 32.50 62.50 0.123106 -312.50 32.50 67.50 0.0400465 -312.50 32.50 72.50 0.0155686 -312.50 32.50 77.50 0.0130588 -312.50 32.50 82.50 0.0504364 -312.50 32.50 87.50 0.178438 -312.50 32.50 92.50 0.674572 -312.50 32.50 97.50 1.77615 -312.50 32.50 102.50 3.51128 -312.50 32.50 107.50 5.12189 -312.50 32.50 112.50 5.61847 -312.50 32.50 117.50 5.07766 -312.50 32.50 122.50 3.72516 -312.50 32.50 127.50 2.49292 -312.50 32.50 132.50 1.61851 -312.50 32.50 137.50 1.05363 -312.50 32.50 142.50 0.635226 -312.50 32.50 147.50 0.3163 -312.50 32.50 152.50 0.123107 -312.50 32.50 157.50 0.0400465 -312.50 32.50 162.50 0.0155686 -312.50 32.50 167.50 0.0130588 -312.50 32.50 172.50 0.0504363 -312.50 32.50 177.50 0.178438 -312.50 32.50 182.50 0.674573 -312.50 32.50 187.50 1.77615 -312.50 32.50 192.50 3.51128 -312.50 32.50 197.50 5.12189 -312.50 32.50 202.50 5.61847 -312.50 32.50 207.50 5.07766 -312.50 32.50 212.50 3.72517 -312.50 32.50 217.50 2.49292 -312.50 32.50 222.50 1.61851 -312.50 32.50 227.50 1.05363 -312.50 32.50 232.50 0.635225 -312.50 32.50 237.50 0.316299 -312.50 32.50 242.50 0.123106 -312.50 32.50 247.50 0.0400465 -312.50 32.50 252.50 0.0155687 -312.50 32.50 257.50 0.0130588 -312.50 32.50 262.50 0.0504365 -312.50 32.50 267.50 0.178438 -312.50 32.50 272.50 0.674572 -312.50 32.50 277.50 1.77615 -312.50 32.50 282.50 3.51128 -312.50 32.50 287.50 5.12189 -312.50 32.50 292.50 5.61847 -312.50 32.50 297.50 5.07766 -312.50 32.50 302.50 3.72517 -312.50 32.50 307.50 2.49292 -312.50 32.50 312.50 1.61851 -312.50 32.50 317.50 1.05363 -312.50 32.50 322.50 0.635228 -312.50 32.50 327.50 0.3163 -312.50 32.50 332.50 0.123107 -312.50 32.50 337.50 0.0400466 -312.50 32.50 342.50 0.0155687 -312.50 32.50 347.50 0.0130588 -312.50 32.50 352.50 0.0504362 -312.50 32.50 357.50 0.178437 -312.50 37.50 2.50 0.728262 -312.50 37.50 7.50 1.84193 -312.50 37.50 12.50 3.59088 -312.50 37.50 17.50 5.17216 -312.50 37.50 22.50 5.68643 -312.50 37.50 27.50 4.99912 -312.50 37.50 32.50 3.53834 -312.50 37.50 37.50 2.10851 -312.50 37.50 42.50 1.13131 -312.50 37.50 47.50 0.620381 -312.50 37.50 52.50 0.328053 -312.50 37.50 57.50 0.1377 -312.50 37.50 62.50 0.0465248 -312.50 37.50 67.50 0.0140954 -312.50 37.50 72.50 0.00811181 -312.50 37.50 77.50 0.0141549 -312.50 37.50 82.50 0.0528743 -312.50 37.50 87.50 0.208458 -312.50 37.50 92.50 0.728263 -312.50 37.50 97.50 1.84193 -312.50 37.50 102.50 3.59088 -312.50 37.50 107.50 5.17216 -312.50 37.50 112.50 5.68643 -312.50 37.50 117.50 4.99911 -312.50 37.50 122.50 3.53834 -312.50 37.50 127.50 2.10851 -312.50 37.50 132.50 1.13131 -312.50 37.50 137.50 0.620381 -312.50 37.50 142.50 0.328053 -312.50 37.50 147.50 0.1377 -312.50 37.50 152.50 0.0465249 -312.50 37.50 157.50 0.0140954 -312.50 37.50 162.50 0.00811181 -312.50 37.50 167.50 0.0141548 -312.50 37.50 172.50 0.0528743 -312.50 37.50 177.50 0.208458 -312.50 37.50 182.50 0.728264 -312.50 37.50 187.50 1.84194 -312.50 37.50 192.50 3.59088 -312.50 37.50 197.50 5.17216 -312.50 37.50 202.50 5.68642 -312.50 37.50 207.50 4.99912 -312.50 37.50 212.50 3.53834 -312.50 37.50 217.50 2.10851 -312.50 37.50 222.50 1.13131 -312.50 37.50 227.50 0.620382 -312.50 37.50 232.50 0.328052 -312.50 37.50 237.50 0.1377 -312.50 37.50 242.50 0.0465248 -312.50 37.50 247.50 0.0140954 -312.50 37.50 252.50 0.0081118 -312.50 37.50 257.50 0.0141549 -312.50 37.50 262.50 0.0528744 -312.50 37.50 267.50 0.208459 -312.50 37.50 272.50 0.728262 -312.50 37.50 277.50 1.84194 -312.50 37.50 282.50 3.59088 -312.50 37.50 287.50 5.17216 -312.50 37.50 292.50 5.68643 -312.50 37.50 297.50 4.99912 -312.50 37.50 302.50 3.53834 -312.50 37.50 307.50 2.10851 -312.50 37.50 312.50 1.13131 -312.50 37.50 317.50 0.620381 -312.50 37.50 322.50 0.328053 -312.50 37.50 327.50 0.137701 -312.50 37.50 332.50 0.0465249 -312.50 37.50 337.50 0.0140954 -312.50 37.50 342.50 0.00811181 -312.50 37.50 347.50 0.0141548 -312.50 37.50 352.50 0.0528742 -312.50 37.50 357.50 0.208458 -312.50 42.50 2.50 0.744225 -312.50 42.50 7.50 1.6303 -312.50 42.50 12.50 2.93175 -312.50 42.50 17.50 4.14883 -312.50 42.50 22.50 4.6062 -312.50 42.50 27.50 3.91268 -312.50 42.50 32.50 2.64638 -312.50 42.50 37.50 1.4521 -312.50 42.50 42.50 0.677184 -312.50 42.50 47.50 0.283541 -312.50 42.50 52.50 0.117309 -312.50 42.50 57.50 0.0431594 -312.50 42.50 62.50 0.0156238 -312.50 42.50 67.50 0.0139855 -312.50 42.50 72.50 0.0205436 -312.50 42.50 77.50 0.03419 -312.50 42.50 82.50 0.079778 -312.50 42.50 87.50 0.25764 -312.50 42.50 92.50 0.744226 -312.50 42.50 97.50 1.6303 -312.50 42.50 102.50 2.93175 -312.50 42.50 107.50 4.14883 -312.50 42.50 112.50 4.6062 -312.50 42.50 117.50 3.91268 -312.50 42.50 122.50 2.64638 -312.50 42.50 127.50 1.45209 -312.50 42.50 132.50 0.677184 -312.50 42.50 137.50 0.283541 -312.50 42.50 142.50 0.117309 -312.50 42.50 147.50 0.0431594 -312.50 42.50 152.50 0.0156238 -312.50 42.50 157.50 0.0139855 -312.50 42.50 162.50 0.0205436 -312.50 42.50 167.50 0.03419 -312.50 42.50 172.50 0.0797779 -312.50 42.50 177.50 0.25764 -312.50 42.50 182.50 0.744226 -312.50 42.50 187.50 1.6303 -312.50 42.50 192.50 2.93175 -312.50 42.50 197.50 4.14883 -312.50 42.50 202.50 4.6062 -312.50 42.50 207.50 3.91268 -312.50 42.50 212.50 2.64638 -312.50 42.50 217.50 1.4521 -312.50 42.50 222.50 0.677184 -312.50 42.50 227.50 0.283541 -312.50 42.50 232.50 0.117309 -312.50 42.50 237.50 0.0431594 -312.50 42.50 242.50 0.0156238 -312.50 42.50 247.50 0.0139855 -312.50 42.50 252.50 0.0205436 -312.50 42.50 257.50 0.03419 -312.50 42.50 262.50 0.0797781 -312.50 42.50 267.50 0.25764 -312.50 42.50 272.50 0.744225 -312.50 42.50 277.50 1.6303 -312.50 42.50 282.50 2.93175 -312.50 42.50 287.50 4.14883 -312.50 42.50 292.50 4.6062 -312.50 42.50 297.50 3.91269 -312.50 42.50 302.50 2.64638 -312.50 42.50 307.50 1.4521 -312.50 42.50 312.50 0.677185 -312.50 42.50 317.50 0.283541 -312.50 42.50 322.50 0.11731 -312.50 42.50 327.50 0.0431595 -312.50 42.50 332.50 0.0156238 -312.50 42.50 337.50 0.0139855 -312.50 42.50 342.50 0.0205436 -312.50 42.50 347.50 0.03419 -312.50 42.50 352.50 0.0797779 -312.50 42.50 357.50 0.25764 -312.50 47.50 2.50 0.748975 -312.50 47.50 7.50 1.30179 -312.50 47.50 12.50 2.06907 -312.50 47.50 17.50 2.79905 -312.50 47.50 22.50 2.99443 -312.50 47.50 27.50 2.34909 -312.50 47.50 32.50 1.50534 -312.50 47.50 37.50 0.808731 -312.50 47.50 42.50 0.332446 -312.50 47.50 47.50 0.117766 -312.50 47.50 52.50 0.0315758 -312.50 47.50 57.50 0.01826 -312.50 47.50 62.50 0.0257527 -312.50 47.50 67.50 0.0625251 -312.50 47.50 72.50 0.0948643 -312.50 47.50 77.50 0.119315 -312.50 47.50 82.50 0.177551 -312.50 47.50 87.50 0.352337 -312.50 47.50 92.50 0.748975 -312.50 47.50 97.50 1.30179 -312.50 47.50 102.50 2.06907 -312.50 47.50 107.50 2.79905 -312.50 47.50 112.50 2.99443 -312.50 47.50 117.50 2.34909 -312.50 47.50 122.50 1.50534 -312.50 47.50 127.50 0.808731 -312.50 47.50 132.50 0.332445 -312.50 47.50 137.50 0.117766 -312.50 47.50 142.50 0.0315758 -312.50 47.50 147.50 0.0182599 -312.50 47.50 152.50 0.0257526 -312.50 47.50 157.50 0.062525 -312.50 47.50 162.50 0.0948643 -312.50 47.50 167.50 0.119315 -312.50 47.50 172.50 0.17755 -312.50 47.50 177.50 0.352337 -312.50 47.50 182.50 0.748975 -312.50 47.50 187.50 1.30179 -312.50 47.50 192.50 2.06907 -312.50 47.50 197.50 2.79904 -312.50 47.50 202.50 2.99443 -312.50 47.50 207.50 2.34909 -312.50 47.50 212.50 1.50534 -312.50 47.50 217.50 0.808732 -312.50 47.50 222.50 0.332446 -312.50 47.50 227.50 0.117767 -312.50 47.50 232.50 0.0315757 -312.50 47.50 237.50 0.01826 -312.50 47.50 242.50 0.0257527 -312.50 47.50 247.50 0.0625252 -312.50 47.50 252.50 0.0948643 -312.50 47.50 257.50 0.119315 -312.50 47.50 262.50 0.177551 -312.50 47.50 267.50 0.352337 -312.50 47.50 272.50 0.748975 -312.50 47.50 277.50 1.30179 -312.50 47.50 282.50 2.06907 -312.50 47.50 287.50 2.79904 -312.50 47.50 292.50 2.99443 -312.50 47.50 297.50 2.34909 -312.50 47.50 302.50 1.50534 -312.50 47.50 307.50 0.808732 -312.50 47.50 312.50 0.332446 -312.50 47.50 317.50 0.117766 -312.50 47.50 322.50 0.0315759 -312.50 47.50 327.50 0.01826 -312.50 47.50 332.50 0.0257526 -312.50 47.50 337.50 0.062525 -312.50 47.50 342.50 0.0948643 -312.50 47.50 347.50 0.119314 -312.50 47.50 352.50 0.17755 -312.50 47.50 357.50 0.352336 -312.50 52.50 2.50 0.744225 -312.50 52.50 7.50 0.958351 -312.50 52.50 12.50 1.30023 -312.50 52.50 17.50 1.56225 -312.50 52.50 22.50 1.47003 -312.50 52.50 27.50 1.04099 -312.50 52.50 32.50 0.632368 -312.50 52.50 37.50 0.33982 -312.50 52.50 42.50 0.128969 -312.50 52.50 47.50 0.0395077 -312.50 52.50 52.50 0.0248604 -312.50 52.50 57.50 0.0546704 -312.50 52.50 62.50 0.120783 -312.50 52.50 67.50 0.223955 -312.50 52.50 72.50 0.328956 -312.50 52.50 77.50 0.355454 -312.50 52.50 82.50 0.410069 -312.50 52.50 87.50 0.522225 -312.50 52.50 92.50 0.744225 -312.50 52.50 97.50 0.958351 -312.50 52.50 102.50 1.30023 -312.50 52.50 107.50 1.56225 -312.50 52.50 112.50 1.47003 -312.50 52.50 117.50 1.04099 -312.50 52.50 122.50 0.632367 -312.50 52.50 127.50 0.33982 -312.50 52.50 132.50 0.128969 -312.50 52.50 137.50 0.0395077 -312.50 52.50 142.50 0.0248604 -312.50 52.50 147.50 0.0546704 -312.50 52.50 152.50 0.120782 -312.50 52.50 157.50 0.223955 -312.50 52.50 162.50 0.328956 -312.50 52.50 167.50 0.355454 -312.50 52.50 172.50 0.410069 -312.50 52.50 177.50 0.522225 -312.50 52.50 182.50 0.744226 -312.50 52.50 187.50 0.958351 -312.50 52.50 192.50 1.30023 -312.50 52.50 197.50 1.56225 -312.50 52.50 202.50 1.47003 -312.50 52.50 207.50 1.04099 -312.50 52.50 212.50 0.632367 -312.50 52.50 217.50 0.33982 -312.50 52.50 222.50 0.128969 -312.50 52.50 227.50 0.0395077 -312.50 52.50 232.50 0.0248604 -312.50 52.50 237.50 0.0546706 -312.50 52.50 242.50 0.120783 -312.50 52.50 247.50 0.223955 -312.50 52.50 252.50 0.328956 -312.50 52.50 257.50 0.355454 -312.50 52.50 262.50 0.41007 -312.50 52.50 267.50 0.522225 -312.50 52.50 272.50 0.744225 -312.50 52.50 277.50 0.95835 -312.50 52.50 282.50 1.30023 -312.50 52.50 287.50 1.56225 -312.50 52.50 292.50 1.47003 -312.50 52.50 297.50 1.04099 -312.50 52.50 302.50 0.632367 -312.50 52.50 307.50 0.33982 -312.50 52.50 312.50 0.128969 -312.50 52.50 317.50 0.0395078 -312.50 52.50 322.50 0.0248604 -312.50 52.50 327.50 0.0546704 -312.50 52.50 332.50 0.120782 -312.50 52.50 337.50 0.223955 -312.50 52.50 342.50 0.328956 -312.50 52.50 347.50 0.355454 -312.50 52.50 352.50 0.410069 -312.50 52.50 357.50 0.522225 -312.50 57.50 2.50 0.728262 -312.50 57.50 7.50 0.648959 -312.50 57.50 12.50 0.702081 -312.50 57.50 17.50 0.659595 -312.50 57.50 22.50 0.530182 -312.50 57.50 27.50 0.348195 -312.50 57.50 32.50 0.228961 -312.50 57.50 37.50 0.115169 -312.50 57.50 42.50 0.0554554 -312.50 57.50 47.50 0.0521243 -312.50 57.50 52.50 0.0984554 -312.50 57.50 57.50 0.23898 -312.50 57.50 62.50 0.461697 -312.50 57.50 67.50 0.662422 -312.50 57.50 72.50 0.841225 -312.50 57.50 77.50 0.886595 -312.50 57.50 82.50 0.830932 -312.50 57.50 87.50 0.776922 -312.50 57.50 92.50 0.728263 -312.50 57.50 97.50 0.64896 -312.50 57.50 102.50 0.702081 -312.50 57.50 107.50 0.659595 -312.50 57.50 112.50 0.530183 -312.50 57.50 117.50 0.348195 -312.50 57.50 122.50 0.228961 -312.50 57.50 127.50 0.115169 -312.50 57.50 132.50 0.0554553 -312.50 57.50 137.50 0.0521243 -312.50 57.50 142.50 0.0984553 -312.50 57.50 147.50 0.23898 -312.50 57.50 152.50 0.461696 -312.50 57.50 157.50 0.662421 -312.50 57.50 162.50 0.841225 -312.50 57.50 167.50 0.886594 -312.50 57.50 172.50 0.830931 -312.50 57.50 177.50 0.776923 -312.50 57.50 182.50 0.728263 -312.50 57.50 187.50 0.64896 -312.50 57.50 192.50 0.702081 -312.50 57.50 197.50 0.659595 -312.50 57.50 202.50 0.530183 -312.50 57.50 207.50 0.348194 -312.50 57.50 212.50 0.228961 -312.50 57.50 217.50 0.115169 -312.50 57.50 222.50 0.0554554 -312.50 57.50 227.50 0.0521243 -312.50 57.50 232.50 0.0984558 -312.50 57.50 237.50 0.23898 -312.50 57.50 242.50 0.461697 -312.50 57.50 247.50 0.662422 -312.50 57.50 252.50 0.841226 -312.50 57.50 257.50 0.886595 -312.50 57.50 262.50 0.830931 -312.50 57.50 267.50 0.776922 -312.50 57.50 272.50 0.728262 -312.50 57.50 277.50 0.648959 -312.50 57.50 282.50 0.702081 -312.50 57.50 287.50 0.659595 -312.50 57.50 292.50 0.530182 -312.50 57.50 297.50 0.348195 -312.50 57.50 302.50 0.228961 -312.50 57.50 307.50 0.115169 -312.50 57.50 312.50 0.0554554 -312.50 57.50 317.50 0.0521243 -312.50 57.50 322.50 0.0984553 -312.50 57.50 327.50 0.23898 -312.50 57.50 332.50 0.461696 -312.50 57.50 337.50 0.662421 -312.50 57.50 342.50 0.841225 -312.50 57.50 347.50 0.886595 -312.50 57.50 352.50 0.830931 -312.50 57.50 357.50 0.776923 -312.50 62.50 2.50 0.674572 -312.50 62.50 7.50 0.413683 -312.50 62.50 12.50 0.309995 -312.50 62.50 17.50 0.20877 -312.50 62.50 22.50 0.129092 -312.50 62.50 27.50 0.0868904 -312.50 62.50 32.50 0.0696792 -312.50 62.50 37.50 0.0675347 -312.50 62.50 42.50 0.0966426 -312.50 62.50 47.50 0.169935 -312.50 62.50 52.50 0.377147 -312.50 62.50 57.50 0.815867 -312.50 62.50 62.50 1.32349 -312.50 62.50 67.50 1.69099 -312.50 62.50 72.50 1.77647 -312.50 62.50 77.50 1.6142 -312.50 62.50 82.50 1.32801 -312.50 62.50 87.50 1.00263 -312.50 62.50 92.50 0.674572 -312.50 62.50 97.50 0.413683 -312.50 62.50 102.50 0.309995 -312.50 62.50 107.50 0.20877 -312.50 62.50 112.50 0.129092 -312.50 62.50 117.50 0.0868903 -312.50 62.50 122.50 0.0696792 -312.50 62.50 127.50 0.0675346 -312.50 62.50 132.50 0.0966426 -312.50 62.50 137.50 0.169935 -312.50 62.50 142.50 0.377147 -312.50 62.50 147.50 0.815866 -312.50 62.50 152.50 1.32349 -312.50 62.50 157.50 1.69099 -312.50 62.50 162.50 1.77647 -312.50 62.50 167.50 1.6142 -312.50 62.50 172.50 1.328 -312.50 62.50 177.50 1.00263 -312.50 62.50 182.50 0.674571 -312.50 62.50 187.50 0.413683 -312.50 62.50 192.50 0.309995 -312.50 62.50 197.50 0.20877 -312.50 62.50 202.50 0.129092 -312.50 62.50 207.50 0.0868904 -312.50 62.50 212.50 0.0696792 -312.50 62.50 217.50 0.0675346 -312.50 62.50 222.50 0.0966426 -312.50 62.50 227.50 0.169935 -312.50 62.50 232.50 0.377148 -312.50 62.50 237.50 0.815867 -312.50 62.50 242.50 1.32349 -312.50 62.50 247.50 1.69099 -312.50 62.50 252.50 1.77647 -312.50 62.50 257.50 1.6142 -312.50 62.50 262.50 1.328 -312.50 62.50 267.50 1.00263 -312.50 62.50 272.50 0.674572 -312.50 62.50 277.50 0.413683 -312.50 62.50 282.50 0.309995 -312.50 62.50 287.50 0.20877 -312.50 62.50 292.50 0.129092 -312.50 62.50 297.50 0.0868905 -312.50 62.50 302.50 0.0696792 -312.50 62.50 307.50 0.0675347 -312.50 62.50 312.50 0.0966427 -312.50 62.50 317.50 0.169935 -312.50 62.50 322.50 0.377147 -312.50 62.50 327.50 0.815866 -312.50 62.50 332.50 1.32349 -312.50 62.50 337.50 1.69099 -312.50 62.50 342.50 1.77647 -312.50 62.50 347.50 1.6142 -312.50 62.50 352.50 1.32801 -312.50 62.50 357.50 1.00263 -312.50 67.50 2.50 0.558755 -312.50 67.50 7.50 0.259395 -312.50 67.50 12.50 0.131129 -312.50 67.50 17.50 0.0594931 -312.50 67.50 22.50 0.0236979 -312.50 67.50 27.50 0.0154909 -312.50 67.50 32.50 0.0329186 -312.50 67.50 37.50 0.0950842 -312.50 67.50 42.50 0.223059 -312.50 67.50 47.50 0.504637 -312.50 67.50 52.50 1.0852 -312.50 67.50 57.50 1.94523 -312.50 67.50 62.50 2.79687 -312.50 67.50 67.50 3.30371 -312.50 67.50 72.50 3.0666 -312.50 67.50 77.50 2.35769 -312.50 67.50 82.50 1.62736 -312.50 67.50 87.50 1.02867 -312.50 67.50 92.50 0.558756 -312.50 67.50 97.50 0.259395 -312.50 67.50 102.50 0.131129 -312.50 67.50 107.50 0.059493 -312.50 67.50 112.50 0.0236979 -312.50 67.50 117.50 0.0154909 -312.50 67.50 122.50 0.0329186 -312.50 67.50 127.50 0.0950842 -312.50 67.50 132.50 0.223059 -312.50 67.50 137.50 0.504637 -312.50 67.50 142.50 1.0852 -312.50 67.50 147.50 1.94523 -312.50 67.50 152.50 2.79687 -312.50 67.50 157.50 3.30371 -312.50 67.50 162.50 3.0666 -312.50 67.50 167.50 2.35769 -312.50 67.50 172.50 1.62736 -312.50 67.50 177.50 1.02867 -312.50 67.50 182.50 0.558755 -312.50 67.50 187.50 0.259395 -312.50 67.50 192.50 0.131129 -312.50 67.50 197.50 0.059493 -312.50 67.50 202.50 0.0236979 -312.50 67.50 207.50 0.0154909 -312.50 67.50 212.50 0.0329186 -312.50 67.50 217.50 0.0950841 -312.50 67.50 222.50 0.223059 -312.50 67.50 227.50 0.504636 -312.50 67.50 232.50 1.08521 -312.50 67.50 237.50 1.94523 -312.50 67.50 242.50 2.79687 -312.50 67.50 247.50 3.30371 -312.50 67.50 252.50 3.0666 -312.50 67.50 257.50 2.35769 -312.50 67.50 262.50 1.62736 -312.50 67.50 267.50 1.02867 -312.50 67.50 272.50 0.558756 -312.50 67.50 277.50 0.259395 -312.50 67.50 282.50 0.131129 -312.50 67.50 287.50 0.0594931 -312.50 67.50 292.50 0.0236979 -312.50 67.50 297.50 0.0154909 -312.50 67.50 302.50 0.0329186 -312.50 67.50 307.50 0.0950842 -312.50 67.50 312.50 0.223059 -312.50 67.50 317.50 0.504637 -312.50 67.50 322.50 1.0852 -312.50 67.50 327.50 1.94523 -312.50 67.50 332.50 2.79687 -312.50 67.50 337.50 3.30371 -312.50 67.50 342.50 3.0666 -312.50 67.50 347.50 2.3577 -312.50 67.50 352.50 1.62736 -312.50 67.50 357.50 1.02867 -312.50 72.50 2.50 0.431719 -312.50 72.50 7.50 0.187455 -312.50 72.50 12.50 0.0853451 -312.50 72.50 17.50 0.0277193 -312.50 72.50 22.50 0.009612 -312.50 72.50 27.50 0.0130062 -312.50 72.50 32.50 0.0509299 -312.50 72.50 37.50 0.162991 -312.50 72.50 42.50 0.456806 -312.50 72.50 47.50 1.09353 -312.50 72.50 52.50 2.17709 -312.50 72.50 57.50 3.4516 -312.50 72.50 62.50 4.36541 -312.50 72.50 67.50 4.68107 -312.50 72.50 72.50 4.10632 -312.50 72.50 77.50 2.78633 -312.50 72.50 82.50 1.64508 -312.50 72.50 87.50 0.884318 -312.50 72.50 92.50 0.431718 -312.50 72.50 97.50 0.187455 -312.50 72.50 102.50 0.0853451 -312.50 72.50 107.50 0.0277193 -312.50 72.50 112.50 0.009612 -312.50 72.50 117.50 0.0130062 -312.50 72.50 122.50 0.0509299 -312.50 72.50 127.50 0.162991 -312.50 72.50 132.50 0.456806 -312.50 72.50 137.50 1.09353 -312.50 72.50 142.50 2.17709 -312.50 72.50 147.50 3.4516 -312.50 72.50 152.50 4.36541 -312.50 72.50 157.50 4.68107 -312.50 72.50 162.50 4.10632 -312.50 72.50 167.50 2.78633 -312.50 72.50 172.50 1.64508 -312.50 72.50 177.50 0.884318 -312.50 72.50 182.50 0.431718 -312.50 72.50 187.50 0.187455 -312.50 72.50 192.50 0.0853451 -312.50 72.50 197.50 0.0277193 -312.50 72.50 202.50 0.009612 -312.50 72.50 207.50 0.0130062 -312.50 72.50 212.50 0.0509299 -312.50 72.50 217.50 0.162991 -312.50 72.50 222.50 0.456805 -312.50 72.50 227.50 1.09353 -312.50 72.50 232.50 2.1771 -312.50 72.50 237.50 3.45161 -312.50 72.50 242.50 4.36541 -312.50 72.50 247.50 4.68107 -312.50 72.50 252.50 4.10632 -312.50 72.50 257.50 2.78633 -312.50 72.50 262.50 1.64508 -312.50 72.50 267.50 0.884317 -312.50 72.50 272.50 0.431719 -312.50 72.50 277.50 0.187455 -312.50 72.50 282.50 0.0853451 -312.50 72.50 287.50 0.0277193 -312.50 72.50 292.50 0.009612 -312.50 72.50 297.50 0.0130062 -312.50 72.50 302.50 0.0509298 -312.50 72.50 307.50 0.162991 -312.50 72.50 312.50 0.456806 -312.50 72.50 317.50 1.09353 -312.50 72.50 322.50 2.17709 -312.50 72.50 327.50 3.4516 -312.50 72.50 332.50 4.36541 -312.50 72.50 337.50 4.68107 -312.50 72.50 342.50 4.10632 -312.50 72.50 347.50 2.78633 -312.50 72.50 352.50 1.64508 -312.50 72.50 357.50 0.884319 -312.50 77.50 2.50 0.338201 -312.50 77.50 7.50 0.178607 -312.50 77.50 12.50 0.0790086 -312.50 77.50 17.50 0.0376966 -312.50 77.50 22.50 0.0263765 -312.50 77.50 27.50 0.0478693 -312.50 77.50 32.50 0.147111 -312.50 77.50 37.50 0.421263 -312.50 77.50 42.50 0.973891 -312.50 77.50 47.50 1.88771 -312.50 77.50 52.50 3.12333 -312.50 77.50 57.50 4.33102 -312.50 77.50 62.50 5.19463 -312.50 77.50 67.50 5.10878 -312.50 77.50 72.50 4.17443 -312.50 77.50 77.50 2.73288 -312.50 77.50 82.50 1.44413 -312.50 77.50 87.50 0.736159 -312.50 77.50 92.50 0.3382 -312.50 77.50 97.50 0.178607 -312.50 77.50 102.50 0.0790086 -312.50 77.50 107.50 0.0376965 -312.50 77.50 112.50 0.0263765 -312.50 77.50 117.50 0.0478693 -312.50 77.50 122.50 0.147111 -312.50 77.50 127.50 0.421262 -312.50 77.50 132.50 0.973891 -312.50 77.50 137.50 1.88771 -312.50 77.50 142.50 3.12333 -312.50 77.50 147.50 4.33102 -312.50 77.50 152.50 5.19463 -312.50 77.50 157.50 5.10878 -312.50 77.50 162.50 4.17443 -312.50 77.50 167.50 2.73288 -312.50 77.50 172.50 1.44413 -312.50 77.50 177.50 0.73616 -312.50 77.50 182.50 0.338201 -312.50 77.50 187.50 0.178607 -312.50 77.50 192.50 0.0790086 -312.50 77.50 197.50 0.0376965 -312.50 77.50 202.50 0.0263765 -312.50 77.50 207.50 0.0478693 -312.50 77.50 212.50 0.147111 -312.50 77.50 217.50 0.421262 -312.50 77.50 222.50 0.973891 -312.50 77.50 227.50 1.88771 -312.50 77.50 232.50 3.12333 -312.50 77.50 237.50 4.33103 -312.50 77.50 242.50 5.19463 -312.50 77.50 247.50 5.10878 -312.50 77.50 252.50 4.17443 -312.50 77.50 257.50 2.73288 -312.50 77.50 262.50 1.44413 -312.50 77.50 267.50 0.736158 -312.50 77.50 272.50 0.338201 -312.50 77.50 277.50 0.178607 -312.50 77.50 282.50 0.0790086 -312.50 77.50 287.50 0.0376966 -312.50 77.50 292.50 0.0263765 -312.50 77.50 297.50 0.0478692 -312.50 77.50 302.50 0.147111 -312.50 77.50 307.50 0.421262 -312.50 77.50 312.50 0.973891 -312.50 77.50 317.50 1.88771 -312.50 77.50 322.50 3.12333 -312.50 77.50 327.50 4.33102 -312.50 77.50 332.50 5.19463 -312.50 77.50 337.50 5.10879 -312.50 77.50 342.50 4.17444 -312.50 77.50 347.50 2.73289 -312.50 77.50 352.50 1.44414 -312.50 77.50 357.50 0.736161 -312.50 82.50 2.50 0.239625 -312.50 82.50 7.50 0.125546 -312.50 82.50 12.50 0.0772341 -312.50 82.50 17.50 0.0700693 -312.50 82.50 22.50 0.0927869 -312.50 82.50 27.50 0.176318 -312.50 82.50 32.50 0.393791 -312.50 82.50 37.50 0.859531 -312.50 82.50 42.50 1.60633 -312.50 82.50 47.50 2.4979 -312.50 82.50 52.50 3.5167 -312.50 82.50 57.50 4.50362 -312.50 82.50 62.50 4.91499 -312.50 82.50 67.50 4.46683 -312.50 82.50 72.50 3.30358 -312.50 82.50 77.50 2.0999 -312.50 82.50 82.50 1.13893 -312.50 82.50 87.50 0.55432 -312.50 82.50 92.50 0.239625 -312.50 82.50 97.50 0.125546 -312.50 82.50 102.50 0.0772341 -312.50 82.50 107.50 0.0700692 -312.50 82.50 112.50 0.0927868 -312.50 82.50 117.50 0.176318 -312.50 82.50 122.50 0.393791 -312.50 82.50 127.50 0.859531 -312.50 82.50 132.50 1.60633 -312.50 82.50 137.50 2.4979 -312.50 82.50 142.50 3.5167 -312.50 82.50 147.50 4.50362 -312.50 82.50 152.50 4.91499 -312.50 82.50 157.50 4.46684 -312.50 82.50 162.50 3.30358 -312.50 82.50 167.50 2.0999 -312.50 82.50 172.50 1.13893 -312.50 82.50 177.50 0.55432 -312.50 82.50 182.50 0.239625 -312.50 82.50 187.50 0.125545 -312.50 82.50 192.50 0.0772341 -312.50 82.50 197.50 0.0700692 -312.50 82.50 202.50 0.0927868 -312.50 82.50 207.50 0.176318 -312.50 82.50 212.50 0.393791 -312.50 82.50 217.50 0.85953 -312.50 82.50 222.50 1.60633 -312.50 82.50 227.50 2.4979 -312.50 82.50 232.50 3.5167 -312.50 82.50 237.50 4.50362 -312.50 82.50 242.50 4.91499 -312.50 82.50 247.50 4.46684 -312.50 82.50 252.50 3.30358 -312.50 82.50 257.50 2.0999 -312.50 82.50 262.50 1.13893 -312.50 82.50 267.50 0.554319 -312.50 82.50 272.50 0.239625 -312.50 82.50 277.50 0.125546 -312.50 82.50 282.50 0.0772341 -312.50 82.50 287.50 0.0700692 -312.50 82.50 292.50 0.0927869 -312.50 82.50 297.50 0.176318 -312.50 82.50 302.50 0.393791 -312.50 82.50 307.50 0.85953 -312.50 82.50 312.50 1.60633 -312.50 82.50 317.50 2.4979 -312.50 82.50 322.50 3.51669 -312.50 82.50 327.50 4.50362 -312.50 82.50 332.50 4.91499 -312.50 82.50 337.50 4.46684 -312.50 82.50 342.50 3.30358 -312.50 82.50 347.50 2.09991 -312.50 82.50 352.50 1.13893 -312.50 82.50 357.50 0.554321 -312.50 87.50 2.50 0.132069 -312.50 87.50 7.50 0.079334 -312.50 87.50 12.50 0.101098 -312.50 87.50 17.50 0.185422 -312.50 87.50 22.50 0.313856 -312.50 87.50 27.50 0.555858 -312.50 87.50 32.50 0.958484 -312.50 87.50 37.50 1.51502 -312.50 87.50 42.50 2.16789 -312.50 87.50 47.50 2.84469 -312.50 87.50 52.50 3.477 -312.50 87.50 57.50 3.91893 -312.50 87.50 62.50 3.86455 -312.50 87.50 67.50 3.15089 -312.50 87.50 72.50 2.08425 -312.50 87.50 77.50 1.1883 -312.50 87.50 82.50 0.659936 -312.50 87.50 87.50 0.309184 -312.50 87.50 92.50 0.132069 -312.50 87.50 97.50 0.0793339 -312.50 87.50 102.50 0.101098 -312.50 87.50 107.50 0.185422 -312.50 87.50 112.50 0.313855 -312.50 87.50 117.50 0.555858 -312.50 87.50 122.50 0.958483 -312.50 87.50 127.50 1.51502 -312.50 87.50 132.50 2.1679 -312.50 87.50 137.50 2.84469 -312.50 87.50 142.50 3.477 -312.50 87.50 147.50 3.91893 -312.50 87.50 152.50 3.86455 -312.50 87.50 157.50 3.15089 -312.50 87.50 162.50 2.08426 -312.50 87.50 167.50 1.1883 -312.50 87.50 172.50 0.659937 -312.50 87.50 177.50 0.309185 -312.50 87.50 182.50 0.132069 -312.50 87.50 187.50 0.0793339 -312.50 87.50 192.50 0.101097 -312.50 87.50 197.50 0.185422 -312.50 87.50 202.50 0.313855 -312.50 87.50 207.50 0.555857 -312.50 87.50 212.50 0.958483 -312.50 87.50 217.50 1.51502 -312.50 87.50 222.50 2.16789 -312.50 87.50 227.50 2.84469 -312.50 87.50 232.50 3.477 -312.50 87.50 237.50 3.91893 -312.50 87.50 242.50 3.86455 -312.50 87.50 247.50 3.15089 -312.50 87.50 252.50 2.08425 -312.50 87.50 257.50 1.1883 -312.50 87.50 262.50 0.659936 -312.50 87.50 267.50 0.309184 -312.50 87.50 272.50 0.132069 -312.50 87.50 277.50 0.079334 -312.50 87.50 282.50 0.101098 -312.50 87.50 287.50 0.185422 -312.50 87.50 292.50 0.313856 -312.50 87.50 297.50 0.555858 -312.50 87.50 302.50 0.958483 -312.50 87.50 307.50 1.51502 -312.50 87.50 312.50 2.16789 -312.50 87.50 317.50 2.84469 -312.50 87.50 322.50 3.477 -312.50 87.50 327.50 3.91893 -312.50 87.50 332.50 3.86455 -312.50 87.50 337.50 3.15089 -312.50 87.50 342.50 2.08426 -312.50 87.50 347.50 1.1883 -312.50 87.50 352.50 0.659937 -312.50 87.50 357.50 0.309185 -312.50 92.50 2.50 0.083846 -312.50 92.50 7.50 0.12541 -312.50 92.50 12.50 0.244556 -312.50 92.50 17.50 0.460877 -312.50 92.50 22.50 0.865463 -312.50 92.50 27.50 1.46809 -312.50 92.50 32.50 2.09891 -312.50 92.50 37.50 2.5719 -312.50 92.50 42.50 2.82218 -312.50 92.50 47.50 2.89161 -312.50 92.50 52.50 2.82217 -312.50 92.50 57.50 2.5719 -312.50 92.50 62.50 2.09891 -312.50 92.50 67.50 1.46809 -312.50 92.50 72.50 0.865462 -312.50 92.50 77.50 0.460876 -312.50 92.50 82.50 0.244556 -312.50 92.50 87.50 0.12541 -312.50 92.50 92.50 0.083846 -312.50 92.50 97.50 0.12541 -312.50 92.50 102.50 0.244556 -312.50 92.50 107.50 0.460877 -312.50 92.50 112.50 0.865462 -312.50 92.50 117.50 1.46809 -312.50 92.50 122.50 2.09891 -312.50 92.50 127.50 2.5719 -312.50 92.50 132.50 2.82217 -312.50 92.50 137.50 2.89161 -312.50 92.50 142.50 2.82217 -312.50 92.50 147.50 2.5719 -312.50 92.50 152.50 2.09891 -312.50 92.50 157.50 1.46809 -312.50 92.50 162.50 0.865462 -312.50 92.50 167.50 0.460877 -312.50 92.50 172.50 0.244556 -312.50 92.50 177.50 0.12541 -312.50 92.50 182.50 0.083846 -312.50 92.50 187.50 0.12541 -312.50 92.50 192.50 0.244556 -312.50 92.50 197.50 0.460877 -312.50 92.50 202.50 0.865463 -312.50 92.50 207.50 1.46809 -312.50 92.50 212.50 2.09891 -312.50 92.50 217.50 2.5719 -312.50 92.50 222.50 2.82218 -312.50 92.50 227.50 2.89161 -312.50 92.50 232.50 2.82217 -312.50 92.50 237.50 2.5719 -312.50 92.50 242.50 2.09891 -312.50 92.50 247.50 1.46809 -312.50 92.50 252.50 0.865461 -312.50 92.50 257.50 0.460876 -312.50 92.50 262.50 0.244555 -312.50 92.50 267.50 0.12541 -312.50 92.50 272.50 0.083846 -312.50 92.50 277.50 0.12541 -312.50 92.50 282.50 0.244556 -312.50 92.50 287.50 0.460877 -312.50 92.50 292.50 0.865462 -312.50 92.50 297.50 1.46809 -312.50 92.50 302.50 2.09891 -312.50 92.50 307.50 2.5719 -312.50 92.50 312.50 2.82217 -312.50 92.50 317.50 2.89161 -312.50 92.50 322.50 2.82218 -312.50 92.50 327.50 2.57191 -312.50 92.50 332.50 2.09891 -312.50 92.50 337.50 1.46809 -312.50 92.50 342.50 0.865464 -312.50 92.50 347.50 0.460877 -312.50 92.50 352.50 0.244556 -312.50 92.50 357.50 0.12541 -312.50 97.50 2.50 0.132069 -312.50 97.50 7.50 0.309185 -312.50 97.50 12.50 0.659937 -312.50 97.50 17.50 1.1883 -312.50 97.50 22.50 2.08426 -312.50 97.50 27.50 3.15089 -312.50 97.50 32.50 3.86455 -312.50 97.50 37.50 3.91893 -312.50 97.50 42.50 3.477 -312.50 97.50 47.50 2.84468 -312.50 97.50 52.50 2.16789 -312.50 97.50 57.50 1.51502 -312.50 97.50 62.50 0.958483 -312.50 97.50 67.50 0.555858 -312.50 97.50 72.50 0.313855 -312.50 97.50 77.50 0.185422 -312.50 97.50 82.50 0.101098 -312.50 97.50 87.50 0.0793339 -312.50 97.50 92.50 0.132069 -312.50 97.50 97.50 0.309185 -312.50 97.50 102.50 0.659936 -312.50 97.50 107.50 1.1883 -312.50 97.50 112.50 2.08425 -312.50 97.50 117.50 3.15089 -312.50 97.50 122.50 3.86455 -312.50 97.50 127.50 3.91893 -312.50 97.50 132.50 3.477 -312.50 97.50 137.50 2.84468 -312.50 97.50 142.50 2.16789 -312.50 97.50 147.50 1.51502 -312.50 97.50 152.50 0.958484 -312.50 97.50 157.50 0.555858 -312.50 97.50 162.50 0.313856 -312.50 97.50 167.50 0.185422 -312.50 97.50 172.50 0.101098 -312.50 97.50 177.50 0.0793339 -312.50 97.50 182.50 0.132069 -312.50 97.50 187.50 0.309184 -312.50 97.50 192.50 0.659936 -312.50 97.50 197.50 1.1883 -312.50 97.50 202.50 2.08425 -312.50 97.50 207.50 3.15088 -312.50 97.50 212.50 3.86455 -312.50 97.50 217.50 3.91893 -312.50 97.50 222.50 3.477 -312.50 97.50 227.50 2.84469 -312.50 97.50 232.50 2.16789 -312.50 97.50 237.50 1.51502 -312.50 97.50 242.50 0.958483 -312.50 97.50 247.50 0.555858 -312.50 97.50 252.50 0.313855 -312.50 97.50 257.50 0.185422 -312.50 97.50 262.50 0.101097 -312.50 97.50 267.50 0.0793339 -312.50 97.50 272.50 0.132069 -312.50 97.50 277.50 0.309184 -312.50 97.50 282.50 0.659936 -312.50 97.50 287.50 1.1883 -312.50 97.50 292.50 2.08426 -312.50 97.50 297.50 3.15089 -312.50 97.50 302.50 3.86455 -312.50 97.50 307.50 3.91893 -312.50 97.50 312.50 3.477 -312.50 97.50 317.50 2.84469 -312.50 97.50 322.50 2.1679 -312.50 97.50 327.50 1.51502 -312.50 97.50 332.50 0.958485 -312.50 97.50 337.50 0.555858 -312.50 97.50 342.50 0.313856 -312.50 97.50 347.50 0.185422 -312.50 97.50 352.50 0.101098 -312.50 97.50 357.50 0.079334 -312.50 102.50 2.50 0.239625 -312.50 102.50 7.50 0.55432 -312.50 102.50 12.50 1.13893 -312.50 102.50 17.50 2.0999 -312.50 102.50 22.50 3.30358 -312.50 102.50 27.50 4.46684 -312.50 102.50 32.50 4.91499 -312.50 102.50 37.50 4.50362 -312.50 102.50 42.50 3.5167 -312.50 102.50 47.50 2.4979 -312.50 102.50 52.50 1.60633 -312.50 102.50 57.50 0.85953 -312.50 102.50 62.50 0.393791 -312.50 102.50 67.50 0.176318 -312.50 102.50 72.50 0.0927869 -312.50 102.50 77.50 0.0700693 -312.50 102.50 82.50 0.0772341 -312.50 102.50 87.50 0.125546 -312.50 102.50 92.50 0.239625 -312.50 102.50 97.50 0.55432 -312.50 102.50 102.50 1.13893 -312.50 102.50 107.50 2.0999 -312.50 102.50 112.50 3.30358 -312.50 102.50 117.50 4.46684 -312.50 102.50 122.50 4.91499 -312.50 102.50 127.50 4.50362 -312.50 102.50 132.50 3.5167 -312.50 102.50 137.50 2.4979 -312.50 102.50 142.50 1.60633 -312.50 102.50 147.50 0.85953 -312.50 102.50 152.50 0.393791 -312.50 102.50 157.50 0.176318 -312.50 102.50 162.50 0.092787 -312.50 102.50 167.50 0.0700693 -312.50 102.50 172.50 0.0772341 -312.50 102.50 177.50 0.125546 -312.50 102.50 182.50 0.239625 -312.50 102.50 187.50 0.55432 -312.50 102.50 192.50 1.13893 -312.50 102.50 197.50 2.09991 -312.50 102.50 202.50 3.30358 -312.50 102.50 207.50 4.46684 -312.50 102.50 212.50 4.91499 -312.50 102.50 217.50 4.50362 -312.50 102.50 222.50 3.5167 -312.50 102.50 227.50 2.4979 -312.50 102.50 232.50 1.60633 -312.50 102.50 237.50 0.859529 -312.50 102.50 242.50 0.393791 -312.50 102.50 247.50 0.176318 -312.50 102.50 252.50 0.0927869 -312.50 102.50 257.50 0.0700692 -312.50 102.50 262.50 0.0772341 -312.50 102.50 267.50 0.125546 -312.50 102.50 272.50 0.239625 -312.50 102.50 277.50 0.55432 -312.50 102.50 282.50 1.13893 -312.50 102.50 287.50 2.0999 -312.50 102.50 292.50 3.30358 -312.50 102.50 297.50 4.46684 -312.50 102.50 302.50 4.91499 -312.50 102.50 307.50 4.50362 -312.50 102.50 312.50 3.5167 -312.50 102.50 317.50 2.4979 -312.50 102.50 322.50 1.60633 -312.50 102.50 327.50 0.859532 -312.50 102.50 332.50 0.393792 -312.50 102.50 337.50 0.176319 -312.50 102.50 342.50 0.092787 -312.50 102.50 347.50 0.0700692 -312.50 102.50 352.50 0.0772341 -312.50 102.50 357.50 0.125545 -312.50 107.50 2.50 0.338201 -312.50 107.50 7.50 0.73616 -312.50 107.50 12.50 1.44413 -312.50 107.50 17.50 2.73288 -312.50 107.50 22.50 4.17443 -312.50 107.50 27.50 5.10879 -312.50 107.50 32.50 5.19463 -312.50 107.50 37.50 4.33102 -312.50 107.50 42.50 3.12333 -312.50 107.50 47.50 1.88771 -312.50 107.50 52.50 0.97389 -312.50 107.50 57.50 0.421262 -312.50 107.50 62.50 0.147111 -312.50 107.50 67.50 0.0478692 -312.50 107.50 72.50 0.0263765 -312.50 107.50 77.50 0.0376966 -312.50 107.50 82.50 0.0790086 -312.50 107.50 87.50 0.178607 -312.50 107.50 92.50 0.338201 -312.50 107.50 97.50 0.73616 -312.50 107.50 102.50 1.44413 -312.50 107.50 107.50 2.73288 -312.50 107.50 112.50 4.17443 -312.50 107.50 117.50 5.10879 -312.50 107.50 122.50 5.19463 -312.50 107.50 127.50 4.33102 -312.50 107.50 132.50 3.12333 -312.50 107.50 137.50 1.88771 -312.50 107.50 142.50 0.97389 -312.50 107.50 147.50 0.421262 -312.50 107.50 152.50 0.147111 -312.50 107.50 157.50 0.0478693 -312.50 107.50 162.50 0.0263765 -312.50 107.50 167.50 0.0376966 -312.50 107.50 172.50 0.0790086 -312.50 107.50 177.50 0.178607 -312.50 107.50 182.50 0.338201 -312.50 107.50 187.50 0.73616 -312.50 107.50 192.50 1.44413 -312.50 107.50 197.50 2.73288 -312.50 107.50 202.50 4.17443 -312.50 107.50 207.50 5.10879 -312.50 107.50 212.50 5.19463 -312.50 107.50 217.50 4.33102 -312.50 107.50 222.50 3.12333 -312.50 107.50 227.50 1.88771 -312.50 107.50 232.50 0.973889 -312.50 107.50 237.50 0.421261 -312.50 107.50 242.50 0.147111 -312.50 107.50 247.50 0.0478692 -312.50 107.50 252.50 0.0263765 -312.50 107.50 257.50 0.0376966 -312.50 107.50 262.50 0.0790087 -312.50 107.50 267.50 0.178607 -312.50 107.50 272.50 0.338201 -312.50 107.50 277.50 0.73616 -312.50 107.50 282.50 1.44413 -312.50 107.50 287.50 2.73288 -312.50 107.50 292.50 4.17443 -312.50 107.50 297.50 5.10879 -312.50 107.50 302.50 5.19463 -312.50 107.50 307.50 4.33102 -312.50 107.50 312.50 3.12333 -312.50 107.50 317.50 1.88771 -312.50 107.50 322.50 0.973892 -312.50 107.50 327.50 0.421263 -312.50 107.50 332.50 0.147112 -312.50 107.50 337.50 0.0478694 -312.50 107.50 342.50 0.0263765 -312.50 107.50 347.50 0.0376965 -312.50 107.50 352.50 0.0790084 -312.50 107.50 357.50 0.178607 -312.50 112.50 2.50 0.431719 -312.50 112.50 7.50 0.884318 -312.50 112.50 12.50 1.64508 -312.50 112.50 17.50 2.78633 -312.50 112.50 22.50 4.10632 -312.50 112.50 27.50 4.68107 -312.50 112.50 32.50 4.36541 -312.50 112.50 37.50 3.4516 -312.50 112.50 42.50 2.17709 -312.50 112.50 47.50 1.09353 -312.50 112.50 52.50 0.456806 -312.50 112.50 57.50 0.16299 -312.50 112.50 62.50 0.0509298 -312.50 112.50 67.50 0.0130062 -312.50 112.50 72.50 0.009612 -312.50 112.50 77.50 0.0277193 -312.50 112.50 82.50 0.0853452 -312.50 112.50 87.50 0.187455 -312.50 112.50 92.50 0.431719 -312.50 112.50 97.50 0.884318 -312.50 112.50 102.50 1.64508 -312.50 112.50 107.50 2.78633 -312.50 112.50 112.50 4.10632 -312.50 112.50 117.50 4.68107 -312.50 112.50 122.50 4.36541 -312.50 112.50 127.50 3.4516 -312.50 112.50 132.50 2.17709 -312.50 112.50 137.50 1.09353 -312.50 112.50 142.50 0.456806 -312.50 112.50 147.50 0.162991 -312.50 112.50 152.50 0.0509299 -312.50 112.50 157.50 0.0130062 -312.50 112.50 162.50 0.009612 -312.50 112.50 167.50 0.0277193 -312.50 112.50 172.50 0.0853451 -312.50 112.50 177.50 0.187455 -312.50 112.50 182.50 0.431719 -312.50 112.50 187.50 0.884318 -312.50 112.50 192.50 1.64508 -312.50 112.50 197.50 2.78633 -312.50 112.50 202.50 4.10632 -312.50 112.50 207.50 4.68107 -312.50 112.50 212.50 4.36541 -312.50 112.50 217.50 3.4516 -312.50 112.50 222.50 2.17709 -312.50 112.50 227.50 1.09353 -312.50 112.50 232.50 0.456805 -312.50 112.50 237.50 0.16299 -312.50 112.50 242.50 0.0509297 -312.50 112.50 247.50 0.0130062 -312.50 112.50 252.50 0.009612 -312.50 112.50 257.50 0.0277193 -312.50 112.50 262.50 0.0853453 -312.50 112.50 267.50 0.187455 -312.50 112.50 272.50 0.431719 -312.50 112.50 277.50 0.884318 -312.50 112.50 282.50 1.64508 -312.50 112.50 287.50 2.78633 -312.50 112.50 292.50 4.10632 -312.50 112.50 297.50 4.68107 -312.50 112.50 302.50 4.36541 -312.50 112.50 307.50 3.4516 -312.50 112.50 312.50 2.17709 -312.50 112.50 317.50 1.09353 -312.50 112.50 322.50 0.456807 -312.50 112.50 327.50 0.162991 -312.50 112.50 332.50 0.05093 -312.50 112.50 337.50 0.0130063 -312.50 112.50 342.50 0.00961199 -312.50 112.50 347.50 0.0277192 -312.50 112.50 352.50 0.0853449 -312.50 112.50 357.50 0.187455 -312.50 117.50 2.50 0.558756 -312.50 117.50 7.50 1.02867 -312.50 117.50 12.50 1.62736 -312.50 117.50 17.50 2.35769 -312.50 117.50 22.50 3.0666 -312.50 117.50 27.50 3.30371 -312.50 117.50 32.50 2.79687 -312.50 117.50 37.50 1.94523 -312.50 117.50 42.50 1.0852 -312.50 117.50 47.50 0.504636 -312.50 117.50 52.50 0.223059 -312.50 117.50 57.50 0.095084 -312.50 117.50 62.50 0.0329186 -312.50 117.50 67.50 0.0154909 -312.50 117.50 72.50 0.023698 -312.50 117.50 77.50 0.0594932 -312.50 117.50 82.50 0.131129 -312.50 117.50 87.50 0.259396 -312.50 117.50 92.50 0.558756 -312.50 117.50 97.50 1.02867 -312.50 117.50 102.50 1.62736 -312.50 117.50 107.50 2.35769 -312.50 117.50 112.50 3.0666 -312.50 117.50 117.50 3.30371 -312.50 117.50 122.50 2.79687 -312.50 117.50 127.50 1.94522 -312.50 117.50 132.50 1.0852 -312.50 117.50 137.50 0.504636 -312.50 117.50 142.50 0.223059 -312.50 117.50 147.50 0.0950841 -312.50 117.50 152.50 0.0329186 -312.50 117.50 157.50 0.0154909 -312.50 117.50 162.50 0.0236979 -312.50 117.50 167.50 0.0594931 -312.50 117.50 172.50 0.131129 -312.50 117.50 177.50 0.259395 -312.50 117.50 182.50 0.558756 -312.50 117.50 187.50 1.02867 -312.50 117.50 192.50 1.62736 -312.50 117.50 197.50 2.35769 -312.50 117.50 202.50 3.0666 -312.50 117.50 207.50 3.30371 -312.50 117.50 212.50 2.79687 -312.50 117.50 217.50 1.94523 -312.50 117.50 222.50 1.0852 -312.50 117.50 227.50 0.504636 -312.50 117.50 232.50 0.223058 -312.50 117.50 237.50 0.0950839 -312.50 117.50 242.50 0.0329186 -312.50 117.50 247.50 0.0154909 -312.50 117.50 252.50 0.023698 -312.50 117.50 257.50 0.0594932 -312.50 117.50 262.50 0.131129 -312.50 117.50 267.50 0.259396 -312.50 117.50 272.50 0.558756 -312.50 117.50 277.50 1.02867 -312.50 117.50 282.50 1.62736 -312.50 117.50 287.50 2.35769 -312.50 117.50 292.50 3.0666 -312.50 117.50 297.50 3.30371 -312.50 117.50 302.50 2.79687 -312.50 117.50 307.50 1.94523 -312.50 117.50 312.50 1.0852 -312.50 117.50 317.50 0.504637 -312.50 117.50 322.50 0.223059 -312.50 117.50 327.50 0.0950842 -312.50 117.50 332.50 0.0329187 -312.50 117.50 337.50 0.015491 -312.50 117.50 342.50 0.0236979 -312.50 117.50 347.50 0.0594931 -312.50 117.50 352.50 0.131129 -312.50 117.50 357.50 0.259395 -312.50 122.50 2.50 0.674571 -312.50 122.50 7.50 1.00263 -312.50 122.50 12.50 1.328 -312.50 122.50 17.50 1.6142 -312.50 122.50 22.50 1.77647 -312.50 122.50 27.50 1.69099 -312.50 122.50 32.50 1.32348 -312.50 122.50 37.50 0.815866 -312.50 122.50 42.50 0.377146 -312.50 122.50 47.50 0.169935 -312.50 122.50 52.50 0.0966425 -312.50 122.50 57.50 0.0675347 -312.50 122.50 62.50 0.0696793 -312.50 122.50 67.50 0.0868906 -312.50 122.50 72.50 0.129093 -312.50 122.50 77.50 0.208771 -312.50 122.50 82.50 0.309995 -312.50 122.50 87.50 0.413683 -312.50 122.50 92.50 0.674572 -312.50 122.50 97.50 1.00263 -312.50 122.50 102.50 1.32801 -312.50 122.50 107.50 1.6142 -312.50 122.50 112.50 1.77647 -312.50 122.50 117.50 1.69099 -312.50 122.50 122.50 1.32349 -312.50 122.50 127.50 0.815864 -312.50 122.50 132.50 0.377146 -312.50 122.50 137.50 0.169935 -312.50 122.50 142.50 0.0966425 -312.50 122.50 147.50 0.0675346 -312.50 122.50 152.50 0.0696793 -312.50 122.50 157.50 0.0868905 -312.50 122.50 162.50 0.129092 -312.50 122.50 167.50 0.20877 -312.50 122.50 172.50 0.309995 -312.50 122.50 177.50 0.413683 -312.50 122.50 182.50 0.674572 -312.50 122.50 187.50 1.00263 -312.50 122.50 192.50 1.328 -312.50 122.50 197.50 1.6142 -312.50 122.50 202.50 1.77647 -312.50 122.50 207.50 1.69099 -312.50 122.50 212.50 1.32349 -312.50 122.50 217.50 0.815866 -312.50 122.50 222.50 0.377147 -312.50 122.50 227.50 0.169935 -312.50 122.50 232.50 0.0966424 -312.50 122.50 237.50 0.0675347 -312.50 122.50 242.50 0.0696793 -312.50 122.50 247.50 0.0868906 -312.50 122.50 252.50 0.129093 -312.50 122.50 257.50 0.20877 -312.50 122.50 262.50 0.309995 -312.50 122.50 267.50 0.413683 -312.50 122.50 272.50 0.674572 -312.50 122.50 277.50 1.00263 -312.50 122.50 282.50 1.328 -312.50 122.50 287.50 1.6142 -312.50 122.50 292.50 1.77647 -312.50 122.50 297.50 1.69099 -312.50 122.50 302.50 1.32348 -312.50 122.50 307.50 0.815866 -312.50 122.50 312.50 0.377147 -312.50 122.50 317.50 0.169935 -312.50 122.50 322.50 0.0966426 -312.50 122.50 327.50 0.0675347 -312.50 122.50 332.50 0.0696793 -312.50 122.50 337.50 0.0868905 -312.50 122.50 342.50 0.129092 -312.50 122.50 347.50 0.208771 -312.50 122.50 352.50 0.309995 -312.50 122.50 357.50 0.413683 -312.50 127.50 2.50 0.728262 -312.50 127.50 7.50 0.776922 -312.50 127.50 12.50 0.83093 -312.50 127.50 17.50 0.886594 -312.50 127.50 22.50 0.841224 -312.50 127.50 27.50 0.662421 -312.50 127.50 32.50 0.461696 -312.50 127.50 37.50 0.23898 -312.50 127.50 42.50 0.0984554 -312.50 127.50 47.50 0.0521242 -312.50 127.50 52.50 0.0554554 -312.50 127.50 57.50 0.115169 -312.50 127.50 62.50 0.228961 -312.50 127.50 67.50 0.348195 -312.50 127.50 72.50 0.530183 -312.50 127.50 77.50 0.659597 -312.50 127.50 82.50 0.702082 -312.50 127.50 87.50 0.64896 -312.50 127.50 92.50 0.728262 -312.50 127.50 97.50 0.776922 -312.50 127.50 102.50 0.83093 -312.50 127.50 107.50 0.886594 -312.50 127.50 112.50 0.841225 -312.50 127.50 117.50 0.662421 -312.50 127.50 122.50 0.461696 -312.50 127.50 127.50 0.23898 -312.50 127.50 132.50 0.0984553 -312.50 127.50 137.50 0.0521242 -312.50 127.50 142.50 0.0554554 -312.50 127.50 147.50 0.115169 -312.50 127.50 152.50 0.228961 -312.50 127.50 157.50 0.348195 -312.50 127.50 162.50 0.530183 -312.50 127.50 167.50 0.659596 -312.50 127.50 172.50 0.702082 -312.50 127.50 177.50 0.64896 -312.50 127.50 182.50 0.728262 -312.50 127.50 187.50 0.776922 -312.50 127.50 192.50 0.830931 -312.50 127.50 197.50 0.886595 -312.50 127.50 202.50 0.841225 -312.50 127.50 207.50 0.662422 -312.50 127.50 212.50 0.461697 -312.50 127.50 217.50 0.23898 -312.50 127.50 222.50 0.0984553 -312.50 127.50 227.50 0.0521243 -312.50 127.50 232.50 0.0554554 -312.50 127.50 237.50 0.115169 -312.50 127.50 242.50 0.228961 -312.50 127.50 247.50 0.348195 -312.50 127.50 252.50 0.530183 -312.50 127.50 257.50 0.659596 -312.50 127.50 262.50 0.702082 -312.50 127.50 267.50 0.648959 -312.50 127.50 272.50 0.728262 -312.50 127.50 277.50 0.776921 -312.50 127.50 282.50 0.83093 -312.50 127.50 287.50 0.886595 -312.50 127.50 292.50 0.841225 -312.50 127.50 297.50 0.662422 -312.50 127.50 302.50 0.461697 -312.50 127.50 307.50 0.23898 -312.50 127.50 312.50 0.0984554 -312.50 127.50 317.50 0.0521243 -312.50 127.50 322.50 0.0554553 -312.50 127.50 327.50 0.115169 -312.50 127.50 332.50 0.228961 -312.50 127.50 337.50 0.348195 -312.50 127.50 342.50 0.530183 -312.50 127.50 347.50 0.659596 -312.50 127.50 352.50 0.702082 -312.50 127.50 357.50 0.64896 -312.50 132.50 2.50 0.744225 -312.50 132.50 7.50 0.522225 -312.50 132.50 12.50 0.410069 -312.50 132.50 17.50 0.355454 -312.50 132.50 22.50 0.328955 -312.50 132.50 27.50 0.223955 -312.50 132.50 32.50 0.120782 -312.50 132.50 37.50 0.0546704 -312.50 132.50 42.50 0.0248604 -312.50 132.50 47.50 0.0395078 -312.50 132.50 52.50 0.128969 -312.50 132.50 57.50 0.339821 -312.50 132.50 62.50 0.632368 -312.50 132.50 67.50 1.041 -312.50 132.50 72.50 1.47003 -312.50 132.50 77.50 1.56225 -312.50 132.50 82.50 1.30023 -312.50 132.50 87.50 0.958351 -312.50 132.50 92.50 0.744224 -312.50 132.50 97.50 0.522225 -312.50 132.50 102.50 0.410069 -312.50 132.50 107.50 0.355454 -312.50 132.50 112.50 0.328956 -312.50 132.50 117.50 0.223955 -312.50 132.50 122.50 0.120782 -312.50 132.50 127.50 0.0546704 -312.50 132.50 132.50 0.0248604 -312.50 132.50 137.50 0.0395077 -312.50 132.50 142.50 0.128969 -312.50 132.50 147.50 0.33982 -312.50 132.50 152.50 0.632368 -312.50 132.50 157.50 1.04099 -312.50 132.50 162.50 1.47003 -312.50 132.50 167.50 1.56225 -312.50 132.50 172.50 1.30023 -312.50 132.50 177.50 0.958352 -312.50 132.50 182.50 0.744224 -312.50 132.50 187.50 0.522225 -312.50 132.50 192.50 0.410069 -312.50 132.50 197.50 0.355454 -312.50 132.50 202.50 0.328956 -312.50 132.50 207.50 0.223955 -312.50 132.50 212.50 0.120782 -312.50 132.50 217.50 0.0546704 -312.50 132.50 222.50 0.0248604 -312.50 132.50 227.50 0.0395077 -312.50 132.50 232.50 0.128969 -312.50 132.50 237.50 0.339821 -312.50 132.50 242.50 0.632368 -312.50 132.50 247.50 1.041 -312.50 132.50 252.50 1.47003 -312.50 132.50 257.50 1.56225 -312.50 132.50 262.50 1.30023 -312.50 132.50 267.50 0.958351 -312.50 132.50 272.50 0.744224 -312.50 132.50 277.50 0.522225 -312.50 132.50 282.50 0.410069 -312.50 132.50 287.50 0.355454 -312.50 132.50 292.50 0.328956 -312.50 132.50 297.50 0.223955 -312.50 132.50 302.50 0.120783 -312.50 132.50 307.50 0.0546705 -312.50 132.50 312.50 0.0248604 -312.50 132.50 317.50 0.0395077 -312.50 132.50 322.50 0.128969 -312.50 132.50 327.50 0.33982 -312.50 132.50 332.50 0.632368 -312.50 132.50 337.50 1.04099 -312.50 132.50 342.50 1.47003 -312.50 132.50 347.50 1.56225 -312.50 132.50 352.50 1.30023 -312.50 132.50 357.50 0.958352 -312.50 137.50 2.50 0.748974 -312.50 137.50 7.50 0.352337 -312.50 137.50 12.50 0.177551 -312.50 137.50 17.50 0.119314 -312.50 137.50 22.50 0.0948643 -312.50 137.50 27.50 0.062525 -312.50 137.50 32.50 0.0257526 -312.50 137.50 37.50 0.0182599 -312.50 137.50 42.50 0.0315759 -312.50 137.50 47.50 0.117767 -312.50 137.50 52.50 0.332446 -312.50 137.50 57.50 0.808732 -312.50 137.50 62.50 1.50534 -312.50 137.50 67.50 2.34909 -312.50 137.50 72.50 2.99443 -312.50 137.50 77.50 2.79904 -312.50 137.50 82.50 2.06907 -312.50 137.50 87.50 1.30179 -312.50 137.50 92.50 0.748974 -312.50 137.50 97.50 0.352337 -312.50 137.50 102.50 0.17755 -312.50 137.50 107.50 0.119315 -312.50 137.50 112.50 0.0948642 -312.50 137.50 117.50 0.062525 -312.50 137.50 122.50 0.0257526 -312.50 137.50 127.50 0.0182599 -312.50 137.50 132.50 0.0315758 -312.50 137.50 137.50 0.117767 -312.50 137.50 142.50 0.332446 -312.50 137.50 147.50 0.808732 -312.50 137.50 152.50 1.50534 -312.50 137.50 157.50 2.34909 -312.50 137.50 162.50 2.99443 -312.50 137.50 167.50 2.79904 -312.50 137.50 172.50 2.06907 -312.50 137.50 177.50 1.30179 -312.50 137.50 182.50 0.748974 -312.50 137.50 187.50 0.352337 -312.50 137.50 192.50 0.177551 -312.50 137.50 197.50 0.119315 -312.50 137.50 202.50 0.0948643 -312.50 137.50 207.50 0.0625251 -312.50 137.50 212.50 0.0257526 -312.50 137.50 217.50 0.0182599 -312.50 137.50 222.50 0.0315758 -312.50 137.50 227.50 0.117766 -312.50 137.50 232.50 0.332446 -312.50 137.50 237.50 0.808733 -312.50 137.50 242.50 1.50534 -312.50 137.50 247.50 2.34909 -312.50 137.50 252.50 2.99443 -312.50 137.50 257.50 2.79904 -312.50 137.50 262.50 2.06907 -312.50 137.50 267.50 1.30179 -312.50 137.50 272.50 0.748974 -312.50 137.50 277.50 0.352337 -312.50 137.50 282.50 0.177551 -312.50 137.50 287.50 0.119315 -312.50 137.50 292.50 0.0948643 -312.50 137.50 297.50 0.0625251 -312.50 137.50 302.50 0.0257527 -312.50 137.50 307.50 0.0182599 -312.50 137.50 312.50 0.0315758 -312.50 137.50 317.50 0.117766 -312.50 137.50 322.50 0.332445 -312.50 137.50 327.50 0.808731 -312.50 137.50 332.50 1.50534 -312.50 137.50 337.50 2.34909 -312.50 137.50 342.50 2.99443 -312.50 137.50 347.50 2.79905 -312.50 137.50 352.50 2.06907 -312.50 137.50 357.50 1.3018 -312.50 142.50 2.50 0.744225 -312.50 142.50 7.50 0.25764 -312.50 142.50 12.50 0.0797781 -312.50 142.50 17.50 0.03419 -312.50 142.50 22.50 0.0205436 -312.50 142.50 27.50 0.0139855 -312.50 142.50 32.50 0.0156238 -312.50 142.50 37.50 0.0431595 -312.50 142.50 42.50 0.117309 -312.50 142.50 47.50 0.283541 -312.50 142.50 52.50 0.677184 -312.50 142.50 57.50 1.4521 -312.50 142.50 62.50 2.64638 -312.50 142.50 67.50 3.91269 -312.50 142.50 72.50 4.6062 -312.50 142.50 77.50 4.14883 -312.50 142.50 82.50 2.93175 -312.50 142.50 87.50 1.6303 -312.50 142.50 92.50 0.744225 -312.50 142.50 97.50 0.25764 -312.50 142.50 102.50 0.0797781 -312.50 142.50 107.50 0.03419 -312.50 142.50 112.50 0.0205436 -312.50 142.50 117.50 0.0139855 -312.50 142.50 122.50 0.0156238 -312.50 142.50 127.50 0.0431595 -312.50 142.50 132.50 0.117309 -312.50 142.50 137.50 0.283541 -312.50 142.50 142.50 0.677184 -312.50 142.50 147.50 1.45209 -312.50 142.50 152.50 2.64638 -312.50 142.50 157.50 3.91268 -312.50 142.50 162.50 4.6062 -312.50 142.50 167.50 4.14883 -312.50 142.50 172.50 2.93174 -312.50 142.50 177.50 1.6303 -312.50 142.50 182.50 0.744224 -312.50 142.50 187.50 0.25764 -312.50 142.50 192.50 0.079778 -312.50 142.50 197.50 0.03419 -312.50 142.50 202.50 0.0205436 -312.50 142.50 207.50 0.0139855 -312.50 142.50 212.50 0.0156238 -312.50 142.50 217.50 0.0431594 -312.50 142.50 222.50 0.117309 -312.50 142.50 227.50 0.283541 -312.50 142.50 232.50 0.677185 -312.50 142.50 237.50 1.4521 -312.50 142.50 242.50 2.64638 -312.50 142.50 247.50 3.91269 -312.50 142.50 252.50 4.6062 -312.50 142.50 257.50 4.14883 -312.50 142.50 262.50 2.93174 -312.50 142.50 267.50 1.6303 -312.50 142.50 272.50 0.744225 -312.50 142.50 277.50 0.25764 -312.50 142.50 282.50 0.0797781 -312.50 142.50 287.50 0.03419 -312.50 142.50 292.50 0.0205436 -312.50 142.50 297.50 0.0139855 -312.50 142.50 302.50 0.0156238 -312.50 142.50 307.50 0.0431594 -312.50 142.50 312.50 0.117309 -312.50 142.50 317.50 0.283541 -312.50 142.50 322.50 0.677183 -312.50 142.50 327.50 1.45209 -312.50 142.50 332.50 2.64638 -312.50 142.50 337.50 3.91268 -312.50 142.50 342.50 4.6062 -312.50 142.50 347.50 4.14883 -312.50 142.50 352.50 2.93175 -312.50 142.50 357.50 1.63031 -312.50 147.50 2.50 0.728262 -312.50 147.50 7.50 0.208458 -312.50 147.50 12.50 0.0528743 -312.50 147.50 17.50 0.0141549 -312.50 147.50 22.50 0.00811181 -312.50 147.50 27.50 0.0140954 -312.50 147.50 32.50 0.0465249 -312.50 147.50 37.50 0.1377 -312.50 147.50 42.50 0.328053 -312.50 147.50 47.50 0.620382 -312.50 147.50 52.50 1.13131 -312.50 147.50 57.50 2.10851 -312.50 147.50 62.50 3.53834 -312.50 147.50 67.50 4.99912 -312.50 147.50 72.50 5.68643 -312.50 147.50 77.50 5.17216 -312.50 147.50 82.50 3.59088 -312.50 147.50 87.50 1.84193 -312.50 147.50 92.50 0.728262 -312.50 147.50 97.50 0.208459 -312.50 147.50 102.50 0.0528743 -312.50 147.50 107.50 0.0141548 -312.50 147.50 112.50 0.00811181 -312.50 147.50 117.50 0.0140954 -312.50 147.50 122.50 0.0465249 -312.50 147.50 127.50 0.1377 -312.50 147.50 132.50 0.328053 -312.50 147.50 137.50 0.620381 -312.50 147.50 142.50 1.13131 -312.50 147.50 147.50 2.10851 -312.50 147.50 152.50 3.53834 -312.50 147.50 157.50 4.99912 -312.50 147.50 162.50 5.68643 -312.50 147.50 167.50 5.17216 -312.50 147.50 172.50 3.59088 -312.50 147.50 177.50 1.84194 -312.50 147.50 182.50 0.728261 -312.50 147.50 187.50 0.208458 -312.50 147.50 192.50 0.0528743 -312.50 147.50 197.50 0.0141549 -312.50 147.50 202.50 0.00811181 -312.50 147.50 207.50 0.0140954 -312.50 147.50 212.50 0.0465248 -312.50 147.50 217.50 0.1377 -312.50 147.50 222.50 0.328053 -312.50 147.50 227.50 0.620381 -312.50 147.50 232.50 1.13131 -312.50 147.50 237.50 2.10851 -312.50 147.50 242.50 3.53834 -312.50 147.50 247.50 4.99912 -312.50 147.50 252.50 5.68643 -312.50 147.50 257.50 5.17216 -312.50 147.50 262.50 3.59088 -312.50 147.50 267.50 1.84193 -312.50 147.50 272.50 0.728262 -312.50 147.50 277.50 0.208458 -312.50 147.50 282.50 0.0528743 -312.50 147.50 287.50 0.0141549 -312.50 147.50 292.50 0.00811181 -312.50 147.50 297.50 0.0140954 -312.50 147.50 302.50 0.0465248 -312.50 147.50 307.50 0.1377 -312.50 147.50 312.50 0.328053 -312.50 147.50 317.50 0.620381 -312.50 147.50 322.50 1.13131 -312.50 147.50 327.50 2.10851 -312.50 147.50 332.50 3.53834 -312.50 147.50 337.50 4.99912 -312.50 147.50 342.50 5.68643 -312.50 147.50 347.50 5.17216 -312.50 147.50 352.50 3.59088 -312.50 147.50 357.50 1.84194 -312.50 152.50 2.50 0.674571 -312.50 152.50 7.50 0.178438 -312.50 152.50 12.50 0.0504364 -312.50 152.50 17.50 0.0130588 -312.50 152.50 22.50 0.0155687 -312.50 152.50 27.50 0.0400465 -312.50 152.50 32.50 0.123107 -312.50 152.50 37.50 0.3163 -312.50 152.50 42.50 0.635226 -312.50 152.50 47.50 1.05363 -312.50 152.50 52.50 1.61851 -312.50 152.50 57.50 2.49292 -312.50 152.50 62.50 3.72516 -312.50 152.50 67.50 5.07766 -312.50 152.50 72.50 5.61847 -312.50 152.50 77.50 5.12189 -312.50 152.50 82.50 3.51128 -312.50 152.50 87.50 1.77615 -312.50 152.50 92.50 0.674571 -312.50 152.50 97.50 0.178438 -312.50 152.50 102.50 0.0504363 -312.50 152.50 107.50 0.0130588 -312.50 152.50 112.50 0.0155686 -312.50 152.50 117.50 0.0400465 -312.50 152.50 122.50 0.123107 -312.50 152.50 127.50 0.3163 -312.50 152.50 132.50 0.635227 -312.50 152.50 137.50 1.05363 -312.50 152.50 142.50 1.61851 -312.50 152.50 147.50 2.49292 -312.50 152.50 152.50 3.72517 -312.50 152.50 157.50 5.07766 -312.50 152.50 162.50 5.61847 -312.50 152.50 167.50 5.12189 -312.50 152.50 172.50 3.51128 -312.50 152.50 177.50 1.77615 -312.50 152.50 182.50 0.674571 -312.50 152.50 187.50 0.178438 -312.50 152.50 192.50 0.0504363 -312.50 152.50 197.50 0.0130588 -312.50 152.50 202.50 0.0155687 -312.50 152.50 207.50 0.0400464 -312.50 152.50 212.50 0.123107 -312.50 152.50 217.50 0.3163 -312.50 152.50 222.50 0.635226 -312.50 152.50 227.50 1.05363 -312.50 152.50 232.50 1.61851 -312.50 152.50 237.50 2.49292 -312.50 152.50 242.50 3.72517 -312.50 152.50 247.50 5.07766 -312.50 152.50 252.50 5.61847 -312.50 152.50 257.50 5.12188 -312.50 152.50 262.50 3.51128 -312.50 152.50 267.50 1.77615 -312.50 152.50 272.50 0.674571 -312.50 152.50 277.50 0.178438 -312.50 152.50 282.50 0.0504364 -312.50 152.50 287.50 0.0130588 -312.50 152.50 292.50 0.0155687 -312.50 152.50 297.50 0.0400464 -312.50 152.50 302.50 0.123107 -312.50 152.50 307.50 0.3163 -312.50 152.50 312.50 0.635226 -312.50 152.50 317.50 1.05363 -312.50 152.50 322.50 1.61851 -312.50 152.50 327.50 2.49292 -312.50 152.50 332.50 3.72516 -312.50 152.50 337.50 5.07766 -312.50 152.50 342.50 5.61847 -312.50 152.50 347.50 5.12189 -312.50 152.50 352.50 3.51129 -312.50 152.50 357.50 1.77615 -312.50 157.50 2.50 0.558756 -312.50 157.50 7.50 0.165933 -312.50 157.50 12.50 0.0546664 -312.50 157.50 17.50 0.0279364 -312.50 157.50 22.50 0.0447134 -312.50 157.50 27.50 0.106069 -312.50 157.50 32.50 0.254735 -312.50 157.50 37.50 0.544447 -312.50 157.50 42.50 0.96088 -312.50 157.50 47.50 1.41644 -312.50 157.50 52.50 1.851 -312.50 157.50 57.50 2.4042 -312.50 157.50 62.50 3.23112 -312.50 157.50 67.50 4.00843 -312.50 157.50 72.50 4.29488 -312.50 157.50 77.50 3.82805 -312.50 157.50 82.50 2.66296 -312.50 157.50 87.50 1.38427 -312.50 157.50 92.50 0.558756 -312.50 157.50 97.50 0.165933 -312.50 157.50 102.50 0.0546664 -312.50 157.50 107.50 0.0279363 -312.50 157.50 112.50 0.0447133 -312.50 157.50 117.50 0.106069 -312.50 157.50 122.50 0.254735 -312.50 157.50 127.50 0.544447 -312.50 157.50 132.50 0.960881 -312.50 157.50 137.50 1.41644 -312.50 157.50 142.50 1.851 -312.50 157.50 147.50 2.4042 -312.50 157.50 152.50 3.23112 -312.50 157.50 157.50 4.00843 -312.50 157.50 162.50 4.29488 -312.50 157.50 167.50 3.82806 -312.50 157.50 172.50 2.66296 -312.50 157.50 177.50 1.38427 -312.50 157.50 182.50 0.558756 -312.50 157.50 187.50 0.165933 -312.50 157.50 192.50 0.0546663 -312.50 157.50 197.50 0.0279363 -312.50 157.50 202.50 0.0447134 -312.50 157.50 207.50 0.106069 -312.50 157.50 212.50 0.254735 -312.50 157.50 217.50 0.544446 -312.50 157.50 222.50 0.96088 -312.50 157.50 227.50 1.41644 -312.50 157.50 232.50 1.851 -312.50 157.50 237.50 2.4042 -312.50 157.50 242.50 3.23112 -312.50 157.50 247.50 4.00842 -312.50 157.50 252.50 4.29488 -312.50 157.50 257.50 3.82805 -312.50 157.50 262.50 2.66296 -312.50 157.50 267.50 1.38427 -312.50 157.50 272.50 0.558756 -312.50 157.50 277.50 0.165933 -312.50 157.50 282.50 0.0546664 -312.50 157.50 287.50 0.0279364 -312.50 157.50 292.50 0.0447135 -312.50 157.50 297.50 0.106069 -312.50 157.50 302.50 0.254734 -312.50 157.50 307.50 0.544446 -312.50 157.50 312.50 0.96088 -312.50 157.50 317.50 1.41644 -312.50 157.50 322.50 1.851 -312.50 157.50 327.50 2.4042 -312.50 157.50 332.50 3.23112 -312.50 157.50 337.50 4.00842 -312.50 157.50 342.50 4.29488 -312.50 157.50 347.50 3.82806 -312.50 157.50 352.50 2.66297 -312.50 157.50 357.50 1.38427 -312.50 162.50 2.50 0.431719 -312.50 162.50 7.50 0.178221 -312.50 162.50 12.50 0.0711468 -312.50 162.50 17.50 0.0554852 -312.50 162.50 22.50 0.101749 -312.50 162.50 27.50 0.2179 -312.50 162.50 32.50 0.428486 -312.50 162.50 37.50 0.7739 -312.50 162.50 42.50 1.19551 -312.50 162.50 47.50 1.48938 -312.50 162.50 52.50 1.67545 -312.50 162.50 57.50 1.85785 -312.50 162.50 62.50 2.1509 -312.50 162.50 67.50 2.47972 -312.50 162.50 72.50 2.55938 -312.50 162.50 77.50 2.21654 -312.50 162.50 82.50 1.55766 -312.50 162.50 87.50 0.880312 -312.50 162.50 92.50 0.431719 -312.50 162.50 97.50 0.17822 -312.50 162.50 102.50 0.0711468 -312.50 162.50 107.50 0.0554851 -312.50 162.50 112.50 0.101748 -312.50 162.50 117.50 0.2179 -312.50 162.50 122.50 0.428486 -312.50 162.50 127.50 0.773899 -312.50 162.50 132.50 1.19551 -312.50 162.50 137.50 1.48938 -312.50 162.50 142.50 1.67545 -312.50 162.50 147.50 1.85785 -312.50 162.50 152.50 2.1509 -312.50 162.50 157.50 2.47972 -312.50 162.50 162.50 2.55938 -312.50 162.50 167.50 2.21654 -312.50 162.50 172.50 1.55766 -312.50 162.50 177.50 0.880313 -312.50 162.50 182.50 0.431719 -312.50 162.50 187.50 0.17822 -312.50 162.50 192.50 0.0711468 -312.50 162.50 197.50 0.0554852 -312.50 162.50 202.50 0.101749 -312.50 162.50 207.50 0.2179 -312.50 162.50 212.50 0.428486 -312.50 162.50 217.50 0.7739 -312.50 162.50 222.50 1.19551 -312.50 162.50 227.50 1.48938 -312.50 162.50 232.50 1.67545 -312.50 162.50 237.50 1.85785 -312.50 162.50 242.50 2.1509 -312.50 162.50 247.50 2.47972 -312.50 162.50 252.50 2.55938 -312.50 162.50 257.50 2.21654 -312.50 162.50 262.50 1.55766 -312.50 162.50 267.50 0.880312 -312.50 162.50 272.50 0.431719 -312.50 162.50 277.50 0.178221 -312.50 162.50 282.50 0.0711468 -312.50 162.50 287.50 0.0554852 -312.50 162.50 292.50 0.101749 -312.50 162.50 297.50 0.2179 -312.50 162.50 302.50 0.428486 -312.50 162.50 307.50 0.773899 -312.50 162.50 312.50 1.19551 -312.50 162.50 317.50 1.48938 -312.50 162.50 322.50 1.67545 -312.50 162.50 327.50 1.85785 -312.50 162.50 332.50 2.1509 -312.50 162.50 337.50 2.47972 -312.50 162.50 342.50 2.55938 -312.50 162.50 347.50 2.21654 -312.50 162.50 352.50 1.55766 -312.50 162.50 357.50 0.880314 -312.50 167.50 2.50 0.338201 -312.50 167.50 7.50 0.196327 -312.50 167.50 12.50 0.0907331 -312.50 167.50 17.50 0.0803515 -312.50 167.50 22.50 0.147846 -312.50 167.50 27.50 0.293576 -312.50 167.50 32.50 0.543172 -312.50 167.50 37.50 0.896641 -312.50 167.50 42.50 1.23109 -312.50 167.50 47.50 1.32943 -312.50 167.50 52.50 1.1871 -312.50 167.50 57.50 1.05068 -312.50 167.50 62.50 1.09764 -312.50 167.50 67.50 1.20248 -312.50 167.50 72.50 1.20165 -312.50 167.50 77.50 1.03178 -312.50 167.50 82.50 0.73858 -312.50 167.50 87.50 0.508241 -312.50 167.50 92.50 0.338201 -312.50 167.50 97.50 0.196327 -312.50 167.50 102.50 0.0907331 -312.50 167.50 107.50 0.0803514 -312.50 167.50 112.50 0.147846 -312.50 167.50 117.50 0.293576 -312.50 167.50 122.50 0.543172 -312.50 167.50 127.50 0.896641 -312.50 167.50 132.50 1.23109 -312.50 167.50 137.50 1.32943 -312.50 167.50 142.50 1.1871 -312.50 167.50 147.50 1.05068 -312.50 167.50 152.50 1.09764 -312.50 167.50 157.50 1.20248 -312.50 167.50 162.50 1.20165 -312.50 167.50 167.50 1.03178 -312.50 167.50 172.50 0.738581 -312.50 167.50 177.50 0.508241 -312.50 167.50 182.50 0.338201 -312.50 167.50 187.50 0.196327 -312.50 167.50 192.50 0.0907331 -312.50 167.50 197.50 0.0803515 -312.50 167.50 202.50 0.147846 -312.50 167.50 207.50 0.293576 -312.50 167.50 212.50 0.543172 -312.50 167.50 217.50 0.896641 -312.50 167.50 222.50 1.23109 -312.50 167.50 227.50 1.32943 -312.50 167.50 232.50 1.1871 -312.50 167.50 237.50 1.05068 -312.50 167.50 242.50 1.09764 -312.50 167.50 247.50 1.20248 -312.50 167.50 252.50 1.20165 -312.50 167.50 257.50 1.03178 -312.50 167.50 262.50 0.73858 -312.50 167.50 267.50 0.508241 -312.50 167.50 272.50 0.338201 -312.50 167.50 277.50 0.196327 -312.50 167.50 282.50 0.0907331 -312.50 167.50 287.50 0.0803515 -312.50 167.50 292.50 0.147846 -312.50 167.50 297.50 0.293576 -312.50 167.50 302.50 0.543172 -312.50 167.50 307.50 0.89664 -312.50 167.50 312.50 1.23109 -312.50 167.50 317.50 1.32943 -312.50 167.50 322.50 1.1871 -312.50 167.50 327.50 1.05068 -312.50 167.50 332.50 1.09764 -312.50 167.50 337.50 1.20247 -312.50 167.50 342.50 1.20165 -312.50 167.50 347.50 1.03178 -312.50 167.50 352.50 0.738581 -312.50 167.50 357.50 0.508241 -312.50 172.50 2.50 0.239625 -312.50 172.50 7.50 0.172232 -312.50 172.50 12.50 0.0999633 -312.50 172.50 17.50 0.0765726 -312.50 172.50 22.50 0.136631 -312.50 172.50 27.50 0.269086 -312.50 172.50 32.50 0.510801 -312.50 172.50 37.50 0.863768 -312.50 172.50 42.50 1.12937 -312.50 172.50 47.50 1.06317 -312.50 172.50 52.50 0.747363 -312.50 172.50 57.50 0.490325 -312.50 172.50 62.50 0.419313 -312.50 172.50 67.50 0.444789 -312.50 172.50 72.50 0.451001 -312.50 172.50 77.50 0.399667 -312.50 172.50 82.50 0.336779 -312.50 172.50 87.50 0.283661 -312.50 172.50 92.50 0.239625 -312.50 172.50 97.50 0.172232 -312.50 172.50 102.50 0.0999633 -312.50 172.50 107.50 0.0765726 -312.50 172.50 112.50 0.136631 -312.50 172.50 117.50 0.269086 -312.50 172.50 122.50 0.510801 -312.50 172.50 127.50 0.863768 -312.50 172.50 132.50 1.12937 -312.50 172.50 137.50 1.06317 -312.50 172.50 142.50 0.747363 -312.50 172.50 147.50 0.490325 -312.50 172.50 152.50 0.419313 -312.50 172.50 157.50 0.44479 -312.50 172.50 162.50 0.451001 -312.50 172.50 167.50 0.399667 -312.50 172.50 172.50 0.336779 -312.50 172.50 177.50 0.283661 -312.50 172.50 182.50 0.239625 -312.50 172.50 187.50 0.172232 -312.50 172.50 192.50 0.0999632 -312.50 172.50 197.50 0.0765726 -312.50 172.50 202.50 0.136631 -312.50 172.50 207.50 0.269086 -312.50 172.50 212.50 0.510801 -312.50 172.50 217.50 0.863768 -312.50 172.50 222.50 1.12936 -312.50 172.50 227.50 1.06317 -312.50 172.50 232.50 0.747362 -312.50 172.50 237.50 0.490325 -312.50 172.50 242.50 0.419312 -312.50 172.50 247.50 0.444789 -312.50 172.50 252.50 0.451001 -312.50 172.50 257.50 0.399668 -312.50 172.50 262.50 0.336779 -312.50 172.50 267.50 0.283661 -312.50 172.50 272.50 0.239625 -312.50 172.50 277.50 0.172232 -312.50 172.50 282.50 0.0999633 -312.50 172.50 287.50 0.0765726 -312.50 172.50 292.50 0.136631 -312.50 172.50 297.50 0.269086 -312.50 172.50 302.50 0.5108 -312.50 172.50 307.50 0.863767 -312.50 172.50 312.50 1.12936 -312.50 172.50 317.50 1.06317 -312.50 172.50 322.50 0.747364 -312.50 172.50 327.50 0.490325 -312.50 172.50 332.50 0.419313 -312.50 172.50 337.50 0.444789 -312.50 172.50 342.50 0.451001 -312.50 172.50 347.50 0.399667 -312.50 172.50 352.50 0.336779 -312.50 172.50 357.50 0.283661 -312.50 177.50 2.50 0.132069 -312.50 177.50 7.50 0.109882 -312.50 177.50 12.50 0.0780234 -312.50 177.50 17.50 0.0639082 -312.50 177.50 22.50 0.0924993 -312.50 177.50 27.50 0.187773 -312.50 177.50 32.50 0.394642 -312.50 177.50 37.50 0.713424 -312.50 177.50 42.50 0.911259 -312.50 177.50 47.50 0.780785 -312.50 177.50 52.50 0.461409 -312.50 177.50 57.50 0.217744 -312.50 177.50 62.50 0.125439 -312.50 177.50 67.50 0.123214 -312.50 177.50 72.50 0.140004 -312.50 177.50 77.50 0.148748 -312.50 177.50 82.50 0.144941 -312.50 177.50 87.50 0.138729 -312.50 177.50 92.50 0.132069 -312.50 177.50 97.50 0.109882 -312.50 177.50 102.50 0.0780234 -312.50 177.50 107.50 0.0639082 -312.50 177.50 112.50 0.0924993 -312.50 177.50 117.50 0.187774 -312.50 177.50 122.50 0.394642 -312.50 177.50 127.50 0.713424 -312.50 177.50 132.50 0.911259 -312.50 177.50 137.50 0.780785 -312.50 177.50 142.50 0.461409 -312.50 177.50 147.50 0.217744 -312.50 177.50 152.50 0.125439 -312.50 177.50 157.50 0.123214 -312.50 177.50 162.50 0.140004 -312.50 177.50 167.50 0.148748 -312.50 177.50 172.50 0.144941 -312.50 177.50 177.50 0.138729 -312.50 177.50 182.50 0.132069 -312.50 177.50 187.50 0.109882 -312.50 177.50 192.50 0.0780234 -312.50 177.50 197.50 0.0639082 -312.50 177.50 202.50 0.0924994 -312.50 177.50 207.50 0.187774 -312.50 177.50 212.50 0.394642 -312.50 177.50 217.50 0.713423 -312.50 177.50 222.50 0.911258 -312.50 177.50 227.50 0.780786 -312.50 177.50 232.50 0.461408 -312.50 177.50 237.50 0.217744 -312.50 177.50 242.50 0.125439 -312.50 177.50 247.50 0.123214 -312.50 177.50 252.50 0.140004 -312.50 177.50 257.50 0.148748 -312.50 177.50 262.50 0.144941 -312.50 177.50 267.50 0.138729 -312.50 177.50 272.50 0.132069 -312.50 177.50 277.50 0.109882 -312.50 177.50 282.50 0.0780235 -312.50 177.50 287.50 0.0639081 -312.50 177.50 292.50 0.0924994 -312.50 177.50 297.50 0.187774 -312.50 177.50 302.50 0.394641 -312.50 177.50 307.50 0.713423 -312.50 177.50 312.50 0.911258 -312.50 177.50 317.50 0.780786 -312.50 177.50 322.50 0.461409 -312.50 177.50 327.50 0.217744 -312.50 177.50 332.50 0.125439 -312.50 177.50 337.50 0.123214 -312.50 177.50 342.50 0.140004 -312.50 177.50 347.50 0.148748 -312.50 177.50 352.50 0.144941 -312.50 177.50 357.50 0.138729 -317.50 2.50 2.50 0.084539 -317.50 2.50 7.50 0.083846 -317.50 2.50 12.50 0.0760386 -317.50 2.50 17.50 0.0601603 -317.50 2.50 22.50 0.0485219 -317.50 2.50 27.50 0.0624685 -317.50 2.50 32.50 0.149977 -317.50 2.50 37.50 0.393272 -317.50 2.50 42.50 0.773178 -317.50 2.50 47.50 0.980476 -317.50 2.50 52.50 0.773179 -317.50 2.50 57.50 0.393273 -317.50 2.50 62.50 0.149977 -317.50 2.50 67.50 0.0624686 -317.50 2.50 72.50 0.0485219 -317.50 2.50 77.50 0.0601603 -317.50 2.50 82.50 0.0760385 -317.50 2.50 87.50 0.083846 -317.50 2.50 92.50 0.084539 -317.50 2.50 97.50 0.083846 -317.50 2.50 102.50 0.0760385 -317.50 2.50 107.50 0.0601603 -317.50 2.50 112.50 0.048522 -317.50 2.50 117.50 0.0624686 -317.50 2.50 122.50 0.149977 -317.50 2.50 127.50 0.393272 -317.50 2.50 132.50 0.773179 -317.50 2.50 137.50 0.980476 -317.50 2.50 142.50 0.773179 -317.50 2.50 147.50 0.393273 -317.50 2.50 152.50 0.149977 -317.50 2.50 157.50 0.0624686 -317.50 2.50 162.50 0.0485219 -317.50 2.50 167.50 0.0601603 -317.50 2.50 172.50 0.0760385 -317.50 2.50 177.50 0.083846 -317.50 2.50 182.50 0.084539 -317.50 2.50 187.50 0.083846 -317.50 2.50 192.50 0.0760385 -317.50 2.50 197.50 0.0601603 -317.50 2.50 202.50 0.0485219 -317.50 2.50 207.50 0.0624686 -317.50 2.50 212.50 0.149977 -317.50 2.50 217.50 0.393272 -317.50 2.50 222.50 0.773178 -317.50 2.50 227.50 0.980476 -317.50 2.50 232.50 0.773179 -317.50 2.50 237.50 0.393272 -317.50 2.50 242.50 0.149977 -317.50 2.50 247.50 0.0624685 -317.50 2.50 252.50 0.0485219 -317.50 2.50 257.50 0.0601603 -317.50 2.50 262.50 0.0760385 -317.50 2.50 267.50 0.083846 -317.50 2.50 272.50 0.084539 -317.50 2.50 277.50 0.083846 -317.50 2.50 282.50 0.0760385 -317.50 2.50 287.50 0.0601603 -317.50 2.50 292.50 0.048522 -317.50 2.50 297.50 0.0624685 -317.50 2.50 302.50 0.149977 -317.50 2.50 307.50 0.393272 -317.50 2.50 312.50 0.773178 -317.50 2.50 317.50 0.980476 -317.50 2.50 322.50 0.773179 -317.50 2.50 327.50 0.393273 -317.50 2.50 332.50 0.149977 -317.50 2.50 337.50 0.0624687 -317.50 2.50 342.50 0.0485219 -317.50 2.50 347.50 0.0601602 -317.50 2.50 352.50 0.0760385 -317.50 2.50 357.50 0.083846 -317.50 7.50 2.50 0.130387 -317.50 7.50 7.50 0.13629 -317.50 7.50 12.50 0.138325 -317.50 7.50 17.50 0.133174 -317.50 7.50 22.50 0.125308 -317.50 7.50 27.50 0.132724 -317.50 7.50 32.50 0.214871 -317.50 7.50 37.50 0.456806 -317.50 7.50 42.50 0.799662 -317.50 7.50 47.50 0.957656 -317.50 7.50 52.50 0.751726 -317.50 7.50 57.50 0.401305 -317.50 7.50 62.50 0.171415 -317.50 7.50 67.50 0.0818354 -317.50 7.50 72.50 0.0586777 -317.50 7.50 77.50 0.0706778 -317.50 7.50 82.50 0.0985685 -317.50 7.50 87.50 0.120837 -317.50 7.50 92.50 0.130387 -317.50 7.50 97.50 0.13629 -317.50 7.50 102.50 0.138325 -317.50 7.50 107.50 0.133174 -317.50 7.50 112.50 0.125308 -317.50 7.50 117.50 0.132724 -317.50 7.50 122.50 0.214871 -317.50 7.50 127.50 0.456805 -317.50 7.50 132.50 0.799662 -317.50 7.50 137.50 0.957656 -317.50 7.50 142.50 0.751726 -317.50 7.50 147.50 0.401305 -317.50 7.50 152.50 0.171415 -317.50 7.50 157.50 0.0818356 -317.50 7.50 162.50 0.0586777 -317.50 7.50 167.50 0.0706778 -317.50 7.50 172.50 0.0985685 -317.50 7.50 177.50 0.120837 -317.50 7.50 182.50 0.130387 -317.50 7.50 187.50 0.13629 -317.50 7.50 192.50 0.138325 -317.50 7.50 197.50 0.133174 -317.50 7.50 202.50 0.125308 -317.50 7.50 207.50 0.132723 -317.50 7.50 212.50 0.214871 -317.50 7.50 217.50 0.456806 -317.50 7.50 222.50 0.799662 -317.50 7.50 227.50 0.957657 -317.50 7.50 232.50 0.751725 -317.50 7.50 237.50 0.401305 -317.50 7.50 242.50 0.171415 -317.50 7.50 247.50 0.0818355 -317.50 7.50 252.50 0.0586777 -317.50 7.50 257.50 0.0706778 -317.50 7.50 262.50 0.0985686 -317.50 7.50 267.50 0.120837 -317.50 7.50 272.50 0.130387 -317.50 7.50 277.50 0.13629 -317.50 7.50 282.50 0.138325 -317.50 7.50 287.50 0.133174 -317.50 7.50 292.50 0.125308 -317.50 7.50 297.50 0.132723 -317.50 7.50 302.50 0.214871 -317.50 7.50 307.50 0.456806 -317.50 7.50 312.50 0.799662 -317.50 7.50 317.50 0.957656 -317.50 7.50 322.50 0.751727 -317.50 7.50 327.50 0.401306 -317.50 7.50 332.50 0.171415 -317.50 7.50 337.50 0.0818356 -317.50 7.50 342.50 0.0586777 -317.50 7.50 347.50 0.0706778 -317.50 7.50 352.50 0.0985685 -317.50 7.50 357.50 0.120837 -317.50 12.50 2.50 0.246673 -317.50 12.50 7.50 0.292922 -317.50 12.50 12.50 0.346466 -317.50 12.50 17.50 0.38959 -317.50 12.50 22.50 0.422121 -317.50 12.50 27.50 0.426448 -317.50 12.50 32.50 0.500226 -317.50 12.50 37.50 0.755847 -317.50 12.50 42.50 1.09405 -317.50 12.50 47.50 1.19054 -317.50 12.50 52.50 0.910763 -317.50 12.50 57.50 0.511232 -317.50 12.50 62.50 0.244565 -317.50 12.50 67.50 0.118447 -317.50 12.50 72.50 0.0702204 -317.50 12.50 77.50 0.0755782 -317.50 12.50 82.50 0.135628 -317.50 12.50 87.50 0.200771 -317.50 12.50 92.50 0.246672 -317.50 12.50 97.50 0.292922 -317.50 12.50 102.50 0.346466 -317.50 12.50 107.50 0.389589 -317.50 12.50 112.50 0.422121 -317.50 12.50 117.50 0.426448 -317.50 12.50 122.50 0.500226 -317.50 12.50 127.50 0.755847 -317.50 12.50 132.50 1.09405 -317.50 12.50 137.50 1.19054 -317.50 12.50 142.50 0.910763 -317.50 12.50 147.50 0.511232 -317.50 12.50 152.50 0.244565 -317.50 12.50 157.50 0.118447 -317.50 12.50 162.50 0.0702204 -317.50 12.50 167.50 0.0755782 -317.50 12.50 172.50 0.135628 -317.50 12.50 177.50 0.200771 -317.50 12.50 182.50 0.246673 -317.50 12.50 187.50 0.292922 -317.50 12.50 192.50 0.346466 -317.50 12.50 197.50 0.389589 -317.50 12.50 202.50 0.422121 -317.50 12.50 207.50 0.426448 -317.50 12.50 212.50 0.500226 -317.50 12.50 217.50 0.755848 -317.50 12.50 222.50 1.09405 -317.50 12.50 227.50 1.19054 -317.50 12.50 232.50 0.910762 -317.50 12.50 237.50 0.511231 -317.50 12.50 242.50 0.244565 -317.50 12.50 247.50 0.118447 -317.50 12.50 252.50 0.0702204 -317.50 12.50 257.50 0.0755783 -317.50 12.50 262.50 0.135628 -317.50 12.50 267.50 0.200771 -317.50 12.50 272.50 0.246673 -317.50 12.50 277.50 0.292922 -317.50 12.50 282.50 0.346466 -317.50 12.50 287.50 0.38959 -317.50 12.50 292.50 0.422121 -317.50 12.50 297.50 0.426447 -317.50 12.50 302.50 0.500226 -317.50 12.50 307.50 0.755847 -317.50 12.50 312.50 1.09405 -317.50 12.50 317.50 1.19054 -317.50 12.50 322.50 0.910763 -317.50 12.50 327.50 0.511233 -317.50 12.50 332.50 0.244565 -317.50 12.50 337.50 0.118447 -317.50 12.50 342.50 0.0702204 -317.50 12.50 347.50 0.0755782 -317.50 12.50 352.50 0.135628 -317.50 12.50 357.50 0.20077 -317.50 17.50 2.50 0.403177 -317.50 17.50 7.50 0.59788 -317.50 17.50 12.50 0.819828 -317.50 17.50 17.50 1.03822 -317.50 17.50 22.50 1.12898 -317.50 17.50 27.50 1.09896 -317.50 17.50 32.50 1.0785 -317.50 17.50 37.50 1.21406 -317.50 17.50 42.50 1.37784 -317.50 17.50 47.50 1.28158 -317.50 17.50 52.50 0.917766 -317.50 17.50 57.50 0.534562 -317.50 17.50 62.50 0.270598 -317.50 17.50 67.50 0.125026 -317.50 17.50 72.50 0.0671229 -317.50 17.50 77.50 0.0753127 -317.50 17.50 82.50 0.138051 -317.50 17.50 87.50 0.258234 -317.50 17.50 92.50 0.403177 -317.50 17.50 97.50 0.597879 -317.50 17.50 102.50 0.819827 -317.50 17.50 107.50 1.03822 -317.50 17.50 112.50 1.12898 -317.50 17.50 117.50 1.09896 -317.50 17.50 122.50 1.0785 -317.50 17.50 127.50 1.21406 -317.50 17.50 132.50 1.37784 -317.50 17.50 137.50 1.28158 -317.50 17.50 142.50 0.917766 -317.50 17.50 147.50 0.534562 -317.50 17.50 152.50 0.270598 -317.50 17.50 157.50 0.125026 -317.50 17.50 162.50 0.0671229 -317.50 17.50 167.50 0.0753126 -317.50 17.50 172.50 0.138051 -317.50 17.50 177.50 0.258234 -317.50 17.50 182.50 0.403177 -317.50 17.50 187.50 0.59788 -317.50 17.50 192.50 0.819828 -317.50 17.50 197.50 1.03822 -317.50 17.50 202.50 1.12898 -317.50 17.50 207.50 1.09896 -317.50 17.50 212.50 1.0785 -317.50 17.50 217.50 1.21406 -317.50 17.50 222.50 1.37784 -317.50 17.50 227.50 1.28158 -317.50 17.50 232.50 0.917766 -317.50 17.50 237.50 0.534562 -317.50 17.50 242.50 0.270598 -317.50 17.50 247.50 0.125026 -317.50 17.50 252.50 0.0671229 -317.50 17.50 257.50 0.0753128 -317.50 17.50 262.50 0.138051 -317.50 17.50 267.50 0.258234 -317.50 17.50 272.50 0.403177 -317.50 17.50 277.50 0.59788 -317.50 17.50 282.50 0.819828 -317.50 17.50 287.50 1.03822 -317.50 17.50 292.50 1.12898 -317.50 17.50 297.50 1.09896 -317.50 17.50 302.50 1.0785 -317.50 17.50 307.50 1.21406 -317.50 17.50 312.50 1.37784 -317.50 17.50 317.50 1.28158 -317.50 17.50 322.50 0.917767 -317.50 17.50 327.50 0.534563 -317.50 17.50 332.50 0.270598 -317.50 17.50 337.50 0.125027 -317.50 17.50 342.50 0.0671229 -317.50 17.50 347.50 0.0753127 -317.50 17.50 352.50 0.138051 -317.50 17.50 357.50 0.258234 -317.50 22.50 2.50 0.637513 -317.50 22.50 7.50 1.18271 -317.50 22.50 12.50 1.81288 -317.50 22.50 17.50 2.24805 -317.50 22.50 22.50 2.34706 -317.50 22.50 27.50 2.14288 -317.50 22.50 32.50 1.8782 -317.50 22.50 37.50 1.72953 -317.50 22.50 42.50 1.57233 -317.50 22.50 47.50 1.23339 -317.50 22.50 52.50 0.795805 -317.50 22.50 57.50 0.427802 -317.50 22.50 62.50 0.205078 -317.50 22.50 67.50 0.0852978 -317.50 22.50 72.50 0.0393928 -317.50 22.50 77.50 0.0519656 -317.50 22.50 82.50 0.119253 -317.50 22.50 87.50 0.285721 -317.50 22.50 92.50 0.637512 -317.50 22.50 97.50 1.18271 -317.50 22.50 102.50 1.81288 -317.50 22.50 107.50 2.24805 -317.50 22.50 112.50 2.34706 -317.50 22.50 117.50 2.14288 -317.50 22.50 122.50 1.8782 -317.50 22.50 127.50 1.72953 -317.50 22.50 132.50 1.57233 -317.50 22.50 137.50 1.23339 -317.50 22.50 142.50 0.795806 -317.50 22.50 147.50 0.427802 -317.50 22.50 152.50 0.205078 -317.50 22.50 157.50 0.0852978 -317.50 22.50 162.50 0.0393928 -317.50 22.50 167.50 0.0519655 -317.50 22.50 172.50 0.119253 -317.50 22.50 177.50 0.285721 -317.50 22.50 182.50 0.637513 -317.50 22.50 187.50 1.18271 -317.50 22.50 192.50 1.81288 -317.50 22.50 197.50 2.24805 -317.50 22.50 202.50 2.34706 -317.50 22.50 207.50 2.14288 -317.50 22.50 212.50 1.8782 -317.50 22.50 217.50 1.72953 -317.50 22.50 222.50 1.57234 -317.50 22.50 227.50 1.23339 -317.50 22.50 232.50 0.795804 -317.50 22.50 237.50 0.427802 -317.50 22.50 242.50 0.205078 -317.50 22.50 247.50 0.0852977 -317.50 22.50 252.50 0.0393928 -317.50 22.50 257.50 0.0519657 -317.50 22.50 262.50 0.119253 -317.50 22.50 267.50 0.285722 -317.50 22.50 272.50 0.637513 -317.50 22.50 277.50 1.18271 -317.50 22.50 282.50 1.81288 -317.50 22.50 287.50 2.24805 -317.50 22.50 292.50 2.34706 -317.50 22.50 297.50 2.14288 -317.50 22.50 302.50 1.8782 -317.50 22.50 307.50 1.72953 -317.50 22.50 312.50 1.57234 -317.50 22.50 317.50 1.23339 -317.50 22.50 322.50 0.795806 -317.50 22.50 327.50 0.427803 -317.50 22.50 332.50 0.205079 -317.50 22.50 337.50 0.0852979 -317.50 22.50 342.50 0.0393928 -317.50 22.50 347.50 0.0519655 -317.50 22.50 352.50 0.119252 -317.50 22.50 357.50 0.285721 -317.50 27.50 2.50 0.968135 -317.50 27.50 7.50 2.03748 -317.50 27.50 12.50 3.2313 -317.50 27.50 17.50 3.92172 -317.50 27.50 22.50 3.8301 -317.50 27.50 27.50 3.22444 -317.50 27.50 32.50 2.54336 -317.50 27.50 37.50 1.9563 -317.50 27.50 42.50 1.50218 -317.50 27.50 47.50 1.01745 -317.50 27.50 52.50 0.56668 -317.50 27.50 57.50 0.270308 -317.50 27.50 62.50 0.109068 -317.50 27.50 67.50 0.0368872 -317.50 27.50 72.50 0.0163487 -317.50 27.50 77.50 0.030666 -317.50 27.50 82.50 0.104603 -317.50 27.50 87.50 0.329817 -317.50 27.50 92.50 0.968134 -317.50 27.50 97.50 2.03748 -317.50 27.50 102.50 3.2313 -317.50 27.50 107.50 3.92172 -317.50 27.50 112.50 3.8301 -317.50 27.50 117.50 3.22444 -317.50 27.50 122.50 2.54336 -317.50 27.50 127.50 1.9563 -317.50 27.50 132.50 1.50218 -317.50 27.50 137.50 1.01745 -317.50 27.50 142.50 0.56668 -317.50 27.50 147.50 0.270308 -317.50 27.50 152.50 0.109068 -317.50 27.50 157.50 0.0368872 -317.50 27.50 162.50 0.0163487 -317.50 27.50 167.50 0.030666 -317.50 27.50 172.50 0.104603 -317.50 27.50 177.50 0.329817 -317.50 27.50 182.50 0.968135 -317.50 27.50 187.50 2.03748 -317.50 27.50 192.50 3.2313 -317.50 27.50 197.50 3.92172 -317.50 27.50 202.50 3.8301 -317.50 27.50 207.50 3.22443 -317.50 27.50 212.50 2.54336 -317.50 27.50 217.50 1.9563 -317.50 27.50 222.50 1.50218 -317.50 27.50 227.50 1.01745 -317.50 27.50 232.50 0.566679 -317.50 27.50 237.50 0.270308 -317.50 27.50 242.50 0.109068 -317.50 27.50 247.50 0.0368872 -317.50 27.50 252.50 0.0163487 -317.50 27.50 257.50 0.0306661 -317.50 27.50 262.50 0.104603 -317.50 27.50 267.50 0.329818 -317.50 27.50 272.50 0.968134 -317.50 27.50 277.50 2.03748 -317.50 27.50 282.50 3.2313 -317.50 27.50 287.50 3.92172 -317.50 27.50 292.50 3.8301 -317.50 27.50 297.50 3.22444 -317.50 27.50 302.50 2.54336 -317.50 27.50 307.50 1.95631 -317.50 27.50 312.50 1.50218 -317.50 27.50 317.50 1.01745 -317.50 27.50 322.50 0.566681 -317.50 27.50 327.50 0.270308 -317.50 27.50 332.50 0.109068 -317.50 27.50 337.50 0.0368873 -317.50 27.50 342.50 0.0163487 -317.50 27.50 347.50 0.0306659 -317.50 27.50 352.50 0.104603 -317.50 27.50 357.50 0.329816 -317.50 32.50 2.50 1.29235 -317.50 32.50 7.50 2.82189 -317.50 32.50 12.50 4.50354 -317.50 32.50 17.50 5.39891 -317.50 32.50 22.50 4.99206 -317.50 32.50 27.50 3.92211 -317.50 32.50 32.50 2.69011 -317.50 32.50 37.50 1.79561 -317.50 32.50 42.50 1.17106 -317.50 32.50 47.50 0.695907 -317.50 32.50 52.50 0.340806 -317.50 32.50 57.50 0.141275 -317.50 32.50 62.50 0.0486949 -317.50 32.50 67.50 0.0134999 -317.50 32.50 72.50 0.00965575 -317.50 32.50 77.50 0.0247872 -317.50 32.50 82.50 0.116364 -317.50 32.50 87.50 0.414931 -317.50 32.50 92.50 1.29235 -317.50 32.50 97.50 2.82189 -317.50 32.50 102.50 4.50354 -317.50 32.50 107.50 5.39891 -317.50 32.50 112.50 4.99206 -317.50 32.50 117.50 3.9221 -317.50 32.50 122.50 2.6901 -317.50 32.50 127.50 1.79561 -317.50 32.50 132.50 1.17106 -317.50 32.50 137.50 0.695907 -317.50 32.50 142.50 0.340806 -317.50 32.50 147.50 0.141275 -317.50 32.50 152.50 0.0486949 -317.50 32.50 157.50 0.0135 -317.50 32.50 162.50 0.00965573 -317.50 32.50 167.50 0.0247871 -317.50 32.50 172.50 0.116364 -317.50 32.50 177.50 0.414931 -317.50 32.50 182.50 1.29235 -317.50 32.50 187.50 2.82189 -317.50 32.50 192.50 4.50354 -317.50 32.50 197.50 5.39891 -317.50 32.50 202.50 4.99206 -317.50 32.50 207.50 3.92211 -317.50 32.50 212.50 2.6901 -317.50 32.50 217.50 1.79561 -317.50 32.50 222.50 1.17106 -317.50 32.50 227.50 0.695907 -317.50 32.50 232.50 0.340805 -317.50 32.50 237.50 0.141274 -317.50 32.50 242.50 0.0486948 -317.50 32.50 247.50 0.0134999 -317.50 32.50 252.50 0.00965575 -317.50 32.50 257.50 0.0247872 -317.50 32.50 262.50 0.116364 -317.50 32.50 267.50 0.414932 -317.50 32.50 272.50 1.29235 -317.50 32.50 277.50 2.82189 -317.50 32.50 282.50 4.50354 -317.50 32.50 287.50 5.39891 -317.50 32.50 292.50 4.99206 -317.50 32.50 297.50 3.92211 -317.50 32.50 302.50 2.69011 -317.50 32.50 307.50 1.79561 -317.50 32.50 312.50 1.17106 -317.50 32.50 317.50 0.695907 -317.50 32.50 322.50 0.340806 -317.50 32.50 327.50 0.141275 -317.50 32.50 332.50 0.0486951 -317.50 32.50 337.50 0.0135 -317.50 32.50 342.50 0.00965574 -317.50 32.50 347.50 0.024787 -317.50 32.50 352.50 0.116363 -317.50 32.50 357.50 0.41493 -317.50 37.50 2.50 1.51272 -317.50 37.50 7.50 3.14259 -317.50 37.50 12.50 4.96675 -317.50 37.50 17.50 5.77028 -317.50 37.50 22.50 5.23187 -317.50 37.50 27.50 3.88117 -317.50 37.50 32.50 2.44983 -317.50 37.50 37.50 1.38818 -317.50 37.50 42.50 0.73429 -317.50 37.50 47.50 0.371522 -317.50 37.50 52.50 0.16191 -317.50 37.50 57.50 0.0542928 -317.50 37.50 62.50 0.017002 -317.50 37.50 67.50 0.00766384 -317.50 37.50 72.50 0.0142554 -317.50 37.50 77.50 0.0425807 -317.50 37.50 82.50 0.15482 -317.50 37.50 87.50 0.540503 -317.50 37.50 92.50 1.51272 -317.50 37.50 97.50 3.14259 -317.50 37.50 102.50 4.96675 -317.50 37.50 107.50 5.77027 -317.50 37.50 112.50 5.23187 -317.50 37.50 117.50 3.88117 -317.50 37.50 122.50 2.44983 -317.50 37.50 127.50 1.38818 -317.50 37.50 132.50 0.73429 -317.50 37.50 137.50 0.371523 -317.50 37.50 142.50 0.16191 -317.50 37.50 147.50 0.0542928 -317.50 37.50 152.50 0.0170021 -317.50 37.50 157.50 0.00766383 -317.50 37.50 162.50 0.0142554 -317.50 37.50 167.50 0.0425805 -317.50 37.50 172.50 0.15482 -317.50 37.50 177.50 0.540502 -317.50 37.50 182.50 1.51272 -317.50 37.50 187.50 3.14259 -317.50 37.50 192.50 4.96675 -317.50 37.50 197.50 5.77028 -317.50 37.50 202.50 5.23187 -317.50 37.50 207.50 3.88117 -317.50 37.50 212.50 2.44983 -317.50 37.50 217.50 1.38818 -317.50 37.50 222.50 0.73429 -317.50 37.50 227.50 0.371523 -317.50 37.50 232.50 0.16191 -317.50 37.50 237.50 0.0542927 -317.50 37.50 242.50 0.017002 -317.50 37.50 247.50 0.00766383 -317.50 37.50 252.50 0.0142554 -317.50 37.50 257.50 0.0425807 -317.50 37.50 262.50 0.15482 -317.50 37.50 267.50 0.540504 -317.50 37.50 272.50 1.51272 -317.50 37.50 277.50 3.14259 -317.50 37.50 282.50 4.96675 -317.50 37.50 287.50 5.77027 -317.50 37.50 292.50 5.23187 -317.50 37.50 297.50 3.88118 -317.50 37.50 302.50 2.44984 -317.50 37.50 307.50 1.38818 -317.50 37.50 312.50 0.73429 -317.50 37.50 317.50 0.371523 -317.50 37.50 322.50 0.16191 -317.50 37.50 327.50 0.0542929 -317.50 37.50 332.50 0.0170021 -317.50 37.50 337.50 0.00766384 -317.50 37.50 342.50 0.0142554 -317.50 37.50 347.50 0.0425805 -317.50 37.50 352.50 0.15482 -317.50 37.50 357.50 0.540501 -317.50 42.50 2.50 1.628 -317.50 42.50 7.50 2.95657 -317.50 42.50 12.50 4.42937 -317.50 42.50 17.50 5.00802 -317.50 42.50 22.50 4.45582 -317.50 42.50 27.50 3.10896 -317.50 42.50 32.50 1.85956 -317.50 42.50 37.50 0.947813 -317.50 42.50 42.50 0.397991 -317.50 42.50 47.50 0.146547 -317.50 42.50 52.50 0.0520136 -317.50 42.50 57.50 0.0171812 -317.50 42.50 62.50 0.0108623 -317.50 42.50 67.50 0.0193176 -317.50 42.50 72.50 0.0401124 -317.50 42.50 77.50 0.0932885 -317.50 42.50 82.50 0.246042 -317.50 42.50 87.50 0.700266 -317.50 42.50 92.50 1.628 -317.50 42.50 97.50 2.95658 -317.50 42.50 102.50 4.42937 -317.50 42.50 107.50 5.00803 -317.50 42.50 112.50 4.45582 -317.50 42.50 117.50 3.10896 -317.50 42.50 122.50 1.85956 -317.50 42.50 127.50 0.947813 -317.50 42.50 132.50 0.397991 -317.50 42.50 137.50 0.146547 -317.50 42.50 142.50 0.0520136 -317.50 42.50 147.50 0.0171812 -317.50 42.50 152.50 0.0108623 -317.50 42.50 157.50 0.0193175 -317.50 42.50 162.50 0.0401124 -317.50 42.50 167.50 0.0932884 -317.50 42.50 172.50 0.246042 -317.50 42.50 177.50 0.700266 -317.50 42.50 182.50 1.628 -317.50 42.50 187.50 2.95657 -317.50 42.50 192.50 4.42937 -317.50 42.50 197.50 5.00802 -317.50 42.50 202.50 4.45582 -317.50 42.50 207.50 3.10897 -317.50 42.50 212.50 1.85956 -317.50 42.50 217.50 0.947813 -317.50 42.50 222.50 0.397991 -317.50 42.50 227.50 0.146547 -317.50 42.50 232.50 0.0520135 -317.50 42.50 237.50 0.0171812 -317.50 42.50 242.50 0.0108623 -317.50 42.50 247.50 0.0193176 -317.50 42.50 252.50 0.0401125 -317.50 42.50 257.50 0.0932885 -317.50 42.50 262.50 0.246043 -317.50 42.50 267.50 0.700266 -317.50 42.50 272.50 1.628 -317.50 42.50 277.50 2.95657 -317.50 42.50 282.50 4.42937 -317.50 42.50 287.50 5.00802 -317.50 42.50 292.50 4.45582 -317.50 42.50 297.50 3.10897 -317.50 42.50 302.50 1.85956 -317.50 42.50 307.50 0.947814 -317.50 42.50 312.50 0.397991 -317.50 42.50 317.50 0.146547 -317.50 42.50 322.50 0.0520138 -317.50 42.50 327.50 0.0171812 -317.50 42.50 332.50 0.0108623 -317.50 42.50 337.50 0.0193175 -317.50 42.50 342.50 0.0401124 -317.50 42.50 347.50 0.0932883 -317.50 42.50 352.50 0.246042 -317.50 42.50 357.50 0.700264 -317.50 47.50 2.50 1.66337 -317.50 47.50 7.50 2.48747 -317.50 47.50 12.50 3.36604 -317.50 47.50 17.50 3.64917 -317.50 47.50 22.50 3.06255 -317.50 47.50 27.50 1.94873 -317.50 47.50 32.50 1.14238 -317.50 47.50 37.50 0.548183 -317.50 47.50 42.50 0.18753 -317.50 47.50 47.50 0.0568409 -317.50 47.50 52.50 0.0150114 -317.50 47.50 57.50 0.0168596 -317.50 47.50 62.50 0.0400786 -317.50 47.50 67.50 0.0908967 -317.50 47.50 72.50 0.139303 -317.50 47.50 77.50 0.232091 -317.50 47.50 82.50 0.452374 -317.50 47.50 87.50 0.914598 -317.50 47.50 92.50 1.66337 -317.50 47.50 97.50 2.48748 -317.50 47.50 102.50 3.36604 -317.50 47.50 107.50 3.64917 -317.50 47.50 112.50 3.06255 -317.50 47.50 117.50 1.94873 -317.50 47.50 122.50 1.14237 -317.50 47.50 127.50 0.548183 -317.50 47.50 132.50 0.18753 -317.50 47.50 137.50 0.0568409 -317.50 47.50 142.50 0.0150114 -317.50 47.50 147.50 0.0168596 -317.50 47.50 152.50 0.0400785 -317.50 47.50 157.50 0.0908967 -317.50 47.50 162.50 0.139303 -317.50 47.50 167.50 0.232091 -317.50 47.50 172.50 0.452374 -317.50 47.50 177.50 0.914597 -317.50 47.50 182.50 1.66337 -317.50 47.50 187.50 2.48748 -317.50 47.50 192.50 3.36604 -317.50 47.50 197.50 3.64918 -317.50 47.50 202.50 3.06255 -317.50 47.50 207.50 1.94873 -317.50 47.50 212.50 1.14238 -317.50 47.50 217.50 0.548183 -317.50 47.50 222.50 0.18753 -317.50 47.50 227.50 0.056841 -317.50 47.50 232.50 0.0150114 -317.50 47.50 237.50 0.0168596 -317.50 47.50 242.50 0.0400786 -317.50 47.50 247.50 0.0908967 -317.50 47.50 252.50 0.139303 -317.50 47.50 257.50 0.232092 -317.50 47.50 262.50 0.452375 -317.50 47.50 267.50 0.914598 -317.50 47.50 272.50 1.66337 -317.50 47.50 277.50 2.48747 -317.50 47.50 282.50 3.36604 -317.50 47.50 287.50 3.64917 -317.50 47.50 292.50 3.06255 -317.50 47.50 297.50 1.94873 -317.50 47.50 302.50 1.14238 -317.50 47.50 307.50 0.548183 -317.50 47.50 312.50 0.18753 -317.50 47.50 317.50 0.056841 -317.50 47.50 322.50 0.0150114 -317.50 47.50 327.50 0.0168595 -317.50 47.50 332.50 0.0400785 -317.50 47.50 337.50 0.0908967 -317.50 47.50 342.50 0.139303 -317.50 47.50 347.50 0.232091 -317.50 47.50 352.50 0.452373 -317.50 47.50 357.50 0.914595 -317.50 52.50 2.50 1.628 -317.50 52.50 7.50 1.92084 -317.50 52.50 12.50 2.20789 -317.50 52.50 17.50 2.17574 -317.50 52.50 22.50 1.62477 -317.50 52.50 27.50 0.958793 -317.50 52.50 32.50 0.508295 -317.50 52.50 37.50 0.232396 -317.50 52.50 42.50 0.0771345 -317.50 52.50 47.50 0.0214595 -317.50 52.50 52.50 0.0215621 -317.50 52.50 57.50 0.0676413 -317.50 52.50 62.50 0.164442 -317.50 52.50 67.50 0.317223 -317.50 52.50 72.50 0.454394 -317.50 52.50 77.50 0.56958 -317.50 52.50 82.50 0.840814 -317.50 52.50 87.50 1.21014 -317.50 52.50 92.50 1.628 -317.50 52.50 97.50 1.92084 -317.50 52.50 102.50 2.2079 -317.50 52.50 107.50 2.17574 -317.50 52.50 112.50 1.62477 -317.50 52.50 117.50 0.958792 -317.50 52.50 122.50 0.508294 -317.50 52.50 127.50 0.232396 -317.50 52.50 132.50 0.0771344 -317.50 52.50 137.50 0.0214595 -317.50 52.50 142.50 0.0215621 -317.50 52.50 147.50 0.0676413 -317.50 52.50 152.50 0.164442 -317.50 52.50 157.50 0.317223 -317.50 52.50 162.50 0.454394 -317.50 52.50 167.50 0.569579 -317.50 52.50 172.50 0.840813 -317.50 52.50 177.50 1.21014 -317.50 52.50 182.50 1.628 -317.50 52.50 187.50 1.92084 -317.50 52.50 192.50 2.2079 -317.50 52.50 197.50 2.17574 -317.50 52.50 202.50 1.62477 -317.50 52.50 207.50 0.958793 -317.50 52.50 212.50 0.508295 -317.50 52.50 217.50 0.232396 -317.50 52.50 222.50 0.0771346 -317.50 52.50 227.50 0.0214595 -317.50 52.50 232.50 0.0215622 -317.50 52.50 237.50 0.0676414 -317.50 52.50 242.50 0.164442 -317.50 52.50 247.50 0.317223 -317.50 52.50 252.50 0.454394 -317.50 52.50 257.50 0.56958 -317.50 52.50 262.50 0.840814 -317.50 52.50 267.50 1.21014 -317.50 52.50 272.50 1.628 -317.50 52.50 277.50 1.92084 -317.50 52.50 282.50 2.20789 -317.50 52.50 287.50 2.17574 -317.50 52.50 292.50 1.62477 -317.50 52.50 297.50 0.958793 -317.50 52.50 302.50 0.508295 -317.50 52.50 307.50 0.232396 -317.50 52.50 312.50 0.0771346 -317.50 52.50 317.50 0.0214595 -317.50 52.50 322.50 0.0215621 -317.50 52.50 327.50 0.0676412 -317.50 52.50 332.50 0.164442 -317.50 52.50 337.50 0.317223 -317.50 52.50 342.50 0.454394 -317.50 52.50 347.50 0.569579 -317.50 52.50 352.50 0.840812 -317.50 52.50 357.50 1.21014 -317.50 57.50 2.50 1.51272 -317.50 57.50 7.50 1.33769 -317.50 57.50 12.50 1.1942 -317.50 57.50 17.50 0.954179 -317.50 57.50 22.50 0.633898 -317.50 57.50 27.50 0.355358 -317.50 57.50 32.50 0.179891 -317.50 57.50 37.50 0.0780686 -317.50 57.50 42.50 0.0361276 -317.50 57.50 47.50 0.0432226 -317.50 57.50 52.50 0.100259 -317.50 57.50 57.50 0.260173 -317.50 57.50 62.50 0.526679 -317.50 57.50 67.50 0.826399 -317.50 57.50 72.50 1.14043 -317.50 57.50 77.50 1.31236 -317.50 57.50 82.50 1.44306 -317.50 57.50 87.50 1.5716 -317.50 57.50 92.50 1.51272 -317.50 57.50 97.50 1.33769 -317.50 57.50 102.50 1.1942 -317.50 57.50 107.50 0.954179 -317.50 57.50 112.50 0.633898 -317.50 57.50 117.50 0.355357 -317.50 57.50 122.50 0.179891 -317.50 57.50 127.50 0.0780686 -317.50 57.50 132.50 0.0361276 -317.50 57.50 137.50 0.0432226 -317.50 57.50 142.50 0.100259 -317.50 57.50 147.50 0.260173 -317.50 57.50 152.50 0.526678 -317.50 57.50 157.50 0.826398 -317.50 57.50 162.50 1.14043 -317.50 57.50 167.50 1.31236 -317.50 57.50 172.50 1.44306 -317.50 57.50 177.50 1.5716 -317.50 57.50 182.50 1.51272 -317.50 57.50 187.50 1.33769 -317.50 57.50 192.50 1.1942 -317.50 57.50 197.50 0.954179 -317.50 57.50 202.50 0.633898 -317.50 57.50 207.50 0.355358 -317.50 57.50 212.50 0.179891 -317.50 57.50 217.50 0.0780687 -317.50 57.50 222.50 0.0361277 -317.50 57.50 227.50 0.0432226 -317.50 57.50 232.50 0.10026 -317.50 57.50 237.50 0.260174 -317.50 57.50 242.50 0.52668 -317.50 57.50 247.50 0.826399 -317.50 57.50 252.50 1.14043 -317.50 57.50 257.50 1.31236 -317.50 57.50 262.50 1.44307 -317.50 57.50 267.50 1.5716 -317.50 57.50 272.50 1.51272 -317.50 57.50 277.50 1.33769 -317.50 57.50 282.50 1.1942 -317.50 57.50 287.50 0.954179 -317.50 57.50 292.50 0.633898 -317.50 57.50 297.50 0.355358 -317.50 57.50 302.50 0.179891 -317.50 57.50 307.50 0.0780687 -317.50 57.50 312.50 0.0361277 -317.50 57.50 317.50 0.0432226 -317.50 57.50 322.50 0.100259 -317.50 57.50 327.50 0.260173 -317.50 57.50 332.50 0.526679 -317.50 57.50 337.50 0.826398 -317.50 57.50 342.50 1.14043 -317.50 57.50 347.50 1.31236 -317.50 57.50 352.50 1.44306 -317.50 57.50 357.50 1.5716 -317.50 62.50 2.50 1.29235 -317.50 62.50 7.50 0.844558 -317.50 62.50 12.50 0.524054 -317.50 62.50 17.50 0.319136 -317.50 62.50 22.50 0.167665 -317.50 62.50 27.50 0.090858 -317.50 62.50 32.50 0.0532586 -317.50 62.50 37.50 0.0469779 -317.50 62.50 42.50 0.0670158 -317.50 62.50 47.50 0.142105 -317.50 62.50 52.50 0.370964 -317.50 62.50 57.50 0.814818 -317.50 62.50 62.50 1.34706 -317.50 62.50 67.50 1.84685 -317.50 62.50 72.50 2.21996 -317.50 62.50 77.50 2.24111 -317.50 62.50 82.50 2.09115 -317.50 62.50 87.50 1.82071 -317.50 62.50 92.50 1.29235 -317.50 62.50 97.50 0.844558 -317.50 62.50 102.50 0.524054 -317.50 62.50 107.50 0.319136 -317.50 62.50 112.50 0.167665 -317.50 62.50 117.50 0.0908578 -317.50 62.50 122.50 0.0532586 -317.50 62.50 127.50 0.0469779 -317.50 62.50 132.50 0.0670157 -317.50 62.50 137.50 0.142105 -317.50 62.50 142.50 0.370964 -317.50 62.50 147.50 0.814818 -317.50 62.50 152.50 1.34706 -317.50 62.50 157.50 1.84685 -317.50 62.50 162.50 2.21996 -317.50 62.50 167.50 2.24111 -317.50 62.50 172.50 2.09115 -317.50 62.50 177.50 1.82071 -317.50 62.50 182.50 1.29235 -317.50 62.50 187.50 0.844558 -317.50 62.50 192.50 0.524054 -317.50 62.50 197.50 0.319137 -317.50 62.50 202.50 0.167665 -317.50 62.50 207.50 0.0908579 -317.50 62.50 212.50 0.0532586 -317.50 62.50 217.50 0.0469779 -317.50 62.50 222.50 0.0670157 -317.50 62.50 227.50 0.142105 -317.50 62.50 232.50 0.370964 -317.50 62.50 237.50 0.814818 -317.50 62.50 242.50 1.34706 -317.50 62.50 247.50 1.84685 -317.50 62.50 252.50 2.21996 -317.50 62.50 257.50 2.24111 -317.50 62.50 262.50 2.09115 -317.50 62.50 267.50 1.82071 -317.50 62.50 272.50 1.29235 -317.50 62.50 277.50 0.844558 -317.50 62.50 282.50 0.524054 -317.50 62.50 287.50 0.319137 -317.50 62.50 292.50 0.167665 -317.50 62.50 297.50 0.090858 -317.50 62.50 302.50 0.0532587 -317.50 62.50 307.50 0.0469779 -317.50 62.50 312.50 0.0670158 -317.50 62.50 317.50 0.142105 -317.50 62.50 322.50 0.370963 -317.50 62.50 327.50 0.814816 -317.50 62.50 332.50 1.34706 -317.50 62.50 337.50 1.84685 -317.50 62.50 342.50 2.21996 -317.50 62.50 347.50 2.24111 -317.50 62.50 352.50 2.09115 -317.50 62.50 357.50 1.82071 -317.50 67.50 2.50 0.968133 -317.50 67.50 7.50 0.487741 -317.50 67.50 12.50 0.214557 -317.50 67.50 17.50 0.0904076 -317.50 67.50 22.50 0.0336967 -317.50 67.50 27.50 0.0159585 -317.50 67.50 32.50 0.0270251 -317.50 67.50 37.50 0.0670634 -317.50 67.50 42.50 0.164126 -317.50 67.50 47.50 0.434806 -317.50 67.50 52.50 0.992787 -317.50 67.50 57.50 1.78521 -317.50 67.50 62.50 2.66677 -317.50 67.50 67.50 3.34411 -317.50 67.50 72.50 3.43385 -317.50 67.50 77.50 2.98251 -317.50 67.50 82.50 2.37158 -317.50 67.50 87.50 1.72646 -317.50 67.50 92.50 0.968133 -317.50 67.50 97.50 0.487741 -317.50 67.50 102.50 0.214557 -317.50 67.50 107.50 0.0904076 -317.50 67.50 112.50 0.0336967 -317.50 67.50 117.50 0.0159585 -317.50 67.50 122.50 0.0270251 -317.50 67.50 127.50 0.0670634 -317.50 67.50 132.50 0.164126 -317.50 67.50 137.50 0.434806 -317.50 67.50 142.50 0.992786 -317.50 67.50 147.50 1.78521 -317.50 67.50 152.50 2.66677 -317.50 67.50 157.50 3.3441 -317.50 67.50 162.50 3.43385 -317.50 67.50 167.50 2.98251 -317.50 67.50 172.50 2.37158 -317.50 67.50 177.50 1.72646 -317.50 67.50 182.50 0.968132 -317.50 67.50 187.50 0.487741 -317.50 67.50 192.50 0.214557 -317.50 67.50 197.50 0.0904076 -317.50 67.50 202.50 0.0336967 -317.50 67.50 207.50 0.0159586 -317.50 67.50 212.50 0.0270251 -317.50 67.50 217.50 0.0670634 -317.50 67.50 222.50 0.164126 -317.50 67.50 227.50 0.434806 -317.50 67.50 232.50 0.992788 -317.50 67.50 237.50 1.78522 -317.50 67.50 242.50 2.66678 -317.50 67.50 247.50 3.34411 -317.50 67.50 252.50 3.43385 -317.50 67.50 257.50 2.98251 -317.50 67.50 262.50 2.37158 -317.50 67.50 267.50 1.72645 -317.50 67.50 272.50 0.968133 -317.50 67.50 277.50 0.487741 -317.50 67.50 282.50 0.214557 -317.50 67.50 287.50 0.0904076 -317.50 67.50 292.50 0.0336967 -317.50 67.50 297.50 0.0159585 -317.50 67.50 302.50 0.0270251 -317.50 67.50 307.50 0.0670634 -317.50 67.50 312.50 0.164126 -317.50 67.50 317.50 0.434806 -317.50 67.50 322.50 0.992786 -317.50 67.50 327.50 1.78521 -317.50 67.50 332.50 2.66677 -317.50 67.50 337.50 3.3441 -317.50 67.50 342.50 3.43385 -317.50 67.50 347.50 2.98251 -317.50 67.50 352.50 2.37158 -317.50 67.50 357.50 1.72646 -317.50 72.50 2.50 0.637513 -317.50 72.50 7.50 0.279602 -317.50 72.50 12.50 0.105393 -317.50 72.50 17.50 0.0338582 -317.50 72.50 22.50 0.0105258 -317.50 72.50 27.50 0.00943463 -317.50 72.50 32.50 0.033801 -317.50 72.50 37.50 0.107213 -317.50 72.50 42.50 0.346483 -317.50 72.50 47.50 0.8846 -317.50 72.50 52.50 1.80095 -317.50 72.50 57.50 2.911 -317.50 72.50 62.50 3.86188 -317.50 72.50 67.50 4.42017 -317.50 72.50 72.50 4.11188 -317.50 72.50 77.50 3.16757 -317.50 72.50 82.50 2.14117 -317.50 72.50 87.50 1.31626 -317.50 72.50 92.50 0.637513 -317.50 72.50 97.50 0.279602 -317.50 72.50 102.50 0.105393 -317.50 72.50 107.50 0.0338582 -317.50 72.50 112.50 0.0105258 -317.50 72.50 117.50 0.00943463 -317.50 72.50 122.50 0.033801 -317.50 72.50 127.50 0.107213 -317.50 72.50 132.50 0.346484 -317.50 72.50 137.50 0.884599 -317.50 72.50 142.50 1.80094 -317.50 72.50 147.50 2.911 -317.50 72.50 152.50 3.86187 -317.50 72.50 157.50 4.42017 -317.50 72.50 162.50 4.11188 -317.50 72.50 167.50 3.16757 -317.50 72.50 172.50 2.14117 -317.50 72.50 177.50 1.31627 -317.50 72.50 182.50 0.637512 -317.50 72.50 187.50 0.279602 -317.50 72.50 192.50 0.105393 -317.50 72.50 197.50 0.0338582 -317.50 72.50 202.50 0.0105258 -317.50 72.50 207.50 0.00943462 -317.50 72.50 212.50 0.033801 -317.50 72.50 217.50 0.107213 -317.50 72.50 222.50 0.346483 -317.50 72.50 227.50 0.884599 -317.50 72.50 232.50 1.80095 -317.50 72.50 237.50 2.911 -317.50 72.50 242.50 3.86188 -317.50 72.50 247.50 4.42017 -317.50 72.50 252.50 4.11187 -317.50 72.50 257.50 3.16756 -317.50 72.50 262.50 2.14117 -317.50 72.50 267.50 1.31626 -317.50 72.50 272.50 0.637513 -317.50 72.50 277.50 0.279602 -317.50 72.50 282.50 0.105393 -317.50 72.50 287.50 0.0338582 -317.50 72.50 292.50 0.0105258 -317.50 72.50 297.50 0.00943461 -317.50 72.50 302.50 0.0338009 -317.50 72.50 307.50 0.107213 -317.50 72.50 312.50 0.346483 -317.50 72.50 317.50 0.884599 -317.50 72.50 322.50 1.80094 -317.50 72.50 327.50 2.911 -317.50 72.50 332.50 3.86187 -317.50 72.50 337.50 4.42017 -317.50 72.50 342.50 4.11188 -317.50 72.50 347.50 3.16757 -317.50 72.50 352.50 2.14117 -317.50 72.50 357.50 1.31627 -317.50 77.50 2.50 0.403176 -317.50 77.50 7.50 0.200893 -317.50 77.50 12.50 0.0798156 -317.50 77.50 17.50 0.0388681 -317.50 77.50 22.50 0.022385 -317.50 77.50 27.50 0.0296136 -317.50 77.50 32.50 0.0867881 -317.50 77.50 37.50 0.254877 -317.50 77.50 42.50 0.604974 -317.50 77.50 47.50 1.26182 -317.50 77.50 52.50 2.19646 -317.50 77.50 57.50 3.31443 -317.50 77.50 62.50 4.2188 -317.50 77.50 67.50 4.36293 -317.50 77.50 72.50 3.78536 -317.50 77.50 77.50 2.69657 -317.50 77.50 82.50 1.65429 -317.50 77.50 87.50 0.899353 -317.50 77.50 92.50 0.403176 -317.50 77.50 97.50 0.200893 -317.50 77.50 102.50 0.0798155 -317.50 77.50 107.50 0.0388681 -317.50 77.50 112.50 0.022385 -317.50 77.50 117.50 0.0296136 -317.50 77.50 122.50 0.0867881 -317.50 77.50 127.50 0.254877 -317.50 77.50 132.50 0.604975 -317.50 77.50 137.50 1.26182 -317.50 77.50 142.50 2.19646 -317.50 77.50 147.50 3.31443 -317.50 77.50 152.50 4.2188 -317.50 77.50 157.50 4.36293 -317.50 77.50 162.50 3.78537 -317.50 77.50 167.50 2.69657 -317.50 77.50 172.50 1.65429 -317.50 77.50 177.50 0.899353 -317.50 77.50 182.50 0.403176 -317.50 77.50 187.50 0.200893 -317.50 77.50 192.50 0.0798155 -317.50 77.50 197.50 0.0388681 -317.50 77.50 202.50 0.022385 -317.50 77.50 207.50 0.0296136 -317.50 77.50 212.50 0.0867881 -317.50 77.50 217.50 0.254877 -317.50 77.50 222.50 0.604975 -317.50 77.50 227.50 1.26182 -317.50 77.50 232.50 2.19647 -317.50 77.50 237.50 3.31443 -317.50 77.50 242.50 4.2188 -317.50 77.50 247.50 4.36293 -317.50 77.50 252.50 3.78536 -317.50 77.50 257.50 2.69657 -317.50 77.50 262.50 1.65429 -317.50 77.50 267.50 0.899352 -317.50 77.50 272.50 0.403176 -317.50 77.50 277.50 0.200893 -317.50 77.50 282.50 0.0798156 -317.50 77.50 287.50 0.0388681 -317.50 77.50 292.50 0.022385 -317.50 77.50 297.50 0.0296136 -317.50 77.50 302.50 0.086788 -317.50 77.50 307.50 0.254877 -317.50 77.50 312.50 0.604975 -317.50 77.50 317.50 1.26182 -317.50 77.50 322.50 2.19646 -317.50 77.50 327.50 3.31443 -317.50 77.50 332.50 4.2188 -317.50 77.50 337.50 4.36294 -317.50 77.50 342.50 3.78537 -317.50 77.50 347.50 2.69657 -317.50 77.50 352.50 1.6543 -317.50 77.50 357.50 0.899354 -317.50 82.50 2.50 0.246672 -317.50 82.50 7.50 0.121126 -317.50 82.50 12.50 0.0854978 -317.50 82.50 17.50 0.0789512 -317.50 82.50 22.50 0.0785805 -317.50 82.50 27.50 0.108987 -317.50 82.50 32.50 0.232048 -317.50 82.50 37.50 0.493045 -317.50 82.50 42.50 0.909087 -317.50 82.50 47.50 1.46727 -317.50 82.50 52.50 2.20354 -317.50 82.50 57.50 3.06444 -317.50 82.50 62.50 3.61119 -317.50 82.50 67.50 3.44886 -317.50 82.50 72.50 2.67578 -317.50 82.50 77.50 1.83091 -317.50 82.50 82.50 1.10617 -317.50 82.50 87.50 0.591233 -317.50 82.50 92.50 0.246672 -317.50 82.50 97.50 0.121126 -317.50 82.50 102.50 0.0854978 -317.50 82.50 107.50 0.0789512 -317.50 82.50 112.50 0.0785805 -317.50 82.50 117.50 0.108987 -317.50 82.50 122.50 0.232048 -317.50 82.50 127.50 0.493046 -317.50 82.50 132.50 0.909087 -317.50 82.50 137.50 1.46727 -317.50 82.50 142.50 2.20354 -317.50 82.50 147.50 3.06444 -317.50 82.50 152.50 3.61119 -317.50 82.50 157.50 3.44886 -317.50 82.50 162.50 2.67578 -317.50 82.50 167.50 1.83091 -317.50 82.50 172.50 1.10617 -317.50 82.50 177.50 0.591233 -317.50 82.50 182.50 0.246672 -317.50 82.50 187.50 0.121126 -317.50 82.50 192.50 0.0854978 -317.50 82.50 197.50 0.0789511 -317.50 82.50 202.50 0.0785804 -317.50 82.50 207.50 0.108987 -317.50 82.50 212.50 0.232048 -317.50 82.50 217.50 0.493045 -317.50 82.50 222.50 0.909086 -317.50 82.50 227.50 1.46727 -317.50 82.50 232.50 2.20354 -317.50 82.50 237.50 3.06444 -317.50 82.50 242.50 3.61119 -317.50 82.50 247.50 3.44886 -317.50 82.50 252.50 2.67578 -317.50 82.50 257.50 1.83091 -317.50 82.50 262.50 1.10616 -317.50 82.50 267.50 0.591232 -317.50 82.50 272.50 0.246672 -317.50 82.50 277.50 0.121126 -317.50 82.50 282.50 0.0854978 -317.50 82.50 287.50 0.0789512 -317.50 82.50 292.50 0.0785805 -317.50 82.50 297.50 0.108987 -317.50 82.50 302.50 0.232048 -317.50 82.50 307.50 0.493045 -317.50 82.50 312.50 0.909087 -317.50 82.50 317.50 1.46727 -317.50 82.50 322.50 2.20354 -317.50 82.50 327.50 3.06444 -317.50 82.50 332.50 3.61118 -317.50 82.50 337.50 3.44886 -317.50 82.50 342.50 2.67578 -317.50 82.50 347.50 1.83091 -317.50 82.50 352.50 1.10617 -317.50 82.50 357.50 0.591234 -317.50 87.50 2.50 0.130387 -317.50 87.50 7.50 0.0855828 -317.50 87.50 12.50 0.122098 -317.50 87.50 17.50 0.19655 -317.50 87.50 22.50 0.23631 -317.50 87.50 27.50 0.344827 -317.50 87.50 32.50 0.553209 -317.50 87.50 37.50 0.840193 -317.50 87.50 42.50 1.18542 -317.50 87.50 47.50 1.58898 -317.50 87.50 52.50 2.03772 -317.50 87.50 57.50 2.44568 -317.50 87.50 62.50 2.57694 -317.50 87.50 67.50 2.21578 -317.50 87.50 72.50 1.55028 -317.50 87.50 77.50 0.974231 -317.50 87.50 82.50 0.603579 -317.50 87.50 87.50 0.300873 -317.50 87.50 92.50 0.130387 -317.50 87.50 97.50 0.0855827 -317.50 87.50 102.50 0.122098 -317.50 87.50 107.50 0.19655 -317.50 87.50 112.50 0.23631 -317.50 87.50 117.50 0.344826 -317.50 87.50 122.50 0.553209 -317.50 87.50 127.50 0.840193 -317.50 87.50 132.50 1.18542 -317.50 87.50 137.50 1.58898 -317.50 87.50 142.50 2.03772 -317.50 87.50 147.50 2.44568 -317.50 87.50 152.50 2.57694 -317.50 87.50 157.50 2.21578 -317.50 87.50 162.50 1.55028 -317.50 87.50 167.50 0.974231 -317.50 87.50 172.50 0.603579 -317.50 87.50 177.50 0.300874 -317.50 87.50 182.50 0.130387 -317.50 87.50 187.50 0.0855828 -317.50 87.50 192.50 0.122098 -317.50 87.50 197.50 0.19655 -317.50 87.50 202.50 0.23631 -317.50 87.50 207.50 0.344826 -317.50 87.50 212.50 0.55321 -317.50 87.50 217.50 0.840193 -317.50 87.50 222.50 1.18542 -317.50 87.50 227.50 1.58898 -317.50 87.50 232.50 2.03772 -317.50 87.50 237.50 2.44568 -317.50 87.50 242.50 2.57694 -317.50 87.50 247.50 2.21578 -317.50 87.50 252.50 1.55028 -317.50 87.50 257.50 0.97423 -317.50 87.50 262.50 0.603578 -317.50 87.50 267.50 0.300873 -317.50 87.50 272.50 0.130387 -317.50 87.50 277.50 0.0855828 -317.50 87.50 282.50 0.122098 -317.50 87.50 287.50 0.19655 -317.50 87.50 292.50 0.23631 -317.50 87.50 297.50 0.344826 -317.50 87.50 302.50 0.55321 -317.50 87.50 307.50 0.840193 -317.50 87.50 312.50 1.18542 -317.50 87.50 317.50 1.58898 -317.50 87.50 322.50 2.03772 -317.50 87.50 327.50 2.44568 -317.50 87.50 332.50 2.57694 -317.50 87.50 337.50 2.21578 -317.50 87.50 342.50 1.55028 -317.50 87.50 347.50 0.974232 -317.50 87.50 352.50 0.60358 -317.50 87.50 357.50 0.300874 -317.50 92.50 2.50 0.084539 -317.50 92.50 7.50 0.130387 -317.50 92.50 12.50 0.246673 -317.50 92.50 17.50 0.403177 -317.50 92.50 22.50 0.637514 -317.50 92.50 27.50 0.968136 -317.50 92.50 32.50 1.29235 -317.50 92.50 37.50 1.51272 -317.50 92.50 42.50 1.62801 -317.50 92.50 47.50 1.66337 -317.50 92.50 52.50 1.628 -317.50 92.50 57.50 1.51272 -317.50 92.50 62.50 1.29235 -317.50 92.50 67.50 0.968135 -317.50 92.50 72.50 0.637513 -317.50 92.50 77.50 0.403177 -317.50 92.50 82.50 0.246672 -317.50 92.50 87.50 0.130387 -317.50 92.50 92.50 0.084539 -317.50 92.50 97.50 0.130387 -317.50 92.50 102.50 0.246673 -317.50 92.50 107.50 0.403177 -317.50 92.50 112.50 0.637513 -317.50 92.50 117.50 0.968136 -317.50 92.50 122.50 1.29235 -317.50 92.50 127.50 1.51272 -317.50 92.50 132.50 1.628 -317.50 92.50 137.50 1.66337 -317.50 92.50 142.50 1.62801 -317.50 92.50 147.50 1.51272 -317.50 92.50 152.50 1.29235 -317.50 92.50 157.50 0.968136 -317.50 92.50 162.50 0.637513 -317.50 92.50 167.50 0.403177 -317.50 92.50 172.50 0.246673 -317.50 92.50 177.50 0.130387 -317.50 92.50 182.50 0.084539 -317.50 92.50 187.50 0.130387 -317.50 92.50 192.50 0.246673 -317.50 92.50 197.50 0.403177 -317.50 92.50 202.50 0.637514 -317.50 92.50 207.50 0.968136 -317.50 92.50 212.50 1.29235 -317.50 92.50 217.50 1.51272 -317.50 92.50 222.50 1.62801 -317.50 92.50 227.50 1.66337 -317.50 92.50 232.50 1.62801 -317.50 92.50 237.50 1.51272 -317.50 92.50 242.50 1.29235 -317.50 92.50 247.50 0.968135 -317.50 92.50 252.50 0.637513 -317.50 92.50 257.50 0.403176 -317.50 92.50 262.50 0.246672 -317.50 92.50 267.50 0.130387 -317.50 92.50 272.50 0.0845391 -317.50 92.50 277.50 0.130387 -317.50 92.50 282.50 0.246673 -317.50 92.50 287.50 0.403177 -317.50 92.50 292.50 0.637513 -317.50 92.50 297.50 0.968135 -317.50 92.50 302.50 1.29235 -317.50 92.50 307.50 1.51272 -317.50 92.50 312.50 1.628 -317.50 92.50 317.50 1.66337 -317.50 92.50 322.50 1.62801 -317.50 92.50 327.50 1.51272 -317.50 92.50 332.50 1.29235 -317.50 92.50 337.50 0.968136 -317.50 92.50 342.50 0.637514 -317.50 92.50 347.50 0.403177 -317.50 92.50 352.50 0.246673 -317.50 92.50 357.50 0.130387 -317.50 97.50 2.50 0.130387 -317.50 97.50 7.50 0.300874 -317.50 97.50 12.50 0.603579 -317.50 97.50 17.50 0.974231 -317.50 97.50 22.50 1.55028 -317.50 97.50 27.50 2.21578 -317.50 97.50 32.50 2.57694 -317.50 97.50 37.50 2.44568 -317.50 97.50 42.50 2.03772 -317.50 97.50 47.50 1.58898 -317.50 97.50 52.50 1.18542 -317.50 97.50 57.50 0.840193 -317.50 97.50 62.50 0.553209 -317.50 97.50 67.50 0.344826 -317.50 97.50 72.50 0.23631 -317.50 97.50 77.50 0.19655 -317.50 97.50 82.50 0.122098 -317.50 97.50 87.50 0.0855827 -317.50 97.50 92.50 0.130387 -317.50 97.50 97.50 0.300873 -317.50 97.50 102.50 0.603579 -317.50 97.50 107.50 0.974231 -317.50 97.50 112.50 1.55028 -317.50 97.50 117.50 2.21578 -317.50 97.50 122.50 2.57694 -317.50 97.50 127.50 2.44568 -317.50 97.50 132.50 2.03772 -317.50 97.50 137.50 1.58898 -317.50 97.50 142.50 1.18542 -317.50 97.50 147.50 0.840193 -317.50 97.50 152.50 0.55321 -317.50 97.50 157.50 0.344827 -317.50 97.50 162.50 0.23631 -317.50 97.50 167.50 0.19655 -317.50 97.50 172.50 0.122098 -317.50 97.50 177.50 0.0855827 -317.50 97.50 182.50 0.130387 -317.50 97.50 187.50 0.300873 -317.50 97.50 192.50 0.603579 -317.50 97.50 197.50 0.97423 -317.50 97.50 202.50 1.55028 -317.50 97.50 207.50 2.21578 -317.50 97.50 212.50 2.57694 -317.50 97.50 217.50 2.44568 -317.50 97.50 222.50 2.03772 -317.50 97.50 227.50 1.58898 -317.50 97.50 232.50 1.18542 -317.50 97.50 237.50 0.840193 -317.50 97.50 242.50 0.553209 -317.50 97.50 247.50 0.344826 -317.50 97.50 252.50 0.236311 -317.50 97.50 257.50 0.19655 -317.50 97.50 262.50 0.122098 -317.50 97.50 267.50 0.0855827 -317.50 97.50 272.50 0.130387 -317.50 97.50 277.50 0.300874 -317.50 97.50 282.50 0.603579 -317.50 97.50 287.50 0.974231 -317.50 97.50 292.50 1.55028 -317.50 97.50 297.50 2.21578 -317.50 97.50 302.50 2.57694 -317.50 97.50 307.50 2.44568 -317.50 97.50 312.50 2.03772 -317.50 97.50 317.50 1.58898 -317.50 97.50 322.50 1.18542 -317.50 97.50 327.50 0.840194 -317.50 97.50 332.50 0.55321 -317.50 97.50 337.50 0.344827 -317.50 97.50 342.50 0.236311 -317.50 97.50 347.50 0.19655 -317.50 97.50 352.50 0.122099 -317.50 97.50 357.50 0.0855828 -317.50 102.50 2.50 0.246673 -317.50 102.50 7.50 0.591233 -317.50 102.50 12.50 1.10617 -317.50 102.50 17.50 1.83091 -317.50 102.50 22.50 2.67578 -317.50 102.50 27.50 3.44886 -317.50 102.50 32.50 3.61119 -317.50 102.50 37.50 3.06444 -317.50 102.50 42.50 2.20354 -317.50 102.50 47.50 1.46727 -317.50 102.50 52.50 0.909086 -317.50 102.50 57.50 0.493045 -317.50 102.50 62.50 0.232048 -317.50 102.50 67.50 0.108987 -317.50 102.50 72.50 0.0785805 -317.50 102.50 77.50 0.0789512 -317.50 102.50 82.50 0.0854978 -317.50 102.50 87.50 0.121126 -317.50 102.50 92.50 0.246673 -317.50 102.50 97.50 0.591233 -317.50 102.50 102.50 1.10617 -317.50 102.50 107.50 1.83091 -317.50 102.50 112.50 2.67578 -317.50 102.50 117.50 3.44886 -317.50 102.50 122.50 3.61119 -317.50 102.50 127.50 3.06444 -317.50 102.50 132.50 2.20354 -317.50 102.50 137.50 1.46727 -317.50 102.50 142.50 0.909087 -317.50 102.50 147.50 0.493045 -317.50 102.50 152.50 0.232048 -317.50 102.50 157.50 0.108987 -317.50 102.50 162.50 0.0785805 -317.50 102.50 167.50 0.0789512 -317.50 102.50 172.50 0.0854978 -317.50 102.50 177.50 0.121126 -317.50 102.50 182.50 0.246673 -317.50 102.50 187.50 0.591233 -317.50 102.50 192.50 1.10617 -317.50 102.50 197.50 1.83091 -317.50 102.50 202.50 2.67578 -317.50 102.50 207.50 3.44886 -317.50 102.50 212.50 3.61119 -317.50 102.50 217.50 3.06444 -317.50 102.50 222.50 2.20354 -317.50 102.50 227.50 1.46727 -317.50 102.50 232.50 0.909086 -317.50 102.50 237.50 0.493044 -317.50 102.50 242.50 0.232048 -317.50 102.50 247.50 0.108987 -317.50 102.50 252.50 0.0785805 -317.50 102.50 257.50 0.0789512 -317.50 102.50 262.50 0.0854978 -317.50 102.50 267.50 0.121126 -317.50 102.50 272.50 0.246673 -317.50 102.50 277.50 0.591233 -317.50 102.50 282.50 1.10617 -317.50 102.50 287.50 1.83091 -317.50 102.50 292.50 2.67578 -317.50 102.50 297.50 3.44886 -317.50 102.50 302.50 3.61119 -317.50 102.50 307.50 3.06444 -317.50 102.50 312.50 2.20354 -317.50 102.50 317.50 1.46727 -317.50 102.50 322.50 0.909087 -317.50 102.50 327.50 0.493046 -317.50 102.50 332.50 0.232048 -317.50 102.50 337.50 0.108987 -317.50 102.50 342.50 0.0785805 -317.50 102.50 347.50 0.0789511 -317.50 102.50 352.50 0.0854978 -317.50 102.50 357.50 0.121126 -317.50 107.50 2.50 0.403177 -317.50 107.50 7.50 0.899353 -317.50 107.50 12.50 1.65429 -317.50 107.50 17.50 2.69657 -317.50 107.50 22.50 3.78536 -317.50 107.50 27.50 4.36293 -317.50 107.50 32.50 4.2188 -317.50 107.50 37.50 3.31443 -317.50 107.50 42.50 2.19646 -317.50 107.50 47.50 1.26182 -317.50 107.50 52.50 0.604975 -317.50 107.50 57.50 0.254877 -317.50 107.50 62.50 0.086788 -317.50 107.50 67.50 0.0296136 -317.50 107.50 72.50 0.022385 -317.50 107.50 77.50 0.0388681 -317.50 107.50 82.50 0.0798156 -317.50 107.50 87.50 0.200893 -317.50 107.50 92.50 0.403177 -317.50 107.50 97.50 0.899353 -317.50 107.50 102.50 1.6543 -317.50 107.50 107.50 2.69657 -317.50 107.50 112.50 3.78536 -317.50 107.50 117.50 4.36293 -317.50 107.50 122.50 4.2188 -317.50 107.50 127.50 3.31443 -317.50 107.50 132.50 2.19646 -317.50 107.50 137.50 1.26182 -317.50 107.50 142.50 0.604975 -317.50 107.50 147.50 0.254877 -317.50 107.50 152.50 0.0867881 -317.50 107.50 157.50 0.0296136 -317.50 107.50 162.50 0.022385 -317.50 107.50 167.50 0.0388681 -317.50 107.50 172.50 0.0798155 -317.50 107.50 177.50 0.200893 -317.50 107.50 182.50 0.403177 -317.50 107.50 187.50 0.899353 -317.50 107.50 192.50 1.65429 -317.50 107.50 197.50 2.69657 -317.50 107.50 202.50 3.78537 -317.50 107.50 207.50 4.36293 -317.50 107.50 212.50 4.2188 -317.50 107.50 217.50 3.31443 -317.50 107.50 222.50 2.19647 -317.50 107.50 227.50 1.26182 -317.50 107.50 232.50 0.604973 -317.50 107.50 237.50 0.254876 -317.50 107.50 242.50 0.0867879 -317.50 107.50 247.50 0.0296136 -317.50 107.50 252.50 0.022385 -317.50 107.50 257.50 0.0388681 -317.50 107.50 262.50 0.0798157 -317.50 107.50 267.50 0.200893 -317.50 107.50 272.50 0.403177 -317.50 107.50 277.50 0.899353 -317.50 107.50 282.50 1.65429 -317.50 107.50 287.50 2.69657 -317.50 107.50 292.50 3.78537 -317.50 107.50 297.50 4.36293 -317.50 107.50 302.50 4.2188 -317.50 107.50 307.50 3.31443 -317.50 107.50 312.50 2.19646 -317.50 107.50 317.50 1.26182 -317.50 107.50 322.50 0.604976 -317.50 107.50 327.50 0.254878 -317.50 107.50 332.50 0.0867883 -317.50 107.50 337.50 0.0296136 -317.50 107.50 342.50 0.022385 -317.50 107.50 347.50 0.0388681 -317.50 107.50 352.50 0.0798154 -317.50 107.50 357.50 0.200893 -317.50 112.50 2.50 0.637513 -317.50 112.50 7.50 1.31626 -317.50 112.50 12.50 2.14117 -317.50 112.50 17.50 3.16757 -317.50 112.50 22.50 4.11187 -317.50 112.50 27.50 4.42017 -317.50 112.50 32.50 3.86187 -317.50 112.50 37.50 2.911 -317.50 112.50 42.50 1.80094 -317.50 112.50 47.50 0.884599 -317.50 112.50 52.50 0.346483 -317.50 112.50 57.50 0.107213 -317.50 112.50 62.50 0.0338009 -317.50 112.50 67.50 0.0094346 -317.50 112.50 72.50 0.0105258 -317.50 112.50 77.50 0.0338582 -317.50 112.50 82.50 0.105393 -317.50 112.50 87.50 0.279602 -317.50 112.50 92.50 0.637513 -317.50 112.50 97.50 1.31627 -317.50 112.50 102.50 2.14117 -317.50 112.50 107.50 3.16757 -317.50 112.50 112.50 4.11187 -317.50 112.50 117.50 4.42017 -317.50 112.50 122.50 3.86188 -317.50 112.50 127.50 2.911 -317.50 112.50 132.50 1.80094 -317.50 112.50 137.50 0.8846 -317.50 112.50 142.50 0.346483 -317.50 112.50 147.50 0.107213 -317.50 112.50 152.50 0.0338009 -317.50 112.50 157.50 0.00943463 -317.50 112.50 162.50 0.0105258 -317.50 112.50 167.50 0.0338582 -317.50 112.50 172.50 0.105393 -317.50 112.50 177.50 0.279602 -317.50 112.50 182.50 0.637513 -317.50 112.50 187.50 1.31626 -317.50 112.50 192.50 2.14117 -317.50 112.50 197.50 3.16757 -317.50 112.50 202.50 4.11187 -317.50 112.50 207.50 4.42017 -317.50 112.50 212.50 3.86188 -317.50 112.50 217.50 2.911 -317.50 112.50 222.50 1.80095 -317.50 112.50 227.50 0.8846 -317.50 112.50 232.50 0.346482 -317.50 112.50 237.50 0.107213 -317.50 112.50 242.50 0.0338008 -317.50 112.50 247.50 0.0094346 -317.50 112.50 252.50 0.0105258 -317.50 112.50 257.50 0.0338583 -317.50 112.50 262.50 0.105394 -317.50 112.50 267.50 0.279602 -317.50 112.50 272.50 0.637512 -317.50 112.50 277.50 1.31626 -317.50 112.50 282.50 2.14117 -317.50 112.50 287.50 3.16757 -317.50 112.50 292.50 4.11187 -317.50 112.50 297.50 4.42017 -317.50 112.50 302.50 3.86188 -317.50 112.50 307.50 2.911 -317.50 112.50 312.50 1.80095 -317.50 112.50 317.50 0.884601 -317.50 112.50 322.50 0.346484 -317.50 112.50 327.50 0.107213 -317.50 112.50 332.50 0.033801 -317.50 112.50 337.50 0.00943464 -317.50 112.50 342.50 0.0105258 -317.50 112.50 347.50 0.0338581 -317.50 112.50 352.50 0.105393 -317.50 112.50 357.50 0.279602 -317.50 117.50 2.50 0.968134 -317.50 117.50 7.50 1.72645 -317.50 117.50 12.50 2.37158 -317.50 117.50 17.50 2.98251 -317.50 117.50 22.50 3.43385 -317.50 117.50 27.50 3.3441 -317.50 117.50 32.50 2.66677 -317.50 117.50 37.50 1.78521 -317.50 117.50 42.50 0.992786 -317.50 117.50 47.50 0.434805 -317.50 117.50 52.50 0.164125 -317.50 117.50 57.50 0.0670633 -317.50 117.50 62.50 0.0270251 -317.50 117.50 67.50 0.0159586 -317.50 117.50 72.50 0.0336967 -317.50 117.50 77.50 0.0904078 -317.50 117.50 82.50 0.214558 -317.50 117.50 87.50 0.487742 -317.50 117.50 92.50 0.968134 -317.50 117.50 97.50 1.72646 -317.50 117.50 102.50 2.37158 -317.50 117.50 107.50 2.98251 -317.50 117.50 112.50 3.43385 -317.50 117.50 117.50 3.3441 -317.50 117.50 122.50 2.66677 -317.50 117.50 127.50 1.78521 -317.50 117.50 132.50 0.992785 -317.50 117.50 137.50 0.434805 -317.50 117.50 142.50 0.164125 -317.50 117.50 147.50 0.0670634 -317.50 117.50 152.50 0.0270251 -317.50 117.50 157.50 0.0159586 -317.50 117.50 162.50 0.0336967 -317.50 117.50 167.50 0.0904076 -317.50 117.50 172.50 0.214557 -317.50 117.50 177.50 0.487741 -317.50 117.50 182.50 0.968134 -317.50 117.50 187.50 1.72646 -317.50 117.50 192.50 2.37158 -317.50 117.50 197.50 2.98251 -317.50 117.50 202.50 3.43385 -317.50 117.50 207.50 3.3441 -317.50 117.50 212.50 2.66677 -317.50 117.50 217.50 1.78521 -317.50 117.50 222.50 0.992786 -317.50 117.50 227.50 0.434806 -317.50 117.50 232.50 0.164125 -317.50 117.50 237.50 0.0670633 -317.50 117.50 242.50 0.0270251 -317.50 117.50 247.50 0.0159585 -317.50 117.50 252.50 0.0336967 -317.50 117.50 257.50 0.0904078 -317.50 117.50 262.50 0.214558 -317.50 117.50 267.50 0.487742 -317.50 117.50 272.50 0.968133 -317.50 117.50 277.50 1.72645 -317.50 117.50 282.50 2.37158 -317.50 117.50 287.50 2.98251 -317.50 117.50 292.50 3.43385 -317.50 117.50 297.50 3.3441 -317.50 117.50 302.50 2.66677 -317.50 117.50 307.50 1.78521 -317.50 117.50 312.50 0.992786 -317.50 117.50 317.50 0.434807 -317.50 117.50 322.50 0.164126 -317.50 117.50 327.50 0.0670635 -317.50 117.50 332.50 0.0270251 -317.50 117.50 337.50 0.0159586 -317.50 117.50 342.50 0.0336967 -317.50 117.50 347.50 0.0904076 -317.50 117.50 352.50 0.214557 -317.50 117.50 357.50 0.487741 -317.50 122.50 2.50 1.29235 -317.50 122.50 7.50 1.82071 -317.50 122.50 12.50 2.09115 -317.50 122.50 17.50 2.24111 -317.50 122.50 22.50 2.21995 -317.50 122.50 27.50 1.84685 -317.50 122.50 32.50 1.34706 -317.50 122.50 37.50 0.814816 -317.50 122.50 42.50 0.370963 -317.50 122.50 47.50 0.142105 -317.50 122.50 52.50 0.0670156 -317.50 122.50 57.50 0.0469779 -317.50 122.50 62.50 0.0532588 -317.50 122.50 67.50 0.0908582 -317.50 122.50 72.50 0.167665 -317.50 122.50 77.50 0.319137 -317.50 122.50 82.50 0.524054 -317.50 122.50 87.50 0.844559 -317.50 122.50 92.50 1.29235 -317.50 122.50 97.50 1.82071 -317.50 122.50 102.50 2.09115 -317.50 122.50 107.50 2.24111 -317.50 122.50 112.50 2.21996 -317.50 122.50 117.50 1.84685 -317.50 122.50 122.50 1.34706 -317.50 122.50 127.50 0.814815 -317.50 122.50 132.50 0.370963 -317.50 122.50 137.50 0.142105 -317.50 122.50 142.50 0.0670156 -317.50 122.50 147.50 0.0469779 -317.50 122.50 152.50 0.0532587 -317.50 122.50 157.50 0.090858 -317.50 122.50 162.50 0.167665 -317.50 122.50 167.50 0.319137 -317.50 122.50 172.50 0.524054 -317.50 122.50 177.50 0.844559 -317.50 122.50 182.50 1.29235 -317.50 122.50 187.50 1.82071 -317.50 122.50 192.50 2.09115 -317.50 122.50 197.50 2.24111 -317.50 122.50 202.50 2.21996 -317.50 122.50 207.50 1.84685 -317.50 122.50 212.50 1.34706 -317.50 122.50 217.50 0.814816 -317.50 122.50 222.50 0.370963 -317.50 122.50 227.50 0.142105 -317.50 122.50 232.50 0.0670155 -317.50 122.50 237.50 0.0469779 -317.50 122.50 242.50 0.0532588 -317.50 122.50 247.50 0.0908582 -317.50 122.50 252.50 0.167665 -317.50 122.50 257.50 0.319137 -317.50 122.50 262.50 0.524055 -317.50 122.50 267.50 0.844559 -317.50 122.50 272.50 1.29235 -317.50 122.50 277.50 1.82071 -317.50 122.50 282.50 2.09115 -317.50 122.50 287.50 2.24111 -317.50 122.50 292.50 2.21995 -317.50 122.50 297.50 1.84685 -317.50 122.50 302.50 1.34706 -317.50 122.50 307.50 0.814817 -317.50 122.50 312.50 0.370963 -317.50 122.50 317.50 0.142105 -317.50 122.50 322.50 0.0670157 -317.50 122.50 327.50 0.0469779 -317.50 122.50 332.50 0.0532587 -317.50 122.50 337.50 0.090858 -317.50 122.50 342.50 0.167665 -317.50 122.50 347.50 0.319137 -317.50 122.50 352.50 0.524054 -317.50 122.50 357.50 0.844558 -317.50 127.50 2.50 1.51272 -317.50 127.50 7.50 1.5716 -317.50 127.50 12.50 1.44306 -317.50 127.50 17.50 1.31235 -317.50 127.50 22.50 1.14042 -317.50 127.50 27.50 0.826398 -317.50 127.50 32.50 0.526678 -317.50 127.50 37.50 0.260173 -317.50 127.50 42.50 0.100259 -317.50 127.50 47.50 0.0432226 -317.50 127.50 52.50 0.0361277 -317.50 127.50 57.50 0.0780687 -317.50 127.50 62.50 0.179891 -317.50 127.50 67.50 0.355358 -317.50 127.50 72.50 0.633899 -317.50 127.50 77.50 0.95418 -317.50 127.50 82.50 1.1942 -317.50 127.50 87.50 1.33769 -317.50 127.50 92.50 1.51272 -317.50 127.50 97.50 1.5716 -317.50 127.50 102.50 1.44306 -317.50 127.50 107.50 1.31236 -317.50 127.50 112.50 1.14043 -317.50 127.50 117.50 0.826398 -317.50 127.50 122.50 0.526679 -317.50 127.50 127.50 0.260173 -317.50 127.50 132.50 0.100259 -317.50 127.50 137.50 0.0432226 -317.50 127.50 142.50 0.0361276 -317.50 127.50 147.50 0.0780687 -317.50 127.50 152.50 0.179891 -317.50 127.50 157.50 0.355358 -317.50 127.50 162.50 0.633898 -317.50 127.50 167.50 0.95418 -317.50 127.50 172.50 1.1942 -317.50 127.50 177.50 1.33769 -317.50 127.50 182.50 1.51272 -317.50 127.50 187.50 1.5716 -317.50 127.50 192.50 1.44306 -317.50 127.50 197.50 1.31236 -317.50 127.50 202.50 1.14043 -317.50 127.50 207.50 0.826399 -317.50 127.50 212.50 0.526679 -317.50 127.50 217.50 0.260173 -317.50 127.50 222.50 0.100259 -317.50 127.50 227.50 0.0432226 -317.50 127.50 232.50 0.0361277 -317.50 127.50 237.50 0.0780688 -317.50 127.50 242.50 0.179891 -317.50 127.50 247.50 0.355358 -317.50 127.50 252.50 0.633899 -317.50 127.50 257.50 0.95418 -317.50 127.50 262.50 1.1942 -317.50 127.50 267.50 1.33769 -317.50 127.50 272.50 1.51272 -317.50 127.50 277.50 1.5716 -317.50 127.50 282.50 1.44306 -317.50 127.50 287.50 1.31236 -317.50 127.50 292.50 1.14043 -317.50 127.50 297.50 0.826399 -317.50 127.50 302.50 0.526679 -317.50 127.50 307.50 0.260173 -317.50 127.50 312.50 0.100259 -317.50 127.50 317.50 0.0432227 -317.50 127.50 322.50 0.0361276 -317.50 127.50 327.50 0.0780686 -317.50 127.50 332.50 0.179891 -317.50 127.50 337.50 0.355357 -317.50 127.50 342.50 0.633898 -317.50 127.50 347.50 0.954179 -317.50 127.50 352.50 1.1942 -317.50 127.50 357.50 1.33769 -317.50 132.50 2.50 1.628 -317.50 132.50 7.50 1.21014 -317.50 132.50 12.50 0.840813 -317.50 132.50 17.50 0.569579 -317.50 132.50 22.50 0.454394 -317.50 132.50 27.50 0.317223 -317.50 132.50 32.50 0.164442 -317.50 132.50 37.50 0.0676413 -317.50 132.50 42.50 0.0215621 -317.50 132.50 47.50 0.0214595 -317.50 132.50 52.50 0.0771345 -317.50 132.50 57.50 0.232396 -317.50 132.50 62.50 0.508295 -317.50 132.50 67.50 0.958794 -317.50 132.50 72.50 1.62477 -317.50 132.50 77.50 2.17574 -317.50 132.50 82.50 2.2079 -317.50 132.50 87.50 1.92084 -317.50 132.50 92.50 1.628 -317.50 132.50 97.50 1.21014 -317.50 132.50 102.50 0.840813 -317.50 132.50 107.50 0.569579 -317.50 132.50 112.50 0.454394 -317.50 132.50 117.50 0.317223 -317.50 132.50 122.50 0.164442 -317.50 132.50 127.50 0.0676412 -317.50 132.50 132.50 0.0215621 -317.50 132.50 137.50 0.0214595 -317.50 132.50 142.50 0.0771344 -317.50 132.50 147.50 0.232396 -317.50 132.50 152.50 0.508295 -317.50 132.50 157.50 0.958792 -317.50 132.50 162.50 1.62477 -317.50 132.50 167.50 2.17574 -317.50 132.50 172.50 2.20789 -317.50 132.50 177.50 1.92084 -317.50 132.50 182.50 1.628 -317.50 132.50 187.50 1.21014 -317.50 132.50 192.50 0.840813 -317.50 132.50 197.50 0.56958 -317.50 132.50 202.50 0.454394 -317.50 132.50 207.50 0.317223 -317.50 132.50 212.50 0.164442 -317.50 132.50 217.50 0.0676412 -317.50 132.50 222.50 0.0215621 -317.50 132.50 227.50 0.0214595 -317.50 132.50 232.50 0.0771347 -317.50 132.50 237.50 0.232396 -317.50 132.50 242.50 0.508295 -317.50 132.50 247.50 0.958794 -317.50 132.50 252.50 1.62477 -317.50 132.50 257.50 2.17574 -317.50 132.50 262.50 2.2079 -317.50 132.50 267.50 1.92084 -317.50 132.50 272.50 1.628 -317.50 132.50 277.50 1.21014 -317.50 132.50 282.50 0.840813 -317.50 132.50 287.50 0.569579 -317.50 132.50 292.50 0.454394 -317.50 132.50 297.50 0.317223 -317.50 132.50 302.50 0.164442 -317.50 132.50 307.50 0.0676414 -317.50 132.50 312.50 0.0215622 -317.50 132.50 317.50 0.0214595 -317.50 132.50 322.50 0.0771343 -317.50 132.50 327.50 0.232396 -317.50 132.50 332.50 0.508294 -317.50 132.50 337.50 0.958792 -317.50 132.50 342.50 1.62477 -317.50 132.50 347.50 2.17574 -317.50 132.50 352.50 2.2079 -317.50 132.50 357.50 1.92084 -317.50 137.50 2.50 1.66337 -317.50 137.50 7.50 0.914597 -317.50 137.50 12.50 0.452374 -317.50 137.50 17.50 0.232091 -317.50 137.50 22.50 0.139303 -317.50 137.50 27.50 0.0908966 -317.50 137.50 32.50 0.0400784 -317.50 137.50 37.50 0.0168595 -317.50 137.50 42.50 0.0150114 -317.50 137.50 47.50 0.056841 -317.50 137.50 52.50 0.18753 -317.50 137.50 57.50 0.548183 -317.50 137.50 62.50 1.14238 -317.50 137.50 67.50 1.94873 -317.50 137.50 72.50 3.06255 -317.50 137.50 77.50 3.64917 -317.50 137.50 82.50 3.36605 -317.50 137.50 87.50 2.48748 -317.50 137.50 92.50 1.66337 -317.50 137.50 97.50 0.914597 -317.50 137.50 102.50 0.452374 -317.50 137.50 107.50 0.232091 -317.50 137.50 112.50 0.139303 -317.50 137.50 117.50 0.0908966 -317.50 137.50 122.50 0.0400784 -317.50 137.50 127.50 0.0168595 -317.50 137.50 132.50 0.0150114 -317.50 137.50 137.50 0.056841 -317.50 137.50 142.50 0.18753 -317.50 137.50 147.50 0.548183 -317.50 137.50 152.50 1.14238 -317.50 137.50 157.50 1.94873 -317.50 137.50 162.50 3.06255 -317.50 137.50 167.50 3.64917 -317.50 137.50 172.50 3.36604 -317.50 137.50 177.50 2.48748 -317.50 137.50 182.50 1.66337 -317.50 137.50 187.50 0.914597 -317.50 137.50 192.50 0.452374 -317.50 137.50 197.50 0.232091 -317.50 137.50 202.50 0.139303 -317.50 137.50 207.50 0.0908967 -317.50 137.50 212.50 0.0400784 -317.50 137.50 217.50 0.0168596 -317.50 137.50 222.50 0.0150114 -317.50 137.50 227.50 0.0568409 -317.50 137.50 232.50 0.187531 -317.50 137.50 237.50 0.548184 -317.50 137.50 242.50 1.14238 -317.50 137.50 247.50 1.94873 -317.50 137.50 252.50 3.06255 -317.50 137.50 257.50 3.64917 -317.50 137.50 262.50 3.36604 -317.50 137.50 267.50 2.48747 -317.50 137.50 272.50 1.66337 -317.50 137.50 277.50 0.914597 -317.50 137.50 282.50 0.452374 -317.50 137.50 287.50 0.232091 -317.50 137.50 292.50 0.139303 -317.50 137.50 297.50 0.0908967 -317.50 137.50 302.50 0.0400785 -317.50 137.50 307.50 0.0168596 -317.50 137.50 312.50 0.0150114 -317.50 137.50 317.50 0.0568409 -317.50 137.50 322.50 0.18753 -317.50 137.50 327.50 0.548182 -317.50 137.50 332.50 1.14237 -317.50 137.50 337.50 1.94873 -317.50 137.50 342.50 3.06255 -317.50 137.50 347.50 3.64917 -317.50 137.50 352.50 3.36604 -317.50 137.50 357.50 2.48748 -317.50 142.50 2.50 1.628 -317.50 142.50 7.50 0.700266 -317.50 142.50 12.50 0.246042 -317.50 142.50 17.50 0.0932884 -317.50 142.50 22.50 0.0401124 -317.50 142.50 27.50 0.0193175 -317.50 142.50 32.50 0.0108623 -317.50 142.50 37.50 0.0171812 -317.50 142.50 42.50 0.0520137 -317.50 142.50 47.50 0.146547 -317.50 142.50 52.50 0.397991 -317.50 142.50 57.50 0.947814 -317.50 142.50 62.50 1.85956 -317.50 142.50 67.50 3.10897 -317.50 142.50 72.50 4.45582 -317.50 142.50 77.50 5.00803 -317.50 142.50 82.50 4.42937 -317.50 142.50 87.50 2.95657 -317.50 142.50 92.50 1.628 -317.50 142.50 97.50 0.700266 -317.50 142.50 102.50 0.246042 -317.50 142.50 107.50 0.0932884 -317.50 142.50 112.50 0.0401124 -317.50 142.50 117.50 0.0193175 -317.50 142.50 122.50 0.0108623 -317.50 142.50 127.50 0.0171812 -317.50 142.50 132.50 0.0520137 -317.50 142.50 137.50 0.146547 -317.50 142.50 142.50 0.397991 -317.50 142.50 147.50 0.947813 -317.50 142.50 152.50 1.85956 -317.50 142.50 157.50 3.10897 -317.50 142.50 162.50 4.45582 -317.50 142.50 167.50 5.00803 -317.50 142.50 172.50 4.42938 -317.50 142.50 177.50 2.95658 -317.50 142.50 182.50 1.628 -317.50 142.50 187.50 0.700266 -317.50 142.50 192.50 0.246042 -317.50 142.50 197.50 0.0932884 -317.50 142.50 202.50 0.0401124 -317.50 142.50 207.50 0.0193176 -317.50 142.50 212.50 0.0108623 -317.50 142.50 217.50 0.0171812 -317.50 142.50 222.50 0.0520135 -317.50 142.50 227.50 0.146546 -317.50 142.50 232.50 0.397992 -317.50 142.50 237.50 0.947814 -317.50 142.50 242.50 1.85956 -317.50 142.50 247.50 3.10897 -317.50 142.50 252.50 4.45582 -317.50 142.50 257.50 5.00802 -317.50 142.50 262.50 4.42937 -317.50 142.50 267.50 2.95657 -317.50 142.50 272.50 1.628 -317.50 142.50 277.50 0.700266 -317.50 142.50 282.50 0.246042 -317.50 142.50 287.50 0.0932885 -317.50 142.50 292.50 0.0401124 -317.50 142.50 297.50 0.0193176 -317.50 142.50 302.50 0.0108623 -317.50 142.50 307.50 0.0171812 -317.50 142.50 312.50 0.0520136 -317.50 142.50 317.50 0.146546 -317.50 142.50 322.50 0.397991 -317.50 142.50 327.50 0.947812 -317.50 142.50 332.50 1.85956 -317.50 142.50 337.50 3.10896 -317.50 142.50 342.50 4.45582 -317.50 142.50 347.50 5.00802 -317.50 142.50 352.50 4.42937 -317.50 142.50 357.50 2.95658 -317.50 147.50 2.50 1.51272 -317.50 147.50 7.50 0.540503 -317.50 147.50 12.50 0.15482 -317.50 147.50 17.50 0.0425806 -317.50 147.50 22.50 0.0142554 -317.50 147.50 27.50 0.00766383 -317.50 147.50 32.50 0.0170021 -317.50 147.50 37.50 0.0542929 -317.50 147.50 42.50 0.16191 -317.50 147.50 47.50 0.371523 -317.50 147.50 52.50 0.73429 -317.50 147.50 57.50 1.38818 -317.50 147.50 62.50 2.44984 -317.50 147.50 67.50 3.88118 -317.50 147.50 72.50 5.23187 -317.50 147.50 77.50 5.77028 -317.50 147.50 82.50 4.96675 -317.50 147.50 87.50 3.14259 -317.50 147.50 92.50 1.51272 -317.50 147.50 97.50 0.540503 -317.50 147.50 102.50 0.15482 -317.50 147.50 107.50 0.0425806 -317.50 147.50 112.50 0.0142554 -317.50 147.50 117.50 0.00766383 -317.50 147.50 122.50 0.0170021 -317.50 147.50 127.50 0.0542929 -317.50 147.50 132.50 0.16191 -317.50 147.50 137.50 0.371522 -317.50 147.50 142.50 0.73429 -317.50 147.50 147.50 1.38818 -317.50 147.50 152.50 2.44984 -317.50 147.50 157.50 3.88117 -317.50 147.50 162.50 5.23187 -317.50 147.50 167.50 5.77028 -317.50 147.50 172.50 4.96675 -317.50 147.50 177.50 3.14259 -317.50 147.50 182.50 1.51271 -317.50 147.50 187.50 0.540503 -317.50 147.50 192.50 0.15482 -317.50 147.50 197.50 0.0425805 -317.50 147.50 202.50 0.0142554 -317.50 147.50 207.50 0.00766383 -317.50 147.50 212.50 0.0170021 -317.50 147.50 217.50 0.0542928 -317.50 147.50 222.50 0.16191 -317.50 147.50 227.50 0.371522 -317.50 147.50 232.50 0.73429 -317.50 147.50 237.50 1.38818 -317.50 147.50 242.50 2.44984 -317.50 147.50 247.50 3.88118 -317.50 147.50 252.50 5.23187 -317.50 147.50 257.50 5.77028 -317.50 147.50 262.50 4.96675 -317.50 147.50 267.50 3.14258 -317.50 147.50 272.50 1.51272 -317.50 147.50 277.50 0.540503 -317.50 147.50 282.50 0.15482 -317.50 147.50 287.50 0.0425806 -317.50 147.50 292.50 0.0142554 -317.50 147.50 297.50 0.00766384 -317.50 147.50 302.50 0.017002 -317.50 147.50 307.50 0.0542928 -317.50 147.50 312.50 0.16191 -317.50 147.50 317.50 0.371522 -317.50 147.50 322.50 0.734289 -317.50 147.50 327.50 1.38818 -317.50 147.50 332.50 2.44983 -317.50 147.50 337.50 3.88117 -317.50 147.50 342.50 5.23187 -317.50 147.50 347.50 5.77028 -317.50 147.50 352.50 4.96675 -317.50 147.50 357.50 3.14259 -317.50 152.50 2.50 1.29235 -317.50 152.50 7.50 0.414931 -317.50 152.50 12.50 0.116364 -317.50 152.50 17.50 0.0247871 -317.50 152.50 22.50 0.00965575 -317.50 152.50 27.50 0.0135 -317.50 152.50 32.50 0.0486949 -317.50 152.50 37.50 0.141275 -317.50 152.50 42.50 0.340806 -317.50 152.50 47.50 0.695907 -317.50 152.50 52.50 1.17106 -317.50 152.50 57.50 1.79561 -317.50 152.50 62.50 2.69011 -317.50 152.50 67.50 3.92211 -317.50 152.50 72.50 4.99206 -317.50 152.50 77.50 5.39891 -317.50 152.50 82.50 4.50354 -317.50 152.50 87.50 2.82189 -317.50 152.50 92.50 1.29235 -317.50 152.50 97.50 0.414931 -317.50 152.50 102.50 0.116364 -317.50 152.50 107.50 0.0247871 -317.50 152.50 112.50 0.00965574 -317.50 152.50 117.50 0.0135 -317.50 152.50 122.50 0.0486949 -317.50 152.50 127.50 0.141275 -317.50 152.50 132.50 0.340806 -317.50 152.50 137.50 0.695907 -317.50 152.50 142.50 1.17106 -317.50 152.50 147.50 1.79561 -317.50 152.50 152.50 2.6901 -317.50 152.50 157.50 3.92211 -317.50 152.50 162.50 4.99206 -317.50 152.50 167.50 5.39891 -317.50 152.50 172.50 4.50354 -317.50 152.50 177.50 2.82189 -317.50 152.50 182.50 1.29235 -317.50 152.50 187.50 0.41493 -317.50 152.50 192.50 0.116364 -317.50 152.50 197.50 0.0247871 -317.50 152.50 202.50 0.00965575 -317.50 152.50 207.50 0.0134999 -317.50 152.50 212.50 0.0486949 -317.50 152.50 217.50 0.141275 -317.50 152.50 222.50 0.340806 -317.50 152.50 227.50 0.695906 -317.50 152.50 232.50 1.17107 -317.50 152.50 237.50 1.79562 -317.50 152.50 242.50 2.69011 -317.50 152.50 247.50 3.92211 -317.50 152.50 252.50 4.99206 -317.50 152.50 257.50 5.3989 -317.50 152.50 262.50 4.50354 -317.50 152.50 267.50 2.82189 -317.50 152.50 272.50 1.29235 -317.50 152.50 277.50 0.414931 -317.50 152.50 282.50 0.116364 -317.50 152.50 287.50 0.0247871 -317.50 152.50 292.50 0.00965574 -317.50 152.50 297.50 0.0134999 -317.50 152.50 302.50 0.0486948 -317.50 152.50 307.50 0.141274 -317.50 152.50 312.50 0.340805 -317.50 152.50 317.50 0.695907 -317.50 152.50 322.50 1.17106 -317.50 152.50 327.50 1.79561 -317.50 152.50 332.50 2.6901 -317.50 152.50 337.50 3.92211 -317.50 152.50 342.50 4.99206 -317.50 152.50 347.50 5.39891 -317.50 152.50 352.50 4.50354 -317.50 152.50 357.50 2.82189 -317.50 157.50 2.50 0.968133 -317.50 157.50 7.50 0.329817 -317.50 157.50 12.50 0.104603 -317.50 157.50 17.50 0.030666 -317.50 157.50 22.50 0.0163487 -317.50 157.50 27.50 0.0368872 -317.50 157.50 32.50 0.109068 -317.50 157.50 37.50 0.270308 -317.50 157.50 42.50 0.56668 -317.50 157.50 47.50 1.01745 -317.50 157.50 52.50 1.50218 -317.50 157.50 57.50 1.9563 -317.50 157.50 62.50 2.54337 -317.50 157.50 67.50 3.22444 -317.50 157.50 72.50 3.8301 -317.50 157.50 77.50 3.92172 -317.50 157.50 82.50 3.2313 -317.50 157.50 87.50 2.03748 -317.50 157.50 92.50 0.968133 -317.50 157.50 97.50 0.329817 -317.50 157.50 102.50 0.104603 -317.50 157.50 107.50 0.030666 -317.50 157.50 112.50 0.0163487 -317.50 157.50 117.50 0.0368872 -317.50 157.50 122.50 0.109068 -317.50 157.50 127.50 0.270308 -317.50 157.50 132.50 0.56668 -317.50 157.50 137.50 1.01745 -317.50 157.50 142.50 1.50218 -317.50 157.50 147.50 1.9563 -317.50 157.50 152.50 2.54336 -317.50 157.50 157.50 3.22444 -317.50 157.50 162.50 3.8301 -317.50 157.50 167.50 3.92172 -317.50 157.50 172.50 3.2313 -317.50 157.50 177.50 2.03748 -317.50 157.50 182.50 0.968133 -317.50 157.50 187.50 0.329817 -317.50 157.50 192.50 0.104603 -317.50 157.50 197.50 0.0306659 -317.50 157.50 202.50 0.0163487 -317.50 157.50 207.50 0.0368872 -317.50 157.50 212.50 0.109068 -317.50 157.50 217.50 0.270308 -317.50 157.50 222.50 0.56668 -317.50 157.50 227.50 1.01745 -317.50 157.50 232.50 1.50218 -317.50 157.50 237.50 1.9563 -317.50 157.50 242.50 2.54337 -317.50 157.50 247.50 3.22444 -317.50 157.50 252.50 3.8301 -317.50 157.50 257.50 3.92172 -317.50 157.50 262.50 3.2313 -317.50 157.50 267.50 2.03748 -317.50 157.50 272.50 0.968133 -317.50 157.50 277.50 0.329817 -317.50 157.50 282.50 0.104603 -317.50 157.50 287.50 0.030666 -317.50 157.50 292.50 0.0163487 -317.50 157.50 297.50 0.0368872 -317.50 157.50 302.50 0.109068 -317.50 157.50 307.50 0.270308 -317.50 157.50 312.50 0.56668 -317.50 157.50 317.50 1.01745 -317.50 157.50 322.50 1.50218 -317.50 157.50 327.50 1.9563 -317.50 157.50 332.50 2.54336 -317.50 157.50 337.50 3.22444 -317.50 157.50 342.50 3.8301 -317.50 157.50 347.50 3.92172 -317.50 157.50 352.50 3.2313 -317.50 157.50 357.50 2.03748 -317.50 162.50 2.50 0.637513 -317.50 162.50 7.50 0.285721 -317.50 162.50 12.50 0.119253 -317.50 162.50 17.50 0.0519655 -317.50 162.50 22.50 0.0393928 -317.50 162.50 27.50 0.0852978 -317.50 162.50 32.50 0.205078 -317.50 162.50 37.50 0.427802 -317.50 162.50 42.50 0.795806 -317.50 162.50 47.50 1.23339 -317.50 162.50 52.50 1.57233 -317.50 162.50 57.50 1.72953 -317.50 162.50 62.50 1.8782 -317.50 162.50 67.50 2.14288 -317.50 162.50 72.50 2.34706 -317.50 162.50 77.50 2.24805 -317.50 162.50 82.50 1.81288 -317.50 162.50 87.50 1.18271 -317.50 162.50 92.50 0.637512 -317.50 162.50 97.50 0.285721 -317.50 162.50 102.50 0.119253 -317.50 162.50 107.50 0.0519655 -317.50 162.50 112.50 0.0393927 -317.50 162.50 117.50 0.0852978 -317.50 162.50 122.50 0.205078 -317.50 162.50 127.50 0.427802 -317.50 162.50 132.50 0.795806 -317.50 162.50 137.50 1.23339 -317.50 162.50 142.50 1.57234 -317.50 162.50 147.50 1.72954 -317.50 162.50 152.50 1.8782 -317.50 162.50 157.50 2.14288 -317.50 162.50 162.50 2.34706 -317.50 162.50 167.50 2.24805 -317.50 162.50 172.50 1.81288 -317.50 162.50 177.50 1.18272 -317.50 162.50 182.50 0.637512 -317.50 162.50 187.50 0.285721 -317.50 162.50 192.50 0.119253 -317.50 162.50 197.50 0.0519655 -317.50 162.50 202.50 0.0393927 -317.50 162.50 207.50 0.0852977 -317.50 162.50 212.50 0.205078 -317.50 162.50 217.50 0.427802 -317.50 162.50 222.50 0.795805 -317.50 162.50 227.50 1.23339 -317.50 162.50 232.50 1.57234 -317.50 162.50 237.50 1.72954 -317.50 162.50 242.50 1.8782 -317.50 162.50 247.50 2.14288 -317.50 162.50 252.50 2.34706 -317.50 162.50 257.50 2.24805 -317.50 162.50 262.50 1.81288 -317.50 162.50 267.50 1.18271 -317.50 162.50 272.50 0.637513 -317.50 162.50 277.50 0.285721 -317.50 162.50 282.50 0.119253 -317.50 162.50 287.50 0.0519655 -317.50 162.50 292.50 0.0393928 -317.50 162.50 297.50 0.0852978 -317.50 162.50 302.50 0.205078 -317.50 162.50 307.50 0.427802 -317.50 162.50 312.50 0.795805 -317.50 162.50 317.50 1.23339 -317.50 162.50 322.50 1.57233 -317.50 162.50 327.50 1.72953 -317.50 162.50 332.50 1.8782 -317.50 162.50 337.50 2.14288 -317.50 162.50 342.50 2.34706 -317.50 162.50 347.50 2.24805 -317.50 162.50 352.50 1.81288 -317.50 162.50 357.50 1.18272 -317.50 167.50 2.50 0.403177 -317.50 167.50 7.50 0.258234 -317.50 167.50 12.50 0.138051 -317.50 167.50 17.50 0.0753126 -317.50 167.50 22.50 0.0671229 -317.50 167.50 27.50 0.125027 -317.50 167.50 32.50 0.270598 -317.50 167.50 37.50 0.534562 -317.50 167.50 42.50 0.917767 -317.50 167.50 47.50 1.28158 -317.50 167.50 52.50 1.37784 -317.50 167.50 57.50 1.21406 -317.50 167.50 62.50 1.0785 -317.50 167.50 67.50 1.09896 -317.50 167.50 72.50 1.12898 -317.50 167.50 77.50 1.03822 -317.50 167.50 82.50 0.819828 -317.50 167.50 87.50 0.597879 -317.50 167.50 92.50 0.403176 -317.50 167.50 97.50 0.258234 -317.50 167.50 102.50 0.138051 -317.50 167.50 107.50 0.0753126 -317.50 167.50 112.50 0.0671228 -317.50 167.50 117.50 0.125027 -317.50 167.50 122.50 0.270598 -317.50 167.50 127.50 0.534563 -317.50 167.50 132.50 0.917767 -317.50 167.50 137.50 1.28158 -317.50 167.50 142.50 1.37784 -317.50 167.50 147.50 1.21406 -317.50 167.50 152.50 1.0785 -317.50 167.50 157.50 1.09896 -317.50 167.50 162.50 1.12898 -317.50 167.50 167.50 1.03822 -317.50 167.50 172.50 0.819828 -317.50 167.50 177.50 0.597879 -317.50 167.50 182.50 0.403177 -317.50 167.50 187.50 0.258234 -317.50 167.50 192.50 0.138051 -317.50 167.50 197.50 0.0753126 -317.50 167.50 202.50 0.0671228 -317.50 167.50 207.50 0.125027 -317.50 167.50 212.50 0.270598 -317.50 167.50 217.50 0.534562 -317.50 167.50 222.50 0.917767 -317.50 167.50 227.50 1.28158 -317.50 167.50 232.50 1.37784 -317.50 167.50 237.50 1.21406 -317.50 167.50 242.50 1.0785 -317.50 167.50 247.50 1.09896 -317.50 167.50 252.50 1.12898 -317.50 167.50 257.50 1.03822 -317.50 167.50 262.50 0.819828 -317.50 167.50 267.50 0.597879 -317.50 167.50 272.50 0.403177 -317.50 167.50 277.50 0.258234 -317.50 167.50 282.50 0.138051 -317.50 167.50 287.50 0.0753126 -317.50 167.50 292.50 0.0671229 -317.50 167.50 297.50 0.125027 -317.50 167.50 302.50 0.270598 -317.50 167.50 307.50 0.534562 -317.50 167.50 312.50 0.917767 -317.50 167.50 317.50 1.28158 -317.50 167.50 322.50 1.37784 -317.50 167.50 327.50 1.21406 -317.50 167.50 332.50 1.0785 -317.50 167.50 337.50 1.09896 -317.50 167.50 342.50 1.12898 -317.50 167.50 347.50 1.03822 -317.50 167.50 352.50 0.819828 -317.50 167.50 357.50 0.59788 -317.50 172.50 2.50 0.246673 -317.50 172.50 7.50 0.200771 -317.50 172.50 12.50 0.135628 -317.50 172.50 17.50 0.0755782 -317.50 172.50 22.50 0.0702204 -317.50 172.50 27.50 0.118447 -317.50 172.50 32.50 0.244565 -317.50 172.50 37.50 0.511232 -317.50 172.50 42.50 0.910763 -317.50 172.50 47.50 1.19054 -317.50 172.50 52.50 1.09405 -317.50 172.50 57.50 0.755847 -317.50 172.50 62.50 0.500226 -317.50 172.50 67.50 0.426448 -317.50 172.50 72.50 0.422122 -317.50 172.50 77.50 0.38959 -317.50 172.50 82.50 0.346466 -317.50 172.50 87.50 0.292922 -317.50 172.50 92.50 0.246673 -317.50 172.50 97.50 0.200771 -317.50 172.50 102.50 0.135628 -317.50 172.50 107.50 0.0755782 -317.50 172.50 112.50 0.0702203 -317.50 172.50 117.50 0.118447 -317.50 172.50 122.50 0.244565 -317.50 172.50 127.50 0.511233 -317.50 172.50 132.50 0.910763 -317.50 172.50 137.50 1.19054 -317.50 172.50 142.50 1.09405 -317.50 172.50 147.50 0.755848 -317.50 172.50 152.50 0.500227 -317.50 172.50 157.50 0.426448 -317.50 172.50 162.50 0.422122 -317.50 172.50 167.50 0.38959 -317.50 172.50 172.50 0.346467 -317.50 172.50 177.50 0.292922 -317.50 172.50 182.50 0.246673 -317.50 172.50 187.50 0.200771 -317.50 172.50 192.50 0.135628 -317.50 172.50 197.50 0.0755782 -317.50 172.50 202.50 0.0702204 -317.50 172.50 207.50 0.118447 -317.50 172.50 212.50 0.244565 -317.50 172.50 217.50 0.511232 -317.50 172.50 222.50 0.910762 -317.50 172.50 227.50 1.19054 -317.50 172.50 232.50 1.09405 -317.50 172.50 237.50 0.755847 -317.50 172.50 242.50 0.500226 -317.50 172.50 247.50 0.426448 -317.50 172.50 252.50 0.422122 -317.50 172.50 257.50 0.38959 -317.50 172.50 262.50 0.346466 -317.50 172.50 267.50 0.292922 -317.50 172.50 272.50 0.246673 -317.50 172.50 277.50 0.200771 -317.50 172.50 282.50 0.135628 -317.50 172.50 287.50 0.0755782 -317.50 172.50 292.50 0.0702204 -317.50 172.50 297.50 0.118447 -317.50 172.50 302.50 0.244565 -317.50 172.50 307.50 0.511232 -317.50 172.50 312.50 0.910762 -317.50 172.50 317.50 1.19054 -317.50 172.50 322.50 1.09405 -317.50 172.50 327.50 0.755849 -317.50 172.50 332.50 0.500227 -317.50 172.50 337.50 0.426448 -317.50 172.50 342.50 0.422122 -317.50 172.50 347.50 0.38959 -317.50 172.50 352.50 0.346467 -317.50 172.50 357.50 0.292922 -317.50 177.50 2.50 0.130387 -317.50 177.50 7.50 0.120837 -317.50 177.50 12.50 0.0985687 -317.50 177.50 17.50 0.0706778 -317.50 177.50 22.50 0.0586777 -317.50 177.50 27.50 0.0818356 -317.50 177.50 32.50 0.171415 -317.50 177.50 37.50 0.401306 -317.50 177.50 42.50 0.751727 -317.50 177.50 47.50 0.957657 -317.50 177.50 52.50 0.799663 -317.50 177.50 57.50 0.456806 -317.50 177.50 62.50 0.214872 -317.50 177.50 67.50 0.132724 -317.50 177.50 72.50 0.125308 -317.50 177.50 77.50 0.133174 -317.50 177.50 82.50 0.138326 -317.50 177.50 87.50 0.136291 -317.50 177.50 92.50 0.130387 -317.50 177.50 97.50 0.120837 -317.50 177.50 102.50 0.0985686 -317.50 177.50 107.50 0.0706778 -317.50 177.50 112.50 0.0586777 -317.50 177.50 117.50 0.0818356 -317.50 177.50 122.50 0.171415 -317.50 177.50 127.50 0.401307 -317.50 177.50 132.50 0.751727 -317.50 177.50 137.50 0.957657 -317.50 177.50 142.50 0.799663 -317.50 177.50 147.50 0.456806 -317.50 177.50 152.50 0.214872 -317.50 177.50 157.50 0.132724 -317.50 177.50 162.50 0.125308 -317.50 177.50 167.50 0.133174 -317.50 177.50 172.50 0.138326 -317.50 177.50 177.50 0.136291 -317.50 177.50 182.50 0.130387 -317.50 177.50 187.50 0.120837 -317.50 177.50 192.50 0.0985687 -317.50 177.50 197.50 0.0706778 -317.50 177.50 202.50 0.0586778 -317.50 177.50 207.50 0.0818357 -317.50 177.50 212.50 0.171415 -317.50 177.50 217.50 0.401305 -317.50 177.50 222.50 0.751726 -317.50 177.50 227.50 0.957657 -317.50 177.50 232.50 0.799662 -317.50 177.50 237.50 0.456805 -317.50 177.50 242.50 0.214871 -317.50 177.50 247.50 0.132724 -317.50 177.50 252.50 0.125309 -317.50 177.50 257.50 0.133174 -317.50 177.50 262.50 0.138326 -317.50 177.50 267.50 0.136291 -317.50 177.50 272.50 0.130387 -317.50 177.50 277.50 0.120837 -317.50 177.50 282.50 0.0985687 -317.50 177.50 287.50 0.0706777 -317.50 177.50 292.50 0.0586778 -317.50 177.50 297.50 0.0818357 -317.50 177.50 302.50 0.171415 -317.50 177.50 307.50 0.401305 -317.50 177.50 312.50 0.751726 -317.50 177.50 317.50 0.957657 -317.50 177.50 322.50 0.799663 -317.50 177.50 327.50 0.456807 -317.50 177.50 332.50 0.214872 -317.50 177.50 337.50 0.132724 -317.50 177.50 342.50 0.125308 -317.50 177.50 347.50 0.133174 -317.50 177.50 352.50 0.138326 -317.50 177.50 357.50 0.136291 -322.50 2.50 2.50 0.083846 -322.50 2.50 7.50 0.0760386 -322.50 2.50 12.50 0.0601603 -322.50 2.50 17.50 0.048522 -322.50 2.50 22.50 0.0624685 -322.50 2.50 27.50 0.149977 -322.50 2.50 32.50 0.393272 -322.50 2.50 37.50 0.773178 -322.50 2.50 42.50 0.980476 -322.50 2.50 47.50 0.773179 -322.50 2.50 52.50 0.393273 -322.50 2.50 57.50 0.149977 -322.50 2.50 62.50 0.0624686 -322.50 2.50 67.50 0.0485219 -322.50 2.50 72.50 0.0601603 -322.50 2.50 77.50 0.0760385 -322.50 2.50 82.50 0.083846 -322.50 2.50 87.50 0.084539 -322.50 2.50 92.50 0.083846 -322.50 2.50 97.50 0.0760385 -322.50 2.50 102.50 0.0601603 -322.50 2.50 107.50 0.048522 -322.50 2.50 112.50 0.0624685 -322.50 2.50 117.50 0.149977 -322.50 2.50 122.50 0.393272 -322.50 2.50 127.50 0.773178 -322.50 2.50 132.50 0.980476 -322.50 2.50 137.50 0.773179 -322.50 2.50 142.50 0.393273 -322.50 2.50 147.50 0.149977 -322.50 2.50 152.50 0.0624686 -322.50 2.50 157.50 0.0485219 -322.50 2.50 162.50 0.0601603 -322.50 2.50 167.50 0.0760385 -322.50 2.50 172.50 0.083846 -322.50 2.50 177.50 0.084539 -322.50 2.50 182.50 0.083846 -322.50 2.50 187.50 0.0760386 -322.50 2.50 192.50 0.0601603 -322.50 2.50 197.50 0.048522 -322.50 2.50 202.50 0.0624685 -322.50 2.50 207.50 0.149977 -322.50 2.50 212.50 0.393272 -322.50 2.50 217.50 0.773178 -322.50 2.50 222.50 0.980476 -322.50 2.50 227.50 0.773179 -322.50 2.50 232.50 0.393273 -322.50 2.50 237.50 0.149977 -322.50 2.50 242.50 0.0624686 -322.50 2.50 247.50 0.0485219 -322.50 2.50 252.50 0.0601603 -322.50 2.50 257.50 0.0760385 -322.50 2.50 262.50 0.083846 -322.50 2.50 267.50 0.084539 -322.50 2.50 272.50 0.083846 -322.50 2.50 277.50 0.0760385 -322.50 2.50 282.50 0.0601603 -322.50 2.50 287.50 0.048522 -322.50 2.50 292.50 0.0624685 -322.50 2.50 297.50 0.149977 -322.50 2.50 302.50 0.393271 -322.50 2.50 307.50 0.773178 -322.50 2.50 312.50 0.980476 -322.50 2.50 317.50 0.773179 -322.50 2.50 322.50 0.393273 -322.50 2.50 327.50 0.149977 -322.50 2.50 332.50 0.0624687 -322.50 2.50 337.50 0.0485219 -322.50 2.50 342.50 0.0601602 -322.50 2.50 347.50 0.0760385 -322.50 2.50 352.50 0.083846 -322.50 2.50 357.50 0.084539 -322.50 7.50 2.50 0.12541 -322.50 7.50 7.50 0.126957 -322.50 7.50 12.50 0.120838 -322.50 7.50 17.50 0.118243 -322.50 7.50 22.50 0.140119 -322.50 7.50 27.50 0.232953 -322.50 7.50 32.50 0.462255 -322.50 7.50 37.50 0.792093 -322.50 7.50 42.50 0.958468 -322.50 7.50 47.50 0.774996 -322.50 7.50 52.50 0.425682 -322.50 7.50 57.50 0.176459 -322.50 7.50 62.50 0.0709712 -322.50 7.50 67.50 0.0483575 -322.50 7.50 72.50 0.0626697 -322.50 7.50 77.50 0.0897009 -322.50 7.50 82.50 0.110057 -322.50 7.50 87.50 0.119002 -322.50 7.50 92.50 0.12541 -322.50 7.50 97.50 0.126956 -322.50 7.50 102.50 0.120838 -322.50 7.50 107.50 0.118243 -322.50 7.50 112.50 0.140119 -322.50 7.50 117.50 0.232954 -322.50 7.50 122.50 0.462255 -322.50 7.50 127.50 0.792092 -322.50 7.50 132.50 0.958468 -322.50 7.50 137.50 0.774996 -322.50 7.50 142.50 0.425682 -322.50 7.50 147.50 0.176459 -322.50 7.50 152.50 0.0709714 -322.50 7.50 157.50 0.0483576 -322.50 7.50 162.50 0.0626696 -322.50 7.50 167.50 0.0897008 -322.50 7.50 172.50 0.110057 -322.50 7.50 177.50 0.119002 -322.50 7.50 182.50 0.12541 -322.50 7.50 187.50 0.126956 -322.50 7.50 192.50 0.120838 -322.50 7.50 197.50 0.118243 -322.50 7.50 202.50 0.140119 -322.50 7.50 207.50 0.232953 -322.50 7.50 212.50 0.462255 -322.50 7.50 217.50 0.792092 -322.50 7.50 222.50 0.958469 -322.50 7.50 227.50 0.774996 -322.50 7.50 232.50 0.425681 -322.50 7.50 237.50 0.176458 -322.50 7.50 242.50 0.0709713 -322.50 7.50 247.50 0.0483576 -322.50 7.50 252.50 0.0626697 -322.50 7.50 257.50 0.0897009 -322.50 7.50 262.50 0.110057 -322.50 7.50 267.50 0.119002 -322.50 7.50 272.50 0.12541 -322.50 7.50 277.50 0.126956 -322.50 7.50 282.50 0.120838 -322.50 7.50 287.50 0.118243 -322.50 7.50 292.50 0.140119 -322.50 7.50 297.50 0.232953 -322.50 7.50 302.50 0.462254 -322.50 7.50 307.50 0.792092 -322.50 7.50 312.50 0.958469 -322.50 7.50 317.50 0.774996 -322.50 7.50 322.50 0.425683 -322.50 7.50 327.50 0.176459 -322.50 7.50 332.50 0.0709715 -322.50 7.50 337.50 0.0483576 -322.50 7.50 342.50 0.0626696 -322.50 7.50 347.50 0.0897008 -322.50 7.50 352.50 0.110057 -322.50 7.50 357.50 0.119002 -322.50 12.50 2.50 0.244556 -322.50 12.50 7.50 0.291898 -322.50 12.50 12.50 0.329846 -322.50 12.50 17.50 0.362094 -322.50 12.50 22.50 0.416338 -322.50 12.50 27.50 0.526486 -322.50 12.50 32.50 0.777773 -322.50 12.50 37.50 1.10121 -322.50 12.50 42.50 1.21402 -322.50 12.50 47.50 0.953292 -322.50 12.50 52.50 0.541711 -322.50 12.50 57.50 0.244358 -322.50 12.50 62.50 0.102746 -322.50 12.50 67.50 0.0569905 -322.50 12.50 72.50 0.0673723 -322.50 12.50 77.50 0.108297 -322.50 12.50 82.50 0.164515 -322.50 12.50 87.50 0.204062 -322.50 12.50 92.50 0.244556 -322.50 12.50 97.50 0.291897 -322.50 12.50 102.50 0.329846 -322.50 12.50 107.50 0.362094 -322.50 12.50 112.50 0.416338 -322.50 12.50 117.50 0.526486 -322.50 12.50 122.50 0.777773 -322.50 12.50 127.50 1.10121 -322.50 12.50 132.50 1.21402 -322.50 12.50 137.50 0.953291 -322.50 12.50 142.50 0.541712 -322.50 12.50 147.50 0.244358 -322.50 12.50 152.50 0.102746 -322.50 12.50 157.50 0.0569905 -322.50 12.50 162.50 0.0673723 -322.50 12.50 167.50 0.108297 -322.50 12.50 172.50 0.164515 -322.50 12.50 177.50 0.204062 -322.50 12.50 182.50 0.244556 -322.50 12.50 187.50 0.291898 -322.50 12.50 192.50 0.329846 -322.50 12.50 197.50 0.362094 -322.50 12.50 202.50 0.416338 -322.50 12.50 207.50 0.526486 -322.50 12.50 212.50 0.777772 -322.50 12.50 217.50 1.10121 -322.50 12.50 222.50 1.21402 -322.50 12.50 227.50 0.953291 -322.50 12.50 232.50 0.541711 -322.50 12.50 237.50 0.244358 -322.50 12.50 242.50 0.102746 -322.50 12.50 247.50 0.0569905 -322.50 12.50 252.50 0.0673723 -322.50 12.50 257.50 0.108297 -322.50 12.50 262.50 0.164515 -322.50 12.50 267.50 0.204062 -322.50 12.50 272.50 0.244556 -322.50 12.50 277.50 0.291898 -322.50 12.50 282.50 0.329846 -322.50 12.50 287.50 0.362094 -322.50 12.50 292.50 0.416338 -322.50 12.50 297.50 0.526485 -322.50 12.50 302.50 0.777772 -322.50 12.50 307.50 1.10121 -322.50 12.50 312.50 1.21402 -322.50 12.50 317.50 0.953292 -322.50 12.50 322.50 0.541712 -322.50 12.50 327.50 0.244358 -322.50 12.50 332.50 0.102746 -322.50 12.50 337.50 0.0569905 -322.50 12.50 342.50 0.0673722 -322.50 12.50 347.50 0.108297 -322.50 12.50 352.50 0.164515 -322.50 12.50 357.50 0.204062 -322.50 17.50 2.50 0.460876 -322.50 17.50 7.50 0.652798 -322.50 17.50 12.50 0.816207 -322.50 17.50 17.50 0.968019 -322.50 17.50 22.50 1.04354 -322.50 17.50 27.50 1.10149 -322.50 17.50 32.50 1.25223 -322.50 17.50 37.50 1.42006 -322.50 17.50 42.50 1.33987 -322.50 17.50 47.50 0.970133 -322.50 17.50 52.50 0.554866 -322.50 17.50 57.50 0.268721 -322.50 17.50 62.50 0.110501 -322.50 17.50 67.50 0.0515304 -322.50 17.50 72.50 0.0626106 -322.50 17.50 77.50 0.118854 -322.50 17.50 82.50 0.192319 -322.50 17.50 87.50 0.30253 -322.50 17.50 92.50 0.460876 -322.50 17.50 97.50 0.652797 -322.50 17.50 102.50 0.816206 -322.50 17.50 107.50 0.968019 -322.50 17.50 112.50 1.04354 -322.50 17.50 117.50 1.10149 -322.50 17.50 122.50 1.25223 -322.50 17.50 127.50 1.42006 -322.50 17.50 132.50 1.33987 -322.50 17.50 137.50 0.970133 -322.50 17.50 142.50 0.554866 -322.50 17.50 147.50 0.268721 -322.50 17.50 152.50 0.110501 -322.50 17.50 157.50 0.0515304 -322.50 17.50 162.50 0.0626106 -322.50 17.50 167.50 0.118854 -322.50 17.50 172.50 0.192319 -322.50 17.50 177.50 0.30253 -322.50 17.50 182.50 0.460876 -322.50 17.50 187.50 0.652798 -322.50 17.50 192.50 0.816206 -322.50 17.50 197.50 0.968019 -322.50 17.50 202.50 1.04354 -322.50 17.50 207.50 1.10149 -322.50 17.50 212.50 1.25223 -322.50 17.50 217.50 1.42006 -322.50 17.50 222.50 1.33987 -322.50 17.50 227.50 0.970133 -322.50 17.50 232.50 0.554866 -322.50 17.50 237.50 0.268721 -322.50 17.50 242.50 0.110501 -322.50 17.50 247.50 0.0515304 -322.50 17.50 252.50 0.0626106 -322.50 17.50 257.50 0.118854 -322.50 17.50 262.50 0.192319 -322.50 17.50 267.50 0.30253 -322.50 17.50 272.50 0.460877 -322.50 17.50 277.50 0.652798 -322.50 17.50 282.50 0.816206 -322.50 17.50 287.50 0.968019 -322.50 17.50 292.50 1.04354 -322.50 17.50 297.50 1.10149 -322.50 17.50 302.50 1.25223 -322.50 17.50 307.50 1.42006 -322.50 17.50 312.50 1.33987 -322.50 17.50 317.50 0.970134 -322.50 17.50 322.50 0.554868 -322.50 17.50 327.50 0.268722 -322.50 17.50 332.50 0.110501 -322.50 17.50 337.50 0.0515304 -322.50 17.50 342.50 0.0626105 -322.50 17.50 347.50 0.118854 -322.50 17.50 352.50 0.192319 -322.50 17.50 357.50 0.30253 -322.50 22.50 2.50 0.865462 -322.50 22.50 7.50 1.38244 -322.50 22.50 12.50 1.8292 -322.50 22.50 17.50 2.05423 -322.50 22.50 22.50 2.04577 -322.50 22.50 27.50 1.89594 -322.50 22.50 32.50 1.76641 -322.50 22.50 37.50 1.62272 -322.50 22.50 42.50 1.30256 -322.50 22.50 47.50 0.847795 -322.50 22.50 52.50 0.456507 -322.50 22.50 57.50 0.206481 -322.50 22.50 62.50 0.0784523 -322.50 22.50 67.50 0.0302528 -322.50 22.50 72.50 0.0366079 -322.50 22.50 77.50 0.0932949 -322.50 22.50 82.50 0.202847 -322.50 22.50 87.50 0.430564 -322.50 22.50 92.50 0.865461 -322.50 22.50 97.50 1.38244 -322.50 22.50 102.50 1.8292 -322.50 22.50 107.50 2.05423 -322.50 22.50 112.50 2.04577 -322.50 22.50 117.50 1.89594 -322.50 22.50 122.50 1.76641 -322.50 22.50 127.50 1.62272 -322.50 22.50 132.50 1.30256 -322.50 22.50 137.50 0.847795 -322.50 22.50 142.50 0.456507 -322.50 22.50 147.50 0.206482 -322.50 22.50 152.50 0.0784524 -322.50 22.50 157.50 0.0302528 -322.50 22.50 162.50 0.0366079 -322.50 22.50 167.50 0.0932948 -322.50 22.50 172.50 0.202847 -322.50 22.50 177.50 0.430563 -322.50 22.50 182.50 0.865461 -322.50 22.50 187.50 1.38244 -322.50 22.50 192.50 1.8292 -322.50 22.50 197.50 2.05423 -322.50 22.50 202.50 2.04577 -322.50 22.50 207.50 1.89594 -322.50 22.50 212.50 1.76641 -322.50 22.50 217.50 1.62272 -322.50 22.50 222.50 1.30256 -322.50 22.50 227.50 0.847795 -322.50 22.50 232.50 0.456506 -322.50 22.50 237.50 0.206481 -322.50 22.50 242.50 0.0784524 -322.50 22.50 247.50 0.0302528 -322.50 22.50 252.50 0.0366079 -322.50 22.50 257.50 0.093295 -322.50 22.50 262.50 0.202847 -322.50 22.50 267.50 0.430564 -322.50 22.50 272.50 0.865462 -322.50 22.50 277.50 1.38244 -322.50 22.50 282.50 1.8292 -322.50 22.50 287.50 2.05423 -322.50 22.50 292.50 2.04577 -322.50 22.50 297.50 1.89594 -322.50 22.50 302.50 1.76641 -322.50 22.50 307.50 1.62272 -322.50 22.50 312.50 1.30256 -322.50 22.50 317.50 0.847795 -322.50 22.50 322.50 0.456508 -322.50 22.50 327.50 0.206482 -322.50 22.50 332.50 0.0784526 -322.50 22.50 337.50 0.0302528 -322.50 22.50 342.50 0.0366078 -322.50 22.50 347.50 0.0932948 -322.50 22.50 352.50 0.202847 -322.50 22.50 357.50 0.430563 -322.50 27.50 2.50 1.46809 -322.50 27.50 7.50 2.50208 -322.50 27.50 12.50 3.31096 -322.50 27.50 17.50 3.52194 -322.50 27.50 22.50 3.1379 -322.50 27.50 27.50 2.5845 -322.50 27.50 32.50 2.10945 -322.50 27.50 37.50 1.61011 -322.50 27.50 42.50 1.09447 -322.50 27.50 47.50 0.60778 -322.50 27.50 52.50 0.295949 -322.50 27.50 57.50 0.121999 -322.50 27.50 62.50 0.0369169 -322.50 27.50 67.50 0.0123625 -322.50 27.50 72.50 0.0183379 -322.50 27.50 77.50 0.0670518 -322.50 27.50 82.50 0.227896 -322.50 27.50 87.50 0.620965 -322.50 27.50 92.50 1.46809 -322.50 27.50 97.50 2.50208 -322.50 27.50 102.50 3.31096 -322.50 27.50 107.50 3.52194 -322.50 27.50 112.50 3.1379 -322.50 27.50 117.50 2.5845 -322.50 27.50 122.50 2.10945 -322.50 27.50 127.50 1.61011 -322.50 27.50 132.50 1.09447 -322.50 27.50 137.50 0.60778 -322.50 27.50 142.50 0.295949 -322.50 27.50 147.50 0.121999 -322.50 27.50 152.50 0.036917 -322.50 27.50 157.50 0.0123625 -322.50 27.50 162.50 0.0183379 -322.50 27.50 167.50 0.0670517 -322.50 27.50 172.50 0.227895 -322.50 27.50 177.50 0.620964 -322.50 27.50 182.50 1.46809 -322.50 27.50 187.50 2.50208 -322.50 27.50 192.50 3.31096 -322.50 27.50 197.50 3.52195 -322.50 27.50 202.50 3.1379 -322.50 27.50 207.50 2.5845 -322.50 27.50 212.50 2.10945 -322.50 27.50 217.50 1.61011 -322.50 27.50 222.50 1.09447 -322.50 27.50 227.50 0.607781 -322.50 27.50 232.50 0.295948 -322.50 27.50 237.50 0.121999 -322.50 27.50 242.50 0.0369169 -322.50 27.50 247.50 0.0123625 -322.50 27.50 252.50 0.0183379 -322.50 27.50 257.50 0.067052 -322.50 27.50 262.50 0.227896 -322.50 27.50 267.50 0.620966 -322.50 27.50 272.50 1.46809 -322.50 27.50 277.50 2.50208 -322.50 27.50 282.50 3.31096 -322.50 27.50 287.50 3.52195 -322.50 27.50 292.50 3.1379 -322.50 27.50 297.50 2.5845 -322.50 27.50 302.50 2.10945 -322.50 27.50 307.50 1.61011 -322.50 27.50 312.50 1.09447 -322.50 27.50 317.50 0.607781 -322.50 27.50 322.50 0.295949 -322.50 27.50 327.50 0.121999 -322.50 27.50 332.50 0.036917 -322.50 27.50 337.50 0.0123625 -322.50 27.50 342.50 0.0183378 -322.50 27.50 347.50 0.0670516 -322.50 27.50 352.50 0.227895 -322.50 27.50 357.50 0.620963 -322.50 32.50 2.50 2.09891 -322.50 32.50 7.50 3.6603 -322.50 32.50 12.50 4.76941 -322.50 32.50 17.50 4.86415 -322.50 32.50 22.50 3.92309 -322.50 32.50 27.50 2.88773 -322.50 32.50 32.50 2.00439 -322.50 32.50 37.50 1.33779 -322.50 32.50 42.50 0.781112 -322.50 32.50 47.50 0.374034 -322.50 32.50 52.50 0.149518 -322.50 32.50 57.50 0.0565721 -322.50 32.50 62.50 0.0167838 -322.50 32.50 67.50 0.00703295 -322.50 32.50 72.50 0.0201629 -322.50 32.50 77.50 0.0728055 -322.50 32.50 82.50 0.30078 -322.50 32.50 87.50 0.876375 -322.50 32.50 92.50 2.09891 -322.50 32.50 97.50 3.6603 -322.50 32.50 102.50 4.76941 -322.50 32.50 107.50 4.86415 -322.50 32.50 112.50 3.92309 -322.50 32.50 117.50 2.88773 -322.50 32.50 122.50 2.00439 -322.50 32.50 127.50 1.33779 -322.50 32.50 132.50 0.781112 -322.50 32.50 137.50 0.374034 -322.50 32.50 142.50 0.149518 -322.50 32.50 147.50 0.056572 -322.50 32.50 152.50 0.0167838 -322.50 32.50 157.50 0.00703295 -322.50 32.50 162.50 0.0201628 -322.50 32.50 167.50 0.0728053 -322.50 32.50 172.50 0.30078 -322.50 32.50 177.50 0.876374 -322.50 32.50 182.50 2.09891 -322.50 32.50 187.50 3.6603 -322.50 32.50 192.50 4.76941 -322.50 32.50 197.50 4.86415 -322.50 32.50 202.50 3.92309 -322.50 32.50 207.50 2.88773 -322.50 32.50 212.50 2.00439 -322.50 32.50 217.50 1.33779 -322.50 32.50 222.50 0.781113 -322.50 32.50 227.50 0.374035 -322.50 32.50 232.50 0.149518 -322.50 32.50 237.50 0.056572 -322.50 32.50 242.50 0.0167838 -322.50 32.50 247.50 0.00703295 -322.50 32.50 252.50 0.0201629 -322.50 32.50 257.50 0.0728055 -322.50 32.50 262.50 0.300781 -322.50 32.50 267.50 0.876376 -322.50 32.50 272.50 2.09891 -322.50 32.50 277.50 3.6603 -322.50 32.50 282.50 4.76941 -322.50 32.50 287.50 4.86415 -322.50 32.50 292.50 3.92309 -322.50 32.50 297.50 2.88773 -322.50 32.50 302.50 2.0044 -322.50 32.50 307.50 1.33779 -322.50 32.50 312.50 0.781113 -322.50 32.50 317.50 0.374035 -322.50 32.50 322.50 0.149518 -322.50 32.50 327.50 0.0565722 -322.50 32.50 332.50 0.0167839 -322.50 32.50 337.50 0.00703296 -322.50 32.50 342.50 0.0201628 -322.50 32.50 347.50 0.0728053 -322.50 32.50 352.50 0.300779 -322.50 32.50 357.50 0.876373 -322.50 37.50 2.50 2.5719 -322.50 37.50 7.50 4.33165 -322.50 37.50 12.50 5.56069 -322.50 37.50 17.50 5.38265 -322.50 37.50 22.50 4.15187 -322.50 37.50 27.50 2.7557 -322.50 37.50 32.50 1.68935 -322.50 37.50 37.50 0.949381 -322.50 37.50 42.50 0.452484 -322.50 37.50 47.50 0.179555 -322.50 37.50 52.50 0.0612544 -322.50 37.50 57.50 0.0182778 -322.50 37.50 62.50 0.00792701 -322.50 37.50 67.50 0.0133018 -322.50 37.50 72.50 0.0431419 -322.50 37.50 77.50 0.135581 -322.50 37.50 82.50 0.434883 -322.50 37.50 87.50 1.19068 -322.50 37.50 92.50 2.5719 -322.50 37.50 97.50 4.33165 -322.50 37.50 102.50 5.56069 -322.50 37.50 107.50 5.38265 -322.50 37.50 112.50 4.15187 -322.50 37.50 117.50 2.7557 -322.50 37.50 122.50 1.68935 -322.50 37.50 127.50 0.949381 -322.50 37.50 132.50 0.452484 -322.50 37.50 137.50 0.179555 -322.50 37.50 142.50 0.0612544 -322.50 37.50 147.50 0.0182778 -322.50 37.50 152.50 0.00792702 -322.50 37.50 157.50 0.0133017 -322.50 37.50 162.50 0.0431418 -322.50 37.50 167.50 0.135581 -322.50 37.50 172.50 0.434883 -322.50 37.50 177.50 1.19068 -322.50 37.50 182.50 2.5719 -322.50 37.50 187.50 4.33166 -322.50 37.50 192.50 5.56069 -322.50 37.50 197.50 5.38265 -322.50 37.50 202.50 4.15187 -322.50 37.50 207.50 2.7557 -322.50 37.50 212.50 1.68935 -322.50 37.50 217.50 0.949382 -322.50 37.50 222.50 0.452484 -322.50 37.50 227.50 0.179555 -322.50 37.50 232.50 0.0612543 -322.50 37.50 237.50 0.0182778 -322.50 37.50 242.50 0.00792701 -322.50 37.50 247.50 0.0133018 -322.50 37.50 252.50 0.043142 -322.50 37.50 257.50 0.135581 -322.50 37.50 262.50 0.434884 -322.50 37.50 267.50 1.19068 -322.50 37.50 272.50 2.5719 -322.50 37.50 277.50 4.33165 -322.50 37.50 282.50 5.56069 -322.50 37.50 287.50 5.38265 -322.50 37.50 292.50 4.15187 -322.50 37.50 297.50 2.7557 -322.50 37.50 302.50 1.68935 -322.50 37.50 307.50 0.949382 -322.50 37.50 312.50 0.452484 -322.50 37.50 317.50 0.179555 -322.50 37.50 322.50 0.0612546 -322.50 37.50 327.50 0.0182779 -322.50 37.50 332.50 0.00792703 -322.50 37.50 337.50 0.0133018 -322.50 37.50 342.50 0.0431418 -322.50 37.50 347.50 0.135581 -322.50 37.50 352.50 0.434883 -322.50 37.50 357.50 1.19068 -322.50 42.50 2.50 2.82217 -322.50 42.50 7.50 4.3162 -322.50 42.50 12.50 5.35102 -322.50 42.50 17.50 4.97107 -322.50 42.50 22.50 3.64188 -322.50 42.50 27.50 2.23132 -322.50 42.50 32.50 1.25833 -322.50 42.50 37.50 0.596384 -322.50 42.50 42.50 0.216742 -322.50 42.50 47.50 0.0618672 -322.50 42.50 52.50 0.0178265 -322.50 42.50 57.50 0.00804478 -322.50 42.50 62.50 0.0157733 -322.50 42.50 67.50 0.0429413 -322.50 42.50 72.50 0.106825 -322.50 42.50 77.50 0.275821 -322.50 42.50 82.50 0.670172 -322.50 42.50 87.50 1.54074 -322.50 42.50 92.50 2.82217 -322.50 42.50 97.50 4.3162 -322.50 42.50 102.50 5.35102 -322.50 42.50 107.50 4.97107 -322.50 42.50 112.50 3.64188 -322.50 42.50 117.50 2.23132 -322.50 42.50 122.50 1.25833 -322.50 42.50 127.50 0.596384 -322.50 42.50 132.50 0.216742 -322.50 42.50 137.50 0.0618672 -322.50 42.50 142.50 0.0178265 -322.50 42.50 147.50 0.00804477 -322.50 42.50 152.50 0.0157733 -322.50 42.50 157.50 0.0429412 -322.50 42.50 162.50 0.106825 -322.50 42.50 167.50 0.275821 -322.50 42.50 172.50 0.670171 -322.50 42.50 177.50 1.54074 -322.50 42.50 182.50 2.82217 -322.50 42.50 187.50 4.3162 -322.50 42.50 192.50 5.35102 -322.50 42.50 197.50 4.97107 -322.50 42.50 202.50 3.64188 -322.50 42.50 207.50 2.23132 -322.50 42.50 212.50 1.25833 -322.50 42.50 217.50 0.596384 -322.50 42.50 222.50 0.216742 -322.50 42.50 227.50 0.0618672 -322.50 42.50 232.50 0.0178265 -322.50 42.50 237.50 0.00804478 -322.50 42.50 242.50 0.0157733 -322.50 42.50 247.50 0.0429413 -322.50 42.50 252.50 0.106825 -322.50 42.50 257.50 0.275822 -322.50 42.50 262.50 0.670172 -322.50 42.50 267.50 1.54074 -322.50 42.50 272.50 2.82217 -322.50 42.50 277.50 4.3162 -322.50 42.50 282.50 5.35102 -322.50 42.50 287.50 4.97107 -322.50 42.50 292.50 3.64188 -322.50 42.50 297.50 2.23133 -322.50 42.50 302.50 1.25833 -322.50 42.50 307.50 0.596384 -322.50 42.50 312.50 0.216742 -322.50 42.50 317.50 0.0618672 -322.50 42.50 322.50 0.0178266 -322.50 42.50 327.50 0.00804478 -322.50 42.50 332.50 0.0157733 -322.50 42.50 337.50 0.0429412 -322.50 42.50 342.50 0.106824 -322.50 42.50 347.50 0.275821 -322.50 42.50 352.50 0.67017 -322.50 42.50 357.50 1.54074 -322.50 47.50 2.50 2.8916 -322.50 47.50 7.50 3.79369 -322.50 47.50 12.50 4.35753 -322.50 47.50 17.50 3.83832 -322.50 47.50 22.50 2.60093 -322.50 47.50 27.50 1.45077 -322.50 47.50 32.50 0.782798 -322.50 47.50 37.50 0.32591 -322.50 47.50 42.50 0.0932613 -322.50 47.50 47.50 0.0241607 -322.50 47.50 52.50 0.00780604 -322.50 47.50 57.50 0.0237158 -322.50 47.50 62.50 0.0687426 -322.50 47.50 67.50 0.157549 -322.50 47.50 72.50 0.285512 -322.50 47.50 77.50 0.558397 -322.50 47.50 82.50 1.08401 -322.50 47.50 87.50 1.94106 -322.50 47.50 92.50 2.8916 -322.50 47.50 97.50 3.79369 -322.50 47.50 102.50 4.35753 -322.50 47.50 107.50 3.83832 -322.50 47.50 112.50 2.60093 -322.50 47.50 117.50 1.45077 -322.50 47.50 122.50 0.782797 -322.50 47.50 127.50 0.32591 -322.50 47.50 132.50 0.0932613 -322.50 47.50 137.50 0.0241607 -322.50 47.50 142.50 0.00780603 -322.50 47.50 147.50 0.0237158 -322.50 47.50 152.50 0.0687425 -322.50 47.50 157.50 0.157549 -322.50 47.50 162.50 0.285512 -322.50 47.50 167.50 0.558396 -322.50 47.50 172.50 1.08401 -322.50 47.50 177.50 1.94106 -322.50 47.50 182.50 2.8916 -322.50 47.50 187.50 3.79369 -322.50 47.50 192.50 4.35753 -322.50 47.50 197.50 3.83832 -322.50 47.50 202.50 2.60093 -322.50 47.50 207.50 1.45077 -322.50 47.50 212.50 0.782798 -322.50 47.50 217.50 0.325911 -322.50 47.50 222.50 0.0932614 -322.50 47.50 227.50 0.0241608 -322.50 47.50 232.50 0.00780605 -322.50 47.50 237.50 0.0237158 -322.50 47.50 242.50 0.0687426 -322.50 47.50 247.50 0.157549 -322.50 47.50 252.50 0.285512 -322.50 47.50 257.50 0.558398 -322.50 47.50 262.50 1.08401 -322.50 47.50 267.50 1.94106 -322.50 47.50 272.50 2.8916 -322.50 47.50 277.50 3.79369 -322.50 47.50 282.50 4.35753 -322.50 47.50 287.50 3.83832 -322.50 47.50 292.50 2.60093 -322.50 47.50 297.50 1.45077 -322.50 47.50 302.50 0.782798 -322.50 47.50 307.50 0.325911 -322.50 47.50 312.50 0.0932615 -322.50 47.50 317.50 0.0241607 -322.50 47.50 322.50 0.00780603 -322.50 47.50 327.50 0.0237157 -322.50 47.50 332.50 0.0687425 -322.50 47.50 337.50 0.157549 -322.50 47.50 342.50 0.285511 -322.50 47.50 347.50 0.558396 -322.50 47.50 352.50 1.08401 -322.50 47.50 357.50 1.94106 -322.50 52.50 2.50 2.82217 -322.50 52.50 7.50 2.99595 -322.50 52.50 12.50 2.97991 -322.50 52.50 17.50 2.40201 -322.50 52.50 22.50 1.47191 -322.50 52.50 27.50 0.7556 -322.50 52.50 32.50 0.342599 -322.50 52.50 37.50 0.138524 -322.50 52.50 42.50 0.0405056 -322.50 52.50 47.50 0.0114427 -322.50 52.50 52.50 0.0219398 -322.50 52.50 57.50 0.0890094 -322.50 52.50 62.50 0.242744 -322.50 52.50 67.50 0.491642 -322.50 52.50 72.50 0.760873 -322.50 52.50 77.50 1.12415 -322.50 52.50 82.50 1.74843 -322.50 52.50 87.50 2.41432 -322.50 52.50 92.50 2.82217 -322.50 52.50 97.50 2.99595 -322.50 52.50 102.50 2.97992 -322.50 52.50 107.50 2.40201 -322.50 52.50 112.50 1.47191 -322.50 52.50 117.50 0.7556 -322.50 52.50 122.50 0.342599 -322.50 52.50 127.50 0.138524 -322.50 52.50 132.50 0.0405055 -322.50 52.50 137.50 0.0114427 -322.50 52.50 142.50 0.0219398 -322.50 52.50 147.50 0.0890093 -322.50 52.50 152.50 0.242744 -322.50 52.50 157.50 0.491641 -322.50 52.50 162.50 0.760872 -322.50 52.50 167.50 1.12415 -322.50 52.50 172.50 1.74843 -322.50 52.50 177.50 2.41432 -322.50 52.50 182.50 2.82217 -322.50 52.50 187.50 2.99595 -322.50 52.50 192.50 2.97992 -322.50 52.50 197.50 2.402 -322.50 52.50 202.50 1.47191 -322.50 52.50 207.50 0.755601 -322.50 52.50 212.50 0.342599 -322.50 52.50 217.50 0.138524 -322.50 52.50 222.50 0.0405056 -322.50 52.50 227.50 0.0114427 -322.50 52.50 232.50 0.0219399 -322.50 52.50 237.50 0.0890096 -322.50 52.50 242.50 0.242744 -322.50 52.50 247.50 0.491642 -322.50 52.50 252.50 0.760873 -322.50 52.50 257.50 1.12415 -322.50 52.50 262.50 1.74843 -322.50 52.50 267.50 2.41432 -322.50 52.50 272.50 2.82217 -322.50 52.50 277.50 2.99595 -322.50 52.50 282.50 2.97992 -322.50 52.50 287.50 2.40201 -322.50 52.50 292.50 1.47191 -322.50 52.50 297.50 0.755601 -322.50 52.50 302.50 0.342599 -322.50 52.50 307.50 0.138524 -322.50 52.50 312.50 0.0405056 -322.50 52.50 317.50 0.0114427 -322.50 52.50 322.50 0.0219398 -322.50 52.50 327.50 0.0890092 -322.50 52.50 332.50 0.242744 -322.50 52.50 337.50 0.491641 -322.50 52.50 342.50 0.760872 -322.50 52.50 347.50 1.12415 -322.50 52.50 352.50 1.74843 -322.50 52.50 357.50 2.41432 -322.50 57.50 2.50 2.5719 -322.50 57.50 7.50 2.08931 -322.50 57.50 12.50 1.63143 -322.50 57.50 17.50 1.10588 -322.50 57.50 22.50 0.615192 -322.50 57.50 27.50 0.290781 -322.50 57.50 32.50 0.120328 -322.50 57.50 37.50 0.0472002 -322.50 57.50 42.50 0.0213053 -322.50 57.50 47.50 0.0340315 -322.50 57.50 52.50 0.0922263 -322.50 57.50 57.50 0.272029 -322.50 57.50 62.50 0.627871 -322.50 57.50 67.50 1.1403 -322.50 57.50 72.50 1.69911 -322.50 57.50 77.50 2.1554 -322.50 57.50 82.50 2.61427 -322.50 57.50 87.50 2.88087 -322.50 57.50 92.50 2.5719 -322.50 57.50 97.50 2.08931 -322.50 57.50 102.50 1.63143 -322.50 57.50 107.50 1.10588 -322.50 57.50 112.50 0.615192 -322.50 57.50 117.50 0.290781 -322.50 57.50 122.50 0.120328 -322.50 57.50 127.50 0.0472002 -322.50 57.50 132.50 0.0213053 -322.50 57.50 137.50 0.0340315 -322.50 57.50 142.50 0.0922263 -322.50 57.50 147.50 0.272029 -322.50 57.50 152.50 0.62787 -322.50 57.50 157.50 1.1403 -322.50 57.50 162.50 1.69911 -322.50 57.50 167.50 2.1554 -322.50 57.50 172.50 2.61427 -322.50 57.50 177.50 2.88087 -322.50 57.50 182.50 2.5719 -322.50 57.50 187.50 2.08931 -322.50 57.50 192.50 1.63143 -322.50 57.50 197.50 1.10588 -322.50 57.50 202.50 0.615192 -322.50 57.50 207.50 0.290781 -322.50 57.50 212.50 0.120328 -322.50 57.50 217.50 0.0472002 -322.50 57.50 222.50 0.0213053 -322.50 57.50 227.50 0.0340315 -322.50 57.50 232.50 0.0922268 -322.50 57.50 237.50 0.272029 -322.50 57.50 242.50 0.627871 -322.50 57.50 247.50 1.1403 -322.50 57.50 252.50 1.69911 -322.50 57.50 257.50 2.1554 -322.50 57.50 262.50 2.61427 -322.50 57.50 267.50 2.88087 -322.50 57.50 272.50 2.5719 -322.50 57.50 277.50 2.08931 -322.50 57.50 282.50 1.63143 -322.50 57.50 287.50 1.10588 -322.50 57.50 292.50 0.615192 -322.50 57.50 297.50 0.290781 -322.50 57.50 302.50 0.120328 -322.50 57.50 307.50 0.0472002 -322.50 57.50 312.50 0.0213053 -322.50 57.50 317.50 0.0340315 -322.50 57.50 322.50 0.0922262 -322.50 57.50 327.50 0.272029 -322.50 57.50 332.50 0.62787 -322.50 57.50 337.50 1.1403 -322.50 57.50 342.50 1.69911 -322.50 57.50 347.50 2.1554 -322.50 57.50 352.50 2.61427 -322.50 57.50 357.50 2.88087 -322.50 62.50 2.50 2.09891 -322.50 62.50 7.50 1.29488 -322.50 62.50 12.50 0.716828 -322.50 62.50 17.50 0.388318 -322.50 62.50 22.50 0.177979 -322.50 62.50 27.50 0.0769287 -322.50 62.50 32.50 0.0354014 -322.50 62.50 37.50 0.0268447 -322.50 62.50 42.50 0.0414454 -322.50 62.50 47.50 0.115115 -322.50 62.50 52.50 0.322303 -322.50 62.50 57.50 0.737197 -322.50 62.50 62.50 1.36584 -322.50 62.50 67.50 2.16851 -322.50 62.50 72.50 2.95149 -322.50 62.50 77.50 3.28472 -322.50 62.50 82.50 3.34241 -322.50 62.50 87.50 3.04219 -322.50 62.50 92.50 2.09891 -322.50 62.50 97.50 1.29488 -322.50 62.50 102.50 0.716827 -322.50 62.50 107.50 0.388318 -322.50 62.50 112.50 0.177978 -322.50 62.50 117.50 0.0769285 -322.50 62.50 122.50 0.0354014 -322.50 62.50 127.50 0.0268446 -322.50 62.50 132.50 0.0414453 -322.50 62.50 137.50 0.115115 -322.50 62.50 142.50 0.322303 -322.50 62.50 147.50 0.737197 -322.50 62.50 152.50 1.36584 -322.50 62.50 157.50 2.16851 -322.50 62.50 162.50 2.95149 -322.50 62.50 167.50 3.28472 -322.50 62.50 172.50 3.34241 -322.50 62.50 177.50 3.04219 -322.50 62.50 182.50 2.09891 -322.50 62.50 187.50 1.29488 -322.50 62.50 192.50 0.716827 -322.50 62.50 197.50 0.388318 -322.50 62.50 202.50 0.177979 -322.50 62.50 207.50 0.0769286 -322.50 62.50 212.50 0.0354014 -322.50 62.50 217.50 0.0268447 -322.50 62.50 222.50 0.0414453 -322.50 62.50 227.50 0.115115 -322.50 62.50 232.50 0.322304 -322.50 62.50 237.50 0.737198 -322.50 62.50 242.50 1.36584 -322.50 62.50 247.50 2.16851 -322.50 62.50 252.50 2.95149 -322.50 62.50 257.50 3.28472 -322.50 62.50 262.50 3.34241 -322.50 62.50 267.50 3.04219 -322.50 62.50 272.50 2.09891 -322.50 62.50 277.50 1.29488 -322.50 62.50 282.50 0.716827 -322.50 62.50 287.50 0.388318 -322.50 62.50 292.50 0.177979 -322.50 62.50 297.50 0.0769287 -322.50 62.50 302.50 0.0354015 -322.50 62.50 307.50 0.0268447 -322.50 62.50 312.50 0.0414453 -322.50 62.50 317.50 0.115115 -322.50 62.50 322.50 0.322303 -322.50 62.50 327.50 0.737197 -322.50 62.50 332.50 1.36584 -322.50 62.50 337.50 2.16851 -322.50 62.50 342.50 2.95149 -322.50 62.50 347.50 3.28472 -322.50 62.50 352.50 3.34241 -322.50 62.50 357.50 3.04219 -322.50 67.50 2.50 1.46809 -322.50 67.50 7.50 0.717389 -322.50 67.50 12.50 0.294578 -322.50 67.50 17.50 0.113132 -322.50 67.50 22.50 0.0407373 -322.50 67.50 27.50 0.014683 -322.50 67.50 32.50 0.0165972 -322.50 67.50 37.50 0.0359557 -322.50 67.50 42.50 0.111848 -322.50 67.50 47.50 0.347313 -322.50 67.50 52.50 0.799248 -322.50 67.50 57.50 1.48181 -322.50 67.50 62.50 2.44198 -322.50 67.50 67.50 3.45573 -322.50 67.50 72.50 4.01288 -322.50 67.50 77.50 3.88848 -322.50 67.50 82.50 3.43339 -322.50 67.50 87.50 2.6495 -322.50 67.50 92.50 1.46808 -322.50 67.50 97.50 0.717388 -322.50 67.50 102.50 0.294578 -322.50 67.50 107.50 0.113132 -322.50 67.50 112.50 0.0407373 -322.50 67.50 117.50 0.014683 -322.50 67.50 122.50 0.0165972 -322.50 67.50 127.50 0.0359557 -322.50 67.50 132.50 0.111848 -322.50 67.50 137.50 0.347313 -322.50 67.50 142.50 0.799248 -322.50 67.50 147.50 1.48181 -322.50 67.50 152.50 2.44198 -322.50 67.50 157.50 3.45573 -322.50 67.50 162.50 4.01288 -322.50 67.50 167.50 3.88847 -322.50 67.50 172.50 3.43339 -322.50 67.50 177.50 2.6495 -322.50 67.50 182.50 1.46808 -322.50 67.50 187.50 0.717388 -322.50 67.50 192.50 0.294578 -322.50 67.50 197.50 0.113132 -322.50 67.50 202.50 0.0407373 -322.50 67.50 207.50 0.014683 -322.50 67.50 212.50 0.0165972 -322.50 67.50 217.50 0.0359557 -322.50 67.50 222.50 0.111848 -322.50 67.50 227.50 0.347313 -322.50 67.50 232.50 0.79925 -322.50 67.50 237.50 1.48181 -322.50 67.50 242.50 2.44198 -322.50 67.50 247.50 3.45573 -322.50 67.50 252.50 4.01288 -322.50 67.50 257.50 3.88847 -322.50 67.50 262.50 3.43339 -322.50 67.50 267.50 2.64949 -322.50 67.50 272.50 1.46808 -322.50 67.50 277.50 0.717389 -322.50 67.50 282.50 0.294579 -322.50 67.50 287.50 0.113132 -322.50 67.50 292.50 0.0407373 -322.50 67.50 297.50 0.014683 -322.50 67.50 302.50 0.0165972 -322.50 67.50 307.50 0.0359557 -322.50 67.50 312.50 0.111848 -322.50 67.50 317.50 0.347313 -322.50 67.50 322.50 0.799248 -322.50 67.50 327.50 1.48181 -322.50 67.50 332.50 2.44198 -322.50 67.50 337.50 3.45573 -322.50 67.50 342.50 4.01288 -322.50 67.50 347.50 3.88848 -322.50 67.50 352.50 3.43339 -322.50 67.50 357.50 2.6495 -322.50 72.50 2.50 0.86546 -322.50 72.50 7.50 0.360265 -322.50 72.50 12.50 0.120598 -322.50 72.50 17.50 0.0369399 -322.50 72.50 22.50 0.0110045 -322.50 72.50 27.50 0.0070808 -322.50 72.50 32.50 0.0195936 -322.50 72.50 37.50 0.0650973 -322.50 72.50 42.50 0.233453 -322.50 72.50 47.50 0.62174 -322.50 72.50 52.50 1.29999 -322.50 72.50 57.50 2.19213 -322.50 72.50 62.50 3.21611 -322.50 72.50 67.50 4.06195 -322.50 72.50 72.50 4.22339 -322.50 72.50 77.50 3.69293 -322.50 72.50 82.50 2.81009 -322.50 72.50 87.50 1.85128 -322.50 72.50 92.50 0.86546 -322.50 72.50 97.50 0.360264 -322.50 72.50 102.50 0.120598 -322.50 72.50 107.50 0.0369399 -322.50 72.50 112.50 0.0110045 -322.50 72.50 117.50 0.00708079 -322.50 72.50 122.50 0.0195936 -322.50 72.50 127.50 0.0650973 -322.50 72.50 132.50 0.233454 -322.50 72.50 137.50 0.62174 -322.50 72.50 142.50 1.29999 -322.50 72.50 147.50 2.19213 -322.50 72.50 152.50 3.21611 -322.50 72.50 157.50 4.06195 -322.50 72.50 162.50 4.22339 -322.50 72.50 167.50 3.69293 -322.50 72.50 172.50 2.81009 -322.50 72.50 177.50 1.85128 -322.50 72.50 182.50 0.865461 -322.50 72.50 187.50 0.360265 -322.50 72.50 192.50 0.120598 -322.50 72.50 197.50 0.0369399 -322.50 72.50 202.50 0.0110045 -322.50 72.50 207.50 0.0070808 -322.50 72.50 212.50 0.0195936 -322.50 72.50 217.50 0.0650973 -322.50 72.50 222.50 0.233453 -322.50 72.50 227.50 0.621739 -322.50 72.50 232.50 1.29999 -322.50 72.50 237.50 2.19213 -322.50 72.50 242.50 3.21611 -322.50 72.50 247.50 4.06195 -322.50 72.50 252.50 4.22339 -322.50 72.50 257.50 3.69293 -322.50 72.50 262.50 2.81009 -322.50 72.50 267.50 1.85128 -322.50 72.50 272.50 0.865461 -322.50 72.50 277.50 0.360265 -322.50 72.50 282.50 0.120598 -322.50 72.50 287.50 0.0369399 -322.50 72.50 292.50 0.0110045 -322.50 72.50 297.50 0.00708078 -322.50 72.50 302.50 0.0195936 -322.50 72.50 307.50 0.0650972 -322.50 72.50 312.50 0.233453 -322.50 72.50 317.50 0.621739 -322.50 72.50 322.50 1.29999 -322.50 72.50 327.50 2.19212 -322.50 72.50 332.50 3.21611 -322.50 72.50 337.50 4.06195 -322.50 72.50 342.50 4.22339 -322.50 72.50 347.50 3.69294 -322.50 72.50 352.50 2.81009 -322.50 72.50 357.50 1.85129 -322.50 77.50 2.50 0.460876 -322.50 77.50 7.50 0.188114 -322.50 77.50 12.50 0.0636859 -322.50 77.50 17.50 0.0295424 -322.50 77.50 22.50 0.0153902 -322.50 77.50 27.50 0.0143751 -322.50 77.50 32.50 0.0398138 -322.50 77.50 37.50 0.128274 -322.50 77.50 42.50 0.317093 -322.50 77.50 47.50 0.714018 -322.50 77.50 52.50 1.33459 -322.50 77.50 57.50 2.27581 -322.50 77.50 62.50 3.14019 -322.50 77.50 67.50 3.53594 -322.50 77.50 72.50 3.36604 -322.50 77.50 77.50 2.75934 -322.50 77.50 82.50 1.93697 -322.50 77.50 87.50 1.10963 -322.50 77.50 92.50 0.460876 -322.50 77.50 97.50 0.188114 -322.50 77.50 102.50 0.0636858 -322.50 77.50 107.50 0.0295424 -322.50 77.50 112.50 0.0153901 -322.50 77.50 117.50 0.0143751 -322.50 77.50 122.50 0.0398137 -322.50 77.50 127.50 0.128274 -322.50 77.50 132.50 0.317093 -322.50 77.50 137.50 0.714018 -322.50 77.50 142.50 1.33459 -322.50 77.50 147.50 2.27581 -322.50 77.50 152.50 3.14019 -322.50 77.50 157.50 3.53594 -322.50 77.50 162.50 3.36604 -322.50 77.50 167.50 2.75934 -322.50 77.50 172.50 1.93697 -322.50 77.50 177.50 1.10963 -322.50 77.50 182.50 0.460876 -322.50 77.50 187.50 0.188114 -322.50 77.50 192.50 0.0636858 -322.50 77.50 197.50 0.0295424 -322.50 77.50 202.50 0.0153901 -322.50 77.50 207.50 0.0143751 -322.50 77.50 212.50 0.0398138 -322.50 77.50 217.50 0.128274 -322.50 77.50 222.50 0.317093 -322.50 77.50 227.50 0.714017 -322.50 77.50 232.50 1.33459 -322.50 77.50 237.50 2.27582 -322.50 77.50 242.50 3.14019 -322.50 77.50 247.50 3.53594 -322.50 77.50 252.50 3.36603 -322.50 77.50 257.50 2.75933 -322.50 77.50 262.50 1.93697 -322.50 77.50 267.50 1.10963 -322.50 77.50 272.50 0.460876 -322.50 77.50 277.50 0.188114 -322.50 77.50 282.50 0.0636859 -322.50 77.50 287.50 0.0295424 -322.50 77.50 292.50 0.0153902 -322.50 77.50 297.50 0.0143751 -322.50 77.50 302.50 0.0398137 -322.50 77.50 307.50 0.128274 -322.50 77.50 312.50 0.317093 -322.50 77.50 317.50 0.714017 -322.50 77.50 322.50 1.33458 -322.50 77.50 327.50 2.27581 -322.50 77.50 332.50 3.14019 -322.50 77.50 337.50 3.53594 -322.50 77.50 342.50 3.36604 -322.50 77.50 347.50 2.75934 -322.50 77.50 352.50 1.93697 -322.50 77.50 357.50 1.10963 -322.50 82.50 2.50 0.244556 -322.50 82.50 7.50 0.097805 -322.50 82.50 12.50 0.0668907 -322.50 82.50 17.50 0.0631445 -322.50 82.50 22.50 0.0563825 -322.50 82.50 27.50 0.0555634 -322.50 82.50 32.50 0.110781 -322.50 82.50 37.50 0.22508 -322.50 82.50 42.50 0.409471 -322.50 82.50 47.50 0.702273 -322.50 82.50 52.50 1.15557 -322.50 82.50 57.50 1.79502 -322.50 82.50 62.50 2.36346 -322.50 82.50 67.50 2.43484 -322.50 82.50 72.50 2.07748 -322.50 82.50 77.50 1.59318 -322.50 82.50 82.50 1.13271 -322.50 82.50 87.50 0.645181 -322.50 82.50 92.50 0.244555 -322.50 82.50 97.50 0.097805 -322.50 82.50 102.50 0.0668906 -322.50 82.50 107.50 0.0631444 -322.50 82.50 112.50 0.0563825 -322.50 82.50 117.50 0.0555633 -322.50 82.50 122.50 0.110781 -322.50 82.50 127.50 0.22508 -322.50 82.50 132.50 0.409472 -322.50 82.50 137.50 0.702273 -322.50 82.50 142.50 1.15557 -322.50 82.50 147.50 1.79502 -322.50 82.50 152.50 2.36346 -322.50 82.50 157.50 2.43484 -322.50 82.50 162.50 2.07749 -322.50 82.50 167.50 1.59318 -322.50 82.50 172.50 1.13271 -322.50 82.50 177.50 0.645182 -322.50 82.50 182.50 0.244556 -322.50 82.50 187.50 0.0978049 -322.50 82.50 192.50 0.0668906 -322.50 82.50 197.50 0.0631444 -322.50 82.50 202.50 0.0563826 -322.50 82.50 207.50 0.0555633 -322.50 82.50 212.50 0.110781 -322.50 82.50 217.50 0.22508 -322.50 82.50 222.50 0.409472 -322.50 82.50 227.50 0.702273 -322.50 82.50 232.50 1.15557 -322.50 82.50 237.50 1.79502 -322.50 82.50 242.50 2.36346 -322.50 82.50 247.50 2.43484 -322.50 82.50 252.50 2.07749 -322.50 82.50 257.50 1.59318 -322.50 82.50 262.50 1.13271 -322.50 82.50 267.50 0.64518 -322.50 82.50 272.50 0.244556 -322.50 82.50 277.50 0.0978051 -322.50 82.50 282.50 0.0668906 -322.50 82.50 287.50 0.0631444 -322.50 82.50 292.50 0.0563825 -322.50 82.50 297.50 0.0555633 -322.50 82.50 302.50 0.110781 -322.50 82.50 307.50 0.22508 -322.50 82.50 312.50 0.409472 -322.50 82.50 317.50 0.702272 -322.50 82.50 322.50 1.15557 -322.50 82.50 327.50 1.79502 -322.50 82.50 332.50 2.36345 -322.50 82.50 337.50 2.43484 -322.50 82.50 342.50 2.07749 -322.50 82.50 347.50 1.59318 -322.50 82.50 352.50 1.13271 -322.50 82.50 357.50 0.645183 -322.50 87.50 2.50 0.12541 -322.50 87.50 7.50 0.0780954 -322.50 87.50 12.50 0.119755 -322.50 87.50 17.50 0.163483 -322.50 87.50 22.50 0.150682 -322.50 87.50 27.50 0.170704 -322.50 87.50 32.50 0.242099 -322.50 87.50 37.50 0.347131 -322.50 87.50 42.50 0.498345 -322.50 87.50 47.50 0.711733 -322.50 87.50 52.50 0.987446 -322.50 87.50 57.50 1.29063 -322.50 87.50 62.50 1.47625 -322.50 87.50 67.50 1.36104 -322.50 87.50 72.50 1.05709 -322.50 87.50 77.50 0.796227 -322.50 87.50 82.50 0.563067 -322.50 87.50 87.50 0.308348 -322.50 87.50 92.50 0.12541 -322.50 87.50 97.50 0.0780954 -322.50 87.50 102.50 0.119755 -322.50 87.50 107.50 0.163483 -322.50 87.50 112.50 0.150682 -322.50 87.50 117.50 0.170704 -322.50 87.50 122.50 0.242099 -322.50 87.50 127.50 0.34713 -322.50 87.50 132.50 0.498345 -322.50 87.50 137.50 0.711733 -322.50 87.50 142.50 0.987446 -322.50 87.50 147.50 1.29063 -322.50 87.50 152.50 1.47625 -322.50 87.50 157.50 1.36104 -322.50 87.50 162.50 1.05709 -322.50 87.50 167.50 0.796227 -322.50 87.50 172.50 0.563067 -322.50 87.50 177.50 0.308349 -322.50 87.50 182.50 0.12541 -322.50 87.50 187.50 0.0780954 -322.50 87.50 192.50 0.119755 -322.50 87.50 197.50 0.163483 -322.50 87.50 202.50 0.150682 -322.50 87.50 207.50 0.170704 -322.50 87.50 212.50 0.242099 -322.50 87.50 217.50 0.34713 -322.50 87.50 222.50 0.498345 -322.50 87.50 227.50 0.711733 -322.50 87.50 232.50 0.987447 -322.50 87.50 237.50 1.29063 -322.50 87.50 242.50 1.47625 -322.50 87.50 247.50 1.36104 -322.50 87.50 252.50 1.05709 -322.50 87.50 257.50 0.796226 -322.50 87.50 262.50 0.563066 -322.50 87.50 267.50 0.308348 -322.50 87.50 272.50 0.12541 -322.50 87.50 277.50 0.0780954 -322.50 87.50 282.50 0.119755 -322.50 87.50 287.50 0.163483 -322.50 87.50 292.50 0.150682 -322.50 87.50 297.50 0.170704 -322.50 87.50 302.50 0.242099 -322.50 87.50 307.50 0.34713 -322.50 87.50 312.50 0.498345 -322.50 87.50 317.50 0.711733 -322.50 87.50 322.50 0.987445 -322.50 87.50 327.50 1.29062 -322.50 87.50 332.50 1.47625 -322.50 87.50 337.50 1.36104 -322.50 87.50 342.50 1.05709 -322.50 87.50 347.50 0.796227 -322.50 87.50 352.50 0.563067 -322.50 87.50 357.50 0.308349 -322.50 92.50 2.50 0.083846 -322.50 92.50 7.50 0.132069 -322.50 92.50 12.50 0.239625 -322.50 92.50 17.50 0.338201 -322.50 92.50 22.50 0.43172 -322.50 92.50 27.50 0.558757 -322.50 92.50 32.50 0.674574 -322.50 92.50 37.50 0.728264 -322.50 92.50 42.50 0.744227 -322.50 92.50 47.50 0.748978 -322.50 92.50 52.50 0.744228 -322.50 92.50 57.50 0.728265 -322.50 92.50 62.50 0.674573 -322.50 92.50 67.50 0.558757 -322.50 92.50 72.50 0.431719 -322.50 92.50 77.50 0.338201 -322.50 92.50 82.50 0.239625 -322.50 92.50 87.50 0.132069 -322.50 92.50 92.50 0.083846 -322.50 92.50 97.50 0.132069 -322.50 92.50 102.50 0.239625 -322.50 92.50 107.50 0.338201 -322.50 92.50 112.50 0.431719 -322.50 92.50 117.50 0.558757 -322.50 92.50 122.50 0.674573 -322.50 92.50 127.50 0.728265 -322.50 92.50 132.50 0.744228 -322.50 92.50 137.50 0.748977 -322.50 92.50 142.50 0.744228 -322.50 92.50 147.50 0.728265 -322.50 92.50 152.50 0.674573 -322.50 92.50 157.50 0.558757 -322.50 92.50 162.50 0.43172 -322.50 92.50 167.50 0.338201 -322.50 92.50 172.50 0.239625 -322.50 92.50 177.50 0.132069 -322.50 92.50 182.50 0.083846 -322.50 92.50 187.50 0.132069 -322.50 92.50 192.50 0.239625 -322.50 92.50 197.50 0.338201 -322.50 92.50 202.50 0.43172 -322.50 92.50 207.50 0.558757 -322.50 92.50 212.50 0.674574 -322.50 92.50 217.50 0.728264 -322.50 92.50 222.50 0.744227 -322.50 92.50 227.50 0.748978 -322.50 92.50 232.50 0.744228 -322.50 92.50 237.50 0.728265 -322.50 92.50 242.50 0.674574 -322.50 92.50 247.50 0.558757 -322.50 92.50 252.50 0.431719 -322.50 92.50 257.50 0.338201 -322.50 92.50 262.50 0.239625 -322.50 92.50 267.50 0.132069 -322.50 92.50 272.50 0.083846 -322.50 92.50 277.50 0.132069 -322.50 92.50 282.50 0.239625 -322.50 92.50 287.50 0.338201 -322.50 92.50 292.50 0.43172 -322.50 92.50 297.50 0.558757 -322.50 92.50 302.50 0.674573 -322.50 92.50 307.50 0.728264 -322.50 92.50 312.50 0.744227 -322.50 92.50 317.50 0.748978 -322.50 92.50 322.50 0.744228 -322.50 92.50 327.50 0.728264 -322.50 92.50 332.50 0.674573 -322.50 92.50 337.50 0.558757 -322.50 92.50 342.50 0.43172 -322.50 92.50 347.50 0.338201 -322.50 92.50 352.50 0.239625 -322.50 92.50 357.50 0.132069 -322.50 97.50 2.50 0.12541 -322.50 97.50 7.50 0.308348 -322.50 97.50 12.50 0.563067 -322.50 97.50 17.50 0.796227 -322.50 97.50 22.50 1.05709 -322.50 97.50 27.50 1.36104 -322.50 97.50 32.50 1.47625 -322.50 97.50 37.50 1.29063 -322.50 97.50 42.50 0.987446 -322.50 97.50 47.50 0.711733 -322.50 97.50 52.50 0.498345 -322.50 97.50 57.50 0.347131 -322.50 97.50 62.50 0.242099 -322.50 97.50 67.50 0.170704 -322.50 97.50 72.50 0.150682 -322.50 97.50 77.50 0.163483 -322.50 97.50 82.50 0.119755 -322.50 97.50 87.50 0.0780954 -322.50 97.50 92.50 0.12541 -322.50 97.50 97.50 0.308348 -322.50 97.50 102.50 0.563067 -322.50 97.50 107.50 0.796226 -322.50 97.50 112.50 1.05709 -322.50 97.50 117.50 1.36104 -322.50 97.50 122.50 1.47625 -322.50 97.50 127.50 1.29063 -322.50 97.50 132.50 0.987445 -322.50 97.50 137.50 0.711733 -322.50 97.50 142.50 0.498345 -322.50 97.50 147.50 0.347131 -322.50 97.50 152.50 0.242099 -322.50 97.50 157.50 0.170704 -322.50 97.50 162.50 0.150682 -322.50 97.50 167.50 0.163483 -322.50 97.50 172.50 0.119755 -322.50 97.50 177.50 0.0780954 -322.50 97.50 182.50 0.12541 -322.50 97.50 187.50 0.308348 -322.50 97.50 192.50 0.563066 -322.50 97.50 197.50 0.796227 -322.50 97.50 202.50 1.05709 -322.50 97.50 207.50 1.36104 -322.50 97.50 212.50 1.47625 -322.50 97.50 217.50 1.29063 -322.50 97.50 222.50 0.987446 -322.50 97.50 227.50 0.711733 -322.50 97.50 232.50 0.498345 -322.50 97.50 237.50 0.34713 -322.50 97.50 242.50 0.242099 -322.50 97.50 247.50 0.170704 -322.50 97.50 252.50 0.150682 -322.50 97.50 257.50 0.163483 -322.50 97.50 262.50 0.119755 -322.50 97.50 267.50 0.0780954 -322.50 97.50 272.50 0.12541 -322.50 97.50 277.50 0.308348 -322.50 97.50 282.50 0.563067 -322.50 97.50 287.50 0.796227 -322.50 97.50 292.50 1.05709 -322.50 97.50 297.50 1.36104 -322.50 97.50 302.50 1.47625 -322.50 97.50 307.50 1.29063 -322.50 97.50 312.50 0.987446 -322.50 97.50 317.50 0.711733 -322.50 97.50 322.50 0.498346 -322.50 97.50 327.50 0.347131 -322.50 97.50 332.50 0.242099 -322.50 97.50 337.50 0.170704 -322.50 97.50 342.50 0.150682 -322.50 97.50 347.50 0.163483 -322.50 97.50 352.50 0.119755 -322.50 97.50 357.50 0.0780954 -322.50 102.50 2.50 0.244556 -322.50 102.50 7.50 0.645182 -322.50 102.50 12.50 1.13271 -322.50 102.50 17.50 1.59318 -322.50 102.50 22.50 2.07748 -322.50 102.50 27.50 2.43484 -322.50 102.50 32.50 2.36346 -322.50 102.50 37.50 1.79502 -322.50 102.50 42.50 1.15557 -322.50 102.50 47.50 0.702273 -322.50 102.50 52.50 0.409472 -322.50 102.50 57.50 0.22508 -322.50 102.50 62.50 0.110781 -322.50 102.50 67.50 0.0555633 -322.50 102.50 72.50 0.0563826 -322.50 102.50 77.50 0.0631444 -322.50 102.50 82.50 0.0668907 -322.50 102.50 87.50 0.097805 -322.50 102.50 92.50 0.244556 -322.50 102.50 97.50 0.645182 -322.50 102.50 102.50 1.13271 -322.50 102.50 107.50 1.59318 -322.50 102.50 112.50 2.07748 -322.50 102.50 117.50 2.43484 -322.50 102.50 122.50 2.36345 -322.50 102.50 127.50 1.79502 -322.50 102.50 132.50 1.15557 -322.50 102.50 137.50 0.702273 -322.50 102.50 142.50 0.409472 -322.50 102.50 147.50 0.22508 -322.50 102.50 152.50 0.110781 -322.50 102.50 157.50 0.0555634 -322.50 102.50 162.50 0.0563826 -322.50 102.50 167.50 0.0631445 -322.50 102.50 172.50 0.0668906 -322.50 102.50 177.50 0.097805 -322.50 102.50 182.50 0.244556 -322.50 102.50 187.50 0.645182 -322.50 102.50 192.50 1.13271 -322.50 102.50 197.50 1.59318 -322.50 102.50 202.50 2.07749 -322.50 102.50 207.50 2.43484 -322.50 102.50 212.50 2.36346 -322.50 102.50 217.50 1.79502 -322.50 102.50 222.50 1.15557 -322.50 102.50 227.50 0.702273 -322.50 102.50 232.50 0.409471 -322.50 102.50 237.50 0.22508 -322.50 102.50 242.50 0.110781 -322.50 102.50 247.50 0.0555634 -322.50 102.50 252.50 0.0563826 -322.50 102.50 257.50 0.0631445 -322.50 102.50 262.50 0.0668906 -322.50 102.50 267.50 0.0978052 -322.50 102.50 272.50 0.244556 -322.50 102.50 277.50 0.645182 -322.50 102.50 282.50 1.13271 -322.50 102.50 287.50 1.59318 -322.50 102.50 292.50 2.07748 -322.50 102.50 297.50 2.43484 -322.50 102.50 302.50 2.36346 -322.50 102.50 307.50 1.79502 -322.50 102.50 312.50 1.15557 -322.50 102.50 317.50 0.702273 -322.50 102.50 322.50 0.409472 -322.50 102.50 327.50 0.22508 -322.50 102.50 332.50 0.110781 -322.50 102.50 337.50 0.0555633 -322.50 102.50 342.50 0.0563825 -322.50 102.50 347.50 0.0631444 -322.50 102.50 352.50 0.0668906 -322.50 102.50 357.50 0.0978048 -322.50 107.50 2.50 0.460876 -322.50 107.50 7.50 1.10963 -322.50 107.50 12.50 1.93697 -322.50 107.50 17.50 2.75934 -322.50 107.50 22.50 3.36604 -322.50 107.50 27.50 3.53594 -322.50 107.50 32.50 3.14019 -322.50 107.50 37.50 2.27581 -322.50 107.50 42.50 1.33459 -322.50 107.50 47.50 0.714017 -322.50 107.50 52.50 0.317093 -322.50 107.50 57.50 0.128274 -322.50 107.50 62.50 0.0398137 -322.50 107.50 67.50 0.0143751 -322.50 107.50 72.50 0.0153902 -322.50 107.50 77.50 0.0295424 -322.50 107.50 82.50 0.0636859 -322.50 107.50 87.50 0.188114 -322.50 107.50 92.50 0.460877 -322.50 107.50 97.50 1.10963 -322.50 107.50 102.50 1.93697 -322.50 107.50 107.50 2.75934 -322.50 107.50 112.50 3.36604 -322.50 107.50 117.50 3.53594 -322.50 107.50 122.50 3.14019 -322.50 107.50 127.50 2.27581 -322.50 107.50 132.50 1.33458 -322.50 107.50 137.50 0.714017 -322.50 107.50 142.50 0.317093 -322.50 107.50 147.50 0.128274 -322.50 107.50 152.50 0.0398137 -322.50 107.50 157.50 0.0143751 -322.50 107.50 162.50 0.0153902 -322.50 107.50 167.50 0.0295424 -322.50 107.50 172.50 0.0636858 -322.50 107.50 177.50 0.188114 -322.50 107.50 182.50 0.460877 -322.50 107.50 187.50 1.10963 -322.50 107.50 192.50 1.93697 -322.50 107.50 197.50 2.75934 -322.50 107.50 202.50 3.36604 -322.50 107.50 207.50 3.53594 -322.50 107.50 212.50 3.14019 -322.50 107.50 217.50 2.27581 -322.50 107.50 222.50 1.33459 -322.50 107.50 227.50 0.714018 -322.50 107.50 232.50 0.317092 -322.50 107.50 237.50 0.128273 -322.50 107.50 242.50 0.0398136 -322.50 107.50 247.50 0.0143751 -322.50 107.50 252.50 0.0153902 -322.50 107.50 257.50 0.0295424 -322.50 107.50 262.50 0.0636859 -322.50 107.50 267.50 0.188115 -322.50 107.50 272.50 0.460877 -322.50 107.50 277.50 1.10963 -322.50 107.50 282.50 1.93697 -322.50 107.50 287.50 2.75934 -322.50 107.50 292.50 3.36604 -322.50 107.50 297.50 3.53594 -322.50 107.50 302.50 3.14019 -322.50 107.50 307.50 2.27581 -322.50 107.50 312.50 1.33459 -322.50 107.50 317.50 0.714018 -322.50 107.50 322.50 0.317093 -322.50 107.50 327.50 0.128274 -322.50 107.50 332.50 0.0398138 -322.50 107.50 337.50 0.0143751 -322.50 107.50 342.50 0.0153901 -322.50 107.50 347.50 0.0295423 -322.50 107.50 352.50 0.0636858 -322.50 107.50 357.50 0.188114 -322.50 112.50 2.50 0.865461 -322.50 112.50 7.50 1.85128 -322.50 112.50 12.50 2.81009 -322.50 112.50 17.50 3.69294 -322.50 112.50 22.50 4.22339 -322.50 112.50 27.50 4.06195 -322.50 112.50 32.50 3.21611 -322.50 112.50 37.50 2.19213 -322.50 112.50 42.50 1.29999 -322.50 112.50 47.50 0.621739 -322.50 112.50 52.50 0.233453 -322.50 112.50 57.50 0.0650971 -322.50 112.50 62.50 0.0195936 -322.50 112.50 67.50 0.00708078 -322.50 112.50 72.50 0.0110045 -322.50 112.50 77.50 0.0369399 -322.50 112.50 82.50 0.120598 -322.50 112.50 87.50 0.360265 -322.50 112.50 92.50 0.865461 -322.50 112.50 97.50 1.85128 -322.50 112.50 102.50 2.81009 -322.50 112.50 107.50 3.69294 -322.50 112.50 112.50 4.22339 -322.50 112.50 117.50 4.06195 -322.50 112.50 122.50 3.21611 -322.50 112.50 127.50 2.19212 -322.50 112.50 132.50 1.29999 -322.50 112.50 137.50 0.621739 -322.50 112.50 142.50 0.233453 -322.50 112.50 147.50 0.0650972 -322.50 112.50 152.50 0.0195936 -322.50 112.50 157.50 0.00708079 -322.50 112.50 162.50 0.0110045 -322.50 112.50 167.50 0.0369399 -322.50 112.50 172.50 0.120598 -322.50 112.50 177.50 0.360264 -322.50 112.50 182.50 0.865461 -322.50 112.50 187.50 1.85128 -322.50 112.50 192.50 2.81009 -322.50 112.50 197.50 3.69293 -322.50 112.50 202.50 4.22339 -322.50 112.50 207.50 4.06195 -322.50 112.50 212.50 3.21611 -322.50 112.50 217.50 2.19213 -322.50 112.50 222.50 1.29999 -322.50 112.50 227.50 0.62174 -322.50 112.50 232.50 0.233453 -322.50 112.50 237.50 0.065097 -322.50 112.50 242.50 0.0195935 -322.50 112.50 247.50 0.00708078 -322.50 112.50 252.50 0.0110045 -322.50 112.50 257.50 0.03694 -322.50 112.50 262.50 0.120599 -322.50 112.50 267.50 0.360265 -322.50 112.50 272.50 0.865461 -322.50 112.50 277.50 1.85128 -322.50 112.50 282.50 2.81009 -322.50 112.50 287.50 3.69293 -322.50 112.50 292.50 4.22339 -322.50 112.50 297.50 4.06196 -322.50 112.50 302.50 3.21611 -322.50 112.50 307.50 2.19213 -322.50 112.50 312.50 1.29999 -322.50 112.50 317.50 0.62174 -322.50 112.50 322.50 0.233454 -322.50 112.50 327.50 0.0650974 -322.50 112.50 332.50 0.0195936 -322.50 112.50 337.50 0.0070808 -322.50 112.50 342.50 0.0110045 -322.50 112.50 347.50 0.0369398 -322.50 112.50 352.50 0.120598 -322.50 112.50 357.50 0.360264 -322.50 117.50 2.50 1.46809 -322.50 117.50 7.50 2.6495 -322.50 117.50 12.50 3.43339 -322.50 117.50 17.50 3.88848 -322.50 117.50 22.50 4.01288 -322.50 117.50 27.50 3.45573 -322.50 117.50 32.50 2.44198 -322.50 117.50 37.50 1.48181 -322.50 117.50 42.50 0.799249 -322.50 117.50 47.50 0.347313 -322.50 117.50 52.50 0.111848 -322.50 117.50 57.50 0.0359556 -322.50 117.50 62.50 0.0165972 -322.50 117.50 67.50 0.0146831 -322.50 117.50 72.50 0.0407374 -322.50 117.50 77.50 0.113132 -322.50 117.50 82.50 0.294579 -322.50 117.50 87.50 0.717389 -322.50 117.50 92.50 1.46809 -322.50 117.50 97.50 2.6495 -322.50 117.50 102.50 3.43339 -322.50 117.50 107.50 3.88848 -322.50 117.50 112.50 4.01288 -322.50 117.50 117.50 3.45572 -322.50 117.50 122.50 2.44198 -322.50 117.50 127.50 1.48181 -322.50 117.50 132.50 0.799248 -322.50 117.50 137.50 0.347313 -322.50 117.50 142.50 0.111848 -322.50 117.50 147.50 0.0359556 -322.50 117.50 152.50 0.0165972 -322.50 117.50 157.50 0.014683 -322.50 117.50 162.50 0.0407373 -322.50 117.50 167.50 0.113132 -322.50 117.50 172.50 0.294579 -322.50 117.50 177.50 0.717389 -322.50 117.50 182.50 1.46809 -322.50 117.50 187.50 2.6495 -322.50 117.50 192.50 3.43339 -322.50 117.50 197.50 3.88847 -322.50 117.50 202.50 4.01288 -322.50 117.50 207.50 3.45573 -322.50 117.50 212.50 2.44198 -322.50 117.50 217.50 1.48181 -322.50 117.50 222.50 0.799248 -322.50 117.50 227.50 0.347313 -322.50 117.50 232.50 0.111848 -322.50 117.50 237.50 0.0359556 -322.50 117.50 242.50 0.0165972 -322.50 117.50 247.50 0.014683 -322.50 117.50 252.50 0.0407374 -322.50 117.50 257.50 0.113132 -322.50 117.50 262.50 0.294579 -322.50 117.50 267.50 0.717389 -322.50 117.50 272.50 1.46809 -322.50 117.50 277.50 2.6495 -322.50 117.50 282.50 3.43339 -322.50 117.50 287.50 3.88847 -322.50 117.50 292.50 4.01288 -322.50 117.50 297.50 3.45573 -322.50 117.50 302.50 2.44198 -322.50 117.50 307.50 1.48181 -322.50 117.50 312.50 0.799248 -322.50 117.50 317.50 0.347314 -322.50 117.50 322.50 0.111848 -322.50 117.50 327.50 0.0359557 -322.50 117.50 332.50 0.0165973 -322.50 117.50 337.50 0.0146831 -322.50 117.50 342.50 0.0407373 -322.50 117.50 347.50 0.113132 -322.50 117.50 352.50 0.294578 -322.50 117.50 357.50 0.717388 -322.50 122.50 2.50 2.09891 -322.50 122.50 7.50 3.04219 -322.50 122.50 12.50 3.34241 -322.50 122.50 17.50 3.28472 -322.50 122.50 22.50 2.95149 -322.50 122.50 27.50 2.1685 -322.50 122.50 32.50 1.36584 -322.50 122.50 37.50 0.737196 -322.50 122.50 42.50 0.322302 -322.50 122.50 47.50 0.115115 -322.50 122.50 52.50 0.0414452 -322.50 122.50 57.50 0.0268447 -322.50 122.50 62.50 0.0354015 -322.50 122.50 67.50 0.0769288 -322.50 122.50 72.50 0.177979 -322.50 122.50 77.50 0.388319 -322.50 122.50 82.50 0.716828 -322.50 122.50 87.50 1.29488 -322.50 122.50 92.50 2.09891 -322.50 122.50 97.50 3.04219 -322.50 122.50 102.50 3.34241 -322.50 122.50 107.50 3.28472 -322.50 122.50 112.50 2.95149 -322.50 122.50 117.50 2.1685 -322.50 122.50 122.50 1.36584 -322.50 122.50 127.50 0.737195 -322.50 122.50 132.50 0.322302 -322.50 122.50 137.50 0.115115 -322.50 122.50 142.50 0.0414452 -322.50 122.50 147.50 0.0268447 -322.50 122.50 152.50 0.0354014 -322.50 122.50 157.50 0.0769286 -322.50 122.50 162.50 0.177979 -322.50 122.50 167.50 0.388318 -322.50 122.50 172.50 0.716828 -322.50 122.50 177.50 1.29488 -322.50 122.50 182.50 2.09891 -322.50 122.50 187.50 3.04219 -322.50 122.50 192.50 3.34241 -322.50 122.50 197.50 3.28472 -322.50 122.50 202.50 2.95149 -322.50 122.50 207.50 2.1685 -322.50 122.50 212.50 1.36584 -322.50 122.50 217.50 0.737196 -322.50 122.50 222.50 0.322302 -322.50 122.50 227.50 0.115115 -322.50 122.50 232.50 0.0414452 -322.50 122.50 237.50 0.0268447 -322.50 122.50 242.50 0.0354015 -322.50 122.50 247.50 0.0769289 -322.50 122.50 252.50 0.177979 -322.50 122.50 257.50 0.388319 -322.50 122.50 262.50 0.716829 -322.50 122.50 267.50 1.29488 -322.50 122.50 272.50 2.09891 -322.50 122.50 277.50 3.04219 -322.50 122.50 282.50 3.34241 -322.50 122.50 287.50 3.28472 -322.50 122.50 292.50 2.95149 -322.50 122.50 297.50 2.16851 -322.50 122.50 302.50 1.36584 -322.50 122.50 307.50 0.737197 -322.50 122.50 312.50 0.322303 -322.50 122.50 317.50 0.115115 -322.50 122.50 322.50 0.0414453 -322.50 122.50 327.50 0.0268447 -322.50 122.50 332.50 0.0354015 -322.50 122.50 337.50 0.0769286 -322.50 122.50 342.50 0.177979 -322.50 122.50 347.50 0.388318 -322.50 122.50 352.50 0.716827 -322.50 122.50 357.50 1.29488 -322.50 127.50 2.50 2.5719 -322.50 127.50 7.50 2.88087 -322.50 127.50 12.50 2.61427 -322.50 127.50 17.50 2.1554 -322.50 127.50 22.50 1.69911 -322.50 127.50 27.50 1.1403 -322.50 127.50 32.50 0.62787 -322.50 127.50 37.50 0.272029 -322.50 127.50 42.50 0.0922263 -322.50 127.50 47.50 0.0340315 -322.50 127.50 52.50 0.0213053 -322.50 127.50 57.50 0.0472002 -322.50 127.50 62.50 0.120328 -322.50 127.50 67.50 0.290781 -322.50 127.50 72.50 0.615192 -322.50 127.50 77.50 1.10588 -322.50 127.50 82.50 1.63144 -322.50 127.50 87.50 2.08931 -322.50 127.50 92.50 2.5719 -322.50 127.50 97.50 2.88087 -322.50 127.50 102.50 2.61427 -322.50 127.50 107.50 2.1554 -322.50 127.50 112.50 1.69911 -322.50 127.50 117.50 1.1403 -322.50 127.50 122.50 0.62787 -322.50 127.50 127.50 0.272029 -322.50 127.50 132.50 0.0922263 -322.50 127.50 137.50 0.0340315 -322.50 127.50 142.50 0.0213053 -322.50 127.50 147.50 0.0472002 -322.50 127.50 152.50 0.120328 -322.50 127.50 157.50 0.290781 -322.50 127.50 162.50 0.615192 -322.50 127.50 167.50 1.10588 -322.50 127.50 172.50 1.63143 -322.50 127.50 177.50 2.08931 -322.50 127.50 182.50 2.5719 -322.50 127.50 187.50 2.88087 -322.50 127.50 192.50 2.61427 -322.50 127.50 197.50 2.1554 -322.50 127.50 202.50 1.69911 -322.50 127.50 207.50 1.1403 -322.50 127.50 212.50 0.62787 -322.50 127.50 217.50 0.272029 -322.50 127.50 222.50 0.0922263 -322.50 127.50 227.50 0.0340315 -322.50 127.50 232.50 0.0213053 -322.50 127.50 237.50 0.0472003 -322.50 127.50 242.50 0.120328 -322.50 127.50 247.50 0.290781 -322.50 127.50 252.50 0.615192 -322.50 127.50 257.50 1.10588 -322.50 127.50 262.50 1.63144 -322.50 127.50 267.50 2.08931 -322.50 127.50 272.50 2.5719 -322.50 127.50 277.50 2.88087 -322.50 127.50 282.50 2.61427 -322.50 127.50 287.50 2.1554 -322.50 127.50 292.50 1.69911 -322.50 127.50 297.50 1.1403 -322.50 127.50 302.50 0.627871 -322.50 127.50 307.50 0.272029 -322.50 127.50 312.50 0.0922264 -322.50 127.50 317.50 0.0340315 -322.50 127.50 322.50 0.0213053 -322.50 127.50 327.50 0.0472002 -322.50 127.50 332.50 0.120328 -322.50 127.50 337.50 0.290781 -322.50 127.50 342.50 0.615191 -322.50 127.50 347.50 1.10588 -322.50 127.50 352.50 1.63143 -322.50 127.50 357.50 2.08931 -322.50 132.50 2.50 2.82217 -322.50 132.50 7.50 2.41432 -322.50 132.50 12.50 1.74843 -322.50 132.50 17.50 1.12415 -322.50 132.50 22.50 0.760872 -322.50 132.50 27.50 0.491641 -322.50 132.50 32.50 0.242744 -322.50 132.50 37.50 0.0890093 -322.50 132.50 42.50 0.0219398 -322.50 132.50 47.50 0.0114427 -322.50 132.50 52.50 0.0405055 -322.50 132.50 57.50 0.138524 -322.50 132.50 62.50 0.342599 -322.50 132.50 67.50 0.755602 -322.50 132.50 72.50 1.47191 -322.50 132.50 77.50 2.402 -322.50 132.50 82.50 2.97992 -322.50 132.50 87.50 2.99595 -322.50 132.50 92.50 2.82217 -322.50 132.50 97.50 2.41432 -322.50 132.50 102.50 1.74843 -322.50 132.50 107.50 1.12415 -322.50 132.50 112.50 0.760873 -322.50 132.50 117.50 0.491641 -322.50 132.50 122.50 0.242744 -322.50 132.50 127.50 0.0890092 -322.50 132.50 132.50 0.0219398 -322.50 132.50 137.50 0.0114427 -322.50 132.50 142.50 0.0405055 -322.50 132.50 147.50 0.138524 -322.50 132.50 152.50 0.342599 -322.50 132.50 157.50 0.755601 -322.50 132.50 162.50 1.47191 -322.50 132.50 167.50 2.402 -322.50 132.50 172.50 2.97992 -322.50 132.50 177.50 2.99595 -322.50 132.50 182.50 2.82217 -322.50 132.50 187.50 2.41432 -322.50 132.50 192.50 1.74843 -322.50 132.50 197.50 1.12415 -322.50 132.50 202.50 0.760873 -322.50 132.50 207.50 0.491642 -322.50 132.50 212.50 0.242744 -322.50 132.50 217.50 0.0890094 -322.50 132.50 222.50 0.0219399 -322.50 132.50 227.50 0.0114427 -322.50 132.50 232.50 0.0405056 -322.50 132.50 237.50 0.138524 -322.50 132.50 242.50 0.342599 -322.50 132.50 247.50 0.755602 -322.50 132.50 252.50 1.47191 -322.50 132.50 257.50 2.402 -322.50 132.50 262.50 2.97992 -322.50 132.50 267.50 2.99595 -322.50 132.50 272.50 2.82217 -322.50 132.50 277.50 2.41432 -322.50 132.50 282.50 1.74843 -322.50 132.50 287.50 1.12415 -322.50 132.50 292.50 0.760872 -322.50 132.50 297.50 0.491641 -322.50 132.50 302.50 0.242744 -322.50 132.50 307.50 0.0890096 -322.50 132.50 312.50 0.0219399 -322.50 132.50 317.50 0.0114427 -322.50 132.50 322.50 0.0405054 -322.50 132.50 327.50 0.138524 -322.50 132.50 332.50 0.342598 -322.50 132.50 337.50 0.7556 -322.50 132.50 342.50 1.47191 -322.50 132.50 347.50 2.402 -322.50 132.50 352.50 2.97992 -322.50 132.50 357.50 2.99595 -322.50 137.50 2.50 2.8916 -322.50 137.50 7.50 1.94106 -322.50 137.50 12.50 1.08401 -322.50 137.50 17.50 0.558396 -322.50 137.50 22.50 0.285512 -322.50 137.50 27.50 0.157549 -322.50 137.50 32.50 0.0687425 -322.50 137.50 37.50 0.0237158 -322.50 137.50 42.50 0.00780603 -322.50 137.50 47.50 0.0241608 -322.50 137.50 52.50 0.0932614 -322.50 137.50 57.50 0.325911 -322.50 137.50 62.50 0.782799 -322.50 137.50 67.50 1.45077 -322.50 137.50 72.50 2.60093 -322.50 137.50 77.50 3.83832 -322.50 137.50 82.50 4.35753 -322.50 137.50 87.50 3.79369 -322.50 137.50 92.50 2.8916 -322.50 137.50 97.50 1.94106 -322.50 137.50 102.50 1.08401 -322.50 137.50 107.50 0.558397 -322.50 137.50 112.50 0.285512 -322.50 137.50 117.50 0.157549 -322.50 137.50 122.50 0.0687424 -322.50 137.50 127.50 0.0237157 -322.50 137.50 132.50 0.00780602 -322.50 137.50 137.50 0.0241607 -322.50 137.50 142.50 0.0932614 -322.50 137.50 147.50 0.32591 -322.50 137.50 152.50 0.782798 -322.50 137.50 157.50 1.45077 -322.50 137.50 162.50 2.60093 -322.50 137.50 167.50 3.83832 -322.50 137.50 172.50 4.35753 -322.50 137.50 177.50 3.79369 -322.50 137.50 182.50 2.8916 -322.50 137.50 187.50 1.94106 -322.50 137.50 192.50 1.08401 -322.50 137.50 197.50 0.558397 -322.50 137.50 202.50 0.285511 -322.50 137.50 207.50 0.157549 -322.50 137.50 212.50 0.0687425 -322.50 137.50 217.50 0.0237158 -322.50 137.50 222.50 0.00780603 -322.50 137.50 227.50 0.0241607 -322.50 137.50 232.50 0.0932616 -322.50 137.50 237.50 0.325911 -322.50 137.50 242.50 0.782799 -322.50 137.50 247.50 1.45077 -322.50 137.50 252.50 2.60093 -322.50 137.50 257.50 3.83832 -322.50 137.50 262.50 4.35753 -322.50 137.50 267.50 3.79369 -322.50 137.50 272.50 2.8916 -322.50 137.50 277.50 1.94106 -322.50 137.50 282.50 1.08401 -322.50 137.50 287.50 0.558397 -322.50 137.50 292.50 0.285511 -322.50 137.50 297.50 0.157549 -322.50 137.50 302.50 0.0687426 -322.50 137.50 307.50 0.0237158 -322.50 137.50 312.50 0.00780604 -322.50 137.50 317.50 0.0241607 -322.50 137.50 322.50 0.0932611 -322.50 137.50 327.50 0.32591 -322.50 137.50 332.50 0.782797 -322.50 137.50 337.50 1.45077 -322.50 137.50 342.50 2.60093 -322.50 137.50 347.50 3.83831 -322.50 137.50 352.50 4.35753 -322.50 137.50 357.50 3.79369 -322.50 142.50 2.50 2.82217 -322.50 142.50 7.50 1.54074 -322.50 142.50 12.50 0.670172 -322.50 142.50 17.50 0.275821 -322.50 142.50 22.50 0.106825 -322.50 142.50 27.50 0.0429412 -322.50 142.50 32.50 0.0157733 -322.50 142.50 37.50 0.00804477 -322.50 142.50 42.50 0.0178266 -322.50 142.50 47.50 0.0618672 -322.50 142.50 52.50 0.216742 -322.50 142.50 57.50 0.596384 -322.50 142.50 62.50 1.25833 -322.50 142.50 67.50 2.23133 -322.50 142.50 72.50 3.64188 -322.50 142.50 77.50 4.97107 -322.50 142.50 82.50 5.35102 -322.50 142.50 87.50 4.3162 -322.50 142.50 92.50 2.82217 -322.50 142.50 97.50 1.54074 -322.50 142.50 102.50 0.670171 -322.50 142.50 107.50 0.275821 -322.50 142.50 112.50 0.106825 -322.50 142.50 117.50 0.0429412 -322.50 142.50 122.50 0.0157733 -322.50 142.50 127.50 0.00804477 -322.50 142.50 132.50 0.0178265 -322.50 142.50 137.50 0.0618672 -322.50 142.50 142.50 0.216742 -322.50 142.50 147.50 0.596384 -322.50 142.50 152.50 1.25833 -322.50 142.50 157.50 2.23132 -322.50 142.50 162.50 3.64188 -322.50 142.50 167.50 4.97107 -322.50 142.50 172.50 5.35102 -322.50 142.50 177.50 4.3162 -322.50 142.50 182.50 2.82217 -322.50 142.50 187.50 1.54074 -322.50 142.50 192.50 0.670172 -322.50 142.50 197.50 0.275821 -322.50 142.50 202.50 0.106825 -322.50 142.50 207.50 0.0429413 -322.50 142.50 212.50 0.0157733 -322.50 142.50 217.50 0.00804477 -322.50 142.50 222.50 0.0178265 -322.50 142.50 227.50 0.0618671 -322.50 142.50 232.50 0.216742 -322.50 142.50 237.50 0.596385 -322.50 142.50 242.50 1.25833 -322.50 142.50 247.50 2.23133 -322.50 142.50 252.50 3.64188 -322.50 142.50 257.50 4.97107 -322.50 142.50 262.50 5.35102 -322.50 142.50 267.50 4.3162 -322.50 142.50 272.50 2.82217 -322.50 142.50 277.50 1.54074 -322.50 142.50 282.50 0.670172 -322.50 142.50 287.50 0.275821 -322.50 142.50 292.50 0.106825 -322.50 142.50 297.50 0.0429413 -322.50 142.50 302.50 0.0157733 -322.50 142.50 307.50 0.00804478 -322.50 142.50 312.50 0.0178265 -322.50 142.50 317.50 0.0618671 -322.50 142.50 322.50 0.216742 -322.50 142.50 327.50 0.596383 -322.50 142.50 332.50 1.25833 -322.50 142.50 337.50 2.23132 -322.50 142.50 342.50 3.64188 -322.50 142.50 347.50 4.97107 -322.50 142.50 352.50 5.35102 -322.50 142.50 357.50 4.3162 -322.50 147.50 2.50 2.5719 -322.50 147.50 7.50 1.19068 -322.50 147.50 12.50 0.434883 -322.50 147.50 17.50 0.135581 -322.50 147.50 22.50 0.0431418 -322.50 147.50 27.50 0.0133018 -322.50 147.50 32.50 0.00792703 -322.50 147.50 37.50 0.0182779 -322.50 147.50 42.50 0.0612545 -322.50 147.50 47.50 0.179555 -322.50 147.50 52.50 0.452484 -322.50 147.50 57.50 0.949382 -322.50 147.50 62.50 1.68935 -322.50 147.50 67.50 2.7557 -322.50 147.50 72.50 4.15187 -322.50 147.50 77.50 5.38265 -322.50 147.50 82.50 5.56068 -322.50 147.50 87.50 4.33165 -322.50 147.50 92.50 2.5719 -322.50 147.50 97.50 1.19068 -322.50 147.50 102.50 0.434883 -322.50 147.50 107.50 0.135581 -322.50 147.50 112.50 0.0431419 -322.50 147.50 117.50 0.0133018 -322.50 147.50 122.50 0.00792702 -322.50 147.50 127.50 0.0182779 -322.50 147.50 132.50 0.0612544 -322.50 147.50 137.50 0.179555 -322.50 147.50 142.50 0.452484 -322.50 147.50 147.50 0.949382 -322.50 147.50 152.50 1.68935 -322.50 147.50 157.50 2.7557 -322.50 147.50 162.50 4.15187 -322.50 147.50 167.50 5.38266 -322.50 147.50 172.50 5.56068 -322.50 147.50 177.50 4.33165 -322.50 147.50 182.50 2.5719 -322.50 147.50 187.50 1.19068 -322.50 147.50 192.50 0.434883 -322.50 147.50 197.50 0.135581 -322.50 147.50 202.50 0.0431419 -322.50 147.50 207.50 0.0133018 -322.50 147.50 212.50 0.00792702 -322.50 147.50 217.50 0.0182778 -322.50 147.50 222.50 0.0612544 -322.50 147.50 227.50 0.179555 -322.50 147.50 232.50 0.452485 -322.50 147.50 237.50 0.949383 -322.50 147.50 242.50 1.68935 -322.50 147.50 247.50 2.7557 -322.50 147.50 252.50 4.15187 -322.50 147.50 257.50 5.38266 -322.50 147.50 262.50 5.56068 -322.50 147.50 267.50 4.33165 -322.50 147.50 272.50 2.5719 -322.50 147.50 277.50 1.19068 -322.50 147.50 282.50 0.434884 -322.50 147.50 287.50 0.135581 -322.50 147.50 292.50 0.0431419 -322.50 147.50 297.50 0.0133018 -322.50 147.50 302.50 0.00792703 -322.50 147.50 307.50 0.0182778 -322.50 147.50 312.50 0.0612544 -322.50 147.50 317.50 0.179555 -322.50 147.50 322.50 0.452484 -322.50 147.50 327.50 0.949381 -322.50 147.50 332.50 1.68935 -322.50 147.50 337.50 2.7557 -322.50 147.50 342.50 4.15187 -322.50 147.50 347.50 5.38265 -322.50 147.50 352.50 5.56068 -322.50 147.50 357.50 4.33166 -322.50 152.50 2.50 2.09891 -322.50 152.50 7.50 0.876375 -322.50 152.50 12.50 0.30078 -322.50 152.50 17.50 0.0728054 -322.50 152.50 22.50 0.0201629 -322.50 152.50 27.50 0.00703296 -322.50 152.50 32.50 0.0167838 -322.50 152.50 37.50 0.0565721 -322.50 152.50 42.50 0.149518 -322.50 152.50 47.50 0.374035 -322.50 152.50 52.50 0.781113 -322.50 152.50 57.50 1.33779 -322.50 152.50 62.50 2.0044 -322.50 152.50 67.50 2.88773 -322.50 152.50 72.50 3.92309 -322.50 152.50 77.50 4.86415 -322.50 152.50 82.50 4.76941 -322.50 152.50 87.50 3.6603 -322.50 152.50 92.50 2.09891 -322.50 152.50 97.50 0.876375 -322.50 152.50 102.50 0.30078 -322.50 152.50 107.50 0.0728054 -322.50 152.50 112.50 0.0201629 -322.50 152.50 117.50 0.00703295 -322.50 152.50 122.50 0.0167838 -322.50 152.50 127.50 0.0565721 -322.50 152.50 132.50 0.149518 -322.50 152.50 137.50 0.374034 -322.50 152.50 142.50 0.781114 -322.50 152.50 147.50 1.33779 -322.50 152.50 152.50 2.00439 -322.50 152.50 157.50 2.88773 -322.50 152.50 162.50 3.92309 -322.50 152.50 167.50 4.86415 -322.50 152.50 172.50 4.76942 -322.50 152.50 177.50 3.6603 -322.50 152.50 182.50 2.09891 -322.50 152.50 187.50 0.876374 -322.50 152.50 192.50 0.30078 -322.50 152.50 197.50 0.0728054 -322.50 152.50 202.50 0.0201629 -322.50 152.50 207.50 0.00703295 -322.50 152.50 212.50 0.0167838 -322.50 152.50 217.50 0.0565721 -322.50 152.50 222.50 0.149518 -322.50 152.50 227.50 0.374034 -322.50 152.50 232.50 0.781114 -322.50 152.50 237.50 1.33779 -322.50 152.50 242.50 2.0044 -322.50 152.50 247.50 2.88773 -322.50 152.50 252.50 3.92309 -322.50 152.50 257.50 4.86415 -322.50 152.50 262.50 4.76941 -322.50 152.50 267.50 3.6603 -322.50 152.50 272.50 2.09891 -322.50 152.50 277.50 0.876376 -322.50 152.50 282.50 0.30078 -322.50 152.50 287.50 0.0728054 -322.50 152.50 292.50 0.0201629 -322.50 152.50 297.50 0.00703294 -322.50 152.50 302.50 0.0167838 -322.50 152.50 307.50 0.056572 -322.50 152.50 312.50 0.149518 -322.50 152.50 317.50 0.374034 -322.50 152.50 322.50 0.781112 -322.50 152.50 327.50 1.33779 -322.50 152.50 332.50 2.00439 -322.50 152.50 337.50 2.88773 -322.50 152.50 342.50 3.92309 -322.50 152.50 347.50 4.86415 -322.50 152.50 352.50 4.76942 -322.50 152.50 357.50 3.6603 -322.50 157.50 2.50 1.46809 -322.50 157.50 7.50 0.620965 -322.50 157.50 12.50 0.227896 -322.50 157.50 17.50 0.0670517 -322.50 157.50 22.50 0.0183378 -322.50 157.50 27.50 0.0123625 -322.50 157.50 32.50 0.036917 -322.50 157.50 37.50 0.121999 -322.50 157.50 42.50 0.295948 -322.50 157.50 47.50 0.60778 -322.50 157.50 52.50 1.09447 -322.50 157.50 57.50 1.61011 -322.50 157.50 62.50 2.10945 -322.50 157.50 67.50 2.5845 -322.50 157.50 72.50 3.1379 -322.50 157.50 77.50 3.52195 -322.50 157.50 82.50 3.31096 -322.50 157.50 87.50 2.50208 -322.50 157.50 92.50 1.46809 -322.50 157.50 97.50 0.620965 -322.50 157.50 102.50 0.227895 -322.50 157.50 107.50 0.0670517 -322.50 157.50 112.50 0.0183378 -322.50 157.50 117.50 0.0123625 -322.50 157.50 122.50 0.036917 -322.50 157.50 127.50 0.121999 -322.50 157.50 132.50 0.295949 -322.50 157.50 137.50 0.60778 -322.50 157.50 142.50 1.09447 -322.50 157.50 147.50 1.61011 -322.50 157.50 152.50 2.10945 -322.50 157.50 157.50 2.5845 -322.50 157.50 162.50 3.13791 -322.50 157.50 167.50 3.52195 -322.50 157.50 172.50 3.31096 -322.50 157.50 177.50 2.50208 -322.50 157.50 182.50 1.46809 -322.50 157.50 187.50 0.620964 -322.50 157.50 192.50 0.227896 -322.50 157.50 197.50 0.0670517 -322.50 157.50 202.50 0.0183378 -322.50 157.50 207.50 0.0123625 -322.50 157.50 212.50 0.0369169 -322.50 157.50 217.50 0.121999 -322.50 157.50 222.50 0.295948 -322.50 157.50 227.50 0.60778 -322.50 157.50 232.50 1.09447 -322.50 157.50 237.50 1.61011 -322.50 157.50 242.50 2.10945 -322.50 157.50 247.50 2.5845 -322.50 157.50 252.50 3.13791 -322.50 157.50 257.50 3.52195 -322.50 157.50 262.50 3.31096 -322.50 157.50 267.50 2.50208 -322.50 157.50 272.50 1.46809 -322.50 157.50 277.50 0.620965 -322.50 157.50 282.50 0.227896 -322.50 157.50 287.50 0.0670517 -322.50 157.50 292.50 0.0183379 -322.50 157.50 297.50 0.0123625 -322.50 157.50 302.50 0.0369169 -322.50 157.50 307.50 0.121999 -322.50 157.50 312.50 0.295948 -322.50 157.50 317.50 0.60778 -322.50 157.50 322.50 1.09447 -322.50 157.50 327.50 1.61011 -322.50 157.50 332.50 2.10945 -322.50 157.50 337.50 2.5845 -322.50 157.50 342.50 3.1379 -322.50 157.50 347.50 3.52195 -322.50 157.50 352.50 3.31096 -322.50 157.50 357.50 2.50208 -322.50 162.50 2.50 0.865462 -322.50 162.50 7.50 0.430563 -322.50 162.50 12.50 0.202847 -322.50 162.50 17.50 0.0932948 -322.50 162.50 22.50 0.0366078 -322.50 162.50 27.50 0.0302528 -322.50 162.50 32.50 0.0784525 -322.50 162.50 37.50 0.206482 -322.50 162.50 42.50 0.456507 -322.50 162.50 47.50 0.847795 -322.50 162.50 52.50 1.30256 -322.50 162.50 57.50 1.62272 -322.50 162.50 62.50 1.76641 -322.50 162.50 67.50 1.89595 -322.50 162.50 72.50 2.04577 -322.50 162.50 77.50 2.05423 -322.50 162.50 82.50 1.8292 -322.50 162.50 87.50 1.38244 -322.50 162.50 92.50 0.865462 -322.50 162.50 97.50 0.430563 -322.50 162.50 102.50 0.202847 -322.50 162.50 107.50 0.0932948 -322.50 162.50 112.50 0.0366078 -322.50 162.50 117.50 0.0302528 -322.50 162.50 122.50 0.0784525 -322.50 162.50 127.50 0.206482 -322.50 162.50 132.50 0.456507 -322.50 162.50 137.50 0.847795 -322.50 162.50 142.50 1.30256 -322.50 162.50 147.50 1.62272 -322.50 162.50 152.50 1.76641 -322.50 162.50 157.50 1.89594 -322.50 162.50 162.50 2.04577 -322.50 162.50 167.50 2.05423 -322.50 162.50 172.50 1.8292 -322.50 162.50 177.50 1.38244 -322.50 162.50 182.50 0.865461 -322.50 162.50 187.50 0.430563 -322.50 162.50 192.50 0.202847 -322.50 162.50 197.50 0.0932947 -322.50 162.50 202.50 0.0366078 -322.50 162.50 207.50 0.0302528 -322.50 162.50 212.50 0.0784525 -322.50 162.50 217.50 0.206482 -322.50 162.50 222.50 0.456507 -322.50 162.50 227.50 0.847795 -322.50 162.50 232.50 1.30256 -322.50 162.50 237.50 1.62272 -322.50 162.50 242.50 1.76641 -322.50 162.50 247.50 1.89594 -322.50 162.50 252.50 2.04577 -322.50 162.50 257.50 2.05423 -322.50 162.50 262.50 1.8292 -322.50 162.50 267.50 1.38244 -322.50 162.50 272.50 0.865462 -322.50 162.50 277.50 0.430563 -322.50 162.50 282.50 0.202847 -322.50 162.50 287.50 0.0932948 -322.50 162.50 292.50 0.0366079 -322.50 162.50 297.50 0.0302528 -322.50 162.50 302.50 0.0784524 -322.50 162.50 307.50 0.206481 -322.50 162.50 312.50 0.456507 -322.50 162.50 317.50 0.847795 -322.50 162.50 322.50 1.30256 -322.50 162.50 327.50 1.62272 -322.50 162.50 332.50 1.76641 -322.50 162.50 337.50 1.89594 -322.50 162.50 342.50 2.04577 -322.50 162.50 347.50 2.05423 -322.50 162.50 352.50 1.8292 -322.50 162.50 357.50 1.38244 -322.50 167.50 2.50 0.460877 -322.50 167.50 7.50 0.30253 -322.50 167.50 12.50 0.192319 -322.50 167.50 17.50 0.118854 -322.50 167.50 22.50 0.0626105 -322.50 167.50 27.50 0.0515304 -322.50 167.50 32.50 0.110501 -322.50 167.50 37.50 0.268722 -322.50 167.50 42.50 0.554866 -322.50 167.50 47.50 0.970134 -322.50 167.50 52.50 1.33987 -322.50 167.50 57.50 1.42006 -322.50 167.50 62.50 1.25223 -322.50 167.50 67.50 1.10149 -322.50 167.50 72.50 1.04354 -322.50 167.50 77.50 0.968019 -322.50 167.50 82.50 0.816206 -322.50 167.50 87.50 0.652798 -322.50 167.50 92.50 0.460877 -322.50 167.50 97.50 0.30253 -322.50 167.50 102.50 0.192319 -322.50 167.50 107.50 0.118854 -322.50 167.50 112.50 0.0626105 -322.50 167.50 117.50 0.0515304 -322.50 167.50 122.50 0.110501 -322.50 167.50 127.50 0.268722 -322.50 167.50 132.50 0.554867 -322.50 167.50 137.50 0.970133 -322.50 167.50 142.50 1.33987 -322.50 167.50 147.50 1.42006 -322.50 167.50 152.50 1.25223 -322.50 167.50 157.50 1.10149 -322.50 167.50 162.50 1.04354 -322.50 167.50 167.50 0.96802 -322.50 167.50 172.50 0.816207 -322.50 167.50 177.50 0.652798 -322.50 167.50 182.50 0.460877 -322.50 167.50 187.50 0.30253 -322.50 167.50 192.50 0.192319 -322.50 167.50 197.50 0.118854 -322.50 167.50 202.50 0.0626105 -322.50 167.50 207.50 0.0515304 -322.50 167.50 212.50 0.110501 -322.50 167.50 217.50 0.268722 -322.50 167.50 222.50 0.554866 -322.50 167.50 227.50 0.970133 -322.50 167.50 232.50 1.33987 -322.50 167.50 237.50 1.42006 -322.50 167.50 242.50 1.25223 -322.50 167.50 247.50 1.10149 -322.50 167.50 252.50 1.04354 -322.50 167.50 257.50 0.96802 -322.50 167.50 262.50 0.816206 -322.50 167.50 267.50 0.652798 -322.50 167.50 272.50 0.460877 -322.50 167.50 277.50 0.30253 -322.50 167.50 282.50 0.192319 -322.50 167.50 287.50 0.118854 -322.50 167.50 292.50 0.0626105 -322.50 167.50 297.50 0.0515305 -322.50 167.50 302.50 0.110501 -322.50 167.50 307.50 0.268721 -322.50 167.50 312.50 0.554866 -322.50 167.50 317.50 0.970133 -322.50 167.50 322.50 1.33987 -322.50 167.50 327.50 1.42006 -322.50 167.50 332.50 1.25223 -322.50 167.50 337.50 1.10149 -322.50 167.50 342.50 1.04354 -322.50 167.50 347.50 0.968019 -322.50 167.50 352.50 0.816207 -322.50 167.50 357.50 0.652799 -322.50 172.50 2.50 0.244556 -322.50 172.50 7.50 0.204062 -322.50 172.50 12.50 0.164515 -322.50 172.50 17.50 0.108297 -322.50 172.50 22.50 0.0673723 -322.50 172.50 27.50 0.0569905 -322.50 172.50 32.50 0.102746 -322.50 172.50 37.50 0.244358 -322.50 172.50 42.50 0.541712 -322.50 172.50 47.50 0.953292 -322.50 172.50 52.50 1.21402 -322.50 172.50 57.50 1.10121 -322.50 172.50 62.50 0.777772 -322.50 172.50 67.50 0.526487 -322.50 172.50 72.50 0.416338 -322.50 172.50 77.50 0.362094 -322.50 172.50 82.50 0.329846 -322.50 172.50 87.50 0.291898 -322.50 172.50 92.50 0.244556 -322.50 172.50 97.50 0.204062 -322.50 172.50 102.50 0.164515 -322.50 172.50 107.50 0.108297 -322.50 172.50 112.50 0.0673722 -322.50 172.50 117.50 0.0569905 -322.50 172.50 122.50 0.102746 -322.50 172.50 127.50 0.244359 -322.50 172.50 132.50 0.541712 -322.50 172.50 137.50 0.953292 -322.50 172.50 142.50 1.21402 -322.50 172.50 147.50 1.10121 -322.50 172.50 152.50 0.777772 -322.50 172.50 157.50 0.526487 -322.50 172.50 162.50 0.416338 -322.50 172.50 167.50 0.362094 -322.50 172.50 172.50 0.329846 -322.50 172.50 177.50 0.291898 -322.50 172.50 182.50 0.244556 -322.50 172.50 187.50 0.204062 -322.50 172.50 192.50 0.164515 -322.50 172.50 197.50 0.108297 -322.50 172.50 202.50 0.0673723 -322.50 172.50 207.50 0.0569905 -322.50 172.50 212.50 0.102746 -322.50 172.50 217.50 0.244358 -322.50 172.50 222.50 0.541712 -322.50 172.50 227.50 0.953291 -322.50 172.50 232.50 1.21402 -322.50 172.50 237.50 1.10121 -322.50 172.50 242.50 0.777772 -322.50 172.50 247.50 0.526486 -322.50 172.50 252.50 0.416339 -322.50 172.50 257.50 0.362095 -322.50 172.50 262.50 0.329847 -322.50 172.50 267.50 0.291898 -322.50 172.50 272.50 0.244556 -322.50 172.50 277.50 0.204062 -322.50 172.50 282.50 0.164515 -322.50 172.50 287.50 0.108297 -322.50 172.50 292.50 0.0673723 -322.50 172.50 297.50 0.0569905 -322.50 172.50 302.50 0.102746 -322.50 172.50 307.50 0.244358 -322.50 172.50 312.50 0.541711 -322.50 172.50 317.50 0.953292 -322.50 172.50 322.50 1.21402 -322.50 172.50 327.50 1.10121 -322.50 172.50 332.50 0.777773 -322.50 172.50 337.50 0.526487 -322.50 172.50 342.50 0.416339 -322.50 172.50 347.50 0.362094 -322.50 172.50 352.50 0.329846 -322.50 172.50 357.50 0.291898 -322.50 177.50 2.50 0.12541 -322.50 177.50 7.50 0.119002 -322.50 177.50 12.50 0.110057 -322.50 177.50 17.50 0.0897008 -322.50 177.50 22.50 0.0626697 -322.50 177.50 27.50 0.0483575 -322.50 177.50 32.50 0.0709714 -322.50 177.50 37.50 0.176459 -322.50 177.50 42.50 0.425683 -322.50 177.50 47.50 0.774997 -322.50 177.50 52.50 0.958469 -322.50 177.50 57.50 0.792093 -322.50 177.50 62.50 0.462255 -322.50 177.50 67.50 0.232954 -322.50 177.50 72.50 0.140119 -322.50 177.50 77.50 0.118244 -322.50 177.50 82.50 0.120838 -322.50 177.50 87.50 0.126957 -322.50 177.50 92.50 0.12541 -322.50 177.50 97.50 0.119002 -322.50 177.50 102.50 0.110057 -322.50 177.50 107.50 0.0897007 -322.50 177.50 112.50 0.0626697 -322.50 177.50 117.50 0.0483575 -322.50 177.50 122.50 0.0709715 -322.50 177.50 127.50 0.176459 -322.50 177.50 132.50 0.425683 -322.50 177.50 137.50 0.774997 -322.50 177.50 142.50 0.958469 -322.50 177.50 147.50 0.792093 -322.50 177.50 152.50 0.462256 -322.50 177.50 157.50 0.232954 -322.50 177.50 162.50 0.140119 -322.50 177.50 167.50 0.118244 -322.50 177.50 172.50 0.120838 -322.50 177.50 177.50 0.126957 -322.50 177.50 182.50 0.12541 -322.50 177.50 187.50 0.119002 -322.50 177.50 192.50 0.110057 -322.50 177.50 197.50 0.0897008 -322.50 177.50 202.50 0.0626697 -322.50 177.50 207.50 0.0483576 -322.50 177.50 212.50 0.0709714 -322.50 177.50 217.50 0.176459 -322.50 177.50 222.50 0.425682 -322.50 177.50 227.50 0.774997 -322.50 177.50 232.50 0.958469 -322.50 177.50 237.50 0.792093 -322.50 177.50 242.50 0.462254 -322.50 177.50 247.50 0.232953 -322.50 177.50 252.50 0.14012 -322.50 177.50 257.50 0.118244 -322.50 177.50 262.50 0.120838 -322.50 177.50 267.50 0.126957 -322.50 177.50 272.50 0.12541 -322.50 177.50 277.50 0.119002 -322.50 177.50 282.50 0.110057 -322.50 177.50 287.50 0.0897008 -322.50 177.50 292.50 0.0626697 -322.50 177.50 297.50 0.0483577 -322.50 177.50 302.50 0.0709713 -322.50 177.50 307.50 0.176459 -322.50 177.50 312.50 0.425682 -322.50 177.50 317.50 0.774997 -322.50 177.50 322.50 0.958469 -322.50 177.50 327.50 0.792094 -322.50 177.50 332.50 0.462256 -322.50 177.50 337.50 0.232954 -322.50 177.50 342.50 0.14012 -322.50 177.50 347.50 0.118244 -322.50 177.50 352.50 0.120838 -322.50 177.50 357.50 0.126957 -327.50 2.50 2.50 0.0760386 -327.50 2.50 7.50 0.0601603 -327.50 2.50 12.50 0.048522 -327.50 2.50 17.50 0.0624685 -327.50 2.50 22.50 0.149977 -327.50 2.50 27.50 0.393272 -327.50 2.50 32.50 0.773178 -327.50 2.50 37.50 0.980476 -327.50 2.50 42.50 0.773179 -327.50 2.50 47.50 0.393273 -327.50 2.50 52.50 0.149977 -327.50 2.50 57.50 0.0624686 -327.50 2.50 62.50 0.0485219 -327.50 2.50 67.50 0.0601603 -327.50 2.50 72.50 0.0760385 -327.50 2.50 77.50 0.083846 -327.50 2.50 82.50 0.084539 -327.50 2.50 87.50 0.083846 -327.50 2.50 92.50 0.0760385 -327.50 2.50 97.50 0.0601603 -327.50 2.50 102.50 0.048522 -327.50 2.50 107.50 0.0624686 -327.50 2.50 112.50 0.149977 -327.50 2.50 117.50 0.393272 -327.50 2.50 122.50 0.773178 -327.50 2.50 127.50 0.980476 -327.50 2.50 132.50 0.773179 -327.50 2.50 137.50 0.393273 -327.50 2.50 142.50 0.149977 -327.50 2.50 147.50 0.0624686 -327.50 2.50 152.50 0.0485219 -327.50 2.50 157.50 0.0601603 -327.50 2.50 162.50 0.0760385 -327.50 2.50 167.50 0.083846 -327.50 2.50 172.50 0.084539 -327.50 2.50 177.50 0.083846 -327.50 2.50 182.50 0.0760385 -327.50 2.50 187.50 0.0601603 -327.50 2.50 192.50 0.0485219 -327.50 2.50 197.50 0.0624685 -327.50 2.50 202.50 0.149977 -327.50 2.50 207.50 0.393272 -327.50 2.50 212.50 0.773178 -327.50 2.50 217.50 0.980476 -327.50 2.50 222.50 0.773179 -327.50 2.50 227.50 0.393273 -327.50 2.50 232.50 0.149977 -327.50 2.50 237.50 0.0624686 -327.50 2.50 242.50 0.0485219 -327.50 2.50 247.50 0.0601603 -327.50 2.50 252.50 0.0760385 -327.50 2.50 257.50 0.083846 -327.50 2.50 262.50 0.084539 -327.50 2.50 267.50 0.083846 -327.50 2.50 272.50 0.0760385 -327.50 2.50 277.50 0.0601603 -327.50 2.50 282.50 0.048522 -327.50 2.50 287.50 0.0624686 -327.50 2.50 292.50 0.149977 -327.50 2.50 297.50 0.393272 -327.50 2.50 302.50 0.773177 -327.50 2.50 307.50 0.980476 -327.50 2.50 312.50 0.773179 -327.50 2.50 317.50 0.393273 -327.50 2.50 322.50 0.149977 -327.50 2.50 327.50 0.0624687 -327.50 2.50 332.50 0.0485219 -327.50 2.50 337.50 0.0601602 -327.50 2.50 342.50 0.0760385 -327.50 2.50 347.50 0.083846 -327.50 2.50 352.50 0.084539 -327.50 2.50 357.50 0.083846 -327.50 7.50 2.50 0.116068 -327.50 7.50 7.50 0.109437 -327.50 7.50 12.50 0.104517 -327.50 7.50 17.50 0.130088 -327.50 7.50 22.50 0.242646 -327.50 7.50 27.50 0.493236 -327.50 7.50 32.50 0.816791 -327.50 7.50 37.50 0.961441 -327.50 7.50 42.50 0.764686 -327.50 7.50 47.50 0.423002 -327.50 7.50 52.50 0.182192 -327.50 7.50 57.50 0.0734261 -327.50 7.50 62.50 0.0411975 -327.50 7.50 67.50 0.0545772 -327.50 7.50 72.50 0.0829734 -327.50 7.50 77.50 0.103349 -327.50 7.50 82.50 0.110486 -327.50 7.50 87.50 0.114934 -327.50 7.50 92.50 0.116068 -327.50 7.50 97.50 0.109437 -327.50 7.50 102.50 0.104517 -327.50 7.50 107.50 0.130088 -327.50 7.50 112.50 0.242646 -327.50 7.50 117.50 0.493237 -327.50 7.50 122.50 0.816791 -327.50 7.50 127.50 0.961442 -327.50 7.50 132.50 0.764686 -327.50 7.50 137.50 0.423002 -327.50 7.50 142.50 0.182192 -327.50 7.50 147.50 0.0734261 -327.50 7.50 152.50 0.0411975 -327.50 7.50 157.50 0.0545772 -327.50 7.50 162.50 0.0829734 -327.50 7.50 167.50 0.103349 -327.50 7.50 172.50 0.110487 -327.50 7.50 177.50 0.114934 -327.50 7.50 182.50 0.116068 -327.50 7.50 187.50 0.109437 -327.50 7.50 192.50 0.104517 -327.50 7.50 197.50 0.130088 -327.50 7.50 202.50 0.242646 -327.50 7.50 207.50 0.493236 -327.50 7.50 212.50 0.81679 -327.50 7.50 217.50 0.961442 -327.50 7.50 222.50 0.764686 -327.50 7.50 227.50 0.423002 -327.50 7.50 232.50 0.182192 -327.50 7.50 237.50 0.0734261 -327.50 7.50 242.50 0.0411975 -327.50 7.50 247.50 0.0545772 -327.50 7.50 252.50 0.0829734 -327.50 7.50 257.50 0.103349 -327.50 7.50 262.50 0.110487 -327.50 7.50 267.50 0.114934 -327.50 7.50 272.50 0.116068 -327.50 7.50 277.50 0.109437 -327.50 7.50 282.50 0.104517 -327.50 7.50 287.50 0.130088 -327.50 7.50 292.50 0.242645 -327.50 7.50 297.50 0.493236 -327.50 7.50 302.50 0.81679 -327.50 7.50 307.50 0.961442 -327.50 7.50 312.50 0.764687 -327.50 7.50 317.50 0.423002 -327.50 7.50 322.50 0.182192 -327.50 7.50 327.50 0.0734262 -327.50 7.50 332.50 0.0411976 -327.50 7.50 337.50 0.0545771 -327.50 7.50 342.50 0.0829733 -327.50 7.50 347.50 0.103349 -327.50 7.50 352.50 0.110486 -327.50 7.50 357.50 0.114934 -327.50 12.50 2.50 0.241647 -327.50 12.50 7.50 0.277078 -327.50 12.50 12.50 0.303617 -327.50 12.50 17.50 0.35721 -327.50 12.50 22.50 0.520798 -327.50 12.50 27.50 0.820781 -327.50 12.50 32.50 1.14639 -327.50 12.50 37.50 1.23544 -327.50 12.50 42.50 0.967709 -327.50 12.50 47.50 0.554749 -327.50 12.50 52.50 0.253803 -327.50 12.50 57.50 0.101965 -327.50 12.50 62.50 0.0491385 -327.50 12.50 67.50 0.0602945 -327.50 12.50 72.50 0.104071 -327.50 12.50 77.50 0.142121 -327.50 12.50 82.50 0.170538 -327.50 12.50 87.50 0.200088 -327.50 12.50 92.50 0.241647 -327.50 12.50 97.50 0.277078 -327.50 12.50 102.50 0.303617 -327.50 12.50 107.50 0.35721 -327.50 12.50 112.50 0.520798 -327.50 12.50 117.50 0.820782 -327.50 12.50 122.50 1.14639 -327.50 12.50 127.50 1.23544 -327.50 12.50 132.50 0.967709 -327.50 12.50 137.50 0.554749 -327.50 12.50 142.50 0.253803 -327.50 12.50 147.50 0.101965 -327.50 12.50 152.50 0.0491385 -327.50 12.50 157.50 0.0602944 -327.50 12.50 162.50 0.104071 -327.50 12.50 167.50 0.14212 -327.50 12.50 172.50 0.170538 -327.50 12.50 177.50 0.200088 -327.50 12.50 182.50 0.241647 -327.50 12.50 187.50 0.277079 -327.50 12.50 192.50 0.303618 -327.50 12.50 197.50 0.35721 -327.50 12.50 202.50 0.520798 -327.50 12.50 207.50 0.820781 -327.50 12.50 212.50 1.14639 -327.50 12.50 217.50 1.23544 -327.50 12.50 222.50 0.967709 -327.50 12.50 227.50 0.554749 -327.50 12.50 232.50 0.253802 -327.50 12.50 237.50 0.101965 -327.50 12.50 242.50 0.0491385 -327.50 12.50 247.50 0.0602945 -327.50 12.50 252.50 0.104071 -327.50 12.50 257.50 0.14212 -327.50 12.50 262.50 0.170538 -327.50 12.50 267.50 0.200088 -327.50 12.50 272.50 0.241647 -327.50 12.50 277.50 0.277079 -327.50 12.50 282.50 0.303618 -327.50 12.50 287.50 0.35721 -327.50 12.50 292.50 0.520798 -327.50 12.50 297.50 0.82078 -327.50 12.50 302.50 1.14639 -327.50 12.50 307.50 1.23544 -327.50 12.50 312.50 0.967709 -327.50 12.50 317.50 0.55475 -327.50 12.50 322.50 0.253803 -327.50 12.50 327.50 0.101965 -327.50 12.50 332.50 0.0491385 -327.50 12.50 337.50 0.0602943 -327.50 12.50 342.50 0.104071 -327.50 12.50 347.50 0.14212 -327.50 12.50 352.50 0.170538 -327.50 12.50 357.50 0.200088 -327.50 17.50 2.50 0.507759 -327.50 17.50 7.50 0.658212 -327.50 17.50 12.50 0.768401 -327.50 17.50 17.50 0.895646 -327.50 17.50 22.50 1.05127 -327.50 17.50 27.50 1.284 -327.50 17.50 32.50 1.48102 -327.50 17.50 37.50 1.4099 -327.50 17.50 42.50 1.03144 -327.50 17.50 47.50 0.592621 -327.50 17.50 52.50 0.281274 -327.50 17.50 57.50 0.111885 -327.50 17.50 62.50 0.0422284 -327.50 17.50 67.50 0.0538103 -327.50 17.50 72.50 0.111707 -327.50 17.50 77.50 0.175894 -327.50 17.50 82.50 0.225285 -327.50 17.50 87.50 0.341373 -327.50 17.50 92.50 0.507759 -327.50 17.50 97.50 0.658212 -327.50 17.50 102.50 0.768401 -327.50 17.50 107.50 0.895645 -327.50 17.50 112.50 1.05127 -327.50 17.50 117.50 1.284 -327.50 17.50 122.50 1.48102 -327.50 17.50 127.50 1.4099 -327.50 17.50 132.50 1.03144 -327.50 17.50 137.50 0.592621 -327.50 17.50 142.50 0.281274 -327.50 17.50 147.50 0.111885 -327.50 17.50 152.50 0.0422285 -327.50 17.50 157.50 0.0538103 -327.50 17.50 162.50 0.111707 -327.50 17.50 167.50 0.175894 -327.50 17.50 172.50 0.225285 -327.50 17.50 177.50 0.341373 -327.50 17.50 182.50 0.507759 -327.50 17.50 187.50 0.658212 -327.50 17.50 192.50 0.768401 -327.50 17.50 197.50 0.895645 -327.50 17.50 202.50 1.05127 -327.50 17.50 207.50 1.284 -327.50 17.50 212.50 1.48102 -327.50 17.50 217.50 1.4099 -327.50 17.50 222.50 1.03144 -327.50 17.50 227.50 0.592621 -327.50 17.50 232.50 0.281274 -327.50 17.50 237.50 0.111885 -327.50 17.50 242.50 0.0422284 -327.50 17.50 247.50 0.0538103 -327.50 17.50 252.50 0.111707 -327.50 17.50 257.50 0.175894 -327.50 17.50 262.50 0.225286 -327.50 17.50 267.50 0.341374 -327.50 17.50 272.50 0.507759 -327.50 17.50 277.50 0.658212 -327.50 17.50 282.50 0.768401 -327.50 17.50 287.50 0.895646 -327.50 17.50 292.50 1.05127 -327.50 17.50 297.50 1.284 -327.50 17.50 302.50 1.48102 -327.50 17.50 307.50 1.4099 -327.50 17.50 312.50 1.03144 -327.50 17.50 317.50 0.592622 -327.50 17.50 322.50 0.281275 -327.50 17.50 327.50 0.111885 -327.50 17.50 332.50 0.0422285 -327.50 17.50 337.50 0.0538102 -327.50 17.50 342.50 0.111707 -327.50 17.50 347.50 0.175894 -327.50 17.50 352.50 0.225285 -327.50 17.50 357.50 0.341373 -327.50 22.50 2.50 1.03943 -327.50 22.50 7.50 1.4243 -327.50 22.50 12.50 1.68953 -327.50 22.50 17.50 1.7923 -327.50 22.50 22.50 1.80989 -327.50 22.50 27.50 1.80113 -327.50 22.50 32.50 1.69363 -327.50 22.50 37.50 1.38431 -327.50 22.50 42.50 0.932672 -327.50 22.50 47.50 0.521484 -327.50 22.50 52.50 0.234621 -327.50 22.50 57.50 0.0816891 -327.50 22.50 62.50 0.0276614 -327.50 22.50 67.50 0.0323286 -327.50 22.50 72.50 0.0783439 -327.50 22.50 77.50 0.165008 -327.50 22.50 82.50 0.307097 -327.50 22.50 87.50 0.593795 -327.50 22.50 92.50 1.03943 -327.50 22.50 97.50 1.4243 -327.50 22.50 102.50 1.68953 -327.50 22.50 107.50 1.7923 -327.50 22.50 112.50 1.80989 -327.50 22.50 117.50 1.80113 -327.50 22.50 122.50 1.69363 -327.50 22.50 127.50 1.38431 -327.50 22.50 132.50 0.932671 -327.50 22.50 137.50 0.521484 -327.50 22.50 142.50 0.234621 -327.50 22.50 147.50 0.0816891 -327.50 22.50 152.50 0.0276614 -327.50 22.50 157.50 0.0323285 -327.50 22.50 162.50 0.0783438 -327.50 22.50 167.50 0.165007 -327.50 22.50 172.50 0.307097 -327.50 22.50 177.50 0.593794 -327.50 22.50 182.50 1.03943 -327.50 22.50 187.50 1.4243 -327.50 22.50 192.50 1.68953 -327.50 22.50 197.50 1.7923 -327.50 22.50 202.50 1.80989 -327.50 22.50 207.50 1.80113 -327.50 22.50 212.50 1.69363 -327.50 22.50 217.50 1.38431 -327.50 22.50 222.50 0.932671 -327.50 22.50 227.50 0.521484 -327.50 22.50 232.50 0.23462 -327.50 22.50 237.50 0.081689 -327.50 22.50 242.50 0.0276614 -327.50 22.50 247.50 0.0323286 -327.50 22.50 252.50 0.0783439 -327.50 22.50 257.50 0.165008 -327.50 22.50 262.50 0.307097 -327.50 22.50 267.50 0.593795 -327.50 22.50 272.50 1.03943 -327.50 22.50 277.50 1.4243 -327.50 22.50 282.50 1.68953 -327.50 22.50 287.50 1.7923 -327.50 22.50 292.50 1.80989 -327.50 22.50 297.50 1.80113 -327.50 22.50 302.50 1.69363 -327.50 22.50 307.50 1.38431 -327.50 22.50 312.50 0.932672 -327.50 22.50 317.50 0.521484 -327.50 22.50 322.50 0.234621 -327.50 22.50 327.50 0.0816894 -327.50 22.50 332.50 0.0276615 -327.50 22.50 337.50 0.0323285 -327.50 22.50 342.50 0.0783436 -327.50 22.50 347.50 0.165007 -327.50 22.50 352.50 0.307096 -327.50 22.50 357.50 0.593794 -327.50 27.50 2.50 1.8542 -327.50 27.50 7.50 2.6129 -327.50 27.50 12.50 2.99848 -327.50 27.50 17.50 2.91069 -327.50 27.50 22.50 2.5378 -327.50 27.50 27.50 2.18769 -327.50 27.50 32.50 1.79043 -327.50 27.50 37.50 1.22789 -327.50 27.50 42.50 0.704692 -327.50 27.50 47.50 0.350196 -327.50 27.50 52.50 0.151314 -327.50 27.50 57.50 0.045769 -327.50 27.50 62.50 0.0107685 -327.50 27.50 67.50 0.0144218 -327.50 27.50 72.50 0.045889 -327.50 27.50 77.50 0.152507 -327.50 27.50 82.50 0.436382 -327.50 27.50 87.50 0.974831 -327.50 27.50 92.50 1.8542 -327.50 27.50 97.50 2.6129 -327.50 27.50 102.50 2.99848 -327.50 27.50 107.50 2.91069 -327.50 27.50 112.50 2.5378 -327.50 27.50 117.50 2.18769 -327.50 27.50 122.50 1.79043 -327.50 27.50 127.50 1.22789 -327.50 27.50 132.50 0.704691 -327.50 27.50 137.50 0.350196 -327.50 27.50 142.50 0.151314 -327.50 27.50 147.50 0.045769 -327.50 27.50 152.50 0.0107685 -327.50 27.50 157.50 0.0144217 -327.50 27.50 162.50 0.045889 -327.50 27.50 167.50 0.152507 -327.50 27.50 172.50 0.436382 -327.50 27.50 177.50 0.97483 -327.50 27.50 182.50 1.8542 -327.50 27.50 187.50 2.6129 -327.50 27.50 192.50 2.99848 -327.50 27.50 197.50 2.91069 -327.50 27.50 202.50 2.5378 -327.50 27.50 207.50 2.18769 -327.50 27.50 212.50 1.79043 -327.50 27.50 217.50 1.22789 -327.50 27.50 222.50 0.704692 -327.50 27.50 227.50 0.350196 -327.50 27.50 232.50 0.151314 -327.50 27.50 237.50 0.0457689 -327.50 27.50 242.50 0.0107685 -327.50 27.50 247.50 0.0144218 -327.50 27.50 252.50 0.0458891 -327.50 27.50 257.50 0.152508 -327.50 27.50 262.50 0.436383 -327.50 27.50 267.50 0.974832 -327.50 27.50 272.50 1.8542 -327.50 27.50 277.50 2.6129 -327.50 27.50 282.50 2.99848 -327.50 27.50 287.50 2.91069 -327.50 27.50 292.50 2.5378 -327.50 27.50 297.50 2.18769 -327.50 27.50 302.50 1.79043 -327.50 27.50 307.50 1.22789 -327.50 27.50 312.50 0.704692 -327.50 27.50 317.50 0.350197 -327.50 27.50 322.50 0.151314 -327.50 27.50 327.50 0.0457692 -327.50 27.50 332.50 0.0107685 -327.50 27.50 337.50 0.0144217 -327.50 27.50 342.50 0.0458889 -327.50 27.50 347.50 0.152507 -327.50 27.50 352.50 0.436381 -327.50 27.50 357.50 0.974828 -327.50 32.50 2.50 2.76305 -327.50 32.50 7.50 3.93268 -327.50 32.50 12.50 4.32711 -327.50 32.50 17.50 3.89519 -327.50 32.50 22.50 2.95869 -327.50 32.50 27.50 2.24627 -327.50 32.50 32.50 1.58333 -327.50 32.50 37.50 0.948524 -327.50 32.50 42.50 0.455684 -327.50 32.50 47.50 0.185082 -327.50 32.50 52.50 0.0654954 -327.50 32.50 57.50 0.0208732 -327.50 32.50 62.50 0.00625912 -327.50 32.50 67.50 0.0118876 -327.50 32.50 72.50 0.0525424 -327.50 32.50 77.50 0.19514 -327.50 32.50 82.50 0.638208 -327.50 32.50 87.50 1.45577 -327.50 32.50 92.50 2.76305 -327.50 32.50 97.50 3.93268 -327.50 32.50 102.50 4.32711 -327.50 32.50 107.50 3.89519 -327.50 32.50 112.50 2.95869 -327.50 32.50 117.50 2.24627 -327.50 32.50 122.50 1.58333 -327.50 32.50 127.50 0.948523 -327.50 32.50 132.50 0.455684 -327.50 32.50 137.50 0.185082 -327.50 32.50 142.50 0.0654954 -327.50 32.50 147.50 0.0208731 -327.50 32.50 152.50 0.00625913 -327.50 32.50 157.50 0.0118875 -327.50 32.50 162.50 0.0525423 -327.50 32.50 167.50 0.195139 -327.50 32.50 172.50 0.638208 -327.50 32.50 177.50 1.45577 -327.50 32.50 182.50 2.76305 -327.50 32.50 187.50 3.93268 -327.50 32.50 192.50 4.32711 -327.50 32.50 197.50 3.89519 -327.50 32.50 202.50 2.95869 -327.50 32.50 207.50 2.24627 -327.50 32.50 212.50 1.58333 -327.50 32.50 217.50 0.948523 -327.50 32.50 222.50 0.455684 -327.50 32.50 227.50 0.185083 -327.50 32.50 232.50 0.0654952 -327.50 32.50 237.50 0.0208731 -327.50 32.50 242.50 0.00625912 -327.50 32.50 247.50 0.0118876 -327.50 32.50 252.50 0.0525425 -327.50 32.50 257.50 0.19514 -327.50 32.50 262.50 0.638209 -327.50 32.50 267.50 1.45577 -327.50 32.50 272.50 2.76305 -327.50 32.50 277.50 3.93268 -327.50 32.50 282.50 4.32711 -327.50 32.50 287.50 3.89519 -327.50 32.50 292.50 2.95869 -327.50 32.50 297.50 2.24627 -327.50 32.50 302.50 1.58333 -327.50 32.50 307.50 0.948525 -327.50 32.50 312.50 0.455684 -327.50 32.50 317.50 0.185083 -327.50 32.50 322.50 0.0654956 -327.50 32.50 327.50 0.0208732 -327.50 32.50 332.50 0.00625914 -327.50 32.50 337.50 0.0118875 -327.50 32.50 342.50 0.0525423 -327.50 32.50 347.50 0.195139 -327.50 32.50 352.50 0.638207 -327.50 32.50 357.50 1.45577 -327.50 37.50 2.50 3.51916 -327.50 37.50 7.50 4.87331 -327.50 37.50 12.50 5.20278 -327.50 37.50 17.50 4.35209 -327.50 37.50 22.50 3.0749 -327.50 37.50 27.50 2.02369 -327.50 37.50 32.50 1.23878 -327.50 37.50 37.50 0.6343 -327.50 37.50 42.50 0.242967 -327.50 37.50 47.50 0.0745025 -327.50 37.50 52.50 0.0222084 -327.50 37.50 57.50 0.00694582 -327.50 37.50 62.50 0.00937261 -327.50 37.50 67.50 0.0315765 -327.50 37.50 72.50 0.114023 -327.50 37.50 77.50 0.35245 -327.50 37.50 82.50 0.95152 -327.50 37.50 87.50 2.02116 -327.50 37.50 92.50 3.51915 -327.50 37.50 97.50 4.87331 -327.50 37.50 102.50 5.20278 -327.50 37.50 107.50 4.35209 -327.50 37.50 112.50 3.0749 -327.50 37.50 117.50 2.02369 -327.50 37.50 122.50 1.23878 -327.50 37.50 127.50 0.6343 -327.50 37.50 132.50 0.242967 -327.50 37.50 137.50 0.0745025 -327.50 37.50 142.50 0.0222084 -327.50 37.50 147.50 0.00694582 -327.50 37.50 152.50 0.0093726 -327.50 37.50 157.50 0.0315764 -327.50 37.50 162.50 0.114023 -327.50 37.50 167.50 0.352449 -327.50 37.50 172.50 0.951519 -327.50 37.50 177.50 2.02116 -327.50 37.50 182.50 3.51916 -327.50 37.50 187.50 4.87331 -327.50 37.50 192.50 5.20278 -327.50 37.50 197.50 4.35209 -327.50 37.50 202.50 3.0749 -327.50 37.50 207.50 2.02369 -327.50 37.50 212.50 1.23878 -327.50 37.50 217.50 0.6343 -327.50 37.50 222.50 0.242967 -327.50 37.50 227.50 0.0745026 -327.50 37.50 232.50 0.0222083 -327.50 37.50 237.50 0.00694582 -327.50 37.50 242.50 0.00937262 -327.50 37.50 247.50 0.0315765 -327.50 37.50 252.50 0.114024 -327.50 37.50 257.50 0.35245 -327.50 37.50 262.50 0.951521 -327.50 37.50 267.50 2.02117 -327.50 37.50 272.50 3.51916 -327.50 37.50 277.50 4.87331 -327.50 37.50 282.50 5.20278 -327.50 37.50 287.50 4.35209 -327.50 37.50 292.50 3.0749 -327.50 37.50 297.50 2.02369 -327.50 37.50 302.50 1.23878 -327.50 37.50 307.50 0.634301 -327.50 37.50 312.50 0.242967 -327.50 37.50 317.50 0.0745026 -327.50 37.50 322.50 0.0222084 -327.50 37.50 327.50 0.00694583 -327.50 37.50 332.50 0.0093726 -327.50 37.50 337.50 0.0315764 -327.50 37.50 342.50 0.114023 -327.50 37.50 347.50 0.352449 -327.50 37.50 352.50 0.951519 -327.50 37.50 357.50 2.02116 -327.50 42.50 2.50 3.96991 -327.50 42.50 7.50 5.1399 -327.50 42.50 12.50 5.29393 -327.50 42.50 17.50 4.19791 -327.50 42.50 22.50 2.74658 -327.50 42.50 27.50 1.62546 -327.50 42.50 32.50 0.858801 -327.50 42.50 37.50 0.354944 -327.50 42.50 42.50 0.105513 -327.50 42.50 47.50 0.0228353 -327.50 42.50 52.50 0.00640793 -327.50 42.50 57.50 0.0084693 -327.50 42.50 62.50 0.0331133 -327.50 42.50 67.50 0.0982462 -327.50 42.50 72.50 0.263237 -327.50 42.50 77.50 0.663799 -327.50 42.50 82.50 1.43719 -327.50 42.50 87.50 2.62754 -327.50 42.50 92.50 3.96991 -327.50 42.50 97.50 5.1399 -327.50 42.50 102.50 5.29393 -327.50 42.50 107.50 4.1979 -327.50 42.50 112.50 2.74658 -327.50 42.50 117.50 1.62546 -327.50 42.50 122.50 0.858801 -327.50 42.50 127.50 0.354944 -327.50 42.50 132.50 0.105513 -327.50 42.50 137.50 0.0228353 -327.50 42.50 142.50 0.00640793 -327.50 42.50 147.50 0.00846929 -327.50 42.50 152.50 0.0331132 -327.50 42.50 157.50 0.098246 -327.50 42.50 162.50 0.263237 -327.50 42.50 167.50 0.663798 -327.50 42.50 172.50 1.43719 -327.50 42.50 177.50 2.62754 -327.50 42.50 182.50 3.96992 -327.50 42.50 187.50 5.1399 -327.50 42.50 192.50 5.29393 -327.50 42.50 197.50 4.1979 -327.50 42.50 202.50 2.74658 -327.50 42.50 207.50 1.62546 -327.50 42.50 212.50 0.858801 -327.50 42.50 217.50 0.354945 -327.50 42.50 222.50 0.105513 -327.50 42.50 227.50 0.0228353 -327.50 42.50 232.50 0.00640792 -327.50 42.50 237.50 0.00846931 -327.50 42.50 242.50 0.0331133 -327.50 42.50 247.50 0.0982463 -327.50 42.50 252.50 0.263238 -327.50 42.50 257.50 0.663799 -327.50 42.50 262.50 1.43719 -327.50 42.50 267.50 2.62754 -327.50 42.50 272.50 3.96991 -327.50 42.50 277.50 5.1399 -327.50 42.50 282.50 5.29393 -327.50 42.50 287.50 4.1979 -327.50 42.50 292.50 2.74659 -327.50 42.50 297.50 1.62546 -327.50 42.50 302.50 0.858801 -327.50 42.50 307.50 0.354945 -327.50 42.50 312.50 0.105513 -327.50 42.50 317.50 0.0228353 -327.50 42.50 322.50 0.00640795 -327.50 42.50 327.50 0.00846929 -327.50 42.50 332.50 0.0331132 -327.50 42.50 337.50 0.098246 -327.50 42.50 342.50 0.263237 -327.50 42.50 347.50 0.663797 -327.50 42.50 352.50 1.43719 -327.50 42.50 357.50 2.62754 -327.50 47.50 2.50 4.10837 -327.50 47.50 7.50 4.74319 -327.50 47.50 12.50 4.56805 -327.50 47.50 17.50 3.36304 -327.50 47.50 22.50 2.01064 -327.50 47.50 27.50 1.05436 -327.50 47.50 32.50 0.495622 -327.50 47.50 37.50 0.174476 -327.50 47.50 42.50 0.0426948 -327.50 47.50 47.50 0.0101159 -327.50 47.50 52.50 0.007697 -327.50 47.50 57.50 0.0399895 -327.50 47.50 62.50 0.122729 -327.50 47.50 67.50 0.302599 -327.50 47.50 72.50 0.608109 -327.50 47.50 77.50 1.20033 -327.50 47.50 82.50 2.1423 -327.50 47.50 87.50 3.2602 -327.50 47.50 92.50 4.10837 -327.50 47.50 97.50 4.74319 -327.50 47.50 102.50 4.56805 -327.50 47.50 107.50 3.36304 -327.50 47.50 112.50 2.01064 -327.50 47.50 117.50 1.05436 -327.50 47.50 122.50 0.495621 -327.50 47.50 127.50 0.174476 -327.50 47.50 132.50 0.0426948 -327.50 47.50 137.50 0.0101159 -327.50 47.50 142.50 0.00769699 -327.50 47.50 147.50 0.0399895 -327.50 47.50 152.50 0.122729 -327.50 47.50 157.50 0.302598 -327.50 47.50 162.50 0.608109 -327.50 47.50 167.50 1.20033 -327.50 47.50 172.50 2.1423 -327.50 47.50 177.50 3.2602 -327.50 47.50 182.50 4.10837 -327.50 47.50 187.50 4.74319 -327.50 47.50 192.50 4.56805 -327.50 47.50 197.50 3.36304 -327.50 47.50 202.50 2.01064 -327.50 47.50 207.50 1.05436 -327.50 47.50 212.50 0.495622 -327.50 47.50 217.50 0.174477 -327.50 47.50 222.50 0.0426948 -327.50 47.50 227.50 0.0101159 -327.50 47.50 232.50 0.00769703 -327.50 47.50 237.50 0.0399896 -327.50 47.50 242.50 0.12273 -327.50 47.50 247.50 0.302599 -327.50 47.50 252.50 0.60811 -327.50 47.50 257.50 1.20034 -327.50 47.50 262.50 2.1423 -327.50 47.50 267.50 3.2602 -327.50 47.50 272.50 4.10837 -327.50 47.50 277.50 4.74319 -327.50 47.50 282.50 4.56805 -327.50 47.50 287.50 3.36304 -327.50 47.50 292.50 2.01064 -327.50 47.50 297.50 1.05437 -327.50 47.50 302.50 0.495622 -327.50 47.50 307.50 0.174477 -327.50 47.50 312.50 0.0426949 -327.50 47.50 317.50 0.0101159 -327.50 47.50 322.50 0.00769698 -327.50 47.50 327.50 0.0399895 -327.50 47.50 332.50 0.122729 -327.50 47.50 337.50 0.302598 -327.50 47.50 342.50 0.608108 -327.50 47.50 347.50 1.20033 -327.50 47.50 352.50 2.1423 -327.50 47.50 357.50 3.2602 -327.50 52.50 2.50 3.96991 -327.50 52.50 7.50 3.81272 -327.50 52.50 12.50 3.2544 -327.50 52.50 17.50 2.16952 -327.50 52.50 22.50 1.16653 -327.50 52.50 27.50 0.537619 -327.50 52.50 32.50 0.203738 -327.50 52.50 37.50 0.0729036 -327.50 52.50 42.50 0.0189451 -327.50 52.50 47.50 0.00708744 -327.50 52.50 52.50 0.0282612 -327.50 52.50 57.50 0.129828 -327.50 52.50 62.50 0.383344 -327.50 52.50 67.50 0.804091 -327.50 52.50 72.50 1.34208 -327.50 52.50 77.50 2.10616 -327.50 52.50 82.50 3.09998 -327.50 52.50 87.50 3.87971 -327.50 52.50 92.50 3.96991 -327.50 52.50 97.50 3.81272 -327.50 52.50 102.50 3.2544 -327.50 52.50 107.50 2.16953 -327.50 52.50 112.50 1.16653 -327.50 52.50 117.50 0.537619 -327.50 52.50 122.50 0.203738 -327.50 52.50 127.50 0.0729035 -327.50 52.50 132.50 0.0189451 -327.50 52.50 137.50 0.00708744 -327.50 52.50 142.50 0.0282612 -327.50 52.50 147.50 0.129828 -327.50 52.50 152.50 0.383343 -327.50 52.50 157.50 0.80409 -327.50 52.50 162.50 1.34208 -327.50 52.50 167.50 2.10616 -327.50 52.50 172.50 3.09997 -327.50 52.50 177.50 3.87971 -327.50 52.50 182.50 3.96991 -327.50 52.50 187.50 3.81272 -327.50 52.50 192.50 3.2544 -327.50 52.50 197.50 2.16953 -327.50 52.50 202.50 1.16653 -327.50 52.50 207.50 0.537619 -327.50 52.50 212.50 0.203738 -327.50 52.50 217.50 0.0729036 -327.50 52.50 222.50 0.0189451 -327.50 52.50 227.50 0.00708744 -327.50 52.50 232.50 0.0282613 -327.50 52.50 237.50 0.129828 -327.50 52.50 242.50 0.383344 -327.50 52.50 247.50 0.804091 -327.50 52.50 252.50 1.34208 -327.50 52.50 257.50 2.10616 -327.50 52.50 262.50 3.09997 -327.50 52.50 267.50 3.87971 -327.50 52.50 272.50 3.96991 -327.50 52.50 277.50 3.81272 -327.50 52.50 282.50 3.2544 -327.50 52.50 287.50 2.16953 -327.50 52.50 292.50 1.16654 -327.50 52.50 297.50 0.537619 -327.50 52.50 302.50 0.203738 -327.50 52.50 307.50 0.0729036 -327.50 52.50 312.50 0.0189451 -327.50 52.50 317.50 0.00708744 -327.50 52.50 322.50 0.0282611 -327.50 52.50 327.50 0.129827 -327.50 52.50 332.50 0.383343 -327.50 52.50 337.50 0.80409 -327.50 52.50 342.50 1.34208 -327.50 52.50 347.50 2.10616 -327.50 52.50 352.50 3.09997 -327.50 52.50 357.50 3.87971 -327.50 57.50 2.50 3.51915 -327.50 57.50 7.50 2.6262 -327.50 57.50 12.50 1.82692 -327.50 57.50 17.50 1.05389 -327.50 57.50 22.50 0.5042 -327.50 57.50 27.50 0.205573 -327.50 57.50 32.50 0.0726642 -327.50 57.50 37.50 0.0239199 -327.50 57.50 42.50 0.0108007 -327.50 57.50 47.50 0.0261523 -327.50 57.50 52.50 0.0895864 -327.50 57.50 57.50 0.316239 -327.50 57.50 62.50 0.839495 -327.50 57.50 67.50 1.65246 -327.50 57.50 72.50 2.54212 -327.50 57.50 77.50 3.39736 -327.50 57.50 82.50 4.11789 -327.50 57.50 87.50 4.29611 -327.50 57.50 92.50 3.51915 -327.50 57.50 97.50 2.6262 -327.50 57.50 102.50 1.82692 -327.50 57.50 107.50 1.05389 -327.50 57.50 112.50 0.5042 -327.50 57.50 117.50 0.205573 -327.50 57.50 122.50 0.0726641 -327.50 57.50 127.50 0.0239199 -327.50 57.50 132.50 0.0108007 -327.50 57.50 137.50 0.0261523 -327.50 57.50 142.50 0.0895863 -327.50 57.50 147.50 0.316239 -327.50 57.50 152.50 0.839494 -327.50 57.50 157.50 1.65246 -327.50 57.50 162.50 2.54212 -327.50 57.50 167.50 3.39736 -327.50 57.50 172.50 4.11788 -327.50 57.50 177.50 4.29611 -327.50 57.50 182.50 3.51915 -327.50 57.50 187.50 2.6262 -327.50 57.50 192.50 1.82692 -327.50 57.50 197.50 1.05389 -327.50 57.50 202.50 0.5042 -327.50 57.50 207.50 0.205573 -327.50 57.50 212.50 0.0726642 -327.50 57.50 217.50 0.02392 -327.50 57.50 222.50 0.0108007 -327.50 57.50 227.50 0.0261523 -327.50 57.50 232.50 0.0895869 -327.50 57.50 237.50 0.316239 -327.50 57.50 242.50 0.839496 -327.50 57.50 247.50 1.65246 -327.50 57.50 252.50 2.54212 -327.50 57.50 257.50 3.39736 -327.50 57.50 262.50 4.11789 -327.50 57.50 267.50 4.29611 -327.50 57.50 272.50 3.51915 -327.50 57.50 277.50 2.6262 -327.50 57.50 282.50 1.82692 -327.50 57.50 287.50 1.05389 -327.50 57.50 292.50 0.5042 -327.50 57.50 297.50 0.205573 -327.50 57.50 302.50 0.0726641 -327.50 57.50 307.50 0.02392 -327.50 57.50 312.50 0.0108007 -327.50 57.50 317.50 0.0261523 -327.50 57.50 322.50 0.0895862 -327.50 57.50 327.50 0.316238 -327.50 57.50 332.50 0.839494 -327.50 57.50 337.50 1.65246 -327.50 57.50 342.50 2.54212 -327.50 57.50 347.50 3.39736 -327.50 57.50 352.50 4.11789 -327.50 57.50 357.50 4.29611 -327.50 62.50 2.50 2.76305 -327.50 62.50 7.50 1.58308 -327.50 62.50 12.50 0.821724 -327.50 62.50 17.50 0.392814 -327.50 62.50 22.50 0.15771 -327.50 62.50 27.50 0.0566323 -327.50 62.50 32.50 0.0214389 -327.50 62.50 37.50 0.0127466 -327.50 62.50 42.50 0.0254595 -327.50 62.50 47.50 0.0876722 -327.50 62.50 52.50 0.259504 -327.50 62.50 57.50 0.699767 -327.50 62.50 62.50 1.52693 -327.50 62.50 67.50 2.71893 -327.50 62.50 72.50 3.88523 -327.50 62.50 77.50 4.56616 -327.50 62.50 82.50 4.70581 -327.50 62.50 87.50 4.16844 -327.50 62.50 92.50 2.76305 -327.50 62.50 97.50 1.58308 -327.50 62.50 102.50 0.821724 -327.50 62.50 107.50 0.392814 -327.50 62.50 112.50 0.157709 -327.50 62.50 117.50 0.0566321 -327.50 62.50 122.50 0.0214389 -327.50 62.50 127.50 0.0127466 -327.50 62.50 132.50 0.0254595 -327.50 62.50 137.50 0.0876721 -327.50 62.50 142.50 0.259503 -327.50 62.50 147.50 0.699767 -327.50 62.50 152.50 1.52692 -327.50 62.50 157.50 2.71893 -327.50 62.50 162.50 3.88522 -327.50 62.50 167.50 4.56616 -327.50 62.50 172.50 4.70581 -327.50 62.50 177.50 4.16844 -327.50 62.50 182.50 2.76305 -327.50 62.50 187.50 1.58308 -327.50 62.50 192.50 0.821724 -327.50 62.50 197.50 0.392813 -327.50 62.50 202.50 0.157709 -327.50 62.50 207.50 0.0566323 -327.50 62.50 212.50 0.0214389 -327.50 62.50 217.50 0.0127466 -327.50 62.50 222.50 0.0254595 -327.50 62.50 227.50 0.0876721 -327.50 62.50 232.50 0.259504 -327.50 62.50 237.50 0.699768 -327.50 62.50 242.50 1.52693 -327.50 62.50 247.50 2.71893 -327.50 62.50 252.50 3.88523 -327.50 62.50 257.50 4.56616 -327.50 62.50 262.50 4.70581 -327.50 62.50 267.50 4.16844 -327.50 62.50 272.50 2.76305 -327.50 62.50 277.50 1.58308 -327.50 62.50 282.50 0.821724 -327.50 62.50 287.50 0.392814 -327.50 62.50 292.50 0.15771 -327.50 62.50 297.50 0.0566323 -327.50 62.50 302.50 0.021439 -327.50 62.50 307.50 0.0127466 -327.50 62.50 312.50 0.0254595 -327.50 62.50 317.50 0.0876722 -327.50 62.50 322.50 0.259503 -327.50 62.50 327.50 0.699766 -327.50 62.50 332.50 1.52692 -327.50 62.50 337.50 2.71893 -327.50 62.50 342.50 3.88522 -327.50 62.50 347.50 4.56616 -327.50 62.50 352.50 4.70581 -327.50 62.50 357.50 4.16844 -327.50 67.50 2.50 1.8542 -327.50 67.50 7.50 0.852008 -327.50 67.50 12.50 0.339317 -327.50 67.50 17.50 0.121949 -327.50 67.50 22.50 0.0410491 -327.50 67.50 27.50 0.0122644 -327.50 67.50 32.50 0.00824427 -327.50 67.50 37.50 0.0164849 -327.50 67.50 42.50 0.074197 -327.50 67.50 47.50 0.247323 -327.50 67.50 52.50 0.587849 -327.50 67.50 57.50 1.22292 -327.50 67.50 62.50 2.34757 -327.50 67.50 67.50 3.72494 -327.50 67.50 72.50 4.6673 -327.50 67.50 77.50 4.86452 -327.50 67.50 82.50 4.44461 -327.50 67.50 87.50 3.37804 -327.50 67.50 92.50 1.8542 -327.50 67.50 97.50 0.852007 -327.50 67.50 102.50 0.339317 -327.50 67.50 107.50 0.121949 -327.50 67.50 112.50 0.041049 -327.50 67.50 117.50 0.0122644 -327.50 67.50 122.50 0.00824426 -327.50 67.50 127.50 0.0164849 -327.50 67.50 132.50 0.0741971 -327.50 67.50 137.50 0.247323 -327.50 67.50 142.50 0.587849 -327.50 67.50 147.50 1.22292 -327.50 67.50 152.50 2.34757 -327.50 67.50 157.50 3.72494 -327.50 67.50 162.50 4.6673 -327.50 67.50 167.50 4.86452 -327.50 67.50 172.50 4.44461 -327.50 67.50 177.50 3.37804 -327.50 67.50 182.50 1.8542 -327.50 67.50 187.50 0.852007 -327.50 67.50 192.50 0.339317 -327.50 67.50 197.50 0.121949 -327.50 67.50 202.50 0.041049 -327.50 67.50 207.50 0.0122644 -327.50 67.50 212.50 0.00824427 -327.50 67.50 217.50 0.0164849 -327.50 67.50 222.50 0.074197 -327.50 67.50 227.50 0.247323 -327.50 67.50 232.50 0.58785 -327.50 67.50 237.50 1.22293 -327.50 67.50 242.50 2.34757 -327.50 67.50 247.50 3.72494 -327.50 67.50 252.50 4.6673 -327.50 67.50 257.50 4.86452 -327.50 67.50 262.50 4.44461 -327.50 67.50 267.50 3.37803 -327.50 67.50 272.50 1.8542 -327.50 67.50 277.50 0.852008 -327.50 67.50 282.50 0.339317 -327.50 67.50 287.50 0.121949 -327.50 67.50 292.50 0.0410491 -327.50 67.50 297.50 0.0122644 -327.50 67.50 302.50 0.00824427 -327.50 67.50 307.50 0.0164849 -327.50 67.50 312.50 0.074197 -327.50 67.50 317.50 0.247323 -327.50 67.50 322.50 0.587849 -327.50 67.50 327.50 1.22292 -327.50 67.50 332.50 2.34757 -327.50 67.50 337.50 3.72493 -327.50 67.50 342.50 4.6673 -327.50 67.50 347.50 4.86452 -327.50 67.50 352.50 4.44461 -327.50 67.50 357.50 3.37804 -327.50 72.50 2.50 1.03943 -327.50 72.50 7.50 0.403743 -327.50 72.50 12.50 0.130629 -327.50 72.50 17.50 0.0382099 -327.50 72.50 22.50 0.0118953 -327.50 72.50 27.50 0.00686938 -327.50 72.50 32.50 0.0103048 -327.50 72.50 37.50 0.0350047 -327.50 72.50 42.50 0.135272 -327.50 72.50 47.50 0.386245 -327.50 72.50 52.50 0.852293 -327.50 72.50 57.50 1.59131 -327.50 72.50 62.50 2.6994 -327.50 72.50 67.50 3.82885 -327.50 72.50 72.50 4.44627 -327.50 72.50 77.50 4.18347 -327.50 72.50 82.50 3.40278 -327.50 72.50 87.50 2.24898 -327.50 72.50 92.50 1.03943 -327.50 72.50 97.50 0.403743 -327.50 72.50 102.50 0.130629 -327.50 72.50 107.50 0.0382099 -327.50 72.50 112.50 0.0118953 -327.50 72.50 117.50 0.00686939 -327.50 72.50 122.50 0.0103048 -327.50 72.50 127.50 0.0350047 -327.50 72.50 132.50 0.135272 -327.50 72.50 137.50 0.386245 -327.50 72.50 142.50 0.852292 -327.50 72.50 147.50 1.59131 -327.50 72.50 152.50 2.6994 -327.50 72.50 157.50 3.82885 -327.50 72.50 162.50 4.44627 -327.50 72.50 167.50 4.18347 -327.50 72.50 172.50 3.40279 -327.50 72.50 177.50 2.24898 -327.50 72.50 182.50 1.03943 -327.50 72.50 187.50 0.403742 -327.50 72.50 192.50 0.130629 -327.50 72.50 197.50 0.0382099 -327.50 72.50 202.50 0.0118952 -327.50 72.50 207.50 0.0068694 -327.50 72.50 212.50 0.0103048 -327.50 72.50 217.50 0.0350047 -327.50 72.50 222.50 0.135272 -327.50 72.50 227.50 0.386245 -327.50 72.50 232.50 0.852294 -327.50 72.50 237.50 1.59131 -327.50 72.50 242.50 2.6994 -327.50 72.50 247.50 3.82886 -327.50 72.50 252.50 4.44627 -327.50 72.50 257.50 4.18347 -327.50 72.50 262.50 3.40278 -327.50 72.50 267.50 2.24898 -327.50 72.50 272.50 1.03943 -327.50 72.50 277.50 0.403743 -327.50 72.50 282.50 0.130629 -327.50 72.50 287.50 0.0382099 -327.50 72.50 292.50 0.0118953 -327.50 72.50 297.50 0.00686939 -327.50 72.50 302.50 0.0103048 -327.50 72.50 307.50 0.0350046 -327.50 72.50 312.50 0.135272 -327.50 72.50 317.50 0.386244 -327.50 72.50 322.50 0.852291 -327.50 72.50 327.50 1.59131 -327.50 72.50 332.50 2.69939 -327.50 72.50 337.50 3.82885 -327.50 72.50 342.50 4.44627 -327.50 72.50 347.50 4.18347 -327.50 72.50 352.50 3.40279 -327.50 72.50 357.50 2.24898 -327.50 77.50 2.50 0.507759 -327.50 77.50 7.50 0.171068 -327.50 77.50 12.50 0.0498479 -327.50 77.50 17.50 0.0197533 -327.50 77.50 22.50 0.010016 -327.50 77.50 27.50 0.00596036 -327.50 77.50 32.50 0.015902 -327.50 77.50 37.50 0.0581528 -327.50 77.50 42.50 0.145 -327.50 77.50 47.50 0.363721 -327.50 77.50 52.50 0.776982 -327.50 77.50 57.50 1.52481 -327.50 77.50 62.50 2.3256 -327.50 77.50 67.50 2.90877 -327.50 77.50 72.50 3.09226 -327.50 77.50 77.50 2.883 -327.50 77.50 82.50 2.17851 -327.50 77.50 87.50 1.28335 -327.50 77.50 92.50 0.507759 -327.50 77.50 97.50 0.171068 -327.50 77.50 102.50 0.0498479 -327.50 77.50 107.50 0.0197533 -327.50 77.50 112.50 0.010016 -327.50 77.50 117.50 0.00596036 -327.50 77.50 122.50 0.015902 -327.50 77.50 127.50 0.0581528 -327.50 77.50 132.50 0.145001 -327.50 77.50 137.50 0.363721 -327.50 77.50 142.50 0.776982 -327.50 77.50 147.50 1.52481 -327.50 77.50 152.50 2.3256 -327.50 77.50 157.50 2.90877 -327.50 77.50 162.50 3.09226 -327.50 77.50 167.50 2.883 -327.50 77.50 172.50 2.17851 -327.50 77.50 177.50 1.28335 -327.50 77.50 182.50 0.507759 -327.50 77.50 187.50 0.171068 -327.50 77.50 192.50 0.0498479 -327.50 77.50 197.50 0.0197533 -327.50 77.50 202.50 0.010016 -327.50 77.50 207.50 0.00596036 -327.50 77.50 212.50 0.015902 -327.50 77.50 217.50 0.0581528 -327.50 77.50 222.50 0.145 -327.50 77.50 227.50 0.363721 -327.50 77.50 232.50 0.776984 -327.50 77.50 237.50 1.52482 -327.50 77.50 242.50 2.3256 -327.50 77.50 247.50 2.90877 -327.50 77.50 252.50 3.09226 -327.50 77.50 257.50 2.883 -327.50 77.50 262.50 2.17851 -327.50 77.50 267.50 1.28335 -327.50 77.50 272.50 0.507759 -327.50 77.50 277.50 0.171068 -327.50 77.50 282.50 0.0498479 -327.50 77.50 287.50 0.0197533 -327.50 77.50 292.50 0.010016 -327.50 77.50 297.50 0.00596036 -327.50 77.50 302.50 0.015902 -327.50 77.50 307.50 0.0581527 -327.50 77.50 312.50 0.145 -327.50 77.50 317.50 0.363721 -327.50 77.50 322.50 0.776982 -327.50 77.50 327.50 1.52481 -327.50 77.50 332.50 2.3256 -327.50 77.50 337.50 2.90877 -327.50 77.50 342.50 3.09226 -327.50 77.50 347.50 2.88301 -327.50 77.50 352.50 2.17851 -327.50 77.50 357.50 1.28335 -327.50 82.50 2.50 0.241647 -327.50 82.50 7.50 0.0762801 -327.50 82.50 12.50 0.0394667 -327.50 82.50 17.50 0.0349928 -327.50 82.50 22.50 0.0320291 -327.50 82.50 27.50 0.0237957 -327.50 82.50 32.50 0.0426499 -327.50 82.50 37.50 0.0806689 -327.50 82.50 42.50 0.146365 -327.50 82.50 47.50 0.297286 -327.50 82.50 52.50 0.591249 -327.50 82.50 57.50 1.06492 -327.50 82.50 62.50 1.55445 -327.50 82.50 67.50 1.74237 -327.50 82.50 72.50 1.66071 -327.50 82.50 77.50 1.43343 -327.50 82.50 82.50 1.18198 -327.50 82.50 87.50 0.674684 -327.50 82.50 92.50 0.241647 -327.50 82.50 97.50 0.07628 -327.50 82.50 102.50 0.0394667 -327.50 82.50 107.50 0.0349928 -327.50 82.50 112.50 0.0320291 -327.50 82.50 117.50 0.0237957 -327.50 82.50 122.50 0.0426499 -327.50 82.50 127.50 0.0806689 -327.50 82.50 132.50 0.146365 -327.50 82.50 137.50 0.297286 -327.50 82.50 142.50 0.591249 -327.50 82.50 147.50 1.06492 -327.50 82.50 152.50 1.55445 -327.50 82.50 157.50 1.74237 -327.50 82.50 162.50 1.66071 -327.50 82.50 167.50 1.43343 -327.50 82.50 172.50 1.18198 -327.50 82.50 177.50 0.674684 -327.50 82.50 182.50 0.241647 -327.50 82.50 187.50 0.07628 -327.50 82.50 192.50 0.0394667 -327.50 82.50 197.50 0.0349928 -327.50 82.50 202.50 0.0320291 -327.50 82.50 207.50 0.0237957 -327.50 82.50 212.50 0.0426499 -327.50 82.50 217.50 0.0806688 -327.50 82.50 222.50 0.146365 -327.50 82.50 227.50 0.297286 -327.50 82.50 232.50 0.59125 -327.50 82.50 237.50 1.06492 -327.50 82.50 242.50 1.55445 -327.50 82.50 247.50 1.74237 -327.50 82.50 252.50 1.66071 -327.50 82.50 257.50 1.43343 -327.50 82.50 262.50 1.18198 -327.50 82.50 267.50 0.674683 -327.50 82.50 272.50 0.241647 -327.50 82.50 277.50 0.07628 -327.50 82.50 282.50 0.0394667 -327.50 82.50 287.50 0.0349928 -327.50 82.50 292.50 0.0320291 -327.50 82.50 297.50 0.0237957 -327.50 82.50 302.50 0.0426499 -327.50 82.50 307.50 0.0806689 -327.50 82.50 312.50 0.146365 -327.50 82.50 317.50 0.297285 -327.50 82.50 322.50 0.591249 -327.50 82.50 327.50 1.06492 -327.50 82.50 332.50 1.55445 -327.50 82.50 337.50 1.74237 -327.50 82.50 342.50 1.66071 -327.50 82.50 347.50 1.43344 -327.50 82.50 352.50 1.18198 -327.50 82.50 357.50 0.674686 -327.50 87.50 2.50 0.116068 -327.50 87.50 7.50 0.0604836 -327.50 87.50 12.50 0.0890688 -327.50 87.50 17.50 0.0995678 -327.50 87.50 22.50 0.0805735 -327.50 87.50 27.50 0.0748525 -327.50 87.50 32.50 0.0921635 -327.50 87.50 37.50 0.117472 -327.50 87.50 42.50 0.169272 -327.50 87.50 47.50 0.270633 -327.50 87.50 52.50 0.440734 -327.50 87.50 57.50 0.674145 -327.50 87.50 62.50 0.857913 -327.50 87.50 67.50 0.848225 -327.50 87.50 72.50 0.738607 -327.50 87.50 77.50 0.660438 -327.50 87.50 82.50 0.516306 -327.50 87.50 87.50 0.311672 -327.50 87.50 92.50 0.116068 -327.50 87.50 97.50 0.0604835 -327.50 87.50 102.50 0.0890687 -327.50 87.50 107.50 0.0995678 -327.50 87.50 112.50 0.0805734 -327.50 87.50 117.50 0.0748525 -327.50 87.50 122.50 0.0921634 -327.50 87.50 127.50 0.117472 -327.50 87.50 132.50 0.169272 -327.50 87.50 137.50 0.270633 -327.50 87.50 142.50 0.440734 -327.50 87.50 147.50 0.674145 -327.50 87.50 152.50 0.857914 -327.50 87.50 157.50 0.848225 -327.50 87.50 162.50 0.738607 -327.50 87.50 167.50 0.660439 -327.50 87.50 172.50 0.516307 -327.50 87.50 177.50 0.311672 -327.50 87.50 182.50 0.116068 -327.50 87.50 187.50 0.0604835 -327.50 87.50 192.50 0.0890687 -327.50 87.50 197.50 0.0995678 -327.50 87.50 202.50 0.0805735 -327.50 87.50 207.50 0.0748525 -327.50 87.50 212.50 0.0921635 -327.50 87.50 217.50 0.117472 -327.50 87.50 222.50 0.169272 -327.50 87.50 227.50 0.270633 -327.50 87.50 232.50 0.440735 -327.50 87.50 237.50 0.674146 -327.50 87.50 242.50 0.857914 -327.50 87.50 247.50 0.848226 -327.50 87.50 252.50 0.738607 -327.50 87.50 257.50 0.660438 -327.50 87.50 262.50 0.516306 -327.50 87.50 267.50 0.311672 -327.50 87.50 272.50 0.116068 -327.50 87.50 277.50 0.0604835 -327.50 87.50 282.50 0.0890687 -327.50 87.50 287.50 0.0995678 -327.50 87.50 292.50 0.0805735 -327.50 87.50 297.50 0.0748525 -327.50 87.50 302.50 0.0921634 -327.50 87.50 307.50 0.117472 -327.50 87.50 312.50 0.169272 -327.50 87.50 317.50 0.270633 -327.50 87.50 322.50 0.440733 -327.50 87.50 327.50 0.674144 -327.50 87.50 332.50 0.857913 -327.50 87.50 337.50 0.848225 -327.50 87.50 342.50 0.738607 -327.50 87.50 347.50 0.660438 -327.50 87.50 352.50 0.516307 -327.50 87.50 357.50 0.311672 -327.50 92.50 2.50 0.0760386 -327.50 92.50 7.50 0.118632 -327.50 92.50 12.50 0.202442 -327.50 92.50 17.50 0.252722 -327.50 92.50 22.50 0.273722 -327.50 92.50 27.50 0.315205 -327.50 92.50 32.50 0.348474 -327.50 92.50 37.50 0.328532 -327.50 92.50 42.50 0.288879 -327.50 92.50 47.50 0.272742 -327.50 92.50 52.50 0.288879 -327.50 92.50 57.50 0.328532 -327.50 92.50 62.50 0.348473 -327.50 92.50 67.50 0.315204 -327.50 92.50 72.50 0.273722 -327.50 92.50 77.50 0.252721 -327.50 92.50 82.50 0.202442 -327.50 92.50 87.50 0.118631 -327.50 92.50 92.50 0.0760386 -327.50 92.50 97.50 0.118632 -327.50 92.50 102.50 0.202442 -327.50 92.50 107.50 0.252721 -327.50 92.50 112.50 0.273722 -327.50 92.50 117.50 0.315205 -327.50 92.50 122.50 0.348473 -327.50 92.50 127.50 0.328532 -327.50 92.50 132.50 0.288878 -327.50 92.50 137.50 0.272742 -327.50 92.50 142.50 0.288878 -327.50 92.50 147.50 0.328532 -327.50 92.50 152.50 0.348474 -327.50 92.50 157.50 0.315204 -327.50 92.50 162.50 0.273722 -327.50 92.50 167.50 0.252721 -327.50 92.50 172.50 0.202442 -327.50 92.50 177.50 0.118632 -327.50 92.50 182.50 0.0760386 -327.50 92.50 187.50 0.118632 -327.50 92.50 192.50 0.202442 -327.50 92.50 197.50 0.252722 -327.50 92.50 202.50 0.273722 -327.50 92.50 207.50 0.315205 -327.50 92.50 212.50 0.348474 -327.50 92.50 217.50 0.328532 -327.50 92.50 222.50 0.288879 -327.50 92.50 227.50 0.272742 -327.50 92.50 232.50 0.288879 -327.50 92.50 237.50 0.328532 -327.50 92.50 242.50 0.348473 -327.50 92.50 247.50 0.315204 -327.50 92.50 252.50 0.273722 -327.50 92.50 257.50 0.252722 -327.50 92.50 262.50 0.202441 -327.50 92.50 267.50 0.118631 -327.50 92.50 272.50 0.0760386 -327.50 92.50 277.50 0.118632 -327.50 92.50 282.50 0.202442 -327.50 92.50 287.50 0.252722 -327.50 92.50 292.50 0.273722 -327.50 92.50 297.50 0.315204 -327.50 92.50 302.50 0.348474 -327.50 92.50 307.50 0.328532 -327.50 92.50 312.50 0.288878 -327.50 92.50 317.50 0.272742 -327.50 92.50 322.50 0.288879 -327.50 92.50 327.50 0.328532 -327.50 92.50 332.50 0.348473 -327.50 92.50 337.50 0.315205 -327.50 92.50 342.50 0.273722 -327.50 92.50 347.50 0.252721 -327.50 92.50 352.50 0.202442 -327.50 92.50 357.50 0.118632 -327.50 97.50 2.50 0.116068 -327.50 97.50 7.50 0.311672 -327.50 97.50 12.50 0.516307 -327.50 97.50 17.50 0.660439 -327.50 97.50 22.50 0.738607 -327.50 97.50 27.50 0.848226 -327.50 97.50 32.50 0.857914 -327.50 97.50 37.50 0.674145 -327.50 97.50 42.50 0.440734 -327.50 97.50 47.50 0.270633 -327.50 97.50 52.50 0.169272 -327.50 97.50 57.50 0.117472 -327.50 97.50 62.50 0.0921634 -327.50 97.50 67.50 0.0748525 -327.50 97.50 72.50 0.0805735 -327.50 97.50 77.50 0.0995678 -327.50 97.50 82.50 0.0890687 -327.50 97.50 87.50 0.0604835 -327.50 97.50 92.50 0.116068 -327.50 97.50 97.50 0.311672 -327.50 97.50 102.50 0.516306 -327.50 97.50 107.50 0.660438 -327.50 97.50 112.50 0.738606 -327.50 97.50 117.50 0.848225 -327.50 97.50 122.50 0.857913 -327.50 97.50 127.50 0.674145 -327.50 97.50 132.50 0.440733 -327.50 97.50 137.50 0.270633 -327.50 97.50 142.50 0.169272 -327.50 97.50 147.50 0.117472 -327.50 97.50 152.50 0.0921635 -327.50 97.50 157.50 0.0748526 -327.50 97.50 162.50 0.0805736 -327.50 97.50 167.50 0.0995679 -327.50 97.50 172.50 0.0890687 -327.50 97.50 177.50 0.0604835 -327.50 97.50 182.50 0.116068 -327.50 97.50 187.50 0.311672 -327.50 97.50 192.50 0.516306 -327.50 97.50 197.50 0.660438 -327.50 97.50 202.50 0.738606 -327.50 97.50 207.50 0.848225 -327.50 97.50 212.50 0.857914 -327.50 97.50 217.50 0.674145 -327.50 97.50 222.50 0.440734 -327.50 97.50 227.50 0.270633 -327.50 97.50 232.50 0.169272 -327.50 97.50 237.50 0.117472 -327.50 97.50 242.50 0.0921634 -327.50 97.50 247.50 0.0748525 -327.50 97.50 252.50 0.0805736 -327.50 97.50 257.50 0.0995679 -327.50 97.50 262.50 0.0890686 -327.50 97.50 267.50 0.0604835 -327.50 97.50 272.50 0.116068 -327.50 97.50 277.50 0.311672 -327.50 97.50 282.50 0.516307 -327.50 97.50 287.50 0.660439 -327.50 97.50 292.50 0.738607 -327.50 97.50 297.50 0.848225 -327.50 97.50 302.50 0.857914 -327.50 97.50 307.50 0.674145 -327.50 97.50 312.50 0.440734 -327.50 97.50 317.50 0.270633 -327.50 97.50 322.50 0.169272 -327.50 97.50 327.50 0.117472 -327.50 97.50 332.50 0.0921635 -327.50 97.50 337.50 0.0748525 -327.50 97.50 342.50 0.0805734 -327.50 97.50 347.50 0.0995678 -327.50 97.50 352.50 0.0890688 -327.50 97.50 357.50 0.0604835 -327.50 102.50 2.50 0.241647 -327.50 102.50 7.50 0.674684 -327.50 102.50 12.50 1.18198 -327.50 102.50 17.50 1.43344 -327.50 102.50 22.50 1.66071 -327.50 102.50 27.50 1.74237 -327.50 102.50 32.50 1.55445 -327.50 102.50 37.50 1.06492 -327.50 102.50 42.50 0.59125 -327.50 102.50 47.50 0.297285 -327.50 102.50 52.50 0.146365 -327.50 102.50 57.50 0.0806688 -327.50 102.50 62.50 0.0426498 -327.50 102.50 67.50 0.0237958 -327.50 102.50 72.50 0.0320291 -327.50 102.50 77.50 0.0349928 -327.50 102.50 82.50 0.0394667 -327.50 102.50 87.50 0.0762801 -327.50 102.50 92.50 0.241648 -327.50 102.50 97.50 0.674684 -327.50 102.50 102.50 1.18198 -327.50 102.50 107.50 1.43344 -327.50 102.50 112.50 1.66071 -327.50 102.50 117.50 1.74237 -327.50 102.50 122.50 1.55445 -327.50 102.50 127.50 1.06492 -327.50 102.50 132.50 0.591249 -327.50 102.50 137.50 0.297285 -327.50 102.50 142.50 0.146365 -327.50 102.50 147.50 0.0806689 -327.50 102.50 152.50 0.0426499 -327.50 102.50 157.50 0.0237958 -327.50 102.50 162.50 0.0320291 -327.50 102.50 167.50 0.0349928 -327.50 102.50 172.50 0.0394667 -327.50 102.50 177.50 0.0762799 -327.50 102.50 182.50 0.241647 -327.50 102.50 187.50 0.674684 -327.50 102.50 192.50 1.18198 -327.50 102.50 197.50 1.43344 -327.50 102.50 202.50 1.66071 -327.50 102.50 207.50 1.74237 -327.50 102.50 212.50 1.55445 -327.50 102.50 217.50 1.06492 -327.50 102.50 222.50 0.59125 -327.50 102.50 227.50 0.297286 -327.50 102.50 232.50 0.146365 -327.50 102.50 237.50 0.0806689 -327.50 102.50 242.50 0.0426498 -327.50 102.50 247.50 0.0237958 -327.50 102.50 252.50 0.0320291 -327.50 102.50 257.50 0.0349928 -327.50 102.50 262.50 0.0394667 -327.50 102.50 267.50 0.0762801 -327.50 102.50 272.50 0.241648 -327.50 102.50 277.50 0.674684 -327.50 102.50 282.50 1.18198 -327.50 102.50 287.50 1.43343 -327.50 102.50 292.50 1.66071 -327.50 102.50 297.50 1.74237 -327.50 102.50 302.50 1.55445 -327.50 102.50 307.50 1.06492 -327.50 102.50 312.50 0.59125 -327.50 102.50 317.50 0.297286 -327.50 102.50 322.50 0.146365 -327.50 102.50 327.50 0.0806689 -327.50 102.50 332.50 0.0426499 -327.50 102.50 337.50 0.0237957 -327.50 102.50 342.50 0.0320291 -327.50 102.50 347.50 0.0349928 -327.50 102.50 352.50 0.0394667 -327.50 102.50 357.50 0.0762798 -327.50 107.50 2.50 0.507759 -327.50 107.50 7.50 1.28335 -327.50 107.50 12.50 2.17851 -327.50 107.50 17.50 2.883 -327.50 107.50 22.50 3.09226 -327.50 107.50 27.50 2.90877 -327.50 107.50 32.50 2.3256 -327.50 107.50 37.50 1.52481 -327.50 107.50 42.50 0.776982 -327.50 107.50 47.50 0.363721 -327.50 107.50 52.50 0.145 -327.50 107.50 57.50 0.0581527 -327.50 107.50 62.50 0.015902 -327.50 107.50 67.50 0.00596035 -327.50 107.50 72.50 0.010016 -327.50 107.50 77.50 0.0197533 -327.50 107.50 82.50 0.049848 -327.50 107.50 87.50 0.171068 -327.50 107.50 92.50 0.507759 -327.50 107.50 97.50 1.28335 -327.50 107.50 102.50 2.17851 -327.50 107.50 107.50 2.883 -327.50 107.50 112.50 3.09226 -327.50 107.50 117.50 2.90877 -327.50 107.50 122.50 2.3256 -327.50 107.50 127.50 1.52481 -327.50 107.50 132.50 0.776982 -327.50 107.50 137.50 0.363721 -327.50 107.50 142.50 0.145 -327.50 107.50 147.50 0.0581527 -327.50 107.50 152.50 0.015902 -327.50 107.50 157.50 0.00596036 -327.50 107.50 162.50 0.010016 -327.50 107.50 167.50 0.0197533 -327.50 107.50 172.50 0.0498479 -327.50 107.50 177.50 0.171068 -327.50 107.50 182.50 0.507759 -327.50 107.50 187.50 1.28335 -327.50 107.50 192.50 2.17851 -327.50 107.50 197.50 2.883 -327.50 107.50 202.50 3.09226 -327.50 107.50 207.50 2.90877 -327.50 107.50 212.50 2.3256 -327.50 107.50 217.50 1.52482 -327.50 107.50 222.50 0.776982 -327.50 107.50 227.50 0.363721 -327.50 107.50 232.50 0.145 -327.50 107.50 237.50 0.0581525 -327.50 107.50 242.50 0.015902 -327.50 107.50 247.50 0.00596035 -327.50 107.50 252.50 0.010016 -327.50 107.50 257.50 0.0197533 -327.50 107.50 262.50 0.049848 -327.50 107.50 267.50 0.171069 -327.50 107.50 272.50 0.507759 -327.50 107.50 277.50 1.28335 -327.50 107.50 282.50 2.17851 -327.50 107.50 287.50 2.883 -327.50 107.50 292.50 3.09226 -327.50 107.50 297.50 2.90877 -327.50 107.50 302.50 2.3256 -327.50 107.50 307.50 1.52481 -327.50 107.50 312.50 0.776983 -327.50 107.50 317.50 0.363722 -327.50 107.50 322.50 0.145001 -327.50 107.50 327.50 0.0581529 -327.50 107.50 332.50 0.015902 -327.50 107.50 337.50 0.00596036 -327.50 107.50 342.50 0.010016 -327.50 107.50 347.50 0.0197533 -327.50 107.50 352.50 0.0498478 -327.50 107.50 357.50 0.171068 -327.50 112.50 2.50 1.03943 -327.50 112.50 7.50 2.24898 -327.50 112.50 12.50 3.40278 -327.50 112.50 17.50 4.18347 -327.50 112.50 22.50 4.44627 -327.50 112.50 27.50 3.82885 -327.50 112.50 32.50 2.69939 -327.50 112.50 37.50 1.59131 -327.50 112.50 42.50 0.852292 -327.50 112.50 47.50 0.386244 -327.50 112.50 52.50 0.135272 -327.50 112.50 57.50 0.0350046 -327.50 112.50 62.50 0.0103048 -327.50 112.50 67.50 0.00686939 -327.50 112.50 72.50 0.0118953 -327.50 112.50 77.50 0.0382099 -327.50 112.50 82.50 0.130629 -327.50 112.50 87.50 0.403743 -327.50 112.50 92.50 1.03943 -327.50 112.50 97.50 2.24898 -327.50 112.50 102.50 3.40279 -327.50 112.50 107.50 4.18347 -327.50 112.50 112.50 4.44627 -327.50 112.50 117.50 3.82885 -327.50 112.50 122.50 2.6994 -327.50 112.50 127.50 1.59131 -327.50 112.50 132.50 0.852291 -327.50 112.50 137.50 0.386245 -327.50 112.50 142.50 0.135272 -327.50 112.50 147.50 0.0350046 -327.50 112.50 152.50 0.0103048 -327.50 112.50 157.50 0.00686939 -327.50 112.50 162.50 0.0118952 -327.50 112.50 167.50 0.0382099 -327.50 112.50 172.50 0.130629 -327.50 112.50 177.50 0.403743 -327.50 112.50 182.50 1.03943 -327.50 112.50 187.50 2.24898 -327.50 112.50 192.50 3.40279 -327.50 112.50 197.50 4.18347 -327.50 112.50 202.50 4.44627 -327.50 112.50 207.50 3.82885 -327.50 112.50 212.50 2.6994 -327.50 112.50 217.50 1.59131 -327.50 112.50 222.50 0.852293 -327.50 112.50 227.50 0.386245 -327.50 112.50 232.50 0.135271 -327.50 112.50 237.50 0.0350045 -327.50 112.50 242.50 0.0103048 -327.50 112.50 247.50 0.00686939 -327.50 112.50 252.50 0.0118953 -327.50 112.50 257.50 0.03821 -327.50 112.50 262.50 0.130629 -327.50 112.50 267.50 0.403743 -327.50 112.50 272.50 1.03943 -327.50 112.50 277.50 2.24898 -327.50 112.50 282.50 3.40278 -327.50 112.50 287.50 4.18347 -327.50 112.50 292.50 4.44627 -327.50 112.50 297.50 3.82885 -327.50 112.50 302.50 2.6994 -327.50 112.50 307.50 1.59131 -327.50 112.50 312.50 0.852293 -327.50 112.50 317.50 0.386245 -327.50 112.50 322.50 0.135272 -327.50 112.50 327.50 0.0350048 -327.50 112.50 332.50 0.0103049 -327.50 112.50 337.50 0.00686939 -327.50 112.50 342.50 0.0118952 -327.50 112.50 347.50 0.0382098 -327.50 112.50 352.50 0.130629 -327.50 112.50 357.50 0.403742 -327.50 117.50 2.50 1.8542 -327.50 117.50 7.50 3.37804 -327.50 117.50 12.50 4.44461 -327.50 117.50 17.50 4.86452 -327.50 117.50 22.50 4.6673 -327.50 117.50 27.50 3.72494 -327.50 117.50 32.50 2.34757 -327.50 117.50 37.50 1.22292 -327.50 117.50 42.50 0.587849 -327.50 117.50 47.50 0.247323 -327.50 117.50 52.50 0.0741969 -327.50 117.50 57.50 0.0164849 -327.50 117.50 62.50 0.00824428 -327.50 117.50 67.50 0.0122644 -327.50 117.50 72.50 0.0410491 -327.50 117.50 77.50 0.12195 -327.50 117.50 82.50 0.339317 -327.50 117.50 87.50 0.852009 -327.50 117.50 92.50 1.8542 -327.50 117.50 97.50 3.37804 -327.50 117.50 102.50 4.44461 -327.50 117.50 107.50 4.86452 -327.50 117.50 112.50 4.6673 -327.50 117.50 117.50 3.72493 -327.50 117.50 122.50 2.34757 -327.50 117.50 127.50 1.22292 -327.50 117.50 132.50 0.587849 -327.50 117.50 137.50 0.247323 -327.50 117.50 142.50 0.0741969 -327.50 117.50 147.50 0.0164849 -327.50 117.50 152.50 0.00824428 -327.50 117.50 157.50 0.0122644 -327.50 117.50 162.50 0.041049 -327.50 117.50 167.50 0.121949 -327.50 117.50 172.50 0.339317 -327.50 117.50 177.50 0.852007 -327.50 117.50 182.50 1.8542 -327.50 117.50 187.50 3.37804 -327.50 117.50 192.50 4.44461 -327.50 117.50 197.50 4.86452 -327.50 117.50 202.50 4.6673 -327.50 117.50 207.50 3.72494 -327.50 117.50 212.50 2.34757 -327.50 117.50 217.50 1.22292 -327.50 117.50 222.50 0.587849 -327.50 117.50 227.50 0.247323 -327.50 117.50 232.50 0.0741968 -327.50 117.50 237.50 0.0164849 -327.50 117.50 242.50 0.00824429 -327.50 117.50 247.50 0.0122644 -327.50 117.50 252.50 0.0410491 -327.50 117.50 257.50 0.12195 -327.50 117.50 262.50 0.339317 -327.50 117.50 267.50 0.852009 -327.50 117.50 272.50 1.8542 -327.50 117.50 277.50 3.37804 -327.50 117.50 282.50 4.44461 -327.50 117.50 287.50 4.86452 -327.50 117.50 292.50 4.6673 -327.50 117.50 297.50 3.72494 -327.50 117.50 302.50 2.34757 -327.50 117.50 307.50 1.22292 -327.50 117.50 312.50 0.587849 -327.50 117.50 317.50 0.247324 -327.50 117.50 322.50 0.074197 -327.50 117.50 327.50 0.0164849 -327.50 117.50 332.50 0.00824427 -327.50 117.50 337.50 0.0122644 -327.50 117.50 342.50 0.041049 -327.50 117.50 347.50 0.121949 -327.50 117.50 352.50 0.339316 -327.50 117.50 357.50 0.852007 -327.50 122.50 2.50 2.76305 -327.50 122.50 7.50 4.16844 -327.50 122.50 12.50 4.70581 -327.50 122.50 17.50 4.56616 -327.50 122.50 22.50 3.88523 -327.50 122.50 27.50 2.71893 -327.50 122.50 32.50 1.52692 -327.50 122.50 37.50 0.699765 -327.50 122.50 42.50 0.259503 -327.50 122.50 47.50 0.087672 -327.50 122.50 52.50 0.0254594 -327.50 122.50 57.50 0.0127466 -327.50 122.50 62.50 0.021439 -327.50 122.50 67.50 0.0566324 -327.50 122.50 72.50 0.15771 -327.50 122.50 77.50 0.392814 -327.50 122.50 82.50 0.821726 -327.50 122.50 87.50 1.58308 -327.50 122.50 92.50 2.76305 -327.50 122.50 97.50 4.16844 -327.50 122.50 102.50 4.70581 -327.50 122.50 107.50 4.56616 -327.50 122.50 112.50 3.88523 -327.50 122.50 117.50 2.71893 -327.50 122.50 122.50 1.52692 -327.50 122.50 127.50 0.699765 -327.50 122.50 132.50 0.259503 -327.50 122.50 137.50 0.087672 -327.50 122.50 142.50 0.0254594 -327.50 122.50 147.50 0.0127466 -327.50 122.50 152.50 0.0214389 -327.50 122.50 157.50 0.0566323 -327.50 122.50 162.50 0.15771 -327.50 122.50 167.50 0.392814 -327.50 122.50 172.50 0.821724 -327.50 122.50 177.50 1.58308 -327.50 122.50 182.50 2.76305 -327.50 122.50 187.50 4.16844 -327.50 122.50 192.50 4.70581 -327.50 122.50 197.50 4.56616 -327.50 122.50 202.50 3.88522 -327.50 122.50 207.50 2.71893 -327.50 122.50 212.50 1.52692 -327.50 122.50 217.50 0.699766 -327.50 122.50 222.50 0.259503 -327.50 122.50 227.50 0.0876721 -327.50 122.50 232.50 0.0254594 -327.50 122.50 237.50 0.0127466 -327.50 122.50 242.50 0.021439 -327.50 122.50 247.50 0.0566325 -327.50 122.50 252.50 0.15771 -327.50 122.50 257.50 0.392815 -327.50 122.50 262.50 0.821726 -327.50 122.50 267.50 1.58308 -327.50 122.50 272.50 2.76305 -327.50 122.50 277.50 4.16844 -327.50 122.50 282.50 4.70581 -327.50 122.50 287.50 4.56616 -327.50 122.50 292.50 3.88522 -327.50 122.50 297.50 2.71893 -327.50 122.50 302.50 1.52692 -327.50 122.50 307.50 0.699767 -327.50 122.50 312.50 0.259503 -327.50 122.50 317.50 0.0876723 -327.50 122.50 322.50 0.0254595 -327.50 122.50 327.50 0.0127466 -327.50 122.50 332.50 0.0214389 -327.50 122.50 337.50 0.0566322 -327.50 122.50 342.50 0.157709 -327.50 122.50 347.50 0.392814 -327.50 122.50 352.50 0.821724 -327.50 122.50 357.50 1.58308 -327.50 127.50 2.50 3.51915 -327.50 127.50 7.50 4.29611 -327.50 127.50 12.50 4.11789 -327.50 127.50 17.50 3.39736 -327.50 127.50 22.50 2.54212 -327.50 127.50 27.50 1.65246 -327.50 127.50 32.50 0.839494 -327.50 127.50 37.50 0.316239 -327.50 127.50 42.50 0.0895864 -327.50 127.50 47.50 0.0261523 -327.50 127.50 52.50 0.0108007 -327.50 127.50 57.50 0.02392 -327.50 127.50 62.50 0.0726643 -327.50 127.50 67.50 0.205573 -327.50 127.50 72.50 0.504201 -327.50 127.50 77.50 1.0539 -327.50 127.50 82.50 1.82692 -327.50 127.50 87.50 2.6262 -327.50 127.50 92.50 3.51916 -327.50 127.50 97.50 4.29611 -327.50 127.50 102.50 4.11789 -327.50 127.50 107.50 3.39736 -327.50 127.50 112.50 2.54212 -327.50 127.50 117.50 1.65246 -327.50 127.50 122.50 0.839494 -327.50 127.50 127.50 0.316238 -327.50 127.50 132.50 0.0895863 -327.50 127.50 137.50 0.0261522 -327.50 127.50 142.50 0.0108007 -327.50 127.50 147.50 0.0239199 -327.50 127.50 152.50 0.0726641 -327.50 127.50 157.50 0.205573 -327.50 127.50 162.50 0.5042 -327.50 127.50 167.50 1.05389 -327.50 127.50 172.50 1.82692 -327.50 127.50 177.50 2.6262 -327.50 127.50 182.50 3.51915 -327.50 127.50 187.50 4.29611 -327.50 127.50 192.50 4.11788 -327.50 127.50 197.50 3.39736 -327.50 127.50 202.50 2.54212 -327.50 127.50 207.50 1.65246 -327.50 127.50 212.50 0.839494 -327.50 127.50 217.50 0.316239 -327.50 127.50 222.50 0.0895863 -327.50 127.50 227.50 0.0261523 -327.50 127.50 232.50 0.0108007 -327.50 127.50 237.50 0.02392 -327.50 127.50 242.50 0.0726642 -327.50 127.50 247.50 0.205573 -327.50 127.50 252.50 0.504201 -327.50 127.50 257.50 1.0539 -327.50 127.50 262.50 1.82692 -327.50 127.50 267.50 2.6262 -327.50 127.50 272.50 3.51915 -327.50 127.50 277.50 4.29611 -327.50 127.50 282.50 4.11789 -327.50 127.50 287.50 3.39736 -327.50 127.50 292.50 2.54212 -327.50 127.50 297.50 1.65246 -327.50 127.50 302.50 0.839494 -327.50 127.50 307.50 0.316239 -327.50 127.50 312.50 0.0895865 -327.50 127.50 317.50 0.0261523 -327.50 127.50 322.50 0.0108007 -327.50 127.50 327.50 0.0239199 -327.50 127.50 332.50 0.0726642 -327.50 127.50 337.50 0.205573 -327.50 127.50 342.50 0.5042 -327.50 127.50 347.50 1.05389 -327.50 127.50 352.50 1.82692 -327.50 127.50 357.50 2.6262 -327.50 132.50 2.50 3.96991 -327.50 132.50 7.50 3.87971 -327.50 132.50 12.50 3.09997 -327.50 132.50 17.50 2.10616 -327.50 132.50 22.50 1.34208 -327.50 132.50 27.50 0.80409 -327.50 132.50 32.50 0.383344 -327.50 132.50 37.50 0.129828 -327.50 132.50 42.50 0.0282612 -327.50 132.50 47.50 0.00708743 -327.50 132.50 52.50 0.0189451 -327.50 132.50 57.50 0.0729036 -327.50 132.50 62.50 0.203739 -327.50 132.50 67.50 0.537619 -327.50 132.50 72.50 1.16654 -327.50 132.50 77.50 2.16953 -327.50 132.50 82.50 3.2544 -327.50 132.50 87.50 3.81272 -327.50 132.50 92.50 3.96991 -327.50 132.50 97.50 3.87971 -327.50 132.50 102.50 3.09997 -327.50 132.50 107.50 2.10616 -327.50 132.50 112.50 1.34208 -327.50 132.50 117.50 0.80409 -327.50 132.50 122.50 0.383343 -327.50 132.50 127.50 0.129828 -327.50 132.50 132.50 0.0282611 -327.50 132.50 137.50 0.00708743 -327.50 132.50 142.50 0.0189451 -327.50 132.50 147.50 0.0729036 -327.50 132.50 152.50 0.203738 -327.50 132.50 157.50 0.537619 -327.50 132.50 162.50 1.16653 -327.50 132.50 167.50 2.16953 -327.50 132.50 172.50 3.2544 -327.50 132.50 177.50 3.81272 -327.50 132.50 182.50 3.96991 -327.50 132.50 187.50 3.87971 -327.50 132.50 192.50 3.09997 -327.50 132.50 197.50 2.10616 -327.50 132.50 202.50 1.34208 -327.50 132.50 207.50 0.804091 -327.50 132.50 212.50 0.383344 -327.50 132.50 217.50 0.129828 -327.50 132.50 222.50 0.0282612 -327.50 132.50 227.50 0.00708744 -327.50 132.50 232.50 0.0189451 -327.50 132.50 237.50 0.0729037 -327.50 132.50 242.50 0.203739 -327.50 132.50 247.50 0.53762 -327.50 132.50 252.50 1.16654 -327.50 132.50 257.50 2.16953 -327.50 132.50 262.50 3.2544 -327.50 132.50 267.50 3.81273 -327.50 132.50 272.50 3.96991 -327.50 132.50 277.50 3.87971 -327.50 132.50 282.50 3.09998 -327.50 132.50 287.50 2.10616 -327.50 132.50 292.50 1.34208 -327.50 132.50 297.50 0.80409 -327.50 132.50 302.50 0.383344 -327.50 132.50 307.50 0.129828 -327.50 132.50 312.50 0.0282612 -327.50 132.50 317.50 0.00708744 -327.50 132.50 322.50 0.018945 -327.50 132.50 327.50 0.0729035 -327.50 132.50 332.50 0.203738 -327.50 132.50 337.50 0.537618 -327.50 132.50 342.50 1.16653 -327.50 132.50 347.50 2.16952 -327.50 132.50 352.50 3.2544 -327.50 132.50 357.50 3.81272 -327.50 137.50 2.50 4.10837 -327.50 137.50 7.50 3.2602 -327.50 137.50 12.50 2.1423 -327.50 137.50 17.50 1.20033 -327.50 137.50 22.50 0.608109 -327.50 137.50 27.50 0.302598 -327.50 137.50 32.50 0.122729 -327.50 137.50 37.50 0.0399895 -327.50 137.50 42.50 0.00769699 -327.50 137.50 47.50 0.0101159 -327.50 137.50 52.50 0.0426949 -327.50 137.50 57.50 0.174477 -327.50 137.50 62.50 0.495623 -327.50 137.50 67.50 1.05437 -327.50 137.50 72.50 2.01064 -327.50 137.50 77.50 3.36304 -327.50 137.50 82.50 4.56806 -327.50 137.50 87.50 4.74319 -327.50 137.50 92.50 4.10837 -327.50 137.50 97.50 3.2602 -327.50 137.50 102.50 2.1423 -327.50 137.50 107.50 1.20033 -327.50 137.50 112.50 0.608109 -327.50 137.50 117.50 0.302598 -327.50 137.50 122.50 0.122729 -327.50 137.50 127.50 0.0399894 -327.50 137.50 132.50 0.00769698 -327.50 137.50 137.50 0.0101159 -327.50 137.50 142.50 0.0426948 -327.50 137.50 147.50 0.174477 -327.50 137.50 152.50 0.495622 -327.50 137.50 157.50 1.05436 -327.50 137.50 162.50 2.01064 -327.50 137.50 167.50 3.36304 -327.50 137.50 172.50 4.56805 -327.50 137.50 177.50 4.74319 -327.50 137.50 182.50 4.10837 -327.50 137.50 187.50 3.2602 -327.50 137.50 192.50 2.1423 -327.50 137.50 197.50 1.20033 -327.50 137.50 202.50 0.608109 -327.50 137.50 207.50 0.302599 -327.50 137.50 212.50 0.122729 -327.50 137.50 217.50 0.0399896 -327.50 137.50 222.50 0.007697 -327.50 137.50 227.50 0.0101159 -327.50 137.50 232.50 0.042695 -327.50 137.50 237.50 0.174477 -327.50 137.50 242.50 0.495623 -327.50 137.50 247.50 1.05437 -327.50 137.50 252.50 2.01064 -327.50 137.50 257.50 3.36304 -327.50 137.50 262.50 4.56806 -327.50 137.50 267.50 4.74319 -327.50 137.50 272.50 4.10837 -327.50 137.50 277.50 3.2602 -327.50 137.50 282.50 2.1423 -327.50 137.50 287.50 1.20033 -327.50 137.50 292.50 0.608109 -327.50 137.50 297.50 0.302599 -327.50 137.50 302.50 0.122729 -327.50 137.50 307.50 0.0399896 -327.50 137.50 312.50 0.00769701 -327.50 137.50 317.50 0.0101159 -327.50 137.50 322.50 0.0426947 -327.50 137.50 327.50 0.174476 -327.50 137.50 332.50 0.495621 -327.50 137.50 337.50 1.05436 -327.50 137.50 342.50 2.01064 -327.50 137.50 347.50 3.36303 -327.50 137.50 352.50 4.56805 -327.50 137.50 357.50 4.74319 -327.50 142.50 2.50 3.96991 -327.50 142.50 7.50 2.62754 -327.50 142.50 12.50 1.43719 -327.50 142.50 17.50 0.663798 -327.50 142.50 22.50 0.263237 -327.50 142.50 27.50 0.0982461 -327.50 142.50 32.50 0.0331132 -327.50 142.50 37.50 0.00846929 -327.50 142.50 42.50 0.00640794 -327.50 142.50 47.50 0.0228353 -327.50 142.50 52.50 0.105513 -327.50 142.50 57.50 0.354945 -327.50 142.50 62.50 0.858802 -327.50 142.50 67.50 1.62546 -327.50 142.50 72.50 2.74659 -327.50 142.50 77.50 4.19791 -327.50 142.50 82.50 5.29393 -327.50 142.50 87.50 5.1399 -327.50 142.50 92.50 3.96991 -327.50 142.50 97.50 2.62754 -327.50 142.50 102.50 1.43719 -327.50 142.50 107.50 0.663798 -327.50 142.50 112.50 0.263237 -327.50 142.50 117.50 0.0982461 -327.50 142.50 122.50 0.0331132 -327.50 142.50 127.50 0.00846927 -327.50 142.50 132.50 0.00640793 -327.50 142.50 137.50 0.0228353 -327.50 142.50 142.50 0.105513 -327.50 142.50 147.50 0.354945 -327.50 142.50 152.50 0.858801 -327.50 142.50 157.50 1.62547 -327.50 142.50 162.50 2.74658 -327.50 142.50 167.50 4.1979 -327.50 142.50 172.50 5.29393 -327.50 142.50 177.50 5.1399 -327.50 142.50 182.50 3.96991 -327.50 142.50 187.50 2.62754 -327.50 142.50 192.50 1.43719 -327.50 142.50 197.50 0.663798 -327.50 142.50 202.50 0.263237 -327.50 142.50 207.50 0.0982462 -327.50 142.50 212.50 0.0331132 -327.50 142.50 217.50 0.0084693 -327.50 142.50 222.50 0.00640792 -327.50 142.50 227.50 0.0228352 -327.50 142.50 232.50 0.105513 -327.50 142.50 237.50 0.354945 -327.50 142.50 242.50 0.858802 -327.50 142.50 247.50 1.62547 -327.50 142.50 252.50 2.74659 -327.50 142.50 257.50 4.19791 -327.50 142.50 262.50 5.29393 -327.50 142.50 267.50 5.1399 -327.50 142.50 272.50 3.96991 -327.50 142.50 277.50 2.62754 -327.50 142.50 282.50 1.43719 -327.50 142.50 287.50 0.663799 -327.50 142.50 292.50 0.263237 -327.50 142.50 297.50 0.0982462 -327.50 142.50 302.50 0.0331133 -327.50 142.50 307.50 0.00846931 -327.50 142.50 312.50 0.00640792 -327.50 142.50 317.50 0.0228352 -327.50 142.50 322.50 0.105512 -327.50 142.50 327.50 0.354944 -327.50 142.50 332.50 0.8588 -327.50 142.50 337.50 1.62546 -327.50 142.50 342.50 2.74658 -327.50 142.50 347.50 4.1979 -327.50 142.50 352.50 5.29393 -327.50 142.50 357.50 5.13991 -327.50 147.50 2.50 3.51915 -327.50 147.50 7.50 2.02116 -327.50 147.50 12.50 0.95152 -327.50 147.50 17.50 0.352449 -327.50 147.50 22.50 0.114023 -327.50 147.50 27.50 0.0315764 -327.50 147.50 32.50 0.00937261 -327.50 147.50 37.50 0.00694583 -327.50 147.50 42.50 0.0222084 -327.50 147.50 47.50 0.0745026 -327.50 147.50 52.50 0.242967 -327.50 147.50 57.50 0.634301 -327.50 147.50 62.50 1.23878 -327.50 147.50 67.50 2.02369 -327.50 147.50 72.50 3.0749 -327.50 147.50 77.50 4.35209 -327.50 147.50 82.50 5.20278 -327.50 147.50 87.50 4.87331 -327.50 147.50 92.50 3.51915 -327.50 147.50 97.50 2.02116 -327.50 147.50 102.50 0.951519 -327.50 147.50 107.50 0.352449 -327.50 147.50 112.50 0.114023 -327.50 147.50 117.50 0.0315764 -327.50 147.50 122.50 0.0093726 -327.50 147.50 127.50 0.00694582 -327.50 147.50 132.50 0.0222084 -327.50 147.50 137.50 0.0745025 -327.50 147.50 142.50 0.242967 -327.50 147.50 147.50 0.634301 -327.50 147.50 152.50 1.23878 -327.50 147.50 157.50 2.02369 -327.50 147.50 162.50 3.0749 -327.50 147.50 167.50 4.35209 -327.50 147.50 172.50 5.20278 -327.50 147.50 177.50 4.87331 -327.50 147.50 182.50 3.51915 -327.50 147.50 187.50 2.02116 -327.50 147.50 192.50 0.951519 -327.50 147.50 197.50 0.352449 -327.50 147.50 202.50 0.114023 -327.50 147.50 207.50 0.0315765 -327.50 147.50 212.50 0.00937261 -327.50 147.50 217.50 0.00694582 -327.50 147.50 222.50 0.0222083 -327.50 147.50 227.50 0.0745024 -327.50 147.50 232.50 0.242967 -327.50 147.50 237.50 0.634302 -327.50 147.50 242.50 1.23878 -327.50 147.50 247.50 2.02369 -327.50 147.50 252.50 3.0749 -327.50 147.50 257.50 4.35209 -327.50 147.50 262.50 5.20278 -327.50 147.50 267.50 4.87331 -327.50 147.50 272.50 3.51915 -327.50 147.50 277.50 2.02116 -327.50 147.50 282.50 0.95152 -327.50 147.50 287.50 0.35245 -327.50 147.50 292.50 0.114023 -327.50 147.50 297.50 0.0315765 -327.50 147.50 302.50 0.00937262 -327.50 147.50 307.50 0.00694582 -327.50 147.50 312.50 0.0222083 -327.50 147.50 317.50 0.0745024 -327.50 147.50 322.50 0.242966 -327.50 147.50 327.50 0.6343 -327.50 147.50 332.50 1.23878 -327.50 147.50 337.50 2.02369 -327.50 147.50 342.50 3.07489 -327.50 147.50 347.50 4.35209 -327.50 147.50 352.50 5.20278 -327.50 147.50 357.50 4.87331 -327.50 152.50 2.50 2.76305 -327.50 152.50 7.50 1.45577 -327.50 152.50 12.50 0.638208 -327.50 152.50 17.50 0.195139 -327.50 152.50 22.50 0.0525424 -327.50 152.50 27.50 0.0118875 -327.50 152.50 32.50 0.00625913 -327.50 152.50 37.50 0.0208732 -327.50 152.50 42.50 0.0654954 -327.50 152.50 47.50 0.185082 -327.50 152.50 52.50 0.455684 -327.50 152.50 57.50 0.948524 -327.50 152.50 62.50 1.58333 -327.50 152.50 67.50 2.24627 -327.50 152.50 72.50 2.95869 -327.50 152.50 77.50 3.89519 -327.50 152.50 82.50 4.32711 -327.50 152.50 87.50 3.93268 -327.50 152.50 92.50 2.76305 -327.50 152.50 97.50 1.45577 -327.50 152.50 102.50 0.638208 -327.50 152.50 107.50 0.195139 -327.50 152.50 112.50 0.0525424 -327.50 152.50 117.50 0.0118875 -327.50 152.50 122.50 0.00625913 -327.50 152.50 127.50 0.0208732 -327.50 152.50 132.50 0.0654954 -327.50 152.50 137.50 0.185082 -327.50 152.50 142.50 0.455684 -327.50 152.50 147.50 0.948524 -327.50 152.50 152.50 1.58333 -327.50 152.50 157.50 2.24627 -327.50 152.50 162.50 2.95869 -327.50 152.50 167.50 3.89519 -327.50 152.50 172.50 4.32711 -327.50 152.50 177.50 3.93269 -327.50 152.50 182.50 2.76305 -327.50 152.50 187.50 1.45577 -327.50 152.50 192.50 0.638208 -327.50 152.50 197.50 0.195139 -327.50 152.50 202.50 0.0525424 -327.50 152.50 207.50 0.0118876 -327.50 152.50 212.50 0.00625913 -327.50 152.50 217.50 0.0208731 -327.50 152.50 222.50 0.0654954 -327.50 152.50 227.50 0.185082 -327.50 152.50 232.50 0.455685 -327.50 152.50 237.50 0.948525 -327.50 152.50 242.50 1.58333 -327.50 152.50 247.50 2.24627 -327.50 152.50 252.50 2.9587 -327.50 152.50 257.50 3.89519 -327.50 152.50 262.50 4.32711 -327.50 152.50 267.50 3.93268 -327.50 152.50 272.50 2.76305 -327.50 152.50 277.50 1.45577 -327.50 152.50 282.50 0.638209 -327.50 152.50 287.50 0.19514 -327.50 152.50 292.50 0.0525424 -327.50 152.50 297.50 0.0118876 -327.50 152.50 302.50 0.00625912 -327.50 152.50 307.50 0.0208731 -327.50 152.50 312.50 0.0654953 -327.50 152.50 317.50 0.185082 -327.50 152.50 322.50 0.455684 -327.50 152.50 327.50 0.948523 -327.50 152.50 332.50 1.58333 -327.50 152.50 337.50 2.24627 -327.50 152.50 342.50 2.95869 -327.50 152.50 347.50 3.89519 -327.50 152.50 352.50 4.32711 -327.50 152.50 357.50 3.93269 -327.50 157.50 2.50 1.8542 -327.50 157.50 7.50 0.974831 -327.50 157.50 12.50 0.436382 -327.50 157.50 17.50 0.152507 -327.50 157.50 22.50 0.045889 -327.50 157.50 27.50 0.0144217 -327.50 157.50 32.50 0.0107685 -327.50 157.50 37.50 0.0457691 -327.50 157.50 42.50 0.151314 -327.50 157.50 47.50 0.350196 -327.50 157.50 52.50 0.704692 -327.50 157.50 57.50 1.22789 -327.50 157.50 62.50 1.79043 -327.50 157.50 67.50 2.18769 -327.50 157.50 72.50 2.5378 -327.50 157.50 77.50 2.91069 -327.50 157.50 82.50 2.99848 -327.50 157.50 87.50 2.6129 -327.50 157.50 92.50 1.8542 -327.50 157.50 97.50 0.974831 -327.50 157.50 102.50 0.436382 -327.50 157.50 107.50 0.152507 -327.50 157.50 112.50 0.045889 -327.50 157.50 117.50 0.0144217 -327.50 157.50 122.50 0.0107685 -327.50 157.50 127.50 0.0457691 -327.50 157.50 132.50 0.151314 -327.50 157.50 137.50 0.350196 -327.50 157.50 142.50 0.704692 -327.50 157.50 147.50 1.22789 -327.50 157.50 152.50 1.79043 -327.50 157.50 157.50 2.18769 -327.50 157.50 162.50 2.5378 -327.50 157.50 167.50 2.91069 -327.50 157.50 172.50 2.99848 -327.50 157.50 177.50 2.6129 -327.50 157.50 182.50 1.8542 -327.50 157.50 187.50 0.97483 -327.50 157.50 192.50 0.436382 -327.50 157.50 197.50 0.152507 -327.50 157.50 202.50 0.045889 -327.50 157.50 207.50 0.0144217 -327.50 157.50 212.50 0.0107685 -327.50 157.50 217.50 0.045769 -327.50 157.50 222.50 0.151314 -327.50 157.50 227.50 0.350196 -327.50 157.50 232.50 0.704693 -327.50 157.50 237.50 1.22789 -327.50 157.50 242.50 1.79043 -327.50 157.50 247.50 2.18769 -327.50 157.50 252.50 2.5378 -327.50 157.50 257.50 2.91069 -327.50 157.50 262.50 2.99848 -327.50 157.50 267.50 2.6129 -327.50 157.50 272.50 1.8542 -327.50 157.50 277.50 0.974831 -327.50 157.50 282.50 0.436382 -327.50 157.50 287.50 0.152507 -327.50 157.50 292.50 0.045889 -327.50 157.50 297.50 0.0144217 -327.50 157.50 302.50 0.0107685 -327.50 157.50 307.50 0.045769 -327.50 157.50 312.50 0.151314 -327.50 157.50 317.50 0.350196 -327.50 157.50 322.50 0.704691 -327.50 157.50 327.50 1.22789 -327.50 157.50 332.50 1.79043 -327.50 157.50 337.50 2.18769 -327.50 157.50 342.50 2.5378 -327.50 157.50 347.50 2.91069 -327.50 157.50 352.50 2.99848 -327.50 157.50 357.50 2.61291 -327.50 162.50 2.50 1.03943 -327.50 162.50 7.50 0.593795 -327.50 162.50 12.50 0.307097 -327.50 162.50 17.50 0.165007 -327.50 162.50 22.50 0.0783437 -327.50 162.50 27.50 0.0323285 -327.50 162.50 32.50 0.0276615 -327.50 162.50 37.50 0.0816893 -327.50 162.50 42.50 0.234621 -327.50 162.50 47.50 0.521484 -327.50 162.50 52.50 0.932672 -327.50 162.50 57.50 1.38431 -327.50 162.50 62.50 1.69363 -327.50 162.50 67.50 1.80113 -327.50 162.50 72.50 1.80989 -327.50 162.50 77.50 1.7923 -327.50 162.50 82.50 1.68953 -327.50 162.50 87.50 1.4243 -327.50 162.50 92.50 1.03943 -327.50 162.50 97.50 0.593795 -327.50 162.50 102.50 0.307097 -327.50 162.50 107.50 0.165007 -327.50 162.50 112.50 0.0783438 -327.50 162.50 117.50 0.0323285 -327.50 162.50 122.50 0.0276615 -327.50 162.50 127.50 0.0816894 -327.50 162.50 132.50 0.234621 -327.50 162.50 137.50 0.521484 -327.50 162.50 142.50 0.932672 -327.50 162.50 147.50 1.38431 -327.50 162.50 152.50 1.69363 -327.50 162.50 157.50 1.80113 -327.50 162.50 162.50 1.80989 -327.50 162.50 167.50 1.7923 -327.50 162.50 172.50 1.68953 -327.50 162.50 177.50 1.4243 -327.50 162.50 182.50 1.03943 -327.50 162.50 187.50 0.593795 -327.50 162.50 192.50 0.307097 -327.50 162.50 197.50 0.165007 -327.50 162.50 202.50 0.0783437 -327.50 162.50 207.50 0.0323285 -327.50 162.50 212.50 0.0276615 -327.50 162.50 217.50 0.0816892 -327.50 162.50 222.50 0.234621 -327.50 162.50 227.50 0.521483 -327.50 162.50 232.50 0.932673 -327.50 162.50 237.50 1.38431 -327.50 162.50 242.50 1.69363 -327.50 162.50 247.50 1.80113 -327.50 162.50 252.50 1.80989 -327.50 162.50 257.50 1.79231 -327.50 162.50 262.50 1.68953 -327.50 162.50 267.50 1.42429 -327.50 162.50 272.50 1.03943 -327.50 162.50 277.50 0.593795 -327.50 162.50 282.50 0.307097 -327.50 162.50 287.50 0.165007 -327.50 162.50 292.50 0.0783438 -327.50 162.50 297.50 0.0323285 -327.50 162.50 302.50 0.0276614 -327.50 162.50 307.50 0.0816891 -327.50 162.50 312.50 0.234621 -327.50 162.50 317.50 0.521483 -327.50 162.50 322.50 0.932671 -327.50 162.50 327.50 1.38431 -327.50 162.50 332.50 1.69363 -327.50 162.50 337.50 1.80113 -327.50 162.50 342.50 1.80989 -327.50 162.50 347.50 1.7923 -327.50 162.50 352.50 1.68953 -327.50 162.50 357.50 1.4243 -327.50 167.50 2.50 0.50776 -327.50 167.50 7.50 0.341373 -327.50 167.50 12.50 0.225285 -327.50 167.50 17.50 0.175894 -327.50 167.50 22.50 0.111707 -327.50 167.50 27.50 0.0538102 -327.50 167.50 32.50 0.0422284 -327.50 167.50 37.50 0.111885 -327.50 167.50 42.50 0.281274 -327.50 167.50 47.50 0.592621 -327.50 167.50 52.50 1.03144 -327.50 167.50 57.50 1.4099 -327.50 167.50 62.50 1.48102 -327.50 167.50 67.50 1.284 -327.50 167.50 72.50 1.05127 -327.50 167.50 77.50 0.895646 -327.50 167.50 82.50 0.768401 -327.50 167.50 87.50 0.658212 -327.50 167.50 92.50 0.50776 -327.50 167.50 97.50 0.341373 -327.50 167.50 102.50 0.225285 -327.50 167.50 107.50 0.175894 -327.50 167.50 112.50 0.111707 -327.50 167.50 117.50 0.0538101 -327.50 167.50 122.50 0.0422285 -327.50 167.50 127.50 0.111885 -327.50 167.50 132.50 0.281275 -327.50 167.50 137.50 0.592621 -327.50 167.50 142.50 1.03144 -327.50 167.50 147.50 1.4099 -327.50 167.50 152.50 1.48102 -327.50 167.50 157.50 1.284 -327.50 167.50 162.50 1.05127 -327.50 167.50 167.50 0.895646 -327.50 167.50 172.50 0.768402 -327.50 167.50 177.50 0.658212 -327.50 167.50 182.50 0.507759 -327.50 167.50 187.50 0.341373 -327.50 167.50 192.50 0.225285 -327.50 167.50 197.50 0.175894 -327.50 167.50 202.50 0.111707 -327.50 167.50 207.50 0.0538102 -327.50 167.50 212.50 0.0422284 -327.50 167.50 217.50 0.111885 -327.50 167.50 222.50 0.281274 -327.50 167.50 227.50 0.592621 -327.50 167.50 232.50 1.03144 -327.50 167.50 237.50 1.4099 -327.50 167.50 242.50 1.48102 -327.50 167.50 247.50 1.284 -327.50 167.50 252.50 1.05127 -327.50 167.50 257.50 0.895646 -327.50 167.50 262.50 0.768402 -327.50 167.50 267.50 0.658212 -327.50 167.50 272.50 0.507759 -327.50 167.50 277.50 0.341373 -327.50 167.50 282.50 0.225285 -327.50 167.50 287.50 0.175894 -327.50 167.50 292.50 0.111707 -327.50 167.50 297.50 0.0538103 -327.50 167.50 302.50 0.0422284 -327.50 167.50 307.50 0.111885 -327.50 167.50 312.50 0.281274 -327.50 167.50 317.50 0.59262 -327.50 167.50 322.50 1.03144 -327.50 167.50 327.50 1.4099 -327.50 167.50 332.50 1.48102 -327.50 167.50 337.50 1.284 -327.50 167.50 342.50 1.05127 -327.50 167.50 347.50 0.895646 -327.50 167.50 352.50 0.768402 -327.50 167.50 357.50 0.658212 -327.50 172.50 2.50 0.241648 -327.50 172.50 7.50 0.200088 -327.50 172.50 12.50 0.170538 -327.50 172.50 17.50 0.142121 -327.50 172.50 22.50 0.104071 -327.50 172.50 27.50 0.0602944 -327.50 172.50 32.50 0.0491385 -327.50 172.50 37.50 0.101965 -327.50 172.50 42.50 0.253803 -327.50 172.50 47.50 0.554749 -327.50 172.50 52.50 0.96771 -327.50 172.50 57.50 1.23544 -327.50 172.50 62.50 1.14639 -327.50 172.50 67.50 0.820781 -327.50 172.50 72.50 0.520798 -327.50 172.50 77.50 0.35721 -327.50 172.50 82.50 0.303618 -327.50 172.50 87.50 0.277079 -327.50 172.50 92.50 0.241648 -327.50 172.50 97.50 0.200088 -327.50 172.50 102.50 0.170538 -327.50 172.50 107.50 0.142121 -327.50 172.50 112.50 0.104071 -327.50 172.50 117.50 0.0602943 -327.50 172.50 122.50 0.0491385 -327.50 172.50 127.50 0.101965 -327.50 172.50 132.50 0.253803 -327.50 172.50 137.50 0.554749 -327.50 172.50 142.50 0.96771 -327.50 172.50 147.50 1.23544 -327.50 172.50 152.50 1.14639 -327.50 172.50 157.50 0.820781 -327.50 172.50 162.50 0.520799 -327.50 172.50 167.50 0.35721 -327.50 172.50 172.50 0.303618 -327.50 172.50 177.50 0.277079 -327.50 172.50 182.50 0.241648 -327.50 172.50 187.50 0.200088 -327.50 172.50 192.50 0.170538 -327.50 172.50 197.50 0.142121 -327.50 172.50 202.50 0.104071 -327.50 172.50 207.50 0.0602944 -327.50 172.50 212.50 0.0491385 -327.50 172.50 217.50 0.101965 -327.50 172.50 222.50 0.253803 -327.50 172.50 227.50 0.55475 -327.50 172.50 232.50 0.967711 -327.50 172.50 237.50 1.23544 -327.50 172.50 242.50 1.14639 -327.50 172.50 247.50 0.820781 -327.50 172.50 252.50 0.520798 -327.50 172.50 257.50 0.35721 -327.50 172.50 262.50 0.303618 -327.50 172.50 267.50 0.277079 -327.50 172.50 272.50 0.241648 -327.50 172.50 277.50 0.200088 -327.50 172.50 282.50 0.170538 -327.50 172.50 287.50 0.142121 -327.50 172.50 292.50 0.104071 -327.50 172.50 297.50 0.0602944 -327.50 172.50 302.50 0.0491385 -327.50 172.50 307.50 0.101965 -327.50 172.50 312.50 0.253803 -327.50 172.50 317.50 0.554749 -327.50 172.50 322.50 0.967709 -327.50 172.50 327.50 1.23544 -327.50 172.50 332.50 1.14639 -327.50 172.50 337.50 0.820782 -327.50 172.50 342.50 0.520799 -327.50 172.50 347.50 0.357211 -327.50 172.50 352.50 0.303618 -327.50 172.50 357.50 0.277079 -327.50 177.50 2.50 0.116068 -327.50 177.50 7.50 0.114934 -327.50 177.50 12.50 0.110487 -327.50 177.50 17.50 0.103349 -327.50 177.50 22.50 0.0829734 -327.50 177.50 27.50 0.0545771 -327.50 177.50 32.50 0.0411976 -327.50 177.50 37.50 0.0734263 -327.50 177.50 42.50 0.182192 -327.50 177.50 47.50 0.423002 -327.50 177.50 52.50 0.764687 -327.50 177.50 57.50 0.961442 -327.50 177.50 62.50 0.816791 -327.50 177.50 67.50 0.493237 -327.50 177.50 72.50 0.242646 -327.50 177.50 77.50 0.130088 -327.50 177.50 82.50 0.104517 -327.50 177.50 87.50 0.109438 -327.50 177.50 92.50 0.116068 -327.50 177.50 97.50 0.114934 -327.50 177.50 102.50 0.110487 -327.50 177.50 107.50 0.103349 -327.50 177.50 112.50 0.0829734 -327.50 177.50 117.50 0.0545771 -327.50 177.50 122.50 0.0411976 -327.50 177.50 127.50 0.0734264 -327.50 177.50 132.50 0.182193 -327.50 177.50 137.50 0.423002 -327.50 177.50 142.50 0.764687 -327.50 177.50 147.50 0.961442 -327.50 177.50 152.50 0.816791 -327.50 177.50 157.50 0.493236 -327.50 177.50 162.50 0.242646 -327.50 177.50 167.50 0.130088 -327.50 177.50 172.50 0.104517 -327.50 177.50 177.50 0.109438 -327.50 177.50 182.50 0.116068 -327.50 177.50 187.50 0.114934 -327.50 177.50 192.50 0.110487 -327.50 177.50 197.50 0.103349 -327.50 177.50 202.50 0.0829734 -327.50 177.50 207.50 0.0545772 -327.50 177.50 212.50 0.0411976 -327.50 177.50 217.50 0.0734262 -327.50 177.50 222.50 0.182193 -327.50 177.50 227.50 0.423002 -327.50 177.50 232.50 0.764688 -327.50 177.50 237.50 0.961442 -327.50 177.50 242.50 0.81679 -327.50 177.50 247.50 0.493236 -327.50 177.50 252.50 0.242646 -327.50 177.50 257.50 0.130088 -327.50 177.50 262.50 0.104517 -327.50 177.50 267.50 0.109438 -327.50 177.50 272.50 0.116068 -327.50 177.50 277.50 0.114934 -327.50 177.50 282.50 0.110487 -327.50 177.50 287.50 0.103349 -327.50 177.50 292.50 0.0829734 -327.50 177.50 297.50 0.0545772 -327.50 177.50 302.50 0.0411975 -327.50 177.50 307.50 0.0734262 -327.50 177.50 312.50 0.182192 -327.50 177.50 317.50 0.423002 -327.50 177.50 322.50 0.764687 -327.50 177.50 327.50 0.961442 -327.50 177.50 332.50 0.816791 -327.50 177.50 337.50 0.493237 -327.50 177.50 342.50 0.242646 -327.50 177.50 347.50 0.130089 -327.50 177.50 352.50 0.104517 -327.50 177.50 357.50 0.109438 -332.50 2.50 2.50 0.0601603 -332.50 2.50 7.50 0.048522 -332.50 2.50 12.50 0.0624685 -332.50 2.50 17.50 0.149977 -332.50 2.50 22.50 0.393272 -332.50 2.50 27.50 0.773178 -332.50 2.50 32.50 0.980476 -332.50 2.50 37.50 0.773179 -332.50 2.50 42.50 0.393273 -332.50 2.50 47.50 0.149977 -332.50 2.50 52.50 0.0624686 -332.50 2.50 57.50 0.0485219 -332.50 2.50 62.50 0.0601603 -332.50 2.50 67.50 0.0760385 -332.50 2.50 72.50 0.083846 -332.50 2.50 77.50 0.084539 -332.50 2.50 82.50 0.083846 -332.50 2.50 87.50 0.0760386 -332.50 2.50 92.50 0.0601603 -332.50 2.50 97.50 0.048522 -332.50 2.50 102.50 0.0624685 -332.50 2.50 107.50 0.149977 -332.50 2.50 112.50 0.393272 -332.50 2.50 117.50 0.773178 -332.50 2.50 122.50 0.980476 -332.50 2.50 127.50 0.773179 -332.50 2.50 132.50 0.393273 -332.50 2.50 137.50 0.149977 -332.50 2.50 142.50 0.0624686 -332.50 2.50 147.50 0.0485219 -332.50 2.50 152.50 0.0601603 -332.50 2.50 157.50 0.0760385 -332.50 2.50 162.50 0.083846 -332.50 2.50 167.50 0.084539 -332.50 2.50 172.50 0.083846 -332.50 2.50 177.50 0.0760386 -332.50 2.50 182.50 0.0601603 -332.50 2.50 187.50 0.0485219 -332.50 2.50 192.50 0.0624686 -332.50 2.50 197.50 0.149977 -332.50 2.50 202.50 0.393272 -332.50 2.50 207.50 0.773178 -332.50 2.50 212.50 0.980476 -332.50 2.50 217.50 0.773179 -332.50 2.50 222.50 0.393273 -332.50 2.50 227.50 0.149977 -332.50 2.50 232.50 0.0624686 -332.50 2.50 237.50 0.0485219 -332.50 2.50 242.50 0.0601603 -332.50 2.50 247.50 0.0760385 -332.50 2.50 252.50 0.083846 -332.50 2.50 257.50 0.084539 -332.50 2.50 262.50 0.083846 -332.50 2.50 267.50 0.0760385 -332.50 2.50 272.50 0.0601603 -332.50 2.50 277.50 0.048522 -332.50 2.50 282.50 0.0624685 -332.50 2.50 287.50 0.149977 -332.50 2.50 292.50 0.393272 -332.50 2.50 297.50 0.773178 -332.50 2.50 302.50 0.980476 -332.50 2.50 307.50 0.773179 -332.50 2.50 312.50 0.393273 -332.50 2.50 317.50 0.149977 -332.50 2.50 322.50 0.0624687 -332.50 2.50 327.50 0.0485219 -332.50 2.50 332.50 0.0601602 -332.50 2.50 337.50 0.0760385 -332.50 2.50 342.50 0.083846 -332.50 2.50 347.50 0.084539 -332.50 2.50 352.50 0.083846 -332.50 2.50 357.50 0.0760386 -332.50 7.50 2.50 0.100121 -332.50 7.50 7.50 0.0945822 -332.50 7.50 12.50 0.114763 -332.50 7.50 17.50 0.226977 -332.50 7.50 22.50 0.502347 -332.50 7.50 27.50 0.859325 -332.50 7.50 32.50 1.00586 -332.50 7.50 37.50 0.781005 -332.50 7.50 42.50 0.416235 -332.50 7.50 47.50 0.173853 -332.50 7.50 52.50 0.0718401 -332.50 7.50 57.50 0.0410789 -332.50 7.50 62.50 0.0465597 -332.50 7.50 67.50 0.0748372 -332.50 7.50 72.50 0.0979377 -332.50 7.50 77.50 0.105452 -332.50 7.50 82.50 0.106938 -332.50 7.50 87.50 0.106232 -332.50 7.50 92.50 0.100121 -332.50 7.50 97.50 0.0945822 -332.50 7.50 102.50 0.114763 -332.50 7.50 107.50 0.226977 -332.50 7.50 112.50 0.502348 -332.50 7.50 117.50 0.859325 -332.50 7.50 122.50 1.00586 -332.50 7.50 127.50 0.781005 -332.50 7.50 132.50 0.416235 -332.50 7.50 137.50 0.173853 -332.50 7.50 142.50 0.0718401 -332.50 7.50 147.50 0.041079 -332.50 7.50 152.50 0.0465597 -332.50 7.50 157.50 0.0748372 -332.50 7.50 162.50 0.0979377 -332.50 7.50 167.50 0.105452 -332.50 7.50 172.50 0.106938 -332.50 7.50 177.50 0.106232 -332.50 7.50 182.50 0.100121 -332.50 7.50 187.50 0.0945822 -332.50 7.50 192.50 0.114763 -332.50 7.50 197.50 0.226978 -332.50 7.50 202.50 0.502348 -332.50 7.50 207.50 0.859324 -332.50 7.50 212.50 1.00586 -332.50 7.50 217.50 0.781005 -332.50 7.50 222.50 0.416235 -332.50 7.50 227.50 0.173853 -332.50 7.50 232.50 0.07184 -332.50 7.50 237.50 0.041079 -332.50 7.50 242.50 0.0465597 -332.50 7.50 247.50 0.0748372 -332.50 7.50 252.50 0.0979375 -332.50 7.50 257.50 0.105452 -332.50 7.50 262.50 0.106938 -332.50 7.50 267.50 0.106232 -332.50 7.50 272.50 0.100121 -332.50 7.50 277.50 0.0945822 -332.50 7.50 282.50 0.114763 -332.50 7.50 287.50 0.226978 -332.50 7.50 292.50 0.502347 -332.50 7.50 297.50 0.859323 -332.50 7.50 302.50 1.00586 -332.50 7.50 307.50 0.781005 -332.50 7.50 312.50 0.416235 -332.50 7.50 317.50 0.173854 -332.50 7.50 322.50 0.0718402 -332.50 7.50 327.50 0.041079 -332.50 7.50 332.50 0.0465597 -332.50 7.50 337.50 0.0748371 -332.50 7.50 342.50 0.0979376 -332.50 7.50 347.50 0.105452 -332.50 7.50 352.50 0.106938 -332.50 7.50 357.50 0.106232 -332.50 12.50 2.50 0.23184 -332.50 12.50 7.50 0.259509 -332.50 12.50 12.50 0.304765 -332.50 12.50 17.50 0.461095 -332.50 12.50 22.50 0.815158 -332.50 12.50 27.50 1.20655 -332.50 12.50 32.50 1.30522 -332.50 12.50 37.50 1.00249 -332.50 12.50 42.50 0.562383 -332.50 12.50 47.50 0.252107 -332.50 12.50 52.50 0.100429 -332.50 12.50 57.50 0.044108 -332.50 12.50 62.50 0.0498096 -332.50 12.50 67.50 0.0951407 -332.50 12.50 72.50 0.140385 -332.50 12.50 77.50 0.150042 -332.50 12.50 82.50 0.163188 -332.50 12.50 87.50 0.195649 -332.50 12.50 92.50 0.23184 -332.50 12.50 97.50 0.259509 -332.50 12.50 102.50 0.304765 -332.50 12.50 107.50 0.461095 -332.50 12.50 112.50 0.815157 -332.50 12.50 117.50 1.20655 -332.50 12.50 122.50 1.30522 -332.50 12.50 127.50 1.00249 -332.50 12.50 132.50 0.562383 -332.50 12.50 137.50 0.252107 -332.50 12.50 142.50 0.100429 -332.50 12.50 147.50 0.044108 -332.50 12.50 152.50 0.0498095 -332.50 12.50 157.50 0.0951406 -332.50 12.50 162.50 0.140385 -332.50 12.50 167.50 0.150042 -332.50 12.50 172.50 0.163188 -332.50 12.50 177.50 0.195649 -332.50 12.50 182.50 0.23184 -332.50 12.50 187.50 0.259509 -332.50 12.50 192.50 0.304766 -332.50 12.50 197.50 0.461096 -332.50 12.50 202.50 0.815158 -332.50 12.50 207.50 1.20655 -332.50 12.50 212.50 1.30522 -332.50 12.50 217.50 1.00249 -332.50 12.50 222.50 0.562384 -332.50 12.50 227.50 0.252107 -332.50 12.50 232.50 0.100429 -332.50 12.50 237.50 0.044108 -332.50 12.50 242.50 0.0498097 -332.50 12.50 247.50 0.0951407 -332.50 12.50 252.50 0.140385 -332.50 12.50 257.50 0.150042 -332.50 12.50 262.50 0.163188 -332.50 12.50 267.50 0.195649 -332.50 12.50 272.50 0.23184 -332.50 12.50 277.50 0.259509 -332.50 12.50 282.50 0.304766 -332.50 12.50 287.50 0.461096 -332.50 12.50 292.50 0.815158 -332.50 12.50 297.50 1.20655 -332.50 12.50 302.50 1.30522 -332.50 12.50 307.50 1.00249 -332.50 12.50 312.50 0.562384 -332.50 12.50 317.50 0.252107 -332.50 12.50 322.50 0.100429 -332.50 12.50 327.50 0.0441081 -332.50 12.50 332.50 0.0498095 -332.50 12.50 337.50 0.0951404 -332.50 12.50 342.50 0.140385 -332.50 12.50 347.50 0.150042 -332.50 12.50 352.50 0.163188 -332.50 12.50 357.50 0.195649 -332.50 17.50 2.50 0.522419 -332.50 17.50 7.50 0.637041 -332.50 17.50 12.50 0.737724 -332.50 17.50 17.50 0.925448 -332.50 17.50 22.50 1.23581 -332.50 17.50 27.50 1.52127 -332.50 17.50 32.50 1.49764 -332.50 17.50 37.50 1.10734 -332.50 17.50 42.50 0.631522 -332.50 17.50 47.50 0.296413 -332.50 17.50 52.50 0.11622 -332.50 17.50 57.50 0.0400304 -332.50 17.50 62.50 0.0377468 -332.50 17.50 67.50 0.0978279 -332.50 17.50 72.50 0.167805 -332.50 17.50 77.50 0.207394 -332.50 17.50 82.50 0.241365 -332.50 17.50 87.50 0.373755 -332.50 17.50 92.50 0.522419 -332.50 17.50 97.50 0.63704 -332.50 17.50 102.50 0.737724 -332.50 17.50 107.50 0.925448 -332.50 17.50 112.50 1.23581 -332.50 17.50 117.50 1.52127 -332.50 17.50 122.50 1.49764 -332.50 17.50 127.50 1.10734 -332.50 17.50 132.50 0.631522 -332.50 17.50 137.50 0.296413 -332.50 17.50 142.50 0.11622 -332.50 17.50 147.50 0.0400304 -332.50 17.50 152.50 0.0377467 -332.50 17.50 157.50 0.0978279 -332.50 17.50 162.50 0.167805 -332.50 17.50 167.50 0.207394 -332.50 17.50 172.50 0.241365 -332.50 17.50 177.50 0.373755 -332.50 17.50 182.50 0.522419 -332.50 17.50 187.50 0.63704 -332.50 17.50 192.50 0.737724 -332.50 17.50 197.50 0.925448 -332.50 17.50 202.50 1.23581 -332.50 17.50 207.50 1.52126 -332.50 17.50 212.50 1.49764 -332.50 17.50 217.50 1.10735 -332.50 17.50 222.50 0.631522 -332.50 17.50 227.50 0.296413 -332.50 17.50 232.50 0.116219 -332.50 17.50 237.50 0.0400304 -332.50 17.50 242.50 0.0377469 -332.50 17.50 247.50 0.097828 -332.50 17.50 252.50 0.167805 -332.50 17.50 257.50 0.207394 -332.50 17.50 262.50 0.241365 -332.50 17.50 267.50 0.373755 -332.50 17.50 272.50 0.522419 -332.50 17.50 277.50 0.63704 -332.50 17.50 282.50 0.737724 -332.50 17.50 287.50 0.925447 -332.50 17.50 292.50 1.23581 -332.50 17.50 297.50 1.52127 -332.50 17.50 302.50 1.49764 -332.50 17.50 307.50 1.10735 -332.50 17.50 312.50 0.631523 -332.50 17.50 317.50 0.296413 -332.50 17.50 322.50 0.11622 -332.50 17.50 327.50 0.0400305 -332.50 17.50 332.50 0.0377467 -332.50 17.50 337.50 0.0978278 -332.50 17.50 342.50 0.167805 -332.50 17.50 347.50 0.207394 -332.50 17.50 352.50 0.241365 -332.50 17.50 357.50 0.373755 -332.50 22.50 2.50 1.09345 -332.50 22.50 7.50 1.35571 -332.50 22.50 12.50 1.52053 -332.50 22.50 17.50 1.61428 -332.50 22.50 22.50 1.72818 -332.50 22.50 27.50 1.74574 -332.50 22.50 32.50 1.48599 -332.50 22.50 37.50 1.02935 -332.50 22.50 42.50 0.595059 -332.50 22.50 47.50 0.278607 -332.50 22.50 52.50 0.0971231 -332.50 22.50 57.50 0.0269771 -332.50 22.50 62.50 0.0246356 -332.50 22.50 67.50 0.066261 -332.50 22.50 72.50 0.13557 -332.50 22.50 77.50 0.239148 -332.50 22.50 82.50 0.412756 -332.50 22.50 87.50 0.717939 -332.50 22.50 92.50 1.09345 -332.50 22.50 97.50 1.35571 -332.50 22.50 102.50 1.52053 -332.50 22.50 107.50 1.61428 -332.50 22.50 112.50 1.72818 -332.50 22.50 117.50 1.74574 -332.50 22.50 122.50 1.48599 -332.50 22.50 127.50 1.02935 -332.50 22.50 132.50 0.595059 -332.50 22.50 137.50 0.278607 -332.50 22.50 142.50 0.0971231 -332.50 22.50 147.50 0.0269771 -332.50 22.50 152.50 0.0246355 -332.50 22.50 157.50 0.066261 -332.50 22.50 162.50 0.13557 -332.50 22.50 167.50 0.239148 -332.50 22.50 172.50 0.412756 -332.50 22.50 177.50 0.717939 -332.50 22.50 182.50 1.09345 -332.50 22.50 187.50 1.35571 -332.50 22.50 192.50 1.52053 -332.50 22.50 197.50 1.61428 -332.50 22.50 202.50 1.72818 -332.50 22.50 207.50 1.74574 -332.50 22.50 212.50 1.48599 -332.50 22.50 217.50 1.02935 -332.50 22.50 222.50 0.595059 -332.50 22.50 227.50 0.278607 -332.50 22.50 232.50 0.0971228 -332.50 22.50 237.50 0.0269771 -332.50 22.50 242.50 0.0246356 -332.50 22.50 247.50 0.0662611 -332.50 22.50 252.50 0.13557 -332.50 22.50 257.50 0.239148 -332.50 22.50 262.50 0.412756 -332.50 22.50 267.50 0.71794 -332.50 22.50 272.50 1.09345 -332.50 22.50 277.50 1.35571 -332.50 22.50 282.50 1.52053 -332.50 22.50 287.50 1.61428 -332.50 22.50 292.50 1.72818 -332.50 22.50 297.50 1.74574 -332.50 22.50 302.50 1.48599 -332.50 22.50 307.50 1.02935 -332.50 22.50 312.50 0.59506 -332.50 22.50 317.50 0.278607 -332.50 22.50 322.50 0.0971233 -332.50 22.50 327.50 0.0269772 -332.50 22.50 332.50 0.0246355 -332.50 22.50 337.50 0.0662609 -332.50 22.50 342.50 0.13557 -332.50 22.50 347.50 0.239148 -332.50 22.50 352.50 0.412756 -332.50 22.50 357.50 0.717938 -332.50 27.50 2.50 1.96804 -332.50 27.50 7.50 2.42077 -332.50 27.50 12.50 2.5334 -332.50 27.50 17.50 2.38837 -332.50 27.50 22.50 2.16923 -332.50 27.50 27.50 1.89582 -332.50 27.50 32.50 1.40128 -332.50 27.50 37.50 0.833258 -332.50 27.50 42.50 0.435608 -332.50 27.50 47.50 0.195391 -332.50 27.50 52.50 0.0644323 -332.50 27.50 57.50 0.0142588 -332.50 27.50 62.50 0.00850378 -332.50 27.50 67.50 0.0316822 -332.50 27.50 72.50 0.0981172 -332.50 27.50 77.50 0.279702 -332.50 27.50 82.50 0.671075 -332.50 27.50 87.50 1.24071 -332.50 27.50 92.50 1.96803 -332.50 27.50 97.50 2.42077 -332.50 27.50 102.50 2.5334 -332.50 27.50 107.50 2.38837 -332.50 27.50 112.50 2.16923 -332.50 27.50 117.50 1.89582 -332.50 27.50 122.50 1.40128 -332.50 27.50 127.50 0.833258 -332.50 27.50 132.50 0.435607 -332.50 27.50 137.50 0.195391 -332.50 27.50 142.50 0.0644323 -332.50 27.50 147.50 0.0142588 -332.50 27.50 152.50 0.00850377 -332.50 27.50 157.50 0.0316822 -332.50 27.50 162.50 0.0981172 -332.50 27.50 167.50 0.279702 -332.50 27.50 172.50 0.671074 -332.50 27.50 177.50 1.24071 -332.50 27.50 182.50 1.96804 -332.50 27.50 187.50 2.42077 -332.50 27.50 192.50 2.5334 -332.50 27.50 197.50 2.38837 -332.50 27.50 202.50 2.16923 -332.50 27.50 207.50 1.89583 -332.50 27.50 212.50 1.40128 -332.50 27.50 217.50 0.833259 -332.50 27.50 222.50 0.435608 -332.50 27.50 227.50 0.195391 -332.50 27.50 232.50 0.0644321 -332.50 27.50 237.50 0.0142587 -332.50 27.50 242.50 0.00850381 -332.50 27.50 247.50 0.0316823 -332.50 27.50 252.50 0.0981174 -332.50 27.50 257.50 0.279702 -332.50 27.50 262.50 0.671076 -332.50 27.50 267.50 1.24071 -332.50 27.50 272.50 1.96803 -332.50 27.50 277.50 2.42077 -332.50 27.50 282.50 2.5334 -332.50 27.50 287.50 2.38837 -332.50 27.50 292.50 2.16923 -332.50 27.50 297.50 1.89582 -332.50 27.50 302.50 1.40128 -332.50 27.50 307.50 0.833259 -332.50 27.50 312.50 0.435608 -332.50 27.50 317.50 0.195391 -332.50 27.50 322.50 0.0644324 -332.50 27.50 327.50 0.0142588 -332.50 27.50 332.50 0.00850376 -332.50 27.50 337.50 0.0316821 -332.50 27.50 342.50 0.0981171 -332.50 27.50 347.50 0.279701 -332.50 27.50 352.50 0.671074 -332.50 27.50 357.50 1.24071 -332.50 32.50 2.50 2.99998 -332.50 32.50 7.50 3.62014 -332.50 32.50 12.50 3.52469 -332.50 32.50 17.50 3.01306 -332.50 32.50 22.50 2.38047 -332.50 32.50 27.50 1.85573 -332.50 32.50 32.50 1.18313 -332.50 32.50 37.50 0.590123 -332.50 32.50 42.50 0.252065 -332.50 32.50 47.50 0.0970908 -332.50 32.50 52.50 0.0288181 -332.50 32.50 57.50 0.00755233 -332.50 32.50 62.50 0.00676333 -332.50 32.50 67.50 0.0277001 -332.50 32.50 72.50 0.12523 -332.50 32.50 77.50 0.398624 -332.50 32.50 82.50 1.02375 -332.50 32.50 87.50 1.90997 -332.50 32.50 92.50 2.99998 -332.50 32.50 97.50 3.62013 -332.50 32.50 102.50 3.52469 -332.50 32.50 107.50 3.01306 -332.50 32.50 112.50 2.38047 -332.50 32.50 117.50 1.85572 -332.50 32.50 122.50 1.18313 -332.50 32.50 127.50 0.590123 -332.50 32.50 132.50 0.252065 -332.50 32.50 137.50 0.0970908 -332.50 32.50 142.50 0.0288181 -332.50 32.50 147.50 0.00755232 -332.50 32.50 152.50 0.00676332 -332.50 32.50 157.50 0.0277 -332.50 32.50 162.50 0.12523 -332.50 32.50 167.50 0.398624 -332.50 32.50 172.50 1.02375 -332.50 32.50 177.50 1.90996 -332.50 32.50 182.50 2.99999 -332.50 32.50 187.50 3.62014 -332.50 32.50 192.50 3.52469 -332.50 32.50 197.50 3.01306 -332.50 32.50 202.50 2.38047 -332.50 32.50 207.50 1.85573 -332.50 32.50 212.50 1.18313 -332.50 32.50 217.50 0.590123 -332.50 32.50 222.50 0.252065 -332.50 32.50 227.50 0.0970909 -332.50 32.50 232.50 0.0288181 -332.50 32.50 237.50 0.00755231 -332.50 32.50 242.50 0.00676334 -332.50 32.50 247.50 0.0277002 -332.50 32.50 252.50 0.12523 -332.50 32.50 257.50 0.398625 -332.50 32.50 262.50 1.02375 -332.50 32.50 267.50 1.90997 -332.50 32.50 272.50 2.99998 -332.50 32.50 277.50 3.62014 -332.50 32.50 282.50 3.52469 -332.50 32.50 287.50 3.01306 -332.50 32.50 292.50 2.38047 -332.50 32.50 297.50 1.85573 -332.50 32.50 302.50 1.18313 -332.50 32.50 307.50 0.590124 -332.50 32.50 312.50 0.252066 -332.50 32.50 317.50 0.0970909 -332.50 32.50 322.50 0.0288182 -332.50 32.50 327.50 0.00755234 -332.50 32.50 332.50 0.00676333 -332.50 32.50 337.50 0.0277 -332.50 32.50 342.50 0.125229 -332.50 32.50 347.50 0.398623 -332.50 32.50 352.50 1.02375 -332.50 32.50 357.50 1.90996 -332.50 37.50 2.50 3.97879 -332.50 37.50 7.50 4.60371 -332.50 37.50 12.50 4.256 -332.50 37.50 17.50 3.31617 -332.50 37.50 22.50 2.39561 -332.50 37.50 27.50 1.60325 -332.50 37.50 32.50 0.888364 -332.50 37.50 37.50 0.374936 -332.50 37.50 42.50 0.118135 -332.50 37.50 47.50 0.0338126 -332.50 37.50 52.50 0.00985913 -332.50 37.50 57.50 0.0059582 -332.50 37.50 62.50 0.0192987 -332.50 37.50 67.50 0.0727312 -332.50 37.50 72.50 0.254907 -332.50 37.50 77.50 0.710542 -332.50 37.50 82.50 1.56092 -332.50 37.50 87.50 2.71873 -332.50 37.50 92.50 3.97879 -332.50 37.50 97.50 4.60371 -332.50 37.50 102.50 4.256 -332.50 37.50 107.50 3.31617 -332.50 37.50 112.50 2.39561 -332.50 37.50 117.50 1.60325 -332.50 37.50 122.50 0.888363 -332.50 37.50 127.50 0.374936 -332.50 37.50 132.50 0.118135 -332.50 37.50 137.50 0.0338126 -332.50 37.50 142.50 0.00985912 -332.50 37.50 147.50 0.00595819 -332.50 37.50 152.50 0.0192986 -332.50 37.50 157.50 0.0727309 -332.50 37.50 162.50 0.254907 -332.50 37.50 167.50 0.710541 -332.50 37.50 172.50 1.56092 -332.50 37.50 177.50 2.71873 -332.50 37.50 182.50 3.97879 -332.50 37.50 187.50 4.60371 -332.50 37.50 192.50 4.256 -332.50 37.50 197.50 3.31617 -332.50 37.50 202.50 2.39561 -332.50 37.50 207.50 1.60326 -332.50 37.50 212.50 0.888364 -332.50 37.50 217.50 0.374936 -332.50 37.50 222.50 0.118135 -332.50 37.50 227.50 0.0338126 -332.50 37.50 232.50 0.00985912 -332.50 37.50 237.50 0.0059582 -332.50 37.50 242.50 0.0192987 -332.50 37.50 247.50 0.0727312 -332.50 37.50 252.50 0.254908 -332.50 37.50 257.50 0.710543 -332.50 37.50 262.50 1.56092 -332.50 37.50 267.50 2.71873 -332.50 37.50 272.50 3.97879 -332.50 37.50 277.50 4.60371 -332.50 37.50 282.50 4.256 -332.50 37.50 287.50 3.31617 -332.50 37.50 292.50 2.39561 -332.50 37.50 297.50 1.60325 -332.50 37.50 302.50 0.888364 -332.50 37.50 307.50 0.374937 -332.50 37.50 312.50 0.118135 -332.50 37.50 317.50 0.0338126 -332.50 37.50 322.50 0.00985915 -332.50 37.50 327.50 0.00595819 -332.50 37.50 332.50 0.0192987 -332.50 37.50 337.50 0.0727309 -332.50 37.50 342.50 0.254907 -332.50 37.50 347.50 0.710541 -332.50 37.50 352.50 1.56092 -332.50 37.50 357.50 2.71872 -332.50 42.50 2.50 4.69043 -332.50 42.50 7.50 5.1111 -332.50 42.50 12.50 4.48177 -332.50 42.50 17.50 3.2594 -332.50 42.50 22.50 2.13667 -332.50 42.50 27.50 1.24593 -332.50 42.50 32.50 0.579262 -332.50 42.50 37.50 0.198828 -332.50 42.50 42.50 0.049226 -332.50 42.50 47.50 0.00979709 -332.50 42.50 52.50 0.0046336 -332.50 42.50 57.50 0.0164118 -332.50 42.50 62.50 0.0681548 -332.50 42.50 67.50 0.201332 -332.50 42.50 72.50 0.550164 -332.50 42.50 77.50 1.26736 -332.50 42.50 82.50 2.37638 -332.50 42.50 87.50 3.58904 -332.50 42.50 92.50 4.69043 -332.50 42.50 97.50 5.1111 -332.50 42.50 102.50 4.48177 -332.50 42.50 107.50 3.2594 -332.50 42.50 112.50 2.13667 -332.50 42.50 117.50 1.24593 -332.50 42.50 122.50 0.579262 -332.50 42.50 127.50 0.198828 -332.50 42.50 132.50 0.049226 -332.50 42.50 137.50 0.0097971 -332.50 42.50 142.50 0.0046336 -332.50 42.50 147.50 0.0164118 -332.50 42.50 152.50 0.0681547 -332.50 42.50 157.50 0.201331 -332.50 42.50 162.50 0.550164 -332.50 42.50 167.50 1.26736 -332.50 42.50 172.50 2.37638 -332.50 42.50 177.50 3.58904 -332.50 42.50 182.50 4.69043 -332.50 42.50 187.50 5.1111 -332.50 42.50 192.50 4.48177 -332.50 42.50 197.50 3.2594 -332.50 42.50 202.50 2.13667 -332.50 42.50 207.50 1.24593 -332.50 42.50 212.50 0.579262 -332.50 42.50 217.50 0.198828 -332.50 42.50 222.50 0.0492261 -332.50 42.50 227.50 0.00979712 -332.50 42.50 232.50 0.00463361 -332.50 42.50 237.50 0.0164119 -332.50 42.50 242.50 0.0681549 -332.50 42.50 247.50 0.201332 -332.50 42.50 252.50 0.550165 -332.50 42.50 257.50 1.26737 -332.50 42.50 262.50 2.37639 -332.50 42.50 267.50 3.58904 -332.50 42.50 272.50 4.69043 -332.50 42.50 277.50 5.11111 -332.50 42.50 282.50 4.48177 -332.50 42.50 287.50 3.2594 -332.50 42.50 292.50 2.13667 -332.50 42.50 297.50 1.24594 -332.50 42.50 302.50 0.579262 -332.50 42.50 307.50 0.198828 -332.50 42.50 312.50 0.0492261 -332.50 42.50 317.50 0.00979711 -332.50 42.50 322.50 0.00463361 -332.50 42.50 327.50 0.0164118 -332.50 42.50 332.50 0.0681546 -332.50 42.50 337.50 0.201331 -332.50 42.50 342.50 0.550163 -332.50 42.50 347.50 1.26736 -332.50 42.50 352.50 2.37638 -332.50 42.50 357.50 3.58903 -332.50 47.50 2.50 4.95231 -332.50 47.50 7.50 4.95933 -332.50 47.50 12.50 4.02082 -332.50 47.50 17.50 2.64963 -332.50 47.50 22.50 1.56269 -332.50 47.50 27.50 0.775072 -332.50 47.50 32.50 0.316416 -332.50 47.50 37.50 0.0961166 -332.50 47.50 42.50 0.0206883 -332.50 47.50 47.50 0.00573953 -332.50 47.50 52.50 0.0117542 -332.50 47.50 57.50 0.0660298 -332.50 47.50 62.50 0.213501 -332.50 47.50 67.50 0.533432 -332.50 47.50 72.50 1.12772 -332.50 47.50 77.50 2.1082 -332.50 47.50 82.50 3.38468 -332.50 47.50 87.50 4.39341 -332.50 47.50 92.50 4.95231 -332.50 47.50 97.50 4.95933 -332.50 47.50 102.50 4.02082 -332.50 47.50 107.50 2.64963 -332.50 47.50 112.50 1.56269 -332.50 47.50 117.50 0.775071 -332.50 47.50 122.50 0.316415 -332.50 47.50 127.50 0.0961165 -332.50 47.50 132.50 0.0206882 -332.50 47.50 137.50 0.00573953 -332.50 47.50 142.50 0.0117542 -332.50 47.50 147.50 0.0660299 -332.50 47.50 152.50 0.2135 -332.50 47.50 157.50 0.533431 -332.50 47.50 162.50 1.12772 -332.50 47.50 167.50 2.1082 -332.50 47.50 172.50 3.38468 -332.50 47.50 177.50 4.39341 -332.50 47.50 182.50 4.95231 -332.50 47.50 187.50 4.95933 -332.50 47.50 192.50 4.02082 -332.50 47.50 197.50 2.64963 -332.50 47.50 202.50 1.56269 -332.50 47.50 207.50 0.775072 -332.50 47.50 212.50 0.316416 -332.50 47.50 217.50 0.0961167 -332.50 47.50 222.50 0.0206883 -332.50 47.50 227.50 0.00573955 -332.50 47.50 232.50 0.0117542 -332.50 47.50 237.50 0.06603 -332.50 47.50 242.50 0.213501 -332.50 47.50 247.50 0.533432 -332.50 47.50 252.50 1.12773 -332.50 47.50 257.50 2.10821 -332.50 47.50 262.50 3.38468 -332.50 47.50 267.50 4.39341 -332.50 47.50 272.50 4.9523 -332.50 47.50 277.50 4.95933 -332.50 47.50 282.50 4.02082 -332.50 47.50 287.50 2.64963 -332.50 47.50 292.50 1.56269 -332.50 47.50 297.50 0.775073 -332.50 47.50 302.50 0.316416 -332.50 47.50 307.50 0.0961168 -332.50 47.50 312.50 0.0206883 -332.50 47.50 317.50 0.00573954 -332.50 47.50 322.50 0.0117542 -332.50 47.50 327.50 0.0660297 -332.50 47.50 332.50 0.2135 -332.50 47.50 337.50 0.533431 -332.50 47.50 342.50 1.12772 -332.50 47.50 347.50 2.1082 -332.50 47.50 352.50 3.38467 -332.50 47.50 357.50 4.39341 -332.50 52.50 2.50 4.69043 -332.50 52.50 7.50 4.08367 -332.50 52.50 12.50 2.95837 -332.50 52.50 17.50 1.72464 -332.50 52.50 22.50 0.884918 -332.50 52.50 27.50 0.383308 -332.50 52.50 32.50 0.126388 -332.50 52.50 37.50 0.0411484 -332.50 52.50 42.50 0.00928605 -332.50 52.50 47.50 0.00650744 -332.50 52.50 52.50 0.0410823 -332.50 52.50 57.50 0.192946 -332.50 52.50 62.50 0.570496 -332.50 52.50 67.50 1.22267 -332.50 52.50 72.50 2.13189 -332.50 52.50 77.50 3.28921 -332.50 52.50 82.50 4.46699 -332.50 52.50 87.50 4.9821 -332.50 52.50 92.50 4.69043 -332.50 52.50 97.50 4.08367 -332.50 52.50 102.50 2.95837 -332.50 52.50 107.50 1.72464 -332.50 52.50 112.50 0.884918 -332.50 52.50 117.50 0.383308 -332.50 52.50 122.50 0.126388 -332.50 52.50 127.50 0.0411485 -332.50 52.50 132.50 0.00928604 -332.50 52.50 137.50 0.00650744 -332.50 52.50 142.50 0.0410823 -332.50 52.50 147.50 0.192946 -332.50 52.50 152.50 0.570495 -332.50 52.50 157.50 1.22267 -332.50 52.50 162.50 2.13189 -332.50 52.50 167.50 3.28921 -332.50 52.50 172.50 4.46699 -332.50 52.50 177.50 4.98209 -332.50 52.50 182.50 4.69043 -332.50 52.50 187.50 4.08367 -332.50 52.50 192.50 2.95837 -332.50 52.50 197.50 1.72464 -332.50 52.50 202.50 0.884918 -332.50 52.50 207.50 0.383308 -332.50 52.50 212.50 0.126388 -332.50 52.50 217.50 0.0411485 -332.50 52.50 222.50 0.00928605 -332.50 52.50 227.50 0.00650743 -332.50 52.50 232.50 0.0410825 -332.50 52.50 237.50 0.192946 -332.50 52.50 242.50 0.570496 -332.50 52.50 247.50 1.22267 -332.50 52.50 252.50 2.13189 -332.50 52.50 257.50 3.28921 -332.50 52.50 262.50 4.46699 -332.50 52.50 267.50 4.98209 -332.50 52.50 272.50 4.69043 -332.50 52.50 277.50 4.08367 -332.50 52.50 282.50 2.95837 -332.50 52.50 287.50 1.72464 -332.50 52.50 292.50 0.884919 -332.50 52.50 297.50 0.383308 -332.50 52.50 302.50 0.126388 -332.50 52.50 307.50 0.0411485 -332.50 52.50 312.50 0.00928606 -332.50 52.50 317.50 0.00650743 -332.50 52.50 322.50 0.0410823 -332.50 52.50 327.50 0.192945 -332.50 52.50 332.50 0.570494 -332.50 52.50 337.50 1.22267 -332.50 52.50 342.50 2.13189 -332.50 52.50 347.50 3.28921 -332.50 52.50 352.50 4.46699 -332.50 52.50 357.50 4.98209 -332.50 57.50 2.50 3.97878 -332.50 57.50 7.50 2.7973 -332.50 57.50 12.50 1.71985 -332.50 57.50 17.50 0.878167 -332.50 57.50 22.50 0.38421 -332.50 57.50 27.50 0.147507 -332.50 57.50 32.50 0.0483812 -332.50 57.50 37.50 0.012454 -332.50 57.50 42.50 0.00544401 -332.50 57.50 47.50 0.0226139 -332.50 57.50 52.50 0.10508 -332.50 57.50 57.50 0.40545 -332.50 57.50 62.50 1.13084 -332.50 57.50 67.50 2.23604 -332.50 57.50 72.50 3.46852 -332.50 57.50 77.50 4.61669 -332.50 57.50 82.50 5.31958 -332.50 57.50 87.50 5.14815 -332.50 57.50 92.50 3.97878 -332.50 57.50 97.50 2.7973 -332.50 57.50 102.50 1.71985 -332.50 57.50 107.50 0.878167 -332.50 57.50 112.50 0.384209 -332.50 57.50 117.50 0.147507 -332.50 57.50 122.50 0.0483811 -332.50 57.50 127.50 0.012454 -332.50 57.50 132.50 0.00544401 -332.50 57.50 137.50 0.022614 -332.50 57.50 142.50 0.10508 -332.50 57.50 147.50 0.40545 -332.50 57.50 152.50 1.13083 -332.50 57.50 157.50 2.23604 -332.50 57.50 162.50 3.46852 -332.50 57.50 167.50 4.61668 -332.50 57.50 172.50 5.31958 -332.50 57.50 177.50 5.14816 -332.50 57.50 182.50 3.97878 -332.50 57.50 187.50 2.7973 -332.50 57.50 192.50 1.71985 -332.50 57.50 197.50 0.878167 -332.50 57.50 202.50 0.384209 -332.50 57.50 207.50 0.147507 -332.50 57.50 212.50 0.0483811 -332.50 57.50 217.50 0.012454 -332.50 57.50 222.50 0.00544401 -332.50 57.50 227.50 0.022614 -332.50 57.50 232.50 0.10508 -332.50 57.50 237.50 0.405451 -332.50 57.50 242.50 1.13084 -332.50 57.50 247.50 2.23604 -332.50 57.50 252.50 3.46852 -332.50 57.50 257.50 4.61669 -332.50 57.50 262.50 5.31958 -332.50 57.50 267.50 5.14816 -332.50 57.50 272.50 3.97878 -332.50 57.50 277.50 2.7973 -332.50 57.50 282.50 1.71985 -332.50 57.50 287.50 0.878167 -332.50 57.50 292.50 0.384209 -332.50 57.50 297.50 0.147508 -332.50 57.50 302.50 0.0483812 -332.50 57.50 307.50 0.012454 -332.50 57.50 312.50 0.00544402 -332.50 57.50 317.50 0.0226139 -332.50 57.50 322.50 0.10508 -332.50 57.50 327.50 0.405449 -332.50 57.50 332.50 1.13083 -332.50 57.50 337.50 2.23604 -332.50 57.50 342.50 3.46852 -332.50 57.50 347.50 4.61669 -332.50 57.50 352.50 5.31958 -332.50 57.50 357.50 5.14816 -332.50 62.50 2.50 2.99998 -332.50 62.50 7.50 1.64726 -332.50 62.50 12.50 0.816469 -332.50 62.50 17.50 0.352535 -332.50 62.50 22.50 0.128789 -332.50 62.50 27.50 0.0423286 -332.50 62.50 32.50 0.0150629 -332.50 62.50 37.50 0.00644963 -332.50 62.50 42.50 0.0160806 -332.50 62.50 47.50 0.0635651 -332.50 62.50 52.50 0.228709 -332.50 62.50 57.50 0.76075 -332.50 62.50 62.50 1.79067 -332.50 62.50 67.50 3.29407 -332.50 62.50 72.50 4.69798 -332.50 62.50 77.50 5.56268 -332.50 62.50 82.50 5.52208 -332.50 62.50 87.50 4.66052 -332.50 62.50 92.50 2.99998 -332.50 62.50 97.50 1.64725 -332.50 62.50 102.50 0.816469 -332.50 62.50 107.50 0.352535 -332.50 62.50 112.50 0.128789 -332.50 62.50 117.50 0.0423285 -332.50 62.50 122.50 0.0150629 -332.50 62.50 127.50 0.00644962 -332.50 62.50 132.50 0.0160806 -332.50 62.50 137.50 0.0635651 -332.50 62.50 142.50 0.228709 -332.50 62.50 147.50 0.76075 -332.50 62.50 152.50 1.79067 -332.50 62.50 157.50 3.29407 -332.50 62.50 162.50 4.69798 -332.50 62.50 167.50 5.56268 -332.50 62.50 172.50 5.52208 -332.50 62.50 177.50 4.66052 -332.50 62.50 182.50 2.99998 -332.50 62.50 187.50 1.64725 -332.50 62.50 192.50 0.816469 -332.50 62.50 197.50 0.352535 -332.50 62.50 202.50 0.128788 -332.50 62.50 207.50 0.0423286 -332.50 62.50 212.50 0.0150629 -332.50 62.50 217.50 0.00644962 -332.50 62.50 222.50 0.0160806 -332.50 62.50 227.50 0.0635651 -332.50 62.50 232.50 0.228709 -332.50 62.50 237.50 0.760751 -332.50 62.50 242.50 1.79067 -332.50 62.50 247.50 3.29407 -332.50 62.50 252.50 4.69798 -332.50 62.50 257.50 5.56268 -332.50 62.50 262.50 5.52208 -332.50 62.50 267.50 4.66051 -332.50 62.50 272.50 2.99998 -332.50 62.50 277.50 1.64726 -332.50 62.50 282.50 0.816469 -332.50 62.50 287.50 0.352535 -332.50 62.50 292.50 0.128789 -332.50 62.50 297.50 0.0423287 -332.50 62.50 302.50 0.015063 -332.50 62.50 307.50 0.00644963 -332.50 62.50 312.50 0.0160806 -332.50 62.50 317.50 0.063565 -332.50 62.50 322.50 0.228708 -332.50 62.50 327.50 0.760748 -332.50 62.50 332.50 1.79067 -332.50 62.50 337.50 3.29407 -332.50 62.50 342.50 4.69797 -332.50 62.50 347.50 5.56268 -332.50 62.50 352.50 5.52208 -332.50 62.50 357.50 4.66052 -332.50 67.50 2.50 1.96803 -332.50 67.50 7.50 0.870675 -332.50 67.50 12.50 0.347857 -332.50 67.50 17.50 0.12179 -332.50 67.50 22.50 0.0403446 -332.50 67.50 27.50 0.0137422 -332.50 67.50 32.50 0.00519186 -332.50 67.50 37.50 0.00810221 -332.50 67.50 42.50 0.0465227 -332.50 67.50 47.50 0.160589 -332.50 67.50 52.50 0.449242 -332.50 67.50 57.50 1.11393 -332.50 67.50 62.50 2.38625 -332.50 67.50 67.50 3.94446 -332.50 67.50 72.50 5.11389 -332.50 67.50 77.50 5.45632 -332.50 67.50 82.50 4.88871 -332.50 67.50 87.50 3.5881 -332.50 67.50 92.50 1.96803 -332.50 67.50 97.50 0.870674 -332.50 67.50 102.50 0.347857 -332.50 67.50 107.50 0.12179 -332.50 67.50 112.50 0.0403446 -332.50 67.50 117.50 0.0137422 -332.50 67.50 122.50 0.00519185 -332.50 67.50 127.50 0.00810221 -332.50 67.50 132.50 0.0465227 -332.50 67.50 137.50 0.160589 -332.50 67.50 142.50 0.449242 -332.50 67.50 147.50 1.11393 -332.50 67.50 152.50 2.38624 -332.50 67.50 157.50 3.94446 -332.50 67.50 162.50 5.11389 -332.50 67.50 167.50 5.45633 -332.50 67.50 172.50 4.88871 -332.50 67.50 177.50 3.5881 -332.50 67.50 182.50 1.96803 -332.50 67.50 187.50 0.870674 -332.50 67.50 192.50 0.347857 -332.50 67.50 197.50 0.12179 -332.50 67.50 202.50 0.0403446 -332.50 67.50 207.50 0.0137422 -332.50 67.50 212.50 0.00519186 -332.50 67.50 217.50 0.0081022 -332.50 67.50 222.50 0.0465227 -332.50 67.50 227.50 0.160589 -332.50 67.50 232.50 0.449243 -332.50 67.50 237.50 1.11393 -332.50 67.50 242.50 2.38625 -332.50 67.50 247.50 3.94446 -332.50 67.50 252.50 5.11389 -332.50 67.50 257.50 5.45632 -332.50 67.50 262.50 4.88871 -332.50 67.50 267.50 3.5881 -332.50 67.50 272.50 1.96803 -332.50 67.50 277.50 0.870675 -332.50 67.50 282.50 0.347857 -332.50 67.50 287.50 0.12179 -332.50 67.50 292.50 0.0403446 -332.50 67.50 297.50 0.0137423 -332.50 67.50 302.50 0.00519187 -332.50 67.50 307.50 0.00810221 -332.50 67.50 312.50 0.0465227 -332.50 67.50 317.50 0.160589 -332.50 67.50 322.50 0.449242 -332.50 67.50 327.50 1.11393 -332.50 67.50 332.50 2.38624 -332.50 67.50 337.50 3.94446 -332.50 67.50 342.50 5.11389 -332.50 67.50 347.50 5.45633 -332.50 67.50 352.50 4.88871 -332.50 67.50 357.50 3.58811 -332.50 72.50 2.50 1.09345 -332.50 72.50 7.50 0.408941 -332.50 72.50 12.50 0.141005 -332.50 72.50 17.50 0.0443851 -332.50 72.50 22.50 0.0217754 -332.50 72.50 27.50 0.0101522 -332.50 72.50 32.50 0.00563605 -332.50 72.50 37.50 0.0160792 -332.50 72.50 42.50 0.0711077 -332.50 72.50 47.50 0.232757 -332.50 72.50 52.50 0.569088 -332.50 72.50 57.50 1.24276 -332.50 72.50 62.50 2.39754 -332.50 72.50 67.50 3.68294 -332.50 72.50 72.50 4.51332 -332.50 72.50 77.50 4.3741 -332.50 72.50 82.50 3.60754 -332.50 72.50 87.50 2.33131 -332.50 72.50 92.50 1.09345 -332.50 72.50 97.50 0.40894 -332.50 72.50 102.50 0.141005 -332.50 72.50 107.50 0.0443851 -332.50 72.50 112.50 0.0217754 -332.50 72.50 117.50 0.0101522 -332.50 72.50 122.50 0.00563606 -332.50 72.50 127.50 0.0160792 -332.50 72.50 132.50 0.0711077 -332.50 72.50 137.50 0.232757 -332.50 72.50 142.50 0.569088 -332.50 72.50 147.50 1.24276 -332.50 72.50 152.50 2.39754 -332.50 72.50 157.50 3.68294 -332.50 72.50 162.50 4.51332 -332.50 72.50 167.50 4.3741 -332.50 72.50 172.50 3.60754 -332.50 72.50 177.50 2.33131 -332.50 72.50 182.50 1.09345 -332.50 72.50 187.50 0.40894 -332.50 72.50 192.50 0.141005 -332.50 72.50 197.50 0.0443851 -332.50 72.50 202.50 0.0217754 -332.50 72.50 207.50 0.0101522 -332.50 72.50 212.50 0.00563606 -332.50 72.50 217.50 0.0160792 -332.50 72.50 222.50 0.0711076 -332.50 72.50 227.50 0.232757 -332.50 72.50 232.50 0.569089 -332.50 72.50 237.50 1.24276 -332.50 72.50 242.50 2.39754 -332.50 72.50 247.50 3.68294 -332.50 72.50 252.50 4.51332 -332.50 72.50 257.50 4.3741 -332.50 72.50 262.50 3.60754 -332.50 72.50 267.50 2.33131 -332.50 72.50 272.50 1.09345 -332.50 72.50 277.50 0.40894 -332.50 72.50 282.50 0.141005 -332.50 72.50 287.50 0.0443852 -332.50 72.50 292.50 0.0217754 -332.50 72.50 297.50 0.0101522 -332.50 72.50 302.50 0.00563605 -332.50 72.50 307.50 0.0160792 -332.50 72.50 312.50 0.0711076 -332.50 72.50 317.50 0.232757 -332.50 72.50 322.50 0.569087 -332.50 72.50 327.50 1.24276 -332.50 72.50 332.50 2.39753 -332.50 72.50 337.50 3.68294 -332.50 72.50 342.50 4.51332 -332.50 72.50 347.50 4.3741 -332.50 72.50 352.50 3.60755 -332.50 72.50 357.50 2.33132 -332.50 77.50 2.50 0.522419 -332.50 77.50 7.50 0.167539 -332.50 77.50 12.50 0.0495178 -332.50 77.50 17.50 0.0245769 -332.50 77.50 22.50 0.0132993 -332.50 77.50 27.50 0.00480852 -332.50 77.50 32.50 0.00735715 -332.50 77.50 37.50 0.024495 -332.50 77.50 42.50 0.0627265 -332.50 77.50 47.50 0.203043 -332.50 77.50 52.50 0.516708 -332.50 77.50 57.50 1.09998 -332.50 77.50 62.50 1.82857 -332.50 77.50 67.50 2.49694 -332.50 77.50 72.50 2.8726 -332.50 77.50 77.50 2.86929 -332.50 77.50 82.50 2.20364 -332.50 77.50 87.50 1.32122 -332.50 77.50 92.50 0.522419 -332.50 77.50 97.50 0.167539 -332.50 77.50 102.50 0.0495178 -332.50 77.50 107.50 0.0245769 -332.50 77.50 112.50 0.0132993 -332.50 77.50 117.50 0.00480852 -332.50 77.50 122.50 0.00735715 -332.50 77.50 127.50 0.024495 -332.50 77.50 132.50 0.0627267 -332.50 77.50 137.50 0.203043 -332.50 77.50 142.50 0.516708 -332.50 77.50 147.50 1.09999 -332.50 77.50 152.50 1.82857 -332.50 77.50 157.50 2.49693 -332.50 77.50 162.50 2.8726 -332.50 77.50 167.50 2.86929 -332.50 77.50 172.50 2.20365 -332.50 77.50 177.50 1.32122 -332.50 77.50 182.50 0.522419 -332.50 77.50 187.50 0.167539 -332.50 77.50 192.50 0.0495178 -332.50 77.50 197.50 0.0245769 -332.50 77.50 202.50 0.0132993 -332.50 77.50 207.50 0.00480852 -332.50 77.50 212.50 0.00735716 -332.50 77.50 217.50 0.024495 -332.50 77.50 222.50 0.0627265 -332.50 77.50 227.50 0.203043 -332.50 77.50 232.50 0.51671 -332.50 77.50 237.50 1.09999 -332.50 77.50 242.50 1.82857 -332.50 77.50 247.50 2.49694 -332.50 77.50 252.50 2.8726 -332.50 77.50 257.50 2.86929 -332.50 77.50 262.50 2.20364 -332.50 77.50 267.50 1.32122 -332.50 77.50 272.50 0.522419 -332.50 77.50 277.50 0.167539 -332.50 77.50 282.50 0.0495178 -332.50 77.50 287.50 0.0245769 -332.50 77.50 292.50 0.0132994 -332.50 77.50 297.50 0.00480852 -332.50 77.50 302.50 0.00735715 -332.50 77.50 307.50 0.0244949 -332.50 77.50 312.50 0.0627265 -332.50 77.50 317.50 0.203043 -332.50 77.50 322.50 0.516708 -332.50 77.50 327.50 1.09998 -332.50 77.50 332.50 1.82857 -332.50 77.50 337.50 2.49693 -332.50 77.50 342.50 2.8726 -332.50 77.50 347.50 2.86929 -332.50 77.50 352.50 2.20365 -332.50 77.50 357.50 1.32122 -332.50 82.50 2.50 0.23184 -332.50 82.50 7.50 0.0673561 -332.50 82.50 12.50 0.0268917 -332.50 82.50 17.50 0.0212911 -332.50 82.50 22.50 0.0182391 -332.50 82.50 27.50 0.0110281 -332.50 82.50 32.50 0.01427 -332.50 82.50 37.50 0.0239013 -332.50 82.50 42.50 0.0511639 -332.50 82.50 47.50 0.150946 -332.50 82.50 52.50 0.378742 -332.50 82.50 57.50 0.739674 -332.50 82.50 62.50 1.11644 -332.50 82.50 67.50 1.32674 -332.50 82.50 72.50 1.3641 -332.50 82.50 77.50 1.28754 -332.50 82.50 82.50 1.16202 -332.50 82.50 87.50 0.644251 -332.50 82.50 92.50 0.23184 -332.50 82.50 97.50 0.0673561 -332.50 82.50 102.50 0.0268917 -332.50 82.50 107.50 0.0212911 -332.50 82.50 112.50 0.0182391 -332.50 82.50 117.50 0.0110281 -332.50 82.50 122.50 0.01427 -332.50 82.50 127.50 0.0239013 -332.50 82.50 132.50 0.051164 -332.50 82.50 137.50 0.150946 -332.50 82.50 142.50 0.378742 -332.50 82.50 147.50 0.739674 -332.50 82.50 152.50 1.11644 -332.50 82.50 157.50 1.32674 -332.50 82.50 162.50 1.3641 -332.50 82.50 167.50 1.28754 -332.50 82.50 172.50 1.16202 -332.50 82.50 177.50 0.644251 -332.50 82.50 182.50 0.23184 -332.50 82.50 187.50 0.0673561 -332.50 82.50 192.50 0.0268917 -332.50 82.50 197.50 0.0212911 -332.50 82.50 202.50 0.0182391 -332.50 82.50 207.50 0.0110281 -332.50 82.50 212.50 0.01427 -332.50 82.50 217.50 0.0239013 -332.50 82.50 222.50 0.0511639 -332.50 82.50 227.50 0.150946 -332.50 82.50 232.50 0.378743 -332.50 82.50 237.50 0.739675 -332.50 82.50 242.50 1.11644 -332.50 82.50 247.50 1.32674 -332.50 82.50 252.50 1.3641 -332.50 82.50 257.50 1.28754 -332.50 82.50 262.50 1.16202 -332.50 82.50 267.50 0.64425 -332.50 82.50 272.50 0.23184 -332.50 82.50 277.50 0.0673561 -332.50 82.50 282.50 0.0268917 -332.50 82.50 287.50 0.0212911 -332.50 82.50 292.50 0.0182391 -332.50 82.50 297.50 0.0110281 -332.50 82.50 302.50 0.01427 -332.50 82.50 307.50 0.0239013 -332.50 82.50 312.50 0.0511639 -332.50 82.50 317.50 0.150946 -332.50 82.50 322.50 0.378742 -332.50 82.50 327.50 0.739673 -332.50 82.50 332.50 1.11644 -332.50 82.50 337.50 1.32674 -332.50 82.50 342.50 1.3641 -332.50 82.50 347.50 1.28754 -332.50 82.50 352.50 1.16202 -332.50 82.50 357.50 0.644252 -332.50 87.50 2.50 0.100121 -332.50 87.50 7.50 0.0439751 -332.50 87.50 12.50 0.0552737 -332.50 87.50 17.50 0.0569522 -332.50 87.50 22.50 0.0471942 -332.50 87.50 27.50 0.0399646 -332.50 87.50 32.50 0.0425105 -332.50 87.50 37.50 0.0433887 -332.50 87.50 42.50 0.05611 -332.50 87.50 47.50 0.107119 -332.50 87.50 52.50 0.227323 -332.50 87.50 57.50 0.417593 -332.50 87.50 62.50 0.572538 -332.50 87.50 67.50 0.583739 -332.50 87.50 72.50 0.545034 -332.50 87.50 77.50 0.540058 -332.50 87.50 82.50 0.437267 -332.50 87.50 87.50 0.288125 -332.50 87.50 92.50 0.100121 -332.50 87.50 97.50 0.043975 -332.50 87.50 102.50 0.0552737 -332.50 87.50 107.50 0.0569522 -332.50 87.50 112.50 0.0471942 -332.50 87.50 117.50 0.0399646 -332.50 87.50 122.50 0.0425104 -332.50 87.50 127.50 0.0433886 -332.50 87.50 132.50 0.0561101 -332.50 87.50 137.50 0.107119 -332.50 87.50 142.50 0.227323 -332.50 87.50 147.50 0.417592 -332.50 87.50 152.50 0.572538 -332.50 87.50 157.50 0.583739 -332.50 87.50 162.50 0.545034 -332.50 87.50 167.50 0.540058 -332.50 87.50 172.50 0.437268 -332.50 87.50 177.50 0.288126 -332.50 87.50 182.50 0.100121 -332.50 87.50 187.50 0.043975 -332.50 87.50 192.50 0.0552737 -332.50 87.50 197.50 0.0569522 -332.50 87.50 202.50 0.0471942 -332.50 87.50 207.50 0.0399646 -332.50 87.50 212.50 0.0425104 -332.50 87.50 217.50 0.0433886 -332.50 87.50 222.50 0.0561101 -332.50 87.50 227.50 0.107119 -332.50 87.50 232.50 0.227324 -332.50 87.50 237.50 0.417593 -332.50 87.50 242.50 0.572538 -332.50 87.50 247.50 0.583739 -332.50 87.50 252.50 0.545034 -332.50 87.50 257.50 0.540058 -332.50 87.50 262.50 0.437267 -332.50 87.50 267.50 0.288125 -332.50 87.50 272.50 0.100121 -332.50 87.50 277.50 0.0439751 -332.50 87.50 282.50 0.0552737 -332.50 87.50 287.50 0.0569522 -332.50 87.50 292.50 0.0471942 -332.50 87.50 297.50 0.0399646 -332.50 87.50 302.50 0.0425105 -332.50 87.50 307.50 0.0433886 -332.50 87.50 312.50 0.05611 -332.50 87.50 317.50 0.107118 -332.50 87.50 322.50 0.227323 -332.50 87.50 327.50 0.417592 -332.50 87.50 332.50 0.572538 -332.50 87.50 337.50 0.583739 -332.50 87.50 342.50 0.545034 -332.50 87.50 347.50 0.540057 -332.50 87.50 352.50 0.437268 -332.50 87.50 357.50 0.288126 -332.50 92.50 2.50 0.0601604 -332.50 92.50 7.50 0.0922626 -332.50 92.50 12.50 0.149325 -332.50 92.50 17.50 0.171122 -332.50 92.50 22.50 0.169878 -332.50 92.50 27.50 0.190179 -332.50 92.50 32.50 0.203044 -332.50 92.50 37.50 0.166468 -332.50 92.50 42.50 0.114674 -332.50 92.50 47.50 0.0938605 -332.50 92.50 52.50 0.114674 -332.50 92.50 57.50 0.166468 -332.50 92.50 62.50 0.203044 -332.50 92.50 67.50 0.190179 -332.50 92.50 72.50 0.169878 -332.50 92.50 77.50 0.171122 -332.50 92.50 82.50 0.149325 -332.50 92.50 87.50 0.0922626 -332.50 92.50 92.50 0.0601603 -332.50 92.50 97.50 0.0922626 -332.50 92.50 102.50 0.149325 -332.50 92.50 107.50 0.171122 -332.50 92.50 112.50 0.169877 -332.50 92.50 117.50 0.190179 -332.50 92.50 122.50 0.203044 -332.50 92.50 127.50 0.166468 -332.50 92.50 132.50 0.114674 -332.50 92.50 137.50 0.0938605 -332.50 92.50 142.50 0.114674 -332.50 92.50 147.50 0.166468 -332.50 92.50 152.50 0.203044 -332.50 92.50 157.50 0.190179 -332.50 92.50 162.50 0.169878 -332.50 92.50 167.50 0.171122 -332.50 92.50 172.50 0.149325 -332.50 92.50 177.50 0.0922627 -332.50 92.50 182.50 0.0601604 -332.50 92.50 187.50 0.0922625 -332.50 92.50 192.50 0.149325 -332.50 92.50 197.50 0.171122 -332.50 92.50 202.50 0.169878 -332.50 92.50 207.50 0.190179 -332.50 92.50 212.50 0.203044 -332.50 92.50 217.50 0.166468 -332.50 92.50 222.50 0.114675 -332.50 92.50 227.50 0.0938606 -332.50 92.50 232.50 0.114675 -332.50 92.50 237.50 0.166468 -332.50 92.50 242.50 0.203044 -332.50 92.50 247.50 0.190179 -332.50 92.50 252.50 0.169877 -332.50 92.50 257.50 0.171122 -332.50 92.50 262.50 0.149325 -332.50 92.50 267.50 0.0922626 -332.50 92.50 272.50 0.0601604 -332.50 92.50 277.50 0.0922626 -332.50 92.50 282.50 0.149325 -332.50 92.50 287.50 0.171122 -332.50 92.50 292.50 0.169878 -332.50 92.50 297.50 0.190179 -332.50 92.50 302.50 0.203044 -332.50 92.50 307.50 0.166468 -332.50 92.50 312.50 0.114674 -332.50 92.50 317.50 0.0938605 -332.50 92.50 322.50 0.114674 -332.50 92.50 327.50 0.166468 -332.50 92.50 332.50 0.203044 -332.50 92.50 337.50 0.190179 -332.50 92.50 342.50 0.169877 -332.50 92.50 347.50 0.171122 -332.50 92.50 352.50 0.149325 -332.50 92.50 357.50 0.0922628 -332.50 97.50 2.50 0.100122 -332.50 97.50 7.50 0.288125 -332.50 97.50 12.50 0.437267 -332.50 97.50 17.50 0.540058 -332.50 97.50 22.50 0.545034 -332.50 97.50 27.50 0.583739 -332.50 97.50 32.50 0.572538 -332.50 97.50 37.50 0.417592 -332.50 97.50 42.50 0.227323 -332.50 97.50 47.50 0.107119 -332.50 97.50 52.50 0.05611 -332.50 97.50 57.50 0.0433886 -332.50 97.50 62.50 0.0425104 -332.50 97.50 67.50 0.0399646 -332.50 97.50 72.50 0.0471943 -332.50 97.50 77.50 0.0569522 -332.50 97.50 82.50 0.0552737 -332.50 97.50 87.50 0.043975 -332.50 97.50 92.50 0.100122 -332.50 97.50 97.50 0.288125 -332.50 97.50 102.50 0.437267 -332.50 97.50 107.50 0.540058 -332.50 97.50 112.50 0.545034 -332.50 97.50 117.50 0.583739 -332.50 97.50 122.50 0.572538 -332.50 97.50 127.50 0.417592 -332.50 97.50 132.50 0.227323 -332.50 97.50 137.50 0.107119 -332.50 97.50 142.50 0.0561101 -332.50 97.50 147.50 0.0433887 -332.50 97.50 152.50 0.0425105 -332.50 97.50 157.50 0.0399646 -332.50 97.50 162.50 0.0471942 -332.50 97.50 167.50 0.0569522 -332.50 97.50 172.50 0.0552737 -332.50 97.50 177.50 0.043975 -332.50 97.50 182.50 0.100121 -332.50 97.50 187.50 0.288125 -332.50 97.50 192.50 0.437267 -332.50 97.50 197.50 0.540057 -332.50 97.50 202.50 0.545034 -332.50 97.50 207.50 0.583739 -332.50 97.50 212.50 0.572538 -332.50 97.50 217.50 0.417593 -332.50 97.50 222.50 0.227323 -332.50 97.50 227.50 0.107119 -332.50 97.50 232.50 0.0561101 -332.50 97.50 237.50 0.0433887 -332.50 97.50 242.50 0.0425105 -332.50 97.50 247.50 0.0399646 -332.50 97.50 252.50 0.0471943 -332.50 97.50 257.50 0.0569522 -332.50 97.50 262.50 0.0552737 -332.50 97.50 267.50 0.043975 -332.50 97.50 272.50 0.100122 -332.50 97.50 277.50 0.288125 -332.50 97.50 282.50 0.437267 -332.50 97.50 287.50 0.540058 -332.50 97.50 292.50 0.545034 -332.50 97.50 297.50 0.583739 -332.50 97.50 302.50 0.572538 -332.50 97.50 307.50 0.417592 -332.50 97.50 312.50 0.227323 -332.50 97.50 317.50 0.107119 -332.50 97.50 322.50 0.0561101 -332.50 97.50 327.50 0.0433887 -332.50 97.50 332.50 0.0425105 -332.50 97.50 337.50 0.0399646 -332.50 97.50 342.50 0.0471942 -332.50 97.50 347.50 0.0569521 -332.50 97.50 352.50 0.0552738 -332.50 97.50 357.50 0.043975 -332.50 102.50 2.50 0.23184 -332.50 102.50 7.50 0.644251 -332.50 102.50 12.50 1.16202 -332.50 102.50 17.50 1.28754 -332.50 102.50 22.50 1.3641 -332.50 102.50 27.50 1.32674 -332.50 102.50 32.50 1.11644 -332.50 102.50 37.50 0.739674 -332.50 102.50 42.50 0.378742 -332.50 102.50 47.50 0.150946 -332.50 102.50 52.50 0.0511639 -332.50 102.50 57.50 0.0239013 -332.50 102.50 62.50 0.01427 -332.50 102.50 67.50 0.0110281 -332.50 102.50 72.50 0.0182391 -332.50 102.50 77.50 0.0212911 -332.50 102.50 82.50 0.0268917 -332.50 102.50 87.50 0.0673561 -332.50 102.50 92.50 0.23184 -332.50 102.50 97.50 0.644251 -332.50 102.50 102.50 1.16202 -332.50 102.50 107.50 1.28754 -332.50 102.50 112.50 1.3641 -332.50 102.50 117.50 1.32674 -332.50 102.50 122.50 1.11644 -332.50 102.50 127.50 0.739673 -332.50 102.50 132.50 0.378742 -332.50 102.50 137.50 0.150946 -332.50 102.50 142.50 0.0511639 -332.50 102.50 147.50 0.0239013 -332.50 102.50 152.50 0.01427 -332.50 102.50 157.50 0.0110281 -332.50 102.50 162.50 0.0182391 -332.50 102.50 167.50 0.0212911 -332.50 102.50 172.50 0.0268917 -332.50 102.50 177.50 0.067356 -332.50 102.50 182.50 0.23184 -332.50 102.50 187.50 0.644251 -332.50 102.50 192.50 1.16202 -332.50 102.50 197.50 1.28754 -332.50 102.50 202.50 1.3641 -332.50 102.50 207.50 1.32674 -332.50 102.50 212.50 1.11644 -332.50 102.50 217.50 0.739674 -332.50 102.50 222.50 0.378743 -332.50 102.50 227.50 0.150946 -332.50 102.50 232.50 0.0511638 -332.50 102.50 237.50 0.0239013 -332.50 102.50 242.50 0.01427 -332.50 102.50 247.50 0.0110281 -332.50 102.50 252.50 0.0182391 -332.50 102.50 257.50 0.0212911 -332.50 102.50 262.50 0.0268917 -332.50 102.50 267.50 0.0673562 -332.50 102.50 272.50 0.23184 -332.50 102.50 277.50 0.644251 -332.50 102.50 282.50 1.16202 -332.50 102.50 287.50 1.28754 -332.50 102.50 292.50 1.3641 -332.50 102.50 297.50 1.32674 -332.50 102.50 302.50 1.11644 -332.50 102.50 307.50 0.739674 -332.50 102.50 312.50 0.378743 -332.50 102.50 317.50 0.150946 -332.50 102.50 322.50 0.051164 -332.50 102.50 327.50 0.0239013 -332.50 102.50 332.50 0.01427 -332.50 102.50 337.50 0.0110281 -332.50 102.50 342.50 0.0182391 -332.50 102.50 347.50 0.0212911 -332.50 102.50 352.50 0.0268917 -332.50 102.50 357.50 0.067356 -332.50 107.50 2.50 0.522419 -332.50 107.50 7.50 1.32122 -332.50 107.50 12.50 2.20364 -332.50 107.50 17.50 2.86929 -332.50 107.50 22.50 2.8726 -332.50 107.50 27.50 2.49693 -332.50 107.50 32.50 1.82857 -332.50 107.50 37.50 1.09998 -332.50 107.50 42.50 0.516708 -332.50 107.50 47.50 0.203043 -332.50 107.50 52.50 0.0627265 -332.50 107.50 57.50 0.024495 -332.50 107.50 62.50 0.00735713 -332.50 107.50 67.50 0.00480852 -332.50 107.50 72.50 0.0132994 -332.50 107.50 77.50 0.0245769 -332.50 107.50 82.50 0.0495179 -332.50 107.50 87.50 0.167539 -332.50 107.50 92.50 0.52242 -332.50 107.50 97.50 1.32122 -332.50 107.50 102.50 2.20364 -332.50 107.50 107.50 2.86929 -332.50 107.50 112.50 2.8726 -332.50 107.50 117.50 2.49693 -332.50 107.50 122.50 1.82857 -332.50 107.50 127.50 1.09998 -332.50 107.50 132.50 0.516708 -332.50 107.50 137.50 0.203043 -332.50 107.50 142.50 0.0627265 -332.50 107.50 147.50 0.024495 -332.50 107.50 152.50 0.00735715 -332.50 107.50 157.50 0.00480852 -332.50 107.50 162.50 0.0132993 -332.50 107.50 167.50 0.0245769 -332.50 107.50 172.50 0.0495178 -332.50 107.50 177.50 0.167539 -332.50 107.50 182.50 0.522419 -332.50 107.50 187.50 1.32122 -332.50 107.50 192.50 2.20364 -332.50 107.50 197.50 2.86929 -332.50 107.50 202.50 2.8726 -332.50 107.50 207.50 2.49693 -332.50 107.50 212.50 1.82857 -332.50 107.50 217.50 1.09999 -332.50 107.50 222.50 0.516709 -332.50 107.50 227.50 0.203043 -332.50 107.50 232.50 0.0627263 -332.50 107.50 237.50 0.0244949 -332.50 107.50 242.50 0.00735712 -332.50 107.50 247.50 0.00480852 -332.50 107.50 252.50 0.0132994 -332.50 107.50 257.50 0.0245769 -332.50 107.50 262.50 0.0495179 -332.50 107.50 267.50 0.167539 -332.50 107.50 272.50 0.52242 -332.50 107.50 277.50 1.32122 -332.50 107.50 282.50 2.20364 -332.50 107.50 287.50 2.86929 -332.50 107.50 292.50 2.8726 -332.50 107.50 297.50 2.49693 -332.50 107.50 302.50 1.82857 -332.50 107.50 307.50 1.09999 -332.50 107.50 312.50 0.516709 -332.50 107.50 317.50 0.203043 -332.50 107.50 322.50 0.0627267 -332.50 107.50 327.50 0.0244951 -332.50 107.50 332.50 0.00735716 -332.50 107.50 337.50 0.00480852 -332.50 107.50 342.50 0.0132993 -332.50 107.50 347.50 0.0245769 -332.50 107.50 352.50 0.0495177 -332.50 107.50 357.50 0.167539 -332.50 112.50 2.50 1.09345 -332.50 112.50 7.50 2.33131 -332.50 112.50 12.50 3.60754 -332.50 112.50 17.50 4.3741 -332.50 112.50 22.50 4.51332 -332.50 112.50 27.50 3.68294 -332.50 112.50 32.50 2.39754 -332.50 112.50 37.50 1.24276 -332.50 112.50 42.50 0.569088 -332.50 112.50 47.50 0.232757 -332.50 112.50 52.50 0.0711077 -332.50 112.50 57.50 0.0160792 -332.50 112.50 62.50 0.00563605 -332.50 112.50 67.50 0.0101522 -332.50 112.50 72.50 0.0217754 -332.50 112.50 77.50 0.0443852 -332.50 112.50 82.50 0.141006 -332.50 112.50 87.50 0.40894 -332.50 112.50 92.50 1.09345 -332.50 112.50 97.50 2.33131 -332.50 112.50 102.50 3.60754 -332.50 112.50 107.50 4.3741 -332.50 112.50 112.50 4.51332 -332.50 112.50 117.50 3.68294 -332.50 112.50 122.50 2.39753 -332.50 112.50 127.50 1.24276 -332.50 112.50 132.50 0.569087 -332.50 112.50 137.50 0.232757 -332.50 112.50 142.50 0.0711076 -332.50 112.50 147.50 0.0160792 -332.50 112.50 152.50 0.00563606 -332.50 112.50 157.50 0.0101522 -332.50 112.50 162.50 0.0217754 -332.50 112.50 167.50 0.0443851 -332.50 112.50 172.50 0.141005 -332.50 112.50 177.50 0.40894 -332.50 112.50 182.50 1.09345 -332.50 112.50 187.50 2.33131 -332.50 112.50 192.50 3.60754 -332.50 112.50 197.50 4.3741 -332.50 112.50 202.50 4.51332 -332.50 112.50 207.50 3.68294 -332.50 112.50 212.50 2.39753 -332.50 112.50 217.50 1.24276 -332.50 112.50 222.50 0.569088 -332.50 112.50 227.50 0.232757 -332.50 112.50 232.50 0.0711075 -332.50 112.50 237.50 0.0160791 -332.50 112.50 242.50 0.00563604 -332.50 112.50 247.50 0.0101522 -332.50 112.50 252.50 0.0217754 -332.50 112.50 257.50 0.0443852 -332.50 112.50 262.50 0.141006 -332.50 112.50 267.50 0.408941 -332.50 112.50 272.50 1.09345 -332.50 112.50 277.50 2.33131 -332.50 112.50 282.50 3.60754 -332.50 112.50 287.50 4.3741 -332.50 112.50 292.50 4.51332 -332.50 112.50 297.50 3.68294 -332.50 112.50 302.50 2.39754 -332.50 112.50 307.50 1.24276 -332.50 112.50 312.50 0.569088 -332.50 112.50 317.50 0.232757 -332.50 112.50 322.50 0.0711079 -332.50 112.50 327.50 0.0160793 -332.50 112.50 332.50 0.00563607 -332.50 112.50 337.50 0.0101522 -332.50 112.50 342.50 0.0217754 -332.50 112.50 347.50 0.0443851 -332.50 112.50 352.50 0.141005 -332.50 112.50 357.50 0.40894 -332.50 117.50 2.50 1.96804 -332.50 117.50 7.50 3.5881 -332.50 117.50 12.50 4.88871 -332.50 117.50 17.50 5.45633 -332.50 117.50 22.50 5.11389 -332.50 117.50 27.50 3.94446 -332.50 117.50 32.50 2.38624 -332.50 117.50 37.50 1.11393 -332.50 117.50 42.50 0.449242 -332.50 117.50 47.50 0.160589 -332.50 117.50 52.50 0.0465226 -332.50 117.50 57.50 0.0081022 -332.50 117.50 62.50 0.00519189 -332.50 117.50 67.50 0.0137423 -332.50 117.50 72.50 0.0403447 -332.50 117.50 77.50 0.12179 -332.50 117.50 82.50 0.347858 -332.50 117.50 87.50 0.870676 -332.50 117.50 92.50 1.96804 -332.50 117.50 97.50 3.5881 -332.50 117.50 102.50 4.88871 -332.50 117.50 107.50 5.45633 -332.50 117.50 112.50 5.11389 -332.50 117.50 117.50 3.94446 -332.50 117.50 122.50 2.38624 -332.50 117.50 127.50 1.11393 -332.50 117.50 132.50 0.449242 -332.50 117.50 137.50 0.160588 -332.50 117.50 142.50 0.0465225 -332.50 117.50 147.50 0.00810219 -332.50 117.50 152.50 0.00519187 -332.50 117.50 157.50 0.0137422 -332.50 117.50 162.50 0.0403446 -332.50 117.50 167.50 0.12179 -332.50 117.50 172.50 0.347857 -332.50 117.50 177.50 0.870675 -332.50 117.50 182.50 1.96804 -332.50 117.50 187.50 3.58811 -332.50 117.50 192.50 4.88871 -332.50 117.50 197.50 5.45633 -332.50 117.50 202.50 5.11389 -332.50 117.50 207.50 3.94446 -332.50 117.50 212.50 2.38624 -332.50 117.50 217.50 1.11393 -332.50 117.50 222.50 0.449242 -332.50 117.50 227.50 0.160589 -332.50 117.50 232.50 0.0465225 -332.50 117.50 237.50 0.00810218 -332.50 117.50 242.50 0.00519189 -332.50 117.50 247.50 0.0137423 -332.50 117.50 252.50 0.0403447 -332.50 117.50 257.50 0.12179 -332.50 117.50 262.50 0.347858 -332.50 117.50 267.50 0.870676 -332.50 117.50 272.50 1.96804 -332.50 117.50 277.50 3.5881 -332.50 117.50 282.50 4.88871 -332.50 117.50 287.50 5.45633 -332.50 117.50 292.50 5.11389 -332.50 117.50 297.50 3.94446 -332.50 117.50 302.50 2.38624 -332.50 117.50 307.50 1.11393 -332.50 117.50 312.50 0.449242 -332.50 117.50 317.50 0.160589 -332.50 117.50 322.50 0.0465226 -332.50 117.50 327.50 0.00810221 -332.50 117.50 332.50 0.00519185 -332.50 117.50 337.50 0.0137422 -332.50 117.50 342.50 0.0403446 -332.50 117.50 347.50 0.12179 -332.50 117.50 352.50 0.347857 -332.50 117.50 357.50 0.870673 -332.50 122.50 2.50 2.99998 -332.50 122.50 7.50 4.66052 -332.50 122.50 12.50 5.52208 -332.50 122.50 17.50 5.56268 -332.50 122.50 22.50 4.69798 -332.50 122.50 27.50 3.29407 -332.50 122.50 32.50 1.79067 -332.50 122.50 37.50 0.760749 -332.50 122.50 42.50 0.228708 -332.50 122.50 47.50 0.0635649 -332.50 122.50 52.50 0.0160806 -332.50 122.50 57.50 0.00644963 -332.50 122.50 62.50 0.015063 -332.50 122.50 67.50 0.0423287 -332.50 122.50 72.50 0.128789 -332.50 122.50 77.50 0.352536 -332.50 122.50 82.50 0.816471 -332.50 122.50 87.50 1.64726 -332.50 122.50 92.50 2.99998 -332.50 122.50 97.50 4.66052 -332.50 122.50 102.50 5.52208 -332.50 122.50 107.50 5.56268 -332.50 122.50 112.50 4.69797 -332.50 122.50 117.50 3.29407 -332.50 122.50 122.50 1.79067 -332.50 122.50 127.50 0.760748 -332.50 122.50 132.50 0.228708 -332.50 122.50 137.50 0.0635649 -332.50 122.50 142.50 0.0160806 -332.50 122.50 147.50 0.00644963 -332.50 122.50 152.50 0.0150629 -332.50 122.50 157.50 0.0423286 -332.50 122.50 162.50 0.128789 -332.50 122.50 167.50 0.352535 -332.50 122.50 172.50 0.816469 -332.50 122.50 177.50 1.64726 -332.50 122.50 182.50 2.99998 -332.50 122.50 187.50 4.66052 -332.50 122.50 192.50 5.52208 -332.50 122.50 197.50 5.56269 -332.50 122.50 202.50 4.69798 -332.50 122.50 207.50 3.29407 -332.50 122.50 212.50 1.79067 -332.50 122.50 217.50 0.760749 -332.50 122.50 222.50 0.228709 -332.50 122.50 227.50 0.063565 -332.50 122.50 232.50 0.0160805 -332.50 122.50 237.50 0.00644963 -332.50 122.50 242.50 0.015063 -332.50 122.50 247.50 0.0423287 -332.50 122.50 252.50 0.128789 -332.50 122.50 257.50 0.352536 -332.50 122.50 262.50 0.81647 -332.50 122.50 267.50 1.64726 -332.50 122.50 272.50 2.99998 -332.50 122.50 277.50 4.66052 -332.50 122.50 282.50 5.52208 -332.50 122.50 287.50 5.56268 -332.50 122.50 292.50 4.69798 -332.50 122.50 297.50 3.29407 -332.50 122.50 302.50 1.79067 -332.50 122.50 307.50 0.76075 -332.50 122.50 312.50 0.228709 -332.50 122.50 317.50 0.0635651 -332.50 122.50 322.50 0.0160806 -332.50 122.50 327.50 0.00644963 -332.50 122.50 332.50 0.0150629 -332.50 122.50 337.50 0.0423285 -332.50 122.50 342.50 0.128788 -332.50 122.50 347.50 0.352535 -332.50 122.50 352.50 0.816469 -332.50 122.50 357.50 1.64725 -332.50 127.50 2.50 3.97879 -332.50 127.50 7.50 5.14815 -332.50 127.50 12.50 5.31958 -332.50 127.50 17.50 4.61669 -332.50 127.50 22.50 3.46852 -332.50 127.50 27.50 2.23603 -332.50 127.50 32.50 1.13083 -332.50 127.50 37.50 0.405449 -332.50 127.50 42.50 0.10508 -332.50 127.50 47.50 0.0226139 -332.50 127.50 52.50 0.00544402 -332.50 127.50 57.50 0.012454 -332.50 127.50 62.50 0.0483812 -332.50 127.50 67.50 0.147508 -332.50 127.50 72.50 0.38421 -332.50 127.50 77.50 0.878168 -332.50 127.50 82.50 1.71985 -332.50 127.50 87.50 2.7973 -332.50 127.50 92.50 3.97879 -332.50 127.50 97.50 5.14815 -332.50 127.50 102.50 5.31958 -332.50 127.50 107.50 4.61669 -332.50 127.50 112.50 3.46852 -332.50 127.50 117.50 2.23603 -332.50 127.50 122.50 1.13083 -332.50 127.50 127.50 0.405449 -332.50 127.50 132.50 0.10508 -332.50 127.50 137.50 0.0226139 -332.50 127.50 142.50 0.00544401 -332.50 127.50 147.50 0.012454 -332.50 127.50 152.50 0.0483811 -332.50 127.50 157.50 0.147507 -332.50 127.50 162.50 0.384209 -332.50 127.50 167.50 0.878167 -332.50 127.50 172.50 1.71985 -332.50 127.50 177.50 2.7973 -332.50 127.50 182.50 3.97879 -332.50 127.50 187.50 5.14815 -332.50 127.50 192.50 5.31958 -332.50 127.50 197.50 4.61669 -332.50 127.50 202.50 3.46852 -332.50 127.50 207.50 2.23604 -332.50 127.50 212.50 1.13083 -332.50 127.50 217.50 0.40545 -332.50 127.50 222.50 0.10508 -332.50 127.50 227.50 0.022614 -332.50 127.50 232.50 0.00544401 -332.50 127.50 237.50 0.012454 -332.50 127.50 242.50 0.0483812 -332.50 127.50 247.50 0.147508 -332.50 127.50 252.50 0.38421 -332.50 127.50 257.50 0.878168 -332.50 127.50 262.50 1.71986 -332.50 127.50 267.50 2.7973 -332.50 127.50 272.50 3.97879 -332.50 127.50 277.50 5.14815 -332.50 127.50 282.50 5.31958 -332.50 127.50 287.50 4.61669 -332.50 127.50 292.50 3.46852 -332.50 127.50 297.50 2.23604 -332.50 127.50 302.50 1.13084 -332.50 127.50 307.50 0.405451 -332.50 127.50 312.50 0.10508 -332.50 127.50 317.50 0.022614 -332.50 127.50 322.50 0.00544401 -332.50 127.50 327.50 0.012454 -332.50 127.50 332.50 0.0483811 -332.50 127.50 337.50 0.147507 -332.50 127.50 342.50 0.384209 -332.50 127.50 347.50 0.878166 -332.50 127.50 352.50 1.71985 -332.50 127.50 357.50 2.7973 -332.50 132.50 2.50 4.69043 -332.50 132.50 7.50 4.9821 -332.50 132.50 12.50 4.46699 -332.50 132.50 17.50 3.28921 -332.50 132.50 22.50 2.13189 -332.50 132.50 27.50 1.22267 -332.50 132.50 32.50 0.570495 -332.50 132.50 37.50 0.192946 -332.50 132.50 42.50 0.0410824 -332.50 132.50 47.50 0.00650743 -332.50 132.50 52.50 0.00928605 -332.50 132.50 57.50 0.0411485 -332.50 132.50 62.50 0.126389 -332.50 132.50 67.50 0.383309 -332.50 132.50 72.50 0.884919 -332.50 132.50 77.50 1.72464 -332.50 132.50 82.50 2.95837 -332.50 132.50 87.50 4.08368 -332.50 132.50 92.50 4.69043 -332.50 132.50 97.50 4.9821 -332.50 132.50 102.50 4.46699 -332.50 132.50 107.50 3.28921 -332.50 132.50 112.50 2.13189 -332.50 132.50 117.50 1.22267 -332.50 132.50 122.50 0.570494 -332.50 132.50 127.50 0.192946 -332.50 132.50 132.50 0.0410823 -332.50 132.50 137.50 0.00650742 -332.50 132.50 142.50 0.00928604 -332.50 132.50 147.50 0.0411485 -332.50 132.50 152.50 0.126388 -332.50 132.50 157.50 0.383308 -332.50 132.50 162.50 0.884918 -332.50 132.50 167.50 1.72464 -332.50 132.50 172.50 2.95837 -332.50 132.50 177.50 4.08368 -332.50 132.50 182.50 4.69043 -332.50 132.50 187.50 4.98209 -332.50 132.50 192.50 4.46699 -332.50 132.50 197.50 3.28921 -332.50 132.50 202.50 2.13189 -332.50 132.50 207.50 1.22267 -332.50 132.50 212.50 0.570495 -332.50 132.50 217.50 0.192946 -332.50 132.50 222.50 0.0410824 -332.50 132.50 227.50 0.00650744 -332.50 132.50 232.50 0.00928606 -332.50 132.50 237.50 0.0411486 -332.50 132.50 242.50 0.126388 -332.50 132.50 247.50 0.383309 -332.50 132.50 252.50 0.884919 -332.50 132.50 257.50 1.72464 -332.50 132.50 262.50 2.95837 -332.50 132.50 267.50 4.08368 -332.50 132.50 272.50 4.69043 -332.50 132.50 277.50 4.98209 -332.50 132.50 282.50 4.46699 -332.50 132.50 287.50 3.28921 -332.50 132.50 292.50 2.13189 -332.50 132.50 297.50 1.22267 -332.50 132.50 302.50 0.570496 -332.50 132.50 307.50 0.192946 -332.50 132.50 312.50 0.0410824 -332.50 132.50 317.50 0.00650744 -332.50 132.50 322.50 0.00928603 -332.50 132.50 327.50 0.0411484 -332.50 132.50 332.50 0.126388 -332.50 132.50 337.50 0.383308 -332.50 132.50 342.50 0.884917 -332.50 132.50 347.50 1.72464 -332.50 132.50 352.50 2.95837 -332.50 132.50 357.50 4.08367 -332.50 137.50 2.50 4.95231 -332.50 137.50 7.50 4.39341 -332.50 137.50 12.50 3.38468 -332.50 137.50 17.50 2.1082 -332.50 137.50 22.50 1.12772 -332.50 137.50 27.50 0.533431 -332.50 137.50 32.50 0.2135 -332.50 137.50 37.50 0.0660298 -332.50 137.50 42.50 0.0117542 -332.50 137.50 47.50 0.00573955 -332.50 137.50 52.50 0.0206883 -332.50 137.50 57.50 0.0961168 -332.50 137.50 62.50 0.316416 -332.50 137.50 67.50 0.775073 -332.50 137.50 72.50 1.56269 -332.50 137.50 77.50 2.64963 -332.50 137.50 82.50 4.02082 -332.50 137.50 87.50 4.95934 -332.50 137.50 92.50 4.95231 -332.50 137.50 97.50 4.39341 -332.50 137.50 102.50 3.38468 -332.50 137.50 107.50 2.1082 -332.50 137.50 112.50 1.12772 -332.50 137.50 117.50 0.533431 -332.50 137.50 122.50 0.2135 -332.50 137.50 127.50 0.0660297 -332.50 137.50 132.50 0.0117542 -332.50 137.50 137.50 0.00573954 -332.50 137.50 142.50 0.0206882 -332.50 137.50 147.50 0.0961167 -332.50 137.50 152.50 0.316416 -332.50 137.50 157.50 0.775072 -332.50 137.50 162.50 1.56269 -332.50 137.50 167.50 2.64963 -332.50 137.50 172.50 4.02082 -332.50 137.50 177.50 4.95934 -332.50 137.50 182.50 4.95231 -332.50 137.50 187.50 4.39341 -332.50 137.50 192.50 3.38468 -332.50 137.50 197.50 2.1082 -332.50 137.50 202.50 1.12772 -332.50 137.50 207.50 0.533432 -332.50 137.50 212.50 0.213501 -332.50 137.50 217.50 0.0660299 -332.50 137.50 222.50 0.0117542 -332.50 137.50 227.50 0.00573953 -332.50 137.50 232.50 0.0206883 -332.50 137.50 237.50 0.0961169 -332.50 137.50 242.50 0.316416 -332.50 137.50 247.50 0.775073 -332.50 137.50 252.50 1.56269 -332.50 137.50 257.50 2.64963 -332.50 137.50 262.50 4.02082 -332.50 137.50 267.50 4.95934 -332.50 137.50 272.50 4.95231 -332.50 137.50 277.50 4.39341 -332.50 137.50 282.50 3.38468 -332.50 137.50 287.50 2.1082 -332.50 137.50 292.50 1.12772 -332.50 137.50 297.50 0.533432 -332.50 137.50 302.50 0.213501 -332.50 137.50 307.50 0.0660299 -332.50 137.50 312.50 0.0117542 -332.50 137.50 317.50 0.00573953 -332.50 137.50 322.50 0.0206882 -332.50 137.50 327.50 0.0961165 -332.50 137.50 332.50 0.316415 -332.50 137.50 337.50 0.775071 -332.50 137.50 342.50 1.56268 -332.50 137.50 347.50 2.64963 -332.50 137.50 352.50 4.02082 -332.50 137.50 357.50 4.95934 -332.50 142.50 2.50 4.69043 -332.50 142.50 7.50 3.58904 -332.50 142.50 12.50 2.37638 -332.50 142.50 17.50 1.26736 -332.50 142.50 22.50 0.550164 -332.50 142.50 27.50 0.201331 -332.50 142.50 32.50 0.0681547 -332.50 142.50 37.50 0.0164118 -332.50 142.50 42.50 0.00463361 -332.50 142.50 47.50 0.00979712 -332.50 142.50 52.50 0.0492261 -332.50 142.50 57.50 0.198828 -332.50 142.50 62.50 0.579263 -332.50 142.50 67.50 1.24594 -332.50 142.50 72.50 2.13667 -332.50 142.50 77.50 3.2594 -332.50 142.50 82.50 4.48177 -332.50 142.50 87.50 5.11111 -332.50 142.50 92.50 4.69043 -332.50 142.50 97.50 3.58904 -332.50 142.50 102.50 2.37638 -332.50 142.50 107.50 1.26736 -332.50 142.50 112.50 0.550164 -332.50 142.50 117.50 0.201331 -332.50 142.50 122.50 0.0681547 -332.50 142.50 127.50 0.0164118 -332.50 142.50 132.50 0.00463361 -332.50 142.50 137.50 0.0097971 -332.50 142.50 142.50 0.049226 -332.50 142.50 147.50 0.198828 -332.50 142.50 152.50 0.579262 -332.50 142.50 157.50 1.24593 -332.50 142.50 162.50 2.13666 -332.50 142.50 167.50 3.2594 -332.50 142.50 172.50 4.48177 -332.50 142.50 177.50 5.11111 -332.50 142.50 182.50 4.69043 -332.50 142.50 187.50 3.58904 -332.50 142.50 192.50 2.37638 -332.50 142.50 197.50 1.26736 -332.50 142.50 202.50 0.550164 -332.50 142.50 207.50 0.201332 -332.50 142.50 212.50 0.0681548 -332.50 142.50 217.50 0.0164118 -332.50 142.50 222.50 0.00463361 -332.50 142.50 227.50 0.00979708 -332.50 142.50 232.50 0.0492262 -332.50 142.50 237.50 0.198828 -332.50 142.50 242.50 0.579263 -332.50 142.50 247.50 1.24594 -332.50 142.50 252.50 2.13667 -332.50 142.50 257.50 3.2594 -332.50 142.50 262.50 4.48177 -332.50 142.50 267.50 5.11111 -332.50 142.50 272.50 4.69043 -332.50 142.50 277.50 3.58904 -332.50 142.50 282.50 2.37638 -332.50 142.50 287.50 1.26737 -332.50 142.50 292.50 0.550164 -332.50 142.50 297.50 0.201332 -332.50 142.50 302.50 0.0681548 -332.50 142.50 307.50 0.0164119 -332.50 142.50 312.50 0.00463361 -332.50 142.50 317.50 0.00979708 -332.50 142.50 322.50 0.0492259 -332.50 142.50 327.50 0.198827 -332.50 142.50 332.50 0.579261 -332.50 142.50 337.50 1.24593 -332.50 142.50 342.50 2.13666 -332.50 142.50 347.50 3.2594 -332.50 142.50 352.50 4.48177 -332.50 142.50 357.50 5.11111 -332.50 147.50 2.50 3.97878 -332.50 147.50 7.50 2.71873 -332.50 147.50 12.50 1.56092 -332.50 147.50 17.50 0.710542 -332.50 147.50 22.50 0.254907 -332.50 147.50 27.50 0.0727311 -332.50 147.50 32.50 0.0192987 -332.50 147.50 37.50 0.00595819 -332.50 147.50 42.50 0.00985914 -332.50 147.50 47.50 0.0338127 -332.50 147.50 52.50 0.118135 -332.50 147.50 57.50 0.374937 -332.50 147.50 62.50 0.888365 -332.50 147.50 67.50 1.60326 -332.50 147.50 72.50 2.39561 -332.50 147.50 77.50 3.31617 -332.50 147.50 82.50 4.256 -332.50 147.50 87.50 4.60371 -332.50 147.50 92.50 3.97878 -332.50 147.50 97.50 2.71873 -332.50 147.50 102.50 1.56092 -332.50 147.50 107.50 0.710542 -332.50 147.50 112.50 0.254907 -332.50 147.50 117.50 0.0727309 -332.50 147.50 122.50 0.0192987 -332.50 147.50 127.50 0.00595819 -332.50 147.50 132.50 0.00985912 -332.50 147.50 137.50 0.0338126 -332.50 147.50 142.50 0.118135 -332.50 147.50 147.50 0.374937 -332.50 147.50 152.50 0.888364 -332.50 147.50 157.50 1.60325 -332.50 147.50 162.50 2.39561 -332.50 147.50 167.50 3.31617 -332.50 147.50 172.50 4.256 -332.50 147.50 177.50 4.6037 -332.50 147.50 182.50 3.97878 -332.50 147.50 187.50 2.71873 -332.50 147.50 192.50 1.56092 -332.50 147.50 197.50 0.710542 -332.50 147.50 202.50 0.254907 -332.50 147.50 207.50 0.072731 -332.50 147.50 212.50 0.0192987 -332.50 147.50 217.50 0.0059582 -332.50 147.50 222.50 0.00985911 -332.50 147.50 227.50 0.0338126 -332.50 147.50 232.50 0.118135 -332.50 147.50 237.50 0.374937 -332.50 147.50 242.50 0.888365 -332.50 147.50 247.50 1.60326 -332.50 147.50 252.50 2.39561 -332.50 147.50 257.50 3.31617 -332.50 147.50 262.50 4.25601 -332.50 147.50 267.50 4.60371 -332.50 147.50 272.50 3.97879 -332.50 147.50 277.50 2.71873 -332.50 147.50 282.50 1.56092 -332.50 147.50 287.50 0.710542 -332.50 147.50 292.50 0.254907 -332.50 147.50 297.50 0.0727312 -332.50 147.50 302.50 0.0192987 -332.50 147.50 307.50 0.0059582 -332.50 147.50 312.50 0.00985911 -332.50 147.50 317.50 0.0338126 -332.50 147.50 322.50 0.118135 -332.50 147.50 327.50 0.374936 -332.50 147.50 332.50 0.888363 -332.50 147.50 337.50 1.60325 -332.50 147.50 342.50 2.39561 -332.50 147.50 347.50 3.31617 -332.50 147.50 352.50 4.256 -332.50 147.50 357.50 4.60371 -332.50 152.50 2.50 2.99998 -332.50 152.50 7.50 1.90997 -332.50 152.50 12.50 1.02375 -332.50 152.50 17.50 0.398624 -332.50 152.50 22.50 0.12523 -332.50 152.50 27.50 0.0277001 -332.50 152.50 32.50 0.00676333 -332.50 152.50 37.50 0.00755234 -332.50 152.50 42.50 0.0288182 -332.50 152.50 47.50 0.0970909 -332.50 152.50 52.50 0.252066 -332.50 152.50 57.50 0.590124 -332.50 152.50 62.50 1.18313 -332.50 152.50 67.50 1.85573 -332.50 152.50 72.50 2.38047 -332.50 152.50 77.50 3.01306 -332.50 152.50 82.50 3.52469 -332.50 152.50 87.50 3.62014 -332.50 152.50 92.50 2.99998 -332.50 152.50 97.50 1.90997 -332.50 152.50 102.50 1.02375 -332.50 152.50 107.50 0.398624 -332.50 152.50 112.50 0.12523 -332.50 152.50 117.50 0.0277 -332.50 152.50 122.50 0.00676332 -332.50 152.50 127.50 0.00755233 -332.50 152.50 132.50 0.0288181 -332.50 152.50 137.50 0.0970908 -332.50 152.50 142.50 0.252065 -332.50 152.50 147.50 0.590124 -332.50 152.50 152.50 1.18313 -332.50 152.50 157.50 1.85573 -332.50 152.50 162.50 2.38047 -332.50 152.50 167.50 3.01306 -332.50 152.50 172.50 3.52469 -332.50 152.50 177.50 3.62014 -332.50 152.50 182.50 2.99998 -332.50 152.50 187.50 1.90996 -332.50 152.50 192.50 1.02375 -332.50 152.50 197.50 0.398624 -332.50 152.50 202.50 0.12523 -332.50 152.50 207.50 0.0277001 -332.50 152.50 212.50 0.00676333 -332.50 152.50 217.50 0.00755232 -332.50 152.50 222.50 0.0288181 -332.50 152.50 227.50 0.0970907 -332.50 152.50 232.50 0.252066 -332.50 152.50 237.50 0.590124 -332.50 152.50 242.50 1.18313 -332.50 152.50 247.50 1.85573 -332.50 152.50 252.50 2.38047 -332.50 152.50 257.50 3.01306 -332.50 152.50 262.50 3.52469 -332.50 152.50 267.50 3.62014 -332.50 152.50 272.50 2.99999 -332.50 152.50 277.50 1.90997 -332.50 152.50 282.50 1.02375 -332.50 152.50 287.50 0.398624 -332.50 152.50 292.50 0.12523 -332.50 152.50 297.50 0.0277001 -332.50 152.50 302.50 0.00676333 -332.50 152.50 307.50 0.00755232 -332.50 152.50 312.50 0.0288181 -332.50 152.50 317.50 0.0970907 -332.50 152.50 322.50 0.252065 -332.50 152.50 327.50 0.590123 -332.50 152.50 332.50 1.18313 -332.50 152.50 337.50 1.85572 -332.50 152.50 342.50 2.38047 -332.50 152.50 347.50 3.01306 -332.50 152.50 352.50 3.52469 -332.50 152.50 357.50 3.62014 -332.50 157.50 2.50 1.96803 -332.50 157.50 7.50 1.24071 -332.50 157.50 12.50 0.671075 -332.50 157.50 17.50 0.279702 -332.50 157.50 22.50 0.0981172 -332.50 157.50 27.50 0.0316822 -332.50 157.50 32.50 0.00850378 -332.50 157.50 37.50 0.0142588 -332.50 157.50 42.50 0.0644324 -332.50 157.50 47.50 0.195391 -332.50 157.50 52.50 0.435607 -332.50 157.50 57.50 0.833259 -332.50 157.50 62.50 1.40128 -332.50 157.50 67.50 1.89582 -332.50 157.50 72.50 2.16923 -332.50 157.50 77.50 2.38837 -332.50 157.50 82.50 2.5334 -332.50 157.50 87.50 2.42077 -332.50 157.50 92.50 1.96803 -332.50 157.50 97.50 1.24071 -332.50 157.50 102.50 0.671075 -332.50 157.50 107.50 0.279702 -332.50 157.50 112.50 0.0981171 -332.50 157.50 117.50 0.0316821 -332.50 157.50 122.50 0.00850376 -332.50 157.50 127.50 0.0142588 -332.50 157.50 132.50 0.0644323 -332.50 157.50 137.50 0.195391 -332.50 157.50 142.50 0.435608 -332.50 157.50 147.50 0.833259 -332.50 157.50 152.50 1.40128 -332.50 157.50 157.50 1.89582 -332.50 157.50 162.50 2.16923 -332.50 157.50 167.50 2.38837 -332.50 157.50 172.50 2.5334 -332.50 157.50 177.50 2.42078 -332.50 157.50 182.50 1.96804 -332.50 157.50 187.50 1.24071 -332.50 157.50 192.50 0.671075 -332.50 157.50 197.50 0.279702 -332.50 157.50 202.50 0.0981172 -332.50 157.50 207.50 0.0316822 -332.50 157.50 212.50 0.00850377 -332.50 157.50 217.50 0.0142588 -332.50 157.50 222.50 0.0644322 -332.50 157.50 227.50 0.195391 -332.50 157.50 232.50 0.435608 -332.50 157.50 237.50 0.83326 -332.50 157.50 242.50 1.40128 -332.50 157.50 247.50 1.89583 -332.50 157.50 252.50 2.16923 -332.50 157.50 257.50 2.38837 -332.50 157.50 262.50 2.5334 -332.50 157.50 267.50 2.42077 -332.50 157.50 272.50 1.96804 -332.50 157.50 277.50 1.24071 -332.50 157.50 282.50 0.671075 -332.50 157.50 287.50 0.279702 -332.50 157.50 292.50 0.0981173 -332.50 157.50 297.50 0.0316822 -332.50 157.50 302.50 0.00850378 -332.50 157.50 307.50 0.0142588 -332.50 157.50 312.50 0.0644322 -332.50 157.50 317.50 0.195391 -332.50 157.50 322.50 0.435607 -332.50 157.50 327.50 0.833258 -332.50 157.50 332.50 1.40128 -332.50 157.50 337.50 1.89582 -332.50 157.50 342.50 2.16923 -332.50 157.50 347.50 2.38837 -332.50 157.50 352.50 2.5334 -332.50 157.50 357.50 2.42078 -332.50 162.50 2.50 1.09345 -332.50 162.50 7.50 0.717939 -332.50 162.50 12.50 0.412757 -332.50 162.50 17.50 0.239148 -332.50 162.50 22.50 0.13557 -332.50 162.50 27.50 0.0662609 -332.50 162.50 32.50 0.0246355 -332.50 162.50 37.50 0.0269772 -332.50 162.50 42.50 0.0971232 -332.50 162.50 47.50 0.278607 -332.50 162.50 52.50 0.59506 -332.50 162.50 57.50 1.02935 -332.50 162.50 62.50 1.48599 -332.50 162.50 67.50 1.74574 -332.50 162.50 72.50 1.72818 -332.50 162.50 77.50 1.61428 -332.50 162.50 82.50 1.52053 -332.50 162.50 87.50 1.35571 -332.50 162.50 92.50 1.09345 -332.50 162.50 97.50 0.717939 -332.50 162.50 102.50 0.412756 -332.50 162.50 107.50 0.239148 -332.50 162.50 112.50 0.13557 -332.50 162.50 117.50 0.0662609 -332.50 162.50 122.50 0.0246355 -332.50 162.50 127.50 0.0269772 -332.50 162.50 132.50 0.0971233 -332.50 162.50 137.50 0.278607 -332.50 162.50 142.50 0.59506 -332.50 162.50 147.50 1.02935 -332.50 162.50 152.50 1.48599 -332.50 162.50 157.50 1.74574 -332.50 162.50 162.50 1.72818 -332.50 162.50 167.50 1.61428 -332.50 162.50 172.50 1.52053 -332.50 162.50 177.50 1.35571 -332.50 162.50 182.50 1.09345 -332.50 162.50 187.50 0.717939 -332.50 162.50 192.50 0.412756 -332.50 162.50 197.50 0.239148 -332.50 162.50 202.50 0.13557 -332.50 162.50 207.50 0.0662609 -332.50 162.50 212.50 0.0246355 -332.50 162.50 217.50 0.0269771 -332.50 162.50 222.50 0.0971231 -332.50 162.50 227.50 0.278607 -332.50 162.50 232.50 0.595061 -332.50 162.50 237.50 1.02935 -332.50 162.50 242.50 1.48599 -332.50 162.50 247.50 1.74574 -332.50 162.50 252.50 1.72818 -332.50 162.50 257.50 1.61428 -332.50 162.50 262.50 1.52053 -332.50 162.50 267.50 1.35571 -332.50 162.50 272.50 1.09345 -332.50 162.50 277.50 0.717939 -332.50 162.50 282.50 0.412756 -332.50 162.50 287.50 0.239148 -332.50 162.50 292.50 0.13557 -332.50 162.50 297.50 0.066261 -332.50 162.50 302.50 0.0246356 -332.50 162.50 307.50 0.0269771 -332.50 162.50 312.50 0.0971231 -332.50 162.50 317.50 0.278606 -332.50 162.50 322.50 0.595059 -332.50 162.50 327.50 1.02935 -332.50 162.50 332.50 1.48599 -332.50 162.50 337.50 1.74574 -332.50 162.50 342.50 1.72818 -332.50 162.50 347.50 1.61428 -332.50 162.50 352.50 1.52053 -332.50 162.50 357.50 1.35571 -332.50 167.50 2.50 0.52242 -332.50 167.50 7.50 0.373755 -332.50 167.50 12.50 0.241365 -332.50 167.50 17.50 0.207394 -332.50 167.50 22.50 0.167805 -332.50 167.50 27.50 0.0978278 -332.50 167.50 32.50 0.0377467 -332.50 167.50 37.50 0.0400305 -332.50 167.50 42.50 0.11622 -332.50 167.50 47.50 0.296413 -332.50 167.50 52.50 0.631522 -332.50 167.50 57.50 1.10735 -332.50 167.50 62.50 1.49764 -332.50 167.50 67.50 1.52127 -332.50 167.50 72.50 1.23581 -332.50 167.50 77.50 0.925448 -332.50 167.50 82.50 0.737725 -332.50 167.50 87.50 0.637041 -332.50 167.50 92.50 0.52242 -332.50 167.50 97.50 0.373755 -332.50 167.50 102.50 0.241365 -332.50 167.50 107.50 0.207394 -332.50 167.50 112.50 0.167805 -332.50 167.50 117.50 0.0978277 -332.50 167.50 122.50 0.0377467 -332.50 167.50 127.50 0.0400305 -332.50 167.50 132.50 0.11622 -332.50 167.50 137.50 0.296413 -332.50 167.50 142.50 0.631522 -332.50 167.50 147.50 1.10734 -332.50 167.50 152.50 1.49764 -332.50 167.50 157.50 1.52127 -332.50 167.50 162.50 1.23581 -332.50 167.50 167.50 0.925448 -332.50 167.50 172.50 0.737725 -332.50 167.50 177.50 0.63704 -332.50 167.50 182.50 0.52242 -332.50 167.50 187.50 0.373755 -332.50 167.50 192.50 0.241365 -332.50 167.50 197.50 0.207394 -332.50 167.50 202.50 0.167805 -332.50 167.50 207.50 0.0978278 -332.50 167.50 212.50 0.0377467 -332.50 167.50 217.50 0.0400305 -332.50 167.50 222.50 0.11622 -332.50 167.50 227.50 0.296413 -332.50 167.50 232.50 0.631523 -332.50 167.50 237.50 1.10735 -332.50 167.50 242.50 1.49764 -332.50 167.50 247.50 1.52127 -332.50 167.50 252.50 1.23581 -332.50 167.50 257.50 0.925448 -332.50 167.50 262.50 0.737725 -332.50 167.50 267.50 0.637041 -332.50 167.50 272.50 0.52242 -332.50 167.50 277.50 0.373755 -332.50 167.50 282.50 0.241365 -332.50 167.50 287.50 0.207394 -332.50 167.50 292.50 0.167805 -332.50 167.50 297.50 0.0978279 -332.50 167.50 302.50 0.0377467 -332.50 167.50 307.50 0.0400304 -332.50 167.50 312.50 0.11622 -332.50 167.50 317.50 0.296413 -332.50 167.50 322.50 0.631521 -332.50 167.50 327.50 1.10734 -332.50 167.50 332.50 1.49764 -332.50 167.50 337.50 1.52127 -332.50 167.50 342.50 1.23581 -332.50 167.50 347.50 0.925448 -332.50 167.50 352.50 0.737725 -332.50 167.50 357.50 0.637041 -332.50 172.50 2.50 0.231841 -332.50 172.50 7.50 0.195649 -332.50 172.50 12.50 0.163188 -332.50 172.50 17.50 0.150042 -332.50 172.50 22.50 0.140385 -332.50 172.50 27.50 0.0951405 -332.50 172.50 32.50 0.0498095 -332.50 172.50 37.50 0.0441081 -332.50 172.50 42.50 0.100429 -332.50 172.50 47.50 0.252107 -332.50 172.50 52.50 0.562384 -332.50 172.50 57.50 1.00249 -332.50 172.50 62.50 1.30522 -332.50 172.50 67.50 1.20655 -332.50 172.50 72.50 0.815158 -332.50 172.50 77.50 0.461096 -332.50 172.50 82.50 0.304766 -332.50 172.50 87.50 0.25951 -332.50 172.50 92.50 0.231841 -332.50 172.50 97.50 0.195649 -332.50 172.50 102.50 0.163188 -332.50 172.50 107.50 0.150042 -332.50 172.50 112.50 0.140385 -332.50 172.50 117.50 0.0951404 -332.50 172.50 122.50 0.0498095 -332.50 172.50 127.50 0.0441081 -332.50 172.50 132.50 0.100429 -332.50 172.50 137.50 0.252107 -332.50 172.50 142.50 0.562384 -332.50 172.50 147.50 1.00249 -332.50 172.50 152.50 1.30522 -332.50 172.50 157.50 1.20655 -332.50 172.50 162.50 0.815158 -332.50 172.50 167.50 0.461096 -332.50 172.50 172.50 0.304766 -332.50 172.50 177.50 0.259509 -332.50 172.50 182.50 0.231841 -332.50 172.50 187.50 0.195649 -332.50 172.50 192.50 0.163188 -332.50 172.50 197.50 0.150042 -332.50 172.50 202.50 0.140385 -332.50 172.50 207.50 0.0951406 -332.50 172.50 212.50 0.0498095 -332.50 172.50 217.50 0.044108 -332.50 172.50 222.50 0.100429 -332.50 172.50 227.50 0.252107 -332.50 172.50 232.50 0.562385 -332.50 172.50 237.50 1.00249 -332.50 172.50 242.50 1.30522 -332.50 172.50 247.50 1.20655 -332.50 172.50 252.50 0.815158 -332.50 172.50 257.50 0.461096 -332.50 172.50 262.50 0.304766 -332.50 172.50 267.50 0.259509 -332.50 172.50 272.50 0.23184 -332.50 172.50 277.50 0.195649 -332.50 172.50 282.50 0.163188 -332.50 172.50 287.50 0.150042 -332.50 172.50 292.50 0.140385 -332.50 172.50 297.50 0.0951406 -332.50 172.50 302.50 0.0498095 -332.50 172.50 307.50 0.044108 -332.50 172.50 312.50 0.100429 -332.50 172.50 317.50 0.252107 -332.50 172.50 322.50 0.562383 -332.50 172.50 327.50 1.00249 -332.50 172.50 332.50 1.30522 -332.50 172.50 337.50 1.20655 -332.50 172.50 342.50 0.815159 -332.50 172.50 347.50 0.461096 -332.50 172.50 352.50 0.304766 -332.50 172.50 357.50 0.25951 -332.50 177.50 2.50 0.100122 -332.50 177.50 7.50 0.106232 -332.50 177.50 12.50 0.106938 -332.50 177.50 17.50 0.105452 -332.50 177.50 22.50 0.0979377 -332.50 177.50 27.50 0.0748372 -332.50 177.50 32.50 0.0465596 -332.50 177.50 37.50 0.041079 -332.50 177.50 42.50 0.0718402 -332.50 177.50 47.50 0.173854 -332.50 177.50 52.50 0.416236 -332.50 177.50 57.50 0.781006 -332.50 177.50 62.50 1.00586 -332.50 177.50 67.50 0.859325 -332.50 177.50 72.50 0.502348 -332.50 177.50 77.50 0.226977 -332.50 177.50 82.50 0.114763 -332.50 177.50 87.50 0.0945825 -332.50 177.50 92.50 0.100122 -332.50 177.50 97.50 0.106232 -332.50 177.50 102.50 0.106938 -332.50 177.50 107.50 0.105452 -332.50 177.50 112.50 0.0979377 -332.50 177.50 117.50 0.0748372 -332.50 177.50 122.50 0.0465597 -332.50 177.50 127.50 0.041079 -332.50 177.50 132.50 0.0718402 -332.50 177.50 137.50 0.173854 -332.50 177.50 142.50 0.416236 -332.50 177.50 147.50 0.781006 -332.50 177.50 152.50 1.00586 -332.50 177.50 157.50 0.859325 -332.50 177.50 162.50 0.502348 -332.50 177.50 167.50 0.226978 -332.50 177.50 172.50 0.114763 -332.50 177.50 177.50 0.0945824 -332.50 177.50 182.50 0.100122 -332.50 177.50 187.50 0.106232 -332.50 177.50 192.50 0.106938 -332.50 177.50 197.50 0.105452 -332.50 177.50 202.50 0.0979377 -332.50 177.50 207.50 0.0748372 -332.50 177.50 212.50 0.0465597 -332.50 177.50 217.50 0.041079 -332.50 177.50 222.50 0.0718402 -332.50 177.50 227.50 0.173854 -332.50 177.50 232.50 0.416237 -332.50 177.50 237.50 0.781006 -332.50 177.50 242.50 1.00586 -332.50 177.50 247.50 0.859325 -332.50 177.50 252.50 0.502347 -332.50 177.50 257.50 0.226978 -332.50 177.50 262.50 0.114763 -332.50 177.50 267.50 0.0945825 -332.50 177.50 272.50 0.100122 -332.50 177.50 277.50 0.106232 -332.50 177.50 282.50 0.106938 -332.50 177.50 287.50 0.105452 -332.50 177.50 292.50 0.0979377 -332.50 177.50 297.50 0.0748373 -332.50 177.50 302.50 0.0465597 -332.50 177.50 307.50 0.041079 -332.50 177.50 312.50 0.0718402 -332.50 177.50 317.50 0.173854 -332.50 177.50 322.50 0.416235 -332.50 177.50 327.50 0.781005 -332.50 177.50 332.50 1.00586 -332.50 177.50 337.50 0.859326 -332.50 177.50 342.50 0.502349 -332.50 177.50 347.50 0.226978 -332.50 177.50 352.50 0.114763 -332.50 177.50 357.50 0.0945824 -337.50 2.50 2.50 0.048522 -337.50 2.50 7.50 0.0624685 -337.50 2.50 12.50 0.149977 -337.50 2.50 17.50 0.393272 -337.50 2.50 22.50 0.773178 -337.50 2.50 27.50 0.980476 -337.50 2.50 32.50 0.773179 -337.50 2.50 37.50 0.393273 -337.50 2.50 42.50 0.149977 -337.50 2.50 47.50 0.0624686 -337.50 2.50 52.50 0.0485219 -337.50 2.50 57.50 0.0601603 -337.50 2.50 62.50 0.0760385 -337.50 2.50 67.50 0.083846 -337.50 2.50 72.50 0.084539 -337.50 2.50 77.50 0.083846 -337.50 2.50 82.50 0.0760386 -337.50 2.50 87.50 0.0601604 -337.50 2.50 92.50 0.048522 -337.50 2.50 97.50 0.0624686 -337.50 2.50 102.50 0.149977 -337.50 2.50 107.50 0.393272 -337.50 2.50 112.50 0.773178 -337.50 2.50 117.50 0.980476 -337.50 2.50 122.50 0.773179 -337.50 2.50 127.50 0.393273 -337.50 2.50 132.50 0.149977 -337.50 2.50 137.50 0.0624686 -337.50 2.50 142.50 0.0485219 -337.50 2.50 147.50 0.0601603 -337.50 2.50 152.50 0.0760385 -337.50 2.50 157.50 0.083846 -337.50 2.50 162.50 0.084539 -337.50 2.50 167.50 0.083846 -337.50 2.50 172.50 0.0760386 -337.50 2.50 177.50 0.0601604 -337.50 2.50 182.50 0.0485219 -337.50 2.50 187.50 0.0624686 -337.50 2.50 192.50 0.149977 -337.50 2.50 197.50 0.393272 -337.50 2.50 202.50 0.773178 -337.50 2.50 207.50 0.980476 -337.50 2.50 212.50 0.773179 -337.50 2.50 217.50 0.393273 -337.50 2.50 222.50 0.149977 -337.50 2.50 227.50 0.0624686 -337.50 2.50 232.50 0.0485219 -337.50 2.50 237.50 0.0601603 -337.50 2.50 242.50 0.0760385 -337.50 2.50 247.50 0.083846 -337.50 2.50 252.50 0.084539 -337.50 2.50 257.50 0.083846 -337.50 2.50 262.50 0.0760385 -337.50 2.50 267.50 0.0601603 -337.50 2.50 272.50 0.048522 -337.50 2.50 277.50 0.0624685 -337.50 2.50 282.50 0.149977 -337.50 2.50 287.50 0.393272 -337.50 2.50 292.50 0.773177 -337.50 2.50 297.50 0.980476 -337.50 2.50 302.50 0.773179 -337.50 2.50 307.50 0.393273 -337.50 2.50 312.50 0.149977 -337.50 2.50 317.50 0.0624687 -337.50 2.50 322.50 0.0485219 -337.50 2.50 327.50 0.0601602 -337.50 2.50 332.50 0.0760385 -337.50 2.50 337.50 0.083846 -337.50 2.50 342.50 0.084539 -337.50 2.50 347.50 0.083846 -337.50 2.50 352.50 0.0760386 -337.50 2.50 357.50 0.0601604 -337.50 7.50 2.50 0.0874276 -337.50 7.50 7.50 0.106431 -337.50 7.50 12.50 0.209005 -337.50 7.50 17.50 0.478808 -337.50 7.50 22.50 0.862377 -337.50 7.50 27.50 1.05029 -337.50 7.50 32.50 0.83073 -337.50 7.50 37.50 0.436529 -337.50 7.50 42.50 0.173647 -337.50 7.50 47.50 0.0686876 -337.50 7.50 52.50 0.0398712 -337.50 7.50 57.50 0.0444076 -337.50 7.50 62.50 0.0638134 -337.50 7.50 67.50 0.0873952 -337.50 7.50 72.50 0.0982883 -337.50 7.50 77.50 0.10012 -337.50 7.50 82.50 0.0973618 -337.50 7.50 87.50 0.091209 -337.50 7.50 92.50 0.0874276 -337.50 7.50 97.50 0.106431 -337.50 7.50 102.50 0.209005 -337.50 7.50 107.50 0.478807 -337.50 7.50 112.50 0.862377 -337.50 7.50 117.50 1.05029 -337.50 7.50 122.50 0.83073 -337.50 7.50 127.50 0.436529 -337.50 7.50 132.50 0.173647 -337.50 7.50 137.50 0.0686876 -337.50 7.50 142.50 0.0398712 -337.50 7.50 147.50 0.0444076 -337.50 7.50 152.50 0.0638133 -337.50 7.50 157.50 0.0873951 -337.50 7.50 162.50 0.0982882 -337.50 7.50 167.50 0.10012 -337.50 7.50 172.50 0.0973618 -337.50 7.50 177.50 0.091209 -337.50 7.50 182.50 0.0874276 -337.50 7.50 187.50 0.106432 -337.50 7.50 192.50 0.209006 -337.50 7.50 197.50 0.478808 -337.50 7.50 202.50 0.862377 -337.50 7.50 207.50 1.05029 -337.50 7.50 212.50 0.83073 -337.50 7.50 217.50 0.43653 -337.50 7.50 222.50 0.173647 -337.50 7.50 227.50 0.0686876 -337.50 7.50 232.50 0.0398712 -337.50 7.50 237.50 0.0444076 -337.50 7.50 242.50 0.0638134 -337.50 7.50 247.50 0.0873953 -337.50 7.50 252.50 0.0982882 -337.50 7.50 257.50 0.10012 -337.50 7.50 262.50 0.0973617 -337.50 7.50 267.50 0.0912089 -337.50 7.50 272.50 0.0874276 -337.50 7.50 277.50 0.106432 -337.50 7.50 282.50 0.209005 -337.50 7.50 287.50 0.478808 -337.50 7.50 292.50 0.862378 -337.50 7.50 297.50 1.05029 -337.50 7.50 302.50 0.83073 -337.50 7.50 307.50 0.43653 -337.50 7.50 312.50 0.173647 -337.50 7.50 317.50 0.0686877 -337.50 7.50 322.50 0.0398712 -337.50 7.50 327.50 0.0444076 -337.50 7.50 332.50 0.0638133 -337.50 7.50 337.50 0.0873951 -337.50 7.50 342.50 0.0982882 -337.50 7.50 347.50 0.10012 -337.50 7.50 352.50 0.0973618 -337.50 7.50 357.50 0.091209 -337.50 12.50 2.50 0.221571 -337.50 12.50 7.50 0.269639 -337.50 12.50 12.50 0.4122 -337.50 12.50 17.50 0.751387 -337.50 12.50 22.50 1.19976 -337.50 12.50 27.50 1.37472 -337.50 12.50 32.50 1.08065 -337.50 12.50 37.50 0.59838 -337.50 12.50 42.50 0.2576 -337.50 12.50 47.50 0.0984242 -337.50 12.50 52.50 0.0394888 -337.50 12.50 57.50 0.0389614 -337.50 12.50 62.50 0.0759864 -337.50 12.50 67.50 0.123005 -337.50 12.50 72.50 0.143448 -337.50 12.50 77.50 0.133941 -337.50 12.50 82.50 0.152442 -337.50 12.50 87.50 0.187039 -337.50 12.50 92.50 0.221571 -337.50 12.50 97.50 0.269639 -337.50 12.50 102.50 0.4122 -337.50 12.50 107.50 0.751387 -337.50 12.50 112.50 1.19976 -337.50 12.50 117.50 1.37472 -337.50 12.50 122.50 1.08065 -337.50 12.50 127.50 0.59838 -337.50 12.50 132.50 0.2576 -337.50 12.50 137.50 0.0984243 -337.50 12.50 142.50 0.0394888 -337.50 12.50 147.50 0.0389615 -337.50 12.50 152.50 0.0759863 -337.50 12.50 157.50 0.123005 -337.50 12.50 162.50 0.143448 -337.50 12.50 167.50 0.133941 -337.50 12.50 172.50 0.152442 -337.50 12.50 177.50 0.187039 -337.50 12.50 182.50 0.221571 -337.50 12.50 187.50 0.269639 -337.50 12.50 192.50 0.412201 -337.50 12.50 197.50 0.751388 -337.50 12.50 202.50 1.19976 -337.50 12.50 207.50 1.37472 -337.50 12.50 212.50 1.08065 -337.50 12.50 217.50 0.59838 -337.50 12.50 222.50 0.257601 -337.50 12.50 227.50 0.0984243 -337.50 12.50 232.50 0.0394887 -337.50 12.50 237.50 0.0389615 -337.50 12.50 242.50 0.0759865 -337.50 12.50 247.50 0.123006 -337.50 12.50 252.50 0.143448 -337.50 12.50 257.50 0.133941 -337.50 12.50 262.50 0.152442 -337.50 12.50 267.50 0.187039 -337.50 12.50 272.50 0.221571 -337.50 12.50 277.50 0.269639 -337.50 12.50 282.50 0.412201 -337.50 12.50 287.50 0.751388 -337.50 12.50 292.50 1.19976 -337.50 12.50 297.50 1.37472 -337.50 12.50 302.50 1.08065 -337.50 12.50 307.50 0.59838 -337.50 12.50 312.50 0.257601 -337.50 12.50 317.50 0.0984243 -337.50 12.50 322.50 0.0394888 -337.50 12.50 327.50 0.0389614 -337.50 12.50 332.50 0.0759863 -337.50 12.50 337.50 0.123005 -337.50 12.50 342.50 0.143448 -337.50 12.50 347.50 0.133941 -337.50 12.50 352.50 0.152442 -337.50 12.50 357.50 0.187039 -337.50 17.50 2.50 0.514899 -337.50 17.50 7.50 0.631548 -337.50 17.50 12.50 0.803028 -337.50 17.50 17.50 1.1329 -337.50 17.50 22.50 1.48934 -337.50 17.50 27.50 1.55515 -337.50 17.50 32.50 1.20435 -337.50 17.50 37.50 0.68535 -337.50 17.50 42.50 0.312384 -337.50 17.50 47.50 0.120832 -337.50 17.50 52.50 0.0405365 -337.50 17.50 57.50 0.0288061 -337.50 17.50 62.50 0.0683475 -337.50 17.50 67.50 0.136815 -337.50 17.50 72.50 0.182654 -337.50 17.50 77.50 0.207991 -337.50 17.50 82.50 0.250633 -337.50 17.50 87.50 0.384519 -337.50 17.50 92.50 0.514899 -337.50 17.50 97.50 0.631548 -337.50 17.50 102.50 0.803028 -337.50 17.50 107.50 1.1329 -337.50 17.50 112.50 1.48934 -337.50 17.50 117.50 1.55515 -337.50 17.50 122.50 1.20435 -337.50 17.50 127.50 0.68535 -337.50 17.50 132.50 0.312384 -337.50 17.50 137.50 0.120832 -337.50 17.50 142.50 0.0405365 -337.50 17.50 147.50 0.0288061 -337.50 17.50 152.50 0.0683474 -337.50 17.50 157.50 0.136815 -337.50 17.50 162.50 0.182654 -337.50 17.50 167.50 0.207991 -337.50 17.50 172.50 0.250633 -337.50 17.50 177.50 0.384518 -337.50 17.50 182.50 0.514899 -337.50 17.50 187.50 0.631547 -337.50 17.50 192.50 0.803028 -337.50 17.50 197.50 1.1329 -337.50 17.50 202.50 1.48934 -337.50 17.50 207.50 1.55515 -337.50 17.50 212.50 1.20435 -337.50 17.50 217.50 0.68535 -337.50 17.50 222.50 0.312384 -337.50 17.50 227.50 0.120832 -337.50 17.50 232.50 0.0405364 -337.50 17.50 237.50 0.0288062 -337.50 17.50 242.50 0.0683476 -337.50 17.50 247.50 0.136815 -337.50 17.50 252.50 0.182655 -337.50 17.50 257.50 0.207991 -337.50 17.50 262.50 0.250634 -337.50 17.50 267.50 0.384519 -337.50 17.50 272.50 0.514899 -337.50 17.50 277.50 0.631548 -337.50 17.50 282.50 0.803028 -337.50 17.50 287.50 1.1329 -337.50 17.50 292.50 1.48934 -337.50 17.50 297.50 1.55515 -337.50 17.50 302.50 1.20435 -337.50 17.50 307.50 0.68535 -337.50 17.50 312.50 0.312384 -337.50 17.50 317.50 0.120832 -337.50 17.50 322.50 0.0405366 -337.50 17.50 327.50 0.0288061 -337.50 17.50 332.50 0.0683474 -337.50 17.50 337.50 0.136815 -337.50 17.50 342.50 0.182654 -337.50 17.50 347.50 0.207991 -337.50 17.50 352.50 0.250634 -337.50 17.50 357.50 0.384518 -337.50 22.50 2.50 1.04915 -337.50 22.50 7.50 1.25412 -337.50 22.50 12.50 1.42285 -337.50 22.50 17.50 1.60219 -337.50 22.50 22.50 1.72458 -337.50 22.50 27.50 1.57171 -337.50 22.50 32.50 1.1359 -337.50 22.50 37.50 0.665951 -337.50 22.50 42.50 0.318861 -337.50 22.50 47.50 0.116604 -337.50 22.50 52.50 0.0318101 -337.50 22.50 57.50 0.0167425 -337.50 22.50 62.50 0.0459574 -337.50 22.50 67.50 0.101257 -337.50 22.50 72.50 0.170401 -337.50 22.50 77.50 0.296214 -337.50 22.50 82.50 0.486186 -337.50 22.50 87.50 0.754685 -337.50 22.50 92.50 1.04915 -337.50 22.50 97.50 1.25412 -337.50 22.50 102.50 1.42285 -337.50 22.50 107.50 1.60219 -337.50 22.50 112.50 1.72458 -337.50 22.50 117.50 1.57171 -337.50 22.50 122.50 1.1359 -337.50 22.50 127.50 0.665951 -337.50 22.50 132.50 0.318861 -337.50 22.50 137.50 0.116604 -337.50 22.50 142.50 0.0318101 -337.50 22.50 147.50 0.0167425 -337.50 22.50 152.50 0.0459574 -337.50 22.50 157.50 0.101257 -337.50 22.50 162.50 0.170401 -337.50 22.50 167.50 0.296214 -337.50 22.50 172.50 0.486186 -337.50 22.50 177.50 0.754684 -337.50 22.50 182.50 1.04915 -337.50 22.50 187.50 1.25412 -337.50 22.50 192.50 1.42285 -337.50 22.50 197.50 1.60219 -337.50 22.50 202.50 1.72458 -337.50 22.50 207.50 1.57171 -337.50 22.50 212.50 1.1359 -337.50 22.50 217.50 0.665951 -337.50 22.50 222.50 0.318861 -337.50 22.50 227.50 0.116604 -337.50 22.50 232.50 0.03181 -337.50 22.50 237.50 0.0167425 -337.50 22.50 242.50 0.0459575 -337.50 22.50 247.50 0.101257 -337.50 22.50 252.50 0.170401 -337.50 22.50 257.50 0.296215 -337.50 22.50 262.50 0.486186 -337.50 22.50 267.50 0.754685 -337.50 22.50 272.50 1.04915 -337.50 22.50 277.50 1.25412 -337.50 22.50 282.50 1.42285 -337.50 22.50 287.50 1.60219 -337.50 22.50 292.50 1.72458 -337.50 22.50 297.50 1.57171 -337.50 22.50 302.50 1.1359 -337.50 22.50 307.50 0.665952 -337.50 22.50 312.50 0.318861 -337.50 22.50 317.50 0.116604 -337.50 22.50 322.50 0.0318102 -337.50 22.50 327.50 0.0167425 -337.50 22.50 332.50 0.0459573 -337.50 22.50 337.50 0.101257 -337.50 22.50 342.50 0.170401 -337.50 22.50 347.50 0.296214 -337.50 22.50 352.50 0.486185 -337.50 22.50 357.50 0.754684 -337.50 27.50 2.50 1.82434 -337.50 27.50 7.50 2.07889 -337.50 27.50 12.50 2.13388 -337.50 27.50 17.50 2.09955 -337.50 27.50 22.50 1.94329 -337.50 27.50 27.50 1.53757 -337.50 27.50 32.50 0.969992 -337.50 27.50 37.50 0.52221 -337.50 27.50 42.50 0.243473 -337.50 27.50 47.50 0.0869078 -337.50 27.50 52.50 0.022421 -337.50 27.50 57.50 0.00775408 -337.50 27.50 62.50 0.0170085 -337.50 27.50 67.50 0.0604165 -337.50 27.50 72.50 0.164729 -337.50 27.50 77.50 0.408669 -337.50 27.50 82.50 0.835416 -337.50 27.50 87.50 1.3143 -337.50 27.50 92.50 1.82434 -337.50 27.50 97.50 2.07889 -337.50 27.50 102.50 2.13388 -337.50 27.50 107.50 2.09955 -337.50 27.50 112.50 1.94329 -337.50 27.50 117.50 1.53757 -337.50 27.50 122.50 0.969991 -337.50 27.50 127.50 0.52221 -337.50 27.50 132.50 0.243473 -337.50 27.50 137.50 0.0869078 -337.50 27.50 142.50 0.022421 -337.50 27.50 147.50 0.00775407 -337.50 27.50 152.50 0.0170085 -337.50 27.50 157.50 0.0604164 -337.50 27.50 162.50 0.164729 -337.50 27.50 167.50 0.408669 -337.50 27.50 172.50 0.835416 -337.50 27.50 177.50 1.3143 -337.50 27.50 182.50 1.82434 -337.50 27.50 187.50 2.07889 -337.50 27.50 192.50 2.13388 -337.50 27.50 197.50 2.09955 -337.50 27.50 202.50 1.94329 -337.50 27.50 207.50 1.53757 -337.50 27.50 212.50 0.969992 -337.50 27.50 217.50 0.52221 -337.50 27.50 222.50 0.243473 -337.50 27.50 227.50 0.0869079 -337.50 27.50 232.50 0.0224209 -337.50 27.50 237.50 0.00775408 -337.50 27.50 242.50 0.0170085 -337.50 27.50 247.50 0.0604166 -337.50 27.50 252.50 0.164729 -337.50 27.50 257.50 0.40867 -337.50 27.50 262.50 0.835417 -337.50 27.50 267.50 1.3143 -337.50 27.50 272.50 1.82434 -337.50 27.50 277.50 2.07889 -337.50 27.50 282.50 2.13388 -337.50 27.50 287.50 2.09955 -337.50 27.50 292.50 1.94329 -337.50 27.50 297.50 1.53757 -337.50 27.50 302.50 0.969993 -337.50 27.50 307.50 0.522211 -337.50 27.50 312.50 0.243473 -337.50 27.50 317.50 0.0869079 -337.50 27.50 322.50 0.022421 -337.50 27.50 327.50 0.00775408 -337.50 27.50 332.50 0.0170085 -337.50 27.50 337.50 0.0604164 -337.50 27.50 342.50 0.164729 -337.50 27.50 347.50 0.408668 -337.50 27.50 352.50 0.835415 -337.50 27.50 357.50 1.3143 -337.50 32.50 2.50 2.76505 -337.50 32.50 7.50 2.9695 -337.50 32.50 12.50 2.77948 -337.50 32.50 17.50 2.49158 -337.50 32.50 22.50 2.04972 -337.50 32.50 27.50 1.42938 -337.50 32.50 32.50 0.763199 -337.50 32.50 37.50 0.334403 -337.50 32.50 42.50 0.136774 -337.50 32.50 47.50 0.0483447 -337.50 32.50 52.50 0.0124351 -337.50 32.50 57.50 0.00538732 -337.50 32.50 62.50 0.0159058 -337.50 32.50 67.50 0.0647093 -337.50 32.50 72.50 0.245777 -337.50 32.50 77.50 0.618997 -337.50 32.50 82.50 1.30488 -337.50 32.50 87.50 2.07378 -337.50 32.50 92.50 2.76505 -337.50 32.50 97.50 2.9695 -337.50 32.50 102.50 2.77949 -337.50 32.50 107.50 2.49158 -337.50 32.50 112.50 2.04972 -337.50 32.50 117.50 1.42938 -337.50 32.50 122.50 0.763199 -337.50 32.50 127.50 0.334403 -337.50 32.50 132.50 0.136774 -337.50 32.50 137.50 0.0483447 -337.50 32.50 142.50 0.0124351 -337.50 32.50 147.50 0.00538731 -337.50 32.50 152.50 0.0159058 -337.50 32.50 157.50 0.0647091 -337.50 32.50 162.50 0.245776 -337.50 32.50 167.50 0.618997 -337.50 32.50 172.50 1.30488 -337.50 32.50 177.50 2.07378 -337.50 32.50 182.50 2.76505 -337.50 32.50 187.50 2.9695 -337.50 32.50 192.50 2.77949 -337.50 32.50 197.50 2.49158 -337.50 32.50 202.50 2.04972 -337.50 32.50 207.50 1.42938 -337.50 32.50 212.50 0.763199 -337.50 32.50 217.50 0.334403 -337.50 32.50 222.50 0.136774 -337.50 32.50 227.50 0.0483448 -337.50 32.50 232.50 0.0124351 -337.50 32.50 237.50 0.00538732 -337.50 32.50 242.50 0.0159058 -337.50 32.50 247.50 0.0647095 -337.50 32.50 252.50 0.245777 -337.50 32.50 257.50 0.618997 -337.50 32.50 262.50 1.30488 -337.50 32.50 267.50 2.07379 -337.50 32.50 272.50 2.76506 -337.50 32.50 277.50 2.9695 -337.50 32.50 282.50 2.77949 -337.50 32.50 287.50 2.49158 -337.50 32.50 292.50 2.04972 -337.50 32.50 297.50 1.42938 -337.50 32.50 302.50 0.7632 -337.50 32.50 307.50 0.334404 -337.50 32.50 312.50 0.136774 -337.50 32.50 317.50 0.0483448 -337.50 32.50 322.50 0.0124351 -337.50 32.50 327.50 0.00538732 -337.50 32.50 332.50 0.0159058 -337.50 32.50 337.50 0.0647091 -337.50 32.50 342.50 0.245776 -337.50 32.50 347.50 0.618995 -337.50 32.50 352.50 1.30488 -337.50 32.50 357.50 2.07378 -337.50 37.50 2.50 3.78322 -337.50 37.50 7.50 3.78813 -337.50 37.50 12.50 3.28849 -337.50 37.50 17.50 2.66563 -337.50 37.50 22.50 1.9939 -337.50 37.50 27.50 1.21261 -337.50 37.50 32.50 0.555868 -337.50 37.50 37.50 0.19603 -337.50 37.50 42.50 0.0588691 -337.50 37.50 47.50 0.0180068 -337.50 37.50 52.50 0.00654008 -337.50 37.50 57.50 0.010953 -337.50 37.50 62.50 0.0418858 -337.50 37.50 67.50 0.153926 -337.50 37.50 72.50 0.470413 -337.50 37.50 77.50 1.11133 -337.50 37.50 82.50 2.02937 -337.50 37.50 87.50 3.05865 -337.50 37.50 92.50 3.78322 -337.50 37.50 97.50 3.78813 -337.50 37.50 102.50 3.28849 -337.50 37.50 107.50 2.66563 -337.50 37.50 112.50 1.9939 -337.50 37.50 117.50 1.21261 -337.50 37.50 122.50 0.555867 -337.50 37.50 127.50 0.19603 -337.50 37.50 132.50 0.0588691 -337.50 37.50 137.50 0.0180068 -337.50 37.50 142.50 0.00654008 -337.50 37.50 147.50 0.010953 -337.50 37.50 152.50 0.0418857 -337.50 37.50 157.50 0.153925 -337.50 37.50 162.50 0.470413 -337.50 37.50 167.50 1.11133 -337.50 37.50 172.50 2.02937 -337.50 37.50 177.50 3.05865 -337.50 37.50 182.50 3.78322 -337.50 37.50 187.50 3.78813 -337.50 37.50 192.50 3.28849 -337.50 37.50 197.50 2.66563 -337.50 37.50 202.50 1.9939 -337.50 37.50 207.50 1.21261 -337.50 37.50 212.50 0.555868 -337.50 37.50 217.50 0.19603 -337.50 37.50 222.50 0.0588691 -337.50 37.50 227.50 0.0180068 -337.50 37.50 232.50 0.00654008 -337.50 37.50 237.50 0.010953 -337.50 37.50 242.50 0.0418859 -337.50 37.50 247.50 0.153926 -337.50 37.50 252.50 0.470414 -337.50 37.50 257.50 1.11133 -337.50 37.50 262.50 2.02937 -337.50 37.50 267.50 3.05865 -337.50 37.50 272.50 3.78322 -337.50 37.50 277.50 3.78813 -337.50 37.50 282.50 3.28849 -337.50 37.50 287.50 2.66563 -337.50 37.50 292.50 1.9939 -337.50 37.50 297.50 1.21261 -337.50 37.50 302.50 0.555868 -337.50 37.50 307.50 0.19603 -337.50 37.50 312.50 0.0588691 -337.50 37.50 317.50 0.0180068 -337.50 37.50 322.50 0.00654009 -337.50 37.50 327.50 0.010953 -337.50 37.50 332.50 0.0418857 -337.50 37.50 337.50 0.153925 -337.50 37.50 342.50 0.470413 -337.50 37.50 347.50 1.11133 -337.50 37.50 352.50 2.02937 -337.50 37.50 357.50 3.05864 -337.50 42.50 2.50 4.66762 -337.50 42.50 7.50 4.3612 -337.50 42.50 12.50 3.48816 -337.50 42.50 17.50 2.57939 -337.50 42.50 22.50 1.73471 -337.50 42.50 27.50 0.92413 -337.50 42.50 32.50 0.362471 -337.50 42.50 37.50 0.109017 -337.50 42.50 42.50 0.0261247 -337.50 42.50 47.50 0.0061391 -337.50 42.50 52.50 0.00749389 -337.50 42.50 57.50 0.0339057 -337.50 42.50 62.50 0.121203 -337.50 42.50 67.50 0.367172 -337.50 42.50 72.50 0.948299 -337.50 42.50 77.50 1.92656 -337.50 42.50 82.50 3.10302 -337.50 42.50 87.50 4.11607 -337.50 42.50 92.50 4.66762 -337.50 42.50 97.50 4.3612 -337.50 42.50 102.50 3.48816 -337.50 42.50 107.50 2.57939 -337.50 42.50 112.50 1.73472 -337.50 42.50 117.50 0.92413 -337.50 42.50 122.50 0.362471 -337.50 42.50 127.50 0.109017 -337.50 42.50 132.50 0.0261247 -337.50 42.50 137.50 0.0061391 -337.50 42.50 142.50 0.00749389 -337.50 42.50 147.50 0.0339056 -337.50 42.50 152.50 0.121203 -337.50 42.50 157.50 0.367172 -337.50 42.50 162.50 0.948299 -337.50 42.50 167.50 1.92656 -337.50 42.50 172.50 3.10302 -337.50 42.50 177.50 4.11607 -337.50 42.50 182.50 4.66762 -337.50 42.50 187.50 4.3612 -337.50 42.50 192.50 3.48816 -337.50 42.50 197.50 2.57939 -337.50 42.50 202.50 1.73471 -337.50 42.50 207.50 0.92413 -337.50 42.50 212.50 0.362471 -337.50 42.50 217.50 0.109017 -337.50 42.50 222.50 0.0261247 -337.50 42.50 227.50 0.0061391 -337.50 42.50 232.50 0.00749392 -337.50 42.50 237.50 0.0339058 -337.50 42.50 242.50 0.121204 -337.50 42.50 247.50 0.367173 -337.50 42.50 252.50 0.948301 -337.50 42.50 257.50 1.92656 -337.50 42.50 262.50 3.10303 -337.50 42.50 267.50 4.11607 -337.50 42.50 272.50 4.66762 -337.50 42.50 277.50 4.3612 -337.50 42.50 282.50 3.48816 -337.50 42.50 287.50 2.57939 -337.50 42.50 292.50 1.73471 -337.50 42.50 297.50 0.924131 -337.50 42.50 302.50 0.362472 -337.50 42.50 307.50 0.109017 -337.50 42.50 312.50 0.0261247 -337.50 42.50 317.50 0.0061391 -337.50 42.50 322.50 0.00749389 -337.50 42.50 327.50 0.0339056 -337.50 42.50 332.50 0.121203 -337.50 42.50 337.50 0.367172 -337.50 42.50 342.50 0.948298 -337.50 42.50 347.50 1.92655 -337.50 42.50 352.50 3.10302 -337.50 42.50 357.50 4.11606 -337.50 47.50 2.50 5.03542 -337.50 47.50 7.50 4.37516 -337.50 47.50 12.50 3.17018 -337.50 47.50 17.50 2.07806 -337.50 47.50 22.50 1.24718 -337.50 47.50 27.50 0.565487 -337.50 47.50 32.50 0.212702 -337.50 47.50 37.50 0.0622875 -337.50 47.50 42.50 0.0128841 -337.50 47.50 47.50 0.00632722 -337.50 47.50 52.50 0.0192789 -337.50 47.50 57.50 0.104638 -337.50 47.50 62.50 0.325678 -337.50 47.50 67.50 0.817872 -337.50 47.50 72.50 1.74613 -337.50 47.50 77.50 2.98267 -337.50 47.50 82.50 4.25358 -337.50 47.50 87.50 4.9263 -337.50 47.50 92.50 5.03542 -337.50 47.50 97.50 4.37516 -337.50 47.50 102.50 3.17018 -337.50 47.50 107.50 2.07806 -337.50 47.50 112.50 1.24718 -337.50 47.50 117.50 0.565486 -337.50 47.50 122.50 0.212702 -337.50 47.50 127.50 0.0622875 -337.50 47.50 132.50 0.0128841 -337.50 47.50 137.50 0.00632722 -337.50 47.50 142.50 0.0192789 -337.50 47.50 147.50 0.104638 -337.50 47.50 152.50 0.325678 -337.50 47.50 157.50 0.81787 -337.50 47.50 162.50 1.74612 -337.50 47.50 167.50 2.98267 -337.50 47.50 172.50 4.25358 -337.50 47.50 177.50 4.9263 -337.50 47.50 182.50 5.03542 -337.50 47.50 187.50 4.37516 -337.50 47.50 192.50 3.17018 -337.50 47.50 197.50 2.07805 -337.50 47.50 202.50 1.24718 -337.50 47.50 207.50 0.565487 -337.50 47.50 212.50 0.212702 -337.50 47.50 217.50 0.0622876 -337.50 47.50 222.50 0.0128841 -337.50 47.50 227.50 0.00632723 -337.50 47.50 232.50 0.019279 -337.50 47.50 237.50 0.104638 -337.50 47.50 242.50 0.325679 -337.50 47.50 247.50 0.817873 -337.50 47.50 252.50 1.74613 -337.50 47.50 257.50 2.98268 -337.50 47.50 262.50 4.25359 -337.50 47.50 267.50 4.92631 -337.50 47.50 272.50 5.03542 -337.50 47.50 277.50 4.37516 -337.50 47.50 282.50 3.17018 -337.50 47.50 287.50 2.07805 -337.50 47.50 292.50 1.24718 -337.50 47.50 297.50 0.565487 -337.50 47.50 302.50 0.212703 -337.50 47.50 307.50 0.0622876 -337.50 47.50 312.50 0.0128841 -337.50 47.50 317.50 0.00632723 -337.50 47.50 322.50 0.0192789 -337.50 47.50 327.50 0.104637 -337.50 47.50 332.50 0.325678 -337.50 47.50 337.50 0.81787 -337.50 47.50 342.50 1.74612 -337.50 47.50 347.50 2.98267 -337.50 47.50 352.50 4.25358 -337.50 47.50 357.50 4.9263 -337.50 52.50 2.50 4.66762 -337.50 52.50 7.50 3.66233 -337.50 52.50 12.50 2.38046 -337.50 52.50 17.50 1.35811 -337.50 52.50 22.50 0.704983 -337.50 52.50 27.50 0.297182 -337.50 52.50 32.50 0.0962726 -337.50 52.50 37.50 0.0315213 -337.50 52.50 42.50 0.00713902 -337.50 52.50 47.50 0.00950439 -337.50 52.50 52.50 0.0598363 -337.50 52.50 57.50 0.259457 -337.50 52.50 62.50 0.749232 -337.50 52.50 67.50 1.62258 -337.50 52.50 72.50 2.8728 -337.50 52.50 77.50 4.16698 -337.50 52.50 82.50 5.20289 -337.50 52.50 87.50 5.26632 -337.50 52.50 92.50 4.66761 -337.50 52.50 97.50 3.66233 -337.50 52.50 102.50 2.38046 -337.50 52.50 107.50 1.35811 -337.50 52.50 112.50 0.704983 -337.50 52.50 117.50 0.297182 -337.50 52.50 122.50 0.0962725 -337.50 52.50 127.50 0.0315213 -337.50 52.50 132.50 0.00713901 -337.50 52.50 137.50 0.00950439 -337.50 52.50 142.50 0.0598363 -337.50 52.50 147.50 0.259457 -337.50 52.50 152.50 0.74923 -337.50 52.50 157.50 1.62258 -337.50 52.50 162.50 2.8728 -337.50 52.50 167.50 4.16698 -337.50 52.50 172.50 5.20289 -337.50 52.50 177.50 5.26632 -337.50 52.50 182.50 4.66762 -337.50 52.50 187.50 3.66233 -337.50 52.50 192.50 2.38046 -337.50 52.50 197.50 1.35811 -337.50 52.50 202.50 0.704983 -337.50 52.50 207.50 0.297182 -337.50 52.50 212.50 0.0962726 -337.50 52.50 217.50 0.0315213 -337.50 52.50 222.50 0.00713902 -337.50 52.50 227.50 0.00950439 -337.50 52.50 232.50 0.0598366 -337.50 52.50 237.50 0.259458 -337.50 52.50 242.50 0.749232 -337.50 52.50 247.50 1.62258 -337.50 52.50 252.50 2.87281 -337.50 52.50 257.50 4.16698 -337.50 52.50 262.50 5.20289 -337.50 52.50 267.50 5.26632 -337.50 52.50 272.50 4.66762 -337.50 52.50 277.50 3.66233 -337.50 52.50 282.50 2.38046 -337.50 52.50 287.50 1.35811 -337.50 52.50 292.50 0.704983 -337.50 52.50 297.50 0.297183 -337.50 52.50 302.50 0.0962727 -337.50 52.50 307.50 0.0315213 -337.50 52.50 312.50 0.00713902 -337.50 52.50 317.50 0.00950439 -337.50 52.50 322.50 0.0598362 -337.50 52.50 327.50 0.259456 -337.50 52.50 332.50 0.74923 -337.50 52.50 337.50 1.62258 -337.50 52.50 342.50 2.8728 -337.50 52.50 347.50 4.16698 -337.50 52.50 352.50 5.20289 -337.50 52.50 357.50 5.26632 -337.50 57.50 2.50 3.78322 -337.50 57.50 7.50 2.53104 -337.50 57.50 12.50 1.45216 -337.50 57.50 17.50 0.731468 -337.50 57.50 22.50 0.323166 -337.50 57.50 27.50 0.129212 -337.50 57.50 32.50 0.0449127 -337.50 57.50 37.50 0.0103397 -337.50 57.50 42.50 0.00479201 -337.50 57.50 47.50 0.0254932 -337.50 57.50 52.50 0.130981 -337.50 57.50 57.50 0.496881 -337.50 57.50 62.50 1.36783 -337.50 57.50 67.50 2.66685 -337.50 57.50 72.50 4.10428 -337.50 57.50 77.50 5.20794 -337.50 57.50 82.50 5.66989 -337.50 57.50 87.50 5.09999 -337.50 57.50 92.50 3.78322 -337.50 57.50 97.50 2.53104 -337.50 57.50 102.50 1.45216 -337.50 57.50 107.50 0.731468 -337.50 57.50 112.50 0.323166 -337.50 57.50 117.50 0.129212 -337.50 57.50 122.50 0.0449126 -337.50 57.50 127.50 0.0103397 -337.50 57.50 132.50 0.00479201 -337.50 57.50 137.50 0.0254932 -337.50 57.50 142.50 0.130981 -337.50 57.50 147.50 0.496881 -337.50 57.50 152.50 1.36783 -337.50 57.50 157.50 2.66685 -337.50 57.50 162.50 4.10428 -337.50 57.50 167.50 5.20794 -337.50 57.50 172.50 5.6699 -337.50 57.50 177.50 5.09999 -337.50 57.50 182.50 3.78322 -337.50 57.50 187.50 2.53104 -337.50 57.50 192.50 1.45216 -337.50 57.50 197.50 0.731469 -337.50 57.50 202.50 0.323166 -337.50 57.50 207.50 0.129212 -337.50 57.50 212.50 0.0449127 -337.50 57.50 217.50 0.0103397 -337.50 57.50 222.50 0.00479201 -337.50 57.50 227.50 0.0254932 -337.50 57.50 232.50 0.130981 -337.50 57.50 237.50 0.496882 -337.50 57.50 242.50 1.36784 -337.50 57.50 247.50 2.66685 -337.50 57.50 252.50 4.10428 -337.50 57.50 257.50 5.20794 -337.50 57.50 262.50 5.66989 -337.50 57.50 267.50 5.09998 -337.50 57.50 272.50 3.78322 -337.50 57.50 277.50 2.53104 -337.50 57.50 282.50 1.45217 -337.50 57.50 287.50 0.731468 -337.50 57.50 292.50 0.323165 -337.50 57.50 297.50 0.129212 -337.50 57.50 302.50 0.0449127 -337.50 57.50 307.50 0.0103397 -337.50 57.50 312.50 0.00479201 -337.50 57.50 317.50 0.0254932 -337.50 57.50 322.50 0.13098 -337.50 57.50 327.50 0.49688 -337.50 57.50 332.50 1.36783 -337.50 57.50 337.50 2.66684 -337.50 57.50 342.50 4.10428 -337.50 57.50 347.50 5.20794 -337.50 57.50 352.50 5.66989 -337.50 57.50 357.50 5.09999 -337.50 62.50 2.50 2.76505 -337.50 62.50 7.50 1.50963 -337.50 62.50 12.50 0.762584 -337.50 62.50 17.50 0.330642 -337.50 62.50 22.50 0.124567 -337.50 62.50 27.50 0.0450435 -337.50 62.50 32.50 0.0170951 -337.50 62.50 37.50 0.00573943 -337.50 62.50 42.50 0.0111846 -337.50 62.50 47.50 0.0497146 -337.50 62.50 52.50 0.237939 -337.50 62.50 57.50 0.838125 -337.50 62.50 62.50 1.96486 -337.50 62.50 67.50 3.60305 -337.50 62.50 72.50 4.99965 -337.50 62.50 77.50 5.73607 -337.50 62.50 82.50 5.45371 -337.50 62.50 87.50 4.4001 -337.50 62.50 92.50 2.76505 -337.50 62.50 97.50 1.50963 -337.50 62.50 102.50 0.762584 -337.50 62.50 107.50 0.330642 -337.50 62.50 112.50 0.124567 -337.50 62.50 117.50 0.0450434 -337.50 62.50 122.50 0.0170951 -337.50 62.50 127.50 0.00573942 -337.50 62.50 132.50 0.0111846 -337.50 62.50 137.50 0.0497146 -337.50 62.50 142.50 0.23794 -337.50 62.50 147.50 0.838125 -337.50 62.50 152.50 1.96485 -337.50 62.50 157.50 3.60304 -337.50 62.50 162.50 4.99965 -337.50 62.50 167.50 5.73607 -337.50 62.50 172.50 5.45371 -337.50 62.50 177.50 4.4001 -337.50 62.50 182.50 2.76505 -337.50 62.50 187.50 1.50963 -337.50 62.50 192.50 0.762584 -337.50 62.50 197.50 0.330642 -337.50 62.50 202.50 0.124567 -337.50 62.50 207.50 0.0450435 -337.50 62.50 212.50 0.0170952 -337.50 62.50 217.50 0.00573943 -337.50 62.50 222.50 0.0111846 -337.50 62.50 227.50 0.0497145 -337.50 62.50 232.50 0.23794 -337.50 62.50 237.50 0.838126 -337.50 62.50 242.50 1.96486 -337.50 62.50 247.50 3.60305 -337.50 62.50 252.50 4.99965 -337.50 62.50 257.50 5.73608 -337.50 62.50 262.50 5.45371 -337.50 62.50 267.50 4.40009 -337.50 62.50 272.50 2.76505 -337.50 62.50 277.50 1.50963 -337.50 62.50 282.50 0.762584 -337.50 62.50 287.50 0.330642 -337.50 62.50 292.50 0.124567 -337.50 62.50 297.50 0.0450435 -337.50 62.50 302.50 0.0170952 -337.50 62.50 307.50 0.00573944 -337.50 62.50 312.50 0.0111846 -337.50 62.50 317.50 0.0497145 -337.50 62.50 322.50 0.237939 -337.50 62.50 327.50 0.838123 -337.50 62.50 332.50 1.96485 -337.50 62.50 337.50 3.60304 -337.50 62.50 342.50 4.99965 -337.50 62.50 347.50 5.73607 -337.50 62.50 352.50 5.45371 -337.50 62.50 357.50 4.4001 -337.50 67.50 2.50 1.82434 -337.50 67.50 7.50 0.828256 -337.50 67.50 12.50 0.374926 -337.50 67.50 17.50 0.146936 -337.50 67.50 22.50 0.0593759 -337.50 67.50 27.50 0.0243376 -337.50 67.50 32.50 0.00665758 -337.50 67.50 37.50 0.00540733 -337.50 67.50 42.50 0.0274634 -337.50 67.50 47.50 0.11112 -337.50 67.50 52.50 0.384125 -337.50 67.50 57.50 1.07266 -337.50 67.50 62.50 2.34372 -337.50 67.50 67.50 3.86145 -337.50 67.50 72.50 5.05496 -337.50 67.50 77.50 5.30437 -337.50 67.50 82.50 4.60096 -337.50 67.50 87.50 3.30735 -337.50 67.50 92.50 1.82434 -337.50 67.50 97.50 0.828257 -337.50 67.50 102.50 0.374926 -337.50 67.50 107.50 0.146936 -337.50 67.50 112.50 0.0593758 -337.50 67.50 117.50 0.0243376 -337.50 67.50 122.50 0.00665757 -337.50 67.50 127.50 0.00540733 -337.50 67.50 132.50 0.0274634 -337.50 67.50 137.50 0.11112 -337.50 67.50 142.50 0.384125 -337.50 67.50 147.50 1.07266 -337.50 67.50 152.50 2.34372 -337.50 67.50 157.50 3.86145 -337.50 67.50 162.50 5.05496 -337.50 67.50 167.50 5.30437 -337.50 67.50 172.50 4.60096 -337.50 67.50 177.50 3.30735 -337.50 67.50 182.50 1.82434 -337.50 67.50 187.50 0.828256 -337.50 67.50 192.50 0.374926 -337.50 67.50 197.50 0.146936 -337.50 67.50 202.50 0.0593758 -337.50 67.50 207.50 0.0243376 -337.50 67.50 212.50 0.00665759 -337.50 67.50 217.50 0.00540733 -337.50 67.50 222.50 0.0274634 -337.50 67.50 227.50 0.11112 -337.50 67.50 232.50 0.384127 -337.50 67.50 237.50 1.07266 -337.50 67.50 242.50 2.34372 -337.50 67.50 247.50 3.86145 -337.50 67.50 252.50 5.05497 -337.50 67.50 257.50 5.30437 -337.50 67.50 262.50 4.60096 -337.50 67.50 267.50 3.30735 -337.50 67.50 272.50 1.82434 -337.50 67.50 277.50 0.828257 -337.50 67.50 282.50 0.374926 -337.50 67.50 287.50 0.146936 -337.50 67.50 292.50 0.0593759 -337.50 67.50 297.50 0.0243377 -337.50 67.50 302.50 0.00665762 -337.50 67.50 307.50 0.00540733 -337.50 67.50 312.50 0.0274634 -337.50 67.50 317.50 0.11112 -337.50 67.50 322.50 0.384125 -337.50 67.50 327.50 1.07266 -337.50 67.50 332.50 2.34372 -337.50 67.50 337.50 3.86145 -337.50 67.50 342.50 5.05496 -337.50 67.50 347.50 5.30437 -337.50 67.50 352.50 4.60096 -337.50 67.50 357.50 3.30736 -337.50 72.50 2.50 1.04915 -337.50 72.50 7.50 0.418788 -337.50 72.50 12.50 0.180152 -337.50 72.50 17.50 0.0837817 -337.50 72.50 22.50 0.0564972 -337.50 72.50 27.50 0.0206743 -337.50 72.50 32.50 0.00658603 -337.50 72.50 37.50 0.00809186 -337.50 72.50 42.50 0.0386529 -337.50 72.50 47.50 0.150845 -337.50 72.50 52.50 0.424695 -337.50 72.50 57.50 1.04996 -337.50 72.50 62.50 2.15279 -337.50 72.50 67.50 3.35464 -337.50 72.50 72.50 4.13578 -337.50 72.50 77.50 4.07598 -337.50 72.50 82.50 3.34987 -337.50 72.50 87.50 2.15028 -337.50 72.50 92.50 1.04915 -337.50 72.50 97.50 0.418788 -337.50 72.50 102.50 0.180152 -337.50 72.50 107.50 0.0837817 -337.50 72.50 112.50 0.0564972 -337.50 72.50 117.50 0.0206743 -337.50 72.50 122.50 0.00658603 -337.50 72.50 127.50 0.00809188 -337.50 72.50 132.50 0.0386529 -337.50 72.50 137.50 0.150845 -337.50 72.50 142.50 0.424694 -337.50 72.50 147.50 1.04996 -337.50 72.50 152.50 2.15279 -337.50 72.50 157.50 3.35463 -337.50 72.50 162.50 4.13578 -337.50 72.50 167.50 4.07598 -337.50 72.50 172.50 3.34987 -337.50 72.50 177.50 2.15028 -337.50 72.50 182.50 1.04915 -337.50 72.50 187.50 0.418788 -337.50 72.50 192.50 0.180152 -337.50 72.50 197.50 0.0837816 -337.50 72.50 202.50 0.0564972 -337.50 72.50 207.50 0.0206744 -337.50 72.50 212.50 0.00658603 -337.50 72.50 217.50 0.00809185 -337.50 72.50 222.50 0.0386529 -337.50 72.50 227.50 0.150845 -337.50 72.50 232.50 0.424696 -337.50 72.50 237.50 1.04996 -337.50 72.50 242.50 2.15279 -337.50 72.50 247.50 3.35464 -337.50 72.50 252.50 4.13578 -337.50 72.50 257.50 4.07598 -337.50 72.50 262.50 3.34987 -337.50 72.50 267.50 2.15027 -337.50 72.50 272.50 1.04915 -337.50 72.50 277.50 0.418788 -337.50 72.50 282.50 0.180152 -337.50 72.50 287.50 0.0837817 -337.50 72.50 292.50 0.0564972 -337.50 72.50 297.50 0.0206744 -337.50 72.50 302.50 0.00658603 -337.50 72.50 307.50 0.00809183 -337.50 72.50 312.50 0.0386529 -337.50 72.50 317.50 0.150845 -337.50 72.50 322.50 0.424693 -337.50 72.50 327.50 1.04995 -337.50 72.50 332.50 2.15279 -337.50 72.50 337.50 3.35463 -337.50 72.50 342.50 4.13578 -337.50 72.50 347.50 4.07598 -337.50 72.50 352.50 3.34987 -337.50 72.50 357.50 2.15028 -337.50 77.50 2.50 0.514899 -337.50 77.50 7.50 0.193489 -337.50 77.50 12.50 0.0841893 -337.50 77.50 17.50 0.0665506 -337.50 77.50 22.50 0.0377708 -337.50 77.50 27.50 0.0141453 -337.50 77.50 32.50 0.00714236 -337.50 77.50 37.50 0.0104886 -337.50 77.50 42.50 0.0356938 -337.50 77.50 47.50 0.146692 -337.50 77.50 52.50 0.401136 -337.50 77.50 57.50 0.850686 -337.50 77.50 62.50 1.48843 -337.50 77.50 67.50 2.12693 -337.50 77.50 72.50 2.52736 -337.50 77.50 77.50 2.59903 -337.50 77.50 82.50 2.0119 -337.50 77.50 87.50 1.24612 -337.50 77.50 92.50 0.514899 -337.50 77.50 97.50 0.193489 -337.50 77.50 102.50 0.0841893 -337.50 77.50 107.50 0.0665506 -337.50 77.50 112.50 0.0377708 -337.50 77.50 117.50 0.0141453 -337.50 77.50 122.50 0.00714235 -337.50 77.50 127.50 0.0104886 -337.50 77.50 132.50 0.0356939 -337.50 77.50 137.50 0.146692 -337.50 77.50 142.50 0.401136 -337.50 77.50 147.50 0.850687 -337.50 77.50 152.50 1.48843 -337.50 77.50 157.50 2.12693 -337.50 77.50 162.50 2.52736 -337.50 77.50 167.50 2.59903 -337.50 77.50 172.50 2.0119 -337.50 77.50 177.50 1.24612 -337.50 77.50 182.50 0.514899 -337.50 77.50 187.50 0.193489 -337.50 77.50 192.50 0.0841893 -337.50 77.50 197.50 0.0665506 -337.50 77.50 202.50 0.0377707 -337.50 77.50 207.50 0.0141453 -337.50 77.50 212.50 0.00714236 -337.50 77.50 217.50 0.0104886 -337.50 77.50 222.50 0.0356938 -337.50 77.50 227.50 0.146692 -337.50 77.50 232.50 0.401137 -337.50 77.50 237.50 0.850688 -337.50 77.50 242.50 1.48843 -337.50 77.50 247.50 2.12693 -337.50 77.50 252.50 2.52736 -337.50 77.50 257.50 2.59903 -337.50 77.50 262.50 2.0119 -337.50 77.50 267.50 1.24612 -337.50 77.50 272.50 0.514899 -337.50 77.50 277.50 0.193489 -337.50 77.50 282.50 0.0841892 -337.50 77.50 287.50 0.0665506 -337.50 77.50 292.50 0.0377708 -337.50 77.50 297.50 0.0141453 -337.50 77.50 302.50 0.00714236 -337.50 77.50 307.50 0.0104885 -337.50 77.50 312.50 0.0356938 -337.50 77.50 317.50 0.146692 -337.50 77.50 322.50 0.401136 -337.50 77.50 327.50 0.850686 -337.50 77.50 332.50 1.48843 -337.50 77.50 337.50 2.12693 -337.50 77.50 342.50 2.52736 -337.50 77.50 347.50 2.59903 -337.50 77.50 352.50 2.0119 -337.50 77.50 357.50 1.24613 -337.50 82.50 2.50 0.221571 -337.50 82.50 7.50 0.0801704 -337.50 82.50 12.50 0.0502738 -337.50 82.50 17.50 0.0422022 -337.50 82.50 22.50 0.0299218 -337.50 82.50 27.50 0.0165146 -337.50 82.50 32.50 0.00951369 -337.50 82.50 37.50 0.00992889 -337.50 82.50 42.50 0.0303807 -337.50 82.50 47.50 0.111393 -337.50 82.50 52.50 0.292626 -337.50 82.50 57.50 0.556317 -337.50 82.50 62.50 0.835701 -337.50 82.50 67.50 1.03232 -337.50 82.50 72.50 1.12423 -337.50 82.50 77.50 1.13283 -337.50 82.50 82.50 1.05127 -337.50 82.50 87.50 0.58551 -337.50 82.50 92.50 0.221571 -337.50 82.50 97.50 0.0801704 -337.50 82.50 102.50 0.0502738 -337.50 82.50 107.50 0.0422022 -337.50 82.50 112.50 0.0299218 -337.50 82.50 117.50 0.0165145 -337.50 82.50 122.50 0.00951368 -337.50 82.50 127.50 0.00992889 -337.50 82.50 132.50 0.0303808 -337.50 82.50 137.50 0.111393 -337.50 82.50 142.50 0.292626 -337.50 82.50 147.50 0.556317 -337.50 82.50 152.50 0.835701 -337.50 82.50 157.50 1.03232 -337.50 82.50 162.50 1.12423 -337.50 82.50 167.50 1.13283 -337.50 82.50 172.50 1.05127 -337.50 82.50 177.50 0.585511 -337.50 82.50 182.50 0.221571 -337.50 82.50 187.50 0.0801704 -337.50 82.50 192.50 0.0502738 -337.50 82.50 197.50 0.0422022 -337.50 82.50 202.50 0.0299218 -337.50 82.50 207.50 0.0165146 -337.50 82.50 212.50 0.00951369 -337.50 82.50 217.50 0.00992889 -337.50 82.50 222.50 0.0303807 -337.50 82.50 227.50 0.111393 -337.50 82.50 232.50 0.292626 -337.50 82.50 237.50 0.556317 -337.50 82.50 242.50 0.835701 -337.50 82.50 247.50 1.03232 -337.50 82.50 252.50 1.12423 -337.50 82.50 257.50 1.13283 -337.50 82.50 262.50 1.05127 -337.50 82.50 267.50 0.58551 -337.50 82.50 272.50 0.221571 -337.50 82.50 277.50 0.0801705 -337.50 82.50 282.50 0.0502738 -337.50 82.50 287.50 0.0422022 -337.50 82.50 292.50 0.0299218 -337.50 82.50 297.50 0.0165146 -337.50 82.50 302.50 0.0095137 -337.50 82.50 307.50 0.00992889 -337.50 82.50 312.50 0.0303807 -337.50 82.50 317.50 0.111393 -337.50 82.50 322.50 0.292625 -337.50 82.50 327.50 0.556316 -337.50 82.50 332.50 0.8357 -337.50 82.50 337.50 1.03232 -337.50 82.50 342.50 1.12423 -337.50 82.50 347.50 1.13283 -337.50 82.50 352.50 1.05127 -337.50 82.50 357.50 0.585511 -337.50 87.50 2.50 0.0874276 -337.50 87.50 7.50 0.0449284 -337.50 87.50 12.50 0.0558491 -337.50 87.50 17.50 0.0717912 -337.50 87.50 22.50 0.0568336 -337.50 87.50 27.50 0.0355995 -337.50 87.50 32.50 0.0280813 -337.50 87.50 37.50 0.0225085 -337.50 87.50 42.50 0.0248786 -337.50 87.50 47.50 0.0570136 -337.50 87.50 52.50 0.146054 -337.50 87.50 57.50 0.289469 -337.50 87.50 62.50 0.402788 -337.50 87.50 67.50 0.420049 -337.50 87.50 72.50 0.420597 -337.50 87.50 77.50 0.437467 -337.50 87.50 82.50 0.35726 -337.50 87.50 87.50 0.245087 -337.50 87.50 92.50 0.0874276 -337.50 87.50 97.50 0.0449284 -337.50 87.50 102.50 0.0558491 -337.50 87.50 107.50 0.0717912 -337.50 87.50 112.50 0.0568335 -337.50 87.50 117.50 0.0355994 -337.50 87.50 122.50 0.0280813 -337.50 87.50 127.50 0.0225085 -337.50 87.50 132.50 0.0248786 -337.50 87.50 137.50 0.0570136 -337.50 87.50 142.50 0.146054 -337.50 87.50 147.50 0.289469 -337.50 87.50 152.50 0.402788 -337.50 87.50 157.50 0.420049 -337.50 87.50 162.50 0.420596 -337.50 87.50 167.50 0.437467 -337.50 87.50 172.50 0.35726 -337.50 87.50 177.50 0.245087 -337.50 87.50 182.50 0.0874276 -337.50 87.50 187.50 0.0449284 -337.50 87.50 192.50 0.055849 -337.50 87.50 197.50 0.0717912 -337.50 87.50 202.50 0.0568336 -337.50 87.50 207.50 0.0355995 -337.50 87.50 212.50 0.0280813 -337.50 87.50 217.50 0.0225085 -337.50 87.50 222.50 0.0248786 -337.50 87.50 227.50 0.0570136 -337.50 87.50 232.50 0.146054 -337.50 87.50 237.50 0.289469 -337.50 87.50 242.50 0.402789 -337.50 87.50 247.50 0.420049 -337.50 87.50 252.50 0.420596 -337.50 87.50 257.50 0.437467 -337.50 87.50 262.50 0.357259 -337.50 87.50 267.50 0.245087 -337.50 87.50 272.50 0.0874277 -337.50 87.50 277.50 0.0449284 -337.50 87.50 282.50 0.055849 -337.50 87.50 287.50 0.0717911 -337.50 87.50 292.50 0.0568336 -337.50 87.50 297.50 0.0355995 -337.50 87.50 302.50 0.0280813 -337.50 87.50 307.50 0.0225085 -337.50 87.50 312.50 0.0248786 -337.50 87.50 317.50 0.0570135 -337.50 87.50 322.50 0.146053 -337.50 87.50 327.50 0.289468 -337.50 87.50 332.50 0.402788 -337.50 87.50 337.50 0.420049 -337.50 87.50 342.50 0.420596 -337.50 87.50 347.50 0.437467 -337.50 87.50 352.50 0.35726 -337.50 87.50 357.50 0.245088 -337.50 92.50 2.50 0.048522 -337.50 92.50 7.50 0.0733505 -337.50 92.50 12.50 0.116684 -337.50 92.50 17.50 0.129911 -337.50 92.50 22.50 0.121879 -337.50 92.50 27.50 0.128577 -337.50 92.50 32.50 0.130739 -337.50 92.50 37.50 0.0974756 -337.50 92.50 42.50 0.0543459 -337.50 92.50 47.50 0.0370179 -337.50 92.50 52.50 0.0543459 -337.50 92.50 57.50 0.0974756 -337.50 92.50 62.50 0.130738 -337.50 92.50 67.50 0.128577 -337.50 92.50 72.50 0.121879 -337.50 92.50 77.50 0.129911 -337.50 92.50 82.50 0.116684 -337.50 92.50 87.50 0.0733504 -337.50 92.50 92.50 0.048522 -337.50 92.50 97.50 0.0733505 -337.50 92.50 102.50 0.116684 -337.50 92.50 107.50 0.129911 -337.50 92.50 112.50 0.121879 -337.50 92.50 117.50 0.128577 -337.50 92.50 122.50 0.130738 -337.50 92.50 127.50 0.0974756 -337.50 92.50 132.50 0.0543459 -337.50 92.50 137.50 0.037018 -337.50 92.50 142.50 0.0543459 -337.50 92.50 147.50 0.0974756 -337.50 92.50 152.50 0.130738 -337.50 92.50 157.50 0.128577 -337.50 92.50 162.50 0.121879 -337.50 92.50 167.50 0.129911 -337.50 92.50 172.50 0.116684 -337.50 92.50 177.50 0.0733505 -337.50 92.50 182.50 0.0485219 -337.50 92.50 187.50 0.0733505 -337.50 92.50 192.50 0.116684 -337.50 92.50 197.50 0.129911 -337.50 92.50 202.50 0.121879 -337.50 92.50 207.50 0.128577 -337.50 92.50 212.50 0.130739 -337.50 92.50 217.50 0.0974757 -337.50 92.50 222.50 0.054346 -337.50 92.50 227.50 0.0370179 -337.50 92.50 232.50 0.054346 -337.50 92.50 237.50 0.0974757 -337.50 92.50 242.50 0.130738 -337.50 92.50 247.50 0.128577 -337.50 92.50 252.50 0.121879 -337.50 92.50 257.50 0.129911 -337.50 92.50 262.50 0.116684 -337.50 92.50 267.50 0.0733504 -337.50 92.50 272.50 0.048522 -337.50 92.50 277.50 0.0733505 -337.50 92.50 282.50 0.116684 -337.50 92.50 287.50 0.129911 -337.50 92.50 292.50 0.121879 -337.50 92.50 297.50 0.128577 -337.50 92.50 302.50 0.130739 -337.50 92.50 307.50 0.0974757 -337.50 92.50 312.50 0.0543459 -337.50 92.50 317.50 0.037018 -337.50 92.50 322.50 0.0543458 -337.50 92.50 327.50 0.0974754 -337.50 92.50 332.50 0.130738 -337.50 92.50 337.50 0.128577 -337.50 92.50 342.50 0.121878 -337.50 92.50 347.50 0.129911 -337.50 92.50 352.50 0.116684 -337.50 92.50 357.50 0.0733506 -337.50 97.50 2.50 0.0874277 -337.50 97.50 7.50 0.245087 -337.50 97.50 12.50 0.35726 -337.50 97.50 17.50 0.437467 -337.50 97.50 22.50 0.420596 -337.50 97.50 27.50 0.420049 -337.50 97.50 32.50 0.402788 -337.50 97.50 37.50 0.289468 -337.50 97.50 42.50 0.146054 -337.50 97.50 47.50 0.0570136 -337.50 97.50 52.50 0.0248786 -337.50 97.50 57.50 0.0225085 -337.50 97.50 62.50 0.0280813 -337.50 97.50 67.50 0.0355995 -337.50 97.50 72.50 0.0568336 -337.50 97.50 77.50 0.0717912 -337.50 97.50 82.50 0.055849 -337.50 97.50 87.50 0.0449283 -337.50 97.50 92.50 0.0874277 -337.50 97.50 97.50 0.245087 -337.50 97.50 102.50 0.35726 -337.50 97.50 107.50 0.437467 -337.50 97.50 112.50 0.420596 -337.50 97.50 117.50 0.420049 -337.50 97.50 122.50 0.402788 -337.50 97.50 127.50 0.289468 -337.50 97.50 132.50 0.146054 -337.50 97.50 137.50 0.0570136 -337.50 97.50 142.50 0.0248786 -337.50 97.50 147.50 0.0225085 -337.50 97.50 152.50 0.0280813 -337.50 97.50 157.50 0.0355995 -337.50 97.50 162.50 0.0568336 -337.50 97.50 167.50 0.0717912 -337.50 97.50 172.50 0.0558491 -337.50 97.50 177.50 0.0449284 -337.50 97.50 182.50 0.0874276 -337.50 97.50 187.50 0.245087 -337.50 97.50 192.50 0.35726 -337.50 97.50 197.50 0.437467 -337.50 97.50 202.50 0.420596 -337.50 97.50 207.50 0.420049 -337.50 97.50 212.50 0.402788 -337.50 97.50 217.50 0.289469 -337.50 97.50 222.50 0.146054 -337.50 97.50 227.50 0.0570136 -337.50 97.50 232.50 0.0248786 -337.50 97.50 237.50 0.0225085 -337.50 97.50 242.50 0.0280813 -337.50 97.50 247.50 0.0355995 -337.50 97.50 252.50 0.0568336 -337.50 97.50 257.50 0.0717912 -337.50 97.50 262.50 0.055849 -337.50 97.50 267.50 0.0449284 -337.50 97.50 272.50 0.0874277 -337.50 97.50 277.50 0.245087 -337.50 97.50 282.50 0.35726 -337.50 97.50 287.50 0.437467 -337.50 97.50 292.50 0.420596 -337.50 97.50 297.50 0.420049 -337.50 97.50 302.50 0.402789 -337.50 97.50 307.50 0.289469 -337.50 97.50 312.50 0.146054 -337.50 97.50 317.50 0.0570136 -337.50 97.50 322.50 0.0248786 -337.50 97.50 327.50 0.0225085 -337.50 97.50 332.50 0.0280813 -337.50 97.50 337.50 0.0355995 -337.50 97.50 342.50 0.0568335 -337.50 97.50 347.50 0.0717911 -337.50 97.50 352.50 0.0558491 -337.50 97.50 357.50 0.0449283 -337.50 102.50 2.50 0.221571 -337.50 102.50 7.50 0.585511 -337.50 102.50 12.50 1.05127 -337.50 102.50 17.50 1.13283 -337.50 102.50 22.50 1.12423 -337.50 102.50 27.50 1.03232 -337.50 102.50 32.50 0.835701 -337.50 102.50 37.50 0.556316 -337.50 102.50 42.50 0.292626 -337.50 102.50 47.50 0.111393 -337.50 102.50 52.50 0.0303807 -337.50 102.50 57.50 0.0099289 -337.50 102.50 62.50 0.0095137 -337.50 102.50 67.50 0.0165146 -337.50 102.50 72.50 0.0299218 -337.50 102.50 77.50 0.0422022 -337.50 102.50 82.50 0.0502738 -337.50 102.50 87.50 0.0801705 -337.50 102.50 92.50 0.221571 -337.50 102.50 97.50 0.585511 -337.50 102.50 102.50 1.05127 -337.50 102.50 107.50 1.13283 -337.50 102.50 112.50 1.12423 -337.50 102.50 117.50 1.03232 -337.50 102.50 122.50 0.8357 -337.50 102.50 127.50 0.556316 -337.50 102.50 132.50 0.292626 -337.50 102.50 137.50 0.111393 -337.50 102.50 142.50 0.0303807 -337.50 102.50 147.50 0.0099289 -337.50 102.50 152.50 0.00951369 -337.50 102.50 157.50 0.0165146 -337.50 102.50 162.50 0.0299218 -337.50 102.50 167.50 0.0422022 -337.50 102.50 172.50 0.0502738 -337.50 102.50 177.50 0.0801703 -337.50 102.50 182.50 0.221571 -337.50 102.50 187.50 0.58551 -337.50 102.50 192.50 1.05127 -337.50 102.50 197.50 1.13283 -337.50 102.50 202.50 1.12423 -337.50 102.50 207.50 1.03232 -337.50 102.50 212.50 0.835701 -337.50 102.50 217.50 0.556317 -337.50 102.50 222.50 0.292626 -337.50 102.50 227.50 0.111393 -337.50 102.50 232.50 0.0303806 -337.50 102.50 237.50 0.00992889 -337.50 102.50 242.50 0.0095137 -337.50 102.50 247.50 0.0165146 -337.50 102.50 252.50 0.0299218 -337.50 102.50 257.50 0.0422022 -337.50 102.50 262.50 0.0502738 -337.50 102.50 267.50 0.0801705 -337.50 102.50 272.50 0.221571 -337.50 102.50 277.50 0.585511 -337.50 102.50 282.50 1.05127 -337.50 102.50 287.50 1.13283 -337.50 102.50 292.50 1.12423 -337.50 102.50 297.50 1.03232 -337.50 102.50 302.50 0.835701 -337.50 102.50 307.50 0.556317 -337.50 102.50 312.50 0.292626 -337.50 102.50 317.50 0.111393 -337.50 102.50 322.50 0.0303808 -337.50 102.50 327.50 0.0099289 -337.50 102.50 332.50 0.00951369 -337.50 102.50 337.50 0.0165145 -337.50 102.50 342.50 0.0299217 -337.50 102.50 347.50 0.0422021 -337.50 102.50 352.50 0.0502738 -337.50 102.50 357.50 0.0801702 -337.50 107.50 2.50 0.514899 -337.50 107.50 7.50 1.24612 -337.50 107.50 12.50 2.0119 -337.50 107.50 17.50 2.59903 -337.50 107.50 22.50 2.52736 -337.50 107.50 27.50 2.12693 -337.50 107.50 32.50 1.48843 -337.50 107.50 37.50 0.850686 -337.50 107.50 42.50 0.401136 -337.50 107.50 47.50 0.146692 -337.50 107.50 52.50 0.0356938 -337.50 107.50 57.50 0.0104885 -337.50 107.50 62.50 0.00714234 -337.50 107.50 67.50 0.0141453 -337.50 107.50 72.50 0.0377708 -337.50 107.50 77.50 0.0665506 -337.50 107.50 82.50 0.0841893 -337.50 107.50 87.50 0.193489 -337.50 107.50 92.50 0.514899 -337.50 107.50 97.50 1.24612 -337.50 107.50 102.50 2.0119 -337.50 107.50 107.50 2.59903 -337.50 107.50 112.50 2.52736 -337.50 107.50 117.50 2.12693 -337.50 107.50 122.50 1.48843 -337.50 107.50 127.50 0.850685 -337.50 107.50 132.50 0.401136 -337.50 107.50 137.50 0.146692 -337.50 107.50 142.50 0.0356938 -337.50 107.50 147.50 0.0104885 -337.50 107.50 152.50 0.00714235 -337.50 107.50 157.50 0.0141453 -337.50 107.50 162.50 0.0377708 -337.50 107.50 167.50 0.0665505 -337.50 107.50 172.50 0.0841892 -337.50 107.50 177.50 0.193489 -337.50 107.50 182.50 0.514899 -337.50 107.50 187.50 1.24612 -337.50 107.50 192.50 2.0119 -337.50 107.50 197.50 2.59903 -337.50 107.50 202.50 2.52736 -337.50 107.50 207.50 2.12693 -337.50 107.50 212.50 1.48843 -337.50 107.50 217.50 0.850686 -337.50 107.50 222.50 0.401136 -337.50 107.50 227.50 0.146692 -337.50 107.50 232.50 0.0356936 -337.50 107.50 237.50 0.0104885 -337.50 107.50 242.50 0.00714234 -337.50 107.50 247.50 0.0141453 -337.50 107.50 252.50 0.0377708 -337.50 107.50 257.50 0.0665506 -337.50 107.50 262.50 0.0841893 -337.50 107.50 267.50 0.193489 -337.50 107.50 272.50 0.514899 -337.50 107.50 277.50 1.24612 -337.50 107.50 282.50 2.0119 -337.50 107.50 287.50 2.59903 -337.50 107.50 292.50 2.52736 -337.50 107.50 297.50 2.12693 -337.50 107.50 302.50 1.48843 -337.50 107.50 307.50 0.850687 -337.50 107.50 312.50 0.401136 -337.50 107.50 317.50 0.146692 -337.50 107.50 322.50 0.0356939 -337.50 107.50 327.50 0.0104886 -337.50 107.50 332.50 0.00714235 -337.50 107.50 337.50 0.0141453 -337.50 107.50 342.50 0.0377707 -337.50 107.50 347.50 0.0665506 -337.50 107.50 352.50 0.0841892 -337.50 107.50 357.50 0.193489 -337.50 112.50 2.50 1.04915 -337.50 112.50 7.50 2.15028 -337.50 112.50 12.50 3.34987 -337.50 112.50 17.50 4.07598 -337.50 112.50 22.50 4.13578 -337.50 112.50 27.50 3.35463 -337.50 112.50 32.50 2.15279 -337.50 112.50 37.50 1.04996 -337.50 112.50 42.50 0.424694 -337.50 112.50 47.50 0.150845 -337.50 112.50 52.50 0.0386529 -337.50 112.50 57.50 0.00809183 -337.50 112.50 62.50 0.00658603 -337.50 112.50 67.50 0.0206744 -337.50 112.50 72.50 0.0564972 -337.50 112.50 77.50 0.0837817 -337.50 112.50 82.50 0.180152 -337.50 112.50 87.50 0.418788 -337.50 112.50 92.50 1.04915 -337.50 112.50 97.50 2.15028 -337.50 112.50 102.50 3.34987 -337.50 112.50 107.50 4.07598 -337.50 112.50 112.50 4.13578 -337.50 112.50 117.50 3.35463 -337.50 112.50 122.50 2.15279 -337.50 112.50 127.50 1.04995 -337.50 112.50 132.50 0.424694 -337.50 112.50 137.50 0.150845 -337.50 112.50 142.50 0.0386529 -337.50 112.50 147.50 0.00809184 -337.50 112.50 152.50 0.00658603 -337.50 112.50 157.50 0.0206743 -337.50 112.50 162.50 0.0564972 -337.50 112.50 167.50 0.0837816 -337.50 112.50 172.50 0.180152 -337.50 112.50 177.50 0.418787 -337.50 112.50 182.50 1.04915 -337.50 112.50 187.50 2.15028 -337.50 112.50 192.50 3.34987 -337.50 112.50 197.50 4.07598 -337.50 112.50 202.50 4.13578 -337.50 112.50 207.50 3.35464 -337.50 112.50 212.50 2.15279 -337.50 112.50 217.50 1.04996 -337.50 112.50 222.50 0.424695 -337.50 112.50 227.50 0.150845 -337.50 112.50 232.50 0.0386528 -337.50 112.50 237.50 0.00809179 -337.50 112.50 242.50 0.00658602 -337.50 112.50 247.50 0.0206744 -337.50 112.50 252.50 0.0564972 -337.50 112.50 257.50 0.0837817 -337.50 112.50 262.50 0.180152 -337.50 112.50 267.50 0.418788 -337.50 112.50 272.50 1.04915 -337.50 112.50 277.50 2.15028 -337.50 112.50 282.50 3.34987 -337.50 112.50 287.50 4.07598 -337.50 112.50 292.50 4.13578 -337.50 112.50 297.50 3.35463 -337.50 112.50 302.50 2.15279 -337.50 112.50 307.50 1.04996 -337.50 112.50 312.50 0.424695 -337.50 112.50 317.50 0.150845 -337.50 112.50 322.50 0.038653 -337.50 112.50 327.50 0.00809188 -337.50 112.50 332.50 0.00658603 -337.50 112.50 337.50 0.0206743 -337.50 112.50 342.50 0.0564971 -337.50 112.50 347.50 0.0837815 -337.50 112.50 352.50 0.180152 -337.50 112.50 357.50 0.418787 -337.50 117.50 2.50 1.82434 -337.50 117.50 7.50 3.30736 -337.50 117.50 12.50 4.60096 -337.50 117.50 17.50 5.30437 -337.50 117.50 22.50 5.05497 -337.50 117.50 27.50 3.86145 -337.50 117.50 32.50 2.34372 -337.50 117.50 37.50 1.07266 -337.50 117.50 42.50 0.384126 -337.50 117.50 47.50 0.11112 -337.50 117.50 52.50 0.0274634 -337.50 117.50 57.50 0.00540733 -337.50 117.50 62.50 0.00665764 -337.50 117.50 67.50 0.0243377 -337.50 117.50 72.50 0.0593759 -337.50 117.50 77.50 0.146936 -337.50 117.50 82.50 0.374927 -337.50 117.50 87.50 0.828257 -337.50 117.50 92.50 1.82434 -337.50 117.50 97.50 3.30735 -337.50 117.50 102.50 4.60096 -337.50 117.50 107.50 5.30437 -337.50 117.50 112.50 5.05497 -337.50 117.50 117.50 3.86145 -337.50 117.50 122.50 2.34372 -337.50 117.50 127.50 1.07266 -337.50 117.50 132.50 0.384125 -337.50 117.50 137.50 0.11112 -337.50 117.50 142.50 0.0274634 -337.50 117.50 147.50 0.00540732 -337.50 117.50 152.50 0.00665762 -337.50 117.50 157.50 0.0243377 -337.50 117.50 162.50 0.0593758 -337.50 117.50 167.50 0.146936 -337.50 117.50 172.50 0.374926 -337.50 117.50 177.50 0.828256 -337.50 117.50 182.50 1.82434 -337.50 117.50 187.50 3.30735 -337.50 117.50 192.50 4.60096 -337.50 117.50 197.50 5.30437 -337.50 117.50 202.50 5.05497 -337.50 117.50 207.50 3.86145 -337.50 117.50 212.50 2.34372 -337.50 117.50 217.50 1.07266 -337.50 117.50 222.50 0.384125 -337.50 117.50 227.50 0.11112 -337.50 117.50 232.50 0.0274633 -337.50 117.50 237.50 0.00540732 -337.50 117.50 242.50 0.00665765 -337.50 117.50 247.50 0.0243377 -337.50 117.50 252.50 0.0593759 -337.50 117.50 257.50 0.146936 -337.50 117.50 262.50 0.374927 -337.50 117.50 267.50 0.828258 -337.50 117.50 272.50 1.82434 -337.50 117.50 277.50 3.30735 -337.50 117.50 282.50 4.60096 -337.50 117.50 287.50 5.30437 -337.50 117.50 292.50 5.05497 -337.50 117.50 297.50 3.86145 -337.50 117.50 302.50 2.34372 -337.50 117.50 307.50 1.07266 -337.50 117.50 312.50 0.384126 -337.50 117.50 317.50 0.11112 -337.50 117.50 322.50 0.0274634 -337.50 117.50 327.50 0.00540733 -337.50 117.50 332.50 0.00665757 -337.50 117.50 337.50 0.0243376 -337.50 117.50 342.50 0.0593758 -337.50 117.50 347.50 0.146936 -337.50 117.50 352.50 0.374926 -337.50 117.50 357.50 0.828256 -337.50 122.50 2.50 2.76506 -337.50 122.50 7.50 4.4001 -337.50 122.50 12.50 5.45371 -337.50 122.50 17.50 5.73607 -337.50 122.50 22.50 4.99965 -337.50 122.50 27.50 3.60304 -337.50 122.50 32.50 1.96485 -337.50 122.50 37.50 0.838123 -337.50 122.50 42.50 0.237939 -337.50 122.50 47.50 0.0497145 -337.50 122.50 52.50 0.0111846 -337.50 122.50 57.50 0.00573944 -337.50 122.50 62.50 0.0170952 -337.50 122.50 67.50 0.0450436 -337.50 122.50 72.50 0.124567 -337.50 122.50 77.50 0.330643 -337.50 122.50 82.50 0.762585 -337.50 122.50 87.50 1.50963 -337.50 122.50 92.50 2.76506 -337.50 122.50 97.50 4.4001 -337.50 122.50 102.50 5.45371 -337.50 122.50 107.50 5.73607 -337.50 122.50 112.50 4.99965 -337.50 122.50 117.50 3.60304 -337.50 122.50 122.50 1.96485 -337.50 122.50 127.50 0.838123 -337.50 122.50 132.50 0.237939 -337.50 122.50 137.50 0.0497144 -337.50 122.50 142.50 0.0111845 -337.50 122.50 147.50 0.00573944 -337.50 122.50 152.50 0.0170952 -337.50 122.50 157.50 0.0450435 -337.50 122.50 162.50 0.124567 -337.50 122.50 167.50 0.330642 -337.50 122.50 172.50 0.762584 -337.50 122.50 177.50 1.50963 -337.50 122.50 182.50 2.76506 -337.50 122.50 187.50 4.4001 -337.50 122.50 192.50 5.45371 -337.50 122.50 197.50 5.73608 -337.50 122.50 202.50 4.99965 -337.50 122.50 207.50 3.60304 -337.50 122.50 212.50 1.96485 -337.50 122.50 217.50 0.838125 -337.50 122.50 222.50 0.237939 -337.50 122.50 227.50 0.0497145 -337.50 122.50 232.50 0.0111845 -337.50 122.50 237.50 0.00573943 -337.50 122.50 242.50 0.0170952 -337.50 122.50 247.50 0.0450436 -337.50 122.50 252.50 0.124567 -337.50 122.50 257.50 0.330643 -337.50 122.50 262.50 0.762585 -337.50 122.50 267.50 1.50963 -337.50 122.50 272.50 2.76505 -337.50 122.50 277.50 4.4001 -337.50 122.50 282.50 5.45371 -337.50 122.50 287.50 5.73608 -337.50 122.50 292.50 4.99965 -337.50 122.50 297.50 3.60304 -337.50 122.50 302.50 1.96486 -337.50 122.50 307.50 0.838125 -337.50 122.50 312.50 0.23794 -337.50 122.50 317.50 0.0497146 -337.50 122.50 322.50 0.0111846 -337.50 122.50 327.50 0.00573943 -337.50 122.50 332.50 0.0170952 -337.50 122.50 337.50 0.0450434 -337.50 122.50 342.50 0.124566 -337.50 122.50 347.50 0.330642 -337.50 122.50 352.50 0.762583 -337.50 122.50 357.50 1.50962 -337.50 127.50 2.50 3.78323 -337.50 127.50 7.50 5.09998 -337.50 127.50 12.50 5.66989 -337.50 127.50 17.50 5.20794 -337.50 127.50 22.50 4.10428 -337.50 127.50 27.50 2.66685 -337.50 127.50 32.50 1.36783 -337.50 127.50 37.50 0.496881 -337.50 127.50 42.50 0.130981 -337.50 127.50 47.50 0.0254932 -337.50 127.50 52.50 0.00479201 -337.50 127.50 57.50 0.0103397 -337.50 127.50 62.50 0.0449127 -337.50 127.50 67.50 0.129212 -337.50 127.50 72.50 0.323166 -337.50 127.50 77.50 0.731469 -337.50 127.50 82.50 1.45217 -337.50 127.50 87.50 2.53104 -337.50 127.50 92.50 3.78323 -337.50 127.50 97.50 5.09999 -337.50 127.50 102.50 5.6699 -337.50 127.50 107.50 5.20794 -337.50 127.50 112.50 4.10428 -337.50 127.50 117.50 2.66685 -337.50 127.50 122.50 1.36783 -337.50 127.50 127.50 0.49688 -337.50 127.50 132.50 0.130981 -337.50 127.50 137.50 0.0254932 -337.50 127.50 142.50 0.004792 -337.50 127.50 147.50 0.0103397 -337.50 127.50 152.50 0.0449127 -337.50 127.50 157.50 0.129212 -337.50 127.50 162.50 0.323166 -337.50 127.50 167.50 0.731469 -337.50 127.50 172.50 1.45216 -337.50 127.50 177.50 2.53104 -337.50 127.50 182.50 3.78323 -337.50 127.50 187.50 5.09999 -337.50 127.50 192.50 5.6699 -337.50 127.50 197.50 5.20794 -337.50 127.50 202.50 4.10428 -337.50 127.50 207.50 2.66685 -337.50 127.50 212.50 1.36783 -337.50 127.50 217.50 0.496881 -337.50 127.50 222.50 0.130981 -337.50 127.50 227.50 0.0254932 -337.50 127.50 232.50 0.004792 -337.50 127.50 237.50 0.0103397 -337.50 127.50 242.50 0.0449127 -337.50 127.50 247.50 0.129212 -337.50 127.50 252.50 0.323166 -337.50 127.50 257.50 0.73147 -337.50 127.50 262.50 1.45217 -337.50 127.50 267.50 2.53104 -337.50 127.50 272.50 3.78322 -337.50 127.50 277.50 5.09998 -337.50 127.50 282.50 5.6699 -337.50 127.50 287.50 5.20794 -337.50 127.50 292.50 4.10428 -337.50 127.50 297.50 2.66685 -337.50 127.50 302.50 1.36783 -337.50 127.50 307.50 0.496882 -337.50 127.50 312.50 0.130981 -337.50 127.50 317.50 0.0254933 -337.50 127.50 322.50 0.00479201 -337.50 127.50 327.50 0.0103397 -337.50 127.50 332.50 0.0449127 -337.50 127.50 337.50 0.129212 -337.50 127.50 342.50 0.323165 -337.50 127.50 347.50 0.731468 -337.50 127.50 352.50 1.45216 -337.50 127.50 357.50 2.53104 -337.50 132.50 2.50 4.66762 -337.50 132.50 7.50 5.26632 -337.50 132.50 12.50 5.20289 -337.50 132.50 17.50 4.16698 -337.50 132.50 22.50 2.8728 -337.50 132.50 27.50 1.62258 -337.50 132.50 32.50 0.749231 -337.50 132.50 37.50 0.259457 -337.50 132.50 42.50 0.0598363 -337.50 132.50 47.50 0.00950439 -337.50 132.50 52.50 0.00713902 -337.50 132.50 57.50 0.0315213 -337.50 132.50 62.50 0.0962728 -337.50 132.50 67.50 0.297183 -337.50 132.50 72.50 0.704984 -337.50 132.50 77.50 1.35811 -337.50 132.50 82.50 2.38046 -337.50 132.50 87.50 3.66233 -337.50 132.50 92.50 4.66762 -337.50 132.50 97.50 5.26632 -337.50 132.50 102.50 5.20289 -337.50 132.50 107.50 4.16698 -337.50 132.50 112.50 2.8728 -337.50 132.50 117.50 1.62258 -337.50 132.50 122.50 0.74923 -337.50 132.50 127.50 0.259456 -337.50 132.50 132.50 0.0598362 -337.50 132.50 137.50 0.00950439 -337.50 132.50 142.50 0.00713903 -337.50 132.50 147.50 0.0315213 -337.50 132.50 152.50 0.0962726 -337.50 132.50 157.50 0.297182 -337.50 132.50 162.50 0.704983 -337.50 132.50 167.50 1.35811 -337.50 132.50 172.50 2.38046 -337.50 132.50 177.50 3.66233 -337.50 132.50 182.50 4.66762 -337.50 132.50 187.50 5.26632 -337.50 132.50 192.50 5.20289 -337.50 132.50 197.50 4.16698 -337.50 132.50 202.50 2.8728 -337.50 132.50 207.50 1.62258 -337.50 132.50 212.50 0.749231 -337.50 132.50 217.50 0.259457 -337.50 132.50 222.50 0.0598364 -337.50 132.50 227.50 0.00950441 -337.50 132.50 232.50 0.00713903 -337.50 132.50 237.50 0.0315214 -337.50 132.50 242.50 0.0962727 -337.50 132.50 247.50 0.297183 -337.50 132.50 252.50 0.704985 -337.50 132.50 257.50 1.35811 -337.50 132.50 262.50 2.38046 -337.50 132.50 267.50 3.66233 -337.50 132.50 272.50 4.66762 -337.50 132.50 277.50 5.26632 -337.50 132.50 282.50 5.20289 -337.50 132.50 287.50 4.16698 -337.50 132.50 292.50 2.8728 -337.50 132.50 297.50 1.62258 -337.50 132.50 302.50 0.749232 -337.50 132.50 307.50 0.259457 -337.50 132.50 312.50 0.0598364 -337.50 132.50 317.50 0.00950442 -337.50 132.50 322.50 0.00713902 -337.50 132.50 327.50 0.0315213 -337.50 132.50 332.50 0.0962725 -337.50 132.50 337.50 0.297182 -337.50 132.50 342.50 0.704983 -337.50 132.50 347.50 1.35811 -337.50 132.50 352.50 2.38045 -337.50 132.50 357.50 3.66233 -337.50 137.50 2.50 5.03542 -337.50 137.50 7.50 4.9263 -337.50 137.50 12.50 4.25358 -337.50 137.50 17.50 2.98267 -337.50 137.50 22.50 1.74612 -337.50 137.50 27.50 0.81787 -337.50 137.50 32.50 0.325678 -337.50 137.50 37.50 0.104638 -337.50 137.50 42.50 0.0192789 -337.50 137.50 47.50 0.00632723 -337.50 137.50 52.50 0.0128841 -337.50 137.50 57.50 0.0622877 -337.50 137.50 62.50 0.212703 -337.50 137.50 67.50 0.565488 -337.50 137.50 72.50 1.24718 -337.50 137.50 77.50 2.07806 -337.50 137.50 82.50 3.17018 -337.50 137.50 87.50 4.37516 -337.50 137.50 92.50 5.03542 -337.50 137.50 97.50 4.9263 -337.50 137.50 102.50 4.25359 -337.50 137.50 107.50 2.98267 -337.50 137.50 112.50 1.74612 -337.50 137.50 117.50 0.81787 -337.50 137.50 122.50 0.325677 -337.50 137.50 127.50 0.104637 -337.50 137.50 132.50 0.0192789 -337.50 137.50 137.50 0.00632723 -337.50 137.50 142.50 0.0128841 -337.50 137.50 147.50 0.0622876 -337.50 137.50 152.50 0.212702 -337.50 137.50 157.50 0.565487 -337.50 137.50 162.50 1.24718 -337.50 137.50 167.50 2.07806 -337.50 137.50 172.50 3.17018 -337.50 137.50 177.50 4.37516 -337.50 137.50 182.50 5.03542 -337.50 137.50 187.50 4.9263 -337.50 137.50 192.50 4.25359 -337.50 137.50 197.50 2.98267 -337.50 137.50 202.50 1.74612 -337.50 137.50 207.50 0.817871 -337.50 137.50 212.50 0.325678 -337.50 137.50 217.50 0.104638 -337.50 137.50 222.50 0.019279 -337.50 137.50 227.50 0.00632722 -337.50 137.50 232.50 0.0128841 -337.50 137.50 237.50 0.0622877 -337.50 137.50 242.50 0.212703 -337.50 137.50 247.50 0.565488 -337.50 137.50 252.50 1.24718 -337.50 137.50 257.50 2.07806 -337.50 137.50 262.50 3.17018 -337.50 137.50 267.50 4.37516 -337.50 137.50 272.50 5.03542 -337.50 137.50 277.50 4.9263 -337.50 137.50 282.50 4.25359 -337.50 137.50 287.50 2.98267 -337.50 137.50 292.50 1.74612 -337.50 137.50 297.50 0.817872 -337.50 137.50 302.50 0.325678 -337.50 137.50 307.50 0.104638 -337.50 137.50 312.50 0.019279 -337.50 137.50 317.50 0.00632723 -337.50 137.50 322.50 0.0128841 -337.50 137.50 327.50 0.0622875 -337.50 137.50 332.50 0.212702 -337.50 137.50 337.50 0.565485 -337.50 137.50 342.50 1.24718 -337.50 137.50 347.50 2.07805 -337.50 137.50 352.50 3.17018 -337.50 137.50 357.50 4.37515 -337.50 142.50 2.50 4.66762 -337.50 142.50 7.50 4.11607 -337.50 142.50 12.50 3.10303 -337.50 142.50 17.50 1.92656 -337.50 142.50 22.50 0.948299 -337.50 142.50 27.50 0.367172 -337.50 142.50 32.50 0.121203 -337.50 142.50 37.50 0.0339057 -337.50 142.50 42.50 0.0074939 -337.50 142.50 47.50 0.0061391 -337.50 142.50 52.50 0.0261247 -337.50 142.50 57.50 0.109017 -337.50 142.50 62.50 0.362472 -337.50 142.50 67.50 0.924132 -337.50 142.50 72.50 1.73472 -337.50 142.50 77.50 2.57939 -337.50 142.50 82.50 3.48816 -337.50 142.50 87.50 4.3612 -337.50 142.50 92.50 4.66762 -337.50 142.50 97.50 4.11607 -337.50 142.50 102.50 3.10303 -337.50 142.50 107.50 1.92656 -337.50 142.50 112.50 0.9483 -337.50 142.50 117.50 0.367172 -337.50 142.50 122.50 0.121203 -337.50 142.50 127.50 0.0339056 -337.50 142.50 132.50 0.0074939 -337.50 142.50 137.50 0.0061391 -337.50 142.50 142.50 0.0261247 -337.50 142.50 147.50 0.109017 -337.50 142.50 152.50 0.362472 -337.50 142.50 157.50 0.924131 -337.50 142.50 162.50 1.73472 -337.50 142.50 167.50 2.57939 -337.50 142.50 172.50 3.48816 -337.50 142.50 177.50 4.3612 -337.50 142.50 182.50 4.66762 -337.50 142.50 187.50 4.11607 -337.50 142.50 192.50 3.10303 -337.50 142.50 197.50 1.92656 -337.50 142.50 202.50 0.9483 -337.50 142.50 207.50 0.367172 -337.50 142.50 212.50 0.121203 -337.50 142.50 217.50 0.0339057 -337.50 142.50 222.50 0.00749391 -337.50 142.50 227.50 0.00613909 -337.50 142.50 232.50 0.0261247 -337.50 142.50 237.50 0.109017 -337.50 142.50 242.50 0.362472 -337.50 142.50 247.50 0.924132 -337.50 142.50 252.50 1.73472 -337.50 142.50 257.50 2.57939 -337.50 142.50 262.50 3.48816 -337.50 142.50 267.50 4.3612 -337.50 142.50 272.50 4.66762 -337.50 142.50 277.50 4.11607 -337.50 142.50 282.50 3.10303 -337.50 142.50 287.50 1.92656 -337.50 142.50 292.50 0.9483 -337.50 142.50 297.50 0.367172 -337.50 142.50 302.50 0.121203 -337.50 142.50 307.50 0.0339057 -337.50 142.50 312.50 0.00749392 -337.50 142.50 317.50 0.00613909 -337.50 142.50 322.50 0.0261246 -337.50 142.50 327.50 0.109017 -337.50 142.50 332.50 0.362471 -337.50 142.50 337.50 0.924129 -337.50 142.50 342.50 1.73471 -337.50 142.50 347.50 2.57939 -337.50 142.50 352.50 3.48816 -337.50 142.50 357.50 4.3612 -337.50 147.50 2.50 3.78322 -337.50 147.50 7.50 3.05865 -337.50 147.50 12.50 2.02937 -337.50 147.50 17.50 1.11133 -337.50 147.50 22.50 0.470413 -337.50 147.50 27.50 0.153925 -337.50 147.50 32.50 0.0418858 -337.50 147.50 37.50 0.010953 -337.50 147.50 42.50 0.00654009 -337.50 147.50 47.50 0.0180068 -337.50 147.50 52.50 0.0588692 -337.50 147.50 57.50 0.19603 -337.50 147.50 62.50 0.555868 -337.50 147.50 67.50 1.21261 -337.50 147.50 72.50 1.9939 -337.50 147.50 77.50 2.66563 -337.50 147.50 82.50 3.28849 -337.50 147.50 87.50 3.78813 -337.50 147.50 92.50 3.78322 -337.50 147.50 97.50 3.05865 -337.50 147.50 102.50 2.02937 -337.50 147.50 107.50 1.11133 -337.50 147.50 112.50 0.470413 -337.50 147.50 117.50 0.153925 -337.50 147.50 122.50 0.0418857 -337.50 147.50 127.50 0.010953 -337.50 147.50 132.50 0.00654009 -337.50 147.50 137.50 0.0180068 -337.50 147.50 142.50 0.0588691 -337.50 147.50 147.50 0.19603 -337.50 147.50 152.50 0.555868 -337.50 147.50 157.50 1.21261 -337.50 147.50 162.50 1.9939 -337.50 147.50 167.50 2.66563 -337.50 147.50 172.50 3.28849 -337.50 147.50 177.50 3.78813 -337.50 147.50 182.50 3.78322 -337.50 147.50 187.50 3.05864 -337.50 147.50 192.50 2.02937 -337.50 147.50 197.50 1.11133 -337.50 147.50 202.50 0.470413 -337.50 147.50 207.50 0.153926 -337.50 147.50 212.50 0.0418858 -337.50 147.50 217.50 0.010953 -337.50 147.50 222.50 0.00654007 -337.50 147.50 227.50 0.0180067 -337.50 147.50 232.50 0.0588692 -337.50 147.50 237.50 0.19603 -337.50 147.50 242.50 0.555869 -337.50 147.50 247.50 1.21261 -337.50 147.50 252.50 1.9939 -337.50 147.50 257.50 2.66563 -337.50 147.50 262.50 3.28849 -337.50 147.50 267.50 3.78813 -337.50 147.50 272.50 3.78322 -337.50 147.50 277.50 3.05865 -337.50 147.50 282.50 2.02937 -337.50 147.50 287.50 1.11133 -337.50 147.50 292.50 0.470414 -337.50 147.50 297.50 0.153926 -337.50 147.50 302.50 0.0418858 -337.50 147.50 307.50 0.0109531 -337.50 147.50 312.50 0.00654008 -337.50 147.50 317.50 0.0180067 -337.50 147.50 322.50 0.058869 -337.50 147.50 327.50 0.19603 -337.50 147.50 332.50 0.555867 -337.50 147.50 337.50 1.21261 -337.50 147.50 342.50 1.9939 -337.50 147.50 347.50 2.66563 -337.50 147.50 352.50 3.28849 -337.50 147.50 357.50 3.78813 -337.50 152.50 2.50 2.76505 -337.50 152.50 7.50 2.07379 -337.50 152.50 12.50 1.30488 -337.50 152.50 17.50 0.618996 -337.50 152.50 22.50 0.245776 -337.50 152.50 27.50 0.0647092 -337.50 152.50 32.50 0.0159058 -337.50 152.50 37.50 0.00538732 -337.50 152.50 42.50 0.0124351 -337.50 152.50 47.50 0.0483448 -337.50 152.50 52.50 0.136774 -337.50 152.50 57.50 0.334404 -337.50 152.50 62.50 0.7632 -337.50 152.50 67.50 1.42938 -337.50 152.50 72.50 2.04972 -337.50 152.50 77.50 2.49158 -337.50 152.50 82.50 2.77949 -337.50 152.50 87.50 2.9695 -337.50 152.50 92.50 2.76505 -337.50 152.50 97.50 2.07379 -337.50 152.50 102.50 1.30488 -337.50 152.50 107.50 0.618996 -337.50 152.50 112.50 0.245776 -337.50 152.50 117.50 0.064709 -337.50 152.50 122.50 0.0159058 -337.50 152.50 127.50 0.00538731 -337.50 152.50 132.50 0.0124351 -337.50 152.50 137.50 0.0483448 -337.50 152.50 142.50 0.136774 -337.50 152.50 147.50 0.334404 -337.50 152.50 152.50 0.763199 -337.50 152.50 157.50 1.42938 -337.50 152.50 162.50 2.04972 -337.50 152.50 167.50 2.49158 -337.50 152.50 172.50 2.77949 -337.50 152.50 177.50 2.9695 -337.50 152.50 182.50 2.76505 -337.50 152.50 187.50 2.07379 -337.50 152.50 192.50 1.30488 -337.50 152.50 197.50 0.618996 -337.50 152.50 202.50 0.245776 -337.50 152.50 207.50 0.0647092 -337.50 152.50 212.50 0.0159058 -337.50 152.50 217.50 0.00538731 -337.50 152.50 222.50 0.0124351 -337.50 152.50 227.50 0.0483447 -337.50 152.50 232.50 0.136774 -337.50 152.50 237.50 0.334404 -337.50 152.50 242.50 0.763201 -337.50 152.50 247.50 1.42938 -337.50 152.50 252.50 2.04972 -337.50 152.50 257.50 2.49158 -337.50 152.50 262.50 2.77949 -337.50 152.50 267.50 2.9695 -337.50 152.50 272.50 2.76505 -337.50 152.50 277.50 2.07379 -337.50 152.50 282.50 1.30488 -337.50 152.50 287.50 0.618996 -337.50 152.50 292.50 0.245777 -337.50 152.50 297.50 0.0647094 -337.50 152.50 302.50 0.0159058 -337.50 152.50 307.50 0.00538731 -337.50 152.50 312.50 0.0124351 -337.50 152.50 317.50 0.0483447 -337.50 152.50 322.50 0.136774 -337.50 152.50 327.50 0.334403 -337.50 152.50 332.50 0.763199 -337.50 152.50 337.50 1.42938 -337.50 152.50 342.50 2.04972 -337.50 152.50 347.50 2.49158 -337.50 152.50 352.50 2.77948 -337.50 152.50 357.50 2.9695 -337.50 157.50 2.50 1.82434 -337.50 157.50 7.50 1.3143 -337.50 157.50 12.50 0.835416 -337.50 157.50 17.50 0.408669 -337.50 157.50 22.50 0.164729 -337.50 157.50 27.50 0.0604164 -337.50 157.50 32.50 0.0170085 -337.50 157.50 37.50 0.00775408 -337.50 157.50 42.50 0.022421 -337.50 157.50 47.50 0.0869079 -337.50 157.50 52.50 0.243473 -337.50 157.50 57.50 0.522211 -337.50 157.50 62.50 0.969992 -337.50 157.50 67.50 1.53757 -337.50 157.50 72.50 1.94329 -337.50 157.50 77.50 2.09956 -337.50 157.50 82.50 2.13388 -337.50 157.50 87.50 2.07889 -337.50 157.50 92.50 1.82434 -337.50 157.50 97.50 1.3143 -337.50 157.50 102.50 0.835416 -337.50 157.50 107.50 0.408669 -337.50 157.50 112.50 0.164729 -337.50 157.50 117.50 0.0604163 -337.50 157.50 122.50 0.0170084 -337.50 157.50 127.50 0.00775407 -337.50 157.50 132.50 0.022421 -337.50 157.50 137.50 0.0869079 -337.50 157.50 142.50 0.243473 -337.50 157.50 147.50 0.52221 -337.50 157.50 152.50 0.969992 -337.50 157.50 157.50 1.53757 -337.50 157.50 162.50 1.94329 -337.50 157.50 167.50 2.09955 -337.50 157.50 172.50 2.13388 -337.50 157.50 177.50 2.07889 -337.50 157.50 182.50 1.82434 -337.50 157.50 187.50 1.3143 -337.50 157.50 192.50 0.835416 -337.50 157.50 197.50 0.408669 -337.50 157.50 202.50 0.164729 -337.50 157.50 207.50 0.0604164 -337.50 157.50 212.50 0.0170085 -337.50 157.50 217.50 0.00775407 -337.50 157.50 222.50 0.0224209 -337.50 157.50 227.50 0.0869078 -337.50 157.50 232.50 0.243474 -337.50 157.50 237.50 0.522211 -337.50 157.50 242.50 0.969994 -337.50 157.50 247.50 1.53757 -337.50 157.50 252.50 1.94329 -337.50 157.50 257.50 2.09955 -337.50 157.50 262.50 2.13388 -337.50 157.50 267.50 2.07889 -337.50 157.50 272.50 1.82434 -337.50 157.50 277.50 1.3143 -337.50 157.50 282.50 0.835416 -337.50 157.50 287.50 0.408669 -337.50 157.50 292.50 0.164729 -337.50 157.50 297.50 0.0604165 -337.50 157.50 302.50 0.0170085 -337.50 157.50 307.50 0.00775407 -337.50 157.50 312.50 0.0224209 -337.50 157.50 317.50 0.0869078 -337.50 157.50 322.50 0.243473 -337.50 157.50 327.50 0.52221 -337.50 157.50 332.50 0.969991 -337.50 157.50 337.50 1.53757 -337.50 157.50 342.50 1.94329 -337.50 157.50 347.50 2.09955 -337.50 157.50 352.50 2.13388 -337.50 157.50 357.50 2.07889 -337.50 162.50 2.50 1.04915 -337.50 162.50 7.50 0.754685 -337.50 162.50 12.50 0.486186 -337.50 162.50 17.50 0.296214 -337.50 162.50 22.50 0.170401 -337.50 162.50 27.50 0.101257 -337.50 162.50 32.50 0.0459573 -337.50 162.50 37.50 0.0167424 -337.50 162.50 42.50 0.0318101 -337.50 162.50 47.50 0.116604 -337.50 162.50 52.50 0.318861 -337.50 162.50 57.50 0.665952 -337.50 162.50 62.50 1.1359 -337.50 162.50 67.50 1.57171 -337.50 162.50 72.50 1.72458 -337.50 162.50 77.50 1.60219 -337.50 162.50 82.50 1.42285 -337.50 162.50 87.50 1.25412 -337.50 162.50 92.50 1.04915 -337.50 162.50 97.50 0.754685 -337.50 162.50 102.50 0.486186 -337.50 162.50 107.50 0.296214 -337.50 162.50 112.50 0.170401 -337.50 162.50 117.50 0.101257 -337.50 162.50 122.50 0.0459573 -337.50 162.50 127.50 0.0167425 -337.50 162.50 132.50 0.0318102 -337.50 162.50 137.50 0.116604 -337.50 162.50 142.50 0.318861 -337.50 162.50 147.50 0.665952 -337.50 162.50 152.50 1.1359 -337.50 162.50 157.50 1.57171 -337.50 162.50 162.50 1.72458 -337.50 162.50 167.50 1.60219 -337.50 162.50 172.50 1.42285 -337.50 162.50 177.50 1.25413 -337.50 162.50 182.50 1.04915 -337.50 162.50 187.50 0.754684 -337.50 162.50 192.50 0.486186 -337.50 162.50 197.50 0.296214 -337.50 162.50 202.50 0.170401 -337.50 162.50 207.50 0.101257 -337.50 162.50 212.50 0.0459574 -337.50 162.50 217.50 0.0167424 -337.50 162.50 222.50 0.0318101 -337.50 162.50 227.50 0.116604 -337.50 162.50 232.50 0.318862 -337.50 162.50 237.50 0.665952 -337.50 162.50 242.50 1.1359 -337.50 162.50 247.50 1.57171 -337.50 162.50 252.50 1.72458 -337.50 162.50 257.50 1.60219 -337.50 162.50 262.50 1.42285 -337.50 162.50 267.50 1.25412 -337.50 162.50 272.50 1.04915 -337.50 162.50 277.50 0.754685 -337.50 162.50 282.50 0.486186 -337.50 162.50 287.50 0.296214 -337.50 162.50 292.50 0.170401 -337.50 162.50 297.50 0.101257 -337.50 162.50 302.50 0.0459574 -337.50 162.50 307.50 0.0167425 -337.50 162.50 312.50 0.0318101 -337.50 162.50 317.50 0.116604 -337.50 162.50 322.50 0.31886 -337.50 162.50 327.50 0.665951 -337.50 162.50 332.50 1.1359 -337.50 162.50 337.50 1.57171 -337.50 162.50 342.50 1.72458 -337.50 162.50 347.50 1.60219 -337.50 162.50 352.50 1.42285 -337.50 162.50 357.50 1.25413 -337.50 167.50 2.50 0.514899 -337.50 167.50 7.50 0.384519 -337.50 167.50 12.50 0.250634 -337.50 167.50 17.50 0.207992 -337.50 167.50 22.50 0.182654 -337.50 167.50 27.50 0.136815 -337.50 167.50 32.50 0.0683474 -337.50 167.50 37.50 0.0288061 -337.50 167.50 42.50 0.0405365 -337.50 167.50 47.50 0.120832 -337.50 167.50 52.50 0.312384 -337.50 167.50 57.50 0.685351 -337.50 167.50 62.50 1.20435 -337.50 167.50 67.50 1.55515 -337.50 167.50 72.50 1.48934 -337.50 167.50 77.50 1.1329 -337.50 167.50 82.50 0.803028 -337.50 167.50 87.50 0.631548 -337.50 167.50 92.50 0.514899 -337.50 167.50 97.50 0.384519 -337.50 167.50 102.50 0.250634 -337.50 167.50 107.50 0.207991 -337.50 167.50 112.50 0.182654 -337.50 167.50 117.50 0.136815 -337.50 167.50 122.50 0.0683473 -337.50 167.50 127.50 0.0288061 -337.50 167.50 132.50 0.0405365 -337.50 167.50 137.50 0.120832 -337.50 167.50 142.50 0.312384 -337.50 167.50 147.50 0.685351 -337.50 167.50 152.50 1.20435 -337.50 167.50 157.50 1.55515 -337.50 167.50 162.50 1.48934 -337.50 167.50 167.50 1.1329 -337.50 167.50 172.50 0.803028 -337.50 167.50 177.50 0.631548 -337.50 167.50 182.50 0.5149 -337.50 167.50 187.50 0.384519 -337.50 167.50 192.50 0.250634 -337.50 167.50 197.50 0.207992 -337.50 167.50 202.50 0.182654 -337.50 167.50 207.50 0.136815 -337.50 167.50 212.50 0.0683473 -337.50 167.50 217.50 0.0288061 -337.50 167.50 222.50 0.0405365 -337.50 167.50 227.50 0.120832 -337.50 167.50 232.50 0.312384 -337.50 167.50 237.50 0.685351 -337.50 167.50 242.50 1.20435 -337.50 167.50 247.50 1.55515 -337.50 167.50 252.50 1.48934 -337.50 167.50 257.50 1.1329 -337.50 167.50 262.50 0.803028 -337.50 167.50 267.50 0.631548 -337.50 167.50 272.50 0.514899 -337.50 167.50 277.50 0.384519 -337.50 167.50 282.50 0.250634 -337.50 167.50 287.50 0.207992 -337.50 167.50 292.50 0.182654 -337.50 167.50 297.50 0.136815 -337.50 167.50 302.50 0.0683474 -337.50 167.50 307.50 0.0288061 -337.50 167.50 312.50 0.0405365 -337.50 167.50 317.50 0.120832 -337.50 167.50 322.50 0.312384 -337.50 167.50 327.50 0.685349 -337.50 167.50 332.50 1.20434 -337.50 167.50 337.50 1.55515 -337.50 167.50 342.50 1.48934 -337.50 167.50 347.50 1.1329 -337.50 167.50 352.50 0.803028 -337.50 167.50 357.50 0.631548 -337.50 172.50 2.50 0.221571 -337.50 172.50 7.50 0.187039 -337.50 172.50 12.50 0.152442 -337.50 172.50 17.50 0.133941 -337.50 172.50 22.50 0.143448 -337.50 172.50 27.50 0.123005 -337.50 172.50 32.50 0.0759863 -337.50 172.50 37.50 0.0389614 -337.50 172.50 42.50 0.0394888 -337.50 172.50 47.50 0.0984243 -337.50 172.50 52.50 0.257601 -337.50 172.50 57.50 0.59838 -337.50 172.50 62.50 1.08065 -337.50 172.50 67.50 1.37472 -337.50 172.50 72.50 1.19976 -337.50 172.50 77.50 0.751387 -337.50 172.50 82.50 0.4122 -337.50 172.50 87.50 0.269639 -337.50 172.50 92.50 0.221571 -337.50 172.50 97.50 0.187039 -337.50 172.50 102.50 0.152442 -337.50 172.50 107.50 0.133941 -337.50 172.50 112.50 0.143448 -337.50 172.50 117.50 0.123005 -337.50 172.50 122.50 0.0759862 -337.50 172.50 127.50 0.0389614 -337.50 172.50 132.50 0.0394888 -337.50 172.50 137.50 0.0984243 -337.50 172.50 142.50 0.257601 -337.50 172.50 147.50 0.59838 -337.50 172.50 152.50 1.08065 -337.50 172.50 157.50 1.37472 -337.50 172.50 162.50 1.19976 -337.50 172.50 167.50 0.751388 -337.50 172.50 172.50 0.412201 -337.50 172.50 177.50 0.269639 -337.50 172.50 182.50 0.221571 -337.50 172.50 187.50 0.187039 -337.50 172.50 192.50 0.152442 -337.50 172.50 197.50 0.133941 -337.50 172.50 202.50 0.143448 -337.50 172.50 207.50 0.123005 -337.50 172.50 212.50 0.0759862 -337.50 172.50 217.50 0.0389614 -337.50 172.50 222.50 0.0394888 -337.50 172.50 227.50 0.0984242 -337.50 172.50 232.50 0.257601 -337.50 172.50 237.50 0.598381 -337.50 172.50 242.50 1.08065 -337.50 172.50 247.50 1.37472 -337.50 172.50 252.50 1.19976 -337.50 172.50 257.50 0.751387 -337.50 172.50 262.50 0.4122 -337.50 172.50 267.50 0.269639 -337.50 172.50 272.50 0.221571 -337.50 172.50 277.50 0.187039 -337.50 172.50 282.50 0.152442 -337.50 172.50 287.50 0.133941 -337.50 172.50 292.50 0.143448 -337.50 172.50 297.50 0.123006 -337.50 172.50 302.50 0.0759863 -337.50 172.50 307.50 0.0389614 -337.50 172.50 312.50 0.0394887 -337.50 172.50 317.50 0.0984241 -337.50 172.50 322.50 0.2576 -337.50 172.50 327.50 0.598379 -337.50 172.50 332.50 1.08065 -337.50 172.50 337.50 1.37472 -337.50 172.50 342.50 1.19976 -337.50 172.50 347.50 0.751389 -337.50 172.50 352.50 0.412201 -337.50 172.50 357.50 0.269639 -337.50 177.50 2.50 0.0874278 -337.50 177.50 7.50 0.0912091 -337.50 177.50 12.50 0.097362 -337.50 177.50 17.50 0.10012 -337.50 177.50 22.50 0.0982883 -337.50 177.50 27.50 0.0873951 -337.50 177.50 32.50 0.0638133 -337.50 177.50 37.50 0.0444076 -337.50 177.50 42.50 0.0398712 -337.50 177.50 47.50 0.0686877 -337.50 177.50 52.50 0.173647 -337.50 177.50 57.50 0.436531 -337.50 177.50 62.50 0.830731 -337.50 177.50 67.50 1.05029 -337.50 177.50 72.50 0.862377 -337.50 177.50 77.50 0.478807 -337.50 177.50 82.50 0.209005 -337.50 177.50 87.50 0.106432 -337.50 177.50 92.50 0.0874277 -337.50 177.50 97.50 0.0912091 -337.50 177.50 102.50 0.097362 -337.50 177.50 107.50 0.10012 -337.50 177.50 112.50 0.0982883 -337.50 177.50 117.50 0.0873951 -337.50 177.50 122.50 0.0638133 -337.50 177.50 127.50 0.0444076 -337.50 177.50 132.50 0.0398712 -337.50 177.50 137.50 0.0686877 -337.50 177.50 142.50 0.173647 -337.50 177.50 147.50 0.436531 -337.50 177.50 152.50 0.830731 -337.50 177.50 157.50 1.05029 -337.50 177.50 162.50 0.862378 -337.50 177.50 167.50 0.478808 -337.50 177.50 172.50 0.209006 -337.50 177.50 177.50 0.106432 -337.50 177.50 182.50 0.0874278 -337.50 177.50 187.50 0.0912091 -337.50 177.50 192.50 0.0973619 -337.50 177.50 197.50 0.10012 -337.50 177.50 202.50 0.0982884 -337.50 177.50 207.50 0.0873952 -337.50 177.50 212.50 0.0638133 -337.50 177.50 217.50 0.0444076 -337.50 177.50 222.50 0.0398712 -337.50 177.50 227.50 0.0686877 -337.50 177.50 232.50 0.173647 -337.50 177.50 237.50 0.43653 -337.50 177.50 242.50 0.830731 -337.50 177.50 247.50 1.05029 -337.50 177.50 252.50 0.862378 -337.50 177.50 257.50 0.478807 -337.50 177.50 262.50 0.209006 -337.50 177.50 267.50 0.106432 -337.50 177.50 272.50 0.0874278 -337.50 177.50 277.50 0.0912091 -337.50 177.50 282.50 0.0973619 -337.50 177.50 287.50 0.10012 -337.50 177.50 292.50 0.0982884 -337.50 177.50 297.50 0.0873953 -337.50 177.50 302.50 0.0638134 -337.50 177.50 307.50 0.0444076 -337.50 177.50 312.50 0.0398712 -337.50 177.50 317.50 0.0686877 -337.50 177.50 322.50 0.173647 -337.50 177.50 327.50 0.43653 -337.50 177.50 332.50 0.83073 -337.50 177.50 337.50 1.05029 -337.50 177.50 342.50 0.862379 -337.50 177.50 347.50 0.478808 -337.50 177.50 352.50 0.209006 -337.50 177.50 357.50 0.106432 -342.50 2.50 2.50 0.0624685 -342.50 2.50 7.50 0.149977 -342.50 2.50 12.50 0.393271 -342.50 2.50 17.50 0.773178 -342.50 2.50 22.50 0.980476 -342.50 2.50 27.50 0.773179 -342.50 2.50 32.50 0.393273 -342.50 2.50 37.50 0.149977 -342.50 2.50 42.50 0.0624686 -342.50 2.50 47.50 0.0485219 -342.50 2.50 52.50 0.0601603 -342.50 2.50 57.50 0.0760385 -342.50 2.50 62.50 0.083846 -342.50 2.50 67.50 0.084539 -342.50 2.50 72.50 0.083846 -342.50 2.50 77.50 0.0760386 -342.50 2.50 82.50 0.0601604 -342.50 2.50 87.50 0.048522 -342.50 2.50 92.50 0.0624685 -342.50 2.50 97.50 0.149977 -342.50 2.50 102.50 0.393272 -342.50 2.50 107.50 0.773178 -342.50 2.50 112.50 0.980476 -342.50 2.50 117.50 0.773179 -342.50 2.50 122.50 0.393273 -342.50 2.50 127.50 0.149977 -342.50 2.50 132.50 0.0624686 -342.50 2.50 137.50 0.0485219 -342.50 2.50 142.50 0.0601603 -342.50 2.50 147.50 0.0760385 -342.50 2.50 152.50 0.083846 -342.50 2.50 157.50 0.084539 -342.50 2.50 162.50 0.083846 -342.50 2.50 167.50 0.0760386 -342.50 2.50 172.50 0.0601604 -342.50 2.50 177.50 0.048522 -342.50 2.50 182.50 0.0624686 -342.50 2.50 187.50 0.149977 -342.50 2.50 192.50 0.393271 -342.50 2.50 197.50 0.773178 -342.50 2.50 202.50 0.980476 -342.50 2.50 207.50 0.77318 -342.50 2.50 212.50 0.393273 -342.50 2.50 217.50 0.149977 -342.50 2.50 222.50 0.0624687 -342.50 2.50 227.50 0.0485219 -342.50 2.50 232.50 0.0601603 -342.50 2.50 237.50 0.0760385 -342.50 2.50 242.50 0.083846 -342.50 2.50 247.50 0.084539 -342.50 2.50 252.50 0.083846 -342.50 2.50 257.50 0.0760385 -342.50 2.50 262.50 0.0601603 -342.50 2.50 267.50 0.048522 -342.50 2.50 272.50 0.0624685 -342.50 2.50 277.50 0.149977 -342.50 2.50 282.50 0.393271 -342.50 2.50 287.50 0.773178 -342.50 2.50 292.50 0.980476 -342.50 2.50 297.50 0.773179 -342.50 2.50 302.50 0.393273 -342.50 2.50 307.50 0.149977 -342.50 2.50 312.50 0.0624687 -342.50 2.50 317.50 0.0485219 -342.50 2.50 322.50 0.0601602 -342.50 2.50 327.50 0.0760385 -342.50 2.50 332.50 0.083846 -342.50 2.50 337.50 0.084539 -342.50 2.50 342.50 0.083846 -342.50 2.50 347.50 0.0760386 -342.50 2.50 352.50 0.0601604 -342.50 2.50 357.50 0.048522 -342.50 7.50 2.50 0.102596 -342.50 7.50 7.50 0.202462 -342.50 7.50 12.50 0.45873 -342.50 7.50 17.50 0.829237 -342.50 7.50 22.50 1.03537 -342.50 7.50 27.50 0.856092 -342.50 7.50 32.50 0.4704 -342.50 7.50 37.50 0.188832 -342.50 7.50 42.50 0.0711832 -342.50 7.50 47.50 0.0399292 -342.50 7.50 52.50 0.0434974 -342.50 7.50 57.50 0.0604865 -342.50 7.50 62.50 0.0750917 -342.50 7.50 67.50 0.0859236 -342.50 7.50 72.50 0.0897201 -342.50 7.50 77.50 0.0878968 -342.50 7.50 82.50 0.0821991 -342.50 7.50 87.50 0.0808218 -342.50 7.50 92.50 0.102596 -342.50 7.50 97.50 0.202463 -342.50 7.50 102.50 0.458729 -342.50 7.50 107.50 0.829236 -342.50 7.50 112.50 1.03537 -342.50 7.50 117.50 0.856092 -342.50 7.50 122.50 0.4704 -342.50 7.50 127.50 0.188831 -342.50 7.50 132.50 0.0711833 -342.50 7.50 137.50 0.0399292 -342.50 7.50 142.50 0.0434974 -342.50 7.50 147.50 0.0604865 -342.50 7.50 152.50 0.0750917 -342.50 7.50 157.50 0.0859237 -342.50 7.50 162.50 0.0897202 -342.50 7.50 167.50 0.0878967 -342.50 7.50 172.50 0.0821991 -342.50 7.50 177.50 0.0808218 -342.50 7.50 182.50 0.102596 -342.50 7.50 187.50 0.202463 -342.50 7.50 192.50 0.458729 -342.50 7.50 197.50 0.829238 -342.50 7.50 202.50 1.03537 -342.50 7.50 207.50 0.856092 -342.50 7.50 212.50 0.4704 -342.50 7.50 217.50 0.188832 -342.50 7.50 222.50 0.0711833 -342.50 7.50 227.50 0.0399292 -342.50 7.50 232.50 0.0434974 -342.50 7.50 237.50 0.0604865 -342.50 7.50 242.50 0.0750918 -342.50 7.50 247.50 0.0859237 -342.50 7.50 252.50 0.0897202 -342.50 7.50 257.50 0.0878967 -342.50 7.50 262.50 0.0821991 -342.50 7.50 267.50 0.0808218 -342.50 7.50 272.50 0.102596 -342.50 7.50 277.50 0.202462 -342.50 7.50 282.50 0.458729 -342.50 7.50 287.50 0.829238 -342.50 7.50 292.50 1.03537 -342.50 7.50 297.50 0.856092 -342.50 7.50 302.50 0.4704 -342.50 7.50 307.50 0.188832 -342.50 7.50 312.50 0.0711833 -342.50 7.50 317.50 0.0399292 -342.50 7.50 322.50 0.0434974 -342.50 7.50 327.50 0.0604865 -342.50 7.50 332.50 0.0750918 -342.50 7.50 337.50 0.0859236 -342.50 7.50 342.50 0.0897202 -342.50 7.50 347.50 0.0878967 -342.50 7.50 352.50 0.0821991 -342.50 7.50 357.50 0.0808219 -342.50 12.50 2.50 0.24067 -342.50 12.50 7.50 0.38469 -342.50 12.50 12.50 0.704974 -342.50 12.50 17.50 1.13499 -342.50 12.50 22.50 1.35396 -342.50 12.50 27.50 1.12589 -342.50 12.50 32.50 0.65645 -342.50 12.50 37.50 0.285569 -342.50 12.50 42.50 0.10447 -342.50 12.50 47.50 0.0389844 -342.50 12.50 52.50 0.0320373 -342.50 12.50 57.50 0.061251 -342.50 12.50 62.50 0.100237 -342.50 12.50 67.50 0.121307 -342.50 12.50 72.50 0.119082 -342.50 12.50 77.50 0.111957 -342.50 12.50 82.50 0.141148 -342.50 12.50 87.50 0.181724 -342.50 12.50 92.50 0.24067 -342.50 12.50 97.50 0.384689 -342.50 12.50 102.50 0.704974 -342.50 12.50 107.50 1.13499 -342.50 12.50 112.50 1.35396 -342.50 12.50 117.50 1.12589 -342.50 12.50 122.50 0.65645 -342.50 12.50 127.50 0.285569 -342.50 12.50 132.50 0.10447 -342.50 12.50 137.50 0.0389844 -342.50 12.50 142.50 0.0320373 -342.50 12.50 147.50 0.0612511 -342.50 12.50 152.50 0.100237 -342.50 12.50 157.50 0.121307 -342.50 12.50 162.50 0.119082 -342.50 12.50 167.50 0.111957 -342.50 12.50 172.50 0.141147 -342.50 12.50 177.50 0.181724 -342.50 12.50 182.50 0.24067 -342.50 12.50 187.50 0.38469 -342.50 12.50 192.50 0.704975 -342.50 12.50 197.50 1.13499 -342.50 12.50 202.50 1.35396 -342.50 12.50 207.50 1.12589 -342.50 12.50 212.50 0.65645 -342.50 12.50 217.50 0.285569 -342.50 12.50 222.50 0.10447 -342.50 12.50 227.50 0.0389844 -342.50 12.50 232.50 0.0320373 -342.50 12.50 237.50 0.0612512 -342.50 12.50 242.50 0.100238 -342.50 12.50 247.50 0.121307 -342.50 12.50 252.50 0.119082 -342.50 12.50 257.50 0.111957 -342.50 12.50 262.50 0.141148 -342.50 12.50 267.50 0.181724 -342.50 12.50 272.50 0.24067 -342.50 12.50 277.50 0.38469 -342.50 12.50 282.50 0.704974 -342.50 12.50 287.50 1.13499 -342.50 12.50 292.50 1.35396 -342.50 12.50 297.50 1.12589 -342.50 12.50 302.50 0.656451 -342.50 12.50 307.50 0.28557 -342.50 12.50 312.50 0.10447 -342.50 12.50 317.50 0.0389844 -342.50 12.50 322.50 0.0320373 -342.50 12.50 327.50 0.061251 -342.50 12.50 332.50 0.100237 -342.50 12.50 337.50 0.121307 -342.50 12.50 342.50 0.119082 -342.50 12.50 347.50 0.111957 -342.50 12.50 352.50 0.141147 -342.50 12.50 357.50 0.181724 -342.50 17.50 2.50 0.527183 -342.50 17.50 7.50 0.720482 -342.50 17.50 12.50 1.0402 -342.50 17.50 17.50 1.41763 -342.50 17.50 22.50 1.544 -342.50 17.50 27.50 1.26173 -342.50 17.50 32.50 0.759201 -342.50 17.50 37.50 0.340342 -342.50 17.50 42.50 0.127702 -342.50 17.50 47.50 0.0433835 -342.50 17.50 52.50 0.0261998 -342.50 17.50 57.50 0.0540654 -342.50 17.50 62.50 0.10044 -342.50 17.50 67.50 0.1371 -342.50 17.50 72.50 0.160424 -342.50 17.50 77.50 0.196518 -342.50 17.50 82.50 0.251369 -342.50 17.50 87.50 0.384253 -342.50 17.50 92.50 0.527183 -342.50 17.50 97.50 0.720482 -342.50 17.50 102.50 1.0402 -342.50 17.50 107.50 1.41763 -342.50 17.50 112.50 1.544 -342.50 17.50 117.50 1.26173 -342.50 17.50 122.50 0.7592 -342.50 17.50 127.50 0.340341 -342.50 17.50 132.50 0.127702 -342.50 17.50 137.50 0.0433834 -342.50 17.50 142.50 0.0261998 -342.50 17.50 147.50 0.0540654 -342.50 17.50 152.50 0.10044 -342.50 17.50 157.50 0.1371 -342.50 17.50 162.50 0.160424 -342.50 17.50 167.50 0.196518 -342.50 17.50 172.50 0.251369 -342.50 17.50 177.50 0.384252 -342.50 17.50 182.50 0.527182 -342.50 17.50 187.50 0.720483 -342.50 17.50 192.50 1.0402 -342.50 17.50 197.50 1.41763 -342.50 17.50 202.50 1.544 -342.50 17.50 207.50 1.26173 -342.50 17.50 212.50 0.7592 -342.50 17.50 217.50 0.340342 -342.50 17.50 222.50 0.127702 -342.50 17.50 227.50 0.0433835 -342.50 17.50 232.50 0.0261998 -342.50 17.50 237.50 0.0540655 -342.50 17.50 242.50 0.10044 -342.50 17.50 247.50 0.1371 -342.50 17.50 252.50 0.160425 -342.50 17.50 257.50 0.196518 -342.50 17.50 262.50 0.251369 -342.50 17.50 267.50 0.384253 -342.50 17.50 272.50 0.527182 -342.50 17.50 277.50 0.720483 -342.50 17.50 282.50 1.0402 -342.50 17.50 287.50 1.41763 -342.50 17.50 292.50 1.544 -342.50 17.50 297.50 1.26173 -342.50 17.50 302.50 0.759202 -342.50 17.50 307.50 0.340342 -342.50 17.50 312.50 0.127702 -342.50 17.50 317.50 0.0433835 -342.50 17.50 322.50 0.0261997 -342.50 17.50 327.50 0.0540653 -342.50 17.50 332.50 0.10044 -342.50 17.50 337.50 0.1371 -342.50 17.50 342.50 0.160424 -342.50 17.50 347.50 0.196518 -342.50 17.50 352.50 0.251369 -342.50 17.50 357.50 0.384252 -342.50 22.50 2.50 0.990532 -342.50 22.50 7.50 1.2191 -342.50 22.50 12.50 1.47733 -342.50 22.50 17.50 1.68049 -342.50 22.50 22.50 1.6252 -342.50 22.50 27.50 1.24457 -342.50 22.50 32.50 0.745596 -342.50 22.50 37.50 0.352547 -342.50 22.50 42.50 0.130405 -342.50 22.50 47.50 0.0397712 -342.50 22.50 52.50 0.0157651 -342.50 22.50 57.50 0.0310733 -342.50 22.50 62.50 0.071219 -342.50 22.50 67.50 0.11271 -342.50 22.50 72.50 0.180535 -342.50 22.50 77.50 0.327898 -342.50 22.50 82.50 0.504196 -342.50 22.50 87.50 0.731449 -342.50 22.50 92.50 0.990531 -342.50 22.50 97.50 1.2191 -342.50 22.50 102.50 1.47733 -342.50 22.50 107.50 1.68049 -342.50 22.50 112.50 1.6252 -342.50 22.50 117.50 1.24457 -342.50 22.50 122.50 0.745595 -342.50 22.50 127.50 0.352546 -342.50 22.50 132.50 0.130404 -342.50 22.50 137.50 0.0397712 -342.50 22.50 142.50 0.0157651 -342.50 22.50 147.50 0.0310734 -342.50 22.50 152.50 0.0712189 -342.50 22.50 157.50 0.11271 -342.50 22.50 162.50 0.180535 -342.50 22.50 167.50 0.327897 -342.50 22.50 172.50 0.504196 -342.50 22.50 177.50 0.731448 -342.50 22.50 182.50 0.990531 -342.50 22.50 187.50 1.2191 -342.50 22.50 192.50 1.47733 -342.50 22.50 197.50 1.68049 -342.50 22.50 202.50 1.6252 -342.50 22.50 207.50 1.24457 -342.50 22.50 212.50 0.745596 -342.50 22.50 217.50 0.352547 -342.50 22.50 222.50 0.130405 -342.50 22.50 227.50 0.0397712 -342.50 22.50 232.50 0.0157651 -342.50 22.50 237.50 0.0310734 -342.50 22.50 242.50 0.071219 -342.50 22.50 247.50 0.11271 -342.50 22.50 252.50 0.180535 -342.50 22.50 257.50 0.327898 -342.50 22.50 262.50 0.504197 -342.50 22.50 267.50 0.731449 -342.50 22.50 272.50 0.990531 -342.50 22.50 277.50 1.2191 -342.50 22.50 282.50 1.47733 -342.50 22.50 287.50 1.68049 -342.50 22.50 292.50 1.6252 -342.50 22.50 297.50 1.24457 -342.50 22.50 302.50 0.745596 -342.50 22.50 307.50 0.352547 -342.50 22.50 312.50 0.130405 -342.50 22.50 317.50 0.0397713 -342.50 22.50 322.50 0.0157651 -342.50 22.50 327.50 0.0310733 -342.50 22.50 332.50 0.0712189 -342.50 22.50 337.50 0.11271 -342.50 22.50 342.50 0.180535 -342.50 22.50 347.50 0.327897 -342.50 22.50 352.50 0.504196 -342.50 22.50 357.50 0.731448 -342.50 27.50 2.50 1.58451 -342.50 27.50 7.50 1.7892 -342.50 27.50 12.50 1.93051 -342.50 27.50 17.50 1.96044 -342.50 27.50 22.50 1.67424 -342.50 27.50 27.50 1.12864 -342.50 27.50 32.50 0.613146 -342.50 27.50 37.50 0.280167 -342.50 27.50 42.50 0.104566 -342.50 27.50 47.50 0.030863 -342.50 27.50 52.50 0.010662 -342.50 27.50 57.50 0.0126958 -342.50 27.50 62.50 0.033119 -342.50 27.50 67.50 0.0958948 -342.50 27.50 72.50 0.231887 -342.50 27.50 77.50 0.497712 -342.50 27.50 82.50 0.880206 -342.50 27.50 87.50 1.23133 -342.50 27.50 92.50 1.58451 -342.50 27.50 97.50 1.7892 -342.50 27.50 102.50 1.93051 -342.50 27.50 107.50 1.96043 -342.50 27.50 112.50 1.67424 -342.50 27.50 117.50 1.12864 -342.50 27.50 122.50 0.613146 -342.50 27.50 127.50 0.280167 -342.50 27.50 132.50 0.104566 -342.50 27.50 137.50 0.030863 -342.50 27.50 142.50 0.010662 -342.50 27.50 147.50 0.0126958 -342.50 27.50 152.50 0.033119 -342.50 27.50 157.50 0.0958946 -342.50 27.50 162.50 0.231887 -342.50 27.50 167.50 0.497712 -342.50 27.50 172.50 0.880205 -342.50 27.50 177.50 1.23133 -342.50 27.50 182.50 1.58451 -342.50 27.50 187.50 1.7892 -342.50 27.50 192.50 1.93051 -342.50 27.50 197.50 1.96043 -342.50 27.50 202.50 1.67424 -342.50 27.50 207.50 1.12864 -342.50 27.50 212.50 0.613147 -342.50 27.50 217.50 0.280167 -342.50 27.50 222.50 0.104566 -342.50 27.50 227.50 0.0308631 -342.50 27.50 232.50 0.010662 -342.50 27.50 237.50 0.0126958 -342.50 27.50 242.50 0.0331191 -342.50 27.50 247.50 0.0958948 -342.50 27.50 252.50 0.231887 -342.50 27.50 257.50 0.497712 -342.50 27.50 262.50 0.880206 -342.50 27.50 267.50 1.23133 -342.50 27.50 272.50 1.58451 -342.50 27.50 277.50 1.7892 -342.50 27.50 282.50 1.93051 -342.50 27.50 287.50 1.96043 -342.50 27.50 292.50 1.67424 -342.50 27.50 297.50 1.12864 -342.50 27.50 302.50 0.613147 -342.50 27.50 307.50 0.280168 -342.50 27.50 312.50 0.104566 -342.50 27.50 317.50 0.0308631 -342.50 27.50 322.50 0.010662 -342.50 27.50 327.50 0.0126958 -342.50 27.50 332.50 0.033119 -342.50 27.50 337.50 0.0958945 -342.50 27.50 342.50 0.231886 -342.50 27.50 347.50 0.497711 -342.50 27.50 352.50 0.880205 -342.50 27.50 357.50 1.23133 -342.50 32.50 2.50 2.28343 -342.50 32.50 7.50 2.35998 -342.50 32.50 12.50 2.32479 -342.50 32.50 17.50 2.1941 -342.50 32.50 22.50 1.66379 -342.50 32.50 27.50 0.961776 -342.50 32.50 32.50 0.446188 -342.50 32.50 37.50 0.175254 -342.50 32.50 42.50 0.0640099 -342.50 32.50 47.50 0.0215104 -342.50 32.50 52.50 0.00698156 -342.50 32.50 57.50 0.00898048 -342.50 32.50 62.50 0.0367356 -342.50 32.50 67.50 0.125017 -342.50 32.50 72.50 0.378184 -342.50 32.50 77.50 0.781422 -342.50 32.50 82.50 1.40864 -342.50 32.50 87.50 1.94106 -342.50 32.50 92.50 2.28343 -342.50 32.50 97.50 2.35998 -342.50 32.50 102.50 2.32479 -342.50 32.50 107.50 2.1941 -342.50 32.50 112.50 1.66379 -342.50 32.50 117.50 0.961776 -342.50 32.50 122.50 0.446187 -342.50 32.50 127.50 0.175254 -342.50 32.50 132.50 0.0640099 -342.50 32.50 137.50 0.0215104 -342.50 32.50 142.50 0.00698155 -342.50 32.50 147.50 0.00898048 -342.50 32.50 152.50 0.0367355 -342.50 32.50 157.50 0.125016 -342.50 32.50 162.50 0.378184 -342.50 32.50 167.50 0.781421 -342.50 32.50 172.50 1.40864 -342.50 32.50 177.50 1.94106 -342.50 32.50 182.50 2.28343 -342.50 32.50 187.50 2.35998 -342.50 32.50 192.50 2.32479 -342.50 32.50 197.50 2.1941 -342.50 32.50 202.50 1.66379 -342.50 32.50 207.50 0.961776 -342.50 32.50 212.50 0.446188 -342.50 32.50 217.50 0.175255 -342.50 32.50 222.50 0.06401 -342.50 32.50 227.50 0.0215105 -342.50 32.50 232.50 0.00698155 -342.50 32.50 237.50 0.00898051 -342.50 32.50 242.50 0.0367356 -342.50 32.50 247.50 0.125017 -342.50 32.50 252.50 0.378185 -342.50 32.50 257.50 0.781422 -342.50 32.50 262.50 1.40864 -342.50 32.50 267.50 1.94106 -342.50 32.50 272.50 2.28343 -342.50 32.50 277.50 2.35998 -342.50 32.50 282.50 2.32479 -342.50 32.50 287.50 2.1941 -342.50 32.50 292.50 1.66379 -342.50 32.50 297.50 0.961777 -342.50 32.50 302.50 0.446188 -342.50 32.50 307.50 0.175255 -342.50 32.50 312.50 0.06401 -342.50 32.50 317.50 0.0215105 -342.50 32.50 322.50 0.00698157 -342.50 32.50 327.50 0.00898048 -342.50 32.50 332.50 0.0367354 -342.50 32.50 337.50 0.125016 -342.50 32.50 342.50 0.378184 -342.50 32.50 347.50 0.78142 -342.50 32.50 352.50 1.40864 -342.50 32.50 357.50 1.94106 -342.50 37.50 2.50 3.12281 -342.50 37.50 7.50 2.93791 -342.50 37.50 12.50 2.65325 -342.50 37.50 17.50 2.26821 -342.50 37.50 22.50 1.57418 -342.50 37.50 27.50 0.811573 -342.50 37.50 32.50 0.313741 -342.50 37.50 37.50 0.100307 -342.50 37.50 42.50 0.0307392 -342.50 37.50 47.50 0.0110938 -342.50 37.50 52.50 0.00794411 -342.50 37.50 57.50 0.0210778 -342.50 37.50 62.50 0.0813846 -342.50 37.50 67.50 0.268912 -342.50 37.50 72.50 0.691644 -342.50 37.50 77.50 1.39583 -342.50 37.50 82.50 2.22086 -342.50 37.50 87.50 2.92586 -342.50 37.50 92.50 3.12281 -342.50 37.50 97.50 2.93791 -342.50 37.50 102.50 2.65325 -342.50 37.50 107.50 2.26821 -342.50 37.50 112.50 1.57418 -342.50 37.50 117.50 0.811573 -342.50 37.50 122.50 0.31374 -342.50 37.50 127.50 0.100307 -342.50 37.50 132.50 0.0307392 -342.50 37.50 137.50 0.0110938 -342.50 37.50 142.50 0.0079441 -342.50 37.50 147.50 0.0210778 -342.50 37.50 152.50 0.0813844 -342.50 37.50 157.50 0.268912 -342.50 37.50 162.50 0.691644 -342.50 37.50 167.50 1.39583 -342.50 37.50 172.50 2.22085 -342.50 37.50 177.50 2.92586 -342.50 37.50 182.50 3.12281 -342.50 37.50 187.50 2.93791 -342.50 37.50 192.50 2.65325 -342.50 37.50 197.50 2.26821 -342.50 37.50 202.50 1.57418 -342.50 37.50 207.50 0.811573 -342.50 37.50 212.50 0.313741 -342.50 37.50 217.50 0.100307 -342.50 37.50 222.50 0.0307392 -342.50 37.50 227.50 0.0110938 -342.50 37.50 232.50 0.00794411 -342.50 37.50 237.50 0.0210779 -342.50 37.50 242.50 0.0813847 -342.50 37.50 247.50 0.268913 -342.50 37.50 252.50 0.691646 -342.50 37.50 257.50 1.39583 -342.50 37.50 262.50 2.22086 -342.50 37.50 267.50 2.92586 -342.50 37.50 272.50 3.12281 -342.50 37.50 277.50 2.93791 -342.50 37.50 282.50 2.65324 -342.50 37.50 287.50 2.26821 -342.50 37.50 292.50 1.57418 -342.50 37.50 297.50 0.811574 -342.50 37.50 302.50 0.313741 -342.50 37.50 307.50 0.100307 -342.50 37.50 312.50 0.0307392 -342.50 37.50 317.50 0.0110938 -342.50 37.50 322.50 0.0079441 -342.50 37.50 327.50 0.0210778 -342.50 37.50 332.50 0.0813844 -342.50 37.50 337.50 0.268912 -342.50 37.50 342.50 0.691644 -342.50 37.50 347.50 1.39583 -342.50 37.50 352.50 2.22085 -342.50 37.50 357.50 2.92585 -342.50 42.50 2.50 3.95126 -342.50 42.50 7.50 3.4014 -342.50 42.50 12.50 2.75895 -342.50 42.50 17.50 2.13049 -342.50 42.50 22.50 1.35737 -342.50 42.50 27.50 0.639226 -342.50 42.50 32.50 0.221198 -342.50 42.50 37.50 0.0653321 -342.50 42.50 42.50 0.0174266 -342.50 42.50 47.50 0.00680786 -342.50 42.50 52.50 0.0171214 -342.50 42.50 57.50 0.059778 -342.50 42.50 62.50 0.193327 -342.50 42.50 67.50 0.573798 -342.50 42.50 72.50 1.31015 -342.50 42.50 77.50 2.33596 -342.50 42.50 82.50 3.33049 -342.50 42.50 87.50 3.98414 -342.50 42.50 92.50 3.95126 -342.50 42.50 97.50 3.4014 -342.50 42.50 102.50 2.75896 -342.50 42.50 107.50 2.13049 -342.50 42.50 112.50 1.35737 -342.50 42.50 117.50 0.639226 -342.50 42.50 122.50 0.221198 -342.50 42.50 127.50 0.0653321 -342.50 42.50 132.50 0.0174266 -342.50 42.50 137.50 0.00680785 -342.50 42.50 142.50 0.0171214 -342.50 42.50 147.50 0.0597779 -342.50 42.50 152.50 0.193326 -342.50 42.50 157.50 0.573797 -342.50 42.50 162.50 1.31014 -342.50 42.50 167.50 2.33596 -342.50 42.50 172.50 3.33049 -342.50 42.50 177.50 3.98414 -342.50 42.50 182.50 3.95126 -342.50 42.50 187.50 3.4014 -342.50 42.50 192.50 2.75895 -342.50 42.50 197.50 2.13049 -342.50 42.50 202.50 1.35737 -342.50 42.50 207.50 0.639226 -342.50 42.50 212.50 0.221198 -342.50 42.50 217.50 0.0653322 -342.50 42.50 222.50 0.0174267 -342.50 42.50 227.50 0.00680785 -342.50 42.50 232.50 0.0171215 -342.50 42.50 237.50 0.0597781 -342.50 42.50 242.50 0.193327 -342.50 42.50 247.50 0.573798 -342.50 42.50 252.50 1.31015 -342.50 42.50 257.50 2.33596 -342.50 42.50 262.50 3.33049 -342.50 42.50 267.50 3.98414 -342.50 42.50 272.50 3.95126 -342.50 42.50 277.50 3.4014 -342.50 42.50 282.50 2.75895 -342.50 42.50 287.50 2.13049 -342.50 42.50 292.50 1.35737 -342.50 42.50 297.50 0.639227 -342.50 42.50 302.50 0.221198 -342.50 42.50 307.50 0.0653323 -342.50 42.50 312.50 0.0174267 -342.50 42.50 317.50 0.00680785 -342.50 42.50 322.50 0.0171214 -342.50 42.50 327.50 0.0597779 -342.50 42.50 332.50 0.193326 -342.50 42.50 337.50 0.573797 -342.50 42.50 342.50 1.31014 -342.50 42.50 347.50 2.33596 -342.50 42.50 352.50 3.33049 -342.50 42.50 357.50 3.98414 -342.50 47.50 2.50 4.32007 -342.50 47.50 7.50 3.4196 -342.50 47.50 12.50 2.48277 -342.50 47.50 17.50 1.70873 -342.50 47.50 22.50 0.994168 -342.50 47.50 27.50 0.416995 -342.50 47.50 32.50 0.159769 -342.50 47.50 37.50 0.0497084 -342.50 47.50 42.50 0.0122159 -342.50 47.50 47.50 0.012273 -342.50 47.50 52.50 0.0359634 -342.50 47.50 57.50 0.155387 -342.50 47.50 62.50 0.435016 -342.50 47.50 67.50 1.09209 -342.50 47.50 72.50 2.1849 -342.50 47.50 77.50 3.38724 -342.50 47.50 82.50 4.34864 -342.50 47.50 87.50 4.66926 -342.50 47.50 92.50 4.32007 -342.50 47.50 97.50 3.4196 -342.50 47.50 102.50 2.48277 -342.50 47.50 107.50 1.70873 -342.50 47.50 112.50 0.994168 -342.50 47.50 117.50 0.416994 -342.50 47.50 122.50 0.159769 -342.50 47.50 127.50 0.0497083 -342.50 47.50 132.50 0.0122159 -342.50 47.50 137.50 0.012273 -342.50 47.50 142.50 0.0359633 -342.50 47.50 147.50 0.155387 -342.50 47.50 152.50 0.435015 -342.50 47.50 157.50 1.09209 -342.50 47.50 162.50 2.1849 -342.50 47.50 167.50 3.38723 -342.50 47.50 172.50 4.34864 -342.50 47.50 177.50 4.66925 -342.50 47.50 182.50 4.32007 -342.50 47.50 187.50 3.4196 -342.50 47.50 192.50 2.48277 -342.50 47.50 197.50 1.70873 -342.50 47.50 202.50 0.994168 -342.50 47.50 207.50 0.416995 -342.50 47.50 212.50 0.159769 -342.50 47.50 217.50 0.0497084 -342.50 47.50 222.50 0.0122159 -342.50 47.50 227.50 0.012273 -342.50 47.50 232.50 0.0359635 -342.50 47.50 237.50 0.155387 -342.50 47.50 242.50 0.435016 -342.50 47.50 247.50 1.09209 -342.50 47.50 252.50 2.1849 -342.50 47.50 257.50 3.38724 -342.50 47.50 262.50 4.34864 -342.50 47.50 267.50 4.66925 -342.50 47.50 272.50 4.32007 -342.50 47.50 277.50 3.4196 -342.50 47.50 282.50 2.48277 -342.50 47.50 287.50 1.70873 -342.50 47.50 292.50 0.994168 -342.50 47.50 297.50 0.416996 -342.50 47.50 302.50 0.15977 -342.50 47.50 307.50 0.0497085 -342.50 47.50 312.50 0.0122159 -342.50 47.50 317.50 0.012273 -342.50 47.50 322.50 0.0359633 -342.50 47.50 327.50 0.155387 -342.50 47.50 332.50 0.435015 -342.50 47.50 337.50 1.09209 -342.50 47.50 342.50 2.1849 -342.50 47.50 347.50 3.38724 -342.50 47.50 352.50 4.34864 -342.50 47.50 357.50 4.66926 -342.50 52.50 2.50 3.95126 -342.50 52.50 7.50 2.87227 -342.50 52.50 12.50 1.90678 -342.50 52.50 17.50 1.1717 -342.50 52.50 22.50 0.615837 -342.50 52.50 27.50 0.264477 -342.50 52.50 32.50 0.0934184 -342.50 52.50 37.50 0.0326858 -342.50 52.50 42.50 0.0113143 -342.50 52.50 47.50 0.0175414 -342.50 52.50 52.50 0.0813408 -342.50 52.50 57.50 0.320984 -342.50 52.50 62.50 0.86707 -342.50 52.50 67.50 1.85735 -342.50 52.50 72.50 3.16164 -342.50 52.50 77.50 4.29494 -342.50 52.50 82.50 4.98895 -342.50 52.50 87.50 4.73907 -342.50 52.50 92.50 3.95126 -342.50 52.50 97.50 2.87227 -342.50 52.50 102.50 1.90679 -342.50 52.50 107.50 1.1717 -342.50 52.50 112.50 0.615838 -342.50 52.50 117.50 0.264477 -342.50 52.50 122.50 0.0934184 -342.50 52.50 127.50 0.0326858 -342.50 52.50 132.50 0.0113143 -342.50 52.50 137.50 0.0175414 -342.50 52.50 142.50 0.0813408 -342.50 52.50 147.50 0.320984 -342.50 52.50 152.50 0.867069 -342.50 52.50 157.50 1.85735 -342.50 52.50 162.50 3.16164 -342.50 52.50 167.50 4.29494 -342.50 52.50 172.50 4.98895 -342.50 52.50 177.50 4.73907 -342.50 52.50 182.50 3.95126 -342.50 52.50 187.50 2.87227 -342.50 52.50 192.50 1.90678 -342.50 52.50 197.50 1.1717 -342.50 52.50 202.50 0.615838 -342.50 52.50 207.50 0.264477 -342.50 52.50 212.50 0.0934184 -342.50 52.50 217.50 0.0326858 -342.50 52.50 222.50 0.0113143 -342.50 52.50 227.50 0.0175413 -342.50 52.50 232.50 0.0813411 -342.50 52.50 237.50 0.320985 -342.50 52.50 242.50 0.867071 -342.50 52.50 247.50 1.85735 -342.50 52.50 252.50 3.16164 -342.50 52.50 257.50 4.29494 -342.50 52.50 262.50 4.98895 -342.50 52.50 267.50 4.73907 -342.50 52.50 272.50 3.95126 -342.50 52.50 277.50 2.87228 -342.50 52.50 282.50 1.90678 -342.50 52.50 287.50 1.1717 -342.50 52.50 292.50 0.615838 -342.50 52.50 297.50 0.264477 -342.50 52.50 302.50 0.0934185 -342.50 52.50 307.50 0.0326858 -342.50 52.50 312.50 0.0113143 -342.50 52.50 317.50 0.0175413 -342.50 52.50 322.50 0.0813407 -342.50 52.50 327.50 0.320983 -342.50 52.50 332.50 0.867069 -342.50 52.50 337.50 1.85735 -342.50 52.50 342.50 3.16163 -342.50 52.50 347.50 4.29494 -342.50 52.50 352.50 4.98895 -342.50 52.50 357.50 4.73907 -342.50 57.50 2.50 3.12281 -342.50 57.50 7.50 2.05639 -342.50 57.50 12.50 1.26427 -342.50 57.50 17.50 0.705296 -342.50 57.50 22.50 0.335682 -342.50 57.50 27.50 0.150526 -342.50 57.50 32.50 0.0566753 -342.50 57.50 37.50 0.0156722 -342.50 57.50 42.50 0.0082645 -342.50 57.50 47.50 0.032745 -342.50 57.50 52.50 0.149992 -342.50 57.50 57.50 0.540126 -342.50 57.50 62.50 1.4484 -342.50 57.50 67.50 2.72937 -342.50 57.50 72.50 4.07694 -342.50 57.50 77.50 4.86539 -342.50 57.50 82.50 5.08928 -342.50 57.50 87.50 4.34924 -342.50 57.50 92.50 3.12281 -342.50 57.50 97.50 2.05639 -342.50 57.50 102.50 1.26427 -342.50 57.50 107.50 0.705296 -342.50 57.50 112.50 0.335682 -342.50 57.50 117.50 0.150525 -342.50 57.50 122.50 0.0566753 -342.50 57.50 127.50 0.0156722 -342.50 57.50 132.50 0.0082645 -342.50 57.50 137.50 0.032745 -342.50 57.50 142.50 0.149992 -342.50 57.50 147.50 0.540126 -342.50 57.50 152.50 1.4484 -342.50 57.50 157.50 2.72937 -342.50 57.50 162.50 4.07693 -342.50 57.50 167.50 4.86539 -342.50 57.50 172.50 5.08928 -342.50 57.50 177.50 4.34925 -342.50 57.50 182.50 3.12281 -342.50 57.50 187.50 2.05638 -342.50 57.50 192.50 1.26427 -342.50 57.50 197.50 0.705296 -342.50 57.50 202.50 0.335682 -342.50 57.50 207.50 0.150526 -342.50 57.50 212.50 0.0566753 -342.50 57.50 217.50 0.0156722 -342.50 57.50 222.50 0.00826451 -342.50 57.50 227.50 0.032745 -342.50 57.50 232.50 0.149993 -342.50 57.50 237.50 0.540128 -342.50 57.50 242.50 1.44841 -342.50 57.50 247.50 2.72937 -342.50 57.50 252.50 4.07694 -342.50 57.50 257.50 4.86539 -342.50 57.50 262.50 5.08928 -342.50 57.50 267.50 4.34924 -342.50 57.50 272.50 3.12281 -342.50 57.50 277.50 2.05639 -342.50 57.50 282.50 1.26427 -342.50 57.50 287.50 0.705296 -342.50 57.50 292.50 0.335682 -342.50 57.50 297.50 0.150526 -342.50 57.50 302.50 0.0566753 -342.50 57.50 307.50 0.0156722 -342.50 57.50 312.50 0.00826451 -342.50 57.50 317.50 0.032745 -342.50 57.50 322.50 0.149992 -342.50 57.50 327.50 0.540125 -342.50 57.50 332.50 1.4484 -342.50 57.50 337.50 2.72937 -342.50 57.50 342.50 4.07693 -342.50 57.50 347.50 4.86539 -342.50 57.50 352.50 5.08928 -342.50 57.50 357.50 4.34925 -342.50 62.50 2.50 2.28343 -342.50 62.50 7.50 1.33413 -342.50 62.50 12.50 0.780639 -342.50 62.50 17.50 0.385374 -342.50 62.50 22.50 0.168753 -342.50 62.50 27.50 0.0745227 -342.50 62.50 32.50 0.0287021 -342.50 62.50 37.50 0.00995589 -342.50 62.50 42.50 0.0100612 -342.50 62.50 47.50 0.0453351 -342.50 62.50 52.50 0.244396 -342.50 62.50 57.50 0.823462 -342.50 62.50 62.50 1.90083 -342.50 62.50 67.50 3.41962 -342.50 62.50 72.50 4.55045 -342.50 62.50 77.50 4.97593 -342.50 62.50 82.50 4.65531 -342.50 62.50 87.50 3.66596 -342.50 62.50 92.50 2.28343 -342.50 62.50 97.50 1.33413 -342.50 62.50 102.50 0.780639 -342.50 62.50 107.50 0.385374 -342.50 62.50 112.50 0.168753 -342.50 62.50 117.50 0.0745225 -342.50 62.50 122.50 0.0287021 -342.50 62.50 127.50 0.00995588 -342.50 62.50 132.50 0.0100612 -342.50 62.50 137.50 0.0453351 -342.50 62.50 142.50 0.244396 -342.50 62.50 147.50 0.823462 -342.50 62.50 152.50 1.90083 -342.50 62.50 157.50 3.41962 -342.50 62.50 162.50 4.55045 -342.50 62.50 167.50 4.97593 -342.50 62.50 172.50 4.65531 -342.50 62.50 177.50 3.66596 -342.50 62.50 182.50 2.28343 -342.50 62.50 187.50 1.33413 -342.50 62.50 192.50 0.780639 -342.50 62.50 197.50 0.385374 -342.50 62.50 202.50 0.168753 -342.50 62.50 207.50 0.0745227 -342.50 62.50 212.50 0.0287021 -342.50 62.50 217.50 0.00995588 -342.50 62.50 222.50 0.0100612 -342.50 62.50 227.50 0.0453351 -342.50 62.50 232.50 0.244397 -342.50 62.50 237.50 0.823463 -342.50 62.50 242.50 1.90083 -342.50 62.50 247.50 3.41962 -342.50 62.50 252.50 4.55045 -342.50 62.50 257.50 4.97594 -342.50 62.50 262.50 4.65531 -342.50 62.50 267.50 3.66596 -342.50 62.50 272.50 2.28343 -342.50 62.50 277.50 1.33413 -342.50 62.50 282.50 0.780639 -342.50 62.50 287.50 0.385374 -342.50 62.50 292.50 0.168753 -342.50 62.50 297.50 0.0745227 -342.50 62.50 302.50 0.0287022 -342.50 62.50 307.50 0.00995589 -342.50 62.50 312.50 0.0100612 -342.50 62.50 317.50 0.045335 -342.50 62.50 322.50 0.244396 -342.50 62.50 327.50 0.82346 -342.50 62.50 332.50 1.90083 -342.50 62.50 337.50 3.41962 -342.50 62.50 342.50 4.55045 -342.50 62.50 347.50 4.97594 -342.50 62.50 352.50 4.65531 -342.50 62.50 357.50 3.66596 -342.50 67.50 2.50 1.58451 -342.50 67.50 7.50 0.837527 -342.50 67.50 12.50 0.486185 -342.50 67.50 17.50 0.241472 -342.50 67.50 22.50 0.121093 -342.50 67.50 27.50 0.0468312 -342.50 67.50 32.50 0.0148722 -342.50 67.50 37.50 0.0078894 -342.50 67.50 42.50 0.0180849 -342.50 67.50 47.50 0.0861293 -342.50 67.50 52.50 0.335211 -342.50 67.50 57.50 0.956496 -342.50 67.50 62.50 2.04001 -342.50 67.50 67.50 3.3653 -342.50 67.50 72.50 4.34267 -342.50 67.50 77.50 4.45135 -342.50 67.50 82.50 3.8505 -342.50 67.50 87.50 2.79226 -342.50 67.50 92.50 1.58451 -342.50 67.50 97.50 0.837527 -342.50 67.50 102.50 0.486185 -342.50 67.50 107.50 0.241472 -342.50 67.50 112.50 0.121093 -342.50 67.50 117.50 0.0468312 -342.50 67.50 122.50 0.0148722 -342.50 67.50 127.50 0.00788939 -342.50 67.50 132.50 0.0180849 -342.50 67.50 137.50 0.0861293 -342.50 67.50 142.50 0.335211 -342.50 67.50 147.50 0.956497 -342.50 67.50 152.50 2.04001 -342.50 67.50 157.50 3.3653 -342.50 67.50 162.50 4.34267 -342.50 67.50 167.50 4.45136 -342.50 67.50 172.50 3.8505 -342.50 67.50 177.50 2.79226 -342.50 67.50 182.50 1.58451 -342.50 67.50 187.50 0.837527 -342.50 67.50 192.50 0.486185 -342.50 67.50 197.50 0.241472 -342.50 67.50 202.50 0.121093 -342.50 67.50 207.50 0.0468312 -342.50 67.50 212.50 0.0148722 -342.50 67.50 217.50 0.0078894 -342.50 67.50 222.50 0.0180849 -342.50 67.50 227.50 0.0861293 -342.50 67.50 232.50 0.335212 -342.50 67.50 237.50 0.9565 -342.50 67.50 242.50 2.04001 -342.50 67.50 247.50 3.3653 -342.50 67.50 252.50 4.34268 -342.50 67.50 257.50 4.45136 -342.50 67.50 262.50 3.8505 -342.50 67.50 267.50 2.79226 -342.50 67.50 272.50 1.58451 -342.50 67.50 277.50 0.837527 -342.50 67.50 282.50 0.486185 -342.50 67.50 287.50 0.241472 -342.50 67.50 292.50 0.121093 -342.50 67.50 297.50 0.0468313 -342.50 67.50 302.50 0.0148722 -342.50 67.50 307.50 0.00788941 -342.50 67.50 312.50 0.0180849 -342.50 67.50 317.50 0.0861292 -342.50 67.50 322.50 0.33521 -342.50 67.50 327.50 0.956495 -342.50 67.50 332.50 2.04 -342.50 67.50 337.50 3.3653 -342.50 67.50 342.50 4.34267 -342.50 67.50 347.50 4.45135 -342.50 67.50 352.50 3.8505 -342.50 67.50 357.50 2.79226 -342.50 72.50 2.50 0.990532 -342.50 72.50 7.50 0.507491 -342.50 72.50 12.50 0.307753 -342.50 72.50 17.50 0.199709 -342.50 72.50 22.50 0.124869 -342.50 72.50 27.50 0.0461833 -342.50 72.50 32.50 0.0173685 -342.50 72.50 37.50 0.00863224 -342.50 72.50 42.50 0.0241844 -342.50 72.50 47.50 0.103199 -342.50 72.50 52.50 0.328942 -342.50 72.50 57.50 0.860059 -342.50 72.50 62.50 1.76308 -342.50 72.50 67.50 2.70409 -342.50 72.50 72.50 3.38127 -342.50 72.50 77.50 3.40511 -342.50 72.50 82.50 2.84177 -342.50 72.50 87.50 1.87704 -342.50 72.50 92.50 0.990531 -342.50 72.50 97.50 0.507491 -342.50 72.50 102.50 0.307753 -342.50 72.50 107.50 0.199709 -342.50 72.50 112.50 0.124869 -342.50 72.50 117.50 0.0461832 -342.50 72.50 122.50 0.0173685 -342.50 72.50 127.50 0.00863226 -342.50 72.50 132.50 0.0241844 -342.50 72.50 137.50 0.103199 -342.50 72.50 142.50 0.328941 -342.50 72.50 147.50 0.860058 -342.50 72.50 152.50 1.76308 -342.50 72.50 157.50 2.70409 -342.50 72.50 162.50 3.38127 -342.50 72.50 167.50 3.40511 -342.50 72.50 172.50 2.84177 -342.50 72.50 177.50 1.87704 -342.50 72.50 182.50 0.990531 -342.50 72.50 187.50 0.507491 -342.50 72.50 192.50 0.307752 -342.50 72.50 197.50 0.199709 -342.50 72.50 202.50 0.124869 -342.50 72.50 207.50 0.0461833 -342.50 72.50 212.50 0.0173685 -342.50 72.50 217.50 0.00863224 -342.50 72.50 222.50 0.0241844 -342.50 72.50 227.50 0.103199 -342.50 72.50 232.50 0.328943 -342.50 72.50 237.50 0.86006 -342.50 72.50 242.50 1.76308 -342.50 72.50 247.50 2.70409 -342.50 72.50 252.50 3.38127 -342.50 72.50 257.50 3.40511 -342.50 72.50 262.50 2.84177 -342.50 72.50 267.50 1.87704 -342.50 72.50 272.50 0.990532 -342.50 72.50 277.50 0.507491 -342.50 72.50 282.50 0.307753 -342.50 72.50 287.50 0.199709 -342.50 72.50 292.50 0.124869 -342.50 72.50 297.50 0.0461833 -342.50 72.50 302.50 0.0173685 -342.50 72.50 307.50 0.00863224 -342.50 72.50 312.50 0.0241844 -342.50 72.50 317.50 0.103199 -342.50 72.50 322.50 0.328941 -342.50 72.50 327.50 0.860057 -342.50 72.50 332.50 1.76307 -342.50 72.50 337.50 2.70409 -342.50 72.50 342.50 3.38127 -342.50 72.50 347.50 3.40511 -342.50 72.50 352.50 2.84177 -342.50 72.50 357.50 1.87704 -342.50 77.50 2.50 0.527182 -342.50 77.50 7.50 0.286755 -342.50 77.50 12.50 0.199614 -342.50 77.50 17.50 0.174708 -342.50 77.50 22.50 0.0988982 -342.50 77.50 27.50 0.0442532 -342.50 77.50 32.50 0.0172979 -342.50 77.50 37.50 0.0095298 -342.50 77.50 42.50 0.0287376 -342.50 77.50 47.50 0.111532 -342.50 77.50 52.50 0.298138 -342.50 77.50 57.50 0.644909 -342.50 77.50 62.50 1.16453 -342.50 77.50 67.50 1.6855 -342.50 77.50 72.50 2.07224 -342.50 77.50 77.50 2.18688 -342.50 77.50 82.50 1.7447 -342.50 77.50 87.50 1.13782 -342.50 77.50 92.50 0.527182 -342.50 77.50 97.50 0.286755 -342.50 77.50 102.50 0.199614 -342.50 77.50 107.50 0.174708 -342.50 77.50 112.50 0.0988982 -342.50 77.50 117.50 0.0442531 -342.50 77.50 122.50 0.0172978 -342.50 77.50 127.50 0.00952982 -342.50 77.50 132.50 0.0287376 -342.50 77.50 137.50 0.111532 -342.50 77.50 142.50 0.298138 -342.50 77.50 147.50 0.644909 -342.50 77.50 152.50 1.16453 -342.50 77.50 157.50 1.6855 -342.50 77.50 162.50 2.07224 -342.50 77.50 167.50 2.18688 -342.50 77.50 172.50 1.7447 -342.50 77.50 177.50 1.13782 -342.50 77.50 182.50 0.527182 -342.50 77.50 187.50 0.286755 -342.50 77.50 192.50 0.199614 -342.50 77.50 197.50 0.174708 -342.50 77.50 202.50 0.0988981 -342.50 77.50 207.50 0.0442531 -342.50 77.50 212.50 0.0172979 -342.50 77.50 217.50 0.00952982 -342.50 77.50 222.50 0.0287376 -342.50 77.50 227.50 0.111532 -342.50 77.50 232.50 0.298139 -342.50 77.50 237.50 0.644911 -342.50 77.50 242.50 1.16453 -342.50 77.50 247.50 1.6855 -342.50 77.50 252.50 2.07224 -342.50 77.50 257.50 2.18688 -342.50 77.50 262.50 1.7447 -342.50 77.50 267.50 1.13782 -342.50 77.50 272.50 0.527182 -342.50 77.50 277.50 0.286755 -342.50 77.50 282.50 0.199614 -342.50 77.50 287.50 0.174708 -342.50 77.50 292.50 0.0988982 -342.50 77.50 297.50 0.0442532 -342.50 77.50 302.50 0.0172979 -342.50 77.50 307.50 0.00952981 -342.50 77.50 312.50 0.0287376 -342.50 77.50 317.50 0.111532 -342.50 77.50 322.50 0.298138 -342.50 77.50 327.50 0.644909 -342.50 77.50 332.50 1.16453 -342.50 77.50 337.50 1.6855 -342.50 77.50 342.50 2.07224 -342.50 77.50 347.50 2.18688 -342.50 77.50 352.50 1.7447 -342.50 77.50 357.50 1.13782 -342.50 82.50 2.50 0.24067 -342.50 82.50 7.50 0.147629 -342.50 82.50 12.50 0.138643 -342.50 82.50 17.50 0.119734 -342.50 82.50 22.50 0.0891878 -342.50 82.50 27.50 0.0486988 -342.50 82.50 32.50 0.0225817 -342.50 82.50 37.50 0.0127439 -342.50 82.50 42.50 0.0257014 -342.50 82.50 47.50 0.0852898 -342.50 82.50 52.50 0.213845 -342.50 82.50 57.50 0.39717 -342.50 82.50 62.50 0.611403 -342.50 82.50 67.50 0.807818 -342.50 82.50 72.50 0.937335 -342.50 82.50 77.50 0.999402 -342.50 82.50 82.50 0.900073 -342.50 82.50 87.50 0.544789 -342.50 82.50 92.50 0.24067 -342.50 82.50 97.50 0.147629 -342.50 82.50 102.50 0.138643 -342.50 82.50 107.50 0.119734 -342.50 82.50 112.50 0.0891879 -342.50 82.50 117.50 0.0486988 -342.50 82.50 122.50 0.0225817 -342.50 82.50 127.50 0.0127439 -342.50 82.50 132.50 0.0257014 -342.50 82.50 137.50 0.0852899 -342.50 82.50 142.50 0.213845 -342.50 82.50 147.50 0.39717 -342.50 82.50 152.50 0.611403 -342.50 82.50 157.50 0.807818 -342.50 82.50 162.50 0.937335 -342.50 82.50 167.50 0.999401 -342.50 82.50 172.50 0.900073 -342.50 82.50 177.50 0.544789 -342.50 82.50 182.50 0.24067 -342.50 82.50 187.50 0.147629 -342.50 82.50 192.50 0.138643 -342.50 82.50 197.50 0.119734 -342.50 82.50 202.50 0.0891878 -342.50 82.50 207.50 0.0486989 -342.50 82.50 212.50 0.0225818 -342.50 82.50 217.50 0.0127439 -342.50 82.50 222.50 0.0257014 -342.50 82.50 227.50 0.0852898 -342.50 82.50 232.50 0.213846 -342.50 82.50 237.50 0.39717 -342.50 82.50 242.50 0.611404 -342.50 82.50 247.50 0.807818 -342.50 82.50 252.50 0.937336 -342.50 82.50 257.50 0.999402 -342.50 82.50 262.50 0.900072 -342.50 82.50 267.50 0.544789 -342.50 82.50 272.50 0.24067 -342.50 82.50 277.50 0.147629 -342.50 82.50 282.50 0.138643 -342.50 82.50 287.50 0.119734 -342.50 82.50 292.50 0.0891878 -342.50 82.50 297.50 0.0486989 -342.50 82.50 302.50 0.0225818 -342.50 82.50 307.50 0.0127439 -342.50 82.50 312.50 0.0257014 -342.50 82.50 317.50 0.0852897 -342.50 82.50 322.50 0.213845 -342.50 82.50 327.50 0.397169 -342.50 82.50 332.50 0.611402 -342.50 82.50 337.50 0.807816 -342.50 82.50 342.50 0.937335 -342.50 82.50 347.50 0.999402 -342.50 82.50 352.50 0.900073 -342.50 82.50 357.50 0.54479 -342.50 87.50 2.50 0.102596 -342.50 87.50 7.50 0.0869988 -342.50 87.50 12.50 0.125017 -342.50 87.50 17.50 0.161509 -342.50 87.50 22.50 0.113762 -342.50 87.50 27.50 0.0566571 -342.50 87.50 32.50 0.0338705 -342.50 87.50 37.50 0.0219535 -342.50 87.50 42.50 0.0173699 -342.50 87.50 47.50 0.0369318 -342.50 87.50 52.50 0.100634 -342.50 87.50 57.50 0.201109 -342.50 87.50 62.50 0.280863 -342.50 87.50 67.50 0.314486 -342.50 87.50 72.50 0.352489 -342.50 87.50 77.50 0.378933 -342.50 87.50 82.50 0.31521 -342.50 87.50 87.50 0.216986 -342.50 87.50 92.50 0.102596 -342.50 87.50 97.50 0.0869989 -342.50 87.50 102.50 0.125017 -342.50 87.50 107.50 0.161509 -342.50 87.50 112.50 0.113762 -342.50 87.50 117.50 0.056657 -342.50 87.50 122.50 0.0338704 -342.50 87.50 127.50 0.0219535 -342.50 87.50 132.50 0.0173699 -342.50 87.50 137.50 0.0369319 -342.50 87.50 142.50 0.100634 -342.50 87.50 147.50 0.201109 -342.50 87.50 152.50 0.280863 -342.50 87.50 157.50 0.314486 -342.50 87.50 162.50 0.352489 -342.50 87.50 167.50 0.378933 -342.50 87.50 172.50 0.31521 -342.50 87.50 177.50 0.216986 -342.50 87.50 182.50 0.102596 -342.50 87.50 187.50 0.0869988 -342.50 87.50 192.50 0.125017 -342.50 87.50 197.50 0.161509 -342.50 87.50 202.50 0.113762 -342.50 87.50 207.50 0.0566571 -342.50 87.50 212.50 0.0338704 -342.50 87.50 217.50 0.0219536 -342.50 87.50 222.50 0.0173699 -342.50 87.50 227.50 0.0369318 -342.50 87.50 232.50 0.100635 -342.50 87.50 237.50 0.20111 -342.50 87.50 242.50 0.280863 -342.50 87.50 247.50 0.314486 -342.50 87.50 252.50 0.352489 -342.50 87.50 257.50 0.378933 -342.50 87.50 262.50 0.31521 -342.50 87.50 267.50 0.216985 -342.50 87.50 272.50 0.102596 -342.50 87.50 277.50 0.0869988 -342.50 87.50 282.50 0.125017 -342.50 87.50 287.50 0.161509 -342.50 87.50 292.50 0.113762 -342.50 87.50 297.50 0.0566571 -342.50 87.50 302.50 0.0338704 -342.50 87.50 307.50 0.0219536 -342.50 87.50 312.50 0.0173699 -342.50 87.50 317.50 0.0369318 -342.50 87.50 322.50 0.100634 -342.50 87.50 327.50 0.201109 -342.50 87.50 332.50 0.280863 -342.50 87.50 337.50 0.314486 -342.50 87.50 342.50 0.352489 -342.50 87.50 347.50 0.378933 -342.50 87.50 352.50 0.31521 -342.50 87.50 357.50 0.216986 -342.50 92.50 2.50 0.0624685 -342.50 92.50 7.50 0.0872055 -342.50 92.50 12.50 0.134121 -342.50 92.50 17.50 0.148778 -342.50 92.50 22.50 0.129042 -342.50 92.50 27.50 0.114009 -342.50 92.50 32.50 0.102728 -342.50 92.50 37.50 0.0713707 -342.50 92.50 42.50 0.0345643 -342.50 92.50 47.50 0.0195997 -342.50 92.50 52.50 0.0345643 -342.50 92.50 57.50 0.0713706 -342.50 92.50 62.50 0.102728 -342.50 92.50 67.50 0.114009 -342.50 92.50 72.50 0.129042 -342.50 92.50 77.50 0.148778 -342.50 92.50 82.50 0.134121 -342.50 92.50 87.50 0.0872055 -342.50 92.50 92.50 0.0624685 -342.50 92.50 97.50 0.0872056 -342.50 92.50 102.50 0.134121 -342.50 92.50 107.50 0.148779 -342.50 92.50 112.50 0.129042 -342.50 92.50 117.50 0.114009 -342.50 92.50 122.50 0.102728 -342.50 92.50 127.50 0.0713706 -342.50 92.50 132.50 0.0345643 -342.50 92.50 137.50 0.0195997 -342.50 92.50 142.50 0.0345643 -342.50 92.50 147.50 0.0713706 -342.50 92.50 152.50 0.102728 -342.50 92.50 157.50 0.114009 -342.50 92.50 162.50 0.129042 -342.50 92.50 167.50 0.148778 -342.50 92.50 172.50 0.134121 -342.50 92.50 177.50 0.0872056 -342.50 92.50 182.50 0.0624684 -342.50 92.50 187.50 0.0872055 -342.50 92.50 192.50 0.134121 -342.50 92.50 197.50 0.148778 -342.50 92.50 202.50 0.129042 -342.50 92.50 207.50 0.114009 -342.50 92.50 212.50 0.102728 -342.50 92.50 217.50 0.0713707 -342.50 92.50 222.50 0.0345643 -342.50 92.50 227.50 0.0195997 -342.50 92.50 232.50 0.0345644 -342.50 92.50 237.50 0.0713707 -342.50 92.50 242.50 0.102728 -342.50 92.50 247.50 0.114009 -342.50 92.50 252.50 0.129042 -342.50 92.50 257.50 0.148778 -342.50 92.50 262.50 0.134121 -342.50 92.50 267.50 0.0872055 -342.50 92.50 272.50 0.0624684 -342.50 92.50 277.50 0.0872055 -342.50 92.50 282.50 0.134121 -342.50 92.50 287.50 0.148778 -342.50 92.50 292.50 0.129042 -342.50 92.50 297.50 0.114009 -342.50 92.50 302.50 0.102728 -342.50 92.50 307.50 0.0713707 -342.50 92.50 312.50 0.0345643 -342.50 92.50 317.50 0.0195997 -342.50 92.50 322.50 0.0345642 -342.50 92.50 327.50 0.0713705 -342.50 92.50 332.50 0.102728 -342.50 92.50 337.50 0.114009 -342.50 92.50 342.50 0.129042 -342.50 92.50 347.50 0.148778 -342.50 92.50 352.50 0.134121 -342.50 92.50 357.50 0.0872057 -342.50 97.50 2.50 0.102596 -342.50 97.50 7.50 0.216986 -342.50 97.50 12.50 0.31521 -342.50 97.50 17.50 0.378934 -342.50 97.50 22.50 0.352489 -342.50 97.50 27.50 0.314486 -342.50 97.50 32.50 0.280863 -342.50 97.50 37.50 0.201109 -342.50 97.50 42.50 0.100634 -342.50 97.50 47.50 0.0369318 -342.50 97.50 52.50 0.0173699 -342.50 97.50 57.50 0.0219536 -342.50 97.50 62.50 0.0338705 -342.50 97.50 67.50 0.0566571 -342.50 97.50 72.50 0.113762 -342.50 97.50 77.50 0.161509 -342.50 97.50 82.50 0.125017 -342.50 97.50 87.50 0.0869988 -342.50 97.50 92.50 0.102596 -342.50 97.50 97.50 0.216986 -342.50 97.50 102.50 0.31521 -342.50 97.50 107.50 0.378933 -342.50 97.50 112.50 0.352489 -342.50 97.50 117.50 0.314486 -342.50 97.50 122.50 0.280863 -342.50 97.50 127.50 0.201109 -342.50 97.50 132.50 0.100634 -342.50 97.50 137.50 0.0369318 -342.50 97.50 142.50 0.0173699 -342.50 97.50 147.50 0.0219536 -342.50 97.50 152.50 0.0338705 -342.50 97.50 157.50 0.0566571 -342.50 97.50 162.50 0.113762 -342.50 97.50 167.50 0.161509 -342.50 97.50 172.50 0.125017 -342.50 97.50 177.50 0.0869988 -342.50 97.50 182.50 0.102596 -342.50 97.50 187.50 0.216986 -342.50 97.50 192.50 0.31521 -342.50 97.50 197.50 0.378933 -342.50 97.50 202.50 0.352489 -342.50 97.50 207.50 0.314486 -342.50 97.50 212.50 0.280863 -342.50 97.50 217.50 0.201109 -342.50 97.50 222.50 0.100634 -342.50 97.50 227.50 0.0369318 -342.50 97.50 232.50 0.0173699 -342.50 97.50 237.50 0.0219536 -342.50 97.50 242.50 0.0338705 -342.50 97.50 247.50 0.0566571 -342.50 97.50 252.50 0.113762 -342.50 97.50 257.50 0.161509 -342.50 97.50 262.50 0.125017 -342.50 97.50 267.50 0.0869988 -342.50 97.50 272.50 0.102596 -342.50 97.50 277.50 0.216986 -342.50 97.50 282.50 0.31521 -342.50 97.50 287.50 0.378933 -342.50 97.50 292.50 0.352489 -342.50 97.50 297.50 0.314487 -342.50 97.50 302.50 0.280863 -342.50 97.50 307.50 0.20111 -342.50 97.50 312.50 0.100635 -342.50 97.50 317.50 0.0369318 -342.50 97.50 322.50 0.0173699 -342.50 97.50 327.50 0.0219535 -342.50 97.50 332.50 0.0338704 -342.50 97.50 337.50 0.056657 -342.50 97.50 342.50 0.113762 -342.50 97.50 347.50 0.161509 -342.50 97.50 352.50 0.125017 -342.50 97.50 357.50 0.0869989 -342.50 102.50 2.50 0.24067 -342.50 102.50 7.50 0.544789 -342.50 102.50 12.50 0.900073 -342.50 102.50 17.50 0.999402 -342.50 102.50 22.50 0.937335 -342.50 102.50 27.50 0.807817 -342.50 102.50 32.50 0.611403 -342.50 102.50 37.50 0.397169 -342.50 102.50 42.50 0.213845 -342.50 102.50 47.50 0.0852898 -342.50 102.50 52.50 0.0257014 -342.50 102.50 57.50 0.012744 -342.50 102.50 62.50 0.0225818 -342.50 102.50 67.50 0.048699 -342.50 102.50 72.50 0.089188 -342.50 102.50 77.50 0.119734 -342.50 102.50 82.50 0.138643 -342.50 102.50 87.50 0.147629 -342.50 102.50 92.50 0.24067 -342.50 102.50 97.50 0.544789 -342.50 102.50 102.50 0.900073 -342.50 102.50 107.50 0.999401 -342.50 102.50 112.50 0.937335 -342.50 102.50 117.50 0.807817 -342.50 102.50 122.50 0.611402 -342.50 102.50 127.50 0.397169 -342.50 102.50 132.50 0.213845 -342.50 102.50 137.50 0.0852898 -342.50 102.50 142.50 0.0257014 -342.50 102.50 147.50 0.012744 -342.50 102.50 152.50 0.0225818 -342.50 102.50 157.50 0.0486989 -342.50 102.50 162.50 0.0891878 -342.50 102.50 167.50 0.119734 -342.50 102.50 172.50 0.138643 -342.50 102.50 177.50 0.147629 -342.50 102.50 182.50 0.24067 -342.50 102.50 187.50 0.544789 -342.50 102.50 192.50 0.900072 -342.50 102.50 197.50 0.999401 -342.50 102.50 202.50 0.937335 -342.50 102.50 207.50 0.807817 -342.50 102.50 212.50 0.611403 -342.50 102.50 217.50 0.397169 -342.50 102.50 222.50 0.213845 -342.50 102.50 227.50 0.0852899 -342.50 102.50 232.50 0.0257014 -342.50 102.50 237.50 0.012744 -342.50 102.50 242.50 0.0225818 -342.50 102.50 247.50 0.048699 -342.50 102.50 252.50 0.0891879 -342.50 102.50 257.50 0.119734 -342.50 102.50 262.50 0.138643 -342.50 102.50 267.50 0.147629 -342.50 102.50 272.50 0.24067 -342.50 102.50 277.50 0.544789 -342.50 102.50 282.50 0.900072 -342.50 102.50 287.50 0.999401 -342.50 102.50 292.50 0.937335 -342.50 102.50 297.50 0.807817 -342.50 102.50 302.50 0.611403 -342.50 102.50 307.50 0.39717 -342.50 102.50 312.50 0.213845 -342.50 102.50 317.50 0.0852899 -342.50 102.50 322.50 0.0257014 -342.50 102.50 327.50 0.0127439 -342.50 102.50 332.50 0.0225817 -342.50 102.50 337.50 0.0486988 -342.50 102.50 342.50 0.0891877 -342.50 102.50 347.50 0.119734 -342.50 102.50 352.50 0.138643 -342.50 102.50 357.50 0.147629 -342.50 107.50 2.50 0.527183 -342.50 107.50 7.50 1.13782 -342.50 107.50 12.50 1.7447 -342.50 107.50 17.50 2.18688 -342.50 107.50 22.50 2.07224 -342.50 107.50 27.50 1.6855 -342.50 107.50 32.50 1.16453 -342.50 107.50 37.50 0.64491 -342.50 107.50 42.50 0.298138 -342.50 107.50 47.50 0.111532 -342.50 107.50 52.50 0.0287376 -342.50 107.50 57.50 0.0095298 -342.50 107.50 62.50 0.0172978 -342.50 107.50 67.50 0.0442532 -342.50 107.50 72.50 0.0988982 -342.50 107.50 77.50 0.174708 -342.50 107.50 82.50 0.199614 -342.50 107.50 87.50 0.286755 -342.50 107.50 92.50 0.527182 -342.50 107.50 97.50 1.13782 -342.50 107.50 102.50 1.7447 -342.50 107.50 107.50 2.18688 -342.50 107.50 112.50 2.07224 -342.50 107.50 117.50 1.6855 -342.50 107.50 122.50 1.16453 -342.50 107.50 127.50 0.644909 -342.50 107.50 132.50 0.298138 -342.50 107.50 137.50 0.111532 -342.50 107.50 142.50 0.0287376 -342.50 107.50 147.50 0.00952981 -342.50 107.50 152.50 0.0172979 -342.50 107.50 157.50 0.0442531 -342.50 107.50 162.50 0.0988981 -342.50 107.50 167.50 0.174708 -342.50 107.50 172.50 0.199614 -342.50 107.50 177.50 0.286755 -342.50 107.50 182.50 0.527182 -342.50 107.50 187.50 1.13782 -342.50 107.50 192.50 1.7447 -342.50 107.50 197.50 2.18688 -342.50 107.50 202.50 2.07224 -342.50 107.50 207.50 1.6855 -342.50 107.50 212.50 1.16453 -342.50 107.50 217.50 0.64491 -342.50 107.50 222.50 0.298139 -342.50 107.50 227.50 0.111532 -342.50 107.50 232.50 0.0287374 -342.50 107.50 237.50 0.00952978 -342.50 107.50 242.50 0.0172978 -342.50 107.50 247.50 0.0442532 -342.50 107.50 252.50 0.0988983 -342.50 107.50 257.50 0.174708 -342.50 107.50 262.50 0.199614 -342.50 107.50 267.50 0.286755 -342.50 107.50 272.50 0.527183 -342.50 107.50 277.50 1.13782 -342.50 107.50 282.50 1.7447 -342.50 107.50 287.50 2.18688 -342.50 107.50 292.50 2.07224 -342.50 107.50 297.50 1.6855 -342.50 107.50 302.50 1.16453 -342.50 107.50 307.50 0.64491 -342.50 107.50 312.50 0.298139 -342.50 107.50 317.50 0.111533 -342.50 107.50 322.50 0.0287377 -342.50 107.50 327.50 0.00952982 -342.50 107.50 332.50 0.0172978 -342.50 107.50 337.50 0.0442531 -342.50 107.50 342.50 0.0988979 -342.50 107.50 347.50 0.174708 -342.50 107.50 352.50 0.199614 -342.50 107.50 357.50 0.286755 -342.50 112.50 2.50 0.990532 -342.50 112.50 7.50 1.87704 -342.50 112.50 12.50 2.84177 -342.50 112.50 17.50 3.40511 -342.50 112.50 22.50 3.38127 -342.50 112.50 27.50 2.70409 -342.50 112.50 32.50 1.76308 -342.50 112.50 37.50 0.860058 -342.50 112.50 42.50 0.328941 -342.50 112.50 47.50 0.103199 -342.50 112.50 52.50 0.0241844 -342.50 112.50 57.50 0.00863224 -342.50 112.50 62.50 0.0173685 -342.50 112.50 67.50 0.0461833 -342.50 112.50 72.50 0.124869 -342.50 112.50 77.50 0.199709 -342.50 112.50 82.50 0.307753 -342.50 112.50 87.50 0.507491 -342.50 112.50 92.50 0.990532 -342.50 112.50 97.50 1.87704 -342.50 112.50 102.50 2.84177 -342.50 112.50 107.50 3.40511 -342.50 112.50 112.50 3.38127 -342.50 112.50 117.50 2.70409 -342.50 112.50 122.50 1.76307 -342.50 112.50 127.50 0.860057 -342.50 112.50 132.50 0.328941 -342.50 112.50 137.50 0.103199 -342.50 112.50 142.50 0.0241844 -342.50 112.50 147.50 0.00863225 -342.50 112.50 152.50 0.0173685 -342.50 112.50 157.50 0.0461833 -342.50 112.50 162.50 0.124869 -342.50 112.50 167.50 0.199709 -342.50 112.50 172.50 0.307752 -342.50 112.50 177.50 0.507491 -342.50 112.50 182.50 0.990532 -342.50 112.50 187.50 1.87704 -342.50 112.50 192.50 2.84177 -342.50 112.50 197.50 3.40511 -342.50 112.50 202.50 3.38127 -342.50 112.50 207.50 2.70409 -342.50 112.50 212.50 1.76308 -342.50 112.50 217.50 0.860058 -342.50 112.50 222.50 0.328942 -342.50 112.50 227.50 0.103199 -342.50 112.50 232.50 0.0241843 -342.50 112.50 237.50 0.00863221 -342.50 112.50 242.50 0.0173685 -342.50 112.50 247.50 0.0461833 -342.50 112.50 252.50 0.124869 -342.50 112.50 257.50 0.199709 -342.50 112.50 262.50 0.307753 -342.50 112.50 267.50 0.507491 -342.50 112.50 272.50 0.990531 -342.50 112.50 277.50 1.87704 -342.50 112.50 282.50 2.84177 -342.50 112.50 287.50 3.40511 -342.50 112.50 292.50 3.38127 -342.50 112.50 297.50 2.70409 -342.50 112.50 302.50 1.76308 -342.50 112.50 307.50 0.860059 -342.50 112.50 312.50 0.328942 -342.50 112.50 317.50 0.103199 -342.50 112.50 322.50 0.0241845 -342.50 112.50 327.50 0.00863225 -342.50 112.50 332.50 0.0173685 -342.50 112.50 337.50 0.0461832 -342.50 112.50 342.50 0.124868 -342.50 112.50 347.50 0.199709 -342.50 112.50 352.50 0.307752 -342.50 112.50 357.50 0.507491 -342.50 117.50 2.50 1.58451 -342.50 117.50 7.50 2.79226 -342.50 117.50 12.50 3.8505 -342.50 117.50 17.50 4.45136 -342.50 117.50 22.50 4.34268 -342.50 117.50 27.50 3.3653 -342.50 117.50 32.50 2.04001 -342.50 117.50 37.50 0.956497 -342.50 117.50 42.50 0.335211 -342.50 117.50 47.50 0.0861292 -342.50 117.50 52.50 0.0180849 -342.50 117.50 57.50 0.00788941 -342.50 117.50 62.50 0.0148723 -342.50 117.50 67.50 0.0468314 -342.50 117.50 72.50 0.121093 -342.50 117.50 77.50 0.241472 -342.50 117.50 82.50 0.486185 -342.50 117.50 87.50 0.837527 -342.50 117.50 92.50 1.58451 -342.50 117.50 97.50 2.79226 -342.50 117.50 102.50 3.8505 -342.50 117.50 107.50 4.45135 -342.50 117.50 112.50 4.34267 -342.50 117.50 117.50 3.3653 -342.50 117.50 122.50 2.04 -342.50 117.50 127.50 0.956495 -342.50 117.50 132.50 0.335211 -342.50 117.50 137.50 0.0861292 -342.50 117.50 142.50 0.0180849 -342.50 117.50 147.50 0.0078894 -342.50 117.50 152.50 0.0148722 -342.50 117.50 157.50 0.0468312 -342.50 117.50 162.50 0.121093 -342.50 117.50 167.50 0.241472 -342.50 117.50 172.50 0.486185 -342.50 117.50 177.50 0.837527 -342.50 117.50 182.50 1.58451 -342.50 117.50 187.50 2.79226 -342.50 117.50 192.50 3.8505 -342.50 117.50 197.50 4.45136 -342.50 117.50 202.50 4.34267 -342.50 117.50 207.50 3.3653 -342.50 117.50 212.50 2.04001 -342.50 117.50 217.50 0.956497 -342.50 117.50 222.50 0.335211 -342.50 117.50 227.50 0.0861294 -342.50 117.50 232.50 0.0180848 -342.50 117.50 237.50 0.00788942 -342.50 117.50 242.50 0.0148723 -342.50 117.50 247.50 0.0468313 -342.50 117.50 252.50 0.121093 -342.50 117.50 257.50 0.241472 -342.50 117.50 262.50 0.486186 -342.50 117.50 267.50 0.837528 -342.50 117.50 272.50 1.58451 -342.50 117.50 277.50 2.79226 -342.50 117.50 282.50 3.8505 -342.50 117.50 287.50 4.45136 -342.50 117.50 292.50 4.34268 -342.50 117.50 297.50 3.3653 -342.50 117.50 302.50 2.04001 -342.50 117.50 307.50 0.956498 -342.50 117.50 312.50 0.335211 -342.50 117.50 317.50 0.0861295 -342.50 117.50 322.50 0.0180849 -342.50 117.50 327.50 0.00788939 -342.50 117.50 332.50 0.0148722 -342.50 117.50 337.50 0.0468312 -342.50 117.50 342.50 0.121093 -342.50 117.50 347.50 0.241471 -342.50 117.50 352.50 0.486185 -342.50 117.50 357.50 0.837526 -342.50 122.50 2.50 2.28344 -342.50 122.50 7.50 3.66596 -342.50 122.50 12.50 4.65531 -342.50 122.50 17.50 4.97594 -342.50 122.50 22.50 4.55045 -342.50 122.50 27.50 3.41962 -342.50 122.50 32.50 1.90083 -342.50 122.50 37.50 0.823461 -342.50 122.50 42.50 0.244396 -342.50 122.50 47.50 0.045335 -342.50 122.50 52.50 0.0100612 -342.50 122.50 57.50 0.00995589 -342.50 122.50 62.50 0.0287022 -342.50 122.50 67.50 0.0745228 -342.50 122.50 72.50 0.168754 -342.50 122.50 77.50 0.385374 -342.50 122.50 82.50 0.78064 -342.50 122.50 87.50 1.33413 -342.50 122.50 92.50 2.28344 -342.50 122.50 97.50 3.66596 -342.50 122.50 102.50 4.65531 -342.50 122.50 107.50 4.97594 -342.50 122.50 112.50 4.55045 -342.50 122.50 117.50 3.41962 -342.50 122.50 122.50 1.90083 -342.50 122.50 127.50 0.82346 -342.50 122.50 132.50 0.244396 -342.50 122.50 137.50 0.045335 -342.50 122.50 142.50 0.0100612 -342.50 122.50 147.50 0.00995589 -342.50 122.50 152.50 0.0287021 -342.50 122.50 157.50 0.0745227 -342.50 122.50 162.50 0.168753 -342.50 122.50 167.50 0.385374 -342.50 122.50 172.50 0.780639 -342.50 122.50 177.50 1.33413 -342.50 122.50 182.50 2.28344 -342.50 122.50 187.50 3.66596 -342.50 122.50 192.50 4.65531 -342.50 122.50 197.50 4.97594 -342.50 122.50 202.50 4.55045 -342.50 122.50 207.50 3.41962 -342.50 122.50 212.50 1.90083 -342.50 122.50 217.50 0.823462 -342.50 122.50 222.50 0.244396 -342.50 122.50 227.50 0.0453351 -342.50 122.50 232.50 0.0100612 -342.50 122.50 237.50 0.00995589 -342.50 122.50 242.50 0.0287022 -342.50 122.50 247.50 0.0745228 -342.50 122.50 252.50 0.168754 -342.50 122.50 257.50 0.385374 -342.50 122.50 262.50 0.78064 -342.50 122.50 267.50 1.33413 -342.50 122.50 272.50 2.28344 -342.50 122.50 277.50 3.66596 -342.50 122.50 282.50 4.65531 -342.50 122.50 287.50 4.97594 -342.50 122.50 292.50 4.55045 -342.50 122.50 297.50 3.41962 -342.50 122.50 302.50 1.90083 -342.50 122.50 307.50 0.823462 -342.50 122.50 312.50 0.244396 -342.50 122.50 317.50 0.0453352 -342.50 122.50 322.50 0.0100612 -342.50 122.50 327.50 0.00995587 -342.50 122.50 332.50 0.0287021 -342.50 122.50 337.50 0.0745226 -342.50 122.50 342.50 0.168753 -342.50 122.50 347.50 0.385374 -342.50 122.50 352.50 0.780639 -342.50 122.50 357.50 1.33413 -342.50 127.50 2.50 3.12281 -342.50 127.50 7.50 4.34925 -342.50 127.50 12.50 5.08929 -342.50 127.50 17.50 4.86539 -342.50 127.50 22.50 4.07693 -342.50 127.50 27.50 2.72937 -342.50 127.50 32.50 1.4484 -342.50 127.50 37.50 0.540126 -342.50 127.50 42.50 0.149992 -342.50 127.50 47.50 0.032745 -342.50 127.50 52.50 0.00826451 -342.50 127.50 57.50 0.0156722 -342.50 127.50 62.50 0.0566754 -342.50 127.50 67.50 0.150526 -342.50 127.50 72.50 0.335682 -342.50 127.50 77.50 0.705297 -342.50 127.50 82.50 1.26427 -342.50 127.50 87.50 2.05639 -342.50 127.50 92.50 3.12281 -342.50 127.50 97.50 4.34925 -342.50 127.50 102.50 5.08929 -342.50 127.50 107.50 4.86539 -342.50 127.50 112.50 4.07693 -342.50 127.50 117.50 2.72937 -342.50 127.50 122.50 1.4484 -342.50 127.50 127.50 0.540126 -342.50 127.50 132.50 0.149992 -342.50 127.50 137.50 0.032745 -342.50 127.50 142.50 0.00826451 -342.50 127.50 147.50 0.0156722 -342.50 127.50 152.50 0.0566753 -342.50 127.50 157.50 0.150526 -342.50 127.50 162.50 0.335682 -342.50 127.50 167.50 0.705296 -342.50 127.50 172.50 1.26427 -342.50 127.50 177.50 2.05639 -342.50 127.50 182.50 3.12281 -342.50 127.50 187.50 4.34925 -342.50 127.50 192.50 5.08929 -342.50 127.50 197.50 4.86539 -342.50 127.50 202.50 4.07693 -342.50 127.50 207.50 2.72937 -342.50 127.50 212.50 1.4484 -342.50 127.50 217.50 0.540126 -342.50 127.50 222.50 0.149992 -342.50 127.50 227.50 0.032745 -342.50 127.50 232.50 0.0082645 -342.50 127.50 237.50 0.0156722 -342.50 127.50 242.50 0.0566753 -342.50 127.50 247.50 0.150526 -342.50 127.50 252.50 0.335683 -342.50 127.50 257.50 0.705298 -342.50 127.50 262.50 1.26427 -342.50 127.50 267.50 2.05639 -342.50 127.50 272.50 3.12281 -342.50 127.50 277.50 4.34925 -342.50 127.50 282.50 5.08929 -342.50 127.50 287.50 4.86539 -342.50 127.50 292.50 4.07693 -342.50 127.50 297.50 2.72937 -342.50 127.50 302.50 1.4484 -342.50 127.50 307.50 0.540127 -342.50 127.50 312.50 0.149992 -342.50 127.50 317.50 0.0327451 -342.50 127.50 322.50 0.00826451 -342.50 127.50 327.50 0.0156722 -342.50 127.50 332.50 0.0566753 -342.50 127.50 337.50 0.150526 -342.50 127.50 342.50 0.335682 -342.50 127.50 347.50 0.705296 -342.50 127.50 352.50 1.26427 -342.50 127.50 357.50 2.05638 -342.50 132.50 2.50 3.95126 -342.50 132.50 7.50 4.73907 -342.50 132.50 12.50 4.98895 -342.50 132.50 17.50 4.29494 -342.50 132.50 22.50 3.16163 -342.50 132.50 27.50 1.85735 -342.50 132.50 32.50 0.867069 -342.50 132.50 37.50 0.320984 -342.50 132.50 42.50 0.0813409 -342.50 132.50 47.50 0.0175414 -342.50 132.50 52.50 0.0113143 -342.50 132.50 57.50 0.0326858 -342.50 132.50 62.50 0.0934186 -342.50 132.50 67.50 0.264477 -342.50 132.50 72.50 0.615838 -342.50 132.50 77.50 1.1717 -342.50 132.50 82.50 1.90679 -342.50 132.50 87.50 2.87227 -342.50 132.50 92.50 3.95126 -342.50 132.50 97.50 4.73907 -342.50 132.50 102.50 4.98895 -342.50 132.50 107.50 4.29494 -342.50 132.50 112.50 3.16164 -342.50 132.50 117.50 1.85735 -342.50 132.50 122.50 0.867068 -342.50 132.50 127.50 0.320983 -342.50 132.50 132.50 0.0813408 -342.50 132.50 137.50 0.0175413 -342.50 132.50 142.50 0.0113143 -342.50 132.50 147.50 0.0326858 -342.50 132.50 152.50 0.0934184 -342.50 132.50 157.50 0.264477 -342.50 132.50 162.50 0.615837 -342.50 132.50 167.50 1.1717 -342.50 132.50 172.50 1.90678 -342.50 132.50 177.50 2.87227 -342.50 132.50 182.50 3.95126 -342.50 132.50 187.50 4.73907 -342.50 132.50 192.50 4.98895 -342.50 132.50 197.50 4.29494 -342.50 132.50 202.50 3.16164 -342.50 132.50 207.50 1.85735 -342.50 132.50 212.50 0.867069 -342.50 132.50 217.50 0.320984 -342.50 132.50 222.50 0.0813409 -342.50 132.50 227.50 0.0175414 -342.50 132.50 232.50 0.0113143 -342.50 132.50 237.50 0.0326859 -342.50 132.50 242.50 0.0934186 -342.50 132.50 247.50 0.264477 -342.50 132.50 252.50 0.615838 -342.50 132.50 257.50 1.1717 -342.50 132.50 262.50 1.90679 -342.50 132.50 267.50 2.87228 -342.50 132.50 272.50 3.95126 -342.50 132.50 277.50 4.73907 -342.50 132.50 282.50 4.98895 -342.50 132.50 287.50 4.29494 -342.50 132.50 292.50 3.16164 -342.50 132.50 297.50 1.85735 -342.50 132.50 302.50 0.867071 -342.50 132.50 307.50 0.320984 -342.50 132.50 312.50 0.0813409 -342.50 132.50 317.50 0.0175414 -342.50 132.50 322.50 0.0113143 -342.50 132.50 327.50 0.0326858 -342.50 132.50 332.50 0.0934183 -342.50 132.50 337.50 0.264477 -342.50 132.50 342.50 0.615837 -342.50 132.50 347.50 1.1717 -342.50 132.50 352.50 1.90678 -342.50 132.50 357.50 2.87227 -342.50 137.50 2.50 4.32007 -342.50 137.50 7.50 4.66925 -342.50 137.50 12.50 4.34864 -342.50 137.50 17.50 3.38724 -342.50 137.50 22.50 2.1849 -342.50 137.50 27.50 1.09209 -342.50 137.50 32.50 0.435015 -342.50 137.50 37.50 0.155387 -342.50 137.50 42.50 0.0359633 -342.50 137.50 47.50 0.012273 -342.50 137.50 52.50 0.0122159 -342.50 137.50 57.50 0.0497084 -342.50 137.50 62.50 0.15977 -342.50 137.50 67.50 0.416996 -342.50 137.50 72.50 0.994168 -342.50 137.50 77.50 1.70873 -342.50 137.50 82.50 2.48277 -342.50 137.50 87.50 3.4196 -342.50 137.50 92.50 4.32007 -342.50 137.50 97.50 4.66926 -342.50 137.50 102.50 4.34864 -342.50 137.50 107.50 3.38724 -342.50 137.50 112.50 2.1849 -342.50 137.50 117.50 1.09209 -342.50 137.50 122.50 0.435015 -342.50 137.50 127.50 0.155387 -342.50 137.50 132.50 0.0359633 -342.50 137.50 137.50 0.012273 -342.50 137.50 142.50 0.0122159 -342.50 137.50 147.50 0.0497084 -342.50 137.50 152.50 0.15977 -342.50 137.50 157.50 0.416995 -342.50 137.50 162.50 0.994168 -342.50 137.50 167.50 1.70873 -342.50 137.50 172.50 2.48277 -342.50 137.50 177.50 3.4196 -342.50 137.50 182.50 4.32007 -342.50 137.50 187.50 4.66925 -342.50 137.50 192.50 4.34864 -342.50 137.50 197.50 3.38724 -342.50 137.50 202.50 2.1849 -342.50 137.50 207.50 1.09209 -342.50 137.50 212.50 0.435015 -342.50 137.50 217.50 0.155387 -342.50 137.50 222.50 0.0359633 -342.50 137.50 227.50 0.0122731 -342.50 137.50 232.50 0.0122159 -342.50 137.50 237.50 0.0497085 -342.50 137.50 242.50 0.15977 -342.50 137.50 247.50 0.416996 -342.50 137.50 252.50 0.994169 -342.50 137.50 257.50 1.70873 -342.50 137.50 262.50 2.48277 -342.50 137.50 267.50 3.4196 -342.50 137.50 272.50 4.32007 -342.50 137.50 277.50 4.66925 -342.50 137.50 282.50 4.34864 -342.50 137.50 287.50 3.38724 -342.50 137.50 292.50 2.1849 -342.50 137.50 297.50 1.09209 -342.50 137.50 302.50 0.435016 -342.50 137.50 307.50 0.155387 -342.50 137.50 312.50 0.0359634 -342.50 137.50 317.50 0.012273 -342.50 137.50 322.50 0.0122159 -342.50 137.50 327.50 0.0497084 -342.50 137.50 332.50 0.159769 -342.50 137.50 337.50 0.416994 -342.50 137.50 342.50 0.994167 -342.50 137.50 347.50 1.70873 -342.50 137.50 352.50 2.48276 -342.50 137.50 357.50 3.4196 -342.50 142.50 2.50 3.95126 -342.50 142.50 7.50 3.98414 -342.50 142.50 12.50 3.33049 -342.50 142.50 17.50 2.33596 -342.50 142.50 22.50 1.31015 -342.50 142.50 27.50 0.573797 -342.50 142.50 32.50 0.193326 -342.50 142.50 37.50 0.059778 -342.50 142.50 42.50 0.0171214 -342.50 142.50 47.50 0.00680786 -342.50 142.50 52.50 0.0174267 -342.50 142.50 57.50 0.0653323 -342.50 142.50 62.50 0.221198 -342.50 142.50 67.50 0.639227 -342.50 142.50 72.50 1.35737 -342.50 142.50 77.50 2.13049 -342.50 142.50 82.50 2.75896 -342.50 142.50 87.50 3.4014 -342.50 142.50 92.50 3.95126 -342.50 142.50 97.50 3.98414 -342.50 142.50 102.50 3.33049 -342.50 142.50 107.50 2.33596 -342.50 142.50 112.50 1.31015 -342.50 142.50 117.50 0.573797 -342.50 142.50 122.50 0.193326 -342.50 142.50 127.50 0.0597779 -342.50 142.50 132.50 0.0171214 -342.50 142.50 137.50 0.00680785 -342.50 142.50 142.50 0.0174266 -342.50 142.50 147.50 0.0653322 -342.50 142.50 152.50 0.221198 -342.50 142.50 157.50 0.639226 -342.50 142.50 162.50 1.35737 -342.50 142.50 167.50 2.13049 -342.50 142.50 172.50 2.75896 -342.50 142.50 177.50 3.4014 -342.50 142.50 182.50 3.95126 -342.50 142.50 187.50 3.98414 -342.50 142.50 192.50 3.33049 -342.50 142.50 197.50 2.33596 -342.50 142.50 202.50 1.31015 -342.50 142.50 207.50 0.573797 -342.50 142.50 212.50 0.193326 -342.50 142.50 217.50 0.0597779 -342.50 142.50 222.50 0.0171214 -342.50 142.50 227.50 0.00680785 -342.50 142.50 232.50 0.0174267 -342.50 142.50 237.50 0.0653324 -342.50 142.50 242.50 0.221198 -342.50 142.50 247.50 0.639227 -342.50 142.50 252.50 1.35737 -342.50 142.50 257.50 2.13049 -342.50 142.50 262.50 2.75896 -342.50 142.50 267.50 3.4014 -342.50 142.50 272.50 3.95126 -342.50 142.50 277.50 3.98414 -342.50 142.50 282.50 3.33049 -342.50 142.50 287.50 2.33596 -342.50 142.50 292.50 1.31015 -342.50 142.50 297.50 0.573798 -342.50 142.50 302.50 0.193326 -342.50 142.50 307.50 0.059778 -342.50 142.50 312.50 0.0171215 -342.50 142.50 317.50 0.00680786 -342.50 142.50 322.50 0.0174266 -342.50 142.50 327.50 0.0653321 -342.50 142.50 332.50 0.221197 -342.50 142.50 337.50 0.639225 -342.50 142.50 342.50 1.35737 -342.50 142.50 347.50 2.13049 -342.50 142.50 352.50 2.75895 -342.50 142.50 357.50 3.40139 -342.50 147.50 2.50 3.12281 -342.50 147.50 7.50 2.92585 -342.50 147.50 12.50 2.22085 -342.50 147.50 17.50 1.39583 -342.50 147.50 22.50 0.691644 -342.50 147.50 27.50 0.268912 -342.50 147.50 32.50 0.0813845 -342.50 147.50 37.50 0.0210778 -342.50 147.50 42.50 0.0079441 -342.50 147.50 47.50 0.0110938 -342.50 147.50 52.50 0.0307393 -342.50 147.50 57.50 0.100307 -342.50 147.50 62.50 0.313741 -342.50 147.50 67.50 0.811574 -342.50 147.50 72.50 1.57418 -342.50 147.50 77.50 2.26821 -342.50 147.50 82.50 2.65324 -342.50 147.50 87.50 2.93791 -342.50 147.50 92.50 3.12281 -342.50 147.50 97.50 2.92586 -342.50 147.50 102.50 2.22085 -342.50 147.50 107.50 1.39583 -342.50 147.50 112.50 0.691644 -342.50 147.50 117.50 0.268912 -342.50 147.50 122.50 0.0813844 -342.50 147.50 127.50 0.0210778 -342.50 147.50 132.50 0.00794411 -342.50 147.50 137.50 0.0110938 -342.50 147.50 142.50 0.0307392 -342.50 147.50 147.50 0.100307 -342.50 147.50 152.50 0.313741 -342.50 147.50 157.50 0.811573 -342.50 147.50 162.50 1.57418 -342.50 147.50 167.50 2.26821 -342.50 147.50 172.50 2.65325 -342.50 147.50 177.50 2.93791 -342.50 147.50 182.50 3.12281 -342.50 147.50 187.50 2.92585 -342.50 147.50 192.50 2.22085 -342.50 147.50 197.50 1.39583 -342.50 147.50 202.50 0.691644 -342.50 147.50 207.50 0.268912 -342.50 147.50 212.50 0.0813845 -342.50 147.50 217.50 0.0210778 -342.50 147.50 222.50 0.0079441 -342.50 147.50 227.50 0.0110938 -342.50 147.50 232.50 0.0307393 -342.50 147.50 237.50 0.100307 -342.50 147.50 242.50 0.313741 -342.50 147.50 247.50 0.811574 -342.50 147.50 252.50 1.57418 -342.50 147.50 257.50 2.26821 -342.50 147.50 262.50 2.65325 -342.50 147.50 267.50 2.93791 -342.50 147.50 272.50 3.12281 -342.50 147.50 277.50 2.92585 -342.50 147.50 282.50 2.22085 -342.50 147.50 287.50 1.39583 -342.50 147.50 292.50 0.691644 -342.50 147.50 297.50 0.268913 -342.50 147.50 302.50 0.0813846 -342.50 147.50 307.50 0.0210778 -342.50 147.50 312.50 0.0079441 -342.50 147.50 317.50 0.0110938 -342.50 147.50 322.50 0.0307392 -342.50 147.50 327.50 0.100306 -342.50 147.50 332.50 0.31374 -342.50 147.50 337.50 0.811572 -342.50 147.50 342.50 1.57418 -342.50 147.50 347.50 2.26821 -342.50 147.50 352.50 2.65324 -342.50 147.50 357.50 2.93791 -342.50 152.50 2.50 2.28344 -342.50 152.50 7.50 1.94106 -342.50 152.50 12.50 1.40864 -342.50 152.50 17.50 0.781421 -342.50 152.50 22.50 0.378184 -342.50 152.50 27.50 0.125016 -342.50 152.50 32.50 0.0367355 -342.50 152.50 37.50 0.00898048 -342.50 152.50 42.50 0.00698157 -342.50 152.50 47.50 0.0215105 -342.50 152.50 52.50 0.06401 -342.50 152.50 57.50 0.175255 -342.50 152.50 62.50 0.446188 -342.50 152.50 67.50 0.961777 -342.50 152.50 72.50 1.66379 -342.50 152.50 77.50 2.1941 -342.50 152.50 82.50 2.32479 -342.50 152.50 87.50 2.35998 -342.50 152.50 92.50 2.28344 -342.50 152.50 97.50 1.94106 -342.50 152.50 102.50 1.40864 -342.50 152.50 107.50 0.781421 -342.50 152.50 112.50 0.378184 -342.50 152.50 117.50 0.125016 -342.50 152.50 122.50 0.0367354 -342.50 152.50 127.50 0.00898048 -342.50 152.50 132.50 0.00698156 -342.50 152.50 137.50 0.0215104 -342.50 152.50 142.50 0.06401 -342.50 152.50 147.50 0.175254 -342.50 152.50 152.50 0.446187 -342.50 152.50 157.50 0.961777 -342.50 152.50 162.50 1.66379 -342.50 152.50 167.50 2.1941 -342.50 152.50 172.50 2.32479 -342.50 152.50 177.50 2.35998 -342.50 152.50 182.50 2.28344 -342.50 152.50 187.50 1.94106 -342.50 152.50 192.50 1.40864 -342.50 152.50 197.50 0.781421 -342.50 152.50 202.50 0.378184 -342.50 152.50 207.50 0.125016 -342.50 152.50 212.50 0.0367355 -342.50 152.50 217.50 0.00898049 -342.50 152.50 222.50 0.00698155 -342.50 152.50 227.50 0.0215104 -342.50 152.50 232.50 0.0640101 -342.50 152.50 237.50 0.175255 -342.50 152.50 242.50 0.446189 -342.50 152.50 247.50 0.961778 -342.50 152.50 252.50 1.66379 -342.50 152.50 257.50 2.1941 -342.50 152.50 262.50 2.32479 -342.50 152.50 267.50 2.35998 -342.50 152.50 272.50 2.28343 -342.50 152.50 277.50 1.94106 -342.50 152.50 282.50 1.40864 -342.50 152.50 287.50 0.781422 -342.50 152.50 292.50 0.378184 -342.50 152.50 297.50 0.125017 -342.50 152.50 302.50 0.0367356 -342.50 152.50 307.50 0.00898049 -342.50 152.50 312.50 0.00698155 -342.50 152.50 317.50 0.0215104 -342.50 152.50 322.50 0.0640098 -342.50 152.50 327.50 0.175254 -342.50 152.50 332.50 0.446187 -342.50 152.50 337.50 0.961775 -342.50 152.50 342.50 1.66379 -342.50 152.50 347.50 2.1941 -342.50 152.50 352.50 2.32479 -342.50 152.50 357.50 2.35998 -342.50 157.50 2.50 1.58451 -342.50 157.50 7.50 1.23133 -342.50 157.50 12.50 0.880206 -342.50 157.50 17.50 0.497712 -342.50 157.50 22.50 0.231887 -342.50 157.50 27.50 0.0958945 -342.50 157.50 32.50 0.033119 -342.50 157.50 37.50 0.0126958 -342.50 157.50 42.50 0.010662 -342.50 157.50 47.50 0.0308631 -342.50 157.50 52.50 0.104566 -342.50 157.50 57.50 0.280168 -342.50 157.50 62.50 0.613147 -342.50 157.50 67.50 1.12864 -342.50 157.50 72.50 1.67424 -342.50 157.50 77.50 1.96043 -342.50 157.50 82.50 1.93052 -342.50 157.50 87.50 1.78921 -342.50 157.50 92.50 1.58451 -342.50 157.50 97.50 1.23133 -342.50 157.50 102.50 0.880205 -342.50 157.50 107.50 0.497712 -342.50 157.50 112.50 0.231887 -342.50 157.50 117.50 0.0958945 -342.50 157.50 122.50 0.0331189 -342.50 157.50 127.50 0.0126958 -342.50 157.50 132.50 0.010662 -342.50 157.50 137.50 0.030863 -342.50 157.50 142.50 0.104566 -342.50 157.50 147.50 0.280168 -342.50 157.50 152.50 0.613147 -342.50 157.50 157.50 1.12864 -342.50 157.50 162.50 1.67424 -342.50 157.50 167.50 1.96043 -342.50 157.50 172.50 1.93052 -342.50 157.50 177.50 1.78921 -342.50 157.50 182.50 1.58451 -342.50 157.50 187.50 1.23133 -342.50 157.50 192.50 0.880205 -342.50 157.50 197.50 0.497711 -342.50 157.50 202.50 0.231887 -342.50 157.50 207.50 0.0958946 -342.50 157.50 212.50 0.033119 -342.50 157.50 217.50 0.0126958 -342.50 157.50 222.50 0.010662 -342.50 157.50 227.50 0.030863 -342.50 157.50 232.50 0.104567 -342.50 157.50 237.50 0.280168 -342.50 157.50 242.50 0.613148 -342.50 157.50 247.50 1.12864 -342.50 157.50 252.50 1.67424 -342.50 157.50 257.50 1.96043 -342.50 157.50 262.50 1.93052 -342.50 157.50 267.50 1.78921 -342.50 157.50 272.50 1.58451 -342.50 157.50 277.50 1.23133 -342.50 157.50 282.50 0.880206 -342.50 157.50 287.50 0.497712 -342.50 157.50 292.50 0.231887 -342.50 157.50 297.50 0.0958947 -342.50 157.50 302.50 0.033119 -342.50 157.50 307.50 0.0126958 -342.50 157.50 312.50 0.010662 -342.50 157.50 317.50 0.030863 -342.50 157.50 322.50 0.104566 -342.50 157.50 327.50 0.280167 -342.50 157.50 332.50 0.613146 -342.50 157.50 337.50 1.12864 -342.50 157.50 342.50 1.67424 -342.50 157.50 347.50 1.96043 -342.50 157.50 352.50 1.93052 -342.50 157.50 357.50 1.78921 -342.50 162.50 2.50 0.990532 -342.50 162.50 7.50 0.731449 -342.50 162.50 12.50 0.504197 -342.50 162.50 17.50 0.327897 -342.50 162.50 22.50 0.180535 -342.50 162.50 27.50 0.11271 -342.50 162.50 32.50 0.0712188 -342.50 162.50 37.50 0.0310733 -342.50 162.50 42.50 0.0157651 -342.50 162.50 47.50 0.0397712 -342.50 162.50 52.50 0.130405 -342.50 162.50 57.50 0.352547 -342.50 162.50 62.50 0.745596 -342.50 162.50 67.50 1.24457 -342.50 162.50 72.50 1.6252 -342.50 162.50 77.50 1.68049 -342.50 162.50 82.50 1.47733 -342.50 162.50 87.50 1.2191 -342.50 162.50 92.50 0.990532 -342.50 162.50 97.50 0.731449 -342.50 162.50 102.50 0.504197 -342.50 162.50 107.50 0.327897 -342.50 162.50 112.50 0.180535 -342.50 162.50 117.50 0.11271 -342.50 162.50 122.50 0.0712188 -342.50 162.50 127.50 0.0310733 -342.50 162.50 132.50 0.0157651 -342.50 162.50 137.50 0.0397712 -342.50 162.50 142.50 0.130405 -342.50 162.50 147.50 0.352547 -342.50 162.50 152.50 0.745595 -342.50 162.50 157.50 1.24457 -342.50 162.50 162.50 1.6252 -342.50 162.50 167.50 1.68049 -342.50 162.50 172.50 1.47733 -342.50 162.50 177.50 1.2191 -342.50 162.50 182.50 0.990532 -342.50 162.50 187.50 0.731449 -342.50 162.50 192.50 0.504197 -342.50 162.50 197.50 0.327897 -342.50 162.50 202.50 0.180535 -342.50 162.50 207.50 0.11271 -342.50 162.50 212.50 0.0712189 -342.50 162.50 217.50 0.0310733 -342.50 162.50 222.50 0.0157651 -342.50 162.50 227.50 0.0397712 -342.50 162.50 232.50 0.130405 -342.50 162.50 237.50 0.352547 -342.50 162.50 242.50 0.745597 -342.50 162.50 247.50 1.24457 -342.50 162.50 252.50 1.6252 -342.50 162.50 257.50 1.68049 -342.50 162.50 262.50 1.47733 -342.50 162.50 267.50 1.2191 -342.50 162.50 272.50 0.990533 -342.50 162.50 277.50 0.731449 -342.50 162.50 282.50 0.504197 -342.50 162.50 287.50 0.327898 -342.50 162.50 292.50 0.180535 -342.50 162.50 297.50 0.11271 -342.50 162.50 302.50 0.0712189 -342.50 162.50 307.50 0.0310733 -342.50 162.50 312.50 0.0157651 -342.50 162.50 317.50 0.0397711 -342.50 162.50 322.50 0.130404 -342.50 162.50 327.50 0.352546 -342.50 162.50 332.50 0.745595 -342.50 162.50 337.50 1.24457 -342.50 162.50 342.50 1.6252 -342.50 162.50 347.50 1.68049 -342.50 162.50 352.50 1.47733 -342.50 162.50 357.50 1.2191 -342.50 167.50 2.50 0.527183 -342.50 167.50 7.50 0.384253 -342.50 167.50 12.50 0.251369 -342.50 167.50 17.50 0.196518 -342.50 167.50 22.50 0.160424 -342.50 167.50 27.50 0.1371 -342.50 167.50 32.50 0.10044 -342.50 167.50 37.50 0.0540652 -342.50 167.50 42.50 0.0261997 -342.50 167.50 47.50 0.0433835 -342.50 167.50 52.50 0.127702 -342.50 167.50 57.50 0.340342 -342.50 167.50 62.50 0.759202 -342.50 167.50 67.50 1.26173 -342.50 167.50 72.50 1.544 -342.50 167.50 77.50 1.41763 -342.50 167.50 82.50 1.0402 -342.50 167.50 87.50 0.720482 -342.50 167.50 92.50 0.527183 -342.50 167.50 97.50 0.384252 -342.50 167.50 102.50 0.251369 -342.50 167.50 107.50 0.196518 -342.50 167.50 112.50 0.160424 -342.50 167.50 117.50 0.1371 -342.50 167.50 122.50 0.10044 -342.50 167.50 127.50 0.0540653 -342.50 167.50 132.50 0.0261997 -342.50 167.50 137.50 0.0433835 -342.50 167.50 142.50 0.127702 -342.50 167.50 147.50 0.340342 -342.50 167.50 152.50 0.759201 -342.50 167.50 157.50 1.26173 -342.50 167.50 162.50 1.544 -342.50 167.50 167.50 1.41763 -342.50 167.50 172.50 1.0402 -342.50 167.50 177.50 0.720482 -342.50 167.50 182.50 0.527183 -342.50 167.50 187.50 0.384252 -342.50 167.50 192.50 0.251369 -342.50 167.50 197.50 0.196518 -342.50 167.50 202.50 0.160424 -342.50 167.50 207.50 0.1371 -342.50 167.50 212.50 0.10044 -342.50 167.50 217.50 0.0540653 -342.50 167.50 222.50 0.0261997 -342.50 167.50 227.50 0.0433835 -342.50 167.50 232.50 0.127702 -342.50 167.50 237.50 0.340343 -342.50 167.50 242.50 0.759202 -342.50 167.50 247.50 1.26173 -342.50 167.50 252.50 1.544 -342.50 167.50 257.50 1.41763 -342.50 167.50 262.50 1.0402 -342.50 167.50 267.50 0.720482 -342.50 167.50 272.50 0.527183 -342.50 167.50 277.50 0.384253 -342.50 167.50 282.50 0.251369 -342.50 167.50 287.50 0.196518 -342.50 167.50 292.50 0.160425 -342.50 167.50 297.50 0.1371 -342.50 167.50 302.50 0.10044 -342.50 167.50 307.50 0.0540654 -342.50 167.50 312.50 0.0261997 -342.50 167.50 317.50 0.0433834 -342.50 167.50 322.50 0.127702 -342.50 167.50 327.50 0.340342 -342.50 167.50 332.50 0.7592 -342.50 167.50 337.50 1.26173 -342.50 167.50 342.50 1.544 -342.50 167.50 347.50 1.41763 -342.50 167.50 352.50 1.0402 -342.50 167.50 357.50 0.720483 -342.50 172.50 2.50 0.24067 -342.50 172.50 7.50 0.181725 -342.50 172.50 12.50 0.141148 -342.50 172.50 17.50 0.111957 -342.50 172.50 22.50 0.119082 -342.50 172.50 27.50 0.121307 -342.50 172.50 32.50 0.100238 -342.50 172.50 37.50 0.061251 -342.50 172.50 42.50 0.0320372 -342.50 172.50 47.50 0.0389844 -342.50 172.50 52.50 0.10447 -342.50 172.50 57.50 0.28557 -342.50 172.50 62.50 0.656451 -342.50 172.50 67.50 1.12589 -342.50 172.50 72.50 1.35396 -342.50 172.50 77.50 1.13499 -342.50 172.50 82.50 0.704974 -342.50 172.50 87.50 0.38469 -342.50 172.50 92.50 0.24067 -342.50 172.50 97.50 0.181724 -342.50 172.50 102.50 0.141148 -342.50 172.50 107.50 0.111957 -342.50 172.50 112.50 0.119082 -342.50 172.50 117.50 0.121307 -342.50 172.50 122.50 0.100237 -342.50 172.50 127.50 0.061251 -342.50 172.50 132.50 0.0320372 -342.50 172.50 137.50 0.0389844 -342.50 172.50 142.50 0.10447 -342.50 172.50 147.50 0.28557 -342.50 172.50 152.50 0.65645 -342.50 172.50 157.50 1.12589 -342.50 172.50 162.50 1.35396 -342.50 172.50 167.50 1.13499 -342.50 172.50 172.50 0.704975 -342.50 172.50 177.50 0.38469 -342.50 172.50 182.50 0.24067 -342.50 172.50 187.50 0.181724 -342.50 172.50 192.50 0.141147 -342.50 172.50 197.50 0.111957 -342.50 172.50 202.50 0.119082 -342.50 172.50 207.50 0.121307 -342.50 172.50 212.50 0.100237 -342.50 172.50 217.50 0.061251 -342.50 172.50 222.50 0.0320373 -342.50 172.50 227.50 0.0389844 -342.50 172.50 232.50 0.10447 -342.50 172.50 237.50 0.28557 -342.50 172.50 242.50 0.656451 -342.50 172.50 247.50 1.12589 -342.50 172.50 252.50 1.35396 -342.50 172.50 257.50 1.13498 -342.50 172.50 262.50 0.704974 -342.50 172.50 267.50 0.38469 -342.50 172.50 272.50 0.24067 -342.50 172.50 277.50 0.181725 -342.50 172.50 282.50 0.141148 -342.50 172.50 287.50 0.111957 -342.50 172.50 292.50 0.119082 -342.50 172.50 297.50 0.121307 -342.50 172.50 302.50 0.100238 -342.50 172.50 307.50 0.0612511 -342.50 172.50 312.50 0.0320373 -342.50 172.50 317.50 0.0389844 -342.50 172.50 322.50 0.10447 -342.50 172.50 327.50 0.285569 -342.50 172.50 332.50 0.65645 -342.50 172.50 337.50 1.12589 -342.50 172.50 342.50 1.35396 -342.50 172.50 347.50 1.13499 -342.50 172.50 352.50 0.704975 -342.50 172.50 357.50 0.38469 -342.50 177.50 2.50 0.102596 -342.50 177.50 7.50 0.080822 -342.50 177.50 12.50 0.0821991 -342.50 177.50 17.50 0.0878967 -342.50 177.50 22.50 0.0897202 -342.50 177.50 27.50 0.0859237 -342.50 177.50 32.50 0.0750918 -342.50 177.50 37.50 0.0604865 -342.50 177.50 42.50 0.0434974 -342.50 177.50 47.50 0.0399293 -342.50 177.50 52.50 0.0711835 -342.50 177.50 57.50 0.188832 -342.50 177.50 62.50 0.470401 -342.50 177.50 67.50 0.856093 -342.50 177.50 72.50 1.03537 -342.50 177.50 77.50 0.829237 -342.50 177.50 82.50 0.458729 -342.50 177.50 87.50 0.202462 -342.50 177.50 92.50 0.102596 -342.50 177.50 97.50 0.0808219 -342.50 177.50 102.50 0.0821992 -342.50 177.50 107.50 0.0878966 -342.50 177.50 112.50 0.0897202 -342.50 177.50 117.50 0.0859236 -342.50 177.50 122.50 0.0750918 -342.50 177.50 127.50 0.0604864 -342.50 177.50 132.50 0.0434974 -342.50 177.50 137.50 0.0399293 -342.50 177.50 142.50 0.0711835 -342.50 177.50 147.50 0.188832 -342.50 177.50 152.50 0.470401 -342.50 177.50 157.50 0.856093 -342.50 177.50 162.50 1.03537 -342.50 177.50 167.50 0.829238 -342.50 177.50 172.50 0.45873 -342.50 177.50 177.50 0.202463 -342.50 177.50 182.50 0.102596 -342.50 177.50 187.50 0.0808219 -342.50 177.50 192.50 0.0821991 -342.50 177.50 197.50 0.0878967 -342.50 177.50 202.50 0.0897203 -342.50 177.50 207.50 0.0859237 -342.50 177.50 212.50 0.0750918 -342.50 177.50 217.50 0.0604865 -342.50 177.50 222.50 0.0434974 -342.50 177.50 227.50 0.0399292 -342.50 177.50 232.50 0.0711835 -342.50 177.50 237.50 0.188832 -342.50 177.50 242.50 0.470401 -342.50 177.50 247.50 0.856094 -342.50 177.50 252.50 1.03537 -342.50 177.50 257.50 0.829237 -342.50 177.50 262.50 0.458729 -342.50 177.50 267.50 0.202462 -342.50 177.50 272.50 0.102596 -342.50 177.50 277.50 0.0808219 -342.50 177.50 282.50 0.0821991 -342.50 177.50 287.50 0.0878967 -342.50 177.50 292.50 0.0897203 -342.50 177.50 297.50 0.0859237 -342.50 177.50 302.50 0.0750918 -342.50 177.50 307.50 0.0604866 -342.50 177.50 312.50 0.0434974 -342.50 177.50 317.50 0.0399293 -342.50 177.50 322.50 0.0711832 -342.50 177.50 327.50 0.188831 -342.50 177.50 332.50 0.470401 -342.50 177.50 337.50 0.856093 -342.50 177.50 342.50 1.03537 -342.50 177.50 347.50 0.829238 -342.50 177.50 352.50 0.45873 -342.50 177.50 357.50 0.202463 -347.50 2.50 2.50 0.149977 -347.50 2.50 7.50 0.393271 -347.50 2.50 12.50 0.773178 -347.50 2.50 17.50 0.980476 -347.50 2.50 22.50 0.773179 -347.50 2.50 27.50 0.393273 -347.50 2.50 32.50 0.149977 -347.50 2.50 37.50 0.0624686 -347.50 2.50 42.50 0.0485219 -347.50 2.50 47.50 0.0601603 -347.50 2.50 52.50 0.0760385 -347.50 2.50 57.50 0.083846 -347.50 2.50 62.50 0.084539 -347.50 2.50 67.50 0.083846 -347.50 2.50 72.50 0.0760386 -347.50 2.50 77.50 0.0601604 -347.50 2.50 82.50 0.048522 -347.50 2.50 87.50 0.0624684 -347.50 2.50 92.50 0.149977 -347.50 2.50 97.50 0.393272 -347.50 2.50 102.50 0.773178 -347.50 2.50 107.50 0.980476 -347.50 2.50 112.50 0.773179 -347.50 2.50 117.50 0.393273 -347.50 2.50 122.50 0.149977 -347.50 2.50 127.50 0.0624686 -347.50 2.50 132.50 0.0485219 -347.50 2.50 137.50 0.0601603 -347.50 2.50 142.50 0.0760385 -347.50 2.50 147.50 0.083846 -347.50 2.50 152.50 0.084539 -347.50 2.50 157.50 0.083846 -347.50 2.50 162.50 0.0760386 -347.50 2.50 167.50 0.0601604 -347.50 2.50 172.50 0.048522 -347.50 2.50 177.50 0.0624684 -347.50 2.50 182.50 0.149977 -347.50 2.50 187.50 0.393272 -347.50 2.50 192.50 0.773178 -347.50 2.50 197.50 0.980476 -347.50 2.50 202.50 0.773179 -347.50 2.50 207.50 0.393273 -347.50 2.50 212.50 0.149977 -347.50 2.50 217.50 0.0624687 -347.50 2.50 222.50 0.0485219 -347.50 2.50 227.50 0.0601602 -347.50 2.50 232.50 0.0760385 -347.50 2.50 237.50 0.083846 -347.50 2.50 242.50 0.084539 -347.50 2.50 247.50 0.083846 -347.50 2.50 252.50 0.0760385 -347.50 2.50 257.50 0.0601603 -347.50 2.50 262.50 0.048522 -347.50 2.50 267.50 0.0624685 -347.50 2.50 272.50 0.149977 -347.50 2.50 277.50 0.393271 -347.50 2.50 282.50 0.773177 -347.50 2.50 287.50 0.980476 -347.50 2.50 292.50 0.773179 -347.50 2.50 297.50 0.393273 -347.50 2.50 302.50 0.149977 -347.50 2.50 307.50 0.0624687 -347.50 2.50 312.50 0.0485219 -347.50 2.50 317.50 0.0601602 -347.50 2.50 322.50 0.0760385 -347.50 2.50 327.50 0.083846 -347.50 2.50 332.50 0.084539 -347.50 2.50 337.50 0.083846 -347.50 2.50 342.50 0.0760386 -347.50 2.50 347.50 0.0601604 -347.50 2.50 352.50 0.048522 -347.50 2.50 357.50 0.0624684 -347.50 7.50 2.50 0.210388 -347.50 7.50 7.50 0.461128 -347.50 7.50 12.50 0.814818 -347.50 7.50 17.50 1.00154 -347.50 7.50 22.50 0.826356 -347.50 7.50 27.50 0.469199 -347.50 7.50 32.50 0.199274 -347.50 7.50 37.50 0.0785195 -347.50 7.50 42.50 0.0421066 -347.50 7.50 47.50 0.0435456 -347.50 7.50 52.50 0.0590314 -347.50 7.50 57.50 0.0724146 -347.50 7.50 62.50 0.0750233 -347.50 7.50 67.50 0.0776945 -347.50 7.50 72.50 0.076525 -347.50 7.50 77.50 0.0724643 -347.50 7.50 82.50 0.0745756 -347.50 7.50 87.50 0.104719 -347.50 7.50 92.50 0.210388 -347.50 7.50 97.50 0.461129 -347.50 7.50 102.50 0.814818 -347.50 7.50 107.50 1.00154 -347.50 7.50 112.50 0.826355 -347.50 7.50 117.50 0.469199 -347.50 7.50 122.50 0.199274 -347.50 7.50 127.50 0.0785195 -347.50 7.50 132.50 0.0421066 -347.50 7.50 137.50 0.0435456 -347.50 7.50 142.50 0.0590314 -347.50 7.50 147.50 0.0724146 -347.50 7.50 152.50 0.0750234 -347.50 7.50 157.50 0.0776945 -347.50 7.50 162.50 0.076525 -347.50 7.50 167.50 0.0724643 -347.50 7.50 172.50 0.0745756 -347.50 7.50 177.50 0.104719 -347.50 7.50 182.50 0.210388 -347.50 7.50 187.50 0.461129 -347.50 7.50 192.50 0.814818 -347.50 7.50 197.50 1.00154 -347.50 7.50 202.50 0.826356 -347.50 7.50 207.50 0.469199 -347.50 7.50 212.50 0.199274 -347.50 7.50 217.50 0.0785195 -347.50 7.50 222.50 0.0421066 -347.50 7.50 227.50 0.0435456 -347.50 7.50 232.50 0.0590315 -347.50 7.50 237.50 0.0724146 -347.50 7.50 242.50 0.0750234 -347.50 7.50 247.50 0.0776945 -347.50 7.50 252.50 0.076525 -347.50 7.50 257.50 0.0724643 -347.50 7.50 262.50 0.0745756 -347.50 7.50 267.50 0.104719 -347.50 7.50 272.50 0.210388 -347.50 7.50 277.50 0.461128 -347.50 7.50 282.50 0.814818 -347.50 7.50 287.50 1.00154 -347.50 7.50 292.50 0.826357 -347.50 7.50 297.50 0.469199 -347.50 7.50 302.50 0.199274 -347.50 7.50 307.50 0.0785195 -347.50 7.50 312.50 0.0421066 -347.50 7.50 317.50 0.0435456 -347.50 7.50 322.50 0.0590314 -347.50 7.50 327.50 0.0724146 -347.50 7.50 332.50 0.0750234 -347.50 7.50 337.50 0.0776945 -347.50 7.50 342.50 0.0765251 -347.50 7.50 347.50 0.0724643 -347.50 7.50 352.50 0.0745756 -347.50 7.50 357.50 0.104719 -347.50 12.50 2.50 0.376554 -347.50 12.50 7.50 0.695287 -347.50 12.50 12.50 1.10458 -347.50 12.50 17.50 1.30722 -347.50 12.50 22.50 1.08936 -347.50 12.50 27.50 0.6582 -347.50 12.50 32.50 0.309731 -347.50 12.50 37.50 0.122106 -347.50 12.50 42.50 0.044724 -347.50 12.50 47.50 0.0302449 -347.50 12.50 52.50 0.051786 -347.50 12.50 57.50 0.0863411 -347.50 12.50 62.50 0.103579 -347.50 12.50 67.50 0.0995423 -347.50 12.50 72.50 0.0936087 -347.50 12.50 77.50 0.0978893 -347.50 12.50 82.50 0.141283 -347.50 12.50 87.50 0.216442 -347.50 12.50 92.50 0.376554 -347.50 12.50 97.50 0.695287 -347.50 12.50 102.50 1.10458 -347.50 12.50 107.50 1.30722 -347.50 12.50 112.50 1.08936 -347.50 12.50 117.50 0.658199 -347.50 12.50 122.50 0.309731 -347.50 12.50 127.50 0.122106 -347.50 12.50 132.50 0.044724 -347.50 12.50 137.50 0.0302449 -347.50 12.50 142.50 0.051786 -347.50 12.50 147.50 0.0863411 -347.50 12.50 152.50 0.103579 -347.50 12.50 157.50 0.0995423 -347.50 12.50 162.50 0.0936087 -347.50 12.50 167.50 0.0978893 -347.50 12.50 172.50 0.141283 -347.50 12.50 177.50 0.216442 -347.50 12.50 182.50 0.376554 -347.50 12.50 187.50 0.695287 -347.50 12.50 192.50 1.10458 -347.50 12.50 197.50 1.30722 -347.50 12.50 202.50 1.08936 -347.50 12.50 207.50 0.6582 -347.50 12.50 212.50 0.309731 -347.50 12.50 217.50 0.122106 -347.50 12.50 222.50 0.044724 -347.50 12.50 227.50 0.0302449 -347.50 12.50 232.50 0.051786 -347.50 12.50 237.50 0.0863411 -347.50 12.50 242.50 0.103579 -347.50 12.50 247.50 0.0995423 -347.50 12.50 252.50 0.0936087 -347.50 12.50 257.50 0.0978893 -347.50 12.50 262.50 0.141284 -347.50 12.50 267.50 0.216442 -347.50 12.50 272.50 0.376554 -347.50 12.50 277.50 0.695287 -347.50 12.50 282.50 1.10458 -347.50 12.50 287.50 1.30722 -347.50 12.50 292.50 1.08936 -347.50 12.50 297.50 0.6582 -347.50 12.50 302.50 0.309731 -347.50 12.50 307.50 0.122106 -347.50 12.50 312.50 0.0447241 -347.50 12.50 317.50 0.0302449 -347.50 12.50 322.50 0.0517859 -347.50 12.50 327.50 0.086341 -347.50 12.50 332.50 0.103579 -347.50 12.50 337.50 0.0995423 -347.50 12.50 342.50 0.0936087 -347.50 12.50 347.50 0.0978893 -347.50 12.50 352.50 0.141283 -347.50 12.50 357.50 0.216442 -347.50 17.50 2.50 0.6554 -347.50 17.50 7.50 0.996545 -347.50 17.50 12.50 1.37686 -347.50 17.50 17.50 1.52312 -347.50 17.50 22.50 1.26422 -347.50 17.50 27.50 0.791947 -347.50 17.50 32.50 0.376838 -347.50 17.50 37.50 0.141028 -347.50 17.50 42.50 0.0478194 -347.50 17.50 47.50 0.0264396 -347.50 17.50 52.50 0.0466067 -347.50 17.50 57.50 0.0853311 -347.50 17.50 62.50 0.103018 -347.50 17.50 67.50 0.110934 -347.50 17.50 72.50 0.138135 -347.50 17.50 77.50 0.188649 -347.50 17.50 82.50 0.26037 -347.50 17.50 87.50 0.423372 -347.50 17.50 92.50 0.6554 -347.50 17.50 97.50 0.996546 -347.50 17.50 102.50 1.37686 -347.50 17.50 107.50 1.52312 -347.50 17.50 112.50 1.26422 -347.50 17.50 117.50 0.791947 -347.50 17.50 122.50 0.376838 -347.50 17.50 127.50 0.141028 -347.50 17.50 132.50 0.0478194 -347.50 17.50 137.50 0.0264396 -347.50 17.50 142.50 0.0466067 -347.50 17.50 147.50 0.0853311 -347.50 17.50 152.50 0.103018 -347.50 17.50 157.50 0.110934 -347.50 17.50 162.50 0.138135 -347.50 17.50 167.50 0.188649 -347.50 17.50 172.50 0.260369 -347.50 17.50 177.50 0.423372 -347.50 17.50 182.50 0.6554 -347.50 17.50 187.50 0.996546 -347.50 17.50 192.50 1.37686 -347.50 17.50 197.50 1.52312 -347.50 17.50 202.50 1.26422 -347.50 17.50 207.50 0.791947 -347.50 17.50 212.50 0.376838 -347.50 17.50 217.50 0.141028 -347.50 17.50 222.50 0.0478194 -347.50 17.50 227.50 0.0264396 -347.50 17.50 232.50 0.0466068 -347.50 17.50 237.50 0.0853311 -347.50 17.50 242.50 0.103018 -347.50 17.50 247.50 0.110934 -347.50 17.50 252.50 0.138135 -347.50 17.50 257.50 0.18865 -347.50 17.50 262.50 0.26037 -347.50 17.50 267.50 0.423372 -347.50 17.50 272.50 0.6554 -347.50 17.50 277.50 0.996545 -347.50 17.50 282.50 1.37686 -347.50 17.50 287.50 1.52312 -347.50 17.50 292.50 1.26422 -347.50 17.50 297.50 0.791948 -347.50 17.50 302.50 0.376839 -347.50 17.50 307.50 0.141028 -347.50 17.50 312.50 0.0478195 -347.50 17.50 317.50 0.0264397 -347.50 17.50 322.50 0.0466066 -347.50 17.50 327.50 0.085331 -347.50 17.50 332.50 0.103018 -347.50 17.50 337.50 0.110934 -347.50 17.50 342.50 0.138135 -347.50 17.50 347.50 0.188649 -347.50 17.50 352.50 0.260369 -347.50 17.50 357.50 0.423372 -347.50 22.50 2.50 1.04451 -347.50 22.50 7.50 1.36448 -347.50 22.50 12.50 1.64759 -347.50 22.50 17.50 1.66988 -347.50 22.50 22.50 1.34437 -347.50 22.50 27.50 0.835966 -347.50 22.50 32.50 0.401316 -347.50 22.50 37.50 0.147344 -347.50 22.50 42.50 0.0432779 -347.50 22.50 47.50 0.0190101 -347.50 22.50 52.50 0.0247396 -347.50 22.50 57.50 0.0520203 -347.50 22.50 62.50 0.0792764 -347.50 22.50 67.50 0.108237 -347.50 22.50 72.50 0.185647 -347.50 22.50 77.50 0.335263 -347.50 22.50 82.50 0.501154 -347.50 22.50 87.50 0.736745 -347.50 22.50 92.50 1.04451 -347.50 22.50 97.50 1.36448 -347.50 22.50 102.50 1.64759 -347.50 22.50 107.50 1.66988 -347.50 22.50 112.50 1.34437 -347.50 22.50 117.50 0.835965 -347.50 22.50 122.50 0.401316 -347.50 22.50 127.50 0.147344 -347.50 22.50 132.50 0.0432779 -347.50 22.50 137.50 0.0190101 -347.50 22.50 142.50 0.0247396 -347.50 22.50 147.50 0.0520203 -347.50 22.50 152.50 0.0792764 -347.50 22.50 157.50 0.108236 -347.50 22.50 162.50 0.185648 -347.50 22.50 167.50 0.335263 -347.50 22.50 172.50 0.501154 -347.50 22.50 177.50 0.736744 -347.50 22.50 182.50 1.04451 -347.50 22.50 187.50 1.36448 -347.50 22.50 192.50 1.64759 -347.50 22.50 197.50 1.66988 -347.50 22.50 202.50 1.34437 -347.50 22.50 207.50 0.835966 -347.50 22.50 212.50 0.401316 -347.50 22.50 217.50 0.147344 -347.50 22.50 222.50 0.043278 -347.50 22.50 227.50 0.0190101 -347.50 22.50 232.50 0.0247396 -347.50 22.50 237.50 0.0520204 -347.50 22.50 242.50 0.0792765 -347.50 22.50 247.50 0.108237 -347.50 22.50 252.50 0.185648 -347.50 22.50 257.50 0.335263 -347.50 22.50 262.50 0.501155 -347.50 22.50 267.50 0.736746 -347.50 22.50 272.50 1.04451 -347.50 22.50 277.50 1.36448 -347.50 22.50 282.50 1.64759 -347.50 22.50 287.50 1.66988 -347.50 22.50 292.50 1.34437 -347.50 22.50 297.50 0.835966 -347.50 22.50 302.50 0.401316 -347.50 22.50 307.50 0.147344 -347.50 22.50 312.50 0.043278 -347.50 22.50 317.50 0.0190101 -347.50 22.50 322.50 0.0247395 -347.50 22.50 327.50 0.0520202 -347.50 22.50 332.50 0.0792764 -347.50 22.50 337.50 0.108236 -347.50 22.50 342.50 0.185647 -347.50 22.50 347.50 0.335263 -347.50 22.50 352.50 0.501154 -347.50 22.50 357.50 0.736744 -347.50 27.50 2.50 1.46987 -347.50 27.50 7.50 1.73302 -347.50 27.50 12.50 1.90549 -347.50 27.50 17.50 1.79157 -347.50 27.50 22.50 1.3193 -347.50 27.50 27.50 0.755123 -347.50 27.50 32.50 0.335643 -347.50 27.50 37.50 0.119208 -347.50 27.50 42.50 0.0375602 -347.50 27.50 47.50 0.0124126 -347.50 27.50 52.50 0.0111999 -347.50 27.50 57.50 0.0230623 -347.50 27.50 62.50 0.0500054 -347.50 27.50 67.50 0.130854 -347.50 27.50 72.50 0.282701 -347.50 27.50 77.50 0.526842 -347.50 27.50 82.50 0.846134 -347.50 27.50 87.50 1.13434 -347.50 27.50 92.50 1.46987 -347.50 27.50 97.50 1.73302 -347.50 27.50 102.50 1.90549 -347.50 27.50 107.50 1.79157 -347.50 27.50 112.50 1.3193 -347.50 27.50 117.50 0.755123 -347.50 27.50 122.50 0.335643 -347.50 27.50 127.50 0.119208 -347.50 27.50 132.50 0.0375602 -347.50 27.50 137.50 0.0124127 -347.50 27.50 142.50 0.0111999 -347.50 27.50 147.50 0.0230623 -347.50 27.50 152.50 0.0500053 -347.50 27.50 157.50 0.130854 -347.50 27.50 162.50 0.282701 -347.50 27.50 167.50 0.526842 -347.50 27.50 172.50 0.846133 -347.50 27.50 177.50 1.13434 -347.50 27.50 182.50 1.46987 -347.50 27.50 187.50 1.73302 -347.50 27.50 192.50 1.90549 -347.50 27.50 197.50 1.79157 -347.50 27.50 202.50 1.3193 -347.50 27.50 207.50 0.755123 -347.50 27.50 212.50 0.335643 -347.50 27.50 217.50 0.119208 -347.50 27.50 222.50 0.0375603 -347.50 27.50 227.50 0.0124127 -347.50 27.50 232.50 0.0111999 -347.50 27.50 237.50 0.0230623 -347.50 27.50 242.50 0.0500055 -347.50 27.50 247.50 0.130854 -347.50 27.50 252.50 0.282701 -347.50 27.50 257.50 0.526843 -347.50 27.50 262.50 0.846134 -347.50 27.50 267.50 1.13434 -347.50 27.50 272.50 1.46987 -347.50 27.50 277.50 1.73302 -347.50 27.50 282.50 1.90549 -347.50 27.50 287.50 1.79157 -347.50 27.50 292.50 1.3193 -347.50 27.50 297.50 0.755124 -347.50 27.50 302.50 0.335643 -347.50 27.50 307.50 0.119208 -347.50 27.50 312.50 0.0375603 -347.50 27.50 317.50 0.0124127 -347.50 27.50 322.50 0.0111999 -347.50 27.50 327.50 0.0230623 -347.50 27.50 332.50 0.0500053 -347.50 27.50 337.50 0.130854 -347.50 27.50 342.50 0.2827 -347.50 27.50 347.50 0.526841 -347.50 27.50 352.50 0.846133 -347.50 27.50 357.50 1.13434 -347.50 32.50 2.50 1.91896 -347.50 32.50 7.50 2.07289 -347.50 32.50 12.50 2.12271 -347.50 32.50 17.50 1.86571 -347.50 32.50 22.50 1.21541 -347.50 32.50 27.50 0.604964 -347.50 32.50 32.50 0.251832 -347.50 32.50 37.50 0.0852508 -347.50 32.50 42.50 0.0280961 -347.50 32.50 47.50 0.010606 -347.50 32.50 52.50 0.00605909 -347.50 32.50 57.50 0.0169593 -347.50 32.50 62.50 0.0660116 -347.50 32.50 67.50 0.185491 -347.50 32.50 72.50 0.47031 -347.50 32.50 77.50 0.84225 -347.50 32.50 82.50 1.34077 -347.50 32.50 87.50 1.67282 -347.50 32.50 92.50 1.91896 -347.50 32.50 97.50 2.07289 -347.50 32.50 102.50 2.12271 -347.50 32.50 107.50 1.86571 -347.50 32.50 112.50 1.21541 -347.50 32.50 117.50 0.604964 -347.50 32.50 122.50 0.251832 -347.50 32.50 127.50 0.0852507 -347.50 32.50 132.50 0.0280961 -347.50 32.50 137.50 0.010606 -347.50 32.50 142.50 0.00605908 -347.50 32.50 147.50 0.0169593 -347.50 32.50 152.50 0.0660115 -347.50 32.50 157.50 0.185491 -347.50 32.50 162.50 0.47031 -347.50 32.50 167.50 0.842249 -347.50 32.50 172.50 1.34077 -347.50 32.50 177.50 1.67282 -347.50 32.50 182.50 1.91896 -347.50 32.50 187.50 2.07289 -347.50 32.50 192.50 2.12271 -347.50 32.50 197.50 1.86571 -347.50 32.50 202.50 1.21541 -347.50 32.50 207.50 0.604964 -347.50 32.50 212.50 0.251832 -347.50 32.50 217.50 0.0852508 -347.50 32.50 222.50 0.0280961 -347.50 32.50 227.50 0.010606 -347.50 32.50 232.50 0.0060591 -347.50 32.50 237.50 0.0169594 -347.50 32.50 242.50 0.0660117 -347.50 32.50 247.50 0.185491 -347.50 32.50 252.50 0.47031 -347.50 32.50 257.50 0.842251 -347.50 32.50 262.50 1.34077 -347.50 32.50 267.50 1.67282 -347.50 32.50 272.50 1.91896 -347.50 32.50 277.50 2.07289 -347.50 32.50 282.50 2.12271 -347.50 32.50 287.50 1.86571 -347.50 32.50 292.50 1.21541 -347.50 32.50 297.50 0.604965 -347.50 32.50 302.50 0.251832 -347.50 32.50 307.50 0.0852509 -347.50 32.50 312.50 0.0280962 -347.50 32.50 317.50 0.010606 -347.50 32.50 322.50 0.00605909 -347.50 32.50 327.50 0.0169593 -347.50 32.50 332.50 0.0660114 -347.50 32.50 337.50 0.185491 -347.50 32.50 342.50 0.470309 -347.50 32.50 347.50 0.842249 -347.50 32.50 352.50 1.34077 -347.50 32.50 357.50 1.67282 -347.50 37.50 2.50 2.48319 -347.50 37.50 7.50 2.43565 -347.50 37.50 12.50 2.31353 -347.50 37.50 17.50 1.86234 -347.50 37.50 22.50 1.1385 -347.50 37.50 27.50 0.522556 -347.50 37.50 32.50 0.188416 -347.50 37.50 37.50 0.0607415 -347.50 37.50 42.50 0.0208956 -347.50 37.50 47.50 0.0102016 -347.50 37.50 52.50 0.0127237 -347.50 37.50 57.50 0.0366549 -347.50 37.50 62.50 0.132328 -347.50 37.50 67.50 0.372317 -347.50 37.50 72.50 0.819891 -347.50 37.50 77.50 1.46004 -347.50 37.50 82.50 2.08206 -347.50 37.50 87.50 2.43862 -347.50 37.50 92.50 2.48319 -347.50 37.50 97.50 2.43565 -347.50 37.50 102.50 2.31353 -347.50 37.50 107.50 1.86234 -347.50 37.50 112.50 1.1385 -347.50 37.50 117.50 0.522555 -347.50 37.50 122.50 0.188415 -347.50 37.50 127.50 0.0607415 -347.50 37.50 132.50 0.0208956 -347.50 37.50 137.50 0.0102016 -347.50 37.50 142.50 0.0127237 -347.50 37.50 147.50 0.0366549 -347.50 37.50 152.50 0.132328 -347.50 37.50 157.50 0.372316 -347.50 37.50 162.50 0.819891 -347.50 37.50 167.50 1.46004 -347.50 37.50 172.50 2.08206 -347.50 37.50 177.50 2.43862 -347.50 37.50 182.50 2.48318 -347.50 37.50 187.50 2.43565 -347.50 37.50 192.50 2.31353 -347.50 37.50 197.50 1.86234 -347.50 37.50 202.50 1.1385 -347.50 37.50 207.50 0.522556 -347.50 37.50 212.50 0.188416 -347.50 37.50 217.50 0.0607416 -347.50 37.50 222.50 0.0208956 -347.50 37.50 227.50 0.0102016 -347.50 37.50 232.50 0.0127237 -347.50 37.50 237.50 0.036655 -347.50 37.50 242.50 0.132328 -347.50 37.50 247.50 0.372317 -347.50 37.50 252.50 0.819892 -347.50 37.50 257.50 1.46004 -347.50 37.50 262.50 2.08206 -347.50 37.50 267.50 2.43862 -347.50 37.50 272.50 2.48319 -347.50 37.50 277.50 2.43565 -347.50 37.50 282.50 2.31353 -347.50 37.50 287.50 1.86234 -347.50 37.50 292.50 1.1385 -347.50 37.50 297.50 0.522556 -347.50 37.50 302.50 0.188416 -347.50 37.50 307.50 0.0607417 -347.50 37.50 312.50 0.0208956 -347.50 37.50 317.50 0.0102016 -347.50 37.50 322.50 0.0127237 -347.50 37.50 327.50 0.0366548 -347.50 37.50 332.50 0.132328 -347.50 37.50 337.50 0.372316 -347.50 37.50 342.50 0.819891 -347.50 37.50 347.50 1.46004 -347.50 37.50 352.50 2.08206 -347.50 37.50 357.50 2.43862 -347.50 42.50 2.50 3.07558 -347.50 42.50 7.50 2.71443 -347.50 42.50 12.50 2.33768 -347.50 42.50 17.50 1.75871 -347.50 42.50 22.50 1.02812 -347.50 42.50 27.50 0.458403 -347.50 42.50 32.50 0.159378 -347.50 42.50 37.50 0.052853 -347.50 42.50 42.50 0.0187251 -347.50 42.50 47.50 0.0129026 -347.50 42.50 52.50 0.0346214 -347.50 42.50 57.50 0.0941096 -347.50 42.50 62.50 0.281645 -347.50 42.50 67.50 0.734424 -347.50 42.50 72.50 1.44951 -347.50 42.50 77.50 2.30179 -347.50 42.50 82.50 3.00582 -347.50 42.50 87.50 3.28461 -347.50 42.50 92.50 3.07558 -347.50 42.50 97.50 2.71443 -347.50 42.50 102.50 2.33768 -347.50 42.50 107.50 1.75871 -347.50 42.50 112.50 1.02812 -347.50 42.50 117.50 0.458403 -347.50 42.50 122.50 0.159378 -347.50 42.50 127.50 0.052853 -347.50 42.50 132.50 0.0187251 -347.50 42.50 137.50 0.0129025 -347.50 42.50 142.50 0.0346214 -347.50 42.50 147.50 0.0941096 -347.50 42.50 152.50 0.281644 -347.50 42.50 157.50 0.734424 -347.50 42.50 162.50 1.44951 -347.50 42.50 167.50 2.30179 -347.50 42.50 172.50 3.00582 -347.50 42.50 177.50 3.28462 -347.50 42.50 182.50 3.07558 -347.50 42.50 187.50 2.71443 -347.50 42.50 192.50 2.33768 -347.50 42.50 197.50 1.75871 -347.50 42.50 202.50 1.02812 -347.50 42.50 207.50 0.458404 -347.50 42.50 212.50 0.159378 -347.50 42.50 217.50 0.0528531 -347.50 42.50 222.50 0.0187251 -347.50 42.50 227.50 0.0129025 -347.50 42.50 232.50 0.0346215 -347.50 42.50 237.50 0.0941098 -347.50 42.50 242.50 0.281645 -347.50 42.50 247.50 0.734425 -347.50 42.50 252.50 1.44951 -347.50 42.50 257.50 2.3018 -347.50 42.50 262.50 3.00582 -347.50 42.50 267.50 3.28462 -347.50 42.50 272.50 3.07558 -347.50 42.50 277.50 2.71443 -347.50 42.50 282.50 2.33768 -347.50 42.50 287.50 1.75871 -347.50 42.50 292.50 1.02812 -347.50 42.50 297.50 0.458404 -347.50 42.50 302.50 0.159378 -347.50 42.50 307.50 0.0528531 -347.50 42.50 312.50 0.0187251 -347.50 42.50 317.50 0.0129026 -347.50 42.50 322.50 0.0346213 -347.50 42.50 327.50 0.0941095 -347.50 42.50 332.50 0.281644 -347.50 42.50 337.50 0.734423 -347.50 42.50 342.50 1.44951 -347.50 42.50 347.50 2.30179 -347.50 42.50 352.50 3.00582 -347.50 42.50 357.50 3.28462 -347.50 47.50 2.50 3.3443 -347.50 47.50 7.50 2.66415 -347.50 47.50 12.50 2.09946 -347.50 47.50 17.50 1.4814 -347.50 47.50 22.50 0.83235 -347.50 47.50 27.50 0.359979 -347.50 47.50 32.50 0.149389 -347.50 47.50 37.50 0.0535263 -347.50 47.50 42.50 0.0197802 -347.50 47.50 47.50 0.0259854 -347.50 47.50 52.50 0.0674383 -347.50 47.50 57.50 0.213094 -347.50 47.50 62.50 0.535989 -347.50 47.50 67.50 1.22004 -347.50 47.50 72.50 2.1993 -347.50 47.50 77.50 3.14533 -347.50 47.50 82.50 3.76021 -347.50 47.50 87.50 3.8114 -347.50 47.50 92.50 3.3443 -347.50 47.50 97.50 2.66415 -347.50 47.50 102.50 2.09946 -347.50 47.50 107.50 1.48139 -347.50 47.50 112.50 0.83235 -347.50 47.50 117.50 0.359978 -347.50 47.50 122.50 0.149389 -347.50 47.50 127.50 0.0535263 -347.50 47.50 132.50 0.0197802 -347.50 47.50 137.50 0.0259854 -347.50 47.50 142.50 0.0674383 -347.50 47.50 147.50 0.213094 -347.50 47.50 152.50 0.535988 -347.50 47.50 157.50 1.22003 -347.50 47.50 162.50 2.1993 -347.50 47.50 167.50 3.14533 -347.50 47.50 172.50 3.76021 -347.50 47.50 177.50 3.8114 -347.50 47.50 182.50 3.34429 -347.50 47.50 187.50 2.66415 -347.50 47.50 192.50 2.09946 -347.50 47.50 197.50 1.48139 -347.50 47.50 202.50 0.83235 -347.50 47.50 207.50 0.359979 -347.50 47.50 212.50 0.149389 -347.50 47.50 217.50 0.0535263 -347.50 47.50 222.50 0.0197802 -347.50 47.50 227.50 0.0259854 -347.50 47.50 232.50 0.0674386 -347.50 47.50 237.50 0.213095 -347.50 47.50 242.50 0.535989 -347.50 47.50 247.50 1.22004 -347.50 47.50 252.50 2.1993 -347.50 47.50 257.50 3.14533 -347.50 47.50 262.50 3.76022 -347.50 47.50 267.50 3.8114 -347.50 47.50 272.50 3.3443 -347.50 47.50 277.50 2.66415 -347.50 47.50 282.50 2.09946 -347.50 47.50 287.50 1.4814 -347.50 47.50 292.50 0.83235 -347.50 47.50 297.50 0.359979 -347.50 47.50 302.50 0.149389 -347.50 47.50 307.50 0.0535264 -347.50 47.50 312.50 0.0197802 -347.50 47.50 317.50 0.0259854 -347.50 47.50 322.50 0.0674382 -347.50 47.50 327.50 0.213094 -347.50 47.50 332.50 0.535988 -347.50 47.50 337.50 1.22003 -347.50 47.50 342.50 2.1993 -347.50 47.50 347.50 3.14533 -347.50 47.50 352.50 3.76022 -347.50 47.50 357.50 3.8114 -347.50 52.50 2.50 3.07558 -347.50 52.50 7.50 2.27987 -347.50 52.50 12.50 1.70748 -347.50 52.50 17.50 1.13723 -347.50 52.50 22.50 0.620533 -347.50 52.50 27.50 0.295442 -347.50 52.50 32.50 0.111763 -347.50 52.50 37.50 0.0480406 -347.50 52.50 42.50 0.0245617 -347.50 52.50 47.50 0.0300594 -347.50 52.50 52.50 0.110701 -347.50 52.50 57.50 0.379218 -347.50 52.50 62.50 0.887787 -347.50 52.50 67.50 1.81342 -347.50 52.50 72.50 2.82692 -347.50 52.50 77.50 3.70354 -347.50 52.50 82.50 4.13483 -347.50 52.50 87.50 3.78144 -347.50 52.50 92.50 3.07558 -347.50 52.50 97.50 2.27987 -347.50 52.50 102.50 1.70748 -347.50 52.50 107.50 1.13723 -347.50 52.50 112.50 0.620533 -347.50 52.50 117.50 0.295442 -347.50 52.50 122.50 0.111763 -347.50 52.50 127.50 0.0480406 -347.50 52.50 132.50 0.0245617 -347.50 52.50 137.50 0.0300594 -347.50 52.50 142.50 0.110701 -347.50 52.50 147.50 0.379218 -347.50 52.50 152.50 0.887786 -347.50 52.50 157.50 1.81342 -347.50 52.50 162.50 2.82692 -347.50 52.50 167.50 3.70354 -347.50 52.50 172.50 4.13483 -347.50 52.50 177.50 3.78144 -347.50 52.50 182.50 3.07557 -347.50 52.50 187.50 2.27987 -347.50 52.50 192.50 1.70748 -347.50 52.50 197.50 1.13723 -347.50 52.50 202.50 0.620533 -347.50 52.50 207.50 0.295442 -347.50 52.50 212.50 0.111763 -347.50 52.50 217.50 0.0480407 -347.50 52.50 222.50 0.0245617 -347.50 52.50 227.50 0.0300594 -347.50 52.50 232.50 0.110702 -347.50 52.50 237.50 0.379219 -347.50 52.50 242.50 0.887787 -347.50 52.50 247.50 1.81342 -347.50 52.50 252.50 2.82692 -347.50 52.50 257.50 3.70354 -347.50 52.50 262.50 4.13484 -347.50 52.50 267.50 3.78144 -347.50 52.50 272.50 3.07558 -347.50 52.50 277.50 2.27987 -347.50 52.50 282.50 1.70748 -347.50 52.50 287.50 1.13723 -347.50 52.50 292.50 0.620533 -347.50 52.50 297.50 0.295442 -347.50 52.50 302.50 0.111763 -347.50 52.50 307.50 0.0480407 -347.50 52.50 312.50 0.0245616 -347.50 52.50 317.50 0.0300594 -347.50 52.50 322.50 0.110701 -347.50 52.50 327.50 0.379217 -347.50 52.50 332.50 0.887785 -347.50 52.50 337.50 1.81342 -347.50 52.50 342.50 2.82691 -347.50 52.50 347.50 3.70354 -347.50 52.50 352.50 4.13484 -347.50 52.50 357.50 3.78144 -347.50 57.50 2.50 2.48318 -347.50 57.50 7.50 1.78362 -347.50 57.50 12.50 1.28426 -347.50 57.50 17.50 0.809532 -347.50 57.50 22.50 0.433036 -347.50 57.50 27.50 0.220748 -347.50 57.50 32.50 0.0885526 -347.50 57.50 37.50 0.0338977 -347.50 57.50 42.50 0.0169254 -347.50 57.50 47.50 0.041197 -347.50 57.50 52.50 0.156568 -347.50 57.50 57.50 0.527503 -347.50 57.50 62.50 1.33187 -347.50 57.50 67.50 2.38045 -347.50 57.50 72.50 3.3656 -347.50 57.50 77.50 3.88467 -347.50 57.50 82.50 4.04576 -347.50 57.50 87.50 3.38839 -347.50 57.50 92.50 2.48318 -347.50 57.50 97.50 1.78362 -347.50 57.50 102.50 1.28426 -347.50 57.50 107.50 0.809532 -347.50 57.50 112.50 0.433036 -347.50 57.50 117.50 0.220748 -347.50 57.50 122.50 0.0885525 -347.50 57.50 127.50 0.0338976 -347.50 57.50 132.50 0.0169254 -347.50 57.50 137.50 0.041197 -347.50 57.50 142.50 0.156568 -347.50 57.50 147.50 0.527503 -347.50 57.50 152.50 1.33187 -347.50 57.50 157.50 2.38044 -347.50 57.50 162.50 3.3656 -347.50 57.50 167.50 3.88467 -347.50 57.50 172.50 4.04576 -347.50 57.50 177.50 3.38839 -347.50 57.50 182.50 2.48319 -347.50 57.50 187.50 1.78362 -347.50 57.50 192.50 1.28426 -347.50 57.50 197.50 0.809532 -347.50 57.50 202.50 0.433036 -347.50 57.50 207.50 0.220748 -347.50 57.50 212.50 0.0885526 -347.50 57.50 217.50 0.0338977 -347.50 57.50 222.50 0.0169254 -347.50 57.50 227.50 0.041197 -347.50 57.50 232.50 0.156569 -347.50 57.50 237.50 0.527504 -347.50 57.50 242.50 1.33187 -347.50 57.50 247.50 2.38045 -347.50 57.50 252.50 3.3656 -347.50 57.50 257.50 3.88467 -347.50 57.50 262.50 4.04576 -347.50 57.50 267.50 3.38839 -347.50 57.50 272.50 2.48319 -347.50 57.50 277.50 1.78362 -347.50 57.50 282.50 1.28426 -347.50 57.50 287.50 0.809532 -347.50 57.50 292.50 0.433036 -347.50 57.50 297.50 0.220749 -347.50 57.50 302.50 0.0885526 -347.50 57.50 307.50 0.0338977 -347.50 57.50 312.50 0.0169254 -347.50 57.50 317.50 0.041197 -347.50 57.50 322.50 0.156568 -347.50 57.50 327.50 0.527502 -347.50 57.50 332.50 1.33187 -347.50 57.50 337.50 2.38044 -347.50 57.50 342.50 3.3656 -347.50 57.50 347.50 3.88467 -347.50 57.50 352.50 4.04576 -347.50 57.50 357.50 3.38839 -347.50 62.50 2.50 1.91896 -347.50 62.50 7.50 1.34853 -347.50 62.50 12.50 0.940372 -347.50 62.50 17.50 0.544236 -347.50 62.50 22.50 0.291626 -347.50 62.50 27.50 0.144009 -347.50 62.50 32.50 0.0597001 -347.50 62.50 37.50 0.02375 -347.50 62.50 42.50 0.0137646 -347.50 62.50 47.50 0.0430295 -347.50 62.50 52.50 0.216973 -347.50 62.50 57.50 0.695813 -347.50 62.50 62.50 1.58342 -347.50 62.50 67.50 2.72954 -347.50 62.50 72.50 3.52931 -347.50 62.50 77.50 3.7508 -347.50 62.50 82.50 3.61387 -347.50 62.50 87.50 2.88023 -347.50 62.50 92.50 1.91896 -347.50 62.50 97.50 1.34853 -347.50 62.50 102.50 0.940372 -347.50 62.50 107.50 0.544237 -347.50 62.50 112.50 0.291626 -347.50 62.50 117.50 0.144009 -347.50 62.50 122.50 0.0597001 -347.50 62.50 127.50 0.02375 -347.50 62.50 132.50 0.0137646 -347.50 62.50 137.50 0.0430295 -347.50 62.50 142.50 0.216973 -347.50 62.50 147.50 0.695812 -347.50 62.50 152.50 1.58341 -347.50 62.50 157.50 2.72954 -347.50 62.50 162.50 3.52931 -347.50 62.50 167.50 3.7508 -347.50 62.50 172.50 3.61387 -347.50 62.50 177.50 2.88023 -347.50 62.50 182.50 1.91896 -347.50 62.50 187.50 1.34853 -347.50 62.50 192.50 0.940371 -347.50 62.50 197.50 0.544236 -347.50 62.50 202.50 0.291626 -347.50 62.50 207.50 0.144009 -347.50 62.50 212.50 0.0597002 -347.50 62.50 217.50 0.02375 -347.50 62.50 222.50 0.0137646 -347.50 62.50 227.50 0.0430295 -347.50 62.50 232.50 0.216973 -347.50 62.50 237.50 0.695813 -347.50 62.50 242.50 1.58342 -347.50 62.50 247.50 2.72954 -347.50 62.50 252.50 3.52931 -347.50 62.50 257.50 3.7508 -347.50 62.50 262.50 3.61387 -347.50 62.50 267.50 2.88023 -347.50 62.50 272.50 1.91896 -347.50 62.50 277.50 1.34853 -347.50 62.50 282.50 0.940371 -347.50 62.50 287.50 0.544236 -347.50 62.50 292.50 0.291626 -347.50 62.50 297.50 0.144009 -347.50 62.50 302.50 0.0597003 -347.50 62.50 307.50 0.02375 -347.50 62.50 312.50 0.0137646 -347.50 62.50 317.50 0.0430294 -347.50 62.50 322.50 0.216973 -347.50 62.50 327.50 0.695811 -347.50 62.50 332.50 1.58341 -347.50 62.50 337.50 2.72954 -347.50 62.50 342.50 3.52931 -347.50 62.50 347.50 3.7508 -347.50 62.50 352.50 3.61387 -347.50 62.50 357.50 2.88023 -347.50 67.50 2.50 1.46987 -347.50 67.50 7.50 1.02875 -347.50 67.50 12.50 0.7169 -347.50 67.50 17.50 0.423829 -347.50 67.50 22.50 0.240279 -347.50 67.50 27.50 0.0988992 -347.50 67.50 32.50 0.0433061 -347.50 67.50 37.50 0.0210163 -347.50 67.50 42.50 0.0169017 -347.50 67.50 47.50 0.0679238 -347.50 67.50 52.50 0.264226 -347.50 67.50 57.50 0.72531 -347.50 67.50 62.50 1.51121 -347.50 67.50 67.50 2.54594 -347.50 67.50 72.50 3.25018 -347.50 67.50 77.50 3.35199 -347.50 67.50 82.50 3.03827 -347.50 67.50 87.50 2.3144 -347.50 67.50 92.50 1.46987 -347.50 67.50 97.50 1.02875 -347.50 67.50 102.50 0.7169 -347.50 67.50 107.50 0.423829 -347.50 67.50 112.50 0.240279 -347.50 67.50 117.50 0.0988992 -347.50 67.50 122.50 0.043306 -347.50 67.50 127.50 0.0210162 -347.50 67.50 132.50 0.0169017 -347.50 67.50 137.50 0.0679238 -347.50 67.50 142.50 0.264226 -347.50 67.50 147.50 0.72531 -347.50 67.50 152.50 1.51121 -347.50 67.50 157.50 2.54594 -347.50 67.50 162.50 3.25018 -347.50 67.50 167.50 3.35199 -347.50 67.50 172.50 3.03827 -347.50 67.50 177.50 2.3144 -347.50 67.50 182.50 1.46987 -347.50 67.50 187.50 1.02875 -347.50 67.50 192.50 0.7169 -347.50 67.50 197.50 0.423829 -347.50 67.50 202.50 0.240279 -347.50 67.50 207.50 0.0988992 -347.50 67.50 212.50 0.0433061 -347.50 67.50 217.50 0.0210163 -347.50 67.50 222.50 0.0169017 -347.50 67.50 227.50 0.0679237 -347.50 67.50 232.50 0.264227 -347.50 67.50 237.50 0.725312 -347.50 67.50 242.50 1.51121 -347.50 67.50 247.50 2.54595 -347.50 67.50 252.50 3.25018 -347.50 67.50 257.50 3.35199 -347.50 67.50 262.50 3.03827 -347.50 67.50 267.50 2.3144 -347.50 67.50 272.50 1.46987 -347.50 67.50 277.50 1.02875 -347.50 67.50 282.50 0.7169 -347.50 67.50 287.50 0.423829 -347.50 67.50 292.50 0.240279 -347.50 67.50 297.50 0.0988993 -347.50 67.50 302.50 0.0433062 -347.50 67.50 307.50 0.0210163 -347.50 67.50 312.50 0.0169017 -347.50 67.50 317.50 0.0679237 -347.50 67.50 322.50 0.264226 -347.50 67.50 327.50 0.725309 -347.50 67.50 332.50 1.51121 -347.50 67.50 337.50 2.54594 -347.50 67.50 342.50 3.25018 -347.50 67.50 347.50 3.35199 -347.50 67.50 352.50 3.03827 -347.50 67.50 357.50 2.3144 -347.50 72.50 2.50 1.04451 -347.50 72.50 7.50 0.759541 -347.50 72.50 12.50 0.570905 -347.50 72.50 17.50 0.406102 -347.50 72.50 22.50 0.22959 -347.50 72.50 27.50 0.107707 -347.50 72.50 32.50 0.0527092 -347.50 72.50 37.50 0.0195902 -347.50 72.50 42.50 0.0191545 -347.50 72.50 47.50 0.0689171 -347.50 72.50 52.50 0.238279 -347.50 72.50 57.50 0.617899 -347.50 72.50 62.50 1.24363 -347.50 72.50 67.50 1.94417 -347.50 72.50 72.50 2.58172 -347.50 72.50 77.50 2.71155 -347.50 72.50 82.50 2.36621 -347.50 72.50 87.50 1.66728 -347.50 72.50 92.50 1.04451 -347.50 72.50 97.50 0.759541 -347.50 72.50 102.50 0.570905 -347.50 72.50 107.50 0.406102 -347.50 72.50 112.50 0.229589 -347.50 72.50 117.50 0.107707 -347.50 72.50 122.50 0.0527092 -347.50 72.50 127.50 0.0195902 -347.50 72.50 132.50 0.0191545 -347.50 72.50 137.50 0.0689171 -347.50 72.50 142.50 0.238278 -347.50 72.50 147.50 0.617899 -347.50 72.50 152.50 1.24363 -347.50 72.50 157.50 1.94417 -347.50 72.50 162.50 2.58172 -347.50 72.50 167.50 2.71155 -347.50 72.50 172.50 2.36621 -347.50 72.50 177.50 1.66728 -347.50 72.50 182.50 1.04451 -347.50 72.50 187.50 0.759541 -347.50 72.50 192.50 0.570905 -347.50 72.50 197.50 0.406102 -347.50 72.50 202.50 0.229589 -347.50 72.50 207.50 0.107707 -347.50 72.50 212.50 0.0527092 -347.50 72.50 217.50 0.0195902 -347.50 72.50 222.50 0.0191545 -347.50 72.50 227.50 0.068917 -347.50 72.50 232.50 0.238279 -347.50 72.50 237.50 0.6179 -347.50 72.50 242.50 1.24363 -347.50 72.50 247.50 1.94417 -347.50 72.50 252.50 2.58172 -347.50 72.50 257.50 2.71154 -347.50 72.50 262.50 2.3662 -347.50 72.50 267.50 1.66728 -347.50 72.50 272.50 1.04451 -347.50 72.50 277.50 0.759541 -347.50 72.50 282.50 0.570905 -347.50 72.50 287.50 0.406102 -347.50 72.50 292.50 0.229589 -347.50 72.50 297.50 0.107708 -347.50 72.50 302.50 0.0527092 -347.50 72.50 307.50 0.0195902 -347.50 72.50 312.50 0.0191545 -347.50 72.50 317.50 0.068917 -347.50 72.50 322.50 0.238278 -347.50 72.50 327.50 0.617899 -347.50 72.50 332.50 1.24363 -347.50 72.50 337.50 1.94417 -347.50 72.50 342.50 2.58171 -347.50 72.50 347.50 2.71155 -347.50 72.50 352.50 2.36621 -347.50 72.50 357.50 1.66728 -347.50 77.50 2.50 0.6554 -347.50 77.50 7.50 0.515123 -347.50 77.50 12.50 0.446927 -347.50 77.50 17.50 0.363063 -347.50 77.50 22.50 0.213 -347.50 77.50 27.50 0.115984 -347.50 77.50 32.50 0.0495342 -347.50 77.50 37.50 0.0230553 -347.50 77.50 42.50 0.0243951 -347.50 77.50 47.50 0.0705298 -347.50 77.50 52.50 0.189234 -347.50 77.50 57.50 0.456397 -347.50 77.50 62.50 0.844982 -347.50 77.50 67.50 1.26047 -347.50 77.50 72.50 1.669 -347.50 77.50 77.50 1.8355 -347.50 77.50 82.50 1.54179 -347.50 77.50 87.50 1.09968 -347.50 77.50 92.50 0.6554 -347.50 77.50 97.50 0.515123 -347.50 77.50 102.50 0.446927 -347.50 77.50 107.50 0.363063 -347.50 77.50 112.50 0.213 -347.50 77.50 117.50 0.115984 -347.50 77.50 122.50 0.0495342 -347.50 77.50 127.50 0.0230553 -347.50 77.50 132.50 0.0243952 -347.50 77.50 137.50 0.0705298 -347.50 77.50 142.50 0.189234 -347.50 77.50 147.50 0.456397 -347.50 77.50 152.50 0.844981 -347.50 77.50 157.50 1.26046 -347.50 77.50 162.50 1.669 -347.50 77.50 167.50 1.83551 -347.50 77.50 172.50 1.54179 -347.50 77.50 177.50 1.09968 -347.50 77.50 182.50 0.6554 -347.50 77.50 187.50 0.515123 -347.50 77.50 192.50 0.446928 -347.50 77.50 197.50 0.363063 -347.50 77.50 202.50 0.213 -347.50 77.50 207.50 0.115984 -347.50 77.50 212.50 0.0495342 -347.50 77.50 217.50 0.0230553 -347.50 77.50 222.50 0.0243952 -347.50 77.50 227.50 0.0705298 -347.50 77.50 232.50 0.189234 -347.50 77.50 237.50 0.456398 -347.50 77.50 242.50 0.844982 -347.50 77.50 247.50 1.26047 -347.50 77.50 252.50 1.669 -347.50 77.50 257.50 1.8355 -347.50 77.50 262.50 1.54179 -347.50 77.50 267.50 1.09968 -347.50 77.50 272.50 0.6554 -347.50 77.50 277.50 0.515123 -347.50 77.50 282.50 0.446928 -347.50 77.50 287.50 0.363063 -347.50 77.50 292.50 0.213 -347.50 77.50 297.50 0.115984 -347.50 77.50 302.50 0.0495343 -347.50 77.50 307.50 0.0230553 -347.50 77.50 312.50 0.0243952 -347.50 77.50 317.50 0.0705298 -347.50 77.50 322.50 0.189234 -347.50 77.50 327.50 0.456397 -347.50 77.50 332.50 0.844981 -347.50 77.50 337.50 1.26046 -347.50 77.50 342.50 1.66899 -347.50 77.50 347.50 1.8355 -347.50 77.50 352.50 1.54179 -347.50 77.50 357.50 1.09969 -347.50 82.50 2.50 0.376554 -347.50 82.50 7.50 0.348027 -347.50 82.50 12.50 0.333227 -347.50 82.50 17.50 0.28198 -347.50 82.50 22.50 0.220471 -347.50 82.50 27.50 0.128137 -347.50 82.50 32.50 0.0616446 -347.50 82.50 37.50 0.0258749 -347.50 82.50 42.50 0.0220598 -347.50 82.50 47.50 0.0546286 -347.50 82.50 52.50 0.134074 -347.50 82.50 57.50 0.264102 -347.50 82.50 62.50 0.45187 -347.50 82.50 67.50 0.660443 -347.50 82.50 72.50 0.834678 -347.50 82.50 77.50 0.952143 -347.50 82.50 82.50 0.843313 -347.50 82.50 87.50 0.612694 -347.50 82.50 92.50 0.376554 -347.50 82.50 97.50 0.348027 -347.50 82.50 102.50 0.333227 -347.50 82.50 107.50 0.28198 -347.50 82.50 112.50 0.220471 -347.50 82.50 117.50 0.128137 -347.50 82.50 122.50 0.0616446 -347.50 82.50 127.50 0.0258749 -347.50 82.50 132.50 0.0220598 -347.50 82.50 137.50 0.0546286 -347.50 82.50 142.50 0.134074 -347.50 82.50 147.50 0.264102 -347.50 82.50 152.50 0.45187 -347.50 82.50 157.50 0.660442 -347.50 82.50 162.50 0.834678 -347.50 82.50 167.50 0.952143 -347.50 82.50 172.50 0.843313 -347.50 82.50 177.50 0.612695 -347.50 82.50 182.50 0.376554 -347.50 82.50 187.50 0.348027 -347.50 82.50 192.50 0.333227 -347.50 82.50 197.50 0.28198 -347.50 82.50 202.50 0.220471 -347.50 82.50 207.50 0.128137 -347.50 82.50 212.50 0.0616446 -347.50 82.50 217.50 0.025875 -347.50 82.50 222.50 0.0220598 -347.50 82.50 227.50 0.0546286 -347.50 82.50 232.50 0.134074 -347.50 82.50 237.50 0.264103 -347.50 82.50 242.50 0.451871 -347.50 82.50 247.50 0.660443 -347.50 82.50 252.50 0.834679 -347.50 82.50 257.50 0.952143 -347.50 82.50 262.50 0.843312 -347.50 82.50 267.50 0.612694 -347.50 82.50 272.50 0.376554 -347.50 82.50 277.50 0.348027 -347.50 82.50 282.50 0.333227 -347.50 82.50 287.50 0.28198 -347.50 82.50 292.50 0.220471 -347.50 82.50 297.50 0.128137 -347.50 82.50 302.50 0.0616446 -347.50 82.50 307.50 0.025875 -347.50 82.50 312.50 0.0220598 -347.50 82.50 317.50 0.0546285 -347.50 82.50 322.50 0.134073 -347.50 82.50 327.50 0.264102 -347.50 82.50 332.50 0.45187 -347.50 82.50 337.50 0.660442 -347.50 82.50 342.50 0.834678 -347.50 82.50 347.50 0.952143 -347.50 82.50 352.50 0.843313 -347.50 82.50 357.50 0.612695 -347.50 87.50 2.50 0.210388 -347.50 87.50 7.50 0.21655 -347.50 87.50 12.50 0.290578 -347.50 87.50 17.50 0.330838 -347.50 87.50 22.50 0.222079 -347.50 87.50 27.50 0.116772 -347.50 87.50 32.50 0.0686409 -347.50 87.50 37.50 0.0401865 -347.50 87.50 42.50 0.0220957 -347.50 87.50 47.50 0.0282048 -347.50 87.50 52.50 0.0713345 -347.50 87.50 57.50 0.14345 -347.50 87.50 62.50 0.212862 -347.50 87.50 67.50 0.277652 -347.50 87.50 72.50 0.364918 -347.50 87.50 77.50 0.42735 -347.50 87.50 82.50 0.377081 -347.50 87.50 87.50 0.284063 -347.50 87.50 92.50 0.210388 -347.50 87.50 97.50 0.216551 -347.50 87.50 102.50 0.290578 -347.50 87.50 107.50 0.330838 -347.50 87.50 112.50 0.222079 -347.50 87.50 117.50 0.116772 -347.50 87.50 122.50 0.0686408 -347.50 87.50 127.50 0.0401865 -347.50 87.50 132.50 0.0220956 -347.50 87.50 137.50 0.0282048 -347.50 87.50 142.50 0.0713345 -347.50 87.50 147.50 0.14345 -347.50 87.50 152.50 0.212862 -347.50 87.50 157.50 0.277652 -347.50 87.50 162.50 0.364918 -347.50 87.50 167.50 0.42735 -347.50 87.50 172.50 0.377081 -347.50 87.50 177.50 0.284063 -347.50 87.50 182.50 0.210388 -347.50 87.50 187.50 0.216551 -347.50 87.50 192.50 0.290578 -347.50 87.50 197.50 0.330838 -347.50 87.50 202.50 0.222079 -347.50 87.50 207.50 0.116772 -347.50 87.50 212.50 0.0686408 -347.50 87.50 217.50 0.0401865 -347.50 87.50 222.50 0.0220957 -347.50 87.50 227.50 0.0282048 -347.50 87.50 232.50 0.0713346 -347.50 87.50 237.50 0.143451 -347.50 87.50 242.50 0.212862 -347.50 87.50 247.50 0.277652 -347.50 87.50 252.50 0.364918 -347.50 87.50 257.50 0.42735 -347.50 87.50 262.50 0.377081 -347.50 87.50 267.50 0.284062 -347.50 87.50 272.50 0.210388 -347.50 87.50 277.50 0.21655 -347.50 87.50 282.50 0.290577 -347.50 87.50 287.50 0.330838 -347.50 87.50 292.50 0.22208 -347.50 87.50 297.50 0.116772 -347.50 87.50 302.50 0.0686409 -347.50 87.50 307.50 0.0401865 -347.50 87.50 312.50 0.0220957 -347.50 87.50 317.50 0.0282047 -347.50 87.50 322.50 0.0713343 -347.50 87.50 327.50 0.14345 -347.50 87.50 332.50 0.212862 -347.50 87.50 337.50 0.277652 -347.50 87.50 342.50 0.364918 -347.50 87.50 347.50 0.42735 -347.50 87.50 352.50 0.377081 -347.50 87.50 357.50 0.284063 -347.50 92.50 2.50 0.149976 -347.50 92.50 7.50 0.172971 -347.50 92.50 12.50 0.230708 -347.50 92.50 17.50 0.244703 -347.50 92.50 22.50 0.200246 -347.50 92.50 27.50 0.151509 -347.50 92.50 32.50 0.120114 -347.50 92.50 37.50 0.0808849 -347.50 92.50 42.50 0.0382171 -347.50 92.50 47.50 0.0202141 -347.50 92.50 52.50 0.0382171 -347.50 92.50 57.50 0.0808849 -347.50 92.50 62.50 0.120114 -347.50 92.50 67.50 0.151509 -347.50 92.50 72.50 0.200246 -347.50 92.50 77.50 0.244703 -347.50 92.50 82.50 0.230708 -347.50 92.50 87.50 0.172971 -347.50 92.50 92.50 0.149976 -347.50 92.50 97.50 0.172971 -347.50 92.50 102.50 0.230709 -347.50 92.50 107.50 0.244703 -347.50 92.50 112.50 0.200246 -347.50 92.50 117.50 0.151508 -347.50 92.50 122.50 0.120114 -347.50 92.50 127.50 0.0808849 -347.50 92.50 132.50 0.0382171 -347.50 92.50 137.50 0.0202141 -347.50 92.50 142.50 0.0382171 -347.50 92.50 147.50 0.0808849 -347.50 92.50 152.50 0.120114 -347.50 92.50 157.50 0.151508 -347.50 92.50 162.50 0.200246 -347.50 92.50 167.50 0.244703 -347.50 92.50 172.50 0.230708 -347.50 92.50 177.50 0.172971 -347.50 92.50 182.50 0.149976 -347.50 92.50 187.50 0.172971 -347.50 92.50 192.50 0.230709 -347.50 92.50 197.50 0.244703 -347.50 92.50 202.50 0.200246 -347.50 92.50 207.50 0.151508 -347.50 92.50 212.50 0.120114 -347.50 92.50 217.50 0.0808849 -347.50 92.50 222.50 0.0382171 -347.50 92.50 227.50 0.0202141 -347.50 92.50 232.50 0.0382172 -347.50 92.50 237.50 0.080885 -347.50 92.50 242.50 0.120114 -347.50 92.50 247.50 0.151508 -347.50 92.50 252.50 0.200246 -347.50 92.50 257.50 0.244703 -347.50 92.50 262.50 0.230708 -347.50 92.50 267.50 0.172971 -347.50 92.50 272.50 0.149976 -347.50 92.50 277.50 0.172971 -347.50 92.50 282.50 0.230708 -347.50 92.50 287.50 0.244703 -347.50 92.50 292.50 0.200246 -347.50 92.50 297.50 0.151508 -347.50 92.50 302.50 0.120114 -347.50 92.50 307.50 0.0808849 -347.50 92.50 312.50 0.0382171 -347.50 92.50 317.50 0.0202141 -347.50 92.50 322.50 0.038217 -347.50 92.50 327.50 0.0808848 -347.50 92.50 332.50 0.120114 -347.50 92.50 337.50 0.151508 -347.50 92.50 342.50 0.200245 -347.50 92.50 347.50 0.244703 -347.50 92.50 352.50 0.230709 -347.50 92.50 357.50 0.172971 -347.50 97.50 2.50 0.210388 -347.50 97.50 7.50 0.284062 -347.50 97.50 12.50 0.377081 -347.50 97.50 17.50 0.42735 -347.50 97.50 22.50 0.364918 -347.50 97.50 27.50 0.277652 -347.50 97.50 32.50 0.212862 -347.50 97.50 37.50 0.14345 -347.50 97.50 42.50 0.0713345 -347.50 97.50 47.50 0.0282047 -347.50 97.50 52.50 0.0220956 -347.50 97.50 57.50 0.0401866 -347.50 97.50 62.50 0.0686409 -347.50 97.50 67.50 0.116772 -347.50 97.50 72.50 0.22208 -347.50 97.50 77.50 0.330838 -347.50 97.50 82.50 0.290577 -347.50 97.50 87.50 0.21655 -347.50 97.50 92.50 0.210388 -347.50 97.50 97.50 0.284062 -347.50 97.50 102.50 0.377081 -347.50 97.50 107.50 0.42735 -347.50 97.50 112.50 0.364918 -347.50 97.50 117.50 0.277652 -347.50 97.50 122.50 0.212862 -347.50 97.50 127.50 0.14345 -347.50 97.50 132.50 0.0713344 -347.50 97.50 137.50 0.0282048 -347.50 97.50 142.50 0.0220956 -347.50 97.50 147.50 0.0401866 -347.50 97.50 152.50 0.0686409 -347.50 97.50 157.50 0.116772 -347.50 97.50 162.50 0.222079 -347.50 97.50 167.50 0.330838 -347.50 97.50 172.50 0.290578 -347.50 97.50 177.50 0.21655 -347.50 97.50 182.50 0.210387 -347.50 97.50 187.50 0.284062 -347.50 97.50 192.50 0.377081 -347.50 97.50 197.50 0.42735 -347.50 97.50 202.50 0.364918 -347.50 97.50 207.50 0.277652 -347.50 97.50 212.50 0.212862 -347.50 97.50 217.50 0.14345 -347.50 97.50 222.50 0.0713345 -347.50 97.50 227.50 0.0282048 -347.50 97.50 232.50 0.0220956 -347.50 97.50 237.50 0.0401866 -347.50 97.50 242.50 0.0686409 -347.50 97.50 247.50 0.116772 -347.50 97.50 252.50 0.22208 -347.50 97.50 257.50 0.330838 -347.50 97.50 262.50 0.290577 -347.50 97.50 267.50 0.21655 -347.50 97.50 272.50 0.210388 -347.50 97.50 277.50 0.284062 -347.50 97.50 282.50 0.377081 -347.50 97.50 287.50 0.42735 -347.50 97.50 292.50 0.364918 -347.50 97.50 297.50 0.277652 -347.50 97.50 302.50 0.212862 -347.50 97.50 307.50 0.14345 -347.50 97.50 312.50 0.0713345 -347.50 97.50 317.50 0.0282048 -347.50 97.50 322.50 0.0220956 -347.50 97.50 327.50 0.0401865 -347.50 97.50 332.50 0.0686408 -347.50 97.50 337.50 0.116772 -347.50 97.50 342.50 0.222079 -347.50 97.50 347.50 0.330837 -347.50 97.50 352.50 0.290578 -347.50 97.50 357.50 0.216551 -347.50 102.50 2.50 0.376553 -347.50 102.50 7.50 0.612694 -347.50 102.50 12.50 0.843313 -347.50 102.50 17.50 0.952143 -347.50 102.50 22.50 0.834679 -347.50 102.50 27.50 0.660442 -347.50 102.50 32.50 0.45187 -347.50 102.50 37.50 0.264102 -347.50 102.50 42.50 0.134074 -347.50 102.50 47.50 0.0546286 -347.50 102.50 52.50 0.0220598 -347.50 102.50 57.50 0.025875 -347.50 102.50 62.50 0.0616448 -347.50 102.50 67.50 0.128137 -347.50 102.50 72.50 0.220471 -347.50 102.50 77.50 0.28198 -347.50 102.50 82.50 0.333227 -347.50 102.50 87.50 0.348027 -347.50 102.50 92.50 0.376554 -347.50 102.50 97.50 0.612694 -347.50 102.50 102.50 0.843313 -347.50 102.50 107.50 0.952143 -347.50 102.50 112.50 0.834678 -347.50 102.50 117.50 0.660442 -347.50 102.50 122.50 0.45187 -347.50 102.50 127.50 0.264102 -347.50 102.50 132.50 0.134074 -347.50 102.50 137.50 0.0546286 -347.50 102.50 142.50 0.0220598 -347.50 102.50 147.50 0.025875 -347.50 102.50 152.50 0.0616446 -347.50 102.50 157.50 0.128137 -347.50 102.50 162.50 0.220471 -347.50 102.50 167.50 0.28198 -347.50 102.50 172.50 0.333227 -347.50 102.50 177.50 0.348027 -347.50 102.50 182.50 0.376553 -347.50 102.50 187.50 0.612694 -347.50 102.50 192.50 0.843312 -347.50 102.50 197.50 0.952142 -347.50 102.50 202.50 0.834678 -347.50 102.50 207.50 0.660442 -347.50 102.50 212.50 0.45187 -347.50 102.50 217.50 0.264103 -347.50 102.50 222.50 0.134074 -347.50 102.50 227.50 0.0546286 -347.50 102.50 232.50 0.0220597 -347.50 102.50 237.50 0.025875 -347.50 102.50 242.50 0.0616447 -347.50 102.50 247.50 0.128137 -347.50 102.50 252.50 0.220471 -347.50 102.50 257.50 0.28198 -347.50 102.50 262.50 0.333227 -347.50 102.50 267.50 0.348026 -347.50 102.50 272.50 0.376553 -347.50 102.50 277.50 0.612694 -347.50 102.50 282.50 0.843313 -347.50 102.50 287.50 0.952143 -347.50 102.50 292.50 0.834678 -347.50 102.50 297.50 0.660443 -347.50 102.50 302.50 0.45187 -347.50 102.50 307.50 0.264103 -347.50 102.50 312.50 0.134074 -347.50 102.50 317.50 0.0546286 -347.50 102.50 322.50 0.0220598 -347.50 102.50 327.50 0.0258749 -347.50 102.50 332.50 0.0616445 -347.50 102.50 337.50 0.128137 -347.50 102.50 342.50 0.220471 -347.50 102.50 347.50 0.28198 -347.50 102.50 352.50 0.333227 -347.50 102.50 357.50 0.348027 -347.50 107.50 2.50 0.6554 -347.50 107.50 7.50 1.09968 -347.50 107.50 12.50 1.54179 -347.50 107.50 17.50 1.8355 -347.50 107.50 22.50 1.669 -347.50 107.50 27.50 1.26046 -347.50 107.50 32.50 0.844981 -347.50 107.50 37.50 0.456397 -347.50 107.50 42.50 0.189234 -347.50 107.50 47.50 0.0705297 -347.50 107.50 52.50 0.0243952 -347.50 107.50 57.50 0.0230553 -347.50 107.50 62.50 0.0495342 -347.50 107.50 67.50 0.115984 -347.50 107.50 72.50 0.213 -347.50 107.50 77.50 0.363063 -347.50 107.50 82.50 0.446928 -347.50 107.50 87.50 0.515123 -347.50 107.50 92.50 0.6554 -347.50 107.50 97.50 1.09968 -347.50 107.50 102.50 1.54179 -347.50 107.50 107.50 1.8355 -347.50 107.50 112.50 1.66899 -347.50 107.50 117.50 1.26046 -347.50 107.50 122.50 0.844981 -347.50 107.50 127.50 0.456396 -347.50 107.50 132.50 0.189234 -347.50 107.50 137.50 0.0705297 -347.50 107.50 142.50 0.0243951 -347.50 107.50 147.50 0.0230553 -347.50 107.50 152.50 0.0495342 -347.50 107.50 157.50 0.115984 -347.50 107.50 162.50 0.213 -347.50 107.50 167.50 0.363063 -347.50 107.50 172.50 0.446927 -347.50 107.50 177.50 0.515123 -347.50 107.50 182.50 0.655399 -347.50 107.50 187.50 1.09968 -347.50 107.50 192.50 1.54179 -347.50 107.50 197.50 1.8355 -347.50 107.50 202.50 1.669 -347.50 107.50 207.50 1.26046 -347.50 107.50 212.50 0.844982 -347.50 107.50 217.50 0.456397 -347.50 107.50 222.50 0.189234 -347.50 107.50 227.50 0.0705298 -347.50 107.50 232.50 0.0243951 -347.50 107.50 237.50 0.0230553 -347.50 107.50 242.50 0.0495342 -347.50 107.50 247.50 0.115984 -347.50 107.50 252.50 0.213 -347.50 107.50 257.50 0.363063 -347.50 107.50 262.50 0.446927 -347.50 107.50 267.50 0.515123 -347.50 107.50 272.50 0.6554 -347.50 107.50 277.50 1.09968 -347.50 107.50 282.50 1.54179 -347.50 107.50 287.50 1.8355 -347.50 107.50 292.50 1.669 -347.50 107.50 297.50 1.26047 -347.50 107.50 302.50 0.844982 -347.50 107.50 307.50 0.456397 -347.50 107.50 312.50 0.189234 -347.50 107.50 317.50 0.0705299 -347.50 107.50 322.50 0.0243952 -347.50 107.50 327.50 0.0230553 -347.50 107.50 332.50 0.0495342 -347.50 107.50 337.50 0.115984 -347.50 107.50 342.50 0.213 -347.50 107.50 347.50 0.363063 -347.50 107.50 352.50 0.446927 -347.50 107.50 357.50 0.515123 -347.50 112.50 2.50 1.04451 -347.50 112.50 7.50 1.66728 -347.50 112.50 12.50 2.3662 -347.50 112.50 17.50 2.71155 -347.50 112.50 22.50 2.58172 -347.50 112.50 27.50 1.94417 -347.50 112.50 32.50 1.24363 -347.50 112.50 37.50 0.617899 -347.50 112.50 42.50 0.238278 -347.50 112.50 47.50 0.068917 -347.50 112.50 52.50 0.0191545 -347.50 112.50 57.50 0.0195902 -347.50 112.50 62.50 0.0527093 -347.50 112.50 67.50 0.107708 -347.50 112.50 72.50 0.22959 -347.50 112.50 77.50 0.406102 -347.50 112.50 82.50 0.570905 -347.50 112.50 87.50 0.759541 -347.50 112.50 92.50 1.04451 -347.50 112.50 97.50 1.66728 -347.50 112.50 102.50 2.36621 -347.50 112.50 107.50 2.71155 -347.50 112.50 112.50 2.58172 -347.50 112.50 117.50 1.94417 -347.50 112.50 122.50 1.24363 -347.50 112.50 127.50 0.617899 -347.50 112.50 132.50 0.238278 -347.50 112.50 137.50 0.068917 -347.50 112.50 142.50 0.0191545 -347.50 112.50 147.50 0.0195902 -347.50 112.50 152.50 0.0527092 -347.50 112.50 157.50 0.107707 -347.50 112.50 162.50 0.229589 -347.50 112.50 167.50 0.406102 -347.50 112.50 172.50 0.570905 -347.50 112.50 177.50 0.759541 -347.50 112.50 182.50 1.04451 -347.50 112.50 187.50 1.66728 -347.50 112.50 192.50 2.3662 -347.50 112.50 197.50 2.71155 -347.50 112.50 202.50 2.58172 -347.50 112.50 207.50 1.94417 -347.50 112.50 212.50 1.24363 -347.50 112.50 217.50 0.617899 -347.50 112.50 222.50 0.238278 -347.50 112.50 227.50 0.0689171 -347.50 112.50 232.50 0.0191544 -347.50 112.50 237.50 0.0195902 -347.50 112.50 242.50 0.0527092 -347.50 112.50 247.50 0.107708 -347.50 112.50 252.50 0.22959 -347.50 112.50 257.50 0.406102 -347.50 112.50 262.50 0.570906 -347.50 112.50 267.50 0.759541 -347.50 112.50 272.50 1.04451 -347.50 112.50 277.50 1.66728 -347.50 112.50 282.50 2.3662 -347.50 112.50 287.50 2.71155 -347.50 112.50 292.50 2.58172 -347.50 112.50 297.50 1.94417 -347.50 112.50 302.50 1.24363 -347.50 112.50 307.50 0.6179 -347.50 112.50 312.50 0.238279 -347.50 112.50 317.50 0.0689171 -347.50 112.50 322.50 0.0191545 -347.50 112.50 327.50 0.0195902 -347.50 112.50 332.50 0.0527092 -347.50 112.50 337.50 0.107707 -347.50 112.50 342.50 0.229589 -347.50 112.50 347.50 0.406102 -347.50 112.50 352.50 0.570904 -347.50 112.50 357.50 0.759541 -347.50 117.50 2.50 1.46987 -347.50 117.50 7.50 2.3144 -347.50 117.50 12.50 3.03827 -347.50 117.50 17.50 3.35199 -347.50 117.50 22.50 3.25018 -347.50 117.50 27.50 2.54594 -347.50 117.50 32.50 1.51121 -347.50 117.50 37.50 0.72531 -347.50 117.50 42.50 0.264227 -347.50 117.50 47.50 0.0679237 -347.50 117.50 52.50 0.0169017 -347.50 117.50 57.50 0.0210163 -347.50 117.50 62.50 0.0433062 -347.50 117.50 67.50 0.0988994 -347.50 117.50 72.50 0.240279 -347.50 117.50 77.50 0.423829 -347.50 117.50 82.50 0.7169 -347.50 117.50 87.50 1.02875 -347.50 117.50 92.50 1.46987 -347.50 117.50 97.50 2.3144 -347.50 117.50 102.50 3.03827 -347.50 117.50 107.50 3.35199 -347.50 117.50 112.50 3.25018 -347.50 117.50 117.50 2.54594 -347.50 117.50 122.50 1.51121 -347.50 117.50 127.50 0.725309 -347.50 117.50 132.50 0.264226 -347.50 117.50 137.50 0.0679237 -347.50 117.50 142.50 0.0169017 -347.50 117.50 147.50 0.0210163 -347.50 117.50 152.50 0.0433061 -347.50 117.50 157.50 0.0988993 -347.50 117.50 162.50 0.240279 -347.50 117.50 167.50 0.423829 -347.50 117.50 172.50 0.716899 -347.50 117.50 177.50 1.02875 -347.50 117.50 182.50 1.46987 -347.50 117.50 187.50 2.3144 -347.50 117.50 192.50 3.03827 -347.50 117.50 197.50 3.35199 -347.50 117.50 202.50 3.25018 -347.50 117.50 207.50 2.54594 -347.50 117.50 212.50 1.51121 -347.50 117.50 217.50 0.72531 -347.50 117.50 222.50 0.264226 -347.50 117.50 227.50 0.0679238 -347.50 117.50 232.50 0.0169017 -347.50 117.50 237.50 0.0210163 -347.50 117.50 242.50 0.0433062 -347.50 117.50 247.50 0.0988994 -347.50 117.50 252.50 0.240279 -347.50 117.50 257.50 0.423829 -347.50 117.50 262.50 0.7169 -347.50 117.50 267.50 1.02875 -347.50 117.50 272.50 1.46987 -347.50 117.50 277.50 2.3144 -347.50 117.50 282.50 3.03827 -347.50 117.50 287.50 3.35199 -347.50 117.50 292.50 3.25018 -347.50 117.50 297.50 2.54595 -347.50 117.50 302.50 1.51121 -347.50 117.50 307.50 0.72531 -347.50 117.50 312.50 0.264227 -347.50 117.50 317.50 0.0679239 -347.50 117.50 322.50 0.0169017 -347.50 117.50 327.50 0.0210162 -347.50 117.50 332.50 0.043306 -347.50 117.50 337.50 0.0988991 -347.50 117.50 342.50 0.240278 -347.50 117.50 347.50 0.423828 -347.50 117.50 352.50 0.716899 -347.50 117.50 357.50 1.02875 -347.50 122.50 2.50 1.91896 -347.50 122.50 7.50 2.88023 -347.50 122.50 12.50 3.61387 -347.50 122.50 17.50 3.7508 -347.50 122.50 22.50 3.52931 -347.50 122.50 27.50 2.72954 -347.50 122.50 32.50 1.58342 -347.50 122.50 37.50 0.695812 -347.50 122.50 42.50 0.216973 -347.50 122.50 47.50 0.0430295 -347.50 122.50 52.50 0.0137646 -347.50 122.50 57.50 0.02375 -347.50 122.50 62.50 0.0597004 -347.50 122.50 67.50 0.144009 -347.50 122.50 72.50 0.291627 -347.50 122.50 77.50 0.544237 -347.50 122.50 82.50 0.940372 -347.50 122.50 87.50 1.34853 -347.50 122.50 92.50 1.91896 -347.50 122.50 97.50 2.88023 -347.50 122.50 102.50 3.61387 -347.50 122.50 107.50 3.7508 -347.50 122.50 112.50 3.52931 -347.50 122.50 117.50 2.72954 -347.50 122.50 122.50 1.58341 -347.50 122.50 127.50 0.695811 -347.50 122.50 132.50 0.216973 -347.50 122.50 137.50 0.0430294 -347.50 122.50 142.50 0.0137646 -347.50 122.50 147.50 0.02375 -347.50 122.50 152.50 0.0597002 -347.50 122.50 157.50 0.144009 -347.50 122.50 162.50 0.291626 -347.50 122.50 167.50 0.544236 -347.50 122.50 172.50 0.940371 -347.50 122.50 177.50 1.34853 -347.50 122.50 182.50 1.91896 -347.50 122.50 187.50 2.88023 -347.50 122.50 192.50 3.61387 -347.50 122.50 197.50 3.7508 -347.50 122.50 202.50 3.52931 -347.50 122.50 207.50 2.72954 -347.50 122.50 212.50 1.58342 -347.50 122.50 217.50 0.695812 -347.50 122.50 222.50 0.216973 -347.50 122.50 227.50 0.0430295 -347.50 122.50 232.50 0.0137646 -347.50 122.50 237.50 0.02375 -347.50 122.50 242.50 0.0597003 -347.50 122.50 247.50 0.144009 -347.50 122.50 252.50 0.291627 -347.50 122.50 257.50 0.544237 -347.50 122.50 262.50 0.940372 -347.50 122.50 267.50 1.34853 -347.50 122.50 272.50 1.91896 -347.50 122.50 277.50 2.88023 -347.50 122.50 282.50 3.61387 -347.50 122.50 287.50 3.7508 -347.50 122.50 292.50 3.52931 -347.50 122.50 297.50 2.72954 -347.50 122.50 302.50 1.58342 -347.50 122.50 307.50 0.695813 -347.50 122.50 312.50 0.216973 -347.50 122.50 317.50 0.0430296 -347.50 122.50 322.50 0.0137646 -347.50 122.50 327.50 0.0237499 -347.50 122.50 332.50 0.0597002 -347.50 122.50 337.50 0.144009 -347.50 122.50 342.50 0.291626 -347.50 122.50 347.50 0.544236 -347.50 122.50 352.50 0.940371 -347.50 122.50 357.50 1.34853 -347.50 127.50 2.50 2.48319 -347.50 127.50 7.50 3.38839 -347.50 127.50 12.50 4.04576 -347.50 127.50 17.50 3.88467 -347.50 127.50 22.50 3.3656 -347.50 127.50 27.50 2.38044 -347.50 127.50 32.50 1.33187 -347.50 127.50 37.50 0.527503 -347.50 127.50 42.50 0.156568 -347.50 127.50 47.50 0.041197 -347.50 127.50 52.50 0.0169254 -347.50 127.50 57.50 0.0338977 -347.50 127.50 62.50 0.0885528 -347.50 127.50 67.50 0.220749 -347.50 127.50 72.50 0.433036 -347.50 127.50 77.50 0.809533 -347.50 127.50 82.50 1.28426 -347.50 127.50 87.50 1.78362 -347.50 127.50 92.50 2.48319 -347.50 127.50 97.50 3.38839 -347.50 127.50 102.50 4.04576 -347.50 127.50 107.50 3.88467 -347.50 127.50 112.50 3.3656 -347.50 127.50 117.50 2.38044 -347.50 127.50 122.50 1.33187 -347.50 127.50 127.50 0.527502 -347.50 127.50 132.50 0.156568 -347.50 127.50 137.50 0.041197 -347.50 127.50 142.50 0.0169254 -347.50 127.50 147.50 0.0338977 -347.50 127.50 152.50 0.0885526 -347.50 127.50 157.50 0.220748 -347.50 127.50 162.50 0.433036 -347.50 127.50 167.50 0.809532 -347.50 127.50 172.50 1.28426 -347.50 127.50 177.50 1.78362 -347.50 127.50 182.50 2.48319 -347.50 127.50 187.50 3.38839 -347.50 127.50 192.50 4.04576 -347.50 127.50 197.50 3.88467 -347.50 127.50 202.50 3.3656 -347.50 127.50 207.50 2.38045 -347.50 127.50 212.50 1.33187 -347.50 127.50 217.50 0.527503 -347.50 127.50 222.50 0.156568 -347.50 127.50 227.50 0.0411971 -347.50 127.50 232.50 0.0169254 -347.50 127.50 237.50 0.0338977 -347.50 127.50 242.50 0.0885527 -347.50 127.50 247.50 0.220749 -347.50 127.50 252.50 0.433036 -347.50 127.50 257.50 0.809534 -347.50 127.50 262.50 1.28426 -347.50 127.50 267.50 1.78362 -347.50 127.50 272.50 2.48319 -347.50 127.50 277.50 3.38839 -347.50 127.50 282.50 4.04576 -347.50 127.50 287.50 3.88467 -347.50 127.50 292.50 3.3656 -347.50 127.50 297.50 2.38045 -347.50 127.50 302.50 1.33187 -347.50 127.50 307.50 0.527503 -347.50 127.50 312.50 0.156568 -347.50 127.50 317.50 0.0411972 -347.50 127.50 322.50 0.0169254 -347.50 127.50 327.50 0.0338977 -347.50 127.50 332.50 0.0885526 -347.50 127.50 337.50 0.220748 -347.50 127.50 342.50 0.433035 -347.50 127.50 347.50 0.809531 -347.50 127.50 352.50 1.28426 -347.50 127.50 357.50 1.78362 -347.50 132.50 2.50 3.07558 -347.50 132.50 7.50 3.78144 -347.50 132.50 12.50 4.13483 -347.50 132.50 17.50 3.70354 -347.50 132.50 22.50 2.82692 -347.50 132.50 27.50 1.81342 -347.50 132.50 32.50 0.887786 -347.50 132.50 37.50 0.379218 -347.50 132.50 42.50 0.110702 -347.50 132.50 47.50 0.0300594 -347.50 132.50 52.50 0.0245616 -347.50 132.50 57.50 0.0480407 -347.50 132.50 62.50 0.111763 -347.50 132.50 67.50 0.295443 -347.50 132.50 72.50 0.620533 -347.50 132.50 77.50 1.13723 -347.50 132.50 82.50 1.70748 -347.50 132.50 87.50 2.27987 -347.50 132.50 92.50 3.07558 -347.50 132.50 97.50 3.78144 -347.50 132.50 102.50 4.13484 -347.50 132.50 107.50 3.70354 -347.50 132.50 112.50 2.82692 -347.50 132.50 117.50 1.81342 -347.50 132.50 122.50 0.887785 -347.50 132.50 127.50 0.379217 -347.50 132.50 132.50 0.110701 -347.50 132.50 137.50 0.0300594 -347.50 132.50 142.50 0.0245617 -347.50 132.50 147.50 0.0480407 -347.50 132.50 152.50 0.111763 -347.50 132.50 157.50 0.295442 -347.50 132.50 162.50 0.620533 -347.50 132.50 167.50 1.13723 -347.50 132.50 172.50 1.70748 -347.50 132.50 177.50 2.27987 -347.50 132.50 182.50 3.07558 -347.50 132.50 187.50 3.78144 -347.50 132.50 192.50 4.13484 -347.50 132.50 197.50 3.70354 -347.50 132.50 202.50 2.82692 -347.50 132.50 207.50 1.81342 -347.50 132.50 212.50 0.887785 -347.50 132.50 217.50 0.379217 -347.50 132.50 222.50 0.110702 -347.50 132.50 227.50 0.0300594 -347.50 132.50 232.50 0.0245616 -347.50 132.50 237.50 0.0480408 -347.50 132.50 242.50 0.111763 -347.50 132.50 247.50 0.295443 -347.50 132.50 252.50 0.620534 -347.50 132.50 257.50 1.13723 -347.50 132.50 262.50 1.70748 -347.50 132.50 267.50 2.27988 -347.50 132.50 272.50 3.07558 -347.50 132.50 277.50 3.78144 -347.50 132.50 282.50 4.13483 -347.50 132.50 287.50 3.70354 -347.50 132.50 292.50 2.82692 -347.50 132.50 297.50 1.81342 -347.50 132.50 302.50 0.887787 -347.50 132.50 307.50 0.379218 -347.50 132.50 312.50 0.110702 -347.50 132.50 317.50 0.0300594 -347.50 132.50 322.50 0.0245617 -347.50 132.50 327.50 0.0480407 -347.50 132.50 332.50 0.111763 -347.50 132.50 337.50 0.295442 -347.50 132.50 342.50 0.620532 -347.50 132.50 347.50 1.13723 -347.50 132.50 352.50 1.70747 -347.50 132.50 357.50 2.27987 -347.50 137.50 2.50 3.3443 -347.50 137.50 7.50 3.8114 -347.50 137.50 12.50 3.76022 -347.50 137.50 17.50 3.14533 -347.50 137.50 22.50 2.1993 -347.50 137.50 27.50 1.22003 -347.50 137.50 32.50 0.535988 -347.50 137.50 37.50 0.213094 -347.50 137.50 42.50 0.0674383 -347.50 137.50 47.50 0.0259854 -347.50 137.50 52.50 0.0197802 -347.50 137.50 57.50 0.0535264 -347.50 137.50 62.50 0.14939 -347.50 137.50 67.50 0.359979 -347.50 137.50 72.50 0.83235 -347.50 137.50 77.50 1.4814 -347.50 137.50 82.50 2.09946 -347.50 137.50 87.50 2.66415 -347.50 137.50 92.50 3.3443 -347.50 137.50 97.50 3.8114 -347.50 137.50 102.50 3.76021 -347.50 137.50 107.50 3.14533 -347.50 137.50 112.50 2.1993 -347.50 137.50 117.50 1.22003 -347.50 137.50 122.50 0.535987 -347.50 137.50 127.50 0.213094 -347.50 137.50 132.50 0.0674382 -347.50 137.50 137.50 0.0259854 -347.50 137.50 142.50 0.0197802 -347.50 137.50 147.50 0.0535264 -347.50 137.50 152.50 0.149389 -347.50 137.50 157.50 0.359979 -347.50 137.50 162.50 0.83235 -347.50 137.50 167.50 1.48139 -347.50 137.50 172.50 2.09946 -347.50 137.50 177.50 2.66415 -347.50 137.50 182.50 3.3443 -347.50 137.50 187.50 3.8114 -347.50 137.50 192.50 3.76021 -347.50 137.50 197.50 3.14533 -347.50 137.50 202.50 2.1993 -347.50 137.50 207.50 1.22003 -347.50 137.50 212.50 0.535988 -347.50 137.50 217.50 0.213094 -347.50 137.50 222.50 0.0674383 -347.50 137.50 227.50 0.0259854 -347.50 137.50 232.50 0.0197802 -347.50 137.50 237.50 0.0535264 -347.50 137.50 242.50 0.14939 -347.50 137.50 247.50 0.359979 -347.50 137.50 252.50 0.83235 -347.50 137.50 257.50 1.4814 -347.50 137.50 262.50 2.09946 -347.50 137.50 267.50 2.66415 -347.50 137.50 272.50 3.3443 -347.50 137.50 277.50 3.8114 -347.50 137.50 282.50 3.76021 -347.50 137.50 287.50 3.14533 -347.50 137.50 292.50 2.1993 -347.50 137.50 297.50 1.22003 -347.50 137.50 302.50 0.535989 -347.50 137.50 307.50 0.213094 -347.50 137.50 312.50 0.0674384 -347.50 137.50 317.50 0.0259854 -347.50 137.50 322.50 0.0197802 -347.50 137.50 327.50 0.0535263 -347.50 137.50 332.50 0.149389 -347.50 137.50 337.50 0.359978 -347.50 137.50 342.50 0.832349 -347.50 137.50 347.50 1.48139 -347.50 137.50 352.50 2.09945 -347.50 137.50 357.50 2.66415 -347.50 142.50 2.50 3.07558 -347.50 142.50 7.50 3.28461 -347.50 142.50 12.50 3.00582 -347.50 142.50 17.50 2.3018 -347.50 142.50 22.50 1.44951 -347.50 142.50 27.50 0.734424 -347.50 142.50 32.50 0.281644 -347.50 142.50 37.50 0.0941096 -347.50 142.50 42.50 0.0346214 -347.50 142.50 47.50 0.0129025 -347.50 142.50 52.50 0.0187252 -347.50 142.50 57.50 0.0528531 -347.50 142.50 62.50 0.159378 -347.50 142.50 67.50 0.458404 -347.50 142.50 72.50 1.02812 -347.50 142.50 77.50 1.75871 -347.50 142.50 82.50 2.33768 -347.50 142.50 87.50 2.71443 -347.50 142.50 92.50 3.07558 -347.50 142.50 97.50 3.28462 -347.50 142.50 102.50 3.00582 -347.50 142.50 107.50 2.3018 -347.50 142.50 112.50 1.44951 -347.50 142.50 117.50 0.734423 -347.50 142.50 122.50 0.281644 -347.50 142.50 127.50 0.0941095 -347.50 142.50 132.50 0.0346214 -347.50 142.50 137.50 0.0129025 -347.50 142.50 142.50 0.0187251 -347.50 142.50 147.50 0.0528531 -347.50 142.50 152.50 0.159378 -347.50 142.50 157.50 0.458403 -347.50 142.50 162.50 1.02812 -347.50 142.50 167.50 1.75871 -347.50 142.50 172.50 2.33768 -347.50 142.50 177.50 2.71443 -347.50 142.50 182.50 3.07558 -347.50 142.50 187.50 3.28462 -347.50 142.50 192.50 3.00582 -347.50 142.50 197.50 2.3018 -347.50 142.50 202.50 1.44951 -347.50 142.50 207.50 0.734424 -347.50 142.50 212.50 0.281644 -347.50 142.50 217.50 0.0941095 -347.50 142.50 222.50 0.0346214 -347.50 142.50 227.50 0.0129026 -347.50 142.50 232.50 0.0187252 -347.50 142.50 237.50 0.0528532 -347.50 142.50 242.50 0.159378 -347.50 142.50 247.50 0.458404 -347.50 142.50 252.50 1.02812 -347.50 142.50 257.50 1.75871 -347.50 142.50 262.50 2.33768 -347.50 142.50 267.50 2.71443 -347.50 142.50 272.50 3.07558 -347.50 142.50 277.50 3.28461 -347.50 142.50 282.50 3.00582 -347.50 142.50 287.50 2.3018 -347.50 142.50 292.50 1.44951 -347.50 142.50 297.50 0.734425 -347.50 142.50 302.50 0.281645 -347.50 142.50 307.50 0.0941097 -347.50 142.50 312.50 0.0346215 -347.50 142.50 317.50 0.0129026 -347.50 142.50 322.50 0.0187251 -347.50 142.50 327.50 0.052853 -347.50 142.50 332.50 0.159378 -347.50 142.50 337.50 0.458403 -347.50 142.50 342.50 1.02812 -347.50 142.50 347.50 1.75871 -347.50 142.50 352.50 2.33768 -347.50 142.50 357.50 2.71443 -347.50 147.50 2.50 2.48319 -347.50 147.50 7.50 2.43862 -347.50 147.50 12.50 2.08206 -347.50 147.50 17.50 1.46004 -347.50 147.50 22.50 0.819891 -347.50 147.50 27.50 0.372317 -347.50 147.50 32.50 0.132328 -347.50 147.50 37.50 0.0366549 -347.50 147.50 42.50 0.0127237 -347.50 147.50 47.50 0.0102016 -347.50 147.50 52.50 0.0208957 -347.50 147.50 57.50 0.0607416 -347.50 147.50 62.50 0.188416 -347.50 147.50 67.50 0.522556 -347.50 147.50 72.50 1.1385 -347.50 147.50 77.50 1.86234 -347.50 147.50 82.50 2.31354 -347.50 147.50 87.50 2.43565 -347.50 147.50 92.50 2.48319 -347.50 147.50 97.50 2.43862 -347.50 147.50 102.50 2.08206 -347.50 147.50 107.50 1.46004 -347.50 147.50 112.50 0.819891 -347.50 147.50 117.50 0.372316 -347.50 147.50 122.50 0.132328 -347.50 147.50 127.50 0.0366548 -347.50 147.50 132.50 0.0127237 -347.50 147.50 137.50 0.0102016 -347.50 147.50 142.50 0.0208956 -347.50 147.50 147.50 0.0607416 -347.50 147.50 152.50 0.188416 -347.50 147.50 157.50 0.522556 -347.50 147.50 162.50 1.1385 -347.50 147.50 167.50 1.86234 -347.50 147.50 172.50 2.31354 -347.50 147.50 177.50 2.43565 -347.50 147.50 182.50 2.48319 -347.50 147.50 187.50 2.43862 -347.50 147.50 192.50 2.08206 -347.50 147.50 197.50 1.46004 -347.50 147.50 202.50 0.819892 -347.50 147.50 207.50 0.372317 -347.50 147.50 212.50 0.132328 -347.50 147.50 217.50 0.0366548 -347.50 147.50 222.50 0.0127237 -347.50 147.50 227.50 0.0102016 -347.50 147.50 232.50 0.0208957 -347.50 147.50 237.50 0.0607418 -347.50 147.50 242.50 0.188416 -347.50 147.50 247.50 0.522556 -347.50 147.50 252.50 1.1385 -347.50 147.50 257.50 1.86234 -347.50 147.50 262.50 2.31354 -347.50 147.50 267.50 2.43565 -347.50 147.50 272.50 2.48319 -347.50 147.50 277.50 2.43862 -347.50 147.50 282.50 2.08206 -347.50 147.50 287.50 1.46004 -347.50 147.50 292.50 0.819891 -347.50 147.50 297.50 0.372317 -347.50 147.50 302.50 0.132328 -347.50 147.50 307.50 0.0366549 -347.50 147.50 312.50 0.0127237 -347.50 147.50 317.50 0.0102016 -347.50 147.50 322.50 0.0208956 -347.50 147.50 327.50 0.0607415 -347.50 147.50 332.50 0.188415 -347.50 147.50 337.50 0.522555 -347.50 147.50 342.50 1.1385 -347.50 147.50 347.50 1.86234 -347.50 147.50 352.50 2.31353 -347.50 147.50 357.50 2.43565 -347.50 152.50 2.50 1.91896 -347.50 152.50 7.50 1.67282 -347.50 152.50 12.50 1.34077 -347.50 152.50 17.50 0.84225 -347.50 152.50 22.50 0.47031 -347.50 152.50 27.50 0.185491 -347.50 152.50 32.50 0.0660115 -347.50 152.50 37.50 0.0169593 -347.50 152.50 42.50 0.00605909 -347.50 152.50 47.50 0.010606 -347.50 152.50 52.50 0.0280962 -347.50 152.50 57.50 0.0852509 -347.50 152.50 62.50 0.251832 -347.50 152.50 67.50 0.604965 -347.50 152.50 72.50 1.21541 -347.50 152.50 77.50 1.86571 -347.50 152.50 82.50 2.12271 -347.50 152.50 87.50 2.07289 -347.50 152.50 92.50 1.91896 -347.50 152.50 97.50 1.67282 -347.50 152.50 102.50 1.34077 -347.50 152.50 107.50 0.84225 -347.50 152.50 112.50 0.47031 -347.50 152.50 117.50 0.185491 -347.50 152.50 122.50 0.0660115 -347.50 152.50 127.50 0.0169594 -347.50 152.50 132.50 0.00605909 -347.50 152.50 137.50 0.010606 -347.50 152.50 142.50 0.0280961 -347.50 152.50 147.50 0.0852508 -347.50 152.50 152.50 0.251832 -347.50 152.50 157.50 0.604964 -347.50 152.50 162.50 1.21541 -347.50 152.50 167.50 1.86571 -347.50 152.50 172.50 2.12271 -347.50 152.50 177.50 2.07289 -347.50 152.50 182.50 1.91896 -347.50 152.50 187.50 1.67282 -347.50 152.50 192.50 1.34077 -347.50 152.50 197.50 0.84225 -347.50 152.50 202.50 0.47031 -347.50 152.50 207.50 0.185491 -347.50 152.50 212.50 0.0660115 -347.50 152.50 217.50 0.0169594 -347.50 152.50 222.50 0.00605909 -347.50 152.50 227.50 0.010606 -347.50 152.50 232.50 0.0280962 -347.50 152.50 237.50 0.085251 -347.50 152.50 242.50 0.251832 -347.50 152.50 247.50 0.604965 -347.50 152.50 252.50 1.21541 -347.50 152.50 257.50 1.86571 -347.50 152.50 262.50 2.12271 -347.50 152.50 267.50 2.07289 -347.50 152.50 272.50 1.91896 -347.50 152.50 277.50 1.67282 -347.50 152.50 282.50 1.34077 -347.50 152.50 287.50 0.84225 -347.50 152.50 292.50 0.47031 -347.50 152.50 297.50 0.185491 -347.50 152.50 302.50 0.0660116 -347.50 152.50 307.50 0.0169594 -347.50 152.50 312.50 0.00605909 -347.50 152.50 317.50 0.010606 -347.50 152.50 322.50 0.0280961 -347.50 152.50 327.50 0.0852507 -347.50 152.50 332.50 0.251832 -347.50 152.50 337.50 0.604963 -347.50 152.50 342.50 1.21541 -347.50 152.50 347.50 1.86571 -347.50 152.50 352.50 2.12271 -347.50 152.50 357.50 2.07289 -347.50 157.50 2.50 1.46987 -347.50 157.50 7.50 1.13434 -347.50 157.50 12.50 0.846134 -347.50 157.50 17.50 0.526842 -347.50 157.50 22.50 0.282701 -347.50 157.50 27.50 0.130854 -347.50 157.50 32.50 0.0500053 -347.50 157.50 37.50 0.0230623 -347.50 157.50 42.50 0.0111999 -347.50 157.50 47.50 0.0124127 -347.50 157.50 52.50 0.0375603 -347.50 157.50 57.50 0.119209 -347.50 157.50 62.50 0.335644 -347.50 157.50 67.50 0.755125 -347.50 157.50 72.50 1.3193 -347.50 157.50 77.50 1.79157 -347.50 157.50 82.50 1.90549 -347.50 157.50 87.50 1.73302 -347.50 157.50 92.50 1.46987 -347.50 157.50 97.50 1.13434 -347.50 157.50 102.50 0.846133 -347.50 157.50 107.50 0.526842 -347.50 157.50 112.50 0.282701 -347.50 157.50 117.50 0.130854 -347.50 157.50 122.50 0.0500052 -347.50 157.50 127.50 0.0230622 -347.50 157.50 132.50 0.0111999 -347.50 157.50 137.50 0.0124126 -347.50 157.50 142.50 0.0375603 -347.50 157.50 147.50 0.119208 -347.50 157.50 152.50 0.335643 -347.50 157.50 157.50 0.755124 -347.50 157.50 162.50 1.3193 -347.50 157.50 167.50 1.79157 -347.50 157.50 172.50 1.90549 -347.50 157.50 177.50 1.73302 -347.50 157.50 182.50 1.46987 -347.50 157.50 187.50 1.13434 -347.50 157.50 192.50 0.846133 -347.50 157.50 197.50 0.526842 -347.50 157.50 202.50 0.282701 -347.50 157.50 207.50 0.130854 -347.50 157.50 212.50 0.0500053 -347.50 157.50 217.50 0.0230622 -347.50 157.50 222.50 0.0111999 -347.50 157.50 227.50 0.0124126 -347.50 157.50 232.50 0.0375604 -347.50 157.50 237.50 0.119209 -347.50 157.50 242.50 0.335644 -347.50 157.50 247.50 0.755125 -347.50 157.50 252.50 1.3193 -347.50 157.50 257.50 1.79157 -347.50 157.50 262.50 1.90549 -347.50 157.50 267.50 1.73302 -347.50 157.50 272.50 1.46987 -347.50 157.50 277.50 1.13434 -347.50 157.50 282.50 0.846133 -347.50 157.50 287.50 0.526842 -347.50 157.50 292.50 0.282701 -347.50 157.50 297.50 0.130854 -347.50 157.50 302.50 0.0500053 -347.50 157.50 307.50 0.0230623 -347.50 157.50 312.50 0.0111999 -347.50 157.50 317.50 0.0124126 -347.50 157.50 322.50 0.0375602 -347.50 157.50 327.50 0.119208 -347.50 157.50 332.50 0.335643 -347.50 157.50 337.50 0.755123 -347.50 157.50 342.50 1.3193 -347.50 157.50 347.50 1.79157 -347.50 157.50 352.50 1.90549 -347.50 157.50 357.50 1.73302 -347.50 162.50 2.50 1.04451 -347.50 162.50 7.50 0.736744 -347.50 162.50 12.50 0.501155 -347.50 162.50 17.50 0.335263 -347.50 162.50 22.50 0.185647 -347.50 162.50 27.50 0.108236 -347.50 162.50 32.50 0.0792763 -347.50 162.50 37.50 0.0520203 -347.50 162.50 42.50 0.0247396 -347.50 162.50 47.50 0.0190101 -347.50 162.50 52.50 0.0432779 -347.50 162.50 57.50 0.147344 -347.50 162.50 62.50 0.401317 -347.50 162.50 67.50 0.835967 -347.50 162.50 72.50 1.34437 -347.50 162.50 77.50 1.66988 -347.50 162.50 82.50 1.64759 -347.50 162.50 87.50 1.36448 -347.50 162.50 92.50 1.04451 -347.50 162.50 97.50 0.736745 -347.50 162.50 102.50 0.501154 -347.50 162.50 107.50 0.335263 -347.50 162.50 112.50 0.185647 -347.50 162.50 117.50 0.108236 -347.50 162.50 122.50 0.0792763 -347.50 162.50 127.50 0.0520202 -347.50 162.50 132.50 0.0247395 -347.50 162.50 137.50 0.0190101 -347.50 162.50 142.50 0.043278 -347.50 162.50 147.50 0.147344 -347.50 162.50 152.50 0.401316 -347.50 162.50 157.50 0.835966 -347.50 162.50 162.50 1.34437 -347.50 162.50 167.50 1.66988 -347.50 162.50 172.50 1.64759 -347.50 162.50 177.50 1.36448 -347.50 162.50 182.50 1.04451 -347.50 162.50 187.50 0.736745 -347.50 162.50 192.50 0.501154 -347.50 162.50 197.50 0.335263 -347.50 162.50 202.50 0.185647 -347.50 162.50 207.50 0.108236 -347.50 162.50 212.50 0.0792763 -347.50 162.50 217.50 0.0520203 -347.50 162.50 222.50 0.0247396 -347.50 162.50 227.50 0.0190101 -347.50 162.50 232.50 0.0432781 -347.50 162.50 237.50 0.147344 -347.50 162.50 242.50 0.401317 -347.50 162.50 247.50 0.835967 -347.50 162.50 252.50 1.34437 -347.50 162.50 257.50 1.66988 -347.50 162.50 262.50 1.64759 -347.50 162.50 267.50 1.36448 -347.50 162.50 272.50 1.04451 -347.50 162.50 277.50 0.736745 -347.50 162.50 282.50 0.501155 -347.50 162.50 287.50 0.335263 -347.50 162.50 292.50 0.185647 -347.50 162.50 297.50 0.108237 -347.50 162.50 302.50 0.0792763 -347.50 162.50 307.50 0.0520203 -347.50 162.50 312.50 0.0247396 -347.50 162.50 317.50 0.0190101 -347.50 162.50 322.50 0.0432779 -347.50 162.50 327.50 0.147344 -347.50 162.50 332.50 0.401315 -347.50 162.50 337.50 0.835965 -347.50 162.50 342.50 1.34437 -347.50 162.50 347.50 1.66987 -347.50 162.50 352.50 1.64759 -347.50 162.50 357.50 1.36448 -347.50 167.50 2.50 0.6554 -347.50 167.50 7.50 0.423372 -347.50 167.50 12.50 0.26037 -347.50 167.50 17.50 0.18865 -347.50 167.50 22.50 0.138135 -347.50 167.50 27.50 0.110934 -347.50 167.50 32.50 0.103018 -347.50 167.50 37.50 0.0853309 -347.50 167.50 42.50 0.0466066 -347.50 167.50 47.50 0.0264396 -347.50 167.50 52.50 0.0478194 -347.50 167.50 57.50 0.141028 -347.50 167.50 62.50 0.376839 -347.50 167.50 67.50 0.791948 -347.50 167.50 72.50 1.26422 -347.50 167.50 77.50 1.52312 -347.50 167.50 82.50 1.37686 -347.50 167.50 87.50 0.996545 -347.50 167.50 92.50 0.6554 -347.50 167.50 97.50 0.423372 -347.50 167.50 102.50 0.26037 -347.50 167.50 107.50 0.18865 -347.50 167.50 112.50 0.138135 -347.50 167.50 117.50 0.110934 -347.50 167.50 122.50 0.103018 -347.50 167.50 127.50 0.0853309 -347.50 167.50 132.50 0.0466066 -347.50 167.50 137.50 0.0264396 -347.50 167.50 142.50 0.0478195 -347.50 167.50 147.50 0.141028 -347.50 167.50 152.50 0.376839 -347.50 167.50 157.50 0.791948 -347.50 167.50 162.50 1.26422 -347.50 167.50 167.50 1.52312 -347.50 167.50 172.50 1.37686 -347.50 167.50 177.50 0.996546 -347.50 167.50 182.50 0.6554 -347.50 167.50 187.50 0.423372 -347.50 167.50 192.50 0.26037 -347.50 167.50 197.50 0.18865 -347.50 167.50 202.50 0.138135 -347.50 167.50 207.50 0.110934 -347.50 167.50 212.50 0.103018 -347.50 167.50 217.50 0.085331 -347.50 167.50 222.50 0.0466067 -347.50 167.50 227.50 0.0264396 -347.50 167.50 232.50 0.0478195 -347.50 167.50 237.50 0.141028 -347.50 167.50 242.50 0.376839 -347.50 167.50 247.50 0.791948 -347.50 167.50 252.50 1.26423 -347.50 167.50 257.50 1.52312 -347.50 167.50 262.50 1.37686 -347.50 167.50 267.50 0.996545 -347.50 167.50 272.50 0.6554 -347.50 167.50 277.50 0.423372 -347.50 167.50 282.50 0.26037 -347.50 167.50 287.50 0.18865 -347.50 167.50 292.50 0.138135 -347.50 167.50 297.50 0.110934 -347.50 167.50 302.50 0.103018 -347.50 167.50 307.50 0.085331 -347.50 167.50 312.50 0.0466067 -347.50 167.50 317.50 0.0264396 -347.50 167.50 322.50 0.0478194 -347.50 167.50 327.50 0.141028 -347.50 167.50 332.50 0.376838 -347.50 167.50 337.50 0.791946 -347.50 167.50 342.50 1.26422 -347.50 167.50 347.50 1.52312 -347.50 167.50 352.50 1.37686 -347.50 167.50 357.50 0.996546 -347.50 172.50 2.50 0.376554 -347.50 172.50 7.50 0.216443 -347.50 172.50 12.50 0.141284 -347.50 172.50 17.50 0.0978894 -347.50 172.50 22.50 0.0936088 -347.50 172.50 27.50 0.0995423 -347.50 172.50 32.50 0.103579 -347.50 172.50 37.50 0.086341 -347.50 172.50 42.50 0.051786 -347.50 172.50 47.50 0.0302449 -347.50 172.50 52.50 0.044724 -347.50 172.50 57.50 0.122106 -347.50 172.50 62.50 0.309731 -347.50 172.50 67.50 0.658201 -347.50 172.50 72.50 1.08936 -347.50 172.50 77.50 1.30722 -347.50 172.50 82.50 1.10458 -347.50 172.50 87.50 0.695288 -347.50 172.50 92.50 0.376554 -347.50 172.50 97.50 0.216442 -347.50 172.50 102.50 0.141283 -347.50 172.50 107.50 0.0978894 -347.50 172.50 112.50 0.0936088 -347.50 172.50 117.50 0.0995423 -347.50 172.50 122.50 0.103579 -347.50 172.50 127.50 0.086341 -347.50 172.50 132.50 0.051786 -347.50 172.50 137.50 0.0302449 -347.50 172.50 142.50 0.0447241 -347.50 172.50 147.50 0.122106 -347.50 172.50 152.50 0.309731 -347.50 172.50 157.50 0.6582 -347.50 172.50 162.50 1.08936 -347.50 172.50 167.50 1.30722 -347.50 172.50 172.50 1.10458 -347.50 172.50 177.50 0.695288 -347.50 172.50 182.50 0.376553 -347.50 172.50 187.50 0.216442 -347.50 172.50 192.50 0.141283 -347.50 172.50 197.50 0.0978894 -347.50 172.50 202.50 0.0936088 -347.50 172.50 207.50 0.0995423 -347.50 172.50 212.50 0.103579 -347.50 172.50 217.50 0.086341 -347.50 172.50 222.50 0.051786 -347.50 172.50 227.50 0.0302449 -347.50 172.50 232.50 0.0447241 -347.50 172.50 237.50 0.122106 -347.50 172.50 242.50 0.309732 -347.50 172.50 247.50 0.658201 -347.50 172.50 252.50 1.08936 -347.50 172.50 257.50 1.30722 -347.50 172.50 262.50 1.10458 -347.50 172.50 267.50 0.695287 -347.50 172.50 272.50 0.376554 -347.50 172.50 277.50 0.216443 -347.50 172.50 282.50 0.141284 -347.50 172.50 287.50 0.0978895 -347.50 172.50 292.50 0.0936088 -347.50 172.50 297.50 0.0995423 -347.50 172.50 302.50 0.103579 -347.50 172.50 307.50 0.086341 -347.50 172.50 312.50 0.051786 -347.50 172.50 317.50 0.0302449 -347.50 172.50 322.50 0.044724 -347.50 172.50 327.50 0.122106 -347.50 172.50 332.50 0.30973 -347.50 172.50 337.50 0.6582 -347.50 172.50 342.50 1.08936 -347.50 172.50 347.50 1.30722 -347.50 172.50 352.50 1.10458 -347.50 172.50 357.50 0.695288 -347.50 177.50 2.50 0.210388 -347.50 177.50 7.50 0.10472 -347.50 177.50 12.50 0.0745757 -347.50 177.50 17.50 0.0724643 -347.50 177.50 22.50 0.0765251 -347.50 177.50 27.50 0.0776944 -347.50 177.50 32.50 0.0750234 -347.50 177.50 37.50 0.0724147 -347.50 177.50 42.50 0.0590315 -347.50 177.50 47.50 0.0435456 -347.50 177.50 52.50 0.0421067 -347.50 177.50 57.50 0.0785197 -347.50 177.50 62.50 0.199275 -347.50 177.50 67.50 0.4692 -347.50 177.50 72.50 0.826357 -347.50 177.50 77.50 1.00154 -347.50 177.50 82.50 0.814818 -347.50 177.50 87.50 0.461129 -347.50 177.50 92.50 0.210388 -347.50 177.50 97.50 0.10472 -347.50 177.50 102.50 0.0745757 -347.50 177.50 107.50 0.0724643 -347.50 177.50 112.50 0.0765251 -347.50 177.50 117.50 0.0776944 -347.50 177.50 122.50 0.0750234 -347.50 177.50 127.50 0.0724146 -347.50 177.50 132.50 0.0590315 -347.50 177.50 137.50 0.0435456 -347.50 177.50 142.50 0.0421067 -347.50 177.50 147.50 0.0785197 -347.50 177.50 152.50 0.199275 -347.50 177.50 157.50 0.469199 -347.50 177.50 162.50 0.826357 -347.50 177.50 167.50 1.00154 -347.50 177.50 172.50 0.814819 -347.50 177.50 177.50 0.461129 -347.50 177.50 182.50 0.210388 -347.50 177.50 187.50 0.10472 -347.50 177.50 192.50 0.0745757 -347.50 177.50 197.50 0.0724643 -347.50 177.50 202.50 0.0765251 -347.50 177.50 207.50 0.0776944 -347.50 177.50 212.50 0.0750234 -347.50 177.50 217.50 0.0724147 -347.50 177.50 222.50 0.0590315 -347.50 177.50 227.50 0.0435456 -347.50 177.50 232.50 0.0421067 -347.50 177.50 237.50 0.0785197 -347.50 177.50 242.50 0.199275 -347.50 177.50 247.50 0.469201 -347.50 177.50 252.50 0.826358 -347.50 177.50 257.50 1.00154 -347.50 177.50 262.50 0.814818 -347.50 177.50 267.50 0.461128 -347.50 177.50 272.50 0.210388 -347.50 177.50 277.50 0.10472 -347.50 177.50 282.50 0.0745757 -347.50 177.50 287.50 0.0724643 -347.50 177.50 292.50 0.0765251 -347.50 177.50 297.50 0.0776945 -347.50 177.50 302.50 0.0750234 -347.50 177.50 307.50 0.0724146 -347.50 177.50 312.50 0.0590315 -347.50 177.50 317.50 0.0435456 -347.50 177.50 322.50 0.0421067 -347.50 177.50 327.50 0.0785195 -347.50 177.50 332.50 0.199275 -347.50 177.50 337.50 0.469199 -347.50 177.50 342.50 0.826356 -347.50 177.50 347.50 1.00154 -347.50 177.50 352.50 0.81482 -347.50 177.50 357.50 0.46113 -352.50 2.50 2.50 0.393272 -352.50 2.50 7.50 0.773178 -352.50 2.50 12.50 0.980476 -352.50 2.50 17.50 0.773179 -352.50 2.50 22.50 0.393273 -352.50 2.50 27.50 0.149977 -352.50 2.50 32.50 0.0624686 -352.50 2.50 37.50 0.0485219 -352.50 2.50 42.50 0.0601603 -352.50 2.50 47.50 0.0760385 -352.50 2.50 52.50 0.083846 -352.50 2.50 57.50 0.084539 -352.50 2.50 62.50 0.083846 -352.50 2.50 67.50 0.0760386 -352.50 2.50 72.50 0.0601604 -352.50 2.50 77.50 0.048522 -352.50 2.50 82.50 0.0624684 -352.50 2.50 87.50 0.149976 -352.50 2.50 92.50 0.393272 -352.50 2.50 97.50 0.773178 -352.50 2.50 102.50 0.980476 -352.50 2.50 107.50 0.773179 -352.50 2.50 112.50 0.393273 -352.50 2.50 117.50 0.149977 -352.50 2.50 122.50 0.0624686 -352.50 2.50 127.50 0.0485219 -352.50 2.50 132.50 0.0601603 -352.50 2.50 137.50 0.0760385 -352.50 2.50 142.50 0.083846 -352.50 2.50 147.50 0.084539 -352.50 2.50 152.50 0.083846 -352.50 2.50 157.50 0.0760386 -352.50 2.50 162.50 0.0601604 -352.50 2.50 167.50 0.048522 -352.50 2.50 172.50 0.0624684 -352.50 2.50 177.50 0.149976 -352.50 2.50 182.50 0.393272 -352.50 2.50 187.50 0.773178 -352.50 2.50 192.50 0.980476 -352.50 2.50 197.50 0.773179 -352.50 2.50 202.50 0.393273 -352.50 2.50 207.50 0.149977 -352.50 2.50 212.50 0.0624686 -352.50 2.50 217.50 0.0485219 -352.50 2.50 222.50 0.0601602 -352.50 2.50 227.50 0.0760385 -352.50 2.50 232.50 0.083846 -352.50 2.50 237.50 0.084539 -352.50 2.50 242.50 0.083846 -352.50 2.50 247.50 0.0760385 -352.50 2.50 252.50 0.0601603 -352.50 2.50 257.50 0.048522 -352.50 2.50 262.50 0.0624685 -352.50 2.50 267.50 0.149977 -352.50 2.50 272.50 0.393272 -352.50 2.50 277.50 0.773178 -352.50 2.50 282.50 0.980476 -352.50 2.50 287.50 0.773179 -352.50 2.50 292.50 0.393273 -352.50 2.50 297.50 0.149977 -352.50 2.50 302.50 0.0624687 -352.50 2.50 307.50 0.0485219 -352.50 2.50 312.50 0.0601602 -352.50 2.50 317.50 0.0760385 -352.50 2.50 322.50 0.083846 -352.50 2.50 327.50 0.084539 -352.50 2.50 332.50 0.083846 -352.50 2.50 337.50 0.0760386 -352.50 2.50 342.50 0.0601604 -352.50 2.50 347.50 0.048522 -352.50 2.50 352.50 0.0624684 -352.50 2.50 357.50 0.149976 -352.50 7.50 2.50 0.512871 -352.50 7.50 7.50 0.851275 -352.50 7.50 12.50 1.00664 -352.50 7.50 17.50 0.808348 -352.50 7.50 22.50 0.446618 -352.50 7.50 27.50 0.189909 -352.50 7.50 32.50 0.0775082 -352.50 7.50 37.50 0.0444665 -352.50 7.50 42.50 0.0442839 -352.50 7.50 47.50 0.0581633 -352.50 7.50 52.50 0.0710801 -352.50 7.50 57.50 0.0741996 -352.50 7.50 62.50 0.0683521 -352.50 7.50 67.50 0.0660298 -352.50 7.50 72.50 0.0623607 -352.50 7.50 77.50 0.0662052 -352.50 7.50 82.50 0.104932 -352.50 7.50 87.50 0.23942 -352.50 7.50 92.50 0.512872 -352.50 7.50 97.50 0.851276 -352.50 7.50 102.50 1.00664 -352.50 7.50 107.50 0.808348 -352.50 7.50 112.50 0.446618 -352.50 7.50 117.50 0.189909 -352.50 7.50 122.50 0.0775082 -352.50 7.50 127.50 0.0444665 -352.50 7.50 132.50 0.044284 -352.50 7.50 137.50 0.0581633 -352.50 7.50 142.50 0.0710801 -352.50 7.50 147.50 0.0741996 -352.50 7.50 152.50 0.0683521 -352.50 7.50 157.50 0.0660298 -352.50 7.50 162.50 0.0623607 -352.50 7.50 167.50 0.0662052 -352.50 7.50 172.50 0.104932 -352.50 7.50 177.50 0.239419 -352.50 7.50 182.50 0.512871 -352.50 7.50 187.50 0.851275 -352.50 7.50 192.50 1.00664 -352.50 7.50 197.50 0.808348 -352.50 7.50 202.50 0.446618 -352.50 7.50 207.50 0.18991 -352.50 7.50 212.50 0.0775082 -352.50 7.50 217.50 0.0444665 -352.50 7.50 222.50 0.044284 -352.50 7.50 227.50 0.0581632 -352.50 7.50 232.50 0.0710801 -352.50 7.50 237.50 0.0741996 -352.50 7.50 242.50 0.0683521 -352.50 7.50 247.50 0.0660298 -352.50 7.50 252.50 0.0623607 -352.50 7.50 257.50 0.0662052 -352.50 7.50 262.50 0.104932 -352.50 7.50 267.50 0.239419 -352.50 7.50 272.50 0.51287 -352.50 7.50 277.50 0.851274 -352.50 7.50 282.50 1.00664 -352.50 7.50 287.50 0.808349 -352.50 7.50 292.50 0.446618 -352.50 7.50 297.50 0.18991 -352.50 7.50 302.50 0.0775083 -352.50 7.50 307.50 0.0444665 -352.50 7.50 312.50 0.044284 -352.50 7.50 317.50 0.0581632 -352.50 7.50 322.50 0.0710801 -352.50 7.50 327.50 0.0741996 -352.50 7.50 332.50 0.0683521 -352.50 7.50 337.50 0.0660298 -352.50 7.50 342.50 0.0623607 -352.50 7.50 347.50 0.0662051 -352.50 7.50 352.50 0.104932 -352.50 7.50 357.50 0.239419 -352.50 12.50 2.50 0.748315 -352.50 12.50 7.50 1.1454 -352.50 12.50 12.50 1.31062 -352.50 12.50 17.50 1.07311 -352.50 12.50 22.50 0.629722 -352.50 12.50 27.50 0.295839 -352.50 12.50 32.50 0.128447 -352.50 12.50 37.50 0.0559126 -352.50 12.50 42.50 0.0339706 -352.50 12.50 47.50 0.04773 -352.50 12.50 52.50 0.0764977 -352.50 12.50 57.50 0.0934662 -352.50 12.50 62.50 0.0872312 -352.50 12.50 67.50 0.0778745 -352.50 12.50 72.50 0.0810947 -352.50 12.50 77.50 0.103142 -352.50 12.50 82.50 0.189551 -352.50 12.50 87.50 0.390835 -352.50 12.50 92.50 0.748316 -352.50 12.50 97.50 1.1454 -352.50 12.50 102.50 1.31062 -352.50 12.50 107.50 1.07311 -352.50 12.50 112.50 0.629722 -352.50 12.50 117.50 0.295839 -352.50 12.50 122.50 0.128447 -352.50 12.50 127.50 0.0559125 -352.50 12.50 132.50 0.0339706 -352.50 12.50 137.50 0.0477299 -352.50 12.50 142.50 0.0764977 -352.50 12.50 147.50 0.0934662 -352.50 12.50 152.50 0.0872312 -352.50 12.50 157.50 0.0778745 -352.50 12.50 162.50 0.0810947 -352.50 12.50 167.50 0.103142 -352.50 12.50 172.50 0.189551 -352.50 12.50 177.50 0.390835 -352.50 12.50 182.50 0.748315 -352.50 12.50 187.50 1.1454 -352.50 12.50 192.50 1.31062 -352.50 12.50 197.50 1.07311 -352.50 12.50 202.50 0.629722 -352.50 12.50 207.50 0.295839 -352.50 12.50 212.50 0.128447 -352.50 12.50 217.50 0.0559126 -352.50 12.50 222.50 0.0339706 -352.50 12.50 227.50 0.04773 -352.50 12.50 232.50 0.0764977 -352.50 12.50 237.50 0.0934663 -352.50 12.50 242.50 0.0872312 -352.50 12.50 247.50 0.0778745 -352.50 12.50 252.50 0.0810947 -352.50 12.50 257.50 0.103142 -352.50 12.50 262.50 0.189551 -352.50 12.50 267.50 0.390835 -352.50 12.50 272.50 0.748314 -352.50 12.50 277.50 1.1454 -352.50 12.50 282.50 1.31062 -352.50 12.50 287.50 1.07311 -352.50 12.50 292.50 0.629722 -352.50 12.50 297.50 0.295839 -352.50 12.50 302.50 0.128447 -352.50 12.50 307.50 0.0559127 -352.50 12.50 312.50 0.0339706 -352.50 12.50 317.50 0.04773 -352.50 12.50 322.50 0.0764976 -352.50 12.50 327.50 0.0934662 -352.50 12.50 332.50 0.0872312 -352.50 12.50 337.50 0.0778744 -352.50 12.50 342.50 0.0810947 -352.50 12.50 347.50 0.103142 -352.50 12.50 352.50 0.189551 -352.50 12.50 357.50 0.390834 -352.50 17.50 2.50 1.01248 -352.50 17.50 7.50 1.39784 -352.50 17.50 12.50 1.54438 -352.50 17.50 17.50 1.28696 -352.50 17.50 22.50 0.808873 -352.50 17.50 27.50 0.397317 -352.50 17.50 32.50 0.155453 -352.50 17.50 37.50 0.0549684 -352.50 17.50 42.50 0.0284921 -352.50 17.50 47.50 0.0423655 -352.50 17.50 52.50 0.0752199 -352.50 17.50 57.50 0.0912259 -352.50 17.50 62.50 0.0777873 -352.50 17.50 67.50 0.0895593 -352.50 17.50 72.50 0.133183 -352.50 17.50 77.50 0.202944 -352.50 17.50 82.50 0.325954 -352.50 17.50 87.50 0.608534 -352.50 17.50 92.50 1.01248 -352.50 17.50 97.50 1.39784 -352.50 17.50 102.50 1.54438 -352.50 17.50 107.50 1.28696 -352.50 17.50 112.50 0.808874 -352.50 17.50 117.50 0.397316 -352.50 17.50 122.50 0.155453 -352.50 17.50 127.50 0.0549684 -352.50 17.50 132.50 0.0284921 -352.50 17.50 137.50 0.0423655 -352.50 17.50 142.50 0.0752199 -352.50 17.50 147.50 0.0912259 -352.50 17.50 152.50 0.0777873 -352.50 17.50 157.50 0.0895592 -352.50 17.50 162.50 0.133183 -352.50 17.50 167.50 0.202944 -352.50 17.50 172.50 0.325954 -352.50 17.50 177.50 0.608533 -352.50 17.50 182.50 1.01248 -352.50 17.50 187.50 1.39784 -352.50 17.50 192.50 1.54438 -352.50 17.50 197.50 1.28696 -352.50 17.50 202.50 0.808873 -352.50 17.50 207.50 0.397317 -352.50 17.50 212.50 0.155453 -352.50 17.50 217.50 0.0549685 -352.50 17.50 222.50 0.0284921 -352.50 17.50 227.50 0.0423655 -352.50 17.50 232.50 0.0752199 -352.50 17.50 237.50 0.0912259 -352.50 17.50 242.50 0.0777873 -352.50 17.50 247.50 0.0895593 -352.50 17.50 252.50 0.133183 -352.50 17.50 257.50 0.202944 -352.50 17.50 262.50 0.325954 -352.50 17.50 267.50 0.608534 -352.50 17.50 272.50 1.01248 -352.50 17.50 277.50 1.39784 -352.50 17.50 282.50 1.54438 -352.50 17.50 287.50 1.28696 -352.50 17.50 292.50 0.808874 -352.50 17.50 297.50 0.397317 -352.50 17.50 302.50 0.155453 -352.50 17.50 307.50 0.0549685 -352.50 17.50 312.50 0.0284921 -352.50 17.50 317.50 0.0423655 -352.50 17.50 322.50 0.0752198 -352.50 17.50 327.50 0.0912259 -352.50 17.50 332.50 0.0777873 -352.50 17.50 337.50 0.0895592 -352.50 17.50 342.50 0.133183 -352.50 17.50 347.50 0.202944 -352.50 17.50 352.50 0.325954 -352.50 17.50 357.50 0.608533 -352.50 22.50 2.50 1.3146 -352.50 22.50 7.50 1.64327 -352.50 22.50 12.50 1.72547 -352.50 22.50 17.50 1.44195 -352.50 22.50 22.50 0.937677 -352.50 22.50 27.50 0.463089 -352.50 22.50 32.50 0.180599 -352.50 22.50 37.50 0.0588251 -352.50 22.50 42.50 0.0219787 -352.50 22.50 47.50 0.025159 -352.50 22.50 52.50 0.0417087 -352.50 22.50 57.50 0.0595539 -352.50 22.50 62.50 0.0712792 -352.50 22.50 67.50 0.106179 -352.50 22.50 72.50 0.19235 -352.50 22.50 77.50 0.348407 -352.50 22.50 82.50 0.553796 -352.50 22.50 87.50 0.890954 -352.50 22.50 92.50 1.3146 -352.50 22.50 97.50 1.64327 -352.50 22.50 102.50 1.72547 -352.50 22.50 107.50 1.44195 -352.50 22.50 112.50 0.937677 -352.50 22.50 117.50 0.463089 -352.50 22.50 122.50 0.180599 -352.50 22.50 127.50 0.0588251 -352.50 22.50 132.50 0.0219787 -352.50 22.50 137.50 0.025159 -352.50 22.50 142.50 0.0417087 -352.50 22.50 147.50 0.0595539 -352.50 22.50 152.50 0.0712792 -352.50 22.50 157.50 0.106179 -352.50 22.50 162.50 0.19235 -352.50 22.50 167.50 0.348407 -352.50 22.50 172.50 0.553795 -352.50 22.50 177.50 0.890953 -352.50 22.50 182.50 1.3146 -352.50 22.50 187.50 1.64327 -352.50 22.50 192.50 1.72547 -352.50 22.50 197.50 1.44195 -352.50 22.50 202.50 0.937676 -352.50 22.50 207.50 0.463089 -352.50 22.50 212.50 0.180599 -352.50 22.50 217.50 0.0588252 -352.50 22.50 222.50 0.0219787 -352.50 22.50 227.50 0.025159 -352.50 22.50 232.50 0.0417087 -352.50 22.50 237.50 0.059554 -352.50 22.50 242.50 0.0712792 -352.50 22.50 247.50 0.106179 -352.50 22.50 252.50 0.192351 -352.50 22.50 257.50 0.348407 -352.50 22.50 262.50 0.553796 -352.50 22.50 267.50 0.890954 -352.50 22.50 272.50 1.3146 -352.50 22.50 277.50 1.64327 -352.50 22.50 282.50 1.72547 -352.50 22.50 287.50 1.44195 -352.50 22.50 292.50 0.937677 -352.50 22.50 297.50 0.463089 -352.50 22.50 302.50 0.180599 -352.50 22.50 307.50 0.0588253 -352.50 22.50 312.50 0.0219787 -352.50 22.50 317.50 0.025159 -352.50 22.50 322.50 0.0417086 -352.50 22.50 327.50 0.0595539 -352.50 22.50 332.50 0.0712792 -352.50 22.50 337.50 0.106178 -352.50 22.50 342.50 0.19235 -352.50 22.50 347.50 0.348407 -352.50 22.50 352.50 0.553795 -352.50 22.50 357.50 0.890953 -352.50 27.50 2.50 1.60321 -352.50 27.50 7.50 1.87144 -352.50 27.50 12.50 1.86661 -352.50 27.50 17.50 1.50905 -352.50 27.50 22.50 0.938179 -352.50 27.50 27.50 0.445845 -352.50 27.50 32.50 0.156997 -352.50 27.50 37.50 0.0533853 -352.50 27.50 42.50 0.0213612 -352.50 27.50 47.50 0.00983797 -352.50 27.50 52.50 0.0165517 -352.50 27.50 57.50 0.0319783 -352.50 27.50 62.50 0.0627273 -352.50 27.50 67.50 0.156275 -352.50 27.50 72.50 0.301741 -352.50 27.50 77.50 0.524928 -352.50 27.50 82.50 0.836843 -352.50 27.50 87.50 1.19282 -352.50 27.50 92.50 1.60321 -352.50 27.50 97.50 1.87144 -352.50 27.50 102.50 1.86661 -352.50 27.50 107.50 1.50905 -352.50 27.50 112.50 0.938179 -352.50 27.50 117.50 0.445844 -352.50 27.50 122.50 0.156997 -352.50 27.50 127.50 0.0533852 -352.50 27.50 132.50 0.0213612 -352.50 27.50 137.50 0.00983797 -352.50 27.50 142.50 0.0165517 -352.50 27.50 147.50 0.0319783 -352.50 27.50 152.50 0.0627272 -352.50 27.50 157.50 0.156275 -352.50 27.50 162.50 0.30174 -352.50 27.50 167.50 0.524928 -352.50 27.50 172.50 0.836843 -352.50 27.50 177.50 1.19282 -352.50 27.50 182.50 1.60321 -352.50 27.50 187.50 1.87144 -352.50 27.50 192.50 1.86661 -352.50 27.50 197.50 1.50905 -352.50 27.50 202.50 0.938179 -352.50 27.50 207.50 0.445845 -352.50 27.50 212.50 0.156997 -352.50 27.50 217.50 0.0533853 -352.50 27.50 222.50 0.0213612 -352.50 27.50 227.50 0.00983798 -352.50 27.50 232.50 0.0165517 -352.50 27.50 237.50 0.0319783 -352.50 27.50 242.50 0.0627275 -352.50 27.50 247.50 0.156276 -352.50 27.50 252.50 0.301741 -352.50 27.50 257.50 0.524928 -352.50 27.50 262.50 0.836844 -352.50 27.50 267.50 1.19282 -352.50 27.50 272.50 1.60321 -352.50 27.50 277.50 1.87144 -352.50 27.50 282.50 1.86661 -352.50 27.50 287.50 1.50905 -352.50 27.50 292.50 0.938179 -352.50 27.50 297.50 0.445845 -352.50 27.50 302.50 0.156997 -352.50 27.50 307.50 0.0533854 -352.50 27.50 312.50 0.0213612 -352.50 27.50 317.50 0.00983797 -352.50 27.50 322.50 0.0165516 -352.50 27.50 327.50 0.0319782 -352.50 27.50 332.50 0.0627272 -352.50 27.50 337.50 0.156275 -352.50 27.50 342.50 0.30174 -352.50 27.50 347.50 0.524927 -352.50 27.50 352.50 0.836842 -352.50 27.50 357.50 1.19282 -352.50 32.50 2.50 1.86337 -352.50 32.50 7.50 2.05966 -352.50 32.50 12.50 1.95496 -352.50 32.50 17.50 1.49025 -352.50 32.50 22.50 0.854601 -352.50 32.50 27.50 0.375538 -352.50 32.50 32.50 0.14802 -352.50 32.50 37.50 0.0522474 -352.50 32.50 42.50 0.019153 -352.50 32.50 47.50 0.00789954 -352.50 32.50 52.50 0.00774663 -352.50 32.50 57.50 0.0282593 -352.50 32.50 62.50 0.0934184 -352.50 32.50 67.50 0.222834 -352.50 32.50 72.50 0.491082 -352.50 32.50 77.50 0.811061 -352.50 32.50 82.50 1.20728 -352.50 32.50 87.50 1.53807 -352.50 32.50 92.50 1.86337 -352.50 32.50 97.50 2.05966 -352.50 32.50 102.50 1.95496 -352.50 32.50 107.50 1.49025 -352.50 32.50 112.50 0.854602 -352.50 32.50 117.50 0.375538 -352.50 32.50 122.50 0.14802 -352.50 32.50 127.50 0.0522474 -352.50 32.50 132.50 0.019153 -352.50 32.50 137.50 0.00789954 -352.50 32.50 142.50 0.00774662 -352.50 32.50 147.50 0.0282592 -352.50 32.50 152.50 0.0934183 -352.50 32.50 157.50 0.222834 -352.50 32.50 162.50 0.491082 -352.50 32.50 167.50 0.811061 -352.50 32.50 172.50 1.20728 -352.50 32.50 177.50 1.53807 -352.50 32.50 182.50 1.86337 -352.50 32.50 187.50 2.05966 -352.50 32.50 192.50 1.95496 -352.50 32.50 197.50 1.49025 -352.50 32.50 202.50 0.854602 -352.50 32.50 207.50 0.375538 -352.50 32.50 212.50 0.14802 -352.50 32.50 217.50 0.0522475 -352.50 32.50 222.50 0.0191531 -352.50 32.50 227.50 0.00789955 -352.50 32.50 232.50 0.00774666 -352.50 32.50 237.50 0.0282593 -352.50 32.50 242.50 0.0934185 -352.50 32.50 247.50 0.222835 -352.50 32.50 252.50 0.491083 -352.50 32.50 257.50 0.811062 -352.50 32.50 262.50 1.20728 -352.50 32.50 267.50 1.53807 -352.50 32.50 272.50 1.86337 -352.50 32.50 277.50 2.05967 -352.50 32.50 282.50 1.95496 -352.50 32.50 287.50 1.49025 -352.50 32.50 292.50 0.854602 -352.50 32.50 297.50 0.375538 -352.50 32.50 302.50 0.14802 -352.50 32.50 307.50 0.0522475 -352.50 32.50 312.50 0.0191531 -352.50 32.50 317.50 0.00789955 -352.50 32.50 322.50 0.00774662 -352.50 32.50 327.50 0.0282592 -352.50 32.50 332.50 0.0934182 -352.50 32.50 337.50 0.222834 -352.50 32.50 342.50 0.491082 -352.50 32.50 347.50 0.811061 -352.50 32.50 352.50 1.20728 -352.50 32.50 357.50 1.53807 -352.50 37.50 2.50 2.17935 -352.50 37.50 7.50 2.25355 -352.50 37.50 12.50 2.04186 -352.50 37.50 17.50 1.47645 -352.50 37.50 22.50 0.831756 -352.50 37.50 27.50 0.368096 -352.50 37.50 32.50 0.142297 -352.50 37.50 37.50 0.0559941 -352.50 37.50 42.50 0.0225164 -352.50 37.50 47.50 0.0128106 -352.50 37.50 52.50 0.0189671 -352.50 37.50 57.50 0.0562322 -352.50 37.50 62.50 0.176797 -352.50 37.50 67.50 0.419196 -352.50 37.50 72.50 0.808453 -352.50 37.50 77.50 1.31861 -352.50 37.50 82.50 1.73793 -352.50 37.50 87.50 2.00916 -352.50 37.50 92.50 2.17935 -352.50 37.50 97.50 2.25355 -352.50 37.50 102.50 2.04186 -352.50 37.50 107.50 1.47645 -352.50 37.50 112.50 0.831756 -352.50 37.50 117.50 0.368096 -352.50 37.50 122.50 0.142297 -352.50 37.50 127.50 0.0559941 -352.50 37.50 132.50 0.0225163 -352.50 37.50 137.50 0.0128106 -352.50 37.50 142.50 0.0189671 -352.50 37.50 147.50 0.0562322 -352.50 37.50 152.50 0.176797 -352.50 37.50 157.50 0.419195 -352.50 37.50 162.50 0.808452 -352.50 37.50 167.50 1.31861 -352.50 37.50 172.50 1.73793 -352.50 37.50 177.50 2.00917 -352.50 37.50 182.50 2.17935 -352.50 37.50 187.50 2.25355 -352.50 37.50 192.50 2.04186 -352.50 37.50 197.50 1.47645 -352.50 37.50 202.50 0.831756 -352.50 37.50 207.50 0.368096 -352.50 37.50 212.50 0.142297 -352.50 37.50 217.50 0.0559941 -352.50 37.50 222.50 0.0225164 -352.50 37.50 227.50 0.0128106 -352.50 37.50 232.50 0.0189671 -352.50 37.50 237.50 0.0562324 -352.50 37.50 242.50 0.176797 -352.50 37.50 247.50 0.419196 -352.50 37.50 252.50 0.808453 -352.50 37.50 257.50 1.31861 -352.50 37.50 262.50 1.73794 -352.50 37.50 267.50 2.00917 -352.50 37.50 272.50 2.17935 -352.50 37.50 277.50 2.25355 -352.50 37.50 282.50 2.04186 -352.50 37.50 287.50 1.47645 -352.50 37.50 292.50 0.831756 -352.50 37.50 297.50 0.368097 -352.50 37.50 302.50 0.142297 -352.50 37.50 307.50 0.0559942 -352.50 37.50 312.50 0.0225164 -352.50 37.50 317.50 0.0128106 -352.50 37.50 322.50 0.0189671 -352.50 37.50 327.50 0.0562321 -352.50 37.50 332.50 0.176797 -352.50 37.50 337.50 0.419195 -352.50 37.50 342.50 0.808453 -352.50 37.50 347.50 1.31861 -352.50 37.50 352.50 1.73793 -352.50 37.50 357.50 2.00917 -352.50 42.50 2.50 2.49553 -352.50 42.50 7.50 2.365 -352.50 42.50 12.50 2.04755 -352.50 42.50 17.50 1.47636 -352.50 42.50 22.50 0.837116 -352.50 42.50 27.50 0.389938 -352.50 42.50 32.50 0.153384 -352.50 42.50 37.50 0.0649628 -352.50 42.50 42.50 0.0293369 -352.50 42.50 47.50 0.0240779 -352.50 42.50 52.50 0.0544543 -352.50 42.50 57.50 0.131228 -352.50 42.50 62.50 0.347488 -352.50 42.50 67.50 0.761165 -352.50 42.50 72.50 1.32266 -352.50 42.50 77.50 1.93565 -352.50 42.50 82.50 2.38862 -352.50 42.50 87.50 2.5511 -352.50 42.50 92.50 2.49553 -352.50 42.50 97.50 2.365 -352.50 42.50 102.50 2.04755 -352.50 42.50 107.50 1.47636 -352.50 42.50 112.50 0.837116 -352.50 42.50 117.50 0.389938 -352.50 42.50 122.50 0.153384 -352.50 42.50 127.50 0.0649628 -352.50 42.50 132.50 0.0293369 -352.50 42.50 137.50 0.0240779 -352.50 42.50 142.50 0.0544542 -352.50 42.50 147.50 0.131228 -352.50 42.50 152.50 0.347488 -352.50 42.50 157.50 0.761164 -352.50 42.50 162.50 1.32266 -352.50 42.50 167.50 1.93565 -352.50 42.50 172.50 2.38862 -352.50 42.50 177.50 2.5511 -352.50 42.50 182.50 2.49553 -352.50 42.50 187.50 2.365 -352.50 42.50 192.50 2.04755 -352.50 42.50 197.50 1.47636 -352.50 42.50 202.50 0.837116 -352.50 42.50 207.50 0.389938 -352.50 42.50 212.50 0.153384 -352.50 42.50 217.50 0.0649629 -352.50 42.50 222.50 0.029337 -352.50 42.50 227.50 0.0240779 -352.50 42.50 232.50 0.0544544 -352.50 42.50 237.50 0.131228 -352.50 42.50 242.50 0.347489 -352.50 42.50 247.50 0.761166 -352.50 42.50 252.50 1.32266 -352.50 42.50 257.50 1.93566 -352.50 42.50 262.50 2.38862 -352.50 42.50 267.50 2.5511 -352.50 42.50 272.50 2.49553 -352.50 42.50 277.50 2.365 -352.50 42.50 282.50 2.04755 -352.50 42.50 287.50 1.47636 -352.50 42.50 292.50 0.837116 -352.50 42.50 297.50 0.389939 -352.50 42.50 302.50 0.153384 -352.50 42.50 307.50 0.0649629 -352.50 42.50 312.50 0.029337 -352.50 42.50 317.50 0.0240779 -352.50 42.50 322.50 0.0544542 -352.50 42.50 327.50 0.131228 -352.50 42.50 332.50 0.347487 -352.50 42.50 337.50 0.761163 -352.50 42.50 342.50 1.32266 -352.50 42.50 347.50 1.93565 -352.50 42.50 352.50 2.38862 -352.50 42.50 357.50 2.5511 -352.50 47.50 2.50 2.62872 -352.50 47.50 7.50 2.27301 -352.50 47.50 12.50 1.92049 -352.50 47.50 17.50 1.38669 -352.50 47.50 22.50 0.811877 -352.50 47.50 27.50 0.390396 -352.50 47.50 32.50 0.175949 -352.50 47.50 37.50 0.0798339 -352.50 47.50 42.50 0.037003 -352.50 47.50 47.50 0.0461649 -352.50 47.50 52.50 0.102518 -352.50 47.50 57.50 0.257133 -352.50 47.50 62.50 0.578411 -352.50 47.50 67.50 1.11737 -352.50 47.50 72.50 1.86442 -352.50 47.50 77.50 2.53676 -352.50 47.50 82.50 2.93874 -352.50 47.50 87.50 2.92708 -352.50 47.50 92.50 2.62872 -352.50 47.50 97.50 2.273 -352.50 47.50 102.50 1.92049 -352.50 47.50 107.50 1.38669 -352.50 47.50 112.50 0.811877 -352.50 47.50 117.50 0.390396 -352.50 47.50 122.50 0.175949 -352.50 47.50 127.50 0.0798339 -352.50 47.50 132.50 0.037003 -352.50 47.50 137.50 0.0461649 -352.50 47.50 142.50 0.102518 -352.50 47.50 147.50 0.257133 -352.50 47.50 152.50 0.57841 -352.50 47.50 157.50 1.11737 -352.50 47.50 162.50 1.86442 -352.50 47.50 167.50 2.53676 -352.50 47.50 172.50 2.93874 -352.50 47.50 177.50 2.92708 -352.50 47.50 182.50 2.62872 -352.50 47.50 187.50 2.27301 -352.50 47.50 192.50 1.92049 -352.50 47.50 197.50 1.38669 -352.50 47.50 202.50 0.811877 -352.50 47.50 207.50 0.390397 -352.50 47.50 212.50 0.175949 -352.50 47.50 217.50 0.0798341 -352.50 47.50 222.50 0.0370031 -352.50 47.50 227.50 0.0461649 -352.50 47.50 232.50 0.102518 -352.50 47.50 237.50 0.257133 -352.50 47.50 242.50 0.578411 -352.50 47.50 247.50 1.11738 -352.50 47.50 252.50 1.86442 -352.50 47.50 257.50 2.53676 -352.50 47.50 262.50 2.93874 -352.50 47.50 267.50 2.92708 -352.50 47.50 272.50 2.62872 -352.50 47.50 277.50 2.27301 -352.50 47.50 282.50 1.92049 -352.50 47.50 287.50 1.38669 -352.50 47.50 292.50 0.811877 -352.50 47.50 297.50 0.390397 -352.50 47.50 302.50 0.175949 -352.50 47.50 307.50 0.079834 -352.50 47.50 312.50 0.0370031 -352.50 47.50 317.50 0.0461649 -352.50 47.50 322.50 0.102518 -352.50 47.50 327.50 0.257132 -352.50 47.50 332.50 0.57841 -352.50 47.50 337.50 1.11737 -352.50 47.50 342.50 1.86442 -352.50 47.50 347.50 2.53676 -352.50 47.50 352.50 2.93874 -352.50 47.50 357.50 2.92709 -352.50 52.50 2.50 2.49553 -352.50 52.50 7.50 2.05578 -352.50 52.50 12.50 1.72614 -352.50 52.50 17.50 1.23847 -352.50 52.50 22.50 0.753954 -352.50 52.50 27.50 0.392732 -352.50 52.50 32.50 0.165767 -352.50 52.50 37.50 0.0917993 -352.50 52.50 42.50 0.0464113 -352.50 52.50 47.50 0.0466048 -352.50 52.50 52.50 0.144797 -352.50 52.50 57.50 0.391492 -352.50 52.50 62.50 0.815127 -352.50 52.50 67.50 1.51786 -352.50 52.50 72.50 2.18842 -352.50 52.50 77.50 2.87826 -352.50 52.50 82.50 3.21772 -352.50 52.50 87.50 2.9432 -352.50 52.50 92.50 2.49553 -352.50 52.50 97.50 2.05578 -352.50 52.50 102.50 1.72614 -352.50 52.50 107.50 1.23847 -352.50 52.50 112.50 0.753954 -352.50 52.50 117.50 0.392731 -352.50 52.50 122.50 0.165767 -352.50 52.50 127.50 0.0917993 -352.50 52.50 132.50 0.0464112 -352.50 52.50 137.50 0.0466047 -352.50 52.50 142.50 0.144797 -352.50 52.50 147.50 0.391492 -352.50 52.50 152.50 0.815126 -352.50 52.50 157.50 1.51786 -352.50 52.50 162.50 2.18842 -352.50 52.50 167.50 2.87826 -352.50 52.50 172.50 3.21772 -352.50 52.50 177.50 2.9432 -352.50 52.50 182.50 2.49553 -352.50 52.50 187.50 2.05578 -352.50 52.50 192.50 1.72614 -352.50 52.50 197.50 1.23847 -352.50 52.50 202.50 0.753954 -352.50 52.50 207.50 0.392732 -352.50 52.50 212.50 0.165767 -352.50 52.50 217.50 0.0917993 -352.50 52.50 222.50 0.0464113 -352.50 52.50 227.50 0.0466048 -352.50 52.50 232.50 0.144797 -352.50 52.50 237.50 0.391493 -352.50 52.50 242.50 0.815127 -352.50 52.50 247.50 1.51786 -352.50 52.50 252.50 2.18842 -352.50 52.50 257.50 2.87826 -352.50 52.50 262.50 3.21772 -352.50 52.50 267.50 2.94319 -352.50 52.50 272.50 2.49553 -352.50 52.50 277.50 2.05578 -352.50 52.50 282.50 1.72614 -352.50 52.50 287.50 1.23847 -352.50 52.50 292.50 0.753954 -352.50 52.50 297.50 0.392732 -352.50 52.50 302.50 0.165767 -352.50 52.50 307.50 0.0917994 -352.50 52.50 312.50 0.0464113 -352.50 52.50 317.50 0.0466048 -352.50 52.50 322.50 0.144796 -352.50 52.50 327.50 0.391492 -352.50 52.50 332.50 0.815126 -352.50 52.50 337.50 1.51786 -352.50 52.50 342.50 2.18842 -352.50 52.50 347.50 2.87826 -352.50 52.50 352.50 3.21772 -352.50 52.50 357.50 2.9432 -352.50 57.50 2.50 2.17935 -352.50 57.50 7.50 1.8072 -352.50 57.50 12.50 1.47076 -352.50 57.50 17.50 1.05549 -352.50 57.50 22.50 0.650024 -352.50 57.50 27.50 0.348999 -352.50 57.50 32.50 0.162978 -352.50 57.50 37.50 0.0742195 -352.50 57.50 42.50 0.0333967 -352.50 57.50 47.50 0.0493123 -352.50 57.50 52.50 0.150861 -352.50 57.50 57.50 0.461796 -352.50 57.50 62.50 1.06828 -352.50 57.50 67.50 1.8291 -352.50 57.50 72.50 2.41409 -352.50 57.50 77.50 2.89175 -352.50 57.50 82.50 3.142 -352.50 57.50 87.50 2.68301 -352.50 57.50 92.50 2.17935 -352.50 57.50 97.50 1.80721 -352.50 57.50 102.50 1.47076 -352.50 57.50 107.50 1.05549 -352.50 57.50 112.50 0.650024 -352.50 57.50 117.50 0.348999 -352.50 57.50 122.50 0.162978 -352.50 57.50 127.50 0.0742195 -352.50 57.50 132.50 0.0333968 -352.50 57.50 137.50 0.0493123 -352.50 57.50 142.50 0.150861 -352.50 57.50 147.50 0.461796 -352.50 57.50 152.50 1.06827 -352.50 57.50 157.50 1.8291 -352.50 57.50 162.50 2.41409 -352.50 57.50 167.50 2.89175 -352.50 57.50 172.50 3.142 -352.50 57.50 177.50 2.68301 -352.50 57.50 182.50 2.17935 -352.50 57.50 187.50 1.80721 -352.50 57.50 192.50 1.47076 -352.50 57.50 197.50 1.05549 -352.50 57.50 202.50 0.650023 -352.50 57.50 207.50 0.348999 -352.50 57.50 212.50 0.162978 -352.50 57.50 217.50 0.0742196 -352.50 57.50 222.50 0.0333968 -352.50 57.50 227.50 0.0493123 -352.50 57.50 232.50 0.150862 -352.50 57.50 237.50 0.461797 -352.50 57.50 242.50 1.06828 -352.50 57.50 247.50 1.8291 -352.50 57.50 252.50 2.4141 -352.50 57.50 257.50 2.89175 -352.50 57.50 262.50 3.142 -352.50 57.50 267.50 2.68301 -352.50 57.50 272.50 2.17935 -352.50 57.50 277.50 1.8072 -352.50 57.50 282.50 1.47076 -352.50 57.50 287.50 1.05549 -352.50 57.50 292.50 0.650023 -352.50 57.50 297.50 0.348999 -352.50 57.50 302.50 0.162979 -352.50 57.50 307.50 0.0742196 -352.50 57.50 312.50 0.0333968 -352.50 57.50 317.50 0.0493123 -352.50 57.50 322.50 0.150861 -352.50 57.50 327.50 0.461796 -352.50 57.50 332.50 1.06827 -352.50 57.50 337.50 1.8291 -352.50 57.50 342.50 2.41409 -352.50 57.50 347.50 2.89175 -352.50 57.50 352.50 3.142 -352.50 57.50 357.50 2.68301 -352.50 62.50 2.50 1.86337 -352.50 62.50 7.50 1.56995 -352.50 62.50 12.50 1.22202 -352.50 62.50 17.50 0.837214 -352.50 62.50 22.50 0.528726 -352.50 62.50 27.50 0.273299 -352.50 62.50 32.50 0.127602 -352.50 62.50 37.50 0.0563769 -352.50 62.50 42.50 0.023734 -352.50 62.50 47.50 0.0377003 -352.50 62.50 52.50 0.162803 -352.50 62.50 57.50 0.513419 -352.50 62.50 62.50 1.14071 -352.50 62.50 67.50 1.87162 -352.50 62.50 72.50 2.44214 -352.50 62.50 77.50 2.69226 -352.50 62.50 82.50 2.81722 -352.50 62.50 87.50 2.35633 -352.50 62.50 92.50 1.86337 -352.50 62.50 97.50 1.56995 -352.50 62.50 102.50 1.22202 -352.50 62.50 107.50 0.837214 -352.50 62.50 112.50 0.528726 -352.50 62.50 117.50 0.273298 -352.50 62.50 122.50 0.127602 -352.50 62.50 127.50 0.0563769 -352.50 62.50 132.50 0.023734 -352.50 62.50 137.50 0.0377003 -352.50 62.50 142.50 0.162803 -352.50 62.50 147.50 0.513419 -352.50 62.50 152.50 1.14071 -352.50 62.50 157.50 1.87162 -352.50 62.50 162.50 2.44214 -352.50 62.50 167.50 2.69226 -352.50 62.50 172.50 2.81722 -352.50 62.50 177.50 2.35633 -352.50 62.50 182.50 1.86337 -352.50 62.50 187.50 1.56995 -352.50 62.50 192.50 1.22202 -352.50 62.50 197.50 0.837214 -352.50 62.50 202.50 0.528726 -352.50 62.50 207.50 0.273299 -352.50 62.50 212.50 0.127602 -352.50 62.50 217.50 0.0563769 -352.50 62.50 222.50 0.023734 -352.50 62.50 227.50 0.0377003 -352.50 62.50 232.50 0.162803 -352.50 62.50 237.50 0.513419 -352.50 62.50 242.50 1.14071 -352.50 62.50 247.50 1.87162 -352.50 62.50 252.50 2.44214 -352.50 62.50 257.50 2.69226 -352.50 62.50 262.50 2.81722 -352.50 62.50 267.50 2.35633 -352.50 62.50 272.50 1.86337 -352.50 62.50 277.50 1.56995 -352.50 62.50 282.50 1.22202 -352.50 62.50 287.50 0.837214 -352.50 62.50 292.50 0.528726 -352.50 62.50 297.50 0.273299 -352.50 62.50 302.50 0.127602 -352.50 62.50 307.50 0.056377 -352.50 62.50 312.50 0.023734 -352.50 62.50 317.50 0.0377003 -352.50 62.50 322.50 0.162803 -352.50 62.50 327.50 0.513418 -352.50 62.50 332.50 1.14071 -352.50 62.50 337.50 1.87162 -352.50 62.50 342.50 2.44214 -352.50 62.50 347.50 2.69226 -352.50 62.50 352.50 2.81722 -352.50 62.50 357.50 2.35633 -352.50 67.50 2.50 1.60321 -352.50 67.50 7.50 1.38249 -352.50 67.50 12.50 1.04917 -352.50 67.50 17.50 0.720636 -352.50 67.50 22.50 0.447432 -352.50 67.50 27.50 0.221437 -352.50 67.50 32.50 0.116185 -352.50 67.50 37.50 0.0508088 -352.50 67.50 42.50 0.0218166 -352.50 67.50 47.50 0.0498328 -352.50 67.50 52.50 0.176852 -352.50 67.50 57.50 0.466122 -352.50 67.50 62.50 0.98482 -352.50 67.50 67.50 1.71088 -352.50 67.50 72.50 2.2456 -352.50 67.50 77.50 2.47398 -352.50 67.50 82.50 2.45028 -352.50 67.50 87.50 2.02542 -352.50 67.50 92.50 1.60321 -352.50 67.50 97.50 1.38249 -352.50 67.50 102.50 1.04917 -352.50 67.50 107.50 0.720636 -352.50 67.50 112.50 0.447432 -352.50 67.50 117.50 0.221437 -352.50 67.50 122.50 0.116185 -352.50 67.50 127.50 0.0508088 -352.50 67.50 132.50 0.0218166 -352.50 67.50 137.50 0.0498329 -352.50 67.50 142.50 0.176852 -352.50 67.50 147.50 0.466122 -352.50 67.50 152.50 0.984818 -352.50 67.50 157.50 1.71088 -352.50 67.50 162.50 2.2456 -352.50 67.50 167.50 2.47398 -352.50 67.50 172.50 2.45028 -352.50 67.50 177.50 2.02542 -352.50 67.50 182.50 1.60321 -352.50 67.50 187.50 1.38249 -352.50 67.50 192.50 1.04917 -352.50 67.50 197.50 0.720636 -352.50 67.50 202.50 0.447432 -352.50 67.50 207.50 0.221437 -352.50 67.50 212.50 0.116185 -352.50 67.50 217.50 0.0508088 -352.50 67.50 222.50 0.0218166 -352.50 67.50 227.50 0.0498328 -352.50 67.50 232.50 0.176852 -352.50 67.50 237.50 0.466123 -352.50 67.50 242.50 0.984821 -352.50 67.50 247.50 1.71089 -352.50 67.50 252.50 2.2456 -352.50 67.50 257.50 2.47398 -352.50 67.50 262.50 2.45028 -352.50 67.50 267.50 2.02542 -352.50 67.50 272.50 1.60321 -352.50 67.50 277.50 1.38249 -352.50 67.50 282.50 1.04917 -352.50 67.50 287.50 0.720636 -352.50 67.50 292.50 0.447432 -352.50 67.50 297.50 0.221437 -352.50 67.50 302.50 0.116185 -352.50 67.50 307.50 0.0508089 -352.50 67.50 312.50 0.0218166 -352.50 67.50 317.50 0.0498328 -352.50 67.50 322.50 0.176851 -352.50 67.50 327.50 0.466121 -352.50 67.50 332.50 0.984818 -352.50 67.50 337.50 1.71088 -352.50 67.50 342.50 2.2456 -352.50 67.50 347.50 2.47398 -352.50 67.50 352.50 2.45028 -352.50 67.50 357.50 2.02542 -352.50 72.50 2.50 1.3146 -352.50 72.50 7.50 1.16836 -352.50 72.50 12.50 0.93639 -352.50 72.50 17.50 0.686338 -352.50 72.50 22.50 0.413102 -352.50 72.50 27.50 0.257136 -352.50 72.50 32.50 0.136687 -352.50 72.50 37.50 0.0489954 -352.50 72.50 42.50 0.0235675 -352.50 72.50 47.50 0.0442931 -352.50 72.50 52.50 0.153303 -352.50 72.50 57.50 0.39063 -352.50 72.50 62.50 0.798172 -352.50 72.50 67.50 1.35854 -352.50 72.50 72.50 1.95805 -352.50 72.50 77.50 2.17321 -352.50 72.50 82.50 2.07273 -352.50 72.50 87.50 1.61507 -352.50 72.50 92.50 1.3146 -352.50 72.50 97.50 1.16836 -352.50 72.50 102.50 0.936389 -352.50 72.50 107.50 0.686339 -352.50 72.50 112.50 0.413101 -352.50 72.50 117.50 0.257136 -352.50 72.50 122.50 0.136687 -352.50 72.50 127.50 0.0489954 -352.50 72.50 132.50 0.0235674 -352.50 72.50 137.50 0.0442931 -352.50 72.50 142.50 0.153303 -352.50 72.50 147.50 0.39063 -352.50 72.50 152.50 0.798171 -352.50 72.50 157.50 1.35854 -352.50 72.50 162.50 1.95805 -352.50 72.50 167.50 2.17321 -352.50 72.50 172.50 2.07273 -352.50 72.50 177.50 1.61508 -352.50 72.50 182.50 1.3146 -352.50 72.50 187.50 1.16836 -352.50 72.50 192.50 0.936389 -352.50 72.50 197.50 0.686338 -352.50 72.50 202.50 0.413101 -352.50 72.50 207.50 0.257137 -352.50 72.50 212.50 0.136686 -352.50 72.50 217.50 0.0489955 -352.50 72.50 222.50 0.0235675 -352.50 72.50 227.50 0.0442931 -352.50 72.50 232.50 0.153303 -352.50 72.50 237.50 0.390631 -352.50 72.50 242.50 0.798172 -352.50 72.50 247.50 1.35854 -352.50 72.50 252.50 1.95805 -352.50 72.50 257.50 2.17321 -352.50 72.50 262.50 2.07273 -352.50 72.50 267.50 1.61507 -352.50 72.50 272.50 1.3146 -352.50 72.50 277.50 1.16836 -352.50 72.50 282.50 0.93639 -352.50 72.50 287.50 0.686338 -352.50 72.50 292.50 0.413101 -352.50 72.50 297.50 0.257137 -352.50 72.50 302.50 0.136687 -352.50 72.50 307.50 0.0489955 -352.50 72.50 312.50 0.0235674 -352.50 72.50 317.50 0.044293 -352.50 72.50 322.50 0.153302 -352.50 72.50 327.50 0.390629 -352.50 72.50 332.50 0.79817 -352.50 72.50 337.50 1.35853 -352.50 72.50 342.50 1.95805 -352.50 72.50 347.50 2.17321 -352.50 72.50 352.50 2.07274 -352.50 72.50 357.50 1.61508 -352.50 77.50 2.50 1.01248 -352.50 77.50 7.50 0.917429 -352.50 77.50 12.50 0.821512 -352.50 77.50 17.50 0.625248 -352.50 77.50 22.50 0.428223 -352.50 77.50 27.50 0.268075 -352.50 77.50 32.50 0.132119 -352.50 77.50 37.50 0.0602603 -352.50 77.50 42.50 0.0249284 -352.50 77.50 47.50 0.037211 -352.50 77.50 52.50 0.111409 -352.50 77.50 57.50 0.307125 -352.50 77.50 62.50 0.6007 -352.50 77.50 67.50 0.986121 -352.50 77.50 72.50 1.41792 -352.50 77.50 77.50 1.65912 -352.50 77.50 82.50 1.5055 -352.50 77.50 87.50 1.2343 -352.50 77.50 92.50 1.01248 -352.50 77.50 97.50 0.917429 -352.50 77.50 102.50 0.821512 -352.50 77.50 107.50 0.625248 -352.50 77.50 112.50 0.428223 -352.50 77.50 117.50 0.268074 -352.50 77.50 122.50 0.132119 -352.50 77.50 127.50 0.0602603 -352.50 77.50 132.50 0.0249284 -352.50 77.50 137.50 0.037211 -352.50 77.50 142.50 0.111409 -352.50 77.50 147.50 0.307126 -352.50 77.50 152.50 0.600699 -352.50 77.50 157.50 0.986119 -352.50 77.50 162.50 1.41792 -352.50 77.50 167.50 1.65912 -352.50 77.50 172.50 1.5055 -352.50 77.50 177.50 1.2343 -352.50 77.50 182.50 1.01248 -352.50 77.50 187.50 0.917428 -352.50 77.50 192.50 0.821512 -352.50 77.50 197.50 0.625248 -352.50 77.50 202.50 0.428223 -352.50 77.50 207.50 0.268075 -352.50 77.50 212.50 0.132119 -352.50 77.50 217.50 0.0602603 -352.50 77.50 222.50 0.0249284 -352.50 77.50 227.50 0.037211 -352.50 77.50 232.50 0.111409 -352.50 77.50 237.50 0.307126 -352.50 77.50 242.50 0.6007 -352.50 77.50 247.50 0.986121 -352.50 77.50 252.50 1.41792 -352.50 77.50 257.50 1.65912 -352.50 77.50 262.50 1.5055 -352.50 77.50 267.50 1.2343 -352.50 77.50 272.50 1.01248 -352.50 77.50 277.50 0.917429 -352.50 77.50 282.50 0.821512 -352.50 77.50 287.50 0.625248 -352.50 77.50 292.50 0.428223 -352.50 77.50 297.50 0.268075 -352.50 77.50 302.50 0.132119 -352.50 77.50 307.50 0.0602604 -352.50 77.50 312.50 0.0249285 -352.50 77.50 317.50 0.037211 -352.50 77.50 322.50 0.111409 -352.50 77.50 327.50 0.307125 -352.50 77.50 332.50 0.600698 -352.50 77.50 337.50 0.986119 -352.50 77.50 342.50 1.41792 -352.50 77.50 347.50 1.65912 -352.50 77.50 352.50 1.5055 -352.50 77.50 357.50 1.2343 -352.50 82.50 2.50 0.748315 -352.50 82.50 7.50 0.746943 -352.50 82.50 12.50 0.660446 -352.50 82.50 17.50 0.560352 -352.50 82.50 22.50 0.448151 -352.50 82.50 27.50 0.280424 -352.50 82.50 32.50 0.134886 -352.50 82.50 37.50 0.0488189 -352.50 82.50 42.50 0.0214686 -352.50 82.50 47.50 0.0303564 -352.50 82.50 52.50 0.0765615 -352.50 82.50 57.50 0.179141 -352.50 82.50 62.50 0.36465 -352.50 82.50 67.50 0.602203 -352.50 82.50 72.50 0.87596 -352.50 82.50 77.50 1.07335 -352.50 82.50 82.50 1.00203 -352.50 82.50 87.50 0.876765 -352.50 82.50 92.50 0.748315 -352.50 82.50 97.50 0.746943 -352.50 82.50 102.50 0.660447 -352.50 82.50 107.50 0.560352 -352.50 82.50 112.50 0.44815 -352.50 82.50 117.50 0.280424 -352.50 82.50 122.50 0.134886 -352.50 82.50 127.50 0.0488189 -352.50 82.50 132.50 0.0214686 -352.50 82.50 137.50 0.0303564 -352.50 82.50 142.50 0.0765615 -352.50 82.50 147.50 0.179141 -352.50 82.50 152.50 0.36465 -352.50 82.50 157.50 0.602202 -352.50 82.50 162.50 0.87596 -352.50 82.50 167.50 1.07335 -352.50 82.50 172.50 1.00203 -352.50 82.50 177.50 0.876765 -352.50 82.50 182.50 0.748315 -352.50 82.50 187.50 0.746943 -352.50 82.50 192.50 0.660446 -352.50 82.50 197.50 0.560352 -352.50 82.50 202.50 0.44815 -352.50 82.50 207.50 0.280424 -352.50 82.50 212.50 0.134886 -352.50 82.50 217.50 0.048819 -352.50 82.50 222.50 0.0214686 -352.50 82.50 227.50 0.0303564 -352.50 82.50 232.50 0.0765617 -352.50 82.50 237.50 0.179141 -352.50 82.50 242.50 0.364651 -352.50 82.50 247.50 0.602203 -352.50 82.50 252.50 0.87596 -352.50 82.50 257.50 1.07335 -352.50 82.50 262.50 1.00203 -352.50 82.50 267.50 0.876765 -352.50 82.50 272.50 0.748315 -352.50 82.50 277.50 0.746943 -352.50 82.50 282.50 0.660446 -352.50 82.50 287.50 0.560352 -352.50 82.50 292.50 0.44815 -352.50 82.50 297.50 0.280424 -352.50 82.50 302.50 0.134886 -352.50 82.50 307.50 0.048819 -352.50 82.50 312.50 0.0214686 -352.50 82.50 317.50 0.0303563 -352.50 82.50 322.50 0.0765614 -352.50 82.50 327.50 0.17914 -352.50 82.50 332.50 0.36465 -352.50 82.50 337.50 0.602202 -352.50 82.50 342.50 0.875959 -352.50 82.50 347.50 1.07335 -352.50 82.50 352.50 1.00202 -352.50 82.50 357.50 0.876765 -352.50 87.50 2.50 0.512871 -352.50 87.50 7.50 0.49772 -352.50 87.50 12.50 0.571703 -352.50 87.50 17.50 0.564787 -352.50 87.50 22.50 0.38306 -352.50 87.50 27.50 0.227339 -352.50 87.50 32.50 0.131055 -352.50 87.50 37.50 0.0696179 -352.50 87.50 42.50 0.0333851 -352.50 87.50 47.50 0.0269072 -352.50 87.50 52.50 0.0563672 -352.50 87.50 57.50 0.116873 -352.50 87.50 62.50 0.200306 -352.50 87.50 67.50 0.323799 -352.50 87.50 72.50 0.495937 -352.50 87.50 77.50 0.619436 -352.50 87.50 82.50 0.610194 -352.50 87.50 87.50 0.52534 -352.50 87.50 92.50 0.512871 -352.50 87.50 97.50 0.49772 -352.50 87.50 102.50 0.571703 -352.50 87.50 107.50 0.564787 -352.50 87.50 112.50 0.38306 -352.50 87.50 117.50 0.227339 -352.50 87.50 122.50 0.131055 -352.50 87.50 127.50 0.0696179 -352.50 87.50 132.50 0.033385 -352.50 87.50 137.50 0.0269072 -352.50 87.50 142.50 0.0563672 -352.50 87.50 147.50 0.116873 -352.50 87.50 152.50 0.200306 -352.50 87.50 157.50 0.323799 -352.50 87.50 162.50 0.495937 -352.50 87.50 167.50 0.619436 -352.50 87.50 172.50 0.610195 -352.50 87.50 177.50 0.52534 -352.50 87.50 182.50 0.512872 -352.50 87.50 187.50 0.49772 -352.50 87.50 192.50 0.571703 -352.50 87.50 197.50 0.564787 -352.50 87.50 202.50 0.38306 -352.50 87.50 207.50 0.227339 -352.50 87.50 212.50 0.131055 -352.50 87.50 217.50 0.069618 -352.50 87.50 222.50 0.0333851 -352.50 87.50 227.50 0.0269071 -352.50 87.50 232.50 0.0563673 -352.50 87.50 237.50 0.116873 -352.50 87.50 242.50 0.200306 -352.50 87.50 247.50 0.323799 -352.50 87.50 252.50 0.495937 -352.50 87.50 257.50 0.619436 -352.50 87.50 262.50 0.610194 -352.50 87.50 267.50 0.525339 -352.50 87.50 272.50 0.512871 -352.50 87.50 277.50 0.49772 -352.50 87.50 282.50 0.571703 -352.50 87.50 287.50 0.564787 -352.50 87.50 292.50 0.38306 -352.50 87.50 297.50 0.227339 -352.50 87.50 302.50 0.131055 -352.50 87.50 307.50 0.069618 -352.50 87.50 312.50 0.0333851 -352.50 87.50 317.50 0.0269071 -352.50 87.50 322.50 0.0563671 -352.50 87.50 327.50 0.116873 -352.50 87.50 332.50 0.200306 -352.50 87.50 337.50 0.323798 -352.50 87.50 342.50 0.495937 -352.50 87.50 347.50 0.619436 -352.50 87.50 352.50 0.610194 -352.50 87.50 357.50 0.525339 -352.50 92.50 2.50 0.393271 -352.50 92.50 7.50 0.382021 -352.50 92.50 12.50 0.429836 -352.50 92.50 17.50 0.422611 -352.50 92.50 22.50 0.335764 -352.50 92.50 27.50 0.232885 -352.50 92.50 32.50 0.164812 -352.50 92.50 37.50 0.110206 -352.50 92.50 42.50 0.0566767 -352.50 92.50 47.50 0.0326856 -352.50 92.50 52.50 0.0566767 -352.50 92.50 57.50 0.110205 -352.50 92.50 62.50 0.164812 -352.50 92.50 67.50 0.232885 -352.50 92.50 72.50 0.335764 -352.50 92.50 77.50 0.422611 -352.50 92.50 82.50 0.429837 -352.50 92.50 87.50 0.382021 -352.50 92.50 92.50 0.393271 -352.50 92.50 97.50 0.382021 -352.50 92.50 102.50 0.429837 -352.50 92.50 107.50 0.422611 -352.50 92.50 112.50 0.335764 -352.50 92.50 117.50 0.232885 -352.50 92.50 122.50 0.164812 -352.50 92.50 127.50 0.110205 -352.50 92.50 132.50 0.0566767 -352.50 92.50 137.50 0.0326856 -352.50 92.50 142.50 0.0566767 -352.50 92.50 147.50 0.110205 -352.50 92.50 152.50 0.164812 -352.50 92.50 157.50 0.232885 -352.50 92.50 162.50 0.335764 -352.50 92.50 167.50 0.422611 -352.50 92.50 172.50 0.429836 -352.50 92.50 177.50 0.382021 -352.50 92.50 182.50 0.393271 -352.50 92.50 187.50 0.382021 -352.50 92.50 192.50 0.429836 -352.50 92.50 197.50 0.422611 -352.50 92.50 202.50 0.335764 -352.50 92.50 207.50 0.232885 -352.50 92.50 212.50 0.164812 -352.50 92.50 217.50 0.110205 -352.50 92.50 222.50 0.0566767 -352.50 92.50 227.50 0.0326856 -352.50 92.50 232.50 0.0566768 -352.50 92.50 237.50 0.110206 -352.50 92.50 242.50 0.164812 -352.50 92.50 247.50 0.232885 -352.50 92.50 252.50 0.335764 -352.50 92.50 257.50 0.422611 -352.50 92.50 262.50 0.429836 -352.50 92.50 267.50 0.382021 -352.50 92.50 272.50 0.393271 -352.50 92.50 277.50 0.382021 -352.50 92.50 282.50 0.429836 -352.50 92.50 287.50 0.422611 -352.50 92.50 292.50 0.335764 -352.50 92.50 297.50 0.232885 -352.50 92.50 302.50 0.164812 -352.50 92.50 307.50 0.110206 -352.50 92.50 312.50 0.0566767 -352.50 92.50 317.50 0.0326856 -352.50 92.50 322.50 0.0566766 -352.50 92.50 327.50 0.110205 -352.50 92.50 332.50 0.164812 -352.50 92.50 337.50 0.232885 -352.50 92.50 342.50 0.335763 -352.50 92.50 347.50 0.422611 -352.50 92.50 352.50 0.429837 -352.50 92.50 357.50 0.382022 -352.50 97.50 2.50 0.51287 -352.50 97.50 7.50 0.525339 -352.50 97.50 12.50 0.610194 -352.50 97.50 17.50 0.619436 -352.50 97.50 22.50 0.495937 -352.50 97.50 27.50 0.323799 -352.50 97.50 32.50 0.200306 -352.50 97.50 37.50 0.116873 -352.50 97.50 42.50 0.0563673 -352.50 97.50 47.50 0.0269071 -352.50 97.50 52.50 0.0333851 -352.50 97.50 57.50 0.069618 -352.50 97.50 62.50 0.131056 -352.50 97.50 67.50 0.227339 -352.50 97.50 72.50 0.38306 -352.50 97.50 77.50 0.564787 -352.50 97.50 82.50 0.571703 -352.50 97.50 87.50 0.49772 -352.50 97.50 92.50 0.51287 -352.50 97.50 97.50 0.525339 -352.50 97.50 102.50 0.610194 -352.50 97.50 107.50 0.619436 -352.50 97.50 112.50 0.495937 -352.50 97.50 117.50 0.323799 -352.50 97.50 122.50 0.200306 -352.50 97.50 127.50 0.116873 -352.50 97.50 132.50 0.0563672 -352.50 97.50 137.50 0.0269072 -352.50 97.50 142.50 0.0333851 -352.50 97.50 147.50 0.069618 -352.50 97.50 152.50 0.131055 -352.50 97.50 157.50 0.227339 -352.50 97.50 162.50 0.38306 -352.50 97.50 167.50 0.564787 -352.50 97.50 172.50 0.571703 -352.50 97.50 177.50 0.49772 -352.50 97.50 182.50 0.512868 -352.50 97.50 187.50 0.525339 -352.50 97.50 192.50 0.610194 -352.50 97.50 197.50 0.619436 -352.50 97.50 202.50 0.495937 -352.50 97.50 207.50 0.323799 -352.50 97.50 212.50 0.200306 -352.50 97.50 217.50 0.116873 -352.50 97.50 222.50 0.0563673 -352.50 97.50 227.50 0.0269072 -352.50 97.50 232.50 0.0333851 -352.50 97.50 237.50 0.069618 -352.50 97.50 242.50 0.131056 -352.50 97.50 247.50 0.227339 -352.50 97.50 252.50 0.38306 -352.50 97.50 257.50 0.564787 -352.50 97.50 262.50 0.571703 -352.50 97.50 267.50 0.49772 -352.50 97.50 272.50 0.51287 -352.50 97.50 277.50 0.525339 -352.50 97.50 282.50 0.610194 -352.50 97.50 287.50 0.619436 -352.50 97.50 292.50 0.495937 -352.50 97.50 297.50 0.323799 -352.50 97.50 302.50 0.200306 -352.50 97.50 307.50 0.116873 -352.50 97.50 312.50 0.0563673 -352.50 97.50 317.50 0.0269071 -352.50 97.50 322.50 0.033385 -352.50 97.50 327.50 0.0696178 -352.50 97.50 332.50 0.131055 -352.50 97.50 337.50 0.227339 -352.50 97.50 342.50 0.38306 -352.50 97.50 347.50 0.564787 -352.50 97.50 352.50 0.571703 -352.50 97.50 357.50 0.497721 -352.50 102.50 2.50 0.748314 -352.50 102.50 7.50 0.876765 -352.50 102.50 12.50 1.00202 -352.50 102.50 17.50 1.07335 -352.50 102.50 22.50 0.87596 -352.50 102.50 27.50 0.602202 -352.50 102.50 32.50 0.36465 -352.50 102.50 37.50 0.179141 -352.50 102.50 42.50 0.0765615 -352.50 102.50 47.50 0.0303564 -352.50 102.50 52.50 0.0214686 -352.50 102.50 57.50 0.048819 -352.50 102.50 62.50 0.134886 -352.50 102.50 67.50 0.280424 -352.50 102.50 72.50 0.448151 -352.50 102.50 77.50 0.560352 -352.50 102.50 82.50 0.660447 -352.50 102.50 87.50 0.746943 -352.50 102.50 92.50 0.748313 -352.50 102.50 97.50 0.876765 -352.50 102.50 102.50 1.00202 -352.50 102.50 107.50 1.07335 -352.50 102.50 112.50 0.875959 -352.50 102.50 117.50 0.602202 -352.50 102.50 122.50 0.36465 -352.50 102.50 127.50 0.17914 -352.50 102.50 132.50 0.0765614 -352.50 102.50 137.50 0.0303564 -352.50 102.50 142.50 0.0214686 -352.50 102.50 147.50 0.048819 -352.50 102.50 152.50 0.134886 -352.50 102.50 157.50 0.280424 -352.50 102.50 162.50 0.44815 -352.50 102.50 167.50 0.560352 -352.50 102.50 172.50 0.660446 -352.50 102.50 177.50 0.746943 -352.50 102.50 182.50 0.748313 -352.50 102.50 187.50 0.876764 -352.50 102.50 192.50 1.00202 -352.50 102.50 197.50 1.07335 -352.50 102.50 202.50 0.87596 -352.50 102.50 207.50 0.602202 -352.50 102.50 212.50 0.36465 -352.50 102.50 217.50 0.179141 -352.50 102.50 222.50 0.0765616 -352.50 102.50 227.50 0.0303564 -352.50 102.50 232.50 0.0214686 -352.50 102.50 237.50 0.0488191 -352.50 102.50 242.50 0.134886 -352.50 102.50 247.50 0.280424 -352.50 102.50 252.50 0.44815 -352.50 102.50 257.50 0.560352 -352.50 102.50 262.50 0.660446 -352.50 102.50 267.50 0.746943 -352.50 102.50 272.50 0.748314 -352.50 102.50 277.50 0.876765 -352.50 102.50 282.50 1.00203 -352.50 102.50 287.50 1.07335 -352.50 102.50 292.50 0.87596 -352.50 102.50 297.50 0.602202 -352.50 102.50 302.50 0.364651 -352.50 102.50 307.50 0.179141 -352.50 102.50 312.50 0.0765616 -352.50 102.50 317.50 0.0303564 -352.50 102.50 322.50 0.0214685 -352.50 102.50 327.50 0.0488188 -352.50 102.50 332.50 0.134885 -352.50 102.50 337.50 0.280424 -352.50 102.50 342.50 0.44815 -352.50 102.50 347.50 0.560351 -352.50 102.50 352.50 0.660446 -352.50 102.50 357.50 0.746943 -352.50 107.50 2.50 1.01248 -352.50 107.50 7.50 1.2343 -352.50 107.50 12.50 1.5055 -352.50 107.50 17.50 1.65912 -352.50 107.50 22.50 1.41792 -352.50 107.50 27.50 0.98612 -352.50 107.50 32.50 0.600699 -352.50 107.50 37.50 0.307125 -352.50 107.50 42.50 0.111409 -352.50 107.50 47.50 0.037211 -352.50 107.50 52.50 0.0249285 -352.50 107.50 57.50 0.0602604 -352.50 107.50 62.50 0.132119 -352.50 107.50 67.50 0.268075 -352.50 107.50 72.50 0.428223 -352.50 107.50 77.50 0.625249 -352.50 107.50 82.50 0.821513 -352.50 107.50 87.50 0.917429 -352.50 107.50 92.50 1.01248 -352.50 107.50 97.50 1.2343 -352.50 107.50 102.50 1.5055 -352.50 107.50 107.50 1.65912 -352.50 107.50 112.50 1.41792 -352.50 107.50 117.50 0.986119 -352.50 107.50 122.50 0.600698 -352.50 107.50 127.50 0.307125 -352.50 107.50 132.50 0.111409 -352.50 107.50 137.50 0.037211 -352.50 107.50 142.50 0.0249284 -352.50 107.50 147.50 0.0602604 -352.50 107.50 152.50 0.132119 -352.50 107.50 157.50 0.268075 -352.50 107.50 162.50 0.428223 -352.50 107.50 167.50 0.625248 -352.50 107.50 172.50 0.821512 -352.50 107.50 177.50 0.917428 -352.50 107.50 182.50 1.01248 -352.50 107.50 187.50 1.2343 -352.50 107.50 192.50 1.5055 -352.50 107.50 197.50 1.65912 -352.50 107.50 202.50 1.41792 -352.50 107.50 207.50 0.986119 -352.50 107.50 212.50 0.600699 -352.50 107.50 217.50 0.307125 -352.50 107.50 222.50 0.111409 -352.50 107.50 227.50 0.037211 -352.50 107.50 232.50 0.0249285 -352.50 107.50 237.50 0.0602604 -352.50 107.50 242.50 0.132119 -352.50 107.50 247.50 0.268075 -352.50 107.50 252.50 0.428223 -352.50 107.50 257.50 0.625248 -352.50 107.50 262.50 0.821512 -352.50 107.50 267.50 0.917428 -352.50 107.50 272.50 1.01248 -352.50 107.50 277.50 1.2343 -352.50 107.50 282.50 1.5055 -352.50 107.50 287.50 1.65912 -352.50 107.50 292.50 1.41792 -352.50 107.50 297.50 0.98612 -352.50 107.50 302.50 0.600699 -352.50 107.50 307.50 0.307125 -352.50 107.50 312.50 0.111409 -352.50 107.50 317.50 0.0372111 -352.50 107.50 322.50 0.0249284 -352.50 107.50 327.50 0.0602602 -352.50 107.50 332.50 0.132118 -352.50 107.50 337.50 0.268074 -352.50 107.50 342.50 0.428222 -352.50 107.50 347.50 0.625248 -352.50 107.50 352.50 0.821511 -352.50 107.50 357.50 0.917428 -352.50 112.50 2.50 1.3146 -352.50 112.50 7.50 1.61508 -352.50 112.50 12.50 2.07273 -352.50 112.50 17.50 2.17321 -352.50 112.50 22.50 1.95805 -352.50 112.50 27.50 1.35853 -352.50 112.50 32.50 0.798171 -352.50 112.50 37.50 0.39063 -352.50 112.50 42.50 0.153302 -352.50 112.50 47.50 0.044293 -352.50 112.50 52.50 0.0235675 -352.50 112.50 57.50 0.0489955 -352.50 112.50 62.50 0.136687 -352.50 112.50 67.50 0.257137 -352.50 112.50 72.50 0.413101 -352.50 112.50 77.50 0.686339 -352.50 112.50 82.50 0.936389 -352.50 112.50 87.50 1.16836 -352.50 112.50 92.50 1.3146 -352.50 112.50 97.50 1.61508 -352.50 112.50 102.50 2.07273 -352.50 112.50 107.50 2.17321 -352.50 112.50 112.50 1.95805 -352.50 112.50 117.50 1.35854 -352.50 112.50 122.50 0.798171 -352.50 112.50 127.50 0.39063 -352.50 112.50 132.50 0.153302 -352.50 112.50 137.50 0.044293 -352.50 112.50 142.50 0.0235675 -352.50 112.50 147.50 0.0489955 -352.50 112.50 152.50 0.136687 -352.50 112.50 157.50 0.257137 -352.50 112.50 162.50 0.413101 -352.50 112.50 167.50 0.686338 -352.50 112.50 172.50 0.936389 -352.50 112.50 177.50 1.16836 -352.50 112.50 182.50 1.3146 -352.50 112.50 187.50 1.61508 -352.50 112.50 192.50 2.07273 -352.50 112.50 197.50 2.17321 -352.50 112.50 202.50 1.95805 -352.50 112.50 207.50 1.35854 -352.50 112.50 212.50 0.798172 -352.50 112.50 217.50 0.39063 -352.50 112.50 222.50 0.153303 -352.50 112.50 227.50 0.044293 -352.50 112.50 232.50 0.0235675 -352.50 112.50 237.50 0.0489955 -352.50 112.50 242.50 0.136687 -352.50 112.50 247.50 0.257137 -352.50 112.50 252.50 0.413101 -352.50 112.50 257.50 0.686338 -352.50 112.50 262.50 0.93639 -352.50 112.50 267.50 1.16835 -352.50 112.50 272.50 1.3146 -352.50 112.50 277.50 1.61508 -352.50 112.50 282.50 2.07273 -352.50 112.50 287.50 2.17321 -352.50 112.50 292.50 1.95805 -352.50 112.50 297.50 1.35854 -352.50 112.50 302.50 0.798172 -352.50 112.50 307.50 0.39063 -352.50 112.50 312.50 0.153303 -352.50 112.50 317.50 0.0442931 -352.50 112.50 322.50 0.0235674 -352.50 112.50 327.50 0.0489954 -352.50 112.50 332.50 0.136686 -352.50 112.50 337.50 0.257136 -352.50 112.50 342.50 0.413101 -352.50 112.50 347.50 0.686338 -352.50 112.50 352.50 0.936389 -352.50 112.50 357.50 1.16836 -352.50 117.50 2.50 1.60321 -352.50 117.50 7.50 2.02542 -352.50 117.50 12.50 2.45028 -352.50 117.50 17.50 2.47398 -352.50 117.50 22.50 2.2456 -352.50 117.50 27.50 1.71088 -352.50 117.50 32.50 0.984819 -352.50 117.50 37.50 0.466122 -352.50 117.50 42.50 0.176852 -352.50 117.50 47.50 0.0498328 -352.50 117.50 52.50 0.0218166 -352.50 117.50 57.50 0.050809 -352.50 117.50 62.50 0.116185 -352.50 117.50 67.50 0.221438 -352.50 117.50 72.50 0.447432 -352.50 117.50 77.50 0.720637 -352.50 117.50 82.50 1.04917 -352.50 117.50 87.50 1.3825 -352.50 117.50 92.50 1.60321 -352.50 117.50 97.50 2.02542 -352.50 117.50 102.50 2.45028 -352.50 117.50 107.50 2.47398 -352.50 117.50 112.50 2.2456 -352.50 117.50 117.50 1.71088 -352.50 117.50 122.50 0.984818 -352.50 117.50 127.50 0.466121 -352.50 117.50 132.50 0.176852 -352.50 117.50 137.50 0.0498328 -352.50 117.50 142.50 0.0218166 -352.50 117.50 147.50 0.0508089 -352.50 117.50 152.50 0.116185 -352.50 117.50 157.50 0.221437 -352.50 117.50 162.50 0.447432 -352.50 117.50 167.50 0.720637 -352.50 117.50 172.50 1.04917 -352.50 117.50 177.50 1.38249 -352.50 117.50 182.50 1.60321 -352.50 117.50 187.50 2.02542 -352.50 117.50 192.50 2.45028 -352.50 117.50 197.50 2.47398 -352.50 117.50 202.50 2.2456 -352.50 117.50 207.50 1.71088 -352.50 117.50 212.50 0.984819 -352.50 117.50 217.50 0.466122 -352.50 117.50 222.50 0.176852 -352.50 117.50 227.50 0.0498328 -352.50 117.50 232.50 0.0218166 -352.50 117.50 237.50 0.050809 -352.50 117.50 242.50 0.116185 -352.50 117.50 247.50 0.221437 -352.50 117.50 252.50 0.447432 -352.50 117.50 257.50 0.720637 -352.50 117.50 262.50 1.04917 -352.50 117.50 267.50 1.38249 -352.50 117.50 272.50 1.60321 -352.50 117.50 277.50 2.02542 -352.50 117.50 282.50 2.45028 -352.50 117.50 287.50 2.47398 -352.50 117.50 292.50 2.2456 -352.50 117.50 297.50 1.71088 -352.50 117.50 302.50 0.98482 -352.50 117.50 307.50 0.466122 -352.50 117.50 312.50 0.176852 -352.50 117.50 317.50 0.0498329 -352.50 117.50 322.50 0.0218166 -352.50 117.50 327.50 0.0508087 -352.50 117.50 332.50 0.116185 -352.50 117.50 337.50 0.221437 -352.50 117.50 342.50 0.447431 -352.50 117.50 347.50 0.720636 -352.50 117.50 352.50 1.04917 -352.50 117.50 357.50 1.38249 -352.50 122.50 2.50 1.86337 -352.50 122.50 7.50 2.35633 -352.50 122.50 12.50 2.81722 -352.50 122.50 17.50 2.69226 -352.50 122.50 22.50 2.44214 -352.50 122.50 27.50 1.87162 -352.50 122.50 32.50 1.14071 -352.50 122.50 37.50 0.513418 -352.50 122.50 42.50 0.162803 -352.50 122.50 47.50 0.0377003 -352.50 122.50 52.50 0.023734 -352.50 122.50 57.50 0.056377 -352.50 122.50 62.50 0.127603 -352.50 122.50 67.50 0.273299 -352.50 122.50 72.50 0.528727 -352.50 122.50 77.50 0.837215 -352.50 122.50 82.50 1.22202 -352.50 122.50 87.50 1.56995 -352.50 122.50 92.50 1.86337 -352.50 122.50 97.50 2.35633 -352.50 122.50 102.50 2.81722 -352.50 122.50 107.50 2.69226 -352.50 122.50 112.50 2.44214 -352.50 122.50 117.50 1.87162 -352.50 122.50 122.50 1.14071 -352.50 122.50 127.50 0.513418 -352.50 122.50 132.50 0.162803 -352.50 122.50 137.50 0.0377003 -352.50 122.50 142.50 0.0237339 -352.50 122.50 147.50 0.056377 -352.50 122.50 152.50 0.127602 -352.50 122.50 157.50 0.273299 -352.50 122.50 162.50 0.528726 -352.50 122.50 167.50 0.837214 -352.50 122.50 172.50 1.22202 -352.50 122.50 177.50 1.56995 -352.50 122.50 182.50 1.86338 -352.50 122.50 187.50 2.35633 -352.50 122.50 192.50 2.81722 -352.50 122.50 197.50 2.69226 -352.50 122.50 202.50 2.44214 -352.50 122.50 207.50 1.87162 -352.50 122.50 212.50 1.14071 -352.50 122.50 217.50 0.513418 -352.50 122.50 222.50 0.162803 -352.50 122.50 227.50 0.0377003 -352.50 122.50 232.50 0.023734 -352.50 122.50 237.50 0.056377 -352.50 122.50 242.50 0.127603 -352.50 122.50 247.50 0.273299 -352.50 122.50 252.50 0.528727 -352.50 122.50 257.50 0.837215 -352.50 122.50 262.50 1.22202 -352.50 122.50 267.50 1.56995 -352.50 122.50 272.50 1.86338 -352.50 122.50 277.50 2.35633 -352.50 122.50 282.50 2.81722 -352.50 122.50 287.50 2.69226 -352.50 122.50 292.50 2.44214 -352.50 122.50 297.50 1.87162 -352.50 122.50 302.50 1.14071 -352.50 122.50 307.50 0.513419 -352.50 122.50 312.50 0.162803 -352.50 122.50 317.50 0.0377004 -352.50 122.50 322.50 0.023734 -352.50 122.50 327.50 0.0563769 -352.50 122.50 332.50 0.127602 -352.50 122.50 337.50 0.273298 -352.50 122.50 342.50 0.528726 -352.50 122.50 347.50 0.837214 -352.50 122.50 352.50 1.22201 -352.50 122.50 357.50 1.56994 -352.50 127.50 2.50 2.17935 -352.50 127.50 7.50 2.68301 -352.50 127.50 12.50 3.142 -352.50 127.50 17.50 2.89175 -352.50 127.50 22.50 2.41409 -352.50 127.50 27.50 1.8291 -352.50 127.50 32.50 1.06827 -352.50 127.50 37.50 0.461796 -352.50 127.50 42.50 0.150861 -352.50 127.50 47.50 0.0493123 -352.50 127.50 52.50 0.0333968 -352.50 127.50 57.50 0.0742197 -352.50 127.50 62.50 0.162979 -352.50 127.50 67.50 0.348999 -352.50 127.50 72.50 0.650024 -352.50 127.50 77.50 1.05549 -352.50 127.50 82.50 1.47076 -352.50 127.50 87.50 1.8072 -352.50 127.50 92.50 2.17935 -352.50 127.50 97.50 2.68301 -352.50 127.50 102.50 3.142 -352.50 127.50 107.50 2.89175 -352.50 127.50 112.50 2.41409 -352.50 127.50 117.50 1.8291 -352.50 127.50 122.50 1.06827 -352.50 127.50 127.50 0.461796 -352.50 127.50 132.50 0.150861 -352.50 127.50 137.50 0.0493123 -352.50 127.50 142.50 0.0333968 -352.50 127.50 147.50 0.0742196 -352.50 127.50 152.50 0.162978 -352.50 127.50 157.50 0.348999 -352.50 127.50 162.50 0.650023 -352.50 127.50 167.50 1.05549 -352.50 127.50 172.50 1.47076 -352.50 127.50 177.50 1.80721 -352.50 127.50 182.50 2.17935 -352.50 127.50 187.50 2.68301 -352.50 127.50 192.50 3.142 -352.50 127.50 197.50 2.89175 -352.50 127.50 202.50 2.41409 -352.50 127.50 207.50 1.8291 -352.50 127.50 212.50 1.06828 -352.50 127.50 217.50 0.461796 -352.50 127.50 222.50 0.150861 -352.50 127.50 227.50 0.0493124 -352.50 127.50 232.50 0.0333968 -352.50 127.50 237.50 0.0742197 -352.50 127.50 242.50 0.162978 -352.50 127.50 247.50 0.348999 -352.50 127.50 252.50 0.650024 -352.50 127.50 257.50 1.05549 -352.50 127.50 262.50 1.47076 -352.50 127.50 267.50 1.80721 -352.50 127.50 272.50 2.17935 -352.50 127.50 277.50 2.68301 -352.50 127.50 282.50 3.142 -352.50 127.50 287.50 2.89175 -352.50 127.50 292.50 2.4141 -352.50 127.50 297.50 1.8291 -352.50 127.50 302.50 1.06828 -352.50 127.50 307.50 0.461796 -352.50 127.50 312.50 0.150861 -352.50 127.50 317.50 0.0493124 -352.50 127.50 322.50 0.0333967 -352.50 127.50 327.50 0.0742195 -352.50 127.50 332.50 0.162978 -352.50 127.50 337.50 0.348998 -352.50 127.50 342.50 0.650022 -352.50 127.50 347.50 1.05549 -352.50 127.50 352.50 1.47076 -352.50 127.50 357.50 1.8072 -352.50 132.50 2.50 2.49553 -352.50 132.50 7.50 2.94319 -352.50 132.50 12.50 3.21772 -352.50 132.50 17.50 2.87826 -352.50 132.50 22.50 2.18842 -352.50 132.50 27.50 1.51786 -352.50 132.50 32.50 0.815126 -352.50 132.50 37.50 0.391492 -352.50 132.50 42.50 0.144797 -352.50 132.50 47.50 0.0466048 -352.50 132.50 52.50 0.0464113 -352.50 132.50 57.50 0.0917994 -352.50 132.50 62.50 0.165767 -352.50 132.50 67.50 0.392732 -352.50 132.50 72.50 0.753955 -352.50 132.50 77.50 1.23847 -352.50 132.50 82.50 1.72614 -352.50 132.50 87.50 2.05578 -352.50 132.50 92.50 2.49553 -352.50 132.50 97.50 2.9432 -352.50 132.50 102.50 3.21772 -352.50 132.50 107.50 2.87826 -352.50 132.50 112.50 2.18842 -352.50 132.50 117.50 1.51786 -352.50 132.50 122.50 0.815126 -352.50 132.50 127.50 0.391492 -352.50 132.50 132.50 0.144797 -352.50 132.50 137.50 0.0466047 -352.50 132.50 142.50 0.0464113 -352.50 132.50 147.50 0.0917994 -352.50 132.50 152.50 0.165767 -352.50 132.50 157.50 0.392732 -352.50 132.50 162.50 0.753954 -352.50 132.50 167.50 1.23847 -352.50 132.50 172.50 1.72614 -352.50 132.50 177.50 2.05578 -352.50 132.50 182.50 2.49553 -352.50 132.50 187.50 2.9432 -352.50 132.50 192.50 3.21772 -352.50 132.50 197.50 2.87826 -352.50 132.50 202.50 2.18842 -352.50 132.50 207.50 1.51786 -352.50 132.50 212.50 0.815126 -352.50 132.50 217.50 0.391492 -352.50 132.50 222.50 0.144797 -352.50 132.50 227.50 0.0466048 -352.50 132.50 232.50 0.0464113 -352.50 132.50 237.50 0.0917995 -352.50 132.50 242.50 0.165767 -352.50 132.50 247.50 0.392732 -352.50 132.50 252.50 0.753955 -352.50 132.50 257.50 1.23847 -352.50 132.50 262.50 1.72614 -352.50 132.50 267.50 2.05578 -352.50 132.50 272.50 2.49553 -352.50 132.50 277.50 2.94319 -352.50 132.50 282.50 3.21772 -352.50 132.50 287.50 2.87826 -352.50 132.50 292.50 2.18842 -352.50 132.50 297.50 1.51786 -352.50 132.50 302.50 0.815126 -352.50 132.50 307.50 0.391492 -352.50 132.50 312.50 0.144797 -352.50 132.50 317.50 0.0466048 -352.50 132.50 322.50 0.0464113 -352.50 132.50 327.50 0.0917993 -352.50 132.50 332.50 0.165766 -352.50 132.50 337.50 0.392731 -352.50 132.50 342.50 0.753953 -352.50 132.50 347.50 1.23847 -352.50 132.50 352.50 1.72614 -352.50 132.50 357.50 2.05578 -352.50 137.50 2.50 2.62873 -352.50 137.50 7.50 2.92708 -352.50 137.50 12.50 2.93874 -352.50 137.50 17.50 2.53676 -352.50 137.50 22.50 1.86442 -352.50 137.50 27.50 1.11737 -352.50 137.50 32.50 0.57841 -352.50 137.50 37.50 0.257133 -352.50 137.50 42.50 0.102518 -352.50 137.50 47.50 0.0461649 -352.50 137.50 52.50 0.0370031 -352.50 137.50 57.50 0.079834 -352.50 137.50 62.50 0.175949 -352.50 137.50 67.50 0.390397 -352.50 137.50 72.50 0.811878 -352.50 137.50 77.50 1.38669 -352.50 137.50 82.50 1.92049 -352.50 137.50 87.50 2.27301 -352.50 137.50 92.50 2.62873 -352.50 137.50 97.50 2.92708 -352.50 137.50 102.50 2.93874 -352.50 137.50 107.50 2.53676 -352.50 137.50 112.50 1.86442 -352.50 137.50 117.50 1.11737 -352.50 137.50 122.50 0.578409 -352.50 137.50 127.50 0.257132 -352.50 137.50 132.50 0.102518 -352.50 137.50 137.50 0.0461649 -352.50 137.50 142.50 0.0370031 -352.50 137.50 147.50 0.0798341 -352.50 137.50 152.50 0.175949 -352.50 137.50 157.50 0.390397 -352.50 137.50 162.50 0.811877 -352.50 137.50 167.50 1.38669 -352.50 137.50 172.50 1.92049 -352.50 137.50 177.50 2.27301 -352.50 137.50 182.50 2.62873 -352.50 137.50 187.50 2.92708 -352.50 137.50 192.50 2.93874 -352.50 137.50 197.50 2.53676 -352.50 137.50 202.50 1.86442 -352.50 137.50 207.50 1.11737 -352.50 137.50 212.50 0.57841 -352.50 137.50 217.50 0.257133 -352.50 137.50 222.50 0.102518 -352.50 137.50 227.50 0.0461649 -352.50 137.50 232.50 0.0370031 -352.50 137.50 237.50 0.0798341 -352.50 137.50 242.50 0.175949 -352.50 137.50 247.50 0.390397 -352.50 137.50 252.50 0.811878 -352.50 137.50 257.50 1.38669 -352.50 137.50 262.50 1.92049 -352.50 137.50 267.50 2.27301 -352.50 137.50 272.50 2.62872 -352.50 137.50 277.50 2.92708 -352.50 137.50 282.50 2.93874 -352.50 137.50 287.50 2.53676 -352.50 137.50 292.50 1.86442 -352.50 137.50 297.50 1.11737 -352.50 137.50 302.50 0.57841 -352.50 137.50 307.50 0.257133 -352.50 137.50 312.50 0.102518 -352.50 137.50 317.50 0.0461649 -352.50 137.50 322.50 0.037003 -352.50 137.50 327.50 0.0798339 -352.50 137.50 332.50 0.175949 -352.50 137.50 337.50 0.390396 -352.50 137.50 342.50 0.811876 -352.50 137.50 347.50 1.38669 -352.50 137.50 352.50 1.92049 -352.50 137.50 357.50 2.273 -352.50 142.50 2.50 2.49553 -352.50 142.50 7.50 2.5511 -352.50 142.50 12.50 2.38862 -352.50 142.50 17.50 1.93565 -352.50 142.50 22.50 1.32266 -352.50 142.50 27.50 0.761164 -352.50 142.50 32.50 0.347488 -352.50 142.50 37.50 0.131228 -352.50 142.50 42.50 0.0544543 -352.50 142.50 47.50 0.0240779 -352.50 142.50 52.50 0.029337 -352.50 142.50 57.50 0.064963 -352.50 142.50 62.50 0.153384 -352.50 142.50 67.50 0.389939 -352.50 142.50 72.50 0.837116 -352.50 142.50 77.50 1.47636 -352.50 142.50 82.50 2.04755 -352.50 142.50 87.50 2.365 -352.50 142.50 92.50 2.49553 -352.50 142.50 97.50 2.5511 -352.50 142.50 102.50 2.38862 -352.50 142.50 107.50 1.93565 -352.50 142.50 112.50 1.32266 -352.50 142.50 117.50 0.761164 -352.50 142.50 122.50 0.347488 -352.50 142.50 127.50 0.131228 -352.50 142.50 132.50 0.0544543 -352.50 142.50 137.50 0.0240779 -352.50 142.50 142.50 0.029337 -352.50 142.50 147.50 0.064963 -352.50 142.50 152.50 0.153384 -352.50 142.50 157.50 0.389939 -352.50 142.50 162.50 0.837116 -352.50 142.50 167.50 1.47636 -352.50 142.50 172.50 2.04755 -352.50 142.50 177.50 2.365 -352.50 142.50 182.50 2.49553 -352.50 142.50 187.50 2.5511 -352.50 142.50 192.50 2.38862 -352.50 142.50 197.50 1.93566 -352.50 142.50 202.50 1.32266 -352.50 142.50 207.50 0.761164 -352.50 142.50 212.50 0.347488 -352.50 142.50 217.50 0.131228 -352.50 142.50 222.50 0.0544543 -352.50 142.50 227.50 0.0240779 -352.50 142.50 232.50 0.029337 -352.50 142.50 237.50 0.064963 -352.50 142.50 242.50 0.153384 -352.50 142.50 247.50 0.389939 -352.50 142.50 252.50 0.837116 -352.50 142.50 257.50 1.47636 -352.50 142.50 262.50 2.04755 -352.50 142.50 267.50 2.365 -352.50 142.50 272.50 2.49553 -352.50 142.50 277.50 2.5511 -352.50 142.50 282.50 2.38862 -352.50 142.50 287.50 1.93566 -352.50 142.50 292.50 1.32266 -352.50 142.50 297.50 0.761165 -352.50 142.50 302.50 0.347488 -352.50 142.50 307.50 0.131228 -352.50 142.50 312.50 0.0544543 -352.50 142.50 317.50 0.0240779 -352.50 142.50 322.50 0.0293369 -352.50 142.50 327.50 0.0649628 -352.50 142.50 332.50 0.153384 -352.50 142.50 337.50 0.389938 -352.50 142.50 342.50 0.837115 -352.50 142.50 347.50 1.47636 -352.50 142.50 352.50 2.04755 -352.50 142.50 357.50 2.365 -352.50 147.50 2.50 2.17935 -352.50 147.50 7.50 2.00917 -352.50 147.50 12.50 1.73793 -352.50 147.50 17.50 1.31861 -352.50 147.50 22.50 0.808453 -352.50 147.50 27.50 0.419195 -352.50 147.50 32.50 0.176797 -352.50 147.50 37.50 0.0562322 -352.50 147.50 42.50 0.0189671 -352.50 147.50 47.50 0.0128106 -352.50 147.50 52.50 0.0225164 -352.50 147.50 57.50 0.0559942 -352.50 147.50 62.50 0.142297 -352.50 147.50 67.50 0.368097 -352.50 147.50 72.50 0.831756 -352.50 147.50 77.50 1.47645 -352.50 147.50 82.50 2.04186 -352.50 147.50 87.50 2.25355 -352.50 147.50 92.50 2.17935 -352.50 147.50 97.50 2.00917 -352.50 147.50 102.50 1.73793 -352.50 147.50 107.50 1.31861 -352.50 147.50 112.50 0.808453 -352.50 147.50 117.50 0.419195 -352.50 147.50 122.50 0.176797 -352.50 147.50 127.50 0.0562321 -352.50 147.50 132.50 0.0189671 -352.50 147.50 137.50 0.0128106 -352.50 147.50 142.50 0.0225164 -352.50 147.50 147.50 0.0559942 -352.50 147.50 152.50 0.142297 -352.50 147.50 157.50 0.368096 -352.50 147.50 162.50 0.831755 -352.50 147.50 167.50 1.47645 -352.50 147.50 172.50 2.04186 -352.50 147.50 177.50 2.25355 -352.50 147.50 182.50 2.17935 -352.50 147.50 187.50 2.00917 -352.50 147.50 192.50 1.73793 -352.50 147.50 197.50 1.31861 -352.50 147.50 202.50 0.808453 -352.50 147.50 207.50 0.419195 -352.50 147.50 212.50 0.176797 -352.50 147.50 217.50 0.0562322 -352.50 147.50 222.50 0.0189671 -352.50 147.50 227.50 0.0128106 -352.50 147.50 232.50 0.0225164 -352.50 147.50 237.50 0.0559943 -352.50 147.50 242.50 0.142297 -352.50 147.50 247.50 0.368097 -352.50 147.50 252.50 0.831757 -352.50 147.50 257.50 1.47645 -352.50 147.50 262.50 2.04186 -352.50 147.50 267.50 2.25355 -352.50 147.50 272.50 2.17935 -352.50 147.50 277.50 2.00917 -352.50 147.50 282.50 1.73793 -352.50 147.50 287.50 1.31861 -352.50 147.50 292.50 0.808453 -352.50 147.50 297.50 0.419196 -352.50 147.50 302.50 0.176797 -352.50 147.50 307.50 0.0562323 -352.50 147.50 312.50 0.0189671 -352.50 147.50 317.50 0.0128106 -352.50 147.50 322.50 0.0225164 -352.50 147.50 327.50 0.0559941 -352.50 147.50 332.50 0.142296 -352.50 147.50 337.50 0.368096 -352.50 147.50 342.50 0.831754 -352.50 147.50 347.50 1.47645 -352.50 147.50 352.50 2.04186 -352.50 147.50 357.50 2.25355 -352.50 152.50 2.50 1.86337 -352.50 152.50 7.50 1.53807 -352.50 152.50 12.50 1.20728 -352.50 152.50 17.50 0.811061 -352.50 152.50 22.50 0.491082 -352.50 152.50 27.50 0.222834 -352.50 152.50 32.50 0.0934184 -352.50 152.50 37.50 0.0282592 -352.50 152.50 42.50 0.00774663 -352.50 152.50 47.50 0.00789956 -352.50 152.50 52.50 0.0191531 -352.50 152.50 57.50 0.0522475 -352.50 152.50 62.50 0.14802 -352.50 152.50 67.50 0.375538 -352.50 152.50 72.50 0.854602 -352.50 152.50 77.50 1.49025 -352.50 152.50 82.50 1.95496 -352.50 152.50 87.50 2.05967 -352.50 152.50 92.50 1.86337 -352.50 152.50 97.50 1.53807 -352.50 152.50 102.50 1.20728 -352.50 152.50 107.50 0.811061 -352.50 152.50 112.50 0.491082 -352.50 152.50 117.50 0.222834 -352.50 152.50 122.50 0.0934183 -352.50 152.50 127.50 0.0282592 -352.50 152.50 132.50 0.00774662 -352.50 152.50 137.50 0.00789955 -352.50 152.50 142.50 0.0191531 -352.50 152.50 147.50 0.0522475 -352.50 152.50 152.50 0.14802 -352.50 152.50 157.50 0.375538 -352.50 152.50 162.50 0.854601 -352.50 152.50 167.50 1.49025 -352.50 152.50 172.50 1.95496 -352.50 152.50 177.50 2.05967 -352.50 152.50 182.50 1.86337 -352.50 152.50 187.50 1.53807 -352.50 152.50 192.50 1.20728 -352.50 152.50 197.50 0.811061 -352.50 152.50 202.50 0.491082 -352.50 152.50 207.50 0.222834 -352.50 152.50 212.50 0.0934184 -352.50 152.50 217.50 0.0282593 -352.50 152.50 222.50 0.00774663 -352.50 152.50 227.50 0.00789954 -352.50 152.50 232.50 0.0191531 -352.50 152.50 237.50 0.0522475 -352.50 152.50 242.50 0.14802 -352.50 152.50 247.50 0.375539 -352.50 152.50 252.50 0.854603 -352.50 152.50 257.50 1.49025 -352.50 152.50 262.50 1.95496 -352.50 152.50 267.50 2.05966 -352.50 152.50 272.50 1.86337 -352.50 152.50 277.50 1.53807 -352.50 152.50 282.50 1.20728 -352.50 152.50 287.50 0.811061 -352.50 152.50 292.50 0.491082 -352.50 152.50 297.50 0.222834 -352.50 152.50 302.50 0.0934185 -352.50 152.50 307.50 0.0282593 -352.50 152.50 312.50 0.00774663 -352.50 152.50 317.50 0.00789954 -352.50 152.50 322.50 0.019153 -352.50 152.50 327.50 0.0522474 -352.50 152.50 332.50 0.148019 -352.50 152.50 337.50 0.375537 -352.50 152.50 342.50 0.8546 -352.50 152.50 347.50 1.49025 -352.50 152.50 352.50 1.95496 -352.50 152.50 357.50 2.05966 -352.50 157.50 2.50 1.60321 -352.50 157.50 7.50 1.19282 -352.50 157.50 12.50 0.836843 -352.50 157.50 17.50 0.524927 -352.50 157.50 22.50 0.301741 -352.50 157.50 27.50 0.156275 -352.50 157.50 32.50 0.0627272 -352.50 157.50 37.50 0.0319783 -352.50 157.50 42.50 0.0165516 -352.50 157.50 47.50 0.00983795 -352.50 157.50 52.50 0.0213613 -352.50 157.50 57.50 0.0533854 -352.50 157.50 62.50 0.156997 -352.50 157.50 67.50 0.445846 -352.50 157.50 72.50 0.93818 -352.50 157.50 77.50 1.50905 -352.50 157.50 82.50 1.86661 -352.50 157.50 87.50 1.87144 -352.50 157.50 92.50 1.60321 -352.50 157.50 97.50 1.19282 -352.50 157.50 102.50 0.836843 -352.50 157.50 107.50 0.524927 -352.50 157.50 112.50 0.301741 -352.50 157.50 117.50 0.156275 -352.50 157.50 122.50 0.0627271 -352.50 157.50 127.50 0.0319782 -352.50 157.50 132.50 0.0165516 -352.50 157.50 137.50 0.00983795 -352.50 157.50 142.50 0.0213613 -352.50 157.50 147.50 0.0533853 -352.50 157.50 152.50 0.156997 -352.50 157.50 157.50 0.445845 -352.50 157.50 162.50 0.938179 -352.50 157.50 167.50 1.50905 -352.50 157.50 172.50 1.86661 -352.50 157.50 177.50 1.87144 -352.50 157.50 182.50 1.60321 -352.50 157.50 187.50 1.19282 -352.50 157.50 192.50 0.836843 -352.50 157.50 197.50 0.524928 -352.50 157.50 202.50 0.30174 -352.50 157.50 207.50 0.156275 -352.50 157.50 212.50 0.0627272 -352.50 157.50 217.50 0.0319782 -352.50 157.50 222.50 0.0165516 -352.50 157.50 227.50 0.00983795 -352.50 157.50 232.50 0.0213613 -352.50 157.50 237.50 0.0533854 -352.50 157.50 242.50 0.156998 -352.50 157.50 247.50 0.445846 -352.50 157.50 252.50 0.93818 -352.50 157.50 257.50 1.50905 -352.50 157.50 262.50 1.86661 -352.50 157.50 267.50 1.87144 -352.50 157.50 272.50 1.60321 -352.50 157.50 277.50 1.19282 -352.50 157.50 282.50 0.836843 -352.50 157.50 287.50 0.524927 -352.50 157.50 292.50 0.301741 -352.50 157.50 297.50 0.156275 -352.50 157.50 302.50 0.0627273 -352.50 157.50 307.50 0.0319783 -352.50 157.50 312.50 0.0165516 -352.50 157.50 317.50 0.00983795 -352.50 157.50 322.50 0.0213612 -352.50 157.50 327.50 0.0533851 -352.50 157.50 332.50 0.156997 -352.50 157.50 337.50 0.445844 -352.50 157.50 342.50 0.938178 -352.50 157.50 347.50 1.50905 -352.50 157.50 352.50 1.86661 -352.50 157.50 357.50 1.87144 -352.50 162.50 2.50 1.3146 -352.50 162.50 7.50 0.890954 -352.50 162.50 12.50 0.553796 -352.50 162.50 17.50 0.348407 -352.50 162.50 22.50 0.19235 -352.50 162.50 27.50 0.106179 -352.50 162.50 32.50 0.0712791 -352.50 162.50 37.50 0.0595539 -352.50 162.50 42.50 0.0417087 -352.50 162.50 47.50 0.025159 -352.50 162.50 52.50 0.0219787 -352.50 162.50 57.50 0.0588253 -352.50 162.50 62.50 0.1806 -352.50 162.50 67.50 0.46309 -352.50 162.50 72.50 0.937677 -352.50 162.50 77.50 1.44195 -352.50 162.50 82.50 1.72547 -352.50 162.50 87.50 1.64327 -352.50 162.50 92.50 1.3146 -352.50 162.50 97.50 0.890954 -352.50 162.50 102.50 0.553796 -352.50 162.50 107.50 0.348407 -352.50 162.50 112.50 0.19235 -352.50 162.50 117.50 0.106179 -352.50 162.50 122.50 0.0712791 -352.50 162.50 127.50 0.0595539 -352.50 162.50 132.50 0.0417087 -352.50 162.50 137.50 0.025159 -352.50 162.50 142.50 0.0219787 -352.50 162.50 147.50 0.0588253 -352.50 162.50 152.50 0.180599 -352.50 162.50 157.50 0.463089 -352.50 162.50 162.50 0.937677 -352.50 162.50 167.50 1.44195 -352.50 162.50 172.50 1.72547 -352.50 162.50 177.50 1.64327 -352.50 162.50 182.50 1.3146 -352.50 162.50 187.50 0.890953 -352.50 162.50 192.50 0.553796 -352.50 162.50 197.50 0.348407 -352.50 162.50 202.50 0.19235 -352.50 162.50 207.50 0.106179 -352.50 162.50 212.50 0.0712791 -352.50 162.50 217.50 0.0595539 -352.50 162.50 222.50 0.0417087 -352.50 162.50 227.50 0.025159 -352.50 162.50 232.50 0.0219787 -352.50 162.50 237.50 0.0588253 -352.50 162.50 242.50 0.1806 -352.50 162.50 247.50 0.46309 -352.50 162.50 252.50 0.937677 -352.50 162.50 257.50 1.44195 -352.50 162.50 262.50 1.72547 -352.50 162.50 267.50 1.64327 -352.50 162.50 272.50 1.3146 -352.50 162.50 277.50 0.890954 -352.50 162.50 282.50 0.553796 -352.50 162.50 287.50 0.348407 -352.50 162.50 292.50 0.19235 -352.50 162.50 297.50 0.106179 -352.50 162.50 302.50 0.0712791 -352.50 162.50 307.50 0.0595539 -352.50 162.50 312.50 0.0417087 -352.50 162.50 317.50 0.025159 -352.50 162.50 322.50 0.0219787 -352.50 162.50 327.50 0.0588251 -352.50 162.50 332.50 0.180599 -352.50 162.50 337.50 0.463089 -352.50 162.50 342.50 0.937675 -352.50 162.50 347.50 1.44195 -352.50 162.50 352.50 1.72547 -352.50 162.50 357.50 1.64327 -352.50 167.50 2.50 1.01248 -352.50 167.50 7.50 0.608534 -352.50 167.50 12.50 0.325954 -352.50 167.50 17.50 0.202944 -352.50 167.50 22.50 0.133183 -352.50 167.50 27.50 0.0895593 -352.50 167.50 32.50 0.0777873 -352.50 167.50 37.50 0.0912258 -352.50 167.50 42.50 0.0752199 -352.50 167.50 47.50 0.0423654 -352.50 167.50 52.50 0.0284921 -352.50 167.50 57.50 0.0549685 -352.50 167.50 62.50 0.155453 -352.50 167.50 67.50 0.397317 -352.50 167.50 72.50 0.808874 -352.50 167.50 77.50 1.28697 -352.50 167.50 82.50 1.54439 -352.50 167.50 87.50 1.39784 -352.50 167.50 92.50 1.01248 -352.50 167.50 97.50 0.608534 -352.50 167.50 102.50 0.325954 -352.50 167.50 107.50 0.202944 -352.50 167.50 112.50 0.133183 -352.50 167.50 117.50 0.0895592 -352.50 167.50 122.50 0.0777873 -352.50 167.50 127.50 0.0912259 -352.50 167.50 132.50 0.0752199 -352.50 167.50 137.50 0.0423654 -352.50 167.50 142.50 0.0284921 -352.50 167.50 147.50 0.0549685 -352.50 167.50 152.50 0.155453 -352.50 167.50 157.50 0.397317 -352.50 167.50 162.50 0.808874 -352.50 167.50 167.50 1.28696 -352.50 167.50 172.50 1.54438 -352.50 167.50 177.50 1.39784 -352.50 167.50 182.50 1.01248 -352.50 167.50 187.50 0.608534 -352.50 167.50 192.50 0.325954 -352.50 167.50 197.50 0.202944 -352.50 167.50 202.50 0.133183 -352.50 167.50 207.50 0.0895593 -352.50 167.50 212.50 0.0777873 -352.50 167.50 217.50 0.0912259 -352.50 167.50 222.50 0.0752199 -352.50 167.50 227.50 0.0423654 -352.50 167.50 232.50 0.0284921 -352.50 167.50 237.50 0.0549685 -352.50 167.50 242.50 0.155453 -352.50 167.50 247.50 0.397317 -352.50 167.50 252.50 0.808875 -352.50 167.50 257.50 1.28697 -352.50 167.50 262.50 1.54439 -352.50 167.50 267.50 1.39784 -352.50 167.50 272.50 1.01248 -352.50 167.50 277.50 0.608534 -352.50 167.50 282.50 0.325954 -352.50 167.50 287.50 0.202944 -352.50 167.50 292.50 0.133183 -352.50 167.50 297.50 0.0895593 -352.50 167.50 302.50 0.0777873 -352.50 167.50 307.50 0.0912258 -352.50 167.50 312.50 0.0752199 -352.50 167.50 317.50 0.0423655 -352.50 167.50 322.50 0.0284921 -352.50 167.50 327.50 0.0549683 -352.50 167.50 332.50 0.155453 -352.50 167.50 337.50 0.397316 -352.50 167.50 342.50 0.808872 -352.50 167.50 347.50 1.28696 -352.50 167.50 352.50 1.54438 -352.50 167.50 357.50 1.39784 -352.50 172.50 2.50 0.748314 -352.50 172.50 7.50 0.390835 -352.50 172.50 12.50 0.189551 -352.50 172.50 17.50 0.103142 -352.50 172.50 22.50 0.0810948 -352.50 172.50 27.50 0.0778745 -352.50 172.50 32.50 0.0872312 -352.50 172.50 37.50 0.0934662 -352.50 172.50 42.50 0.0764977 -352.50 172.50 47.50 0.0477299 -352.50 172.50 52.50 0.0339705 -352.50 172.50 57.50 0.0559127 -352.50 172.50 62.50 0.128447 -352.50 172.50 67.50 0.295839 -352.50 172.50 72.50 0.629722 -352.50 172.50 77.50 1.07311 -352.50 172.50 82.50 1.31062 -352.50 172.50 87.50 1.1454 -352.50 172.50 92.50 0.748315 -352.50 172.50 97.50 0.390835 -352.50 172.50 102.50 0.189551 -352.50 172.50 107.50 0.103142 -352.50 172.50 112.50 0.0810948 -352.50 172.50 117.50 0.0778744 -352.50 172.50 122.50 0.0872312 -352.50 172.50 127.50 0.0934662 -352.50 172.50 132.50 0.0764976 -352.50 172.50 137.50 0.0477299 -352.50 172.50 142.50 0.0339705 -352.50 172.50 147.50 0.0559127 -352.50 172.50 152.50 0.128447 -352.50 172.50 157.50 0.295839 -352.50 172.50 162.50 0.629722 -352.50 172.50 167.50 1.07311 -352.50 172.50 172.50 1.31062 -352.50 172.50 177.50 1.1454 -352.50 172.50 182.50 0.748314 -352.50 172.50 187.50 0.390835 -352.50 172.50 192.50 0.189551 -352.50 172.50 197.50 0.103142 -352.50 172.50 202.50 0.0810947 -352.50 172.50 207.50 0.0778744 -352.50 172.50 212.50 0.0872312 -352.50 172.50 217.50 0.0934662 -352.50 172.50 222.50 0.0764977 -352.50 172.50 227.50 0.0477299 -352.50 172.50 232.50 0.0339705 -352.50 172.50 237.50 0.0559127 -352.50 172.50 242.50 0.128448 -352.50 172.50 247.50 0.29584 -352.50 172.50 252.50 0.629724 -352.50 172.50 257.50 1.07311 -352.50 172.50 262.50 1.31062 -352.50 172.50 267.50 1.1454 -352.50 172.50 272.50 0.748313 -352.50 172.50 277.50 0.390835 -352.50 172.50 282.50 0.189551 -352.50 172.50 287.50 0.103142 -352.50 172.50 292.50 0.0810948 -352.50 172.50 297.50 0.0778744 -352.50 172.50 302.50 0.0872312 -352.50 172.50 307.50 0.0934663 -352.50 172.50 312.50 0.0764977 -352.50 172.50 317.50 0.0477299 -352.50 172.50 322.50 0.0339705 -352.50 172.50 327.50 0.0559126 -352.50 172.50 332.50 0.128447 -352.50 172.50 337.50 0.295839 -352.50 172.50 342.50 0.629722 -352.50 172.50 347.50 1.07311 -352.50 172.50 352.50 1.31062 -352.50 172.50 357.50 1.1454 -352.50 177.50 2.50 0.512871 -352.50 177.50 7.50 0.23942 -352.50 177.50 12.50 0.104932 -352.50 177.50 17.50 0.0662052 -352.50 177.50 22.50 0.0623607 -352.50 177.50 27.50 0.0660297 -352.50 177.50 32.50 0.0683522 -352.50 177.50 37.50 0.0741997 -352.50 177.50 42.50 0.0710802 -352.50 177.50 47.50 0.0581633 -352.50 177.50 52.50 0.044284 -352.50 177.50 57.50 0.0444665 -352.50 177.50 62.50 0.0775084 -352.50 177.50 67.50 0.18991 -352.50 177.50 72.50 0.446619 -352.50 177.50 77.50 0.808349 -352.50 177.50 82.50 1.00664 -352.50 177.50 87.50 0.851275 -352.50 177.50 92.50 0.512872 -352.50 177.50 97.50 0.23942 -352.50 177.50 102.50 0.104932 -352.50 177.50 107.50 0.0662052 -352.50 177.50 112.50 0.0623607 -352.50 177.50 117.50 0.0660297 -352.50 177.50 122.50 0.0683521 -352.50 177.50 127.50 0.0741997 -352.50 177.50 132.50 0.0710802 -352.50 177.50 137.50 0.0581632 -352.50 177.50 142.50 0.044284 -352.50 177.50 147.50 0.0444666 -352.50 177.50 152.50 0.0775084 -352.50 177.50 157.50 0.18991 -352.50 177.50 162.50 0.446619 -352.50 177.50 167.50 0.808349 -352.50 177.50 172.50 1.00664 -352.50 177.50 177.50 0.851276 -352.50 177.50 182.50 0.51287 -352.50 177.50 187.50 0.23942 -352.50 177.50 192.50 0.104932 -352.50 177.50 197.50 0.0662052 -352.50 177.50 202.50 0.0623607 -352.50 177.50 207.50 0.0660297 -352.50 177.50 212.50 0.0683521 -352.50 177.50 217.50 0.0741997 -352.50 177.50 222.50 0.0710802 -352.50 177.50 227.50 0.0581632 -352.50 177.50 232.50 0.044284 -352.50 177.50 237.50 0.0444666 -352.50 177.50 242.50 0.0775086 -352.50 177.50 247.50 0.18991 -352.50 177.50 252.50 0.44662 -352.50 177.50 257.50 0.808349 -352.50 177.50 262.50 1.00664 -352.50 177.50 267.50 0.851274 -352.50 177.50 272.50 0.51287 -352.50 177.50 277.50 0.23942 -352.50 177.50 282.50 0.104932 -352.50 177.50 287.50 0.0662052 -352.50 177.50 292.50 0.0623607 -352.50 177.50 297.50 0.0660297 -352.50 177.50 302.50 0.0683522 -352.50 177.50 307.50 0.0741997 -352.50 177.50 312.50 0.0710802 -352.50 177.50 317.50 0.0581633 -352.50 177.50 322.50 0.044284 -352.50 177.50 327.50 0.0444665 -352.50 177.50 332.50 0.0775084 -352.50 177.50 337.50 0.18991 -352.50 177.50 342.50 0.446618 -352.50 177.50 347.50 0.808348 -352.50 177.50 352.50 1.00664 -352.50 177.50 357.50 0.851276 -357.50 2.50 2.50 0.773178 -357.50 2.50 7.50 0.980476 -357.50 2.50 12.50 0.773179 -357.50 2.50 17.50 0.393273 -357.50 2.50 22.50 0.149977 -357.50 2.50 27.50 0.0624686 -357.50 2.50 32.50 0.0485219 -357.50 2.50 37.50 0.0601603 -357.50 2.50 42.50 0.0760385 -357.50 2.50 47.50 0.083846 -357.50 2.50 52.50 0.084539 -357.50 2.50 57.50 0.083846 -357.50 2.50 62.50 0.0760386 -357.50 2.50 67.50 0.0601604 -357.50 2.50 72.50 0.048522 -357.50 2.50 77.50 0.0624685 -357.50 2.50 82.50 0.149976 -357.50 2.50 87.50 0.393271 -357.50 2.50 92.50 0.773178 -357.50 2.50 97.50 0.980476 -357.50 2.50 102.50 0.773179 -357.50 2.50 107.50 0.393273 -357.50 2.50 112.50 0.149977 -357.50 2.50 117.50 0.0624686 -357.50 2.50 122.50 0.0485219 -357.50 2.50 127.50 0.0601603 -357.50 2.50 132.50 0.0760385 -357.50 2.50 137.50 0.083846 -357.50 2.50 142.50 0.084539 -357.50 2.50 147.50 0.083846 -357.50 2.50 152.50 0.0760386 -357.50 2.50 157.50 0.0601604 -357.50 2.50 162.50 0.048522 -357.50 2.50 167.50 0.0624684 -357.50 2.50 172.50 0.149976 -357.50 2.50 177.50 0.393271 -357.50 2.50 182.50 0.773178 -357.50 2.50 187.50 0.980476 -357.50 2.50 192.50 0.773179 -357.50 2.50 197.50 0.393273 -357.50 2.50 202.50 0.149977 -357.50 2.50 207.50 0.0624686 -357.50 2.50 212.50 0.0485219 -357.50 2.50 217.50 0.0601602 -357.50 2.50 222.50 0.0760385 -357.50 2.50 227.50 0.083846 -357.50 2.50 232.50 0.084539 -357.50 2.50 237.50 0.083846 -357.50 2.50 242.50 0.0760385 -357.50 2.50 247.50 0.0601603 -357.50 2.50 252.50 0.048522 -357.50 2.50 257.50 0.0624685 -357.50 2.50 262.50 0.149977 -357.50 2.50 267.50 0.393272 -357.50 2.50 272.50 0.773177 -357.50 2.50 277.50 0.980476 -357.50 2.50 282.50 0.773179 -357.50 2.50 287.50 0.393273 -357.50 2.50 292.50 0.149977 -357.50 2.50 297.50 0.0624687 -357.50 2.50 302.50 0.0485219 -357.50 2.50 307.50 0.0601602 -357.50 2.50 312.50 0.0760385 -357.50 2.50 317.50 0.083846 -357.50 2.50 322.50 0.084539 -357.50 2.50 327.50 0.083846 -357.50 2.50 332.50 0.0760386 -357.50 2.50 337.50 0.0601604 -357.50 2.50 342.50 0.048522 -357.50 2.50 347.50 0.0624684 -357.50 2.50 352.50 0.149976 -357.50 2.50 357.50 0.39327 -357.50 7.50 2.50 0.987352 -357.50 7.50 7.50 1.11343 -357.50 7.50 12.50 0.84601 -357.50 7.50 17.50 0.448901 -357.50 7.50 22.50 0.184365 -357.50 7.50 27.50 0.0759277 -357.50 7.50 32.50 0.0436248 -357.50 7.50 37.50 0.044835 -357.50 7.50 42.50 0.0576317 -357.50 7.50 47.50 0.0700447 -357.50 7.50 52.50 0.0739503 -357.50 7.50 57.50 0.0686384 -357.50 7.50 62.50 0.0573383 -357.50 7.50 67.50 0.0533238 -357.50 7.50 72.50 0.0569322 -357.50 7.50 77.50 0.0924005 -357.50 7.50 82.50 0.235544 -357.50 7.50 87.50 0.578475 -357.50 7.50 92.50 0.987354 -357.50 7.50 97.50 1.11343 -357.50 7.50 102.50 0.84601 -357.50 7.50 107.50 0.448901 -357.50 7.50 112.50 0.184365 -357.50 7.50 117.50 0.0759277 -357.50 7.50 122.50 0.0436248 -357.50 7.50 127.50 0.044835 -357.50 7.50 132.50 0.0576317 -357.50 7.50 137.50 0.0700447 -357.50 7.50 142.50 0.0739503 -357.50 7.50 147.50 0.0686384 -357.50 7.50 152.50 0.0573383 -357.50 7.50 157.50 0.0533238 -357.50 7.50 162.50 0.0569323 -357.50 7.50 167.50 0.0924005 -357.50 7.50 172.50 0.235544 -357.50 7.50 177.50 0.578475 -357.50 7.50 182.50 0.987353 -357.50 7.50 187.50 1.11343 -357.50 7.50 192.50 0.846009 -357.50 7.50 197.50 0.448901 -357.50 7.50 202.50 0.184365 -357.50 7.50 207.50 0.0759277 -357.50 7.50 212.50 0.0436248 -357.50 7.50 217.50 0.044835 -357.50 7.50 222.50 0.0576317 -357.50 7.50 227.50 0.0700448 -357.50 7.50 232.50 0.0739503 -357.50 7.50 237.50 0.0686384 -357.50 7.50 242.50 0.0573383 -357.50 7.50 247.50 0.0533238 -357.50 7.50 252.50 0.0569323 -357.50 7.50 257.50 0.0924007 -357.50 7.50 262.50 0.235545 -357.50 7.50 267.50 0.578475 -357.50 7.50 272.50 0.987351 -357.50 7.50 277.50 1.11342 -357.50 7.50 282.50 0.84601 -357.50 7.50 287.50 0.448901 -357.50 7.50 292.50 0.184365 -357.50 7.50 297.50 0.0759277 -357.50 7.50 302.50 0.0436248 -357.50 7.50 307.50 0.044835 -357.50 7.50 312.50 0.0576317 -357.50 7.50 317.50 0.0700448 -357.50 7.50 322.50 0.0739503 -357.50 7.50 327.50 0.0686384 -357.50 7.50 332.50 0.0573383 -357.50 7.50 337.50 0.0533238 -357.50 7.50 342.50 0.0569322 -357.50 7.50 347.50 0.0924004 -357.50 7.50 352.50 0.235543 -357.50 7.50 357.50 0.578474 -357.50 12.50 2.50 1.3016 -357.50 12.50 7.50 1.44265 -357.50 12.50 12.50 1.12328 -357.50 12.50 17.50 0.636202 -357.50 12.50 22.50 0.290226 -357.50 12.50 27.50 0.127569 -357.50 12.50 32.50 0.0633138 -357.50 12.50 37.50 0.0428904 -357.50 12.50 42.50 0.0491793 -357.50 12.50 47.50 0.0719836 -357.50 12.50 52.50 0.0858504 -357.50 12.50 57.50 0.0789392 -357.50 12.50 62.50 0.0660809 -357.50 12.50 67.50 0.0667711 -357.50 12.50 72.50 0.0887193 -357.50 12.50 77.50 0.152794 -357.50 12.50 82.50 0.363566 -357.50 12.50 87.50 0.806011 -357.50 12.50 92.50 1.3016 -357.50 12.50 97.50 1.44265 -357.50 12.50 102.50 1.12328 -357.50 12.50 107.50 0.636202 -357.50 12.50 112.50 0.290226 -357.50 12.50 117.50 0.127569 -357.50 12.50 122.50 0.0633138 -357.50 12.50 127.50 0.0428904 -357.50 12.50 132.50 0.0491793 -357.50 12.50 137.50 0.0719836 -357.50 12.50 142.50 0.0858504 -357.50 12.50 147.50 0.0789392 -357.50 12.50 152.50 0.0660809 -357.50 12.50 157.50 0.0667711 -357.50 12.50 162.50 0.0887193 -357.50 12.50 167.50 0.152794 -357.50 12.50 172.50 0.363566 -357.50 12.50 177.50 0.806011 -357.50 12.50 182.50 1.3016 -357.50 12.50 187.50 1.44265 -357.50 12.50 192.50 1.12328 -357.50 12.50 197.50 0.636202 -357.50 12.50 202.50 0.290226 -357.50 12.50 207.50 0.127569 -357.50 12.50 212.50 0.0633138 -357.50 12.50 217.50 0.0428904 -357.50 12.50 222.50 0.0491793 -357.50 12.50 227.50 0.0719835 -357.50 12.50 232.50 0.0858504 -357.50 12.50 237.50 0.0789392 -357.50 12.50 242.50 0.0660809 -357.50 12.50 247.50 0.0667711 -357.50 12.50 252.50 0.0887193 -357.50 12.50 257.50 0.152794 -357.50 12.50 262.50 0.363567 -357.50 12.50 267.50 0.806011 -357.50 12.50 272.50 1.3016 -357.50 12.50 277.50 1.44265 -357.50 12.50 282.50 1.12328 -357.50 12.50 287.50 0.636202 -357.50 12.50 292.50 0.290226 -357.50 12.50 297.50 0.127569 -357.50 12.50 302.50 0.0633139 -357.50 12.50 307.50 0.0428904 -357.50 12.50 312.50 0.0491793 -357.50 12.50 317.50 0.0719836 -357.50 12.50 322.50 0.0858504 -357.50 12.50 327.50 0.0789393 -357.50 12.50 332.50 0.0660809 -357.50 12.50 337.50 0.066771 -357.50 12.50 342.50 0.0887192 -357.50 12.50 347.50 0.152794 -357.50 12.50 352.50 0.363566 -357.50 12.50 357.50 0.806009 -357.50 17.50 2.50 1.52022 -357.50 17.50 7.50 1.65379 -357.50 17.50 12.50 1.3519 -357.50 17.50 17.50 0.847717 -357.50 17.50 22.50 0.432082 -357.50 17.50 27.50 0.18591 -357.50 17.50 32.50 0.0659939 -357.50 17.50 37.50 0.0323908 -357.50 17.50 42.50 0.040952 -357.50 17.50 47.50 0.0691217 -357.50 17.50 52.50 0.0845745 -357.50 17.50 57.50 0.0686731 -357.50 17.50 62.50 0.0524681 -357.50 17.50 67.50 0.0857277 -357.50 17.50 72.50 0.15518 -357.50 17.50 77.50 0.276506 -357.50 17.50 82.50 0.531967 -357.50 17.50 87.50 1.02628 -357.50 17.50 92.50 1.52022 -357.50 17.50 97.50 1.65379 -357.50 17.50 102.50 1.3519 -357.50 17.50 107.50 0.847716 -357.50 17.50 112.50 0.432082 -357.50 17.50 117.50 0.18591 -357.50 17.50 122.50 0.0659939 -357.50 17.50 127.50 0.0323908 -357.50 17.50 132.50 0.040952 -357.50 17.50 137.50 0.0691217 -357.50 17.50 142.50 0.0845745 -357.50 17.50 147.50 0.0686731 -357.50 17.50 152.50 0.0524681 -357.50 17.50 157.50 0.0857276 -357.50 17.50 162.50 0.155179 -357.50 17.50 167.50 0.276506 -357.50 17.50 172.50 0.531967 -357.50 17.50 177.50 1.02628 -357.50 17.50 182.50 1.52022 -357.50 17.50 187.50 1.65379 -357.50 17.50 192.50 1.3519 -357.50 17.50 197.50 0.847716 -357.50 17.50 202.50 0.432081 -357.50 17.50 207.50 0.18591 -357.50 17.50 212.50 0.065994 -357.50 17.50 217.50 0.0323908 -357.50 17.50 222.50 0.040952 -357.50 17.50 227.50 0.0691217 -357.50 17.50 232.50 0.0845745 -357.50 17.50 237.50 0.068673 -357.50 17.50 242.50 0.0524681 -357.50 17.50 247.50 0.0857277 -357.50 17.50 252.50 0.15518 -357.50 17.50 257.50 0.276507 -357.50 17.50 262.50 0.531968 -357.50 17.50 267.50 1.02628 -357.50 17.50 272.50 1.52022 -357.50 17.50 277.50 1.65379 -357.50 17.50 282.50 1.3519 -357.50 17.50 287.50 0.847717 -357.50 17.50 292.50 0.432082 -357.50 17.50 297.50 0.18591 -357.50 17.50 302.50 0.0659941 -357.50 17.50 307.50 0.0323908 -357.50 17.50 312.50 0.040952 -357.50 17.50 317.50 0.0691217 -357.50 17.50 322.50 0.0845745 -357.50 17.50 327.50 0.0686732 -357.50 17.50 332.50 0.052468 -357.50 17.50 337.50 0.0857276 -357.50 17.50 342.50 0.155179 -357.50 17.50 347.50 0.276506 -357.50 17.50 352.50 0.531967 -357.50 17.50 357.50 1.02627 -357.50 22.50 2.50 1.70709 -357.50 22.50 7.50 1.81865 -357.50 22.50 12.50 1.53789 -357.50 22.50 17.50 1.04041 -357.50 22.50 22.50 0.554598 -357.50 22.50 27.50 0.232619 -357.50 22.50 32.50 0.0872121 -357.50 22.50 37.50 0.0373365 -357.50 22.50 42.50 0.0275172 -357.50 22.50 47.50 0.0402605 -357.50 22.50 52.50 0.0491587 -357.50 22.50 57.50 0.0511928 -357.50 22.50 62.50 0.0636141 -357.50 22.50 67.50 0.111743 -357.50 22.50 72.50 0.220447 -357.50 22.50 77.50 0.430747 -357.50 22.50 82.50 0.757889 -357.50 22.50 87.50 1.26139 -357.50 22.50 92.50 1.70709 -357.50 22.50 97.50 1.81865 -357.50 22.50 102.50 1.53789 -357.50 22.50 107.50 1.04041 -357.50 22.50 112.50 0.554598 -357.50 22.50 117.50 0.232619 -357.50 22.50 122.50 0.0872121 -357.50 22.50 127.50 0.0373365 -357.50 22.50 132.50 0.0275172 -357.50 22.50 137.50 0.0402605 -357.50 22.50 142.50 0.0491587 -357.50 22.50 147.50 0.0511928 -357.50 22.50 152.50 0.063614 -357.50 22.50 157.50 0.111743 -357.50 22.50 162.50 0.220447 -357.50 22.50 167.50 0.430747 -357.50 22.50 172.50 0.757889 -357.50 22.50 177.50 1.26139 -357.50 22.50 182.50 1.70709 -357.50 22.50 187.50 1.81865 -357.50 22.50 192.50 1.53789 -357.50 22.50 197.50 1.04041 -357.50 22.50 202.50 0.554598 -357.50 22.50 207.50 0.232619 -357.50 22.50 212.50 0.0872121 -357.50 22.50 217.50 0.0373365 -357.50 22.50 222.50 0.0275172 -357.50 22.50 227.50 0.0402605 -357.50 22.50 232.50 0.0491587 -357.50 22.50 237.50 0.0511928 -357.50 22.50 242.50 0.0636141 -357.50 22.50 247.50 0.111743 -357.50 22.50 252.50 0.220447 -357.50 22.50 257.50 0.430747 -357.50 22.50 262.50 0.75789 -357.50 22.50 267.50 1.26139 -357.50 22.50 272.50 1.70709 -357.50 22.50 277.50 1.81865 -357.50 22.50 282.50 1.53789 -357.50 22.50 287.50 1.04041 -357.50 22.50 292.50 0.554598 -357.50 22.50 297.50 0.232619 -357.50 22.50 302.50 0.0872122 -357.50 22.50 307.50 0.0373365 -357.50 22.50 312.50 0.0275172 -357.50 22.50 317.50 0.0402605 -357.50 22.50 322.50 0.0491587 -357.50 22.50 327.50 0.0511928 -357.50 22.50 332.50 0.063614 -357.50 22.50 337.50 0.111743 -357.50 22.50 342.50 0.220446 -357.50 22.50 347.50 0.430747 -357.50 22.50 352.50 0.757889 -357.50 22.50 357.50 1.26139 -357.50 27.50 2.50 1.8763 -357.50 27.50 7.50 1.96189 -357.50 27.50 12.50 1.65688 -357.50 27.50 17.50 1.13362 -357.50 27.50 22.50 0.603202 -357.50 27.50 27.50 0.253091 -357.50 27.50 32.50 0.0856215 -357.50 27.50 37.50 0.0413407 -357.50 27.50 42.50 0.0206685 -357.50 27.50 47.50 0.0123819 -357.50 27.50 52.50 0.0208143 -357.50 27.50 57.50 0.0369661 -357.50 27.50 62.50 0.0718562 -357.50 27.50 67.50 0.165614 -357.50 27.50 72.50 0.316784 -357.50 27.50 77.50 0.578258 -357.50 27.50 82.50 0.979424 -357.50 27.50 87.50 1.47625 -357.50 27.50 92.50 1.8763 -357.50 27.50 97.50 1.96189 -357.50 27.50 102.50 1.65688 -357.50 27.50 107.50 1.13362 -357.50 27.50 112.50 0.603203 -357.50 27.50 117.50 0.253091 -357.50 27.50 122.50 0.0856215 -357.50 27.50 127.50 0.0413406 -357.50 27.50 132.50 0.0206685 -357.50 27.50 137.50 0.0123819 -357.50 27.50 142.50 0.0208143 -357.50 27.50 147.50 0.0369662 -357.50 27.50 152.50 0.0718561 -357.50 27.50 157.50 0.165614 -357.50 27.50 162.50 0.316784 -357.50 27.50 167.50 0.578258 -357.50 27.50 172.50 0.979423 -357.50 27.50 177.50 1.47625 -357.50 27.50 182.50 1.8763 -357.50 27.50 187.50 1.96189 -357.50 27.50 192.50 1.65688 -357.50 27.50 197.50 1.13362 -357.50 27.50 202.50 0.603202 -357.50 27.50 207.50 0.253092 -357.50 27.50 212.50 0.0856216 -357.50 27.50 217.50 0.0413407 -357.50 27.50 222.50 0.0206685 -357.50 27.50 227.50 0.0123819 -357.50 27.50 232.50 0.0208143 -357.50 27.50 237.50 0.0369662 -357.50 27.50 242.50 0.0718564 -357.50 27.50 247.50 0.165615 -357.50 27.50 252.50 0.316784 -357.50 27.50 257.50 0.578258 -357.50 27.50 262.50 0.979424 -357.50 27.50 267.50 1.47625 -357.50 27.50 272.50 1.8763 -357.50 27.50 277.50 1.96189 -357.50 27.50 282.50 1.65688 -357.50 27.50 287.50 1.13362 -357.50 27.50 292.50 0.603202 -357.50 27.50 297.50 0.253092 -357.50 27.50 302.50 0.0856216 -357.50 27.50 307.50 0.0413407 -357.50 27.50 312.50 0.0206685 -357.50 27.50 317.50 0.0123819 -357.50 27.50 322.50 0.0208142 -357.50 27.50 327.50 0.0369661 -357.50 27.50 332.50 0.0718561 -357.50 27.50 337.50 0.165614 -357.50 27.50 342.50 0.316783 -357.50 27.50 347.50 0.578257 -357.50 27.50 352.50 0.979423 -357.50 27.50 357.50 1.47625 -357.50 32.50 2.50 2.00435 -357.50 32.50 7.50 2.0532 -357.50 32.50 12.50 1.70348 -357.50 32.50 17.50 1.14777 -357.50 32.50 22.50 0.607181 -357.50 32.50 27.50 0.255734 -357.50 32.50 32.50 0.113931 -357.50 32.50 37.50 0.0492446 -357.50 32.50 42.50 0.017601 -357.50 32.50 47.50 0.00744774 -357.50 32.50 52.50 0.0109886 -357.50 32.50 57.50 0.0399338 -357.50 32.50 62.50 0.111608 -357.50 32.50 67.50 0.228221 -357.50 32.50 72.50 0.470081 -357.50 32.50 77.50 0.779558 -357.50 32.50 82.50 1.20743 -357.50 32.50 87.50 1.66184 -357.50 32.50 92.50 2.00435 -357.50 32.50 97.50 2.0532 -357.50 32.50 102.50 1.70348 -357.50 32.50 107.50 1.14777 -357.50 32.50 112.50 0.607181 -357.50 32.50 117.50 0.255734 -357.50 32.50 122.50 0.113931 -357.50 32.50 127.50 0.0492445 -357.50 32.50 132.50 0.017601 -357.50 32.50 137.50 0.00744773 -357.50 32.50 142.50 0.0109886 -357.50 32.50 147.50 0.0399338 -357.50 32.50 152.50 0.111608 -357.50 32.50 157.50 0.228221 -357.50 32.50 162.50 0.470081 -357.50 32.50 167.50 0.779558 -357.50 32.50 172.50 1.20743 -357.50 32.50 177.50 1.66184 -357.50 32.50 182.50 2.00435 -357.50 32.50 187.50 2.0532 -357.50 32.50 192.50 1.70348 -357.50 32.50 197.50 1.14777 -357.50 32.50 202.50 0.607181 -357.50 32.50 207.50 0.255734 -357.50 32.50 212.50 0.113931 -357.50 32.50 217.50 0.0492446 -357.50 32.50 222.50 0.017601 -357.50 32.50 227.50 0.00744774 -357.50 32.50 232.50 0.0109886 -357.50 32.50 237.50 0.0399339 -357.50 32.50 242.50 0.111608 -357.50 32.50 247.50 0.228221 -357.50 32.50 252.50 0.470081 -357.50 32.50 257.50 0.779559 -357.50 32.50 262.50 1.20743 -357.50 32.50 267.50 1.66184 -357.50 32.50 272.50 2.00435 -357.50 32.50 277.50 2.0532 -357.50 32.50 282.50 1.70348 -357.50 32.50 287.50 1.14777 -357.50 32.50 292.50 0.607181 -357.50 32.50 297.50 0.255735 -357.50 32.50 302.50 0.113932 -357.50 32.50 307.50 0.0492446 -357.50 32.50 312.50 0.0176011 -357.50 32.50 317.50 0.00744774 -357.50 32.50 322.50 0.0109886 -357.50 32.50 327.50 0.0399338 -357.50 32.50 332.50 0.111608 -357.50 32.50 337.50 0.228221 -357.50 32.50 342.50 0.47008 -357.50 32.50 347.50 0.779557 -357.50 32.50 352.50 1.20743 -357.50 32.50 357.50 1.66184 -357.50 37.50 2.50 2.14417 -357.50 37.50 7.50 2.13826 -357.50 37.50 12.50 1.76924 -357.50 37.50 17.50 1.21186 -357.50 37.50 22.50 0.667492 -357.50 37.50 27.50 0.316604 -357.50 37.50 32.50 0.148372 -357.50 37.50 37.50 0.0673646 -357.50 37.50 42.50 0.0264573 -357.50 37.50 47.50 0.0149224 -357.50 37.50 52.50 0.0241046 -357.50 37.50 57.50 0.0726451 -357.50 37.50 62.50 0.193987 -357.50 37.50 67.50 0.398188 -357.50 37.50 72.50 0.708159 -357.50 37.50 77.50 1.12216 -357.50 37.50 82.50 1.51705 -357.50 37.50 87.50 1.89225 -357.50 37.50 92.50 2.14417 -357.50 37.50 97.50 2.13826 -357.50 37.50 102.50 1.76924 -357.50 37.50 107.50 1.21186 -357.50 37.50 112.50 0.667493 -357.50 37.50 117.50 0.316604 -357.50 37.50 122.50 0.148372 -357.50 37.50 127.50 0.0673646 -357.50 37.50 132.50 0.0264573 -357.50 37.50 137.50 0.0149224 -357.50 37.50 142.50 0.0241046 -357.50 37.50 147.50 0.0726451 -357.50 37.50 152.50 0.193987 -357.50 37.50 157.50 0.398187 -357.50 37.50 162.50 0.708159 -357.50 37.50 167.50 1.12216 -357.50 37.50 172.50 1.51705 -357.50 37.50 177.50 1.89225 -357.50 37.50 182.50 2.14417 -357.50 37.50 187.50 2.13826 -357.50 37.50 192.50 1.76924 -357.50 37.50 197.50 1.21186 -357.50 37.50 202.50 0.667493 -357.50 37.50 207.50 0.316604 -357.50 37.50 212.50 0.148373 -357.50 37.50 217.50 0.0673647 -357.50 37.50 222.50 0.0264573 -357.50 37.50 227.50 0.0149224 -357.50 37.50 232.50 0.0241047 -357.50 37.50 237.50 0.0726453 -357.50 37.50 242.50 0.193987 -357.50 37.50 247.50 0.398188 -357.50 37.50 252.50 0.70816 -357.50 37.50 257.50 1.12216 -357.50 37.50 262.50 1.51705 -357.50 37.50 267.50 1.89225 -357.50 37.50 272.50 2.14417 -357.50 37.50 277.50 2.13826 -357.50 37.50 282.50 1.76924 -357.50 37.50 287.50 1.21186 -357.50 37.50 292.50 0.667493 -357.50 37.50 297.50 0.316605 -357.50 37.50 302.50 0.148373 -357.50 37.50 307.50 0.0673648 -357.50 37.50 312.50 0.0264573 -357.50 37.50 317.50 0.0149224 -357.50 37.50 322.50 0.0241046 -357.50 37.50 327.50 0.0726449 -357.50 37.50 332.50 0.193987 -357.50 37.50 337.50 0.398187 -357.50 37.50 342.50 0.708159 -357.50 37.50 347.50 1.12215 -357.50 37.50 352.50 1.51705 -357.50 37.50 357.50 1.89225 -357.50 42.50 2.50 2.24978 -357.50 42.50 7.50 2.17122 -357.50 42.50 12.50 1.84277 -357.50 42.50 17.50 1.32884 -357.50 42.50 22.50 0.784166 -357.50 42.50 27.50 0.408708 -357.50 42.50 32.50 0.194671 -357.50 42.50 37.50 0.0951024 -357.50 42.50 42.50 0.0455314 -357.50 42.50 47.50 0.0366469 -357.50 42.50 52.50 0.0655167 -357.50 42.50 57.50 0.147592 -357.50 42.50 62.50 0.340672 -357.50 42.50 67.50 0.658198 -357.50 42.50 72.50 1.06461 -357.50 42.50 77.50 1.53548 -357.50 42.50 82.50 1.92216 -357.50 42.50 87.50 2.16403 -357.50 42.50 92.50 2.24978 -357.50 42.50 97.50 2.17122 -357.50 42.50 102.50 1.84277 -357.50 42.50 107.50 1.32884 -357.50 42.50 112.50 0.784166 -357.50 42.50 117.50 0.408708 -357.50 42.50 122.50 0.194671 -357.50 42.50 127.50 0.0951024 -357.50 42.50 132.50 0.0455314 -357.50 42.50 137.50 0.0366469 -357.50 42.50 142.50 0.0655166 -357.50 42.50 147.50 0.147592 -357.50 42.50 152.50 0.340672 -357.50 42.50 157.50 0.658198 -357.50 42.50 162.50 1.06461 -357.50 42.50 167.50 1.53548 -357.50 42.50 172.50 1.92215 -357.50 42.50 177.50 2.16403 -357.50 42.50 182.50 2.24978 -357.50 42.50 187.50 2.17122 -357.50 42.50 192.50 1.84277 -357.50 42.50 197.50 1.32884 -357.50 42.50 202.50 0.784166 -357.50 42.50 207.50 0.408708 -357.50 42.50 212.50 0.194671 -357.50 42.50 217.50 0.0951025 -357.50 42.50 222.50 0.0455315 -357.50 42.50 227.50 0.0366469 -357.50 42.50 232.50 0.0655169 -357.50 42.50 237.50 0.147592 -357.50 42.50 242.50 0.340672 -357.50 42.50 247.50 0.658199 -357.50 42.50 252.50 1.06461 -357.50 42.50 257.50 1.53548 -357.50 42.50 262.50 1.92216 -357.50 42.50 267.50 2.16403 -357.50 42.50 272.50 2.24978 -357.50 42.50 277.50 2.17122 -357.50 42.50 282.50 1.84277 -357.50 42.50 287.50 1.32884 -357.50 42.50 292.50 0.784166 -357.50 42.50 297.50 0.408708 -357.50 42.50 302.50 0.194671 -357.50 42.50 307.50 0.0951025 -357.50 42.50 312.50 0.0455315 -357.50 42.50 317.50 0.0366469 -357.50 42.50 322.50 0.0655166 -357.50 42.50 327.50 0.147592 -357.50 42.50 332.50 0.340671 -357.50 42.50 337.50 0.658198 -357.50 42.50 342.50 1.06461 -357.50 42.50 347.50 1.53548 -357.50 42.50 352.50 1.92216 -357.50 42.50 357.50 2.16403 -357.50 47.50 2.50 2.27582 -357.50 47.50 7.50 2.12179 -357.50 47.50 12.50 1.88999 -357.50 47.50 17.50 1.42774 -357.50 47.50 22.50 0.919115 -357.50 47.50 27.50 0.481646 -357.50 47.50 32.50 0.250432 -357.50 47.50 37.50 0.132148 -357.50 47.50 42.50 0.061983 -357.50 47.50 47.50 0.0671405 -357.50 47.50 52.50 0.114065 -357.50 47.50 57.50 0.251364 -357.50 47.50 62.50 0.513584 -357.50 47.50 67.50 0.878412 -357.50 47.50 72.50 1.44286 -357.50 47.50 77.50 1.96926 -357.50 47.50 82.50 2.32043 -357.50 47.50 87.50 2.39142 -357.50 47.50 92.50 2.27582 -357.50 47.50 97.50 2.12179 -357.50 47.50 102.50 1.88999 -357.50 47.50 107.50 1.42774 -357.50 47.50 112.50 0.919115 -357.50 47.50 117.50 0.481646 -357.50 47.50 122.50 0.250432 -357.50 47.50 127.50 0.132148 -357.50 47.50 132.50 0.061983 -357.50 47.50 137.50 0.0671405 -357.50 47.50 142.50 0.114065 -357.50 47.50 147.50 0.251363 -357.50 47.50 152.50 0.513583 -357.50 47.50 157.50 0.878411 -357.50 47.50 162.50 1.44285 -357.50 47.50 167.50 1.96926 -357.50 47.50 172.50 2.32043 -357.50 47.50 177.50 2.39142 -357.50 47.50 182.50 2.27582 -357.50 47.50 187.50 2.12179 -357.50 47.50 192.50 1.88999 -357.50 47.50 197.50 1.42774 -357.50 47.50 202.50 0.919115 -357.50 47.50 207.50 0.481646 -357.50 47.50 212.50 0.250432 -357.50 47.50 217.50 0.132148 -357.50 47.50 222.50 0.0619832 -357.50 47.50 227.50 0.0671405 -357.50 47.50 232.50 0.114066 -357.50 47.50 237.50 0.251364 -357.50 47.50 242.50 0.513584 -357.50 47.50 247.50 0.878413 -357.50 47.50 252.50 1.44286 -357.50 47.50 257.50 1.96926 -357.50 47.50 262.50 2.32043 -357.50 47.50 267.50 2.39142 -357.50 47.50 272.50 2.27582 -357.50 47.50 277.50 2.12179 -357.50 47.50 282.50 1.88999 -357.50 47.50 287.50 1.42774 -357.50 47.50 292.50 0.919115 -357.50 47.50 297.50 0.481647 -357.50 47.50 302.50 0.250432 -357.50 47.50 307.50 0.132148 -357.50 47.50 312.50 0.0619832 -357.50 47.50 317.50 0.0671405 -357.50 47.50 322.50 0.114065 -357.50 47.50 327.50 0.251363 -357.50 47.50 332.50 0.513583 -357.50 47.50 337.50 0.878411 -357.50 47.50 342.50 1.44285 -357.50 47.50 347.50 1.96925 -357.50 47.50 352.50 2.32043 -357.50 47.50 357.50 2.39142 -357.50 52.50 2.50 2.24978 -357.50 52.50 7.50 2.06631 -357.50 52.50 12.50 1.89379 -357.50 52.50 17.50 1.47984 -357.50 52.50 22.50 0.990687 -357.50 52.50 27.50 0.54844 -357.50 52.50 32.50 0.28793 -357.50 52.50 37.50 0.166204 -357.50 52.50 42.50 0.0740068 -357.50 52.50 47.50 0.0660524 -357.50 52.50 52.50 0.147045 -357.50 52.50 57.50 0.335583 -357.50 52.50 62.50 0.674265 -357.50 52.50 67.50 1.12989 -357.50 52.50 72.50 1.63717 -357.50 52.50 77.50 2.24595 -357.50 52.50 82.50 2.56976 -357.50 52.50 87.50 2.47069 -357.50 52.50 92.50 2.24978 -357.50 52.50 97.50 2.06631 -357.50 52.50 102.50 1.89379 -357.50 52.50 107.50 1.47984 -357.50 52.50 112.50 0.990687 -357.50 52.50 117.50 0.54844 -357.50 52.50 122.50 0.28793 -357.50 52.50 127.50 0.166204 -357.50 52.50 132.50 0.0740067 -357.50 52.50 137.50 0.0660524 -357.50 52.50 142.50 0.147045 -357.50 52.50 147.50 0.335582 -357.50 52.50 152.50 0.674265 -357.50 52.50 157.50 1.12989 -357.50 52.50 162.50 1.63717 -357.50 52.50 167.50 2.24595 -357.50 52.50 172.50 2.56976 -357.50 52.50 177.50 2.47069 -357.50 52.50 182.50 2.24978 -357.50 52.50 187.50 2.06631 -357.50 52.50 192.50 1.89379 -357.50 52.50 197.50 1.47984 -357.50 52.50 202.50 0.990687 -357.50 52.50 207.50 0.548439 -357.50 52.50 212.50 0.28793 -357.50 52.50 217.50 0.166204 -357.50 52.50 222.50 0.0740068 -357.50 52.50 227.50 0.0660524 -357.50 52.50 232.50 0.147045 -357.50 52.50 237.50 0.335583 -357.50 52.50 242.50 0.674265 -357.50 52.50 247.50 1.12989 -357.50 52.50 252.50 1.63717 -357.50 52.50 257.50 2.24595 -357.50 52.50 262.50 2.56976 -357.50 52.50 267.50 2.47069 -357.50 52.50 272.50 2.24978 -357.50 52.50 277.50 2.06631 -357.50 52.50 282.50 1.89379 -357.50 52.50 287.50 1.47984 -357.50 52.50 292.50 0.990687 -357.50 52.50 297.50 0.54844 -357.50 52.50 302.50 0.287931 -357.50 52.50 307.50 0.166204 -357.50 52.50 312.50 0.0740067 -357.50 52.50 317.50 0.0660524 -357.50 52.50 322.50 0.147045 -357.50 52.50 327.50 0.335582 -357.50 52.50 332.50 0.674264 -357.50 52.50 337.50 1.12989 -357.50 52.50 342.50 1.63717 -357.50 52.50 347.50 2.24595 -357.50 52.50 352.50 2.56976 -357.50 52.50 357.50 2.47069 -357.50 57.50 2.50 2.14417 -357.50 57.50 7.50 1.97246 -357.50 57.50 12.50 1.77356 -357.50 57.50 17.50 1.43781 -357.50 57.50 22.50 0.949073 -357.50 57.50 27.50 0.54829 -357.50 57.50 32.50 0.30684 -357.50 57.50 37.50 0.142681 -357.50 57.50 42.50 0.0592552 -357.50 57.50 47.50 0.0551716 -357.50 57.50 52.50 0.128234 -357.50 57.50 57.50 0.352811 -357.50 57.50 62.50 0.779029 -357.50 57.50 67.50 1.29211 -357.50 57.50 72.50 1.68371 -357.50 57.50 77.50 2.25069 -357.50 57.50 82.50 2.56933 -357.50 57.50 87.50 2.35162 -357.50 57.50 92.50 2.14417 -357.50 57.50 97.50 1.97246 -357.50 57.50 102.50 1.77356 -357.50 57.50 107.50 1.43781 -357.50 57.50 112.50 0.949073 -357.50 57.50 117.50 0.54829 -357.50 57.50 122.50 0.306839 -357.50 57.50 127.50 0.142681 -357.50 57.50 132.50 0.0592552 -357.50 57.50 137.50 0.0551716 -357.50 57.50 142.50 0.128234 -357.50 57.50 147.50 0.352811 -357.50 57.50 152.50 0.779028 -357.50 57.50 157.50 1.29211 -357.50 57.50 162.50 1.6837 -357.50 57.50 167.50 2.25069 -357.50 57.50 172.50 2.56933 -357.50 57.50 177.50 2.35162 -357.50 57.50 182.50 2.14417 -357.50 57.50 187.50 1.97246 -357.50 57.50 192.50 1.77356 -357.50 57.50 197.50 1.43781 -357.50 57.50 202.50 0.949072 -357.50 57.50 207.50 0.54829 -357.50 57.50 212.50 0.306839 -357.50 57.50 217.50 0.142681 -357.50 57.50 222.50 0.0592553 -357.50 57.50 227.50 0.0551716 -357.50 57.50 232.50 0.128234 -357.50 57.50 237.50 0.352812 -357.50 57.50 242.50 0.779029 -357.50 57.50 247.50 1.29211 -357.50 57.50 252.50 1.68371 -357.50 57.50 257.50 2.2507 -357.50 57.50 262.50 2.56933 -357.50 57.50 267.50 2.35162 -357.50 57.50 272.50 2.14417 -357.50 57.50 277.50 1.97246 -357.50 57.50 282.50 1.77356 -357.50 57.50 287.50 1.43781 -357.50 57.50 292.50 0.949073 -357.50 57.50 297.50 0.54829 -357.50 57.50 302.50 0.30684 -357.50 57.50 307.50 0.142681 -357.50 57.50 312.50 0.0592553 -357.50 57.50 317.50 0.0551716 -357.50 57.50 322.50 0.128234 -357.50 57.50 327.50 0.352811 -357.50 57.50 332.50 0.779028 -357.50 57.50 337.50 1.29211 -357.50 57.50 342.50 1.6837 -357.50 57.50 347.50 2.25069 -357.50 57.50 352.50 2.56933 -357.50 57.50 357.50 2.35162 -357.50 62.50 2.50 2.00435 -357.50 62.50 7.50 1.83272 -357.50 62.50 12.50 1.60129 -357.50 62.50 17.50 1.26763 -357.50 62.50 22.50 0.842802 -357.50 62.50 27.50 0.475305 -357.50 62.50 32.50 0.250862 -357.50 62.50 37.50 0.118409 -357.50 62.50 42.50 0.0409816 -357.50 62.50 47.50 0.0302475 -357.50 62.50 52.50 0.106678 -357.50 62.50 57.50 0.345127 -357.50 62.50 62.50 0.741932 -357.50 62.50 67.50 1.1961 -357.50 62.50 72.50 1.65406 -357.50 62.50 77.50 2.07465 -357.50 62.50 82.50 2.36556 -357.50 62.50 87.50 2.14313 -357.50 62.50 92.50 2.00435 -357.50 62.50 97.50 1.83272 -357.50 62.50 102.50 1.60129 -357.50 62.50 107.50 1.26763 -357.50 62.50 112.50 0.842802 -357.50 62.50 117.50 0.475305 -357.50 62.50 122.50 0.250862 -357.50 62.50 127.50 0.118409 -357.50 62.50 132.50 0.0409816 -357.50 62.50 137.50 0.0302475 -357.50 62.50 142.50 0.106678 -357.50 62.50 147.50 0.345127 -357.50 62.50 152.50 0.741932 -357.50 62.50 157.50 1.1961 -357.50 62.50 162.50 1.65406 -357.50 62.50 167.50 2.07465 -357.50 62.50 172.50 2.36556 -357.50 62.50 177.50 2.14313 -357.50 62.50 182.50 2.00435 -357.50 62.50 187.50 1.83272 -357.50 62.50 192.50 1.60129 -357.50 62.50 197.50 1.26763 -357.50 62.50 202.50 0.842802 -357.50 62.50 207.50 0.475305 -357.50 62.50 212.50 0.250862 -357.50 62.50 217.50 0.118409 -357.50 62.50 222.50 0.0409816 -357.50 62.50 227.50 0.0302474 -357.50 62.50 232.50 0.106679 -357.50 62.50 237.50 0.345127 -357.50 62.50 242.50 0.741933 -357.50 62.50 247.50 1.1961 -357.50 62.50 252.50 1.65406 -357.50 62.50 257.50 2.07465 -357.50 62.50 262.50 2.36556 -357.50 62.50 267.50 2.14313 -357.50 62.50 272.50 2.00435 -357.50 62.50 277.50 1.83272 -357.50 62.50 282.50 1.60129 -357.50 62.50 287.50 1.26763 -357.50 62.50 292.50 0.842802 -357.50 62.50 297.50 0.475305 -357.50 62.50 302.50 0.250863 -357.50 62.50 307.50 0.118409 -357.50 62.50 312.50 0.0409817 -357.50 62.50 317.50 0.0302474 -357.50 62.50 322.50 0.106678 -357.50 62.50 327.50 0.345126 -357.50 62.50 332.50 0.741932 -357.50 62.50 337.50 1.1961 -357.50 62.50 342.50 1.65406 -357.50 62.50 347.50 2.07465 -357.50 62.50 352.50 2.36556 -357.50 62.50 357.50 2.14313 -357.50 67.50 2.50 1.8763 -357.50 67.50 7.50 1.71558 -357.50 67.50 12.50 1.43712 -357.50 67.50 17.50 1.1422 -357.50 67.50 22.50 0.757155 -357.50 67.50 27.50 0.432429 -357.50 67.50 32.50 0.242332 -357.50 67.50 37.50 0.097896 -357.50 67.50 42.50 0.0339808 -357.50 67.50 47.50 0.0340418 -357.50 67.50 52.50 0.103845 -357.50 67.50 57.50 0.276608 -357.50 67.50 62.50 0.624973 -357.50 67.50 67.50 1.10522 -357.50 67.50 72.50 1.55576 -357.50 67.50 77.50 1.94047 -357.50 67.50 82.50 2.10575 -357.50 67.50 87.50 1.93504 -357.50 67.50 92.50 1.8763 -357.50 67.50 97.50 1.71558 -357.50 67.50 102.50 1.43712 -357.50 67.50 107.50 1.1422 -357.50 67.50 112.50 0.757155 -357.50 67.50 117.50 0.432429 -357.50 67.50 122.50 0.242332 -357.50 67.50 127.50 0.097896 -357.50 67.50 132.50 0.0339807 -357.50 67.50 137.50 0.0340418 -357.50 67.50 142.50 0.103845 -357.50 67.50 147.50 0.276608 -357.50 67.50 152.50 0.624972 -357.50 67.50 157.50 1.10522 -357.50 67.50 162.50 1.55576 -357.50 67.50 167.50 1.94047 -357.50 67.50 172.50 2.10575 -357.50 67.50 177.50 1.93505 -357.50 67.50 182.50 1.8763 -357.50 67.50 187.50 1.71558 -357.50 67.50 192.50 1.43712 -357.50 67.50 197.50 1.14219 -357.50 67.50 202.50 0.757154 -357.50 67.50 207.50 0.432429 -357.50 67.50 212.50 0.242332 -357.50 67.50 217.50 0.0978962 -357.50 67.50 222.50 0.0339808 -357.50 67.50 227.50 0.0340418 -357.50 67.50 232.50 0.103845 -357.50 67.50 237.50 0.276609 -357.50 67.50 242.50 0.624974 -357.50 67.50 247.50 1.10522 -357.50 67.50 252.50 1.55576 -357.50 67.50 257.50 1.94047 -357.50 67.50 262.50 2.10575 -357.50 67.50 267.50 1.93504 -357.50 67.50 272.50 1.8763 -357.50 67.50 277.50 1.71558 -357.50 67.50 282.50 1.43712 -357.50 67.50 287.50 1.1422 -357.50 67.50 292.50 0.757155 -357.50 67.50 297.50 0.432429 -357.50 67.50 302.50 0.242333 -357.50 67.50 307.50 0.0978962 -357.50 67.50 312.50 0.0339808 -357.50 67.50 317.50 0.0340418 -357.50 67.50 322.50 0.103845 -357.50 67.50 327.50 0.276608 -357.50 67.50 332.50 0.624972 -357.50 67.50 337.50 1.10522 -357.50 67.50 342.50 1.55576 -357.50 67.50 347.50 1.94047 -357.50 67.50 352.50 2.10575 -357.50 67.50 357.50 1.93504 -357.50 72.50 2.50 1.70709 -357.50 72.50 7.50 1.55244 -357.50 72.50 12.50 1.32127 -357.50 72.50 17.50 1.03975 -357.50 72.50 22.50 0.741911 -357.50 72.50 27.50 0.511482 -357.50 72.50 32.50 0.262932 -357.50 72.50 37.50 0.101049 -357.50 72.50 42.50 0.0374785 -357.50 72.50 47.50 0.0294824 -357.50 72.50 52.50 0.0913854 -357.50 72.50 57.50 0.246594 -357.50 72.50 62.50 0.535856 -357.50 72.50 67.50 1.01542 -357.50 72.50 72.50 1.5268 -357.50 72.50 77.50 1.77444 -357.50 72.50 82.50 1.89483 -357.50 72.50 87.50 1.68933 -357.50 72.50 92.50 1.70709 -357.50 72.50 97.50 1.55244 -357.50 72.50 102.50 1.32127 -357.50 72.50 107.50 1.03975 -357.50 72.50 112.50 0.741911 -357.50 72.50 117.50 0.511482 -357.50 72.50 122.50 0.262932 -357.50 72.50 127.50 0.101049 -357.50 72.50 132.50 0.0374785 -357.50 72.50 137.50 0.0294824 -357.50 72.50 142.50 0.0913853 -357.50 72.50 147.50 0.246594 -357.50 72.50 152.50 0.535856 -357.50 72.50 157.50 1.01541 -357.50 72.50 162.50 1.5268 -357.50 72.50 167.50 1.77444 -357.50 72.50 172.50 1.89483 -357.50 72.50 177.50 1.68933 -357.50 72.50 182.50 1.70709 -357.50 72.50 187.50 1.55244 -357.50 72.50 192.50 1.32127 -357.50 72.50 197.50 1.03975 -357.50 72.50 202.50 0.741911 -357.50 72.50 207.50 0.511482 -357.50 72.50 212.50 0.262931 -357.50 72.50 217.50 0.101049 -357.50 72.50 222.50 0.0374786 -357.50 72.50 227.50 0.0294823 -357.50 72.50 232.50 0.0913857 -357.50 72.50 237.50 0.246595 -357.50 72.50 242.50 0.535857 -357.50 72.50 247.50 1.01542 -357.50 72.50 252.50 1.5268 -357.50 72.50 257.50 1.77444 -357.50 72.50 262.50 1.89483 -357.50 72.50 267.50 1.68933 -357.50 72.50 272.50 1.70709 -357.50 72.50 277.50 1.55244 -357.50 72.50 282.50 1.32127 -357.50 72.50 287.50 1.03975 -357.50 72.50 292.50 0.741911 -357.50 72.50 297.50 0.511482 -357.50 72.50 302.50 0.262932 -357.50 72.50 307.50 0.101049 -357.50 72.50 312.50 0.0374785 -357.50 72.50 317.50 0.0294823 -357.50 72.50 322.50 0.0913851 -357.50 72.50 327.50 0.246594 -357.50 72.50 332.50 0.535855 -357.50 72.50 337.50 1.01541 -357.50 72.50 342.50 1.5268 -357.50 72.50 347.50 1.77444 -357.50 72.50 352.50 1.89483 -357.50 72.50 357.50 1.68933 -357.50 77.50 2.50 1.52022 -357.50 77.50 7.50 1.35001 -357.50 77.50 12.50 1.22163 -357.50 77.50 17.50 0.968555 -357.50 77.50 22.50 0.768696 -357.50 77.50 27.50 0.503484 -357.50 77.50 32.50 0.273979 -357.50 77.50 37.50 0.115708 -357.50 77.50 42.50 0.0330348 -357.50 77.50 47.50 0.0217757 -357.50 77.50 52.50 0.0682123 -357.50 77.50 57.50 0.215093 -357.50 77.50 62.50 0.480504 -357.50 77.50 67.50 0.854395 -357.50 77.50 72.50 1.28371 -357.50 77.50 77.50 1.56491 -357.50 77.50 82.50 1.567 -357.50 77.50 87.50 1.46943 -357.50 77.50 92.50 1.52022 -357.50 77.50 97.50 1.35001 -357.50 77.50 102.50 1.22163 -357.50 77.50 107.50 0.968555 -357.50 77.50 112.50 0.768696 -357.50 77.50 117.50 0.503484 -357.50 77.50 122.50 0.273978 -357.50 77.50 127.50 0.115708 -357.50 77.50 132.50 0.0330348 -357.50 77.50 137.50 0.0217757 -357.50 77.50 142.50 0.0682123 -357.50 77.50 147.50 0.215093 -357.50 77.50 152.50 0.480503 -357.50 77.50 157.50 0.854395 -357.50 77.50 162.50 1.28371 -357.50 77.50 167.50 1.56491 -357.50 77.50 172.50 1.567 -357.50 77.50 177.50 1.46943 -357.50 77.50 182.50 1.52022 -357.50 77.50 187.50 1.35001 -357.50 77.50 192.50 1.22163 -357.50 77.50 197.50 0.968555 -357.50 77.50 202.50 0.768696 -357.50 77.50 207.50 0.503484 -357.50 77.50 212.50 0.273979 -357.50 77.50 217.50 0.115708 -357.50 77.50 222.50 0.0330348 -357.50 77.50 227.50 0.0217757 -357.50 77.50 232.50 0.0682127 -357.50 77.50 237.50 0.215093 -357.50 77.50 242.50 0.480504 -357.50 77.50 247.50 0.854396 -357.50 77.50 252.50 1.28371 -357.50 77.50 257.50 1.56491 -357.50 77.50 262.50 1.567 -357.50 77.50 267.50 1.46943 -357.50 77.50 272.50 1.52022 -357.50 77.50 277.50 1.35001 -357.50 77.50 282.50 1.22163 -357.50 77.50 287.50 0.968555 -357.50 77.50 292.50 0.768696 -357.50 77.50 297.50 0.503485 -357.50 77.50 302.50 0.273979 -357.50 77.50 307.50 0.115708 -357.50 77.50 312.50 0.0330349 -357.50 77.50 317.50 0.0217757 -357.50 77.50 322.50 0.0682122 -357.50 77.50 327.50 0.215092 -357.50 77.50 332.50 0.480503 -357.50 77.50 337.50 0.854394 -357.50 77.50 342.50 1.28371 -357.50 77.50 347.50 1.56491 -357.50 77.50 352.50 1.567 -357.50 77.50 357.50 1.46943 -357.50 82.50 2.50 1.3016 -357.50 82.50 7.50 1.2126 -357.50 82.50 12.50 1.05056 -357.50 82.50 17.50 0.940552 -357.50 82.50 22.50 0.758267 -357.50 82.50 27.50 0.479394 -357.50 82.50 32.50 0.225721 -357.50 82.50 37.50 0.0814241 -357.50 82.50 42.50 0.026686 -357.50 82.50 47.50 0.0183859 -357.50 82.50 52.50 0.0486863 -357.50 82.50 57.50 0.139193 -357.50 82.50 62.50 0.328382 -357.50 82.50 67.50 0.621059 -357.50 82.50 72.50 1.00952 -357.50 82.50 77.50 1.27109 -357.50 82.50 82.50 1.25532 -357.50 82.50 87.50 1.24446 -357.50 82.50 92.50 1.3016 -357.50 82.50 97.50 1.2126 -357.50 82.50 102.50 1.05056 -357.50 82.50 107.50 0.940552 -357.50 82.50 112.50 0.758267 -357.50 82.50 117.50 0.479394 -357.50 82.50 122.50 0.225721 -357.50 82.50 127.50 0.081424 -357.50 82.50 132.50 0.0266859 -357.50 82.50 137.50 0.0183859 -357.50 82.50 142.50 0.0486863 -357.50 82.50 147.50 0.139193 -357.50 82.50 152.50 0.328381 -357.50 82.50 157.50 0.621058 -357.50 82.50 162.50 1.00952 -357.50 82.50 167.50 1.27109 -357.50 82.50 172.50 1.25532 -357.50 82.50 177.50 1.24446 -357.50 82.50 182.50 1.3016 -357.50 82.50 187.50 1.2126 -357.50 82.50 192.50 1.05056 -357.50 82.50 197.50 0.940552 -357.50 82.50 202.50 0.758267 -357.50 82.50 207.50 0.479394 -357.50 82.50 212.50 0.225721 -357.50 82.50 217.50 0.0814241 -357.50 82.50 222.50 0.026686 -357.50 82.50 227.50 0.0183859 -357.50 82.50 232.50 0.0486864 -357.50 82.50 237.50 0.139193 -357.50 82.50 242.50 0.328382 -357.50 82.50 247.50 0.621059 -357.50 82.50 252.50 1.00952 -357.50 82.50 257.50 1.27109 -357.50 82.50 262.50 1.25532 -357.50 82.50 267.50 1.24446 -357.50 82.50 272.50 1.3016 -357.50 82.50 277.50 1.2126 -357.50 82.50 282.50 1.05056 -357.50 82.50 287.50 0.940552 -357.50 82.50 292.50 0.758267 -357.50 82.50 297.50 0.479394 -357.50 82.50 302.50 0.225721 -357.50 82.50 307.50 0.0814241 -357.50 82.50 312.50 0.026686 -357.50 82.50 317.50 0.0183859 -357.50 82.50 322.50 0.0486862 -357.50 82.50 327.50 0.139193 -357.50 82.50 332.50 0.328381 -357.50 82.50 337.50 0.621057 -357.50 82.50 342.50 1.00952 -357.50 82.50 347.50 1.27109 -357.50 82.50 352.50 1.25532 -357.50 82.50 357.50 1.24446 -357.50 87.50 2.50 0.987353 -357.50 87.50 7.50 0.872517 -357.50 87.50 12.50 0.905237 -357.50 87.50 17.50 0.804857 -357.50 87.50 22.50 0.581436 -357.50 87.50 27.50 0.366826 -357.50 87.50 32.50 0.195041 -357.50 87.50 37.50 0.0938746 -357.50 87.50 42.50 0.0429038 -357.50 87.50 47.50 0.0282038 -357.50 87.50 52.50 0.0519197 -357.50 87.50 57.50 0.111535 -357.50 87.50 62.50 0.220121 -357.50 87.50 67.50 0.419548 -357.50 87.50 72.50 0.677906 -357.50 87.50 77.50 0.85581 -357.50 87.50 82.50 0.932268 -357.50 87.50 87.50 0.87618 -357.50 87.50 92.50 0.987353 -357.50 87.50 97.50 0.872517 -357.50 87.50 102.50 0.905237 -357.50 87.50 107.50 0.804857 -357.50 87.50 112.50 0.581436 -357.50 87.50 117.50 0.366825 -357.50 87.50 122.50 0.195041 -357.50 87.50 127.50 0.0938745 -357.50 87.50 132.50 0.0429038 -357.50 87.50 137.50 0.0282038 -357.50 87.50 142.50 0.0519197 -357.50 87.50 147.50 0.111535 -357.50 87.50 152.50 0.22012 -357.50 87.50 157.50 0.419548 -357.50 87.50 162.50 0.677906 -357.50 87.50 167.50 0.85581 -357.50 87.50 172.50 0.932268 -357.50 87.50 177.50 0.87618 -357.50 87.50 182.50 0.987355 -357.50 87.50 187.50 0.872517 -357.50 87.50 192.50 0.905238 -357.50 87.50 197.50 0.804856 -357.50 87.50 202.50 0.581436 -357.50 87.50 207.50 0.366825 -357.50 87.50 212.50 0.195041 -357.50 87.50 217.50 0.0938746 -357.50 87.50 222.50 0.0429038 -357.50 87.50 227.50 0.0282038 -357.50 87.50 232.50 0.0519199 -357.50 87.50 237.50 0.111535 -357.50 87.50 242.50 0.220121 -357.50 87.50 247.50 0.419548 -357.50 87.50 252.50 0.677906 -357.50 87.50 257.50 0.85581 -357.50 87.50 262.50 0.932268 -357.50 87.50 267.50 0.87618 -357.50 87.50 272.50 0.987353 -357.50 87.50 277.50 0.872517 -357.50 87.50 282.50 0.905237 -357.50 87.50 287.50 0.804857 -357.50 87.50 292.50 0.581436 -357.50 87.50 297.50 0.366826 -357.50 87.50 302.50 0.195041 -357.50 87.50 307.50 0.0938746 -357.50 87.50 312.50 0.0429038 -357.50 87.50 317.50 0.0282038 -357.50 87.50 322.50 0.0519197 -357.50 87.50 327.50 0.111534 -357.50 87.50 332.50 0.22012 -357.50 87.50 337.50 0.419547 -357.50 87.50 342.50 0.677905 -357.50 87.50 347.50 0.85581 -357.50 87.50 352.50 0.932267 -357.50 87.50 357.50 0.87618 -357.50 92.50 2.50 0.773177 -357.50 92.50 7.50 0.675974 -357.50 92.50 12.50 0.67853 -357.50 92.50 17.50 0.621359 -357.50 92.50 22.50 0.481939 -357.50 92.50 27.50 0.315487 -357.50 92.50 32.50 0.199216 -357.50 92.50 37.50 0.129213 -357.50 92.50 42.50 0.0716309 -357.50 92.50 47.50 0.0446414 -357.50 92.50 52.50 0.0716309 -357.50 92.50 57.50 0.129213 -357.50 92.50 62.50 0.199216 -357.50 92.50 67.50 0.315487 -357.50 92.50 72.50 0.48194 -357.50 92.50 77.50 0.621359 -357.50 92.50 82.50 0.67853 -357.50 92.50 87.50 0.675974 -357.50 92.50 92.50 0.773177 -357.50 92.50 97.50 0.675974 -357.50 92.50 102.50 0.67853 -357.50 92.50 107.50 0.621359 -357.50 92.50 112.50 0.481939 -357.50 92.50 117.50 0.315487 -357.50 92.50 122.50 0.199216 -357.50 92.50 127.50 0.129213 -357.50 92.50 132.50 0.0716309 -357.50 92.50 137.50 0.0446414 -357.50 92.50 142.50 0.0716309 -357.50 92.50 147.50 0.129213 -357.50 92.50 152.50 0.199216 -357.50 92.50 157.50 0.315487 -357.50 92.50 162.50 0.481939 -357.50 92.50 167.50 0.621359 -357.50 92.50 172.50 0.678529 -357.50 92.50 177.50 0.675974 -357.50 92.50 182.50 0.773177 -357.50 92.50 187.50 0.675974 -357.50 92.50 192.50 0.67853 -357.50 92.50 197.50 0.621359 -357.50 92.50 202.50 0.481939 -357.50 92.50 207.50 0.315487 -357.50 92.50 212.50 0.199216 -357.50 92.50 217.50 0.129213 -357.50 92.50 222.50 0.0716309 -357.50 92.50 227.50 0.0446414 -357.50 92.50 232.50 0.0716311 -357.50 92.50 237.50 0.129213 -357.50 92.50 242.50 0.199216 -357.50 92.50 247.50 0.315487 -357.50 92.50 252.50 0.48194 -357.50 92.50 257.50 0.621359 -357.50 92.50 262.50 0.678529 -357.50 92.50 267.50 0.675974 -357.50 92.50 272.50 0.773177 -357.50 92.50 277.50 0.675973 -357.50 92.50 282.50 0.67853 -357.50 92.50 287.50 0.621359 -357.50 92.50 292.50 0.481939 -357.50 92.50 297.50 0.315487 -357.50 92.50 302.50 0.199216 -357.50 92.50 307.50 0.129213 -357.50 92.50 312.50 0.0716309 -357.50 92.50 317.50 0.0446414 -357.50 92.50 322.50 0.0716308 -357.50 92.50 327.50 0.129213 -357.50 92.50 332.50 0.199215 -357.50 92.50 337.50 0.315487 -357.50 92.50 342.50 0.481939 -357.50 92.50 347.50 0.621359 -357.50 92.50 352.50 0.67853 -357.50 92.50 357.50 0.675974 -357.50 97.50 2.50 0.987351 -357.50 97.50 7.50 0.87618 -357.50 97.50 12.50 0.932268 -357.50 97.50 17.50 0.85581 -357.50 97.50 22.50 0.677906 -357.50 97.50 27.50 0.419548 -357.50 97.50 32.50 0.22012 -357.50 97.50 37.50 0.111535 -357.50 97.50 42.50 0.0519198 -357.50 97.50 47.50 0.0282038 -357.50 97.50 52.50 0.0429038 -357.50 97.50 57.50 0.0938747 -357.50 97.50 62.50 0.195041 -357.50 97.50 67.50 0.366826 -357.50 97.50 72.50 0.581436 -357.50 97.50 77.50 0.804857 -357.50 97.50 82.50 0.905238 -357.50 97.50 87.50 0.872517 -357.50 97.50 92.50 0.987351 -357.50 97.50 97.50 0.87618 -357.50 97.50 102.50 0.932268 -357.50 97.50 107.50 0.855809 -357.50 97.50 112.50 0.677905 -357.50 97.50 117.50 0.419547 -357.50 97.50 122.50 0.22012 -357.50 97.50 127.50 0.111535 -357.50 97.50 132.50 0.0519197 -357.50 97.50 137.50 0.0282038 -357.50 97.50 142.50 0.0429038 -357.50 97.50 147.50 0.0938746 -357.50 97.50 152.50 0.195041 -357.50 97.50 157.50 0.366825 -357.50 97.50 162.50 0.581436 -357.50 97.50 167.50 0.804856 -357.50 97.50 172.50 0.905237 -357.50 97.50 177.50 0.872517 -357.50 97.50 182.50 0.987348 -357.50 97.50 187.50 0.876179 -357.50 97.50 192.50 0.932268 -357.50 97.50 197.50 0.855809 -357.50 97.50 202.50 0.677905 -357.50 97.50 207.50 0.419547 -357.50 97.50 212.50 0.22012 -357.50 97.50 217.50 0.111535 -357.50 97.50 222.50 0.0519198 -357.50 97.50 227.50 0.0282038 -357.50 97.50 232.50 0.0429039 -357.50 97.50 237.50 0.0938748 -357.50 97.50 242.50 0.195041 -357.50 97.50 247.50 0.366826 -357.50 97.50 252.50 0.581436 -357.50 97.50 257.50 0.804857 -357.50 97.50 262.50 0.905237 -357.50 97.50 267.50 0.872517 -357.50 97.50 272.50 0.987351 -357.50 97.50 277.50 0.87618 -357.50 97.50 282.50 0.932268 -357.50 97.50 287.50 0.85581 -357.50 97.50 292.50 0.677905 -357.50 97.50 297.50 0.419548 -357.50 97.50 302.50 0.220121 -357.50 97.50 307.50 0.111535 -357.50 97.50 312.50 0.0519198 -357.50 97.50 317.50 0.0282038 -357.50 97.50 322.50 0.0429037 -357.50 97.50 327.50 0.0938744 -357.50 97.50 332.50 0.195041 -357.50 97.50 337.50 0.366825 -357.50 97.50 342.50 0.581435 -357.50 97.50 347.50 0.804856 -357.50 97.50 352.50 0.905238 -357.50 97.50 357.50 0.872518 -357.50 102.50 2.50 1.3016 -357.50 102.50 7.50 1.24446 -357.50 102.50 12.50 1.25532 -357.50 102.50 17.50 1.27109 -357.50 102.50 22.50 1.00952 -357.50 102.50 27.50 0.621058 -357.50 102.50 32.50 0.328381 -357.50 102.50 37.50 0.139193 -357.50 102.50 42.50 0.0486863 -357.50 102.50 47.50 0.0183859 -357.50 102.50 52.50 0.026686 -357.50 102.50 57.50 0.0814241 -357.50 102.50 62.50 0.225722 -357.50 102.50 67.50 0.479395 -357.50 102.50 72.50 0.758267 -357.50 102.50 77.50 0.940553 -357.50 102.50 82.50 1.05056 -357.50 102.50 87.50 1.2126 -357.50 102.50 92.50 1.3016 -357.50 102.50 97.50 1.24446 -357.50 102.50 102.50 1.25532 -357.50 102.50 107.50 1.27109 -357.50 102.50 112.50 1.00952 -357.50 102.50 117.50 0.621058 -357.50 102.50 122.50 0.328381 -357.50 102.50 127.50 0.139193 -357.50 102.50 132.50 0.0486862 -357.50 102.50 137.50 0.0183859 -357.50 102.50 142.50 0.026686 -357.50 102.50 147.50 0.0814241 -357.50 102.50 152.50 0.225721 -357.50 102.50 157.50 0.479394 -357.50 102.50 162.50 0.758267 -357.50 102.50 167.50 0.940552 -357.50 102.50 172.50 1.05056 -357.50 102.50 177.50 1.2126 -357.50 102.50 182.50 1.30159 -357.50 102.50 187.50 1.24446 -357.50 102.50 192.50 1.25532 -357.50 102.50 197.50 1.27109 -357.50 102.50 202.50 1.00952 -357.50 102.50 207.50 0.621058 -357.50 102.50 212.50 0.328381 -357.50 102.50 217.50 0.139193 -357.50 102.50 222.50 0.0486864 -357.50 102.50 227.50 0.0183859 -357.50 102.50 232.50 0.026686 -357.50 102.50 237.50 0.0814243 -357.50 102.50 242.50 0.225721 -357.50 102.50 247.50 0.479395 -357.50 102.50 252.50 0.758267 -357.50 102.50 257.50 0.940552 -357.50 102.50 262.50 1.05056 -357.50 102.50 267.50 1.2126 -357.50 102.50 272.50 1.3016 -357.50 102.50 277.50 1.24446 -357.50 102.50 282.50 1.25532 -357.50 102.50 287.50 1.27109 -357.50 102.50 292.50 1.00952 -357.50 102.50 297.50 0.621058 -357.50 102.50 302.50 0.328382 -357.50 102.50 307.50 0.139193 -357.50 102.50 312.50 0.0486864 -357.50 102.50 317.50 0.0183859 -357.50 102.50 322.50 0.0266859 -357.50 102.50 327.50 0.0814239 -357.50 102.50 332.50 0.225721 -357.50 102.50 337.50 0.479393 -357.50 102.50 342.50 0.758266 -357.50 102.50 347.50 0.940552 -357.50 102.50 352.50 1.05056 -357.50 102.50 357.50 1.2126 -357.50 107.50 2.50 1.52022 -357.50 107.50 7.50 1.46943 -357.50 107.50 12.50 1.567 -357.50 107.50 17.50 1.56492 -357.50 107.50 22.50 1.28371 -357.50 107.50 27.50 0.854395 -357.50 107.50 32.50 0.480503 -357.50 107.50 37.50 0.215092 -357.50 107.50 42.50 0.0682123 -357.50 107.50 47.50 0.0217757 -357.50 107.50 52.50 0.0330348 -357.50 107.50 57.50 0.115708 -357.50 107.50 62.50 0.273979 -357.50 107.50 67.50 0.503485 -357.50 107.50 72.50 0.768697 -357.50 107.50 77.50 0.968555 -357.50 107.50 82.50 1.22163 -357.50 107.50 87.50 1.35001 -357.50 107.50 92.50 1.52022 -357.50 107.50 97.50 1.46943 -357.50 107.50 102.50 1.567 -357.50 107.50 107.50 1.56491 -357.50 107.50 112.50 1.28371 -357.50 107.50 117.50 0.854395 -357.50 107.50 122.50 0.480503 -357.50 107.50 127.50 0.215092 -357.50 107.50 132.50 0.0682123 -357.50 107.50 137.50 0.0217757 -357.50 107.50 142.50 0.0330348 -357.50 107.50 147.50 0.115708 -357.50 107.50 152.50 0.273978 -357.50 107.50 157.50 0.503484 -357.50 107.50 162.50 0.768697 -357.50 107.50 167.50 0.968555 -357.50 107.50 172.50 1.22163 -357.50 107.50 177.50 1.35001 -357.50 107.50 182.50 1.52022 -357.50 107.50 187.50 1.46943 -357.50 107.50 192.50 1.567 -357.50 107.50 197.50 1.56492 -357.50 107.50 202.50 1.28371 -357.50 107.50 207.50 0.854395 -357.50 107.50 212.50 0.480503 -357.50 107.50 217.50 0.215093 -357.50 107.50 222.50 0.0682124 -357.50 107.50 227.50 0.0217757 -357.50 107.50 232.50 0.0330349 -357.50 107.50 237.50 0.115708 -357.50 107.50 242.50 0.273979 -357.50 107.50 247.50 0.503485 -357.50 107.50 252.50 0.768697 -357.50 107.50 257.50 0.968555 -357.50 107.50 262.50 1.22163 -357.50 107.50 267.50 1.35001 -357.50 107.50 272.50 1.52022 -357.50 107.50 277.50 1.46943 -357.50 107.50 282.50 1.567 -357.50 107.50 287.50 1.56492 -357.50 107.50 292.50 1.28371 -357.50 107.50 297.50 0.854395 -357.50 107.50 302.50 0.480503 -357.50 107.50 307.50 0.215093 -357.50 107.50 312.50 0.0682124 -357.50 107.50 317.50 0.0217757 -357.50 107.50 322.50 0.0330348 -357.50 107.50 327.50 0.115708 -357.50 107.50 332.50 0.273978 -357.50 107.50 337.50 0.503484 -357.50 107.50 342.50 0.768696 -357.50 107.50 347.50 0.968555 -357.50 107.50 352.50 1.22163 -357.50 107.50 357.50 1.35001 -357.50 112.50 2.50 1.70709 -357.50 112.50 7.50 1.68933 -357.50 112.50 12.50 1.89483 -357.50 112.50 17.50 1.77444 -357.50 112.50 22.50 1.5268 -357.50 112.50 27.50 1.01541 -357.50 112.50 32.50 0.535856 -357.50 112.50 37.50 0.246594 -357.50 112.50 42.50 0.0913854 -357.50 112.50 47.50 0.0294823 -357.50 112.50 52.50 0.0374786 -357.50 112.50 57.50 0.101049 -357.50 112.50 62.50 0.262932 -357.50 112.50 67.50 0.511483 -357.50 112.50 72.50 0.741911 -357.50 112.50 77.50 1.03975 -357.50 112.50 82.50 1.32127 -357.50 112.50 87.50 1.55244 -357.50 112.50 92.50 1.70709 -357.50 112.50 97.50 1.68933 -357.50 112.50 102.50 1.89483 -357.50 112.50 107.50 1.77444 -357.50 112.50 112.50 1.5268 -357.50 112.50 117.50 1.01541 -357.50 112.50 122.50 0.535856 -357.50 112.50 127.50 0.246594 -357.50 112.50 132.50 0.0913852 -357.50 112.50 137.50 0.0294823 -357.50 112.50 142.50 0.0374786 -357.50 112.50 147.50 0.101049 -357.50 112.50 152.50 0.262932 -357.50 112.50 157.50 0.511482 -357.50 112.50 162.50 0.741911 -357.50 112.50 167.50 1.03975 -357.50 112.50 172.50 1.32127 -357.50 112.50 177.50 1.55244 -357.50 112.50 182.50 1.70709 -357.50 112.50 187.50 1.68933 -357.50 112.50 192.50 1.89483 -357.50 112.50 197.50 1.77444 -357.50 112.50 202.50 1.5268 -357.50 112.50 207.50 1.01541 -357.50 112.50 212.50 0.535856 -357.50 112.50 217.50 0.246594 -357.50 112.50 222.50 0.0913854 -357.50 112.50 227.50 0.0294823 -357.50 112.50 232.50 0.0374787 -357.50 112.50 237.50 0.101049 -357.50 112.50 242.50 0.262932 -357.50 112.50 247.50 0.511482 -357.50 112.50 252.50 0.741911 -357.50 112.50 257.50 1.03975 -357.50 112.50 262.50 1.32127 -357.50 112.50 267.50 1.55244 -357.50 112.50 272.50 1.70709 -357.50 112.50 277.50 1.68933 -357.50 112.50 282.50 1.89483 -357.50 112.50 287.50 1.77444 -357.50 112.50 292.50 1.5268 -357.50 112.50 297.50 1.01541 -357.50 112.50 302.50 0.535856 -357.50 112.50 307.50 0.246594 -357.50 112.50 312.50 0.0913854 -357.50 112.50 317.50 0.0294823 -357.50 112.50 322.50 0.0374784 -357.50 112.50 327.50 0.101049 -357.50 112.50 332.50 0.262931 -357.50 112.50 337.50 0.511481 -357.50 112.50 342.50 0.74191 -357.50 112.50 347.50 1.03975 -357.50 112.50 352.50 1.32127 -357.50 112.50 357.50 1.55244 -357.50 117.50 2.50 1.8763 -357.50 117.50 7.50 1.93505 -357.50 117.50 12.50 2.10575 -357.50 117.50 17.50 1.94047 -357.50 117.50 22.50 1.55576 -357.50 117.50 27.50 1.10522 -357.50 117.50 32.50 0.624973 -357.50 117.50 37.50 0.276608 -357.50 117.50 42.50 0.103845 -357.50 117.50 47.50 0.0340418 -357.50 117.50 52.50 0.0339808 -357.50 117.50 57.50 0.0978963 -357.50 117.50 62.50 0.242333 -357.50 117.50 67.50 0.43243 -357.50 117.50 72.50 0.757155 -357.50 117.50 77.50 1.1422 -357.50 117.50 82.50 1.43712 -357.50 117.50 87.50 1.71558 -357.50 117.50 92.50 1.8763 -357.50 117.50 97.50 1.93504 -357.50 117.50 102.50 2.10575 -357.50 117.50 107.50 1.94047 -357.50 117.50 112.50 1.55576 -357.50 117.50 117.50 1.10522 -357.50 117.50 122.50 0.624972 -357.50 117.50 127.50 0.276608 -357.50 117.50 132.50 0.103845 -357.50 117.50 137.50 0.0340418 -357.50 117.50 142.50 0.0339808 -357.50 117.50 147.50 0.0978962 -357.50 117.50 152.50 0.242332 -357.50 117.50 157.50 0.43243 -357.50 117.50 162.50 0.757155 -357.50 117.50 167.50 1.1422 -357.50 117.50 172.50 1.43712 -357.50 117.50 177.50 1.71558 -357.50 117.50 182.50 1.8763 -357.50 117.50 187.50 1.93504 -357.50 117.50 192.50 2.10575 -357.50 117.50 197.50 1.94047 -357.50 117.50 202.50 1.55576 -357.50 117.50 207.50 1.10522 -357.50 117.50 212.50 0.624973 -357.50 117.50 217.50 0.276608 -357.50 117.50 222.50 0.103845 -357.50 117.50 227.50 0.0340418 -357.50 117.50 232.50 0.0339808 -357.50 117.50 237.50 0.0978964 -357.50 117.50 242.50 0.242333 -357.50 117.50 247.50 0.43243 -357.50 117.50 252.50 0.757155 -357.50 117.50 257.50 1.1422 -357.50 117.50 262.50 1.43712 -357.50 117.50 267.50 1.71558 -357.50 117.50 272.50 1.8763 -357.50 117.50 277.50 1.93505 -357.50 117.50 282.50 2.10575 -357.50 117.50 287.50 1.94047 -357.50 117.50 292.50 1.55576 -357.50 117.50 297.50 1.10522 -357.50 117.50 302.50 0.624973 -357.50 117.50 307.50 0.276609 -357.50 117.50 312.50 0.103845 -357.50 117.50 317.50 0.0340419 -357.50 117.50 322.50 0.0339807 -357.50 117.50 327.50 0.0978959 -357.50 117.50 332.50 0.242332 -357.50 117.50 337.50 0.432429 -357.50 117.50 342.50 0.757154 -357.50 117.50 347.50 1.14219 -357.50 117.50 352.50 1.43712 -357.50 117.50 357.50 1.71558 -357.50 122.50 2.50 2.00435 -357.50 122.50 7.50 2.14313 -357.50 122.50 12.50 2.36556 -357.50 122.50 17.50 2.07465 -357.50 122.50 22.50 1.65406 -357.50 122.50 27.50 1.1961 -357.50 122.50 32.50 0.741931 -357.50 122.50 37.50 0.345127 -357.50 122.50 42.50 0.106678 -357.50 122.50 47.50 0.0302475 -357.50 122.50 52.50 0.0409817 -357.50 122.50 57.50 0.118409 -357.50 122.50 62.50 0.250863 -357.50 122.50 67.50 0.475306 -357.50 122.50 72.50 0.842803 -357.50 122.50 77.50 1.26763 -357.50 122.50 82.50 1.60129 -357.50 122.50 87.50 1.83272 -357.50 122.50 92.50 2.00435 -357.50 122.50 97.50 2.14313 -357.50 122.50 102.50 2.36556 -357.50 122.50 107.50 2.07465 -357.50 122.50 112.50 1.65406 -357.50 122.50 117.50 1.1961 -357.50 122.50 122.50 0.741932 -357.50 122.50 127.50 0.345127 -357.50 122.50 132.50 0.106678 -357.50 122.50 137.50 0.0302474 -357.50 122.50 142.50 0.0409817 -357.50 122.50 147.50 0.118409 -357.50 122.50 152.50 0.250863 -357.50 122.50 157.50 0.475305 -357.50 122.50 162.50 0.842802 -357.50 122.50 167.50 1.26763 -357.50 122.50 172.50 1.60129 -357.50 122.50 177.50 1.83272 -357.50 122.50 182.50 2.00435 -357.50 122.50 187.50 2.14313 -357.50 122.50 192.50 2.36556 -357.50 122.50 197.50 2.07465 -357.50 122.50 202.50 1.65406 -357.50 122.50 207.50 1.1961 -357.50 122.50 212.50 0.741932 -357.50 122.50 217.50 0.345127 -357.50 122.50 222.50 0.106678 -357.50 122.50 227.50 0.0302474 -357.50 122.50 232.50 0.0409817 -357.50 122.50 237.50 0.118409 -357.50 122.50 242.50 0.250863 -357.50 122.50 247.50 0.475305 -357.50 122.50 252.50 0.842803 -357.50 122.50 257.50 1.26763 -357.50 122.50 262.50 1.60129 -357.50 122.50 267.50 1.83272 -357.50 122.50 272.50 2.00435 -357.50 122.50 277.50 2.14313 -357.50 122.50 282.50 2.36556 -357.50 122.50 287.50 2.07465 -357.50 122.50 292.50 1.65406 -357.50 122.50 297.50 1.1961 -357.50 122.50 302.50 0.741933 -357.50 122.50 307.50 0.345127 -357.50 122.50 312.50 0.106678 -357.50 122.50 317.50 0.0302475 -357.50 122.50 322.50 0.0409817 -357.50 122.50 327.50 0.118409 -357.50 122.50 332.50 0.250862 -357.50 122.50 337.50 0.475304 -357.50 122.50 342.50 0.842802 -357.50 122.50 347.50 1.26763 -357.50 122.50 352.50 1.60128 -357.50 122.50 357.50 1.83272 -357.50 127.50 2.50 2.14417 -357.50 127.50 7.50 2.35162 -357.50 127.50 12.50 2.56933 -357.50 127.50 17.50 2.25069 -357.50 127.50 22.50 1.6837 -357.50 127.50 27.50 1.29211 -357.50 127.50 32.50 0.779028 -357.50 127.50 37.50 0.352811 -357.50 127.50 42.50 0.128234 -357.50 127.50 47.50 0.0551716 -357.50 127.50 52.50 0.0592553 -357.50 127.50 57.50 0.142681 -357.50 127.50 62.50 0.30684 -357.50 127.50 67.50 0.54829 -357.50 127.50 72.50 0.949073 -357.50 127.50 77.50 1.43781 -357.50 127.50 82.50 1.77356 -357.50 127.50 87.50 1.97246 -357.50 127.50 92.50 2.14417 -357.50 127.50 97.50 2.35162 -357.50 127.50 102.50 2.56933 -357.50 127.50 107.50 2.2507 -357.50 127.50 112.50 1.68371 -357.50 127.50 117.50 1.29211 -357.50 127.50 122.50 0.779028 -357.50 127.50 127.50 0.352811 -357.50 127.50 132.50 0.128234 -357.50 127.50 137.50 0.0551716 -357.50 127.50 142.50 0.0592553 -357.50 127.50 147.50 0.142681 -357.50 127.50 152.50 0.30684 -357.50 127.50 157.50 0.54829 -357.50 127.50 162.50 0.949073 -357.50 127.50 167.50 1.43781 -357.50 127.50 172.50 1.77356 -357.50 127.50 177.50 1.97246 -357.50 127.50 182.50 2.14417 -357.50 127.50 187.50 2.35162 -357.50 127.50 192.50 2.56933 -357.50 127.50 197.50 2.2507 -357.50 127.50 202.50 1.68371 -357.50 127.50 207.50 1.29211 -357.50 127.50 212.50 0.779028 -357.50 127.50 217.50 0.352811 -357.50 127.50 222.50 0.128234 -357.50 127.50 227.50 0.0551716 -357.50 127.50 232.50 0.0592554 -357.50 127.50 237.50 0.142681 -357.50 127.50 242.50 0.30684 -357.50 127.50 247.50 0.548291 -357.50 127.50 252.50 0.949074 -357.50 127.50 257.50 1.43781 -357.50 127.50 262.50 1.77356 -357.50 127.50 267.50 1.97246 -357.50 127.50 272.50 2.14417 -357.50 127.50 277.50 2.35162 -357.50 127.50 282.50 2.56933 -357.50 127.50 287.50 2.25069 -357.50 127.50 292.50 1.6837 -357.50 127.50 297.50 1.29211 -357.50 127.50 302.50 0.779028 -357.50 127.50 307.50 0.352811 -357.50 127.50 312.50 0.128234 -357.50 127.50 317.50 0.0551717 -357.50 127.50 322.50 0.0592552 -357.50 127.50 327.50 0.142681 -357.50 127.50 332.50 0.306839 -357.50 127.50 337.50 0.548289 -357.50 127.50 342.50 0.949071 -357.50 127.50 347.50 1.43781 -357.50 127.50 352.50 1.77356 -357.50 127.50 357.50 1.97246 -357.50 132.50 2.50 2.24978 -357.50 132.50 7.50 2.47068 -357.50 132.50 12.50 2.56976 -357.50 132.50 17.50 2.24595 -357.50 132.50 22.50 1.63717 -357.50 132.50 27.50 1.12989 -357.50 132.50 32.50 0.674264 -357.50 132.50 37.50 0.335582 -357.50 132.50 42.50 0.147045 -357.50 132.50 47.50 0.0660524 -357.50 132.50 52.50 0.0740068 -357.50 132.50 57.50 0.166204 -357.50 132.50 62.50 0.287931 -357.50 132.50 67.50 0.54844 -357.50 132.50 72.50 0.990688 -357.50 132.50 77.50 1.47984 -357.50 132.50 82.50 1.89379 -357.50 132.50 87.50 2.06631 -357.50 132.50 92.50 2.24978 -357.50 132.50 97.50 2.47068 -357.50 132.50 102.50 2.56976 -357.50 132.50 107.50 2.24595 -357.50 132.50 112.50 1.63717 -357.50 132.50 117.50 1.12989 -357.50 132.50 122.50 0.674264 -357.50 132.50 127.50 0.335582 -357.50 132.50 132.50 0.147045 -357.50 132.50 137.50 0.0660524 -357.50 132.50 142.50 0.0740068 -357.50 132.50 147.50 0.166204 -357.50 132.50 152.50 0.28793 -357.50 132.50 157.50 0.54844 -357.50 132.50 162.50 0.990687 -357.50 132.50 167.50 1.47984 -357.50 132.50 172.50 1.89379 -357.50 132.50 177.50 2.06631 -357.50 132.50 182.50 2.24978 -357.50 132.50 187.50 2.47068 -357.50 132.50 192.50 2.56976 -357.50 132.50 197.50 2.24595 -357.50 132.50 202.50 1.63717 -357.50 132.50 207.50 1.12989 -357.50 132.50 212.50 0.674264 -357.50 132.50 217.50 0.335582 -357.50 132.50 222.50 0.147045 -357.50 132.50 227.50 0.0660524 -357.50 132.50 232.50 0.0740068 -357.50 132.50 237.50 0.166204 -357.50 132.50 242.50 0.287931 -357.50 132.50 247.50 0.54844 -357.50 132.50 252.50 0.990688 -357.50 132.50 257.50 1.47984 -357.50 132.50 262.50 1.89379 -357.50 132.50 267.50 2.06631 -357.50 132.50 272.50 2.24978 -357.50 132.50 277.50 2.47068 -357.50 132.50 282.50 2.56976 -357.50 132.50 287.50 2.24595 -357.50 132.50 292.50 1.63717 -357.50 132.50 297.50 1.12989 -357.50 132.50 302.50 0.674265 -357.50 132.50 307.50 0.335583 -357.50 132.50 312.50 0.147045 -357.50 132.50 317.50 0.0660524 -357.50 132.50 322.50 0.0740067 -357.50 132.50 327.50 0.166204 -357.50 132.50 332.50 0.28793 -357.50 132.50 337.50 0.548439 -357.50 132.50 342.50 0.990686 -357.50 132.50 347.50 1.47984 -357.50 132.50 352.50 1.89379 -357.50 132.50 357.50 2.06631 -357.50 137.50 2.50 2.27582 -357.50 137.50 7.50 2.39142 -357.50 137.50 12.50 2.32043 -357.50 137.50 17.50 1.96926 -357.50 137.50 22.50 1.44285 -357.50 137.50 27.50 0.878411 -357.50 137.50 32.50 0.513583 -357.50 137.50 37.50 0.251363 -357.50 137.50 42.50 0.114065 -357.50 137.50 47.50 0.0671405 -357.50 137.50 52.50 0.0619832 -357.50 137.50 57.50 0.132148 -357.50 137.50 62.50 0.250432 -357.50 137.50 67.50 0.481647 -357.50 137.50 72.50 0.919116 -357.50 137.50 77.50 1.42774 -357.50 137.50 82.50 1.88998 -357.50 137.50 87.50 2.12179 -357.50 137.50 92.50 2.27582 -357.50 137.50 97.50 2.39142 -357.50 137.50 102.50 2.32043 -357.50 137.50 107.50 1.96925 -357.50 137.50 112.50 1.44285 -357.50 137.50 117.50 0.87841 -357.50 137.50 122.50 0.513583 -357.50 137.50 127.50 0.251363 -357.50 137.50 132.50 0.114065 -357.50 137.50 137.50 0.0671405 -357.50 137.50 142.50 0.0619831 -357.50 137.50 147.50 0.132148 -357.50 137.50 152.50 0.250432 -357.50 137.50 157.50 0.481646 -357.50 137.50 162.50 0.919116 -357.50 137.50 167.50 1.42774 -357.50 137.50 172.50 1.88999 -357.50 137.50 177.50 2.12179 -357.50 137.50 182.50 2.27583 -357.50 137.50 187.50 2.39142 -357.50 137.50 192.50 2.32043 -357.50 137.50 197.50 1.96926 -357.50 137.50 202.50 1.44285 -357.50 137.50 207.50 0.878411 -357.50 137.50 212.50 0.513583 -357.50 137.50 217.50 0.251363 -357.50 137.50 222.50 0.114065 -357.50 137.50 227.50 0.0671405 -357.50 137.50 232.50 0.0619832 -357.50 137.50 237.50 0.132148 -357.50 137.50 242.50 0.250432 -357.50 137.50 247.50 0.481647 -357.50 137.50 252.50 0.919116 -357.50 137.50 257.50 1.42774 -357.50 137.50 262.50 1.88999 -357.50 137.50 267.50 2.12179 -357.50 137.50 272.50 2.27583 -357.50 137.50 277.50 2.39142 -357.50 137.50 282.50 2.32043 -357.50 137.50 287.50 1.96926 -357.50 137.50 292.50 1.44285 -357.50 137.50 297.50 0.878411 -357.50 137.50 302.50 0.513583 -357.50 137.50 307.50 0.251364 -357.50 137.50 312.50 0.114066 -357.50 137.50 317.50 0.0671405 -357.50 137.50 322.50 0.0619831 -357.50 137.50 327.50 0.132148 -357.50 137.50 332.50 0.250432 -357.50 137.50 337.50 0.481646 -357.50 137.50 342.50 0.919115 -357.50 137.50 347.50 1.42774 -357.50 137.50 352.50 1.88998 -357.50 137.50 357.50 2.12178 -357.50 142.50 2.50 2.24978 -357.50 142.50 7.50 2.16403 -357.50 142.50 12.50 1.92216 -357.50 142.50 17.50 1.53548 -357.50 142.50 22.50 1.06461 -357.50 142.50 27.50 0.658198 -357.50 142.50 32.50 0.340672 -357.50 142.50 37.50 0.147592 -357.50 142.50 42.50 0.0655167 -357.50 142.50 47.50 0.0366469 -357.50 142.50 52.50 0.0455316 -357.50 142.50 57.50 0.0951027 -357.50 142.50 62.50 0.194671 -357.50 142.50 67.50 0.408709 -357.50 142.50 72.50 0.784167 -357.50 142.50 77.50 1.32884 -357.50 142.50 82.50 1.84277 -357.50 142.50 87.50 2.17122 -357.50 142.50 92.50 2.24978 -357.50 142.50 97.50 2.16403 -357.50 142.50 102.50 1.92216 -357.50 142.50 107.50 1.53548 -357.50 142.50 112.50 1.06461 -357.50 142.50 117.50 0.658198 -357.50 142.50 122.50 0.340672 -357.50 142.50 127.50 0.147592 -357.50 142.50 132.50 0.0655167 -357.50 142.50 137.50 0.0366469 -357.50 142.50 142.50 0.0455316 -357.50 142.50 147.50 0.0951027 -357.50 142.50 152.50 0.194671 -357.50 142.50 157.50 0.408708 -357.50 142.50 162.50 0.784166 -357.50 142.50 167.50 1.32884 -357.50 142.50 172.50 1.84277 -357.50 142.50 177.50 2.17122 -357.50 142.50 182.50 2.24978 -357.50 142.50 187.50 2.16403 -357.50 142.50 192.50 1.92216 -357.50 142.50 197.50 1.53548 -357.50 142.50 202.50 1.06461 -357.50 142.50 207.50 0.658198 -357.50 142.50 212.50 0.340672 -357.50 142.50 217.50 0.147592 -357.50 142.50 222.50 0.0655167 -357.50 142.50 227.50 0.0366469 -357.50 142.50 232.50 0.0455316 -357.50 142.50 237.50 0.0951028 -357.50 142.50 242.50 0.194671 -357.50 142.50 247.50 0.408709 -357.50 142.50 252.50 0.784167 -357.50 142.50 257.50 1.32884 -357.50 142.50 262.50 1.84277 -357.50 142.50 267.50 2.17122 -357.50 142.50 272.50 2.24978 -357.50 142.50 277.50 2.16403 -357.50 142.50 282.50 1.92216 -357.50 142.50 287.50 1.53548 -357.50 142.50 292.50 1.06461 -357.50 142.50 297.50 0.658198 -357.50 142.50 302.50 0.340672 -357.50 142.50 307.50 0.147592 -357.50 142.50 312.50 0.0655167 -357.50 142.50 317.50 0.0366469 -357.50 142.50 322.50 0.0455314 -357.50 142.50 327.50 0.0951024 -357.50 142.50 332.50 0.194671 -357.50 142.50 337.50 0.408708 -357.50 142.50 342.50 0.784165 -357.50 142.50 347.50 1.32884 -357.50 142.50 352.50 1.84277 -357.50 142.50 357.50 2.17122 -357.50 147.50 2.50 2.14417 -357.50 147.50 7.50 1.89225 -357.50 147.50 12.50 1.51705 -357.50 147.50 17.50 1.12216 -357.50 147.50 22.50 0.708159 -357.50 147.50 27.50 0.398188 -357.50 147.50 32.50 0.193987 -357.50 147.50 37.50 0.072645 -357.50 147.50 42.50 0.0241046 -357.50 147.50 47.50 0.0149224 -357.50 147.50 52.50 0.0264574 -357.50 147.50 57.50 0.0673648 -357.50 147.50 62.50 0.148373 -357.50 147.50 67.50 0.316605 -357.50 147.50 72.50 0.667493 -357.50 147.50 77.50 1.21186 -357.50 147.50 82.50 1.76924 -357.50 147.50 87.50 2.13826 -357.50 147.50 92.50 2.14417 -357.50 147.50 97.50 1.89225 -357.50 147.50 102.50 1.51705 -357.50 147.50 107.50 1.12216 -357.50 147.50 112.50 0.708159 -357.50 147.50 117.50 0.398188 -357.50 147.50 122.50 0.193987 -357.50 147.50 127.50 0.0726449 -357.50 147.50 132.50 0.0241046 -357.50 147.50 137.50 0.0149224 -357.50 147.50 142.50 0.0264573 -357.50 147.50 147.50 0.0673648 -357.50 147.50 152.50 0.148373 -357.50 147.50 157.50 0.316604 -357.50 147.50 162.50 0.667492 -357.50 147.50 167.50 1.21186 -357.50 147.50 172.50 1.76924 -357.50 147.50 177.50 2.13826 -357.50 147.50 182.50 2.14417 -357.50 147.50 187.50 1.89225 -357.50 147.50 192.50 1.51705 -357.50 147.50 197.50 1.12216 -357.50 147.50 202.50 0.708159 -357.50 147.50 207.50 0.398188 -357.50 147.50 212.50 0.193987 -357.50 147.50 217.50 0.0726451 -357.50 147.50 222.50 0.0241046 -357.50 147.50 227.50 0.0149224 -357.50 147.50 232.50 0.0264574 -357.50 147.50 237.50 0.0673649 -357.50 147.50 242.50 0.148373 -357.50 147.50 247.50 0.316605 -357.50 147.50 252.50 0.667493 -357.50 147.50 257.50 1.21186 -357.50 147.50 262.50 1.76924 -357.50 147.50 267.50 2.13826 -357.50 147.50 272.50 2.14417 -357.50 147.50 277.50 1.89225 -357.50 147.50 282.50 1.51705 -357.50 147.50 287.50 1.12216 -357.50 147.50 292.50 0.708159 -357.50 147.50 297.50 0.398188 -357.50 147.50 302.50 0.193987 -357.50 147.50 307.50 0.0726452 -357.50 147.50 312.50 0.0241046 -357.50 147.50 317.50 0.0149224 -357.50 147.50 322.50 0.0264573 -357.50 147.50 327.50 0.0673646 -357.50 147.50 332.50 0.148372 -357.50 147.50 337.50 0.316604 -357.50 147.50 342.50 0.667492 -357.50 147.50 347.50 1.21186 -357.50 147.50 352.50 1.76924 -357.50 147.50 357.50 2.13826 -357.50 152.50 2.50 2.00435 -357.50 152.50 7.50 1.66184 -357.50 152.50 12.50 1.20743 -357.50 152.50 17.50 0.779558 -357.50 152.50 22.50 0.470081 -357.50 152.50 27.50 0.228221 -357.50 152.50 32.50 0.111608 -357.50 152.50 37.50 0.0399338 -357.50 152.50 42.50 0.0109886 -357.50 152.50 47.50 0.00744775 -357.50 152.50 52.50 0.0176011 -357.50 152.50 57.50 0.0492446 -357.50 152.50 62.50 0.113932 -357.50 152.50 67.50 0.255735 -357.50 152.50 72.50 0.607182 -357.50 152.50 77.50 1.14777 -357.50 152.50 82.50 1.70348 -357.50 152.50 87.50 2.0532 -357.50 152.50 92.50 2.00435 -357.50 152.50 97.50 1.66184 -357.50 152.50 102.50 1.20743 -357.50 152.50 107.50 0.779558 -357.50 152.50 112.50 0.470081 -357.50 152.50 117.50 0.228221 -357.50 152.50 122.50 0.111608 -357.50 152.50 127.50 0.0399338 -357.50 152.50 132.50 0.0109886 -357.50 152.50 137.50 0.00744774 -357.50 152.50 142.50 0.0176011 -357.50 152.50 147.50 0.0492446 -357.50 152.50 152.50 0.113932 -357.50 152.50 157.50 0.255735 -357.50 152.50 162.50 0.607182 -357.50 152.50 167.50 1.14777 -357.50 152.50 172.50 1.70348 -357.50 152.50 177.50 2.0532 -357.50 152.50 182.50 2.00435 -357.50 152.50 187.50 1.66184 -357.50 152.50 192.50 1.20743 -357.50 152.50 197.50 0.779558 -357.50 152.50 202.50 0.470081 -357.50 152.50 207.50 0.228221 -357.50 152.50 212.50 0.111608 -357.50 152.50 217.50 0.0399338 -357.50 152.50 222.50 0.0109886 -357.50 152.50 227.50 0.00744773 -357.50 152.50 232.50 0.0176011 -357.50 152.50 237.50 0.0492446 -357.50 152.50 242.50 0.113932 -357.50 152.50 247.50 0.255735 -357.50 152.50 252.50 0.607182 -357.50 152.50 257.50 1.14777 -357.50 152.50 262.50 1.70348 -357.50 152.50 267.50 2.0532 -357.50 152.50 272.50 2.00435 -357.50 152.50 277.50 1.66184 -357.50 152.50 282.50 1.20743 -357.50 152.50 287.50 0.779559 -357.50 152.50 292.50 0.470081 -357.50 152.50 297.50 0.228221 -357.50 152.50 302.50 0.111608 -357.50 152.50 307.50 0.0399339 -357.50 152.50 312.50 0.0109886 -357.50 152.50 317.50 0.00744773 -357.50 152.50 322.50 0.017601 -357.50 152.50 327.50 0.0492445 -357.50 152.50 332.50 0.113931 -357.50 152.50 337.50 0.255734 -357.50 152.50 342.50 0.607181 -357.50 152.50 347.50 1.14777 -357.50 152.50 352.50 1.70348 -357.50 152.50 357.50 2.0532 -357.50 157.50 2.50 1.8763 -357.50 157.50 7.50 1.47625 -357.50 157.50 12.50 0.979423 -357.50 157.50 17.50 0.578258 -357.50 157.50 22.50 0.316784 -357.50 157.50 27.50 0.165614 -357.50 157.50 32.50 0.0718561 -357.50 157.50 37.50 0.0369661 -357.50 157.50 42.50 0.0208142 -357.50 157.50 47.50 0.0123819 -357.50 157.50 52.50 0.0206685 -357.50 157.50 57.50 0.0413407 -357.50 157.50 62.50 0.0856218 -357.50 157.50 67.50 0.253092 -357.50 157.50 72.50 0.603203 -357.50 157.50 77.50 1.13362 -357.50 157.50 82.50 1.65688 -357.50 157.50 87.50 1.96189 -357.50 157.50 92.50 1.8763 -357.50 157.50 97.50 1.47625 -357.50 157.50 102.50 0.979423 -357.50 157.50 107.50 0.578258 -357.50 157.50 112.50 0.316784 -357.50 157.50 117.50 0.165614 -357.50 157.50 122.50 0.071856 -357.50 157.50 127.50 0.0369661 -357.50 157.50 132.50 0.0208142 -357.50 157.50 137.50 0.0123819 -357.50 157.50 142.50 0.0206685 -357.50 157.50 147.50 0.0413406 -357.50 157.50 152.50 0.0856216 -357.50 157.50 157.50 0.253092 -357.50 157.50 162.50 0.603202 -357.50 157.50 167.50 1.13362 -357.50 157.50 172.50 1.65688 -357.50 157.50 177.50 1.96189 -357.50 157.50 182.50 1.8763 -357.50 157.50 187.50 1.47625 -357.50 157.50 192.50 0.979423 -357.50 157.50 197.50 0.578258 -357.50 157.50 202.50 0.316784 -357.50 157.50 207.50 0.165614 -357.50 157.50 212.50 0.0718561 -357.50 157.50 217.50 0.0369661 -357.50 157.50 222.50 0.0208142 -357.50 157.50 227.50 0.0123819 -357.50 157.50 232.50 0.0206686 -357.50 157.50 237.50 0.0413407 -357.50 157.50 242.50 0.0856218 -357.50 157.50 247.50 0.253092 -357.50 157.50 252.50 0.603203 -357.50 157.50 257.50 1.13362 -357.50 157.50 262.50 1.65688 -357.50 157.50 267.50 1.96189 -357.50 157.50 272.50 1.8763 -357.50 157.50 277.50 1.47625 -357.50 157.50 282.50 0.979423 -357.50 157.50 287.50 0.578257 -357.50 157.50 292.50 0.316784 -357.50 157.50 297.50 0.165614 -357.50 157.50 302.50 0.0718562 -357.50 157.50 307.50 0.0369662 -357.50 157.50 312.50 0.0208142 -357.50 157.50 317.50 0.0123819 -357.50 157.50 322.50 0.0206685 -357.50 157.50 327.50 0.0413406 -357.50 157.50 332.50 0.0856214 -357.50 157.50 337.50 0.253091 -357.50 157.50 342.50 0.603201 -357.50 157.50 347.50 1.13362 -357.50 157.50 352.50 1.65688 -357.50 157.50 357.50 1.96189 -357.50 162.50 2.50 1.70709 -357.50 162.50 7.50 1.26139 -357.50 162.50 12.50 0.75789 -357.50 162.50 17.50 0.430747 -357.50 162.50 22.50 0.220447 -357.50 162.50 27.50 0.111743 -357.50 162.50 32.50 0.063614 -357.50 162.50 37.50 0.0511928 -357.50 162.50 42.50 0.0491587 -357.50 162.50 47.50 0.0402605 -357.50 162.50 52.50 0.0275172 -357.50 162.50 57.50 0.0373365 -357.50 162.50 62.50 0.0872124 -357.50 162.50 67.50 0.232619 -357.50 162.50 72.50 0.554599 -357.50 162.50 77.50 1.04041 -357.50 162.50 82.50 1.53789 -357.50 162.50 87.50 1.81865 -357.50 162.50 92.50 1.70709 -357.50 162.50 97.50 1.26139 -357.50 162.50 102.50 0.757889 -357.50 162.50 107.50 0.430747 -357.50 162.50 112.50 0.220447 -357.50 162.50 117.50 0.111743 -357.50 162.50 122.50 0.063614 -357.50 162.50 127.50 0.0511928 -357.50 162.50 132.50 0.0491587 -357.50 162.50 137.50 0.0402605 -357.50 162.50 142.50 0.0275172 -357.50 162.50 147.50 0.0373365 -357.50 162.50 152.50 0.0872123 -357.50 162.50 157.50 0.232619 -357.50 162.50 162.50 0.554599 -357.50 162.50 167.50 1.04041 -357.50 162.50 172.50 1.53789 -357.50 162.50 177.50 1.81865 -357.50 162.50 182.50 1.70709 -357.50 162.50 187.50 1.26139 -357.50 162.50 192.50 0.75789 -357.50 162.50 197.50 0.430747 -357.50 162.50 202.50 0.220447 -357.50 162.50 207.50 0.111743 -357.50 162.50 212.50 0.063614 -357.50 162.50 217.50 0.0511928 -357.50 162.50 222.50 0.0491587 -357.50 162.50 227.50 0.0402605 -357.50 162.50 232.50 0.0275172 -357.50 162.50 237.50 0.0373366 -357.50 162.50 242.50 0.0872124 -357.50 162.50 247.50 0.232619 -357.50 162.50 252.50 0.554599 -357.50 162.50 257.50 1.04042 -357.50 162.50 262.50 1.53789 -357.50 162.50 267.50 1.81865 -357.50 162.50 272.50 1.70709 -357.50 162.50 277.50 1.26139 -357.50 162.50 282.50 0.75789 -357.50 162.50 287.50 0.430747 -357.50 162.50 292.50 0.220447 -357.50 162.50 297.50 0.111743 -357.50 162.50 302.50 0.063614 -357.50 162.50 307.50 0.0511928 -357.50 162.50 312.50 0.0491587 -357.50 162.50 317.50 0.0402605 -357.50 162.50 322.50 0.0275172 -357.50 162.50 327.50 0.0373365 -357.50 162.50 332.50 0.087212 -357.50 162.50 337.50 0.232619 -357.50 162.50 342.50 0.554598 -357.50 162.50 347.50 1.04041 -357.50 162.50 352.50 1.53789 -357.50 162.50 357.50 1.81865 -357.50 167.50 2.50 1.52022 -357.50 167.50 7.50 1.02628 -357.50 167.50 12.50 0.531967 -357.50 167.50 17.50 0.276506 -357.50 167.50 22.50 0.155179 -357.50 167.50 27.50 0.0857277 -357.50 167.50 32.50 0.052468 -357.50 167.50 37.50 0.0686731 -357.50 167.50 42.50 0.0845745 -357.50 167.50 47.50 0.0691216 -357.50 167.50 52.50 0.040952 -357.50 167.50 57.50 0.0323908 -357.50 167.50 62.50 0.0659941 -357.50 167.50 67.50 0.18591 -357.50 167.50 72.50 0.432082 -357.50 167.50 77.50 0.847716 -357.50 167.50 82.50 1.3519 -357.50 167.50 87.50 1.65379 -357.50 167.50 92.50 1.52022 -357.50 167.50 97.50 1.02628 -357.50 167.50 102.50 0.531967 -357.50 167.50 107.50 0.276507 -357.50 167.50 112.50 0.155179 -357.50 167.50 117.50 0.0857276 -357.50 167.50 122.50 0.052468 -357.50 167.50 127.50 0.0686731 -357.50 167.50 132.50 0.0845745 -357.50 167.50 137.50 0.0691216 -357.50 167.50 142.50 0.040952 -357.50 167.50 147.50 0.0323908 -357.50 167.50 152.50 0.065994 -357.50 167.50 157.50 0.18591 -357.50 167.50 162.50 0.432082 -357.50 167.50 167.50 0.847717 -357.50 167.50 172.50 1.3519 -357.50 167.50 177.50 1.65379 -357.50 167.50 182.50 1.52022 -357.50 167.50 187.50 1.02627 -357.50 167.50 192.50 0.531968 -357.50 167.50 197.50 0.276507 -357.50 167.50 202.50 0.155179 -357.50 167.50 207.50 0.0857276 -357.50 167.50 212.50 0.052468 -357.50 167.50 217.50 0.0686731 -357.50 167.50 222.50 0.0845745 -357.50 167.50 227.50 0.0691216 -357.50 167.50 232.50 0.0409519 -357.50 167.50 237.50 0.0323908 -357.50 167.50 242.50 0.0659942 -357.50 167.50 247.50 0.18591 -357.50 167.50 252.50 0.432083 -357.50 167.50 257.50 0.847718 -357.50 167.50 262.50 1.3519 -357.50 167.50 267.50 1.65379 -357.50 167.50 272.50 1.52022 -357.50 167.50 277.50 1.02628 -357.50 167.50 282.50 0.531968 -357.50 167.50 287.50 0.276506 -357.50 167.50 292.50 0.155179 -357.50 167.50 297.50 0.0857277 -357.50 167.50 302.50 0.0524681 -357.50 167.50 307.50 0.068673 -357.50 167.50 312.50 0.0845745 -357.50 167.50 317.50 0.0691216 -357.50 167.50 322.50 0.040952 -357.50 167.50 327.50 0.0323908 -357.50 167.50 332.50 0.0659939 -357.50 167.50 337.50 0.18591 -357.50 167.50 342.50 0.432081 -357.50 167.50 347.50 0.847715 -357.50 167.50 352.50 1.3519 -357.50 167.50 357.50 1.65379 -357.50 172.50 2.50 1.3016 -357.50 172.50 7.50 0.806011 -357.50 172.50 12.50 0.363566 -357.50 172.50 17.50 0.152794 -357.50 172.50 22.50 0.0887193 -357.50 172.50 27.50 0.0667711 -357.50 172.50 32.50 0.0660809 -357.50 172.50 37.50 0.0789392 -357.50 172.50 42.50 0.0858503 -357.50 172.50 47.50 0.0719836 -357.50 172.50 52.50 0.0491793 -357.50 172.50 57.50 0.0428905 -357.50 172.50 62.50 0.063314 -357.50 172.50 67.50 0.127569 -357.50 172.50 72.50 0.290227 -357.50 172.50 77.50 0.636203 -357.50 172.50 82.50 1.12328 -357.50 172.50 87.50 1.44265 -357.50 172.50 92.50 1.3016 -357.50 172.50 97.50 0.806011 -357.50 172.50 102.50 0.363566 -357.50 172.50 107.50 0.152794 -357.50 172.50 112.50 0.0887194 -357.50 172.50 117.50 0.066771 -357.50 172.50 122.50 0.0660809 -357.50 172.50 127.50 0.0789392 -357.50 172.50 132.50 0.0858503 -357.50 172.50 137.50 0.0719835 -357.50 172.50 142.50 0.0491793 -357.50 172.50 147.50 0.0428904 -357.50 172.50 152.50 0.0633139 -357.50 172.50 157.50 0.127569 -357.50 172.50 162.50 0.290226 -357.50 172.50 167.50 0.636202 -357.50 172.50 172.50 1.12328 -357.50 172.50 177.50 1.44265 -357.50 172.50 182.50 1.3016 -357.50 172.50 187.50 0.806011 -357.50 172.50 192.50 0.363566 -357.50 172.50 197.50 0.152794 -357.50 172.50 202.50 0.0887193 -357.50 172.50 207.50 0.0667711 -357.50 172.50 212.50 0.0660809 -357.50 172.50 217.50 0.0789392 -357.50 172.50 222.50 0.0858503 -357.50 172.50 227.50 0.0719835 -357.50 172.50 232.50 0.0491792 -357.50 172.50 237.50 0.0428905 -357.50 172.50 242.50 0.0633139 -357.50 172.50 247.50 0.127569 -357.50 172.50 252.50 0.290227 -357.50 172.50 257.50 0.636203 -357.50 172.50 262.50 1.12328 -357.50 172.50 267.50 1.44265 -357.50 172.50 272.50 1.3016 -357.50 172.50 277.50 0.806012 -357.50 172.50 282.50 0.363566 -357.50 172.50 287.50 0.152794 -357.50 172.50 292.50 0.0887193 -357.50 172.50 297.50 0.0667711 -357.50 172.50 302.50 0.0660808 -357.50 172.50 307.50 0.0789392 -357.50 172.50 312.50 0.0858503 -357.50 172.50 317.50 0.0719836 -357.50 172.50 322.50 0.0491793 -357.50 172.50 327.50 0.0428904 -357.50 172.50 332.50 0.0633138 -357.50 172.50 337.50 0.127569 -357.50 172.50 342.50 0.290226 -357.50 172.50 347.50 0.636201 -357.50 172.50 352.50 1.12328 -357.50 172.50 357.50 1.44265 -357.50 177.50 2.50 0.987353 -357.50 177.50 7.50 0.578475 -357.50 177.50 12.50 0.235544 -357.50 177.50 17.50 0.0924005 -357.50 177.50 22.50 0.0569323 -357.50 177.50 27.50 0.0533237 -357.50 177.50 32.50 0.0573383 -357.50 177.50 37.50 0.0686385 -357.50 177.50 42.50 0.0739503 -357.50 177.50 47.50 0.0700448 -357.50 177.50 52.50 0.0576317 -357.50 177.50 57.50 0.0448351 -357.50 177.50 62.50 0.0436248 -357.50 177.50 67.50 0.0759278 -357.50 177.50 72.50 0.184365 -357.50 177.50 77.50 0.448902 -357.50 177.50 82.50 0.846012 -357.50 177.50 87.50 1.11343 -357.50 177.50 92.50 0.987354 -357.50 177.50 97.50 0.578475 -357.50 177.50 102.50 0.235544 -357.50 177.50 107.50 0.0924005 -357.50 177.50 112.50 0.0569323 -357.50 177.50 117.50 0.0533237 -357.50 177.50 122.50 0.0573382 -357.50 177.50 127.50 0.0686385 -357.50 177.50 132.50 0.0739503 -357.50 177.50 137.50 0.0700448 -357.50 177.50 142.50 0.0576317 -357.50 177.50 147.50 0.0448351 -357.50 177.50 152.50 0.0436248 -357.50 177.50 157.50 0.0759277 -357.50 177.50 162.50 0.184365 -357.50 177.50 167.50 0.448901 -357.50 177.50 172.50 0.84601 -357.50 177.50 177.50 1.11343 -357.50 177.50 182.50 0.987353 -357.50 177.50 187.50 0.578475 -357.50 177.50 192.50 0.235544 -357.50 177.50 197.50 0.0924005 -357.50 177.50 202.50 0.0569323 -357.50 177.50 207.50 0.0533237 -357.50 177.50 212.50 0.0573382 -357.50 177.50 217.50 0.0686385 -357.50 177.50 222.50 0.0739503 -357.50 177.50 227.50 0.0700448 -357.50 177.50 232.50 0.0576317 -357.50 177.50 237.50 0.0448351 -357.50 177.50 242.50 0.0436249 -357.50 177.50 247.50 0.0759278 -357.50 177.50 252.50 0.184365 -357.50 177.50 257.50 0.448902 -357.50 177.50 262.50 0.84601 -357.50 177.50 267.50 1.11342 -357.50 177.50 272.50 0.987352 -357.50 177.50 277.50 0.578476 -357.50 177.50 282.50 0.235544 -357.50 177.50 287.50 0.0924006 -357.50 177.50 292.50 0.0569323 -357.50 177.50 297.50 0.0533238 -357.50 177.50 302.50 0.0573383 -357.50 177.50 307.50 0.0686385 -357.50 177.50 312.50 0.0739503 -357.50 177.50 317.50 0.0700448 -357.50 177.50 322.50 0.0576317 -357.50 177.50 327.50 0.0448351 -357.50 177.50 332.50 0.0436248 -357.50 177.50 337.50 0.0759277 -357.50 177.50 342.50 0.184365 -357.50 177.50 347.50 0.448901 -357.50 177.50 352.50 0.84601 -357.50 177.50 357.50 1.11343 From d8f97c8d0bf41ae1bf77e2feff2212ae230d8b38 Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 14 Oct 2020 09:55:17 +0200 Subject: [PATCH 859/958] [skip ci] updated version information after successful test of v3.0.0-alpha-510-g4a16aa223 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 41d9ce4ba..abc45afde 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-502-g8ab405e5d +v3.0.0-alpha-510-g4a16aa223 From 1426a356020c0e36a528a02934a47ed0d5ffbca5 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 14 Oct 2020 10:31:34 +0200 Subject: [PATCH 860/958] loadcase in yaml --- src/grid/DAMASK_grid.f90 | 125 ++++++++++++++------------------ src/grid/spectral_utilities.f90 | 6 +- 2 files changed, 58 insertions(+), 73 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index a1bb23375..d2e9367f3 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -57,7 +57,7 @@ program DAMASK_grid stagIterate, & cutBack = .false. integer :: & - i, j, k, l, field, & + i, j, m, field, & errorID = 0, & cutBackLevel = 0, & !< cut back level \f$ t = \frac{t_{inc}}{2^l} \f$ stepFraction = 0 !< fraction of current time interval @@ -68,7 +68,6 @@ program DAMASK_grid statUnit = 0, & !< file unit for statistics output stagIter, & nActiveFields = 0 - character(len=pStringLen), dimension(:), allocatable :: fileContent character(len=pStringLen) :: & incInfo, & loadcase_string @@ -93,7 +92,14 @@ program DAMASK_grid quit class (tNode), pointer :: & num_grid, & - debug_grid ! pointer to grid debug options + debug_grid, & ! pointer to grid debug options + config_load, & + load_steps, & + load_step, & + step_mech, & + step_discretization, & + step_deformation, & + step_stress !-------------------------------------------------------------------------------------------------- ! init DAMASK (all modules) @@ -159,25 +165,23 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! reading information from load case file and to sanity checks - fileContent = IO_readlines(trim(interface_loadFile)) - if(size(fileContent) == 0) call IO_error(307,ext_msg='No load case specified') - - allocate (loadCases(0)) ! array of load cases - do currentLoadCase = 1, size(fileContent) - line = fileContent(currentLoadCase) - if (IO_isBlank(line)) cycle - chunkPos = IO_stringPos(line) - - do i = 1, chunkPos(1) ! reading compulsory parameters for loadcase - select case (IO_lc(IO_stringValue(line,chunkPos,i))) - case('l','fdot','dotf','f') + config_load => YAML_parse_file(trim(interface_loadFile)) + + load_steps => config_load%get('step') + allocate(loadCases(load_steps%length)) ! array of load cases + + do currentLoadCase = 1, load_steps%length + load_step => load_steps%get(currentLoadCase) + step_mech => load_step%get('mech') + step_discretization => load_step%get('discretization') + do m = 1, step_mech%length + select case (step_mech%getKey(m)) + case('L','Fdot','F') N_def = N_def + 1 - case('t','time','delta') - N_t = N_t + 1 - case('n','incs','increments','logincs','logincrements') - N_n = N_n + 1 end select enddo + if(step_discretization%contains('t')) N_t = N_t + 1 + if(step_discretization%contains('N')) N_n = N_n + 1 if ((N_def /= N_n) .or. (N_n /= N_t) .or. N_n < 1) & ! sanity check call IO_error(error_ID=837,el=currentLoadCase,ext_msg = trim(interface_loadFile)) ! error message for incomplete loadcase @@ -192,70 +196,51 @@ program DAMASK_grid field = field + 1 newLoadCase%ID(field) = FIELD_DAMAGE_ID endif damageActive - - call newLoadCase%rot%fromEulers(real([0.0,0.0,0.0],pReal)) - readIn: do i = 1, chunkPos(1) - select case (IO_lc(IO_stringValue(line,chunkPos,i))) - case('fdot','dotf','l','f') ! assign values for the deformation BC matrix - temp_valueVector = 0.0_pReal - if (IO_lc(IO_stringValue(line,chunkPos,i)) == 'fdot'.or. & ! in case of Fdot, set type to fdot - IO_lc(IO_stringValue(line,chunkPos,i)) == 'dotf') then + + call newLoadCase%rot%fromEulers(real([0.0,0.0,0.0],pReal)) + readMech: do m = 1, step_mech%length + select case (step_mech%getKey(m)) + case('Fdot','L','F') ! assign values for the deformation BC matrix + temp_valueVector = 0.0_pReal + if (step_mech%getKey(m) == 'Fdot') then ! in case of Fdot, set type to fdot newLoadCase%deformation%myType = 'fdot' - else if (IO_lc(IO_stringValue(line,chunkPos,i)) == 'f') then + else if (step_mech%getKey(m) == 'F') then newLoadCase%deformation%myType = 'f' else newLoadCase%deformation%myType = 'l' endif + step_deformation => step_mech%get(m) do j = 1, 9 - temp_maskVector(j) = IO_stringValue(line,chunkPos,i+j) /= '*' ! true if not a * - if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable + temp_maskVector(j) = step_deformation%get_asString(j) /= 'x' ! true if not a x + if (temp_maskVector(j)) temp_valueVector(j) = step_deformation%get_asFloat(j) ! read value where applicable enddo newLoadCase%deformation%mask = transpose(reshape(temp_maskVector,[ 3,3])) ! mask in 3x3 notation newLoadCase%deformation%values = math_9to33(temp_valueVector) ! values in 3x3 notation - case('p','stress', 's') + case('P') temp_valueVector = 0.0_pReal + step_stress => step_mech%get(m) do j = 1, 9 - temp_maskVector(j) = IO_stringValue(line,chunkPos,i+j) /= '*' ! true if not an asterisk - if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) ! read value where applicable + temp_maskVector(j) = step_stress%get_asString(j) /= 'x' ! true if not an asterisk + if (temp_maskVector(j)) temp_valueVector(j) = step_stress%get_asFloat(j) ! read value where applicable enddo newLoadCase%stress%mask = transpose(reshape(temp_maskVector,[ 3,3])) newLoadCase%stress%values = math_9to33(temp_valueVector) - case('t','time','delta') ! increment time - newLoadCase%time = IO_floatValue(line,chunkPos,i+1) - case('n','incs','increments') ! number of increments - newLoadCase%incs = IO_intValue(line,chunkPos,i+1) - case('logincs','logincrements') ! number of increments (switch to log time scaling) - newLoadCase%incs = IO_intValue(line,chunkPos,i+1) - newLoadCase%logscale = 1 - case('freq','frequency','outputfreq') ! frequency of result writings - newLoadCase%outputfrequency = IO_intValue(line,chunkPos,i+1) - case('r','restart','restartwrite') ! frequency of writing restart information - newLoadCase%restartfrequency = IO_intValue(line,chunkPos,i+1) - case('guessreset','dropguessing') - newLoadCase%followFormerTrajectory = .false. ! do not continue to predict deformation along former trajectory - case('euler') ! rotation of load case given in euler angles - temp_valueVector = 0.0_pReal - l = 1 ! assuming values given in degrees - k = 1 ! assuming keyword indicating degree/radians present - select case (IO_lc(IO_stringValue(line,chunkPos,i+1))) - case('deg','degree') - case('rad','radian') ! don't convert from degree to radian - l = 0 - case default - k = 0 - end select - do j = 1, 3 - temp_valueVector(j) = IO_floatValue(line,chunkPos,i+k+j) - enddo - call newLoadCase%rot%fromEulers(temp_valueVector(1:3),degrees=(l==1)) - case('rotation','rot') ! assign values for the rotation matrix - temp_valueVector = 0.0_pReal - do j = 1, 9 - temp_valueVector(j) = IO_floatValue(line,chunkPos,i+j) - enddo - call newLoadCase%rot%fromMatrix(math_9to33(temp_valueVector)) end select - enddo readIn + enddo readMech + +!-------------------------------------------------------------------------------------------------------- +! Read discretization parameters +!-------------------------------------------------------------------------------------------------------- + newLoadCase%time = step_discretization%get_asFloat('t') + newLoadCase%incs = step_discretization%get_asFloat('N') + newLoadCase%logscale = step_discretization%get_asBool ('log_timestep', defaultVal= .false.) + newLoadCase%outputfrequency = step_discretization%get_asInt ('f_out', defaultVal=1) + newLoadCase%restartfrequency = step_discretization%get_asInt ('f_restart', defaultVal=huge(0)) + if(step_discretization%contains('R')) then + call newLoadCase%rot%fromAxisAngle(step_discretization%get_asFloats('R'),degrees=.true.) + endif + + newLoadCase%followFormerTrajectory = .not. load_step%get_asBool('drop_guessing',defaultVal=.false.) ! do not continue to predict deformation along former trajectory newLoadCase%followFormerTrajectory = merge(.true.,.false.,currentLoadCase > 1) ! by default, guess from previous load case @@ -312,7 +297,7 @@ program DAMASK_grid print'(a,i0)', ' restart frequency: ', newLoadCase%restartfrequency if (errorID > 0) call IO_error(error_ID = errorID, ext_msg = loadcase_string) ! exit with error message endif reportAndCheck - loadCases = [loadCases,newLoadCase] ! load case is ok, append it + loadCases(currentLoadCase) = newLoadCase ! load case is ok, append it enddo !-------------------------------------------------------------------------------------------------- @@ -361,7 +346,7 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! forwarding time timeIncOld = timeinc ! last timeinc that brought former inc to an end - if (loadCases(currentLoadCase)%logscale == 0) then ! linear scale + if (.not. loadCases(currentLoadCase)%logscale) then ! linear scale timeinc = loadCases(currentLoadCase)%time/real(loadCases(currentLoadCase)%incs,pReal) else if (currentLoadCase == 1) then ! 1st load case of logarithmic scale diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 4e01904e4..5bd61ec29 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -94,9 +94,9 @@ module spectral_utilities real(pReal) :: time = 0.0_pReal !< length of increment integer :: incs = 0, & !< number of increments outputfrequency = 1, & !< frequency of result writes - restartfrequency = huge(0), & !< frequency of restart writes - logscale = 0 !< linear/logarithmic time inc flag - logical :: followFormerTrajectory = .true. !< follow trajectory of former loadcase + restartfrequency = huge(0) !< frequency of restart writes + logical :: followFormerTrajectory = .true., & !< follow trajectory of former loadcase + logscale = .false. !< logarithmic time inc flag integer(kind(FIELD_UNDEFINED_ID)), allocatable :: ID(:) end type tLoadCase From f291166a03105c804bf4a07c05ca42fd0d9ac204 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 14 Oct 2020 10:47:52 +0200 Subject: [PATCH 861/958] initialisation not needed --- src/grid/DAMASK_grid.f90 | 6 ++---- src/grid/spectral_utilities.f90 | 12 ++++++------ 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index d2e9367f3..82c07d2c5 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -197,7 +197,6 @@ program DAMASK_grid newLoadCase%ID(field) = FIELD_DAMAGE_ID endif damageActive - call newLoadCase%rot%fromEulers(real([0.0,0.0,0.0],pReal)) readMech: do m = 1, step_mech%length select case (step_mech%getKey(m)) case('Fdot','L','F') ! assign values for the deformation BC matrix @@ -236,9 +235,8 @@ program DAMASK_grid newLoadCase%logscale = step_discretization%get_asBool ('log_timestep', defaultVal= .false.) newLoadCase%outputfrequency = step_discretization%get_asInt ('f_out', defaultVal=1) newLoadCase%restartfrequency = step_discretization%get_asInt ('f_restart', defaultVal=huge(0)) - if(step_discretization%contains('R')) then - call newLoadCase%rot%fromAxisAngle(step_discretization%get_asFloats('R'),degrees=.true.) - endif + call newLoadCase%rot%fromAxisAngle(step_discretization%get_asFloats('R', & + defaultVal = real([0.0,0.0,1.0,0.0],pReal)),degrees=.true.) newLoadCase%followFormerTrajectory = .not. load_step%get_asBool('drop_guessing',defaultVal=.false.) ! do not continue to predict deformation along former trajectory diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 5bd61ec29..37c22f58b 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -91,12 +91,12 @@ module spectral_utilities type(rotation) :: rot !< rotation of BC type(tBoundaryCondition) :: stress, & !< stress BC deformation !< deformation BC (Fdot or L) - real(pReal) :: time = 0.0_pReal !< length of increment - integer :: incs = 0, & !< number of increments - outputfrequency = 1, & !< frequency of result writes - restartfrequency = huge(0) !< frequency of restart writes - logical :: followFormerTrajectory = .true., & !< follow trajectory of former loadcase - logscale = .false. !< logarithmic time inc flag + real(pReal) :: time !< length of increment + integer :: incs, & !< number of increments + outputfrequency, & !< frequency of result writes + restartfrequency !< frequency of restart writes + logical :: followFormerTrajectory, & !< follow trajectory of former loadcase + logscale !< logarithmic time inc flag integer(kind(FIELD_UNDEFINED_ID)), allocatable :: ID(:) end type tLoadCase From f72e03bff80fb5408b17f92f66ffab0125a8aca2 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 14 Oct 2020 13:37:11 +0200 Subject: [PATCH 862/958] loadcase.yaml tests updated --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index dde6a5836..43a61cc97 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit dde6a5836089b14bd39d4393a47b82b351d2bd85 +Subproject commit 43a61cc97a40b4b921b1d07e810938ed280ddf8c From cb4c07f9db767ce8337ffd0ef5edb80ee08cbfa7 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 14 Oct 2020 13:44:41 +0200 Subject: [PATCH 863/958] [skip sc] example loadcase in yaml --- examples/SpectralMethod/Polycrystal/shearXY.load | 1 - examples/SpectralMethod/Polycrystal/shearXY.yaml | 8 ++++++++ examples/SpectralMethod/Polycrystal/shearZX.load | 1 - examples/SpectralMethod/Polycrystal/shearZX.yaml | 8 ++++++++ examples/SpectralMethod/Polycrystal/tensionX.load | 2 -- examples/SpectralMethod/Polycrystal/tensionX.yaml | 15 +++++++++++++++ 6 files changed, 31 insertions(+), 4 deletions(-) delete mode 100644 examples/SpectralMethod/Polycrystal/shearXY.load create mode 100644 examples/SpectralMethod/Polycrystal/shearXY.yaml delete mode 100644 examples/SpectralMethod/Polycrystal/shearZX.load create mode 100644 examples/SpectralMethod/Polycrystal/shearZX.yaml delete mode 100644 examples/SpectralMethod/Polycrystal/tensionX.load create mode 100644 examples/SpectralMethod/Polycrystal/tensionX.yaml diff --git a/examples/SpectralMethod/Polycrystal/shearXY.load b/examples/SpectralMethod/Polycrystal/shearXY.load deleted file mode 100644 index 9f89ef886..000000000 --- a/examples/SpectralMethod/Polycrystal/shearXY.load +++ /dev/null @@ -1 +0,0 @@ -fdot 0 0 0 1e-3 0 0 0 0 0 stress * * * * * * * * * time 60 incs 120 freq 20 diff --git a/examples/SpectralMethod/Polycrystal/shearXY.yaml b/examples/SpectralMethod/Polycrystal/shearXY.yaml new file mode 100644 index 000000000..b2d7b914d --- /dev/null +++ b/examples/SpectralMethod/Polycrystal/shearXY.yaml @@ -0,0 +1,8 @@ +step: + - mech: + Fdot: [0, 0, 0, 1e-3, 0, 0, 0, 0, 0] + P: [x, x, x, x, x, x, x, x, x] + discretization: + t: 60 + N: 120 + f_out: 20 diff --git a/examples/SpectralMethod/Polycrystal/shearZX.load b/examples/SpectralMethod/Polycrystal/shearZX.load deleted file mode 100644 index 6a3606340..000000000 --- a/examples/SpectralMethod/Polycrystal/shearZX.load +++ /dev/null @@ -1 +0,0 @@ -fdot 0 0 1.0e-3 0 0 0 0 0 0 stress * * * * * * * * * time 60 incs 120 freq 20 diff --git a/examples/SpectralMethod/Polycrystal/shearZX.yaml b/examples/SpectralMethod/Polycrystal/shearZX.yaml new file mode 100644 index 000000000..147e6eec6 --- /dev/null +++ b/examples/SpectralMethod/Polycrystal/shearZX.yaml @@ -0,0 +1,8 @@ +step: + - mech: + Fdot: [0, 0, 1e-3, 0, 0, 0, 0, 0, 0] + P: [x, x, x, x, x, x, x, x, x] + discretization: + t: 60 + N: 120 + f_out: 20 diff --git a/examples/SpectralMethod/Polycrystal/tensionX.load b/examples/SpectralMethod/Polycrystal/tensionX.load deleted file mode 100644 index b0af80ea8..000000000 --- a/examples/SpectralMethod/Polycrystal/tensionX.load +++ /dev/null @@ -1,2 +0,0 @@ -fdot 1.0e-3 0 0 0 * 0 0 0 * stress * * * * 0 * * * 0 time 10 incs 40 freq 4 -fdot 1.0e-3 0 0 0 * 0 0 0 * stress * * * * 0 * * * 0 time 60 incs 60 diff --git a/examples/SpectralMethod/Polycrystal/tensionX.yaml b/examples/SpectralMethod/Polycrystal/tensionX.yaml new file mode 100644 index 000000000..a7a83a6f2 --- /dev/null +++ b/examples/SpectralMethod/Polycrystal/tensionX.yaml @@ -0,0 +1,15 @@ +step: + - mech: + Fdot: [1.0e-3,0,0, 0,x,0, 0,0,x] + P: [ x,x,x, x,0,x, x,x,0] + discretization: + t: 10 + N: 40 + f_out: 4 + - mech: + Fdot: [1.0e-3,0,0, 0,x,0, 0,0,x] + P: [ x,x,x, x,0,x, x,x,0] + discretization: + t: 60 + N: 60 + f_out: 4 From 35fe93508867b84bb793abc62b5a5317c3b26b93 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 14 Oct 2020 13:53:31 +0200 Subject: [PATCH 864/958] not used --- src/grid/DAMASK_grid.f90 | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 82c07d2c5..7a4f053c4 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -31,13 +31,10 @@ program DAMASK_grid ! variables related to information from load case and geom file real(pReal), dimension(9) :: temp_valueVector = 0.0_pReal !< temporarily from loadcase file when reading in tensors (initialize to 0.0) logical, dimension(9) :: temp_maskVector = .false. !< temporarily from loadcase file when reading in tensors - integer, allocatable, dimension(:) :: chunkPos integer :: & N_t = 0, & !< # of time indicators found in load case file N_n = 0, & !< # of increment specifiers found in load case file N_def = 0 !< # of rate of deformation specifiers found in load case file - character(len=:), allocatable :: & - line !-------------------------------------------------------------------------------------------------- ! loop variables, convergence etc. From b2be86a6bbea9c2b3cb9fce97718ccf166d57fc8 Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 14 Oct 2020 15:56:24 +0200 Subject: [PATCH 865/958] [skip ci] updated version information after successful test of v3.0.0-alpha-520-g02e4154e5 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index abc45afde..97519be15 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-510-g4a16aa223 +v3.0.0-alpha-520-g02e4154e5 From 16515351dcf9e43c40c90a22b8c8d81d07c6f743 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 14 Oct 2020 17:43:48 +0200 Subject: [PATCH 866/958] tests updated --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 43a61cc97..7bc408ddc 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 43a61cc97a40b4b921b1d07e810938ed280ddf8c +Subproject commit 7bc408ddc94aa32042e0eefe2de0400bca865ea3 From 1c911f6213ee276fec778dfeb6d6c5505f8ede14 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 14 Oct 2020 17:55:57 +0200 Subject: [PATCH 867/958] simplified --- src/grid/DAMASK_grid.f90 | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 7a4f053c4..fba39da44 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -89,7 +89,7 @@ program DAMASK_grid quit class (tNode), pointer :: & num_grid, & - debug_grid, & ! pointer to grid debug options + debug_grid, & ! pointer to grid debug options config_load, & load_steps, & load_step, & @@ -235,9 +235,8 @@ program DAMASK_grid call newLoadCase%rot%fromAxisAngle(step_discretization%get_asFloats('R', & defaultVal = real([0.0,0.0,1.0,0.0],pReal)),degrees=.true.) - newLoadCase%followFormerTrajectory = .not. load_step%get_asBool('drop_guessing',defaultVal=.false.) ! do not continue to predict deformation along former trajectory - - newLoadCase%followFormerTrajectory = merge(.true.,.false.,currentLoadCase > 1) ! by default, guess from previous load case + newLoadCase%followFormerTrajectory = .not. (load_step%get_asBool('drop_guessing',defaultVal=.false.) .or. & + merge(.false.,.true.,currentLoadCase > 1)) ! do not continue to predict deformation along former trajectory reportAndCheck: if (worldrank == 0) then write (loadcase_string, '(i0)' ) currentLoadCase From a8356e1bef1596003974b6275d4e6840a4b0ace3 Mon Sep 17 00:00:00 2001 From: Tias Maiti Date: Wed, 14 Oct 2020 21:46:25 -0700 Subject: [PATCH 868/958] added yaml version of Phase_Isotropic_FreeSurface material config --- .../Phase_Isotropic_FreeSurface.yaml | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 examples/ConfigFiles/Phase_Isotropic_FreeSurface.yaml diff --git a/examples/ConfigFiles/Phase_Isotropic_FreeSurface.yaml b/examples/ConfigFiles/Phase_Isotropic_FreeSurface.yaml new file mode 100644 index 000000000..940c2a2fd --- /dev/null +++ b/examples/ConfigFiles/Phase_Isotropic_FreeSurface.yaml @@ -0,0 +1,53 @@ +## Isotropic Material model to simulate free surfaces ## +## For more information see paper Maiti+Eisenlohr2018, Scripta Materialia, +## "Fourier-based spectral method solution to finite strain crystal plasticity with free surfaces" + +--- +homogenization: + SX: + mech: {type: none} + +material: + - constituents: + - fraction: 1.0 + O: [1.0, 0.0, 0.0, 0.0] + phase: Aluminum + homogenization: SX + - constituents: + - fraction: 1.0 + O: [1.0, 0.0, 0.0, 0.0] + phase: Air + homogenization: SX + +phase: + Aluminum: + elasticity: {C_11: 110.9e9, C_12: 58.34e9, type: hooke} + generic: + output: [F, P, Fe, Fp, Lp] + lattice: iso + plasticity: + type: isotropic + output: [xi] + xi_0: 31e6 + xi_inf: 63e6 + dot_gamma_0: 0.001 + n: 20 + M: 3 + h_0: 75e6 + a: 2.25 + Air: + elasticity: {C_11: 10e9, C_12: 0.0, type: hooke} + generic: + output: [F, P, Fe, Fp, Lp] + lattice: iso + plasticity: + type: isotropic + output: [xi] + xi_0: 0.3e6 + xi_inf: 0.6e6 + dot_gamma_0: 0.001 + n: 5 + M: 3 + h_0: 1e6 + a: 2 + dilatation: true From 6455627af9fe5dd9681397f26b54595ba5cb91e0 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 15 Oct 2020 18:09:45 +0200 Subject: [PATCH 869/958] accessed by correct dict now; tests improved --- PRIVATE | 2 +- src/grid/DAMASK_grid.f90 | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/PRIVATE b/PRIVATE index 7bc408ddc..256c0d23c 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 7bc408ddc94aa32042e0eefe2de0400bca865ea3 +Subproject commit 256c0d23c005c82987954d7f8bbf996e033f7821 diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index fba39da44..d6f092d9a 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -222,6 +222,9 @@ program DAMASK_grid newLoadCase%stress%mask = transpose(reshape(temp_maskVector,[ 3,3])) newLoadCase%stress%values = math_9to33(temp_valueVector) end select + call newLoadCase%rot%fromAxisAngle(step_mech%get_asFloats('R', & + defaultVal = real([0.0,0.0,1.0,0.0],pReal)),degrees=.true.) + enddo readMech !-------------------------------------------------------------------------------------------------------- @@ -232,8 +235,6 @@ program DAMASK_grid newLoadCase%logscale = step_discretization%get_asBool ('log_timestep', defaultVal= .false.) newLoadCase%outputfrequency = step_discretization%get_asInt ('f_out', defaultVal=1) newLoadCase%restartfrequency = step_discretization%get_asInt ('f_restart', defaultVal=huge(0)) - call newLoadCase%rot%fromAxisAngle(step_discretization%get_asFloats('R', & - defaultVal = real([0.0,0.0,1.0,0.0],pReal)),degrees=.true.) newLoadCase%followFormerTrajectory = .not. (load_step%get_asBool('drop_guessing',defaultVal=.false.) .or. & merge(.false.,.true.,currentLoadCase > 1)) ! do not continue to predict deformation along former trajectory From c5f5466c6aa229ccff7150c3ca13182e82c18b2f Mon Sep 17 00:00:00 2001 From: Tias Maiti Date: Thu, 15 Oct 2020 12:20:02 -0700 Subject: [PATCH 870/958] added suggested improvement and removed old .config file --- .../Phase_Isotropic_AluminumIsotropic.config | 20 ------ .../Phase_Isotropic_AluminumIsotropic.yaml | 16 +++++ .../Phase_Isotropic_FreeSurface.config | 24 ------- .../Phase_Isotropic_FreeSurface.yaml | 70 +++++-------------- 4 files changed, 33 insertions(+), 97 deletions(-) delete mode 100644 examples/ConfigFiles/Phase_Isotropic_AluminumIsotropic.config create mode 100644 examples/ConfigFiles/Phase_Isotropic_AluminumIsotropic.yaml delete mode 100644 examples/ConfigFiles/Phase_Isotropic_FreeSurface.config diff --git a/examples/ConfigFiles/Phase_Isotropic_AluminumIsotropic.config b/examples/ConfigFiles/Phase_Isotropic_AluminumIsotropic.config deleted file mode 100644 index 3a91035ea..000000000 --- a/examples/ConfigFiles/Phase_Isotropic_AluminumIsotropic.config +++ /dev/null @@ -1,20 +0,0 @@ -[Aluminum_Isotropic] -# Kuo, J. C., Mikrostrukturmechanik von Bikristallen mit Kippkorngrenzen. Shaker-Verlag 2004. http://edoc.mpg.de/204079 - -elasticity hooke -plasticity isotropic - -(output) flowstress -(output) strainrate - -lattice_structure iso - -c11 110.9e9 -c12 58.34e9 -m 3 -tau0 31e6 -gdot0 0.001 -n 20 -h0 75e6 -tausat 63e6 -a 2.25 diff --git a/examples/ConfigFiles/Phase_Isotropic_AluminumIsotropic.yaml b/examples/ConfigFiles/Phase_Isotropic_AluminumIsotropic.yaml new file mode 100644 index 000000000..446efc194 --- /dev/null +++ b/examples/ConfigFiles/Phase_Isotropic_AluminumIsotropic.yaml @@ -0,0 +1,16 @@ +# Kuo, J. C., Mikrostrukturmechanik von Bikristallen mit Kippkorngrenzen. Shaker-Verlag 2004. http://edoc.mpg.de/204079 +Aluminum: + elasticity: {C_11: 110.9e9, C_12: 58.34e9, type: hooke} + generic: + output: [F, P, Fe, Fp, Lp] + lattice: iso + plasticity: + type: isotropic + output: [xi] + xi_0: 31e6 + xi_inf: 63e6 + dot_gamma_0: 0.001 + n: 20 + M: 3 + h_0: 75e6 + a: 2.25 diff --git a/examples/ConfigFiles/Phase_Isotropic_FreeSurface.config b/examples/ConfigFiles/Phase_Isotropic_FreeSurface.config deleted file mode 100644 index 9a01c5a35..000000000 --- a/examples/ConfigFiles/Phase_Isotropic_FreeSurface.config +++ /dev/null @@ -1,24 +0,0 @@ -[Air] - -## Isotropic Material model to simulate free surfaces ## -## For more information see paper Maiti+Eisenlohr2018, Scripta Materialia, -## "Fourier-based spectral method solution to finite strain crystal plasticity with free surfaces" - -elasticity hooke -plasticity isotropic - -/dilatation/ - -(output) flowstress -(output) strainrate - -lattice_structure iso -c11 10e9 -c12 0.0 -gdot0 0.001 -tau0 0.3e6 -tausat 0.6e6 -h0 1e6 -n 5 -m 3 -a 2 diff --git a/examples/ConfigFiles/Phase_Isotropic_FreeSurface.yaml b/examples/ConfigFiles/Phase_Isotropic_FreeSurface.yaml index 940c2a2fd..20148c4fb 100644 --- a/examples/ConfigFiles/Phase_Isotropic_FreeSurface.yaml +++ b/examples/ConfigFiles/Phase_Isotropic_FreeSurface.yaml @@ -1,53 +1,17 @@ -## Isotropic Material model to simulate free surfaces ## -## For more information see paper Maiti+Eisenlohr2018, Scripta Materialia, -## "Fourier-based spectral method solution to finite strain crystal plasticity with free surfaces" - ---- -homogenization: - SX: - mech: {type: none} - -material: - - constituents: - - fraction: 1.0 - O: [1.0, 0.0, 0.0, 0.0] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 - O: [1.0, 0.0, 0.0, 0.0] - phase: Air - homogenization: SX - -phase: - Aluminum: - elasticity: {C_11: 110.9e9, C_12: 58.34e9, type: hooke} - generic: - output: [F, P, Fe, Fp, Lp] - lattice: iso - plasticity: - type: isotropic - output: [xi] - xi_0: 31e6 - xi_inf: 63e6 - dot_gamma_0: 0.001 - n: 20 - M: 3 - h_0: 75e6 - a: 2.25 - Air: - elasticity: {C_11: 10e9, C_12: 0.0, type: hooke} - generic: - output: [F, P, Fe, Fp, Lp] - lattice: iso - plasticity: - type: isotropic - output: [xi] - xi_0: 0.3e6 - xi_inf: 0.6e6 - dot_gamma_0: 0.001 - n: 5 - M: 3 - h_0: 1e6 - a: 2 - dilatation: true +# Maiti and Eisenlohr 2018 Scripta Materialia +Air: + elasticity: {C_11: 10e9, C_12: 0.0, type: hooke} + generic: + output: [F, P, Fe, Fp, Lp] + lattice: iso + plasticity: + type: isotropic + output: [xi] + xi_0: 0.3e6 + xi_inf: 0.6e6 + dot_gamma_0: 0.001 + n: 5 + M: 3 + h_0: 1e6 + a: 2 + dilatation: true From 3366e32904469bcf1b5bea8fce0b74fd6bbb57b2 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 15 Oct 2020 16:42:53 -0400 Subject: [PATCH 871/958] more logical ordering of material.yaml list entries --- .../SpectralMethod/Polycrystal/material.yaml | 162 +++++++++--------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/examples/SpectralMethod/Polycrystal/material.yaml b/examples/SpectralMethod/Polycrystal/material.yaml index 671136d40..0717d4eab 100644 --- a/examples/SpectralMethod/Polycrystal/material.yaml +++ b/examples/SpectralMethod/Polycrystal/material.yaml @@ -5,112 +5,112 @@ homogenization: mech: {type: none} material: - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [1.0, 0.0, 0.0, 0.0] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.7936696712125002, -0.28765777461664166, -0.3436487135089419, 0.4113964260949434] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.33012772942625784, -0.6781865350268957, 0.6494525351030648, 0.09638521992649676] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.43596817439583935, -0.5982537129781701, 0.046599032277502436, 0.6707106499919265] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.169734823419553, -0.699615227367322, -0.6059581215838098, -0.33844257746495854] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.9698864809294915, 0.1729052643205874, -0.15948307917616958, 0.06315956884687175] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.46205660912967883, 0.3105054068891252, -0.617849551030653, 0.555294529545738] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.4512443497461787, -0.7636045534540555, -0.04739348426715133, -0.45939142396805815] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.2161856212656443, -0.6581450184826598, -0.5498086209601588, 0.4667112513346289] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.8753220715350803, -0.4561599367657419, -0.13298279533852678, -0.08969369719975541] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.11908260752431069, 0.18266024809834172, -0.7144822594012615, -0.664807992845101] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.751104669484278, 0.5585633382623958, -0.34579336397009175, 0.06538900566860861] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.08740438971703973, 0.8991264096610437, -0.4156704205935976, 0.10559485570696363] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.5584325870096193, 0.6016408353068798, -0.14280340445801173, 0.5529814994483859] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.4052725440888093, 0.25253073423599154, 0.5693263597910454, -0.669215876471182] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.7570164606888676, 0.15265448024694664, -0.5998021466848317, 0.20942796551297105] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.6987659297138081, -0.132172211261028, -0.19693254724422338, 0.6748883269678543] - phase: Aluminum - homogenization: SX - - constituents: - - fraction: 1.0 + - homogenization: SX + constituents: + - phase: Aluminum + fraction: 1.0 O: [0.7729330445886478, 0.21682179052722322, -0.5207379472917645, 0.2905078484066341] - phase: Aluminum - homogenization: SX phase: Aluminum: elasticity: {C_11: 106.75e9, C_12: 60.41e9, C_44: 28.34e9, type: hooke} generic: - output: [F, P, Fe, Fp, Lp] + output: [F, P, Fe, Fp, Lp, O] lattice: fcc plasticity: N_sl: [12] From 6c79093a752fabcca628437090d537616bff5cfd Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 15 Oct 2020 23:02:47 +0200 Subject: [PATCH 872/958] [skip sc] Fdot --> dotF --- PRIVATE | 2 +- examples/SpectralMethod/Polycrystal/shearXY.yaml | 2 +- examples/SpectralMethod/Polycrystal/shearZX.yaml | 2 +- examples/SpectralMethod/Polycrystal/tensionX.yaml | 4 ++-- src/grid/DAMASK_grid.f90 | 8 ++++---- src/grid/grid_mech_FEM.f90 | 4 ++-- src/grid/grid_mech_spectral_basic.f90 | 10 +++++----- src/grid/grid_mech_spectral_polarisation.f90 | 4 ++-- src/grid/spectral_utilities.f90 | 2 +- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/PRIVATE b/PRIVATE index 256c0d23c..1364de052 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 256c0d23c005c82987954d7f8bbf996e033f7821 +Subproject commit 1364de0521afa348acde95e282ab7aab4d470768 diff --git a/examples/SpectralMethod/Polycrystal/shearXY.yaml b/examples/SpectralMethod/Polycrystal/shearXY.yaml index b2d7b914d..35ebd28ea 100644 --- a/examples/SpectralMethod/Polycrystal/shearXY.yaml +++ b/examples/SpectralMethod/Polycrystal/shearXY.yaml @@ -1,6 +1,6 @@ step: - mech: - Fdot: [0, 0, 0, 1e-3, 0, 0, 0, 0, 0] + dotF: [0, 0, 0, 1e-3, 0, 0, 0, 0, 0] P: [x, x, x, x, x, x, x, x, x] discretization: t: 60 diff --git a/examples/SpectralMethod/Polycrystal/shearZX.yaml b/examples/SpectralMethod/Polycrystal/shearZX.yaml index 147e6eec6..cba4fffd5 100644 --- a/examples/SpectralMethod/Polycrystal/shearZX.yaml +++ b/examples/SpectralMethod/Polycrystal/shearZX.yaml @@ -1,6 +1,6 @@ step: - mech: - Fdot: [0, 0, 1e-3, 0, 0, 0, 0, 0, 0] + dotF: [0, 0, 1e-3, 0, 0, 0, 0, 0, 0] P: [x, x, x, x, x, x, x, x, x] discretization: t: 60 diff --git a/examples/SpectralMethod/Polycrystal/tensionX.yaml b/examples/SpectralMethod/Polycrystal/tensionX.yaml index a7a83a6f2..5761b987d 100644 --- a/examples/SpectralMethod/Polycrystal/tensionX.yaml +++ b/examples/SpectralMethod/Polycrystal/tensionX.yaml @@ -1,13 +1,13 @@ step: - mech: - Fdot: [1.0e-3,0,0, 0,x,0, 0,0,x] + dotF: [1.0e-3,0,0, 0,x,0, 0,0,x] P: [ x,x,x, x,0,x, x,x,0] discretization: t: 10 N: 40 f_out: 4 - mech: - Fdot: [1.0e-3,0,0, 0,x,0, 0,0,x] + dotF: [1.0e-3,0,0, 0,x,0, 0,0,x] P: [ x,x,x, x,0,x, x,x,0] discretization: t: 60 diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index d6f092d9a..b43fd9655 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -173,7 +173,7 @@ program DAMASK_grid step_discretization => load_step%get('discretization') do m = 1, step_mech%length select case (step_mech%getKey(m)) - case('L','Fdot','F') + case('L','dotF','F') N_def = N_def + 1 end select enddo @@ -196,10 +196,10 @@ program DAMASK_grid readMech: do m = 1, step_mech%length select case (step_mech%getKey(m)) - case('Fdot','L','F') ! assign values for the deformation BC matrix + case('dotF','L','F') ! assign values for the deformation BC matrix temp_valueVector = 0.0_pReal - if (step_mech%getKey(m) == 'Fdot') then ! in case of Fdot, set type to fdot - newLoadCase%deformation%myType = 'fdot' + if (step_mech%getKey(m) == 'dotF') then ! in case of dotF, set type to dotf + newLoadCase%deformation%myType = 'dotf' else if (step_mech%getKey(m) == 'F') then newLoadCase%deformation%myType = 'f' else diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index b680dafa9..876c465f9 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -345,7 +345,7 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F F_aimDot = F_aimDot & + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) - elseif(deformation_BC%myType=='fdot') then ! F_aimDot is prescribed + elseif(deformation_BC%myType=='dotf') then ! F_aimDot is prescribed F_aimDot = F_aimDot & + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed @@ -372,7 +372,7 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, F_aim = F_aim_lastInc + F_aimDot * timeinc if (stress_BC%myType=='p') then P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) - elseif (stress_BC%myType=='pdot') then !UNTESTED + elseif (stress_BC%myType=='dotp') then !UNTESTED P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index e7e544886..627fdb718 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -308,13 +308,13 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo !----------------------------------------------------------------------------------------------- ! calculate rate for aim - if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F + if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F F_aimDot = F_aimDot & + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) - elseif(deformation_BC%myType=='fdot') then ! F_aimDot is prescribed + elseif(deformation_BC%myType=='dotf') then ! F_aimDot is prescribed F_aimDot = F_aimDot & + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) - elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed + elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed F_aimDot = F_aimDot & + merge((deformation_BC%values - F_aim_lastInc)/loadCaseTime,.0_pReal,deformation_BC%mask) endif @@ -332,11 +332,11 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo F_aim = F_aim_lastInc + F_aimDot * timeinc if (stress_BC%myType=='p') then P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) - elseif (stress_BC%myType=='pdot') then !UNTESTED + elseif (stress_BC%myType=='dotp') then !UNTESTED P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif - F = reshape(utilities_forwardField(timeinc,F_lastInc,Fdot, & ! estimate of F at end of time+timeinc that matches rotated F_aim on average + F = reshape(utilities_forwardField(timeinc,F_lastInc,Fdot, & ! estimate of F at end of time+timeinc that matches rotated F_aim on average rotation_BC%rotate(F_aim,active=.true.)),[9,grid(1),grid(2),grid3]) call DMDAVecRestoreArrayF90(da,solution_vec,F,ierr); CHKERRQ(ierr) diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index f59b68d7a..fea1a68f5 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -347,7 +347,7 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F F_aimDot = F_aimDot & + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) - elseif(deformation_BC%myType=='fdot') then ! F_aimDot is prescribed + elseif(deformation_BC%myType=='dotf') then ! F_aimDot is prescribed F_aimDot = F_aimDot & + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed @@ -372,7 +372,7 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc F_aim = F_aim_lastInc + F_aimDot * timeinc if (stress_BC%myType=='p') then P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) - elseif (stress_BC%myType=='pdot') then !UNTESTED + elseif (stress_BC%myType=='dotp') then !UNTESTED P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 37c22f58b..a21318c6f 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -90,7 +90,7 @@ module spectral_utilities type, public :: tLoadCase type(rotation) :: rot !< rotation of BC type(tBoundaryCondition) :: stress, & !< stress BC - deformation !< deformation BC (Fdot or L) + deformation !< deformation BC (dotF or L) real(pReal) :: time !< length of increment integer :: incs, & !< number of increments outputfrequency, & !< frequency of result writes From 3f3a88fdda7dd7c222c675eb6a5404462ad12d24 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 15 Oct 2020 23:32:38 +0200 Subject: [PATCH 873/958] capitalization --- src/grid/DAMASK_grid.f90 | 14 +++++++------- src/grid/grid_mech_FEM.f90 | 10 +++++----- src/grid/grid_mech_spectral_basic.f90 | 10 +++++----- src/grid/grid_mech_spectral_polarisation.f90 | 10 +++++----- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index b43fd9655..ae7a480c7 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -182,7 +182,7 @@ program DAMASK_grid if ((N_def /= N_n) .or. (N_n /= N_t) .or. N_n < 1) & ! sanity check call IO_error(error_ID=837,el=currentLoadCase,ext_msg = trim(interface_loadFile)) ! error message for incomplete loadcase - newLoadCase%stress%myType='p' + newLoadCase%stress%myType='P' field = 1 newLoadCase%ID(field) = FIELD_MECH_ID ! mechanical active by default thermalActive: if (any(thermal_type == THERMAL_conduction_ID)) then @@ -198,12 +198,12 @@ program DAMASK_grid select case (step_mech%getKey(m)) case('dotF','L','F') ! assign values for the deformation BC matrix temp_valueVector = 0.0_pReal - if (step_mech%getKey(m) == 'dotF') then ! in case of dotF, set type to dotf - newLoadCase%deformation%myType = 'dotf' + if (step_mech%getKey(m) == 'dotF') then ! in case of dotF, set type to dotF + newLoadCase%deformation%myType = 'dotF' else if (step_mech%getKey(m) == 'F') then - newLoadCase%deformation%myType = 'f' + newLoadCase%deformation%myType = 'F' else - newLoadCase%deformation%myType = 'l' + newLoadCase%deformation%myType = 'L' endif step_deformation => step_mech%get(m) do j = 1, 9 @@ -244,13 +244,13 @@ program DAMASK_grid print'(/,a,i0)', ' load case: ', currentLoadCase if (.not. newLoadCase%followFormerTrajectory) & print*, ' drop guessing along trajectory' - if (newLoadCase%deformation%myType == 'l') then + if (newLoadCase%deformation%myType == 'L') then do j = 1, 3 if (any(newLoadCase%deformation%mask(j,1:3) .eqv. .true.) .and. & any(newLoadCase%deformation%mask(j,1:3) .eqv. .false.)) errorID = 832 ! each row should be either fully or not at all defined enddo print*, ' velocity gradient:' - else if (newLoadCase%deformation%myType == 'f') then + else if (newLoadCase%deformation%myType == 'F') then print*, ' deformation gradient at end of load case:' else print*, ' deformation gradient rate:' diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 876c465f9..d7ee82427 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -342,13 +342,13 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, !----------------------------------------------------------------------------------------------- ! calculate rate for aim - if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F + if (deformation_BC%myType=='L') then ! calculate F_aimDot from given L and current F F_aimDot = F_aimDot & + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) - elseif(deformation_BC%myType=='dotf') then ! F_aimDot is prescribed + elseif(deformation_BC%myType=='dotF') then ! F_aimDot is prescribed F_aimDot = F_aimDot & + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) - elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed + elseif (deformation_BC%myType=='F') then ! aim at end of load case is prescribed F_aimDot = F_aimDot & + merge((deformation_BC%values - F_aim_lastInc)/loadCaseTime,.0_pReal,deformation_BC%mask) endif @@ -370,9 +370,9 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, !-------------------------------------------------------------------------------------------------- ! update average and local deformation gradients F_aim = F_aim_lastInc + F_aimDot * timeinc - if (stress_BC%myType=='p') then + if (stress_BC%myType=='P') then P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) - elseif (stress_BC%myType=='dotp') then !UNTESTED + elseif (stress_BC%myType=='dotP') then !UNTESTED P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 627fdb718..1a9e66908 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -308,13 +308,13 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo !----------------------------------------------------------------------------------------------- ! calculate rate for aim - if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F + if (deformation_BC%myType=='L') then ! calculate F_aimDot from given L and current F F_aimDot = F_aimDot & + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) - elseif(deformation_BC%myType=='dotf') then ! F_aimDot is prescribed + elseif(deformation_BC%myType=='dotF') then ! F_aimDot is prescribed F_aimDot = F_aimDot & + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) - elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed + elseif (deformation_BC%myType=='F') then ! aim at end of load case is prescribed F_aimDot = F_aimDot & + merge((deformation_BC%values - F_aim_lastInc)/loadCaseTime,.0_pReal,deformation_BC%mask) endif @@ -330,9 +330,9 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo !-------------------------------------------------------------------------------------------------- ! update average and local deformation gradients F_aim = F_aim_lastInc + F_aimDot * timeinc - if (stress_BC%myType=='p') then + if (stress_BC%myType=='P') then P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) - elseif (stress_BC%myType=='dotp') then !UNTESTED + elseif (stress_BC%myType=='dotP') then !UNTESTED P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index fea1a68f5..8380fa6c1 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -344,13 +344,13 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc !----------------------------------------------------------------------------------------------- ! calculate rate for aim - if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F + if (deformation_BC%myType=='L') then ! calculate F_aimDot from given L and current F F_aimDot = F_aimDot & + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) - elseif(deformation_BC%myType=='dotf') then ! F_aimDot is prescribed + elseif(deformation_BC%myType=='dotF') then ! F_aimDot is prescribed F_aimDot = F_aimDot & + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) - elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed + elseif (deformation_BC%myType=='F') then ! aim at end of load case is prescribed F_aimDot = F_aimDot & + merge((deformation_BC%values - F_aim_lastInc)/loadCaseTime,.0_pReal,deformation_BC%mask) endif @@ -370,9 +370,9 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc !-------------------------------------------------------------------------------------------------- ! update average and local deformation gradients F_aim = F_aim_lastInc + F_aimDot * timeinc - if (stress_BC%myType=='p') then + if (stress_BC%myType=='P') then P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) - elseif (stress_BC%myType=='dotp') then !UNTESTED + elseif (stress_BC%myType=='dotP') then !UNTESTED P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif From 0f3f4beb020046a34de31090ab86a21e233dfed8 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 16 Oct 2020 09:28:28 +0200 Subject: [PATCH 874/958] [skip ci] updated version information after successful test of v3.0.0-alpha-523-gf4b5d5f24 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 97519be15..c7934861f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-520-g02e4154e5 +v3.0.0-alpha-523-gf4b5d5f24 From 1ca6b8761b3e275519506d8b5a16398278decf9d Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 16 Oct 2020 12:31:36 +0200 Subject: [PATCH 875/958] [skip ci] updated version information after successful test of v3.0.0-alpha-526-g51f150e25 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 97519be15..16889c094 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-520-g02e4154e5 +v3.0.0-alpha-526-g51f150e25 From 34aa8542817a5106916cd9107be761d4fbf237e9 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 16 Oct 2020 16:10:04 +0200 Subject: [PATCH 876/958] [skip sc] updated files --- examples/SpectralMethod/Polycrystal/shearXY.yaml | 4 ++-- examples/SpectralMethod/Polycrystal/shearZX.yaml | 4 ++-- examples/SpectralMethod/Polycrystal/tensionX.yaml | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/SpectralMethod/Polycrystal/shearXY.yaml b/examples/SpectralMethod/Polycrystal/shearXY.yaml index 35ebd28ea..ec714f971 100644 --- a/examples/SpectralMethod/Polycrystal/shearXY.yaml +++ b/examples/SpectralMethod/Polycrystal/shearXY.yaml @@ -1,7 +1,7 @@ step: - mech: - dotF: [0, 0, 0, 1e-3, 0, 0, 0, 0, 0] - P: [x, x, x, x, x, x, x, x, x] + dot_F: [0, 0, 0, 1e-3, 0, 0, 0, 0, 0] + P: [x, x, x, x, x, x, x, x, x] discretization: t: 60 N: 120 diff --git a/examples/SpectralMethod/Polycrystal/shearZX.yaml b/examples/SpectralMethod/Polycrystal/shearZX.yaml index cba4fffd5..473a82fc7 100644 --- a/examples/SpectralMethod/Polycrystal/shearZX.yaml +++ b/examples/SpectralMethod/Polycrystal/shearZX.yaml @@ -1,7 +1,7 @@ step: - mech: - dotF: [0, 0, 1e-3, 0, 0, 0, 0, 0, 0] - P: [x, x, x, x, x, x, x, x, x] + dot_F: [0, 0, 1e-3, 0, 0, 0, 0, 0, 0] + P: [x, x, x, x, x, x, x, x, x] discretization: t: 60 N: 120 diff --git a/examples/SpectralMethod/Polycrystal/tensionX.yaml b/examples/SpectralMethod/Polycrystal/tensionX.yaml index 5761b987d..5c82d0eec 100644 --- a/examples/SpectralMethod/Polycrystal/tensionX.yaml +++ b/examples/SpectralMethod/Polycrystal/tensionX.yaml @@ -1,14 +1,14 @@ step: - mech: - dotF: [1.0e-3,0,0, 0,x,0, 0,0,x] - P: [ x,x,x, x,0,x, x,x,0] + dot_F: [1.0e-3,0,0, 0,x,0, 0,0,x] + P: [ x,x,x, x,0,x, x,x,0] discretization: t: 10 N: 40 f_out: 4 - mech: - dotF: [1.0e-3,0,0, 0,x,0, 0,0,x] - P: [ x,x,x, x,0,x, x,x,0] + dot_F: [1.0e-3,0,0, 0,x,0, 0,0,x] + P: [ x,x,x, x,0,x, x,x,0] discretization: t: 60 N: 60 From f25f7ad01eb9c4f9f184272a7d04a794306bb66d Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 16 Oct 2020 16:14:13 +0200 Subject: [PATCH 877/958] [skip sc] consistent naming convention --- PRIVATE | 2 +- src/grid/DAMASK_grid.f90 | 12 ++++++------ src/grid/grid_mech_FEM.f90 | 4 ++-- src/grid/grid_mech_spectral_basic.f90 | 4 ++-- src/grid/grid_mech_spectral_polarisation.f90 | 4 ++-- src/grid/spectral_utilities.f90 | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/PRIVATE b/PRIVATE index 1364de052..1e8c66897 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 1364de0521afa348acde95e282ab7aab4d470768 +Subproject commit 1e8c66897820468ab46958d995005e2b69204d0e diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index ae7a480c7..5a69ff57e 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -173,7 +173,7 @@ program DAMASK_grid step_discretization => load_step%get('discretization') do m = 1, step_mech%length select case (step_mech%getKey(m)) - case('L','dotF','F') + case('L','dot_F','F') N_def = N_def + 1 end select enddo @@ -196,10 +196,10 @@ program DAMASK_grid readMech: do m = 1, step_mech%length select case (step_mech%getKey(m)) - case('dotF','L','F') ! assign values for the deformation BC matrix + case('dot_F','L','F') ! assign values for the deformation BC matrix temp_valueVector = 0.0_pReal - if (step_mech%getKey(m) == 'dotF') then ! in case of dotF, set type to dotF - newLoadCase%deformation%myType = 'dotF' + if (step_mech%getKey(m) == 'dot_F') then ! in case of dot_F, set type to dot_F + newLoadCase%deformation%myType = 'dot_F' else if (step_mech%getKey(m) == 'F') then newLoadCase%deformation%myType = 'F' else @@ -207,7 +207,7 @@ program DAMASK_grid endif step_deformation => step_mech%get(m) do j = 1, 9 - temp_maskVector(j) = step_deformation%get_asString(j) /= 'x' ! true if not a x + temp_maskVector(j) = step_deformation%get_asString(j) /= 'x' ! true if not a 'x' if (temp_maskVector(j)) temp_valueVector(j) = step_deformation%get_asFloat(j) ! read value where applicable enddo newLoadCase%deformation%mask = transpose(reshape(temp_maskVector,[ 3,3])) ! mask in 3x3 notation @@ -216,7 +216,7 @@ program DAMASK_grid temp_valueVector = 0.0_pReal step_stress => step_mech%get(m) do j = 1, 9 - temp_maskVector(j) = step_stress%get_asString(j) /= 'x' ! true if not an asterisk + temp_maskVector(j) = step_stress%get_asString(j) /= 'x' ! true if not a 'x' if (temp_maskVector(j)) temp_valueVector(j) = step_stress%get_asFloat(j) ! read value where applicable enddo newLoadCase%stress%mask = transpose(reshape(temp_maskVector,[ 3,3])) diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index d7ee82427..dfbd3f2f3 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -345,7 +345,7 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, if (deformation_BC%myType=='L') then ! calculate F_aimDot from given L and current F F_aimDot = F_aimDot & + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) - elseif(deformation_BC%myType=='dotF') then ! F_aimDot is prescribed + elseif(deformation_BC%myType=='dot_F') then ! F_aimDot is prescribed F_aimDot = F_aimDot & + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) elseif (deformation_BC%myType=='F') then ! aim at end of load case is prescribed @@ -372,7 +372,7 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, F_aim = F_aim_lastInc + F_aimDot * timeinc if (stress_BC%myType=='P') then P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) - elseif (stress_BC%myType=='dotP') then !UNTESTED + elseif (stress_BC%myType=='dot_P') then !UNTESTED P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 1a9e66908..d2f6b40da 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -311,7 +311,7 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo if (deformation_BC%myType=='L') then ! calculate F_aimDot from given L and current F F_aimDot = F_aimDot & + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) - elseif(deformation_BC%myType=='dotF') then ! F_aimDot is prescribed + elseif(deformation_BC%myType=='dot_F') then ! F_aimDot is prescribed F_aimDot = F_aimDot & + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) elseif (deformation_BC%myType=='F') then ! aim at end of load case is prescribed @@ -332,7 +332,7 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo F_aim = F_aim_lastInc + F_aimDot * timeinc if (stress_BC%myType=='P') then P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) - elseif (stress_BC%myType=='dotP') then !UNTESTED + elseif (stress_BC%myType=='dot_P') then !UNTESTED P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 8380fa6c1..3d495ddf0 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -347,7 +347,7 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc if (deformation_BC%myType=='L') then ! calculate F_aimDot from given L and current F F_aimDot = F_aimDot & + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) - elseif(deformation_BC%myType=='dotF') then ! F_aimDot is prescribed + elseif(deformation_BC%myType=='dot_F') then ! F_aimDot is prescribed F_aimDot = F_aimDot & + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) elseif (deformation_BC%myType=='F') then ! aim at end of load case is prescribed @@ -372,7 +372,7 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc F_aim = F_aim_lastInc + F_aimDot * timeinc if (stress_BC%myType=='P') then P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) - elseif (stress_BC%myType=='dotP') then !UNTESTED + elseif (stress_BC%myType=='dot_P') then !UNTESTED P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index a21318c6f..11d278219 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -90,7 +90,7 @@ module spectral_utilities type, public :: tLoadCase type(rotation) :: rot !< rotation of BC type(tBoundaryCondition) :: stress, & !< stress BC - deformation !< deformation BC (dotF or L) + deformation !< deformation BC (dot_F or L) real(pReal) :: time !< length of increment integer :: incs, & !< number of increments outputfrequency, & !< frequency of result writes From 96243a4ac838452e2d1f5bc54ec921dc51cfa3d8 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 21 Oct 2020 17:19:15 +0200 Subject: [PATCH 878/958] simplifying --- src/grid/DAMASK_grid.f90 | 256 +++++++++++++++----------------- src/grid/spectral_utilities.f90 | 8 +- 2 files changed, 120 insertions(+), 144 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 5a69ff57e..7adfadd34 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -24,17 +24,13 @@ program DAMASK_grid use grid_damage_spectral use grid_thermal_spectral use results - + implicit none !-------------------------------------------------------------------------------------------------- ! variables related to information from load case and geom file real(pReal), dimension(9) :: temp_valueVector = 0.0_pReal !< temporarily from loadcase file when reading in tensors (initialize to 0.0) logical, dimension(9) :: temp_maskVector = .false. !< temporarily from loadcase file when reading in tensors - integer :: & - N_t = 0, & !< # of time indicators found in load case file - N_n = 0, & !< # of increment specifiers found in load case file - N_def = 0 !< # of rate of deformation specifiers found in load case file !-------------------------------------------------------------------------------------------------- ! loop variables, convergence etc. @@ -59,7 +55,7 @@ program DAMASK_grid cutBackLevel = 0, & !< cut back level \f$ t = \frac{t_{inc}}{2^l} \f$ stepFraction = 0 !< fraction of current time interval integer :: & - currentLoadcase = 0, & !< current load case + l = 0, & !< current load case inc, & !< current increment in current load case totalIncsCounter = 0, & !< total # of increments statUnit = 0, & !< file unit for statistics output @@ -72,7 +68,6 @@ program DAMASK_grid maxCutBack, & !< max number of cut backs stagItMax !< max number of field level staggered iterations type(tLoadCase), allocatable, dimension(:) :: loadCases !< array of all load cases - type(tLoadCase) :: newLoadCase type(tSolutionState), allocatable, dimension(:) :: solres procedure(grid_mech_spectral_basic_init), pointer :: & mech_init @@ -84,7 +79,7 @@ program DAMASK_grid mech_updateCoords procedure(grid_mech_spectral_basic_restartWrite), pointer :: & mech_restartWrite - + external :: & quit class (tNode), pointer :: & @@ -100,10 +95,10 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! init DAMASK (all modules) - - call CPFEM_initAll + + call CPFEM_initAll print'(/,a)', ' <<<+- DAMASK_spectral init -+>>>'; flush(IO_STDOUT) - + print*, 'Shanthraj et al., Handbook of Mechanics of Materials, 2019' print*, 'https://doi.org/10.1007/978-981-10-6855-3_80' @@ -113,7 +108,6 @@ program DAMASK_grid if (any(thermal_type == THERMAL_conduction_ID )) nActiveFields = nActiveFields + 1 if (any(damage_type == DAMAGE_nonlocal_ID )) nActiveFields = nActiveFields + 1 allocate(solres(nActiveFields)) - allocate(newLoadCase%ID(nActiveFields)) !------------------------------------------------------------------------------------------------- ! reading field paramters from numerics file and do sanity checks @@ -126,16 +120,16 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! assign mechanics solver depending on selected type - + debug_grid => config_debug%get('grid',defaultVal=emptyList) - select case (trim(num_grid%get_asString('solver', defaultVal = 'Basic'))) + select case (trim(num_grid%get_asString('solver', defaultVal = 'Basic'))) case ('Basic') mech_init => grid_mech_spectral_basic_init mech_forward => grid_mech_spectral_basic_forward mech_solution => grid_mech_spectral_basic_solution mech_updateCoords => grid_mech_spectral_basic_updateCoords mech_restartWrite => grid_mech_spectral_basic_restartWrite - + case ('Polarisation') if(debug_grid%contains('basic')) & call IO_warning(42, ext_msg='debug Divergence') @@ -144,7 +138,7 @@ program DAMASK_grid mech_solution => grid_mech_spectral_polarisation_solution mech_updateCoords => grid_mech_spectral_polarisation_updateCoords mech_restartWrite => grid_mech_spectral_polarisation_restartWrite - + case ('FEM') if(debug_grid%contains('basic')) & call IO_warning(42, ext_msg='debug Divergence') @@ -153,65 +147,51 @@ program DAMASK_grid mech_solution => grid_mech_FEM_solution mech_updateCoords => grid_mech_FEM_updateCoords mech_restartWrite => grid_mech_FEM_restartWrite - + case default call IO_error(error_ID = 891, ext_msg = trim(num_grid%get_asString('solver'))) - + end select - + !-------------------------------------------------------------------------------------------------- -! reading information from load case file and to sanity checks - config_load => YAML_parse_file(trim(interface_loadFile)) - +! reading information from load case file and to sanity checks + config_load => YAML_parse_file(trim(interface_loadFile)) + load_steps => config_load%get('step') allocate(loadCases(load_steps%length)) ! array of load cases - do currentLoadCase = 1, load_steps%length - load_step => load_steps%get(currentLoadCase) - step_mech => load_step%get('mech') - step_discretization => load_step%get('discretization') - do m = 1, step_mech%length - select case (step_mech%getKey(m)) - case('L','dot_F','F') - N_def = N_def + 1 - end select - enddo - if(step_discretization%contains('t')) N_t = N_t + 1 - if(step_discretization%contains('N')) N_n = N_n + 1 - if ((N_def /= N_n) .or. (N_n /= N_t) .or. N_n < 1) & ! sanity check - call IO_error(error_ID=837,el=currentLoadCase,ext_msg = trim(interface_loadFile)) ! error message for incomplete loadcase - - newLoadCase%stress%myType='P' + do l = 1, load_steps%length + + allocate(loadCases(l)%ID(nActiveFields)) field = 1 - newLoadCase%ID(field) = FIELD_MECH_ID ! mechanical active by default + loadCases(l)%ID(field) = FIELD_MECH_ID ! mechanical active by default thermalActive: if (any(thermal_type == THERMAL_conduction_ID)) then field = field + 1 - newLoadCase%ID(field) = FIELD_THERMAL_ID + loadCases(l)%ID(field) = FIELD_THERMAL_ID endif thermalActive damageActive: if (any(damage_type == DAMAGE_nonlocal_ID)) then field = field + 1 - newLoadCase%ID(field) = FIELD_DAMAGE_ID + loadCases(l)%ID(field) = FIELD_DAMAGE_ID endif damageActive - + + load_step => load_steps%get(l) + + step_mech => load_step%get('mech') + loadCases(l)%stress%myType='P' readMech: do m = 1, step_mech%length select case (step_mech%getKey(m)) case('dot_F','L','F') ! assign values for the deformation BC matrix - temp_valueVector = 0.0_pReal - if (step_mech%getKey(m) == 'dot_F') then ! in case of dot_F, set type to dot_F - newLoadCase%deformation%myType = 'dot_F' - else if (step_mech%getKey(m) == 'F') then - newLoadCase%deformation%myType = 'F' - else - newLoadCase%deformation%myType = 'L' - endif + loadCases(l)%deformation%myType = step_mech%getKey(m) + temp_valueVector = 0.0_pReal + step_deformation => step_mech%get(m) do j = 1, 9 temp_maskVector(j) = step_deformation%get_asString(j) /= 'x' ! true if not a 'x' if (temp_maskVector(j)) temp_valueVector(j) = step_deformation%get_asFloat(j) ! read value where applicable enddo - newLoadCase%deformation%mask = transpose(reshape(temp_maskVector,[ 3,3])) ! mask in 3x3 notation - newLoadCase%deformation%values = math_9to33(temp_valueVector) ! values in 3x3 notation + loadCases(l)%deformation%mask = transpose(reshape(temp_maskVector,[ 3,3])) ! mask in 3x3 notation + loadCases(l)%deformation%values = math_9to33(temp_valueVector) ! values in 3x3 notation case('P') temp_valueVector = 0.0_pReal step_stress => step_mech%get(m) @@ -219,80 +199,76 @@ program DAMASK_grid temp_maskVector(j) = step_stress%get_asString(j) /= 'x' ! true if not a 'x' if (temp_maskVector(j)) temp_valueVector(j) = step_stress%get_asFloat(j) ! read value where applicable enddo - newLoadCase%stress%mask = transpose(reshape(temp_maskVector,[ 3,3])) - newLoadCase%stress%values = math_9to33(temp_valueVector) + loadCases(l)%stress%mask = transpose(reshape(temp_maskVector,[ 3,3])) + loadCases(l)%stress%values = math_9to33(temp_valueVector) end select - call newLoadCase%rot%fromAxisAngle(step_mech%get_asFloats('R', & + call loadCases(l)%rot%fromAxisAngle(step_mech%get_asFloats('R', & defaultVal = real([0.0,0.0,1.0,0.0],pReal)),degrees=.true.) - enddo readMech + if (.not. allocated(loadCases(l)%deformation%myType)) call IO_error(error_ID=837,ext_msg = 'L/F/dot_F missing') + + step_discretization => load_step%get('discretization') + if(.not. step_discretization%contains('t')) call IO_error(error_ID=837,ext_msg = 't missing') + if(.not. step_discretization%contains('N')) call IO_error(error_ID=837,ext_msg = 'N missing') + loadCases(l)%time = step_discretization%get_asFloat('t') + loadCases(l)%incs = step_discretization%get_asFloat('N') + loadCases(l)%logscale = step_discretization%get_asBool ('log_timestep', defaultVal= .false.) + loadCases(l)%outputfrequency = step_discretization%get_asInt ('f_out', defaultVal=1) + loadCases(l)%restartfrequency = step_discretization%get_asInt ('f_restart', defaultVal=huge(0)) + + loadCases(l)%followFormerTrajectory = .not. (load_step%get_asBool('drop_guessing',defaultVal=.false.) .or. & + merge(.false.,.true.,l > 1)) ! do not continue to predict deformation along former trajectory -!-------------------------------------------------------------------------------------------------------- -! Read discretization parameters -!-------------------------------------------------------------------------------------------------------- - newLoadCase%time = step_discretization%get_asFloat('t') - newLoadCase%incs = step_discretization%get_asFloat('N') - newLoadCase%logscale = step_discretization%get_asBool ('log_timestep', defaultVal= .false.) - newLoadCase%outputfrequency = step_discretization%get_asInt ('f_out', defaultVal=1) - newLoadCase%restartfrequency = step_discretization%get_asInt ('f_restart', defaultVal=huge(0)) - - newLoadCase%followFormerTrajectory = .not. (load_step%get_asBool('drop_guessing',defaultVal=.false.) .or. & - merge(.false.,.true.,currentLoadCase > 1)) ! do not continue to predict deformation along former trajectory - reportAndCheck: if (worldrank == 0) then - write (loadcase_string, '(i0)' ) currentLoadCase - print'(/,a,i0)', ' load case: ', currentLoadCase - if (.not. newLoadCase%followFormerTrajectory) & + write (loadcase_string, '(i0)' ) l + print'(/,a,i0)', ' load case: ', l + if (.not. loadCases(l)%followFormerTrajectory) & print*, ' drop guessing along trajectory' - if (newLoadCase%deformation%myType == 'L') then + if (loadCases(l)%deformation%myType == 'L') then do j = 1, 3 - if (any(newLoadCase%deformation%mask(j,1:3) .eqv. .true.) .and. & - any(newLoadCase%deformation%mask(j,1:3) .eqv. .false.)) errorID = 832 ! each row should be either fully or not at all defined + if (any(loadCases(l)%deformation%mask(j,1:3) .eqv. .true.) .and. & + any(loadCases(l)%deformation%mask(j,1:3) .eqv. .false.)) errorID = 832 ! each row should be either fully or not at all defined enddo print*, ' velocity gradient:' - else if (newLoadCase%deformation%myType == 'F') then + else if (loadCases(l)%deformation%myType == 'F') then print*, ' deformation gradient at end of load case:' - else + else if (loadCases(l)%deformation%myType == 'dot_F') then print*, ' deformation gradient rate:' endif do i = 1, 3; do j = 1, 3 - if(newLoadCase%deformation%mask(i,j)) then - write(IO_STDOUT,'(2x,f12.7)',advance='no') newLoadCase%deformation%values(i,j) + if(loadCases(l)%deformation%mask(i,j)) then + write(IO_STDOUT,'(2x,f12.7)',advance='no') loadCases(l)%deformation%values(i,j) else - write(IO_STDOUT,'(2x,12a)',advance='no') ' * ' + write(IO_STDOUT,'(2x,12a)',advance='no') ' x ' endif enddo; write(IO_STDOUT,'(/)',advance='no') enddo - if (any(newLoadCase%stress%mask .eqv. newLoadCase%deformation%mask)) errorID = 831 ! exclusive or masking only - if (any(newLoadCase%stress%mask .and. transpose(newLoadCase%stress%mask) .and. (math_I3<1))) & + if (any(loadCases(l)%stress%mask .eqv. loadCases(l)%deformation%mask)) errorID = 831 ! exclusive or masking only + if (any(loadCases(l)%stress%mask .and. transpose(loadCases(l)%stress%mask) .and. (math_I3<1))) & errorID = 838 ! no rotation is allowed by stress BC print*, ' stress / GPa:' do i = 1, 3; do j = 1, 3 - if(newLoadCase%stress%mask(i,j)) then - write(IO_STDOUT,'(2x,f12.7)',advance='no') newLoadCase%stress%values(i,j)*1e-9_pReal + if(loadCases(l)%stress%mask(i,j)) then + write(IO_STDOUT,'(2x,f12.7)',advance='no') loadCases(l)%stress%values(i,j)*1e-9_pReal else - write(IO_STDOUT,'(2x,12a)',advance='no') ' * ' + write(IO_STDOUT,'(2x,12a)',advance='no') ' x ' endif enddo; write(IO_STDOUT,'(/)',advance='no') enddo - if (any(abs(matmul(newLoadCase%rot%asMatrix(), & - transpose(newLoadCase%rot%asMatrix()))-math_I3) > & - reshape(spread(tol_math_check,1,9),[ 3,3]))) errorID = 846 ! given rotation matrix contains strain - if (any(dNeq(newLoadCase%rot%asMatrix(), math_I3))) & + if (any(dNeq(loadCases(l)%rot%asMatrix(), math_I3))) & write(IO_STDOUT,'(2x,a,/,3(3(3x,f12.7,1x)/))',advance='no') 'rotation of loadframe:',& - transpose(newLoadCase%rot%asMatrix()) - if (newLoadCase%time < 0.0_pReal) errorID = 834 ! negative time increment - print'(a,f0.3)', ' time: ', newLoadCase%time - if (newLoadCase%incs < 1) errorID = 835 ! non-positive incs count - print'(a,i0)', ' increments: ', newLoadCase%incs - if (newLoadCase%outputfrequency < 1) errorID = 836 ! non-positive result frequency - print'(a,i0)', ' output frequency: ', newLoadCase%outputfrequency - if (newLoadCase%restartfrequency < 1) errorID = 839 ! non-positive restart frequency - if (newLoadCase%restartfrequency < huge(0)) & - print'(a,i0)', ' restart frequency: ', newLoadCase%restartfrequency + transpose(loadCases(l)%rot%asMatrix()) + if (loadCases(l)%time < 0.0_pReal) errorID = 834 ! negative time increment + print'(a,f0.3)', ' time: ', loadCases(l)%time + if (loadCases(l)%incs < 1) errorID = 835 ! non-positive incs count + print'(a,i0)', ' increments: ', loadCases(l)%incs + if (loadCases(l)%outputfrequency < 1) errorID = 836 ! non-positive result frequency + print'(a,i0)', ' output frequency: ', loadCases(l)%outputfrequency + if (loadCases(l)%restartfrequency < 1) errorID = 839 ! non-positive restart frequency + if (loadCases(l)%restartfrequency < huge(0)) & + print'(a,i0)', ' restart frequency: ', loadCases(l)%restartfrequency if (errorID > 0) call IO_error(error_ID = errorID, ext_msg = loadcase_string) ! exit with error message endif reportAndCheck - loadCases(currentLoadCase) = newLoadCase ! load case is ok, append it enddo !-------------------------------------------------------------------------------------------------- @@ -302,13 +278,13 @@ program DAMASK_grid select case (loadCases(1)%ID(field)) case(FIELD_MECH_ID) call mech_init - + case(FIELD_THERMAL_ID) call grid_thermal_spectral_init - + case(FIELD_DAMAGE_ID) call grid_damage_spectral_init - + end select enddo @@ -325,45 +301,45 @@ program DAMASK_grid '.sta',form='FORMATTED', position='APPEND', status='OLD') endif writeHeader endif - + writeUndeformed: if (interface_restartInc < 1) then print'(/,a)', ' ... writing initial configuration to file ........................' call CPFEM_results(0,0.0_pReal) endif writeUndeformed - - loadCaseLooping: do currentLoadCase = 1, size(loadCases) + + loadCaseLooping: do l = 1, size(loadCases) time0 = time ! load case start time - guess = loadCases(currentLoadCase)%followFormerTrajectory ! change of load case? homogeneous guess for the first inc - - incLooping: do inc = 1, loadCases(currentLoadCase)%incs + guess = loadCases(l)%followFormerTrajectory ! change of load case? homogeneous guess for the first inc + + incLooping: do inc = 1, loadCases(l)%incs totalIncsCounter = totalIncsCounter + 1 !-------------------------------------------------------------------------------------------------- ! forwarding time timeIncOld = timeinc ! last timeinc that brought former inc to an end - if (.not. loadCases(currentLoadCase)%logscale) then ! linear scale - timeinc = loadCases(currentLoadCase)%time/real(loadCases(currentLoadCase)%incs,pReal) + if (.not. loadCases(l)%logscale) then ! linear scale + timeinc = loadCases(l)%time/real(loadCases(l)%incs,pReal) else - if (currentLoadCase == 1) then ! 1st load case of logarithmic scale + if (l == 1) then ! 1st load case of logarithmic scale timeinc = loadCases(1)%time*(2.0_pReal**real(max(inc-1,1)-loadCases(1)%incs ,pReal)) ! assume 1st inc is equal to 2nd else ! not-1st load case of logarithmic scale timeinc = time0 * & - ( (1.0_pReal + loadCases(currentLoadCase)%time/time0 )**(real( inc ,pReal)/& - real(loadCases(currentLoadCase)%incs ,pReal))& - -(1.0_pReal + loadCases(currentLoadCase)%time/time0 )**(real( inc-1 ,pReal)/& - real(loadCases(currentLoadCase)%incs ,pReal))) + ( (1.0_pReal + loadCases(l)%time/time0 )**(real( inc ,pReal)/& + real(loadCases(l)%incs ,pReal))& + -(1.0_pReal + loadCases(l)%time/time0 )**(real( inc-1 ,pReal)/& + real(loadCases(l)%incs ,pReal))) endif endif timeinc = timeinc * real(subStepFactor,pReal)**real(-cutBackLevel,pReal) ! depending on cut back level, decrease time step - + skipping: if (totalIncsCounter <= interface_restartInc) then ! not yet at restart inc? time = time + timeinc ! just advance time, skip already performed calculation guess = .true. ! QUESTION:why forced guessing instead of inheriting loadcase preference else skipping stepFraction = 0 ! fraction scaled by stepFactor**cutLevel - + subStepLooping: do while (stepFraction < subStepFactor**cutBackLevel) - remainingLoadCaseTime = loadCases(currentLoadCase)%time+time0 - time + remainingLoadCaseTime = loadCases(l)%time+time0 - time time = time + timeinc ! forward target time stepFraction = stepFraction + 1 ! count step @@ -372,9 +348,9 @@ program DAMASK_grid print'(/,a)', ' ###########################################################################' print'(1x,a,es12.5,6(a,i0))', & 'Time', time, & - 's: Increment ', inc,'/',loadCases(currentLoadCase)%incs,& + 's: Increment ', inc,'/',loadCases(l)%incs,& '-', stepFraction,'/',subStepFactor**cutBackLevel,& - ' of load case ', currentLoadCase,'/',size(loadCases) + ' of load case ', l,'/',size(loadCases) write(incInfo,'(4(a,i0))') & 'Increment ',totalIncsCounter,'/',sum(loadCases%incs),& '-', stepFraction,'/',subStepFactor**cutBackLevel @@ -383,14 +359,14 @@ program DAMASK_grid !-------------------------------------------------------------------------------------------------- ! forward fields do field = 1, nActiveFields - select case(loadCases(currentLoadCase)%ID(field)) + select case(loadCases(l)%ID(field)) case(FIELD_MECH_ID) call mech_forward (& cutBack,guess,timeinc,timeIncOld,remainingLoadCaseTime, & - deformation_BC = loadCases(currentLoadCase)%deformation, & - stress_BC = loadCases(currentLoadCase)%stress, & - rotation_BC = loadCases(currentLoadCase)%rot) - + deformation_BC = loadCases(l)%deformation, & + stress_BC = loadCases(l)%stress, & + rotation_BC = loadCases(l)%rot) + case(FIELD_THERMAL_ID); call grid_thermal_spectral_forward(cutBack) case(FIELD_DAMAGE_ID); call grid_damage_spectral_forward(cutBack) end select @@ -403,7 +379,7 @@ program DAMASK_grid stagIterate = .true. do while (stagIterate) do field = 1, nActiveFields - select case(loadCases(currentLoadCase)%ID(field)) + select case(loadCases(l)%ID(field)) case(FIELD_MECH_ID) solres(field) = mech_solution(incInfo) case(FIELD_THERMAL_ID) @@ -411,9 +387,9 @@ program DAMASK_grid case(FIELD_DAMAGE_ID) solres(field) = grid_damage_spectral_solution(timeinc) end select - + if (.not. solres(field)%converged) exit ! no solution found - + enddo stagIter = stagIter + 1 stagIterate = stagIter < stagItMax & @@ -447,38 +423,38 @@ program DAMASK_grid if (worldrank == 0) close(statUnit) call quit(0) ! quit endif - + enddo subStepLooping - + cutBackLevel = max(0, cutBackLevel - 1) ! try half number of subincs next inc - + if (all(solres(:)%converged)) then print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' converged' else print'(/,a,i0,a)', ' increment ', totalIncsCounter, ' NOT converged' endif; flush(IO_STDOUT) - - if (mod(inc,loadCases(currentLoadCase)%outputFrequency) == 0) then ! at output frequency + + if (mod(inc,loadCases(l)%outputFrequency) == 0) then ! at output frequency print'(1/,a)', ' ... writing results to file ......................................' flush(IO_STDOUT) call CPFEM_results(totalIncsCounter,time) endif - if (mod(inc,loadCases(currentLoadCase)%restartFrequency) == 0) then + if (mod(inc,loadCases(l)%restartFrequency) == 0) then call mech_restartWrite call CPFEM_restartWrite endif endif skipping - + enddo incLooping - + enddo loadCaseLooping - - + + !-------------------------------------------------------------------------------------------------- ! report summary of whole calculation print'(/,a)', ' ###########################################################################' if (worldrank == 0) close(statUnit) - + call quit(0) ! no complains ;) - + end program DAMASK_grid diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 11d278219..77047a317 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -82,15 +82,15 @@ module spectral_utilities end type tSolutionState type, public :: tBoundaryCondition !< set of parameters defining a boundary condition - real(pReal), dimension(3,3) :: values = 0.0_pReal - logical, dimension(3,3) :: mask = .false. - character(len=pStringLen) :: myType = 'None' + real(pReal), dimension(3,3) :: values = 0.0_pReal + logical, dimension(3,3) :: mask = .false. + character(len=:), allocatable :: myType end type tBoundaryCondition type, public :: tLoadCase type(rotation) :: rot !< rotation of BC type(tBoundaryCondition) :: stress, & !< stress BC - deformation !< deformation BC (dot_F or L) + deformation !< deformation BC (dot_F, F, or L) real(pReal) :: time !< length of increment integer :: incs, & !< number of increments outputfrequency, & !< frequency of result writes From 4c0fa69dae2e565f2aa0a82fd3672226ebe26a7d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 21 Oct 2020 19:40:36 +0200 Subject: [PATCH 879/958] avoid problems with MPIE\\damask_user name --- .gitlab-ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f1e67a115..c7827ff52 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -108,7 +108,7 @@ Pytest_python: stage: python script: - cd $DAMASKROOT/python - - pytest + - pytest --basetemp=/tmp/test_$CI_PIPELINE_ID except: - master - release @@ -194,7 +194,7 @@ grid_mech_compile_Intel: - cp -r grid_mech_compile grid_mech_compile_Intel - grid_mech_compile_Intel/test.py - cd pytest - - pytest -k 'compile and grid' + - pytest -k 'compile and grid' --basetemp=/tmp/test_intel_grid_$CI_PIPELINE_ID except: - master - release @@ -206,7 +206,7 @@ Compile_FEM_Intel: - cp -r FEM_compile FEM_compile_Intel - FEM_compile_Intel/test.py - cd pytest - - pytest -k 'compile and mesh' + - pytest -k 'compile and mesh' --basetemp=/tmp/test_intel_mesh_$CI_PIPELINE_ID except: - master - release @@ -218,7 +218,7 @@ grid_mech_compile_GNU: - cp -r grid_mech_compile grid_mech_compile_GNU - grid_mech_compile_GNU/test.py - cd pytest - - pytest -k 'compile and grid' + - pytest -k 'compile and grid' --basetemp=/tmp/test_gnu_grid_$CI_PIPELINE_ID except: - master - release @@ -230,7 +230,7 @@ Compile_FEM_GNU: - cp -r FEM_compile FEM_compile_GNU - FEM_compile_GNU/test.py - cd pytest - - pytest -k 'compile and mesh' + - pytest -k 'compile and mesh' --basetemp=/tmp/test_gnu_mesh_$CI_PIPELINE_ID except: - master - release From c7040ff22cd639ecd3795bed0904b65522e1d2d5 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 21 Oct 2020 20:48:42 +0200 Subject: [PATCH 880/958] follow yammlint rules and make it readable for humans --- .../SpectralMethod/Polycrystal/tensionX.yaml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/examples/SpectralMethod/Polycrystal/tensionX.yaml b/examples/SpectralMethod/Polycrystal/tensionX.yaml index 5c82d0eec..6e86fdcf2 100644 --- a/examples/SpectralMethod/Polycrystal/tensionX.yaml +++ b/examples/SpectralMethod/Polycrystal/tensionX.yaml @@ -1,14 +1,24 @@ +--- + step: - mech: - dot_F: [1.0e-3,0,0, 0,x,0, 0,0,x] - P: [ x,x,x, x,0,x, x,x,0] + dot_F: [1.0e-3, 0, 0, + 0, x, 0, + 0, 0, x] + P: [x, x, x, + x, 0, x, + x, x, 0] discretization: t: 10 N: 40 f_out: 4 - mech: - dot_F: [1.0e-3,0,0, 0,x,0, 0,0,x] - P: [ x,x,x, x,0,x, x,x,0] + dot_F: [1.0e-3, 0, 0, + 0, x, 0, + 0, 0, x] + P: [x, x, x, + x, 0, x, + x, x, 0] discretization: t: 60 N: 60 From 8c2b7de743b0dac0622607e92b52384e111f3de2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 21 Oct 2020 21:04:17 +0200 Subject: [PATCH 881/958] better directory structure --- .gitlab-ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c7827ff52..7d8b1acd1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -108,7 +108,7 @@ Pytest_python: stage: python script: - cd $DAMASKROOT/python - - pytest --basetemp=/tmp/test_$CI_PIPELINE_ID + - pytest --basetemp=/tmp/${CI_PIPELINE_ID}/python except: - master - release @@ -194,7 +194,7 @@ grid_mech_compile_Intel: - cp -r grid_mech_compile grid_mech_compile_Intel - grid_mech_compile_Intel/test.py - cd pytest - - pytest -k 'compile and grid' --basetemp=/tmp/test_intel_grid_$CI_PIPELINE_ID + - pytest -k 'compile and grid' --basetemp=/tmp/${CI_PIPELINE_ID}/compile_grid_Intel except: - master - release @@ -206,7 +206,7 @@ Compile_FEM_Intel: - cp -r FEM_compile FEM_compile_Intel - FEM_compile_Intel/test.py - cd pytest - - pytest -k 'compile and mesh' --basetemp=/tmp/test_intel_mesh_$CI_PIPELINE_ID + - pytest -k 'compile and mesh' --basetemp=/tmp/${CI_PIPELINE_ID}/compile_mesh_Intel except: - master - release @@ -218,7 +218,7 @@ grid_mech_compile_GNU: - cp -r grid_mech_compile grid_mech_compile_GNU - grid_mech_compile_GNU/test.py - cd pytest - - pytest -k 'compile and grid' --basetemp=/tmp/test_gnu_grid_$CI_PIPELINE_ID + - pytest -k 'compile and grid' --basetemp=/tmp/${CI_PIPELINE_ID}/compile_grid_GNU except: - master - release @@ -230,7 +230,7 @@ Compile_FEM_GNU: - cp -r FEM_compile FEM_compile_GNU - FEM_compile_GNU/test.py - cd pytest - - pytest -k 'compile and mesh' --basetemp=/tmp/test_gnu_mesh_$CI_PIPELINE_ID + - pytest -k 'compile and mesh' --basetemp=/tmp/${CI_PIPELINE_ID}/compile_mesh_GNU except: - master - release @@ -252,7 +252,7 @@ Pytest_grid: script: - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel - cd pytest - - pytest -m 'not compile' + - pytest -m 'not compile' --basetemp=/tmp/${CI_PIPELINE_ID}/fortran except: - master - release From 1c13737935fc9ba69cc9d0d1eaa3880a4f653071 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 21 Oct 2020 21:12:55 +0200 Subject: [PATCH 882/958] better readable --- examples/SpectralMethod/Polycrystal/shearXY.yaml | 5 +++-- src/grid/DAMASK_grid.f90 | 11 +++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/SpectralMethod/Polycrystal/shearXY.yaml b/examples/SpectralMethod/Polycrystal/shearXY.yaml index ec714f971..39966d181 100644 --- a/examples/SpectralMethod/Polycrystal/shearXY.yaml +++ b/examples/SpectralMethod/Polycrystal/shearXY.yaml @@ -1,7 +1,8 @@ step: - mech: - dot_F: [0, 0, 0, 1e-3, 0, 0, 0, 0, 0] - P: [x, x, x, x, x, x, x, x, x] + dot_F: [0, 0, 0, + 1e-3, 0, 0, + 0, 0, 0] discretization: t: 60 N: 120 diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 7adfadd34..4b8302def 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -53,20 +53,19 @@ program DAMASK_grid i, j, m, field, & errorID = 0, & cutBackLevel = 0, & !< cut back level \f$ t = \frac{t_{inc}}{2^l} \f$ - stepFraction = 0 !< fraction of current time interval - integer :: & + stepFraction = 0, & !< fraction of current time interval l = 0, & !< current load case inc, & !< current increment in current load case totalIncsCounter = 0, & !< total # of increments statUnit = 0, & !< file unit for statistics output stagIter, & - nActiveFields = 0 + nActiveFields = 0, & + maxCutBack, & !< max number of cut backs + stagItMax !< max number of field level staggered iterations character(len=pStringLen) :: & incInfo, & loadcase_string - integer :: & - maxCutBack, & !< max number of cut backs - stagItMax !< max number of field level staggered iterations + type(tLoadCase), allocatable, dimension(:) :: loadCases !< array of all load cases type(tSolutionState), allocatable, dimension(:) :: solres procedure(grid_mech_spectral_basic_init), pointer :: & From 58d6691338f6b860c44185c8c7ab4ef26a1a9f4f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 22 Oct 2020 00:13:40 +0200 Subject: [PATCH 883/958] pytest does not create directories recursively --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7d8b1acd1..17728632d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -99,6 +99,7 @@ checkout: - git submodule update --init - source env/DAMASK.sh - make processing + - mkdir /tmp/$CI_PIPELINE_ID except: - master - release From 5eee0d74f4f9de913f8c18356e192cdd5ddde053 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 22 Oct 2020 01:49:04 +0200 Subject: [PATCH 884/958] forgot to update --- examples/SpectralMethod/Polycrystal/shearZX.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/SpectralMethod/Polycrystal/shearZX.yaml b/examples/SpectralMethod/Polycrystal/shearZX.yaml index 473a82fc7..4395ecf17 100644 --- a/examples/SpectralMethod/Polycrystal/shearZX.yaml +++ b/examples/SpectralMethod/Polycrystal/shearZX.yaml @@ -1,7 +1,9 @@ +--- step: - mech: - dot_F: [0, 0, 1e-3, 0, 0, 0, 0, 0, 0] - P: [x, x, x, x, x, x, x, x, x] + dot_F: [0, 0, 1e-3, + 0, 0, 0, + 0, 0, 0] discretization: t: 60 N: 120 From 995f56f69fb83ff76dda1a0357396f318feb4846 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 22 Oct 2020 11:28:26 +0200 Subject: [PATCH 885/958] [skip ci] updated version information after successful test of v3.0.0-alpha-553-g5eee0d74f --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index c7934861f..64636c48f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-523-gf4b5d5f24 +v3.0.0-alpha-553-g5eee0d74f From bd67296e8d476d3a310b3bb2f70379c9d0a9dfb5 Mon Sep 17 00:00:00 2001 From: Vitesh Shah Date: Thu, 22 Oct 2020 11:48:06 +0200 Subject: [PATCH 886/958] MARC_VERSION as MSCVERSION --- installation/mods_MarcMentat/apply_DAMASK_modifications.py | 6 +++--- python/damask/_environment.py | 2 +- python/damask/solver/_marc.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/installation/mods_MarcMentat/apply_DAMASK_modifications.py b/installation/mods_MarcMentat/apply_DAMASK_modifications.py index 38a6078b3..ef0001074 100755 --- a/installation/mods_MarcMentat/apply_DAMASK_modifications.py +++ b/installation/mods_MarcMentat/apply_DAMASK_modifications.py @@ -7,7 +7,7 @@ from pathlib import Path import damask -marc_version = float(damask.environment.options['MARC_VERSION']) +marc_version = float(damask.environment.options['MSCVERSION']) if int(marc_version) == marc_version: marc_version = int(marc_version) msc_root = Path(damask.environment.options['MSC_ROOT']) @@ -15,7 +15,7 @@ damask_root = damask.environment.root_dir parser = argparse.ArgumentParser( description='Apply DAMASK modification to MSC.Marc/Mentat', - epilog = f'MSC_ROOT={msc_root} and MARC_VERSION={marc_version} (from {damask_root}/env/CONFIG)') + epilog = f'MSC_ROOT={msc_root} and MSCVERSION={marc_version} (from {damask_root}/env/CONFIG)') parser.add_argument('--editor', dest='editor', metavar='string', default='vi', help='Name of the editor for MSC.Mentat (executable)') @@ -23,7 +23,7 @@ parser.add_argument('--editor', dest='editor', metavar='string', default='vi', def copy_and_replace(in_file,dst): with open(in_file) as f: content = f.read() - content = content.replace('%INSTALLDIR%',msc_root) + content = content.replace('%INSTALLDIR%',str(msc_root)) content = content.replace('%VERSION%',str(marc_version)) content = content.replace('%EDITOR%', parser.parse_args().editor) with open(dst/Path(in_file).name,'w') as f: diff --git a/python/damask/_environment.py b/python/damask/_environment.py index d4b7abe51..d3629de31 100644 --- a/python/damask/_environment.py +++ b/python/damask/_environment.py @@ -32,7 +32,7 @@ class Environment: options = {} for item in ['DAMASK_NUM_THREADS', 'MSC_ROOT', - 'MARC_VERSION', + 'MSCVERSION', ]: options[item] = os.environ[item] if item in os.environ else None diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index 12e36f7ed..29e7fe671 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -8,7 +8,7 @@ from .. import environment class Marc: """Wrapper to run DAMASK with MSCMarc.""" - def __init__(self,version=environment.options['MARC_VERSION']): + def __init__(self,version=environment.options['MSCVERSION']): """ Create a Marc solver object. From a4fe71531933be767b37a60f9b337f3c5b7f22d9 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Fri, 23 Oct 2020 15:33:01 +0200 Subject: [PATCH 887/958] removed unnecessary variables --- src/crystallite.f90 | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index dc6b9f7da..05c409baa 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -315,7 +315,6 @@ function crystallite_stress() c, & !< counter in integration point component loop i, & !< counter in integration point loop e, & !< counter in element loop - startIP, endIP, & s logical, dimension(homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: todo !ToDo: need to set some values to false for different Ngrains real(pReal), dimension(:,:,:,:,:), allocatable :: & @@ -356,17 +355,8 @@ function crystallite_stress() enddo elementLooping1 !$OMP END PARALLEL DO - singleRun: if (FEsolving_execELem(1) == FEsolving_execElem(2) .and. & - FEsolving_execIP (1) == FEsolving_execIP (2)) then - startIP = FEsolving_execIP(1) - endIP = startIP - else singleRun - startIP = 1 - endIP = discretization_nIP - endif singleRun - NiterationCrystallite = 0 - cutbackLooping: do while (any(todo(:,startIP:endIP,FEsolving_execELem(1):FEsolving_execElem(2)))) + cutbackLooping: do while (any(todo(:,FEsolving_execIP(1):FEsolving_execIP(2),FEsolving_execELem(1):FEsolving_execElem(2)))) NiterationCrystallite = NiterationCrystallite + 1 #ifdef DEBUG From 209367df0e83e508e3a1e010ba3e41dc542a8af0 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Fri, 23 Oct 2020 15:41:51 +0200 Subject: [PATCH 888/958] save one inversion --- src/crystallite.f90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 05c409baa..82c485625 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -418,9 +418,9 @@ function crystallite_stress() crystallite_subF(1:3,1:3,c,i,e) = crystallite_subF0(1:3,1:3,c,i,e) & + crystallite_subStep(c,i,e) *( crystallite_partitionedF (1:3,1:3,c,i,e) & -crystallite_partitionedF0(1:3,1:3,c,i,e)) - crystallite_Fe(1:3,1:3,c,i,e) = matmul(matmul(crystallite_subF(1:3,1:3,c,i,e), & - math_inv33(crystallite_Fp(1:3,1:3,c,i,e))), & - math_inv33(crystallite_Fi(1:3,1:3,c,i,e))) + crystallite_Fe(1:3,1:3,c,i,e) = matmul(crystallite_subF(1:3,1:3,c,i,e), & + math_inv33(matmul(crystallite_Fi(1:3,1:3,c,i,e), & + crystallite_Fp(1:3,1:3,c,i,e)))) crystallite_subdt(c,i,e) = crystallite_subStep(c,i,e) * crystallite_dt(c,i,e) crystallite_converged(c,i,e) = .false. call integrateState(c,i,e) From a6f6166fa96f261b403bb7904d153f8d07454f52 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Fri, 23 Oct 2020 16:11:33 +0200 Subject: [PATCH 889/958] is set in CPFEM (doing only single IPs in commercial FEM) --- src/marc/discretization_marc.f90 | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index 9696572e5..c462da94b 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -12,7 +12,6 @@ module discretization_marc use DAMASK_interface use IO use config - use FEsolving use element use discretization use geometry_plastic_nonlocal @@ -89,9 +88,6 @@ subroutine discretization_marc_init if (debug_e < 1 .or. debug_e > nElems) call IO_error(602,ext_msg='element') if (debug_i < 1 .or. debug_i > elem%nIPs) call IO_error(602,ext_msg='IP') - FEsolving_execElem = [1,nElems] - FEsolving_execIP = [1,elem%nIPs] - allocate(cellNodeDefinition(elem%nNodes-1)) allocate(connectivity_cell(elem%NcellNodesPerCell,elem%nIPs,nElems)) call buildCells(connectivity_cell,cellNodeDefinition,& From e675cec6326dce6ef202f179057568cb2f924062 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Fri, 23 Oct 2020 17:36:41 +0200 Subject: [PATCH 890/958] improved indentation --- src/crystallite.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 82c485625..d12b361d0 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -420,7 +420,7 @@ function crystallite_stress() -crystallite_partitionedF0(1:3,1:3,c,i,e)) crystallite_Fe(1:3,1:3,c,i,e) = matmul(crystallite_subF(1:3,1:3,c,i,e), & math_inv33(matmul(crystallite_Fi(1:3,1:3,c,i,e), & - crystallite_Fp(1:3,1:3,c,i,e)))) + crystallite_Fp(1:3,1:3,c,i,e)))) crystallite_subdt(c,i,e) = crystallite_subStep(c,i,e) * crystallite_dt(c,i,e) crystallite_converged(c,i,e) = .false. call integrateState(c,i,e) From 3dbc07a26bbcc026d84687c3c68760e199ebb158 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 23 Oct 2020 18:43:52 +0200 Subject: [PATCH 891/958] better error description --- src/IO.f90 | 2 +- src/YAML_types.f90 | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index a95938a7f..260bd94b8 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -491,7 +491,7 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) case (705) msg = 'Unsupported feature' case (706) - msg = 'Access by incorrect node type' + msg = 'Type mismatch in YAML data node' case (707) msg = 'Abrupt end of file' case (708) diff --git a/src/YAML_types.f90 b/src/YAML_types.f90 index 09a2d0592..f11faf54b 100644 --- a/src/YAML_types.f90 +++ b/src/YAML_types.f90 @@ -311,7 +311,7 @@ function tNode_asScalar(self) result(scalar) class is(tScalar) scalar => self class default - call IO_error(706,ext_msg='tNode_asScalar') + call IO_error(706,ext_msg='Expected "scalar"') end select end function tNode_asScalar @@ -329,7 +329,7 @@ function tNode_asList(self) result(list) class is(tList) list => self class default - call IO_error(706,ext_msg='tNode_asList') + call IO_error(706,ext_msg='Expected "list"') end select end function tNode_asList @@ -347,7 +347,7 @@ function tNode_asDict(self) result(dict) class is(tDict) dict => self class default - call IO_error(706,ext_msg='tNode_asDict') + call IO_error(706,ext_msg='Expected "dict"') end select end function tNode_asDict @@ -641,7 +641,7 @@ function tNode_contains(self,k) result(exists) endif enddo else - call IO_error(706,ext_msg='tNode_contains') + call IO_error(706,ext_msg='Expected "list" or "dict"') endif end function tNode_contains From 68017e49b2e143c2a8c850600412569ebd42ee56 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 24 Oct 2020 12:45:21 +0200 Subject: [PATCH 892/958] consistent name --- src/constitutive.f90 | 4 ++-- src/constitutive_damage.f90 | 2 +- src/constitutive_plastic_nonlocal.f90 | 4 ++-- src/constitutive_thermal.f90 | 2 +- src/crystallite.f90 | 22 ++++++++++---------- src/damage_local.f90 | 4 ++-- src/damage_nonlocal.f90 | 12 +++++------ src/homogenization.f90 | 30 +++++++++++++-------------- src/homogenization_mech_RGC.f90 | 2 +- src/homogenization_mech_isostrain.f90 | 2 +- src/homogenization_mech_none.f90 | 2 +- src/material.f90 | 12 +++++------ src/thermal_adiabatic.f90 | 12 +++++------ src/thermal_conduction.f90 | 16 +++++++------- 14 files changed, 63 insertions(+), 63 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 64d3f2d31..9bbb9d285 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -127,7 +127,7 @@ module constitutive instance,of,ip,el) real(pReal), dimension(3,3), intent(in) :: & Mp !< MandelStress - real(pReal), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem), intent(in) :: & + real(pReal), dimension(3,3,homogenization_maxNconstituent,discretization_nIP,discretization_nElem), intent(in) :: & F, & !< deformation gradient Fp !< plastic deformation gradient real(pReal), intent(in) :: & @@ -753,7 +753,7 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el of real(pReal), intent(in) :: & subdt !< timestep - real(pReal), intent(in), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: & + real(pReal), intent(in), dimension(3,3,homogenization_maxNconstituent,discretization_nIP,discretization_nElem) :: & FArray, & !< elastic deformation gradient FpArray !< plastic deformation gradient real(pReal), intent(in), dimension(3,3) :: & diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 index 5572192f7..39b8534fe 100644 --- a/src/constitutive_damage.f90 +++ b/src/constitutive_damage.f90 @@ -184,7 +184,7 @@ module subroutine constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi phiDot = 0.0_pReal dPhiDot_dPhi = 0.0_pReal - do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) + do grain = 1, homogenization_Nconstituent(material_homogenizationAt(el)) phase = material_phaseAt(grain,el) constituent = material_phasememberAt(grain,ip,el) do source = 1, phase_Nsources(phase) diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 8238f17c9..86b7df859 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -976,7 +976,7 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & real(pReal), dimension(3,3), intent(in) :: & Mp !< MandelStress - real(pReal), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem), intent(in) :: & + real(pReal), dimension(3,3,homogenization_maxNconstituent,discretization_nIP,discretization_nElem), intent(in) :: & F, & !< elastic deformation gradient Fp !< plastic deformation gradient real(pReal), intent(in) :: & @@ -1176,7 +1176,7 @@ end subroutine plastic_nonlocal_dotState !--------------------------------------------------------------------------------------------------- function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) - real(pReal), dimension(3,3,homogenization_maxNgrains,discretization_nIP,discretization_nElem), intent(in) :: & + real(pReal), dimension(3,3,homogenization_maxNconstituent,discretization_nIP,discretization_nElem), intent(in) :: & F, & !< elastic deformation gradient Fp !< plastic deformation gradient real(pReal), intent(in) :: & diff --git a/src/constitutive_thermal.f90 b/src/constitutive_thermal.f90 index 3aefb99a7..944e5d72d 100644 --- a/src/constitutive_thermal.f90 +++ b/src/constitutive_thermal.f90 @@ -95,7 +95,7 @@ module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, homog = material_homogenizationAt(el) instance = thermal_typeInstance(homog) - do grain = 1, homogenization_Ngrains(homog) + do grain = 1, homogenization_Nconstituent(homog) phase = material_phaseAt(grain,el) constituent = material_phasememberAt(grain,ip,el) do source = 1, phase_Nsources(phase) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index dc6b9f7da..1d850abaf 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -162,7 +162,7 @@ subroutine crystallite_init debugCrystallite%ip = config_debug%get_asInt('integrationpoint', defaultVal=1) debugCrystallite%grain = config_debug%get_asInt('grain', defaultVal=1) - cMax = homogenization_maxNgrains + cMax = homogenization_maxNconstituent iMax = discretization_nIP eMax = discretization_nElem @@ -253,7 +253,7 @@ subroutine crystallite_init ! initialize !$OMP PARALLEL DO PRIVATE(i,c) do e = FEsolving_execElem(1),FEsolving_execElem(2) - do i = FEsolving_execIP(1), FEsolving_execIP(2); do c = 1, homogenization_Ngrains(material_homogenizationAt(e)) + do i = FEsolving_execIP(1), FEsolving_execIP(2); do c = 1, homogenization_Nconstituent(material_homogenizationAt(e)) crystallite_Fp0(1:3,1:3,c,i,e) = material_orientation0(c,i,e)%asMatrix() ! Fp reflects initial orientation (see 10.1016/j.actamat.2006.01.005) crystallite_Fp0(1:3,1:3,c,i,e) = crystallite_Fp0(1:3,1:3,c,i,e) & / math_det33(crystallite_Fp0(1:3,1:3,c,i,e))**(1.0_pReal/3.0_pReal) @@ -279,7 +279,7 @@ subroutine crystallite_init !$OMP PARALLEL DO do e = FEsolving_execElem(1),FEsolving_execElem(2) do i = FEsolving_execIP(1),FEsolving_execIP(2) - do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) + do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) call constitutive_dependentState(crystallite_partitionedF0(1:3,1:3,c,i,e), & crystallite_partitionedFp0(1:3,1:3,c,i,e), & c,i,e) ! update dependent state variables to be consistent with basic states @@ -317,7 +317,7 @@ function crystallite_stress() e, & !< counter in element loop startIP, endIP, & s - logical, dimension(homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: todo !ToDo: need to set some values to false for different Ngrains + logical, dimension(homogenization_maxNconstituent,discretization_nIP,discretization_nElem) :: todo !ToDo: need to set some values to false for different Ngrains real(pReal), dimension(:,:,:,:,:), allocatable :: & subLp0,& !< plastic velocity grad at start of crystallite inc subLi0 !< intermediate velocity grad at start of crystallite inc @@ -335,7 +335,7 @@ function crystallite_stress() crystallite_subStep = 0.0_pReal !$OMP PARALLEL DO elementLooping1: do e = FEsolving_execElem(1),FEsolving_execElem(2) - do i = FEsolving_execIP(1),FEsolving_execIP(2); do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) + do i = FEsolving_execIP(1),FEsolving_execIP(2); do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) homogenizationRequestsCalculation: if (crystallite_requested(c,i,e)) then plasticState (material_phaseAt(c,e))%subState0( :,material_phaseMemberAt(c,i,e)) = & plasticState (material_phaseAt(c,e))%partitionedState0(:,material_phaseMemberAt(c,i,e)) @@ -376,7 +376,7 @@ function crystallite_stress() !$OMP PARALLEL DO PRIVATE(formerSubStep) elementLooping3: do e = FEsolving_execElem(1),FEsolving_execElem(2) do i = FEsolving_execIP(1),FEsolving_execIP(2) - do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) + do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) !-------------------------------------------------------------------------------------------------- ! wind forward if (crystallite_converged(c,i,e)) then @@ -472,7 +472,7 @@ subroutine crystallite_initializeRestorationPoints(i,e) c, & !< constituent number s - do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) + do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) crystallite_partitionedFp0(1:3,1:3,c,i,e) = crystallite_Fp0(1:3,1:3,c,i,e) crystallite_partitionedLp0(1:3,1:3,c,i,e) = crystallite_Lp0(1:3,1:3,c,i,e) crystallite_partitionedFi0(1:3,1:3,c,i,e) = crystallite_Fi0(1:3,1:3,c,i,e) @@ -503,7 +503,7 @@ subroutine crystallite_windForward(i,e) c, & !< constituent number s - do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) + do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) crystallite_partitionedF0 (1:3,1:3,c,i,e) = crystallite_partitionedF(1:3,1:3,c,i,e) crystallite_partitionedFp0(1:3,1:3,c,i,e) = crystallite_Fp (1:3,1:3,c,i,e) crystallite_partitionedLp0(1:3,1:3,c,i,e) = crystallite_Lp (1:3,1:3,c,i,e) @@ -536,7 +536,7 @@ subroutine crystallite_restore(i,e,includeL) c, & !< constituent number s - do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) + do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) if (includeL) then crystallite_Lp(1:3,1:3,c,i,e) = crystallite_partitionedLp0(1:3,1:3,c,i,e) crystallite_Li(1:3,1:3,c,i,e) = crystallite_partitionedLi0(1:3,1:3,c,i,e) @@ -697,7 +697,7 @@ subroutine crystallite_orientations !$OMP PARALLEL DO do e = FEsolving_execElem(1),FEsolving_execElem(2) do i = FEsolving_execIP(1),FEsolving_execIP(2) - do c = 1,homogenization_Ngrains(material_homogenizationAt(e)) + do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) call crystallite_orientation(c,i,e)%fromMatrix(transpose(math_rotationalPart(crystallite_Fe(1:3,1:3,c,i,e)))) enddo; enddo; enddo !$OMP END PARALLEL DO @@ -848,7 +848,7 @@ subroutine crystallite_results type(rotation), allocatable, dimension(:) :: select_rotations integer :: e,i,c,j - allocate(select_rotations(count(material_phaseAt==instance)*homogenization_maxNgrains*discretization_nIP)) + allocate(select_rotations(count(material_phaseAt==instance)*homogenization_maxNconstituent*discretization_nIP)) j=0 do e = 1, size(material_phaseAt,2) diff --git a/src/damage_local.f90 b/src/damage_local.f90 index af2532184..d36139a99 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -143,8 +143,8 @@ subroutine damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el call constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) - phiDot = phiDot/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) - dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) + phiDot = phiDot/real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) + dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) end subroutine damage_local_getSourceAndItsTangent diff --git a/src/damage_nonlocal.f90 b/src/damage_nonlocal.f90 index f31b10242..f68d778aa 100644 --- a/src/damage_nonlocal.f90 +++ b/src/damage_nonlocal.f90 @@ -110,8 +110,8 @@ subroutine damage_nonlocal_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, dPhiDot_dPhi = 0.0_pReal call constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) - phiDot = phiDot/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) - dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) + phiDot = phiDot/real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) + dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) end subroutine damage_nonlocal_getSourceAndItsTangent @@ -132,13 +132,13 @@ function damage_nonlocal_getDiffusion(ip,el) homog = material_homogenizationAt(el) damage_nonlocal_getDiffusion = 0.0_pReal - do grain = 1, homogenization_Ngrains(homog) + do grain = 1, homogenization_Nconstituent(homog) damage_nonlocal_getDiffusion = damage_nonlocal_getDiffusion + & crystallite_push33ToRef(grain,ip,el,lattice_D(1:3,1:3,material_phaseAt(grain,el))) enddo damage_nonlocal_getDiffusion = & - num%charLength**2*damage_nonlocal_getDiffusion/real(homogenization_Ngrains(homog),pReal) + num%charLength**2*damage_nonlocal_getDiffusion/real(homogenization_Nconstituent(homog),pReal) end function damage_nonlocal_getDiffusion @@ -156,12 +156,12 @@ real(pReal) function damage_nonlocal_getMobility(ip,el) damage_nonlocal_getMobility = 0.0_pReal - do ipc = 1, homogenization_Ngrains(material_homogenizationAt(el)) + do ipc = 1, homogenization_Nconstituent(material_homogenizationAt(el)) damage_nonlocal_getMobility = damage_nonlocal_getMobility + lattice_M(material_phaseAt(ipc,el)) enddo damage_nonlocal_getMobility = damage_nonlocal_getMobility/& - real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) + real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) end function damage_nonlocal_getMobility diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 5aa10fcf3..75f93dc08 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -158,7 +158,7 @@ subroutine homogenization_init debugHomog%grain = config_debug%get_asInt('grain',defaultVal = 1) if (debugHomog%grain < 1 & - .or. debugHomog%grain > homogenization_Ngrains(material_homogenizationAt(debugHomog%element))) & + .or. debugHomog%grain > homogenization_Nconstituent(material_homogenizationAt(debugHomog%element))) & call IO_error(602,ext_msg='constituent', el=debugHomog%element, g=debugHomog%grain) @@ -257,7 +257,7 @@ subroutine materialpoint_stressAndItsTangent(dt) !$OMP PARALLEL DO elementLooping1: do e = FEsolving_execElem(1),FEsolving_execElem(2) - myNgrains = homogenization_Ngrains(material_homogenizationAt(e)) + myNgrains = homogenization_Nconstituent(material_homogenizationAt(e)) IpLooping1: do i = FEsolving_execIP(1),FEsolving_execIP(2) if (converged(i,e)) then @@ -327,7 +327,7 @@ subroutine materialpoint_stressAndItsTangent(dt) ! deformation partitioning !$OMP PARALLEL DO PRIVATE(myNgrains) elementLooping2: do e = FEsolving_execElem(1),FEsolving_execElem(2) - myNgrains = homogenization_Ngrains(material_homogenizationAt(e)) + myNgrains = homogenization_Nconstituent(material_homogenizationAt(e)) IpLooping2: do i = FEsolving_execIP(1),FEsolving_execIP(2) if(requested(i,e) .and. .not. doneAndHappy(1,i,e)) then ! requested but not yet done call partitionDeformation(materialpoint_F0(1:3,1:3,i,e) & @@ -408,12 +408,12 @@ subroutine partitionDeformation(subF,ip,el) case (HOMOGENIZATION_ISOSTRAIN_ID) chosenHomogenization call mech_isostrain_partitionDeformation(& - crystallite_partitionedF(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & + crystallite_partitionedF(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & subF) case (HOMOGENIZATION_RGC_ID) chosenHomogenization call mech_RGC_partitionDeformation(& - crystallite_partitionedF(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & + crystallite_partitionedF(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & subF,& ip, & el) @@ -437,19 +437,19 @@ function updateState(subdt,subF,ip,el) el !< element number integer :: c logical, dimension(2) :: updateState - real(pReal) :: dPdFs(3,3,3,3,homogenization_Ngrains(material_homogenizationAt(el))) + real(pReal) :: dPdFs(3,3,3,3,homogenization_Nconstituent(material_homogenizationAt(el))) updateState = .true. chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) case (HOMOGENIZATION_RGC_ID) chosenHomogenization - do c=1,homogenization_Ngrains(material_homogenizationAt(el)) + do c=1,homogenization_Nconstituent(material_homogenizationAt(el)) dPdFs(:,:,:,:,c) = crystallite_stressTangent(c,ip,el) enddo updateState = & updateState .and. & - mech_RGC_updateState(crystallite_P(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & - crystallite_partitionedF(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & - crystallite_partitionedF0(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el),& + mech_RGC_updateState(crystallite_P(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & + crystallite_partitionedF(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & + crystallite_partitionedF0(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el),& subF,& subdt, & dPdFs, & @@ -487,7 +487,7 @@ subroutine averageStressAndItsTangent(ip,el) ip, & !< integration point el !< element number integer :: c - real(pReal) :: dPdFs(3,3,3,3,homogenization_Ngrains(material_homogenizationAt(el))) + real(pReal) :: dPdFs(3,3,3,3,homogenization_Nconstituent(material_homogenizationAt(el))) chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) @@ -496,24 +496,24 @@ subroutine averageStressAndItsTangent(ip,el) materialpoint_dPdF(1:3,1:3,1:3,1:3,ip,el) = crystallite_stressTangent(1,ip,el) case (HOMOGENIZATION_ISOSTRAIN_ID) chosenHomogenization - do c = 1, homogenization_Ngrains(material_homogenizationAt(el)) + do c = 1, homogenization_Nconstituent(material_homogenizationAt(el)) dPdFs(:,:,:,:,c) = crystallite_stressTangent(c,ip,el) enddo call mech_isostrain_averageStressAndItsTangent(& materialpoint_P(1:3,1:3,ip,el), & materialpoint_dPdF(1:3,1:3,1:3,1:3,ip,el),& - crystallite_P(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & + crystallite_P(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & dPdFs, & homogenization_typeInstance(material_homogenizationAt(el))) case (HOMOGENIZATION_RGC_ID) chosenHomogenization - do c = 1, homogenization_Ngrains(material_homogenizationAt(el)) + do c = 1, homogenization_Nconstituent(material_homogenizationAt(el)) dPdFs(:,:,:,:,c) = crystallite_stressTangent(c,ip,el) enddo call mech_RGC_averageStressAndItsTangent(& materialpoint_P(1:3,1:3,ip,el), & materialpoint_dPdF(1:3,1:3,1:3,1:3,ip,el),& - crystallite_P(1:3,1:3,1:homogenization_Ngrains(material_homogenizationAt(el)),ip,el), & + crystallite_P(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & dPdFs, & homogenization_typeInstance(material_homogenizationAt(el))) end select chosenHomogenization diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index ea5bffd28..6bbbbbaa9 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -164,7 +164,7 @@ module subroutine mech_RGC_init(num_homogMech) #endif prm%N_constituents = homogMech%get_asInts('cluster_size',requiredSize=3) - if (homogenization_Ngrains(h) /= product(prm%N_constituents)) & + if (homogenization_Nconstituent(h) /= product(prm%N_constituents)) & call IO_error(211,ext_msg='N_constituents (mech_RGC)') prm%xi_alpha = homogMech%get_asFloat('xi_alpha') diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index f064578c8..5a03e1204 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -51,7 +51,7 @@ module subroutine mech_isostrain_init homogMech => homog%get('mech') associate(prm => param(homogenization_typeInstance(h))) - prm%N_constituents = homogenization_Ngrains(h) + prm%N_constituents = homogenization_Nconstituent(h) select case(homogMech%get_asString('mapping',defaultVal = 'sum')) case ('sum') prm%mapping = parallel_ID diff --git a/src/homogenization_mech_none.f90 b/src/homogenization_mech_none.f90 index a58147c45..d64154dcc 100644 --- a/src/homogenization_mech_none.f90 +++ b/src/homogenization_mech_none.f90 @@ -26,7 +26,7 @@ module subroutine mech_none_init do h = 1, size(homogenization_type) if(homogenization_type(h) /= HOMOGENIZATION_NONE_ID) cycle - if(homogenization_Ngrains(h) /= 1) & + if(homogenization_Nconstituent(h) /= 1) & call IO_error(211,ext_msg='N_constituents (mech_none)') NofMyHomog = count(material_homogenizationAt == h) diff --git a/src/material.f90 b/src/material.f90 index 11dfeb42e..ae6630f00 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -67,10 +67,10 @@ module material material_Nhomogenization !< number of homogenizations integer, public, protected :: & - homogenization_maxNgrains !< max number of grains in any USED homogenization + homogenization_maxNconstituent !< max number of grains in any USED homogenization integer, dimension(:), allocatable, public, protected :: & - homogenization_Ngrains, & !< number of grains in each homogenization + homogenization_Nconstituent, & !< number of grains in each homogenization homogenization_typeInstance, & !< instance of particular type of each homogenization thermal_typeInstance, & !< instance of particular type of each thermal transport damage_typeInstance !< instance of particular type of each nonlocal damage @@ -187,7 +187,7 @@ subroutine material_init(restart) print*, 'Homogenization parsed' - if(homogenization_maxNgrains > size(material_phaseAt,1)) call IO_error(148) + if(homogenization_maxNconstituent > size(material_phaseAt,1)) call IO_error(148) allocate(homogState (material_Nhomogenization)) allocate(thermalState (material_Nhomogenization)) @@ -249,14 +249,14 @@ subroutine material_parseHomogenization allocate(homogenization_typeInstance(material_Nhomogenization), source=0) allocate(thermal_typeInstance(material_Nhomogenization), source=0) allocate(damage_typeInstance(material_Nhomogenization), source=0) - allocate(homogenization_Ngrains(material_Nhomogenization), source=0) + allocate(homogenization_Nconstituent(material_Nhomogenization), source=0) allocate(thermal_initialT(material_Nhomogenization), source=300.0_pReal) allocate(damage_initialPhi(material_Nhomogenization), source=1.0_pReal) do h=1, material_Nhomogenization homog => material_homogenization%get(h) homogMech => homog%get('mech') - homogenization_Ngrains(h) = homog%get_asInt('N_constituents') + homogenization_Nconstituent(h) = homog%get_asInt('N_constituents') select case (homogMech%get_asString('type')) case('none') homogenization_type(h) = HOMOGENIZATION_NONE_ID @@ -308,7 +308,7 @@ subroutine material_parseHomogenization damage_typeInstance(h) = count(damage_type (1:h) == damage_type (h)) enddo - homogenization_maxNgrains = maxval(homogenization_Ngrains) + homogenization_maxNconstituent = maxval(homogenization_Nconstituent) end subroutine material_parseHomogenization diff --git a/src/thermal_adiabatic.f90 b/src/thermal_adiabatic.f90 index 63deb3cd5..00b73862a 100644 --- a/src/thermal_adiabatic.f90 +++ b/src/thermal_adiabatic.f90 @@ -145,8 +145,8 @@ subroutine thermal_adiabatic_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el) homog = material_homogenizationAt(el) call constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S, crystallite_Lp, ip, el) - Tdot = Tdot/real(homogenization_Ngrains(homog),pReal) - dTdot_dT = dTdot_dT/real(homogenization_Ngrains(homog),pReal) + Tdot = Tdot/real(homogenization_Nconstituent(homog),pReal) + dTdot_dT = dTdot_dT/real(homogenization_Nconstituent(homog),pReal) end subroutine thermal_adiabatic_getSourceAndItsTangent @@ -167,13 +167,13 @@ function thermal_adiabatic_getSpecificHeat(ip,el) thermal_adiabatic_getSpecificHeat = 0.0_pReal - do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) + do grain = 1, homogenization_Nconstituent(material_homogenizationAt(el)) thermal_adiabatic_getSpecificHeat = thermal_adiabatic_getSpecificHeat & + lattice_c_p(material_phaseAt(grain,el)) enddo thermal_adiabatic_getSpecificHeat = thermal_adiabatic_getSpecificHeat & - / real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) + / real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) end function thermal_adiabatic_getSpecificHeat @@ -193,13 +193,13 @@ function thermal_adiabatic_getMassDensity(ip,el) thermal_adiabatic_getMassDensity = 0.0_pReal - do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) + do grain = 1, homogenization_Nconstituent(material_homogenizationAt(el)) thermal_adiabatic_getMassDensity = thermal_adiabatic_getMassDensity & + lattice_rho(material_phaseAt(grain,el)) enddo thermal_adiabatic_getMassDensity = thermal_adiabatic_getMassDensity & - / real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) + / real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) end function thermal_adiabatic_getMassDensity diff --git a/src/thermal_conduction.f90 b/src/thermal_conduction.f90 index 69ce8025e..f1f444c28 100644 --- a/src/thermal_conduction.f90 +++ b/src/thermal_conduction.f90 @@ -104,8 +104,8 @@ subroutine thermal_conduction_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el) homog = material_homogenizationAt(el) call constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S,crystallite_Lp ,ip, el) - Tdot = Tdot/real(homogenization_Ngrains(homog),pReal) - dTdot_dT = dTdot_dT/real(homogenization_Ngrains(homog),pReal) + Tdot = Tdot/real(homogenization_Nconstituent(homog),pReal) + dTdot_dT = dTdot_dT/real(homogenization_Nconstituent(homog),pReal) end subroutine thermal_conduction_getSourceAndItsTangent @@ -125,13 +125,13 @@ function thermal_conduction_getConductivity(ip,el) thermal_conduction_getConductivity = 0.0_pReal - do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) + do grain = 1, homogenization_Nconstituent(material_homogenizationAt(el)) thermal_conduction_getConductivity = thermal_conduction_getConductivity + & crystallite_push33ToRef(grain,ip,el,lattice_K(:,:,material_phaseAt(grain,el))) enddo thermal_conduction_getConductivity = thermal_conduction_getConductivity & - / real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) + / real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) end function thermal_conduction_getConductivity @@ -151,13 +151,13 @@ function thermal_conduction_getSpecificHeat(ip,el) thermal_conduction_getSpecificHeat = 0.0_pReal - do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) + do grain = 1, homogenization_Nconstituent(material_homogenizationAt(el)) thermal_conduction_getSpecificHeat = thermal_conduction_getSpecificHeat & + lattice_c_p(material_phaseAt(grain,el)) enddo thermal_conduction_getSpecificHeat = thermal_conduction_getSpecificHeat & - / real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) + / real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) end function thermal_conduction_getSpecificHeat @@ -178,13 +178,13 @@ function thermal_conduction_getMassDensity(ip,el) thermal_conduction_getMassDensity = 0.0_pReal - do grain = 1, homogenization_Ngrains(material_homogenizationAt(el)) + do grain = 1, homogenization_Nconstituent(material_homogenizationAt(el)) thermal_conduction_getMassDensity = thermal_conduction_getMassDensity & + lattice_rho(material_phaseAt(grain,el)) enddo thermal_conduction_getMassDensity = thermal_conduction_getMassDensity & - / real(homogenization_Ngrains(material_homogenizationAt(el)),pReal) + / real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) end function thermal_conduction_getMassDensity From 5f2512e4d5e5c44820646fb394c8fdbe66654b9b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 24 Oct 2020 14:23:00 +0200 Subject: [PATCH 893/958] prepare for more sensible separation of functionality --- src/material.f90 | 56 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/src/material.f90 b/src/material.f90 index ae6630f00..891d786a3 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -67,10 +67,10 @@ module material material_Nhomogenization !< number of homogenizations integer, public, protected :: & - homogenization_maxNconstituent !< max number of grains in any USED homogenization + homogenization_maxNconstituent !< max number of grains in any USED homogenization integer, dimension(:), allocatable, public, protected :: & - homogenization_Nconstituent, & !< number of grains in each homogenization + homogenization_Nconstituent, & !< number of grains in each homogenization homogenization_typeInstance, & !< instance of particular type of each homogenization thermal_typeInstance, & !< instance of particular type of each thermal transport damage_typeInstance !< instance of particular type of each nonlocal damage @@ -85,7 +85,7 @@ module material material_homogenizationMemberAt !< position of the element within its homogenization instance integer, dimension(:,:), allocatable, public, protected :: & ! (constituent,elem) material_phaseAt !< phase ID of each element - integer, dimension(:,:,:), allocatable, public, protected :: & ! (constituent,elem) + integer, dimension(:,:,:), allocatable, public, protected :: & ! (constituent,IP,elem) material_phaseMemberAt !< position of the element within its phase instance type(tState), allocatable, dimension(:), public :: & @@ -183,6 +183,7 @@ subroutine material_init(restart) call material_parseMaterial print*, 'Material parsed' + call material_parseNconstituent call material_parseHomogenization print*, 'Homogenization parsed' @@ -225,6 +226,34 @@ subroutine material_init(restart) end subroutine material_init + +!-------------------------------------------------------------------------------------------------- +!> @brief Determine Nconstituent in homogenization +!-------------------------------------------------------------------------------------------------- +subroutine material_parseNconstituent + + class(tNode), pointer :: & + material_homogenization, & + homog + + integer :: h + + material_homogenization => config_material%get('homogenization') + material_Nhomogenization = material_homogenization%length + + allocate(homogenization_Nconstituent(material_Nhomogenization)) + + + do h=1, material_Nhomogenization + homog => material_homogenization%get(h) + homogenization_Nconstituent(h) = homog%get_asInt('N_constituents') + enddo + homogenization_maxNconstituent = maxval(homogenization_Nconstituent) + + +end subroutine material_parseNconstituent + + !-------------------------------------------------------------------------------------------------- !> @brief parses the homogenization part from the material configuration ! ToDo: This should be done in homogenization @@ -241,7 +270,6 @@ subroutine material_parseHomogenization integer :: h material_homogenization => config_material%get('homogenization') - material_Nhomogenization = material_homogenization%length allocate(homogenization_type(material_Nhomogenization), source=HOMOGENIZATION_undefined_ID) allocate(thermal_type(material_Nhomogenization), source=THERMAL_isothermal_ID) @@ -249,7 +277,6 @@ subroutine material_parseHomogenization allocate(homogenization_typeInstance(material_Nhomogenization), source=0) allocate(thermal_typeInstance(material_Nhomogenization), source=0) allocate(damage_typeInstance(material_Nhomogenization), source=0) - allocate(homogenization_Nconstituent(material_Nhomogenization), source=0) allocate(thermal_initialT(material_Nhomogenization), source=300.0_pReal) allocate(damage_initialPhi(material_Nhomogenization), source=1.0_pReal) @@ -308,9 +335,6 @@ subroutine material_parseHomogenization damage_typeInstance(h) = count(damage_type (1:h) == damage_type (h)) enddo - homogenization_maxNconstituent = maxval(homogenization_Nconstituent) - - end subroutine material_parseHomogenization @@ -350,14 +374,14 @@ subroutine material_parseMaterial material_Nconstituents(m) = constituents%length enddo maxNconstituents = maxval(material_Nconstituents) - + allocate(material_homogenizationAt(discretization_nElem),source=0) allocate(material_homogenizationMemberAt(discretization_nIP,discretization_nElem),source=0) allocate(material_phaseAt(maxNconstituents,discretization_nElem),source=0) allocate(material_phaseMemberAt(maxNconstituents,discretization_nIP,discretization_nElem),source=0) allocate(material_orientation0(maxNconstituents,discretization_nIP,discretization_nElem)) - + phases => config_material%get('phase') allocate(counterPhase(phases%length),source=0) homogenizations => config_material%get('homogenization') @@ -366,29 +390,29 @@ subroutine material_parseMaterial do e = 1, discretization_nElem material => materials%get(discretization_materialAt(e)) constituents => material%get('constituents') - + material_homogenizationAt(e) = homogenizations%getIndex(material%get_asString('homogenization')) do i = 1, discretization_nIP counterHomogenization(material_homogenizationAt(e)) = counterHomogenization(material_homogenizationAt(e)) + 1 material_homogenizationMemberAt(i,e) = counterHomogenization(material_homogenizationAt(e)) enddo - + frac = 0.0_pReal do c = 1, constituents%length constituent => constituents%get(c) frac = frac + constituent%get_asFloat('fraction') - + material_phaseAt(c,e) = phases%getIndex(constituent%get_asString('phase')) do i = 1, discretization_nIP counterPhase(material_phaseAt(c,e)) = counterPhase(material_phaseAt(c,e)) + 1 material_phaseMemberAt(c,i,e) = counterPhase(material_phaseAt(c,e)) - + call material_orientation0(c,i,e)%fromQuaternion(constituent%get_asFloats('O',requiredSize=4)) enddo - + enddo if (dNeq(frac,1.0_pReal)) call IO_error(153,ext_msg='constituent') - + enddo end subroutine material_parseMaterial From 5e4815cddfdaf0f1974b05d60302863aae1870c3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 24 Oct 2020 14:48:07 +0200 Subject: [PATCH 894/958] not needed as public variable --- src/material.f90 | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/material.f90 b/src/material.f90 index 891d786a3..f16c10362 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -52,7 +52,7 @@ module material HOMOGENIZATION_RGC_ID end enum - character(len=pStringLen), public, protected, allocatable, dimension(:) :: & + character(len=pStringLen), public, protected, allocatable, dimension(:) :: & material_name_phase, & !< name of each phase material_name_homogenization !< name of each homogenization @@ -96,11 +96,6 @@ module material type(Rotation), dimension(:,:,:), allocatable, public, protected :: & material_orientation0 !< initial orientation of each grain,IP,element - integer, dimension(:), allocatable, private :: & - material_Nconstituents !< number of constituents in each material - - - ! BEGIN DEPRECATED integer, dimension(:,:), allocatable, private, target :: mappingHomogenizationConst !< mapping from material points to offset in constant state/field ! END DEPRECATED @@ -363,14 +358,23 @@ subroutine material_parseMaterial c, & maxNconstituents + integer, dimension(:), allocatable :: & + material_Nconstituents !< number of constituents in each material + materials => config_material%get('material') if(any(discretization_materialAt > materials%length)) & call IO_error(155,ext_msg='More materials requested than found in material.yaml') + phases => config_material%get('phase') + allocate(counterPhase(phases%length),source=0) + homogenizations => config_material%get('homogenization') + allocate(counterHomogenization(homogenizations%length),source=0) + allocate(material_Nconstituents(materials%length),source=0) + do m = 1, materials%length material => materials%get(m) - constituents => material%get('constituents') + constituents => material%get('constituents') material_Nconstituents(m) = constituents%length enddo maxNconstituents = maxval(material_Nconstituents) @@ -382,10 +386,7 @@ subroutine material_parseMaterial allocate(material_orientation0(maxNconstituents,discretization_nIP,discretization_nElem)) - phases => config_material%get('phase') - allocate(counterPhase(phases%length),source=0) - homogenizations => config_material%get('homogenization') - allocate(counterHomogenization(homogenizations%length),source=0) + do e = 1, discretization_nElem material => materials%get(discretization_materialAt(e)) @@ -407,7 +408,7 @@ subroutine material_parseMaterial counterPhase(material_phaseAt(c,e)) = counterPhase(material_phaseAt(c,e)) + 1 material_phaseMemberAt(c,i,e) = counterPhase(material_phaseAt(c,e)) - call material_orientation0(c,i,e)%fromQuaternion(constituent%get_asFloats('O',requiredSize=4)) + call material_orientation0(c,i,e)%fromQuaternion(constituent%get_asFloats('O',requiredSize=4)) ! should be done in crystallite enddo enddo From a1ab526456be14804f20159f0e638f110fde9bb6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 24 Oct 2020 14:56:03 +0200 Subject: [PATCH 895/958] avoid global variables --- src/crystallite.f90 | 6 ++--- src/damage_none.f90 | 2 +- src/grid/DAMASK_grid.f90 | 2 +- src/material.f90 | 50 +++++++++++++++++--------------------- src/thermal_adiabatic.f90 | 2 +- src/thermal_conduction.f90 | 2 +- src/thermal_isothermal.f90 | 2 +- 7 files changed, 30 insertions(+), 36 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 1d850abaf..b71bb37f0 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -1571,7 +1571,7 @@ subroutine crystallite_restartWrite call HDF5_closeGroup(groupHandle) groupHandle = HDF5_addGroup(fileHandle,'materialpoint') - do i = 1, material_Nhomogenization + do i = 1, size(material_name_homogenization) write(datasetName,'(i0,a)') i,'_omega_homogenization' call HDF5_write(groupHandle,homogState(i)%state,datasetName) enddo @@ -1612,7 +1612,7 @@ subroutine crystallite_restartRead call HDF5_closeGroup(groupHandle) groupHandle = HDF5_openGroup(fileHandle,'materialpoint') - do i = 1, material_Nhomogenization + do i = 1,size(material_name_homogenization) write(datasetName,'(i0,a)') i,'_omega_homogenization' call HDF5_read(groupHandle,homogState(i)%state0,datasetName) enddo @@ -1645,7 +1645,7 @@ subroutine crystallite_forward do j = 1,phase_Nsources(i) sourceState(i)%p(j)%state0 = sourceState(i)%p(j)%state enddo; enddo - do i = 1, material_Nhomogenization + do i = 1,size(material_name_homogenization) homogState (i)%state0 = homogState (i)%state thermalState(i)%state0 = thermalState(i)%state damageState (i)%state0 = damageState (i)%state diff --git a/src/damage_none.f90 b/src/damage_none.f90 index 4e01998bc..52100707e 100644 --- a/src/damage_none.f90 +++ b/src/damage_none.f90 @@ -20,7 +20,7 @@ subroutine damage_none_init print'(/,a)', ' <<<+- damage_none init -+>>>'; flush(6) - do h = 1, material_Nhomogenization + do h = 1, size(material_name_homogenization) if (damage_type(h) /= DAMAGE_NONE_ID) cycle NofMyHomog = count(material_homogenizationAt == h) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 4b8302def..1cb3acf16 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -210,7 +210,7 @@ program DAMASK_grid if(.not. step_discretization%contains('t')) call IO_error(error_ID=837,ext_msg = 't missing') if(.not. step_discretization%contains('N')) call IO_error(error_ID=837,ext_msg = 'N missing') loadCases(l)%time = step_discretization%get_asFloat('t') - loadCases(l)%incs = step_discretization%get_asFloat('N') + loadCases(l)%incs = step_discretization%get_asInt ('N') loadCases(l)%logscale = step_discretization%get_asBool ('log_timestep', defaultVal= .false.) loadCases(l)%outputfrequency = step_discretization%get_asInt ('f_out', defaultVal=1) loadCases(l)%restartfrequency = step_discretization%get_asInt ('f_restart', defaultVal=huge(0)) diff --git a/src/material.f90 b/src/material.f90 index f16c10362..d65adf7c7 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -63,9 +63,6 @@ module material integer(kind(HOMOGENIZATION_undefined_ID)), dimension(:), allocatable, public, protected :: & homogenization_type !< type of each homogenization - integer, public, protected :: & - material_Nhomogenization !< number of homogenizations - integer, public, protected :: & homogenization_maxNconstituent !< max number of grains in any USED homogenization @@ -83,7 +80,7 @@ module material material_homogenizationAt !< homogenization ID of each element integer, dimension(:,:), allocatable, public, target :: & ! (ip,elem) ToDo: ugly target for mapping hack material_homogenizationMemberAt !< position of the element within its homogenization instance - integer, dimension(:,:), allocatable, public, protected :: & ! (constituent,elem) + integer, dimension(:,:), allocatable, public, protected :: & ! (constituent,elem) material_phaseAt !< phase ID of each element integer, dimension(:,:,:), allocatable, public, protected :: & ! (constituent,IP,elem) material_phaseMemberAt !< position of the element within its phase instance @@ -185,17 +182,17 @@ subroutine material_init(restart) if(homogenization_maxNconstituent > size(material_phaseAt,1)) call IO_error(148) - allocate(homogState (material_Nhomogenization)) - allocate(thermalState (material_Nhomogenization)) - allocate(damageState (material_Nhomogenization)) + allocate(homogState (size(material_name_homogenization))) + allocate(thermalState (size(material_name_homogenization))) + allocate(damageState (size(material_name_homogenization))) - allocate(thermalMapping (material_Nhomogenization)) - allocate(damageMapping (material_Nhomogenization)) + allocate(thermalMapping (size(material_name_homogenization))) + allocate(damageMapping (size(material_name_homogenization))) - allocate(temperature (material_Nhomogenization)) - allocate(damage (material_Nhomogenization)) + allocate(temperature (size(material_name_homogenization))) + allocate(damage (size(material_name_homogenization))) - allocate(temperatureRate (material_Nhomogenization)) + allocate(temperatureRate (size(material_name_homogenization))) if (.not. restart) then @@ -210,7 +207,7 @@ subroutine material_init(restart) allocate(mappingHomogenizationConst( discretization_nIP,discretization_nElem),source=1) ! hack needed to initialize field values used during constitutive initialization - do myHomog = 1,material_Nhomogenization + do myHomog = 1, size(material_name_homogenization) thermalMapping (myHomog)%p => mappingHomogenizationConst damageMapping (myHomog)%p => mappingHomogenizationConst allocate(temperature (myHomog)%p(1), source=thermal_initialT(myHomog)) @@ -234,12 +231,11 @@ subroutine material_parseNconstituent integer :: h material_homogenization => config_material%get('homogenization') - material_Nhomogenization = material_homogenization%length - allocate(homogenization_Nconstituent(material_Nhomogenization)) + allocate(homogenization_Nconstituent(size(material_name_homogenization))) - do h=1, material_Nhomogenization + do h=1, size(material_name_homogenization) homog => material_homogenization%get(h) homogenization_Nconstituent(h) = homog%get_asInt('N_constituents') enddo @@ -266,19 +262,18 @@ subroutine material_parseHomogenization material_homogenization => config_material%get('homogenization') - allocate(homogenization_type(material_Nhomogenization), source=HOMOGENIZATION_undefined_ID) - allocate(thermal_type(material_Nhomogenization), source=THERMAL_isothermal_ID) - allocate(damage_type (material_Nhomogenization), source=DAMAGE_none_ID) - allocate(homogenization_typeInstance(material_Nhomogenization), source=0) - allocate(thermal_typeInstance(material_Nhomogenization), source=0) - allocate(damage_typeInstance(material_Nhomogenization), source=0) - allocate(thermal_initialT(material_Nhomogenization), source=300.0_pReal) - allocate(damage_initialPhi(material_Nhomogenization), source=1.0_pReal) + allocate(homogenization_type(size(material_name_homogenization)), source=HOMOGENIZATION_undefined_ID) + allocate(thermal_type(size(material_name_homogenization)), source=THERMAL_isothermal_ID) + allocate(damage_type (size(material_name_homogenization)), source=DAMAGE_none_ID) + allocate(homogenization_typeInstance(size(material_name_homogenization)), source=0) + allocate(thermal_typeInstance(size(material_name_homogenization)), source=0) + allocate(damage_typeInstance(size(material_name_homogenization)), source=0) + allocate(thermal_initialT(size(material_name_homogenization)), source=300.0_pReal) + allocate(damage_initialPhi(size(material_name_homogenization)), source=1.0_pReal) - do h=1, material_Nhomogenization + do h=1, size(material_name_homogenization) homog => material_homogenization%get(h) homogMech => homog%get('mech') - homogenization_Nconstituent(h) = homog%get_asInt('N_constituents') select case (homogMech%get_asString('type')) case('none') homogenization_type(h) = HOMOGENIZATION_NONE_ID @@ -324,7 +319,7 @@ subroutine material_parseHomogenization endif enddo - do h=1, material_Nhomogenization + do h=1, size(material_name_homogenization) homogenization_typeInstance(h) = count(homogenization_type(1:h) == homogenization_type(h)) thermal_typeInstance(h) = count(thermal_type (1:h) == thermal_type (h)) damage_typeInstance(h) = count(damage_type (1:h) == damage_type (h)) @@ -387,7 +382,6 @@ subroutine material_parseMaterial allocate(material_orientation0(maxNconstituents,discretization_nIP,discretization_nElem)) - do e = 1, discretization_nElem material => materials%get(discretization_materialAt(e)) constituents => material%get('constituents') diff --git a/src/thermal_adiabatic.f90 b/src/thermal_adiabatic.f90 index 00b73862a..07dbdebff 100644 --- a/src/thermal_adiabatic.f90 +++ b/src/thermal_adiabatic.f90 @@ -54,7 +54,7 @@ subroutine thermal_adiabatic_init allocate(param(maxNinstance)) material_homogenization => config_material%get('homogenization') - do h = 1, material_Nhomogenization + do h = 1, size(material_name_homogenization) if (thermal_type(h) /= THERMAL_adiabatic_ID) cycle homog => material_homogenization%get(h) homogThermal => homog%get('thermal') diff --git a/src/thermal_conduction.f90 b/src/thermal_conduction.f90 index f1f444c28..616965df0 100644 --- a/src/thermal_conduction.f90 +++ b/src/thermal_conduction.f90 @@ -53,7 +53,7 @@ subroutine thermal_conduction_init allocate(param(Ninstance)) material_homogenization => config_material%get('homogenization') - do h = 1, material_Nhomogenization + do h = 1, size(material_name_homogenization) if (thermal_type(h) /= THERMAL_conduction_ID) cycle homog => material_homogenization%get(h) homogThermal => homog%get('thermal') diff --git a/src/thermal_isothermal.f90 b/src/thermal_isothermal.f90 index 2dda358ac..703a9aaac 100644 --- a/src/thermal_isothermal.f90 +++ b/src/thermal_isothermal.f90 @@ -20,7 +20,7 @@ subroutine thermal_isothermal_init print'(/,a)', ' <<<+- thermal_isothermal init -+>>>'; flush(6) - do h = 1, material_Nhomogenization + do h = 1, size(material_name_homogenization) if (thermal_type(h) /= THERMAL_isothermal_ID) cycle NofMyHomog = count(material_homogenizationAt == h) From d765a17f0a125788bc7147a5148b70af1f41e933 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 24 Oct 2020 16:30:48 +0200 Subject: [PATCH 896/958] use function to parse material.yaml --- src/material.f90 | 111 ++++++++++++++++++----------------------------- 1 file changed, 42 insertions(+), 69 deletions(-) diff --git a/src/material.f90 b/src/material.f90 index d65adf7c7..7197506f4 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -149,39 +149,18 @@ contains subroutine material_init(restart) logical, intent(in) :: restart - - integer :: ph, myHomog - class(tNode), pointer :: & - phases, & - material_homogenization - character(len=pStringLen) :: sectionName + integer :: myHomog print'(/,a)', ' <<<+- material init -+>>>'; flush(IO_STDOUT) - phases => config_material%get('phase') - allocate(material_name_phase(phases%length)) - do ph = 1, phases%length - write(sectionName,'(i0,a)') ph,'_' - material_name_phase(ph) = trim(adjustl(sectionName))//phases%getKey(ph) !ToDO: No reason to do. Update damage tests - enddo - - material_homogenization => config_material%get('homogenization') - allocate(material_name_homogenization(material_homogenization%length)) - do myHomog = 1, material_homogenization%length - write(sectionName,'(i0,a)') myHomog,'_' - material_name_homogenization(myHomog) = trim(adjustl(sectionName))//material_homogenization%getKey(myHomog) - enddo call material_parseMaterial print*, 'Material parsed' - call material_parseNconstituent call material_parseHomogenization print*, 'Homogenization parsed' - if(homogenization_maxNconstituent > size(material_phaseAt,1)) call IO_error(148) - allocate(homogState (size(material_name_homogenization))) allocate(thermalState (size(material_name_homogenization))) allocate(damageState (size(material_name_homogenization))) @@ -219,32 +198,6 @@ subroutine material_init(restart) end subroutine material_init -!-------------------------------------------------------------------------------------------------- -!> @brief Determine Nconstituent in homogenization -!-------------------------------------------------------------------------------------------------- -subroutine material_parseNconstituent - - class(tNode), pointer :: & - material_homogenization, & - homog - - integer :: h - - material_homogenization => config_material%get('homogenization') - - allocate(homogenization_Nconstituent(size(material_name_homogenization))) - - - do h=1, size(material_name_homogenization) - homog => material_homogenization%get(h) - homogenization_Nconstituent(h) = homog%get_asInt('N_constituents') - enddo - homogenization_maxNconstituent = maxval(homogenization_Nconstituent) - - -end subroutine material_parseNconstituent - - !-------------------------------------------------------------------------------------------------- !> @brief parses the homogenization part from the material configuration ! ToDo: This should be done in homogenization @@ -338,49 +291,69 @@ subroutine material_parseMaterial constituents, & !> list of constituents constituent, & !> constituent definition phases, & - homogenizations + homogenizations, & + homogenization integer, dimension(:), allocatable :: & counterPhase, & counterHomogenization + character(len=pStringLen) :: sectionName + real(pReal) :: & frac integer :: & - e, & - i, & - m, & - c, & - maxNconstituents + e, i, c, & + p, h, & + m + + materials => config_material%get('material') + phases => config_material%get('phase') + homogenizations => config_material%get('homogenization') - integer, dimension(:), allocatable :: & - material_Nconstituents !< number of constituents in each material - materials => config_material%get('material') if(any(discretization_materialAt > materials%length)) & call IO_error(155,ext_msg='More materials requested than found in material.yaml') - phases => config_material%get('phase') - allocate(counterPhase(phases%length),source=0) - homogenizations => config_material%get('homogenization') - allocate(counterHomogenization(homogenizations%length),source=0) +!-------------------------------------------------------------------------------------------------- +! determine name of phases/homogenizations + allocate(material_name_phase(phases%length)) + do p = 1, phases%length + write(sectionName,'(i0,a)') p,'_' + material_name_phase(p) = trim(adjustl(sectionName))//phases%getKey(p) !ToDo: remove prefix + enddo - allocate(material_Nconstituents(materials%length),source=0) + allocate(material_name_homogenization(homogenizations%length)) + do h = 1, homogenizations%length + write(sectionName,'(i0,a)') h,'_' + material_name_homogenization(h) = trim(adjustl(sectionName))//homogenizations%getKey(h) !ToDo: remove prefix + enddo +!-------------------------------------------------------------------------------------------------- +! sanity check: Matching # of constituents do m = 1, materials%length material => materials%get(m) - constituents => material%get('constituents') - material_Nconstituents(m) = constituents%length + constituents => material%get('constituents') + homogenization => homogenizations%get(material%get_asString('homogenization')) + if(constituents%length /= homogenization%get_asInt('N_constituents')) call IO_error(148) enddo - maxNconstituents = maxval(material_Nconstituents) + + allocate(homogenization_Nconstituent(size(material_name_homogenization))) + do h=1, size(material_name_homogenization) + homogenization => homogenizations%get(h) + homogenization_Nconstituent(h) = homogenization%get_asInt('N_constituents') + enddo + homogenization_maxNconstituent = maxval(homogenization_Nconstituent) + + allocate(counterPhase(phases%length),source=0) + allocate(counterHomogenization(homogenizations%length),source=0) allocate(material_homogenizationAt(discretization_nElem),source=0) allocate(material_homogenizationMemberAt(discretization_nIP,discretization_nElem),source=0) - allocate(material_phaseAt(maxNconstituents,discretization_nElem),source=0) - allocate(material_phaseMemberAt(maxNconstituents,discretization_nIP,discretization_nElem),source=0) - - allocate(material_orientation0(maxNconstituents,discretization_nIP,discretization_nElem)) + allocate(material_phaseAt(homogenization_maxNconstituent,discretization_nElem),source=0) + allocate(material_phaseMemberAt(homogenization_maxNconstituent,discretization_nIP,discretization_nElem),source=0) + allocate(material_orientation0(homogenization_maxNconstituent,discretization_nIP,discretization_nElem)) do e = 1, discretization_nElem material => materials%get(discretization_materialAt(e)) From e464f11412bbc5d8bd3d7dc548adfac649b59a08 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 24 Oct 2020 17:26:24 +0200 Subject: [PATCH 897/958] polishing --- src/YAML_types.f90 | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/YAML_types.f90 b/src/YAML_types.f90 index 09a2d0592..cd4be5c7e 100644 --- a/src/YAML_types.f90 +++ b/src/YAML_types.f90 @@ -583,9 +583,9 @@ function tNode_get_byIndex_asStrings(self,i) result(nodeAsStrings) end function tNode_get_byIndex_asStrings -!------------------------------------------------------------------------------------------------------- +!-------------------------------------------------------------------------------------------------- !> @brief Returns the key in a dictionary as a string -!------------------------------------------------------------------------------------------------------- +!-------------------------------------------------------------------------------------------------- function tNode_getKey_byIndex(self,i) result(key) class(tNode), intent(in), target :: self @@ -1169,17 +1169,21 @@ function tList_asStrings(self) type(tScalar), pointer :: scalar len_max = 0 - allocate(character(len=pStringLen) :: tList_asStrings(self%length)) + item => self%first + do i = 1, self%length + scalar => item%node%asScalar() + len_max = max(len_max, len_trim(scalar%asString())) + item => item%next + enddo + + allocate(character(len=len_max) :: tList_asStrings(self%length)) item => self%first do i = 1, self%length scalar => item%node%asScalar() tList_asStrings(i) = scalar%asString() - len_max = max(len_max, len_trim(tList_asStrings(i))) item => item%next enddo - !ToDo: trim to len_max - end function tList_asStrings From 9119254210a9e186d8eb132627196978980ccbb6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 24 Oct 2020 17:26:42 +0200 Subject: [PATCH 898/958] materialpoint => homogenization especially as prefix for global data (clear name spaces) --- src/CPFEM.f90 | 14 +++---- src/grid/grid_mech_FEM.f90 | 30 +++++++-------- src/grid/grid_mech_spectral_basic.f90 | 4 +- src/grid/grid_mech_spectral_polarisation.f90 | 6 +-- src/grid/spectral_utilities.f90 | 20 +++++----- src/homogenization.f90 | 40 ++++++++++---------- src/material.f90 | 2 +- src/mesh/FEM_utilities.f90 | 2 +- src/mesh/mesh_mech_FEM.f90 | 20 +++++----- src/results.f90 | 24 ++++++------ 10 files changed, 81 insertions(+), 81 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index fa774de66..a55b9e4ce 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -184,8 +184,8 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS temperature(material_homogenizationAt(elCP))%p(thermalMapping(material_homogenizationAt(elCP))%p(ip,elCP)) = & temperature_inp end select chosenThermal1 - materialpoint_F0(1:3,1:3,ip,elCP) = ffn - materialpoint_F(1:3,1:3,ip,elCP) = ffn1 + homogenization_F0(1:3,1:3,ip,elCP) = ffn + homogenization_F(1:3,1:3,ip,elCP) = ffn1 if (iand(mode, CPFEM_CALCRESULTS) /= 0_pInt) then @@ -212,17 +212,17 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS else terminalIllness ! translate from P to sigma - Kirchhoff = matmul(materialpoint_P(1:3,1:3,ip,elCP), transpose(materialpoint_F(1:3,1:3,ip,elCP))) - J_inverse = 1.0_pReal / math_det33(materialpoint_F(1:3,1:3,ip,elCP)) + Kirchhoff = matmul(homogenization_P(1:3,1:3,ip,elCP), transpose(homogenization_F(1:3,1:3,ip,elCP))) + J_inverse = 1.0_pReal / math_det33(homogenization_F(1:3,1:3,ip,elCP)) CPFEM_cs(1:6,ip,elCP) = math_sym33to6(J_inverse * Kirchhoff,weighted=.false.) ! translate from dP/dF to dCS/dE H = 0.0_pReal do i=1,3; do j=1,3; do k=1,3; do l=1,3; do m=1,3; do n=1,3 H(i,j,k,l) = H(i,j,k,l) & - + materialpoint_F(j,m,ip,elCP) * materialpoint_F(l,n,ip,elCP) & - * materialpoint_dPdF(i,m,k,n,ip,elCP) & - - math_delta(j,l) * materialpoint_F(i,m,ip,elCP) * materialpoint_P(k,m,ip,elCP) & + + homogenization_F(j,m,ip,elCP) * homogenization_F(l,n,ip,elCP) & + * homogenization_dPdF(i,m,k,n,ip,elCP) & + - math_delta(j,l) * homogenization_F(i,m,ip,elCP) * homogenization_P(k,m,ip,elCP) & + 0.5_pReal * ( Kirchhoff(j,l)*math_delta(i,k) + Kirchhoff(i,k)*math_delta(j,l) & + Kirchhoff(j,k)*math_delta(i,l) + Kirchhoff(i,l)*math_delta(j,k)) enddo; enddo; enddo; enddo; enddo; enddo diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index dfbd3f2f3..bf3d7752d 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -236,7 +236,7 @@ subroutine grid_mech_FEM_init F = spread(spread(spread(math_I3,3,grid(1)),4,grid(2)),5,grid3) endif restartRead - materialpoint_F0 = reshape(F_lastInc, [3,3,1,product(grid(1:2))*grid3]) ! set starting condition for materialpoint_stressAndItsTangent + homogenization_F0 = reshape(F_lastInc, [3,3,1,product(grid(1:2))*grid3]) ! set starting condition for materialpoint_stressAndItsTangent call utilities_updateCoords(F) call utilities_constitutiveResponse(P_current,temp33_Real,C_volAvg,devNull, & ! stress field, stress avg, global average of stiffness and (min+max)/2 F, & ! target F @@ -364,7 +364,7 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, F_lastInc = F - materialpoint_F0 = reshape(F, [3,3,1,product(grid(1:2))*grid3]) + homogenization_F0 = reshape(F, [3,3,1,product(grid(1:2))*grid3]) endif !-------------------------------------------------------------------------------------------------- @@ -557,9 +557,9 @@ subroutine formResidual(da_local,x_local, & ii = i-xstart+1; jj = j-ystart+1; kk = k-zstart+1 ele = ele + 1 f_elem = matmul(transpose(BMat),transpose(P_current(1:3,1:3,ii,jj,kk)))*detJ + & - matmul(HGMat,x_elem)*(materialpoint_dPdF(1,1,1,1,1,ele) + & - materialpoint_dPdF(2,2,2,2,1,ele) + & - materialpoint_dPdF(3,3,3,3,1,ele))/3.0_pReal + matmul(HGMat,x_elem)*(homogenization_dPdF(1,1,1,1,1,ele) + & + homogenization_dPdF(2,2,2,2,1,ele) + & + homogenization_dPdF(3,3,3,3,1,ele))/3.0_pReal ctr = 0 do kk = 0, 1; do jj = 0, 1; do ii = 0, 1 ctr = ctr + 1 @@ -636,18 +636,18 @@ subroutine formJacobian(da_local,x_local,Jac_pre,Jac,dummy,ierr) row = col ele = ele + 1 K_ele = 0.0 - K_ele(1 :8 ,1 :8 ) = HGMat*(materialpoint_dPdF(1,1,1,1,1,ele) + & - materialpoint_dPdF(2,2,2,2,1,ele) + & - materialpoint_dPdF(3,3,3,3,1,ele))/3.0_pReal - K_ele(9 :16,9 :16) = HGMat*(materialpoint_dPdF(1,1,1,1,1,ele) + & - materialpoint_dPdF(2,2,2,2,1,ele) + & - materialpoint_dPdF(3,3,3,3,1,ele))/3.0_pReal - K_ele(17:24,17:24) = HGMat*(materialpoint_dPdF(1,1,1,1,1,ele) + & - materialpoint_dPdF(2,2,2,2,1,ele) + & - materialpoint_dPdF(3,3,3,3,1,ele))/3.0_pReal + K_ele(1 :8 ,1 :8 ) = HGMat*(homogenization_dPdF(1,1,1,1,1,ele) + & + homogenization_dPdF(2,2,2,2,1,ele) + & + homogenization_dPdF(3,3,3,3,1,ele))/3.0_pReal + K_ele(9 :16,9 :16) = HGMat*(homogenization_dPdF(1,1,1,1,1,ele) + & + homogenization_dPdF(2,2,2,2,1,ele) + & + homogenization_dPdF(3,3,3,3,1,ele))/3.0_pReal + K_ele(17:24,17:24) = HGMat*(homogenization_dPdF(1,1,1,1,1,ele) + & + homogenization_dPdF(2,2,2,2,1,ele) + & + homogenization_dPdF(3,3,3,3,1,ele))/3.0_pReal K_ele = K_ele + & matmul(transpose(BMatFull), & - matmul(reshape(reshape(materialpoint_dPdF(1:3,1:3,1:3,1:3,1,ele), & + matmul(reshape(reshape(homogenization_dPdF(1:3,1:3,1:3,1:3,1,ele), & shape=[3,3,3,3], order=[2,1,4,3]),shape=[9,9]),BMatFull))*detJ call MatSetValuesStencil(Jac,24,row,24,col,K_ele,ADD_VALUES,ierr) CHKERRQ(ierr) diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index d2f6b40da..ec6c3a540 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -198,7 +198,7 @@ subroutine grid_mech_spectral_basic_init F = reshape(F_lastInc,[9,grid(1),grid(2),grid3]) endif restartRead - materialpoint_F0 = reshape(F_lastInc, [3,3,1,product(grid(1:2))*grid3]) ! set starting condition for materialpoint_stressAndItsTangent + homogenization_F0 = reshape(F_lastInc, [3,3,1,product(grid(1:2))*grid3]) ! set starting condition for materialpoint_stressAndItsTangent call utilities_updateCoords(reshape(F,shape(F_lastInc))) call utilities_constitutiveResponse(P,temp33_Real,C_volAvg,C_minMaxAvg, & ! stress field, stress avg, global average of stiffness and (min+max)/2 reshape(F,shape(F_lastInc)), & ! target F @@ -324,7 +324,7 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo rotation_BC%rotate(F_aimDot,active=.true.)) F_lastInc = reshape(F,[3,3,grid(1),grid(2),grid3]) - materialpoint_F0 = reshape(F, [3,3,1,product(grid(1:2))*grid3]) + homogenization_F0 = reshape(F, [3,3,1,product(grid(1:2))*grid3]) endif !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 3d495ddf0..8f9ea81b3 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -224,7 +224,7 @@ subroutine grid_mech_spectral_polarisation_init F_tau_lastInc = 2.0_pReal*F_lastInc endif restartRead - materialpoint_F0 = reshape(F_lastInc, [3,3,1,product(grid(1:2))*grid3]) ! set starting condition for materialpoint_stressAndItsTangent + homogenization_F0 = reshape(F_lastInc, [3,3,1,product(grid(1:2))*grid3]) ! set starting condition for materialpoint_stressAndItsTangent call utilities_updateCoords(reshape(F,shape(F_lastInc))) call utilities_constitutiveResponse(P,temp33_Real,C_volAvg,C_minMaxAvg, & ! stress field, stress avg, global average of stiffness and (min+max)/2 reshape(F,shape(F_lastInc)), & ! target F @@ -364,7 +364,7 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc F_lastInc = reshape(F, [3,3,grid(1),grid(2),grid3]) F_tau_lastInc = reshape(F_tau,[3,3,grid(1),grid(2),grid3]) - materialpoint_F0 = reshape(F,[3,3,1,product(grid(1:2))*grid3]) + homogenization_F0 = reshape(F,[3,3,1,product(grid(1:2))*grid3]) endif !-------------------------------------------------------------------------------------------------- @@ -606,7 +606,7 @@ subroutine formResidual(in, FandF_tau, & do k = 1, grid3; do j = 1, grid(2); do i = 1, grid(1) e = e + 1 residual_F(1:3,1:3,i,j,k) = & - math_mul3333xx33(math_invSym3333(materialpoint_dPdF(1:3,1:3,1:3,1:3,1,e) + C_scale), & + math_mul3333xx33(math_invSym3333(homogenization_dPdF(1:3,1:3,1:3,1:3,1,e) + C_scale), & residual_F(1:3,1:3,i,j,k) - matmul(F(1:3,1:3,i,j,k), & math_mul3333xx33(C_scale,F_tau(1:3,1:3,i,j,k) - F(1:3,1:3,i,j,k) - math_I3))) & + residual_F_tau(1:3,1:3,i,j,k) diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index 77047a317..fddd1885f 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -802,7 +802,7 @@ end subroutine utilities_fourierTensorDivergence !-------------------------------------------------------------------------------------------------- -!> @brief calculate constitutive response from materialpoint_F0 to F during timeinc +!> @brief calculate constitutive response from homogenization_F0 to F during timeinc !-------------------------------------------------------------------------------------------------- subroutine utilities_constitutiveResponse(P,P_av,C_volAvg,C_minmaxAvg,& F,timeinc,rotation_BC) @@ -824,11 +824,11 @@ subroutine utilities_constitutiveResponse(P,P_av,C_volAvg,C_minmaxAvg,& print'(/,a)', ' ... evaluating constitutive response ......................................' flush(IO_STDOUT) - materialpoint_F = reshape(F,[3,3,1,product(grid(1:2))*grid3]) ! set materialpoint target F to estimated field + homogenization_F = reshape(F,[3,3,1,product(grid(1:2))*grid3]) ! set materialpoint target F to estimated field call materialpoint_stressAndItsTangent(timeinc) ! calculate P field - P = reshape(materialpoint_P, [3,3,grid(1),grid(2),grid3]) + P = reshape(homogenization_P, [3,3,grid(1),grid(2),grid3]) P_av = sum(sum(sum(P,dim=5),dim=4),dim=3) * wgt ! average of P call MPI_Allreduce(MPI_IN_PLACE,P_av,9,MPI_DOUBLE,MPI_SUM,PETSC_COMM_WORLD,ierr) if (debugRotation) & @@ -845,13 +845,13 @@ subroutine utilities_constitutiveResponse(P,P_av,C_volAvg,C_minmaxAvg,& dPdF_min = huge(1.0_pReal) dPdF_norm_min = huge(1.0_pReal) do i = 1, product(grid(1:2))*grid3 - if (dPdF_norm_max < sum(materialpoint_dPdF(1:3,1:3,1:3,1:3,1,i)**2.0_pReal)) then - dPdF_max = materialpoint_dPdF(1:3,1:3,1:3,1:3,1,i) - dPdF_norm_max = sum(materialpoint_dPdF(1:3,1:3,1:3,1:3,1,i)**2.0_pReal) + if (dPdF_norm_max < sum(homogenization_dPdF(1:3,1:3,1:3,1:3,1,i)**2.0_pReal)) then + dPdF_max = homogenization_dPdF(1:3,1:3,1:3,1:3,1,i) + dPdF_norm_max = sum(homogenization_dPdF(1:3,1:3,1:3,1:3,1,i)**2.0_pReal) endif - if (dPdF_norm_min > sum(materialpoint_dPdF(1:3,1:3,1:3,1:3,1,i)**2.0_pReal)) then - dPdF_min = materialpoint_dPdF(1:3,1:3,1:3,1:3,1,i) - dPdF_norm_min = sum(materialpoint_dPdF(1:3,1:3,1:3,1:3,1,i)**2.0_pReal) + if (dPdF_norm_min > sum(homogenization_dPdF(1:3,1:3,1:3,1:3,1,i)**2.0_pReal)) then + dPdF_min = homogenization_dPdF(1:3,1:3,1:3,1:3,1,i) + dPdF_norm_min = sum(homogenization_dPdF(1:3,1:3,1:3,1:3,1,i)**2.0_pReal) endif end do @@ -869,7 +869,7 @@ subroutine utilities_constitutiveResponse(P,P_av,C_volAvg,C_minmaxAvg,& C_minmaxAvg = 0.5_pReal*(dPdF_max + dPdF_min) - C_volAvg = sum(sum(materialpoint_dPdF,dim=6),dim=5) + C_volAvg = sum(sum(homogenization_dPdF,dim=6),dim=5) call MPI_Allreduce(MPI_IN_PLACE,C_volAvg,81,MPI_DOUBLE,MPI_SUM,PETSC_COMM_WORLD,ierr) C_volAvg = C_volAvg * wgt diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 75f93dc08..c717c24fd 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -31,12 +31,12 @@ module homogenization !-------------------------------------------------------------------------------------------------- ! General variables for the homogenization at a material point real(pReal), dimension(:,:,:,:), allocatable, public :: & - materialpoint_F0, & !< def grad of IP at start of FE increment - materialpoint_F !< def grad of IP to be reached at end of FE increment + homogenization_F0, & !< def grad of IP at start of FE increment + homogenization_F !< def grad of IP to be reached at end of FE increment real(pReal), dimension(:,:,:,:), allocatable, public, protected :: & - materialpoint_P !< first P--K stress of IP + homogenization_P !< first P--K stress of IP real(pReal), dimension(:,:,:,:,:,:), allocatable, public, protected :: & - materialpoint_dPdF !< tangent of first P--K stress at IP + homogenization_dPdF !< tangent of first P--K stress at IP type :: tNumerics integer :: & @@ -181,10 +181,10 @@ subroutine homogenization_init !-------------------------------------------------------------------------------------------------- ! allocate and initialize global variables - allocate(materialpoint_dPdF(3,3,3,3,discretization_nIP,discretization_nElem), source=0.0_pReal) - materialpoint_F0 = spread(spread(math_I3,3,discretization_nIP),4,discretization_nElem) ! initialize to identity - materialpoint_F = materialpoint_F0 ! initialize to identity - allocate(materialpoint_P(3,3,discretization_nIP,discretization_nElem), source=0.0_pReal) + allocate(homogenization_dPdF(3,3,3,3,discretization_nIP,discretization_nElem), source=0.0_pReal) + homogenization_F0 = spread(spread(math_I3,3,discretization_nIP),4,discretization_nElem) ! initialize to identity + homogenization_F = homogenization_F0 ! initialize to identity + allocate(homogenization_P(3,3,discretization_nIP,discretization_nElem), source=0.0_pReal) print'(/,a)', ' <<<+- homogenization init -+>>>'; flush(IO_STDOUT) @@ -330,8 +330,8 @@ subroutine materialpoint_stressAndItsTangent(dt) myNgrains = homogenization_Nconstituent(material_homogenizationAt(e)) IpLooping2: do i = FEsolving_execIP(1),FEsolving_execIP(2) if(requested(i,e) .and. .not. doneAndHappy(1,i,e)) then ! requested but not yet done - call partitionDeformation(materialpoint_F0(1:3,1:3,i,e) & - + (materialpoint_F(1:3,1:3,i,e)-materialpoint_F0(1:3,1:3,i,e))& + call partitionDeformation(homogenization_F0(1:3,1:3,i,e) & + + (homogenization_F(1:3,1:3,i,e)-homogenization_F0(1:3,1:3,i,e))& *(subStep(i,e)+subFrac(i,e)), & i,e) crystallite_dt(1:myNgrains,i,e) = dt*subStep(i,e) ! propagate materialpoint dt to grains @@ -357,8 +357,8 @@ subroutine materialpoint_stressAndItsTangent(dt) doneAndHappy(1:2,i,e) = [.true.,.false.] else doneAndHappy(1:2,i,e) = updateState(dt*subStep(i,e), & - materialpoint_F0(1:3,1:3,i,e) & - + (materialpoint_F(1:3,1:3,i,e)-materialpoint_F0(1:3,1:3,i,e)) & + homogenization_F0(1:3,1:3,i,e) & + + (homogenization_F(1:3,1:3,i,e)-homogenization_F0(1:3,1:3,i,e)) & *(subStep(i,e)+subFrac(i,e)), & i,e) converged(i,e) = all(doneAndHappy(1:2,i,e)) ! converged if done and happy @@ -492,16 +492,16 @@ subroutine averageStressAndItsTangent(ip,el) chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) case (HOMOGENIZATION_NONE_ID) chosenHomogenization - materialpoint_P(1:3,1:3,ip,el) = crystallite_P(1:3,1:3,1,ip,el) - materialpoint_dPdF(1:3,1:3,1:3,1:3,ip,el) = crystallite_stressTangent(1,ip,el) + homogenization_P(1:3,1:3,ip,el) = crystallite_P(1:3,1:3,1,ip,el) + homogenization_dPdF(1:3,1:3,1:3,1:3,ip,el) = crystallite_stressTangent(1,ip,el) case (HOMOGENIZATION_ISOSTRAIN_ID) chosenHomogenization do c = 1, homogenization_Nconstituent(material_homogenizationAt(el)) dPdFs(:,:,:,:,c) = crystallite_stressTangent(c,ip,el) enddo call mech_isostrain_averageStressAndItsTangent(& - materialpoint_P(1:3,1:3,ip,el), & - materialpoint_dPdF(1:3,1:3,1:3,1:3,ip,el),& + homogenization_P(1:3,1:3,ip,el), & + homogenization_dPdF(1:3,1:3,1:3,1:3,ip,el),& crystallite_P(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & dPdFs, & homogenization_typeInstance(material_homogenizationAt(el))) @@ -511,8 +511,8 @@ subroutine averageStressAndItsTangent(ip,el) dPdFs(:,:,:,:,c) = crystallite_stressTangent(c,ip,el) enddo call mech_RGC_averageStressAndItsTangent(& - materialpoint_P(1:3,1:3,ip,el), & - materialpoint_dPdF(1:3,1:3,1:3,1:3,ip,el),& + homogenization_P(1:3,1:3,ip,el), & + homogenization_dPdF(1:3,1:3,1:3,1:3,ip,el),& crystallite_P(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & dPdFs, & homogenization_typeInstance(material_homogenizationAt(el))) @@ -539,10 +539,10 @@ subroutine homogenization_results group = trim(group_base)//'/generic' call results_closeGroup(results_addGroup(group)) - !temp = reshape(materialpoint_F,[3,3,discretization_nIP*discretization_nElem]) + !temp = reshape(homogenization_F,[3,3,discretization_nIP*discretization_nElem]) !call results_writeDataset(group,temp,'F',& ! 'deformation gradient','1') - !temp = reshape(materialpoint_P,[3,3,discretization_nIP*discretization_nElem]) + !temp = reshape(homogenization_P,[3,3,discretization_nIP*discretization_nElem]) !call results_writeDataset(group,temp,'P',& ! '1st Piola-Kirchhoff stress','Pa') diff --git a/src/material.f90 b/src/material.f90 index 7197506f4..a9459e42d 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -177,7 +177,7 @@ subroutine material_init(restart) if (.not. restart) then call results_openJobFile call results_mapping_constituent(material_phaseAt,material_phaseMemberAt,material_name_phase) - call results_mapping_materialpoint(material_homogenizationAt,material_homogenizationMemberAt,material_name_homogenization) + call results_mapping_homogenization(material_homogenizationAt,material_homogenizationMemberAt,material_name_homogenization) call results_closeJobFile endif diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 4927d0c1c..4c958ee2e 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -164,7 +164,7 @@ subroutine utilities_constitutiveResponse(timeinc,P_av,forwardData) cutBack = .false. ! reset cutBack status - P_av = sum(sum(materialpoint_P,dim=4),dim=3) * wgt ! average of P + P_av = sum(sum(homogenization_P,dim=4),dim=3) * wgt ! average of P call MPI_Allreduce(MPI_IN_PLACE,P_av,9,MPI_DOUBLE,MPI_SUM,PETSC_COMM_WORLD,ierr) end subroutine utilities_constitutiveResponse diff --git a/src/mesh/mesh_mech_FEM.f90 b/src/mesh/mesh_mech_FEM.f90 index f7d33adcf..8aa084ac8 100644 --- a/src/mesh/mesh_mech_FEM.f90 +++ b/src/mesh/mesh_mech_FEM.f90 @@ -400,15 +400,15 @@ subroutine FEM_mech_formResidual(dm_local,xx_local,f_local,dummy,ierr) (((qPt*nBasis + basis)*dimPlex + comp)*dimPlex+comp+1)*dimPlex)) enddo enddo - materialpoint_F(1:dimPlex,1:dimPlex,qPt+1,cell+1) = & + homogenization_F(1:dimPlex,1:dimPlex,qPt+1,cell+1) = & reshape(matmul(BMat,x_scal),shape=[dimPlex,dimPlex], order=[2,1]) enddo if (num%BBarStabilisation) then - detFAvg = math_det33(sum(materialpoint_F(1:3,1:3,1:nQuadrature,cell+1),dim=3)/real(nQuadrature)) + detFAvg = math_det33(sum(homogenization_F(1:3,1:3,1:nQuadrature,cell+1),dim=3)/real(nQuadrature)) do qPt = 1, nQuadrature - materialpoint_F(1:dimPlex,1:dimPlex,qPt,cell+1) = & - materialpoint_F(1:dimPlex,1:dimPlex,qPt,cell+1)* & - (detFAvg/math_det33(materialpoint_F(1:3,1:3,qPt,cell+1)))**(1.0/real(dimPlex)) + homogenization_F(1:dimPlex,1:dimPlex,qPt,cell+1) = & + homogenization_F(1:dimPlex,1:dimPlex,qPt,cell+1)* & + (detFAvg/math_det33(homogenization_F(1:3,1:3,qPt,cell+1)))**(1.0/real(dimPlex)) enddo endif @@ -443,7 +443,7 @@ subroutine FEM_mech_formResidual(dm_local,xx_local,f_local,dummy,ierr) enddo f_scal = f_scal + & matmul(transpose(BMat), & - reshape(transpose(materialpoint_P(1:dimPlex,1:dimPlex,qPt+1,cell+1)), & + reshape(transpose(homogenization_P(1:dimPlex,1:dimPlex,qPt+1,cell+1)), & shape=[dimPlex*dimPlex]))*qWeights(qPt+1) enddo f_scal = f_scal*abs(detJ) @@ -545,7 +545,7 @@ subroutine FEM_mech_formJacobian(dm_local,xx_local,Jac_pre,Jac,dummy,ierr) (((qPt*nBasis + basis)*dimPlex + comp)*dimPlex+comp+1)*dimPlex)) enddo enddo - MatA = matmul(reshape(reshape(materialpoint_dPdF(1:dimPlex,1:dimPlex,1:dimPlex,1:dimPlex,qPt+1,cell+1), & + MatA = matmul(reshape(reshape(homogenization_dPdF(1:dimPlex,1:dimPlex,1:dimPlex,1:dimPlex,qPt+1,cell+1), & shape=[dimPlex,dimPlex,dimPlex,dimPlex], order=[2,1,4,3]), & shape=[dimPlex*dimPlex,dimPlex*dimPlex]),BMat)*qWeights(qPt+1) if (num%BBarStabilisation) then @@ -553,12 +553,12 @@ subroutine FEM_mech_formJacobian(dm_local,xx_local,Jac_pre,Jac,dummy,ierr) FInv = math_inv33(F) K_eA = K_eA + matmul(transpose(BMat),MatA)*math_det33(FInv)**(1.0/real(dimPlex)) K_eB = K_eB - & - matmul(transpose(matmul(reshape(materialpoint_F(1:dimPlex,1:dimPlex,qPt+1,cell+1), & + matmul(transpose(matmul(reshape(homogenization_F(1:dimPlex,1:dimPlex,qPt+1,cell+1), & shape=[dimPlex*dimPlex,1]), & matmul(reshape(FInv(1:dimPlex,1:dimPlex), & shape=[1,dimPlex*dimPlex],order=[2,1]),BMat))),MatA) MatB = MatB + & - matmul(reshape(materialpoint_F(1:dimPlex,1:dimPlex,qPt+1,cell+1),shape=[1,dimPlex*dimPlex]),MatA) + matmul(reshape(homogenization_F(1:dimPlex,1:dimPlex,qPt+1,cell+1),shape=[1,dimPlex*dimPlex]),MatA) FAvg = FAvg + F BMatAvg = BMatAvg + BMat else @@ -630,7 +630,7 @@ subroutine FEM_mech_forward(guess,timeinc,timeinc_old,fieldBC) ! forward last inc if (guess .and. .not. cutBack) then ForwardData = .True. - materialpoint_F0 = materialpoint_F + homogenization_F0 = homogenization_F call SNESGetDM(mech_snes,dm_local,ierr); CHKERRQ(ierr) !< retrieve mesh info from mech_snes into dm_local call DMGetSection(dm_local,section,ierr); CHKERRQ(ierr) call DMGetLocalVector(dm_local,x_local,ierr); CHKERRQ(ierr) diff --git a/src/results.f90 b/src/results.f90 index aec90d7be..1ccc6bfab 100644 --- a/src/results.f90 +++ b/src/results.f90 @@ -56,7 +56,7 @@ module results results_addAttribute, & results_removeLink, & results_mapping_constituent, & - results_mapping_materialpoint + results_mapping_homogenization contains subroutine results_init(restart) @@ -644,7 +644,7 @@ end subroutine results_mapping_constituent !-------------------------------------------------------------------------------------------------- !> @brief adds the unique mapping from spatial position and constituent ID to results !-------------------------------------------------------------------------------------------------- -subroutine results_mapping_materialpoint(homogenizationAt,memberAtLocal,label) +subroutine results_mapping_homogenization(homogenizationAt,memberAtLocal,label) integer, dimension(:), intent(in) :: homogenizationAt !< homogenization section at (element) integer, dimension(:,:), intent(in) :: memberAtLocal !< homogenization member at (IP,element) @@ -711,13 +711,13 @@ subroutine results_mapping_materialpoint(homogenizationAt,memberAtLocal,label) ! MPI settings and communication #ifdef PETSc call h5pset_dxpl_mpio_f(plist_id, H5FD_MPIO_COLLECTIVE_F, ierr) - if (ierr < 0) call IO_error(1,ext_msg='results_mapping_materialpoint: h5pset_dxpl_mpio_f') + if (ierr < 0) call IO_error(1,ext_msg='results_mapping_homogenization: h5pset_dxpl_mpio_f') call MPI_allreduce(MPI_IN_PLACE,writeSize,worldsize,MPI_INT,MPI_SUM,PETSC_COMM_WORLD,ierr) ! get output at each process - if (ierr /= 0) call IO_error(894,ext_msg='results_mapping_materialpoint: MPI_allreduce/writeSize') + if (ierr /= 0) call IO_error(894,ext_msg='results_mapping_homogenization: MPI_allreduce/writeSize') call MPI_allreduce(MPI_IN_PLACE,memberOffset,size(memberOffset),MPI_INT,MPI_SUM,PETSC_COMM_WORLD,ierr)! get offset at each process - if (ierr /= 0) call IO_error(894,ext_msg='results_mapping_materialpoint: MPI_allreduce/memberOffset') + if (ierr /= 0) call IO_error(894,ext_msg='results_mapping_homogenization: MPI_allreduce/memberOffset') #endif myShape = int([writeSize(worldrank)], HSIZE_T) @@ -727,13 +727,13 @@ subroutine results_mapping_materialpoint(homogenizationAt,memberAtLocal,label) !-------------------------------------------------------------------------------------------------- ! create dataspace in memory (local shape = hyperslab) and in file (global shape) call h5screate_simple_f(1,myShape,memspace_id,ierr,myShape) - if (ierr < 0) call IO_error(1,ext_msg='results_mapping_materialpoint: h5screate_simple_f/memspace_id') + if (ierr < 0) call IO_error(1,ext_msg='results_mapping_homogenization: h5screate_simple_f/memspace_id') call h5screate_simple_f(1,totalShape,filespace_id,ierr,totalShape) - if (ierr < 0) call IO_error(1,ext_msg='results_mapping_materialpoint: h5screate_simple_f/filespace_id') + if (ierr < 0) call IO_error(1,ext_msg='results_mapping_homogenization: h5screate_simple_f/filespace_id') call h5sselect_hyperslab_f(filespace_id, H5S_SELECT_SET_F, myOffset, myShape, ierr) - if (ierr < 0) call IO_error(1,ext_msg='results_mapping_materialpoint: h5sselect_hyperslab_f') + if (ierr < 0) call IO_error(1,ext_msg='results_mapping_homogenization: h5sselect_hyperslab_f') !--------------------------------------------------------------------------------------------------- ! expand phaseAt to consider IPs (is not stored per IP) @@ -753,14 +753,14 @@ subroutine results_mapping_materialpoint(homogenizationAt,memberAtLocal,label) loc_id = results_openGroup('/mapping') call h5dcreate_f(loc_id, 'homogenization', dtype_id, filespace_id, dset_id, ierr) - if (ierr < 0) call IO_error(1,ext_msg='results_mapping_materialpoint: h5dcreate_f') + if (ierr < 0) call IO_error(1,ext_msg='results_mapping_homogenization: h5dcreate_f') call h5dwrite_f(dset_id, name_id, reshape(label(pack(homogenizationAtMaterialpoint,.true.)),myShape), & myShape, ierr, file_space_id = filespace_id, mem_space_id = memspace_id, xfer_prp = plist_id) - if (ierr < 0) call IO_error(1,ext_msg='results_mapping_materialpoint: h5dwrite_f/name_id') + if (ierr < 0) call IO_error(1,ext_msg='results_mapping_homogenization: h5dwrite_f/name_id') call h5dwrite_f(dset_id, position_id, reshape(pack(memberAtGlobal,.true.),myShape), & myShape, ierr, file_space_id = filespace_id, mem_space_id = memspace_id, xfer_prp = plist_id) - if (ierr < 0) call IO_error(1,ext_msg='results_mapping_materialpoint: h5dwrite_f/position_id') + if (ierr < 0) call IO_error(1,ext_msg='results_mapping_homogenization: h5dwrite_f/position_id') !-------------------------------------------------------------------------------------------------- ! close all @@ -776,7 +776,7 @@ subroutine results_mapping_materialpoint(homogenizationAt,memberAtLocal,label) ! for backward compatibility call results_setLink('/mapping/homogenization','/mapping/cellResults/materialpoint') -end subroutine results_mapping_materialpoint +end subroutine results_mapping_homogenization !-------------------------------------------------------------------------------------------------- From fd4cdf965b189e3bbb4b76f7c85067fd5111362e Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 24 Oct 2020 18:00:17 +0200 Subject: [PATCH 899/958] modularized --- src/material.f90 | 85 +++++++++++++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 33 deletions(-) diff --git a/src/material.f90 b/src/material.f90 index a9459e42d..58a5c4080 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -149,7 +149,7 @@ contains subroutine material_init(restart) logical, intent(in) :: restart - integer :: myHomog + integer :: myHomog print'(/,a)', ' <<<+- material init -+>>>'; flush(IO_STDOUT) @@ -298,48 +298,22 @@ subroutine material_parseMaterial counterPhase, & counterHomogenization - character(len=pStringLen) :: sectionName - real(pReal) :: & frac integer :: & e, i, c, & - p, h, & - m + h materials => config_material%get('material') phases => config_material%get('phase') homogenizations => config_material%get('homogenization') + call sanityCheck(materials, homogenizations) + material_name_phase = getKeys(phases) + material_name_homogenization = getKeys(homogenizations) - if(any(discretization_materialAt > materials%length)) & - call IO_error(155,ext_msg='More materials requested than found in material.yaml') - -!-------------------------------------------------------------------------------------------------- -! determine name of phases/homogenizations - allocate(material_name_phase(phases%length)) - do p = 1, phases%length - write(sectionName,'(i0,a)') p,'_' - material_name_phase(p) = trim(adjustl(sectionName))//phases%getKey(p) !ToDo: remove prefix - enddo - - allocate(material_name_homogenization(homogenizations%length)) - do h = 1, homogenizations%length - write(sectionName,'(i0,a)') h,'_' - material_name_homogenization(h) = trim(adjustl(sectionName))//homogenizations%getKey(h) !ToDo: remove prefix - enddo - -!-------------------------------------------------------------------------------------------------- -! sanity check: Matching # of constituents - do m = 1, materials%length - material => materials%get(m) - constituents => material%get('constituents') - homogenization => homogenizations%get(material%get_asString('homogenization')) - if(constituents%length /= homogenization%get_asInt('N_constituents')) call IO_error(148) - enddo - - allocate(homogenization_Nconstituent(size(material_name_homogenization))) - do h=1, size(material_name_homogenization) + allocate(homogenization_Nconstituent(homogenizations%length)) + do h=1, homogenizations%length homogenization => homogenizations%get(h) homogenization_Nconstituent(h) = homogenization%get_asInt('N_constituents') enddo @@ -386,4 +360,49 @@ subroutine material_parseMaterial end subroutine material_parseMaterial +!-------------------------------------------------------------------------------------------------- +!> @brief Check if material.yaml is consistent and contains sufficient # of materials +!-------------------------------------------------------------------------------------------------- +subroutine sanityCheck(materials,homogenizations) + + class(tNode), intent(in) :: materials, & + homogenizations + + class(tNode), pointer :: material, & + homogenization, & + constituents + integer :: m + + if(maxval(discretization_materialAt) > materials%length) & + call IO_error(155,ext_msg='More materials requested than found in material.yaml') + + do m = 1, materials%length + material => materials%get(m) + constituents => material%get('constituents') + homogenization => homogenizations%get(material%get_asString('homogenization')) + if(constituents%length /= homogenization%get_asInt('N_constituents')) call IO_error(148) + enddo + +end subroutine sanityCheck + + +!-------------------------------------------------------------------------------------------------- +!> @brief Get all keys from a dictionary (currently with #_ prefix) +!-------------------------------------------------------------------------------------------------- +function getKeys(dict) + + class(tNode), intent(in) :: dict + character(len=pStringLen), dimension(:), allocatable :: getKeys + + integer :: i + character(len=pStringLen) :: sectionName + + allocate(getKeys(dict%length)) + do i=1, dict%length + write(sectionName,'(i0,a)') i,'_' + getKeys(i) = trim(adjustl(sectionName))//dict%getKey(i) !ToDo: remove prefix + enddo + +end function getKeys + end module material From 93a791abd19ff1f8143633f06bba073d088fbda0 Mon Sep 17 00:00:00 2001 From: Test User Date: Sat, 24 Oct 2020 19:17:53 +0200 Subject: [PATCH 900/958] [skip ci] updated version information after successful test of v3.0.0-alpha-556-gf379aecd8 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 64636c48f..2e3222238 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-553-g5eee0d74f +v3.0.0-alpha-556-gf379aecd8 From 5834d9501231f877ada4c065b5e43ff1aa68cae7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 26 Oct 2020 21:38:24 +0100 Subject: [PATCH 901/958] support for more types - allow to directly use Config and its sublasses (cast to dict) - convert numpy arrays --- python/damask/_config.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/python/damask/_config.py b/python/damask/_config.py index c9130d7aa..40b9e918f 100644 --- a/python/damask/_config.py +++ b/python/damask/_config.py @@ -1,6 +1,7 @@ from io import StringIO import abc +import numpy as np import yaml class NiceDumper(yaml.SafeDumper): @@ -15,6 +16,11 @@ class NiceDumper(yaml.SafeDumper): def increase_indent(self, flow=False, indentless=False): return super().increase_indent(flow, False) + def represent_data(self, data): + """Cast Config objects and its qsubclasses to dict.""" + return self.represent_data(dict(data)) if isinstance(data, dict) and type(data) != dict else \ + super().represent_data(data) + class Config(dict): """YAML-based configuration.""" @@ -64,7 +70,14 @@ class Config(dict): kwargs['width'] = 256 if 'default_flow_style' not in kwargs: kwargs['default_flow_style'] = None - fhandle.write(yaml.dump(dict(self),Dumper=NiceDumper,**kwargs)) + + def array_representer(dumper, data): + """Convert numpy array to list of native types.""" + return dumper.represent_list([d.item() for d in data]) + + NiceDumper.add_representer(np.ndarray, array_representer) + + fhandle.write(yaml.dump(self,Dumper=NiceDumper,**kwargs)) @property From 4159ae5f3d6ffad63fb71b98c79d385953681523 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 26 Oct 2020 21:43:21 +0100 Subject: [PATCH 902/958] keep order of keys --- python/damask/_config.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python/damask/_config.py b/python/damask/_config.py index 40b9e918f..f2ffbbbf3 100644 --- a/python/damask/_config.py +++ b/python/damask/_config.py @@ -17,7 +17,7 @@ class NiceDumper(yaml.SafeDumper): return super().increase_indent(flow, False) def represent_data(self, data): - """Cast Config objects and its qsubclasses to dict.""" + """Cast Config objects and its subclasses to dict.""" return self.represent_data(dict(data)) if isinstance(data, dict) and type(data) != dict else \ super().represent_data(data) @@ -70,6 +70,8 @@ class Config(dict): kwargs['width'] = 256 if 'default_flow_style' not in kwargs: kwargs['default_flow_style'] = None + if 'sort_keys' not in kwargs: + kwargs['sort_keys'] = False def array_representer(dumper, data): """Convert numpy array to list of native types.""" From 4dd387d7f51c5b25535126f2c8733a3a91f25bec Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 27 Oct 2020 06:34:05 +0100 Subject: [PATCH 903/958] compatibility with old pyyaml + test for numpy --- python/damask/_config.py | 6 +++++- python/tests/test_Config.py | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/python/damask/_config.py b/python/damask/_config.py index f2ffbbbf3..24245f4bd 100644 --- a/python/damask/_config.py +++ b/python/damask/_config.py @@ -79,7 +79,11 @@ class Config(dict): NiceDumper.add_representer(np.ndarray, array_representer) - fhandle.write(yaml.dump(self,Dumper=NiceDumper,**kwargs)) + try: + fhandle.write(yaml.dump(self,Dumper=NiceDumper,**kwargs)) + except TypeError: # compatibility with old pyyaml + del kwargs['sort_keys'] + fhandle.write(yaml.dump(self,Dumper=NiceDumper,**kwargs)) @property diff --git a/python/tests/test_Config.py b/python/tests/test_Config.py index e715ad763..67c419b3e 100644 --- a/python/tests/test_Config.py +++ b/python/tests/test_Config.py @@ -1,4 +1,5 @@ import pytest +import numpy as np from damask import Config @@ -29,6 +30,8 @@ class TestConfig: f.write(config.__repr__()) assert Config.load(tmp_path/'config.yaml') == config + def test_numpy(self,tmp_path): + assert Config({'A':np.ones(3,'i')}).__repr__() == Config({'A':[1,1,1]}).__repr__() def test_abstract_is_valid(self): assert Config().is_valid is None From 0c51c3d8d484f08e7ff15f22b482bd25d1e47711 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Tue, 27 Oct 2020 12:56:49 +0100 Subject: [PATCH 904/958] still needed during initialization --- src/marc/discretization_marc.f90 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index c462da94b..9696572e5 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -12,6 +12,7 @@ module discretization_marc use DAMASK_interface use IO use config + use FEsolving use element use discretization use geometry_plastic_nonlocal @@ -88,6 +89,9 @@ subroutine discretization_marc_init if (debug_e < 1 .or. debug_e > nElems) call IO_error(602,ext_msg='element') if (debug_i < 1 .or. debug_i > elem%nIPs) call IO_error(602,ext_msg='IP') + FEsolving_execElem = [1,nElems] + FEsolving_execIP = [1,elem%nIPs] + allocate(cellNodeDefinition(elem%nNodes-1)) allocate(connectivity_cell(elem%NcellNodesPerCell,elem%nIPs,nElems)) call buildCells(connectivity_cell,cellNodeDefinition,& From 201a62d7c9c882f10a0c15f393f613b56ecc7d89 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 27 Oct 2020 13:19:53 +0100 Subject: [PATCH 905/958] easier visualization if verts have a point-cell --- python/damask/_vtk.py | 16 ++++++++++++---- python/tests/reference/VTK/polyData.vtp | 10 +++++----- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index c1fe52f38..546ff4c88 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -108,11 +108,18 @@ class VTK: Spatial position of the points. """ + N = points.shape[0] vtk_points = vtk.vtkPoints() vtk_points.SetData(np_to_vtk(points)) + vtk_cells = vtk.vtkCellArray() + vtk_cells.SetNumberOfCells(N) + vtk_cells.SetCells(N,np_to_vtkIdTypeArray(np.stack((np.ones (N,dtype=np.int64), + np.arange(N,dtype=np.int64)),axis=1).ravel(),deep=True)) + vtk_data = vtk.vtkPolyData() vtk_data.SetPoints(vtk_points) + vtk_data.SetVerts(vtk_cells) return VTK(vtk_data) @@ -164,6 +171,7 @@ class VTK: return VTK(vtk_data) + @staticmethod def _write(writer): """Wrapper for parallel writing.""" @@ -192,7 +200,7 @@ class VTK: default_ext = writer.GetDefaultFileExtension() ext = Path(fname).suffix if ext and ext != '.'+default_ext: - raise ValueError(f'Given extension {ext} does not match default .{default_ext}') + raise ValueError(f'Given extension "{ext}" does not match default ".{default_ext}"') writer.SetFileName(str(Path(fname).with_suffix('.'+default_ext))) if compress: writer.SetCompressorTypeToZLib() @@ -238,10 +246,10 @@ class VTK: else data).reshape(N_data,-1),deep=True) # avoid large files d.SetName(label) - if N_data == N_cells: - self.vtk_data.GetCellData().AddArray(d) - elif N_data == N_points: + if N_data == N_points: self.vtk_data.GetPointData().AddArray(d) + elif N_data == N_cells: + self.vtk_data.GetCellData().AddArray(d) else: raise ValueError(f'Cell / point count ({N_cells} / {N_points}) differs from data ({N_data}).') elif isinstance(data,pd.DataFrame): diff --git a/python/tests/reference/VTK/polyData.vtp b/python/tests/reference/VTK/polyData.vtp index 6ed05f67f..dc4b5f149 100644 --- a/python/tests/reference/VTK/polyData.vtp +++ b/python/tests/reference/VTK/polyData.vtp @@ -1,7 +1,7 @@ - + AQAAAACAAAB4AAAAVgAAAA==eF5jYICBhv2WfY9tLfuS7Ypk3PeDaCDf7okF3/7Vq1bZrV6lZQ+k94HEgHL2QHovUM7+iUUfiG0LlQdhkH77Ipnj9iB5qFp7kBjQDiBmcADRANsaLXM= @@ -31,11 +31,11 @@ - - AAAAAACAAAAAAAAA + + AQAAAACAAABQAAAAIgAAAA==eF4txbcBACAIADAsiP7/sAPJkog2PL28nT4uXz9/BXgALg== - - AAAAAACAAAAAAAAA + + AQAAAACAAABQAAAAIgAAAA==eF4txbcBACAIADA76v8HM5As6a0MTy9vH4evn78TBzAAOA== From fa67a2ddf8d5ec8e555e4d3a1997691d6c4d36a2 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 27 Oct 2020 13:35:14 +0100 Subject: [PATCH 906/958] cell_coordinates is now a property --- python/damask/_result.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/_result.py b/python/damask/_result.py index 5e8a9a9d0..ab0c5f13e 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1219,7 +1219,7 @@ class Result: f['/geometry/T_c'][()]-1, f['/geometry/T_c'].attrs['VTK_TYPE'].decode()) elif mode.lower()=='point': - v = VTK.from_polyData(self.cell_coordinates()) + v = VTK.from_polyData(self.cell_coordinates) N_digits = int(np.floor(np.log10(max(1,int(self.increments[-1][3:])))))+1 From 0804e6ee74dbb349a2791d6e466c1c640623c4bd Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 27 Oct 2020 13:42:49 +0100 Subject: [PATCH 907/958] pythonic names --- python/damask/_geom.py | 4 ++-- python/damask/_result.py | 10 +++++----- python/damask/_vtk.py | 6 +++--- python/tests/test_Geom.py | 2 +- python/tests/test_VTK.py | 14 +++++++------- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 6366f06ab..f7ac6c437 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -473,7 +473,7 @@ class Geom: Compress with zlib algorithm. Defaults to True. """ - v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) + v = VTK.from_rectilinear_grid(self.grid,self.size,self.origin) v.add(self.material.flatten(order='F'),'material') v.add_comments(self.comments) @@ -508,7 +508,7 @@ class Geom: def show(self): """Show on screen.""" - v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) + v = VTK.from_rectilinear_grid(self.grid,self.size,self.origin) v.show() diff --git a/python/damask/_result.py b/python/damask/_result.py index ab0c5f13e..3f4ca735c 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1212,14 +1212,14 @@ class Result: if mode.lower()=='cell': if self.structured: - v = VTK.from_rectilinearGrid(self.grid,self.size,self.origin) + v = VTK.from_rectilinear_grid(self.grid,self.size,self.origin) else: with h5py.File(self.fname,'r') as f: - v = VTK.from_unstructuredGrid(f['/geometry/x_n'][()], - f['/geometry/T_c'][()]-1, - f['/geometry/T_c'].attrs['VTK_TYPE'].decode()) + v = VTK.from_unstructured_grid(f['/geometry/x_n'][()], + f['/geometry/T_c'][()]-1, + f['/geometry/T_c'].attrs['VTK_TYPE'].decode()) elif mode.lower()=='point': - v = VTK.from_polyData(self.cell_coordinates) + v = VTK.from_poly_data(self.cell_coordinates) N_digits = int(np.floor(np.log10(max(1,int(self.increments[-1][3:])))))+1 diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 546ff4c88..10f3b482b 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -36,7 +36,7 @@ class VTK: @staticmethod - def from_rectilinearGrid(grid,size,origin=np.zeros(3)): + def from_rectilinear_grid(grid,size,origin=np.zeros(3)): """ Create VTK of type vtk.vtkRectilinearGrid. @@ -64,7 +64,7 @@ class VTK: @staticmethod - def from_unstructuredGrid(nodes,connectivity,cell_type): + def from_unstructured_grid(nodes,connectivity,cell_type): """ Create VTK of type vtk.vtkUnstructuredGrid. @@ -96,7 +96,7 @@ class VTK: @staticmethod - def from_polyData(points): + def from_poly_data(points): """ Create VTK of type vtk.polyData. diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 0f4c1a952..368d8ec8f 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -49,7 +49,7 @@ class TestGeom: assert geom_equal(new,default) def test_invalid_vtr(self,tmp_path): - v = VTK.from_rectilinearGrid(np.random.randint(5,10,3)*2,np.random.random(3) + 1.0) + v = VTK.from_rectilinear_grid(np.random.randint(5,10,3)*2,np.random.random(3) + 1.0) v.save(tmp_path/'no_materialpoint.vtr') with pytest.raises(ValueError): Geom.load(tmp_path/'no_materialpoint.vtr') diff --git a/python/tests/test_VTK.py b/python/tests/test_VTK.py index 81c9eb772..63adb6454 100644 --- a/python/tests/test_VTK.py +++ b/python/tests/test_VTK.py @@ -18,7 +18,7 @@ def default(): """Simple VTK.""" grid = np.array([5,6,7],int) size = np.array([.6,1.,.5]) - return VTK.from_rectilinearGrid(grid,size) + return VTK.from_rectilinear_grid(grid,size) class TestVTK: @@ -30,7 +30,7 @@ class TestVTK: grid = np.random.randint(5,10,3)*2 size = np.random.random(3) + 1.0 origin = np.random.random(3) - v = VTK.from_rectilinearGrid(grid,size,origin) + v = VTK.from_rectilinear_grid(grid,size,origin) string = v.__repr__() v.save(tmp_path/'rectilinearGrid',False) vtr = VTK.load(tmp_path/'rectilinearGrid.vtr') @@ -41,7 +41,7 @@ class TestVTK: def test_polyData(self,tmp_path): points = np.random.rand(100,3) - v = VTK.from_polyData(points) + v = VTK.from_poly_data(points) string = v.__repr__() v.save(tmp_path/'polyData',False) vtp = VTK.load(tmp_path/'polyData.vtp') @@ -60,7 +60,7 @@ class TestVTK: def test_unstructuredGrid(self,tmp_path,cell_type,n): nodes = np.random.rand(n,3) connectivity = np.random.choice(np.arange(n),n,False).reshape(-1,n) - v = VTK.from_unstructuredGrid(nodes,connectivity,cell_type) + v = VTK.from_unstructured_grid(nodes,connectivity,cell_type) string = v.__repr__() v.save(tmp_path/'unstructuredGrid',False) vtu = VTK.load(tmp_path/'unstructuredGrid.vtu') @@ -72,7 +72,7 @@ class TestVTK: def test_parallel_out(self,tmp_path): points = np.random.rand(102,3) - v = VTK.from_polyData(points) + v = VTK.from_poly_data(points) fname_s = tmp_path/'single.vtp' fname_p = tmp_path/'parallel.vtp' v.save(fname_s,False) @@ -121,7 +121,7 @@ class TestVTK: def test_compare_reference_polyData(self,update,reference_dir,tmp_path): points=np.dstack((np.linspace(0.,1.,10),np.linspace(0.,2.,10),np.linspace(-1.,1.,10))).squeeze() - polyData = VTK.from_polyData(points) + polyData = VTK.from_poly_data(points) polyData.add(points,'coordinates') if update: polyData.save(reference_dir/'polyData') @@ -133,7 +133,7 @@ class TestVTK: def test_compare_reference_rectilinearGrid(self,update,reference_dir,tmp_path): grid = np.array([5,6,7],int) size = np.array([.6,1.,.5]) - rectilinearGrid = VTK.from_rectilinearGrid(grid,size) + rectilinearGrid = VTK.from_rectilinear_grid(grid,size) c = grid_filters.cell_coord0(grid,size).reshape(-1,3,order='F') n = grid_filters.node_coord0(grid,size).reshape(-1,3,order='F') rectilinearGrid.add(c,'cell') From a5a127b78721ee1a559b278397afbc6bbb026149 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 27 Oct 2020 16:46:08 +0100 Subject: [PATCH 908/958] new tests+ updated results --- .../tests/reference/Result/12grains6x7x8.geom | 61 ------------------- .../tests/reference/Result/12grains6x7x8.vtr | 30 +++++++++ .../Result/6grains6x7x8_single_phase.geom | 61 ------------------- .../Result/6grains6x7x8_single_phase.vtr | 30 +++++++++ python/tests/test_Result.py | 5 ++ 5 files changed, 65 insertions(+), 122 deletions(-) delete mode 100644 python/tests/reference/Result/12grains6x7x8.geom create mode 100644 python/tests/reference/Result/12grains6x7x8.vtr delete mode 100644 python/tests/reference/Result/6grains6x7x8_single_phase.geom create mode 100644 python/tests/reference/Result/6grains6x7x8_single_phase.vtr diff --git a/python/tests/reference/Result/12grains6x7x8.geom b/python/tests/reference/Result/12grains6x7x8.geom deleted file mode 100644 index 4e6836bb8..000000000 --- a/python/tests/reference/Result/12grains6x7x8.geom +++ /dev/null @@ -1,61 +0,0 @@ -4 header -grid a 6 b 7 c 8 -size x 0.75 y 0.875 z 1.0 -origin x 0.0 y 0.0 z 0.0 -homogenization 1 - 9 3 3 10 9 9 - 9 1 1 1 9 9 - 9 11 1 1 7 9 - 7 11 11 7 7 7 - 7 11 11 7 7 7 -12 3 3 10 7 12 -12 3 3 10 10 12 -12 3 3 1 9 9 - 9 1 1 1 9 9 - 9 1 1 1 7 7 - 7 1 1 7 7 7 -12 12 3 7 7 7 -12 3 3 3 12 12 -12 3 3 3 12 12 -12 3 3 1 1 12 - 9 1 1 1 1 9 - 6 1 1 1 8 8 - 7 6 8 8 8 8 -12 12 8 8 8 12 -12 3 3 3 12 12 -12 3 3 3 12 12 - 5 6 6 6 1 12 - 6 6 6 6 8 8 - 6 6 6 8 8 8 - 8 6 8 8 8 8 -12 5 8 8 8 8 -12 5 5 8 8 12 - 5 5 5 3 12 12 - 5 5 6 6 6 5 - 6 6 6 6 6 6 - 6 6 6 6 8 8 - 4 4 6 8 8 8 - 4 4 2 2 2 8 - 5 5 5 2 2 2 - 5 5 5 5 2 5 - 5 5 5 10 10 5 - 6 6 6 6 10 4 - 4 4 11 11 2 4 - 4 4 11 2 2 4 - 4 4 2 2 2 2 - 5 5 5 2 2 2 - 5 5 5 10 10 5 - 5 5 10 10 10 9 - 4 11 11 11 10 9 - 4 4 11 11 11 4 - 4 4 11 11 2 4 - 4 4 2 2 2 2 - 5 5 2 2 2 2 - 5 5 10 10 10 10 - 9 10 10 10 10 9 - 9 11 11 10 9 9 - 4 11 11 11 9 9 - 4 11 11 11 7 7 - 4 4 11 2 7 7 -12 10 10 10 10 7 - 9 10 10 10 10 9 diff --git a/python/tests/reference/Result/12grains6x7x8.vtr b/python/tests/reference/Result/12grains6x7x8.vtr new file mode 100644 index 000000000..02ba9d4e6 --- /dev/null +++ b/python/tests/reference/Result/12grains6x7x8.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAARAAAAGQAAAA==eF7LyM/NT0/Ny6xKLMnMz1MwZAAAPsIGPQ== + + + + + + + + AQAAAACAAACACgAA2wAAAA==eF6tlssOgkAQBNcHiPj//2uM25eOZc8oc6kYagzdISzbeM/ZeJ/cgDTk7x/c16zm6fduXAOr/mOS8rqXfDH5mqP6pKHcVY9yJN/ziv5/R/k+8lI/GnnLV2uMm1G5tefXnZ6j6v3bD/nXyQWokU8e5a96tJc8z9H1aY88MfWZek3Xf6XnuBhTr+6fgPKpH9oj3/eS5+/bap/yPafo54buJ/mek3zqJeXu+tRP8vycp15E8tNe6rPaf7fPrk/9eO6q598/1GO1/67v53V6nul8T3n9Oy758p47Sgdl + + + + + AQAAAACAAAA4AAAAHAAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0C3sAisIGjw== + + + AQAAAACAAABAAAAAHwAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9xh4AwVEHug== + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/reference/Result/6grains6x7x8_single_phase.geom b/python/tests/reference/Result/6grains6x7x8_single_phase.geom deleted file mode 100644 index 14cae0973..000000000 --- a/python/tests/reference/Result/6grains6x7x8_single_phase.geom +++ /dev/null @@ -1,61 +0,0 @@ -4 header -grid a 6 b 7 c 8 -size x 0.75 y 0.875 z 1.0 -origin x 0.0 y 0.0 z 0.0 -homogenization 1 -3 3 3 4 3 3 -3 1 1 1 3 3 -3 5 1 1 1 3 -1 5 5 1 1 1 -1 5 5 1 1 1 -6 3 3 4 1 6 -6 3 3 4 4 6 -6 3 3 1 3 3 -3 1 1 1 3 3 -3 1 1 1 1 1 -1 1 1 1 1 1 -6 6 3 1 1 1 -6 3 3 3 6 6 -6 3 3 3 6 6 -6 3 3 1 1 6 -3 1 1 1 1 3 -6 1 1 1 2 2 -1 6 2 2 2 2 -6 6 2 2 2 6 -6 3 3 3 6 6 -6 3 3 3 6 6 -5 6 6 6 1 6 -6 6 6 6 2 2 -6 6 6 2 2 2 -2 6 2 2 2 2 -6 5 2 2 2 2 -6 5 5 2 2 6 -5 5 5 3 6 6 -5 5 6 6 6 5 -6 6 6 6 6 6 -6 6 6 6 2 2 -4 4 6 2 2 2 -4 4 2 2 2 2 -5 5 5 2 2 2 -5 5 5 5 2 5 -5 5 5 4 4 5 -6 6 6 6 4 4 -4 4 5 5 2 4 -4 4 5 2 2 4 -4 4 2 2 2 2 -5 5 5 2 2 2 -5 5 5 4 4 5 -5 5 4 4 4 3 -4 5 5 5 4 3 -4 4 5 5 5 4 -4 4 5 5 2 4 -4 4 2 2 2 2 -5 5 2 2 2 2 -5 5 4 4 4 4 -3 4 4 4 4 3 -3 5 5 4 3 3 -4 5 5 5 3 3 -4 5 5 5 1 1 -4 4 5 2 1 1 -6 4 4 4 4 1 -3 4 4 4 4 3 diff --git a/python/tests/reference/Result/6grains6x7x8_single_phase.vtr b/python/tests/reference/Result/6grains6x7x8_single_phase.vtr new file mode 100644 index 000000000..9a7b7dd7d --- /dev/null +++ b/python/tests/reference/Result/6grains6x7x8_single_phase.vtr @@ -0,0 +1,30 @@ + + + + + + AQAAAACAAAARAAAAGQAAAA==eF7LyM/NT0/Ny6xKLMnMz1MwZAAAPsIGPQ== + + + + + + + + AQAAAACAAACACgAAwAAAAA==eF69lcsOwjAQA6GU//9lDsUSGjHyBgq+WGpm09jqY7sc2uA3uR43Gb+/YV/FfXd405S/P93ykmt8vPHRWX3+SpbDZHnj3O8snpqeN+L9TFd4lDmu05ljyn3bj/F5P2yfyNZbnilnc1MuOVZ5mzMu3vpsvbb1T5057Ltk/ZBvfVo/qzznGsdzTvvknO3D8zS+9fjvPlsu4/ifn87bf7DNNf7sPlf59rxYbuPircdp/6s81Z5navoeRav9PACxsANv + + + + + AQAAAACAAAA4AAAAHAAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0C3sAisIGjw== + + + AQAAAACAAABAAAAAHwAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9xh4AwVEHug== + + + AQAAAACAAABIAAAAIgAAAA==eF5jYEAGB+wh9AUofQNKP4DST6D0Cyj9Bkp/sAcAAU8I6Q== + + + + + diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 68b72badf..5ef17cd26 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -341,6 +341,11 @@ class TestResult: os.chdir(tmp_path) default.save_vtk(output) + @pytest.mark.parametrize('mode',['point','cell']) + def test_vtk_mode(self,tmp_path,single_phase,mode): + os.chdir(tmp_path) + single_phase.save_vtk(mode=mode) + def test_XDMF(self,tmp_path,single_phase): os.chdir(tmp_path) single_phase.save_XDMF() From 839be90943bd7fd9edb50f63ae5995cae1a3c092 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 27 Oct 2020 21:27:26 +0100 Subject: [PATCH 909/958] consistent naming Nxxxs => the number of xxx --- src/CPFEM.f90 | 6 +-- src/constitutive.f90 | 6 +-- src/constitutive_damage.f90 | 2 +- src/constitutive_plastic_disloTungsten.f90 | 2 +- src/constitutive_plastic_dislotwin.f90 | 2 +- src/constitutive_plastic_isotropic.f90 | 2 +- src/constitutive_plastic_kinehardening.f90 | 2 +- src/constitutive_plastic_none.f90 | 2 +- src/constitutive_plastic_nonlocal.f90 | 16 ++++---- src/constitutive_plastic_phenopowerlaw.f90 | 2 +- src/constitutive_thermal.f90 | 2 +- src/crystallite.f90 | 38 +++++++++--------- src/damage_local.f90 | 4 +- src/damage_nonlocal.f90 | 12 +++--- src/discretization.f90 | 8 ++-- src/homogenization.f90 | 46 +++++++++++----------- src/homogenization_mech_RGC.f90 | 2 +- src/homogenization_mech_isostrain.f90 | 2 +- src/homogenization_mech_none.f90 | 2 +- src/material.f90 | 28 ++++++------- src/source_damage_anisoBrittle.f90 | 2 +- src/source_damage_anisoDuctile.f90 | 2 +- src/source_damage_isoBrittle.f90 | 2 +- src/source_damage_isoDuctile.f90 | 2 +- src/source_thermal_dissipation.f90 | 2 +- src/source_thermal_externalheat.f90 | 2 +- src/thermal_adiabatic.f90 | 12 +++--- src/thermal_conduction.f90 | 16 ++++---- 28 files changed, 113 insertions(+), 113 deletions(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index a55b9e4ce..c49ecbcb6 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -107,9 +107,9 @@ subroutine CPFEM_init print'(/,a)', ' <<<+- CPFEM init -+>>>'; flush(IO_STDOUT) - allocate(CPFEM_cs( 6,discretization_nIP,discretization_nElem), source= 0.0_pReal) - allocate(CPFEM_dcsdE( 6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) - allocate(CPFEM_dcsdE_knownGood(6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) + allocate(CPFEM_cs( 6,discretization_nIPs,discretization_Nelems), source= 0.0_pReal) + allocate(CPFEM_dcsdE( 6,6,discretization_nIPs,discretization_Nelems), source= 0.0_pReal) + allocate(CPFEM_dcsdE_knownGood(6,6,discretization_nIPs,discretization_Nelems), source= 0.0_pReal) !------------------------------------------------------------------------------ ! read debug options diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 9bbb9d285..c7658b77f 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -127,7 +127,7 @@ module constitutive instance,of,ip,el) real(pReal), dimension(3,3), intent(in) :: & Mp !< MandelStress - real(pReal), dimension(3,3,homogenization_maxNconstituent,discretization_nIP,discretization_nElem), intent(in) :: & + real(pReal), dimension(3,3,homogenization_maxNconstituents,discretization_nIPs,discretization_Nelems), intent(in) :: & F, & !< deformation gradient Fp !< plastic deformation gradient real(pReal), intent(in) :: & @@ -218,7 +218,7 @@ module constitutive instance, & i, & e - type(rotation), dimension(1,discretization_nIP,discretization_nElem), intent(in) :: & + type(rotation), dimension(1,discretization_nIPs,discretization_Nelems), intent(in) :: & orientation !< crystal orientation end subroutine plastic_nonlocal_updateCompatibility @@ -753,7 +753,7 @@ function constitutive_collectDotState(S, FArray, Fi, FpArray, subdt, ipc, ip, el of real(pReal), intent(in) :: & subdt !< timestep - real(pReal), intent(in), dimension(3,3,homogenization_maxNconstituent,discretization_nIP,discretization_nElem) :: & + real(pReal), intent(in), dimension(3,3,homogenization_maxNconstituents,discretization_nIPs,discretization_Nelems) :: & FArray, & !< elastic deformation gradient FpArray !< plastic deformation gradient real(pReal), intent(in), dimension(3,3) :: & diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 index 39b8534fe..56198987e 100644 --- a/src/constitutive_damage.f90 +++ b/src/constitutive_damage.f90 @@ -184,7 +184,7 @@ module subroutine constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi phiDot = 0.0_pReal dPhiDot_dPhi = 0.0_pReal - do grain = 1, homogenization_Nconstituent(material_homogenizationAt(el)) + do grain = 1, homogenization_Nconstituents(material_homogenizationAt(el)) phase = material_phaseAt(grain,el) constituent = material_phasememberAt(grain,ip,el) do source = 1, phase_Nsources(phase) diff --git a/src/constitutive_plastic_disloTungsten.f90 b/src/constitutive_plastic_disloTungsten.f90 index 54c01b912..d9eec28e8 100644 --- a/src/constitutive_plastic_disloTungsten.f90 +++ b/src/constitutive_plastic_disloTungsten.f90 @@ -221,7 +221,7 @@ module function plastic_disloTungsten_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! allocate state arrays - NipcMyPhase = count(material_phaseAt == p) * discretization_nIP + NipcMyPhase = count(material_phaseAt == p) * discretization_nIPs sizeDotState = size(['rho_mob ','rho_dip ','gamma_sl']) * prm%sum_N_sl sizeState = sizeDotState diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index 62dcdd83e..880c1cb99 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -407,7 +407,7 @@ module function plastic_dislotwin_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! allocate state arrays - NipcMyPhase = count(material_phaseAt == p) * discretization_nIP + NipcMyPhase = count(material_phaseAt == p) * discretization_nIPs sizeDotState = size(['rho_mob ','rho_dip ','gamma_sl']) * prm%sum_N_sl & + size(['f_tw']) * prm%sum_N_tw & + size(['f_tr']) * prm%sum_N_tr diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index 2c9028671..1d26fc54c 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -130,7 +130,7 @@ module function plastic_isotropic_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! allocate state arrays - NipcMyPhase = count(material_phaseAt == p) * discretization_nIP + NipcMyPhase = count(material_phaseAt == p) * discretization_nIPs sizeDotState = size(['xi ','gamma']) sizeState = sizeDotState diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index 777691242..65c92423c 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -174,7 +174,7 @@ module function plastic_kinehardening_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! allocate state arrays - NipcMyPhase = count(material_phaseAt == p) * discretization_nIP + NipcMyPhase = count(material_phaseAt == p) * discretization_nIPs sizeDotState = size(['crss ','crss_back', 'accshear ']) * prm%sum_N_sl!ToDo: adjust names, ask Philip sizeDeltaState = size(['sense ', 'chi0 ', 'gamma0' ]) * prm%sum_N_sl !ToDo: adjust names sizeState = sizeDotState + sizeDeltaState diff --git a/src/constitutive_plastic_none.f90 b/src/constitutive_plastic_none.f90 index ab5f32d3f..cf2942414 100644 --- a/src/constitutive_plastic_none.f90 +++ b/src/constitutive_plastic_none.f90 @@ -41,7 +41,7 @@ module function plastic_none_init() result(myPlasticity) do p = 1, phases%length phase => phases%get(p) if(.not. myPlasticity(p)) cycle - NipcMyPhase = count(material_phaseAt == p) * discretization_nIP + NipcMyPhase = count(material_phaseAt == p) * discretization_nIPs call constitutive_allocateState(plasticState(p),NipcMyPhase,0,0,0) enddo diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 86b7df859..a860b21da 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -391,7 +391,7 @@ module function plastic_nonlocal_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! allocate state arrays - NipcMyPhase = count(material_phaseAt==p) * discretization_nIP + NipcMyPhase = count(material_phaseAt==p) * discretization_nIPs sizeDotState = size([ 'rhoSglEdgePosMobile ','rhoSglEdgeNegMobile ', & 'rhoSglScrewPosMobile ','rhoSglScrewNegMobile ', & 'rhoSglEdgePosImmobile ','rhoSglEdgeNegImmobile ', & @@ -505,7 +505,7 @@ module function plastic_nonlocal_init() result(myPlasticity) enddo allocate(compatibility(2,maxval(param%sum_N_sl),maxval(param%sum_N_sl),nIPneighbors,& - discretization_nIP,discretization_nElem), source=0.0_pReal) + discretization_nIPs,discretization_Nelems), source=0.0_pReal) ! BEGIN DEPRECATED---------------------------------------------------------------------------------- allocate(iRhoU(maxval(param%sum_N_sl),4,Ninstance), source=0) @@ -519,7 +519,7 @@ module function plastic_nonlocal_init() result(myPlasticity) if(.not. myPlasticity(p)) cycle i = i + 1 - NipcMyPhase = count(material_phaseAt==p) * discretization_nIP + NipcMyPhase = count(material_phaseAt==p) * discretization_nIPs l = 0 do t = 1,4 do s = 1,param(i)%sum_N_sl @@ -976,7 +976,7 @@ module subroutine plastic_nonlocal_dotState(Mp, F, Fp, Temperature,timestep, & real(pReal), dimension(3,3), intent(in) :: & Mp !< MandelStress - real(pReal), dimension(3,3,homogenization_maxNconstituent,discretization_nIP,discretization_nElem), intent(in) :: & + real(pReal), dimension(3,3,homogenization_maxNconstituents,discretization_nIPs,discretization_Nelems), intent(in) :: & F, & !< elastic deformation gradient Fp !< plastic deformation gradient real(pReal), intent(in) :: & @@ -1176,7 +1176,7 @@ end subroutine plastic_nonlocal_dotState !--------------------------------------------------------------------------------------------------- function rhoDotFlux(F,Fp,timestep, instance,of,ip,el) - real(pReal), dimension(3,3,homogenization_maxNconstituent,discretization_nIP,discretization_nElem), intent(in) :: & + real(pReal), dimension(3,3,homogenization_maxNconstituents,discretization_nIPs,discretization_Nelems), intent(in) :: & F, & !< elastic deformation gradient Fp !< plastic deformation gradient real(pReal), intent(in) :: & @@ -1416,7 +1416,7 @@ end function rhoDotFlux !-------------------------------------------------------------------------------------------------- module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e) - type(rotation), dimension(1,discretization_nIP,discretization_nElem), intent(in) :: & + type(rotation), dimension(1,discretization_nIPs,discretization_Nelems), intent(in) :: & orientation ! crystal orientation integer, intent(in) :: & instance, & @@ -1632,8 +1632,8 @@ subroutine stateInit(ini,phase,NipcMyPhase,instance) associate(stt => state(instance)) if (ini%random_rho_u > 0.0_pReal) then ! randomly distribute dislocation segments on random slip system and of random type in the volume - do e = 1,discretization_nElem - do i = 1,discretization_nIP + do e = 1,discretization_Nelems + do i = 1,discretization_nIPs if (material_phaseAt(1,e) == phase) volume(material_phasememberAt(1,i,e)) = IPvolume(i,e) enddo enddo diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index fd1b5fbbb..50c8e835a 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -224,7 +224,7 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! allocate state arrays - NipcMyPhase = count(material_phaseAt == p) * discretization_nIP + NipcMyPhase = count(material_phaseAt == p) * discretization_nIPs sizeDotState = size(['xi_sl ','gamma_sl']) * prm%sum_N_sl & + size(['xi_tw ','gamma_tw']) * prm%sum_N_tw sizeState = sizeDotState diff --git a/src/constitutive_thermal.f90 b/src/constitutive_thermal.f90 index 944e5d72d..a7d5d3259 100644 --- a/src/constitutive_thermal.f90 +++ b/src/constitutive_thermal.f90 @@ -95,7 +95,7 @@ module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, homog = material_homogenizationAt(el) instance = thermal_typeInstance(homog) - do grain = 1, homogenization_Nconstituent(homog) + do grain = 1, homogenization_Nconstituents(homog) phase = material_phaseAt(grain,el) constituent = material_phasememberAt(grain,ip,el) do source = 1, phase_Nsources(phase) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index b71bb37f0..c00b076a3 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -135,7 +135,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine crystallite_init - logical, dimension(discretization_nIP,discretization_nElem) :: devNull + logical, dimension(discretization_nIPs,discretization_Nelems) :: devNull integer :: & c, & !< counter in integration point component loop i, & !< counter in integration point loop @@ -162,9 +162,9 @@ subroutine crystallite_init debugCrystallite%ip = config_debug%get_asInt('integrationpoint', defaultVal=1) debugCrystallite%grain = config_debug%get_asInt('grain', defaultVal=1) - cMax = homogenization_maxNconstituent - iMax = discretization_nIP - eMax = discretization_nElem + cMax = homogenization_maxNconstituents + iMax = discretization_nIPs + eMax = discretization_Nelems allocate(crystallite_partitionedF(3,3,cMax,iMax,eMax),source=0.0_pReal) @@ -253,7 +253,7 @@ subroutine crystallite_init ! initialize !$OMP PARALLEL DO PRIVATE(i,c) do e = FEsolving_execElem(1),FEsolving_execElem(2) - do i = FEsolving_execIP(1), FEsolving_execIP(2); do c = 1, homogenization_Nconstituent(material_homogenizationAt(e)) + do i = FEsolving_execIP(1), FEsolving_execIP(2); do c = 1, homogenization_Nconstituents(material_homogenizationAt(e)) crystallite_Fp0(1:3,1:3,c,i,e) = material_orientation0(c,i,e)%asMatrix() ! Fp reflects initial orientation (see 10.1016/j.actamat.2006.01.005) crystallite_Fp0(1:3,1:3,c,i,e) = crystallite_Fp0(1:3,1:3,c,i,e) & / math_det33(crystallite_Fp0(1:3,1:3,c,i,e))**(1.0_pReal/3.0_pReal) @@ -279,7 +279,7 @@ subroutine crystallite_init !$OMP PARALLEL DO do e = FEsolving_execElem(1),FEsolving_execElem(2) do i = FEsolving_execIP(1),FEsolving_execIP(2) - do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) + do c = 1,homogenization_Nconstituents(material_homogenizationAt(e)) call constitutive_dependentState(crystallite_partitionedF0(1:3,1:3,c,i,e), & crystallite_partitionedFp0(1:3,1:3,c,i,e), & c,i,e) ! update dependent state variables to be consistent with basic states @@ -307,7 +307,7 @@ end subroutine crystallite_init !-------------------------------------------------------------------------------------------------- function crystallite_stress() - logical, dimension(discretization_nIP,discretization_nElem) :: crystallite_stress + logical, dimension(discretization_nIPs,discretization_Nelems) :: crystallite_stress real(pReal) :: & formerSubStep integer :: & @@ -317,7 +317,7 @@ function crystallite_stress() e, & !< counter in element loop startIP, endIP, & s - logical, dimension(homogenization_maxNconstituent,discretization_nIP,discretization_nElem) :: todo !ToDo: need to set some values to false for different Ngrains + logical, dimension(homogenization_maxNconstituents,discretization_nIPs,discretization_Nelems) :: todo !ToDo: need to set some values to false for different Ngrains real(pReal), dimension(:,:,:,:,:), allocatable :: & subLp0,& !< plastic velocity grad at start of crystallite inc subLi0 !< intermediate velocity grad at start of crystallite inc @@ -335,7 +335,7 @@ function crystallite_stress() crystallite_subStep = 0.0_pReal !$OMP PARALLEL DO elementLooping1: do e = FEsolving_execElem(1),FEsolving_execElem(2) - do i = FEsolving_execIP(1),FEsolving_execIP(2); do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) + do i = FEsolving_execIP(1),FEsolving_execIP(2); do c = 1,homogenization_Nconstituents(material_homogenizationAt(e)) homogenizationRequestsCalculation: if (crystallite_requested(c,i,e)) then plasticState (material_phaseAt(c,e))%subState0( :,material_phaseMemberAt(c,i,e)) = & plasticState (material_phaseAt(c,e))%partitionedState0(:,material_phaseMemberAt(c,i,e)) @@ -362,7 +362,7 @@ function crystallite_stress() endIP = startIP else singleRun startIP = 1 - endIP = discretization_nIP + endIP = discretization_nIPs endif singleRun NiterationCrystallite = 0 @@ -376,7 +376,7 @@ function crystallite_stress() !$OMP PARALLEL DO PRIVATE(formerSubStep) elementLooping3: do e = FEsolving_execElem(1),FEsolving_execElem(2) do i = FEsolving_execIP(1),FEsolving_execIP(2) - do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) + do c = 1,homogenization_Nconstituents(material_homogenizationAt(e)) !-------------------------------------------------------------------------------------------------- ! wind forward if (crystallite_converged(c,i,e)) then @@ -472,7 +472,7 @@ subroutine crystallite_initializeRestorationPoints(i,e) c, & !< constituent number s - do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) + do c = 1,homogenization_Nconstituents(material_homogenizationAt(e)) crystallite_partitionedFp0(1:3,1:3,c,i,e) = crystallite_Fp0(1:3,1:3,c,i,e) crystallite_partitionedLp0(1:3,1:3,c,i,e) = crystallite_Lp0(1:3,1:3,c,i,e) crystallite_partitionedFi0(1:3,1:3,c,i,e) = crystallite_Fi0(1:3,1:3,c,i,e) @@ -503,7 +503,7 @@ subroutine crystallite_windForward(i,e) c, & !< constituent number s - do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) + do c = 1,homogenization_Nconstituents(material_homogenizationAt(e)) crystallite_partitionedF0 (1:3,1:3,c,i,e) = crystallite_partitionedF(1:3,1:3,c,i,e) crystallite_partitionedFp0(1:3,1:3,c,i,e) = crystallite_Fp (1:3,1:3,c,i,e) crystallite_partitionedLp0(1:3,1:3,c,i,e) = crystallite_Lp (1:3,1:3,c,i,e) @@ -536,7 +536,7 @@ subroutine crystallite_restore(i,e,includeL) c, & !< constituent number s - do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) + do c = 1,homogenization_Nconstituents(material_homogenizationAt(e)) if (includeL) then crystallite_Lp(1:3,1:3,c,i,e) = crystallite_partitionedLp0(1:3,1:3,c,i,e) crystallite_Li(1:3,1:3,c,i,e) = crystallite_partitionedLi0(1:3,1:3,c,i,e) @@ -697,7 +697,7 @@ subroutine crystallite_orientations !$OMP PARALLEL DO do e = FEsolving_execElem(1),FEsolving_execElem(2) do i = FEsolving_execIP(1),FEsolving_execIP(2) - do c = 1,homogenization_Nconstituent(material_homogenizationAt(e)) + do c = 1,homogenization_Nconstituents(material_homogenizationAt(e)) call crystallite_orientation(c,i,e)%fromMatrix(transpose(math_rotationalPart(crystallite_Fe(1:3,1:3,c,i,e)))) enddo; enddo; enddo !$OMP END PARALLEL DO @@ -821,11 +821,11 @@ subroutine crystallite_results real(pReal), allocatable, dimension(:,:,:) :: select_tensors integer :: e,i,c,j - allocate(select_tensors(3,3,count(material_phaseAt==instance)*discretization_nIP)) + allocate(select_tensors(3,3,count(material_phaseAt==instance)*discretization_nIPs)) j=0 do e = 1, size(material_phaseAt,2) - do i = 1, discretization_nIP + do i = 1, discretization_nIPs do c = 1, size(material_phaseAt,1) !ToDo: this needs to be changed for varying Ngrains if (material_phaseAt(c,e) == instance) then j = j + 1 @@ -848,11 +848,11 @@ subroutine crystallite_results type(rotation), allocatable, dimension(:) :: select_rotations integer :: e,i,c,j - allocate(select_rotations(count(material_phaseAt==instance)*homogenization_maxNconstituent*discretization_nIP)) + allocate(select_rotations(count(material_phaseAt==instance)*homogenization_maxNconstituents*discretization_nIPs)) j=0 do e = 1, size(material_phaseAt,2) - do i = 1, discretization_nIP + do i = 1, discretization_nIPs do c = 1, size(material_phaseAt,1) !ToDo: this needs to be changed for varying Ngrains if (material_phaseAt(c,e) == instance) then j = j + 1 diff --git a/src/damage_local.f90 b/src/damage_local.f90 index d36139a99..fefdffce2 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -143,8 +143,8 @@ subroutine damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el call constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) - phiDot = phiDot/real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) - dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) + phiDot = phiDot/real(homogenization_Nconstituents(material_homogenizationAt(el)),pReal) + dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Nconstituents(material_homogenizationAt(el)),pReal) end subroutine damage_local_getSourceAndItsTangent diff --git a/src/damage_nonlocal.f90 b/src/damage_nonlocal.f90 index f68d778aa..8b494678e 100644 --- a/src/damage_nonlocal.f90 +++ b/src/damage_nonlocal.f90 @@ -110,8 +110,8 @@ subroutine damage_nonlocal_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, dPhiDot_dPhi = 0.0_pReal call constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el) - phiDot = phiDot/real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) - dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) + phiDot = phiDot/real(homogenization_Nconstituents(material_homogenizationAt(el)),pReal) + dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Nconstituents(material_homogenizationAt(el)),pReal) end subroutine damage_nonlocal_getSourceAndItsTangent @@ -132,13 +132,13 @@ function damage_nonlocal_getDiffusion(ip,el) homog = material_homogenizationAt(el) damage_nonlocal_getDiffusion = 0.0_pReal - do grain = 1, homogenization_Nconstituent(homog) + do grain = 1, homogenization_Nconstituents(homog) damage_nonlocal_getDiffusion = damage_nonlocal_getDiffusion + & crystallite_push33ToRef(grain,ip,el,lattice_D(1:3,1:3,material_phaseAt(grain,el))) enddo damage_nonlocal_getDiffusion = & - num%charLength**2*damage_nonlocal_getDiffusion/real(homogenization_Nconstituent(homog),pReal) + num%charLength**2*damage_nonlocal_getDiffusion/real(homogenization_Nconstituents(homog),pReal) end function damage_nonlocal_getDiffusion @@ -156,12 +156,12 @@ real(pReal) function damage_nonlocal_getMobility(ip,el) damage_nonlocal_getMobility = 0.0_pReal - do ipc = 1, homogenization_Nconstituent(material_homogenizationAt(el)) + do ipc = 1, homogenization_Nconstituents(material_homogenizationAt(el)) damage_nonlocal_getMobility = damage_nonlocal_getMobility + lattice_M(material_phaseAt(ipc,el)) enddo damage_nonlocal_getMobility = damage_nonlocal_getMobility/& - real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) + real(homogenization_Nconstituents(material_homogenizationAt(el)),pReal) end function damage_nonlocal_getMobility diff --git a/src/discretization.f90 b/src/discretization.f90 index e6e53fcf4..0b8925e4a 100644 --- a/src/discretization.f90 +++ b/src/discretization.f90 @@ -11,8 +11,8 @@ module discretization private integer, public, protected :: & - discretization_nIP, & - discretization_nElem + discretization_nIPs, & + discretization_Nelems integer, public, protected, dimension(:), allocatable :: & discretization_materialAt @@ -51,8 +51,8 @@ subroutine discretization_init(materialAt,& print'(/,a)', ' <<<+- discretization init -+>>>'; flush(6) - discretization_nElem = size(materialAt,1) - discretization_nIP = size(IPcoords0,2)/discretization_nElem + discretization_Nelems = size(materialAt,1) + discretization_nIPs = size(IPcoords0,2)/discretization_Nelems discretization_materialAt = materialAt diff --git a/src/homogenization.f90 b/src/homogenization.f90 index c717c24fd..02f1d3bf0 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -158,7 +158,7 @@ subroutine homogenization_init debugHomog%grain = config_debug%get_asInt('grain',defaultVal = 1) if (debugHomog%grain < 1 & - .or. debugHomog%grain > homogenization_Nconstituent(material_homogenizationAt(debugHomog%element))) & + .or. debugHomog%grain > homogenization_Nconstituents(material_homogenizationAt(debugHomog%element))) & call IO_error(602,ext_msg='constituent', el=debugHomog%element, g=debugHomog%grain) @@ -181,10 +181,10 @@ subroutine homogenization_init !-------------------------------------------------------------------------------------------------- ! allocate and initialize global variables - allocate(homogenization_dPdF(3,3,3,3,discretization_nIP,discretization_nElem), source=0.0_pReal) - homogenization_F0 = spread(spread(math_I3,3,discretization_nIP),4,discretization_nElem) ! initialize to identity + allocate(homogenization_dPdF(3,3,3,3,discretization_nIPs,discretization_Nelems), source=0.0_pReal) + homogenization_F0 = spread(spread(math_I3,3,discretization_nIPs),4,discretization_Nelems) ! initialize to identity homogenization_F = homogenization_F0 ! initialize to identity - allocate(homogenization_P(3,3,discretization_nIP,discretization_nElem), source=0.0_pReal) + allocate(homogenization_P(3,3,discretization_nIPs,discretization_Nelems), source=0.0_pReal) print'(/,a)', ' <<<+- homogenization init -+>>>'; flush(IO_STDOUT) @@ -213,13 +213,13 @@ subroutine materialpoint_stressAndItsTangent(dt) i, & !< integration point number e, & !< element number myNgrains - real(pReal), dimension(discretization_nIP,discretization_nElem) :: & + real(pReal), dimension(discretization_nIPs,discretization_Nelems) :: & subFrac, & subStep - logical, dimension(discretization_nIP,discretization_nElem) :: & + logical, dimension(discretization_nIPs,discretization_Nelems) :: & requested, & converged - logical, dimension(2,discretization_nIP,discretization_nElem) :: & + logical, dimension(2,discretization_nIPs,discretization_Nelems) :: & doneAndHappy @@ -257,7 +257,7 @@ subroutine materialpoint_stressAndItsTangent(dt) !$OMP PARALLEL DO elementLooping1: do e = FEsolving_execElem(1),FEsolving_execElem(2) - myNgrains = homogenization_Nconstituent(material_homogenizationAt(e)) + myNgrains = homogenization_Nconstituents(material_homogenizationAt(e)) IpLooping1: do i = FEsolving_execIP(1),FEsolving_execIP(2) if (converged(i,e)) then @@ -327,7 +327,7 @@ subroutine materialpoint_stressAndItsTangent(dt) ! deformation partitioning !$OMP PARALLEL DO PRIVATE(myNgrains) elementLooping2: do e = FEsolving_execElem(1),FEsolving_execElem(2) - myNgrains = homogenization_Nconstituent(material_homogenizationAt(e)) + myNgrains = homogenization_Nconstituents(material_homogenizationAt(e)) IpLooping2: do i = FEsolving_execIP(1),FEsolving_execIP(2) if(requested(i,e) .and. .not. doneAndHappy(1,i,e)) then ! requested but not yet done call partitionDeformation(homogenization_F0(1:3,1:3,i,e) & @@ -408,12 +408,12 @@ subroutine partitionDeformation(subF,ip,el) case (HOMOGENIZATION_ISOSTRAIN_ID) chosenHomogenization call mech_isostrain_partitionDeformation(& - crystallite_partitionedF(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & + crystallite_partitionedF(1:3,1:3,1:homogenization_Nconstituents(material_homogenizationAt(el)),ip,el), & subF) case (HOMOGENIZATION_RGC_ID) chosenHomogenization call mech_RGC_partitionDeformation(& - crystallite_partitionedF(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & + crystallite_partitionedF(1:3,1:3,1:homogenization_Nconstituents(material_homogenizationAt(el)),ip,el), & subF,& ip, & el) @@ -437,19 +437,19 @@ function updateState(subdt,subF,ip,el) el !< element number integer :: c logical, dimension(2) :: updateState - real(pReal) :: dPdFs(3,3,3,3,homogenization_Nconstituent(material_homogenizationAt(el))) + real(pReal) :: dPdFs(3,3,3,3,homogenization_Nconstituents(material_homogenizationAt(el))) updateState = .true. chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) case (HOMOGENIZATION_RGC_ID) chosenHomogenization - do c=1,homogenization_Nconstituent(material_homogenizationAt(el)) + do c=1,homogenization_Nconstituents(material_homogenizationAt(el)) dPdFs(:,:,:,:,c) = crystallite_stressTangent(c,ip,el) enddo updateState = & updateState .and. & - mech_RGC_updateState(crystallite_P(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & - crystallite_partitionedF(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & - crystallite_partitionedF0(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el),& + mech_RGC_updateState(crystallite_P(1:3,1:3,1:homogenization_Nconstituents(material_homogenizationAt(el)),ip,el), & + crystallite_partitionedF(1:3,1:3,1:homogenization_Nconstituents(material_homogenizationAt(el)),ip,el), & + crystallite_partitionedF0(1:3,1:3,1:homogenization_Nconstituents(material_homogenizationAt(el)),ip,el),& subF,& subdt, & dPdFs, & @@ -487,7 +487,7 @@ subroutine averageStressAndItsTangent(ip,el) ip, & !< integration point el !< element number integer :: c - real(pReal) :: dPdFs(3,3,3,3,homogenization_Nconstituent(material_homogenizationAt(el))) + real(pReal) :: dPdFs(3,3,3,3,homogenization_Nconstituents(material_homogenizationAt(el))) chosenHomogenization: select case(homogenization_type(material_homogenizationAt(el))) @@ -496,24 +496,24 @@ subroutine averageStressAndItsTangent(ip,el) homogenization_dPdF(1:3,1:3,1:3,1:3,ip,el) = crystallite_stressTangent(1,ip,el) case (HOMOGENIZATION_ISOSTRAIN_ID) chosenHomogenization - do c = 1, homogenization_Nconstituent(material_homogenizationAt(el)) + do c = 1, homogenization_Nconstituents(material_homogenizationAt(el)) dPdFs(:,:,:,:,c) = crystallite_stressTangent(c,ip,el) enddo call mech_isostrain_averageStressAndItsTangent(& homogenization_P(1:3,1:3,ip,el), & homogenization_dPdF(1:3,1:3,1:3,1:3,ip,el),& - crystallite_P(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & + crystallite_P(1:3,1:3,1:homogenization_Nconstituents(material_homogenizationAt(el)),ip,el), & dPdFs, & homogenization_typeInstance(material_homogenizationAt(el))) case (HOMOGENIZATION_RGC_ID) chosenHomogenization - do c = 1, homogenization_Nconstituent(material_homogenizationAt(el)) + do c = 1, homogenization_Nconstituents(material_homogenizationAt(el)) dPdFs(:,:,:,:,c) = crystallite_stressTangent(c,ip,el) enddo call mech_RGC_averageStressAndItsTangent(& homogenization_P(1:3,1:3,ip,el), & homogenization_dPdF(1:3,1:3,1:3,1:3,ip,el),& - crystallite_P(1:3,1:3,1:homogenization_Nconstituent(material_homogenizationAt(el)),ip,el), & + crystallite_P(1:3,1:3,1:homogenization_Nconstituents(material_homogenizationAt(el)),ip,el), & dPdFs, & homogenization_typeInstance(material_homogenizationAt(el))) end select chosenHomogenization @@ -539,10 +539,10 @@ subroutine homogenization_results group = trim(group_base)//'/generic' call results_closeGroup(results_addGroup(group)) - !temp = reshape(homogenization_F,[3,3,discretization_nIP*discretization_nElem]) + !temp = reshape(homogenization_F,[3,3,discretization_nIPs*discretization_Nelems]) !call results_writeDataset(group,temp,'F',& ! 'deformation gradient','1') - !temp = reshape(homogenization_P,[3,3,discretization_nIP*discretization_nElem]) + !temp = reshape(homogenization_P,[3,3,discretization_nIPs*discretization_Nelems]) !call results_writeDataset(group,temp,'P',& ! '1st Piola-Kirchhoff stress','Pa') diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index 6bbbbbaa9..1a0f7a5d3 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -164,7 +164,7 @@ module subroutine mech_RGC_init(num_homogMech) #endif prm%N_constituents = homogMech%get_asInts('cluster_size',requiredSize=3) - if (homogenization_Nconstituent(h) /= product(prm%N_constituents)) & + if (homogenization_Nconstituents(h) /= product(prm%N_constituents)) & call IO_error(211,ext_msg='N_constituents (mech_RGC)') prm%xi_alpha = homogMech%get_asFloat('xi_alpha') diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index 5a03e1204..7f3724ae1 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -51,7 +51,7 @@ module subroutine mech_isostrain_init homogMech => homog%get('mech') associate(prm => param(homogenization_typeInstance(h))) - prm%N_constituents = homogenization_Nconstituent(h) + prm%N_constituents = homogenization_Nconstituents(h) select case(homogMech%get_asString('mapping',defaultVal = 'sum')) case ('sum') prm%mapping = parallel_ID diff --git a/src/homogenization_mech_none.f90 b/src/homogenization_mech_none.f90 index d64154dcc..80949010e 100644 --- a/src/homogenization_mech_none.f90 +++ b/src/homogenization_mech_none.f90 @@ -26,7 +26,7 @@ module subroutine mech_none_init do h = 1, size(homogenization_type) if(homogenization_type(h) /= HOMOGENIZATION_NONE_ID) cycle - if(homogenization_Nconstituent(h) /= 1) & + if(homogenization_Nconstituents(h) /= 1) & call IO_error(211,ext_msg='N_constituents (mech_none)') NofMyHomog = count(material_homogenizationAt == h) diff --git a/src/material.f90 b/src/material.f90 index 58a5c4080..a0c81a519 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -64,10 +64,10 @@ module material homogenization_type !< type of each homogenization integer, public, protected :: & - homogenization_maxNconstituent !< max number of grains in any USED homogenization + homogenization_maxNconstituents !< max number of grains in any USED homogenization integer, dimension(:), allocatable, public, protected :: & - homogenization_Nconstituent, & !< number of grains in each homogenization + homogenization_Nconstituents, & !< number of grains in each homogenization homogenization_typeInstance, & !< instance of particular type of each homogenization thermal_typeInstance, & !< instance of particular type of each thermal transport damage_typeInstance !< instance of particular type of each nonlocal damage @@ -183,7 +183,7 @@ subroutine material_init(restart) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! BEGIN DEPRECATED - allocate(mappingHomogenizationConst( discretization_nIP,discretization_nElem),source=1) + allocate(mappingHomogenizationConst( discretization_nIPs,discretization_Nelems),source=1) ! hack needed to initialize field values used during constitutive initialization do myHomog = 1, size(material_name_homogenization) @@ -312,29 +312,29 @@ subroutine material_parseMaterial material_name_phase = getKeys(phases) material_name_homogenization = getKeys(homogenizations) - allocate(homogenization_Nconstituent(homogenizations%length)) + allocate(homogenization_Nconstituents(homogenizations%length)) do h=1, homogenizations%length homogenization => homogenizations%get(h) - homogenization_Nconstituent(h) = homogenization%get_asInt('N_constituents') + homogenization_Nconstituents(h) = homogenization%get_asInt('N_constituents') enddo - homogenization_maxNconstituent = maxval(homogenization_Nconstituent) + homogenization_maxNconstituents = maxval(homogenization_Nconstituents) allocate(counterPhase(phases%length),source=0) allocate(counterHomogenization(homogenizations%length),source=0) - allocate(material_homogenizationAt(discretization_nElem),source=0) - allocate(material_homogenizationMemberAt(discretization_nIP,discretization_nElem),source=0) - allocate(material_phaseAt(homogenization_maxNconstituent,discretization_nElem),source=0) - allocate(material_phaseMemberAt(homogenization_maxNconstituent,discretization_nIP,discretization_nElem),source=0) + allocate(material_homogenizationAt(discretization_Nelems),source=0) + allocate(material_homogenizationMemberAt(discretization_nIPs,discretization_Nelems),source=0) + allocate(material_phaseAt(homogenization_maxNconstituents,discretization_Nelems),source=0) + allocate(material_phaseMemberAt(homogenization_maxNconstituents,discretization_nIPs,discretization_Nelems),source=0) - allocate(material_orientation0(homogenization_maxNconstituent,discretization_nIP,discretization_nElem)) + allocate(material_orientation0(homogenization_maxNconstituents,discretization_nIPs,discretization_Nelems)) - do e = 1, discretization_nElem + do e = 1, discretization_Nelems material => materials%get(discretization_materialAt(e)) constituents => material%get('constituents') material_homogenizationAt(e) = homogenizations%getIndex(material%get_asString('homogenization')) - do i = 1, discretization_nIP + do i = 1, discretization_nIPs counterHomogenization(material_homogenizationAt(e)) = counterHomogenization(material_homogenizationAt(e)) + 1 material_homogenizationMemberAt(i,e) = counterHomogenization(material_homogenizationAt(e)) enddo @@ -345,7 +345,7 @@ subroutine material_parseMaterial frac = frac + constituent%get_asFloat('fraction') material_phaseAt(c,e) = phases%getIndex(constituent%get_asString('phase')) - do i = 1, discretization_nIP + do i = 1, discretization_nIPs counterPhase(material_phaseAt(c,e)) = counterPhase(material_phaseAt(c,e)) + 1 material_phaseMemberAt(c,i,e) = counterPhase(material_phaseAt(c,e)) diff --git a/src/source_damage_anisoBrittle.f90 b/src/source_damage_anisoBrittle.f90 index 1954e6ea3..faeb8bd87 100644 --- a/src/source_damage_anisoBrittle.f90 +++ b/src/source_damage_anisoBrittle.f90 @@ -100,7 +100,7 @@ module function source_damage_anisoBrittle_init(source_length) result(mySources) if (any(prm%g_crit < 0.0_pReal)) extmsg = trim(extmsg)//' g_crit' if (any(prm%s_crit < 0.0_pReal)) extmsg = trim(extmsg)//' s_crit' - NipcMyPhase = count(material_phaseAt==p) * discretization_nIP + NipcMyPhase = count(material_phaseAt==p) * discretization_nIPs call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) sourceState(p)%p(sourceOffset)%atol = src%get_asFloat('anisobrittle_atol',defaultVal=1.0e-3_pReal) if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' anisobrittle_atol' diff --git a/src/source_damage_anisoDuctile.f90 b/src/source_damage_anisoDuctile.f90 index 3b8eb2428..fd3fa38ed 100644 --- a/src/source_damage_anisoDuctile.f90 +++ b/src/source_damage_anisoDuctile.f90 @@ -84,7 +84,7 @@ module function source_damage_anisoDuctile_init(source_length) result(mySources) if (prm%q <= 0.0_pReal) extmsg = trim(extmsg)//' q' if (any(prm%gamma_crit < 0.0_pReal)) extmsg = trim(extmsg)//' gamma_crit' - NipcMyPhase=count(material_phaseAt==p) * discretization_nIP + NipcMyPhase=count(material_phaseAt==p) * discretization_nIPs call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) sourceState(p)%p(sourceOffset)%atol = src%get_asFloat('anisoDuctile_atol',defaultVal=1.0e-3_pReal) if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' anisoductile_atol' diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index 714e71ef1..c56407c3d 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -73,7 +73,7 @@ module function source_damage_isoBrittle_init(source_length) result(mySources) ! sanity checks if (prm%W_crit <= 0.0_pReal) extmsg = trim(extmsg)//' W_crit' - NipcMyPhase = count(material_phaseAt==p) * discretization_nIP + NipcMyPhase = count(material_phaseAt==p) * discretization_nIPs call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,1) sourceState(p)%p(sourceOffset)%atol = src%get_asFloat('isoBrittle_atol',defaultVal=1.0e-3_pReal) if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' isobrittle_atol' diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index d958aed6a..0d068b6e4 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -77,7 +77,7 @@ module function source_damage_isoDuctile_init(source_length) result(mySources) if (prm%q <= 0.0_pReal) extmsg = trim(extmsg)//' q' if (prm%gamma_crit <= 0.0_pReal) extmsg = trim(extmsg)//' gamma_crit' - NipcMyPhase=count(material_phaseAt==p) * discretization_nIP + NipcMyPhase=count(material_phaseAt==p) * discretization_nIPs call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) sourceState(p)%p(sourceOffset)%atol = src%get_asFloat('isoDuctile_atol',defaultVal=1.0e-3_pReal) if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' isoductile_atol' diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index 5cc740424..734451a72 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -61,7 +61,7 @@ module function source_thermal_dissipation_init(source_length) result(mySources) src => sources%get(sourceOffset) prm%kappa = src%get_asFloat('kappa') - NipcMyPhase = count(material_phaseAt==p) * discretization_nIP + NipcMyPhase = count(material_phaseAt==p) * discretization_nIPs call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,0,0,0) end associate diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index 2eeeb47df..cbc1fa69d 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -69,7 +69,7 @@ module function source_thermal_externalheat_init(source_length) result(mySources prm%f_T = src%get_asFloats('f_T',requiredSize = size(prm%t_n)) - NipcMyPhase = count(material_phaseAt==p) * discretization_nIP + NipcMyPhase = count(material_phaseAt==p) * discretization_nIPs call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) end associate diff --git a/src/thermal_adiabatic.f90 b/src/thermal_adiabatic.f90 index 07dbdebff..189a7131a 100644 --- a/src/thermal_adiabatic.f90 +++ b/src/thermal_adiabatic.f90 @@ -145,8 +145,8 @@ subroutine thermal_adiabatic_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el) homog = material_homogenizationAt(el) call constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S, crystallite_Lp, ip, el) - Tdot = Tdot/real(homogenization_Nconstituent(homog),pReal) - dTdot_dT = dTdot_dT/real(homogenization_Nconstituent(homog),pReal) + Tdot = Tdot/real(homogenization_Nconstituents(homog),pReal) + dTdot_dT = dTdot_dT/real(homogenization_Nconstituents(homog),pReal) end subroutine thermal_adiabatic_getSourceAndItsTangent @@ -167,13 +167,13 @@ function thermal_adiabatic_getSpecificHeat(ip,el) thermal_adiabatic_getSpecificHeat = 0.0_pReal - do grain = 1, homogenization_Nconstituent(material_homogenizationAt(el)) + do grain = 1, homogenization_Nconstituents(material_homogenizationAt(el)) thermal_adiabatic_getSpecificHeat = thermal_adiabatic_getSpecificHeat & + lattice_c_p(material_phaseAt(grain,el)) enddo thermal_adiabatic_getSpecificHeat = thermal_adiabatic_getSpecificHeat & - / real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) + / real(homogenization_Nconstituents(material_homogenizationAt(el)),pReal) end function thermal_adiabatic_getSpecificHeat @@ -193,13 +193,13 @@ function thermal_adiabatic_getMassDensity(ip,el) thermal_adiabatic_getMassDensity = 0.0_pReal - do grain = 1, homogenization_Nconstituent(material_homogenizationAt(el)) + do grain = 1, homogenization_Nconstituents(material_homogenizationAt(el)) thermal_adiabatic_getMassDensity = thermal_adiabatic_getMassDensity & + lattice_rho(material_phaseAt(grain,el)) enddo thermal_adiabatic_getMassDensity = thermal_adiabatic_getMassDensity & - / real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) + / real(homogenization_Nconstituents(material_homogenizationAt(el)),pReal) end function thermal_adiabatic_getMassDensity diff --git a/src/thermal_conduction.f90 b/src/thermal_conduction.f90 index 616965df0..ead06306a 100644 --- a/src/thermal_conduction.f90 +++ b/src/thermal_conduction.f90 @@ -104,8 +104,8 @@ subroutine thermal_conduction_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el) homog = material_homogenizationAt(el) call constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, crystallite_S,crystallite_Lp ,ip, el) - Tdot = Tdot/real(homogenization_Nconstituent(homog),pReal) - dTdot_dT = dTdot_dT/real(homogenization_Nconstituent(homog),pReal) + Tdot = Tdot/real(homogenization_Nconstituents(homog),pReal) + dTdot_dT = dTdot_dT/real(homogenization_Nconstituents(homog),pReal) end subroutine thermal_conduction_getSourceAndItsTangent @@ -125,13 +125,13 @@ function thermal_conduction_getConductivity(ip,el) thermal_conduction_getConductivity = 0.0_pReal - do grain = 1, homogenization_Nconstituent(material_homogenizationAt(el)) + do grain = 1, homogenization_Nconstituents(material_homogenizationAt(el)) thermal_conduction_getConductivity = thermal_conduction_getConductivity + & crystallite_push33ToRef(grain,ip,el,lattice_K(:,:,material_phaseAt(grain,el))) enddo thermal_conduction_getConductivity = thermal_conduction_getConductivity & - / real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) + / real(homogenization_Nconstituents(material_homogenizationAt(el)),pReal) end function thermal_conduction_getConductivity @@ -151,13 +151,13 @@ function thermal_conduction_getSpecificHeat(ip,el) thermal_conduction_getSpecificHeat = 0.0_pReal - do grain = 1, homogenization_Nconstituent(material_homogenizationAt(el)) + do grain = 1, homogenization_Nconstituents(material_homogenizationAt(el)) thermal_conduction_getSpecificHeat = thermal_conduction_getSpecificHeat & + lattice_c_p(material_phaseAt(grain,el)) enddo thermal_conduction_getSpecificHeat = thermal_conduction_getSpecificHeat & - / real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) + / real(homogenization_Nconstituents(material_homogenizationAt(el)),pReal) end function thermal_conduction_getSpecificHeat @@ -178,13 +178,13 @@ function thermal_conduction_getMassDensity(ip,el) thermal_conduction_getMassDensity = 0.0_pReal - do grain = 1, homogenization_Nconstituent(material_homogenizationAt(el)) + do grain = 1, homogenization_Nconstituents(material_homogenizationAt(el)) thermal_conduction_getMassDensity = thermal_conduction_getMassDensity & + lattice_rho(material_phaseAt(grain,el)) enddo thermal_conduction_getMassDensity = thermal_conduction_getMassDensity & - / real(homogenization_Nconstituent(material_homogenizationAt(el)),pReal) + / real(homogenization_Nconstituents(material_homogenizationAt(el)),pReal) end function thermal_conduction_getMassDensity From 568d1a020cd64dd4ab605d4e3849d666b53885a5 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 27 Oct 2020 21:33:30 +0100 Subject: [PATCH 910/958] consistent names for counting variables --- src/constitutive.f90 | 16 ++--- src/constitutive_plastic_disloTungsten.f90 | 30 ++++----- src/constitutive_plastic_dislotwin.f90 | 46 +++++++------- src/constitutive_plastic_isotropic.f90 | 20 +++--- src/constitutive_plastic_kinehardening.f90 | 24 ++++---- src/constitutive_plastic_none.f90 | 14 ++--- src/constitutive_plastic_nonlocal.f90 | 72 +++++++++++----------- src/constitutive_plastic_phenopowerlaw.f90 | 24 ++++---- src/damage_local.f90 | 14 ++--- src/damage_none.f90 | 10 +-- src/damage_nonlocal.f90 | 14 ++--- src/homogenization_mech_RGC.f90 | 36 +++++------ src/homogenization_mech_isostrain.f90 | 20 +++--- src/homogenization_mech_none.f90 | 16 ++--- src/kinematics_cleavage_opening.f90 | 12 ++-- src/kinematics_slipplane_opening.f90 | 12 ++-- src/kinematics_thermal_expansion.f90 | 10 +-- src/source_damage_anisoBrittle.f90 | 16 ++--- src/source_damage_anisoDuctile.f90 | 16 ++--- src/source_damage_isoBrittle.f90 | 16 ++--- src/source_damage_isoDuctile.f90 | 16 ++--- src/source_thermal_dissipation.f90 | 18 +++--- src/source_thermal_externalheat.f90 | 16 ++--- src/thermal_adiabatic.f90 | 18 +++--- src/thermal_conduction.f90 | 18 +++--- src/thermal_isothermal.f90 | 10 +-- 26 files changed, 267 insertions(+), 267 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index c7658b77f..358937e4b 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -905,12 +905,12 @@ end function constitutive_deltaState !> @brief Allocate the components of the state structure for a given phase !-------------------------------------------------------------------------------------------------- subroutine constitutive_allocateState(state, & - NipcMyPhase,sizeState,sizeDotState,sizeDeltaState) + Nconstituents,sizeState,sizeDotState,sizeDeltaState) class(tState), intent(out) :: & state integer, intent(in) :: & - NipcMyPhase, & + Nconstituents, & sizeState, & sizeDotState, & sizeDeltaState @@ -921,14 +921,14 @@ subroutine constitutive_allocateState(state, & state%offsetDeltaState = sizeState-sizeDeltaState ! deltaState occupies latter part of state by definition allocate(state%atol (sizeState), source=0.0_pReal) - allocate(state%state0 (sizeState,NipcMyPhase), source=0.0_pReal) - allocate(state%partitionedState0(sizeState,NipcMyPhase), source=0.0_pReal) - allocate(state%subState0 (sizeState,NipcMyPhase), source=0.0_pReal) - allocate(state%state (sizeState,NipcMyPhase), source=0.0_pReal) + allocate(state%state0 (sizeState,Nconstituents), source=0.0_pReal) + allocate(state%partitionedState0(sizeState,Nconstituents), source=0.0_pReal) + allocate(state%subState0 (sizeState,Nconstituents), source=0.0_pReal) + allocate(state%state (sizeState,Nconstituents), source=0.0_pReal) - allocate(state%dotState (sizeDotState,NipcMyPhase), source=0.0_pReal) + allocate(state%dotState (sizeDotState,Nconstituents), source=0.0_pReal) - allocate(state%deltaState(sizeDeltaState,NipcMyPhase), source=0.0_pReal) + allocate(state%deltaState(sizeDeltaState,Nconstituents), source=0.0_pReal) end subroutine constitutive_allocateState diff --git a/src/constitutive_plastic_disloTungsten.f90 b/src/constitutive_plastic_disloTungsten.f90 index d9eec28e8..aef3bef89 100644 --- a/src/constitutive_plastic_disloTungsten.f90 +++ b/src/constitutive_plastic_disloTungsten.f90 @@ -78,9 +78,9 @@ module function plastic_disloTungsten_init() result(myPlasticity) logical, dimension(:), allocatable :: myPlasticity integer :: & - Ninstance, & + Ninstances, & p, i, & - NipcMyPhase, & + Nconstituents, & sizeState, sizeDotState, & startIndex, endIndex integer, dimension(:), allocatable :: & @@ -99,17 +99,17 @@ module function plastic_disloTungsten_init() result(myPlasticity) print'(/,a)', ' <<<+- plastic_dislotungsten init -+>>>' myPlasticity = plastic_active('disloTungsten') - Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(myPlasticity) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return print*, 'Cereceda et al., International Journal of Plasticity 78:242–256, 2016' print*, 'https://dx.doi.org/10.1016/j.ijplas.2015.09.002' - allocate(param(Ninstance)) - allocate(state(Ninstance)) - allocate(dotState(Ninstance)) - allocate(dependentState(Ninstance)) + allocate(param(Ninstances)) + allocate(state(Ninstances)) + allocate(dotState(Ninstances)) + allocate(dependentState(Ninstances)) phases => config_material%get('phase') i = 0 @@ -221,18 +221,18 @@ module function plastic_disloTungsten_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! allocate state arrays - NipcMyPhase = count(material_phaseAt == p) * discretization_nIPs + Nconstituents = count(material_phaseAt == p) * discretization_nIPs sizeDotState = size(['rho_mob ','rho_dip ','gamma_sl']) * prm%sum_N_sl sizeState = sizeDotState - call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) + call constitutive_allocateState(plasticState(p),Nconstituents,sizeState,sizeDotState,0) !-------------------------------------------------------------------------------------------------- ! state aliases and initialization startIndex = 1 endIndex = prm%sum_N_sl stt%rho_mob => plasticState(p)%state(startIndex:endIndex,:) - stt%rho_mob = spread(rho_mob_0,2,NipcMyPhase) + stt%rho_mob = spread(rho_mob_0,2,Nconstituents) dot%rho_mob => plasticState(p)%dotState(startIndex:endIndex,:) plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_rho',defaultVal=1.0_pReal) if (any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_rho' @@ -240,7 +240,7 @@ module function plastic_disloTungsten_init() result(myPlasticity) startIndex = endIndex + 1 endIndex = endIndex + prm%sum_N_sl stt%rho_dip => plasticState(p)%state(startIndex:endIndex,:) - stt%rho_dip = spread(rho_dip_0,2,NipcMyPhase) + stt%rho_dip = spread(rho_dip_0,2,Nconstituents) dot%rho_dip => plasticState(p)%dotState(startIndex:endIndex,:) plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_rho',defaultVal=1.0_pReal) @@ -252,8 +252,8 @@ module function plastic_disloTungsten_init() result(myPlasticity) ! global alias plasticState(p)%slipRate => plasticState(p)%dotState(startIndex:endIndex,:) - allocate(dst%Lambda_sl(prm%sum_N_sl,NipcMyPhase), source=0.0_pReal) - allocate(dst%threshold_stress(prm%sum_N_sl,NipcMyPhase), source=0.0_pReal) + allocate(dst%Lambda_sl(prm%sum_N_sl,Nconstituents), source=0.0_pReal) + allocate(dst%threshold_stress(prm%sum_N_sl,Nconstituents), source=0.0_pReal) plasticState(p)%state0 = plasticState(p)%state ! ToDo: this could be done centrally diff --git a/src/constitutive_plastic_dislotwin.f90 b/src/constitutive_plastic_dislotwin.f90 index 880c1cb99..30527e301 100644 --- a/src/constitutive_plastic_dislotwin.f90 +++ b/src/constitutive_plastic_dislotwin.f90 @@ -126,9 +126,9 @@ module function plastic_dislotwin_init() result(myPlasticity) logical, dimension(:), allocatable :: myPlasticity integer :: & - Ninstance, & + Ninstances, & p, i, & - NipcMyPhase, & + Nconstituents, & sizeState, sizeDotState, & startIndex, endIndex integer, dimension(:), allocatable :: & @@ -146,9 +146,9 @@ module function plastic_dislotwin_init() result(myPlasticity) print'(/,a)', ' <<<+- plastic_dislotwin init -+>>>' myPlasticity = plastic_active('dislotwin') - Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(myPlasticity) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return print*, 'Ma and Roters, Acta Materialia 52(12):3603–3612, 2004' print*, 'https://doi.org/10.1016/j.actamat.2004.04.012'//IO_EOL @@ -159,10 +159,10 @@ module function plastic_dislotwin_init() result(myPlasticity) print*, 'Wong et al., Acta Materialia 118:140–151, 2016' print*, 'https://doi.org/10.1016/j.actamat.2016.07.032' - allocate(param(Ninstance)) - allocate(state(Ninstance)) - allocate(dotState(Ninstance)) - allocate(dependentState(Ninstance)) + allocate(param(Ninstances)) + allocate(state(Ninstances)) + allocate(dotState(Ninstances)) + allocate(dependentState(Ninstances)) phases => config_material%get('phase') i = 0 @@ -407,21 +407,21 @@ module function plastic_dislotwin_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! allocate state arrays - NipcMyPhase = count(material_phaseAt == p) * discretization_nIPs + Nconstituents = count(material_phaseAt == p) * discretization_nIPs sizeDotState = size(['rho_mob ','rho_dip ','gamma_sl']) * prm%sum_N_sl & + size(['f_tw']) * prm%sum_N_tw & + size(['f_tr']) * prm%sum_N_tr sizeState = sizeDotState - call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) + call constitutive_allocateState(plasticState(p),Nconstituents,sizeState,sizeDotState,0) !-------------------------------------------------------------------------------------------------- ! locally defined state aliases and initialization of state0 and atol startIndex = 1 endIndex = prm%sum_N_sl stt%rho_mob=>plasticState(p)%state(startIndex:endIndex,:) - stt%rho_mob= spread(rho_mob_0,2,NipcMyPhase) + stt%rho_mob= spread(rho_mob_0,2,Nconstituents) dot%rho_mob=>plasticState(p)%dotState(startIndex:endIndex,:) plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_rho',defaultVal=1.0_pReal) if (any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_rho' @@ -429,7 +429,7 @@ module function plastic_dislotwin_init() result(myPlasticity) startIndex = endIndex + 1 endIndex = endIndex + prm%sum_N_sl stt%rho_dip=>plasticState(p)%state(startIndex:endIndex,:) - stt%rho_dip= spread(rho_dip_0,2,NipcMyPhase) + stt%rho_dip= spread(rho_dip_0,2,Nconstituents) dot%rho_dip=>plasticState(p)%dotState(startIndex:endIndex,:) plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_rho',defaultVal=1.0_pReal) @@ -455,18 +455,18 @@ module function plastic_dislotwin_init() result(myPlasticity) plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('f_trans',defaultVal=1.0e-6_pReal) if (any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' f_trans' - allocate(dst%Lambda_sl (prm%sum_N_sl,NipcMyPhase),source=0.0_pReal) - allocate(dst%tau_pass (prm%sum_N_sl,NipcMyPhase),source=0.0_pReal) + allocate(dst%Lambda_sl (prm%sum_N_sl,Nconstituents),source=0.0_pReal) + allocate(dst%tau_pass (prm%sum_N_sl,Nconstituents),source=0.0_pReal) - allocate(dst%Lambda_tw (prm%sum_N_tw,NipcMyPhase),source=0.0_pReal) - allocate(dst%tau_hat_tw (prm%sum_N_tw,NipcMyPhase),source=0.0_pReal) - allocate(dst%tau_r_tw (prm%sum_N_tw,NipcMyPhase),source=0.0_pReal) - allocate(dst%V_tw (prm%sum_N_tw,NipcMyPhase),source=0.0_pReal) + allocate(dst%Lambda_tw (prm%sum_N_tw,Nconstituents),source=0.0_pReal) + allocate(dst%tau_hat_tw (prm%sum_N_tw,Nconstituents),source=0.0_pReal) + allocate(dst%tau_r_tw (prm%sum_N_tw,Nconstituents),source=0.0_pReal) + allocate(dst%V_tw (prm%sum_N_tw,Nconstituents),source=0.0_pReal) - allocate(dst%Lambda_tr (prm%sum_N_tr,NipcMyPhase),source=0.0_pReal) - allocate(dst%tau_hat_tr (prm%sum_N_tr,NipcMyPhase),source=0.0_pReal) - allocate(dst%tau_r_tr (prm%sum_N_tr,NipcMyPhase),source=0.0_pReal) - allocate(dst%V_tr (prm%sum_N_tr,NipcMyPhase),source=0.0_pReal) + allocate(dst%Lambda_tr (prm%sum_N_tr,Nconstituents),source=0.0_pReal) + allocate(dst%tau_hat_tr (prm%sum_N_tr,Nconstituents),source=0.0_pReal) + allocate(dst%tau_r_tr (prm%sum_N_tr,Nconstituents),source=0.0_pReal) + allocate(dst%V_tr (prm%sum_N_tr,Nconstituents),source=0.0_pReal) plasticState(p)%state0 = plasticState(p)%state ! ToDo: this could be done centrally diff --git a/src/constitutive_plastic_isotropic.f90 b/src/constitutive_plastic_isotropic.f90 index 1d26fc54c..db418663f 100644 --- a/src/constitutive_plastic_isotropic.f90 +++ b/src/constitutive_plastic_isotropic.f90 @@ -53,10 +53,10 @@ module function plastic_isotropic_init() result(myPlasticity) logical, dimension(:), allocatable :: myPlasticity integer :: & - Ninstance, & + Ninstances, & p, & i, & - NipcMyPhase, & + Nconstituents, & sizeState, sizeDotState real(pReal) :: & xi_0 !< initial critical stress @@ -70,16 +70,16 @@ module function plastic_isotropic_init() result(myPlasticity) print'(/,a)', ' <<<+- plastic_isotropic init -+>>>' myPlasticity = plastic_active('isotropic') - Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(myPlasticity) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return print*, 'Maiti and Eisenlohr, Scripta Materialia 145:37–40, 2018' print*, 'https://doi.org/10.1016/j.scriptamat.2017.09.047' - allocate(param(Ninstance)) - allocate(state(Ninstance)) - allocate(dotState(Ninstance)) + allocate(param(Ninstances)) + allocate(state(Ninstances)) + allocate(dotState(Ninstances)) phases => config_material%get('phase') i = 0 @@ -130,11 +130,11 @@ module function plastic_isotropic_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! allocate state arrays - NipcMyPhase = count(material_phaseAt == p) * discretization_nIPs + Nconstituents = count(material_phaseAt == p) * discretization_nIPs sizeDotState = size(['xi ','gamma']) sizeState = sizeDotState - call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) + call constitutive_allocateState(plasticState(p),Nconstituents,sizeState,sizeDotState,0) !-------------------------------------------------------------------------------------------------- ! state aliases and initialization diff --git a/src/constitutive_plastic_kinehardening.f90 b/src/constitutive_plastic_kinehardening.f90 index 65c92423c..3faf7dc41 100644 --- a/src/constitutive_plastic_kinehardening.f90 +++ b/src/constitutive_plastic_kinehardening.f90 @@ -62,9 +62,9 @@ module function plastic_kinehardening_init() result(myPlasticity) logical, dimension(:), allocatable :: myPlasticity integer :: & - Ninstance, & + Ninstances, & p, i, o, & - NipcMyPhase, & + Nconstituents, & sizeState, sizeDeltaState, sizeDotState, & startIndex, endIndex integer, dimension(:), allocatable :: & @@ -82,14 +82,14 @@ module function plastic_kinehardening_init() result(myPlasticity) print'(/,a)', ' <<<+- plastic_kinehardening init -+>>>' myPlasticity = plastic_active('kinehardening') - Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(myPlasticity) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return - allocate(param(Ninstance)) - allocate(state(Ninstance)) - allocate(dotState(Ninstance)) - allocate(deltaState(Ninstance)) + allocate(param(Ninstances)) + allocate(state(Ninstances)) + allocate(dotState(Ninstances)) + allocate(deltaState(Ninstances)) phases => config_material%get('phase') i = 0 @@ -174,19 +174,19 @@ module function plastic_kinehardening_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! allocate state arrays - NipcMyPhase = count(material_phaseAt == p) * discretization_nIPs + Nconstituents = count(material_phaseAt == p) * discretization_nIPs sizeDotState = size(['crss ','crss_back', 'accshear ']) * prm%sum_N_sl!ToDo: adjust names, ask Philip sizeDeltaState = size(['sense ', 'chi0 ', 'gamma0' ]) * prm%sum_N_sl !ToDo: adjust names sizeState = sizeDotState + sizeDeltaState - call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,sizeDeltaState) + call constitutive_allocateState(plasticState(p),Nconstituents,sizeState,sizeDotState,sizeDeltaState) !-------------------------------------------------------------------------------------------------- ! state aliases and initialization startIndex = 1 endIndex = prm%sum_N_sl stt%crss => plasticState(p)%state (startIndex:endIndex,:) - stt%crss = spread(xi_0, 2, NipcMyPhase) + stt%crss = spread(xi_0, 2, Nconstituents) dot%crss => plasticState(p)%dotState(startIndex:endIndex,:) plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_xi',defaultVal=1.0_pReal) if(any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_xi' diff --git a/src/constitutive_plastic_none.f90 b/src/constitutive_plastic_none.f90 index cf2942414..923ae354a 100644 --- a/src/constitutive_plastic_none.f90 +++ b/src/constitutive_plastic_none.f90 @@ -16,9 +16,9 @@ module function plastic_none_init() result(myPlasticity) logical, dimension(:), allocatable :: myPlasticity integer :: & - Ninstance, & + Ninstances, & p, & - NipcMyPhase + Nconstituents class(tNode), pointer :: & phases, & phase, & @@ -34,15 +34,15 @@ module function plastic_none_init() result(myPlasticity) if(pl%get_asString('type') == 'none') myPlasticity(p) = .true. enddo - Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(myPlasticity) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return do p = 1, phases%length phase => phases%get(p) if(.not. myPlasticity(p)) cycle - NipcMyPhase = count(material_phaseAt == p) * discretization_nIPs - call constitutive_allocateState(plasticState(p),NipcMyPhase,0,0,0) + Nconstituents = count(material_phaseAt == p) * discretization_nIPs + call constitutive_allocateState(plasticState(p),Nconstituents,0,0,0) enddo end function plastic_none_init diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index a860b21da..472415ba9 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -153,7 +153,7 @@ submodule(constitutive:constitutive_plastic) plastic_nonlocal state, & state0 - type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstances) type(tNonlocalMicrostructure), dimension(:), allocatable :: microstructure @@ -168,9 +168,9 @@ module function plastic_nonlocal_init() result(myPlasticity) logical, dimension(:), allocatable :: myPlasticity integer :: & - Ninstance, & + Ninstances, & p, i, & - NipcMyPhase, & + Nconstituents, & sizeState, sizeDotState, sizeDependentState, sizeDeltaState, & s1, s2, & s, t, l @@ -188,9 +188,9 @@ module function plastic_nonlocal_init() result(myPlasticity) print'(/,a)', ' <<<+- plastic_nonlocal init -+>>>' myPlasticity = plastic_active('nonlocal') - Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) then + Ninstances = count(myPlasticity) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) then call geometry_plastic_nonlocal_disable return endif @@ -201,12 +201,12 @@ module function plastic_nonlocal_init() result(myPlasticity) print*, 'Kords, Dissertation RWTH Aachen, 2014' print*, 'http://publications.rwth-aachen.de/record/229993' - allocate(param(Ninstance)) - allocate(state(Ninstance)) - allocate(state0(Ninstance)) - allocate(dotState(Ninstance)) - allocate(deltaState(Ninstance)) - allocate(microstructure(Ninstance)) + allocate(param(Ninstances)) + allocate(state(Ninstances)) + allocate(state0(Ninstances)) + allocate(dotState(Ninstances)) + allocate(deltaState(Ninstances)) + allocate(microstructure(Ninstances)) phases => config_material%get('phase') i = 0 @@ -391,7 +391,7 @@ module function plastic_nonlocal_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! allocate state arrays - NipcMyPhase = count(material_phaseAt==p) * discretization_nIPs + Nconstituents = count(material_phaseAt==p) * discretization_nIPs sizeDotState = size([ 'rhoSglEdgePosMobile ','rhoSglEdgeNegMobile ', & 'rhoSglScrewPosMobile ','rhoSglScrewNegMobile ', & 'rhoSglEdgePosImmobile ','rhoSglEdgeNegImmobile ', & @@ -405,7 +405,7 @@ module function plastic_nonlocal_init() result(myPlasticity) 'maxDipoleHeightEdge ','maxDipoleHeightScrew' ]) * prm%sum_N_sl !< other dependent state variables that are not updated by microstructure sizeDeltaState = sizeDotState - call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,sizeDeltaState) + call constitutive_allocateState(plasticState(p),Nconstituents,sizeState,sizeDotState,sizeDeltaState) plasticState(p)%nonlocal = pl%get_asBool('nonlocal') if(plasticState(p)%nonlocal .and. .not. allocated(IPneighborhood)) & @@ -476,26 +476,26 @@ module function plastic_nonlocal_init() result(myPlasticity) dot%rho_dip_scr => plasticState(p)%dotState (9*prm%sum_N_sl+1:10*prm%sum_N_sl,:) del%rho_dip_scr => plasticState(p)%deltaState (9*prm%sum_N_sl+1:10*prm%sum_N_sl,:) - stt%gamma => plasticState(p)%state (10*prm%sum_N_sl + 1:11*prm%sum_N_sl,1:NipcMyPhase) - dot%gamma => plasticState(p)%dotState (10*prm%sum_N_sl + 1:11*prm%sum_N_sl,1:NipcMyPhase) - del%gamma => plasticState(p)%deltaState (10*prm%sum_N_sl + 1:11*prm%sum_N_sl,1:NipcMyPhase) + stt%gamma => plasticState(p)%state (10*prm%sum_N_sl + 1:11*prm%sum_N_sl,1:Nconstituents) + dot%gamma => plasticState(p)%dotState (10*prm%sum_N_sl + 1:11*prm%sum_N_sl,1:Nconstituents) + del%gamma => plasticState(p)%deltaState (10*prm%sum_N_sl + 1:11*prm%sum_N_sl,1:Nconstituents) plasticState(p)%atol(10*prm%sum_N_sl+1:11*prm%sum_N_sl ) = pl%get_asFloat('atol_gamma', defaultVal = 1.0e-2_pReal) if(any(plasticState(p)%atol(10*prm%sum_N_sl+1:11*prm%sum_N_sl) < 0.0_pReal)) & extmsg = trim(extmsg)//' atol_gamma' - plasticState(p)%slipRate => plasticState(p)%dotState (10*prm%sum_N_sl + 1:11*prm%sum_N_sl,1:NipcMyPhase) + plasticState(p)%slipRate => plasticState(p)%dotState (10*prm%sum_N_sl + 1:11*prm%sum_N_sl,1:Nconstituents) - stt%rho_forest => plasticState(p)%state (11*prm%sum_N_sl + 1:12*prm%sum_N_sl,1:NipcMyPhase) - stt%v => plasticState(p)%state (12*prm%sum_N_sl + 1:16*prm%sum_N_sl,1:NipcMyPhase) - stt%v_edg_pos => plasticState(p)%state (12*prm%sum_N_sl + 1:13*prm%sum_N_sl,1:NipcMyPhase) - stt%v_edg_neg => plasticState(p)%state (13*prm%sum_N_sl + 1:14*prm%sum_N_sl,1:NipcMyPhase) - stt%v_scr_pos => plasticState(p)%state (14*prm%sum_N_sl + 1:15*prm%sum_N_sl,1:NipcMyPhase) - stt%v_scr_neg => plasticState(p)%state (15*prm%sum_N_sl + 1:16*prm%sum_N_sl,1:NipcMyPhase) + stt%rho_forest => plasticState(p)%state (11*prm%sum_N_sl + 1:12*prm%sum_N_sl,1:Nconstituents) + stt%v => plasticState(p)%state (12*prm%sum_N_sl + 1:16*prm%sum_N_sl,1:Nconstituents) + stt%v_edg_pos => plasticState(p)%state (12*prm%sum_N_sl + 1:13*prm%sum_N_sl,1:Nconstituents) + stt%v_edg_neg => plasticState(p)%state (13*prm%sum_N_sl + 1:14*prm%sum_N_sl,1:Nconstituents) + stt%v_scr_pos => plasticState(p)%state (14*prm%sum_N_sl + 1:15*prm%sum_N_sl,1:Nconstituents) + stt%v_scr_neg => plasticState(p)%state (15*prm%sum_N_sl + 1:16*prm%sum_N_sl,1:Nconstituents) - allocate(dst%tau_pass(prm%sum_N_sl,NipcMyPhase),source=0.0_pReal) - allocate(dst%tau_back(prm%sum_N_sl,NipcMyPhase),source=0.0_pReal) + allocate(dst%tau_pass(prm%sum_N_sl,Nconstituents),source=0.0_pReal) + allocate(dst%tau_back(prm%sum_N_sl,Nconstituents),source=0.0_pReal) end associate - if (NipcMyPhase > 0) call stateInit(ini,p,NipcMyPhase,i) + if (Nconstituents > 0) call stateInit(ini,p,Nconstituents,i) plasticState(p)%state0 = plasticState(p)%state !-------------------------------------------------------------------------------------------------- @@ -508,9 +508,9 @@ module function plastic_nonlocal_init() result(myPlasticity) discretization_nIPs,discretization_Nelems), source=0.0_pReal) ! BEGIN DEPRECATED---------------------------------------------------------------------------------- - allocate(iRhoU(maxval(param%sum_N_sl),4,Ninstance), source=0) - allocate(iV(maxval(param%sum_N_sl),4,Ninstance), source=0) - allocate(iD(maxval(param%sum_N_sl),2,Ninstance), source=0) + allocate(iRhoU(maxval(param%sum_N_sl),4,Ninstances), source=0) + allocate(iV(maxval(param%sum_N_sl),4,Ninstances), source=0) + allocate(iD(maxval(param%sum_N_sl),2,Ninstances), source=0) i = 0 do p = 1, phases%length @@ -519,7 +519,7 @@ module function plastic_nonlocal_init() result(myPlasticity) if(.not. myPlasticity(p)) cycle i = i + 1 - NipcMyPhase = count(material_phaseAt==p) * discretization_nIPs + Nconstituents = count(material_phaseAt==p) * discretization_nIPs l = 0 do t = 1,4 do s = 1,param(i)%sum_N_sl @@ -1601,13 +1601,13 @@ end subroutine plastic_nonlocal_results !-------------------------------------------------------------------------------------------------- !> @brief populates the initial dislocation density !-------------------------------------------------------------------------------------------------- -subroutine stateInit(ini,phase,NipcMyPhase,instance) +subroutine stateInit(ini,phase,Nconstituents,instance) type(tInitialParameters) :: & ini integer,intent(in) :: & phase, & - NipcMyPhase, & + Nconstituents, & instance integer :: & e, & @@ -1625,7 +1625,7 @@ subroutine stateInit(ini,phase,NipcMyPhase,instance) totalVolume, & densityBinning, & minimumIpVolume - real(pReal), dimension(NipcMyPhase) :: & + real(pReal), dimension(Nconstituents) :: & volume @@ -1645,13 +1645,13 @@ subroutine stateInit(ini,phase,NipcMyPhase,instance) meanDensity = 0.0_pReal do while(meanDensity < ini%random_rho_u) call random_number(rnd) - phasemember = nint(rnd(1)*real(NipcMyPhase,pReal) + 0.5_pReal) + phasemember = nint(rnd(1)*real(Nconstituents,pReal) + 0.5_pReal) s = nint(rnd(2)*real(sum(ini%N_sl),pReal)*4.0_pReal + 0.5_pReal) meanDensity = meanDensity + densityBinning * volume(phasemember) / totalVolume stt%rhoSglMobile(s,phasemember) = densityBinning enddo else ! homogeneous distribution with noise - do e = 1, NipcMyPhase + do e = 1, Nconstituents do f = 1,size(ini%N_sl,1) from = 1 + sum(ini%N_sl(1:f-1)) upto = sum(ini%N_sl(1:f)) diff --git a/src/constitutive_plastic_phenopowerlaw.f90 b/src/constitutive_plastic_phenopowerlaw.f90 index 50c8e835a..72fa0e9e6 100644 --- a/src/constitutive_plastic_phenopowerlaw.f90 +++ b/src/constitutive_plastic_phenopowerlaw.f90 @@ -70,9 +70,9 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) logical, dimension(:), allocatable :: myPlasticity integer :: & - Ninstance, & + Ninstances, & p, i, & - NipcMyPhase, & + Nconstituents, & sizeState, sizeDotState, & startIndex, endIndex integer, dimension(:), allocatable :: & @@ -91,13 +91,13 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) print'(/,a)', ' <<<+- plastic_phenopowerlaw init -+>>>' myPlasticity = plastic_active('phenopowerlaw') - Ninstance = count(myPlasticity) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(myPlasticity) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return - allocate(param(Ninstance)) - allocate(state(Ninstance)) - allocate(dotState(Ninstance)) + allocate(param(Ninstances)) + allocate(state(Ninstances)) + allocate(dotState(Ninstances)) phases => config_material%get('phase') i = 0 @@ -224,20 +224,20 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) !-------------------------------------------------------------------------------------------------- ! allocate state arrays - NipcMyPhase = count(material_phaseAt == p) * discretization_nIPs + Nconstituents = count(material_phaseAt == p) * discretization_nIPs sizeDotState = size(['xi_sl ','gamma_sl']) * prm%sum_N_sl & + size(['xi_tw ','gamma_tw']) * prm%sum_N_tw sizeState = sizeDotState - call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0) + call constitutive_allocateState(plasticState(p),Nconstituents,sizeState,sizeDotState,0) !-------------------------------------------------------------------------------------------------- ! state aliases and initialization startIndex = 1 endIndex = prm%sum_N_sl stt%xi_slip => plasticState(p)%state (startIndex:endIndex,:) - stt%xi_slip = spread(xi_0_sl, 2, NipcMyPhase) + stt%xi_slip = spread(xi_0_sl, 2, Nconstituents) dot%xi_slip => plasticState(p)%dotState(startIndex:endIndex,:) plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_xi',defaultVal=1.0_pReal) if(any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_xi' @@ -245,7 +245,7 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) startIndex = endIndex + 1 endIndex = endIndex + prm%sum_N_tw stt%xi_twin => plasticState(p)%state (startIndex:endIndex,:) - stt%xi_twin = spread(xi_0_tw, 2, NipcMyPhase) + stt%xi_twin = spread(xi_0_tw, 2, Nconstituents) dot%xi_twin => plasticState(p)%dotState(startIndex:endIndex,:) plasticState(p)%atol(startIndex:endIndex) = pl%get_asFloat('atol_xi',defaultVal=1.0_pReal) if(any(plasticState(p)%atol(startIndex:endIndex) < 0.0_pReal)) extmsg = trim(extmsg)//' atol_xi' diff --git a/src/damage_local.f90 b/src/damage_local.f90 index fefdffce2..e63db90b0 100644 --- a/src/damage_local.f90 +++ b/src/damage_local.f90 @@ -42,7 +42,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine damage_local_init - integer :: Ninstance,NofMyHomog,h + integer :: Ninstances,Nmaterialpoints,h class(tNode), pointer :: & num_generic, & material_homogenization, & @@ -57,8 +57,8 @@ subroutine damage_local_init num%residualStiffness = num_generic%get_asFloat('residualStiffness', defaultVal=1.0e-6_pReal) if (num%residualStiffness < 0.0_pReal) call IO_error(301,ext_msg='residualStiffness') - Ninstance = count(damage_type == DAMAGE_local_ID) - allocate(param(Ninstance)) + Ninstances = count(damage_type == DAMAGE_local_ID) + allocate(param(Ninstances)) material_homogenization => config_material%get('homogenization') do h = 1, material_homogenization%length @@ -73,11 +73,11 @@ subroutine damage_local_init prm%output = homogDamage%get_asStrings('output',defaultVal=emptyStringArray) #endif - NofMyHomog = count(material_homogenizationAt == h) + Nmaterialpoints = count(material_homogenizationAt == h) damageState(h)%sizeState = 1 - allocate(damageState(h)%state0 (1,NofMyHomog), source=damage_initialPhi(h)) - allocate(damageState(h)%subState0(1,NofMyHomog), source=damage_initialPhi(h)) - allocate(damageState(h)%state (1,NofMyHomog), source=damage_initialPhi(h)) + allocate(damageState(h)%state0 (1,Nmaterialpoints), source=damage_initialPhi(h)) + allocate(damageState(h)%subState0(1,Nmaterialpoints), source=damage_initialPhi(h)) + allocate(damageState(h)%state (1,Nmaterialpoints), source=damage_initialPhi(h)) nullify(damageMapping(h)%p) damageMapping(h)%p => material_homogenizationMemberAt diff --git a/src/damage_none.f90 b/src/damage_none.f90 index 52100707e..2279bc06b 100644 --- a/src/damage_none.f90 +++ b/src/damage_none.f90 @@ -16,18 +16,18 @@ contains !-------------------------------------------------------------------------------------------------- subroutine damage_none_init - integer :: h,NofMyHomog + integer :: h,Nmaterialpoints print'(/,a)', ' <<<+- damage_none init -+>>>'; flush(6) do h = 1, size(material_name_homogenization) if (damage_type(h) /= DAMAGE_NONE_ID) cycle - NofMyHomog = count(material_homogenizationAt == h) + Nmaterialpoints = count(material_homogenizationAt == h) damageState(h)%sizeState = 0 - allocate(damageState(h)%state0 (0,NofMyHomog)) - allocate(damageState(h)%subState0(0,NofMyHomog)) - allocate(damageState(h)%state (0,NofMyHomog)) + allocate(damageState(h)%state0 (0,Nmaterialpoints)) + allocate(damageState(h)%subState0(0,Nmaterialpoints)) + allocate(damageState(h)%state (0,Nmaterialpoints)) deallocate(damage(h)%p) allocate (damage(h)%p(1), source=damage_initialPhi(h)) diff --git a/src/damage_nonlocal.f90 b/src/damage_nonlocal.f90 index 8b494678e..24a51cf54 100644 --- a/src/damage_nonlocal.f90 +++ b/src/damage_nonlocal.f90 @@ -46,7 +46,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine damage_nonlocal_init - integer :: Ninstance,NofMyHomog,h + integer :: Ninstances,Nmaterialpoints,h class(tNode), pointer :: & num_generic, & material_homogenization, & @@ -60,8 +60,8 @@ subroutine damage_nonlocal_init num_generic => config_numerics%get('generic',defaultVal= emptyDict) num%charLength = num_generic%get_asFloat('charLength',defaultVal=1.0_pReal) - Ninstance = count(damage_type == DAMAGE_nonlocal_ID) - allocate(param(Ninstance)) + Ninstances = count(damage_type == DAMAGE_nonlocal_ID) + allocate(param(Ninstances)) material_homogenization => config_material%get('homogenization') do h = 1, material_homogenization%length @@ -76,11 +76,11 @@ subroutine damage_nonlocal_init prm%output = homogDamage%get_asStrings('output',defaultVal=emptyStringArray) #endif - NofMyHomog = count(material_homogenizationAt == h) + Nmaterialpoints = count(material_homogenizationAt == h) damageState(h)%sizeState = 1 - allocate(damageState(h)%state0 (1,NofMyHomog), source=damage_initialPhi(h)) - allocate(damageState(h)%subState0(1,NofMyHomog), source=damage_initialPhi(h)) - allocate(damageState(h)%state (1,NofMyHomog), source=damage_initialPhi(h)) + allocate(damageState(h)%state0 (1,Nmaterialpoints), source=damage_initialPhi(h)) + allocate(damageState(h)%subState0(1,Nmaterialpoints), source=damage_initialPhi(h)) + allocate(damageState(h)%state (1,Nmaterialpoints), source=damage_initialPhi(h)) nullify(damageMapping(h)%p) damageMapping(h)%p => material_homogenizationMemberAt diff --git a/src/homogenization_mech_RGC.f90 b/src/homogenization_mech_RGC.f90 index 1a0f7a5d3..5fcea1f8d 100644 --- a/src/homogenization_mech_RGC.f90 +++ b/src/homogenization_mech_RGC.f90 @@ -81,9 +81,9 @@ module subroutine mech_RGC_init(num_homogMech) num_homogMech !< pointer to mechanical homogenization numerics data integer :: & - Ninstance, & + Ninstances, & h, & - NofMyHomog, & + Nmaterialpoints, & sizeState, nIntFaceTot class (tNode), pointer :: & @@ -94,8 +94,8 @@ module subroutine mech_RGC_init(num_homogMech) print'(/,a)', ' <<<+- homogenization_mech_rgc init -+>>>' - Ninstance = count(homogenization_type == HOMOGENIZATION_RGC_ID) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) + Ninstances = count(homogenization_type == HOMOGENIZATION_RGC_ID) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) print*, 'Tjahjanto et al., International Journal of Material Forming 2(1):939–942, 2009' print*, 'https://doi.org/10.1007/s12289-009-0619-1'//IO_EOL @@ -105,10 +105,10 @@ module subroutine mech_RGC_init(num_homogMech) - allocate(param(Ninstance)) - allocate(state(Ninstance)) - allocate(state0(Ninstance)) - allocate(dependentState(Ninstance)) + allocate(param(Ninstances)) + allocate(state(Ninstances)) + allocate(state0(Ninstances)) + allocate(dependentState(Ninstances)) num_RGC => num_homogMech%get('RGC',defaultVal=emptyDict) @@ -173,7 +173,7 @@ module subroutine mech_RGC_init(num_homogMech) prm%D_alpha = homogMech%get_asFloats('D_alpha', requiredSize=3) prm%a_g = homogMech%get_asFloats('a_g', requiredSize=3) - NofMyHomog = count(material_homogenizationAt == h) + Nmaterialpoints = count(material_homogenizationAt == h) nIntFaceTot = 3*( (prm%N_constituents(1)-1)*prm%N_constituents(2)*prm%N_constituents(3) & + prm%N_constituents(1)*(prm%N_constituents(2)-1)*prm%N_constituents(3) & + prm%N_constituents(1)*prm%N_constituents(2)*(prm%N_constituents(3)-1)) @@ -181,24 +181,24 @@ module subroutine mech_RGC_init(num_homogMech) + size(['avg constitutive work ','average penalty energy']) homogState(h)%sizeState = sizeState - allocate(homogState(h)%state0 (sizeState,NofMyHomog), source=0.0_pReal) - allocate(homogState(h)%subState0(sizeState,NofMyHomog), source=0.0_pReal) - allocate(homogState(h)%state (sizeState,NofMyHomog), source=0.0_pReal) + allocate(homogState(h)%state0 (sizeState,Nmaterialpoints), source=0.0_pReal) + allocate(homogState(h)%subState0(sizeState,Nmaterialpoints), source=0.0_pReal) + allocate(homogState(h)%state (sizeState,Nmaterialpoints), source=0.0_pReal) stt%relaxationVector => homogState(h)%state(1:nIntFaceTot,:) st0%relaxationVector => homogState(h)%state0(1:nIntFaceTot,:) stt%work => homogState(h)%state(nIntFaceTot+1,:) stt%penaltyEnergy => homogState(h)%state(nIntFaceTot+2,:) - allocate(dst%volumeDiscrepancy( NofMyHomog), source=0.0_pReal) - allocate(dst%relaxationRate_avg( NofMyHomog), source=0.0_pReal) - allocate(dst%relaxationRate_max( NofMyHomog), source=0.0_pReal) - allocate(dst%mismatch( 3,NofMyHomog), source=0.0_pReal) + allocate(dst%volumeDiscrepancy( Nmaterialpoints), source=0.0_pReal) + allocate(dst%relaxationRate_avg( Nmaterialpoints), source=0.0_pReal) + allocate(dst%relaxationRate_max( Nmaterialpoints), source=0.0_pReal) + allocate(dst%mismatch( 3,Nmaterialpoints), source=0.0_pReal) !-------------------------------------------------------------------------------------------------- ! assigning cluster orientations - dependentState(homogenization_typeInstance(h))%orientation = spread(eu2om(prm%a_g*inRad),3,NofMyHomog) - !dst%orientation = spread(eu2om(prm%a_g*inRad),3,NofMyHomog) ifort version 18.0.1 crashes (for whatever reason) + dependentState(homogenization_typeInstance(h))%orientation = spread(eu2om(prm%a_g*inRad),3,Nmaterialpoints) + !dst%orientation = spread(eu2om(prm%a_g*inRad),3,Nmaterialpoints) ifort version 18.0.1 crashes (for whatever reason) end associate diff --git a/src/homogenization_mech_isostrain.f90 b/src/homogenization_mech_isostrain.f90 index 7f3724ae1..994c1b410 100644 --- a/src/homogenization_mech_isostrain.f90 +++ b/src/homogenization_mech_isostrain.f90 @@ -18,7 +18,7 @@ submodule(homogenization) homogenization_mech_isostrain mapping end type - type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstances) contains @@ -29,9 +29,9 @@ contains module subroutine mech_isostrain_init integer :: & - Ninstance, & + Ninstances, & h, & - NofMyHomog + Nmaterialpoints class(tNode), pointer :: & material_homogenization, & homog, & @@ -39,10 +39,10 @@ module subroutine mech_isostrain_init print'(/,a)', ' <<<+- homogenization_mech_isostrain init -+>>>' - Ninstance = count(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) + Ninstances = count(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) - allocate(param(Ninstance)) ! one container of parameters per instance + allocate(param(Ninstances)) ! one container of parameters per instance material_homogenization => config_material%get('homogenization') do h = 1, size(homogenization_type) @@ -61,11 +61,11 @@ module subroutine mech_isostrain_init call IO_error(211,ext_msg='sum'//' (mech_isostrain)') end select - NofMyHomog = count(material_homogenizationAt == h) + Nmaterialpoints = count(material_homogenizationAt == h) homogState(h)%sizeState = 0 - allocate(homogState(h)%state0 (0,NofMyHomog)) - allocate(homogState(h)%subState0(0,NofMyHomog)) - allocate(homogState(h)%state (0,NofMyHomog)) + allocate(homogState(h)%state0 (0,Nmaterialpoints)) + allocate(homogState(h)%subState0(0,Nmaterialpoints)) + allocate(homogState(h)%state (0,Nmaterialpoints)) end associate diff --git a/src/homogenization_mech_none.f90 b/src/homogenization_mech_none.f90 index 80949010e..5b12247cd 100644 --- a/src/homogenization_mech_none.f90 +++ b/src/homogenization_mech_none.f90 @@ -14,14 +14,14 @@ contains module subroutine mech_none_init integer :: & - Ninstance, & + Ninstances, & h, & - NofMyHomog + Nmaterialpoints print'(/,a)', ' <<<+- homogenization_mech_none init -+>>>' - Ninstance = count(homogenization_type == HOMOGENIZATION_NONE_ID) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) + Ninstances = count(homogenization_type == HOMOGENIZATION_NONE_ID) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) do h = 1, size(homogenization_type) if(homogenization_type(h) /= HOMOGENIZATION_NONE_ID) cycle @@ -29,11 +29,11 @@ module subroutine mech_none_init if(homogenization_Nconstituents(h) /= 1) & call IO_error(211,ext_msg='N_constituents (mech_none)') - NofMyHomog = count(material_homogenizationAt == h) + Nmaterialpoints = count(material_homogenizationAt == h) homogState(h)%sizeState = 0 - allocate(homogState(h)%state0 (0,NofMyHomog)) - allocate(homogState(h)%subState0(0,NofMyHomog)) - allocate(homogState(h)%state (0,NofMyHomog)) + allocate(homogState(h)%state0 (0,Nmaterialpoints)) + allocate(homogState(h)%subState0(0,Nmaterialpoints)) + allocate(homogState(h)%state (0,Nmaterialpoints)) enddo diff --git a/src/kinematics_cleavage_opening.f90 b/src/kinematics_cleavage_opening.f90 index d52fdbc1c..44bbcb4f4 100644 --- a/src/kinematics_cleavage_opening.f90 +++ b/src/kinematics_cleavage_opening.f90 @@ -20,7 +20,7 @@ submodule(constitutive:constitutive_damage) kinematics_cleavage_opening cleavage_systems end type tParameters - type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstances) contains @@ -35,7 +35,7 @@ module function kinematics_cleavage_opening_init(kinematics_length) result(myKin integer, intent(in) :: kinematics_length logical, dimension(:,:), allocatable :: myKinematics - integer :: Ninstance,p,k + integer :: Ninstances,p,k integer, dimension(:), allocatable :: N_cl !< active number of cleavage systems per family character(len=pStringLen) :: extmsg = '' class(tNode), pointer :: & @@ -48,12 +48,12 @@ module function kinematics_cleavage_opening_init(kinematics_length) result(myKin print'(/,a)', ' <<<+- kinematics_cleavage_opening init -+>>>' myKinematics = kinematics_active('cleavage_opening',kinematics_length) - Ninstance = count(myKinematics) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(myKinematics) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return phases => config_material%get('phase') - allocate(param(Ninstance)) + allocate(param(Ninstances)) allocate(kinematics_cleavage_opening_instance(phases%length), source=0) do p = 1, phases%length diff --git a/src/kinematics_slipplane_opening.f90 b/src/kinematics_slipplane_opening.f90 index e0de5e181..ea8f51427 100644 --- a/src/kinematics_slipplane_opening.f90 +++ b/src/kinematics_slipplane_opening.f90 @@ -22,7 +22,7 @@ submodule(constitutive:constitutive_damage) kinematics_slipplane_opening P_n end type tParameters - type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstances) contains @@ -37,7 +37,7 @@ module function kinematics_slipplane_opening_init(kinematics_length) result(myKi integer, intent(in) :: kinematics_length logical, dimension(:,:), allocatable :: myKinematics - integer :: Ninstance,p,i,k + integer :: Ninstances,p,i,k character(len=pStringLen) :: extmsg = '' integer, dimension(:), allocatable :: N_sl real(pReal), dimension(:,:), allocatable :: d,n,t @@ -51,13 +51,13 @@ module function kinematics_slipplane_opening_init(kinematics_length) result(myKi print'(/,a)', ' <<<+- kinematics_slipplane init -+>>>' myKinematics = kinematics_active('slipplane_opening',kinematics_length) - Ninstance = count(myKinematics) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(myKinematics) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return phases => config_material%get('phase') allocate(kinematics_slipplane_opening_instance(phases%length), source=0) - allocate(param(Ninstance)) + allocate(param(Ninstances)) do p = 1, phases%length if(any(myKinematics(:,p))) kinematics_slipplane_opening_instance(p) = count(myKinematics(:,1:p)) diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index 772f5abbf..4afde82e3 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -29,7 +29,7 @@ module function kinematics_thermal_expansion_init(kinematics_length) result(myKi integer, intent(in) :: kinematics_length logical, dimension(:,:), allocatable :: myKinematics - integer :: Ninstance,p,i,k + integer :: Ninstances,p,i,k real(pReal), dimension(:), allocatable :: temp class(tNode), pointer :: & phases, & @@ -41,12 +41,12 @@ module function kinematics_thermal_expansion_init(kinematics_length) result(myKi print'(/,a)', ' <<<+- kinematics_thermal_expansion init -+>>>' myKinematics = kinematics_active('thermal_expansion',kinematics_length) - Ninstance = count(myKinematics) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(myKinematics) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return phases => config_material%get('phase') - allocate(param(Ninstance)) + allocate(param(Ninstances)) allocate(kinematics_thermal_expansion_instance(phases%length), source=0) do p = 1, phases%length diff --git a/src/source_damage_anisoBrittle.f90 b/src/source_damage_anisoBrittle.f90 index faeb8bd87..ca8d6ec2b 100644 --- a/src/source_damage_anisoBrittle.f90 +++ b/src/source_damage_anisoBrittle.f90 @@ -25,7 +25,7 @@ submodule (constitutive:constitutive_damage) source_damage_anisoBrittle output end type tParameters - type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstances) contains @@ -45,19 +45,19 @@ module function source_damage_anisoBrittle_init(source_length) result(mySources) phase, & sources, & src - integer :: Ninstance,sourceOffset,NipcMyPhase,p + integer :: Ninstances,sourceOffset,Nconstituents,p integer, dimension(:), allocatable :: N_cl character(len=pStringLen) :: extmsg = '' print'(/,a)', ' <<<+- source_damage_anisoBrittle init -+>>>' mySources = source_active('damage_anisoBrittle',source_length) - Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(mySources) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return phases => config_material%get('phase') - allocate(param(Ninstance)) + allocate(param(Ninstances)) allocate(source_damage_anisoBrittle_offset (phases%length), source=0) allocate(source_damage_anisoBrittle_instance(phases%length), source=0) @@ -100,8 +100,8 @@ module function source_damage_anisoBrittle_init(source_length) result(mySources) if (any(prm%g_crit < 0.0_pReal)) extmsg = trim(extmsg)//' g_crit' if (any(prm%s_crit < 0.0_pReal)) extmsg = trim(extmsg)//' s_crit' - NipcMyPhase = count(material_phaseAt==p) * discretization_nIPs - call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) + Nconstituents = count(material_phaseAt==p) * discretization_nIPs + call constitutive_allocateState(sourceState(p)%p(sourceOffset),Nconstituents,1,1,0) sourceState(p)%p(sourceOffset)%atol = src%get_asFloat('anisobrittle_atol',defaultVal=1.0e-3_pReal) if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' anisobrittle_atol' diff --git a/src/source_damage_anisoDuctile.f90 b/src/source_damage_anisoDuctile.f90 index fd3fa38ed..2fdd46bb4 100644 --- a/src/source_damage_anisoDuctile.f90 +++ b/src/source_damage_anisoDuctile.f90 @@ -19,7 +19,7 @@ submodule(constitutive:constitutive_damage) source_damage_anisoDuctile output end type tParameters - type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstances) contains @@ -39,19 +39,19 @@ module function source_damage_anisoDuctile_init(source_length) result(mySources) pl, & sources, & src - integer :: Ninstance,sourceOffset,NipcMyPhase,p + integer :: Ninstances,sourceOffset,Nconstituents,p integer, dimension(:), allocatable :: N_sl character(len=pStringLen) :: extmsg = '' print'(/,a)', ' <<<+- source_damage_anisoDuctile init -+>>>' mySources = source_active('damage_anisoDuctile',source_length) - Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(mySources) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return phases => config_material%get('phase') - allocate(param(Ninstance)) + allocate(param(Ninstances)) allocate(source_damage_anisoDuctile_offset (phases%length), source=0) allocate(source_damage_anisoDuctile_instance(phases%length), source=0) @@ -84,8 +84,8 @@ module function source_damage_anisoDuctile_init(source_length) result(mySources) if (prm%q <= 0.0_pReal) extmsg = trim(extmsg)//' q' if (any(prm%gamma_crit < 0.0_pReal)) extmsg = trim(extmsg)//' gamma_crit' - NipcMyPhase=count(material_phaseAt==p) * discretization_nIPs - call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) + Nconstituents=count(material_phaseAt==p) * discretization_nIPs + call constitutive_allocateState(sourceState(p)%p(sourceOffset),Nconstituents,1,1,0) sourceState(p)%p(sourceOffset)%atol = src%get_asFloat('anisoDuctile_atol',defaultVal=1.0e-3_pReal) if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' anisoductile_atol' diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index c56407c3d..7fcf17ee0 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -17,7 +17,7 @@ submodule(constitutive:constitutive_damage) source_damage_isoBrittle output end type tParameters - type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstances) contains @@ -36,18 +36,18 @@ module function source_damage_isoBrittle_init(source_length) result(mySources) phase, & sources, & src - integer :: Ninstance,sourceOffset,NipcMyPhase,p + integer :: Ninstances,sourceOffset,Nconstituents,p character(len=pStringLen) :: extmsg = '' print'(/,a)', ' <<<+- source_damage_isoBrittle init -+>>>' mySources = source_active('damage_isoBrittle',source_length) - Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(mySources) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return phases => config_material%get('phase') - allocate(param(Ninstance)) + allocate(param(Ninstances)) allocate(source_damage_isoBrittle_offset (phases%length), source=0) allocate(source_damage_isoBrittle_instance(phases%length), source=0) @@ -73,8 +73,8 @@ module function source_damage_isoBrittle_init(source_length) result(mySources) ! sanity checks if (prm%W_crit <= 0.0_pReal) extmsg = trim(extmsg)//' W_crit' - NipcMyPhase = count(material_phaseAt==p) * discretization_nIPs - call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,1) + Nconstituents = count(material_phaseAt==p) * discretization_nIPs + call constitutive_allocateState(sourceState(p)%p(sourceOffset),Nconstituents,1,1,1) sourceState(p)%p(sourceOffset)%atol = src%get_asFloat('isoBrittle_atol',defaultVal=1.0e-3_pReal) if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' isobrittle_atol' diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index 0d068b6e4..1bff20570 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -18,7 +18,7 @@ submodule (constitutive:constitutive_damage) source_damage_isoDuctile output end type tParameters - type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstances) contains @@ -38,18 +38,18 @@ module function source_damage_isoDuctile_init(source_length) result(mySources) phase, & sources, & src - integer :: Ninstance,sourceOffset,NipcMyPhase,p + integer :: Ninstances,sourceOffset,Nconstituents,p character(len=pStringLen) :: extmsg = '' print'(/,a)', ' <<<+- source_damage_isoDuctile init -+>>>' mySources = source_active('damage_isoDuctile',source_length) - Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(mySources) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return phases => config_material%get('phase') - allocate(param(Ninstance)) + allocate(param(Ninstances)) allocate(source_damage_isoDuctile_offset (phases%length), source=0) allocate(source_damage_isoDuctile_instance(phases%length), source=0) @@ -77,8 +77,8 @@ module function source_damage_isoDuctile_init(source_length) result(mySources) if (prm%q <= 0.0_pReal) extmsg = trim(extmsg)//' q' if (prm%gamma_crit <= 0.0_pReal) extmsg = trim(extmsg)//' gamma_crit' - NipcMyPhase=count(material_phaseAt==p) * discretization_nIPs - call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) + Nconstituents=count(material_phaseAt==p) * discretization_nIPs + call constitutive_allocateState(sourceState(p)%p(sourceOffset),Nconstituents,1,1,0) sourceState(p)%p(sourceOffset)%atol = src%get_asFloat('isoDuctile_atol',defaultVal=1.0e-3_pReal) if(any(sourceState(p)%p(sourceOffset)%atol < 0.0_pReal)) extmsg = trim(extmsg)//' isoductile_atol' diff --git a/src/source_thermal_dissipation.f90 b/src/source_thermal_dissipation.f90 index 734451a72..f28567aa7 100644 --- a/src/source_thermal_dissipation.f90 +++ b/src/source_thermal_dissipation.f90 @@ -15,7 +15,7 @@ submodule(constitutive:constitutive_thermal) source_thermal_dissipation kappa !< TAYLOR-QUINNEY factor end type tParameters - type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstances) contains @@ -35,17 +35,17 @@ module function source_thermal_dissipation_init(source_length) result(mySources) phase, & sources, & src - integer :: Ninstance,sourceOffset,NipcMyPhase,p + integer :: Ninstances,sourceOffset,Nconstituents,p print'(/,a)', ' <<<+- source_thermal_dissipation init -+>>>' mySources = source_active('thermal_dissipation',source_length) - Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(mySources) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return phases => config_material%get('phase') - allocate(param(Ninstance)) + allocate(param(Ninstances)) allocate(source_thermal_dissipation_offset (phases%length), source=0) allocate(source_thermal_dissipation_instance(phases%length), source=0) @@ -61,8 +61,8 @@ module function source_thermal_dissipation_init(source_length) result(mySources) src => sources%get(sourceOffset) prm%kappa = src%get_asFloat('kappa') - NipcMyPhase = count(material_phaseAt==p) * discretization_nIPs - call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,0,0,0) + Nconstituents = count(material_phaseAt==p) * discretization_nIPs + call constitutive_allocateState(sourceState(p)%p(sourceOffset),Nconstituents,0,0,0) end associate endif @@ -74,7 +74,7 @@ end function source_thermal_dissipation_init !-------------------------------------------------------------------------------------------------- -!> @brief Ninstances dissipation rate +!> @brief Ninstancess dissipation rate !-------------------------------------------------------------------------------------------------- module subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDot_dT, Tstar, Lp, phase) diff --git a/src/source_thermal_externalheat.f90 b/src/source_thermal_externalheat.f90 index cbc1fa69d..9ba4a051b 100644 --- a/src/source_thermal_externalheat.f90 +++ b/src/source_thermal_externalheat.f90 @@ -19,7 +19,7 @@ submodule(constitutive:constitutive_thermal) source_thermal_externalheat nIntervals end type tParameters - type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstance) + type(tParameters), dimension(:), allocatable :: param !< containers of constitutive parameters (len Ninstances) contains @@ -39,17 +39,17 @@ module function source_thermal_externalheat_init(source_length) result(mySources phase, & sources, & src - integer :: Ninstance,sourceOffset,NipcMyPhase,p + integer :: Ninstances,sourceOffset,Nconstituents,p print'(/,a)', ' <<<+- source_thermal_externalHeat init -+>>>' mySources = source_active('thermal_externalheat',source_length) - Ninstance = count(mySources) - print'(a,i2)', ' # instances: ',Ninstance; flush(IO_STDOUT) - if(Ninstance == 0) return + Ninstances = count(mySources) + print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) + if(Ninstances == 0) return phases => config_material%get('phase') - allocate(param(Ninstance)) + allocate(param(Ninstances)) allocate(source_thermal_externalheat_offset (phases%length), source=0) allocate(source_thermal_externalheat_instance(phases%length), source=0) @@ -69,8 +69,8 @@ module function source_thermal_externalheat_init(source_length) result(mySources prm%f_T = src%get_asFloats('f_T',requiredSize = size(prm%t_n)) - NipcMyPhase = count(material_phaseAt==p) * discretization_nIPs - call constitutive_allocateState(sourceState(p)%p(sourceOffset),NipcMyPhase,1,1,0) + Nconstituents = count(material_phaseAt==p) * discretization_nIPs + call constitutive_allocateState(sourceState(p)%p(sourceOffset),Nconstituents,1,1,0) end associate endif diff --git a/src/thermal_adiabatic.f90 b/src/thermal_adiabatic.f90 index 189a7131a..aa807924c 100644 --- a/src/thermal_adiabatic.f90 +++ b/src/thermal_adiabatic.f90 @@ -40,7 +40,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine thermal_adiabatic_init - integer :: maxNinstance,h,NofMyHomog + integer :: maxNinstances,h,Nmaterialpoints class(tNode), pointer :: & material_homogenization, & homog, & @@ -48,10 +48,10 @@ subroutine thermal_adiabatic_init print'(/,a)', ' <<<+- thermal_adiabatic init -+>>>'; flush(6) - maxNinstance = count(thermal_type == THERMAL_adiabatic_ID) - if (maxNinstance == 0) return + maxNinstances = count(thermal_type == THERMAL_adiabatic_ID) + if (maxNinstances == 0) return - allocate(param(maxNinstance)) + allocate(param(maxNinstances)) material_homogenization => config_material%get('homogenization') do h = 1, size(material_name_homogenization) @@ -67,17 +67,17 @@ subroutine thermal_adiabatic_init prm%output = homogThermal%get_asStrings('output',defaultVal=emptyStringArray) #endif - NofMyHomog=count(material_homogenizationAt==h) + Nmaterialpoints=count(material_homogenizationAt==h) thermalState(h)%sizeState = 1 - allocate(thermalState(h)%state0 (1,NofMyHomog), source=thermal_initialT(h)) - allocate(thermalState(h)%subState0(1,NofMyHomog), source=thermal_initialT(h)) - allocate(thermalState(h)%state (1,NofMyHomog), source=thermal_initialT(h)) + allocate(thermalState(h)%state0 (1,Nmaterialpoints), source=thermal_initialT(h)) + allocate(thermalState(h)%subState0(1,Nmaterialpoints), source=thermal_initialT(h)) + allocate(thermalState(h)%state (1,Nmaterialpoints), source=thermal_initialT(h)) thermalMapping(h)%p => material_homogenizationMemberAt deallocate(temperature(h)%p) temperature(h)%p => thermalState(h)%state(1,:) deallocate(temperatureRate(h)%p) - allocate (temperatureRate(h)%p(NofMyHomog), source=0.0_pReal) + allocate (temperatureRate(h)%p(Nmaterialpoints), source=0.0_pReal) end associate enddo diff --git a/src/thermal_conduction.f90 b/src/thermal_conduction.f90 index ead06306a..daa7391a9 100644 --- a/src/thermal_conduction.f90 +++ b/src/thermal_conduction.f90 @@ -41,7 +41,7 @@ contains !-------------------------------------------------------------------------------------------------- subroutine thermal_conduction_init - integer :: Ninstance,NofMyHomog,h + integer :: Ninstances,Nmaterialpoints,h class(tNode), pointer :: & material_homogenization, & homog, & @@ -49,8 +49,8 @@ subroutine thermal_conduction_init print'(/,a)', ' <<<+- thermal_conduction init -+>>>'; flush(6) - Ninstance = count(thermal_type == THERMAL_conduction_ID) - allocate(param(Ninstance)) + Ninstances = count(thermal_type == THERMAL_conduction_ID) + allocate(param(Ninstances)) material_homogenization => config_material%get('homogenization') do h = 1, size(material_name_homogenization) @@ -65,17 +65,17 @@ subroutine thermal_conduction_init prm%output = homogThermal%get_asStrings('output',defaultVal=emptyStringArray) #endif - NofMyHomog=count(material_homogenizationAt==h) + Nmaterialpoints=count(material_homogenizationAt==h) thermalState(h)%sizeState = 0 - allocate(thermalState(h)%state0 (0,NofMyHomog)) - allocate(thermalState(h)%subState0(0,NofMyHomog)) - allocate(thermalState(h)%state (0,NofMyHomog)) + allocate(thermalState(h)%state0 (0,Nmaterialpoints)) + allocate(thermalState(h)%subState0(0,Nmaterialpoints)) + allocate(thermalState(h)%state (0,Nmaterialpoints)) thermalMapping(h)%p => material_homogenizationMemberAt deallocate(temperature (h)%p) - allocate (temperature (h)%p(NofMyHomog), source=thermal_initialT(h)) + allocate (temperature (h)%p(Nmaterialpoints), source=thermal_initialT(h)) deallocate(temperatureRate(h)%p) - allocate (temperatureRate(h)%p(NofMyHomog), source=0.0_pReal) + allocate (temperatureRate(h)%p(Nmaterialpoints), source=0.0_pReal) end associate enddo diff --git a/src/thermal_isothermal.f90 b/src/thermal_isothermal.f90 index 703a9aaac..39c8efe91 100644 --- a/src/thermal_isothermal.f90 +++ b/src/thermal_isothermal.f90 @@ -16,18 +16,18 @@ contains !-------------------------------------------------------------------------------------------------- subroutine thermal_isothermal_init - integer :: h,NofMyHomog + integer :: h,Nmaterialpoints print'(/,a)', ' <<<+- thermal_isothermal init -+>>>'; flush(6) do h = 1, size(material_name_homogenization) if (thermal_type(h) /= THERMAL_isothermal_ID) cycle - NofMyHomog = count(material_homogenizationAt == h) + Nmaterialpoints = count(material_homogenizationAt == h) thermalState(h)%sizeState = 0 - allocate(thermalState(h)%state0 (0,NofMyHomog)) - allocate(thermalState(h)%subState0(0,NofMyHomog)) - allocate(thermalState(h)%state (0,NofMyHomog)) + allocate(thermalState(h)%state0 (0,Nmaterialpoints)) + allocate(thermalState(h)%subState0(0,Nmaterialpoints)) + allocate(thermalState(h)%state (0,Nmaterialpoints)) deallocate(temperature (h)%p) allocate (temperature (h)%p(1), source=thermal_initialT(h)) From c3a413e023827f83d969813b79be2e7db8910179 Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 28 Oct 2020 02:01:59 +0100 Subject: [PATCH 911/958] [skip ci] updated version information after successful test of v3.0.0-alpha-562-gea4904499 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 2e3222238..7cd736d87 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-556-gf379aecd8 +v3.0.0-alpha-562-gea4904499 From 5f03e8cf8f9a2d22a1157eec311b71286fab4e1a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 28 Oct 2020 09:31:55 +0100 Subject: [PATCH 912/958] 0-based material indices --- python/damask/_geom.py | 6 +++--- python/tests/test_Geom.py | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index f7ac6c437..c9122ca09 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -417,7 +417,7 @@ class Geom: Number of periods per unit cell. Defaults to 1. materials : (int, int), optional Material IDs. Defaults to (1,2). - + Notes ----- The following triply-periodic minimal surfaces are implemented: @@ -687,10 +687,10 @@ class Geom: def renumber(self): - """Renumber sorted material indices to 1,...,N.""" + """Renumber sorted material indices to 0,...,N-1.""" renumbered = np.empty(self.grid,dtype=self.material.dtype) for i, oldID in enumerate(np.unique(self.material)): - renumbered = np.where(self.material == oldID, i+1, renumbered) + renumbered = np.where(self.material == oldID, i, renumbered) return Geom(material = renumbered, size = self.size, diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 368d8ec8f..aa6cf4baf 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -176,6 +176,7 @@ class TestGeom: material = default.material.copy() for m in np.unique(material): material[material==m] = material.max() + np.random.randint(1,30) + default.material -= 1 modified = Geom(material, default.size, default.origin) From b38a498197ad8f20cb099ff1d39bd7538f7ca2ea Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 28 Oct 2020 09:43:20 +0100 Subject: [PATCH 913/958] fast --- python/damask/_geom.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index c9122ca09..c084b8041 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -688,11 +688,9 @@ class Geom: def renumber(self): """Renumber sorted material indices to 0,...,N-1.""" - renumbered = np.empty(self.grid,dtype=self.material.dtype) - for i, oldID in enumerate(np.unique(self.material)): - renumbered = np.where(self.material == oldID, i, renumbered) + _,renumbered = np.unique(self.material,return_inverse=True) - return Geom(material = renumbered, + return Geom(material = renumbered.reshape(self.grid), size = self.size, origin = self.origin, comments = self.comments+[util.execution_stamp('Geom','renumber')], From d72343c865ff7d161c73c3f1f6ad3b31b844c8a3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 28 Oct 2020 11:41:34 +0100 Subject: [PATCH 914/958] keep order of unique values found in table --- PRIVATE | 2 +- python/damask/_geom.py | 21 +++++++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/PRIVATE b/PRIVATE index 1e8c66897..3112a4dbf 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 1e8c66897820468ab46958d995005e2b69204d0e +Subproject commit 3112a4dbfa1e926c07b7f9443161239b8a7e85ca diff --git a/python/damask/_geom.py b/python/damask/_geom.py index c084b8041..d5abe29a7 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -4,6 +4,7 @@ from functools import partial from os import path import numpy as np +import pandas as pd import h5py from scipy import ndimage,spatial @@ -260,15 +261,19 @@ class Geom: Each unique combintation of values results in a material. """ - t = table.sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]) - - grid,size,origin = grid_filters.cell_coord0_gridSizeOrigin(t.get(coordinates)) + coords = table.sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]).get(coordinates) + grid,size,origin = grid_filters.cell_coord0_gridSizeOrigin(coords) labels_ = [labels] if isinstance(labels,str) else labels - _,unique_inverse = np.unique(np.hstack([t.get(l) for l in labels_]),return_inverse=True,axis=0) - ma = unique_inverse.reshape(grid,order='F') + 1 + unique,unique_inverse = np.unique(np.hstack([table.get(l) for l in labels_]),return_inverse=True,axis=0) + if len(unique) == grid.prod(): + ma = np.arange(grid.prod()) + else: + ma = np.empty(grid.prod(),'i') + for to_ma,from_ma in enumerate(pd.unique(unique_inverse)): + ma[unique_inverse==from_ma] = to_ma - return Geom(ma,size,origin,util.execution_stamp('Geom','from_table')) + return Geom(ma.reshape(grid,order='F'),size,origin,util.execution_stamp('Geom','from_table')) @staticmethod @@ -782,8 +787,8 @@ class Geom: """ substituted = self.material.copy() - for from_ms,to_ms in zip(from_material,to_material): - substituted[self.material==from_ms] = to_ms + for from_ma,to_ma in zip(from_material,to_material): + substituted[self.material==from_ma] = to_ma return Geom(material = substituted, size = self.size, From 98e0ef3881ca2c13794c741618500ad9f0fd64cd Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 28 Oct 2020 13:38:20 +0100 Subject: [PATCH 915/958] no loops taken from https://stackoverflow.com/questions/3403973 --- python/damask/_geom.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index d5abe29a7..e0e6fcdc6 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -269,9 +269,10 @@ class Geom: if len(unique) == grid.prod(): ma = np.arange(grid.prod()) else: - ma = np.empty(grid.prod(),'i') - for to_ma,from_ma in enumerate(pd.unique(unique_inverse)): - ma[unique_inverse==from_ma] = to_ma + from_ma = pd.unique(unique_inverse) + sort_idx = np.argsort(from_ma) + idx = np.searchsorted(from_ma,unique_inverse,sorter = sort_idx) + ma = np.arange(from_ma.size)[sort_idx][idx] return Geom(ma.reshape(grid,order='F'),size,origin,util.execution_stamp('Geom','from_table')) From 855bf124d397450e988c5e6a1704a5eec5290727 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 28 Oct 2020 14:39:41 +0100 Subject: [PATCH 916/958] faster https://stackoverflow.com/questions/16992713 --- python/damask/_geom.py | 11 +++++++---- python/tests/test_Geom.py | 7 +++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index e0e6fcdc6..7dfca4cd1 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -787,11 +787,14 @@ class Geom: New material indices. """ - substituted = self.material.copy() - for from_ma,to_ma in zip(from_material,to_material): - substituted[self.material==from_ma] = to_ma + mapper = dict(zip(from_material,to_material)) + + def mp(entry): + return mapper[entry] if entry in mapper else entry + + mp = np.vectorize(mp) - return Geom(material = substituted, + return Geom(material = mp(self.material).reshape(self.grid), size = self.size, origin = self.origin, comments = self.comments+[util.execution_stamp('Geom','substitute')], diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index aa6cf4baf..73d157cfd 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -195,6 +195,13 @@ class TestGeom: modified.substitute(np.arange(default.material.max())+1+offset, np.arange(default.material.max())+1)) + def test_substitute_invariant(self,default): + f = np.unique(default.material.flatten())[:np.random.randint(1,default.material.max())] + t = np.random.permutation(f) + modified = default.substitute(f,t) + assert np.array_equiv(t,f) or (not geom_equal(modified,default)) + assert geom_equal(default, modified.substitute(t,f)) + @pytest.mark.parametrize('axis_angle',[np.array([1,0,0,86.7]), np.array([0,1,0,90.4]), np.array([0,0,1,90]), np.array([1,0,0,175]),np.array([0,-1,0,178]),np.array([0,0,1,180])]) From 76a57af10183861eea045a97cb56783ca6ab941e Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 28 Oct 2020 19:21:02 +0100 Subject: [PATCH 917/958] [skip ci] updated version information after successful test of v3.0.0-alpha-567-g21f095c9d --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 7cd736d87..b2c5b72c6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-562-gea4904499 +v3.0.0-alpha-567-g21f095c9d From 4ff99a7af4c75cd6c4e7adafb7951ef8134e8a84 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 28 Oct 2020 21:51:20 +0100 Subject: [PATCH 918/958] more logical layout --- python/damask/_geom.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 7dfca4cd1..c76cc8c5a 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -787,14 +787,13 @@ class Geom: New material indices. """ - mapper = dict(zip(from_material,to_material)) - - def mp(entry): + def mp(entry,mapper): return mapper[entry] if entry in mapper else entry mp = np.vectorize(mp) + mapper = dict(zip(from_material,to_material)) - return Geom(material = mp(self.material).reshape(self.grid), + return Geom(material = mp(self.material,mapper).reshape(self.grid), size = self.size, origin = self.origin, comments = self.comments+[util.execution_stamp('Geom','substitute')], From 1b2cd6caf6277ba0b169e799bffadce863b7e6d4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 28 Oct 2020 21:52:51 +0100 Subject: [PATCH 919/958] documentation was misleading --- python/damask/_configmaterial.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index a7ecec108..47b5fa37c 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -229,11 +229,9 @@ class ConfigMaterial(Config): Parameters ---------- constituents : dict - Entries for 'constituents'. The key is the name and the value specifies - the label of the data column in the table + Entries for 'constituents' as key-value pair. **kwargs - Keyword arguments where the key is the name and the value specifies - the label of the data column in the table + Key-value pairs. Examples -------- @@ -264,7 +262,7 @@ class ConfigMaterial(Config): for k,v in kwargs.items(): if hasattr(v,'__len__') and not isinstance(v,str): if len(v) != len(c): - raise ValueError('len mismatch 1') + raise ValueError('Cannot add entries of different length') for i,vv in enumerate(v): c[i][k] = [w.item() for w in vv] if isinstance(vv,np.ndarray) else vv.item() else: @@ -288,7 +286,7 @@ class ConfigMaterial(Config): for k,v in kwargs.items(): if hasattr(v,'__len__') and not isinstance(v,str): if len(v) != N_material: - raise ValueError('len mismatch 2') + raise ValueError('Cannot add entries of different length') for i,vv in enumerate(np.array(v)): m[i][0][k] = [w.item() for w in vv] if isinstance(vv,np.ndarray) else vv.item() else: From 3be0c462a801a628dc556303bc04371e496b4258 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 29 Oct 2020 07:17:41 +0100 Subject: [PATCH 920/958] explicit is better then implicit: user should sort Table according to coordinates to create geometry. This allows to have consistent behavior for from_table in Geom and ConfigMaterial. We always ensure to keep the order --- python/damask/_configmaterial.py | 19 +++++-------------- python/damask/_geom.py | 4 ++-- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index 47b5fa37c..c625e6251 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -26,7 +26,7 @@ class ConfigMaterial(Config): @staticmethod - def from_table(table,coordinates=None,constituents={},**kwargs): + def from_table(table,constituents={},**kwargs): """ Load from an ASCII table. @@ -34,10 +34,6 @@ class ConfigMaterial(Config): ---------- table : damask.Table Table that contains material information. - coordinates : str, optional - Label of spatial coordiates. Used for sorting and performing a - sanity check. Default to None, in which case no sorting or checking is - peformed. constituents : dict, optional Entries for 'constituents'. The key is the name and the value specifies the label of the data column in the table @@ -54,7 +50,7 @@ class ConfigMaterial(Config): pos pos pos qu qu qu qu phase homog 0 0 0 0 0.19 0.8 0.24 -0.51 Aluminum SX 1 1 0 0 0.8 0.19 0.24 -0.51 Steel SX - >>> cm.from_table(t,'pos',{'O':'qu','phase':'phase'},homogenization='homog') + >>> cm.from_table(t,{'O':'qu','phase':'phase'},homogenization='homog') material: - constituents: - O: [0.19, 0.8, 0.24, -0.51] @@ -68,17 +64,12 @@ class ConfigMaterial(Config): homogenization: SX """ - if coordinates is not None: - t = table.sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]) - grid_filters.coord0_check(t.get(coordinates)) - else: - t = table - - constituents_ = {k:t.get(v) for k,v in constituents.items()} - kwargs_ = {k:t.get(v) for k,v in kwargs.items()} + constituents_ = {k:table.get(v) for k,v in constituents.items()} + kwargs_ = {k:table.get(v) for k,v in kwargs.items()} _,idx = np.unique(np.hstack(list({**constituents_,**kwargs_}.values())),return_index=True,axis=0) + idx = np.sort(idx) constituents_ = {k:v[idx].squeeze() for k,v in constituents_.items()} kwargs_ = {k:v[idx].squeeze() for k,v in kwargs_.items()} diff --git a/python/damask/_geom.py b/python/damask/_geom.py index c76cc8c5a..6c5e3907a 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -255,13 +255,13 @@ class Geom: table : damask.Table Table that contains material information. coordinates : str - Label of the column containing the spatial coordinates. + Label of the column containing the vector of spatial coordinates. + Need to be ordered (1./x fast, 3./z slow). labels : str or list of str Label(s) of the columns containing the material definition. Each unique combintation of values results in a material. """ - coords = table.sort_by([f'{i}_{coordinates}' for i in range(3,0,-1)]).get(coordinates) grid,size,origin = grid_filters.cell_coord0_gridSizeOrigin(coords) labels_ = [labels] if isinstance(labels,str) else labels From 999cf53c079c846be8eba6c4d3cbb160db6f2290 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 29 Oct 2020 07:42:41 +0100 Subject: [PATCH 921/958] tests+fixes --- python/damask/_geom.py | 2 +- python/tests/test_ConfigMaterial.py | 13 +++++++++++++ python/tests/test_Geom.py | 13 +++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 6c5e3907a..48f022805 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -262,7 +262,7 @@ class Geom: Each unique combintation of values results in a material. """ - grid,size,origin = grid_filters.cell_coord0_gridSizeOrigin(coords) + grid,size,origin = grid_filters.cell_coord0_gridSizeOrigin(table.get(coordinates)) labels_ = [labels] if isinstance(labels,str) else labels unique,unique_inverse = np.unique(np.hstack([table.get(l) for l in labels_]),return_inverse=True,axis=0) diff --git a/python/tests/test_ConfigMaterial.py b/python/tests/test_ConfigMaterial.py index 4863a8ac4..d0bcd2a56 100644 --- a/python/tests/test_ConfigMaterial.py +++ b/python/tests/test_ConfigMaterial.py @@ -1,8 +1,10 @@ import os import pytest +import numpy as np from damask import ConfigMaterial +from damask import Table @pytest.fixture def reference_dir(reference_dir_base): @@ -74,3 +76,14 @@ class TestConfigMaterial: material_config = ConfigMaterial.load(reference_dir/'material.yaml') new = material_config.material_rename_homogenization({'Taylor':'isostrain'}) assert not new.is_complete + + def test_from_table(self): + N = np.random.randint(3,10) + a = np.vstack((np.hstack((np.arange(N),np.arange(N)[::-1])),np.ones(N*2),np.zeros(N*2),np.ones(N*2))).T + t = Table(a,{'varying':2,'constant':2}) + c = ConfigMaterial.from_table(t,constituents={'a':'varying','b':'1_constant'},c='2_constant') + assert len(c['material']) == N + for i,m in enumerate(c['material']): + c = m['constituents'][0] + assert m['c'] == 1 and c['b'] == 0 and c['a'] == [i,1] + diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 73d157cfd..dd9c28a3e 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -3,8 +3,10 @@ import numpy as np from damask import VTK from damask import Geom +from damask import Table from damask import Rotation from damask import util +from damask import grid_filters def geom_equal(a,b): @@ -371,3 +373,14 @@ class TestGeom: grid = np.ones(3,dtype=int)*64 geom = Geom.from_minimal_surface(grid,np.ones(3),surface,threshold) assert np.isclose(np.count_nonzero(geom.material==1)/np.prod(geom.grid),.5,rtol=1e-3) + + + def test_from_table(self): + grid = np.random.randint(60,100,3) + size = np.ones(3)+np.random.rand(3) + coords = grid_filters.cell_coord0(grid,size).reshape(-1,3,order='F') + x = np.ones(grid.prod()).reshape(-1,1) + y = np.hstack([np.arange(grid[1])]*grid[0]*grid[2]).reshape(-1,1) + t = Table(np.hstack((coords,x,y)),{'coords':3,'x':1,'y':1}) + g = Geom.from_table(t,'coords',['x','y']) + assert g.N_materials == g.grid[2] From ed1be8c21c4e45673d4c99d5d5e5be1826c9870d Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 29 Oct 2020 13:50:12 +0100 Subject: [PATCH 922/958] consistent output names --- PRIVATE | 2 +- examples/SpectralMethod/Polycrystal/material.yaml | 2 +- src/crystallite.f90 | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/PRIVATE b/PRIVATE index 1e8c66897..0ce46aeb2 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 1e8c66897820468ab46958d995005e2b69204d0e +Subproject commit 0ce46aeb2dc74566642a4076b4218f809977e503 diff --git a/examples/SpectralMethod/Polycrystal/material.yaml b/examples/SpectralMethod/Polycrystal/material.yaml index 0717d4eab..04775be4c 100644 --- a/examples/SpectralMethod/Polycrystal/material.yaml +++ b/examples/SpectralMethod/Polycrystal/material.yaml @@ -110,7 +110,7 @@ phase: Aluminum: elasticity: {C_11: 106.75e9, C_12: 60.41e9, C_44: 28.34e9, type: hooke} generic: - output: [F, P, Fe, Fp, Lp, O] + output: [F, P, F_e, F_p, L_p, O] lattice: fcc plasticity: N_sl: [12] diff --git a/src/crystallite.f90 b/src/crystallite.f90 index c00b076a3..f2b305aa2 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -759,23 +759,23 @@ subroutine crystallite_results selected_tensors = select_tensors(crystallite_partitionedF,p) call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& 'deformation gradient','1') - case('Fe') + case('F_e') selected_tensors = select_tensors(crystallite_Fe,p) call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& 'elastic deformation gradient','1') - case('Fp') + case('F_p') selected_tensors = select_tensors(crystallite_Fp,p) call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& 'plastic deformation gradient','1') - case('Fi') + case('F_i') selected_tensors = select_tensors(crystallite_Fi,p) call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& 'inelastic deformation gradient','1') - case('Lp') + case('L_p') selected_tensors = select_tensors(crystallite_Lp,p) call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& 'plastic velocity gradient','1/s') - case('Li') + case('L_i') selected_tensors = select_tensors(crystallite_Li,p) call results_writeDataset(group,selected_tensors,output_constituent(p)%label(o),& 'inelastic velocity gradient','1/s') From 904c338b136660283de355e052cdf1923a1e81d7 Mon Sep 17 00:00:00 2001 From: Vitesh Shah Date: Thu, 29 Oct 2020 15:21:40 +0100 Subject: [PATCH 923/958] Reflect version underscore of installation files --- installation/mods_MarcMentat/apply_DAMASK_modifications.py | 4 ++-- python/damask/_environment.py | 2 +- python/damask/solver/_marc.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/installation/mods_MarcMentat/apply_DAMASK_modifications.py b/installation/mods_MarcMentat/apply_DAMASK_modifications.py index ef0001074..51f5e2312 100755 --- a/installation/mods_MarcMentat/apply_DAMASK_modifications.py +++ b/installation/mods_MarcMentat/apply_DAMASK_modifications.py @@ -7,7 +7,7 @@ from pathlib import Path import damask -marc_version = float(damask.environment.options['MSCVERSION']) +marc_version = float(damask.environment.options['MSC_VERSION']) if int(marc_version) == marc_version: marc_version = int(marc_version) msc_root = Path(damask.environment.options['MSC_ROOT']) @@ -15,7 +15,7 @@ damask_root = damask.environment.root_dir parser = argparse.ArgumentParser( description='Apply DAMASK modification to MSC.Marc/Mentat', - epilog = f'MSC_ROOT={msc_root} and MSCVERSION={marc_version} (from {damask_root}/env/CONFIG)') + epilog = f'MSC_ROOT={msc_root} and MSC_VERSION={marc_version} (from {damask_root}/env/CONFIG)') parser.add_argument('--editor', dest='editor', metavar='string', default='vi', help='Name of the editor for MSC.Mentat (executable)') diff --git a/python/damask/_environment.py b/python/damask/_environment.py index d3629de31..9983a91aa 100644 --- a/python/damask/_environment.py +++ b/python/damask/_environment.py @@ -32,7 +32,7 @@ class Environment: options = {} for item in ['DAMASK_NUM_THREADS', 'MSC_ROOT', - 'MSCVERSION', + 'MSC_VERSION', ]: options[item] = os.environ[item] if item in os.environ else None diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index 29e7fe671..e37a46488 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -8,7 +8,7 @@ from .. import environment class Marc: """Wrapper to run DAMASK with MSCMarc.""" - def __init__(self,version=environment.options['MSCVERSION']): + def __init__(self,version=environment.options['MSC_VERSION']): """ Create a Marc solver object. From 2736bbaba7a6931a01d9981a6b206977e5ec51e4 Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 29 Oct 2020 15:49:28 +0100 Subject: [PATCH 924/958] [skip ci] updated version information after successful test of v3.0.0-alpha-579-g4b25097a9 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index b2c5b72c6..eaf9a5b74 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-567-g21f095c9d +v3.0.0-alpha-579-g4b25097a9 From 680799ae5a213442a2f3fdc63cc23711f90d5316 Mon Sep 17 00:00:00 2001 From: Vitesh Shah Date: Thu, 29 Oct 2020 16:19:11 +0100 Subject: [PATCH 925/958] updated private --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 1e8c66897..e02d78d1a 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 1e8c66897820468ab46958d995005e2b69204d0e +Subproject commit e02d78d1ad4bef7a85c8895c97cb78871e8faad2 From 4b700d367e1ebb6e07453e167348028fcb840d29 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 29 Oct 2020 17:52:16 +0100 Subject: [PATCH 926/958] improved test --- python/damask/_configmaterial.py | 1 - python/tests/test_Geom.py | 11 ++++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index c625e6251..8b4f1c5ea 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -2,7 +2,6 @@ import copy import numpy as np -from . import grid_filters from . import Config from . import Lattice from . import Rotation diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index dd9c28a3e..03bd92e13 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -379,8 +379,9 @@ class TestGeom: grid = np.random.randint(60,100,3) size = np.ones(3)+np.random.rand(3) coords = grid_filters.cell_coord0(grid,size).reshape(-1,3,order='F') - x = np.ones(grid.prod()).reshape(-1,1) - y = np.hstack([np.arange(grid[1])]*grid[0]*grid[2]).reshape(-1,1) - t = Table(np.hstack((coords,x,y)),{'coords':3,'x':1,'y':1}) - g = Geom.from_table(t,'coords',['x','y']) - assert g.N_materials == g.grid[2] + z=np.ones(grid.prod()) + z[int(z.size/2):]=0 + t = Table(np.column_stack((coords,z)),{'coords':3,'z':1}) + g = Geom.from_table(t,'coords',['1_coords','z']) + assert g.N_materials == g.grid[0]*2 and \ + (g.material[:,:,-1]-g.material[:,:,0]-grid[:1].prod() == 0).all() From 0e499eedf367d64e2fba6c4dc13532c31ce579b8 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 29 Oct 2020 18:35:22 +0100 Subject: [PATCH 927/958] correct rounding/clearer logic --- python/tests/test_Geom.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/python/tests/test_Geom.py b/python/tests/test_Geom.py index 03bd92e13..0d393a4c4 100644 --- a/python/tests/test_Geom.py +++ b/python/tests/test_Geom.py @@ -380,8 +380,7 @@ class TestGeom: size = np.ones(3)+np.random.rand(3) coords = grid_filters.cell_coord0(grid,size).reshape(-1,3,order='F') z=np.ones(grid.prod()) - z[int(z.size/2):]=0 + z[grid[:2].prod()*int(grid[2]/2):]=0 t = Table(np.column_stack((coords,z)),{'coords':3,'z':1}) g = Geom.from_table(t,'coords',['1_coords','z']) - assert g.N_materials == g.grid[0]*2 and \ - (g.material[:,:,-1]-g.material[:,:,0]-grid[:1].prod() == 0).all() + assert g.N_materials == g.grid[0]*2 and (g.material[:,:,-1]-g.material[:,:,0] == grid[0]).all() From b2289e80b22c1fa9eceee5362752a885e0259e74 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 29 Oct 2020 20:09:13 +0100 Subject: [PATCH 928/958] simplified --- python/damask/_configmaterial.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index 8b4f1c5ea..0f8d4efa1 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -226,10 +226,11 @@ class ConfigMaterial(Config): Examples -------- >>> import damask - >>> m = damask.ConfigMaterial() >>> O = damask.Rotation.from_random(3).as_quaternion() >>> phase = ['Aluminum','Steel','Aluminum'] - >>> m.material_add(constituents={'phase':phase,'O':O},homogenization='SX') + >>> m = damask.ConfigMaterial().material_add(constituents={'phase':phase,'O':O}, + ... homogenization='SX') + >>> m material: - constituents: - O: [0.577764, -0.146299, -0.617669, 0.513010] @@ -259,8 +260,7 @@ class ConfigMaterial(Config): for i in range(len(c)): c[i][k] = v dup = copy.deepcopy(self) - if 'material' not in dup: dup['material'] = [] - dup['material'] +=c + dup['material'] = dup['material'] + c if 'material' in dup else c return dup From 10ba53721dec264e9d94d215df6a4b13294e124d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 29 Oct 2020 20:47:15 +0100 Subject: [PATCH 929/958] not needed anymore --- examples/.gitignore | 3 --- 1 file changed, 3 deletions(-) diff --git a/examples/.gitignore b/examples/.gitignore index 3cb6b9820..93d78295b 100644 --- a/examples/.gitignore +++ b/examples/.gitignore @@ -3,6 +3,3 @@ *.xdmf *.sta *.vt* -*.geom -*.seeds -postProc From ae60262fc267fdbdaf5bac9f5abfdc1bdd0bd4f2 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Thu, 29 Oct 2020 21:00:54 +0100 Subject: [PATCH 930/958] updated reference results --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 0ce46aeb2..6f1eb049c 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 0ce46aeb2dc74566642a4076b4218f809977e503 +Subproject commit 6f1eb049c012916651018deaf57b49351a034243 From 0af81e1af7e808d46695f4431ead4d0692390359 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 30 Oct 2020 05:57:50 +0100 Subject: [PATCH 931/958] [skip ci] updated version information after successful test of v3.0.0-alpha-594-g46e5023f8 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index eaf9a5b74..002deaea7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-579-g4b25097a9 +v3.0.0-alpha-594-g46e5023f8 From 8e68b4f5d38071db42d1653c6f65fa53a36fd476 Mon Sep 17 00:00:00 2001 From: Vitesh Shah Date: Fri, 30 Oct 2020 11:46:15 +0100 Subject: [PATCH 932/958] environment should adhere to MSC_VERSION naming --- env/CONFIG | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env/CONFIG b/env/CONFIG index 380197583..5d92af7fa 100644 --- a/env/CONFIG +++ b/env/CONFIG @@ -2,4 +2,4 @@ set DAMASK_NUM_THREADS = 4 set MSC_ROOT = /opt/msc -set MARC_VERSION = 2019.1 +set MSC_VERSION = 2019.1 From 9fa0528b85449197a375cf63f6e3c9122e25361a Mon Sep 17 00:00:00 2001 From: Vitesh Shah Date: Fri, 30 Oct 2020 11:56:37 +0100 Subject: [PATCH 933/958] More tests in PRIVATE using MSC_VERSION --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index e02d78d1a..e0cee6bda 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit e02d78d1ad4bef7a85c8895c97cb78871e8faad2 +Subproject commit e0cee6bda1e3819563618113f5a46ae6ccaf026b From 146ca100e8db0beeed7abdc552d3293e81769fab Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 30 Oct 2020 13:36:53 +0100 Subject: [PATCH 934/958] take care of restart files --- src/crystallite.f90 | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index f2b305aa2..0366d3586 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -1557,11 +1557,11 @@ subroutine crystallite_restartWrite fileHandle = HDF5_openFile(fileName,'a') call HDF5_write(fileHandle,crystallite_partitionedF,'F') - call HDF5_write(fileHandle,crystallite_Fp, 'Fp') - call HDF5_write(fileHandle,crystallite_Fi, 'Fi') - call HDF5_write(fileHandle,crystallite_Lp, 'Lp') - call HDF5_write(fileHandle,crystallite_Li, 'Li') - call HDF5_write(fileHandle,crystallite_S, 'S') + call HDF5_write(fileHandle,crystallite_Fp, 'F_p') + call HDF5_write(fileHandle,crystallite_Fi, 'F_i') + call HDF5_write(fileHandle,crystallite_Lp, 'L_p') + call HDF5_write(fileHandle,crystallite_Li, 'L_i') + call HDF5_write(fileHandle,crystallite_S, 'S') groupHandle = HDF5_addGroup(fileHandle,'constituent') do i = 1,size(material_name_phase) @@ -1598,10 +1598,10 @@ subroutine crystallite_restartRead fileHandle = HDF5_openFile(fileName) call HDF5_read(fileHandle,crystallite_F0, 'F') - call HDF5_read(fileHandle,crystallite_Fp0,'Fp') - call HDF5_read(fileHandle,crystallite_Fi0,'Fi') - call HDF5_read(fileHandle,crystallite_Lp0,'Lp') - call HDF5_read(fileHandle,crystallite_Li0,'Li') + call HDF5_read(fileHandle,crystallite_Fp0,'F_p') + call HDF5_read(fileHandle,crystallite_Fi0,'F_i') + call HDF5_read(fileHandle,crystallite_Lp0,'L_p') + call HDF5_read(fileHandle,crystallite_Li0,'L_i') call HDF5_read(fileHandle,crystallite_S0, 'S') groupHandle = HDF5_openGroup(fileHandle,'constituent') From 8b6ae8ed88b4eb4a30b22db9b8d2f5ac5301c92b Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Fri, 30 Oct 2020 13:59:25 +0100 Subject: [PATCH 935/958] merged latest development test repo --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 6f1eb049c..c3aa5acec 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 6f1eb049c012916651018deaf57b49351a034243 +Subproject commit c3aa5acec28d4d6526bf7fe4c3afc0dc4cb2afbe From b401e48879d7a046b90c25ab70234dd849bf4a28 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Fri, 30 Oct 2020 17:48:12 +0100 Subject: [PATCH 936/958] upadted tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 3112a4dbf..901db0099 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 3112a4dbfa1e926c07b7f9443161239b8a7e85ca +Subproject commit 901db00995bf4dec47562814bc0b105d7eb75683 From c29e3650f384a4944786562a077e855012a666bc Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 30 Oct 2020 22:24:27 +0100 Subject: [PATCH 937/958] don't squeeze into scalar --- python/damask/_configmaterial.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index 0f8d4efa1..febeca64c 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -69,8 +69,8 @@ class ConfigMaterial(Config): _,idx = np.unique(np.hstack(list({**constituents_,**kwargs_}.values())),return_index=True,axis=0) idx = np.sort(idx) - constituents_ = {k:v[idx].squeeze() for k,v in constituents_.items()} - kwargs_ = {k:v[idx].squeeze() for k,v in kwargs_.items()} + constituents_ = {k:np.atleast_1d(v[idx].squeeze()) for k,v in constituents_.items()} + kwargs_ = {k:np.atleast_1d(v[idx].squeeze()) for k,v in kwargs_.items()} return ConfigMaterial().material_add(constituents_,**kwargs_) From aecf2f539e6c941c2c380b7eac3276102879059d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 30 Oct 2020 22:26:02 +0100 Subject: [PATCH 938/958] allow one homogenization quite useless ... --- python/damask/_configmaterial.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/damask/_configmaterial.py b/python/damask/_configmaterial.py index febeca64c..ed45f2662 100644 --- a/python/damask/_configmaterial.py +++ b/python/damask/_configmaterial.py @@ -268,6 +268,7 @@ class ConfigMaterial(Config): @staticmethod def _constituents(N=1,**kwargs): """Construct list of constituents.""" + N_material=1 for v in kwargs.values(): if hasattr(v,'__len__') and not isinstance(v,str): N_material = len(v) From 657d7b06b071ce49b0b1eee43787ada5b01847f4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 31 Oct 2020 08:28:55 +0100 Subject: [PATCH 939/958] out of sync PRIVATE caused tests to fail --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 901db0099..fb8647f77 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 901db00995bf4dec47562814bc0b105d7eb75683 +Subproject commit fb8647f77aeb52098605f0fd7fe95764e6d26027 From cf740a279e811dab52b27e3e746d2e8aeb39af9b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 31 Oct 2020 09:56:43 +0100 Subject: [PATCH 940/958] combine constant with varying data --- python/tests/test_ConfigMaterial.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/python/tests/test_ConfigMaterial.py b/python/tests/test_ConfigMaterial.py index d0bcd2a56..0f2b6a90c 100644 --- a/python/tests/test_ConfigMaterial.py +++ b/python/tests/test_ConfigMaterial.py @@ -87,3 +87,7 @@ class TestConfigMaterial: c = m['constituents'][0] assert m['c'] == 1 and c['b'] == 0 and c['a'] == [i,1] + def test__constituents(self): + c = ConfigMaterial._constituents(c=1,v=[2,3]) + assert c[0][0]['c'] == c[1][0]['c'] == 1 + assert c[0][0]['v'] == c[1][0]['v'] -1 ==2 From 6f2c5231c27b2176449c8b29ba9276428c38a850 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 31 Oct 2020 10:34:16 +0100 Subject: [PATCH 941/958] shell script not needed anymore --- PRIVATE | 2 +- processing/pre/geom_fromTable.py | 57 -------------------------------- 2 files changed, 1 insertion(+), 58 deletions(-) delete mode 100755 processing/pre/geom_fromTable.py diff --git a/PRIVATE b/PRIVATE index fb8647f77..7e7452fe1 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit fb8647f77aeb52098605f0fd7fe95764e6d26027 +Subproject commit 7e7452fe11187cd816fccf83a947bd7ea7713586 diff --git a/processing/pre/geom_fromTable.py b/processing/pre/geom_fromTable.py deleted file mode 100755 index 9ff4ffdc2..000000000 --- a/processing/pre/geom_fromTable.py +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from optparse import OptionParser - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Converts ASCII table. Input can be microstructure or orientation (as quaternion). For the latter, -phase information can be given additionally. - -""", version = scriptID) - -parser.add_option('--coordinates', - dest = 'pos', - type = 'string', metavar = 'string', - help = 'coordinates label (%default)') -parser.add_option('--phase', - dest = 'phase', - type = 'string', metavar = 'string', - help = 'phase label') -parser.add_option('--microstructure', - dest = 'microstructure', - type = 'string', metavar = 'string', - help = 'microstructure label') -parser.add_option('-q', '--quaternion', - dest = 'quaternion', - type = 'string', metavar='string', - help = 'quaternion label') - -parser.set_defaults(pos= 'pos') - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -for name in filenames: - damask.util.report(scriptName,name) - - labels = [] - for l in [options.quaternion,options.phase,options.microstructure]: - if l is not None: labels.append(l) - - t = damask.Table.load(name) - geom = damask.Geom.from_table(t,options.pos,labels) - damask.util.croak(geom) - - geom.save_ASCII(sys.stdout if name is None else os.path.splitext(name)[0]+'.geom') From e11391c750a966f0ee6fcd544174f7d7b4ed6ef4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 31 Oct 2020 10:36:50 +0100 Subject: [PATCH 942/958] easier to do directly on a numpy array --- processing/post/permuteData.py | 61 ---------------------------------- 1 file changed, 61 deletions(-) delete mode 100755 processing/post/permuteData.py diff --git a/processing/post/permuteData.py b/processing/post/permuteData.py deleted file mode 100755 index 073ccfd9f..000000000 --- a/processing/post/permuteData.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from io import StringIO -from optparse import OptionParser - -import numpy as np - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [ASCIItable(s)]', description = """ -Permute all values in given column(s). - -""", version = scriptID) - -parser.add_option('-l','--label', - dest = 'label', - action = 'extend', metavar = '', - help ='column(s) to permute') -parser.add_option('-u', '--unique', - dest = 'unique', - action = 'store_true', - help = 'shuffle unique values as group') -parser.add_option('-r', '--rnd', - dest = 'randomSeed', - type = 'int', metavar = 'int', - help = 'seed of random number generator [%default]') - -parser.set_defaults(label = [], - unique = False, - randomSeed = None, - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -for name in filenames: - damask.util.report(scriptName,name) - - table = damask.Table.load(StringIO(''.join(sys.stdin.read())) if name is None else name) - - randomSeed = int(os.urandom(4).hex(), 16) if options.randomSeed is None else options.randomSeed # random seed per file - rng = np.random.default_rng(randomSeed) - - for label in options.label: - data = table.get(label) - uniques,inverse = np.unique(data,return_inverse=True,axis=0) if options.unique else (data,np.arange(len(data))) - rng.shuffle(uniques) - table = table.set(label,uniques[inverse], scriptID+' '+' '.join(sys.argv[1:])) - - table.save((sys.stdout if name is None else name), legacy=True) From 7df3563ced9290bd277bcebfaca60d7e0550bbe0 Mon Sep 17 00:00:00 2001 From: Test User Date: Sat, 31 Oct 2020 11:30:09 +0100 Subject: [PATCH 943/958] [skip ci] updated version information after successful test of v3.0.0-alpha-609-g657d7b06b --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 002deaea7..9d16c2ea2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-594-g46e5023f8 +v3.0.0-alpha-609-g657d7b06b From 8224122bb984d1230bd318a0bf3cee439bc67182 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 31 Oct 2020 12:59:46 +0100 Subject: [PATCH 944/958] more user friendly error handling --- python/damask/solver/_marc.py | 63 +++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 29 deletions(-) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index e37a46488..fb1e12b82 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -1,6 +1,7 @@ import subprocess import shlex -import string +import re +import io from pathlib import Path from .. import environment @@ -27,7 +28,10 @@ class Marc: path_MSC = environment.options['MSC_ROOT'] path_lib = Path(f'{path_MSC}/mentat{self.version}/shlib/linux64') - return path_lib if path_lib.is_dir() else None + if not path_lib.is_dir(): + raise FileNotFoundError(f'library path "{path_lib}" not found') + + return path_lib @property @@ -36,10 +40,12 @@ class Marc: path_MSC = environment.options['MSC_ROOT'] path_tools = Path(f'{path_MSC}/marc{self.version}/tools') - return path_tools if path_tools.is_dir() else None + if not path_tools.is_dir(): + raise FileNotFoundError(f'tools path "{path_tools}" not found') + + return path_tools -#-------------------------- def submit_job(self, model, job = 'job1', @@ -48,38 +54,37 @@ class Marc: optimization = '', ): - usersub = environment.root_dir/'src/DAMASK_marc' usersub = usersub.parent/(usersub.name + ('.f90' if compile else '.marc')) if not usersub.is_file(): - raise FileNotFoundError("DAMASK4Marc ({}) '{}' not found".format(('source' if compile else 'binary'),usersub)) + raise FileNotFoundError(f'subroutine ({"source" if compile else "binary"}) "{usersub}" not found') # Define options [see Marc Installation and Operation Guide, pp 23] script = f'run_damask_{optimization}mp' - cmd = str(self.tools_path/Path(script)) + \ - ' -jid ' + model + '_' + job + \ - ' -nprocd 1 -autorst 0 -ci n -cr n -dcoup 0 -b no -v no' - - if compile: cmd += ' -u ' + str(usersub) + ' -save y' - else: cmd += ' -prog ' + str(usersub.with_suffix('')) - - print('job submission {} compilation: {}'.format(('with' if compile else 'without'),usersub)) - if logfile: log = open(logfile, 'w') + cmd = str(self.tools_path/script) + \ + ' -jid ' + model+'_'+job + \ + ' -nprocd 1 -autorst 0 -ci n -cr n -dcoup 0 -b no -v no' + cmd += ' -u ' + str(usersub) + ' -save y' if compile else \ + ' -prog ' + str(usersub.with_suffix('')) print(cmd) - process = subprocess.Popen(shlex.split(cmd),stdout = log,stderr = subprocess.STDOUT) - log.close() - process.wait() -#-------------------------- - def exit_number_from_outFile(self,outFile=None): - exitnumber = -1 - with open(outFile,'r') as fid_out: - for line in fid_out: - if (string.find(line,'tress iteration') != -1): - print(line) - elif (string.find(line,'Exit number') != -1): - substr = line[string.find(line,'Exit number'):len(line)] - exitnumber = int(substr[12:16]) + if logfile is not None: + try: + f = open(logfile,'w+') + except TypeError: + f = logfile + else: + f = io.StringIO() - return exitnumber + proc = subprocess.Popen(shlex.split(cmd),stdout=f,stderr=subprocess.STDOUT) + proc.wait() + f.seek(0) + + try: + v = int(re.search('Exit number ([0-9]+)',f.readlines()[-1]).group(1)) + except (AttributeError,ValueError): + raise RuntimeError('Marc simulation failed (unknown return value)') + + if v != 3004: + raise RuntimeError(f'Marc simulation failed ({v})') From 772fd18d81cf720ccbb8dfb59e4f8d96f5e22cdd Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 31 Oct 2020 14:45:19 +0100 Subject: [PATCH 945/958] only use pytest-based compile_Marc test --- .gitlab-ci.yml | 6 +++--- PRIVATE | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 17728632d..acdf6d9de 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -109,7 +109,7 @@ Pytest_python: stage: python script: - cd $DAMASKROOT/python - - pytest --basetemp=/tmp/${CI_PIPELINE_ID}/python + - pytest --basetemp=/tmp/${CI_PIPELINE_ID}/python -v except: - master - release @@ -253,7 +253,7 @@ Pytest_grid: script: - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel - cd pytest - - pytest -m 'not compile' --basetemp=/tmp/${CI_PIPELINE_ID}/fortran + - pytest -m 'not compile' --basetemp=/tmp/${CI_PIPELINE_ID}/fortran -k except: - master - release @@ -316,7 +316,7 @@ Marc_compileIfort: - module load $IntelMarc $HDF5Marc $MSC - Marc_compileIfort/test.py - cd pytest - - pytest -k 'compile and Marc' + - pytest -k 'compile and Marc' --basetemp=/tmp/${CI_PIPELINE_ID}/compile_Marc except: - master - release diff --git a/PRIVATE b/PRIVATE index 7e7452fe1..f1ab98fe9 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 7e7452fe11187cd816fccf83a947bd7ea7713586 +Subproject commit f1ab98fe98dc6a5c5f1d75d03e65a5defe147fed From 433b346f0ccb8df5f1cc1cb70e3b21b649096683 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 31 Oct 2020 16:19:56 +0100 Subject: [PATCH 946/958] simplified selection of tests --- .gitlab-ci.yml | 2 +- PRIVATE | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index acdf6d9de..864f9302d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -253,7 +253,7 @@ Pytest_grid: script: - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel - cd pytest - - pytest -m 'not compile' --basetemp=/tmp/${CI_PIPELINE_ID}/fortran -k + - pytest -k 'not compile' --basetemp=/tmp/${CI_PIPELINE_ID}/fortran -v except: - master - release diff --git a/PRIVATE b/PRIVATE index f1ab98fe9..768bae34b 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit f1ab98fe98dc6a5c5f1d75d03e65a5defe147fed +Subproject commit 768bae34b26cc09a9ffa47b8f5a1b20b43dd115d From 67f69fc8a5cd46f8338c85454a2aaf0b5493c7f6 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 31 Oct 2020 17:23:58 +0100 Subject: [PATCH 947/958] data is consecutive --- python/damask/_geom.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/python/damask/_geom.py b/python/damask/_geom.py index 48f022805..d3b375bf6 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -266,13 +266,9 @@ class Geom: labels_ = [labels] if isinstance(labels,str) else labels unique,unique_inverse = np.unique(np.hstack([table.get(l) for l in labels_]),return_inverse=True,axis=0) - if len(unique) == grid.prod(): - ma = np.arange(grid.prod()) - else: - from_ma = pd.unique(unique_inverse) - sort_idx = np.argsort(from_ma) - idx = np.searchsorted(from_ma,unique_inverse,sorter = sort_idx) - ma = np.arange(from_ma.size)[sort_idx][idx] + + ma = np.arange(grid.prod()) if len(unique) == grid.prod() else \ + np.arange(unique.size)[np.argsort(pd.unique(unique_inverse))][unique_inverse] return Geom(ma.reshape(grid,order='F'),size,origin,util.execution_stamp('Geom','from_table')) From 4d150f7e857f948678a4846a13e308348eaa01d9 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Sat, 31 Oct 2020 18:01:53 +0100 Subject: [PATCH 948/958] recent PRIVATE repo --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index c3aa5acec..57d3d5837 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit c3aa5acec28d4d6526bf7fe4c3afc0dc4cb2afbe +Subproject commit 57d3d5837a2b01a907cbd5266619ea265cab1374 From d89fad61359d1b7ca3071672a31e721d33fb4382 Mon Sep 17 00:00:00 2001 From: Vitesh Shah Date: Sat, 31 Oct 2020 19:32:49 +0100 Subject: [PATCH 949/958] Store value of MSC_VERSION in variable of same name --- env/DAMASK.csh | 2 +- .../apply_DAMASK_modifications.py | 32 +++++++++---------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/env/DAMASK.csh b/env/DAMASK.csh index 5529eac23..cc61449d2 100644 --- a/env/DAMASK.csh +++ b/env/DAMASK.csh @@ -51,4 +51,4 @@ else setenv PYTHONPATH $DAMASK_ROOT/python:$PYTHONPATH endif setenv MSC_ROOT -setenv MARC_VERSION +setenv MSC_VERSION diff --git a/installation/mods_MarcMentat/apply_DAMASK_modifications.py b/installation/mods_MarcMentat/apply_DAMASK_modifications.py index 51f5e2312..407c33558 100755 --- a/installation/mods_MarcMentat/apply_DAMASK_modifications.py +++ b/installation/mods_MarcMentat/apply_DAMASK_modifications.py @@ -7,15 +7,15 @@ from pathlib import Path import damask -marc_version = float(damask.environment.options['MSC_VERSION']) -if int(marc_version) == marc_version: - marc_version = int(marc_version) +msc_version = float(damask.environment.options['MSC_VERSION']) +if int(msc_version) == msc_version: + msc_version = int(msc_version) msc_root = Path(damask.environment.options['MSC_ROOT']) damask_root = damask.environment.root_dir parser = argparse.ArgumentParser( description='Apply DAMASK modification to MSC.Marc/Mentat', - epilog = f'MSC_ROOT={msc_root} and MSC_VERSION={marc_version} (from {damask_root}/env/CONFIG)') + epilog = f'MSC_ROOT={msc_root} and MSC_VERSION={msc_version} (from {damask_root}/env/CONFIG)') parser.add_argument('--editor', dest='editor', metavar='string', default='vi', help='Name of the editor for MSC.Mentat (executable)') @@ -24,7 +24,7 @@ def copy_and_replace(in_file,dst): with open(in_file) as f: content = f.read() content = content.replace('%INSTALLDIR%',str(msc_root)) - content = content.replace('%VERSION%',str(marc_version)) + content = content.replace('%VERSION%',str(msc_version)) content = content.replace('%EDITOR%', parser.parse_args().editor) with open(dst/Path(in_file).name,'w') as f: f.write(content) @@ -32,36 +32,36 @@ def copy_and_replace(in_file,dst): print('adapting Marc tools...\n') -src = damask_root/f'installation/mods_MarcMentat/{marc_version}/Marc_tools' -dst = msc_root/f'marc{marc_version}/tools' +src = damask_root/f'installation/mods_MarcMentat/{msc_version}/Marc_tools' +dst = msc_root/f'marc{msc_version}/tools' for in_file in glob.glob(str(src/'*damask*')) + [str(src/'include_linux64')]: copy_and_replace(in_file,dst) print('adapting Mentat scripts and menus...\n') -src = damask_root/f'installation/mods_MarcMentat/{marc_version}/Mentat_bin' -dst = msc_root/f'mentat{marc_version}/bin' +src = damask_root/f'installation/mods_MarcMentat/{msc_version}/Mentat_bin' +dst = msc_root/f'mentat{msc_version}/bin' for in_file in glob.glob(str(src/'*[!.original]')): copy_and_replace(in_file,dst) -src = damask_root/f'installation/mods_MarcMentat/{marc_version}/Mentat_menus' -dst = msc_root/f'mentat{marc_version}/menus' +src = damask_root/f'installation/mods_MarcMentat/{msc_version}/Mentat_menus' +dst = msc_root/f'mentat{msc_version}/menus' for in_file in glob.glob(str(src/'job_run.ms')): copy_and_replace(in_file,dst) print('compiling Mentat menu binaries...') -executable = str(msc_root/f'mentat{marc_version}/bin/mentat') -menu_file = str(msc_root/f'mentat{marc_version}/menus/linux64/main.msb') +executable = str(msc_root/f'mentat{msc_version}/bin/mentat') +menu_file = str(msc_root/f'mentat{msc_version}/menus/linux64/main.msb') os.system(f'xvfb-run {executable} -compile {menu_file}') print('setting file access rights...\n') -for pattern in [msc_root/f'marc{marc_version}/tools/*damask*', - msc_root/f'mentat{marc_version}/bin/submit?', - msc_root/f'mentat{marc_version}/bin/kill?']: +for pattern in [msc_root/f'marc{msc_version}/tools/*damask*', + msc_root/f'mentat{msc_version}/bin/submit?', + msc_root/f'mentat{msc_version}/bin/kill?']: for f in glob.glob(str(pattern)): os.chmod(f,0o755) From f2d0c2aca37de4a3e259e660f5bacda141b6c0ef Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 31 Oct 2020 20:51:27 +0100 Subject: [PATCH 950/958] test does not exist anymore --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 864f9302d..46ae5d1fa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -314,7 +314,6 @@ Marc_compileIfort: stage: compileMarc script: - module load $IntelMarc $HDF5Marc $MSC - - Marc_compileIfort/test.py - cd pytest - pytest -k 'compile and Marc' --basetemp=/tmp/${CI_PIPELINE_ID}/compile_Marc except: From a15304f8b721b06bdadead6a0d9ca3a2711a0095 Mon Sep 17 00:00:00 2001 From: Test User Date: Sun, 1 Nov 2020 05:09:32 +0100 Subject: [PATCH 951/958] [skip ci] updated version information after successful test of v3.0.0-alpha-615-gfce116aa8 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 9d16c2ea2..ee4230d4f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-609-g657d7b06b +v3.0.0-alpha-615-gfce116aa8 From 37ff11dc9dd86f982e7edce1e08933a78f4515d0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 1 Nov 2020 10:50:03 +0100 Subject: [PATCH 952/958] doxygen not useful anymore --- .gitlab-ci.yml | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 46ae5d1fa..016ba2668 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -75,11 +75,6 @@ variables: MSC: "$MSC2019_1" IntelMarc: "$IntelCompiler17_8" HDF5Marc: "HDF5/1.10.5/Intel-17.8" - # ++++++++++++ Documentation ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - Doxygen1_8_17: "Documentation/Doxygen/1.8.17" - # ------------ Defaults ---------------------------------------------- - Doxygen: "$Doxygen1_8_17" - ################################################################################################### checkout: @@ -400,20 +395,10 @@ createTar: - release ################################################################################################### -Marc: +Python: stage: createDocumentation script: - - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel $Doxygen - - $DAMASKROOT/PRIVATE/documenting/runDoxygen.sh $DAMASKROOT marc - except: - - master - - release - -GridSolver: - stage: createDocumentation - script: - - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel $Doxygen - - $DAMASKROOT/PRIVATE/documenting/runDoxygen.sh $DAMASKROOT grid + - echo 'tbd one matesting1' except: - master - release From 1a010a3973e2b45cb45336232a5549cd4bc76d9a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 1 Nov 2020 10:52:43 +0100 Subject: [PATCH 953/958] better matching name --- .gitlab-ci.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 016ba2668..57fbf04a8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,12 +20,12 @@ stages: ################################################################################################### before_script: - - if [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue)x == 'x' ]; - then echo $CI_PIPELINE_ID >> $TESTROOT/GitLabCI.queue; + - if [ $(awk "/$CI_PIPELINE_ID/{print NR}" $LOCAL_HOME/GitLabCI.queue)x == 'x' ]; + then echo $CI_PIPELINE_ID >> $LOCAL_HOME/GitLabCI.queue; fi - - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue) != 1 ]; + - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $LOCAL_HOME/GitLabCI.queue) != 1 ]; do sleep 5m; - echo -e "Currently queued pipelines:\n$(cat $TESTROOT/GitLabCI.queue)\n"; + echo -e "Currently queued pipelines:\n$(cat $LOCAL_HOME/GitLabCI.queue)\n"; done - source $DAMASKROOT/env/DAMASK.sh - cd $DAMASKROOT/PRIVATE/testing @@ -45,7 +45,7 @@ variables: # =============================================================================================== # Shortcut names # =============================================================================================== - DAMASKROOT: "$TESTROOT/GitLabCI_Pipeline_$CI_PIPELINE_ID/DAMASK" + DAMASKROOT: "$LOCAL_HOME/GitLabCI_Pipeline_$CI_PIPELINE_ID/DAMASK" # =============================================================================================== # Names of module files to load @@ -80,10 +80,10 @@ variables: checkout: stage: prepareAll before_script: - - echo $CI_PIPELINE_ID >> $TESTROOT/GitLabCI.queue - - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue) != 1 ]; + - echo $CI_PIPELINE_ID >> $LOCAL_HOME/GitLabCI.queue + - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $LOCAL_HOME/GitLabCI.queue) != 1 ]; do sleep 5m; - echo -e "Currently queued pipelines:\n$(cat $TESTROOT/GitLabCI.queue)\n"; + echo -e "Currently queued pipelines:\n$(cat $LOCAL_HOME/GitLabCI.queue)\n"; done script: - mkdir -p $DAMASKROOT @@ -376,10 +376,10 @@ SpectralRuntime: - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel - cd $DAMASKROOT - make clean grid processing OPTIMIZATION=AGGRESSIVE - - cd $TESTROOT/performance # location of old results + - cd $LOCAL_HOME/performance # location of old results - git checkout . # undo any changes (i.e. run time data from non-development branch) - cd $DAMASKROOT/PRIVATE/testing - - SpectralAll_runtime/test.py -d $TESTROOT/performance + - SpectralAll_runtime/test.py -d $LOCAL_HOME/performance except: - master - release @@ -407,11 +407,11 @@ Python: backupData: stage: saveDocumentation script: - - cd $TESTROOT/performance # location of new runtime results + - cd $LOCAL_HOME/performance # location of new runtime results - git commit -am"${CI_PIPELINE_ID}_${CI_COMMIT_SHA}" - mkdir $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA} - - mv $TESTROOT/performance/time.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ - - mv $TESTROOT/performance/memory.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ + - mv $LOCAL_HOME/performance/time.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ + - mv $LOCAL_HOME/performance/memory.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ - mv $DAMASKROOT/PRIVATE/documenting/DAMASK_* $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ only: - development @@ -441,8 +441,8 @@ removeData: before_script: - echo "Removing data and lock of pipeline $CI_PIPELINE_ID" script: - - rm -rf $TESTROOT/GitLabCI_Pipeline_$CI_PIPELINE_ID - - sed -i "/$CI_PIPELINE_ID/d" $TESTROOT/GitLabCI.queue # in case pipeline was manually (web GUI) restarted and releaseLock was performed already + - rm -rf $LOCAL_HOME/GitLabCI_Pipeline_$CI_PIPELINE_ID + - sed -i "/$CI_PIPELINE_ID/d" $LOCAL_HOME/GitLabCI.queue # in case pipeline was manually (web GUI) restarted and releaseLock was performed already except: - master - release @@ -453,7 +453,7 @@ removeLock: before_script: - echo "Removing lock of pipeline $CI_PIPELINE_ID" when: always - script: sed -i "/$CI_PIPELINE_ID/d" $TESTROOT/GitLabCI.queue + script: sed -i "/$CI_PIPELINE_ID/d" $LOCAL_HOME/GitLabCI.queue except: - master - release From 93faf4f2b3b25f1aaf91ac4450f52d2265d117cb Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 1 Nov 2020 12:58:41 +0100 Subject: [PATCH 954/958] correct folders --- .gitlab-ci.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 57fbf04a8..5c6d1d6f6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -46,6 +46,7 @@ variables: # Shortcut names # =============================================================================================== DAMASKROOT: "$LOCAL_HOME/GitLabCI_Pipeline_$CI_PIPELINE_ID/DAMASK" + TESTROOT: "$LOCAL_HOME/GitLabCI_Pipeline_$CI_PIPELINE_ID/tests" # =============================================================================================== # Names of module files to load @@ -87,14 +88,13 @@ checkout: done script: - mkdir -p $DAMASKROOT + - mkdir -p $TESTROOT - cd $DAMASKROOT - - if [ -d DAMASK ]; then rm -rf DAMASK; fi # there might be some leftovers from a failed clone - git clone -q git@magit1.mpie.de:damask/DAMASK.git . - git checkout $CI_COMMIT_SHA - git submodule update --init - source env/DAMASK.sh - make processing - - mkdir /tmp/$CI_PIPELINE_ID except: - master - release @@ -104,7 +104,7 @@ Pytest_python: stage: python script: - cd $DAMASKROOT/python - - pytest --basetemp=/tmp/${CI_PIPELINE_ID}/python -v + - pytest --basetemp=${TESTROOT}/python -v except: - master - release @@ -190,7 +190,7 @@ grid_mech_compile_Intel: - cp -r grid_mech_compile grid_mech_compile_Intel - grid_mech_compile_Intel/test.py - cd pytest - - pytest -k 'compile and grid' --basetemp=/tmp/${CI_PIPELINE_ID}/compile_grid_Intel + - pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_Intel except: - master - release @@ -202,7 +202,7 @@ Compile_FEM_Intel: - cp -r FEM_compile FEM_compile_Intel - FEM_compile_Intel/test.py - cd pytest - - pytest -k 'compile and mesh' --basetemp=/tmp/${CI_PIPELINE_ID}/compile_mesh_Intel + - pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_Intel except: - master - release @@ -214,7 +214,7 @@ grid_mech_compile_GNU: - cp -r grid_mech_compile grid_mech_compile_GNU - grid_mech_compile_GNU/test.py - cd pytest - - pytest -k 'compile and grid' --basetemp=/tmp/${CI_PIPELINE_ID}/compile_grid_GNU + - pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_GNU except: - master - release @@ -226,7 +226,7 @@ Compile_FEM_GNU: - cp -r FEM_compile FEM_compile_GNU - FEM_compile_GNU/test.py - cd pytest - - pytest -k 'compile and mesh' --basetemp=/tmp/${CI_PIPELINE_ID}/compile_mesh_GNU + - pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_GNU except: - master - release @@ -248,7 +248,7 @@ Pytest_grid: script: - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel - cd pytest - - pytest -k 'not compile' --basetemp=/tmp/${CI_PIPELINE_ID}/fortran -v + - pytest -k 'not compile' --basetemp=${TESTROOT}/fortran -v except: - master - release @@ -310,7 +310,7 @@ Marc_compileIfort: script: - module load $IntelMarc $HDF5Marc $MSC - cd pytest - - pytest -k 'compile and Marc' --basetemp=/tmp/${CI_PIPELINE_ID}/compile_Marc + - pytest -k 'compile and Marc' --basetemp=${TESTROOT}/compile_Marc except: - master - release From 7059e6af6e9f5ecd5835c05adf1c7428cf4d7f86 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 1 Nov 2020 18:34:52 +0100 Subject: [PATCH 955/958] might not be in the last line --- python/damask/solver/_marc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index fb1e12b82..5ddcf8898 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -82,7 +82,7 @@ class Marc: f.seek(0) try: - v = int(re.search('Exit number ([0-9]+)',f.readlines()[-1]).group(1)) + v = int(re.search('Exit number ([0-9]+)',''.join(f.readlines())).group(1)) except (AttributeError,ValueError): raise RuntimeError('Marc simulation failed (unknown return value)') From cf18954db9326e0d5c0d1df4abc6060c61a4369d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 1 Nov 2020 19:20:52 +0100 Subject: [PATCH 956/958] hint for future improvement --- python/damask/util.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/damask/util.py b/python/damask/util.py index 9a1b0b67b..914c3951c 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -169,6 +169,7 @@ def scale_to_coprime(v): def lcm(a, b): """Least common multiple.""" + # Python 3.9 provides math.lcm, see https://stackoverflow.com/questions/51716916. return a * b // np.gcd(a, b) m = (np.array(v) * reduce(lcm, map(lambda x: int(get_square_denominator(x)),v)) ** 0.5).astype(np.int) From 92577efd6828b62e5ead96d5a8a28255889aca75 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Sun, 1 Nov 2020 23:01:21 +0100 Subject: [PATCH 957/958] latest test repo --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 57d3d5837..e2301f7d1 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 57d3d5837a2b01a907cbd5266619ea265cab1374 +Subproject commit e2301f7d12ff0ae12218d9b58e33a814eb5431c9 From 08ef7061943644ee286b63222bf2ee885f8c4aa2 Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 2 Nov 2020 00:33:05 +0100 Subject: [PATCH 958/958] [skip ci] updated version information after successful test of v3.0.0-alpha-633-g086b215d9 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index ee4230d4f..b85a6ab34 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.0-alpha-615-gfce116aa8 +v3.0.0-alpha-633-g086b215d9

    Gaile`@f3x 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ç^aa-|F)P=83wKEG{X~aA)Jm6U-M} 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%0AJ%&e*Q_-4y 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

    wDYN>Y@KUWqYGDC$_|8<1hN*9u9ZjG?3KIN zGHBPegYkqFV)c3?U7c@*E{%Szu@fPouM&xwy;3AR^H^O~T@Kc5DErK)p0dJ2ZewGP z@{XuDx4NITLK7`roYvMkWQ?Q=mK^z{)X*+2@)HL?Q(X8;iC;gB7cH2t*J`YReIJJ3 zBtDt*pc8t0Kd*j9SR$(B6DbzT_&8IsfWfhOH-0^ z?a@??SGOaQn|eD9nlo++m1jp$ZG5q?g2U_W*o;xGng+v`7|>0!=M8?JFM6>2fx3?t~=)&_f;3`zo~GG2id=I_V9yg2ke`#`#vK| z8NWK#e{HjmGD;~vv~in_GOm4IekHrY7G+G0Fdn^Ui)0RPK1mr>MHWXIKSwIjntD1Bx4V?5;Hpj*h&Wn1v8&Sfs6+$0mkywB?r#&z7 z^Vr9_fzA%?y1(}?$#{(JQuzfK7pe6sJ}HB7QqM+}-!l1RSS7uy0~UBc{y%TD8k`*>>8VeY=azgf{wxKm{v{?O(&SJeAEmABpV$z2FfQOCiV^!W8V>xxlCm_)w ztI)QB8%F3#8@ppZNE$WH-xBwxed7A`VwTkPB4v-1$~dW2cu#3s9U!e^bl#<#mCfQGqRT|7GjH{M|UOG=a|1%MH`Q-cQ`Jkg3c#NG4OR7 zt4-RYox_H z*G#j{7R7fy){x$2iTq3qgG_$f;o4~94|`hdvGqjM>`lS}?{hi1mRnI9vmFyFO48Rr z%F|t6mGw37B1*+l62~zF0esf&BjjzY- zg#nIQcy8{!>qLu(T+JJ+lNl|SoXhT4)nv5X7WP)*m4f)rnEN5yNzSD}~B^;BA zTxwK$MfB{@CMxX-oF{@+I3HA*F4|iGVob9VptMY98(NVmvBIaX1nKNsQD57_3W}i)z2+oWTYU#^hox79p7BB+F%-OpbRj#EZG^n+`x6dh4(mfN}U z$aQ#dYw>ikjw;%7J*)Pvjwrg&$8m!K`&F0r(l$*Rn4yI5(xR)TJlIw6v8S!92^!Wv zyjQ@<7VR@?PCl_s01Nn1ONNT-;-zI5i&#lZbYV10QtFr?I`A??Zt#oy-Y0EZ5K(^2dfO%bsOMV_DA{jz6k%6`Of51Du7HQE#4|L z2_Q{=FW20pNz#S-?T)t&!S6EXjq8G`NvLG;tz?OfDAH3bxZp6mKw|u`(=|BI2rDSv zx)*W_;Zy;AQ->XFxNmyPnt|IAs9J?x*-V`uH|Ulg+}h)Yt^{QTh9-(*;iUY0a|MJ8*@E(RP|bunzI z&=u{jRQjYIYlKhpY@!{F6hVR?FU}rPnr|6)-gjram>K@H#mItlaSeKR#5VJ--5TU_ zSal&`BR$@y^swN(of7KtV7=@upoA*3YuR%Il(6-uMRRd3Rdl)P)s-s?Dk!^MOVNNI z&chk$xKfD7NQ_#t~m;*llE**>OK+{4Zgl#1+KT`YB8Bc z&5`KuykDakHb)AO40+8|zS3gY@iUF%?k4P~^rKDfh$z;2*Jh^%=UJ3xj#>Agwnt8} z$~Cg*98hAtYtrEnOC)Yx6;4xOjDuMWmbJ=^@#(~i`?DX};@0lUClj{sT38P75?#UX zNs9+RtUrruZjA*!S2;t>ylL@RYOM(#t6|s|$H<4Q#EZFY z2tG9Ba~s}^CWhN~nJ*}Eh-QF36_U-IfQT~-JKC-%l#25%a)k)o@?U-Hi3gMkH18`0JGlKNdN ztXPGC=`ZOiGIh_fjfDLd1=eWy$m75Z*XWn(pS5s)yAoyL>O(954abQYVBxa*dl?|zUFbe+PMiWEmLrII!wTI*GO>OElD~$9EUxq=VBESEmv#f1$FOFJB$8?Ng$S z>)U{oAAVL9*kX=%=Tq|veUL^h5huUz&nsKWht6ptVcEj+mCF|B28XVF|7B}@ zXD}kNp^J>T-)n~SS6U!Vf8t;doTvFDXXuK4zW{Df)cE}K$eWg_J<0OHkKT~hGlc2Z z3=Wgtef`q1>4iCJ*3!81Tk5pm-QWGq5N)}TKbx*;gy+p8*GM%Q;$J?Y59dyqV>0yv zuaw84==|Zw9N!*^A~V6|cHvV7IP=Nd(48L)u%J|pvvRK?rik$HgwbwB4oSkTOHcK% zwr($z1FW~??%exJtQGdDp1)wIy;lu=?+~2ni{wT;Hf=U=joZ5)#|Ojsh|YfQ!JUn; z4|zN5mF-d_NK&#?JIILy&&(9q#wgIs!BNHkND)Vn-g2K zAjs-BH}v)RSL3csrsmq zzo5Hj%nn@$3%x^~Wse0;pLCiWu|t7XU)MNqg?0A9>GSDN*^y1hT8aDiJowE=IR)<< zYKTgBO8IE98vbd1n{)QE8Y+HyzPcsG2<7l^b~KJL!rsKdR$I6(q8SalV61`)vwqzi zQdhwy7LoBXnsA-ndOX>mjMy5;^}Rg?XhKo@v4RyD7aR&7){|sI5<67W)Fx(Hta?f) zY4bCrFK3DKViATY;`-fa$DIaf>R|Zp+WQEL9*cT-H_r&$w(_tuSQz13_tR7!8yTS& z_DRTp8xRz~>XiG_HUA|t%6XWfnUMMmhu%QFqO zVvcx}lo_~CA&(6of7$lpsvO$LT&~(TwGQvKH-F}_0`uH#A^yq^Oz6ttYt&!(5w3fv zaC%Y130uyVRZ5Jwpkp<8#*FwENp$VtgG3ctBwvubX}J0qNq0f)pO%WhXke;$y<6J9z&!K4XB^DqrfBZv<#r`wBW(O->%EP}Mo5xY=vU-`2D*Ef zYdma91{da@nE{CoR9}toZrjZ;ohZRf*$gVhk5Ltv8|l=PPL6zcxnV zPQD4!PuOvkub7z=qcEP(;9+<8C4~1Ky>U9IOc~qe`)=EwrH^G-))uBk3BmgQ508?g zgb;DRQ9f=r9~QoGsO)ut7Ir!2kX4!So)p0;vAp}JC|;9dda7K7glkJ;7{s})klr&_ zt#sJ`fB99T`l(HlC~JMaJ^TAj_}22s`LPeQh_>|Tpb!TiW>7IPTK|p~yFIOZC~%h_ zF^?|Zai@ZD?t{|#30T)sqs5R)Oz0v#I>+17WxD8jjcKM~p)PKdUe+t^e?>}5vK7Dn zCY>~XG=HLEJiR4TyqB|xT@M9(cuQg%)_(iQcP!?wq^*ZQDK_l%?Y6@_hl}+((&e`iW#Lb}hfO+Q=B6-|!@} zgvA)^m=LN&OEo8bi2{_)iJX6UVi087LnOC)@;NCDIJAG33ay#B{sf#1~O4@Jz5&`R>=2 zIC}gUl`Ov{qGfOhxU=JDi}<&MD0bOVk{Au!-EpH)(y5cvh6nUdx3HF9cKPU;(-O9S z#afB+M2pDU8}lL7dT3tlWmdk89=gBzZr6zb73AyfJhs(a1y6AsySsz5O?W7G#7qx= z&)M9uF-#K|=!@y)P4FPvl9wq*83-iq`1Z8PcMB9@*Bvu^Wit|bHlQFykkEG9TLCne zVg5nxwRUO;E#8%Jh3z%WuiGs%`|W%ufCBgNQZ^|_qV2ju+1Y`duzqyUzQBu4==h1r zaqoO5L~Wz|T4!_(iY%kIn3os9JDBnY=;I}^dcbl)y1O%eo+QsQ-!6(PM?0vCy>(Fg z#P(M%O`_OU;zB5`yEA$bBd=TR=8TMZ)8-uJHsbP$k6MB*D(EQluXiDXO4z4;|BH6u zvm=X>i|)g)E;nlVpy@$l6n9s58LqMZvuM(*N;7;;w&%u~Xh%GLuAL0m=$c~e@c#Mwv1Qi3{`XHk z`~&iz`2WAvzyBSV|9JM_^1t%He;1dOKYaYpcm8k3B^B}eFYzDG9X8_66Jr(c|2uyF zX@P&s|H=dZUHp<)IUQowxiQzf}Ki-hbum-{tow>C*m*pPdt}pe+l+KR(^lS zzx=T`GhzOho{C_GPu3E~fxG;pf+M1X!~gaJ2Q@+PLy12yiGbi;5g~s5fuVt6(Yr*# zgG8dY2a1G+2L$f=%M3hS{_bJ3i+|T%_qX~#{#AR*F#DNX5NRBXPgCB{j;U@4)zYwV zA)?5T@$C~yZ0C?TCII^)Iu4z=8n;yf5gJsI@{A_<;*mMYGGk3_(8~NRe;>@>@tZq* z-|LFq3=%3NU#MWQLxkUCpg1Pj7zVG~1>&l9f!awaTFk`mcPYc=Es6LMcf-dc1ZQ2M za@S1aM1q!g5*qwAA!2z-=5tp#R$7I}(z}29-7j@SQENV2^~fIK+OMUrLty=Z@BTRH zs96$malPQP3R5(d7dCaSX(J*o@Hef^HpYY$v5#|`HEI>U%uhwT4iTJM4Ad%~n4&l^ z6{6#e!sG26?naAZVp1lzm}?s*4BvQdc;bdGj{aINmCAyM&NnA%26tlOV6)<0Jy(>N zNN*ziL=F*NIRTwBp?Ec(tL#P(Hm1U|Vv~J}nv1@OHq*k1Q3CF3LFN?c9y=zEE_^w1 z%m)>9OdGyDL|m~dOKp}pT16M5^hyPLNovG@1C zGF(!`l+*HT?}WEu%B6}*vuoRs+D*HT9~2?D&wWYlMmsQZK>v6J^E9V3uHk8jDvC(4*mZGM&!4*30!)pBZvqRyn-(@JieJ4c za^l9wC)Ze%_TxvtRPhEx#JTCHT=s_c65l#s5rby0TBh@IsA3{a>v+}ZR!m`{-?e*P zG@PeoY%ZOkiHT7KjdD?l2bF6VjUsoU7I9?19{N&g(3gl5#R)ZXK)}oswp{vn2_UUzgr(hjRoeufKP>esRD=?QOI! zBoP&xJLx6Uf&V!qAGf!|zFWswVS(9r#A45Br{64wDI}&ye~Le*Z2z*M`$-(~)T?VK zd=37zOOboe4DD{N7;|7T4qe_&Q*@eD5fcN|Ndapk@M=7q!!Z#vM%-fcUqFp-iWNJoai?#;V+_oZ|1t0MjbPuCwj3V(Qs;(enrwtWv;%}YeeKJ+7S4|=$Y zm&kW1_k5K1Aj4I>L`gTEY;@X#R`U{}My2l6zX$QG;w7?U$dM$@G$gc&msaCRJD75( z_~2ShR*0he^qC4#4ltjo3o^%)@~_85T}-gY(L|A}O)QvD^vc-Su8xU<$dfbi_IRwS z!F-eq?YE&JNB$Y~7wIETraRs7u#!`*#jGx-JQk~DJz|V0CoRv&?+(ECbTUl7UV-oX zJ>mMo4ZNmLu~FZ#6K~CIGEZ5@iHVaz8AWkW?}jG1i31VXauuEdb(MrHf(jANze*Vo zZ9x<}-_-mKW|&y6-Fp>&m!U}cscn(AN0c3#zdiLLW8zS4aUmVF`*QV;_7)pNoV$DJ zrZ~dHxx7oR>ODuan#nU&89wjxUAPwsg~15DA8v)a7b0aI8$Qn`f&A__y#7r`aqg_b$#lZT3#F1CZ)i8Yi4YN zlzqbxq3e3fvQrCF0)O;WRMGQ^M3j2v zz1QAByPRk8l2+f2iM5R5BagvOzC`cc=Wt(YYMLLIfhTY5GYx#R6A{+Bd)fD+&H$4s7Blhg@IKP-R_0n~V-O+f)Ld2u zy!VsG;m3DROi)X-;j~yta`=XCW^2RqvVP|0Yd=iTeAN3|`ZOSq{ZwEMP;bT!mL zm?-rbdejhwC{=44=H5g5l94|R2Rt`lDiytu1$~#F>MeH@Oo_`TRq00l3m)o3rE0?i zs+eMT?1@Kf0wU5rMC!dpn4G0RcQ(ro6IYx@u1O^!!ig8Zh4%_kUQJGTc)MW2Cb8{Y zVj?1JcRy3i0e+^tb9VZ>7p9D@6S;IJ9ue#@3ljvw6kBbY`oq9W&SWd=ud#@dnFn#Nh;o{d z#34Y&6!ogHos$-rFt|6tw_`W7mk+(4fHbCf?x?-_(Ge3pzO&qgsfhS=o^n7^1ruM^ z9s8y20r7i_`ILJKBCbyCn|6VEzeRmHOy`dYrKo^`gUN`fED!Rz41U%YeP-#l15?bh z_dn%MK@|D@!m}|Dx3A~24~{`UT7~D>A6}x|Zf1=Cx#wSaiTpe_rlWHYTFp!3#HfW7 zKhUq@C33~jr_{_~XB97zg)>9+Nl<?Th}?c88;jmf&7aub7P{q#Z_;mrUdhNtH1U`l*lc{l_qe%Jm;*}yaqnoanMvx%^y*8 zZ@v=t0sE)k)GJDZy@BnrH!Ohns=}3j!TubA=?^!j^545-~13U1MmHO1omgojjZtmoU8D>I!MQ> z*S-njwtpAZA>gq|U&>2^&6t8FQr6zH!IXNh8*X1h5i#DDH_B}Xe%VtR;Ny)6jip@U zqzFVgStnzc40np{Jx2=IE&+D`>0RK=u zaPJR`MnpYLLvozbRkV|vuf_Q9k$)!^Ro;;n& zD_UxSDL*{9^a>%*Jaz5ocsS_K6{X)gY>g>HDqBUSAU;JV<1EY)5M>YJ_|87?=cIb< z{2}0Z^`lKEhvT5#RYne^L!3PFRT~+Bcrci24t)-KxlnqZZ-CS3mp~nV)W6^%OPGXi zexL;P^9K)M;KQWvv7OJ%FnRo?lFn!Fr}F%am=y4*o#RxW4e;BQw&`QpFkU+YC+TT{ zK0_J!^2o3;$uEN9ghnL7^HiFZVY5&4YOgsx}#6;B(S_XJuB5_-0Su;2YOABj@Xcnqrf_5n^ z@g3+lX*BZXhv0Y91$^3S0+={)MctzT?DVC#&(BBVO{?&1o9JA}Obhv%hmzzo5y%^N zxYa)5@xiTat~ELDAzt1qy5IV=1reT2m)JPLzU3X|t8!p3-1A4)fFmMiU!-q30^<#H z?^}bFFkU;ivgP@p9U??TE?=s4#gwhPguV_2W5Q!eHKzddv)e5jC*k`fce)kT2pIpC zSwBCw84+DrZ@I$<6K`4lo#P=sSK(1radNl-=Sxu(4BoOi_#tB7+i~S(DF40fW#$a@ zC-VN9mC>z`$BKSPIRww|k3TK%ECVhJ=Vhwcs4LKn;e1u-u)xyxF+yq zKh4E8hM<4n&7K?pd698Zj!6cT=e9Z)^*g@%);ACQ=K0jpx8ote+uJWR$M1yrF5SZv z><&0r;i*4Jm0R{v6;mpb$98gtfIqKBNehA!&Gs}Nc)vW>CxbB%Q{2p^(zwGBk-bwVoE2~;e3o<#hkWC1F>6*K z@F$Cyzr}iJm%51ut=(am;QR2Ex&-WVQ`rr7L%yhAl6UkJ^rKaHG}2WgtY9A}<;Y_V zRt)^PxjHY35A2vavns*)ibRdh?j`+bL_G0iI^qvFx#u)?9(Bi*r!~=X8o-~2H@Ao| z08XN{ndpSPsJtb6~MU)&tT8DXRa(7Fz#_me=-DlV|n^%CmN{t+tM|+3W!hM zI-2{3fmcmJ63-580UpoH{wM_PucuB&JOTdfoNp3gbcOk&MqODp;2%eEXU~VAugh8q zYKC&AHoHV)w?p2}w(|Bq*cojtm469-o2ZsRw}9u@VZ|(A(EFi`^EQCBOD4-k7-m@Lm=p#BFq2_m2S3mxx|DLk<4do`20*0616S5&6SQlunyKZDrueRlG#r zFKctb4D_pbiO6J&Xn=9|YF;8t0u62-1wLHGORX8V0uP&leibhfoayC)H$lIOmsaB` zJ1lIrdk?&yo|&nRrd|XQ(`%lZ2}8T6V+kD}Yi!!Q=TsBD93r;f>JQEZ|0oZ;M{RY( zu=mT;Vh;3Xz4G)S@Vq2Rl6Q{zVJX^!Vv;@zh{D${KV%4Tpqe{-<6;o3E8qVpWk?ti zRx|BoC%1zA!@_l>P(18iPHlPS3yDav+`pgJ2UD1@KL1o0iGQuav-`}EwayncFr_5u zqUV0#&%Kwj?n;B5oT%+j;r$4dIK7b{dd@Iza?K6l^uv@a&D;tC)=kJNA^R#J|W(ljG&+GQjn&t4}|$Mnj@defNy07$E)H1=fa6! zte;_={=ujGx-DGqyPnb%5{QYd$L#DQK<`0%@ofY6AxfE-w;S?jhW8amTYy(-PdVB`!4CC| zOZa}s>o%6GbFBtDH!lrv2tzzaf2_~yg6GsKJUT+Dw%G!}^R^4^?V-S9_E+D$+5q;S zyl$laonN=ga&NDQfw33r(1rqX$xnF#C5*G#)Zd=gjOdn;R@e!Gzu zP0gUEe`a)75pb6rKieM+{3%?y=b$d=J6+gXyP=$S=hyKuh|gOmvzh9lUa5rq++EOK zbQ|ciu0njS#v^&CPXW%?rx1sz{HKA(EMHE&b$7$9SsIed-|gW3a_1YYfDc0-CmpB* z9w@b#8h8gdQ))v55A8;jZ*7yW1;Ku9a&|6)`m+U@hC85q@o2J~`WfK2@)`M~Mtb#+{W#ET8@sZ^w$oKaD@KY0aLPXwNjFbiRTlf3kCa3H%MO4_6 zKFJ*sUsz)Z8mM>non}4E&r_USA_g*jApeg!J8A&<&s6p8t$_Qs_K{`&;Ejk=3D*j{ z;C@+F7;=hW9LmfUBR&iKyu-m?ehSK2OnX*XKtEcAM`xX)rq5wzi0@z~`7A$Z_j5nv zv!UK6bKXkjfKze(Te&Y=5s`Xf$&Ud0S%t?}e&gKz)x%~e2oX)sx<+0?yj{pD_l<^p zYEbR{mYu;c-h4UMTLnCm*46UK4*FRlsUqY4c0`=-u-s4zcJ6=VIO7H5=w^4j)SdwN z9Rh2bZi9Na9eAmq3iG0?@En=8>DN;wAxdmf{i6inNu3kkoWJKQOY3humj|4$XVzJl zfWP_1lotuVB!5;;LnGB{nHEJ|3mwv3@1Y%fBDaN z4sbN=3f-uVC`D89xnsbeL*vTZ?Eq(gYdw3VF($U3P3lmKhVhz!+(;=e!Hx=OX~yR`Qa9IgdTV@fQJ9O75FRQc-^L-(4M^7FTF>h{2irC zk~!eHikf+xfv>FN=g+8uel44*BL+R)B8Mjv_;VGWX@!9Tm77xV```or*wesc&+qC^ z(}Lej`&hW!ZNT0o{T)(}Pj0xw$f5%G|22I;LKX5vs*ERb1n7l$xwD^uo}ES{um+yn zetcX-pTJJm`C0{8sCPm6JnLD&`>TH8!W+=@2+76pgZ?w?!W%!}`E;x2djmo5d8)Dg zIM^ALh)v~!=jJLrd)mLeSisP}Tgy8R{mvVYys1|RhJF{lPV#6z7al6otgV1w9B*U(-*zNVV-6%_VfnO8#D9X`^~FEG0DB*Fg{v^$LkL-k=4#D zD>0`13onspb5J|Xi>~G+iqe8jsST80#Y@B+vJLE+{TE&$BsV`!=mY&KUZOOtIq=OL z^s9JjHJ(uBgL2gh(pWBT7yWjtg%+Z`&%5(1w2Num%c3?iu1on5J!7&7<}u$J5ip-c z$sY)_6NcZ91kX+_HnSjtl&eIi4bQ)6hE&s0FD%8?n^rHWiHIrTO9Sg6&b0ezIf-pp zuwif0dpOsdD0`yt3f?eCs9WnOnTFw?>ysj7wNxNK*Xet%1ML!Wc84WjBot&4kL=;?d)XBFPjDH9*AH-> zYaV(HI8RA(x43SC@!&M;LKEnXuY~jIgPy5~=S{0M_;;Se#}e|-xJxYf8~Fc2r5RTW z%%i9b88;HZpR##f_O*bgBcWnjpf@IpQ#p7XK!0+1Bh6mWdma{L*9YDjSf66H2>hw| zy;5yE*iYy$Wuu4tUWF%!?Z-pAT~@!x+X{+DL*Vxp?R52M@EeQhoCM6XP-q!nhdu%Q zsS8^kN`RefV!G9Qj_~_TMcKe1FF`2~2=q-6ciM6lE3 zEmsV4wB%=|5!S_^AK>obT?;tEUJQ5(Kt7ek>Uf+$;ueUur1$DUtt)F_2K`}upi1u@`(?RzO#GeAGRb#NO8e1AGFqPYq3`6uXu z>>bdTJYKAD0liFLboWy)7+(Z#*~$a_N!($aI|=Px# z9}Q&~@2>-YZeDsN@ep{s-7=Ye3+PMTB{o?>{j2aa*Pm5({lSAM7axy@aseMM4@T{a zhyJp{ac%u=$meezOsYBqdbXl6heU{{;SXDuqF{Wa?ECQ@9q3K8IrhPGn!>gtlJ+Fv zp^CHPC{}{edCH_Mj*0_H8)? zemlh2I=law7HsqZ)#DFYu=vvPag1^rdM9S@&Dy$|BLVtXO~T!km{4=)kiH+T5F z1)f~ROBAp7zM&bQU&TwUABwq+7=ZUy@e+BW>qEmO(68bpa%jHs<7UvW;w7@QaiVDo z=vVR5YCIYNOEkxX*^qBn=>K8w&Ev8BzWw3bR7euhNHl9OWhNV$sSuemN0ceaJlx8Z zd6s#o3>6WTA+}kB;znpNG{{h95%OC;pPb)wobUHJuXCQi&U3#0=U_xIyNK$fVr~sE;|T z+Bgb$YcE$aw#OQ8T9~>sg18Z3ANkk;GteLD!|A$Ac35{EKbhHHYP56`;Lko=-699O zKXK`{U;@k|G3QL6-?s{at?RzUPp1*#`N#g&Ip|;U`p&Eyijc=`?7a}L3h`=)+6*i3 z>04I9EDY4}5lQtVs7T!-U^)#&wE%kT>%>CoBr%y&_rEA`X1{ z&+~DyXu-IiS#8$<`J9(?<;tbUFXqBLsrm&87(jzwo{$sNfr``#63zw*Hr9{Z?%C`}dkBsSeQn}hY=W*6@VA=hC4=%{I^A;_~i>W4%D;QWpS z8rDg`&&Wx#?2o|z6w_VTRsPQ;y_e(w{H&gCidmKO{gin8OFL1P?F{3(mlYB}4DwvZPteyY4;B$FM3CF7prZ|PtP13wvZIoqUQKS3q2G5r9vKTdI|HX6ni)m3j)1?yT)Yk|mJ zu-^Bt|GBln4iih&`DVhwzZ(S2J|A&L#3?Qt>J7kWxM$SYI`D7w8rAHlpnd1}owK>X z=g~;r9nH|+I)0ukx(tR}?u0y2{O6_1fMb@KosTAA-plf@#>j?9h8|*pF2=nWKD4UpozSHSM_L%M@|wpRVeFTRHr09Y0)ua7of3hf28? zaB>|kRcgmluc!ij9WD_+G|5Xx1AQGX5nBul)d_%y>u`xUk@QKy80hP8iLhr+qmKp9 z*WuE7e%9(gMgP=W5~40;?cW3Q@~8e&?N9wD@zl)x={lH~KlPvY{?vaG-d>cJ{RQ+t z^`E+b>OYC}ie&yw_7GS7UH@79r~Z@B`(x_iYCi5y{b%5x`cJ~V{h;D~=;u%U=UP4L z8b9mnKMCA1LigsN{kr;3LQH3ceJ{}0)qfJpHx-@Zhx@Lp|0ITx-YhQyeO>)0k&eSc zPXOra>OYBHJ8D1PhW^*pf3ESfzW$R?o?^-kukKi1|4EGE9Mg^f`nvj0;_I}frF^*W zy82I|!cQt^Ygp&3tN$dNG0D;U3hmd`e-f98+n*z#udDxD<7a*SCn3Jc-1!dhv#$P= z$TRpnm=*MUUHvCfLuvTiJ?MX3{U@>ZJN=b+Fz@T?KY^PGwGg1MtN$c0EV;aBgMQZ4 zf3ESfzW$R4PFl+V;+1vvp9HUP+M~OH|8@1BMCJjOnn|FqtN$bx#Yo&v2Y%Moe-gFo zL`Q~zzOMe0@b0jgnj6s9)qk$>^J`uGCsCxeuk0c4xvu_`aB+juZc~uwy82JzWrL1m zX~5^Y`cJ~6sx&EjnD=${pM;RH0<}=!XI=d#;gFi!dkdhitN&c%hh<&;CxO!4eM%qX zzpnn1c$W0z@~WP%tN$dPJYW~p1oUl z#N>af_~9J$y7LSFR%rj{KWpb*vgiN(IfwP_{UoFN zvkq(L9jyNdhK?Zl*Z;`=YE4ZzZEt4mU~B(Z`#t}U_A*juq|Pg|JMwYyaGgBCC&0^p z;v(K>w?E{nL-xrN8=FJ(IF_Up^i_o)bI*C-?-}d4xpy`9uXo zjsb~>j6m~Oo3uX-*Pka*{X<_nPqO~|fB!s5_V2$nh`4uk9BY67@jQv@Uzh&h&Xeqi z7Hi}Dhv!MGjUCMFEsd@0Y%SrG$zT2bPo1wdIsNPNUlRD21pXy~|IZSTd}2!y>Xab7 zMTG^6l8C?{IDUdx0M<7nmam*(J^F%=(Ea5QA_SPE%?4 zh>$rLCLRL$KK;P((;4Rw@p|g1H=TU2AGmGsw%>lZ4=Q-u26>>Pt-lM-9fo?&G(FaL zOA**)L8sm^J<4y3%_cq6sX@r({ z4VMs6vgLegAoL%-bk(Q_*1=1)NzY%JAVTvMDQd5Mm>_>?YFfkwSANm1)^agMge_)G z!_{!#4c4E{p#G4k?-W1B4tbr{)B8MhjzT`D7TJo(VZ!cuMrWHVh}AP zlj2`2QRRgccXN2J7J*7n=U6c0J7)-c1EkDhTq0dR*m!W|f=o;*JZGI?^XiAl5$M18 zxmU=-p-PNs{5ytUtUjvx*Ps4MjQ;rFSxf^b)7+L*-vS7uZ_(h0qRh#@W#KTm9r8a>~hkuPqN})-vRTO ze01^44ah$o=T$$TA%Z0}kJ!?}bC-!+tif@a&WO+zxx{*x7ZbI*rEU(w{=)@{zOk#2 zSGMYKj=RGM^BPUPVh#I~Row>c#n7JS)=O4Xc1-A*3Op8R4Daq(19gJaJvCt>QZ4B)jpR{MKKt0LwM}ySM!cb2swkz%$5%M~UzcvnmeT5}dGr@Dk zDiz~p&s_q#L(rZb7NA#|$SiI}9TT|B$WvGAFQ}>uis1c+1ZH-@^A!59e@~~P#0B{q z+E@woeV{*7M9-9YkdMZ^_QiUjD?b!GzyjlEikrrakoU>4Z~LpPIn3xeMva~;VZ4J0(L!~Q@rQud656S zd( zX&UVMTKVu!H5I_4U5nvluwI>05x;TS2oWcr<#MJ&|Mp@Zb{+@%mOc}iO|W050A4x9beG`IT~o^xfMWO(3;e-NNWYpryYGN=6(k7O+HRD4eV&!LW|&D zOW02)Cp+nP8tU7_<$2$Od>TT;MwZ~dQ*OCc@e*JcA?@kmvRKl6*irun*gH=i^Rs1W zFB8N|Bd(7nW4PGQ9&BobeLdnD)GZp+=-mbRc%&BoxMYbd6Q=^VAAc;V=hpE-*A8o_ zlQm>I_DBh{r$yT{#6q1r-ZD&;1p42*DEy`o#+976X`vAGGh{)op#kVywpOKwft}hs zQY5U_y-nU6Sdevsdd~$xWolVChh=1=dvMqm7^s+uACQm;oMo2^^PQtw-<^RLVs0WNu(L|H`G@1gEu zq5*zFse#0)iwSHuW|YFf9{VV`SsX!L$zIhQr@=0{4!e(QorL<4iE+R8P&e3Xc?P@1=1K z>io5S9=NRu`W6<*Ap*Zw+xU#_ls(iB?bCjquMYj^ho#>E`mmAeVOE$2j$}4}Ml(47 z^i#3^7sw|O3#Xj}T)bpvAAROB*vselKUp=QPVe}fhbzc|>}W#Hxhs&5=V5J$gZ5W0 z)wsWd{g3g|g>$1|*NZ-`si&a*yvV(mir~j5#apuH!LFk=Y?b&5{_g_Mg4t?*R=}8% zDHrbR9a(*jb#)(n%zH2hIQtS#lfzh2?!590r~KHh8CQL zed|uXWDgpkySdbSl81SJ6nt*m>i!4iuBBHpaNqvl3JgD0ab-#UC#G;2sDrW3^?V0@ zcDsYU)<&3@8`Oz>d*MDCc-s;Kz^->}?9QHo?-Am$!(U)u_oDoMa}L0P2O5`}!vHT9 zEUGf3!B6q-J~~SV?Zc>A!&c9aUwFo;_Ze`8uI|3_)fuj;S9t+)hspjB){`~`MuZY<770NmT1A(MIy^j1!N@*;-^#H;7W zEF;xmA1~{JN(|IHPUcV~<^er0#b7K0>b`ldYIPifd7OSn8hH%%8?$)F+}jZHzQiw=V2b+tlY|* zBSQV1b68Lf%-bw=vKyP|Zd59MJ zmnNq^eE31pCr`TTXrhxsV9s7iTVD$qg<}8XHw% z|6e{>J0JGB9`O85>jXRzl{0PYgF1;Gx$nj~fI9(#l0Jo|n2@^H;kb#VgCI{^WzlC#;18n; zjIGV|5iz15_?G~T)AQJ3^9aoI{#kN910#@|pLonsz-68i>JJ)#2Mmj?C5m9zrPFPy zyMg~(iWA*hW}qjnG)ICAA&&ZTxN`#9bK5^Y(qM%v`>a$paTp=uSKiRM3Yc#it&8P8 zU|$M{AGKy(SoJU3?X#x1@~|s4cMABQ4^edYUW45Y4oSIc!FXQ@9UOWBc042Sn5PTu zee=PTri)M~DS7eNST$THsGn`40>59FC~3bsFQy zW2Nm5IMCUu)WBi^bti!~4O>9I$B)4KxnmIYN$`LHr}@Q}taM;?q1s zu3un}K37O9l)%50_BH$3^DtkMW>1R19u2AQxiv%onMICHauCm}^jx9Mic3 z{P+>**nL4h!YkVE&jOt#_m_?g$R~hU?h5Z;PY+e2FX`);K!0|^jg906mB{R#DhI+m@*&Bgn8r`y`irS_Df#3 zNEr+BV%OJwYa7h-F7nqw`YwndBt}gIbvwkkA4+{{nDy(@`P_7$HjB| z^p99Uyc`kn^RW}03sm6p>;-y=i97-JFA0^^%Y;(sU)L(d9F%wX5270S$r@cnU*%gN)6NfT(aS5a#QU7`eKRJJ_|99fd5=uP=Y^(1-nFXVv3% zOK{&nxuVTbk4l`KdfoT};$Jg`1TzC~z{!j6pSu9g1dV!dTLCWel*SJ>gI#|qx;I}2 z`s00Vm$wSczcH8aGht}2922!U3*R0ewPRQ+Wj1KS?ba6|ljQ)h}J``hb4uH)kvb;OE>>=2m_Yh+_|q`NI3+2`qc` zlY`)X2KwxkGV)M=k^QEAzX~E){1_T(Gsc9*Nt$+gU0gY9?OxxmjtCon>I}I9zWlg0 z9~TVQ?`+MODb|3xp@hwnl$S999b(>c9O8@qj=wD(6 zJ(rytcP%!7x}lqc5e1iE{euG4gus7^d{t%Wg8Q=Fo7{B@=KJ1l(ODY?Ld_v;D-Y*ZCThT-R zc8>3huEKq_J}>$Nf?d1nCT)HUa-qzR9<_!~HG_C^>gx~(ngryYf%eTpE~)!Lf41j6 zAK(W1p@RE5+u-}}QJ<&LS8-)Up<2Z?=wB!GDXj$9XVN6nl0$IbqxRJ6<6w7}m9lxf zKt9h~7N+7ZfSr!cY)W3GJ36;%!9051Qub1X`$m5$$+!e`x}h|6KA5kmL}{6aFfXs( z)mg!F2nY!|58tiUchgO}PpLpWZ%n50o)YNM4y|7DAfG22$)v}@pGFqg3U3Fxrw-eF z0kDUQO!AZ~iXhK`wkb!jM@Iu*(>LH>N)BOXTgWFcGZ`Iy4|H=8Dq=3k{rQ_q{AwVd zfJx%6AfO*|=ZNKk{;f7wc&(nJwLT$T_7&)b>hck8zz;X_)+hmcr(7z2Z3y(O2V(_l zU|jp(T)uq^{1@F`6N_N5cgBE16&di4Rs}LnJ5S@v8o#F4E#44U?39?g0QTsp9D+}Q z-IG_{Ed4=*dYpq}{?@B{pb_!L3+lmX=Yn34+U93334ZZMDGc00YGj+LmFvt2L|`nhQ)rPv5~`&}rC z>h=M^EpGYq1%imcekp&T6ZFa~PI4Df3F`bvLIX$^5o{7p+V2NHeTXgb;SG=*nZ-1d zw;Cdhsx$xm2Jv46&vGL8`N|lHQSN8pANwN|WF!HXyFRmWa9qKa68*ccu>lS|TRbxh z@*(Ws7qVmlc<5WZyZo6X)LH8>YYzjTGGsCjo^8PdQ?Hv({lV@Q>cq_5fgj4gO(TLL zkbl@CLLfIr1QK0qR)ZPXMHKU|&#Ew94)3yLu=f?(CDtdyMkQ46c{_^L=Nf3@D!&ErnSUL813+1{X23w%nd z&_|BY!1{Tzhv$eH$c;y5WE034*Qk8C3Hgb86s**0V2?&|j;|Y_{Yh`<*?pkrg$sGH z;Z}$c@8@jc5A?jPLDV9E115!Tf{Qkww>I#uDB!2U-?mB)^o=E0A~6T--Ty0H&>ZwX zdH$5G8Q8In({+j4z(2=+r$Oh{_`5xMS@tL*+K}1=guw1{KOV~y0lxDDEF%@vVV&p{ zta$+F#ttm)QZTMFoC4nRFwZ~QP44P~y=$Jn9te3%!V5u%FmgjINgGEKnF@5TyuE=0 z$RoVG&A8xWj3pb%e-B=UeoDy1M74k)9+dH*0e;sZE_3Yy&<*F~GpFFbMBStytF{WF zjP|l3-$Cb{p15Sx>7A8>tL{zBH5jfDy(c!l}bK2Kd+gENRQCozC0N zJpKy(%f{kZWE+o|ej#R%ocNU)GKx|Tu{k{|E zyFT4#%?0^i#q9PUbFZa_{ zof|Mda~l8sQ9##Jj#FPfhcT@~Q56g8Q_NC4WDE34Nsm{FmvE(VdevaJ0zl8Ttpw}STLwzJoIsB`C8Xv8a?r1qP6|B_dc-iyb<`W`0eSnp)xeIJ z&GOF88biMA?tIK@ooURE<9BRezKVw0&v8JWdC%4_;;Z)lCcz{S`~|V$?4_^u_Ly)Y zfPHQ4{|ptn0&EEbFZNJ^~34(EH#gi`o1bnt;y;o`{1@(Fz-U+Wj4l%Ayp64VGQT{6J zlUX&G$2+1AonTynhUwj+VsQTN>;%yT?2+HCck?5V|H|)yD#+VO`f?Pt-ZBDuo#N&& z;9umKi~tkh`u(G)n;J~voX7ErItk#1S+$xU!~DyA@yIa%d}!@>*C7o0!%K1O+ywZm zlP(k+JawU-I+`{o75K~;HsAV82ob60k4q1Oy)#tnd&;irVdYF&qCCVGEu;DVV2{IX zJk6JZe?yau&0?_bNR%ftpaJ{6|IUEP1lse3n;%XDoRrC6^QZy8JlwQh#ToddOKwY3 z0egQ`5Log8+V37Z-TfZ;F&#U+pbGK~cW-{R8~Qii=@|MR`fpAdt@8F=pda7QD!3K+FH|dW&C|h>_Fem8HiEyF4<#~xfqA6& zm8pLPb)8+ZgWB;xKN80J!4~H6v!VLA6OaekBmP!B2Kw1MKz=dQ8qNc)3`RJC{;Nto zP@)C8Rlu7stM#Xq8Rfs#URMwYw(d!L2X^{CqOH^c{9nGAiPxeACX{YeA7gX|94jmp zlLP(-XwJJIh4ISQ+?F$h_OYKtL~4Pbj8PeNUs!+K^h}|t1-s_$At<;3KhF%r=(6Cx z?t)GSRDj-Zrq_HO=y?r4a68C*(P)RdpCckhzI%0VHQ)NqkzDON?` zDvlY}(MK}#_;tWeOApVH;$U3f8wI=6fgkzJ^7#xvzpJL@77F*{KU>vG0pr_Y6WMMG zbT>Z7!hOKshWJyXDj+Aqm%#l+K%Y8X{5t?}Ns1+ZkxdlN`@4-VOB{joH}(RfO3*I* zscV%D6Rd}{sHQpEE(efvtn*8q@>ME3g^?UMgLf@IG`N@}l1vTZLd;FKkX9vVhM6rJ0Sh@({-^ zi<8TM{OvtY%+PzFd;1EE zm1}@L&%Sj~Fh)ei_x*vQa9@35g^?u4$4#3hBgzEMPy2pgDgt``yK2`F*iUiR-2bHu z@PVCq|H*jhCx1K3ZBCHelkIGGPU<0ILaqH~E|7!vF3jk23gS7_mWf+{8{xMo{P=E4(4Ds+u%AauwqJ zqlbO1b!}lkj%DiAYTaVS#VsumUl41q)xQn8iiln21Z@Sl@BUx24lgc2Ts>lR`3&^m zGR~2z3i78vndHfT0OBNro*^=@yO|Crg;hDW^*)XYQU*CS8I0Toe;s9ED6o3o!d-jn zhZyW%+365zha?!i5gkk9YQ7&oGIK*a9R@y$FyU$PtvSUqQE@P1F9 zDD>mz)BR=~_&G8|<39}Xq<(w!JvF#*i=Z2A7|`FJ+sEOt74}odRJ&I9*9ceJ3dw=b z5{5IMDbB*V-;yYq)x7c8iBR6rt`u&zJKiC~H_0?jGI`G->WcjkJ3?^m=4Er^JJzj5G*f9h1F7h&=#1Z1I zqU(Aw!>))}ZWsP$Gw>58)J2Gfb%&<3*s=XUj}Nu2kbwRL_Sks#K)hjNOW_^j3VO&h zw;i4@M0hO7oT3NuD%lU8+SPt)j31pj2=sgQd_My=L%jBImRuX``g3-pxgf~rPUGQ4 zZ*EuzA4_uZ0=oH+7Pl$j=i*cUUzTS;PCh@SL%rZ!Yru7#6tJ&o$#(`Kpg+~EPfRns zVE<0vLHGsqZ_5<@7|s_}u86Aq%!hvNT=@0j9pFstWGHim9r)RW%gT2dI`?b0{_BFz~&$Z|OtFryAe|CTF z_kZgWHxjl%U7~}fwHY^*-fd<7$IqQ!yU*XJW4Ys2R?w6id?u{AU|HT{dUrjL?q4gQOtf7ex0fad@G zC;3Nj*ZN(r$4CCOvrymm*Z&W|I^+7_>X^v z1MA28pW=W&(_gY!n~(qTg8A0~{!0>Aj{|Gx81mQI3$LM#t&Q3LttVIbFWu!oHvVV& z%X8#!J5~MTpZ+ubeZ%!HKlUG``@e^>UVqp8fZZScS(603OatOOQ;6ei;K+mNznzPa zTx;-O{QTRGt)4FV`;YpM-mdwb^?LkY?EZgE^M8f|!pHx%YwbVw{WlK$>wTmDYZT+Z zIMDStux6LefAnXqyEXg#`}EWr^}qkQc2023Z|>mvTW{CyBl+jM5#PV}Qw)Ffd#&Ai zegE%s^gr{L{|pD#%kMvn2P_Q!y`2ANO5UJ%g_1yE2cpy3h5zL9ALWUh|NLeR^Zr>E|LC`C2`z?y_M<=afAm||KiAgFVtrTt z=(p?Nr&eCdA)Pkfk6aV11pGaQ&~3KpCvpWnX!6xg)f1bl(e%jZL&>RrG(>%z%*SR3 zy`C=m(mC9NZix7#i*{EbKKcjQo8R`Mox_D!AGi-8Y$I<&x733?YxDHe`>W71W8RL$ zxq5V_Z8t;W%RZ#g-P3X1xCWzx^iG$`NATRH=*5|uexw%WIAZBPgoL@uo9;sY+Xa|A zqkXHh0&)d1RhqnRbyY6#tD zmlSyOvIoWbY#hr?t3n-pJNfxdMvw)0&D)ONeneHE|GTlJ91ma9o96jcha3V+hGnEj zki@9Z^W4RL^y^!Qp=NbCHqssCvo5ShUtcj*eN-Mn**sKBOduy(`AgbHbLCi=TJ!4< zzj~zi{7du1w|-Pe-J5CUGla;)Vj72YdJvtT>7zWFYQ!i~>bZZUABjpd*I8U2Li>LY zmF120pa6R}|JH#j)F8&{^~*DH6y;Y%T-81NK8bpaTsyG z*yfe?qZwNTq)o1{C1P1#9>#N?18CE%>p7%4f~XoLAEyEzp;w&`xS3R7`xpCP7#q~1 z2>qT8_VXi1l4VQLfr);^?V|H6QU&9D#tFSfr#i&>JodJc+6eldOI;@pn(?`@QI9*Lsd!?ncsAH&0G;qE zoAc})MyAP=oL+<$Y+r8C?C~N2s}Y0Gi<%CgjM(5k^GYMguG4Ui1oQKTdW3q)72}O& z+J1Yk*CFeYpIdFtji7@}yWTeZ=ttsZHUuUUjLAOdFEBOMp>|!ijO(XIkoQx%>l(}b zsK9D3y~{(4d1;Cdd-T^K^YK!O${EWiht_=f7ldRd*co)V=!!I8`cc??5rtusb(PEXO!ZCS(U za&)+xRYWIF4I@lmE9l0jcCjAYSWH4rS1oqdclV<-wSotI;X|lyQ``2FPkYea3!S4S z&#I7rW5|=*&;97fXWiyZw;|-r!hDiA*n?bDXOEJVRiOifiJgI6^@yh6$^PlwKD0Yv zu_TSF7PH3-wflqpn)L?@%)tEUPt91E0!~~?*sRc>ZZl#gX z%W9vag&+FSc9yiW7s0-qQ*%e=+Imp!u?^#)9I($UbOTV`oJlsx&Np5cRSK+h#2d4Hu2zkSz^CJ5(AFPN)q! z1LM0$FRjdTs|G)vv_F0Uk6``T==Xm0!{|ZsbG4$jPHe8tqoQ!A8;9yO5X4+ai1wBE zkTS@>z}w zQ+fWfKdKPp%7{=>=Qlz_jo>BY{o zjs587!Qu$D;33p>ex{iK{bx|`DvLW_jcT0O=Fz);v@N%BrQUN0x!NQsY<<^*Dk{$` zxSp&=V_qBCqcuj*(CA^48nAC(7gY{PPK@8zG?(~%s6)dY2J)-=>3W)!C$-Rz2F4p2 z`RmKEe3wdwXJtJSylJ_he`*BP+}#p%3-q5Ou}kb-QUz{(+t1=FU5|vfm|eMF+K>FR zuJl@D4I$E_#fia0kWar>Diu#PGP&@vZmG5(Q7?UMIUO;CLfo2kSMhy3$CuUI4E$43 z)X4gUEvm7yNvR%7D970hJ6Jnn z>k${P!Hx;Qhsh>|O)4<|d`VBEzaFc=?J<*OO1$-GS6)uxA+SHGfP^qHxUO^X=m`!M zjD2}mqN6kF(D$3$e@ZHhpbG2XmLK7I-t*%k-8(Qgf44u~x}pxJP)e6-S3L^5sqt#E zU>H%ntntlw+KIQEI1_TmuNyP|$P4)$OhO-8PJ>ksBcX`0g7N#Ec;%eB)Z~?Jd^{pA z`=b*H4R0#Uy4cZ=Y6He1V)uM>i`j^p!mwM%B*C2Y!2YVhy^iD^`WwIBV}@=b}3a zJ!p&c7KiwTpUTcvI&cUDS#a~Rm-QeOZTIm6!D{5nYt6BvAMo>JWGA!l5c(h`)=Jsh zgQNw$zJwQ4A=Z(D`AZf3=$JSKn{(S>gV$w^uY>$XrWR80 zhfXY>+&Er=y0QP)dEL!rBvgC;T31WnFmj-g?9~JQTveKQngCyDV)?EWJ|&^2y+L+u zfIp5*U000zJ2CoE6n8DF8-E%srrK#qLh~kjluUd2(Wi~AyEtwQAy4n*MsKkH@dMf3 z_7v4Z?#d(GQ{z_>b4_f_3G9AGdou zTiKuYpkF2B9a$TyQTo@z6c(k!=s3fET3g>vJT7tB?ukP;-hHk9`;JE>bhBfpELrw2 zl42~Z;RH?KuYZ;EDYYB_P1NmCmJe&yu{x?`jsB*onLi>5x-@OFf=?*Bj{(WNzS%==Z^1B$~ zKh_<4_I|2DH-73^`9l0w-0pX2={xARYLxhy!E$W=@zexQdOh;F_52z&*ayvLH@h=r z11RZf*4$~4a%>?qscOPgkMf7-F4jIAMxDVrgDWYW*p4QOM;-j@&nLR=RpBI5{axig zhJGa@X3HO2457CRaqoXF^q`=^z0Lf>)u<%L=+-Vhxc^5D`)ABtzPbAu{Ckeu>o9@ba!i(1_whzTJu1J#=2;E;OEdDmvjE~;dwPpz ztpnvag5%~PBUF!?xknFP0sENx!dmYN_UrJGiCT+PfqhbxHmDWUp(4gzx!$CHG&)Or zT@K>&PZpm(?w{yEl42k4r5RTvG1~sXV_={9cYd)kT<^qJ&L#!E_vyxguSKQkqDZJ4 z={#%&{BEV>t}3G#K-TkO?n1rgSU`j!DK5Dl%^nWfYArv4sG}T5y}`bY?%uqAd5{n~T5i z;fD6yLxI!di1l$E-&LPz^emZ1Qs!_PYEr4|oz}dMv(gL0UE%uHJ=t58%p%eCk1Q1A zDiD7ZT4~$O^&@i&>Q1H075J-*z!L|`dX!wgPwN=imoOiPbbC%Gz94u!L+e&IE;u~m zC6GZvF61lI9jwV{)Fu~Qs=tp9%2c==ni)sscTCj6C&E#!>bDlD>|~@^zH#6obtYCi zY~NG@_b-#yp$mQ+f!-aeIz)lfQ1;D3`Ibf5cyyn)Jz;VjQKZp05BP?oSc;pw>v0N_ z_$6?Nt1=7Q+8i%%of=1}hL6s;P=+Ii#z6F@1oZ!Q>%D&GPW*v=+2?C;H{P+FaI7kY zgsxxturc!aFlu|VrEGUmCqA6D&(jw0)62~{Mk|_xti*N9ZZf4HQIeWc6nz$cx$s)Y z3ix}v-*Zd5LJ(?Ia^~2uI~652)u7nV_wnuMp~u~DUCBDtiEBCpu@t!P=8j82-+xw} z>(9K8nL4g|jKTHu%j&mz^1@MBiTtDX#}L1}HVK(O03>JAdcg_yectNRJvYFoW7qw@ zZmAwdv=u*?`>i^0&pwmNGIkV-s6IwcH=L-qxSOqNyu`iH~)C?FcN$lu^8LfiR(@U*P6M2{}TCn#ngm^ zdOgy12eyLWOeZHR2mIWScnB;nHhfFKR~#kZB!ms1UmFF}uh$JDF=`6&Loj}62Sby6?(lnZBmLio zBve79h%(EE`Q83lQ@gSgSEt?(-Eq4c8#LR`F#D0vxRA#LM-}*&upH@!pr2Oy=`F=z zKMxy}8h+g(p)P|v?+LK}qV_vGs{r=x8(&ECAgdhP9+2p@0DO{8lVgbld>0;g)z1j= z!OB+Ro6*E>+{@1@c^$@A*1cuxiwDCf)l!kLKfV(e7V=lmq(S^F`I`B70SPrv#razl z4kK0mEzDwJo%mJx#C3c4eNyhSVQdW8N8WOQ3B>2I7JCc_0y^O8ANvl8{hxzbCvA6?M-YGQ4^r3u`oLOyq(7 zr`C0Po@EU~Mh~qDPN*iMTpyKF-6NSeK~{*X2(C98nHW!s2BG=$#%zmEVEsC)d0w-+ z6X%tfd^Gaz#_h(*QZrs804@a4Ig27|0=1j-wp8GAaOgpR1nzaNsy!gVX6 zHYeft84ouoDEWmW*=F6lHucG9%Yn?|e1>eyuVAWh8-D-HcffFpIt;mujhAPEe`ht7 zT;5d+>oeoq?6$hyn4*q;w*u%#4c%tmy*pEonH{H(Dj^GJyf%M+4EoplEqy$3PdMV^ z9k<=uZZ8;!q~t5;k3LUArKy75a(Y=#rw&0xD`+9do)3Cgf(|m;O0FpSYF0Rd+ zjP@o~`P8js;mAEdE0baT6eBuS!n)z;#}6vX$Fy5 zhoOa$!+qs8$%r{ki}{F57ABAD@;wFor73;?NaYcVPG-<^N9{^M2@`ec2P?90&-@wQ z7Wn-YPW7bE>LJKEtR|`M!d;ZqG4NQlbS`1}*_&r@74 zmY27;;LwA|^e74v@zd?H%#;BGXv>w@%2y2#zq({5)=xF#myu#M1@%do%fhYN#|y4U z)m&}cpMoyOWxlJI1po6bxMp>JVh&dI%Ta`&FRs+FlJaRNG^$2;{P%tQdLYT46|M&q zb_`N#MW9~B&7HR(hBx0M;SE{=p{}Vd#B3iR{ z7`-gjH9IBUg0~-QeyhR|kL{X_T3&h#Alr@e_xD5GG4c3)gTLhvs-a^1v;g>7ej>ut zKCuc(vA7&6hxl@jm!3W0aVK`p^VWJ++>K9`#3;o1l91>1z3I+?FGu!jGZj~LV!Tb3 z@HV*{JGC0jS^?ii{C@b-Dz;$ns06ZHlSE9;FPA+A@_Wc)XOIf{t5TET z*JojTMEXeq)i=rb+n|1KzQX{LugrTq4fs>bM6*#iqZ5lHjBP$}tQ)g^B#SA#59^;N zLg%_+{EbR6*0n^ycah<#M2~LVV7op45a2JH_e{%!N5hbZQmP=;bz-H|P}NfKPXvw^*yo~xnzv^EU3y8j8-~Qaw zMO1*F7u)t9ymzA;OC)XcaL*zk$7x~mB8Wehw-o2MM0R4GW}4YeZr%7}QrzpucS(rx zmSJHA_<#9J-J_IEotRzTx%03#te=F{HAJ*Ys8U6eIU4Y7Z1JPfIIM4~PwDV>0zQX^ zFGlHDkdXFyl~yX~UqgSQbqmZ-f{XJbCb+Iet%9py{iPK8_~CQ#?-FgxA(OCvY+uxo zyaE2nyh~iSs1D}0U}o-41>~11+YiQq|KOw3ALX;^#>Xr-z4r|yp?ukp7;^CM`yP&a z836uv-OZ&>*6hYSd+uJQ$|oT=x5lQ0$wZ{^J*}zjQx+E1Nc^<`_IdVTT)lQ#KPO{9#_S~ zPAv25rLuiYH@0(5oIaQh{Jm5DnJblyIFES^{>aI}OSRSv+7Msf${f?`VF*V9dN01+ zIGBtaC5CwBerICVBU^s!0Drob;fv=S!V&F;+d_;oNytInuZrD8xwq=Y_1EfKlEzq1zK)fr`A0si$08#r0S8_??~OcQ6S`p}Ou zhRZ#WKZ_qbwuR~W2!7t5-^y}26)i{QH~rX`g&6~Vn=7Gz`6Z4}KAUh9nmL*tub7M& zX~LTO1~M`AjLYdL;E$wxKkqG5C`$b@{mxi31s%S~&!BrD8<)GxGIhZC?odUU=K#L@ zZ49t?J)ex|!=GK!P0Gg0R}1or;CjxpPKp#yH>J(i_MpuhMQ+IF8!VAV-+x38dJ-eEKu=8Qau;kbx zi%J@@8Q=e0FE|q~s9Topf$L|iW>>h+2cvu0!7G{8Y3Qr>)I;Z{Y~0M-?Vmj{j?ACb zn!dUhg-o}F2`NH;-^Ji3=k^ONxQlva<5S5*d^y2fH2V4ga(3jJ_96`Uvn}2YYsTaLmI=){ zNq9oepOrNMwzedPd*rJ#{A*SahNR?KSTN2cfdasX`X9k2LJq;iTr%w z&K8_;nZ&jMC*$N_Lf*oTu-ecKtGnpudAVrBY1?htaS|@9v;x@Q?QvT;pPr@Kc&d zmID_DkZWJR{zkw@<43>E`2askVv>JHKzvIzS{S8=NvM#)@5VyeFtXU25_QzE6W@D! zS@Id+qfF>;wzCjFl0Qfq9jF{eSr6!96t8sRU$;b=Y9asCag5zcIs)Qb%kQ+D;NS9p z-`(H{>!*&GcR3}1KURY2^tT*IDEQO2TTY+r(ZkEqT8V;QGWIC1pyMw^z%NX$?xB| z1?+SA`kpt zlr314NkO?NB^k3GV<=MhA3&mPUJa}9NugQ{+cAe0%yH_a*5soEeB<-Q+Dq34P(Z|X zfttZ&)ZXFNUbHI#lepb1W(0~>@3Ce!B5At9rB;+^1`>_OFrKgD^f#$>TBhfd769*OhjtwqP%+SLUY(3AiL6uDNZ%6vM4MYQ5F$Tl^gWBdc#55W9VZf9GV-d>A4_|L@d1O83)nMHU;lF-hc zSn?X7Y-|`&T)UbdI2ur%rj#0vRtg7X`xg=sFLQugdSez=+*tgW4dkoa^C@xm00y0iW_|sWz$_wcrg)KS$#k z6Y+u)@f^ST0BU)W=cy0zbHi~et8Hfhzj%W4PmmJv9$w>yQNX7ko{i2Qz&`6Q*V;^; zZNX0!^kv;8lW@8NAI%NG&)dDO0?RKTkE9%VO0W*}_d8EUJzFgn%V|n}Q9Ob@Qk|-< z{jNs?_hgf0pY)-KiC#9b1GV@#o%7y=(h)2eU8d~__{O{#)GW)|f)Az7$9&tHh(F85 zz10JJD--l3wn2P(nWpQ?t{p8nYnn91GZl{w#!{`dZVVtHrpbnMSl?u`@ZV{TZN{Gm z?|+KsNybWI1#w5>2T)Yl7U4pL2E0mfIpp*Ku7wg&64d-W%Q z{T&+C$|Zg5M~)j9dB%f=&|sLxXBXUqG+nEn7y4JB@R>8JzT^#vJcR9GcUB)FscYoX zxYytlDGFv%bt4#En$`*g|F&V&K7%_oIX}DLEjcynC#|yvO zIgR!=py31eQyky-p_3JYlU8?Xu!K;ZM%a@P{9c$j$oWk_#c&YKe#~twz#1W zsZc9!?@X$}jiJ}GeIfp_kdJ4ah4?b_9H}rus|AyMFSxTn{$+My8;T1WKy3j*&Y3X3 z2U&FARl{|;NH>>PlqvW$>1&;mHN+n}M-EPO4Wo3U9wpk47OZ|o;ZmGq0;Uj<;ceF$ zK!f9~#UFPypb6@hw>Q)K(7slWmwluf94LKo=_TMNr;x0~7|7pOBTm|;xDVM|Ck|1s z)L^cx*{AZLf3YX(R|aJpQ1N^J3k->U=xfr>-_vBZxPfNkun_ET%CS5A2m${3Qnqa{ z5(oXsZsSgW zF^3dnP3G#=ES8Nqi7uaY!M>Mvmp5M&4?)cjBel<7Y(Tnxp*hi@AG{?Ld9OPme(Y0Q z(S9+4X*h06DG0&%Y<|Aa1N(Wz>2j)ozZT~i&6lQw{;}npxRC(y^Sjtyz5e@sNUlh! zkbX}s=B667e+TkUe0e$O_nTxSp7dt!0pu^<2Mxa0g!}VvDt&U8DgqfSYg3HyrJ#E+ zXBDj`vvFBZ8oxQjj|Ooyycx2Q2(@qS%!ljpDZdWJxMgFq6JHyq;JRc0KGr$b2j;K3i_Sh*kr*_x=kTPk|KnJ zB=tN=87iIi*`Lq%?ETyO`t5Vhb)D%t*YSrZJkQu zsl19)kjvlqXm{Wxn9gNpm&ht59>=^}OYr){x3*}1w#y|PSuTP%gBF=qEG4F# z?1F3Y{`18~-~Ea>1Dx$Y`N}yifs@OxW62wCkO;>wr8n{V`SoLko^zcAb>FVx8|XhL zR4AGse%@!mg8_GF!+>fL_ft-2WfD1f~mE+u@gi)uU^d zN5Px9X;rQ!Crh{+{{6AWF6RQY59{!~K}jv7?qSO| zo|YL>krMLjsBt@-KW(Atg!!G7Xoo0meG6fAo8IJs_O+p5 zk8#9TyeyqNg)#m=GnEca!MbSyowco6=$v@Eo_Ba>M#$u8Y(LkNeL^_S+@Ng;j;blT-B&$K`kM z?##QdeaLTnAK9<0JN}G#NpBAN{WG7)1bUjaB7UP!)8@@tXoIm*o;MB8M&WyA@iUzr ztz<{?^6?+&AN3OJt;dm{58V|%7=-;-PF0(mJn{OHul_LXXK99h$5T5vus>wwIwyR< z`sd^^x>Zf(Z=jIj0{=vL6HMD*@45H04X$34W@)%L3c1;|(QO-AiJSVa#x|4>UBmo# zTa15#Py4#shMp0*wN<rQ@u|;~0(`C? zjX53iE6dOuV?BiYJ!6<={O&HYw}3VMUU4BwN_gBIVD}Cp`J=aO#J;X)SNO7u&VGQ` z1=1mV(%*o5TJtHXoy`zI_dMa}t1-}yImNo~4E7hCZn|85^$k2-J+V)pyBTc56vFLL ze{;X6cNTmcg~+2Emk)nxA>K-AO!Z~xpN8eeZ81K@%r#s$!|R{zw^Xmk{BR}b&6241 zJ5YZ9>rrXW4`A+hP`5m)~~SsFVNmM zauoGsf$3JK)@DLvyd%3m)3rg_gZ5AQ))@a!8J*D@8HKlYvS|t7EyUoX^Ywa+?*iK| z$T4%bgWsXL-1iluaBr>p-DbU3^4MbMp$&*%`hQInJxBjE-}Osu?LEwok3Q!X|9zf} zk8jNu0xLe3a;)0GJoDaBfwGUl zoFkDjcLD1I9TKm8B7e(%bzpVugO_lfw>El-sU3JenA+$ezS%vMNi!wbO0F+__Hf1i zBW^VpfBLs=aN|o$;;VS{FH#I+N((LIQHa=4*RC1TbS6VKFQy%=SZh4@V*F$Kba*7{ zQVS8yWR4g_|J0H$^^%DN@w?BLvRsVs;nnG!;t?(Qoaxtlf)JmdS=7}8l^OWHM!TS% z5%cN&KjEBEj3n09pl%Fy3tdi4n#NWSMsy{bSn<^g|qpjJBl z-M{^>KH7ivk}|I1`nP^rIvOt7zu&P+>|cNT>-9g+NBO%ie+_=>@2@fEe?Ilk&;R*_ z|DRuEy8id?6aD9Xy6*q|`{e(5pYhSZ&sYBQ<9~UP`sX)!iU0lk{?*$%@Spma|I32^ zC;x)x9|_XX{N336uQ@mWdSzN={BQr`e>aC_JHF$ew&+!EA<>~>F8=)gq5qoSC6qrn z{I5|ofj)-<|GEBupF{Ka{2qOmFg(8H@o)2c{+hY-ul4?QF8TkxbA$fY1RA>kQGS2j z!(U(jdi|F?|Ml~~zy7WFZ2yzz1N`Sc>i=LTo_}j-g5%%+)8F6!vz`3A+?enz8{;ZX zk5IP|pP>J>FaEDNO@E!R{+GPnJvT-^WaqW^2~)c@`KmDl>eZ@+Z^k=y@#zy9N#ERVm>J@Wtm`}Viu z{a;{bf`5DN|1CTFKeliGoLBw-+`j$23;*@|oQ%RBr5>#J9^EBY`NSC-cYG==-kL~~ zD7Qlx-D8Lb#PM*bP@#{5GwI-4KbW==%wDrG9L(42(0;RWg&^MJcI`D3n2p&cJvU2% ztO}_*y*18~ zAD?4rQg$f6MwG!2kb_MQ1+x}t-CB0z831c zM7ekou^paCnUyi5=4tbF-=#6y=r$=qnuxQY)L-V zE&>(IswbW_1e5KL2Us5a1;f=xB0kfZ6qsTD`B8R-0#v$U)d2oraPsR=kUMBjcBDid zYo1I*zOjQRLzoJTJJzUawZ(#xdH&4q3|9E~jaNgq&jr$dcG#Y&r9fr2lAzc#3WTj$ zr=IA!fe@9;v#(EEfG5l1=aobO!YH^o-b#@Q?DaOUmd2u>K*y3}E_M0QNdNegvr}=z zJ7ZSWt`$GORa5j~ECsTuHs5>KA0wYvWmh{5x)9-WVLUl&kHdwZmv7}bQ=#XJ=}N8r zAyVk-CA+u7oTTOiYOlHBO9mhIF=XO?OF8={s25;g#6asu=h`EL_Kjd?aEBk!y`5%q zx#j@okLQo}qI|^I&WKv=cLTk;nU32sGSE|6L%XbSh@>uf$giKlz7^m0EARpLZSg06 zpMD5LJq?={c@s<|w5Uefr`?Hu>rS0lQdF#$n)?!b-ukQhhP|f548*z`-wgLA5J@OI zxb`6h=C3)kwk%QL)aoCCDIyj`_gcJ}UlPjs2GcoyPAwAPV$*$OBNgah-=oRs^#eVN z;u5|zDH2ss7Q5k$Ke--0*kJJ<^*Q54KE)0Gj@ds0<9)||hKjo+oB<2(aXekAS>RVEX z1o!M=xd}5OTJDjNy(JY&DX$m}?WxeLQPjHk@L?$8Jo`u@A(m_pPMny&vu5K zQ?O4~W@^`23dkwvOS9}XAe!8px~A~?dp}$Y4tB3Hf!U9fCB52I$YXmm;+4)v{5`*Z zETXXiz1z82`Ooc0)OpoE2IHuQ+Go47QO;NOQnWLcd|-AtYix(jAyV+i*7F?45#pX4 zY%b1Ag>J17Ml~~4;(R`K@71OQMECh-)q*KIk~5d8{RP*#8Yjj(h<0{@vJ}#8l3Dfh*B4{*~Hh zu1kg4;y0cv>n-7y-fZ>(MOSD`)l(6CeuUH==jJ9akzZ3$3O(@#>+FIS1LrhCiNDqU zmP>(0$gnNl@zy^npz3?;`PO}?hy0({R8~8Hr~}g}xhX#)(yV1*Me%{;v)fb49#EjH zL9MyEj{>#pp5A=O;|s$zmF&&X0`)vhzbM!wXYw-DgQHS+&`YF(= zwKXXS?=Q^me9^{YUvOKb@t@g}Kp3maRCJvj2#$t0c^>_0SYpLf{=&n=ud%F^D`9}f33LqAaXkCMx#bX}3NL2&+o1S6{f z6*7Xi^gRi&gjE&qmZ<5D@bb9*v(4L`VR1*^=ZdEk=+-d*R)hQh`kH{ORJ|{J8Oy!m za66f(s6R0-+^7e$M}q4I<*0a0@0DKq2N~i_vdx3TOkl!aQq}v(E~qSeH?XrBJ_9xkpTCFgW$sJ0#-lTNh;Glx@(7iyVacijB#}UER?MFLXy@#SLV z&$;7g+P&3a(>uT0-Dnqk8VcmzS4NOSjoNd-Vg?PXvfIxYg+b~%i<+5b3N(ky_ZZh< z-^+6G;0RwVQKTO_`l&dc1crPT)1OHMJ<*|Uk{Fjm>~;mLHVz_EhQ&&qc`m?T7&AU^ z>j|bi#_Ov_(XZxg)9Ib0z+;()nC9&vq&xNjA4^>%(N6XoU+)qHJJyL#tVjL1?f-*w z&eR!9pNE&lRR@FZugq$nG%3h`>*}D7pTEAFx{ZSOHyrr(?aR6-sMJa8Op5g+w5oDf z=8_V~Z1Jv*e26!GZJob-ecqkqHVf@p&F(^k1dfTEO80`g@Zf`0Qxp)GQg-CQb>g`> zo*ua*Ou7XphHmz{laf3GVcHZoGQPMte18)aZceQ#((iKzy{FfI-JyDtC`Z4y;ilOSF zq(hev+J&58)O8n==W1>8OLM_YdXWNw+&7suPNN=uRFL+6ZAd1b*t&MxdlJ^56PGsa z4V89P`~2SY+Gs zY^>j&e5JXt;Tp#OG`fSEBwSPB&c$8(6h+ZaW37)W)cHd8gpC6C@(z%oEk60;tt;vN z)~37<{d46zd;3aUFCwLDmtVIpsQb^~gEe79bLQ=f?RD00*XwB!1MXMYTgpam?n7`+ z7hC^!CxB?;x$8=oyhw8354O|86ey$@UB!&@me_Hs#G_#^8Shp+!QvH3TyOR{vfuC_ zW$*en`C=SoRNLCpHe?P_jzhYKN<4@d*P!an4n`7m#=N`{*Ree=Rod2z@^-9Jf7Rqd zbSVWbd+HNOvtzdEdyHeET1`0$>x<1pcR@ZnXlx(}gNjVlFq zQlKbd;n3Q43bbV>chdSgleAcl{0e40c%9v`K3T~fL>0$-H;Pa}nbq8-Jl_OpFR(B; z^!vh}!fPL2#=DXFw)rS-)EnUA5v&Y>U66j>FR?5j^w=Xw@vh$aa$xoe~^tOP~%zJ-N%DPSqo zb7fx_+N)L!@3y^RzVLBr!pSCOrWj3py>Wfj~?d)db$)!E;<88U}M$uz1 zVV5HNQPh#hTWz{}=pE|MzTI?ye%|_$MeixC6p+$-cJpaP9Qnzzjmxt!gvhN@dLNJS zF%9-8+QsJuqDDK^lJ1y7-h!Cb?NT?wU(LI9H_Ca0Dbl0_?KLLqoX@(|K9KFONg(Z^ zKGAPV=16hl%bX79q*7P?F@me@$8g`mr)mN+!ltU*hRP)8$4soRD%lz!FT- zdXx6mnb|{*#Or{r-BhSsH(bBn6!kQm_KcLU52@ehy7si38O~AE@N~tzU{T}1&lbe< zNA*XX(yClQ8_qFwMWg-s7S)t|H2}8Y&0|N=&ktYheaNQkL`GiK&-bs>B_`cBe#}>6 z9`o{WR|Mu?^-u4JtV29s{@mkJ?jI{66c%#q$F2mDx_Qj<`EL*MX==|6ZNwWvlJi*50uFSNg%58s_Yaw;-+bnNvcQjfHg z?n#D1na>`avqpszseDaN`W_@(()MSKp)>Ny?V@WiDi*k&Jr^`c0p>88fw9XJ;0j(~ zDK?KGzxUlbCLbP27@d|hKgGL3&8s`=rHG>@ww}p15{n?4?q6_8RZs>0Iv+NL`~50K z2Fr4sn8$^kD=44EyvcBShWmkV0;o&M+OW3ylc9rKqGx6!h(aWf(9c~|=(x>JBGQhM znmLPKGTeUum10BhJWJ8tlQ}K&&L%(@~on-sOnLWVy^pTit(?nKP2zbPqdH4qW*xB zJ|u_Xz(E~HXQExet*H6M6&f$s?b1cN7%66-xLK}5+N~dOpNjS()@fC=LlHq>?Kk}( z6Y~r9&CdrM5oZRv{T^`;Od`hN)%z~AJCQ3&@e?QTIlVQU&efZgF+b(J{qmc0ATf4a zdsC{>k%*R5oAToGkDdLma4MjE7VJuOkVO9zJpJD4j=L+l`5=DashAy^2$?vkUco@t z#+m-!qJn;PW?5U;KbFV}p4dc_AdBZVg4Sqz2g6+1x&{IC%ceP;0ZaHAH&4T9btMK= z&l$g&z7t4n>J@4on8Qd7t?}MBJXFy98tK;;;!c9N6OT7M_W}QbF=2x_3sT1?TYnt$ z_vMWBkJJ&j3=4M@g-TjNo4DAp{CYQ1vu%za>|1o#8#O2A?)T-LxL`~2=&rfEpTK>hDZIgc5pgT$n~tcxhsjLS zr$>w5-9SW0@A(#}Fl-59@KYvMUOjH^8Pk~TBp(nMm`nqzd|AyTYftZgL~L~e^R-LAoS z%JDuaz|SIpxYxKWai^G*#mf>mZ_K;wZQd$aBA#MwWT+nW$DNZVM(k|bYt&t~}_mD6b{e$EyU0;%` zzb0Y+$$s?~_A3a{MJ)87eCj?Z@AaFog`Ug?`cr26A%pF?)&b80WJ_g3pfTD-!KLAA zbE^X(DODlC!&x8f)4aUHt%J$P8H=4C(a!ZgE4z(0;=cFM?tGDrc-3xQCAY02_}dhQ znw<**L({R91Bk=d?RX?33qs&ZlXNHRp-o`V>*TTiHRh*sdmRbhmvsh> z2jhWwxFzXe?GPRY%i}}Rt9G~(`xWu0jzUx@O>OGe84bnfazD%LD{}#9UW1Y#gAizx z7#vW;{4H-_uhZ(k@YH1?`R=hpAhyrv?zJ;P`=X z4JJRrPxJJ=Izoy{1b1dX(FNU*p=WZERA@MHWcN#nAoxgQ4I$$K zkFza{gGj95_oUq%UJ%PiZ*&=P#{8X-7wOH&OC+4VGQBwpW>$TO<&E+t#m9_i?@WGE zSq}cdu^;!n*3v#p{CpTG*GS>4X7&Q!cae0$=^=18W&Z`19~7YHzqKGeLV*AwhgULh zogweRJ38O55v28+IgPuXAdq@zEcoD~h+!_}$$mK4sjCgG8$!{C^QIFy_?cL^4yo;zh32kPS2qTJ22DBpIf{66l zQ|q%(K4#0-+^RMnq<-7$W4pqvNt|Wg)1YD_;(zm4o_Y=iMBk65@gNT0``N}&Xh#x6 z9MnCKdM_A8&O5B#9~1yBqn->;(LdifNI$(^1b1> z-~1oFO5fh5K;zM4RqNlRLsEkRO{lRgZ1Ykd@3jsBQ->wSH7Fkr-;Nav7cMij99G-uQWz? zk0O4SJ)amQWN89{JaQL!wIZNHP4ReoLp-T^YH|Da9}1}4e-WC8_7QYAek1!KKXQse zVYk)kqr}zOLB7;Z40?o0xO_0*v8U(->#>^w3tL?6jvFq-%}#IqkQ*Cu@B4UC1M_!f zDT%B|#L-vWzg0^6p+4k&iZH|ZgiN7#(<8L~$?!<`fga>HJgY9ML^IifndF{p^|5Yb ztEr2uLAwh zKafZwQ}?%}wJ%fPm~dAFT_v7JJ55@TyShTH9;f`R)yD9Y`Z#v+f-vYa4V0K5pUJd7 z-A?qIFmQM<)wM+)0ak12^;_!`NXUoI_rg}(43?P<|uURrNVek;o66F?$Eb=evn-XVh;K zc;9IeVVC8M=NPF>zuK({hnMHvJYI*lKi|_nj2DYWzSqj6PmoJq$K1ISgW&Sbk4zb}jNJ&QFZkuiAT&1Q$VyaW6!$@Ib% z2&JV0f6rpVBaF|qTFh)=e0i8}j()amF9q82p*0=2 zPRGWv*rF3?XOE{`^|_--b6-A-(vc{vmqZ9_OqxI=%RYu+^oOY*rw!!JhmdmN8mmh0 zX!0Oz<#@KP3@ICUQs0VrBh|e9+D^oEX~zm*zqDn;ywr5!({W8uy(loPzdDNWzwHsq zMfv!hlu?t>Faw_tp%T-&CM0&tYF8mmAEIps+n>LpfCZ~eJnt$h#4&EI{T$;>HcopA zu-Ukh>}$&4ygLGJ%_Zh9ZKJ|e$nl*Z=0S$JvuCYW%R%aM>8*KZtRbvY*YRQt<`wIH zyI=f{cwy(0YrNuy;5_Qal;nl;r!udb|NNj1Rqba(58*oBHRvtqj~bI&k;#E46e*x? zx$$Sn=Lm4ke)V)g|DMnOX=pJI`Ch4T_di_6NPYFWmkM09b5cu`}5kY+_9NVw7_sItzB2XCWH0Z7ewZa$oZ8FBW>_R#|hj5)zjeCWh zn0K@5ugy9mYXUiM4o)jeDTCoB(MiruFXDT?$Nmc9%mMpaLr#4oQlBW^&+y%kC{AV? zugdi#1$!@q_>5uQOHObl9M>sc-s4>PI}v#6PUO~=xs$D|FAhjwcPH=njXCk{$2!r} zP>pZ13t`~?R_qjLLR_~VO#5LM32VYd2N$nl98~pG;K%*vQ21(Ys2mSB{W?t^%XyMS zW%)HPA~i_gXj1l59rPO?_tsasE0bdl;*Tyy1%l7f7>C7_Fc>c1XM8Y=0-6_M4=i87 zI^%k_B%0v>QZjR^3Zy;BTIpzAjZzbkRN$30HKoE54|=b04H6ZR^_gkOndDc%3k&gB zB9$=Z`3d9u^l62O(})-3j^^DUDFL7$XX{kq5CjtIPq(_zMnTj*CRHWOm)F_cVXY7F zC3&&8!)jgxLf(!Vq3`ng;22q#vKQ^MZ$5f5whiUILoD;q+ejEY9-4ou%MZLaAFfo1 zi6m2%XZ9&$z9ZqT^lGjYd1{3h&W7QlxnKOk+)f$B|FG=!4mRR@||V2dl2teesueSy`i_{ z4_E#>2JQ)-teKt5~;I4~AMIHubBUol3Kz)t&-U96$dJ8knm4)X%5?W@NYrOcr3 z6(9B1*HGY^t5y*hQ-nvV+dmz`xGX7rt6l`}??JWZr6YVE#GZE>=a$VrBqirQqlykmX zKplE-M4b!(5&F>et3rdpY*X#8n|M7}XIh$~?;Iv>ofnT*NO{4n{yN*6S_!}xcY5Rq z)(fT$@0F$Db-liR0=kN=KumML-P^HP*y`W#T_?g3BwL;^J0TCSax+P;ehKlHtM?tf zU$QvwNjce6$dJ&_N6-wQd|aiTX5?WWFH_DIWN)bfGpGGm>ATy53iA`O*kEH)c~~bp z8~x$DO8ms`i=ptRSF>b4lQfz7a>1hiaR?FlzBPCjj2k_1CJjs>u*Ph& z0slcSLeDD@Z^#ruQg4=<3~5r~@rI}yq6tSq{ceu%!*O0Hn@`nOJ6Jr( z4f?L3jsP7}uMpL(b_e~~cuu}2+N;IbgN}u3=7i5qd*}NAPnbXIK^OhjAI>&B$jC>2 zwQocH>}Y2s{L1W#Sqf7o0+A=_oTNR-O^+-2EVy6gHGw-DksoU?J$h#0b_7w)I{TpN zst+7eetph+F&O%4e=%??QNfGBcJsKUD>>y9bRc<)J1ONjz<+Wk9AtLiACN~JA7XvV z#1!S^d{UX`-Q!~<)rxoO`i?-->+k+1uPGGhZD@Tw5oh}So-C-)c7c^O1xvykVo2u* zoPGRG8W`_RQTiTJAm@cNO)~Ndt`Au_wLY7Z+BGRu{#6cOsFG@P2IpX@(<%+Q;C-3W zrF$s_y2Ja}(mZNR5aCSOtJHH)mRLt2Na#a6&nsL}jsHB}dcCfQVH3_jO4pd-3M9Wy zML%r4>qe-;t8P5piahP5j6)i)5@Fg$?98tFN@O{d=F_FTI3g-jqj4JbFrV4;#3!uB zO7!l~78$}iUg^7uL+y8B!sV!L-1B z+5{?ZclYLX90p~TTe=Ue5;81p zOaF#YVBTfOWAKRuf}G<^==roj<@!zW4sj}!mGu<5$+{5%qqeN2rg&mov9o_^t0zo< z+kc(675%e|;t&s>FW}L&aet}n3d7#Pe1@U+gngSCykQF^x58s4T~N-VGSBIG*4jYN z4r`X#Vs}!^@WFoQXZD=YEOvt{t3~`2qt$?4=loJJ z;=*6m_6uD{Fh7`3`m(|qNb2oE=uqEZ09b=}ION+wCmm7cqZh3=?C(_#C@gjFJ6rAQ@54Iwg2i24pYnUs1vQ$D3im z-5>Mis4rDCWs1&_&XqBt`Sc*p?Hw=Bbx0vKb|)CWnC}(FJF7$vJcXc`AC5k zow4M2jLWatHYj?o3W2&h#;Fo+oWHjAX{R!dcX_lNO8MS%t6BcDIi)>?)6 zMQTF5RMFyLuwIg>K2>c8buwI8N7g4ort|j$V`Z49XjReQ$VD9fD0Oqjk*@7!>Wjf-mrkJMYlmPG<)!$$4XRakK!N$)wY?9WW>?F8SUzCCY+D zf%o=Vku}Aqnmw@2C^CFPI)1_%wvC2NSUhxv^RcNfI^0~q|M$wy7|h@Jd@vKsME!CYQj8^$k=;hpJ{)L_yv(J2*>9}RKQ;ca)i{o!P9@X7_`+1$*pMbE5B zfSARz*4cuVB=sJzeplFGGG;lWt$=){MAN}`FK(~@j68?M3Bi#g zY-*7INkd8GUL?$T39|IdxR4yxi-jC`JsOfv)|%=BL0{UXF`4UzIP zSI!6QE-@hA9e&>+%ndeZJT+kS^!MMS#fkmk>|M5`eV=FJRUW=JyE%HCUJsiwob|x^OB)SkR zZ%LH=-ANfW4BF^mdN+PvicLcFYz^A`ItI2UznzJlfK`>_9eV+s!LV zU>)BoZzIRq2q<)n6uUhXO~m?D`xK^}VX8SVF$(zvDUqY_2e1DMd+dGX{MD_xu_KH>}HP zuQt7I54t(kNyey$B^lE1bCRTqYH!~3t#TdMBvf^ujm8Rw+voZ05T|m*F}KX#rNEav zeZQ8&y@>mRPSM@`@nCA5#pciB3R7=yh2O#bl30+m7>bAj$zGiY;a6RWVE(s=5ZO>t zdZ%*F4DP$}yMe0TSbrGq1^Gv=g3wl|&Lx}?0ug(zuVU%*AT>R!Q@?6Z;ZX_04pr?K zka%(5c-X~`*rx^8c$&yS&hv-{eY}p=@`=>e*}jZHm+bjy}EiM<*FX3!!$!T-Wp2pY)hkH zycj$DLNU?Eho~63`kCO|O)aUr-)w%Fk-$qmT$7mRG{2Q`^+tV`Sxou!z}AxVtQC>v zbLS)0{^K?eyFJMEw_<;CF`h0yxa8+EYEG2-Ia8bGYzgaNX`uA90jU}&QTs zaAx`3g9wmnzW3lmj4|Pfe{H1c=0kcqbHBRxAfJ#d`TS}T=JC8U)qTMlM8)rwX!1!_ z7$~MaSu?u_Ql@=${uof9W(OTz)_Z5@lO0W$oK5S)M>C&U_b!-YJ7+s0{`Ow0n z#Ev9cL~2eWuA3cK6_~@gL9N+sxKQJayyZlF0G%^f)}8)%81u0G9=YTJ_OB{eMDtwy z?oC+r+mBfyziz|J%5Abu69&_r;y>Uz?%u<>8g(eAbf#CPb^xzxG*^9c`L43;dg00b zH$J3Mow3Oi@nM1HbN8EnobeoJw@|W_Iq`pXcH&NcAjuohU@}@jzE~o+IUn<;Dc_9! z^CzR=UiGzP^_#(DKw7k|ufmz=k=1%BhZw_Y+F?qqv>J%;s^flAYoWiK0&&Lp{Z6V{2U7OZ1(Dc+Fk z6m{?^zdx|($!X`OCxJ2hnd2)M2N~VWw_IsJzZx!GV#H_z>{Yu>O6~?jLhbsmEx`_C zKXrlY0{YcAkq8p>>QUNSgjDP?j6`7ztA4z3>%C#*W!KgX2s z3)h*Zj?bTp0S@avQzc$r^7ZR-=>+;8N&Uss<$~BBy7^+t!%xoS#o5)W{n-Cw>$fVf z5BczQUOiE>sMo@c6o1yj4XWhu>KpPWJHg0j7ONV}FKB;%9<7qM0}0B9 zD%K!h68~brx;ey+2njvu%Rv0Bd0eRT-7@liU)67qh&aOgfJ3)9!IVVN#kV~Sj3lzO zrG0hC&rek^b;zW~g0s)rs!>%}BDEq<_r=NsBolv(Ga)}B|McCqtLT3kYEF9!PP#&` z*xD}_`Mrp)Al=M(Ha|(6dey*;d|jZg{~cD=5HRthe>X)a0}e@mA$7FgO$2|ATlZPCviuMD1K zHv59X!q*r9K^HK|uxb)UUZUrK^+L~12O?Q&veCy$jie>lzZ$T^zO2y9J9-#*;$G(P z)*>IpEzWds;^0QOd%!}wk2eWqcXq5RvGjoOdg}wz7*7L*GdV(0YUD*+&A2J9LTf+zy%wU91y1 z^@%SXKLP^MO4aSwo?zpgQ{~u`2oHUzCvSvU-L`J(q2yZRG$U1`H-GiaZ^ne!EY>0@ix zAFE;~`0}btbG4*D+`E?So-AWY=wD|`twsB)_c8ePwNMZu+C2k5uW}{t59Vi=Gr5p; zlzsj8F~1GVW>NG&JyMw`zSn~ekb_Rf%ugPL!3o(-8R;Y#GH-?)Z9zPi_{nwO&O-oAy@GTx@IE^Kkts(o z)H7%vl|sHQ{ooln8Z`?@ufF~Hcf#&8ItO5vRtcjyN>n{+n95X4|!x zLioC=r1JS-m@&yO(KGUe)u9Dl!I+*$+v&@1m~!AS&7&pL8_@YNl5k*Z1jynPyV_s2~+&4Ax!F6^jO^!kq@Y z!HQ(E^Bj3*wg)P2I?4RS%ezN&ZQX$OevUcGQhi$@gaj2)(^+F6!(sfL^oKYiRV=<# zfcN#K7T&bck04H)6b}EJGUez~RRO;y;j=O7#zhiU;BF?pI8~>$ywQ>xgJ!607+FJ#k+?UL++NM-<0nbE$MxoU?vA zXA$kZl&@V112;B_9xGY&T zzWWc&HkkM*8!r;z2SV$I(Xphr+Ldr_+eO2>5(hEggni2ik=NYXipNL+w4N~p4 zAQ!c4>Zk5bI(Z+*+80TIZqrX*9n|BP^}VE}0CCHT>5;{LduXfw^ENsy8H$v)ugVU` zx_zbH$`s;_4(^McCK7UR?&8^k8zmy38gu>}qniOyRBSs?@dJ6b10vzSF(2f-62IE1 z&mLU(&+UZCP&_}fIU^{`1Q;vdSWF;(E}-oXJ+xbc@XNI;+4{Nyk9e=;v7i7_TDMx& z9`~#Egv)-Z64aj@=?vOWapa-TR?(}G7G&Y0hrF&)2n2*a^%TK8_v)3&8C$m`24ns?A|EGwAiFk}8br)t<07nej1 z9at4X7+ryTQJc9WZ95zt5^sz_KXy7J?4qiq8QDkoQNL6S=dzE?+j&lvLnSSDv(E5_tJEniu&BMc76WmTfszeXU)Dbjw8^ueIV%KPzWij^pPyX z_+B|=@|)|3BdAA+U%6?%lbDzCXv>^E-Mmza1X)C0b_ow%&xsYfhz5f_@<_f` z>0RYqK}3ERi_NC>+oAO`ztqL^>SX0(UqC8uq`=VnK_=u^=? z>R(99f9mij-3@w8T1BoP(j7V!F}8<9tv!+V3vuS%WxnztV^boKr==Gys12H&+7$8N zLr}-wxw{4Zavr^Yt~2J}KXmlFew>UUx7TrRwZyzU(MbJEM4kzJWjXAViFO+3aWLd$ zPc%^$(cj*|rb1q1q^Jo9heOnAD~2(Qe?U>6$>RTGU!fOaow{N49OW{Y?@h+w$A$_LEGtp50$w9D-Z6QgM~P z)v?ZF`Qi!c;USLf7>1NkQozS$@uy4pU!;&e)bP#7c;$sdsfoz>bw9jFdaKy; zmuTn8FUlx@4)+_PnjN4eBemT)2uF9UrB)9!oE6prJW%@;rEsGD4+US>1Pcxp5#>6K>X;3 zFp{+Y*-GF~YhY#!66D7GgzL9#zZ=HE&tngV&M;x!q5LVstMUlAA{l7PzsD8ABQ_>_ zaCgN2pIyR4hfc#idtk6Ucn zE*(f9Wtqc`B5M9*xq;T_F8bBCbID6ggXSRfB7{%!*iqn3V_LiGb_DnjT}bN2{qp=O zad9K^KvAtrzM@;A;BNmkeL_JZ5sgvXpcl6jW=jnf*6Lt=`B}%h4gn{a`o=hzzuq4@ zL{5Gwy?8xZ?2kZR!P3^I<^PsH?mAg5S2#SZ&P z#s+de%hZOF>12O{Hq?)#Y_|dCtiO0Ask~D5&jdeUxPah-CJaf1ZootyWe-0qxH;YV!_>aO+p@jGdY^84#xy zSE?Q%esuw_SED`)#fno?2OJ5f{PyrA#>4PA(d15Fo(3@=`t#cy{k*Se$zx-*i@a-6 zo!i|Kp>(aBS?0DqAnC{wDijt@YP6KjRA3%A^*T@EXp|=jWu|`_z!OSne3m}yHU@*E z1CQnz^zRwTs>%0JJ}PxOw+9;#&*m7+Jmok9(Uyl)oH-+K{?BR7w|rDsU}k*kyj6(! zudLkG6z796$J=)lDl|!>K;)LySdXDrePFtexIU$I%XS_?HBxe(P7}HGQ`f%O*c+`WLvP`{6$F@0pMHlhAEea3pU@Trq5tLNGo(b;Mk4cJ6AR2PpIjXC8u9_9n3+3lh-J4X^rw3ea&#- zvw1T979tvov;F zf?&Gr{fW@D1CXadaWnaZJWE%katOwaoZo_4G8&QOh1~wbnv-haZ_T)N{z)Wg=%0x; z!TcgGejoj-JO|J{f62(Z*b7Sk7mBXKAM5XnlfFt*$ta2nWfWP-=-64=d+)txM#vr| zN;b*JNR&uau9+<%JsutOM;^{uh5R$QLP$e%*SID33;Io=%GV41jM>%{uMaaot6G_Fo={AoRq# z^W7b?9m?1U*CgC^1|@MP{{QE>=~K(oE?_+%z-GE3V$c)`$DX;}eApeVyJdgc`VA{a6-v@xz zf`@ZnOjhvb%ci}{`#p&p{>M4ClT4y7RLyL91H6!DqZa zB9cpsDL8J3Y+rEB%W{KP+(AqYx$dxYpI0ZHc>q#)SuB`~*LkciWuL$mBUsFuJ!Lt0 z6-}F$xw9$wBPsrp(h6K}T$ARa_9q+bwIYiGd@RN=+gQch{$3IF8eZS$u!Qe%hYqOf zVjNy?;Bw%ZupKm?CnfY!L*Qn1d_ia=zDK&l_(1|b=TR=*Y#Z4B(De6-F%s0!@Y4R; zm2E4iRq!hR?5haA&T`^SxQ>yxvYS3;O$ugJ^0sHjy#ZwXkzcK2@{ z?ZE$~B~Te6n2+z%@OsGI)z^mBP0G!$BEE2~x0T3?`Bz3$UzCN823r4ks?FhN82WW| zsKuqx2mKT{zwZ-17cGC8IC=4SjIs9=9DA-IGc8N$#VsGOxa*)}Jg$MPRysq5G0*K` zKEpKeMGrUv#8;Jrbz!@?>1auV4Z3!&s+b4k6{XwrncmnB(d%k*w$uiq;*X!`x}Ui~ zno1Uvz^XH{`PrPShsT);_-7OR6yJ+XTlY>M<(V0mvM)3J}zCqwU);G=xgdfJd zn?}a|M7}q!JDm@`7;6{=)S_kG$sS?Iy7KIZ3$}YU-DBJCc|CNKX7ab3S^&DUbUjP2 z+!#H1v)g|c&dbzntTCxp;(g?=X3l^A8amw=-RJ*X7)V^B@)}26A!qd6aW$;}Y{c*U zOrs}Zok$h{+~QVJExh^T8+7(mmO z-hr_1Hc0hcT5R2A>^BrtX5wC7hMv{^4Wv0M_)t@2`D}+HYHwtJqmAtzKP(cLg#Bvh z4tYhsGEelv)4=mrzA@B1cG$N~vV+J=tEZW;y*5HFTFtuKf$;C+zemeMkwqi_@q3Tt z&<@FLF{3uz&+&vGOBJ?zD`^v*jj%^MTAf{)*usGLz`433$_nV^tO6bI`tZu@uxf7e zqnrL^E}02tAiNzsESjziBif}4wHP0qdOLm03iFGu-1D>(w}SD@JSTdo8m=I?#9m(d zClF00e)60IeBVLmP>l3JwEOLxRA2qAGeC<}_ zJq{wuhSzFUB~ht_Oy5$XDndRivDFMit1RW9j5);8sCS{tGVSq=UoA4>|%g=2fqTmA06QTkKqF1 z$nzxr!1E&C3tBo*uK{m_Ztiwq^#_YV(L*lv!9bR{`ksjOV%5DicewCAa^sp#;kp%v zVk6%2pPUPVl}w?kEj>->P@61I#&uRtj%jm`s|P~omY;gXF)g%5{Q#HXDGvzvtr^e$ z7=J&mG!e0i_4(`NQ>FbO(4)XwIy#|&DgsP0?A`{VTGpq+i#T4?(EaBj@>>hMZ#7Pq zvFf3W;`p>ryZlQW4Zo*rnjDSo#q89#X~Yl!E)~c5e=c|-bI*$-oj?4L>hitMeGORm zk;!wulY-a#T&cJT))gHl+84zfv=PUF4QmB84-~P*zoDmw^%fChu>dD|RDG=f{&S{K z;C#1o?Zk0MB(~S9O&RmRfVb0qLO5O=nJW%$^|}c4MssEto@zq$#Cn`cxiZpjInlQw zi|_sA);-%G8$ed$pOpDcfA}Lju#u^zjrLjCnsDKBp8YX_HxKJBUrOyPG$-|N|K9-D zPnN#;KI?6<_ua-Yl=OFv3FjG;``FU*@Vez19B_L%6Np;#@q01tIiPP#iZH_sz&GfSL1bK_$>T(v5mzCW$65pC3~5J)s6G1OgNsZ&vIJQp2c+!AFikOehz_&(|;0{ z=N-^&p6h!Ce7?BEcqLgeUafcdK5%!$7U#ERHGW`yqi3poafh=ytfe!wgkfCg{9w4Z z;Ta>kW@;q5OCkb3zPi@L`Bx4xwpGa^_^h&fdBbfh&?2N?b@gEBz zc)@uN(JV6d^Dn-KN7@t`A@wd|)=KI%)Sf07ab<5P2+y_pu?}OtoWApDa4oI_sk|(G zpd$uOFdA3IN?%93m(=5ZHT>Yy7mYCveT?Uq-4^!=`=AP0&D%#4_OKqC3p zUxAu$a8q1O;|$j6bZ7nx(;#9=?Sbtp!6-9H|#ah&s4BAcNzVK@9oPsbqE zH-&?aSU-$Debe^osw&zSJmFhq?~NRIz74Q-IwIcdG(;VYGfWDE%6;&8e-rq%M#>!L z10tm&boy+-u!xUQeo6;!8<-xGS6Bgsw#Sxz0#aB%_iz(R^aKY9Ip?-;cU1f=t561? z&$(|IDf;+aIOWT+8SZgJ`Hgp@4nNTbn$eFF&vW#FlW7mLK8}MYFNX$wJnw^ogek(t ziIFac@Z1tb48=id!(B~kjuMzi5Wi=n70m=#wQZ~vRZYy zV;wSMiDoe=&mPXQUVfa@5rkSMhnot%2BNgs;)e@Z2dLRJ2&l(?C?N6t>+UrjBvayR zrF_pBIi_c?Q}}ftRc?{-G1l4o%#V8%wi+W25yO4y(dwY~)A*-}j|duIX`U3p^O?CX zTa>|HOktoQer5I$Fek2&hkyuf+Je#I}}znKGlSw-p98E>!`ks<5M*`j?{gDW@i zKBT|+psC`EHA>-e)UztlM+(`Q-)U6z(Q4TY^~W-<+o@|fqLGDhR91PZsP7>pCs|iJ z5v>V3nmB)EXQ_b2E!%K*jOQJiP2O6uaU-*E;cIWQ{Xt#Qs7GOe2jogw9Z%r%#rQBk z?L4-B>+kGCZxx+UpfrU_@bbg;T1H8#HRcd`&Gv6F=BFoqeeGmAZUvb)%;I>B9Z_nZ zY1E$D#jykfA}IFj>XZ05`6#pr73H zGhDfvy7#LizOPr8;469n-|rsqBOUN`gU9mz-eTt*;8;;Uxoj)|39CG2K7#)vySi3w z0Pi3EcDhd=p7^7ID+#>c_^rWhw@=6BL2vXc&p#mx+r4?Q?NrIACzMi;ggemqfbbDz zaoYVMNKVY~vM=Uuoz;O0BG0hSmK}8Ttfd38scAOaY3U8JPQD|JKQZo|V6BVAek^_{ zN}0t$8IJw-w>o+M6ok9az7>dZLD%?%X0PD=_vfJMXSsDAWcH_9SB4z&26Z`qZ{YmA_ zGhyK5S-^5^!Ul%6Xdh1s2BKt%rc3|NcVBcQO;uRw!TQJ)U(L23(h-o$h#NlRit`9GXKe4xO9M6WZKvA{J5;~lEzcg~G27(HsDXF(=&Pv& zJFSEvN>ub4?h$ZD75)P>SMfT(Fy5quVV+`Rov+Q-8jSLPCR%)9l|mtHFQpyJY#`CW z{jw{b7h}Bhy$^4^&^X6ahi|xEGEnGo{j;jmD6}}nff=6*BO;p=BVOk>#3OCSWnQTJ zQy6|L!5>^NyGJn^>EOEXGdq^mS71 zmhjmr=;!=mEO->s-EhGCWGvg5%D;_uWBvi@a9tOme?P0vJrM>s>^*7kP6Q#x`_VQ= z`>`JW!}hb?D_p0W^e|lOn>Uh6wm9LNA&q1%-)kPjer)&k6Q|WNUL9+FEq&^+F39B` z+Fbwa16AM6CNhrw|9_OGX)!OzRv6IW6mtXB+l=mi8Y2Cx%`oj#GbH{u1H{DIt7}mdN52Lz8Cp_Ja*#3L?^bJNJ-Pb0!K&W!591Uz;7qm zpWika{lN!@<*On$F^@YCDNkE`gdJ6LPJTPG7z}osWj^Ptox!93zY}*bejd8WRLFqw zYBIqwKcPh*dfvQvm>}*3D=C*tJGAWadzWux0&(5fb9UPLgx!`%(&Fk5POUF3dnEmA z;;S4%Sc~6qWgXWQSjdDCv0i65WYK%BQW3`8K74z$pAVV}f2IfqVx8D5GJBl`*ROW@ z3tfNi02EI4J(a7rXxS-Ftb6Muyox=WS%vlDp9)9+&<^2xhrWGHUp1w{!||FMH=QOh zEF6%nJfR0SHe!aaVZ3TMt1lD7tPB-DA})5X*nk}+YPrP81kqT;bRXNqet9`*H4WQ~ zh2!f>xwqaZb)bZl-xdl^uJJz>e_eyGX2?)k5$nB4<2oBOK4>$t{btMo59G!lQWqNN zigpyP&DCJPs@m>xRj3&I4TJoUtaT5hWS~CmI_U~xEccI`R`rEF4m*XDa2)(EWK-4V zy$HTv$9wCfsvCrl3;jMBqlR|glgK=Vi6OW1MHK5IxH!|4|xU81~Z0qzQ)0cO`di7TTc2S7oOou|7h)9p$!-rtyYB!d|%k7lIq2P_YZwZsy_W2eBSGOFO9kRqHzl?vbCiT$b4){i8&b$ zRn9Lx!!iFt?nj#{aebDXHR0p~c`p>j+kdg$-VWqq1eg+WzSC$o{qIu`@P6(U9sgP5 zgB*N9XP9lpK`zJf7%#3nd#^CHw1MqKF+5t$V`>7o)+Y(?@x8AX!@)vB_pgFQ#racD z@qFYW&Whj1JcVRxD$u*-440XmG+&W?kkLc)sJCp+i1UzzzZcGbSqT4GDehOrb(?Rh zHl77T^a;N;i_6w1eCb255axqQJ15F&us&95@NJkc)DH=3s=E9x_C>sJoz>QiEs(0i zcUEVtZ^&J#OZ!UDMKUHLi*Gyiz^tLDPWbW>Xr-i&E?|3G_-hL!WBXTV{SzOdxekxg zgT?Pe1tX8O;z!!%Q7C}pmRBcU=X_t&=oVE6xV~L4s>N%IhQqD~4d8w$d%h^ueZck- ztX-g0NyhrTt$46ji3yTO3_1UeRRiZkS^hdD;`_poYTtFv+_oYP{zLz9ZVl{`?TcD&@{Z^MFlHhBK z(Qx!ducqVf#8*Usb&M#}Gn}`|acyzRk&S{n-J_{{aX*ii?M^%M4_HsjqSiTKKe$Kn zw(n((pIM&UYyN2pfp{sMd=`bVCQ!JMsQ|cwK)N&WC7eG*?;Sdtw~p3bpICk!bU*gS)x>HS~vB|I#D; zKM}-`V}2LeAS%a0!aD%-%DUH^kAL|hNvp;D3hXb6{iS9Ku)TiKP%it9g~O=|pM+4s zICR-s@v5qNFyj4rsfiJvQx9u1wpmFxbb?WTXxL2w&~0P=XS;mB;GBr4Fy$T@7(r~``8$l(yqn~!MT4{Q=rr#NUkLYq1gZ0w0tqH|8Y z@#ceAu52t6{qj4OJ`LzEYMbIC@P5;FlZVf|I>Gn@1aeteAFYXhgu-};#zZC1ch5u_~ zQ)GGb800_DJ~JH{i8!_%QWvM~(XTI+;$|G!uNv$R87*}|DFRai${!li|V*5pLk;Z=Mt~(df#DO zXRYwJ`;62su)E>5Ey$sZ#`7E)Y4LpO|5gczR$;uVTKb9eq95YiW%+uM7=?Bno~-@7 zZG+y+KDttj&xOsx{0eVifKB=8^v}MTWXy2k{AJgkyT`H4&+NzRRAmbS+?C(LU+O~(XP|H1w~ouaHwbS$ zv7JaqqU41z&fM!Ke$4Er6H=&6yL;O}8@ZLL8s0v75)EHkxu}c%VZh(NlkZ!ckz5vw zo^ZDm5}taI{xs(Qb=ztKkBInQWi&}uyche!BRBcQQ$vts08_ZbDR0`iN5`C<`sl#A^u_a-FB^rqFW<*`BEt074fg;Y z6n-sI^!9fPpgED4pq3l}7y2$nea8GAEI5u&4k0&2}&F-Idrj8Eyc(-`{^3 ziR1f;8s_bu*LeS=KKis!>kC2L57qnknZw@1&QV+3$EU?p)u4_jS_;AqUy`Y#I-IpK+9owlO}WSr^v)fBhJh&;RsBl?0-= z{U|A$yasEzebR4_7{DI#QmYCl?q^{t=W#?q95MRRh~FL1M$K&Hzuqf~?WJ<>H+hpQ8i~z48KcWI z0}n+7VVA}0P%&m&O~Lc3|At(HFb^Zys4L|tMIx)`K0iET+)!tG34_IuE6zK|q}1W{ z>G{;~IkP1g#XjO?rAZV7GX^97NMV22!z3s4663nslbbhw(O?{KxtsJ9>%6kJj@%3j zlSi2E*tKeAywdW%GTVv z7vta4?ID@%X8I8Oq_mc%NCjn!Jx@{Q*F@yVlh)@j&;6Nn-2BiEb#yPF##Btv2A+p1 zO}s0UL1NYAmq#%^jP>8G$%XBum0&qEUKR}dl=72_fu4~1ku_^-$Q5yP7}v;QJ?cQE z1dZt6N9V;eZq64&QOV zkA#}*)wn)6+J>#8NE_?VM}9$Fix+D7`iX99*%9t=XWT*+rXVMN|5(@v#w}C(9gaQ1 z@lcy|?~{`aQjWgLdXz;DMy|g3=KaV4c(Vu0t@Lnz5*u-U137#j+evVmXDbBXV=5xX zP5VNT=Bm^u%)5N99v8^Qc)V!;6_00{Hn86%cyY7I3F-X2Aui!zjo9@KoR~4MoT6`0 zpSSi!M$MXqdpP!GjC&52P`@7bHQ{c=y7_J~f0^`Zv zBa&515Vn>T!hNI#-7C%Y`K+>l##S?kGBUXFqH~|pGq}F5fl%|7jJ)i36yMC4gj>7~0!KooL8>m9g`JxO z=N=`hR5(pR_*VLXJr*S33)5m<___qLYtmPpk`NNV_&$;Rjf5K3J6bYn`caV;$xG3B z84TX-;=9IAM3jF0SB5$y5ZH0?XvFm?2pQ+hDik0=G`WxdDqf#c&dRM3Ecki!`!{#% z2reK20U@$icR$wGdhcAdUxuX%+$eu15$TQkt0~%&U=JxoO~7FaUJXWGkUC3($Mww1 zk299QEcY)eXL*G}`D`n_92ZdBf<=(q?*Zhl5VXA&xD2k7>Yp@>CeX}KMyIMG74(uv zIjiR;Q2yDzgtZHaXrIG%7J9EvNS3a6kkUhdb)ns_ejKHu*8i5wkG}l?y`fUiPe)Ne zFQosWe=`wC=Z4pxaZn*};^Wvr91;0`{5l!R=z`X)e(J0zbOD9Ij_dI12Uruaep!5p zin^1=nii!AK%LuFF_A)n2i2!W6hw)Tb#zg}{1g?uKCYZj^CqJHz3GEK8P^bv-fvDP z;V!7^d@A@xiU5Y3p6XiXsHp4R^QJjT0w`DJ?(@U{!+YlM$165OI8R_aukB6(#|M); z5{0H9K)2*it{@32oTBgbmoLHEC#L4ZLoKL3YpXd>aRKEtEQK4s?8p883mVq0EyIb^ zeQvE!CQz3AcHu)A5cIhDG*uGfAde11f0D+_Z$Y6 zpwdD0id^6;#870{4`&vT!nUH3!_5J7oc-<_H;-j7JlBI}Dkcy||8Mr!g%hB%JhD%% z{|kB_y;8dvKY}<#KMpbFErU;AdJfIyQK+tu)(nq)4_x;n`2U^kLuZ0&lbiS_kfI*w z@>DOwG3&}av(r?#x(CR|-H6De`?1D*p?G9>YmD*FU?_smOS^ zd`&@v0F9byP9oPRu(5f&DcX|=`%q)?@MS7UR7kEWf1g0>EzCqJPd0MBwV%q-(+(a@ zr5EGw5I|b!%S&+yDx#6hynY(nZ+~EBqJA<3qU-NB%3-@JE0{9X^UPSGTS z@Gddm6zs=nZ_fU)*gFM->;q|BawHgvW%}z~y#()@dJjDxd5zZp>E38kT0lmM_wHFX z^`k$wRws4imq824j-CvfK$1dpMCJ68@ zv@WNfg^E_Rh}mP$@cwDjdUqDT`$yosoyyTh1ckYWcN5r&kjwZW<9ps0B<5nByLDg` z^}Go^+M2Ko_s48hitdiW?F>r#%$@gO_d?UFC#e_rxz*S=`FaAKdj7dOH)9$834~4t z3KO9*OVRgW#TWFhE0W{${Snk;kM`cUu?(gQy(e$9j^er<--QQp??HF=u?1aIFA5Q# zIVEZ~fzEsO>0QV6+QHD1@l=Wm^mJE0?_HcgWg4`cxAX3y5_%mofvR>0yjT9|NrC#~_eY+7nt&tr;vJiURN#L=&{~%wBG=L9A_XrJ zkX3h=d%0LAbTuY#j&Kkln?dpYGg&GU>QH40yi5T1$QBllbP6bIekt6;L4*)p7iL*Mg?t2E1e@j*}yY({2)tg!OF%r?e>yK};X^`ML zPqs5De+ml!>KX;}k)USx{aXj0EkU<|c4cP9YozQg5=)P93zx~M{IZe(B=}oF{*cWw z(D5aunaxa~^b+o4gEyzpVTXfdbm!V3)>w7gOko+RE$y?-V4p_3F~fx_4$CP0Xf@ME z<>xTokX6!ANk%|YJ7do?1@vmv6(`?mAQoMbq{rtXBeuxF(42_QP{w<%io~E%c=D?K zO(zU&Ia!)qBH(!0vi(DtibQjm10%3sC3+hln~tG?LE?Ff<7#+6J1SbcYtMp=$<4Qq zCWp}d(#v)ST`1_qq1$pDSII#8bx629c@Do{`A^{k|0u|CBuKb^pMd&eZ_T}AGWw#y zaXIS24D5>Wekp!q7FyZ+Bj@!7QOH-KikK?}MY>MCB%UTin|sDwM%ElCWQW9@936$M zwKcu$gLwZhs8j}SlTopj?a?^t8CWxFtBN)v!9kJlGdpoST`uS9R^=fwgEu-(dFBK*WO(P#g z#$6xW@C{yHLh2abGx)}|djC-k8C996j4Jg_!bF>UTy(`WFxN*WY<-`_xNy(<(BL3i zVKy-~W1%4X-s+`=?@OSk@ZUl~Ss~AKym?N{A4L<%2nR{Y;{4iERx0^-|}S zC5Uh-i6tkA_A~l#PA@C(=nO3L(Eby`@l;K-X`ist6wrp1vC4{Ko)EOyAXT{p!7|JG zVUJ%UxBQk*<(L<2kh@;(5*t8Vqhcc27-#MhE_ib-e*!UO$O~%fk$_iA%50-_3U*Ts zUbbR;UH?e6G^|;IJx>C&0!3PoP!(^rliULORZ=%r5k7!Isr}|0R?F}<`L^l-Y_HHi z0{_XdQNc*>Qff#65h;zk>xDF%qhE*Y5AAr+1?9?OQj-fGU{I=yV;SR2NM~VuZh+&3 zMGTv090fl6(;uLmB|^;*UFUAhZw7qa--b?1!F!q;Z=akYLF=oT`iS8rI9OxTDrJul zHGoT+nP~ytZT4Aa**k#p^o#|wG?t-?N|{2IMBKNX!Q5Vn1k+{>9#1iz*O0Do`7BEU zCdTSSzPC&8>!8e)VEoK<5>54z4dVi8DpELC9@3Abwr9F!@VvHuD;c_+C!#hU72ZLN zQ|OtRWRmQrp!a|@MO2*xZC~4{GlNS|XF#%3!0)x%O|36{JGy|pWZ%*&KI=yxZp@U) zV|+M2oRjT}@q1ko^FL7`Dy%=QI`c)6h@!}!;<6rOpqD#q#~rddU?!fHHoag;1S>Ha6>)Yd?09y`usM~8p3cdY$^>AjJ2(P(os&IzbpJ^aq27Dn@*|8hjdxpK zT(Bpi#~X+tS~LNv9D1?qrgA4V=dF)i|MCG|I2FcQsZ!C=jcAIyH33pD$Xwo;K>^}> z(`$K@2{@DOnp)sXg56B{9@-{TVE$(1?k!dl=yub8bAP^s`;;{@$T78{_Z~0ZkDORQ z$J!>WS<3p*g8tH~KVIi+vi3%780T7BYWCk(Cc)q5WLDd-<&Vf%Q61V=mwzfX-} z9#>)VE=QmhdEbBhCxU(fiM}s6NK5WRk5~9hCLNdY`|Qm!?bu!dCuWZ~ijm-(lKY}W z)D%Q9OYlCpN`fC*6y@4?OYlbFKlgURYveZ;B*)6SfcBo}cySfSo#_tOlNAow|M1^n zzWsRuZM8H;{5VF1mrJ+af4xIQl37O*E><}rPQ@m)x3CMob69fu{rCXZM`zFW;doja zcT~UP3IWDg_B-SyQefzY?2$Q)pFf_tCW3J~%$y1m*-*py=f>;0N!;&Bx?$ijr%5Nw z?ek-a!TgIRU2be1lfm4^c^5F`eFOObOIdrsID9mrJ}+qXL%kw0)&w2X0jqEz|BK{U>e8i zhf^+M5u#L(9I0ET;~}C7VW}y>z*J+-aq)7PUj$g$6+BByN8P{Pu?pvPKqU8_yVc1A z*xuNb5b8)G9iNA(e_VX=W#p@&UcWNAtD-hS9v?` z1R9GTJ=sj|0=p|pV1@m}{O>KTmt0g-Ij!A#ocIA!g!O1*@qYd{RC9+r7vsXeN_v_2 ze093UFmhrXwV>hmd2%TR>92m&caP`{rao-uQpK!_!Ab zXo={np^bx9?p?&hT+1dC(E*KrGea6~6QCxSGna_hS@5p3Y|tqJ2yLEsPQ>=AYTNV1 z)RYLk?0lrN7cd`O4tbJ@^$ylFbs_)xWR&)Uy>UFH6PDOtm)c_7EnsT5vzeWW&aN?^ zJaUu(4nLIGJuz>3MMvGCRz(CQ!CtlV1+##Bh8IcK2a#IH;h7vA{7$;Nueu(NUt3pV zL%T6PBp>opnx~9HNeP|o*l{Ar7hD|sg5%&P_nU{ALuWwhRGBzK+bk3xWmIg*97NAx zy~y!YF6LO!H&)+``_&tgC*KaFWvAsJp8wh@QjmDk4$`kP4f)= zgG1M@+hM%X!@Tkj^Y_Z}GaH=jB)EG*rY01}FP`?xF|mmVWykyNX_CO_Jw?4&pVW_- zeYJ|LvHz)>OSm$9l!#=!QNeF)ukYi5+Kq>aXg80dkU;u96vkmK_D!z?CVA^Lw&~^j;46z zB~icq=2s`M#OgL&@+Lserq0C;ZoHqr$Th5B{(OJ9w&t809!FNK~r z%&(VycSZ{mfyO!hU^AWufqKdA6p7ykBAs&`MU&~4B4B9rsqJeRy}1V zZWQkGmU|mz6XCBj6ujjynLkm^a84tIZ$G0)sLglSKk9ri8gjj`NrNsJFqu+s&o*bboZa;q;lF)u(2 z6(&Bb6G)kU@>97D31VZ<-Hr>Lf=2`U^i7XqeL*wSMyh!U4($Cm!Cl&l9;Tl$9OGO- zWL{ro+P(c~SSPZbf_2E|T3pzMaf0woYK-BFSzvziBgc_{2z_+@*nCWsg7kBl@4B2N zL&TjIy+E`5Y+j>GLq=8-wgS za^u4CM0n@bb7h$3Gpb2Zv}8Ci15uCKU4P;DnR)7V2nSvtqQ748rZ@@yN+>(4cPv2} zTYO9H{T4L$hwC{L&jNbuE*#7As~=?qJ*9hx?K2S!PoYsj5(;g135JsW1wh$vSEpq2q#6$ zw+0S=Mh|Vz-0{Zt5__TcRZk21v3$-(maHk<9lu!iFfTqANBBFRzgU7LZ#jvZr7g%r zE!(F^XaUVyA6*$28bJHnV_6*#T^KTf674;_b2iy)C+uN+KiY0^^6P1~br_T`>}m_4w^X zL%Me3DS%j(%1?N`m?*oLD<+n}hTBDI!Q~a!-}=ujF)yGQKF6hC;{l{n_V=hC=1l@~ z_xJC*H-V}u&QBf|rb5o6wzJW^L^KerFFxa$gL)XweaPnOfLnj~S>WRF_96H#N5aF*kkD+-GOvW`y| z_*4j+(w@NjrE%g-)(ccLt|-rzfORCT)}FODSZAyF{J{Jz)>i{~uOwSbQ(?9yPq_Er z1lrTTn_@0xg(QEaEqT*pUa{hT~xBvk{bz zaTMdH^U}X!DL~TgItqH&AN_b|_5rUm`ux|x#B~aO2@yvk@%dj(c8W+MEkW8IPIV)* z7Gx6-*Ps3)p?K-dyF5w#C`y3U?7Z7D&`cX-om-ngteJn@8!_InsOGI5VH!dlA(fIp z)F^1M?p)u|e@j3l_#CeLFb6JohEh8dN5R8kaOSfX5h5oaW+%QPqXo_bSI6GZfX}YX z-v3TgLA&JU?LDD5-se8qfBUB^G8IqVds?Ooyz73a$xMB~c9}ogEk{Kc8vNsw4AI!F9p2-QJpr%sOa~+dK?L{QB=T(vEaN#D6{iOmJN0 z!jH7{U|n6h>EpFuLIl`KY%-O=xVNlEz306G5%$|nH>=B2fh9xx$FKPbv|urp$yIR& zxv>u&b;5WfIEeS&{%ZuV`sAeg9MWm32C(kRE$$*Nj){N9TLLdRZ)+2^(`zM!u3W!Hs0&CwU>eR$5oj`$tTF6nL@jL zsRWXov}kA-zaa&yyes74Z-`x1liCWBa^;|v+IV8Xti z+ZgLDRtgitFLf!%wpfp&o|O!DUfMtDsG5US1}0XQj#22;4F4U5?c@F;Y|&tmj5hcp zySdY5fOF`i%?G?bHR*yrQvVvzNOEZ$y-77>^0%rC-e^EcZ1ZwOcwUr8*DvMp7lVao zX^wr*V_f%UV=ZicAM_(MEn>fXLo2npKDl^(isJ*0HLE^Hd4iv-N(~e%M}0Lm>~; z%V)r#fp=VS@Eh_x$*i6v(}>vE7&dP?JqE`&udDb*pCe*v>%S_z&Lvx+mT5lQsWW0ji1)MuTG61O_q~CxR=i|zO;xrW%ASLTL!Z(M0S2m8^q^Z zq$4LlQH})H(iU>O2c{s%bLU3r2@*tEAM4A*`cJNJKh(Z@jdWuhV|1}@oZP1O>~iw} zqM?`nuM&^5w`8+poQ8*L&v!?-T6aWgtuY7kNO|N20{ zIJ`7kcAUUWhEDg0SHcx@Fj^8=pNsWymC)19TG-$4)wj-=t&-8e3qC_LwHdHUy)8L~ zdBIGo_J{j;-j}4G%zNu$oGEEoPJ{9Djy8U?q22S)r;z6PXl)d($!QMsE)rqE>Hg!{ zCNkRVR-(b>HUoW1Z*=7`&mFF(wdY^MIyW;-@1i0F?LOqb#ENxeGy0qfGmKjfs^3)L zksbq2*FNrTP9l_D(x1rwjB)0g#LJidGcad-_?QjWwH}M7oQmkh`n;j-@;t7?u$AP` za>Y7i%l3`m=2)Mq{P<^xE2?RfK7on@f!`#6>^LPV?jEFIjKf1NaB z0FHZ8@Or*|?+E70miIKTZDRhFTeGr5V@f^c^@U*jQ@>!fW{~6=9Z@qpAA{#D5e3^WSI4bvsbjUBD zHU3VWz3BsJd671H^ZGJ~UVL5LWH5oAJ{dnA7BmYbbRTDuz7C?Wb!Hwf8w#SHS9)`S z6X!v0)To-&%>k#YT>MGwf2anBsr0f$2)jsr$}mkvdJnWu$tKKzvyrImLeVTF*FS3U zV;ewiB^F($aXy7FPf}$MEgAgBw2Wel=HLT+_=PJbV_;#sHu47BU4Y~K%ee!ek=vDFEN;aAk*AB^?@&lq3vGQhc7rUoMEg`SGWxMvql8khayTX_FkBS5f3Mok(E*0Z}Q|X0gPAc6FfeBY9*sao4kG0mKhk-l09XQ&%2mFmaC=y zAR-sED23vE7`w}bZH0l1@9#Q(RKtFCXf5oN)%GYDzF(PVJb`uMi^^oP zK5I^df8&aCw6Dpy_^cq})4&Xfihgk&#`ORr%MT8f;Pdasr6*sojQf*@Z&8R-op7?? zo~IwyvHBGI`c7dT+fQ5W-2m33zrQ_wBO2qDo|T!HaIBMLT;e2}h0a2>iJv%Q!yq#9 z7-SB0prEDGHLtGnkb!72UF(@Q2NFL|yltu(1!c1xOU$f9ki0_wM`DAFUN-mD)f&&h zQ-`xB83Xb8VhD>0T^>ZcqOPy5xyY;T2lXOKX)I-%vBn~uLZ#0e;Ti$-UEGu=5f zJC8FYn&`G5FVj*P`>nW&@ru;BIs3#6azd&9dh_-wGtUU(t8zs!$ z7|z7fyIm~gLO&r9&Ezjdke9a@b6nWdhLDKD@n0n67JTi)Y$t>IG^96z=05g=5P*PZ-Mz_ z4)+PjgNM3|Hwipcv^Hw#TAw(AZ08A23n*}24T4IWb0qZ7QylX`TxEYDvGOHx0NG#L z_0}k82nFA1spEuo9PgcaI1cz{$>{o0-d-x|h{}&+D;PnZ))qdwMV-iLyIjRPp+2N` z3GEmrQ?ZzoGMild05W!M4~}V@$Kxwp&g7@X*m{+&fwCN- zkiMa6_ag!3L+5rmCZ^-{LFv=x&9O)zL`~)*?DOS(1!74P;Ef%$SI?f5V7~NKRcHG& z)FbEohi|9dgRTtLEx1d&HuVhBd8a(6~(y8(aj_b&TBF6&d#e{ z(I|t!@kLNH6DMrNth#uIBm2zWMuoX~Oz-gLEr#c*zDkiT3@XNd#^>}cXz9p%`iDCw z+%LP@nsQ6n=k6o_Wo%POK=PbY%aInDxHjU4@IIRubh{>_+!6LC$x!mLC)`tQljJj_ zlp;*zlodTSlz}7>Tbzq#5oVw=?krGkqG%^NzAeRTKy zKg&M!#$(@Ut44^26Xi#Zq6biMyUb*7Hwm4iAFAG&IDBvOwPL!#9<{O6-5iu20&S~g3;6jm4yS{XRp6yBd)@%?By(>x2ih=j%ukb%vUGWn9 z@5)Q3Y10hQMPA-1UtNr^d|m9m3GdHO^ZLt|3KNim(oS2a(M+6@Y&2mz8-rp`_PUh8 z`<#}xIlctzOm0w{jF*aW-TJ-N>rXP#zinBfGmnZf;&yAe2Itjr!aqm*L;|8n=c=5V z%feIE*@2utqtW~;-8dmQ_vsm1!W%fR+nzMRHs@k&TZ7>e<~I+wpy zu+N4w6&qoG@yMJ0k(M`a78X1amvN^l3e_Hv4BZaTBXF|WI24|TOGizA37+T0)zZBj zhM7ogX5?eIYcZBj_0cni=Q%RZfAPkSc*I_DagDzu3oqCoBFVpxMDO-QM3Lcn)cO)n zNi+_jh%jTY~Q(5t!rnnV^L?v=RyL; z<6qmi5@_h+$#DORXF3syoAr3L84>xci-r#MG+;W`#gKee625nvk-s;Mh7Jfxzf)|U z$E(l1yn`Hz@qd|r#G3!hM4bE8{+QAgV_AcjeEqvM5fh<=L5UMnIc@XB*j|yGaIQjNO9Sf7UGUNwa+b(cUXn@ z4Fne^qH_g3Wv^p$u$Y2r`8*{KEib7jZA{MN`uqK-V?Cih{~(ToX3&Cn248O4131%+ zK(Bdx1N!*8oKu+xN6<@60rU{+Nc)dfladnpP~fY&`%^Vkyie5p+->NCD3yp>9D{qI z{q}&&(fS!&Usw8(aFc*_`KPnfJZb1l?ZVJ*(@vzY=dPbXD-rGW>P)XLZp7g}my<6G zlJHxVPw8VRG{jc<g-QL14lBX#}0I&kMrUR`-h3hJV*D-46PBTwmb3Mx=O-{%llkbVV&>`&f6Z}8beq6 z1K&2flF{7vyuJYOF_ikn{RJ^*5-o{$u*ZHc!*Rb7>FNx}aipgjjp6@w^UMzQU5+$# zGxFo(*Y`=-oqkxWAL_Jk49(p5_*-!AANNDiw$peuxLGI->a+)ABIgT>Mi5WpK2=HJ zxhKv>Ye;}zl_zZ5r$OMk?;ISfx=zFUyqJ)7z;6hB6v>-ukZ!>@pUv(Sg1%MUPW{^L z98~1MA$_w0^fqrRcK(c*>O>5?Mk!06>zif2qVi=C`c~C$ALOnKAhLS}a~ZtP*{T6e zeuVcRd9B$P+>j#6w>J2mj)`ooGwQ>0ss~BKnrt zA-N-?0rHHNO%l}8rSDkY^MiYsz0LneK<5w|^?pecifqNh@l*NoeAC!ye|oAR;Gg4M zaTUIRe}YJRl{nbC(BZ+(EVm>Q;wDBM^97uV?j2)FJ~)Vme6r>?fL{=#Pvup-Zoz;1 zwmMj$f6Diq>7pKa5=~{~JnftvK`X)Cj){PO-WcTX+~ENI|AgQ9iN#bb|HZj+1MvLu zR^>Bqp`Y?f_|kFtm(BRY8UvB{!8E3ewXmyO0X;ucK@FTnc#J zhh8r~ky8bJk!d3NC+WZdDiZRVaVRArSDx_(<(e7%!Z*U|xE}$Bgo^#ugZH^)^5B%n z^-j?DB%hj0Afg?qvkNb@8}arVf~)42q2D0YQn~e+hFGJfzHo#Nq1)$%?;Wmd!QZ(1 zZ%sknFJTJ>)fo>n*r3R zA1Q4O_*v>jA^VGMt(cd5h}&Ov8mpk^9}5mr(Y)&=>tWEvbw$d%>=^GvCVjILT>~U^ zlk>>=?F&?Vx4@UpB6t7|edg?mjfDC$|0Unss1;Yeq6O*!f4`{H81&yB&_mMan>RpT zkLvjL4s${$s_k8p3<8~MeCW*8mR2gxqfJ~8fPT~M5U+35;X}xi&3Cz1pcP9dp`FFo zr*W$c>-7_`PDcLc=&j-rgr*o%`f@wb&l(@+x3JCuw~Rf%iB!BPC?aqK`rU3`hqbx} zhtM~k$GI9uTCiT5pwMZ_X&lv@C>%I4iN1B4?O%ZN8uxSNh_&uQI_z3a(x4;ws4rY? zG(yGZDr(}pk_J%1iL!GuP?xyRdz<6+WHa6{2{FpKG>rw<=&$OpPonXFzYm@P9<$aY z+0AQrq2G_FJ`h_BIMNu3pVTzUA_t8m}{J}Zg72mIYaMEsy7@Iluz zbYra&tyuL^QsXb+U$3Uvhs;k>(Z=Y}@aibaf7-RTg0_`F{mGYv0|rvnWf@a z&JD45dST|n#ze24a^TJ=2WGacSU`u-rHCA+(4hM=C=#i;Mm59|C#*PE^bc~JV&k5@gs zC3v=cWlNkt9T_WKFuxpIjAd@CpXLSpb77B}#AIv&(s#9xeUp}fJ?##?Y~qeZOid%= zU4ReQmyPL-fM48bA2>z=JeX-{T~_xp6Gf$4aGf14#D_ldSxvxvU~EP6)qPI!=)!Iu zbI<84Tqt&b`C48SnlG?UPltT!^|LUb{015O7d^1Kn_GoeRSdcRD$}rlM)A1=N)+t6 zn>GBtB@L%B+f?+=@6zcG$Q1JcR#&E4j0D)~qxmtp z3TjUqEVFt&gj$ZA@gz62;FXKNE*yZoEM9~vbz^k3A`ZoklryZy8%Qwjh?zfU7i2?aUQqPQoM3>b$Hx712G<)E@d|=#eLUp zKVF9UcGBzYV}oxK(5i3$L58hN++lW%7$p>g`dRh}al$@7I!n-!0vzs=z=oY)L z&XNWVFEZb9>b*?C3G=r)UxEIa(x_5@o4Ek3=D8S@Aay+7Rq(V?K<99gztX1F|rK%6Bm9{OqZ5`(!87GY8SGx zGToE@^2Qj{XvjKu5bEKRp<#q;@IG(neZ1@P{$gw{!}uWQLk6<>BEb@yP=o_NWu!j` zT=%|JXy&YbJQ8`yc%5fD6K7;>!+OS1XeC456Xq-N-o`aP*M@nV&VOJpF`@)_1$4ML zn`fdfkF#z1^d;B|r5W9TeU`tJ!5>qQgj}*d*UH@*|l@e^M<+1H6%uh;a`VZF^B%`E2txRj#Ec{(G zukFEb0y2KBnfD6Tp?}jLCALOF?%WkoS$Q+q!;inuCWJ&DLy!tm7Rx(2*-Xq(+9z;(VxERTKCY3Ss6`|!#f z5;C$8<6^Ct!TQTwIkaX1=Bxg}UJbY=FfOXPN~{wV6om)xN+u!>j@yRmvW@u23ucp@ z&q!GEddOQRz&C#$l<>ZWdr|O2rrQ5XF`n@G`@}ym14-FT7jm~1;UtC>|Nnn?sBtQF zWpP^qvf6RjhVEY`zVy3Arr?l=090pej3t;@UQXAvgo3Vhf#o{jtp zvN?oRitsw~<+B8cV+K`gJeNh|kV9)u^u^E|y#M9tZ#QitkmN+(2l{O$q4jKu zh~ODx{0#bN%QO779Rw0mh_hbXQ#ON(?0;KVmJzUj;w}MgUm7yFA+8WA--!lN*R{^K z6H(Of&|f#6G-885pIC(#Buot2lz$87dZlpcUg`u1?KjdGX(*k+cehsJn!*W~yyCoW z1w7az@0{=vs9z`U^N#rCN<^*`t2u9b8}Ny5MHB}(_d7NrvdM5>?tL}dy)c)=A1VIa zv2F&}>iPaI0UVX&e8TkcC(zRj7d#RG991qpl|zB~l#|>lyL}Hf;#IvULEEz=eCzY0 z!)Jki-Kxzh-{nX`j6#a}#~NlZ+cS2zux_`Qr{_)w^YG#Ly^TfU3CJ@uc*oo*)LCelJ)OM|6_MSo;$ePg zNor4cKFsf^BvVSw-qX-?L9u~Jw@ws7T&OnABcke13fE6~pCwgoRn8MgSoH6Yt1^Bx z_}(i^AJw0Psymyl>>FpWxtDQ7a5e!){FJt#!S7P1>MC-a=tQ|{&!2PZ0srEZAJ_x? z95WQJy`l)`b^05(Kqd|G=E>!`b&ybF={t$D1v6M{x8a}JVFEt7JxSwy91V1yoOhns zb)xTw?KzGp5YgkZN3)*i8gO}&SVn>q^qKCxIU)Roh7!N??EmqTgyPbSwMKv!Y*u-& z{2~)@z|@=DrEqV49}?e`RqsSMm|QeZIup@+=9?U!9}PIJO@$B$_sdhtgKsFFhN@); z2AO%uIAiFw_Y`{-a`J9}&kXtWv$m8GIJ-x8(~2z$@%& zwkg|+`%xqhPsN-j1$E2b@zu2_Kw0`7Nz0iF@hk}roaK{6fJD?Zd?%tg-gM;t+4g0?$ z;9DN{Q*Q5QFkf}w`}ZKc&-j&^sW}m8CqH}r%f11>w08gJAWy=^H!>&x=7FBNjqPA6 z%%^;cFYUdn)QUZ_|J=HNYZ_~-oO-zgeb1Qh2MXChXXVnY@Vz>q6Nw!3&U*%UK8duY ztq*v$!{tUo{%7DR;o%uaK@V`9?nUzayH;%Gqn+~-aHitjbgm81Yi-U4eLn-Zx6EEy z+V6QM@@_FdDh7Qt{iT0}-N4`J3QsqxO%I@^R~ey2fajH+GxtA*ez%UNJ53JsV`Zbq zfk-oX9FOERW`*k_Qb5?RpNWOHE-`pGMigj5edUs6%{JMUesuiu zI*0o!3c775c}$#}jQLhmlwbX=LPMLe)Q_4p{Peq>bnQn9mQRk;*sD#$(H97W` zhI)1x?)%QtiK0FCYrlf~K5_SGE>C*{?)@zLY|a?;LosLgSb$en3G~pl_L30sy?C?W zw;9agby$CI1p$AfC(4YyrJ)lc{>#pCov2xcJLc&c5n1}iOiX4p;#xzyY#tvH?lj#B zw+o=5od;7S%prfNabGN6GbzUDg06A3oSA5C#}?&dbrCjY*&GXjy5DjK-+wEs38+14 z{?c?%7S5KHA2{?P7DYK!F<*c@=zGk%-#eX*SAT>M>Z~f!0b8k*4LKUlcCaW>lcC_> zf_0-@rZhbLck0Q)-6E7DawzCz80aKUP8ww>l98BKh~kN83W|4~w892tT;#9g$6!&3 z{%RDyl>%JnchOly8&U89&Cd&;jc8bg*tK)HvJm~KFexs|g7bRDXCw>yz^9jD9D6h< zNcZ!;)-DG!o;ka4$8fU}<%{eo9lT7#fBKrF6ICcUX56;j(3pmA#$yBZz5--W%O9kc zLdA!i@BE%VKt`=`_3s{fQqbSWTh0q!pj&7&GJVoEgXP!~E1m)Vsbz0*^9-dS&l~;g znyUnqYcOMI(M?2Kc@B5-`x4tFi$RV@^$49%UoGYn zAJ_)#5NmxkL<36j=|i==2+pg>qGy^mT#Om5OGdn4ow!kV*O+gK$VBAo_Wfm9c>Bby z2`oS z&|VbfHK1UI+_qi6^dVk{7Zzt5tzY>0{Lrsrd_$AkGz9tmn)T>z z&4mOsOb9INj?cvP`UP`0Jz|l62=%BJ?9VZu=ZzMC54V|zMRbB5sq3hpV$tDrG~b?Ygr}ugEiyT>qBXXJ~YoLMYseP$JF0B1?O%;d7Se3Xfg_J zTQaN3&A?icW^;o<3CK;jfHc-sP7*3=o?`Dkc=Z36-C414#*#hr#k zxkm0h030r=bz-GDhKSDY7UZwZY`{7qx88j7AmJU)rhfZ^ZounO+>ZvRR~$+2(iP5{ z!TudMn4^Y(#RgaRmjIssRVO-b_7LWmYvf0kFcIAedizIQyb<%uk)@9KLqEmi+@WHq zSNch|AI763wEL7p?OT{PXEK>u^2#CL`#Kl2L;;6RhDN2Fe$t7KTUN=-Kwsw3msbA& z;|(6)aZh)B65fAIPv<${mS6XUX7gd6{cf|q`p{C02aD?Wv_Hv0&wF>M`k5Ew<&!70 z3?YsQh_h>E*d!n(+N9t0#cX^c)KK{^e+=ra_*cyZ=jCX-bE~u(;@LAbWA5Zq+~yK~ zv1ua<@jXonGKPE0#IGG#2!2B)yZKrB){~L=Q>{ANr#W~$gxTEZR|4Y75;+BR3#?%> zC!GK|^MlT+@q62E`0M8TZEoJ_sNSsqXn%hxW@iq`@c_RWMKgZC!HOjGLhpIqFS|_4 zL5m`0FU6zQJsyut;k*>hWykV>H+fy3H{yhSelO4znh*O!Cm++w`HF^E`g&W796M2? zTw6H9fHjy%GU)&HXF?-?k6wC&IzYo&V9Wu(R@Z#8-rf zS`U~Wlu@z4>|qbqy=3Hn{yRIP3I+XlJ-vhEO2)ara&@k_RD$2bmM$a2ji598Ba+Th z@M6+|kDnpV<9?yPF-?Ui;C$Z`{;yQL_o|^l4fu8RJ4xP^dq_bRSx4hd>PYCkny{2y z)eNSFD(gB%0B^eMU)cnFCv8_m$7SFt9}l|~houtHnFh*1nahn>Y*j*=Pn(2o^dI{e zK|hIlw_x^X3kiIh|1_V4eYRpQ2?=&3;Ol#~ZEOR)UnVZie?SxJ^Um`05=BJx!bG}a z`9&k{FSkrHmm^_9*MhS&^sQpfoE_gULPB!}x1EZIXRvL+Mari{0;YT(AuCqU(A@lu zRpEI8lIpq|^NXH{!upq(vI84%y?t}-@HP@wI(6tnA*P|V{`^+kM`SE~WvAJILlv?O zLEkMEXqad)an1=m42&ELDx!knMhJ(9JUGuhHt8nqv=9-66E*cy(Xig$`q`woxn!3 zpy9yWZ!Xci`AEr&>f;FdvzFX#b+^a+(P_;m=QJHDsCA}JJ=YfIE8nH;l1d>XW4D+| zUwZJnNoqNi{|V*`Ml&PGLlxNa*EHwXTj0Op_IRS_Ni%NPg__y*Y3Q!ws-yvZAJ!Gt z{59l7#tH7SKJ~Iyh-NreCm~P6bPut!8jRj9bq@!RKc(U8%B&ur^72vYwb~=2fDa$+ zGy2+-){kC$>7UXprl4=bn{OU{A|cVv_s0c+H%+|Bi>uhviS2BD{*lNA9~@D6Wfhf9 zM0;%7P{2$?y-Raaq{kjJATknD(KCk~aj4RnoM3V|~n$Mc+v4L`h zitQ&7wxBbQ_k{oBd1pG|xQ~o4CgoM1*je6kb;-tx5$)w(X^yf?xrT7{JMKGDI<$8`Gv5ft1Pdk#)PO-0YmFuHO zr`WztGI$aNxB3%fAOFB7N7JLeYK&vvW$A~PKQv+C9p5-*jG=y{tWzH$3H~uFFNK^< z$oSz=<0XUXN`#ZsTsyAOV9vBTngaJdZKBzR&76k!?*FaX)K-AdjWl*zCKWrkD?O{` zCL@RBZ5{It6com{tJnzU@yVR^vv)36A*zIV`z*wtw~SYQM*%NT5tu&YVN1hV?2na? z+vlT+2L&ZWh(Cu9mh3t{*pH;Xbqh1vQP9%4kGwWk5I4p=GEx8^`e?nZpMyM@Iiw?c z8+f;8?crrx0s%=&1QjmU5Yc%dv$d`7jrhR?53T+`65i+JL*jwBDyd8O8w{|NZIqWEN>KMe_;r{p8uPDICls{I1QA4RDEv&?}8yyd!eaV3WY-wF44 z`xxTX!`dc`anKVE@ST40Hem)IiVrr@$|c}ebmpx$>>v+(6Cz1QbRxc_8cR;zZX~g9 zqv=LbBeuJ;$g=*0gje|;X3TtPXh)EnXO9mV6IzBpkzpQ}!P1_7>jL;$y*Qr!8u-@_ zAG@zY;4^Ue{W1T2DFx_O5B2i?PI%>r2(%#HdYwXT`NFm@YH|V zp;VmXW|*ffPDXFi&pRfif*vx|{wFh;g#K#ZGy7OMgFzK_;dBrIA0E{Y>-L}_0!Q!> z!<(Im-KHz-9pHJ#)c)w+m`1$N(7H*!33DiOrn4s@Uq2##?R`B;3fmb@~C+9lULR z^O^y!JN31AKchvBAt7aKMm;i{`d!^ih-%LM+e ze%C$I1$-*&kHWxBBL>y`ESB~$fsA0k{-c5 z4VPT$wz~^)URQsM8S*mcmgh;%FbdY}a^n63JmIYh-C>570>pXqq+%oR3o|a$?X#w2 z#LpO}72!=mmG?CzNr1znb{V$4(I~;gk@eMImNQVihBaCQy-n6+S7;sJ=W7AG`%XMg zME*ZjtPl8S;V)VPZIyfC(97F5SzkhZ)tTRdS-ox^?-0J;-+sOnmt7j;R8+`BGdFqY z!oq-$nM+?8gnmkv1rxhveiHgqestmjV>b3mTrJww5RVE4jAY)zI`bmQ9JG4iPeK-w zmrG0V#HxbYx=toaT4J<2E?I&_lQ!;ug6EOan2c(?o`?+RDm1VC%EBSDuC00PvFMjV z+rBkeCs6iC{*9`6-2cbX^&s0ftUR*t$SXSw2@_5!vG|n2cO!2IABX3;Vv%T*Z5WTV zuASb=c_0V3Zy6rrw~RzJM*SB&VI5KKD_e0y5;Dmy5Ml;=xC@p3r7RM#@$SimFsO%n zXO_sEH|hl6#V_^VP^Uf2ahvO5Py_ZF9`!SiAmP#FtCAs*S30@=oU~m zQxBE58#@s2Q{RitF92u$=8=zB|G#eaJ>9xdY(-ee4jpOsU7aRM8c^Yv&A<7 zhu_-ckbMmLAaQypF3oEdVb2B^obQ~8+HCqYS+*5n-Xn{8eozm$zo&hQOFACC^6L>> zF9)5B`*36AuSjIExkt|x`XEy87B3!Zn8!EO{zWymlwc*XWtqx=EM#uD71(nb`WcRI z=JH{mFUYh}4^Jha@2aowyY0)t){X%<&>;qW+|t_I0R0$Mvq@;=_!#=Cr%i^7azDj9D>}Slu ziO)@CBEyr=cJ6F89pD9JY^9+JGbH%VB<_1uK7)N_yNq?-67WwmUZXLHKT`FiZI7K` z&iwfiZvIjt^2`0m7;OOf&}Y(LT%Cj^EKTdz5@{%mw7G8q`UJkBL#Cf)drbCemB_=G2ZYmKo8A26mlUxCx{R4 zFr4m3hb}S2{s^a_L2IjWC#a8!TQDv)L%ml?*+tYE;&E1!$z$bBGUihG?^Bj54bPlB z%rBtW6TA_<19Pf(g`n86?i;r(LBW+n-5CpPeA%GoHuxM)y>qv&@6d&d?8Z ztFa9xKA_;gccW_?3~87i-A(Bz&O>Tadam2EskpX3^B3WFKPvxfKa=~Gg8bBK?$`vA zG2_2teb2>8#FcD2^%QX3TFjX~(oqVwJ7_-{1h`isX6_GVS0Vacz~GqqnTnf;3jK?8 zWEAYceXccug8n^_=O%)W$K4aEl1(t*9UIoVbr$9n@^jVQtY9vHAW3|+EMJZ#-x8MC z700nCzfH6X%+0!PP451CAAD(^o&NWtnuK*uwcI*=nT*|B$B0Lbs?fC$V%9;B2UD#K zt(75vJ(naW4+5U9DTq6|yDA@j4iI=)mq7*H9oP zotszKMnNR^5MSmyWV}O`Dc{tr3LVv)DwKuz{H@05d8RrAFaMoNAVa;SGS+;KT%V7g zU-i3r4seuvaMr=|us`|F&qVHl_#8eFqPz^}rFPRVa0vV)GIvd!oq_ytJlS!j3-bHx z&u?-pt!a4m<_kUR%6v4M(q4JDf{G8^jL6sz?@zgQ`M#U?D2U=*5H$yL+4ppV-d$+{ zpQS=h)0ll@sCTFLol`I`Q;0`}AKPO#&Z9-E;ZT`gzS*Lp|+Jls3G_q>{z> zoqd>X?quxwYh%ds(=QXn8)Q_JyQ#QxX$+0L{HPvZIEie+%G!z?zT?liBkmJ0$I+6l z8T;G08N1&Z9u;^-LvJe&YA8J-VU{;zD#?r_bSS=TD-rltvs*8lDDdU}^QyP1s%c1o zQA7CcPXao2)^w8(@cf*WNs(??13n|59WpOO!v3jVzit)L(EG4+nZ7P0)FxuO(M6oW zSEP#)?K}t=wYMD$NT#8TpHaj=e4WU>5*0av&gx)oT)-RYM*KD0TrTGT2~R(9yk?$5 zLkhH}@rUsKDCsh`xF}X4nV{$A1@6*t-M_=GW9KP&$N7nZOgOKne|~?|jVMH=WaifB zLMj&W6v+G|1HPvBiB%o)6hyE5V%ImAiwZR52-*yUITyiZ|9J2{IMhb%7i^kDp*P)` zMmR7&b=x#_gb#cVA{Jv8tDCT{>-XMhz~R~YT|ZR8UxGkqSb6<1_*H%_;rj-79tmmm zO0kY1Hmw_h?qQRt&A!%3Y^nlJ_dYu*bbB0g#;IJak!Z%v2e(`LT7b`_m3+<;_z01< z_E?WVf2VJ*BTd7v5((;u4C?^iI2T{Ft|Ugm|9@e^3y@L8Q3b67(8r%|^8NSuGxP`hG(GP_T_Wkf$vdJH0^YVboZSaJhM_ok`T*d% zk4oElub&{IVW*a-jGvC`v*L(boEu7PaF|lu@qGJkFgPNx;KU!yd>c*&TD^rApTZpN$$G= z^Ef##M|p7g3^v`h&4UHzZaRjx>g(SDPEYSJ;VbDxmmX0TA3(o*D#Pg5=riayiP@_x zrb4_ZOZs99dD-=d-P7?mV<_Ny4(lZzGBP-lJk0}h^md$w&H583(V%@u*TP3V|+-%yHvw6WugjDSZt!AX%iL4C0+8AVI?Dc zC%MFLF9ih!rV-QrkJyDa{5`mKwmGE>wU>v;LG>T?>xN; zbKI9C&E#|+c8N*xh&g`UNMBexpaTd>?{d8kiN&? zc?mufh6v0~+rYheLwh29#KS;uyzi>}J4tTv2iTDs zJPrOEYJD->Rw7j77Q3PNEqMeDI(nEn`E??-+X{uBV4i5v;elb{IPmY#uOa@R8#MWN zK|=6784pDhI;O)a(ZR)wNq{!`a3TlCR9aNqP_cf%P@%1aLc5M(S4}Xn(q~yEw!Uz zA-O_lZwhon4j46E38UiO=I2L~SNjouvsHR{go5hk5-x;4A%h?0iIe}0R3Ss>|Aeg0 z(y)eyAXle81?Lx*+w}sj+q$P7psb#c_7mb4Zo%^`m%oUqU++g*R>mJxep1lUcG&_` zWiqyYbfAypd==8;lF26lKGgfcMHE^h|zAA#TU+@i$ckE0leInlFN?izMbbnZ4lZbF$e-HdU>BmPMTPdj1ida!w$z<&EAm?-+)HAJQoaJl7 z3s5Onv!p-d(-zIHu@`0i=<{`s?3OMH+7+&7tZGNbk#s9(`)^dCH)?kd3IH!CI3w&b z4!l6y@0H~>&~KQ(9No=$5A={b-DM-8PRo#JM4b5AkIcW_i!@B3p!%Dk82G`v5;qrZDDKcQjqdFC&s%eiR2HDn|Q=3oQWet)9|^`k2f zy+$S!C}_A$@y4TjfWyz+>ov8)i)TUr_mO$`py8U|m{u!Mgn59jk?j7J3 z=H=I-jbcqWZ)-1NG=RE}LFUt(>wVa6;J9m_;20`rxXFGR{GwV=|G#BU!0T*s7i~aa z=sj4O?SXZ-K@#>ZoALV(=D9C&PTul? zx##EylIPvan{hVlDpIs1Be~Px?u&_i#{|=J#xJgcUWzTt-WPDFwALjQBo6cEl~nU> zo!}#6ig;>{j-kfmfqG*5sc5+Hy-fy73s$e}ZP%10qfs@@FNy}=aj2+Jg*`vav)ImG z`*8w%ruo-359y9$h8BmyueC@ zO40UzG+d%aZ*>>$$Cc~V#BfrN{Met4hwNgm`SG^eravsL>aNiW|q}B&- zmf^YaIcM{eG}QO~zAK~t7+O1@$e9o8ToYK|@OcM*p60Iyo58nPvi`{-vFp{S;oa_+ zm%x|j1^a+PH`L=A(w=kIe(gorUde^QavIII1%22y>xC=ySkljYn8n+eC*>^V`%vG# zm2-`SG&J?B{-y5oYGj>mZodzF6R#LcjmJ%pu)$NZ$V2cU=OftBQ4OZiRs-8EmU}*! zZNMQqRFXx@~xH^T;Q7xjMr497C1HwnkiVoTRw110DBkO59@Pc@lx(gOcDs8~=;C;=NYqBewhh$*WLGn4`x#C?8fU}q)qN~ zk^>({F9Y%x#0-2z%2*-8bQW{VB>pOad7c{%r&F`{&7y}EF=l35)u^PIJD1+r61a9WU-b4-)u*!;d_spVpYgw`|Bu_hDY{f{Q`Z8y6^BRnFjvGcOD#9sYdDxOnwYoJt+0zROK@=#3zl#woy;;QB>|t7J_?0 zeB5`~jqHQN>R2Q9-tFQ15d!`%4kbM4BO%6-WHy7-CXR2o{;^o@MHuK`Ec*C($# z&)^ctzOt%Pm~WA%XC3b7#oneYHW|Rrcs`yen+BZ$y&nD{<_&yD=f97i>q#il%ulrz z`ey2P9u>t)HsTP~S2nDnGg!#|{*k+&hpXi}bD^Dwg#QU=Rb`|Su;`1wk9m5aE_qP6 z|0eLgbIHAD8yIF0Yx?Y=BT$!+;%0dLmePaT_judCf&2A5KSqTK?w63i&IX4270RZl zcqAeamzKYxxxbplJ6PQ9V+8s@Cv1Ls4t!-V`n!9c`cj3on*0ghIeO8eMYU=ke;@XU zdnAVOXM}_^<6Ete*i_ zdS>)K{MCcvTidwbE`pAsv?a34s26eFevLnvf=}30VwI`jN32D^|FTr!EM_rjB}Sj@ zLtX5ST$dYY$fntu=6b6JsoQrCzi017Einp-{nFqUJ7XElB}+nrmsv*^uTP^7HY`~& zN5gQ?Ce^CRcNP;%43$@c;X4Rc_L-sJKk&NRBXVYfhRlC%H!B`$!0RF_${O!yFi*hH z+G=P`wSBV}?|8W9w#OI&?`JaO)(1UD$acAZH4mYWcyx%@nMOiZfpH&yW`Qr_ zq(pp=PXm7U=6jAr;tU?T9%RXG4tV~^&B9Gt5*BYvePaQ--3Ia0@WF;=OztxKl=3Sdu$b2xfuFycBu#5+dK7-j;9ZQREk+}fqSv3nas-yK4CkP-vzM! z@Wl~%n_CCJlPq_QFHo<%sZ{>QrxJyBcU|Snq2YM#DwixtGOEIo2CYjo zSew3IT z`WXi;uCSWUw_wu+S<@u&yC}0!*fMFMVveXE#@CNcWA=yP)j2Td__@}8;-%97Y8YQT zstf*Xys2-VH7Qe3xGD8J%g#OoA8N{3U~k2COm46DmyV!Xcc)(QR=~S?+xkz#-2YZ- zm*UB6c+W?aZ?oDCpn)yzK?UFeuSNE6c0nFITB>8j`l1;tGPAxo2Rc{HT|Yzx3M;Vl zsKKjZ38;6ZzhIyMo@|avoL|=)$LY6DUu_WT!wC}6ZMy;gIMnOz{4qL-#JFysxtZOJ z#qLHismPHLrLMB^pD@PUv|aR3%;0C!Ej#@i@Yu!ljPlyo<2YA|l-ve<^xe#R{kxSS=~=LiUxesC9?T|^s;7pB|K{mvG zl)ckeh4Om_i~crMp0LeFG@o-pnRFC%#pQnVc-IgzT_oLcbD*M>%`;Bxc_eg;)8Uee zT??jvR=WM`6!?oynz-3DQ?cz~jokJADST%ppI*$n3*A{_*8agWfMR2PI|@>U(DIsl z*SHE5F@MhDx(?^Xdxxhi`AZ8v|4MH6!PXIEWG*MQZwlt&LL{8}_fKQF`nyNw=D>fa z()-V4fdP~?A*mb!=aum8Sf3U<_?yP>{?E#w8QY65u&+a3(_Mgrl&4yb)hX>CuZq*q zv3ud%Hvs>5U;MY(E;Wwx_b*dz0srK2-(vm^_q6m&_phhJlgO4@OB6F{#*(`ubPV<3 zdsiI-9BtqeC}lNg>U*AsNCjI>9^hjdQF3EB74Fxv`uP-t6%uBRO%D{#1%KERIbT%2 zgWq$&WBSMy@GtLww^+yChu;@*vxY-n-pRhK^#|@n!H$8jE0^pryEbcVG@iw5E>cam zAzu{SzTnLv3BHAsB4$kBr=@PNx_{SV6OR1BaBM;pe%IGy6vGQY@nL?u+o$$|uhQ-- zO_JN8?q0d6^)&|kPg8T|B1QW!=MEm`vzlY*Kjj)T<3E$=kbb~k*SaSBDD04h&s8!a z*B)^So5OgIpLlEm2h8cPKkj%BaYN+Ha_o8V<=n@N0JNoC8)+_wTo~(iqMH z{^iZH6u1s`agV>RbP)8H*&mr&!1tmYhOcBhiS^;OU#3LOfL;_=Bs)I=e)F3Ck^hOe z1>v&~9+OpvCA9Ps9P~7%L{OLEdS_L$|(4zvj{6+ z2!wUoWnVS{K0L+k_05jK6&DIE{$1|{-^mA0j&x~4oma`1*SDL7MC_SoHlQyv!vC#V zcC-h1uKngYu%izzhN{RjyMmwS&xCwomuXZh`a@zh)f>~Zq>{ZyB3pLJ zk(F6?9v(9D;E|D4q~GWF2e|HY&%NioKkM~gBH;S#+2u>Xv#J{1aju&OZoSUfIriTj znEj|8{fTU^vmk7^nBlu1tBt;xc$1~61>lam$>9ln9tyf)<42uW})BVW`a-^ z)KlzUxO`Zioke#u_McKJmLRx7kF?b z!9MnK*<(Vp5&UWh54z{t$tc00TS3h?m{p1KdfG`k@%k3t!){_?q*ed&HWm3`KxP z?LTl^uDubxc=W00FxL=@T9q~$gY&I!WGH;a1N6o>C38>Ug+F~I!|)lu#AlnM*ki9O z;`e3IfzK>~dn?C*a?&r6vemogv`nBR+GzF+-?R&1yU9 zF8I<&_}#Mry*F+tP%05`#)g>J$BeepL~O27`Lh(DA5HCyHalKRHT11qCRJ#MvA1+HhAh8O0HDMjoN6$fr z8*$uF9S<2ob%}@k-+>NqoOL!n4SDW?ri1qmI4t7$y`?$+3d4xzP3zz95I42`q23<5 z(})hOdFzC3enYE|Wf~r_595~NR{O_+pvPD=B#IzYXT`BD(53YPs~x;^>X+jp)(cLc zF9m)0409Iz1|I||Ytx?_3yr8Dx5;83?+~IXR8bR!>*UWpo}YsIp_lUta)j&54ixvd ziALh;!f%Zr9-w97 zk`X_I^65rJ*kQe<=0nO@|9gUUQ*{-aAs&<-*5~)UKa9RwXz_RCk0YHZ+m|$Oe#x#! z)f50vx%U;r6Rvx}Pid^9KJ;S}v1fBF6m>)0^by-f3)*?SSE0-K8t}U>?zy>7%5V(D zi55%V1YYHn9_m*&&j4?X{8npY73w0!w^RtgNAnUXR=Wpt{l1CQMd!vyI4APv*E+Fz ztf7OC^^EnQZnsq0v}0o^Lh=xc2IQ&y9S#nChVMP5#m+Wgy%TSrdHfH_IftTV z>u~t%9-|^@$b-Z-UH))v8U?q1RVcU<^wihohVy9gxElPL~-(S17 z9??%mVpk%Plrx*qX*%l29M&P^o*G4^b88s$Z#3P=`8tFYPxVN*LR{dubf4mq_)~n! z9&so-FXAwBXOjU#;AOki@84+!A13YRsj^8;s7y6&I~TsM6DIs?8k*p*a>Rc}s{#B0 zc1L7+;JeTjDNUD;h{DWYz6`p*h5L~-TvdcP_q2J91r_kwgp4XS`p=S(!@FkZRCv#` zDcf#{JqNx+kMuWQ!XzrbZ#Km}1bxP)3fg=J=kYB{`oTB8edxWunR-~@7#fbU)W`%M zD7zi6)V{qW6r@!4;~udCS3Zqh`33!I&jP-%wzXkgUedO>DGL2Jf3?;A0Ka4p@mKr8 zxfvY%=>hgdtrXO0(`$k!K_3cAp3HfE3H&0z30yi3y5&M%m(c|Q654-5a6!_&1K${R ziU>1+djERx{Q%leIJULn;wfBw5#zn?2u#e@v|37!`Vwv!IV;Sh@uD8{_yK{J!DcO#S(1*_d zox1uJIC!deA-V26j-Jsvz5S2^JZw^mh>`LzYP)5be*`!hKbpN)PPW5!o);1sM@V?_ zc(_|U=RDpSIGyW5fPPDMdGp8DfQL3S;LiGB91VF?&L@kI&~oynrZ(6IYKC~bgK8k| zc~=>(%`$~zh&P|F??AnZZOu4{Vjf%E<;s**?nm!fwK?om$53GdwRIin!)sGoJxvR< zXplatj{a6B_-P2JebWIR^i|nk+u9f>e09>2hrH-zQkq&Ttk+TqT?^mM8T=)t@jELT z#@01EUnQab9%xv8l%6z;4&N(wdScm$>6U2*q#cQ9(ewUQ_TL{dRWqrN0rVjwf9tgu zaK76}S9}WrKd=|B^9J94f}dW53A+mPr8qh0jYZDPBBPzb)KgrYxY_!xZvf;)b9C(+ zc59*jp50m}tU^ZjZKi)j!1_k7(+8NS&*0tD?}T5?L%rHgB_JN=5F?uwtmlpauP%3t zZ;}<_Uzv~X{$*X*MYvccpE!x0YvpuPL*Mg%Nh)(!55Zg@A5F;d?LKtqjvH%l`WSk} zVkFG~b*mvik*=S-BvkD3H^fwX7_~ZHl#7Y&#CAhBvIIn@(0A=uI-64@oU8D8a`E3B z-t|6J5oz3y8g6bEta$=o^c60VfqBN$K`N%@a6hSH?^;*chS7ZN9}x?#E}Z4d?q~XQ z5?PTiXFp|}!zqJrqW4hF<9$UAu}>f$m^9$-5U@Rpe4oqjh{5xb=KpoBor#2K6J9i! zvUFlT)$bolG@x%_SgcgG|S`pC~VHqTUp9$P?hsWkMpSTwPcRtEHsWz)9yFUWiE6WjkE zU%(7LlQq$14*6wXqrLZ@_ma`6Y020RznV~1|Ju*Dpnn|6D}3RQmyjf;bJ;^)qNK^j z`32~C1)T^!%gB59shHM~PUs@e3u>sDH6KO~t=W0YAdhtIH&bb3K_l`wsX^}ndLv1j z$LcZ_rT@8Qc*G5Es1Hv@8kt9!Iv_ z{a#18AV2@KNX}6gxGD+?=`p~0EE%#ts^0~936rDpQOhJOB4Ph~9_C8D-dk_ErowmH z&&D+4FoyJkubj>RpRPtv_e~xi5@Io5ndFY^#I;{Dt{a;W(e0ift>1TQv9O9lGph{r zrFk3@EdibR&(Sg=9Jv2;oT1mBj1ch78&)PYo<&p|d}G=`rU|i}eSbPi9Q^FoM7gLY%fzCWl zX{^%n&l8{Q9fP*rMLel3*C`F>j#8+Ff+Y*+I-33a#M~QEBY7smgJTF8ERZUv;Qca* zVfcOw>ILpRzpjqE&ZCv9E`pqQpW%aR6*{9Hi&)$^D~|^B4_)N=e@zevDFsc^?*WdH z_Vld$=0FD~y5Ib>2K};@Kbf@$UesaA&i8D5iqOY&Y4k3O-Zc8GB{VIhFoTVHw$5s_ z5b%(f_4_#BO!^p6NN{S9(4L=pADUpkNa}s;zHPxTSmIfr3IojfYN?RK&!s`UT(>7J zKzkm)?`udK?FHY@V;_aWfU`tX-+j&l&QtELw1dyhn~(ray3)?pH#F3|d&?Ex!xNty zN2uXFRQ~u}y9(aJ;=LE6XSRK@*rOaOkDNtpwdakpDCEPheO>FU!(?=)dP~P(z6mjp zIB!`)esxj&;nG9cpH7v$qcM3ogla@{UaEV{gU`B5^|8->xT}?7Zlx6R>TOYWi!jez zH|=gn$G3>oWBUK_LI1PK(L&Ng$YZO!-eC2G{CoQU-D$>O)eq82X^3n0o!Q5YL?@&w^J=_|e!?K^M5r-k+1Mw2oDH;T(F` zaJU%TjuM@{Gb*swag8TShnLYzkJDOcYC3v3m}4L0TZoKrUZU6N%s{s0`ZMOiOIYcy zO)cXva5i3RrnH0Q2z=a}qxFiRC1g~Ftie7_#^}kD6@4Nefrx8|ao+Uhn`qxRTlL<>$#^YSsA$UG+O;-9e z$BXf@{;EpA*(w~rvR0!2KIvzv59pIUlhB}sDl@Kq)_y4@J-&+-rO*H5h34(0sLK*G&T-a){Tq42T# zEe4z=#%l|o)(l9<;60nw@*e`)-syYH!1@K7()|!It^`i9mqMWT010zBvhx+o&11`l z%fTvN`%qFr#tnY`F;w$QjDZq-SPoJIPaQr9e5RWeHsLJbLm}{kDeOrX9v`|OC%LO+ON0`}_<^jG+Vdnf^kN&?jybzJEfc3O`c5aK)*kT{b1%YMO9enzslw*xn;C#MYdUyTz0~RD=$n3{ig6or%73(;AY}p^utVCo~gyXyz~0@6&6N(7WXW{*niW zkzLQrF@@1Cd{sC~{wQ$%bI-P6-Fn~))Ts$*D$L{Wj+60WeSPS)V8HpW_rW)(UL+qEB=rl`_LFwpf-#j+%4KMgM1zI-TECJoP{`r+rHGK6KBY? ztc`~dfpdPgdE_9}&E*uH#KJ!BGrFN54!W*(`*RSZ)eN@P`FeN}@;?bJufO(!e>fYV zxRLAsb@K(svd_AmSn9swo)=C;#QWA{Iz^`rw{a2n-&F-4asi+24{)7?LsEfnAimfY zi&rs$>p1b}WZ!)_j{cJj%`CW1LcKN@+HVR$Tt6{ryJw&a8#QEJKh`pd1Y=GuW(34G4emXBFKO*ela_8cs}`v+n-5#@QMJZhUR>g z2Rt9i!QD51q29eS;cmTefq=_P52ngOysUQixMKdmETUlX<@)bXwF`4sYb)nfRHo4)%jCT|Soh4p z>)ub2JF#_%!&9DeoWP8STIZWc;OBnI;vLsK zzC3teR%u^9dUI{BwZ{|i?ULsR){Y!UGyG2n73Cl$R(x;ux|yd-{Gb_*PUth)LY10GyTXT2@`nVH8R*_fUa-!|aD_9zE3K z>?NO4Lkxz4w)Hmu0dLPOt~VN-ZO7r{gHR_rV9HvJe)J*Y4A0N?dt)fr+{@YL zGt}#rZMw*eO^9=mcK1KhH>Bhh7ast6^@g#Pn-%CovpZ)3pM&2H8}*m+&o2Wpc}0v^ zoWF>bKXv?wmKsK)cAx$w29BexaPRdFh~Kwo8-8Y~4-71>V-nd2z;ntE2FHVKu-yvs48fqa)= zCZ9ii@2b_d`NP1aQS9D#je8cJGv|*&T50ev`lIlhV-UDN%~8K}RL0QPmgYrn@U1xe z?@-IdLnQP?EFI@UJ@n#-V|s+WUvQqv>aifm0|e_O-+=Ar&rGb*Lj`gX=-90 z(($d9_K6xp^!97}S-=Ouo!9Hlx*-XDqsiPu?Fbyn$&}xk!CkoJVYK&s$|>|TCD}*g z9tnSqW6ukLb1-b_4`Z5IKMIaBcINpAK3T#)mVUrK&u;T?qZN_R)tWX|TJR6mKNIPf zezglz7CzLK+?+(GOJ!>UTS-_fKD~mDWgdSV{bgGw*pKebZRwX8jG+&t;_JH4m#{x^ zulLSY6^^1^UElYp1P?BzlW)NsP;K46s4AXiv|8*z?#anO$~ztmonZy&>SSlA?)40$ zub*632fUS`3$y%$P~cmqXneiSRE7QY{~3GUDZyG!0^Al(Rrsd>qkER%GCHDIK`pVB zgy=Y!Rjs}kAPWwk?0Jn0M8RF?5Dk7XLank&$4keNb*sGp>=hEKxFHwb@)zcZsZNh< zZFJ$;Db}>#&68*=_5O#Z_at1G>YVd|AHIu!e|qsE%p-@CFW1|RAzW~#mnRqeyNkvJ z19c%EwLtR`{6f)wS1&q$$ZHivQ_AL#Pa^NRShY88Bs_aTin)Mw9*^%3`kw#?vo7%0 z@lBgCH22}v)qfG==zN{~Lp4>X>pj2jl;k~(wC8rN9(vY=ohmdo4@^xW+EIr32eAL} z?$lUQ!Ta+-Y4Eq}NFS2er_D^G2k+s;^XaD`Mm8k=Yt>}WNYfXB=lFEvv& z)+GO(tmIop6Poo^G}fso@z;6D(X>3IR^lrSKN+3WnfMz7`nzfIG>zQjC0rU_EhhD; z3P(tM+ltgF!M*+*W&V}bn4~Y$KEkn#LVusH$+pi#w9kjakKHUpyMiv3rNHBGJRINk zZyfkI7bp#1fL`50SD5Ji0d%F>paG?03FgnX?YUT6g(nI)T&@W%qt>S)$HODiP~cOI z_T>D0bgHcR#MQ8L;Qfo`T&sq8GzdewF0D5~&xhFZoo#uEHk^+2&kUll$} zmnHK~Y#Ff}t1!CrI1&20N7==!3s8B(c4X<3478vuN+(vfgbxRhDI9>8D{?8Blgbi& zwxjdr=O+kA9sSr+>+Zs<1UcWCwn^k8G9v4mi70+ZMx05HM5m_;5PMML->jeMs3dQ#Y;PZM7&{tY_d$FSyU6YS?J>j? zpLPPy)D~l|ihAeNebw0gaIj~s>@w1wHsb1doPma2Gj}~+6(FB?`LAz#L7Y&<|KWNT z@buL3k~9i|pLx9^hzj^0nno`>doC5@tLzKy#@DKF>~U6_^HR%*nYCkFm?j+^k`{hc zxW5p&t!$r5jezgg(dTPk66j36kIccb<0y7xPx2a^r?0zd4evvqL?X*prk>P=V~vHM zDs)dG|ClGCKKUfvrY`EhtOCAXFQWhEbOX=uRj^bx_;&5f3!+Ju7)FX8Qd`AIWEA|$ z`ELizpM+ZQMf3PB;B)8J&g^!g+I&X{+}Dq1~h`T#3HQz;;lx+t!n(nrepp; z@ntl?FsjU;mV{oHHGT2rE<#&fW|xzOGf<=1_T72V^9#*B7qUy1a9hR)HVawsh3K@} zH*l&1lP_qUI=NAa11@}^x&m?2w+7W)Gc$?EOuJ*$n+1FTYTRz*7^b5_k(s--a6fKb zVeg5sugYz1v&i2)go>G;cTg{f|@U@9QRX#rbDEz&df847vBp=zQWtj{8-L`bEU7$bC_Nm&& zJbycmXZ+Cc3i{A4CI_FMvV;En7P>=kVJ`DDP2yLfH@&#b?Q6+)$pEssP>=Xw4xFX3 zxmywVhfxNzIz14_XUp{;@!Zpn0}c*0m%)5~jv31!+tEH`UgoNwW=6oP)fYa{e(uFC z&atTvU~V&4K6r&Pn2ZKqi_rx@{Kc6)o1%8E3d=p6@e}%1gwGun|7k*7jpe2OxZGx2 zMl}SteN=|YsOx;$k;JA#6mu|yclu`ra`_&a0={`TtzCX;p#r!vT6;=EAzs$Joo$c< z*O{>E_!(MIiJxB#vAqlXVU^1h${+D*=zTuV;y-wQ?w{73SB=g@m7Y3WgYUsVE-_)N z-ftWMd#%~&A_+Cl2z|Qx82ouD>YqEd!g=8{b72TiqUhgju@{qp_k8C3#;4=pTcuSf zbu_yVsdVZY>O$UlkUsmCS3Uvd$!RlxorFA)tm%IAW`rf^r6{Z_KSTH20lQ$ zizz9`pbi>v<{$TqUR)Cksz`(3|HMkmwEG#|nJ zaPNNMKhi-)Q4HF2A9CAqgWB3X-G~J|D1PDKIPeoj@5o)cDn`I2bOQCqp8%I-xb8_Y z!ywYQzZo#{gpBs9Mn^yXf8Lm>qwHG)_;5OhA7Ojgi8q_kv>WvQtjF&Xvt&QuZW%M$ zYz;EHK1!=BVg_}AgyLUM?#{PYfiG`JTur#?7@8qUCd9)&mb`n& zE&}xP2x&O07vcgsc8ch(@lIS+k|)IuIx6Hx)~REl=UEQM$4_s};Y%sP3rkx4Xi(MB zS(h35&<>6ip9VcIHg6K>3(sd;twJv+x*hmC`j?&S7O>{zlN0%e`_PoIf-{3Z@bit8 zbLrrHHhSM*ejs1~E$08Io%s*?7u9lKF+p7@QT-uB&K_O|M~Gaa8KNoSJloTiDZ}X2S(bOpS->S%ch`FO7dYE&p%r7-U=H^7*^ly& z2gtYRKYj>wX8Hp=-5#GY;tp4T7J3GJtp~3? zp1^+StkZtn`8WwJ3<;Uurh+-6loXwfs4l$4@^>Pn2jW3=DC^lT;478L+eAQr)Hiwu zUisgB=xI%6Q+KRM*WlQfQ8ix2$T1A0}x?B?AP$hYLD zO1W6{fv?ynPpSsULssZnExE(|&+LfPopp(MJR-};r!owFs0`m^QenNy541L@LL7IZ zC5FORjf4&@+1QUkC!dPxj;F>(kAe`4%I0;KDlB!0izJ*` zv~XD)o==a+fr)F>{b;LaK>v-}7*hEfOelqQ_q*+B9W4a)_e@!iIn`lACZD@N!`y}4 zzKazF zl@7CwM#$4La-MkjJh2PnzN7hO{gWs@*h9;88o1bZ-55t0=J82GDn5?`;4`GY_k=#= zX*1dM+Q#8IYkKmJaXZ2Ho_OEuKUnwDhn&vct1PvWP^t5YU2 zkGbVmOoE@loa4%rScE!o_3axd$#9)`X8s6c&_B$LU#`jU4WpyM^+j6`A#SqFPIe+e zJ+9qHmZlbb!}w{IrFg-Ypz~YL7zfl(E%dE#gpVOknc$b5u>UA0?1`{~eQY|8GH4y* zN|Uo(t!H<;a6jc2W1o+c$Rv`S#L^AgMAx=^n5A`@!f~QX&S5Hu@#=Ex=P!vD9%m9 zLBf)kxjjemRSlXE41JZMHKC8Is2b71P|19YZZd8e6KcK41{@=$ex_fWzy%wPT&;Ou zjus{qOg^0iPL4LI$K}pA%;h+(?nskR1jB6YAnfx7`EmcwLLBESov3CA_1uC>ym$=e ztZc8njPyJ?kNfr9o)khKhzMn+#h~>V`tyD65ef9O(EjDQ@_SWS>$k?Sqg_Q<<9Jd~ zRYeW%K9c$%4B{Pm?&CW-caxCZ;Z2Roi$%z{-PO(70`l`s5e`Y9!&N`8Z0&`(i9PxJ z;;u#|7M@ixm>Dd=-&$vZK2(JT>hG=7FfAirt<05Wh<9q6b_q=spj+mz-F~Ezi3&Vf z>DtG^_f${usx8DR8Z$qP&UshiURIC$5A}hE61SY^SzUvZXhh_x`Ipfk%|@iso(!~3 zV0=k+Dj!vdEIehS%tD+@Din#JS4~r_Zc6JCakr&#r@YJ-N zs?%vjCXun3nH?!ygowBw6NtieFz*->Mh3Rj4Co=z)- z=YtNPqI`Sha#teSf56+nU#1Y5C-hv{NXS4t&pr94AusXeJhf*od|%^)&tX<~tFYnB z<8ey15*$N{<`x1z5zo-Q=?c)9&70@@U0Bo6f6r%@#pVi-Qr4Oe&142TMz?*^0C+u{ zhov7Iz`DO~x%Uv!gD=Fa;eXo)OR!$?wU~ChYOJ!Fti2cNL@(LH$nIImXj&_$&EQ@E z^1CVPaaAxAJv=KUT+*{cnjyct8g*M<2I{(8?^aKbGPmK$K|WJGf8Z`1{`=Yl z{6z{+zI2ya8p1y`gfpIZ^gilDAL(>yr$ z^;sJ}Y^mVk5DD`RiVQboVV_~t3Y>m#3!L~P>d7-rz4+A0(5RIk11NHwPgL2HjMj5> z($e!lUpURf_y_Rj2h3iOZQAjI?lTuk;7T7Gvbs%%eCFHrVZkDkf4K)QQK$!J- z&c_VY+9U6OZEy*zM|b?S`AI-4-@SLE8?f1hwD7?(hSg;Y{OE) z@hzm-1x!w#dcbn14=D|KyInp>fc$g8&;E{H93*(acM5c-ufWBlcl^odeQ@l7R!l&t z+tT?DAuec{Q_Bn`w&CbpI=Rj#3;2?!hy1BmedusORo4~JnW3$ZcS@^zagy$>l%N9m-b z5b$O0rble=dU5&Ah1*}e2T;SWU&GhEVZPlv6{`gSKR#u7QQ}z@-gVErM$2A;M;dwQ zAD4oEHi5a=2KLq84LU*(fa|YUq{(wmvk=7!K5`u{9?v;J)VZ zgWs7J(Rpnf1NXi*%yFHL+1hIXGdJ3t@biT@<<*quE-L}o#s2i;tMA1YR!TRne*}NK zQ^yZifqr%!{bfB{4L(QKqNQmt@4`ZHu1rh{{IvL{BHpGf;F`==++iAhNKyMo_zNg? zUn^@q!wm29*&A;Qwju{m^CMS_jT;;#nVURv{_Su%U~rVBw+`9y4c+}pMMdMij%^& z>k4q$*JsaX>}$uyzGUa05PyyG8rT2l4t{1!&MmE+z(Y!}*O-SnvVDovT{GqIz0WlK zkai-Y$<+M~xoSjQcgc=N$shP|b8?R~;aonW@Ysu8u@SNF?k~At3;S^e!T6d@HTQ&W4_qhkQHC?x2XkDU zfzIT1GTvBm?W2b4)IX8d^j})QZ^;!ha(l|rPqnBYX*#3GtkC3|>@skqW9}wiZUDdO zveY7-f;JqUn4(1o?+*%8(_eAyL-UO_q;HV_;ou15rUvf*%8%T!^=R<1IC9ONF_MhJ z@^xkTp}y0uo$s*-V(#7s#jz6AA)nxUt?z~eYR7yir*=3L5Oh0ny* zO(ME431!xx>nt3%_k0ka#}iEk4St{#gr76le1^Pn;=-Cx8RUBtn5Dgyp?{U=)H5w8 zJ&aO%ldiV-L4EMbkfA)}d#N&H&w8|yFqWU6z6<*B+y%ZHLqmP&7E58!9jKqGgqJfp zeHlkC*{e%5P-lF6LrLOaBLUTyPQP&gU+|6G$*T;I&$K`A$Yret>JAmo^FN@zqxkye z3C?5vsO*9(UOfx^d8gAABZ@>UBrNz=^6n^}QkeQXlTE_b%k3mdibkY-_^sV)1Q{=X z=#Ac0B!YkK(dj@AGFFaq`mID=flh>&q!{{+qLM5v>l;c$yz~BTjs$S;d_9WT!ruTd zPgzxV>1_l0vlN#pih(CJQP*=6IM(qI(dW`u7O>Cw0Q<~|3Z$I%E~DY*Z z9Hn%A=)os|r`IwjB8iCjO~9CC7tD9-7`S{@hWGGf_#-7Mvqlte5;J!qmW;z}6S99W z5z&1O7lXqG$k;z+I9R&83<*@0Mbz8E?+WXoJOXjI<)tbjMGd@%>QA`NTy4j6c{ki` zN*1uJz50xt0qoCP%q6>*2w1Puk&|t*7dwSt0U0oWijOL1UxR%N-$5^pM+oSiEZsSo zw=nN9k^V35V;jyqF~da$er1#XhfXT+8+g-qd{+?mRsCb_)XqcTD#j7cUn8BptFhH)2DKFEjT3*>2=(QO&>#IK z$Th7H{m`Uxu3LmWZPFz7c_QRPZ!`EuA130oq;j_$m`6ME$zO*3H3{o*>`cg1H=qv7 z>_=sw!w+pL^Mr^K(We$ZOWU6d`1bm?0n_CQG{~YtrE4>aq>|}9@EIb0|M6C(UBD<_ z3DI_s&mm#%F9&{2^osfVnWRz78*z{*4DXL;$3#=iS_8U1YdRa72|fh!%HDFoG4f(#eK8Aj zQtg4mF(z<777KP|19qdx#Blo56!0qjWIjFiAwb`s<$$5meZVJeE~BF*t+<|A>o;NwaanW%@Bz96IsxO|p7 zWcu7C%(O~pT)0w+o8Foo-A69Q>UfXDS&ACW!(I^h|NLRtxf?62vPsBZ!seBDaRKTY z{$F-wTWyfn2_tx$wtU|p1=ce z{4>wH=2O7Qs<|c_P)No-J~qORux^M%%x4DGB)}Uo0>DFAw=P1+7|qg1QXvS+!oM6X}=<3v8z?;nR}` z^$Q^`Kvic^FkI(y!{~1Ka1B23J^ht9=tD|T?Y=Ya$!OSUjnmV#04cb|zGLvtL@A%r zDjlE>S1EF3@+-t&odZr6=Mt+h|0m6r>c7R9=6g3ozi%}TCGL3~%e9Oy_7!IH5ul!v zy`(PpvH}Vk`=S7I*HimOB>LhPA=oXNTYs*^$X!|n%?4%paQOEt1q3IwXL(Y<&o-fb` zbM=6A-B=s8c6ro#DHZ%MZu8yQxCQgeubZqI{Rr6l-lxgSeZ6?_eEkdM+5z<9q0H{< zn`E@Y)x1nqOF-8YdE)cf7E$B!%-z$;ZMb_#$Z98W0n42MA{Lk_vQ~VOnR+M~}Dp-xX zn-UHMM3vyzX6;90U25>Z(bZ56SogsP5=|RonZVU4vc3dyQ*Ml{-}z&i$e31>DFpPP z#}x@z=4VhprA$gZ^RWt7g>Ba636TDS4dpEX$MT*}+MiqNO0P8VLbn~8onXbaQ~ z<)gziKL&CSXCjeb;gKH_m$2`|zs%+a0y=Wk>jOtE_zWTLoGFub{OW=2HFG#GF86qP zy*k;4+T1aniY4?5c|`3s06q5Q(x_K>Ht55ccZU>x$SD8Y!Mo;APx*akfQ>i+*HK+w z&%M!(iK|`o5x~z~7PSBU(x?wzVanFJ7eT!Rv)1cS|H_QGiz2GCLg04I`#m#$v#z9FCO%v)<2{6_QC{wEV$QH3GU~x z%%*rr*#P9FB{tVx$Vhy(^WZJW+iWfjHjYBx2I;%)n80~@|DnxeuYd-m%`yMjcLq4* zja2Kpj6`&vBUJU*0QjwDS4CcieSUMw@2CH%QPig9@%uM$6wA0AjueHD;sYPOkC9=Y z|5-Ht@nCcV3YFw|tldP$t|zmP=)yi9dLw{(Vsrr?{TR{_-&cVSd+|9k0{<|CMZr-E z^t|JXe_AcgWb{&edDZJx8&0D!ACLrnctm)=&$d1I1s;n%b=v~CfO;GA?C`s|nyugb zg*bPEVfswh12R(ogC>X435e>}-yf~;oLj%oC#ZoB7Nd00g&N?)3R~tWZp!tch8V|G z4=0EVx?_2+fd517ch~a|e1VJSmMrm~*Z(;xWz=pK1SFR-sXDu75pn%~o~2RMhX0u_ z`{ce{z~)SCRgdZW5Q`v>wIO_`e0tBuo4g@z`b+P;du#x`KKyU-Q6|hC=o}r*JxIjn zk0gT?Ge)uSxi@op&`0-A+M>__^pE=GNa9Ku8519r>yCquhbVi#Q#2zPe5+r}(=e2y zS0{B%q(Qf^i$aO_I1yVF_U#S14_wl((%1e!cbpKO)L3cNhzx~&WIbWt{Hg0!{tWP< zB5w)M2kwPAWX-Y#3b8Uo;k)mop#xl}R`kB#RU*zTjn8V08O7s=zqUETdL{f<>_=bK zh$05eja=T7am=jwKs0d#=C<};FaEQDX^*xsov3(+G>7AltjdpqPe2)K8}xmpJm+Qo z4ZhZ*>c<>RwK}oz^HJT;4n(9?vEJ~fs}6r^b&FC!%hFDQ z*g`psEpob+FTi_f!63={4c@~|%Z)StpQBFr=tZhy zX2QP({BHcTY>a0)3JH(Ujkg5O68-!m#Y(6bEQQsXL%%seU|IT4bsHY0^vUN91}!!4moTdiYKYd1B2Dyc|Hkm(vX0V>1e(A##l5oJDbR~-c% zmCDw!qcbsr^24kC8VQl{yU%m%|Gt)@g+0I9U+Drr>PH+>g!T*<*2X z9M(&9N`F-Ybof&`-u7Rh4~YjI9eT?eP+a@XjDz3Em_8#=Oo@SrwhmC8^O{`1Adj@Fh*HQ2$Hah%Ap^+^6*s^29wp z(Nho?+>a+Ge**neZ_0A=zZ>P~WEayj5!F$|`d&DVeUX5YN$LhS$AOm;erdr-sU0)% z^lvIbzGZB3>({tnANmsCUwB^=I7pK`506ZNFC5K5o4}3%m@~9Ld)gBEQKP+g2B6Mx zQ#L>~8R|_HI-UmYd)u*Yb?1i)I8PtM8~yNj)`t==4*1bo5wObpCl@wmp+CV}>>O`5 zaP67B^r@_YBdu8NMgjG1KdqY;m3d_3AkQw=8P|>}<>x*K=Kr4u;?d=5)`tWq0tl~R z-w>BBS+1?=#dk#ltFHiWU7&T$$_(mOcwJrcAMp9N{)R;zb{)mHl>8D$AdY)*$)b0P zwGnkLnF%r!lkq9tkEiVS6Ojq~@qhM^SFbfqSW383j`lV)YNuO`qNDs<=|blrZW`co z_z!pm^M81|H(~HZtZ_z3A|e3+5Yn1%j`^{>;~H_0>AO0s~iZU(fg7)x0-Q#&;^gqZWZT@gSN-fZieHpe5Fw{Lo zId9((O9Z`Pk+$Xq-BEVT8>$bJX@p8CFohy{EX`sb}548cC;6*$%Q|9!0LuJ~TvjRw?U^h8>( zl#JQrKK49Ey15Vkts!Ia0V$6!5MRi@NzNRG?`uHG z#{B(@3ZyBK+P}vb_W8jBVb35hZu`$SNWrfPdk*{;sHIkn16n@QbpNQvM~OR^RQAA} z0{=jeT3|A&d+=qR12~j%CunQql{3(YWroHa=-z7SZ--YPKYvkbZ{QZ><9{j9oLjRh z#tEdul61K>_+o*v5;u zKQNeqxNpl+R@Fj1M!A`O8m{wLkGrxT^rnlmU4PJ z&rzI;9t&yvoIg_lTvM@IOhxu%{8TbWde4wP*T^>L;a}V6109|)T`H}u1xQ^ZA zw-lKc;PCe3ZSM}Y;e$3l-|K*%TM+oI(cc;RK=f)%vk?J*EE4yKgY&}2p2imygFn4k z%VH_)8)|yH5}KgHvwVJDZSbkWd&5$N9uyYgN0nFm*uKI0t@Y{76`0>)9wHx%bc=`c z`13tHT8MaJMnBm|Wugf^S9@l7KI4I@jn)wF6qnvEnH8+U)>kgZPeXpb=rZy3NzQ6~ zOE2Ff1)h)Owd`L4EeYsRzH);WLm|4A@Ao%hBm))bTz5HDxrEoKc*klXe#%&w7BYBP zg{PCV+F3S=ap|81&4={W_>w90^NFL&Fs~eX5HlfegL$$_8zJIPC#ily2cJ- zn4feZiQR$z4eEUq+)a=-z7!Xiv3Lf2Y7A5rD&X8{_5NtvK>&{OcQMB8r{LqYDQWK> z59^#|djFj$5f3Su4>w*M#WgRvzP$lGMt98j%nzpq^e(QApYt;r|JTpfvky2z18+F~ zRY9I)w9Wrq(#;CA7|)j+^M74ezIaa^bVAr}FsnJ_f1XUbM(w~pFSzX^NW9*NG>v+c zU$y`T^NVw~$?OPHZ@lw@5B49Q_hRJ%)9;XqWODi)McSgtZlHUEjI`dpe?i8N*&W}Ul!Cm31h>%-D-za{h)guS!R@y zo4D1U7}13}`35t-3o!TBblk|?>GTY~;2$^c*8y|B3^HQtw@qf6nIZ=6O^K<>MN zbT|h)j&@(40`4zCM*Sfb=$04nKk;&ZX+Vt;Reh=7LC-Usm2`)=$!2i*S}S=0*Y1~9 z^W7;!HcM6eLZR+?x3_}wEBLmXUZwVG2_D6f{z{>@;rX~%Z!X77HlRW3BMEenZ@D+y z;PrzB@?#QspymhEkBAP2My2KG_w-v%eFM9_t^a{&+b=+Th#z*BFL78o}_+KJ154&qs7nBy4FZAl&efOi5o6mm{M zT-?a1B@MikXh%KC?~i71Mz_$PsB!}KF4ahxizXlwLhqsEEjZuD`xv^L+psIwz46CU z3s~mGx-$7d9}09c4d%ZHb*tH8)$y`kyhN@^9lkk$ZnM;y@;(J$Jg*|@XQc#m&YY|A z)GirCmql?r%*WG>BIEh*x~z%j-nLqg7rEfqv77x-+(sO=|mRZKz^>W>;5L>$F@=h zlJ8KGu^PW+-u9nzsN4F8(cc(Fk`EWBUF4?Gsi+#AgVVF<0>#2=gm5SJkoQ%02qmJE zoaM&q7~{^<4rf@!fDdWtoSg{s#nj7`NvE#N;2SQ#;=l0@0lHAJ%M0dWmqh*?mbxIkJ5#V>--aj;} zJp^3%XR(Hxbrr~*UocJ;biz?ep(FXwXK^B&Q{E2dm`mDto=YBS!)%lLIPYFx!1P}& zegDSvp_~-bRv0bJwTAKq2t$9bB~7?lEBNhAO26%{bs!_59CSe_ixNZLS8-T zOW96XGx+`eZA^NzO-4T?MHlb+w_~w8jCm9g$0?rNC>?~pN;+2OGKZBRJhF7RTQzGhDvki4Z|qC^+?kqry|{moBA8J9nC=&vte>rB<7 zRV5XO>SyO>rrszD{Hkal3iHSRWADwQsr=r*@k5j(p$JKuBvWP*j!Wiwo*m9H&&NDR zBr?xa1JXcBMT!VlN-AkkQN{|HDpXP$p1b$w^Lf^Heb;)P=bztNzu#KV@2s=VK5O6m z>~r7Op0546uKl`pY*~B4m9Psp>?0gEqV5wst+symTxZ*tzCTEL+Sfl$uI2nI z^5A3Mtw#yFOm^JPv7KKZw5#tods5Rv#GMtUPCSw${1ZYxNKFy(DKvW26{;qmwWrwc z{KQM_ziM|hs3_A2Jt}g2mkR#}vdtkUW7fvo=oI#+SyS+uIHh{L|<5u9}tp zOpLD=H$JGRUL~7#lrX$v8zx6FiLouO47NAdnoBny9c~||b*|4To@zf5bwuM;(rxnF z#_b}}#C}kSD)aKA)DT(!P5juqO>^xp=}}$Pve(IKocxj`Vw|4*r9L9~JO+Woq9fzHV~!XMzS z;5)gxIkFvSe&i=``sw_6J#ncU?T@_GZy)oiYj<vp4G8ZtS)1LUF8B^4V8egF}N`4eJ=f^9k} z1c`9_x)I76GD9b!e_mwutD0-S|0Yf4ETM0FJH<19j_|YU5;|&WlSssqtHg0Sq1P1- z9&n-&_3V46A^4c6=aMk1x+PK1w*FzAu4lK&njBW=&z>dlpN{L}_B)5j3EtH?lf=3+ zKDuG~7-7%-=su%vL##U^f0k_>Er!~Ymim}5Ww_l==vtZ((GQ0*PaU!>Ab6kx9lqO2;F$^2d{egb*T`EQCn-$^ z686ETO9$AQK9HSx#zgxG+;QT;IE(L0Klx73f!0uhCvPTr;+;yy0NGx5Hgy}p0~~et zw_!KIyL-jp#8r{#5A8YkwtY>KCHycqPb??cjg#+J{xNMAm?D?ui<{i1JtWRNJN4L_ z5OIv`pA=gW>*+?JJ_C7vVqV=U$l*?0bwSya4dmT!N3$LX4U@I|wpNd= zC*qAxc!X>^O~ive>nq7nNbp{oORmt}JIT}$=iBcV=h{84&E;3zA0(?P1-cEc%(ffO z@7c6bu7QZ>n)SPJj^Hmn5WJ90;D_S3ZXOQgm?GN@-Kb$A@WV0v>;(%+LeAH|)?6uT zZ;!fhB(LblESaDFC`OgQhYh|z=6K;g(Vks)%+2NAEx`d7N@ zUm2$V&R_LUE{XJ?^naDVip2X*eVjsM63aioQ76f*Bgy^w_Yawg+`m;aGBEyAGt0lr zuVN@Uw(+0x36y{T)jtW>ziath*!5x$g^i^9Pd)>Qjkv->(sU1T4fdvodItvllfRLX zMA|}p`}b{=w7r8vLWNAd1O2EH2HwH0UV$DSLLs5S?ja%nlxHJ}{JXxtcg8}p3h)m7 zoAI|E;{8ACF{S=fjQCgef4(sMQ<{ZzFxZ_M8W{Xfd4c~@UK5PK!ayioMp8;rRzgNz zT28`KNl})z--G&(fZ6^d=l@!dyW2nY@cx&2WTa%IB&6geWE6y?6qV&~Y^B-Y&x(B!id%KeS-Ce!@=DAV* zsh;j6QmB`Eus_xBe~uHW|NP+pkXjg>9phWv$7m9&&@Fp|N7UXOUS>>RES!x2$y@K&BMmCT%g{=rL!BUXh^vEIll-sbfuNCw9vY@G*ocwyK4`;z^hLGa{L`J&MDO2;w9Z8bxu z0`d5Uso9uY4iM@@`!20SN4*#JN>?9ef@AR46)^!SI4nHgrM%Y>K3aG^-G0FZ@>CnO zM7`*EqP6FQTWJP9kA5KaakV9?$_UIK*Np+o!=_Vu*Ddh+PR}Ue>Rd3JSaZYtlq*d5&;-u3wqxt44BvLgiwQ?dqJ#v{SeDAi1JpEK|z=4JYyrC`mrB9fiFH>%t^>L}Cc zgXes-XWtj*Tm!id-@LJ6d^mv64{eZ;)wyFxS%zGr|sd3w0&#O z4mx^$PI)w{e+ZrqoDR^-mWOM(TmiV`2p7+-yKWVw0LI4z6Ut5&K?i^4{<628uq&$k z7iEsPPEx1};q!piyK|H1SFNz}B3D!IZ(oSYQEAS-5(F{qhxJTdys@gZoi#Ew1b%N% z8^2Lj038Rn`f^ifu<9byc7tqhJlY-|#hOh8Uwx-0bweW(zIc+x`(o@~wCSNzZy9zNS#w)cq} z_C~Y`U!M)cZnHiS8ixaFKceccfA0@Jf|X94Saif~A8s>Ba}>dVnHs&|ju&eBFmn`g z1%OX}Q=w;zH$KmAtrnrvfz6{}pUkHq5PaNqj^}(Bem>V`dNL#!cqWE3TTh1J59bt* zpKS%Oe3ztk*H;BkR+M>ej1Gnz??Q$MUv>O#{ZI=^Y#>3s{~48@f*r@WB8 z*u%a>AQ^>)*9nQ)(J|zEp1NAS7hE^`Ju=)$$MVY*o$VJgfaJ=3{!SkSR`b?OI7fIx z4r|}Z+pj6`Do83!Y9$O`j7bU{nec&%knJ2=Zv#Qas`;d@p$+y<%5rVar$gLyvd%A# z0*GuJ7Z^Pk1lxulzF%EtgZot#d`uV+W^({sg1#W4c>vn$hgElSm2&+&5rJ-#Y(=LP72r_!*Ij&J@n~q)`t8kF5C%W8m3CoGK&A_gT}>jn zATYyEnck)dqM?#cxK;<_la}O-uPMq9@08mR6heW)FnR%Rz+y*5*ynR^7Nzmtp^nZ! z$6b+?uZuQtR}Q6$EqVDkGht)*&6C=#`lui%I(RA56?w5xeRZ!sO5V`mxS?PV=|3L! zf6(`Zdn{AG;uu09VzN(_QNsuG0+^4POof2G;VJIw$UL|)Np;P2qXE5$eT|^24+e8c z)4MNFf#Ku~pS9sZR8{yHAQuu1ub)y*HBR|Jey^-pqq!SaoF0G1_{#^F5A4hy$t(h1 z&5Yza4;{4oJkZ?!z!fX_)xO(Y(Z>B6Z%${pMZh_-wx#{6SlF-IA5pnK41!%lcE@tl zFmGuw)AoEA+{yOnUmsHp*Vs~TauMV6HdSKbFF8?$)d5Wf?O>3q+g$ymP7|8G#?c(L?$ev{;SA|UxyV{e_&y=Psww7za{Ch5 z&5v7vg0<|+L*-U*Qa0oGj}2CEmO@g^?y^L_2%g{i9KINO^=-i+DI3%oU)PkSkq4wr zc1!+GIbpKZTy4)9U+mZ!QD}6R6Y`k8w@61u!*+YoH&*q{0 z#;yYPz8+B^_{P*( z1kROb-x5Ia2Dc*Demhh@8nAAQv?OM5d+A-jD2JBpzT(3dCD2}mixxo5gM>}}zIvYP zku{a!!GY_t*zs&n_Q5zl%u7A1>i-}RiXNr>{1r8byjM1G!b}b8+11=~ z+0}uYZ%@?lmIR0(i9GxiCas?6L=invObMTK&|?3h5>Jq@!4;W zmi;n5u%_m7QtUeyEDm{a;I_XnocXQz^9E-m{5Um3|M1HfSf`nmnLlra!mL!y3QLl^D=9W7{tJwTT5Z`v=fwe3f!1D9feHP?7B7n zj&SnTQzmwqGKg)tCc?`>jH?$X`MXS_uwuXI!?QLtbQDNGZXo6cZhK-ydNN~y^dv>b zE>s*lc*>j`c=rHZq47S0ge1;1zHuLZcpNz9`<$<6D1vF#%d%fbB*0~#o`39bd59ci zH7MAX3Y!G{R4jCTz@>S-SoWhNSS9R;&TRI>NDIPvUmyiN?$=(+l;(n|$k(kU2UPqAJ0&^5VVia>{hY`6ksqNoz*e}mJzMsDGxy5 zLw#x^3`aoq(&%Kgg(qBE7AlrBG6QX?>1w}m52)WVD&Xc9gIm&Cs+MzUXgIunY`=yz z+z#oxamv{j*;Cv;rw3RAN%@K0OZg1&zD!v)ofHYR3oC1r8hmhiNBNiVD-n>kQbz0Z zPC+K2xfDt~pvdZb;#Wn2(dR-%{cMOkHnSxT-rf;{=eX;&YZ;3m-l0L6ZSPKCe^cWi zpx}632XSH@Gr2z77eeU_uA`EUWq^II8x< zGX8Kr=zI#W1CkX6O4%7Dfd(SDz*3^$wcH$CGO%K*eOI>zA8x za9ifFboXQ=3Z0ODv{IvuRWWf%^Z|q z6&%X|zN3+ancMu}WliDOjRFcx!dp*aEnle8D-b&Gc^DTt&F)1eC*e>=R^9#&Za8%0 zM|xUSIQWgWUs)=5#Yd|*ck12B2LZ02x1G{PsKxRqi8>z+32Eo2zQ&j!U3jOpjIB3#4O%A8+NQL&MwV)Wy4+a7IDsR!K?$ zTwpCdT_cC$9^rW8<&rwUPmeBeuukFraO zBR&iJNk2e5KmE}trzOvEn7mS6Sb8uRbY!*ZRPgwSqqw2eY6g zFnFeR*ac4e_6xlI>4cG=YR~7HxWK@c`_1oJLs4dxVx);g6p|iR4(@jK2P-Lsq49xWKAze!yH*ey^f;V+ z*bSBAzvUj)2t*dI;rMdF5TMlS=HAH+MC}5Ln+J7rp@2d}BuLc+;h*g1nY)4^L9e9Y zPmC@cj+Ka}w|b!U{=|^o4K$FF%Q(+1q=8>P1TM2MNdrsV<4auo)RFb%p4(1Zd9au* zVsfR8*tflIwwrk-1?#HpF6ZoX0n>m~24hY`5b{{ks&|%6jbacTOn>-jI~{y7;_qIaamMP^+IO~v(7{@1C+DB%G&piN$gfDx z7xdM)>g@>ff{zJTBiXvWE>N4?B-m@L}RM{qiM#TNv9dd)eHq2-^B> zw6&!yP>7`=^^_+oviN;Ho2q1i^D|#nzu1O=bdG+knSBUYiZ6XPi!p_AQ3aC?D>k5_ zb@umNvMG>8BdS{Y3Sja{`$3xm56C@2*FDW;3zRR%W9PvGBy)sJD%Nc-6V}`Kg&~4e`lmmW6Vv0A5TtUlTWYRd_g4k~@1T2WT zg4vf|(aEw%G!wmi!S=c{=!iw#YRja-Ryo7Yk4$oqcS2MkOUe!WcTEM;0`nlErua&R zUl8;JM^6{zD?q!c#^RbDI>;V))@|e&h65_y+>9fKA-aKKj% z(TFx=re+;(mb1e{s*fIQ)Y66zb&H-xUrT`X%9^j*`%S?mV76>((H7^K77gqsOd;Fk z$8-6YhhVvZrMu$cA#fU2I(f*~0rc}?n|0=PqyB5vf^{(tFz2yf+seNP#{1V&O9Ons z@y>^yj|X-mkNgd{>Ledf_hQkKEB?`OQd7T2>LMK^-}MWA+eU|*SEDVxsP4FLzvb%Y zu0Y_D4LGyoVm_Giq>ozhx`6RLG1KxCcf8nEl#z7I8K?%^(>%;9p@M7VwGl3N)UrQ|{FL4TLk%7otiCWsLPh0$?`Ia9*zAb4?c zAl#MF7TInD-(>#ngL4)9^qx0V+;P;U^i-J#GSE0RzKGCpO_IoV4Vwb^_$r`%C4~m5 z13Zi5+a9>Ou;VS85)IM}WM4EW>tR8udcpnB5FpVFn9IsHAxU3y(UH*){gQg?d)LaK zrOo*pk(y-?-_#P*nWG2GXO>O-MEy|RYrVHkoDs|w|FQ9T83ucX)Xp+EQz0RJljv@K z5&ZIOv`S%K4b+t~hm$5`@Lj^XC0&VPP%mdVB*mqRtUf=#7D%as`g`@62nKDW{*HaC zd@}~7<8mDqr9I*CoN6kn|FO2AQTeQx=k;Ontbt*e`jxffi~RA{OJZ;yuc<_T9M8`!`uh_hmSaU1M<%9 zP9X3f^&1)|lSi(kUiEEV z1(0ZYRQ|_D8or7&EE>%AfOCHy`5e4J!=w|FmNDwSpt@@BI%ti2cRkg}bBNu4%<`Wy~34#)%ORHLBoFP}Q=&8jWFHo<# zwb@TA6NMDteYDu`f|G{aL)Y&_f%2i}^Writ$TA?#o=nezgjf8l_zvg;Jm*P0nid5d zTusXSo_es@RCi|DA_6xB=xz$#n}BojMNiu_9H3`yK!5IJHXf>tY78D8=9&l6B zLFqKBlOLBAh+FL4c6l}!dlw>9Dn3|(*@1#1*#Yr*Ydr9s3&jHsnMTgOz|r-*Px!qgd~g&n z8f^&0w|V93KB~Lnl1Id+EpFZz%b$Pwc7z+wc9kvazs`d_BLy}ZJ~a5jcjUO{U2h!u z-NInH-~yvZ;yB*YEbzjj;ERH@{z!`YzCiKY1PqrL4j6}N!;=pGwt#UVXxqveZI=7AjPz z{mFRc#hI1x!&H2F!TP|0WjKiRonALFLB&bIoW%N(Oc3$sJ4;dA56dk_LV5YZVV+gl z^pf}iVBPw>k1Z=0&+#j99&d|47q3+>s8!*3=B8L<_#hQ!ydU4I>w52`G5J)npB!2St3XF*`pSgo-1-FAt9f zqC&!PVu1=mcgDwOj-}+n&*{Kw|6X3?ihuV+d?OvzYv0-I`7VaXztc_$n}nde#Y%&$ zqYKc!d^T;o?Tjx!Hc;gGiTO_a`##Phq95LJ9lj`72z@f@#CcaQe1Ej!=C@^c{1V5J z^g`VmmDW4d#^@WNTzFNs#N`-NuV3DMXCDV#ddFN8tY-lvh=>cb{G)zrLd1-&nF9fg zk2`m)-;a9hC~DKhzWqt2!uB5J1NdZTyySS4F+O8BJ`xuihPo%K-MQcDBJ<;8#Q{OS zV0eFaeVM;5+6)OCF(dGeF|ml~ExcZk*`u8`x0}Fcr|)Q7EB1ohRb^vcd?JwQ`k6H} z)d9O@CsbU!?cnJ;p?uTp>Yy@FHg~1P0jimAp1M_(0Wa)!3+*uRhuaN?N&|P);l$fp z52Eh*5&QPd1#mDP*MuZmt#6?N4-rl7T(b|-;rR|HJ#cy3v5j4v3iWD1lCEY3FyC7ol*lyot2m3{jT|6F@4{z-`C~G{an7&UxTJ{+g1)t_L zIO|aH+BE0M-}DIhHO6|vtJW4$`uX5}T>#9MhvXj}mqw{QMH1h;{XtFW?I*4Ex!^Bq zux>)x2TBY@vo%%a@Z;AVnWMkFA*t>JThcii?!IYV$mtUTRZjxmR2rD#9K+ka>e){4 zBi+gAs-qEVZ#k8*^Laiv229>q9UKA7i@xS>{3x(;uTnU5a|DlDZe$=BaN`eN)(;Wgf zH(c?#`l^@Lgfv0Cy3Qb?(iNOvCzX{l1mO>|u|pyTz{}iIJBtj1aMiSNo#n}FV7!;q z@_KDBT(my#mOB&xbd%MprTw`jb}RqTr!@1R;SDD`1)8FbSs9 zKzVh9k!PqCNa;py@^}=2xtC=O%A>4cWBJ{!R_}@a^KwH|AKzApbvQLw-b~-i;6h#u%ChW-)jf!rf=+WLD!jn#WiR0q4f#J z9vQnp2w~VQ_vwTk?0S1kH+3`sz9cwayfbNv_DLDJwcP%&F?t=1VZao|oUJinp6_v@}a4tSchBdt@=5u>#DaJw1C9B>h^ux#~lNM8Kn2?xnbS-a#XXb zHyp`~aUQfffVxYpmKNDG`1xyS<4A%kPEC8iY2eI->SwuYZy3qp^Dxmal{gxVc{E8~ z>sCOHN&Y4Q5jrYtcq_PmuN;t@q{JtReL@gS3~?SYIOc;HN* zq3M`{Fwe5XvpNN2evu- zlJDAXtcmA0pS<9GD;LfixH}Esa{@2ttc(5KQyqnduHwup6zIPen_V^_1!lH-WOfoA zGMhbih?P?y*6;9^9g3U4Xy;KS2138CI>U9Rswy9LnwuV+pYs5rrwk1h)b*gfhVi%6 zK6kLSIehi{iXVQgURh)J)(XE!sKFL*3t)M<;@QI&j_|Gmjbe;bx9-%couNXh!fc7nkS^AT)U`aUW=1}N zY0)8XBW%j7HB?B>hdWEN>UTDOR$nc%X65+}b~Ke>BgblOfEB+G-t|KsaQls!JNFMU zkTtz|*Xe^b%8$f+ggF_kt^WF0z1$Xcbasw@J)Hwz%}Ma2)e5G3k8c_#aLCC$f9{!( zt%1KdEB@*F-B6Na(r=^c1J!R%QFZ4mG5X=-#P%(+s1tU6?~u0zRt$TkUSrP%OO5h_ zZE93-+B<$V&|Dgizkd1b3L_PEsF>atE87W;p3j85)2OgE`FiJKk3F)yZ+jfGQ4{ZR zF>;aJ>{0)6!>=TI9)xXMn|6AY2{d1^3~hON5Ccfl9a3XPFq$J;^N`RN*!FQQJ>0Jd z2`#Zdr_;70!*`pT^-n#JO(RgVbznO_vlqQ4Y*`4WY!BHgZ=*t1dSuYdGY@Rup1%0l zj|MM8o!3SP*bz7bV_brh8JywUIbM3u4Xy8XC-wGIai7!8cjrm&Xv|?gSwboS!ATd% zaVZ)+v`Z*=-$LM#Y{h@J^->`!l=Z4VVK*Eq3uWNrc7|wY0iWBy3{j+=eD}>$b|C#U zEIP_-jDOapOg{0+hj$4YNqx2Zp|*u@rqqNTf@wwkQ(ZD3TFmREkl_xe?i59A4e*ER zSLzmz(oIo8=D7cZ7%6;Ye@M8e#T+B0Ct&^g0x-7wqkE;p8fc=LEiJ30kSSsw;P~u5%;^5umiYCzPKc9*%<3W!sGjf^MSFZJN-p~ z70lOD?k(LsfP0muZ;M)6Lhp&WiG6q7z{hb@%f7RL=;FKYYI}zQ%3KZoy(H{|11-!? zJGU!gLhO^w;;?*pCD!Z9WbX|w*Ppz#=kr1T<}Ei2u6cpVHA>aW9~Ef*^e zcMBL8_Q9t=7e>ap+|bY}Iw9+f4_;aFx~ogzkQy31n@pHI!BbAJlSSGM%N*n0|Ec!` z+OUrd(`8F=ln~4hK6)6v3hdn`zFHx#^QDpBeGzbHI3m^gi8-F#$uFzZR0vN-mTzk( zP$9@x&yXY(2{P*(S}!qBVeqBHDV*j$9KOd6@@ETYF}Mxm@7+UIY7yJ<-6yVWxY8-vxM1Z`a+RY>VQPpRKfx`r+Kq zK(Vv6E~x!;yIIPu5ICK3kP=|yf=7QVXR|35Lg}t=?r3ihx+f(fU)>D>w<{ukSEFp; zb98Hw`#L8$Ro(dXVt@Q+`;BV;J2@?7z7>KSnRAq zYcs{)TQ|=>*k1rkhVrL|yXoMv;lxe-3Qrs|iTicpJ00qnBwJ@I?7>1ks?wOyZ&iw< zazy&Au_Q`Rn^`6V1r51#eb{YLijm)c-6&yy|5QeZHv}! zxLp0}{N|lSaMW?Jqgz-9y2hVv$|SC{>=t~jT&4}muNNbONYz|Wm$^~?t-E5Ps&ZP{MK^5tC<-JjR~>w_!BtYd?slwF_c)ZH5_TdF8D?| z=&Dm(A=t`_jm;+8;wv_tw7^%PICW~>ZlPoc{5bRYlgdR;Jbk~rnPwS^9U*^=ZOMVi z+fySFwTcF-7gHr_)B+alHs-CnqfukJYDrl%wT9`m2$77P=RN&&wv2 zKQzXnz>R;@+`ZsPkj0nj<{4k z4t%}n2$Y~_jdY|}}0zW%`6Bs2cfBnIhG ztl?{A$@p<)PUq>SSZtVibk>Mg4C!lLYlf*h!nN7gE2nk?4#iK)jFwU05?G%}5VgdJ z@&{){B*WmsrPYn>h0%Chn?qK0(F5K+J;+ww6phjD@4jzy%LBdH`=1x`W8jyJ$&H#C zPgvOI@Z9Q6G@OfAZ+=J98E-B6fA;Hi0x3rI*l1=Q>}(9y$O+QL=hZ#m-|A{1v(nM7 z4G#%DT;{aVA%1JLO>?hczNm}Z=aMr92W)VNe0!JWfdJ^=TlYP6lOa6Or3Bh1(HiMHVfTuu&Fd{SGtKM zvcIn_7Myg0GyEmDdLM>k;*0asX&0REO^6-&Zc+qld*9qZa<{?o%#Cp=!jWh)kU#j< zj#y8Bk7Q~S`dl@8k@?N{HfYUl=dq8`6)GMd;iq^zB@AQwy7DJH?CSoFGE+<;K2y&Uk#V zOuKQ^6<@Gcbz3@H;?$5sxH7X0OeFR>YuQ`j-S00tn|Lx{`J%eq`&I|ozUsTE0LVe2 z*%O0TS--k`H=->zMUe>#WU1`Om%|K~D2QR;p*eEZN z3sX`zcJCo80$1_lypw~nAkE#j{h+1{>~Nzz+*+*zG7ft~s7qluwzc+5hmtgC-`d)j zHsOmTJ>R=Z!@FSQ5)m`$dM;e?PofAM^#FZ#v(a25Ka9IteMZ*N1Fi(Dm+KOv5_T@0 z-|?J)v4a<0*g8;AtC{nMcE2a4OSHS!xKVNa=v%R4?~A~3hJReJl?u((Ifc6hJ@NJV z@u$iAsi2YJ(QdWT0kj`izCRdlifwCaTU}d%QSPB_ed;R{ymLl3T7Ojtrfg)k5U4E# z{!Z0iyHj4E=ro$Yhh&OJb9+82Z}x)CwsV$j$xiTqXPwe7brBSaTP=DfM;Cj~L>72I zuz|oev?nTC3^2Ip;Ki2GY?yYTvh)O6gWDkyFNrD}Xc9F3o$g`-&v7kd^8L-wV=pmS znrDlJV|LFUnb>1f)w>EQkyQ}cv3m4GlszWc9k#e0kOgiZn)3}V*uYfv;qR3)tdP^i zy8innTZjx?s9a7{LyOP98w<=V@$#?7O8xX8|WqH)ehBQX%{TN9)u0EJ1{`|BYsfEjHDL-c@|!08xFi7YltIaLbRBS2Y`? zL1@i&T5^>=Dr{jFO>`$XO!G(YN8N!F;bwK&Y!5pc2UAQChiXrU11sZN1TYdSN9Bk(g3NfQA zf?v1iT5eV)=rdzXK=(fp))IbbF=^X8n>POZ?0M6SeEB_Ay$+%Qq*lc<~EC_4y}n zhsy}ROb5Hc5@$u++&8&5P2LAf)aH1No?DE?J`MqjJTShiMQS z9jpGv#t;%XGcrf57u1Ua*G~B-8bRMjF7D}{bbLE(8QNA6jse0ByQ9>+@a@XSKAX2L zc&M*QLhO?l=E}%t?iV7)sR&2DN~kBibBj1zqd~=s&wtE_G<$-XT26Ues}FAf{w4mf zx*vu!w3W*U2V%0DwMgT%C-4V(__M7KM6R<|x-T~81FO)skZ4O+nAqm0y{6L>&P=#; zso$W%cv=D9@>VURY}g^PzDXa9YhRp>h%$kZtxyoPLm6YH2HxA=Glk{e?P?Cv`5ea!*)g4Lc9Q*9X`tWND4(GK4Oy?x!`lwYR!R-orC_o6Kf z=WCs%kO5Z<1Z??zQy1#bI}1)Y0LFCYw%P2-1GRgTkus&K;8UH)nH-=CEEglxSFcwC zv$krvlyfd{b~;fzK;ILucru5*rcrUjA@LVdCxy@-yN5OgQPH59(vT*V0Ro41+6`>i z0crlN%1YvbXzzE3P3Dmn7+S_EQ8eA~cAc4?9%mR@c0TKr-{*yMiE7_}6}q9%W1iK6 z6JFTM5nAqPl@G^4HkPVc5q=I+YO+Fi-H<7Bf7pRCPay49Nv+>V!!p0l(8~HlsBbSI zeDhWyKKax*&G^IvSX3ScUgxA^@(t=ht7Q(T9es*lxD3HCvT~u0*AsG9*6h7=LLW}0 zxJtUt*<*0J{GZ82Pu#qP*;=5_3zs4A?Bwu2YHcS@7m%#d_?!{f;saf~Tgx@~A; zj(Wo`CHW(H#6JGZ=oWifkmnBTGc6a#o;P1!a9E0icx`5q%R@S}{n1|8U*(AA;fwK( zo@VeYZ=Aewn-t!+SQR^_VG4ZAo1^)DWWh)Bsf|YusT2N)_A`v>QphvtyesRzI^0?{ z(sDk16PAb>yja`kkLni~4{&mFLC)IjV?2akoQuHoT*ezq9m{;Bntc%ku;p1&_SMgH zNOL>0?_7WniU`vNJ-vc}4W|3soc-Xne&bO?#R%N((VK2lOGid}x{(vr1HPxFbBhWD zVS4ftnn!USC{HaIxp136w)Sxjr7l8WmfT{U$ZiY+9(HY)Mz){K3-DvFQF5e^fhLP+BmQ3qltz(UMImgul(U`*+{?!;!MMk9OKlU~HDa zno??tA1LISMr|ew}zliE6X7y?&tkn^GR0+B?z*9 zU>n#-=&NzS#bqBLDJ?7)j<8~V)rpLk@eY`J^sdIs zB6n2xm=J5)xEZVWUN}50;DM2Krgpg<`H-ArEKIORfpFyP9=9`Fa7j+YYrex5c0HG1 z8ZmYQ(vDGss1Iz!KB(y=bB;f1Z>Zmx?CgPUzx-16SotGM^UMs_*CME3E_uI@Yz7J~ zS32K?c;J?~+RSqx1b1927Kv;3MRlGNuZ*wKU{Z3!tjk_M zR13;onrz5~4ZFe$KS`OPNS%6rIAOQv$SBndAlAvwq%n5yLc*`yK8b6Oz7KAVQ#HId z?T-e0SCfMZ{2;aA8*^t!07^%`7yOV~0Q$C$)8^GK(3|spzCDKMFN1>bji0!{PzNuw zpQ;rE_8#1QPtFr}HEU|~d~wC8`Z_^VMPF>MQJAbb?uH-RC3kj87C=c6#xGtog_kAS zhNM?MXz1&@nPJ`()~@N^&=Kj0v}er@6W5cFEz;CzvM>9@!d<&Bh%=D#r-@hvSfN8i8vwA74@b>}-LdORk-_js1ZCR?fm3 zD-Y-!YY|I$>5YDcPFGfR>G(iSsnKqWC&;ddZaqSb6EBDr~wCDuOJZNwS5CuApl%xXzsCFjDSsVx(>@&1q=q4%{} z!3Rwwhgq*y_=AR?QhT+nEq<;lo2%SL>}$Wh0ee8f5@?z;NAL9iF(l1S#E@2v2gZDg+h8dq#na236@ISeIo z&T7?C?eOdUva{8K;pjQv%zjb00DeWjvfMpm0~Zu-nQm3I!!PMKFOPRxL*SMUM}7fU zoX@ho&1WBm6;@>-66}&VWU9qH%tt|$${W!EN^&S~yiG@i&|3t4RQV~Wy8>GY*WQfl z6qI<_X57R=oD(?6ve4pU2lmI!R-JY?1x;7Jw4NQ-=oPtN<+?S24_bcs;vry*FY>7# z?w^a{UhgflJNYhzT_cRkDA@zmzFK-Ygt>rTqI1+hp$|OC=5($oHn(fems5b^||AL zgdc|3d@SMLC%n0~|D=Z-2CO(AwQBUh`MXCZZC<+J>ONV~%d!QK&`}b4Th|p@CK*kV zZ+M{4iu*Zs;yDGyQw2%OR)t;2wjuZzG4T;Er(HDjNk!bYeKw@_Ho??l@E5x1=6`bv-rn zW7>qh{PsG z^Yuh!RW8WR{s^@0UyDuK9b15Hm_kd7>VuCT=7jtpu2PxSMd)owVuQT_>B#UF2 zy}RtHTt3ZnJ-WvNi&Qn{{uI6C?4Az?=Q+)DvJA>*a*+b_elu zO7^L)K^lHfWc%e)s)3@NUCaJgieY|r-I6YbLe()pUB){!G?2OUHQ6H+T6={8wi5Hg zLdycr3gQ1wAcK-4dv)<_C9j!)n+!+|yjvTPs*eNf0^%!e3Sobd!LrWn209alw0qsxcoZcBsybad*mw`2@&{IaK-kq+9q{p)AOXz*0t*hqVUf)7gW ztGttt04Me{NzC39%swk>yo)s-UX*Kf|7p~N3y*kp=^Mr2Sw)cz680yhTAQ@tM@ z0LfzYH^QH`Ly5_;HK%uI11n?Z^M}jH6Lb zhWl0L+#&1W^@4=35Zt&!KO#&o4-C~`T>2*L4ff$z11qZC;kn!CpGI_VnBkHsP~B;P zS1*M23!(~U?WWdQbhxAT+5_y0Y#t!tqk7ON&I6O3cHIzWE(D$v9kcdx`f#yrDw)RY z0m}@IERC)mB zoqV7_V<@>tF~sLldd%K;W#Np#?BvT115_20)4xAMfpMQd5`ni%7$R?*VbXOJY!^bd$aE4-GmW z@lqIsJ)z)Qri-hV1KQNOrOSQS0p@j|g6{^|myLPOyq=0eN7cqlYi!YlE0o3Z zw*&A!lb+(~AlCVX!7Iiz!mm5#+lr#+M%Wjk)W)*b5lELMPxs1fhTgzYPrq&&_?v7w z&}tKdRioTlXFmTAn%+B}%lCaBS4m{gjBJXKy~pLU_uiZAJ)*2^Et?9J(2`0$QtPn1Bs5roF%F<_}&s{Ld26?Lg-dSv~DIxD$ z?vH8o!&Uw=hros-HCs_R0r*w+F858wTzH9@sWbY71Kixw;#}1Ufp?f2C>Ac+!O&t) zdH+^3T%~-8#qNhWe0#fI!k)?r8|@EqJyt;h#pu;Pq>DJ=my6;pQb+RO^}`vn!*?uT zLsQDNC1HBFYQ-vDcGD7yIZ{MF7rdg6xDI_+`9OKaB>w z$(%D)RN?|d9#(08snWoOx)ma9nkpCoD3j9?0)>>K_YbOTVA3TZ!yuanD;P@YOZr@) zlJA4A=mg^XA^SMo7VZkil&>>}G`r(FC7|nQj$zhk* z#2#tT4=exrJa{T0`@O+{0{lF9yQA{79W*;P8YZ+t=;{B>@a04h`WAm05;Gq~Tol|) z*2r=eHaH=`vlNbt-OBw1tIk3;z5-I?z#N!sX6VgS6%5~zJ^0skI0BQt8&Pa|84PPJ z`YKt?!!gBD!l9uCJIpi6{MDS12MXEI=QiaD!WV{h>O#!Qla@1=VU}G{s$xR` zq`UCN$~ct=R&J-2OfUt&hM7rDrO^mHpsV`u2A=`Eu*iKr=8H2P5pJ;v`*jK)AZ4R8 z$#BEb{SWy`I0|6G-GFt5PJ4Jxm#pw`#VJT0V0(^WbRb9i$qbt`8~DQL*M-M{r}2f9 zD6Qht`cUE3*Jra|!!fgzfY(B~KIE{N+tOahf!?FnLXBHj~{TIQBYnM&f7AU?}YqVM5}YUl296@|xsU(M%ZCFZh| z*vGwF7(Vc7tGcw34fR!b7_Z&-g}SmoZr-6 ze(E&WUf=1C^Ii!(Zw>Rq#S%R{5B5B8`v=`zF6DfvcJFE6(j|Rp!&hrFPW;@rLQO&a zgb`G4F$r*=48{IwAB5Wmd|~`@$n;*dFIGvat$>4pSm<4y!X0COe7bpFu-+&S4n9j* zmy+;?7fW@F^8N+l@K;M_7MxzNA#z4q)ZPn{Ut3y9TZn=JU79ks3Ma7X^VgJ zeUa;akVL4nv}Ag_BUQvaL5SB6in4@17|{{Oj$dURR3F7b(gpYLM@$@X?0Ms&o+1NS zppg(4oo8VY;(gXyhUd%epr_Vh#`r@yguTZrV^<_}@WM^TMn?%h ze3T(8cdmihSGmpr14|2Fv%ffHNdloObHfR} z8C$q`G|uydgbHS8c(yciM*&g?MoLS?sNu?r<*w2FxiB-nu54ys5Ok5pIiiY+@WYd@ zy+ve!F#aT-lMu1TLtK6B*ApV3(V;6D9v3w6!J(Qpk$erDcU#7W{GKL8)lJV|=@&p> z$}{rogr4&>kLBx=#cSU3r7L--5kf|lkjWd7fu1#9PR5DZb_k><0$0vkh-!BWu^E~#A;axAd;?;R) z%*hwdOr(_TQ*py4_cJ(nVhoACaCYqmn=3Xi6HXg6&V_vkT1ZZnJK+zvBF=zghVTzt z8)ssz6Rt`h5R$NyhXw`(kSI$ar8H1eA0TwiuM4`0xh3Jpv?ykscM*7UL*vQ@S0-Hj zyMB@8qAQN+6h5CWF9F>%=FNwU3%n=3ClgA%AyG98ZvZ7nI8Jz=f&BPGad2n1hC#Rq?L}{(Z4_ zSRug`l66Joxa^C-9T!bhMQxdg&sb(qK@)+uu2o;)oXCMM^KypneGiAB+jVPQMQkvz zac@YiB^+)QQm@MooyC{J>8O+xPD7P%Me@(`i8;0Xh0m$!{5YUFNV;2{*k_)w;N{^h zfQB^LjgGIGG_+eqEi|_?P4=R1(P1cqp4!_NK_qR?sRH-2yj-0o}PshR; z^u8$LuBFHFYRfj*IqCrjg*VmZoydi8;CTY}G4}`}> z>OZmUvxoa^OiR10%<+$^u$vj8(uc}2*(yJu;RyY{mxVe zSfopF>+^XFO#Y#UHz~vnKO5Z_CiqtU@XO0;wpcXf zNtw1jFSKa?BDMI#2A?N2e5NCm4I9yVdo)p}h?Ad-(JbPF!}KLyGeuS~z}r};g4-4^ zR^GWKV&Dy>?)i6)F2-TIq*}f2*b_-s(D5#?% zf1&_dXSYVx3p&7mQSG+z6n>DEa+}gc#~zkyr)oTZV*yW8>`pK|565}@O`Q|Ej`*!G z>-+ovY~Y0}{66agF8GsFgJJp2T$uQ}u+6IPc1Mh=eT}BNEhO>$=Wt~1Lx<(8>u>5N-7d|;_{?NkN8gjjSsHNDP2Zi1%nR9*Afa{M) zc1}ug;;MljW)@cs_$p?uyGtMx&Ycpm?_wf&w{I!U6RoH4Gne{tp<@IO|9}j(hn>RZ z4^OlV6MF2_i)6hwiG9C#1@cpOxz%B}!pMpE2v?W|$kk$?GAvLRnj6}6gLg#AT5+}; zp4=DX{JDw;Hi_KvY$bQawwNd15jGcSGkiH(*Pa)a-k_qi6?cJqk+Ysz zfhL3=kiQco7{Wx=d+e$rzPNGrZ3)*GH#k4eDVcHB5AR-5AE%AF0`EUewq)!wfhV0y z^t;F0U?H3N@z09H-dD@(KdpcKp|@y*VYG`rzM-Rht06)Qi!9BrrwWHcQhu+P#W*c| zOuelkfjJlYD_Z5w$Js!}Uq$vOi0`9-)=5#V*9!Xe_2)bij3 zf@fNK$Le#%4}L$CAzAgz8w=`6x#kTQz}nwG&X*3l!t65IJ0^Ghpq|j|W{Q+cn`VEDhRrb&{c z*vo)Jq;xX_hJTnD+BzHzA8@i#HJE6@fpN8IbUFx@M}HEd;r7EBu5r^JY>Ch3VBz6N zoD-zV>3n0)i9Mp^n>$|uUIobB`Qr=M)%vB>63nrD`EBdNygBezHlmOj+f|vL9{K1E6SY`>-0x+ykz^LNXJ?3hq!ePAc2 zyDkRiavh5DP>#fO`C7(o07VgaRFrIWhjSpKM$kq#vhNqr#Jrf}ApKD}2mVNVH z@PXW4d;i?ic=K!7u@oU-piy@WbB7b$G5SE;}X-Ek}i2eOmG4pOw ztTw^-Hpn9Z&Tw+a9VC1|7XMj%*0f`Rzjv0-#}K-Uz|Z{-RI412zhdQN%kNxxtUCFc zx}hv|3R3*~YQ+afsZl$P<|)GT^MPj7>8_a5`$#wMbUZHm<|m!r=7;+k;^`Um`Vxxz-_*~%55Plcs=}#@rIBWPMiLyCgdH9 z!)iud5AnNTo)>>}*z>iakDIxK<*+NBKcHc8G%gdy)RT(7*inJ(Id5lk9fqOz3cpZx{{qsT=9OcJn3b zjHZMRlZP90(2<>_o3kbtKHXb8}DHSrdF}Ps%-6qR&@@Vuuf~c;U{w$96&pzNJ05VEV|KE&P4xR+1+%Cz7a> z_|-t@C;US7WvS$RacrrfZut^7td$&2H#!=QpYpbk@@F}~`G`ZW{;GxJ{l&(1?!=yp zeSqx#Pm11f^pA_fKSDQZ<=n>SQR4;EbP~V*r~7X|u^RkU)Ejbbd^uPpX%w4E`=mPclUvR9*F;AywekUeKe_J^9q zG$Rj?&^Ep=^nXtBN{S%`Bb4#$inNoI4z`OYNrdiyee1U`C~d+ZcT9yC{}nR90Kga+>}`$_lP zVylebYm;`T;3)O})0Z2au+oL6ug-9thhjcErVkFs;L2`)mZ$tC@UQpcM_g>Q=-D7xB~>+=c{U2hm@kB9E^pb&ov!6^h;D zSiPd+FT;yszpp68N5B^b^%gUsa=7KP&Wsgj1SF(FDsf{8xc*1;k)WVKy~H>Hj=4*qq6>_?CPh!gR|E75&d255==UVfT0 zzvwhPeOBN1c3T>}=lROgw*V3|(KC;FY;n5w zj-F&JFYKu0`Vt#&gOiHC^G&LSK*grqk%25J9K3JVBe=;AZ|I+zn-Bll;YuTZxZl7J z%Tvqt^S;Z5w*>WOIIUHnlf4hG+}Y(0ziaVDnc)C(O1Lq8kP?Is>27Y-vuVNy3Cj@*Wu5e_SUnEvG3 zS}wm}d~Rut)99)f91V8;L-jHQ$0Rwu^O(zrp5e|iY0wtl9ge<{blr>C@0IdpOS6Tw z_UE@8|JcBLp=>2hM?|nKonLX|M^DJJn_d=AO#-{ouB~jLC+zn);e6dX7m_AE-!A)Q zj#)1;&~c`0t6QO<$9$(OaBBJ@**SV|xa3t~8QK;FmH%Wm3=G)fiOP%SbZhFw9E#&} z7IED->$!3c-6Z(c-tfl_gkR0Arh#$+P6$^9h4#eK-0*`pHk+awesJOWVFxQeMY#5I zc%(-()fU(ur*H1v}hp=_YIGP6~5|DUeRq z4Sdv5WO^rOA1pW@GrALQ2m9T(1@XCB&Du0UE;!F< zuw3Fb#M+9vlM%`}@P^@fC~v(#)K*!zQd;MNPiTakFlF+G#>+VDrIbS=8k7E)GyYMCx@n!5eEeJiUoRV&M~|3zxpOc;kDrSYBV_1CC@e}4P~N5u!JeU4o6r|ic;WStccCjGn3uj_RH-%(4$th` zo^uI;;Www>T)b-vgXz}ePe%tq9m8!6s|a!{+ggCQTbk}cl2K~M5d120W= z+?m&R^ev%#n%LL-O4iQ=UKzYwZ>16prx-sgj`C!}pG72g;xW3gf|M&H9+*Jcg4}b* z2;Zr}OyPzfK7nvy-qYq3JuzPnUGfdEh=vF4a;l4s!toWkXL&MLV&KJDR!0DcJr0Vg z>8T<&%y4HUSGp}6Q$4SI7n$#dV;V~$D%-;0Y^Ic+muUpdNUHzkRG>eIUsEM;LKGEsbeTdg4`3#%g!P3^I@-x@M2_*eOtB-b0em)%!%0$P)KO zsuD@F%YqedzrGS;MCc0gc7>Ite)~dS(Ffk}a4fXh|1w^&%nv?idnzyQLGV4MYg=A# z(s9%}&)ABzAHLxmvGQr{6x^@HpcG{9kMpZIaBc{x?O{bHj@Pu12nMQtnu?f`Pb+%^_)} zTo3y`$-X)@9f&&$w6|FDu0UeE-c~Do3X=R1D5?9di&tv)ZW>B@zyQOJ8MDT`;(e({#@Kp%15Oj?7dRpT?mIY=LbR z7l?WDRTlSLUsznH+qRo$08j34Inn9*!mlEyRi|^$;g|(V-9yjL;NnU4+i1TRUXF?L zuj-M<-DgaWpCR~xR-SkR{+?XulqsHP%V~?h_n!0miR7{8q)uhYm8dY?yyR|YIU>p;6Z3CktzJ~%7!DB1VDVpzd^a*h!Ec&!Aj#V2A)qW4nT=s*#g1QL-Wzo3f@|VdT7YF=yPeiG;JsMxy zGrEyco(Eg13_>HL!r;$?t1X#t9B}NSxbkv#7^KFof}!lEAX{C6T5q}~%tkMcf5}b3 zCOfW;^pS4(o~1aw9HC3hyVJV6oRGbJac8R{v`}hS}B_%UF zVB<1cIYsF7o)^Vu4io#%(*hztI0#*?&3oqK>H7G-W$*LVzk&Gg&vUKr*OFjzPJp10 zofCYs_l${)(+h91Ie7S60kLiYy8o#RhD@%W5h-qz7b$fy2M z>L}rp;Pxae%jsMaB>h{|J-(}nAAj>Zbk`#ct4;Ti{^y4_d~BF)x3dt6@O2ucu?4|9 zdb$%_xnbC4uYfA(U?7~Y$&g7S{Eync+H?&X5q_w0YY*1XoW;v`awG+uP2iwTB00O%G*SaD z6yA@Bcpnbq>I=Ms1T~?YlXdv$Z8K~fZCvZS<_?|C-U*lXG{a2qe(F8s%!Ex*6CsmD zK3L(;(Tbz9?r^g7TuSbs58eRtZ}f zi`=w{k;3aKcmIJS*Pz9dI?81?bNKqMNm{9_J7)5S(e9|A+CP#oEasLVi+TVKy->SnNy7=zlR+-y%LG5x|I*L+ zxi-Ahcir3WOaL}O-SS3h5SG{9?*Bw~7BWtxO_)4A12fL?Z?4^ThphbCM?JFw@Fcsx zc-*)fJeYdEs^Q5MIOCdgGpmFa-mp*Q(@PGoU(+LfUehq?=0h%q}ZQNnu z;iDS9lLIFM1T~8~0^y6lh2_u9EZ}(gcc<9P zfzYGejVP>$y1uiBREt*&hd0d{#>WKW&ZZ~Zg005*Q!Rteugig$)%&2ZYHrS)7i$*kikHL(y7YNBB1r zD@QaC=dq&B%cYGhXdq-HNJsd(7M+WUag1_==Vn>r#rz{7+Y@n;3Tnc4rNiwU_isRo#A$|Jq>4YEM(GAaG2V5 zg2C#aLTnh~APv`3X~#DSaNeE6=gwzu=yc;2#jOio_}`(qhZ!T@a6iKeO`5|s=zQgj z)bniv{MhWHqeHkCo_YK}?d>}QOhujXjp<$@ys>ANGuy8PdB}tPg=^2j<2wUSOLimh zVVwJI?N|cL&h$H&Cz=aAWG{M&ySQP?3%l2hSx#eD7SiNURX6Ou!CO{K>{+_qk=^nAxrf|(y_2}kH`G4>m{7-`^HNBYcM8PohogTvcr{j#+y^# zo=`@;_T@7c!cQ)cGwq8+4rEQSmaLeuga67y4)5`K!i<~dnE$pt?7irpC0^!(3z96p zss-}`F?|Y`JYfnzby4t1Rg3{DeECG@_f0m$P#;w*Z*7Q{oX>a*eUSlo&#P4WKQTkJ zntyZ~{vJS&nfSKuZ|DHP<9%OgRt`*mYkAvMCXEiq+aFe*l|z;P4&B9^k|4m))b3@c zBJwZO`aZ}hiPEXNDyLqMp~mSt*J5r`f-ueX@_@j8Ns*qP3jGod>h|SPI(VsKI zjd-zR6dK3200n$6P)}3_#xE3e{!#<9 zMsG>BOGG^i{W#KLThu#$q0xFz8Qde;EIG$_3`oZ@^t>82Ld`c>52al2L#nY(~Q(6a~}W`K@Gtt zd9+Z%RlY|O=>Wwy9@kZ`w?vm36B$+-Gy(Nv{mn5;U8F(2K0PBapmz9GT1>pQE|949 zij`xd0qcf)+7H-iK;hOeqvlc>G-A(19v7+!C>}VG)#mA<-1FPsR0rhH&XL+c!y0Y0 zeC$~NhPgI4XmYQFt413%whEWp4XYymOWH2U#wU@L`rT7jL{m4E=H24Mqy%PS)Sio(~m70blhNv&Bj?J*i803Y1ohmzGg9L1kG{1L-#1KBv zi^~O~u<`RG6%S_B7U;ab-DU%*idMyFMNJ;PncC)|c_oFijKqYg^vqDt(}uCbW6nVN z+F{TA`4)(sUO+ExMiI=Gv_5__qlhLe<7I`1pSFL<K7x74l+8Lyk0m8#O`%>Xa3eg*Ewij|x)r5x{QwPd}hDwdZU;dM7`(;wwI4^CrN1lnYdlEX?Uemvv z`B^{_WyHr>lGv*v*82OSA3arp?2v2?&mmcKV4gDmdz%;tkYK&D(zB+gE|7ss zbV}sahiTEseVJ=}Yh;M@Ry&={KS8h~)n{%ZB!zU?RBNMV6hMul)%*IBpVe%i>95Xi z465m7s9RIFA4QA@k>pd`W5`_RyKs@C0@~PSUcIL#4vHt}_LH1bK<^J`?W-ov5x>D=Qf}6q4mMqhu2nAfq_r#_xu%A6r&cqnnK_$RJwf}YnyumY z9@?)b(FeuK++rss)cj2J>&R73F!QW;_iYM9De3Dy^G5RM>E0M@=FtYvUdO-mEHOf_ zBu)3XSTP{O6q*PND+X}R@Rc=(Fa;XpbzzX!hUl23?Z;jk3J`ceRmdY(6S--)+Vz|? zK}M_db8nYyz}@w+4kvLlG`XMEfIqrZ8YMAzBG`)*4h@zA43Bt!X8AyrJW z*P=DLZ2LKEc2x^;-Z(tHt8oN8OzZsNank~rXHhf`Cz*qXsb+34I&W2u z8OtK^*8YfnAU2_Nzk&s#Lpd1+#fBn*0 z)nx{7zlA5!x{?9y4wO&t2MlOC`1(znWpU7C`CLm_Rs!+ZlJ$j!D1w&5=I_&v>meFm zr|_70Mc}?P*L!td5y`--pXW=J^F0MUvz8J&`lnyB^UOu_5#-73&Oix#GwRzk@`DgGrKhOuoVih9S9_ph|DUo0+NiQyqEvMifPpmZbD8Ly)EOlj2#Q3F4nt()2Ai14&s>)#AJkuy|S6d?Q5%6zELZ z*=Y-b<5JW2+Z`oA%xkUVSK?XGnFl=kUMaDH%b5cVtjC#waJb*(val2iTeT~^bw(47 zO>7Jv>r(^GcZ(YKi0Bftaet6q8qug1zpo+kTOEVXr#V(Wq-bR^xlGCj7Jb~#kW8rp z4$de^HYov+X4f@S{ahAZ(^M34s5l1ZEE$}b$adQU{y&T~;z<6e1p*{^C8@B+SqGg{ zcUmAY5b=0PbG=R-4c5}Io841KKr7-u3>?`U(^c<^1MDjo#&BI2)lx8~5f~LV*D=YO zX(1^mYZEaybHv2dL`h)4E9EamIb?uF@@*?N8VnHaGNUqq!G6v5f@`g$AZhnK(+wh$ z&lYV#B8Eh`f1Z7&4%&bV{~Qrj?tAX61@eQx7HT(MUl&5Ra!mg(&hb~?xI>|VI=ban zFX##(kK}m1$q*@E_H&f5#nY1J7m`3E*M$ zr`Fj+6sF4i)(=PaEJAsCS^cv{BeVM zR1OU%CLeh0CJjnwi;MD;1c3JIuBLz4g2-_!s%z6t8_3XQFNq3h6Td&b;*gmxN~LF%YGZg@B)ceGj{P9ouKhlTrET=Wt1Kuw~8s2-p`^zZl*4?h~tq#a%fj)CiE`;Tvh8>RJv;v zt%3IGj=#So!w-(B9($(zL>bNg`SeKYM=Upy!cfC4t9SSnK&>;z${Ob=@U6Dh| z2X)dKJ0y|IWg(#mB9Cm*FBk{QYol9+3&tychM?@hi=X71@+kKCk71Mg)%Nw*e@X>! z@SqO&Tl-d?FoWdDz=9=pesspPQ_Z-V8D$9_Qhs`TwO!=XZ%G$<6(pGzKcwEH4w8<} zGz2T_Ad;UtB3~Dk!RM7YakolK1YUnJpy+^LRc_TOLsSzbl70H{fmH+TRa2eyeXj}R zyZs){oij#l4;C)&)LDVI)7|WI2|6g5=IQ?O5+1-=#qyZ{JMD}$P{z&fz*sGL)WBh2 zOGH3<@!|KSCyni|_TN@4+G%R9)={26cfD3E*qZ88riVN_*V>$M&qf0!FNS3g*=v9p z=@lleGIjJ#pCo`TM-#p*scp!q&=ox${&0 zaQPn#A~nN5EW`JsaMQQ@Mpl`Tg~83LCr_o2Q;~q;j}9fkJz+Y)|5h2D*eKh*m!u57 ztRCX7idRL(pXp!F68UDB&Ajs969FVHDqBygasnlG824A}Nq`nzjzXaa66m0Oo24ba zCUA?K9474F!QEwvh6|sR0MmjQzC5UeLT`Kuo%>(}zHM4RPP#7yQZA};8S5D zH*Ra7K`;FLPoyqjTT#+-Iiri5WVr6-WodxorRqV?WDTG=jcChSqX`V!$`qOm?G#XtaN*+#YXx*<4EYe4cs@GC zOAjc6mZ&`>S}ZvLoe}>^&^tb)?yU0h)MHvudY#*tDS`)G|3LHc??F2BG~6lcCH1me zwlz{c*)N62>Wb!m$EbjdDx4I;Z;a8oC(FDigEau3`c!gxqz2kLUfaTKpoTtrG?zFG ztAbhGH^jDVk{Ldm1z4Hy+gZ=+*(MZ#*DU@HE@iZAGwf`Bsj5KLb+L zoKieYp@jb4>HDt#ToX~wecC#G#u7CL*iSPO{7~EdOy#a!edHs4V~~$d2e~}|J6p1- z5BSKQX_&HTfZuP&+(!oq``x)miZm_eh$Tv7s{WA`dOcs5%;sT%%1);!*qAziBV2=8 zts{CUY48mmErlrb2OEH%Wb{#glh+iBV{TsjCS3%FDz_YNYiz`L~iOA=_yEB^^irWU$qy-c#5 zXNJlBv)Bwo3v4l%_DCvOKsG=QPs#{sSUVeyDi*1q<~FOK)*F$ z0kpjq8Vwy%DDjSW6A!5r`m9~BeCd}O@<`%ZsV|iTl&W7U``Cn$&2+cbXLC~`j+SMuYUvK> z5p}LY;^jt8^u250X_h$`U@@-<8(lI5KH^VGe?620eS$QfPCnvCoN@&fK4iDr-;iG3 z9OWVb65rmZHu;vTu}bSU)&<&w!+RzldLuQ!kKl4y`v~G38P5nQ3$O>%y$)I=QJNt2 zxBa1oFb&jXYfi`bMFK>!iDag%Nq~K66^|*uNTAeYpXYKNI>72d(_R_U0oQ!ub*YdJ ziWz*Fb%ToflCjo0+nZ$N{>%2^IBz14Id&g*Zs$&h0oH`Al~I0 zKY_s}n(K+XWQdF@v{wxmv;Yn16BY|{UG$7H$nIMu{N*8f>LN|n%+||p~J7I z45K8pKp7qUr^j!IzW;rc!ER{+0)oT~+eHnKX5{_3xF`EjKj(=FA_Crj28Ryn^S1xs zaBYlR*HYWPyzu3vpmsZjv`2C$@jCOA+|v(;_fa*}mJ$&R5B|(h6?v{!Hr4Ru5Dk9I@`3!gJXY=F$g^pR@!vZ;=&v?3wz^F%#PG^6s94OvBQSe`^ru8=@BC3vY zeK-4KmFQsvl)%N3IWAm(q~{W$}aI8_i&V01wDQvJamYV>9) zxFO~}HJbhhF6O+W2L1^}65q~?AjaSq4-<=zgQ|Pq~I@;d7J0^0F?F8!~xY zuV9Eg--v!v_)QMtTNiGY{U%5I3kO^E5-3qyaMDkls1Hnjcv3#*Hb%!6PHdL)7z6Kz zij!jEmS{)EsOd|cHgF(ulKonzjYykdV%91@u)59mW{Ic|M?_=9Vs4Qkx;lCZ%5@Du z-5q&RD#ik-FeTc~df0+UE2dsg9u@Td(fix|4zJW?_eA$|zWpz+&eUWJv7wDJT*M_S zg(l1d9F7pN@?>{IHo@!MnqTQ@IiZUbwr1<_30<&4cAvj{PaVkrI=NLnsSZdKe+m*9 zEm>(D->FhXUw1O{8JRmt1w%t+gUMI}Fs;CrTB{==Z`-G%d>LQ3G? z#!1`XJW9Y?#8FXbK@m|bEf(BUPyw2UmxLk|RFMB|wP`I@6+p?>RAhF*5JahP>4q}y zLp1Y{GBS|_q&;uQE-17>H}2bg*k*^|HGWL#!UNH=gYJQ4?p!rvqc;Y({BqkX=Ccc9 z_Fr#*e{MQu{U`*NJ_sjYEh6R~p$~;07FhtlhIj9l4-<1B%cM)YBx5e?LEyP}PChn3b^Sx=X z{T6+)kb|!oDmKdB@X@ygS1Q6nIYju;pBg4>u|Es#9Um=|j}-q_yVlO$?D@wEStaRw z;k#~*3`YZ3<<1GAfTPMmOPdSTlMt^W4F(AMud zt4r+~0vCI?`o$4zmWkwx0&_6t_Vsq)x;*gu8suOX`@KE##D$%%kbbp_M{zgr5$D7< z1*n9J6D!=#t-y9M$ z&oi0lc{tZ`9P>P7PDoKCiBgd?2vMdoR6?alDk&Pyg(8)Tib5$WDMO}^@q70gzH5Cy z>-+iR_gmlfTi^9t?_({Gv(MS*zVCD2d+&Si>v~?-3D`2egJy)u=1+T1k+@NE)#mIg zMjuF%HDX+Pg*s@im$XTaZZ)$jA5*)b!wS^cn^?kaRB>T_*A-g39PYTYu)TQQB<($msQU3FZPYw1YcDZn z4t+z#i;bmZ@Ezzfj|(E>hN?a`?VEfM&YmXv>jx7u^kr(g_cFn)txYAj=O_^N+%-Ua z6B$xxw*KCJfs8|wZiPSUjUltE<$isEF1)|H?u$l&E>=6+WrUZTgZo&~*4-RB@Q59G z_H*cY2%Sy3Q^-MIroHww)#pOK%*tlbNyJ48#^hAq*W&4-jSB8lQj^6S>7 ztOXnW2Z!^%SYkN6>#5S8R=A6%Ao{^V8P=u9+YMN0WAJQS^_IIfxQg}Lghq`I?CeMy zu`jbmBf6`<`a|`RT>LPh@v16ZAWDO8J^`0N`PyrfPLqn1fJqzdvEpD3%<8sB(lCHnO%G{?{TPBov9wgyvUrH{7bPe|1de)6xjc}9}GVAKbnjgb3% z_klyQa=8EF2kHZ15^ARW9+OTd1H++!>sr--SKFK_zx_ zHly`#-XssAc^nJBqZF_%?)I&<&vo&>_lh{!Q&4C_(`^$$J!oL63HyG<2%ETqqgC|e z&>`A1CE|(^D87)gNxfwSsb|kDl5SXm?&k-mmRHt7V^04w)mSa~B9&^cE1gHH-B?dI zCVhf7f2KF6W>E>qzX~iwyVfGZ*?j4*H>^;>caF}i*b&Am!_*{dwed-^LBiHpeK;?h z8ycBLWG?+2k~J-*fK3yb9p4^G!Dv5u!>xQD_^wm+MJ&@A)&~{8UlFjuH{@4Kxxb`= zoN#==c*;Mff_O&h^?t89zkctq_kf z#arPUQ$Dl+&KWaVpWkiY2D$#+CHJzguod~;-@FQy% zE?%s;(>+3zF~7A)s?fv%ls+b$<0j^{wd(Q#@+J;w#`AKpx7!x`U%YoW>9&R1B39Wg z1S_wOT&~?@2xDX&K_)u`h>lmv4||}Az4Jne&tBU=_JyqBjEC=N(_(C4&sy3^E}II= zO-o!rJjh~kIadn=HoVkDw+00T`#VExs378d z_i*YjCR8Xe_t`fq4NRhb{;&LHP)#f;+X2^t!@1@`CLc{W*{F~*+0GC9^2E1=2wPyb zsrHlH=jKquR+($*W`I$wd;NaY8vvtYmh8(YZ>Z0FR{3364gALag8dv-@#x&F=U|~5 zOmH(W)A($GEG4hY#b=9-pFX&}88w8N5Mxpfmjr~kXQsz!_U*XWi(`j4kj1pX6*6vMQterdzw2qDm z_pgO7)EeeJ?`*+kT1uV5VvD4){N7z|#PvDi7@IO=4cT9_f)XQ15PPVOy}4Zjb86az zHu8I*>DckO!*2=ypy6aF)l&x*KE3;7^MenPJymo?cJhPaOy^IZBtg6}(R_r1#|Svf zP7G6MZfLTc8cU+NfzRx=l^(&hAUOH**B}0Vcs=(K*IHb1OW$$is1dyI@`?PzeTAtl z@kfo&F>2fR)~9Abt2qDj56e7t)%LfUVXx3*)@@tNfQfPYtvxno;J3LmVBD4a#R|&;@J!_7Ii^qpsNmRaQ?aa#JEG3kbP?+_#p%7lo_B?zqD-K{l{^sE^T^XNcyiS)lad-V{klBxv2US6&ccAR5FNYK|NBRd5d` zn#1C@WUJ>Vyd`(C^u!R!M@=0goUuzMeMK6REK0qT4GpN zJ@0LGZG5bj5qqIV7skrEKI-wvfT5dcOZ=1zsAb+|{uF19^G1hqPQp5%tp3(2;lqs- ztr5clNm znL@-Fp{|mBYN*!Sqv3x*6%wzZt^5l|a61hGivxym`@2H>@BtFO-pN(J_Y;7c!P&6k zA|v2w|HRgmZ-m0v(#{Vj+5)rxzLZTB&q#aM4_n>8^Nhy!?a}g8d3R`Ni#@xMoeV9y zT#esWlhO4;&APRjMESXrMYfwV=F8^1aP&}yOr?(A=o~w!>1Q~7_4p53kBQt_xywID z8wG7QwJlpf3+1}^M_DpF%lC@ylO-e5)pqN4Eiy`H6=lcA>7)4tk1t=i0CtE@YG!-# z;G50*_bw3Er}X*NYR6@IFs;$Y-9OC1*z5-5swYNxLHdk(d<_M)Rvn6}w6nwJedYUx zSJq*CbnJM1mKvD6=4tG6UI!ZooMIbOoxsm*u{-IeCD!E`8-0Gq1jPbm)jOwiN%tc( z1icrfu)0jkrexR*kJ#NQeljeFvK%DVqd}Tbn%UX)OF)6Ji$frHgDYscUx^L>EQOZW zeqNIZ&=SnZk5o|6)lhGuk_bTjq^1!R!t3>n7)2K-#oc+UOl&@3KtF z483cKKYj)M;y6gci{YAE?1zSE8jc?+*~t=+1aTs#0xYmbNc!^I-EPpwuP0}>nFrFF zw~zD0%R_(OtC{!!S=_0g)u~u*iKOW;o>Xaj6uaTr{rtywTBn!w=w!Vq^grW%v%6ah zwZ|fNDOtOL`mP0oZVO59S;OR(5g`ZN&yMNws}b{!_ODlS{;cylZ}Oe`Xo1WfDlyL^ zMKSaTjU>?gmKRvVGD&(Cv#_a~X_B^YYBA%^ zFDi8V)4jaxr-Qj?ssxJs2z!r+uie)pmSC*rKQ{MF0qi!GXA8C|pwst+LT!2%C_mBq zcDFSd?MUUH8`Y@b&o$a+e$fpqCdPPH?96fJ`qP&Uq)Z`Rp=0_IIS*{db-a5 zQszf`hr1yk!1pw#0Q%i8TJL&bl6KL+Z;;_F6&KhG69*pa;>`z| zw@2R7!M4GtEHm*MV9;E3-IrpB8XXUy%JDkLp!2 z>j&xOWR1uK1w3rx<7=9r01NSZolc1b!nCfB*u^e$fW~(9hh65_?3DQ$Z7m@?Cv5+f zDnqcKcJ%6rX@Gy-M#B(e6IhIsKIqqMf+C<)M&z%BiczNd@bf0HJt|viX_8p?JI>hK zoKeGR6aN`ic`G<*lEQVCq6;sye0t>8Yr&e`1+{?R4iov>%6(ilWqY)O2;!R9=%dJ>L?dum> z;N4$&0=ulie_)fB<2ETc^V6@n{xgkM>Qx$W>3tRHC6g!f3(;lT_>IYD88O<}ElBZS zy4y+P!13p_3q++ex-qiKpEM0r(8__Gr0T)^iY77cwd6f9Kt^Luk1-tg4rY| zx0FgV{Hp0%_C?47$|d-89%Pz=<-0p&6U03I&FAaKK6F{b3yN$@<84#yi9X(VMa%?@ z#3IxuHoL%~&7l_>d?#tkX3KP3Gcq{Yek|=}GD7~Mlf6T}d+W1w5_Vif5D$1jl z(IE~@+A36!r{ zT9>P5f;+leBA+biLcy&%pU=9wu<5zQ$=h1GIGbS_5Nq!W2WIv@oT8(`j_GS@-|46* z(RfdM$ZI_?IkzqaCpp2LpbdN9B|71OJb}|JycTe*&1pm6G6nW6Rx`!?RKsVQ9Mi6a ztZ-?|q5J}!Rj{sx4#Ue1=TU~poe>rl% zT9g$WTCV53ykG&wB=r8=V-K#o?)_YM#~5cFv z>@n?}fE99;d2THeu!8Tty_Ryio^bt_!-m$i6nN$nF^Fpke>#I-Md1$%*s;2zq>q_| zj|##jH?WWZjN(t3;d&4en*Dg#Rt~28+O}P>kwbrL&xh&zoWPACuw!A-2AH3C4-mu; z!rFFQP*AcGE-uWwu2ApD9k>PtoYt)Y8qRZ-G@Yiz8U zN<8ag2bDU$sUO~J!(*wZ-V;Kscr9~?vW8{}E-O#R-;A5#PA@P1U>-xb!lcpCscr{z z-xyXcC9qYjsiUg?zmQ*6T_>+3d*m}i9r}gMfK@DHn4MsFW_~h zCTcm33%sn1KahhuzR|y_o9>)=oFqbOI>9Ja_7F+9b~h@eJA$(V92)y zZKqx`Q!e4Ba`;rLxylCLvz9JvDO16=YKZ6PHVT}0g~`jo6ciWB_T$-Y3Qi$4uqK(% zMT^_*ic40+j~CxAyEwam{KQcX8;TuN_h&lQ67${LomU)h->?Qbt^<*I1bse=UK+fh ziVV)@kE$2Vkv7(^mJ(f=AvKK)KPaG^rLoT)u-jj!0V@VuHzXX$!JS_tP($s)T)&%*S6OE#IH>ug2Y= zRxsjQY(3i(+mQ5k>-D?MJNo~B4C!V!MUkxfn+W20V zjL=HXb|+mE7$a#O3EIOFLI!6g&e^M5OhHC0Ci_*67Sfy3$hS1fm}B^GFZbHtv@JXN znoqK+K}O{0ozT~hNfGYq>DmJJIMrLbNnU4VVJpwq&E(^< zs8y8vJ}1HnZe@;51g~|2R$3gs*>jm`lX*Y!PVmm2;zzwsB*|02ywCjvB<=aRb4l zM-unl(}EwpfK>o?csotQfOciJLM69Hm*+LY3tNHUS zM$pW2?YP~TAn>sd{_3!1K$kG}F9&)FKks~&IL9e-A};8uTi6yJTwttA{3NLY_tcnv zXL2b(!FQ=2iIs$2?X1bIgNN0yCMDv)r4dQE=i4}{yoL$Rd=M}As;rBuO(m*Fl+E!u z^~?OalTuJ|RFpSDOAExN`&3!33PAUb@U`dHy1;PszEaV7IY8?*Z&akz!ML(9n)8VW za9Myu1stVaiR{(t^>z@Z%qqlJO!(WK#545v zTfwi)sTMCr~(YGZ}~L6i1;)9?R0tpTA=ZrujX-x7Rp`TB#~Zj1^f(p zug<6%z}xq?FYmcNMB)}t%}G0@0NEz5tF;OhP)t%w_fp_$IO;l(_jNO2zlmw>qnpqI z=#IL%OlOWaj@7cZuvlTEbI{X!^wPjk^upnziVR$Os_D4fn2ff)-b)%Ip0LmC<@O#w zYZ&HhuS(LA0mZHBM}LO#W1rgML_vooUfOwfVbv`coZOx<5d20Qcz>j=?fYZ|d7I8uhY54y`)Vz$;Y%Z58r6U%NA5o9ZS5q| zoI4-elnzEHNN%cmO*x)q@||%46*md#JFfnv(Rval+Qoq zXf?_(z49i#`WJCOnS8H)f{0JZtXn6OMrVKtojrcKsVvyK@DNXYvV}qY#&F3`+EAUQ zSG9c297oqgItpf3L!^JoyjZ3=d?M9KW-wCWKxTZF?UXPGrw$jl@N1xT$im@9H^9xJ zPp9fHDT5Yu!1tpAJ2-iLv9mt`$ZPhggR{gAPZ)=vd(0_~NxRjCrmB^pu0VEkQI#Cj z=DYT*@VWsbG0O4pzK!Enb4HjE@4wEbm+dvCj2Dn2xX*eg4@WTPoy%}A%YK2aTXFWw8w z$Rpz2NORVVHcs&Hm&=a*U-jVdnR2E@T`jmha^70%mOQwfT(d3J(-d{SZ*AavEDI9D z^d1W8iZC^NIChoXI-tfyXOqOqSZG2nAv=3PdrD%+zOFj!pPus z&ENF;J|ZrmV%~Lci7MQCwKlDnOAk7yT$MWser=Uy>5!pf&}4zuqhuHGQ4;Dqv5pr$ z9BV#5@?ae#URPn?RBQ~JVlF!Amzv{~ihZXQBaMMmF&}T7Hh^ho#&2tW>BHRtF{KMF zB#gRtgr#eR9bPx?=P#HMg)<7lJbM<|u`PIH^@(l=i2PLlC4-=5%vkWQB3Y=wcg@vx z!YC;)8(VsW1wBk;EYnk+urNqL)1rk5j6?;w>ijOI+;WFCyZ7z1K1d5cHq;%I|y573plhdGDAdL$O}>lP$*xJ$gmp-Q_Md z=#GoGf5M^sz+BaxbmCB-2O%X z3Q0X6^Y`pX9|Ck>%r5z)U=3jJp7ETpGqolOH}U?YpjyS?+h?WP@Zp+qZC{Zlw&jOo zB%v?+s`X3prjr94_-!@%anTs=d410qxIyS$`$)ylN=Psw{e)}BQ$twg!uObetuPL4 z;m(<5cLdg~tr6K|PGAjB|FUsX2p4<$&R?r>fr}LZ#zx*moTbp_nK4}=UT!$+VHVX9 zgn_w2xyJ!A9I2mTyB%=p5z|7ru`v;&sm1o7RspYR9{fYdt@euYT=0PFcN-s^J#7s` zNtOp?P7^vk^~9m^aUQHKKauuooCnm0m#0UF@@11$zE_@x@Jc{wtg?*^J?&!!wM6;! zg+w{J52i?;U9La8)(pRuXqSo-<%rE=Sezz*!6lcP(4Ni{-vFGbM80q zX_}H%xZb%ngkSF;{@$}&Nh3`Mq zw;L4vZaVCkmrBI>+$5EKa!|x? z5OHfsAHFi432h{}b1jkAoER^!%pXyT^ics0)c)+ou7a-~Uc9&ckqR8jocET=ph6=5 z`aG9!3#0_T^=~c<%+Qi9l}QTanE+|_d_q8%I`}@&H1+CINBZV%q4{){C@UHitI3y3 zBE4O?dB5T*Nycx(>TCW=Q1pGb&SKY+@gEgnON$ZL**3V`n){i_X?O zzdK$D_macT$QO%YojYC09v4>N)eh>Et>i)Kdh-wLI~~A*f0MfMBNt-4R5|0miVSOd zwcb39rl3dS^Rsh=9x+YEAP^00*qM>Qf1FU)UD1n&22K+2#BwVdpt( zxVnU3__O_YRz}Dm5Z+rbP-THWPdh6A@ZtW-G(IOcq;ds@Dsre0cAhj%-8CxkQTvm+ zBvG!M>?<=?v;?tFOc|yG*&C<#s6HdX6JPI%Vnr*|S6-U`L~x|c|B}_PJ*sj}WnFx0 z59`F0n@TTe!GL+u6@uu!bXsLxPX`X|lZy^i)WN{B-cbZWy(oQ~Z6pP*j%oMCT2NqH z`^Ij9=*VC)rF};gd$ZQ~AB>lR6}O0}@(d|>+OzMm7^glQR0>_}QgwvmTbgA(YZ>vN z#Wr{OX+vn}J6OHtktX~MJ4I+XEwS8qCFbU7Gi;teRK9jd8hj0yu95g;z_qAAI@e7H zj=#7t?)uXKjx&@M@ZZse85GRA?kNo|1|mv+1S5m(A}6d&@erFt|AetJ#$+93q3xB2 z%Xu7SVF~hhh;jJop*Vd=3H0-%=OX;2eXK7twyVI7z|8WMVq-!VzHPTRp^sPm!25xk zM8@Byn?7E=A_qwuof6sz-Fu*7?34sKnx>)oJW1oNAM z{BxgLW6!Lp?srBP{9y8M^UhRfeD-qiQ^SVUn5^tqp3^D_oK_j8m)FqYfBiy#HYo!;aHf2Jb+2j#Cnnk`ZL`iVVj9y_CW)RVJ1yR~u8@0KVN zA5OR$8~g3kYiX1m3%$F=R~j3{Mm^o;ok91RkF3fAIef^X=a#LehmPMm1&>}~0PRrL zlsX!rkC|N6GwdXR+^RKG;Syr-&3E_I!SiD9Mbc#Kq?|79kUS&4&_~4e<(t+p9M^%3 z-Wn@CdkHb#D;sQeN#vag}(nPkq$(sjKWPwywm|qdKL@TCV z*jz+sf&C&!*uyj|LD2VDK6rM6(}2*!GRwv9+SB9>!^Z@i`v|>HPV&n9hHicM z$avOwZ@U8s?~Fdg@>>VqU7c#4nA5=~o38=p$1Ne(D0F$Uf(yd(M+a%dyd||X>(T58 zu^w!GFeSLX z$0q}LLTlc;;{c(>X2VYG|Q2DZqWsy)#bBmh4r?0nqsuZAzfaW5)%jgwCE zuGoJi;+^VpZk+eNV2vu}HRYQF`$*0s+g&tHFvBT+Cy{J1T`VfmzjO4S3xs;?`azXm zAO-qZB|p14Nh;8YSSqicq%CdOT@-#%2Rnqx8^#G8<*qARy*wB7FyXn(lf)tekdHJ; ze;G^xMNzBMAu9G@LN;$Wt#66c!d&iE!K(1C_}ccRayhuhz_D|XPZ!mKTkgSeD)xu$ zYTH?1~KC1YFk7u~imJlmkb%j$eI9vygeF`$3U>5_E z$EzPFK6Az`QQesmW5z_Pr8GtzZ!u`t<95S5lpEz8uFNq+DZsa;m~VsjGRVE3_q;2+ z6jW{TIesQu6Ee3Rdb9JL225p0imJ3~p?-3xOFpqad&_#Dajm2&Q0~tx@29XrNFa-8 z?OSa)@iODi+3pn*eduH9cXSHajod88uMB}*l$Y%fZ;nfoLibtYdXDcQ>I$wfDkCwT zYN3XQ*``7ojj7-i#mE}+))FRKvfGa)Q_)-MYQljSJ0*4Sdh_}pLI;;B8jk;v!qvbgh6T!aNMN(}SPKOuAlJeFSr z)X1Q)v%oh) z29FF<*1(5l#nPl<6%<CjQXh89QvP2F)Ap$)wh65cB8sjcBKa z0{6tey1q371+52P{;(*CyHaMe8OSnt&KxsOCnzZxjX#L6igRfnZxLDHIiYS7=W)zFb_4@z3LSO4(yy6qXWcQi1l zA^KtbnNiXv&hOnxj-N@H#)q;_B)B4f`a}0E7gVA6s+&T@FJ<`bn6~F+l`2ZS;p%SO zW{wMKi-!^(nxkXK&4)xQZsaGQ(ZhR3>kuqCf#-D8eA+MIV$ zejwL%(gXfw_qdkpwEJ1cJ$+Z~p}Ctm?0LOC;4Q<)J!PiwsXarkGDCajDks0m8fnm?uL!HypB->k}7mN0@<0`RtBS+c&Vb$J8 zGro1@mZiO$g;E4cM>S>xO*D^Tc`y2ri68hbNtJtfb$ zpi4NM%T9B~C%!ihX0f=y{K0Sa`}Oq+UHV$jc7H7drlOO!fm)EWX6RW=ZZE0Lk)h5} z;5+F@j6{A~$N))ut5`wF4L1nw2}m+(b%RUw?s7@bjp4kpkigv0drbrCNCK^4Zzk9Zuj%8)ULca{_}y2Q-XAbwF*+ z^<9RcE41~@rMJ5>DafMI_=WzAC0c0mrSV;Gg2P;AzIkME!_((3{@z{U@OY0E<8@+w z+E8OZ%CyG-^Qnhg$d3cbaL* z!3Q>PKXpAh_?aA$&HBm&jPI1WMKU>qkN$lNmlh7l)1GfN(l!CNEgk4L2nww6B}3#))?Oc1NeC1l z{_v2Zg4_=zH*1>`Iz9iY1TJqfCTE|K3*aST&MTJ!w^xHSg`;9o^PN1efrZDRGXqdiJhQ8m!ya3xfu(b%*_akAo^cg(%4?j zqn)&Cnl1M`~~$=LvNGtd#PnaRJ+4kr21 zJa(g!xPBk+?UOT>`1J`dhil^;jq$ro_!#Rv?WnMtea{^--WW=GPPyw2+TuLLEyR7T zs`DFzfZG%;ta4@Rpz9QgWBuZn=>&7kn;m(;69i}o8P?AU`(bcJ>>7GDF{lx@d~i{` zhPK+Hvn{K@6%Id6AnhQNpe0M1OrIkSRYZtaiueS{QT3K_VX_4txW)5zTQnfEM;gYi zS&O8sR)^zv z-};sCQwFCpFs9k!UFp)o9A^=9XnOIWd0rY+BOC@!MRVel%F3nLt=`~XJK&_!M8V%b z6YH|mq~L_xE1I{@B$4*|`P_)THST)3yK%!-RZJw2|4BAo92Tw@knI3%IOH=x?es%8g8ZoHtGUTe{9#mqxWoH8PpN?kuKvi z@8^{<CY2p`yWdOWgF}7S%ip-dj`0ghJ)hlRDs-ab`+Ga6 zx_DT;#RAa^iQ=WYM#LIUwYOD7K9x^sjs-^ow<- zD@MdPChFqN8hTg;t~%Y!tbZsAyZtvL1fG?F4xxiu)Az`*Zfl3dG&>Q;)BEhgbej=K zbgiMjdT)-~m^|FeKbWI>;u6#!>9-(9H`1)SbgR{o8i z8#~IP%7iZ&qD!_R>uzpYNQ~Rf;xa$!m1LKudsq@F6dp=M(&k zr4>B_mRET(`g8r2#c(5tEq(nLPb+dx9S@a(eRr~7zL8jq8Z~Bru}R%Wb;g&3ZtZW@ z$NQ?Hu;-EH6~{qZx^D1Qw3?(Tgv8NHSh$0vq`Id-k|$igoONm2m?`YKJK`_VrH#ft zB1@s?RFVIPyYk~{SB&OJ5%~~D#L25D<;oCxx3TS{6p2`A*l^u=N@0}?WIj7J^M~7b zvXnYTjNpNvi`jK|bBr&d%OifS4#ldz6)@<#;e&{_-&9dybU&W7A-Gc(j#_RXT^16? zcShF@K76o)?hFN^UV^HlrWeA)w9rD!xUlk?0bp*<=2O4L!JKZiVCP+H)H<}>f2TUl0Vve1gw@vrlBGTqo9+>Lya)8GR=2Rtq?j}R|j%vLA#+EpaikU~5 zI@p@r@#$ll1Xi(y)an_J(eC!nyO&%aBT>YoL|cE1kS>>v^3aBC;PvV641d^~N8e8+ z>@OO_+C1Zd78tK)XWA4;!K&4Ks-01U-u*@^k$yl1`cli(dKb1^17$%PZD7!SjKUL6-fdxKPzrSk`Wgp5EV58AD9LDblV}#I$;rWzwh^Tuk05#u_b#wnAq7>@SJ@ct0osG8*eah$o0=n24*Q z%vJL<%TtjtR*@rBlgP_M?Pn7cawqf>*-!d4yrH()%W0ul1nX^XSIsrrgV>$+FF>;b zvDtz5%WoVpq+$ERiCRNA%YJ-Q;fNt{ePiw|RWpEdS1Gq2rBN_o>6_^0r_OLIjQOBU zFBNrWkBgf2Qi*)3+|iu0R4*2cNNn>ok-b4$ckCX9xN(HMDbq)beJM82)Ep;Z!;|hCS zJEZJjdcd++_%c1bypicU^HCQ^jZfQ%*4e;N?y{B;!He1QBf@nyn0#SX*&!|$%vk&` zdX%77MfjgG{M@`s=Sh(o3OVPG-ynErZu0)aB0`@dx{)qv*c{Y#yXIz=6#gxvIDeYc z#AOOJr-f51C` zGqq3&?G5`IQ-fTHcnzof_sd*h;N&ZfPy=FrC(8E5ROsWI!B@)FG;7p#A7ZmcJAA&? zF?~{fA+pLH7brwL@ z(oJ6F!VmLTFPEh?3u9=|2w#tmE|`g>M~cepA}RV#=gK-=aL+6GxXQr-UQ<^hF4M(c*os#ZKF0)6nUC=hG>In48L^ONdV7PM{wj21yozq`VNEv z%33KN*KZ~TLn8{9i_OpzX+W{*hJvnr zjs=!CpJ#P8u)vtW-b?P97GN*p5iw}Fo~HA|gTLD4DouW3-(HRVR;27>Y6=NNJ#Ol9 zbU>j6F0qUR1{PWXb4!?=29c+2zjG+7<$?-&ay8hp_^E)RRqEu|$u&eC(le?JRoYm5 zB1*Y=i480-m@1oQn&As!`8{H?9=N{kglF-P7dRBzv#wqKOf^vX^u!_GlzUR3O(~#GOYAiJ*R8(K%QA8zT3$< zxan3NU2n1u@Mu5J*^;P(8z$d2TK3q&P0g;K6|=VRr2YGaKtfM^G_$}+W|V}A`3?O; z+gx#-UgKA1eKJ;uTuHteZ3u$mA!R|E^wF)1=W*;NeONr4OK*9funVvorpOZG&(ijh zPKieppfoBAD)JHQD3{-t71fl{G$=z*Nlh6J3vLX4XKaWPObriH?yQB~dXW}ykIJE? z#j*E1!OAdKBoMIvCz0QUK9}#F?;3Pvk@t2_7e}#<)rPD|;ut0M-0Mx57Rsnc-{R{r zL)oirXLDmkQDyV%J4a$gp?Ywi$;M1UJk^)-iQ&8U|JkAC?U)}C#5Rk$s z(-XfR?`6YJ8~IQEKEw;1Y;CD?N)$BBYokbYSV51ZL4{|q324a1ybCZefr6X`kteDq z=bxU1Ycm=|dRGB;aImG_w7(~udJ z`me3D_|i(%*!Pb}Lrb%zPm>?fR!baG@H4Q52L@BF47Rq=bE<8|mbfo{2+a$1)h67md4QH2{<7|*nKd|!2>W~_ z*t(ISiwOUL%|Es)9|k}@O~d5NX2ks6;B`;6i8a3C&jCxUsxFXgWKCwT1LoRH+)M<|4os-jHj6x`6bLq)d zH9pV}yL-!agcnarwRs6gP(UoA*V$-~HAr2Ha&MS6hQ2o%!!xX8jJ-Nl@jID}QESb# z+IAE9Vgy#dbtL*}z{?Yg5`p5F^kRRr@3=H>jXPJHX(9z08@GjUlcb2ex2C^pL!~g7 zJ7vx7t3#wN9*IwfORceK?CZ~tQo`?TVb{ram(vk?_?nPhX?h_YxH25^7I=s_#h5z=`ULp~ zBNTj(nc}hFPqcJm-qA8&xth&g02~B*N2Py_kruYSwmI{tclU zC}_Qtyn|5}zwsRNIB;+k>L1e@IABJ_pVl8=R0oQ|xLWRp>_7zwSbjnkIK~egbDE7D zc^>da=FX$*nI6Ef$Q~6MF;4m%A!FZHDvV_x=cjhq$)da9#l}jH^*DWAEo6m6_}?Nr zyR+{bL2!Z0O?pjf^w9D<+(umw!z1s#fS}siXKvMla@gauh5i}wBo+jfv)bY9D z?rni$9?0LGc-yX$3h}p3T|Dehg)c+z?h|FaxOLHnCCmng>ZJQRY}|40zV*&T8T6|j zG5ZXf+%Iwm@ye?Go3mG`e_|L%v|@$da>I{(dokBj@i)XTT} z`~A9qj+gtN?HT@;dVB2tu9xrdH>Limcln>~|GVGzf6C*of7kn`+W)oqPyhbE_R{=c zabW*l|E~L|AN+fe|F-}CQ~mot?egC<`yc-A&cJ`yE?xc^fB*f=|LJx~Pxt4K?tk8Q z*3$ib$M~<~{(suHph#|DGd% z*ZX(A^uPO#|9S2Izh~gTw%>o};qCvlpMSr3Y~c34p2i05_>2FxXY#)l{vVQ_ZuMW| z@8AFE2q^x&U53B6JonEI82{Pse=Rc-Bln*wYo&nh?==CLPIon(?#e$OU?yJu^F9Op z-y3B8r#>US;rhQ@JXzzPP5%X+f41`HGa*;oHgM3{{Pj9L9S89aD;+g7CS+&$j$PqV zf1d|l20A(sqQ*amNw+CHW=BL&NN8l}_FXYjQJbZ9g@sCOkJ=O(^VepGyUX7_tl{Y2 zd$0TZ<^TD=VvR4!3S~e_azef-Q~)a-V=Nnv3j^I)oJ9R8C0tYWJ<`Zk7sHC*p4Ho{ z1a#~dy@tAM(0%nq@7KAeXj77utyv)rbowc`itGcBfw5^Jyv6{zZ6;KFJ}6?6x-h5B z@o?-+tN8ew&>M4?ntC*aPLYyMp7_3h78a(bc^i_StQZD7J2yUvK%0TL=Gx zy*H1?^6T1%PthPmh-gxZCX$Fk`!Yo+Q>IYnd7dMjq|#ibG)YPtq>?l{FGLe6QDlxX zM5B@>@8MgX-+N!*`~E$j=Xw8n-skQgS@yN}ajw1AvDaRE?en4@1jPoJ=`-|~hgpu5 zCS=u_4EDxY5kh}Ibg-`5fuR()J6I;IBRWw+lAp+IhTfPt^}&a zsvqxZq_c$QWIqhRy`>vg`Udu7&n@{AU&|H~+J4GR0f8XASN=C1@jrN+EcJGH$Y>KP z|2of7Js0w@yy4QXJb6MnWZeJhB+5`j4JUfXL+Xt;^ z52AST(0sv}A`G?V{;sPZof-OpQ>EQ)U%W>kOFaIIB10|O>hAU)I3pdyq{4j2NzLLG z3EVfMUM*U4=bAr5r9Jy@e8q!sNrc)i7ZoJ5e}}KSMIbYR=iVPYI&#-jRU@?tEyw!V zAs0YiDD;Y!;QMc=j8t8oC7KM|WRhx_eITivLPSq2UPdTYaiItN>li90t6@w=2$}Dv z*;MmZh@n*m!MS?vzv# z20Qt@KjJ}<6GI<3>TJUsNhZ$7)Ns~TVJL^A#kr+!3}rj}sVjd3iA(NEvI$gYs8M`# zjB23gYBeQiqi`~3M|EiVRwahk8xYBuj(Pus$NCSRjOnvZ_B_OUgtVzyM-^j<&uFne zzx$Z)8(*_^EmksAc3PB@Cry6J?zE|{UqYxupGyyCSu#|)YWSIJu_Rq$+Raa&5Kbg%Pxvv_iCWs2qD=^s{5 zO1;+_ZfZau7p56h#S?9n>Ia*L?ekU7v+V{Z4Estruk`GAlI8XG(_yc#% zizCYlg4;5-eJr9a>u0n1LjD6!<{vzHe|U*yus?J8+AVmWJ@Nn=FRlCf5UBMO-$H7Y@ct&{1MP;6r z!yP^*QNv-^l5@P^$KHhffvXvMI=y@J6}&%G*JDni_(X=Xt2Gz0U(V3&>m$aEvtY){ zZaMxCbiKHE|1Eun^31P)dccF}3jZdn%7bsr02TL$7>#;+{MF z<<-aH{=2q>7K!?{QF|5qFvLtc1@_5-hu7=Fe5b7vgf5%1Tw|RZq1TQTIDk4PiYMLe z`Yw5fUbnAJOw)}}drlQZ*Xb~n{iKWiyp{~@yjVRv*OO4w^p9ztHe_f)vu$E$-5I*L zY4fcIK7@LzFIMD-=j}?a+&Uou{-HAW*j{hUmvH=7edu|^shKe=f*7hrY#F`7gV2&e z&Z&;*KQ->lJ9FUVz*C^RQ9XZuUlChl$5Z(U0a*VMFONF~-WcTjB{6q3!_r#+u1+C{ zP%AAI`nXpx?4MgN1nE04>}S_g537X|O7?I(k15tCe}1JI>hPERj+mFNA%tov_0=pk zVkn7O`8PCt8M^w4oqs6$c~i@MG!FQSiv6Fw!Fu$u&?@FU#yz+4g|8F%<$$4e^}S$* z6VH3`V;`mFC@^%;kjB>a;e?VKe6r<|F2lB%R5x0|3ePLIx1ehyp+3}iNKMvYSTz+p zZw5Frw6a0eHK8a%?bMd>`@Vvq=G5ve+2P92Cnk@XtcvzZ*~x}tn0K9;)4>T|40TV- zJkKYL(E4IM8@CuRl=g9xr~1IzryDMHGnCL1X53#V48AtB+GBewAxDO?F}Z4YC7RGRY1D%wS`20FB4d5l1NND@W=&)ip>0K$s*Ho) z*k_b1P6B6{!q4VfJnzIh_Qd5Y89LM`Cq^>#Z+N)lEPe8oq#1V6gxpu2@zC4*oQe3J z3R?0>!zU|R?tuc7cYnyK9nSkfZ ze#E~^k0W$WfIu-9#+_0SEnecr&{lP)Jj5Um^6*-+270!YUvezjAN90{MNfIg5h^8m z7kf4AcEUd43+CWY4m_5Bc!|Bs)B4h(Eq~)Bwr!H=^YxH(@DkOY9&S^cKsb4c-e2FI zd5N|@>fCV}?KyafYFMHcV1oWRc!?8_sz^(syNN2ZaYyoVqoG-Z8gMq^|BiLh zY0nwECzec!zi&cg`E)$5Q%)AI2}7B;ygHS-fiYNeg-3qvG=}=QKheAv@e}v9dbYkZ zGhP1s=_AeHi-fKSDQ)nAnXJIvyPnKF&CknaqF@K63jE?TF(0FN9ZjnPnEXkv3)a&! z8A`5!efcEf8^fCef+X~Bc=$WsOq=v+8AEUL7Kz(q1;4PnMn}N@9CeR#EnCe{8EHBy z3D$(t6%%-sf^qN8T4FC}gE%DUj@w6bLM?op;2yaa>#@h8i2be%MXOvA8Zsr6QPkA0 zY{*qzFPQ|w4(a6~FmBk7BdXV|7+Q92&DOqB-uwKtgQP9S^4kkp*_Uf9$aTXS8@{Y%SWaiold%B|OD$xTeggW@{rNB=(t@E&6*EH0jj$;~{^;6Sb>I*xy&3q0fXl7pw|Le5Sl>rXKW=nSJ^33_N#C zn0&3~Mnda|x~ji7W2k2vgv;E4b8{&DS|F0p3oaW{mZn(09B+#+^p zUu91-XDHYC5n3O?^I6>QjcvmSwST7WlTVO8@bzlx3uLIujSkFPtQWVus)aVgPPA+S zT4~HX2cE-qDD{_<7K=Ux5hyFI~^nkjMa8paIG zdrl>|5d8DaVK#F+7SFZ%#8Q1zhW>S8obM^v=Sx}Z17_gi@j@qFZi3!yhfY~8L_BQ2 z;_8ItO@#9N^?5J+i!zFC7jgnl+_*H}yb1e_B?+fD0;f`#JiY+sZ+PiIORcT;YK8=6=%)X}W`36~&WpD=B9u0F%++qO$}gCoOsKX6F-7UbfE zvlES==V{eBLy0a7-Nkk~Jp`VVIF>CNiqF4o^`ox3GwipqT?;+HlkzW*oi(+AJ-?ZM z?5H2Z-WUGRyaVmYrx(W4F^>xswi^tBKRNI${liP_NHuHjO7Iv5FR{kHZb~kKoP(FB zlBf6VS3=IgORSBn*G&xuPjc`Qt4^-i+y-(EUZPWY&+@3D9}ZsP#M67AmB@*+82yNA z{({wW2&FY`TVcpLhPD5r*m53gX0BFQL+tE@cpsEc9IMiXVMVGpe^qf}R)&S`_c$g_ zDBJJb-o zZAR$c@vH|koUxvUME9%<`x~At-|)3xa1VwSP~Nno+68gN>VZ;%_I9;e9+UiayzEHdBW;=#{ru_O;72=JE2%h)S9*7gp7c|br ze(7-d2aP1~e7LqvshvAP9Jl-aa!1(z!Y7Z*f%EM^qT?%!yXvzi_Y>^@^=_?7lm$)> zJUjCH7s_2zVd&_*X!i#2*lGW#7CneB*G=%Z3Wncb;8bjCOYwAj(36-T2da?@ZVmiLa&lY^9QL}1u zI{2_NY-zLy{A+c5_S!h$R4y}HD2}*v(kt7o6!6G=IjAH9oN5OWrisy5ACI4PzK(Hc zkpuTLd>N|Y#F>w8(a)ucs}wyj@5LqWk9`Jzy2l!4NJ4%k`MJRz;9qoj;!Ypn`jsX&}TP>Jws*duL8(5EZ&AYJ2BLu%vzD%UJN_;<)_oq@q|7w_r?1C zkZbrf+%?8}Dy529~wAUCE!cJ0Ey%JUfCkLJpUZN))aavQi)3FFF??=invw_=*cjd|P0L|Hw;}8Tsu;8t*SwL_AY*{iz!AH9rCqYrVah_rCh`Ix}VwYWMn! zi>=)lDvTC=ksrv6*)VRA!(xiiF4EZr+tB}Hy+!`kp?||OivQgv3p;g&&Koc=aIwVt zV!p8Yu`9z)?CIhSz`DKvsp*|p;7_USqz~~f4E8bhU)5oc+5RuKNdm=bfgPJcxMjr{@y=O=$luI_#u^EAk1!x|g3K-rJt< z*1Eu&(A9@ht!nVR20xxv#bVw$@WisL4?8bXX6Uu^wUx|W5hpA5U)qGY=eohGynUwF z2Q7*)ng*Wy9w41F4*iVYQu2}y@$64Ep+H$LLfv1R;Pw@IXt=AU-vItwe__A)5$w}V z1Wt-4gNHZr?Z|xP34OC(P37{2-WI8fR-vEdTjKpsv9DisPkwy~c-2?6+cyXN+x+s{ z5I=Bo;1OP+>DQMa%CKDKT$nQfJgHhx_|y{Z`P37eqOX$na9G9L_Krw>IV_}xyp~}{up<|Yo%%YA%DZO(`)0+pP!@|>h%2+ za|aQB>hn(4Q3b!8ousLH(U_qgEB4rmf%l|OBz|wed|gcYG5P#fffRyJefkS`YM&1`iCf3|N5`qqZH^n8Z#C>!9hVre)bAIrYOdo*q$P3Xa2 z&%8VFT$d7=&;y8*AMH!!OF+E3{Ku-Rx!5NsWi97LK9+j$F>+}O`ZtU*ILbY&=S7_c zZkTrtJXgO)=Pne{VAxex(<67s6DoR2tbxgTLTv! z6-wldz`DBJXm3d`+V`X^eUt@%IpHZUq6$6L^9uEgY$o&)8OqBR`U&-`6AtoWSe06_ z8y=v&$6!&T0p=@gl=9F6_>q9Lhmbe=U$k{hN(k(H`R7&YJ4645XYwCjV!wMbX-O@3 zkAs)k^Npzs25UznGJ^XDz+H)LL(Ef!6CGL}%KuRkU^c_JUT za@7$FD<)+8;&ESWa zDs%hV3Tk29_wt;*4*QUcJ3c(!6~weYJLk*i3La)&wI%Gqxc8%eBw2<24Ub3k<_NUP><6ROqY&e-hg~*47$%j0d;;j{~Rr&Vhat3x>rEyq+-D zflw=2KP7I3KQ~+Z&8vbvSPN8?3pf*M)71}S#`)m;ET@lcf8frr7HCSSU3MarU~Ip) zBHH)5x~ES;ytjFdOXqD{*ykSKSM9KqWyZZ5^AYcH;88klboW!a5}{PCdEOHRe{RoB z*@Ar+eV+G_qd5zGSKLYUn5C?LFX3sPLkF2e@5V&9!_T9QFW?JC4xgnai6rNu}Kd-C`dTSJz z`lAAJ34#PY=L2dEF8fn&_wMPSpGq;Cxbe`N=%!lLOEA$ieQHueMefW-dZ(XftPq^6$cOV_VRZoN8X|T zInik*XG8vmXOB#v$>%FN*!S-fmcIsm4|K=6G3otmkfnhF|<~UgQzI z{_I+&y++W8cldmI@2i%KqnJPCd-?Y!IWb!&&0AJf_H8M&YBR%OJ7Zqrw__{T!pw) zaY%lC0^+j+=ZroJfIrDfYgti8#7nEXHp?N-sGaq~sTO&g#HJWSekYvQ>^>U!1N={W z4sIR~ypC>xt6qUW&)s>wSQ_?|p*3w3{D>3Jij^PRABP)aUrOJ)Ph%hLH20g?8{jlx zF63lGj}Q1RR9S&nC2xjong#zn-q>Yi2AtJz)Rt#?5=yA?k>*qA|ESEHbTRBZ6Du3; ziTPna=<|6`pC3cNOYYS-cEUNVr_!R0kl&lQuQ^Gvp`( zLLc60?!y;>{otqP_j1sW$|b8$0pR)l)!xacz;BTk;EseoIqrM)8ycx<9=pM}|@E+WtFm>S|q$0t{x^WnKhouBP71YWWbyY}R6 z454pU9XLB22Y+_$E*cMB+$whX-UG;$d4EPsf&AFHnB%iBPV~+NWm(|QGLCJ?yty*UD81oqDzpUUhaLQ~6eOC#7)5%DXybhe3 z(|Ffyv|?C$9LElxgxr4N(CZHL|4q%TX(iTiLxXuvcOmcmS#T%?csADZpHe}6Mdi zLk?bIjkWyYISz6TUSb)As?0uvxRHaG=+IMQjc$lPIe3Y!m95mZ89d3sORT(fqN@Zs z2QP8rF>^9d|5zePv3i9oNuZB4*e*~&)@Hh=itDz^_OUp%uL{0DDi9d8fQZ93DO^< z1e}@9W7U!;ftU8oVS=3q#j@m{+XO$n`S4EvLGY)YZgR~&O+iq8%7`w-7x7@TxeDj4-`@7zjGq5aNYA322$3~Pmmf|YnEzGvD>=-4&bLzc@q z)nM@aj)T6@>p}?ab9yjF7Wf}N+{!C~c&BBDe6k?+@8fzq%ZB5*u*@6!3y04a{t=Is zfx(G2{6?q?8l}x_10U|wKD|5&?Zd}Lzse&FwN#o^6D?;oQapCgax8IkS)0AlzVST&_ekh% z_1dpaGr^M&zCKD&0-m>*w+-w-y!NKAB(p1;(6`gd7Y*awSi%$i2RZNqbO;8|CA2P$n=ICE3f!zRosvS|5*P?Z*;k^eG%jw^`F#Y<~gq) z`ld;!{dtVbQU6I_m;Su&C~$Jre^Oq0yQZ8&dye`~%0R06doyry)PIiPap9={q^<9` zwT}iKj`~k}$C3r;SIO;zsmg$0ut!U3t|4ADi z=~TQ8{2cY4BY0MF)PK^!JZg`if6n?(N>^}!rU&F4^`Dgby$fQfli;lXq@EkZEiC{} zj`~k}DqGjZ6mpLGPwJv#LbWgY;i&%{!E=tI{*$s#ZaDA``sAqpq}$pWt=%v$9QB`+ z-PsLi+|iz+{*zLb+qd5zcsS}mDR$iFfD*_#>ObiX7fbJIhyAVoa|F*>j`~k(@7T$4 zYcMYy^`BJ2jip7mp-+zbPil2!(M@j57f1akmCv7Ta1;G-)PK@Fqdo1{0w+iPC%upD zyk8D-j{46LJboPYpIA59>OIg8NBt)ya%x8MuzhmWf6^tFH;qw6dye`~%EwAnEf@31 zQU6KbiTmK2069nfCv{Hg`%3}HIqE-0@Dy;=e~$3L2rrG)e{%BDNc|@#FOAfHa`Mth z{U;|cjnsc~^3q8C=LnwP_lQURsp6-oxfZ|c?Ej;{p5s3w_gx~k{omVheC+@Czw(dV z!=Q$5P>iE2{5(U3AA0z{!|+{)k^2t5e>A~QvHtoW*I%v2QQASSjv@X*f3=_b|7x$J zxmwfQP%2DOUO|3|oTBn#B{_Fhl_gHg+#FShJK(4O`hot3NBz@}tIJ>g4Btr^8COw3 zQ9({YSxym`6jYWgDK1xDwg4gpE{gZBHkp4Ka^5E~`6C~>Pr~{8fB!y7#O~h~M9&z0 zj*)+VzfWTF*PpolFZW5L(PHE||LJ`aU&j#FAWui10Dn*1GWn~&|EcpeqNjiV{I>@F zt$}}Q;QzA*STEGJF)vq83-Xs!syc*fuC#hxunc*Kl5K{q*pH^gCTQ2qLw@vxShg5` z8VUBOe=}w%p|<7jLbC{U^Pxt~k>w0^>*7My9^@SzEl2C55#%Y)S~M)yU?{6e-+qOl zUZ5($Kh52QP!+aq(JzGv%^$ho;G;l>WvxBO(gXEwKlbqynJ-12d$Ur6zbs+JKOEn7 z9_N;}XG>PAFJLHzuXZVx<8e>H$nVl63)FQk7nreOAw$J?x`sI8T(026iP~Bx-1B&I zX~#{}mDz-yER#o`-ENtih_EL<_i1M5U1h}A*^{zEun%r|JusNW>jGdjl2@f3@|_M<^8>JN$Em^5eO|b4ajN_z{}SW} zjXJ{jqpmde&bx0~$OEMpv6%v`c%wo*-(G)65QLcE@wYe4?{hUlS0-heVn6;UZE0^&sE?pX?YP$ zSi3F?D}M*hBaUWO50Q5>_M3C49C@SQ`~($k!qAbS_Y85KM%&4bmQF-oKm^2e>E<1{DnGnD4bOCI>XO)6Do`HV+#$Xh7y`Fsxf zqJ_r}jukRz*k$Y5pDEMGYgYO2H40+fcn~!6^VUsi8aXZ?JzkXm-u^jhDjA|}jRcENE?Kk6Y zA#XijTU9|ojiC-teR=Me9>dO@pcr%(@}Lx*Pz~6X`hj<6Dl8d#Qt6vd!}Y?Y<~5~@ zkY@`?Ne(eZJx8!k(X(a_9y0bL?>LZbzIieu{oRb=+pu<6Ozt=Er#PubyU} zhCOeKdFyO|{?ETou)%#pcHpOpQukJ3pFEXs^1?NQy6rprL6rs0L-ytK57)UI<>Fry zqK*5X*^(Jo!2|s4EbpyW*!R+7@}%2}sCb{K`?<*L7N4`#UyS*>B{DOtkB_0JZe+J! zG(jDg;jOtwu-mx&d3R1}q8>Bq_^plRxJT7Ww@}!3rSI%^?O8+U`Ib+lRzbf~YC@mB z)D^L&srA-gcLKkRX}#)aj&ogw%SrJn47)+DvNOqnPz|e<1W{*8tKaONA&7G!>AX3& zJROj?o1pbk8T0p2#7urV-ZvMm+R+l&tQfnZWLmD*O}0Ut*WVS z(Es~P*9+Tm9vc|l@L-oCp$-d5wE3Db)Sf%zmlhzezS!zxdJ_C@+Y+uVL+}gU==m{w z!Fw5rNj)I}INz8Vb*l#LXSp3ZxXTUsh0a+uXM@0#EA}iojOVp`wc~laFX|URU!3tc z0QVBcH5@Jip11vPQgVTFir4`c0i3_>9xW`y4|@*35L1qOFmzwHbI)OKLM;vq*q0AJ ziQ?Hhv}6_VUh{NS4Ixz9v!Mqv`V8CQmJfe|BhJtG9@`F|{~M0K(>!+-Lpx|4Y@X;Tg_~NXO7qSG3kB`D|d5vksa#4 zxCR@8ts$>VkMzBXyyTnQw0Q6p{c3w!j+F`HaH5QNCC+oG)Gv3FV&T7gbgDB6@{^&v zd%NEOPmjvjvOAEQh!={z#dB@%_*Hin>wFu=p-n{zA%PPINT@3qajK8li8~J9d?a7D7 zU><+$P-(to%&_OqoFHuvzjl(+s0z?v=uOW0RgfFH-+#VeXy^z$Jzq5>R9%txQPxad1pj@R7%9k)6EJl354o6q5NqJ_;L4? z=+IC^Eec{)0SqvQ;<89u7y5?nm2PMC4CbZw<@C-KeKOtXtw-@r_3pNbW zZ1BL)B&|_HCaBj+!k10DF{~>WjQmmOML89JFS`z$)hiatQs8HyOG6$V=x5E`2N@mk z=OX4U% z?+Z0qG$<2F&+~)h1v})Q-YlED7WsH~ckd6Lfg&oSH=z&b_|y!MbyIf+;{N4~y?TZ# z!0&Z68%yz=X0Ngq1Yo}W?x@U?UPWlP;-dU2*nwH^x2vaCF|6&C2P#fuy-uutm)#4y zp?~z>Gsk>ZJzdTp27ko2pe;UyarcDzF4^Y@eV=j5GPFZI5#OGrF%~$do)alP9e%|B zElVsP{E)Z#+~wwV49&G>!#xW5rl=`AK`Azv7rwPQ8TkCgoAd1WkpD8WA02OMN$7ji zI!r1sE}!%Cw!^R&4^h^j5#oeVWqZzzw}Cxul5x)j-y}^b5WNY16cGE>XaV_Mxh&-i zI494%v(3QHpHMz`WweW|8Me9WoZXGUv%K*+w;<%(_r7XBh4x&~^RYtT>nhFW_e@Ql(%si+=2ubF1^auN9PtUGEMKJa(VC8cY|t^>dA zO!?9YyPeM-w6lj_sQY%)hFB-wnB}q;xZ~d7uKj5YiApanSEqAnP?RAXXoFh{l zw3cB{o_@6@3H+xbR;O(Y|6QXhY0`;)26)d}JAmiT%GjGO#X7h<(M-z|`kH-~@4zb9 zZKKM@#_y2xUAmT#f&LSEJ3juvI{qtE+ItWB(GQgNFSW#b03Oy)l7t_1xv=d{;an)E z%i)P5&Sl1DSe^R{J`7u*!Jq$c%K5!2d8LOZ8)!o`|D5kyt6kUbjSF{3-D)pQ>}2# zayy3hj8s}2Zcb?WqlEl+oFAplnljMuhIM|rfTcM2A+PAP$rKlydt`-MqMn7y`4Bf_ zh~PYDbIOOW!1LpQ+i4;2jCH=F3$2E_iu=-gHPKJV^{Mlv;CD~9v^ZSQA#`2XqPFqS zr)PA|ovW}5y&paYicl}pSDw=F9`&&80x#d`+c50d)!$XlIup8+uY5rbc&FvvSFt1T zOV^Fpc{?2louD?ZQwj2{rlHBjo(%i$jWo3uC&YENlf)g-PGzy5fG6Vl5{;k!Ht1)M zWcRrc%y*N^y{$_^!Ed)-U0PvF=zZBQD`z6!{kZ#D{Acj}=oLo&EcjjXqfVtX*lU&O zPpc-Z7b~@G)c5)j`sEk9E^CY%5p+sou?xdCn*DaRd;sE*iZs!0&;$F5wpzXyLpfO$ z-?$EcZ!{`*yZ}6zbCbKXp&#+)85>{ufXCj>^L_|CIadl)+u-kKk8Rme?u~l?V~eh$ zPLuWO=hK)udJGjDzyGHL{4VDh(TarrM?J{2e8ITY)D@4lP{^q->VD7qZy zlLr<$PE89X^p*I{Qp+&Evo?P*rf~1U`&vcos4zl*SemkJBHFJrYQAlYb^PniiNVci zUl{YIMF;)+trpQbjQGd6)4uh12%$f>4RoOHn_d5{;HDVjN6}h zRR=7JyheA#(AH`vu+kyW4!SHKKKfO{4c*YM6Ryg8w z8^IVxk`04RuUEe+#Bi_!NeyctKbyA0;>zbe!SyS-? zopuac=cT~z*$Jroe!1?}UEmx2DkjFw4e?!;()Tlv@48viE{6Ueu96wg;GEX-uwkAs z`Z-%H7<2*trs9&$#|Qo?p50-#9_x4@E2n8D{D}Yjg&V{BQ>CE~-P&lMPkg__->Fdt z7CNYaEq>)c+Vw8#i`srH*orA!Gmb<~{eVX#A_IJcSqIdM=r{cM#7te$y=TYucz!9cZ8IVvl=8vd1<0!LvI| zDt8nCuZOL2kF_i6oaEO`PXHbv^Y0Ij0Z*CqrR-1-LLGWVD&}K7dlWO@xdQhRD)`d+ z7h>IfE-vdGhv&MKZKtpWbxe+O>qH6==R0ye?m}HK?Jaz;c@6k*+WY*70gRhr(KnFk zi8%h|`-Q7m483#K{q}J9`+lw1z1tv9iVs-dX99mx(cUiaN2nxAfqBFCnlmMDUo`_y z%D*Xm+8T)b!vUcwvthTP$^GIrh|_#bLMJ1hr^Za&i2HJgm+bb4g<*aphI~4oLtZ@F z>GlfXJJ6`$u?X?NOdj*C6MTVZkViQNaU>Oa)oJ0U73}r9*VbOd`dcXx-Ij>`o7{a? z>QdD2&xqN?Een62VI8T}h38GP3d<|TzOT+HWrZo$cf|pJz4gGE*pzjO!aUr0=7T$3 z*gv+f64nErw4(jrZ(*ICzNA7$G91rqS+^_&JQb0vv+XkQJYHP1`)^2RaYtmc-@d}}Cn z8szuZZCE0X`4Zex`Arq$6jcvY4xpbk<86yH(NE^V1JBPQ4yoR!B5(@wSv<3zc@EFl z}l@`Dm7IbB1GwLx#y_>ApL#|z$!`Fs+ z(fjs6?Gf}4V3GBDJmexWk;i_b{Z1c$3yo0B=lz_9E%5iF+=IKMuzq{JonD9UsirpR zo~jCm-xav^iB^K|+SjDU&$VFKNm^AQW{@|qGyK(nr>=d%N8}CIq9(V7mP39ruk)5J z^pG$5bNU9nPiXa~`YFF4w>>vCP!4q?*Js;Q%LFj&huqVC20>oz@PYBeJeJuXmoLP< z-f`S67v640{ibB0>}Ch7g9>79zvkk(T~c$imLtw_{8-0e9xs&cZk!6eEls?WQm_i^ z#Z7@Znf?rAVs`8-LH)9mjiuLY3&aWWo-ILG59a%y&k_Uw&8U;^h{pQ3V*If$c%Kzj zJy*35pJV4-pQF4JJkZ{{OSK*P@j2vh;2Y-a%(4p;lyz`_Zt`3595@To$}8d~AzwIP zn6Pu$-!Jc0S`9nDCbX)55qL>ZF?-Q*7v!hri=LE&eMIY>W7&f*ZyFWaRm0yWk4g4T z2mZX4*msEE=w{Ko*Gu5<4wHVRhM^xffm=d{;a?ZtXA10aM;tOJVps@$_VqQ*>jE$B zxSMiw2;+`BW1RXHIQ2g_Etn;U{LabVCKtr>Ki193ZAJeA-!f0{hJKFehHqW#ODM0; zj7lTgZ+dIrdlmbJ>#9tJ7X01imvQzH$k|GE1;cS}tyy;V8SLw8`}W;K9Wu3zo0@wP z`-#{#>--G(`}|2K+dliE&hakK&3-)JD(US>dOq0y_V2xw3%f5ADzccQKv=XzuJl>> zoxyb><-@=|MXq?_9Mr?!56v??0=Z-9%(FC}Yx}-w{qo9VfeLjaBACdz4=b% z0g0=yN8v@$=hs8-dGzotRsiZQC)i8LfVY(#YtmcMkADQN_ydo(kW^NJH|~YM`XX^R zgwWmA*L&5`p0%laLet|SihIMxmYeXqmlD&TM8ZylXUNSDu|Zw1o!E&n@N4CyGat8r zM{-W=4#v7o3$9*Q$R767CY?!wc&^e}7v49yVxHGEC|$#P%_Zu&K^pyc?Q`~ifzM4l z^Zb<&+81Q3b2^0fqdT~Uu3#MbZQI|UMm&FSr2(mgoqdXR`4MgczbkZ1xeb5p4Kt-C z;PZ~pxlcwRuHMxus1*u%8CP##1nl8JkwZ#2{OjfAlP%BSr#6YN!}HMpm0UmWa`^jX z(Wzs9LGJACSW|-W9QHO&5rKd4nN({nKtJq;b>_H-L01ZQN1>kz7csmaP% z_>o}yt;*p#(31XY?e!Lj_mUg7;yyUltefhX!$SSEjC0k&^@Kh+=T`nC$P=bDElb6^ zmUbnJr_vesV9f6~DFVO644R%d95=pD>AVcTc8)cwuLK^gqOeSY`4<$w(Xk!;kgoE1 z!wSr=d;Tx$GR(s*rQp$p8^AxTi}}Z(|JbgJ4rkS|kMi=KWaou-`HaV%7(5TJRK|91 zBkXS~OQ@Cb$Iv}n-(kI@oH9jT=^+0hxIJpBBK$Xh`BK5#Xsei<646&tty`O1ZQj>$s=ko8V)EFMpL=k!J{@F1y^)(Sn>!t$JPFT11=J$qr<}Psj2o-5#z#4~o+NG#mb| zFtfF>1O8q!ShhC}ywq~+_*Gv#@3QZjj-rtFsyzIf4m$``oxk}ac(3PPiLfo=|0E~p zmU`gnU&k)bhaNtE6Xz+7L_U9P>auFc{Rg(1-GII5PG7@45$zjSIdyMAebbnTg5{qP zZ=@PHq-(_EJgDNu*>d0!dN=#te!M4zY`%Bz1mf^1Ns^h%uueTFnP8y;JmRc{dKom% zjr1m+dI|k#9$s-}I`)GGQ!Kl$LcUePaAgYQFXK8L7Wp!)M_(K)RpHm8G!^dTKo8eD zd!pU4Pk@gZw5<7g)XziY_-Hf}WR?QLg4@pvtUb-Z(> z$j!}!N)$S^;w1VJiRZm{3Hy(xwJTI!AfEp@Ur!l4LQUB`rt&2CBc-OuJs$mBnbbJ2 z0eI#mc)d5k{(?VKX?8p0y3P-ueZahTIjTmS!TyWu(7ai?;0NayN987g=f#p`MFz0n zUVE!0QF8&I?U*T@nb4Q0{XZUz18Yw}F2$CMb)#sN`NhSoQ0Q@Fw+ z)FY9L*Tw;l?DnD?r?75DX&+XWS&RI0jKte)$j^PNULB2m?>6s!1uLv@AH5^ejmC4e zO?-Fc5`NCV@rirT2>G0y6AylaJ*Ua5i1cgVe$!`-eTHjL537@!9D#8w>{h(dTgK4l zGxzQcLOx;Qvk0L?$Pe6L`BlTeCg}R4mAK&k+^O65^D%D0xT;>+hA>xNwNaMku8#EnZDpUw)v zI_}GJ?Xd*%0>@ImY#)PlGq{+Y@gfL%c#xrG3_RZ*1zbA8yFzy4>9znuZ=5!(9q)Og z#y-*1q9B*q^nGq7`lsoId#Zr*l zuJJ(`;!b*=%Ync0&p-OUPIZI)qV3I1Tf?AFOSjogh~L-M`!2bT{D4Q#R5zb}suup<_HFd!Ip7D)&zIG6(NEnz$;RN(3@c{A zx}kLV_2}>~dnzz)bT4cr(s(>B_rDA>Tc^)&B_e7Vfhky(6B`Ue9-l z4f~f?WQhMB7rcMSr}Duk$WL}~qV(LG8ANAw>-|a{G`SY=V z|M*{`0nYbPtNwXzhd*{Sq6TMwzu*whkWjpC`7hBwl*U2g?&|OB8WOZ|r2R-;oz#ec z%ZHNeE$sx{D1%Y|8os+`o#!8M*Oj#k;h-WA;81c&wqoPv-4k~5qo5fH25$6 z{9RYg4a@)iPw0=`j`YiE$8-O*Q*9Ib>whEd9RB=HxBr%p;GbOZ+pb62vHtw-Q21N^ zr@R00KmHXDa6a#U$^&A*^*1sf|Kk<&?+5rVX@HXlM(#1t9R9L+gP*^j>;I`I*Z(h# z^7qF7%6_SC3Uf3IVI*Y5uw38(#ztOKk+_A{ahe3=H~J7>gkez@}B z{2%usSR)Poi$8y_W5c&ge*dfc<1ZuY4yPUe7rXyo)BIoYz_^>g{d(>n|NhMb)W7`R zq5m}s`}c$XQw?zPz=&V!|FNHu4~_We@7q%&(*OR?k$Zw8>tiK`BHvWzJzpDXG9$@|H$mEazjr8ju zS_}|Ka-##`i zzm;$u);5#%?Ibmaw`3T0*AoZX)y%nc zuVGvz#Pp`|x|jF63F~c1%+%KvOq10+5zG6Bm;-`uM0dorkuz!i5-*H<2={9xB; zBD!4IOU9~*@z8wj;2mC0o`2k*Q*G8m9Hw2HWsG@dzFwOV?#nR!X+0%e&Sm7#;^%QY zOnS&|x#Bkgc)qJ0mn>C_iPugGLhnlJjWYhxQRdGt~)rKy`_o*uPI^k)TQ((@?$#q2|j>2>Q5svFwKH1CI88C@1~5eXE68J!Hw8mo{tz4N7! zwUSh)1rwGpEMg>YdG)mTm6N1TGrG8rcaxK=H|K~a)H0O^+kNHJ>X?{J)d@$&){y%N z0T1?Mb(8q8i;J&4tz{k*Hg>PisAImqI0H~E zPBQU~&m5`hdh%@TLEnxO#pLWsI^mgG4~ghvBt>8!c2oGr&&<8eG;g23Vb70p(qrp( z@x{$n^5$sigPr?33D*Lb_@`g$N!)Rvb05GjUB}1RHI;&&XUMJA#ork(>-fT_^~5)T zH&aiwgzWK{WyKLK1MskYIt8asU#R##dIQ;-WhA*e5XWVAY%w(<^b(fQy#-3H>sy)Ph z%ne^*{x+Wftv51A$uQq+O=?`eyKFNWX$!E_i&cX=vF|@Q+@t;)IkVWh7!&MO@sPm zA7Z1U%W_3C94+k)4Z!2O6nt?x1kX?Ilm7OeiCU!o(om-Ac{5l9GCmM7SOkj99|rl@ zeja>qs?J%g7F8agw_Q2b0z8DHeU_yQK+q*c?yDU{HToGXn)gT05)-4HTu?ulDh~=T zH7r2qx@9LS!1$y*-SyaL1bJnT*DquJNukm&U+u;AKQEVGKXx9-xkd^MUgP}@pZL@@ zR1aCQ4->5L_!uHCO7denD{OU@<*Nij3cPF!PWjF7p~G$}2HP*m9YH*nlaugJsbyFw z4X-b&LM=^B3zV1dCVO&u5!`k(#A*J-JSTIaTRQ;n?_FMSjcNf!Ql84m*9)MfeDr|5 z_aJIL>YB|}If4%KdukfF^n+5x@j?sCZ<<|Mk1R*dL!IZfx2{E_Q0ZSs86@8TT06CP z8wr!ZXUD7_h4Cq3U{N8obrd3po+Q1_t%pLX(KqC;Ct*^X?^AQ`JmlIu61<;_^=m<< z_!?^i^ch)A^5FH;Yb!HgUKvEx0l&B71V&J--^2Qpnttfbo4UsSasi&%+%HtSGluX6(q|u62hpWJX{sf8Bj_+ERgv_qekiyj;&@bMQ-AGdk9Gqk%b@#QEmsLWp;o~#EKCc6g?n7^fpaz?LXp5-j*)~(R^7I81A zy(OR)_?$w|pN93LAaxfpm=fFH{gg>Je$}9>();FJFSWp^JBJ(bnS)5R zMEFEBwy$z&A3n1^=!ci--ySXyCt=Is*Rv3_d2rnR@ge~8-|5A?(wDLga8C4Is`Twe zXiX`JbH#RS);zY#XzajYP`frvP5YMk6H>OJm-peM+u#kt|KFWFj zoJ52eb=F-%F;T$XR%NHwl>$<%tP#xba*=b%FXaA}2$J`zRBq=#g0JiyQB~Co;7Ewm ziFF%9x-Bb7Ug0AsEuD%}C$S$28PkQjDi?q8!3JbQagj&CmSiBeQS?`%u`X~$BGw#zuG;t9UNuzq`A?3u^@=O=#u%Hu<$&~N;H=SR#>#on3>67n$rwL0HJ+dPOi#WVJCq+|R^ zd1J^K-VZI|nfY3+3(y(nSJok!4*)32$z)%t<2;An97yGf`WR9&9I__;h9HlY4%6f)jsjQ_;=W7qiNmK^49 zyh$EstwQI)td^U!w`CL#@Beac$E$icb^p?q0mhZw#souq(|ORPl{EMB0UN*#C)(e|i-2cbQZPiyNsUXlSpz$?Kwi__Bx6ISBLP1__r<*L_0>DM?Rj z7LFj_VZzW|Ma+-shCfjjEx@g>Q+C@qUFf%+wGnblK(cp4n{6LYK@6Sb$kFx%sJfrW zbt+;IjjgTApPwr!J$%9BR z%B-*z+lT1DD?O&g{h*Q)+~!=q0AKcQUp(_@5NUT-1@tE3@!vfVU-76PdSd6Ai}3sk z9Xv3v^gGw|u(?g!c9g__LRekwE^EPV8C5GnB!OkJ@43?B*?h75QG46nbL$6RNObYS+*^P_7AQnom$E4htFt&Z49@+in~%9kLUkY@KB5Hy%9wBz&Ljb-3{OFnx1vf^5Iwwk!AwFu_=+ntO^w5Rl z>OFkF!NRtcU3w(U%iTiD*uIPSG})?m4WeYaAKe$OkDx`8M&nN`A4)q;wLkcp4CgWr zeeavjLGn8HIF)e!S=Y}{vmc3q2$~Ki7Re-F&DNc^+L4DELUR*jaJxhCt(1~qq2RoA z$-T`m2@cw_s)%3DMXm}<+y=N^rSW92MD-(>m>k~wCMy}T?+e&fIpm;yLmp|`xIN_U z<@n0v7}%QDc^OfQ@ku9;mNRM)MTP!WO~m}6{VpS|3+4|465b*C*ngX`HqtJ*(S>e$ zNtPFdry=^=A}reMUV%Wd~k5>&Ph+Y2z~q1D3Lj3hk&fSg^urbw3I(Z7n9njB|tIb6QJT>*>_BcM8fuuSgYk1zry_Z-KSvrF|R@N=gp92^_vmI@y3LL z#i1XlpJ*Bwzh8ib*X6tG_H-fDp(h8LQ5>Rd%G#IbI0Xl%Bh^ar_y&q%O@}UYq4htZ zsWVp+(R9q4$|%n%SX>aSCNwU9@*qRFgi;sk$v968Qh$clH0B~d`QrE%PlIdZt|_n< z4C^Q~$MHRheG~5oN8$U-u)V^=dXSuC9F5CefTO`&k$kTP(Zi1Ou1>Whh{BX(!w<`+ zfy0Rkse%Q_4e`EEhV@fOd8D}usS`!k|$ z6)phFZ^vTY9&DdNLo>&)eaeauVh~d5hdK|hDIeVbPeWG?7rHJqK5w;uf;{!Qx@=55G4H;5{4l zRQ~ZGdM#B@vW4x3#TgjepVkjMn~n)Gw_y9Znv$_LIEVyFb0*1^M^M<4hOZChF@9<3 z`i#E9_+1fB^Lcp?g&VESQ{(=9sXv#8-0X+dLYX%qnBRPP7{&7j+aFbq_>(2JBj|CK zOU`BNe+5sxYb?U{UEZ1dX%+S#Y3vK8)3JRT)RAS2ZSRMpb&q5X>#_a^%5QUF{5;X5 zFX?JBg0A<8PmBfhgWm08u*c)yu24`sT{(!jQ-$km6!7{w%$ZNW?1x?VhVRIGCIZXq zE={l5T=b!=y6hm9{~!H}Oa_x}zpd{sCqTpA8%bSWjYwxm<$QF_B93P&?vC+pg~uKzP6rMXp#LLtetSbB zdRWBUEBj&*C6sr?fcC0@@pq_vpHu=<7u!>%e>AtyL;?)r9$;pvpxn z6z3zlaR0(a^^(jcQLvpu%xb1ghI&dh7Il<^;-3%GHQ@2}U)B=&o&FGf#RhkmDW`y? zp{Md$pFDKZUuOF`o}aP?ht=2TF+eX+*8TBVGJLUgFIa8JL+cF+8xgoYIyl;M-{fQ9 zdkxjZi3NzJIV31u(TSchG}`Y!nu3Jv$~G3wrXa(+zrzy8mz&!5#74|^q9;8$PYS9N zkrrnnNyP}acMNRzWBy9$Wn8Sh+=XVZin6}vO+vHM_k7&Erl9er$Qd@qWcWbqO6|Xr zg9fF3i$B2Q51)yRqZ^3??KAhYYW&i`i|cCv|E(P4>^pBSh}*Zd``&qkJb>r}qlGaE zX`pZ8u=Db-JVanQeoYJe2N!E5$A*Mr;Y4lEs|%RFym@2uY0vF0l-#&==E?U2RB24- zn&&hHY1AWpyP#aTT53HijA$1%Sp@gSFSi7s@&EOCdSK@uvnP-`P$`%%+gG97y+1D@2f zS6rCOMGp1mC!Fy3s zL0J^m|E=qTpG3wxk>~!7oWs#cC~vFz>gfF`_#m|ILe_`zNlmdKc&ZcqiQVsYHar#G zw&2X%h3A)fhr<2|9=~9NTu&-X7joNJx=>d*&=Go58RjwZh<|~sjM-r1mJu1c=!YK*;=}eAH)W+k#_&)Xr=FitX#whg?2a$K8k<1IsZ>Ms-3$z>i zfl06G90$Vji>k&cE9XI!DRi|#8spPR)mtKom_J^8p7*g6^JBU6SB5L5gNQl9sp2i> zZ*!Tf<*lLp`1vh$E)uqXtJflaOBZAR?a(o|vx*}KI_L`XZ7_blKR0aH)&ghF$!>gp zNr0B2pRg9xgw9`Ms*8BDh(`4jg#sH|Ad#?B|A#LD9y4fNCf8^}fp(!T)E$c`_0+NE zNg5o#&bfD`@ihTv!i6vI!}0CI$}YAcc>cOSI4gwTwBq=@T}>?3-!QKmWaGt+=%`e- zd3y08^3nCvoxt-u=)conl&lNIh45vZD@{g0%1NKC!=~U_m?!BOK7Sgu0_Ix*U1(%v zh0jGc0olATG#{{^f{K@-qBAwgFnPs7Q)G88`YARMcM{8gjk7^Ne@YbWIwhCgG}Z$0 z^lDi#F$DOtAgy%zdJ_uDI>bNTxQJ?u&;8-TabhmEOaZof0t``J_C9~P2{8^zE`EQt zh)RAiuecm-h1^HWm-Pz>aESj9&1o{czuN|F-|+lC$nCKm`-`70Po`&KemAsF&&|y? z9-T^Kv9}4H0{?mo;p+Az*f(fYGmiapZ|xYaofw~PR=8#~-iQM2v8u&`ACuv^0nf2M z)jV{o`U?Fa+|Cq|O&4hp4bt*ovgGra4t@0Lxs9mc$*MyYG*es z9{=*bIsb35Ng&*o-8QG0hlXaJr~DNkuuUh=y_pvU)DDSt`o4)ErqcG{7v_&Y&QcpG z;`QzR^We>|-H$-~${$&>zxeTO>eEMa^U!(6nbYL>e)-GeZcK(zaFbQCVTWcSELw6# zSYmwjmiiedjoX(ccIF)we+(ny%dD#yKOY=EhiF z(qjCnzImDBK5H!8uDTu-$e#q?$-WyrNW2463s4jZH>(|EiDlp{-l(5ClJd= z7Hdci)?bEa+Y!gLx=@Q$REY7pB(!@6gCIG^PxX{Qi_=f>Ip(?BhvzZAD0sJ;C<`~C zH38|416V%~8Lp+Lf5Q69;$%-zLV#XUPOP4I6Z#{QsN#<8XQ%&iK_cdVhm~J$f5rHw zpH%zy&4&bZP%fNeC&ssP&JAT2m|wbWdcImY+=U$02^R-6;?aS}Gv_N^r{HjkXp>>p z0+{=xtF(A@qLw>T-a!J%DEji!wfNL2Xtz(X+q&2aN4ztReaj@k$EQEtSDrN@#sTMA zLj59|__6JjBHs$tOcMQyV+4r&eoXagZ6kVqqW+5a%SFT(5%DTgr4^dqB-E*8yMJSZ zJ{^@!$xM4WPr>$T#pOJPR_Kx`3%fr}0D)-9%eFC%XsYz9T7StRn%ink4e7+^Qb(h9 zu;TbT`J{@^i~FNM@!`7Pc6mJzrzS=H_O(J#5C6~)jGs{f$`iipjp%eF({IVDMbz`N zI3 zThl3)kyG%LwJqv!_X6yX5uA9c--R^3@Q&|LOhIcOXYZ<8Pk|bD+)viA1=!d0fP6Eh z3r(4YJx43?=K539>)C3_nl%W#vcJ{ zx-b#_I&~oNs_hhX?`V&>W0?Zua$@8e8hNPaty+&3*6)dIlWK*K2xyBE9vfC~g_(F6 z2e&K&9N;_fLf}IqnlQO@%K7agI-L^1)xgsVam?>+Z({wS8grPUQ)xmyckChyu>2il zxI{OF`LpF|8p@Fj0-PV_RLSCRLiO=N#v6G3!#`i-^(;UU#Gv{XU z{)W|<3>Tg3LQ&MD)34`J(2Qhugf+I0Htg}_jUN{v^~olW{*Erhs&c#W>7fMlfiAX$ zMi0mHnVy&(JemSur5i&NS8)7wlAg$l{R`o12W_~hAHs3vL*Gt3NCjn)x+gr1c}U~* zPiAjCzDJJ=oRU+u%L zM{HKtpKz?dd{@lA;Qd$r5&p;F7e429SvG1;BtZMb+siJCjY!E&>Ep4cMHG7C616)% z7qp0ZGR5jS51+k!e2b??ft?^*rS!HQmM)4j%p0}Bq>kr_>KX#1y5Afd8*D^`k)_Ng zY@hFaKN}&Y(+VQLZcPux5y1S%VQD9KoS(#2R}kO4i2i)ZvtyBK1+6J2JKZt@$dZ!! z$Z8r<#cqua8I12grn5i3U~dK1=S0N|{RG&X|A0ofq!BsBCgxwq`2}1G(W<}j`TD7> zy$wY;K0F|CVdU}$e7^lYSdPuJ9zrkQ84$wp?Y>0e)2=r7{5#bej^OhxV@KJUpkMXy z;SiTr1U|pmyVX2%Exi-1(r6A=aik!D2ZdoDaxs4BvC?nh^P9)EY+BpHo#>~X_Z_AO z320SM(e*s$_u6xsgKZO-e^kT~9`+C*K)k%}>ZK->;ydhor*siXw$|0&#qoKM#r-bB zIRDD7Gs;pBkMB1{Roc{{2AJ3}G&haU2j7)Q7g9c&hbMhxlx!I|eAhEByn7IjwAK)Gi#p@&W?4f%Z=J$P%&u<;<=|pec>OwLvry>Dv z2_GXLEdTzJVyU=Y?W>xejAR$8@+EEgHzgr?GRipzjPK8c28O?2{UQHpH@{n`3n>>n z-{f6PL3!s|ceQCvK`<(7{DRM=(>wQAq$bY8Lbhw!yF2)N*4OLHSDc?j$t$s9)`#=g zN&+sPiJymVX}%ZPu{i(YmTl4Gwff;yjodjG;c!JXgK$7 zWBkmxafipP9=$XfeLQ3_1+nd1Y&v_=K){YC{%Ktv(z|@M z$p+)g0Bc}gM93rHYTokLjpP5%hIamR!SVmSOq;>dIKQDyKGJGsqZ#TI&ik?B`3>2I zXUpSuYHJB%#Wj3B$=y(@X59iDP2C-B&lf=4XQF;4br3Nu$<3d6gyUzGtI-}+{U9`0 zm_D@D0_sCZKm_xf=tAQFEzGa-Yc0}V;`}3#3f8h=e2&Y>(UQdFP5>WS=52}{O{hHF z;)DA8Ma1`b$4%ustze(BmAU^Z_8;ytJ5gbN6e%Wa*@p3HFmt{t>st$W934HS+fIP` z0{D8%vJvG+?}bO0pEubSb2CaVLf56M#8-4vaO`zc!gb|ZWc1b3^69x2xH)*W)~k6E z5~%mK^*o-3sTR%wwFZ3tW8PYEL!|+Bc5Au&inT&iIRDiyjBm|{kkjQA4P$)o)zmz0K#>0kM>O z`uxxJQA`Uv_5YohPlfOL_fIkL@4No~`@ep$|NRfcFaPs(ynkQEwDvz=C;s<9k+ zeC6MN{%Pi}ACf5~J1Zyo;M{Er=fui%ay|4wZFr_RkkpR{EE&TRgl z>d+j=WBNNSn#{!cj*F|2E&G4Uzh*abVRv%-s}zmBm4p4?N2l@YT{r;N6UqAnR{5g+@0XXa{Ms^+B&_ciF_i&c7GZpTO~z_f+Xac1*hN`)-A3J2-5(CHl0aJAEv})%2DE?fw8@FPjJS`jJn_c$1xC6LDhSRJ zp?FoGCjnvqynsADpWGQ7eGS8^9Q{z=HbsySg(`4A;@EF@k%Z4Z(hK&t+91bopLg$c zzKfESju&xl`T)D8c%uC~B0SR(RnWI40>hrdM`v+ejgiUnhRuDJDk}S45+_* zh8mNg-N%!$dolnOHa(u|bnt+0)8E+6-gXA@^YYnwgG8{eedc!;kLS>u>Jr77Ak=d6 zZpmS`yQn7iQ^=t(Z*W~)Jbg!n1jQD7Zd*USkzb4k{8YRNf2fZ>pkTZQ4DSzQ6lLLj zuaT^Y5geCL(|jX1%`Ode*-g5S8I6&B^=?yxPAf$F^*IN(A_+?U!0*OS0bnr`VHmmK zhB)MJZ0m}-f^=Qhi!?tX?4~+U7X60^hT$X9RDG`C8GXY?Qu7A-Ru`}**D(mOJr4IC zK1G5Zw1R2BS?__e_P~0gASEnY(On$&GXvAAO0kjWIKC{m_Pd~w2vPSN_FgoM+WuGEG9=QFhR{QhWWv*)hXxaSYdcqsL zPXoJs4x8iix=~^G!1LiKJmfHS$6<4%;&#sSsqX{edKFvZ$v4j_VSx%Tc%8LkDUNLOOOhAye^lJri0gu#o=c zU?*OmhC;0rhFj*4WSzKGCw>+RcbHkFjX5JzUVT>iIU?}$ru9Zn6G7n;y+Lw<8;r5D zZj0`9Lx=kNO5fu8LKK=o473s?I7C*<<)`w$6P=UE^2pup&9^B=58GXLx20h9#=+oyo>08E7y^el~Ur@G+YY?-NlCQ-}^l&aTviG*K8 z4Wq9fXAat;U}NSSilZd(7l`S79b=4CCo(J3)uiBA&F?!qN3X%p$9W$Sj+X`ID!U|O z{AtzQJeBRF3JU!SGWI{hQQn^qQu;~mXyE)dMIFW;&7t@QHjhm~pW*2VOTPdR4WL#I z*eM7TMy#|6cs%+ZuDY|47>9Ve4mzCmM#0@h8#!AxXk@A9!#h_$h^gA~`LHGl`0h~M z5UtSxr1Ib-ThT||TeS^t);P9mso zYi7n7H~`H?&$=CcfB#c~=@#-}Pc(1-xGsi+1hFX&(jMJs;Cydy;ki{OH1ys0dhvoK ze0{Ii&yD@{EaSn6krpC!iq9)NJ7f#RSJj^T%K0EevsUSlM?vWAQdLH$APJ10^gp-N zazqzq&DyoksUuRwsB~`HaoByC<6Qh05k}3o7pSd!3EZQ1DvQbBwEkoS)OiT>Md^bM6l<0aqx<-_K^SX^e_b zZER4yCBh{E&l$BSA{5neJ>He>15h7Pc!!IpEOPQq~$+*V^J8Sn-h1rWaGRp#b2YBupHKJyBj-b z+=FjtwBGoh(?@iyg*#TU{ue8Bdbb=VL3c`YiT-{A;B=rlSy^t2Haj0l4A*HxLoAOe z9loEbXJTR+<14qB$EVL8ZeZWbdn#4k6!9fCb?NU7K{F@jJa(QY;ke@K%6*6Lp{H{C zy=`(1h^^WF+gn->*xXOUH?cqj;}FHmxmbRzslP})Db+!yS=SRTF>|5vP^a*;RCx&0 zZ$09T^-I67=+l{5FVxq!sZn8|1#(Ac1>{*gp_|f{!RaRvYLD$!sl)PEMH&-&!Qqdj z6t2+FnFb)G7_-oaErD=cK)bi=0+yfWK1O?eT#)LKSSQ7ArXbwB{xkl*HP9}5jUB`C zL!o!rQDzd$b=a;KHRSH7l<3!_Dd~gE)%)gdGx~zmh{n1!mY-OK>;ZNFl6=n~ua@RI zzZnZOd9Qa@mZmweJLFhZh_Xx%=}jiR0YZSPDaccLH6MFUJ6}_o4 z2_mYgzCY||LA_Ql&V|qEp^w=+e!PCI4ovf+`Br#7d=pmN3s~R9YT1o>@cU}thpJWy zJu(HFS))G&s}b-{-`3n2%g>1NCGl_c4siS1Y@@KT4_^C3Yv|G<{=OFT zsE+SEw{U$8Pj5e&wK{oV4WcCfywehjv}KBKU>>DoaE{@_LoK)_Wc^BC-4Va{UiQ_m zkLGAB;fBZ>UT4~nP721yL>RxjZwk?+vy7gryb@c60goXBV zCq%!qhU*p=3FOL7#SYi#Kylw)_cbc~zE_Z_7u&Col9*V0GKR6;iSnr%Q|ir_zXERAj{|M~XrYlYQ^pUkXAuVdjShzY{#?oEPcSAp!r3v(Mkos-pml zTF((a%%fJ4mj%vyAR6yuwLeR+Kad-p@(uI4-N&uhNYfUm^H#%I&kL?d!NytcvY`>= z_sDdg5+^~9#xBo?d}e4l=;g7_W_uJVy9+Z%Z6L)Nkmq8*z;jKW^VBvGrXMc%3{{xI zg&)!sXIagVf8J+@WAv(U_yif#a{&^#roQM6zionsmW-2V{#-|=sT~7c&$z;~(xZ=d z7GOEHD~&0{cFZtiamtmTk2(pRx8G~sM?S}>WH)hLAIB{Y#&B%E)(`edOZ|3+>ormj z|3s^yCQUvc>IOfQMpXTJunF^o7t{Ik8dy(rgU;{eypL4-FO4mhTcN7To`^Ilcj)pz zx%Yqr2@1bEtogcGBh{(zG_`sraIQ>^GZx$B@^PC}`U4o3PoyQ7V7r`_a`I@P+Fex4 zxDed9?2Rss=J1T2H;4TdNrU-XBoIyPJozre3kCb!;yX7X1580#D)3YMcGtx?t}Ni<%(Xgz?>t}{PfN;Pu2_3OaA_|<17g-aTl3iL* zYP8X~ozfVKl|L{fcAuff>wMb5x{n9n*HExxN9X0YPz@IxQ#h4|;1*he%{s7mZvgJZib8vT(N`AOad)(`b<>R=x3 z*((~Sgn4ETT}Pt&o*-nn^01(X*#!MQsFK7xdmrTW2o`E`B(P(8YIM)a8EJ7)jPGkU zLKCssF`hEs5XF|iz>e)7RrC@5ylBib%Efo8 zO3o>7D)EKc8jC0J+vrY_Y=~&iPpcJf3G%!`?+Cs zA*>4fm8~LFhv#pBC2!uq++8!&7i8YYm1l}fi%PO@U+;;VvHM= zx9_Hn}vBsFj> zS=meiHNB>es>k*#?Y38C7{;M>?_0^uq32M>F&Mj5&{w@Lqdn=_?id~SS zi2ikFTtC6;^aCapZW6rfeEIm~Ay*_^Z4qJZejc{xKWFRkngVy#w#_!?yOXvV>TLM4 zpiK8vqKOOG_j`A2dB~w&!hMDP$J~&~hdYTzEF>71&NwhPQ>) zR?bdvfs;0+8D9b0WwPcx(eCZq(!)Ns!I^H5+pv-yd22t43X$y3>LKEKhv$pm;CV4b z?|4ZwCUFpG4<6V_YewtaAY)WeFMJX(AtP@3EG`tCaqL|^Zbq{ofpS*_b#C*He3 z%%u-Hetp;udM77reI`O2%e(j$W@m6pXX`uI=z{W2Q+a)t^*|AkSw|FbKk;K7v`_Pl zkm|YX0*TQ!D3Hj1?G?!Yv>p7OO}AnmU;66hZ*0e&@n#|cf)B)yi7ppXn4{kKgM~NR zeb9DCN#!QiulB@nQX=6xQn_}1#-`L5dXEJ`#Ao53dh^_krZqN zhg^|y&@H8nv3rQVc8mir!Ae*ZCBf^h*MlniT%ePrcH@(^0g9C(_h9tW2L4B% zj2~jV<<-)WdJp3>L#Qw<&8QnPjwg_JvACeHS|a0Bnm~}7tD6hOc5vk5ORh9759Au6 zTW7lLf_B%R|2SQ5i~ZFrBw1`PZn6*jGOxh-D&n$-GW>j?d-sIFk&kxB_EJDm%qBe~ zwK;KZU_30PpObb;@Wk~oRYp7ST0?leO#iM$H)x7BM^hM=XCm%rI*kw^>FB8!;Wj3q zV!JoJ>6kYf+P*g;!NCKH)X&W|v3@aCNz%G%+n``SUT0w&5%3g!r~g1y2ie};xAhI< zs-+Gyw>0L5WlPM4Y=vq#&azj^Z9E7Wi+nh=!`%tZ9Q6Yp9M>|H;=cJ=;SMZLNEF`S z^gx0yg3#g)Gt`-D8e@a`*rsaDm=TsE1<{B?)(}zDUOr)SCC>w&yWdOa&vHdkp7{aY zczq<#5)`O$9if4Mw~18Bw~+GH>N^Jxs3Rrs@O#Gh{)*G}e2Bz6oW?T#+dlUoNah_2 zvhl@u!FQsQP1p$zjh_Bfj^kQ|Y!^8talIwyLaw{hZ6>hVtitx0-5vQ5(}n9Xue)%< z_nv7g&O0~m%@=Ks0%tGEWu+Yku&?uNAIp*p#1D~DCNS?6uW^{09TFzxW{J$p!i#l^U@E-M zRJY}4$GtRR=J3}!oEijuIhuiIasm)*?-N+Te5LZsuH1_lr>lN)`h*!cBH?QU;8qVo zvP+V)57ZbzP(1meEcSO|pE4M@jcUP&ZBWlk0aFxv;+fugW=3Gw|9xK`VgBsadRiNg zi)q$Vf5pxX7`|n+UAt(GG*X!+>@pnDQ7sXT2^>eFp>K0%%QS$%Q%srWgJ#H?ffV^i zRSy+6?7KBEK!iG4+50bXoP%F#s_s*}8|)E`G}<J#9M_s&%H(Yrzm)U%97K^b&z}m&2e^0G8*X zPj7g9gV3L%+;`S%j)+8io){kB4nB1bc}dbFusQiXh#8zflHVayRYe_s_MQ~oe=`Wt zH0~bi$9{J~OgDv9I`(_~bpL3pQ(1C8$;H2q!uS`V(9I6V{aN*42|o6$1g-(&nZT^e(27^XGd=ASDNmw8I|I40#?EGi9;jWAiOQ2elYM32$K<* zb1`1jsbx58J;HV)GOF&Wjwj-u+qY=*!URsO|iXKr3UJ#GvLXz6t<_GiH1V%7=MbV6)CIaFC(9# zwIEN{o2c&;Se0Z8qF|aA^_vGsFfAcpn;>b1Jd+rOyRSIF@`JOhS4tesXO8 zM>lktaa?rFsV_6a+7TE84l0?21R|XVexp!RH@NGdw2%KU`T5}3H!)-ibeV@GvY8d3 zd(~ot^{gry+pziZ6vyS2?T!yJU^!HA;MscK8;t#8PIrkXSe{EBb(DR-i$?mNzwtgs z0*W(%OV(CbP|8s4(fm_;Id^`0K923OXn?YZ0$%6BJ-f@lAIJRLmiy4j zFd;-b5>0+KNEbd1X^tymIW+!V5&HT&ISSy-bKJX664>aC+nINYLE53RYw}pH+&>g? ziMZl%JtVpAsP#pC;#Y>_tb9S`xF%z4_ze&Y_#K;u@o=sO&#~ABkg|0%@uKgK<&E6<9z~)LnUY|x< z?)I}5njkRoYV!%b21@GNr4w<(4wWW8EbhngRV6+5ot|VQ$k=m}ioVtcd1m}_;3+jj zn)#9~bc|kbVSje22IhyBH54Usa#rY14aXIZk#nHxcg^{O#ci-Y_{T&S^Oe=ttW7Ie zKYq{31ZcEtKyNH}a_X2p`uQ|#mS8OfH$NvW+~p*}5oGL|t*3@01=fH6E)#+8!9!Dr zMeaexi%Ekc7~jn=%_^1#W4p>fV`ymSK=z}LGk?@x0~Tv1;|x^=RGbs|D+u%X*q@5EYgpgg zPJZ+reXR)X=L{bj&-f0g5MzcsQ=y@Vz)&s5hq7`1*u9SK-@WcRc>qUGnxQP&M{ z{SpeMMUinF=WhtIZo>T)i(FS(yd4CV_cFu{Y^~4;N9O~fJ(h^`%kCK$dCU)e3&L}C zOp)Ry)qbB&4aBlqFnPl9bar#k` z*AZtlAZ|EdO0+?n0osmjO&V}gv{f;~fCN7TEMo5a%cAj^DABQe6BNC;4fP}bNIBxd z#=|l!&x+!q+L$jWIMHt)UMC1|O6-12<^q=2ldiP~`oQ{>@r%(&J@$84WBW1|KYD|X6R+Np85}3Oowdhd+8fdB z91FRI{hh93!kN^Yj;MBr?X*rOuBRHi?|8YF9+PHqE3IBrvTwstMH^cLh0t$PxhaQ(=s+dWSE?Lhcbu2L!X zD-vQ~d>`4we%PfalP?C`QMv5Kclk|k#8(|jyzs>xzNrd-e2evh*Y<9_Wuz9UD)~KN zuJ(X+y3?OOUXucSBLU7~?C+%X`_HlA`O$0#n>ZsYG!y>Eg;CrdtruhjaF`&YM{shFKz~mr-tE`aW3EVXb3t@FmcCs{#U1tPzbF;Nc{{a0HQ z>U_9uY3&aB_-uIBh$;!jC_4)SWJBPsfmM`hHYcdC{aP(_u|l>NpM{jZ#(XtkTdb}G z**@KXuSu^R6=KV$yg&z(s!_; zyNdjI8BP#0u-tr;dfkKdbteP2UW3;Slrf=jgz~ioelDPP>%s*`&_88T)XPJHG~(H0 z|EE5{@ub()Zsig(X87qFi|c9niS7)%f&G)DG>;FlY1mHy74EDAVtj*+E5^ zTETS*H*i~Y5%s)6g45v#nrIH0Beu&W=OcVBl#!ZMo|wl+NAz%>Pf3z)CcU6o|6nZ^6JQ9^}7->8=S<;=NF zaR^Q$DOOkGxUn{y`bC@<;9hcQT>j!Mq$^%^;Fq}}@P;N@21>Y~D(c%#OL$&IwC~Gj zODv$K`;^u2q%->S_IZluWpN}Mcqu)z6Z3;8j_oPT7kW+T$K~i)F)m-aFcjj9w6B&J zQW{wx1){!)4(5kxUR6wrxE`t=)8MJaNhx%}{rZ4B_OE&?_iP-%`);_Gr`N0=^XM4v z=D3b9P#}A0`x4hX{mf{1r2IFa=DQu+yx4v@J`jHy{{ANTIZ%YOUcmLC!i3nTW{i;1 zB{J%#80Q&mY{)f2vEO6P;q41Rm>QEG8S6Ej?4s@O!)dDx&kV=%q%WAwXbfFvxw`VX9BB%dw zs?Qw;BGpzdY`woET)XcX!vO_Yu4Ww`5hlTEW}&yqJqyG)N7!!64?q>yWPP>n+rYD9 zN=j512QR#wxpQU}+ zjFf$lS(3f?-h1!8DhbJ|l!hb;A<0EjMiRlmnmx$1APT`P#_@;`WXC@hC9WaADE*SJ!fOcD zYI}ash=dTq3HKK>>|UhGI_9+s=0ndFmnZE4PLMj)#QyXPKYU$MF7;1757BQ*JT|Z& z=PzQi+J?`y**4WdF(aBZih5?yIXjaj4`-gYI&mP*;}Y=r_!7KOJW=KGP6=Y!oWd_T zI>Aq?(4eD%Dxezs_L9obA{6IUH|aYr!lL&5uiN(dlC1ocpC9%Fkl-KwGKtQPE z*HyhGh(FdWV8oyW|3g#+sJ}$>);sd#O3+9{ySc#+fVo#j&2gx;UuZ-{eE? zNbfuLg-sp=`3>!=2LeDWp)9f&^J zAM%z%_Jsd5_M6prRL5Xk=`yHv&tY9QJbh5d_Glm&_P(_Z^RXgrHepip1&6i@n?pF^AxT3NMC2K5QgAeXHZUp=8giQ8;z zoi}(Fnk%{-v?A}POF!|-FF|X7Y<^8vG`OqD{yToj8ZNaLDMoCM$9o0~0&iSJU5t8c zCtJcI*e_OoYTH*=GB)QM5@BQxr^3BvC3QT&^Il^|8|qrg zAEO1mx{cvwniIQWkPVc_@|xuy2q(KdUT#<1gn32pkhMP6vG85znLg>dkro%4bHA;v zfvJ^0Y2Gp#j5vn&UB>z~b8zoVxs%>R@>OVFUQY=8=3Cfm-)4h(&FJ+c?(ePUQd>d9 z(WQ=a<;PNOpe5FiLTko=l-l+5&DWWe=&!cV6j_&GEv=sV&(8G7pKSSVyYkN0OS0jFWp{Rgi&bBe8)pe!tr&luGwkS$BNbI zeKtkGsr%8Nl1@qyn)dgGG*5!TI<8%JsseSkae)LEjG#15A?Q=6DG0aCNj1Z3~f82Yw7WK@rfvglC#8a;< zLUrHTJ3_3dV)p#bWJru*KEc8mLOQ7KHBwr4eLdFEYCO(>RPnNqg$A*R6#(@%+RtZ4EWZh>*a&&$o_vlyixc(%%2VlnOyY) zmV3D_hBMkE+hV<->8d~BpGr#a$NE=nKjrZl>)0{#8(%Koi-1PuW`(z+4y3**nKG_G zoop&oe#(P!{Byr%2}7UbAi+{yT^NGPq(r|cDX0!Espb9=E~XdU?b#lIvFvg4c> z@=a8U=kn2#-R%ZseVd-qR`j3s-e;WmG2a_AJYwsq_k_@Rv!H(L<4!(tlB8jDBdV2C zv$I%FXJe_azn3-y;o_KthlR$(mFbkH#@S%tdi|4$^8e=;`jU4G_t|>8@T&EaJvpw& zF7~%G4kXY2R;-}4A$hc7pYMqyK8*9riK_?&@6j5Eirz@lagS=6v(+AQ5>kX4(T^4G zNvftaBi?LRYn3WA2NBxLtBxlk;TZc#t%d+=!qeR&9;2`X%J(X-{Mu#*L$MYe?}XHV zI{C-=!8K0^r${MZAUMBqf31BJ@?C!c71a+b0b~OtA8yC*UXNC5j0Eh}h8Mp}Mp99) zTd%UPJNHJ9Xh?7zEGyCl=ga1=0)H8ja;nq9L&)PM>75*hFy47+HNLDyhkSFWZv2fV>s=gn_vu#fI>=w+2cXq#} z2)2#@p2Li$)N2l8GOuad>B>MNXhJL=pxsAeTC~68dLtHW851LXklgh+o|8Ke1mB+R zZe4XDif*-s!Z07YUokry>=OkOqq$W<)>dS*Rz&e7fuj)2Ii2YF$dElxe!0@NYHO>NaC5I;7{g=Kd)oFZ#_foE9X1j4BP z2oFU8*7e#^&aaqQ!kEOjoJ#s% z?+fp0khDi!7r#u=nW|z&1g_@ZpZ~x}x_9=BshPWy%Uar}Gq9eDeR@HyX<$eOIpTUJ z^{h#2yZ$DbNo}%MWbi^P>QLsI^HR+3kbmpFVcR*vORj}2oH1?*2Gt)XsY~vr@Z^=y zwOOq1hh5q`XYl);g-Ks8NXi<3CND4jw{>l3e51Zk2>(90f@aqouE!t#B1o&tmbCXh z>34V`4@?_xQjdQKAUn-;>3xx(THYHn)iVx*_`E#YurWPSypT}1+6?G2RDN^r7sLfEmsId1GzKp$+ZEV|e-v>s&C<&-Onaq4p$1``_*lk|*1p48T%3iuMi(BkJ*;TQ0lU z6Jt>!QDuy)KekoJ+7KtOTJP&#{_Y7ZZyd@>&qRT6n63h?J{#GbXFI@;`6un4oIT4v zM_5un1J+mUNH~8V|MERYQmqv^--&&cA)}s>Q1rv#TRFdLt^|`)!xFUN?%(7sJk~>l zM{MBu$#+j?QRlZ6wPInOwgS3buXDrho}@Y{S8P(si3o4uJNOyvyEA?0E7QNon+|bv zou#w|e}&-ii#v=6eb%!-UXR0wt;T-(e4Hb?J?lu_#u5Vx4-3<%PCJk>5y!k2H(bD1 z`QYjn+-LIxnh*IfFXnjB;qiOSqxlnbs!ndiazG;Z=J1aOmnV!yCaBlNstwnq+z$Zv zWcHcuVF~a`vOUS7MiU}WF6<1)efCUCqhw0QI>^;$-NhPA9&)k;+kyA|0QS83yDtoM$j-&yPz8Li#D)jiG1pzm*LKFwy3WElU(bH+&l=7>Y}Q^+ z?!xza60Ads^)UX%6rUH)%NOj|+sb#?8!|-AyeKp5fg>(a*#&iphC4@o9JI6{w!dV# z&PS_~((?SsRW@(nmY@F|jQWUd?z&l0JwDeFDHghihhakh&(3kX1ju1`U{)${2II|j zY2uj2=6~H`lM#0TnY|}$hQy;u_7s1yd9)A|u-~q=LcUb^t^8&Y)}0Sbb~igDePH^i z!8hG5cj%PRsC*QChJ2k_U-^xC9rZpo_oAQ}7&+vx=N^XNosXu~>0XP+`+!aS+42#` z_a?mV#$T>CfAfrkjUanL_3~lgoxpYVLu|u@75VwhgXSC7)1Uw1|E|qPgTBL?(y#~7 zK%bt%yEQdGbKEo{`n!; zhqZn5V0TiS03^;&p4J$4AdZ)n1~?x(kdefpMRw%3+I87`$`EhVTWE~W7M>xV_S!j? zoWZbpP$75Ui2!)XNUdg!c_ZPKn}kA}JqdL@V_z`r1_HY6T1VcSlY!6eMURnR4D1VB z8o>FKX~CAjm*eVWtz+h^@5@LS7hv&HSN4ZA3C2PtQLKXxHCUG3n!#k!)gk#2bI7uj zc);ZEOx9lu#Sdd16!T~(`bY5JpJqu+#h|9o0%_qBcS^0J$4!uQ}Xkj*a3+E0P6{(Yekq>jSXb2ZX-WX zN%&%;$Pf>85Z_XUFB&M&0o*4=_ z6MnA*=@{gJo!k%XN^fBu+pTV^xf%jo)|`&aYr(KLx;JT3HJIpbs-qjjeAs66bW5)b zFPVH%@ay&yKH{5j@O*V&3>it?{g!JB*6rZ%lUuOvJpLg2h)dHC9+>`H9Y9@pZInwd z>Dnpqwf*qa5%W*pTT3Nza3W1E*To_}`h)ergYyirnvhmjsyOm?5kBuu;k$>wW*UxO zbrRkn#@L*_XTuu|%j`dG35kNfr-DzMur9|>$FQV%9s=q6Ev&xM-Vh`wzii;BO$MGW zB|k!Yb^Wuvc@TNQ8)h!M)27^H-l%hC%UwH&m6~x%`lt*yuBlL(qP+|mZq$Tu>qCs( z;_QBX8?tvTnxZG&2#)U}yYq3MyM??mN@o%OQbk{wwnP4~ecLH+xk!-zwP`opGbhg3 zWb*C)C7_>|@i5!x4&PW^-UOWRA+IvSrz=l5lRx2)qF&%S$I`~xb|7AD%^B=p+u=a? zIp_!3#ABg{Hr`?zF(S){&F5a@{?zJAdxqv(!QSk%p#!eYgrm7A`-YqZNM2rQuR%X< zZ)j1UNX0oTj?cG?o2{X~*s{#ZCK>gUTU^yz!NlwrucQn1iImkY*AAbM2Cb(T`T`4& z!k>R})e>K>p&wdJrUOp6zcQ)(43astrqw zclnUbjFjiqNX6P#UyWc#xV-<&zlE1RL?ml&z8~X($vys@P7cm>pE$5nQ9YLA+%=du z)MQLJDvE?H9tJ=w)xMbaQ>aV0+7F)hlqYkIZ0Ribu=1NFk&R=RZqdFT1LqA^XSp zSJeHziL&M#uPf$_?xq7(r%*q3+~K&lvnqjDU8vV}uCj-l0x!IK7zAKhrR!-Vz8A+w zdi@|{V=|q2DXr?VFX7JE_TB!bI82-u89s0uadSBbBOUsW$nGhnR%JKxL~lo#t706u zO1%>_oX{a@X*!X@7#EROyuMuxb0?#`cU>*cSQ6h665C>|OT4)a9ha9d&fhaO=HosU zJ2g7?uKAO~+B$14nHVq~KGZzt6-b&d|F%rVK7P|rm)rgtHo)B*%gTLRl)O0E&viK% zapqje*)NFelth^di;%ys_l;|QW{4%e<5BNEd4_>Aor1impEb;Jj~$@WTmna#6Sm`B zE-=3L3(w;L9g?Cn^7QIb90)dx->*jgHCC-!AXAQY`SjHff%i;E!{y_O&ulbt{`!xV zVVgR5pK4lRM}AuW)U0<~u>p~ad;MC3-WCo=&@1lI7be0s6cx8WpuM8|&(&Zb-r78` z_pXK=^wT{2?WSr+ZWZdk`?kf5I6b*f>xsCf;}_Q|^{_9=zyHjy@sc>Kk0>W0fa1!F&@ zh_kGCN*bL7F=TZ0Z1A=x^ZjnwD~MOqwcqxRpx&m=5lNNox*5yr1n0&g}bh{_mrO3vhd^v|# z$G9)L@0xT=Fpnjky}XcJrU(4g;sh(Fmn zqKM~TEZ?Muik|d?#*>!f%(%{)XX0K~e80vE?H_MR7!qBVcAYi4K%nb)e~_tYLW=9o zPZlAbS6=$B&37cUF+N(A>D?5Nr^!=U zxDjJ1D39xacMhZS)5nD`pTqf8&wZcsV*;E>?W}lJg0(7%-63;?3;E*K81I`ua9^sY zN_`$--AVbinO-MZiBMnE=*ac+gP%sv)lz<_0YlvNe8B!`w&7{jclQEG!Qjl8)}jeX z=Y44B(XT;*zw-=VL_dso*AJ4rg#L4$&7)+u3T!PCi;2rs13_jdnYXk)#K6i(?i}Wg zThSZm#6If)Q=?|4u5$>C*(?Uvo^mJa8Fivk$ZwM$r1*Ivo?>=MDfu1gN0!8c@2TsZ zBnpNsyRTh11!CfPTV2rZ=8F;iPD@UNN&aYX4SP8JJ7x0IcMx%mu4Jt86xP$ziuu<* zBaizk%Qo^(0|I9B8_FiEiFV2NTB96u$awvmaS8F5aeI*T4+n2jNGF%L<9z^;-jU=I zcV1(e}w(wxsB;UP*0Q9F+Fi z&6=a${JKhIyajo;wdt#0C$_l~f6klH3#Gwi>n8T=4zZSa9#F}O3hh+&m~nFx<}vwB z|Hl<<_7Hk`V2hwb7~J_XD`}2?7csDl?|=W1%}FuNYQnj*sm!DqIZ629Rq6IU-;XGr zsMSgsKpfudyf?52*IUuLnxSb<)-4u9g1q9$aG$4L%a}LOyPy)9fO%C=K7aVlh7k;0 z_KFKvOoGCNfZMYB!{8JfZDSbPOKBmLU9|@LjN27^C!@k)r0k=(Xly(gDGq*Scz-{f zPcO-qM}7Y6*Y4$18Cyu|72)g5^oGR6T`QW0ok?THK0Q^`N$z;HSOj3*D88&xYASC9 z-_?#QGOXG`d4x$5Q;$-9ht}e#y_PxWD%VYhUB@@Q4kxKf*qcFip8vWtku0{N2x&!i{){wey)d z@)Qc!6IQb`PB?d3b@4*H6ERkF_Gs0R20;gIrZ&|3;`N^uAIAFg^~wp+qY}nYv^*Z! zdBd8RoK4`~(rFDdnq4ItsIRJrS%+)i4<){_Qnt@eMS*F~z?j}vFYuno>689HE~YzX zR<0nP=P{nO4TuMGiSZrV=Ol>xJ=wQGoH3;JREM+2|NgvP+vJ_6Ey)zL3!kTqhUTeD z-{&LM$;yX^`pKB*PccWh=_9WHu=98Bm7;j?PpiISohJ+G-A4~f4up{K;D5)|kjJV2 zRLJ^v%8le~)|mbN0Q;{8`eMxP_(QhzK9Mt6*C~!Hu9Bqcyx4!o>2(Cyj!@mQmGFTo!F{R5 zB7)E{dt>qu@6)ehY?ItL=5{wK#{a(XF8p6G57NEv?GX5Az&cpZ;Jm1{xlI zV<$6jVp=ylF|rXrrVF=*@Gm0Y=`>TYxr}pPPFpYEE_Q&xkX60i_MRXsOb3MllHkI7 zbe|*Yy`R+l_Mx5Z&q}&9$p|LREVH#$>K}RVCZ~2#Mi$M?H<%CWJeiBT5xFNxP&8N zrF!&ZInxbvw@qIyM*gmFTvPJ@dqvCN`WnQST99{+*WcWV@PXK{cOcr`M zmf+Q;%}OqE(U50*yNr{^mPD@9CuklECC+kvf6~#9r>W&jb)Mort5w}C4U~s$K6!)B z?lxe&FaP`gz7TSJZ~M&u^M^(&0asm*`j7#oJ>!(8tqG&`*n~!k41P~fzVaIGPjpy~ zDQ`NSXARpmdqvg@JYQ{@NxtNbez{+4=U@=dpU51w!hMePx%8vxn+fO|_UM#p=#rBC zW|aev0`Y#syxc7ds9*E;A5codxqyv3)i)K)prq+kcIhK^BHQ-9}loivjyh zsO*SxEFRXwIOn3PnY)VlC+nF1Rn5e+k-C*-0(||3+RRZGr;O#3WOn_40+dnbGV92^%<;>?JpZIt#0QPM9h_ z*VcLEq#dpvB%OijQ2Cf1wDfj-JuTu7(UrwvWf)&43&^YdOMO-f_<4yeCFSfr`G=&Tw+L#Ano5Zqna4}A<1`3p`57>ImH*a*n&KFw0d7l zp1&akUU)WE%3}l!4|wELQ5O`vs;%54kGnNlAPN@Zjqq^FI@%tEI*9Df{VO6Pg z^M^ur!hh2zN)Ok`;l7YcGwMeiUaO6DK2wA{+Xkfu+x7sx0E_Tp^q;P8<2A*YH zV@LQe?z{31&z0=0b{KoGRS7uXY+)GvVFT&r{AYw^T!?VQx7iA`duNNFlLO{es*JB& zuQB_Q0l$S`34Ip8ZQtse^2rf=HYM^h{?C^^(suKPI6#hsLN{Y!6ydPe^Vs=GfefwR zqi96^aqN5a;t1M{&V^?7X^jIZ^Lh><%+c_TK|VGv#s*5~Bht@cTxfp~6aUfAL%J#p z0zTfeh8((t(N=vmu#AnpGLQHmL{Nl7K^&>bh+WT*#hS+szA%CiR8eAl~&xIUM=Q%-x ze%P3s{gK!F>u$m=7|ON`X-h(_j0a zij%_ofq9h1YJ{3eu4@YYXH{)P@${uVMB0)=g@)ae@UboHy31&gZYm``KEyv|LlPYu z_*~|;=kHxSWJ=B-v}^(3dLLJ0yWrb^mJf`9Y}G{gC}NKmt%E| ze;j?Q4O-NYkggO6EBd+vYl~sfeId&5-WbODQs`nBzSqDR>AK(UDMWJq!};}3q0mwn zb0|?y7b-o>3Pp{v54%*ZI?fgXClr`DE@|ixrP1;_a>pBvUHh0Mat-l@A|A`cI9pEr zB&@3#39<+JOWzutA>Lt+PUVz`V4q#<{Y9)7@1qlb>{!x=Q-yww`4mP(y~yo-g`Y1; zPvB#_gScg&%PRK&^UKTnS4PeanUQQmo-2XRe1WngW@k2!9UL%e?)-!C{_6O~n>{8j z!r{NWLCDZ}7KDb(BC!s~6DO2ZCI!s6@@A=o# zJ0ie2PxxLM+N<5&t8Shl71Z&Uw5H1g!ODfoJW%{BzV~RK-E%(UyrJzOdIeXNv zDcTptWP?7eROu0$;VBla-`+&!{q`a!1Jt8x?iEQ)D-*HPTYbEqMdEjJcX*q3I+Np( zEtx%^Fiu@gwtY%Ko;oH}DDX`Iu2yC0e2LHjEqKSm^zIaC^(r>Ig?ZzZxr}eCnlXq` zi8}|C1VPqb4J)C8y5v>G&8i}d^Y~oRf+*ybOc}La`DgUu!|mk$o!S1N%9f=-TWA4I zf9|&#W1o>a{L33!Nna@aBak}sEret-(Ekt>wkP#wjjwYsua-}DTK<1eMN4u(x`1gU zbl;h$Gx{71$|6rY3TnN`?2{>7Dx4qt=yZ$fb&)oCm7VyxKq`=!p5>Ul&Kp3ARs6YI zkasBr3G&h2L|hjizSD0~0X(~&KHa%31oj#LxU|AKq*j1tB!e>m4iMBz=Q(d7-U= zFmhwX+C@|dmJ6i*E?{2e)A4y}#~njTYy0Y6E}D|~C&On9I)WfN-z1?LbycRBGkoD# zH<(g4ZCKVhf#*%vZH@Up%8ZY-|cqPxw4xWAG05TmONU zRz);W_%g7-3m38y_mfd4)R+9NbI_^6yb;*Ym(`x@On3rMZ8`oh2C}xRnVz9ACUuhP z3V%^QdbPCDb9M>mlD@SY23$(T^G?@(3p7~~-_o#6*@cN@a$_Of1ogx9G?|kZuAd^! zW^d%Rzx$G76yG!A-CXg!YVY+oxyaia8TTe7qK>rfQ~IfM2IOyl_S1Nr=QJN!EBkog z04nEQDQZx+NzAdemtT2iW>gP9Pt23_U-Naj`dyFXusy zGkGl-Tdy>x4LdJ0n$R-n!*@4+O@6F{jLkk?9ZiVi4*n?-?vR2_b*!C?>9+9d%=<1i z%!8jdsJ+(_Zv;O&c%yqUf*codub#MO0T;QcO>D8B(Rno`_Ymrksh6zwcARtsOY`6o z*5**Ma@Fr-X>AB$efxL!BlN#$iJ(nW=+9f)Za?g>(j#K~Q#)%E-3firlq)ILhlXte zV&_obSkYjeUiTomFAKy(bC%6+da@XXnE%^RC(HZv2hXi_w|M-Fa z%;D7G<8vQ%iR0eKN4YKGQl!W0GF4wt-nuqEWo}O<-KMyj&<|6KKU)1BwIk8;flEu< z49SF1r0pq3ed3v0XZHWS5CxHxE3KHHH7=DMJ@Sx`nER-gHP@eo^Rn7uH;$hLrKrEH z7f~N86i(nT?H3|};#wsVsP(l0p0TyE_^Eh{lNAuZ>+e z*B#ZJ)c(&C;&(1L?BsI++0gNw8mMo{$7`**;B#mjyItRh{zy~qy1zg*h_F3;qx87i z7U~}EZ+eo2{$D2LI*0ly*`ug7k?8~fsy)yDvhW3c{(|MSk_bX~dnlqA`I~Jim&(^$ z*#8_aE?MAkCRCi`fiJ`HUa?xbS*PcYaOSe$uI;GzzIUK-u5{M~!G^te{RcRqJR&r= zFWrL}dRZ+Dq5pM9#;K2nV;!?HzTdtON=8f<&jflf!>IFMkIgYJII!o0dMn!Nb9{{K zw2m9p?WY+dCi;_z6RIi`ci{8U^lfYR*Yzi^6rD-OZGuVajYW#5LwIg5edYo^CC(*N zWc*fpZA(tys@UhW#}-Q7@ZylZ6Ym zlgZAuqR$uRfkTeupTN!lpoxfcOaX0+12k;3AlL9ASFC2Op#yg;o@S9(J9;?>90aF!nVlsT=iXq^4wsp zmBr;PKQGDp8^+>|apC&n?8Dc%&-RzpJFBtZ7hg*&bMIC#+_Y?7;nCNHE04yM=8W)M zK=&shr34335XJ71xL+CG7Vp+Oa3U7v90r(U+a z$9qApNBk9JbO-)B^R!Mw(V%)Hh0%R$7%}1Y7oDd=owk1EDL;iJo>!yfc!hQL=MJxj zdLptUkoWhiZ&S!~d@tWk|AcY6AbrgLf)TI=N(|T0`NJuV>&v6^9#Fg2@OdKgf~t%S z_S+d=5E@&zv+qkRq4{pv;BZryh+WT+DMFsoHNKNI_8ivL`J+)Xl}=>&<+gOU8#w>g zcSH7;q9srS^gfBgI6cPk_2t5!VA8qk?v$#vEeU0Qe7|lx4P>;<$ITcFQ+NayyOM53U((x z9&scYv^x&@IDOpJniZcklno)V%NqP0FL0G*}1ckNSAK`pb~%tMWYuExqu&s{uW|U20_g zI{QCWtXrcs5)XL(2J3Q2%J%K3k0{aIkbm|S{qPViTXwQN7<={QPd!0DoN_tLdj{`a zDL->y7WLKn`OQy@w)(=5spRLqy&**NX!+vs#W2#GB*XasIT_jRu-qKXV|)hjoTSi| znAfBkJZ1m#aZv+8v0#7h%q@Kw zl1i9*eUKR{ruJJ^VtyX_TDdxi_J8w`$8P(tXeg|ZtF~SWBcqCq>~|95i0s~QnP<4q z!IC+Kp&d@(zR=gIT5Ly*+d8ICH(HRrSw9b4#dWIFjhJ@_V&6Q1i%Z$cf@lUu=`}9u zz*3|yZ|ojRGSQ+tCy)7A;_x9^b8j6IY_7j0H_R217Z2R$4RR-CFY^Ar!RL6zJ$xjo z7WGkSz4i;6)rff;J^PaqQzDrvDk{4@5f&>Ftb9yyUi8SESf9Td>8=y(57rAJlTu=O z3j%olj|_0sUB-O6dEfFU+;8`5{Dv;CoQXE)(;ojJe{!w!Xy@krvEY%rD*XoQ>4UK7 zdP&1LNY|Szp+6Wz4k=G1`*R}h5U>t$MBLnNcK_=U%!l+QJ-f2bL_*`RL}(24c~Ubd zHoCvjn>@A4oi5PAe##S(8~ogev$kd#9)9Hy7tITAmOSwWS23mFpU4MIT~t>U{-Xap zlsc%lF9B$J6c}Y*#bW<1cGsc$aPsHRqj5`o9^1VnFrN0;PVTV-w$g7LPB;8X zt!P=*X{=wSvB#(4ai2oi?LMxQ;XOsOR(H||lgYG{NW7tL7%6Fv->ZiBkg`Wa<&v)# z`BwO1v%je_Of&c;_8j$tQ9y~zKc5F6i1f6ZvOpgzdd=`--_@K^=EHOO5-y)m!RHUxz4Hw z^8e-^3*$YTYmv*;!*y6MUMZSWVcs}jDb&wO;{lYL-ttOqHG=uQbfr^sSQo>@uYT0Q zIyl9|RpNxY>X`NV2aa%Imn321bT|S<{YWdR@l)FY+D78~tks zQ4e@CD*Ai4+6KH{JC3QSdxJp#_AVg-obRi@VR)Sv?*mzoixVAj!FzYDdGhiS$T2D( z+fVYIFhucQvStqP!Ar_If9&gKKOXuee=&qi1~(XHjQEqp166zKoH@Y1P{|<)>uGpv ztsbqmJ*28r(Cz$X1gkS%Di`C4{77=ioqn{FWNy(NTFm#WYw~}N`n!-kYvKJ=aoR+l zgJ-FMlb`S<>eK&!KY*Y)9S!FbH}X|I_p0`$lcY?Q?V&6!>Y0w`DR-c~N;y<`dI|O$ zyKL1S>O>HMqHB$xqP)noh*u+fvIlT{PShyHxs=His*V6!HFD$U_l+6@Yfu)iP?}UX zCSr__`Wvy2R(jI()+wxm6CEA1nasL`=gWaVU(IY_Ec%*84(d&YzULy!kiSc&(6p_J z>5zKSM}Zgi`9j*P{#t>l5lpHmNVpGUUcF^s(_N0d@XCH`V}SrTChxJop}-pI7PFT) z&)~ed-P9d@pC-F=lBVFcyuudxsr_s@ckW|6-xB^#0=uGNbc!9ivBaAZk zZ#3qO#_QTP`NBkV7fmoXVD;W$*D;TMO|SgMt%URba$Zpd8ET+P!RpRvAurM!5yoDa~`|_c#o&jk80#yw*T~hte_v+DK2bCP20je&2aiOyDLdk zomKGQup_LaUz%8uS1Q>1d5zfmlZFt_eYVCyWZve@gbsZeOv}`8I^g>l#p!mayG_EU zlOYE-*hgUUcdb3W$Ru2U*26Av`wO_oPn--o)<9DF61RLgJw@`EidSq%2gzbI=x~mn zhf7EN&xW2KB=nJiQB+Ek5XUDOH4`=hUxOZ{c*;)#>&3B5mnUC9s_4RP9;14aXWKF; zB|k-IL*qB}+wgmX7X%#-dCx=WmxWVzvjz!A6x9dKqm$t6OSPx2egxiZlzVwdOu{zT zBc*O{zJTGU%)R?|HW0aH9hzLWDdL}-H*z$flgQjXz2~ptJP2s+SUAcyMAWns$Ifbx z5aoaEtMYWuL3B(l4o=MznJw=heyJTH!u~0=+mh$W#Irk_h+HMyrF%#1(?3mEPv+%y zhYZ7^sckv|K_BpYp=LYk_f0}PqfA+n)d=X_704sDlhBggZgcY27pSy7c4hZBLXxCy zbmu=!l0S)D^XHzm6Eh3e3Mr>~7#h}MeJe9Wq!{Pd3k)WKJO8%63+_+;`1q?S{z*uR zTajYL{ps4#wP+ba$U*vn@(jT#0?YaB2a7xK?Arl%PTP6dy-A)(FbJS9{*{{-%PPhp=pa-@XyHMz}gQvM@& z9yYrS38yFwk^;k&gh7=BIKf0Qr`A76?&c`i`Bo;9p`;n%zX>gnQ7Gjj^lku*e_pyL z$Fe}q+?nR(eAW+F#&(mMKq%4DsG z)8|p|3utY3Dk&W3hn7EU^mZ}}8Q?XsEN02ru+*-Yc} z3|<%IPqrMw?;}L_6a-9S|L*=(3QpXg@3l6$0+TT1Db{u6#uungQodiyM#z``rx8`^ zQzUbbJZ#DCAl?Hh*&5;Vz|8hdi?MW&oGJbhK!rxs!ZsA3iVQJP*3s%kim|gXGTXN6#Ga|1;ef zJ@X-U1PsJB$#kBbgcq9w#kjh@fJm0M@`yn_aW*})osoZv^tIWlM5cEV+jym1E01~j z_~O`LQqdrx>xej{cx?~_kFa~EzMdmNKIzhfAw8rl{^731ym_Faojx(H&-iJa8=AMzZl1ID8e7FFCM4?3Rw54n=589%ot|u&dVW&D@`aSx0 z;QM%QK;QH$^7A5f&@10TvZZy`j=-tZSDnI_nDAeS*>jG#PHq4Vcc9b)?44K? zqWm#Pt`$_y$ZO`2ZyDF_@n|=Lp`mXptKk5IWwtb0sw|L*(DkOXdIP|2lO3;{I}7yF zqrP_+2f>d1P~M#*3($3fp}$FXh)mVFREq~*A-pebp0*1=hfQS?H-_VnWm zBvDUcdeLtHd`cf?kjPm${6X{UW3eHiynn>;&He?%<6^Uq9fydL{c>aBGgdqcWI{$?74GdS92{ z#r)DL%22**q!*+wh8S=rz5_$CUw?L$wh{V+v<3wRgGA{TUyss*d5BtEJXa{Y0DoHh8*Kp8p z^fe)$*vcb)XGx8MW_ah3Y3RJ+zjLf~0=~^0YvZu##dFm=l~_*=L2d1>DvqgXqV??K z1qX*wu&?aaejhRk4MFcJEE7hcpsTdVcGDynt_yEDobv@@#>Aeft`IW3I8o7hW{P-8 z^{d*hbP%EJI@x-Qd9VcC&B+`?WSG9wr|`@qRE|=`#1xKzg^iAM+<{4ONXVo&EXR84 z=6XQj<}(uFRLT2JZi+lSW}`e@(n)^iD1H5BIS-Hb+0|-~50bzQn_%nw5ke6v9UnK^ z1auxd`kyHxzNqy`^``kiv^-)RnjGixzK&k4=#gp=im0l-P%=%_6r3x%4vxUO+{4v4 z_YY8M>F>51)&i0g4rsTt)Di}kRAU~blve( ze{VdaC?hSI+4*KBl$EDc%1$bT(6W-5iWDN0WE7FTH`ybOS$5n@-0NOR#&um$NK1a_ z_h+x_ygv6i=RD8*{eH%IL?%_qkHcxMXJJ0pQxMjYI#Q0~sRZ?kp*6-;AzN-#-7LZH zLZ|XcTxx1UpO1?;T-TaL?agcw2UL2I7l*f_t{nqz{A~8Sw~35aB?s&ituP)_yTZa! zM}e`h+5=fTry!QFZ}>sREa)E^q8wjrM3wozlc)8k5$mNw)vA$RWd45c`r>&8%yDu@ z*Zv`)&g9DvW0ffAu7B0E)WbHoS^30svmpbG)oEYfcaw^Qv=sdc%o)h>`c5w0#0to- zdmgh^L_?cxgve~-6v+O_D^=k{g~1letgHhCrA+#fbNnmx9@zk@al(%()X*}O?8&ilnxSULo*etzi71N=^G`;qNpbQ)^Tu1V5e z8HWdkw^-PcCctYorsgKb#a_Su%^%)jlvGbd=J~-i;@qBH`-vF>FJyLt0|U*&e)r|*IP`%^YgRqW_c7C zOwIbTY1b4m%~V*g=FI}7P5FxU zNl0|TugP=g0_?nMJlj`IM!PSoeEdFd2tNs=f&AqTFz>T^^|W&YW}a3%?$%mBhcZ^w zXf~rTe&aHma|j(G1O9ZXi;%%UeOl>+(iB)V=WqTxO~JZ?*X$a`&s(1A6fF~G!L2tq zeipl>L#BzjV_ef{raq?L@_P@m=}_Gtq00aPZL_^~_sFO!XI@WB7vqaCe~HKUDR^#) zz<EQG|E?zqI=jM%m)Z0g)Lje?H$h&|WsK~h=zppJhRC1U%v%9CWY zzuEhR9_CGM(g7c2F`oB073C;mfWNQe{4R0KckT$rd^r572}L^c(&hI~Bj%(`#oNz& zPzIkH|4xh#IlDhErqW30!y~SzhVlzwAD3{Kiv7F*Q+DHVqnD@;zcwrt*@pFr=#c#6 zQP_Xk@zp7ep9dsPpn_|oP&V{|Y~(|SUjeyw>~>^WH?Rm%;l*}F_b&xyVgJKJW7b{b z2RScS=WlZzaM!n6$&fk%!xh|GZ0ZZhHZR8HuE8is`4G5xFTU>nDwXy`2^qj zR4p)#G)lRgn+>}Wsrw^A68m|Rq?}88ACpnAx?B+H%oMO^pL4!uOo4qiEUT9I&jXuJ zFd2WGg_)ADOSaz4=!v3e)w500Xmc=uJ0Yzbg+F!G+PKaD8ozGmMQqoXp#&d2l__xC z@}KOc01EIb@Lt($JOxzcIkFyc7QP-I^d|moM4tuZQ)6~dqt;d%a@nsQRGg9c>c49Y z$k!b{YqLZ`yN>o9&EK;C2jWi7G8K?f%>akz?nlSbf1SD8x6gC{J@#kBAIb>Mi&;L{ zf#WILg3gPMv!n25cy)L-ln#ZYp#)C_GT2QeX>2-x?R-8Poi-&S%hGC#Ec}j-?EROq zj2rFnczAxDpELq2*A8{L8!VuX4{jY+r$%8xp24i0jNc7@u4^qkPJ$CXy?t{^3lKRV z6LLeGj68Dh6oz;wpqK@#fktvGl)ettqsNYd0nx69MRfr&a$XL0Vq7lrH^(sApAP3g z9c|~)A;Yel;RYJY3lOc~?qRc^jDFnFEDIidhE~PfOfpv6K$2C&@}&7F?5VzYJPhN* zThrwSpDB;RDgAQ;(HPI~c<`{SNSzE;XE>Zb!U6=lIF=lslaSgTewxXPXf$P5!qOGn z2HP|~NjgW2f|$?B?@WaS#G+oiEYFHo@R(~%QSZLkz^7bQoJ!uGkXPi+(z5OeXqhr!~b zzEHtJ`VlWOWHE1gB=c~G!4o7E+oJR+qa8{--e2ad_q* zOIPckzGbsQ3=?_N}Mo&x4Mi7<{w6d1p%eqaX2ugiUN(c%SIx3L^F5c`MF z3s(zQirO?fef{0Pr1lP~cw}bUYyR$qi=5h53 z+gflu4XZoaspc~Z>(*n%K|yq&jz4dY5F^72rkLp3&yQ&??pW(LLCx(`l^5oUxd$2Tw_1U+>ByA<*$4cpGJ9}m9eTqJ*X~e^Q9_J z23)We=DfN_Li?<~t<2d?!SCZTGMTR^aHK9VzMp3b9=!ZqRDf~I%ePy8S;RD<-R}>* z1dI>a$-kc|UG7DkFH?kjF`oaNVx184gM`#qi<=)hPQh{C9obBGDX@)0P+A}3%y+-n zJnU*QUOnhKxxB3ft(mSU398Lv~=aoPkh+o@j&*6Ky?uA_WBTS))$ z`CvWMt}Fbg@)W$?%KC%3bry`2mq|oM6MAI*$$vz08YwZSFCZq>X9X7edHY&Q3&E`kDHwjyPFM5n;0^wAlq;#sJRbIX?A--N0n)IKL3pGF-a zd!7f__o9qM*OiT{49Nax{AO-~giddCl_xk%L5k=H^)NFE{3H*5d?1eXyKhH(%ketH zdRAhm=m^P=(Pil>(@6S+Gqa0R4+=w#31dzSNW00buZh2BV{4f0493sVk2|!29r}@R zszL?paXQKZ7DGoa8u;)roz-u`e5cnd>st;Hs)Xz>NuV-vawr=_So9-Z-;gAO zfJ~~;yLB4cga(9m%Z`J5LGhhu#S`%0ZNB!DWiPtOQYNxtO-IY==h6h?+(o`QBtCfPU(G5N_Wu5$^1y5gmga2AFUM2B^wXWa z$=J?4+w_ur2r&zSC81T#X=m&>gWMmyx zy+_V<3O*0Ld2{Um1y(XcKeWkDLBs=7$MJ+&7}qz>vJ-DaIvSmRJXX`_>^37$FT-9m zU2M18=poj#My@XNV4aPuxRuRPZ~@FkHa(GiMn>*znzwjVosba!uLfF42guu6USgIR z1?}5;9x}2E=;+yVvJ)^0Ut)RUU;5&>qkZ~VjuRQ)m__E4A6D<0`_Bm-#t z$C5BZLjem*N0Ht*uvBsGn8AEPOZD!LSrZCe6nBb~#`Y?6`JR$TorSo+cj$HUZ_(lQ zpQ@QVrxBxRV5!Eu7oEK6D`$>*ll?m<`%_^g#Bi3-`A=~H#;*Oa5=rELF-zMu%hMc6EP7_#9 zNKx|94!lD~&P(b1_4X!6w)wK9O=Smc5+}6jagKtUM`CCS))UhCPPjNp<8?>uuadCN zCZFXVq=)qvb(?-2IjlzwT$|m=f%zEiNuy4|XG8e9=OVgtvID*v=DbrPjKJhhk#aK~ ztcyl156fUXcZ&Xc^}dV_Yi|w+CG94|;I%7}AMrZATaOGl{>Hj-aXYt+Q!HAO?u{tF z*an$tL7R2ru%7zcf1(xRx_1T4Ua#@@{25PIX#77Oo0EYV?ANjqD5tOC{7D0M^szvD z3glFivx=@y!L_8x6WsJ!C|jqQswX$0!8nWZ*|jNDew*J}-LeOrIkotZ)rA3h(O0hS z|3^a1bDEr7ITLse#mg3--TnA|M}Cp?lXNs?wvC1L7sd%S`7z$qN%&kX@#$R@5t1XK zScoQMn78k*ldq*AmVfg4KPJb4&7z>|yzl~qjcs4adqPI_BIf5f&5Th-4mHf!uLJHU zIp&8qjR3ot*UOC)3usDBxsUVoCHWJ-EME%*k4l$*=?dNidwbvChUK?kh%9TR^QpxCdFV9{!Oci)a}4>abP`HDUa0 zq|)CmeqsSiuI@6l9U~#W>2;5GMhsFruie|O-3BFb3Y`Dl9tBOW6Wqd!& zhf;9Xo9jILvJxH39&dVu^VyevhTTYA$^>tde-p(x>_%$wfRi^Bfk^CM0? zDg6049b`}L7H$O}s_$ zBr1I-9ods^z8-M6tM3s+|<=?T?qQwASt+XvA zK(Kq5WcRQJU3%Tt#)s>tvQ3|wl&Ypfb=mWQZ0}N}AnVbVLr8)-Jr6Ep{5`cRUk-7^ zPQa-Tc{YrF{b*fQOJl1M9l_h%k63X03KX2*o<1-M?_}#Vj01^qy<+p}wX&Y?lbdc35|!~9iGQVSyUx^`Bovn#4zuJq+$?qKXAiytrD&ClsH|->%4hTI+?dA z1JB!9_~d=K6zOV<_yK<^eC*kyH8{73!UcM%oG&KeeS4mg-jRNEXi-P8=L{Wf5!11s z-%o=8!ECjG7n6{1?0TYmClN-(!glbCl7OLK%LrJYp{;$f(aG38wE``_T=FKM+po5^ zhSrCow^g9;82`L~;aJTxkM*d&WS+f?ldwzfjNI)6BFq{vRVw+C;g`|{rphuJvSq#c zx&-^f3s-t{%>*$%)ZDhMaF_y$^>VS6I3K5F^nk1J(=6zUq#UCPHldYSFEY#j^)c4Q z+3-`nh^gq2#-4KwApN;)9Hv4>AtRfI0*_AtYf0eGlOtGfF})yS%a8R$etk|nBopKa zZO+l7jp*3xwQa*1(`b2{XYoXPFA8(r9`B9U34fM4-^D>jdTN_;1~C5F9qa6r?@od5 zM-*x!6{Y|Z^*rBVUQpgnqS8;lMO~E<4j(T}qeIEx=BH+Q(Z9+CIZMnhUizm6?Drud zt9z^o>=6@?jXs(F;qOB|PZSw6jKk>zDg(;!*-@wZispLx&cG=@$Qf$ybReCk0m z9R7Br_395A65nVV-K9MaNkWH1i!d*!77Hsr@v{dF6!0i;oTa0C=dF&CN@t;-Rd9Jp z;0u`Nwz$3J7y?~MF+Iy|V{qbJQsUNfj1Lu;FD_plhYA~Fiq*gb?hoSNZfWX8*9710 z-#AJ~GA;wr%(Jr)kolGM2%3bKgU?iK?S>%xOj2;CFd07PlIgDVG}KtWPxYqTI2;d6 zu&l)ReNRZo_kbY^aIlG4$I4;7_l;2-4d?1UMJn4 zqAFB(8oiwy%(vC)MIYmR#xrdhApT#pmK^4B3T7o9yKr9S?*aA86G{|V)5}VGgmpHs zGCV6;J`0Q1d)$Nb8&GUX!TKE5jsG3EDykmcivoV`uI&uM`BlDIS+X|fgBuoe96l3x z4*t}Cn-}^}>i(ys0XsTk?w@Wc7oowHmp{Do-b{kPrFn>XNQ7fzr_w#O$gteJv8R+u zLv46mNLk1@WcZobY|Ed3xODk8eq8@@UAFtdtRo%0di=ND{m(4ivsS9kN}7b78Z67a zfkR*{qx#{wGR|*@F+Be5okP#3`tR1YQ!#H&6MS`&1g5C!N!y2c^t~teW+j7w*gm(X zS*0@IJnsR+pl1Xq($Oj?V)_W@$pp*!Nh+ezw-Wrvcy7$R^L(7n_G*<5;GcvkMtoxg+;$H_*_- zWLfQ&u5oa39w_(9od8`^NtdnieJD}B`0D@9q44!BhwC=u^E_Jc?IZT9J%>!UaPtkp z$uozqZNYj=xt3VF)^{3exYh8B@A5c2x$SUT1M`$^hn)OLj6T$t7AGdIgZWOCoLV*3 zTh9Ekn0+}l39%m|->p^>ab1J<0LNuADBOv;zPXNuJ}}3BVj3BT2~+*{leiw>`;$0g z5{~bP#%3mT*&Th4n0Xwzs{=0B-M*HO^)Pjbc)k|71vF%RAUk1c1gfm-qj$v6A@{_$ z@B@})_}<%ayVZ9BLJk^Vbx-L-BF}b?bX=z+!oKdyJEdum6hE`k_i_?W_;7zLX&{1E zPnhY*cD!Gq15 z4D=nJVVqEU>yQ8QCq#HYx$9&d&ZlTQxRqbTamU$$D%jvY4l-O{|5QDh02^H6E>PZw zimH#3v@Gc;#&JR}a|;a!w>S1iy_1^*uAQ&2(iwW}ebNU@G@bCI>P&Qxn zDds!M{Nfkz`6;ktzHU=Tf+to44dvgM=YGyr5|14Rg0^(rqYsN{XUM^80{3c=(}cn= zNXdsrzX*#vTs0_U&*?H%TtD}MIJfE+meyg<{g=jd8uIS*I1e--9x7I8yqU_H>sB7(VCCOiq`PLW;SWfh~! z`g2ZgcJW|7e)xtAUMH)1C^WZX0?tN8{6KJYk%sDI#P{2~;K}=45^sr^7qCZdd6Ko#hteL-6YKGL z?&Ay_nZ)=|H=rpOrA|U-o@Z&(cOsBq9`Jkri3E8|k}(MTRmtYux1BhD8k+UZs_o?j z)Gp`z=>FD+t|x}JW@7x~`sSKnEe{Qv*Ir8TRbsy(C20JhnFz&kmMnGq$Ur@+X6}If z&lb0RA`R)|@b2!X?WP!S6z|tAQ@l}wG@G(WTrT;*D$kbx@Mkr~jqQyDjK`8BJ+{8c zN{1!l_!iZzg~)ej&vIo&3QS$Q3_aLBzr5q9pL!P22hUA?Iq|i~C&ih$pg$kzo;jDs z_tv7!-Y1?5zf*S#XyDPU&nj#`&eiHxhQYF#h?t?ZH)Q={OXRotAFG_|Sa2wsRG4 z4U(`@mbrPL7`7jB4iihSM(G((dUB_5KY8I)#b3-z!bolxRZ>b&x~MzhOn5S=x%;~I zVq9m!ELCBO?Q9l#*=1R@79D(OC@&OK2v(KPV}l4ah-p~%QxV>;+9$`%PRG86)A15D zF7Jwv&((;i;R|tK+TC@n=j$R;ueua?0NXjV_kK}9a1CM~49VY!FN7+IE6l2#HAp!# z#UcaSne~;u88=@#+|TmiMqI@xb2h4xqLd6Y!T?hbwvXY_jxiB@PbKL)25Dv0C|9AV zP_w-V-s)wUR)|(3`WN{td+_hl7~!b;PRWGd-*xTFZM?4L z@g-Hu>Am|fq!_FW86WRL3BxS%(X&{8m^w@6d(MEhY5xxq`2746SMTpSQHx$fa(sed z5l~4FmBPnskZA$&3NJoCkGJ2|?aoYx(s}=jj>*NyXE)F2fx%=*aueFmitk0wCV}@% zc)wJ}HB_ZmYtV&b5AX<=Vn{@cfj+Mqv{{|uXodI7+3?@@zg+1M*LUr!({KsO7S>QB z2PXl^p6T>yyzd+e4WYmB`Dx8|4@kOHgX>cd9u32Ote918vpv2S*B3;S6|tR%RhMFW z&C}pWf&{0;WHEC8b*l?;C z${+bYj>DCow^EdxNN~)bSO4nZJR&>XtG-`CK-aZziCoQMz`dp?;eUS+;AqG}H`9n= zP#v=u;j-vPxkX0ocTVH|x;Di{&168Adf~%YFG+B^@sHV|&Utk9i-Iw!lz@^3IlV>j z-%E4~2YxzCgkJrIi|4I}K{z?ia|fXdu|3;t`xH?ajtrMk^dpcs%TGt9)o&{3k zM%&MsNeH>eh`xhyf@Wkcnq3@i&buDQa+`_i#5JtOEd8g1BMQ#!jsW}xQl+OS* z2R{vZEeZDfzAC+i<`Jmw>Mp@{cJqR$JN zTHK!i&9H@G`a&=2aS^%V?nXxzudV+LbI>5;OL@z^nn^G_8T<3hJIuc z30^Tp^!>$kp1afksacH>(9xd0l_u;D6}1xt`fV{zy~ld^=FMT)ACP^&`)r3;&gK(h-w~%uQ}48XSDib;BFuAL71W ze~2Y+EP^n3#{(rx9t0GUCD*Q2PYT4@$F*F~3l>HaNd@tq*an6}|n4ai-hF zgE=t+SO<_2IkR(Z5@64e~xoqC%LryrjhNW=WpgOrR2uovYxg`XLBprcams~!ViXF*ivR9;ZWB#d-NsYQto!9w4fZRt}on3|tUXZc1$ z@y3byYMaNw@b!ZTnJudd1CxYdJ3zX1R5|nJzXXyW*?JRgYFz9_@ zoOKTw__w~5UhJWvGt)DhYCn&Iyp1xIjKsCe)AgqvY3Du#WB7Z8`bn|Ld5U z?_$(p|Ffkz@>@L-R|c^u6sARG&<2X2^};Ct@@Wk;QUY}RqhuFJ`r~HT29drvdGw@yrb?!|G~JrUUw(lP;7A}dl8NBdB^VR_%0HXVsI3JZH--fhfI8#FJQ z1ij7vjbUm-Fn=@i`8gIc_>W`>DB}Bm+;}ndHs+25O6xLLxK`OWL<~E#1dwlZel6^eZd#&tO#Aqbgv83jH3!g)~_^6b|@Nv+II(KVp z(*%4|q%A)k?L+&!IutIdVmyDzO;O?JEZp}xwe|#`XEU?Tpxr-+Ao?qji?EXn&GiR; zSq5oHuTRW+eqbDIv^^6lswd#H$^}7Ni+(g#$PxDx*Cz}`o(ojjOM~gEXVW$bSVubD z_{et45VWzxRG8!SXg=@1#oes24+ztnXSE+f=vVdEb$@EKf4fme-3*fvQwA+&M9Q->}Xz>Ui zG1i@m=$+lSy)H4({Ds@h^2aN1y|iKSsTvwutp4(*R*V9lTL`0Xj!}W>h|u<1xPCP) zH`Q{-+dd>OFw#6^OGhq-Pj}qJ_f%9*a@+TeNod^KQ4!Hb1cqC?mlVEVy?)GgotO{u zI(c)vau^5eS)-TXSXW;yTJPGUUXOgZ7=srMVtw9Vs+3e&hcq`hQ#5g(;n^H#)=#(7 zfoa_Nn`eJ9`YXk{SN(4ic;ENPJc04pg0=l>KgRRfQopA31ZvRbU3203JBz^0c5C^? z=hf)yp11^r@qB=Cq4Ii7I>cKNbpIw5BezX9`~S$MfboZW;nvvBPfhMw{>AvP_d%iw zkyeY=XS1R&PZhwaG7VX6^IH6V(s+L`=5e3CyItBAoe78X$;ZEz6``2%+4;r!G;pcp z4*h_?XXK*zg$IEYv|agN&LQhII2|q(DX7Ijr(NBrH>Xq40OLQV_0tUWd-i9ly>b;q z9Jx_K52m623MUul9Vl@5?Bc`p3@W63UVJ)nf`Y^sHFyZP-|9QNfJB)I11;RTJw2*U zMN;9(%&oZoIYiSXS3)&I95n znlMjs_Gw+6$9(6c={fuQZ`DXoKT`!67QrrIfsC60)u=2u-;ovLx=gEmS(k* z^{W3<-b{9eXj>f!p=UUV*@n6^!Wf4Lno4Vc}&xQ##NeB6DB}i2#XL7S!25hNz6}yPn z3Hbf=tkY&PT&o;BKrfp|J%Ju`5?KVaJ9J-=4aRj>k3Y81Xdwdsl(FI|jo}S zupZ%`NN%tQ9)^Kk+SJCzF2vfw3*?4qU?`c^Hy(2P&d(3v(Y$@)*K)G z)9fXn+X7E_x5WLw4*02y)_+8J|Jh=BxNsQP5592wcd{Gly&cJx@+YCFnaVSQ7~d#K zb?5(|pR%SYs@96uAj-BAuG`Iu;Ac=c@D^923$^b)Dd9OUw|^6+9-=hp&WgK2tHV53 z$?VX*eM#_lF8N$5KF_c67IGze7tz$;yI;uoKAqScP|f;Z8Qj=WboVn~HDc)cZH~cy zOt1Y_kfd!2v@7^|(A&$<^}B0JQ7NxLBJvCUG`6#bOVj!G_C+M_^8J#FejRdh?S53s zT?XT8b?U@dwa7z*jawA&mxjWX^J6F*OzyHxKiu^ORmjgbF=8^ninAm6JREY*0piY#26qkj1K>V0@T= z_DLSLPdQ2CpdH@VXWASIM;1sR`rNJQVEsJuG&plWID&v`&k;9?L@|K-a#(9$I1zRu zd$EhRhaojenI&|%3mFv`%R3(>q4kj2fNglcekDsAmzIz~X@w`(p=%x)3M&OX4cnHoH*X-4alvq3Kn*JMI?%Ee&*e!tv4xs3 zlLZ!^xV3-2Do17a1No9)rh}PgidXC;zNgZnUuVV1kT-L%Km_;i?7QG|%og|W6rBmB zT?%Hv(7T6xl3_&XUScWY!F-2eQLfB_&+}*$(=Crl5(?Y&PGs*B2599uNNR{F&6BB8VP zn}#IIaDBmm_9?3o5@gs0%JSm-l^~^@!!$!c?<$Y3f5tlh_g$+p^m|0OdOg$7S`pia z&u}VicNd~E|IXv`CZW$0Rwr2s7~rt5ny1`B0*{po%z0Iqca!>6KaCSmMVEq)0=6IF zh}zD26C#*pGr5BA2U1)g+`ykf?5_0YEPR~fgb>cG@ILdZV(41z%$xlC9 z;db63g$^7)_ePYOvVNnW>;c24Tz(7`GZf9iSSW|7N3R&kBpSMRQN8+B_84?_N^We| zrGiDdo|7B2spOq&!bwSoGmBZ2xzfT{>uig6RKMH z;qmz&5l-w5K9zWR7{bKu6j-dgkXJT6#r+@&J*k=@MPNVn!B=?a0*>!bejWX*aJCPvbz07#`>GPL823Kz&2?KL!NT<6FiwnDm$qyO>J*HF zh{!rK5%ZMT%z9#D60ZAV_FG%Ucy&*k`1KB~)B5Q*NF8j)b*Eu!<(xQAt@p`3$#X9m zUQYk{Sl>cJLdsj%8rN|?PQ)|2CUXMncb?`c=kG_^F~=550qf7fOsm&cX2EBC;GPrK z0jT-8Z@6(i~yF%g|<0mHIlR#Aer7WCJaXXT= zPm+$V*sbjM!g;;U3uT9QT+t3%^=axjBu|_e zR)0c4Q?DQQ&o#EdzA^LaBs~UFaQP+RdxVO_t1bsb;&Whpr8!vnNew7!$cC<@(a`q> zB}UB++?O=i$UJ|M3eTkCE)FbFP-)oU=u`ey_%+Ht9wNs;%P#8gm3L9`JhIA5ayY*8 zWfZwQK3xOfu2_}uKc%6ul;HDUaQ}!-NPwbICl!pF4+Q;ip`d3pftl|ktzca~DkpP_ zfoyEcSW^V3h-k5{9O=S9NBo<{{`yyfxZhd59;`#@|Mkz>`E3lIMHcQg^rwQN!3Qe> z4+YIn1Wz60#C7h%b_$_q8Av|X*UkSG6{Wuj_MX9ic9yo66)q`7dCzZ}PYj=yo@eGW4bb{Oy7 zu5f-BzIEECuXJ}IdlQeBWvx)cy0n|9Yvm-8dsFru(2_jaS>N`_m8B1tG%g}NLPf&F1i(`YGeoU2UyCdTaS%(7g{*JWpG%CEkvc}AIg@Ois#A*HeTS2;g`{)&n>-HuWu9O|7 zB16KGSD-Beb!1lu-8@naFETtxRi!jMf9m$PPe1`Hx`gTYNh%n2NiN{I0Ep&t{dmU5 zR$M=KB&R}$fv(1EIWm5nirTo#w0!LtxNg{)x>LRiPTb>nGtb6;gSg~ajr+L09I8xT zgi>KCh91QcNP=ZLThVjEJo+-d=yNKQfV9mYRlazE`ZV~n4p&X>qGOVpt*zG&{4*+Nk8Tv%96sYL-{ zH-wjQolIlC$KxwK=`gq3Yf0)^F%l=d$Qdq9hM;(M^Ih1^kL+3RFJN4k)@ow>82`Wf z^{Wv(){4OQ;dY+&C9Kz9vx+mo_;Bl=@2Sco86anTOCUC*1butNWG`Bt3flDP+bnn; z-!ikO?l1A{UFuWQq3vzZcWSykMTvpr{``J|6G5o6L1$Z{B?EamkXDw~D}dp($7L;o zhHm+4&aeql@Vj}Im3v01u!--G$0HpII`sBXY$ksj5H5ZEd*7IW4z7(px3!?6b7NIw zx2+lId}zx`dw3;G=h}2=712;=-pO)NDcpZV9C7xuqk^f^%d}&d7i1*()XKQE!ejau z*WdV_##Z0lbw!Daf?24NkMa5OTS+{f&0YyU?p=1+xcsaZiQFG?`hyDLSPV~JCs!?EF|#R)!0}x=TdEj-rh`d*<#{=yVk8{x zM$dko0$U{rdi~fw_FUZ*I_6Ey=AKXQFJiq{$-1p3w*WM`BEG%H^+<;gHHElgo*SDL zzc-7R1`mq=*u)+#Lh;k)wDpTgV0-VIq8rBZOEdg7-JQ5DY2if>$8;?UpAX!t|Go$m z0X=ki?K)Kn4Fl@5Czd?~T8EkS!9MU|3>$?#u;df#2F^B=y)mwOlg zuI>#Jj_$fzbXj3{j-^EbkQ(l37AxR9*5L0x8a_V}Tf#dfZfC)h{MCq$hlc4~WkHBt5ZO<@p#a!`8Khlk6azCDtjK;X-#^~V-ScmK%2y&Ogx<}#{ znKc)TH=3H3LsJU~==o5j^f1Pu=iMqBCUN|8KNZ%0(sdXdV#|NLtL#F%+B(0A;{N5T zn{nHsFm9n=KJ@+`z8BmwpUVXLYS82(*4=^yCGfSxBC6$T4LZM}V&jDU*drc4^-imF zaGPuH|I1T`%)$@b+Wbhubp%Y!f3SUC6;RFn+pw-+d8k_PR~^#cFZtK~zfzF7{kwhY zWE~3iiC8&HT7=g-1zwb6G<8B$@U&Fl-!0GW8d&eJoC$n{&2gD=LJ!`Wu7 zhU4`pgx&AlX|Y1ssV*Y*$*>;H)30hw!)=#H4K9v>zh^mkZ$Brc+0HiJ_%LqdXjV`7VoQkM*K=S39R^(g5EUD zBh@+^zN1(-HnEp2x5fMEX095wCQ5|ZHPanGG42)dyxM-=tQ$2RnpnSy=eA@P75+Gf z{bsQ56YWlSj1Se_jjk79TqpWIP{f z!a9HgXXa5JJf|h6zcc7475 znLPtp++Gp&K>r>eI605=es8Aq2M%G}`#Z7n=R?dZXT)^}_zk*|U&AGt*M=l?_+J6=WniAW zw$x=ai2L9Ts*41$oxA(~+r)~p|)|E~U-<#kiczkG8a__qwhB>aARJ*gWN zeOI}%ph!ZdhF1b>v98YQbD}$bD+zMEj&90%(wte-!2Y=gCvaraJW zGSK=DySwJtK9X-b0)IL&&{m4~;gX;V2w@D3eki1&)f}H))s!(fcJKK>Ljx6%@)Z|( zP73<1SI6>bdJK0P_qjzJo zmp4;jPo=7n+;J*!X-xf9RiYq4TaOIWJGkF#pJwTA94~m!jWj50P|=+{&7`M}4CJx& zVy6*r1*G}M7@m1cLlZGY*%$ElD5cqINMk?W=^B!M%V!EsvEMOxP)Gr`^DWzOLpaP- z9bI;f!gG5*EbY?JKuG06M&}sr3pl#Lo+Nd*7xBh;DeGHczti}}T6sGeG41?vr!|g( z)SjnNOoZB?;dL9w6O3Cf*b91m>!%=%>N6YpfeiHaFvETC`wD1Ndw$Bjo`#M!htCjW z$KabAmrYtT6~a$>eLVJp1VP~fCuOi7Yb!W(wONpe?%aLz^H(_o)Fezkp2dAK7vgVl zURxT1Eq{K=w-vnCn5$4Mr(!Nf^3=)`yw^TgCb3CN|8HHb86VRr_ zwoM=KJ?*jP6M2jE^pEGVn=k$wf}xw{wjR_@ls^#`GA&9%#1n;a`7Ic4+!+n=?IpoO z?rF)u+oNl^A?}KGJZB)c+ESv#n}M#m-Fbe| zr~=r{emiRq(2$BI<$zBA7<^snX$iyk)TJ^1SpLf?xbIMWCHp1?BG~(EO&MRnFFc-G zI~@005j2mC_cf!+17GG`a6KgSdCaui^`Pq2+BjDm+`rRKUM)UGM$Kor*+#D8`(EDW zMDJ*Y4!gI%*05gqm+iCbIe99&a{K*uyXy=zGkp3W%eE@m(|FIhALGM4g$|<+c2nSo zmf&C}#^LvaI5OAqIpp$ZVP^ZU4P1(&)uyojVUxLe_{m->x;Wx^CBmJ76z?4fOSyyb zk5rESMa;WI*e?oJ5%KTpxEOcf1{G{op{m821lh0jk2Ya^C`(Pf_PY)162CLnBry*@ ze4QPq}5GtNqCNlc2x%U zQvvj)sIW`8Pfqlfh#jtTST|-|?ZbM)Muqq3N7u3cF)}jPQA~uHEkP&!R6at9{C@*0 zIG-!3Ui-|o4D$=UL5`YG2DCOcviQbR5bwCIvgk}JxHa!KmcxF-A-if<&2Egtf9z$~ zcV(c6TcfY36O~|ASpU*7i-x%N1nIn98-v%@zh%=)s1RT@I&SdKKg`+&ZLVSVF&Ydc$$3dJ&`?dW z?AtL#3UF^bU;49{3g?7c_O5*)fy44He-`ZL4ZiMo%X&mWU;DKMYXY&3l3zD!eVzzU z{&<4n>b z7}qghBn1XW)FQ!mLHh-=iXm4q`aC;FEh4IkwQa>X(?DV==Fp2&sPZc6@#iQ-&m@`G zdafqGfSeeUKE|uxN9$^Nym34|YjVQ>QX9NV{hAPPl!4eU(C*irry||0nzR~>!xLUl z2{)Tm!oiqe%4#YNy-yQ~CtM>{H#sfb!77W5a-M>APHUeLf^1-f_Fb_`;EVN+DgF>(vf zJ*y>AZJuC1fAD8jC&uBgUXRJVzg&x$_`Ri`5{h6DQq=v1YEX-vyZU2{pO0;Ok$*5f z1KeUcRs`KkkoEIccyl8al;2gg24j77v6nqwXu*8}PGbvIF7@d1KT_Hlu>`br8$RgM>rl~j;5R;;-#ITkn&~Z)26t!Q z<=e`YA(mlo&6eH-5H9;hzmLBsVvI$0C$4L{cA&7epkN+({WjUS`Wx5DT=-G<2=h+f zyU#2O9Ec#UETp`S^|}NvX`k;8x=<-cx?Ob|_8Sa7-qqI(*ePV$xCz$}Tg2?&bN$Uc z65g_1A*RNG7FIr*?Y?)GrNp%?R{~rQi|}N_s{oz z>%R9s&+qp<-}61^e2%~ws(bx#ukd+32^#}nowDAOUgB^mK2#Zgbj>CQ(HRxo$;2hN ztMJfg2k^rk&NBV+$WKIHRTiC@a&xi#uFNM6^;k4(RGgaxanstx^})xm&U+=rHS>1M zF^{;}ts7anNGQ9FKf|(reiqg_&g~8@&rA~PrAy?u<<7^A+VOj+w4n~I*hg^| z@-jP<@#iSv{qhV{yD#^u9Lq3HN}8r+A*+}jGqXQs*e7wnlsm-BjW_1?ic~(JOsn}S z_wXESRHvS{{UI6ocfSl~fpxyPM=!=4@^O>~8_q&e6?o(=jUMm*Tx6w@_>60^9RK+( zk#mXwbF>0Vt20&8(NPhm&%>5V}ocU4c7P`!wA zL>w359J_H6Q-_T<)Z2LaMA@B!y70zl6KXl24_)0Fg;*?GvFODH&j9&BOm94XEFAP< z9lNZN3*=`#HG(ADzJedlYxIvA{7j2$l@CK9zY$;J_5?}yAPxu5FF(Ed(CZcMgXXfW zxM_RCkdkQ-_xYEK?Bs#oxR74k95jq`&DXTO3hPj&7W301S4lWPHmR-x{5SD(^$BYy z5*86|_OSm_jQU(PEUO`Z>Ygo;MmGZaQwF9Lj@S`2EZOPVL<{^wAy>f*zw3~&XLp1) zoHq$ce|)oMhHY$u$a? z=ARqJW@l}kK8)3)ID7BS!#7FzP0)wj-=?55TT*JhL4Wk!z0V|+Qiw`I`uzRje!phE zJ+8Yv1b*x3!)*Q|$e`S!Aukp5n|#9iA6<3G%76dQM9_6AW~r4g;C@%?`{QN^dEoh8^%5AC?`*ZClKQ+Tg_ToG|?9K^2b$u11n zhH=Isf3bjOJ!*e+)$kddtElO|;ws!<;Rk!Ewc-A13VfX~)Lw+HN_NDtviKQ0 zUf=PCb&A#gmW3g}S^i%5fs9M^7(H_p{o0g+b zOyovz#qIUnmir{!y;D(rXQBv=uf9~;%^_k-pFveNSfAV%ou+x$V=$&IcUM}qTfs}IW>Yy?bimjz+cUiosq8s{rstDXot0)h<#HWX77SO|8a_7 z?4&w^#(stsnP^QT8I~Rgw&7to_s+F9Q%xh5kGbnNpkLw8S^0k3I`%7J-$08uF=c2&(U zVkVw1r~W{mk(6>}SGyuZI!a zF&+K~z&-drkxjM$^_l;^dMZ;{V0^@g+H3~;ZZ2rw$lpw9!&#;S+vA|azaCyuF6SrU zkj9PZ6;I$bNjDZzT0tDmt|KWy4jcrw235-!bLej3sbAVs80zeWHf|ft;P^y^`RDBI zn2YnNN+jsecXZkDGqcc_9kg|)%y}4RiWki~7}lY>ySr-p;Jv8WF~nLNBiLQX{oyr; z2hDnpaZF5?pf)n$nkVoadgfCn9RQ!UXL@~D#(V@F>+#7FNFGGJ^&96%aIQL)wR1&6 z-b$H^>fC6B7`e42hOp545d$|pL5+q?6^f~nfD&jM9x_G94J zQ8^CiLcCmI(fUVfa|kbteHrnRt3ytx<>sn6oTF=6wE7SioCM%mBJjsL%Dnk`>Wb0N zsfLF)d%y>fG|e;GH;h!7j-1^3H;giNcfK(mCZMxeJSDbh5%ciXl(jtX#sVH@;V-}^ ziPHGKVhnvU87@zf`|tOm+AtCM*tiy~Ia(Fz1U^ZSq)QWRF>rkC!^NfWAo>&Rbs)ce z5pyymEBu3d&_UOV;w<=88-sanAr?KTP<3&q%&8B3V_V+1MA?d!xv$78!Ta?yIsF7H z-UEHfFpW4i7x*s30a%aj!TL!A%V8{=LLYD`|v9p&$H?`SbdvNvGuMF1sMzf zwJ{t(W~U}>%dairhmRAZU)~=;Z%Yr*e0T|*$=#Q)i#MS!o5q&r*y$xSd1WWk<1PWu zU1E_Qb$yKmbe!|76YEjB*Y=nq@E41HM!#MBzrXtig&BkU0CG=w>k|Nd>qoDY-)IDX zR!@?4Yh`^1AC4WlIqhGMwtsU!mxBBAT)f6`DgOxmCYGkh3vn*plqBcuwL;_~lc{Id zO~ei%k2E&%5bEdE;`$&vg5n=k?Rf!t*s;;;ex(w?0|>6EJP-Hs<9Ap0FX@lqL+2eH zDZ{y6dqcV@;9V&yV$53biz8yFFK^y{FpTCC?so;EUDOYhJdlv^oO*Sn|c4 z6(1gWPrsZq_VOd4WcNqO4h_)P6!?UX7WS(>HT&-AUoH6c!N05N!vpxyP&M|Q+qBv>B&UWOy5vhIN% zdw11t(jp$cKAfee4LV#&*pXTp_)&d-?Gj=*3Ha1M+v$fwFK|;Ljojv9J(>+W<-Q3# z+EWSq)11(^&Q&#)8FdbLu*nmx5x^t*D&&8)Tb6+Cgd3il-LIuWf_K{dKGLKj16R z{8?EWf%unQoxNd7Vj8VDeIhr2KGs?it&psEE!Of~4LL|VgCi%4g0eSSv8@fw@#7Cc zr*kGWJ6<5*?FdSx#+$?Vkn@gJKlmG|y}Soq;CBh^ui}c99l`li0wwPM-|t7sj(W-z zqiD9hPk-hUu@$8~DflSVx9=Pl`)xCVHW)J~Z+(aQI`t=|5(#xkWk1u=1CTeD^}5EC z0QuQ-RIz`af}i<$Ub>)Zuo$UY7SC~k&P?9B&3-+72${DgrWs9+pd`-DDM#=V3U`{L zY?bO!=X1l%3IzIng6Z|SpTqdc{*sLNXTUe#Z}PKA8tNgN>|)-1g8um=3&2TGjG&LmJ~o= z@mixQJjXhw1}Xf`PzQ2+W3u5q_!90-R&RmVM0_^&TK&l|8o530I}Y3vmfdf6MDZLt z)|l7VnpTVD|IWA3v(Dhe#+~`TAFVh)sMo+m2ky~BUVlPO2>4*L2*p+C6L)J=n)KRF zL|qyU6O-F*m=w{hL#YP&$c^XwWye2ZiyzcKnyJALLQ#8<1BWtv)@b?Nn;Fc+l@<6B z>USgtX-coazh5>JzI9>~I8Ti<=Nnqv@oeoLP7kPKAeVl&F}z-dwbf?xLS(>iHLo}! z4ctYOA#eUr;H_`dNo+pr9mMV_*u50);k#oGqK}>;qR}(OOGaEBIH#qediDhLMX%p8 zSHDt?XY^X5xeo(ZnY^nyT>#eMREXRy6X1WHeO7+{C;<<;a=G7^8pbJvF0EyI@YVbY zb5UtT+)_94xyS_g#?G$0c^peP?IpJMgE*-%+mMF}>V%k&muwgwEkU;zPNn*>kD$Cd zEn{y%;8zW$R;V2#qC3_KDSqGE@bB&-k#ON*BRRo4`j_Cc&K?Z@OSGL1yPJ2syfm_zZ$PFA%1 z-@i>0*x_pmd7$->1hJ(`EIj;(P2dy>NnBUG@cn7r5Ej|@ZieSV=UVI%{lMfA2MHmH=pkGFY1E~nV#xp; z)t!3}EY!Q;_XkWYUX+?f$1_+6dBBxa9FyJ)SRshGk|2vz5#R7`? z_k>gPf)B1wzL@f~8J!qrSi|_X$}%d_El45{0%dTP|UfwuPHtPZ1FB>rX;D}`>%Q;(+6ZymPl`K}qAhbMfX_ld5#reLC~m0}Hp8f}sXQxS=@abN>H%6w5;D+> z?!N&0!l~*juBUqNRd zUzX_%96(K$XFL|+y|ANvV{>pl2>&s5mwnu}gk_Rsh4!fvkU^2(%OC^L^DIl>`8J?V zuuefeeenyHV0uUSOJnjGh@&Wn1|SomCg{S5FApALqvd6$sTOM3O4#-v8XYIpAL;=uuQ<|kW|kr)9V7bovJ zpgV|yQo@=nt}LLHqCP^dMGU?Z%~lE32-4E zq)X=f9z-_lVdk0OQ@9noouPMV!5e~qR`uc+@wJ_6X`I$Q=oA(a-QgR={JrWg_x5$; z&oz~`E&+XL=E~~z{3PJ!`e}bjSp&aXs6ul!8uW&O5JlQzKXPf?qeT>5@GAI&ezG^y#2)z)_s# z+lYs{L#`Fqzx#o!@qUb;E>wcHv&&?P`B=4=HcsQRms7?g$1>Q5cI`_S?$L(1B zlW(HA*)S?@m&n-isKNRa2m2N;lTh4M?zwKUY4pwW3zYf-@5V)^ppS}xg}F`iok5>g zb9a0mXq`iuPZ_=41KV-0n(Xy~$HU0gPW4UB)f#*+-#Y1$GzrzJS-sVQ&-pZFsPqE3 z_F@Sr=OPUOd-f|mKPWwni&~>u{GdOEap-fX@<;Fo|CAO~s?;ItD7mVb&m{a>m&79p zx}hm&-j`-(5!;YIp!z@F!2Mz$Y{0h((x)gI{y;)Y^_RmGc^c8HnP;AN;CyZ%chr&= zCEy39$MeHK4j{(vM5gD!o9CKt7$i%z!;86swgx#%SZ`0L6_SVeM^b}==s%9kGm*iV zD-mg3Z}U}vdRf8LlH<1*I{~=cUtTNteRmL9ayDweKir9lYBd=Fm6IsfxZI1g6@1mB zf1BO@@B1G?Hrk9(=^EMM$z#^9UMkUmF!In z2S`|Bk9cn(sR-3X1UL?9kD$}~{@?AXhVdhtrWE6_5uE9BDq8mq@IEJ!Si_+HZ$JC& zzIzNySnIr^lWF4+gGkr_i(Fu&&)9L*h)`141J?jD!Ml#J&7o_ z&%)0B4fK2OMsz%cK3sD-`q*E;CehxSaJ|}Q;D6N1jrY{e<8RMDcQ=0SMa!Qaq|fdf zMLHjP6&!PclVkGc@qP^=qATO_Oxy$giVCcCif=k#-f-s&yKd;SdzV$Jki{d1qfd`Ji4H0mLYPYsRl%=a_?9^sUJDWBv@TKM8HN1mk7%N14vBm^!#ynFN`139}qOw z!H+XTypInpVcF7t^>aMnKT?&2Wq{t}kox>scN_Y`1$!#m`r0sKt!U9I)I;1%9U39j zea76xJBwiyBy|06MRw<}DfEy#@cmBl3}8d|S0Zr&?z$T5KdL^Bq7Bwl*7p$+DUpyk z3BGW3hVZ{PmxfW5aIN3$wOSl75vd^rae;D$-eRffH0pcA^_p6L1}mxSZMy-_(=qyC zpD}Qj^g1&F8x9gt-|%c}TW1?iGP3iWR2)Wbmqu$?BR*k$`{>mXHmHLtQ(dn5pTqP+ z)7TE?=#XC0AAgbo@z=aX{lR6ZuNZ1yS?8`t!lS_#n}K(j@lWh{H=NG{iXyJ85d$cs zrTb^}(*;D!aconJJskVCE%6=BT*BMR&Wt(0Ej=0(LemmLLQnO6P*96Df^G^)d;PZ` zT~DLA6+Q_4|4-H172tDj=tda}0O#_UfV@k7gBA9(8_ZqUT*A_1hb)u9=Pi+Z)qbZD z;!JL$>vl~&3f4@||J~P*1U27_ya3MY(<^FaGfxK4CE1gEWPv|zEd5=Iy*dz&BS_3!2lW%m?*A)y>UOYNq(29&(BT&KBj0QL3qTG9N1 z{o;__{u?}iUh!~@c{?pYo%~Gcx658QP571I@w_FRB~g5}O_hM&S!)wsvM(X>g1(2% zP4!5?R$OF(0rZ6k_2XXHFXsY(9v3^{TK6+PV1)hJ{i`{&y+0h&9?J-GH(A2ZTfdwq zgZsT?cWH0jCg`4gtuFEV4M@(CCi*C`A0=oH9*Y}*xbs_g)`_?QH2F`fyux|`b-t81 zqsZZpWvq?!-+|6-ERnxB1-_pLRjU^*J#g$V?4|t#{utQ}=L2tc`;i12|DIXkmS&E% zB#OcN&T*tZVxP+bvS*wN*Asbxc?`_LE+GyQJ}-$Y@JN| z>J3~{>)p0&(BZR;ORNp{ud)BVoyFg_;JZni7#l&{WUsDVT>)`ZKM%Q9o>4tg5f@Vt zUg}4jqw!xW=-~Ylp=mqn0e-6CRWB>A1$1UX&ywu&D{SNE;(Y1}%o%c`qL|heGK&6`Cy&7&)d>eG7q57uF`Z~z)9zyESYVE@1s`z;!+#LU!!MrTJG(CiOu{^ zzBSNT!h{Rh;azC%-JJ6lR z{x#vw3n)a<$@bMe#b$uT1d8W0rs?m#Fzr`~A1-{?Ztn7AJ z`8brpcepTW0_Vx6?&?#hbE2%H8xLCQz}&a0W!yhaqM91b6Sbp6{HI7EricYN7BuS@ z3V-z=3aKYI*?2+!+_!g4g?y<7=Q!sOaMZf+=kqLQ+Hn@A?CC&=-+544o2dfE)~e@) z0@$H%^J9P89+*$Td~$%_T5|?3AN+ON0`$6()AOA%*!MfEZ{yn!G$7Rsx``p+@24#a z3`LO>@C(_R4nMyEl%s!yImB%NX{-71kzIX(vmX4*EY(}Wn@UWVd5mCwQ}o440re2a zd%xre{?dS+)@zaR(hQ*W<^vQ&PvF(wenxqGVgMP8Ki^u1xPVKj#$kXx0Ha$PZ-U|Z zvHuw{u@~O2;+S~V9f&8dM3;~j>l+ZCJem1}Jp;&1$p+n&hx3P9l5^iznD5XjIz6fm z&+`w(cYZe`usQj|`kK$+103qt+=O#O{;Abky8Sp3ey|V`t_{38Ywf8#NdkIx!r|XH zyAHg@{)7M6X)K0cfSok^bXcGktM2i5bdc>eMjMbGXeI7fm%HlO(H zk{v4%eLbl?%@zI!ND)bS+b3kOu_4C^so)zkgNv9yRz zMzb)qalt&CqYa&NuV=7T_Sc>WD~N}uG<0G?uO5juOl&(xM3$`~I?GppchCH!E*tKh zVRPoUAH6=~sN(&%3%@U-=6l-Y5|D=!7L}wq;|cdp>!WXC62N2p{weV}a6C#GnBM87 z645;$p}O#*K}1WX5a&kSiAyO0)P8~v?|mM-`Zg2zD3{Y4F=-xu2wWwjS?NJeM}|&T z+y-9CF1q~91m-CS?OCucC8A1-D+v@A38*tC^~UG24(t~CTOq3p)>($4;MgD$r_hMH z&h1;kb%!p#bNJMayadB$41p79BH&OH;X97lW#)VNxQR$K?}?z4IPekXlJ!-b+VLle z4XdG(Q%Fi;G+b)WJVuLGeNHdWV;1E^hJyyZaNlb87n~VIyVq+LB4K?le>)wj4fmQg=~%vGqkA@kLkri!Ufcnn zXs@(yGw4HQTY)JT;E`Aq)qZ8wfO(=GqCDpeAx?^%Zbdvb`1VYSoHOV{59{$ze)#{o zyy^_{g!{dHV)cOt+;b^gGlwq1JfPPpC41a~lPcQFUw?mZI~Eo?Yx&z0cm(IuiI4YT zY|~)z%vXqnteAden}GlGCc7l+mlWjnX)hG*t_)(E%FtU;Z^qH5a@yCnSBQv$D7$94 zpMV;c!?cbicHkpI<-X@;`|8_EuYND0N3IIIyD*1#F)L8U0_qiF-J|GdcnLV&ZrsTk z)_-Uwo`TRfhwgv)yZ_xY@Y!6XUjnTM)h}OjGOMn_R<~PHEkXZe+M3Pq!h78}u>VB% z%Ncx3s$URS3}S~hzCeyT64H1LOSmtN)y7+!fU=v&mFece&$~qIq)moATH&`8MbH~#fp4i@ z;6BxEmHoB{d@aM++ZX=#wbV+Qe%gBk;tHmo)c2sH+yy8eUxTwwDUNcnHv(5 z0-gCaJ@~!`#L;JOM*A3qbYTBD^7?Z4$l}gG|KGVqTK_Z{^ zC4}{0&Ki&Jn^jmhn#kzXG(jQ?Nx2ewF{K@=>Q`3W1)a$}5uaFgrWzmHzxI&r1PQ(A zZOFd~zHw0d!oy*V*Rc(APoOK zJL%ncPXe6RFY|MkK#!HuYr07YzrudMiYJA^7d2C|nurX9IUh~IYpNKyu6K8{9!NAI z+G8KE>(K%9<)X5gF)ab#W!MZuprb5|1C!Lir#+CF>ddys6z{Hco#%{$IVf!$ulO|x zXtagv)9*|;cQX|eYK9t6<(DobNj89d#!1%EIwQ`#0UtXeYdXyd{Q2@$%>Di`_()sPfTwq#sI4&(M&B`WgAg$}Lwg$6X@fMH>n2YKyjx zfiD`wTkJPi+mDvh{G!GoKD(}epqs&B0Oo32vG|%Spoy`!93;gTIH>)G@7EtoIEp?% zo&)$qwGJLx7<>|$`!78l+=!_7>~636^dM5|BRN-kci={i6ww00B>HuGj`PkO5vTs; zIpYoYpfLkQ+nxCyv`56pr2Nn*;%9Z%F?qRyJAVhIv`GOkVX#lf_FNwReSus*=~5X! zG-;fr&Ao~SIJXvWwZ)<*L+@%&yXK&~vdmjHMM>z5&W~F&&|k-}`|6xpH1tQ_-s4`& zSBB|6+}X8`%f$;y*A~8fE5qGy_dXLpx{AKtO;&U8PeQpor8e*9auAVeetT>U`eRMl zf~?zt<4`6NsMrF1u?kZ;=D-C_d!*8}EtH494^H+ReqV-T1ns28Xjak4^-?1ua0?^S zD!quhxzLaDscUvO2}MbXQdQ@z;BVI13}Pw3QDpObeCt;!K6)lcRSkF_vk?u#Wie&g z=$vDnEz>FzWGd`9wl@jUxX(;Ph2^3Z-aCJ!e67+Klaq^F|QSzZ}0k5L$C~=Y+qVZ{FsO5Rv16q@Rwl| z9Si;#!Buohv8DP4@aLHiX&s&u&p{nSUSuTKB(y?NT0>jAf~&u7XE}PT;K%o53_op^ z;=|v5UWk;=#atboR43TVa3JMbs{NN&k?UR6gs&G;Q0?HpEOnM#@{2zi{h0RK zT~1rU&Iwyt?EcUn8TvsQ)s*5yRtHT}+Z?>_-fDQM5v_ZE)fD|n*mnt%o91kU7ni<2^->pGtf6u~*UFjk~A*WH2X z-k8YPg0Jqoqf~sO0{Z#w$O29H7cj~A;Piu;9@O<}q5SJJ;IEdhE7tzVb0jd`3y8Gpg)UN4GTchmj0d#3M5>_q*}Au7d*jz2h&sxI~6g*dLx+U6>E6Kb4}(OilvNCMC!j z=Dsfd(h&Li0(AJ7AJN&$1neGC%pe1P-SyVIkSGGol~vd|wI$z$WFlSnT>p%+RHQ9Hb+x(LO-`Fj(yb3sKdc1}H zG!pIjjIrEaN6?v`?2ls09cr+MZ&{Wa=)*RO7R5K954{w*QtctW$WB@By8xfFrjk;$ z0KWR9dFllTXCg|AJt?yezIy(}kB7+HJMd+nTm2C**G#+Np+)%s@ZpXb%8fx>Sy=!2 z#3|h#^g1-C$Vh7x`F!x;KL9%Oh`MI8gB}qzo>FxO6gfNbu`5HoY}9eFAOm>VRAxP#_b;?#$_*{CyC%b^LwM(q6B))W3Gan2 z3Ih*kL9l2J^0rrY?icW>fDV6XNV~m{fE%QDII|(ovXMDF*#!HZ<65q|kkF3Le|~W8 zrYOYSa&`Q4(5I4QI8nb0akufwENRlCX_TfU`J(YX#NEOyK}x!V`1z>H>pYkzMgFa6 z(--dd;uA$rn4vyQIF>JaX2^z_|%UU zM*g}5jv{9&_0%xPTV0K*JrXViI$S^V2W3`t7UqUA zjL?P5exAn^v|E>Js(aBI!#`D_{iCQNtwWg-_%_?-xrR3&|JfA3y5F|771KQp-D?B& zCtME&6)mND(4yScSvm{oJ7f+q3Muc#3Qve3YT}`z1HUCZ^6vH(0t#5Am&<{C+ybB8;0cH;n{sdUhQRvN_B}fn z47@!ro)!JP_8yoc`iPee&JFWXkB8TR*IklS^HDggI^c2qnMQr`*N~u zzPQ129IabW>r8PF(KDg@HN%$(;9mwME#F`E@p)yaFGfAoT%R0i3I!SWbQwzPW&VQhzVSB=sPH*{>&)fLGbK^XdKn z^O6LGgMFv#Ydl&Azbi39U&~Sjc$87Z9(v$B_RA?8(x99|_!B85 z82S_Bf3sYdCtJWt*A-m!Ag=uK(ed^4l~KfbE5bp7;><)8y zBGrye{w>9`#?Q-ZBlB@styv(qY#BbHX5lHpw~DawbQ`^A9Gbpr9w$Uh; z5UoFz@Bj01c1p%y-l&4P1HqN2EllD5n)&1Gu{Ma#OwAV`TkXJ_!=2wAwoW3E#q|Zf zA|f{ATM|4=w}2Ca4YuX?_o9O3Pmb#bqv(&E_4sz)I9d)EJ)m)mh~lVaw3~sCsWyD6 zJ;R{`e;u0>wqKY;>pB##OdE*!SU{2E-#rWXkV|ElkW?=c4k_{~(;YeQh;tElb{Nf7Hm zU)}eeL-!anVZDrf>5juc-;?}#uxJJ6C09RabcTMi7}~@8JInCRQH#idyZJa#up&%v zv>YEyKhY_9d=>dddI=3Orl7P7m&vn?a!_bVo#$TQaa_D=5=j^ZUc8y3Ocm(W_&+d3 zr=<+HifJ+J_s+-r1QXhWi_7q3$Etr;uwPZ7f)mAaiRh7XpVz2L77{G@GU=xJ9%;_s zB}>j-!9Qi6&D%w-VB`ALOKHI89%~l5vJQP>U(V2Hh>w?Hj-~2g-m|MHV_WsF?ZR86 zD<*qeRUjM5oG|Y&^+`e-9oC(487o*g+grM?WgL;oXR9SXB%+DRUkaarFCX`thW~e6 z2lP+>`^XOG*aayQ_P{&i1#KxoC!!cU| zRoRG1YWTnq@bw}I=8KV?EBJJ|%7vb=6`Wn=8pZsg3={TbDKQiB@GnlX!S_eYanZ%A zCvS+aB8NC(#ZJ)gE{8w7*>fiw<;@2_wY{H&p7aQNrNKV+-=3!Xn!bYH3RSVN8Nv6- z@c4H}BM1uajrBF?`R4A?+cx2&$i@AAYLf&3ac_*LheCZ+=H2ao6&x-2<-k@1z4apQIxWp{ z6`udK3Z4Ct+=Dpun$NLAgl;^hQQ;Fh(}%vWQs0QwB_Z!8n|bl3D|qZ@AjN808UFVw zMfzNCHa4L#pwtN|!*($%GJjxwD8z*>nIDWrOzC3RRBq*>^}Kfrx>>+=ERuu+GWM6NPSLD{6xX`GMgL;_Q!+e`6XtEIJ% z5I6Nk3_t685R2+PT*sq6XQAY}2EK)zL{vbx@2fX_A8yOod-lG--MN-&U3|3+7hm?) zN!rcD?-c?)W%pO$d)>neL;S1g1esv^;Q9C9%YJ6jjLJa|>&W)>en~>kR@ZBvRj%NF z2L0CqU|zsnf`dss`1AP-`469fpOb6OE37}zjxQ^}f0rUWg_fDMy1bqPZ*}s}i*3R@ zUV5E1l9AhsJc{<;I3F{LUcD{MrB5A1m4T<%5%_KOqxFj1CtGoh&YVU%)Sc-J& zS|3G$|1RYxAlc^v^Hdwud)3|!qK`3+%k1PZH*(RFYcZw;Pgwg*>G&*SwfLHB=^Ma3 zC~LbN0ep+-fx1ktGWeW*3c7{RXKUA5Y&G-%>MaZ=;{WF!TQ$wr`1L|RvsBQlAkeFK zY1Q=Q;B$1Clg`(|_t$GBll{azh)?#!yt?Jwjjx6TW~QI|jv_x--_`Rbp_rW3E3YA5 zprRjpU|&Cn7J6>(G4pB1HD5;*-Jt%bSU}R9th^G>m(9#NTmZk$ZTh{TF4Vz>co~)W z&0zUL6?KMS;Mre(_v!`Aa}jhDeR>t*T-|GxmD8pHxbDac~|JoH{18Cg<_MUmR;-){E+TSZVw>p&umrC9xdz{PhO$ z?w5TqhoNFK?_dS!`M#5izBRzRaY%nncfJQ%wST^Eyq+5q`Fa`9-$>o`-$6%zRvW*KZK} zQyftdg}C6dqOnjJ?E6(-p67;!(3ie$Vd`Huj;8KbCeed<*zRL0-tHenwM2tede;to z=Bv)?)GBZb@p$RmEa*2r+n{K>Hjh8K|Fo61=|yeER!VnKLCk;)&?M7e8!oE*zYKxjC};R&EmUsT~`S1@Hly{YRT0g3esyYrIY4 zGzxtX!EahYhkLJ^x9)}fMak~Njz--|A^=_$}Nk0Q&l$lC0PLBzBtsk3qb@=22ncN$N$;xFo--;KmB;(nEc z^L6^r*CxOw%+%l^`4Cn&VeMT3;j5l2j?M;fd9us*NKQj z)`ph?>NUM6k1NW+`Yah{}V9rr;{ZQBx5!0#Ejh&`i zz*+|jx6rGNA#jRhIr@0#S+4aA?PpjQL7qs7)2~ zj3cf)z7or#M3l~}l)dw6%HX2AOF`4#Z@8O+=B-%Nj-26bpwjrg`r^*Hjse!cfE++R%!UBDbKkR&-7hru@H`^&fAOH`E=6yn|xP&?o-^I0rWG71Tk#>DVi~*ViB}@DVY-?{^3M z%&XTp;#Bgn!{&VD4|$j;^&zL00phO%o}PouO9|-VUFL2YvTP(~9#5u{n1rr=my)|x zzJfn-$-Fsk1oK=7{u&Q0VSY=XbIxw4!3@hT8y$8>%qPSu`GV{n-lzUq5 z;ORZU3t`SsdC3BNHa*7MTVpHO4wos}L*LB=hkf<9%?OU?vej4r2yx9dckUB!>XD6N z%6QEn@W(d3j0*z~iFLY(>c|FgdDhFTCXN?Ey;P%;2FD1B>s?G51%ATg>X!*lPe zdHr|uP*-`k>X7p1={hvP5JIgnN5Xr0l@FxQ48ysy))fL=Fkc^sV)xBr4VsT(=!Z1%iIv9%rDwuJU%26DjgY!VGLM@dT%G{h0}LN(G4{zlS3a@@JEZ5UwTeuSfk0-cBU*B*T4CY^mT6~o@P8u z^AX|#Jthfq&be6Ra{ofth~*!7(>q^fv;YFgytH|nSD~+ z7IyeZ0X7_urF(n=c=Q|HBFYS_=#l}CCRgWMB(dUe*EJ6Da+c(hky$pi0l9yi-PU_A? zvz=c%Vy~niyXTCrWk9dC6o)y6D-2`5z_Ew(s-u{Z=HQzrF2IeoHJR!LKJ5A6vpx^g zNw}&#e#3$b>R{2l)~SDsc>TwwU4nBtvemqyHcmZ)mTS5ub$N#2&&i6FJ|Dr)kIP8E zeGl{8jNj%~F4Q6B3Y&wE8%Wq+PH2PTz%a^=P}rxmyNJg>gO`&~j0_Jn#V<*XAhY3! zshPMHT%`HPk}azY>&r~6Z`tNzE5rP9><)UK(0Snfsa2SddQGFn@GUAT%$wDg%SBfW z{mJB1l2L^I%On3Ff3d=Rr1J2G6yX3<;2)lE>s}D&+PEZYwn!)GSzT=h_vx0f~s;TZfmf@1Ox`NJp z`8ehBPp_+QVV>{O=K)97Rn$;f9Ylnvzi^(Oz74xz3uLF#`Ps{On>Mx1x@SaB82-?e}8;`hnD+||zvQf|d zlbIYsFn2bm((6gp3Qh`tz$_pQ^AVn=w$KttNLqs+b9VL%-r=qCd1|+aC!#M7rL^>* z+iGFLy8Q!KYRxYEOG`I)Wlc8`PVGZ&LQBmS@g$@^lYLunKg<=+etImR8R|3z$6B%- zTCnKHQZF&TMcgBnXmbPdn{{jN2$zhYFR#aE^nPtOHa&97vwEu!-Mjx?QP7%%WD5cZ zvi|3;jFg-6%)-3a`LiP|cEHuWEGd@#aS_va+&OX(^`N5E!TK`eLEL3*FrC-gjfWlx zu0MR+hqBDg=0!pOjHTI0z6*f4c+;<_0$^T%JD+vZ_mn*BUhcfH1>D`P`M{42qN|9? zExt|nM--~{cr}|&%0{j=r(6ehlaR^h`|pi2SFoehnfI{|zz6c&c*-7Mij59qO}_bj zEP7~et{UR*m6!^}Hy2jX&4{=2YQgY+{aJRnT9Azf|K0g1B%OppA1!R#!u*2>n!l&_ zKwd9ZOMZgpdl@!;W1<<}l#hK(oV8-=%JGdbI+s?6FXjzTQlHp*kJ17ujw(B5qni`D zb+|YQb;j`GY?vqA`8@QID%90#Y%`Yf?2-`sT%bU9XDb%`>vQMDt3~`G%{upJSP$~m zm_IwqF^K1h&r%v!yK$~Y6}K78A2p^BQA_;R>T>^jdeCft7%1JY6uE00<`%?TLd+!}o)wgvE zk`z!-Ku{DFkf4GD$)d1XfaDwm$vNkoL6HoSa}-fYlB1%V1qy;7NRpgUgoC1@5)|L^ zckg}m)mPo`{nJ(5Rj(o37k5uo|C@@+4D>H#){FnKWUK8{-#2}>_2x4 z4LKlww&{WqL$VDleYDSd{do`GPfYFfBz+y%KPdE*@yIa7K7G$w7v(3roV%^9QaOZ& zycP&C3>d{W`b2y+-B2FRg6FY*55)5y6=?G&6`f!C&$Hfg*5ES7EZSn;wcy6Fj(GxT zU#0);<@CI$7@OohC}GEj@Tk~Z;bc?yFbC<0+nXrvc_8aua=|*{e;zqZR)*@%J>IcD zF?rR4U+5rWpR->_d=zz~lnJO#N-~Can`i=8Qc!TuelmnVTss@2i1=7X3i%RUkp0YX z-hhIn73mxu;^+$BL;c0$kH5Rri}OS)hh5A>ybRB?qS_EX-`9BM{R7Dfywj+CYY6e6 z{O~@jSd@h3bNRfW4XR@%5s7fVx;BCR++P0Dcx3~#`E1qM8Q6o%CB^W*L-k)(EDP5# z#9t?MQTjybu?hU7jRur>JA}U>DJD9D)~RTMt}6KrRKIz?x-1;wj`6dL*K^Q#ecUdj zj-y5T1cBl9mU={xv*6q};&tRff^ut>{e zW|m^p_#icxr{b*{+;CMiJp!G}{o>PCvrwIa>+-{mtpNf)pzLObZB1ckug@;4eOkwP z9u>+IyVPT)K|hsJug+lmZ+?`-$WG(<&;{E^=v>aAI-I41DD)b6j9(})k_W$^=Pv~Os3WnTOeL%>A8 z|4N@heq0J8tB@MPv4hIxb+4iPC}K_UG5ZbTZ9hbnqJ;7{d>@HNoJQw+dcRJ60mm8+ zvp&RTy+ZQ=e!oeoHj6R6xj*5AaAV)o9~eW-SFwG&7B=Ng^!Z4W^KYU!^=uM9*h2PL zWi7d=5wh#7<)2T@FrqvVp;wAVKann2ab)?p5sIJMNZaNnAv@e7`Tz-vcXt!9maDTN z`%p5ZKNiKCc!y@0^*${kUG&h78HB6LmWX@4Ka6yl9AA_6e?>gQa|7SEQ2aEiY%5Q0 zb{_k4>)zFG$p3mbJnVI>67eeLw|bL&ME=*Xy*TJ!#QdVj`F0VGy}v2C%Z2>7y5}R0 zFBpwrne?)x3MhWD9iH-4hJP9lD;eZ-@S4Gw)Anq45&u!sO_6Etl@84E#0c}73<6&G z;y_3P;)!1?jrvV~n1EA@nj~FOYs6ZGRF!V}BcArc^|o%*&U5*ikWUUXxc#{+>~#-N z-r8g4mk0e3zg2d!wZaJE34N{`=ZowF>;9g$rwi*iC-q$2XkjCESpUJAls>AXzZ(7E zqrx;Ud7AxmKjOX1=VX0y7sWf?>4%Bmo<*PMf$YrLA;go#z@H*YJdIsxwFg^>CrB8| z=lw8hz-~OYAy*PcdN&QSuoaue-MihYJy3nO&FSWOZZw}o{G$|q%XDJ3khNaA7}Z;u z3wIMx{mxzU$(t4^Xtv-SJ>K}L9#eNMl3cnugE2P9M{py*TS!HvPP-k&5xqKO`h9wF z&YuDqYlz1%L#6)MhRQH@G4c;NReG70gEd(Q?#w>!N2}y`niYrE8WkZAL~v=Jc{}SVwa;PaEEaYJ{H6iJZ39# zjk04DOQqWXf+O6fLBk`|IqoxVDW%b|BixL?hQ;TSWUBE?$I_n0BYPuYel%(mojWht z+l|leWMkatvQAvde~jvst@CcI-^1nzdBYqN2sh5VKHSGWjRzUVJW4|KXpPs~=huo? z@eqyZoY43V>{x%YXYn}VzfiyO9cQ1$M5GQSr=fLPYFX4KT-S&(TLijR+?c@*O?)`; zNfq%~`5!ZxL;Hqn|0KH;TJP!2bn!br9a#4z5o6tD0)DE?G;!^(9sa0xx4M5FXZBEj z`l7fIJ5%+AXh?PjOZ=qbBJYg&=P?$JFZXBgXIy{0YSH`|tlR5;($|4Wq=W~^))4SV zJZ}hQh{uR;kH6Y(3Go&k)xPnyyAflTyL;cqcm_LaI>Ic1^0?PCTgoR^Q2i*knu_#b zFHS00b0YQ^%8&75xh_6Xgz`6@yvnATY{JD}Q>1v2*5CmTdj0S7wc={Sc8!^+ zoj$cG5LB#XHMt&fMtP%SuEKk?vGJ~1W zF&OxoP2&m|ByP5i&fpq1{AP4BQT(pSM@Xr&12f1D+b@2Gg2&ZwYr{CEv1?hCbslJa zG5D;Xo*!?*Qix8>u*lC~As zUf1>S_>4EKPc405YQ{?{ZqRtoRO7$8?0gO>HsjgP3q5R+9p2XCG2F?Nm)bB;9Nq+kIOC_Tu<}W!At1#&*fH7DIl)&zcA4?@jjLD9Y8Fh3uAVd!I#g zf`_r9MdC8jU{p^xx$#>T*&7Z-EARVyMzJE%jcR=h#H)66X;$UQ1jZe{V@!Q<16z9e z`|@gB5B}`!i3#kD)WjA}C@p6@pbi%K0s_~gi!iGzNl7^Qs7cTyju zPed)p_W;@Rog~lIXsp~ts~jI>g_$v?qKlGWIou}zF+4J`CE-p7QJSu2EsDzLL<5m`?T*o)6x8`I#gUdN;L z_tfs|4r5`DvAw!flrKHRnwK{`gey;%ji^d1WbTF)|(4*+9Oj+kXhS65rfn82L2zm0xS_ zHC)H1>#meMENR3HnsdD5uONO}#W>0lqiMXN|5gTF$_##4+T0)q@vaOf73=XEcVNv; zBz`;y|1qMfeR}dV;#G=k`}3t|9S?629X8Zz!XB{>J&eA zT4j%F9YFoOpGq4dH-YQX7`$098^R~nc<#z_jAH4tKaICa5N>_j*4~<98tE#w%KxgE z!4D-?HW@b~{>P}&gXS|G*gKjJsrhM$kEmO8w*l$oSoRiKln@c{W8{y6`M40S6~Xtj z8`)7xjH{2>!8AU@y_Dh`G=qEpw2_WP_?U`8)>4y7C#GaY&UCmP@w69>z28K9QKB)4 zpBzy;u*fFNfw3ODU=~<_n<5>k9Bw}uyJ_6n)bT@Y;SB!X@mk9VbS|G8`8H0kLf(oAF3wnA=R zU)FJB@9r+w)&^|JSVcTSdj?~lBlVv`{_+pmK?6q44ea=+;L2-cj~O%n)@AoW_KB3N zX{XdMHhNaJno|hz^$Lyg(WCg+hEMy5c{<{m-Fn*ZY)`-hdz`jOkgnOorO1AdF9d8m z;{n4G5z@o{sHVr`wvNAjc=~-U!iUfBmQHmnj^me~GSteUb=sfIwRboT`MCuYC*;xz zm=F85zw_$}%$PWJ>Wa+!qzx$cY1() z6(7QR_cFX>5%1eDn}tlCIpU=d$`FyhHjNX#5cNHP?0FBlqGyTdTvloPoF}%4>TJ*O z)Dmh5xPgz!ZuH0$mR|7qeheexBir>*B95%ZjFumn&mlkVOSSeivEedyxYKOk4CO~% zv?4kxtoa&WyZ&&47UgG>#a0Q<76(RkH={qTBBX$5yu(;1>7 zMf?$b(JuuM??FwOr*ysh4DP_$&$fWTtYt;OnQ4=NJL$(5?UEoqDFX); zlEHO6LL!3k2xB9rV#)uLAddLwiKf@&NvH9bznZLQ@66y?*X@sMXRqRE`&k`riyfFs zXv=WKTLRu=ZuVOO`32O9=0I!q@vL#qV0-c&jKc`mKQi4(!TOni z?S0y@Ul#AhiF5p7zahM(FxX)L#vz{nYW9jGK{W23eEnaRhwz`8qazXHqu58bj5{J~ zsLsLYd}Ju914w%KU1$--n^?kNb}Csf-mLplyA_?M{C~oQlZ%J3(8mr zrs_BH<9#2WfYz7K3fgcTIq7{K%Q$rk<$=`PdgSk{jPOh0 z0joV!SLf4r-~VMM!f_%x;?A7v#WlDm^TuBw9rsUkZ_il`W4!qc<`wS{uRl}E?Ut1x zT=&#=PdbWsCr2KW-L*q`DCIJ(hY)_;vJ^k7gY0>#@?I%-+8X?-UAA&lU@QJCf%%~A z=}n9{*h*lnB_H$o6W*?aRbW(yx80i6?_&Wmf+M^r|6^+9+OA@Kuz~0%p`y74Qj^iVy}JY zy;6;*)+7nU(Y4}~@8g45$v3eQ`V9Tw5_wpi*%admk!p-A=0(J<94<)M`}>7}rrD8xSRCD<`b zJ;vtFbS{}u6l3G>FU3+GZ%k>^S%JX8nB+8fI99Xb#t{BEH+hnZp4WWDn>9Hz~PmZDboj=A@!^N_hnEsj$r{~0DtP=PupFWTD16q$pxuO2K z5RhhGiQ-LN@8EdBp=SI~S_y|jK{Z}OefjI*Gc9;$RZv$6%4hq=ul?G5DGTfH3@JZ9 zQ;G5H>rGaV-NSNC@4alOME>%Dn;o6mNUzN{BE}}N8Goy}{qq@B4bCGq|MU^c+aVYo zxw41s@biiCdkxh^*pzs&Wspb(wmtu0;29^vdzU6RdV&!ypJUaR>y6rZI!E9NX~qlB zvpzkE{5VTjSuu5$7F?;^it32uCZ;7e8k_c~7)$B=v;C*35;H$}6&9oTjs`;sg>o^9 z4@uDUe{Dqi7hzt+3@9!lQX!ndaiJIYm8X;%YDfFCMt<75`Y^VCEOl+MasnsD3T!_v z4B>|NS6vU*jAFNRXL`8&(D~kWA(rrA0`rRSIHLCo@n>wG8*2^g!39s~p1y_fOx2uo zN%N?k>#|2lNiI*|7HJFy&yZd#2=zU4BW4s6D3HF7qkZev_ok~Qr>F79q9i9hRcG+r zkcWBako_D)*UId|)`3~q-=bM3i3YAtf>k{E58u*uPA8_{ zCg**sj(|tU*gM&MoWj0xY}z+{Lw3M`vg^E-pwGw5}ETnL>zULS(hB4TFn z&Fjm9@6dAr+wJ=0`3~&rdx6-DTmqhSh*zTN{4~}JBbPaTBmIV7C47OFjaX;9JI$^$ z@-IkiIa?6#lb~MK&u;^$9$zAYct^Vrrwk2i-9kDUNylo5(-ofKT1}cL7oLD|>y@95K>8S`FByNKBSc)I#FE6th#1|U+_Bg`Xv>zZD9%IBK z>vUT`8`&+MlO4fHg@_N@C-tM(9^!S~8~<<``Ayqw5^6qE=v+G+YGr!50c&l4e{>V^ z{F9Sh*gK$&`dOSt>sHhZ?pP~1bsmkE-quMm!`2Rr?J!RRK;u4q=j}H(WdGbL&wi;n zg7~;qrjdwWBX%JXHHhM;eNSS26ZlX&7v&_}&~qh!QXL9J=SAI*3YnwzotVP0^BFqb zNMBr-D=!<_ho6xVHg*X0duaOBF5){jJRJEEoSDJ6tggz~p*ngdXmcy}3(`BKA0UhV z^crs$UhlH-nZ^zzGq9J<<9JCGRYoB*(m@M3*J+08IF^eAw(lc;t$q6R)cdH8SG(Cw z)aEGSR|nf|>-~ra{b=v{fwO454qW4UWIBzB%3t90DtwB!0ncyAXuK|8GG+ErT*i2m z{zNz;e$kKJWJ+Ia5WmeJ|Heoh(&2sc^hm{_4a~VHs{T0a!TT&D!@c6xaYL!h%@Dd_ z%)MyW`l9Ltp7$}4d=cs98Py)dSZznKs?D=o%y$sqL3XTzS@i@a5qoxRkY)or^Rnhk z{};4Q9~5ZcGhD}ia4fgoLizT$v$tq2zaPhsReuemK|G4*<>~iWK8<4Gm}PrN8UYiy z%CT65&iB}(*VGiz`XX7G*wjShMM&s5ME9Tr3m;(VrEEre0aDXG)(9VS@b{dXLhFLr z$>4>Fej`>M$RyuoJ%jzuG3E6@^-Z*tglK(Kw=Ru)7u!?y;biG+EF>|AXW-HB+sU)- zcq{4H&*bB1e`>>iXQTS!pNo#fuI7k8cQW&~ z0e!d~*_)sra!9A)u-V$uAsla6f8R2~K)`yq-}Ubx97 zL~jzWrn5I;aSlw>Gzjmd`Q)!dgzAv`p4n-aAU^3CT820LM|*HhN8*E%`s=v0lo>_H zgJJCPDdBK&q8}W#oYbKUFvVrmZI3OUO)r(VI7utD=@{Ql+*sylw4Pzm<^xBjr#_>^(Q_J_` zhw!04aEo<+6jNw-kD_q>tCK#HTW+?DO^VU?l%x9Yxp4n$;;gT6uUpF5{e06%PdvQm zdVM>t{<8T>-qt$ydLxU071hC=QHW6vlwQGuCEP@a_9pP}7nB#xP(50elZ?V6x>dw0 z$Ypkptq&)C7k1*SAmXDRQ_8x`i{q4K=O8%=;(e6-G+T_utNrL){|eG?E7p*bnPZ;B z7pT5^`=dOWL)VK7>;LX!r%R3+Biz_0P@6LRMh8|^daQtAiGUvnGIu?5Y8uhbHVG8zJ`HzQiwTs%Zzcx_ZbJ*^M)At!T5bBwCZw}1 z_B$fist3Q-l<@Td$}2dO(cqnsJ&b)T)({u_f&67+ehH$gA$;W%v5pPG$C9SHX&Rc5 zo|IhkFCnB~;I25wR@sj5DQmIv9~`f7BSX2fyHD0}tr_Jt4^hOQ+5dBb&I7IY#Msj_ z$p13wV?Xh8eiU1_q&u;qi}?Cxe_f?VbE_wm0|LfpwlV+*0%0d4rG*JZs6)@9<%iU&=+~k=Td$?2kQKJc8n- zjgzWlN{BD_4UMBJI~C&POCMaFupLMI=;eyGo~SPSaIU>%UIMOT#By@*!v@~gwW}ph zn855L#7C$R@0{z2c9tjix^4c3wc9f@+n09IKY8B2G&db*J6y-~_zp}r6coUOP%`^Oo6=L7jhFy+Z zRAEQS@FZGr4`V8NtQ>^$C9b4hS0f_dz zjGW_cIxvpaDq!=X2xrRPpjN6!_4w6)8XaFDek9&ZyUv3yQTX=_YRle6xJ_sERpM3T53-#q4i`fH;K!1=pYf9&Sn0f( z2z3JiKil$cB>~wR%X^;$^LLSsth5nL?287hcx0tQ9rv37FMmik5N01=xP}W=-eTEFL@a79pQCyW?$*G8Zj93wR_zP*<&9E zEsgb&4iQBi(^cdTn)i(GP9b|tY1Ut98r9XCnTwJNAp0lsWVhpagxg$b*6I*BM!*}G z2#gJG_1MubEsmRr|ImeDgjN>enZ6YJb@qrykzaaCSsUe-rgr_T-9bFFm-Tj6S1XXN zbbnG0CBl{BS>DaKBOEfnlE8LMx)I~tiEfW{oWY*4IK4Xb3&jlt7c5tsJF!6LlXv82 z-(lt#zn%E@X96$w-pb-g9LH=fJnPU5UBfIwY@-=VV(>bth8EwL4ZNB5bLkwy5uO%l zid&c>JLJ;(#cw>Q-jlNH5;@mvTqOL>y)7BU3z32sd7NvZ?7wuy0QK`bN~L2N6JH&29Z6s9`|7k#p6WeFXyG8{5pk0%_g788n7L*w_NvqX0QXC ziy7Q1)A&wzLPrJ~FWHye?@iHo&EBbGxrXBS4}0fX&romRo(Tv2|BOyy$Hizo1P~6u zBwo|(y-|;`WmodnQO#i8WR%Qm2d8m%`N!sa6*IV68J|mBGJ38(0o^j)PK=4|d~y=) z2F_v<-F~%Y3KO)6&?nnKc_voMS+#t~?!Eg;VSNDcp6B)o&>;M9Y%+>=?93{v&viRf ztc!U0KHQKsM*VSqh_286P&;0-n@{8QVI6B0Fc208%NV`Waa_n_1&`z=wSBOL{3#+z zB4Q#UqSC+L&=)b0*uP#$|8+s*-`7e1xk^OzpV$Ap>!d`C|FlQTf)P>t^E*;RLWhZj z{`~tF51^}mn&Hllh?vk%|NhuSa`qmcUMw2+u1@AW%Jv?XcCI!yES_E- z)}EgK+)qVx;ot53{bUqGx-Rx!e=q!P2mSk>?P!?)a~t}rQvduw{LkGKL^2-M=3cHI z|J;B2zuYeiRDrfKi;n;=Kd&HY43$- z{5;I9?5$n?860%q|7zU+PPPAx|7E`ajI$KF`uF)H~O#sjDGi@e*M3`PhsL;@7qoN zukV}x_xnV%|GMwLcewaD3a`uEw_&Mo0RvxvHdKtBchIy90vB%lileH~g5Mt>p|dl{ z0HmswJ)$<&pk4LYu^QSS@Z;%Z<65>g5D`>W-uBl8LCTN6f9~`KEYf;Jk2ElFN>3*x zp~3Nas(f%b3K$E$)d!JpuXfoTvIJCj<5hW_^uUYAm~#@!v7qY$ zU-l2nP&g>p>hi5j88{P*ZT7oKK^-0L?0^mhz|m1H^y6DH*zinKJTc?|iC!tkM`vAu zXTt-hXSwYmf!H)vddnRse4=cS-JplJH#6s=7G0qiGt2z6r6D-btm>KN<_4#ppZIze zCV;Q%!?x#|@U*7hKJe0kd7rw5 z*sTLW4TW4{&~Y6Yv{7+$;$AXvDo~Fj9kc}7ukKbca|eRouiY**4q1XtdV$*%pB-RZ zY|^>ckHer(d9wAOml<59du6)I4`EhM-1Nq@|Wy9P|;*uvw&LfV@kRKS%@ZfVh3X_5PG0803chi6puYJPutOW@BE$y$@ zWDlJvL(}C}%|Q)4KT)`XB6$0VVSy{&6tF!Ge7wQ04aW~id$1R>2(;TYvvd+J6v z@LVEbyja`=XzibfbL;emGoK12QhYqXEa}iulV)$oo5o^W@FEQezere+fiwy{KHj}>{zTeJS^p%An)DvW^nlm@b zSpuuW>-;f-im+pKv{q`x0!Tl2KW!Nj)|Hpf;@C~ojR`wH445yGyk9nzWF?j zsZ6v1`rPr1ty><@j$UMxDbolppSruSq~HtIXk=z+S&d+2`RTMyolHQde1_$jkvW)8 z80WB6_67PqWk=Gb&4I%O4=D|1cW__(A%pU5Env;?=rTBI2O_^&^~{vY!)NZTOwr^H z;J9m$_spGS@LYDL%0S2-@UYjHbq6ZIqU*nSZKG|037G|8lktRF^pVk$!)|b}lveX9 zsXH7md3ZmY>>`LZz1_?!=nfa|(#mcX#)4~;`g5XoR^a*0tG9XT>|jJ;KHoXW3bfA2 z1hz%_!lENbwq&#g!4iEcXNf~7ylZ0J8ffnUw^#W@y^e*!Z3?OMEQVz8Yo;+EQB4R$ z`6|h@rFp=?Sd~GUF;U=qcJE^1hB1)!pxs-pJqAPW*{1h-io!cts+%S47BDS%ZoTo1 zI3!zZkqRNigZm~EYGGbV(4Uy>@>q=p9Mtq8A&yak&}e13lV2aa8L7E0|IQxmlY%a6 z{9eEzfRe?{%K?s%9vKX!@d7UjdpRYvQb24?w1lFa1qe5$V$3gefX`*B+y6wG1L1e+ z-d|eL+0xM&>I=6kZ|7tbkVh&b(vbh@>Q*=(MAWbGFWRAmzM$DNIx)6A5w;w zmP7Jl(fVHP(lb~%t_0(wt8sk^Kd^Q?*z{IW5bz!5I-`Bk8&up#&dOo5fR`4ZEjOil zgV{v5@xwC{EVpz$C~K^yRQ zOD3A%y8*NsPLHP;=m3xDbS=7%I&d<-eUH+_5ym|T?Xc<9gCyzRj<3~I08!Bms!OCz z?McVECM-1_A<>2Ki~6#i?R8Z>VxRB;AhfRc@lV1nc%j?+U`Lr)ECDE<0h){!JdcjBc96TXS(G$UG1vRAgUDj%c)=M8V_tS9&ZpfZ& zaIv6F1~3zv!|Og-0Qwrcb0Ms_o+rD?)ZieN^qaZPA{((73AEpJfTvg4n5$peljTXDG*`hcQdLP?8sB6xB&ZaY3u z6L2s+G2s#MfLmD!Ojg5MV94oi_@m<*@MqFSJTdPr(0({smo@(?xao6;tF*`)UKlxF z^=LsB#7LfHN%>I#+M^=E`$woiXw_}jTz+pD=5DYw zcP2;juf7ihven;{4on(Av%@TMWE)(t{N2OP6(X16xRafA`B^TQ$)ftAv6&H!}@qp%a+g%f7QoZVn$!hN;?r zaRlCTsnRh6@zBQS>gZU5H$3PnK%2j>3$j9uRmCN}V6RZ@7NeCeD2TLF5&n?`0l8G&Qoz3-n%<$(0){dpk?3z%{wL7?5;A4(4BjWMNK!17CSK7OWFpvv&X*4m+9 z5N1*EGSKBbG`sEPmF;~IBoWiPr_^4Ap1Fxj{eN-+zkrUWvyc#A@v-&aujdCeG}g;4 z1Oafzs|AZohz64GZa}=p0c<|ZFMaE98MqvHdEO+_2~vEZs@(Y~0I;sc(g(T8z-;G8 z!xMiMz&{Zt_sz@+`t_~wT`*GslAEvf6&PH>w0q6T2DDE{yO~ARev^hO`jfj~=Cy#? zBDby#i445fJUM8#7Y!CndW+;O zU7=%(jNSoi^r=Ujdgp$_oW2L=D< zcD{gZHbA|}Aqtkt$?WEJUWa6y8x21#JRn{5)VC-KYj}GlYbPeo6I#A6e_Fqr4kV1? zKd*Y92VZS(xKrU)P>QJ*pDw%r1eg6XiGmzqTBkYvsW^KWHc7_?137>Mk>th%lPN3} zy??*mkp_&O>i6qOP6b2y-)fuL9Kau1(Qjb~%wXXj=M=%x9?)3mva)wt02fj!7MFf6 z(9UC^ttO=mn%Y8$ACM|Q*=Hp5`Q88!WP6(k;+bIlJ9a(yg$M}utj`y!z7EaGY-isW z@q;S4v$|!-zD$04WJhk<4{mx@wzXfCgPAmX5)&#OU_P7G*kNBDZnEsH85U-M$oah_ zg#%Z?koMCrzK$MXP~p_(Lwvo%U%`EbIz16i73Oy2Pb;molQV4 zfrQR*^E$lU_QhvuEFQF5y9&m9bpk`9*F?=4On}OMc_<^n5eTGEBvcgLg1glQl%=iV zkm{Rh=|eGVxUV6omDu0|M!JZ(+N&+$z4(L126d@GL#}a{(_BCITBv`13zKGX`eiNv~kO9Q3QSJ(#n{47$FK`&NCHg*lqu_AjGTK`}=W zuljRoAZy!nIwOz;xY?Z{?z52r20|Phg{Lh*@}Xs?;F}s?{zqq+pRo*3fBD6I(%KC$ zI@9M)&jLW9uJTc)E)7)Dl%6Nmv;}Nxw9!K1ZeT8un`OAj7F?2l`M90f9CYk8(q>La z0b&0J?N)UM@PY+c0X`#mZu~mkyp|(qy+(3pgf$n`6~0M4>E;0fqej;`sEuGvXj7XH zlRKEwBu|V#=>{5K(eEl!$%5?WKn?ml6QC`gvv`Y>9o&7X_npPZ926cG+?8if2J!L5 z78wdQfWYw~+3*Ypuqc!Jb%xs-MBt}bqHlY{H!Ehd5fth$(AuVkG07gRo;v!~Ow1G> zKG@z6Sl|eLSO*Wde7p<3|v(+&rG2tRb!#|m>G!X3|+lT;RWv!)7`eb z696}}FC2*Q6@#}Az2k6~b_SPfSos5QN<+E{K%Eel3U;3-ze zjNobZQwA(i=T!Z; z?h-k=0gwO(SodH{G&fQc{ z!IVbP^~w%xcQJ1%)oMVhsF0k)pY1@Z1y^B2uo0}CKR=n+915J|3jOMT8GwvrE3cZS zldxFee4j*#9y+HdS1y@nfG=k(V$Nu3!FKDZLh;Q5u;%A$!gmWTcrW4QTP7n|LuI~d&r50G;=0$ha7kN0%x99uPOJym z9oB3jr))ryiV2nAfE`r3XB(GMVgTqbHznJRDgq`=1-I)YHvo&U_fdKW1(1HEHkx3O z1hU#VWFI2GGIamQv+hs2;8m%wVT^?Z5KosC*L>&)$!&fM6aJWhG45K3mso(z2JNwJ z%FDolHQb-*t`*>2723P&o`TLtQO=4|cQEO-5<$x>1T@$bo%{)I;7VHuejv>o7KPrb zH+p{yq<{2bzI@yk{P;HH{!l{^Zl3hIZJUPtfcq|gB41?zu>ke+Y-KLMO=0-{+Jpk! zUMe5vA$I{DVhQ03_GSQhCb+4!MS!h>I;Yojav+_#Q~ODpJ~TMBn)ZcT4oGFCYj*$6 z0{kY_VY4$t0WW_` z{5TF{54S!2_T2zb*So(NkI4WEnQ}?)nGVR#9jh47WPo9*1exqA2SAi|EZ6YjlGFtU zp&Zj~Hy~CaOJ)%62CnN+JU832hLp$W)zz-K0s6P;{s}KqK}n1TwQ9N<7LkQeJqhy*%frDZTSPV zE;jl@d0r}b00jf>jbIrz==$T^R!XZo2&kaAb4*tc{^HG84a#+dVh$qxd2$wzMsnnX zn79qhS*Y1q$h3eG8AB$QZl;0vtLNf}h%AAhf0oP}dmH#^KyC6twgu=-r@0&%uL#xd zJPda&^#nw}%{3EF9)%0Z%SJTBJXs0$iHryr>zS zVAg!i=THj`Fh?DA?ZIsypkEucB(i1(q~tH!Ef#P?8`%>oYY(NsV2H{%U7av|F%k8h zUL+ILU{3aK_f_C1hlt04SOB&)ywshTl;9yMcFI5NfqJ1O?w*!i|pYw7oz{x9}UB-WsfobHYXYIFa0ZsB1CRGnAD1Df{=nXW7Y${x-aa&54W_S?=luJqAHttRMG+D;-hH|fk{A3BkNA^3pX(O?yVM8 zlm*DDP z{Mp!4u)^CrNcPwoczgcZTRZ6tNfgBNPCc>)Ee&+07iC4@-3^P|$Ks^`%_Ki*MzI5U0aD#%i!X0Svds#mtyAG8N zs&6LJWB_ARjf&5iW&n{!Zy#B82W~IsOJqY$f#t)U1r=UzI zm3@YXZoc#fTxnMhc2=7~@y5P)kB#qw7Q3m@%g5wFKk1t{<01ZF`_Re0m)GRL=zayq zi+EqCw{Wz-<0$ge)rHUBcy9<^hly#0fAoN2oQbCn&gui9i8AmeBo46o`y2L;=zOL3deJTa_wuZ;rJQe>YKzjfmjiX-_2`2kcg-|eotKo z{AM!I#&y%c{$_TPpo%Q8=`~kW4fTP9(|;Zx*|`pqTCVNIY4QVRD(9OsyxveDQvX|B ziX~(z6+I%nVh>9uOn7{IEn)9icAV633V7OP5%43y0&slY@Hu4U0Hp)0Ui+eRxkaB^ zv}aWt>bF%}-u>tT!#WF$TVI_7D{9l8PNnj|PH$6tcby$XuE>00xt|U;yFc|!c3VJ$ z7sV)Tl2v49sGs%wFaKj`{yp&7O70*M-m>Q40v!rw_TN89eYfTAi+qMXy> z@RVsTUB^TQko}NhVCoZD;>(9~%IuMFq&I@% zS%o=t5~4pDnB@Zq(Nxk5XDlFZpTvFl<^-_1rdPMgBMyFf?mt)4@Bv8&^XV?$x(3eg z_CLD&-2*a)Fv^{M?F-*HtM*-P@qtz!zE~wpnM0{gwol5dKJbB69hp3F5_pLXpRhNV z1)ByhW1g3o!dUSwugx>~M-Z&;xE^QBW zh(kkZKOjq;)MYyqUfGzHZrgGLvCi|$o;(gPe^25Dt(qcGcwl5H6JQ5<$w-ctFr#B33w>$ z0k^T1m2sW+Gfy)+g`45n5lM?#CY)o@EH! zjCnh;d;{Q6zYy}W*8(=Q9up}qa0@88o*D!Kfz}45utED$B z;HhMiDSc``KtA&!YVM5z&`9n4QTi93jsaUt)|X-B!A6yCF=ycPQ2$p1S2D;GIhSkD zV-MVjQ>%!N2*L8@{tf>-_JAa-;m3-p1$>2=Mi(4BK?>76v)5S-DE(2KbVXO?h9=Iib99TW#B zpt%{af$Zw><5xU4&4GvK65nyf|$ek#1uFUg{{#X>PeeiXv^^4uT6fq;B6)s_YJDD@mFU+a&^<-(Nop zYI*=t@(+p^j<|vxhNm&XpWQ)Kx;znAV<^;Vm@MgHG6n5v%PhH`s?hB8TlSUv_Taes zSRv0%Ww_XSE%?MrDxfHOXLgk4CI~%Lb5<$99<=eK)jO@~g9=tosW818fQfCVVCjG* zSbK1{@rAH1aIL#?kCxI4TC3QduHw=KX9lPw7^zc1SZ-7CDY_3*TwC1q;pqG#lH_(5 z3r2pA<+WgvC+_exV^eH+gctbi{;NjT)*L3u-)5Cxya}jnE3^|5P2rg$Jv)-7RIreH zYkj`O6^LXHP&W@6fS``=>=9h9;KtHMU%ZYMd?MLtYMAW=-UqZXJO9=IDiu%H{L5s4 z*>gv6DNSuKI$N#z&Mg&KrQC@kC8h@(N~OGcs9%X>9}XMdJPKrueu{e@I{~RkBU1XJ z?ZJTU7ysxDaVRjPnor(l0oE>&#)4o8NRn}nkL#}=#|NoY?+e4yW!)?EkC0#E^W{Ng znHY5KTZmA~L2V5Ngk`Imw|2U+*Qe*`j`Sx_teeNhJnfZKTjgkTy%* z(y|;eyLugRW{!V6jwgeQb2)+!Z<>Ixxj_(qb*`QI=>v&(<0hbx=G*HnF zPk)&4tQ<6aWDxmS$_KJk-QtjaA_G+l6OJ#wQ-#{C1(|~vEI`ZLy{pTyijXDckgVqH zAy|1)KCG3X29E~5rteBa^QWCkFzItkyXt#xGU*{YxS8)dQ07emcKCjgGMu&rU%i>- ze7O0*+nutE1F1LQDMUSSfKmv`lwCjG8>GjsI2@Ntj)p6pgXy?GY0S#;HQ=d zkb%D-m|VVL0I%^c_gC1Y0Ck>{iV+$O&{a;PxXLR7^M-xS;B{)imCHOa$kz;9h}#yY zq7nn`;!DS4toUF+?U%LgKQ?f%rjar~jt`Pcum`fbri1q4z(9d<P(tGxMJ~!d@N5BT;T9dl>21~_q5KJn~+<;w%rc-=2uqm2K!f6BkC+5 z#4A2S#cTm8^JJ^ybP+Bm*X^2LY7P>WnFb~ooIn-%HxIFMrhw-Rx%7u%6)2T_X7%DU z6)1rC)iXn?aAPs!c(`XO@I9SMR+B0Y3T|?njcHPW+lNUh%*+MAx&(hmQJ*!qt2xq1 zGVA<5C_3+WuHH9{+es>+Y}q72cIIvGz30c?d(T8kMfM1Vd_!pIm0*v zgfrdBe8AIck2z-UY3goSE`-dh6x=^bZK3zbv(E;Gs%YTsL9uLX1KS*_or_jJ;1+ee zMKLZ6`Q*bk==RE?y&x$iST_*=`sOH5U6jXkM;FP)bA_;V&8vSkKL9Sg^W86|5Qr^I z@18OC`NNfA7jAPNo8~BxFqk^{^Qk+=YL6U$s8|f0 zObr7&o1B38s^Wa${U~_+X~_AUwLPS?8oq9(bA?ZiehKW2B=jx|7M13;2h|W;hqoH?@P?4|5N{Uo}5xf$KN2T$c=rAbpa#GGZhg=;D~}X!ZHw0Yi(| z-}gsAThpSrilGxoFfmAoc6;DL+Jw%ZVtW*bIA|238io7*HnxAJbi~_9>M!KyiU@u2 zq0065`|;i-^L}05D4d~WS<`wTj+)uF-lr{{&|xMdqgu)XvsnB44m{HX?tk(ul**EL zEqZ^kng2wgGpQAf@GW1eVI(!HIz;Q~(Fk^1I;fbsUGJrp&OaP%90Ejzy(?zvc*?X(ez6w)hg=`Zhg`KiYD$qt4i zh5YByC2=08R3(@C94Q3DvwP14Yj{A?WzMbB)8Qz>cAYp!!yISe0MT%^TO4>pv@c068m`|m1iNFGp~(AO4s@`rJnOefk>Q=E6`(XzDnhsEWQ&>q}UvH33U38fWbi-;TW=#(x zZ+OodnwV_khgK{Nem=WHAu+Y_;#>J7G>Nq`h>K1dU zMdFD>EcXTn=nH%)@ zeAh0%po?{y%V~Tb#>gEQL?4r(jU)N%Z-O@q;m~2vQ#-0{@V|JEIoWz+%+%_swkF%5 z@I8UdUd3P zb}bSY@9C+(F*py~2W?~ezk0)C*SlBS>#fnK&7|NjlMk>uCVY1;jm45Be(`2`HyrLd zcDS=O4lhTi40R6J;n@dgXli5Pk%7c0o=**)4k0R@n>W zCwi)F3`i(@;CRC1JzJc2&3`XMPR0sRTdlq2`uN}e{N-z6DQIHD&G5>w7#gY?FTW8Y zL9>8A(@uI_)T#I>+(j>3J94p+J>CXG+m$rzeo8~3h>nI_ zwJlOJ@Xz?MXM@+Wrskx83(QiT$T7Ys3*_9KyW2kr9_#q2^DF3uhhODUy%(0j{(m=L zgc$1KvEA08w8!MYJmP3etd2fLJfs$bb<;a#dNr9@v4URPHCN_~cBG(AYYOjvwZG{pRT4Sz83WWvz2tQmTV{3kyVlKU$i;W+ldIR zHAUirB>Bfjc?%5f$`Vwgj>5CLtk-QH7emuPRF7)2Kh#RKeoHkb*8ij-iM-wZFc-Id zxzE52=5OsEc{F_pXEJD9g=X||Av!(wqK5;_GE*5)Od6r7?(MzPCAsj%=ntzt;rEW+ z+->MA=Kv+e_t(Y_*aNFsXyPgp7l4qfkKh-3bU4jvboY=m8W@)?OSMu$!Ta~@_w1aJ zBC%dbyWl)bGK@*3@z{f=ZqfPOZ9CzE@)a7&dV5&>KB;b73c~aHCuf4K@O!3O(Ma=oIJ9y{R{yazOpKgY^D9t=uFOp<8v`4tq)NFn z+~$ZT8@*@utGYn{nDNSHhco_)%iPGgDh;wRh4*cHo$#Noi)Bw}0qoA4cvBZGf{x$C zXXs8#gGn0gc#X;-+(i|8{X(`i(1dqBalY&d6tp)MY7ZU4jfE5g!P9}*b70y}vq%Z0 zrY8MOxh?>M<mZ5pRf~`XW6rL~tvzA1+<|U`?Hz!ld**X(gb?UghQDe4WruP<`S~t><%j4~w5Dgs_Q-Si z&3Dn2JYX;7N^QDt3%>joxgT~3fS(rMXlj(tNyosX!KmdKwy=GC9G7`f3Est8q@w$;}XODQ&^> z!^eZ*qjm>$tolKF_13>Q!v9v!$|kB`gK=u(Y=5{)7$)B+ci2nJ!PxoTG?z6D6`?2OSno2gDr@Z;EI#H(^17u3(D>KswY17%~m3R~{O5Iaqi<>|(c z26HXq2hzph!X2y3-nSN*Xc$%Gde#wGl~**!g#jrlewH&e=>w&NSJGZ5V!umoSldu6 zfTFSsVf%~J;OBdmD_pkvAa*{)_L`zPOjXXRoM-_TGs6}IW z@~%k?l1gO9uJ89phDGrnhkM=_RT^2Ye8 z)!5xZesCo!K8MZR3+anbiE+24qT22ABOOg)=%4@5{PDCe9I5VDe90V+>8_G)i|%<4 z@G;AWbln7A#`$`+$@_uy2lLZB-;H3g=#o{!uoJc>cpW)V?}rlCR7V}w{E=%8Oo!VgXNz(tn2hI}h+D z>+WvC=dfz9b>|zE!tLUkYR<2kV7EFiH5A2)D-=2A0s|qKc0oGvjPySEcb=Rw7!ZgS zW$}4C(`ixRPCY~J=^~JEE*{&x5e~2U%`|H(1BrcRx5Y?S1du}hWGPJrgTaUK+vIS< zH+cC}&@e9?Z(kUeUrzCbQ_@>S9V`)OZ*V&;yQ~1XSxa5j6wSejW4@XFw=Za3R&ZgE zF$2EQmv8*+zIIJ??-zb=8;5&cI&!l91)-j1kELu|2)y+6;v7>AL3Zh)P|3}F$XTf9 znG14*LuR4&vTGsWpW}5BBwXRwZN6`8BIY>cq@!o~F$NpHXN}T#M4|H0uTL5>JqaDH z^mfRzC^X_J=ooD%fNOKBP1-|Ba47D*arkKFa)r&8}7JKJb{ z`!e;?@;ytWd%j2SK1U=(YVB0YHnPO089jJ?D<4))f1o-~83;H04{tx*hyaFbly?{i zp5f)ZNZ`51{WvXI`7A=+1xXElLc$(CDCQSnA`rokQRdomB3nM_SO2Lg`gtKNf1wmE zbs#w5Wm5q;1tE-o`sA15lORwJSl)VP;SF8eg%UCfdyw%#K_&%ND88nnWfL>@#m~b@ z8B<*$SV7syMoCo)xlZlYb@i6OD_&>!*wYu&ev@*ge9gfmqck9ENEs$FojZ8CqOfh4 zzlGrL0q5ecH-dpfJmgVUZYYlbN#guP%$euypyAdj z67a8O1pUq<^bAD_I{pVFi0(I=3azw(oRZmrxi7xxLi^{8#S1U|+ncl05EO)m^f+EM z7kHy&AO~fQZV^y5lx({a&$s^s>zk~tK+Kz}Wccf10ohl34D-E-bzQBZHTzWt?nzs` zs`f7obyS`!2}C>LjECT58w|&ws!{i3I0v+)uLjF~{D3b=;I@LgGxp^2*w)JWgJU48 zm(tY}*gV{jceKs}KUr+4U5SZ6&ECHQxrWyGKKE?RH_k|WxGUcF=taWeQ2)we!x#z= z+P8!kbFB%Uy4}{_Dj3$E={P}wFK|}haupB=L;>Byz1LqVe$Bnc=?@FL7=rijSHaPf?y1Xf zJn`~(rfXZ{Bs^zf@cZLlFT8dtD`oyu5$J8IyQi0F!wH4iisttuOk;W4^HWI+(sEBF zeUPKai+xKkM(w>Y*x4cI&5sBS%`#m8DhrI-=vzB(ABjR|_E`NZEQBVV|ND?6&2 zp`>SyjFg}F*hk&rQAi5^DK|HKFcz4TX`hIEPCxz2eoH}lbhzmCgg_+KWH{T23&Zt$ zi2B^M`)@zQDd$ zHrOWhInrOmi+I0&Wl!72VCE=2o3)z*dL3?JAIphFme;OS7OF+CIN6b1@YezEF0DGh zJM4fiO2dxFi|s-A`ExBh!k<06pDJMGMGR6%?0S`4A%)8f5j;ipZunmkEr-({1zg|Y zzhTLk4;kfV$8UCeL)6$CzoYm1a7mJf{O!vQO=IH?pZ1cqSj{wWe8u` z$u3Fxu4V-K>a~T+i>LGxE? zaw&(3Kz(b(-#x+$K0ON{d3gC^;NSh!^d4R?V>xqGA=4bow=DN&c38vH8oodkh8TQt zMc0JPLBewNSqh257k8OneQ4$9 zgD=0^=4QtG;F6%`XKrmrR1~WZGHjHClZAsVA}Wr^x7VYHIwBk74!`O->8As_RYu9~ zg9;!NK+y0pI#4}T5fkvA4=U`E$+|P+46{Ql2`A-b@HD5vLjhYm*m=_M>awyt-s*m0 zB)nPxo~Aj9O=Bvc`>VrNWcNN^}> z&U~552U~}pt@{!_=E%u`H!1!_pb={y9rDEn=GHuJF(2^3TNKoXK*1VFYJAL<_m6>4 z+s2NR)F^n?)8|pTBLMHO&wXnzam12e_k^+z`r`^m$Ii?Rg0EXxo#0OJf-?O?C(9KF zTr(B*Y~$OrW58(eYURAs)wsRWc_@i)yC zy8v0d&*n7fl)(AunAtmfS0p*~>hxcbffkj;`AV`S2+#)ZcB8X{m!Su4zTxvk|FyAe zJ5O_9%#_Nxtql?~XZ5v=5a&wkfStVFqx(>L;6@ikE*H`Zq@C@YX27P|J;#55Dj4KG zkJ1%UfcC@R{LXH9V|!Lr!?2qfP?RR?hb<8Ndq9Z0u0kFtdF@`XJ*SDit53-~jAo!V zsw)|jt%*X7icg+gc81;i50fJv5}bVQ*6nW_UU=ycyXZX=HQ>H`xv1)?7lzs!hq)3Q z4=kW#eAGIoe$Ai#`;UMoS zzZD7$_6^b-1mQ20{!2oK3czOIx=T`h9Ps_;be>+x5@}hY9f}9zz*^F~e)v*6ibZGs zSFVxIkdmk{t#pYk;wNj|LJ+-_^9|I)5i*euYc%nhy zg-!RWXjlj~ZC=^0gw?6j>I@-?uyl_$X6&v3(iVNxdVT3AkOc;&ZKI8mQ@mBg!Mhmb zZI6m6!@y+qd)Dg12;d$0bJk1O3fX@eb>%!b z3KlC{FD?jJ<2&A>#H3e6(8(e!((+UlO=Mj1{Iz9>-|sR^*k~Z}ZFh=r%Wzn|5!$Z* z#uNUqoFSQAb;qcVb!(%vBT&n9QaXgn9iJ@SxYWO+5bAq=adYGvLhVe%xgbeN@bw;# zbyzkAmv59~x0iiD&30;XL(33)pFG*V;zPnfUmdiIP=f`T!{Qz_|}4=$Vs zzJ2~m2NlZySw#h@!ZC%S*}yk~@a*WOS5uchw8y?V+20$A49lX6ai$SCm)QGikc$Lg z9L-8+>mu;%>E=tF>v>?c_SZ>f%^zY8B&{aWli(${OYa|}01#)gk2P&^!|`FU*n5&e z7|Q)Tx6eNc?Yf;ET7`W6pG*3(>uwY#@-#;@xfMW5s8QSeBY#lMv&d!_^?`YYPpNhS z0YDk@L&ETZ6>_%i-{|mHL+V?ykIk8VQGJf#P1PP>Xqr4jF8bz+zkFmn*jb7pEI_sD zs+BRsAJDI*+2IT0r(DBx`UtL)`+dhZ3LnsV*AOr?;RAS`hi_BM6vcASkBxqj12>f< z^@kTs@x5HC#}C^=m~mV4dveL?hc*60!kkR^A>nYShgo{ntLTI^QGGb~z>NbQZ6C$C*UVeAGU70{w2 z&l@M&?+r|x%7ZwLZ#QyV+=%=YPnFMaR~X-!U@A!A3f6@W3-4@%qSdGQp@usolyFq~ z(0|1N_0|5kd{}aZ_D2<`dz@S_Cj3a0L1H0DtNr)S@6tY)8_dLj4QEJ;Kbd<%cRvtK zC3l_w^MadSU!dyEItlupmIw4`+00g{X+p`puU47|NDx5NkUk)whgoWcu8EE6 z7&q-282>g5EZ#=x1gq#^$}D~smMwtOS9yHdcaq@kYn6<)k}zl;`7Fj(>kbvkf2r{!9)IKtjoS)592OdjWLfsQQeO5J^j4`i0?BhKNg?_#~88? zrQWiK>iSbPQ@%>T%%SyLqtgV&ziDxpsvkp_Vx_K^qVbTIb*saG(48-eDFnQoj0ah1 z6@6L1Jh-RW@ycK(6bM)KsxoU7I{Y}mYq}K*%0bbBIUbQHy-~SszV3(=D+Z6kbcZx8 zc(a!u@$*CGS>;X(j)Ta}5i5EH&%yCSDs0o?L6Ftpc_&Qr0N54CG8;ApLZIguwOdOx z%2}n{+WkWx4jj5S-?)=l|JL?>=6U1=%+`bHHzPdozL~J2+u zjwbebjl6$aOwM3-<6Yd5r}pq>AMMud7tt85wOjDbB||u|CqRz)QZPz4X0|1a8p5x| z6b-Sr#D4lL;ojb2c?d14qm%v{iSgfTq}bCHAVJzk>fh;bOzKGLl5BRsuAC*$2ZH__i^;`aznTo(wSmN~OKb~;9#aBYSJQ%qyt*P(j@rDJKO5Sl3 z1$1SU%wWklfh66p+@B;5!)fugLlHZ}&_Xk$p2nQWX&eiNSL|E zIU9q5Cqhui+OvDwoB!y8p^9U@;v;`FxXa$$$7~F@rDj5ZJdVKqJk*lq$pMh^kl~W(sQ{E) zY1+wqEeMwzMRdx-f{6Pr{dgzA<;LF+U${rS4-BzyKfQbvgnglLoF9Jpz&`PlI&9N~ z|1jEOE7%bSuWP-(1T9G+h4OsWJGmh2R0v`}ym<_{A}=R8TNlHr{)Do$ArI_(!ZdB) z5rk(bbG*wgdE#)5(b=R0BKO&D=8!iQ4ly5vYx=1J;5z5;cdxT8!G3!tnNuSGGBYf# zNPUHn(tWyX*Y^OZaDRPm?xH0uR@n^xA_u@*wLH_L53%5MF!kHj`55qX5?;CQ=ZTtu z)Pk2v9(A!gH(ovD=z;%PJh?){Pz0IPirU`03Euf&Z z57YLDz5e()1^#(DZ(h@M#@k$r_I&@0fH6Mp&n{6%)DU278?Pvar9&qELxPr&r=$p0 zdPd+ML{XzhB66ZXIG>%G@dttU|LlzEqameZn^wXp3HMYt-jWP(Am%}t68E$uq`M{m z_*rW)?6{-uF1Srxf9VYm=_v=`l;OLRDIN<_rq;bl>R#|}wEn}xEC*wiZtoOMhXcuOOTr_?+yZ}$+m zJ^8PnTU!hSo;<=YMWcfok<8~wGXePfBzq>mumR3rWV2i9DT2h#%;m^9H-cuHO^iAk zh_ARKZr>;JKsN(3GfP$7f%@FX^#o%Ff@j-N!lt2y>wohsKV4CPwOU?}z3Uoi!e`l~ z!$9aZ9|DZ6rK;QvFfP?E(4Oh_+f@6S15 z`1+yP@^4nK^GBg@)rvO+~(vULT?^iwPJlx-flu=-i>#Ey3dL6_p{yro$bHmZ8D+UMZZu&o}MSWs~n|lY|Opo^x5)_1F$$c{XR&$wgq6l|XOhWeijAa=E9X)UaJh zd?6;w2(l9>cWgHVL*mzO9ifZ%FmxzAg-6E%mp;C3+1X3*k!(8?F6)}(GF!tT#(lZ) z$>G1xx87SJC0X#0K!+1(CT=ng1X`inkYshVfF=I%9kF;7rGs1(Wl7cB-q^au#C`G8 zA!1!pTJ07q0!g${YB}8t(l{eVTk%03P#5 ztBUWmg{4zZ+D`no#hnmLsLOsJMiIBLODF|vvhsuNVyxj!?UU&5J}Ia_xJ&l$2yve; zi4Q1b#X@1iKa-|JYZ$GdJ1$AA8_B=R58bEI0Jj#&=Wj0h;kl0~(kpTyXdK~J=RNKZ zXZPK(DVGbye)f8!LbW0odb4(Kv)K_s;=bJ-e(n!N5=#~*8XbVKJ$+0)#~M~YItv~? z6otPpbNqH5bVkYn?K3Z4*%3V+YpZ2j?zl>)<6>Av zEAxr2b~%YD{$+C31Eq&Mf2%hu!)TR!n8KtjSYN(yT*vDm3P+L8O@6ck*_9p4$@dFj zIK;|jXjls@4(*S1FXch8W3Q%`%(UR+RC4#3m~fzBn7BUpNDHLz%q?6v?2RGYV&4BW zG(bVz?sVrXFI3dN!_D$L7tHN>Mf-`~4C+*~5K|cqV7Y91%zY1`^EA_{n<=V-?l4PP z-v|km_eNlsAV-JndZS==+54@%5C z)s3Cpz)PKBc|*h$ESOoPwiry|+;@J>{x*L+Y#wEB@hb`HGx%k8sRd$21}zVJaxsW3 zygg-}ZUF~Rk5Ya9MuHh5ZJMkVQxJKdZmm=l2+ohmv5a#1Sd_|9+a6^Ot8kc$zG=Z}YYRq`UBi|^zBnr3zj)Hp z5?}W{izPmFi^f;?d6#|*fP>_6=BN>0T>Z8(``=6v2uSIvds~oT{XX@P%bNl4auZO>cY;YhmV%`p2p&7Rc3L-_y5W5BriBt7+8>fzE2~ zMX5gtPK#A$mk>O$U*k{4)IV;p*r|L3v<{=Ic^cEZL&Ul3?o!mb^g}3;ue8SDtp^I~ zyB@qNIZRy7ZpqR0Y#^WdP(khqfgz!-T{Nfk;N|0{`W>9a{vl;3nUzH3S6ivAjl@Zi zS-GlOeBBPWTUNv7>BHe6Z+_Jg1A8KORr!>owg?W$@LkAV^8@SSdilF1!a!3(P_0A4 z4^;aDB$-n6fL`K2%+E?+yrIGWPmWCZ>T{!ieTcb(kWs^`N33wNH+8S8WF8#m;HJ@{ z&%Th4RpO;U4j|LMG-JlOWS-aDRVa5!lLDgyfPupsnj%X4<0|RJ!S1ASUYx z>w`UKMx+x!>CV%Q7j8<#zR`O`d@CO095YA0I7FlEgP0@BL=MI7-pTkq)cL^mKvHS* zlrLnN3e?gRN25U7p7ljBVh&4_vu`^bjAm8g$IDa$h#riE